<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom" ><generator uri="https://jekyllrb.com/" version="3.9.2">Jekyll</generator><link href="https://nathancohenil.github.io/feed.xml" rel="self" type="application/atom+xml" /><link href="https://nathancohenil.github.io/" rel="alternate" type="text/html" /><updated>2023-01-10T09:27:01+00:00</updated><id>https://nathancohenil.github.io/feed.xml</id><title type="html">Nathan Cohen</title><subtitle>Data Scientist</subtitle><entry><title type="html">What your Facebook data can tell you about yourself</title><link href="https://nathancohenil.github.io/Facebook/" rel="alternate" type="text/html" title="What your Facebook data can tell you about yourself" /><published>2018-05-07T00:00:00+00:00</published><updated>2018-05-07T00:00:00+00:00</updated><id>https://nathancohenil.github.io/Facebook</id><content type="html" xml:base="https://nathancohenil.github.io/Facebook/">&lt;h1 id=&quot;how-it-started&quot;&gt;How it started&lt;/h1&gt;

&lt;p&gt;The recent scandals around Facebook and Cambridge Analytica got me thinking ( what doesn’t ? ) about my personal data and the different ways people could use it.&lt;/p&gt;

&lt;p&gt;It’s no secret that big companies and conglomerates gather user data like crazy. I never really had a problem with this as I was aware of it quite early. As such I tried to pay attention to the things I posted and said online.&lt;/p&gt;

&lt;p&gt;It is some kind of deal with the devil, you forfeit some of your personal information to be allowed to use this service that helps you stay connected with friends.&lt;br /&gt;
This personal information is then mostly used to show you ads relevant to your centers of interests. These centers of interest were previously extracted from &lt;strong&gt;your&lt;/strong&gt; data ( ie. pages you liked, comments, groups etc. ).&lt;br /&gt;
When asked about Facebook’s business model Mark Zuckerberg gave the now infamous answer :&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;“Senator, we run ads.”&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Then again, I was ( somewhat ) okay with that.&lt;/p&gt;

&lt;p&gt;It came to my attention that Facebook has created an option that allows you to download ( almost ) &lt;strong&gt;all the data&lt;/strong&gt; they have gathered on you since you signed up.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What does this include ?&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Dates when you friended/unfriended people&lt;/li&gt;
  &lt;li&gt;People you blocked&lt;/li&gt;
  &lt;li&gt;People in the ‘purgatory’ ( not friendly enough to accept, not mean enough to decline )&lt;/li&gt;
  &lt;li&gt;All the images you ever posted&lt;/li&gt;
  &lt;li&gt;Your journal history&lt;/li&gt;
  &lt;li&gt;All your friends&lt;/li&gt;
  &lt;li&gt;Your groups&lt;/li&gt;
  &lt;li&gt;Some of your “ad groups” ( I’ll explain this more thoroughly later )&lt;/li&gt;
  &lt;li&gt;Personal information you provided ( phone number, address, studies, job etc. )&lt;/li&gt;
  &lt;li&gt;The history of all your messages with all your contacts, even the deleted ones&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Sounds a bit scary, doesn’t it ?&lt;/p&gt;

&lt;p&gt;I’m currently developing a python package ( or maybe a webapp ) to allow users to &lt;strong&gt;take the power back&lt;/strong&gt; and get some insights about themselves, their friendships, and their life.&lt;/p&gt;

&lt;p&gt;Obviously, since I don’t have anybody else’s Facebook data, I had to use mine.&lt;/p&gt;

&lt;h1 id=&quot;how-to-get-the-data-&quot;&gt;How to get the data ?&lt;/h1&gt;

&lt;p&gt;Facebook actually made it pretty simple, in two clicks you can get it.&lt;br /&gt;
Simply enter the parameters of your account and click on the “General” tab if you’re not already on it.&lt;/p&gt;

&lt;p&gt;At the bottom of the page, you will find a sentence like “download a copy of your personal data”, that’s it !&lt;/p&gt;

&lt;p&gt;You will then be asked to confirm your request by typing your password. The service will inform you that gathering your data can take some time ( it took around an hour for me ), and will inform you when it’s ready. Finally, you just have to click the new link they will send you and the download will start on your web-browser.&lt;/p&gt;

&lt;p&gt;It’s probably easier to understand with a picture :&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/images/fbdldata.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Accessing your data once downloaded&lt;/strong&gt;&lt;br /&gt;
The data you downloaded from facebook comes inside of a zip file and can be a bit intimidating if you don’t know how to navigate it. The simplest option is to open the zip and open the first file called “index.htm”, it will open a local browser that will allow you to navigate through your data just like if it was a website.&lt;/p&gt;

&lt;h1 id=&quot;packages-i-used&quot;&gt;Packages I used&lt;/h1&gt;

&lt;p&gt;Since all the data came in the form of html files, I used the &lt;strong&gt;amazing&lt;/strong&gt; BeautifulSoup to parse through all of this. Later when I get to speech analytics and machine learning, I will also use nltk, gensim, and sklearn. All my visualizations were made using plotly because graph interactivity makes everything better and more understandable.&lt;/p&gt;

&lt;h1 id=&quot;what-did-i-do-with-the-data-&quot;&gt;What did I do with the data ?&lt;/h1&gt;
&lt;h2 id=&quot;my-most-social-year&quot;&gt;My most social year&lt;/h2&gt;

&lt;p&gt;For the first features, I decided to keep it simple and just parse through the dates of my friends list. The following results were computed regardless of who sent the invite.&lt;/p&gt;

&lt;script type=&quot;text/javascript&quot;&gt;/**
* plotly.js v1.33.1
* Copyright 2012-2018, Plotly, Inc.
* All rights reserved.
* Licensed under the MIT license
*/
!function(t){if(&quot;object&quot;==typeof exports&amp;&amp;&quot;undefined&quot;!=typeof module)module.exports=t();else if(&quot;function&quot;==typeof define&amp;&amp;define.amd)define([],t);else{(&quot;undefined&quot;!=typeof window?window:&quot;undefined&quot;!=typeof global?global:&quot;undefined&quot;!=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=&quot;function&quot;==typeof require&amp;&amp;require;if(!s&amp;&amp;l)return l(o,!0);if(a)return a(o,!0);var c=new Error(&quot;Cannot find module '&quot;+o+&quot;'&quot;);throw c.code=&quot;MODULE_NOT_FOUND&quot;,c}var u=r[o]={exports:{}};e[o][0].call(u.exports,function(t){var r=e[o][1][t];return i(r||t)},u,u.exports,t,e,r,n)}return r[o].exports}for(var a=&quot;function&quot;==typeof require&amp;&amp;require,o=0;o&lt;n.length;o++)i(n[o]);return i}({1:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../src/lib&quot;),i={&quot;X,X div&quot;:&quot;font-family:'Open Sans', verdana, arial, sans-serif;margin:0;padding:0;&quot;,&quot;X input,X button&quot;:&quot;font-family:'Open Sans', verdana, arial, sans-serif;&quot;,&quot;X input:focus,X button:focus&quot;:&quot;outline:none;&quot;,&quot;X a&quot;:&quot;text-decoration:none;&quot;,&quot;X a:hover&quot;:&quot;text-decoration:none;&quot;,&quot;X .crisp&quot;:&quot;shape-rendering:crispEdges;&quot;,&quot;X .user-select-none&quot;:&quot;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;&quot;,&quot;X svg&quot;:&quot;overflow:hidden;&quot;,&quot;X svg a&quot;:&quot;fill:#447adb;&quot;,&quot;X svg a:hover&quot;:&quot;fill:#3c6dc5;&quot;,&quot;X .main-svg&quot;:&quot;position:absolute;top:0;left:0;pointer-events:none;&quot;,&quot;X .main-svg .draglayer&quot;:&quot;pointer-events:all;&quot;,&quot;X .cursor-default&quot;:&quot;cursor:default;&quot;,&quot;X .cursor-pointer&quot;:&quot;cursor:pointer;&quot;,&quot;X .cursor-crosshair&quot;:&quot;cursor:crosshair;&quot;,&quot;X .cursor-move&quot;:&quot;cursor:move;&quot;,&quot;X .cursor-col-resize&quot;:&quot;cursor:col-resize;&quot;,&quot;X .cursor-row-resize&quot;:&quot;cursor:row-resize;&quot;,&quot;X .cursor-ns-resize&quot;:&quot;cursor:ns-resize;&quot;,&quot;X .cursor-ew-resize&quot;:&quot;cursor:ew-resize;&quot;,&quot;X .cursor-sw-resize&quot;:&quot;cursor:sw-resize;&quot;,&quot;X .cursor-s-resize&quot;:&quot;cursor:s-resize;&quot;,&quot;X .cursor-se-resize&quot;:&quot;cursor:se-resize;&quot;,&quot;X .cursor-w-resize&quot;:&quot;cursor:w-resize;&quot;,&quot;X .cursor-e-resize&quot;:&quot;cursor:e-resize;&quot;,&quot;X .cursor-nw-resize&quot;:&quot;cursor:nw-resize;&quot;,&quot;X .cursor-n-resize&quot;:&quot;cursor:n-resize;&quot;,&quot;X .cursor-ne-resize&quot;:&quot;cursor:ne-resize;&quot;,&quot;X .modebar&quot;:&quot;position:absolute;top:2px;right:2px;z-index:1001;background:rgba(255,255,255,0.7);&quot;,&quot;X .modebar--hover&quot;:&quot;opacity:0;-webkit-transition:opacity 0.3s ease 0s;-moz-transition:opacity 0.3s ease 0s;-ms-transition:opacity 0.3s ease 0s;-o-transition:opacity 0.3s ease 0s;transition:opacity 0.3s ease 0s;&quot;,&quot;X:hover .modebar--hover&quot;:&quot;opacity:1;&quot;,&quot;X .modebar-group&quot;:&quot;float:left;display:inline-block;box-sizing:border-box;margin-left:8px;position:relative;vertical-align:middle;white-space:nowrap;&quot;,&quot;X .modebar-group:first-child&quot;:&quot;margin-left:0px;&quot;,&quot;X .modebar-btn&quot;:&quot;position:relative;font-size:16px;padding:3px 4px;cursor:pointer;line-height:normal;box-sizing:border-box;&quot;,&quot;X .modebar-btn svg&quot;:&quot;position:relative;top:2px;&quot;,&quot;X .modebar-btn path&quot;:&quot;fill:rgba(0,31,95,0.3);&quot;,&quot;X .modebar-btn.active path,X .modebar-btn:hover path&quot;:&quot;fill:rgba(0,22,72,0.5);&quot;,&quot;X .modebar-btn.modebar-btn--logo&quot;:&quot;padding:3px 1px;&quot;,&quot;X .modebar-btn.modebar-btn--logo path&quot;:&quot;fill:#447adb !important;&quot;,&quot;X [data-title]:before,X [data-title]:after&quot;:&quot;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%;&quot;,&quot;X [data-title]:hover:before,X [data-title]:hover:after&quot;:&quot;display:block;opacity:1;&quot;,&quot;X [data-title]:before&quot;:&quot;content:'';position:absolute;background:transparent;border:6px solid transparent;z-index:1002;margin-top:-12px;border-bottom-color:#69738a;margin-right:-6px;&quot;,&quot;X [data-title]:after&quot;:&quot;content:attr(data-title);background:#69738a;color:white;padding:8px 10px;font-size:12px;line-height:12px;white-space:nowrap;margin-right:-18px;border-radius:2px;&quot;,&quot;X .select-outline&quot;:&quot;fill:none;stroke-width:1;shape-rendering:crispEdges;&quot;,&quot;X .select-outline-1&quot;:&quot;stroke:white;&quot;,&quot;X .select-outline-2&quot;:&quot;stroke:black;stroke-dasharray:2px 2px;&quot;,Y:&quot;font-family:'Open Sans';position:fixed;top:50px;right:20px;z-index:10000;font-size:10pt;max-width:180px;&quot;,&quot;Y p&quot;:&quot;margin:0;&quot;,&quot;Y .notifier-note&quot;:&quot;min-width:180px;max-width:250px;border:1px solid #fff;z-index:3000;margin:0;background-color:#8c97af;background-color:rgba(140,151,175,0.9);color:#fff;padding:10px;overflow-wrap:break-word;word-wrap:break-word;-ms-hyphens:auto;-webkit-hyphens:auto;hyphens:auto;&quot;,&quot;Y .notifier-close&quot;:&quot;color:#fff;opacity:0.8;float:right;padding:0 5px;background:none;border:none;font-size:20px;font-weight:bold;line-height:20px;&quot;,&quot;Y .notifier-close:hover&quot;:&quot;color:#444;text-decoration:none;cursor:pointer;&quot;};for(var a in i){var o=a.replace(/^,/,&quot; ,&quot;).replace(/X/g,&quot;.js-plotly-plot .plotly&quot;).replace(/Y/g,&quot;.plotly-notifier&quot;);n.addStyleRule(o,i[a])}},{&quot;../src/lib&quot;:743}],2:[function(t,e,r){&quot;use strict&quot;;e.exports={undo:{width:857.1,path:&quot;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&quot;,ascent:850,descent:-150},home:{width:928.6,path:&quot;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&quot;,ascent:850,descent:-150},&quot;camera-retro&quot;:{width:1e3,path:&quot;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&quot;,ascent:850,descent:-150},zoombox:{width:1e3,path:&quot;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&quot;,ascent:850,descent:-150},pan:{width:1e3,path:&quot;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&quot;,ascent:850,descent:-150},zoom_plus:{width:1e3,path:&quot;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&quot;,ascent:850,descent:-150},zoom_minus:{width:1e3,path:&quot;m0 788l0-876 875 0 0 876-875 0z m688-500l-500 0 0 125 500 0 0-125z&quot;,ascent:850,descent:-150},autoscale:{width:1e3,path:&quot;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&quot;,ascent:850,descent:-150},tooltip_basic:{width:1500,path:&quot;m375 725l0 0-375-375 375-374 0-1 1125 0 0 750-1125 0z&quot;,ascent:850,descent:-150},tooltip_compare:{width:1125,path:&quot;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&quot;,ascent:850,descent:-150},plotlylogo:{width:1542,path:&quot;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&quot;,ascent:850,descent:-150},&quot;z-axis&quot;:{width:1e3,path:&quot;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&quot;,ascent:850,descent:-150},&quot;3d_rotate&quot;:{width:1e3,path:&quot;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&quot;,ascent:850,descent:-150},camera:{width:1e3,path:&quot;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&quot;,ascent:850,descent:-150},movie:{width:1e3,path:&quot;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&quot;,ascent:850,descent:-150},question:{width:857.1,path:&quot;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&quot;,ascent:850,descent:-150},disk:{width:857.1,path:&quot;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&quot;,ascent:850,descent:-150},lasso:{width:1031,path:&quot;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&quot;,ascent:850,descent:-150},selectbox:{width:1e3,path:&quot;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&quot;,ascent:850,descent:-150},spikeline:{width:1e3,path:&quot;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&quot;,ascent:850,descent:-150}}},{}],3:[function(t,e,r){&quot;use strict&quot;;e.exports=t(&quot;../src/transforms/aggregate&quot;)},{&quot;../src/transforms/aggregate&quot;:1166}],4:[function(t,e,r){&quot;use strict&quot;;e.exports=t(&quot;../src/traces/bar&quot;)},{&quot;../src/traces/bar&quot;:887}],5:[function(t,e,r){&quot;use strict&quot;;e.exports=t(&quot;../src/traces/box&quot;)},{&quot;../src/traces/box&quot;:900}],6:[function(t,e,r){&quot;use strict&quot;;e.exports=t(&quot;../src/components/calendars&quot;)},{&quot;../src/components/calendars&quot;:616}],7:[function(t,e,r){&quot;use strict&quot;;e.exports=t(&quot;../src/traces/candlestick&quot;)},{&quot;../src/traces/candlestick&quot;:909}],8:[function(t,e,r){&quot;use strict&quot;;e.exports=t(&quot;../src/traces/carpet&quot;)},{&quot;../src/traces/carpet&quot;:930}],9:[function(t,e,r){&quot;use strict&quot;;e.exports=t(&quot;../src/traces/choropleth&quot;)},{&quot;../src/traces/choropleth&quot;:945}],10:[function(t,e,r){&quot;use strict&quot;;e.exports=t(&quot;../src/traces/contour&quot;)},{&quot;../src/traces/contour&quot;:958}],11:[function(t,e,r){&quot;use strict&quot;;e.exports=t(&quot;../src/traces/contourcarpet&quot;)},{&quot;../src/traces/contourcarpet&quot;:973}],12:[function(t,e,r){&quot;use strict&quot;;e.exports=t(&quot;../src/core&quot;)},{&quot;../src/core&quot;:724}],13:[function(t,e,r){&quot;use strict&quot;;e.exports=t(&quot;../src/transforms/filter&quot;)},{&quot;../src/transforms/filter&quot;:1167}],14:[function(t,e,r){&quot;use strict&quot;;e.exports=t(&quot;../src/transforms/groupby&quot;)},{&quot;../src/transforms/groupby&quot;:1168}],15:[function(t,e,r){&quot;use strict&quot;;e.exports=t(&quot;../src/traces/heatmap&quot;)},{&quot;../src/traces/heatmap&quot;:986}],16:[function(t,e,r){&quot;use strict&quot;;e.exports=t(&quot;../src/traces/heatmapgl&quot;)},{&quot;../src/traces/heatmapgl&quot;:996}],17:[function(t,e,r){&quot;use strict&quot;;e.exports=t(&quot;../src/traces/histogram&quot;)},{&quot;../src/traces/histogram&quot;:1007}],18:[function(t,e,r){&quot;use strict&quot;;e.exports=t(&quot;../src/traces/histogram2d&quot;)},{&quot;../src/traces/histogram2d&quot;:1013}],19:[function(t,e,r){&quot;use strict&quot;;e.exports=t(&quot;../src/traces/histogram2dcontour&quot;)},{&quot;../src/traces/histogram2dcontour&quot;:1017}],20:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;./core&quot;);n.register([t(&quot;./bar&quot;),t(&quot;./box&quot;),t(&quot;./heatmap&quot;),t(&quot;./histogram&quot;),t(&quot;./histogram2d&quot;),t(&quot;./histogram2dcontour&quot;),t(&quot;./pie&quot;),t(&quot;./contour&quot;),t(&quot;./scatterternary&quot;),t(&quot;./violin&quot;),t(&quot;./scatter3d&quot;),t(&quot;./surface&quot;),t(&quot;./mesh3d&quot;),t(&quot;./scattergeo&quot;),t(&quot;./choropleth&quot;),t(&quot;./scattergl&quot;),t(&quot;./pointcloud&quot;),t(&quot;./heatmapgl&quot;),t(&quot;./parcoords&quot;),t(&quot;./scattermapbox&quot;),t(&quot;./sankey&quot;),t(&quot;./table&quot;),t(&quot;./carpet&quot;),t(&quot;./scattercarpet&quot;),t(&quot;./contourcarpet&quot;),t(&quot;./ohlc&quot;),t(&quot;./candlestick&quot;),t(&quot;./scatterpolar&quot;),t(&quot;./scatterpolargl&quot;)]),n.register([t(&quot;./aggregate&quot;),t(&quot;./filter&quot;),t(&quot;./groupby&quot;),t(&quot;./sort&quot;)]),n.register([t(&quot;./calendars&quot;)]),e.exports=n},{&quot;./aggregate&quot;:3,&quot;./bar&quot;:4,&quot;./box&quot;:5,&quot;./calendars&quot;:6,&quot;./candlestick&quot;:7,&quot;./carpet&quot;:8,&quot;./choropleth&quot;:9,&quot;./contour&quot;:10,&quot;./contourcarpet&quot;:11,&quot;./core&quot;:12,&quot;./filter&quot;:13,&quot;./groupby&quot;:14,&quot;./heatmap&quot;:15,&quot;./heatmapgl&quot;:16,&quot;./histogram&quot;:17,&quot;./histogram2d&quot;:18,&quot;./histogram2dcontour&quot;:19,&quot;./mesh3d&quot;:21,&quot;./ohlc&quot;:22,&quot;./parcoords&quot;:23,&quot;./pie&quot;:24,&quot;./pointcloud&quot;:25,&quot;./sankey&quot;:26,&quot;./scatter3d&quot;:27,&quot;./scattercarpet&quot;:28,&quot;./scattergeo&quot;:29,&quot;./scattergl&quot;:30,&quot;./scattermapbox&quot;:31,&quot;./scatterpolar&quot;:32,&quot;./scatterpolargl&quot;:33,&quot;./scatterternary&quot;:34,&quot;./sort&quot;:35,&quot;./surface&quot;:36,&quot;./table&quot;:37,&quot;./violin&quot;:38}],21:[function(t,e,r){&quot;use strict&quot;;e.exports=t(&quot;../src/traces/mesh3d&quot;)},{&quot;../src/traces/mesh3d&quot;:1023}],22:[function(t,e,r){&quot;use strict&quot;;e.exports=t(&quot;../src/traces/ohlc&quot;)},{&quot;../src/traces/ohlc&quot;:1028}],23:[function(t,e,r){&quot;use strict&quot;;e.exports=t(&quot;../src/traces/parcoords&quot;)},{&quot;../src/traces/parcoords&quot;:1037}],24:[function(t,e,r){&quot;use strict&quot;;e.exports=t(&quot;../src/traces/pie&quot;)},{&quot;../src/traces/pie&quot;:1047}],25:[function(t,e,r){&quot;use strict&quot;;e.exports=t(&quot;../src/traces/pointcloud&quot;)},{&quot;../src/traces/pointcloud&quot;:1056}],26:[function(t,e,r){&quot;use strict&quot;;e.exports=t(&quot;../src/traces/sankey&quot;)},{&quot;../src/traces/sankey&quot;:1062}],27:[function(t,e,r){&quot;use strict&quot;;e.exports=t(&quot;../src/traces/scatter3d&quot;)},{&quot;../src/traces/scatter3d&quot;:1096}],28:[function(t,e,r){&quot;use strict&quot;;e.exports=t(&quot;../src/traces/scattercarpet&quot;)},{&quot;../src/traces/scattercarpet&quot;:1102}],29:[function(t,e,r){&quot;use strict&quot;;e.exports=t(&quot;../src/traces/scattergeo&quot;)},{&quot;../src/traces/scattergeo&quot;:1109}],30:[function(t,e,r){&quot;use strict&quot;;e.exports=t(&quot;../src/traces/scattergl&quot;)},{&quot;../src/traces/scattergl&quot;:1115}],31:[function(t,e,r){&quot;use strict&quot;;e.exports=t(&quot;../src/traces/scattermapbox&quot;)},{&quot;../src/traces/scattermapbox&quot;:1121}],32:[function(t,e,r){&quot;use strict&quot;;e.exports=t(&quot;../src/traces/scatterpolar&quot;)},{&quot;../src/traces/scatterpolar&quot;:1128}],33:[function(t,e,r){&quot;use strict&quot;;e.exports=t(&quot;../src/traces/scatterpolargl&quot;)},{&quot;../src/traces/scatterpolargl&quot;:1132}],34:[function(t,e,r){&quot;use strict&quot;;e.exports=t(&quot;../src/traces/scatterternary&quot;)},{&quot;../src/traces/scatterternary&quot;:1138}],35:[function(t,e,r){&quot;use strict&quot;;e.exports=t(&quot;../src/transforms/sort&quot;)},{&quot;../src/transforms/sort&quot;:1170}],36:[function(t,e,r){&quot;use strict&quot;;e.exports=t(&quot;../src/traces/surface&quot;)},{&quot;../src/traces/surface&quot;:1145}],37:[function(t,e,r){&quot;use strict&quot;;e.exports=t(&quot;../src/traces/table&quot;)},{&quot;../src/traces/table&quot;:1153}],38:[function(t,e,r){&quot;use strict&quot;;e.exports=t(&quot;../src/traces/violin&quot;)},{&quot;../src/traces/violin&quot;:1160}],39:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t,e){function r(e,r,i,a){var o=1/t.clientHeight,s=o*(r-m),l=o*(i-g),u=p.flipX?1:-1,h=p.flipY?1:-1,d=Math.PI*p.rotateSpeed,y=n();if(1&amp;e)a.shift?c.rotate(y,0,0,-s*d):c.rotate(y,u*d*s,-h*d*l,0);else if(2&amp;e)c.pan(y,-p.translateSpeed*s*f,p.translateSpeed*l*f,0);else if(4&amp;e){var x=p.zoomSpeed*l/window.innerHeight*(y-c.lastT())*50;c.pan(y,0,0,f*(Math.exp(x)-1))}m=r,g=i,v=a}t=t||document.body;var l=[.01,1/0];&quot;distanceLimits&quot;in(e=e||{})&amp;&amp;(l[0]=e.distanceLimits[0],l[1]=e.distanceLimits[1]),&quot;zoomMin&quot;in e&amp;&amp;(l[0]=e.zoomMin),&quot;zoomMax&quot;in e&amp;&amp;(l[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||&quot;orbit&quot;,distanceLimits:l}),u=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],f=0,h=t.clientWidth,d=t.clientHeight,p={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,tick:function(){var e=n(),r=this.delay;c.idle(e-r),c.flush(e-(100+2*r));var i=e-2*r;c.recalcMatrix(i);for(var a=!0,o=c.computedMatrix,s=0;s&lt;16;++s)a=a&amp;&amp;u[s]===o[s],u[s]=o[s];var l=t.clientWidth===h&amp;&amp;t.clientHeight===d;return h=t.clientWidth,d=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)}};Object.defineProperties(p,{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){return c.setMode(t),c.getMode()},enumerable:!0},center:{get:function(){return c.computedCenter},set:function(t){return c.lookAt(c.lastT(),t),c.computedCenter},enumerable:!0},eye:{get:function(){return c.computedEye},set:function(t){return c.lookAt(c.lastT(),null,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(l)},set:function(t){return c.setDistanceLimits(t),t},enumerable:!0}}),t.addEventListener(&quot;contextmenu&quot;,function(t){return t.preventDefault(),!1});var m=0,g=0,v={shift:!1,control:!1,alt:!1,meta:!1};return a(t,r),t.addEventListener(&quot;touchstart&quot;,function(e){var n=s(e.changedTouches[0],t);r(0,n[0],n[1],v),r(1,n[0],n[1],v)}),t.addEventListener(&quot;touchmove&quot;,function(e){var n=s(e.changedTouches[0],t);r(1,n[0],n[1],v)}),t.addEventListener(&quot;touchend&quot;,function(e){s(e.changedTouches[0],t),r(0,m,g,v)}),o(t,function(t,e,r){var i=p.flipX?1:-1,a=p.flipY?1:-1,o=n();if(Math.abs(t)&gt;Math.abs(e))c.rotate(o,0,0,-t*i*Math.PI*p.rotateSpeed/window.innerWidth);else{var s=p.zoomSpeed*a*e/window.innerHeight*(o-c.lastT())/100;c.pan(o,0,0,f*(Math.exp(s)-1))}},!0),p};var n=t(&quot;right-now&quot;),i=t(&quot;3d-view&quot;),a=t(&quot;mouse-change&quot;),o=t(&quot;mouse-wheel&quot;),s=t(&quot;mouse-event-offset&quot;)},{&quot;3d-view&quot;:40,&quot;mouse-change&quot;:443,&quot;mouse-event-offset&quot;:444,&quot;mouse-wheel&quot;:446,&quot;right-now&quot;:509}],40:[function(t,e,r){&quot;use strict&quot;;function n(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=&quot;turntable&quot;,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}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||&quot;turntable&quot;,u=i(),f=a(),h=o();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 n({turntable:u,orbit:f,matrix:h},c)};var i=t(&quot;turntable-camera-controller&quot;),a=t(&quot;orbit-camera-controller&quot;),o=t(&quot;matrix-camera-controller&quot;),s=n.prototype;[[&quot;flush&quot;,1],[&quot;idle&quot;,1],[&quot;lookAt&quot;,4],[&quot;rotate&quot;,4],[&quot;pan&quot;,4],[&quot;translate&quot;,4],[&quot;setMatrix&quot;,2],[&quot;setDistanceLimits&quot;,2],[&quot;setDistance&quot;,2]].forEach(function(t){for(var e=t[0],r=[],n=0;n&lt;t[1];++n)r.push(&quot;a&quot;+n);var i=&quot;var cc=this._controllerList;for(var i=0;i&lt;cc.length;++i){cc[i].&quot;+t[0]+&quot;(&quot;+r.join()+&quot;)}&quot;;s[e]=Function.apply(null,r.concat(i))}),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&lt;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}},{&quot;matrix-camera-controller&quot;:441,&quot;orbit-camera-controller&quot;:464,&quot;turntable-camera-controller&quot;:551}],41:[function(t,e,r){!function(n,i){&quot;object&quot;==typeof r&amp;&amp;void 0!==e?i(r,t(&quot;d3-array&quot;),t(&quot;d3-collection&quot;),t(&quot;d3-interpolate&quot;)):i(n.d3=n.d3||{},n.d3,n.d3,n.d3)}(this,function(t,e,r,n){&quot;use strict&quot;;t.sankey=function(){function t(){for(var t,e=h,r=0;e.length;)t=[],e.forEach(function(e){e.x=r,e.dx=c,e.sourceLinks.forEach(function(e){t.indexOf(e.target)&lt;0&amp;&amp;t.push(e.target)})}),e=t,++r;!function(t){h.forEach(function(e){e.sourceLinks.length||(e.x=t-1)})}(r),function(t){h.forEach(function(e){e.x*=t})}((f[0]-c)/(r-1))}function i(t){function n(){a.forEach(function(t){var e,r,n,a=0,o=t.length;for(t.sort(i),n=0;n&lt;o;++n)(r=a-(e=t[n]).y)&gt;0&amp;&amp;(e.y+=r),a=e.y+e.dy+u;if((r=a-u-f[1])&gt;0)for(a=e.y-=r,n=o-2;n&gt;=0;--n)(r=(e=t[n]).y+e.dy+u-a)&gt;0&amp;&amp;(e.y-=r),a=e.y})}function i(t,e){return t.y-e.y}var a=r.nest().key(function(t){return t.x}).sortKeys(e.ascending).entries(h).map(function(t){return t.values});!function(){var t=e.min(a,function(t){return(f[1]-(t.length-1)*u)/e.sum(t,s)});a.forEach(function(e){e.forEach(function(e,r){e.y=r,e.dy=e.value*t})}),d.forEach(function(e){e.dy=e.value*t})}(),n();for(var l=1;t&gt;0;--t)!function(t){function r(t){return o(t.target)*t.value}a.slice().reverse().forEach(function(n){n.forEach(function(n){if(n.sourceLinks.length){var i=e.sum(n.sourceLinks,r)/e.sum(n.sourceLinks,s);n.y+=(i-o(n))*t}})})}(l*=.99),n(),function(t){function r(t){return o(t.source)*t.value}a.forEach(function(n){n.forEach(function(n){if(n.targetLinks.length){var i=e.sum(n.targetLinks,r)/e.sum(n.targetLinks,s);n.y+=(i-o(n))*t}})})}(l),n()}function a(){function t(t,e){return t.source.y-e.source.y||t.originalIndex-e.originalIndex}function e(t,e){return t.target.y-e.target.y||t.originalIndex-e.originalIndex}h.forEach(function(r){r.sourceLinks.sort(e),r.targetLinks.sort(t)}),h.forEach(function(t){var e=0,r=0;t.sourceLinks.forEach(function(t){t.sy=e,e+=t.dy}),t.targetLinks.forEach(function(t){t.ty=r,r+=t.dy})})}function o(t){return t.y+t.dy/2}function s(t){return t.value}var l={},c=24,u=8,f=[1,1],h=[],d=[];return l.nodeWidth=function(t){return arguments.length?(c=+t,l):c},l.nodePadding=function(t){return arguments.length?(u=+t,l):u},l.nodes=function(t){return arguments.length?(h=t,l):h},l.links=function(t){return arguments.length?(d=t,l):d},l.size=function(t){return arguments.length?(f=t,l):f},l.layout=function(r){return h.forEach(function(t){t.sourceLinks=[],t.targetLinks=[]}),d.forEach(function(t,e){var r=t.source,n=t.target;&quot;number&quot;==typeof r&amp;&amp;(r=t.source=h[t.source]),&quot;number&quot;==typeof n&amp;&amp;(n=t.target=h[t.target]),t.originalIndex=e,r.sourceLinks.push(t),n.targetLinks.push(t)}),h.forEach(function(t){t.value=Math.max(e.sum(t.sourceLinks,s),e.sum(t.targetLinks,s))}),t(),i(r),a(),l},l.relayout=function(){return a(),l},l.link=function(){function t(t){var r=t.source.x+t.source.dx,i=t.target.x,a=n.interpolateNumber(r,i),o=a(e),s=a(1-e),l=t.source.y+t.sy,c=l+t.dy,u=t.target.y+t.ty,f=u+t.dy;return&quot;M&quot;+r+&quot;,&quot;+l+&quot;C&quot;+o+&quot;,&quot;+l+&quot; &quot;+s+&quot;,&quot;+u+&quot; &quot;+i+&quot;,&quot;+u+&quot;L&quot;+i+&quot;,&quot;+f+&quot;C&quot;+s+&quot;,&quot;+f+&quot; &quot;+o+&quot;,&quot;+c+&quot; &quot;+r+&quot;,&quot;+c+&quot;Z&quot;}var e=.5;return t.curvature=function(r){return arguments.length?(e=+r,t):e},t},l},Object.defineProperty(t,&quot;__esModule&quot;,{value:!0})})},{&quot;d3-array&quot;:120,&quot;d3-collection&quot;:121,&quot;d3-interpolate&quot;:125}],42:[function(t,e,r){&quot;use strict&quot;;var n=&quot;undefined&quot;==typeof WeakMap?t(&quot;weak-map&quot;):WeakMap,i=t(&quot;gl-buffer&quot;),a=t(&quot;gl-vao&quot;),o=new n;e.exports=function(t){var e=o.get(t),r=e&amp;&amp;(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()}},{&quot;gl-buffer&quot;:165,&quot;gl-vao&quot;:259,&quot;weak-map&quot;:573}],43:[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&quot;a&quot;:t[6]+=n,t[7]+=i;break;case&quot;v&quot;:t[1]+=i;break;case&quot;h&quot;:t[1]+=n;break;default:for(var s=1;s&lt;t.length;)t[s++]+=n,t[s++]+=i}switch(o){case&quot;Z&quot;:n=e,i=r;break;case&quot;H&quot;:n=t[1];break;case&quot;V&quot;:i=t[1];break;case&quot;M&quot;:n=e=t[1],i=r=t[2];break;default:n=t[t.length-2],i=t[t.length-1]}return t})}},{}],44:[function(t,e,r){var n=t(&quot;pad-left&quot;);e.exports=function(t,e,r){e=&quot;number&quot;==typeof e?e:1,r=r||&quot;: &quot;;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(&quot;\n&quot;)}},{&quot;pad-left&quot;:465}],45:[function(t,e,r){&quot;use strict&quot;;function n(t,e){for(var r=new Array(e+1),n=0;n&lt;t.length;++n)r[n]=t[n];for(n=0;n&lt;=t.length;++n){for(var a=t.length;a&lt;=e;++a){for(var o=new Array(e),s=0;s&lt;e;++s)o[s]=Math.pow(a+1-n,s);r[a]=o}if(i.apply(void 0,r))return!0}return!1}e.exports=function(t){var e=t.length;if(0===e)return[];if(1===e)return[0];for(var r=t[0].length,i=[t[0]],a=[0],o=1;o&lt;e;++o)if(i.push(t[o]),n(i,r)){if(a.push(o),a.length===r+1)return a}else i.pop();return a};var i=t(&quot;robust-orientation&quot;)},{&quot;robust-orientation&quot;:515}],46:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t,e){return n(e).filter(function(r){for(var n=new Array(r.length),a=0;a&lt;r.length;++a)n[a]=e[r[a]];return i(n)*t&lt;1})};var n=t(&quot;delaunay-triangulate&quot;),i=t(&quot;circumradius&quot;)},{circumradius:92,&quot;delaunay-triangulate&quot;:130}],47:[function(t,e,r){e.exports=function(t,e){return i(n(t,e))};var n=t(&quot;alpha-complex&quot;),i=t(&quot;simplicial-complex-boundary&quot;)},{&quot;alpha-complex&quot;:46,&quot;simplicial-complex-boundary&quot;:523}],48:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t,e){if(!t||null==t.length)throw Error(&quot;Argument should be an array&quot;);e=null==e?1:Math.floor(e);for(var r=Array(2*e),n=0;n&lt;e;n++){for(var i=-1/0,a=1/0,o=n,s=t.length;o&lt;s;o+=e)t[o]&gt;i&amp;&amp;(i=t[o]),t[o]&lt;a&amp;&amp;(a=t[o]);r[n]=a,r[e+n]=i}return r}},{}],49:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;array-bounds&quot;);e.exports=function(t,e,r){if(!t||null==t.length)throw Error(&quot;Argument should be an array&quot;);null==e&amp;&amp;(e=1),null==r&amp;&amp;(r=n(t,e));for(var i=0;i&lt;e;i++){var a=r[e+i],o=r[i],s=i,l=t.length;if(a===1/0&amp;&amp;o===-1/0)for(s=i;s&lt;l;s+=e)t[s]=t[s]===a?1:t[s]===o?0:.5;else if(a===1/0)for(s=i;s&lt;l;s+=e)t[s]=t[s]===a?1:0;else if(o===-1/0)for(s=i;s&lt;l;s+=e)t[s]=t[s]===o?0:1;else{var c=a-o;for(s=i;s&lt;l;s+=e)t[s]=0===c?.5:(t[s]-o)/c}}return t}},{&quot;array-bounds&quot;:48}],50:[function(t,e,r){&quot;use strict&quot;;e.exports=function(){var t={},e=/^rgba?\(\s*\d{1,3}\s*,\s*\d{1,3}\s*,\s*\d{1,3}\s*(,.*)?\)$/,r=/^rgba?\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,?\s*(.*)?\)$/;return t.isPlainObject=function(t){return!Array.isArray(t)&amp;&amp;null!==t&amp;&amp;&quot;object&quot;==typeof t},t.linspace=function(t,e,r){for(var n=(e-t)/Math.max(r-1,1),i=[],a=0;a&lt;r;a++)i.push(t+a*n);return i},t.zip3=function(t,e,r){for(var n=Math.min.apply(null,[t.length,e.length,r.length]),i=[],a=0;a&lt;n;a++)i.push([t[a],e[a],r[a]]);return i},t.sum=function(t){function e(t){for(var n=0;n&lt;t.length;n++)Array.isArray(t[n])?e(t[n]):r+=t[n]}var r=0;return e(t),r},t.zip=function(){for(var t=[].slice.call(arguments),e=t.map(function(t){return t.length}),r=Math.min.apply(null,e),n=[],i=0;i&lt;r;i++){n[i]=[];for(var a=0;a&lt;t.length;++a)n[i][a]=t[a][i]}return n},t.isEqual=function(t,e){if(t.length!==e.length)return!1;for(var r=t.length;r--;)if(t[r]!==e[r])return!1;return!0},t.copy2D=function(t){for(var e=[],r=0;r&lt;t.length;++r){e[r]=[];for(var n=0;n&lt;t[r].length;++n)e[r][n]=t[r][n]}return e},t.copy1D=function(t){for(var e=[],r=0;r&lt;t.length;++r)e[r]=t[r];return e},t.str2RgbArray=function(t,n){var i,a;if(&quot;string&quot;!=typeof t)return t;if(i=[],&quot;#&quot;===t[0]?(3===(t=t.substr(1)).length&amp;&amp;(t+=t),a=parseInt(t,16),i[0]=a&gt;&gt;16&amp;255,i[1]=a&gt;&gt;8&amp;255,i[2]=255&amp;a):e.test(t)&amp;&amp;(a=t.match(r),i[0]=parseInt(a[1]),i[1]=parseInt(a[2]),i[2]=parseInt(a[3])),!n)for(var o=0;o&lt;3;++o)i[o]=i[o]/255;return i},t.str2RgbaArray=function(t,n){var i,a;if(&quot;string&quot;!=typeof t)return t;if(i=[],&quot;#&quot;===t[0]?(3===(t=t.substr(1)).length&amp;&amp;(t+=t),a=parseInt(t,16),i[0]=a&gt;&gt;16&amp;255,i[1]=a&gt;&gt;8&amp;255,i[2]=255&amp;a):e.test(t)&amp;&amp;(a=t.match(r),i[0]=parseInt(a[1]),i[1]=parseInt(a[2]),i[2]=parseInt(a[3]),a[4]?i[3]=parseFloat(a[4]):i[3]=1),!n)for(var o=0;o&lt;3;++o)i[o]=i[o]/255;return i},t}()},{}],51:[function(t,e,r){(function(r){&quot;use strict&quot;;function n(t,e){if(t===e)return 0;for(var r=t.length,n=e.length,i=0,a=Math.min(r,n);i&lt;a;++i)if(t[i]!==e[i]){r=t[i],n=e[i];break}return r&lt;n?-1:n&lt;r?1:0}function i(t){return r.Buffer&amp;&amp;&quot;function&quot;==typeof r.Buffer.isBuffer?r.Buffer.isBuffer(t):!(null==t||!t._isBuffer)}function a(t){return Object.prototype.toString.call(t)}function o(t){return!i(t)&amp;&amp;(&quot;function&quot;==typeof r.ArrayBuffer&amp;&amp;(&quot;function&quot;==typeof ArrayBuffer.isView?ArrayBuffer.isView(t):!!t&amp;&amp;(t instanceof DataView||!!(t.buffer&amp;&amp;t.buffer instanceof ArrayBuffer))))}function s(t){if(v.isFunction(t)){if(b)return t.name;var e=t.toString().match(w);return e&amp;&amp;e[1]}}function l(t,e){return&quot;string&quot;==typeof t?t.length&lt;e?t:t.slice(0,e):t}function c(t){if(b||!v.isFunction(t))return v.inspect(t);var e=s(t);return&quot;[Function&quot;+(e?&quot;: &quot;+e:&quot;&quot;)+&quot;]&quot;}function u(t,e,r,n,i){throw new _.AssertionError({message:r,actual:t,expected:e,operator:n,stackStartFunction:i})}function f(t,e){t||u(t,!0,e,&quot;==&quot;,_.ok)}function h(t,e,r,s){if(t===e)return!0;if(i(t)&amp;&amp;i(e))return 0===n(t,e);if(v.isDate(t)&amp;&amp;v.isDate(e))return t.getTime()===e.getTime();if(v.isRegExp(t)&amp;&amp;v.isRegExp(e))return t.source===e.source&amp;&amp;t.global===e.global&amp;&amp;t.multiline===e.multiline&amp;&amp;t.lastIndex===e.lastIndex&amp;&amp;t.ignoreCase===e.ignoreCase;if(null!==t&amp;&amp;&quot;object&quot;==typeof t||null!==e&amp;&amp;&quot;object&quot;==typeof e){if(o(t)&amp;&amp;o(e)&amp;&amp;a(t)===a(e)&amp;&amp;!(t instanceof Float32Array||t instanceof Float64Array))return 0===n(new Uint8Array(t.buffer),new Uint8Array(e.buffer));if(i(t)!==i(e))return!1;var l=(s=s||{actual:[],expected:[]}).actual.indexOf(t);return-1!==l&amp;&amp;l===s.expected.indexOf(e)||(s.actual.push(t),s.expected.push(e),function(t,e,r,n){if(null===t||void 0===t||null===e||void 0===e)return!1;if(v.isPrimitive(t)||v.isPrimitive(e))return t===e;if(r&amp;&amp;Object.getPrototypeOf(t)!==Object.getPrototypeOf(e))return!1;var i=d(t),a=d(e);if(i&amp;&amp;!a||!i&amp;&amp;a)return!1;if(i)return t=x.call(t),e=x.call(e),h(t,e,r);var o,s,l=M(t),c=M(e);if(l.length!==c.length)return!1;for(l.sort(),c.sort(),s=l.length-1;s&gt;=0;s--)if(l[s]!==c[s])return!1;for(s=l.length-1;s&gt;=0;s--)if(o=l[s],!h(t[o],e[o],r,n))return!1;return!0}(t,e,r,s))}return r?t===e:t==e}function d(t){return&quot;[object Arguments]&quot;==Object.prototype.toString.call(t)}function p(t,e,r){h(t,e,!0)&amp;&amp;u(t,e,r,&quot;notDeepStrictEqual&quot;,p)}function m(t,e){if(!t||!e)return!1;if(&quot;[object RegExp]&quot;==Object.prototype.toString.call(e))return e.test(t);try{if(t instanceof e)return!0}catch(t){}return!Error.isPrototypeOf(e)&amp;&amp;!0===e.call({},t)}function g(t,e,r,n){var i;if(&quot;function&quot;!=typeof e)throw new TypeError('&quot;block&quot; argument must be a function');&quot;string&quot;==typeof r&amp;&amp;(n=r,r=null),i=function(t){var e;try{t()}catch(t){e=t}return e}(e),n=(r&amp;&amp;r.name?&quot; (&quot;+r.name+&quot;).&quot;:&quot;.&quot;)+(n?&quot; &quot;+n:&quot;.&quot;),t&amp;&amp;!i&amp;&amp;u(i,r,&quot;Missing expected exception&quot;+n);var a=&quot;string&quot;==typeof n,o=!t&amp;&amp;v.isError(i),s=!t&amp;&amp;i&amp;&amp;!r;if((o&amp;&amp;a&amp;&amp;m(i,r)||s)&amp;&amp;u(i,r,&quot;Got unwanted exception&quot;+n),t&amp;&amp;i&amp;&amp;r&amp;&amp;!m(i,r)||!t&amp;&amp;i)throw i}var v=t(&quot;util/&quot;),y=Object.prototype.hasOwnProperty,x=Array.prototype.slice,b=&quot;foo&quot;===function(){}.name,_=e.exports=f,w=/\s*function\s+([^\(\s]*)\s*/;_.AssertionError=function(t){this.name=&quot;AssertionError&quot;,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 l(c(t.actual),128)+&quot; &quot;+t.operator+&quot; &quot;+l(c(t.expected),128)}(this),this.generatedMessage=!0);var e=t.stackStartFunction||u;if(Error.captureStackTrace)Error.captureStackTrace(this,e);else{var r=new Error;if(r.stack){var n=r.stack,i=s(e),a=n.indexOf(&quot;\n&quot;+i);if(a&gt;=0){var o=n.indexOf(&quot;\n&quot;,a+1);n=n.substring(o+1)}this.stack=n}}},v.inherits(_.AssertionError,Error),_.fail=u,_.ok=f,_.equal=function(t,e,r){t!=e&amp;&amp;u(t,e,r,&quot;==&quot;,_.equal)},_.notEqual=function(t,e,r){t==e&amp;&amp;u(t,e,r,&quot;!=&quot;,_.notEqual)},_.deepEqual=function(t,e,r){h(t,e,!1)||u(t,e,r,&quot;deepEqual&quot;,_.deepEqual)},_.deepStrictEqual=function(t,e,r){h(t,e,!0)||u(t,e,r,&quot;deepStrictEqual&quot;,_.deepStrictEqual)},_.notDeepEqual=function(t,e,r){h(t,e,!1)&amp;&amp;u(t,e,r,&quot;notDeepEqual&quot;,_.notDeepEqual)},_.notDeepStrictEqual=p,_.strictEqual=function(t,e,r){t!==e&amp;&amp;u(t,e,r,&quot;===&quot;,_.strictEqual)},_.notStrictEqual=function(t,e,r){t===e&amp;&amp;u(t,e,r,&quot;!==&quot;,_.notStrictEqual)},_.throws=function(t,e,r){g(!0,t,e,r)},_.doesNotThrow=function(t,e,r){g(!1,t,e,r)},_.ifError=function(t){if(t)throw t};var M=Object.keys||function(t){var e=[];for(var r in t)y.call(t,r)&amp;&amp;e.push(r);return e}}).call(this,&quot;undefined&quot;!=typeof global?global:&quot;undefined&quot;!=typeof self?self:&quot;undefined&quot;!=typeof window?window:{})},{&quot;util/&quot;:563}],52:[function(t,e,r){e.exports=function(t){return atob(t)}},{}],53:[function(t,e,r){&quot;use strict&quot;;function n(t){for(var e=0,r=0;r&lt;t.length;++r)e+=t[r];return e}e.exports=function(t,e){for(var r=e.length,a=new Array(r+1),o=0;o&lt;r;++o){for(var s=new Array(r+1),l=0;l&lt;=r;++l)s[l]=t[l][o];a[o]=s}for(a[r]=new Array(r+1),o=0;o&lt;=r;++o)a[r][o]=1;var c=new Array(r+1);for(o=0;o&lt;r;++o)c[o]=e[o];c[r]=1;var u=i(a,c),f=n(u[r+1]);0===f&amp;&amp;(f=1);var h=new Array(r+1);for(o=0;o&lt;=r;++o)h[o]=n(u[o])/f;return h};var i=t(&quot;robust-linear-solve&quot;)},{&quot;robust-linear-solve&quot;:514}],54:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;./lib/rationalize&quot;);e.exports=function(t,e){return n(t[0].mul(e[1]).add(e[0].mul(t[1])),t[1].mul(e[1]))}},{&quot;./lib/rationalize&quot;:64}],55:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t,e){return t[0].mul(e[1]).cmp(e[0].mul(t[1]))}},{}],56:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;./lib/rationalize&quot;);e.exports=function(t,e){return n(t[0].mul(e[1]),t[1].mul(e[0]))}},{&quot;./lib/rationalize&quot;:64}],57:[function(t,e,r){&quot;use strict&quot;;function n(t,e){if(i(t))return e?c(t,n(e)):[t[0].clone(),t[1].clone()];var r,u,f=0;if(a(t))r=t.clone();else if(&quot;string&quot;==typeof t)r=s(t);else{if(0===t)return[o(0),o(1)];if(t===Math.floor(t))r=o(t);else{for(;t!==Math.floor(t);)t*=Math.pow(2,256),f-=256;r=o(t)}}if(i(e))r.mul(e[1]),u=e[0].clone();else if(a(e))u=e.clone();else if(&quot;string&quot;==typeof e)u=s(e);else if(e)if(e===Math.floor(e))u=o(e);else{for(;e!==Math.floor(e);)e*=Math.pow(2,256),f+=256;u=o(e)}else u=o(1);return f&gt;0?r=r.ushln(f):f&lt;0&amp;&amp;(u=u.ushln(-f)),l(r,u)}var i=t(&quot;./is-rat&quot;),a=t(&quot;./lib/is-bn&quot;),o=t(&quot;./lib/num-to-bn&quot;),s=t(&quot;./lib/str-to-bn&quot;),l=t(&quot;./lib/rationalize&quot;),c=t(&quot;./div&quot;);e.exports=n},{&quot;./div&quot;:56,&quot;./is-rat&quot;:58,&quot;./lib/is-bn&quot;:62,&quot;./lib/num-to-bn&quot;:63,&quot;./lib/rationalize&quot;:64,&quot;./lib/str-to-bn&quot;:65}],58:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;./lib/is-bn&quot;);e.exports=function(t){return Array.isArray(t)&amp;&amp;2===t.length&amp;&amp;n(t[0])&amp;&amp;n(t[1])}},{&quot;./lib/is-bn&quot;:62}],59:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;bn.js&quot;);e.exports=function(t){return t.cmp(new n(0))}},{&quot;bn.js&quot;:73}],60:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;./bn-sign&quot;);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&lt;e;a++)i+=r[a]*Math.pow(67108864,a);return n(t)*i}},{&quot;./bn-sign&quot;:59}],61:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;double-bits&quot;),i=t(&quot;bit-twiddle&quot;).countTrailingZeros;e.exports=function(t){var e=i(n.lo(t));if(e&lt;32)return e;var r=i(n.hi(t));return r&gt;20?52:r+32}},{&quot;bit-twiddle&quot;:71,&quot;double-bits&quot;:131}],62:[function(t,e,r){&quot;use strict&quot;;t(&quot;bn.js&quot;);e.exports=function(t){return t&amp;&amp;&quot;object&quot;==typeof t&amp;&amp;Boolean(t.words)}},{&quot;bn.js&quot;:73}],63:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;bn.js&quot;),i=t(&quot;double-bits&quot;);e.exports=function(t){var e=i.exponent(t);return e&lt;52?new n(t):new n(t*Math.pow(2,52-e)).ushln(e-52)}},{&quot;bn.js&quot;:73,&quot;double-bits&quot;:131}],64:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;./num-to-bn&quot;),i=t(&quot;./bn-sign&quot;);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&lt;0&amp;&amp;(t=t.neg(),e=e.neg());var o=t.gcd(e);return o.cmpn(1)?[t.div(o),e.div(o)]:[t,e]}},{&quot;./bn-sign&quot;:59,&quot;./num-to-bn&quot;:63}],65:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;bn.js&quot;);e.exports=function(t){return new n(t)}},{&quot;bn.js&quot;:73}],66:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;./lib/rationalize&quot;);e.exports=function(t,e){return n(t[0].mul(e[0]),t[1].mul(e[1]))}},{&quot;./lib/rationalize&quot;:64}],67:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;./lib/bn-sign&quot;);e.exports=function(t){return n(t[0])*n(t[1])}},{&quot;./lib/bn-sign&quot;:59}],68:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;./lib/rationalize&quot;);e.exports=function(t,e){return n(t[0].mul(e[1]).sub(t[1].mul(e[0])),t[1].mul(e[1]))}},{&quot;./lib/rationalize&quot;:64}],69:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;./lib/bn-to-num&quot;),i=t(&quot;./lib/ctz&quot;);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;return c*(s+(h=n(l.ushln(u).divRound(r)))*Math.pow(2,-u))}var f=r.bitLength()-l.bitLength()+53,h=n(l.ushln(f).divRound(r));return f&lt;1023?c*h*Math.pow(2,-f):(h*=Math.pow(2,-1023),c*h*Math.pow(2,1023-f))}},{&quot;./lib/bn-to-num&quot;:60,&quot;./lib/ctz&quot;:61}],70:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,n,i,a){var o=[&quot;function &quot;,t,&quot;(a,l,h,&quot;,n.join(&quot;,&quot;),&quot;){&quot;,a?&quot;&quot;:&quot;var i=&quot;,r?&quot;l-1&quot;:&quot;h+1&quot;,&quot;;while(l&lt;=h){var m=(l+h)&gt;&gt;&gt;1,x=a&quot;,i?&quot;.get(m)&quot;:&quot;[m]&quot;];return a?e.indexOf(&quot;c&quot;)&lt;0?o.push(&quot;;if(x===y){return m}else if(x&lt;=y){&quot;):o.push(&quot;;var p=c(x,y);if(p===0){return m}else if(p&lt;=0){&quot;):o.push(&quot;;if(&quot;,e,&quot;){i=m;&quot;),r?o.push(&quot;l=m+1}else{h=m-1}&quot;):o.push(&quot;h=m-1}else{l=m+1}&quot;),o.push(&quot;}&quot;),a?o.push(&quot;return -1};&quot;):o.push(&quot;return i};&quot;),o.join(&quot;&quot;)}function i(t,e,r,i){return new Function([n(&quot;A&quot;,&quot;x&quot;+t+&quot;y&quot;,e,[&quot;y&quot;],!1,i),n(&quot;B&quot;,&quot;x&quot;+t+&quot;y&quot;,e,[&quot;y&quot;],!0,i),n(&quot;P&quot;,&quot;c(x,y)&quot;+t+&quot;0&quot;,e,[&quot;y&quot;,&quot;c&quot;],!1,i),n(&quot;Q&quot;,&quot;c(x,y)&quot;+t+&quot;0&quot;,e,[&quot;y&quot;,&quot;c&quot;],!0,i),&quot;function dispatchBsearch&quot;,r,&quot;(a,y,c,l,h){if(a.shape){if(typeof(c)==='function'){return Q(a,(l===undefined)?0:l|0,(h===undefined)?a.shape[0]-1:h|0,y,c)}else{return B(a,(c===undefined)?0:c|0,(l===undefined)?a.shape[0]-1:l|0,y)}}else{if(typeof(c)==='function'){return P(a,(l===undefined)?0:l|0,(h===undefined)?a.length-1:h|0,y,c)}else{return A(a,(c===undefined)?0:c|0,(l===undefined)?a.length-1:l|0,y)}}}return dispatchBsearch&quot;,r].join(&quot;&quot;))()}e.exports={ge:i(&quot;&gt;=&quot;,!1,&quot;GE&quot;),gt:i(&quot;&gt;&quot;,!1,&quot;GT&quot;),lt:i(&quot;&lt;&quot;,!0,&quot;LT&quot;),le:i(&quot;&lt;=&quot;,!0,&quot;LE&quot;),eq:i(&quot;-&quot;,!0,&quot;EQ&quot;,!0)}},{}],71:[function(t,e,r){&quot;use strict&quot;;&quot;use restrict&quot;;function n(t){var e=32;return(t&amp;=-t)&amp;&amp;e--,65535&amp;t&amp;&amp;(e-=16),16711935&amp;t&amp;&amp;(e-=8),252645135&amp;t&amp;&amp;(e-=4),858993459&amp;t&amp;&amp;(e-=2),1431655765&amp;t&amp;&amp;(e-=1),e}r.INT_BITS=32,r.INT_MAX=2147483647,r.INT_MIN=-1&lt;&lt;31,r.sign=function(t){return(t&gt;0)-(t&lt;0)},r.abs=function(t){var e=t&gt;&gt;31;return(t^e)-e},r.min=function(t,e){return e^(t^e)&amp;-(t&lt;e)},r.max=function(t,e){return t^(t^e)&amp;-(t&lt;e)},r.isPow2=function(t){return!(t&amp;t-1||!t)},r.log2=function(t){var e,r;return e=(t&gt;65535)&lt;&lt;4,t&gt;&gt;&gt;=e,r=(t&gt;255)&lt;&lt;3,t&gt;&gt;&gt;=r,e|=r,r=(t&gt;15)&lt;&lt;2,t&gt;&gt;&gt;=r,e|=r,r=(t&gt;3)&lt;&lt;1,t&gt;&gt;&gt;=r,(e|=r)|t&gt;&gt;1},r.log10=function(t){return t&gt;=1e9?9:t&gt;=1e8?8:t&gt;=1e7?7:t&gt;=1e6?6:t&gt;=1e5?5:t&gt;=1e4?4:t&gt;=1e3?3:t&gt;=100?2:t&gt;=10?1:0},r.popCount=function(t){return t-=t&gt;&gt;&gt;1&amp;1431655765,16843009*((t=(858993459&amp;t)+(t&gt;&gt;&gt;2&amp;858993459))+(t&gt;&gt;&gt;4)&amp;252645135)&gt;&gt;&gt;24},r.countTrailingZeros=n,r.nextPow2=function(t){return t+=0===t,--t,t|=t&gt;&gt;&gt;1,t|=t&gt;&gt;&gt;2,t|=t&gt;&gt;&gt;4,t|=t&gt;&gt;&gt;8,(t|=t&gt;&gt;&gt;16)+1},r.prevPow2=function(t){return t|=t&gt;&gt;&gt;1,t|=t&gt;&gt;&gt;2,t|=t&gt;&gt;&gt;4,t|=t&gt;&gt;&gt;8,(t|=t&gt;&gt;&gt;16)-(t&gt;&gt;&gt;1)},r.parity=function(t){return t^=t&gt;&gt;&gt;16,t^=t&gt;&gt;&gt;8,t^=t&gt;&gt;&gt;4,27030&gt;&gt;&gt;(t&amp;=15)&amp;1};var i=new Array(256);!function(t){for(var e=0;e&lt;256;++e){var r=e,n=e,i=7;for(r&gt;&gt;&gt;=1;r;r&gt;&gt;&gt;=1)n&lt;&lt;=1,n|=1&amp;r,--i;t[e]=n&lt;&lt;i&amp;255}}(i),r.reverse=function(t){return i[255&amp;t]&lt;&lt;24|i[t&gt;&gt;&gt;8&amp;255]&lt;&lt;16|i[t&gt;&gt;&gt;16&amp;255]&lt;&lt;8|i[t&gt;&gt;&gt;24&amp;255]},r.interleave2=function(t,e){return t&amp;=65535,t=16711935&amp;(t|t&lt;&lt;8),t=252645135&amp;(t|t&lt;&lt;4),t=858993459&amp;(t|t&lt;&lt;2),t=1431655765&amp;(t|t&lt;&lt;1),e&amp;=65535,e=16711935&amp;(e|e&lt;&lt;8),e=252645135&amp;(e|e&lt;&lt;4),e=858993459&amp;(e|e&lt;&lt;2),e=1431655765&amp;(e|e&lt;&lt;1),t|e&lt;&lt;1},r.deinterleave2=function(t,e){return t=t&gt;&gt;&gt;e&amp;1431655765,t=858993459&amp;(t|t&gt;&gt;&gt;1),t=252645135&amp;(t|t&gt;&gt;&gt;2),t=16711935&amp;(t|t&gt;&gt;&gt;4),(t=65535&amp;(t|t&gt;&gt;&gt;16))&lt;&lt;16&gt;&gt;16},r.interleave3=function(t,e,r){return t&amp;=1023,t=4278190335&amp;(t|t&lt;&lt;16),t=251719695&amp;(t|t&lt;&lt;8),t=3272356035&amp;(t|t&lt;&lt;4),t=1227133513&amp;(t|t&lt;&lt;2),e&amp;=1023,e=4278190335&amp;(e|e&lt;&lt;16),e=251719695&amp;(e|e&lt;&lt;8),e=3272356035&amp;(e|e&lt;&lt;4),e=1227133513&amp;(e|e&lt;&lt;2),t|=e&lt;&lt;1,r&amp;=1023,r=4278190335&amp;(r|r&lt;&lt;16),r=251719695&amp;(r|r&lt;&lt;8),r=3272356035&amp;(r|r&lt;&lt;4),r=1227133513&amp;(r|r&lt;&lt;2),t|r&lt;&lt;2},r.deinterleave3=function(t,e){return t=t&gt;&gt;&gt;e&amp;1227133513,t=3272356035&amp;(t|t&gt;&gt;&gt;2),t=251719695&amp;(t|t&gt;&gt;&gt;4),t=4278190335&amp;(t|t&gt;&gt;&gt;8),(t=1023&amp;(t|t&gt;&gt;&gt;16))&lt;&lt;22&gt;&gt;22},r.nextCombination=function(t){var e=t|t-1;return e+1|(~e&amp;-~e)-1&gt;&gt;&gt;n(t)+1}},{}],72:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,n,a,o,s){for(var l=0;l&lt;e;l++){for(var c=0;c&lt;r;c++)n[c]=t[c*e+l];for(i(n,a,o,s,r),c=0;c&lt;r;c++)t[c*e+l]=a[c]}for(c=0;c&lt;r;c++){for(l=0;l&lt;e;l++)n[l]=t[c*e+l];for(i(n,a,o,s,e),l=0;l&lt;e;l++)t[c*e+l]=Math.sqrt(a[l])}}function i(t,e,r,n,i){r[0]=0,n[0]=-o,n[1]=+o;for(var a=1,s=0;a&lt;i;a++){for(var l=(t[a]+a*a-(t[r[s]]+r[s]*r[s]))/(2*a-2*r[s]);l&lt;=n[s];)s--,l=(t[a]+a*a-(t[r[s]]+r[s]*r[s]))/(2*a-2*r[s]);r[++s]=a,n[s]=l,n[s+1]=+o}for(a=0,s=0;a&lt;i;a++){for(;n[s+1]&lt;a;)s++;e[a]=(a-r[s])*(a-r[s])+t[r[s]]}}var a=t(&quot;clamp&quot;);e.exports=function(t,e){e||(e={});var r,i,s,l,c,u,f,h,d,p,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(&quot;For raw data width and height should be provided by options&quot;);r=e.width,i=e.height,l=t,u=e.stride?e.stride:Math.floor(t.length/r/i)}else window.HTMLCanvasElement&amp;&amp;t instanceof window.HTMLCanvasElement?(f=(h=t).getContext(&quot;2d&quot;),r=h.width,i=h.height,l=(d=f.getImageData(0,0,r,i)).data,u=4):window.CanvasRenderingContext2D&amp;&amp;t instanceof window.CanvasRenderingContext2D?(f=t,r=(h=t.canvas).width,i=h.height,l=(d=f.getImageData(0,0,r,i)).data,u=4):window.ImageData&amp;&amp;t instanceof window.ImageData&amp;&amp;(d=t,r=t.width,i=t.height,l=d.data,u=4);if(s=Math.max(r,i),window.Uint8ClampedArray&amp;&amp;l instanceof window.Uint8ClampedArray||window.Uint8Array&amp;&amp;l instanceof window.Uint8Array)for(c=l,l=Array(r*i),p=0,m=c.length;p&lt;m;p++)l[p]=c[p*u+y]/255;else if(1!==u)throw Error(&quot;Raw data can have only 1 value per pixel&quot;);var x=Array(r*i),b=Array(r*i),_=Array(s),w=Array(s),M=Array(s+1),k=Array(s);for(p=0,m=r*i;p&lt;m;p++){var A=l[p];x[p]=1===A?0:0===A?o:Math.pow(Math.max(0,.5-A),2),b[p]=1===A?o:0===A?0:Math.pow(Math.max(0,A-.5),2)}n(x,r,i,_,w,k,M),n(b,r,i,_,w,k,M);var T=window.Float32Array?new Float32Array(r*i):new Array(r*i);for(p=0,m=r*i;p&lt;m;p++)T[p]=a(1-((x[p]-b[p])/v+g),0,1);return T};var o=1e20},{clamp:93}],73:[function(t,e,r){!function(e,r){&quot;use strict&quot;;function n(t,e){if(!t)throw new Error(e||&quot;Assertion failed&quot;)}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&amp;&amp;(&quot;le&quot;!==e&amp;&amp;&quot;be&quot;!==e||(r=e,e=10),this._init(t||0,e||10,r||&quot;be&quot;))}function o(t,e,r){for(var n=0,i=Math.min(t.length,r),a=e;a&lt;i;a++){var o=t.charCodeAt(a)-48;n&lt;&lt;=4,n|=o&gt;=49&amp;&amp;o&lt;=54?o-49+10:o&gt;=17&amp;&amp;o&lt;=22?o-17+10:15&amp;o}return n}function s(t,e,r,n){for(var i=0,a=Math.min(t.length,r),o=e;o&lt;a;o++){var s=t.charCodeAt(o)-48;i*=n,i+=s&gt;=49?s-49+10:s&gt;=17?s-17+10:s}return i}function l(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&amp;o,l=o/67108864|0;r.words[0]=s;for(var c=1;c&lt;n;c++){for(var u=l&gt;&gt;&gt;26,f=67108863&amp;l,h=Math.min(c,e.length-1),d=Math.max(0,c-t.length+1);d&lt;=h;d++){var p=c-d|0;u+=(o=(i=0|t.words[p])*(a=0|e.words[d])+f)/67108864|0,f=67108863&amp;o}r.words[c]=0|f,l=0|u}return 0!==l?r.words[c]=0|l:r.length--,r.strip()}function c(t,e,r){return(new u).mulp(t,e,r)}function u(t,e){this.x=t,this.y=e}function f(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 h(){f.call(this,&quot;k256&quot;,&quot;ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f&quot;)}function d(){f.call(this,&quot;p224&quot;,&quot;ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001&quot;)}function p(){f.call(this,&quot;p192&quot;,&quot;ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff&quot;)}function m(){f.call(this,&quot;25519&quot;,&quot;7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed&quot;)}function g(t){if(&quot;string&quot;==typeof t){var e=a._prime(t);this.m=e.p,this.prime=e}else n(t.gtn(1),&quot;modulus must be greater than 1&quot;),this.m=t,this.prime=null}function v(t){g.call(this,t),this.shift=this.m.bitLength(),this.shift%26!=0&amp;&amp;(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)}&quot;object&quot;==typeof e?e.exports=a:r.BN=a,a.BN=a,a.wordSize=26;var y;try{y=t(&quot;buffer&quot;).Buffer}catch(t){}a.isBN=function(t){return t instanceof a||null!==t&amp;&amp;&quot;object&quot;==typeof t&amp;&amp;t.constructor.wordSize===a.wordSize&amp;&amp;Array.isArray(t.words)},a.max=function(t,e){return t.cmp(e)&gt;0?t:e},a.min=function(t,e){return t.cmp(e)&lt;0?t:e},a.prototype._init=function(t,e,r){if(&quot;number&quot;==typeof t)return this._initNumber(t,e,r);if(&quot;object&quot;==typeof t)return this._initArray(t,e,r);&quot;hex&quot;===e&amp;&amp;(e=16),n(e===(0|e)&amp;&amp;e&gt;=2&amp;&amp;e&lt;=36);var i=0;&quot;-&quot;===(t=t.toString().replace(/\s+/g,&quot;&quot;))[0]&amp;&amp;i++,16===e?this._parseHex(t,i):this._parseBase(t,e,i),&quot;-&quot;===t[0]&amp;&amp;(this.negative=1),this.strip(),&quot;le&quot;===r&amp;&amp;this._initArray(this.toArray(),e,r)},a.prototype._initNumber=function(t,e,r){t&lt;0&amp;&amp;(this.negative=1,t=-t),t&lt;67108864?(this.words=[67108863&amp;t],this.length=1):t&lt;4503599627370496?(this.words=[67108863&amp;t,t/67108864&amp;67108863],this.length=2):(n(t&lt;9007199254740992),this.words=[67108863&amp;t,t/67108864&amp;67108863,1],this.length=3),&quot;le&quot;===r&amp;&amp;this._initArray(this.toArray(),e,r)},a.prototype._initArray=function(t,e,r){if(n(&quot;number&quot;==typeof t.length),t.length&lt;=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&lt;this.length;i++)this.words[i]=0;var a,o,s=0;if(&quot;be&quot;===r)for(i=t.length-1,a=0;i&gt;=0;i-=3)o=t[i]|t[i-1]&lt;&lt;8|t[i-2]&lt;&lt;16,this.words[a]|=o&lt;&lt;s&amp;67108863,this.words[a+1]=o&gt;&gt;&gt;26-s&amp;67108863,(s+=24)&gt;=26&amp;&amp;(s-=26,a++);else if(&quot;le&quot;===r)for(i=0,a=0;i&lt;t.length;i+=3)o=t[i]|t[i+1]&lt;&lt;8|t[i+2]&lt;&lt;16,this.words[a]|=o&lt;&lt;s&amp;67108863,this.words[a+1]=o&gt;&gt;&gt;26-s&amp;67108863,(s+=24)&gt;=26&amp;&amp;(s-=26,a++);return this.strip()},a.prototype._parseHex=function(t,e){this.length=Math.ceil((t.length-e)/6),this.words=new Array(this.length);for(var r=0;r&lt;this.length;r++)this.words[r]=0;var n,i,a=0;for(r=t.length-6,n=0;r&gt;=e;r-=6)i=o(t,r,r+6),this.words[n]|=i&lt;&lt;a&amp;67108863,this.words[n+1]|=i&gt;&gt;&gt;26-a&amp;4194303,(a+=24)&gt;=26&amp;&amp;(a-=26,n++);r+6!==e&amp;&amp;(i=o(t,e,r+6),this.words[n]|=i&lt;&lt;a&amp;67108863,this.words[n+1]|=i&gt;&gt;&gt;26-a&amp;4194303),this.strip()},a.prototype._parseBase=function(t,e,r){this.words=[0],this.length=1;for(var n=0,i=1;i&lt;=67108863;i*=e)n++;n--,i=i/e|0;for(var a=t.length-r,o=a%n,l=Math.min(a,a-o)+r,c=0,u=r;u&lt;l;u+=n)c=s(t,u,u+n,e),this.imuln(i),this.words[0]+c&lt;67108864?this.words[0]+=c:this._iaddn(c);if(0!==o){var f=1;for(c=s(t,u,t.length,e),u=0;u&lt;o;u++)f*=e;this.imuln(f),this.words[0]+c&lt;67108864?this.words[0]+=c:this._iaddn(c)}},a.prototype.copy=function(t){t.words=new Array(this.length);for(var e=0;e&lt;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&lt;t;)this.words[this.length++]=0;return this},a.prototype.strip=function(){for(;this.length&gt;1&amp;&amp;0===this.words[this.length-1];)this.length--;return this._normSign()},a.prototype._normSign=function(){return 1===this.length&amp;&amp;0===this.words[0]&amp;&amp;(this.negative=0),this},a.prototype.inspect=function(){return(this.red?&quot;&lt;BN-R: &quot;:&quot;&lt;BN: &quot;)+this.toString(16)+&quot;&gt;&quot;};var x=[&quot;&quot;,&quot;0&quot;,&quot;00&quot;,&quot;000&quot;,&quot;0000&quot;,&quot;00000&quot;,&quot;000000&quot;,&quot;0000000&quot;,&quot;00000000&quot;,&quot;000000000&quot;,&quot;0000000000&quot;,&quot;00000000000&quot;,&quot;000000000000&quot;,&quot;0000000000000&quot;,&quot;00000000000000&quot;,&quot;000000000000000&quot;,&quot;0000000000000000&quot;,&quot;00000000000000000&quot;,&quot;000000000000000000&quot;,&quot;0000000000000000000&quot;,&quot;00000000000000000000&quot;,&quot;000000000000000000000&quot;,&quot;0000000000000000000000&quot;,&quot;00000000000000000000000&quot;,&quot;000000000000000000000000&quot;,&quot;0000000000000000000000000&quot;],b=[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],_=[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];a.prototype.toString=function(t,e){t=t||10,e=0|e||1;var r;if(16===t||&quot;hex&quot;===t){r=&quot;&quot;;for(var i=0,a=0,o=0;o&lt;this.length;o++){var s=this.words[o],l=(16777215&amp;(s&lt;&lt;i|a)).toString(16);r=0!==(a=s&gt;&gt;&gt;24-i&amp;16777215)||o!==this.length-1?x[6-l.length]+l+r:l+r,(i+=2)&gt;=26&amp;&amp;(i-=26,o--)}for(0!==a&amp;&amp;(r=a.toString(16)+r);r.length%e!=0;)r=&quot;0&quot;+r;return 0!==this.negative&amp;&amp;(r=&quot;-&quot;+r),r}if(t===(0|t)&amp;&amp;t&gt;=2&amp;&amp;t&lt;=36){var c=b[t],u=_[t];r=&quot;&quot;;var f=this.clone();for(f.negative=0;!f.isZero();){var h=f.modn(u).toString(t);r=(f=f.idivn(u)).isZero()?h+r:x[c-h.length]+h+r}for(this.isZero()&amp;&amp;(r=&quot;0&quot;+r);r.length%e!=0;)r=&quot;0&quot;+r;return 0!==this.negative&amp;&amp;(r=&quot;-&quot;+r),r}n(!1,&quot;Base should be between 2 and 36&quot;)},a.prototype.toNumber=function(){var t=this.words[0];return 2===this.length?t+=67108864*this.words[1]:3===this.length&amp;&amp;1===this.words[2]?t+=4503599627370496+67108864*this.words[1]:this.length&gt;2&amp;&amp;n(!1,&quot;Number can only safely store up to 53 bits&quot;),0!==this.negative?-t:t},a.prototype.toJSON=function(){return this.toString(16)},a.prototype.toBuffer=function(t,e){return n(void 0!==y),this.toArrayLike(y,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&lt;=a,&quot;byte array longer than desired length&quot;),n(a&gt;0,&quot;Requested array length &lt;= 0&quot;),this.strip();var o,s,l=&quot;le&quot;===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&lt;a;s++)c[s]=0}else{for(s=0;s&lt;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&gt;=4096&amp;&amp;(r+=13,e&gt;&gt;&gt;=13),e&gt;=64&amp;&amp;(r+=7,e&gt;&gt;&gt;=7),e&gt;=8&amp;&amp;(r+=4,e&gt;&gt;&gt;=4),e&gt;=2&amp;&amp;(r+=2,e&gt;&gt;&gt;=2),r+e},a.prototype._zeroBits=function(t){if(0===t)return 26;var e=t,r=0;return 0==(8191&amp;e)&amp;&amp;(r+=13,e&gt;&gt;&gt;=13),0==(127&amp;e)&amp;&amp;(r+=7,e&gt;&gt;&gt;=7),0==(15&amp;e)&amp;&amp;(r+=4,e&gt;&gt;&gt;=4),0==(3&amp;e)&amp;&amp;(r+=2,e&gt;&gt;&gt;=2),0==(1&amp;e)&amp;&amp;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&lt;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&lt;t.length;)this.words[this.length++]=0;for(var e=0;e&lt;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&gt;t.length?this.clone().ior(t):t.clone().ior(this)},a.prototype.uor=function(t){return this.length&gt;t.length?this.clone().iuor(t):t.clone().iuor(this)},a.prototype.iuand=function(t){var e;e=this.length&gt;t.length?t:this;for(var r=0;r&lt;e.length;r++)this.words[r]=this.words[r]&amp;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&gt;t.length?this.clone().iand(t):t.clone().iand(this)},a.prototype.uand=function(t){return this.length&gt;t.length?this.clone().iuand(t):t.clone().iuand(this)},a.prototype.iuxor=function(t){var e,r;this.length&gt;t.length?(e=this,r=t):(e=t,r=this);for(var n=0;n&lt;r.length;n++)this.words[n]=e.words[n]^r.words[n];if(this!==e)for(;n&lt;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&gt;t.length?this.clone().ixor(t):t.clone().ixor(this)},a.prototype.uxor=function(t){return this.length&gt;t.length?this.clone().iuxor(t):t.clone().iuxor(this)},a.prototype.inotn=function(t){n(&quot;number&quot;==typeof t&amp;&amp;t&gt;=0);var e=0|Math.ceil(t/26),r=t%26;this._expand(e),r&gt;0&amp;&amp;e--;for(var i=0;i&lt;e;i++)this.words[i]=67108863&amp;~this.words[i];return r&gt;0&amp;&amp;(this.words[i]=~this.words[i]&amp;67108863&gt;&gt;26-r),this.strip()},a.prototype.notn=function(t){return this.clone().inotn(t)},a.prototype.setn=function(t,e){n(&quot;number&quot;==typeof t&amp;&amp;t&gt;=0);var r=t/26|0,i=t%26;return this._expand(r+1),this.words[r]=e?this.words[r]|1&lt;&lt;i:this.words[r]&amp;~(1&lt;&lt;i),this.strip()},a.prototype.iadd=function(t){var e;if(0!==this.negative&amp;&amp;0===t.negative)return this.negative=0,e=this.isub(t),this.negative^=1,this._normSign();if(0===this.negative&amp;&amp;0!==t.negative)return t.negative=0,e=this.isub(t),t.negative=1,e._normSign();var r,n;this.length&gt;t.length?(r=this,n=t):(r=t,n=this);for(var i=0,a=0;a&lt;n.length;a++)e=(0|r.words[a])+(0|n.words[a])+i,this.words[a]=67108863&amp;e,i=e&gt;&gt;&gt;26;for(;0!==i&amp;&amp;a&lt;r.length;a++)e=(0|r.words[a])+i,this.words[a]=67108863&amp;e,i=e&gt;&gt;&gt;26;if(this.length=r.length,0!==i)this.words[this.length]=i,this.length++;else if(r!==this)for(;a&lt;r.length;a++)this.words[a]=r.words[a];return this},a.prototype.add=function(t){var e;return 0!==t.negative&amp;&amp;0===this.negative?(t.negative=0,e=this.sub(t),t.negative^=1,e):0===t.negative&amp;&amp;0!==this.negative?(this.negative=0,e=t.sub(this),this.negative=1,e):this.length&gt;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=this.cmp(t);if(0===r)return this.negative=0,this.length=1,this.words[0]=0,this;var n,i;r&gt;0?(n=this,i=t):(n=t,i=this);for(var a=0,o=0;o&lt;i.length;o++)a=(e=(0|n.words[o])-(0|i.words[o])+a)&gt;&gt;26,this.words[o]=67108863&amp;e;for(;0!==a&amp;&amp;o&lt;n.length;o++)a=(e=(0|n.words[o])+a)&gt;&gt;26,this.words[o]=67108863&amp;e;if(0===a&amp;&amp;o&lt;n.length&amp;&amp;n!==this)for(;o&lt;n.length;o++)this.words[o]=n.words[o];return this.length=Math.max(this.length,o),n!==this&amp;&amp;(this.negative=1),this.strip()},a.prototype.sub=function(t){return this.clone().isub(t)};var w=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&amp;u,h=u&gt;&gt;&gt;13,d=0|o[1],p=8191&amp;d,m=d&gt;&gt;&gt;13,g=0|o[2],v=8191&amp;g,y=g&gt;&gt;&gt;13,x=0|o[3],b=8191&amp;x,_=x&gt;&gt;&gt;13,w=0|o[4],M=8191&amp;w,k=w&gt;&gt;&gt;13,A=0|o[5],T=8191&amp;A,S=A&gt;&gt;&gt;13,E=0|o[6],L=8191&amp;E,C=E&gt;&gt;&gt;13,z=0|o[7],D=8191&amp;z,I=z&gt;&gt;&gt;13,P=0|o[8],O=8191&amp;P,F=P&gt;&gt;&gt;13,R=0|o[9],N=8191&amp;R,j=R&gt;&gt;&gt;13,B=0|s[0],U=8191&amp;B,V=B&gt;&gt;&gt;13,q=0|s[1],H=8191&amp;q,G=q&gt;&gt;&gt;13,Y=0|s[2],W=8191&amp;Y,X=Y&gt;&gt;&gt;13,Z=0|s[3],J=8191&amp;Z,K=Z&gt;&gt;&gt;13,Q=0|s[4],$=8191&amp;Q,tt=Q&gt;&gt;&gt;13,et=0|s[5],rt=8191&amp;et,nt=et&gt;&gt;&gt;13,it=0|s[6],at=8191&amp;it,ot=it&gt;&gt;&gt;13,st=0|s[7],lt=8191&amp;st,ct=st&gt;&gt;&gt;13,ut=0|s[8],ft=8191&amp;ut,ht=ut&gt;&gt;&gt;13,dt=0|s[9],pt=8191&amp;dt,mt=dt&gt;&gt;&gt;13;r.negative=t.negative^e.negative,r.length=19;var gt=(c+(n=Math.imul(f,U))|0)+((8191&amp;(i=(i=Math.imul(f,V))+Math.imul(h,U)|0))&lt;&lt;13)|0;c=((a=Math.imul(h,V))+(i&gt;&gt;&gt;13)|0)+(gt&gt;&gt;&gt;26)|0,gt&amp;=67108863,n=Math.imul(p,U),i=(i=Math.imul(p,V))+Math.imul(m,U)|0,a=Math.imul(m,V);var vt=(c+(n=n+Math.imul(f,H)|0)|0)+((8191&amp;(i=(i=i+Math.imul(f,G)|0)+Math.imul(h,H)|0))&lt;&lt;13)|0;c=((a=a+Math.imul(h,G)|0)+(i&gt;&gt;&gt;13)|0)+(vt&gt;&gt;&gt;26)|0,vt&amp;=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(p,H)|0,i=(i=i+Math.imul(p,G)|0)+Math.imul(m,H)|0,a=a+Math.imul(m,G)|0;var yt=(c+(n=n+Math.imul(f,W)|0)|0)+((8191&amp;(i=(i=i+Math.imul(f,X)|0)+Math.imul(h,W)|0))&lt;&lt;13)|0;c=((a=a+Math.imul(h,X)|0)+(i&gt;&gt;&gt;13)|0)+(yt&gt;&gt;&gt;26)|0,yt&amp;=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,H)|0,i=(i=i+Math.imul(v,G)|0)+Math.imul(y,H)|0,a=a+Math.imul(y,G)|0,n=n+Math.imul(p,W)|0,i=(i=i+Math.imul(p,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&amp;(i=(i=i+Math.imul(f,K)|0)+Math.imul(h,J)|0))&lt;&lt;13)|0;c=((a=a+Math.imul(h,K)|0)+(i&gt;&gt;&gt;13)|0)+(xt&gt;&gt;&gt;26)|0,xt&amp;=67108863,n=Math.imul(M,U),i=(i=Math.imul(M,V))+Math.imul(k,U)|0,a=Math.imul(k,V),n=n+Math.imul(b,H)|0,i=(i=i+Math.imul(b,G)|0)+Math.imul(_,H)|0,a=a+Math.imul(_,G)|0,n=n+Math.imul(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(p,J)|0,i=(i=i+Math.imul(p,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&amp;(i=(i=i+Math.imul(f,tt)|0)+Math.imul(h,$)|0))&lt;&lt;13)|0;c=((a=a+Math.imul(h,tt)|0)+(i&gt;&gt;&gt;13)|0)+(bt&gt;&gt;&gt;26)|0,bt&amp;=67108863,n=Math.imul(T,U),i=(i=Math.imul(T,V))+Math.imul(S,U)|0,a=Math.imul(S,V),n=n+Math.imul(M,H)|0,i=(i=i+Math.imul(M,G)|0)+Math.imul(k,H)|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(p,$)|0,i=(i=i+Math.imul(p,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&amp;(i=(i=i+Math.imul(f,nt)|0)+Math.imul(h,rt)|0))&lt;&lt;13)|0;c=((a=a+Math.imul(h,nt)|0)+(i&gt;&gt;&gt;13)|0)+(_t&gt;&gt;&gt;26)|0,_t&amp;=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(T,H)|0,i=(i=i+Math.imul(T,G)|0)+Math.imul(S,H)|0,a=a+Math.imul(S,G)|0,n=n+Math.imul(M,W)|0,i=(i=i+Math.imul(M,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(p,rt)|0,i=(i=i+Math.imul(p,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&amp;(i=(i=i+Math.imul(f,ot)|0)+Math.imul(h,at)|0))&lt;&lt;13)|0;c=((a=a+Math.imul(h,ot)|0)+(i&gt;&gt;&gt;13)|0)+(wt&gt;&gt;&gt;26)|0,wt&amp;=67108863,n=Math.imul(D,U),i=(i=Math.imul(D,V))+Math.imul(I,U)|0,a=Math.imul(I,V),n=n+Math.imul(L,H)|0,i=(i=i+Math.imul(L,G)|0)+Math.imul(C,H)|0,a=a+Math.imul(C,G)|0,n=n+Math.imul(T,W)|0,i=(i=i+Math.imul(T,X)|0)+Math.imul(S,W)|0,a=a+Math.imul(S,X)|0,n=n+Math.imul(M,J)|0,i=(i=i+Math.imul(M,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(p,at)|0,i=(i=i+Math.imul(p,ot)|0)+Math.imul(m,at)|0,a=a+Math.imul(m,ot)|0;var Mt=(c+(n=n+Math.imul(f,lt)|0)|0)+((8191&amp;(i=(i=i+Math.imul(f,ct)|0)+Math.imul(h,lt)|0))&lt;&lt;13)|0;c=((a=a+Math.imul(h,ct)|0)+(i&gt;&gt;&gt;13)|0)+(Mt&gt;&gt;&gt;26)|0,Mt&amp;=67108863,n=Math.imul(O,U),i=(i=Math.imul(O,V))+Math.imul(F,U)|0,a=Math.imul(F,V),n=n+Math.imul(D,H)|0,i=(i=i+Math.imul(D,G)|0)+Math.imul(I,H)|0,a=a+Math.imul(I,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(T,J)|0,i=(i=i+Math.imul(T,K)|0)+Math.imul(S,J)|0,a=a+Math.imul(S,K)|0,n=n+Math.imul(M,$)|0,i=(i=i+Math.imul(M,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(p,lt)|0,i=(i=i+Math.imul(p,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&amp;(i=(i=i+Math.imul(f,ht)|0)+Math.imul(h,ft)|0))&lt;&lt;13)|0;c=((a=a+Math.imul(h,ht)|0)+(i&gt;&gt;&gt;13)|0)+(kt&gt;&gt;&gt;26)|0,kt&amp;=67108863,n=Math.imul(N,U),i=(i=Math.imul(N,V))+Math.imul(j,U)|0,a=Math.imul(j,V),n=n+Math.imul(O,H)|0,i=(i=i+Math.imul(O,G)|0)+Math.imul(F,H)|0,a=a+Math.imul(F,G)|0,n=n+Math.imul(D,W)|0,i=(i=i+Math.imul(D,X)|0)+Math.imul(I,W)|0,a=a+Math.imul(I,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(T,$)|0,i=(i=i+Math.imul(T,tt)|0)+Math.imul(S,$)|0,a=a+Math.imul(S,tt)|0,n=n+Math.imul(M,rt)|0,i=(i=i+Math.imul(M,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(p,ft)|0,i=(i=i+Math.imul(p,ht)|0)+Math.imul(m,ft)|0,a=a+Math.imul(m,ht)|0;var At=(c+(n=n+Math.imul(f,pt)|0)|0)+((8191&amp;(i=(i=i+Math.imul(f,mt)|0)+Math.imul(h,pt)|0))&lt;&lt;13)|0;c=((a=a+Math.imul(h,mt)|0)+(i&gt;&gt;&gt;13)|0)+(At&gt;&gt;&gt;26)|0,At&amp;=67108863,n=Math.imul(N,H),i=(i=Math.imul(N,G))+Math.imul(j,H)|0,a=Math.imul(j,G),n=n+Math.imul(O,W)|0,i=(i=i+Math.imul(O,X)|0)+Math.imul(F,W)|0,a=a+Math.imul(F,X)|0,n=n+Math.imul(D,J)|0,i=(i=i+Math.imul(D,K)|0)+Math.imul(I,J)|0,a=a+Math.imul(I,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(T,rt)|0,i=(i=i+Math.imul(T,nt)|0)+Math.imul(S,rt)|0,a=a+Math.imul(S,nt)|0,n=n+Math.imul(M,at)|0,i=(i=i+Math.imul(M,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 Tt=(c+(n=n+Math.imul(p,pt)|0)|0)+((8191&amp;(i=(i=i+Math.imul(p,mt)|0)+Math.imul(m,pt)|0))&lt;&lt;13)|0;c=((a=a+Math.imul(m,mt)|0)+(i&gt;&gt;&gt;13)|0)+(Tt&gt;&gt;&gt;26)|0,Tt&amp;=67108863,n=Math.imul(N,W),i=(i=Math.imul(N,X))+Math.imul(j,W)|0,a=Math.imul(j,X),n=n+Math.imul(O,J)|0,i=(i=i+Math.imul(O,K)|0)+Math.imul(F,J)|0,a=a+Math.imul(F,K)|0,n=n+Math.imul(D,$)|0,i=(i=i+Math.imul(D,tt)|0)+Math.imul(I,$)|0,a=a+Math.imul(I,tt)|0,n=n+Math.imul(L,rt)|0,i=(i=i+Math.imul(L,nt)|0)+Math.imul(C,rt)|0,a=a+Math.imul(C,nt)|0,n=n+Math.imul(T,at)|0,i=(i=i+Math.imul(T,ot)|0)+Math.imul(S,at)|0,a=a+Math.imul(S,ot)|0,n=n+Math.imul(M,lt)|0,i=(i=i+Math.imul(M,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,pt)|0)|0)+((8191&amp;(i=(i=i+Math.imul(v,mt)|0)+Math.imul(y,pt)|0))&lt;&lt;13)|0;c=((a=a+Math.imul(y,mt)|0)+(i&gt;&gt;&gt;13)|0)+(St&gt;&gt;&gt;26)|0,St&amp;=67108863,n=Math.imul(N,J),i=(i=Math.imul(N,K))+Math.imul(j,J)|0,a=Math.imul(j,K),n=n+Math.imul(O,$)|0,i=(i=i+Math.imul(O,tt)|0)+Math.imul(F,$)|0,a=a+Math.imul(F,tt)|0,n=n+Math.imul(D,rt)|0,i=(i=i+Math.imul(D,nt)|0)+Math.imul(I,rt)|0,a=a+Math.imul(I,nt)|0,n=n+Math.imul(L,at)|0,i=(i=i+Math.imul(L,ot)|0)+Math.imul(C,at)|0,a=a+Math.imul(C,ot)|0,n=n+Math.imul(T,lt)|0,i=(i=i+Math.imul(T,ct)|0)+Math.imul(S,lt)|0,a=a+Math.imul(S,ct)|0,n=n+Math.imul(M,ft)|0,i=(i=i+Math.imul(M,ht)|0)+Math.imul(k,ft)|0,a=a+Math.imul(k,ht)|0;var Et=(c+(n=n+Math.imul(b,pt)|0)|0)+((8191&amp;(i=(i=i+Math.imul(b,mt)|0)+Math.imul(_,pt)|0))&lt;&lt;13)|0;c=((a=a+Math.imul(_,mt)|0)+(i&gt;&gt;&gt;13)|0)+(Et&gt;&gt;&gt;26)|0,Et&amp;=67108863,n=Math.imul(N,$),i=(i=Math.imul(N,tt))+Math.imul(j,$)|0,a=Math.imul(j,tt),n=n+Math.imul(O,rt)|0,i=(i=i+Math.imul(O,nt)|0)+Math.imul(F,rt)|0,a=a+Math.imul(F,nt)|0,n=n+Math.imul(D,at)|0,i=(i=i+Math.imul(D,ot)|0)+Math.imul(I,at)|0,a=a+Math.imul(I,ot)|0,n=n+Math.imul(L,lt)|0,i=(i=i+Math.imul(L,ct)|0)+Math.imul(C,lt)|0,a=a+Math.imul(C,ct)|0,n=n+Math.imul(T,ft)|0,i=(i=i+Math.imul(T,ht)|0)+Math.imul(S,ft)|0,a=a+Math.imul(S,ht)|0;var Lt=(c+(n=n+Math.imul(M,pt)|0)|0)+((8191&amp;(i=(i=i+Math.imul(M,mt)|0)+Math.imul(k,pt)|0))&lt;&lt;13)|0;c=((a=a+Math.imul(k,mt)|0)+(i&gt;&gt;&gt;13)|0)+(Lt&gt;&gt;&gt;26)|0,Lt&amp;=67108863,n=Math.imul(N,rt),i=(i=Math.imul(N,nt))+Math.imul(j,rt)|0,a=Math.imul(j,nt),n=n+Math.imul(O,at)|0,i=(i=i+Math.imul(O,ot)|0)+Math.imul(F,at)|0,a=a+Math.imul(F,ot)|0,n=n+Math.imul(D,lt)|0,i=(i=i+Math.imul(D,ct)|0)+Math.imul(I,lt)|0,a=a+Math.imul(I,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(T,pt)|0)|0)+((8191&amp;(i=(i=i+Math.imul(T,mt)|0)+Math.imul(S,pt)|0))&lt;&lt;13)|0;c=((a=a+Math.imul(S,mt)|0)+(i&gt;&gt;&gt;13)|0)+(Ct&gt;&gt;&gt;26)|0,Ct&amp;=67108863,n=Math.imul(N,at),i=(i=Math.imul(N,ot))+Math.imul(j,at)|0,a=Math.imul(j,ot),n=n+Math.imul(O,lt)|0,i=(i=i+Math.imul(O,ct)|0)+Math.imul(F,lt)|0,a=a+Math.imul(F,ct)|0,n=n+Math.imul(D,ft)|0,i=(i=i+Math.imul(D,ht)|0)+Math.imul(I,ft)|0,a=a+Math.imul(I,ht)|0;var zt=(c+(n=n+Math.imul(L,pt)|0)|0)+((8191&amp;(i=(i=i+Math.imul(L,mt)|0)+Math.imul(C,pt)|0))&lt;&lt;13)|0;c=((a=a+Math.imul(C,mt)|0)+(i&gt;&gt;&gt;13)|0)+(zt&gt;&gt;&gt;26)|0,zt&amp;=67108863,n=Math.imul(N,lt),i=(i=Math.imul(N,ct))+Math.imul(j,lt)|0,a=Math.imul(j,ct),n=n+Math.imul(O,ft)|0,i=(i=i+Math.imul(O,ht)|0)+Math.imul(F,ft)|0,a=a+Math.imul(F,ht)|0;var Dt=(c+(n=n+Math.imul(D,pt)|0)|0)+((8191&amp;(i=(i=i+Math.imul(D,mt)|0)+Math.imul(I,pt)|0))&lt;&lt;13)|0;c=((a=a+Math.imul(I,mt)|0)+(i&gt;&gt;&gt;13)|0)+(Dt&gt;&gt;&gt;26)|0,Dt&amp;=67108863,n=Math.imul(N,ft),i=(i=Math.imul(N,ht))+Math.imul(j,ft)|0,a=Math.imul(j,ht);var It=(c+(n=n+Math.imul(O,pt)|0)|0)+((8191&amp;(i=(i=i+Math.imul(O,mt)|0)+Math.imul(F,pt)|0))&lt;&lt;13)|0;c=((a=a+Math.imul(F,mt)|0)+(i&gt;&gt;&gt;13)|0)+(It&gt;&gt;&gt;26)|0,It&amp;=67108863;var Pt=(c+(n=Math.imul(N,pt))|0)+((8191&amp;(i=(i=Math.imul(N,mt))+Math.imul(j,pt)|0))&lt;&lt;13)|0;return c=((a=Math.imul(j,mt))+(i&gt;&gt;&gt;13)|0)+(Pt&gt;&gt;&gt;26)|0,Pt&amp;=67108863,l[0]=gt,l[1]=vt,l[2]=yt,l[3]=xt,l[4]=bt,l[5]=_t,l[6]=wt,l[7]=Mt,l[8]=kt,l[9]=At,l[10]=Tt,l[11]=St,l[12]=Et,l[13]=Lt,l[14]=Ct,l[15]=zt,l[16]=Dt,l[17]=It,l[18]=Pt,0!==c&amp;&amp;(l[19]=c,r.length++),r};Math.imul||(w=l),a.prototype.mulTo=function(t,e){var r=this.length+t.length;return 10===this.length&amp;&amp;10===t.length?w(this,t,e):r&lt;63?l(this,t,e):r&lt;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&lt;r.length-1;a++){var o=i;i=0;for(var s=67108863&amp;n,l=Math.min(a,e.length-1),c=Math.max(0,a-t.length+1);c&lt;=l;c++){var u=a-c,f=(0|t.words[u])*(0|e.words[c]),h=67108863&amp;f;s=67108863&amp;(h=h+s|0),i+=(o=(o=o+(f/67108864|0)|0)+(h&gt;&gt;&gt;26)|0)&gt;&gt;&gt;26,o&amp;=67108863}r.words[a]=s,n=o,o=i}return 0!==n?r.words[a]=n:r.length--,r.strip()}(this,t,e):c(this,t,e)},u.prototype.makeRBT=function(t){for(var e=new Array(t),r=a.prototype._countBits(t)-1,n=0;n&lt;t;n++)e[n]=this.revBin(n,r,t);return e},u.prototype.revBin=function(t,e,r){if(0===t||t===r-1)return t;for(var n=0,i=0;i&lt;e;i++)n|=(1&amp;t)&lt;&lt;e-i-1,t&gt;&gt;=1;return n},u.prototype.permute=function(t,e,r,n,i,a){for(var o=0;o&lt;a;o++)n[o]=e[t[o]],i[o]=r[t[o]]},u.prototype.transform=function(t,e,r,n,i,a){this.permute(a,t,e,r,n,i);for(var o=1;o&lt;i;o&lt;&lt;=1)for(var s=o&lt;&lt;1,l=Math.cos(2*Math.PI/s),c=Math.sin(2*Math.PI/s),u=0;u&lt;i;u+=s)for(var f=l,h=c,d=0;d&lt;o;d++){var p=r[u+d],m=n[u+d],g=r[u+d+o],v=n[u+d+o],y=f*g-h*v;v=f*v+h*g,g=y,r[u+d]=p+g,n[u+d]=m+v,r[u+d+o]=p-g,n[u+d+o]=m-v,d!==s&amp;&amp;(y=l*f-c*h,h=l*h+c*f,f=y)}},u.prototype.guessLen13b=function(t,e){var r=1|Math.max(e,t),n=1&amp;r,i=0;for(r=r/2|0;r;r&gt;&gt;&gt;=1)i++;return 1&lt;&lt;i+1+n},u.prototype.conjugate=function(t,e,r){if(!(r&lt;=1))for(var n=0;n&lt;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}},u.prototype.normalize13b=function(t,e){for(var r=0,n=0;n&lt;e/2;n++){var i=8192*Math.round(t[2*n+1]/e)+Math.round(t[2*n]/e)+r;t[n]=67108863&amp;i,r=i&lt;67108864?0:i/67108864|0}return t},u.prototype.convert13b=function(t,e,r,i){for(var a=0,o=0;o&lt;e;o++)a+=0|t[o],r[2*o]=8191&amp;a,a&gt;&gt;&gt;=13,r[2*o+1]=8191&amp;a,a&gt;&gt;&gt;=13;for(o=2*e;o&lt;i;++o)r[o]=0;n(0===a),n(0==(-8192&amp;a))},u.prototype.stub=function(t){for(var e=new Array(t),r=0;r&lt;t;r++)e[r]=0;return e},u.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 d=0;d&lt;n;d++){var p=s[d]*u[d]-l[d]*f[d];l[d]=s[d]*f[d]+l[d]*u[d],s[d]=p}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),c(this,t,e)},a.prototype.imul=function(t){return this.clone().mulTo(t,this)},a.prototype.imuln=function(t){n(&quot;number&quot;==typeof t),n(t&lt;67108864);for(var e=0,r=0;r&lt;this.length;r++){var i=(0|this.words[r])*t,a=(67108863&amp;i)+(67108863&amp;e);e&gt;&gt;=26,e+=i/67108864|0,e+=a&gt;&gt;&gt;26,this.words[r]=67108863&amp;a}return 0!==e&amp;&amp;(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&lt;e.length;r++){var n=r/26|0,i=r%26;e[r]=(t.words[n]&amp;1&lt;&lt;i)&gt;&gt;&gt;i}return e}(t);if(0===e.length)return new a(1);for(var r=this,n=0;n&lt;e.length&amp;&amp;0===e[n];n++,r=r.sqr());if(++n&lt;e.length)for(var i=r.sqr();n&lt;e.length;n++,i=i.sqr())0!==e[n]&amp;&amp;(r=r.mul(i));return r},a.prototype.iushln=function(t){n(&quot;number&quot;==typeof t&amp;&amp;t&gt;=0);var e,r=t%26,i=(t-r)/26,a=67108863&gt;&gt;&gt;26-r&lt;&lt;26-r;if(0!==r){var o=0;for(e=0;e&lt;this.length;e++){var s=this.words[e]&amp;a,l=(0|this.words[e])-s&lt;&lt;r;this.words[e]=l|o,o=s&gt;&gt;&gt;26-r}o&amp;&amp;(this.words[e]=o,this.length++)}if(0!==i){for(e=this.length-1;e&gt;=0;e--)this.words[e+i]=this.words[e];for(e=0;e&lt;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){n(&quot;number&quot;==typeof t&amp;&amp;t&gt;=0);var i;i=e?(e-e%26)/26:0;var a=t%26,o=Math.min((t-a)/26,this.length),s=67108863^67108863&gt;&gt;&gt;a&lt;&lt;a,l=r;if(i-=o,i=Math.max(0,i),l){for(var c=0;c&lt;o;c++)l.words[c]=this.words[c];l.length=o}if(0===o);else if(this.length&gt;o)for(this.length-=o,c=0;c&lt;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&gt;=0&amp;&amp;(0!==u||c&gt;=i);c--){var f=0|this.words[c];this.words[c]=u&lt;&lt;26-a|f&gt;&gt;&gt;a,u=f&amp;s}return l&amp;&amp;0!==u&amp;&amp;(l.words[l.length++]=u),0===this.length&amp;&amp;(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(&quot;number&quot;==typeof t&amp;&amp;t&gt;=0);var e=t%26,r=(t-e)/26,i=1&lt;&lt;e;if(this.length&lt;=r)return!1;return!!(this.words[r]&amp;i)},a.prototype.imaskn=function(t){n(&quot;number&quot;==typeof t&amp;&amp;t&gt;=0);var e=t%26,r=(t-e)/26;if(n(0===this.negative,&quot;imaskn works only with positive numbers&quot;),this.length&lt;=r)return this;if(0!==e&amp;&amp;r++,this.length=Math.min(r,this.length),0!==e){var i=67108863^67108863&gt;&gt;&gt;e&lt;&lt;e;this.words[this.length-1]&amp;=i}return this.strip()},a.prototype.maskn=function(t){return this.clone().imaskn(t)},a.prototype.iaddn=function(t){return n(&quot;number&quot;==typeof t),n(t&lt;67108864),t&lt;0?this.isubn(-t):0!==this.negative?1===this.length&amp;&amp;(0|this.words[0])&lt;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&lt;this.length&amp;&amp;this.words[e]&gt;=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(&quot;number&quot;==typeof t),n(t&lt;67108864),t&lt;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&amp;&amp;this.words[0]&lt;0)this.words[0]=-this.words[0],this.negative=1;else for(var e=0;e&lt;this.length&amp;&amp;this.words[e]&lt;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=t.length+r;this._expand(a);var o,s=0;for(i=0;i&lt;t.length;i++){o=(0|this.words[i+r])+s;var l=(0|t.words[i])*e;s=((o-=67108863&amp;l)&gt;&gt;26)-(l/67108864|0),this.words[i+r]=67108863&amp;o}for(;i&lt;this.length-r;i++)s=(o=(0|this.words[i+r])+s)&gt;&gt;26,this.words[i+r]=67108863&amp;o;if(0===s)return this.strip();for(n(-1===s),s=0,i=0;i&lt;this.length;i++)s=(o=-(0|this.words[i])+s)&gt;&gt;26,this.words[i]=67108863&amp;o;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))&amp;&amp;(i=i.ushln(r),n.iushln(r),o=0|i.words[i.length-1]);var s,l=n.length-i.length;if(&quot;mod&quot;!==e){(s=new a(null)).length=l+1,s.words=new Array(s.length);for(var c=0;c&lt;s.length;c++)s.words[c]=0}var u=n.clone()._ishlnsubmul(i,1,l);0===u.negative&amp;&amp;(n=u,s&amp;&amp;(s.words[l]=1));for(var f=l-1;f&gt;=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&amp;&amp;(s.words[f]=h)}return s&amp;&amp;s.strip(),n.strip(),&quot;div&quot;!==e&amp;&amp;0!==r&amp;&amp;n.iushrn(r),{div:s||null,mod:n}},a.prototype.divmod=function(t,e,r){if(n(!t.isZero()),this.isZero())return{div:new a(0),mod:new a(0)};var i,o,s;return 0!==this.negative&amp;&amp;0===t.negative?(s=this.neg().divmod(t,e),&quot;mod&quot;!==e&amp;&amp;(i=s.div.neg()),&quot;div&quot;!==e&amp;&amp;(o=s.mod.neg(),r&amp;&amp;0!==o.negative&amp;&amp;o.iadd(t)),{div:i,mod:o}):0===this.negative&amp;&amp;0!==t.negative?(s=this.divmod(t.neg(),e),&quot;mod&quot;!==e&amp;&amp;(i=s.div.neg()),{div:i,mod:s.mod}):0!=(this.negative&amp;t.negative)?(s=this.neg().divmod(t.neg(),e),&quot;div&quot;!==e&amp;&amp;(o=s.mod.neg(),r&amp;&amp;0!==o.negative&amp;&amp;o.isub(t)),{div:s.div,mod:o}):t.length&gt;this.length||this.cmp(t)&lt;0?{div:new a(0),mod:this}:1===t.length?&quot;div&quot;===e?{div:this.divn(t.words[0]),mod:null}:&quot;mod&quot;===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)},a.prototype.div=function(t){return this.divmod(t,&quot;div&quot;,!1).div},a.prototype.mod=function(t){return this.divmod(t,&quot;mod&quot;,!1).mod},a.prototype.umod=function(t){return this.divmod(t,&quot;mod&quot;,!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&lt;0||1===i&amp;&amp;0===a?e.div:0!==e.div.negative?e.div.isubn(1):e.div.iaddn(1)},a.prototype.modn=function(t){n(t&lt;=67108863);for(var e=(1&lt;&lt;26)%t,r=0,i=this.length-1;i&gt;=0;i--)r=(e*r+(0|this.words[i]))%t;return r},a.prototype.idivn=function(t){n(t&lt;=67108863);for(var e=0,r=this.length-1;r&gt;=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()&amp;&amp;r.isEven();)e.iushrn(1),r.iushrn(1),++c;for(var u=r.clone(),f=e.clone();!e.isZero();){for(var h=0,d=1;0==(e.words[0]&amp;d)&amp;&amp;h&lt;26;++h,d&lt;&lt;=1);if(h&gt;0)for(e.iushrn(h);h-- &gt;0;)(i.isOdd()||o.isOdd())&amp;&amp;(i.iadd(u),o.isub(f)),i.iushrn(1),o.iushrn(1);for(var p=0,m=1;0==(r.words[0]&amp;m)&amp;&amp;p&lt;26;++p,m&lt;&lt;=1);if(p&gt;0)for(r.iushrn(p);p-- &gt;0;)(s.isOdd()||l.isOdd())&amp;&amp;(s.iadd(u),l.isub(f)),s.iushrn(1),l.iushrn(1);e.cmp(r)&gt;=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=new a(1),o=new a(0),s=r.clone();e.cmpn(1)&gt;0&amp;&amp;r.cmpn(1)&gt;0;){for(var l=0,c=1;0==(e.words[0]&amp;c)&amp;&amp;l&lt;26;++l,c&lt;&lt;=1);if(l&gt;0)for(e.iushrn(l);l-- &gt;0;)i.isOdd()&amp;&amp;i.iadd(s),i.iushrn(1);for(var u=0,f=1;0==(r.words[0]&amp;f)&amp;&amp;u&lt;26;++u,f&lt;&lt;=1);if(u&gt;0)for(r.iushrn(u);u-- &gt;0;)o.isOdd()&amp;&amp;o.iadd(s),o.iushrn(1);e.cmp(r)&gt;=0?(e.isub(r),i.isub(o)):(r.isub(e),o.isub(i))}var h;return(h=0===e.cmpn(1)?i:o).cmpn(0)&lt;0&amp;&amp;h.iadd(t),h},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()&amp;&amp;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&lt;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&amp;this.words[0])},a.prototype.isOdd=function(){return 1==(1&amp;this.words[0])},a.prototype.andln=function(t){return this.words[0]&amp;t},a.prototype.bincn=function(t){n(&quot;number&quot;==typeof t);var e=t%26,r=(t-e)/26,i=1&lt;&lt;e;if(this.length&lt;=r)return this._expand(r+1),this.words[r]|=i,this;for(var a=i,o=r;0!==a&amp;&amp;o&lt;this.length;o++){var s=0|this.words[o];a=(s+=a)&gt;&gt;&gt;26,s&amp;=67108863,this.words[o]=s}return 0!==a&amp;&amp;(this.words[o]=a,this.length++),this},a.prototype.isZero=function(){return 1===this.length&amp;&amp;0===this.words[0]},a.prototype.cmpn=function(t){var e=t&lt;0;if(0!==this.negative&amp;&amp;!e)return-1;if(0===this.negative&amp;&amp;e)return 1;this.strip();var r;if(this.length&gt;1)r=1;else{e&amp;&amp;(t=-t),n(t&lt;=67108863,&quot;Number is too big&quot;);var i=0|this.words[0];r=i===t?0:i&lt;t?-1:1}return 0!==this.negative?0|-r:r},a.prototype.cmp=function(t){if(0!==this.negative&amp;&amp;0===t.negative)return-1;if(0===this.negative&amp;&amp;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&gt;t.length)return 1;if(this.length&lt;t.length)return-1;for(var e=0,r=this.length-1;r&gt;=0;r--){var n=0|this.words[r],i=0|t.words[r];if(n!==i){n&lt;i?e=-1:n&gt;i&amp;&amp;(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)&gt;=0},a.prototype.gte=function(t){return this.cmp(t)&gt;=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)&lt;=0},a.prototype.lte=function(t){return this.cmp(t)&lt;=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 g(t)},a.prototype.toRed=function(t){return n(!this.red,&quot;Already a number in reduction context&quot;),n(0===this.negative,&quot;red works only with positives&quot;),t.convertTo(this)._forceRed(t)},a.prototype.fromRed=function(){return n(this.red,&quot;fromRed works only with numbers in reduction context&quot;),this.red.convertFrom(this)},a.prototype._forceRed=function(t){return this.red=t,this},a.prototype.forceRed=function(t){return n(!this.red,&quot;Already a number in reduction context&quot;),this._forceRed(t)},a.prototype.redAdd=function(t){return n(this.red,&quot;redAdd works only with red numbers&quot;),this.red.add(this,t)},a.prototype.redIAdd=function(t){return n(this.red,&quot;redIAdd works only with red numbers&quot;),this.red.iadd(this,t)},a.prototype.redSub=function(t){return n(this.red,&quot;redSub works only with red numbers&quot;),this.red.sub(this,t)},a.prototype.redISub=function(t){return n(this.red,&quot;redISub works only with red numbers&quot;),this.red.isub(this,t)},a.prototype.redShl=function(t){return n(this.red,&quot;redShl works only with red numbers&quot;),this.red.shl(this,t)},a.prototype.redMul=function(t){return n(this.red,&quot;redMul works only with red numbers&quot;),this.red._verify2(this,t),this.red.mul(this,t)},a.prototype.redIMul=function(t){return n(this.red,&quot;redMul works only with red numbers&quot;),this.red._verify2(this,t),this.red.imul(this,t)},a.prototype.redSqr=function(){return n(this.red,&quot;redSqr works only with red numbers&quot;),this.red._verify1(this),this.red.sqr(this)},a.prototype.redISqr=function(){return n(this.red,&quot;redISqr works only with red numbers&quot;),this.red._verify1(this),this.red.isqr(this)},a.prototype.redSqrt=function(){return n(this.red,&quot;redSqrt works only with red numbers&quot;),this.red._verify1(this),this.red.sqrt(this)},a.prototype.redInvm=function(){return n(this.red,&quot;redInvm works only with red numbers&quot;),this.red._verify1(this),this.red.invm(this)},a.prototype.redNeg=function(){return n(this.red,&quot;redNeg works only with red numbers&quot;),this.red._verify1(this),this.red.neg(this)},a.prototype.redPow=function(t){return n(this.red&amp;&amp;!t.red,&quot;redPow(normalNum)&quot;),this.red._verify1(this),this.red.pow(this,t)};var M={k256:null,p224:null,p192:null,p25519:null};f.prototype._tmp=function(){var t=new a(null);return t.words=new Array(Math.ceil(this.n/13)),t},f.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&gt;this.n);var n=e&lt;this.n?-1:r.ucmp(this.p);return 0===n?(r.words[0]=0,r.length=1):n&gt;0?r.isub(this.p):r.strip(),r},f.prototype.split=function(t,e){t.iushrn(this.n,0,e)},f.prototype.imulK=function(t){return t.imul(this.k)},i(h,f),h.prototype.split=function(t,e){for(var r=Math.min(t.length,9),n=0;n&lt;r;n++)e.words[n]=t.words[n];if(e.length=r,t.length&lt;=9)return t.words[0]=0,void(t.length=1);var i=t.words[9];for(e.words[e.length++]=4194303&amp;i,n=10;n&lt;t.length;n++){var a=0|t.words[n];t.words[n-10]=(4194303&amp;a)&lt;&lt;4|i&gt;&gt;&gt;22,i=a}i&gt;&gt;&gt;=22,t.words[n-10]=i,0===i&amp;&amp;t.length&gt;10?t.length-=10:t.length-=9},h.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&lt;t.length;r++){var n=0|t.words[r];e+=977*n,t.words[r]=67108863&amp;e,e=64*n+(e/67108864|0)}return 0===t.words[t.length-1]&amp;&amp;(t.length--,0===t.words[t.length-1]&amp;&amp;t.length--),t},i(d,f),i(p,f),i(m,f),m.prototype.imulK=function(t){for(var e=0,r=0;r&lt;t.length;r++){var n=19*(0|t.words[r])+e,i=67108863&amp;n;n&gt;&gt;&gt;=26,t.words[r]=i,e=n}return 0!==e&amp;&amp;(t.words[t.length++]=e),t},a._prime=function(t){if(M[t])return M[t];var e;if(&quot;k256&quot;===t)e=new h;else if(&quot;p224&quot;===t)e=new d;else if(&quot;p192&quot;===t)e=new p;else{if(&quot;p25519&quot;!==t)throw new Error(&quot;Unknown prime &quot;+t);e=new m}return M[t]=e,e},g.prototype._verify1=function(t){n(0===t.negative,&quot;red works only with positives&quot;),n(t.red,&quot;red works only with red numbers&quot;)},g.prototype._verify2=function(t,e){n(0==(t.negative|e.negative),&quot;red works only with positives&quot;),n(t.red&amp;&amp;t.red===e.red,&quot;red works only with red numbers&quot;)},g.prototype.imod=function(t){return this.prime?this.prime.ireduce(t)._forceRed(this):t.umod(this.m)._forceRed(this)},g.prototype.neg=function(t){return t.isZero()?t.clone():this.m.sub(t)._forceRed(this)},g.prototype.add=function(t,e){this._verify2(t,e);var r=t.add(e);return r.cmp(this.m)&gt;=0&amp;&amp;r.isub(this.m),r._forceRed(this)},g.prototype.iadd=function(t,e){this._verify2(t,e);var r=t.iadd(e);return r.cmp(this.m)&gt;=0&amp;&amp;r.isub(this.m),r},g.prototype.sub=function(t,e){this._verify2(t,e);var r=t.sub(e);return r.cmpn(0)&lt;0&amp;&amp;r.iadd(this.m),r._forceRed(this)},g.prototype.isub=function(t,e){this._verify2(t,e);var r=t.isub(e);return r.cmpn(0)&lt;0&amp;&amp;r.iadd(this.m),r},g.prototype.shl=function(t,e){return this._verify1(t),this.imod(t.ushln(e))},g.prototype.imul=function(t,e){return this._verify2(t,e),this.imod(t.imul(e))},g.prototype.mul=function(t,e){return this._verify2(t,e),this.imod(t.mul(e))},g.prototype.isqr=function(t){return this.imul(t,t.clone())},g.prototype.sqr=function(t){return this.mul(t,t)},g.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()&amp;&amp;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)),d=this.pow(t,i),p=o;0!==d.cmp(s);){for(var m=d,g=0;0!==m.cmp(s);g++)m=m.redSqr();n(g&lt;p);var v=this.pow(f,new a(1).iushln(p-g-1));h=h.redMul(v),f=v.redSqr(),d=d.redMul(f),p=g}return h},g.prototype.invm=function(t){var e=t._invmp(this.m);return 0!==e.negative?(e.negative=0,this.imod(e).redNeg()):this.imod(e)},g.prototype.pow=function(t,e){if(e.isZero())return new a(1);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&lt;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&amp;&amp;(l=26),n=e.length-1;n&gt;=0;n--){for(var c=e.words[n],u=l-1;u&gt;=0;u--){var f=c&gt;&gt;u&amp;1;i!==r[0]&amp;&amp;(i=this.sqr(i)),0!==f||0!==o?(o&lt;&lt;=1,o|=f,(4===++s||0===n&amp;&amp;0===u)&amp;&amp;(i=this.mul(i,r[o]),s=0,o=0)):s=0}l=26}return i},g.prototype.convertTo=function(t){var e=t.umod(this.m);return e===t?e.clone():e},g.prototype.convertFrom=function(t){var e=t.clone();return e.red=null,e},a.mont=function(t){return new v(t)},i(v,g),v.prototype.convertTo=function(t){return this.imod(t.ushln(this.shift))},v.prototype.convertFrom=function(t){var e=this.imod(t.mul(this.rinv));return e.red=null,e},v.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)&gt;=0?a=i.isub(this.m):i.cmpn(0)&lt;0&amp;&amp;(a=i.iadd(this.m)),a._forceRed(this)},v.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)&gt;=0?o=i.isub(this.m):i.cmpn(0)&lt;0&amp;&amp;(o=i.iadd(this.m)),o._forceRed(this)},v.prototype.invm=function(t){return this.imod(t._invmp(this.m).mul(this.r2))._forceRed(this)}}(void 0===e||e,this)},{}],74:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t){var e,r,n,i=t.length,a=0;for(e=0;e&lt;i;++e)a+=t[e].length;var o=new Array(a),s=0;for(e=0;e&lt;i;++e){var l=t[e],c=l.length;for(r=0;r&lt;c;++r){var u=o[s++]=new Array(c-1),f=0;for(n=0;n&lt;c;++n)n!==r&amp;&amp;(u[f++]=l[n]);if(1&amp;r){var h=u[1];u[1]=u[0],u[0]=h}}}return o}},{}],75:[function(t,e,r){&quot;use strict&quot;;function n(t,e){for(var r=0;r&lt;t;++r)if(!(e[r]&lt;=e[r+t]))return!0;return!1}function i(t,e,r,i){for(var a=0,o=0,s=0,l=t.length;s&lt;l;++s){var c=t[s];if(!n(e,c)){for(var u=0;u&lt;2*e;++u)r[a++]=c[u];i[o++]=s}}return o}function a(t,e,r,n){var a=t.length,o=e.length;if(!(a&lt;=0||o&lt;=0)){var s=t[0].length&gt;&gt;&gt;1;if(!(s&lt;=0)){var f,h=l.mallocDouble(2*s*a),d=l.mallocInt32(a);if((a=i(t,s,h,d))&gt;0){if(1===s&amp;&amp;n)c.init(a),f=c.sweepComplete(s,r,0,a,h,d,0,a,h,d);else{var p=l.mallocDouble(2*s*o),m=l.mallocInt32(o);(o=i(e,s,p,m))&gt;0&amp;&amp;(c.init(a+o),f=1===s?c.sweepBipartite(s,r,0,a,h,d,0,o,p,m):u(s,r,n,a,h,d,o,p,m),l.free(p),l.free(m))}l.free(h),l.free(d)}return f}}}function o(t,e){s.push([t,e])}e.exports=function(t,e,r){switch(arguments.length){case 1:return function(t){return s=[],a(t,t,o,!0),s}(t);case 2:return&quot;function&quot;==typeof e?a(t,t,e,!0):function(t,e){return s=[],a(t,e,o,!1),s}(t,e);case 3:return a(t,e,r,!1);default:throw new Error(&quot;box-intersect: Invalid arguments&quot;)}};var s,l=t(&quot;typedarray-pool&quot;),c=t(&quot;./lib/sweep&quot;),u=t(&quot;./lib/intersect&quot;)},{&quot;./lib/intersect&quot;:77,&quot;./lib/sweep&quot;:81,&quot;typedarray-pool&quot;:554}],76:[function(t,e,r){&quot;use strict&quot;;function n(t){function e(e,r){var s=function(t,e,r){var n=&quot;bruteForce&quot;+(t?&quot;Red&quot;:&quot;Blue&quot;)+(e?&quot;Flip&quot;:&quot;&quot;)+(r?&quot;Full&quot;:&quot;&quot;),s=[&quot;function &quot;,n,&quot;(&quot;,_.join(),&quot;){&quot;,&quot;var &quot;,l,&quot;=2*&quot;,i,&quot;;&quot;],w=&quot;for(var i=&quot;+c+&quot;,&quot;+d+&quot;=&quot;+l+&quot;*&quot;+c+&quot;;i&lt;&quot;+u+&quot;;++i,&quot;+d+&quot;+=&quot;+l+&quot;){var x0=&quot;+f+&quot;[&quot;+a+&quot;+&quot;+d+&quot;],x1=&quot;+f+&quot;[&quot;+a+&quot;+&quot;+d+&quot;+&quot;+i+&quot;],xi=&quot;+h+&quot;[i];&quot;,M=&quot;for(var j=&quot;+p+&quot;,&quot;+y+&quot;=&quot;+l+&quot;*&quot;+p+&quot;;j&lt;&quot;+m+&quot;;++j,&quot;+y+&quot;+=&quot;+l+&quot;){var y0=&quot;+g+&quot;[&quot;+a+&quot;+&quot;+y+&quot;],&quot;+(r?&quot;y1=&quot;+g+&quot;[&quot;+a+&quot;+&quot;+y+&quot;+&quot;+i+&quot;],&quot;:&quot;&quot;)+&quot;yi=&quot;+v+&quot;[j];&quot;;return t?s.push(w,b,&quot;:&quot;,M):s.push(M,b,&quot;:&quot;,w),r?s.push(&quot;if(y1&lt;x0||x1&lt;y0)continue;&quot;):e?s.push(&quot;if(y0&lt;=x0||x1&lt;y0)continue;&quot;):s.push(&quot;if(y0&lt;x0||x1&lt;y0)continue;&quot;),s.push(&quot;for(var k=&quot;+a+&quot;+1;k&lt;&quot;+i+&quot;;++k){var r0=&quot;+f+&quot;[k+&quot;+d+&quot;],r1=&quot;+f+&quot;[k+&quot;+i+&quot;+&quot;+d+&quot;],b0=&quot;+g+&quot;[k+&quot;+y+&quot;],b1=&quot;+g+&quot;[k+&quot;+i+&quot;+&quot;+y+&quot;];if(r1&lt;b0||b1&lt;r0)continue &quot;+b+&quot;;}var &quot;+x+&quot;=&quot;+o+&quot;(&quot;),e?s.push(&quot;yi,xi&quot;):s.push(&quot;xi,yi&quot;),s.push(&quot;);if(&quot;+x+&quot;!==void 0)return &quot;+x+&quot;;}}}&quot;),{name:n,code:s.join(&quot;&quot;)}}(e,r,t);n.push(s.code),M.push(&quot;return &quot;+s.name+&quot;(&quot;+_.join()+&quot;);&quot;)}var r=&quot;bruteForce&quot;+(t?&quot;Full&quot;:&quot;Partial&quot;),n=[],w=_.slice();t||w.splice(3,0,s);var M=[&quot;function &quot;+r+&quot;(&quot;+w.join()+&quot;){&quot;];M.push(&quot;if(&quot;+u+&quot;-&quot;+c+&quot;&gt;&quot;+m+&quot;-&quot;+p+&quot;){&quot;),t?(e(!0,!1),M.push(&quot;}else{&quot;),e(!1,!1)):(M.push(&quot;if(&quot;+s+&quot;){&quot;),e(!0,!0),M.push(&quot;}else{&quot;),e(!0,!1),M.push(&quot;}}else{if(&quot;+s+&quot;){&quot;),e(!1,!0),M.push(&quot;}else{&quot;),e(!1,!1),M.push(&quot;}&quot;)),M.push(&quot;}}return &quot;+r);var k=n.join(&quot;&quot;)+M.join(&quot;&quot;);return new Function(k)()}var i=&quot;d&quot;,a=&quot;ax&quot;,o=&quot;vv&quot;,s=&quot;fp&quot;,l=&quot;es&quot;,c=&quot;rs&quot;,u=&quot;re&quot;,f=&quot;rb&quot;,h=&quot;ri&quot;,d=&quot;rp&quot;,p=&quot;bs&quot;,m=&quot;be&quot;,g=&quot;bb&quot;,v=&quot;bi&quot;,y=&quot;bp&quot;,x=&quot;rv&quot;,b=&quot;Q&quot;,_=[i,a,o,c,u,f,h,p,m,g,v];r.partial=n(!1),r.full=n(!0)},{}],77:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,n,i,a,o,s,l){var c=M*t;A[c]=e,A[c+1]=r,A[c+2]=n,A[c+3]=i,A[c+4]=a,A[c+5]=o;var u=k*t;T[u]=s,T[u+1]=l}function i(t,e,r,n,i,a,o,s,l,c,u){var f=2*t,h=l*f,d=c[h+e];t:for(var p=i,m=i*f;p&lt;a;++p,m+=f){var g=o[m+e],v=o[m+e+t];if(!(d&lt;g||v&lt;d)&amp;&amp;(!n||d!==g)){for(var y=s[p],x=e+1;x&lt;t;++x){g=o[m+x],v=o[m+x+t];var b=c[h+x],_=c[h+x+t];if(v&lt;b||_&lt;g)continue t}var w;if(void 0!==(w=n?r(u,y):r(y,u)))return w}}}function a(t,e,r,n,i,a,o,s,l,c){var u=2*t,f=s*u,h=l[f+e];t:for(var d=n,p=n*u;d&lt;i;++d,p+=u){var m=o[d];if(m!==c){var g=a[p+e],v=a[p+e+t];if(!(h&lt;g||v&lt;h)){for(var y=e+1;y&lt;t;++y){g=a[p+y],v=a[p+y+t];var x=l[f+y],b=l[f+y+t];if(v&lt;x||b&lt;g)continue t}var _=r(m,c);if(void 0!==_)return _}}}}e.exports=function(t,e,r,l,d,S,E,L,C){!function(t,e){var r=8*s.log2(e+1)*(t+1)|0,n=s.nextPow2(M*r);A.length&lt;n&amp;&amp;(o.free(A),A=o.mallocInt32(n));var i=s.nextPow2(k*r);T&lt;i&amp;&amp;(o.free(T),T=o.mallocDouble(i))}(t,l+E);var z,D=0,I=2*t;for(n(D++,0,0,l,0,E,r?16:0,-1/0,1/0),r||n(D++,0,0,E,0,l,1,-1/0,1/0);D&gt;0;){var P=(D-=1)*M,O=A[P],F=A[P+1],R=A[P+2],N=A[P+3],j=A[P+4],B=A[P+5],U=D*k,V=T[U],q=T[U+1],H=1&amp;B,G=!!(16&amp;B),Y=d,W=S,X=L,Z=C;if(H&amp;&amp;(Y=L,W=C,X=d,Z=S),!(2&amp;B&amp;&amp;(R=x(t,O,F,R,Y,W,q),F&gt;=R)||4&amp;B&amp;&amp;(F=b(t,O,F,R,Y,W,V))&gt;=R)){var J=R-F,K=j-N;if(G){if(t*J*(J+K)&lt;g){if(void 0!==(z=f.scanComplete(t,O,e,F,R,Y,W,N,j,X,Z)))return z;continue}}else{if(t*Math.min(J,K)&lt;p){if(void 0!==(z=c(t,O,e,H,F,R,Y,W,N,j,X,Z)))return z;continue}if(t*J*K&lt;m){if(void 0!==(z=f.scanBipartite(t,O,e,H,F,R,Y,W,N,j,X,Z)))return z;continue}}var Q=v(t,O,F,R,Y,W,V,q);if(F&lt;Q)if(t*(Q-F)&lt;p){if(void 0!==(z=u(t,O+1,e,F,Q,Y,W,N,j,X,Z)))return z}else if(O===t-2){if(void 0!==(z=H?f.sweepBipartite(t,e,N,j,X,Z,F,Q,Y,W):f.sweepBipartite(t,e,F,Q,Y,W,N,j,X,Z)))return z}else n(D++,O+1,F,Q,N,j,H,-1/0,1/0),n(D++,O+1,N,j,F,Q,1^H,-1/0,1/0);if(Q&lt;R){var $=h(t,O,N,j,X,Z),tt=X[I*$+O],et=y(t,O,$,j,X,Z,tt);if(et&lt;j&amp;&amp;n(D++,O,Q,R,et,j,(4|H)+(G?16:0),tt,q),N&lt;$&amp;&amp;n(D++,O,Q,R,N,$,(2|H)+(G?16:0),V,tt),$+1===et){if(void 0!==(z=G?a(t,O,e,Q,R,Y,W,$,X,Z[$]):i(t,O,e,H,Q,R,Y,W,$,X,Z[$])))return z}else if($&lt;et){var rt;if(G){if(rt=_(t,O,Q,R,Y,W,tt),Q&lt;rt){var nt=y(t,O,Q,rt,Y,W,tt);if(O===t-2){if(Q&lt;nt&amp;&amp;void 0!==(z=f.sweepComplete(t,e,Q,nt,Y,W,$,et,X,Z)))return z;if(nt&lt;rt&amp;&amp;void 0!==(z=f.sweepBipartite(t,e,nt,rt,Y,W,$,et,X,Z)))return z}else Q&lt;nt&amp;&amp;n(D++,O+1,Q,nt,$,et,16,-1/0,1/0),nt&lt;rt&amp;&amp;(n(D++,O+1,nt,rt,$,et,0,-1/0,1/0),n(D++,O+1,$,et,nt,rt,1,-1/0,1/0))}}else Q&lt;(rt=H?w(t,O,Q,R,Y,W,tt):_(t,O,Q,R,Y,W,tt))&amp;&amp;(O===t-2?z=H?f.sweepBipartite(t,e,$,et,X,Z,Q,rt,Y,W):f.sweepBipartite(t,e,Q,rt,Y,W,$,et,X,Z):(n(D++,O+1,Q,rt,$,et,H,-1/0,1/0),n(D++,O+1,$,et,Q,rt,1^H,-1/0,1/0)))}}}}};var o=t(&quot;typedarray-pool&quot;),s=t(&quot;bit-twiddle&quot;),l=t(&quot;./brute&quot;),c=l.partial,u=l.full,f=t(&quot;./sweep&quot;),h=t(&quot;./median&quot;),d=t(&quot;./partition&quot;),p=128,m=1&lt;&lt;22,g=1&lt;&lt;22,v=d(&quot;!(lo&gt;=p0)&amp;&amp;!(p1&gt;=hi)&quot;,[&quot;p0&quot;,&quot;p1&quot;]),y=d(&quot;lo===p0&quot;,[&quot;p0&quot;]),x=d(&quot;lo&lt;p0&quot;,[&quot;p0&quot;]),b=d(&quot;hi&lt;=p0&quot;,[&quot;p0&quot;]),_=d(&quot;lo&lt;=p0&amp;&amp;p0&lt;=hi&quot;,[&quot;p0&quot;]),w=d(&quot;lo&lt;p0&amp;&amp;p0&lt;=hi&quot;,[&quot;p0&quot;]),M=6,k=2,A=o.mallocInt32(1024),T=o.mallocDouble(1024)},{&quot;./brute&quot;:76,&quot;./median&quot;:78,&quot;./partition&quot;:79,&quot;./sweep&quot;:81,&quot;bit-twiddle&quot;:71,&quot;typedarray-pool&quot;:554}],78:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,n,i,a){for(var o=2*t,s=o*(r+1)+e,l=r+1;l&lt;n;++l,s+=o)for(var c=i[s],u=l,f=o*(l-1);u&gt;r&amp;&amp;i[f+e]&gt;c;--u,f-=o){for(var h=f,d=f+o,p=0;p&lt;o;++p,++h,++d){var m=i[h];i[h]=i[d],i[d]=m}var g=a[u];a[u]=a[u-1],a[u-1]=g}}e.exports=function(t,e,r,o,s,l){if(o&lt;=r+1)return r;for(var c=r,u=o,f=o+r&gt;&gt;&gt;1,h=2*t,d=f,p=s[h*f+e];c&lt;u;){if(u-c&lt;a){n(t,e,c,u,s,l),p=s[h*f+e];break}var m=u-c,g=Math.random()*m+c|0,v=s[h*g+e],y=Math.random()*m+c|0,x=s[h*y+e],b=Math.random()*m+c|0,_=s[h*b+e];v&lt;=x?_&gt;=x?(d=y,p=x):v&gt;=_?(d=g,p=v):(d=b,p=_):x&gt;=_?(d=y,p=x):_&gt;=v?(d=g,p=v):(d=b,p=_);for(var w=h*(u-1),M=h*d,k=0;k&lt;h;++k,++w,++M){var A=s[w];s[w]=s[M],s[M]=A}var T=l[u-1];for(l[u-1]=l[d],l[d]=T,w=h*(u-1),M=h*(d=i(t,e,c,u-1,s,l,p)),k=0;k&lt;h;++k,++w,++M)A=s[w],s[w]=s[M],s[M]=A;if(T=l[u-1],l[u-1]=l[d],l[d]=T,f&lt;d){for(u=d-1;c&lt;u&amp;&amp;s[h*(u-1)+e]===p;)u-=1;u+=1}else{if(!(d&lt;f))break;for(c=d+1;c&lt;u&amp;&amp;s[h*c+e]===p;)c+=1}}return i(t,e,r,f,s,l,s[h*f+e])};var i=t(&quot;./partition&quot;)(&quot;lo&lt;p0&quot;,[&quot;p0&quot;]),a=8},{&quot;./partition&quot;:79}],79:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t,e){var r=&quot;abcdef&quot;.split(&quot;&quot;).concat(e),i=[];return t.indexOf(&quot;lo&quot;)&gt;=0&amp;&amp;i.push(&quot;lo=e[k+n]&quot;),t.indexOf(&quot;hi&quot;)&gt;=0&amp;&amp;i.push(&quot;hi=e[k+o]&quot;),r.push(n.replace(&quot;_&quot;,i.join()).replace(&quot;$&quot;,t)),Function.apply(void 0,r)};var n=&quot;for(var j=2*a,k=j*c,l=k,m=c,n=b,o=a+b,p=c;d&gt;p;++p,k+=j){var _;if($)if(m===p)m+=1,l+=j;else{for(var s=0;j&gt;s;++s){var t=e[k+s];e[k+s]=e[l],e[l++]=t}var u=f[p];f[p]=f[m],f[m++]=u}}return m&quot;},{}],80:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r){for(var n=2*(t+1),i=t+1;i&lt;=e;++i){for(var a=r[n++],o=r[n++],s=i,l=n-2;s-- &gt;t;){var c=r[l-2],u=r[l-1];if(c&lt;a)break;if(c===a&amp;&amp;u&lt;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&lt;i)&amp;&amp;(n!==i||r[t+1]&gt;r[e+1])}function c(t,e,r,n){var i=n[t*=2];return i&lt;e||i===e&amp;&amp;n[t+1]&lt;r}function u(t,e,r){var h=(e-t+1)/6|0,d=t+h,p=e-h,m=t+e&gt;&gt;1,g=m-h,v=m+h,y=d,x=g,b=m,_=v,w=p,M=t+1,k=e-1,A=0;l(y,x,r)&amp;&amp;(A=y,y=x,x=A),l(_,w,r)&amp;&amp;(A=_,_=w,w=A),l(y,b,r)&amp;&amp;(A=y,y=b,b=A),l(x,b,r)&amp;&amp;(A=x,x=b,b=A),l(y,_,r)&amp;&amp;(A=y,y=_,_=A),l(b,_,r)&amp;&amp;(A=b,b=_,_=A),l(x,w,r)&amp;&amp;(A=x,x=w,w=A),l(x,b,r)&amp;&amp;(A=x,x=b,b=A),l(_,w,r)&amp;&amp;(A=_,_=w,w=A);for(var T=r[2*x],S=r[2*x+1],E=r[2*_],L=r[2*_+1],C=2*y,z=2*b,D=2*w,I=2*d,P=2*m,O=2*p,F=0;F&lt;2;++F){var R=r[C+F],N=r[z+F],j=r[D+F];r[I+F]=R,r[P+F]=N,r[O+F]=j}a(g,t,r),a(v,e,r);for(var B=M;B&lt;=k;++B)if(c(B,T,S,r))B!==M&amp;&amp;i(B,M,r),++M;else if(!c(B,E,L,r))for(;;){if(c(k,E,L,r)){c(k,T,S,r)?(o(B,M,k,r),++M,--k):(i(B,k,r),--k);break}if(--k&lt;B)break}s(t,M-1,T,S,r),s(e,k+1,E,L,r),M-2-t&lt;=f?n(t,M-2,r):u(t,M-2,r),e-(k+2)&lt;=f?n(k+2,e,r):u(k+2,e,r),k-M&lt;=f?n(M,k,r):u(M,k,r)}e.exports=function(t,e){e&lt;=4*f?n(0,e-1,t):u(0,e-1,t)};var f=32},{}],81:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,n){var i=e[n],a=t[r-1];t[i]=a,e[a]=i}function i(t,e,r,n){t[r]=n,e[n]=r}e.exports={init:function(t){var e=o.nextPow2(t);c.length&lt;e&amp;&amp;(a.free(c),c=a.mallocInt32(e)),u.length&lt;e&amp;&amp;(a.free(u),u=a.mallocInt32(e)),f.length&lt;e&amp;&amp;(a.free(f),f=a.mallocInt32(e)),h.length&lt;e&amp;&amp;(a.free(h),h=a.mallocInt32(e)),d.length&lt;e&amp;&amp;(a.free(d),d=a.mallocInt32(e)),p.length&lt;e&amp;&amp;(a.free(p),p=a.mallocInt32(e));var r=8*e;m.length&lt;r&amp;&amp;(a.free(m),m=a.mallocDouble(r))},sweepBipartite:function(t,e,r,a,o,d,p,g,v,y){for(var x=0,b=2*t,_=t-1,w=b-1,M=r;M&lt;a;++M){var k=d[M],A=b*M;m[x++]=o[A+_],m[x++]=-(k+1),m[x++]=o[A+w],m[x++]=k}for(M=p;M&lt;g;++M){k=y[M]+l;var T=b*M;m[x++]=v[T+_],m[x++]=-k,m[x++]=v[T+w],m[x++]=k}var S=x&gt;&gt;&gt;1;s(m,S);var E=0,L=0;for(M=0;M&lt;S;++M){var C=0|m[2*M+1];if(C&gt;=l)n(f,h,L--,C=C-l|0);else if(C&gt;=0)n(c,u,E--,C);else if(C&lt;=-l){C=-C-l|0;for(var z=0;z&lt;E;++z)if(void 0!==(D=e(c[z],C)))return D;i(f,h,L++,C)}else{for(C=-C-1|0,z=0;z&lt;L;++z){var D;if(void 0!==(D=e(C,f[z])))return D}i(c,u,E++,C)}}},sweepComplete:function(t,e,r,a,o,l,g,v,y,x){for(var b=0,_=2*t,w=t-1,M=_-1,k=r;k&lt;a;++k){var A=l[k]+1&lt;&lt;1,T=_*k;m[b++]=o[T+w],m[b++]=-A,m[b++]=o[T+M],m[b++]=A}for(k=g;k&lt;v;++k){A=x[k]+1&lt;&lt;1;var S=_*k;m[b++]=y[S+w],m[b++]=1|-A,m[b++]=y[S+M],m[b++]=1|A}var E=b&gt;&gt;&gt;1;s(m,E);var L=0,C=0,z=0;for(k=0;k&lt;E;++k){var D=0|m[2*k+1],I=1&amp;D;if(k&lt;E-1&amp;&amp;D&gt;&gt;1==m[2*k+3]&gt;&gt;1&amp;&amp;(I=2,k+=1),D&lt;0){for(var P=-(D&gt;&gt;1)-1,O=0;O&lt;z;++O)if(void 0!==(F=e(d[O],P)))return F;if(0!==I)for(O=0;O&lt;L;++O)if(void 0!==(F=e(c[O],P)))return F;if(1!==I)for(O=0;O&lt;C;++O){var F;if(void 0!==(F=e(f[O],P)))return F}0===I?i(c,u,L++,P):1===I?i(f,h,C++,P):2===I&amp;&amp;i(d,p,z++,P)}else P=(D&gt;&gt;1)-1,0===I?n(c,u,L--,P):1===I?n(f,h,C--,P):2===I&amp;&amp;n(d,p,z--,P)}},scanBipartite:function(t,e,r,a,o,f,h,d,p,g,v,y){var x=0,b=2*t,_=e,w=e+t,M=1,k=1;a?k=l:M=l;for(var A=o;A&lt;f;++A){var T=A+M,S=b*A;m[x++]=h[S+_],m[x++]=-T,m[x++]=h[S+w],m[x++]=T}for(A=p;A&lt;g;++A){T=A+k;var E=b*A;m[x++]=v[E+_],m[x++]=-T}var L=x&gt;&gt;&gt;1;s(m,L);var C=0;for(A=0;A&lt;L;++A){var z=0|m[2*A+1];if(z&lt;0){var D=!1;if((T=-z)&gt;=l?(D=!a,T-=l):(D=!!a,T-=1),D)i(c,u,C++,T);else{var I=y[T],P=b*T,O=v[P+e+1],F=v[P+e+1+t];t:for(var R=0;R&lt;C;++R){var N=c[R],j=b*N;if(!(F&lt;h[j+e+1]||h[j+e+1+t]&lt;O)){for(var B=e+2;B&lt;t;++B)if(v[P+B+t]&lt;h[j+B]||h[j+B+t]&lt;v[P+B])continue t;var U,V=d[N];if(void 0!==(U=a?r(I,V):r(V,I)))return U}}}}else n(c,u,C--,z-M)}},scanComplete:function(t,e,r,n,i,a,o,u,f,h,d){for(var p=0,g=2*t,v=e,y=e+t,x=n;x&lt;i;++x){var b=x+l,_=g*x;m[p++]=a[_+v],m[p++]=-b,m[p++]=a[_+y],m[p++]=b}for(x=u;x&lt;f;++x){b=x+1;var w=g*x;m[p++]=h[w+v],m[p++]=-b}var M=p&gt;&gt;&gt;1;s(m,M);var k=0;for(x=0;x&lt;M;++x){var A=0|m[2*x+1];if(A&lt;0)if((b=-A)&gt;=l)c[k++]=b-l;else{var T=d[b-=1],S=g*b,E=h[S+e+1],L=h[S+e+1+t];t:for(var C=0;C&lt;k;++C){var z=c[C],D=o[z];if(D===T)break;var I=g*z;if(!(L&lt;a[I+e+1]||a[I+e+1+t]&lt;E)){for(var P=e+2;P&lt;t;++P)if(h[S+P+t]&lt;a[I+P]||a[I+P+t]&lt;h[S+P])continue t;var O=r(D,T);if(void 0!==O)return O}}}else{for(b=A-l,C=k-1;C&gt;=0;--C)if(c[C]===b){for(P=C+1;P&lt;k;++P)c[P-1]=c[P];break}--k}}}};var a=t(&quot;typedarray-pool&quot;),o=t(&quot;bit-twiddle&quot;),s=t(&quot;./sort&quot;),l=1&lt;&lt;28,c=a.mallocInt32(1024),u=a.mallocInt32(1024),f=a.mallocInt32(1024),h=a.mallocInt32(1024),d=a.mallocInt32(1024),p=a.mallocInt32(1024),m=a.mallocDouble(8192)},{&quot;./sort&quot;:80,&quot;bit-twiddle&quot;:71,&quot;typedarray-pool&quot;:554}],82:[function(t,e,r){&quot;use strict&quot;;function n(t){if(t&gt;P)throw new RangeError(&quot;Invalid typed array length&quot;);var e=new Uint8Array(t);return e.__proto__=i.prototype,e}function i(t,e,r){if(&quot;number&quot;==typeof t){if(&quot;string&quot;==typeof e)throw new Error(&quot;If encoding is specified then the first argument must be a string&quot;);return s(t)}return a(t,e,r)}function a(t,e,r){if(&quot;number&quot;==typeof t)throw new TypeError('&quot;value&quot; argument must not be a number');return t instanceof ArrayBuffer?function(t,e,r){if(e&lt;0||t.byteLength&lt;e)throw new RangeError(&quot;'offset' is out of bounds&quot;);if(t.byteLength&lt;e+(r||0))throw new RangeError(&quot;'length' is out of bounds&quot;);var n;n=void 0===e&amp;&amp;void 0===r?new Uint8Array(t):void 0===r?new Uint8Array(t,e):new Uint8Array(t,e,r);return n.__proto__=i.prototype,n}(t,e,r):&quot;string&quot;==typeof t?function(t,e){&quot;string&quot;==typeof e&amp;&amp;&quot;&quot;!==e||(e=&quot;utf8&quot;);if(!i.isEncoding(e))throw new TypeError('&quot;encoding&quot; must be a valid string encoding');var r=0|u(t,e),a=n(r),o=a.write(t,e);o!==r&amp;&amp;(a=a.slice(0,o));return a}(t,e):function(t){if(i.isBuffer(t)){var e=0|c(t.length),r=n(e);return 0===r.length?r:(t.copy(r,0,0,e),r)}if(t){if(C(t)||&quot;length&quot;in t)return&quot;number&quot;!=typeof t.length||z(t.length)?n(0):l(t);if(&quot;Buffer&quot;===t.type&amp;&amp;Array.isArray(t.data))return l(t.data)}throw new TypeError(&quot;First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.&quot;)}(t)}function o(t){if(&quot;number&quot;!=typeof t)throw new TypeError('&quot;size&quot; argument must be a number');if(t&lt;0)throw new RangeError('&quot;size&quot; argument must not be negative')}function s(t){return o(t),n(t&lt;0?0:0|c(t))}function l(t){for(var e=t.length&lt;0?0:0|c(t.length),r=n(e),i=0;i&lt;e;i+=1)r[i]=255&amp;t[i];return r}function c(t){if(t&gt;=P)throw new RangeError(&quot;Attempt to allocate Buffer larger than maximum size: 0x&quot;+P.toString(16)+&quot; bytes&quot;);return 0|t}function u(t,e){if(i.isBuffer(t))return t.length;if(C(t)||t instanceof ArrayBuffer)return t.byteLength;&quot;string&quot;!=typeof t&amp;&amp;(t=&quot;&quot;+t);var r=t.length;if(0===r)return 0;for(var n=!1;;)switch(e){case&quot;ascii&quot;:case&quot;latin1&quot;:case&quot;binary&quot;:return r;case&quot;utf8&quot;:case&quot;utf-8&quot;:case void 0:return S(t).length;case&quot;ucs2&quot;:case&quot;ucs-2&quot;:case&quot;utf16le&quot;:case&quot;utf-16le&quot;:return 2*r;case&quot;hex&quot;:return r&gt;&gt;&gt;1;case&quot;base64&quot;:return E(t).length;default:if(n)return S(t).length;e=(&quot;&quot;+e).toLowerCase(),n=!0}}function f(t,e,r){var n=!1;if((void 0===e||e&lt;0)&amp;&amp;(e=0),e&gt;this.length)return&quot;&quot;;if((void 0===r||r&gt;this.length)&amp;&amp;(r=this.length),r&lt;=0)return&quot;&quot;;if(r&gt;&gt;&gt;=0,e&gt;&gt;&gt;=0,r&lt;=e)return&quot;&quot;;for(t||(t=&quot;utf8&quot;);;)switch(t){case&quot;hex&quot;:return function(t,e,r){var n=t.length;(!e||e&lt;0)&amp;&amp;(e=0);(!r||r&lt;0||r&gt;n)&amp;&amp;(r=n);for(var i=&quot;&quot;,a=e;a&lt;r;++a)i+=function(t){return t&lt;16?&quot;0&quot;+t.toString(16):t.toString(16)}(t[a]);return i}(this,e,r);case&quot;utf8&quot;:case&quot;utf-8&quot;:return _(this,e,r);case&quot;ascii&quot;:return function(t,e,r){var n=&quot;&quot;;r=Math.min(t.length,r);for(var i=e;i&lt;r;++i)n+=String.fromCharCode(127&amp;t[i]);return n}(this,e,r);case&quot;latin1&quot;:case&quot;binary&quot;:return function(t,e,r){var n=&quot;&quot;;r=Math.min(t.length,r);for(var i=e;i&lt;r;++i)n+=String.fromCharCode(t[i]);return n}(this,e,r);case&quot;base64&quot;:return function(t,e,r){return 0===e&amp;&amp;r===t.length?D.fromByteArray(t):D.fromByteArray(t.slice(e,r))}(this,e,r);case&quot;ucs2&quot;:case&quot;ucs-2&quot;:case&quot;utf16le&quot;:case&quot;utf-16le&quot;:return function(t,e,r){for(var n=t.slice(e,r),i=&quot;&quot;,a=0;a&lt;n.length;a+=2)i+=String.fromCharCode(n[a]+256*n[a+1]);return i}(this,e,r);default:if(n)throw new TypeError(&quot;Unknown encoding: &quot;+t);t=(t+&quot;&quot;).toLowerCase(),n=!0}}function h(t,e,r){var n=t[e];t[e]=t[r],t[r]=n}function d(t,e,r,n,a){if(0===t.length)return-1;if(&quot;string&quot;==typeof r?(n=r,r=0):r&gt;2147483647?r=2147483647:r&lt;-2147483648&amp;&amp;(r=-2147483648),r=+r,z(r)&amp;&amp;(r=a?0:t.length-1),r&lt;0&amp;&amp;(r=t.length+r),r&gt;=t.length){if(a)return-1;r=t.length-1}else if(r&lt;0){if(!a)return-1;r=0}if(&quot;string&quot;==typeof e&amp;&amp;(e=i.from(e,n)),i.isBuffer(e))return 0===e.length?-1:p(t,e,r,n,a);if(&quot;number&quot;==typeof e)return e&amp;=255,&quot;function&quot;==typeof Uint8Array.prototype.indexOf?a?Uint8Array.prototype.indexOf.call(t,e,r):Uint8Array.prototype.lastIndexOf.call(t,e,r):p(t,[e],r,n,a);throw new TypeError(&quot;val must be string, number or Buffer&quot;)}function p(t,e,r,n,i){function a(t,e){return 1===o?t[e]:t.readUInt16BE(e*o)}var o=1,s=t.length,l=e.length;if(void 0!==n&amp;&amp;(&quot;ucs2&quot;===(n=String(n).toLowerCase())||&quot;ucs-2&quot;===n||&quot;utf16le&quot;===n||&quot;utf-16le&quot;===n)){if(t.length&lt;2||e.length&lt;2)return-1;o=2,s/=2,l/=2,r/=2}var c;if(i){var u=-1;for(c=r;c&lt;s;c++)if(a(t,c)===a(e,-1===u?0:c-u)){if(-1===u&amp;&amp;(u=c),c-u+1===l)return u*o}else-1!==u&amp;&amp;(c-=c-u),u=-1}else for(r+l&gt;s&amp;&amp;(r=s-l),c=r;c&gt;=0;c--){for(var f=!0,h=0;h&lt;l;h++)if(a(t,c+h)!==a(e,h)){f=!1;break}if(f)return c}return-1}function m(t,e,r,n){r=Number(r)||0;var i=t.length-r;n?(n=Number(n))&gt;i&amp;&amp;(n=i):n=i;var a=e.length;if(a%2!=0)throw new TypeError(&quot;Invalid hex string&quot;);n&gt;a/2&amp;&amp;(n=a/2);for(var o=0;o&lt;n;++o){var s=parseInt(e.substr(2*o,2),16);if(z(s))return o;t[r+o]=s}return o}function g(t,e,r,n){return L(S(e,t.length-r),t,r,n)}function v(t,e,r,n){return L(function(t){for(var e=[],r=0;r&lt;t.length;++r)e.push(255&amp;t.charCodeAt(r));return e}(e),t,r,n)}function y(t,e,r,n){return v(t,e,r,n)}function x(t,e,r,n){return L(E(e),t,r,n)}function b(t,e,r,n){return L(function(t,e){for(var r,n,i,a=[],o=0;o&lt;t.length&amp;&amp;!((e-=2)&lt;0);++o)r=t.charCodeAt(o),n=r&gt;&gt;8,i=r%256,a.push(i),a.push(n);return a}(e,t.length-r),t,r,n)}function _(t,e,r){r=Math.min(t.length,r);for(var n=[],i=e;i&lt;r;){var a=t[i],o=null,s=a&gt;239?4:a&gt;223?3:a&gt;191?2:1;if(i+s&lt;=r){var l,c,u,f;switch(s){case 1:a&lt;128&amp;&amp;(o=a);break;case 2:128==(192&amp;(l=t[i+1]))&amp;&amp;(f=(31&amp;a)&lt;&lt;6|63&amp;l)&gt;127&amp;&amp;(o=f);break;case 3:l=t[i+1],c=t[i+2],128==(192&amp;l)&amp;&amp;128==(192&amp;c)&amp;&amp;(f=(15&amp;a)&lt;&lt;12|(63&amp;l)&lt;&lt;6|63&amp;c)&gt;2047&amp;&amp;(f&lt;55296||f&gt;57343)&amp;&amp;(o=f);break;case 4:l=t[i+1],c=t[i+2],u=t[i+3],128==(192&amp;l)&amp;&amp;128==(192&amp;c)&amp;&amp;128==(192&amp;u)&amp;&amp;(f=(15&amp;a)&lt;&lt;18|(63&amp;l)&lt;&lt;12|(63&amp;c)&lt;&lt;6|63&amp;u)&gt;65535&amp;&amp;f&lt;1114112&amp;&amp;(o=f)}}null===o?(o=65533,s=1):o&gt;65535&amp;&amp;(o-=65536,n.push(o&gt;&gt;&gt;10&amp;1023|55296),o=56320|1023&amp;o),n.push(o),i+=s}return function(t){var e=t.length;if(e&lt;=O)return String.fromCharCode.apply(String,t);var r=&quot;&quot;,n=0;for(;n&lt;e;)r+=String.fromCharCode.apply(String,t.slice(n,n+=O));return r}(n)}function w(t,e,r){if(t%1!=0||t&lt;0)throw new RangeError(&quot;offset is not uint&quot;);if(t+e&gt;r)throw new RangeError(&quot;Trying to access beyond buffer length&quot;)}function M(t,e,r,n,a,o){if(!i.isBuffer(t))throw new TypeError('&quot;buffer&quot; argument must be a Buffer instance');if(e&gt;a||e&lt;o)throw new RangeError('&quot;value&quot; argument is out of bounds');if(r+n&gt;t.length)throw new RangeError(&quot;Index out of range&quot;)}function k(t,e,r,n,i,a){if(r+n&gt;t.length)throw new RangeError(&quot;Index out of range&quot;);if(r&lt;0)throw new RangeError(&quot;Index out of range&quot;)}function A(t,e,r,n,i){return e=+e,r&gt;&gt;&gt;=0,i||k(t,0,r,4),I.write(t,e,r,n,23,4),r+4}function T(t,e,r,n,i){return e=+e,r&gt;&gt;&gt;=0,i||k(t,0,r,8),I.write(t,e,r,n,52,8),r+8}function S(t,e){e=e||1/0;for(var r,n=t.length,i=null,a=[],o=0;o&lt;n;++o){if((r=t.charCodeAt(o))&gt;55295&amp;&amp;r&lt;57344){if(!i){if(r&gt;56319){(e-=3)&gt;-1&amp;&amp;a.push(239,191,189);continue}if(o+1===n){(e-=3)&gt;-1&amp;&amp;a.push(239,191,189);continue}i=r;continue}if(r&lt;56320){(e-=3)&gt;-1&amp;&amp;a.push(239,191,189),i=r;continue}r=65536+(i-55296&lt;&lt;10|r-56320)}else i&amp;&amp;(e-=3)&gt;-1&amp;&amp;a.push(239,191,189);if(i=null,r&lt;128){if((e-=1)&lt;0)break;a.push(r)}else if(r&lt;2048){if((e-=2)&lt;0)break;a.push(r&gt;&gt;6|192,63&amp;r|128)}else if(r&lt;65536){if((e-=3)&lt;0)break;a.push(r&gt;&gt;12|224,r&gt;&gt;6&amp;63|128,63&amp;r|128)}else{if(!(r&lt;1114112))throw new Error(&quot;Invalid code point&quot;);if((e-=4)&lt;0)break;a.push(r&gt;&gt;18|240,r&gt;&gt;12&amp;63|128,r&gt;&gt;6&amp;63|128,63&amp;r|128)}}return a}function E(t){return D.toByteArray(function(t){if((t=t.trim().replace(F,&quot;&quot;)).length&lt;2)return&quot;&quot;;for(;t.length%4!=0;)t+=&quot;=&quot;;return t}(t))}function L(t,e,r,n){for(var i=0;i&lt;n&amp;&amp;!(i+r&gt;=e.length||i&gt;=t.length);++i)e[i+r]=t[i];return i}function C(t){return&quot;function&quot;==typeof ArrayBuffer.isView&amp;&amp;ArrayBuffer.isView(t)}function z(t){return t!=t}var D=t(&quot;base64-js&quot;),I=t(&quot;ieee754&quot;);r.Buffer=i,r.SlowBuffer=function(t){return+t!=t&amp;&amp;(t=0),i.alloc(+t)},r.INSPECT_MAX_BYTES=50;var P=2147483647;r.kMaxLength=P,(i.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}}())||&quot;undefined&quot;==typeof console||&quot;function&quot;!=typeof console.error||console.error(&quot;This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support.&quot;),&quot;undefined&quot;!=typeof Symbol&amp;&amp;Symbol.species&amp;&amp;i[Symbol.species]===i&amp;&amp;Object.defineProperty(i,Symbol.species,{value:null,configurable:!0,enumerable:!1,writable:!1}),i.poolSize=8192,i.from=function(t,e,r){return a(t,e,r)},i.prototype.__proto__=Uint8Array.prototype,i.__proto__=Uint8Array,i.alloc=function(t,e,r){return function(t,e,r){return o(t),t&lt;=0?n(t):void 0!==e?&quot;string&quot;==typeof r?n(t).fill(e,r):n(t).fill(e):n(t)}(t,e,r)},i.allocUnsafe=function(t){return s(t)},i.allocUnsafeSlow=function(t){return s(t)},i.isBuffer=function(t){return null!=t&amp;&amp;!0===t._isBuffer},i.compare=function(t,e){if(!i.isBuffer(t)||!i.isBuffer(e))throw new TypeError(&quot;Arguments must be Buffers&quot;);if(t===e)return 0;for(var r=t.length,n=e.length,a=0,o=Math.min(r,n);a&lt;o;++a)if(t[a]!==e[a]){r=t[a],n=e[a];break}return r&lt;n?-1:n&lt;r?1:0},i.isEncoding=function(t){switch(String(t).toLowerCase()){case&quot;hex&quot;:case&quot;utf8&quot;:case&quot;utf-8&quot;:case&quot;ascii&quot;:case&quot;latin1&quot;:case&quot;binary&quot;:case&quot;base64&quot;:case&quot;ucs2&quot;:case&quot;ucs-2&quot;:case&quot;utf16le&quot;:case&quot;utf-16le&quot;:return!0;default:return!1}},i.concat=function(t,e){if(!Array.isArray(t))throw new TypeError('&quot;list&quot; argument must be an Array of Buffers');if(0===t.length)return i.alloc(0);var r;if(void 0===e)for(e=0,r=0;r&lt;t.length;++r)e+=t[r].length;var n=i.allocUnsafe(e),a=0;for(r=0;r&lt;t.length;++r){var o=t[r];if(!i.isBuffer(o))throw new TypeError('&quot;list&quot; argument must be an Array of Buffers');o.copy(n,a),a+=o.length}return n},i.byteLength=u,i.prototype._isBuffer=!0,i.prototype.swap16=function(){var t=this.length;if(t%2!=0)throw new RangeError(&quot;Buffer size must be a multiple of 16-bits&quot;);for(var e=0;e&lt;t;e+=2)h(this,e,e+1);return this},i.prototype.swap32=function(){var t=this.length;if(t%4!=0)throw new RangeError(&quot;Buffer size must be a multiple of 32-bits&quot;);for(var e=0;e&lt;t;e+=4)h(this,e,e+3),h(this,e+1,e+2);return this},i.prototype.swap64=function(){var t=this.length;if(t%8!=0)throw new RangeError(&quot;Buffer size must be a multiple of 64-bits&quot;);for(var e=0;e&lt;t;e+=8)h(this,e,e+7),h(this,e+1,e+6),h(this,e+2,e+5),h(this,e+3,e+4);return this},i.prototype.toString=function(){var t=this.length;return 0===t?&quot;&quot;:0===arguments.length?_(this,0,t):f.apply(this,arguments)},i.prototype.equals=function(t){if(!i.isBuffer(t))throw new TypeError(&quot;Argument must be a Buffer&quot;);return this===t||0===i.compare(this,t)},i.prototype.inspect=function(){var t=&quot;&quot;,e=r.INSPECT_MAX_BYTES;return this.length&gt;0&amp;&amp;(t=this.toString(&quot;hex&quot;,0,e).match(/.{2}/g).join(&quot; &quot;),this.length&gt;e&amp;&amp;(t+=&quot; ... &quot;)),&quot;&lt;Buffer &quot;+t+&quot;&gt;&quot;},i.prototype.compare=function(t,e,r,n,a){if(!i.isBuffer(t))throw new TypeError(&quot;Argument must be a Buffer&quot;);if(void 0===e&amp;&amp;(e=0),void 0===r&amp;&amp;(r=t?t.length:0),void 0===n&amp;&amp;(n=0),void 0===a&amp;&amp;(a=this.length),e&lt;0||r&gt;t.length||n&lt;0||a&gt;this.length)throw new RangeError(&quot;out of range index&quot;);if(n&gt;=a&amp;&amp;e&gt;=r)return 0;if(n&gt;=a)return-1;if(e&gt;=r)return 1;if(e&gt;&gt;&gt;=0,r&gt;&gt;&gt;=0,n&gt;&gt;&gt;=0,a&gt;&gt;&gt;=0,this===t)return 0;for(var o=a-n,s=r-e,l=Math.min(o,s),c=this.slice(n,a),u=t.slice(e,r),f=0;f&lt;l;++f)if(c[f]!==u[f]){o=c[f],s=u[f];break}return o&lt;s?-1:s&lt;o?1:0},i.prototype.includes=function(t,e,r){return-1!==this.indexOf(t,e,r)},i.prototype.indexOf=function(t,e,r){return d(this,t,e,r,!0)},i.prototype.lastIndexOf=function(t,e,r){return d(this,t,e,r,!1)},i.prototype.write=function(t,e,r,n){if(void 0===e)n=&quot;utf8&quot;,r=this.length,e=0;else if(void 0===r&amp;&amp;&quot;string&quot;==typeof e)n=e,r=this.length,e=0;else{if(!isFinite(e))throw new Error(&quot;Buffer.write(string, encoding, offset[, length]) is no longer supported&quot;);e&gt;&gt;&gt;=0,isFinite(r)?(r&gt;&gt;&gt;=0,void 0===n&amp;&amp;(n=&quot;utf8&quot;)):(n=r,r=void 0)}var i=this.length-e;if((void 0===r||r&gt;i)&amp;&amp;(r=i),t.length&gt;0&amp;&amp;(r&lt;0||e&lt;0)||e&gt;this.length)throw new RangeError(&quot;Attempt to write outside buffer bounds&quot;);n||(n=&quot;utf8&quot;);for(var a=!1;;)switch(n){case&quot;hex&quot;:return m(this,t,e,r);case&quot;utf8&quot;:case&quot;utf-8&quot;:return g(this,t,e,r);case&quot;ascii&quot;:return v(this,t,e,r);case&quot;latin1&quot;:case&quot;binary&quot;:return y(this,t,e,r);case&quot;base64&quot;:return x(this,t,e,r);case&quot;ucs2&quot;:case&quot;ucs-2&quot;:case&quot;utf16le&quot;:case&quot;utf-16le&quot;:return b(this,t,e,r);default:if(a)throw new TypeError(&quot;Unknown encoding: &quot;+n);n=(&quot;&quot;+n).toLowerCase(),a=!0}},i.prototype.toJSON=function(){return{type:&quot;Buffer&quot;,data:Array.prototype.slice.call(this._arr||this,0)}};var O=4096;i.prototype.slice=function(t,e){var r=this.length;t=~~t,e=void 0===e?r:~~e,t&lt;0?(t+=r)&lt;0&amp;&amp;(t=0):t&gt;r&amp;&amp;(t=r),e&lt;0?(e+=r)&lt;0&amp;&amp;(e=0):e&gt;r&amp;&amp;(e=r),e&lt;t&amp;&amp;(e=t);var n=this.subarray(t,e);return n.__proto__=i.prototype,n},i.prototype.readUIntLE=function(t,e,r){t&gt;&gt;&gt;=0,e&gt;&gt;&gt;=0,r||w(t,e,this.length);for(var n=this[t],i=1,a=0;++a&lt;e&amp;&amp;(i*=256);)n+=this[t+a]*i;return n},i.prototype.readUIntBE=function(t,e,r){t&gt;&gt;&gt;=0,e&gt;&gt;&gt;=0,r||w(t,e,this.length);for(var n=this[t+--e],i=1;e&gt;0&amp;&amp;(i*=256);)n+=this[t+--e]*i;return n},i.prototype.readUInt8=function(t,e){return t&gt;&gt;&gt;=0,e||w(t,1,this.length),this[t]},i.prototype.readUInt16LE=function(t,e){return t&gt;&gt;&gt;=0,e||w(t,2,this.length),this[t]|this[t+1]&lt;&lt;8},i.prototype.readUInt16BE=function(t,e){return t&gt;&gt;&gt;=0,e||w(t,2,this.length),this[t]&lt;&lt;8|this[t+1]},i.prototype.readUInt32LE=function(t,e){return t&gt;&gt;&gt;=0,e||w(t,4,this.length),(this[t]|this[t+1]&lt;&lt;8|this[t+2]&lt;&lt;16)+16777216*this[t+3]},i.prototype.readUInt32BE=function(t,e){return t&gt;&gt;&gt;=0,e||w(t,4,this.length),16777216*this[t]+(this[t+1]&lt;&lt;16|this[t+2]&lt;&lt;8|this[t+3])},i.prototype.readIntLE=function(t,e,r){t&gt;&gt;&gt;=0,e&gt;&gt;&gt;=0,r||w(t,e,this.length);for(var n=this[t],i=1,a=0;++a&lt;e&amp;&amp;(i*=256);)n+=this[t+a]*i;return i*=128,n&gt;=i&amp;&amp;(n-=Math.pow(2,8*e)),n},i.prototype.readIntBE=function(t,e,r){t&gt;&gt;&gt;=0,e&gt;&gt;&gt;=0,r||w(t,e,this.length);for(var n=e,i=1,a=this[t+--n];n&gt;0&amp;&amp;(i*=256);)a+=this[t+--n]*i;return i*=128,a&gt;=i&amp;&amp;(a-=Math.pow(2,8*e)),a},i.prototype.readInt8=function(t,e){return t&gt;&gt;&gt;=0,e||w(t,1,this.length),128&amp;this[t]?-1*(255-this[t]+1):this[t]},i.prototype.readInt16LE=function(t,e){t&gt;&gt;&gt;=0,e||w(t,2,this.length);var r=this[t]|this[t+1]&lt;&lt;8;return 32768&amp;r?4294901760|r:r},i.prototype.readInt16BE=function(t,e){t&gt;&gt;&gt;=0,e||w(t,2,this.length);var r=this[t+1]|this[t]&lt;&lt;8;return 32768&amp;r?4294901760|r:r},i.prototype.readInt32LE=function(t,e){return t&gt;&gt;&gt;=0,e||w(t,4,this.length),this[t]|this[t+1]&lt;&lt;8|this[t+2]&lt;&lt;16|this[t+3]&lt;&lt;24},i.prototype.readInt32BE=function(t,e){return t&gt;&gt;&gt;=0,e||w(t,4,this.length),this[t]&lt;&lt;24|this[t+1]&lt;&lt;16|this[t+2]&lt;&lt;8|this[t+3]},i.prototype.readFloatLE=function(t,e){return t&gt;&gt;&gt;=0,e||w(t,4,this.length),I.read(this,t,!0,23,4)},i.prototype.readFloatBE=function(t,e){return t&gt;&gt;&gt;=0,e||w(t,4,this.length),I.read(this,t,!1,23,4)},i.prototype.readDoubleLE=function(t,e){return t&gt;&gt;&gt;=0,e||w(t,8,this.length),I.read(this,t,!0,52,8)},i.prototype.readDoubleBE=function(t,e){return t&gt;&gt;&gt;=0,e||w(t,8,this.length),I.read(this,t,!1,52,8)},i.prototype.writeUIntLE=function(t,e,r,n){if(t=+t,e&gt;&gt;&gt;=0,r&gt;&gt;&gt;=0,!n){M(this,t,e,r,Math.pow(2,8*r)-1,0)}var i=1,a=0;for(this[e]=255&amp;t;++a&lt;r&amp;&amp;(i*=256);)this[e+a]=t/i&amp;255;return e+r},i.prototype.writeUIntBE=function(t,e,r,n){if(t=+t,e&gt;&gt;&gt;=0,r&gt;&gt;&gt;=0,!n){M(this,t,e,r,Math.pow(2,8*r)-1,0)}var i=r-1,a=1;for(this[e+i]=255&amp;t;--i&gt;=0&amp;&amp;(a*=256);)this[e+i]=t/a&amp;255;return e+r},i.prototype.writeUInt8=function(t,e,r){return t=+t,e&gt;&gt;&gt;=0,r||M(this,t,e,1,255,0),this[e]=255&amp;t,e+1},i.prototype.writeUInt16LE=function(t,e,r){return t=+t,e&gt;&gt;&gt;=0,r||M(this,t,e,2,65535,0),this[e]=255&amp;t,this[e+1]=t&gt;&gt;&gt;8,e+2},i.prototype.writeUInt16BE=function(t,e,r){return t=+t,e&gt;&gt;&gt;=0,r||M(this,t,e,2,65535,0),this[e]=t&gt;&gt;&gt;8,this[e+1]=255&amp;t,e+2},i.prototype.writeUInt32LE=function(t,e,r){return t=+t,e&gt;&gt;&gt;=0,r||M(this,t,e,4,4294967295,0),this[e+3]=t&gt;&gt;&gt;24,this[e+2]=t&gt;&gt;&gt;16,this[e+1]=t&gt;&gt;&gt;8,this[e]=255&amp;t,e+4},i.prototype.writeUInt32BE=function(t,e,r){return t=+t,e&gt;&gt;&gt;=0,r||M(this,t,e,4,4294967295,0),this[e]=t&gt;&gt;&gt;24,this[e+1]=t&gt;&gt;&gt;16,this[e+2]=t&gt;&gt;&gt;8,this[e+3]=255&amp;t,e+4},i.prototype.writeIntLE=function(t,e,r,n){if(t=+t,e&gt;&gt;&gt;=0,!n){var i=Math.pow(2,8*r-1);M(this,t,e,r,i-1,-i)}var a=0,o=1,s=0;for(this[e]=255&amp;t;++a&lt;r&amp;&amp;(o*=256);)t&lt;0&amp;&amp;0===s&amp;&amp;0!==this[e+a-1]&amp;&amp;(s=1),this[e+a]=(t/o&gt;&gt;0)-s&amp;255;return e+r},i.prototype.writeIntBE=function(t,e,r,n){if(t=+t,e&gt;&gt;&gt;=0,!n){var i=Math.pow(2,8*r-1);M(this,t,e,r,i-1,-i)}var a=r-1,o=1,s=0;for(this[e+a]=255&amp;t;--a&gt;=0&amp;&amp;(o*=256);)t&lt;0&amp;&amp;0===s&amp;&amp;0!==this[e+a+1]&amp;&amp;(s=1),this[e+a]=(t/o&gt;&gt;0)-s&amp;255;return e+r},i.prototype.writeInt8=function(t,e,r){return t=+t,e&gt;&gt;&gt;=0,r||M(this,t,e,1,127,-128),t&lt;0&amp;&amp;(t=255+t+1),this[e]=255&amp;t,e+1},i.prototype.writeInt16LE=function(t,e,r){return t=+t,e&gt;&gt;&gt;=0,r||M(this,t,e,2,32767,-32768),this[e]=255&amp;t,this[e+1]=t&gt;&gt;&gt;8,e+2},i.prototype.writeInt16BE=function(t,e,r){return t=+t,e&gt;&gt;&gt;=0,r||M(this,t,e,2,32767,-32768),this[e]=t&gt;&gt;&gt;8,this[e+1]=255&amp;t,e+2},i.prototype.writeInt32LE=function(t,e,r){return t=+t,e&gt;&gt;&gt;=0,r||M(this,t,e,4,2147483647,-2147483648),this[e]=255&amp;t,this[e+1]=t&gt;&gt;&gt;8,this[e+2]=t&gt;&gt;&gt;16,this[e+3]=t&gt;&gt;&gt;24,e+4},i.prototype.writeInt32BE=function(t,e,r){return t=+t,e&gt;&gt;&gt;=0,r||M(this,t,e,4,2147483647,-2147483648),t&lt;0&amp;&amp;(t=4294967295+t+1),this[e]=t&gt;&gt;&gt;24,this[e+1]=t&gt;&gt;&gt;16,this[e+2]=t&gt;&gt;&gt;8,this[e+3]=255&amp;t,e+4},i.prototype.writeFloatLE=function(t,e,r){return A(this,t,e,!0,r)},i.prototype.writeFloatBE=function(t,e,r){return A(this,t,e,!1,r)},i.prototype.writeDoubleLE=function(t,e,r){return T(this,t,e,!0,r)},i.prototype.writeDoubleBE=function(t,e,r){return T(this,t,e,!1,r)},i.prototype.copy=function(t,e,r,n){if(r||(r=0),n||0===n||(n=this.length),e&gt;=t.length&amp;&amp;(e=t.length),e||(e=0),n&gt;0&amp;&amp;n&lt;r&amp;&amp;(n=r),n===r)return 0;if(0===t.length||0===this.length)return 0;if(e&lt;0)throw new RangeError(&quot;targetStart out of bounds&quot;);if(r&lt;0||r&gt;=this.length)throw new RangeError(&quot;sourceStart out of bounds&quot;);if(n&lt;0)throw new RangeError(&quot;sourceEnd out of bounds&quot;);n&gt;this.length&amp;&amp;(n=this.length),t.length-e&lt;n-r&amp;&amp;(n=t.length-e+r);var i,a=n-r;if(this===t&amp;&amp;r&lt;e&amp;&amp;e&lt;n)for(i=a-1;i&gt;=0;--i)t[i+e]=this[i+r];else if(a&lt;1e3)for(i=0;i&lt;a;++i)t[i+e]=this[i+r];else Uint8Array.prototype.set.call(t,this.subarray(r,r+a),e);return a},i.prototype.fill=function(t,e,r,n){if(&quot;string&quot;==typeof t){if(&quot;string&quot;==typeof e?(n=e,e=0,r=this.length):&quot;string&quot;==typeof r&amp;&amp;(n=r,r=this.length),1===t.length){var a=t.charCodeAt(0);a&lt;256&amp;&amp;(t=a)}if(void 0!==n&amp;&amp;&quot;string&quot;!=typeof n)throw new TypeError(&quot;encoding must be a string&quot;);if(&quot;string&quot;==typeof n&amp;&amp;!i.isEncoding(n))throw new TypeError(&quot;Unknown encoding: &quot;+n)}else&quot;number&quot;==typeof t&amp;&amp;(t&amp;=255);if(e&lt;0||this.length&lt;e||this.length&lt;r)throw new RangeError(&quot;Out of range index&quot;);if(r&lt;=e)return this;e&gt;&gt;&gt;=0,r=void 0===r?this.length:r&gt;&gt;&gt;0,t||(t=0);var o;if(&quot;number&quot;==typeof t)for(o=e;o&lt;r;++o)this[o]=t;else{var s=i.isBuffer(t)?t:new i(t,n),l=s.length;for(o=0;o&lt;r-e;++o)this[o+e]=s[o%l]}return this};var F=/[^+/0-9A-Za-z-_]/g},{&quot;base64-js&quot;:83,ieee754:277}],83:[function(t,e,r){&quot;use strict&quot;;function n(t){var e=t.length;if(e%4&gt;0)throw new Error(&quot;Invalid string. Length must be a multiple of 4&quot;);return&quot;=&quot;===t[e-2]?2:&quot;=&quot;===t[e-1]?1:0}function i(t){return o[t&gt;&gt;18&amp;63]+o[t&gt;&gt;12&amp;63]+o[t&gt;&gt;6&amp;63]+o[63&amp;t]}function a(t,e,r){for(var n,a=[],o=e;o&lt;r;o+=3)n=(t[o]&lt;&lt;16)+(t[o+1]&lt;&lt;8)+t[o+2],a.push(i(n));return a.join(&quot;&quot;)}r.byteLength=function(t){return 3*t.length/4-n(t)},r.toByteArray=function(t){var e,r,i,a,o,c,u=t.length;o=n(t),c=new l(3*u/4-o),i=o&gt;0?u-4:u;var f=0;for(e=0,r=0;e&lt;i;e+=4,r+=3)a=s[t.charCodeAt(e)]&lt;&lt;18|s[t.charCodeAt(e+1)]&lt;&lt;12|s[t.charCodeAt(e+2)]&lt;&lt;6|s[t.charCodeAt(e+3)],c[f++]=a&gt;&gt;16&amp;255,c[f++]=a&gt;&gt;8&amp;255,c[f++]=255&amp;a;return 2===o?(a=s[t.charCodeAt(e)]&lt;&lt;2|s[t.charCodeAt(e+1)]&gt;&gt;4,c[f++]=255&amp;a):1===o&amp;&amp;(a=s[t.charCodeAt(e)]&lt;&lt;10|s[t.charCodeAt(e+1)]&lt;&lt;4|s[t.charCodeAt(e+2)]&gt;&gt;2,c[f++]=a&gt;&gt;8&amp;255,c[f++]=255&amp;a),c},r.fromByteArray=function(t){for(var e,r=t.length,n=r%3,i=&quot;&quot;,s=[],l=0,c=r-n;l&lt;c;l+=16383)s.push(a(t,l,l+16383&gt;c?c:l+16383));return 1===n?(e=t[r-1],i+=o[e&gt;&gt;2],i+=o[e&lt;&lt;4&amp;63],i+=&quot;==&quot;):2===n&amp;&amp;(e=(t[r-2]&lt;&lt;8)+t[r-1],i+=o[e&gt;&gt;10],i+=o[e&gt;&gt;4&amp;63],i+=o[e&lt;&lt;2&amp;63],i+=&quot;=&quot;),s.push(i),s.join(&quot;&quot;)};for(var o=[],s=[],l=&quot;undefined&quot;!=typeof Uint8Array?Uint8Array:Array,c=&quot;ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/&quot;,u=0,f=c.length;u&lt;f;++u)o[u]=c[u],s[c.charCodeAt(u)]=u;s[&quot;-&quot;.charCodeAt(0)]=62,s[&quot;_&quot;.charCodeAt(0)]=63},{}],84:[function(t,e,r){&quot;use strict&quot;;function n(t){return[Math.min(t[0],t[1]),Math.max(t[0],t[1])]}function i(t,e){return t[0]-e[0]||t[1]-e[1]}function a(t,e,r){return e in t?t[e]:r}var o=t(&quot;./lib/monotone&quot;),s=t(&quot;./lib/triangulation&quot;),l=t(&quot;./lib/delaunay&quot;),c=t(&quot;./lib/filter&quot;);e.exports=function(t,e,r){Array.isArray(e)?(r=r||{},e=e||[]):(r=e||{},e=[]);var u=!!a(r,&quot;delaunay&quot;,!0),f=!!a(r,&quot;interior&quot;,!0),h=!!a(r,&quot;exterior&quot;,!0),d=!!a(r,&quot;infinity&quot;,!1);if(!f&amp;&amp;!h||0===t.length)return[];var p=o(t,e);if(u||f!==h||d){for(var m=s(t.length,function(t){return t.map(n).sort(i)}(e)),g=0;g&lt;p.length;++g){var v=p[g];m.addTriangle(v[0],v[1],v[2])}return u&amp;&amp;l(t,m),h?f?d?c(m,0,d):m.cells():c(m,1,d):c(m,-1)}return p}},{&quot;./lib/delaunay&quot;:85,&quot;./lib/filter&quot;:86,&quot;./lib/monotone&quot;:87,&quot;./lib/triangulation&quot;:88}],85:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,n,a,o){var s=e.opposite(n,a);if(!(s&lt;0)){if(a&lt;n){var l=n;n=a,a=l,l=o,o=s,s=l}e.isConstraint(n,a)||i(t[n],t[a],t[o],t[s])&lt;0&amp;&amp;r.push(n,a)}}var i=t(&quot;robust-in-sphere&quot;)[4];t(&quot;binary-search-bounds&quot;);e.exports=function(t,e){for(var r=[],a=t.length,o=e.stars,s=0;s&lt;a;++s)for(var l=o[s],c=1;c&lt;l.length;c+=2)if(!((d=l[c])&lt;s||e.isConstraint(s,d))){for(var u=l[c-1],f=-1,h=1;h&lt;l.length;h+=2)if(l[h-1]===d){f=l[h];break}f&lt;0||i(t[s],t[d],t[u],t[f])&lt;0&amp;&amp;r.push(s,d)}for(;r.length&gt;0;){for(var d=r.pop(),p=(u=-1,f=-1,l=o[s=r.pop()],1);p&lt;l.length;p+=2){var m=l[p-1],g=l[p];m===d?f=g:g===d&amp;&amp;(u=m)}u&lt;0||f&lt;0||i(t[s],t[d],t[u],t[f])&gt;=0||(e.flip(s,d),n(t,e,r,u,s,f),n(t,e,r,s,f,u),n(t,e,r,f,d,u),n(t,e,r,d,u,f))}}},{&quot;binary-search-bounds&quot;:89,&quot;robust-in-sphere&quot;:513}],86:[function(t,e,r){&quot;use strict&quot;;function n(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 i(t,e){return t[0]-e[0]||t[1]-e[1]||t[2]-e[2]}var a=t(&quot;binary-search-bounds&quot;);e.exports=function(t,e,r){var a=function(t,e){for(var r=t.cells(),a=r.length,o=0;o&lt;a;++o){var s=(v=r[o])[0],l=v[1],c=v[2];l&lt;c?l&lt;s&amp;&amp;(v[0]=l,v[1]=c,v[2]=s):c&lt;s&amp;&amp;(v[0]=c,v[1]=s,v[2]=l)}r.sort(i);var u=new Array(a);for(o=0;o&lt;u.length;++o)u[o]=0;var f=[],h=[],d=new Array(3*a),p=new Array(3*a),m=null;e&amp;&amp;(m=[]);var g=new n(r,d,p,u,f,h,m);for(o=0;o&lt;a;++o)for(var v=r[o],y=0;y&lt;3;++y){s=v[y],l=v[(y+1)%3];var x=d[3*o+y]=g.locate(l,s,t.opposite(l,s)),b=p[3*o+y]=t.isConstraint(s,l);x&lt;0&amp;&amp;(b?h.push(o):(f.push(o),u[o]=1),e&amp;&amp;m.push([l,s,-1]))}return g}(t,r);if(0===e)return r?a.cells.concat(a.boundary):a.cells;for(var o=1,s=a.active,l=a.next,c=a.flags,u=a.cells,f=a.constraint,h=a.neighbor;s.length&gt;0||l.length&gt;0;){for(;s.length&gt;0;){var d=s.pop();if(c[d]!==-o){c[d]=o,u[d];for(var p=0;p&lt;3;++p){var m=h[3*d+p];m&gt;=0&amp;&amp;0===c[m]&amp;&amp;(f[3*d+p]?l.push(m):(s.push(m),c[m]=o))}}}var g=l;l=s,s=g,l.length=0,o=-o}var v=function(t,e,r){for(var n=0,i=0;i&lt;t.length;++i)e[i]===r&amp;&amp;(t[n++]=t[i]);return t.length=n,t}(u,c,e);return r?v.concat(a.boundary):v};n.prototype.locate=function(){var t=[0,0,0];return function(e,r,n){var o=e,s=r,l=n;return r&lt;n?r&lt;e&amp;&amp;(o=r,s=n,l=e):n&lt;e&amp;&amp;(o=n,s=e,l=r),o&lt;0?-1:(t[0]=o,t[1]=s,t[2]=l,a.eq(this.cells,t,i))}}()},{&quot;binary-search-bounds&quot;:89}],87:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,n,i){this.a=t,this.b=e,this.idx=r,this.lowerIds=n,this.upperIds=i}function i(t,e,r,n){this.a=t,this.b=e,this.type=r,this.idx=n}function a(t,e){var r=t.a[0]-e.a[0]||t.a[1]-e.a[1]||t.type-e.type;return r||(t.type!==d&amp;&amp;(r=h(t.a,t.b,e.b))?r:t.idx-e.idx)}function o(t,e){return h(t.a,t.b,e)}function s(t,e,r,n,i){for(var a=f.lt(e,n,o),s=f.gt(e,n,o),l=a;l&lt;s;++l){for(var c=e[l],u=c.lowerIds,d=u.length;d&gt;1&amp;&amp;h(r[u[d-2]],r[u[d-1]],n)&gt;0;)t.push([u[d-1],u[d-2],i]),d-=1;u.length=d,u.push(i);var p=c.upperIds;for(d=p.length;d&gt;1&amp;&amp;h(r[p[d-2]],r[p[d-1]],n)&lt;0;)t.push([p[d-2],p[d-1],i]),d-=1;p.length=d,p.push(i)}}function l(t,e){var r;return(r=t.a[0]&lt;e.a[0]?h(t.a,t.b,e.a):h(e.b,e.a,t.a))?r:(r=e.b[0]&lt;t.b[0]?h(t.a,t.b,e.b):h(e.b,e.a,t.b))||t.idx-e.idx}function c(t,e,r){var i=f.le(t,r,l),a=t[i],o=a.upperIds,s=o[o.length-1];a.upperIds=[s],t.splice(i+1,0,new n(r.a,r.b,r.idx,[s],o))}function u(t,e,r){var n=r.a;r.a=r.b,r.b=n;var i=f.eq(t,r,l),a=t[i];t[i-1].upperIds=a.upperIds,t.splice(i,1)}var f=t(&quot;binary-search-bounds&quot;),h=t(&quot;robust-orientation&quot;)[3],d=0,p=1,m=2;e.exports=function(t,e){for(var r=t.length,o=e.length,l=[],f=0;f&lt;r;++f)l.push(new i(t[f],null,d,f));for(f=0;f&lt;o;++f){var h=e[f],g=t[h[0]],v=t[h[1]];g[0]&lt;v[0]?l.push(new i(g,v,m,f),new i(v,g,p,f)):g[0]&gt;v[0]&amp;&amp;l.push(new i(v,g,m,f),new i(g,v,p,f))}l.sort(a);for(var y=l[0].a[0]-(1+Math.abs(l[0].a[0]))*Math.pow(2,-52),x=[new n([y,1],[y,0],-1,[],[],[],[])],b=[],_=(f=0,l.length);f&lt;_;++f){var w=l[f],M=w.type;M===d?s(b,x,t,w.a,w.idx):M===m?c(x,0,w):u(x,0,w)}return b}},{&quot;binary-search-bounds&quot;:89,&quot;robust-orientation&quot;:515}],88:[function(t,e,r){&quot;use strict&quot;;function n(t,e){this.stars=t,this.edges=e}function i(t,e,r){for(var n=1,i=t.length;n&lt;i;n+=2)if(t[n-1]===e&amp;&amp;t[n]===r)return t[n-1]=t[i-2],t[n]=t[i-1],void(t.length=i-2)}var a=t(&quot;binary-search-bounds&quot;);e.exports=function(t,e){for(var r=new Array(t),i=0;i&lt;t;++i)r[i]=[];return new n(r,e)};var o=n.prototype;o.isConstraint=function(){function t(t,e){return t[0]-e[0]||t[1]-e[1]}var e=[0,0];return function(r,n){return e[0]=Math.min(r,n),e[1]=Math.max(r,n),a.eq(this.edges,e,t)&gt;=0}}(),o.removeTriangle=function(t,e,r){var n=this.stars;i(n[t],e,r),i(n[e],r,t),i(n[r],t,e)},o.addTriangle=function(t,e,r){var n=this.stars;n[t].push(e,r),n[e].push(r,t),n[r].push(t,e)},o.opposite=function(t,e){for(var r=this.stars[e],n=1,i=r.length;n&lt;i;n+=2)if(r[n]===t)return r[n-1];return-1},o.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)},o.edges=function(){for(var t=this.stars,e=[],r=0,n=t.length;r&lt;n;++r)for(var i=t[r],a=0,o=i.length;a&lt;o;a+=2)e.push([i[a],i[a+1]]);return e},o.cells=function(){for(var t=this.stars,e=[],r=0,n=t.length;r&lt;n;++r)for(var i=t[r],a=0,o=i.length;a&lt;o;a+=2){var s=i[a],l=i[a+1];r&lt;Math.min(s,l)&amp;&amp;e.push([r,s,l])}return e}},{&quot;binary-search-bounds&quot;:89}],89:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,n,i){var a=[&quot;function &quot;,t,&quot;(a,l,h,&quot;,n.join(&quot;,&quot;),&quot;){&quot;,i?&quot;&quot;:&quot;var i=&quot;,r?&quot;l-1&quot;:&quot;h+1&quot;,&quot;;while(l&lt;=h){var m=(l+h)&gt;&gt;&gt;1,x=a[m]&quot;];return i?e.indexOf(&quot;c&quot;)&lt;0?a.push(&quot;;if(x===y){return m}else if(x&lt;=y){&quot;):a.push(&quot;;var p=c(x,y);if(p===0){return m}else if(p&lt;=0){&quot;):a.push(&quot;;if(&quot;,e,&quot;){i=m;&quot;),r?a.push(&quot;l=m+1}else{h=m-1}&quot;):a.push(&quot;h=m-1}else{l=m+1}&quot;),a.push(&quot;}&quot;),i?a.push(&quot;return -1};&quot;):a.push(&quot;return i};&quot;),a.join(&quot;&quot;)}function i(t,e,r,i){return new Function([n(&quot;A&quot;,&quot;x&quot;+t+&quot;y&quot;,e,[&quot;y&quot;],i),n(&quot;P&quot;,&quot;c(x,y)&quot;+t+&quot;0&quot;,e,[&quot;y&quot;,&quot;c&quot;],i),&quot;function dispatchBsearch&quot;,r,&quot;(a,y,c,l,h){if(typeof(c)==='function'){return P(a,(l===void 0)?0:l|0,(h===void 0)?a.length-1:h|0,y,c)}else{return A(a,(c===void 0)?0:c|0,(l===void 0)?a.length-1:l|0,y)}}return dispatchBsearch&quot;,r].join(&quot;&quot;))()}e.exports={ge:i(&quot;&gt;=&quot;,!1,&quot;GE&quot;),gt:i(&quot;&gt;&quot;,!1,&quot;GT&quot;),lt:i(&quot;&lt;&quot;,!0,&quot;LT&quot;),le:i(&quot;&lt;=&quot;,!0,&quot;LE&quot;),eq:i(&quot;-&quot;,!0,&quot;EQ&quot;,!0)}},{}],90:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t){for(var e=1,r=1;r&lt;t.length;++r)for(var n=0;n&lt;r;++n)if(t[r]&lt;t[n])e=-e;else if(t[n]===t[r])return 0;return e}},{}],91:[function(t,e,r){&quot;use strict&quot;;function n(t,e){for(var r=0,n=t.length,i=0;i&lt;n;++i)r+=t[i]*e[i];return r}function i(t){var e=t.length;if(0===e)return[];t[0].length;var r=o([t.length+1,t.length+1],1),i=o([t.length+1],1);r[e][e]=0;for(var a=0;a&lt;e;++a){for(var l=0;l&lt;=a;++l)r[l][a]=r[a][l]=2*n(t[a],t[l]);i[a]=n(t[a],t[a])}var c=s(r,i),u=0,f=c[e+1];for(a=0;a&lt;f.length;++a)u+=f[a];var h=new Array(e);for(a=0;a&lt;e;++a){f=c[a];var d=0;for(l=0;l&lt;f.length;++l)d+=f[l];h[a]=d/u}return h}function a(t){if(0===t.length)return[];for(var e=t[0].length,r=o([e]),n=i(t),a=0;a&lt;t.length;++a)for(var s=0;s&lt;e;++s)r[s]+=t[a][s]*n[a];return r}var o=t(&quot;dup&quot;),s=t(&quot;robust-linear-solve&quot;);a.barycenetric=i,e.exports=a},{dup:134,&quot;robust-linear-solve&quot;:514}],92:[function(t,e,r){e.exports=function(t){for(var e=n(t),r=0,i=0;i&lt;t.length;++i)for(var a=t[i],o=0;o&lt;e.length;++o)r+=Math.pow(a[o]-e[o],2);return Math.sqrt(r/t.length)};var n=t(&quot;circumcenter&quot;)},{circumcenter:91}],93:[function(t,e,r){e.exports=function(t,e,r){return e&lt;r?t&lt;e?e:t&gt;r?r:t:t&lt;r?r:t&gt;e?e:t}},{}],94:[function(t,e,r){&quot;use strict&quot;;function n(t){var e=m(t);return[v(e,-1/0),v(e,1/0)]}function i(t){for(var e=new Array(t.length),r=0;r&lt;t.length;++r){var n=t[r];e[r]=[v(n[0],-1/0),v(n[1],-1/0),v(n[0],1/0),v(n[1],1/0)]}return e}function a(t,e,r){for(var i=e.length,a=new u(i),o=[],s=0;s&lt;e.length;++s){var l=e[s],c=n(l[0]),h=n(l[1]);o.push([v(c[0],-1/0),v(h[0],-1/0),v(c[1],1/0),v(h[1],1/0)])}f(o,function(t,e){a.link(t,e)});var d=!0,p=new Array(i);for(s=0;s&lt;i;++s){(g=a.find(s))!==s&amp;&amp;(d=!1,t[g]=[Math.min(t[s][0],t[g][0]),Math.min(t[s][1],t[g][1])])}if(d)return null;var m=0;for(s=0;s&lt;i;++s){var g;(g=a.find(s))===s?(p[s]=m,t[m++]=t[s]):p[s]=-1}t.length=m;for(s=0;s&lt;i;++s)p[s]&lt;0&amp;&amp;(p[s]=p[a.find(s)]);return p}function o(t,e){return t[0]-e[0]||t[1]-e[1]}function s(t,e){var r=t[0]-e[0]||t[1]-e[1];return r||(t[2]&lt;e[2]?-1:t[2]&gt;e[2]?1:0)}function l(t,e,r){if(0!==t.length){if(e)for(var n=0;n&lt;t.length;++n){var i=e[(l=t[n])[0]],a=e[l[1]];l[0]=Math.min(i,a),l[1]=Math.max(i,a)}else for(n=0;n&lt;t.length;++n){var l;i=(l=t[n])[0],a=l[1];l[0]=Math.min(i,a),l[1]=Math.max(i,a)}r?t.sort(s):t.sort(o);var c=1;for(n=1;n&lt;t.length;++n){var u=t[n-1],f=t[n];(f[0]!==u[0]||f[1]!==u[1]||r&amp;&amp;f[2]!==u[2])&amp;&amp;(t[c++]=f)}t.length=c}}function c(t,e,r){var n=function(t,e){for(var r=new Array(e.length),n=0;n&lt;e.length;++n){var i=e[n],a=t[i[0]],o=t[i[1]];r[n]=[v(Math.min(a[0],o[0]),-1/0),v(Math.min(a[1],o[1]),-1/0),v(Math.max(a[0],o[0]),1/0),v(Math.max(a[1],o[1]),1/0)]}return r}(t,e),o=function(t,e,r){var n=[];return f(r,function(r,i){var a=e[r],o=e[i];if(a[0]!==o[0]&amp;&amp;a[0]!==o[1]&amp;&amp;a[1]!==o[0]&amp;&amp;a[1]!==o[1]){var s=t[a[0]],l=t[a[1]],c=t[o[0]],u=t[o[1]];h(s,l,c,u)&amp;&amp;n.push([r,i])}}),n}(t,e,n),s=i(t),c=function(t,e,r,n){var i=[];return f(r,n,function(r,n){var a=e[r];if(a[0]!==n&amp;&amp;a[1]!==n){var o=t[n],s=t[a[0]],l=t[a[1]];h(s,l,o,o)&amp;&amp;i.push([r,n])}}),i}(t,e,n,s),u=a(t,function(t,e,r,n,i){var a,o,s=t.map(function(t){return[d(t[0]),d(t[1])]});for(a=0;a&lt;r.length;++a){var l=r[a];o=l[0];var c=l[1],u=e[o],f=e[c],h=y(g(t[u[0]]),g(t[u[1]]),g(t[f[0]]),g(t[f[1]]));if(h){var v=t.length;t.push([m(h[0]),m(h[1])]),s.push(h),n.push([o,v],[c,v])}}for(n.sort(function(t,e){if(t[0]!==e[0])return t[0]-e[0];var r=s[t[1]],n=s[e[1]];return p(r[0],n[0])||p(r[1],n[1])}),a=n.length-1;a&gt;=0;--a){var x=e[o=(S=n[a])[0]],b=x[0],_=x[1],w=t[b],M=t[_];if((w[0]-M[0]||w[1]-M[1])&lt;0){var k=b;b=_,_=k}x[0]=b;var A,T=x[1]=S[1];for(i&amp;&amp;(A=x[2]);a&gt;0&amp;&amp;n[a-1][0]===o;){var S,E=(S=n[--a])[1];i?e.push([T,E,A]):e.push([T,E]),T=E}i?e.push([T,_,A]):e.push([T,_])}return s}(t,e,o,c,r));return l(e,u,r),!!u||(o.length&gt;0||c.length&gt;0)}e.exports=function(t,e,r){var n;if(r){n=e;for(var o=new Array(e.length),s=0;s&lt;e.length;++s){var u=e[s];o[s]=[u[0],u[1],r[s]]}e=o}for(var f=function(t,e,r){var n=a(t,[],i(t));return l(e,n,r),!!n}(t,e,!!r);c(t,e,!!r);)f=!0;if(r&amp;&amp;f)for(n.length=0,r.length=0,s=0;s&lt;e.length;++s)u=e[s],n.push([u[0],u[1]]),r.push(u[2]);return f};var u=t(&quot;union-find&quot;),f=t(&quot;box-intersect&quot;),h=t(&quot;robust-segment-intersect&quot;),d=t(&quot;big-rat&quot;),p=t(&quot;big-rat/cmp&quot;),m=t(&quot;big-rat/to-float&quot;),g=t(&quot;rat-vec&quot;),v=t(&quot;nextafter&quot;),y=t(&quot;./lib/rat-seg-intersect&quot;)},{&quot;./lib/rat-seg-intersect&quot;:95,&quot;big-rat&quot;:57,&quot;big-rat/cmp&quot;:55,&quot;big-rat/to-float&quot;:69,&quot;box-intersect&quot;:75,nextafter:459,&quot;rat-vec&quot;:496,&quot;robust-segment-intersect&quot;:518,&quot;union-find&quot;:555}],95:[function(t,e,r){&quot;use strict&quot;;function n(t,e){return o(i(t[0],e[1]),i(t[1],e[0]))}e.exports=function(t,e,r,i){var o=l(e,t),f=l(i,r),h=n(o,f);if(0===s(h))return null;var d=n(f,l(t,r)),p=a(d,h),m=u(o,p);return c(t,m)};var i=t(&quot;big-rat/mul&quot;),a=t(&quot;big-rat/div&quot;),o=t(&quot;big-rat/sub&quot;),s=t(&quot;big-rat/sign&quot;),l=t(&quot;rat-vec/sub&quot;),c=t(&quot;rat-vec/add&quot;),u=t(&quot;rat-vec/muls&quot;)},{&quot;big-rat/div&quot;:56,&quot;big-rat/mul&quot;:66,&quot;big-rat/sign&quot;:67,&quot;big-rat/sub&quot;:68,&quot;rat-vec/add&quot;:495,&quot;rat-vec/muls&quot;:497,&quot;rat-vec/sub&quot;:498}],96:[function(t,e,r){(function(t){var r=function(){&quot;use strict&quot;;function e(r,i,a,o){function s(r,a){if(null===r)return null;if(0==a)return r;var f,h;if(&quot;object&quot;!=typeof r)return r;if(e.__isArray(r))f=[];else if(e.__isRegExp(r))f=new RegExp(r.source,n(r)),r.lastIndex&amp;&amp;(f.lastIndex=r.lastIndex);else if(e.__isDate(r))f=new Date(r.getTime());else{if(u&amp;&amp;t.isBuffer(r))return f=new t(r.length),r.copy(f),f;void 0===o?(h=Object.getPrototypeOf(r),f=Object.create(h)):(f=Object.create(o),h=o)}if(i){var d=l.indexOf(r);if(-1!=d)return c[d];l.push(r),c.push(f)}for(var p in r){var m;h&amp;&amp;(m=Object.getOwnPropertyDescriptor(h,p)),m&amp;&amp;null==m.set||(f[p]=s(r[p],a-1))}return f}&quot;object&quot;==typeof i&amp;&amp;(a=i.depth,o=i.prototype,i.filter,i=i.circular);var l=[],c=[],u=void 0!==t;return void 0===i&amp;&amp;(i=!0),void 0===a&amp;&amp;(a=1/0),s(r,a)}function r(t){return Object.prototype.toString.call(t)}function n(t){var e=&quot;&quot;;return t.global&amp;&amp;(e+=&quot;g&quot;),t.ignoreCase&amp;&amp;(e+=&quot;i&quot;),t.multiline&amp;&amp;(e+=&quot;m&quot;),e}return e.clonePrototype=function(t){if(null===t)return null;var e=function(){};return e.prototype=t,new e},e.__objToStr=r,e.__isDate=function(t){return&quot;object&quot;==typeof t&amp;&amp;&quot;[object Date]&quot;===r(t)},e.__isArray=function(t){return&quot;object&quot;==typeof t&amp;&amp;&quot;[object Array]&quot;===r(t)},e.__isRegExp=function(t){return&quot;object&quot;==typeof t&amp;&amp;&quot;[object RegExp]&quot;===r(t)},e.__getRegExpFlags=n,e}();&quot;object&quot;==typeof e&amp;&amp;e.exports&amp;&amp;(e.exports=r)}).call(this,t(&quot;buffer&quot;).Buffer)},{buffer:82}],97:[function(t,e,r){&quot;use strict&quot;;function n(t,e){null==e&amp;&amp;(e=!0);var r=t[0],n=t[1],a=t[2],o=t[3];null==o&amp;&amp;(o=e?1:255),e&amp;&amp;(r*=255,n*=255,a*=255,o*=255);return 16777216*(r=255&amp;i(r,0,255))+((n=255&amp;i(n,0,255))&lt;&lt;16)+((a=255&amp;i(a,0,255))&lt;&lt;8)+(o=255&amp;i(o,0,255))}var i=t(&quot;clamp&quot;);e.exports=n,e.exports.to=n,e.exports.from=function(t,e){var r=(t=+t)&gt;&gt;&gt;24,n=(16711680&amp;t)&gt;&gt;&gt;16,i=(65280&amp;t)&gt;&gt;&gt;8,a=255&amp;t;return!1===e?[r,n,i,a]:[r/255,n/255,i/255,a/255]}},{clamp:93}],98:[function(t,e,r){&quot;use strict&quot;;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]}},{}],99:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;color-rgba&quot;),i=t(&quot;clamp&quot;),a=t(&quot;dtype&quot;);e.exports=function(t,e){&quot;float&quot;!==e&amp;&amp;e||(e=&quot;array&quot;),&quot;uint&quot;===e&amp;&amp;(e=&quot;uint8&quot;),&quot;uint_clamped&quot;===e&amp;&amp;(e=&quot;uint8_clamped&quot;);var r=a(e),o=new r(4);if(t instanceof r)return Array.isArray(t)?t.slice():(o.set(t),o);var s=&quot;uint8&quot;!==e&amp;&amp;&quot;uint8_clamped&quot;!==e;return t instanceof Uint8Array||t instanceof Uint8ClampedArray?(o[0]=t[0],o[1]=t[1],o[2]=t[2],o[3]=null!=t[3]?t[3]:255,s&amp;&amp;(o[0]/=255,o[1]/=255,o[2]/=255,o[3]/=255),o):(t.length&amp;&amp;&quot;string&quot;!=typeof t||((t=n(t))[0]/=255,t[1]/=255,t[2]/=255),s?(o[0]=t[0],o[1]=t[1],o[2]=t[2],o[3]=null!=t[3]?t[3]:1):(o[0]=i(Math.round(255*t[0]),0,255),o[1]=i(Math.round(255*t[1]),0,255),o[2]=i(Math.round(255*t[2]),0,255),o[3]=null==t[3]?255:i(Math.floor(255*t[3]),0,255)),o)}},{clamp:93,&quot;color-rgba&quot;:101,dtype:133}],100:[function(t,e,r){(function(r){&quot;use strict&quot;;var n=t(&quot;color-name&quot;),i=t(&quot;is-plain-obj&quot;),a=t(&quot;defined&quot;);e.exports=function(t){var e,s,l=[],c=1;if(&quot;string&quot;==typeof t)if(n[t])l=n[t].slice(),s=&quot;rgb&quot;;else if(&quot;transparent&quot;===t)c=0,s=&quot;rgb&quot;,l=[0,0,0];else if(/^#[A-Fa-f0-9]+$/.test(t)){var u=t.slice(1);c=1,(h=u.length)&lt;=4?(l=[parseInt(u[0]+u[0],16),parseInt(u[1]+u[1],16),parseInt(u[2]+u[2],16)],4===h&amp;&amp;(c=parseInt(u[3]+u[3],16)/255)):(l=[parseInt(u[0]+u[1],16),parseInt(u[2]+u[3],16),parseInt(u[4]+u[5],16)],8===h&amp;&amp;(c=parseInt(u[6]+u[7],16)/255)),l[0]||(l[0]=0),l[1]||(l[1]=0),l[2]||(l[2]=0),s=&quot;rgb&quot;}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];s=u=f.replace(/a$/,&quot;&quot;);var h=&quot;cmyk&quot;===u?4:&quot;gray&quot;===u?1:3;l=e[2].trim().split(/\s*,\s*/).map(function(t,e){if(/%$/.test(t))return e===h?parseFloat(t)/100:&quot;rgb&quot;===u?255*parseFloat(t)/100:parseFloat(t);if(&quot;h&quot;===u[e]){if(/deg$/.test(t))return parseFloat(t);if(void 0!==o[t])return o[t]}return parseFloat(t)}),f===u&amp;&amp;l.push(1),c=void 0===l[h]?1:l[h],l=l.slice(0,h)}else t.length&gt;10&amp;&amp;/[0-9](?:\s|\/)/.test(t)&amp;&amp;(l=t.match(/([0-9]+)/g).map(function(t){return parseFloat(t)}),s=t.match(/([a-z])/gi).join(&quot;&quot;).toLowerCase());else if(&quot;number&quot;==typeof t)s=&quot;rgb&quot;,l=[t&gt;&gt;&gt;16,(65280&amp;t)&gt;&gt;&gt;8,255&amp;t];else if(i(t)){var d=a(t.r,t.red,t.R,null);null!==d?(s=&quot;rgb&quot;,l=[d,a(t.g,t.green,t.G),a(t.b,t.blue,t.B)]):(s=&quot;hsl&quot;,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&amp;&amp;(c/=100)}else(Array.isArray(t)||r.ArrayBuffer&amp;&amp;ArrayBuffer.isView&amp;&amp;ArrayBuffer.isView(t))&amp;&amp;(l=[t[0],t[1],t[2]],s=&quot;rgb&quot;,c=4===t.length?t[3]:1);return{space:s,values:l,alpha:c}};var o={red:0,orange:60,yellow:120,green:180,blue:240,purple:300}}).call(this,&quot;undefined&quot;!=typeof global?global:&quot;undefined&quot;!=typeof self?self:&quot;undefined&quot;!=typeof window?window:{})},{&quot;color-name&quot;:98,defined:129,&quot;is-plain-obj&quot;:286}],101:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;color-parse&quot;),i=t(&quot;color-space/hsl&quot;),a=t(&quot;clamp&quot;);e.exports=function(t){var e;if(&quot;string&quot;!=typeof t)throw Error(&quot;Argument should be a string&quot;);var r=n(t);return r.space?(e=Array(3),e[0]=a(r.values[0],0,255),e[1]=a(r.values[1],0,255),e[2]=a(r.values[2],0,255),&quot;h&quot;===r.space[0]&amp;&amp;(e=i.rgb(e)),e.push(a(r.alpha,0,1)),e):[]}},{clamp:93,&quot;color-parse&quot;:100,&quot;color-space/hsl&quot;:102}],102:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;./rgb&quot;);e.exports={name:&quot;hsl&quot;,min:[0,0,0],max:[360,100,100],channel:[&quot;hue&quot;,&quot;saturation&quot;,&quot;lightness&quot;],alias:[&quot;HSL&quot;],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,a];e=2*l-(r=l&lt;.5?l*(1+s):l+s-l*s),i=[0,0,0];for(var c=0;c&lt;3;c++)(n=o+1/3*-(c-1))&lt;0?n++:n&gt;1&amp;&amp;n--,a=6*n&lt;1?e+6*(r-e)*n:2*n&lt;1?r:3*n&lt;2?e+(r-e)*(2/3-n)*6:e,i[c]=255*a;return i}},n.hsl=function(t){var e,r,n,i=t[0]/255,a=t[1]/255,o=t[2]/255,s=Math.min(i,a,o),l=Math.max(i,a,o),c=l-s;return l===s?e=0:i===l?e=(a-o)/c:a===l?e=2+(o-i)/c:o===l&amp;&amp;(e=4+(i-a)/c),(e=Math.min(60*e,360))&lt;0&amp;&amp;(e+=360),n=(s+l)/2,r=l===s?0:n&lt;=.5?c/(l+s):c/(2-l-s),[e,100*r,100*n]}},{&quot;./rgb&quot;:103}],103:[function(t,e,r){&quot;use strict&quot;;e.exports={name:&quot;rgb&quot;,min:[0,0,0],max:[255,255,255],channel:[&quot;red&quot;,&quot;green&quot;,&quot;blue&quot;],alias:[&quot;RGB&quot;]}},{}],104:[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]}],cool:[{index:0,rgb:[0,255,255]},{index:1,rgb:[255,0,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:0,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]}],&quot;rainbow-soft&quot;:[{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]}],&quot;freesurface-blue&quot;:[{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]}],&quot;freesurface-red&quot;:[{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]}],&quot;velocity-blue&quot;:[{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]}],&quot;velocity-green&quot;:[{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]}]}},{}],105:[function(t,e,r){&quot;use strict&quot;;function n(t){for(var e,r=&quot;#&quot;,n=0;n&lt;3;++n)r+=(&quot;00&quot;+(e=(e=t[n]).toString(16))).substr(e.length);return r}function i(t){return&quot;rgba(&quot;+t.join(&quot;,&quot;)+&quot;)&quot;}var a=t(&quot;arraytools&quot;),o=t(&quot;clone&quot;),s=t(&quot;./colorScales&quot;);e.exports=function(t){var e,r,l,c,u,f,h,d,p,m,g,v,y,x=[],b=[],_=[],w=[];if(a.isPlainObject(t)||(t={}),p=t.nshades||72,d=t.format||&quot;hex&quot;,(h=t.colormap)||(h=&quot;jet&quot;),&quot;string&quot;==typeof h){if(h=h.toLowerCase(),!s[h])throw Error(h+&quot; not a supported colorscale&quot;);f=o(s[h])}else{if(!Array.isArray(h))throw Error(&quot;unsupported colormap option&quot;,h);f=o(h)}if(f.length&gt;p)throw new Error(h+&quot; map requires nshades to be at least size &quot;+f.length);for(g=Array.isArray(t.alpha)?2!==t.alpha.length?[1,1]:o(t.alpha):&quot;number&quot;==typeof t.alpha?[t.alpha,t.alpha]:[1,1],e=f.map(function(t){return Math.round(t.index*p)}),g[0]&lt;0&amp;&amp;(g[0]=0),g[1]&lt;0&amp;&amp;(g[0]=0),g[0]&gt;1&amp;&amp;(g[0]=1),g[1]&gt;1&amp;&amp;(g[0]=1),y=0;y&lt;e.length;++y)v=f[y].index,4===(r=f[y].rgb).length&amp;&amp;r[3]&gt;=0&amp;&amp;r[3]&lt;=1||(r[3]=g[0]+(g[1]-g[0])*v);for(y=0;y&lt;e.length-1;++y)u=e[y+1]-e[y],l=f[y].rgb,c=f[y+1].rgb,x=x.concat(a.linspace(l[0],c[0],u)),b=b.concat(a.linspace(l[1],c[1],u)),_=_.concat(a.linspace(l[2],c[2],u)),w=w.concat(a.linspace(l[3],c[3],u));return x=x.map(Math.round),b=b.map(Math.round),_=_.map(Math.round),m=a.zip(x,b,_,w),&quot;hex&quot;===d&amp;&amp;(m=m.map(n)),&quot;rgbaString&quot;===d&amp;&amp;(m=m.map(i)),m}},{&quot;./colorScales&quot;:104,arraytools:50,clone:96}],106:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r){var n=o(t[0],-e[0]),i=o(t[1],-e[1]),a=o(r[0],-e[0]),c=o(r[1],-e[1]),u=l(s(n,a),s(i,c));return u[u.length-1]&gt;=0}e.exports=function(t,e,r,o){var s=i(e,r,o);if(0===s){var l=a(i(t,e,r)),c=a(i(t,e,o));if(l===c){if(0===l){var u=n(t,e,r);return u===n(t,e,o)?0:u?1:-1}return 0}return 0===c?l&gt;0?-1:n(t,e,o)?-1:1:0===l?c&gt;0?1:n(t,e,r)?1:-1:a(c-l)}var f=i(t,e,r);return f&gt;0?s&gt;0&amp;&amp;i(t,e,o)&gt;0?1:-1:f&lt;0?s&gt;0||i(t,e,o)&gt;0?1:-1:i(t,e,o)&gt;0?1:n(t,e,r)?1:-1};var i=t(&quot;robust-orientation&quot;),a=t(&quot;signum&quot;),o=t(&quot;two-sum&quot;),s=t(&quot;robust-product&quot;),l=t(&quot;robust-sum&quot;)},{&quot;robust-orientation&quot;:515,&quot;robust-product&quot;:516,&quot;robust-sum&quot;:520,signum:522,&quot;two-sum&quot;:553}],107:[function(t,e,r){function n(t,e){return t-e}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]||i(t[0],t[1])-i(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=i(t[0],t[1]),c=i(e[0],e[1]);return i(l,t[2])-i(c,e[2])||i(l+t[2],o)-i(c+e[2],s);case 4:var u=t[0],f=t[1],h=t[2],d=t[3],p=e[0],m=e[1],g=e[2],v=e[3];return u+f+h+d-(p+m+g+v)||i(u,f,h,d)-i(p,m,g,v,p)||i(u+f,u+h,u+d,f+h,f+d,h+d)-i(p+m,p+g,p+v,m+g,m+v,g+v)||i(u+f+h,u+f+d,u+h+d,f+h+d)-i(p+m+g,p+m+v,p+g+v,m+g+v);default:for(var y=t.slice().sort(n),x=e.slice().sort(n),b=0;b&lt;r;++b)if(a=y[b]-x[b])return a;return 0}};var i=Math.min},{}],108:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;compare-cell&quot;),i=t(&quot;cell-orientation&quot;);e.exports=function(t,e){return n(t,e)||i(t)-i(e)}},{&quot;cell-orientation&quot;:90,&quot;compare-cell&quot;:107}],109:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;./lib/ch1d&quot;),i=t(&quot;./lib/ch2d&quot;),a=t(&quot;./lib/chnd&quot;);e.exports=function(t){var e=t.length;if(0===e)return[];if(1===e)return[[0]];var r=t[0].length;return 0===r?[]:1===r?n(t):2===r?i(t):a(t,r)}},{&quot;./lib/ch1d&quot;:110,&quot;./lib/ch2d&quot;:111,&quot;./lib/chnd&quot;:112}],110:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t){for(var e=0,r=0,n=1;n&lt;t.length;++n)t[n][0]&lt;t[e][0]&amp;&amp;(e=n),t[n][0]&gt;t[r][0]&amp;&amp;(r=n);return e&lt;r?[[e],[r]]:e&gt;r?[[r],[e]]:[[e]]}},{}],111:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t){var e=n(t),r=e.length;if(r&lt;=2)return[];for(var i=new Array(r),a=e[r-1],o=0;o&lt;r;++o){var s=e[o];i[o]=[a,s],a=s}return i};var n=t(&quot;monotone-convex-hull-2d&quot;)},{&quot;monotone-convex-hull-2d&quot;:442}],112:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t,e){try{return n(t,!0)}catch(o){var r=i(t);if(r.length&lt;=e)return[];var a=function(t,e){for(var r=t.length,n=new Array(r),i=0;i&lt;e.length;++i)n[i]=t[e[i]];var a=e.length;for(i=0;i&lt;r;++i)e.indexOf(i)&lt;0&amp;&amp;(n[a++]=t[i]);return n}(t,r);return function(t,e){for(var r=t.length,n=e.length,i=0;i&lt;r;++i)for(var a=t[i],o=0;o&lt;a.length;++o){var s=a[o];if(s&lt;n)a[o]=e[s];else{s-=n;for(var l=0;l&lt;n;++l)s&gt;=e[l]&amp;&amp;(s+=1);a[o]=s}}return t}(n(a,!0),r)}};var n=t(&quot;incremental-convex-hull&quot;),i=t(&quot;affine-hull&quot;)},{&quot;affine-hull&quot;:45,&quot;incremental-convex-hull&quot;:278}],113:[function(t,e,r){e.exports={AFG:&quot;afghan&quot;,ALA:&quot;\\b\\wland&quot;,ALB:&quot;albania&quot;,DZA:&quot;algeria&quot;,ASM:&quot;^(?=.*americ).*samoa&quot;,AND:&quot;andorra&quot;,AGO:&quot;angola&quot;,AIA:&quot;anguill?a&quot;,ATA:&quot;antarctica&quot;,ATG:&quot;antigua&quot;,ARG:&quot;argentin&quot;,ARM:&quot;armenia&quot;,ABW:&quot;^(?!.*bonaire).*\\baruba&quot;,AUS:&quot;australia&quot;,AUT:&quot;^(?!.*hungary).*austria|\\baustri.*\\bemp&quot;,AZE:&quot;azerbaijan&quot;,BHS:&quot;bahamas&quot;,BHR:&quot;bahrain&quot;,BGD:&quot;bangladesh|^(?=.*east).*paki?stan&quot;,BRB:&quot;barbados&quot;,BLR:&quot;belarus|byelo&quot;,BEL:&quot;^(?!.*luxem).*belgium&quot;,BLZ:&quot;belize|^(?=.*british).*honduras&quot;,BEN:&quot;benin|dahome&quot;,BMU:&quot;bermuda&quot;,BTN:&quot;bhutan&quot;,BOL:&quot;bolivia&quot;,BES:&quot;^(?=.*bonaire).*eustatius|^(?=.*carib).*netherlands|\\bbes.?islands&quot;,BIH:&quot;herzegovina|bosnia&quot;,BWA:&quot;botswana|bechuana&quot;,BVT:&quot;bouvet&quot;,BRA:&quot;brazil&quot;,IOT:&quot;british.?indian.?ocean&quot;,BRN:&quot;brunei&quot;,BGR:&quot;bulgaria&quot;,BFA:&quot;burkina|\\bfaso|upper.?volta&quot;,BDI:&quot;burundi&quot;,CPV:&quot;verde&quot;,KHM:&quot;cambodia|kampuchea|khmer&quot;,CMR:&quot;cameroon&quot;,CAN:&quot;canada&quot;,CYM:&quot;cayman&quot;,CAF:&quot;\\bcentral.african.republic&quot;,TCD:&quot;\\bchad&quot;,CHL:&quot;\\bchile&quot;,CHN:&quot;^(?!.*\\bmac)(?!.*\\bhong)(?!.*\\btai)(?!.*\\brep).*china|^(?=.*peo)(?=.*rep).*china&quot;,CXR:&quot;christmas&quot;,CCK:&quot;\\bcocos|keeling&quot;,COL:&quot;colombia&quot;,COM:&quot;comoro&quot;,COG:&quot;^(?!.*\\bdem)(?!.*\\bd[\\.]?r)(?!.*kinshasa)(?!.*zaire)(?!.*belg)(?!.*l.opoldville)(?!.*free).*\\bcongo&quot;,COK:&quot;\\bcook&quot;,CRI:&quot;costa.?rica&quot;,CIV:&quot;ivoire|ivory&quot;,HRV:&quot;croatia&quot;,CUB:&quot;\\bcuba&quot;,CUW:&quot;^(?!.*bonaire).*\\bcura(c|\xe7)ao&quot;,CYP:&quot;cyprus&quot;,CSK:&quot;czechoslovakia&quot;,CZE:&quot;^(?=.*rep).*czech|czechia|bohemia&quot;,COD:&quot;\\bdem.*congo|congo.*\\bdem|congo.*\\bd[\\.]?r|\\bd[\\.]?r.*congo|belgian.?congo|congo.?free.?state|kinshasa|zaire|l.opoldville|drc|droc|rdc&quot;,DNK:&quot;denmark&quot;,DJI:&quot;djibouti&quot;,DMA:&quot;dominica(?!n)&quot;,DOM:&quot;dominican.rep&quot;,ECU:&quot;ecuador&quot;,EGY:&quot;egypt&quot;,SLV:&quot;el.?salvador&quot;,GNQ:&quot;guine.*eq|eq.*guine|^(?=.*span).*guinea&quot;,ERI:&quot;eritrea&quot;,EST:&quot;estonia&quot;,ETH:&quot;ethiopia|abyssinia&quot;,FLK:&quot;falkland|malvinas&quot;,FRO:&quot;faroe|faeroe&quot;,FJI:&quot;fiji&quot;,FIN:&quot;finland&quot;,FRA:&quot;^(?!.*\\bdep)(?!.*martinique).*france|french.?republic|\\bgaul&quot;,GUF:&quot;^(?=.*french).*guiana&quot;,PYF:&quot;french.?polynesia|tahiti&quot;,ATF:&quot;french.?southern&quot;,GAB:&quot;gabon&quot;,GMB:&quot;gambia&quot;,GEO:&quot;^(?!.*south).*georgia&quot;,DDR:&quot;german.?democratic.?republic|democratic.?republic.*germany|east.germany&quot;,DEU:&quot;^(?!.*east).*germany|^(?=.*\\bfed.*\\brep).*german&quot;,GHA:&quot;ghana|gold.?coast&quot;,GIB:&quot;gibraltar&quot;,GRC:&quot;greece|hellenic|hellas&quot;,GRL:&quot;greenland&quot;,GRD:&quot;grenada&quot;,GLP:&quot;guadeloupe&quot;,GUM:&quot;\\bguam&quot;,GTM:&quot;guatemala&quot;,GGY:&quot;guernsey&quot;,GIN:&quot;^(?!.*eq)(?!.*span)(?!.*bissau)(?!.*portu)(?!.*new).*guinea&quot;,GNB:&quot;bissau|^(?=.*portu).*guinea&quot;,GUY:&quot;guyana|british.?guiana&quot;,HTI:&quot;haiti&quot;,HMD:&quot;heard.*mcdonald&quot;,VAT:&quot;holy.?see|vatican|papal.?st&quot;,HND:&quot;^(?!.*brit).*honduras&quot;,HKG:&quot;hong.?kong&quot;,HUN:&quot;^(?!.*austr).*hungary&quot;,ISL:&quot;iceland&quot;,IND:&quot;india(?!.*ocea)&quot;,IDN:&quot;indonesia&quot;,IRN:&quot;\\biran|persia&quot;,IRQ:&quot;\\biraq|mesopotamia&quot;,IRL:&quot;(^ireland)|(^republic.*ireland)&quot;,IMN:&quot;^(?=.*isle).*\\bman&quot;,ISR:&quot;israel&quot;,ITA:&quot;italy&quot;,JAM:&quot;jamaica&quot;,JPN:&quot;japan&quot;,JEY:&quot;jersey&quot;,JOR:&quot;jordan&quot;,KAZ:&quot;kazak&quot;,KEN:&quot;kenya|british.?east.?africa|east.?africa.?prot&quot;,KIR:&quot;kiribati&quot;,PRK:&quot;^(?=.*democrat|people|north|d.*p.*.r).*\\bkorea|dprk|korea.*(d.*p.*r)&quot;,KWT:&quot;kuwait&quot;,KGZ:&quot;kyrgyz|kirghiz&quot;,LAO:&quot;\\blaos?\\b&quot;,LVA:&quot;latvia&quot;,LBN:&quot;lebanon&quot;,LSO:&quot;lesotho|basuto&quot;,LBR:&quot;liberia&quot;,LBY:&quot;libya&quot;,LIE:&quot;liechtenstein&quot;,LTU:&quot;lithuania&quot;,LUX:&quot;^(?!.*belg).*luxem&quot;,MAC:&quot;maca(o|u)&quot;,MDG:&quot;madagascar|malagasy&quot;,MWI:&quot;malawi|nyasa&quot;,MYS:&quot;malaysia&quot;,MDV:&quot;maldive&quot;,MLI:&quot;\\bmali\\b&quot;,MLT:&quot;\\bmalta&quot;,MHL:&quot;marshall&quot;,MTQ:&quot;martinique&quot;,MRT:&quot;mauritania&quot;,MUS:&quot;mauritius&quot;,MYT:&quot;\\bmayotte&quot;,MEX:&quot;\\bmexic&quot;,FSM:&quot;fed.*micronesia|micronesia.*fed&quot;,MCO:&quot;monaco&quot;,MNG:&quot;mongolia&quot;,MNE:&quot;^(?!.*serbia).*montenegro&quot;,MSR:&quot;montserrat&quot;,MAR:&quot;morocco|\\bmaroc&quot;,MOZ:&quot;mozambique&quot;,MMR:&quot;myanmar|burma&quot;,NAM:&quot;namibia&quot;,NRU:&quot;nauru&quot;,NPL:&quot;nepal&quot;,NLD:&quot;^(?!.*\\bant)(?!.*\\bcarib).*netherlands&quot;,ANT:&quot;^(?=.*\\bant).*(nether|dutch)&quot;,NCL:&quot;new.?caledonia&quot;,NZL:&quot;new.?zealand&quot;,NIC:&quot;nicaragua&quot;,NER:&quot;\\bniger(?!ia)&quot;,NGA:&quot;nigeria&quot;,NIU:&quot;niue&quot;,NFK:&quot;norfolk&quot;,MNP:&quot;mariana&quot;,NOR:&quot;norway&quot;,OMN:&quot;\\boman|trucial&quot;,PAK:&quot;^(?!.*east).*paki?stan&quot;,PLW:&quot;palau&quot;,PSE:&quot;palestin|\\bgaza|west.?bank&quot;,PAN:&quot;panama&quot;,PNG:&quot;papua|new.?guinea&quot;,PRY:&quot;paraguay&quot;,PER:&quot;peru&quot;,PHL:&quot;philippines&quot;,PCN:&quot;pitcairn&quot;,POL:&quot;poland&quot;,PRT:&quot;portugal&quot;,PRI:&quot;puerto.?rico&quot;,QAT:&quot;qatar&quot;,KOR:&quot;^(?!.*d.*p.*r)(?!.*democrat)(?!.*people)(?!.*north).*\\bkorea(?!.*d.*p.*r)&quot;,MDA:&quot;moldov|b(a|e)ssarabia&quot;,REU:&quot;r(e|\xe9)union&quot;,ROU:&quot;r(o|u|ou)mania&quot;,RUS:&quot;\\brussia|soviet.?union|u\\.?s\\.?s\\.?r|socialist.?republics&quot;,RWA:&quot;rwanda&quot;,BLM:&quot;barth(e|\xe9)lemy&quot;,SHN:&quot;helena&quot;,KNA:&quot;kitts|\\bnevis&quot;,LCA:&quot;\\blucia&quot;,MAF:&quot;^(?=.*collectivity).*martin|^(?=.*france).*martin(?!ique)|^(?=.*french).*martin(?!ique)&quot;,SPM:&quot;miquelon&quot;,VCT:&quot;vincent&quot;,WSM:&quot;^(?!.*amer).*samoa&quot;,SMR:&quot;san.?marino&quot;,STP:&quot;\\bs(a|\xe3)o.?tom(e|\xe9)&quot;,SAU:&quot;\\bsa\\w*.?arabia&quot;,SEN:&quot;senegal&quot;,SRB:&quot;^(?!.*monte).*serbia&quot;,SYC:&quot;seychell&quot;,SLE:&quot;sierra&quot;,SGP:&quot;singapore&quot;,SXM:&quot;^(?!.*martin)(?!.*saba).*maarten&quot;,SVK:&quot;^(?!.*cze).*slovak&quot;,SVN:&quot;slovenia&quot;,SLB:&quot;solomon&quot;,SOM:&quot;somali&quot;,ZAF:&quot;south.africa|s\\\\..?africa&quot;,SGS:&quot;south.?georgia|sandwich&quot;,SSD:&quot;\\bs\\w*.?sudan&quot;,ESP:&quot;spain&quot;,LKA:&quot;sri.?lanka|ceylon&quot;,SDN:&quot;^(?!.*\\bs(?!u)).*sudan&quot;,SUR:&quot;surinam|dutch.?guiana&quot;,SJM:&quot;svalbard&quot;,SWZ:&quot;swaziland&quot;,SWE:&quot;sweden&quot;,CHE:&quot;switz|swiss&quot;,SYR:&quot;syria&quot;,TWN:&quot;taiwan|taipei|formosa|^(?!.*peo)(?=.*rep).*china&quot;,TJK:&quot;tajik&quot;,THA:&quot;thailand|\\bsiam&quot;,MKD:&quot;macedonia|fyrom&quot;,TLS:&quot;^(?=.*leste).*timor|^(?=.*east).*timor&quot;,TGO:&quot;togo&quot;,TKL:&quot;tokelau&quot;,TON:&quot;tonga&quot;,TTO:&quot;trinidad|tobago&quot;,TUN:&quot;tunisia&quot;,TUR:&quot;turkey&quot;,TKM:&quot;turkmen&quot;,TCA:&quot;turks&quot;,TUV:&quot;tuvalu&quot;,UGA:&quot;uganda&quot;,UKR:&quot;ukrain&quot;,ARE:&quot;emirates|^u\\.?a\\.?e\\.?$|united.?arab.?em&quot;,GBR:&quot;united.?kingdom|britain|^u\\.?k\\.?$&quot;,TZA:&quot;tanzania&quot;,USA:&quot;united.?states\\b(?!.*islands)|\\bu\\.?s\\.?a\\.?\\b|^\\s*u\\.?s\\.?\\b(?!.*islands)&quot;,UMI:&quot;minor.?outlying.?is&quot;,URY:&quot;uruguay&quot;,UZB:&quot;uzbek&quot;,VUT:&quot;vanuatu|new.?hebrides&quot;,VEN:&quot;venezuela&quot;,VNM:&quot;^(?!.*republic).*viet.?nam|^(?=.*socialist).*viet.?nam&quot;,VGB:&quot;^(?=.*\\bu\\.?\\s?k).*virgin|^(?=.*brit).*virgin|^(?=.*kingdom).*virgin&quot;,VIR:&quot;^(?=.*\\bu\\.?\\s?s).*virgin|^(?=.*states).*virgin&quot;,WLF:&quot;futuna|wallis&quot;,ESH:&quot;western.sahara&quot;,YEM:&quot;^(?!.*arab)(?!.*north)(?!.*sana)(?!.*peo)(?!.*dem)(?!.*south)(?!.*aden)(?!.*\\bp\\.?d\\.?r).*yemen&quot;,YMD:&quot;^(?=.*peo).*yemen|^(?!.*rep)(?=.*dem).*yemen|^(?=.*south).*yemen|^(?=.*aden).*yemen|^(?=.*\\bp\\.?d\\.?r).*yemen&quot;,YUG:&quot;yugoslavia&quot;,ZMB:&quot;zambia|northern.?rhodesia&quot;,EAZ:&quot;zanzibar&quot;,ZWE:&quot;zimbabwe|^(?!.*northern).*rhodesia&quot;}},{}],114:[function(t,e,r){function n(t){return(t=Math.round(t))&lt;0?0:t&gt;255?255:t}function i(t){return t&lt;0?0:t&gt;1?1:t}function a(t){return n(&quot;%&quot;===t[t.length-1]?parseFloat(t)/100*255:parseInt(t))}function o(t){return i(&quot;%&quot;===t[t.length-1]?parseFloat(t)/100:parseFloat(t))}function s(t,e,r){return r&lt;0?r+=1:r&gt;1&amp;&amp;(r-=1),6*r&lt;1?t+(e-t)*r*6:2*r&lt;1?e:3*r&lt;2?t+(e-t)*(2/3-r)*6:t}function l(t){var e=t.replace(/ /g,&quot;&quot;).toLowerCase();if(e in c)return c[e].slice();if(&quot;#&quot;===e[0]){if(4===e.length){return(r=parseInt(e.substr(1),16))&gt;=0&amp;&amp;r&lt;=4095?[(3840&amp;r)&gt;&gt;4|(3840&amp;r)&gt;&gt;8,240&amp;r|(240&amp;r)&gt;&gt;4,15&amp;r|(15&amp;r)&lt;&lt;4,1]:null}if(7===e.length){var r;return(r=parseInt(e.substr(1),16))&gt;=0&amp;&amp;r&lt;=16777215?[(16711680&amp;r)&gt;&gt;16,(65280&amp;r)&gt;&gt;8,255&amp;r,1]:null}return null}var i=e.indexOf(&quot;(&quot;),l=e.indexOf(&quot;)&quot;);if(-1!==i&amp;&amp;l+1===e.length){var u=e.substr(0,i),f=e.substr(i+1,l-(i+1)).split(&quot;,&quot;),h=1;switch(u){case&quot;rgba&quot;:if(4!==f.length)return null;h=o(f.pop());case&quot;rgb&quot;:return 3!==f.length?null:[a(f[0]),a(f[1]),a(f[2]),h];case&quot;hsla&quot;:if(4!==f.length)return null;h=o(f.pop());case&quot;hsl&quot;:if(3!==f.length)return null;var d=(parseFloat(f[0])%360+360)%360/360,p=o(f[1]),m=o(f[2]),g=m&lt;=.5?m*(p+1):m+p-m*p,v=2*m-g;return[n(255*s(v,g,d+1/3)),n(255*s(v,g,d)),n(255*s(v,g,d-1/3)),h];default:return null}}return null}var c={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]};try{r.parseCSSColor=l}catch(t){}},{}],115:[function(t,e,r){&quot;use strict&quot;;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 d=t.length-1;d&gt;=0;--d)a[d]=c*t[d]+u*e[d]+f*r[d]+h*n[d];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&gt;=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}},{}],116:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;./lib/thunk.js&quot;);e.exports=function(t){var e=new function(){this.argTypes=[],this.shimArgs=[],this.arrayArgs=[],this.arrayBlockIndices=[],this.scalarArgs=[],this.offsetArgs=[],this.offsetArgIndex=[],this.indexArgs=[],this.shapeArgs=[],this.funcName=&quot;&quot;,this.pre=null,this.body=null,this.post=null,this.debug=!1};e.pre=t.pre,e.body=t.body,e.post=t.post;var r=t.args.slice(0);e.argTypes=r;for(var i=0;i&lt;r.length;++i){var a=r[i];if(&quot;array&quot;===a||&quot;object&quot;==typeof a&amp;&amp;a.blockIndices){if(e.argTypes[i]=&quot;array&quot;,e.arrayArgs.push(i),e.arrayBlockIndices.push(a.blockIndices?a.blockIndices:0),e.shimArgs.push(&quot;array&quot;+i),i&lt;e.pre.args.length&amp;&amp;e.pre.args[i].count&gt;0)throw new Error(&quot;cwise: pre() block may not reference array args&quot;);if(i&lt;e.post.args.length&amp;&amp;e.post.args[i].count&gt;0)throw new Error(&quot;cwise: post() block may not reference array args&quot;)}else if(&quot;scalar&quot;===a)e.scalarArgs.push(i),e.shimArgs.push(&quot;scalar&quot;+i);else if(&quot;index&quot;===a){if(e.indexArgs.push(i),i&lt;e.pre.args.length&amp;&amp;e.pre.args[i].count&gt;0)throw new Error(&quot;cwise: pre() block may not reference array index&quot;);if(i&lt;e.body.args.length&amp;&amp;e.body.args[i].lvalue)throw new Error(&quot;cwise: body() block may not write to array index&quot;);if(i&lt;e.post.args.length&amp;&amp;e.post.args[i].count&gt;0)throw new Error(&quot;cwise: post() block may not reference array index&quot;)}else if(&quot;shape&quot;===a){if(e.shapeArgs.push(i),i&lt;e.pre.args.length&amp;&amp;e.pre.args[i].lvalue)throw new Error(&quot;cwise: pre() block may not write to array shape&quot;);if(i&lt;e.body.args.length&amp;&amp;e.body.args[i].lvalue)throw new Error(&quot;cwise: body() block may not write to array shape&quot;);if(i&lt;e.post.args.length&amp;&amp;e.post.args[i].lvalue)throw new Error(&quot;cwise: post() block may not write to array shape&quot;)}else{if(&quot;object&quot;!=typeof a||!a.offset)throw new Error(&quot;cwise: Unknown argument type &quot;+r[i]);e.argTypes[i]=&quot;offset&quot;,e.offsetArgs.push({array:a.array,offset:a.offset}),e.offsetArgIndex.push(i)}}if(e.arrayArgs.length&lt;=0)throw new Error(&quot;cwise: No array arguments specified&quot;);if(e.pre.args.length&gt;r.length)throw new Error(&quot;cwise: Too many arguments in pre() block&quot;);if(e.body.args.length&gt;r.length)throw new Error(&quot;cwise: Too many arguments in body() block&quot;);if(e.post.args.length&gt;r.length)throw new Error(&quot;cwise: Too many arguments in post() block&quot;);return e.debug=!!t.printCode||!!t.debug,e.funcName=t.funcName||&quot;cwise&quot;,e.blockSize=t.blockSize||64,n(e)}},{&quot;./lib/thunk.js&quot;:118}],117:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r){var n,i,a=t.length,o=e.arrayArgs.length,s=e.indexArgs.length&gt;0,l=[],c=[],u=0,f=0;for(n=0;n&lt;a;++n)c.push([&quot;i&quot;,n,&quot;=0&quot;].join(&quot;&quot;));for(i=0;i&lt;o;++i)for(n=0;n&lt;a;++n)f=u,u=t[n],0===n?c.push([&quot;d&quot;,i,&quot;s&quot;,n,&quot;=t&quot;,i,&quot;p&quot;,u].join(&quot;&quot;)):c.push([&quot;d&quot;,i,&quot;s&quot;,n,&quot;=(t&quot;,i,&quot;p&quot;,u,&quot;-s&quot;,f,&quot;*t&quot;,i,&quot;p&quot;,f,&quot;)&quot;].join(&quot;&quot;));for(l.push(&quot;var &quot;+c.join(&quot;,&quot;)),n=a-1;n&gt;=0;--n)u=t[n],l.push([&quot;for(i&quot;,n,&quot;=0;i&quot;,n,&quot;&lt;s&quot;,u,&quot;;++i&quot;,n,&quot;){&quot;].join(&quot;&quot;));for(l.push(r),n=0;n&lt;a;++n){for(f=u,u=t[n],i=0;i&lt;o;++i)l.push([&quot;p&quot;,i,&quot;+=d&quot;,i,&quot;s&quot;,n].join(&quot;&quot;));s&amp;&amp;(n&gt;0&amp;&amp;l.push([&quot;index[&quot;,f,&quot;]-=s&quot;,f].join(&quot;&quot;)),l.push([&quot;++index[&quot;,u,&quot;]&quot;].join(&quot;&quot;))),l.push(&quot;}&quot;)}return l.join(&quot;\n&quot;)}function i(t,e,r){for(var n=t.body,i=[],a=[],o=0;o&lt;t.args.length;++o){var s=t.args[o];if(!(s.count&lt;=0)){var l=new RegExp(s.name,&quot;g&quot;),c=&quot;&quot;,u=e.arrayArgs.indexOf(o);switch(e.argTypes[o]){case&quot;offset&quot;:var f=e.offsetArgIndex.indexOf(o);u=e.offsetArgs[f].array,c=&quot;+q&quot;+f;case&quot;array&quot;:c=&quot;p&quot;+u+c;var h=&quot;l&quot;+o,d=&quot;a&quot;+u;if(0===e.arrayBlockIndices[u])1===s.count?&quot;generic&quot;===r[u]?s.lvalue?(i.push([&quot;var &quot;,h,&quot;=&quot;,d,&quot;.get(&quot;,c,&quot;)&quot;].join(&quot;&quot;)),n=n.replace(l,h),a.push([d,&quot;.set(&quot;,c,&quot;,&quot;,h,&quot;)&quot;].join(&quot;&quot;))):n=n.replace(l,[d,&quot;.get(&quot;,c,&quot;)&quot;].join(&quot;&quot;)):n=n.replace(l,[d,&quot;[&quot;,c,&quot;]&quot;].join(&quot;&quot;)):&quot;generic&quot;===r[u]?(i.push([&quot;var &quot;,h,&quot;=&quot;,d,&quot;.get(&quot;,c,&quot;)&quot;].join(&quot;&quot;)),n=n.replace(l,h),s.lvalue&amp;&amp;a.push([d,&quot;.set(&quot;,c,&quot;,&quot;,h,&quot;)&quot;].join(&quot;&quot;))):(i.push([&quot;var &quot;,h,&quot;=&quot;,d,&quot;[&quot;,c,&quot;]&quot;].join(&quot;&quot;)),n=n.replace(l,h),s.lvalue&amp;&amp;a.push([d,&quot;[&quot;,c,&quot;]=&quot;,h].join(&quot;&quot;)));else{for(var p=[s.name],m=[c],g=0;g&lt;Math.abs(e.arrayBlockIndices[u]);g++)p.push(&quot;\\s*\\[([^\\]]+)\\]&quot;),m.push(&quot;$&quot;+(g+1)+&quot;*t&quot;+u+&quot;b&quot;+g);if(l=new RegExp(p.join(&quot;&quot;),&quot;g&quot;),c=m.join(&quot;+&quot;),&quot;generic&quot;===r[u])throw new Error(&quot;cwise: Generic arrays not supported in combination with blocks!&quot;);n=n.replace(l,[d,&quot;[&quot;,c,&quot;]&quot;].join(&quot;&quot;))}break;case&quot;scalar&quot;:n=n.replace(l,&quot;Y&quot;+e.scalarArgs.indexOf(o));break;case&quot;index&quot;:n=n.replace(l,&quot;index&quot;);break;case&quot;shape&quot;:n=n.replace(l,&quot;shape&quot;)}}}return[i.join(&quot;\n&quot;),n,a.join(&quot;\n&quot;)].join(&quot;\n&quot;).trim()}var a=t(&quot;uniq&quot;);e.exports=function(t,e){for(var r=e[1].length-Math.abs(t.arrayBlockIndices[0])|0,o=new Array(t.arrayArgs.length),s=new Array(t.arrayArgs.length),l=0;l&lt;t.arrayArgs.length;++l)s[l]=e[2*l],o[l]=e[2*l+1];var c=[],u=[],f=[],h=[],d=[];for(l=0;l&lt;t.arrayArgs.length;++l){t.arrayBlockIndices[l]&lt;0?(f.push(0),h.push(r),c.push(r),u.push(r+t.arrayBlockIndices[l])):(f.push(t.arrayBlockIndices[l]),h.push(t.arrayBlockIndices[l]+r),c.push(0),u.push(t.arrayBlockIndices[l]));for(var p=[],m=0;m&lt;o[l].length;m++)f[l]&lt;=o[l][m]&amp;&amp;o[l][m]&lt;h[l]&amp;&amp;p.push(o[l][m]-f[l]);d.push(p)}var g=[&quot;SS&quot;],v=[&quot;'use strict'&quot;],y=[];for(m=0;m&lt;r;++m)y.push([&quot;s&quot;,m,&quot;=SS[&quot;,m,&quot;]&quot;].join(&quot;&quot;));for(l=0;l&lt;t.arrayArgs.length;++l){for(g.push(&quot;a&quot;+l),g.push(&quot;t&quot;+l),g.push(&quot;p&quot;+l),m=0;m&lt;r;++m)y.push([&quot;t&quot;,l,&quot;p&quot;,m,&quot;=t&quot;,l,&quot;[&quot;,f[l]+m,&quot;]&quot;].join(&quot;&quot;));for(m=0;m&lt;Math.abs(t.arrayBlockIndices[l]);++m)y.push([&quot;t&quot;,l,&quot;b&quot;,m,&quot;=t&quot;,l,&quot;[&quot;,c[l]+m,&quot;]&quot;].join(&quot;&quot;))}for(l=0;l&lt;t.scalarArgs.length;++l)g.push(&quot;Y&quot;+l);if(t.shapeArgs.length&gt;0&amp;&amp;y.push(&quot;shape=SS.slice(0)&quot;),t.indexArgs.length&gt;0){var x=new Array(r);for(l=0;l&lt;r;++l)x[l]=&quot;0&quot;;y.push([&quot;index=[&quot;,x.join(&quot;,&quot;),&quot;]&quot;].join(&quot;&quot;))}for(l=0;l&lt;t.offsetArgs.length;++l){var b=t.offsetArgs[l],_=[];for(m=0;m&lt;b.offset.length;++m)0!==b.offset[m]&amp;&amp;(1===b.offset[m]?_.push([&quot;t&quot;,b.array,&quot;p&quot;,m].join(&quot;&quot;)):_.push([b.offset[m],&quot;*t&quot;,b.array,&quot;p&quot;,m].join(&quot;&quot;)));0===_.length?y.push(&quot;q&quot;+l+&quot;=0&quot;):y.push([&quot;q&quot;,l,&quot;=&quot;,_.join(&quot;+&quot;)].join(&quot;&quot;))}var w=a([].concat(t.pre.thisVars).concat(t.body.thisVars).concat(t.post.thisVars));for(y=y.concat(w),v.push(&quot;var &quot;+y.join(&quot;,&quot;)),l=0;l&lt;t.arrayArgs.length;++l)v.push(&quot;p&quot;+l+&quot;|=0&quot;);t.pre.body.length&gt;3&amp;&amp;v.push(i(t.pre,t,s));var M=i(t.body,t,s),k=function(t){for(var e=0,r=t[0].length;e&lt;r;){for(var n=1;n&lt;t.length;++n)if(t[n][e]!==t[0][e])return e;++e}return e}(d);k&lt;r?v.push(function(t,e,r,i){for(var a=e.length,o=r.arrayArgs.length,s=r.blockSize,l=r.indexArgs.length&gt;0,c=[],u=0;u&lt;o;++u)c.push([&quot;var offset&quot;,u,&quot;=p&quot;,u].join(&quot;&quot;));for(u=t;u&lt;a;++u)c.push([&quot;for(var j&quot;+u+&quot;=SS[&quot;,e[u],&quot;]|0;j&quot;,u,&quot;&gt;0;){&quot;].join(&quot;&quot;)),c.push([&quot;if(j&quot;,u,&quot;&lt;&quot;,s,&quot;){&quot;].join(&quot;&quot;)),c.push([&quot;s&quot;,e[u],&quot;=j&quot;,u].join(&quot;&quot;)),c.push([&quot;j&quot;,u,&quot;=0&quot;].join(&quot;&quot;)),c.push([&quot;}else{s&quot;,e[u],&quot;=&quot;,s].join(&quot;&quot;)),c.push([&quot;j&quot;,u,&quot;-=&quot;,s,&quot;}&quot;].join(&quot;&quot;)),l&amp;&amp;c.push([&quot;index[&quot;,e[u],&quot;]=j&quot;,u].join(&quot;&quot;));for(u=0;u&lt;o;++u){for(var f=[&quot;offset&quot;+u],h=t;h&lt;a;++h)f.push([&quot;j&quot;,h,&quot;*t&quot;,u,&quot;p&quot;,e[h]].join(&quot;&quot;));c.push([&quot;p&quot;,u,&quot;=(&quot;,f.join(&quot;+&quot;),&quot;)&quot;].join(&quot;&quot;))}for(c.push(n(e,r,i)),u=t;u&lt;a;++u)c.push(&quot;}&quot;);return c.join(&quot;\n&quot;)}(k,d[0],t,M)):v.push(n(d[0],t,M)),t.post.body.length&gt;3&amp;&amp;v.push(i(t.post,t,s)),t.debug&amp;&amp;console.log(&quot;-----Generated cwise routine for &quot;,e,&quot;:\n&quot;+v.join(&quot;\n&quot;)+&quot;\n----------&quot;);var A=[t.funcName||&quot;unnamed&quot;,&quot;_cwise_loop_&quot;,o[0].join(&quot;s&quot;),&quot;m&quot;,k,function(t){for(var e=new Array(t.length),r=!0,n=0;n&lt;t.length;++n){var i=t[n],a=i.match(/\d+/);a=a?a[0]:&quot;&quot;,0===i.charAt(0)?e[n]=&quot;u&quot;+i.charAt(1)+a:e[n]=i.charAt(0)+a,n&gt;0&amp;&amp;(r=r&amp;&amp;e[n]===e[n-1])}return r?e[0]:e.join(&quot;&quot;)}(s)].join(&quot;&quot;);return new Function([&quot;function &quot;,A,&quot;(&quot;,g.join(&quot;,&quot;),&quot;){&quot;,v.join(&quot;\n&quot;),&quot;} return &quot;,A].join(&quot;&quot;))()}},{uniq:556}],118:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;./compile.js&quot;);e.exports=function(t){var e=[&quot;'use strict'&quot;,&quot;var CACHED={}&quot;],r=[],i=t.funcName+&quot;_cwise_thunk&quot;;e.push([&quot;return function &quot;,i,&quot;(&quot;,t.shimArgs.join(&quot;,&quot;),&quot;){&quot;].join(&quot;&quot;));for(var a=[],o=[],s=[[&quot;array&quot;,t.arrayArgs[0],&quot;.shape.slice(&quot;,Math.max(0,t.arrayBlockIndices[0]),t.arrayBlockIndices[0]&lt;0?&quot;,&quot;+t.arrayBlockIndices[0]+&quot;)&quot;:&quot;)&quot;].join(&quot;&quot;)],l=[],c=[],u=0;u&lt;t.arrayArgs.length;++u){var f=t.arrayArgs[u];r.push([&quot;t&quot;,f,&quot;=array&quot;,f,&quot;.dtype,&quot;,&quot;r&quot;,f,&quot;=array&quot;,f,&quot;.order&quot;].join(&quot;&quot;)),a.push(&quot;t&quot;+f),a.push(&quot;r&quot;+f),o.push(&quot;t&quot;+f),o.push(&quot;r&quot;+f+&quot;.join()&quot;),s.push(&quot;array&quot;+f+&quot;.data&quot;),s.push(&quot;array&quot;+f+&quot;.stride&quot;),s.push(&quot;array&quot;+f+&quot;.offset|0&quot;),u&gt;0&amp;&amp;(l.push(&quot;array&quot;+t.arrayArgs[0]+&quot;.shape.length===array&quot;+f+&quot;.shape.length+&quot;+(Math.abs(t.arrayBlockIndices[0])-Math.abs(t.arrayBlockIndices[u]))),c.push(&quot;array&quot;+t.arrayArgs[0]+&quot;.shape[shapeIndex+&quot;+Math.max(0,t.arrayBlockIndices[0])+&quot;]===array&quot;+f+&quot;.shape[shapeIndex+&quot;+Math.max(0,t.arrayBlockIndices[u])+&quot;]&quot;))}for(t.arrayArgs.length&gt;1&amp;&amp;(e.push(&quot;if (!(&quot;+l.join(&quot; &amp;&amp; &quot;)+&quot;)) throw new Error('cwise: Arrays do not all have the same dimensionality!')&quot;),e.push(&quot;for(var shapeIndex=array&quot;+t.arrayArgs[0]+&quot;.shape.length-&quot;+Math.abs(t.arrayBlockIndices[0])+&quot;; shapeIndex--\x3e0;) {&quot;),e.push(&quot;if (!(&quot;+c.join(&quot; &amp;&amp; &quot;)+&quot;)) throw new Error('cwise: Arrays do not all have the same shape!')&quot;),e.push(&quot;}&quot;)),u=0;u&lt;t.scalarArgs.length;++u)s.push(&quot;scalar&quot;+t.scalarArgs[u]);return r.push([&quot;type=[&quot;,o.join(&quot;,&quot;),&quot;].join()&quot;].join(&quot;&quot;)),r.push(&quot;proc=CACHED[type]&quot;),e.push(&quot;var &quot;+r.join(&quot;,&quot;)),e.push([&quot;if(!proc){&quot;,&quot;CACHED[type]=proc=compile([&quot;,a.join(&quot;,&quot;),&quot;])}&quot;,&quot;return proc(&quot;,s.join(&quot;,&quot;),&quot;)}&quot;].join(&quot;&quot;)),t.debug&amp;&amp;console.log(&quot;-----Generated thunk:\n&quot;+e.join(&quot;\n&quot;)+&quot;\n----------&quot;),new Function(&quot;compile&quot;,e.join(&quot;\n&quot;))(n.bind(void 0,t))}},{&quot;./compile.js&quot;:117}],119:[function(t,e,r){e.exports=t(&quot;cwise-compiler&quot;)},{&quot;cwise-compiler&quot;:116}],120:[function(t,e,r){!function(t,n){n(&quot;object&quot;==typeof r&amp;&amp;void 0!==e?r:t.d3=t.d3||{})}(this,function(t){&quot;use strict&quot;;function e(t,e){return[t,e]}function r(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&gt;=0?(a&gt;=b?10:a&gt;=_?5:a&gt;=w?2:1)*Math.pow(10,i):-Math.pow(10,-i)/(a&gt;=b?10:a&gt;=_?5:a&gt;=w?2:1)}function n(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&gt;=b?i*=10:a&gt;=_?i*=5:a&gt;=w&amp;&amp;(i*=2),e&lt;t?-i:i}function i(t){return t.length}var a=function(t,e){return t&lt;e?-1:t&gt;e?1:t&gt;=e?0:NaN},o=function(t){return 1===t.length&amp;&amp;(t=function(t){return function(e,r){return a(t(e),r)}}(t)),{left:function(e,r,n,i){for(null==n&amp;&amp;(n=0),null==i&amp;&amp;(i=e.length);n&lt;i;){var a=n+i&gt;&gt;&gt;1;t(e[a],r)&lt;0?n=a+1:i=a}return n},right:function(e,r,n,i){for(null==n&amp;&amp;(n=0),null==i&amp;&amp;(i=e.length);n&lt;i;){var a=n+i&gt;&gt;&gt;1;t(e[a],r)&gt;0?i=a:n=a+1}return n}}},s=o(a),l=s.right,c=s.left,u=function(t){return null===t?NaN:+t},f=function(t,e){var r,n,i=t.length,a=0,o=-1,s=0,l=0;if(null==e)for(;++o&lt;i;)isNaN(r=u(t[o]))||(l+=(n=r-s)*(r-(s+=n/++a)));else for(;++o&lt;i;)isNaN(r=u(e(t[o],o,t)))||(l+=(n=r-s)*(r-(s+=n/++a)));if(a&gt;1)return l/(a-1)},h=function(t,e){var r=f(t,e);return r?Math.sqrt(r):r},d=function(t,e){var r,n,i,a=t.length,o=-1;if(null==e){for(;++o&lt;a;)if(null!=(r=t[o])&amp;&amp;r&gt;=r)for(n=i=r;++o&lt;a;)null!=(r=t[o])&amp;&amp;(n&gt;r&amp;&amp;(n=r),i&lt;r&amp;&amp;(i=r))}else for(;++o&lt;a;)if(null!=(r=e(t[o],o,t))&amp;&amp;r&gt;=r)for(n=i=r;++o&lt;a;)null!=(r=e(t[o],o,t))&amp;&amp;(n&gt;r&amp;&amp;(n=r),i&lt;r&amp;&amp;(i=r));return[n,i]},p=Array.prototype,m=p.slice,g=p.map,v=function(t){return function(){return t}},y=function(t){return t},x=function(t,e,r){t=+t,e=+e,r=(i=arguments.length)&lt;2?(e=t,t=0,1):i&lt;3?1:+r;for(var n=-1,i=0|Math.max(0,Math.ceil((e-t)/r)),a=new Array(i);++n&lt;i;)a[n]=t+n*r;return a},b=Math.sqrt(50),_=Math.sqrt(10),w=Math.sqrt(2),M=function(t){return Math.ceil(Math.log(t.length)/Math.LN2)+1},k=function(t,e,r){if(null==r&amp;&amp;(r=u),n=t.length){if((e=+e)&lt;=0||n&lt;2)return+r(t[0],0,t);if(e&gt;=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)}},A=function(t,e){var r,n,i=t.length,a=-1;if(null==e){for(;++a&lt;i;)if(null!=(r=t[a])&amp;&amp;r&gt;=r)for(n=r;++a&lt;i;)null!=(r=t[a])&amp;&amp;n&gt;r&amp;&amp;(n=r)}else for(;++a&lt;i;)if(null!=(r=e(t[a],a,t))&amp;&amp;r&gt;=r)for(n=r;++a&lt;i;)null!=(r=e(t[a],a,t))&amp;&amp;n&gt;r&amp;&amp;(n=r);return n},T=function(t){if(!(a=t.length))return[];for(var e=-1,r=A(t,i),n=new Array(r);++e&lt;r;)for(var a,o=-1,s=n[e]=new Array(a);++o&lt;a;)s[o]=t[o][e];return n};t.bisect=l,t.bisectRight=l,t.bisectLeft=c,t.ascending=a,t.bisector=o,t.cross=function(t,r,n){var i,a,o,s,l=t.length,c=r.length,u=new Array(l*c);for(null==n&amp;&amp;(n=e),i=o=0;i&lt;l;++i)for(s=t[i],a=0;a&lt;c;++a,++o)u[o]=n(s,r[a]);return u},t.descending=function(t,e){return e&lt;t?-1:e&gt;t?1:e&gt;=t?0:NaN},t.deviation=h,t.extent=d,t.histogram=function(){function t(t){var a,o,s=t.length,c=new Array(s);for(a=0;a&lt;s;++a)c[a]=e(t[a],a,t);var u=r(c),f=u[0],h=u[1],d=i(c,f,h);Array.isArray(d)||(d=n(f,h,d),d=x(Math.ceil(f/d)*d,Math.floor(h/d)*d,d));for(var p=d.length;d[0]&lt;=f;)d.shift(),--p;for(;d[p-1]&gt;h;)d.pop(),--p;var m,g=new Array(p+1);for(a=0;a&lt;=p;++a)(m=g[a]=[]).x0=a&gt;0?d[a-1]:f,m.x1=a&lt;p?d[a]:h;for(a=0;a&lt;s;++a)f&lt;=(o=c[a])&amp;&amp;o&lt;=h&amp;&amp;g[l(d,o,0,p)].push(t[a]);return g}var e=y,r=d,i=M;return t.value=function(r){return arguments.length?(e=&quot;function&quot;==typeof r?r:v(r),t):e},t.domain=function(e){return arguments.length?(r=&quot;function&quot;==typeof e?e:v([e[0],e[1]]),t):r},t.thresholds=function(e){return arguments.length?(i=&quot;function&quot;==typeof e?e:v(Array.isArray(e)?m.call(e):e),t):i},t},t.thresholdFreedmanDiaconis=function(t,e,r){return t=g.call(t,u).sort(a),Math.ceil((r-e)/(2*(k(t,.75)-k(t,.25))*Math.pow(t.length,-1/3)))},t.thresholdScott=function(t,e,r){return Math.ceil((r-e)/(3.5*h(t)*Math.pow(t.length,-1/3)))},t.thresholdSturges=M,t.max=function(t,e){var r,n,i=t.length,a=-1;if(null==e){for(;++a&lt;i;)if(null!=(r=t[a])&amp;&amp;r&gt;=r)for(n=r;++a&lt;i;)null!=(r=t[a])&amp;&amp;r&gt;n&amp;&amp;(n=r)}else for(;++a&lt;i;)if(null!=(r=e(t[a],a,t))&amp;&amp;r&gt;=r)for(n=r;++a&lt;i;)null!=(r=e(t[a],a,t))&amp;&amp;r&gt;n&amp;&amp;(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&lt;n;)isNaN(r=u(t[a]))?--i:o+=r;else for(;++a&lt;n;)isNaN(r=u(e(t[a],a,t)))?--i:o+=r;if(i)return o/i},t.median=function(t,e){var r,n=t.length,i=-1,o=[];if(null==e)for(;++i&lt;n;)isNaN(r=u(t[i]))||o.push(r);else for(;++i&lt;n;)isNaN(r=u(e(t[i],i,t)))||o.push(r);return k(o.sort(a),.5)},t.merge=function(t){for(var e,r,n,i=t.length,a=-1,o=0;++a&lt;i;)o+=t[a].length;for(r=new Array(o);--i&gt;=0;)for(e=(n=t[i]).length;--e&gt;=0;)r[--o]=n[e];return r},t.min=A,t.pairs=function(t,r){null==r&amp;&amp;(r=e);for(var n=0,i=t.length-1,a=t[0],o=new Array(i&lt;0?0:i);n&lt;i;)o[n]=r(a,a=t[++n]);return o},t.permute=function(t,e){for(var r=e.length,n=new Array(r);r--;)n[r]=t[e[r]];return n},t.quantile=k,t.range=x,t.scan=function(t,e){if(r=t.length){var r,n,i=0,o=0,s=t[o];for(null==e&amp;&amp;(e=a);++i&lt;r;)(e(n=t[i],s)&lt;0||0!==e(s,s))&amp;&amp;(s=n,o=i);return 0===e(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&lt;n;)(r=+t[i])&amp;&amp;(a+=r);else for(;++i&lt;n;)(r=+e(t[i],i,t))&amp;&amp;(a+=r);return a},t.ticks=function(t,e,n){var i,a,o,s=e&lt;t,l=-1;if(s&amp;&amp;(i=t,t=e,e=i),0===(o=r(t,e,n))||!isFinite(o))return[];if(o&gt;0)for(t=Math.ceil(t/o),e=Math.floor(e/o),a=new Array(i=Math.ceil(e-t+1));++l&lt;i;)a[l]=(t+l)*o;else for(t=Math.floor(t*o),e=Math.ceil(e*o),a=new Array(i=Math.ceil(t-e+1));++l&lt;i;)a[l]=(t-l)/o;return s&amp;&amp;a.reverse(),a},t.tickIncrement=r,t.tickStep=n,t.transpose=T,t.variance=f,t.zip=function(){return T(arguments)},Object.defineProperty(t,&quot;__esModule&quot;,{value:!0})})},{}],121:[function(t,e,r){!function(t,n){n(&quot;object&quot;==typeof r&amp;&amp;void 0!==e?r:t.d3=t.d3||{})}(this,function(t){&quot;use strict&quot;;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&lt;o;)n.set(a,t[a]);else for(;++a&lt;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(){}function l(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&lt;i;)r.add(t[n]);else for(;++n&lt;i;)r.add(e(t[n],n,t))}return r}e.prototype=r.prototype={constructor:e,has:function(t){return&quot;$&quot;+t in this},get:function(t){return this[&quot;$&quot;+t]},set:function(t,e){return this[&quot;$&quot;+t]=e,this},remove:function(t){var e=&quot;$&quot;+t;return e in this&amp;&amp;delete this[e]},clear:function(){for(var t in this)&quot;$&quot;===t[0]&amp;&amp;delete this[t]},keys:function(){var t=[];for(var e in this)&quot;$&quot;===e[0]&amp;&amp;t.push(e.slice(1));return t},values:function(){var t=[];for(var e in this)&quot;$&quot;===e[0]&amp;&amp;t.push(this[e]);return t},entries:function(){var t=[];for(var e in this)&quot;$&quot;===e[0]&amp;&amp;t.push({key:e.slice(1),value:this[e]});return t},size:function(){var t=0;for(var e in this)&quot;$&quot;===e[0]&amp;&amp;++t;return t},empty:function(){for(var t in this)if(&quot;$&quot;===t[0])return!1;return!0},each:function(t){for(var e in this)&quot;$&quot;===e[0]&amp;&amp;t(this[e],e.slice(1),this)}};var c=r.prototype;s.prototype=l.prototype={constructor:s,has:c.has,add:function(t){return t+=&quot;&quot;,this[&quot;$&quot;+t]=t,this},remove:c.remove,clear:c.clear,values:c.keys,size:c.size,empty:c.empty,each:c.each};t.nest=function(){function t(e,n,i,a){if(n&gt;=u.length)return null!=l?l(e):null!=s?e.sort(s):e;for(var o,c,f,h=-1,d=e.length,p=u[n++],m=r(),g=i();++h&lt;d;)(f=m.get(o=p(c=e[h])+&quot;&quot;))?f.push(c):m.set(o,[c]);return m.each(function(e,r){a(g,r,t(e,n,i,a))}),g}function e(t,r){if(++r&gt;u.length)return t;var n,i=f[r-1];return null!=l&amp;&amp;r&gt;=u.length?n=t.entries():(n=[],t.each(function(t,i){n.push({key:i,values:e(t,r)})})),null!=i?n.sort(function(t,e){return i(t.key,e.key)}):n}var s,l,c,u=[],f=[];return c={object:function(e){return t(e,0,n,i)},map:function(e){return t(e,0,a,o)},entries:function(r){return e(t(r,0,a,o),0)},key:function(t){return u.push(t),c},sortKeys:function(t){return f[u.length-1]=t,c},sortValues:function(t){return s=t,c},rollup:function(t){return l=t,c}}},t.set=l,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,&quot;__esModule&quot;,{value:!0})})},{}],122:[function(t,e,r){!function(t,n){n(&quot;object&quot;==typeof r&amp;&amp;void 0!==e?r:t.d3=t.d3||{})}(this,function(t){&quot;use strict&quot;;function e(t,e){var r=Object.create(t.prototype);for(var n in e)r[n]=e[n];return r}function r(){}function n(t){var e;return t=(t+&quot;&quot;).trim().toLowerCase(),(e=E.exec(t))?(e=parseInt(e[1],16),new l(e&gt;&gt;8&amp;15|e&gt;&gt;4&amp;240,e&gt;&gt;4&amp;15|240&amp;e,(15&amp;e)&lt;&lt;4|15&amp;e,1)):(e=L.exec(t))?i(parseInt(e[1],16)):(e=C.exec(t))?new l(e[1],e[2],e[3],1):(e=z.exec(t))?new l(255*e[1]/100,255*e[2]/100,255*e[3]/100,1):(e=D.exec(t))?a(e[1],e[2],e[3],e[4]):(e=I.exec(t))?a(255*e[1]/100,255*e[2]/100,255*e[3]/100,e[4]):(e=P.exec(t))?c(e[1],e[2]/100,e[3]/100,1):(e=O.exec(t))?c(e[1],e[2]/100,e[3]/100,e[4]):F.hasOwnProperty(t)?i(F[t]):&quot;transparent&quot;===t?new l(NaN,NaN,NaN,0):null}function i(t){return new l(t&gt;&gt;16&amp;255,t&gt;&gt;8&amp;255,255&amp;t,1)}function a(t,e,r,n){return n&lt;=0&amp;&amp;(t=e=r=NaN),new l(t,e,r,n)}function o(t){return t instanceof r||(t=n(t)),t?(t=t.rgb(),new l(t.r,t.g,t.b,t.opacity)):new l}function s(t,e,r,n){return 1===arguments.length?o(t):new l(t,e,r,null==n?1:n)}function l(t,e,r,n){this.r=+t,this.g=+e,this.b=+r,this.opacity=+n}function c(t,e,r,n){return n&lt;=0?t=e=r=NaN:r&lt;=0||r&gt;=1?t=e=NaN:e&lt;=0&amp;&amp;(t=NaN),new f(t,e,r,n)}function u(t,e,i,a){return 1===arguments.length?function(t){if(t instanceof f)return new f(t.h,t.s,t.l,t.opacity);if(t instanceof r||(t=n(t)),!t)return new f;if(t instanceof f)return t;var e=(t=t.rgb()).r/255,i=t.g/255,a=t.b/255,o=Math.min(e,i,a),s=Math.max(e,i,a),l=NaN,c=s-o,u=(s+o)/2;return c?(l=e===s?(i-a)/c+6*(i&lt;a):i===s?(a-e)/c+2:(e-i)/c+4,c/=u&lt;.5?s+o:2-s-o,l*=60):c=u&gt;0&amp;&amp;u&lt;1?0:l,new f(l,c,u,t.opacity)}(t):new f(t,e,i,null==a?1:a)}function f(t,e,r,n){this.h=+t,this.s=+e,this.l=+r,this.opacity=+n}function h(t,e,r){return 255*(t&lt;60?e+(r-e)*t/60:t&lt;180?r:t&lt;240?e+(r-e)*(240-t)/60:e)}function d(t){if(t instanceof m)return new m(t.l,t.a,t.b,t.opacity);if(t instanceof _){var e=t.h*R;return new m(t.l,Math.cos(e)*t.c,Math.sin(e)*t.c,t.opacity)}t instanceof l||(t=o(t));var r=x(t.r),n=x(t.g),i=x(t.b),a=g((.4124564*r+.3575761*n+.1804375*i)/j),s=g((.2126729*r+.7151522*n+.072175*i)/B);return new m(116*s-16,500*(a-s),200*(s-g((.0193339*r+.119192*n+.9503041*i)/U)),t.opacity)}function p(t,e,r,n){return 1===arguments.length?d(t):new m(t,e,r,null==n?1:n)}function m(t,e,r,n){this.l=+t,this.a=+e,this.b=+r,this.opacity=+n}function g(t){return t&gt;G?Math.pow(t,1/3):t/H+V}function v(t){return t&gt;q?t*t*t:H*(t-V)}function y(t){return 255*(t&lt;=.0031308?12.92*t:1.055*Math.pow(t,1/2.4)-.055)}function x(t){return(t/=255)&lt;=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function b(t,e,r,n){return 1===arguments.length?function(t){if(t instanceof _)return new _(t.h,t.c,t.l,t.opacity);t instanceof m||(t=d(t));var e=Math.atan2(t.b,t.a)*N;return new _(e&lt;0?e+360:e,Math.sqrt(t.a*t.a+t.b*t.b),t.l,t.opacity)}(t):new _(t,e,r,null==n?1:n)}function _(t,e,r,n){this.h=+t,this.c=+e,this.l=+r,this.opacity=+n}function w(t,e,r,n){return 1===arguments.length?function(t){if(t instanceof M)return new M(t.h,t.s,t.l,t.opacity);t instanceof l||(t=o(t));var e=t.r/255,r=t.g/255,n=t.b/255,i=(K*n+Z*e-J*r)/(K+Z-J),a=n-i,s=(X*(r-i)-Y*a)/W,c=Math.sqrt(s*s+a*a)/(X*i*(1-i)),u=c?Math.atan2(s,a)*N-120:NaN;return new M(u&lt;0?u+360:u,c,i,t.opacity)}(t):new M(t,e,r,null==n?1:n)}function M(t,e,r,n){this.h=+t,this.s=+e,this.l=+r,this.opacity=+n}var k=function(t,e,r){t.prototype=e.prototype=r,r.constructor=t},A=&quot;\\s*([+-]?\\d+)\\s*&quot;,T=&quot;\\s*([+-]?\\d*\\.?\\d+(?:[eE][+-]?\\d+)?)\\s*&quot;,S=&quot;\\s*([+-]?\\d*\\.?\\d+(?:[eE][+-]?\\d+)?)%\\s*&quot;,E=/^#([0-9a-f]{3})$/,L=/^#([0-9a-f]{6})$/,C=new RegExp(&quot;^rgb\\(&quot;+[A,A,A]+&quot;\\)$&quot;),z=new RegExp(&quot;^rgb\\(&quot;+[S,S,S]+&quot;\\)$&quot;),D=new RegExp(&quot;^rgba\\(&quot;+[A,A,A,T]+&quot;\\)$&quot;),I=new RegExp(&quot;^rgba\\(&quot;+[S,S,S,T]+&quot;\\)$&quot;),P=new RegExp(&quot;^hsl\\(&quot;+[T,S,S]+&quot;\\)$&quot;),O=new RegExp(&quot;^hsla\\(&quot;+[T,S,S,T]+&quot;\\)$&quot;),F={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};k(r,n,{displayable:function(){return this.rgb().displayable()},toString:function(){return this.rgb()+&quot;&quot;}}),k(l,s,e(r,{brighter:function(t){return t=null==t?1/.7:Math.pow(1/.7,t),new l(this.r*t,this.g*t,this.b*t,this.opacity)},darker:function(t){return t=null==t?.7:Math.pow(.7,t),new l(this.r*t,this.g*t,this.b*t,this.opacity)},rgb:function(){return this},displayable:function(){return 0&lt;=this.r&amp;&amp;this.r&lt;=255&amp;&amp;0&lt;=this.g&amp;&amp;this.g&lt;=255&amp;&amp;0&lt;=this.b&amp;&amp;this.b&lt;=255&amp;&amp;0&lt;=this.opacity&amp;&amp;this.opacity&lt;=1},toString:function(){var t=this.opacity;return(1===(t=isNaN(t)?1:Math.max(0,Math.min(1,t)))?&quot;rgb(&quot;:&quot;rgba(&quot;)+Math.max(0,Math.min(255,Math.round(this.r)||0))+&quot;, &quot;+Math.max(0,Math.min(255,Math.round(this.g)||0))+&quot;, &quot;+Math.max(0,Math.min(255,Math.round(this.b)||0))+(1===t?&quot;)&quot;:&quot;, &quot;+t+&quot;)&quot;)}})),k(f,u,e(r,{brighter:function(t){return t=null==t?1/.7:Math.pow(1/.7,t),new f(this.h,this.s,this.l*t,this.opacity)},darker:function(t){return t=null==t?.7:Math.pow(.7,t),new f(this.h,this.s,this.l*t,this.opacity)},rgb:function(){var t=this.h%360+360*(this.h&lt;0),e=isNaN(t)||isNaN(this.s)?0:this.s,r=this.l,n=r+(r&lt;.5?r:1-r)*e,i=2*r-n;return new l(h(t&gt;=240?t-240:t+120,i,n),h(t,i,n),h(t&lt;120?t+240:t-120,i,n),this.opacity)},displayable:function(){return(0&lt;=this.s&amp;&amp;this.s&lt;=1||isNaN(this.s))&amp;&amp;0&lt;=this.l&amp;&amp;this.l&lt;=1&amp;&amp;0&lt;=this.opacity&amp;&amp;this.opacity&lt;=1}}));var R=Math.PI/180,N=180/Math.PI,j=.95047,B=1,U=1.08883,V=4/29,q=6/29,H=3*q*q,G=q*q*q;k(m,p,e(r,{brighter:function(t){return new m(this.l+18*(null==t?1:t),this.a,this.b,this.opacity)},darker:function(t){return new m(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 t=B*v(t),e=j*v(e),r=U*v(r),new l(y(3.2404542*e-1.5371385*t-.4985314*r),y(-.969266*e+1.8760108*t+.041556*r),y(.0556434*e-.2040259*t+1.0572252*r),this.opacity)}})),k(_,b,e(r,{brighter:function(t){return new _(this.h,this.c,this.l+18*(null==t?1:t),this.opacity)},darker:function(t){return new _(this.h,this.c,this.l-18*(null==t?1:t),this.opacity)},rgb:function(){return d(this).rgb()}}));var Y=-.29227,W=-.90649,X=1.97294,Z=X*W,J=1.78277*X,K=1.78277*Y- -.14861*W;k(M,w,e(r,{brighter:function(t){return t=null==t?1/.7:Math.pow(1/.7,t),new M(this.h,this.s,this.l*t,this.opacity)},darker:function(t){return t=null==t?.7:Math.pow(.7,t),new M(this.h,this.s,this.l*t,this.opacity)},rgb:function(){var t=isNaN(this.h)?0:(this.h+120)*R,e=+this.l,r=isNaN(this.s)?0:this.s*e*(1-e),n=Math.cos(t),i=Math.sin(t);return new l(255*(e+r*(-.14861*n+1.78277*i)),255*(e+r*(Y*n+W*i)),255*(e+r*(X*n)),this.opacity)}})),t.color=n,t.rgb=s,t.hsl=u,t.lab=p,t.hcl=b,t.cubehelix=w,Object.defineProperty(t,&quot;__esModule&quot;,{value:!0})})},{}],123:[function(t,e,r){!function(t,n){n(&quot;object&quot;==typeof r&amp;&amp;void 0!==e?r:t.d3=t.d3||{})}(this,function(t){&quot;use strict&quot;;function e(){for(var t,e=0,n=arguments.length,i={};e&lt;n;++e){if(!(t=arguments[e]+&quot;&quot;)||t in i)throw new Error(&quot;illegal type: &quot;+t);i[t]=[]}return new r(i)}function r(t){this._=t}function n(t,e,r){for(var n=0,a=t.length;n&lt;a;++n)if(t[n].name===e){t[n]=i,t=t.slice(0,n).concat(t.slice(n+1));break}return null!=r&amp;&amp;t.push({name:e,value:r}),t}var i={value:function(){}};r.prototype=e.prototype={constructor:r,on:function(t,e){var r,i=this._,a=function(t,e){return t.trim().split(/^|\s+/).map(function(t){var r=&quot;&quot;,n=t.indexOf(&quot;.&quot;);if(n&gt;=0&amp;&amp;(r=t.slice(n+1),t=t.slice(0,n)),t&amp;&amp;!e.hasOwnProperty(t))throw new Error(&quot;unknown type: &quot;+t);return{type:t,name:r}})}(t+&quot;&quot;,i),o=-1,s=a.length;if(!(arguments.length&lt;2)){if(null!=e&amp;&amp;&quot;function&quot;!=typeof e)throw new Error(&quot;invalid callback: &quot;+e);for(;++o&lt;s;)if(r=(t=a[o]).type)i[r]=n(i[r],t.name,e);else if(null==e)for(r in i)i[r]=n(i[r],t.name,null);return this}for(;++o&lt;s;)if((r=(t=a[o]).type)&amp;&amp;(r=function(t,e){for(var r,n=0,i=t.length;n&lt;i;++n)if((r=t[n]).name===e)return r.value}(i[r],t.name)))return r},copy:function(){var t={},e=this._;for(var n in e)t[n]=e[n].slice();return new r(t)},call:function(t,e){if((r=arguments.length-2)&gt;0)for(var r,n,i=new Array(r),a=0;a&lt;r;++a)i[a]=arguments[a+2];if(!this._.hasOwnProperty(t))throw new Error(&quot;unknown type: &quot;+t);for(a=0,r=(n=this._[t]).length;a&lt;r;++a)n[a].value.apply(e,i)},apply:function(t,e,r){if(!this._.hasOwnProperty(t))throw new Error(&quot;unknown type: &quot;+t);for(var n=this._[t],i=0,a=n.length;i&lt;a;++i)n[i].value.apply(e,r)}},t.dispatch=e,Object.defineProperty(t,&quot;__esModule&quot;,{value:!0})})},{}],124:[function(t,e,r){!function(n,i){&quot;object&quot;==typeof r&amp;&amp;void 0!==e?i(r,t(&quot;d3-quadtree&quot;),t(&quot;d3-collection&quot;),t(&quot;d3-dispatch&quot;),t(&quot;d3-timer&quot;)):i(n.d3=n.d3||{},n.d3,n.d3,n.d3,n.d3)}(this,function(t,e,r,n,i){&quot;use strict&quot;;function a(t){return t.x+t.vx}function o(t){return t.y+t.vy}function s(t){return t.index}function l(t,e){var r=t.get(e);if(!r)throw new Error(&quot;missing: &quot;+e);return r}function c(t){return t.x}function u(t){return t.y}var f=function(t){return function(){return t}},h=function(){return 1e-6*(Math.random()-.5)},d=10,p=Math.PI*(3-Math.sqrt(5));t.forceCenter=function(t,e){function r(){var r,i,a=n.length,o=0,s=0;for(r=0;r&lt;a;++r)o+=(i=n[r]).x,s+=i.y;for(o=o/a-t,s=s/a-e,r=0;r&lt;a;++r)(i=n[r]).x-=o,i.y-=s}var n;return null==t&amp;&amp;(t=0),null==e&amp;&amp;(e=0),r.initialize=function(t){n=t},r.x=function(e){return arguments.length?(t=+e,r):t},r.y=function(t){return arguments.length?(e=+t,r):e},r},t.forceCollide=function(t){function r(){function t(t,e,r,n,i){var a=t.data,o=t.r,s=m+o;if(!a)return e&gt;d+s||n&lt;d-s||r&gt;p+s||i&lt;p-s;if(a.index&gt;f.index){var l=d-a.x-a.vx,u=p-a.y-a.vy,v=l*l+u*u;v&lt;s*s&amp;&amp;(0===l&amp;&amp;(l=h(),v+=l*l),0===u&amp;&amp;(u=h(),v+=u*u),v=(s-(v=Math.sqrt(v)))/v*c,f.vx+=(l*=v)*(s=(o*=o)/(g+o)),f.vy+=(u*=v)*s,a.vx-=l*(s=1-s),a.vy-=u*s)}}for(var r,i,f,d,p,m,g,v=s.length,y=0;y&lt;u;++y)for(i=e.quadtree(s,a,o).visitAfter(n),r=0;r&lt;v;++r)f=s[r],m=l[f.index],g=m*m,d=f.x+f.vx,p=f.y+f.vy,i.visit(t)}function n(t){if(t.data)return t.r=l[t.data.index];for(var e=t.r=0;e&lt;4;++e)t[e]&amp;&amp;t[e].r&gt;t.r&amp;&amp;(t.r=t[e].r)}function i(){if(s){var e,r,n=s.length;for(l=new Array(n),e=0;e&lt;n;++e)r=s[e],l[r.index]=+t(r,e,s)}}var s,l,c=1,u=1;return&quot;function&quot;!=typeof t&amp;&amp;(t=f(null==t?1:+t)),r.initialize=function(t){s=t,i()},r.iterations=function(t){return arguments.length?(u=+t,r):u},r.strength=function(t){return arguments.length?(c=+t,r):c},r.radius=function(e){return arguments.length?(t=&quot;function&quot;==typeof e?e:f(+e),i(),r):t},r},t.forceLink=function(t){function e(e){for(var r=0,n=t.length;r&lt;y;++r)for(var i,a,s,l,u,f,d,m=0;m&lt;n;++m)a=(i=t[m]).source,l=(s=i.target).x+s.vx-a.x-a.vx||h(),u=s.y+s.vy-a.y-a.vy||h(),l*=f=((f=Math.sqrt(l*l+u*u))-c[m])/f*e*o[m],u*=f,s.vx-=l*(d=p[m]),s.vy-=u*d,a.vx+=l*(d=1-d),a.vy+=u*d}function n(){if(u){var e,n,s=u.length,f=t.length,h=r.map(u,m);for(e=0,d=new Array(s);e&lt;f;++e)(n=t[e]).index=e,&quot;object&quot;!=typeof n.source&amp;&amp;(n.source=l(h,n.source)),&quot;object&quot;!=typeof n.target&amp;&amp;(n.target=l(h,n.target)),d[n.source.index]=(d[n.source.index]||0)+1,d[n.target.index]=(d[n.target.index]||0)+1;for(e=0,p=new Array(f);e&lt;f;++e)n=t[e],p[e]=d[n.source.index]/(d[n.source.index]+d[n.target.index]);o=new Array(f),i(),c=new Array(f),a()}}function i(){if(u)for(var e=0,r=t.length;e&lt;r;++e)o[e]=+g(t[e],e,t)}function a(){if(u)for(var e=0,r=t.length;e&lt;r;++e)c[e]=+v(t[e],e,t)}var o,c,u,d,p,m=s,g=function(t){return 1/Math.min(d[t.source.index],d[t.target.index])},v=f(30),y=1;return null==t&amp;&amp;(t=[]),e.initialize=function(t){u=t,n()},e.links=function(r){return arguments.length?(t=r,n(),e):t},e.id=function(t){return arguments.length?(m=t,e):m},e.iterations=function(t){return arguments.length?(y=+t,e):y},e.strength=function(t){return arguments.length?(g=&quot;function&quot;==typeof t?t:f(+t),i(),e):g},e.distance=function(t){return arguments.length?(v=&quot;function&quot;==typeof t?t:f(+t),a(),e):v},e},t.forceManyBody=function(){function t(t){var r,l=a.length,f=e.quadtree(a,c,u).visitAfter(n);for(s=t,r=0;r&lt;l;++r)o=a[r],f.visit(i)}function r(){if(a){var t,e,r=a.length;for(l=new Array(r),t=0;t&lt;r;++t)e=a[t],l[e.index]=+d(e,t,a)}}function n(t){var e,r,n,i,a,o=0;if(t.length){for(n=i=a=0;a&lt;4;++a)(e=t[a])&amp;&amp;(r=e.value)&amp;&amp;(o+=r,n+=r*e.x,i+=r*e.y);t.x=n/o,t.y=i/o}else{(e=t).x=e.data.x,e.y=e.data.y;do{o+=l[e.data.index]}while(e=e.next)}t.value=o}function i(t,e,r,n){if(!t.value)return!0;var i=t.x-o.x,a=t.y-o.y,c=n-e,u=i*i+a*a;if(c*c/g&lt;u)return u&lt;m&amp;&amp;(0===i&amp;&amp;(i=h(),u+=i*i),0===a&amp;&amp;(a=h(),u+=a*a),u&lt;p&amp;&amp;(u=Math.sqrt(p*u)),o.vx+=i*t.value*s/u,o.vy+=a*t.value*s/u),!0;if(!(t.length||u&gt;=m)){(t.data!==o||t.next)&amp;&amp;(0===i&amp;&amp;(i=h(),u+=i*i),0===a&amp;&amp;(a=h(),u+=a*a),u&lt;p&amp;&amp;(u=Math.sqrt(p*u)));do{t.data!==o&amp;&amp;(c=l[t.data.index]*s/u,o.vx+=i*c,o.vy+=a*c)}while(t=t.next)}}var a,o,s,l,d=f(-30),p=1,m=1/0,g=.81;return t.initialize=function(t){a=t,r()},t.strength=function(e){return arguments.length?(d=&quot;function&quot;==typeof e?e:f(+e),r(),t):d},t.distanceMin=function(e){return arguments.length?(p=e*e,t):Math.sqrt(p)},t.distanceMax=function(e){return arguments.length?(m=e*e,t):Math.sqrt(m)},t.theta=function(e){return arguments.length?(g=e*e,t):Math.sqrt(g)},t},t.forceSimulation=function(t){function e(){a(),y.call(&quot;tick&quot;,l),c&lt;u&amp;&amp;(v.stop(),y.call(&quot;end&quot;,l))}function a(){var e,r,n=t.length;for(c+=(h-c)*f,g.each(function(t){t(c)}),e=0;e&lt;n;++e)null==(r=t[e]).fx?r.x+=r.vx*=m:(r.x=r.fx,r.vx=0),null==r.fy?r.y+=r.vy*=m:(r.y=r.fy,r.vy=0)}function o(){for(var e,r=0,n=t.length;r&lt;n;++r){if(e=t[r],e.index=r,isNaN(e.x)||isNaN(e.y)){var i=d*Math.sqrt(r),a=r*p;e.x=i*Math.cos(a),e.y=i*Math.sin(a)}(isNaN(e.vx)||isNaN(e.vy))&amp;&amp;(e.vx=e.vy=0)}}function s(e){return e.initialize&amp;&amp;e.initialize(t),e}var l,c=1,u=.001,f=1-Math.pow(u,1/300),h=0,m=.6,g=r.map(),v=i.timer(e),y=n.dispatch(&quot;tick&quot;,&quot;end&quot;);return null==t&amp;&amp;(t=[]),o(),l={tick:a,restart:function(){return v.restart(e),l},stop:function(){return v.stop(),l},nodes:function(e){return arguments.length?(t=e,o(),g.each(s),l):t},alpha:function(t){return arguments.length?(c=+t,l):c},alphaMin:function(t){return arguments.length?(u=+t,l):u},alphaDecay:function(t){return arguments.length?(f=+t,l):+f},alphaTarget:function(t){return arguments.length?(h=+t,l):h},velocityDecay:function(t){return arguments.length?(m=1-t,l):1-m},force:function(t,e){return arguments.length&gt;1?(null==e?g.remove(t):g.set(t,s(e)),l):g.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&lt;u;++c)(o=(i=e-(s=t[c]).x)*i+(a=r-s.y)*a)&lt;n&amp;&amp;(l=s,n=o);return l},on:function(t,e){return arguments.length&gt;1?(y.on(t,e),l):y.on(t)}}},t.forceX=function(t){function e(t){for(var e,r=0,o=n.length;r&lt;o;++r)(e=n[r]).vx+=(a[r]-e.x)*i[r]*t}function r(){if(n){var e,r=n.length;for(i=new Array(r),a=new Array(r),e=0;e&lt;r;++e)i[e]=isNaN(a[e]=+t(n[e],e,n))?0:+o(n[e],e,n)}}var n,i,a,o=f(.1);return&quot;function&quot;!=typeof t&amp;&amp;(t=f(null==t?0:+t)),e.initialize=function(t){n=t,r()},e.strength=function(t){return arguments.length?(o=&quot;function&quot;==typeof t?t:f(+t),r(),e):o},e.x=function(n){return arguments.length?(t=&quot;function&quot;==typeof n?n:f(+n),r(),e):t},e},t.forceY=function(t){function e(t){for(var e,r=0,o=n.length;r&lt;o;++r)(e=n[r]).vy+=(a[r]-e.y)*i[r]*t}function r(){if(n){var e,r=n.length;for(i=new Array(r),a=new Array(r),e=0;e&lt;r;++e)i[e]=isNaN(a[e]=+t(n[e],e,n))?0:+o(n[e],e,n)}}var n,i,a,o=f(.1);return&quot;function&quot;!=typeof t&amp;&amp;(t=f(null==t?0:+t)),e.initialize=function(t){n=t,r()},e.strength=function(t){return arguments.length?(o=&quot;function&quot;==typeof t?t:f(+t),r(),e):o},e.y=function(n){return arguments.length?(t=&quot;function&quot;==typeof n?n:f(+n),r(),e):t},e},Object.defineProperty(t,&quot;__esModule&quot;,{value:!0})})},{&quot;d3-collection&quot;:121,&quot;d3-dispatch&quot;:123,&quot;d3-quadtree&quot;:126,&quot;d3-timer&quot;:127}],125:[function(t,e,r){!function(n,i){&quot;object&quot;==typeof r&amp;&amp;void 0!==e?i(r,t(&quot;d3-color&quot;)):i(n.d3=n.d3||{},n.d3)}(this,function(t,e){&quot;use strict&quot;;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,e){return function(r){return t+r*e}}function i(t,e){var r=e-t;return r?n(t,r&gt;180||r&lt;-180?r-360*Math.round(r/360):r):x(isNaN(t)?e:t)}function a(t){return 1==(t=+t)?o: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):x(isNaN(e)?r:e)}}function o(t,e){var r=e-t;return r?n(t,r):x(isNaN(t)?e:t)}function s(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&lt;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+&quot;&quot;}}}function l(t,e,r,n){function i(t){return t.length?t.pop()+&quot; &quot;:&quot;&quot;}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(&quot;translate(&quot;,null,e,null,r);s.push({i:l-4,x:A(t,i)},{i:l-2,x:A(n,a)})}else(i||a)&amp;&amp;o.push(&quot;translate(&quot;+i+e+a+r)}(a.translateX,a.translateY,o.translateX,o.translateY,s,l),function(t,e,r,a){t!==e?(t-e&gt;180?e+=360:e-t&gt;180&amp;&amp;(t+=360),a.push({i:r.push(i(r)+&quot;rotate(&quot;,null,n)-2,x:A(t,e)})):e&amp;&amp;r.push(i(r)+&quot;rotate(&quot;+e+n)}(a.rotate,o.rotate,s,l),function(t,e,r,a){t!==e?a.push({i:r.push(i(r)+&quot;skewX(&quot;,null,n)-2,x:A(t,e)}):e&amp;&amp;r.push(i(r)+&quot;skewX(&quot;+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)+&quot;scale(&quot;,null,&quot;,&quot;,null,&quot;)&quot;);o.push({i:s-4,x:A(t,r)},{i:s-2,x:A(e,n)})}else 1===r&amp;&amp;1===n||a.push(i(a)+&quot;scale(&quot;+r+&quot;,&quot;+n+&quot;)&quot;)}(a.scaleX,a.scaleY,o.scaleX,o.scaleY,s,l),a=o=null,function(t){for(var e,r=-1,n=l.length;++r&lt;n;)s[(e=l[r]).i]=e.x(t);return s.join(&quot;&quot;)}}}function c(t){return((t=Math.exp(t))+1/t)/2}function u(t){return function(r,n){var i=t((r=e.hsl(r)).h,(n=e.hsl(n)).h),a=o(r.s,n.s),s=o(r.l,n.l),l=o(r.opacity,n.opacity);return function(t){return r.h=i(t),r.s=a(t),r.l=s(t),r.opacity=l(t),r+&quot;&quot;}}}function f(t){return function(r,n){var i=t((r=e.hcl(r)).h,(n=e.hcl(n)).h),a=o(r.c,n.c),s=o(r.l,n.l),l=o(r.opacity,n.opacity);return function(t){return r.h=i(t),r.c=a(t),r.l=s(t),r.opacity=l(t),r+&quot;&quot;}}}function h(t){return function r(n){function i(r,i){var a=t((r=e.cubehelix(r)).h,(i=e.cubehelix(i)).h),s=o(r.s,i.s),l=o(r.l,i.l),c=o(r.opacity,i.opacity);return function(t){return r.h=a(t),r.s=s(t),r.l=l(Math.pow(t,n)),r.opacity=c(t),r+&quot;&quot;}}return n=+n,i.gamma=r,i}(1)}var d,p,m,g,v=function(t){var e=t.length-1;return function(n){var i=n&lt;=0?n=0:n&gt;=1?(n=1,e-1):Math.floor(n*e),a=t[i],o=t[i+1],s=i&gt;0?t[i-1]:2*a-o,l=i&lt;e-1?t[i+2]:2*o-a;return r((n-i/e)*e,s,a,o,l)}},y=function(t){var e=t.length;return function(n){var i=Math.floor(((n%=1)&lt;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)}},x=function(t){return function(){return t}},b=function t(r){function n(t,r){var n=i((t=e.rgb(t)).r,(r=e.rgb(r)).r),a=i(t.g,r.g),s=i(t.b,r.b),l=o(t.opacity,r.opacity);return function(e){return t.r=n(e),t.g=a(e),t.b=s(e),t.opacity=l(e),t+&quot;&quot;}}var i=a(r);return n.gamma=t,n}(1),_=s(v),w=s(y),M=function(t,e){var r,n=e?e.length:0,i=t?Math.min(n,t.length):0,a=new Array(n),o=new Array(n);for(r=0;r&lt;i;++r)a[r]=C(t[r],e[r]);for(;r&lt;n;++r)o[r]=e[r];return function(t){for(r=0;r&lt;i;++r)o[r]=a[r](t);return o}},k=function(t,e){var r=new Date;return t=+t,e-=t,function(n){return r.setTime(t+e*n),r}},A=function(t,e){return t=+t,e-=t,function(r){return t+e*r}},T=function(t,e){var r,n={},i={};null!==t&amp;&amp;&quot;object&quot;==typeof t||(t={}),null!==e&amp;&amp;&quot;object&quot;==typeof e||(e={});for(r in e)r in t?n[r]=C(t[r],e[r]):i[r]=e[r];return function(t){for(r in n)i[r]=n[r](t);return i}},S=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,E=new RegExp(S.source,&quot;g&quot;),L=function(t,e){var r,n,i,a=S.lastIndex=E.lastIndex=0,o=-1,s=[],l=[];for(t+=&quot;&quot;,e+=&quot;&quot;;(r=S.exec(t))&amp;&amp;(n=E.exec(e));)(i=n.index)&gt;a&amp;&amp;(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:A(r,n)})),a=E.lastIndex;return a&lt;e.length&amp;&amp;(i=e.slice(a),s[o]?s[o]+=i:s[++o]=i),s.length&lt;2?l[0]?function(t){return function(e){return t(e)+&quot;&quot;}}(l[0].x):function(t){return function(){return t}}(e):(e=l.length,function(t){for(var r,n=0;n&lt;e;++n)s[(r=l[n]).i]=r.x(t);return s.join(&quot;&quot;)})},C=function(t,r){var n,i=typeof r;return null==r||&quot;boolean&quot;===i?x(r):(&quot;number&quot;===i?A:&quot;string&quot;===i?(n=e.color(r))?(r=n,b):L:r instanceof e.color?b:r instanceof Date?k:Array.isArray(r)?M:isNaN(r)?T:A)(t,r)},z=180/Math.PI,D={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1},I=function(t,e,r,n,i,a){var o,s,l;return(o=Math.sqrt(t*t+e*e))&amp;&amp;(t/=o,e/=o),(l=t*r+e*n)&amp;&amp;(r-=t*l,n-=e*l),(s=Math.sqrt(r*r+n*n))&amp;&amp;(r/=s,n/=s,l/=s),t*n&lt;e*r&amp;&amp;(t=-t,e=-e,l=-l,o=-o),{translateX:i,translateY:a,rotate:Math.atan2(e,t)*z,skewX:Math.atan(l)*z,scaleX:o,scaleY:s}},P=l(function(t){return&quot;none&quot;===t?D:(d||(d=document.createElement(&quot;DIV&quot;),p=document.documentElement,m=document.defaultView),d.style.transform=t,t=m.getComputedStyle(p.appendChild(d),null).getPropertyValue(&quot;transform&quot;),p.removeChild(d),t=t.slice(7,-1).split(&quot;,&quot;),I(+t[0],+t[1],+t[2],+t[3],+t[4],+t[5]))},&quot;px, &quot;,&quot;px)&quot;,&quot;deg)&quot;),O=l(function(t){return null==t?D:(g||(g=document.createElementNS(&quot;http://www.w3.org/2000/svg&quot;,&quot;g&quot;)),g.setAttribute(&quot;transform&quot;,t),(t=g.transform.baseVal.consolidate())?(t=t.matrix,I(t.a,t.b,t.c,t.d,t.e,t.f)):D)},&quot;, &quot;,&quot;)&quot;,&quot;)&quot;),F=Math.SQRT2,R=u(i),N=u(o),j=f(i),B=f(o),U=h(i),V=h(o);t.interpolate=C,t.interpolateArray=M,t.interpolateBasis=v,t.interpolateBasisClosed=y,t.interpolateDate=k,t.interpolateNumber=A,t.interpolateObject=T,t.interpolateRound=function(t,e){return t=+t,e-=t,function(r){return Math.round(t+e*r)}},t.interpolateString=L,t.interpolateTransformCss=P,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],u=e[2],f=s-i,h=l-a,d=f*f+h*h;if(d&lt;1e-12)n=Math.log(u/o)/F,r=function(t){return[i+t*f,a+t*h,o*Math.exp(F*t*n)]};else{var p=Math.sqrt(d),m=(u*u-o*o+4*d)/(2*o*2*p),g=(u*u-o*o-4*d)/(2*u*2*p),v=Math.log(Math.sqrt(m*m+1)-m),y=Math.log(Math.sqrt(g*g+1)-g);n=(y-v)/F,r=function(t){var e=t*n,r=c(v),s=o/(2*p)*(r*function(t){return((t=Math.exp(2*t))-1)/(t+1)}(F*e+v)-function(t){return((t=Math.exp(t))-1/t)/2}(v));return[i+s*f,a+s*h,o*r/c(F*e+v)]}}return r.duration=1e3*n,r},t.interpolateRgb=b,t.interpolateRgbBasis=_,t.interpolateRgbBasisClosed=w,t.interpolateHsl=R,t.interpolateHslLong=N,t.interpolateLab=function(t,r){var n=o((t=e.lab(t)).l,(r=e.lab(r)).l),i=o(t.a,r.a),a=o(t.b,r.b),s=o(t.opacity,r.opacity);return function(e){return t.l=n(e),t.a=i(e),t.b=a(e),t.opacity=s(e),t+&quot;&quot;}},t.interpolateHcl=j,t.interpolateHclLong=B,t.interpolateCubehelix=U,t.interpolateCubehelixLong=V,t.quantize=function(t,e){for(var r=new Array(e),n=0;n&lt;e;++n)r[n]=t(n/(e-1));return r},Object.defineProperty(t,&quot;__esModule&quot;,{value:!0})})},{&quot;d3-color&quot;:122}],126:[function(t,e,r){!function(t,n){n(&quot;object&quot;==typeof r&amp;&amp;void 0!==e?r:t.d3=t.d3||{})}(this,function(t){&quot;use strict&quot;;function e(t,e,r,n){if(isNaN(e)||isNaN(r))return t;var i,a,o,s,l,c,u,f,h,d=t._root,p={data:n},m=t._x0,g=t._y0,v=t._x1,y=t._y1;if(!d)return t._root=p,t;for(;d.length;)if((c=e&gt;=(a=(m+v)/2))?m=a:v=a,(u=r&gt;=(o=(g+y)/2))?g=o:y=o,i=d,!(d=d[f=u&lt;&lt;1|c]))return i[f]=p,t;if(s=+t._x.call(null,d.data),l=+t._y.call(null,d.data),e===s&amp;&amp;r===l)return p.next=d,i?i[f]=p:t._root=p,t;do{i=i?i[f]=new Array(4):t._root=new Array(4),(c=e&gt;=(a=(m+v)/2))?m=a:v=a,(u=r&gt;=(o=(g+y)/2))?g=o:y=o}while((f=u&lt;&lt;1|c)==(h=(l&gt;=o)&lt;&lt;1|s&gt;=a));return i[h]=d,i[f]=p,t}function r(t,e,r){var i=new n(null==e?function(t){return t[0]}:e,null==r?function(t){return t[1]}:r,NaN,NaN,NaN,NaN);return null==t?i:i.addAll(t)}function n(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 i(t){for(var e={data:t.data},r=e;t=t.next;)r=r.next={data:t.data};return e}var a=function(t,e,r,n,i){this.node=t,this.x0=e,this.y0=r,this.x1=n,this.y1=i},o=r.prototype=n.prototype;o.copy=function(){var t,e,r=new n(this._x,this._y,this._x0,this._y0,this._x1,this._y1),a=this._root;if(!a)return r;if(!a.length)return r._root=i(a),r;for(t=[{source:a,target:r._root=new Array(4)}];a=t.pop();)for(var o=0;o&lt;4;++o)(e=a.source[o])&amp;&amp;(e.length?t.push({source:e,target:a.target[o]=new Array(4)}):a.target[o]=i(e));return r},o.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)},o.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&lt;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&lt;c&amp;&amp;(c=i),i&gt;f&amp;&amp;(f=i),a&lt;u&amp;&amp;(u=a),a&gt;h&amp;&amp;(h=a));for(f&lt;c&amp;&amp;(c=this._x0,f=this._x1),h&lt;u&amp;&amp;(u=this._y0,h=this._y1),this.cover(c,u).cover(f,h),n=0;n&lt;o;++n)e(this,s[n],l[n],t[n]);return this},o.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{if(!(r&gt;t||t&gt;i||n&gt;e||e&gt;a))return this;var o,s,l=i-r,c=this._root;switch(s=(e&lt;(n+a)/2)&lt;&lt;1|t&lt;(r+i)/2){case 0:do{o=new Array(4),o[s]=c,c=o}while(l*=2,i=r+l,a=n+l,t&gt;i||e&gt;a);break;case 1:do{o=new Array(4),o[s]=c,c=o}while(l*=2,r=i-l,a=n+l,r&gt;t||e&gt;a);break;case 2:do{o=new Array(4),o[s]=c,c=o}while(l*=2,i=r+l,n=a-l,t&gt;i||n&gt;e);break;case 3:do{o=new Array(4),o[s]=c,c=o}while(l*=2,r=i-l,n=a-l,r&gt;t||n&gt;e)}this._root&amp;&amp;this._root.length&amp;&amp;(this._root=c)}return this._x0=r,this._y0=n,this._x1=i,this._y1=a,this},o.data=function(){var t=[];return this.visit(function(e){if(!e.length)do{t.push(e.data)}while(e=e.next)}),t},o.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]]},o.find=function(t,e,r){var n,i,o,s,l,c,u,f=this._x0,h=this._y0,d=this._x1,p=this._y1,m=[],g=this._root;for(g&amp;&amp;m.push(new a(g,f,h,d,p)),null==r?r=1/0:(f=t-r,h=e-r,d=t+r,p=e+r,r*=r);c=m.pop();)if(!(!(g=c.node)||(i=c.x0)&gt;d||(o=c.y0)&gt;p||(s=c.x1)&lt;f||(l=c.y1)&lt;h))if(g.length){var v=(i+s)/2,y=(o+l)/2;m.push(new a(g[3],v,y,s,l),new a(g[2],i,y,v,l),new a(g[1],v,o,s,y),new a(g[0],i,o,v,y)),(u=(e&gt;=y)&lt;&lt;1|t&gt;=v)&amp;&amp;(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(_&lt;r){var w=Math.sqrt(r=_);f=t-w,h=e-w,d=t+w,p=e+w,n=g.data}}return n},o.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,d=this._root,p=this._x0,m=this._y0,g=this._x1,v=this._y1;if(!d)return this;if(d.length)for(;;){if((c=a&gt;=(s=(p+g)/2))?p=s:g=s,(u=o&gt;=(l=(m+v)/2))?m=l:v=l,e=d,!(d=d[f=u&lt;&lt;1|c]))return this;if(!d.length)break;(e[f+1&amp;3]||e[f+2&amp;3]||e[f+3&amp;3])&amp;&amp;(r=e,h=f)}for(;d.data!==t;)if(n=d,!(d=d.next))return this;return(i=d.next)&amp;&amp;delete d.next,n?(i?n.next=i:delete n.next,this):e?(i?e[f]=i:delete e[f],(d=e[0]||e[1]||e[2]||e[3])&amp;&amp;d===(e[3]||e[2]||e[1]||e[0])&amp;&amp;!d.length&amp;&amp;(r?r[h]=d:this._root=d),this):(this._root=i,this)},o.removeAll=function(t){for(var e=0,r=t.length;e&lt;r;++e)this.remove(t[e]);return this},o.root=function(){return this._root},o.size=function(){var t=0;return this.visit(function(e){if(!e.length)do{++t}while(e=e.next)}),t},o.visit=function(t){var e,r,n,i,o,s,l=[],c=this._root;for(c&amp;&amp;l.push(new a(c,this._x0,this._y0,this._x1,this._y1));e=l.pop();)if(!t(c=e.node,n=e.x0,i=e.y0,o=e.x1,s=e.y1)&amp;&amp;c.length){var u=(n+o)/2,f=(i+s)/2;(r=c[3])&amp;&amp;l.push(new a(r,u,f,o,s)),(r=c[2])&amp;&amp;l.push(new a(r,n,f,u,s)),(r=c[1])&amp;&amp;l.push(new a(r,u,i,o,f)),(r=c[0])&amp;&amp;l.push(new a(r,n,i,u,f))}return this},o.visitAfter=function(t){var e,r=[],n=[];for(this._root&amp;&amp;r.push(new a(this._root,this._x0,this._y0,this._x1,this._y1));e=r.pop();){var i=e.node;if(i.length){var o,s=e.x0,l=e.y0,c=e.x1,u=e.y1,f=(s+c)/2,h=(l+u)/2;(o=i[0])&amp;&amp;r.push(new a(o,s,l,f,h)),(o=i[1])&amp;&amp;r.push(new a(o,f,l,c,h)),(o=i[2])&amp;&amp;r.push(new a(o,s,h,f,u)),(o=i[3])&amp;&amp;r.push(new a(o,f,h,c,u))}n.push(e)}for(;e=n.pop();)t(e.node,e.x0,e.y0,e.x1,e.y1);return this},o.x=function(t){return arguments.length?(this._x=t,this):this._x},o.y=function(t){return arguments.length?(this._y=t,this):this._y},t.quadtree=r,Object.defineProperty(t,&quot;__esModule&quot;,{value:!0})})},{}],127:[function(t,e,r){!function(t,n){n(&quot;object&quot;==typeof r&amp;&amp;void 0!==e?r:t.d3=t.d3||{})}(this,function(t){&quot;use strict&quot;;function e(){return g||(x(r),g=y.now()+v)}function r(){g=0}function n(){this._call=this._time=this._next=null}function i(t,e,r){var i=new n;return i.restart(t,e,r),i}function a(){e(),++f;for(var t,r=c;r;)(t=g-r._time)&gt;=0&amp;&amp;r._call.call(null,t),r=r._next;--f}function o(){g=(m=y.now())+v,f=h=0;try{a()}finally{f=0,function(){var t,e,r=c,n=1/0;for(;r;)r._call?(n&gt;r._time&amp;&amp;(n=r._time),t=r,r=r._next):(e=r._next,r._next=null,r=t?t._next=e:c=e);u=t,l(n)}(),g=0}}function s(){var t=y.now(),e=t-m;e&gt;p&amp;&amp;(v-=e,m=t)}function l(t){if(!f){h&amp;&amp;(h=clearTimeout(h));var e=t-g;e&gt;24?(t&lt;1/0&amp;&amp;(h=setTimeout(o,e)),d&amp;&amp;(d=clearInterval(d))):(d||(m=g,d=setInterval(s,p)),f=1,x(o))}}var c,u,f=0,h=0,d=0,p=1e3,m=0,g=0,v=0,y=&quot;object&quot;==typeof performance&amp;&amp;performance.now?performance:Date,x=&quot;function&quot;==typeof requestAnimationFrame?requestAnimationFrame:function(t){setTimeout(t,17)};n.prototype=i.prototype={constructor:n,restart:function(t,r,n){if(&quot;function&quot;!=typeof t)throw new TypeError(&quot;callback is not a function&quot;);n=(null==n?e():+n)+(null==r?0:+r),this._next||u===this||(u?u._next=this:c=this,u=this),this._call=t,this._time=n,l()},stop:function(){this._call&amp;&amp;(this._call=null,this._time=1/0,l())}};t.now=e,t.timer=i,t.timerFlush=a,t.timeout=function(t,e,r){var i=new n;return e=null==e?0:+e,i.restart(function(r){i.stop(),t(r+e)},e,r),i},t.interval=function(t,r,i){var a=new n,o=r;return null==r?(a.restart(t,r,i),a):(r=+r,i=null==i?e():+i,a.restart(function e(n){n+=o,a.restart(e,o+=r,i),t(n)},r,i),a)},Object.defineProperty(t,&quot;__esModule&quot;,{value:!0})})},{}],128:[function(t,e,r){!function(){function t(t){return t&amp;&amp;(t.ownerDocument||t.document||t).documentElement}function r(t){return t&amp;&amp;(t.ownerDocument&amp;&amp;t.ownerDocument.defaultView||t.document&amp;&amp;t||t.defaultView)}function n(t,e){return t&lt;e?-1:t&gt;e?1:t&gt;=e?0:NaN}function i(t){return null===t?NaN:+t}function a(t){return!isNaN(t)}function o(t){return{left:function(e,r,n,i){for(arguments.length&lt;3&amp;&amp;(n=0),arguments.length&lt;4&amp;&amp;(i=e.length);n&lt;i;){var a=n+i&gt;&gt;&gt;1;t(e[a],r)&lt;0?n=a+1:i=a}return n},right:function(e,r,n,i){for(arguments.length&lt;3&amp;&amp;(n=0),arguments.length&lt;4&amp;&amp;(i=e.length);n&lt;i;){var a=n+i&gt;&gt;&gt;1;t(e[a],r)&gt;0?i=a:n=a+1}return n}}}function s(t){return t.length}function l(t,e){for(var r in e)Object.defineProperty(t.prototype,r,{value:e[r],enumerable:!1})}function c(){this._=Object.create(null)}function u(t){return(t+=&quot;&quot;)===oa||t[0]===sa?sa+t:t}function f(t){return(t+=&quot;&quot;)[0]===sa?t.slice(1):t}function h(t){return u(t)in this._}function d(t){return(t=u(t))in this._&amp;&amp;delete this._[t]}function p(){var t=[];for(var e in this._)t.push(f(e));return t}function m(){var t=0;for(var e in this._)++t;return t}function g(){for(var t in this._)return!1;return!0}function v(){this._=Object.create(null)}function y(t){return t}function x(t,e){if(e in t)return e;e=e.charAt(0).toUpperCase()+e.slice(1);for(var r=0,n=la.length;r&lt;n;++r){var i=la[r]+e;if(i in t)return i}}function b(){}function _(){}function w(t){function e(){for(var e,n=r,i=-1,a=n.length;++i&lt;a;)(e=n[i].on)&amp;&amp;e.apply(this,arguments);return t}var r=[],n=new c;return e.on=function(e,i){var a,o=n.get(e);return arguments.length&lt;2?o&amp;&amp;o.on:(o&amp;&amp;(o.on=null,r=r.slice(0,a=r.indexOf(o)).concat(r.slice(a+1)),n.remove(e)),i&amp;&amp;r.push(n.set(e,{on:i})),t)},e}function M(){Zi.event.preventDefault()}function k(){for(var t,e=Zi.event;t=e.sourceEvent;)e=t;return e}function A(t){for(var e=new _,r=0,n=arguments.length;++r&lt;n;)e[arguments[r]]=w(e);return e.of=function(r,n){return function(i){try{var a=i.sourceEvent=Zi.event;i.target=t,Zi.event=i,e[i.type].apply(r,n)}finally{Zi.event=a}}},e}function T(t){return ua(t,pa),t}function S(t){return&quot;function&quot;==typeof t?t:function(){return fa(t,this)}}function E(t){return&quot;function&quot;==typeof t?t:function(){return ha(t,this)}}function L(t,e){return t=Zi.ns.qualify(t),null==e?t.local?function(){this.removeAttributeNS(t.space,t.local)}:function(){this.removeAttribute(t)}:&quot;function&quot;==typeof e?t.local?function(){var r=e.apply(this,arguments);null==r?this.removeAttributeNS(t.space,t.local):this.setAttributeNS(t.space,t.local,r)}:function(){var r=e.apply(this,arguments);null==r?this.removeAttribute(t):this.setAttribute(t,r)}:t.local?function(){this.setAttributeNS(t.space,t.local,e)}:function(){this.setAttribute(t,e)}}function C(t){return t.trim().replace(/\s+/g,&quot; &quot;)}function z(t){return new RegExp(&quot;(?:^|\\s+)&quot;+Zi.requote(t)+&quot;(?:\\s+|$)&quot;,&quot;g&quot;)}function D(t){return(t+&quot;&quot;).trim().split(/^|\s+/)}function I(t,e){var r=(t=D(t).map(P)).length;return&quot;function&quot;==typeof e?function(){for(var n=-1,i=e.apply(this,arguments);++n&lt;r;)t[n](this,i)}:function(){for(var n=-1;++n&lt;r;)t[n](this,e)}}function P(t){var e=z(t);return function(r,n){if(i=r.classList)return n?i.add(t):i.remove(t);var i=r.getAttribute(&quot;class&quot;)||&quot;&quot;;n?(e.lastIndex=0,e.test(i)||r.setAttribute(&quot;class&quot;,C(i+&quot; &quot;+t))):r.setAttribute(&quot;class&quot;,C(i.replace(e,&quot; &quot;)))}}function O(t,e,r){return null==e?function(){this.style.removeProperty(t)}:&quot;function&quot;==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 F(t,e){return null==e?function(){delete this[t]}:&quot;function&quot;==typeof e?function(){var r=e.apply(this,arguments);null==r?delete this[t]:this[t]=r}:function(){this[t]=e}}function R(t){return&quot;function&quot;==typeof t?t:(t=Zi.ns.qualify(t)).local?function(){return this.ownerDocument.createElementNS(t.space,t.local)}:function(){var e=this.ownerDocument,r=this.namespaceURI;return r===ma&amp;&amp;e.documentElement.namespaceURI===ma?e.createElement(t):e.createElementNS(r,t)}}function N(){var t=this.parentNode;t&amp;&amp;t.removeChild(this)}function j(t){return{__data__:t}}function B(t){return function(){return da(this,t)}}function U(t,e){for(var r=0,n=t.length;r&lt;n;r++)for(var i,a=t[r],o=0,s=a.length;o&lt;s;o++)(i=a[o])&amp;&amp;e(i,o,r);return t}function V(t){return ua(t,va),t}function q(t,e,r){function n(){var e=this[i];e&amp;&amp;(this.removeEventListener(t,e,e.$),delete this[i])}var i=&quot;__on&quot;+t,a=t.indexOf(&quot;.&quot;),o=H;a&gt;0&amp;&amp;(t=t.slice(0,a));var s=ya.get(t);return s&amp;&amp;(t=s,o=G),a?e?function(){var a=o(e,Ki(arguments));n.call(this),this.addEventListener(t,this[i]=a,a.$=r),a._=e}:n:e?b:function(){var e,r=new RegExp(&quot;^__on([^.]+)&quot;+Zi.requote(t)+&quot;$&quot;);for(var n in this)if(e=n.match(r)){var i=this[n];this.removeEventListener(e[1],i,i.$),delete this[n]}}}function H(t,e){return function(r){var n=Zi.event;Zi.event=r,e[0]=this.__data__;try{t.apply(this,e)}finally{Zi.event=n}}}function G(t,e){var r=H(t,e);return function(t){var e=t.relatedTarget;e&amp;&amp;(e===this||8&amp;e.compareDocumentPosition(this))||r.call(this,t)}}function Y(e){var n=&quot;.dragsuppress-&quot;+ ++ba,i=&quot;click&quot;+n,a=Zi.select(r(e)).on(&quot;touchmove&quot;+n,M).on(&quot;dragstart&quot;+n,M).on(&quot;selectstart&quot;+n,M);if(null==xa&amp;&amp;(xa=!(&quot;onselectstart&quot;in e)&amp;&amp;x(e.style,&quot;userSelect&quot;)),xa){var o=t(e).style,s=o[xa];o[xa]=&quot;none&quot;}return function(t){if(a.on(n,null),xa&amp;&amp;(o[xa]=s),t){var e=function(){a.on(i,null)};a.on(i,function(){M(),e()},!0),setTimeout(e,0)}}}function W(t,e){e.changedTouches&amp;&amp;(e=e.changedTouches[0]);var n=t.ownerSVGElement||t;if(n.createSVGPoint){var i=n.createSVGPoint();if(_a&lt;0){var a=r(t);if(a.scrollX||a.scrollY){var o=(n=Zi.select(&quot;body&quot;).append(&quot;svg&quot;).style({position:&quot;absolute&quot;,top:0,left:0,margin:0,padding:0,border:&quot;none&quot;},&quot;important&quot;))[0][0].getScreenCTM();_a=!(o.f||o.e),n.remove()}}return _a?(i.x=e.pageX,i.y=e.pageY):(i.x=e.clientX,i.y=e.clientY),i=i.matrixTransform(t.getScreenCTM().inverse()),[i.x,i.y]}var s=t.getBoundingClientRect();return[e.clientX-s.left-t.clientLeft,e.clientY-s.top-t.clientTop]}function X(){return Zi.event.changedTouches[0].identifier}function Z(t){return t&gt;0?1:t&lt;0?-1:0}function J(t,e,r){return(e[0]-t[0])*(r[1]-t[1])-(e[1]-t[1])*(r[0]-t[0])}function K(t){return t&gt;1?0:t&lt;-1?ka:Math.acos(t)}function Q(t){return t&gt;1?Sa:t&lt;-1?-Sa:Math.asin(t)}function $(t){return((t=Math.exp(t))+1/t)/2}function tt(t){return(t=Math.sin(t/2))*t}function et(){}function rt(t,e,r){return this instanceof rt?(this.h=+t,this.s=+e,void(this.l=+r)):arguments.length&lt;2?t instanceof rt?new rt(t.h,t.s,t.l):gt(&quot;&quot;+t,vt,rt):new rt(t,e,r)}function nt(t,e,r){function n(t){return Math.round(255*function(t){return t&gt;360?t-=360:t&lt;0&amp;&amp;(t+=360),t&lt;60?i+(a-i)*t/60:t&lt;180?a:t&lt;240?i+(a-i)*(240-t)/60:i}(t))}var i,a;return t=isNaN(t)?0:(t%=360)&lt;0?t+360:t,e=isNaN(e)?0:e&lt;0?0:e&gt;1?1:e,r=r&lt;0?0:r&gt;1?1:r,a=r&lt;=.5?r*(1+e):r+e-r*e,i=2*r-a,new ht(n(t+120),n(t),n(t-120))}function it(t,e,r){return this instanceof it?(this.h=+t,this.c=+e,void(this.l=+r)):arguments.length&lt;2?t instanceof it?new it(t.h,t.c,t.l):t instanceof ot?lt(t.l,t.a,t.b):lt((t=yt((t=Zi.rgb(t)).r,t.g,t.b)).l,t.a,t.b):new it(t,e,r)}function at(t,e,r){return isNaN(t)&amp;&amp;(t=0),isNaN(e)&amp;&amp;(e=0),new ot(r,Math.cos(t*=Ea)*e,Math.sin(t)*e)}function ot(t,e,r){return this instanceof ot?(this.l=+t,this.a=+e,void(this.b=+r)):arguments.length&lt;2?t instanceof ot?new ot(t.l,t.a,t.b):t instanceof it?at(t.h,t.c,t.l):yt((t=ht(t)).r,t.g,t.b):new ot(t,e,r)}function st(t,e,r){var n=(t+16)/116,i=n+e/500,a=n-r/200;return i=ct(i)*Ra,n=ct(n)*Na,a=ct(a)*ja,new ht(ft(3.2404542*i-1.5371385*n-.4985314*a),ft(-.969266*i+1.8760108*n+.041556*a),ft(.0556434*i-.2040259*n+1.0572252*a))}function lt(t,e,r){return t&gt;0?new it(Math.atan2(r,e)*La,Math.sqrt(e*e+r*r),t):new it(NaN,NaN,t)}function ct(t){return t&gt;.206893034?t*t*t:(t-4/29)/7.787037}function ut(t){return t&gt;.008856?Math.pow(t,1/3):7.787037*t+4/29}function ft(t){return Math.round(255*(t&lt;=.00304?12.92*t:1.055*Math.pow(t,1/2.4)-.055))}function ht(t,e,r){return this instanceof ht?(this.r=~~t,this.g=~~e,void(this.b=~~r)):arguments.length&lt;2?t instanceof ht?new ht(t.r,t.g,t.b):gt(&quot;&quot;+t,ht,nt):new ht(t,e,r)}function dt(t){return new ht(t&gt;&gt;16,t&gt;&gt;8&amp;255,255&amp;t)}function pt(t){return dt(t)+&quot;&quot;}function mt(t){return t&lt;16?&quot;0&quot;+Math.max(0,t).toString(16):Math.min(255,t).toString(16)}function gt(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(&quot;,&quot;),n[1]){case&quot;hsl&quot;:return r(parseFloat(i[0]),parseFloat(i[1])/100,parseFloat(i[2])/100);case&quot;rgb&quot;:return e(bt(i[0]),bt(i[1]),bt(i[2]))}return(a=Va.get(t))?e(a.r,a.g,a.b):(null==t||&quot;#&quot;!==t.charAt(0)||isNaN(a=parseInt(t.slice(1),16))||(4===t.length?(o=(3840&amp;a)&gt;&gt;4,o|=o&gt;&gt;4,s=240&amp;a,s|=s&gt;&gt;4,l=15&amp;a,l|=l&lt;&lt;4):7===t.length&amp;&amp;(o=(16711680&amp;a)&gt;&gt;16,s=(65280&amp;a)&gt;&gt;8,l=255&amp;a)),e(o,s,l))}function vt(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&lt;.5?s/(o+a):s/(2-o-a),n=t==o?(e-r)/s+(e&lt;r?6:0):e==o?(r-t)/s+2:(t-e)/s+4,n*=60):(n=NaN,i=l&gt;0&amp;&amp;l&lt;1?0:n),new rt(n,i,l)}function yt(t,e,r){var n=ut((.4124564*(t=xt(t))+.3575761*(e=xt(e))+.1804375*(r=xt(r)))/Ra),i=ut((.2126729*t+.7151522*e+.072175*r)/Na);return ot(116*i-16,500*(n-i),200*(i-ut((.0193339*t+.119192*e+.9503041*r)/ja)))}function xt(t){return(t/=255)&lt;=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function bt(t){var e=parseFloat(t);return&quot;%&quot;===t.charAt(t.length-1)?Math.round(2.55*e):e}function _t(t){return&quot;function&quot;==typeof t?t:function(){return t}}function wt(t){return function(e,r,n){return 2===arguments.length&amp;&amp;&quot;function&quot;==typeof r&amp;&amp;(n=r,r=null),Mt(e,r,t,n)}}function Mt(t,e,r,n){function i(){var t,e=l.status;if(!e&amp;&amp;function(t){var e=t.responseType;return e&amp;&amp;&quot;text&quot;!==e?t.response:t.responseText}(l)||e&gt;=200&amp;&amp;e&lt;300||304===e){try{t=r.call(a,l)}catch(t){return void o.error.call(a,t)}o.load.call(a,t)}else o.error.call(a,l)}var a={},o=Zi.dispatch(&quot;beforesend&quot;,&quot;progress&quot;,&quot;load&quot;,&quot;error&quot;),s={},l=new XMLHttpRequest,c=null;return!this.XDomainRequest||&quot;withCredentials&quot;in l||!/^(http(s)?:)?\/\//.test(t)||(l=new XDomainRequest),&quot;onload&quot;in l?l.onload=l.onerror=i:l.onreadystatechange=function(){l.readyState&gt;3&amp;&amp;i()},l.onprogress=function(t){var e=Zi.event;Zi.event=t;try{o.progress.call(a,l)}finally{Zi.event=e}},a.header=function(t,e){return t=(t+&quot;&quot;).toLowerCase(),arguments.length&lt;2?s[t]:(null==e?delete s[t]:s[t]=e+&quot;&quot;,a)},a.mimeType=function(t){return arguments.length?(e=null==t?null:t+&quot;&quot;,a):e},a.responseType=function(t){return arguments.length?(c=t,a):c},a.response=function(t){return r=t,a},[&quot;get&quot;,&quot;post&quot;].forEach(function(t){a[t]=function(){return a.send.apply(a,[t].concat(Ki(arguments)))}}),a.send=function(r,n,i){if(2===arguments.length&amp;&amp;&quot;function&quot;==typeof n&amp;&amp;(i=n,n=null),l.open(r,t,!0),null==e||&quot;accept&quot;in s||(s.accept=e+&quot;,*/*&quot;),l.setRequestHeader)for(var u in s)l.setRequestHeader(u,s[u]);return null!=e&amp;&amp;l.overrideMimeType&amp;&amp;l.overrideMimeType(e),null!=c&amp;&amp;(l.responseType=c),null!=i&amp;&amp;a.on(&quot;error&quot;,i).on(&quot;load&quot;,function(t){i(null,t)}),o.beforesend.call(a,l),l.send(null==n?null:n),a},a.abort=function(){return l.abort(),a},Zi.rebind(a,o,&quot;on&quot;),null==n?a:a.get(function(t){return 1===t.length?function(e,r){t(null==e?r:null)}:t}(n))}function kt(t,e,r){var n=arguments.length;n&lt;2&amp;&amp;(e=0),n&lt;3&amp;&amp;(r=Date.now());var i={c:t,t:r+e,n:null};return Ha?Ha.n=i:qa=i,Ha=i,Ga||(Ya=clearTimeout(Ya),Ga=1,Wa(At)),i}function At(){var t=Tt(),e=St()-t;e&gt;24?(isFinite(e)&amp;&amp;(clearTimeout(Ya),Ya=setTimeout(At,e)),Ga=0):(Ga=1,Wa(At))}function Tt(){for(var t=Date.now(),e=qa;e;)t&gt;=e.t&amp;&amp;e.c(t-e.t)&amp;&amp;(e.c=null),e=e.n;return t}function St(){for(var t,e=qa,r=1/0;e;)e.c?(e.t&lt;r&amp;&amp;(r=e.t),e=(t=e).n):e=t?t.n=e.n:qa=e.n;return Ha=t,r}function Et(t,e){return e-(t?Math.ceil(Math.log(t)/Math.LN10):1)}function Lt(){this._=new Date(arguments.length&gt;1?Date.UTC.apply(this,arguments):arguments[0])}function Ct(t,e,r){function n(e){var r=t(e),n=a(r,1);return e-r&lt;n-e?r:n}function i(r){return e(r=t(new Qa(r-1)),1),r}function a(t,r){return e(t=new Qa(+t),r),t}function o(t,n,a){var o=i(t),s=[];if(a&gt;1)for(;o&lt;n;)r(o)%a||s.push(new Date(+o)),e(o,1);else for(;o&lt;n;)s.push(new Date(+o)),e(o,1);return s}t.floor=t,t.round=n,t.ceil=i,t.offset=a,t.range=o;var s=t.utc=zt(t);return s.floor=s,s.round=zt(n),s.ceil=zt(i),s.offset=zt(a),s.range=function(t,e,r){try{Qa=Lt;var n=new Lt;return n._=t,o(n,e,r)}finally{Qa=Date}},t}function zt(t){return function(e,r){try{Qa=Lt;var n=new Lt;return n._=e,t(n,r)._}finally{Qa=Date}}}function Dt(t,e,r){var n=t&lt;0?&quot;-&quot;:&quot;&quot;,i=(n?-t:t)+&quot;&quot;,a=i.length;return n+(a&lt;r?new Array(r-a+1).join(e)+i:i)}function It(t){return new RegExp(&quot;^(?:&quot;+t.map(Zi.requote).join(&quot;|&quot;)+&quot;)&quot;,&quot;i&quot;)}function Pt(t){for(var e=new c,r=-1,n=t.length;++r&lt;n;)e.set(t[r].toLowerCase(),r);return e}function Ot(t,e,r){eo.lastIndex=0;var n=eo.exec(e.slice(r,r+1));return n?(t.w=+n[0],r+n[0].length):-1}function Ft(t,e,r){eo.lastIndex=0;var n=eo.exec(e.slice(r));return n?(t.U=+n[0],r+n[0].length):-1}function Rt(t,e,r){eo.lastIndex=0;var n=eo.exec(e.slice(r));return n?(t.W=+n[0],r+n[0].length):-1}function Nt(t,e,r){eo.lastIndex=0;var n=eo.exec(e.slice(r,r+4));return n?(t.y=+n[0],r+n[0].length):-1}function jt(t,e,r){eo.lastIndex=0;var n=eo.exec(e.slice(r,r+2));return n?(t.y=function(t){return t+(t&gt;68?1900:2e3)}(+n[0]),r+n[0].length):-1}function Bt(t,e,r){return/^[+-]\d{4}$/.test(e=e.slice(r,r+5))?(t.Z=-e,r+5):-1}function Ut(t,e,r){eo.lastIndex=0;var n=eo.exec(e.slice(r,r+2));return n?(t.m=n[0]-1,r+n[0].length):-1}function Vt(t,e,r){eo.lastIndex=0;var n=eo.exec(e.slice(r,r+2));return n?(t.d=+n[0],r+n[0].length):-1}function qt(t,e,r){eo.lastIndex=0;var n=eo.exec(e.slice(r,r+3));return n?(t.j=+n[0],r+n[0].length):-1}function Ht(t,e,r){eo.lastIndex=0;var n=eo.exec(e.slice(r,r+2));return n?(t.H=+n[0],r+n[0].length):-1}function Gt(t,e,r){eo.lastIndex=0;var n=eo.exec(e.slice(r,r+2));return n?(t.M=+n[0],r+n[0].length):-1}function Yt(t,e,r){eo.lastIndex=0;var n=eo.exec(e.slice(r,r+2));return n?(t.S=+n[0],r+n[0].length):-1}function Wt(t,e,r){eo.lastIndex=0;var n=eo.exec(e.slice(r,r+3));return n?(t.L=+n[0],r+n[0].length):-1}function Xt(t){var e=t.getTimezoneOffset(),r=e&gt;0?&quot;-&quot;:&quot;+&quot;,n=aa(e)/60|0,i=aa(e)%60;return r+Dt(n,&quot;0&quot;,2)+Dt(i,&quot;0&quot;,2)}function Zt(t,e,r){ro.lastIndex=0;var n=ro.exec(e.slice(r,r+1));return n?r+n[0].length:-1}function Jt(t){for(var e=t.length,r=-1;++r&lt;e;)t[r][0]=this(t[r][0]);return function(e){for(var r=0,n=t[r];!n[1](e);)n=t[++r];return n[0](e)}}function Kt(){}function Qt(t,e,r){var n=r.s=t+e,i=n-t,a=n-i;r.t=t-a+(e-i)}function $t(t,e){t&amp;&amp;oo.hasOwnProperty(t.type)&amp;&amp;oo[t.type](t,e)}function te(t,e,r){var n,i=-1,a=t.length-r;for(e.lineStart();++i&lt;a;)n=t[i],e.point(n[0],n[1],n[2]);e.lineEnd()}function ee(t,e){var r=-1,n=t.length;for(e.polygonStart();++r&lt;n;)te(t[r],e,1);e.polygonEnd()}function re(){function t(t,e){e=e*Ea/2+ka/4;var r=(t*=Ea)-n,o=r&gt;=0?1:-1,s=o*r,l=Math.cos(e),c=Math.sin(e),u=a*c,f=i*l+u*Math.cos(s),h=u*o*Math.sin(s);lo.add(Math.atan2(h,f)),n=t,i=l,a=c}var e,r,n,i,a;co.point=function(o,s){co.point=t,n=(e=o)*Ea,i=Math.cos(s=(r=s)*Ea/2+ka/4),a=Math.sin(s)},co.lineEnd=function(){t(e,r)}}function ne(t){var e=t[0],r=t[1],n=Math.cos(r);return[n*Math.cos(e),n*Math.sin(e),Math.sin(r)]}function ie(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]}function ae(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 oe(t,e){t[0]+=e[0],t[1]+=e[1],t[2]+=e[2]}function se(t,e){return[t[0]*e,t[1]*e,t[2]*e]}function le(t){var e=Math.sqrt(t[0]*t[0]+t[1]*t[1]+t[2]*t[2]);t[0]/=e,t[1]/=e,t[2]/=e}function ce(t){return[Math.atan2(t[1],t[0]),Q(t[2])]}function ue(t,e){return aa(t[0]-e[0])&lt;wa&amp;&amp;aa(t[1]-e[1])&lt;wa}function fe(t,e){t*=Ea;var r=Math.cos(e*=Ea);he(r*Math.cos(t),r*Math.sin(t),Math.sin(e))}function he(t,e,r){ho+=(t-ho)/++uo,po+=(e-po)/uo,mo+=(r-mo)/uo}function de(){function t(t,i){t*=Ea;var a=Math.cos(i*=Ea),o=a*Math.cos(t),s=a*Math.sin(t),l=Math.sin(i),c=Math.atan2(Math.sqrt((c=r*l-n*s)*c+(c=n*o-e*l)*c+(c=e*s-r*o)*c),e*o+r*s+n*l);fo+=c,go+=c*(e+(e=o)),vo+=c*(r+(r=s)),yo+=c*(n+(n=l)),he(e,r,n)}var e,r,n;wo.point=function(i,a){i*=Ea;var o=Math.cos(a*=Ea);e=o*Math.cos(i),r=o*Math.sin(i),n=Math.sin(a),wo.point=t,he(e,r,n)}}function pe(){wo.point=fe}function me(){function t(t,e){t*=Ea;var r=Math.cos(e*=Ea),o=r*Math.cos(t),s=r*Math.sin(t),l=Math.sin(e),c=i*l-a*s,u=a*o-n*l,f=n*s-i*o,h=Math.sqrt(c*c+u*u+f*f),d=n*o+i*s+a*l,p=h&amp;&amp;-K(d)/h,m=Math.atan2(h,d);xo+=p*c,bo+=p*u,_o+=p*f,fo+=m,go+=m*(n+(n=o)),vo+=m*(i+(i=s)),yo+=m*(a+(a=l)),he(n,i,a)}var e,r,n,i,a;wo.point=function(o,s){e=o,r=s,wo.point=t,o*=Ea;var l=Math.cos(s*=Ea);n=l*Math.cos(o),i=l*Math.sin(o),a=Math.sin(s),he(n,i,a)},wo.lineEnd=function(){t(e,r),wo.lineEnd=pe,wo.point=fe}}function ge(t,e){function r(r,n){return r=t(r,n),e(r[0],r[1])}return t.invert&amp;&amp;e.invert&amp;&amp;(r.invert=function(r,n){return(r=e.invert(r,n))&amp;&amp;t.invert(r[0],r[1])}),r}function ve(){return!0}function ye(t,e,r,n,i){var a=[],o=[];if(t.forEach(function(t){if(!((e=t.length-1)&lt;=0)){var e,r=t[0],n=t[e];if(ue(r,n)){i.lineStart();for(var s=0;s&lt;e;++s)i.point((r=t[s])[0],r[1]);i.lineEnd()}else{var l=new be(r,t,null,!0),c=new be(r,null,l,!1);l.o=c,a.push(l),o.push(c),c=new be(n,null,l=new be(n,t,null,!1),!0),l.o=c,a.push(l),o.push(c)}}}),o.sort(e),xe(a),xe(o),a.length){for(var s=0,l=r,c=o.length;s&lt;c;++s)o[s].e=l=!l;for(var u,f,h=a[0];;){for(var d=h,p=!0;d.v;)if((d=d.n)===h)return;u=d.z,i.lineStart();do{if(d.v=d.o.v=!0,d.e){if(p)for(s=0,c=u.length;s&lt;c;++s)i.point((f=u[s])[0],f[1]);else n(d.x,d.n.x,1,i);d=d.n}else{if(p)for(s=(u=d.p.z).length-1;s&gt;=0;--s)i.point((f=u[s])[0],f[1]);else n(d.x,d.p.x,-1,i);d=d.p}u=(d=d.o).z,p=!p}while(!d.v);i.lineEnd()}}}function xe(t){if(e=t.length){for(var e,r,n=0,i=t[0];++n&lt;e;)i.n=r=t[n],r.p=i,i=r;i.n=r=t[0],r.p=i}}function be(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 _e(t,e,r,n){return function(i,a){function o(e,r){var n=i(e,r);t(e=n[0],r=n[1])&amp;&amp;a.point(e,r)}function s(t,e){var r=i(t,e);g.point(r[0],r[1])}function l(){y.point=s,g.lineStart()}function c(){y.point=o,g.lineEnd()}function u(t,e){m.push([t,e]);var r=i(t,e);b.point(r[0],r[1])}function f(){b.lineStart(),m=[]}function h(){u(m[0][0],m[0][1]),b.lineEnd();var t,e=b.clean(),r=x.buffer(),n=r.length;if(m.pop(),p.push(m),m=null,n)if(1&amp;e){var i,o=-1;if((n=(t=r[0]).length-1)&gt;0){for(_||(a.polygonStart(),_=!0),a.lineStart();++o&lt;n;)a.point((i=t[o])[0],i[1]);a.lineEnd()}}else n&gt;1&amp;&amp;2&amp;e&amp;&amp;r.push(r.pop().concat(r.shift())),d.push(r.filter(we))}var d,p,m,g=e(a),v=i.invert(n[0],n[1]),y={point:o,lineStart:l,lineEnd:c,polygonStart:function(){y.point=u,y.lineStart=f,y.lineEnd=h,d=[],p=[]},polygonEnd:function(){y.point=o,y.lineStart=l,y.lineEnd=c,d=Zi.merge(d);var t=function(t,e){var r=t[0],n=t[1],i=[Math.sin(r),-Math.cos(r),0],a=0,o=0;lo.reset();for(var s=0,l=e.length;s&lt;l;++s){var c=e[s],u=c.length;if(u)for(var f=c[0],h=f[0],d=f[1]/2+ka/4,p=Math.sin(d),m=Math.cos(d),g=1;;){g===u&amp;&amp;(g=0);var v=(t=c[g])[0],y=t[1]/2+ka/4,x=Math.sin(y),b=Math.cos(y),_=v-h,w=_&gt;=0?1:-1,M=w*_,k=M&gt;ka,A=p*x;if(lo.add(Math.atan2(A*w*Math.sin(M),m*b+A*Math.cos(M))),a+=k?_+w*Aa:_,k^h&gt;=r^v&gt;=r){var T=ae(ne(f),ne(t));le(T);var S=ae(i,T);le(S);var E=(k^_&gt;=0?-1:1)*Q(S[2]);(n&gt;E||n===E&amp;&amp;(T[0]||T[1]))&amp;&amp;(o+=k^_&gt;=0?1:-1)}if(!g++)break;h=v,p=x,m=b,f=t}}return(a&lt;-wa||a&lt;wa&amp;&amp;lo&lt;-wa)^1&amp;o}(v,p);d.length?(_||(a.polygonStart(),_=!0),ye(d,ke,t,r,a)):t&amp;&amp;(_||(a.polygonStart(),_=!0),a.lineStart(),r(null,null,1,a),a.lineEnd()),_&amp;&amp;(a.polygonEnd(),_=!1),d=p=null},sphere:function(){a.polygonStart(),a.lineStart(),r(null,null,1,a),a.lineEnd(),a.polygonEnd()}},x=Me(),b=e(x),_=!1;return y}}function we(t){return t.length&gt;1}function Me(){var t,e=[];return{lineStart:function(){e.push(t=[])},point:function(e,r){t.push([e,r])},lineEnd:b,buffer:function(){var r=e;return e=[],t=null,r},rejoin:function(){e.length&gt;1&amp;&amp;e.push(e.pop().concat(e.shift()))}}}function ke(t,e){return((t=t.x)[0]&lt;0?t[1]-Sa-wa:Sa-t[1])-((e=e.x)[0]&lt;0?e[1]-Sa-wa:Sa-e[1])}function Ae(t,e,r,n){return function(i){var a,o=i.a,s=i.b,l=o.x,c=o.y,u=0,f=1,h=s.x-l,d=s.y-c;if(a=t-l,h||!(a&gt;0)){if(a/=h,h&lt;0){if(a&lt;u)return;a&lt;f&amp;&amp;(f=a)}else if(h&gt;0){if(a&gt;f)return;a&gt;u&amp;&amp;(u=a)}if(a=r-l,h||!(a&lt;0)){if(a/=h,h&lt;0){if(a&gt;f)return;a&gt;u&amp;&amp;(u=a)}else if(h&gt;0){if(a&lt;u)return;a&lt;f&amp;&amp;(f=a)}if(a=e-c,d||!(a&gt;0)){if(a/=d,d&lt;0){if(a&lt;u)return;a&lt;f&amp;&amp;(f=a)}else if(d&gt;0){if(a&gt;f)return;a&gt;u&amp;&amp;(u=a)}if(a=n-c,d||!(a&lt;0)){if(a/=d,d&lt;0){if(a&gt;f)return;a&gt;u&amp;&amp;(u=a)}else if(d&gt;0){if(a&lt;u)return;a&lt;f&amp;&amp;(f=a)}return u&gt;0&amp;&amp;(i.a={x:l+u*h,y:c+u*d}),f&lt;1&amp;&amp;(i.b={x:l+f*h,y:c+f*d}),i}}}}}}function Te(t,e,r,n){function i(n,i){return aa(n[0]-t)&lt;wa?i&gt;0?0:3:aa(n[0]-r)&lt;wa?i&gt;0?2:1:aa(n[1]-e)&lt;wa?i&gt;0?1:0:i&gt;0?3:2}function a(t,e){return o(t.x,e.x)}function o(t,e){var r=i(t,1),n=i(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(s){function l(a,s,l,c){var u=0,f=0;if(null==a||(u=i(a,l))!==(f=i(s,l))||o(a,s)&lt;0^l&gt;0)do{c.point(0===u||3===u?t:r,u&gt;1?n:e)}while((u=(u+l+4)%4)!==f);else c.point(s[0],s[1])}function c(i,a){return t&lt;=i&amp;&amp;i&lt;=r&amp;&amp;e&lt;=a&amp;&amp;a&lt;=n}function u(t,e){c(t,e)&amp;&amp;s.point(t,e)}function f(t,e){var r=c(t=Math.max(-ko,Math.min(ko,t)),e=Math.max(-ko,Math.min(ko,e)));if(d&amp;&amp;p.push([t,e]),_)m=t,g=e,v=r,_=!1,r&amp;&amp;(s.lineStart(),s.point(t,e));else if(r&amp;&amp;b)s.point(t,e);else{var n={a:{x:y,y:x},b:{x:t,y:e}};A(n)?(b||(s.lineStart(),s.point(n.a.x,n.a.y)),s.point(n.b.x,n.b.y),r||s.lineEnd(),w=!1):r&amp;&amp;(s.lineStart(),s.point(t,e),w=!1)}y=t,x=e,b=r}var h,d,p,m,g,v,y,x,b,_,w,M=s,k=Me(),A=Ae(t,e,r,n),T={point:u,lineStart:function(){T.point=f,d&amp;&amp;d.push(p=[]),_=!0,b=!1,y=x=NaN},lineEnd:function(){h&amp;&amp;(f(m,g),v&amp;&amp;b&amp;&amp;k.rejoin(),h.push(k.buffer())),T.point=u,b&amp;&amp;s.lineEnd()},polygonStart:function(){s=k,h=[],d=[],w=!0},polygonEnd:function(){s=M,h=Zi.merge(h);var e=function(t){for(var e=0,r=d.length,n=t[1],i=0;i&lt;r;++i)for(var a,o=1,s=d[i],l=s.length,c=s[0];o&lt;l;++o)a=s[o],c[1]&lt;=n?a[1]&gt;n&amp;&amp;J(c,a,t)&gt;0&amp;&amp;++e:a[1]&lt;=n&amp;&amp;J(c,a,t)&lt;0&amp;&amp;--e,c=a;return 0!==e}([t,n]),r=w&amp;&amp;e,i=h.length;(r||i)&amp;&amp;(s.polygonStart(),r&amp;&amp;(s.lineStart(),l(null,null,1,s),s.lineEnd()),i&amp;&amp;ye(h,a,e,l,s),s.polygonEnd()),h=d=p=null}};return T}}function Se(t){var e=0,r=ka/3,n=je(t),i=n(e,r);return i.parallels=function(t){return arguments.length?n(e=t[0]*ka/180,r=t[1]*ka/180):[e/ka*180,r/ka*180]},i}function Ee(t,e){function r(t,e){var r=Math.sqrt(a-2*i*Math.sin(e))/i;return[r*Math.sin(t*=i),o-r*Math.cos(t)]}var n=Math.sin(t),i=(n+Math.sin(e))/2,a=1+n*(2*i-n),o=Math.sqrt(a)/i;return r.invert=function(t,e){var r=o-e;return[Math.atan2(t,r)/i,Q((a-(t*t+r*r)*i*i)/(2*i))]},r}function Le(){function t(t,e){To+=i*t-n*e,n=t,i=e}var e,r,n,i;zo.point=function(a,o){zo.point=t,e=n=a,r=i=o},zo.lineEnd=function(){t(e,r)}}function Ce(t){return&quot;m0,&quot;+t+&quot;a&quot;+t+&quot;,&quot;+t+&quot; 0 1,1 0,&quot;+-2*t+&quot;a&quot;+t+&quot;,&quot;+t+&quot; 0 1,1 0,&quot;+2*t+&quot;z&quot;}function ze(t,e){ho+=t,po+=e,++mo}function De(){function t(t,n){var i=t-e,a=n-r,o=Math.sqrt(i*i+a*a);go+=o*(e+t)/2,vo+=o*(r+n)/2,yo+=o,ze(e=t,r=n)}var e,r;Io.point=function(n,i){Io.point=t,ze(e=n,r=i)}}function Ie(){Io.point=ze}function Pe(){function t(t,e){var r=t-n,a=e-i,o=Math.sqrt(r*r+a*a);go+=o*(n+t)/2,vo+=o*(i+e)/2,yo+=o,xo+=(o=i*t-n*e)*(n+t),bo+=o*(i+e),_o+=3*o,ze(n=t,i=e)}var e,r,n,i;Io.point=function(a,o){Io.point=t,ze(e=n=a,r=i=o)},Io.lineEnd=function(){t(e,r)}}function Oe(t){function e(e){return(a?function(e){function n(r,n){r=t(r,n),e.point(r[0],r[1])}function i(){x=NaN,k.point=o,e.lineStart()}function o(n,i){var o=ne([n,i]),s=t(n,i);r(x,b,y,_,w,M,x=s[0],b=s[1],y=n,_=o[0],w=o[1],M=o[2],a,e),e.point(x,b)}function s(){k.point=n,e.lineEnd()}function l(){i(),k.point=c,k.lineEnd=u}function c(t,e){o(f=t,h=e),d=x,p=b,m=_,g=w,v=M,k.point=o}function u(){r(x,b,y,_,w,M,d,p,f,m,g,v,a,e),k.lineEnd=s,s()}var f,h,d,p,m,g,v,y,x,b,_,w,M,k={point:n,lineStart:i,lineEnd:s,polygonStart:function(){e.polygonStart(),k.lineStart=l},polygonEnd:function(){e.polygonEnd(),k.lineStart=i}};return k}:function(e){return Re(e,function(r,n){r=t(r,n),e.point(r[0],r[1])})})(e)}function r(e,a,o,s,l,c,u,f,h,d,p,m,g,v){var y=u-e,x=f-a,b=y*y+x*x;if(b&gt;4*n&amp;&amp;g--){var _=s+d,w=l+p,M=c+m,k=Math.sqrt(_*_+w*w+M*M),A=Math.asin(M/=k),T=aa(aa(M)-1)&lt;wa||aa(o-h)&lt;wa?(o+h)/2:Math.atan2(w,_),S=t(T,A),E=S[0],L=S[1],C=E-e,z=L-a,D=x*C-y*z;(D*D/b&gt;n||aa((y*C+x*z)/b-.5)&gt;.3||s*d+l*p+c*m&lt;i)&amp;&amp;(r(e,a,o,s,l,c,E,L,T,_/=k,w/=k,M,g,v),v.point(E,L),r(E,L,T,_,w,M,u,f,h,d,p,m,g,v))}}var n=.5,i=Math.cos(30*Ea),a=16;return e.precision=function(t){return arguments.length?(a=(n=t*t)&gt;0&amp;&amp;16,e):Math.sqrt(n)},e}function Fe(t){this.stream=t}function Re(t,e){return{point:e,sphere:function(){t.sphere()},lineStart:function(){t.lineStart()},lineEnd:function(){t.lineEnd()},polygonStart:function(){t.polygonStart()},polygonEnd:function(){t.polygonEnd()}}}function Ne(t){return je(function(){return t})()}function je(t){function e(t){return t=o(t[0]*Ea,t[1]*Ea),[t[0]*f+s,l-t[1]*f]}function r(){o=ge(a=qe(g,v,x),i);var t=i(p,m);return s=h-t[0]*f,l=d+t[1]*f,n()}function n(){return c&amp;&amp;(c.valid=!1,c=null),e}var i,a,o,s,l,c,u=Oe(function(t,e){return t=i(t,e),[t[0]*f+s,l-t[1]*f]}),f=150,h=480,d=250,p=0,m=0,g=0,v=0,x=0,b=Mo,_=y,w=null,M=null;return e.stream=function(t){return c&amp;&amp;(c.valid=!1),c=Be(b(a,u(_(t)))),c.valid=!0,c},e.clipAngle=function(t){return arguments.length?(b=null==t?(w=t,Mo):function(t){function e(t,e){return Math.cos(t)*Math.cos(e)&gt;i}function r(t,e,r){var n=[1,0,0],a=ae(ne(t),ne(e)),o=ie(a,a),s=a[0],l=o-s*s;if(!l)return!r&amp;&amp;t;var c=i*o/l,u=-i*s/l,f=ae(n,a),h=se(n,c);oe(h,se(a,u));var d=f,p=ie(h,d),m=ie(d,d),g=p*p-m*(ie(h,h)-1);if(!(g&lt;0)){var v=Math.sqrt(g),y=se(d,(-p-v)/m);if(oe(y,h),y=ce(y),!r)return y;var x,b=t[0],_=e[0],w=t[1],M=e[1];_&lt;b&amp;&amp;(x=b,b=_,_=x);var k=_-b,A=aa(k-ka)&lt;wa;if(!A&amp;&amp;M&lt;w&amp;&amp;(x=w,w=M,M=x),A||k&lt;wa?A?w+M&gt;0^y[1]&lt;(aa(y[0]-b)&lt;wa?w:M):w&lt;=y[1]&amp;&amp;y[1]&lt;=M:k&gt;ka^(b&lt;=y[0]&amp;&amp;y[0]&lt;=_)){var T=se(d,(-p+v)/m);return oe(T,h),[y,ce(T)]}}}function n(e,r){var n=a?t:ka-t,i=0;return e&lt;-n?i|=1:e&gt;n&amp;&amp;(i|=2),r&lt;-n?i|=4:r&gt;n&amp;&amp;(i|=8),i}var i=Math.cos(t),a=i&gt;0,o=aa(i)&gt;wa;return _e(e,function(t){var i,s,l,c,u;return{lineStart:function(){c=l=!1,u=1},point:function(f,h){var d,p=[f,h],m=e(f,h),g=a?m?0:n(f,h):m?n(f+(f&lt;0?ka:-ka),h):0;if(!i&amp;&amp;(c=l=m)&amp;&amp;t.lineStart(),m!==l&amp;&amp;(d=r(i,p),(ue(i,d)||ue(p,d))&amp;&amp;(p[0]+=wa,p[1]+=wa,m=e(p[0],p[1]))),m!==l)u=0,m?(t.lineStart(),d=r(p,i),t.point(d[0],d[1])):(d=r(i,p),t.point(d[0],d[1]),t.lineEnd()),i=d;else if(o&amp;&amp;i&amp;&amp;a^m){var v;g&amp;s||!(v=r(p,i,!0))||(u=0,a?(t.lineStart(),t.point(v[0][0],v[0][1]),t.point(v[1][0],v[1][1]),t.lineEnd()):(t.point(v[1][0],v[1][1]),t.lineEnd(),t.lineStart(),t.point(v[0][0],v[0][1])))}!m||i&amp;&amp;ue(i,p)||t.point(p[0],p[1]),i=p,l=m,s=g},lineEnd:function(){l&amp;&amp;t.lineEnd(),i=null},clean:function(){return u|(c&amp;&amp;l)&lt;&lt;1}}},We(t,6*Ea),a?[0,-t]:[-ka,t-ka])}((w=+t)*Ea),n()):w},e.clipExtent=function(t){return arguments.length?(M=t,_=t?Te(t[0][0],t[0][1],t[1][0],t[1][1]):y,n()):M},e.scale=function(t){return arguments.length?(f=+t,r()):f},e.translate=function(t){return arguments.length?(h=+t[0],d=+t[1],r()):[h,d]},e.center=function(t){return arguments.length?(p=t[0]%360*Ea,m=t[1]%360*Ea,r()):[p*La,m*La]},e.rotate=function(t){return arguments.length?(g=t[0]%360*Ea,v=t[1]%360*Ea,x=t.length&gt;2?t[2]%360*Ea:0,r()):[g*La,v*La,x*La]},Zi.rebind(e,u,&quot;precision&quot;),function(){return i=t.apply(this,arguments),e.invert=i.invert&amp;&amp;function(t){return(t=o.invert((t[0]-s)/f,(l-t[1])/f))&amp;&amp;[t[0]*La,t[1]*La]},r()}}function Be(t){return Re(t,function(e,r){t.point(e*Ea,r*Ea)})}function Ue(t,e){return[t,e]}function Ve(t,e){return[t&gt;ka?t-Aa:t&lt;-ka?t+Aa:t,e]}function qe(t,e,r){return t?e||r?ge(Ge(t),Ye(e,r)):Ge(t):e||r?Ye(e,r):Ve}function He(t){return function(e,r){return e+=t,[e&gt;ka?e-Aa:e&lt;-ka?e+Aa:e,r]}}function Ge(t){var e=He(t);return e.invert=He(-t),e}function Ye(t,e){function r(t,e){var r=Math.cos(e),s=Math.cos(t)*r,l=Math.sin(t)*r,c=Math.sin(e),u=c*n+s*i;return[Math.atan2(l*a-u*o,s*n-c*i),Q(u*a+l*o)]}var n=Math.cos(t),i=Math.sin(t),a=Math.cos(e),o=Math.sin(e);return r.invert=function(t,e){var r=Math.cos(e),s=Math.cos(t)*r,l=Math.sin(t)*r,c=Math.sin(e),u=c*a-l*o;return[Math.atan2(l*a+c*o,s*n+u*i),Q(u*n-s*i)]},r}function We(t,e){var r=Math.cos(t),n=Math.sin(t);return function(i,a,o,s){var l=o*e;null!=i?(i=Xe(r,i),a=Xe(r,a),(o&gt;0?i&lt;a:i&gt;a)&amp;&amp;(i+=o*Aa)):(i=t+o*Aa,a=t-.5*l);for(var c,u=i;o&gt;0?u&gt;a:u&lt;a;u-=l)s.point((c=ce([r,-n*Math.cos(u),-n*Math.sin(u)]))[0],c[1])}}function Xe(t,e){var r=ne(e);r[0]-=t,le(r);var n=K(-r[1]);return((-r[2]&lt;0?-n:n)+2*Math.PI-wa)%(2*Math.PI)}function Ze(t,e,r){var n=Zi.range(t,e-wa,r).concat(e);return function(t){return n.map(function(e){return[t,e]})}}function Je(t,e,r){var n=Zi.range(t,e-wa,r).concat(e);return function(t){return n.map(function(e){return[e,t]})}}function Ke(t){return t.source}function Qe(t){return t.target}function $e(t,e){function r(e,r){var n=Math.cos(e),i=Math.cos(r),a=t(n*i);return[a*i*Math.sin(e),a*Math.sin(r)]}return r.invert=function(t,r){var n=Math.sqrt(t*t+r*r),i=e(n),a=Math.sin(i),o=Math.cos(i);return[Math.atan2(t*a,n*o),Math.asin(n&amp;&amp;r*a/n)]},r}function tr(t,e){function r(t,e){o&gt;0?e&lt;-Sa+wa&amp;&amp;(e=-Sa+wa):e&gt;Sa-wa&amp;&amp;(e=Sa-wa);var r=o/Math.pow(i(e),a);return[r*Math.sin(a*t),o-r*Math.cos(a*t)]}var n=Math.cos(t),i=function(t){return Math.tan(ka/4+t/2)},a=t===e?Math.sin(t):Math.log(n/Math.cos(e))/Math.log(i(e)/i(t)),o=n*Math.pow(i(t),a)/a;return a?(r.invert=function(t,e){var r=o-e,n=Z(a)*Math.sqrt(t*t+r*r);return[Math.atan2(t,r)/a,2*Math.atan(Math.pow(o/n,1/a))-Sa]},r):rr}function er(t,e){function r(t,e){var r=a-e;return[r*Math.sin(i*t),a-r*Math.cos(i*t)]}var n=Math.cos(t),i=t===e?Math.sin(t):(n-Math.cos(e))/(e-t),a=n/i+t;return aa(i)&lt;wa?Ue:(r.invert=function(t,e){var r=a-e;return[Math.atan2(t,r)/i,a-Z(i)*Math.sqrt(t*t+r*r)]},r)}function rr(t,e){return[t,Math.log(Math.tan(ka/4+e/2))]}function nr(t){var e,r=Ne(t),n=r.scale,i=r.translate,a=r.clipExtent;return r.scale=function(){var t=n.apply(r,arguments);return t===r?e?r.clipExtent(null):r:t},r.translate=function(){var t=i.apply(r,arguments);return t===r?e?r.clipExtent(null):r:t},r.clipExtent=function(t){var o=a.apply(r,arguments);if(o===r){if(e=null==t){var s=ka*n(),l=i();a([[l[0]-s,l[1]-s],[l[0]+s,l[1]+s]])}}else e&amp;&amp;(o=null);return o},r.clipExtent(null)}function ir(t,e){return[Math.log(Math.tan(ka/4+e/2)),-t]}function ar(t){return t[0]}function or(t){return t[1]}function sr(t){for(var e=t.length,r=[0,1],n=2,i=2;i&lt;e;i++){for(;n&gt;1&amp;&amp;J(t[r[n-2]],t[r[n-1]],t[i])&lt;=0;)--n;r[n++]=i}return r.slice(0,n)}function lr(t,e){return t[0]-e[0]||t[1]-e[1]}function cr(t,e,r){return(r[0]-e[0])*(t[1]-e[1])&lt;(r[1]-e[1])*(t[0]-e[0])}function ur(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 fr(t){var e=t[0],r=t[t.length-1];return!(e[0]-r[0]||e[1]-r[1])}function hr(t){var e=Wo.pop()||new function(){Sr(this),this.edge=this.site=this.circle=null};return e.site=t,e}function dr(t){_r(t),Ho.remove(t),Wo.push(t),Sr(t)}function pr(t){var e=t.circle,r=e.x,n=e.cy,i={x:r,y:n},a=t.P,o=t.N,s=[t];dr(t);for(var l=a;l.circle&amp;&amp;aa(r-l.circle.x)&lt;wa&amp;&amp;aa(n-l.circle.cy)&lt;wa;)a=l.P,s.unshift(l),dr(l),l=a;s.unshift(l),_r(l);for(var c=o;c.circle&amp;&amp;aa(r-c.circle.x)&lt;wa&amp;&amp;aa(n-c.circle.cy)&lt;wa;)o=c.N,s.push(c),dr(c),c=o;s.push(c),_r(c);var u,f=s.length;for(u=1;u&lt;f;++u)c=s[u],l=s[u-1],kr(c.edge,l.site,c.site,i);l=s[0],(c=s[f-1]).edge=Mr(l.site,c.site,null,i),br(l),br(c)}function mr(t){for(var e,r,n,i,a=t.x,o=t.y,s=Ho._;s;)if((n=gr(s,o)-a)&gt;wa)s=s.L;else{if(!((i=a-function(t,e){var r=t.N;if(r)return gr(r,e);var n=t.site;return n.y===e?n.x:1/0}(s,o))&gt;wa)){n&gt;-wa?(e=s.P,r=s):i&gt;-wa?(e=s,r=s.N):e=r=s;break}if(!s.R){e=s;break}s=s.R}var l=hr(t);if(Ho.insert(e,l),e||r){if(e===r)return _r(e),r=hr(e.site),Ho.insert(l,r),l.edge=r.edge=Mr(e.site,l.site),br(e),void br(r);if(r){_r(e),_r(r);var c=e.site,u=c.x,f=c.y,h=t.x-u,d=t.y-f,p=r.site,m=p.x-u,g=p.y-f,v=2*(h*g-d*m),y=h*h+d*d,x=m*m+g*g,b={x:(g*y-d*x)/v+u,y:(h*x-m*y)/v+f};kr(r.edge,c,p,b),l.edge=Mr(c,t,null,b),r.edge=Mr(t,p,null,b),br(e),br(r)}else l.edge=Mr(e.site,l.site)}}function gr(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 vr(t){this.site=t,this.edges=[]}function yr(t){for(var e,r,n,i,a,o,s,l,c,u,f=t[0][0],h=t[1][0],d=t[0][1],p=t[1][1],m=qo,g=m.length;g--;)if((a=m[g])&amp;&amp;a.prepare())for(l=(s=a.edges).length,o=0;o&lt;l;)n=(u=s[o].end()).x,i=u.y,e=(c=s[++o%l].start()).x,r=c.y,(aa(n-e)&gt;wa||aa(i-r)&gt;wa)&amp;&amp;(s.splice(o,0,new Ar(function(t,e,r){var n=new wr(t,null);return n.a=e,n.b=r,Vo.push(n),n}(a.site,u,aa(n-f)&lt;wa&amp;&amp;p-i&gt;wa?{x:f,y:aa(e-f)&lt;wa?r:p}:aa(i-p)&lt;wa&amp;&amp;h-n&gt;wa?{x:aa(r-p)&lt;wa?e:h,y:p}:aa(n-h)&lt;wa&amp;&amp;i-d&gt;wa?{x:h,y:aa(e-h)&lt;wa?r:d}:aa(i-d)&lt;wa&amp;&amp;n-f&gt;wa?{x:aa(r-d)&lt;wa?e:f,y:d}:null),a.site,null)),++l)}function xr(t,e){return e.angle-t.angle}function br(t){var e=t.P,r=t.N;if(e&amp;&amp;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&gt;=-Ma)){var h=l*l+c*c,d=u*u+g*g,p=(g*h-c*d)/f,m=(l*d-u*h)/f,g=m+s,v=Xo.pop()||new function(){Sr(this),this.x=this.y=this.arc=this.site=this.cy=null};v.arc=t,v.site=i,v.x=p+o,v.y=g+Math.sqrt(p*p+m*m),v.cy=g,t.circle=v;for(var y=null,x=Yo._;x;)if(v.y&lt;x.y||v.y===x.y&amp;&amp;v.x&lt;=x.x){if(!x.L){y=x.P;break}x=x.L}else{if(!x.R){y=x;break}x=x.R}Yo.insert(y,v),y||(Go=v)}}}}function _r(t){var e=t.circle;e&amp;&amp;(e.P||(Go=e.N),Yo.remove(e),Xo.push(e),Sr(e),t.circle=null)}function wr(t,e){this.l=t,this.r=e,this.a=this.b=null}function Mr(t,e,r,n){var i=new wr(t,e);return Vo.push(i),r&amp;&amp;kr(i,t,e,r),n&amp;&amp;kr(i,e,t,n),qo[t.i].edges.push(new Ar(i,t,e)),qo[e.i].edges.push(new Ar(i,e,t)),i}function kr(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 Ar(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 Sr(t){t.U=t.C=t.L=t.R=t.P=t.N=null}function Er(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&amp;&amp;(r.R.U=r),n.L=r}function Lr(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&amp;&amp;(r.L.U=r),n.R=r}function Cr(t){for(;t.L;)t=t.L;return t}function zr(t,e){var r,n,i,a=t.sort(Dr).pop();for(Vo=[],qo=new Array(t.length),Ho=new Tr,Yo=new Tr;;)if(i=Go,a&amp;&amp;(!i||a.y&lt;i.y||a.y===i.y&amp;&amp;a.x&lt;i.x))a.x===r&amp;&amp;a.y===n||(qo[a.i]=new vr(a),mr(a),r=a.x,n=a.y),a=t.pop();else{if(!i)break;pr(i.arc)}e&amp;&amp;(function(t){for(var e,r=Vo,n=Ae(t[0][0],t[0][1],t[1][0],t[1][1]),i=r.length;i--;)(!function(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,d=u.y,p=f.x,m=f.y,g=(h+p)/2,v=(d+m)/2;if(m===d){if(g&lt;o||g&gt;=s)return;if(h&gt;p){if(a){if(a.y&gt;=c)return}else a={x:g,y:l};r={x:g,y:c}}else{if(a){if(a.y&lt;l)return}else a={x:g,y:c};r={x:g,y:l}}}else if(n=(h-p)/(m-d),i=v-n*g,n&lt;-1||n&gt;1)if(h&gt;p){if(a){if(a.y&gt;=c)return}else a={x:(l-i)/n,y:l};r={x:(c-i)/n,y:c}}else{if(a){if(a.y&lt;l)return}else a={x:(c-i)/n,y:c};r={x:(l-i)/n,y:l}}else if(d&lt;m){if(a){if(a.x&gt;=s)return}else a={x:o,y:n*o+i};r={x:s,y:n*s+i}}else{if(a){if(a.x&lt;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}(e=r[i],t)||!n(e)||aa(e.a.x-e.b.x)&lt;wa&amp;&amp;aa(e.a.y-e.b.y)&lt;wa)&amp;&amp;(e.a=e.b=null,r.splice(i,1))}(e),yr(e));var o={cells:qo,edges:Vo};return Ho=Yo=Vo=qo=null,o}function Dr(t,e){return e.y-t.y||e.x-t.x}function Ir(t){return t.x}function Pr(t){return t.y}function Or(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]&amp;&amp;Or(t,l[0],r,n,o,s),l[1]&amp;&amp;Or(t,l[1],o,n,i,s),l[2]&amp;&amp;Or(t,l[2],r,s,o,a),l[3]&amp;&amp;Or(t,l[3],o,s,i,a)}}function Fr(t,e){t=Zi.rgb(t),e=Zi.rgb(e);var r=t.r,n=t.g,i=t.b,a=e.r-r,o=e.g-n,s=e.b-i;return function(t){return&quot;#&quot;+mt(Math.round(r+a*t))+mt(Math.round(n+o*t))+mt(Math.round(i+s*t))}}function Rr(t,e){var r,n={},i={};for(r in t)r in e?n[r]=Br(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 Nr(t,e){return t=+t,e=+e,function(r){return t*(1-r)+e*r}}function jr(t,e){var r,n,i,a=Jo.lastIndex=Ko.lastIndex=0,o=-1,s=[],l=[];for(t+=&quot;&quot;,e+=&quot;&quot;;(r=Jo.exec(t))&amp;&amp;(n=Ko.exec(e));)(i=n.index)&gt;a&amp;&amp;(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:Nr(r,n)})),a=Ko.lastIndex;return a&lt;e.length&amp;&amp;(i=e.slice(a),s[o]?s[o]+=i:s[++o]=i),s.length&lt;2?l[0]?(e=l[0].x,function(t){return e(t)+&quot;&quot;}):function(){return e}:(e=l.length,function(t){for(var r,n=0;n&lt;e;++n)s[(r=l[n]).i]=r.x(t);return s.join(&quot;&quot;)})}function Br(t,e){for(var r,n=Zi.interpolators.length;--n&gt;=0&amp;&amp;!(r=Zi.interpolators[n](t,e)););return r}function Ur(t,e){var r,n=[],i=[],a=t.length,o=e.length,s=Math.min(t.length,e.length);for(r=0;r&lt;s;++r)n.push(Br(t[r],e[r]));for(;r&lt;a;++r)i[r]=t[r];for(;r&lt;o;++r)i[r]=e[r];return function(t){for(r=0;r&lt;s;++r)i[r]=n[r](t);return i}}function Vr(t){return function(e){return 1-t(1-e)}}function qr(t){return function(e){return.5*(e&lt;.5?t(2*e):2-t(2-2*e))}}function Hr(t){return t*t}function Gr(t){return t*t*t}function Yr(t){return 1-Math.cos(t*Sa)}function Wr(t){return Math.pow(2,10*(t-1))}function Xr(t){return 1-Math.sqrt(1-t*t)}function Zr(t){return t&lt;1/2.75?7.5625*t*t:t&lt;2/2.75?7.5625*(t-=1.5/2.75)*t+.75:t&lt;2.5/2.75?7.5625*(t-=2.25/2.75)*t+.9375:7.5625*(t-=2.625/2.75)*t+.984375}function Jr(t,e){return e-=t,function(r){return Math.round(t+e*r)}}function Kr(t){var e=[t.a,t.b],r=[t.c,t.d],n=$r(e),i=Qr(e,r),a=$r(function(t,e,r){return t[0]+=r*e[0],t[1]+=r*e[1],t}(r,e,-i))||0;e[0]*r[1]&lt;r[0]*e[1]&amp;&amp;(e[0]*=-1,e[1]*=-1,n*=-1,i*=-1),this.rotate=(n?Math.atan2(e[1],e[0]):Math.atan2(-r[0],r[1]))*La,this.translate=[t.e,t.f],this.scale=[n,a],this.skew=a?Math.atan2(i,a)*La:0}function Qr(t,e){return t[0]*e[0]+t[1]*e[1]}function $r(t){var e=Math.sqrt(Qr(t,t));return e&amp;&amp;(t[0]/=e,t[1]/=e),e}function tn(t){return t.length?t.pop()+&quot;,&quot;:&quot;&quot;}function en(t,e){var r=[],n=[];return t=Zi.transform(t),e=Zi.transform(e),function(t,e,r,n){if(t[0]!==e[0]||t[1]!==e[1]){var i=r.push(&quot;translate(&quot;,null,&quot;,&quot;,null,&quot;)&quot;);n.push({i:i-4,x:Nr(t[0],e[0])},{i:i-2,x:Nr(t[1],e[1])})}else(e[0]||e[1])&amp;&amp;r.push(&quot;translate(&quot;+e+&quot;)&quot;)}(t.translate,e.translate,r,n),function(t,e,r,n){t!==e?(t-e&gt;180?e+=360:e-t&gt;180&amp;&amp;(t+=360),n.push({i:r.push(tn(r)+&quot;rotate(&quot;,null,&quot;)&quot;)-2,x:Nr(t,e)})):e&amp;&amp;r.push(tn(r)+&quot;rotate(&quot;+e+&quot;)&quot;)}(t.rotate,e.rotate,r,n),function(t,e,r,n){t!==e?n.push({i:r.push(tn(r)+&quot;skewX(&quot;,null,&quot;)&quot;)-2,x:Nr(t,e)}):e&amp;&amp;r.push(tn(r)+&quot;skewX(&quot;+e+&quot;)&quot;)}(t.skew,e.skew,r,n),function(t,e,r,n){if(t[0]!==e[0]||t[1]!==e[1]){var i=r.push(tn(r)+&quot;scale(&quot;,null,&quot;,&quot;,null,&quot;)&quot;);n.push({i:i-4,x:Nr(t[0],e[0])},{i:i-2,x:Nr(t[1],e[1])})}else 1===e[0]&amp;&amp;1===e[1]||r.push(tn(r)+&quot;scale(&quot;+e+&quot;)&quot;)}(t.scale,e.scale,r,n),t=e=null,function(t){for(var e,i=-1,a=n.length;++i&lt;a;)r[(e=n[i]).i]=e.x(t);return r.join(&quot;&quot;)}}function rn(t){for(var e=t.source,r=t.target,n=function(t,e){if(t===e)return t;var r=nn(t),n=nn(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 nn(t){for(var e=[],r=t.parent;null!=r;)e.push(t),t=r,r=r.parent;return e.push(t),e}function an(t){t.fixed|=2}function on(t){t.fixed&amp;=-7}function sn(t){t.fixed|=4,t.px=t.x,t.py=t.y}function ln(t){t.fixed&amp;=-5}function cn(t,e,r){var n=0,i=0;if(t.charge=0,!t.leaf)for(var a,o=t.nodes,s=o.length,l=-1;++l&lt;s;)null!=(a=o[l])&amp;&amp;(cn(a,e,r),t.charge+=a.charge,n+=a.charge*a.cx,i+=a.charge*a.cy);if(t.point){t.leaf||(t.point.x+=Math.random()-.5,t.point.y+=Math.random()-.5);var c=e*r[t.point.index];t.charge+=t.pointCharge=c,n+=c*t.point.x,i+=c*t.point.y}t.cx=n/t.charge,t.cy=i/t.charge}function un(t,e){return Zi.rebind(t,e,&quot;sort&quot;,&quot;children&quot;,&quot;value&quot;),t.nodes=t,t.links=gn,t}function fn(t,e){for(var r=[t];null!=(t=r.pop());)if(e(t),(i=t.children)&amp;&amp;(n=i.length))for(var n,i;--n&gt;=0;)r.push(i[n])}function hn(t,e){for(var r=[t],n=[];null!=(t=r.pop());)if(n.push(t),(a=t.children)&amp;&amp;(i=a.length))for(var i,a,o=-1;++o&lt;i;)r.push(a[o]);for(;null!=(t=n.pop());)e(t)}function dn(t){return t.children}function pn(t){return t.value}function mn(t,e){return e.value-t.value}function gn(t){return Zi.merge(t.map(function(t){return(t.children||[]).map(function(e){return{source:t,target:e}})}))}function vn(t){return t.x}function yn(t){return t.y}function xn(t,e,r){t.y0=e,t.y=r}function bn(t){return Zi.range(t.length)}function _n(t){for(var e=-1,r=t[0].length,n=[];++e&lt;r;)n[e]=0;return n}function wn(t){for(var e,r=1,n=0,i=t[0][1],a=t.length;r&lt;a;++r)(e=t[r][1])&gt;i&amp;&amp;(n=r,i=e);return n}function Mn(t){return t.reduce(kn,0)}function kn(t,e){return t+e[1]}function An(t,e){return Tn(t,Math.ceil(Math.log(e.length)/Math.LN2+1))}function Tn(t,e){for(var r=-1,n=+t[0],i=(t[1]-n)/e,a=[];++r&lt;=e;)a[r]=i*r+n;return a}function Sn(t){return[Zi.min(t),Zi.max(t)]}function En(t,e){return t.value-e.value}function Ln(t,e){var r=t._pack_next;t._pack_next=e,e._pack_prev=t,e._pack_next=r,r._pack_prev=e}function Cn(t,e){t._pack_next=e,e._pack_prev=t}function zn(t,e){var r=e.x-t.x,n=e.y-t.y,i=t.r+e.r;return.999*i*i&gt;r*r+n*n}function Dn(t){function e(t){u=Math.min(t.x-t.r,u),f=Math.max(t.x+t.r,f),h=Math.min(t.y-t.r,h),d=Math.max(t.y+t.r,d)}if((r=t.children)&amp;&amp;(c=r.length)){var r,n,i,a,o,s,l,c,u=1/0,f=-1/0,h=1/0,d=-1/0;if(r.forEach(In),n=r[0],n.x=-n.r,n.y=0,e(n),c&gt;1&amp;&amp;(i=r[1],i.x=i.r,i.y=0,e(i),c&gt;2))for(Fn(n,i,a=r[2]),e(a),Ln(n,a),n._pack_prev=a,Ln(a,i),i=n._pack_next,o=3;o&lt;c;o++){Fn(n,i,a=r[o]);var p=0,m=1,g=1;for(s=i._pack_next;s!==i;s=s._pack_next,m++)if(zn(s,a)){p=1;break}if(1==p)for(l=n._pack_prev;l!==s._pack_prev&amp;&amp;!zn(l,a);l=l._pack_prev,g++);p?(m&lt;g||m==g&amp;&amp;i.r&lt;n.r?Cn(n,i=s):Cn(n=l,i),o--):(Ln(n,a),i=a,e(a))}var v=(u+f)/2,y=(h+d)/2,x=0;for(o=0;o&lt;c;o++)(a=r[o]).x-=v,a.y-=y,x=Math.max(x,a.r+Math.sqrt(a.x*a.x+a.y*a.y));t.r=x,r.forEach(Pn)}}function In(t){t._pack_next=t._pack_prev=t}function Pn(t){delete t._pack_next,delete t._pack_prev}function On(t,e,r,n){var i=t.children;if(t.x=e+=n*t.x,t.y=r+=n*t.y,t.r*=n,i)for(var a=-1,o=i.length;++a&lt;o;)On(i[a],e,r,n)}function Fn(t,e,r){var n=t.r+r.r,i=e.x-t.x,a=e.y-t.y;if(n&amp;&amp;(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 Rn(t,e){return t.parent==e.parent?1:2}function Nn(t){var e=t.children;return e.length?e[0]:t.t}function jn(t){var e,r=t.children;return(e=r.length)?r[e-1]:t.t}function Bn(t){var e=t.children;return e&amp;&amp;e.length?Bn(e[0]):t}function Un(t){var e,r=t.children;return r&amp;&amp;(e=r.length)?Un(r[e-1]):t}function Vn(t){return{x:t.x,y:t.y,dx:t.dx,dy:t.dy}}function qn(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&lt;0&amp;&amp;(r+=i/2,i=0),a&lt;0&amp;&amp;(n+=a/2,a=0),{x:r,y:n,dx:i,dy:a}}function Hn(t){var e=t[0],r=t[t.length-1];return e&lt;r?[e,r]:[r,e]}function Gn(t){return t.rangeExtent?t.rangeExtent():Hn(t.range())}function Yn(t,e){var r,n=0,i=t.length-1,a=t[n],o=t[i];return o&lt;a&amp;&amp;(r=n,n=i,i=r,r=a,a=o,o=r),t[n]=e.floor(a),t[i]=e.ceil(o),t}function Wn(t){return t?{floor:function(e){return Math.floor(e/t)*t},ceil:function(e){return Math.ceil(e/t)*t}}:ls}function Xn(t,e,r,n){function i(){var i=Math.min(t.length,e.length)&gt;2?function(t,e,r,n){var i=[],a=[],o=0,s=Math.min(t.length,e.length)-1;for(t[s]&lt;t[0]&amp;&amp;(t=t.slice().reverse(),e=e.slice().reverse());++o&lt;=s;)i.push(r(t[o-1],t[o])),a.push(n(e[o-1],e[o]));return function(e){var r=Zi.bisect(t,e,1,s)-1;return a[r](i[r](e))}}:function(t,e,r,n){var i=r(t[0],t[1]),a=n(e[0],e[1]);return function(t){return a(i(t))}},l=n?function(t,e){return e=(e-=t=+t)||1/e,function(r){return Math.max(0,Math.min(1,(r-t)/e))}}:function(t,e){return e=(e-=t=+t)||1/e,function(r){return(r-t)/e}};return o=i(t,e,l,r),s=i(e,t,l,Br),a}function a(t){return o(t)}var o,s;return a.invert=function(t){return s(t)},a.domain=function(e){return arguments.length?(t=e.map(Number),i()):t},a.range=function(t){return arguments.length?(e=t,i()):e},a.rangeRound=function(t){return a.range(t).interpolate(Jr)},a.clamp=function(t){return arguments.length?(n=t,i()):n},a.interpolate=function(t){return arguments.length?(r=t,i()):r},a.ticks=function(e){return Qn(t,e)},a.tickFormat=function(e,r){return $n(t,e,r)},a.nice=function(e){return Jn(t,e),i()},a.copy=function(){return Xn(t,e,r,n)},i()}function Zn(t,e){return Zi.rebind(t,e,&quot;range&quot;,&quot;rangeRound&quot;,&quot;interpolate&quot;,&quot;clamp&quot;)}function Jn(t,e){return Yn(t,Wn(Kn(t,e)[2])),Yn(t,Wn(Kn(t,e)[2])),t}function Kn(t,e){null==e&amp;&amp;(e=10);var r=Hn(t),n=r[1]-r[0],i=Math.pow(10,Math.floor(Math.log(n/e)/Math.LN10)),a=e/n*i;return a&lt;=.15?i*=10:a&lt;=.35?i*=5:a&lt;=.75&amp;&amp;(i*=2),r[0]=Math.ceil(r[0]/i)*i,r[1]=Math.floor(r[1]/i)*i+.5*i,r[2]=i,r}function Qn(t,e){return Zi.range.apply(Zi,Kn(t,e))}function $n(t,e,r){var n=Kn(t,e);if(r){var i=Za.exec(r);if(i.shift(),&quot;s&quot;===i[8]){var a=Zi.formatPrefix(Math.max(aa(n[0]),aa(n[1])));return i[7]||(i[7]=&quot;.&quot;+ti(a.scale(n[2]))),i[8]=&quot;f&quot;,r=Zi.format(i.join(&quot;&quot;)),function(t){return r(a.scale(t))+a.symbol}}i[7]||(i[7]=&quot;.&quot;+function(t,e){var r=ti(e[2]);return t in cs?Math.abs(r-ti(Math.max(aa(e[0]),aa(e[1]))))+ +(&quot;e&quot;!==t):r-2*(&quot;%&quot;===t)}(i[8],n)),r=i.join(&quot;&quot;)}else r=&quot;,.&quot;+ti(n[2])+&quot;f&quot;;return Zi.format(r)}function ti(t){return-Math.floor(Math.log(t)/Math.LN10+.01)}function ei(t,e,r,n){function i(t){return(r?Math.log(t&lt;0?0:t):-Math.log(t&gt;0?0:-t))/Math.log(e)}function a(t){return r?Math.pow(e,t):-Math.pow(e,-t)}function o(e){return t(i(e))}return o.invert=function(e){return a(t.invert(e))},o.domain=function(e){return arguments.length?(r=e[0]&gt;=0,t.domain((n=e.map(Number)).map(i)),o):n},o.base=function(r){return arguments.length?(e=+r,t.domain(n.map(i)),o):e},o.nice=function(){var e=Yn(n.map(i),r?Math:fs);return t.domain(e),n=e.map(a),o},o.ticks=function(){var t=Hn(n),o=[],s=t[0],l=t[1],c=Math.floor(i(s)),u=Math.ceil(i(l)),f=e%1?2:e;if(isFinite(u-c)){if(r){for(;c&lt;u;c++)for(var h=1;h&lt;f;h++)o.push(a(c)*h);o.push(a(c))}else for(o.push(a(c));c++&lt;u;)for(h=f-1;h&gt;0;h--)o.push(a(c)*h);for(c=0;o[c]&lt;s;c++);for(u=o.length;o[u-1]&gt;l;u--);o=o.slice(c,u)}return o},o.tickFormat=function(t,r){if(!arguments.length)return us;arguments.length&lt;2?r=us:&quot;function&quot;!=typeof r&amp;&amp;(r=Zi.format(r));var n=Math.max(1,e*t/o.ticks().length);return function(t){var o=t/a(Math.round(i(t)));return o*e&lt;e-.5&amp;&amp;(o*=e),o&lt;=n?r(t):&quot;&quot;}},o.copy=function(){return ei(t.copy(),e,r,n)},Zn(o,t)}function ri(t,e,r){function n(e){return t(i(e))}var i=ni(e),a=ni(1/e);return n.invert=function(e){return a(t.invert(e))},n.domain=function(e){return arguments.length?(t.domain((r=e.map(Number)).map(i)),n):r},n.ticks=function(t){return Qn(r,t)},n.tickFormat=function(t,e){return $n(r,t,e)},n.nice=function(t){return n.domain(Jn(r,t))},n.exponent=function(o){return arguments.length?(i=ni(e=o),a=ni(1/e),t.domain(r.map(i)),n):e},n.copy=function(){return ri(t.copy(),e,r)},Zn(n,t)}function ni(t){return function(e){return e&lt;0?-Math.pow(-e,t):Math.pow(e,t)}}function ii(t,e){function r(r){return a[((i.get(r)||(&quot;range&quot;===e.t?i.set(r,t.push(r)):NaN))-1)%a.length]}function n(e,r){return Zi.range(t.length).map(function(t){return e+r*t})}var i,a,o;return r.domain=function(n){if(!arguments.length)return t;t=[],i=new c;for(var a,o=-1,s=n.length;++o&lt;s;)i.has(a=n[o])||i.set(a,t.push(a));return r[e.t].apply(r,e.a)},r.range=function(t){return arguments.length?(a=t,o=0,e={t:&quot;range&quot;,a:arguments},r):a},r.rangePoints=function(i,s){arguments.length&lt;2&amp;&amp;(s=0);var l=i[0],c=i[1],u=t.length&lt;2?(l=(l+c)/2,0):(c-l)/(t.length-1+s);return a=n(l+u*s/2,u),o=0,e={t:&quot;rangePoints&quot;,a:arguments},r},r.rangeRoundPoints=function(i,s){arguments.length&lt;2&amp;&amp;(s=0);var l=i[0],c=i[1],u=t.length&lt;2?(l=c=Math.round((l+c)/2),0):(c-l)/(t.length-1+s)|0;return a=n(l+Math.round(u*s/2+(c-l-(t.length-1+s)*u)/2),u),o=0,e={t:&quot;rangeRoundPoints&quot;,a:arguments},r},r.rangeBands=function(i,s,l){arguments.length&lt;2&amp;&amp;(s=0),arguments.length&lt;3&amp;&amp;(l=s);var c=i[1]&lt;i[0],u=i[c-0],f=(i[1-c]-u)/(t.length-s+2*l);return a=n(u+f*l,f),c&amp;&amp;a.reverse(),o=f*(1-s),e={t:&quot;rangeBands&quot;,a:arguments},r},r.rangeRoundBands=function(i,s,l){arguments.length&lt;2&amp;&amp;(s=0),arguments.length&lt;3&amp;&amp;(l=s);var c=i[1]&lt;i[0],u=i[c-0],f=i[1-c],h=Math.floor((f-u)/(t.length-s+2*l));return a=n(u+Math.round((f-u-(t.length-s)*h)/2),h),c&amp;&amp;a.reverse(),o=Math.round(h*(1-s)),e={t:&quot;rangeRoundBands&quot;,a:arguments},r},r.rangeBand=function(){return o},r.rangeExtent=function(){return Hn(e.a[0])},r.copy=function(){return ii(t,e)},r.domain(t)}function ai(t,e){function r(){var r=0,n=e.length;for(s=[];++r&lt;n;)s[r-1]=Zi.quantile(t,r/n);return o}function o(t){if(!isNaN(t=+t))return e[Zi.bisect(s,t)]}var s;return o.domain=function(e){return arguments.length?(t=e.map(i).filter(a).sort(n),r()):t},o.range=function(t){return arguments.length?(e=t,r()):e},o.quantiles=function(){return s},o.invertExtent=function(r){return(r=e.indexOf(r))&lt;0?[NaN,NaN]:[r&gt;0?s[r-1]:t[0],r&lt;s.length?s[r]:t[t.length-1]]},o.copy=function(){return ai(t,e)},r()}function oi(t,e,r){function n(e){return r[Math.max(0,Math.min(o,Math.floor(a*(e-t))))]}function i(){return a=r.length/(e-t),o=r.length-1,n}var a,o;return n.domain=function(r){return arguments.length?(t=+r[0],e=+r[r.length-1],i()):[t,e]},n.range=function(t){return arguments.length?(r=t,i()):r},n.invertExtent=function(e){return e=r.indexOf(e),e=e&lt;0?NaN:e/a+t,[e,e+1/a]},n.copy=function(){return oi(t,e,r)},i()}function si(t,e){function r(r){if(r&lt;=r)return e[Zi.bisect(t,r)]}return r.domain=function(e){return arguments.length?(t=e,r):t},r.range=function(t){return arguments.length?(e=t,r):e},r.invertExtent=function(r){return r=e.indexOf(r),[t[r-1],t[r]]},r.copy=function(){return si(t,e)},r}function li(t){function e(t){return+t}return e.invert=e,e.domain=e.range=function(r){return arguments.length?(t=r.map(e),e):t},e.ticks=function(e){return Qn(t,e)},e.tickFormat=function(e,r){return $n(t,e,r)},e.copy=function(){return li(t)},e}function ci(){return 0}function ui(t){return t.innerRadius}function fi(t){return t.outerRadius}function hi(t){return t.startAngle}function di(t){return t.endAngle}function pi(t){return t&amp;&amp;t.padAngle}function mi(t,e,r,n){return(t-r)*e-(e-n)*t&gt;0?0:1}function gi(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,d=e[1]+c,p=(u+h)/2,m=(f+d)/2,g=h-u,v=d-f,y=g*g+v*v,x=r-n,b=u*d-h*f,_=(v&lt;0?-1:1)*Math.sqrt(Math.max(0,x*x*y-b*b)),w=(b*v-g*_)/y,M=(-b*g-v*_)/y,k=(b*v+g*_)/y,A=(-b*g+v*_)/y,T=w-p,S=M-m,E=k-p,L=A-m;return T*T+S*S&gt;E*E+L*L&amp;&amp;(w=k,M=A),[[w-l,M-c],[w*r/x,M*r/x]]}function vi(t){function e(e){function o(){c.push(&quot;M&quot;,a(t(u),s))}for(var l,c=[],u=[],f=-1,h=e.length,d=_t(r),p=_t(n);++f&lt;h;)i.call(this,l=e[f],f)?u.push([+d.call(this,l,f),+p.call(this,l,f)]):u.length&amp;&amp;(o(),u=[]);return u.length&amp;&amp;o(),c.length?c.join(&quot;&quot;):null}var r=ar,n=or,i=ve,a=yi,o=a.key,s=.7;return e.x=function(t){return arguments.length?(r=t,e):r},e.y=function(t){return arguments.length?(n=t,e):n},e.defined=function(t){return arguments.length?(i=t,e):i},e.interpolate=function(t){return arguments.length?(o=&quot;function&quot;==typeof t?a=t:(a=vs.get(t)||yi).key,e):o},e.tension=function(t){return arguments.length?(s=t,e):s},e}function yi(t){return t.length&gt;1?t.join(&quot;L&quot;):t+&quot;Z&quot;}function xi(t){return t.join(&quot;L&quot;)+&quot;Z&quot;}function bi(t){for(var e=0,r=t.length,n=t[0],i=[n[0],&quot;,&quot;,n[1]];++e&lt;r;)i.push(&quot;V&quot;,(n=t[e])[1],&quot;H&quot;,n[0]);return i.join(&quot;&quot;)}function _i(t){for(var e=0,r=t.length,n=t[0],i=[n[0],&quot;,&quot;,n[1]];++e&lt;r;)i.push(&quot;H&quot;,(n=t[e])[0],&quot;V&quot;,n[1]);return i.join(&quot;&quot;)}function wi(t,e){if(e.length&lt;1||t.length!=e.length&amp;&amp;t.length!=e.length+2)return yi(t);var r=t.length!=e.length,n=&quot;&quot;,i=t[0],a=t[1],o=e[0],s=o,l=1;if(r&amp;&amp;(n+=&quot;Q&quot;+(a[0]-2*o[0]/3)+&quot;,&quot;+(a[1]-2*o[1]/3)+&quot;,&quot;+a[0]+&quot;,&quot;+a[1],i=t[1],l=2),e.length&gt;1){s=e[1],a=t[l],l++,n+=&quot;C&quot;+(i[0]+o[0])+&quot;,&quot;+(i[1]+o[1])+&quot;,&quot;+(a[0]-s[0])+&quot;,&quot;+(a[1]-s[1])+&quot;,&quot;+a[0]+&quot;,&quot;+a[1];for(var c=2;c&lt;e.length;c++,l++)a=t[l],s=e[c],n+=&quot;S&quot;+(a[0]-s[0])+&quot;,&quot;+(a[1]-s[1])+&quot;,&quot;+a[0]+&quot;,&quot;+a[1]}if(r){var u=t[l];n+=&quot;Q&quot;+(a[0]+2*s[0]/3)+&quot;,&quot;+(a[1]+2*s[1]/3)+&quot;,&quot;+u[0]+&quot;,&quot;+u[1]}return n}function Mi(t,e){for(var r,n=[],i=(1-e)/2,a=t[0],o=t[1],s=1,l=t.length;++s&lt;l;)r=a,a=o,o=t[s],n.push([i*(o[0]-r[0]),i*(o[1]-r[1])]);return n}function ki(t){if(t.length&lt;3)return yi(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,&quot;,&quot;,a,&quot;L&quot;,Ai(bs,o),&quot;,&quot;,Ai(bs,s)];for(t.push(t[r-1]);++e&lt;=r;)n=t[e],o.shift(),o.push(n[0]),s.shift(),s.push(n[1]),Ti(l,o,s);return t.pop(),l.push(&quot;L&quot;,n),l.join(&quot;&quot;)}function Ai(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]+t[3]*e[3]}function Ti(t,e,r){t.push(&quot;C&quot;,Ai(ys,e),&quot;,&quot;,Ai(ys,r),&quot;,&quot;,Ai(xs,e),&quot;,&quot;,Ai(xs,r),&quot;,&quot;,Ai(bs,e),&quot;,&quot;,Ai(bs,r))}function Si(t,e){return(e[1]-t[1])/(e[0]-t[0])}function Ei(t){for(var e,r,n,i,a=[],o=function(t){for(var e=0,r=t.length-1,n=[],i=t[0],a=t[1],o=n[0]=Si(i,a);++e&lt;r;)n[e]=(o+(o=Si(i=a,a=t[e+1])))/2;return n[e]=o,n}(t),s=-1,l=t.length-1;++s&lt;l;)e=Si(t[s],t[s+1]),aa(e)&lt;wa?o[s]=o[s+1]=0:(i=(r=o[s]/e)*r+(n=o[s+1]/e)*n)&gt;9&amp;&amp;(i=3*e/Math.sqrt(i),o[s]=i*r,o[s+1]=i*n);for(s=-1;++s&lt;=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}function Li(t){for(var e,r,n,i=-1,a=t.length;++i&lt;a;)r=(e=t[i])[0],n=e[1]-Sa,e[0]=r*Math.cos(n),e[1]=r*Math.sin(n);return t}function Ci(t){function e(e){function l(){m.push(&quot;M&quot;,s(t(v),f),u,c(t(g.reverse()),f),&quot;Z&quot;)}for(var h,d,p,m=[],g=[],v=[],y=-1,x=e.length,b=_t(r),_=_t(i),w=r===n?function(){return d}:_t(n),M=i===a?function(){return p}:_t(a);++y&lt;x;)o.call(this,h=e[y],y)?(g.push([d=+b.call(this,h,y),p=+_.call(this,h,y)]),v.push([+w.call(this,h,y),+M.call(this,h,y)])):g.length&amp;&amp;(l(),g=[],v=[]);return g.length&amp;&amp;l(),m.length?m.join(&quot;&quot;):null}var r=ar,n=ar,i=0,a=or,o=ve,s=yi,l=s.key,c=s,u=&quot;L&quot;,f=.7;return e.x=function(t){return arguments.length?(r=n=t,e):n},e.x0=function(t){return arguments.length?(r=t,e):r},e.x1=function(t){return arguments.length?(n=t,e):n},e.y=function(t){return arguments.length?(i=a=t,e):a},e.y0=function(t){return arguments.length?(i=t,e):i},e.y1=function(t){return arguments.length?(a=t,e):a},e.defined=function(t){return arguments.length?(o=t,e):o},e.interpolate=function(t){return arguments.length?(l=&quot;function&quot;==typeof t?s=t:(s=vs.get(t)||yi).key,c=s.reverse||s,u=s.closed?&quot;M&quot;:&quot;L&quot;,e):l},e.tension=function(t){return arguments.length?(f=t,e):f},e}function zi(t){return t.radius}function Di(t){return[t.x,t.y]}function Ii(){return 64}function Pi(){return&quot;circle&quot;}function Oi(t){var e=Math.sqrt(t/ka);return&quot;M0,&quot;+e+&quot;A&quot;+e+&quot;,&quot;+e+&quot; 0 1,1 0,&quot;+-e+&quot;A&quot;+e+&quot;,&quot;+e+&quot; 0 1,1 0,&quot;+e+&quot;Z&quot;}function Fi(t){return function(){var e,r,n;(e=this[t])&amp;&amp;(n=e[r=e.active])&amp;&amp;(n.timer.c=null,n.timer.t=NaN,--e.count?delete e[r]:delete this[t],e.active+=.5,n.event&amp;&amp;n.event.interrupt.call(this,this.__data__,n.index))}}function Ri(t,e,r){return ua(t,Ss),t.namespace=e,t.id=r,t}function Ni(t,e,r,n){var i=t.id,a=t.namespace;return U(t,&quot;function&quot;==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 ji(t){return null==t&amp;&amp;(t=&quot;&quot;),function(){this.textContent=t}}function Bi(t){return null==t?&quot;__transition__&quot;:&quot;__transition_&quot;+t+&quot;__&quot;}function Ui(t,e,r,n,i){function a(t){var e=m.delay;if(u.t=e+l,e&lt;=t)return o(t-e);u.c=o}function o(r){var i=p.active,a=p[i];a&amp;&amp;(a.timer.c=null,a.timer.t=NaN,--p.count,delete p[i],a.event&amp;&amp;a.event.interrupt.call(t,t.__data__,a.index));for(var o in p)if(+o&lt;n){var c=p[o];c.timer.c=null,c.timer.t=NaN,--p.count,delete p[o]}u.c=s,kt(function(){return u.c&amp;&amp;s(r||1)&amp;&amp;(u.c=null,u.t=NaN),1},0,l),p.active=n,m.event&amp;&amp;m.event.start.call(t,t.__data__,e),d=[],m.tween.forEach(function(r,n){(n=n.call(t,t.__data__,e))&amp;&amp;d.push(n)}),h=m.ease,f=m.duration}function s(i){for(var a=i/f,o=h(a),s=d.length;s&gt;0;)d[--s].call(t,o);if(a&gt;=1)return m.event&amp;&amp;m.event.end.call(t,t.__data__,e),--p.count?delete p[n]:delete t[r],1}var l,u,f,h,d,p=t[r]||(t[r]={active:0,count:0}),m=p[n];m||(l=i.time,u=kt(a,0,l),m=p[n]={tween:new c,time:l,timer:u,delay:i.delay,duration:i.duration,ease:i.ease,index:e},i=null,++p.count)}function Vi(t,e,r){t.attr(&quot;transform&quot;,function(t){var n=e(t);return&quot;translate(&quot;+(isFinite(n)?n:r(t))+&quot;,0)&quot;})}function qi(t,e,r){t.attr(&quot;transform&quot;,function(t){var n=e(t);return&quot;translate(0,&quot;+(isFinite(n)?n:r(t))+&quot;)&quot;})}function Hi(t){return t.toISOString()}function Gi(t,e,r){function n(e){return t(e)}function i(t,r){var n=(t[1]-t[0])/r,i=Zi.bisect(Fs,n);return i==Fs.length?[e.year,Kn(t.map(function(t){return t/31536e6}),r)[2]]:i?e[n/Fs[i-1]&lt;Fs[i]/n?i-1:i]:[js,Kn(t,r)[2]]}return n.invert=function(e){return Yi(t.invert(e))},n.domain=function(e){return arguments.length?(t.domain(e),n):t.domain().map(Yi)},n.nice=function(t,e){function r(r){return!isNaN(r)&amp;&amp;!t.range(r,Yi(+r+1),e).length}var a=n.domain(),o=Hn(a),s=null==t?i(o,10):&quot;number&quot;==typeof t&amp;&amp;i(o,t);return s&amp;&amp;(t=s[0],e=s[1]),n.domain(Yn(a,e&gt;1?{floor:function(e){for(;r(e=t.floor(e));)e=Yi(e-1);return e},ceil:function(e){for(;r(e=t.ceil(e));)e=Yi(+e+1);return e}}:t))},n.ticks=function(t,e){var r=Hn(n.domain()),a=null==t?i(r,10):&quot;number&quot;==typeof t?i(r,t):!t.range&amp;&amp;[{range:t},e];return a&amp;&amp;(t=a[0],e=a[1]),t.range(r[0],Yi(+r[1]+1),e&lt;1?1:e)},n.tickFormat=function(){return r},n.copy=function(){return Gi(t.copy(),e,r)},Zn(n,t)}function Yi(t){return new Date(t)}function Wi(t){return JSON.parse(t.responseText)}function Xi(t){var e=Qi.createRange();return e.selectNode(Qi.body),e.createContextualFragment(t.responseText)}var Zi={version:&quot;3.5.17&quot;},Ji=[].slice,Ki=function(t){return Ji.call(t)},Qi=this.document;if(Qi)try{Ki(Qi.documentElement.childNodes)[0].nodeType}catch(t){Ki=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}),Qi)try{Qi.createElement(&quot;DIV&quot;).style.setProperty(&quot;opacity&quot;,0,&quot;&quot;)}catch(t){var $i=this.Element.prototype,ta=$i.setAttribute,ea=$i.setAttributeNS,ra=this.CSSStyleDeclaration.prototype,na=ra.setProperty;$i.setAttribute=function(t,e){ta.call(this,t,e+&quot;&quot;)},$i.setAttributeNS=function(t,e,r){ea.call(this,t,e,r+&quot;&quot;)},ra.setProperty=function(t,e,r){na.call(this,t,e+&quot;&quot;,r)}}Zi.ascending=n,Zi.descending=function(t,e){return e&lt;t?-1:e&gt;t?1:e&gt;=t?0:NaN},Zi.min=function(t,e){var r,n,i=-1,a=t.length;if(1===arguments.length){for(;++i&lt;a;)if(null!=(n=t[i])&amp;&amp;n&gt;=n){r=n;break}for(;++i&lt;a;)null!=(n=t[i])&amp;&amp;r&gt;n&amp;&amp;(r=n)}else{for(;++i&lt;a;)if(null!=(n=e.call(t,t[i],i))&amp;&amp;n&gt;=n){r=n;break}for(;++i&lt;a;)null!=(n=e.call(t,t[i],i))&amp;&amp;r&gt;n&amp;&amp;(r=n)}return r},Zi.max=function(t,e){var r,n,i=-1,a=t.length;if(1===arguments.length){for(;++i&lt;a;)if(null!=(n=t[i])&amp;&amp;n&gt;=n){r=n;break}for(;++i&lt;a;)null!=(n=t[i])&amp;&amp;n&gt;r&amp;&amp;(r=n)}else{for(;++i&lt;a;)if(null!=(n=e.call(t,t[i],i))&amp;&amp;n&gt;=n){r=n;break}for(;++i&lt;a;)null!=(n=e.call(t,t[i],i))&amp;&amp;n&gt;r&amp;&amp;(r=n)}return r},Zi.extent=function(t,e){var r,n,i,a=-1,o=t.length;if(1===arguments.length){for(;++a&lt;o;)if(null!=(n=t[a])&amp;&amp;n&gt;=n){r=i=n;break}for(;++a&lt;o;)null!=(n=t[a])&amp;&amp;(r&gt;n&amp;&amp;(r=n),i&lt;n&amp;&amp;(i=n))}else{for(;++a&lt;o;)if(null!=(n=e.call(t,t[a],a))&amp;&amp;n&gt;=n){r=i=n;break}for(;++a&lt;o;)null!=(n=e.call(t,t[a],a))&amp;&amp;(r&gt;n&amp;&amp;(r=n),i&lt;n&amp;&amp;(i=n))}return[r,i]},Zi.sum=function(t,e){var r,n=0,i=t.length,o=-1;if(1===arguments.length)for(;++o&lt;i;)a(r=+t[o])&amp;&amp;(n+=r);else for(;++o&lt;i;)a(r=+e.call(t,t[o],o))&amp;&amp;(n+=r);return n},Zi.mean=function(t,e){var r,n=0,o=t.length,s=-1,l=o;if(1===arguments.length)for(;++s&lt;o;)a(r=i(t[s]))?n+=r:--l;else for(;++s&lt;o;)a(r=i(e.call(t,t[s],s)))?n+=r:--l;if(l)return n/l},Zi.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},Zi.median=function(t,e){var r,o=[],s=t.length,l=-1;if(1===arguments.length)for(;++l&lt;s;)a(r=i(t[l]))&amp;&amp;o.push(r);else for(;++l&lt;s;)a(r=i(e.call(t,t[l],l)))&amp;&amp;o.push(r);if(o.length)return Zi.quantile(o.sort(n),.5)},Zi.variance=function(t,e){var r,n,o=t.length,s=0,l=0,c=-1,u=0;if(1===arguments.length)for(;++c&lt;o;)a(r=i(t[c]))&amp;&amp;(l+=(n=r-s)*(r-(s+=n/++u)));else for(;++c&lt;o;)a(r=i(e.call(t,t[c],c)))&amp;&amp;(l+=(n=r-s)*(r-(s+=n/++u)));if(u&gt;1)return l/(u-1)},Zi.deviation=function(){var t=Zi.variance.apply(this,arguments);return t?Math.sqrt(t):t};var ia=o(n);Zi.bisectLeft=ia.left,Zi.bisect=Zi.bisectRight=ia.right,Zi.bisector=function(t){return o(1===t.length?function(e,r){return n(t(e),r)}:t)},Zi.shuffle=function(t,e,r){(a=arguments.length)&lt;3&amp;&amp;(r=t.length,a&lt;2&amp;&amp;(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},Zi.permute=function(t,e){for(var r=e.length,n=new Array(r);r--;)n[r]=t[e[r]];return n},Zi.pairs=function(t){for(var e=0,r=t.length-1,n=t[0],i=new Array(r&lt;0?0:r);e&lt;r;)i[e]=[n,n=t[++e]];return i},Zi.transpose=function(t){if(!(i=t.length))return[];for(var e=-1,r=Zi.min(t,s),n=new Array(r);++e&lt;r;)for(var i,a=-1,o=n[e]=new Array(i);++a&lt;i;)o[a]=t[a][e];return n},Zi.zip=function(){return Zi.transpose(arguments)},Zi.keys=function(t){var e=[];for(var r in t)e.push(r);return e},Zi.values=function(t){var e=[];for(var r in t)e.push(t[r]);return e},Zi.entries=function(t){var e=[];for(var r in t)e.push({key:r,value:t[r]});return e},Zi.merge=function(t){for(var e,r,n,i=t.length,a=-1,o=0;++a&lt;i;)o+=t[a].length;for(r=new Array(o);--i&gt;=0;)for(e=(n=t[i]).length;--e&gt;=0;)r[--o]=n[e];return r};var aa=Math.abs;Zi.range=function(t,e,r){if(arguments.length&lt;3&amp;&amp;(r=1,arguments.length&lt;2&amp;&amp;(e=t,t=0)),(e-t)/r==1/0)throw new Error(&quot;infinite range&quot;);var n,i=[],a=function(t){for(var e=1;t*e%1;)e*=10;return e}(aa(r)),o=-1;if(t*=a,e*=a,(r*=a)&lt;0)for(;(n=t+r*++o)&gt;e;)i.push(n/a);else for(;(n=t+r*++o)&lt;e;)i.push(n/a);return i},Zi.map=function(t,e){var r=new c;if(t instanceof c)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&lt;a;)r.set(i,t[i]);else for(;++i&lt;a;)r.set(e.call(t,n=t[i],i),n)}else for(var o in t)r.set(o,t[o]);return r};var oa=&quot;__proto__&quot;,sa=&quot;\0&quot;;l(c,{has:h,get:function(t){return this._[u(t)]},set:function(t,e){return this._[u(t)]=e},remove:d,keys:p,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:f(e),value:this._[e]});return t},size:m,empty:g,forEach:function(t){for(var e in this._)t.call(this,f(e),this._[e])}}),Zi.nest=function(){function t(e,o,s){if(s&gt;=a.length)return n?n.call(i,o):r?o.sort(r):o;for(var l,u,f,h,d=-1,p=o.length,m=a[s++],g=new c;++d&lt;p;)(h=g.get(l=m(u=o[d])))?h.push(u):g.set(l,[u]);return e?(u=e(),f=function(r,n){u.set(r,t(e,n,s))}):(u={},f=function(r,n){u[r]=t(e,n,s)}),g.forEach(f),u}function e(t,r){if(r&gt;=a.length)return t;var n=[],i=o[r++];return t.forEach(function(t,i){n.push({key:t,values:e(i,r)})}),i?n.sort(function(t,e){return i(t.key,e.key)}):n}var r,n,i={},a=[],o=[];return i.map=function(e,r){return t(r,e,0)},i.entries=function(r){return e(t(Zi.map,r,0),0)},i.key=function(t){return a.push(t),i},i.sortKeys=function(t){return o[a.length-1]=t,i},i.sortValues=function(t){return r=t,i},i.rollup=function(t){return n=t,i},i},Zi.set=function(t){var e=new v;if(t)for(var r=0,n=t.length;r&lt;n;++r)e.add(t[r]);return e},l(v,{has:h,add:function(t){return this._[u(t+=&quot;&quot;)]=!0,t},remove:d,values:p,size:m,empty:g,forEach:function(t){for(var e in this._)t.call(this,f(e))}}),Zi.behavior={},Zi.rebind=function(t,e){for(var r,n=1,i=arguments.length;++n&lt;i;)t[r=arguments[n]]=function(t,e,r){return function(){var n=r.apply(e,arguments);return n===e?t:n}}(t,e,e[r]);return t};var la=[&quot;webkit&quot;,&quot;ms&quot;,&quot;moz&quot;,&quot;Moz&quot;,&quot;o&quot;,&quot;O&quot;];Zi.dispatch=function(){for(var t=new _,e=-1,r=arguments.length;++e&lt;r;)t[arguments[e]]=w(t);return t},_.prototype.on=function(t,e){var r=t.indexOf(&quot;.&quot;),n=&quot;&quot;;if(r&gt;=0&amp;&amp;(n=t.slice(r+1),t=t.slice(0,r)),t)return arguments.length&lt;2?this[t].on(n):this[t].on(n,e);if(2===arguments.length){if(null==e)for(t in this)this.hasOwnProperty(t)&amp;&amp;this[t].on(n,null);return this}},Zi.event=null,Zi.requote=function(t){return t.replace(ca,&quot;\\$&amp;&quot;)};var ca=/[\\\^\$\*\+\?\|\[\]\(\)\.\{\}]/g,ua={}.__proto__?function(t,e){t.__proto__=e}:function(t,e){for(var r in e)t[r]=e[r]},fa=function(t,e){return e.querySelector(t)},ha=function(t,e){return e.querySelectorAll(t)},da=function(t,e){var r=t.matches||t[x(t,&quot;matchesSelector&quot;)];return(da=function(t,e){return r.call(t,e)})(t,e)};&quot;function&quot;==typeof Sizzle&amp;&amp;(fa=function(t,e){return Sizzle(t,e)[0]||null},ha=Sizzle,da=Sizzle.matchesSelector),Zi.selection=function(){return Zi.select(Qi.documentElement)};var pa=Zi.selection.prototype=[];pa.select=function(t){var e,r,n,i,a=[];t=S(t);for(var o=-1,s=this.length;++o&lt;s;){a.push(e=[]),e.parentNode=(n=this[o]).parentNode;for(var l=-1,c=n.length;++l&lt;c;)(i=n[l])?(e.push(r=t.call(i,i.__data__,l,o)),r&amp;&amp;&quot;__data__&quot;in i&amp;&amp;(r.__data__=i.__data__)):e.push(null)}return T(a)},pa.selectAll=function(t){var e,r,n=[];t=E(t);for(var i=-1,a=this.length;++i&lt;a;)for(var o=this[i],s=-1,l=o.length;++s&lt;l;)(r=o[s])&amp;&amp;(n.push(e=Ki(t.call(r,r.__data__,s,i))),e.parentNode=r);return T(n)};var ma=&quot;http://www.w3.org/1999/xhtml&quot;,ga={svg:&quot;http://www.w3.org/2000/svg&quot;,xhtml:ma,xlink:&quot;http://www.w3.org/1999/xlink&quot;,xml:&quot;http://www.w3.org/XML/1998/namespace&quot;,xmlns:&quot;http://www.w3.org/2000/xmlns/&quot;};Zi.ns={prefix:ga,qualify:function(t){var e=t.indexOf(&quot;:&quot;),r=t;return e&gt;=0&amp;&amp;&quot;xmlns&quot;!==(r=t.slice(0,e))&amp;&amp;(t=t.slice(e+1)),ga.hasOwnProperty(r)?{space:ga[r],local:t}:t}},pa.attr=function(t,e){if(arguments.length&lt;2){if(&quot;string&quot;==typeof t){var r=this.node();return(t=Zi.ns.qualify(t)).local?r.getAttributeNS(t.space,t.local):r.getAttribute(t)}for(e in t)this.each(L(e,t[e]));return this}return this.each(L(t,e))},pa.classed=function(t,e){if(arguments.length&lt;2){if(&quot;string&quot;==typeof t){var r=this.node(),n=(t=D(t)).length,i=-1;if(e=r.classList){for(;++i&lt;n;)if(!e.contains(t[i]))return!1}else for(e=r.getAttribute(&quot;class&quot;);++i&lt;n;)if(!z(t[i]).test(e))return!1;return!0}for(e in t)this.each(I(e,t[e]));return this}return this.each(I(t,e))},pa.style=function(t,e,n){var i=arguments.length;if(i&lt;3){if(&quot;string&quot;!=typeof t){i&lt;2&amp;&amp;(e=&quot;&quot;);for(n in t)this.each(O(n,t[n],e));return this}if(i&lt;2){var a=this.node();return r(a).getComputedStyle(a,null).getPropertyValue(t)}n=&quot;&quot;}return this.each(O(t,e,n))},pa.property=function(t,e){if(arguments.length&lt;2){if(&quot;string&quot;==typeof t)return this.node()[t];for(e in t)this.each(F(e,t[e]));return this}return this.each(F(t,e))},pa.text=function(t){return arguments.length?this.each(&quot;function&quot;==typeof t?function(){var e=t.apply(this,arguments);this.textContent=null==e?&quot;&quot;:e}:null==t?function(){this.textContent=&quot;&quot;}:function(){this.textContent=t}):this.node().textContent},pa.html=function(t){return arguments.length?this.each(&quot;function&quot;==typeof t?function(){var e=t.apply(this,arguments);this.innerHTML=null==e?&quot;&quot;:e}:null==t?function(){this.innerHTML=&quot;&quot;}:function(){this.innerHTML=t}):this.node().innerHTML},pa.append=function(t){return t=R(t),this.select(function(){return this.appendChild(t.apply(this,arguments))})},pa.insert=function(t,e){return t=R(t),e=S(e),this.select(function(){return this.insertBefore(t.apply(this,arguments),e.apply(this,arguments)||null)})},pa.remove=function(){return this.each(N)},pa.data=function(t,e){function r(t,r){var n,i,a,o=t.length,f=r.length,h=Math.min(o,f),d=new Array(f),p=new Array(f),m=new Array(o);if(e){var g,v=new c,y=new Array(o);for(n=-1;++n&lt;o;)(i=t[n])&amp;&amp;(v.has(g=e.call(i,i.__data__,n))?m[n]=i:v.set(g,i),y[n]=g);for(n=-1;++n&lt;f;)(i=v.get(g=e.call(r,a=r[n],n)))?!0!==i&amp;&amp;(d[n]=i,i.__data__=a):p[n]=j(a),v.set(g,!0);for(n=-1;++n&lt;o;)n in y&amp;&amp;!0!==v.get(y[n])&amp;&amp;(m[n]=t[n])}else{for(n=-1;++n&lt;h;)i=t[n],a=r[n],i?(i.__data__=a,d[n]=i):p[n]=j(a);for(;n&lt;f;++n)p[n]=j(r[n]);for(;n&lt;o;++n)m[n]=t[n]}p.update=d,p.parentNode=d.parentNode=m.parentNode=t.parentNode,s.push(p),l.push(d),u.push(m)}var n,i,a=-1,o=this.length;if(!arguments.length){for(t=new Array(o=(n=this[0]).length);++a&lt;o;)(i=n[a])&amp;&amp;(t[a]=i.__data__);return t}var s=V([]),l=T([]),u=T([]);if(&quot;function&quot;==typeof t)for(;++a&lt;o;)r(n=this[a],t.call(n,n.parentNode.__data__,a));else for(;++a&lt;o;)r(n=this[a],t);return l.enter=function(){return s},l.exit=function(){return u},l},pa.datum=function(t){return arguments.length?this.property(&quot;__data__&quot;,t):this.property(&quot;__data__&quot;)},pa.filter=function(t){var e,r,n,i=[];&quot;function&quot;!=typeof t&amp;&amp;(t=B(t));for(var a=0,o=this.length;a&lt;o;a++){i.push(e=[]),e.parentNode=(r=this[a]).parentNode;for(var s=0,l=r.length;s&lt;l;s++)(n=r[s])&amp;&amp;t.call(n,n.__data__,s,a)&amp;&amp;e.push(n)}return T(i)},pa.order=function(){for(var t=-1,e=this.length;++t&lt;e;)for(var r,n=this[t],i=n.length-1,a=n[i];--i&gt;=0;)(r=n[i])&amp;&amp;(a&amp;&amp;a!==r.nextSibling&amp;&amp;a.parentNode.insertBefore(r,a),a=r);return this},pa.sort=function(t){t=function(t){return arguments.length||(t=n),function(e,r){return e&amp;&amp;r?t(e.__data__,r.__data__):!e-!r}}.apply(this,arguments);for(var e=-1,r=this.length;++e&lt;r;)this[e].sort(t);return this.order()},pa.each=function(t){return U(this,function(e,r,n){t.call(e,e.__data__,r,n)})},pa.call=function(t){var e=Ki(arguments);return t.apply(e[0]=this,e),this},pa.empty=function(){return!this.node()},pa.node=function(){for(var t=0,e=this.length;t&lt;e;t++)for(var r=this[t],n=0,i=r.length;n&lt;i;n++){var a=r[n];if(a)return a}return null},pa.size=function(){var t=0;return U(this,function(){++t}),t};var va=[];Zi.selection.enter=V,Zi.selection.enter.prototype=va,va.append=pa.append,va.empty=pa.empty,va.node=pa.node,va.call=pa.call,va.size=pa.size,va.select=function(t){for(var e,r,n,i,a,o=[],s=-1,l=this.length;++s&lt;l;){n=(i=this[s]).update,o.push(e=[]),e.parentNode=i.parentNode;for(var c=-1,u=i.length;++c&lt;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 T(o)},va.insert=function(t,e){return arguments.length&lt;2&amp;&amp;(e=function(t){var e,r;return function(n,i,a){var o,s=t[a].update,l=s.length;for(a!=r&amp;&amp;(r=a,e=0),i&gt;=e&amp;&amp;(e=i+1);!(o=s[e])&amp;&amp;++e&lt;l;);return o}}(this)),pa.insert.call(this,t,e)},Zi.select=function(e){var r;return&quot;string&quot;==typeof e?(r=[fa(e,Qi)]).parentNode=Qi.documentElement:(r=[e]).parentNode=t(e),T([r])},Zi.selectAll=function(t){var e;return&quot;string&quot;==typeof t?(e=Ki(ha(t,Qi))).parentNode=Qi.documentElement:(e=Ki(t)).parentNode=null,T([e])},pa.on=function(t,e,r){var n=arguments.length;if(n&lt;3){if(&quot;string&quot;!=typeof t){n&lt;2&amp;&amp;(e=!1);for(r in t)this.each(q(r,t[r],e));return this}if(n&lt;2)return(n=this.node()[&quot;__on&quot;+t])&amp;&amp;n._;r=!1}return this.each(q(t,e,r))};var ya=Zi.map({mouseenter:&quot;mouseover&quot;,mouseleave:&quot;mouseout&quot;});Qi&amp;&amp;ya.forEach(function(t){&quot;on&quot;+t in Qi&amp;&amp;ya.remove(t)});var xa,ba=0;Zi.mouse=function(t){return W(t,k())};var _a=this.navigator&amp;&amp;/WebKit/.test(this.navigator.userAgent)?-1:0;Zi.touch=function(t,e,r){if(arguments.length&lt;3&amp;&amp;(r=e,e=k().changedTouches),e)for(var n,i=0,a=e.length;i&lt;a;++i)if((n=e[i]).identifier===r)return W(t,n)},Zi.behavior.drag=function(){function t(){this.on(&quot;mousedown.drag&quot;,a).on(&quot;touchstart.drag&quot;,o)}function e(t,e,r,a,o){return function(){var s,l=Zi.event.target.correspondingElement||Zi.event.target,c=this.parentNode,u=n.of(this,arguments),f=0,h=t(),d=&quot;.drag&quot;+(null==h?&quot;&quot;:&quot;-&quot;+h),p=Zi.select(r(l)).on(a+d,function(){var t,r,n=e(c,h);n&amp;&amp;(t=n[0]-g[0],r=n[1]-g[1],f|=t|r,g=n,u({type:&quot;drag&quot;,x:n[0]+s[0],y:n[1]+s[1],dx:t,dy:r}))}).on(o+d,function(){e(c,h)&amp;&amp;(p.on(a+d,null).on(o+d,null),m(f),u({type:&quot;dragend&quot;}))}),m=Y(l),g=e(c,h);s=i?[(s=i.apply(this,arguments)).x-g[0],s.y-g[1]]:[0,0],u({type:&quot;dragstart&quot;})}}var n=A(t,&quot;drag&quot;,&quot;dragstart&quot;,&quot;dragend&quot;),i=null,a=e(b,Zi.mouse,r,&quot;mousemove&quot;,&quot;mouseup&quot;),o=e(X,Zi.touch,y,&quot;touchmove&quot;,&quot;touchend&quot;);return t.origin=function(e){return arguments.length?(i=e,t):i},Zi.rebind(t,n,&quot;on&quot;)},Zi.touches=function(t,e){return arguments.length&lt;2&amp;&amp;(e=k().touches),e?Ki(e).map(function(e){var r=W(t,e);return r.identifier=e.identifier,r}):[]};var wa=1e-6,Ma=wa*wa,ka=Math.PI,Aa=2*ka,Ta=Aa-wa,Sa=ka/2,Ea=ka/180,La=180/ka,Ca=Math.SQRT2;Zi.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&lt;Ma)n=Math.log(c/o)/Ca,r=function(t){return[i+t*u,a+t*f,o*Math.exp(Ca*t*n)]};else{var d=Math.sqrt(h),p=(c*c-o*o+4*h)/(2*o*2*d),m=(c*c-o*o-4*h)/(2*c*2*d),g=Math.log(Math.sqrt(p*p+1)-p),v=Math.log(Math.sqrt(m*m+1)-m);n=(v-g)/Ca,r=function(t){var e=t*n,r=$(g),s=o/(2*d)*(r*function(t){return((t=Math.exp(2*t))-1)/(t+1)}(Ca*e+g)-function(t){return((t=Math.exp(t))-1/t)/2}(g));return[i+s*u,a+s*f,o*r/$(Ca*e+g)]}}return r.duration=1e3*n,r},Zi.behavior.zoom=function(){function t(t){t.on(C,u).on(Da+&quot;.zoom&quot;,h).on(&quot;dblclick.zoom&quot;,d).on(I,f)}function e(t){return[(t[0]-k.x)/k.k,(t[1]-k.y)/k.k]}function n(t){k.k=Math.max(S[0],Math.min(S[1],t))}function i(t,e){e=function(t){return[t[0]*k.k+k.x,t[1]*k.k+k.y]}(e),k.x+=t[0]-e[0],k.y+=t[1]-e[1]}function a(e,r,a,o){e.__chart__={x:k.x,y:k.y,k:k.k},n(Math.pow(2,o)),i(m=r,a),e=Zi.select(e),E&gt;0&amp;&amp;(e=e.transition().duration(E)),e.call(t.event)}function o(){b&amp;&amp;b.domain(x.range().map(function(t){return(t-k.x)/k.k}).map(x.invert)),w&amp;&amp;w.domain(_.range().map(function(t){return(t-k.y)/k.k}).map(_.invert))}function s(t){L++||t({type:&quot;zoomstart&quot;})}function l(t){o(),t({type:&quot;zoom&quot;,scale:k.k,translate:[k.x,k.y]})}function c(t){--L||(t({type:&quot;zoomend&quot;}),m=null)}function u(){var t=this,n=P.of(t,arguments),a=0,o=Zi.select(r(t)).on(z,function(){a=1,i(Zi.mouse(t),u),l(n)}).on(D,function(){o.on(z,null).on(D,null),f(a),c(n)}),u=e(Zi.mouse(t)),f=Y(t);Ts.call(t),s(n)}function f(){function t(){var t=Zi.touches(p);return d=k.k,t.forEach(function(t){t.identifier in g&amp;&amp;(g[t.identifier]=e(t))}),t}function r(){var e=Zi.event.target;Zi.select(e).on(b,o).on(_,h),w.push(e);for(var r=Zi.event.changedTouches,n=0,i=r.length;n&lt;i;++n)g[r[n].identifier]=null;var s=t(),l=Date.now();if(1===s.length){if(l-y&lt;500){var c=s[0];a(p,c,g[c.identifier],Math.floor(Math.log(k.k)/Math.LN2)+1),M()}y=l}else if(s.length&gt;1){c=s[0];var u=s[1],f=c[0]-u[0],d=c[1]-u[1];v=f*f+d*d}}function o(){var t,e,r,a,o=Zi.touches(p);Ts.call(p);for(var s=0,c=o.length;s&lt;c;++s,a=null)if(r=o[s],a=g[r.identifier]){if(e)break;t=r,e=a}if(a){var u=(u=r[0]-t[0])*u+(u=r[1]-t[1])*u,f=v&amp;&amp;Math.sqrt(u/v);t=[(t[0]+r[0])/2,(t[1]+r[1])/2],e=[(e[0]+a[0])/2,(e[1]+a[1])/2],n(f*d)}y=null,i(t,e),l(m)}function h(){if(Zi.event.touches.length){for(var e=Zi.event.changedTouches,r=0,n=e.length;r&lt;n;++r)delete g[e[r].identifier];for(var i in g)return void t()}Zi.selectAll(w).on(x,null),A.on(C,u).on(I,f),T(),c(m)}var d,p=this,m=P.of(p,arguments),g={},v=0,x=&quot;.zoom-&quot;+Zi.event.changedTouches[0].identifier,b=&quot;touchmove&quot;+x,_=&quot;touchend&quot;+x,w=[],A=Zi.select(p),T=Y(p);r(),s(m),A.on(C,null).on(I,r)}function h(){var t=P.of(this,arguments);v?clearTimeout(v):(Ts.call(this),p=e(m=g||Zi.mouse(this)),s(t)),v=setTimeout(function(){v=null,c(t)},50),M(),n(Math.pow(2,.002*za())*k.k),i(m,p),l(t)}function d(){var t=Zi.mouse(this),r=Math.log(k.k)/Math.LN2;a(this,t,e(t),Zi.event.shiftKey?Math.ceil(r)-1:Math.floor(r)+1)}var p,m,g,v,y,x,b,_,w,k={x:0,y:0,k:1},T=[960,500],S=Ia,E=250,L=0,C=&quot;mousedown.zoom&quot;,z=&quot;mousemove.zoom&quot;,D=&quot;mouseup.zoom&quot;,I=&quot;touchstart.zoom&quot;,P=A(t,&quot;zoomstart&quot;,&quot;zoom&quot;,&quot;zoomend&quot;);return Da||(Da=&quot;onwheel&quot;in Qi?(za=function(){return-Zi.event.deltaY*(Zi.event.deltaMode?120:1)},&quot;wheel&quot;):&quot;onmousewheel&quot;in Qi?(za=function(){return Zi.event.wheelDelta},&quot;mousewheel&quot;):(za=function(){return-Zi.event.detail},&quot;MozMousePixelScroll&quot;)),t.event=function(t){t.each(function(){var t=P.of(this,arguments),e=k;ks?Zi.select(this).transition().each(&quot;start.zoom&quot;,function(){k=this.__chart__||{x:0,y:0,k:1},s(t)}).tween(&quot;zoom:zoom&quot;,function(){var r=T[0],n=T[1],i=m?m[0]:r/2,a=m?m[1]:n/2,o=Zi.interpolateZoom([(i-k.x)/k.k,(a-k.y)/k.k,r/k.k],[(i-e.x)/e.k,(a-e.y)/e.k,r/e.k]);return function(e){var n=o(e),s=r/n[2];this.__chart__=k={x:i-n[0]*s,y:a-n[1]*s,k:s},l(t)}}).each(&quot;interrupt.zoom&quot;,function(){c(t)}).each(&quot;end.zoom&quot;,function(){c(t)}):(this.__chart__=k,s(t),l(t),c(t))})},t.translate=function(e){return arguments.length?(k={x:+e[0],y:+e[1],k:k.k},o(),t):[k.x,k.y]},t.scale=function(e){return arguments.length?(k={x:k.x,y:k.y,k:null},n(+e),o(),t):k.k},t.scaleExtent=function(e){return arguments.length?(S=null==e?Ia:[+e[0],+e[1]],t):S},t.center=function(e){return arguments.length?(g=e&amp;&amp;[+e[0],+e[1]],t):g},t.size=function(e){return arguments.length?(T=e&amp;&amp;[+e[0],+e[1]],t):T},t.duration=function(e){return arguments.length?(E=+e,t):E},t.x=function(e){return arguments.length?(b=e,x=e.copy(),k={x:0,y:0,k:1},t):b},t.y=function(e){return arguments.length?(w=e,_=e.copy(),k={x:0,y:0,k:1},t):w},Zi.rebind(t,P,&quot;on&quot;)};var za,Da,Ia=[0,1/0];Zi.color=et,et.prototype.toString=function(){return this.rgb()+&quot;&quot;},Zi.hsl=rt;var Pa=rt.prototype=new et;Pa.brighter=function(t){return t=Math.pow(.7,arguments.length?t:1),new rt(this.h,this.s,this.l/t)},Pa.darker=function(t){return t=Math.pow(.7,arguments.length?t:1),new rt(this.h,this.s,t*this.l)},Pa.rgb=function(){return nt(this.h,this.s,this.l)},Zi.hcl=it;var Oa=it.prototype=new et;Oa.brighter=function(t){return new it(this.h,this.c,Math.min(100,this.l+Fa*(arguments.length?t:1)))},Oa.darker=function(t){return new it(this.h,this.c,Math.max(0,this.l-Fa*(arguments.length?t:1)))},Oa.rgb=function(){return at(this.h,this.c,this.l).rgb()},Zi.lab=ot;var Fa=18,Ra=.95047,Na=1,ja=1.08883,Ba=ot.prototype=new et;Ba.brighter=function(t){return new ot(Math.min(100,this.l+Fa*(arguments.length?t:1)),this.a,this.b)},Ba.darker=function(t){return new ot(Math.max(0,this.l-Fa*(arguments.length?t:1)),this.a,this.b)},Ba.rgb=function(){return st(this.l,this.a,this.b)},Zi.rgb=ht;var Ua=ht.prototype=new et;Ua.brighter=function(t){t=Math.pow(.7,arguments.length?t:1);var e=this.r,r=this.g,n=this.b;return e||r||n?(e&amp;&amp;e&lt;30&amp;&amp;(e=30),r&amp;&amp;r&lt;30&amp;&amp;(r=30),n&amp;&amp;n&lt;30&amp;&amp;(n=30),new ht(Math.min(255,e/t),Math.min(255,r/t),Math.min(255,n/t))):new ht(30,30,30)},Ua.darker=function(t){return t=Math.pow(.7,arguments.length?t:1),new ht(t*this.r,t*this.g,t*this.b)},Ua.hsl=function(){return vt(this.r,this.g,this.b)},Ua.toString=function(){return&quot;#&quot;+mt(this.r)+mt(this.g)+mt(this.b)};var Va=Zi.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});Va.forEach(function(t,e){Va.set(t,dt(e))}),Zi.functor=_t,Zi.xhr=wt(y),Zi.dsv=function(t,e){function r(t,r,a){arguments.length&lt;3&amp;&amp;(a=r,r=null);var o=Mt(t,e,null==r?n:i(r),a);return o.row=function(t){return arguments.length?o.response(null==(r=t)?n:i(t)):r},o}function n(t){return r.parse(t.responseText)}function i(t){return function(e){return r.parse(e.responseText,t)}}function a(e){return e.map(o).join(t)}function o(t){return s.test(t)?'&quot;'+t.replace(/\&quot;/g,'&quot;&quot;')+'&quot;':t}var s=new RegExp('[&quot;'+t+&quot;\n]&quot;),l=t.charCodeAt(0);return r.parse=function(t,e){var n;return r.parseRows(t,function(t,r){if(n)return n(t,r-1);var i=new Function(&quot;d&quot;,&quot;return {&quot;+t.map(function(t,e){return JSON.stringify(t)+&quot;: d[&quot;+e+&quot;]&quot;}).join(&quot;,&quot;)+&quot;}&quot;);n=e?function(t,r){return e(i(t),r)}:i})},r.parseRows=function(t,e){function r(){if(u&gt;=c)return o;if(i)return i=!1,a;var e=u;if(34===t.charCodeAt(e)){for(var r=e;r++&lt;c;)if(34===t.charCodeAt(r)){if(34!==t.charCodeAt(r+1))break;++r}u=r+2;return 13===(n=t.charCodeAt(r+1))?(i=!0,10===t.charCodeAt(r+2)&amp;&amp;++u):10===n&amp;&amp;(i=!0),t.slice(e+1,r).replace(/&quot;&quot;/g,'&quot;')}for(;u&lt;c;){var n,s=1;if(10===(n=t.charCodeAt(u++)))i=!0;else if(13===n)i=!0,10===t.charCodeAt(u)&amp;&amp;(++u,++s);else if(n!==l)continue;return t.slice(e,u-s)}return t.slice(e)}for(var n,i,a={},o={},s=[],c=t.length,u=0,f=0;(n=r())!==o;){for(var h=[];n!==a&amp;&amp;n!==o;)h.push(n),n=r();e&amp;&amp;null==(h=e(h,f++))||s.push(h)}return s},r.format=function(e){if(Array.isArray(e[0]))return r.formatRows(e);var n=new v,i=[];return e.forEach(function(t){for(var e in t)n.has(e)||i.push(n.add(e))}),[i.map(o).join(t)].concat(e.map(function(e){return i.map(function(t){return o(e[t])}).join(t)})).join(&quot;\n&quot;)},r.formatRows=function(t){return t.map(a).join(&quot;\n&quot;)},r},Zi.csv=Zi.dsv(&quot;,&quot;,&quot;text/csv&quot;),Zi.tsv=Zi.dsv(&quot;\t&quot;,&quot;text/tab-separated-values&quot;);var qa,Ha,Ga,Ya,Wa=this[x(this,&quot;requestAnimationFrame&quot;)]||function(t){setTimeout(t,17)};Zi.timer=function(){kt.apply(this,arguments)},Zi.timer.flush=function(){Tt(),St()},Zi.round=function(t,e){return e?Math.round(t*(e=Math.pow(10,e)))/e:Math.round(t)};var Xa=[&quot;y&quot;,&quot;z&quot;,&quot;a&quot;,&quot;f&quot;,&quot;p&quot;,&quot;n&quot;,&quot;\xb5&quot;,&quot;m&quot;,&quot;&quot;,&quot;k&quot;,&quot;M&quot;,&quot;G&quot;,&quot;T&quot;,&quot;P&quot;,&quot;E&quot;,&quot;Z&quot;,&quot;Y&quot;].map(function(t,e){var r=Math.pow(10,3*aa(8-e));return{scale:e&gt;8?function(t){return t/r}:function(t){return t*r},symbol:t}});Zi.formatPrefix=function(t,e){var r=0;return(t=+t)&amp;&amp;(t&lt;0&amp;&amp;(t*=-1),e&amp;&amp;(t=Zi.round(t,Et(t,e))),r=1+Math.floor(1e-12+Math.log(t)/Math.LN10),r=Math.max(-24,Math.min(24,3*Math.floor((r-1)/3)))),Xa[8+r/3]};var Za=/(?:([^{])?([&lt;&gt;=^]))?([+\- ])?([$#])?(0)?(\d+)?(,)?(\.-?\d+)?([a-z%])?/i,Ja=Zi.map({b:function(t){return t.toString(2)},c:function(t){return String.fromCharCode(t)},o:function(t){return t.toString(8)},x:function(t){return t.toString(16)},X:function(t){return t.toString(16).toUpperCase()},g:function(t,e){return t.toPrecision(e)},e:function(t,e){return t.toExponential(e)},f:function(t,e){return t.toFixed(e)},r:function(t,e){return(t=Zi.round(t,Et(t,e))).toFixed(Math.max(0,Math.min(20,Et(t*(1+1e-15),e))))}}),Ka=Zi.time={},Qa=Date;Lt.prototype={getDate:function(){return this._.getUTCDate()},getDay:function(){return this._.getUTCDay()},getFullYear:function(){return this._.getUTCFullYear()},getHours:function(){return this._.getUTCHours()},getMilliseconds:function(){return this._.getUTCMilliseconds()},getMinutes:function(){return this._.getUTCMinutes()},getMonth:function(){return this._.getUTCMonth()},getSeconds:function(){return this._.getUTCSeconds()},getTime:function(){return this._.getTime()},getTimezoneOffset:function(){return 0},valueOf:function(){return this._.valueOf()},setDate:function(){$a.setUTCDate.apply(this._,arguments)},setDay:function(){$a.setUTCDay.apply(this._,arguments)},setFullYear:function(){$a.setUTCFullYear.apply(this._,arguments)},setHours:function(){$a.setUTCHours.apply(this._,arguments)},setMilliseconds:function(){$a.setUTCMilliseconds.apply(this._,arguments)},setMinutes:function(){$a.setUTCMinutes.apply(this._,arguments)},setMonth:function(){$a.setUTCMonth.apply(this._,arguments)},setSeconds:function(){$a.setUTCSeconds.apply(this._,arguments)},setTime:function(){$a.setTime.apply(this._,arguments)}};var $a=Date.prototype;Ka.year=Ct(function(t){return(t=Ka.day(t)).setMonth(0,1),t},function(t,e){t.setFullYear(t.getFullYear()+e)},function(t){return t.getFullYear()}),Ka.years=Ka.year.range,Ka.years.utc=Ka.year.utc.range,Ka.day=Ct(function(t){var e=new Qa(2e3,0);return e.setFullYear(t.getFullYear(),t.getMonth(),t.getDate()),e},function(t,e){t.setDate(t.getDate()+e)},function(t){return t.getDate()-1}),Ka.days=Ka.day.range,Ka.days.utc=Ka.day.utc.range,Ka.dayOfYear=function(t){var e=Ka.year(t);return Math.floor((t-e-6e4*(t.getTimezoneOffset()-e.getTimezoneOffset()))/864e5)},[&quot;sunday&quot;,&quot;monday&quot;,&quot;tuesday&quot;,&quot;wednesday&quot;,&quot;thursday&quot;,&quot;friday&quot;,&quot;saturday&quot;].forEach(function(t,e){e=7-e;var r=Ka[t]=Ct(function(t){return(t=Ka.day(t)).setDate(t.getDate()-(t.getDay()+e)%7),t},function(t,e){t.setDate(t.getDate()+7*Math.floor(e))},function(t){var r=Ka.year(t).getDay();return Math.floor((Ka.dayOfYear(t)+(r+e)%7)/7)-(r!==e)});Ka[t+&quot;s&quot;]=r.range,Ka[t+&quot;s&quot;].utc=r.utc.range,Ka[t+&quot;OfYear&quot;]=function(t){var r=Ka.year(t).getDay();return Math.floor((Ka.dayOfYear(t)+(r+e)%7)/7)}}),Ka.week=Ka.sunday,Ka.weeks=Ka.sunday.range,Ka.weeks.utc=Ka.sunday.utc.range,Ka.weekOfYear=Ka.sundayOfYear;var to={&quot;-&quot;:&quot;&quot;,_:&quot; &quot;,0:&quot;0&quot;},eo=/^\s*\d+/,ro=/^%/;Zi.locale=function(t){return{numberFormat:function(t){var e=t.decimal,r=t.thousands,n=t.grouping,i=t.currency,a=n&amp;&amp;r?function(t,e){for(var i=t.length,a=[],o=0,s=n[0],l=0;i&gt;0&amp;&amp;s&gt;0&amp;&amp;(l+s+1&gt;e&amp;&amp;(s=Math.max(1,e-l)),a.push(t.substring(i-=s,i+s)),!((l+=s+1)&gt;e));)s=n[o=(o+1)%n.length];return a.reverse().join(r)}:y;return function(t){var r=Za.exec(t),n=r[1]||&quot; &quot;,o=r[2]||&quot;&gt;&quot;,s=r[3]||&quot;-&quot;,l=r[4]||&quot;&quot;,c=r[5],u=+r[6],f=r[7],h=r[8],d=r[9],p=1,m=&quot;&quot;,g=&quot;&quot;,v=!1,y=!0;switch(h&amp;&amp;(h=+h.substring(1)),(c||&quot;0&quot;===n&amp;&amp;&quot;=&quot;===o)&amp;&amp;(c=n=&quot;0&quot;,o=&quot;=&quot;),d){case&quot;n&quot;:f=!0,d=&quot;g&quot;;break;case&quot;%&quot;:p=100,g=&quot;%&quot;,d=&quot;f&quot;;break;case&quot;p&quot;:p=100,g=&quot;%&quot;,d=&quot;r&quot;;break;case&quot;b&quot;:case&quot;o&quot;:case&quot;x&quot;:case&quot;X&quot;:&quot;#&quot;===l&amp;&amp;(m=&quot;0&quot;+d.toLowerCase());case&quot;c&quot;:y=!1;case&quot;d&quot;:v=!0,h=0;break;case&quot;s&quot;:p=-1,d=&quot;r&quot;}&quot;$&quot;===l&amp;&amp;(m=i[0],g=i[1]),&quot;r&quot;!=d||h||(d=&quot;g&quot;),null!=h&amp;&amp;(&quot;g&quot;==d?h=Math.max(1,Math.min(21,h)):&quot;e&quot;!=d&amp;&amp;&quot;f&quot;!=d||(h=Math.max(0,Math.min(20,h)))),d=Ja.get(d)||function(t){return t+&quot;&quot;};var x=c&amp;&amp;f;return function(t){var r=g;if(v&amp;&amp;t%1)return&quot;&quot;;var i=t&lt;0||0===t&amp;&amp;1/t&lt;0?(t=-t,&quot;-&quot;):&quot;-&quot;===s?&quot;&quot;:s;if(p&lt;0){var l=Zi.formatPrefix(t,h);t=l.scale(t),r=l.symbol+g}else t*=p;var b,_,w=(t=d(t,h)).lastIndexOf(&quot;.&quot;);if(w&lt;0){var M=y?t.lastIndexOf(&quot;e&quot;):-1;M&lt;0?(b=t,_=&quot;&quot;):(b=t.substring(0,M),_=t.substring(M))}else b=t.substring(0,w),_=e+t.substring(w+1);!c&amp;&amp;f&amp;&amp;(b=a(b,1/0));var k=m.length+b.length+_.length+(x?0:i.length),A=k&lt;u?new Array(k=u-k+1).join(n):&quot;&quot;;return x&amp;&amp;(b=a(A+b,A.length?u-_.length:1/0)),i+=m,t=b+_,(&quot;&lt;&quot;===o?i+t+A:&quot;&gt;&quot;===o?A+i+t:&quot;^&quot;===o?A.substring(0,k&gt;&gt;=1)+i+t+A.substring(k):i+(x?t:A+t))+r}}}(t),timeFormat:function(t){function e(t){function e(e){for(var r,i,a,o=[],s=-1,l=0;++s&lt;n;)37===t.charCodeAt(s)&amp;&amp;(o.push(t.slice(l,s)),null!=(i=to[r=t.charAt(++s)])&amp;&amp;(r=t.charAt(++s)),(a=b[r])&amp;&amp;(r=a(e,null==i?&quot;e&quot;===r?&quot; &quot;:&quot;0&quot;:i)),o.push(r),l=s+1);return o.push(t.slice(l,s)),o.join(&quot;&quot;)}var n=t.length;return e.parse=function(e){var n={y:1900,m:0,d:1,H:0,M:0,S:0,L:0,Z:null};if(r(n,t,e,0)!=e.length)return null;&quot;p&quot;in n&amp;&amp;(n.H=n.H%12+12*n.p);var i=null!=n.Z&amp;&amp;Qa!==Lt,a=new(i?Lt:Qa);return&quot;j&quot;in n?a.setFullYear(n.y,0,n.j):&quot;W&quot;in n||&quot;U&quot;in n?(&quot;w&quot;in n||(n.w=&quot;W&quot;in n?1:0),a.setFullYear(n.y,0,1),a.setFullYear(n.y,0,&quot;W&quot;in n?(n.w+6)%7+7*n.W-(a.getDay()+5)%7:n.w+7*n.U-(a.getDay()+6)%7)):a.setFullYear(n.y,n.m,n.d),a.setHours(n.H+(n.Z/100|0),n.M+n.Z%100,n.S,n.L),i?a._:a},e.toString=function(){return t},e}function r(t,e,r,n){for(var i,a,o,s=0,l=e.length,c=r.length;s&lt;l;){if(n&gt;=c)return-1;if(37===(i=e.charCodeAt(s++))){if(o=e.charAt(s++),!(a=_[o in to?e.charAt(s++):o])||(n=a(t,r,n))&lt;0)return-1}else if(i!=r.charCodeAt(n++))return-1}return n}var n=t.dateTime,i=t.date,a=t.time,o=t.periods,s=t.days,l=t.shortDays,c=t.months,u=t.shortMonths;e.multi=(e.utc=function(t){function r(t){try{var e=new(Qa=Lt);return e._=t,n(e)}finally{Qa=Date}}var n=e(t);return r.parse=function(t){try{Qa=Lt;var e=n.parse(t);return e&amp;&amp;e._}finally{Qa=Date}},r.toString=n.toString,r}).multi=Jt;var f=Zi.map(),h=It(s),d=Pt(s),p=It(l),m=Pt(l),g=It(c),v=Pt(c),y=It(u),x=Pt(u);o.forEach(function(t,e){f.set(t.toLowerCase(),e)});var b={a:function(t){return l[t.getDay()]},A:function(t){return s[t.getDay()]},b:function(t){return u[t.getMonth()]},B:function(t){return c[t.getMonth()]},c:e(n),d:function(t,e){return Dt(t.getDate(),e,2)},e:function(t,e){return Dt(t.getDate(),e,2)},H:function(t,e){return Dt(t.getHours(),e,2)},I:function(t,e){return Dt(t.getHours()%12||12,e,2)},j:function(t,e){return Dt(1+Ka.dayOfYear(t),e,3)},L:function(t,e){return Dt(t.getMilliseconds(),e,3)},m:function(t,e){return Dt(t.getMonth()+1,e,2)},M:function(t,e){return Dt(t.getMinutes(),e,2)},p:function(t){return o[+(t.getHours()&gt;=12)]},S:function(t,e){return Dt(t.getSeconds(),e,2)},U:function(t,e){return Dt(Ka.sundayOfYear(t),e,2)},w:function(t){return t.getDay()},W:function(t,e){return Dt(Ka.mondayOfYear(t),e,2)},x:e(i),X:e(a),y:function(t,e){return Dt(t.getFullYear()%100,e,2)},Y:function(t,e){return Dt(t.getFullYear()%1e4,e,4)},Z:Xt,&quot;%&quot;:function(){return&quot;%&quot;}},_={a:function(t,e,r){p.lastIndex=0;var n=p.exec(e.slice(r));return n?(t.w=m.get(n[0].toLowerCase()),r+n[0].length):-1},A:function(t,e,r){h.lastIndex=0;var n=h.exec(e.slice(r));return n?(t.w=d.get(n[0].toLowerCase()),r+n[0].length):-1},b:function(t,e,r){y.lastIndex=0;var n=y.exec(e.slice(r));return n?(t.m=x.get(n[0].toLowerCase()),r+n[0].length):-1},B:function(t,e,r){g.lastIndex=0;var n=g.exec(e.slice(r));return n?(t.m=v.get(n[0].toLowerCase()),r+n[0].length):-1},c:function(t,e,n){return r(t,b.c.toString(),e,n)},d:Vt,e:Vt,H:Ht,I:Ht,j:qt,L:Wt,m:Ut,M:Gt,p:function(t,e,r){var n=f.get(e.slice(r,r+=2).toLowerCase());return null==n?-1:(t.p=n,r)},S:Yt,U:Ft,w:Ot,W:Rt,x:function(t,e,n){return r(t,b.x.toString(),e,n)},X:function(t,e,n){return r(t,b.X.toString(),e,n)},y:jt,Y:Nt,Z:Bt,&quot;%&quot;:Zt};return e}(t)}};var no=Zi.locale({decimal:&quot;.&quot;,thousands:&quot;,&quot;,grouping:[3],currency:[&quot;$&quot;,&quot;&quot;],dateTime:&quot;%a %b %e %X %Y&quot;,date:&quot;%m/%d/%Y&quot;,time:&quot;%H:%M:%S&quot;,periods:[&quot;AM&quot;,&quot;PM&quot;],days:[&quot;Sunday&quot;,&quot;Monday&quot;,&quot;Tuesday&quot;,&quot;Wednesday&quot;,&quot;Thursday&quot;,&quot;Friday&quot;,&quot;Saturday&quot;],shortDays:[&quot;Sun&quot;,&quot;Mon&quot;,&quot;Tue&quot;,&quot;Wed&quot;,&quot;Thu&quot;,&quot;Fri&quot;,&quot;Sat&quot;],months:[&quot;January&quot;,&quot;February&quot;,&quot;March&quot;,&quot;April&quot;,&quot;May&quot;,&quot;June&quot;,&quot;July&quot;,&quot;August&quot;,&quot;September&quot;,&quot;October&quot;,&quot;November&quot;,&quot;December&quot;],shortMonths:[&quot;Jan&quot;,&quot;Feb&quot;,&quot;Mar&quot;,&quot;Apr&quot;,&quot;May&quot;,&quot;Jun&quot;,&quot;Jul&quot;,&quot;Aug&quot;,&quot;Sep&quot;,&quot;Oct&quot;,&quot;Nov&quot;,&quot;Dec&quot;]});Zi.format=no.numberFormat,Zi.geo={},Kt.prototype={s:0,t:0,add:function(t){Qt(t,this.t,io),Qt(io.s,this.s,this),this.s?this.t+=io.t:this.s=io.t},reset:function(){this.s=this.t=0},valueOf:function(){return this.s}};var io=new Kt;Zi.geo.stream=function(t,e){t&amp;&amp;ao.hasOwnProperty(t.type)?ao[t.type](t,e):$t(t,e)};var ao={Feature:function(t,e){$t(t.geometry,e)},FeatureCollection:function(t,e){for(var r=t.features,n=-1,i=r.length;++n&lt;i;)$t(r[n].geometry,e)}},oo={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&lt;i;)t=r[n],e.point(t[0],t[1],t[2])},LineString:function(t,e){te(t.coordinates,e,0)},MultiLineString:function(t,e){for(var r=t.coordinates,n=-1,i=r.length;++n&lt;i;)te(r[n],e,0)},Polygon:function(t,e){ee(t.coordinates,e)},MultiPolygon:function(t,e){for(var r=t.coordinates,n=-1,i=r.length;++n&lt;i;)ee(r[n],e)},GeometryCollection:function(t,e){for(var r=t.geometries,n=-1,i=r.length;++n&lt;i;)$t(r[n],e)}};Zi.geo.area=function(t){return so=0,Zi.geo.stream(t,co),so};var so,lo=new Kt,co={sphere:function(){so+=4*ka},point:b,lineStart:b,lineEnd:b,polygonStart:function(){lo.reset(),co.lineStart=re},polygonEnd:function(){var t=2*lo;so+=t&lt;0?4*ka+t:t,co.lineStart=co.lineEnd=co.point=b}};Zi.geo.bounds=function(){function t(t,e){x.push(b=[u=t,h=t]),e&lt;f&amp;&amp;(f=e),e&gt;d&amp;&amp;(d=e)}function e(e,r){var n=ne([e*Ea,r*Ea]);if(v){var i=ae(v,n),a=ae([i[1],-i[0],0],i);le(a),a=ce(a);var o=e-p,l=o&gt;0?1:-1,c=a[0]*La*l,m=aa(o)&gt;180;if(m^(l*p&lt;c&amp;&amp;c&lt;l*e)){(g=a[1]*La)&gt;d&amp;&amp;(d=g)}else if(c=(c+360)%360-180,m^(l*p&lt;c&amp;&amp;c&lt;l*e)){var g;(g=-a[1]*La)&lt;f&amp;&amp;(f=g)}else r&lt;f&amp;&amp;(f=r),r&gt;d&amp;&amp;(d=r);m?e&lt;p?s(u,e)&gt;s(u,h)&amp;&amp;(h=e):s(e,h)&gt;s(u,h)&amp;&amp;(u=e):h&gt;=u?(e&lt;u&amp;&amp;(u=e),e&gt;h&amp;&amp;(h=e)):e&gt;p?s(u,e)&gt;s(u,h)&amp;&amp;(h=e):s(e,h)&gt;s(u,h)&amp;&amp;(u=e)}else t(e,r);v=n,p=e}function r(){_.point=e}function n(){b[0]=u,b[1]=h,_.point=t,v=null}function i(t,r){if(v){var n=t-p;y+=aa(n)&gt;180?n+(n&gt;0?360:-360):n}else m=t,g=r;co.point(t,r),e(t,r)}function a(){co.lineStart()}function o(){i(m,g),co.lineEnd(),aa(y)&gt;wa&amp;&amp;(u=-(h=180)),b[0]=u,b[1]=h,v=null}function s(t,e){return(e-=t)&lt;0?e+360:e}function l(t,e){return t[0]-e[0]}function c(t,e){return e[0]&lt;=e[1]?e[0]&lt;=t&amp;&amp;t&lt;=e[1]:t&lt;e[0]||e[1]&lt;t}var u,f,h,d,p,m,g,v,y,x,b,_={point:t,lineStart:r,lineEnd:n,polygonStart:function(){_.point=i,_.lineStart=a,_.lineEnd=o,y=0,co.polygonStart()},polygonEnd:function(){co.polygonEnd(),_.point=t,_.lineStart=r,_.lineEnd=n,lo&lt;0?(u=-(h=180),f=-(d=90)):y&gt;wa?d=90:y&lt;-wa&amp;&amp;(f=-90),b[0]=u,b[1]=h}};return function(t){d=h=-(u=f=1/0),x=[],Zi.geo.stream(t,_);if(i=x.length){x.sort(l);for(var e=1,r=[p=x[0]];e&lt;i;++e)c((a=x[e])[0],p)||c(a[1],p)?(s(p[0],a[1])&gt;s(p[0],p[1])&amp;&amp;(p[1]=a[1]),s(a[0],p[1])&gt;s(p[0],p[1])&amp;&amp;(p[0]=a[0])):r.push(p=a);for(var n,i,a,o=-1/0,p=(e=0,r[i=r.length-1]);e&lt;=i;p=a,++e)a=r[e],(n=s(p[1],a[0]))&gt;o&amp;&amp;(o=n,u=a[0],h=p[1])}return x=b=null,u===1/0||f===1/0?[[NaN,NaN],[NaN,NaN]]:[[u,f],[h,d]]}}(),Zi.geo.centroid=function(t){uo=fo=ho=po=mo=go=vo=yo=xo=bo=_o=0,Zi.geo.stream(t,wo);var e=xo,r=bo,n=_o,i=e*e+r*r+n*n;return i&lt;Ma&amp;&amp;(e=go,r=vo,n=yo,fo&lt;wa&amp;&amp;(e=ho,r=po,n=mo),(i=e*e+r*r+n*n)&lt;Ma)?[NaN,NaN]:[Math.atan2(r,e)*La,Q(n/Math.sqrt(i))*La]};var uo,fo,ho,po,mo,go,vo,yo,xo,bo,_o,wo={sphere:b,point:fe,lineStart:de,lineEnd:pe,polygonStart:function(){wo.lineStart=me},polygonEnd:function(){wo.lineStart=de}},Mo=_e(ve,function(t){var e,r=NaN,n=NaN,i=NaN;return{lineStart:function(){t.lineStart(),e=1},point:function(a,o){var s=a&gt;0?ka:-ka,l=aa(a-r);aa(l-ka)&lt;wa?(t.point(r,n=(n+o)/2&gt;0?Sa:-Sa),t.point(i,n),t.lineEnd(),t.lineStart(),t.point(s,n),t.point(a,n),e=0):i!==s&amp;&amp;l&gt;=ka&amp;&amp;(aa(r-i)&lt;wa&amp;&amp;(r-=i*wa),aa(a-s)&lt;wa&amp;&amp;(a-=s*wa),n=function(t,e,r,n){var i,a,o=Math.sin(t-r);return aa(o)&gt;wa?Math.atan((Math.sin(e)*(a=Math.cos(n))*Math.sin(r)-Math.sin(n)*(i=Math.cos(e))*Math.sin(t))/(i*a*o)):(e+n)/2}(r,n,a,o),t.point(i,n),t.lineEnd(),t.lineStart(),t.point(s,n),e=0),t.point(r=a,n=o),i=s},lineEnd:function(){t.lineEnd(),r=n=NaN},clean:function(){return 2-e}}},function(t,e,r,n){var i;if(null==t)i=r*Sa,n.point(-ka,i),n.point(0,i),n.point(ka,i),n.point(ka,0),n.point(ka,-i),n.point(0,-i),n.point(-ka,-i),n.point(-ka,0),n.point(-ka,i);else if(aa(t[0]-e[0])&gt;wa){var a=t[0]&lt;e[0]?ka:-ka;i=r*a/2,n.point(-a,i),n.point(0,i),n.point(a,i)}else n.point(e[0],e[1])},[-ka,-ka/2]),ko=1e9;Zi.geo.clipExtent=function(){var t,e,r,n,i,a,o={stream:function(t){return i&amp;&amp;(i.valid=!1),i=a(t),i.valid=!0,i},extent:function(s){return arguments.length?(a=Te(t=+s[0][0],e=+s[0][1],r=+s[1][0],n=+s[1][1]),i&amp;&amp;(i.valid=!1,i=null),o):[[t,e],[r,n]]}};return o.extent([[0,0],[960,500]])},(Zi.geo.conicEqualArea=function(){return Se(Ee)}).raw=Ee,Zi.geo.albers=function(){return Zi.geo.conicEqualArea().rotate([96,0]).center([-.6,38.7]).parallels([29.5,45.5]).scale(1070)},Zi.geo.albersUsa=function(){function t(t){var a=t[0],o=t[1];return e=null,r(a,o),e||(n(a,o),e)||i(a,o),e}var e,r,n,i,a=Zi.geo.albers(),o=Zi.geo.conicEqualArea().rotate([154,0]).center([-2,58.5]).parallels([55,65]),s=Zi.geo.conicEqualArea().rotate([157,0]).center([-3,19.9]).parallels([8,18]),l={point:function(t,r){e=[t,r]}};return t.invert=function(t){var e=a.scale(),r=a.translate(),n=(t[0]-r[0])/e,i=(t[1]-r[1])/e;return(i&gt;=.12&amp;&amp;i&lt;.234&amp;&amp;n&gt;=-.425&amp;&amp;n&lt;-.214?o:i&gt;=.166&amp;&amp;i&lt;.234&amp;&amp;n&gt;=-.214&amp;&amp;n&lt;-.115?s:a).invert(t)},t.stream=function(t){var e=a.stream(t),r=o.stream(t),n=s.stream(t);return{point:function(t,i){e.point(t,i),r.point(t,i),n.point(t,i)},sphere:function(){e.sphere(),r.sphere(),n.sphere()},lineStart:function(){e.lineStart(),r.lineStart(),n.lineStart()},lineEnd:function(){e.lineEnd(),r.lineEnd(),n.lineEnd()},polygonStart:function(){e.polygonStart(),r.polygonStart(),n.polygonStart()},polygonEnd:function(){e.polygonEnd(),r.polygonEnd(),n.polygonEnd()}}},t.precision=function(e){return arguments.length?(a.precision(e),o.precision(e),s.precision(e),t):a.precision()},t.scale=function(e){return arguments.length?(a.scale(e),o.scale(.35*e),s.scale(e),t.translate(a.translate())):a.scale()},t.translate=function(e){if(!arguments.length)return a.translate();var c=a.scale(),u=+e[0],f=+e[1];return r=a.translate(e).clipExtent([[u-.455*c,f-.238*c],[u+.455*c,f+.238*c]]).stream(l).point,n=o.translate([u-.307*c,f+.201*c]).clipExtent([[u-.425*c+wa,f+.12*c+wa],[u-.214*c-wa,f+.234*c-wa]]).stream(l).point,i=s.translate([u-.205*c,f+.212*c]).clipExtent([[u-.214*c+wa,f+.166*c+wa],[u-.115*c-wa,f+.234*c-wa]]).stream(l).point,t},t.scale(1070)};var Ao,To,So,Eo,Lo,Co,zo={point:b,lineStart:b,lineEnd:b,polygonStart:function(){To=0,zo.lineStart=Le},polygonEnd:function(){zo.lineStart=zo.lineEnd=zo.point=b,Ao+=aa(To/2)}},Do={point:function(t,e){t&lt;So&amp;&amp;(So=t),t&gt;Lo&amp;&amp;(Lo=t),e&lt;Eo&amp;&amp;(Eo=e),e&gt;Co&amp;&amp;(Co=e)},lineStart:b,lineEnd:b,polygonStart:b,polygonEnd:b},Io={point:ze,lineStart:De,lineEnd:Ie,polygonStart:function(){Io.lineStart=Pe},polygonEnd:function(){Io.point=ze,Io.lineStart=De,Io.lineEnd=Ie}};Zi.geo.path=function(){function t(t){return t&amp;&amp;(&quot;function&quot;==typeof s&amp;&amp;a.pointRadius(+s.apply(this,arguments)),o&amp;&amp;o.valid||(o=i(a)),Zi.geo.stream(t,o)),a.result()}function e(){return o=null,t}var r,n,i,a,o,s=4.5;return t.area=function(t){return Ao=0,Zi.geo.stream(t,i(zo)),Ao},t.centroid=function(t){return ho=po=mo=go=vo=yo=xo=bo=_o=0,Zi.geo.stream(t,i(Io)),_o?[xo/_o,bo/_o]:yo?[go/yo,vo/yo]:mo?[ho/mo,po/mo]:[NaN,NaN]},t.bounds=function(t){return Lo=Co=-(So=Eo=1/0),Zi.geo.stream(t,i(Do)),[[So,Eo],[Lo,Co]]},t.projection=function(t){return arguments.length?(i=(r=t)?t.stream||function(t){var e=Oe(function(e,r){return t([e*La,r*La])});return function(t){return Be(e(t))}}(t):y,e()):r},t.context=function(t){return arguments.length?(a=null==(n=t)?new function(){function t(t,e){o.push(&quot;M&quot;,t,&quot;,&quot;,e,a)}function e(t,e){o.push(&quot;M&quot;,t,&quot;,&quot;,e),s.point=r}function r(t,e){o.push(&quot;L&quot;,t,&quot;,&quot;,e)}function n(){s.point=t}function i(){o.push(&quot;Z&quot;)}var a=Ce(4.5),o=[],s={point:t,lineStart:function(){s.point=e},lineEnd:n,polygonStart:function(){s.lineEnd=i},polygonEnd:function(){s.lineEnd=n,s.point=t},pointRadius:function(t){return a=Ce(t),s},result:function(){if(o.length){var t=o.join(&quot;&quot;);return o=[],t}}};return s}:new function(t){function e(e,r){t.moveTo(e+o,r),t.arc(e,r,o,0,Aa)}function r(e,r){t.moveTo(e,r),s.point=n}function n(e,r){t.lineTo(e,r)}function i(){s.point=e}function a(){t.closePath()}var o=4.5,s={point:e,lineStart:function(){s.point=r},lineEnd:i,polygonStart:function(){s.lineEnd=a},polygonEnd:function(){s.lineEnd=i,s.point=e},pointRadius:function(t){return o=t,s},result:b};return s}(t),&quot;function&quot;!=typeof s&amp;&amp;a.pointRadius(s),e()):n},t.pointRadius=function(e){return arguments.length?(s=&quot;function&quot;==typeof e?e:(a.pointRadius(+e),+e),t):s},t.projection(Zi.geo.albersUsa()).context(null)},Zi.geo.transform=function(t){return{stream:function(e){var r=new Fe(e);for(var n in t)r[n]=t[n];return r}}},Fe.prototype={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()}},Zi.geo.projection=Ne,Zi.geo.projectionMutator=je,(Zi.geo.equirectangular=function(){return Ne(Ue)}).raw=Ue.invert=Ue,Zi.geo.rotation=function(t){function e(e){return e=t(e[0]*Ea,e[1]*Ea),e[0]*=La,e[1]*=La,e}return t=qe(t[0]%360*Ea,t[1]*Ea,t.length&gt;2?t[2]*Ea:0),e.invert=function(e){return e=t.invert(e[0]*Ea,e[1]*Ea),e[0]*=La,e[1]*=La,e},e},Ve.invert=Ue,Zi.geo.circle=function(){function t(){var t=&quot;function&quot;==typeof n?n.apply(this,arguments):n,e=qe(-t[0]*Ea,-t[1]*Ea,0).invert,i=[];return r(null,null,1,{point:function(t,r){i.push(t=e(t,r)),t[0]*=La,t[1]*=La}}),{type:&quot;Polygon&quot;,coordinates:[i]}}var e,r,n=[0,0],i=6;return t.origin=function(e){return arguments.length?(n=e,t):n},t.angle=function(n){return arguments.length?(r=We((e=+n)*Ea,i*Ea),t):e},t.precision=function(n){return arguments.length?(r=We(e*Ea,(i=+n)*Ea),t):i},t.angle(90)},Zi.geo.distance=function(t,e){var r,n=(e[0]-t[0])*Ea,i=t[1]*Ea,a=e[1]*Ea,o=Math.sin(n),s=Math.cos(n),l=Math.sin(i),c=Math.cos(i),u=Math.sin(a),f=Math.cos(a);return Math.atan2(Math.sqrt((r=f*o)*r+(r=c*u-l*f*s)*r),l*u+c*f*s)},Zi.geo.graticule=function(){function t(){return{type:&quot;MultiLineString&quot;,coordinates:e()}}function e(){return Zi.range(Math.ceil(a/g)*g,i,g).map(h).concat(Zi.range(Math.ceil(c/v)*v,l,v).map(d)).concat(Zi.range(Math.ceil(n/p)*p,r,p).filter(function(t){return aa(t%g)&gt;wa}).map(u)).concat(Zi.range(Math.ceil(s/m)*m,o,m).filter(function(t){return aa(t%v)&gt;wa}).map(f))}var r,n,i,a,o,s,l,c,u,f,h,d,p=10,m=p,g=90,v=360,y=2.5;return t.lines=function(){return e().map(function(t){return{type:&quot;LineString&quot;,coordinates:t}})},t.outline=function(){return{type:&quot;Polygon&quot;,coordinates:[h(a).concat(d(l).slice(1),h(i).reverse().slice(1),d(c).reverse().slice(1))]}},t.extent=function(e){return arguments.length?t.majorExtent(e).minorExtent(e):t.minorExtent()},t.majorExtent=function(e){return arguments.length?(a=+e[0][0],i=+e[1][0],c=+e[0][1],l=+e[1][1],a&gt;i&amp;&amp;(e=a,a=i,i=e),c&gt;l&amp;&amp;(e=c,c=l,l=e),t.precision(y)):[[a,c],[i,l]]},t.minorExtent=function(e){return arguments.length?(n=+e[0][0],r=+e[1][0],s=+e[0][1],o=+e[1][1],n&gt;r&amp;&amp;(e=n,n=r,r=e),s&gt;o&amp;&amp;(e=s,s=o,o=e),t.precision(y)):[[n,s],[r,o]]},t.step=function(e){return arguments.length?t.majorStep(e).minorStep(e):t.minorStep()},t.majorStep=function(e){return arguments.length?(g=+e[0],v=+e[1],t):[g,v]},t.minorStep=function(e){return arguments.length?(p=+e[0],m=+e[1],t):[p,m]},t.precision=function(e){return arguments.length?(y=+e,u=Ze(s,o,90),f=Je(n,r,y),h=Ze(c,l,90),d=Je(a,i,y),t):y},t.majorExtent([[-180,-90+wa],[180,90-wa]]).minorExtent([[-180,-80-wa],[180,80+wa]])},Zi.geo.greatArc=function(){function t(){return{type:&quot;LineString&quot;,coordinates:[e||n.apply(this,arguments),r||i.apply(this,arguments)]}}var e,r,n=Ke,i=Qe;return t.distance=function(){return Zi.geo.distance(e||n.apply(this,arguments),r||i.apply(this,arguments))},t.source=function(r){return arguments.length?(n=r,e=&quot;function&quot;==typeof r?null:r,t):n},t.target=function(e){return arguments.length?(i=e,r=&quot;function&quot;==typeof e?null:e,t):i},t.precision=function(){return arguments.length?t:0},t},Zi.geo.interpolate=function(t,e){return function(t,e,r,n){var i=Math.cos(e),a=Math.sin(e),o=Math.cos(n),s=Math.sin(n),l=i*Math.cos(t),c=i*Math.sin(t),u=o*Math.cos(r),f=o*Math.sin(r),h=2*Math.asin(Math.sqrt(tt(n-e)+i*o*tt(r-t))),d=1/Math.sin(h),p=h?function(t){var e=Math.sin(t*=h)*d,r=Math.sin(h-t)*d,n=r*l+e*u,i=r*c+e*f,o=r*a+e*s;return[Math.atan2(i,n)*La,Math.atan2(o,Math.sqrt(n*n+i*i))*La]}:function(){return[t*La,e*La]};return p.distance=h,p}(t[0]*Ea,t[1]*Ea,e[0]*Ea,e[1]*Ea)},Zi.geo.length=function(t){return Po=0,Zi.geo.stream(t,Oo),Po};var Po,Oo={sphere:b,point:b,lineStart:function(){function t(t,i){var a=Math.sin(i*=Ea),o=Math.cos(i),s=aa((t*=Ea)-e),l=Math.cos(s);Po+=Math.atan2(Math.sqrt((s=o*Math.sin(s))*s+(s=n*a-r*o*l)*s),r*a+n*o*l),e=t,r=a,n=o}var e,r,n;Oo.point=function(i,a){e=i*Ea,r=Math.sin(a*=Ea),n=Math.cos(a),Oo.point=t},Oo.lineEnd=function(){Oo.point=Oo.lineEnd=b}},lineEnd:b,polygonStart:b,polygonEnd:b},Fo=$e(function(t){return Math.sqrt(2/(1+t))},function(t){return 2*Math.asin(t/2)});(Zi.geo.azimuthalEqualArea=function(){return Ne(Fo)}).raw=Fo;var Ro=$e(function(t){var e=Math.acos(t);return e&amp;&amp;e/Math.sin(e)},y);(Zi.geo.azimuthalEquidistant=function(){return Ne(Ro)}).raw=Ro,(Zi.geo.conicConformal=function(){return Se(tr)}).raw=tr,(Zi.geo.conicEquidistant=function(){return Se(er)}).raw=er;var No=$e(function(t){return 1/t},Math.atan);(Zi.geo.gnomonic=function(){return Ne(No)}).raw=No,rr.invert=function(t,e){return[t,2*Math.atan(Math.exp(e))-Sa]},(Zi.geo.mercator=function(){return nr(rr)}).raw=rr;var jo=$e(function(){return 1},Math.asin);(Zi.geo.orthographic=function(){return Ne(jo)}).raw=jo;var Bo=$e(function(t){return 1/(1+t)},function(t){return 2*Math.atan(t)});(Zi.geo.stereographic=function(){return Ne(Bo)}).raw=Bo,ir.invert=function(t,e){return[-e,2*Math.atan(Math.exp(t))-Sa]},(Zi.geo.transverseMercator=function(){var t=nr(ir),e=t.center,r=t.rotate;return t.center=function(t){return t?e([-t[1],t[0]]):(t=e(),[t[1],-t[0]])},t.rotate=function(t){return t?r([t[0],t[1],t.length&gt;2?t[2]+90:90]):(t=r(),[t[0],t[1],t[2]-90])},r([0,0,90])}).raw=ir,Zi.geom={},Zi.geom.hull=function(t){function e(t){if(t.length&lt;3)return[];var e,i=_t(r),a=_t(n),o=t.length,s=[],l=[];for(e=0;e&lt;o;e++)s.push([+i.call(this,t[e],e),+a.call(this,t[e],e),e]);for(s.sort(lr),e=0;e&lt;o;e++)l.push([s[e][0],-s[e][1]]);var c=sr(s),u=sr(l),f=u[0]===c[0],h=u[u.length-1]===c[c.length-1],d=[];for(e=c.length-1;e&gt;=0;--e)d.push(t[s[c[e]][2]]);for(e=+f;e&lt;u.length-h;++e)d.push(t[s[u[e]][2]]);return d}var r=ar,n=or;return arguments.length?e(t):(e.x=function(t){return arguments.length?(r=t,e):r},e.y=function(t){return arguments.length?(n=t,e):n},e)},Zi.geom.polygon=function(t){return ua(t,Uo),t};var Uo=Zi.geom.polygon.prototype=[];Uo.area=function(){for(var t,e=-1,r=this.length,n=this[r-1],i=0;++e&lt;r;)t=n,n=this[e],i+=t[1]*n[0]-t[0]*n[1];return.5*i},Uo.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&lt;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]},Uo.clip=function(t){for(var e,r,n,i,a,o,s=fr(t),l=-1,c=this.length-fr(this),u=this[c-1];++l&lt;c;){for(e=t.slice(),t.length=0,i=this[l],a=e[(n=e.length-s)-1],r=-1;++r&lt;n;)cr(o=e[r],u,i)?(cr(a,u,i)||t.push(ur(a,o,u,i)),t.push(o)):cr(a,u,i)&amp;&amp;t.push(ur(a,o,u,i)),a=o;s&amp;&amp;t.push(t[0]),u=i}return t};var Vo,qo,Ho,Go,Yo,Wo=[],Xo=[];vr.prototype.prepare=function(){for(var t,e=this.edges,r=e.length;r--;)(t=e[r].edge).b&amp;&amp;t.a||e.splice(r,1);return e.sort(xr),e.length},Ar.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&amp;&amp;(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=Cr(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&amp;&amp;r.C;)r===(n=r.U).L?(i=n.R)&amp;&amp;i.C?(r.C=i.C=!1,n.C=!0,t=n):(t===r.R&amp;&amp;(Er(this,r),r=(t=r).U),r.C=!1,n.C=!0,Lr(this,n)):(i=n.L)&amp;&amp;i.C?(r.C=i.C=!1,n.C=!0,t=n):(t===r.L&amp;&amp;(Lr(this,r),r=(t=r).U),r.C=!1,n.C=!0,Er(this,n)),r=t.U;this._.C=!1},remove:function(t){t.N&amp;&amp;(t.N.P=t.P),t.P&amp;&amp;(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?Cr(o):a:o,i?i.L===t?i.L=r:i.R=r:this._=r,a&amp;&amp;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&amp;&amp;(t.U=i),!n)if(t&amp;&amp;t.C)t.C=!1;else{do{if(t===this._)break;if(t===i.L){if((e=i.R).C&amp;&amp;(e.C=!1,i.C=!0,Er(this,i),e=i.R),e.L&amp;&amp;e.L.C||e.R&amp;&amp;e.R.C){e.R&amp;&amp;e.R.C||(e.L.C=!1,e.C=!0,Lr(this,e),e=i.R),e.C=i.C,i.C=e.R.C=!1,Er(this,i),t=this._;break}}else if((e=i.L).C&amp;&amp;(e.C=!1,i.C=!0,Lr(this,i),e=i.L),e.L&amp;&amp;e.L.C||e.R&amp;&amp;e.R.C){e.L&amp;&amp;e.L.C||(e.R.C=!1,e.C=!0,Er(this,e),e=i.L),e.C=i.C,i.C=e.L.C=!1,Lr(this,i),t=this._;break}e.C=!0,t=i,i=i.U}while(!t.C);t&amp;&amp;(t.C=!1)}}},Zi.geom.voronoi=function(t){function e(t){var e=new Array(t.length),n=s[0][0],i=s[0][1],a=s[1][0],o=s[1][1];return zr(r(t),s).cells.forEach(function(r,s){var l=r.edges,c=r.site;(e[s]=l.length?l.map(function(t){var e=t.start();return[e.x,e.y]}):c.x&gt;=n&amp;&amp;c.x&lt;=a&amp;&amp;c.y&gt;=i&amp;&amp;c.y&lt;=o?[[n,o],[a,o],[a,i],[n,i]]:[]).point=t[s]}),e}function r(t){return t.map(function(t,e){return{x:Math.round(a(t,e)/wa)*wa,y:Math.round(o(t,e)/wa)*wa,i:e}})}var n=ar,i=or,a=n,o=i,s=Zo;return t?e(t):(e.links=function(t){return zr(r(t)).edges.filter(function(t){return t.l&amp;&amp;t.r}).map(function(e){return{source:t[e.l.i],target:t[e.r.i]}})},e.triangles=function(t){var e=[];return zr(r(t)).cells.forEach(function(r,n){for(var i,a=r.site,o=r.edges.sort(xr),s=-1,l=o.length,c=o[l-1].edge,u=c.l===a?c.r:c.l;++s&lt;l;)c,i=u,u=(c=o[s].edge).l===a?c.r:c.l,n&lt;i.i&amp;&amp;n&lt;u.i&amp;&amp;function(t,e,r){return(t.x-r.x)*(e.y-t.y)-(t.x-e.x)*(r.y-t.y)}(a,i,u)&lt;0&amp;&amp;e.push([t[n],t[i.i],t[u.i]])}),e},e.x=function(t){return arguments.length?(a=_t(n=t),e):n},e.y=function(t){return arguments.length?(o=_t(i=t),e):i},e.clipExtent=function(t){return arguments.length?(s=null==t?Zo:t,e):s===Zo?null:s},e.size=function(t){return arguments.length?e.clipExtent(t&amp;&amp;[[0,0],t]):s===Zo?null:s&amp;&amp;s[1]},e)};var Zo=[[-1e6,-1e6],[1e6,1e6]];Zi.geom.delaunay=function(t){return Zi.geom.voronoi().triangles(t)},Zi.geom.quadtree=function(t,e,r,n,i){function a(t){function a(t,e,r,n,i,a,o,s){if(!isNaN(r)&amp;&amp;!isNaN(n))if(t.leaf){var l=t.x,u=t.y;if(null!=l)if(aa(l-r)+aa(u-n)&lt;.01)c(t,e,r,n,i,a,o,s);else{var f=t.point;t.x=t.y=t.point=null,c(t,f,l,u,i,a,o,s),c(t,e,r,n,i,a,o,s)}else t.x=r,t.y=n,t.point=e}else c(t,e,r,n,i,a,o,s)}function c(t,e,r,n,i,o,s,l){var c=.5*(i+s),u=.5*(o+l),f=r&gt;=c,h=n&gt;=u,d=h&lt;&lt;1|f;t.leaf=!1,t=t.nodes[d]||(t.nodes[d]={leaf:!0,nodes:[],point:null,x:null,y:null}),f?i=c:s=c,h?o=u:l=u,a(t,e,r,n,i,o,s,l)}var u,f,h,d,p,m,g,v,y,x=_t(s),b=_t(l);if(null!=e)m=e,g=r,v=n,y=i;else if(v=y=-(m=g=1/0),f=[],h=[],p=t.length,o)for(d=0;d&lt;p;++d)(u=t[d]).x&lt;m&amp;&amp;(m=u.x),u.y&lt;g&amp;&amp;(g=u.y),u.x&gt;v&amp;&amp;(v=u.x),u.y&gt;y&amp;&amp;(y=u.y),f.push(u.x),h.push(u.y);else for(d=0;d&lt;p;++d){var _=+x(u=t[d],d),w=+b(u,d);_&lt;m&amp;&amp;(m=_),w&lt;g&amp;&amp;(g=w),_&gt;v&amp;&amp;(v=_),w&gt;y&amp;&amp;(y=w),f.push(_),h.push(w)}var M=v-m,k=y-g;M&gt;k?y=g+M:v=m+k;var A={leaf:!0,nodes:[],point:null,x:null,y:null};if(A.add=function(t){a(A,t,+x(t,++d),+b(t,d),m,g,v,y)},A.visit=function(t){Or(t,A,m,g,v,y)},A.find=function(t){return function(t,e,r,n,i,a,o){var s,l=1/0;return function t(c,u,f,h,d){if(!(u&gt;a||f&gt;o||h&lt;n||d&lt;i)){if(p=c.point){var p,m=e-c.x,g=r-c.y,v=m*m+g*g;if(v&lt;l){var y=Math.sqrt(l=v);n=e-y,i=r-y,a=e+y,o=r+y,s=p}}for(var x=c.nodes,b=.5*(u+h),_=.5*(f+d),w=(r&gt;=_)&lt;&lt;1|e&gt;=b,M=w+4;w&lt;M;++w)if(c=x[3&amp;w])switch(3&amp;w){case 0:t(c,u,f,b,_);break;case 1:t(c,b,f,h,_);break;case 2:t(c,u,_,b,d);break;case 3:t(c,b,_,h,d)}}}(t,n,i,a,o),s}(A,t[0],t[1],m,g,v,y)},d=-1,null==e){for(;++d&lt;p;)a(A,t[d],f[d],h[d],m,g,v,y);--d}else t.forEach(A.add);return f=h=t=u=null,A}var o,s=ar,l=or;return(o=arguments.length)?(s=Ir,l=Pr,3===o&amp;&amp;(i=r,n=e,r=e=0),a(t)):(a.x=function(t){return arguments.length?(s=t,a):s},a.y=function(t){return arguments.length?(l=t,a):l},a.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]),a):null==e?null:[[e,r],[n,i]]},a.size=function(t){return arguments.length?(null==t?e=r=n=i=null:(e=r=0,n=+t[0],i=+t[1]),a):null==e?null:[n-e,i-r]},a)},Zi.interpolateRgb=Fr,Zi.interpolateObject=Rr,Zi.interpolateNumber=Nr,Zi.interpolateString=jr;var Jo=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,Ko=new RegExp(Jo.source,&quot;g&quot;);Zi.interpolate=Br,Zi.interpolators=[function(t,e){var r=typeof e;return(&quot;string&quot;===r?Va.has(e.toLowerCase())||/^(#|rgb\(|hsl\()/i.test(e)?Fr:jr:e instanceof et?Fr:Array.isArray(e)?Ur:&quot;object&quot;===r&amp;&amp;isNaN(e)?Rr:Nr)(t,e)}],Zi.interpolateArray=Ur;var Qo=function(){return y},$o=Zi.map({linear:Qo,poly:function(t){return function(e){return Math.pow(e,t)}},quad:function(){return Hr},cubic:function(){return Gr},sin:function(){return Yr},exp:function(){return Wr},circle:function(){return Xr},elastic:function(t,e){var r;return arguments.length&lt;2&amp;&amp;(e=.45),arguments.length?r=e/Aa*Math.asin(1/t):(t=1,r=e/4),function(n){return 1+t*Math.pow(2,-10*n)*Math.sin((n-r)*Aa/e)}},back:function(t){return t||(t=1.70158),function(e){return e*e*((t+1)*e-t)}},bounce:function(){return Zr}}),ts=Zi.map({in:y,out:Vr,&quot;in-out&quot;:qr,&quot;out-in&quot;:function(t){return qr(Vr(t))}});Zi.ease=function(t){var e=t.indexOf(&quot;-&quot;),r=e&gt;=0?t.slice(0,e):t,n=e&gt;=0?t.slice(e+1):&quot;in&quot;;return r=$o.get(r)||Qo,n=ts.get(n)||y,function(t){return function(e){return e&lt;=0?0:e&gt;=1?1:t(e)}}(n(r.apply(null,Ji.call(arguments,1))))},Zi.interpolateHcl=function(t,e){t=Zi.hcl(t),e=Zi.hcl(e);var r=t.h,n=t.c,i=t.l,a=e.h-r,o=e.c-n,s=e.l-i;return isNaN(o)&amp;&amp;(o=0,n=isNaN(n)?e.c:n),isNaN(a)?(a=0,r=isNaN(r)?e.h:r):a&gt;180?a-=360:a&lt;-180&amp;&amp;(a+=360),function(t){return at(r+a*t,n+o*t,i+s*t)+&quot;&quot;}},Zi.interpolateHsl=function(t,e){t=Zi.hsl(t),e=Zi.hsl(e);var r=t.h,n=t.s,i=t.l,a=e.h-r,o=e.s-n,s=e.l-i;return isNaN(o)&amp;&amp;(o=0,n=isNaN(n)?e.s:n),isNaN(a)?(a=0,r=isNaN(r)?e.h:r):a&gt;180?a-=360:a&lt;-180&amp;&amp;(a+=360),function(t){return nt(r+a*t,n+o*t,i+s*t)+&quot;&quot;}},Zi.interpolateLab=function(t,e){t=Zi.lab(t),e=Zi.lab(e);var r=t.l,n=t.a,i=t.b,a=e.l-r,o=e.a-n,s=e.b-i;return function(t){return st(r+a*t,n+o*t,i+s*t)+&quot;&quot;}},Zi.interpolateRound=Jr,Zi.transform=function(t){var e=Qi.createElementNS(Zi.ns.prefix.svg,&quot;g&quot;);return(Zi.transform=function(t){if(null!=t){e.setAttribute(&quot;transform&quot;,t);var r=e.transform.baseVal.consolidate()}return new Kr(r?r.matrix:es)})(t)},Kr.prototype.toString=function(){return&quot;translate(&quot;+this.translate+&quot;)rotate(&quot;+this.rotate+&quot;)skewX(&quot;+this.skew+&quot;)scale(&quot;+this.scale+&quot;)&quot;};var es={a:1,b:0,c:0,d:1,e:0,f:0};Zi.interpolateTransform=en,Zi.layout={},Zi.layout.bundle=function(){return function(t){for(var e=[],r=-1,n=t.length;++r&lt;n;)e.push(rn(t[r]));return e}},Zi.layout.chord=function(){function t(){var t,c,f,h,d,p={},m=[],g=Zi.range(a),v=[];for(r=[],n=[],t=0,h=-1;++h&lt;a;){for(c=0,d=-1;++d&lt;a;)c+=i[h][d];m.push(c),v.push(Zi.range(a)),t+=c}for(o&amp;&amp;g.sort(function(t,e){return o(m[t],m[e])}),s&amp;&amp;v.forEach(function(t,e){t.sort(function(t,r){return s(i[e][t],i[e][r])})}),t=(Aa-u*a)/t,c=0,h=-1;++h&lt;a;){for(f=c,d=-1;++d&lt;a;){var y=g[h],x=v[y][d],b=i[y][x],_=c,w=c+=b*t;p[y+&quot;-&quot;+x]={index:y,subindex:x,startAngle:_,endAngle:w,value:b}}n[y]={index:y,startAngle:f,endAngle:c,value:m[y]},c+=u}for(h=-1;++h&lt;a;)for(d=h-1;++d&lt;a;){var M=p[h+&quot;-&quot;+d],k=p[d+&quot;-&quot;+h];(M.value||k.value)&amp;&amp;r.push(M.value&lt;k.value?{source:k,target:M}:{source:M,target:k})}l&amp;&amp;e()}function e(){r.sort(function(t,e){return l((t.source.value+t.target.value)/2,(e.source.value+e.target.value)/2)})}var r,n,i,a,o,s,l,c={},u=0;return c.matrix=function(t){return arguments.length?(a=(i=t)&amp;&amp;i.length,r=n=null,c):i},c.padding=function(t){return arguments.length?(u=t,r=n=null,c):u},c.sortGroups=function(t){return arguments.length?(o=t,r=n=null,c):o},c.sortSubgroups=function(t){return arguments.length?(s=t,r=null,c):s},c.sortChords=function(t){return arguments.length?(l=t,r&amp;&amp;e(),c):l},c.chords=function(){return r||t(),r},c.groups=function(){return n||t(),n},c},Zi.layout.force=function(){function t(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/v&lt;l){if(l&lt;m){var c=e.charge/l;t.px-=a*c,t.py-=o*c}return!0}if(e.point&amp;&amp;l&amp;&amp;l&lt;m){c=e.pointCharge/l;t.px-=a*c,t.py-=o*c}}return!e.charge}}function e(t){t.px=Zi.event.x,t.py=Zi.event.y,l.resume()}var r,n,i,a,o,s,l={},c=Zi.dispatch(&quot;start&quot;,&quot;tick&quot;,&quot;end&quot;),u=[1,1],f=.9,h=rs,d=ns,p=-30,m=is,g=.1,v=.64,x=[],b=[];return l.tick=function(){if((i*=.99)&lt;.005)return r=null,c.end({type:&quot;end&quot;,alpha:i=0}),!0;var e,n,l,h,d,m,v,y,_,w=x.length,M=b.length;for(n=0;n&lt;M;++n)h=(l=b[n]).source,(m=(y=(d=l.target).x-h.x)*y+(_=d.y-h.y)*_)&amp;&amp;(y*=m=i*o[n]*((m=Math.sqrt(m))-a[n])/m,_*=m,d.x-=y*(v=h.weight+d.weight?h.weight/(h.weight+d.weight):.5),d.y-=_*v,h.x+=y*(v=1-v),h.y+=_*v);if((v=i*g)&amp;&amp;(y=u[0]/2,_=u[1]/2,n=-1,v))for(;++n&lt;w;)(l=x[n]).x+=(y-l.x)*v,l.y+=(_-l.y)*v;if(p)for(cn(e=Zi.geom.quadtree(x),i,s),n=-1;++n&lt;w;)(l=x[n]).fixed||e.visit(t(l));for(n=-1;++n&lt;w;)(l=x[n]).fixed?(l.x=l.px,l.y=l.py):(l.x-=(l.px-(l.px=l.x))*f,l.y-=(l.py-(l.py=l.y))*f);c.tick({type:&quot;tick&quot;,alpha:i})},l.nodes=function(t){return arguments.length?(x=t,l):x},l.links=function(t){return arguments.length?(b=t,l):b},l.size=function(t){return arguments.length?(u=t,l):u},l.linkDistance=function(t){return arguments.length?(h=&quot;function&quot;==typeof t?t:+t,l):h},l.distance=l.linkDistance,l.linkStrength=function(t){return arguments.length?(d=&quot;function&quot;==typeof t?t:+t,l):d},l.friction=function(t){return arguments.length?(f=+t,l):f},l.charge=function(t){return arguments.length?(p=&quot;function&quot;==typeof t?t:+t,l):p},l.chargeDistance=function(t){return arguments.length?(m=t*t,l):Math.sqrt(m)},l.gravity=function(t){return arguments.length?(g=+t,l):g},l.theta=function(t){return arguments.length?(v=t*t,l):Math.sqrt(v)},l.alpha=function(t){return arguments.length?(t=+t,i?t&gt;0?i=t:(r.c=null,r.t=NaN,r=null,c.end({type:&quot;end&quot;,alpha:i=0})):t&gt;0&amp;&amp;(c.start({type:&quot;start&quot;,alpha:i=t}),r=kt(l.tick)),l):i},l.start=function(){function t(t,n){if(!r){for(r=new Array(i),l=0;l&lt;i;++l)r[l]=[];for(l=0;l&lt;c;++l){var a=b[l];r[a.source.index].push(a.target),r[a.target.index].push(a.source)}}for(var o,s=r[e],l=-1,u=s.length;++l&lt;u;)if(!isNaN(o=s[l][t]))return o;return Math.random()*n}var e,r,n,i=x.length,c=b.length,f=u[0],m=u[1];for(e=0;e&lt;i;++e)(n=x[e]).index=e,n.weight=0;for(e=0;e&lt;c;++e)&quot;number&quot;==typeof(n=b[e]).source&amp;&amp;(n.source=x[n.source]),&quot;number&quot;==typeof n.target&amp;&amp;(n.target=x[n.target]),++n.source.weight,++n.target.weight;for(e=0;e&lt;i;++e)n=x[e],isNaN(n.x)&amp;&amp;(n.x=t(&quot;x&quot;,f)),isNaN(n.y)&amp;&amp;(n.y=t(&quot;y&quot;,m)),isNaN(n.px)&amp;&amp;(n.px=n.x),isNaN(n.py)&amp;&amp;(n.py=n.y);if(a=[],&quot;function&quot;==typeof h)for(e=0;e&lt;c;++e)a[e]=+h.call(this,b[e],e);else for(e=0;e&lt;c;++e)a[e]=h;if(o=[],&quot;function&quot;==typeof d)for(e=0;e&lt;c;++e)o[e]=+d.call(this,b[e],e);else for(e=0;e&lt;c;++e)o[e]=d;if(s=[],&quot;function&quot;==typeof p)for(e=0;e&lt;i;++e)s[e]=+p.call(this,x[e],e);else for(e=0;e&lt;i;++e)s[e]=p;return l.resume()},l.resume=function(){return l.alpha(.1)},l.stop=function(){return l.alpha(0)},l.drag=function(){if(n||(n=Zi.behavior.drag().origin(y).on(&quot;dragstart.force&quot;,an).on(&quot;drag.force&quot;,e).on(&quot;dragend.force&quot;,on)),!arguments.length)return n;this.on(&quot;mouseover.force&quot;,sn).on(&quot;mouseout.force&quot;,ln).call(n)},Zi.rebind(l,c,&quot;on&quot;)};var rs=20,ns=1,is=1/0;Zi.layout.hierarchy=function(){function t(i){var a,o=[i],s=[];for(i.depth=0;null!=(a=o.pop());)if(s.push(a),(c=r.call(t,a,a.depth))&amp;&amp;(l=c.length)){for(var l,c,u;--l&gt;=0;)o.push(u=c[l]),u.parent=a,u.depth=a.depth+1;n&amp;&amp;(a.value=0),a.children=c}else n&amp;&amp;(a.value=+n.call(t,a,a.depth)||0),delete a.children;return hn(i,function(t){var r,i;e&amp;&amp;(r=t.children)&amp;&amp;r.sort(e),n&amp;&amp;(i=t.parent)&amp;&amp;(i.value+=t.value)}),s}var e=mn,r=dn,n=pn;return t.sort=function(r){return arguments.length?(e=r,t):e},t.children=function(e){return arguments.length?(r=e,t):r},t.value=function(e){return arguments.length?(n=e,t):n},t.revalue=function(e){return n&amp;&amp;(fn(e,function(t){t.children&amp;&amp;(t.value=0)}),hn(e,function(e){var r;e.children||(e.value=+n.call(t,e,e.depth)||0),(r=e.parent)&amp;&amp;(r.value+=e.value)})),e},t},Zi.layout.partition=function(){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&amp;&amp;(o=a.length)){var o,s,l,c=-1;for(n=e.value?n/e.value:0;++c&lt;o;)t(s=a[c],r,l=s.value*n,i),r+=l}}function e(t){var r=t.children,n=0;if(r&amp;&amp;(i=r.length))for(var i,a=-1;++a&lt;i;)n=Math.max(n,e(r[a]));return 1+n}function r(r,a){var o=n.call(this,r,a);return t(o[0],0,i[0],i[1]/e(o[0])),o}var n=Zi.layout.hierarchy(),i=[1,1];return r.size=function(t){return arguments.length?(i=t,r):i},un(r,n)},Zi.layout.pie=function(){function t(o){var s,l=o.length,c=o.map(function(r,n){return+e.call(t,r,n)}),u=+(&quot;function&quot;==typeof n?n.apply(this,arguments):n),f=(&quot;function&quot;==typeof i?i.apply(this,arguments):i)-u,h=Math.min(Math.abs(f)/l,+(&quot;function&quot;==typeof a?a.apply(this,arguments):a)),d=h*(f&lt;0?-1:1),p=Zi.sum(c),m=p?(f-l*d)/p:0,g=Zi.range(l),v=[];return null!=r&amp;&amp;g.sort(r===as?function(t,e){return c[e]-c[t]}:function(t,e){return r(o[t],o[e])}),g.forEach(function(t){v[t]={data:o[t],value:s=c[t],startAngle:u,endAngle:u+=s*m+d,padAngle:h}}),v}var e=Number,r=as,n=0,i=Aa,a=0;return t.value=function(r){return arguments.length?(e=r,t):e},t.sort=function(e){return arguments.length?(r=e,t):r},t.startAngle=function(e){return arguments.length?(n=e,t):n},t.endAngle=function(e){return arguments.length?(i=e,t):i},t.padAngle=function(e){return arguments.length?(a=e,t):a},t};var as={};Zi.layout.stack=function(){function t(s,l){if(!(h=s.length))return s;var c=s.map(function(r,n){return e.call(t,r,n)}),u=c.map(function(e){return e.map(function(e,r){return[a.call(t,e,r),o.call(t,e,r)]})}),f=r.call(t,u,l);c=Zi.permute(c,f),u=Zi.permute(u,f);var h,d,p,m,g=n.call(t,u,l),v=c[0].length;for(p=0;p&lt;v;++p)for(i.call(t,c[0][p],m=g[p],u[0][p][1]),d=1;d&lt;h;++d)i.call(t,c[d][p],m+=u[d-1][p][1],u[d][p][1]);return s}var e=y,r=bn,n=_n,i=xn,a=vn,o=yn;return t.values=function(r){return arguments.length?(e=r,t):e},t.order=function(e){return arguments.length?(r=&quot;function&quot;==typeof e?e:os.get(e)||bn,t):r},t.offset=function(e){return arguments.length?(n=&quot;function&quot;==typeof e?e:ss.get(e)||_n,t):n},t.x=function(e){return arguments.length?(a=e,t):a},t.y=function(e){return arguments.length?(o=e,t):o},t.out=function(e){return arguments.length?(i=e,t):i},t};var os=Zi.map({&quot;inside-out&quot;:function(t){var e,r,n=t.length,i=t.map(wn),a=t.map(Mn),o=Zi.range(n).sort(function(t,e){return i[t]-i[e]}),s=0,l=0,c=[],u=[];for(e=0;e&lt;n;++e)r=o[e],s&lt;l?(s+=a[r],c.push(r)):(l+=a[r],u.push(r));return u.reverse().concat(c)},reverse:function(t){return Zi.range(t.length).reverse()},default:bn}),ss=Zi.map({silhouette:function(t){var e,r,n,i=t.length,a=t[0].length,o=[],s=0,l=[];for(r=0;r&lt;a;++r){for(e=0,n=0;e&lt;i;e++)n+=t[e][r][1];n&gt;s&amp;&amp;(s=n),o.push(n)}for(r=0;r&lt;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,d=[];for(d[0]=l=c=0,r=1;r&lt;h;++r){for(e=0,i=0;e&lt;u;++e)i+=t[e][r][1];for(e=0,a=0,s=f[r][0]-f[r-1][0];e&lt;u;++e){for(n=0,o=(t[e][r][1]-t[e][r-1][1])/(2*s);n&lt;e;++n)o+=(t[n][r][1]-t[n][r-1][1])/s;a+=o*t[e][r][1]}d[r]=l-=i?a/i*s:0,l&lt;c&amp;&amp;(c=l)}for(r=0;r&lt;h;++r)d[r]-=c;return d},expand:function(t){var e,r,n,i=t.length,a=t[0].length,o=1/i,s=[];for(r=0;r&lt;a;++r){for(e=0,n=0;e&lt;i;e++)n+=t[e][r][1];if(n)for(e=0;e&lt;i;e++)t[e][r][1]/=n;else for(e=0;e&lt;i;e++)t[e][r][1]=o}for(r=0;r&lt;a;++r)s[r]=0;return s},zero:_n});Zi.layout.histogram=function(){function t(t,a){for(var o,s,l=[],c=t.map(r,this),u=n.call(this,c,a),f=i.call(this,u,c,a),h=(a=-1,c.length),d=f.length-1,p=e?1:1/h;++a&lt;d;)(o=l[a]=[]).dx=f[a+1]-(o.x=f[a]),o.y=0;if(d&gt;0)for(a=-1;++a&lt;h;)(s=c[a])&gt;=u[0]&amp;&amp;s&lt;=u[1]&amp;&amp;((o=l[Zi.bisect(f,s,1,d)-1]).y+=p,o.push(t[a]));return l}var e=!0,r=Number,n=Sn,i=An;return t.value=function(e){return arguments.length?(r=e,t):r},t.range=function(e){return arguments.length?(n=_t(e),t):n},t.bins=function(e){return arguments.length?(i=&quot;number&quot;==typeof e?function(t){return Tn(t,e)}:_t(e),t):i},t.frequency=function(r){return arguments.length?(e=!!r,t):e},t},Zi.layout.pack=function(){function t(t,a){var o=r.call(this,t,a),s=o[0],l=i[0],c=i[1],u=null==e?Math.sqrt:&quot;function&quot;==typeof e?e:function(){return e};if(s.x=s.y=0,hn(s,function(t){t.r=+u(t.value)}),hn(s,Dn),n){var f=n*(e?1:Math.max(2*s.r/l,2*s.r/c))/2;hn(s,function(t){t.r+=f}),hn(s,Dn),hn(s,function(t){t.r-=f})}return On(s,l/2,c/2,e?1:1/Math.max(2*s.r/l,2*s.r/c)),o}var e,r=Zi.layout.hierarchy().sort(En),n=0,i=[1,1];return t.size=function(e){return arguments.length?(i=e,t):i},t.radius=function(r){return arguments.length?(e=null==r||&quot;function&quot;==typeof r?r:+r,t):e},t.padding=function(e){return arguments.length?(n=+e,t):n},un(t,r)},Zi.layout.tree=function(){function t(t,l){var c=i.call(this,t,l),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&lt;s;++o)n.push((a[o]=i={_:a[o],parent:e,children:(i=a[o].children)&amp;&amp;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(hn(f,e),f.parent.m=-f.z,fn(f,r),s)fn(u,n);else{var h=u,d=u,p=u;fn(u,function(t){t.x&lt;h.x&amp;&amp;(h=t),t.x&gt;d.x&amp;&amp;(d=t),t.depth&gt;p.depth&amp;&amp;(p=t)});var m=a(h,d)/2-h.x,g=o[0]/(d.x+a(d,h)/2+m),v=o[1]/(p.depth||1);fn(u,function(t){t.x=(t.x+m)*g,t.y=t.depth*v})}return c}function e(t){var e=t.children,r=t.parent.children,n=t.i?r[t.i-1]:null;if(e.length){!function(t){for(var e,r=0,n=0,i=t.children,a=i.length;--a&gt;=0;)(e=i[a]).z+=r,e.m+=r,r+=e.s+(n+=e.c)}(t);var i=(e[0].z+e[e.length-1].z)/2;n?(t.z=n.z+a(t._,n._),t.m=t.z-i):t.z=i}else n&amp;&amp;(t.z=n.z+a(t._,n._));t.parent.A=function(t,e,r){if(e){for(var n,i=t,o=t,s=e,l=i.parent.children[0],c=i.m,u=o.m,f=s.m,h=l.m;s=jn(s),i=Nn(i),s&amp;&amp;i;)l=Nn(l),(o=jn(o)).a=t,(n=s.z+f-i.z-c+a(s._,i._))&gt;0&amp;&amp;(!function(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(t,e,r){return t.a.parent===e.parent?t.a:r}(s,t,r),t,n),c+=n,u+=n),f+=s.m,c+=i.m,h+=l.m,u+=o.m;s&amp;&amp;!jn(o)&amp;&amp;(o.t=s,o.m+=f-u),i&amp;&amp;!Nn(l)&amp;&amp;(l.t=i,l.m+=c-h,r=t)}return r}(t,n,t.parent.A||r[0])}function r(t){t._.x=t.z+t.parent.m,t.m+=t.parent.m}function n(t){t.x*=o[0],t.y=t.depth*o[1]}var i=Zi.layout.hierarchy().sort(null).value(null),a=Rn,o=[1,1],s=null;return t.separation=function(e){return arguments.length?(a=e,t):a},t.size=function(e){return arguments.length?(s=null==(o=e)?n:null,t):s?null:o},t.nodeSize=function(e){return arguments.length?(s=null==(o=e)?null:n,t):s?o:null},un(t,i)},Zi.layout.cluster=function(){function t(t,a){var o,s=e.call(this,t,a),l=s[0],c=0;hn(l,function(t){var e=t.children;e&amp;&amp;e.length?(t.x=function(t){return t.reduce(function(t,e){return t+e.x},0)/t.length}(e),t.y=function(t){return 1+Zi.max(t,function(t){return t.y})}(e)):(t.x=o?c+=r(t,o):0,t.y=0,o=t)});var u=Bn(l),f=Un(l),h=u.x-r(u,f)/2,d=f.x+r(f,u)/2;return hn(l,i?function(t){t.x=(t.x-l.x)*n[0],t.y=(l.y-t.y)*n[1]}:function(t){t.x=(t.x-h)/(d-h)*n[0],t.y=(1-(l.y?t.y/l.y:1))*n[1]}),s}var e=Zi.layout.hierarchy().sort(null).value(null),r=Rn,n=[1,1],i=!1;return t.separation=function(e){return arguments.length?(r=e,t):r},t.size=function(e){return arguments.length?(i=null==(n=e),t):i?null:n},t.nodeSize=function(e){return arguments.length?(i=null!=(n=e),t):i?n:null},un(t,e)},Zi.layout.treemap=function(){function t(t,e){for(var r,n,i=-1,a=t.length;++i&lt;a;)n=(r=t[i]).value*(e&lt;0?0:e),r.area=isNaN(n)||n&lt;=0?0:n}function e(r){var i=r.children;if(i&amp;&amp;i.length){var a,o,s,l=u(r),c=[],f=i.slice(),p=1/0,m=&quot;slice&quot;===h?l.dx:&quot;dice&quot;===h?l.dy:&quot;slice-dice&quot;===h?1&amp;r.depth?l.dy:l.dx:Math.min(l.dx,l.dy);for(t(f,l.dx*l.dy/r.value),c.area=0;(s=f.length)&gt;0;)c.push(a=f[s-1]),c.area+=a.area,&quot;squarify&quot;!==h||(o=function(t,e){var r,n=t.area,i=0,a=1/0,o=-1,s=t.length;for(;++o&lt;s;)(r=t[o].area)&amp;&amp;(r&lt;a&amp;&amp;(a=r),r&gt;i&amp;&amp;(i=r));return n*=n,e*=e,n?Math.max(e*i*d/n,n/(e*a*d)):1/0}(c,m))&lt;=p?(f.pop(),p=o):(c.area-=c.pop().area,n(c,m,l,!1),m=Math.min(l.dx,l.dy),c.length=c.area=0,p=1/0);c.length&amp;&amp;(n(c,m,l,!0),c.length=c.area=0),i.forEach(e)}}function r(e){var i=e.children;if(i&amp;&amp;i.length){var a,o=u(e),s=i.slice(),l=[];for(t(s,o.dx*o.dy/e.value),l.area=0;a=s.pop();)l.push(a),l.area+=a.area,null!=a.z&amp;&amp;(n(l,a.z?o.dx:o.dy,o,!s.length),l.length=l.area=0);i.forEach(r)}}function n(t,e,r,n){var i,a=-1,o=t.length,l=r.x,c=r.y,u=e?s(t.area/e):0;if(e==r.dx){for((n||u&gt;r.dy)&amp;&amp;(u=r.dy);++a&lt;o;)(i=t[a]).x=l,i.y=c,i.dy=u,l+=i.dx=Math.min(r.x+r.dx-l,u?s(i.area/u):0);i.z=!0,i.dx+=r.x+r.dx-l,r.y+=u,r.dy-=u}else{for((n||u&gt;r.dx)&amp;&amp;(u=r.dx);++a&lt;o;)(i=t[a]).x=l,i.y=c,i.dx=u,c+=i.dy=Math.min(r.y+r.dy-c,u?s(i.area/u):0);i.z=!1,i.dy+=r.y+r.dy-c,r.x+=u,r.dx-=u}}function i(n){var i=a||o(n),s=i[0];return s.x=s.y=0,s.value?(s.dx=l[0],s.dy=l[1]):s.dx=s.dy=0,a&amp;&amp;o.revalue(s),t([s],s.dx*s.dy/s.value),(a?r:e)(s),f&amp;&amp;(a=i),i}var a,o=Zi.layout.hierarchy(),s=Math.round,l=[1,1],c=null,u=Vn,f=!1,h=&quot;squarify&quot;,d=.5*(1+Math.sqrt(5));return i.size=function(t){return arguments.length?(l=t,i):l},i.padding=function(t){function e(e){return qn(e,t)}if(!arguments.length)return c;var r;return u=null==(c=t)?Vn:&quot;function&quot;==(r=typeof t)?function(e){var r=t.call(i,e,e.depth);return null==r?Vn(e):qn(e,&quot;number&quot;==typeof r?[r,r,r,r]:r)}:&quot;number&quot;===r?(t=[t,t,t,t],e):e,i},i.round=function(t){return arguments.length?(s=t?Math.round:Number,i):s!=Number},i.sticky=function(t){return arguments.length?(f=t,a=null,i):f},i.ratio=function(t){return arguments.length?(d=t,i):d},i.mode=function(t){return arguments.length?(h=t+&quot;&quot;,i):h},un(i,o)},Zi.random={normal:function(t,e){var r=arguments.length;return r&lt;2&amp;&amp;(e=1),r&lt;1&amp;&amp;(t=0),function(){var r,n,i;do{i=(r=2*Math.random()-1)*r+(n=2*Math.random()-1)*n}while(!i||i&gt;1);return t+e*r*Math.sqrt(-2*Math.log(i)/i)}},logNormal:function(){var t=Zi.random.normal.apply(Zi,arguments);return function(){return Math.exp(t())}},bates:function(t){var e=Zi.random.irwinHall(t);return function(){return e()/t}},irwinHall:function(t){return function(){for(var e=0,r=0;r&lt;t;r++)e+=Math.random();return e}}},Zi.scale={};var ls={floor:y,ceil:y};Zi.scale.linear=function(){return Xn([0,1],[0,1],Br,!1)};var cs={s:1,g:1,p:1,r:1,e:1};Zi.scale.log=function(){return ei(Zi.scale.linear().domain([0,1]),10,!0,[1,10])};var us=Zi.format(&quot;.0e&quot;),fs={floor:function(t){return-Math.ceil(-t)},ceil:function(t){return-Math.floor(-t)}};Zi.scale.pow=function(){return ri(Zi.scale.linear(),1,[0,1])},Zi.scale.sqrt=function(){return Zi.scale.pow().exponent(.5)},Zi.scale.ordinal=function(){return ii([],{t:&quot;range&quot;,a:[[]]})},Zi.scale.category10=function(){return Zi.scale.ordinal().range(hs)},Zi.scale.category20=function(){return Zi.scale.ordinal().range(ds)},Zi.scale.category20b=function(){return Zi.scale.ordinal().range(ps)},Zi.scale.category20c=function(){return Zi.scale.ordinal().range(ms)};var hs=[2062260,16744206,2924588,14034728,9725885,9197131,14907330,8355711,12369186,1556175].map(pt),ds=[2062260,11454440,16744206,16759672,2924588,10018698,14034728,16750742,9725885,12955861,9197131,12885140,14907330,16234194,8355711,13092807,12369186,14408589,1556175,10410725].map(pt),ps=[3750777,5395619,7040719,10264286,6519097,9216594,11915115,13556636,9202993,12426809,15186514,15190932,8666169,11356490,14049643,15177372,8077683,10834324,13528509,14589654].map(pt),ms=[3244733,7057110,10406625,13032431,15095053,16616764,16625259,16634018,3253076,7652470,10607003,13101504,7695281,10394312,12369372,14342891,6513507,9868950,12434877,14277081].map(pt);Zi.scale.quantile=function(){return ai([],[])},Zi.scale.quantize=function(){return oi(0,1,[0,1])},Zi.scale.threshold=function(){return si([.5],[0,1])},Zi.scale.identity=function(){return li([0,1])},Zi.svg={},Zi.svg.arc=function(){function t(){var t=Math.max(0,+r.apply(this,arguments)),c=Math.max(0,+n.apply(this,arguments)),u=o.apply(this,arguments)-Sa,f=s.apply(this,arguments)-Sa,h=Math.abs(f-u),d=u&gt;f?0:1;if(c&lt;t&amp;&amp;(p=c,c=t,t=p),h&gt;=Ta)return e(c,d)+(t?e(t,1-d):&quot;&quot;)+&quot;Z&quot;;var p,m,g,v,y,x,b,_,w,M,k,A,T=0,S=0,E=[];if((v=(+l.apply(this,arguments)||0)/2)&amp;&amp;(g=a===gs?Math.sqrt(t*t+c*c):+a.apply(this,arguments),d||(S*=-1),c&amp;&amp;(S=Q(g/c*Math.sin(v))),t&amp;&amp;(T=Q(g/t*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)&lt;=ka?0:1;if(S&amp;&amp;mi(y,x,b,_)===d^L){var C=(u+f)/2;y=c*Math.cos(C),x=c*Math.sin(C),b=_=null}}else y=x=0;if(t){w=t*Math.cos(f-T),M=t*Math.sin(f-T),k=t*Math.cos(u+T),A=t*Math.sin(u+T);var z=Math.abs(u-f+2*T)&lt;=ka?0:1;if(T&amp;&amp;mi(w,M,k,A)===1-d^z){var D=(u+f)/2;w=t*Math.cos(D),M=t*Math.sin(D),k=A=null}}else w=M=0;if(h&gt;wa&amp;&amp;(p=Math.min(Math.abs(c-t)/2,+i.apply(this,arguments)))&gt;.001){m=t&lt;c^d?0:1;var I=p,P=p;if(h&lt;ka){var O=null==k?[w,M]:null==b?[y,x]:ur([y,x],[k,A],[b,_],[w,M]),F=y-O[0],R=x-O[1],N=b-O[0],j=_-O[1],B=1/Math.sin(Math.acos((F*N+R*j)/(Math.sqrt(F*F+R*R)*Math.sqrt(N*N+j*j)))/2),U=Math.sqrt(O[0]*O[0]+O[1]*O[1]);P=Math.min(p,(t-U)/(B-1)),I=Math.min(p,(c-U)/(B+1))}if(null!=b){var V=gi(null==k?[w,M]:[k,A],[y,x],c,I,d),q=gi([b,_],[w,M],c,I,d);p===I?E.push(&quot;M&quot;,V[0],&quot;A&quot;,I,&quot;,&quot;,I,&quot; 0 0,&quot;,m,&quot; &quot;,V[1],&quot;A&quot;,c,&quot;,&quot;,c,&quot; 0 &quot;,1-d^mi(V[1][0],V[1][1],q[1][0],q[1][1]),&quot;,&quot;,d,&quot; &quot;,q[1],&quot;A&quot;,I,&quot;,&quot;,I,&quot; 0 0,&quot;,m,&quot; &quot;,q[0]):E.push(&quot;M&quot;,V[0],&quot;A&quot;,I,&quot;,&quot;,I,&quot; 0 1,&quot;,m,&quot; &quot;,q[0])}else E.push(&quot;M&quot;,y,&quot;,&quot;,x);if(null!=k){var H=gi([y,x],[k,A],t,-P,d),G=gi([w,M],null==b?[y,x]:[b,_],t,-P,d);p===P?E.push(&quot;L&quot;,G[0],&quot;A&quot;,P,&quot;,&quot;,P,&quot; 0 0,&quot;,m,&quot; &quot;,G[1],&quot;A&quot;,t,&quot;,&quot;,t,&quot; 0 &quot;,d^mi(G[1][0],G[1][1],H[1][0],H[1][1]),&quot;,&quot;,1-d,&quot; &quot;,H[1],&quot;A&quot;,P,&quot;,&quot;,P,&quot; 0 0,&quot;,m,&quot; &quot;,H[0]):E.push(&quot;L&quot;,G[0],&quot;A&quot;,P,&quot;,&quot;,P,&quot; 0 0,&quot;,m,&quot; &quot;,H[0])}else E.push(&quot;L&quot;,w,&quot;,&quot;,M)}else E.push(&quot;M&quot;,y,&quot;,&quot;,x),null!=b&amp;&amp;E.push(&quot;A&quot;,c,&quot;,&quot;,c,&quot; 0 &quot;,L,&quot;,&quot;,d,&quot; &quot;,b,&quot;,&quot;,_),E.push(&quot;L&quot;,w,&quot;,&quot;,M),null!=k&amp;&amp;E.push(&quot;A&quot;,t,&quot;,&quot;,t,&quot; 0 &quot;,z,&quot;,&quot;,1-d,&quot; &quot;,k,&quot;,&quot;,A);return E.push(&quot;Z&quot;),E.join(&quot;&quot;)}function e(t,e){return&quot;M0,&quot;+t+&quot;A&quot;+t+&quot;,&quot;+t+&quot; 0 1,&quot;+e+&quot; 0,&quot;+-t+&quot;A&quot;+t+&quot;,&quot;+t+&quot; 0 1,&quot;+e+&quot; 0,&quot;+t}var r=ui,n=fi,i=ci,a=gs,o=hi,s=di,l=pi;return t.innerRadius=function(e){return arguments.length?(r=_t(e),t):r},t.outerRadius=function(e){return arguments.length?(n=_t(e),t):n},t.cornerRadius=function(e){return arguments.length?(i=_t(e),t):i},t.padRadius=function(e){return arguments.length?(a=e==gs?gs:_t(e),t):a},t.startAngle=function(e){return arguments.length?(o=_t(e),t):o},t.endAngle=function(e){return arguments.length?(s=_t(e),t):s},t.padAngle=function(e){return arguments.length?(l=_t(e),t):l},t.centroid=function(){var t=(+r.apply(this,arguments)+ +n.apply(this,arguments))/2,e=(+o.apply(this,arguments)+ +s.apply(this,arguments))/2-Sa;return[Math.cos(e)*t,Math.sin(e)*t]},t};var gs=&quot;auto&quot;;Zi.svg.line=function(){return vi(y)};var vs=Zi.map({linear:yi,&quot;linear-closed&quot;:xi,step:function(t){for(var e=0,r=t.length,n=t[0],i=[n[0],&quot;,&quot;,n[1]];++e&lt;r;)i.push(&quot;H&quot;,(n[0]+(n=t[e])[0])/2,&quot;V&quot;,n[1]);return r&gt;1&amp;&amp;i.push(&quot;H&quot;,n[0]),i.join(&quot;&quot;)},&quot;step-before&quot;:bi,&quot;step-after&quot;:_i,basis:ki,&quot;basis-open&quot;:function(t){if(t.length&lt;4)return yi(t);for(var e,r=[],n=-1,i=t.length,a=[0],o=[0];++n&lt;3;)e=t[n],a.push(e[0]),o.push(e[1]);for(r.push(Ai(bs,a)+&quot;,&quot;+Ai(bs,o)),--n;++n&lt;i;)e=t[n],a.shift(),a.push(e[0]),o.shift(),o.push(e[1]),Ti(r,a,o);return r.join(&quot;&quot;)},&quot;basis-closed&quot;:function(t){for(var e,r,n=-1,i=t.length,a=i+4,o=[],s=[];++n&lt;4;)r=t[n%i],o.push(r[0]),s.push(r[1]);for(e=[Ai(bs,o),&quot;,&quot;,Ai(bs,s)],--n;++n&lt;a;)r=t[n%i],o.shift(),o.push(r[0]),s.shift(),s.push(r[1]),Ti(e,o,s);return e.join(&quot;&quot;)},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&lt;=r;)i=c/r,(n=t[c])[0]=e*n[0]+(1-e)*(a+i*s),n[1]=e*n[1]+(1-e)*(o+i*l);return ki(t)},cardinal:function(t,e){return t.length&lt;3?yi(t):t[0]+wi(t,Mi(t,e))},&quot;cardinal-open&quot;:function(t,e){return t.length&lt;4?yi(t):t[1]+wi(t.slice(1,-1),Mi(t,e))},&quot;cardinal-closed&quot;:function(t,e){return t.length&lt;3?xi(t):t[0]+wi((t.push(t[0]),t),Mi([t[t.length-2]].concat(t,[t[1]]),e))},monotone:function(t){return t.length&lt;3?yi(t):t[0]+wi(t,Ei(t))}});vs.forEach(function(t,e){e.key=t,e.closed=/-closed$/.test(t)});var ys=[0,2/3,1/3,0],xs=[0,1/3,2/3,0],bs=[0,1/6,2/3,1/6];Zi.svg.line.radial=function(){var t=vi(Li);return t.radius=t.x,delete t.x,t.angle=t.y,delete t.y,t},bi.reverse=_i,_i.reverse=bi,Zi.svg.area=function(){return Ci(y)},Zi.svg.area.radial=function(){var t=Ci(Li);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},Zi.svg.chord=function(){function t(t,o){var s=e(this,i,t,o),l=e(this,a,t,o);return&quot;M&quot;+s.p0+r(s.r,s.p1,s.a1-s.a0)+(function(t,e){return t.a0==e.a0&amp;&amp;t.a1==e.a1}(s,l)?n(s.r,s.p1,s.r,s.p0):n(s.r,s.p1,l.r,l.p0)+r(l.r,l.p1,l.a1-l.a0)+n(l.r,l.p1,s.r,s.p0))+&quot;Z&quot;}function e(t,e,r,n){var i=e.call(t,r,n),a=o.call(t,i,n),c=s.call(t,i,n)-Sa,u=l.call(t,i,n)-Sa;return{r:a,a0:c,a1:u,p0:[a*Math.cos(c),a*Math.sin(c)],p1:[a*Math.cos(u),a*Math.sin(u)]}}function r(t,e,r){return&quot;A&quot;+t+&quot;,&quot;+t+&quot; 0 &quot;+ +(r&gt;ka)+&quot;,1 &quot;+e}function n(t,e,r,n){return&quot;Q 0,0 &quot;+n}var i=Ke,a=Qe,o=zi,s=hi,l=di;return t.radius=function(e){return arguments.length?(o=_t(e),t):o},t.source=function(e){return arguments.length?(i=_t(e),t):i},t.target=function(e){return arguments.length?(a=_t(e),t):a},t.startAngle=function(e){return arguments.length?(s=_t(e),t):s},t.endAngle=function(e){return arguments.length?(l=_t(e),t):l},t},Zi.svg.diagonal=function(){function t(t,i){var a=e.call(this,t,i),o=r.call(this,t,i),s=(a.y+o.y)/2,l=[a,{x:a.x,y:s},{x:o.x,y:s},o];return&quot;M&quot;+(l=l.map(n))[0]+&quot;C&quot;+l[1]+&quot; &quot;+l[2]+&quot; &quot;+l[3]}var e=Ke,r=Qe,n=Di;return t.source=function(r){return arguments.length?(e=_t(r),t):e},t.target=function(e){return arguments.length?(r=_t(e),t):r},t.projection=function(e){return arguments.length?(n=e,t):n},t},Zi.svg.diagonal.radial=function(){var t=Zi.svg.diagonal(),e=Di,r=t.projection;return t.projection=function(t){return arguments.length?r(function(t){return function(){var e=t.apply(this,arguments),r=e[0],n=e[1]-Sa;return[r*Math.cos(n),r*Math.sin(n)]}}(e=t)):e},t},Zi.svg.symbol=function(){function t(t,n){return(_s.get(e.call(this,t,n))||Oi)(r.call(this,t,n))}var e=Pi,r=Ii;return t.type=function(r){return arguments.length?(e=_t(r),t):e},t.size=function(e){return arguments.length?(r=_t(e),t):r},t};var _s=Zi.map({circle:Oi,cross:function(t){var e=Math.sqrt(t/5)/2;return&quot;M&quot;+-3*e+&quot;,&quot;+-e+&quot;H&quot;+-e+&quot;V&quot;+-3*e+&quot;H&quot;+e+&quot;V&quot;+-e+&quot;H&quot;+3*e+&quot;V&quot;+e+&quot;H&quot;+e+&quot;V&quot;+3*e+&quot;H&quot;+-e+&quot;V&quot;+e+&quot;H&quot;+-3*e+&quot;Z&quot;},diamond:function(t){var e=Math.sqrt(t/(2*Ms)),r=e*Ms;return&quot;M0,&quot;+-e+&quot;L&quot;+r+&quot;,0 0,&quot;+e+&quot; &quot;+-r+&quot;,0Z&quot;},square:function(t){var e=Math.sqrt(t)/2;return&quot;M&quot;+-e+&quot;,&quot;+-e+&quot;L&quot;+e+&quot;,&quot;+-e+&quot; &quot;+e+&quot;,&quot;+e+&quot; &quot;+-e+&quot;,&quot;+e+&quot;Z&quot;},&quot;triangle-down&quot;:function(t){var e=Math.sqrt(t/ws),r=e*ws/2;return&quot;M0,&quot;+r+&quot;L&quot;+e+&quot;,&quot;+-r+&quot; &quot;+-e+&quot;,&quot;+-r+&quot;Z&quot;},&quot;triangle-up&quot;:function(t){var e=Math.sqrt(t/ws),r=e*ws/2;return&quot;M0,&quot;+-r+&quot;L&quot;+e+&quot;,&quot;+r+&quot; &quot;+-e+&quot;,&quot;+r+&quot;Z&quot;}});Zi.svg.symbolTypes=_s.keys();var ws=Math.sqrt(3),Ms=Math.tan(30*Ea);pa.transition=function(t){for(var e,r,n=ks||++Es,i=Bi(t),a=[],o=As||{time:Date.now(),ease:function(t){if(t&lt;=0)return 0;if(t&gt;=1)return 1;var e=t*t,r=e*t;return 4*(t&lt;.5?r:3*(t-e)+r-.75)},delay:0,duration:250},s=-1,l=this.length;++s&lt;l;){a.push(e=[]);for(var c=this[s],u=-1,f=c.length;++u&lt;f;)(r=c[u])&amp;&amp;Ui(r,u,i,n,o),e.push(r)}return Ri(a,i,n)},pa.interrupt=function(t){return this.each(null==t?Ts:Fi(Bi(t)))};var ks,As,Ts=Fi(Bi()),Ss=[],Es=0;Ss.call=pa.call,Ss.empty=pa.empty,Ss.node=pa.node,Ss.size=pa.size,Zi.transition=function(t,e){return t&amp;&amp;t.transition?ks?t.transition(e):t:Zi.selection().transition(t)},Zi.transition.prototype=Ss,Ss.select=function(t){var e,r,n,i=this.id,a=this.namespace,o=[];t=S(t);for(var s=-1,l=this.length;++s&lt;l;){o.push(e=[]);for(var c=this[s],u=-1,f=c.length;++u&lt;f;)(n=c[u])&amp;&amp;(r=t.call(n,n.__data__,u,s))?(&quot;__data__&quot;in n&amp;&amp;(r.__data__=n.__data__),Ui(r,u,a,i,n[a][i]),e.push(r)):e.push(null)}return Ri(o,a,i)},Ss.selectAll=function(t){var e,r,n,i,a,o=this.id,s=this.namespace,l=[];t=E(t);for(var c=-1,u=this.length;++c&lt;u;)for(var f=this[c],h=-1,d=f.length;++h&lt;d;)if(n=f[h]){a=n[s][o],r=t.call(n,n.__data__,h,c),l.push(e=[]);for(var p=-1,m=r.length;++p&lt;m;)(i=r[p])&amp;&amp;Ui(i,p,s,o,a),e.push(i)}return Ri(l,s,o)},Ss.filter=function(t){var e,r,n=[];&quot;function&quot;!=typeof t&amp;&amp;(t=B(t));for(var i=0,a=this.length;i&lt;a;i++){n.push(e=[]);for(var o,s=0,l=(o=this[i]).length;s&lt;l;s++)(r=o[s])&amp;&amp;t.call(r,r.__data__,s,i)&amp;&amp;e.push(r)}return Ri(n,this.namespace,this.id)},Ss.tween=function(t,e){var r=this.id,n=this.namespace;return arguments.length&lt;2?this.node()[n][r].tween.get(t):U(this,null==e?function(e){e[n][r].tween.remove(t)}:function(i){i[n][r].tween.set(t,e)})},Ss.attr=function(t,e){if(arguments.length&lt;2){for(e in t)this.attr(e,t[e]);return this}var r=&quot;transform&quot;==t?en:Br,n=Zi.ns.qualify(t);return Ni(this,&quot;attr.&quot;+t,e,n.local?function(t){return null==t?function(){this.removeAttributeNS(n.space,n.local)}:(t+=&quot;&quot;,function(){var e,i=this.getAttributeNS(n.space,n.local);return i!==t&amp;&amp;(e=r(i,t),function(t){this.setAttributeNS(n.space,n.local,e(t))})})}:function(t){return null==t?function(){this.removeAttribute(n)}:(t+=&quot;&quot;,function(){var e,i=this.getAttribute(n);return i!==t&amp;&amp;(e=r(i,t),function(t){this.setAttribute(n,e(t))})})})},Ss.attrTween=function(t,e){var r=Zi.ns.qualify(t);return this.tween(&quot;attr.&quot;+t,r.local?function(t,n){var i=e.call(this,t,n,this.getAttributeNS(r.space,r.local));return i&amp;&amp;function(t){this.setAttributeNS(r.space,r.local,i(t))}}:function(t,n){var i=e.call(this,t,n,this.getAttribute(r));return i&amp;&amp;function(t){this.setAttribute(r,i(t))}})},Ss.style=function(t,e,n){var i=arguments.length;if(i&lt;3){if(&quot;string&quot;!=typeof t){i&lt;2&amp;&amp;(e=&quot;&quot;);for(n in t)this.style(n,t[n],e);return this}n=&quot;&quot;}return Ni(this,&quot;style.&quot;+t,e,function(e){return null==e?function(){this.style.removeProperty(t)}:(e+=&quot;&quot;,function(){var i,a=r(this).getComputedStyle(this,null).getPropertyValue(t);return a!==e&amp;&amp;(i=Br(a,e),function(e){this.style.setProperty(t,i(e),n)})})})},Ss.styleTween=function(t,e,n){return arguments.length&lt;3&amp;&amp;(n=&quot;&quot;),this.tween(&quot;style.&quot;+t,function(i,a){var o=e.call(this,i,a,r(this).getComputedStyle(this,null).getPropertyValue(t));return o&amp;&amp;function(e){this.style.setProperty(t,o(e),n)}})},Ss.text=function(t){return Ni(this,&quot;text&quot;,t,ji)},Ss.remove=function(){var t=this.namespace;return this.each(&quot;end.transition&quot;,function(){var e;this[t].count&lt;2&amp;&amp;(e=this.parentNode)&amp;&amp;e.removeChild(this)})},Ss.ease=function(t){var e=this.id,r=this.namespace;return arguments.length&lt;1?this.node()[r][e].ease:(&quot;function&quot;!=typeof t&amp;&amp;(t=Zi.ease.apply(Zi,arguments)),U(this,function(n){n[r][e].ease=t}))},Ss.delay=function(t){var e=this.id,r=this.namespace;return arguments.length&lt;1?this.node()[r][e].delay:U(this,&quot;function&quot;==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}))},Ss.duration=function(t){var e=this.id,r=this.namespace;return arguments.length&lt;1?this.node()[r][e].duration:U(this,&quot;function&quot;==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}))},Ss.each=function(t,e){var r=this.id,n=this.namespace;if(arguments.length&lt;2){var i=As,a=ks;try{ks=r,U(this,function(e,i,a){As=e[n][r],t.call(e,e.__data__,i,a)})}finally{As=i,ks=a}}else U(this,function(i){var a=i[n][r];(a.event||(a.event=Zi.dispatch(&quot;start&quot;,&quot;end&quot;,&quot;interrupt&quot;))).on(t,e)});return this},Ss.transition=function(){for(var t,e,r,n=this.id,i=++Es,a=this.namespace,o=[],s=0,l=this.length;s&lt;l;s++){o.push(t=[]);for(var c,u=0,f=(c=this[s]).length;u&lt;f;u++)(e=c[u])&amp;&amp;Ui(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 Ri(o,a,i)},Zi.svg.axis=function(){function t(t){t.each(function(){var t,c=Zi.select(this),u=this.__chart__||r,f=this.__chart__=r.copy(),h=null==l?f.ticks?f.ticks.apply(f,s):f.domain():l,d=null==e?f.tickFormat?f.tickFormat.apply(f,s):y:e,p=c.selectAll(&quot;.tick&quot;).data(h,f),m=p.enter().insert(&quot;g&quot;,&quot;.domain&quot;).attr(&quot;class&quot;,&quot;tick&quot;).style(&quot;opacity&quot;,wa),g=Zi.transition(p.exit()).style(&quot;opacity&quot;,wa).remove(),v=Zi.transition(p.order()).style(&quot;opacity&quot;,1),x=Math.max(i,0)+o,b=Gn(f),_=c.selectAll(&quot;.domain&quot;).data([0]),w=(_.enter().append(&quot;path&quot;).attr(&quot;class&quot;,&quot;domain&quot;),Zi.transition(_));m.append(&quot;line&quot;),m.append(&quot;text&quot;);var M,k,A,T,S=m.select(&quot;line&quot;),E=v.select(&quot;line&quot;),L=p.select(&quot;text&quot;).text(d),C=m.select(&quot;text&quot;),z=v.select(&quot;text&quot;),D=&quot;top&quot;===n||&quot;left&quot;===n?-1:1;if(&quot;bottom&quot;===n||&quot;top&quot;===n?(t=Vi,M=&quot;x&quot;,A=&quot;y&quot;,k=&quot;x2&quot;,T=&quot;y2&quot;,L.attr(&quot;dy&quot;,D&lt;0?&quot;0em&quot;:&quot;.71em&quot;).style(&quot;text-anchor&quot;,&quot;middle&quot;),w.attr(&quot;d&quot;,&quot;M&quot;+b[0]+&quot;,&quot;+D*a+&quot;V0H&quot;+b[1]+&quot;V&quot;+D*a)):(t=qi,M=&quot;y&quot;,A=&quot;x&quot;,k=&quot;y2&quot;,T=&quot;x2&quot;,L.attr(&quot;dy&quot;,&quot;.32em&quot;).style(&quot;text-anchor&quot;,D&lt;0?&quot;end&quot;:&quot;start&quot;),w.attr(&quot;d&quot;,&quot;M&quot;+D*a+&quot;,&quot;+b[0]+&quot;H0V&quot;+b[1]+&quot;H&quot;+D*a)),S.attr(T,D*i),C.attr(A,D*x),E.attr(k,0).attr(T,D*i),z.attr(M,0).attr(A,D*x),f.rangeBand){var I=f,P=I.rangeBand()/2;u=f=function(t){return I(t)+P}}else u.rangeBand?u=f:g.call(t,f,u);m.call(t,u,f),v.call(t,f,f)})}var e,r=Zi.scale.linear(),n=Ls,i=6,a=6,o=3,s=[10],l=null;return t.scale=function(e){return arguments.length?(r=e,t):r},t.orient=function(e){return arguments.length?(n=e in Cs?e+&quot;&quot;:Ls,t):n},t.ticks=function(){return arguments.length?(s=Ki(arguments),t):s},t.tickValues=function(e){return arguments.length?(l=e,t):l},t.tickFormat=function(r){return arguments.length?(e=r,t):e},t.tickSize=function(e){var r=arguments.length;return r?(i=+e,a=+arguments[r-1],t):i},t.innerTickSize=function(e){return arguments.length?(i=+e,t):i},t.outerTickSize=function(e){return arguments.length?(a=+e,t):a},t.tickPadding=function(e){return arguments.length?(o=+e,t):o},t.tickSubdivide=function(){return arguments.length&amp;&amp;t},t};var Ls=&quot;bottom&quot;,Cs={top:1,right:1,bottom:1,left:1};Zi.svg.brush=function(){function t(r){r.each(function(){var r=Zi.select(this).style(&quot;pointer-events&quot;,&quot;all&quot;).style(&quot;-webkit-tap-highlight-color&quot;,&quot;rgba(0,0,0,0)&quot;).on(&quot;mousedown.brush&quot;,a).on(&quot;touchstart.brush&quot;,a),o=r.selectAll(&quot;.background&quot;).data([0]);o.enter().append(&quot;rect&quot;).attr(&quot;class&quot;,&quot;background&quot;).style(&quot;visibility&quot;,&quot;hidden&quot;).style(&quot;cursor&quot;,&quot;crosshair&quot;),r.selectAll(&quot;.extent&quot;).data([0]).enter().append(&quot;rect&quot;).attr(&quot;class&quot;,&quot;extent&quot;).style(&quot;cursor&quot;,&quot;move&quot;);var s=r.selectAll(&quot;.resize&quot;).data(m,y);s.exit().remove(),s.enter().append(&quot;g&quot;).attr(&quot;class&quot;,function(t){return&quot;resize &quot;+t}).style(&quot;cursor&quot;,function(t){return zs[t]}).append(&quot;rect&quot;).attr(&quot;x&quot;,function(t){return/[ew]$/.test(t)?-3:null}).attr(&quot;y&quot;,function(t){return/^[ns]/.test(t)?-3:null}).attr(&quot;width&quot;,6).attr(&quot;height&quot;,6).style(&quot;visibility&quot;,&quot;hidden&quot;),s.style(&quot;display&quot;,t.empty()?&quot;none&quot;:null);var l,f=Zi.transition(r),h=Zi.transition(o);c&amp;&amp;(l=Gn(c),h.attr(&quot;x&quot;,l[0]).attr(&quot;width&quot;,l[1]-l[0]),n(f)),u&amp;&amp;(l=Gn(u),h.attr(&quot;y&quot;,l[0]).attr(&quot;height&quot;,l[1]-l[0]),i(f)),e(f)})}function e(t){t.selectAll(&quot;.resize&quot;).attr(&quot;transform&quot;,function(t){return&quot;translate(&quot;+f[+/e$/.test(t)]+&quot;,&quot;+h[+/^s/.test(t)]+&quot;)&quot;})}function n(t){t.select(&quot;.extent&quot;).attr(&quot;x&quot;,f[0]),t.selectAll(&quot;.extent,.n&gt;rect,.s&gt;rect&quot;).attr(&quot;width&quot;,f[1]-f[0])}function i(t){t.select(&quot;.extent&quot;).attr(&quot;y&quot;,h[0]),t.selectAll(&quot;.extent,.e&gt;rect,.w&gt;rect&quot;).attr(&quot;height&quot;,h[1]-h[0])}function a(){function a(){var t=Zi.mouse(x),r=!1;y&amp;&amp;(t[0]+=y[0],t[1]+=y[1]),S||(Zi.event.altKey?(v||(v=[(f[0]+f[1])/2,(h[0]+h[1])/2]),L[0]=f[+(t[0]&lt;v[0])],L[1]=h[+(t[1]&lt;v[1])]):v=null),A&amp;&amp;m(t,c,0)&amp;&amp;(n(w),r=!0),T&amp;&amp;m(t,u,1)&amp;&amp;(i(w),r=!0),r&amp;&amp;(e(w),_({type:&quot;brush&quot;,mode:S?&quot;move&quot;:&quot;resize&quot;}))}function m(t,e,r){var n,i,a=Gn(e),l=a[0],c=a[1],u=L[r],m=r?h:f,g=m[1]-m[0];if(S&amp;&amp;(l-=u,c-=g+u),n=(r?p:d)?Math.max(l,Math.min(c,t[r])):t[r],S?i=(n+=u)+g:(v&amp;&amp;(u=Math.max(l,Math.min(c,2*v[r]-n))),u&lt;n?(i=n,n=u):i=u),m[0]!=n||m[1]!=i)return r?s=null:o=null,m[0]=n,m[1]=i,!0}function g(){a(),w.style(&quot;pointer-events&quot;,&quot;all&quot;).selectAll(&quot;.resize&quot;).style(&quot;display&quot;,t.empty()?&quot;none&quot;:null),Zi.select(&quot;body&quot;).style(&quot;cursor&quot;,null),C.on(&quot;mousemove.brush&quot;,null).on(&quot;mouseup.brush&quot;,null).on(&quot;touchmove.brush&quot;,null).on(&quot;touchend.brush&quot;,null).on(&quot;keydown.brush&quot;,null).on(&quot;keyup.brush&quot;,null),E(),_({type:&quot;brushend&quot;})}var v,y,x=this,b=Zi.select(Zi.event.target),_=l.of(x,arguments),w=Zi.select(x),k=b.datum(),A=!/^(n|s)$/.test(k)&amp;&amp;c,T=!/^(e|w)$/.test(k)&amp;&amp;u,S=b.classed(&quot;extent&quot;),E=Y(x),L=Zi.mouse(x),C=Zi.select(r(x)).on(&quot;keydown.brush&quot;,function(){32==Zi.event.keyCode&amp;&amp;(S||(v=null,L[0]-=f[1],L[1]-=h[1],S=2),M())}).on(&quot;keyup.brush&quot;,function(){32==Zi.event.keyCode&amp;&amp;2==S&amp;&amp;(L[0]+=f[1],L[1]+=h[1],S=0,M())});if(Zi.event.changedTouches?C.on(&quot;touchmove.brush&quot;,a).on(&quot;touchend.brush&quot;,g):C.on(&quot;mousemove.brush&quot;,a).on(&quot;mouseup.brush&quot;,g),w.interrupt().selectAll(&quot;*&quot;).interrupt(),S)L[0]=f[0]-L[0],L[1]=h[0]-L[1];else if(k){var z=+/w$/.test(k),D=+/^n/.test(k);y=[f[1-z]-L[0],h[1-D]-L[1]],L[0]=f[z],L[1]=h[D]}else Zi.event.altKey&amp;&amp;(v=L.slice());w.style(&quot;pointer-events&quot;,&quot;none&quot;).selectAll(&quot;.resize&quot;).style(&quot;display&quot;,null),Zi.select(&quot;body&quot;).style(&quot;cursor&quot;,b.style(&quot;cursor&quot;)),_({type:&quot;brushstart&quot;}),a()}var o,s,l=A(t,&quot;brushstart&quot;,&quot;brush&quot;,&quot;brushend&quot;),c=null,u=null,f=[0,0],h=[0,0],d=!0,p=!0,m=Ds[0];return t.event=function(t){t.each(function(){var t=l.of(this,arguments),e={x:f,y:h,i:o,j:s},r=this.__chart__||e;this.__chart__=e,ks?Zi.select(this).transition().each(&quot;start.brush&quot;,function(){o=r.i,s=r.j,f=r.x,h=r.y,t({type:&quot;brushstart&quot;})}).tween(&quot;brush:brush&quot;,function(){var r=Ur(f,e.x),n=Ur(h,e.y);return o=s=null,function(i){f=e.x=r(i),h=e.y=n(i),t({type:&quot;brush&quot;,mode:&quot;resize&quot;})}}).each(&quot;end.brush&quot;,function(){o=e.i,s=e.j,t({type:&quot;brush&quot;,mode:&quot;resize&quot;}),t({type:&quot;brushend&quot;})}):(t({type:&quot;brushstart&quot;}),t({type:&quot;brush&quot;,mode:&quot;resize&quot;}),t({type:&quot;brushend&quot;}))})},t.x=function(e){return arguments.length?(c=e,m=Ds[!c&lt;&lt;1|!u],t):c},t.y=function(e){return arguments.length?(u=e,m=Ds[!c&lt;&lt;1|!u],t):u},t.clamp=function(e){return arguments.length?(c&amp;&amp;u?(d=!!e[0],p=!!e[1]):c?d=!!e:u&amp;&amp;(p=!!e),t):c&amp;&amp;u?[d,p]:c?d:u?p:null},t.extent=function(e){var r,n,i,a,l;return arguments.length?(c&amp;&amp;(r=e[0],n=e[1],u&amp;&amp;(r=r[0],n=n[0]),o=[r,n],c.invert&amp;&amp;(r=c(r),n=c(n)),n&lt;r&amp;&amp;(l=r,r=n,n=l),r==f[0]&amp;&amp;n==f[1]||(f=[r,n])),u&amp;&amp;(i=e[0],a=e[1],c&amp;&amp;(i=i[1],a=a[1]),s=[i,a],u.invert&amp;&amp;(i=u(i),a=u(a)),a&lt;i&amp;&amp;(l=i,i=a,a=l),i==h[0]&amp;&amp;a==h[1]||(h=[i,a])),t):(c&amp;&amp;(o?(r=o[0],n=o[1]):(r=f[0],n=f[1],c.invert&amp;&amp;(r=c.invert(r),n=c.invert(n)),n&lt;r&amp;&amp;(l=r,r=n,n=l))),u&amp;&amp;(s?(i=s[0],a=s[1]):(i=h[0],a=h[1],u.invert&amp;&amp;(i=u.invert(i),a=u.invert(a)),a&lt;i&amp;&amp;(l=i,i=a,a=l))),c&amp;&amp;u?[[r,i],[n,a]]:c?[r,n]:u&amp;&amp;[i,a])},t.clear=function(){return t.empty()||(f=[0,0],h=[0,0],o=s=null),t},t.empty=function(){return!!c&amp;&amp;f[0]==f[1]||!!u&amp;&amp;h[0]==h[1]},Zi.rebind(t,l,&quot;on&quot;)};var zs={n:&quot;ns-resize&quot;,e:&quot;ew-resize&quot;,s:&quot;ns-resize&quot;,w:&quot;ew-resize&quot;,nw:&quot;nwse-resize&quot;,ne:&quot;nesw-resize&quot;,se:&quot;nwse-resize&quot;,sw:&quot;nesw-resize&quot;},Ds=[[&quot;n&quot;,&quot;e&quot;,&quot;s&quot;,&quot;w&quot;,&quot;nw&quot;,&quot;ne&quot;,&quot;se&quot;,&quot;sw&quot;],[&quot;e&quot;,&quot;w&quot;],[&quot;n&quot;,&quot;s&quot;],[]],Is=Ka.format=no.timeFormat,Ps=Is.utc,Os=Ps(&quot;%Y-%m-%dT%H:%M:%S.%LZ&quot;);Is.iso=Date.prototype.toISOString&amp;&amp;+new Date(&quot;2000-01-01T00:00:00.000Z&quot;)?Hi:Os,Hi.parse=function(t){var e=new Date(t);return isNaN(e)?null:e},Hi.toString=Os.toString,Ka.second=Ct(function(t){return new Qa(1e3*Math.floor(t/1e3))},function(t,e){t.setTime(t.getTime()+1e3*Math.floor(e))},function(t){return t.getSeconds()}),Ka.seconds=Ka.second.range,Ka.seconds.utc=Ka.second.utc.range,Ka.minute=Ct(function(t){return new Qa(6e4*Math.floor(t/6e4))},function(t,e){t.setTime(t.getTime()+6e4*Math.floor(e))},function(t){return t.getMinutes()}),Ka.minutes=Ka.minute.range,Ka.minutes.utc=Ka.minute.utc.range,Ka.hour=Ct(function(t){var e=t.getTimezoneOffset()/60;return new Qa(36e5*(Math.floor(t/36e5-e)+e))},function(t,e){t.setTime(t.getTime()+36e5*Math.floor(e))},function(t){return t.getHours()}),Ka.hours=Ka.hour.range,Ka.hours.utc=Ka.hour.utc.range,Ka.month=Ct(function(t){return(t=Ka.day(t)).setDate(1),t},function(t,e){t.setMonth(t.getMonth()+e)},function(t){return t.getMonth()}),Ka.months=Ka.month.range,Ka.months.utc=Ka.month.utc.range;var Fs=[1e3,5e3,15e3,3e4,6e4,3e5,9e5,18e5,36e5,108e5,216e5,432e5,864e5,1728e5,6048e5,2592e6,7776e6,31536e6],Rs=[[Ka.second,1],[Ka.second,5],[Ka.second,15],[Ka.second,30],[Ka.minute,1],[Ka.minute,5],[Ka.minute,15],[Ka.minute,30],[Ka.hour,1],[Ka.hour,3],[Ka.hour,6],[Ka.hour,12],[Ka.day,1],[Ka.day,2],[Ka.week,1],[Ka.month,1],[Ka.month,3],[Ka.year,1]],Ns=Is.multi([[&quot;.%L&quot;,function(t){return t.getMilliseconds()}],[&quot;:%S&quot;,function(t){return t.getSeconds()}],[&quot;%I:%M&quot;,function(t){return t.getMinutes()}],[&quot;%I %p&quot;,function(t){return t.getHours()}],[&quot;%a %d&quot;,function(t){return t.getDay()&amp;&amp;1!=t.getDate()}],[&quot;%b %d&quot;,function(t){return 1!=t.getDate()}],[&quot;%B&quot;,function(t){return t.getMonth()}],[&quot;%Y&quot;,ve]]),js={range:function(t,e,r){return Zi.range(Math.ceil(t/r)*r,+e,r).map(Yi)},floor:y,ceil:y};Rs.year=Ka.year,Ka.scale=function(){return Gi(Zi.scale.linear(),Rs,Ns)};var Bs=Rs.map(function(t){return[t[0].utc,t[1]]}),Us=Ps.multi([[&quot;.%L&quot;,function(t){return t.getUTCMilliseconds()}],[&quot;:%S&quot;,function(t){return t.getUTCSeconds()}],[&quot;%I:%M&quot;,function(t){return t.getUTCMinutes()}],[&quot;%I %p&quot;,function(t){return t.getUTCHours()}],[&quot;%a %d&quot;,function(t){return t.getUTCDay()&amp;&amp;1!=t.getUTCDate()}],[&quot;%b %d&quot;,function(t){return 1!=t.getUTCDate()}],[&quot;%B&quot;,function(t){return t.getUTCMonth()}],[&quot;%Y&quot;,ve]]);Bs.year=Ka.year.utc,Ka.scale.utc=function(){return Gi(Zi.scale.linear(),Bs,Us)},Zi.text=wt(function(t){return t.responseText}),Zi.json=function(t,e){return Mt(t,&quot;application/json&quot;,Wi,e)},Zi.html=function(t,e){return Mt(t,&quot;text/html&quot;,Xi,e)},Zi.xml=wt(function(t){return t.responseXML}),&quot;object&quot;==typeof e&amp;&amp;e.exports?e.exports=Zi:this.d3=Zi}()},{}],129:[function(t,e,r){e.exports=function(){for(var t=0;t&lt;arguments.length;t++)if(void 0!==arguments[t])return arguments[t]}},{}],130:[function(t,e,r){&quot;use strict&quot;;function n(t,e){this.point=t,this.index=e}function i(t,e){for(var r=t.point,n=e.point,i=r.length,a=0;a&lt;i;++a){var o=n[a]-r[a];if(o)return o}return 0}var a=t(&quot;incremental-convex-hull&quot;),o=t(&quot;uniq&quot;);e.exports=function(t,e){var r=t.length;if(0===r)return[];var s=t[0].length;if(s&lt;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&lt;t;++a){var o=n[a-1],s=n[a];i[a-1]=[o[1],s[1]]}return r&amp;&amp;i.push([-1,i[0][1]],[i[t-1][1],-1]),i}(r,t,e);for(var l=new Array(r),c=1,u=0;u&lt;r;++u){for(var f=t[u],h=new Array(s+1),d=0,p=0;p&lt;s;++p){var m=f[p];h[p]=m,d+=m*m}h[s]=d,l[u]=new n(h,u),c=Math.max(d,c)}o(l,i),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&lt;=s;++u)x[u]=0;for(x[s]=y,g[0]=x.slice(),v[0]=-1,u=0;u&lt;=s;++u)(h=x.slice())[u]=1,g[u+1]=h,v[u+1]=-1;for(u=0;u&lt;r;++u){var b=l[u];g[u+s+1]=b.point,v[u+s+1]=b.index}var _=a(g,!1);if(_=e?_.filter(function(t){for(var e=0,r=0;r&lt;=s;++r){var n=v[t[r]];if(n&lt;0&amp;&amp;++e&gt;=2)return!1;t[r]=n}return!0}):_.filter(function(t){for(var e=0;e&lt;=s;++e){var r=v[t[e]];if(r&lt;0)return!1;t[e]=r}return!0}),1&amp;s)for(u=0;u&lt;_.length;++u)h=(b=_[u])[0],b[0]=b[1],b[1]=h;return _}},{&quot;incremental-convex-hull&quot;:278,uniq:556}],131:[function(t,e,r){(function(t){var r=!1;if(&quot;undefined&quot;!=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]]};function a(t,e){return i[0]=t,i[1]=e,n[0]}e.exports.pack=a;function o(t){return n[0]=t,i[0]}e.exports.lo=o;function s(t){return n[0]=t,i[1]}e.exports.hi=s}else if(1072693248===i[0]){e.exports=function(t){return n[0]=t,[i[1],i[0]]};function l(t,e){return i[1]=t,i[0]=e,n[0]}e.exports.pack=l;function c(t){return n[0]=t,i[1]}e.exports.lo=c;function u(t){return n[0]=t,i[0]}e.exports.hi=u}else r=!1}if(!r){var f=new t(8);e.exports=function(t){return f.writeDoubleLE(t,0,!0),[f.readUInt32LE(0,!0),f.readUInt32LE(4,!0)]};function h(t,e){return f.writeUInt32LE(t,0,!0),f.writeUInt32LE(e,4,!0),f.readDoubleLE(0,!0)}e.exports.pack=h;function d(t){return f.writeDoubleLE(t,0,!0),f.readUInt32LE(0,!0)}e.exports.lo=d;function p(t){return f.writeDoubleLE(t,0,!0),f.readUInt32LE(4,!0)}e.exports.hi=p}e.exports.sign=function(t){return e.exports.hi(t)&gt;&gt;&gt;31},e.exports.exponent=function(t){return(e.exports.hi(t)&lt;&lt;1&gt;&gt;&gt;21)-1023},e.exports.fraction=function(t){var r=e.exports.lo(t),n=e.exports.hi(t),i=1048575&amp;n;return 2146435072&amp;n&amp;&amp;(i+=1&lt;&lt;20),[r,i]},e.exports.denormalized=function(t){return!(2146435072&amp;e.exports.hi(t))}}).call(this,t(&quot;buffer&quot;).Buffer)},{buffer:82}],132:[function(t,e,r){var n=t(&quot;abs-svg-path&quot;),i=t(&quot;normalize-svg-path&quot;),a={M:&quot;moveTo&quot;,C:&quot;bezierCurveTo&quot;};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()}},{&quot;abs-svg-path&quot;:43,&quot;normalize-svg-path&quot;:460}],133:[function(t,e,r){e.exports=function(t){switch(t){case&quot;int8&quot;:return Int8Array;case&quot;int16&quot;:return Int16Array;case&quot;int32&quot;:return Int32Array;case&quot;uint8&quot;:return Uint8Array;case&quot;uint16&quot;:return Uint16Array;case&quot;uint32&quot;:return Uint32Array;case&quot;float32&quot;:return Float32Array;case&quot;float64&quot;:return Float64Array;case&quot;array&quot;:return Array;case&quot;uint8_clamped&quot;:return Uint8ClampedArray}}},{}],134:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r){var i=0|t[r];if(i&lt;=0)return[];var a,o=new Array(i);if(r===t.length-1)for(a=0;a&lt;i;++a)o[a]=e;else for(a=0;a&lt;i;++a)o[a]=n(t,e,r+1);return o}e.exports=function(t,e){switch(void 0===e&amp;&amp;(e=0),typeof t){case&quot;number&quot;:if(t&gt;0)return function(t,e){var r,n;for(r=new Array(t),n=0;n&lt;t;++n)r[n]=e;return r}(0|t,e);break;case&quot;object&quot;:if(&quot;number&quot;==typeof t.length)return n(t,e,0)}return[]}},{}],135:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r){r=r||2;var n=e&amp;&amp;e.length,l=n?e[0]*r:t.length,u=i(t,0,l,r,!0),f=[];if(!u)return f;var h,m,g,v,y,x,b;if(n&amp;&amp;(u=function(t,e,r,n){var o,l,u,f,h,m=[];for(o=0,l=e.length;o&lt;l;o++)u=e[o]*n,f=o&lt;l-1?e[o+1]*n:t.length,(h=i(t,u,f,n,!1))===h.next&amp;&amp;(h.steiner=!0),m.push(function(t){var e=t,r=t;do{e.x&lt;r.x&amp;&amp;(r=e),e=e.next}while(e!==t);return r}(h));for(m.sort(s),o=0;o&lt;m.length;o++)!function(t,e){if(e=function(t,e){var r,n=e,i=t.x,a=t.y,o=-1/0;do{if(a&lt;=n.y&amp;&amp;a&gt;=n.next.y){var s=n.x+(a-n.y)*(n.next.x-n.x)/(n.next.y-n.y);if(s&lt;=i&amp;&amp;s&gt;o){if(o=s,s===i){if(a===n.y)return n;if(a===n.next.y)return n.next}r=n.x&lt;n.next.x?n:n.next}}n=n.next}while(n!==e);if(!r)return null;if(i===o)return r.prev;var l,u=r,f=r.x,h=r.y,p=1/0;for(n=r.next;n!==u;)i&gt;=n.x&amp;&amp;n.x&gt;=f&amp;&amp;c(a&lt;h?i:o,a,f,h,a&lt;h?o:i,a,n.x,n.y)&amp;&amp;((l=Math.abs(a-n.y)/(i-n.x))&lt;p||l===p&amp;&amp;n.x&gt;r.x)&amp;&amp;d(n,t)&amp;&amp;(r=n,p=l),n=n.next;return r}(t,e)){var r=p(e,t);a(r,r.next)}}(m[o],r),r=a(r,r.next);return r}(t,e,u,r)),t.length&gt;80*r){h=g=t[0],m=v=t[1];for(var _=r;_&lt;l;_+=r)y=t[_],x=t[_+1],y&lt;h&amp;&amp;(h=y),x&lt;m&amp;&amp;(m=x),y&gt;g&amp;&amp;(g=y),x&gt;v&amp;&amp;(v=x);b=Math.max(g-h,v-m)}return o(u,f,r,h,m,b),f}function i(t,e,r,n,i){var a,o;if(i===y(t,e,r,n)&gt;0)for(a=e;a&lt;r;a+=n)o=m(a,t[a],t[a+1],o);else for(a=r-n;a&gt;=e;a-=n)o=m(a,t[a],t[a+1],o);return o&amp;&amp;f(o,o.next)&amp;&amp;(g(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||!f(n,n.next)&amp;&amp;0!==u(n.prev,n,n.next))n=n.next;else{if(g(n),(n=e=n.prev)===n.next)return null;r=!0}}while(r||n!==e);return e}function o(t,e,r,n,i,s,m){if(t){!m&amp;&amp;s&amp;&amp;function(t,e,r,n){var i=t;do{null===i.z&amp;&amp;(i.z=l(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&lt;c&amp;&amp;(s++,n=n.nextZ);e++);for(l=c;s&gt;0||l&gt;0&amp;&amp;n;)0===s?(i=n,n=n.nextZ,l--):0!==l&amp;&amp;n?r.z&lt;=n.z?(i=r,r=r.nextZ,s--):(i=n,n=n.nextZ,l--):(i=r,r=r.nextZ,s--),a?a.nextZ=i:t=i,i.prevZ=a,a=i;r=n}a.nextZ=null,c*=2}while(o&gt;1)}(i)}(t,n,i,s);for(var v,y,x=t;t.prev!==t.next;)if(v=t.prev,y=t.next,s?function(t,e,r,n){var i=t.prev,a=t,o=t.next;if(u(i,a,o)&gt;=0)return!1;var s=i.x&lt;a.x?i.x&lt;o.x?i.x:o.x:a.x&lt;o.x?a.x:o.x,f=i.y&lt;a.y?i.y&lt;o.y?i.y:o.y:a.y&lt;o.y?a.y:o.y,h=i.x&gt;a.x?i.x&gt;o.x?i.x:o.x:a.x&gt;o.x?a.x:o.x,d=i.y&gt;a.y?i.y&gt;o.y?i.y:o.y:a.y&gt;o.y?a.y:o.y,p=l(s,f,e,r,n),m=l(h,d,e,r,n),g=t.nextZ;for(;g&amp;&amp;g.z&lt;=m;){if(g!==t.prev&amp;&amp;g!==t.next&amp;&amp;c(i.x,i.y,a.x,a.y,o.x,o.y,g.x,g.y)&amp;&amp;u(g.prev,g,g.next)&gt;=0)return!1;g=g.nextZ}g=t.prevZ;for(;g&amp;&amp;g.z&gt;=p;){if(g!==t.prev&amp;&amp;g!==t.next&amp;&amp;c(i.x,i.y,a.x,a.y,o.x,o.y,g.x,g.y)&amp;&amp;u(g.prev,g,g.next)&gt;=0)return!1;g=g.prevZ}return!0}(t,n,i,s):function(t){var e=t.prev,r=t,n=t.next;if(u(e,r,n)&gt;=0)return!1;var i=t.next.next;for(;i!==t.prev;){if(c(e.x,e.y,r.x,r.y,n.x,n.y,i.x,i.y)&amp;&amp;u(i.prev,i,i.next)&gt;=0)return!1;i=i.next}return!0}(t))e.push(v.i/r),e.push(t.i/r),e.push(y.i/r),g(t),t=y.next,x=y.next;else if((t=y)===x){m?1===m?o(t=function(t,e,r){var n=t;do{var i=n.prev,a=n.next.next;!f(i,a)&amp;&amp;h(i,n,n.next,a)&amp;&amp;d(i,a)&amp;&amp;d(a,i)&amp;&amp;(e.push(i.i/r),e.push(n.i/r),e.push(a.i/r),g(n),g(n.next),n=t=a),n=n.next}while(n!==t);return n}(t,e,r),e,r,n,i,s,2):2===m&amp;&amp;function(t,e,r,n,i,s){var l=t;do{for(var c=l.next.next;c!==l.prev;){if(l.i!==c.i&amp;&amp;function(t,e){return t.next.i!==e.i&amp;&amp;t.prev.i!==e.i&amp;&amp;!function(t,e){var r=t;do{if(r.i!==t.i&amp;&amp;r.next.i!==t.i&amp;&amp;r.i!==e.i&amp;&amp;r.next.i!==e.i&amp;&amp;h(r,r.next,t,e))return!0;r=r.next}while(r!==t);return!1}(t,e)&amp;&amp;d(t,e)&amp;&amp;d(e,t)&amp;&amp;function(t,e){var r=t,n=!1,i=(t.x+e.x)/2,a=(t.y+e.y)/2;do{r.y&gt;a!=r.next.y&gt;a&amp;&amp;i&lt;(r.next.x-r.x)*(a-r.y)/(r.next.y-r.y)+r.x&amp;&amp;(n=!n),r=r.next}while(r!==t);return n}(t,e)}(l,c)){var u=p(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)}(t,e,r,n,i,s):o(a(t),e,r,n,i,s,1);break}}}function s(t,e){return t.x-e.x}function l(t,e,r,n,i){return t=32767*(t-r)/i,e=32767*(e-n)/i,t=16711935&amp;(t|t&lt;&lt;8),t=252645135&amp;(t|t&lt;&lt;4),t=858993459&amp;(t|t&lt;&lt;2),t=1431655765&amp;(t|t&lt;&lt;1),e=16711935&amp;(e|e&lt;&lt;8),e=252645135&amp;(e|e&lt;&lt;4),e=858993459&amp;(e|e&lt;&lt;2),e=1431655765&amp;(e|e&lt;&lt;1),t|e&lt;&lt;1}function c(t,e,r,n,i,a,o,s){return(i-o)*(e-s)-(t-o)*(a-s)&gt;=0&amp;&amp;(t-o)*(n-s)-(r-o)*(e-s)&gt;=0&amp;&amp;(r-o)*(a-s)-(i-o)*(n-s)&gt;=0}function u(t,e,r){return(e.y-t.y)*(r.x-e.x)-(e.x-t.x)*(r.y-e.y)}function f(t,e){return t.x===e.x&amp;&amp;t.y===e.y}function h(t,e,r,n){return!!(f(t,e)&amp;&amp;f(r,n)||f(t,n)&amp;&amp;f(r,e))||u(t,e,r)&gt;0!=u(t,e,n)&gt;0&amp;&amp;u(r,n,t)&gt;0!=u(r,n,e)&gt;0}function d(t,e){return u(t.prev,t,t.next)&lt;0?u(t,e,t.next)&gt;=0&amp;&amp;u(t,t.prev,e)&gt;=0:u(t,e,t.prev)&lt;0||u(t,t.next,e)&lt;0}function p(t,e){var r=new v(t.i,t.x,t.y),n=new v(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 m(t,e,r,n){var i=new v(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 g(t){t.next.prev=t.prev,t.prev.next=t.next,t.prevZ&amp;&amp;(t.prevZ.nextZ=t.nextZ),t.nextZ&amp;&amp;(t.nextZ.prevZ=t.prevZ)}function v(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 y(t,e,r,n){for(var i=0,a=e,o=r-n;a&lt;r;a+=n)i+=(t[o]-t[a])*(t[a+1]+t[o+1]),o=a;return i}e.exports=n,n.deviation=function(t,e,r,n){var i=e&amp;&amp;e.length,a=i?e[0]*r:t.length,o=Math.abs(y(t,0,a,r));if(i)for(var s=0,l=e.length;s&lt;l;s++){var c=e[s]*r,u=s&lt;l-1?e[s+1]*r:t.length;o-=Math.abs(y(t,c,u,r))}var f=0;for(s=0;s&lt;n.length;s+=3){var h=n[s]*r,d=n[s+1]*r,p=n[s+2]*r;f+=Math.abs((t[h]-t[p])*(t[d+1]-t[h+1])-(t[h]-t[d])*(t[p+1]-t[h+1]))}return 0===o&amp;&amp;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&lt;t.length;i++){for(var a=0;a&lt;t[i].length;a++)for(var o=0;o&lt;e;o++)r.vertices.push(t[i][a][o]);i&gt;0&amp;&amp;(n+=t[i-1].length,r.holes.push(n))}return r}},{}],136:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t,e){var r=t.length;if(&quot;number&quot;!=typeof e){e=0;for(var i=0;i&lt;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&lt;e;++i)o[i]=[];for(i=0;i&lt;r;++i)o[(a=t[i])[0]].push(a[1]),o[a[1]].push(a[0]);for(var s=0;s&lt;e;++s)n(o[s],function(t,e){return t-e});return o};var n=t(&quot;uniq&quot;)},{uniq:556}],137:[function(t,e,r){(function(n,i){!function(t,n){&quot;object&quot;==typeof r&amp;&amp;void 0!==e?e.exports=n():t.ES6Promise=n()}(this,function(){&quot;use strict&quot;;function e(t){return&quot;function&quot;==typeof t}function r(){var t=setTimeout;return function(){return t(a,1)}}function a(){for(var t=0;t&lt;A;t+=2){(0,P[t])(P[t+1]),P[t]=void 0,P[t+1]=void 0}A=0}function o(){try{var e=t(&quot;vertx&quot;);return T=e.runOnLoop||e.runOnContext,function(){T(a)}}catch(t){return r()}}function s(t,e){var r=arguments,n=this,i=new this.constructor(c);void 0===i[F]&amp;&amp;b(i);var a=n._state;return a?function(){var t=r[a-1];E(function(){return x(a,i,t,n._result)})}():g(n,i,t,e),i}function l(t){if(t&amp;&amp;&quot;object&quot;==typeof t&amp;&amp;t.constructor===this)return t;var e=new this(c);return h(e,t),e}function c(){}function u(t){try{return t.then}catch(t){return B.error=t,B}}function f(t,r,n){r.constructor===t.constructor&amp;&amp;n===s&amp;&amp;r.constructor.resolve===l?function(t,e){e._state===N?p(t,e._result):e._state===j?m(t,e._result):g(e,void 0,function(e){return h(t,e)},function(e){return m(t,e)})}(t,r):n===B?m(t,B.error):void 0===n?p(t,r):e(n)?function(t,e,r){E(function(t){var n=!1,i=function(t,e,r,n){try{t.call(e,r,n)}catch(t){return t}}(r,e,function(r){n||(n=!0,e!==r?h(t,r):p(t,r))},function(e){n||(n=!0,m(t,e))},t._label);!n&amp;&amp;i&amp;&amp;(n=!0,m(t,i))},t)}(t,r,n):p(t,r)}function h(t,e){t===e?m(t,new TypeError(&quot;You cannot resolve a promise with itself&quot;)):!function(t){return&quot;function&quot;==typeof t||&quot;object&quot;==typeof t&amp;&amp;null!==t}(e)?p(t,e):f(t,e,u(e))}function d(t){t._onerror&amp;&amp;t._onerror(t._result),v(t)}function p(t,e){t._state===R&amp;&amp;(t._result=e,t._state=N,0!==t._subscribers.length&amp;&amp;E(v,t))}function m(t,e){t._state===R&amp;&amp;(t._state=j,t._result=e,E(d,t))}function g(t,e,r,n){var i=t._subscribers,a=i.length;t._onerror=null,i[a]=e,i[a+N]=r,i[a+j]=n,0===a&amp;&amp;t._state&amp;&amp;E(v,t)}function v(t){var e=t._subscribers,r=t._state;if(0!==e.length){for(var n=void 0,i=void 0,a=t._result,o=0;o&lt;e.length;o+=3)n=e[o],i=e[o+r],n?x(r,n,i,a):i(a);t._subscribers.length=0}}function y(){this.error=null}function x(t,r,n,i){var a=e(n),o=void 0,s=void 0,l=void 0,c=void 0;if(a){if((o=function(t,e){try{return t(e)}catch(t){return U.error=t,U}}(n,i))===U?(c=!0,s=o.error,o=null):l=!0,r===o)return void m(r,new TypeError(&quot;A promises callback cannot return that same promise.&quot;))}else o=i,l=!0;r._state!==R||(a&amp;&amp;l?h(r,o):c?m(r,s):t===N?p(r,o):t===j&amp;&amp;m(r,o))}function b(t){t[F]=V++,t._state=void 0,t._result=void 0,t._subscribers=[]}function _(t,e){this._instanceConstructor=t,this.promise=new t(c),this.promise[F]||b(this.promise),k(e)?(this._input=e,this.length=e.length,this._remaining=e.length,this._result=new Array(this.length),0===this.length?p(this.promise,this._result):(this.length=this.length||0,this._enumerate(),0===this._remaining&amp;&amp;p(this.promise,this._result))):m(this.promise,new Error(&quot;Array Methods must be provided an Array&quot;))}function w(t){this[F]=V++,this._result=this._state=void 0,this._subscribers=[],c!==t&amp;&amp;(&quot;function&quot;!=typeof t&amp;&amp;function(){throw new TypeError(&quot;You must pass a resolver function as the first argument to the promise constructor&quot;)}(),this instanceof w?function(t,e){try{e(function(e){h(t,e)},function(e){m(t,e)})}catch(e){m(t,e)}}(this,t):function(){throw new TypeError(&quot;Failed to construct 'Promise': Please use the 'new' operator, this object constructor cannot be called as a function.&quot;)}())}function M(){var t=void 0;if(void 0!==i)t=i;else if(&quot;undefined&quot;!=typeof self)t=self;else try{t=Function(&quot;return this&quot;)()}catch(t){throw new Error(&quot;polyfill failed because global object is unavailable in this environment&quot;)}var e=t.Promise;if(e){var r=null;try{r=Object.prototype.toString.call(e.resolve())}catch(t){}if(&quot;[object Promise]&quot;===r&amp;&amp;!e.cast)return}t.Promise=w}var k=Array.isArray?Array.isArray:function(t){return&quot;[object Array]&quot;===Object.prototype.toString.call(t)},A=0,T=void 0,S=void 0,E=function(t,e){P[A]=t,P[A+1]=e,2===(A+=2)&amp;&amp;(S?S(a):O())},L=&quot;undefined&quot;!=typeof window?window:void 0,C=L||{},z=C.MutationObserver||C.WebKitMutationObserver,D=&quot;undefined&quot;==typeof self&amp;&amp;void 0!==n&amp;&amp;&quot;[object process]&quot;==={}.toString.call(n),I=&quot;undefined&quot;!=typeof Uint8ClampedArray&amp;&amp;&quot;undefined&quot;!=typeof importScripts&amp;&amp;&quot;undefined&quot;!=typeof MessageChannel,P=new Array(1e3),O=void 0;O=D?function(){return n.nextTick(a)}:z?function(){var t=0,e=new z(a),r=document.createTextNode(&quot;&quot;);return e.observe(r,{characterData:!0}),function(){r.data=t=++t%2}}():I?function(){var t=new MessageChannel;return t.port1.onmessage=a,function(){return t.port2.postMessage(0)}}():void 0===L&amp;&amp;&quot;function&quot;==typeof t?o():r();var F=Math.random().toString(36).substring(16),R=void 0,N=1,j=2,B=new y,U=new y,V=0;return _.prototype._enumerate=function(){for(var t=this.length,e=this._input,r=0;this._state===R&amp;&amp;r&lt;t;r++)this._eachEntry(e[r],r)},_.prototype._eachEntry=function(t,e){var r=this._instanceConstructor,n=r.resolve;if(n===l){var i=u(t);if(i===s&amp;&amp;t._state!==R)this._settledAt(t._state,e,t._result);else if(&quot;function&quot;!=typeof i)this._remaining--,this._result[e]=t;else if(r===w){var a=new r(c);f(a,t,i),this._willSettleAt(a,e)}else this._willSettleAt(new r(function(e){return e(t)}),e)}else this._willSettleAt(n(t),e)},_.prototype._settledAt=function(t,e,r){var n=this.promise;n._state===R&amp;&amp;(this._remaining--,t===j?m(n,r):this._result[e]=r),0===this._remaining&amp;&amp;p(n,this._result)},_.prototype._willSettleAt=function(t,e){var r=this;g(t,void 0,function(t){return r._settledAt(N,e,t)},function(t){return r._settledAt(j,e,t)})},w.all=function(t){return new _(this,t).promise},w.race=function(t){var e=this;return new e(k(t)?function(r,n){for(var i=t.length,a=0;a&lt;i;a++)e.resolve(t[a]).then(r,n)}:function(t,e){return e(new TypeError(&quot;You must pass an array to race.&quot;))})},w.resolve=l,w.reject=function(t){var e=new this(c);return m(e,t),e},w._setScheduler=function(t){S=t},w._setAsap=function(t){E=t},w._asap=E,w.prototype={constructor:w,then:s,catch:function(t){return this.then(null,t)}},M(),w.polyfill=M,w.Promise=w,w})}).call(this,t(&quot;_process&quot;),&quot;undefined&quot;!=typeof global?global:&quot;undefined&quot;!=typeof self?self:&quot;undefined&quot;!=typeof window?window:{})},{_process:488}],138:[function(t,e,r){function n(){this._events=this._events||{},this._maxListeners=this._maxListeners||void 0}function i(t){return&quot;function&quot;==typeof t}function a(t){return&quot;object&quot;==typeof t&amp;&amp;null!==t}function o(t){return void 0===t}e.exports=n,n.EventEmitter=n,n.prototype._events=void 0,n.prototype._maxListeners=void 0,n.defaultMaxListeners=10,n.prototype.setMaxListeners=function(t){if(!function(t){return&quot;number&quot;==typeof t}(t)||t&lt;0||isNaN(t))throw TypeError(&quot;n must be a positive number&quot;);return this._maxListeners=t,this},n.prototype.emit=function(t){var e,r,n,s,l,c;if(this._events||(this._events={}),&quot;error&quot;===t&amp;&amp;(!this._events.error||a(this._events.error)&amp;&amp;!this._events.error.length)){if((e=arguments[1])instanceof Error)throw e;var u=new Error('Uncaught, unspecified &quot;error&quot; event. ('+e+&quot;)&quot;);throw u.context=e,u}if(r=this._events[t],o(r))return!1;if(i(r))switch(arguments.length){case 1:r.call(this);break;case 2:r.call(this,arguments[1]);break;case 3:r.call(this,arguments[1],arguments[2]);break;default:s=Array.prototype.slice.call(arguments,1),r.apply(this,s)}else if(a(r))for(s=Array.prototype.slice.call(arguments,1),n=(c=r.slice()).length,l=0;l&lt;n;l++)c[l].apply(this,s);return!0},n.prototype.addListener=function(t,e){var r;if(!i(e))throw TypeError(&quot;listener must be a function&quot;);return this._events||(this._events={}),this._events.newListener&amp;&amp;this.emit(&quot;newListener&quot;,t,i(e.listener)?e.listener:e),this._events[t]?a(this._events[t])?this._events[t].push(e):this._events[t]=[this._events[t],e]:this._events[t]=e,a(this._events[t])&amp;&amp;!this._events[t].warned&amp;&amp;(r=o(this._maxListeners)?n.defaultMaxListeners:this._maxListeners)&amp;&amp;r&gt;0&amp;&amp;this._events[t].length&gt;r&amp;&amp;(this._events[t].warned=!0,console.error(&quot;(node) warning: possible EventEmitter memory leak detected. %d listeners added. Use emitter.setMaxListeners() to increase limit.&quot;,this._events[t].length),&quot;function&quot;==typeof console.trace&amp;&amp;console.trace()),this},n.prototype.on=n.prototype.addListener,n.prototype.once=function(t,e){function r(){this.removeListener(t,r),n||(n=!0,e.apply(this,arguments))}if(!i(e))throw TypeError(&quot;listener must be a function&quot;);var n=!1;return r.listener=e,this.on(t,r),this},n.prototype.removeListener=function(t,e){var r,n,o,s;if(!i(e))throw TypeError(&quot;listener must be a function&quot;);if(!this._events||!this._events[t])return this;if(r=this._events[t],o=r.length,n=-1,r===e||i(r.listener)&amp;&amp;r.listener===e)delete this._events[t],this._events.removeListener&amp;&amp;this.emit(&quot;removeListener&quot;,t,e);else if(a(r)){for(s=o;s-- &gt;0;)if(r[s]===e||r[s].listener&amp;&amp;r[s].listener===e){n=s;break}if(n&lt;0)return this;1===r.length?(r.length=0,delete this._events[t]):r.splice(n,1),this._events.removeListener&amp;&amp;this.emit(&quot;removeListener&quot;,t,e)}return this},n.prototype.removeAllListeners=function(t){var e,r;if(!this._events)return this;if(!this._events.removeListener)return 0===arguments.length?this._events={}:this._events[t]&amp;&amp;delete this._events[t],this;if(0===arguments.length){for(e in this._events)&quot;removeListener&quot;!==e&amp;&amp;this.removeAllListeners(e);return this.removeAllListeners(&quot;removeListener&quot;),this._events={},this}if(r=this._events[t],i(r))this.removeListener(t,r);else if(r)for(;r.length;)this.removeListener(t,r[r.length-1]);return delete this._events[t],this},n.prototype.listeners=function(t){return this._events&amp;&amp;this._events[t]?i(this._events[t])?[this._events[t]]:this._events[t].slice():[]},n.prototype.listenerCount=function(t){if(this._events){var e=this._events[t];if(i(e))return 1;if(e)return e.length}return 0},n.listenerCount=function(t,e){return t.listenerCount(e)}},{}],139:[function(t,e,r){&quot;use strict&quot;;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]]]}},{}],140:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t){var e=typeof t;if(&quot;string&quot;===e){var r=t;if(0===(t=+t)&amp;&amp;function(t){for(var e,r=t.length,n=0;n&lt;r;n++)if(((e=t.charCodeAt(n))&lt;9||e&gt;13)&amp;&amp;32!==e&amp;&amp;133!==e&amp;&amp;160!==e&amp;&amp;5760!==e&amp;&amp;6158!==e&amp;&amp;(e&lt;8192||e&gt;8205)&amp;&amp;8232!==e&amp;&amp;8233!==e&amp;&amp;8239!==e&amp;&amp;8287!==e&amp;&amp;8288!==e&amp;&amp;12288!==e&amp;&amp;65279!==e)return!1;return!0}(r))return!1}else if(&quot;number&quot;!==e)return!1;return t-t&lt;1}},{}],141:[function(t,e,r){&quot;use strict&quot;;function n(t){if(!t)return&quot;true&quot;;var e=t[0];if(t.length&lt;=1)return&quot;any&quot;===e?&quot;false&quot;:&quot;true&quot;;return&quot;(&quot;+(&quot;==&quot;===e?a(t[1],t[2],&quot;===&quot;,!1):&quot;!=&quot;===e?a(t[1],t[2],&quot;!==&quot;,!1):&quot;&lt;&quot;===e||&quot;&gt;&quot;===e||&quot;&lt;=&quot;===e||&quot;&gt;=&quot;===e?a(t[1],t[2],e,!0):&quot;any&quot;===e?o(t.slice(1),&quot;||&quot;):&quot;all&quot;===e?o(t.slice(1),&quot;&amp;&amp;&quot;):&quot;none&quot;===e?c(o(t.slice(1),&quot;||&quot;)):&quot;in&quot;===e?s(t[1],t.slice(2)):&quot;!in&quot;===e?c(s(t[1],t.slice(2))):&quot;has&quot;===e?l(t[1]):&quot;!has&quot;===e?c(l([t[1]])):&quot;true&quot;)+&quot;)&quot;}function i(t){return&quot;$type&quot;===t?&quot;f.type&quot;:&quot;$id&quot;===t?&quot;f.id&quot;:&quot;p[&quot;+JSON.stringify(t)+&quot;]&quot;}function a(t,e,r,n){var a=i(t),o=&quot;$type&quot;===t?f.indexOf(e):JSON.stringify(e);return(n?&quot;typeof &quot;+a+&quot;=== typeof &quot;+o+&quot;&amp;&amp;&quot;:&quot;&quot;)+a+r+o}function o(t,e){return t.map(n).join(e)}function s(t,e){&quot;$type&quot;===t&amp;&amp;(e=e.map(function(t){return f.indexOf(t)}));var r=JSON.stringify(e.sort(u)),n=i(t);return e.length&lt;=200?r+&quot;.indexOf(&quot;+n+&quot;) !== -1&quot;:&quot;function(v, a, i, j) {while (i &lt;= j) { var m = (i + j) &gt;&gt; 1;    if (a[m] === v) return true; if (a[m] &gt; v) j = m - 1; else i = m + 1;}return false; }(&quot;+n+&quot;, &quot;+r+&quot;,0,&quot;+(e.length-1)+&quot;)&quot;}function l(t){return JSON.stringify(t)+&quot; in p&quot;}function c(t){return&quot;!(&quot;+t+&quot;)&quot;}function u(t,e){return t&lt;e?-1:t&gt;e?1:0}e.exports=function(t){return new Function(&quot;f&quot;,&quot;var p = (f &amp;&amp; f.properties || {}); return &quot;+n(t))};var f=[&quot;Unknown&quot;,&quot;Point&quot;,&quot;LineString&quot;,&quot;Polygon&quot;]},{}],142:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r){return Math.min(e,Math.max(t,r))}function i(t,e,r){this.dimension=t.length,this.bounds=[new Array(this.dimension),new Array(this.dimension)];for(var n=0;n&lt;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()]}function a(t){for(var e=new Array(t),r=0;r&lt;t;++r)e[r]=0;return e}e.exports=function(t,e,r){switch(arguments.length){case 0:return new i([0],[0],0);case 1:return&quot;number&quot;==typeof t?new i(n=a(t),n,0):new i(t,a(t.length),0);case 2:if(&quot;number&quot;==typeof e){var n;return new i(t,n=a(t.length),+e)}r=0;case 3:if(t.length!==e.length)throw new Error(&quot;state and velocity lengths must match&quot;);return new i(t,e,r)}};var o=t(&quot;cubic-hermite&quot;),s=t(&quot;binary-search-bounds&quot;),l=i.prototype;l.flush=function(t){var e=s.gt(this._time,t)-1;e&lt;=0||(this._time.splice(0,e),this._state.splice(0,e*this.dimension),this._velocity.splice(0,e*this.dimension))},l.curve=function(t){var e=this._time,r=e.length,i=s.le(e,t),a=this._scratch[0],l=this._state,c=this._velocity,u=this.dimension,f=this.bounds;if(i&lt;0)for(var h=u-1,d=0;d&lt;u;++d,--h)a[d]=l[h];else if(i&gt;=r-1){h=l.length-1;var p=t-e[r-1];for(d=0;d&lt;u;++d,--h)a[d]=l[h]+p*c[h]}else{h=u*(i+1)-1;var m=e[i],g=e[i+1]-m||1,v=this._scratch[1],y=this._scratch[2],x=this._scratch[3],b=this._scratch[4],_=!0;for(d=0;d&lt;u;++d,--h)v[d]=l[h],x[d]=c[h]*g,y[d]=l[h+u],b[d]=c[h+u]*g,_=_&amp;&amp;v[d]===y[d]&amp;&amp;x[d]===b[d]&amp;&amp;0===x[d];if(_)for(d=0;d&lt;u;++d)a[d]=v[d];else o(v,x,y,b,(t-m)/g,a)}var w=f[0],M=f[1];for(d=0;d&lt;u;++d)a[d]=n(w[d],M[d],a[d]);return a},l.dcurve=function(t){var e=this._time,r=e.length,n=s.le(e,t),i=this._scratch[0],a=this._state,l=this._velocity,c=this.dimension;if(n&gt;=r-1)for(var u=a.length-1,f=(e[r-1],0);f&lt;c;++f,--u)i[f]=l[u];else{u=c*(n+1)-1;var h=e[n],d=e[n+1]-h||1,p=this._scratch[1],m=this._scratch[2],g=this._scratch[3],v=this._scratch[4],y=!0;for(f=0;f&lt;c;++f,--u)p[f]=a[u],g[f]=l[u]*d,m[f]=a[u+c],v[f]=l[u+c]*d,y=y&amp;&amp;p[f]===m[f]&amp;&amp;g[f]===v[f]&amp;&amp;0===g[f];if(y)for(f=0;f&lt;c;++f)i[f]=0;else{o.derivative(p,g,m,v,(t-h)/d,i);for(f=0;f&lt;c;++f)i[f]/=d}}return i},l.lastT=function(){var t=this._time;return t[t.length-1]},l.stable=function(){for(var t=this._velocity,e=t.length,r=this.dimension-1;r&gt;=0;--r)if(t[--e])return!1;return!0},l.jump=function(t){var e=this.lastT(),r=this.dimension;if(!(t&lt;e||arguments.length!==r+1)){var i=this._state,a=this._velocity,o=i.length-this.dimension,s=this.bounds,l=s[0],c=s[1];this._time.push(e,t);for(var u=0;u&lt;2;++u)for(var f=0;f&lt;r;++f)i.push(i[o++]),a.push(0);this._time.push(t);for(f=r;f&gt;0;--f)i.push(n(l[f-1],c[f-1],arguments[f])),a.push(0)}},l.push=function(t){var e=this.lastT(),r=this.dimension;if(!(t&lt;e||arguments.length!==r+1)){var i=this._state,a=this._velocity,o=i.length-this.dimension,s=t-e,l=this.bounds,c=l[0],u=l[1],f=s&gt;1e-6?1/s:0;this._time.push(t);for(var h=r;h&gt;0;--h){var d=n(c[h-1],u[h-1],arguments[h]);i.push(d),a.push((d-i[o++])*f)}}},l.set=function(t){var e=this.dimension;if(!(t&lt;this.lastT()||arguments.length!==e+1)){var r=this._state,i=this._velocity,a=this.bounds,o=a[0],s=a[1];this._time.push(t);for(var l=e;l&gt;0;--l)r.push(n(o[l-1],s[l-1],arguments[l])),i.push(0)}},l.move=function(t){var e=this.lastT(),r=this.dimension;if(!(t&lt;=e||arguments.length!==r+1)){var i=this._state,a=this._velocity,o=i.length-this.dimension,s=this.bounds,l=s[0],c=s[1],u=t-e,f=u&gt;1e-6?1/u:0;this._time.push(t);for(var h=r;h&gt;0;--h){var d=arguments[h];i.push(n(l[h-1],c[h-1],i[o++]+d)),a.push(d*f)}}},l.idle=function(t){var e=this.lastT();if(!(t&lt;e)){var r=this.dimension,i=this._state,a=this._velocity,o=i.length-r,s=this.bounds,l=s[0],c=s[1],u=t-e;this._time.push(t);for(var f=r-1;f&gt;=0;--f)i.push(n(l[f],c[f],i[o]+u*a[o])),a.push(0),o+=1}}},{&quot;binary-search-bounds&quot;:70,&quot;cubic-hermite&quot;:115}],143:[function(t,e,r){var n=t(&quot;dtype&quot;);e.exports=function(t,e,r){if(!t)throw new TypeError(&quot;must specify data as first parameter&quot;);if(r=0|+(r||0),Array.isArray(t)&amp;&amp;Array.isArray(t[0])){var i=t[0].length,a=t.length*i;e&amp;&amp;&quot;string&quot;!=typeof e||(e=new(n(e||&quot;float32&quot;))(a+r));var o=e.length-r;if(a!==o)throw new Error(&quot;source length &quot;+a+&quot; (&quot;+i+&quot;x&quot;+t.length+&quot;) does not match destination length &quot;+o);for(var s=0,l=r;s&lt;t.length;s++)for(var c=0;c&lt;i;c++)e[l++]=t[s][c]}else if(e&amp;&amp;&quot;string&quot;!=typeof e)e.set(t,r);else{var u=n(e||&quot;float32&quot;);0===r?e=new u(t):(e=new u(t.length+r)).set(t,r)}return e}},{dtype:133}],144:[function(t,e,r){&quot;use strict&quot;;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}function l(t,e){if(e.left){if(r=l(t,e.left))return r}var r;return(r=t(e.key,e.value))||(e.right?l(t,e.right):void 0)}function c(t,e,r,n){if(e(t,n.key)&lt;=0){if(n.left){if(i=c(t,e,r,n.left))return i}var i;if(i=r(n.key,n.value))return i}if(n.right)return c(t,e,r,n.right)}function u(t,e,r,n,i){var a,o=r(t,i.key),s=r(e,i.key);if(o&lt;=0){if(i.left&amp;&amp;(a=u(t,e,r,n,i.left)))return a;if(s&gt;0&amp;&amp;(a=n(i.key,i.value)))return a}if(s&gt;0&amp;&amp;i.right)return u(t,e,r,n,i.right)}function f(t,e){this.tree=t,this._stack=e}function h(t,e){t.key=e.key,t.value=e.value,t.left=e.left,t.right=e.right,t._color=e._color,t._count=e._count}e.exports=function(t){return new s(t||function(t,e){return t&lt;e?-1:t&gt;e?1:0},null)};var d=0,p=1,m=s.prototype;Object.defineProperty(m,&quot;keys&quot;,{get:function(){var t=[];return this.forEach(function(e,r){t.push(e)}),t}}),Object.defineProperty(m,&quot;values&quot;,{get:function(){var t=[];return this.forEach(function(e,r){t.push(r)}),t}}),Object.defineProperty(m,&quot;length&quot;,{get:function(){return this.root?this.root._count:0}}),m.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&lt;=0?i.left:i.right}l.push(new n(d,t,e,null,null,1));for(var f=l.length-2;f&gt;=0;--f){i=l[f];c[f]&lt;=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&gt;1;--f){var h=l[f-1];i=l[f];if(h._color===p||i._color===p)break;var m=l[f-2];if(m.left===h)if(h.left===i){if(!(g=m.right)||g._color!==d){if(m._color=d,m.left=h.right,h._color=p,h.right=m,l[f-2]=h,l[f-1]=i,o(m),o(h),f&gt;=3){(v=l[f-3]).left===m?v.left=h:v.right=h}break}h._color=p,m.right=a(p,g),m._color=d,f-=1}else{if(!(g=m.right)||g._color!==d){if(h.right=i.left,m._color=d,m.left=i.right,i._color=p,i.left=h,i.right=m,l[f-2]=i,l[f-1]=h,o(m),o(h),o(i),f&gt;=3){(v=l[f-3]).left===m?v.left=i:v.right=i}break}h._color=p,m.right=a(p,g),m._color=d,f-=1}else if(h.right===i){if(!(g=m.left)||g._color!==d){if(m._color=d,m.right=h.left,h._color=p,h.left=m,l[f-2]=h,l[f-1]=i,o(m),o(h),f&gt;=3){(v=l[f-3]).right===m?v.right=h:v.left=h}break}h._color=p,m.left=a(p,g),m._color=d,f-=1}else{var g;if(!(g=m.left)||g._color!==d){if(h.left=i.right,m._color=d,m.right=i.left,i._color=p,i.right=h,i.left=m,l[f-2]=i,l[f-1]=h,o(m),o(h),o(i),f&gt;=3){var v;(v=l[f-3]).right===m?v.right=i:v.left=i}break}h._color=p,m.left=a(p,g),m._color=d,f-=1}}return l[0]._color=p,new s(r,l[0])},m.forEach=function(t,e,r){if(this.root)switch(arguments.length){case 1:return l(t,this.root);case 2:return c(e,this._compare,t,this.root);case 3:if(this._compare(e,r)&gt;=0)return;return u(e,r,this._compare,t,this.root)}},Object.defineProperty(m,&quot;begin&quot;,{get:function(){for(var t=[],e=this.root;e;)t.push(e),e=e.left;return new f(this,t)}}),Object.defineProperty(m,&quot;end&quot;,{get:function(){for(var t=[],e=this.root;e;)t.push(e),e=e.right;return new f(this,t)}}),m.at=function(t){if(t&lt;0)return new f(this,[]);for(var e=this.root,r=[];;){if(r.push(e),e.left){if(t&lt;e.left._count){e=e.left;continue}t-=e.left._count}if(!t)return new f(this,r);if(t-=1,!e.right)break;if(t&gt;=e.right._count)break;e=e.right}return new f(this,[])},m.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&lt;=0&amp;&amp;(i=n.length),r=a&lt;=0?r.left:r.right}return n.length=i,new f(this,n)},m.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&lt;0&amp;&amp;(i=n.length),r=a&lt;0?r.left:r.right}return n.length=i,new f(this,n)},m.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&gt;0&amp;&amp;(i=n.length),r=a&lt;=0?r.left:r.right}return n.length=i,new f(this,n)},m.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&gt;=0&amp;&amp;(i=n.length),r=a&lt;0?r.left:r.right}return n.length=i,new f(this,n)},m.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 f(this,n);r=i&lt;=0?r.left:r.right}return new f(this,[])},m.remove=function(t){var e=this.find(t);return e?e.remove():this},m.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&lt;=0?r.left:r.right}};var g=f.prototype;Object.defineProperty(g,&quot;valid&quot;,{get:function(){return this._stack.length&gt;0}}),Object.defineProperty(g,&quot;node&quot;,{get:function(){return this._stack.length&gt;0?this._stack[this._stack.length-1]:null},enumerable:!0}),g.clone=function(){return new f(this.tree,this._stack.slice())},g.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&gt;=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&amp;&amp;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&gt;=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((r=e[e.length-1])._color===d){var f=e[e.length-2];f.left===r?f.left=null:f.right===r&amp;&amp;(f.right=null),e.pop();for(l=0;l&lt;e.length;++l)e[l]._count--;return new s(this.tree._compare,e[0])}if(r.left||r.right){r.left?h(r,r.left):r.right&amp;&amp;h(r,r.right),r._color=p;for(l=0;l&lt;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&lt;e.length;++l)e[l]._count--;var m=e[e.length-2];return function(t){for(var e,r,n,s,l=t.length-1;l&gt;=0;--l){if(e=t[l],0===l)return void(e._color=p);if((r=t[l-1]).left===e){if((n=r.right).right&amp;&amp;n.right._color===d)return n=r.right=i(n),s=n.right=i(n.right),r.right=n.left,n.left=r,n.right=s,n._color=r._color,e._color=p,r._color=p,s._color=p,o(r),o(n),l&gt;1&amp;&amp;((c=t[l-2]).left===r?c.left=n:c.right=n),void(t[l-1]=n);if(n.left&amp;&amp;n.left._color===d)return n=r.right=i(n),s=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=p,n._color=p,e._color=p,o(r),o(n),o(s),l&gt;1&amp;&amp;((c=t[l-2]).left===r?c.left=s:c.right=s),void(t[l-1]=s);if(n._color===p){if(r._color===d)return r._color=p,void(r.right=a(d,n));r.right=a(d,n);continue}n=i(n),r.right=n.left,n.left=r,n._color=r._color,r._color=d,o(r),o(n),l&gt;1&amp;&amp;((c=t[l-2]).left===r?c.left=n:c.right=n),t[l-1]=n,t[l]=r,l+1&lt;t.length?t[l+1]=e:t.push(e),l+=2}else{if((n=r.left).left&amp;&amp;n.left._color===d)return n=r.left=i(n),s=n.left=i(n.left),r.left=n.right,n.right=r,n.left=s,n._color=r._color,e._color=p,r._color=p,s._color=p,o(r),o(n),l&gt;1&amp;&amp;((c=t[l-2]).right===r?c.right=n:c.left=n),void(t[l-1]=n);if(n.right&amp;&amp;n.right._color===d)return n=r.left=i(n),s=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=p,n._color=p,e._color=p,o(r),o(n),o(s),l&gt;1&amp;&amp;((c=t[l-2]).right===r?c.right=s:c.left=s),void(t[l-1]=s);if(n._color===p){if(r._color===d)return r._color=p,void(r.left=a(d,n));r.left=a(d,n);continue}if(n=i(n),r.left=n.right,n.right=r,n._color=r._color,r._color=d,o(r),o(n),l&gt;1){var c;(c=t[l-2]).right===r?c.right=n:c.left=n}t[l-1]=n,t[l]=r,l+1&lt;t.length?t[l+1]=e:t.push(e),l+=2}}}(e),m.left===r?m.left=null:m.right=null,new s(this.tree._compare,e[0])},Object.defineProperty(g,&quot;key&quot;,{get:function(){if(this._stack.length&gt;0)return this._stack[this._stack.length-1].key},enumerable:!0}),Object.defineProperty(g,&quot;value&quot;,{get:function(){if(this._stack.length&gt;0)return this._stack[this._stack.length-1].value},enumerable:!0}),Object.defineProperty(g,&quot;index&quot;,{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&amp;&amp;(t=e[e.length-1].left._count);for(var n=e.length-2;n&gt;=0;--n)e[n+1]===e[n].right&amp;&amp;(++t,e[n].left&amp;&amp;(t+=e[n].left._count));return t},enumerable:!0}),g.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&gt;0&amp;&amp;t[t.length-1].right===e;)e=t[t.length-1],t.pop()}},Object.defineProperty(g,&quot;hasNext&quot;,{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&gt;0;--e)if(t[e-1].left===t[e])return!0;return!1}}),g.update=function(t){var e=this._stack;if(0===e.length)throw new Error(&quot;Can't update empty node!&quot;);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&gt;=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])},g.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&gt;0&amp;&amp;t[t.length-1].left===e;)e=t[t.length-1],t.pop()}},Object.defineProperty(g,&quot;hasPrev&quot;,{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&gt;0;--e)if(t[e-1].right===t[e])return!0;return!1}})},{}],145:[function(t,e,r){function n(t){if(t&lt;0)return Number(&quot;0/0&quot;);for(var e=o[0],r=o.length-1;r&gt;0;--r)e+=o[r]/(t+r);var n=t+a+.5;return.5*Math.log(2*Math.PI)+(t+.5)*Math.log(n)-n+Math.log(e)-Math.log(t)}var i=[.9999999999998099,676.5203681218851,-1259.1392167224028,771.3234287776531,-176.6150291621406,12.507343278686905,-.13857109526572012,9984369578019572e-21,1.5056327351493116e-7],a=607/128,o=[.9999999999999971,57.15623566586292,-59.59796035547549,14.136097974741746,-.4919138160976202,3399464998481189e-20,4652362892704858e-20,-9837447530487956e-20,.0001580887032249125,-.00021026444172410488,.00021743961811521265,-.0001643181065367639,8441822398385275e-20,-26190838401581408e-21,36899182659531625e-22];e.exports=function t(e){if(e&lt;.5)return Math.PI/(Math.sin(Math.PI*e)*t(1-e));if(e&gt;100)return Math.exp(n(e));e-=1;for(var r=i[0],a=1;a&lt;9;a++)r+=i[a]/(e+a);var o=e+7+.5;return Math.sqrt(2*Math.PI)*Math.pow(o,e+.5)*Math.exp(-o)*r},e.exports.log=n},{}],146:[function(t,e,r){function n(t){var e=0;if(t&amp;&amp;t.length&gt;0){e+=Math.abs(i(t[0]));for(var r=1;r&lt;t.length;r++)e-=Math.abs(i(t[r]))}return e}function i(t){var e=0;if(t.length&gt;2){for(var r,n,i=0;i&lt;t.length-1;i++)r=t[i],e+=a((n=t[i+1])[0]-r[0])*(2+Math.sin(a(r[1]))+Math.sin(a(n[1])));e=e*o.RADIUS*o.RADIUS/2}return e}function a(t){return t*Math.PI/180}var o=t(&quot;wgs84&quot;);e.exports.geometry=function(t){if(&quot;Polygon&quot;===t.type)return n(t.coordinates);if(&quot;MultiPolygon&quot;===t.type){for(var e=0,r=0;r&lt;t.coordinates.length;r++)e+=n(t.coordinates[r]);return e}return null},e.exports.ring=i},{wgs84:579}],147:[function(t,e,r){function n(t,e){switch(t&amp;&amp;t.type||null){case&quot;FeatureCollection&quot;:return t.features=t.features.map(i(n,e)),t;case&quot;Feature&quot;:return t.geometry=n(t.geometry,e),t;case&quot;Polygon&quot;:case&quot;MultiPolygon&quot;:return function(t,e){&quot;Polygon&quot;===t.type?t.coordinates=a(t.coordinates,e):&quot;MultiPolygon&quot;===t.type&amp;&amp;(t.coordinates=t.coordinates.map(i(a,e)));return t}(t,e);default:return t}}function i(t,e){return function(r){return t(r,e)}}function a(t,e){e=!!e,t[0]=o(t[0],!e);for(var r=1;r&lt;t.length;r++)t[r]=o(t[r],e);return t}function o(t,e){return function(t){return s.ring(t)&gt;=0}(t)===e?t:t.reverse()}var s=t(&quot;geojson-area&quot;);e.exports=n},{&quot;geojson-area&quot;:146}],148:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,n,i){return e.length&amp;&amp;(e.area=r,e.dist=n,void 0!==i&amp;&amp;(e.outer=i),t.push(e)),[]}e.exports=function(t,e,r,a,o,s,l,c){if(r/=e,a/=e,l&gt;=r&amp;&amp;c&lt;=a)return t;if(l&gt;a||c&lt;r)return null;for(var u=[],f=0;f&lt;t.length;f++){var h,d,p=t[f],m=p.geometry,g=p.type;if(h=p.min[o],d=p.max[o],h&gt;=r&amp;&amp;d&lt;=a)u.push(p);else if(!(h&gt;a||d&lt;r)){var v=1===g?function(t,e,r,n){for(var i=[],a=0;a&lt;t.length;a++){var o=t[a],s=o[n];s&gt;=e&amp;&amp;s&lt;=r&amp;&amp;i.push(o)}return i}(m,r,a,o):function(t,e,r,i,a,o){for(var s=[],l=0;l&lt;t.length;l++){var c,u,f,h=0,d=0,p=null,m=t[l],g=m.area,v=m.dist,y=m.outer,x=m.length,b=[];for(u=0;u&lt;x-1;u++)c=p||m[u],p=m[u+1],h=d||c[i],d=p[i],h&lt;e?d&gt;r?(b.push(a(c,p,e),a(c,p,r)),o||(b=n(s,b,g,v,y))):d&gt;=e&amp;&amp;b.push(a(c,p,e)):h&gt;r?d&lt;e?(b.push(a(c,p,r),a(c,p,e)),o||(b=n(s,b,g,v,y))):d&lt;=r&amp;&amp;b.push(a(c,p,r)):(b.push(c),d&lt;e?(b.push(a(c,p,e)),o||(b=n(s,b,g,v,y))):d&gt;r&amp;&amp;(b.push(a(c,p,r)),o||(b=n(s,b,g,v,y))));c=m[x-1],(h=c[i])&gt;=e&amp;&amp;h&lt;=r&amp;&amp;b.push(c),f=b[b.length-1],o&amp;&amp;f&amp;&amp;(b[0][0]!==f[0]||b[0][1]!==f[1])&amp;&amp;b.push(b[0]),n(s,b,g,v,y)}return s}(m,r,a,o,s,3===g);v.length&amp;&amp;u.push(i(p.tags,g,v,p.id))}}return u.length?u:null};var i=t(&quot;./feature&quot;)},{&quot;./feature&quot;:150}],149:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r){if(null!==e.geometry){var o,l,c,u,f=e.geometry,h=f.type,d=f.coordinates,p=e.properties,m=e.id;if(&quot;Point&quot;===h)t.push(s(p,1,[a(d)],m));else if(&quot;MultiPoint&quot;===h)t.push(s(p,1,i(d),m));else if(&quot;LineString&quot;===h)t.push(s(p,2,[i(d,r)],m));else if(&quot;MultiLineString&quot;===h||&quot;Polygon&quot;===h){for(c=[],o=0;o&lt;d.length;o++)u=i(d[o],r),&quot;Polygon&quot;===h&amp;&amp;(u.outer=0===o),c.push(u);t.push(s(p,&quot;Polygon&quot;===h?3:2,c,m))}else if(&quot;MultiPolygon&quot;===h){for(c=[],o=0;o&lt;d.length;o++)for(l=0;l&lt;d[o].length;l++)(u=i(d[o][l],r)).outer=0===l,c.push(u);t.push(s(p,3,c,m))}else{if(&quot;GeometryCollection&quot;!==h)throw new Error(&quot;Input data is not a valid GeoJSON object.&quot;);for(o=0;o&lt;f.geometries.length;o++)n(t,{geometry:f.geometries[o],properties:p},r)}}}function i(t,e){for(var r=[],n=0;n&lt;t.length;n++)r.push(a(t[n]));return e&amp;&amp;(o(r,e),function(t){for(var e,r,n=0,i=0,a=0;a&lt;t.length-1;a++)e=r||t[a],r=t[a+1],n+=e[0]*r[1]-r[0]*e[1],i+=Math.abs(r[0]-e[0])+Math.abs(r[1]-e[1]);t.area=Math.abs(n/2),t.dist=i}(r)),r}function a(t){var e=Math.sin(t[1]*Math.PI/180),r=t[0]/360+.5,n=.5-.25*Math.log((1+e)/(1-e))/Math.PI;return n=n&lt;0?0:n&gt;1?1:n,[r,n,0]}e.exports=function(t,e){var r=[];if(&quot;FeatureCollection&quot;===t.type)for(var i=0;i&lt;t.features.length;i++)n(r,t.features[i],e);else&quot;Feature&quot;===t.type?n(r,t,e):n(r,{geometry:t},e);return r};var o=t(&quot;./simplify&quot;),s=t(&quot;./feature&quot;)},{&quot;./feature&quot;:150,&quot;./simplify&quot;:152}],150:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r){for(var n,i=0;i&lt;r.length;i++)n=r[i],t[0]=Math.min(n[0],t[0]),e[0]=Math.max(n[0],e[0]),t[1]=Math.min(n[1],t[1]),e[1]=Math.max(n[1],e[1])}e.exports=function(t,e,r,i){var a={id:i||null,type:e,geometry:r,tags:t||null,min:[1/0,1/0],max:[-1/0,-1/0]};return function(t){var e=t.geometry,r=t.min,i=t.max;if(1===t.type)n(r,i,e);else for(var a=0;a&lt;e.length;a++)n(r,i,e[a])}(a),a}},{}],151:[function(t,e,r){&quot;use strict&quot;;function n(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;r&amp;&amp;console.time(&quot;preprocess data&quot;);var n=1&lt;&lt;e.maxZoom,i=l(t,e.tolerance/(n*e.extent));this.tiles={},this.tileCoords=[],r&amp;&amp;(console.timeEnd(&quot;preprocess data&quot;),console.log(&quot;index: maxZoom: %d, maxPoints: %d&quot;,e.indexMaxZoom,e.indexMaxPoints),console.time(&quot;generate tiles&quot;),this.stats={},this.total=0),(i=f(i,e.buffer/e.extent,a)).length&amp;&amp;this.splitTile(i,0,0,0),r&amp;&amp;(i.length&amp;&amp;console.log(&quot;features: %d, points: %d&quot;,this.tiles[0].numFeatures,this.tiles[0].numPoints),console.timeEnd(&quot;generate tiles&quot;),console.log(&quot;tiles generated:&quot;,this.total,JSON.stringify(this.stats)))}function i(t,e,r){return 32*((1&lt;&lt;t)*r+e)+t}function a(t,e,r){return[r,(r-t[0])*(e[1]-t[1])/(e[0]-t[0])+t[1],1]}function o(t,e,r){return[(r-t[1])*(e[0]-t[0])/(e[1]-t[1])+t[0],r,1]}function s(t,e,r){var n=t.source;if(1!==n.length)return!1;var i=n[0];if(3!==i.type||i.geometry.length&gt;1)return!1;var a=i.geometry[0].length;if(5!==a)return!1;for(var o=0;o&lt;a;o++){var s=c.point(i.geometry[0][o],e,t.z2,t.x,t.y);if(s[0]!==-r&amp;&amp;s[0]!==e+r||s[1]!==-r&amp;&amp;s[1]!==e+r)return!1}return!0}e.exports=function(t,e){return new n(t,e)};var l=t(&quot;./convert&quot;),c=t(&quot;./transform&quot;),u=t(&quot;./clip&quot;),f=t(&quot;./wrap&quot;),h=t(&quot;./tile&quot;);n.prototype.options={maxZoom:14,indexMaxZoom:5,indexMaxPoints:1e5,solidChildren:!1,tolerance:3,extent:4096,buffer:64,debug:0},n.prototype.splitTile=function(t,e,r,n,l,c,f){for(var d=[t,e,r,n],p=this.options,m=p.debug,g=null;d.length;){n=d.pop(),r=d.pop(),e=d.pop(),t=d.pop();var v=1&lt;&lt;e,y=i(e,r,n),x=this.tiles[y],b=e===p.maxZoom?0:p.tolerance/(v*p.extent);if(!x&amp;&amp;(m&gt;1&amp;&amp;console.time(&quot;creation&quot;),x=this.tiles[y]=h(t,v,r,n,b,e===p.maxZoom),this.tileCoords.push({z:e,x:r,y:n}),m)){m&gt;1&amp;&amp;(console.log(&quot;tile z%d-%d-%d (features: %d, points: %d, simplified: %d)&quot;,e,r,n,x.numFeatures,x.numPoints,x.numSimplified),console.timeEnd(&quot;creation&quot;));var _=&quot;z&quot;+e;this.stats[_]=(this.stats[_]||0)+1,this.total++}if(x.source=t,l){if(e===p.maxZoom||e===l)continue;var w=1&lt;&lt;l-e;if(r!==Math.floor(c/w)||n!==Math.floor(f/w))continue}else if(e===p.indexMaxZoom||x.numPoints&lt;=p.indexMaxPoints)continue;if(p.solidChildren||!s(x,p.extent,p.buffer)){x.source=null,m&gt;1&amp;&amp;console.time(&quot;clipping&quot;);var M,k,A,T,S,E,L=.5*p.buffer/p.extent,C=.5-L,z=.5+L,D=1+L;M=k=A=T=null,S=u(t,v,r-L,r+z,0,a,x.min[0],x.max[0]),E=u(t,v,r+C,r+D,0,a,x.min[0],x.max[0]),S&amp;&amp;(M=u(S,v,n-L,n+z,1,o,x.min[1],x.max[1]),k=u(S,v,n+C,n+D,1,o,x.min[1],x.max[1])),E&amp;&amp;(A=u(E,v,n-L,n+z,1,o,x.min[1],x.max[1]),T=u(E,v,n+C,n+D,1,o,x.min[1],x.max[1])),m&gt;1&amp;&amp;console.timeEnd(&quot;clipping&quot;),t.length&amp;&amp;(d.push(M||[],e+1,2*r,2*n),d.push(k||[],e+1,2*r,2*n+1),d.push(A||[],e+1,2*r+1,2*n),d.push(T||[],e+1,2*r+1,2*n+1))}else l&amp;&amp;(g=e)}return g},n.prototype.getTile=function(t,e,r){var n=this.options,a=n.extent,o=n.debug,l=1&lt;&lt;t,u=i(t,e=(e%l+l)%l,r);if(this.tiles[u])return c.tile(this.tiles[u],a);o&gt;1&amp;&amp;console.log(&quot;drilling down to z%d-%d-%d&quot;,t,e,r);for(var f,h=t,d=e,p=r;!f&amp;&amp;h&gt;0;)h--,d=Math.floor(d/2),p=Math.floor(p/2),f=this.tiles[i(h,d,p)];if(!f||!f.source)return null;if(o&gt;1&amp;&amp;console.log(&quot;found parent tile z%d-%d-%d&quot;,h,d,p),s(f,a,n.buffer))return c.tile(f,a);o&gt;1&amp;&amp;console.time(&quot;drilling down&quot;);var m=this.splitTile(f.source,h,d,p,t,e,r);if(o&gt;1&amp;&amp;console.timeEnd(&quot;drilling down&quot;),null!==m){var g=1&lt;&lt;t-m;u=i(m,Math.floor(e/g),Math.floor(r/g))}return this.tiles[u]?c.tile(this.tiles[u],a):null}},{&quot;./clip&quot;:148,&quot;./convert&quot;:149,&quot;./tile&quot;:153,&quot;./transform&quot;:154,&quot;./wrap&quot;:155}],152:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t,e){var r,n,i,a,o=e*e,s=0,l=t.length-1,c=[];for(t[s][2]=1,t[l][2]=1;l;){for(n=0,r=s+1;r&lt;l;r++)(i=function(t,e,r){var n=e[0],i=e[1],a=r[0],o=r[1],s=t[0],l=t[1],c=a-n,u=o-i;if(0!==c||0!==u){var f=((s-n)*c+(l-i)*u)/(c*c+u*u);f&gt;1?(n=a,i=o):f&gt;0&amp;&amp;(n+=c*f,i+=u*f)}return c=s-n,u=l-i,c*c+u*u}(t[r],t[s],t[l]))&gt;n&amp;&amp;(a=r,n=i);n&gt;o?(t[a][2]=n,c.push(s),c.push(a),s=a):(l=c.pop(),s=c.pop())}}},{}],153:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t,e,r,n,i,a){for(var o={features:[],numPoints:0,numSimplified:0,numFeatures:0,source:null,x:r,y:n,z2:e,transformed:!1,min:[2,1],max:[-1,0]},s=0;s&lt;t.length;s++){o.numFeatures++,function(t,e,r,n){var i,a,o,s,l=e.geometry,c=e.type,u=[],f=r*r;if(1===c)for(i=0;i&lt;l.length;i++)u.push(l[i]),t.numPoints++,t.numSimplified++;else for(i=0;i&lt;l.length;i++)if(o=l[i],n||!(2===c&amp;&amp;o.dist&lt;r||3===c&amp;&amp;o.area&lt;f)){var h=[];for(a=0;a&lt;o.length;a++)s=o[a],(n||s[2]&gt;f)&amp;&amp;(h.push(s),t.numSimplified++),t.numPoints++;3===c&amp;&amp;function(t,e){(function(t){for(var e,r,n=0,i=0,a=t.length,o=a-1;i&lt;a;o=i++)e=t[i],r=t[o],n+=(r[0]-e[0])*(e[1]+r[1]);return n})(t)&lt;0===e&amp;&amp;t.reverse()}(h,o.outer),u.push(h)}else t.numPoints+=o.length;if(u.length){var d={geometry:u,type:c,tags:e.tags||null};null!==e.id&amp;&amp;(d.id=e.id),t.features.push(d)}}(o,t[s],i,a);var l=t[s].min,c=t[s].max;l[0]&lt;o.min[0]&amp;&amp;(o.min[0]=l[0]),l[1]&lt;o.min[1]&amp;&amp;(o.min[1]=l[1]),c[0]&gt;o.max[0]&amp;&amp;(o.max[0]=c[0]),c[1]&gt;o.max[1]&amp;&amp;(o.max[1]=c[1])}return o}},{}],154:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,n,i){return[Math.round(e*(t[0]*r-n)),Math.round(e*(t[1]*r-i))]}r.tile=function(t,e){if(t.transformed)return t;var r,i,a,o=t.z2,s=t.x,l=t.y;for(r=0;r&lt;t.features.length;r++){var c=t.features[r],u=c.geometry;if(1===c.type)for(i=0;i&lt;u.length;i++)u[i]=n(u[i],e,o,s,l);else for(i=0;i&lt;u.length;i++){var f=u[i];for(a=0;a&lt;f.length;a++)f[a]=n(f[a],e,o,s,l)}}return t.transformed=!0,t},r.point=n},{}],155:[function(t,e,r){&quot;use strict&quot;;function n(t,e){for(var r=[],n=0;n&lt;t.length;n++){var a,s=t[n],l=s.type;if(1===l)a=i(s.geometry,e);else{a=[];for(var c=0;c&lt;s.geometry.length;c++)a.push(i(s.geometry[c],e))}r.push(o(s.tags,l,a,s.id))}return r}function i(t,e){var r=[];r.area=t.area,r.dist=t.dist;for(var n=0;n&lt;t.length;n++)r.push([t[n][0]+e,t[n][1],t[n][2]]);return r}var a=t(&quot;./clip&quot;),o=t(&quot;./feature&quot;);e.exports=function(t,e,r){var i=t,o=a(t,1,-1-e,e,0,r,-1,2),s=a(t,1,1-e,2+e,0,r,-1,2);return(o||s)&amp;&amp;(i=a(t,1,-e,1+e,0,r,-1,2)||[],o&amp;&amp;(i=n(o,1).concat(i)),s&amp;&amp;(i=i.concat(n(s,-1)))),i}},{&quot;./clip&quot;:148,&quot;./feature&quot;:150}],156:[function(t,e,r){e.exports=function(t,e){if(&quot;string&quot;!=typeof t)throw new TypeError(&quot;must specify type string&quot;);if(e=e||{},&quot;undefined&quot;==typeof document&amp;&amp;!e.canvas)return null;var r=e.canvas||document.createElement(&quot;canvas&quot;);&quot;number&quot;==typeof e.width&amp;&amp;(r.width=e.width),&quot;number&quot;==typeof e.height&amp;&amp;(r.height=e.height);var n,i=e;try{var a=[t];0===t.indexOf(&quot;webgl&quot;)&amp;&amp;a.push(&quot;experimental-&quot;+t);for(var o=0;o&lt;a.length;o++)if(n=r.getContext(a[o],i))return n}catch(t){n=null}return n||null}},{}],157:[function(t,e,r){&quot;use strict&quot;;function n(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t}function i(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=[&quot;sans-serif&quot;,&quot;sans-serif&quot;,&quot;sans-serif&quot;],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=[10,10,10],this.lastCubeProps={cubeEdges:[0,0,0],axis:[0,0,0]},this.labels=[&quot;x&quot;,&quot;y&quot;,&quot;z&quot;],this.labelEnable=[!0,!0,!0],this.labelFont=&quot;sans-serif&quot;,this.labelSize=[20,20,20],this.labelAngle=[0,0,0],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=c(t)}function a(){this.primalOffset=[0,0,0],this.primalMinor=[0,0,0],this.mirrorOffset=[0,0,0],this.mirrorMinor=[0,0,0]}function o(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&lt;3;++u)if(e!==u){var f=a,h=s,d=o,p=l;c&amp;1&lt;&lt;u&amp;&amp;(f=s,h=a,d=l,p=o),f[u]=r[0][u],h[u]=r[1][u],i[u]&gt;0?(d[u]=-1,p[u]=0):(d[u]=0,p[u]=1)}}e.exports=function(t,e){var r=new i(t);return r.update(e),r};var s=t(&quot;./lib/text.js&quot;),l=t(&quot;./lib/lines.js&quot;),c=t(&quot;./lib/background.js&quot;),u=t(&quot;./lib/cube.js&quot;),f=t(&quot;./lib/ticks.js&quot;),h=new Float32Array([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]),d=i.prototype;d.update=function(t){function e(e,r,n){if(n in t){var i,a=t[n],o=this[n];(e?Array.isArray(a)&amp;&amp;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&lt;3;++s)if(i[s]!==o[s])return!0}return!1}t=t||{};var r,n=e.bind(this,!1,Number),i=e.bind(this,!1,Boolean),a=e.bind(this,!1,String),o=e.bind(this,!0,function(t){if(Array.isArray(t)){if(3===t.length)return[+t[0],+t[1],+t[2],1];if(4===t.length)return[+t[0],+t[1],+t[2],+t[3]]}return[0,0,0,1]}),c=!1,u=!1;if(&quot;bounds&quot;in t)for(var h=t.bounds,d=0;d&lt;2;++d)for(var p=0;p&lt;3;++p)h[d][p]!==this.bounds[d][p]&amp;&amp;(u=!0),this.bounds[d][p]=h[d][p];if(&quot;ticks&quot;in t){r=t.ticks,c=!0,this.autoTicks=!1;for(d=0;d&lt;3;++d)this.tickSpacing[d]=0}else n(&quot;tickSpacing&quot;)&amp;&amp;(this.autoTicks=!0,u=!0);if(this._firstInit&amp;&amp;(&quot;ticks&quot;in t||&quot;tickSpacing&quot;in t||(this.autoTicks=!0),u=!0,c=!0,this._firstInit=!1),u&amp;&amp;this.autoTicks&amp;&amp;(r=f.create(this.bounds,this.tickSpacing),c=!0),c){for(d=0;d&lt;3;++d)r[d].sort(function(t,e){return t.x-e.x});f.equal(r,this.ticks)?c=!1:this.ticks=r}i(&quot;tickEnable&quot;),a(&quot;tickFont&quot;)&amp;&amp;(c=!0),n(&quot;tickSize&quot;),n(&quot;tickAngle&quot;),n(&quot;tickPad&quot;),o(&quot;tickColor&quot;);var m=a(&quot;labels&quot;);a(&quot;labelFont&quot;)&amp;&amp;(m=!0),i(&quot;labelEnable&quot;),n(&quot;labelSize&quot;),n(&quot;labelPad&quot;),o(&quot;labelColor&quot;),i(&quot;lineEnable&quot;),i(&quot;lineMirror&quot;),n(&quot;lineWidth&quot;),o(&quot;lineColor&quot;),i(&quot;lineTickEnable&quot;),i(&quot;lineTickMirror&quot;),n(&quot;lineTickLength&quot;),n(&quot;lineTickWidth&quot;),o(&quot;lineTickColor&quot;),i(&quot;gridEnable&quot;),n(&quot;gridWidth&quot;),o(&quot;gridColor&quot;),i(&quot;zeroEnable&quot;),o(&quot;zeroLineColor&quot;),n(&quot;zeroLineWidth&quot;),i(&quot;backgroundEnable&quot;),o(&quot;backgroundColor&quot;),this._text?this._text&amp;&amp;(m||c)&amp;&amp;this._text.update(this.bounds,this.labels,this.labelFont,this.ticks,this.tickFont):this._text=s(this.gl,this.bounds,this.labels,this.labelFont,this.ticks,this.tickFont),this._lines&amp;&amp;c&amp;&amp;(this._lines.dispose(),this._lines=null),this._lines||(this._lines=l(this.gl,this.bounds,this.ticks))};var p=[new a,new a,new a],m=[0,0,0],g={model:h,view:h,projection:h};d.isOpaque=function(){return!0},d.isTransparent=function(){return!1},d.drawTransparent=function(t){};var v=[0,0,0],y=[0,0,0],x=[0,0,0];d.draw=function(t){t=t||g;for(var e=this.gl,r=t.model||h,i=t.view||h,a=t.projection||h,s=this.bounds,l=u(r,i,a,s),c=l.cubeEdges,f=l.axis,d=i[12],b=i[13],_=i[14],w=i[15],M=this.pixelRatio*(a[3]*d+a[7]*b+a[11]*_+a[15]*w)/e.drawingBufferHeight,k=0;k&lt;3;++k)this.lastCubeProps.cubeEdges[k]=c[k],this.lastCubeProps.axis[k]=f[k];var A=p;for(k=0;k&lt;3;++k)o(p[k],k,this.bounds,c,f);e=this.gl;var T=m;for(k=0;k&lt;3;++k)this.backgroundEnable[k]?T[k]=f[k]:T[k]=0;this._background.draw(r,i,a,s,T,this.backgroundColor),this._lines.bind(r,i,a,this);for(k=0;k&lt;3;++k){var S=[0,0,0];f[k]&gt;0?S[k]=s[1][k]:S[k]=s[0][k];for(var E=0;E&lt;2;++E){var L=(k+1+E)%3,C=(k+1+(1^E))%3;this.gridEnable[L]&amp;&amp;this._lines.drawGrid(L,C,this.bounds,S,this.gridColor[L],this.gridWidth[L]*this.pixelRatio)}for(E=0;E&lt;2;++E){L=(k+1+E)%3,C=(k+1+(1^E))%3;this.zeroEnable[C]&amp;&amp;s[0][C]&lt;=0&amp;&amp;s[1][C]&gt;=0&amp;&amp;this._lines.drawZero(L,C,this.bounds,S,this.zeroLineColor[C],this.zeroLineWidth[C]*this.pixelRatio)}}for(k=0;k&lt;3;++k){this.lineEnable[k]&amp;&amp;this._lines.drawAxisLine(k,this.bounds,A[k].primalOffset,this.lineColor[k],this.lineWidth[k]*this.pixelRatio),this.lineMirror[k]&amp;&amp;this._lines.drawAxisLine(k,this.bounds,A[k].mirrorOffset,this.lineColor[k],this.lineWidth[k]*this.pixelRatio);var z=n(v,A[k].primalMinor),D=n(y,A[k].mirrorMinor),I=this.lineTickLength;for(E=0;E&lt;3;++E){var P=M/r[5*E];z[E]*=I[E]*P,D[E]*=I[E]*P}this.lineTickEnable[k]&amp;&amp;this._lines.drawAxisTicks(k,A[k].primalOffset,z,this.lineTickColor[k],this.lineTickWidth[k]*this.pixelRatio),this.lineTickMirror[k]&amp;&amp;this._lines.drawAxisTicks(k,A[k].mirrorOffset,D,this.lineTickColor[k],this.lineTickWidth[k]*this.pixelRatio)}this._text.bind(r,i,a,this.pixelRatio);for(k=0;k&lt;3;++k){var O=A[k].primalMinor,F=n(x,A[k].primalOffset);for(E=0;E&lt;3;++E)this.lineTickEnable[k]&amp;&amp;(F[E]+=M*O[E]*Math.max(this.lineTickLength[E],0)/r[5*E]);if(this.tickEnable[k]){for(E=0;E&lt;3;++E)F[E]+=M*O[E]*this.tickPad[E]/r[5*E];this._text.drawTicks(k,this.tickSize[k],this.tickAngle[k],F,this.tickColor[k])}if(this.labelEnable[k]){for(E=0;E&lt;3;++E)F[E]+=M*O[E]*this.labelPad[E]/r[5*E];F[k]+=.5*(s[0][k]+s[1][k]),this._text.drawLabel(k,this.labelSize[k],this.labelAngle[k],F,this.labelColor[k])}}},d.dispose=function(){this._text.dispose(),this._lines.dispose(),this._background.dispose(),this._lines=null,this._text=null,this._background=null,this.gl=null}},{&quot;./lib/background.js&quot;:158,&quot;./lib/cube.js&quot;:159,&quot;./lib/lines.js&quot;:160,&quot;./lib/text.js&quot;:162,&quot;./lib/ticks.js&quot;:163}],158:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,n){this.gl=t,this.buffer=e,this.vao=r,this.shader=n}e.exports=function(t){for(var e=[],r=[],s=0,l=0;l&lt;3;++l)for(var c=(l+1)%3,u=(l+2)%3,f=[0,0,0],h=[0,0,0],d=-1;d&lt;=1;d+=2){r.push(s,s+2,s+1,s+1,s+2,s+3),f[l]=d,h[l]=d;for(var p=-1;p&lt;=1;p+=2){f[c]=p;for(var m=-1;m&lt;=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=i(t,new Float32Array(e)),y=i(t,new Uint16Array(r),t.ELEMENT_ARRAY_BUFFER),x=a(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=o(t);return b.attributes.position.location=0,b.attributes.normal.location=1,new n(t,v,x,b)};var i=t(&quot;gl-buffer&quot;),a=t(&quot;gl-vao&quot;),o=t(&quot;./shaders&quot;).bg,s=n.prototype;s.draw=function(t,e,r,n,i,a){for(var o=!1,s=0;s&lt;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),l.disable(l.POLYGON_OFFSET_FILL)}},s.dispose=function(){this.vao.dispose(),this.buffer.dispose(),this.shader.dispose()}},{&quot;./shaders&quot;:161,&quot;gl-buffer&quot;:165,&quot;gl-vao&quot;:259}],159:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r){for(var n=0;n&lt;4;++n){t[n]=r[12+n];for(var i=0;i&lt;3;++i)t[n]+=e[i]*r[4*i+n]}}function i(t){for(var e=0;e&lt;p.length;++e)if((t=s.positive(t,p[e])).length&lt;3)return 0;var r=t[0],n=r[0]/r[3],i=r[1]/r[3],a=0;for(e=1;e+1&lt;t.length;++e){var o=t[e],l=t[e+1],c=o[0]/o[3]-n,u=o[1]/o[3]-i,f=l[0]/l[3]-n,h=l[1]/l[3]-i;a+=Math.abs(c*h-u*f)}return a}e.exports=function(t,e,r,s){o(c,e,t),o(c,r,c);for(var p=0,y=0;y&lt;2;++y){h[2]=s[y][2];for(var x=0;x&lt;2;++x){h[1]=s[x][1];for(var b=0;b&lt;2;++b)h[0]=s[b][0],n(u[p],h,c),p+=1}}var _=-1;for(y=0;y&lt;8;++y){for(var w=u[y][3],M=0;M&lt;3;++M)f[y][M]=u[y][M]/w;w&lt;0&amp;&amp;(_&lt;0?_=y:f[y][2]&lt;f[_][2]&amp;&amp;(_=y))}if(_&lt;0){_=0;for(var k=0;k&lt;3;++k){for(var A=(k+2)%3,T=(k+1)%3,S=-1,E=-1,L=0;L&lt;2;++L){var C=(D=L&lt;&lt;k)+(L&lt;&lt;A)+(1-L&lt;&lt;T),z=D+(1-L&lt;&lt;A)+(L&lt;&lt;T);l(f[D],f[C],f[z],d)&lt;0||(L?S=1:E=1)}if(S&lt;0||E&lt;0)E&gt;S&amp;&amp;(_|=1&lt;&lt;k);else{for(L=0;L&lt;2;++L){C=(D=L&lt;&lt;k)+(L&lt;&lt;A)+(1-L&lt;&lt;T),z=D+(1-L&lt;&lt;A)+(L&lt;&lt;T);var D,I=i([u[D],u[C],u[z],u[D+(1&lt;&lt;A)+(1&lt;&lt;T)]]);L?S=I:E=I}E&gt;S&amp;&amp;(_|=1&lt;&lt;k)}}}var P=7^_,O=-1;for(y=0;y&lt;8;++y)y!==_&amp;&amp;y!==P&amp;&amp;(O&lt;0?O=y:f[O][1]&gt;f[y][1]&amp;&amp;(O=y));var F=-1;for(y=0;y&lt;3;++y)(N=O^1&lt;&lt;y)!==_&amp;&amp;N!==P&amp;&amp;(F&lt;0&amp;&amp;(F=N),(T=f[N])[0]&lt;f[F][0]&amp;&amp;(F=N));var R=-1;for(y=0;y&lt;3;++y){var N;(N=O^1&lt;&lt;y)!==_&amp;&amp;N!==P&amp;&amp;N!==F&amp;&amp;(R&lt;0&amp;&amp;(R=N),(T=f[N])[0]&gt;f[R][0]&amp;&amp;(R=N))}var j=m;j[0]=j[1]=j[2]=0,j[a.log2(F^O)]=O&amp;F,j[a.log2(O^R)]=O&amp;R;var B=7^R;B===_||B===P?(B=7^F,j[a.log2(R^B)]=B&amp;R):j[a.log2(F^B)]=B&amp;F;var U=g,V=_;for(k=0;k&lt;3;++k)U[k]=V&amp;1&lt;&lt;k?-1:1;return v};var a=t(&quot;bit-twiddle&quot;),o=t(&quot;gl-mat4/multiply&quot;),s=(t(&quot;gl-mat4/invert&quot;),t(&quot;split-polygon&quot;)),l=t(&quot;robust-orientation&quot;),c=new Array(16),u=(new Array(16),new Array(8)),f=new Array(8),h=new Array(3),d=[0,0,0];!function(){for(var t=0;t&lt;8;++t)u[t]=[1,1,1,1],f[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]],m=[1,1,1],g=[0,0,0],v={cubeEdges:m,axis:g}},{&quot;bit-twiddle&quot;:71,&quot;gl-mat4/invert&quot;:186,&quot;gl-mat4/multiply&quot;:188,&quot;robust-orientation&quot;:515,&quot;split-polygon&quot;:535}],160:[function(t,e,r){&quot;use strict&quot;;function n(t){return t[0]=t[1]=t[2]=0,t}function i(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t}function a(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}e.exports=function(t,e,r){var n=[],i=[0,0,0],c=[0,0,0],u=[0,0,0],f=[0,0,0];n.push(0,0,1,0,1,1,0,0,-1,0,0,-1,0,1,1,0,1,-1);for(var h=0;h&lt;3;++h){for(var d=n.length/3|0,p=0;p&lt;r[h].length;++p){var m=+r[h][p].x;n.push(m,0,1,m,1,1,m,0,-1,m,0,-1,m,1,1,m,1,-1)}var g=n.length/3|0;i[h]=d,c[h]=g-d,d=n.length/3|0;for(var v=0;v&lt;r[h].length;++v)m=+r[h][v].x,n.push(m,0,1,m,1,1,m,0,-1,m,0,-1,m,1,1,m,1,-1);g=n.length/3|0,u[h]=d,f[h]=g-d}var y=o(t,new Float32Array(n)),x=s(t,[{buffer:y,type:t.FLOAT,size:3,stride:0,offset:0}]),b=l(t);return b.attributes.position.location=0,new a(t,y,x,b,c,i,f,u)};var o=t(&quot;gl-buffer&quot;),s=t(&quot;gl-vao&quot;),l=t(&quot;./shaders&quot;).line,c=[0,0,0],u=[0,0,0],f=[0,0,0],h=[0,0,0],d=[1,1],p=a.prototype;p.bind=function(t,e,r){this.shader.bind(),this.shader.uniforms.model=t,this.shader.uniforms.view=e,this.shader.uniforms.projection=r,d[0]=this.gl.drawingBufferWidth,d[1]=this.gl.drawingBufferHeight,this.shader.uniforms.screenShape=d,this.vao.bind()},p.drawAxisLine=function(t,e,r,a,o){var s=n(u);this.shader.uniforms.majorAxis=u,s[t]=e[1][t]-e[0][t],this.shader.uniforms.minorAxis=s;var l=i(h,r);l[t]+=e[0][t],this.shader.uniforms.offset=l,this.shader.uniforms.lineWidth=o,this.shader.uniforms.color=a;(c=n(f))[(t+2)%3]=1,this.shader.uniforms.screenAxis=c,this.vao.draw(this.gl.TRIANGLES,6);var c;(c=n(f))[(t+1)%3]=1,this.shader.uniforms.screenAxis=c,this.vao.draw(this.gl.TRIANGLES,6)},p.drawAxisTicks=function(t,e,r,i,a){if(this.tickCount[t]){var o=n(c);o[t]=1,this.shader.uniforms.majorAxis=o,this.shader.uniforms.offset=e,this.shader.uniforms.minorAxis=r,this.shader.uniforms.color=i,this.shader.uniforms.lineWidth=a;var s=n(f);s[t]=1,this.shader.uniforms.screenAxis=s,this.vao.draw(this.gl.TRIANGLES,this.tickCount[t],this.tickOffset[t])}},p.drawGrid=function(t,e,r,a,o,s){if(this.gridCount[t]){var l=n(u);l[e]=r[1][e]-r[0][e],this.shader.uniforms.minorAxis=l;var d=i(h,a);d[e]+=r[0][e],this.shader.uniforms.offset=d;var p=n(c);p[t]=1,this.shader.uniforms.majorAxis=p;var m=n(f);m[t]=1,this.shader.uniforms.screenAxis=m,this.shader.uniforms.lineWidth=s,this.shader.uniforms.color=o,this.vao.draw(this.gl.TRIANGLES,this.gridCount[t],this.gridOffset[t])}},p.drawZero=function(t,e,r,a,o,s){var l=n(u);this.shader.uniforms.majorAxis=l,l[t]=r[1][t]-r[0][t],this.shader.uniforms.minorAxis=l;var c=i(h,a);c[t]+=r[0][t],this.shader.uniforms.offset=c;var d=n(f);d[e]=1,this.shader.uniforms.screenAxis=d,this.shader.uniforms.lineWidth=s,this.shader.uniforms.color=o,this.vao.draw(this.gl.TRIANGLES,6)},p.dispose=function(){this.vao.dispose(),this.vertBuffer.dispose(),this.shader.dispose()}},{&quot;./shaders&quot;:161,&quot;gl-buffer&quot;:165,&quot;gl-vao&quot;:259}],161:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;gl-shader&quot;);r.line=function(t){return n(t,&quot;#define GLSLIFY 1\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&quot;,&quot;precision mediump float;\n#define GLSLIFY 1\nuniform vec4 color;\nvoid main() {\n  gl_FragColor = color;\n}&quot;,null,[{name:&quot;position&quot;,type:&quot;vec3&quot;}])};r.text=function(t){return n(t,&quot;#define GLSLIFY 1\nattribute vec3 position;\n\nuniform mat4 model, view, projection;\nuniform vec3 offset, axis;\nuniform float scale, angle, pixelScale;\nuniform vec2 resolution;\n\nvoid main() {  \n  //Compute plane offset\n  vec2 planeCoord = position.xy * pixelScale;\n  mat2 planeXform = scale * mat2(cos(angle), sin(angle),\n                                -sin(angle), cos(angle));\n  vec2 viewOffset = 2.0 * planeXform * planeCoord / resolution;\n\n  //Compute world offset\n  float axisDistance = position.z;\n  vec3 dataPosition = axisDistance * axis + offset;\n  vec4 worldPosition = model * vec4(dataPosition, 1);\n  \n  //Compute clip position\n  vec4 viewPosition = view * worldPosition;\n  vec4 clipPosition = projection * viewPosition;\n  clipPosition /= clipPosition.w;\n\n  //Apply text offset in clip coordinates\n  clipPosition += vec4(viewOffset, 0, 0);\n\n  //Done\n  gl_Position = clipPosition;\n}&quot;,&quot;precision mediump float;\n#define GLSLIFY 1\nuniform vec4 color;\nvoid main() {\n  gl_FragColor = color;\n}&quot;,null,[{name:&quot;position&quot;,type:&quot;vec3&quot;}])};r.bg=function(t){return n(t,&quot;#define GLSLIFY 1\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  if(dot(normal, enable) &gt; 0.0) {\n    vec3 nPosition = mix(bounds[0], bounds[1], 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  colorChannel = abs(normal);\n}&quot;,&quot;precision mediump 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}&quot;,null,[{name:&quot;position&quot;,type:&quot;vec3&quot;},{name:&quot;normal&quot;,type:&quot;vec3&quot;}])}},{&quot;gl-shader&quot;:243}],162:[function(t,e,r){(function(r){&quot;use strict&quot;;function n(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}e.exports=function(t,e,r,o,l,c){var u=i(t),f=a(t,[{buffer:u,size:3}]),h=s(t);h.attributes.position.location=0;var d=new n(t,h,u,f);return d.update(e,r,o,l,c),d};var i=t(&quot;gl-buffer&quot;),a=t(&quot;gl-vao&quot;),o=t(&quot;vectorize-text&quot;),s=t(&quot;./shaders&quot;).text,l=window||r.global||{},c=l.__TEXT_CACHE||{};l.__TEXT_CACHE={};var u=n.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.update=function(t,e,r,n,i){function a(t,e,r,n){var i=c[r];i||(i=c[r]={});var a=i[e];a||(a=i[e]=function(t,e){try{return o(t,e)}catch(t){return console.warn(&quot;error vectorizing text:&quot;,t),{cells:[],positions:[]}}}(e,{triangles:!0,font:r,textAlign:&quot;center&quot;,textBaseline:&quot;middle&quot;}));for(var l=(n||12)/12,u=a.positions,f=a.cells,h=0,d=f.length;h&lt;d;++h)for(var p=f[h],m=2;m&gt;=0;--m){var g=u[p[m]];s.push(l*g[0],-l*g[1],t)}}this.gl;for(var s=[],l=[0,0,0],u=[0,0,0],f=[0,0,0],h=[0,0,0],d=0;d&lt;3;++d){f[d]=s.length/3|0,a(.5*(t[0][d]+t[1][d]),e[d],r),h[d]=(s.length/3|0)-f[d],l[d]=s.length/3|0;for(var p=0;p&lt;n[d].length;++p)n[d][p].text&amp;&amp;a(n[d][p].x,n[d][p].text,n[d][p].font||i,n[d][p].fontSize||12);u[d]=(s.length/3|0)-l[d]}this.buffer.update(s),this.tickOffset=l,this.tickCount=u,this.labelOffset=f,this.labelCount=h};var h=[0,0,0];u.drawTicks=function(t,e,r,n,i){if(this.tickCount[t]){var a=h;a[0]=a[1]=a[2]=0,a[t]=1,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.vao.draw(this.gl.TRIANGLES,this.tickCount[t],this.tickOffset[t])}};var d=[0,0,0];u.drawLabel=function(t,e,r,n,i){this.labelCount[t]&amp;&amp;(this.shader.uniforms.axis=d,this.shader.uniforms.color=i,this.shader.uniforms.angle=r,this.shader.uniforms.scale=e,this.shader.uniforms.offset=n,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,t(&quot;_process&quot;))},{&quot;./shaders&quot;:161,_process:488,&quot;gl-buffer&quot;:165,&quot;gl-vao&quot;:259,&quot;vectorize-text&quot;:568}],163:[function(t,e,r){&quot;use strict&quot;;function n(t,e){var r=t+&quot;&quot;,n=r.indexOf(&quot;.&quot;),i=0;n&gt;=0&amp;&amp;(i=r.length-n-1);var a=Math.pow(10,i),o=Math.round(t*e*a),s=o+&quot;&quot;;if(s.indexOf(&quot;e&quot;)&gt;=0)return s;var l=o/a,c=o%a;o&lt;0?(l=0|-Math.ceil(l),c=0|-c):(l=0|Math.floor(l),c|=0);var u=&quot;&quot;+l;if(o&lt;0&amp;&amp;(u=&quot;-&quot;+u),i){for(var f=&quot;&quot;+c;f.length&lt;i;)f=&quot;0&quot;+f;return u+&quot;.&quot;+f}return u}r.create=function(t,e){for(var r=[],i=0;i&lt;3;++i){for(var a=[],o=(t[0][i],t[1][i],0);o*e[i]&lt;=t[1][i];++o)a.push({x:o*e[i],text:n(e[i],o)});for(o=-1;o*e[i]&gt;=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&lt;3;++r){if(t[r].length!==e[r].length)return!1;for(var n=0;n&lt;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}},{}],164:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r){this.lo=t,this.hi=e,this.pixelsPerDataUnit=r}function i(t,e,r,n,i){for(var a=0;a&lt;3;++a){for(var o=d,s=p,l=0;l&lt;3;++l)s[l]=o[l]=r[l];s[3]=o[3]=1,s[a]+=1,u(s,s,e),s[3]&lt;0&amp;&amp;(t[a]=1/0),o[a]-=1,u(o,o,e),o[3]&lt;0&amp;&amp;(t[a]=1/0);var c=(o[0]/o[3]-s[0]/s[3])*n,f=(o[1]/o[3]-s[1]/s[3])*i;t[a]=.25*Math.sqrt(c*c+f*f)}return t}e.exports=function(t,e,r,n,u){var d=e.model||f,p=e.view||f,v=e.projection||f,y=t.bounds,x=(u=u||s(d,p,v,y)).axis;u.edges,l(h,p,d),l(h,v,h);for(var b=m,_=0;_&lt;3;++_)b[_].lo=1/0,b[_].hi=-1/0,b[_].pixelsPerDataUnit=1/0;var w=a(c(h,h));c(h,h);for(var M=0;M&lt;3;++M){var k=(M+1)%3,A=(M+2)%3,T=g;t:for(_=0;_&lt;2;++_){var S=[];if(x[M]&lt;0!=!!_){T[M]=y[_][M];for(var E=0;E&lt;2;++E){T[k]=y[E^_][k];for(var L=0;L&lt;2;++L)T[A]=y[L^E^_][A],S.push(T.slice())}for(E=0;E&lt;w.length;++E){if(0===S.length)continue t;S=o.positive(S,w[E])}for(E=0;E&lt;S.length;++E){A=S[E];var C=i(g,h,A,r,n);for(L=0;L&lt;3;++L)b[L].lo=Math.min(b[L].lo,A[L]),b[L].hi=Math.max(b[L].hi,A[L]),L!==M&amp;&amp;(b[L].pixelsPerDataUnit=Math.min(b[L].pixelsPerDataUnit,Math.abs(C[L])))}}}}return b};var a=t(&quot;extract-frustum-planes&quot;),o=t(&quot;split-polygon&quot;),s=t(&quot;./lib/cube.js&quot;),l=t(&quot;gl-mat4/multiply&quot;),c=t(&quot;gl-mat4/transpose&quot;),u=t(&quot;gl-vec4/transformMat4&quot;),f=new Float32Array([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]),h=new Float32Array(16),d=[0,0,0,1],p=[0,0,0,1],m=[new n(1/0,-1/0,1/0),new n(1/0,-1/0,1/0),new n(1/0,-1/0,1/0)],g=[0,0,0]},{&quot;./lib/cube.js&quot;:159,&quot;extract-frustum-planes&quot;:139,&quot;gl-mat4/multiply&quot;:188,&quot;gl-mat4/transpose&quot;:196,&quot;gl-vec4/transformMat4&quot;:265,&quot;split-polygon&quot;:535}],165:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,n,i){this.gl=t,this.type=e,this.handle=r,this.length=n,this.usage=i}function i(t,e,r,n,i,a){var o=i.length*i.BYTES_PER_ELEMENT;if(a&lt;0)return t.bufferData(e,i,n),o;if(o+a&gt;r)throw new Error(&quot;gl-buffer: If resizing buffer, must not specify offset&quot;);return t.bufferSubData(e,a,i),r}function a(t,e){for(var r=o.malloc(t.length,e),n=t.length,i=0;i&lt;n;++i)r[i]=t[i];return r}var o=t(&quot;typedarray-pool&quot;),s=t(&quot;ndarray-ops&quot;),l=t(&quot;ndarray&quot;),c=[&quot;uint8&quot;,&quot;uint8_clamped&quot;,&quot;uint16&quot;,&quot;uint32&quot;,&quot;int8&quot;,&quot;int16&quot;,&quot;int32&quot;,&quot;float32&quot;],u=n.prototype;u.bind=function(){this.gl.bindBuffer(this.type,this.handle)},u.unbind=function(){this.gl.bindBuffer(this.type,null)},u.dispose=function(){this.gl.deleteBuffer(this.handle)},u.update=function(t,e){if(&quot;number&quot;!=typeof e&amp;&amp;(e=-1),this.bind(),&quot;object&quot;==typeof t&amp;&amp;void 0!==t.shape){var r=t.dtype;if(c.indexOf(r)&lt;0&amp;&amp;(r=&quot;float32&quot;),this.type===this.gl.ELEMENT_ARRAY_BUFFER){r=gl.getExtension(&quot;OES_element_index_uint&quot;)&amp;&amp;&quot;uint16&quot;!==r?&quot;uint32&quot;:&quot;uint16&quot;}if(r===t.dtype&amp;&amp;function(t,e){for(var r=1,n=e.length-1;n&gt;=0;--n){if(e[n]!==r)return!1;r*=t[n]}return!0}(t.shape,t.stride))0===t.offset&amp;&amp;t.data.length===t.shape[0]?this.length=i(this.gl,this.type,this.length,this.usage,t.data,e):this.length=i(this.gl,this.type,this.length,this.usage,t.data.subarray(t.offset,t.shape[0]),e);else{var n=o.malloc(t.size,r),u=l(n,t.shape);s.assign(u,t),this.length=e&lt;0?i(this.gl,this.type,this.length,this.usage,n,e):i(this.gl,this.type,this.length,this.usage,n.subarray(0,t.size),e),o.free(n)}}else if(Array.isArray(t)){var f;f=this.type===this.gl.ELEMENT_ARRAY_BUFFER?a(t,&quot;uint16&quot;):a(t,&quot;float32&quot;),this.length=e&lt;0?i(this.gl,this.type,this.length,this.usage,f,e):i(this.gl,this.type,this.length,this.usage,f.subarray(0,t.length),e),o.free(f)}else if(&quot;object&quot;==typeof t&amp;&amp;&quot;number&quot;==typeof t.length)this.length=i(this.gl,this.type,this.length,this.usage,t,e);else{if(&quot;number&quot;!=typeof t&amp;&amp;void 0!==t)throw new Error(&quot;gl-buffer: Invalid data type&quot;);if(e&gt;=0)throw new Error(&quot;gl-buffer: Cannot specify offset when resizing buffer&quot;);(t|=0)&lt;=0&amp;&amp;(t=1),this.gl.bufferData(this.type,0|t,this.usage),this.length=t}},e.exports=function(t,e,r,i){if(r=r||t.ARRAY_BUFFER,i=i||t.DYNAMIC_DRAW,r!==t.ARRAY_BUFFER&amp;&amp;r!==t.ELEMENT_ARRAY_BUFFER)throw new Error(&quot;gl-buffer: Invalid type for webgl buffer, must be either gl.ARRAY_BUFFER or gl.ELEMENT_ARRAY_BUFFER&quot;);if(i!==t.DYNAMIC_DRAW&amp;&amp;i!==t.STATIC_DRAW&amp;&amp;i!==t.STREAM_DRAW)throw new Error(&quot;gl-buffer: Invalid usage for buffer, must be either gl.DYNAMIC_DRAW, gl.STATIC_DRAW or gl.STREAM_DRAW&quot;);var a=new n(t,r,t.createBuffer(),0,i);return a.update(e),a}},{ndarray:458,&quot;ndarray-ops&quot;:452,&quot;typedarray-pool&quot;:554}],166:[function(t,e,r){e.exports={0:&quot;NONE&quot;,1:&quot;ONE&quot;,2:&quot;LINE_LOOP&quot;,3:&quot;LINE_STRIP&quot;,4:&quot;TRIANGLES&quot;,5:&quot;TRIANGLE_STRIP&quot;,6:&quot;TRIANGLE_FAN&quot;,256:&quot;DEPTH_BUFFER_BIT&quot;,512:&quot;NEVER&quot;,513:&quot;LESS&quot;,514:&quot;EQUAL&quot;,515:&quot;LEQUAL&quot;,516:&quot;GREATER&quot;,517:&quot;NOTEQUAL&quot;,518:&quot;GEQUAL&quot;,519:&quot;ALWAYS&quot;,768:&quot;SRC_COLOR&quot;,769:&quot;ONE_MINUS_SRC_COLOR&quot;,770:&quot;SRC_ALPHA&quot;,771:&quot;ONE_MINUS_SRC_ALPHA&quot;,772:&quot;DST_ALPHA&quot;,773:&quot;ONE_MINUS_DST_ALPHA&quot;,774:&quot;DST_COLOR&quot;,775:&quot;ONE_MINUS_DST_COLOR&quot;,776:&quot;SRC_ALPHA_SATURATE&quot;,1024:&quot;STENCIL_BUFFER_BIT&quot;,1028:&quot;FRONT&quot;,1029:&quot;BACK&quot;,1032:&quot;FRONT_AND_BACK&quot;,1280:&quot;INVALID_ENUM&quot;,1281:&quot;INVALID_VALUE&quot;,1282:&quot;INVALID_OPERATION&quot;,1285:&quot;OUT_OF_MEMORY&quot;,1286:&quot;INVALID_FRAMEBUFFER_OPERATION&quot;,2304:&quot;CW&quot;,2305:&quot;CCW&quot;,2849:&quot;LINE_WIDTH&quot;,2884:&quot;CULL_FACE&quot;,2885:&quot;CULL_FACE_MODE&quot;,2886:&quot;FRONT_FACE&quot;,2928:&quot;DEPTH_RANGE&quot;,2929:&quot;DEPTH_TEST&quot;,2930:&quot;DEPTH_WRITEMASK&quot;,2931:&quot;DEPTH_CLEAR_VALUE&quot;,2932:&quot;DEPTH_FUNC&quot;,2960:&quot;STENCIL_TEST&quot;,2961:&quot;STENCIL_CLEAR_VALUE&quot;,2962:&quot;STENCIL_FUNC&quot;,2963:&quot;STENCIL_VALUE_MASK&quot;,2964:&quot;STENCIL_FAIL&quot;,2965:&quot;STENCIL_PASS_DEPTH_FAIL&quot;,2966:&quot;STENCIL_PASS_DEPTH_PASS&quot;,2967:&quot;STENCIL_REF&quot;,2968:&quot;STENCIL_WRITEMASK&quot;,2978:&quot;VIEWPORT&quot;,3024:&quot;DITHER&quot;,3042:&quot;BLEND&quot;,3088:&quot;SCISSOR_BOX&quot;,3089:&quot;SCISSOR_TEST&quot;,3106:&quot;COLOR_CLEAR_VALUE&quot;,3107:&quot;COLOR_WRITEMASK&quot;,3317:&quot;UNPACK_ALIGNMENT&quot;,3333:&quot;PACK_ALIGNMENT&quot;,3379:&quot;MAX_TEXTURE_SIZE&quot;,3386:&quot;MAX_VIEWPORT_DIMS&quot;,3408:&quot;SUBPIXEL_BITS&quot;,3410:&quot;RED_BITS&quot;,3411:&quot;GREEN_BITS&quot;,3412:&quot;BLUE_BITS&quot;,3413:&quot;ALPHA_BITS&quot;,3414:&quot;DEPTH_BITS&quot;,3415:&quot;STENCIL_BITS&quot;,3553:&quot;TEXTURE_2D&quot;,4352:&quot;DONT_CARE&quot;,4353:&quot;FASTEST&quot;,4354:&quot;NICEST&quot;,5120:&quot;BYTE&quot;,5121:&quot;UNSIGNED_BYTE&quot;,5122:&quot;SHORT&quot;,5123:&quot;UNSIGNED_SHORT&quot;,5124:&quot;INT&quot;,5125:&quot;UNSIGNED_INT&quot;,5126:&quot;FLOAT&quot;,5386:&quot;INVERT&quot;,5890:&quot;TEXTURE&quot;,6401:&quot;STENCIL_INDEX&quot;,6402:&quot;DEPTH_COMPONENT&quot;,6406:&quot;ALPHA&quot;,6407:&quot;RGB&quot;,6408:&quot;RGBA&quot;,6409:&quot;LUMINANCE&quot;,6410:&quot;LUMINANCE_ALPHA&quot;,7680:&quot;KEEP&quot;,7681:&quot;REPLACE&quot;,7682:&quot;INCR&quot;,7683:&quot;DECR&quot;,7936:&quot;VENDOR&quot;,7937:&quot;RENDERER&quot;,7938:&quot;VERSION&quot;,9728:&quot;NEAREST&quot;,9729:&quot;LINEAR&quot;,9984:&quot;NEAREST_MIPMAP_NEAREST&quot;,9985:&quot;LINEAR_MIPMAP_NEAREST&quot;,9986:&quot;NEAREST_MIPMAP_LINEAR&quot;,9987:&quot;LINEAR_MIPMAP_LINEAR&quot;,10240:&quot;TEXTURE_MAG_FILTER&quot;,10241:&quot;TEXTURE_MIN_FILTER&quot;,10242:&quot;TEXTURE_WRAP_S&quot;,10243:&quot;TEXTURE_WRAP_T&quot;,10497:&quot;REPEAT&quot;,10752:&quot;POLYGON_OFFSET_UNITS&quot;,16384:&quot;COLOR_BUFFER_BIT&quot;,32769:&quot;CONSTANT_COLOR&quot;,32770:&quot;ONE_MINUS_CONSTANT_COLOR&quot;,32771:&quot;CONSTANT_ALPHA&quot;,32772:&quot;ONE_MINUS_CONSTANT_ALPHA&quot;,32773:&quot;BLEND_COLOR&quot;,32774:&quot;FUNC_ADD&quot;,32777:&quot;BLEND_EQUATION_RGB&quot;,32778:&quot;FUNC_SUBTRACT&quot;,32779:&quot;FUNC_REVERSE_SUBTRACT&quot;,32819:&quot;UNSIGNED_SHORT_4_4_4_4&quot;,32820:&quot;UNSIGNED_SHORT_5_5_5_1&quot;,32823:&quot;POLYGON_OFFSET_FILL&quot;,32824:&quot;POLYGON_OFFSET_FACTOR&quot;,32854:&quot;RGBA4&quot;,32855:&quot;RGB5_A1&quot;,32873:&quot;TEXTURE_BINDING_2D&quot;,32926:&quot;SAMPLE_ALPHA_TO_COVERAGE&quot;,32928:&quot;SAMPLE_COVERAGE&quot;,32936:&quot;SAMPLE_BUFFERS&quot;,32937:&quot;SAMPLES&quot;,32938:&quot;SAMPLE_COVERAGE_VALUE&quot;,32939:&quot;SAMPLE_COVERAGE_INVERT&quot;,32968:&quot;BLEND_DST_RGB&quot;,32969:&quot;BLEND_SRC_RGB&quot;,32970:&quot;BLEND_DST_ALPHA&quot;,32971:&quot;BLEND_SRC_ALPHA&quot;,33071:&quot;CLAMP_TO_EDGE&quot;,33170:&quot;GENERATE_MIPMAP_HINT&quot;,33189:&quot;DEPTH_COMPONENT16&quot;,33306:&quot;DEPTH_STENCIL_ATTACHMENT&quot;,33635:&quot;UNSIGNED_SHORT_5_6_5&quot;,33648:&quot;MIRRORED_REPEAT&quot;,33901:&quot;ALIASED_POINT_SIZE_RANGE&quot;,33902:&quot;ALIASED_LINE_WIDTH_RANGE&quot;,33984:&quot;TEXTURE0&quot;,33985:&quot;TEXTURE1&quot;,33986:&quot;TEXTURE2&quot;,33987:&quot;TEXTURE3&quot;,33988:&quot;TEXTURE4&quot;,33989:&quot;TEXTURE5&quot;,33990:&quot;TEXTURE6&quot;,33991:&quot;TEXTURE7&quot;,33992:&quot;TEXTURE8&quot;,33993:&quot;TEXTURE9&quot;,33994:&quot;TEXTURE10&quot;,33995:&quot;TEXTURE11&quot;,33996:&quot;TEXTURE12&quot;,33997:&quot;TEXTURE13&quot;,33998:&quot;TEXTURE14&quot;,33999:&quot;TEXTURE15&quot;,34e3:&quot;TEXTURE16&quot;,34001:&quot;TEXTURE17&quot;,34002:&quot;TEXTURE18&quot;,34003:&quot;TEXTURE19&quot;,34004:&quot;TEXTURE20&quot;,34005:&quot;TEXTURE21&quot;,34006:&quot;TEXTURE22&quot;,34007:&quot;TEXTURE23&quot;,34008:&quot;TEXTURE24&quot;,34009:&quot;TEXTURE25&quot;,34010:&quot;TEXTURE26&quot;,34011:&quot;TEXTURE27&quot;,34012:&quot;TEXTURE28&quot;,34013:&quot;TEXTURE29&quot;,34014:&quot;TEXTURE30&quot;,34015:&quot;TEXTURE31&quot;,34016:&quot;ACTIVE_TEXTURE&quot;,34024:&quot;MAX_RENDERBUFFER_SIZE&quot;,34041:&quot;DEPTH_STENCIL&quot;,34055:&quot;INCR_WRAP&quot;,34056:&quot;DECR_WRAP&quot;,34067:&quot;TEXTURE_CUBE_MAP&quot;,34068:&quot;TEXTURE_BINDING_CUBE_MAP&quot;,34069:&quot;TEXTURE_CUBE_MAP_POSITIVE_X&quot;,34070:&quot;TEXTURE_CUBE_MAP_NEGATIVE_X&quot;,34071:&quot;TEXTURE_CUBE_MAP_POSITIVE_Y&quot;,34072:&quot;TEXTURE_CUBE_MAP_NEGATIVE_Y&quot;,34073:&quot;TEXTURE_CUBE_MAP_POSITIVE_Z&quot;,34074:&quot;TEXTURE_CUBE_MAP_NEGATIVE_Z&quot;,34076:&quot;MAX_CUBE_MAP_TEXTURE_SIZE&quot;,34338:&quot;VERTEX_ATTRIB_ARRAY_ENABLED&quot;,34339:&quot;VERTEX_ATTRIB_ARRAY_SIZE&quot;,34340:&quot;VERTEX_ATTRIB_ARRAY_STRIDE&quot;,34341:&quot;VERTEX_ATTRIB_ARRAY_TYPE&quot;,34342:&quot;CURRENT_VERTEX_ATTRIB&quot;,34373:&quot;VERTEX_ATTRIB_ARRAY_POINTER&quot;,34466:&quot;NUM_COMPRESSED_TEXTURE_FORMATS&quot;,34467:&quot;COMPRESSED_TEXTURE_FORMATS&quot;,34660:&quot;BUFFER_SIZE&quot;,34661:&quot;BUFFER_USAGE&quot;,34816:&quot;STENCIL_BACK_FUNC&quot;,34817:&quot;STENCIL_BACK_FAIL&quot;,34818:&quot;STENCIL_BACK_PASS_DEPTH_FAIL&quot;,34819:&quot;STENCIL_BACK_PASS_DEPTH_PASS&quot;,34877:&quot;BLEND_EQUATION_ALPHA&quot;,34921:&quot;MAX_VERTEX_ATTRIBS&quot;,34922:&quot;VERTEX_ATTRIB_ARRAY_NORMALIZED&quot;,34930:&quot;MAX_TEXTURE_IMAGE_UNITS&quot;,34962:&quot;ARRAY_BUFFER&quot;,34963:&quot;ELEMENT_ARRAY_BUFFER&quot;,34964:&quot;ARRAY_BUFFER_BINDING&quot;,34965:&quot;ELEMENT_ARRAY_BUFFER_BINDING&quot;,34975:&quot;VERTEX_ATTRIB_ARRAY_BUFFER_BINDING&quot;,35040:&quot;STREAM_DRAW&quot;,35044:&quot;STATIC_DRAW&quot;,35048:&quot;DYNAMIC_DRAW&quot;,35632:&quot;FRAGMENT_SHADER&quot;,35633:&quot;VERTEX_SHADER&quot;,35660:&quot;MAX_VERTEX_TEXTURE_IMAGE_UNITS&quot;,35661:&quot;MAX_COMBINED_TEXTURE_IMAGE_UNITS&quot;,35663:&quot;SHADER_TYPE&quot;,35664:&quot;FLOAT_VEC2&quot;,35665:&quot;FLOAT_VEC3&quot;,35666:&quot;FLOAT_VEC4&quot;,35667:&quot;INT_VEC2&quot;,35668:&quot;INT_VEC3&quot;,35669:&quot;INT_VEC4&quot;,35670:&quot;BOOL&quot;,35671:&quot;BOOL_VEC2&quot;,35672:&quot;BOOL_VEC3&quot;,35673:&quot;BOOL_VEC4&quot;,35674:&quot;FLOAT_MAT2&quot;,35675:&quot;FLOAT_MAT3&quot;,35676:&quot;FLOAT_MAT4&quot;,35678:&quot;SAMPLER_2D&quot;,35680:&quot;SAMPLER_CUBE&quot;,35712:&quot;DELETE_STATUS&quot;,35713:&quot;COMPILE_STATUS&quot;,35714:&quot;LINK_STATUS&quot;,35715:&quot;VALIDATE_STATUS&quot;,35716:&quot;INFO_LOG_LENGTH&quot;,35717:&quot;ATTACHED_SHADERS&quot;,35718:&quot;ACTIVE_UNIFORMS&quot;,35719:&quot;ACTIVE_UNIFORM_MAX_LENGTH&quot;,35720:&quot;SHADER_SOURCE_LENGTH&quot;,35721:&quot;ACTIVE_ATTRIBUTES&quot;,35722:&quot;ACTIVE_ATTRIBUTE_MAX_LENGTH&quot;,35724:&quot;SHADING_LANGUAGE_VERSION&quot;,35725:&quot;CURRENT_PROGRAM&quot;,36003:&quot;STENCIL_BACK_REF&quot;,36004:&quot;STENCIL_BACK_VALUE_MASK&quot;,36005:&quot;STENCIL_BACK_WRITEMASK&quot;,36006:&quot;FRAMEBUFFER_BINDING&quot;,36007:&quot;RENDERBUFFER_BINDING&quot;,36048:&quot;FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE&quot;,36049:&quot;FRAMEBUFFER_ATTACHMENT_OBJECT_NAME&quot;,36050:&quot;FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL&quot;,36051:&quot;FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE&quot;,36053:&quot;FRAMEBUFFER_COMPLETE&quot;,36054:&quot;FRAMEBUFFER_INCOMPLETE_ATTACHMENT&quot;,36055:&quot;FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT&quot;,36057:&quot;FRAMEBUFFER_INCOMPLETE_DIMENSIONS&quot;,36061:&quot;FRAMEBUFFER_UNSUPPORTED&quot;,36064:&quot;COLOR_ATTACHMENT0&quot;,36096:&quot;DEPTH_ATTACHMENT&quot;,36128:&quot;STENCIL_ATTACHMENT&quot;,36160:&quot;FRAMEBUFFER&quot;,36161:&quot;RENDERBUFFER&quot;,36162:&quot;RENDERBUFFER_WIDTH&quot;,36163:&quot;RENDERBUFFER_HEIGHT&quot;,36164:&quot;RENDERBUFFER_INTERNAL_FORMAT&quot;,36168:&quot;STENCIL_INDEX8&quot;,36176:&quot;RENDERBUFFER_RED_SIZE&quot;,36177:&quot;RENDERBUFFER_GREEN_SIZE&quot;,36178:&quot;RENDERBUFFER_BLUE_SIZE&quot;,36179:&quot;RENDERBUFFER_ALPHA_SIZE&quot;,36180:&quot;RENDERBUFFER_DEPTH_SIZE&quot;,36181:&quot;RENDERBUFFER_STENCIL_SIZE&quot;,36194:&quot;RGB565&quot;,36336:&quot;LOW_FLOAT&quot;,36337:&quot;MEDIUM_FLOAT&quot;,36338:&quot;HIGH_FLOAT&quot;,36339:&quot;LOW_INT&quot;,36340:&quot;MEDIUM_INT&quot;,36341:&quot;HIGH_INT&quot;,36346:&quot;SHADER_COMPILER&quot;,36347:&quot;MAX_VERTEX_UNIFORM_VECTORS&quot;,36348:&quot;MAX_VARYING_VECTORS&quot;,36349:&quot;MAX_FRAGMENT_UNIFORM_VECTORS&quot;,37440:&quot;UNPACK_FLIP_Y_WEBGL&quot;,37441:&quot;UNPACK_PREMULTIPLY_ALPHA_WEBGL&quot;,37442:&quot;CONTEXT_LOST_WEBGL&quot;,37443:&quot;UNPACK_COLORSPACE_CONVERSION_WEBGL&quot;,37444:&quot;BROWSER_DEFAULT_WEBGL&quot;}},{}],167:[function(t,e,r){var n=t(&quot;./1.0/numbers&quot;);e.exports=function(t){return n[t]}},{&quot;./1.0/numbers&quot;:166}],168:[function(t,e,r){&quot;use strict&quot;;function n(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}function i(t,e){for(var r=0;r&lt;3;++r)t[0][r]=Math.min(t[0][r],e[r]),t[1][r]=Math.max(t[1][r],e[r])}function a(t,e,r,n){for(var i=f[n],a=0;a&lt;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}e.exports=function(t){var e=t.gl,r=o(e),i=s(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}]),a=l(e);a.attributes.position.location=0,a.attributes.color.location=1,a.attributes.offset.location=2;var c=new n(e,r,i,a);return c.update(t),c};var o=t(&quot;gl-buffer&quot;),s=t(&quot;gl-vao&quot;),l=t(&quot;./shaders/index&quot;),c=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],u=n.prototype;u.isOpaque=function(){return this.opacity&gt;=1},u.isTransparent=function(){return this.opacity&lt;1},u.drawTransparent=u.draw=function(t){var e=this.gl,r=this.shader.uniforms;this.shader.bind();var n=r.view=t.view||c,i=r.projection=t.projection||c;r.model=t.model||c,r.clipBounds=this.clipBounds,r.opacity=this.opacity;var a=n[12],o=n[13],s=n[14],l=n[15],u=this.pixelRatio*(i[3]*a+i[7]*o+i[11]*s+i[15]*l)/e.drawingBufferHeight;this.vao.bind();for(var f=0;f&lt;3;++f)e.lineWidth(this.lineWidth[f]),r.capSize=this.capSize[f]*u,this.lineCount[f]&amp;&amp;e.drawArrays(e.LINES,this.lineOffset[f],this.lineCount[f]);this.vao.unbind()};var f=function(){for(var t=new Array(3),e=0;e&lt;3;++e){for(var r=[],n=1;n&lt;=2;++n)for(var i=-1;i&lt;=1;i+=2){var a=[0,0,0];a[(n+e)%3]=i,r.push(a)}t[e]=r}return t}();u.update=function(t){&quot;lineWidth&quot;in(t=t||{})&amp;&amp;(this.lineWidth=t.lineWidth,Array.isArray(this.lineWidth)||(this.lineWidth=[this.lineWidth,this.lineWidth,this.lineWidth])),&quot;capSize&quot;in t&amp;&amp;(this.capSize=t.capSize,Array.isArray(this.capSize)||(this.capSize=[this.capSize,this.capSize,this.capSize])),&quot;opacity&quot;in t&amp;&amp;(this.opacity=t.opacity);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&amp;&amp;n){var o=[],s=r.length,l=0;this.bounds=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],this.lineCount=[0,0,0];for(var c=0;c&lt;3;++c){this.lineOffset[c]=l;t:for(var u=0;u&lt;s;++u){for(var f=r[u],h=0;h&lt;3;++h)if(isNaN(f[h])||!isFinite(f[h]))continue t;var d=n[u],p=e[c];if(Array.isArray(p[0])&amp;&amp;(p=e[u]),3===p.length&amp;&amp;(p=[p[0],p[1],p[2],1]),!isNaN(d[0][c])&amp;&amp;!isNaN(d[1][c])){if(d[0][c]&lt;0){(m=f.slice())[c]+=d[0][c],o.push(f[0],f[1],f[2],p[0],p[1],p[2],p[3],0,0,0,m[0],m[1],m[2],p[0],p[1],p[2],p[3],0,0,0),i(this.bounds,m),l+=2+a(o,m,p,c)}if(d[1][c]&gt;0){var m;(m=f.slice())[c]+=d[1][c],o.push(f[0],f[1],f[2],p[0],p[1],p[2],p[3],0,0,0,m[0],m[1],m[2],p[0],p[1],p[2],p[3],0,0,0),i(this.bounds,m),l+=2+a(o,m,p,c)}}}this.lineCount[c]=l-this.lineOffset[c]}this.buffer.update(o)}},u.dispose=function(){this.shader.dispose(),this.buffer.dispose(),this.vao.dispose()}},{&quot;./shaders/index&quot;:170,&quot;gl-buffer&quot;:165,&quot;gl-vao&quot;:259}],169:[function(t,e,r){e.exports=function(t){&quot;string&quot;==typeof t&amp;&amp;(t=[t]);for(var e=[].slice.call(arguments,1),r=[],n=0;n&lt;t.length-1;n++)r.push(t[n],e[n]||&quot;&quot;);return r.push(t[n]),r.join(&quot;&quot;)}},{}],170:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;glslify&quot;),i=t(&quot;gl-shader&quot;),a=n([&quot;precision mediump 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}&quot;]),o=n([&quot;precision mediump float;\n#define GLSLIFY 1\nuniform vec3 clipBounds[2];\nuniform float opacity;\nvarying vec3 fragPosition;\nvarying vec4 fragColor;\n\nvoid main() {\n  if(any(lessThan(fragPosition, clipBounds[0])) || any(greaterThan(fragPosition, clipBounds[1]))) {\n    discard;\n  }\n  gl_FragColor = opacity * fragColor;\n}&quot;]);e.exports=function(t){return i(t,a,o,null,[{name:&quot;position&quot;,type:&quot;vec3&quot;},{name:&quot;color&quot;,type:&quot;vec4&quot;},{name:&quot;offset&quot;,type:&quot;vec3&quot;}])}},{&quot;gl-shader&quot;:243,glslify:169}],171:[function(t,e,r){&quot;use strict&quot;;function n(t){return[t.getParameter(t.FRAMEBUFFER_BINDING),t.getParameter(t.RENDERBUFFER_BINDING),t.getParameter(t.TEXTURE_BINDING_2D)]}function i(t,e){t.bindFramebuffer(t.FRAMEBUFFER,e[0]),t.bindRenderbuffer(t.RENDERBUFFER,e[1]),t.bindTexture(t.TEXTURE_2D,e[2])}function a(t){switch(t){case f:throw new Error(&quot;gl-fbo: Framebuffer unsupported&quot;);case h:throw new Error(&quot;gl-fbo: Framebuffer incomplete attachment&quot;);case d:throw new Error(&quot;gl-fbo: Framebuffer incomplete dimensions&quot;);case p:throw new Error(&quot;gl-fbo: Framebuffer incomplete missing attachment&quot;);default:throw new Error(&quot;gl-fbo: Framebuffer failed for unspecified reason&quot;)}}function o(t,e,r,n,i,a){if(!n)return null;var o=u(t,e,r,i,n);return o.magFilter=t.NEAREST,o.minFilter=t.NEAREST,o.mipSamples=1,o.bind(),t.framebufferTexture2D(t.FRAMEBUFFER,a,t.TEXTURE_2D,o.handle,0),o}function s(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 l(t,e,r,l,c,u,f,h){this.gl=t,this._shape=[0|e,0|r],this._destroyed=!1,this._ext=h,this.color=new Array(c);for(var d=0;d&lt;c;++d)this.color[d]=null;this._color_rb=null,this.depth=null,this._depth_rb=null,this._colorType=l,this._useDepth=u,this._useStencil=f;var p=this,g=[0|e,0|r];Object.defineProperties(g,{0:{get:function(){return p._shape[0]},set:function(t){return p.width=t}},1:{get:function(){return p._shape[1]},set:function(t){return p.height=t}}}),this._shapeVector=g,function(t){var e=n(t.gl),r=t.gl,l=t.handle=r.createFramebuffer(),c=t._shape[0],u=t._shape[1],f=t.color.length,h=t._ext,d=t._useStencil,p=t._useDepth,g=t._colorType;r.bindFramebuffer(r.FRAMEBUFFER,l);for(var v=0;v&lt;f;++v)t.color[v]=o(r,c,u,g,r.RGBA,r.COLOR_ATTACHMENT0+v);0===f?(t._color_rb=s(r,c,u,r.RGBA4,r.COLOR_ATTACHMENT0),h&amp;&amp;h.drawBuffersWEBGL(m[0])):f&gt;1&amp;&amp;h.drawBuffersWEBGL(m[f]);var y=r.getExtension(&quot;WEBGL_depth_texture&quot;);y?d?t.depth=o(r,c,u,y.UNSIGNED_INT_24_8_WEBGL,r.DEPTH_STENCIL,r.DEPTH_STENCIL_ATTACHMENT):p&amp;&amp;(t.depth=o(r,c,u,r.UNSIGNED_SHORT,r.DEPTH_COMPONENT,r.DEPTH_ATTACHMENT)):p&amp;&amp;d?t._depth_rb=s(r,c,u,r.DEPTH_STENCIL,r.DEPTH_STENCIL_ATTACHMENT):p?t._depth_rb=s(r,c,u,r.DEPTH_COMPONENT16,r.DEPTH_ATTACHMENT):d&amp;&amp;(t._depth_rb=s(r,c,u,r.STENCIL_INDEX,r.STENCIL_ATTACHMENT));var x=r.checkFramebufferStatus(r.FRAMEBUFFER);if(x!==r.FRAMEBUFFER_COMPLETE){for(t._destroyed=!0,r.bindFramebuffer(r.FRAMEBUFFER,null),r.deleteFramebuffer(t.handle),t.handle=null,t.depth&amp;&amp;(t.depth.dispose(),t.depth=null),t._depth_rb&amp;&amp;(r.deleteRenderbuffer(t._depth_rb),t._depth_rb=null),v=0;v&lt;t.color.length;++v)t.color[v].dispose(),t.color[v]=null;t._color_rb&amp;&amp;(r.deleteRenderbuffer(t._color_rb),t._color_rb=null),i(r,e),a(x)}i(r,e)}(this)}function c(t,e,r){if(t._destroyed)throw new Error(&quot;gl-fbo: Can't resize destroyed FBO&quot;);if(t._shape[0]!==e||t._shape[1]!==r){var o=t.gl,s=o.getParameter(o.MAX_RENDERBUFFER_SIZE);if(e&lt;0||e&gt;s||r&lt;0||r&gt;s)throw new Error(&quot;gl-fbo: Can't resize FBO, invalid dimensions&quot;);t._shape[0]=e,t._shape[1]=r;for(var l=n(o),c=0;c&lt;t.color.length;++c)t.color[c].shape=t._shape;t._color_rb&amp;&amp;(o.bindRenderbuffer(o.RENDERBUFFER,t._color_rb),o.renderbufferStorage(o.RENDERBUFFER,o.RGBA4,t._shape[0],t._shape[1])),t.depth&amp;&amp;(t.depth.shape=t._shape),t._depth_rb&amp;&amp;(o.bindRenderbuffer(o.RENDERBUFFER,t._depth_rb),t._useDepth&amp;&amp;t._useStencil?o.renderbufferStorage(o.RENDERBUFFER,o.DEPTH_STENCIL,t._shape[0],t._shape[1]):t._useDepth?o.renderbufferStorage(o.RENDERBUFFER,o.DEPTH_COMPONENT16,t._shape[0],t._shape[1]):t._useStencil&amp;&amp;o.renderbufferStorage(o.RENDERBUFFER,o.STENCIL_INDEX,t._shape[0],t._shape[1])),o.bindFramebuffer(o.FRAMEBUFFER,t.handle);var u=o.checkFramebufferStatus(o.FRAMEBUFFER);u!==o.FRAMEBUFFER_COMPLETE&amp;&amp;(t.dispose(),i(o,l),a(u)),i(o,l)}}var u=t(&quot;gl-texture2d&quot;);e.exports=function(t,e,r,n){f||(f=t.FRAMEBUFFER_UNSUPPORTED,h=t.FRAMEBUFFER_INCOMPLETE_ATTACHMENT,d=t.FRAMEBUFFER_INCOMPLETE_DIMENSIONS,p=t.FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT);var i=t.getExtension(&quot;WEBGL_draw_buffers&quot;);if(!m&amp;&amp;i&amp;&amp;function(t,e){var r=t.getParameter(e.MAX_COLOR_ATTACHMENTS_WEBGL);m=new Array(r+1);for(var n=0;n&lt;=r;++n){for(var i=new Array(r),a=0;a&lt;n;++a)i[a]=t.COLOR_ATTACHMENT0+a;for(a=n;a&lt;r;++a)i[a]=t.NONE;m[n]=i}}(t,i),Array.isArray(e)&amp;&amp;(n=r,r=0|e[1],e=0|e[0]),&quot;number&quot;!=typeof e)throw new Error(&quot;gl-fbo: Missing shape parameter&quot;);var a=t.getParameter(t.MAX_RENDERBUFFER_SIZE);if(e&lt;0||e&gt;a||r&lt;0||r&gt;a)throw new Error(&quot;gl-fbo: Parameters are too large for FBO&quot;);var o=1;if(&quot;color&quot;in(n=n||{})){if((o=Math.max(0|n.color,0))&lt;0)throw new Error(&quot;gl-fbo: Must specify a nonnegative number of colors&quot;);if(o&gt;1){if(!i)throw new Error(&quot;gl-fbo: Multiple draw buffer extension not supported&quot;);if(o&gt;t.getParameter(i.MAX_COLOR_ATTACHMENTS_WEBGL))throw new Error(&quot;gl-fbo: Context does not support &quot;+o+&quot; draw buffers&quot;)}}var s=t.UNSIGNED_BYTE,c=t.getExtension(&quot;OES_texture_float&quot;);if(n.float&amp;&amp;o&gt;0){if(!c)throw new Error(&quot;gl-fbo: Context does not support floating point textures&quot;);s=t.FLOAT}else n.preferFloat&amp;&amp;o&gt;0&amp;&amp;c&amp;&amp;(s=t.FLOAT);var u=!0;&quot;depth&quot;in n&amp;&amp;(u=!!n.depth);var g=!1;return&quot;stencil&quot;in n&amp;&amp;(g=!!n.stencil),new l(t,e,r,s,o,u,g,i)};var f,h,d,p,m=null,g=l.prototype;Object.defineProperties(g,{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(&quot;gl-fbo: Shape vector must be length 2&quot;);var e=0|t[0],r=0|t[1];return c(this,e,r),[e,r]},enumerable:!1},width:{get:function(){return this._destroyed?0:this._shape[0]},set:function(t){return t|=0,c(this,t,this._shape[1]),t},enumerable:!1},height:{get:function(){return this._destroyed?0:this._shape[1]},set:function(t){return t|=0,c(this,this._shape[0],t),t},enumerable:!1}}),g.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])}},g.dispose=function(){if(!this._destroyed){this._destroyed=!0;var t=this.gl;t.deleteFramebuffer(this.handle),this.handle=null,this.depth&amp;&amp;(this.depth.dispose(),this.depth=null),this._depth_rb&amp;&amp;(t.deleteRenderbuffer(this._depth_rb),this._depth_rb=null);for(var e=0;e&lt;this.color.length;++e)this.color[e].dispose(),this.color[e]=null;this._color_rb&amp;&amp;(t.deleteRenderbuffer(this._color_rb),this._color_rb=null)}}},{&quot;gl-texture2d&quot;:255}],172:[function(t,e,r){var n=t(&quot;sprintf-js&quot;).sprintf,i=t(&quot;gl-constants/lookup&quot;),a=t(&quot;glsl-shader-name&quot;),o=t(&quot;add-line-numbers&quot;);e.exports=function(t,e,r){&quot;use strict&quot;;var s=a(e)||&quot;of unknown name (see npm glsl-shader-name)&quot;,l=&quot;unknown type&quot;;void 0!==r&amp;&amp;(l=r===i.FRAGMENT_SHADER?&quot;fragment&quot;:&quot;vertex&quot;);for(var c=n(&quot;Error compiling %s shader %s:\n&quot;,l,s),u=n(&quot;%s%s&quot;,c,t),f=t.split(&quot;\n&quot;),h={},d=0;d&lt;f.length;d++){var p=f[d];if(&quot;&quot;!==p){var m=parseInt(p.split(&quot;:&quot;)[2]);if(isNaN(m))throw new Error(n(&quot;Could not parse error: %s&quot;,p));h[m]=p}}var g=o(e).split(&quot;\n&quot;);for(d=0;d&lt;g.length;d++)if((h[d+3]||h[d+2]||h[d+1])&amp;&amp;(c+=g[d]+&quot;\n&quot;,h[d+1])){var v=h[d+1];v=v.substr(v.split(&quot;:&quot;,3).join(&quot;:&quot;).length+1).trim(),c+=n(&quot;^^^ %s\n\n&quot;,v)}return{long:c.trim(),short:u.trim()}}},{&quot;add-line-numbers&quot;:44,&quot;gl-constants/lookup&quot;:167,&quot;glsl-shader-name&quot;:267,&quot;sprintf-js&quot;:536}],173:[function(t,e,r){&quot;use strict&quot;;function n(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}e.exports=function(t,e){var r=t.gl,i=new n(t,s(r,c.vertex,c.fragment),s(r,c.pickVertex,c.pickFragment),l(r),l(r),l(r),l(r));return i.update(e),t.addObject(i),i};var i=t(&quot;binary-search-bounds&quot;),a=t(&quot;iota-array&quot;),o=t(&quot;typedarray-pool&quot;),s=t(&quot;gl-shader&quot;),l=t(&quot;gl-buffer&quot;),c=t(&quot;./lib/shaders&quot;),u=n.prototype,f=[0,0,1,0,0,1,1,0,1,1,0,1];u.draw=function(){var t=[1,0,0,0,1,0,0,0,1];return function(){var e=this.plot,r=this.shader,n=this.bounds,i=this.numVertices;if(!(i&lt;=0)){var a=e.gl,o=e.dataBox,s=n[2]-n[0],l=n[3]-n[1],c=o[2]-o[0],u=o[3]-o[1];t[0]=2*s/c,t[4]=2*l/u,t[6]=2*(n[0]-o[0])/c-1,t[7]=2*(n[1]-o[1])/u-1,r.bind();var f=r.uniforms;f.viewTransform=t,f.shape=this.shape;var h=r.attributes;this.positionBuffer.bind(),h.position.pointer(),this.weightBuffer.bind(),h.weight.pointer(a.UNSIGNED_BYTE,!1),this.colorBuffer.bind(),h.color.pointer(a.UNSIGNED_BYTE,!0),a.drawArrays(a.TRIANGLES,0,i)}}}(),u.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&lt;=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 d=0;d&lt;4;++d)e[d]=r&gt;&gt;8*d&amp;255;this.pickOffset=r,i.bind();var p=i.uniforms;p.viewTransform=t,p.pickOffset=e,p.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]}}}(),u.pick=function(t,e,r){var n=this.pickOffset,i=this.shape[0]*this.shape[1];if(r&lt;n||r&gt;=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]]}},u.update=function(t){var e=(t=t||{}).shape||[0,0],r=t.x||a(e[0]),n=t.y||a(e[1]),s=t.z||new Float32Array(e[0]*e[1]);this.xData=r,this.yData=n;var l=t.colorLevels||[0],c=t.colorValues||[0,0,0,1],u=l.length,h=this.bounds,d=h[0]=r[0],p=h[1]=n[0],m=1/((h[2]=r[r.length-1])-d),g=1/((h[3]=n[n.length-1])-p),v=e[0],y=e[1];this.shape=[v,y];var x=(v-1)*(y-1)*(f.length&gt;&gt;&gt;1);this.numVertices=x;for(var b=o.mallocUint8(4*x),_=o.mallocFloat32(2*x),w=o.mallocUint8(2*x),M=o.mallocUint32(x),k=0,A=0;A&lt;y-1;++A)for(var T=g*(n[A]-p),S=g*(n[A+1]-p),E=0;E&lt;v-1;++E)for(var L=m*(r[E]-d),C=m*(r[E+1]-d),z=0;z&lt;f.length;z+=2){var D,I,P,O,F=f[z],R=f[z+1],N=s[(A+R)*v+(E+F)],j=i.le(l,N);if(j&lt;0)D=c[0],I=c[1],P=c[2],O=c[3];else if(j===u-1)D=c[4*u-4],I=c[4*u-3],P=c[4*u-2],O=c[4*u-1];else{var B=(N-l[j])/(l[j+1]-l[j]),U=1-B,V=4*j,q=4*(j+1);D=U*c[V]+B*c[q],I=U*c[V+1]+B*c[q+1],P=U*c[V+2]+B*c[q+2],O=U*c[V+3]+B*c[q+3]}b[4*k]=255*D,b[4*k+1]=255*I,b[4*k+2]=255*P,b[4*k+3]=255*O,_[2*k]=.5*L+.5*C,_[2*k+1]=.5*T+.5*S,w[2*k]=F,w[2*k+1]=R,M[k]=A*v+E,k+=1}this.positionBuffer.update(_),this.weightBuffer.update(w),this.colorBuffer.update(b),this.idBuffer.update(M),o.free(_),o.free(b),o.free(w),o.free(M)},u.dispose=function(){this.shader.dispose(),this.pickShader.dispose(),this.positionBuffer.dispose(),this.weightBuffer.dispose(),this.colorBuffer.dispose(),this.idBuffer.dispose(),this.plot.removeObject(this)}},{&quot;./lib/shaders&quot;:174,&quot;binary-search-bounds&quot;:175,&quot;gl-buffer&quot;:165,&quot;gl-shader&quot;:243,&quot;iota-array&quot;:281,&quot;typedarray-pool&quot;:554}],174:[function(t,e,r){&quot;use strict&quot;;e.exports={fragment:&quot;precision lowp float;\n#define GLSLIFY 1\nvarying vec4 fragColor;\nvoid main() {\n  gl_FragColor = vec4(fragColor.rgb * fragColor.a, fragColor.a);\n}\n&quot;,vertex:&quot;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&quot;,pickFragment:&quot;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&quot;,pickVertex:&quot;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&quot;}},{}],175:[function(t,e,r){arguments[4][89][0].apply(r,arguments)},{dup:89}],176:[function(t,e,r){var n=t(&quot;gl-shader&quot;),i=&quot;precision mediump 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\nvoid main() {\n  vec4 projected = projection * view * model * vec4(position, 1.0);\n  vec4 tangentClip = projection * view * model * vec4(nextPosition - position, 0.0);\n  vec2 tangent = normalize(screenShape * tangentClip.xy);\n  vec2 offset = 0.5 * pixelRatio * lineWidth * vec2(tangent.y, -tangent.x) / screenShape;\n\n  gl_Position = vec4(projected.xy + projected.w * offset, projected.zw);\n\n  worldPosition = position;\n  pixelArcLength = arcLength;\n  fragColor = color;\n}\n&quot;,a=[{name:&quot;position&quot;,type:&quot;vec3&quot;},{name:&quot;nextPosition&quot;,type:&quot;vec3&quot;},{name:&quot;arcLength&quot;,type:&quot;float&quot;},{name:&quot;lineWidth&quot;,type:&quot;float&quot;},{name:&quot;color&quot;,type:&quot;vec4&quot;}];r.createShader=function(t){return n(t,i,&quot;precision mediump float;\n#define GLSLIFY 1\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(any(lessThan(worldPosition, clipBounds[0])) || any(greaterThan(worldPosition, clipBounds[1]))) {\n    discard;\n  }\n  float dashWeight = texture2D(dashTexture, vec2(dashScale * pixelArcLength, 0)).r;\n  if(dashWeight &lt; 0.5) {\n    discard;\n  }\n  gl_FragColor = fragColor * opacity;\n}\n&quot;,null,a)},r.createPickShader=function(t){return n(t,i,&quot;precision mediump float;\n#define GLSLIFY 1\n\n#define FLOAT_MAX  1.70141184e38\n#define FLOAT_MIN  1.17549435e-38\n\nlowp vec4 encode_float_1_0(highp float v) {\n  highp float av = abs(v);\n\n  //Handle special cases\n  if(av &lt; FLOAT_MIN) {\n    return vec4(0.0, 0.0, 0.0, 0.0);\n  } else if(v &gt; FLOAT_MAX) {\n    return vec4(127.0, 128.0, 0.0, 0.0) / 255.0;\n  } else if(v &lt; -FLOAT_MAX) {\n    return vec4(255.0, 128.0, 0.0, 0.0) / 255.0;\n  }\n\n  highp vec4 c = vec4(0,0,0,0);\n\n  //Compute exponent and mantissa\n  highp float e = floor(log2(av));\n  highp 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  highp 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\n\n\nuniform float pickId;\nuniform vec3 clipBounds[2];\n\nvarying vec3 worldPosition;\nvarying float pixelArcLength;\nvarying vec4 fragColor;\n\nvoid main() {\n  if(any(lessThan(worldPosition, clipBounds[0])) || any(greaterThan(worldPosition, clipBounds[1]))) {\n    discard;\n  }\n  gl_FragColor = vec4(pickId/255.0, encode_float_1_0(pixelArcLength).xyz);\n}&quot;,null,a)}},{&quot;gl-shader&quot;:243}],177:[function(t,e,r){&quot;use strict&quot;;function n(t,e){for(var r=0,n=0;n&lt;3;++n){var i=t[n]-e[n];r+=i*i}return Math.sqrt(r)}function i(t){for(var e=[[-1e6,-1e6,-1e6],[1e6,1e6,1e6]],r=0;r&lt;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 a(t,e,r,n){this.arcLength=t,this.position=e,this.index=r,this.dataCoordinate=n}function o(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.dirty=!0,this.pixelRatio=1}e.exports=function(t){var e=t.gl||t.scene&amp;&amp;t.scene.gl,r=p(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 n=m(e);n.attributes.position.location=0,n.attributes.nextPosition.location=1,n.attributes.arcLength.location=2,n.attributes.lineWidth.location=3,n.attributes.color.location=4;for(var i=s(e),a=l(e,[{buffer:i,size:3,offset:0,stride:48},{buffer:i,size:3,offset:12,stride:48},{buffer:i,size:1,offset:24,stride:48},{buffer:i,size:1,offset:28,stride:48},{buffer:i,size:4,offset:32,stride:48}]),u=h(new Array(1024),[256,1,4]),f=0;f&lt;1024;++f)u.data[f]=255;var d=c(e,u);d.wrap=e.REPEAT;var g=new o(e,r,n,i,a,d);return g.update(t),g};var s=t(&quot;gl-buffer&quot;),l=t(&quot;gl-vao&quot;),c=t(&quot;gl-texture2d&quot;),u=t(&quot;glsl-read-float&quot;),f=t(&quot;binary-search-bounds&quot;),h=t(&quot;ndarray&quot;),d=t(&quot;./lib/shaders&quot;),p=d.createShader,m=d.createPickShader,g=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],v=o.prototype;v.isTransparent=function(){return this.opacity&lt;1},v.isOpaque=function(){return this.opacity&gt;=1},v.pickSlots=1,v.setPickBase=function(t){this.pickId=t},v.drawTransparent=v.draw=function(t){var e=this.gl,r=this.shader,n=this.vao;r.bind(),r.uniforms={model:t.model||g,view:t.view||g,projection:t.projection||g,clipBounds:i(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)},v.drawPick=function(t){var e=this.gl,r=this.pickShader,n=this.vao;r.bind(),r.uniforms={model:t.model||g,view:t.view||g,projection:t.projection||g,pickId:this.pickId,clipBounds:i(this.clipBounds),screenShape:[e.drawingBufferWidth,e.drawingBufferHeight],pixelRatio:this.pixelRatio},n.bind(),n.draw(e.TRIANGLE_STRIP,this.vertexCount)},v.update=function(t){var e,r;this.dirty=!0;var i=!!t.connectGaps;&quot;dashScale&quot;in t&amp;&amp;(this.dashScale=t.dashScale),&quot;opacity&quot;in t&amp;&amp;(this.opacity=+t.opacity);var a=t.position||t.positions;if(a){var o=t.color||t.colors||[0,0,0,1],s=t.lineWidth||1,l=[],c=[],u=[],d=0,p=0,m=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],g=!1;t:for(e=1;e&lt;a.length;++e){var v=a[e-1],y=a[e];for(c.push(d),u.push(v.slice()),r=0;r&lt;3;++r){if(isNaN(v[r])||isNaN(y[r])||!isFinite(v[r])||!isFinite(y[r])){if(!i&amp;&amp;l.length&gt;0){for(var x=0;x&lt;24;++x)l.push(l[l.length-12]);p+=2,g=!0}continue t}m[0][r]=Math.min(m[0][r],v[r],y[r]),m[1][r]=Math.max(m[1][r],v[r],y[r])}var b,_;Array.isArray(o[0])?(b=o[e-1],_=o[e]):b=_=o,3===b.length&amp;&amp;(b=[b[0],b[1],b[2],1]),3===_.length&amp;&amp;(_=[_[0],_[1],_[2],1]);var w;w=Array.isArray(s)?s[e-1]:s;var M=d;if(d+=n(v,y),g){for(r=0;r&lt;2;++r)l.push(v[0],v[1],v[2],y[0],y[1],y[2],M,w,b[0],b[1],b[2],b[3]);p+=2,g=!1}l.push(v[0],v[1],v[2],y[0],y[1],y[2],M,w,b[0],b[1],b[2],b[3],v[0],v[1],v[2],y[0],y[1],y[2],M,-w,b[0],b[1],b[2],b[3],y[0],y[1],y[2],v[0],v[1],v[2],d,-w,_[0],_[1],_[2],_[3],y[0],y[1],y[2],v[0],v[1],v[2],d,w,_[0],_[1],_[2],_[3]),p+=4}if(this.buffer.update(l),c.push(d),u.push(a[a.length-1].slice()),this.bounds=m,this.vertexCount=p,this.points=u,this.arcLength=c,&quot;dashes&quot;in t){var k=t.dashes.slice();for(k.unshift(0),e=1;e&lt;k.length;++e)k[e]=k[e-1]+k[e];var A=h(new Array(1024),[256,1,4]);for(e=0;e&lt;256;++e){for(r=0;r&lt;4;++r)A.set(e,0,r,0);1&amp;f.le(k,k[k.length-1]*e/255)?A.set(e,0,0,0):A.set(e,0,0,255)}this.texture.setPixels(A)}}},v.dispose=function(){this.shader.dispose(),this.vao.dispose(),this.buffer.dispose()},v.pick=function(t){if(!t)return null;if(t.id!==this.pickId)return null;var e=u(t.value[0],t.value[1],t.value[2],0),r=f.le(this.arcLength,e);if(r&lt;0)return null;if(r===this.arcLength.length-1)return new a(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)],o=(e-this.arcLength[r])/(this.arcLength[r+1]-this.arcLength[r]),s=1-o,l=[0,0,0],c=0;c&lt;3;++c)l[c]=s*n[c]+o*i[c];var h=Math.min(o&lt;.5?r:r+1,this.points.length-1);return new a(e,l,h,this.points[h])}},{&quot;./lib/shaders&quot;:176,&quot;binary-search-bounds&quot;:70,&quot;gl-buffer&quot;:165,&quot;gl-texture2d&quot;:255,&quot;gl-vao&quot;:259,&quot;glsl-read-float&quot;:266,ndarray:458}],178:[function(t,e,r){e.exports=function(t,e){var r=e[0],n=e[1],i=e[2],a=e[3],o=r*a-i*n;return o?(o=1/o,t[0]=a*o,t[1]=-n*o,t[2]=-i*o,t[3]=r*o,t):null}},{}],179:[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=u*o-s*c,h=-u*a+s*l,d=c*a-o*l,p=r*f+n*h+i*d;return p?(p=1/p,t[0]=f*p,t[1]=(-u*n+i*c)*p,t[2]=(s*n-i*o)*p,t[3]=h*p,t[4]=(u*r-i*l)*p,t[5]=(-s*r+i*a)*p,t[6]=d*p,t[7]=(-c*r+n*l)*p,t[8]=(o*r-n*a)*p,t):null}},{}],180:[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}},{}],181:[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}},{}],182:[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],d=t[12],p=t[13],m=t[14],g=t[15];return(e*o-r*a)*(f*g-h*m)-(e*s-n*a)*(u*g-h*p)+(e*l-i*a)*(u*m-f*p)+(r*s-n*o)*(c*g-h*d)-(r*l-i*o)*(c*m-f*d)+(n*l-i*s)*(c*p-u*d)}},{}],183:[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,d=i*s,p=i*l,m=a*o,g=a*s,v=a*l;return t[0]=1-f-p,t[1]=u+v,t[2]=h-g,t[3]=0,t[4]=u-v,t[5]=1-c-p,t[6]=d+m,t[7]=0,t[8]=h+g,t[9]=d-m,t[10]=1-c-f,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}},{}],184:[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,d=i*l,p=i*c,m=a*c,g=o*s,v=o*l,y=o*c;return t[0]=1-(d+m),t[1]=f+y,t[2]=h-v,t[3]=0,t[4]=f-y,t[5]=1-(u+m),t[6]=p+g,t[7]=0,t[8]=h+v,t[9]=p-g,t[10]=1-(u+d),t[11]=0,t[12]=r[0],t[13]=r[1],t[14]=r[2],t[15]=1,t}},{}],185:[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}},{}],186:[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],d=e[11],p=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,M=i*c-a*l,k=u*m-f*p,A=u*g-h*p,T=u*v-d*p,S=f*g-h*m,E=f*v-d*m,L=h*v-d*g,C=y*L-x*E+b*S+_*T-w*A+M*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*M-g*w+v*_)*C,t[3]=(h*w-f*M-d*_)*C,t[4]=(l*T-o*L-c*A)*C,t[5]=(r*L-i*T+a*A)*C,t[6]=(g*b-p*M-v*x)*C,t[7]=(u*M-h*b+d*x)*C,t[8]=(o*E-s*T+c*k)*C,t[9]=(n*T-r*E-a*k)*C,t[10]=(p*w-m*b+v*y)*C,t[11]=(f*b-u*w-d*y)*C,t[12]=(s*A-o*S-l*k)*C,t[13]=(r*S-n*A+i*k)*C,t[14]=(m*x-p*_-g*y)*C,t[15]=(u*_-f*x+h*y)*C,t):null}},{}],187:[function(t,e,r){var n=t(&quot;./identity&quot;);e.exports=function(t,e,r,i){var a,o,s,l,c,u,f,h,d,p,m=e[0],g=e[1],v=e[2],y=i[0],x=i[1],b=i[2],_=r[0],w=r[1],M=r[2];return Math.abs(m-_)&lt;1e-6&amp;&amp;Math.abs(g-w)&lt;1e-6&amp;&amp;Math.abs(v-M)&lt;1e-6?n(t):(f=m-_,h=g-w,d=v-M,p=1/Math.sqrt(f*f+h*h+d*d),f*=p,h*=p,d*=p,a=x*d-b*h,o=b*f-y*d,s=y*h-x*f,(p=Math.sqrt(a*a+o*o+s*s))?(a*=p=1/p,o*=p,s*=p):(a=0,o=0,s=0),l=h*s-d*o,c=d*a-f*s,u=f*o-h*a,(p=Math.sqrt(l*l+c*c+u*u))?(l*=p=1/p,c*=p,u*=p):(l=0,c=0,u=0),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]=d,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+d*v),t[15]=1,t)}},{&quot;./identity&quot;:185}],188:[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],d=e[10],p=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+_*d+w*v,t[3]=x*o+b*u+_*p+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+_*d+w*v,t[7]=x*o+b*u+_*p+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+_*d+w*v,t[11]=x*o+b*u+_*p+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+_*d+w*v,t[15]=x*o+b*u+_*p+w*y,t}},{}],189:[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}},{}],190:[function(t,e,r){e.exports=function(t,e,r,n){var i,a,o,s,l,c,u,f,h,d,p,m,g,v,y,x,b,_,w,M,k,A,T,S,E=n[0],L=n[1],C=n[2],z=Math.sqrt(E*E+L*L+C*C);return Math.abs(z)&lt;1e-6?null:(z=1/z,E*=z,L*=z,C*=z,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],d=e[6],p=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,M=L*L*o+a,k=C*L*o+E*i,A=E*C*o+L*i,T=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+d*b+v*_,t[3]=u*x+p*b+y*_,t[4]=s*w+f*M+m*k,t[5]=l*w+h*M+g*k,t[6]=c*w+d*M+v*k,t[7]=u*w+p*M+y*k,t[8]=s*A+f*T+m*S,t[9]=l*A+h*T+g*S,t[10]=c*A+d*T+v*S,t[11]=u*A+p*T+y*S,e!==t&amp;&amp;(t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]),t)}},{}],191:[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];return e!==t&amp;&amp;(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}},{}],192:[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];return e!==t&amp;&amp;(t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]),t[0]=a*i-c*n,t[1]=o*i-u*n,t[2]=s*i-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}},{}],193:[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];return e!==t&amp;&amp;(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}},{}],194:[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}},{}],195:[function(t,e,r){e.exports=function(t,e,r){var n,i,a,o,s,l,c,u,f,h,d,p,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],d=e[10],p=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]=d,t[11]=p,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+d*v+e[14],t[15]=o*m+u*g+p*v+e[15]),t}},{}],196:[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}},{}],197:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t,e){switch(e.length){case 0:break;case 1:t[0]=1/e[0];break;case 4:n(t,e);break;case 9:i(t,e);break;case 16:a(t,e);break;default:throw new Error(&quot;currently supports matrices up to 4x4&quot;)}return t};var n=t(&quot;gl-mat2/invert&quot;),i=t(&quot;gl-mat3/invert&quot;),a=t(&quot;gl-mat4/invert&quot;)},{&quot;gl-mat2/invert&quot;:178,&quot;gl-mat3/invert&quot;:179,&quot;gl-mat4/invert&quot;:186}],198:[function(t,e,r){r.glMatrix=t(&quot;./gl-matrix/common.js&quot;),r.mat2=t(&quot;./gl-matrix/mat2.js&quot;),r.mat2d=t(&quot;./gl-matrix/mat2d.js&quot;),r.mat3=t(&quot;./gl-matrix/mat3.js&quot;),r.mat4=t(&quot;./gl-matrix/mat4.js&quot;),r.quat=t(&quot;./gl-matrix/quat.js&quot;),r.vec2=t(&quot;./gl-matrix/vec2.js&quot;),r.vec3=t(&quot;./gl-matrix/vec3.js&quot;),r.vec4=t(&quot;./gl-matrix/vec4.js&quot;)},{&quot;./gl-matrix/common.js&quot;:199,&quot;./gl-matrix/mat2.js&quot;:200,&quot;./gl-matrix/mat2d.js&quot;:201,&quot;./gl-matrix/mat3.js&quot;:202,&quot;./gl-matrix/mat4.js&quot;:203,&quot;./gl-matrix/quat.js&quot;:204,&quot;./gl-matrix/vec2.js&quot;:205,&quot;./gl-matrix/vec3.js&quot;:206,&quot;./gl-matrix/vec4.js&quot;:207}],199:[function(t,e,r){var n={};n.EPSILON=1e-6,n.ARRAY_TYPE=&quot;undefined&quot;!=typeof Float32Array?Float32Array:Array,n.RANDOM=Math.random,n.ENABLE_SIMD=!1,n.SIMD_AVAILABLE=n.ARRAY_TYPE===Float32Array&amp;&amp;&quot;SIMD&quot;in this,n.USE_SIMD=n.ENABLE_SIMD&amp;&amp;n.SIMD_AVAILABLE,n.setMatrixArrayType=function(t){n.ARRAY_TYPE=t};var i=Math.PI/180;n.toRadian=function(t){return t*i},n.equals=function(t,e){return Math.abs(t-e)&lt;=n.EPSILON*Math.max(1,Math.abs(t),Math.abs(e))},e.exports=n},{}],200:[function(t,e,r){var n=t(&quot;./common.js&quot;),i={};i.create=function(){var t=new n.ARRAY_TYPE(4);return t[0]=1,t[1]=0,t[2]=0,t[3]=1,t},i.clone=function(t){var e=new n.ARRAY_TYPE(4);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e},i.copy=function(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t},i.identity=function(t){return t[0]=1,t[1]=0,t[2]=0,t[3]=1,t},i.fromValues=function(t,e,r,i){var a=new n.ARRAY_TYPE(4);return a[0]=t,a[1]=e,a[2]=r,a[3]=i,a},i.set=function(t,e,r,n,i){return t[0]=e,t[1]=r,t[2]=n,t[3]=i,t},i.transpose=function(t,e){if(t===e){var r=e[1];t[1]=e[2],t[2]=r}else t[0]=e[0],t[1]=e[2],t[2]=e[1],t[3]=e[3];return t},i.invert=function(t,e){var r=e[0],n=e[1],i=e[2],a=e[3],o=r*a-i*n;return o?(o=1/o,t[0]=a*o,t[1]=-n*o,t[2]=-i*o,t[3]=r*o,t):null},i.adjoint=function(t,e){var r=e[0];return t[0]=e[3],t[1]=-e[1],t[2]=-e[2],t[3]=r,t},i.determinant=function(t){return t[0]*t[3]-t[2]*t[1]},i.multiply=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=e[3],s=r[0],l=r[1],c=r[2],u=r[3];return t[0]=n*s+a*l,t[1]=i*s+o*l,t[2]=n*c+a*u,t[3]=i*c+o*u,t},i.mul=i.multiply,i.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},i.scale=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=e[3],s=r[0],l=r[1];return t[0]=n*s,t[1]=i*s,t[2]=a*l,t[3]=o*l,t},i.fromRotation=function(t,e){var r=Math.sin(e),n=Math.cos(e);return t[0]=n,t[1]=r,t[2]=-r,t[3]=n,t},i.fromScaling=function(t,e){return t[0]=e[0],t[1]=0,t[2]=0,t[3]=e[1],t},i.str=function(t){return&quot;mat2(&quot;+t[0]+&quot;, &quot;+t[1]+&quot;, &quot;+t[2]+&quot;, &quot;+t[3]+&quot;)&quot;},i.frob=function(t){return Math.sqrt(Math.pow(t[0],2)+Math.pow(t[1],2)+Math.pow(t[2],2)+Math.pow(t[3],2))},i.LDU=function(t,e,r,n){return t[2]=n[2]/n[0],r[0]=n[0],r[1]=n[1],r[3]=n[3]-t[2]*r[1],[t,e,r]},i.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[3]=e[3]+r[3],t},i.subtract=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},i.sub=i.subtract,i.exactEquals=function(t,e){return t[0]===e[0]&amp;&amp;t[1]===e[1]&amp;&amp;t[2]===e[2]&amp;&amp;t[3]===e[3]},i.equals=function(t,e){var r=t[0],i=t[1],a=t[2],o=t[3],s=e[0],l=e[1],c=e[2],u=e[3];return Math.abs(r-s)&lt;=n.EPSILON*Math.max(1,Math.abs(r),Math.abs(s))&amp;&amp;Math.abs(i-l)&lt;=n.EPSILON*Math.max(1,Math.abs(i),Math.abs(l))&amp;&amp;Math.abs(a-c)&lt;=n.EPSILON*Math.max(1,Math.abs(a),Math.abs(c))&amp;&amp;Math.abs(o-u)&lt;=n.EPSILON*Math.max(1,Math.abs(o),Math.abs(u))},i.multiplyScalar=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},i.multiplyScalarAndAdd=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},e.exports=i},{&quot;./common.js&quot;:199}],201:[function(t,e,r){var n=t(&quot;./common.js&quot;),i={};i.create=function(){var t=new n.ARRAY_TYPE(6);return t[0]=1,t[1]=0,t[2]=0,t[3]=1,t[4]=0,t[5]=0,t},i.clone=function(t){var e=new n.ARRAY_TYPE(6);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},i.copy=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},i.identity=function(t){return t[0]=1,t[1]=0,t[2]=0,t[3]=1,t[4]=0,t[5]=0,t},i.fromValues=function(t,e,r,i,a,o){var s=new n.ARRAY_TYPE(6);return s[0]=t,s[1]=e,s[2]=r,s[3]=i,s[4]=a,s[5]=o,s},i.set=function(t,e,r,n,i,a,o){return t[0]=e,t[1]=r,t[2]=n,t[3]=i,t[4]=a,t[5]=o,t},i.invert=function(t,e){var r=e[0],n=e[1],i=e[2],a=e[3],o=e[4],s=e[5],l=r*a-n*i;return l?(l=1/l,t[0]=a*l,t[1]=-n*l,t[2]=-i*l,t[3]=r*l,t[4]=(i*s-a*o)*l,t[5]=(n*o-r*s)*l,t):null},i.determinant=function(t){return t[0]*t[3]-t[1]*t[2]},i.multiply=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=e[3],s=e[4],l=e[5],c=r[0],u=r[1],f=r[2],h=r[3],d=r[4],p=r[5];return t[0]=n*c+a*u,t[1]=i*c+o*u,t[2]=n*f+a*h,t[3]=i*f+o*h,t[4]=n*d+a*p+s,t[5]=i*d+o*p+l,t},i.mul=i.multiply,i.rotate=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=e[3],s=e[4],l=e[5],c=Math.sin(r),u=Math.cos(r);return t[0]=n*u+a*c,t[1]=i*u+o*c,t[2]=n*-c+a*u,t[3]=i*-c+o*u,t[4]=s,t[5]=l,t},i.scale=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=e[3],s=e[4],l=e[5],c=r[0],u=r[1];return t[0]=n*c,t[1]=i*c,t[2]=a*u,t[3]=o*u,t[4]=s,t[5]=l,t},i.translate=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=e[3],s=e[4],l=e[5],c=r[0],u=r[1];return t[0]=n,t[1]=i,t[2]=a,t[3]=o,t[4]=n*c+a*u+s,t[5]=i*c+o*u+l,t},i.fromRotation=function(t,e){var r=Math.sin(e),n=Math.cos(e);return t[0]=n,t[1]=r,t[2]=-r,t[3]=n,t[4]=0,t[5]=0,t},i.fromScaling=function(t,e){return t[0]=e[0],t[1]=0,t[2]=0,t[3]=e[1],t[4]=0,t[5]=0,t},i.fromTranslation=function(t,e){return t[0]=1,t[1]=0,t[2]=0,t[3]=1,t[4]=e[0],t[5]=e[1],t},i.str=function(t){return&quot;mat2d(&quot;+t[0]+&quot;, &quot;+t[1]+&quot;, &quot;+t[2]+&quot;, &quot;+t[3]+&quot;, &quot;+t[4]+&quot;, &quot;+t[5]+&quot;)&quot;},i.frob=function(t){return Math.sqrt(Math.pow(t[0],2)+Math.pow(t[1],2)+Math.pow(t[2],2)+Math.pow(t[3],2)+Math.pow(t[4],2)+Math.pow(t[5],2)+1)},i.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[3]=e[3]+r[3],t[4]=e[4]+r[4],t[5]=e[5]+r[5],t},i.subtract=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[4]=e[4]-r[4],t[5]=e[5]-r[5],t},i.sub=i.subtract,i.multiplyScalar=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[4]=e[4]*r,t[5]=e[5]*r,t},i.multiplyScalarAndAdd=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[4]=e[4]+r[4]*n,t[5]=e[5]+r[5]*n,t},i.exactEquals=function(t,e){return t[0]===e[0]&amp;&amp;t[1]===e[1]&amp;&amp;t[2]===e[2]&amp;&amp;t[3]===e[3]&amp;&amp;t[4]===e[4]&amp;&amp;t[5]===e[5]},i.equals=function(t,e){var r=t[0],i=t[1],a=t[2],o=t[3],s=t[4],l=t[5],c=e[0],u=e[1],f=e[2],h=e[3],d=e[4],p=e[5];return Math.abs(r-c)&lt;=n.EPSILON*Math.max(1,Math.abs(r),Math.abs(c))&amp;&amp;Math.abs(i-u)&lt;=n.EPSILON*Math.max(1,Math.abs(i),Math.abs(u))&amp;&amp;Math.abs(a-f)&lt;=n.EPSILON*Math.max(1,Math.abs(a),Math.abs(f))&amp;&amp;Math.abs(o-h)&lt;=n.EPSILON*Math.max(1,Math.abs(o),Math.abs(h))&amp;&amp;Math.abs(s-d)&lt;=n.EPSILON*Math.max(1,Math.abs(s),Math.abs(d))&amp;&amp;Math.abs(l-p)&lt;=n.EPSILON*Math.max(1,Math.abs(l),Math.abs(p))},e.exports=i},{&quot;./common.js&quot;:199}],202:[function(t,e,r){var n=t(&quot;./common.js&quot;),i={};i.create=function(){var t=new n.ARRAY_TYPE(9);return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=1,t[5]=0,t[6]=0,t[7]=0,t[8]=1,t},i.fromMat4=function(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[4],t[4]=e[5],t[5]=e[6],t[6]=e[8],t[7]=e[9],t[8]=e[10],t},i.clone=function(t){var e=new n.ARRAY_TYPE(9);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},i.copy=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},i.fromValues=function(t,e,r,i,a,o,s,l,c){var u=new n.ARRAY_TYPE(9);return u[0]=t,u[1]=e,u[2]=r,u[3]=i,u[4]=a,u[5]=o,u[6]=s,u[7]=l,u[8]=c,u},i.set=function(t,e,r,n,i,a,o,s,l,c){return t[0]=e,t[1]=r,t[2]=n,t[3]=i,t[4]=a,t[5]=o,t[6]=s,t[7]=l,t[8]=c,t},i.identity=function(t){return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=1,t[5]=0,t[6]=0,t[7]=0,t[8]=1,t},i.transpose=function(t,e){if(t===e){var r=e[1],n=e[2],i=e[5];t[1]=e[3],t[2]=e[6],t[3]=r,t[5]=e[7],t[6]=n,t[7]=i}else t[0]=e[0],t[1]=e[3],t[2]=e[6],t[3]=e[1],t[4]=e[4],t[5]=e[7],t[6]=e[2],t[7]=e[5],t[8]=e[8];return t},i.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=u*o-s*c,h=-u*a+s*l,d=c*a-o*l,p=r*f+n*h+i*d;return p?(p=1/p,t[0]=f*p,t[1]=(-u*n+i*c)*p,t[2]=(s*n-i*o)*p,t[3]=h*p,t[4]=(u*r-i*l)*p,t[5]=(-s*r+i*a)*p,t[6]=d*p,t[7]=(-c*r+n*l)*p,t[8]=(o*r-n*a)*p,t):null},i.adjoint=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];return t[0]=o*u-s*c,t[1]=i*c-n*u,t[2]=n*s-i*o,t[3]=s*l-a*u,t[4]=r*u-i*l,t[5]=i*a-r*s,t[6]=a*c-o*l,t[7]=n*l-r*c,t[8]=r*o-n*a,t},i.determinant=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];return e*(c*a-o*l)+r*(-c*i+o*s)+n*(l*i-a*s)},i.multiply=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=r[0],d=r[1],p=r[2],m=r[3],g=r[4],v=r[5],y=r[6],x=r[7],b=r[8];return t[0]=h*n+d*o+p*c,t[1]=h*i+d*s+p*u,t[2]=h*a+d*l+p*f,t[3]=m*n+g*o+v*c,t[4]=m*i+g*s+v*u,t[5]=m*a+g*l+v*f,t[6]=y*n+x*o+b*c,t[7]=y*i+x*s+b*u,t[8]=y*a+x*l+b*f,t},i.mul=i.multiply,i.translate=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=r[0],d=r[1];return t[0]=n,t[1]=i,t[2]=a,t[3]=o,t[4]=s,t[5]=l,t[6]=h*n+d*o+c,t[7]=h*i+d*s+u,t[8]=h*a+d*l+f,t},i.rotate=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=Math.sin(r),d=Math.cos(r);return t[0]=d*n+h*o,t[1]=d*i+h*s,t[2]=d*a+h*l,t[3]=d*o-h*n,t[4]=d*s-h*i,t[5]=d*l-h*a,t[6]=c,t[7]=u,t[8]=f,t},i.scale=function(t,e,r){var n=r[0],i=r[1];return t[0]=n*e[0],t[1]=n*e[1],t[2]=n*e[2],t[3]=i*e[3],t[4]=i*e[4],t[5]=i*e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t},i.fromTranslation=function(t,e){return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=1,t[5]=0,t[6]=e[0],t[7]=e[1],t[8]=1,t},i.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},i.fromScaling=function(t,e){return t[0]=e[0],t[1]=0,t[2]=0,t[3]=0,t[4]=e[1],t[5]=0,t[6]=0,t[7]=0,t[8]=1,t},i.fromMat2d=function(t,e){return t[0]=e[0],t[1]=e[1],t[2]=0,t[3]=e[2],t[4]=e[3],t[5]=0,t[6]=e[4],t[7]=e[5],t[8]=1,t},i.fromQuat=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,d=i*s,p=i*l,m=a*o,g=a*s,v=a*l;return t[0]=1-f-p,t[3]=u-v,t[6]=h+g,t[1]=u+v,t[4]=1-c-p,t[7]=d-m,t[2]=h-g,t[5]=d+m,t[8]=1-c-f,t},i.normalFromMat4=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],d=e[11],p=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,M=i*c-a*l,k=u*m-f*p,A=u*g-h*p,T=u*v-d*p,S=f*g-h*m,E=f*v-d*m,L=h*v-d*g,C=y*L-x*E+b*S+_*T-w*A+M*k;return C?(C=1/C,t[0]=(s*L-l*E+c*S)*C,t[1]=(l*T-o*L-c*A)*C,t[2]=(o*E-s*T+c*k)*C,t[3]=(i*E-n*L-a*S)*C,t[4]=(r*L-i*T+a*A)*C,t[5]=(n*T-r*E-a*k)*C,t[6]=(m*M-g*w+v*_)*C,t[7]=(g*b-p*M-v*x)*C,t[8]=(p*w-m*b+v*y)*C,t):null},i.str=function(t){return&quot;mat3(&quot;+t[0]+&quot;, &quot;+t[1]+&quot;, &quot;+t[2]+&quot;, &quot;+t[3]+&quot;, &quot;+t[4]+&quot;, &quot;+t[5]+&quot;, &quot;+t[6]+&quot;, &quot;+t[7]+&quot;, &quot;+t[8]+&quot;)&quot;},i.frob=function(t){return Math.sqrt(Math.pow(t[0],2)+Math.pow(t[1],2)+Math.pow(t[2],2)+Math.pow(t[3],2)+Math.pow(t[4],2)+Math.pow(t[5],2)+Math.pow(t[6],2)+Math.pow(t[7],2)+Math.pow(t[8],2))},i.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[3]=e[3]+r[3],t[4]=e[4]+r[4],t[5]=e[5]+r[5],t[6]=e[6]+r[6],t[7]=e[7]+r[7],t[8]=e[8]+r[8],t},i.subtract=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[4]=e[4]-r[4],t[5]=e[5]-r[5],t[6]=e[6]-r[6],t[7]=e[7]-r[7],t[8]=e[8]-r[8],t},i.sub=i.subtract,i.multiplyScalar=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[4]=e[4]*r,t[5]=e[5]*r,t[6]=e[6]*r,t[7]=e[7]*r,t[8]=e[8]*r,t},i.multiplyScalarAndAdd=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[4]=e[4]+r[4]*n,t[5]=e[5]+r[5]*n,t[6]=e[6]+r[6]*n,t[7]=e[7]+r[7]*n,t[8]=e[8]+r[8]*n,t},i.exactEquals=function(t,e){return t[0]===e[0]&amp;&amp;t[1]===e[1]&amp;&amp;t[2]===e[2]&amp;&amp;t[3]===e[3]&amp;&amp;t[4]===e[4]&amp;&amp;t[5]===e[5]&amp;&amp;t[6]===e[6]&amp;&amp;t[7]===e[7]&amp;&amp;t[8]===e[8]},i.equals=function(t,e){var r=t[0],i=t[1],a=t[2],o=t[3],s=t[4],l=t[5],c=t[6],u=t[7],f=t[8],h=e[0],d=e[1],p=e[2],m=e[3],g=e[4],v=e[5],y=t[6],x=e[7],b=e[8];return Math.abs(r-h)&lt;=n.EPSILON*Math.max(1,Math.abs(r),Math.abs(h))&amp;&amp;Math.abs(i-d)&lt;=n.EPSILON*Math.max(1,Math.abs(i),Math.abs(d))&amp;&amp;Math.abs(a-p)&lt;=n.EPSILON*Math.max(1,Math.abs(a),Math.abs(p))&amp;&amp;Math.abs(o-m)&lt;=n.EPSILON*Math.max(1,Math.abs(o),Math.abs(m))&amp;&amp;Math.abs(s-g)&lt;=n.EPSILON*Math.max(1,Math.abs(s),Math.abs(g))&amp;&amp;Math.abs(l-v)&lt;=n.EPSILON*Math.max(1,Math.abs(l),Math.abs(v))&amp;&amp;Math.abs(c-y)&lt;=n.EPSILON*Math.max(1,Math.abs(c),Math.abs(y))&amp;&amp;Math.abs(u-x)&lt;=n.EPSILON*Math.max(1,Math.abs(u),Math.abs(x))&amp;&amp;Math.abs(f-b)&lt;=n.EPSILON*Math.max(1,Math.abs(f),Math.abs(b))},e.exports=i},{&quot;./common.js&quot;:199}],203:[function(t,e,r){var n=t(&quot;./common.js&quot;),i={scalar:{},SIMD:{}};i.create=function(){var t=new n.ARRAY_TYPE(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},i.clone=function(t){var e=new n.ARRAY_TYPE(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},i.copy=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},i.fromValues=function(t,e,r,i,a,o,s,l,c,u,f,h,d,p,m,g){var v=new n.ARRAY_TYPE(16);return v[0]=t,v[1]=e,v[2]=r,v[3]=i,v[4]=a,v[5]=o,v[6]=s,v[7]=l,v[8]=c,v[9]=u,v[10]=f,v[11]=h,v[12]=d,v[13]=p,v[14]=m,v[15]=g,v},i.set=function(t,e,r,n,i,a,o,s,l,c,u,f,h,d,p,m,g){return t[0]=e,t[1]=r,t[2]=n,t[3]=i,t[4]=a,t[5]=o,t[6]=s,t[7]=l,t[8]=c,t[9]=u,t[10]=f,t[11]=h,t[12]=d,t[13]=p,t[14]=m,t[15]=g,t},i.identity=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},i.scalar.transpose=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},i.SIMD.transpose=function(t,e){var r,n,i,a,o,s,l,c,u,f;return r=SIMD.Float32x4.load(e,0),n=SIMD.Float32x4.load(e,4),i=SIMD.Float32x4.load(e,8),a=SIMD.Float32x4.load(e,12),o=SIMD.Float32x4.shuffle(r,n,0,1,4,5),s=SIMD.Float32x4.shuffle(i,a,0,1,4,5),l=SIMD.Float32x4.shuffle(o,s,0,2,4,6),c=SIMD.Float32x4.shuffle(o,s,1,3,5,7),SIMD.Float32x4.store(t,0,l),SIMD.Float32x4.store(t,4,c),o=SIMD.Float32x4.shuffle(r,n,2,3,6,7),s=SIMD.Float32x4.shuffle(i,a,2,3,6,7),u=SIMD.Float32x4.shuffle(o,s,0,2,4,6),f=SIMD.Float32x4.shuffle(o,s,1,3,5,7),SIMD.Float32x4.store(t,8,u),SIMD.Float32x4.store(t,12,f),t},i.transpose=n.USE_SIMD?i.SIMD.transpose:i.scalar.transpose,i.scalar.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],d=e[11],p=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,M=i*c-a*l,k=u*m-f*p,A=u*g-h*p,T=u*v-d*p,S=f*g-h*m,E=f*v-d*m,L=h*v-d*g,C=y*L-x*E+b*S+_*T-w*A+M*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*M-g*w+v*_)*C,t[3]=(h*w-f*M-d*_)*C,t[4]=(l*T-o*L-c*A)*C,t[5]=(r*L-i*T+a*A)*C,t[6]=(g*b-p*M-v*x)*C,t[7]=(u*M-h*b+d*x)*C,t[8]=(o*E-s*T+c*k)*C,t[9]=(n*T-r*E-a*k)*C,t[10]=(p*w-m*b+v*y)*C,t[11]=(f*b-u*w-d*y)*C,t[12]=(s*A-o*S-l*k)*C,t[13]=(r*S-n*A+i*k)*C,t[14]=(m*x-p*_-g*y)*C,t[15]=(u*_-f*x+h*y)*C,t):null},i.SIMD.invert=function(t,e){var r,n,i,a,o,s,l,c,u,f,h=SIMD.Float32x4.load(e,0),d=SIMD.Float32x4.load(e,4),p=SIMD.Float32x4.load(e,8),m=SIMD.Float32x4.load(e,12);return o=SIMD.Float32x4.shuffle(h,d,0,1,4,5),n=SIMD.Float32x4.shuffle(p,m,0,1,4,5),r=SIMD.Float32x4.shuffle(o,n,0,2,4,6),n=SIMD.Float32x4.shuffle(n,o,1,3,5,7),o=SIMD.Float32x4.shuffle(h,d,2,3,6,7),a=SIMD.Float32x4.shuffle(p,m,2,3,6,7),i=SIMD.Float32x4.shuffle(o,a,0,2,4,6),a=SIMD.Float32x4.shuffle(a,o,1,3,5,7),o=SIMD.Float32x4.mul(i,a),o=SIMD.Float32x4.swizzle(o,1,0,3,2),s=SIMD.Float32x4.mul(n,o),l=SIMD.Float32x4.mul(r,o),o=SIMD.Float32x4.swizzle(o,2,3,0,1),s=SIMD.Float32x4.sub(SIMD.Float32x4.mul(n,o),s),l=SIMD.Float32x4.sub(SIMD.Float32x4.mul(r,o),l),l=SIMD.Float32x4.swizzle(l,2,3,0,1),o=SIMD.Float32x4.mul(n,i),o=SIMD.Float32x4.swizzle(o,1,0,3,2),s=SIMD.Float32x4.add(SIMD.Float32x4.mul(a,o),s),u=SIMD.Float32x4.mul(r,o),o=SIMD.Float32x4.swizzle(o,2,3,0,1),s=SIMD.Float32x4.sub(s,SIMD.Float32x4.mul(a,o)),u=SIMD.Float32x4.sub(SIMD.Float32x4.mul(r,o),u),u=SIMD.Float32x4.swizzle(u,2,3,0,1),o=SIMD.Float32x4.mul(SIMD.Float32x4.swizzle(n,2,3,0,1),a),o=SIMD.Float32x4.swizzle(o,1,0,3,2),i=SIMD.Float32x4.swizzle(i,2,3,0,1),s=SIMD.Float32x4.add(SIMD.Float32x4.mul(i,o),s),c=SIMD.Float32x4.mul(r,o),o=SIMD.Float32x4.swizzle(o,2,3,0,1),s=SIMD.Float32x4.sub(s,SIMD.Float32x4.mul(i,o)),c=SIMD.Float32x4.sub(SIMD.Float32x4.mul(r,o),c),c=SIMD.Float32x4.swizzle(c,2,3,0,1),o=SIMD.Float32x4.mul(r,n),o=SIMD.Float32x4.swizzle(o,1,0,3,2),c=SIMD.Float32x4.add(SIMD.Float32x4.mul(a,o),c),u=SIMD.Float32x4.sub(SIMD.Float32x4.mul(i,o),u),o=SIMD.Float32x4.swizzle(o,2,3,0,1),c=SIMD.Float32x4.sub(SIMD.Float32x4.mul(a,o),c),u=SIMD.Float32x4.sub(u,SIMD.Float32x4.mul(i,o)),o=SIMD.Float32x4.mul(r,a),o=SIMD.Float32x4.swizzle(o,1,0,3,2),l=SIMD.Float32x4.sub(l,SIMD.Float32x4.mul(i,o)),c=SIMD.Float32x4.add(SIMD.Float32x4.mul(n,o),c),o=SIMD.Float32x4.swizzle(o,2,3,0,1),l=SIMD.Float32x4.add(SIMD.Float32x4.mul(i,o),l),c=SIMD.Float32x4.sub(c,SIMD.Float32x4.mul(n,o)),o=SIMD.Float32x4.mul(r,i),o=SIMD.Float32x4.swizzle(o,1,0,3,2),l=SIMD.Float32x4.add(SIMD.Float32x4.mul(a,o),l),u=SIMD.Float32x4.sub(u,SIMD.Float32x4.mul(n,o)),o=SIMD.Float32x4.swizzle(o,2,3,0,1),l=SIMD.Float32x4.sub(l,SIMD.Float32x4.mul(a,o)),u=SIMD.Float32x4.add(SIMD.Float32x4.mul(n,o),u),f=SIMD.Float32x4.mul(r,s),f=SIMD.Float32x4.add(SIMD.Float32x4.swizzle(f,2,3,0,1),f),f=SIMD.Float32x4.add(SIMD.Float32x4.swizzle(f,1,0,3,2),f),o=SIMD.Float32x4.reciprocalApproximation(f),f=SIMD.Float32x4.sub(SIMD.Float32x4.add(o,o),SIMD.Float32x4.mul(f,SIMD.Float32x4.mul(o,o))),(f=SIMD.Float32x4.swizzle(f,0,0,0,0))?(SIMD.Float32x4.store(t,0,SIMD.Float32x4.mul(f,s)),SIMD.Float32x4.store(t,4,SIMD.Float32x4.mul(f,l)),SIMD.Float32x4.store(t,8,SIMD.Float32x4.mul(f,c)),SIMD.Float32x4.store(t,12,SIMD.Float32x4.mul(f,u)),t):null},i.invert=n.USE_SIMD?i.SIMD.invert:i.scalar.invert,i.scalar.adjoint=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],d=e[11],p=e[12],m=e[13],g=e[14],v=e[15];return t[0]=s*(h*v-d*g)-f*(l*v-c*g)+m*(l*d-c*h),t[1]=-(n*(h*v-d*g)-f*(i*v-a*g)+m*(i*d-a*h)),t[2]=n*(l*v-c*g)-s*(i*v-a*g)+m*(i*c-a*l),t[3]=-(n*(l*d-c*h)-s*(i*d-a*h)+f*(i*c-a*l)),t[4]=-(o*(h*v-d*g)-u*(l*v-c*g)+p*(l*d-c*h)),t[5]=r*(h*v-d*g)-u*(i*v-a*g)+p*(i*d-a*h),t[6]=-(r*(l*v-c*g)-o*(i*v-a*g)+p*(i*c-a*l)),t[7]=r*(l*d-c*h)-o*(i*d-a*h)+u*(i*c-a*l),t[8]=o*(f*v-d*m)-u*(s*v-c*m)+p*(s*d-c*f),t[9]=-(r*(f*v-d*m)-u*(n*v-a*m)+p*(n*d-a*f)),t[10]=r*(s*v-c*m)-o*(n*v-a*m)+p*(n*c-a*s),t[11]=-(r*(s*d-c*f)-o*(n*d-a*f)+u*(n*c-a*s)),t[12]=-(o*(f*g-h*m)-u*(s*g-l*m)+p*(s*h-l*f)),t[13]=r*(f*g-h*m)-u*(n*g-i*m)+p*(n*h-i*f),t[14]=-(r*(s*g-l*m)-o*(n*g-i*m)+p*(n*l-i*s)),t[15]=r*(s*h-l*f)-o*(n*h-i*f)+u*(n*l-i*s),t},i.SIMD.adjoint=function(t,e){var r,n,i,a,o,s,l,c,u,f=SIMD.Float32x4.load(e,0),h=SIMD.Float32x4.load(e,4),d=SIMD.Float32x4.load(e,8),p=SIMD.Float32x4.load(e,12);return o=SIMD.Float32x4.shuffle(f,h,0,1,4,5),n=SIMD.Float32x4.shuffle(d,p,0,1,4,5),r=SIMD.Float32x4.shuffle(o,n,0,2,4,6),n=SIMD.Float32x4.shuffle(n,o,1,3,5,7),o=SIMD.Float32x4.shuffle(f,h,2,3,6,7),a=SIMD.Float32x4.shuffle(d,p,2,3,6,7),i=SIMD.Float32x4.shuffle(o,a,0,2,4,6),a=SIMD.Float32x4.shuffle(a,o,1,3,5,7),o=SIMD.Float32x4.mul(i,a),o=SIMD.Float32x4.swizzle(o,1,0,3,2),s=SIMD.Float32x4.mul(n,o),l=SIMD.Float32x4.mul(r,o),o=SIMD.Float32x4.swizzle(o,2,3,0,1),s=SIMD.Float32x4.sub(SIMD.Float32x4.mul(n,o),s),l=SIMD.Float32x4.sub(SIMD.Float32x4.mul(r,o),l),l=SIMD.Float32x4.swizzle(l,2,3,0,1),o=SIMD.Float32x4.mul(n,i),o=SIMD.Float32x4.swizzle(o,1,0,3,2),s=SIMD.Float32x4.add(SIMD.Float32x4.mul(a,o),s),u=SIMD.Float32x4.mul(r,o),o=SIMD.Float32x4.swizzle(o,2,3,0,1),s=SIMD.Float32x4.sub(s,SIMD.Float32x4.mul(a,o)),u=SIMD.Float32x4.sub(SIMD.Float32x4.mul(r,o),u),u=SIMD.Float32x4.swizzle(u,2,3,0,1),o=SIMD.Float32x4.mul(SIMD.Float32x4.swizzle(n,2,3,0,1),a),o=SIMD.Float32x4.swizzle(o,1,0,3,2),i=SIMD.Float32x4.swizzle(i,2,3,0,1),s=SIMD.Float32x4.add(SIMD.Float32x4.mul(i,o),s),c=SIMD.Float32x4.mul(r,o),o=SIMD.Float32x4.swizzle(o,2,3,0,1),s=SIMD.Float32x4.sub(s,SIMD.Float32x4.mul(i,o)),c=SIMD.Float32x4.sub(SIMD.Float32x4.mul(r,o),c),c=SIMD.Float32x4.swizzle(c,2,3,0,1),o=SIMD.Float32x4.mul(r,n),o=SIMD.Float32x4.swizzle(o,1,0,3,2),c=SIMD.Float32x4.add(SIMD.Float32x4.mul(a,o),c),u=SIMD.Float32x4.sub(SIMD.Float32x4.mul(i,o),u),o=SIMD.Float32x4.swizzle(o,2,3,0,1),c=SIMD.Float32x4.sub(SIMD.Float32x4.mul(a,o),c),u=SIMD.Float32x4.sub(u,SIMD.Float32x4.mul(i,o)),o=SIMD.Float32x4.mul(r,a),o=SIMD.Float32x4.swizzle(o,1,0,3,2),l=SIMD.Float32x4.sub(l,SIMD.Float32x4.mul(i,o)),c=SIMD.Float32x4.add(SIMD.Float32x4.mul(n,o),c),o=SIMD.Float32x4.swizzle(o,2,3,0,1),l=SIMD.Float32x4.add(SIMD.Float32x4.mul(i,o),l),c=SIMD.Float32x4.sub(c,SIMD.Float32x4.mul(n,o)),o=SIMD.Float32x4.mul(r,i),o=SIMD.Float32x4.swizzle(o,1,0,3,2),l=SIMD.Float32x4.add(SIMD.Float32x4.mul(a,o),l),u=SIMD.Float32x4.sub(u,SIMD.Float32x4.mul(n,o)),o=SIMD.Float32x4.swizzle(o,2,3,0,1),l=SIMD.Float32x4.sub(l,SIMD.Float32x4.mul(a,o)),u=SIMD.Float32x4.add(SIMD.Float32x4.mul(n,o),u),SIMD.Float32x4.store(t,0,s),SIMD.Float32x4.store(t,4,l),SIMD.Float32x4.store(t,8,c),SIMD.Float32x4.store(t,12,u),t},i.adjoint=n.USE_SIMD?i.SIMD.adjoint:i.scalar.adjoint,i.determinant=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],d=t[12],p=t[13],m=t[14],g=t[15];return(e*o-r*a)*(f*g-h*m)-(e*s-n*a)*(u*g-h*p)+(e*l-i*a)*(u*m-f*p)+(r*s-n*o)*(c*g-h*d)-(r*l-i*o)*(c*m-f*d)+(n*l-i*s)*(c*p-u*d)},i.SIMD.multiply=function(t,e,r){var n=SIMD.Float32x4.load(e,0),i=SIMD.Float32x4.load(e,4),a=SIMD.Float32x4.load(e,8),o=SIMD.Float32x4.load(e,12),s=SIMD.Float32x4.load(r,0),l=SIMD.Float32x4.add(SIMD.Float32x4.mul(SIMD.Float32x4.swizzle(s,0,0,0,0),n),SIMD.Float32x4.add(SIMD.Float32x4.mul(SIMD.Float32x4.swizzle(s,1,1,1,1),i),SIMD.Float32x4.add(SIMD.Float32x4.mul(SIMD.Float32x4.swizzle(s,2,2,2,2),a),SIMD.Float32x4.mul(SIMD.Float32x4.swizzle(s,3,3,3,3),o))));SIMD.Float32x4.store(t,0,l);var c=SIMD.Float32x4.load(r,4),u=SIMD.Float32x4.add(SIMD.Float32x4.mul(SIMD.Float32x4.swizzle(c,0,0,0,0),n),SIMD.Float32x4.add(SIMD.Float32x4.mul(SIMD.Float32x4.swizzle(c,1,1,1,1),i),SIMD.Float32x4.add(SIMD.Float32x4.mul(SIMD.Float32x4.swizzle(c,2,2,2,2),a),SIMD.Float32x4.mul(SIMD.Float32x4.swizzle(c,3,3,3,3),o))));SIMD.Float32x4.store(t,4,u);var f=SIMD.Float32x4.load(r,8),h=SIMD.Float32x4.add(SIMD.Float32x4.mul(SIMD.Float32x4.swizzle(f,0,0,0,0),n),SIMD.Float32x4.add(SIMD.Float32x4.mul(SIMD.Float32x4.swizzle(f,1,1,1,1),i),SIMD.Float32x4.add(SIMD.Float32x4.mul(SIMD.Float32x4.swizzle(f,2,2,2,2),a),SIMD.Float32x4.mul(SIMD.Float32x4.swizzle(f,3,3,3,3),o))));SIMD.Float32x4.store(t,8,h);var d=SIMD.Float32x4.load(r,12),p=SIMD.Float32x4.add(SIMD.Float32x4.mul(SIMD.Float32x4.swizzle(d,0,0,0,0),n),SIMD.Float32x4.add(SIMD.Float32x4.mul(SIMD.Float32x4.swizzle(d,1,1,1,1),i),SIMD.Float32x4.add(SIMD.Float32x4.mul(SIMD.Float32x4.swizzle(d,2,2,2,2),a),SIMD.Float32x4.mul(SIMD.Float32x4.swizzle(d,3,3,3,3),o))));return SIMD.Float32x4.store(t,12,p),t},i.scalar.multiply=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],d=e[10],p=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+_*d+w*v,t[3]=x*o+b*u+_*p+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+_*d+w*v,t[7]=x*o+b*u+_*p+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+_*d+w*v,t[11]=x*o+b*u+_*p+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+_*d+w*v,t[15]=x*o+b*u+_*p+w*y,t},i.multiply=n.USE_SIMD?i.SIMD.multiply:i.scalar.multiply,i.mul=i.multiply,i.scalar.translate=function(t,e,r){var n,i,a,o,s,l,c,u,f,h,d,p,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],d=e[10],p=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]=d,t[11]=p,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+d*v+e[14],t[15]=o*m+u*g+p*v+e[15]),t},i.SIMD.translate=function(t,e,r){var n=SIMD.Float32x4.load(e,0),i=SIMD.Float32x4.load(e,4),a=SIMD.Float32x4.load(e,8),o=SIMD.Float32x4.load(e,12),s=SIMD.Float32x4(r[0],r[1],r[2],0);e!==t&amp;&amp;(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]),n=SIMD.Float32x4.mul(n,SIMD.Float32x4.swizzle(s,0,0,0,0)),i=SIMD.Float32x4.mul(i,SIMD.Float32x4.swizzle(s,1,1,1,1)),a=SIMD.Float32x4.mul(a,SIMD.Float32x4.swizzle(s,2,2,2,2));var l=SIMD.Float32x4.add(n,SIMD.Float32x4.add(i,SIMD.Float32x4.add(a,o)));return SIMD.Float32x4.store(t,12,l),t},i.translate=n.USE_SIMD?i.SIMD.translate:i.scalar.translate,i.scalar.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},i.SIMD.scale=function(t,e,r){var n,i,a,o=SIMD.Float32x4(r[0],r[1],r[2],0);return n=SIMD.Float32x4.load(e,0),SIMD.Float32x4.store(t,0,SIMD.Float32x4.mul(n,SIMD.Float32x4.swizzle(o,0,0,0,0))),i=SIMD.Float32x4.load(e,4),SIMD.Float32x4.store(t,4,SIMD.Float32x4.mul(i,SIMD.Float32x4.swizzle(o,1,1,1,1))),a=SIMD.Float32x4.load(e,8),SIMD.Float32x4.store(t,8,SIMD.Float32x4.mul(a,SIMD.Float32x4.swizzle(o,2,2,2,2))),t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t},i.scale=n.USE_SIMD?i.SIMD.scale:i.scalar.scale,i.rotate=function(t,e,r,i){var a,o,s,l,c,u,f,h,d,p,m,g,v,y,x,b,_,w,M,k,A,T,S,E,L=i[0],C=i[1],z=i[2],D=Math.sqrt(L*L+C*C+z*z);return Math.abs(D)&lt;n.EPSILON?null:(D=1/D,L*=D,C*=D,z*=D,a=Math.sin(r),o=Math.cos(r),s=1-o,l=e[0],c=e[1],u=e[2],f=e[3],h=e[4],d=e[5],p=e[6],m=e[7],g=e[8],v=e[9],y=e[10],x=e[11],b=L*L*s+o,_=C*L*s+z*a,w=z*L*s-C*a,M=L*C*s-z*a,k=C*C*s+o,A=z*C*s+L*a,T=L*z*s+C*a,S=C*z*s-L*a,E=z*z*s+o,t[0]=l*b+h*_+g*w,t[1]=c*b+d*_+v*w,t[2]=u*b+p*_+y*w,t[3]=f*b+m*_+x*w,t[4]=l*M+h*k+g*A,t[5]=c*M+d*k+v*A,t[6]=u*M+p*k+y*A,t[7]=f*M+m*k+x*A,t[8]=l*T+h*S+g*E,t[9]=c*T+d*S+v*E,t[10]=u*T+p*S+y*E,t[11]=f*T+m*S+x*E,e!==t&amp;&amp;(t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]),t)},i.scalar.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&amp;&amp;(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},i.SIMD.rotateX=function(t,e,r){var n=SIMD.Float32x4.splat(Math.sin(r)),i=SIMD.Float32x4.splat(Math.cos(r));e!==t&amp;&amp;(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]);var a=SIMD.Float32x4.load(e,4),o=SIMD.Float32x4.load(e,8);return SIMD.Float32x4.store(t,4,SIMD.Float32x4.add(SIMD.Float32x4.mul(a,i),SIMD.Float32x4.mul(o,n))),SIMD.Float32x4.store(t,8,SIMD.Float32x4.sub(SIMD.Float32x4.mul(o,i),SIMD.Float32x4.mul(a,n))),t},i.rotateX=n.USE_SIMD?i.SIMD.rotateX:i.scalar.rotateX,i.scalar.rotateY=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];return e!==t&amp;&amp;(t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]),t[0]=a*i-c*n,t[1]=o*i-u*n,t[2]=s*i-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},i.SIMD.rotateY=function(t,e,r){var n=SIMD.Float32x4.splat(Math.sin(r)),i=SIMD.Float32x4.splat(Math.cos(r));e!==t&amp;&amp;(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]);var a=SIMD.Float32x4.load(e,0),o=SIMD.Float32x4.load(e,8);return SIMD.Float32x4.store(t,0,SIMD.Float32x4.sub(SIMD.Float32x4.mul(a,i),SIMD.Float32x4.mul(o,n))),SIMD.Float32x4.store(t,8,SIMD.Float32x4.add(SIMD.Float32x4.mul(a,n),SIMD.Float32x4.mul(o,i))),t},i.rotateY=n.USE_SIMD?i.SIMD.rotateY:i.scalar.rotateY,i.scalar.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&amp;&amp;(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},i.SIMD.rotateZ=function(t,e,r){var n=SIMD.Float32x4.splat(Math.sin(r)),i=SIMD.Float32x4.splat(Math.cos(r));e!==t&amp;&amp;(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]);var a=SIMD.Float32x4.load(e,0),o=SIMD.Float32x4.load(e,4);return SIMD.Float32x4.store(t,0,SIMD.Float32x4.add(SIMD.Float32x4.mul(a,i),SIMD.Float32x4.mul(o,n))),SIMD.Float32x4.store(t,4,SIMD.Float32x4.sub(SIMD.Float32x4.mul(o,i),SIMD.Float32x4.mul(a,n))),t},i.rotateZ=n.USE_SIMD?i.SIMD.rotateZ:i.scalar.rotateZ,i.fromTranslation=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},i.fromScaling=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},i.fromRotation=function(t,e,r){var i,a,o,s=r[0],l=r[1],c=r[2],u=Math.sqrt(s*s+l*l+c*c);return Math.abs(u)&lt;n.EPSILON?null:(u=1/u,s*=u,l*=u,c*=u,i=Math.sin(e),a=Math.cos(e),o=1-a,t[0]=s*s*o+a,t[1]=l*s*o+c*i,t[2]=c*s*o-l*i,t[3]=0,t[4]=s*l*o-c*i,t[5]=l*l*o+a,t[6]=c*l*o+s*i,t[7]=0,t[8]=s*c*o+l*i,t[9]=l*c*o-s*i,t[10]=c*c*o+a,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t)},i.fromXRotation=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},i.fromYRotation=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},i.fromZRotation=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},i.fromRotationTranslation=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,d=i*l,p=i*c,m=a*c,g=o*s,v=o*l,y=o*c;return t[0]=1-(d+m),t[1]=f+y,t[2]=h-v,t[3]=0,t[4]=f-y,t[5]=1-(u+m),t[6]=p+g,t[7]=0,t[8]=h+v,t[9]=p-g,t[10]=1-(u+d),t[11]=0,t[12]=r[0],t[13]=r[1],t[14]=r[2],t[15]=1,t},i.getTranslation=function(t,e){return t[0]=e[12],t[1]=e[13],t[2]=e[14],t},i.getRotation=function(t,e){var r=e[0]+e[5]+e[10],n=0;return r&gt;0?(n=2*Math.sqrt(r+1),t[3]=.25*n,t[0]=(e[6]-e[9])/n,t[1]=(e[8]-e[2])/n,t[2]=(e[1]-e[4])/n):e[0]&gt;e[5]&amp;e[0]&gt;e[10]?(n=2*Math.sqrt(1+e[0]-e[5]-e[10]),t[3]=(e[6]-e[9])/n,t[0]=.25*n,t[1]=(e[1]+e[4])/n,t[2]=(e[8]+e[2])/n):e[5]&gt;e[10]?(n=2*Math.sqrt(1+e[5]-e[0]-e[10]),t[3]=(e[8]-e[2])/n,t[0]=(e[1]+e[4])/n,t[1]=.25*n,t[2]=(e[6]+e[9])/n):(n=2*Math.sqrt(1+e[10]-e[0]-e[5]),t[3]=(e[1]-e[4])/n,t[0]=(e[8]+e[2])/n,t[1]=(e[6]+e[9])/n,t[2]=.25*n),t},i.fromRotationTranslationScale=function(t,e,r,n){var i=e[0],a=e[1],o=e[2],s=e[3],l=i+i,c=a+a,u=o+o,f=i*l,h=i*c,d=i*u,p=a*c,m=a*u,g=o*u,v=s*l,y=s*c,x=s*u,b=n[0],_=n[1],w=n[2];return t[0]=(1-(p+g))*b,t[1]=(h+x)*b,t[2]=(d-y)*b,t[3]=0,t[4]=(h-x)*_,t[5]=(1-(f+g))*_,t[6]=(m+v)*_,t[7]=0,t[8]=(d+y)*w,t[9]=(m-v)*w,t[10]=(1-(f+p))*w,t[11]=0,t[12]=r[0],t[13]=r[1],t[14]=r[2],t[15]=1,t},i.fromRotationTranslationScaleOrigin=function(t,e,r,n,i){var a=e[0],o=e[1],s=e[2],l=e[3],c=a+a,u=o+o,f=s+s,h=a*c,d=a*u,p=a*f,m=o*u,g=o*f,v=s*f,y=l*c,x=l*u,b=l*f,_=n[0],w=n[1],M=n[2],k=i[0],A=i[1],T=i[2];return t[0]=(1-(m+v))*_,t[1]=(d+b)*_,t[2]=(p-x)*_,t[3]=0,t[4]=(d-b)*w,t[5]=(1-(h+v))*w,t[6]=(g+y)*w,t[7]=0,t[8]=(p+x)*M,t[9]=(g-y)*M,t[10]=(1-(h+m))*M,t[11]=0,t[12]=r[0]+k-(t[0]*k+t[4]*A+t[8]*T),t[13]=r[1]+A-(t[1]*k+t[5]*A+t[9]*T),t[14]=r[2]+T-(t[2]*k+t[6]*A+t[10]*T),t[15]=1,t},i.fromQuat=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,d=i*s,p=i*l,m=a*o,g=a*s,v=a*l;return t[0]=1-f-p,t[1]=u+v,t[2]=h-g,t[3]=0,t[4]=u-v,t[5]=1-c-p,t[6]=d+m,t[7]=0,t[8]=h+g,t[9]=d-m,t[10]=1-c-f,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t},i.frustum=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},i.perspective=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},i.perspectiveFromFieldOfView=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},i.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},i.lookAt=function(t,e,r,a){var o,s,l,c,u,f,h,d,p,m,g=e[0],v=e[1],y=e[2],x=a[0],b=a[1],_=a[2],w=r[0],M=r[1],k=r[2];return Math.abs(g-w)&lt;n.EPSILON&amp;&amp;Math.abs(v-M)&lt;n.EPSILON&amp;&amp;Math.abs(y-k)&lt;n.EPSILON?i.identity(t):(h=g-w,d=v-M,p=y-k,m=1/Math.sqrt(h*h+d*d+p*p),h*=m,d*=m,p*=m,o=b*p-_*d,s=_*h-x*p,l=x*d-b*h,(m=Math.sqrt(o*o+s*s+l*l))?(o*=m=1/m,s*=m,l*=m):(o=0,s=0,l=0),c=d*l-p*s,u=p*o-h*l,f=h*s-d*o,(m=Math.sqrt(c*c+u*u+f*f))?(c*=m=1/m,u*=m,f*=m):(c=0,u=0,f=0),t[0]=o,t[1]=c,t[2]=h,t[3]=0,t[4]=s,t[5]=u,t[6]=d,t[7]=0,t[8]=l,t[9]=f,t[10]=p,t[11]=0,t[12]=-(o*g+s*v+l*y),t[13]=-(c*g+u*v+f*y),t[14]=-(h*g+d*v+p*y),t[15]=1,t)},i.str=function(t){return&quot;mat4(&quot;+t[0]+&quot;, &quot;+t[1]+&quot;, &quot;+t[2]+&quot;, &quot;+t[3]+&quot;, &quot;+t[4]+&quot;, &quot;+t[5]+&quot;, &quot;+t[6]+&quot;, &quot;+t[7]+&quot;, &quot;+t[8]+&quot;, &quot;+t[9]+&quot;, &quot;+t[10]+&quot;, &quot;+t[11]+&quot;, &quot;+t[12]+&quot;, &quot;+t[13]+&quot;, &quot;+t[14]+&quot;, &quot;+t[15]+&quot;)&quot;},i.frob=function(t){return Math.sqrt(Math.pow(t[0],2)+Math.pow(t[1],2)+Math.pow(t[2],2)+Math.pow(t[3],2)+Math.pow(t[4],2)+Math.pow(t[5],2)+Math.pow(t[6],2)+Math.pow(t[7],2)+Math.pow(t[8],2)+Math.pow(t[9],2)+Math.pow(t[10],2)+Math.pow(t[11],2)+Math.pow(t[12],2)+Math.pow(t[13],2)+Math.pow(t[14],2)+Math.pow(t[15],2))},i.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[3]=e[3]+r[3],t[4]=e[4]+r[4],t[5]=e[5]+r[5],t[6]=e[6]+r[6],t[7]=e[7]+r[7],t[8]=e[8]+r[8],t[9]=e[9]+r[9],t[10]=e[10]+r[10],t[11]=e[11]+r[11],t[12]=e[12]+r[12],t[13]=e[13]+r[13],t[14]=e[14]+r[14],t[15]=e[15]+r[15],t},i.subtract=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[4]=e[4]-r[4],t[5]=e[5]-r[5],t[6]=e[6]-r[6],t[7]=e[7]-r[7],t[8]=e[8]-r[8],t[9]=e[9]-r[9],t[10]=e[10]-r[10],t[11]=e[11]-r[11],t[12]=e[12]-r[12],t[13]=e[13]-r[13],t[14]=e[14]-r[14],t[15]=e[15]-r[15],t},i.sub=i.subtract,i.multiplyScalar=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[4]=e[4]*r,t[5]=e[5]*r,t[6]=e[6]*r,t[7]=e[7]*r,t[8]=e[8]*r,t[9]=e[9]*r,t[10]=e[10]*r,t[11]=e[11]*r,t[12]=e[12]*r,t[13]=e[13]*r,t[14]=e[14]*r,t[15]=e[15]*r,t},i.multiplyScalarAndAdd=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[4]=e[4]+r[4]*n,t[5]=e[5]+r[5]*n,t[6]=e[6]+r[6]*n,t[7]=e[7]+r[7]*n,t[8]=e[8]+r[8]*n,t[9]=e[9]+r[9]*n,t[10]=e[10]+r[10]*n,t[11]=e[11]+r[11]*n,t[12]=e[12]+r[12]*n,t[13]=e[13]+r[13]*n,t[14]=e[14]+r[14]*n,t[15]=e[15]+r[15]*n,t},i.exactEquals=function(t,e){return t[0]===e[0]&amp;&amp;t[1]===e[1]&amp;&amp;t[2]===e[2]&amp;&amp;t[3]===e[3]&amp;&amp;t[4]===e[4]&amp;&amp;t[5]===e[5]&amp;&amp;t[6]===e[6]&amp;&amp;t[7]===e[7]&amp;&amp;t[8]===e[8]&amp;&amp;t[9]===e[9]&amp;&amp;t[10]===e[10]&amp;&amp;t[11]===e[11]&amp;&amp;t[12]===e[12]&amp;&amp;t[13]===e[13]&amp;&amp;t[14]===e[14]&amp;&amp;t[15]===e[15]},i.equals=function(t,e){var r=t[0],i=t[1],a=t[2],o=t[3],s=t[4],l=t[5],c=t[6],u=t[7],f=t[8],h=t[9],d=t[10],p=t[11],m=t[12],g=t[13],v=t[14],y=t[15],x=e[0],b=e[1],_=e[2],w=e[3],M=e[4],k=e[5],A=e[6],T=e[7],S=e[8],E=e[9],L=e[10],C=e[11],z=e[12],D=e[13],I=e[14],P=e[15];return Math.abs(r-x)&lt;=n.EPSILON*Math.max(1,Math.abs(r),Math.abs(x))&amp;&amp;Math.abs(i-b)&lt;=n.EPSILON*Math.max(1,Math.abs(i),Math.abs(b))&amp;&amp;Math.abs(a-_)&lt;=n.EPSILON*Math.max(1,Math.abs(a),Math.abs(_))&amp;&amp;Math.abs(o-w)&lt;=n.EPSILON*Math.max(1,Math.abs(o),Math.abs(w))&amp;&amp;Math.abs(s-M)&lt;=n.EPSILON*Math.max(1,Math.abs(s),Math.abs(M))&amp;&amp;Math.abs(l-k)&lt;=n.EPSILON*Math.max(1,Math.abs(l),Math.abs(k))&amp;&amp;Math.abs(c-A)&lt;=n.EPSILON*Math.max(1,Math.abs(c),Math.abs(A))&amp;&amp;Math.abs(u-T)&lt;=n.EPSILON*Math.max(1,Math.abs(u),Math.abs(T))&amp;&amp;Math.abs(f-S)&lt;=n.EPSILON*Math.max(1,Math.abs(f),Math.abs(S))&amp;&amp;Math.abs(h-E)&lt;=n.EPSILON*Math.max(1,Math.abs(h),Math.abs(E))&amp;&amp;Math.abs(d-L)&lt;=n.EPSILON*Math.max(1,Math.abs(d),Math.abs(L))&amp;&amp;Math.abs(p-C)&lt;=n.EPSILON*Math.max(1,Math.abs(p),Math.abs(C))&amp;&amp;Math.abs(m-z)&lt;=n.EPSILON*Math.max(1,Math.abs(m),Math.abs(z))&amp;&amp;Math.abs(g-D)&lt;=n.EPSILON*Math.max(1,Math.abs(g),Math.abs(D))&amp;&amp;Math.abs(v-I)&lt;=n.EPSILON*Math.max(1,Math.abs(v),Math.abs(I))&amp;&amp;Math.abs(y-P)&lt;=n.EPSILON*Math.max(1,Math.abs(y),Math.abs(P))},e.exports=i},{&quot;./common.js&quot;:199}],204:[function(t,e,r){var n=t(&quot;./common.js&quot;),i=t(&quot;./mat3.js&quot;),a=t(&quot;./vec3.js&quot;),o=t(&quot;./vec4.js&quot;),s={};s.create=function(){var t=new n.ARRAY_TYPE(4);return t[0]=0,t[1]=0,t[2]=0,t[3]=1,t},s.rotationTo=function(){var t=a.create(),e=a.fromValues(1,0,0),r=a.fromValues(0,1,0);return function(n,i,o){var l=a.dot(i,o);return l&lt;-.999999?(a.cross(t,e,i),a.length(t)&lt;1e-6&amp;&amp;a.cross(t,r,i),a.normalize(t,t),s.setAxisAngle(n,t,Math.PI),n):l&gt;.999999?(n[0]=0,n[1]=0,n[2]=0,n[3]=1,n):(a.cross(t,i,o),n[0]=t[0],n[1]=t[1],n[2]=t[2],n[3]=1+l,s.normalize(n,n))}}(),s.setAxes=function(){var t=i.create();return function(e,r,n,i){return t[0]=n[0],t[3]=n[1],t[6]=n[2],t[1]=i[0],t[4]=i[1],t[7]=i[2],t[2]=-r[0],t[5]=-r[1],t[8]=-r[2],s.normalize(e,s.fromMat3(e,t))}}(),s.clone=o.clone,s.fromValues=o.fromValues,s.copy=o.copy,s.set=o.set,s.identity=function(t){return t[0]=0,t[1]=0,t[2]=0,t[3]=1,t},s.setAxisAngle=function(t,e,r){r*=.5;var n=Math.sin(r);return t[0]=n*e[0],t[1]=n*e[1],t[2]=n*e[2],t[3]=Math.cos(r),t},s.getAxisAngle=function(t,e){var r=2*Math.acos(e[3]),n=Math.sin(r/2);return 0!=n?(t[0]=e[0]/n,t[1]=e[1]/n,t[2]=e[2]/n):(t[0]=1,t[1]=0,t[2]=0),r},s.add=o.add,s.multiply=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=e[3],s=r[0],l=r[1],c=r[2],u=r[3];return t[0]=n*u+o*s+i*c-a*l,t[1]=i*u+o*l+a*s-n*c,t[2]=a*u+o*c+n*l-i*s,t[3]=o*u-n*s-i*l-a*c,t},s.mul=s.multiply,s.scale=o.scale,s.rotateX=function(t,e,r){r*=.5;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+o*s,t[1]=i*l+a*s,t[2]=a*l-i*s,t[3]=o*l-n*s,t},s.rotateY=function(t,e,r){r*=.5;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]=a*l+n*s,t[3]=o*l-i*s,t},s.rotateZ=function(t,e,r){r*=.5;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+i*s,t[1]=i*l-n*s,t[2]=a*l+o*s,t[3]=o*l-a*s,t},s.calculateW=function(t,e){var r=e[0],n=e[1],i=e[2];return t[0]=r,t[1]=n,t[2]=i,t[3]=Math.sqrt(Math.abs(1-r*r-n*n-i*i)),t},s.dot=o.dot,s.lerp=o.lerp,s.slerp=function(t,e,r,n){var i,a,o,s,l,c=e[0],u=e[1],f=e[2],h=e[3],d=r[0],p=r[1],m=r[2],g=r[3];return(a=c*d+u*p+f*m+h*g)&lt;0&amp;&amp;(a=-a,d=-d,p=-p,m=-m,g=-g),1-a&gt;1e-6?(i=Math.acos(a),o=Math.sin(i),s=Math.sin((1-n)*i)/o,l=Math.sin(n*i)/o):(s=1-n,l=n),t[0]=s*c+l*d,t[1]=s*u+l*p,t[2]=s*f+l*m,t[3]=s*h+l*g,t},s.sqlerp=function(){var t=s.create(),e=s.create();return function(r,n,i,a,o,l){return s.slerp(t,n,o,l),s.slerp(e,i,a,l),s.slerp(r,t,e,2*l*(1-l)),r}}(),s.invert=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,s=o?1/o:0;return t[0]=-r*s,t[1]=-n*s,t[2]=-i*s,t[3]=a*s,t},s.conjugate=function(t,e){return t[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t[3]=e[3],t},s.length=o.length,s.len=s.length,s.squaredLength=o.squaredLength,s.sqrLen=s.squaredLength,s.normalize=o.normalize,s.fromMat3=function(t,e){var r,n=e[0]+e[4]+e[8];if(n&gt;0)r=Math.sqrt(n+1),t[3]=.5*r,r=.5/r,t[0]=(e[5]-e[7])*r,t[1]=(e[6]-e[2])*r,t[2]=(e[1]-e[3])*r;else{var i=0;e[4]&gt;e[0]&amp;&amp;(i=1),e[8]&gt;e[3*i+i]&amp;&amp;(i=2);var a=(i+1)%3,o=(i+2)%3;r=Math.sqrt(e[3*i+i]-e[3*a+a]-e[3*o+o]+1),t[i]=.5*r,r=.5/r,t[3]=(e[3*a+o]-e[3*o+a])*r,t[a]=(e[3*a+i]+e[3*i+a])*r,t[o]=(e[3*o+i]+e[3*i+o])*r}return t},s.str=function(t){return&quot;quat(&quot;+t[0]+&quot;, &quot;+t[1]+&quot;, &quot;+t[2]+&quot;, &quot;+t[3]+&quot;)&quot;},s.exactEquals=o.exactEquals,s.equals=o.equals,e.exports=s},{&quot;./common.js&quot;:199,&quot;./mat3.js&quot;:202,&quot;./vec3.js&quot;:206,&quot;./vec4.js&quot;:207}],205:[function(t,e,r){var n=t(&quot;./common.js&quot;),i={};i.create=function(){var t=new n.ARRAY_TYPE(2);return t[0]=0,t[1]=0,t},i.clone=function(t){var e=new n.ARRAY_TYPE(2);return e[0]=t[0],e[1]=t[1],e},i.fromValues=function(t,e){var r=new n.ARRAY_TYPE(2);return r[0]=t,r[1]=e,r},i.copy=function(t,e){return t[0]=e[0],t[1]=e[1],t},i.set=function(t,e,r){return t[0]=e,t[1]=r,t},i.add=function(t,e,r){return t[0]=e[0]+r[0],t[1]=e[1]+r[1],t},i.subtract=function(t,e,r){return t[0]=e[0]-r[0],t[1]=e[1]-r[1],t},i.sub=i.subtract,i.multiply=function(t,e,r){return t[0]=e[0]*r[0],t[1]=e[1]*r[1],t},i.mul=i.multiply,i.divide=function(t,e,r){return t[0]=e[0]/r[0],t[1]=e[1]/r[1],t},i.div=i.divide,i.ceil=function(t,e){return t[0]=Math.ceil(e[0]),t[1]=Math.ceil(e[1]),t},i.floor=function(t,e){return t[0]=Math.floor(e[0]),t[1]=Math.floor(e[1]),t},i.min=function(t,e,r){return t[0]=Math.min(e[0],r[0]),t[1]=Math.min(e[1],r[1]),t},i.max=function(t,e,r){return t[0]=Math.max(e[0],r[0]),t[1]=Math.max(e[1],r[1]),t},i.round=function(t,e){return t[0]=Math.round(e[0]),t[1]=Math.round(e[1]),t},i.scale=function(t,e,r){return t[0]=e[0]*r,t[1]=e[1]*r,t},i.scaleAndAdd=function(t,e,r,n){return t[0]=e[0]+r[0]*n,t[1]=e[1]+r[1]*n,t},i.distance=function(t,e){var r=e[0]-t[0],n=e[1]-t[1];return Math.sqrt(r*r+n*n)},i.dist=i.distance,i.squaredDistance=function(t,e){var r=e[0]-t[0],n=e[1]-t[1];return r*r+n*n},i.sqrDist=i.squaredDistance,i.length=function(t){var e=t[0],r=t[1];return Math.sqrt(e*e+r*r)},i.len=i.length,i.squaredLength=function(t){var e=t[0],r=t[1];return e*e+r*r},i.sqrLen=i.squaredLength,i.negate=function(t,e){return t[0]=-e[0],t[1]=-e[1],t},i.inverse=function(t,e){return t[0]=1/e[0],t[1]=1/e[1],t},i.normalize=function(t,e){var r=e[0],n=e[1],i=r*r+n*n;return i&gt;0&amp;&amp;(i=1/Math.sqrt(i),t[0]=e[0]*i,t[1]=e[1]*i),t},i.dot=function(t,e){return t[0]*e[0]+t[1]*e[1]},i.cross=function(t,e,r){var n=e[0]*r[1]-e[1]*r[0];return t[0]=t[1]=0,t[2]=n,t},i.lerp=function(t,e,r,n){var i=e[0],a=e[1];return t[0]=i+n*(r[0]-i),t[1]=a+n*(r[1]-a),t},i.random=function(t,e){e=e||1;var r=2*n.RANDOM()*Math.PI;return t[0]=Math.cos(r)*e,t[1]=Math.sin(r)*e,t},i.transformMat2=function(t,e,r){var n=e[0],i=e[1];return t[0]=r[0]*n+r[2]*i,t[1]=r[1]*n+r[3]*i,t},i.transformMat2d=function(t,e,r){var n=e[0],i=e[1];return t[0]=r[0]*n+r[2]*i+r[4],t[1]=r[1]*n+r[3]*i+r[5],t},i.transformMat3=function(t,e,r){var n=e[0],i=e[1];return t[0]=r[0]*n+r[3]*i+r[6],t[1]=r[1]*n+r[4]*i+r[7],t},i.transformMat4=function(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},i.forEach=function(){var t=i.create();return function(e,r,n,i,a,o){var s,l;for(r||(r=2),n||(n=0),l=i?Math.min(i*r+n,e.length):e.length,s=n;s&lt;l;s+=r)t[0]=e[s],t[1]=e[s+1],a(t,t,o),e[s]=t[0],e[s+1]=t[1];return e}}(),i.str=function(t){return&quot;vec2(&quot;+t[0]+&quot;, &quot;+t[1]+&quot;)&quot;},i.exactEquals=function(t,e){return t[0]===e[0]&amp;&amp;t[1]===e[1]},i.equals=function(t,e){var r=t[0],i=t[1],a=e[0],o=e[1];return Math.abs(r-a)&lt;=n.EPSILON*Math.max(1,Math.abs(r),Math.abs(a))&amp;&amp;Math.abs(i-o)&lt;=n.EPSILON*Math.max(1,Math.abs(i),Math.abs(o))},e.exports=i},{&quot;./common.js&quot;:199}],206:[function(t,e,r){var n=t(&quot;./common.js&quot;),i={};i.create=function(){var t=new n.ARRAY_TYPE(3);return t[0]=0,t[1]=0,t[2]=0,t},i.clone=function(t){var e=new n.ARRAY_TYPE(3);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e},i.fromValues=function(t,e,r){var i=new n.ARRAY_TYPE(3);return i[0]=t,i[1]=e,i[2]=r,i},i.copy=function(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t},i.set=function(t,e,r,n){return t[0]=e,t[1]=r,t[2]=n,t},i.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},i.subtract=function(t,e,r){return t[0]=e[0]-r[0],t[1]=e[1]-r[1],t[2]=e[2]-r[2],t},i.sub=i.subtract,i.multiply=function(t,e,r){return t[0]=e[0]*r[0],t[1]=e[1]*r[1],t[2]=e[2]*r[2],t},i.mul=i.multiply,i.divide=function(t,e,r){return t[0]=e[0]/r[0],t[1]=e[1]/r[1],t[2]=e[2]/r[2],t},i.div=i.divide,i.ceil=function(t,e){return t[0]=Math.ceil(e[0]),t[1]=Math.ceil(e[1]),t[2]=Math.ceil(e[2]),t},i.floor=function(t,e){return t[0]=Math.floor(e[0]),t[1]=Math.floor(e[1]),t[2]=Math.floor(e[2]),t},i.min=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},i.max=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},i.round=function(t,e){return t[0]=Math.round(e[0]),t[1]=Math.round(e[1]),t[2]=Math.round(e[2]),t},i.scale=function(t,e,r){return t[0]=e[0]*r,t[1]=e[1]*r,t[2]=e[2]*r,t},i.scaleAndAdd=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},i.distance=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)},i.dist=i.distance,i.squaredDistance=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},i.sqrDist=i.squaredDistance,i.length=function(t){var e=t[0],r=t[1],n=t[2];return Math.sqrt(e*e+r*r+n*n)},i.len=i.length,i.squaredLength=function(t){var e=t[0],r=t[1],n=t[2];return e*e+r*r+n*n},i.sqrLen=i.squaredLength,i.negate=function(t,e){return t[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t},i.inverse=function(t,e){return t[0]=1/e[0],t[1]=1/e[1],t[2]=1/e[2],t},i.normalize=function(t,e){var r=e[0],n=e[1],i=e[2],a=r*r+n*n+i*i;return a&gt;0&amp;&amp;(a=1/Math.sqrt(a),t[0]=e[0]*a,t[1]=e[1]*a,t[2]=e[2]*a),t},i.dot=function(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]},i.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},i.lerp=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},i.hermite=function(t,e,r,n,i,a){var o=a*a,s=o*(2*a-3)+1,l=o*(a-2)+a,c=o*(a-1),u=o*(3-2*a);return t[0]=e[0]*s+r[0]*l+n[0]*c+i[0]*u,t[1]=e[1]*s+r[1]*l+n[1]*c+i[1]*u,t[2]=e[2]*s+r[2]*l+n[2]*c+i[2]*u,t},i.bezier=function(t,e,r,n,i,a){var o=1-a,s=o*o,l=a*a,c=s*o,u=3*a*s,f=3*l*o,h=l*a;return t[0]=e[0]*c+r[0]*u+n[0]*f+i[0]*h,t[1]=e[1]*c+r[1]*u+n[1]*f+i[1]*h,t[2]=e[2]*c+r[2]*u+n[2]*f+i[2]*h,t},i.random=function(t,e){e=e||1;var r=2*n.RANDOM()*Math.PI,i=2*n.RANDOM()-1,a=Math.sqrt(1-i*i)*e;return t[0]=Math.cos(r)*a,t[1]=Math.sin(r)*a,t[2]=i*e,t},i.transformMat4=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},i.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},i.transformQuat=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,d=-o*n-s*i-l*a;return t[0]=u*c+d*-o+f*-l-h*-s,t[1]=f*c+d*-s+h*-o-u*-l,t[2]=h*c+d*-l+u*-s-f*-o,t},i.rotateX=function(t,e,r,n){var i=[],a=[];return i[0]=e[0]-r[0],i[1]=e[1]-r[1],i[2]=e[2]-r[2],a[0]=i[0],a[1]=i[1]*Math.cos(n)-i[2]*Math.sin(n),a[2]=i[1]*Math.sin(n)+i[2]*Math.cos(n),t[0]=a[0]+r[0],t[1]=a[1]+r[1],t[2]=a[2]+r[2],t},i.rotateY=function(t,e,r,n){var i=[],a=[];return i[0]=e[0]-r[0],i[1]=e[1]-r[1],i[2]=e[2]-r[2],a[0]=i[2]*Math.sin(n)+i[0]*Math.cos(n),a[1]=i[1],a[2]=i[2]*Math.cos(n)-i[0]*Math.sin(n),t[0]=a[0]+r[0],t[1]=a[1]+r[1],t[2]=a[2]+r[2],t},i.rotateZ=function(t,e,r,n){var i=[],a=[];return i[0]=e[0]-r[0],i[1]=e[1]-r[1],i[2]=e[2]-r[2],a[0]=i[0]*Math.cos(n)-i[1]*Math.sin(n),a[1]=i[0]*Math.sin(n)+i[1]*Math.cos(n),a[2]=i[2],t[0]=a[0]+r[0],t[1]=a[1]+r[1],t[2]=a[2]+r[2],t},i.forEach=function(){var t=i.create();return function(e,r,n,i,a,o){var s,l;for(r||(r=3),n||(n=0),l=i?Math.min(i*r+n,e.length):e.length,s=n;s&lt;l;s+=r)t[0]=e[s],t[1]=e[s+1],t[2]=e[s+2],a(t,t,o),e[s]=t[0],e[s+1]=t[1],e[s+2]=t[2];return e}}(),i.angle=function(t,e){var r=i.fromValues(t[0],t[1],t[2]),n=i.fromValues(e[0],e[1],e[2]);i.normalize(r,r),i.normalize(n,n);var a=i.dot(r,n);return a&gt;1?0:Math.acos(a)},i.str=function(t){return&quot;vec3(&quot;+t[0]+&quot;, &quot;+t[1]+&quot;, &quot;+t[2]+&quot;)&quot;},i.exactEquals=function(t,e){return t[0]===e[0]&amp;&amp;t[1]===e[1]&amp;&amp;t[2]===e[2]},i.equals=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)&lt;=n.EPSILON*Math.max(1,Math.abs(r),Math.abs(o))&amp;&amp;Math.abs(i-s)&lt;=n.EPSILON*Math.max(1,Math.abs(i),Math.abs(s))&amp;&amp;Math.abs(a-l)&lt;=n.EPSILON*Math.max(1,Math.abs(a),Math.abs(l))},e.exports=i},{&quot;./common.js&quot;:199}],207:[function(t,e,r){var n=t(&quot;./common.js&quot;),i={};i.create=function(){var t=new n.ARRAY_TYPE(4);return t[0]=0,t[1]=0,t[2]=0,t[3]=0,t},i.clone=function(t){var e=new n.ARRAY_TYPE(4);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e},i.fromValues=function(t,e,r,i){var a=new n.ARRAY_TYPE(4);return a[0]=t,a[1]=e,a[2]=r,a[3]=i,a},i.copy=function(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t},i.set=function(t,e,r,n,i){return t[0]=e,t[1]=r,t[2]=n,t[3]=i,t},i.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[3]=e[3]+r[3],t},i.subtract=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},i.sub=i.subtract,i.multiply=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},i.mul=i.multiply,i.divide=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},i.div=i.divide,i.ceil=function(t,e){return t[0]=Math.ceil(e[0]),t[1]=Math.ceil(e[1]),t[2]=Math.ceil(e[2]),t[3]=Math.ceil(e[3]),t},i.floor=function(t,e){return t[0]=Math.floor(e[0]),t[1]=Math.floor(e[1]),t[2]=Math.floor(e[2]),t[3]=Math.floor(e[3]),t},i.min=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},i.max=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},i.round=function(t,e){return t[0]=Math.round(e[0]),t[1]=Math.round(e[1]),t[2]=Math.round(e[2]),t[3]=Math.round(e[3]),t},i.scale=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},i.scaleAndAdd=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},i.distance=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)},i.dist=i.distance,i.squaredDistance=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},i.sqrDist=i.squaredDistance,i.length=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)},i.len=i.length,i.squaredLength=function(t){var e=t[0],r=t[1],n=t[2],i=t[3];return e*e+r*r+n*n+i*i},i.sqrLen=i.squaredLength,i.negate=function(t,e){return t[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t[3]=-e[3],t},i.inverse=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},i.normalize=function(t,e){var r=e[0],n=e[1],i=e[2],a=e[3],o=r*r+n*n+i*i+a*a;return o&gt;0&amp;&amp;(o=1/Math.sqrt(o),t[0]=r*o,t[1]=n*o,t[2]=i*o,t[3]=a*o),t},i.dot=function(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]+t[3]*e[3]},i.lerp=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},i.random=function(t,e){return e=e||1,t[0]=n.RANDOM(),t[1]=n.RANDOM(),t[2]=n.RANDOM(),t[3]=n.RANDOM(),i.normalize(t,t),i.scale(t,t,e),t},i.transformMat4=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},i.transformQuat=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,d=-o*n-s*i-l*a;return t[0]=u*c+d*-o+f*-l-h*-s,t[1]=f*c+d*-s+h*-o-u*-l,t[2]=h*c+d*-l+u*-s-f*-o,t[3]=e[3],t},i.forEach=function(){var t=i.create();return function(e,r,n,i,a,o){var s,l;for(r||(r=4),n||(n=0),l=i?Math.min(i*r+n,e.length):e.length,s=n;s&lt;l;s+=r)t[0]=e[s],t[1]=e[s+1],t[2]=e[s+2],t[3]=e[s+3],a(t,t,o),e[s]=t[0],e[s+1]=t[1],e[s+2]=t[2],e[s+3]=t[3];return e}}(),i.str=function(t){return&quot;vec4(&quot;+t[0]+&quot;, &quot;+t[1]+&quot;, &quot;+t[2]+&quot;, &quot;+t[3]+&quot;)&quot;},i.exactEquals=function(t,e){return t[0]===e[0]&amp;&amp;t[1]===e[1]&amp;&amp;t[2]===e[2]&amp;&amp;t[3]===e[3]},i.equals=function(t,e){var r=t[0],i=t[1],a=t[2],o=t[3],s=e[0],l=e[1],c=e[2],u=e[3];return Math.abs(r-s)&lt;=n.EPSILON*Math.max(1,Math.abs(r),Math.abs(s))&amp;&amp;Math.abs(i-l)&lt;=n.EPSILON*Math.max(1,Math.abs(i),Math.abs(l))&amp;&amp;Math.abs(a-c)&lt;=n.EPSILON*Math.max(1,Math.abs(a),Math.abs(c))&amp;&amp;Math.abs(o-u)&lt;=n.EPSILON*Math.max(1,Math.abs(o),Math.abs(u))},e.exports=i},{&quot;./common.js&quot;:199}],208:[function(t,e,r){&quot;use strict&quot;;function n(t,e){for(var r=[0,0,0,0],n=0;n&lt;4;++n)for(var i=0;i&lt;4;++i)r[i]+=t[4*n+i]*e[n];return r}function i(t,e,r,i,a){for(var o=n(i,n(r,n(e,[t[0],t[1],t[2],1]))),s=0;s&lt;3;++s)o[s]/=o[3];return[.5*a[0]*(1+o[0]),.5*a[1]*(1-o[1])]}var a=t(&quot;barycentric&quot;),o=t(&quot;polytope-closest-point/lib/closest_point_2d.js&quot;);e.exports=function(t,e,r,n,s,l){if(1===t.length)return[0,t[0].slice()];for(var c=new Array(t.length),u=0;u&lt;t.length;++u)c[u]=i(t[u],r,n,s,l);var f=0,h=1/0;for(u=0;u&lt;c.length;++u){for(var d=0,p=0;p&lt;2;++p)d+=Math.pow(c[u][p]-e[p],2);d&lt;h&amp;&amp;(h=d,f=u)}var m=function(t,e){if(2===t.length){for(var r=0,n=0,i=0;i&lt;2;++i)r+=Math.pow(e[i]-t[0][i],2),n+=Math.pow(e[i]-t[1][i],2);return r=Math.sqrt(r),n=Math.sqrt(n),r+n&lt;1e-6?[1,0]:[n/(r+n),r/(n+r)]}if(3===t.length){var s=[0,0];return o(t[0],t[1],t[2],e,s),a(t,s)}return[]}(c,e),g=0;for(u=0;u&lt;3;++u){if(m[u]&lt;-.001||m[u]&gt;1.0001)return null;g+=m[u]}return Math.abs(g-1)&gt;.001?null:[f,function(t,e){for(var r=[0,0,0],n=0;n&lt;t.length;++n)for(var i=t[n],a=e[n],o=0;o&lt;3;++o)r[o]+=a*i[o];return r}(t,m),m]}},{barycentric:53,&quot;polytope-closest-point/lib/closest_point_2d.js&quot;:487}],209:[function(t,e,r){var n=&quot;precision mediump float;\n#define GLSLIFY 1\n\nuniform vec3  clipBounds[2];\nuniform float pickId;\n\nvarying vec3 f_position;\nvarying vec4 f_id;\n\nvoid main() {\n  if(any(lessThan(f_position, clipBounds[0])) || \n     any(greaterThan(f_position, clipBounds[1]))) {\n    discard;\n  }\n  gl_FragColor = vec4(pickId, f_id.xyz);\n}&quot;;r.meshShader={vertex:&quot;precision mediump float;\n#define GLSLIFY 1\n\nattribute vec3 position, normal;\nattribute vec4 color;\nattribute vec2 uv;\n\nuniform mat4 model\n           , view\n           , projection;\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\nvoid main() {\n  vec4 m_position  = model * vec4(position, 1.0);\n  vec4 t_position  = view * m_position;\n  gl_Position      = projection * t_position;\n  f_color          = color;\n  f_normal         = normal;\n  f_data           = position;\n  f_eyeDirection   = eyePosition   - position;\n  f_lightDirection = lightPosition - position;\n  f_uv             = uv;\n}&quot;,fragment:&quot;precision mediump float;\n#define GLSLIFY 1\n\nfloat beckmannDistribution_2_0(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\n\n\nfloat cookTorranceSpecular_1_1(\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_2_0(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\n\nuniform vec3 clipBounds[2];\nuniform float roughness\n            , fresnel\n            , kambient\n            , kdiffuse\n            , kspecular\n            , opacity;\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(any(lessThan(f_data, clipBounds[0])) || \n     any(greaterThan(f_data, clipBounds[1]))) {\n    discard;\n  }\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 = cookTorranceSpecular_1_1(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}&quot;,attributes:[{name:&quot;position&quot;,type:&quot;vec3&quot;},{name:&quot;normal&quot;,type:&quot;vec3&quot;},{name:&quot;color&quot;,type:&quot;vec4&quot;},{name:&quot;uv&quot;,type:&quot;vec2&quot;}]},r.wireShader={vertex:&quot;precision mediump 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}&quot;,fragment:&quot;precision mediump float;\n#define GLSLIFY 1\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(any(lessThan(f_data, clipBounds[0])) || \n     any(greaterThan(f_data, clipBounds[1]))) {\n    discard;\n  }\n\n  gl_FragColor = f_color * texture2D(texture, f_uv) * opacity;\n}&quot;,attributes:[{name:&quot;position&quot;,type:&quot;vec3&quot;},{name:&quot;color&quot;,type:&quot;vec4&quot;},{name:&quot;uv&quot;,type:&quot;vec2&quot;}]},r.pointShader={vertex:&quot;precision mediump float;\n#define GLSLIFY 1\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(any(lessThan(position, clipBounds[0])) || \n     any(greaterThan(position, clipBounds[1]))) {\n    gl_Position = vec4(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}&quot;,fragment:&quot;precision mediump 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) &gt; 0.25) {\n    discard;\n  }\n  gl_FragColor = f_color * texture2D(texture, f_uv) * opacity;\n}&quot;,attributes:[{name:&quot;position&quot;,type:&quot;vec3&quot;},{name:&quot;color&quot;,type:&quot;vec4&quot;},{name:&quot;uv&quot;,type:&quot;vec2&quot;},{name:&quot;pointSize&quot;,type:&quot;float&quot;}]},r.pickShader={vertex:&quot;precision mediump 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}&quot;,fragment:n,attributes:[{name:&quot;position&quot;,type:&quot;vec3&quot;},{name:&quot;id&quot;,type:&quot;vec4&quot;}]},r.pointPickShader={vertex:&quot;precision mediump float;\n#define GLSLIFY 1\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(any(lessThan(position, clipBounds[0])) || \n     any(greaterThan(position, clipBounds[1]))) {\n    gl_Position = vec4(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}&quot;,fragment:n,attributes:[{name:&quot;position&quot;,type:&quot;vec3&quot;},{name:&quot;pointSize&quot;,type:&quot;float&quot;},{name:&quot;id&quot;,type:&quot;vec4&quot;}]},r.contourShader={vertex:&quot;precision mediump 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}&quot;,fragment:&quot;precision mediump float;\n#define GLSLIFY 1\n\nuniform vec3 contourColor;\n\nvoid main() {\n  gl_FragColor = vec4(contourColor,1);\n}\n&quot;,attributes:[{name:&quot;position&quot;,type:&quot;vec3&quot;}]}},{}],210:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,n,i,a,o,s,l,c,u,f,h,d,p,m,g,v,y,x,b,_,w,k,A,T,S){this.gl=t,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=d,this.triangleCount=0,this.lineWidth=1,this.edgePositions=p,this.edgeColors=g,this.edgeUVs=v,this.edgeIds=m,this.edgeVAO=y,this.edgeCount=0,this.pointPositions=x,this.pointColors=_,this.pointUVs=w,this.pointSizes=k,this.pointIds=b,this.pointVAO=A,this.pointCount=0,this.contourLineWidth=1,this.contourPositions=T,this.contourVAO=S,this.contourCount=0,this.contourColor=[0,0,0],this.contourEnable=!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._model=M,this._view=M,this._projection=M,this._resolution=[1,1]}var i=t(&quot;gl-shader&quot;),a=t(&quot;gl-buffer&quot;),o=t(&quot;gl-vao&quot;),s=t(&quot;gl-texture2d&quot;),l=t(&quot;normals&quot;),c=t(&quot;gl-mat4/multiply&quot;),u=t(&quot;gl-mat4/invert&quot;),f=t(&quot;ndarray&quot;),h=t(&quot;colormap&quot;),d=t(&quot;simplicial-complex-contour&quot;),p=t(&quot;typedarray-pool&quot;),m=t(&quot;./lib/shaders&quot;),g=t(&quot;./lib/closest-point&quot;),v=m.meshShader,y=m.wireShader,x=m.pointShader,b=m.pickShader,_=m.pointPickShader,w=m.contourShader,M=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],k=n.prototype;k.isOpaque=function(){return this.opacity&gt;=1},k.isTransparent=function(){return this.opacity&lt;1},k.pickSlots=1,k.setPickBase=function(t){this.pickId=t},k.highlight=function(t){if(t&amp;&amp;this.contourEnable){for(var e=d(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&lt;a;++l)for(var c=r[l],u=0;u&lt;2;++u){var f=c[0];2===c.length&amp;&amp;(f=c[u]);for(var h=n[f][0],m=n[f][1],g=i[f],v=1-g,y=this.positions[h],x=this.positions[m],b=0;b&lt;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,&quot;contourEnable&quot;in t&amp;&amp;(this.contourEnable=t.contourEnable),&quot;contourColor&quot;in t&amp;&amp;(this.contourColor=t.contourColor),&quot;lineWidth&quot;in t&amp;&amp;(this.lineWidth=t.lineWidth),&quot;lightPosition&quot;in t&amp;&amp;(this.lightPosition=t.lightPosition),&quot;opacity&quot;in t&amp;&amp;(this.opacity=t.opacity),&quot;ambient&quot;in t&amp;&amp;(this.ambientLight=t.ambient),&quot;diffuse&quot;in t&amp;&amp;(this.diffuseLight=t.diffuse),&quot;specular&quot;in t&amp;&amp;(this.specularLight=t.specular),&quot;roughness&quot;in t&amp;&amp;(this.roughness=t.roughness),&quot;fresnel&quot;in t&amp;&amp;(this.fresnel=t.fresnel),t.texture?(this.texture.dispose(),this.texture=s(e,t.texture)):t.colormap&amp;&amp;(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=h({colormap:t,nshades:256,format:&quot;rgba&quot;}),r=new Uint8Array(1024),n=0;n&lt;256;++n){for(var i=e[n],a=0;a&lt;3;++a)r[4*n+a]=i[a];r[4*n+3]=255*i[3]}return f(r,[256,256,4],[4,0,1])}(t.colormap)),this.texture.generateMipmap());var r=t.cells,n=t.positions;if(n&amp;&amp;r){var i=[],a=[],o=[],c=[],u=[],d=[],p=[],m=[],g=[],v=[],y=[],x=[],b=[],_=[];this.cells=r,this.positions=n;var w=t.vertexNormals,M=t.cellNormals,k=void 0===t.vertexNormalsEpsilon?1e-6:t.vertexNormalsEpsilon,A=void 0===t.faceNormalsEpsilon?1e-6:t.faceNormalsEpsilon;t.useFacetNormals&amp;&amp;!M&amp;&amp;(M=l.faceNormals(r,n,A)),M||w||(w=l.vertexNormals(r,n,k));var T=t.vertexColors,S=t.cellColors,E=t.meshColor||[1,1,1,1],L=t.vertexUVs,C=t.vertexIntensity,z=t.cellUVs,D=t.cellIntensity,I=1/0,P=-1/0;if(!L&amp;&amp;!z)if(C)if(t.vertexIntensityBounds)I=+t.vertexIntensityBounds[0],P=+t.vertexIntensityBounds[1];else for(var O=0;O&lt;C.length;++O){var F=C[O];I=Math.min(I,F),P=Math.max(P,F)}else if(D)for(O=0;O&lt;D.length;++O){F=D[O];I=Math.min(I,F),P=Math.max(P,F)}else for(O=0;O&lt;n.length;++O){F=n[O][2];I=Math.min(I,F),P=Math.max(P,F)}this.intensity=C||(D?function(t,e,r){for(var n=new Array(e),i=0;i&lt;e;++i)n[i]=0;var a=t.length;for(i=0;i&lt;a;++i)for(var o=t[i],s=0;s&lt;o.length;++s)n[o[s]]=r[i];return n}(r,n.length,D):function(t){for(var e=t.length,r=new Array(e),n=0;n&lt;e;++n)r[n]=t[n][2];return r}(n));var R=t.pointSizes,N=t.pointSize||1;this.bounds=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]];for(O=0;O&lt;n.length;++O)for(var j=n[O],B=0;B&lt;3;++B)!isNaN(j[B])&amp;&amp;isFinite(j[B])&amp;&amp;(this.bounds[0][B]=Math.min(this.bounds[0][B],j[B]),this.bounds[1][B]=Math.max(this.bounds[1][B],j[B]));var U=0,V=0,q=0;t:for(O=0;O&lt;r.length;++O){var H=r[O];switch(H.length){case 1:for(j=n[Y=H[0]],B=0;B&lt;3;++B)if(isNaN(j[B])||!isFinite(j[B]))continue t;v.push(j[0],j[1],j[2]);3===(W=T?T[Y]:S?S[O]:E).length?y.push(W[0],W[1],W[2],1):y.push(W[0],W[1],W[2],W[3]);X=L?L[Y]:C?[(C[Y]-I)/(P-I),0]:z?z[O]:D?[(D[O]-I)/(P-I),0]:[(j[2]-I)/(P-I),0],x.push(X[0],X[1]),R?b.push(R[Y]):b.push(N),_.push(O),q+=1;break;case 2:for(B=0;B&lt;2;++B){j=n[Y=H[B]];for(var G=0;G&lt;3;++G)if(isNaN(j[G])||!isFinite(j[G]))continue t}for(B=0;B&lt;2;++B){j=n[Y=H[B]];d.push(j[0],j[1],j[2]);3===(W=T?T[Y]:S?S[O]:E).length?p.push(W[0],W[1],W[2],1):p.push(W[0],W[1],W[2],W[3]);X=L?L[Y]:C?[(C[Y]-I)/(P-I),0]:z?z[O]:D?[(D[O]-I)/(P-I),0]:[(j[2]-I)/(P-I),0],m.push(X[0],X[1]),g.push(O)}V+=1;break;case 3:for(B=0;B&lt;3;++B)for(j=n[Y=H[B]],G=0;G&lt;3;++G)if(isNaN(j[G])||!isFinite(j[G]))continue t;for(B=0;B&lt;3;++B){var Y;j=n[Y=H[B]];i.push(j[0],j[1],j[2]);var W;3===(W=T?T[Y]:S?S[O]:E).length?a.push(W[0],W[1],W[2],1):a.push(W[0],W[1],W[2],W[3]);var X;X=L?L[Y]:C?[(C[Y]-I)/(P-I),0]:z?z[O]:D?[(D[O]-I)/(P-I),0]:[(j[2]-I)/(P-I),0],c.push(X[0],X[1]);var Z;Z=w?w[Y]:M[O],o.push(Z[0],Z[1],Z[2]),u.push(O)}U+=1}}this.pointCount=q,this.edgeCount=V,this.triangleCount=U,this.pointPositions.update(v),this.pointColors.update(y),this.pointUVs.update(x),this.pointSizes.update(b),this.pointIds.update(new Uint32Array(_)),this.edgePositions.update(d),this.edgeColors.update(p),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(o),this.triangleIds.update(new Uint32Array(u))}},k.drawTransparent=k.draw=function(t){t=t||{};for(var e=this.gl,r=t.model||M,n=t.view||M,i=t.projection||M,a=[[-1e6,-1e6,-1e6],[1e6,1e6,1e6]],o=0;o&lt;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,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,contourColor:this.contourColor,texture:0};this.texture.bind(0);var l=new Array(16);c(l,s.view,s.model),c(l,s.projection,l),u(l,l);for(o=0;o&lt;3;++o)s.eyePosition[o]=l[12+o]/l[15];var f=l[15];for(o=0;o&lt;3;++o)f+=this.lightPosition[o]*l[4*o+3];for(o=0;o&lt;3;++o){for(var h=l[12+o],d=0;d&lt;3;++d)h+=l[4*d+o]*this.lightPosition[d];s.lightPosition[o]=h/f}if(this.triangleCount&gt;0){(p=this.triShader).bind(),p.uniforms=s,this.triangleVAO.bind(),e.drawArrays(e.TRIANGLES,0,3*this.triangleCount),this.triangleVAO.unbind()}if(this.edgeCount&gt;0&amp;&amp;this.lineWidth&gt;0){(p=this.lineShader).bind(),p.uniforms=s,this.edgeVAO.bind(),e.lineWidth(this.lineWidth),e.drawArrays(e.LINES,0,2*this.edgeCount),this.edgeVAO.unbind()}if(this.pointCount&gt;0){(p=this.pointShader).bind(),p.uniforms=s,this.pointVAO.bind(),e.drawArrays(e.POINTS,0,this.pointCount),this.pointVAO.unbind()}if(this.contourEnable&amp;&amp;this.contourCount&gt;0&amp;&amp;this.contourLineWidth&gt;0){var p;(p=this.contourShader).bind(),p.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||M,n=t.view||M,i=t.projection||M,a=[[-1e6,-1e6,-1e6],[1e6,1e6,1e6]],o=0;o&lt;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,pickId:this.pickId/255};if((l=this.pickShader).bind(),l.uniforms=s,this.triangleCount&gt;0&amp;&amp;(this.triangleVAO.bind(),e.drawArrays(e.TRIANGLES,0,3*this.triangleCount),this.triangleVAO.unbind()),this.edgeCount&gt;0&amp;&amp;(this.edgeVAO.bind(),e.lineWidth(this.lineWidth),e.drawArrays(e.LINES,0,2*this.edgeCount),this.edgeVAO.unbind()),this.pointCount&gt;0){var l;(l=this.pointPickShader).bind(),l.uniforms=s,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&lt;r.length;++a)i[a]=n[r[a]];var o=g(i,[t.coord[0],this._resolution[1]-t.coord[1]],this._model,this._view,this._projection,this._resolution);if(!o)return null;var s=o[2],l=0;for(a=0;a&lt;r.length;++a)l+=s[a]*this.intensity[r[a]];return{position:o[1],index:r[o[0]],cell:r,cellId:e,intensity:l,dataCoordinate:this.positions[r[o[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&amp;&amp;(t=(e=t).gl);var r=function(t){var e=i(t,v.vertex,v.fragment);return e.attributes.position.location=0,e.attributes.color.location=2,e.attributes.uv.location=3,e.attributes.normal.location=4,e}(t),l=function(t){var e=i(t,y.vertex,y.fragment);return e.attributes.position.location=0,e.attributes.color.location=2,e.attributes.uv.location=3,e}(t),c=function(t){var e=i(t,x.vertex,x.fragment);return e.attributes.position.location=0,e.attributes.color.location=2,e.attributes.uv.location=3,e.attributes.pointSize.location=4,e}(t),u=function(t){var e=i(t,b.vertex,b.fragment);return e.attributes.position.location=0,e.attributes.id.location=1,e}(t),h=function(t){var e=i(t,_.vertex,_.fragment);return e.attributes.position.location=0,e.attributes.id.location=1,e.attributes.pointSize.location=4,e}(t),d=function(t){var e=i(t,w.vertex,w.fragment);return e.attributes.position.location=0,e}(t),p=s(t,f(new Uint8Array([255,255,255,255]),[1,1,4]));p.generateMipmap(),p.minFilter=t.LINEAR_MIPMAP_LINEAR,p.magFilter=t.LINEAR;var m=a(t),g=a(t),M=a(t),k=a(t),A=a(t),T=o(t,[{buffer:m,type:t.FLOAT,size:3},{buffer:A,type:t.UNSIGNED_BYTE,size:4,normalized:!0},{buffer:g,type:t.FLOAT,size:4},{buffer:M,type:t.FLOAT,size:2},{buffer:k,type:t.FLOAT,size:3}]),S=a(t),E=a(t),L=a(t),C=a(t),z=o(t,[{buffer:S,type:t.FLOAT,size:3},{buffer:C,type:t.UNSIGNED_BYTE,size:4,normalized:!0},{buffer:E,type:t.FLOAT,size:4},{buffer:L,type:t.FLOAT,size:2}]),D=a(t),I=a(t),P=a(t),O=a(t),F=a(t),R=o(t,[{buffer:D,type:t.FLOAT,size:3},{buffer:F,type:t.UNSIGNED_BYTE,size:4,normalized:!0},{buffer:I,type:t.FLOAT,size:4},{buffer:P,type:t.FLOAT,size:2},{buffer:O,type:t.FLOAT,size:1}]),N=a(t),j=new n(t,p,r,l,c,u,h,d,m,A,g,M,k,T,S,C,E,L,z,D,F,I,P,O,R,N,o(t,[{buffer:N,type:t.FLOAT,size:3}]));return j.update(e),j}},{&quot;./lib/closest-point&quot;:208,&quot;./lib/shaders&quot;:209,colormap:105,&quot;gl-buffer&quot;:165,&quot;gl-mat4/invert&quot;:186,&quot;gl-mat4/multiply&quot;:188,&quot;gl-shader&quot;:243,&quot;gl-texture2d&quot;:255,&quot;gl-vao&quot;:259,ndarray:458,normals:461,&quot;simplicial-complex-contour&quot;:524,&quot;typedarray-pool&quot;:554}],211:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r){this.plot=t,this.vbo=e,this.shader=r}e.exports=function(t){var e=t.gl;return new n(t,i(e,[0,0,0,1,1,0,1,1]),a(e,o.boxVert,o.lineFrag))};var i=t(&quot;gl-buffer&quot;),a=t(&quot;gl-shader&quot;),o=t(&quot;./shaders&quot;),s=n.prototype;s.bind=function(){var t=this.shader;this.vbo.bind(),this.shader.bind(),t.attributes.coord.pointer(),t.uniforms.screenBox=this.plot.screenBox},s.drawBox=function(){var t=[0,0],e=[0,0];return function(r,n,i,a,o){var s=this.plot,l=this.shader,c=s.gl;t[0]=r,t[1]=n,e[0]=i,e[1]=a,l.uniforms.lo=t,l.uniforms.hi=e,l.uniforms.color=o,c.drawArrays(c.TRIANGLE_STRIP,0,4)}}(),s.dispose=function(){this.vbo.dispose(),this.shader.dispose()}},{&quot;./shaders&quot;:214,&quot;gl-buffer&quot;:165,&quot;gl-shader&quot;:217}],212:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,n){this.plot=t,this.vbo=e,this.shader=r,this.tickShader=n,this.ticks=[[],[]]}function i(t,e){return t-e}e.exports=function(t){var e=t.gl;return new n(t,a(e),o(e,l.gridVert,l.gridFrag),o(e,l.tickVert,l.gridFrag))};var a=t(&quot;gl-buffer&quot;),o=t(&quot;gl-shader&quot;),s=t(&quot;binary-search-bounds&quot;),l=t(&quot;./shaders&quot;),c=n.prototype;c.draw=function(){var t=[0,0],e=[0,0],r=[0,0];return function(){for(var n=this.plot,i=this.vbo,a=this.shader,o=this.ticks,s=n.gl,l=n._tickBounds,c=n.dataBox,u=n.viewBox,f=n.gridLineWidth,h=n.gridLineColor,d=n.gridLineEnable,p=n.pixelRatio,m=0;m&lt;2;++m){var g=l[m],v=l[m+2]-g,y=.5*(c[m+2]+c[m]),x=c[m+2]-c[m];e[m]=2*v/x,t[m]=2*(g-y)/x}a.bind(),i.bind(),a.attributes.dataCoord.pointer(),a.uniforms.dataShift=t,a.uniforms.dataScale=e;var b=0;for(m=0;m&lt;2;++m){r[0]=r[1]=0,r[m]=1,a.uniforms.dataAxis=r,a.uniforms.lineWidth=f[m]/(u[m+2]-u[m])*p,a.uniforms.color=h[m];var _=6*o[m].length;d[m]&amp;&amp;_&amp;&amp;s.drawArrays(s.TRIANGLES,b,_),b+=_}}}(),c.drawTickMarks=function(){var t=[0,0],e=[0,0],r=[1,0],n=[0,1],a=[0,0],o=[0,0];return function(){for(var l=this.plot,c=this.vbo,u=this.tickShader,f=this.ticks,h=l.gl,d=l._tickBounds,p=l.dataBox,m=l.viewBox,g=l.pixelRatio,v=l.screenBox,y=v[2]-v[0],x=v[3]-v[1],b=m[2]-m[0],_=m[3]-m[1],w=0;w&lt;2;++w){var M=d[w],k=d[w+2]-M,A=.5*(p[w+2]+p[w]),T=p[w+2]-p[w];e[w]=2*k/T,t[w]=2*(M-A)/T}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=l.tickMarkLength,L=l.tickMarkWidth,C=l.tickMarkColor,z=6*f[0].length,D=Math.min(s.ge(f[0],(p[0]-d[0])/(d[2]-d[0]),i),f[0].length),I=Math.min(s.gt(f[0],(p[2]-d[0])/(d[2]-d[0]),i),f[0].length),P=0+6*D,O=6*Math.max(0,I-D),F=Math.min(s.ge(f[1],(p[1]-d[1])/(d[3]-d[1]),i),f[1].length),R=Math.min(s.gt(f[1],(p[3]-d[1])/(d[3]-d[1]),i),f[1].length),N=z+6*F,j=6*Math.max(0,R-F);a[0]=2*(m[0]-E[1])/y-1,a[1]=(m[3]+m[1])/x-1,o[0]=E[1]*g/y,o[1]=L[1]*g/x,j&amp;&amp;(S.color=C[1],S.tickScale=o,S.dataAxis=n,S.screenOffset=a,h.drawArrays(h.TRIANGLES,N,j)),a[0]=(m[2]+m[0])/y-1,a[1]=2*(m[1]-E[0])/x-1,o[0]=L[0]*g/y,o[1]=E[0]*g/x,O&amp;&amp;(S.color=C[0],S.tickScale=o,S.dataAxis=r,S.screenOffset=a,h.drawArrays(h.TRIANGLES,P,O)),a[0]=2*(m[2]+E[3])/y-1,a[1]=(m[3]+m[1])/x-1,o[0]=E[3]*g/y,o[1]=L[3]*g/x,j&amp;&amp;(S.color=C[3],S.tickScale=o,S.dataAxis=n,S.screenOffset=a,h.drawArrays(h.TRIANGLES,N,j)),a[0]=(m[2]+m[0])/y-1,a[1]=2*(m[3]+E[2])/x-1,o[0]=L[2]*g/y,o[1]=E[2]*g/x,O&amp;&amp;(S.color=C[2],S.tickScale=o,S.dataAxis=r,S.screenOffset=a,h.drawArrays(h.TRIANGLES,P,O))}}(),c.update=function(){var t=[1,1,-1,-1,1,-1],e=[1,-1,1,1,-1,-1];return function(r){for(var n=r.ticks,i=r.bounds,a=new Float32Array(18*(n[0].length+n[1].length)),o=(this.plot.zeroLineEnable,0),s=[[],[]],l=0;l&lt;2;++l)for(var c=s[l],u=n[l],f=i[l],h=i[l+2],d=0;d&lt;u.length;++d){var p=(u[d].x-f)/(h-f);c.push(p);for(var m=0;m&lt;6;++m)a[o++]=p,a[o++]=t[m],a[o++]=e[m]}this.ticks=s,this.vbo.update(a)}}(),c.dispose=function(){this.vbo.dispose(),this.shader.dispose(),this.tickShader.dispose()}},{&quot;./shaders&quot;:214,&quot;binary-search-bounds&quot;:216,&quot;gl-buffer&quot;:165,&quot;gl-shader&quot;:217}],213:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r){this.plot=t,this.vbo=e,this.shader=r}e.exports=function(t){var e=t.gl;return new n(t,i(e,[-1,-1,-1,1,1,-1,1,1]),a(e,o.lineVert,o.lineFrag))};var i=t(&quot;gl-buffer&quot;),a=t(&quot;gl-shader&quot;),o=t(&quot;./shaders&quot;),s=n.prototype;s.bind=function(){var t=this.shader;this.vbo.bind(),this.shader.bind(),t.attributes.coord.pointer(),t.uniforms.screenBox=this.plot.screenBox},s.drawLine=function(){var t=[0,0],e=[0,0];return function(r,n,i,a,o,s){var l=this.plot,c=this.shader,u=l.gl;t[0]=r,t[1]=n,e[0]=i,e[1]=a,c.uniforms.start=t,c.uniforms.end=e,c.uniforms.width=o*l.pixelRatio,c.uniforms.color=s,u.drawArrays(u.TRIANGLE_STRIP,0,4)}}(),s.dispose=function(){this.vbo.dispose(),this.shader.dispose()}},{&quot;./shaders&quot;:214,&quot;gl-buffer&quot;:165,&quot;gl-shader&quot;:217}],214:[function(t,e,r){&quot;use strict&quot;;var n=&quot;precision lowp float;\n#define GLSLIFY 1\nuniform vec4 color;\nvoid main() {\n  gl_FragColor = vec4(color.xyz * color.w, color.w);\n}\n&quot;;e.exports={lineVert:&quot;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&quot;,lineFrag:n,textVert:&quot;#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&quot;,textFrag:n,gridVert:&quot;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&quot;,gridFrag:n,boxVert:&quot;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&quot;,tickVert:&quot;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&quot;}},{}],215:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r){this.plot=t,this.vbo=e,this.shader=r,this.tickOffset=[[],[]],this.tickX=[[],[]],this.labelOffset=[0,0],this.labelCount=[0,0]}e.exports=function(t){var e=t.gl;return new n(t,i(e),a(e,l.textVert,l.textFrag))};var i=t(&quot;gl-buffer&quot;),a=t(&quot;gl-shader&quot;),o=t(&quot;text-cache&quot;),s=t(&quot;binary-search-bounds&quot;),l=t(&quot;./shaders&quot;),c=n.prototype;c.drawTicks=function(){var t=[0,0],e=[0,0],r=[0,0];return function(n){var i=this.plot,a=this.shader,o=this.tickX[n],l=this.tickOffset[n],c=i.gl,u=i.viewBox,f=i.dataBox,h=i.screenBox,d=i.pixelRatio,p=i.tickEnable,m=i.tickPad,g=i.tickColor,v=i.tickAngle,y=i.labelEnable,x=i.labelPad,b=i.labelColor,_=i.labelAngle,w=this.labelOffset[n],M=this.labelCount[n],k=s.lt(o,f[n]),A=s.le(o,f[n+2]);t[0]=t[1]=0,t[n]=1,e[n]=(u[2+n]+u[n])/(h[2+n]-h[n])-1;var T=2/h[2+(1^n)]-h[1^n];e[1^n]=T*u[1^n]-1,p[n]&amp;&amp;(e[1^n]-=T*d*m[n],k&lt;A&amp;&amp;l[A]&gt;l[k]&amp;&amp;(a.uniforms.dataAxis=t,a.uniforms.screenOffset=e,a.uniforms.color=g[n],a.uniforms.angle=v[n],c.drawArrays(c.TRIANGLES,l[k],l[A]-l[k]))),y[n]&amp;&amp;M&amp;&amp;(e[1^n]-=T*d*x[n],a.uniforms.dataAxis=r,a.uniforms.screenOffset=e,a.uniforms.color=b[n],a.uniforms.angle=_[n],c.drawArrays(c.TRIANGLES,w,M)),e[1^n]=T*u[2+(1^n)]-1,p[n+2]&amp;&amp;(e[1^n]+=T*d*m[n+2],k&lt;A&amp;&amp;l[A]&gt;l[k]&amp;&amp;(a.uniforms.dataAxis=t,a.uniforms.screenOffset=e,a.uniforms.color=g[n+2],a.uniforms.angle=v[n+2],c.drawArrays(c.TRIANGLES,l[k],l[A]-l[k]))),y[n+2]&amp;&amp;M&amp;&amp;(e[1^n]+=T*d*x[n+2],a.uniforms.dataAxis=r,a.uniforms.screenOffset=e,a.uniforms.color=b[n+2],a.uniforms.angle=_[n+2],c.drawArrays(c.TRIANGLES,w,M))}}(),c.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&lt;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)}}}(),c.bind=function(){var t=[0,0],e=[0,0],r=[0,0];return function(){var n=this.plot,i=this.shader,a=n._tickBounds,o=n.dataBox,s=n.screenBox,l=n.viewBox;i.bind();for(var c=0;c&lt;2;++c){var u=a[c],f=a[c+2]-u,h=.5*(o[c+2]+o[c]),d=o[c+2]-o[c],p=l[c],m=l[c+2]-p,g=s[c],v=s[c+2]-g;e[c]=2*f/d*m/v,t[c]=2*(u-h)/d*m/v}r[1]=2*n.pixelRatio/(s[3]-s[1]),r[0]=r[1]*(s[3]-s[1])/(s[2]-s[0]),i.uniforms.dataScale=e,i.uniforms.dataShift=t,i.uniforms.textScale=r,this.vbo.bind(),i.attributes.textCoordinate.pointer()}}(),c.update=function(t){var e,r,n,i,a,s=[],l=t.ticks,c=t.bounds;for(a=0;a&lt;2;++a){var u=[Math.floor(s.length/3)],f=[-1/0],h=l[a];for(e=0;e&lt;h.length;++e){var d=h[e],p=d.x,m=d.text,g=d.font||&quot;sans-serif&quot;;i=d.fontSize||12;for(var v=1/(c[a+2]-c[a]),y=c[a],x=m.split(&quot;\n&quot;),b=0;b&lt;x.length;b++)for(n=o(g,x[b]).data,r=0;r&lt;n.length;r+=2)s.push(n[r]*i,-n[r+1]*i-b*i*1.2,(p-y)*v);u.push(Math.floor(s.length/3)),f.push(p)}this.tickOffset[a]=u,this.tickX[a]=f}for(a=0;a&lt;2;++a){for(this.labelOffset[a]=Math.floor(s.length/3),n=o(t.labelFont[a],t.labels[a],{textAlign:&quot;center&quot;}).data,i=t.labelSize[a],e=0;e&lt;n.length;e+=2)s.push(n[e]*i,-n[e+1]*i,0);this.labelCount[a]=Math.floor(s.length/3)-this.labelOffset[a]}for(this.titleOffset=Math.floor(s.length/3),n=o(t.titleFont,t.title).data,i=t.titleSize,e=0;e&lt;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)},c.dispose=function(){this.vbo.dispose(),this.shader.dispose()}},{&quot;./shaders&quot;:214,&quot;binary-search-bounds&quot;:216,&quot;gl-buffer&quot;:165,&quot;gl-shader&quot;:217,&quot;text-cache&quot;:545}],216:[function(t,e,r){arguments[4][89][0].apply(r,arguments)},{dup:89}],217:[function(t,e,r){&quot;use strict&quot;;function n(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}function i(t,e){return t.name&lt;e.name?-1:1}var a=t(&quot;./lib/create-uniforms&quot;),o=t(&quot;./lib/create-attributes&quot;),s=t(&quot;./lib/reflect&quot;),l=t(&quot;./lib/shader-cache&quot;),c=t(&quot;./lib/runtime-reflect&quot;),u=t(&quot;./lib/GLError&quot;),f=n.prototype;f.bind=function(){this.program||this._relink();var t,e=this.gl.getProgramParameter(this.program,this.gl.ACTIVE_ATTRIBUTES),r=this.gl.lastAttribCount;if(e&gt;r)for(t=r;t&lt;e;t++)this.gl.enableVertexAttribArray(t);else if(r&gt;e)for(t=e;t&lt;r;t++)this.gl.disableVertexAttribArray(t);this.gl.lastAttribCount=e,this.gl.useProgram(this.program)},f.dispose=function(){for(var t=this.gl.lastAttribCount,e=0;e&lt;t;e++)this.gl.disableVertexAttribArray(e);this.gl.lastAttribCount=0,this._fref&amp;&amp;this._fref.dispose(),this._vref&amp;&amp;this._vref.dispose(),this.attributes=this.types=this.vertShader=this.fragShader=this.program=this._relink=this._fref=this._vref=null},f.update=function(t,e,r,n){function f(){d.program=l.program(p,d._vref,d._fref,_,w);for(var t=0;t&lt;r.length;++t)E[t]=p.getUniformLocation(d.program,r[t].name)}if(!e||1===arguments.length){var h=t;t=h.vertex,e=h.fragment,r=h.uniforms,n=h.attributes}var d=this,p=d.gl,m=d._vref;d._vref=l.shader(p,p.VERTEX_SHADER,t),m&amp;&amp;m.dispose(),d.vertShader=d._vref.shader;var g=this._fref;if(d._fref=l.shader(p,p.FRAGMENT_SHADER,e),g&amp;&amp;g.dispose(),d.fragShader=d._fref.shader,!r||!n){var v=p.createProgram();if(p.attachShader(v,d.fragShader),p.attachShader(v,d.vertShader),p.linkProgram(v),!p.getProgramParameter(v,p.LINK_STATUS)){var y=p.getProgramInfoLog(v);throw new u(y,&quot;Error linking program:&quot;+y)}r=r||c.uniforms(p,v),n=n||c.attributes(p,v),p.deleteProgram(v)}(n=n.slice()).sort(i);var x,b=[],_=[],w=[];for(x=0;x&lt;n.length;++x){var M=n[x];if(M.type.indexOf(&quot;mat&quot;)&gt;=0){for(var k=0|M.type.charAt(M.type.length-1),A=new Array(k),T=0;T&lt;k;++T)A[T]=w.length,_.push(M.name+&quot;[&quot;+T+&quot;]&quot;),&quot;number&quot;==typeof M.location?w.push(M.location+T):Array.isArray(M.location)&amp;&amp;M.location.length===k&amp;&amp;&quot;number&quot;==typeof M.location[T]?w.push(0|M.location[T]):w.push(-1);b.push({name:M.name,type:M.type,locations:A})}else b.push({name:M.name,type:M.type,locations:[w.length]}),_.push(M.name),&quot;number&quot;==typeof M.location?w.push(0|M.location):w.push(-1)}var S=0;for(x=0;x&lt;w.length;++x)if(w[x]&lt;0){for(;w.indexOf(S)&gt;=0;)S+=1;w[x]=S}var E=new Array(r.length);f(),d._relink=f,d.types={uniforms:s(r),attributes:s(n)},d.attributes=o(p,d,b,w),Object.defineProperty(d,&quot;uniforms&quot;,a(p,d,r,E))},e.exports=function(t,e,r,i,a){var o=new n(t);return o.update(e,r,i,a),o}},{&quot;./lib/GLError&quot;:218,&quot;./lib/create-attributes&quot;:219,&quot;./lib/create-uniforms&quot;:220,&quot;./lib/reflect&quot;:221,&quot;./lib/runtime-reflect&quot;:222,&quot;./lib/shader-cache&quot;:223}],218:[function(t,e,r){function n(t,e,r){this.shortMessage=e||&quot;&quot;,this.longMessage=r||&quot;&quot;,this.rawError=t||&quot;&quot;,this.message=&quot;gl-shader: &quot;+(e||t||&quot;&quot;)+(r?&quot;\n&quot;+r:&quot;&quot;),this.stack=(new Error).stack}(n.prototype=new Error).name=&quot;GLError&quot;,n.prototype.constructor=n,e.exports=n},{}],219:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,n,i,a){this._gl=t,this._wrapper=e,this._index=r,this._locations=n,this._dimension=i,this._constFunc=a}function i(t,e,r,i,a,o,s){for(var l=[&quot;gl&quot;,&quot;v&quot;],c=[],u=0;u&lt;a;++u)l.push(&quot;x&quot;+u),c.push(&quot;x&quot;+u);l.push(&quot;if(x0.length===void 0){return gl.vertexAttrib&quot;+a+&quot;f(v,&quot;+c.join()+&quot;)}else{return gl.vertexAttrib&quot;+a+&quot;fv(v,x0)}&quot;);var f=Function.apply(null,l),h=new n(t,e,r,i,a,f);Object.defineProperty(o,s,{set:function(e){return t.disableVertexAttribArray(i[r]),f(t,i[r],e),e},get:function(){return h},enumerable:!0})}function a(t,e,r,n,a,o,s){for(var l=new Array(a),c=new Array(a),u=0;u&lt;a;++u)i(t,e,r[u],n,a,l,u),c[u]=l[u];Object.defineProperty(l,&quot;location&quot;,{set:function(t){if(Array.isArray(t))for(var e=0;e&lt;a;++e)c[e].location=t[e];else for(e=0;e&lt;a;++e)c[e].location=t+e;return t},get:function(){for(var t=new Array(a),e=0;e&lt;a;++e)t[e]=n[r[e]];return t},enumerable:!0}),l.pointer=function(e,i,o,s){e=e||t.FLOAT,i=!!i,o=o||a*a,s=s||0;for(var l=0;l&lt;a;++l){var c=n[r[l]];t.vertexAttribPointer(c,a,e,i,o,s+l*a),t.enableVertexAttribArray(c)}};var f=new Array(a),h=t[&quot;vertexAttrib&quot;+a+&quot;fv&quot;];Object.defineProperty(o,s,{set:function(e){for(var i=0;i&lt;a;++i){var o=n[r[i]];if(t.disableVertexAttribArray(o),Array.isArray(e[0]))h.call(t,o,e[i]);else{for(var s=0;s&lt;a;++s)f[s]=e[a*i+s];h.call(t,o,f)}}return e},get:function(){return l},enumerable:!0})}e.exports=function(t,e,r,n){for(var s={},l=0,c=r.length;l&lt;c;++l){var u=r[l],f=u.name,h=u.type,d=u.locations;switch(h){case&quot;bool&quot;:case&quot;int&quot;:case&quot;float&quot;:i(t,e,d[0],n,1,s,f);break;default:if(h.indexOf(&quot;vec&quot;)&gt;=0){if((p=h.charCodeAt(h.length-1)-48)&lt;2||p&gt;4)throw new o(&quot;&quot;,&quot;Invalid data type for attribute &quot;+f+&quot;: &quot;+h);i(t,e,d[0],n,p,s,f)}else{if(!(h.indexOf(&quot;mat&quot;)&gt;=0))throw new o(&quot;&quot;,&quot;Unknown data type for attribute &quot;+f+&quot;: &quot;+h);var p;if((p=h.charCodeAt(h.length-1)-48)&lt;2||p&gt;4)throw new o(&quot;&quot;,&quot;Invalid data type for attribute &quot;+f+&quot;: &quot;+h);a(t,e,d,n,p,s,f)}}}return s};var o=t(&quot;./GLError&quot;),s=n.prototype;s.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)},s.set=function(t,e,r,n){return this._constFunc(this._locations[this._index],t,e,r,n)},Object.defineProperty(s,&quot;location&quot;,{get:function(){return this._locations[this._index]},set:function(t){return t!==this._locations[this._index]&amp;&amp;(this._locations[this._index]=0|t,this._wrapper.program=null),0|t}})},{&quot;./GLError&quot;:218}],220:[function(t,e,r){&quot;use strict&quot;;function n(t){return new Function(&quot;y&quot;,&quot;return function(){return y}&quot;)(t)}function i(t,e){for(var r=new Array(t),n=0;n&lt;t;++n)r[n]=e;return r}var a=t(&quot;./reflect&quot;),o=t(&quot;./GLError&quot;);e.exports=function(t,e,r,s){function l(t,e,r){switch(r){case&quot;bool&quot;:case&quot;int&quot;:case&quot;sampler2D&quot;:case&quot;samplerCube&quot;:return&quot;gl.uniform1i(locations[&quot;+e+&quot;],obj&quot;+t+&quot;)&quot;;case&quot;float&quot;:return&quot;gl.uniform1f(locations[&quot;+e+&quot;],obj&quot;+t+&quot;)&quot;;default:var n=r.indexOf(&quot;vec&quot;);if(!(0&lt;=n&amp;&amp;n&lt;=1&amp;&amp;r.length===4+n)){if(0===r.indexOf(&quot;mat&quot;)&amp;&amp;4===r.length){if((i=r.charCodeAt(r.length-1)-48)&lt;2||i&gt;4)throw new o(&quot;&quot;,&quot;Invalid uniform dimension type for matrix &quot;+name+&quot;: &quot;+r);return&quot;gl.uniformMatrix&quot;+i+&quot;fv(locations[&quot;+e+&quot;],false,obj&quot;+t+&quot;)&quot;}throw new o(&quot;&quot;,&quot;Unknown uniform data type for &quot;+name+&quot;: &quot;+r)}var i;if((i=r.charCodeAt(r.length-1)-48)&lt;2||i&gt;4)throw new o(&quot;&quot;,&quot;Invalid data type&quot;);switch(r.charAt(0)){case&quot;b&quot;:case&quot;i&quot;:return&quot;gl.uniform&quot;+i+&quot;iv(locations[&quot;+e+&quot;],obj&quot;+t+&quot;)&quot;;case&quot;v&quot;:return&quot;gl.uniform&quot;+i+&quot;fv(locations[&quot;+e+&quot;],obj&quot;+t+&quot;)&quot;;default:throw new o(&quot;&quot;,&quot;Unrecognized data type for vector &quot;+name+&quot;: &quot;+r)}}}function c(t,e){if(&quot;object&quot;!=typeof e)return[[t,e]];var r=[];for(var n in e){var i=e[n],a=t;parseInt(n)+&quot;&quot;===n?a+=&quot;[&quot;+n+&quot;]&quot;:a+=&quot;.&quot;+n,&quot;object&quot;==typeof i?r.push.apply(r,c(a,i)):r.push([a,i])}return r}function u(e){for(var n=[&quot;return function updateProperty(obj){&quot;],i=c(&quot;&quot;,e),a=0;a&lt;i.length;++a){var o=i[a],u=o[0],f=o[1];s[f]&amp;&amp;n.push(l(u,f,r[f].type))}return n.push(&quot;return obj}&quot;),new Function(&quot;gl&quot;,&quot;locations&quot;,n.join(&quot;\n&quot;))(t,s)}function f(a,l,c){if(&quot;object&quot;==typeof c){var f=h(c);Object.defineProperty(a,l,{get:n(f),set:u(c),enumerable:!0,configurable:!1})}else s[c]?Object.defineProperty(a,l,{get:function(r){return new Function(&quot;gl&quot;,&quot;wrapper&quot;,&quot;locations&quot;,&quot;return function(){return gl.getUniform(wrapper.program,locations[&quot;+r+&quot;])}&quot;)(t,e,s)}(c),set:u(c),enumerable:!0,configurable:!1}):a[l]=function(t){switch(t){case&quot;bool&quot;:return!1;case&quot;int&quot;:case&quot;sampler2D&quot;:case&quot;samplerCube&quot;:case&quot;float&quot;:return 0;default:var e=t.indexOf(&quot;vec&quot;);if(0&lt;=e&amp;&amp;e&lt;=1&amp;&amp;t.length===4+e){if((r=t.charCodeAt(t.length-1)-48)&lt;2||r&gt;4)throw new o(&quot;&quot;,&quot;Invalid data type&quot;);return&quot;b&quot;===t.charAt(0)?i(r,!1):i(r,0)}if(0===t.indexOf(&quot;mat&quot;)&amp;&amp;4===t.length){var r;if((r=t.charCodeAt(t.length-1)-48)&lt;2||r&gt;4)throw new o(&quot;&quot;,&quot;Invalid uniform dimension type for matrix &quot;+name+&quot;: &quot;+t);return i(r*r,0)}throw new o(&quot;&quot;,&quot;Unknown uniform data type for &quot;+name+&quot;: &quot;+t)}}(r[c].type)}function h(t){var e;if(Array.isArray(t)){e=new Array(t.length);for(var r=0;r&lt;t.length;++r)f(e,r,t[r])}else{e={};for(var n in t)f(e,n,t[n])}return e}var d=a(r,!0);return{get:n(h(d)),set:u(d),enumerable:!0,configurable:!0}}},{&quot;./GLError&quot;:218,&quot;./reflect&quot;:221}],221:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t,e){for(var r={},n=0;n&lt;t.length;++n)for(var i=t[n].name.split(&quot;.&quot;),a=r,o=0;o&lt;i.length;++o){var s=i[o].split(&quot;[&quot;);if(s.length&gt;1){s[0]in a||(a[s[0]]=[]),a=a[s[0]];for(var l=1;l&lt;s.length;++l){var c=parseInt(s[l]);l&lt;s.length-1||o&lt;i.length-1?(c in a||(l&lt;s.length-1?a[c]=[]:a[c]={}),a=a[c]):a[c]=e?n:t[n].type}}else o&lt;i.length-1?(s[0]in a||(a[s[0]]={}),a=a[s[0]]):a[s[0]]=e?n:t[n].type}return r}},{}],222:[function(t,e,r){&quot;use strict&quot;;function n(t,e){if(!a){var r=Object.keys(i);a={};for(var n=0;n&lt;r.length;++n){var o=r[n];a[t[o]]=i[o]}}return a[e]}r.uniforms=function(t,e){for(var r=t.getProgramParameter(e,t.ACTIVE_UNIFORMS),i=[],a=0;a&lt;r;++a){var o=t.getActiveUniform(e,a);if(o){var s=n(t,o.type);if(o.size&gt;1)for(var l=0;l&lt;o.size;++l)i.push({name:o.name.replace(&quot;[0]&quot;,&quot;[&quot;+l+&quot;]&quot;),type:s});else i.push({name:o.name,type:s})}}return i},r.attributes=function(t,e){for(var r=t.getProgramParameter(e,t.ACTIVE_ATTRIBUTES),i=[],a=0;a&lt;r;++a){var o=t.getActiveAttrib(e,a);o&amp;&amp;i.push({name:o.name,type:n(t,o.type)})}return i};var i={FLOAT:&quot;float&quot;,FLOAT_VEC2:&quot;vec2&quot;,FLOAT_VEC3:&quot;vec3&quot;,FLOAT_VEC4:&quot;vec4&quot;,INT:&quot;int&quot;,INT_VEC2:&quot;ivec2&quot;,INT_VEC3:&quot;ivec3&quot;,INT_VEC4:&quot;ivec4&quot;,BOOL:&quot;bool&quot;,BOOL_VEC2:&quot;bvec2&quot;,BOOL_VEC3:&quot;bvec3&quot;,BOOL_VEC4:&quot;bvec4&quot;,FLOAT_MAT2:&quot;mat2&quot;,FLOAT_MAT3:&quot;mat3&quot;,FLOAT_MAT4:&quot;mat4&quot;,SAMPLER_2D:&quot;sampler2D&quot;,SAMPLER_CUBE:&quot;samplerCube&quot;},a=null},{}],223:[function(t,e,r){&quot;use strict&quot;;function n(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 i(t){this.gl=t,this.shaders=[{},{}],this.programs={}}function a(t){var e=l.get(t);return e||(e=new i(t),l.set(t,e)),e}r.shader=function(t,e,r){return a(t).getShaderReference(e,r)},r.program=function(t,e,r,n,i){return a(t).getProgram(e,r,n,i)};var o=t(&quot;./GLError&quot;),s=t(&quot;gl-format-compiler-error&quot;),l=new(&quot;undefined&quot;==typeof WeakMap?t(&quot;weakmap-shim&quot;):WeakMap),c=0;n.prototype.dispose=function(){if(0==--this.count){for(var t=this.cache,e=t.gl,r=this.programs,n=0,i=r.length;n&lt;i;++n){var a=t.programs[r[n]];a&amp;&amp;(delete t.programs[n],e.deleteProgram(a))}e.deleteShader(this.shader),delete t.shaders[this.type===e.FRAGMENT_SHADER|0][this.src]}};var u=i.prototype;u.getShaderReference=function(t,e){var r=this.gl,i=this.shaders[t===r.FRAGMENT_SHADER|0],a=i[e];if(a&amp;&amp;r.isShader(a.shader))a.count+=1;else{var l=function(t,e,r){var n=t.createShader(e);if(t.shaderSource(n,r),t.compileShader(n),!t.getShaderParameter(n,t.COMPILE_STATUS)){var i=t.getShaderInfoLog(n);try{var a=s(i,r,e)}catch(t){throw console.warn(&quot;Failed to format compiler error: &quot;+t),new o(i,&quot;Error compiling shader:\n&quot;+i)}throw new o(i,a.short,a.long)}return n}(r,t,e);a=i[e]=new n(c++,e,t,l,[],1,this)}return a},u.getProgram=function(t,e,r,n){var i=[t.id,e.id,r.join(&quot;:&quot;),n.join(&quot;:&quot;)].join(&quot;@&quot;),a=this.programs[i];return a&amp;&amp;this.gl.isProgram(a)||(this.programs[i]=a=function(t,e,r,n,i){var a=t.createProgram();t.attachShader(a,e),t.attachShader(a,r);for(var s=0;s&lt;n.length;++s)t.bindAttribLocation(a,i[s],n[s]);if(t.linkProgram(a),!t.getProgramParameter(a,t.LINK_STATUS)){var l=t.getProgramInfoLog(a);throw new o(l,&quot;Error linking program: &quot;+l)}return a}(this.gl,t.shader,e.shader,r,n),t.programs.push(i),e.programs.push(i)),a}},{&quot;./GLError&quot;:218,&quot;gl-format-compiler-error&quot;:172,&quot;weakmap-shim&quot;:576}],224:[function(t,e,r){&quot;use strict&quot;;function n(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}function i(t){for(var e=t.slice(),r=0;r&lt;e.length;++r)e[r]=e[r].slice();return e}function a(t,e){return t.x-e.x}e.exports=function(t){var e=t.gl,r=new n(e,o(e,[e.drawingBufferWidth,e.drawingBufferHeight]));return r.grid=s(r),r.text=l(r),r.line=c(r),r.box=u(r),r.update(t),r};var o=t(&quot;gl-select-static&quot;),s=t(&quot;./lib/grid&quot;),l=t(&quot;./lib/text&quot;),c=t(&quot;./lib/line&quot;),u=t(&quot;./lib/box&quot;),f=n.prototype;f.setDirty=function(){this.dirty=this.pickDirty=!0},f.setOverlayDirty=function(){this.dirty=!0},f.nextDepthValue=function(){return this._depthCounter++/65536},f.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&amp;&amp;(this._pickTimeout&amp;&amp;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,d=this.zeroLineWidth;if(f[0]||f[1]){o.bind();for(var p=0;p&lt;2;++p)if(f[p]&amp;&amp;n[p]&lt;=0&amp;&amp;n[p+2]&gt;=0){var m=e[p]-n[p]*(e[p+2]-e[p])/(n[p+2]-n[p]);0===p?o.drawLine(m,e[1],m,e[3],d[p],h[p]):o.drawLine(e[0],m,e[2],m,d[p],h[p])}}for(p=0;p&lt;l.length;++p)l[p].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;g[1]&amp;&amp;o.drawLine(r[0],r[1]-.5*v[1]*i,r[0],r[3]+.5*v[3]*i,v[1],y[1]),g[0]&amp;&amp;o.drawLine(r[0]-.5*v[0]*i,r[1],r[2]+.5*v[2]*i,r[1],v[0],y[0]),g[3]&amp;&amp;o.drawLine(r[2],r[1]-.5*v[1]*i,r[2],r[3]+.5*v[3]*i,v[3],y[3]),g[2]&amp;&amp;o.drawLine(r[0]-.5*v[0]*i,r[3],r[2]+.5*v[2]*i,r[3],v[2],y[2]),s.bind();for(p=0;p&lt;2;++p)s.drawTicks(p);this.titleEnable&amp;&amp;s.drawTitle();var x=this.overlays;for(p=0;p&lt;x.length;++p)x[p].draw();t.disable(t.SCISSOR_TEST),t.disable(t.BLEND),t.depthMask(!0)}},f.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&lt;r.length;++n)e=r[n].drawPick(e);t.end()}},f.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]&lt;&lt;8)+(s.value[1]&lt;&lt;16)+(s.value[2]&lt;&lt;24),c=this.objects,u=0;u&lt;c.length;++u){var f=c[u].pick(a,o,l);if(f)return f}return null}},f.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()},f.setDataBox=function(t){var e=this.dataBox;(e[0]!==t[0]||e[1]!==t[1]||e[2]!==t[2]||e[3]!==t[3])&amp;&amp;(e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],this.setDirty())},f.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()},f.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,o=(n[2]-n[0])/(n[3]-n[1]);this.setDataBox(t.dataBox||[-10,-10/o,10,10/o]),this.borderColor=!1!==t.borderColor&amp;&amp;(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=i(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=i(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=i(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=!(&quot;titleEnable&quot;in t&amp;&amp;!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=i(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=i(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=i(t.borderLineColor||[[0,0,0,1],[0,0,0,1],[0,0,0,1],[0,0,0,1]]);var s=t.ticks||[[],[]],l=this._tickBounds;l[0]=l[1]=1/0,l[2]=l[3]=-1/0;for(var c=0;c&lt;2;++c){var u=s[c].slice(0);0!==u.length&amp;&amp;(u.sort(a),l[c]=Math.min(l[c],u[0].x),l[c+2]=Math.max(l[c+2],u[u.length-1].x))}this.grid.update({bounds:l,ticks:s}),this.text.update({bounds:l,ticks:s,labels:t.labels||[&quot;x&quot;,&quot;y&quot;],labelSize:t.labelSize||[12,12],labelFont:t.labelFont||[&quot;sans-serif&quot;,&quot;sans-serif&quot;],title:t.title||&quot;&quot;,titleSize:t.titleSize||18,titleFont:t.titleFont||&quot;sans-serif&quot;}),this.static=!!t.static,this.setDirty()},f.dispose=function(){this.box.dispose(),this.grid.dispose(),this.text.dispose(),this.line.dispose();for(var t=this.objects.length-1;t&gt;=0;--t)this.objects[t].dispose();this.objects.length=0;for(t=this.overlays.length-1;t&gt;=0;--t)this.overlays[t].dispose();this.overlays.length=0,this.gl=null},f.addObject=function(t){this.objects.indexOf(t)&lt;0&amp;&amp;(this.objects.push(t),this.setDirty())},f.removeObject=function(t){for(var e=this.objects,r=0;r&lt;e.length;++r)if(e[r]===t){e.splice(r,1),this.setDirty();break}},f.addOverlay=function(t){this.overlays.indexOf(t)&lt;0&amp;&amp;(this.overlays.push(t),this.setOverlayDirty())},f.removeOverlay=function(t){for(var e=this.overlays,r=0;r&lt;e.length;++r)if(e[r]===t){e.splice(r,1),this.setOverlayDirty();break}}},{&quot;./lib/box&quot;:211,&quot;./lib/grid&quot;:212,&quot;./lib/line&quot;:213,&quot;./lib/text&quot;:215,&quot;gl-select-static&quot;:242}],225:[function(t,e,r){var n=t(&quot;gl-shader&quot;);e.exports=function(t){return n(t,&quot;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}&quot;,&quot;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}&quot;,null,[{name:&quot;position&quot;,type:&quot;vec2&quot;}])}},{&quot;gl-shader&quot;:243}],226:[function(t,e,r){&quot;use strict&quot;;function n(t){var e=Math.round(Math.log(Math.abs(t))/Math.log(10));if(e&lt;0){var r=Math.round(Math.pow(10,-e));return Math.ceil(t*r)/r}if(e&gt;0){r=Math.round(Math.pow(10,e));return Math.ceil(t/r)*r}return Math.ceil(t)}function i(t){return&quot;boolean&quot;!=typeof t||t}e.exports=function(t){function e(){if(!x&amp;&amp;U.autoResize){var t=b.parentNode,e=1,r=1;t&amp;&amp;t!==document.body?(e=t.clientWidth,r=t.clientHeight):(e=window.innerWidth,r=window.innerHeight);var n=0|Math.ceil(e*U.pixelRatio),i=0|Math.ceil(r*U.pixelRatio);if(n!==b.width||i!==b.height){b.width=n,b.height=i;var a=b.style;a.position=a.position||&quot;absolute&quot;,a.left=&quot;0px&quot;,a.top=&quot;0px&quot;,a.width=e+&quot;px&quot;,a.height=r+&quot;px&quot;,O=!0}}}function r(){for(var t=z.length,e=P.length,r=0;r&lt;e;++r)I[r]=0;t:for(r=0;r&lt;t;++r){var n=z[r],i=n.pickSlots;if(i){for(var a=0;a&lt;e;++a)if(I[a]+i&lt;255){D[r]=a,n.setPickBase(I[a]+1),I[a]+=i;continue t}var o=c(_,B);D[r]=e,P.push(o),I.push(i),n.setPickBase(1),e+=1}else D[r]=-1}for(;e&gt;0&amp;&amp;0===I[e-1];)I.pop(),P.pop().dispose()}function g(){if(U.contextLost)return!0;_.isContextLost()&amp;&amp;(U.contextLost=!0,U.mouseListener.enabled=!1,U.selection.object=null,U.oncontextloss&amp;&amp;U.oncontextloss())}function v(){if(!g()){e();var t=U.camera.tick();j.view=U.camera.matrix,O=O||t,F=F||t,E.pixelRatio=U.pixelRatio,C.pixelRatio=U.pixelRatio;var r=z.length,i=G[0],a=G[1];i[0]=i[1]=i[2]=1/0,a[0]=a[1]=a[2]=-1/0;for(var o=0;o&lt;r;++o){(L=z[o]).pixelRatio=U.pixelRatio,L.axes=U.axes,O=O||!!L.dirty,F=F||!!L.dirty;var l=L.bounds;if(l)for(var c=l[0],u=l[1],h=0;h&lt;3;++h)i[h]=Math.min(i[h],c[h]),a[h]=Math.max(a[h],u[h])}var p=U.bounds;if(U.autoBounds)for(h=0;h&lt;3;++h){if(a[h]&lt;i[h])i[h]=-1,a[h]=1;else{i[h]===a[h]&amp;&amp;(i[h]-=1,a[h]+=1);var m=.05*(a[h]-i[h]);i[h]=i[h]-m,a[h]=a[h]+m}p[0][h]=i[h],p[1][h]=a[h]}var v=!1;for(h=0;h&lt;3;++h)v=v||Y[0][h]!==p[0][h]||Y[1][h]!==p[1][h],Y[0][h]=p[0][h],Y[1][h]=p[1][h];if(F=F||v,O=O||v){if(v){var y=[0,0,0];for(o=0;o&lt;3;++o)y[o]=n((p[1][o]-p[0][o])/10);E.autoTicks?E.update({bounds:p,tickSpacing:y}):E.update({bounds:p})}var x=_.drawingBufferWidth,b=_.drawingBufferHeight;for(B[0]=x,B[1]=b,V[0]=0|Math.max(x/U.pixelRatio,1),V[1]=0|Math.max(b/U.pixelRatio,1),d(R,U.fovy,x/b,U.zNear,U.zFar),o=0;o&lt;16;++o)N[o]=0;N[15]=1;var w=0;for(o=0;o&lt;3;++o)w=Math.max(w,p[1][o]-p[0][o]);for(o=0;o&lt;3;++o)U.autoScale?N[5*o]=U.aspect[o]/(p[1][o]-p[0][o]):N[5*o]=1/w,U.autoCenter&amp;&amp;(N[12+o]=.5*-N[5*o]*(p[0][o]+p[1][o]));for(o=0;o&lt;r;++o)(L=z[o]).axesBounds=p,U.clipToBounds&amp;&amp;(L.clipBounds=p);M.object&amp;&amp;(U.snapToData?C.position=M.dataCoordinate:C.position=M.dataPosition,C.bounds=p),F&amp;&amp;(F=!1,function(){if(!g()){_.colorMask(!0,!0,!0,!0),_.depthMask(!0),_.disable(_.BLEND),_.enable(_.DEPTH_TEST);for(var t=z.length,e=P.length,r=0;r&lt;e;++r){var n=P[r];n.shape=V,n.begin();for(var i=0;i&lt;t;++i)if(D[i]===r){var a=z[i];a.drawPick&amp;&amp;(a.pixelRatio=1,a.drawPick(j))}n.end()}}}()),U.axesPixels=s(U.axes,j,x,b),U.onrender&amp;&amp;U.onrender(),_.bindFramebuffer(_.FRAMEBUFFER,null),_.viewport(0,0,x,b);var T=U.clearColor;_.clearColor(T[0],T[1],T[2],T[3]),_.clear(_.COLOR_BUFFER_BIT|_.DEPTH_BUFFER_BIT),_.depthMask(!0),_.colorMask(!0,!0,!0,!0),_.enable(_.DEPTH_TEST),_.depthFunc(_.LEQUAL),_.disable(_.BLEND),_.disable(_.CULL_FACE);var S=!1;for(E.enable&amp;&amp;(S=S||E.isTransparent(),E.draw(j)),C.axes=E,M.object&amp;&amp;C.draw(j),_.disable(_.CULL_FACE),o=0;o&lt;r;++o)(L=z[o]).axes=E,L.pixelRatio=U.pixelRatio,L.isOpaque&amp;&amp;L.isOpaque()&amp;&amp;L.draw(j),L.isTransparent&amp;&amp;L.isTransparent()&amp;&amp;(S=!0);if(S){for(k.shape=B,k.bind(),_.clear(_.DEPTH_BUFFER_BIT),_.colorMask(!1,!1,!1,!1),_.depthMask(!0),_.depthFunc(_.LESS),E.enable&amp;&amp;E.isTransparent()&amp;&amp;E.drawTransparent(j),o=0;o&lt;r;++o)(L=z[o]).isOpaque&amp;&amp;L.isOpaque()&amp;&amp;L.draw(j);for(_.enable(_.BLEND),_.blendEquation(_.FUNC_ADD),_.blendFunc(_.ONE,_.ONE_MINUS_SRC_ALPHA),_.colorMask(!0,!0,!0,!0),_.depthMask(!1),_.clearColor(0,0,0,0),_.clear(_.COLOR_BUFFER_BIT),E.isTransparent()&amp;&amp;E.drawTransparent(j),o=0;o&lt;r;++o){var L;(L=z[o]).isTransparent&amp;&amp;L.isTransparent()&amp;&amp;L.drawTransparent(j)}_.bindFramebuffer(_.FRAMEBUFFER,null),_.blendFunc(_.ONE,_.ONE_MINUS_SRC_ALPHA),_.disable(_.DEPTH_TEST),A.bind(),k.color[0].bind(0),A.uniforms.accumBuffer=0,f(_),_.disable(_.BLEND)}for(O=!1,o=0;o&lt;r;++o)z[o].dirty=!1}}}function y(){x||U.contextLost||(requestAnimationFrame(y),v())}var x=!1,b=((t=t||{}).pixelRatio||parseFloat(window.devicePixelRatio),t.canvas);b||(b=document.createElement(&quot;canvas&quot;),t.container?t.container.appendChild(b):document.body.appendChild(b));var _=t.gl;if(_||(_=function(t,e){var r=null;try{(r=t.getContext(&quot;webgl&quot;,e))||(r=t.getContext(&quot;experimental-webgl&quot;,e))}catch(t){return null}return r}(b,t.glOptions||{premultipliedAlpha:!0,antialias:!0})),!_)throw new Error(&quot;webgl not supported&quot;);var w=t.bounds||[[-10,-10,-10],[10,10,10]],M=new function(){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},k=u(_,[_.drawingBufferWidth,_.drawingBufferHeight],{preferFloat:!m}),A=p(_),T=t.camera||{eye:[2,0,0],center:[0,0,0],up:[0,1,0],zoomMin:.1,zoomMax:100,mode:&quot;turntable&quot;},S=t.axes||{},E=o(_,S);E.enable=!S.disable;var L=t.spikes||{},C=l(_,L),z=[],D=[],I=[],P=[],O=!0,F=!0,R=new Array(16),N=new Array(16),j={view:null,projection:R,model:N},B=(F=!0,[_.drawingBufferWidth,_.drawingBufferHeight]),U={gl:_,contextLost:!1,pixelRatio:t.pixelRatio||parseFloat(window.devicePixelRatio),canvas:b,selection:M,camera:a(b,T),axes:E,axesPixels:null,spikes:C,bounds:w,objects:z,shape:B,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:i(t.autoResize),autoBounds:i(t.autoBounds),autoScale:!!t.autoScale,autoCenter:i(t.autoCenter),clipToBounds:i(t.clipToBounds),snapToData:!!t.snapToData,onselect:t.onselect||null,onrender:t.onrender||null,onclick:t.onclick||null,cameraParams:j,oncontextloss:null,mouseListener:null},V=[_.drawingBufferWidth/U.pixelRatio|0,_.drawingBufferHeight/U.pixelRatio|0];U.autoResize&amp;&amp;e(),window.addEventListener(&quot;resize&quot;,e),U.update=function(t){x||(t=t||{},O=!0,F=!0)},U.add=function(t){x||(t.axes=E,z.push(t),D.push(-1),O=!0,F=!0,r())},U.remove=function(t){if(!x){var e=z.indexOf(t);e&lt;0||(z.splice(e,1),D.pop(),O=!0,F=!0,r())}},U.dispose=function(){if(!x&amp;&amp;(x=!0,window.removeEventListener(&quot;resize&quot;,e),b.removeEventListener(&quot;webglcontextlost&quot;,g),U.mouseListener.enabled=!1,!U.contextLost)){E.dispose(),C.dispose();for(var t=0;t&lt;z.length;++t)z[t].dispose();for(k.dispose(),t=0;t&lt;P.length;++t)P[t].dispose();A.dispose(),_=null,E=null,C=null,z=[]}};var q=!1,H=0;U.mouseListener=h(b,function(t,e,r){if(!x){var n=P.length,i=z.length,a=M.object;M.distance=1/0,M.mouse[0]=e,M.mouse[1]=r,M.object=null,M.screen=null,M.dataCoordinate=M.dataPosition=null;var o=!1;if(t&amp;&amp;H)q=!0;else{q&amp;&amp;(F=!0),q=!1;for(var s=0;s&lt;n;++s){var l=P[s].query(e,V[1]-r-1,U.pickRadius);if(l){if(l.distance&gt;M.distance)continue;for(var c=0;c&lt;i;++c){var u=z[c];if(D[c]===s){var f=u.pick(l);f&amp;&amp;(M.buttons=t,M.screen=l.coord,M.distance=l.distance,M.object=u,M.index=f.distance,M.dataPosition=f.position,M.dataCoordinate=f.dataCoordinate,M.data=f,o=!0)}}}}}a&amp;&amp;a!==M.object&amp;&amp;(a.highlight&amp;&amp;a.highlight(null),O=!0),M.object&amp;&amp;(M.object.highlight&amp;&amp;M.object.highlight(M.data),O=!0),(o=o||M.object!==a)&amp;&amp;U.onselect&amp;&amp;U.onselect(M),1&amp;t&amp;&amp;!(1&amp;H)&amp;&amp;U.onclick&amp;&amp;U.onclick(M),H=t}}),b.addEventListener(&quot;webglcontextlost&quot;,g);var G=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],Y=[G[0].slice(),G[1].slice()];return y(),U.redraw=function(){x||(O=!0,v())},U};var a=t(&quot;3d-view-controls&quot;),o=t(&quot;gl-axes3d&quot;),s=t(&quot;gl-axes3d/properties&quot;),l=t(&quot;gl-spikes3d&quot;),c=t(&quot;gl-select-static&quot;),u=t(&quot;gl-fbo&quot;),f=t(&quot;a-big-triangle&quot;),h=t(&quot;mouse-change&quot;),d=t(&quot;gl-mat4/perspective&quot;),p=t(&quot;./lib/shader&quot;),m=t(&quot;is-mobile&quot;)()},{&quot;./lib/shader&quot;:225,&quot;3d-view-controls&quot;:39,&quot;a-big-triangle&quot;:42,&quot;gl-axes3d&quot;:157,&quot;gl-axes3d/properties&quot;:164,&quot;gl-fbo&quot;:171,&quot;gl-mat4/perspective&quot;:189,&quot;gl-select-static&quot;:242,&quot;gl-spikes3d&quot;:252,&quot;is-mobile&quot;:285,&quot;mouse-change&quot;:443}],227:[function(t,e,r){r.pointVertex=&quot;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}&quot;,r.pointFragment=&quot;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 &gt; 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&quot;,r.pickVertex=&quot;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&quot;,r.pickFragment=&quot;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 &gt; 1.0) {\n    discard;\n  }\n  gl_FragColor = fragId / 255.0;\n}\n&quot;},{}],228:[function(t,e,r){arguments[4][217][0].apply(r,arguments)},{&quot;./lib/GLError&quot;:229,&quot;./lib/create-attributes&quot;:230,&quot;./lib/create-uniforms&quot;:231,&quot;./lib/reflect&quot;:232,&quot;./lib/runtime-reflect&quot;:233,&quot;./lib/shader-cache&quot;:234,dup:217}],229:[function(t,e,r){arguments[4][218][0].apply(r,arguments)},{dup:218}],230:[function(t,e,r){arguments[4][219][0].apply(r,arguments)},{&quot;./GLError&quot;:229,dup:219}],231:[function(t,e,r){arguments[4][220][0].apply(r,arguments)},{&quot;./GLError&quot;:229,&quot;./reflect&quot;:232,dup:220}],232:[function(t,e,r){arguments[4][221][0].apply(r,arguments)},{dup:221}],233:[function(t,e,r){arguments[4][222][0].apply(r,arguments)},{dup:222}],234:[function(t,e,r){arguments[4][223][0].apply(r,arguments)},{&quot;./GLError&quot;:229,dup:223,&quot;gl-format-compiler-error&quot;:172,&quot;weakmap-shim&quot;:576}],235:[function(t,e,r){&quot;use strict&quot;;function n(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}var i=t(&quot;gl-shader&quot;),a=t(&quot;gl-buffer&quot;),o=t(&quot;typedarray-pool&quot;),s=t(&quot;./lib/shader&quot;);e.exports=function(t,e){var r=t.gl,o=new n(t,a(r),a(r),i(r,s.pointVertex,s.pointFragment),i(r,s.pickVertex,s.pickFragment));return o.update(e),t.addObject(o),o};var l=n.prototype;l.dispose=function(){this.shader.dispose(),this.pickShader.dispose(),this.offsetBuffer.dispose(),this.pickBuffer.dispose(),this.plot.removeObject(this)},l.update=function(t){function e(e,r){return e in t?t[e]:r}var r;t=t||{},this.sizeMin=e(&quot;sizeMin&quot;,.5),this.sizeMax=e(&quot;sizeMax&quot;,20),this.color=e(&quot;color&quot;,[1,0,0,1]).slice(),this.areaRatio=e(&quot;areaRatio&quot;,1),this.borderColor=e(&quot;borderColor&quot;,[0,0,0,1]).slice(),this.blend=e(&quot;blend&quot;,!1);var n=t.positions.length&gt;&gt;&gt;1,i=t.positions instanceof Float32Array,a=t.idToIndex instanceof Int32Array&amp;&amp;t.idToIndex.length&gt;=n,s=t.positions,l=i?s:o.mallocFloat32(s.length),c=a?t.idToIndex:o.mallocInt32(n);if(i||l.set(s),!a)for(l.set(s),r=0;r&lt;n;r++)c[r]=r;this.points=s,this.offsetBuffer.update(l),this.pickBuffer.update(c),i||o.free(l),a||o.free(c),this.pointCount=n,this.pickOffset=0},l.unifiedDraw=function(){var t=[1,0,0,0,1,0,0,0,1],e=[0,0,0,0];return function(r){var n=void 0!==r,i=n?this.pickShader:this.shader,a=this.plot.gl,o=this.plot.dataBox;if(0===this.pointCount)return r;var s=o[2]-o[0],l=o[3]-o[1],c=function(t,e){var r,n=0,i=t.length&gt;&gt;&gt;1;for(r=0;r&lt;i;r++){var a=t[2*r],o=t[2*r+1];a&gt;=e[0]&amp;&amp;a&lt;=e[2]&amp;&amp;o&gt;=e[1]&amp;&amp;o&lt;=e[3]&amp;&amp;n++}return n}(this.points,o),u=this.plot.pickPixelRatio*Math.max(Math.min(this.sizeMinCap,this.sizeMin),Math.min(this.sizeMax,this.sizeMax/Math.pow(c,.33333)));t[0]=2/s,t[4]=2/l,t[6]=-2*o[0]/s-1,t[7]=-2*o[1]/l-1,this.offsetBuffer.bind(),i.bind(),i.attributes.position.pointer(),i.uniforms.matrix=t,i.uniforms.color=this.color,i.uniforms.borderColor=this.borderColor,i.uniforms.pointCloud=u&lt;5,i.uniforms.pointSize=u,i.uniforms.centerFraction=Math.min(1,Math.max(0,Math.sqrt(1-this.areaRatio))),n&amp;&amp;(e[0]=255&amp;r,e[1]=r&gt;&gt;8&amp;255,e[2]=r&gt;&gt;16&amp;255,e[3]=r&gt;&gt;24&amp;255,this.pickBuffer.bind(),i.attributes.pickId.pointer(a.UNSIGNED_BYTE),i.uniforms.pickOffset=e,this.pickOffset=r);var f=a.getParameter(a.BLEND),h=a.getParameter(a.DITHER);return f&amp;&amp;!this.blend&amp;&amp;a.disable(a.BLEND),h&amp;&amp;a.disable(a.DITHER),a.drawArrays(a.POINTS,0,this.pointCount),f&amp;&amp;!this.blend&amp;&amp;a.enable(a.BLEND),h&amp;&amp;a.enable(a.DITHER),r+this.pointCount}}(),l.draw=l.unifiedDraw,l.drawPick=l.unifiedDraw,l.pick=function(t,e,r){var n=this.pickOffset,i=this.pointCount;if(r&lt;n||r&gt;=n+i)return null;var a=r-n,o=this.points;return{object:this,pointId:a,dataCoord:[o[2*a],o[2*a+1]]}}},{&quot;./lib/shader&quot;:227,&quot;gl-buffer&quot;:165,&quot;gl-shader&quot;:228,&quot;typedarray-pool&quot;:554}],236:[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],d=r[0],p=r[1],m=r[2],g=r[3];return(a=c*d+u*p+f*m+h*g)&lt;0&amp;&amp;(a=-a,d=-d,p=-p,m=-m,g=-g),1-a&gt;1e-6?(i=Math.acos(a),o=Math.sin(i),s=Math.sin((1-n)*i)/o,l=Math.sin(n*i)/o):(s=1-n,l=n),t[0]=s*c+l*d,t[1]=s*u+l*p,t[2]=s*f+l*m,t[3]=s*h+l*g,t}},{}],237:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;vectorize-text&quot;);e.exports=function(t,e){var r=i[e];if(r||(r=i[e]={}),t in r)return r[t];for(var a=n(t,{textAlign:&quot;center&quot;,textBaseline:&quot;middle&quot;,lineHeight:1,font:e}),o=n(t,{triangles:!0,textAlign:&quot;center&quot;,textBaseline:&quot;middle&quot;,lineHeight:1,font:e}),s=[[1/0,1/0],[-1/0,-1/0]],l=0;l&lt;a.positions.length;++l)for(var c=a.positions[l],u=0;u&lt;2;++u)s[0][u]=Math.min(s[0][u],c[u]),s[1][u]=Math.max(s[1][u],c[u]);return r[t]=[o,a,s]};var i={}},{&quot;vectorize-text&quot;:568}],238:[function(t,e,r){function n(t,e){var r=i(t,e),n=r.attributes;return n.position.location=0,n.color.location=1,n.glyph.location=2,n.id.location=3,r}var i=t(&quot;gl-shader&quot;),a=&quot;precision mediump float;\n#define GLSLIFY 1\n\nattribute vec3 position;\nattribute vec4 color;\nattribute vec2 glyph;\nattribute vec4 id;\n\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(any(lessThan(position, clipBounds[0]))   || \n     any(greaterThan(position, clipBounds[1])) ) {\n    gl_Position = vec4(0,0,0,0);\n  } else {\n    float scale = 1.0;\n    if(distance(highlightId, id) &lt; 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}&quot;,o=&quot;precision mediump float;\n#define GLSLIFY 1\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(any(lessThan(position, clipBounds[0])) || any(greaterThan(position, clipBounds[1]))) {\n    gl_Position = vec4(0,0,0,0);\n  } else {\n    float scale = pixelRatio;\n    if(distance(highlightId.bgr, id.bgr) &lt; 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}&quot;,s=&quot;precision mediump float;\n#define GLSLIFY 1\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(any(lessThan(position, clipBounds[0]))   ||\n     any(greaterThan(position, clipBounds[1])) ) {\n    gl_Position = vec4(0,0,0,0);\n  } else {\n    float lscale = pixelRatio * scale;\n    if(distance(highlightId, id) &lt; 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&quot;,l=&quot;precision mediump float;\n#define GLSLIFY 1\n\nuniform vec3 fragClipBounds[2];\nuniform float opacity;\n\nvarying vec4 interpColor;\nvarying vec4 pickId;\nvarying vec3 dataCoordinate;\n\nvoid main() {\n  if(any(lessThan(dataCoordinate, fragClipBounds[0]))   ||\n     any(greaterThan(dataCoordinate, fragClipBounds[1])) ) {\n    discard;\n  } else {\n    gl_FragColor = interpColor * opacity;\n  }\n}\n&quot;,c=&quot;precision mediump float;\n#define GLSLIFY 1\n\nuniform vec3 fragClipBounds[2];\nuniform float pickGroup;\n\nvarying vec4 pickId;\nvarying vec3 dataCoordinate;\n\nvoid main() {\n  if(any(lessThan(dataCoordinate, fragClipBounds[0]))   || \n     any(greaterThan(dataCoordinate, fragClipBounds[1])) ) {\n    discard;\n  } else {\n    gl_FragColor = vec4(pickGroup, pickId.bgr);\n  }\n}&quot;,u=[{name:&quot;position&quot;,type:&quot;vec3&quot;},{name:&quot;color&quot;,type:&quot;vec4&quot;},{name:&quot;glyph&quot;,type:&quot;vec2&quot;},{name:&quot;id&quot;,type:&quot;vec4&quot;}],f={vertex:a,fragment:l,attributes:u},h={vertex:o,fragment:l,attributes:u},d={vertex:s,fragment:l,attributes:u},p={vertex:a,fragment:c,attributes:u},m={vertex:o,fragment:c,attributes:u},g={vertex:s,fragment:c,attributes:u};r.createPerspective=function(t){return n(t,f)},r.createOrtho=function(t){return n(t,h)},r.createProject=function(t){return n(t,d)},r.createPickPerspective=function(t){return n(t,p)},r.createPickOrtho=function(t){return n(t,m)},r.createPickProject=function(t){return n(t,g)}},{&quot;gl-shader&quot;:243}],239:[function(t,e,r){&quot;use strict&quot;;function n(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 i(t,e,r,i){return n(i,i),n(i,i),n(i,i)}function a(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.lineWidth=0,this.projectScale=[2/3,2/3,2/3],this.projectOpacity=[1,1,1],this.pickId=0,this.pickPerspectiveShader=c,this.pickOrthoShader=u,this.pickProjectShader=f,this.points=[],this._selectResult=new function(t,e){this.index=t,this.dataCoordinate=this.position=e}(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}function o(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 l(t,e,r,n){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[r]=n,t}function c(t,e,r,n,a){var c,u=e.axesProject,f=e.gl,h=t.uniforms,d=r.model||v,m=r.view||v,g=r.projection||v,y=e.axesBounds,S=function(t){for(var e=T,r=0;r&lt;2;++r)for(var n=0;n&lt;3;++n)e[r][n]=Math.max(Math.min(t[r][n],1e8),-1e8);return e}(e.clipBounds);c=e.axes?e.axes.lastCubeProps.axis:[1,1,1],x[0]=2/f.drawingBufferWidth,x[1]=2/f.drawingBufferHeight,t.bind(),h.view=m,h.projection=g,h.screenSize=x,h.highlightId=e.highlightId,h.highlightScale=e.highlightScale,h.clipBounds=S,h.pickGroup=e.pickId/255,h.pixelRatio=e.pixelRatio;for(var E=0;E&lt;3;++E)if(u[E]&amp;&amp;e.projectOpacity[E]&lt;1===n){h.scale=e.projectScale[E],h.opacity=e.projectOpacity[E];for(var L=k,C=0;C&lt;16;++C)L[C]=0;for(C=0;C&lt;4;++C)L[5*C]=1;L[5*E]=0,c[E]&lt;0?L[12+E]=y[0][E]:L[12+E]=y[1][E],p(L,d,L),h.model=L;var z=(E+1)%3,D=(E+2)%3,I=o(b),P=o(_);I[z]=1,P[D]=1;var O=i(0,0,0,s(w,I)),F=i(0,0,0,s(M,P));if(Math.abs(O[1])&gt;Math.abs(F[1])){var R=O;O=F,F=R,R=I,I=P,P=R;var N=z;z=D,D=N}O[0]&lt;0&amp;&amp;(I[z]=-1),F[1]&gt;0&amp;&amp;(P[D]=-1);var j=0,B=0;for(C=0;C&lt;4;++C)j+=Math.pow(d[4*z+C],2),B+=Math.pow(d[4*D+C],2);I[z]/=Math.sqrt(j),P[D]/=Math.sqrt(B),h.axes[0]=I,h.axes[1]=P,h.fragClipBounds[0]=l(A,S[0],E,-1e8),h.fragClipBounds[1]=l(A,S[1],E,1e8),e.vao.draw(f.TRIANGLES,e.vertexCount),e.lineWidth&gt;0&amp;&amp;(f.lineWidth(e.lineWidth),e.vao.draw(f.LINES,e.lineVertexCount,e.vertexCount))}}function u(t,e,r,n,i,a){var o=r.gl;if(r.vao.bind(),i===r.opacity&lt;1||a){t.bind();var s=t.uniforms;s.model=n.model||v,s.view=n.view||v,s.projection=n.projection||v,x[0]=2/o.drawingBufferWidth,x[1]=2/o.drawingBufferHeight,s.screenSize=x,s.highlightId=r.highlightId,s.highlightScale=r.highlightScale,s.fragClipBounds=S,s.clipBounds=r.axes.bounds,s.opacity=r.opacity,s.pickGroup=r.pickId/255,s.pixelRatio=r.pixelRatio,r.vao.draw(o.TRIANGLES,r.vertexCount),r.lineWidth&gt;0&amp;&amp;(o.lineWidth(r.lineWidth),r.vao.draw(o.LINES,r.lineVertexCount,r.vertexCount))}c(e,r,n,i),r.vao.unbind()}var f=t(&quot;gl-buffer&quot;),h=t(&quot;gl-vao&quot;),d=t(&quot;typedarray-pool&quot;),p=t(&quot;gl-mat4/multiply&quot;),m=t(&quot;./lib/shaders&quot;),g=t(&quot;./lib/glyphs&quot;),v=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];e.exports=function(t){var e=t.gl,r=m.createPerspective(e),n=m.createOrtho(e),i=m.createProject(e),o=m.createPickPerspective(e),s=m.createPickOrtho(e),l=m.createPickProject(e),c=f(e),u=f(e),d=f(e),p=f(e),g=new a(e,r,n,i,c,u,d,p,h(e,[{buffer:c,size:3,type:e.FLOAT},{buffer:u,size:4,type:e.FLOAT},{buffer:d,size:2,type:e.FLOAT},{buffer:p,size:4,type:e.UNSIGNED_BYTE,normalized:!0}]),o,s,l);return g.update(t),g};var y=a.prototype;y.pickSlots=1,y.setPickBase=function(t){this.pickId=t},y.isTransparent=function(){if(this.opacity&lt;1)return!0;for(var t=0;t&lt;3;++t)if(this.axesProject[t]&amp;&amp;this.projectOpacity[t]&lt;1)return!0;return!1},y.isOpaque=function(){if(this.opacity&gt;=1)return!0;for(var t=0;t&lt;3;++t)if(this.axesProject[t]&amp;&amp;this.projectOpacity[t]&gt;=1)return!0;return!1};var x=[0,0],b=[0,0,0],_=[0,0,0],w=[0,0,0,1],M=[0,0,0,1],k=v.slice(),A=[0,0,0],T=[[0,0,0],[0,0,0]],S=[[-1e8,-1e8,-1e8],[1e8,1e8,1e8]];y.draw=function(t){u(this.useOrtho?this.orthoShader:this.shader,this.projectShader,this,t,!1,!1)},y.drawTransparent=function(t){u(this.useOrtho?this.orthoShader:this.shader,this.projectShader,this,t,!0,!1)},y.drawPick=function(t){u(this.useOrtho?this.pickOrthoShader:this.pickPerspectiveShader,this.pickProjectShader,this,t,!1,!0)},y.pick=function(t){if(!t)return null;if(t.id!==this.pickId)return null;var e=t.value[2]+(t.value[1]&lt;&lt;8)+(t.value[0]&lt;&lt;16);if(e&gt;=this.pointCount||e&lt;0)return null;var r=this.points[e],n=this._selectResult;n.index=e;for(var i=0;i&lt;3;++i)n.position[i]=n.dataCoordinate[i]=r[i];return n},y.highlight=function(t){if(t){var e=t.index,r=255&amp;e,n=e&gt;&gt;8&amp;255,i=e&gt;&gt;16&amp;255;this.highlightId=[r/255,n/255,i/255,0]}else this.highlightId=[1,1,1,1]},y.update=function(t){if(&quot;perspective&quot;in(t=t||{})&amp;&amp;(this.useOrtho=!t.perspective),&quot;orthographic&quot;in t&amp;&amp;(this.useOrtho=!!t.orthographic),&quot;lineWidth&quot;in t&amp;&amp;(this.lineWidth=t.lineWidth),&quot;project&quot;in t)if(Array.isArray(t.project))this.axesProject=t.project;else{var e=!!t.project;this.axesProject=[e,e,e]}if(&quot;projectScale&quot;in t)if(Array.isArray(t.projectScale))this.projectScale=t.projectScale.slice();else{var r=+t.projectScale;this.projectScale=[r,r,r]}if(&quot;projectOpacity&quot;in t)if(Array.isArray(t.projectOpacity))this.projectOpacity=t.projectOpacity.slice();else{r=+t.projectOpacity;this.projectOpacity=[r,r,r]}&quot;opacity&quot;in t&amp;&amp;(this.opacity=t.opacity),this.dirty=!0;var n=t.position;if(n){var i=t.font||&quot;normal&quot;,a=t.alignment||[0,0],o=[1/0,1/0,1/0],s=[-1/0,-1/0,-1/0],l=t.glyph,c=t.color,u=t.size,f=t.angle,h=t.lineColor,p=0,m=0,v=0,y=n.length;t:for(var x=0;x&lt;y;++x){for(var b=n[x],_=0;_&lt;3;++_)if(isNaN(b[_])||!isFinite(b[_]))continue t;var w=(R=Array.isArray(l)?g(l[x],i):l?g(l,i):g(&quot;\u25cf&quot;,i))[0],M=R[1],k=R[2];m+=3*w.cells.length,v+=2*M.edges.length}var A=m+v,T=d.mallocFloat(3*A),S=d.mallocFloat(4*A),E=d.mallocFloat(2*A),L=d.mallocUint32(A),C=[0,a[1]],z=0,D=m,I=[0,0,0,1],P=[0,0,0,1],O=Array.isArray(c)&amp;&amp;Array.isArray(c[0]),F=Array.isArray(h)&amp;&amp;Array.isArray(h[0]);t:for(x=0;x&lt;y;++x){for(b=n[x],_=0;_&lt;3;++_){if(isNaN(b[_])||!isFinite(b[_])){p+=1;continue t}s[_]=Math.max(s[_],b[_]),o[_]=Math.min(o[_],b[_])}var R;w=(R=Array.isArray(l)?g(l[x],i):l?g(l,i):g(&quot;\u25cf&quot;,i))[0],M=R[1],k=R[2];if(Array.isArray(c)){if(3===(N=O?c[x]:c).length){for(_=0;_&lt;3;++_)I[_]=N[_];I[3]=1}else if(4===N.length)for(_=0;_&lt;4;++_)I[_]=N[_]}else I[0]=I[1]=I[2]=0,I[3]=1;if(Array.isArray(h)){var N;if(3===(N=F?h[x]:h).length){for(_=0;_&lt;3;++_)P[_]=N[_];P[_]=1}else if(4===N.length)for(_=0;_&lt;4;++_)P[_]=N[_]}else P[0]=P[1]=P[2]=0,P[3]=1;var j=.5;Array.isArray(u)?j=+u[x]:u?j=+u:this.useOrtho&amp;&amp;(j=12);var B=0;Array.isArray(f)?B=+f[x]:f&amp;&amp;(B=+f);var U=Math.cos(B),V=Math.sin(B);for(b=n[x],_=0;_&lt;3;++_)s[_]=Math.max(s[_],b[_]),o[_]=Math.min(o[_],b[_]);a[0]&lt;0?C[0]=a[0]*(1+k[1][0]):a[0]&gt;0&amp;&amp;(C[0]=-a[0]*(1+k[0][0]));var q=w.cells,H=w.positions;for(_=0;_&lt;q.length;++_)for(var G=q[_],Y=0;Y&lt;3;++Y){for(var W=0;W&lt;3;++W)T[3*z+W]=b[W];for(W=0;W&lt;4;++W)S[4*z+W]=I[W];L[z]=p;var X=H[G[Y]];E[2*z]=j*(U*X[0]-V*X[1]+C[0]),E[2*z+1]=j*(V*X[0]+U*X[1]+C[1]),z+=1}for(q=M.edges,H=M.positions,_=0;_&lt;q.length;++_)for(G=q[_],Y=0;Y&lt;2;++Y){for(W=0;W&lt;3;++W)T[3*D+W]=b[W];for(W=0;W&lt;4;++W)S[4*D+W]=P[W];L[D]=p;X=H[G[Y]];E[2*D]=j*(U*X[0]-V*X[1]+C[0]),E[2*D+1]=j*(V*X[0]+U*X[1]+C[1]),D+=1}p+=1}this.vertexCount=m,this.lineVertexCount=v,this.pointBuffer.update(T),this.colorBuffer.update(S),this.glyphBuffer.update(E),this.idBuffer.update(new Uint32Array(L)),d.free(T),d.free(S),d.free(E),d.free(L),this.bounds=[o,s],this.points=n,this.pointCount=n.length}},y.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()}},{&quot;./lib/glyphs&quot;:237,&quot;./lib/shaders&quot;:238,&quot;gl-buffer&quot;:165,&quot;gl-mat4/multiply&quot;:188,&quot;gl-vao&quot;:259,&quot;typedarray-pool&quot;:554}],240:[function(t,e,r){&quot;use strict&quot;;r.boxVertex=&quot;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&quot;,r.boxFragment=&quot;precision mediump float;\n#define GLSLIFY 1\n\nuniform vec4 color;\n\nvoid main() {\n  gl_FragColor = color;\n}\n&quot;},{}],241:[function(t,e,r){&quot;use strict&quot;;function n(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}var i=t(&quot;gl-shader&quot;),a=t(&quot;gl-buffer&quot;),o=t(&quot;./lib/shaders&quot;);e.exports=function(t,e){var r=t.gl,s=new n(t,a(r,[0,0,0,1,1,0,1,1]),i(r,o.boxVertex,o.boxFragment));return s.update(e),t.addOverlay(s),s};var s=n.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],d=(e[2]-l[0])*(c[2]-c[0])/(l[2]-l[0])+c[0],p=(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]),d=Math.min(d,c[2]),p=Math.min(p,c[3]),!(d&lt;f||p&lt;h)){o.bind();var m=s[2]-s[0],g=s[3]-s[1];if(this.outerFill&amp;&amp;(o.drawBox(0,0,m,h,i),o.drawBox(0,h,f,p,i),o.drawBox(0,p,m,g,i),o.drawBox(d,h,m,p,i)),this.innerFill&amp;&amp;o.drawBox(f,h,d,p,n),r&gt;0){var v=r*u;o.drawBox(f-v,h-v,d+v,h+v,a),o.drawBox(f-v,p-v,d+v,p+v,a),o.drawBox(f-v,h-v,f+v,p+v,a),o.drawBox(d-v,h-v,d+v,p+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)}},{&quot;./lib/shaders&quot;:240,&quot;gl-buffer&quot;:165,&quot;gl-shader&quot;:243}],242:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r){this.gl=t,this.fbo=e,this.buffer=r,this._readTimeout=null;var n=this;this._readCallback=function(){n.gl&amp;&amp;(e.bind(),t.readPixels(0,0,e.shape[0],e.shape[1],t.RGBA,t.UNSIGNED_BYTE,n.buffer),n._readTimeout=null)}}e.exports=function(t,e){return new n(t,i(t,e),a.mallocUint8(e[0]*e[1]*4))};var i=t(&quot;gl-fbo&quot;),a=t(&quot;typedarray-pool&quot;),o=t(&quot;ndarray&quot;),s=t(&quot;bit-twiddle&quot;).nextPow2,l=t(&quot;cwise/lib/wrapper&quot;)({args:[&quot;array&quot;,{offset:[0,0,1],array:0},{offset:[0,0,2],array:0},{offset:[0,0,3],array:0},&quot;scalar&quot;,&quot;scalar&quot;,&quot;index&quot;],pre:{body:&quot;{this_closestD2=1e8,this_closestX=-1,this_closestY=-1}&quot;,args:[],thisVars:[&quot;this_closestD2&quot;,&quot;this_closestX&quot;,&quot;this_closestY&quot;],localVars:[]},body:{body:&quot;{if(_inline_46_arg0_&lt;255||_inline_46_arg1_&lt;255||_inline_46_arg2_&lt;255||_inline_46_arg3_&lt;255){var _inline_46_l=_inline_46_arg4_-_inline_46_arg6_[0],_inline_46_a=_inline_46_arg5_-_inline_46_arg6_[1],_inline_46_f=_inline_46_l*_inline_46_l+_inline_46_a*_inline_46_a;_inline_46_f&lt;this_closestD2&amp;&amp;(this_closestD2=_inline_46_f,this_closestX=_inline_46_arg6_[0],this_closestY=_inline_46_arg6_[1])}}&quot;,args:[{name:&quot;_inline_46_arg0_&quot;,lvalue:!1,rvalue:!0,count:1},{name:&quot;_inline_46_arg1_&quot;,lvalue:!1,rvalue:!0,count:1},{name:&quot;_inline_46_arg2_&quot;,lvalue:!1,rvalue:!0,count:1},{name:&quot;_inline_46_arg3_&quot;,lvalue:!1,rvalue:!0,count:1},{name:&quot;_inline_46_arg4_&quot;,lvalue:!1,rvalue:!0,count:1},{name:&quot;_inline_46_arg5_&quot;,lvalue:!1,rvalue:!0,count:1},{name:&quot;_inline_46_arg6_&quot;,lvalue:!1,rvalue:!0,count:4}],thisVars:[&quot;this_closestD2&quot;,&quot;this_closestX&quot;,&quot;this_closestY&quot;],localVars:[&quot;_inline_46_a&quot;,&quot;_inline_46_f&quot;,&quot;_inline_46_l&quot;]},post:{body:&quot;{return[this_closestX,this_closestY,this_closestD2]}&quot;,args:[],thisVars:[&quot;this_closestD2&quot;,&quot;this_closestX&quot;,&quot;this_closestY&quot;],localVars:[]},debug:!1,funcName:&quot;cwise&quot;,blockSize:64}),c=n.prototype;Object.defineProperty(c,&quot;shape&quot;,{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&gt;this.buffer.length){a.free(this.buffer);for(var n=this.buffer=a.mallocUint8(s(r*e*4)),i=0;i&lt;r*e*4;++i)n[i]=255}return t}}}),c.begin=function(){var t=this.gl;this.shape;t&amp;&amp;(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&amp;&amp;(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,&quot;number&quot;!=typeof r&amp;&amp;(r=1);var i=0|Math.min(Math.max(t-r,0),n[0]),a=0|Math.min(Math.max(t+r,0),n[0]),s=0|Math.min(Math.max(e-r,0),n[1]),c=0|Math.min(Math.max(e+r,0),n[1]);if(a&lt;=i||c&lt;=s)return null;var u=[a-i,c-s],f=o(this.buffer,[u[0],u[1],4],[4,4*n[0],1],4*(i+n[0]*s)),h=l(f.hi(u[0],u[1],1),r,r),d=h[0],p=h[1];if(d&lt;0||Math.pow(this.radius,2)&lt;h[2])return null;return new function(t,e,r,n,i){this.coord=[t,e],this.id=r,this.value=n,this.distance=i}(d+i|0,p+s|0,f.get(d,p,0),[f.get(d,p,1),f.get(d,p,2),f.get(d,p,3)],Math.sqrt(h[2]))},c.dispose=function(){this.gl&amp;&amp;(this.fbo.dispose(),a.free(this.buffer),this.gl=null,this._readTimeout&amp;&amp;clearTimeout(this._readTimeout))}},{&quot;bit-twiddle&quot;:71,&quot;cwise/lib/wrapper&quot;:119,&quot;gl-fbo&quot;:171,ndarray:458,&quot;typedarray-pool&quot;:554}],243:[function(t,e,r){&quot;use strict&quot;;function n(t){this.gl=t,this._vref=this._fref=this._relink=this.vertShader=this.fragShader=this.program=this.attributes=this.uniforms=this.types=null}function i(t,e){return t.name&lt;e.name?-1:1}var a=t(&quot;./lib/create-uniforms&quot;),o=t(&quot;./lib/create-attributes&quot;),s=t(&quot;./lib/reflect&quot;),l=t(&quot;./lib/shader-cache&quot;),c=t(&quot;./lib/runtime-reflect&quot;),u=t(&quot;./lib/GLError&quot;),f=n.prototype;f.bind=function(){this.program||this._relink(),this.gl.useProgram(this.program)},f.dispose=function(){this._fref&amp;&amp;this._fref.dispose(),this._vref&amp;&amp;this._vref.dispose(),this.attributes=this.types=this.vertShader=this.fragShader=this.program=this._relink=this._fref=this._vref=null},f.update=function(t,e,r,n){function f(){d.program=l.program(p,d._vref,d._fref,b,_);for(var t=0;t&lt;r.length;++t)E[t]=p.getUniformLocation(d.program,r[t].name)}if(!e||1===arguments.length){var h=t;t=h.vertex,e=h.fragment,r=h.uniforms,n=h.attributes}var d=this,p=d.gl,m=d._vref;d._vref=l.shader(p,p.VERTEX_SHADER,t),m&amp;&amp;m.dispose(),d.vertShader=d._vref.shader;var g=this._fref;if(d._fref=l.shader(p,p.FRAGMENT_SHADER,e),g&amp;&amp;g.dispose(),d.fragShader=d._fref.shader,!r||!n){var v=p.createProgram();if(p.attachShader(v,d.fragShader),p.attachShader(v,d.vertShader),p.linkProgram(v),!p.getProgramParameter(v,p.LINK_STATUS)){var y=p.getProgramInfoLog(v);throw new u(y,&quot;Error linking program:&quot;+y)}r=r||c.uniforms(p,v),n=n||c.attributes(p,v),p.deleteProgram(v)}(n=n.slice()).sort(i);for(var x=[],b=[],_=[],w=0;w&lt;n.length;++w){var M=n[w];if(M.type.indexOf(&quot;mat&quot;)&gt;=0){for(var k=0|M.type.charAt(M.type.length-1),A=new Array(k),T=0;T&lt;k;++T)A[T]=_.length,b.push(M.name+&quot;[&quot;+T+&quot;]&quot;),&quot;number&quot;==typeof M.location?_.push(M.location+T):Array.isArray(M.location)&amp;&amp;M.location.length===k&amp;&amp;&quot;number&quot;==typeof M.location[T]?_.push(0|M.location[T]):_.push(-1);x.push({name:M.name,type:M.type,locations:A})}else x.push({name:M.name,type:M.type,locations:[_.length]}),b.push(M.name),&quot;number&quot;==typeof M.location?_.push(0|M.location):_.push(-1)}var S=0;for(w=0;w&lt;_.length;++w)if(_[w]&lt;0){for(;_.indexOf(S)&gt;=0;)S+=1;_[w]=S}var E=new Array(r.length);f(),d._relink=f,d.types={uniforms:s(r),attributes:s(n)},d.attributes=o(p,d,x,_),Object.defineProperty(d,&quot;uniforms&quot;,a(p,d,r,E))},e.exports=function(t,e,r,i,a){var o=new n(t);return o.update(e,r,i,a),o}},{&quot;./lib/GLError&quot;:244,&quot;./lib/create-attributes&quot;:245,&quot;./lib/create-uniforms&quot;:246,&quot;./lib/reflect&quot;:247,&quot;./lib/runtime-reflect&quot;:248,&quot;./lib/shader-cache&quot;:249}],244:[function(t,e,r){arguments[4][218][0].apply(r,arguments)},{dup:218}],245:[function(t,e,r){arguments[4][219][0].apply(r,arguments)},{&quot;./GLError&quot;:244,dup:219}],246:[function(t,e,r){arguments[4][220][0].apply(r,arguments)},{&quot;./GLError&quot;:244,&quot;./reflect&quot;:247,dup:220}],247:[function(t,e,r){arguments[4][221][0].apply(r,arguments)},{dup:221}],248:[function(t,e,r){arguments[4][222][0].apply(r,arguments)},{dup:222}],249:[function(t,e,r){arguments[4][223][0].apply(r,arguments)},{&quot;./GLError&quot;:244,dup:223,&quot;gl-format-compiler-error&quot;:172,&quot;weakmap-shim&quot;:576}],250:[function(t,e,r){&quot;use strict&quot;;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]&lt;=n[0]&amp;&amp;n[0]&lt;=o[2]&amp;&amp;o[1]&lt;=n[1]&amp;&amp;n[1]&lt;=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]&amp;&amp;a.drawLine(l,c,s[0],c,e[0],r[0]),t[1]&amp;&amp;a.drawLine(l,c,l,s[1],e[1],r[1]),t[2]&amp;&amp;a.drawLine(l,c,s[2],c,e[2],r[2]),t[3]&amp;&amp;a.drawLine(l,c,l,s[3],e[3],r[3])}},i.dispose=function(){this.plot.removeOverlay(this)}},{}],251:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;gl-shader&quot;);e.exports=function(t){return n(t,&quot;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&quot;,&quot;precision mediump float;\n#define GLSLIFY 1\n\nvarying vec4 fragColor;\n\nvoid main() {\n  gl_FragColor = fragColor;\n}&quot;,null,[{name:&quot;position&quot;,type:&quot;vec3&quot;},{name:&quot;color&quot;,type:&quot;vec3&quot;},{name:&quot;weight&quot;,type:&quot;float&quot;}])}},{&quot;gl-shader&quot;:243}],252:[function(t,e,r){&quot;use strict&quot;;function n(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 i=t(&quot;gl-buffer&quot;),a=t(&quot;gl-vao&quot;),o=t(&quot;./shaders/index&quot;);e.exports=function(t,e){function r(t,e,r,n,i,a){var o=[t,e,r,0,0,0,1];o[n+3]=1,o[n]=i,s.push.apply(s,o),o[6]=-1,s.push.apply(s,o),o[n]=a,s.push.apply(s,o),s.push.apply(s,o),o[6]=1,s.push.apply(s,o),o[n]=i,s.push.apply(s,o)}var s=[];r(0,0,0,0,0,1),r(0,0,0,1,0,1),r(0,0,0,2,0,1),r(1,0,0,1,-1,1),r(1,0,0,2,-1,1),r(0,1,0,0,-1,1),r(0,1,0,2,-1,1),r(0,0,1,0,-1,1),r(0,0,1,1,-1,1);var l=i(t,s),c=a(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=o(t);u.attributes.position.location=0,u.attributes.color.location=1,u.attributes.weight.location=2;var f=new n(t,l,c,u);return f.update(e),f};var s=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],l=n.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||s,o=t.view||s,l=t.projection||s;this.axes&amp;&amp;(i=this.axes.lastCubeProps.axis);for(var h=c,d=u,p=0;p&lt;3;++p)i&amp;&amp;i[p]&lt;0?(h[p]=this.bounds[0][p],d[p]=this.bounds[1][p]):(h[p]=this.bounds[1][p],d[p]=this.bounds[0][p]);f[0]=e.drawingBufferWidth,f[1]=e.drawingBufferHeight,n.uniforms.model=a,n.uniforms.view=o,n.uniforms.projection=l,n.uniforms.coordinates=[this.position,h,d],n.uniforms.colors=this.colors,n.uniforms.screenShape=f;for(p=0;p&lt;3;++p)n.uniforms.lineWidth=this.lineWidth[p]*this.pixelRatio,this.enabled[p]&amp;&amp;(r.draw(e.TRIANGLES,6,6*p),this.drawSides[p]&amp;&amp;r.draw(e.TRIANGLES,12,18+12*p));r.unbind()},l.update=function(t){t&amp;&amp;(&quot;bounds&quot;in t&amp;&amp;(this.bounds=t.bounds),&quot;position&quot;in t&amp;&amp;(this.position=t.position),&quot;lineWidth&quot;in t&amp;&amp;(this.lineWidth=t.lineWidth),&quot;colors&quot;in t&amp;&amp;(this.colors=t.colors),&quot;enabled&quot;in t&amp;&amp;(this.enabled=t.enabled),&quot;drawSides&quot;in t&amp;&amp;(this.drawSides=t.drawSides))},l.dispose=function(){this.vao.dispose(),this.buffer.dispose(),this.shader.dispose()}},{&quot;./shaders/index&quot;:251,&quot;gl-buffer&quot;:165,&quot;gl-vao&quot;:259}],253:[function(t,e,r){var n=t(&quot;gl-shader&quot;),i=&quot;precision mediump float;\n#define GLSLIFY 1\n\nattribute vec4 uv;\nattribute vec3 f;\nattribute vec3 normal;\n\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  worldCoordinate = vec3(uv.zw, f.x);\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&quot;,a=&quot;precision mediump float;\n#define GLSLIFY 1\n\nfloat beckmannDistribution_2_0(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\n\n\nfloat beckmannSpecular_1_1(\n  vec3 lightDirection,\n  vec3 viewDirection,\n  vec3 surfaceNormal,\n  float roughness) {\n  return beckmannDistribution_2_0(dot(surfaceNormal, normalize(lightDirection + viewDirection)), roughness);\n}\n\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 (kill &gt; 0.0 ||\n    any(lessThan(worldCoordinate, clipBounds[0])) || any(greaterThan(worldCoordinate, clipBounds[1]))) {\n    discard;\n  }\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_1_1(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 = step(vertexColor, .5) * texture2D(colormap, vec2(value, value)) + 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&quot;,o=&quot;precision mediump float;\n#define GLSLIFY 1\n\nattribute vec4 uv;\nattribute float f;\n\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  vec4 worldPosition = model * vec4(dataCoordinate, 1.0);\n\n  vec4 clipPosition = projection * view * worldPosition;\n  clipPosition.z = clipPosition.z + zOffset;\n\n  gl_Position = clipPosition;\n  value = f;\n  kill = -1.0;\n  worldCoordinate = dataCoordinate;\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&quot;,s=&quot;precision mediump float;\n#define GLSLIFY 1\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 &gt; 0.0 ||\n    any(lessThan(worldCoordinate, clipBounds[0])) || any(greaterThan(worldCoordinate, clipBounds[1]))) {\n    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&quot;;r.createShader=function(t){var e=n(t,i,a,null,[{name:&quot;uv&quot;,type:&quot;vec4&quot;},{name:&quot;f&quot;,type:&quot;vec3&quot;},{name:&quot;normal&quot;,type:&quot;vec3&quot;}]);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,i,s,null,[{name:&quot;uv&quot;,type:&quot;vec4&quot;},{name:&quot;f&quot;,type:&quot;vec3&quot;},{name:&quot;normal&quot;,type:&quot;vec3&quot;}]);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,o,a,null,[{name:&quot;uv&quot;,type:&quot;vec4&quot;},{name:&quot;f&quot;,type:&quot;float&quot;}]);return e.attributes.uv.location=0,e.attributes.f.location=1,e},r.createPickContourShader=function(t){var e=n(t,o,s,null,[{name:&quot;uv&quot;,type:&quot;vec4&quot;},{name:&quot;f&quot;,type:&quot;float&quot;}]);return e.attributes.uv.location=0,e.attributes.f.location=1,e}},{&quot;gl-shader&quot;:243}],254:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,n,i,a,o,s,l,c,u,f,h,d){this.gl=t,this.shape=e,this.bounds=r,this.intensityBounds=[],this._shader=n,this._pickShader=i,this._coordinateBuffer=a,this._vao=o,this._colorMap=s,this._contourShader=l,this._contourPickShader=c,this._contourBuffer=u,this._contourVAO=f,this._contourOffsets=[[],[],[]],this._contourCounts=[[],[],[]],this._vertexCount=0,this._pickResult=new function(t,e,r,n,i){this.position=t,this.index=e,this.uv=r,this.level=n,this.dataCoordinate=i}([0,0,0],[0,0],[0,0],[0,0,0],[0,0,0]),this._dynamicBuffer=h,this._dynamicVAO=d,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=[y(p.mallocFloat(1024),[0,0]),y(p.mallocFloat(1024),[0,0]),y(p.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.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}function i(t,e){var r,n,i,a=e.axes&amp;&amp;e.axes.lastCubeProps.axis||O,o=e.showSurface,s=e.showContour;for(r=0;r&lt;3;++r)for(o=o||e.surfaceProject[r],n=0;n&lt;3;++n)s=s||e.contourProject[r][n];for(r=0;r&lt;3;++r){var l=F.projections[r];for(n=0;n&lt;16;++n)l[n]=0;for(n=0;n&lt;4;++n)l[5*n]=1;l[5*r]=0,l[12+r]=e.axesBounds[+(a[r]&gt;0)][r],b(l,t.model,l);var c=F.clipBounds[r];for(i=0;i&lt;2;++i)for(n=0;n&lt;3;++n)c[i][n]=t.clipBounds[i][n];c[0][r]=-1e8,c[1][r]=1e8}return F.showSurface=o,F.showContour=s,F}function a(t,e){t=t||{};var r=this.gl;r.disable(r.CULL_FACE),this._colorMap.bind(0);var n=R;n.model=t.model||C,n.view=t.view||C,n.projection=t.projection||C,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.contourColor=this.contourColor[0],n.inverseModel=_(n.inverseModel,n.model);for(var a=0;a&lt;2;++a)for(var o=n.clipBounds[a],s=0;s&lt;3;++s)o[s]=Math.min(Math.max(this.clipBounds[a][s],-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=j,n.vertexColor=this.vertexColor;var l=N;for(b(l,n.view,n.model),b(l,n.projection,l),_(l,l),a=0;a&lt;3;++a)n.eyePosition[a]=l[12+a]/l[15];var c=l[15];for(a=0;a&lt;3;++a)c+=this.lightPosition[a]*l[4*a+3];for(a=0;a&lt;3;++a){var u=l[12+a];for(s=0;s&lt;3;++s)u+=l[4*s+a]*this.lightPosition[s];n.lightPosition[a]=u/c}var f=i(n,this);if(f.showSurface&amp;&amp;e===this.opacity&lt;1){for(this._shader.bind(),this._shader.uniforms=n,this._vao.bind(),this.showSurface&amp;&amp;this._vertexCount&amp;&amp;this._vao.draw(r.TRIANGLES,this._vertexCount),a=0;a&lt;3;++a)this.surfaceProject[a]&amp;&amp;this.vertexCount&amp;&amp;(this._shader.uniforms.model=f.projections[a],this._shader.uniforms.clipBounds=f.clipBounds[a],this._vao.draw(r.TRIANGLES,this._vertexCount));this._vao.unbind()}if(f.showContour&amp;&amp;!e){var h=this._contourShader;n.kambient=1,n.kdiffuse=0,n.kspecular=0,n.opacity=1,h.bind(),h.uniforms=n;var d=this._contourVAO;for(d.bind(),a=0;a&lt;3;++a)for(h.uniforms.permutation=D[a],r.lineWidth(this.contourWidth[a]),s=0;s&lt;this.contourLevels[a].length;++s)this._contourCounts[a][s]&amp;&amp;(s===this.highlightLevel[a]?(h.uniforms.contourColor=this.highlightColor[a],h.uniforms.contourTint=this.highlightTint[a]):0!==s&amp;&amp;s-1!==this.highlightLevel[a]||(h.uniforms.contourColor=this.contourColor[a],h.uniforms.contourTint=this.contourTint[a]),h.uniforms.height=this.contourLevels[a][s],d.draw(r.LINES,this._contourCounts[a][s],this._contourOffsets[a][s]));for(a=0;a&lt;3;++a)for(h.uniforms.model=f.projections[a],h.uniforms.clipBounds=f.clipBounds[a],s=0;s&lt;3;++s)if(this.contourProject[a][s]){h.uniforms.permutation=D[s],r.lineWidth(this.contourWidth[s]);for(var p=0;p&lt;this.contourLevels[s].length;++p)p===this.highlightLevel[s]?(h.uniforms.contourColor=this.highlightColor[s],h.uniforms.contourTint=this.highlightTint[s]):0!==p&amp;&amp;p-1!==this.highlightLevel[s]||(h.uniforms.contourColor=this.contourColor[s],h.uniforms.contourTint=this.contourTint[s]),h.uniforms.height=this.contourLevels[s][p],d.draw(r.LINES,this._contourCounts[s][p],this._contourOffsets[s][p])}for((d=this._dynamicVAO).bind(),a=0;a&lt;3;++a)if(0!==this._dynamicCounts[a])for(h.uniforms.model=n.model,h.uniforms.clipBounds=n.clipBounds,h.uniforms.permutation=D[a],r.lineWidth(this.dynamicWidth[a]),h.uniforms.contourColor=this.dynamicColor[a],h.uniforms.contourTint=this.dynamicTint[a],h.uniforms.height=this.dynamicLevel[a],d.draw(r.LINES,this._dynamicCounts[a],this._dynamicOffsets[a]),s=0;s&lt;3;++s)this.contourProject[s][a]&amp;&amp;(h.uniforms.model=f.projections[s],h.uniforms.clipBounds=f.clipBounds[s],d.draw(r.LINES,this._dynamicCounts[a],this._dynamicOffsets[a]));d.unbind()}}function o(t,e){var r=e.shape.slice(),n=t.shape.slice();g.assign(t.lo(1,1).hi(r[0],r[1]),e),g.assign(t.lo(1).hi(r[0],1),e.hi(r[0],1)),g.assign(t.lo(1,n[1]-1).hi(r[0],1),e.lo(0,r[1]-1).hi(r[0],1)),g.assign(t.lo(0,1).hi(1,r[1]),e.hi(1)),g.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))}function s(t,e){return Array.isArray(t)?[e(t[0]),e(t[1]),e(t[2])]:[e(t),e(t),e(t)]}function l(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 c(t){if(Array.isArray(t)){if(Array.isArray(t))return[l(t[0]),l(t[1]),l(t[2])];var e=l(t);return[e.slice(),e.slice(),e.slice()]}}e.exports=function(t){var e=t.gl,r=A(e),i=S(e),a=T(e),o=E(e),s=f(e),l=h(e,[{buffer:s,size:4,stride:L,offset:0},{buffer:s,size:3,stride:L,offset:16},{buffer:s,size:3,stride:L,offset:28}]),c=f(e),u=h(e,[{buffer:c,size:4,stride:20,offset:0},{buffer:c,size:1,stride:20,offset:16}]),p=f(e),m=h(e,[{buffer:p,size:2,type:e.FLOAT}]),g=d(e,1,I,e.RGBA,e.UNSIGNED_BYTE);g.minFilter=e.LINEAR,g.magFilter=e.LINEAR;var v=new n(e,[0,0],[[0,0,0],[0,0,0]],r,i,s,l,g,a,o,c,u,p,m),y={levels:[[],[],[]]};for(var x in t)y[x]=t[x];return y.colormap=y.colormap||&quot;jet&quot;,v.update(y),v};var u=t(&quot;bit-twiddle&quot;),f=t(&quot;gl-buffer&quot;),h=t(&quot;gl-vao&quot;),d=t(&quot;gl-texture2d&quot;),p=t(&quot;typedarray-pool&quot;),m=t(&quot;colormap&quot;),g=t(&quot;ndarray-ops&quot;),v=t(&quot;ndarray-pack&quot;),y=t(&quot;ndarray&quot;),x=t(&quot;surface-nets&quot;),b=t(&quot;gl-mat4/multiply&quot;),_=t(&quot;gl-mat4/invert&quot;),w=t(&quot;binary-search-bounds&quot;),M=t(&quot;ndarray-gradient&quot;),k=t(&quot;./lib/shaders&quot;),A=k.createShader,T=k.createContourShader,S=k.createPickShader,E=k.createPickContourShader,L=40,C=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],z=[[0,0],[0,1],[1,0],[1,1],[1,0],[0,1]],D=[[0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0]];!function(){for(var t=0;t&lt;3;++t){var e=D[t],r=(t+2)%3;e[(t+1)%3+0]=1,e[r+3]=1,e[t+6]=1}}();var I=256,P=n.prototype;P.isTransparent=function(){return this.opacity&lt;1},P.isOpaque=function(){if(this.opacity&gt;=1)return!0;for(var t=0;t&lt;3;++t)if(this._contourCounts[t].length&gt;0||this._dynamicCounts[t]&gt;0)return!0;return!1},P.pickSlots=1,P.setPickBase=function(t){this.pickId=t};var O=[0,0,0],F={showSurface:!1,showContour:!1,projections:[C.slice(),C.slice(),C.slice()],clipBounds:[[[0,0,0],[0,0,0]],[[0,0,0],[0,0,0]],[[0,0,0],[0,0,0]]]},R={model:C,view:C,projection:C,inverseModel:C.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,kambient:1,kdiffuse:1,kspecular:1,lightPosition:[1e3,1e3,1e3],eyePosition:[0,0,0],roughness:1,fresnel:1,opacity:1,vertexColor:0},N=C.slice(),j=[1,0,0,0,1,0,0,0,1];P.draw=function(t){return a.call(this,t,!1)},P.drawTransparent=function(t){return a.call(this,t,!0)};var B={model:C,view:C,projection:C,inverseModel:C,clipBounds:[[0,0,0],[0,0,0]],height:0,shape:[0,0],pickId:0,lowerBound:[0,0,0],upperBound:[0,0,0],zOffset:0,permutation:[1,0,0,0,1,0,0,0,1],lightPosition:[0,0,0],eyePosition:[0,0,0]};P.drawPick=function(t){t=t||{};var e=this.gl;e.disable(e.CULL_FACE);var r=B;r.model=t.model||C,r.view=t.view||C,r.projection=t.projection||C,r.shape=this._field[2].shape,r.pickId=this.pickId/255,r.lowerBound=this.bounds[0],r.upperBound=this.bounds[1],r.permutation=j;for(var n=0;n&lt;2;++n)for(var a=r.clipBounds[n],o=0;o&lt;3;++o)a[o]=Math.min(Math.max(this.clipBounds[n][o],-1e8),1e8);var s=i(r,this);if(s.showSurface){for(this._pickShader.bind(),this._pickShader.uniforms=r,this._vao.bind(),this._vao.draw(e.TRIANGLES,this._vertexCount),n=0;n&lt;3;++n)this.surfaceProject[n]&amp;&amp;(this._pickShader.uniforms.model=s.projections[n],this._pickShader.uniforms.clipBounds=s.clipBounds[n],this._vao.draw(e.TRIANGLES,this._vertexCount));this._vao.unbind()}if(s.showContour){var l=this._contourPickShader;l.bind(),l.uniforms=r;var c=this._contourVAO;for(c.bind(),o=0;o&lt;3;++o)for(e.lineWidth(this.contourWidth[o]),l.uniforms.permutation=D[o],n=0;n&lt;this.contourLevels[o].length;++n)this._contourCounts[o][n]&amp;&amp;(l.uniforms.height=this.contourLevels[o][n],c.draw(e.LINES,this._contourCounts[o][n],this._contourOffsets[o][n]));for(n=0;n&lt;3;++n)for(l.uniforms.model=s.projections[n],l.uniforms.clipBounds=s.clipBounds[n],o=0;o&lt;3;++o)if(this.contourProject[n][o]){l.uniforms.permutation=D[o],e.lineWidth(this.contourWidth[o]);for(var u=0;u&lt;this.contourLevels[o].length;++u)this._contourCounts[o][u]&amp;&amp;(l.uniforms.height=this.contourLevels[o][u],c.draw(e.LINES,this._contourCounts[o][u],this._contourOffsets[o][u]))}c.unbind()}},P.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]&gt;&gt;4)/16)/255,i=Math.floor(n),a=n-i,o=e[1]*(t.value[1]+(15&amp;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&lt;2;++u)for(var f=u?a:1-a,h=0;h&lt;2;++h)for(var d=i+u,p=s+h,m=f*(h?l:1-l),g=0;g&lt;3;++g)c[g]+=this._field[g].get(d,p)*m;for(var v=this._pickResult.level,y=0;y&lt;3;++y)if(v[y]=w.le(this.contourLevels[y],c[y]),v[y]&lt;0)this.contourLevels[y].length&gt;0&amp;&amp;(v[y]=0);else if(v[y]&lt;this.contourLevels[y].length-1){var x=this.contourLevels[y][v[y]],b=this.contourLevels[y][v[y]+1];Math.abs(x-c[y])&gt;Math.abs(b-c[y])&amp;&amp;(v[y]+=1)}for(r.index[0]=a&lt;.5?i:i+1,r.index[1]=l&lt;.5?s:s+1,r.uv[0]=n/e[0],r.uv[1]=o/e[1],g=0;g&lt;3;++g)r.dataCoordinate[g]=this._field[g].get(r.index[0],r.index[1]);return r},P.update=function(t){t=t||{},this.dirty=!0,&quot;contourWidth&quot;in t&amp;&amp;(this.contourWidth=s(t.contourWidth,Number)),&quot;showContour&quot;in t&amp;&amp;(this.showContour=s(t.showContour,Boolean)),&quot;showSurface&quot;in t&amp;&amp;(this.showSurface=!!t.showSurface),&quot;contourTint&quot;in t&amp;&amp;(this.contourTint=s(t.contourTint,Boolean)),&quot;contourColor&quot;in t&amp;&amp;(this.contourColor=c(t.contourColor)),&quot;contourProject&quot;in t&amp;&amp;(this.contourProject=s(t.contourProject,function(t){return s(t,Boolean)})),&quot;surfaceProject&quot;in t&amp;&amp;(this.surfaceProject=t.surfaceProject),&quot;dynamicColor&quot;in t&amp;&amp;(this.dynamicColor=c(t.dynamicColor)),&quot;dynamicTint&quot;in t&amp;&amp;(this.dynamicTint=s(t.dynamicTint,Number)),&quot;dynamicWidth&quot;in t&amp;&amp;(this.dynamicWidth=s(t.dynamicWidth,Number)),&quot;opacity&quot;in t&amp;&amp;(this.opacity=t.opacity),&quot;colorBounds&quot;in t&amp;&amp;(this.colorBounds=t.colorBounds),&quot;vertexColor&quot;in t&amp;&amp;(this.vertexColor=t.vertexColor?1:0);var e=t.field||t.coords&amp;&amp;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)),&quot;field&quot;in t||&quot;coords&quot;in t){var n=(e.shape[0]+2)*(e.shape[1]+2);n&gt;this._field[2].data.length&amp;&amp;(p.freeFloat(this._field[2].data),this._field[2].data=p.mallocFloat(u.nextPow2(n))),this._field[2]=y(this._field[2].data,[e.shape[0]+2,e.shape[1]+2]),o(this._field[2],e),this.shape=e.shape.slice();for(var i=this.shape,a=0;a&lt;2;++a)this._field[2].size&gt;this._field[a].data.length&amp;&amp;(p.freeFloat(this._field[a].data),this._field[a].data=p.mallocFloat(this._field[2].size)),this._field[a]=y(this._field[a].data,[i[0]+2,i[1]+2]);if(t.coords){var l=t.coords;if(!Array.isArray(l)||3!==l.length)throw new Error(&quot;gl-surface: invalid coordinates for x/y&quot;);for(a=0;a&lt;2;++a){var f=l[a];for(w=0;w&lt;2;++w)if(f.shape[w]!==i[w])throw new Error(&quot;gl-surface: coords have incorrect shape&quot;);o(this._field[a],f)}}else if(t.ticks){var h=t.ticks;if(!Array.isArray(h)||2!==h.length)throw new Error(&quot;gl-surface: invalid ticks&quot;);for(a=0;a&lt;2;++a){var d=h[a];if((Array.isArray(d)||d.length)&amp;&amp;(d=y(d)),d.shape[0]!==i[a])throw new Error(&quot;gl-surface: invalid tick length&quot;);var b=y(d.data,i);b.stride[a]=d.stride[0],b.stride[1^a]=0,o(this._field[a],b)}}else{for(a=0;a&lt;2;++a){var _=[0,0];_[a]=1,this._field[a]=y(this._field[a].data,[i[0]+2,i[1]+2],_,0)}this._field[0].set(0,0,0);for(var w=0;w&lt;i[0];++w)this._field[0].set(w+1,0,w);for(this._field[0].set(i[0]+1,0,i[0]-1),this._field[1].set(0,0,0),w=0;w&lt;i[1];++w)this._field[1].set(0,w+1,w);this._field[1].set(0,i[1]+1,i[1]-1)}var k=this._field,A=y(p.mallocFloat(3*k[2].size*2),[3,i[0]+2,i[1]+2,2]);for(a=0;a&lt;3;++a)M(A.pick(a),k[a],&quot;mirror&quot;);var T=y(p.mallocFloat(3*k[2].size),[i[0]+2,i[1]+2,3]);for(a=0;a&lt;i[0]+2;++a)for(w=0;w&lt;i[1]+2;++w){var S=A.get(0,a,w,0),E=A.get(0,a,w,1),L=A.get(1,a,w,0),C=A.get(1,a,w,1),D=A.get(2,a,w,0),P=A.get(2,a,w,1),O=L*P-C*D,F=D*E-P*S,R=S*C-E*L,N=Math.sqrt(O*O+F*F+R*R);N&lt;1e-8?(N=Math.max(Math.abs(O),Math.abs(F),Math.abs(R)))&lt;1e-8?(R=1,F=O=0,N=1):N=1/N:N=1/Math.sqrt(N),T.set(a,w,0,O*N),T.set(a,w,1,F*N),T.set(a,w,2,R*N)}p.free(A.data);var j=[1/0,1/0,1/0],B=[-1/0,-1/0,-1/0],U=1/0,V=-1/0,q=(i[0]-1)*(i[1]-1)*6,H=p.mallocFloat(u.nextPow2(10*q)),G=0,Y=0;for(a=0;a&lt;i[0]-1;++a)t:for(w=0;w&lt;i[1]-1;++w){for(var W=0;W&lt;2;++W)for(var X=0;X&lt;2;++X)for(var Z=0;Z&lt;3;++Z){var J=this._field[Z].get(1+a+W,1+w+X);if(isNaN(J)||!isFinite(J))continue t}for(Z=0;Z&lt;6;++Z){var K=a+z[Z][0],Q=w+z[Z][1],$=this._field[0].get(K+1,Q+1),tt=this._field[1].get(K+1,Q+1),et=J=this._field[2].get(K+1,Q+1);O=T.get(K+1,Q+1,0),F=T.get(K+1,Q+1,1),R=T.get(K+1,Q+1,2),t.intensity&amp;&amp;(et=t.intensity.get(K,Q)),H[G++]=K,H[G++]=Q,H[G++]=$,H[G++]=tt,H[G++]=J,H[G++]=0,H[G++]=et,H[G++]=O,H[G++]=F,H[G++]=R,j[0]=Math.min(j[0],$),j[1]=Math.min(j[1],tt),j[2]=Math.min(j[2],J),U=Math.min(U,et),B[0]=Math.max(B[0],$),B[1]=Math.max(B[1],tt),B[2]=Math.max(B[2],J),V=Math.max(V,et),Y+=1}}for(t.intensityBounds&amp;&amp;(U=+t.intensityBounds[0],V=+t.intensityBounds[1]),a=6;a&lt;G;a+=10)H[a]=(H[a]-U)/(V-U);this._vertexCount=Y,this._coordinateBuffer.update(H.subarray(0,G)),p.freeFloat(H),p.free(T.data),this.bounds=[j,B],this.intensity=t.intensity||this._field[2],this.intensityBounds[0]===U&amp;&amp;this.intensityBounds[1]===V||(r=!0),this.intensityBounds=[U,V]}if(&quot;levels&quot;in t){var rt=t.levels;for(rt=Array.isArray(rt[0])?rt.slice():[[],[],rt],a=0;a&lt;3;++a)rt[a]=rt[a].slice(),rt.sort(function(t,e){return t-e});t:for(a=0;a&lt;3;++a){if(rt[a].length!==this.contourLevels[a].length){r=!0;break}for(w=0;w&lt;rt[a].length;++w)if(rt[a][w]!==this.contourLevels[a][w]){r=!0;break t}}this.contourLevels=rt}if(r){k=this._field,i=this.shape;for(var nt=[],it=0;it&lt;3;++it){rt=this.contourLevels[it];var at=[],ot=[],st=[0,0,0];for(a=0;a&lt;rt.length;++a){var lt=x(this._field[it],rt[a]);at.push(nt.length/5|0),Y=0;t:for(w=0;w&lt;lt.cells.length;++w){var ct=lt.cells[w];for(Z=0;Z&lt;2;++Z){var ut=lt.positions[ct[Z]],ft=ut[0],ht=0|Math.floor(ft),dt=ft-ht,pt=ut[1],mt=0|Math.floor(pt),gt=pt-mt,vt=!1;e:for(var yt=0;yt&lt;3;++yt){st[yt]=0;var xt=(it+yt+1)%3;for(W=0;W&lt;2;++W){var bt=W?dt:1-dt;for(K=0|Math.min(Math.max(ht+W,0),i[0]),X=0;X&lt;2;++X){var _t=X?gt:1-gt;if(Q=0|Math.min(Math.max(mt+X,0),i[1]),J=yt&lt;2?this._field[xt].get(K,Q):(this.intensity.get(K,Q)-this.intensityBounds[0])/(this.intensityBounds[1]-this.intensityBounds[0]),!isFinite(J)||isNaN(J)){vt=!0;break e}var wt=bt*_t;st[yt]+=wt*J}}}if(vt){if(Z&gt;0){for(var Mt=0;Mt&lt;5;++Mt)nt.pop();Y-=1}continue t}nt.push(st[0],st[1],ut[0],ut[1],st[2]),Y+=1}}ot.push(Y)}this._contourOffsets[it]=at,this._contourCounts[it]=ot}var kt=p.mallocFloat(nt.length);for(a=0;a&lt;nt.length;++a)kt[a]=nt[a];this._contourBuffer.update(kt),p.freeFloat(kt)}t.colormap&amp;&amp;this._colorMap.setPixels(function(t){var e=v([m({colormap:t,nshades:I,format:&quot;rgba&quot;}).map(function(t){return[t[0],t[1],t[2],255*t[3]]})]);return g.divseq(e,255),e}(t.colormap))},P.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&lt;3;++t)p.freeFloat(this._field[t].data)},P.highlight=function(t){if(!t)return this._dynamicCounts=[0,0,0],this.dyanamicLevel=[NaN,NaN,NaN],void(this.highlightLevel=[-1,-1,-1]);for(var e=0;e&lt;3;++e)this.enableHighlight[e]?this.highlightLevel[e]=t.level[e]:this.highlightLevel[e]=-1;var r;if(r=this.snapToData?t.dataCoordinate:t.position,this.enableDynamic[0]&amp;&amp;r[0]!==this.dynamicLevel[0]||this.enableDynamic[1]&amp;&amp;r[1]!==this.dynamicLevel[1]||this.enableDynamic[2]&amp;&amp;r[2]!==this.dynamicLevel[2]){for(var n=0,i=this.shape,a=p.mallocFloat(12*i[0]*i[1]),o=0;o&lt;3;++o)if(this.enableDynamic[o]){this.dynamicLevel[o]=r[o];var s=(o+1)%3,l=(o+2)%3,c=this._field[o],u=this._field[s],f=this._field[l],h=(this.intensity,x(c,r[o])),d=h.cells,m=h.positions;for(this._dynamicOffsets[o]=n,e=0;e&lt;d.length;++e)for(var g=d[e],v=0;v&lt;2;++v){var y=m[g[v]],b=+y[0],_=0|b,w=0|Math.min(_+1,i[0]),M=b-_,k=1-M,A=+y[1],T=0|A,S=0|Math.min(T+1,i[1]),E=A-T,L=1-E,C=k*L,z=k*E,D=M*L,I=M*E,P=C*u.get(_,T)+z*u.get(_,S)+D*u.get(w,T)+I*u.get(w,S),O=C*f.get(_,T)+z*f.get(_,S)+D*f.get(w,T)+I*f.get(w,S);if(isNaN(P)||isNaN(O)){v&amp;&amp;(n-=1);break}a[2*n+0]=P,a[2*n+1]=O,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)),p.freeFloat(a)}}},{&quot;./lib/shaders&quot;:253,&quot;binary-search-bounds&quot;:70,&quot;bit-twiddle&quot;:71,colormap:105,&quot;gl-buffer&quot;:165,&quot;gl-mat4/invert&quot;:186,&quot;gl-mat4/multiply&quot;:188,&quot;gl-texture2d&quot;:255,&quot;gl-vao&quot;:259,ndarray:458,&quot;ndarray-gradient&quot;:449,&quot;ndarray-ops&quot;:452,&quot;ndarray-pack&quot;:453,&quot;surface-nets&quot;:540,&quot;typedarray-pool&quot;:554}],255:[function(t,e,r){&quot;use strict&quot;;function n(t){return&quot;undefined&quot;!=typeof HTMLCanvasElement&amp;&amp;t instanceof HTMLCanvasElement||&quot;undefined&quot;!=typeof HTMLImageElement&amp;&amp;t instanceof HTMLImageElement||&quot;undefined&quot;!=typeof HTMLVideoElement&amp;&amp;t instanceof HTMLVideoElement||&quot;undefined&quot;!=typeof ImageData&amp;&amp;t instanceof ImageData}function i(t,e,r){var n=t.gl,i=n.getParameter(n.MAX_TEXTURE_SIZE);if(e&lt;0||e&gt;i||r&lt;0||r&gt;i)throw new Error(&quot;gl-texture2d: Invalid texture size&quot;);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 a(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}function o(t,e){return 3===t.length?1===e[2]&amp;&amp;e[1]===t[0]*t[2]&amp;&amp;e[0]===t[2]:1===e[0]&amp;&amp;e[1]===t[0]}function s(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 l(t,e,r,n,i){var o=t.getParameter(t.MAX_TEXTURE_SIZE);if(e&lt;0||e&gt;o||r&lt;0||r&gt;o)throw new Error(&quot;gl-texture2d: Invalid texture shape&quot;);if(i===t.FLOAT&amp;&amp;!t.getExtension(&quot;OES_texture_float&quot;))throw new Error(&quot;gl-texture2d: Floating point textures not supported on this platform&quot;);var l=s(t);return t.texImage2D(t.TEXTURE_2D,0,n,e,r,0,n,i,null),new a(t,l,e,r,n,i)}var c=t(&quot;ndarray&quot;),u=t(&quot;ndarray-ops&quot;),f=t(&quot;typedarray-pool&quot;);e.exports=function(t){if(arguments.length&lt;=1)throw new Error(&quot;gl-texture2d: Missing arguments for texture2d constructor&quot;);if(h||function(t){h=[t.LINEAR,t.NEAREST_MIPMAP_LINEAR,t.LINEAR_MIPMAP_NEAREST,t.LINEAR_MIPMAP_NEAREST],d=[t.NEAREST,t.LINEAR,t.NEAREST_MIPMAP_NEAREST,t.NEAREST_MIPMAP_LINEAR,t.LINEAR_MIPMAP_NEAREST,t.LINEAR_MIPMAP_LINEAR],p=[t.REPEAT,t.CLAMP_TO_EDGE,t.MIRRORED_REPEAT]}(t),&quot;number&quot;==typeof arguments[1])return l(t,arguments[1],arguments[2],arguments[3]||t.RGBA,arguments[4]||t.UNSIGNED_BYTE);if(Array.isArray(arguments[1]))return l(t,0|arguments[1][0],0|arguments[1][1],arguments[2]||t.RGBA,arguments[3]||t.UNSIGNED_BYTE);if(&quot;object&quot;==typeof arguments[1]){var e=arguments[1],r=n(e)?e:e.raw;if(r)return function(t,e,r,n,i,o){var l=s(t);return t.texImage2D(t.TEXTURE_2D,0,i,i,o,e),new a(t,l,r,n,i,o)}(t,r,0|e.width,0|e.height,arguments[2]||t.RGBA,arguments[3]||t.UNSIGNED_BYTE);if(e.shape&amp;&amp;e.data&amp;&amp;e.stride)return function(t,e){var r=e.dtype,n=e.shape.slice(),i=t.getParameter(t.MAX_TEXTURE_SIZE);if(n[0]&lt;0||n[0]&gt;i||n[1]&lt;0||n[1]&gt;i)throw new Error(&quot;gl-texture2d: Invalid texture size&quot;);var l=o(n,e.stride.slice()),h=0;&quot;float32&quot;===r?h=t.FLOAT:&quot;float64&quot;===r?(h=t.FLOAT,l=!1,r=&quot;float32&quot;):&quot;uint8&quot;===r?h=t.UNSIGNED_BYTE:(h=t.UNSIGNED_BYTE,l=!1,r=&quot;uint8&quot;);var d=0;if(2===n.length)d=t.LUMINANCE,n=[n[0],n[1],1],e=c(e.data,n,[e.stride[0],e.stride[1],1],e.offset);else{if(3!==n.length)throw new Error(&quot;gl-texture2d: Invalid shape for texture&quot;);if(1===n[2])d=t.ALPHA;else if(2===n[2])d=t.LUMINANCE_ALPHA;else if(3===n[2])d=t.RGB;else{if(4!==n[2])throw new Error(&quot;gl-texture2d: Invalid shape for pixel coords&quot;);d=t.RGBA}}h!==t.FLOAT||t.getExtension(&quot;OES_texture_float&quot;)||(h=t.UNSIGNED_BYTE,l=!1);var p,g,v=e.size;if(l)p=0===e.offset&amp;&amp;e.data.length===v?e.data:e.data.subarray(e.offset,e.offset+v);else{var y=[n[2],n[2]*n[0],1];g=f.malloc(v,r);var x=c(g,n,y,0);&quot;float32&quot;!==r&amp;&amp;&quot;float64&quot;!==r||h!==t.UNSIGNED_BYTE?u.assign(x,e):m(x,e),p=g.subarray(0,v)}var b=s(t);return t.texImage2D(t.TEXTURE_2D,0,d,n[0],n[1],0,d,h,p),l||f.free(g),new a(t,b,n[0],n[1],d,h)}(t,e)}throw new Error(&quot;gl-texture2d: Invalid arguments for texture2d constructor&quot;)};var h=null,d=null,p=null,m=function(t,e){u.muls(t,e,255)},g=a.prototype;Object.defineProperties(g,{minFilter:{get:function(){return this._minFilter},set:function(t){this.bind();var e=this.gl;if(this.type===e.FLOAT&amp;&amp;h.indexOf(t)&gt;=0&amp;&amp;(e.getExtension(&quot;OES_texture_float_linear&quot;)||(t=e.NEAREST)),d.indexOf(t)&lt;0)throw new Error(&quot;gl-texture2d: Unknown filter mode &quot;+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&amp;&amp;h.indexOf(t)&gt;=0&amp;&amp;(e.getExtension(&quot;OES_texture_float_linear&quot;)||(t=e.NEAREST)),d.indexOf(t)&lt;0)throw new Error(&quot;gl-texture2d: Unknown filter mode &quot;+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(&quot;EXT_texture_filter_anisotropic&quot;);r&amp;&amp;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(),p.indexOf(t)&lt;0)throw new Error(&quot;gl-texture2d: Unknown wrap mode &quot;+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(),p.indexOf(t)&lt;0)throw new Error(&quot;gl-texture2d: Unknown wrap mode &quot;+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(&quot;gl-texture2d: Must specify wrap mode for rows and columns&quot;);for(var e=0;e&lt;2;++e)if(p.indexOf(t[e])&lt;0)throw new Error(&quot;gl-texture2d: Unknown wrap mode &quot;+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(&quot;gl-texture2d: Invalid texture shape&quot;)}else t=[0|t,0|t];return i(this,0|t[0],0|t[1]),[0|t[0],0|t[1]]}},width:{get:function(){return this._shape[0]},set:function(t){return t|=0,i(this,t,this._shape[1]),t}},height:{get:function(){return this._shape[1]},set:function(t){return t|=0,i(this,this._shape[0],t),t}}}),g.bind=function(t){var e=this.gl;return void 0!==t&amp;&amp;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},g.dispose=function(){this.gl.deleteTexture(this.handle)},g.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&gt;0;++e,t&gt;&gt;&gt;=1)this._mipLevels.indexOf(e)&lt;0&amp;&amp;this._mipLevels.push(e)},g.setPixels=function(t,e,r,i){var a=this.gl;this.bind(),Array.isArray(e)?(i=r,r=0|e[1],e=0|e[0]):(e=e||0,r=r||0),i=i||0;var s=n(t)?t:t.raw;if(s){this._mipLevels.indexOf(i)&lt;0?(a.texImage2D(a.TEXTURE_2D,0,this.format,this.format,this.type,s),this._mipLevels.push(i)):a.texSubImage2D(a.TEXTURE_2D,i,e,r,this.format,this.type,s)}else{if(!(t.shape&amp;&amp;t.stride&amp;&amp;t.data))throw new Error(&quot;gl-texture2d: Unsupported data type&quot;);if(t.shape.length&lt;2||e+t.shape[1]&gt;this._shape[1]&gt;&gt;&gt;i||r+t.shape[0]&gt;this._shape[0]&gt;&gt;&gt;i||e&lt;0||r&lt;0)throw new Error(&quot;gl-texture2d: Texture dimensions are out of bounds&quot;);!function(t,e,r,n,i,a,s,l){var h=l.dtype,d=l.shape.slice();if(d.length&lt;2||d.length&gt;3)throw new Error(&quot;gl-texture2d: Invalid ndarray, must be 2d or 3d&quot;);var p=0,g=0,v=o(d,l.stride.slice());if(&quot;float32&quot;===h?p=t.FLOAT:&quot;float64&quot;===h?(p=t.FLOAT,v=!1,h=&quot;float32&quot;):&quot;uint8&quot;===h?p=t.UNSIGNED_BYTE:(p=t.UNSIGNED_BYTE,v=!1,h=&quot;uint8&quot;),2===d.length)g=t.LUMINANCE,d=[d[0],d[1],1],l=c(l.data,d,[l.stride[0],l.stride[1],1],l.offset);else{if(3!==d.length)throw new Error(&quot;gl-texture2d: Invalid shape for texture&quot;);if(1===d[2])g=t.ALPHA;else if(2===d[2])g=t.LUMINANCE_ALPHA;else if(3===d[2])g=t.RGB;else{if(4!==d[2])throw new Error(&quot;gl-texture2d: Invalid shape for pixel coords&quot;);g=t.RGBA}d[2]}if(g!==t.LUMINANCE&amp;&amp;g!==t.ALPHA||i!==t.LUMINANCE&amp;&amp;i!==t.ALPHA||(g=i),g!==i)throw new Error(&quot;gl-texture2d: Incompatible texture format for setPixels&quot;);var y=l.size,x=s.indexOf(n)&lt;0;if(x&amp;&amp;s.push(n),p===a&amp;&amp;v)0===l.offset&amp;&amp;l.data.length===y?x?t.texImage2D(t.TEXTURE_2D,n,i,d[0],d[1],0,i,a,l.data):t.texSubImage2D(t.TEXTURE_2D,n,e,r,d[0],d[1],i,a,l.data):x?t.texImage2D(t.TEXTURE_2D,n,i,d[0],d[1],0,i,a,l.data.subarray(l.offset,l.offset+y)):t.texSubImage2D(t.TEXTURE_2D,n,e,r,d[0],d[1],i,a,l.data.subarray(l.offset,l.offset+y));else{var b;b=a===t.FLOAT?f.mallocFloat32(y):f.mallocUint8(y);var _=c(b,d,[d[2],d[2]*d[0],1]);p===t.FLOAT&amp;&amp;a===t.UNSIGNED_BYTE?m(_,l):u.assign(_,l),x?t.texImage2D(t.TEXTURE_2D,n,i,d[0],d[1],0,i,a,b.subarray(0,y)):t.texSubImage2D(t.TEXTURE_2D,n,e,r,d[0],d[1],i,a,b.subarray(0,y)),a===t.FLOAT?f.freeFloat32(b):f.freeUint8(b)}}(a,e,r,i,this.format,this.type,this._mipLevels,t)}}},{ndarray:458,&quot;ndarray-ops&quot;:452,&quot;typedarray-pool&quot;:554}],256:[function(t,e,r){&quot;use strict&quot;;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&gt;n)throw new Error(&quot;gl-vao: Too many vertex attributes&quot;);for(var i=0;i&lt;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(&quot;number&quot;==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(&quot;gl-vao: Invalid vertex attribute&quot;);t.vertexAttrib4f(i,a[0],a[1],a[2],a[3])}t.disableVertexAttribArray(i)}}for(;i&lt;n;++i)t.disableVertexAttribArray(i)}else for(t.bindBuffer(t.ARRAY_BUFFER,null),i=0;i&lt;n;++i)t.disableVertexAttribArray(i)}},{}],257:[function(t,e,r){&quot;use strict&quot;;function n(t){this.gl=t,this._elements=null,this._attributes=null,this._elementsType=t.UNSIGNED_SHORT}var i=t(&quot;./do-bind.js&quot;);n.prototype.bind=function(){i(this.gl,this._elements,this._attributes)},n.prototype.update=function(t,e,r){this._elements=e,this._attributes=t,this._elementsType=r||this.gl.UNSIGNED_SHORT},n.prototype.dispose=function(){},n.prototype.unbind=function(){},n.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 n(t)}},{&quot;./do-bind.js&quot;:256}],258:[function(t,e,r){&quot;use strict&quot;;function n(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 i(t,e,r){this.gl=t,this._ext=e,this.handle=r,this._attribs=[],this._useElements=!1,this._elementsType=t.UNSIGNED_SHORT}var a=t(&quot;./do-bind.js&quot;);n.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)}},i.prototype.bind=function(){this._ext.bindVertexArrayOES(this.handle);for(var t=0;t&lt;this._attribs.length;++t)this._attribs[t].bind(this.gl)},i.prototype.unbind=function(){this._ext.bindVertexArrayOES(null)},i.prototype.dispose=function(){this._ext.deleteVertexArrayOES(this.handle)},i.prototype.update=function(t,e,r){if(this.bind(),a(this.gl,e,t),this.unbind(),this._attribs.length=0,t)for(var i=0;i&lt;t.length;++i){var o=t[i];&quot;number&quot;==typeof o?this._attribs.push(new n(i,1,o)):Array.isArray(o)&amp;&amp;this._attribs.push(new n(i,o.length,o[0],o[1],o[2],o[3]))}this._useElements=!!e,this._elementsType=r||this.gl.UNSIGNED_SHORT},i.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 i(t,e,e.createVertexArrayOES())}},{&quot;./do-bind.js&quot;:256}],259:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;./lib/vao-native.js&quot;),i=t(&quot;./lib/vao-emulated.js&quot;);e.exports=function(t,e,r,a){var o,s=t.createVertexArray?new function(t){this.bindVertexArrayOES=t.bindVertexArray.bind(t),this.createVertexArrayOES=t.createVertexArray.bind(t),this.deleteVertexArrayOES=t.deleteVertexArray.bind(t)}(t):t.getExtension(&quot;OES_vertex_array_object&quot;);return(o=s?n(t,s):i(t)).update(e,r,a),o}},{&quot;./lib/vao-emulated.js&quot;:257,&quot;./lib/vao-native.js&quot;:258}],260:[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}},{}],261:[function(t,e,r){e.exports=function(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]}},{}],262:[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)}},{}],263:[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}},{}],264:[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;return a&gt;0&amp;&amp;(a=1/Math.sqrt(a),t[0]=e[0]*a,t[1]=e[1]*a,t[2]=e[2]*a),t}},{}],265:[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}},{}],266:[function(t,e,r){e.exports=function(t,e,r,a){return n[0]=a,n[1]=r,n[2]=e,n[3]=t,i[0]};var n=new Uint8Array(4),i=new Float32Array(n.buffer)},{}],267:[function(t,e,r){var n=t(&quot;glsl-tokenizer&quot;),i=t(&quot;atob-lite&quot;);e.exports=function(t){for(var e=Array.isArray(t)?t:n(t),r=0;r&lt;e.length;r++){var a=e[r];if(&quot;preprocessor&quot;===a.type){var o=a.data.match(/\#define\s+SHADER_NAME(_B64)?\s+(.+)$/);if(o&amp;&amp;o[2]){var s=o[1],l=o[2];return(s?i(l):l).trim()}}}}},{&quot;atob-lite&quot;:52,&quot;glsl-tokenizer&quot;:274}],268:[function(t,e,r){e.exports=function(t){function e(t){t.length&amp;&amp;D.push({type:w[C],data:t,position:O,line:I,column:P})}function r(t){E=0,S=(N+=t).length;for(var r;A=N[E],E&lt;S;){switch(r=E,C){case u:E=&quot;/&quot;===A&amp;&amp;&quot;*&quot;===T?(z.push(A),e(z.join(&quot;&quot;)),C=l,E+1):(z.push(A),T=A,E+1);break;case f:case h:E=M();break;case d:E=function(){if(&quot;.&quot;===T&amp;&amp;/\d/.test(A))return C=m,E;if(&quot;/&quot;===T&amp;&amp;&quot;*&quot;===A)return C=u,E;if(&quot;/&quot;===T&amp;&amp;&quot;/&quot;===A)return C=f,E;if(&quot;.&quot;===A&amp;&amp;z.length){for(;k(z););return C=m,E}if(&quot;;&quot;===A||&quot;)&quot;===A||&quot;(&quot;===A){if(z.length)for(;k(z););return e(A),C=l,E+1}var t=2===z.length&amp;&amp;&quot;=&quot;!==A;if(/[\w_\d\s]/.test(A)||t){for(;k(z););return C=l,E}return z.push(A),T=A,E+1}();break;case p:E=&quot;.&quot;===A?(z.push(A),C=m,T=A,E+1):/[eE]/.test(A)?(z.push(A),C=m,T=A,E+1):&quot;x&quot;===A&amp;&amp;1===z.length&amp;&amp;&quot;0&quot;===z[0]?(C=_,z.push(A),T=A,E+1):/[^\d]/.test(A)?(e(z.join(&quot;&quot;)),C=l,E):(z.push(A),T=A,E+1);break;case _:E=/[^a-fA-F0-9]/.test(A)?(e(z.join(&quot;&quot;)),C=l,E):(z.push(A),T=A,E+1);break;case m:&quot;f&quot;===A&amp;&amp;(z.push(A),T=A,E+=1),E=/[eE]/.test(A)?(z.push(A),T=A,E+1):&quot;-&quot;===A&amp;&amp;/[eE]/.test(T)?(z.push(A),T=A,E+1):/[^\d]/.test(A)?(e(z.join(&quot;&quot;)),C=l,E):(z.push(A),T=A,E+1);break;case c:E=function(){if(/[^\d\w_]/.test(A)){var t=z.join(&quot;&quot;);return C=B.indexOf(t)&gt;-1?y:j.indexOf(t)&gt;-1?v:g,e(z.join(&quot;&quot;)),C=l,E}return z.push(A),T=A,E+1}();break;case x:E=/[^\s]/g.test(A)?(e(z.join(&quot;&quot;)),C=l,E):(z.push(A),T=A,E+1);break;case l:z=z.length?[]:z,E=&quot;/&quot;===T&amp;&amp;&quot;*&quot;===A?(O=L+E-1,C=u,T=A,E+1):&quot;/&quot;===T&amp;&amp;&quot;/&quot;===A?(O=L+E-1,C=f,T=A,E+1):&quot;#&quot;===A?(C=h,O=L+E,E):/\s/.test(A)?(C=x,O=L+E,E):(F=/\d/.test(A),R=/[^\w_]/.test(A),O=L+E,C=F?p:R?d:c,E)}if(r!==E)switch(N[r]){case&quot;\n&quot;:P=0,++I;break;default:++P}}return L+=E,N=N.slice(E),D}function M(){return&quot;\r&quot;!==A&amp;&amp;&quot;\n&quot;!==A||&quot;\\&quot;===T?(z.push(A),T=A,E+1):(e(z.join(&quot;&quot;)),C=l,E)}function k(t){for(var r,n,a=0;;){if(r=i.indexOf(t.slice(0,t.length+a).join(&quot;&quot;)),n=i[r],-1===r){if(a--+t.length&gt;0)continue;n=t.slice(0,1).join(&quot;&quot;)}return e(n),O+=n.length,(z=z.slice(n.length)).length}}var A,T,S,E=0,L=0,C=l,z=[],D=[],I=1,P=0,O=0,F=!1,R=!1,N=&quot;&quot;,j=a,B=n;return&quot;300 es&quot;===(t=t||{}).version&amp;&amp;(j=s,B=o),function(t){return D=[],null!==t?r(t.replace?t.replace(/\r\n/g,&quot;\n&quot;):t):(z.length&amp;&amp;e(z.join(&quot;&quot;)),C=b,e(&quot;(eof)&quot;),D)}};var n=t(&quot;./lib/literals&quot;),i=t(&quot;./lib/operators&quot;),a=t(&quot;./lib/builtins&quot;),o=t(&quot;./lib/literals-300es&quot;),s=t(&quot;./lib/builtins-300es&quot;),l=999,c=9999,u=0,f=1,h=2,d=3,p=4,m=5,g=6,v=7,y=8,x=9,b=10,_=11,w=[&quot;block-comment&quot;,&quot;line-comment&quot;,&quot;preprocessor&quot;,&quot;operator&quot;,&quot;integer&quot;,&quot;float&quot;,&quot;ident&quot;,&quot;builtin&quot;,&quot;keyword&quot;,&quot;whitespace&quot;,&quot;eof&quot;,&quot;integer&quot;]},{&quot;./lib/builtins&quot;:270,&quot;./lib/builtins-300es&quot;:269,&quot;./lib/literals&quot;:272,&quot;./lib/literals-300es&quot;:271,&quot;./lib/operators&quot;:273}],269:[function(t,e,r){var n=t(&quot;./builtins&quot;);n=n.slice().filter(function(t){return!/^(gl\_|texture)/.test(t)}),e.exports=n.concat([&quot;gl_VertexID&quot;,&quot;gl_InstanceID&quot;,&quot;gl_Position&quot;,&quot;gl_PointSize&quot;,&quot;gl_FragCoord&quot;,&quot;gl_FrontFacing&quot;,&quot;gl_FragDepth&quot;,&quot;gl_PointCoord&quot;,&quot;gl_MaxVertexAttribs&quot;,&quot;gl_MaxVertexUniformVectors&quot;,&quot;gl_MaxVertexOutputVectors&quot;,&quot;gl_MaxFragmentInputVectors&quot;,&quot;gl_MaxVertexTextureImageUnits&quot;,&quot;gl_MaxCombinedTextureImageUnits&quot;,&quot;gl_MaxTextureImageUnits&quot;,&quot;gl_MaxFragmentUniformVectors&quot;,&quot;gl_MaxDrawBuffers&quot;,&quot;gl_MinProgramTexelOffset&quot;,&quot;gl_MaxProgramTexelOffset&quot;,&quot;gl_DepthRangeParameters&quot;,&quot;gl_DepthRange&quot;,&quot;trunc&quot;,&quot;round&quot;,&quot;roundEven&quot;,&quot;isnan&quot;,&quot;isinf&quot;,&quot;floatBitsToInt&quot;,&quot;floatBitsToUint&quot;,&quot;intBitsToFloat&quot;,&quot;uintBitsToFloat&quot;,&quot;packSnorm2x16&quot;,&quot;unpackSnorm2x16&quot;,&quot;packUnorm2x16&quot;,&quot;unpackUnorm2x16&quot;,&quot;packHalf2x16&quot;,&quot;unpackHalf2x16&quot;,&quot;outerProduct&quot;,&quot;transpose&quot;,&quot;determinant&quot;,&quot;inverse&quot;,&quot;texture&quot;,&quot;textureSize&quot;,&quot;textureProj&quot;,&quot;textureLod&quot;,&quot;textureOffset&quot;,&quot;texelFetch&quot;,&quot;texelFetchOffset&quot;,&quot;textureProjOffset&quot;,&quot;textureLodOffset&quot;,&quot;textureProjLod&quot;,&quot;textureProjLodOffset&quot;,&quot;textureGrad&quot;,&quot;textureGradOffset&quot;,&quot;textureProjGrad&quot;,&quot;textureProjGradOffset&quot;])},{&quot;./builtins&quot;:270}],270:[function(t,e,r){e.exports=[&quot;abs&quot;,&quot;acos&quot;,&quot;all&quot;,&quot;any&quot;,&quot;asin&quot;,&quot;atan&quot;,&quot;ceil&quot;,&quot;clamp&quot;,&quot;cos&quot;,&quot;cross&quot;,&quot;dFdx&quot;,&quot;dFdy&quot;,&quot;degrees&quot;,&quot;distance&quot;,&quot;dot&quot;,&quot;equal&quot;,&quot;exp&quot;,&quot;exp2&quot;,&quot;faceforward&quot;,&quot;floor&quot;,&quot;fract&quot;,&quot;gl_BackColor&quot;,&quot;gl_BackLightModelProduct&quot;,&quot;gl_BackLightProduct&quot;,&quot;gl_BackMaterial&quot;,&quot;gl_BackSecondaryColor&quot;,&quot;gl_ClipPlane&quot;,&quot;gl_ClipVertex&quot;,&quot;gl_Color&quot;,&quot;gl_DepthRange&quot;,&quot;gl_DepthRangeParameters&quot;,&quot;gl_EyePlaneQ&quot;,&quot;gl_EyePlaneR&quot;,&quot;gl_EyePlaneS&quot;,&quot;gl_EyePlaneT&quot;,&quot;gl_Fog&quot;,&quot;gl_FogCoord&quot;,&quot;gl_FogFragCoord&quot;,&quot;gl_FogParameters&quot;,&quot;gl_FragColor&quot;,&quot;gl_FragCoord&quot;,&quot;gl_FragData&quot;,&quot;gl_FragDepth&quot;,&quot;gl_FragDepthEXT&quot;,&quot;gl_FrontColor&quot;,&quot;gl_FrontFacing&quot;,&quot;gl_FrontLightModelProduct&quot;,&quot;gl_FrontLightProduct&quot;,&quot;gl_FrontMaterial&quot;,&quot;gl_FrontSecondaryColor&quot;,&quot;gl_LightModel&quot;,&quot;gl_LightModelParameters&quot;,&quot;gl_LightModelProducts&quot;,&quot;gl_LightProducts&quot;,&quot;gl_LightSource&quot;,&quot;gl_LightSourceParameters&quot;,&quot;gl_MaterialParameters&quot;,&quot;gl_MaxClipPlanes&quot;,&quot;gl_MaxCombinedTextureImageUnits&quot;,&quot;gl_MaxDrawBuffers&quot;,&quot;gl_MaxFragmentUniformComponents&quot;,&quot;gl_MaxLights&quot;,&quot;gl_MaxTextureCoords&quot;,&quot;gl_MaxTextureImageUnits&quot;,&quot;gl_MaxTextureUnits&quot;,&quot;gl_MaxVaryingFloats&quot;,&quot;gl_MaxVertexAttribs&quot;,&quot;gl_MaxVertexTextureImageUnits&quot;,&quot;gl_MaxVertexUniformComponents&quot;,&quot;gl_ModelViewMatrix&quot;,&quot;gl_ModelViewMatrixInverse&quot;,&quot;gl_ModelViewMatrixInverseTranspose&quot;,&quot;gl_ModelViewMatrixTranspose&quot;,&quot;gl_ModelViewProjectionMatrix&quot;,&quot;gl_ModelViewProjectionMatrixInverse&quot;,&quot;gl_ModelViewProjectionMatrixInverseTranspose&quot;,&quot;gl_ModelViewProjectionMatrixTranspose&quot;,&quot;gl_MultiTexCoord0&quot;,&quot;gl_MultiTexCoord1&quot;,&quot;gl_MultiTexCoord2&quot;,&quot;gl_MultiTexCoord3&quot;,&quot;gl_MultiTexCoord4&quot;,&quot;gl_MultiTexCoord5&quot;,&quot;gl_MultiTexCoord6&quot;,&quot;gl_MultiTexCoord7&quot;,&quot;gl_Normal&quot;,&quot;gl_NormalMatrix&quot;,&quot;gl_NormalScale&quot;,&quot;gl_ObjectPlaneQ&quot;,&quot;gl_ObjectPlaneR&quot;,&quot;gl_ObjectPlaneS&quot;,&quot;gl_ObjectPlaneT&quot;,&quot;gl_Point&quot;,&quot;gl_PointCoord&quot;,&quot;gl_PointParameters&quot;,&quot;gl_PointSize&quot;,&quot;gl_Position&quot;,&quot;gl_ProjectionMatrix&quot;,&quot;gl_ProjectionMatrixInverse&quot;,&quot;gl_ProjectionMatrixInverseTranspose&quot;,&quot;gl_ProjectionMatrixTranspose&quot;,&quot;gl_SecondaryColor&quot;,&quot;gl_TexCoord&quot;,&quot;gl_TextureEnvColor&quot;,&quot;gl_TextureMatrix&quot;,&quot;gl_TextureMatrixInverse&quot;,&quot;gl_TextureMatrixInverseTranspose&quot;,&quot;gl_TextureMatrixTranspose&quot;,&quot;gl_Vertex&quot;,&quot;greaterThan&quot;,&quot;greaterThanEqual&quot;,&quot;inversesqrt&quot;,&quot;length&quot;,&quot;lessThan&quot;,&quot;lessThanEqual&quot;,&quot;log&quot;,&quot;log2&quot;,&quot;matrixCompMult&quot;,&quot;max&quot;,&quot;min&quot;,&quot;mix&quot;,&quot;mod&quot;,&quot;normalize&quot;,&quot;not&quot;,&quot;notEqual&quot;,&quot;pow&quot;,&quot;radians&quot;,&quot;reflect&quot;,&quot;refract&quot;,&quot;sign&quot;,&quot;sin&quot;,&quot;smoothstep&quot;,&quot;sqrt&quot;,&quot;step&quot;,&quot;tan&quot;,&quot;texture2D&quot;,&quot;texture2DLod&quot;,&quot;texture2DProj&quot;,&quot;texture2DProjLod&quot;,&quot;textureCube&quot;,&quot;textureCubeLod&quot;,&quot;texture2DLodEXT&quot;,&quot;texture2DProjLodEXT&quot;,&quot;textureCubeLodEXT&quot;,&quot;texture2DGradEXT&quot;,&quot;texture2DProjGradEXT&quot;,&quot;textureCubeGradEXT&quot;]},{}],271:[function(t,e,r){var n=t(&quot;./literals&quot;);e.exports=n.slice().concat([&quot;layout&quot;,&quot;centroid&quot;,&quot;smooth&quot;,&quot;case&quot;,&quot;mat2x2&quot;,&quot;mat2x3&quot;,&quot;mat2x4&quot;,&quot;mat3x2&quot;,&quot;mat3x3&quot;,&quot;mat3x4&quot;,&quot;mat4x2&quot;,&quot;mat4x3&quot;,&quot;mat4x4&quot;,&quot;uint&quot;,&quot;uvec2&quot;,&quot;uvec3&quot;,&quot;uvec4&quot;,&quot;samplerCubeShadow&quot;,&quot;sampler2DArray&quot;,&quot;sampler2DArrayShadow&quot;,&quot;isampler2D&quot;,&quot;isampler3D&quot;,&quot;isamplerCube&quot;,&quot;isampler2DArray&quot;,&quot;usampler2D&quot;,&quot;usampler3D&quot;,&quot;usamplerCube&quot;,&quot;usampler2DArray&quot;,&quot;coherent&quot;,&quot;restrict&quot;,&quot;readonly&quot;,&quot;writeonly&quot;,&quot;resource&quot;,&quot;atomic_uint&quot;,&quot;noperspective&quot;,&quot;patch&quot;,&quot;sample&quot;,&quot;subroutine&quot;,&quot;common&quot;,&quot;partition&quot;,&quot;active&quot;,&quot;filter&quot;,&quot;image1D&quot;,&quot;image2D&quot;,&quot;image3D&quot;,&quot;imageCube&quot;,&quot;iimage1D&quot;,&quot;iimage2D&quot;,&quot;iimage3D&quot;,&quot;iimageCube&quot;,&quot;uimage1D&quot;,&quot;uimage2D&quot;,&quot;uimage3D&quot;,&quot;uimageCube&quot;,&quot;image1DArray&quot;,&quot;image2DArray&quot;,&quot;iimage1DArray&quot;,&quot;iimage2DArray&quot;,&quot;uimage1DArray&quot;,&quot;uimage2DArray&quot;,&quot;image1DShadow&quot;,&quot;image2DShadow&quot;,&quot;image1DArrayShadow&quot;,&quot;image2DArrayShadow&quot;,&quot;imageBuffer&quot;,&quot;iimageBuffer&quot;,&quot;uimageBuffer&quot;,&quot;sampler1DArray&quot;,&quot;sampler1DArrayShadow&quot;,&quot;isampler1D&quot;,&quot;isampler1DArray&quot;,&quot;usampler1D&quot;,&quot;usampler1DArray&quot;,&quot;isampler2DRect&quot;,&quot;usampler2DRect&quot;,&quot;samplerBuffer&quot;,&quot;isamplerBuffer&quot;,&quot;usamplerBuffer&quot;,&quot;sampler2DMS&quot;,&quot;isampler2DMS&quot;,&quot;usampler2DMS&quot;,&quot;sampler2DMSArray&quot;,&quot;isampler2DMSArray&quot;,&quot;usampler2DMSArray&quot;])},{&quot;./literals&quot;:272}],272:[function(t,e,r){e.exports=[&quot;precision&quot;,&quot;highp&quot;,&quot;mediump&quot;,&quot;lowp&quot;,&quot;attribute&quot;,&quot;const&quot;,&quot;uniform&quot;,&quot;varying&quot;,&quot;break&quot;,&quot;continue&quot;,&quot;do&quot;,&quot;for&quot;,&quot;while&quot;,&quot;if&quot;,&quot;else&quot;,&quot;in&quot;,&quot;out&quot;,&quot;inout&quot;,&quot;float&quot;,&quot;int&quot;,&quot;void&quot;,&quot;bool&quot;,&quot;true&quot;,&quot;false&quot;,&quot;discard&quot;,&quot;return&quot;,&quot;mat2&quot;,&quot;mat3&quot;,&quot;mat4&quot;,&quot;vec2&quot;,&quot;vec3&quot;,&quot;vec4&quot;,&quot;ivec2&quot;,&quot;ivec3&quot;,&quot;ivec4&quot;,&quot;bvec2&quot;,&quot;bvec3&quot;,&quot;bvec4&quot;,&quot;sampler1D&quot;,&quot;sampler2D&quot;,&quot;sampler3D&quot;,&quot;samplerCube&quot;,&quot;sampler1DShadow&quot;,&quot;sampler2DShadow&quot;,&quot;struct&quot;,&quot;asm&quot;,&quot;class&quot;,&quot;union&quot;,&quot;enum&quot;,&quot;typedef&quot;,&quot;template&quot;,&quot;this&quot;,&quot;packed&quot;,&quot;goto&quot;,&quot;switch&quot;,&quot;default&quot;,&quot;inline&quot;,&quot;noinline&quot;,&quot;volatile&quot;,&quot;public&quot;,&quot;static&quot;,&quot;extern&quot;,&quot;external&quot;,&quot;interface&quot;,&quot;long&quot;,&quot;short&quot;,&quot;double&quot;,&quot;half&quot;,&quot;fixed&quot;,&quot;unsigned&quot;,&quot;input&quot;,&quot;output&quot;,&quot;hvec2&quot;,&quot;hvec3&quot;,&quot;hvec4&quot;,&quot;dvec2&quot;,&quot;dvec3&quot;,&quot;dvec4&quot;,&quot;fvec2&quot;,&quot;fvec3&quot;,&quot;fvec4&quot;,&quot;sampler2DRect&quot;,&quot;sampler3DRect&quot;,&quot;sampler2DRectShadow&quot;,&quot;sizeof&quot;,&quot;cast&quot;,&quot;namespace&quot;,&quot;using&quot;]},{}],273:[function(t,e,r){e.exports=[&quot;&lt;&lt;=&quot;,&quot;&gt;&gt;=&quot;,&quot;++&quot;,&quot;--&quot;,&quot;&lt;&lt;&quot;,&quot;&gt;&gt;&quot;,&quot;&lt;=&quot;,&quot;&gt;=&quot;,&quot;==&quot;,&quot;!=&quot;,&quot;&amp;&amp;&quot;,&quot;||&quot;,&quot;+=&quot;,&quot;-=&quot;,&quot;*=&quot;,&quot;/=&quot;,&quot;%=&quot;,&quot;&amp;=&quot;,&quot;^^&quot;,&quot;^=&quot;,&quot;|=&quot;,&quot;(&quot;,&quot;)&quot;,&quot;[&quot;,&quot;]&quot;,&quot;.&quot;,&quot;!&quot;,&quot;~&quot;,&quot;*&quot;,&quot;/&quot;,&quot;%&quot;,&quot;+&quot;,&quot;-&quot;,&quot;&lt;&quot;,&quot;&gt;&quot;,&quot;&amp;&quot;,&quot;^&quot;,&quot;|&quot;,&quot;?&quot;,&quot;:&quot;,&quot;=&quot;,&quot;,&quot;,&quot;;&quot;,&quot;{&quot;,&quot;}&quot;]},{}],274:[function(t,e,r){var n=t(&quot;./index&quot;);e.exports=function(t,e){var r=n(e),i=[];return i=i.concat(r(t)),i=i.concat(r(null))}},{&quot;./index&quot;:268}],275:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r){var n=this.cells=[];if(t instanceof ArrayBuffer){this.arrayBuffer=t;var a=new Int32Array(this.arrayBuffer);t=a[0],e=a[1],r=a[2],this.d=e+2*r;for(var o=0;o&lt;this.d*this.d;o++){var s=a[i+o],l=a[i+o+1];n.push(s===l?null:a.subarray(s,l))}var c=a[i+n.length],u=a[i+n.length+1];this.keys=a.subarray(c,u),this.bboxes=a.subarray(u),this.insert=this._insertReadonly}else{this.d=e+2*r;for(var f=0;f&lt;this.d*this.d;f++)n.push([]);this.keys=[],this.bboxes=[]}this.n=e,this.extent=t,this.padding=r,this.scale=e/t,this.uid=0;var h=r/e*t;this.min=-h,this.max=t+h}e.exports=n;var i=3;n.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)},n.prototype._insertReadonly=function(){throw&quot;Cannot insert into a GridIndex created from an ArrayBuffer.&quot;},n.prototype._insertCell=function(t,e,r,n,i,a){this.cells[i].push(a)},n.prototype.query=function(t,e,r,n){var i=this.min,a=this.max;if(t&lt;=i&amp;&amp;e&lt;=i&amp;&amp;a&lt;=r&amp;&amp;a&lt;=n)return Array.prototype.slice.call(this.keys);var o=[],s={};return this._forEachCell(t,e,r,n,this._queryCell,o,s),o},n.prototype._queryCell=function(t,e,r,n,i,a,o){var s=this.cells[i];if(null!==s)for(var l=this.keys,c=this.bboxes,u=0;u&lt;s.length;u++){var f=s[u];if(void 0===o[f]){var h=4*f;t&lt;=c[h+2]&amp;&amp;e&lt;=c[h+3]&amp;&amp;r&gt;=c[h+0]&amp;&amp;n&gt;=c[h+1]?(o[f]=!0,a.push(l[f])):o[f]=!1}}},n.prototype._forEachCell=function(t,e,r,n,i,a,o){for(var s=this._convertToCellCoord(t),l=this._convertToCellCoord(e),c=this._convertToCellCoord(r),u=this._convertToCellCoord(n),f=s;f&lt;=c;f++)for(var h=l;h&lt;=u;h++){var d=this.d*h+f;if(i.call(this,t,e,r,n,d,a,o))return}},n.prototype._convertToCellCoord=function(t){return Math.max(0,Math.min(this.d-1,Math.floor(t*this.scale)+this.padding))},n.prototype.toArrayBuffer=function(){if(this.arrayBuffer)return this.arrayBuffer;for(var t=this.cells,e=i+this.cells.length+1+1,r=0,n=0;n&lt;this.cells.length;n++)r+=this.cells[n].length;var a=new Int32Array(e+r+this.keys.length+this.bboxes.length);a[0]=this.extent,a[1]=this.n,a[2]=this.padding;for(var o=e,s=0;s&lt;t.length;s++){var l=t[s];a[i+s]=o,a.set(l,o),o+=l.length}return a[i+t.length]=o,a.set(this.keys,o),o+=this.keys.length,a[i+t.length+1]=o,a.set(this.bboxes,o),o+=this.bboxes.length,a.buffer}},{}],276:[function(t,e,r){(function(r){&quot;use strict&quot;;var n,i=t(&quot;is-browser&quot;);n=&quot;function&quot;==typeof r.matchMedia?!r.matchMedia(&quot;(hover: none)&quot;).matches:i,e.exports=n}).call(this,&quot;undefined&quot;!=typeof global?global:&quot;undefined&quot;!=typeof self?self:&quot;undefined&quot;!=typeof window?window:{})},{&quot;is-browser&quot;:282}],277:[function(t,e,r){r.read=function(t,e,r,n,i){var a,o,s=8*i-n-1,l=(1&lt;&lt;s)-1,c=l&gt;&gt;1,u=-7,f=r?i-1:0,h=r?-1:1,d=t[e+f];for(f+=h,a=d&amp;(1&lt;&lt;-u)-1,d&gt;&gt;=-u,u+=s;u&gt;0;a=256*a+t[e+f],f+=h,u-=8);for(o=a&amp;(1&lt;&lt;-u)-1,a&gt;&gt;=-u,u+=n;u&gt;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*(d?-1:1);o+=Math.pow(2,n),a-=c}return(d?-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&lt;&lt;c)-1,f=u&gt;&gt;1,h=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,d=n?0:a-1,p=n?1:-1,m=e&lt;0||0===e&amp;&amp;1/e&lt;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))&lt;1&amp;&amp;(o--,l*=2),(e+=o+f&gt;=1?h/l:h*Math.pow(2,1-f))*l&gt;=2&amp;&amp;(o++,l/=2),o+f&gt;=u?(s=0,o=u):o+f&gt;=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&gt;=8;t[r+d]=255&amp;s,d+=p,s/=256,i-=8);for(o=o&lt;&lt;i|s,c+=i;c&gt;0;t[r+d]=255&amp;o,d+=p,o/=256,c-=8);t[r+d-p]|=128*m}},{}],278:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r){this.vertices=t,this.adjacent=e,this.boundary=r,this.lastVisited=-1}function i(t,e,r){this.vertices=t,this.cell=e,this.index=r}function a(t,e){return l(t.vertices,e.vertices)}function o(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 n=0;n&lt;=t;++n)this.tuple[n]=this.vertices[n];var i=c[t];i||(i=c[t]=function(t){for(var e=[&quot;function orient(){var tuple=this.tuple;return test(&quot;],r=0;r&lt;=t;++r)r&gt;0&amp;&amp;e.push(&quot;,&quot;),e.push(&quot;tuple[&quot;,r,&quot;]&quot;);e.push(&quot;)}return orient&quot;);var n=new Function(&quot;test&quot;,e.join(&quot;&quot;)),i=s[t+1];return i||(i=s),n(i)}(t)),this.orient=i}e.exports=function(t,e){var r=t.length;if(0===r)throw new Error(&quot;Must have at least d+1 points&quot;);var i=t[0].length;if(r&lt;=i)throw new Error(&quot;Must input at least d+1 points&quot;);var a=t.slice(0,i+1),l=s.apply(void 0,a);if(0===l)throw new Error(&quot;Input not in general position&quot;);for(var c=new Array(i+1),u=0;u&lt;=i;++u)c[u]=u;l&lt;0&amp;&amp;(c[0]=1,c[1]=0);var f=new n(c,new Array(i+1),!1),h=f.adjacent,d=new Array(i+2);for(u=0;u&lt;=i;++u){for(var p=c.slice(),m=0;m&lt;=i;++m)m===u&amp;&amp;(p[m]=-1);var g=p[0];p[0]=p[1],p[1]=g;var v=new n(p,new Array(i+1),!0);h[u]=v,d[u]=v}for(d[i+1]=f,u=0;u&lt;=i;++u){p=h[u].vertices;var y=h[u].adjacent;for(m=0;m&lt;=i;++m){var x=p[m];if(x&lt;0)y[m]=f;else for(var b=0;b&lt;=i;++b)h[b].vertices.indexOf(x)&lt;0&amp;&amp;(y[m]=h[b])}}var _=new o(i,a,d),w=!!e;for(u=i+1;u&lt;r;++u)_.insert(t[u],w);return _.boundary()};var s=t(&quot;robust-orientation&quot;),l=t(&quot;simplicial-complex&quot;).compareCells;n.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 c=[],u=o.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&gt;0;){(t=o.pop()).vertices;for(var s=t.adjacent,l=0;l&lt;=r;++l){var c=s[l];if(c.boundary&amp;&amp;!(c.lastVisited&lt;=-n)){for(var u=c.vertices,f=0;f&lt;=r;++f){var h=u[f];i[f]=h&lt;0?e:a[h]}var d=this.orient();if(d&gt;0)return c;c.lastVisited=-n,0===d&amp;&amp;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&lt;=n;++u)a[u]=i[l[u]];s.lastVisited=r;for(u=0;u&lt;=n;++u){var f=c[u];if(!(f.lastVisited&gt;=r)){var h=a[u];a[u]=t;var d=this.orient();if(a[u]=h,d&lt;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,o=this.dimension,s=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&gt;0;){var d=(e=f.pop()).vertices,p=e.adjacent,m=d.indexOf(r);if(!(m&lt;0))for(var g=0;g&lt;=o;++g)if(g!==m){var v=p[g];if(v.boundary&amp;&amp;!(v.lastVisited&gt;=r)){var y=v.vertices;if(v.lastVisited!==-r){for(var x=0,b=0;b&lt;=o;++b)y[b]&lt;0?(x=b,l[b]=t):l[b]=s[y[b]];if(this.orient()&gt;0){y[x]=r,v.boundary=!1,c.push(v),f.push(v),v.lastVisited=r;continue}v.lastVisited=-r}var _=v.adjacent,w=d.slice(),M=p.slice(),k=new n(w,M,!0);u.push(k);var A=_.indexOf(e);if(!(A&lt;0)){_[A]=k,M[m]=v,w[g]=-1,M[g]=e,p[g]=k,k.flip();for(b=0;b&lt;=o;++b){var T=w[b];if(!(T&lt;0||T===r)){for(var S=new Array(o-1),E=0,L=0;L&lt;=o;++L){var C=w[L];C&lt;0||L===b||(S[E++]=C)}h.push(new i(S,k,b))}}}}}}h.sort(a);for(g=0;g+1&lt;h.length;g+=2){var z=h[g],D=h[g+1],I=z.index,P=D.index;I&lt;0||P&lt;0||(z.cell.adjacent[z.index]=D.cell,D.cell.adjacent[D.index]=z.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&lt;=i;++o){var s=n.vertices[o];a[o]=s&lt;0?t:r[s]}var l=this.orient(a);l&lt;0||(0!==l||(n=this.handleBoundaryDegeneracy(n,t)))&amp;&amp;this.addPeaks(t,n)}},u.boundary=function(){for(var t=this.dimension,e=[],r=this.simplices,n=r.length,i=0;i&lt;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&lt;=t;++u)s[u]&gt;=0?o[l++]=s[u]:c=1&amp;u;if(c===(1&amp;t)){var f=o[0];o[0]=o[1],o[1]=f}e.push(o)}}return e}},{&quot;robust-orientation&quot;:515,&quot;simplicial-complex&quot;:526}],279:[function(t,e,r){&quot;use strict&quot;;function n(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}function i(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 a(t,e){var r=p(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 o(t,e){var r=t.intervals([]);r.push(e),a(t,r)}function s(t,e){var r=t.intervals([]),n=r.indexOf(e);return n&lt;0?v:(r.splice(n,1),a(t,r),y)}function l(t,e,r){for(var n=0;n&lt;t.length&amp;&amp;t[n][0]&lt;=e;++n){var i=r(t[n]);if(i)return i}}function c(t,e,r){for(var n=t.length-1;n&gt;=0&amp;&amp;t[n][1]&gt;=e;--n){var i=r(t[n]);if(i)return i}}function u(t,e){for(var r=0;r&lt;t.length;++r){var n=e(t[r]);if(n)return n}}function f(t,e){return t-e}function h(t,e){var r=t[0]-e[0];return r||t[1]-e[1]}function d(t,e){var r=t[1]-e[1];return r||t[0]-e[0]}function p(t){if(0===t.length)return null;for(var e=[],r=0;r&lt;t.length;++r)e.push(t[r][0],t[r][1]);e.sort(f);var i=e[e.length&gt;&gt;1],a=[],o=[],s=[];for(r=0;r&lt;t.length;++r){var l=t[r];l[1]&lt;i?a.push(l):i&lt;l[0]?o.push(l):s.push(l)}var c=s,u=s.slice();return c.sort(h),u.sort(d),new n(i,p(a),p(o),c,u)}function m(t){this.root=t}var g=t(&quot;binary-search-bounds&quot;),v=0,y=1;e.exports=function(t){return new m(t&amp;&amp;0!==t.length?p(t):null)};var x=n.prototype;x.intervals=function(t){return t.push.apply(t,this.leftPoints),this.left&amp;&amp;this.left.intervals(t),this.right&amp;&amp;this.right.intervals(t),t},x.insert=function(t){var e=this.count-this.leftPoints.length;if(this.count+=1,t[1]&lt;this.mid)this.left?4*(this.left.count+1)&gt;3*(e+1)?o(this,t):this.left.insert(t):this.left=p([t]);else if(t[0]&gt;this.mid)this.right?4*(this.right.count+1)&gt;3*(e+1)?o(this,t):this.right.insert(t):this.right=p([t]);else{var r=g.ge(this.leftPoints,t,h),n=g.ge(this.rightPoints,t,d);this.leftPoints.splice(r,0,t),this.rightPoints.splice(n,0,t)}},x.remove=function(t){var e=this.count-this.leftPoints;if(t[1]&lt;this.mid){if(!this.left)return v;if(4*(this.right?this.right.count:0)&gt;3*(e-1))return s(this,t);return 2===(o=this.left.remove(t))?(this.left=null,this.count-=1,y):(o===y&amp;&amp;(this.count-=1),o)}if(t[0]&gt;this.mid){if(!this.right)return v;if(4*(this.left?this.left.count:0)&gt;3*(e-1))return s(this,t);return 2===(o=this.right.remove(t))?(this.right=null,this.count-=1,y):(o===y&amp;&amp;(this.count-=1),o)}if(1===this.count)return this.leftPoints[0]===t?2:v;if(1===this.leftPoints.length&amp;&amp;this.leftPoints[0]===t){if(this.left&amp;&amp;this.right){for(var r=this,n=this.left;n.right;)r=n,n=n.right;if(r===this)n.right=this.right;else{var a=this.left,o=this.right;r.count-=n.count,r.right=n.left,n.left=a,n.right=o}i(this,n),this.count=(this.left?this.left.count:0)+(this.right?this.right.count:0)+this.leftPoints.length}else this.left?i(this,this.left):i(this,this.right);return y}for(a=g.ge(this.leftPoints,t,h);a&lt;this.leftPoints.length&amp;&amp;this.leftPoints[a][0]===t[0];++a)if(this.leftPoints[a]===t){this.count-=1,this.leftPoints.splice(a,1);for(o=g.ge(this.rightPoints,t,d);o&lt;this.rightPoints.length&amp;&amp;this.rightPoints[o][1]===t[1];++o)if(this.rightPoints[o]===t)return this.rightPoints.splice(o,1),y}return v},x.queryPoint=function(t,e){if(t&lt;this.mid){if(this.left){if(r=this.left.queryPoint(t,e))return r}return l(this.leftPoints,t,e)}if(t&gt;this.mid){if(this.right){var r;if(r=this.right.queryPoint(t,e))return r}return c(this.rightPoints,t,e)}return u(this.leftPoints,e)},x.queryInterval=function(t,e,r){if(t&lt;this.mid&amp;&amp;this.left){if(n=this.left.queryInterval(t,e,r))return n}if(e&gt;this.mid&amp;&amp;this.right){var n;if(n=this.right.queryInterval(t,e,r))return n}return e&lt;this.mid?l(this.leftPoints,e,r):t&gt;this.mid?c(this.rightPoints,t,r):u(this.leftPoints,r)};var b=m.prototype;b.insert=function(t){this.root?this.root.insert(t):this.root=new n(t[0],null,null,[t],[t])},b.remove=function(t){if(this.root){var e=this.root.remove(t);return 2===e&amp;&amp;(this.root=null),e!==v}return!1},b.queryPoint=function(t,e){if(this.root)return this.root.queryPoint(t,e)},b.queryInterval=function(t,e,r){if(t&lt;=e&amp;&amp;this.root)return this.root.queryInterval(t,e,r)},Object.defineProperty(b,&quot;count&quot;,{get:function(){return this.root?this.root.count:0}}),Object.defineProperty(b,&quot;intervals&quot;,{get:function(){return this.root?this.root.intervals([]):[]}})},{&quot;binary-search-bounds&quot;:70}],280:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t,e){e=e||new Array(t.length);for(var r=0;r&lt;t.length;++r)e[t[r]]=r;return e}},{}],281:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t){for(var e=new Array(t),r=0;r&lt;t;++r)e[r]=r;return e}},{}],282:[function(t,e,r){e.exports=!0},{}],283:[function(t,e,r){function n(t){return!!t.constructor&amp;&amp;&quot;function&quot;==typeof t.constructor.isBuffer&amp;&amp;t.constructor.isBuffer(t)}e.exports=function(t){return null!=t&amp;&amp;(n(t)||function(t){return&quot;function&quot;==typeof t.readFloatLE&amp;&amp;&quot;function&quot;==typeof t.slice&amp;&amp;n(t.slice(0,0))}(t)||!!t._isBuffer)}},{}],284:[function(t,e,r){&quot;use strict&quot;;e.exports=&quot;undefined&quot;!=typeof navigator&amp;&amp;(/MSIE/.test(navigator.userAgent)||/Trident\//.test(navigator.appVersion))},{}],285:[function(t,e,r){e.exports=function(t){return t||&quot;undefined&quot;==typeof navigator||(t=navigator.userAgent),t&amp;&amp;t.headers&amp;&amp;&quot;string&quot;==typeof t.headers[&quot;user-agent&quot;]&amp;&amp;(t=t.headers[&quot;user-agent&quot;]),&quot;string&quot;==typeof t&amp;&amp;(/(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(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i.test(t)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(t.substr(0,4)))}},{}],286:[function(t,e,r){&quot;use strict&quot;;var n=Object.prototype.toString;e.exports=function(t){var e;return&quot;[object Object]&quot;===n.call(t)&amp;&amp;(null===(e=Object.getPrototypeOf(t))||e===Object.getPrototypeOf({}))}},{}],287:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t){return&quot;string&quot;==typeof t&amp;&amp;(t=t.trim(),!!(/^[mzlhvcsqta]\s*[-+.0-9][^mlhvzcsqta]+/i.test(t)&amp;&amp;/[\dz]$/i.test(t)&amp;&amp;t.length&gt;4))}},{}],288:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,n,a){e=e||function(t){return t[0]},r=r||function(t){return t[1]},a=a||Array,this.nodeSize=n||64,this.points=t,this.ids=new a(t.length),this.coords=new a(2*t.length);for(var o=0;o&lt;t.length;o++)this.ids[o]=o,this.coords[2*o]=e(t[o]),this.coords[2*o+1]=r(t[o]);i(this.ids,this.coords,this.nodeSize,0,this.ids.length-1,0)}var i=t(&quot;./sort&quot;),a=t(&quot;./range&quot;),o=t(&quot;./within&quot;);e.exports=function(t,e,r,i,a){return new n(t,e,r,i,a)},n.prototype={range:function(t,e,r,n){return a(this.ids,this.coords,t,e,r,n,this.nodeSize)},within:function(t,e,r){return o(this.ids,this.coords,t,e,r,this.nodeSize)}}},{&quot;./range&quot;:289,&quot;./sort&quot;:290,&quot;./within&quot;:291}],289:[function(t,e,r){&quot;use strict&quot;;e.exports=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(),d=c.pop();if(h-d&lt;=o)for(var p=d;p&lt;=h;p++)s=e[2*p],l=e[2*p+1],s&gt;=r&amp;&amp;s&lt;=i&amp;&amp;l&gt;=n&amp;&amp;l&lt;=a&amp;&amp;u.push(t[p]);else{var m=Math.floor((d+h)/2);s=e[2*m],l=e[2*m+1],s&gt;=r&amp;&amp;s&lt;=i&amp;&amp;l&gt;=n&amp;&amp;l&lt;=a&amp;&amp;u.push(t[m]);var g=(f+1)%2;(0===f?r&lt;=s:n&lt;=l)&amp;&amp;(c.push(d),c.push(m-1),c.push(g)),(0===f?i&gt;=s:a&gt;=l)&amp;&amp;(c.push(m+1),c.push(h),c.push(g))}}return u}},{}],290:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,a,o,s){if(!(o-a&lt;=r)){var l=Math.floor((a+o)/2);i(t,e,l,a,o,s%2),n(t,e,r,a,l-1,s+1),n(t,e,r,l+1,o,s+1)}}function i(t,e,r,n,o,s){for(;o&gt;n;){if(o-n&gt;600){var l=o-n+1,c=r-n+1,u=Math.log(l),f=.5*Math.exp(2*u/3),h=.5*Math.sqrt(u*f*(l-f)/l)*(c-l/2&lt;0?-1:1);i(t,e,r,Math.max(n,Math.floor(r-c*f/l+h)),Math.min(o,Math.floor(r+(l-c)*f/l+h)),s)}var d=e[2*r+s],p=n,m=o;for(a(t,e,n,r),e[2*o+s]&gt;d&amp;&amp;a(t,e,n,o);p&lt;m;){for(a(t,e,p,m),p++,m--;e[2*p+s]&lt;d;)p++;for(;e[2*m+s]&gt;d;)m--}e[2*n+s]===d?a(t,e,n,m):a(t,e,++m,o),m&lt;=r&amp;&amp;(n=m+1),r&lt;=m&amp;&amp;(o=m-1)}}function a(t,e,r,n){o(t,r,n),o(e,2*r,2*n),o(e,2*r+1,2*n+1)}function o(t,e,r){var n=t[e];t[e]=t[r],t[r]=n}e.exports=n},{}],291:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,n){var i=t-r,a=e-n;return i*i+a*a}e.exports=function(t,e,r,i,a,o){for(var s=[0,t.length-1,0],l=[],c=a*a;s.length;){var u=s.pop(),f=s.pop(),h=s.pop();if(f-h&lt;=o)for(var d=h;d&lt;=f;d++)n(e[2*d],e[2*d+1],r,i)&lt;=c&amp;&amp;l.push(t[d]);else{var p=Math.floor((h+f)/2),m=e[2*p],g=e[2*p+1];n(m,g,r,i)&lt;=c&amp;&amp;l.push(t[p]);var v=(u+1)%2;(0===u?r-a&lt;=m:i-a&lt;=g)&amp;&amp;(s.push(h),s.push(p-1),s.push(v)),(0===u?r+a&gt;=m:i+a&gt;=g)&amp;&amp;(s.push(p+1),s.push(f),s.push(v))}}return l}},{}],292:[function(t,e,r){&quot;use strict&quot;;function n(t,e){if(!(this instanceof n))return new n(t,e);this.nodeSize=e||64,this.coords=t.slice();var r=Math.floor(t.length/2);this.ids=Array(r);for(var i=0;i&lt;r;i++)this.ids[i]=i;a(this.ids,this.coords,this.nodeSize,0,this.ids.length-1,0)}function i(t,e,r,n){var i=t-r,a=e-n;return i*i+a*a}function a(t,e,r,n,i,s){if(!(i-n&lt;=r)){var l=Math.floor((n+i)/2);o(t,e,l,n,i,s%2),a(t,e,r,n,l-1,s+1),a(t,e,r,l+1,i,s+1)}}function o(t,e,r,n,i,a){for(;i&gt;n;){if(i-n&gt;600){var l=i-n+1,c=r-n+1,u=Math.log(l),f=.5*Math.exp(2*u/3),h=.5*Math.sqrt(u*f*(l-f)/l)*(c-l/2&lt;0?-1:1);o(t,e,r,Math.max(n,Math.floor(r-c*f/l+h)),Math.min(i,Math.floor(r+(l-c)*f/l+h)),a)}var d=e[2*r+a],p=n,m=i;for(s(t,e,n,r),e[2*i+a]&gt;d&amp;&amp;s(t,e,n,i);p&lt;m;){for(s(t,e,p,m),p++,m--;e[2*p+a]&lt;d;)p++;for(;e[2*m+a]&gt;d;)m--}e[2*n+a]===d?s(t,e,n,m):s(t,e,++m,i),m&lt;=r&amp;&amp;(n=m+1),r&lt;=m&amp;&amp;(i=m-1)}}function s(t,e,r,n){l(t,r,n),l(e,2*r,2*n),l(e,2*r+1,2*n+1)}function l(t,e,r){var n=t[e];t[e]=t[r],t[r]=n}e.exports=n,n.prototype.range=function(t,e,r,n){for(var i,a,o=this.ids,s=this.coords,l=this.nodeSize,c=[0,o.length-1,0],u=[];c.length;){var f=c.pop(),h=c.pop(),d=c.pop();if(h-d&lt;=l)for(var p=d;p&lt;=h;p++)i=s[2*p],a=s[2*p+1],i&gt;=t&amp;&amp;i&lt;=r&amp;&amp;a&gt;=e&amp;&amp;a&lt;=n&amp;&amp;u.push(o[p]);else{var m=Math.floor((d+h)/2);i=s[2*m],a=s[2*m+1],i&gt;=t&amp;&amp;i&lt;=r&amp;&amp;a&gt;=e&amp;&amp;a&lt;=n&amp;&amp;u.push(o[m]);var g=(f+1)%2;(0===f?t&lt;=i:e&lt;=a)&amp;&amp;(c.push(d),c.push(m-1),c.push(g)),(0===f?r&gt;=i:n&gt;=a)&amp;&amp;(c.push(m+1),c.push(h),c.push(g))}}return u},n.prototype.within=function(t,e,r){for(var n=this.ids,a=this.coords,o=this.nodeSize,s=[0,n.length-1,0],l=[],c=r*r;s.length;){var u=s.pop(),f=s.pop(),h=s.pop();if(f-h&lt;=o)for(var d=h;d&lt;=f;d++)i(a[2*d],a[2*d+1],t,e)&lt;=c&amp;&amp;l.push(n[d]);else{var p=Math.floor((h+f)/2),m=a[2*p],g=a[2*p+1];i(m,g,t,e)&lt;=c&amp;&amp;l.push(n[p]);var v=(u+1)%2;(0===u?t-r&lt;=m:e-r&lt;=g)&amp;&amp;(s.push(h),s.push(p-1),s.push(v)),(0===u?t+r&gt;=m:e+r&gt;=g)&amp;&amp;(s.push(p+1),s.push(f),s.push(v))}}return l}},{}],293:[function(t,e,r){&quot;use strict&quot;;function n(t,e){var r;if(u(t)){var l,c=t.stops&amp;&amp;&quot;object&quot;==typeof t.stops[0][0],f=c||void 0!==t.property,h=c||!f,d=t.type||e||&quot;exponential&quot;;if(&quot;exponential&quot;===d)l=o;else if(&quot;interval&quot;===d)l=a;else if(&quot;categorical&quot;===d)l=i;else{if(&quot;identity&quot;!==d)throw new Error('Unknown function type &quot;'+d+'&quot;');l=s}if(c){for(var p={},m=[],g=0;g&lt;t.stops.length;g++){var v=t.stops[g];void 0===p[v[0].zoom]&amp;&amp;(p[v[0].zoom]={zoom:v[0].zoom,type:t.type,property:t.property,stops:[]}),p[v[0].zoom].stops.push([v[0].value,v[1]])}for(var y in p)m.push([p[y].zoom,n(p[y])]);(r=function(e,r){return o({stops:m,base:t.base},e)(e,r)}).isFeatureConstant=!1,r.isZoomConstant=!1}else h?((r=function(e){return l(t,e)}).isFeatureConstant=!0,r.isZoomConstant=!1):((r=function(e,r){return l(t,r[t.property])}).isFeatureConstant=!1,r.isZoomConstant=!0)}else(r=function(){return t}).isFeatureConstant=!0,r.isZoomConstant=!0;return r}function i(t,e){for(var r=0;r&lt;t.stops.length;r++)if(e===t.stops[r][0])return t.stops[r][1];return t.stops[0][1]}function a(t,e){for(var r=0;r&lt;t.stops.length&amp;&amp;!(e&lt;t.stops[r][0]);r++);return t.stops[Math.max(r-1,0)][1]}function o(t,e){for(var r=void 0!==t.base?t.base:1,n=0;!(n&gt;=t.stops.length||e&lt;=t.stops[n][0]);)n++;return 0===n?t.stops[n][1]:n===t.stops.length?t.stops[n-1][1]:l(e,r,t.stops[n-1][0],t.stops[n][0],t.stops[n-1][1],t.stops[n][1])}function s(t,e){return e}function l(t,e,r,n,i,a){return&quot;function&quot;==typeof i?function(){var o=i.apply(void 0,arguments),s=a.apply(void 0,arguments);return l(t,e,r,n,o,s)}:i.length?function(t,e,r,n,i,a){for(var o=[],s=0;s&lt;i.length;s++)o[s]=c(t,e,r,n,i[s],a[s]);return o}(t,e,r,n,i,a):c(t,e,r,n,i,a)}function c(t,e,r,n,i,a){var o,s=n-r,l=t-r;return o=1===e?l/s:(Math.pow(e,l)-1)/(Math.pow(e,s)-1),i*(1-o)+a*o}function u(t){return&quot;object&quot;==typeof t&amp;&amp;(t.stops||&quot;identity&quot;===t.type)}e.exports.isFunctionDefinition=u,e.exports.interpolated=function(t){return n(t,&quot;exponential&quot;)},e.exports[&quot;piecewise-constant&quot;]=function(t){return n(t,&quot;interval&quot;)}},{}],294:[function(t,e,r){t(&quot;path&quot;);e.exports={debug:{fragmentSource:&quot;#ifdef GL_ES\nprecision mediump float;\n#else\n#define lowp\n#define mediump\n#define highp\n#endif\n\nuniform lowp vec4 u_color;\n\nvoid main() {\n    gl_FragColor = u_color;\n}\n&quot;,vertexSource:&quot;#ifdef GL_ES\nprecision highp float;\n#else\n#define lowp\n#define mediump\n#define highp\n#endif\n\nattribute vec2 a_pos;\n\nuniform mat4 u_matrix;\n\nvoid main() {\n    gl_Position = u_matrix * vec4(a_pos, step(32767.0, a_pos.x), 1);\n}\n&quot;},fill:{fragmentSource:&quot;#ifdef GL_ES\nprecision mediump float;\n#else\n#define lowp\n#define mediump\n#define highp\n#endif\n\n#pragma mapbox: define lowp vec4 color\n#pragma mapbox: define lowp float opacity\n\nvoid main() {\n    #pragma mapbox: initialize lowp vec4 color\n    #pragma mapbox: initialize lowp float opacity\n\n    gl_FragColor = color * opacity;\n\n#ifdef OVERDRAW_INSPECTOR\n    gl_FragColor = vec4(1.0);\n#endif\n}\n&quot;,vertexSource:&quot;#ifdef GL_ES\nprecision highp float;\n#else\n#define lowp\n#define mediump\n#define highp\n#endif\n\nattribute vec2 a_pos;\n\nuniform mat4 u_matrix;\n\n#pragma mapbox: define lowp vec4 color\n#pragma mapbox: define lowp float opacity\n\nvoid main() {\n    #pragma mapbox: initialize lowp vec4 color\n    #pragma mapbox: initialize lowp float opacity\n\n    gl_Position = u_matrix * vec4(a_pos, 0, 1);\n}\n&quot;},circle:{fragmentSource:&quot;#ifdef GL_ES\nprecision mediump float;\n#else\n#define lowp\n#define mediump\n#define highp\n#endif\n\n#pragma mapbox: define lowp vec4 color\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n\nvarying vec2 v_extrude;\nvarying lowp float v_antialiasblur;\n\nvoid main() {\n    #pragma mapbox: initialize lowp vec4 color\n    #pragma mapbox: initialize lowp float blur\n    #pragma mapbox: initialize lowp float opacity\n\n    float t = smoothstep(1.0 - max(blur, v_antialiasblur), 1.0, length(v_extrude));\n    gl_FragColor = color * (1.0 - t) * opacity;\n\n#ifdef OVERDRAW_INSPECTOR\n    gl_FragColor = vec4(1.0);\n#endif\n}\n&quot;,vertexSource:&quot;#ifdef GL_ES\nprecision highp float;\n#else\n#define lowp\n#define mediump\n#define highp\n#endif\n\nuniform mat4 u_matrix;\nuniform bool u_scale_with_map;\nuniform vec2 u_extrude_scale;\nuniform float u_devicepixelratio;\n\nattribute vec2 a_pos;\n\n#pragma mapbox: define lowp vec4 color\n#pragma mapbox: define mediump float radius\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n\nvarying vec2 v_extrude;\nvarying lowp float v_antialiasblur;\n\nvoid main(void) {\n    #pragma mapbox: initialize lowp vec4 color\n    #pragma mapbox: initialize mediump float radius\n    #pragma mapbox: initialize lowp float blur\n    #pragma mapbox: initialize lowp float opacity\n\n    // unencode the extrusion vector that we snuck into the a_pos vector\n    v_extrude = vec2(mod(a_pos, 2.0) * 2.0 - 1.0);\n\n    vec2 extrude = v_extrude * radius * u_extrude_scale;\n    // multiply a_pos by 0.5, since we had it * 2 in order to sneak\n    // in extrusion data\n    gl_Position = u_matrix * vec4(floor(a_pos * 0.5), 0, 1);\n\n    if (u_scale_with_map) {\n        gl_Position.xy += extrude;\n    } else {\n        gl_Position.xy += extrude * gl_Position.w;\n    }\n\n    // This is a minimum blur distance that serves as a faux-antialiasing for\n    // the circle. since blur is a ratio of the circle's size and the intent is\n    // to keep the blur at roughly 1px, the two are inversely related.\n    v_antialiasblur = 1.0 / u_devicepixelratio / radius;\n}\n&quot;},line:{fragmentSource:&quot;#ifdef GL_ES\nprecision mediump float;\n#else\n#define lowp\n#define mediump\n#define highp\n#endif\n\nuniform lowp vec4 u_color;\nuniform lowp float u_opacity;\nuniform float u_blur;\n\nvarying vec2 v_linewidth;\nvarying vec2 v_normal;\nvarying float v_gamma_scale;\n\nvoid main() {\n    // Calculate the distance of the pixel from the line in pixels.\n    float dist = length(v_normal) * v_linewidth.s;\n\n    // Calculate the antialiasing fade factor. This is either when fading in\n    // the line in case of an offset line (v_linewidth.t) or when fading out\n    // (v_linewidth.s)\n    float blur = u_blur * v_gamma_scale;\n    float alpha = clamp(min(dist - (v_linewidth.t - blur), v_linewidth.s - dist) / blur, 0.0, 1.0);\n\n    gl_FragColor = u_color * (alpha * u_opacity);\n\n#ifdef OVERDRAW_INSPECTOR\n    gl_FragColor = vec4(1.0);\n#endif\n}\n&quot;,vertexSource:&quot;#ifdef GL_ES\nprecision highp float;\n#else\n#define lowp\n#define mediump\n#define highp\n#endif\n\n// floor(127 / 2) == 63.0\n// the maximum allowed miter limit is 2.0 at the moment. the extrude normal is\n// stored in a byte (-128..127). we scale regular normals up to length 63, but\n// there are also \&quot;special\&quot; normals that have a bigger length (of up to 126 in\n// this case).\n// #define scale 63.0\n#define scale 0.015873016\n\nattribute vec2 a_pos;\nattribute vec4 a_data;\n\nuniform mat4 u_matrix;\nuniform mediump float u_ratio;\nuniform mediump float u_linewidth;\nuniform mediump float u_gapwidth;\nuniform mediump float u_antialiasing;\nuniform mediump float u_extra;\nuniform mat2 u_antialiasingmatrix;\nuniform mediump float u_offset;\nuniform mediump float u_blur;\n\nvarying vec2 v_normal;\nvarying vec2 v_linewidth;\nvarying float v_gamma_scale;\n\nvoid main() {\n    vec2 a_extrude = a_data.xy - 128.0;\n    float a_direction = mod(a_data.z, 4.0) - 1.0;\n\n    // We store the texture normals in the most insignificant bit\n    // transform y so that 0 =&gt; -1 and 1 =&gt; 1\n    // In the texture normal, x is 0 if the normal points straight up/down and 1 if it's a round cap\n    // y is 1 if the normal points up, and -1 if it points down\n    mediump vec2 normal = mod(a_pos, 2.0);\n    normal.y = sign(normal.y - 0.5);\n    v_normal = normal;\n\n    float inset = u_gapwidth + (u_gapwidth &gt; 0.0 ? u_antialiasing : 0.0);\n    float outset = u_gapwidth + u_linewidth * (u_gapwidth &gt; 0.0 ? 2.0 : 1.0) + u_antialiasing;\n\n    // Scale the extrusion vector down to a normal and then up by the line width\n    // of this vertex.\n    mediump vec2 dist = outset * a_extrude * scale;\n\n    // Calculate the offset when drawing a line that is to the side of the actual line.\n    // We do this by creating a vector that points towards the extrude, but rotate\n    // it when we're drawing round end points (a_direction = -1 or 1) since their\n    // extrude vector points in another direction.\n    mediump float u = 0.5 * a_direction;\n    mediump float t = 1.0 - abs(u);\n    mediump vec2 offset = u_offset * a_extrude * scale * normal.y * mat2(t, -u, u, t);\n\n    // Remove the texture normal bit of the position before scaling it with the\n    // model/view matrix.\n    gl_Position = u_matrix * vec4(floor(a_pos * 0.5) + (offset + dist) / u_ratio, 0.0, 1.0);\n\n    // position of y on the screen\n    float y = gl_Position.y / gl_Position.w;\n\n    // how much features are squished in the y direction by the tilt\n    float squish_scale = length(a_extrude) / length(u_antialiasingmatrix * a_extrude);\n\n    // how much features are squished in all directions by the perspectiveness\n    float perspective_scale = 1.0 / (1.0 - min(y * u_extra, 0.9));\n\n    v_linewidth = vec2(outset, inset);\n    v_gamma_scale = perspective_scale * squish_scale;\n}\n&quot;},linepattern:{fragmentSource:&quot;#ifdef GL_ES\nprecision mediump float;\n#else\n#define lowp\n#define mediump\n#define highp\n#endif\n\nuniform float u_blur;\n\nuniform vec2 u_pattern_size_a;\nuniform vec2 u_pattern_size_b;\nuniform vec2 u_pattern_tl_a;\nuniform vec2 u_pattern_br_a;\nuniform vec2 u_pattern_tl_b;\nuniform vec2 u_pattern_br_b;\nuniform float u_fade;\nuniform float u_opacity;\n\nuniform sampler2D u_image;\n\nvarying vec2 v_normal;\nvarying vec2 v_linewidth;\nvarying float v_linesofar;\nvarying float v_gamma_scale;\n\nvoid main() {\n    // Calculate the distance of the pixel from the line in pixels.\n    float dist = length(v_normal) * v_linewidth.s;\n\n    // Calculate the antialiasing fade factor. This is either when fading in\n    // the line in case of an offset line (v_linewidth.t) or when fading out\n    // (v_linewidth.s)\n    float blur = u_blur * v_gamma_scale;\n    float alpha = clamp(min(dist - (v_linewidth.t - blur), v_linewidth.s - dist) / blur, 0.0, 1.0);\n\n    float x_a = mod(v_linesofar / u_pattern_size_a.x, 1.0);\n    float x_b = mod(v_linesofar / u_pattern_size_b.x, 1.0);\n    float y_a = 0.5 + (v_normal.y * v_linewidth.s / u_pattern_size_a.y);\n    float y_b = 0.5 + (v_normal.y * v_linewidth.s / u_pattern_size_b.y);\n    vec2 pos_a = mix(u_pattern_tl_a, u_pattern_br_a, vec2(x_a, y_a));\n    vec2 pos_b = mix(u_pattern_tl_b, u_pattern_br_b, vec2(x_b, y_b));\n\n    vec4 color = mix(texture2D(u_image, pos_a), texture2D(u_image, pos_b), u_fade);\n\n    alpha *= u_opacity;\n\n    gl_FragColor = color * alpha;\n\n#ifdef OVERDRAW_INSPECTOR\n    gl_FragColor = vec4(1.0);\n#endif\n}\n&quot;,vertexSource:&quot;#ifdef GL_ES\nprecision highp float;\n#else\n#define lowp\n#define mediump\n#define highp\n#endif\n\n// floor(127 / 2) == 63.0\n// the maximum allowed miter limit is 2.0 at the moment. the extrude normal is\n// stored in a byte (-128..127). we scale regular normals up to length 63, but\n// there are also \&quot;special\&quot; normals that have a bigger length (of up to 126 in\n// this case).\n// #define scale 63.0\n#define scale 0.015873016\n\n// We scale the distance before adding it to the buffers so that we can store\n// long distances for long segments. Use this value to unscale the distance.\n#define LINE_DISTANCE_SCALE 2.0\n\nattribute vec2 a_pos;\nattribute vec4 a_data;\n\nuniform mat4 u_matrix;\nuniform mediump float u_ratio;\nuniform mediump float u_linewidth;\nuniform mediump float u_gapwidth;\nuniform mediump float u_antialiasing;\nuniform mediump float u_extra;\nuniform mat2 u_antialiasingmatrix;\nuniform mediump float u_offset;\n\nvarying vec2 v_normal;\nvarying vec2 v_linewidth;\nvarying float v_linesofar;\nvarying float v_gamma_scale;\n\nvoid main() {\n    vec2 a_extrude = a_data.xy - 128.0;\n    float a_direction = mod(a_data.z, 4.0) - 1.0;\n    float a_linesofar = (floor(a_data.z / 4.0) + a_data.w * 64.0) * LINE_DISTANCE_SCALE;\n\n    // We store the texture normals in the most insignificant bit\n    // transform y so that 0 =&gt; -1 and 1 =&gt; 1\n    // In the texture normal, x is 0 if the normal points straight up/down and 1 if it's a round cap\n    // y is 1 if the normal points up, and -1 if it points down\n    mediump vec2 normal = mod(a_pos, 2.0);\n    normal.y = sign(normal.y - 0.5);\n    v_normal = normal;\n\n    float inset = u_gapwidth + (u_gapwidth &gt; 0.0 ? u_antialiasing : 0.0);\n    float outset = u_gapwidth + u_linewidth * (u_gapwidth &gt; 0.0 ? 2.0 : 1.0) + u_antialiasing;\n\n    // Scale the extrusion vector down to a normal and then up by the line width\n    // of this vertex.\n    mediump vec2 dist = outset * a_extrude * scale;\n\n    // Calculate the offset when drawing a line that is to the side of the actual line.\n    // We do this by creating a vector that points towards the extrude, but rotate\n    // it when we're drawing round end points (a_direction = -1 or 1) since their\n    // extrude vector points in another direction.\n    mediump float u = 0.5 * a_direction;\n    mediump float t = 1.0 - abs(u);\n    mediump vec2 offset = u_offset * a_extrude * scale * normal.y * mat2(t, -u, u, t);\n\n    // Remove the texture normal bit of the position before scaling it with the\n    // model/view matrix.\n    gl_Position = u_matrix * vec4(floor(a_pos * 0.5) + (offset + dist) / u_ratio, 0.0, 1.0);\n    v_linesofar = a_linesofar;\n\n    // position of y on the screen\n    float y = gl_Position.y / gl_Position.w;\n\n    // how much features are squished in the y direction by the tilt\n    float squish_scale = length(a_extrude) / length(u_antialiasingmatrix * a_extrude);\n\n    // how much features are squished in all directions by the perspectiveness\n    float perspective_scale = 1.0 / (1.0 - min(y * u_extra, 0.9));\n\n    v_linewidth = vec2(outset, inset);\n    v_gamma_scale = perspective_scale * squish_scale;\n}\n&quot;},linesdfpattern:{fragmentSource:&quot;#ifdef GL_ES\nprecision mediump float;\n#else\n#define lowp\n#define mediump\n#define highp\n#endif\n\nuniform lowp vec4 u_color;\nuniform lowp float u_opacity;\n\nuniform float u_blur;\nuniform sampler2D u_image;\nuniform float u_sdfgamma;\nuniform float u_mix;\n\nvarying vec2 v_normal;\nvarying vec2 v_linewidth;\nvarying vec2 v_tex_a;\nvarying vec2 v_tex_b;\nvarying float v_gamma_scale;\n\nvoid main() {\n    // Calculate the distance of the pixel from the line in pixels.\n    float dist = length(v_normal) * v_linewidth.s;\n\n    // Calculate the antialiasing fade factor. This is either when fading in\n    // the line in case of an offset line (v_linewidth.t) or when fading out\n    // (v_linewidth.s)\n    float blur = u_blur * v_gamma_scale;\n    float alpha = clamp(min(dist - (v_linewidth.t - blur), v_linewidth.s - dist) / blur, 0.0, 1.0);\n\n    float sdfdist_a = texture2D(u_image, v_tex_a).a;\n    float sdfdist_b = texture2D(u_image, v_tex_b).a;\n    float sdfdist = mix(sdfdist_a, sdfdist_b, u_mix);\n    alpha *= smoothstep(0.5 - u_sdfgamma, 0.5 + u_sdfgamma, sdfdist);\n\n    gl_FragColor = u_color * (alpha * u_opacity);\n\n#ifdef OVERDRAW_INSPECTOR\n    gl_FragColor = vec4(1.0);\n#endif\n}\n&quot;,vertexSource:&quot;#ifdef GL_ES\nprecision highp float;\n#else\n#define lowp\n#define mediump\n#define highp\n#endif\n\n// floor(127 / 2) == 63.0\n// the maximum allowed miter limit is 2.0 at the moment. the extrude normal is\n// stored in a byte (-128..127). we scale regular normals up to length 63, but\n// there are also \&quot;special\&quot; normals that have a bigger length (of up to 126 in\n// this case).\n// #define scale 63.0\n#define scale 0.015873016\n\n// We scale the distance before adding it to the buffers so that we can store\n// long distances for long segments. Use this value to unscale the distance.\n#define LINE_DISTANCE_SCALE 2.0\n\nattribute vec2 a_pos;\nattribute vec4 a_data;\n\nuniform mat4 u_matrix;\nuniform mediump float u_ratio;\nuniform mediump float u_linewidth;\nuniform mediump float u_gapwidth;\nuniform mediump float u_antialiasing;\nuniform vec2 u_patternscale_a;\nuniform float u_tex_y_a;\nuniform vec2 u_patternscale_b;\nuniform float u_tex_y_b;\nuniform float u_extra;\nuniform mat2 u_antialiasingmatrix;\nuniform mediump float u_offset;\n\nvarying vec2 v_normal;\nvarying vec2 v_linewidth;\nvarying vec2 v_tex_a;\nvarying vec2 v_tex_b;\nvarying float v_gamma_scale;\n\nvoid main() {\n    vec2 a_extrude = a_data.xy - 128.0;\n    float a_direction = mod(a_data.z, 4.0) - 1.0;\n    float a_linesofar = (floor(a_data.z / 4.0) + a_data.w * 64.0) * LINE_DISTANCE_SCALE;\n\n    // We store the texture normals in the most insignificant bit\n    // transform y so that 0 =&gt; -1 and 1 =&gt; 1\n    // In the texture normal, x is 0 if the normal points straight up/down and 1 if it's a round cap\n    // y is 1 if the normal points up, and -1 if it points down\n    mediump vec2 normal = mod(a_pos, 2.0);\n    normal.y = sign(normal.y - 0.5);\n    v_normal = normal;\n\n    float inset = u_gapwidth + (u_gapwidth &gt; 0.0 ? u_antialiasing : 0.0);\n    float outset = u_gapwidth + u_linewidth * (u_gapwidth &gt; 0.0 ? 2.0 : 1.0) + u_antialiasing;\n\n    // Scale the extrusion vector down to a normal and then up by the line width\n    // of this vertex.\n    mediump vec2 dist = outset * a_extrude * scale;\n\n    // Calculate the offset when drawing a line that is to the side of the actual line.\n    // We do this by creating a vector that points towards the extrude, but rotate\n    // it when we're drawing round end points (a_direction = -1 or 1) since their\n    // extrude vector points in another direction.\n    mediump float u = 0.5 * a_direction;\n    mediump float t = 1.0 - abs(u);\n    mediump vec2 offset = u_offset * a_extrude * scale * normal.y * mat2(t, -u, u, t);\n\n    // Remove the texture normal bit of the position before scaling it with the\n    // model/view matrix.\n    gl_Position = u_matrix * vec4(floor(a_pos * 0.5) + (offset + dist) / u_ratio, 0.0, 1.0);\n\n    v_tex_a = vec2(a_linesofar * u_patternscale_a.x, normal.y * u_patternscale_a.y + u_tex_y_a);\n    v_tex_b = vec2(a_linesofar * u_patternscale_b.x, normal.y * u_patternscale_b.y + u_tex_y_b);\n\n    // position of y on the screen\n    float y = gl_Position.y / gl_Position.w;\n\n    // how much features are squished in the y direction by the tilt\n    float squish_scale = length(a_extrude) / length(u_antialiasingmatrix * a_extrude);\n\n    // how much features are squished in all directions by the perspectiveness\n    float perspective_scale = 1.0 / (1.0 - min(y * u_extra, 0.9));\n\n    v_linewidth = vec2(outset, inset);\n    v_gamma_scale = perspective_scale * squish_scale;\n}\n&quot;},outline:{fragmentSource:&quot;#ifdef GL_ES\nprecision mediump float;\n#else\n#define lowp\n#define mediump\n#define highp\n#endif\n\n#pragma mapbox: define lowp vec4 outline_color\n#pragma mapbox: define lowp float opacity\n\nvarying vec2 v_pos;\n\nvoid main() {\n    #pragma mapbox: initialize lowp vec4 outline_color\n    #pragma mapbox: initialize lowp float opacity\n\n    float dist = length(v_pos - gl_FragCoord.xy);\n    float alpha = smoothstep(1.0, 0.0, dist);\n    gl_FragColor = outline_color * (alpha * opacity);\n\n#ifdef OVERDRAW_INSPECTOR\n    gl_FragColor = vec4(1.0);\n#endif\n}\n&quot;,vertexSource:&quot;#ifdef GL_ES\nprecision highp float;\n#else\n#define lowp\n#define mediump\n#define highp\n#endif\n\nattribute vec2 a_pos;\n\nuniform mat4 u_matrix;\nuniform vec2 u_world;\n\nvarying vec2 v_pos;\n\n#pragma mapbox: define lowp vec4 outline_color\n#pragma mapbox: define lowp float opacity\n\nvoid main() {\n    #pragma mapbox: initialize lowp vec4 outline_color\n    #pragma mapbox: initialize lowp float opacity\n\n    gl_Position = u_matrix * vec4(a_pos, 0, 1);\n    v_pos = (gl_Position.xy / gl_Position.w + 1.0) / 2.0 * u_world;\n}\n&quot;},outlinepattern:{fragmentSource:&quot;#ifdef GL_ES\nprecision mediump float;\n#else\n#define lowp\n#define mediump\n#define highp\n#endif\n\nuniform float u_opacity;\nuniform vec2 u_pattern_tl_a;\nuniform vec2 u_pattern_br_a;\nuniform vec2 u_pattern_tl_b;\nuniform vec2 u_pattern_br_b;\nuniform float u_mix;\n\nuniform sampler2D u_image;\n\nvarying vec2 v_pos_a;\nvarying vec2 v_pos_b;\nvarying vec2 v_pos;\n\nvoid main() {\n    vec2 imagecoord = mod(v_pos_a, 1.0);\n    vec2 pos = mix(u_pattern_tl_a, u_pattern_br_a, imagecoord);\n    vec4 color1 = texture2D(u_image, pos);\n\n    vec2 imagecoord_b = mod(v_pos_b, 1.0);\n    vec2 pos2 = mix(u_pattern_tl_b, u_pattern_br_b, imagecoord_b);\n    vec4 color2 = texture2D(u_image, pos2);\n\n    // find distance to outline for alpha interpolation\n\n    float dist = length(v_pos - gl_FragCoord.xy);\n    float alpha = smoothstep(1.0, 0.0, dist);\n    \n\n    gl_FragColor = mix(color1, color2, u_mix) * alpha * u_opacity;\n\n#ifdef OVERDRAW_INSPECTOR\n    gl_FragColor = vec4(1.0);\n#endif\n}\n&quot;,vertexSource:&quot;#ifdef GL_ES\nprecision highp float;\n#else\n#define lowp\n#define mediump\n#define highp\n#endif\n\nuniform vec2 u_pattern_size_a;\nuniform vec2 u_pattern_size_b;\nuniform vec2 u_pixel_coord_upper;\nuniform vec2 u_pixel_coord_lower;\nuniform float u_scale_a;\nuniform float u_scale_b;\nuniform float u_tile_units_to_pixels;\n\nattribute vec2 a_pos;\n\nuniform mat4 u_matrix;\nuniform vec2 u_world;\n\nvarying vec2 v_pos_a;\nvarying vec2 v_pos_b;\nvarying vec2 v_pos;\n\nvoid main() {\n    gl_Position = u_matrix * vec4(a_pos, 0, 1);\n    vec2 scaled_size_a = u_scale_a * u_pattern_size_a;\n    vec2 scaled_size_b = u_scale_b * u_pattern_size_b;\n\n    // the correct offset needs to be calculated.\n    //\n    // The offset depends on how many pixels are between the world origin and\n    // the edge of the tile:\n    // vec2 offset = mod(pixel_coord, size)\n    //\n    // At high zoom levels there are a ton of pixels between the world origin\n    // and the edge of the tile. The glsl spec only guarantees 16 bits of\n    // precision for highp floats. We need more than that.\n    //\n    // The pixel_coord is passed in as two 16 bit values:\n    // pixel_coord_upper = floor(pixel_coord / 2^16)\n    // pixel_coord_lower = mod(pixel_coord, 2^16)\n    //\n    // The offset is calculated in a series of steps that should preserve this precision:\n    vec2 offset_a = mod(mod(mod(u_pixel_coord_upper, scaled_size_a) * 256.0, scaled_size_a) * 256.0 + u_pixel_coord_lower, scaled_size_a);\n    vec2 offset_b = mod(mod(mod(u_pixel_coord_upper, scaled_size_b) * 256.0, scaled_size_b) * 256.0 + u_pixel_coord_lower, scaled_size_b);\n\n    v_pos_a = (u_tile_units_to_pixels * a_pos + offset_a) / scaled_size_a;\n    v_pos_b = (u_tile_units_to_pixels * a_pos + offset_b) / scaled_size_b;\n\n    v_pos = (gl_Position.xy / gl_Position.w + 1.0) / 2.0 * u_world;\n}\n&quot;},pattern:{fragmentSource:&quot;#ifdef GL_ES\nprecision mediump float;\n#else\n#define lowp\n#define mediump\n#define highp\n#endif\n\nuniform float u_opacity;\nuniform vec2 u_pattern_tl_a;\nuniform vec2 u_pattern_br_a;\nuniform vec2 u_pattern_tl_b;\nuniform vec2 u_pattern_br_b;\nuniform float u_mix;\n\nuniform sampler2D u_image;\n\nvarying vec2 v_pos_a;\nvarying vec2 v_pos_b;\n\nvoid main() {\n\n    vec2 imagecoord = mod(v_pos_a, 1.0);\n    vec2 pos = mix(u_pattern_tl_a, u_pattern_br_a, imagecoord);\n    vec4 color1 = texture2D(u_image, pos);\n\n    vec2 imagecoord_b = mod(v_pos_b, 1.0);\n    vec2 pos2 = mix(u_pattern_tl_b, u_pattern_br_b, imagecoord_b);\n    vec4 color2 = texture2D(u_image, pos2);\n\n    gl_FragColor = mix(color1, color2, u_mix) * u_opacity;\n\n#ifdef OVERDRAW_INSPECTOR\n    gl_FragColor = vec4(1.0);\n#endif\n}\n&quot;,vertexSource:&quot;#ifdef GL_ES\nprecision highp float;\n#else\n#define lowp\n#define mediump\n#define highp\n#endif\n\nuniform mat4 u_matrix;\nuniform vec2 u_pattern_size_a;\nuniform vec2 u_pattern_size_b;\nuniform vec2 u_pixel_coord_upper;\nuniform vec2 u_pixel_coord_lower;\nuniform float u_scale_a;\nuniform float u_scale_b;\nuniform float u_tile_units_to_pixels;\n\nattribute vec2 a_pos;\n\nvarying vec2 v_pos_a;\nvarying vec2 v_pos_b;\n\nvoid main() {\n    gl_Position = u_matrix * vec4(a_pos, 0, 1);\n    vec2 scaled_size_a = u_scale_a * u_pattern_size_a;\n    vec2 scaled_size_b = u_scale_b * u_pattern_size_b;\n\n    // the correct offset needs to be calculated.\n    //\n    // The offset depends on how many pixels are between the world origin and\n    // the edge of the tile:\n    // vec2 offset = mod(pixel_coord, size)\n    //\n    // At high zoom levels there are a ton of pixels between the world origin\n    // and the edge of the tile. The glsl spec only guarantees 16 bits of\n    // precision for highp floats. We need more than that.\n    //\n    // The pixel_coord is passed in as two 16 bit values:\n    // pixel_coord_upper = floor(pixel_coord / 2^16)\n    // pixel_coord_lower = mod(pixel_coord, 2^16)\n    //\n    // The offset is calculated in a series of steps that should preserve this precision:\n    vec2 offset_a = mod(mod(mod(u_pixel_coord_upper, scaled_size_a) * 256.0, scaled_size_a) * 256.0 + u_pixel_coord_lower, scaled_size_a);\n    vec2 offset_b = mod(mod(mod(u_pixel_coord_upper, scaled_size_b) * 256.0, scaled_size_b) * 256.0 + u_pixel_coord_lower, scaled_size_b);\n\n    v_pos_a = (u_tile_units_to_pixels * a_pos + offset_a) / scaled_size_a;\n    v_pos_b = (u_tile_units_to_pixels * a_pos + offset_b) / scaled_size_b;\n}\n&quot;},raster:{fragmentSource:&quot;#ifdef GL_ES\nprecision mediump float;\n#else\n#define lowp\n#define mediump\n#define highp\n#endif\n\nuniform float u_opacity0;\nuniform float u_opacity1;\nuniform sampler2D u_image0;\nuniform sampler2D u_image1;\nvarying vec2 v_pos0;\nvarying vec2 v_pos1;\n\nuniform float u_brightness_low;\nuniform float u_brightness_high;\n\nuniform float u_saturation_factor;\nuniform float u_contrast_factor;\nuniform vec3 u_spin_weights;\n\nvoid main() {\n\n    // read and cross-fade colors from the main and parent tiles\n    vec4 color0 = texture2D(u_image0, v_pos0);\n    vec4 color1 = texture2D(u_image1, v_pos1);\n    vec4 color = color0 * u_opacity0 + color1 * u_opacity1;\n    vec3 rgb = color.rgb;\n\n    // spin\n    rgb = vec3(\n        dot(rgb, u_spin_weights.xyz),\n        dot(rgb, u_spin_weights.zxy),\n        dot(rgb, u_spin_weights.yzx));\n\n    // saturation\n    float average = (color.r + color.g + color.b) / 3.0;\n    rgb += (average - rgb) * u_saturation_factor;\n\n    // contrast\n    rgb = (rgb - 0.5) * u_contrast_factor + 0.5;\n\n    // brightness\n    vec3 u_high_vec = vec3(u_brightness_low, u_brightness_low, u_brightness_low);\n    vec3 u_low_vec = vec3(u_brightness_high, u_brightness_high, u_brightness_high);\n\n    gl_FragColor = vec4(mix(u_high_vec, u_low_vec, rgb), color.a);\n\n#ifdef OVERDRAW_INSPECTOR\n    gl_FragColor = vec4(1.0);\n#endif\n}\n&quot;,vertexSource:&quot;#ifdef GL_ES\nprecision highp float;\n#else\n#define lowp\n#define mediump\n#define highp\n#endif\n\nuniform mat4 u_matrix;\nuniform vec2 u_tl_parent;\nuniform float u_scale_parent;\nuniform float u_buffer_scale;\n\nattribute vec2 a_pos;\nattribute vec2 a_texture_pos;\n\nvarying vec2 v_pos0;\nvarying vec2 v_pos1;\n\nvoid main() {\n    gl_Position = u_matrix * vec4(a_pos, 0, 1);\n    v_pos0 = (((a_texture_pos / 32767.0) - 0.5) / u_buffer_scale ) + 0.5;\n    v_pos1 = (v_pos0 * u_scale_parent) + u_tl_parent;\n}\n&quot;},icon:{fragmentSource:&quot;#ifdef GL_ES\nprecision mediump float;\n#else\n#define lowp\n#define mediump\n#define highp\n#endif\n\nuniform sampler2D u_texture;\nuniform sampler2D u_fadetexture;\nuniform lowp float u_opacity;\n\nvarying vec2 v_tex;\nvarying vec2 v_fade_tex;\n\nvoid main() {\n    lowp float alpha = texture2D(u_fadetexture, v_fade_tex).a * u_opacity;\n    gl_FragColor = texture2D(u_texture, v_tex) * alpha;\n\n#ifdef OVERDRAW_INSPECTOR\n    gl_FragColor = vec4(1.0);\n#endif\n}\n&quot;,vertexSource:&quot;#ifdef GL_ES\nprecision highp float;\n#else\n#define lowp\n#define mediump\n#define highp\n#endif\n\nattribute vec2 a_pos;\nattribute vec2 a_offset;\nattribute vec2 a_texture_pos;\nattribute vec4 a_data;\n\n\n// matrix is for the vertex position.\nuniform mat4 u_matrix;\n\nuniform mediump float u_zoom;\nuniform bool u_rotate_with_map;\nuniform vec2 u_extrude_scale;\n\nuniform vec2 u_texsize;\n\nvarying vec2 v_tex;\nvarying vec2 v_fade_tex;\n\nvoid main() {\n    vec2 a_tex = a_texture_pos.xy;\n    mediump float a_labelminzoom = a_data[0];\n    mediump vec2 a_zoom = a_data.pq;\n    mediump float a_minzoom = a_zoom[0];\n    mediump float a_maxzoom = a_zoom[1];\n\n    // u_zoom is the current zoom level adjusted for the change in font size\n    mediump float z = 2.0 - step(a_minzoom, u_zoom) - (1.0 - step(a_maxzoom, u_zoom));\n\n    vec2 extrude = u_extrude_scale * (a_offset / 64.0);\n    if (u_rotate_with_map) {\n        gl_Position = u_matrix * vec4(a_pos + extrude, 0, 1);\n        gl_Position.z += z * gl_Position.w;\n    } else {\n        gl_Position = u_matrix * vec4(a_pos, 0, 1) + vec4(extrude, 0, 0);\n    }\n\n    v_tex = a_tex / u_texsize;\n    v_fade_tex = vec2(a_labelminzoom / 255.0, 0.0);\n}\n&quot;},sdf:{fragmentSource:&quot;#ifdef GL_ES\nprecision mediump float;\n#else\n#define lowp\n#define mediump\n#define highp\n#endif\n\nuniform sampler2D u_texture;\nuniform sampler2D u_fadetexture;\nuniform lowp vec4 u_color;\nuniform lowp float u_opacity;\nuniform lowp float u_buffer;\nuniform lowp float u_gamma;\n\nvarying vec2 v_tex;\nvarying vec2 v_fade_tex;\nvarying float v_gamma_scale;\n\nvoid main() {\n    lowp float dist = texture2D(u_texture, v_tex).a;\n    lowp float fade_alpha = texture2D(u_fadetexture, v_fade_tex).a;\n    lowp float gamma = u_gamma * v_gamma_scale;\n    lowp float alpha = smoothstep(u_buffer - gamma, u_buffer + gamma, dist) * fade_alpha;\n\n    gl_FragColor = u_color * (alpha * u_opacity);\n\n#ifdef OVERDRAW_INSPECTOR\n    gl_FragColor = vec4(1.0);\n#endif\n}\n&quot;,vertexSource:&quot;#ifdef GL_ES\nprecision highp float;\n#else\n#define lowp\n#define mediump\n#define highp\n#endif\n\nconst float PI = 3.141592653589793;\n\nattribute vec2 a_pos;\nattribute vec2 a_offset;\nattribute vec2 a_texture_pos;\nattribute vec4 a_data;\n\n\n// matrix is for the vertex position.\nuniform mat4 u_matrix;\n\nuniform mediump float u_zoom;\nuniform bool u_rotate_with_map;\nuniform bool u_pitch_with_map;\nuniform mediump float u_pitch;\nuniform mediump float u_bearing;\nuniform mediump float u_aspect_ratio;\nuniform vec2 u_extrude_scale;\n\nuniform vec2 u_texsize;\n\nvarying vec2 v_tex;\nvarying vec2 v_fade_tex;\nvarying float v_gamma_scale;\n\nvoid main() {\n    vec2 a_tex = a_texture_pos.xy;\n    mediump float a_labelminzoom = a_data[0];\n    mediump vec2 a_zoom = a_data.pq;\n    mediump float a_minzoom = a_zoom[0];\n    mediump float a_maxzoom = a_zoom[1];\n\n    // u_zoom is the current zoom level adjusted for the change in font size\n    mediump float z = 2.0 - step(a_minzoom, u_zoom) - (1.0 - step(a_maxzoom, u_zoom));\n\n    // pitch-alignment: map\n    // rotation-alignment: map | viewport\n    if (u_pitch_with_map) {\n        lowp float angle = u_rotate_with_map ? (a_data[1] / 256.0 * 2.0 * PI) : u_bearing;\n        lowp float asin = sin(angle);\n        lowp float acos = cos(angle);\n        mat2 RotationMatrix = mat2(acos, asin, -1.0 * asin, acos);\n        vec2 offset = RotationMatrix * a_offset;\n        vec2 extrude = u_extrude_scale * (offset / 64.0);\n        gl_Position = u_matrix * vec4(a_pos + extrude, 0, 1);\n        gl_Position.z += z * gl_Position.w;\n    // pitch-alignment: viewport\n    // rotation-alignment: map\n    } else if (u_rotate_with_map) {\n        // foreshortening factor to apply on pitched maps\n        // as a label goes from horizontal &lt;=&gt; vertical in angle\n        // it goes from 0% foreshortening to up to around 70% foreshortening\n        lowp float pitchfactor = 1.0 - cos(u_pitch * sin(u_pitch * 0.75));\n\n        lowp float lineangle = a_data[1] / 256.0 * 2.0 * PI;\n\n        // use the lineangle to position points a,b along the line\n        // project the points and calculate the label angle in projected space\n        // this calculation allows labels to be rendered unskewed on pitched maps\n        vec4 a = u_matrix * vec4(a_pos, 0, 1);\n        vec4 b = u_matrix * vec4(a_pos + vec2(cos(lineangle),sin(lineangle)), 0, 1);\n        lowp float angle = atan((b[1]/b[3] - a[1]/a[3])/u_aspect_ratio, b[0]/b[3] - a[0]/a[3]);\n        lowp float asin = sin(angle);\n        lowp float acos = cos(angle);\n        mat2 RotationMatrix = mat2(acos, -1.0 * asin, asin, acos);\n\n        vec2 offset = RotationMatrix * (vec2((1.0-pitchfactor)+(pitchfactor*cos(angle*2.0)), 1.0) * a_offset);\n        vec2 extrude = u_extrude_scale * (offset / 64.0);\n        gl_Position = u_matrix * vec4(a_pos, 0, 1) + vec4(extrude, 0, 0);\n        gl_Position.z += z * gl_Position.w;\n    // pitch-alignment: viewport\n    // rotation-alignment: viewport\n    } else {\n        vec2 extrude = u_extrude_scale * (a_offset / 64.0);\n        gl_Position = u_matrix * vec4(a_pos, 0, 1) + vec4(extrude, 0, 0);\n    }\n\n    v_gamma_scale = (gl_Position.w - 0.5);\n\n    v_tex = a_tex / u_texsize;\n    v_fade_tex = vec2(a_labelminzoom / 255.0, 0.0);\n}\n&quot;},collisionbox:{fragmentSource:&quot;#ifdef GL_ES\nprecision mediump float;\n#else\n#define lowp\n#define mediump\n#define highp\n#endif\n\nuniform float u_zoom;\nuniform float u_maxzoom;\n\nvarying float v_max_zoom;\nvarying float v_placement_zoom;\n\nvoid main() {\n\n    float alpha = 0.5;\n\n    gl_FragColor = vec4(0.0, 1.0, 0.0, 1.0) * alpha;\n\n    if (v_placement_zoom &gt; u_zoom) {\n        gl_FragColor = vec4(1.0, 0.0, 0.0, 1.0) * alpha;\n    }\n\n    if (u_zoom &gt;= v_max_zoom) {\n        gl_FragColor = vec4(0.0, 0.0, 0.0, 1.0) * alpha * 0.25;\n    }\n\n    if (v_placement_zoom &gt;= u_maxzoom) {\n        gl_FragColor = vec4(0.0, 0.0, 1.0, 1.0) * alpha * 0.2;\n    }\n}\n&quot;,vertexSource:&quot;#ifdef GL_ES\nprecision highp float;\n#else\n#define lowp\n#define mediump\n#define highp\n#endif\n\nattribute vec2 a_pos;\nattribute vec2 a_extrude;\nattribute vec2 a_data;\n\nuniform mat4 u_matrix;\nuniform float u_scale;\n\nvarying float v_max_zoom;\nvarying float v_placement_zoom;\n\nvoid main() {\n    gl_Position = u_matrix * vec4(a_pos + a_extrude / u_scale, 0.0, 1.0);\n\n    v_max_zoom = a_data.x;\n    v_placement_zoom = a_data.y;\n}\n&quot;}},e.exports.util=&quot;float evaluate_zoom_function_1(const vec4 values, const float t) {\n    if (t &lt; 1.0) {\n        return mix(values[0], values[1], t);\n    } else if (t &lt; 2.0) {\n        return mix(values[1], values[2], t - 1.0);\n    } else {\n        return mix(values[2], values[3], t - 2.0);\n    }\n}\nvec4 evaluate_zoom_function_4(const vec4 value0, const vec4 value1, const vec4 value2, const vec4 value3, const float t) {\n    if (t &lt; 1.0) {\n        return mix(value0, value1, t);\n    } else if (t &lt; 2.0) {\n        return mix(value1, value2, t - 1.0);\n    } else {\n        return mix(value2, value3, t - 2.0);\n    }\n}\n&quot;},{path:468}],295:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;util&quot;).format;e.exports=function(t,e){this.message=(t?t+&quot;: &quot;:&quot;&quot;)+n.apply(n,Array.prototype.slice.call(arguments,2)),null!==e&amp;&amp;void 0!==e&amp;&amp;e.__line__&amp;&amp;(this.line=e.__line__)}},{util:563}],296:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t){for(var e=1;e&lt;arguments.length;e++){var r=arguments[e];for(var n in r)t[n]=r[n]}return t}},{}],297:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t){return t instanceof Number?&quot;number&quot;:t instanceof String?&quot;string&quot;:t instanceof Boolean?&quot;boolean&quot;:Array.isArray(t)?&quot;array&quot;:null===t?&quot;null&quot;:typeof t}},{}],298:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t){return t instanceof Number||t instanceof String||t instanceof Boolean?t.valueOf():t}},{}],299:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../error/validation_error&quot;),i=t(&quot;../util/get_type&quot;),a=t(&quot;../util/extend&quot;);e.exports=function(e){var r=t(&quot;./validate_function&quot;),o=t(&quot;./validate_object&quot;),s={&quot;*&quot;:function(){return[]},array:t(&quot;./validate_array&quot;),boolean:t(&quot;./validate_boolean&quot;),number:t(&quot;./validate_number&quot;),color:t(&quot;./validate_color&quot;),constants:t(&quot;./validate_constants&quot;),enum:t(&quot;./validate_enum&quot;),filter:t(&quot;./validate_filter&quot;),function:t(&quot;./validate_function&quot;),layer:t(&quot;./validate_layer&quot;),object:t(&quot;./validate_object&quot;),source:t(&quot;./validate_source&quot;),string:t(&quot;./validate_string&quot;)},l=e.value,c=e.valueSpec,u=e.key,f=e.styleSpec,h=e.style;if(&quot;string&quot;===i(l)&amp;&amp;&quot;@&quot;===l[0]){if(f.$version&gt;7)return[new n(u,l,&quot;constants have been deprecated as of v8&quot;)];if(!(l in h.constants))return[new n(u,l,'constant &quot;%s&quot; not found',l)];e=a({},e,{value:h.constants[l]})}return c.function&amp;&amp;&quot;object&quot;===i(l)?r(e):c.type&amp;&amp;s[c.type]?s[c.type](e):o(a({},e,{valueSpec:c.type?f[c.type]:c}))}},{&quot;../error/validation_error&quot;:295,&quot;../util/extend&quot;:296,&quot;../util/get_type&quot;:297,&quot;./validate_array&quot;:300,&quot;./validate_boolean&quot;:301,&quot;./validate_color&quot;:302,&quot;./validate_constants&quot;:303,&quot;./validate_enum&quot;:304,&quot;./validate_filter&quot;:305,&quot;./validate_function&quot;:306,&quot;./validate_layer&quot;:308,&quot;./validate_number&quot;:310,&quot;./validate_object&quot;:311,&quot;./validate_source&quot;:313,&quot;./validate_string&quot;:314}],300:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../util/get_type&quot;),i=t(&quot;./validate&quot;),a=t(&quot;../error/validation_error&quot;);e.exports=function(t){var e=t.value,r=t.valueSpec,o=t.style,s=t.styleSpec,l=t.key,c=t.arrayElementValidator||i;if(&quot;array&quot;!==n(e))return[new a(l,e,&quot;array expected, %s found&quot;,n(e))];if(r.length&amp;&amp;e.length!==r.length)return[new a(l,e,&quot;array length %d expected, length %d found&quot;,r.length,e.length)];if(r[&quot;min-length&quot;]&amp;&amp;e.length&lt;r[&quot;min-length&quot;])return[new a(l,e,&quot;array length at least %d expected, length %d found&quot;,r[&quot;min-length&quot;],e.length)];var u={type:r.value};s.$version&lt;7&amp;&amp;(u.function=r.function),&quot;object&quot;===n(r.value)&amp;&amp;(u=r.value);for(var f=[],h=0;h&lt;e.length;h++)f=f.concat(c({array:e,arrayIndex:h,value:e[h],valueSpec:u,style:o,styleSpec:s,key:l+&quot;[&quot;+h+&quot;]&quot;}));return f}},{&quot;../error/validation_error&quot;:295,&quot;../util/get_type&quot;:297,&quot;./validate&quot;:299}],301:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../util/get_type&quot;),i=t(&quot;../error/validation_error&quot;);e.exports=function(t){var e=t.value,r=t.key,a=n(e);return&quot;boolean&quot;!==a?[new i(r,e,&quot;boolean expected, %s found&quot;,a)]:[]}},{&quot;../error/validation_error&quot;:295,&quot;../util/get_type&quot;:297}],302:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../error/validation_error&quot;),i=t(&quot;../util/get_type&quot;),a=t(&quot;csscolorparser&quot;).parseCSSColor;e.exports=function(t){var e=t.key,r=t.value,o=i(r);return&quot;string&quot;!==o?[new n(e,r,&quot;color expected, %s found&quot;,o)]:null===a(r)?[new n(e,r,'color expected, &quot;%s&quot; found',r)]:[]}},{&quot;../error/validation_error&quot;:295,&quot;../util/get_type&quot;:297,csscolorparser:114}],303:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../error/validation_error&quot;),i=t(&quot;../util/get_type&quot;);e.exports=function(t){var e=t.key,r=t.value;if(t.styleSpec.$version&gt;7)return r?[new n(e,r,&quot;constants have been deprecated as of v8&quot;)]:[];var a=i(r);if(&quot;object&quot;!==a)return[new n(e,r,&quot;object expected, %s found&quot;,a)];var o=[];for(var s in r)&quot;@&quot;!==s[0]&amp;&amp;o.push(new n(e+&quot;.&quot;+s,r[s],'constants must start with &quot;@&quot;'));return o}},{&quot;../error/validation_error&quot;:295,&quot;../util/get_type&quot;:297}],304:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../error/validation_error&quot;),i=t(&quot;../util/unbundle_jsonlint&quot;);e.exports=function(t){var e=t.key,r=t.value,a=t.valueSpec,o=[];return-1===a.values.indexOf(i(r))&amp;&amp;o.push(new n(e,r,&quot;expected one of [%s], %s found&quot;,a.values.join(&quot;, &quot;),r)),o}},{&quot;../error/validation_error&quot;:295,&quot;../util/unbundle_jsonlint&quot;:298}],305:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../error/validation_error&quot;),i=t(&quot;./validate_enum&quot;),a=t(&quot;../util/get_type&quot;),o=t(&quot;../util/unbundle_jsonlint&quot;);e.exports=function t(e){var r,s=e.value,l=e.key,c=e.styleSpec,u=[];if(&quot;array&quot;!==a(s))return[new n(l,s,&quot;array expected, %s found&quot;,a(s))];if(s.length&lt;1)return[new n(l,s,&quot;filter array must have at least 1 element&quot;)];switch(u=u.concat(i({key:l+&quot;[0]&quot;,value:s[0],valueSpec:c.filter_operator,style:e.style,styleSpec:e.styleSpec})),o(s[0])){case&quot;&lt;&quot;:case&quot;&lt;=&quot;:case&quot;&gt;&quot;:case&quot;&gt;=&quot;:s.length&gt;=2&amp;&amp;&quot;$type&quot;==s[1]&amp;&amp;u.push(new n(l,s,'&quot;$type&quot; cannot be use with operator &quot;%s&quot;',s[0]));case&quot;==&quot;:case&quot;!=&quot;:3!=s.length&amp;&amp;u.push(new n(l,s,'filter array for operator &quot;%s&quot; must have 3 elements',s[0]));case&quot;in&quot;:case&quot;!in&quot;:s.length&gt;=2&amp;&amp;(&quot;string&quot;!==(r=a(s[1]))?u.push(new n(l+&quot;[1]&quot;,s[1],&quot;string expected, %s found&quot;,r)):&quot;@&quot;===s[1][0]&amp;&amp;u.push(new n(l+&quot;[1]&quot;,s[1],&quot;filter key cannot be a constant&quot;)));for(var f=2;f&lt;s.length;f++)r=a(s[f]),&quot;$type&quot;==s[1]?u=u.concat(i({key:l+&quot;[&quot;+f+&quot;]&quot;,value:s[f],valueSpec:c.geometry_type,style:e.style,styleSpec:e.styleSpec})):&quot;string&quot;===r&amp;&amp;&quot;@&quot;===s[f][0]?u.push(new n(l+&quot;[&quot;+f+&quot;]&quot;,s[f],&quot;filter value cannot be a constant&quot;)):&quot;string&quot;!==r&amp;&amp;&quot;number&quot;!==r&amp;&amp;&quot;boolean&quot;!==r&amp;&amp;u.push(new n(l+&quot;[&quot;+f+&quot;]&quot;,s[f],&quot;string, number, or boolean expected, %s found&quot;,r));break;case&quot;any&quot;:case&quot;all&quot;:case&quot;none&quot;:for(f=1;f&lt;s.length;f++)u=u.concat(t({key:l+&quot;[&quot;+f+&quot;]&quot;,value:s[f],style:e.style,styleSpec:e.styleSpec}));break;case&quot;has&quot;:case&quot;!has&quot;:r=a(s[1]),2!==s.length?u.push(new n(l,s,'filter array for &quot;%s&quot; operator must have 2 elements',s[0])):&quot;string&quot;!==r?u.push(new n(l+&quot;[1]&quot;,s[1],&quot;string expected, %s found&quot;,r)):&quot;@&quot;===s[1][0]&amp;&amp;u.push(new n(l+&quot;[1]&quot;,s[1],&quot;filter key cannot be a constant&quot;))}return u}},{&quot;../error/validation_error&quot;:295,&quot;../util/get_type&quot;:297,&quot;../util/unbundle_jsonlint&quot;:298,&quot;./validate_enum&quot;:304}],306:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../error/validation_error&quot;),i=t(&quot;../util/get_type&quot;),a=t(&quot;./validate&quot;),o=t(&quot;./validate_object&quot;),s=t(&quot;./validate_array&quot;),l=t(&quot;./validate_number&quot;);e.exports=function(t){function e(t){var e=[],s=t.value,f=t.key;if(&quot;array&quot;!==i(s))return[new n(f,s,&quot;array expected, %s found&quot;,i(s))];if(2!==s.length)return[new n(f,s,&quot;array length %d expected, length %d found&quot;,2,s.length)];var d=i(s[0]);if(c||(c=d),d!==c)return[new n(f,s,&quot;%s stop key type must match previous stop key type %s&quot;,d,c)];if(&quot;object&quot;===d){if(void 0===s[0].zoom)return[new n(f,s,&quot;object stop key must have zoom&quot;)];if(void 0===s[0].value)return[new n(f,s,&quot;object stop key must have value&quot;)];e=e.concat(o({key:f+&quot;[0]&quot;,value:s[0],valueSpec:{zoom:{}},style:t.style,styleSpec:t.styleSpec,objectElementValidators:{zoom:l,value:r}}))}else e=e.concat((h?l:r)({key:f+&quot;[0]&quot;,value:s[0],valueSpec:{},style:t.style,styleSpec:t.styleSpec}));return e=e.concat(a({key:f+&quot;[1]&quot;,value:s[1],valueSpec:u,style:t.style,styleSpec:t.styleSpec})),&quot;number&quot;===i(s[0])&amp;&amp;(&quot;piecewise-constant&quot;===u.function&amp;&amp;s[0]%1!=0&amp;&amp;e.push(new n(f+&quot;[0]&quot;,s[0],&quot;zoom level for piecewise-constant functions must be an integer&quot;)),0!==t.arrayIndex&amp;&amp;s[0]&lt;t.array[t.arrayIndex-1][0]&amp;&amp;e.push(new n(f+&quot;[0]&quot;,s[0],&quot;array stops must appear in ascending order&quot;))),e}function r(t){var e=[],r=i(t.value);return&quot;number&quot;!==r&amp;&amp;&quot;string&quot;!==r&amp;&amp;&quot;array&quot;!==r&amp;&amp;e.push(new n(t.key,t.value,&quot;property value must be a number, string or array&quot;)),e}var c,u=t.valueSpec,f=void 0!==t.value.property||&quot;object&quot;===c,h=void 0===t.value.property||&quot;object&quot;===c,d=o({key:t.key,value:t.value,valueSpec:t.styleSpec.function,style:t.style,styleSpec:t.styleSpec,objectElementValidators:{stops:function(t){var r=[],a=t.value;return r=r.concat(s({key:t.key,value:a,valueSpec:t.valueSpec,style:t.style,styleSpec:t.styleSpec,arrayElementValidator:e})),&quot;array&quot;===i(a)&amp;&amp;0===a.length&amp;&amp;r.push(new n(t.key,a,&quot;array must have at least one stop&quot;)),r}}});return t.styleSpec.$version&gt;=8&amp;&amp;(f&amp;&amp;!t.valueSpec[&quot;property-function&quot;]?d.push(new n(t.key,t.value,&quot;property functions not supported&quot;)):h&amp;&amp;!t.valueSpec[&quot;zoom-function&quot;]&amp;&amp;d.push(new n(t.key,t.value,&quot;zoom functions not supported&quot;))),d}},{&quot;../error/validation_error&quot;:295,&quot;../util/get_type&quot;:297,&quot;./validate&quot;:299,&quot;./validate_array&quot;:300,&quot;./validate_number&quot;:310,&quot;./validate_object&quot;:311}],307:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../error/validation_error&quot;),i=t(&quot;./validate_string&quot;);e.exports=function(t){var e=t.value,r=t.key,a=i(t);return a.length?a:(-1===e.indexOf(&quot;{fontstack}&quot;)&amp;&amp;a.push(new n(r,e,'&quot;glyphs&quot; url must include a &quot;{fontstack}&quot; token')),-1===e.indexOf(&quot;{range}&quot;)&amp;&amp;a.push(new n(r,e,'&quot;glyphs&quot; url must include a &quot;{range}&quot; token')),a)}},{&quot;../error/validation_error&quot;:295,&quot;./validate_string&quot;:314}],308:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../error/validation_error&quot;),i=t(&quot;../util/unbundle_jsonlint&quot;),a=t(&quot;./validate_object&quot;),o=t(&quot;./validate_filter&quot;),s=t(&quot;./validate_paint_property&quot;),l=t(&quot;./validate_layout_property&quot;),c=t(&quot;../util/extend&quot;);e.exports=function(t){var e=[],r=t.value,u=t.key,f=t.style,h=t.styleSpec;r.type||r.ref||e.push(new n(u,r,'either &quot;type&quot; or &quot;ref&quot; is required'));var d=i(r.type),p=i(r.ref);if(r.id)for(var m=0;m&lt;t.arrayIndex;m++){var g=f.layers[m];i(g.id)===i(r.id)&amp;&amp;e.push(new n(u,r.id,'duplicate layer id &quot;%s&quot;, previously used at line %d',r.id,g.id.__line__))}if(&quot;ref&quot;in r){[&quot;type&quot;,&quot;source&quot;,&quot;source-layer&quot;,&quot;filter&quot;,&quot;layout&quot;].forEach(function(t){t in r&amp;&amp;e.push(new n(u,r[t],'&quot;%s&quot; is prohibited for ref layers',t))});var v;f.layers.forEach(function(t){t.id==p&amp;&amp;(v=t)}),v?v.ref?e.push(new n(u,r.ref,&quot;ref cannot reference another ref layer&quot;)):d=i(v.type):e.push(new n(u,r.ref,'ref layer &quot;%s&quot; not found',p))}else if(&quot;background&quot;!==d)if(r.source){var y=f.sources&amp;&amp;f.sources[r.source];y?&quot;vector&quot;==y.type&amp;&amp;&quot;raster&quot;==d?e.push(new n(u,r.source,'layer &quot;%s&quot; requires a raster source',r.id)):&quot;raster&quot;==y.type&amp;&amp;&quot;raster&quot;!=d?e.push(new n(u,r.source,'layer &quot;%s&quot; requires a vector source',r.id)):&quot;vector&quot;!=y.type||r[&quot;source-layer&quot;]||e.push(new n(u,r,'layer &quot;%s&quot; must specify a &quot;source-layer&quot;',r.id)):e.push(new n(u,r.source,'source &quot;%s&quot; not found',r.source))}else e.push(new n(u,r,'missing required property &quot;source&quot;'));return e=e.concat(a({key:u,value:r,valueSpec:h.layer,style:t.style,styleSpec:t.styleSpec,objectElementValidators:{filter:o,layout:function(t){return a({layer:r,key:t.key,value:t.value,style:t.style,styleSpec:t.styleSpec,objectElementValidators:{&quot;*&quot;:function(t){return l(c({layerType:d},t))}}})},paint:function(t){return a({layer:r,key:t.key,value:t.value,style:t.style,styleSpec:t.styleSpec,objectElementValidators:{&quot;*&quot;:function(t){return s(c({layerType:d},t))}}})}}}))}},{&quot;../error/validation_error&quot;:295,&quot;../util/extend&quot;:296,&quot;../util/unbundle_jsonlint&quot;:298,&quot;./validate_filter&quot;:305,&quot;./validate_layout_property&quot;:309,&quot;./validate_object&quot;:311,&quot;./validate_paint_property&quot;:312}],309:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;./validate&quot;),i=t(&quot;../error/validation_error&quot;);e.exports=function(t){var e=t.key,r=t.style,a=t.styleSpec,o=t.value,s=t.objectKey,l=a[&quot;layout_&quot;+t.layerType];if(t.valueSpec||l[s]){var c=[];return&quot;symbol&quot;===t.layerType&amp;&amp;(&quot;icon-image&quot;===s&amp;&amp;r&amp;&amp;!r.sprite?c.push(new i(e,o,'use of &quot;icon-image&quot; requires a style &quot;sprite&quot; property')):&quot;text-field&quot;===s&amp;&amp;r&amp;&amp;!r.glyphs&amp;&amp;c.push(new i(e,o,'use of &quot;text-field&quot; requires a style &quot;glyphs&quot; property'))),c.concat(n({key:t.key,value:o,valueSpec:t.valueSpec||l[s],style:r,styleSpec:a}))}return[new i(e,o,'unknown property &quot;%s&quot;',s)]}},{&quot;../error/validation_error&quot;:295,&quot;./validate&quot;:299}],310:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../util/get_type&quot;),i=t(&quot;../error/validation_error&quot;);e.exports=function(t){var e=t.key,r=t.value,a=t.valueSpec,o=n(r);return&quot;number&quot;!==o?[new i(e,r,&quot;number expected, %s found&quot;,o)]:&quot;minimum&quot;in a&amp;&amp;r&lt;a.minimum?[new i(e,r,&quot;%s is less than the minimum value %s&quot;,r,a.minimum)]:&quot;maximum&quot;in a&amp;&amp;r&gt;a.maximum?[new i(e,r,&quot;%s is greater than the maximum value %s&quot;,r,a.maximum)]:[]}},{&quot;../error/validation_error&quot;:295,&quot;../util/get_type&quot;:297}],311:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../error/validation_error&quot;),i=t(&quot;../util/get_type&quot;),a=t(&quot;./validate&quot;);e.exports=function(t){var e=t.key,r=t.value,o=t.valueSpec,s=t.objectElementValidators||{},l=t.style,c=t.styleSpec,u=[],f=i(r);if(&quot;object&quot;!==f)return[new n(e,r,&quot;object expected, %s found&quot;,f)];for(var h in r){var d=h.split(&quot;.&quot;)[0],p=o&amp;&amp;(o[d]||o[&quot;*&quot;]),m=s[d]||s[&quot;*&quot;];p||m?u=u.concat((m||a)({key:(e?e+&quot;.&quot;:e)+h,value:r[h],valueSpec:p,style:l,styleSpec:c,object:r,objectKey:h})):&quot;&quot;!==e&amp;&amp;1!==e.split(&quot;.&quot;).length&amp;&amp;u.push(new n(e,r[h],'unknown property &quot;%s&quot;',h))}for(d in o)o[d].required&amp;&amp;void 0===o[d].default&amp;&amp;void 0===r[d]&amp;&amp;u.push(new n(e,r,'missing required property &quot;%s&quot;',d));return u}},{&quot;../error/validation_error&quot;:295,&quot;../util/get_type&quot;:297,&quot;./validate&quot;:299}],312:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;./validate&quot;),i=t(&quot;../error/validation_error&quot;);e.exports=function(t){var e=t.key,r=t.style,a=t.styleSpec,o=t.value,s=t.objectKey,l=a[&quot;paint_&quot;+t.layerType],c=s.match(/^(.*)-transition$/);return c&amp;&amp;l[c[1]]&amp;&amp;l[c[1]].transition?n({key:e,value:o,valueSpec:a.transition,style:r,styleSpec:a}):t.valueSpec||l[s]?n({key:t.key,value:o,valueSpec:t.valueSpec||l[s],style:r,styleSpec:a}):[new i(e,o,'unknown property &quot;%s&quot;',s)]}},{&quot;../error/validation_error&quot;:295,&quot;./validate&quot;:299}],313:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../error/validation_error&quot;),i=t(&quot;../util/unbundle_jsonlint&quot;),a=t(&quot;./validate_object&quot;),o=t(&quot;./validate_enum&quot;);e.exports=function(t){var e=t.value,r=t.key,s=t.styleSpec,l=t.style;if(!e.type)return[new n(r,e,'&quot;type&quot; is required')];switch(i(e.type)){case&quot;vector&quot;:case&quot;raster&quot;:var c=[];if(c=c.concat(a({key:r,value:e,valueSpec:s.source_tile,style:t.style,styleSpec:s})),&quot;url&quot;in e)for(var u in e)[&quot;type&quot;,&quot;url&quot;,&quot;tileSize&quot;].indexOf(u)&lt;0&amp;&amp;c.push(new n(r+&quot;.&quot;+u,e[u],'a source with a &quot;url&quot; property may not include a &quot;%s&quot; property',u));return c;case&quot;geojson&quot;:return a({key:r,value:e,valueSpec:s.source_geojson,style:l,styleSpec:s});case&quot;video&quot;:return a({key:r,value:e,valueSpec:s.source_video,style:l,styleSpec:s});case&quot;image&quot;:return a({key:r,value:e,valueSpec:s.source_image,style:l,styleSpec:s});default:return o({key:r+&quot;.type&quot;,value:e.type,valueSpec:{values:[&quot;vector&quot;,&quot;raster&quot;,&quot;geojson&quot;,&quot;video&quot;,&quot;image&quot;]},style:l,styleSpec:s})}}},{&quot;../error/validation_error&quot;:295,&quot;../util/unbundle_jsonlint&quot;:298,&quot;./validate_enum&quot;:304,&quot;./validate_object&quot;:311}],314:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../util/get_type&quot;),i=t(&quot;../error/validation_error&quot;);e.exports=function(t){var e=t.value,r=t.key,a=n(e);return&quot;string&quot;!==a?[new i(r,e,&quot;string expected, %s found&quot;,a)]:[]}},{&quot;../error/validation_error&quot;:295,&quot;../util/get_type&quot;:297}],315:[function(t,e,r){&quot;use strict&quot;;function n(t,e){e=e||l;var r=[];return r=r.concat(s({key:&quot;&quot;,value:t,valueSpec:e.$root,styleSpec:e,style:t,objectElementValidators:{glyphs:c}})),e.$version&gt;7&amp;&amp;t.constants&amp;&amp;(r=r.concat(o({key:&quot;constants&quot;,value:t.constants,style:t,styleSpec:e}))),i(r)}function i(t){return[].concat(t).sort(function(t,e){return t.line-e.line})}function a(t){return function(){return i(t.apply(this,arguments))}}var o=t(&quot;./validate/validate_constants&quot;),s=t(&quot;./validate/validate&quot;),l=t(&quot;../reference/latest.min&quot;),c=t(&quot;./validate/validate_glyphs_url&quot;);n.source=a(t(&quot;./validate/validate_source&quot;)),n.layer=a(t(&quot;./validate/validate_layer&quot;)),n.filter=a(t(&quot;./validate/validate_filter&quot;)),n.paintProperty=a(t(&quot;./validate/validate_paint_property&quot;)),n.layoutProperty=a(t(&quot;./validate/validate_layout_property&quot;)),e.exports=n},{&quot;../reference/latest.min&quot;:316,&quot;./validate/validate&quot;:299,&quot;./validate/validate_constants&quot;:303,&quot;./validate/validate_filter&quot;:305,&quot;./validate/validate_glyphs_url&quot;:307,&quot;./validate/validate_layer&quot;:308,&quot;./validate/validate_layout_property&quot;:309,&quot;./validate/validate_paint_property&quot;:312,&quot;./validate/validate_source&quot;:313}],316:[function(t,e,r){e.exports=t(&quot;./v8.min.json&quot;)},{&quot;./v8.min.json&quot;:317}],317:[function(t,e,r){e.exports={$version:8,$root:{version:{required:!0,type:&quot;enum&quot;,values:[8]},name:{type:&quot;string&quot;},metadata:{type:&quot;*&quot;},center:{type:&quot;array&quot;,value:&quot;number&quot;},zoom:{type:&quot;number&quot;},bearing:{type:&quot;number&quot;,default:0,period:360,units:&quot;degrees&quot;},pitch:{type:&quot;number&quot;,default:0,units:&quot;degrees&quot;},sources:{required:!0,type:&quot;sources&quot;},sprite:{type:&quot;string&quot;},glyphs:{type:&quot;string&quot;},transition:{type:&quot;transition&quot;},layers:{required:!0,type:&quot;array&quot;,value:&quot;layer&quot;}},sources:{&quot;*&quot;:{type:&quot;source&quot;}},source:[&quot;source_tile&quot;,&quot;source_geojson&quot;,&quot;source_video&quot;,&quot;source_image&quot;],source_tile:{type:{required:!0,type:&quot;enum&quot;,values:[&quot;vector&quot;,&quot;raster&quot;]},url:{type:&quot;string&quot;},tiles:{type:&quot;array&quot;,value:&quot;string&quot;},minzoom:{type:&quot;number&quot;,default:0},maxzoom:{type:&quot;number&quot;,default:22},tileSize:{type:&quot;number&quot;,default:512,units:&quot;pixels&quot;},&quot;*&quot;:{type:&quot;*&quot;}},source_geojson:{type:{required:!0,type:&quot;enum&quot;,values:[&quot;geojson&quot;]},data:{type:&quot;*&quot;},maxzoom:{type:&quot;number&quot;,default:14},buffer:{type:&quot;number&quot;,default:64},tolerance:{type:&quot;number&quot;,default:3},cluster:{type:&quot;boolean&quot;,default:!1},clusterRadius:{type:&quot;number&quot;,default:400},clusterMaxZoom:{type:&quot;number&quot;}},source_video:{type:{required:!0,type:&quot;enum&quot;,values:[&quot;video&quot;]},urls:{required:!0,type:&quot;array&quot;,value:&quot;string&quot;},coordinates:{required:!0,type:&quot;array&quot;,length:4,value:{type:&quot;array&quot;,length:2,value:&quot;number&quot;}}},source_image:{type:{required:!0,type:&quot;enum&quot;,values:[&quot;image&quot;]},url:{required:!0,type:&quot;string&quot;},coordinates:{required:!0,type:&quot;array&quot;,length:4,value:{type:&quot;array&quot;,length:2,value:&quot;number&quot;}}},layer:{id:{type:&quot;string&quot;,required:!0},type:{type:&quot;enum&quot;,values:[&quot;fill&quot;,&quot;line&quot;,&quot;symbol&quot;,&quot;circle&quot;,&quot;raster&quot;,&quot;background&quot;]},metadata:{type:&quot;*&quot;},ref:{type:&quot;string&quot;},source:{type:&quot;string&quot;},&quot;source-layer&quot;:{type:&quot;string&quot;},minzoom:{type:&quot;number&quot;,minimum:0,maximum:22},maxzoom:{type:&quot;number&quot;,minimum:0,maximum:22},interactive:{type:&quot;boolean&quot;,default:!1},filter:{type:&quot;filter&quot;},layout:{type:&quot;layout&quot;},paint:{type:&quot;paint&quot;},&quot;paint.*&quot;:{type:&quot;paint&quot;}},layout:[&quot;layout_fill&quot;,&quot;layout_line&quot;,&quot;layout_circle&quot;,&quot;layout_symbol&quot;,&quot;layout_raster&quot;,&quot;layout_background&quot;],layout_background:{visibility:{type:&quot;enum&quot;,function:&quot;piecewise-constant&quot;,&quot;zoom-function&quot;:!0,values:[&quot;visible&quot;,&quot;none&quot;],default:&quot;visible&quot;}},layout_fill:{visibility:{type:&quot;enum&quot;,function:&quot;piecewise-constant&quot;,&quot;zoom-function&quot;:!0,values:[&quot;visible&quot;,&quot;none&quot;],default:&quot;visible&quot;}},layout_circle:{visibility:{type:&quot;enum&quot;,function:&quot;piecewise-constant&quot;,&quot;zoom-function&quot;:!0,values:[&quot;visible&quot;,&quot;none&quot;],default:&quot;visible&quot;}},layout_line:{&quot;line-cap&quot;:{type:&quot;enum&quot;,function:&quot;piecewise-constant&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,values:[&quot;butt&quot;,&quot;round&quot;,&quot;square&quot;],default:&quot;butt&quot;},&quot;line-join&quot;:{type:&quot;enum&quot;,function:&quot;piecewise-constant&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,values:[&quot;bevel&quot;,&quot;round&quot;,&quot;miter&quot;],default:&quot;miter&quot;},&quot;line-miter-limit&quot;:{type:&quot;number&quot;,default:2,function:&quot;interpolated&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,requires:[{&quot;line-join&quot;:&quot;miter&quot;}]},&quot;line-round-limit&quot;:{type:&quot;number&quot;,default:1.05,function:&quot;interpolated&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,requires:[{&quot;line-join&quot;:&quot;round&quot;}]},visibility:{type:&quot;enum&quot;,function:&quot;piecewise-constant&quot;,&quot;zoom-function&quot;:!0,values:[&quot;visible&quot;,&quot;none&quot;],default:&quot;visible&quot;}},layout_symbol:{&quot;symbol-placement&quot;:{type:&quot;enum&quot;,function:&quot;piecewise-constant&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,values:[&quot;point&quot;,&quot;line&quot;],default:&quot;point&quot;},&quot;symbol-spacing&quot;:{type:&quot;number&quot;,default:250,minimum:1,function:&quot;interpolated&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,units:&quot;pixels&quot;,requires:[{&quot;symbol-placement&quot;:&quot;line&quot;}]},&quot;symbol-avoid-edges&quot;:{type:&quot;boolean&quot;,function:&quot;piecewise-constant&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,default:!1},&quot;icon-allow-overlap&quot;:{type:&quot;boolean&quot;,function:&quot;piecewise-constant&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,default:!1,requires:[&quot;icon-image&quot;]},&quot;icon-ignore-placement&quot;:{type:&quot;boolean&quot;,function:&quot;piecewise-constant&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,default:!1,requires:[&quot;icon-image&quot;]},&quot;icon-optional&quot;:{type:&quot;boolean&quot;,function:&quot;piecewise-constant&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,default:!1,requires:[&quot;icon-image&quot;,&quot;text-field&quot;]},&quot;icon-rotation-alignment&quot;:{type:&quot;enum&quot;,function:&quot;piecewise-constant&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,values:[&quot;map&quot;,&quot;viewport&quot;],default:&quot;viewport&quot;,requires:[&quot;icon-image&quot;]},&quot;icon-size&quot;:{type:&quot;number&quot;,default:1,minimum:0,function:&quot;interpolated&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,requires:[&quot;icon-image&quot;]},&quot;icon-text-fit&quot;:{type:&quot;enum&quot;,function:&quot;piecewise-constant&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!1,values:[&quot;none&quot;,&quot;both&quot;,&quot;width&quot;,&quot;height&quot;],default:&quot;none&quot;,requires:[&quot;icon-image&quot;,&quot;text-field&quot;]},&quot;icon-text-fit-padding&quot;:{type:&quot;array&quot;,value:&quot;number&quot;,length:4,default:[0,0,0,0],units:&quot;pixels&quot;,function:&quot;interpolated&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,requires:[&quot;icon-image&quot;,&quot;icon-text-fit&quot;,&quot;text-field&quot;]},&quot;icon-image&quot;:{type:&quot;string&quot;,function:&quot;piecewise-constant&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,tokens:!0},&quot;icon-rotate&quot;:{type:&quot;number&quot;,default:0,period:360,function:&quot;interpolated&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,units:&quot;degrees&quot;,requires:[&quot;icon-image&quot;]},&quot;icon-padding&quot;:{type:&quot;number&quot;,default:2,minimum:0,function:&quot;interpolated&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,units:&quot;pixels&quot;,requires:[&quot;icon-image&quot;]},&quot;icon-keep-upright&quot;:{type:&quot;boolean&quot;,function:&quot;piecewise-constant&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,default:!1,requires:[&quot;icon-image&quot;,{&quot;icon-rotation-alignment&quot;:&quot;map&quot;},{&quot;symbol-placement&quot;:&quot;line&quot;}]},&quot;icon-offset&quot;:{type:&quot;array&quot;,value:&quot;number&quot;,length:2,default:[0,0],function:&quot;interpolated&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,requires:[&quot;icon-image&quot;]},&quot;text-pitch-alignment&quot;:{type:&quot;enum&quot;,function:&quot;piecewise-constant&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,values:[&quot;map&quot;,&quot;viewport&quot;],requires:[&quot;text-field&quot;]},&quot;text-rotation-alignment&quot;:{type:&quot;enum&quot;,function:&quot;piecewise-constant&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,values:[&quot;map&quot;,&quot;viewport&quot;],default:&quot;viewport&quot;,requires:[&quot;text-field&quot;]},&quot;text-field&quot;:{type:&quot;string&quot;,function:&quot;piecewise-constant&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,default:&quot;&quot;,tokens:!0},&quot;text-font&quot;:{type:&quot;array&quot;,value:&quot;string&quot;,function:&quot;piecewise-constant&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,default:[&quot;Open Sans Regular&quot;,&quot;Arial Unicode MS Regular&quot;],requires:[&quot;text-field&quot;]},&quot;text-size&quot;:{type:&quot;number&quot;,default:16,minimum:0,units:&quot;pixels&quot;,function:&quot;interpolated&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,requires:[&quot;text-field&quot;]},&quot;text-max-width&quot;:{type:&quot;number&quot;,default:10,minimum:0,units:&quot;em&quot;,function:&quot;interpolated&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,requires:[&quot;text-field&quot;]},&quot;text-line-height&quot;:{type:&quot;number&quot;,default:1.2,units:&quot;em&quot;,function:&quot;interpolated&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,requires:[&quot;text-field&quot;]},&quot;text-letter-spacing&quot;:{type:&quot;number&quot;,default:0,units:&quot;em&quot;,function:&quot;interpolated&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,requires:[&quot;text-field&quot;]},&quot;text-justify&quot;:{type:&quot;enum&quot;,function:&quot;piecewise-constant&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,values:[&quot;left&quot;,&quot;center&quot;,&quot;right&quot;],default:&quot;center&quot;,requires:[&quot;text-field&quot;]},&quot;text-anchor&quot;:{type:&quot;enum&quot;,function:&quot;piecewise-constant&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,values:[&quot;center&quot;,&quot;left&quot;,&quot;right&quot;,&quot;top&quot;,&quot;bottom&quot;,&quot;top-left&quot;,&quot;top-right&quot;,&quot;bottom-left&quot;,&quot;bottom-right&quot;],default:&quot;center&quot;,requires:[&quot;text-field&quot;]},&quot;text-max-angle&quot;:{type:&quot;number&quot;,default:45,units:&quot;degrees&quot;,function:&quot;interpolated&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,requires:[&quot;text-field&quot;,{&quot;symbol-placement&quot;:&quot;line&quot;}]},&quot;text-rotate&quot;:{type:&quot;number&quot;,default:0,period:360,units:&quot;degrees&quot;,function:&quot;interpolated&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,requires:[&quot;text-field&quot;]},&quot;text-padding&quot;:{type:&quot;number&quot;,default:2,minimum:0,units:&quot;pixels&quot;,function:&quot;interpolated&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,requires:[&quot;text-field&quot;]},&quot;text-keep-upright&quot;:{type:&quot;boolean&quot;,function:&quot;piecewise-constant&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,default:!0,requires:[&quot;text-field&quot;,{&quot;text-rotation-alignment&quot;:&quot;map&quot;},{&quot;symbol-placement&quot;:&quot;line&quot;}]},&quot;text-transform&quot;:{type:&quot;enum&quot;,function:&quot;piecewise-constant&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,values:[&quot;none&quot;,&quot;uppercase&quot;,&quot;lowercase&quot;],default:&quot;none&quot;,requires:[&quot;text-field&quot;]},&quot;text-offset&quot;:{type:&quot;array&quot;,value:&quot;number&quot;,units:&quot;ems&quot;,function:&quot;interpolated&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,length:2,default:[0,0],requires:[&quot;text-field&quot;]},&quot;text-allow-overlap&quot;:{type:&quot;boolean&quot;,function:&quot;piecewise-constant&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,default:!1,requires:[&quot;text-field&quot;]},&quot;text-ignore-placement&quot;:{type:&quot;boolean&quot;,function:&quot;piecewise-constant&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,default:!1,requires:[&quot;text-field&quot;]},&quot;text-optional&quot;:{type:&quot;boolean&quot;,function:&quot;piecewise-constant&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,default:!1,requires:[&quot;text-field&quot;,&quot;icon-image&quot;]},visibility:{type:&quot;enum&quot;,function:&quot;piecewise-constant&quot;,&quot;zoom-function&quot;:!0,values:[&quot;visible&quot;,&quot;none&quot;],default:&quot;visible&quot;}},layout_raster:{visibility:{type:&quot;enum&quot;,function:&quot;piecewise-constant&quot;,&quot;zoom-function&quot;:!0,values:[&quot;visible&quot;,&quot;none&quot;],default:&quot;visible&quot;}},filter:{type:&quot;array&quot;,value:&quot;*&quot;},filter_operator:{type:&quot;enum&quot;,values:[&quot;==&quot;,&quot;!=&quot;,&quot;&gt;&quot;,&quot;&gt;=&quot;,&quot;&lt;&quot;,&quot;&lt;=&quot;,&quot;in&quot;,&quot;!in&quot;,&quot;all&quot;,&quot;any&quot;,&quot;none&quot;,&quot;has&quot;,&quot;!has&quot;]},geometry_type:{type:&quot;enum&quot;,values:[&quot;Point&quot;,&quot;LineString&quot;,&quot;Polygon&quot;]},color_operation:{type:&quot;enum&quot;,values:[&quot;lighten&quot;,&quot;saturate&quot;,&quot;spin&quot;,&quot;fade&quot;,&quot;mix&quot;]},function:{stops:{type:&quot;array&quot;,required:!0,value:&quot;function_stop&quot;},base:{type:&quot;number&quot;,default:1,minimum:0},property:{type:&quot;string&quot;,default:&quot;$zoom&quot;},type:{type:&quot;enum&quot;,values:[&quot;exponential&quot;,&quot;interval&quot;,&quot;categorical&quot;],default:&quot;exponential&quot;}},function_stop:{type:&quot;array&quot;,minimum:0,maximum:22,value:[&quot;number&quot;,&quot;color&quot;],length:2},paint:[&quot;paint_fill&quot;,&quot;paint_line&quot;,&quot;paint_circle&quot;,&quot;paint_symbol&quot;,&quot;paint_raster&quot;,&quot;paint_background&quot;],paint_fill:{&quot;fill-antialias&quot;:{type:&quot;boolean&quot;,function:&quot;piecewise-constant&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,default:!0},&quot;fill-opacity&quot;:{type:&quot;number&quot;,function:&quot;interpolated&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,default:1,minimum:0,maximum:1,transition:!0},&quot;fill-color&quot;:{type:&quot;color&quot;,default:&quot;#000000&quot;,function:&quot;interpolated&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,transition:!0,requires:[{&quot;!&quot;:&quot;fill-pattern&quot;}]},&quot;fill-outline-color&quot;:{type:&quot;color&quot;,function:&quot;interpolated&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,transition:!0,requires:[{&quot;!&quot;:&quot;fill-pattern&quot;},{&quot;fill-antialias&quot;:!0}]},&quot;fill-translate&quot;:{type:&quot;array&quot;,value:&quot;number&quot;,length:2,default:[0,0],function:&quot;interpolated&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,transition:!0,units:&quot;pixels&quot;},&quot;fill-translate-anchor&quot;:{type:&quot;enum&quot;,function:&quot;piecewise-constant&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,values:[&quot;map&quot;,&quot;viewport&quot;],default:&quot;map&quot;,requires:[&quot;fill-translate&quot;]},&quot;fill-pattern&quot;:{type:&quot;string&quot;,function:&quot;piecewise-constant&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,transition:!0}},paint_line:{&quot;line-opacity&quot;:{type:&quot;number&quot;,function:&quot;interpolated&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,default:1,minimum:0,maximum:1,transition:!0},&quot;line-color&quot;:{type:&quot;color&quot;,default:&quot;#000000&quot;,function:&quot;interpolated&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,transition:!0,requires:[{&quot;!&quot;:&quot;line-pattern&quot;}]},&quot;line-translate&quot;:{type:&quot;array&quot;,value:&quot;number&quot;,length:2,default:[0,0],function:&quot;interpolated&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,transition:!0,units:&quot;pixels&quot;},&quot;line-translate-anchor&quot;:{type:&quot;enum&quot;,function:&quot;piecewise-constant&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,values:[&quot;map&quot;,&quot;viewport&quot;],default:&quot;map&quot;,requires:[&quot;line-translate&quot;]},&quot;line-width&quot;:{type:&quot;number&quot;,default:1,minimum:0,function:&quot;interpolated&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,transition:!0,units:&quot;pixels&quot;},&quot;line-gap-width&quot;:{type:&quot;number&quot;,default:0,minimum:0,function:&quot;interpolated&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,transition:!0,units:&quot;pixels&quot;},&quot;line-offset&quot;:{type:&quot;number&quot;,default:0,function:&quot;interpolated&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,transition:!0,units:&quot;pixels&quot;},&quot;line-blur&quot;:{type:&quot;number&quot;,default:0,minimum:0,function:&quot;interpolated&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,transition:!0,units:&quot;pixels&quot;},&quot;line-dasharray&quot;:{type:&quot;array&quot;,value:&quot;number&quot;,function:&quot;piecewise-constant&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,minimum:0,transition:!0,units:&quot;line widths&quot;,requires:[{&quot;!&quot;:&quot;line-pattern&quot;}]},&quot;line-pattern&quot;:{type:&quot;string&quot;,function:&quot;piecewise-constant&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,transition:!0}},paint_circle:{&quot;circle-radius&quot;:{type:&quot;number&quot;,default:5,minimum:0,function:&quot;interpolated&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,transition:!0,units:&quot;pixels&quot;},&quot;circle-color&quot;:{type:&quot;color&quot;,default:&quot;#000000&quot;,function:&quot;interpolated&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,transition:!0},&quot;circle-blur&quot;:{type:&quot;number&quot;,default:0,function:&quot;interpolated&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,transition:!0},&quot;circle-opacity&quot;:{type:&quot;number&quot;,default:1,minimum:0,maximum:1,function:&quot;interpolated&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,transition:!0},&quot;circle-translate&quot;:{type:&quot;array&quot;,value:&quot;number&quot;,length:2,default:[0,0],function:&quot;interpolated&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,transition:!0,units:&quot;pixels&quot;},&quot;circle-translate-anchor&quot;:{type:&quot;enum&quot;,function:&quot;piecewise-constant&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,values:[&quot;map&quot;,&quot;viewport&quot;],default:&quot;map&quot;,requires:[&quot;circle-translate&quot;]},&quot;circle-pitch-scale&quot;:{type:&quot;enum&quot;,function:&quot;piecewise-constant&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,values:[&quot;map&quot;,&quot;viewport&quot;],default:&quot;map&quot;}},paint_symbol:{&quot;icon-opacity&quot;:{type:&quot;number&quot;,default:1,minimum:0,maximum:1,function:&quot;interpolated&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,transition:!0,requires:[&quot;icon-image&quot;]},&quot;icon-color&quot;:{type:&quot;color&quot;,default:&quot;#000000&quot;,function:&quot;interpolated&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,transition:!0,requires:[&quot;icon-image&quot;]},&quot;icon-halo-color&quot;:{type:&quot;color&quot;,default:&quot;rgba(0, 0, 0, 0)&quot;,function:&quot;interpolated&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,transition:!0,requires:[&quot;icon-image&quot;]},&quot;icon-halo-width&quot;:{type:&quot;number&quot;,default:0,minimum:0,function:&quot;interpolated&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,transition:!0,units:&quot;pixels&quot;,requires:[&quot;icon-image&quot;]},&quot;icon-halo-blur&quot;:{type:&quot;number&quot;,default:0,minimum:0,function:&quot;interpolated&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,transition:!0,units:&quot;pixels&quot;,requires:[&quot;icon-image&quot;]},&quot;icon-translate&quot;:{type:&quot;array&quot;,value:&quot;number&quot;,length:2,default:[0,0],function:&quot;interpolated&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,transition:!0,units:&quot;pixels&quot;,requires:[&quot;icon-image&quot;]},&quot;icon-translate-anchor&quot;:{type:&quot;enum&quot;,function:&quot;piecewise-constant&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,values:[&quot;map&quot;,&quot;viewport&quot;],default:&quot;map&quot;,requires:[&quot;icon-image&quot;,&quot;icon-translate&quot;]},&quot;text-opacity&quot;:{type:&quot;number&quot;,default:1,minimum:0,maximum:1,function:&quot;interpolated&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,transition:!0,requires:[&quot;text-field&quot;]},&quot;text-color&quot;:{type:&quot;color&quot;,default:&quot;#000000&quot;,function:&quot;interpolated&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,transition:!0,requires:[&quot;text-field&quot;]},&quot;text-halo-color&quot;:{type:&quot;color&quot;,default:&quot;rgba(0, 0, 0, 0)&quot;,function:&quot;interpolated&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,transition:!0,requires:[&quot;text-field&quot;]},&quot;text-halo-width&quot;:{type:&quot;number&quot;,default:0,minimum:0,function:&quot;interpolated&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,transition:!0,units:&quot;pixels&quot;,requires:[&quot;text-field&quot;]},&quot;text-halo-blur&quot;:{type:&quot;number&quot;,default:0,minimum:0,function:&quot;interpolated&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,transition:!0,units:&quot;pixels&quot;,requires:[&quot;text-field&quot;]},&quot;text-translate&quot;:{type:&quot;array&quot;,value:&quot;number&quot;,length:2,default:[0,0],function:&quot;interpolated&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,transition:!0,units:&quot;pixels&quot;,requires:[&quot;text-field&quot;]},&quot;text-translate-anchor&quot;:{type:&quot;enum&quot;,function:&quot;piecewise-constant&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,values:[&quot;map&quot;,&quot;viewport&quot;],default:&quot;map&quot;,requires:[&quot;text-field&quot;,&quot;text-translate&quot;]}},paint_raster:{&quot;raster-opacity&quot;:{type:&quot;number&quot;,default:1,minimum:0,maximum:1,function:&quot;interpolated&quot;,&quot;zoom-function&quot;:!0,transition:!0},&quot;raster-hue-rotate&quot;:{type:&quot;number&quot;,default:0,period:360,function:&quot;interpolated&quot;,&quot;zoom-function&quot;:!0,transition:!0,units:&quot;degrees&quot;},&quot;raster-brightness-min&quot;:{type:&quot;number&quot;,function:&quot;interpolated&quot;,&quot;zoom-function&quot;:!0,default:0,minimum:0,maximum:1,transition:!0},&quot;raster-brightness-max&quot;:{type:&quot;number&quot;,function:&quot;interpolated&quot;,&quot;zoom-function&quot;:!0,default:1,minimum:0,maximum:1,transition:!0},&quot;raster-saturation&quot;:{type:&quot;number&quot;,default:0,minimum:-1,maximum:1,function:&quot;interpolated&quot;,&quot;zoom-function&quot;:!0,transition:!0},&quot;raster-contrast&quot;:{type:&quot;number&quot;,default:0,minimum:-1,maximum:1,function:&quot;interpolated&quot;,&quot;zoom-function&quot;:!0,transition:!0},&quot;raster-fade-duration&quot;:{type:&quot;number&quot;,default:300,minimum:0,function:&quot;interpolated&quot;,&quot;zoom-function&quot;:!0,transition:!0,units:&quot;milliseconds&quot;}},paint_background:{&quot;background-color&quot;:{type:&quot;color&quot;,default:&quot;#000000&quot;,function:&quot;interpolated&quot;,&quot;zoom-function&quot;:!0,transition:!0,requires:[{&quot;!&quot;:&quot;background-pattern&quot;}]},&quot;background-pattern&quot;:{type:&quot;string&quot;,function:&quot;piecewise-constant&quot;,&quot;zoom-function&quot;:!0,transition:!0},&quot;background-opacity&quot;:{type:&quot;number&quot;,default:1,minimum:0,maximum:1,function:&quot;interpolated&quot;,&quot;zoom-function&quot;:!0,transition:!0}},transition:{duration:{type:&quot;number&quot;,default:300,minimum:0,units:&quot;milliseconds&quot;},delay:{type:&quot;number&quot;,default:0,minimum:0,units:&quot;milliseconds&quot;}}}},{}],318:[function(t,e,r){&quot;use strict&quot;;function n(t){return!!(&quot;undefined&quot;!=typeof window&amp;&amp;&quot;undefined&quot;!=typeof document&amp;&amp;Array.prototype&amp;&amp;Array.prototype.every&amp;&amp;Array.prototype.filter&amp;&amp;Array.prototype.forEach&amp;&amp;Array.prototype.indexOf&amp;&amp;Array.prototype.lastIndexOf&amp;&amp;Array.prototype.map&amp;&amp;Array.prototype.some&amp;&amp;Array.prototype.reduce&amp;&amp;Array.prototype.reduceRight&amp;&amp;Array.isArray&amp;&amp;Function.prototype&amp;&amp;Function.prototype.bind&amp;&amp;Object.keys&amp;&amp;Object.create&amp;&amp;Object.getPrototypeOf&amp;&amp;Object.getOwnPropertyNames&amp;&amp;Object.isSealed&amp;&amp;Object.isFrozen&amp;&amp;Object.isExtensible&amp;&amp;Object.getOwnPropertyDescriptor&amp;&amp;Object.defineProperty&amp;&amp;Object.defineProperties&amp;&amp;Object.seal&amp;&amp;Object.freeze&amp;&amp;Object.preventExtensions&amp;&amp;&quot;JSON&quot;in window&amp;&amp;&quot;parse&quot;in JSON&amp;&amp;&quot;stringify&quot;in JSON&amp;&amp;&quot;Worker&quot;in window&amp;&amp;&quot;Uint8ClampedArray&quot;in window&amp;&amp;function(t){void 0===i[t]&amp;&amp;(i[t]=function(t){var e=document.createElement(&quot;canvas&quot;),r=Object.create(n.webGLContextAttributes);return r.failIfMajorPerformanceCaveat=t,e.probablySupportsContext?e.probablySupportsContext(&quot;webgl&quot;,r)||e.probablySupportsContext(&quot;experimental-webgl&quot;,r):e.supportsContext?e.supportsContext(&quot;webgl&quot;,r)||e.supportsContext(&quot;experimental-webgl&quot;,r):e.getContext(&quot;webgl&quot;,r)||e.getContext(&quot;experimental-webgl&quot;,r)}(t));return i[t]}(t&amp;&amp;t.failIfMajorPerformanceCaveat))}void 0!==e&amp;&amp;e.exports?e.exports=n:window&amp;&amp;(window.mapboxgl=window.mapboxgl||{},window.mapboxgl.supported=n);var i={};n.webGLContextAttributes={antialias:!1,alpha:!0,stencil:!0,depth:!0}},{}],319:[function(t,e,r){&quot;use strict&quot;;function n(t){var e=t.layoutVertexArrayType;this.layoutVertexArray=new e;var r=t.elementArrayType;r&amp;&amp;(this.elementArray=new r);var n=t.elementArrayType2;n&amp;&amp;(this.elementArray2=new n),this.paintVertexArrays=i.mapObject(t.paintVertexArrayTypes,function(t){return new t})}var i=t(&quot;../util/util&quot;);e.exports=n,n.MAX_VERTEX_ARRAY_LENGTH=Math.pow(2,16)-1,n.prototype.hasCapacityFor=function(t){return this.layoutVertexArray.length+t&lt;=n.MAX_VERTEX_ARRAY_LENGTH},n.prototype.isEmpty=function(){return 0===this.layoutVertexArray.length},n.prototype.trim=function(){this.layoutVertexArray.trim(),this.elementArray&amp;&amp;this.elementArray.trim(),this.elementArray2&amp;&amp;this.elementArray2.trim();for(var t in this.paintVertexArrays)this.paintVertexArrays[t].trim()},n.prototype.serialize=function(){return{layoutVertexArray:this.layoutVertexArray.serialize(),elementArray:this.elementArray&amp;&amp;this.elementArray.serialize(),elementArray2:this.elementArray2&amp;&amp;this.elementArray2.serialize(),paintVertexArrays:i.mapObject(this.paintVertexArrays,function(t){return t.serialize()})}},n.prototype.getTransferables=function(t){t.push(this.layoutVertexArray.arrayBuffer),this.elementArray&amp;&amp;t.push(this.elementArray.arrayBuffer),this.elementArray2&amp;&amp;t.push(this.elementArray2.arrayBuffer);for(var e in this.paintVertexArrays)t.push(this.paintVertexArrays[e].arrayBuffer)}},{&quot;../util/util&quot;:433}],320:[function(t,e,r){&quot;use strict&quot;;function n(t){if(this.zoom=t.zoom,this.overscaling=t.overscaling,this.layer=t.layer,this.childLayers=t.childLayers,this.type=this.layer.type,this.features=[],this.id=this.layer.id,this.index=t.index,this.sourceLayer=this.layer.sourceLayer,this.sourceLayerIndex=t.sourceLayerIndex,this.minZoom=this.layer.minzoom,this.maxZoom=this.layer.maxzoom,this.paintAttributes=function(t){var e={};for(var r in t.programInterfaces){for(var n=e[r]={},a=0;a&lt;t.childLayers.length;a++){var o=t.childLayers[a];n[o.id]={attributes:[],uniforms:[],defines:[],vertexPragmas:{define:{},initialize:{}},fragmentPragmas:{define:{},initialize:{}}}}var s=t.programInterfaces[r];if(s.paintAttributes)for(var c=&quot;{precision}&quot;,f=&quot;{type}&quot;,h=0;h&lt;s.paintAttributes.length;h++){var d=s.paintAttributes[h];d.multiplier=d.multiplier||1;for(var p=0;p&lt;t.childLayers.length;p++){var m=t.childLayers[p],g=n[m.id],v=d.name;u(&quot;a_&quot;===d.name.slice(0,2));var y,x=d.name.slice(2);if(g.fragmentPragmas.initialize[x]=&quot;&quot;,m.isPaintValueFeatureConstant(d.paintProperty))g.uniforms.push(d),g.fragmentPragmas.define[x]=g.vertexPragmas.define[x]=[&quot;uniform&quot;,c,f,v].join(&quot; &quot;)+&quot;;&quot;,g.fragmentPragmas.initialize[x]=g.vertexPragmas.initialize[x]=[c,f,x,&quot;=&quot;,v].join(&quot; &quot;)+&quot;;\n&quot;;else if(m.isPaintValueZoomConstant(d.paintProperty)){g.attributes.push(l.extend({},d,{name:v})),y=[&quot;varying&quot;,c,f,x].join(&quot; &quot;)+&quot;;\n&quot;;var b=[g.fragmentPragmas.define[x],&quot;attribute&quot;,c,f,v].join(&quot; &quot;)+&quot;;\n&quot;;g.fragmentPragmas.define[x]=y,g.vertexPragmas.define[x]=y+b,g.vertexPragmas.initialize[x]=[x,&quot;=&quot;,v,&quot;/&quot;,d.multiplier.toFixed(1)].join(&quot; &quot;)+&quot;;\n&quot;}else{for(var _=&quot;u_&quot;+v.slice(2)+&quot;_t&quot;,w=m.getPaintValueStopZoomLevels(d.paintProperty),M=0;M&lt;w.length&amp;&amp;w[M]&lt;t.zoom;)M++;for(var k=Math.max(0,Math.min(w.length-4,M-2)),A=[],T=0;T&lt;4;T++)A.push(w[Math.min(k+T,w.length-1)]);y=[&quot;varying&quot;,c,f,x].join(&quot; &quot;)+&quot;;\n&quot;,g.vertexPragmas.define[x]=y+[&quot;uniform&quot;,&quot;lowp&quot;,&quot;float&quot;,_].join(&quot; &quot;)+&quot;;\n&quot;,g.fragmentPragmas.define[x]=y,g.uniforms.push(l.extend({},d,{name:_,getValue:function(t,e){return function(r,n){var i=r.getPaintInterpolationT(t.paintProperty,n.zoom);return[Math.max(0,Math.min(4,i-e))]}}(d,k),components:1}));var S=d.components;if(1===S)g.attributes.push(l.extend({},d,{getValue:i(d,A),isFunction:!0,components:4*S})),g.vertexPragmas.define[x]+=[&quot;attribute&quot;,c,&quot;vec4&quot;,v].join(&quot; &quot;)+&quot;;\n&quot;,g.vertexPragmas.initialize[x]=[x,&quot;=&quot;,&quot;evaluate_zoom_function_1(&quot;+v+&quot;, &quot;+_+&quot;)&quot;,&quot;/&quot;,d.multiplier.toFixed(1)].join(&quot; &quot;)+&quot;;\n&quot;;else{for(var E=[],L=0;L&lt;4;L++)E.push(v+L),g.attributes.push(l.extend({},d,{getValue:i(d,[A[L]]),isFunction:!0,name:v+L})),g.vertexPragmas.define[x]+=[&quot;attribute&quot;,c,f,v+L].join(&quot; &quot;)+&quot;;\n&quot;;g.vertexPragmas.initialize[x]=[x,&quot; = &quot;,&quot;evaluate_zoom_function_4(&quot;+E.join(&quot;, &quot;)+&quot;, &quot;+_+&quot;)&quot;,&quot;/&quot;,d.multiplier.toFixed(1)].join(&quot; &quot;)+&quot;;\n&quot;}}}}}return e}(this),t.arrays){var e=this.programInterfaces;this.bufferGroups=l.mapObject(t.arrays,function(r,n){var i=e[n],a=t.paintVertexArrayTypes[n];return r.map(function(t){return new s(t,{layoutVertexArrayType:i.layoutVertexArrayType.serialize(),elementArrayType:i.elementArrayType&amp;&amp;i.elementArrayType.serialize(),elementArrayType2:i.elementArrayType2&amp;&amp;i.elementArrayType2.serialize(),paintVertexArrayTypes:a})})})}}function i(t,e){return function(r,n,i){if(1===e.length)return t.getValue(r,l.extend({},n,{zoom:e[0]}),i);for(var a=[],o=0;o&lt;e.length;o++){var s=e[o];a.push(t.getValue(r,l.extend({},n,{zoom:s}),i)[0])}return a}}var a=t(&quot;feature-filter&quot;),o=t(&quot;./array_group&quot;),s=t(&quot;./buffer_group&quot;),l=t(&quot;../util/util&quot;),c=t(&quot;../util/struct_array&quot;),u=t(&quot;assert&quot;);e.exports=n,n.create=function(e){return new({fill:t(&quot;./bucket/fill_bucket&quot;),line:t(&quot;./bucket/line_bucket&quot;),circle:t(&quot;./bucket/circle_bucket&quot;),symbol:t(&quot;./bucket/symbol_bucket&quot;)}[e.layer.type])(e)},n.EXTENT=8192,n.prototype.populateArrays=function(){this.createArrays(),this.recalculateStyleLayers();for(var t=0;t&lt;this.features.length;t++)this.addFeature(this.features[t]);this.trimArrays()},n.prototype.prepareArrayGroup=function(t,e){var r=this.arrayGroups[t],n=r.length&amp;&amp;r[r.length-1];return n&amp;&amp;n.hasCapacityFor(e)||((n=new o({layoutVertexArrayType:this.programInterfaces[t].layoutVertexArrayType,elementArrayType:this.programInterfaces[t].elementArrayType,elementArrayType2:this.programInterfaces[t].elementArrayType2,paintVertexArrayTypes:this.paintVertexArrayTypes[t]})).index=r.length,r.push(n)),n},n.prototype.createArrays=function(){this.arrayGroups={},this.paintVertexArrayTypes={};for(var t in this.programInterfaces){this.arrayGroups[t]=[];var e=this.paintVertexArrayTypes[t]={},r=this.paintAttributes[t];for(var i in r)e[i]=new n.VertexArrayType(r[i].attributes)}},n.prototype.destroy=function(t){for(var e in this.bufferGroups)for(var r=this.bufferGroups[e],n=0;n&lt;r.length;n++)r[n].destroy(t)},n.prototype.trimArrays=function(){for(var t in this.arrayGroups)for(var e=this.arrayGroups[t],r=0;r&lt;e.length;r++)e[r].trim()},n.prototype.isEmpty=function(){for(var t in this.arrayGroups)for(var e=this.arrayGroups[t],r=0;r&lt;e.length;r++)if(!e[r].isEmpty())return!1;return!0},n.prototype.getTransferables=function(t){for(var e in this.arrayGroups)for(var r=this.arrayGroups[e],n=0;n&lt;r.length;n++)r[n].getTransferables(t)},n.prototype.setUniforms=function(t,e,r,n,i){for(var a=this.paintAttributes[e][n.id].uniforms,o=0;o&lt;a.length;o++){var s=a[o],l=r[s.name];t[&quot;uniform&quot;+s.components+&quot;fv&quot;](l,s.getValue(n,i))}},n.prototype.serialize=function(){return{layerId:this.layer.id,zoom:this.zoom,arrays:l.mapObject(this.arrayGroups,function(t){return t.map(function(t){return t.serialize()})}),paintVertexArrayTypes:l.mapObject(this.paintVertexArrayTypes,function(t){return l.mapObject(t,function(t){return t.serialize()})}),childLayerIds:this.childLayers.map(function(t){return t.id})}},n.prototype.createFilter=function(){this.filter||(this.filter=a(this.layer.filter))};var f={lastIntegerZoom:1/0,lastIntegerZoomTime:0,lastZoom:0};n.prototype.recalculateStyleLayers=function(){for(var t=0;t&lt;this.childLayers.length;t++)this.childLayers[t].recalculate(this.zoom,f)},n.prototype.populatePaintArrays=function(t,e,r,n,i){for(var a=0;a&lt;this.childLayers.length;a++)for(var o=this.childLayers[a],s=this.arrayGroups[t],l=n.index;l&lt;s.length;l++){var c=s[l],u=c.layoutVertexArray.length,f=c.paintVertexArrays[o.id];f.resize(u);for(var h=this.paintAttributes[t][o.id].attributes,d=0;d&lt;h.length;d++)for(var p=h[d],m=p.getValue(o,e,r),g=p.multiplier||1,v=p.components||1,y=l===n.index?i:0;y&lt;u;y++)for(var x=f.get(y),b=0;b&lt;v;b++){x[v&gt;1?p.name+b:p.name]=m[b]*g}}},n.VertexArrayType=function(t){return new c({members:t,alignment:4})},n.ElementArrayType=function(t){return new c({members:[{type:&quot;Uint16&quot;,name:&quot;vertices&quot;,components:t||3}]})}},{&quot;../util/struct_array&quot;:431,&quot;../util/util&quot;:433,&quot;./array_group&quot;:319,&quot;./bucket/circle_bucket&quot;:321,&quot;./bucket/fill_bucket&quot;:322,&quot;./bucket/line_bucket&quot;:323,&quot;./bucket/symbol_bucket&quot;:324,&quot;./buffer_group&quot;:326,assert:51,&quot;feature-filter&quot;:141}],321:[function(t,e,r){&quot;use strict&quot;;function n(){i.apply(this,arguments)}var i=t(&quot;../bucket&quot;),a=t(&quot;../../util/util&quot;),o=t(&quot;../load_geometry&quot;),s=i.EXTENT;e.exports=n,(n.prototype=a.inherit(i,{})).addCircleVertex=function(t,e,r,n,i){return t.emplaceBack(2*e+(n+1)/2,2*r+(i+1)/2)},n.prototype.programInterfaces={circle:{layoutVertexArrayType:new i.VertexArrayType([{name:&quot;a_pos&quot;,components:2,type:&quot;Int16&quot;}]),elementArrayType:new i.ElementArrayType,paintAttributes:[{name:&quot;a_color&quot;,components:4,type:&quot;Uint8&quot;,getValue:function(t,e,r){return t.getPaintValue(&quot;circle-color&quot;,e,r)},multiplier:255,paintProperty:&quot;circle-color&quot;},{name:&quot;a_radius&quot;,components:1,type:&quot;Uint16&quot;,isLayerConstant:!1,getValue:function(t,e,r){return[t.getPaintValue(&quot;circle-radius&quot;,e,r)]},multiplier:10,paintProperty:&quot;circle-radius&quot;},{name:&quot;a_blur&quot;,components:1,type:&quot;Uint16&quot;,isLayerConstant:!1,getValue:function(t,e,r){return[t.getPaintValue(&quot;circle-blur&quot;,e,r)]},multiplier:10,paintProperty:&quot;circle-blur&quot;},{name:&quot;a_opacity&quot;,components:1,type:&quot;Uint16&quot;,isLayerConstant:!1,getValue:function(t,e,r){return[t.getPaintValue(&quot;circle-opacity&quot;,e,r)]},multiplier:255,paintProperty:&quot;circle-opacity&quot;}]}},n.prototype.addFeature=function(t){for(var e={zoom:this.zoom},r=o(t),n=this.prepareArrayGroup(&quot;circle&quot;,0),i=n.layoutVertexArray.length,a=0;a&lt;r.length;a++)for(var l=0;l&lt;r[a].length;l++){var c=r[a][l].x,u=r[a][l].y;if(!(c&lt;0||c&gt;=s||u&lt;0||u&gt;=s)){var f=this.prepareArrayGroup(&quot;circle&quot;,4),h=f.layoutVertexArray,d=this.addCircleVertex(h,c,u,-1,-1);this.addCircleVertex(h,c,u,1,-1),this.addCircleVertex(h,c,u,1,1),this.addCircleVertex(h,c,u,-1,1),f.elementArray.emplaceBack(d,d+1,d+2),f.elementArray.emplaceBack(d,d+3,d+2)}}this.populatePaintArrays(&quot;circle&quot;,e,t.properties,n,i)}},{&quot;../../util/util&quot;:433,&quot;../bucket&quot;:320,&quot;../load_geometry&quot;:328}],322:[function(t,e,r){&quot;use strict&quot;;function n(){i.apply(this,arguments)}var i=t(&quot;../bucket&quot;),a=t(&quot;../../util/util&quot;),o=t(&quot;../load_geometry&quot;),s=t(&quot;earcut&quot;),l=t(&quot;../../util/classify_rings&quot;);e.exports=n,(n.prototype=a.inherit(i,{})).programInterfaces={fill:{layoutVertexArrayType:new i.VertexArrayType([{name:&quot;a_pos&quot;,components:2,type:&quot;Int16&quot;}]),elementArrayType:new i.ElementArrayType(1),elementArrayType2:new i.ElementArrayType(2),paintAttributes:[{name:&quot;a_color&quot;,components:4,type:&quot;Uint8&quot;,getValue:function(t,e,r){return t.getPaintValue(&quot;fill-color&quot;,e,r)},multiplier:255,paintProperty:&quot;fill-color&quot;},{name:&quot;a_outline_color&quot;,components:4,type:&quot;Uint8&quot;,getValue:function(t,e,r){return t.getPaintValue(&quot;fill-outline-color&quot;,e,r)},multiplier:255,paintProperty:&quot;fill-outline-color&quot;},{name:&quot;a_opacity&quot;,components:1,type:&quot;Uint8&quot;,getValue:function(t,e,r){return[t.getPaintValue(&quot;fill-opacity&quot;,e,r)]},multiplier:255,paintProperty:&quot;fill-opacity&quot;}]}},n.prototype.addFeature=function(t){for(var e=o(t),r=l(e,500),n=this.prepareArrayGroup(&quot;fill&quot;,0),i=n.layoutVertexArray.length,a=0;a&lt;r.length;a++)this.addPolygon(r[a]);this.populatePaintArrays(&quot;fill&quot;,{zoom:this.zoom},t.properties,n,i)},n.prototype.addPolygon=function(t){for(var e=0,r=0;r&lt;t.length;r++)e+=t[r].length;for(var n=this.prepareArrayGroup(&quot;fill&quot;,e),i=[],a=[],o=n.layoutVertexArray.length,l=0;l&lt;t.length;l++){var c=t[l];l&gt;0&amp;&amp;a.push(i.length/2);for(var u=0;u&lt;c.length;u++){var f=c[u],h=n.layoutVertexArray.emplaceBack(f.x,f.y);u&gt;=1&amp;&amp;n.elementArray2.emplaceBack(h-1,h),i.push(f.x),i.push(f.y)}}for(var d=s(i,a),p=0;p&lt;d.length;p++)n.elementArray.emplaceBack(d[p]+o)}},{&quot;../../util/classify_rings&quot;:421,&quot;../../util/util&quot;:433,&quot;../bucket&quot;:320,&quot;../load_geometry&quot;:328,earcut:135}],323:[function(t,e,r){&quot;use strict&quot;;function n(){i.apply(this,arguments)}var i=t(&quot;../bucket&quot;),a=t(&quot;../../util/util&quot;),o=t(&quot;../load_geometry&quot;),s=i.EXTENT,l=Math.cos(Math.PI/180*37.5),c=Math.pow(2,14)/.5;e.exports=n,(n.prototype=a.inherit(i,{})).addLineVertex=function(t,e,r,n,i,a,o){return t.emplaceBack(e.x&lt;&lt;1|n,e.y&lt;&lt;1|i,Math.round(63*r.x)+128,Math.round(63*r.y)+128,1+(0===a?0:a&lt;0?-1:1)|(.5*o&amp;63)&lt;&lt;2,.5*o&gt;&gt;6)},n.prototype.programInterfaces={line:{layoutVertexArrayType:new i.VertexArrayType([{name:&quot;a_pos&quot;,components:2,type:&quot;Int16&quot;},{name:&quot;a_data&quot;,components:4,type:&quot;Uint8&quot;}]),elementArrayType:new i.ElementArrayType}},n.prototype.addFeature=function(t){for(var e=o(t,15),r=0;r&lt;e.length;r++)this.addLine(e[r],this.layer.layout[&quot;line-join&quot;],this.layer.layout[&quot;line-cap&quot;],this.layer.layout[&quot;line-miter-limit&quot;],this.layer.layout[&quot;line-round-limit&quot;])},n.prototype.addLine=function(t,e,r,n,i){for(var a=t.length;a&gt;2&amp;&amp;t[a-1].equals(t[a-2]);)a--;if(!(t.length&lt;2)){&quot;bevel&quot;===e&amp;&amp;(n=1.05);var o=s/(512*this.overscaling)*15,c=t[0],u=t[a-1],f=c.equals(u);if(this.prepareArrayGroup(&quot;line&quot;,10*a),2!==a||!f){this.distance=0;var h,d,p,m,g,v,y,x=r,b=f?&quot;butt&quot;:r,_=!0;this.e1=this.e2=this.e3=-1,f&amp;&amp;(h=t[a-2],g=c.sub(h)._unit()._perp());for(var w=0;w&lt;a;w++)if(!(p=f&amp;&amp;w===a-1?t[1]:t[w+1])||!t[w].equals(p)){g&amp;&amp;(m=g),h&amp;&amp;(d=h),h=t[w],g=p?p.sub(h)._unit()._perp():m;var M=(m=m||g).add(g)._unit(),k=M.x*g.x+M.y*g.y,A=1/k,T=k&lt;l&amp;&amp;d&amp;&amp;p;if(T&amp;&amp;w&gt;0){var S=h.dist(d);if(S&gt;2*o){var E=h.sub(h.sub(d)._mult(o/S)._round());this.distance+=E.dist(d),this.addCurrentVertex(E,this.distance,m.mult(1),0,0,!1),d=E}}var L=d&amp;&amp;p,C=L?e:p?x:b;if(L&amp;&amp;&quot;round&quot;===C&amp;&amp;(A&lt;i?C=&quot;miter&quot;:A&lt;=2&amp;&amp;(C=&quot;fakeround&quot;)),&quot;miter&quot;===C&amp;&amp;A&gt;n&amp;&amp;(C=&quot;bevel&quot;),&quot;bevel&quot;===C&amp;&amp;(A&gt;2&amp;&amp;(C=&quot;flipbevel&quot;),A&lt;n&amp;&amp;(C=&quot;miter&quot;)),d&amp;&amp;(this.distance+=h.dist(d)),&quot;miter&quot;===C)M._mult(A),this.addCurrentVertex(h,this.distance,M,0,0,!1);else if(&quot;flipbevel&quot;===C){if(A&gt;100)M=g.clone();else{var z=m.x*g.y-m.y*g.x&gt;0?-1:1,D=A*m.add(g).mag()/m.sub(g).mag();M._perp()._mult(D*z)}this.addCurrentVertex(h,this.distance,M,0,0,!1),this.addCurrentVertex(h,this.distance,M.mult(-1),0,0,!1)}else if(&quot;bevel&quot;===C||&quot;fakeround&quot;===C){var I=m.x*g.y-m.y*g.x&gt;0,P=-Math.sqrt(A*A-1);if(I?(y=0,v=P):(v=0,y=P),_||this.addCurrentVertex(h,this.distance,m,v,y,!1),&quot;fakeround&quot;===C){for(var O,F=Math.floor(8*(.5-(k-.5))),R=0;R&lt;F;R++)O=g.mult((R+1)/(F+1))._add(m)._unit(),this.addPieSliceVertex(h,this.distance,O,I);this.addPieSliceVertex(h,this.distance,M,I);for(var N=F-1;N&gt;=0;N--)O=m.mult((N+1)/(F+1))._add(g)._unit(),this.addPieSliceVertex(h,this.distance,O,I)}p&amp;&amp;this.addCurrentVertex(h,this.distance,g,-v,-y,!1)}else&quot;butt&quot;===C?(_||this.addCurrentVertex(h,this.distance,m,0,0,!1),p&amp;&amp;this.addCurrentVertex(h,this.distance,g,0,0,!1)):&quot;square&quot;===C?(_||(this.addCurrentVertex(h,this.distance,m,1,1,!1),this.e1=this.e2=-1),p&amp;&amp;this.addCurrentVertex(h,this.distance,g,-1,-1,!1)):&quot;round&quot;===C&amp;&amp;(_||(this.addCurrentVertex(h,this.distance,m,0,0,!1),this.addCurrentVertex(h,this.distance,m,1,1,!0),this.e1=this.e2=-1),p&amp;&amp;(this.addCurrentVertex(h,this.distance,g,-1,-1,!0),this.addCurrentVertex(h,this.distance,g,0,0,!1)));if(T&amp;&amp;w&lt;a-1){var j=h.dist(p);if(j&gt;2*o){var B=h.add(p.sub(h)._mult(o/j)._round());this.distance+=B.dist(h),this.addCurrentVertex(B,this.distance,g.mult(1),0,0,!1),h=B}}_=!1}}}},n.prototype.addCurrentVertex=function(t,e,r,n,i,a){var o,s=a?1:0,l=this.arrayGroups.line[this.arrayGroups.line.length-1],u=l.layoutVertexArray,f=l.elementArray;o=r.clone(),n&amp;&amp;o._sub(r.perp()._mult(n)),this.e3=this.addLineVertex(u,t,o,s,0,n,e),this.e1&gt;=0&amp;&amp;this.e2&gt;=0&amp;&amp;f.emplaceBack(this.e1,this.e2,this.e3),this.e1=this.e2,this.e2=this.e3,o=r.mult(-1),i&amp;&amp;o._sub(r.perp()._mult(i)),this.e3=this.addLineVertex(u,t,o,s,1,-i,e),this.e1&gt;=0&amp;&amp;this.e2&gt;=0&amp;&amp;f.emplaceBack(this.e1,this.e2,this.e3),this.e1=this.e2,this.e2=this.e3,e&gt;c/2&amp;&amp;(this.distance=0,this.addCurrentVertex(t,this.distance,r,n,i,a))},n.prototype.addPieSliceVertex=function(t,e,r,n){var i=n?1:0;r=r.mult(n?-1:1);var a=this.arrayGroups.line[this.arrayGroups.line.length-1],o=a.layoutVertexArray,s=a.elementArray;this.e3=this.addLineVertex(o,t,r,0,i,0,e),this.e1&gt;=0&amp;&amp;this.e2&gt;=0&amp;&amp;s.emplaceBack(this.e1,this.e2,this.e3),n?this.e2=this.e3:this.e1=this.e3}},{&quot;../../util/util&quot;:433,&quot;../bucket&quot;:320,&quot;../load_geometry&quot;:328}],324:[function(t,e,r){&quot;use strict&quot;;function n(t){o.apply(this,arguments),this.showCollisionBoxes=t.showCollisionBoxes,this.overscaling=t.overscaling,this.collisionBoxArray=t.collisionBoxArray,this.symbolQuadsArray=t.symbolQuadsArray,this.symbolInstancesArray=t.symbolInstancesArray,this.sdfIcons=t.sdfIcons,this.iconsNeedLinear=t.iconsNeedLinear,this.adjustedTextSize=t.adjustedTextSize,this.adjustedIconSize=t.adjustedIconSize,this.fontstack=t.fontstack}function i(t,e,r,n,i,a,o,s,l,c,u){return t.emplaceBack(e,r,Math.round(64*n),Math.round(64*i),a/4,o/4,10*(c||0),u,10*(s||0),10*Math.min(l||25,25))}var a=t(&quot;point-geometry&quot;),o=t(&quot;../bucket&quot;),s=t(&quot;../../symbol/anchor&quot;),l=t(&quot;../../symbol/get_anchors&quot;),c=t(&quot;../../util/token&quot;),u=t(&quot;../../symbol/quads&quot;),f=t(&quot;../../symbol/shaping&quot;),h=t(&quot;../../symbol/resolve_text&quot;),d=t(&quot;../../symbol/mergelines&quot;),p=t(&quot;../../symbol/clip_line&quot;),m=t(&quot;../../util/util&quot;),g=t(&quot;../load_geometry&quot;),v=t(&quot;../../symbol/collision_feature&quot;),y=f.shapeText,x=f.shapeIcon,b=u.getGlyphQuads,_=u.getIconQuads,w=o.EXTENT;e.exports=n,n.MAX_QUADS=65535,(n.prototype=m.inherit(o,{})).serialize=function(){var t=o.prototype.serialize.apply(this);return t.sdfIcons=this.sdfIcons,t.iconsNeedLinear=this.iconsNeedLinear,t.adjustedTextSize=this.adjustedTextSize,t.adjustedIconSize=this.adjustedIconSize,t.fontstack=this.fontstack,t};var M=new o.VertexArrayType([{name:&quot;a_pos&quot;,components:2,type:&quot;Int16&quot;},{name:&quot;a_offset&quot;,components:2,type:&quot;Int16&quot;},{name:&quot;a_texture_pos&quot;,components:2,type:&quot;Uint16&quot;},{name:&quot;a_data&quot;,components:4,type:&quot;Uint8&quot;}]),k=new o.ElementArrayType;n.prototype.addCollisionBoxVertex=function(t,e,r,n,i){return t.emplaceBack(e.x,e.y,Math.round(r.x),Math.round(r.y),10*n,10*i)},n.prototype.programInterfaces={glyph:{layoutVertexArrayType:M,elementArrayType:k},icon:{layoutVertexArrayType:M,elementArrayType:k},collisionBox:{layoutVertexArrayType:new o.VertexArrayType([{name:&quot;a_pos&quot;,components:2,type:&quot;Int16&quot;},{name:&quot;a_extrude&quot;,components:2,type:&quot;Int16&quot;},{name:&quot;a_data&quot;,components:2,type:&quot;Uint8&quot;}])}},n.prototype.populateArrays=function(t,e,r){var n={lastIntegerZoom:1/0,lastIntegerZoomTime:0,lastZoom:0};this.adjustedTextMaxSize=this.layer.getLayoutValue(&quot;text-size&quot;,{zoom:18,zoomHistory:n}),this.adjustedTextSize=this.layer.getLayoutValue(&quot;text-size&quot;,{zoom:this.zoom+1,zoomHistory:n}),this.adjustedIconMaxSize=this.layer.getLayoutValue(&quot;icon-size&quot;,{zoom:18,zoomHistory:n}),this.adjustedIconSize=this.layer.getLayoutValue(&quot;icon-size&quot;,{zoom:this.zoom+1,zoomHistory:n});var i=512*this.overscaling;this.tilePixelRatio=w/i,this.compareText={},this.iconsNeedLinear=!1,this.symbolInstancesStartIndex=this.symbolInstancesArray.length;var a=this.layer.layout,o=this.features,s=this.textFeatures,l=.5,u=.5;switch(a[&quot;text-anchor&quot;]){case&quot;right&quot;:case&quot;top-right&quot;:case&quot;bottom-right&quot;:l=1;break;case&quot;left&quot;:case&quot;top-left&quot;:case&quot;bottom-left&quot;:l=0}switch(a[&quot;text-anchor&quot;]){case&quot;bottom&quot;:case&quot;bottom-right&quot;:case&quot;bottom-left&quot;:u=1;break;case&quot;top&quot;:case&quot;top-right&quot;:case&quot;top-left&quot;:u=0}for(var f=&quot;right&quot;===a[&quot;text-justify&quot;]?1:&quot;left&quot;===a[&quot;text-justify&quot;]?0:.5,h=24*a[&quot;text-line-height&quot;],p=&quot;line&quot;!==a[&quot;symbol-placement&quot;]?24*a[&quot;text-max-width&quot;]:0,v=24*a[&quot;text-letter-spacing&quot;],b=[24*a[&quot;text-offset&quot;][0],24*a[&quot;text-offset&quot;][1]],_=this.fontstack=a[&quot;text-font&quot;].join(&quot;,&quot;),M=[],k=0;k&lt;o.length;k++)M.push(g(o[k]));if(&quot;line&quot;===a[&quot;symbol-placement&quot;]){var A=d(o,s,M);M=A.geometries,o=A.features,s=A.textFeatures}for(var T,S,E=0;E&lt;o.length;E++)if(M[E]){if(T=s[E]?y(s[E],e[_],p,h,l,u,f,v,b):null,a[&quot;icon-image&quot;]){var L=r[c(o[E].properties,a[&quot;icon-image&quot;])];S=x(L,a),L&amp;&amp;(void 0===this.sdfIcons?this.sdfIcons=L.sdf:this.sdfIcons!==L.sdf&amp;&amp;m.warnOnce(&quot;Style sheet warning: Cannot mix SDF and non-SDF icons in one buffer&quot;),1!==L.pixelRatio?this.iconsNeedLinear=!0:0===a[&quot;icon-rotate&quot;]&amp;&amp;this.layer.isLayoutValueFeatureConstant(&quot;icon-rotate&quot;)||(this.iconsNeedLinear=!0))}else S=null;(T||S)&amp;&amp;this.addFeature(M[E],T,S,o[E])}this.symbolInstancesEndIndex=this.symbolInstancesArray.length,this.placeFeatures(t,this.showCollisionBoxes),this.trimArrays()},n.prototype.addFeature=function(t,e,r,n){var i=this.layer.layout,a=this.adjustedTextSize/24,o=void 0!==this.adjustedTextMaxSize?this.adjustedTextMaxSize:this.adjustedTextSize,c=this.tilePixelRatio*a,u=this.tilePixelRatio*o/24,f=this.tilePixelRatio*this.adjustedIconSize,h=this.tilePixelRatio*i[&quot;symbol-spacing&quot;],d=i[&quot;symbol-avoid-edges&quot;],m=i[&quot;text-padding&quot;]*this.tilePixelRatio,g=i[&quot;icon-padding&quot;]*this.tilePixelRatio,v=i[&quot;text-max-angle&quot;]/180*Math.PI,y=&quot;map&quot;===i[&quot;text-rotation-alignment&quot;]&amp;&amp;&quot;line&quot;===i[&quot;symbol-placement&quot;],x=&quot;map&quot;===i[&quot;icon-rotation-alignment&quot;]&amp;&amp;&quot;line&quot;===i[&quot;symbol-placement&quot;],b=i[&quot;text-allow-overlap&quot;]||i[&quot;icon-allow-overlap&quot;]||i[&quot;text-ignore-placement&quot;]||i[&quot;icon-ignore-placement&quot;],_=&quot;line&quot;===i[&quot;symbol-placement&quot;],M=h/2;_&amp;&amp;(t=p(t,0,0,w,w));for(var k=0;k&lt;t.length;k++)for(var A,T=t[k],S=0,E=(A=_?l(T,h,v,e,r,24,u,this.overscaling,w):[new s(T[0].x,T[0].y,0)]).length;S&lt;E;S++){var L=A[S];if(!(e&amp;&amp;_&amp;&amp;this.anchorIsTooClose(e.text,M,L))){var C=!(L.x&lt;0||L.x&gt;w||L.y&lt;0||L.y&gt;w);if(!d||C){var z=C||b;this.addSymbolInstance(L,T,e,r,this.layer,z,this.symbolInstancesArray.length,this.collisionBoxArray,n.index,this.sourceLayerIndex,this.index,c,m,y,f,g,x,{zoom:this.zoom},n.properties)}}}},n.prototype.anchorIsTooClose=function(t,e,r){var n=this.compareText;if(t in n){for(var i=n[t],a=i.length-1;a&gt;=0;a--)if(r.dist(i[a])&lt;e)return!0}else n[t]=[];return n[t].push(r),!1},n.prototype.placeFeatures=function(t,e){this.recalculateStyleLayers(),this.createArrays();var r=this.layer.layout,n=t.maxScale,i=&quot;map&quot;===r[&quot;text-rotation-alignment&quot;]&amp;&amp;&quot;line&quot;===r[&quot;symbol-placement&quot;],a=&quot;map&quot;===r[&quot;icon-rotation-alignment&quot;]&amp;&amp;&quot;line&quot;===r[&quot;symbol-placement&quot;];if(r[&quot;text-allow-overlap&quot;]||r[&quot;icon-allow-overlap&quot;]||r[&quot;text-ignore-placement&quot;]||r[&quot;icon-ignore-placement&quot;]){var o=this.symbolInstancesArray.toArray(this.symbolInstancesStartIndex,this.symbolInstancesEndIndex),s=t.angle,l=Math.sin(s),c=Math.cos(s);this.sortedSymbolInstances=o.sort(function(t,e){return(l*t.anchorPointX+c*t.anchorPointY|0)-(l*e.anchorPointX+c*e.anchorPointY|0)||e.index-t.index})}for(var u=this.symbolInstancesStartIndex;u&lt;this.symbolInstancesEndIndex;u++){var f=this.sortedSymbolInstances?this.sortedSymbolInstances[u-this.symbolInstancesStartIndex]:this.symbolInstancesArray.get(u),h={boxStartIndex:f.textBoxStartIndex,boxEndIndex:f.textBoxEndIndex},d={boxStartIndex:f.iconBoxStartIndex,boxEndIndex:f.iconBoxEndIndex},p=!(f.textBoxStartIndex===f.textBoxEndIndex),m=!(f.iconBoxStartIndex===f.iconBoxEndIndex),g=r[&quot;text-optional&quot;]||!p,v=r[&quot;icon-optional&quot;]||!m,y=p?t.placeCollisionFeature(h,r[&quot;text-allow-overlap&quot;],r[&quot;symbol-avoid-edges&quot;]):t.minScale,x=m?t.placeCollisionFeature(d,r[&quot;icon-allow-overlap&quot;],r[&quot;symbol-avoid-edges&quot;]):t.minScale;g||v?!v&amp;&amp;y?y=Math.max(x,y):!g&amp;&amp;x&amp;&amp;(x=Math.max(x,y)):x=y=Math.max(x,y),p&amp;&amp;(t.insertCollisionFeature(h,y,r[&quot;text-ignore-placement&quot;]),y&lt;=n&amp;&amp;this.addSymbols(&quot;glyph&quot;,f.glyphQuadStartIndex,f.glyphQuadEndIndex,y,r[&quot;text-keep-upright&quot;],i,t.angle)),m&amp;&amp;(t.insertCollisionFeature(d,x,r[&quot;icon-ignore-placement&quot;]),x&lt;=n&amp;&amp;this.addSymbols(&quot;icon&quot;,f.iconQuadStartIndex,f.iconQuadEndIndex,x,r[&quot;icon-keep-upright&quot;],a,t.angle))}e&amp;&amp;this.addToDebugBuffers(t)},n.prototype.addSymbols=function(t,e,r,n,a,o,s){for(var l=this.prepareArrayGroup(t,4*(r-e)),c=l.elementArray,u=l.layoutVertexArray,f=this.zoom,h=Math.max(Math.log(n)/Math.LN2+f,0),d=e;d&lt;r;d++){var p=this.symbolQuadsArray.get(d).SymbolQuad,m=(p.anchorAngle+s+Math.PI)%(2*Math.PI);if(!(a&amp;&amp;o&amp;&amp;(m&lt;=Math.PI/2||m&gt;3*Math.PI/2))){var g=p.tl,v=p.tr,y=p.bl,x=p.br,b=p.tex,_=p.anchorPoint,w=Math.max(f+Math.log(p.minScale)/Math.LN2,h),M=Math.min(f+Math.log(p.maxScale)/Math.LN2,25);if(!(M&lt;=w)){w===h&amp;&amp;(w=0);var k=Math.round(p.glyphAngle/(2*Math.PI)*256),A=i(u,_.x,_.y,g.x,g.y,b.x,b.y,w,M,h,k);i(u,_.x,_.y,v.x,v.y,b.x+b.w,b.y,w,M,h,k),i(u,_.x,_.y,y.x,y.y,b.x,b.y+b.h,w,M,h,k),i(u,_.x,_.y,x.x,x.y,b.x+b.w,b.y+b.h,w,M,h,k),c.emplaceBack(A,A+1,A+2),c.emplaceBack(A+1,A+2,A+3)}}}},n.prototype.updateIcons=function(t){this.recalculateStyleLayers();var e=this.layer.layout[&quot;icon-image&quot;];if(e)for(var r=0;r&lt;this.features.length;r++){var n=c(this.features[r].properties,e);n&amp;&amp;(t[n]=!0)}},n.prototype.updateFont=function(t){this.recalculateStyleLayers();var e=this.layer.layout[&quot;text-font&quot;],r=t[e]=t[e]||{};this.textFeatures=h(this.features,this.layer.layout,r)},n.prototype.addToDebugBuffers=function(t){for(var e=this.prepareArrayGroup(&quot;collisionBox&quot;,0).layoutVertexArray,r=-t.angle,n=t.yStretch,i=this.symbolInstancesStartIndex;i&lt;this.symbolInstancesEndIndex;i++){var o=this.symbolInstancesArray.get(i);o.textCollisionFeature={boxStartIndex:o.textBoxStartIndex,boxEndIndex:o.textBoxEndIndex},o.iconCollisionFeature={boxStartIndex:o.iconBoxStartIndex,boxEndIndex:o.iconBoxEndIndex};for(var s=0;s&lt;2;s++){var l=o[0===s?&quot;textCollisionFeature&quot;:&quot;iconCollisionFeature&quot;];if(l)for(var c=l.boxStartIndex;c&lt;l.boxEndIndex;c++){var u=this.collisionBoxArray.get(c),f=u.anchorPoint,h=new a(u.x1,u.y1*n)._rotate(r),d=new a(u.x2,u.y1*n)._rotate(r),p=new a(u.x1,u.y2*n)._rotate(r),m=new a(u.x2,u.y2*n)._rotate(r),g=Math.max(0,Math.min(25,this.zoom+Math.log(u.maxScale)/Math.LN2)),v=Math.max(0,Math.min(25,this.zoom+Math.log(u.placementScale)/Math.LN2));this.addCollisionBoxVertex(e,f,h,g,v),this.addCollisionBoxVertex(e,f,d,g,v),this.addCollisionBoxVertex(e,f,d,g,v),this.addCollisionBoxVertex(e,f,m,g,v),this.addCollisionBoxVertex(e,f,m,g,v),this.addCollisionBoxVertex(e,f,p,g,v),this.addCollisionBoxVertex(e,f,p,g,v),this.addCollisionBoxVertex(e,f,h,g,v)}}}},n.prototype.addSymbolInstance=function(t,e,r,i,a,o,s,l,c,u,f,h,d,p,g,y,x,w,M){var k,A,T,S,E,L,C,z;if(r&amp;&amp;(C=o?b(t,r,h,e,a,p):[],E=new v(l,e,t,c,u,f,r,h,d,p,!1)),k=this.symbolQuadsArray.length,C&amp;&amp;C.length)for(var D=0;D&lt;C.length;D++)this.addSymbolQuad(C[D]);A=this.symbolQuadsArray.length;var I=E?E.boxStartIndex:this.collisionBoxArray.length,P=E?E.boxEndIndex:this.collisionBoxArray.length;i&amp;&amp;(z=o?_(t,i,g,e,a,x,r,w,M):[],L=new v(l,e,t,c,u,f,i,g,y,x,!0)),T=this.symbolQuadsArray.length,z&amp;&amp;1===z.length&amp;&amp;this.addSymbolQuad(z[0]),S=this.symbolQuadsArray.length;var O=L?L.boxStartIndex:this.collisionBoxArray.length,F=L?L.boxEndIndex:this.collisionBoxArray.length;return S&gt;n.MAX_QUADS&amp;&amp;m.warnOnce(&quot;Too many symbols being rendered in a tile. See https://github.com/mapbox/mapbox-gl-js/issues/2907&quot;),A&gt;n.MAX_QUADS&amp;&amp;m.warnOnce(&quot;Too many glyphs being rendered in a tile. See https://github.com/mapbox/mapbox-gl-js/issues/2907&quot;),this.symbolInstancesArray.emplaceBack(I,P,O,F,k,A,T,S,t.x,t.y,s)},n.prototype.addSymbolQuad=function(t){return this.symbolQuadsArray.emplaceBack(t.anchorPoint.x,t.anchorPoint.y,t.tl.x,t.tl.y,t.tr.x,t.tr.y,t.bl.x,t.bl.y,t.br.x,t.br.y,t.tex.h,t.tex.w,t.tex.x,t.tex.y,t.anchorAngle,t.glyphAngle,t.maxScale,t.minScale)}},{&quot;../../symbol/anchor&quot;:382,&quot;../../symbol/clip_line&quot;:384,&quot;../../symbol/collision_feature&quot;:386,&quot;../../symbol/get_anchors&quot;:388,&quot;../../symbol/mergelines&quot;:391,&quot;../../symbol/quads&quot;:392,&quot;../../symbol/resolve_text&quot;:393,&quot;../../symbol/shaping&quot;:394,&quot;../../util/token&quot;:432,&quot;../../util/util&quot;:433,&quot;../bucket&quot;:320,&quot;../load_geometry&quot;:328,&quot;point-geometry&quot;:477}],325:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r){this.arrayBuffer=t.arrayBuffer,this.length=t.length,this.attributes=e.members,this.itemSize=e.bytesPerElement,this.type=r,this.arrayType=e}e.exports=n,n.prototype.bind=function(t){var e=t[this.type];this.buffer?t.bindBuffer(e,this.buffer):(this.buffer=t.createBuffer(),t.bindBuffer(e,this.buffer),t.bufferData(e,this.arrayBuffer,t.STATIC_DRAW),this.arrayBuffer=null)};var i={Int8:&quot;BYTE&quot;,Uint8:&quot;UNSIGNED_BYTE&quot;,Int16:&quot;SHORT&quot;,Uint16:&quot;UNSIGNED_SHORT&quot;};n.prototype.setVertexAttribPointers=function(t,e){for(var r=0;r&lt;this.attributes.length;r++){var n=this.attributes[r],a=e[n.name];void 0!==a&amp;&amp;t.vertexAttribPointer(a,n.components,t[i[n.type]],!1,this.arrayType.bytesPerElement,n.offset)}},n.prototype.destroy=function(t){this.buffer&amp;&amp;t.deleteBuffer(this.buffer)},n.BufferType={VERTEX:&quot;ARRAY_BUFFER&quot;,ELEMENT:&quot;ELEMENT_ARRAY_BUFFER&quot;}},{}],326:[function(t,e,r){&quot;use strict&quot;;function n(t,e){this.layoutVertexBuffer=new a(t.layoutVertexArray,e.layoutVertexArrayType,a.BufferType.VERTEX),t.elementArray&amp;&amp;(this.elementBuffer=new a(t.elementArray,e.elementArrayType,a.BufferType.ELEMENT));var r,n=this.vaos={};t.elementArray2&amp;&amp;(this.elementBuffer2=new a(t.elementArray2,e.elementArrayType2,a.BufferType.ELEMENT),r=this.secondVaos={}),this.paintVertexBuffers=i.mapObject(t.paintVertexArrays,function(i,s){return n[s]=new o,t.elementArray2&amp;&amp;(r[s]=new o),new a(i,e.paintVertexArrayTypes[s],a.BufferType.VERTEX)})}var i=t(&quot;../util/util&quot;),a=t(&quot;./buffer&quot;),o=t(&quot;../render/vertex_array_object&quot;);e.exports=n,n.prototype.destroy=function(t){this.layoutVertexBuffer.destroy(t),this.elementBuffer&amp;&amp;this.elementBuffer.destroy(t),this.elementBuffer2&amp;&amp;this.elementBuffer2.destroy(t);for(var e in this.paintVertexBuffers)this.paintVertexBuffers[e].destroy(t);for(var r in this.vaos)this.vaos[r].destroy(t);for(var n in this.secondVaos)this.secondVaos[n].destroy(t)}},{&quot;../render/vertex_array_object&quot;:348,&quot;../util/util&quot;:433,&quot;./buffer&quot;:325}],327:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r){if(t.grid){var n=t,i=e;t=n.coord,e=n.overscaling,this.grid=new d(n.grid),this.featureIndexArray=new M(n.featureIndexArray),this.rawTileData=i,this.bucketLayerIDs=n.bucketLayerIDs}else this.grid=new d(u,16,0),this.featureIndexArray=new M;this.coord=t,this.overscaling=e,this.x=t.x,this.y=t.y,this.z=t.z-Math.log(e)/Math.LN2,this.setCollisionTile(r)}function i(t){return Math.sqrt(t[0]*t[0]+t[1]*t[1])}function a(t,e){return e-t}function o(t){return t[&quot;line-gap-width&quot;]&gt;0?t[&quot;line-gap-width&quot;]+2*t[&quot;line-width&quot;]:t[&quot;line-width&quot;]}function s(t,e,r,n,i){if(!e[0]&amp;&amp;!e[1])return t;e=l.convert(e),&quot;viewport&quot;===r&amp;&amp;e._rotate(-n);for(var a=[],o=0;o&lt;t.length;o++){for(var s=t[o],c=[],u=0;u&lt;s.length;u++)c.push(s[u].sub(e._mult(i)));a.push(c)}return a}var l=t(&quot;point-geometry&quot;),c=t(&quot;./load_geometry&quot;),u=t(&quot;./bucket&quot;).EXTENT,f=t(&quot;feature-filter&quot;),h=t(&quot;../util/struct_array&quot;),d=t(&quot;grid-index&quot;),p=t(&quot;../util/dictionary_coder&quot;),m=t(&quot;vector-tile&quot;),g=t(&quot;pbf&quot;),v=t(&quot;../util/vectortile_to_geojson&quot;),y=t(&quot;../util/util&quot;).arraysIntersect,x=t(&quot;../util/intersection_tests&quot;),b=x.multiPolygonIntersectsBufferedMultiPoint,_=x.multiPolygonIntersectsMultiPolygon,w=x.multiPolygonIntersectsBufferedMultiLine,M=new h({members:[{type:&quot;Uint32&quot;,name:&quot;featureIndex&quot;},{type:&quot;Uint16&quot;,name:&quot;sourceLayerIndex&quot;},{type:&quot;Uint16&quot;,name:&quot;bucketIndex&quot;}]});e.exports=n,n.prototype.insert=function(t,e,r,n){var i=this.featureIndexArray.length;this.featureIndexArray.emplaceBack(e,r,n);for(var a=c(t),o=0;o&lt;a.length;o++){for(var s=a[o],l=[1/0,1/0,-1/0,-1/0],u=0;u&lt;s.length;u++){var f=s[u];l[0]=Math.min(l[0],f.x),l[1]=Math.min(l[1],f.y),l[2]=Math.max(l[2],f.x),l[3]=Math.max(l[3],f.y)}this.grid.insert(i,l[0],l[1],l[2],l[3])}},n.prototype.setCollisionTile=function(t){this.collisionTile=t},n.prototype.serialize=function(){var t={coord:this.coord,overscaling:this.overscaling,grid:this.grid.toArrayBuffer(),featureIndexArray:this.featureIndexArray.serialize(),bucketLayerIDs:this.bucketLayerIDs};return{data:t,transferables:[t.grid,t.featureIndexArray.arrayBuffer]}},n.prototype.query=function(t,e){this.vtLayers||(this.vtLayers=new m.VectorTile(new g(new Uint8Array(this.rawTileData))).layers,this.sourceLayerCoder=new p(this.vtLayers?Object.keys(this.vtLayers).sort():[&quot;_geojsonTileLayer&quot;]));var r={},n=t.params||{},s=u/t.tileSize/t.scale,c=f(n.filter),h=0;for(var d in e){var v=e[d],y=v.paint,x=0;&quot;line&quot;===v.type?x=o(y)/2+Math.abs(y[&quot;line-offset&quot;])+i(y[&quot;line-translate&quot;]):&quot;fill&quot;===v.type?x=i(y[&quot;fill-translate&quot;]):&quot;circle&quot;===v.type&amp;&amp;(x=y[&quot;circle-radius&quot;]+i(y[&quot;circle-translate&quot;])),h=Math.max(h,x*s)}for(var b=t.queryGeometry.map(function(t){return t.map(function(t){return new l(t.x,t.y)})}),_=1/0,w=1/0,M=-1/0,k=-1/0,A=0;A&lt;b.length;A++)for(var T=b[A],S=0;S&lt;T.length;S++){var E=T[S];_=Math.min(_,E.x),w=Math.min(w,E.y),M=Math.max(M,E.x),k=Math.max(k,E.y)}var L=this.grid.query(_-h,w-h,M+h,k+h);L.sort(a),this.filterMatching(r,L,this.featureIndexArray,b,c,n.layers,e,t.bearing,s);var C=this.collisionTile.queryRenderedSymbols(_,w,M,k,t.scale);return C.sort(),this.filterMatching(r,C,this.collisionTile.collisionBoxArray,b,c,n.layers,e,t.bearing,s),r},n.prototype.filterMatching=function(t,e,r,n,i,a,u,f,h){for(var d,p=0;p&lt;e.length;p++){var m=e[p];if(m!==d){d=m;var g=r.get(m),x=this.bucketLayerIDs[g.bucketIndex];if(!a||y(a,x)){var M=this.sourceLayerCoder.decode(g.sourceLayerIndex),k=this.vtLayers[M].feature(g.featureIndex);if(i(k))for(var A=null,T=0;T&lt;x.length;T++){var S=x[T];if(!(a&amp;&amp;a.indexOf(S)&lt;0)){var E=u[S];if(E){var L;if(&quot;symbol&quot;!==E.type){A||(A=c(k));var C=E.paint;if(&quot;line&quot;===E.type){L=s(n,C[&quot;line-translate&quot;],C[&quot;line-translate-anchor&quot;],f,h);var z=o(C)/2*h;if(C[&quot;line-offset&quot;]&amp;&amp;(A=function(t,e){for(var r=[],n=new l(0,0),i=0;i&lt;t.length;i++){for(var a=t[i],o=[],s=0;s&lt;a.length;s++){var c=a[s-1],u=a[s],f=a[s+1],h=0===s?n:u.sub(c)._unit()._perp(),d=s===a.length-1?n:f.sub(u)._unit()._perp(),p=h._add(d)._unit(),m=p.x*d.x+p.y*d.y;p._mult(1/m),o.push(p._mult(e)._add(u))}r.push(o)}return r}(A,C[&quot;line-offset&quot;]*h)),!w(L,A,z))continue}else if(&quot;fill&quot;===E.type){if(L=s(n,C[&quot;fill-translate&quot;],C[&quot;fill-translate-anchor&quot;],f,h),!_(L,A))continue}else if(&quot;circle&quot;===E.type){L=s(n,C[&quot;circle-translate&quot;],C[&quot;circle-translate-anchor&quot;],f,h);var D=C[&quot;circle-radius&quot;]*h;if(!b(L,A,D))continue}}var I=new v(k,this.z,this.x,this.y);I.layer=E.serialize({includeRefProperties:!0});var P=t[S];void 0===P&amp;&amp;(P=t[S]=[]),P.push(I)}}}}}}}},{&quot;../util/dictionary_coder&quot;:423,&quot;../util/intersection_tests&quot;:428,&quot;../util/struct_array&quot;:431,&quot;../util/util&quot;:433,&quot;../util/vectortile_to_geojson&quot;:434,&quot;./bucket&quot;:320,&quot;./load_geometry&quot;:328,&quot;feature-filter&quot;:141,&quot;grid-index&quot;:275,pbf:470,&quot;point-geometry&quot;:477,&quot;vector-tile&quot;:564}],328:[function(t,e,r){&quot;use strict&quot;;function n(t){return{min:-1*Math.pow(2,t-1),max:Math.pow(2,t-1)-1}}var i=t(&quot;../util/util&quot;),a=t(&quot;./bucket&quot;).EXTENT,o=t(&quot;assert&quot;),s={15:n(15),16:n(16)};e.exports=function(t,e){var r=s[e||16];o(r);for(var n=a/t.extent,l=t.loadGeometry(),c=0;c&lt;l.length;c++)for(var u=l[c],f=0;f&lt;u.length;f++){var h=u[f];h.x=Math.round(h.x*n),h.y=Math.round(h.y*n),(h.x&lt;r.min||h.x&gt;r.max||h.y&lt;r.min||h.y&gt;r.max)&amp;&amp;i.warnOnce(&quot;Geometry exceeds allowed extent, reduce your vector tile buffer size&quot;)}return l}},{&quot;../util/util&quot;:433,&quot;./bucket&quot;:320,assert:51}],329:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r){this.column=t,this.row=e,this.zoom=r}e.exports=n,n.prototype={clone:function(){return new n(this.column,this.row,this.zoom)},zoomTo:function(t){return this.clone()._zoomTo(t)},sub:function(t){return this.clone()._sub(t)},_zoomTo:function(t){var e=Math.pow(2,t-this.zoom);return this.column*=e,this.row*=e,this.zoom=t,this},_sub:function(t){return t=t.zoomTo(this.zoom),this.column-=t.column,this.row-=t.row,this}}},{}],330:[function(t,e,r){&quot;use strict&quot;;function n(t,e){if(isNaN(t)||isNaN(e))throw new Error(&quot;Invalid LngLat object: (&quot;+t+&quot;, &quot;+e+&quot;)&quot;);if(this.lng=+t,this.lat=+e,this.lat&gt;90||this.lat&lt;-90)throw new Error(&quot;Invalid LngLat latitude value: must be between -90 and 90&quot;)}e.exports=n;var i=t(&quot;../util/util&quot;).wrap;n.prototype.wrap=function(){return new n(i(this.lng,-180,180),this.lat)},n.prototype.toArray=function(){return[this.lng,this.lat]},n.prototype.toString=function(){return&quot;LngLat(&quot;+this.lng+&quot;, &quot;+this.lat+&quot;)&quot;},n.convert=function(t){return t instanceof n?t:Array.isArray(t)?new n(t[0],t[1]):t}},{&quot;../util/util&quot;:433}],331:[function(t,e,r){&quot;use strict&quot;;function n(t,e){t&amp;&amp;(e?this.extend(t).extend(e):4===t.length?this.extend([t[0],t[1]]).extend([t[2],t[3]]):this.extend(t[0]).extend(t[1]))}e.exports=n;var i=t(&quot;./lng_lat&quot;);n.prototype={extend:function(t){var e,r,a=this._sw,o=this._ne;if(t instanceof i)e=t,r=t;else{if(!(t instanceof n))return t?this.extend(i.convert(t)||n.convert(t)):this;if(e=t._sw,r=t._ne,!e||!r)return this}return a||o?(a.lng=Math.min(e.lng,a.lng),a.lat=Math.min(e.lat,a.lat),o.lng=Math.max(r.lng,o.lng),o.lat=Math.max(r.lat,o.lat)):(this._sw=new i(e.lng,e.lat),this._ne=new i(r.lng,r.lat)),this},getCenter:function(){return new i((this._sw.lng+this._ne.lng)/2,(this._sw.lat+this._ne.lat)/2)},getSouthWest:function(){return this._sw},getNorthEast:function(){return this._ne},getNorthWest:function(){return new i(this.getWest(),this.getNorth())},getSouthEast:function(){return new i(this.getEast(),this.getSouth())},getWest:function(){return this._sw.lng},getSouth:function(){return this._sw.lat},getEast:function(){return this._ne.lng},getNorth:function(){return this._ne.lat},toArray:function(){return[this._sw.toArray(),this._ne.toArray()]},toString:function(){return&quot;LngLatBounds(&quot;+this._sw.toString()+&quot;, &quot;+this._ne.toString()+&quot;)&quot;}},n.convert=function(t){return!t||t instanceof n?t:new n(t)}},{&quot;./lng_lat&quot;:330}],332:[function(t,e,r){&quot;use strict&quot;;function n(t,e){this.tileSize=512,this._minZoom=t||0,this._maxZoom=e||22,this.latRange=[-85.05113,85.05113],this.width=0,this.height=0,this._center=new i(0,0),this.zoom=0,this.angle=0,this._altitude=1.5,this._pitch=0,this._unmodified=!0}var i=t(&quot;./lng_lat&quot;),a=t(&quot;point-geometry&quot;),o=t(&quot;./coordinate&quot;),s=t(&quot;../util/util&quot;).wrap,l=t(&quot;../util/interpolate&quot;),c=t(&quot;../source/tile_coord&quot;),u=t(&quot;../data/bucket&quot;).EXTENT,f=t(&quot;gl-matrix&quot;),h=f.vec4,d=f.mat4,p=f.mat2;e.exports=n,n.prototype={get minZoom(){return this._minZoom},set minZoom(t){this._minZoom!==t&amp;&amp;(this._minZoom=t,this.zoom=Math.max(this.zoom,t))},get maxZoom(){return this._maxZoom},set maxZoom(t){this._maxZoom!==t&amp;&amp;(this._maxZoom=t,this.zoom=Math.min(this.zoom,t))},get worldSize(){return this.tileSize*this.scale},get centerPoint(){return this.size._div(2)},get size(){return new a(this.width,this.height)},get bearing(){return-this.angle/Math.PI*180},set bearing(t){var e=-s(t,-180,180)*Math.PI/180;this.angle!==e&amp;&amp;(this._unmodified=!1,this.angle=e,this._calcMatrices(),this.rotationMatrix=p.create(),p.rotate(this.rotationMatrix,this.rotationMatrix,this.angle))},get pitch(){return this._pitch/Math.PI*180},set pitch(t){var e=Math.min(60,t)/180*Math.PI;this._pitch!==e&amp;&amp;(this._unmodified=!1,this._pitch=e,this._calcMatrices())},get altitude(){return this._altitude},set altitude(t){var e=Math.max(.75,t);this._altitude!==e&amp;&amp;(this._unmodified=!1,this._altitude=e,this._calcMatrices())},get zoom(){return this._zoom},set zoom(t){var e=Math.min(Math.max(t,this.minZoom),this.maxZoom);this._zoom!==e&amp;&amp;(this._unmodified=!1,this._zoom=e,this.scale=this.zoomScale(e),this.tileZoom=Math.floor(e),this.zoomFraction=e-this.tileZoom,this._calcMatrices(),this._constrain())},get center(){return this._center},set center(t){t.lat===this._center.lat&amp;&amp;t.lng===this._center.lng||(this._unmodified=!1,this._center=t,this._calcMatrices(),this._constrain())},coveringZoomLevel:function(t){return(t.roundZoom?Math.round:Math.floor)(this.zoom+this.scaleZoom(this.tileSize/t.tileSize))},coveringTiles:function(t){var e=this.coveringZoomLevel(t),r=e;if(e&lt;t.minzoom)return[];e&gt;t.maxzoom&amp;&amp;(e=t.maxzoom);var n=this.locationCoordinate(this.center)._zoomTo(e),i=new a(n.column-.5,n.row-.5);return c.cover(e,[this.pointCoordinate(new a(0,0))._zoomTo(e),this.pointCoordinate(new a(this.width,0))._zoomTo(e),this.pointCoordinate(new a(this.width,this.height))._zoomTo(e),this.pointCoordinate(new a(0,this.height))._zoomTo(e)],t.reparseOverscaled?r:e).sort(function(t,e){return i.dist(t)-i.dist(e)})},resize:function(t,e){this.width=t,this.height=e,this.pixelsToGLUnits=[2/t,-2/e],this._calcMatrices(),this._constrain()},get unmodified(){return this._unmodified},zoomScale:function(t){return Math.pow(2,t)},scaleZoom:function(t){return Math.log(t)/Math.LN2},project:function(t,e){return new a(this.lngX(t.lng,e),this.latY(t.lat,e))},unproject:function(t,e){return new i(this.xLng(t.x,e),this.yLat(t.y,e))},get x(){return this.lngX(this.center.lng)},get y(){return this.latY(this.center.lat)},get point(){return new a(this.x,this.y)},lngX:function(t,e){return(180+t)*(e||this.worldSize)/360},latY:function(t,e){return(180-180/Math.PI*Math.log(Math.tan(Math.PI/4+t*Math.PI/360)))*(e||this.worldSize)/360},xLng:function(t,e){return 360*t/(e||this.worldSize)-180},yLat:function(t,e){var r=180-360*t/(e||this.worldSize);return 360/Math.PI*Math.atan(Math.exp(r*Math.PI/180))-90},panBy:function(t){var e=this.centerPoint._add(t);this.center=this.pointLocation(e)},setLocationAtPoint:function(t,e){var r=this.locationCoordinate(t),n=this.pointCoordinate(e),i=this.pointCoordinate(this.centerPoint),a=n._sub(r);this._unmodified=!1,this.center=this.coordinateLocation(i._sub(a))},locationPoint:function(t){return this.coordinatePoint(this.locationCoordinate(t))},pointLocation:function(t){return this.coordinateLocation(this.pointCoordinate(t))},locationCoordinate:function(t){var e=this.zoomScale(this.tileZoom)/this.worldSize,r=i.convert(t);return new o(this.lngX(r.lng)*e,this.latY(r.lat)*e,this.tileZoom)},coordinateLocation:function(t){var e=this.zoomScale(t.zoom);return new i(this.xLng(t.column,e),this.yLat(t.row,e))},pointCoordinate:function(t){var e=[t.x,t.y,0,1],r=[t.x,t.y,1,1];h.transformMat4(e,e,this.pixelMatrixInverse),h.transformMat4(r,r,this.pixelMatrixInverse);var n=e[3],i=r[3],a=e[0]/n,s=r[0]/i,c=e[1]/n,u=r[1]/i,f=e[2]/n,d=r[2]/i,p=f===d?0:(0-f)/(d-f),m=this.worldSize/this.zoomScale(this.tileZoom);return new o(l(a,s,p)/m,l(c,u,p)/m,this.tileZoom)},coordinatePoint:function(t){var e=this.worldSize/this.zoomScale(t.zoom),r=[t.column*e,t.row*e,0,1];return h.transformMat4(r,r,this.pixelMatrix),new a(r[0]/r[3],r[1]/r[3])},calculatePosMatrix:function(t,e){void 0===e&amp;&amp;(e=1/0),t instanceof c&amp;&amp;(t=t.toCoordinate(e));var r=Math.min(t.zoom,e),n=this.worldSize/Math.pow(2,r),i=new Float64Array(16);return d.identity(i),d.translate(i,i,[t.column*n,t.row*n,0]),d.scale(i,i,[n/u,n/u,1]),d.multiply(i,this.projMatrix,i),new Float32Array(i)},_constrain:function(){if(this.center&amp;&amp;this.width&amp;&amp;this.height&amp;&amp;!this._constraining){this._constraining=!0;var t,e,r,n,i,o,s,l,c=this.size,u=this._unmodified;this.latRange&amp;&amp;(t=this.latY(this.latRange[1]),i=(e=this.latY(this.latRange[0]))-t&lt;c.y?c.y/(e-t):0),this.lngRange&amp;&amp;(r=this.lngX(this.lngRange[0]),o=(n=this.lngX(this.lngRange[1]))-r&lt;c.x?c.x/(n-r):0);var f=Math.max(o||0,i||0);if(f)return this.center=this.unproject(new a(o?(n+r)/2:this.x,i?(e+t)/2:this.y)),this.zoom+=this.scaleZoom(f),this._unmodified=u,void(this._constraining=!1);if(this.latRange){var h=this.y,d=c.y/2;h-d&lt;t&amp;&amp;(l=t+d),h+d&gt;e&amp;&amp;(l=e-d)}if(this.lngRange){var p=this.x,m=c.x/2;p-m&lt;r&amp;&amp;(s=r+m),p+m&gt;n&amp;&amp;(s=n-m)}void 0===s&amp;&amp;void 0===l||(this.center=this.unproject(new a(void 0!==s?s:this.x,void 0!==l?l:this.y))),this._unmodified=u,this._constraining=!1}},_calcMatrices:function(){if(this.height){var t=Math.atan(.5/this.altitude),e=Math.sin(t)*this.altitude/Math.sin(Math.PI/2-this._pitch-t),r=Math.cos(Math.PI/2-this._pitch)*e+this.altitude,n=new Float64Array(16);if(d.perspective(n,2*Math.atan(this.height/2/this.altitude),this.width/this.height,.1,r),d.translate(n,n,[0,0,-this.altitude]),d.scale(n,n,[1,-1,1/this.height]),d.rotateX(n,n,this._pitch),d.rotateZ(n,n,this.angle),d.translate(n,n,[-this.x,-this.y,0]),this.projMatrix=n,n=d.create(),d.scale(n,n,[this.width/2,-this.height/2,1]),d.translate(n,n,[1,-1,0]),this.pixelMatrix=d.multiply(new Float64Array(16),n,this.projMatrix),!(n=d.invert(new Float64Array(16),this.pixelMatrix)))throw new Error(&quot;failed to invert matrix&quot;);this.pixelMatrixInverse=n}}}},{&quot;../data/bucket&quot;:320,&quot;../source/tile_coord&quot;:360,&quot;../util/interpolate&quot;:427,&quot;../util/util&quot;:433,&quot;./coordinate&quot;:329,&quot;./lng_lat&quot;:330,&quot;gl-matrix&quot;:198,&quot;point-geometry&quot;:477}],333:[function(t,e,r){&quot;use strict&quot;;var n={&quot; &quot;:[16,[]],&quot;!&quot;:[10,[5,21,5,7,-1,-1,5,2,4,1,5,0,6,1,5,2]],'&quot;':[16,[4,21,4,14,-1,-1,12,21,12,14]],&quot;#&quot;:[21,[11,25,4,-7,-1,-1,17,25,10,-7,-1,-1,4,12,18,12,-1,-1,3,6,17,6]],$:[20,[8,25,8,-4,-1,-1,12,25,12,-4,-1,-1,17,18,15,20,12,21,8,21,5,20,3,18,3,16,4,14,5,13,7,12,13,10,15,9,16,8,17,6,17,3,15,1,12,0,8,0,5,1,3,3]],&quot;%&quot;:[24,[21,21,3,0,-1,-1,8,21,10,19,10,17,9,15,7,14,5,14,3,16,3,18,4,20,6,21,8,21,10,20,13,19,16,19,19,20,21,21,-1,-1,17,7,15,6,14,4,14,2,16,0,18,0,20,1,21,3,21,5,19,7,17,7]],&quot;&amp;&quot;:[26,[23,12,23,13,22,14,21,14,20,13,19,11,17,6,15,3,13,1,11,0,7,0,5,1,4,2,3,4,3,6,4,8,5,9,12,13,13,14,14,16,14,18,13,20,11,21,9,20,8,18,8,16,9,13,11,10,16,3,18,1,20,0,22,0,23,1,23,2]],&quot;'&quot;:[10,[5,19,4,20,5,21,6,20,6,18,5,16,4,15]],&quot;(&quot;:[14,[11,25,9,23,7,20,5,16,4,11,4,7,5,2,7,-2,9,-5,11,-7]],&quot;)&quot;:[14,[3,25,5,23,7,20,9,16,10,11,10,7,9,2,7,-2,5,-5,3,-7]],&quot;*&quot;:[16,[8,21,8,9,-1,-1,3,18,13,12,-1,-1,13,18,3,12]],&quot;+&quot;:[26,[13,18,13,0,-1,-1,4,9,22,9]],&quot;,&quot;:[10,[6,1,5,0,4,1,5,2,6,1,6,-1,5,-3,4,-4]],&quot;-&quot;:[26,[4,9,22,9]],&quot;.&quot;:[10,[5,2,4,1,5,0,6,1,5,2]],&quot;/&quot;:[22,[20,25,2,-7]],0:[20,[9,21,6,20,4,17,3,12,3,9,4,4,6,1,9,0,11,0,14,1,16,4,17,9,17,12,16,17,14,20,11,21,9,21]],1:[20,[6,17,8,18,11,21,11,0]],2:[20,[4,16,4,17,5,19,6,20,8,21,12,21,14,20,15,19,16,17,16,15,15,13,13,10,3,0,17,0]],3:[20,[5,21,16,21,10,13,13,13,15,12,16,11,17,8,17,6,16,3,14,1,11,0,8,0,5,1,4,2,3,4]],4:[20,[13,21,3,7,18,7,-1,-1,13,21,13,0]],5:[20,[15,21,5,21,4,12,5,13,8,14,11,14,14,13,16,11,17,8,17,6,16,3,14,1,11,0,8,0,5,1,4,2,3,4]],6:[20,[16,18,15,20,12,21,10,21,7,20,5,17,4,12,4,7,5,3,7,1,10,0,11,0,14,1,16,3,17,6,17,7,16,10,14,12,11,13,10,13,7,12,5,10,4,7]],7:[20,[17,21,7,0,-1,-1,3,21,17,21]],8:[20,[8,21,5,20,4,18,4,16,5,14,7,13,11,12,14,11,16,9,17,7,17,4,16,2,15,1,12,0,8,0,5,1,4,2,3,4,3,7,4,9,6,11,9,12,13,13,15,14,16,16,16,18,15,20,12,21,8,21]],9:[20,[16,14,15,11,13,9,10,8,9,8,6,9,4,11,3,14,3,15,4,18,6,20,9,21,10,21,13,20,15,18,16,14,16,9,15,4,13,1,10,0,8,0,5,1,4,3]],&quot;:&quot;:[10,[5,14,4,13,5,12,6,13,5,14,-1,-1,5,2,4,1,5,0,6,1,5,2]],&quot;;&quot;:[10,[5,14,4,13,5,12,6,13,5,14,-1,-1,6,1,5,0,4,1,5,2,6,1,6,-1,5,-3,4,-4]],&quot;&lt;&quot;:[24,[20,18,4,9,20,0]],&quot;=&quot;:[26,[4,12,22,12,-1,-1,4,6,22,6]],&quot;&gt;&quot;:[24,[4,18,20,9,4,0]],&quot;?&quot;:[18,[3,16,3,17,4,19,5,20,7,21,11,21,13,20,14,19,15,17,15,15,14,13,13,12,9,10,9,7,-1,-1,9,2,8,1,9,0,10,1,9,2]],&quot;@&quot;:[27,[18,13,17,15,15,16,12,16,10,15,9,14,8,11,8,8,9,6,11,5,14,5,16,6,17,8,-1,-1,12,16,10,14,9,11,9,8,10,6,11,5,-1,-1,18,16,17,8,17,6,19,5,21,5,23,7,24,10,24,12,23,15,22,17,20,19,18,20,15,21,12,21,9,20,7,19,5,17,4,15,3,12,3,9,4,6,5,4,7,2,9,1,12,0,15,0,18,1,20,2,21,3,-1,-1,19,16,18,8,18,6,19,5]],A:[18,[9,21,1,0,-1,-1,9,21,17,0,-1,-1,4,7,14,7]],B:[21,[4,21,4,0,-1,-1,4,21,13,21,16,20,17,19,18,17,18,15,17,13,16,12,13,11,-1,-1,4,11,13,11,16,10,17,9,18,7,18,4,17,2,16,1,13,0,4,0]],C:[21,[18,16,17,18,15,20,13,21,9,21,7,20,5,18,4,16,3,13,3,8,4,5,5,3,7,1,9,0,13,0,15,1,17,3,18,5]],D:[21,[4,21,4,0,-1,-1,4,21,11,21,14,20,16,18,17,16,18,13,18,8,17,5,16,3,14,1,11,0,4,0]],E:[19,[4,21,4,0,-1,-1,4,21,17,21,-1,-1,4,11,12,11,-1,-1,4,0,17,0]],F:[18,[4,21,4,0,-1,-1,4,21,17,21,-1,-1,4,11,12,11]],G:[21,[18,16,17,18,15,20,13,21,9,21,7,20,5,18,4,16,3,13,3,8,4,5,5,3,7,1,9,0,13,0,15,1,17,3,18,5,18,8,-1,-1,13,8,18,8]],H:[22,[4,21,4,0,-1,-1,18,21,18,0,-1,-1,4,11,18,11]],I:[8,[4,21,4,0]],J:[16,[12,21,12,5,11,2,10,1,8,0,6,0,4,1,3,2,2,5,2,7]],K:[21,[4,21,4,0,-1,-1,18,21,4,7,-1,-1,9,12,18,0]],L:[17,[4,21,4,0,-1,-1,4,0,16,0]],M:[24,[4,21,4,0,-1,-1,4,21,12,0,-1,-1,20,21,12,0,-1,-1,20,21,20,0]],N:[22,[4,21,4,0,-1,-1,4,21,18,0,-1,-1,18,21,18,0]],O:[22,[9,21,7,20,5,18,4,16,3,13,3,8,4,5,5,3,7,1,9,0,13,0,15,1,17,3,18,5,19,8,19,13,18,16,17,18,15,20,13,21,9,21]],P:[21,[4,21,4,0,-1,-1,4,21,13,21,16,20,17,19,18,17,18,14,17,12,16,11,13,10,4,10]],Q:[22,[9,21,7,20,5,18,4,16,3,13,3,8,4,5,5,3,7,1,9,0,13,0,15,1,17,3,18,5,19,8,19,13,18,16,17,18,15,20,13,21,9,21,-1,-1,12,4,18,-2]],R:[21,[4,21,4,0,-1,-1,4,21,13,21,16,20,17,19,18,17,18,15,17,13,16,12,13,11,4,11,-1,-1,11,11,18,0]],S:[20,[17,18,15,20,12,21,8,21,5,20,3,18,3,16,4,14,5,13,7,12,13,10,15,9,16,8,17,6,17,3,15,1,12,0,8,0,5,1,3,3]],T:[16,[8,21,8,0,-1,-1,1,21,15,21]],U:[22,[4,21,4,6,5,3,7,1,10,0,12,0,15,1,17,3,18,6,18,21]],V:[18,[1,21,9,0,-1,-1,17,21,9,0]],W:[24,[2,21,7,0,-1,-1,12,21,7,0,-1,-1,12,21,17,0,-1,-1,22,21,17,0]],X:[20,[3,21,17,0,-1,-1,17,21,3,0]],Y:[18,[1,21,9,11,9,0,-1,-1,17,21,9,11]],Z:[20,[17,21,3,0,-1,-1,3,21,17,21,-1,-1,3,0,17,0]],&quot;[&quot;:[14,[4,25,4,-7,-1,-1,5,25,5,-7,-1,-1,4,25,11,25,-1,-1,4,-7,11,-7]],&quot;\\&quot;:[14,[0,21,14,-3]],&quot;]&quot;:[14,[9,25,9,-7,-1,-1,10,25,10,-7,-1,-1,3,25,10,25,-1,-1,3,-7,10,-7]],&quot;^&quot;:[16,[6,15,8,18,10,15,-1,-1,3,12,8,17,13,12,-1,-1,8,17,8,0]],_:[16,[0,-2,16,-2]],&quot;`&quot;:[10,[6,21,5,20,4,18,4,16,5,15,6,16,5,17]],a:[19,[15,14,15,0,-1,-1,15,11,13,13,11,14,8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3]],b:[19,[4,21,4,0,-1,-1,4,11,6,13,8,14,11,14,13,13,15,11,16,8,16,6,15,3,13,1,11,0,8,0,6,1,4,3]],c:[18,[15,11,13,13,11,14,8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3]],d:[19,[15,21,15,0,-1,-1,15,11,13,13,11,14,8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3]],e:[18,[3,8,15,8,15,10,14,12,13,13,11,14,8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3]],f:[12,[10,21,8,21,6,20,5,17,5,0,-1,-1,2,14,9,14]],g:[19,[15,14,15,-2,14,-5,13,-6,11,-7,8,-7,6,-6,-1,-1,15,11,13,13,11,14,8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3]],h:[19,[4,21,4,0,-1,-1,4,10,7,13,9,14,12,14,14,13,15,10,15,0]],i:[8,[3,21,4,20,5,21,4,22,3,21,-1,-1,4,14,4,0]],j:[10,[5,21,6,20,7,21,6,22,5,21,-1,-1,6,14,6,-3,5,-6,3,-7,1,-7]],k:[17,[4,21,4,0,-1,-1,14,14,4,4,-1,-1,8,8,15,0]],l:[8,[4,21,4,0]],m:[30,[4,14,4,0,-1,-1,4,10,7,13,9,14,12,14,14,13,15,10,15,0,-1,-1,15,10,18,13,20,14,23,14,25,13,26,10,26,0]],n:[19,[4,14,4,0,-1,-1,4,10,7,13,9,14,12,14,14,13,15,10,15,0]],o:[19,[8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3,16,6,16,8,15,11,13,13,11,14,8,14]],p:[19,[4,14,4,-7,-1,-1,4,11,6,13,8,14,11,14,13,13,15,11,16,8,16,6,15,3,13,1,11,0,8,0,6,1,4,3]],q:[19,[15,14,15,-7,-1,-1,15,11,13,13,11,14,8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3]],r:[13,[4,14,4,0,-1,-1,4,8,5,11,7,13,9,14,12,14]],s:[17,[14,11,13,13,10,14,7,14,4,13,3,11,4,9,6,8,11,7,13,6,14,4,14,3,13,1,10,0,7,0,4,1,3,3]],t:[12,[5,21,5,4,6,1,8,0,10,0,-1,-1,2,14,9,14]],u:[19,[4,14,4,4,5,1,7,0,10,0,12,1,15,4,-1,-1,15,14,15,0]],v:[16,[2,14,8,0,-1,-1,14,14,8,0]],w:[22,[3,14,7,0,-1,-1,11,14,7,0,-1,-1,11,14,15,0,-1,-1,19,14,15,0]],x:[17,[3,14,14,0,-1,-1,14,14,3,0]],y:[16,[2,14,8,0,-1,-1,14,14,8,0,6,-4,4,-6,2,-7,1,-7]],z:[17,[14,14,3,0,-1,-1,3,14,14,14,-1,-1,3,0,14,0]],&quot;{&quot;:[14,[9,25,7,24,6,23,5,21,5,19,6,17,7,16,8,14,8,12,6,10,-1,-1,7,24,6,22,6,20,7,18,8,17,9,15,9,13,8,11,4,9,8,7,9,5,9,3,8,1,7,0,6,-2,6,-4,7,-6,-1,-1,6,8,8,6,8,4,7,2,6,1,5,-1,5,-3,6,-5,7,-6,9,-7]],&quot;|&quot;:[8,[4,25,4,-7]],&quot;}&quot;:[14,[5,25,7,24,8,23,9,21,9,19,8,17,7,16,6,14,6,12,8,10,-1,-1,7,24,8,22,8,20,7,18,6,17,5,15,5,13,6,11,10,9,6,7,5,5,5,3,6,1,7,0,8,-2,8,-4,7,-6,-1,-1,8,8,6,6,6,4,7,2,8,1,9,-1,9,-3,8,-5,7,-6,5,-7]],&quot;~&quot;:[24,[3,6,3,8,4,11,6,12,8,12,10,11,14,8,16,7,18,7,20,8,21,10,-1,-1,3,8,4,10,6,11,8,11,10,10,14,7,16,6,18,6,20,7,21,10,21,12]]};e.exports=function(t,e,r,i){i=i||1;var a,o,s,l,c,u,f,h,d=[];for(a=0,o=t.length;a&lt;o;a++)if(c=n[t[a]]){for(h=null,s=0,l=c[1].length;s&lt;l;s+=2)-1===c[1][s]&amp;&amp;-1===c[1][s+1]?h=null:(u=e+c[1][s]*i,f=r-c[1][s+1]*i,h&amp;&amp;d.push(h.x,h.y,u,f),h={x:u,y:f});e+=c[0]*i}return d}},{}],334:[function(t,e,r){&quot;use strict&quot;;var n=e.exports={};n.version=t(&quot;../package.json&quot;).version,n.Map=t(&quot;./ui/map&quot;),n.Control=t(&quot;./ui/control/control&quot;),n.Navigation=t(&quot;./ui/control/navigation&quot;),n.Geolocate=t(&quot;./ui/control/geolocate&quot;),n.Attribution=t(&quot;./ui/control/attribution&quot;),n.Popup=t(&quot;./ui/popup&quot;),n.Marker=t(&quot;./ui/marker&quot;),n.Style=t(&quot;./style/style&quot;),n.LngLat=t(&quot;./geo/lng_lat&quot;),n.LngLatBounds=t(&quot;./geo/lng_lat_bounds&quot;),n.Point=t(&quot;point-geometry&quot;),n.Evented=t(&quot;./util/evented&quot;),n.util=t(&quot;./util/util&quot;),n.supported=t(&quot;./util/browser&quot;).supported;var i=t(&quot;./util/ajax&quot;);n.util.getJSON=i.getJSON,n.util.getArrayBuffer=i.getArrayBuffer;var a=t(&quot;./util/config&quot;);n.config=a,Object.defineProperty(n,&quot;accessToken&quot;,{get:function(){return a.ACCESS_TOKEN},set:function(t){a.ACCESS_TOKEN=t}})},{&quot;../package.json&quot;:435,&quot;./geo/lng_lat&quot;:330,&quot;./geo/lng_lat_bounds&quot;:331,&quot;./style/style&quot;:369,&quot;./ui/control/attribution&quot;:400,&quot;./ui/control/control&quot;:401,&quot;./ui/control/geolocate&quot;:402,&quot;./ui/control/navigation&quot;:403,&quot;./ui/map&quot;:412,&quot;./ui/marker&quot;:413,&quot;./ui/popup&quot;:414,&quot;./util/ajax&quot;:416,&quot;./util/browser&quot;:417,&quot;./util/config&quot;:422,&quot;./util/evented&quot;:425,&quot;./util/util&quot;:433,&quot;point-geometry&quot;:477}],335:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;assert&quot;);e.exports=function(t){for(var e={define:{},initialize:{}},r=0;r&lt;t.length;r++){var i=t[r];n(&quot;u_&quot;===i.name.slice(0,2));var a=&quot;{precision} &quot;+(1===i.components?&quot;float&quot;:&quot;vec&quot;+i.components);e.define[i.name.slice(2)]=&quot;uniform &quot;+a+&quot; &quot;+i.name+&quot;;\n&quot;,e.initialize[i.name.slice(2)]=a+&quot; &quot;+i.name.slice(2)+&quot; = &quot;+i.name+&quot;;\n&quot;}return e}},{assert:51}],336:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../source/pixels_to_tile_units&quot;),i=t(&quot;./create_uniform_pragmas&quot;),a=512;e.exports=function(t,e,r){var o,s=t.gl,l=t.transform,c=r.paint[&quot;background-color&quot;],u=r.paint[&quot;background-pattern&quot;],f=r.paint[&quot;background-opacity&quot;],h=u?t.spriteAtlas.getPosition(u.from,!0):null,d=u?t.spriteAtlas.getPosition(u.to,!0):null;if(t.setDepthSublayer(0),h&amp;&amp;d){if(t.isOpaquePass)return;o=t.useProgram(&quot;pattern&quot;),s.uniform1i(o.u_image,0),s.uniform2fv(o.u_pattern_tl_a,h.tl),s.uniform2fv(o.u_pattern_br_a,h.br),s.uniform2fv(o.u_pattern_tl_b,d.tl),s.uniform2fv(o.u_pattern_br_b,d.br),s.uniform1f(o.u_opacity,f),s.uniform1f(o.u_mix,u.t),s.uniform2fv(o.u_pattern_size_a,h.size),s.uniform2fv(o.u_pattern_size_b,d.size),s.uniform1f(o.u_scale_a,u.fromScale),s.uniform1f(o.u_scale_b,u.toScale),s.activeTexture(s.TEXTURE0),t.spriteAtlas.bind(s,!0),t.tileExtentPatternVAO.bind(s,o,t.tileExtentBuffer)}else{if(t.isOpaquePass!==(1===c[3]))return;var p=i([{name:&quot;u_color&quot;,components:4},{name:&quot;u_opacity&quot;,components:1}]);o=t.useProgram(&quot;fill&quot;,[],p,p),s.uniform4fv(o.u_color,c),s.uniform1f(o.u_opacity,f),t.tileExtentVAO.bind(s,o,t.tileExtentBuffer)}s.disable(s.STENCIL_TEST);for(var m=l.coveringTiles({tileSize:a}),g=0;g&lt;m.length;g++){var v=m[g];if(h&amp;&amp;d){var y={coord:v,tileSize:a};s.uniform1f(o.u_tile_units_to_pixels,1/n(y,1,t.transform.tileZoom));var x=y.tileSize*Math.pow(2,t.transform.tileZoom-y.coord.z),b=x*(y.coord.x+v.w*Math.pow(2,y.coord.z)),_=x*y.coord.y;s.uniform2f(o.u_pixel_coord_upper,b&gt;&gt;16,_&gt;&gt;16),s.uniform2f(o.u_pixel_coord_lower,65535&amp;b,65535&amp;_)}s.uniformMatrix4fv(o.u_matrix,!1,t.transform.calculatePosMatrix(v)),s.drawArrays(s.TRIANGLE_STRIP,0,t.tileExtentBuffer.length)}s.stencilMask(0),s.stencilFunc(s.EQUAL,128,128)}},{&quot;../source/pixels_to_tile_units&quot;:354,&quot;./create_uniform_pragmas&quot;:335}],337:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../util/browser&quot;);e.exports=function(t,e,r,i){if(!t.isOpaquePass){var a=t.gl;t.setDepthSublayer(0),t.depthMask(!1),a.disable(a.STENCIL_TEST);for(var o=0;o&lt;i.length;o++){var s=i[o],l=e.getTile(s),c=l.getBucket(r);if(c){var u=c.bufferGroups.circle;if(u){var f=c.paintAttributes.circle[r.id],h=t.useProgram(&quot;circle&quot;,f.defines,f.vertexPragmas,f.fragmentPragmas);&quot;map&quot;===r.paint[&quot;circle-pitch-scale&quot;]?(a.uniform1i(h.u_scale_with_map,!0),a.uniform2f(h.u_extrude_scale,t.transform.pixelsToGLUnits[0]*t.transform.altitude,t.transform.pixelsToGLUnits[1]*t.transform.altitude)):(a.uniform1i(h.u_scale_with_map,!1),a.uniform2fv(h.u_extrude_scale,t.transform.pixelsToGLUnits)),a.uniform1f(h.u_devicepixelratio,n.devicePixelRatio),a.uniformMatrix4fv(h.u_matrix,!1,t.translatePosMatrix(s.posMatrix,l,r.paint[&quot;circle-translate&quot;],r.paint[&quot;circle-translate-anchor&quot;])),c.setUniforms(a,&quot;circle&quot;,h,r,{zoom:t.transform.zoom});for(var d=0;d&lt;u.length;d++){var p=u[d];p.vaos[r.id].bind(a,h,p.layoutVertexBuffer,p.elementBuffer,p.paintVertexBuffers[r.id]),a.drawElements(a.TRIANGLES,3*p.elementBuffer.length,a.UNSIGNED_SHORT,0)}}}}}}},{&quot;../util/browser&quot;:417}],338:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t,e,r,n){var i=t.gl;i.enable(i.STENCIL_TEST);for(var a=t.useProgram(&quot;collisionbox&quot;),o=0;o&lt;n.length;o++){var s=n[o],l=e.getTile(s),c=l.getBucket(r);if(c){var u=c.bufferGroups.collisionBox;if(u&amp;&amp;u.length){var f=u[0];0!==f.layoutVertexBuffer.length&amp;&amp;(i.uniformMatrix4fv(a.u_matrix,!1,s.posMatrix),t.enableTileClippingMask(s),t.lineWidth(1),i.uniform1f(a.u_scale,Math.pow(2,t.transform.zoom-l.coord.z)),i.uniform1f(a.u_zoom,10*t.transform.zoom),i.uniform1f(a.u_maxzoom,10*(l.coord.z+1)),f.vaos[r.id].bind(i,a,f.layoutVertexBuffer),i.drawArrays(i.LINES,0,f.layoutVertexBuffer.length))}}}}},{}],339:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../lib/debugtext&quot;),i=t(&quot;../util/browser&quot;),a=t(&quot;gl-matrix&quot;).mat4,o=t(&quot;../data/bucket&quot;).EXTENT,s=t(&quot;../data/buffer&quot;),l=t(&quot;./vertex_array_object&quot;);e.exports=function(t,e,r){if(!t.isOpaquePass&amp;&amp;t.options.debug)for(var c=0;c&lt;r.length;c++)!function(t,e,r){var c=t.gl;c.disable(c.STENCIL_TEST),t.lineWidth(1*i.devicePixelRatio);var u=r.posMatrix,f=t.useProgram(&quot;debug&quot;);c.uniformMatrix4fv(f.u_matrix,!1,u),c.uniform4f(f.u_color,1,0,0,1),t.debugVAO.bind(c,f,t.debugBuffer),c.drawArrays(c.LINE_STRIP,0,t.debugBuffer.length);for(var h=n(r.toString(),50,200,5),d=new t.PosArray,p=0;p&lt;h.length;p+=2)d.emplaceBack(h[p],h[p+1]);var m=new s(d.serialize(),t.PosArray.serialize(),s.BufferType.VERTEX);(new l).bind(c,f,m),c.uniform4f(f.u_color,1,1,1,1);for(var g=e.getTile(r).tileSize,v=o/(Math.pow(2,t.transform.zoom-r.z)*g),y=[[-1,-1],[-1,1],[1,-1],[1,1]],x=0;x&lt;y.length;x++){var b=y[x];c.uniformMatrix4fv(f.u_matrix,!1,a.translate([],u,[v*b[0],v*b[1],0])),c.drawArrays(c.LINES,0,m.length)}c.uniform4f(f.u_color,0,0,0,1),c.uniformMatrix4fv(f.u_matrix,!1,u),c.drawArrays(c.LINES,0,m.length)}(t,e,r[c])}},{&quot;../data/bucket&quot;:320,&quot;../data/buffer&quot;:325,&quot;../lib/debugtext&quot;:333,&quot;../util/browser&quot;:417,&quot;./vertex_array_object&quot;:348,&quot;gl-matrix&quot;:198}],340:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,n,a,o){var s=a.gl,l=a.spriteAtlas.getPosition(t.from,!0),c=a.spriteAtlas.getPosition(t.to,!0);if(l&amp;&amp;c){s.uniform1i(o.u_image,0),s.uniform2fv(o.u_pattern_tl_a,l.tl),s.uniform2fv(o.u_pattern_br_a,l.br),s.uniform2fv(o.u_pattern_tl_b,c.tl),s.uniform2fv(o.u_pattern_br_b,c.br),s.uniform1f(o.u_opacity,e),s.uniform1f(o.u_mix,t.t),s.uniform1f(o.u_tile_units_to_pixels,1/i(r,1,a.transform.tileZoom)),s.uniform2fv(o.u_pattern_size_a,l.size),s.uniform2fv(o.u_pattern_size_b,c.size),s.uniform1f(o.u_scale_a,t.fromScale),s.uniform1f(o.u_scale_b,t.toScale);var u=r.tileSize*Math.pow(2,a.transform.tileZoom-r.coord.z),f=u*(r.coord.x+n.w*Math.pow(2,r.coord.z)),h=u*r.coord.y;s.uniform2f(o.u_pixel_coord_upper,f&gt;&gt;16,h&gt;&gt;16),s.uniform2f(o.u_pixel_coord_lower,65535&amp;f,65535&amp;h),s.activeTexture(s.TEXTURE0),a.spriteAtlas.bind(s,!0)}}var i=t(&quot;../source/pixels_to_tile_units&quot;);e.exports=function(t,e,r,i){var a=t.gl;a.enable(a.STENCIL_TEST);var o;if(o=!r.paint[&quot;fill-pattern&quot;]&amp;&amp;r.isPaintValueFeatureConstant(&quot;fill-color&quot;)&amp;&amp;r.isPaintValueFeatureConstant(&quot;fill-opacity&quot;)&amp;&amp;1===r.paint[&quot;fill-color&quot;][3]&amp;&amp;1===r.paint[&quot;fill-opacity&quot;],t.isOpaquePass===o){t.setDepthSublayer(1);for(var s=0;s&lt;i.length;s++)!function(t,e,r,i){var a=e.getTile(i),o=a.getBucket(r);if(o){var s=o.bufferGroups.fill;if(s){var l,c=t.gl,u=r.paint[&quot;fill-pattern&quot;];if(u)l=t.useProgram(&quot;pattern&quot;),n(u,r.paint[&quot;fill-opacity&quot;],a,i,t,l),c.activeTexture(c.TEXTURE0),t.spriteAtlas.bind(c,!0);else{var f=o.paintAttributes.fill[r.id];l=t.useProgram(&quot;fill&quot;,f.defines,f.vertexPragmas,f.fragmentPragmas),o.setUniforms(c,&quot;fill&quot;,l,r,{zoom:t.transform.zoom})}c.uniformMatrix4fv(l.u_matrix,!1,t.translatePosMatrix(i.posMatrix,a,r.paint[&quot;fill-translate&quot;],r.paint[&quot;fill-translate-anchor&quot;])),t.enableTileClippingMask(i);for(var h=0;h&lt;s.length;h++){var d=s[h];d.vaos[r.id].bind(c,l,d.layoutVertexBuffer,d.elementBuffer,d.paintVertexBuffers[r.id]),c.drawElements(c.TRIANGLES,d.elementBuffer.length,c.UNSIGNED_SHORT,0)}}}}(t,e,r,i[s])}if(!t.isOpaquePass&amp;&amp;r.paint[&quot;fill-antialias&quot;]){t.lineWidth(2),t.depthMask(!1);var l=r.getPaintProperty(&quot;fill-outline-color&quot;);!l&amp;&amp;r.paint[&quot;fill-pattern&quot;]||!l?t.setDepthSublayer(0):t.setDepthSublayer(2);for(var c=0;c&lt;i.length;c++)!function(t,e,r,i){var a=e.getTile(i),o=a.getBucket(r);if(o){var s,l=t.gl,c=o.bufferGroups.fill,u=r.paint[&quot;fill-pattern&quot;],f=r.paint[&quot;fill-opacity&quot;],h=r.getPaintProperty(&quot;fill-outline-color&quot;);if(u&amp;&amp;!h)s=t.useProgram(&quot;outlinepattern&quot;),l.uniform2f(s.u_world,l.drawingBufferWidth,l.drawingBufferHeight);else{var d=o.paintAttributes.fill[r.id];s=t.useProgram(&quot;outline&quot;,d.defines,d.vertexPragmas,d.fragmentPragmas),l.uniform2f(s.u_world,l.drawingBufferWidth,l.drawingBufferHeight),l.uniform1f(s.u_opacity,f),o.setUniforms(l,&quot;fill&quot;,s,r,{zoom:t.transform.zoom})}l.uniformMatrix4fv(s.u_matrix,!1,t.translatePosMatrix(i.posMatrix,a,r.paint[&quot;fill-translate&quot;],r.paint[&quot;fill-translate-anchor&quot;])),u&amp;&amp;n(u,f,a,i,t,s),t.enableTileClippingMask(i);for(var p=0;p&lt;c.length;p++){var m=c[p];m.secondVaos[r.id].bind(l,s,m.layoutVertexBuffer,m.elementBuffer2,m.paintVertexBuffers[r.id]),l.drawElements(l.LINES,2*m.elementBuffer2.length,l.UNSIGNED_SHORT,0)}}}(t,e,r,i[c])}}},{&quot;../source/pixels_to_tile_units&quot;:354}],341:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../util/browser&quot;),i=t(&quot;gl-matrix&quot;).mat2,a=t(&quot;../source/pixels_to_tile_units&quot;);e.exports=function(t,e,r,o){if(!t.isOpaquePass){t.setDepthSublayer(0),t.depthMask(!1);var s=t.gl;if(s.enable(s.STENCIL_TEST),!(r.paint[&quot;line-width&quot;]&lt;=0)){var l=1/n.devicePixelRatio,c=r.paint[&quot;line-blur&quot;]+l,u=r.paint[&quot;line-color&quot;],f=t.transform,h=i.create();i.scale(h,h,[1,Math.cos(f._pitch)]),i.rotate(h,h,t.transform.angle);var d,p,m,g,v,y=Math.sqrt(f.height*f.height/4*(1+f.altitude*f.altitude)),x=(y+f.height/2*Math.tan(f._pitch))/y-1,b=r.paint[&quot;line-dasharray&quot;],_=r.paint[&quot;line-pattern&quot;];if(b)d=t.useProgram(&quot;linesdfpattern&quot;),s.uniform1f(d.u_linewidth,r.paint[&quot;line-width&quot;]/2),s.uniform1f(d.u_gapwidth,r.paint[&quot;line-gap-width&quot;]/2),s.uniform1f(d.u_antialiasing,l/2),s.uniform1f(d.u_blur,c),s.uniform4fv(d.u_color,u),s.uniform1f(d.u_opacity,r.paint[&quot;line-opacity&quot;]),p=t.lineAtlas.getDash(b.from,&quot;round&quot;===r.layout[&quot;line-cap&quot;]),m=t.lineAtlas.getDash(b.to,&quot;round&quot;===r.layout[&quot;line-cap&quot;]),s.uniform1i(d.u_image,0),s.activeTexture(s.TEXTURE0),t.lineAtlas.bind(s),s.uniform1f(d.u_tex_y_a,p.y),s.uniform1f(d.u_tex_y_b,m.y),s.uniform1f(d.u_mix,b.t),s.uniform1f(d.u_extra,x),s.uniform1f(d.u_offset,-r.paint[&quot;line-offset&quot;]),s.uniformMatrix2fv(d.u_antialiasingmatrix,!1,h);else if(_){if(g=t.spriteAtlas.getPosition(_.from,!0),v=t.spriteAtlas.getPosition(_.to,!0),!g||!v)return;d=t.useProgram(&quot;linepattern&quot;),s.uniform1i(d.u_image,0),s.activeTexture(s.TEXTURE0),t.spriteAtlas.bind(s,!0),s.uniform1f(d.u_linewidth,r.paint[&quot;line-width&quot;]/2),s.uniform1f(d.u_gapwidth,r.paint[&quot;line-gap-width&quot;]/2),s.uniform1f(d.u_antialiasing,l/2),s.uniform1f(d.u_blur,c),s.uniform2fv(d.u_pattern_tl_a,g.tl),s.uniform2fv(d.u_pattern_br_a,g.br),s.uniform2fv(d.u_pattern_tl_b,v.tl),s.uniform2fv(d.u_pattern_br_b,v.br),s.uniform1f(d.u_fade,_.t),s.uniform1f(d.u_opacity,r.paint[&quot;line-opacity&quot;]),s.uniform1f(d.u_extra,x),s.uniform1f(d.u_offset,-r.paint[&quot;line-offset&quot;]),s.uniformMatrix2fv(d.u_antialiasingmatrix,!1,h)}else d=t.useProgram(&quot;line&quot;),s.uniform1f(d.u_linewidth,r.paint[&quot;line-width&quot;]/2),s.uniform1f(d.u_gapwidth,r.paint[&quot;line-gap-width&quot;]/2),s.uniform1f(d.u_antialiasing,l/2),s.uniform1f(d.u_blur,c),s.uniform1f(d.u_extra,x),s.uniform1f(d.u_offset,-r.paint[&quot;line-offset&quot;]),s.uniformMatrix2fv(d.u_antialiasingmatrix,!1,h),s.uniform4fv(d.u_color,u),s.uniform1f(d.u_opacity,r.paint[&quot;line-opacity&quot;]);for(var w=0;w&lt;o.length;w++){var M=o[w],k=e.getTile(M),A=k.getBucket(r);if(A){var T=A.bufferGroups.line;if(T){t.enableTileClippingMask(M);var S=t.translatePosMatrix(M.posMatrix,k,r.paint[&quot;line-translate&quot;],r.paint[&quot;line-translate-anchor&quot;]);s.uniformMatrix4fv(d.u_matrix,!1,S);var E=1/a(k,1,t.transform.zoom);if(b){var L=p.width*b.fromScale,C=m.width*b.toScale,z=[1/a(k,L,t.transform.tileZoom),-p.height/2],D=[1/a(k,C,t.transform.tileZoom),-m.height/2],I=t.lineAtlas.width/(256*Math.min(L,C)*n.devicePixelRatio)/2;s.uniform1f(d.u_ratio,E),s.uniform2fv(d.u_patternscale_a,z),s.uniform2fv(d.u_patternscale_b,D),s.uniform1f(d.u_sdfgamma,I)}else _?(s.uniform1f(d.u_ratio,E),s.uniform2fv(d.u_pattern_size_a,[a(k,g.size[0]*_.fromScale,t.transform.tileZoom),v.size[1]]),s.uniform2fv(d.u_pattern_size_b,[a(k,v.size[0]*_.toScale,t.transform.tileZoom),v.size[1]])):s.uniform1f(d.u_ratio,E);for(var P=0;P&lt;T.length;P++){var O=T[P];O.vaos[r.id].bind(s,d,O.layoutVertexBuffer,O.elementBuffer),s.drawElements(s.TRIANGLES,3*O.elementBuffer.length,s.UNSIGNED_SHORT,0)}}}}}}}},{&quot;../source/pixels_to_tile_units&quot;:354,&quot;../util/browser&quot;:417,&quot;gl-matrix&quot;:198}],342:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,n){if(!t.isOpaquePass){var a=t.gl;a.enable(a.DEPTH_TEST),t.depthMask(!0),a.depthFunc(a.LESS);for(var o=n.length&amp;&amp;n[0].z,s=0;s&lt;n.length;s++){var l=n[s];t.setDepthSublayer(l.z-o),function(t,e,r,n){var a=t.gl;a.disable(a.STENCIL_TEST);var o=e.getTile(n),s=t.transform.calculatePosMatrix(n,e.maxzoom),l=t.useProgram(&quot;raster&quot;);a.uniformMatrix4fv(l.u_matrix,!1,s),a.uniform1f(l.u_brightness_low,r.paint[&quot;raster-brightness-min&quot;]),a.uniform1f(l.u_brightness_high,r.paint[&quot;raster-brightness-max&quot;]),a.uniform1f(l.u_saturation_factor,function(t){return t&gt;0?1-1/(1.001-t):-t}(r.paint[&quot;raster-saturation&quot;])),a.uniform1f(l.u_contrast_factor,function(t){return t&gt;0?1/(1-t):1+t}(r.paint[&quot;raster-contrast&quot;])),a.uniform3fv(l.u_spin_weights,function(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]}(r.paint[&quot;raster-hue-rotate&quot;]));var c,u,f=o.source&amp;&amp;o.source.findLoadedParent(n,0,{}),h=function(t,e,r,n){var a=[1,0],o=r.paint[&quot;raster-fade-duration&quot;];if(t.source&amp;&amp;o&gt;0){var s=(new Date).getTime(),l=(s-t.timeAdded)/o,c=e?(s-e.timeAdded)/o:-1,u=n.coveringZoomLevel(t.source),f=!!e&amp;&amp;Math.abs(e.coord.z-u)&gt;Math.abs(t.coord.z-u);!e||f?(a[0]=i.clamp(l,0,1),a[1]=1-a[0]):(a[0]=i.clamp(1-c,0,1),a[1]=1-a[0])}var h=r.paint[&quot;raster-opacity&quot;];return a[0]*=h,a[1]*=h,a}(o,f,r,t.transform);a.activeTexture(a.TEXTURE0),a.bindTexture(a.TEXTURE_2D,o.texture),a.activeTexture(a.TEXTURE1),f?(a.bindTexture(a.TEXTURE_2D,f.texture),c=Math.pow(2,f.coord.z-o.coord.z),u=[o.coord.x*c%1,o.coord.y*c%1]):(a.bindTexture(a.TEXTURE_2D,o.texture),h[1]=0);a.uniform2fv(l.u_tl_parent,u||[0,0]),a.uniform1f(l.u_scale_parent,c||1),a.uniform1f(l.u_buffer_scale,1),a.uniform1f(l.u_opacity0,h[0]),a.uniform1f(l.u_opacity1,h[1]),a.uniform1i(l.u_image0,0),a.uniform1i(l.u_image1,1);var d=o.boundsBuffer||t.rasterBoundsBuffer;(o.boundsVAO||t.rasterBoundsVAO).bind(a,l,d),a.drawArrays(a.TRIANGLE_STRIP,0,d.length)}(t,e,r,l)}a.depthFunc(a.LEQUAL)}}var i=t(&quot;../util/util&quot;),a=t(&quot;../util/struct_array&quot;);e.exports=n,n.RasterBoundsArray=new a({members:[{name:&quot;a_pos&quot;,type:&quot;Int16&quot;,components:2},{name:&quot;a_texture_pos&quot;,type:&quot;Int16&quot;,components:2}]})},{&quot;../util/struct_array&quot;:431,&quot;../util/util&quot;:433}],343:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,n,a,s,l,c,u,f,h,d,p,m,g){for(var v=0;v&lt;n.length;v++){var y=e.getTile(n[v]),x=y.getBucket(r);if(x){var b=x.bufferGroups,_=a?b.glyph:b.icon;_.length&amp;&amp;(t.enableTileClippingMask(n[v]),function(t,e,r,n,a,s,l,c,u,f,h,d,p,m,g,v,y,x,b,_,w){var M,k,A,T=t.gl,S=t.transform,E=&quot;map&quot;===m,L=&quot;map&quot;===g,C=l?24:1,z=v/C;L?(k=o(n,1,t.transform.zoom)*z,A=1/Math.cos(S._pitch),M=[k,k]):(k=t.transform.altitude*z,A=1,M=[S.pixelsToGLUnits[0]*k,S.pixelsToGLUnits[1]*k]);if(!l&amp;&amp;!t.style.sprite.loaded())return;var D=t.useProgram(c?&quot;sdf&quot;:&quot;icon&quot;);if(T.uniformMatrix4fv(D.u_matrix,!1,t.translatePosMatrix(r,n,d,p)),T.uniform1i(D.u_rotate_with_map,E),T.uniform1i(D.u_pitch_with_map,L),T.uniform2fv(D.u_extrude_scale,M),T.activeTexture(T.TEXTURE0),T.uniform1i(D.u_texture,0),l){var I=h&amp;&amp;t.glyphSource.getGlyphAtlas(h);if(!I)return;I.updateTexture(T),T.uniform2f(D.u_texsize,I.width/4,I.height/4)}else{var P=t.options.rotating||t.options.zooming,O=1!==z||i.devicePixelRatio!==t.spriteAtlas.pixelRatio||u,F=L||t.transform.pitch;t.spriteAtlas.bind(T,c||P||O||F),T.uniform2f(D.u_texsize,t.spriteAtlas.width/4,t.spriteAtlas.height/4)}var R=Math.log(v/f)/Math.LN2||0;T.uniform1f(D.u_zoom,10*(t.transform.zoom-R)),T.activeTexture(T.TEXTURE1),t.frameHistory.bind(T),T.uniform1i(D.u_fadetexture,1);var N;if(c){var j=.105*C/v/i.devicePixelRatio;if(y){T.uniform1f(D.u_gamma,(1.19*b/z/8+j)*A),T.uniform4fv(D.u_color,x),T.uniform1f(D.u_opacity,_),T.uniform1f(D.u_buffer,(6-y/z)/8);for(var B=0;B&lt;s.length;B++)(N=s[B]).vaos[e.id].bind(T,D,N.layoutVertexBuffer,N.elementBuffer),T.drawElements(T.TRIANGLES,3*N.elementBuffer.length,T.UNSIGNED_SHORT,0)}T.uniform1f(D.u_gamma,j*A),T.uniform4fv(D.u_color,w),T.uniform1f(D.u_opacity,_),T.uniform1f(D.u_buffer,.75),T.uniform1f(D.u_pitch,S.pitch/360*2*Math.PI),T.uniform1f(D.u_bearing,S.bearing/360*2*Math.PI),T.uniform1f(D.u_aspect_ratio,S.width/S.height);for(var U=0;U&lt;s.length;U++)(N=s[U]).vaos[e.id].bind(T,D,N.layoutVertexBuffer,N.elementBuffer),T.drawElements(T.TRIANGLES,3*N.elementBuffer.length,T.UNSIGNED_SHORT,0)}else{T.uniform1f(D.u_opacity,_);for(var V=0;V&lt;s.length;V++)(N=s[V]).vaos[e.id].bind(T,D,N.layoutVertexBuffer,N.elementBuffer),T.drawElements(T.TRIANGLES,3*N.elementBuffer.length,T.UNSIGNED_SHORT,0)}}(t,r,n[v].posMatrix,y,0,_,a,a||x.sdfIcons,!a&amp;&amp;x.iconsNeedLinear,a?x.adjustedTextSize:x.adjustedIconSize,x.fontstack,s,l,c,u,f,h,d,p,m,g))}}}var i=t(&quot;../util/browser&quot;),a=t(&quot;./draw_collision_debug&quot;),o=t(&quot;../source/pixels_to_tile_units&quot;);e.exports=function(t,e,r,i){if(!t.isOpaquePass){var o=!(r.layout[&quot;text-allow-overlap&quot;]||r.layout[&quot;icon-allow-overlap&quot;]||r.layout[&quot;text-ignore-placement&quot;]||r.layout[&quot;icon-ignore-placement&quot;]),s=t.gl;o?s.disable(s.STENCIL_TEST):s.enable(s.STENCIL_TEST),t.setDepthSublayer(0),t.depthMask(!1),s.disable(s.DEPTH_TEST),n(t,e,r,i,!1,r.paint[&quot;icon-translate&quot;],r.paint[&quot;icon-translate-anchor&quot;],r.layout[&quot;icon-rotation-alignment&quot;],r.layout[&quot;icon-rotation-alignment&quot;],r.layout[&quot;icon-size&quot;],r.paint[&quot;icon-halo-width&quot;],r.paint[&quot;icon-halo-color&quot;],r.paint[&quot;icon-halo-blur&quot;],r.paint[&quot;icon-opacity&quot;],r.paint[&quot;icon-color&quot;]),n(t,e,r,i,!0,r.paint[&quot;text-translate&quot;],r.paint[&quot;text-translate-anchor&quot;],r.layout[&quot;text-rotation-alignment&quot;],r.layout[&quot;text-pitch-alignment&quot;],r.layout[&quot;text-size&quot;],r.paint[&quot;text-halo-width&quot;],r.paint[&quot;text-halo-color&quot;],r.paint[&quot;text-halo-blur&quot;],r.paint[&quot;text-opacity&quot;],r.paint[&quot;text-color&quot;]),s.enable(s.DEPTH_TEST),e.map.showCollisionBoxes&amp;&amp;a(t,e,r,i)}}},{&quot;../source/pixels_to_tile_units&quot;:354,&quot;../util/browser&quot;:417,&quot;./draw_collision_debug&quot;:338}],344:[function(t,e,r){&quot;use strict&quot;;function n(){this.changeTimes=new Float64Array(256),this.changeOpacities=new Uint8Array(256),this.opacities=new Uint8ClampedArray(256),this.array=new Uint8Array(this.opacities.buffer),this.fadeDuration=300,this.previousZoom=0,this.firstFrame=!0}e.exports=n,n.prototype.record=function(t){var e=Date.now();this.firstFrame&amp;&amp;(e=0,this.firstFrame=!1);var r;if((t=Math.floor(10*t))&lt;this.previousZoom)for(r=t+1;r&lt;=this.previousZoom;r++)this.changeTimes[r]=e,this.changeOpacities[r]=this.opacities[r];else for(r=t;r&gt;this.previousZoom;r--)this.changeTimes[r]=e,this.changeOpacities[r]=this.opacities[r];for(r=0;r&lt;256;r++){var n=(e-this.changeTimes[r])/this.fadeDuration*255;this.opacities[r]=r&lt;=t?this.changeOpacities[r]+n:this.changeOpacities[r]-n}this.changed=!0,this.previousZoom=t},n.prototype.bind=function(t){this.texture?(t.bindTexture(t.TEXTURE_2D,this.texture),this.changed&amp;&amp;(t.texSubImage2D(t.TEXTURE_2D,0,0,0,256,1,t.ALPHA,t.UNSIGNED_BYTE,this.array),this.changed=!1)):(this.texture=t.createTexture(),t.bindTexture(t.TEXTURE_2D,this.texture),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),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MIN_FILTER,t.NEAREST),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MAG_FILTER,t.NEAREST),t.texImage2D(t.TEXTURE_2D,0,t.ALPHA,256,1,0,t.ALPHA,t.UNSIGNED_BYTE,this.array))}},{}],345:[function(t,e,r){&quot;use strict&quot;;function n(t,e){this.width=t,this.height=e,this.nextRow=0,this.bytes=4,this.data=new Uint8Array(this.width*this.height*this.bytes),this.positions={}}var i=t(&quot;../util/util&quot;);e.exports=n,n.prototype.setSprite=function(t){this.sprite=t},n.prototype.getDash=function(t,e){var r=t.join(&quot;,&quot;)+e;return this.positions[r]||(this.positions[r]=this.addDash(t,e)),this.positions[r]},n.prototype.addDash=function(t,e){var r=e?7:0,n=2*r+1;if(this.nextRow+n&gt;this.height)return i.warnOnce(&quot;LineAtlas out of space&quot;),null;for(var a=0,o=0;o&lt;t.length;o++)a+=t[o];for(var s=this.width/a,l=s/2,c=t.length%2==1,u=-r;u&lt;=r;u++)for(var f=this.nextRow+r+u,h=this.width*f,d=c?-t[t.length-1]:0,p=t[0],m=1,g=0;g&lt;this.width;g++){for(;p&lt;g/s;)d=p,p+=t[m],c&amp;&amp;m===t.length-1&amp;&amp;(p+=t[0]),m++;var v,y=Math.abs(g-d*s),x=Math.abs(g-p*s),b=Math.min(y,x),_=m%2==1;if(e){var w=r?u/r*(l+1):0;if(_){var M=l-Math.abs(w);v=Math.sqrt(b*b+M*M)}else v=l-Math.sqrt(b*b+w*w)}else v=(_?1:-1)*b;this.data[3+4*(h+g)]=Math.max(0,Math.min(255,v+128))}var k={y:(this.nextRow+r+.5)/this.height,height:2*r/this.height,width:a};return this.nextRow+=n,this.dirty=!0,k},n.prototype.bind=function(t){this.texture?(t.bindTexture(t.TEXTURE_2D,this.texture),this.dirty&amp;&amp;(this.dirty=!1,t.texSubImage2D(t.TEXTURE_2D,0,0,0,this.width,this.height,t.RGBA,t.UNSIGNED_BYTE,this.data))):(this.texture=t.createTexture(),t.bindTexture(t.TEXTURE_2D,this.texture),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_S,t.REPEAT),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_T,t.REPEAT),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MIN_FILTER,t.LINEAR),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MAG_FILTER,t.LINEAR),t.texImage2D(t.TEXTURE_2D,0,t.RGBA,this.width,this.height,0,t.RGBA,t.UNSIGNED_BYTE,this.data))}},{&quot;../util/util&quot;:433}],346:[function(t,e,r){&quot;use strict&quot;;function n(t,e){this.gl=t,this.transform=e,this.reusableTextures={},this.preFbos={},this.frameHistory=new o,this.setup(),this.numSublayers=s.maxUnderzooming+s.maxOverzooming+1,this.depthEpsilon=1/Math.pow(2,16),this.lineWidthRange=t.getParameter(t.ALIASED_LINE_WIDTH_RANGE)}var i=t(&quot;../util/browser&quot;),a=t(&quot;gl-matrix&quot;).mat4,o=t(&quot;./frame_history&quot;),s=t(&quot;../source/source_cache&quot;),l=t(&quot;../data/bucket&quot;).EXTENT,c=t(&quot;../source/pixels_to_tile_units&quot;),u=t(&quot;../util/util&quot;),f=t(&quot;../util/struct_array&quot;),h=t(&quot;../data/buffer&quot;),d=t(&quot;./vertex_array_object&quot;),p=t(&quot;./draw_raster&quot;).RasterBoundsArray,m=t(&quot;./create_uniform_pragmas&quot;);e.exports=n,u.extend(n.prototype,t(&quot;./painter/use_program&quot;)),n.prototype.resize=function(t,e){var r=this.gl;this.width=t*i.devicePixelRatio,this.height=e*i.devicePixelRatio,r.viewport(0,0,this.width,this.height)},n.prototype.setup=function(){var t=this.gl;t.verbose=!0,t.enable(t.BLEND),t.blendFunc(t.ONE,t.ONE_MINUS_SRC_ALPHA),t.enable(t.STENCIL_TEST),t.enable(t.DEPTH_TEST),t.depthFunc(t.LEQUAL),this._depthMask=!1,t.depthMask(!1);var e=this.PosArray=new f({members:[{name:&quot;a_pos&quot;,type:&quot;Int16&quot;,components:2}]}),r=new e;r.emplaceBack(0,0),r.emplaceBack(l,0),r.emplaceBack(0,l),r.emplaceBack(l,l),this.tileExtentBuffer=new h(r.serialize(),e.serialize(),h.BufferType.VERTEX),this.tileExtentVAO=new d,this.tileExtentPatternVAO=new d;var n=new e;n.emplaceBack(0,0),n.emplaceBack(l,0),n.emplaceBack(l,l),n.emplaceBack(0,l),n.emplaceBack(0,0),this.debugBuffer=new h(n.serialize(),e.serialize(),h.BufferType.VERTEX),this.debugVAO=new d;var i=new p;i.emplaceBack(0,0,0,0),i.emplaceBack(l,0,32767,0),i.emplaceBack(0,l,0,32767),i.emplaceBack(l,l,32767,32767),this.rasterBoundsBuffer=new h(i.serialize(),p.serialize(),h.BufferType.VERTEX),this.rasterBoundsVAO=new d},n.prototype.clearColor=function(){var t=this.gl;t.clearColor(0,0,0,0),t.clear(t.COLOR_BUFFER_BIT)},n.prototype.clearStencil=function(){var t=this.gl;t.clearStencil(0),t.stencilMask(255),t.clear(t.STENCIL_BUFFER_BIT)},n.prototype.clearDepth=function(){var t=this.gl;t.clearDepth(1),this.depthMask(!0),t.clear(t.DEPTH_BUFFER_BIT)},n.prototype._renderTileClippingMasks=function(t){var e=this.gl;e.colorMask(!1,!1,!1,!1),this.depthMask(!1),e.disable(e.DEPTH_TEST),e.enable(e.STENCIL_TEST),e.stencilMask(248),e.stencilOp(e.KEEP,e.KEEP,e.REPLACE);var r=1;this._tileClippingMaskIDs={};for(var n=0;n&lt;t.length;n++){var i=t[n],a=this._tileClippingMaskIDs[i.id]=r++&lt;&lt;3;e.stencilFunc(e.ALWAYS,a,248);var o=m([{name:&quot;u_color&quot;,components:4},{name:&quot;u_opacity&quot;,components:1}]),s=this.useProgram(&quot;fill&quot;,[],o,o);e.uniformMatrix4fv(s.u_matrix,!1,i.posMatrix),this.tileExtentVAO.bind(e,s,this.tileExtentBuffer),e.drawArrays(e.TRIANGLE_STRIP,0,this.tileExtentBuffer.length)}e.stencilMask(0),e.colorMask(!0,!0,!0,!0),this.depthMask(!0),e.enable(e.DEPTH_TEST)},n.prototype.enableTileClippingMask=function(t){var e=this.gl;e.stencilFunc(e.EQUAL,this._tileClippingMaskIDs[t.id],248)},n.prototype.prepareBuffers=function(){},n.prototype.bindDefaultFramebuffer=function(){var t=this.gl;t.bindFramebuffer(t.FRAMEBUFFER,null)};var g={symbol:t(&quot;./draw_symbol&quot;),circle:t(&quot;./draw_circle&quot;),line:t(&quot;./draw_line&quot;),fill:t(&quot;./draw_fill&quot;),raster:t(&quot;./draw_raster&quot;),background:t(&quot;./draw_background&quot;),debug:t(&quot;./draw_debug&quot;)};n.prototype.render=function(t,e){this.style=t,this.options=e,this.lineAtlas=t.lineAtlas,this.spriteAtlas=t.spriteAtlas,this.spriteAtlas.setSprite(t.sprite),this.glyphSource=t.glyphSource,this.frameHistory.record(this.transform.zoom),this.prepareBuffers(),this.clearColor(),this.clearDepth(),this.showOverdrawInspector(e.showOverdrawInspector),this.depthRange=(t._order.length+2)*this.numSublayers*this.depthEpsilon,this.renderPass({isOpaquePass:!0}),this.renderPass({isOpaquePass:!1})},n.prototype.renderPass=function(t){var e=this.style._groups,r=t.isOpaquePass;this.currentLayer=r?this.style._order.length:-1;for(var n=0;n&lt;e.length;n++){var i,a=e[r?e.length-1-n:n],o=this.style.sources[a.source],s=[];if(o){for(s=o.getVisibleCoordinates(),i=0;i&lt;s.length;i++)s[i].posMatrix=this.transform.calculatePosMatrix(s[i],o.maxzoom);this.clearStencil(),o.prepare&amp;&amp;o.prepare(),o.isTileClipped&amp;&amp;this._renderTileClippingMasks(s)}for(r?(this._showOverdrawInspector||this.gl.disable(this.gl.BLEND),this.isOpaquePass=!0):(this.gl.enable(this.gl.BLEND),this.isOpaquePass=!1,s.reverse()),i=0;i&lt;a.length;i++){var l=a[r?a.length-1-i:i];this.currentLayer+=r?-1:1,this.renderLayer(this,o,l,s)}o&amp;&amp;g.debug(this,o,s)}},n.prototype.depthMask=function(t){t!==this._depthMask&amp;&amp;(this._depthMask=t,this.gl.depthMask(t))},n.prototype.renderLayer=function(t,e,r,n){r.isHidden(this.transform.zoom)||(&quot;background&quot;===r.type||n.length)&amp;&amp;(this.id=r.id,g[r.type](t,e,r,n))},n.prototype.setDepthSublayer=function(t){var e=1-((1+this.currentLayer)*this.numSublayers+t)*this.depthEpsilon,r=e-1+this.depthRange;this.gl.depthRange(r,e)},n.prototype.translatePosMatrix=function(t,e,r,n){if(!r[0]&amp;&amp;!r[1])return t;if(&quot;viewport&quot;===n){var i=Math.sin(-this.transform.angle),o=Math.cos(-this.transform.angle);r=[r[0]*o-r[1]*i,r[0]*i+r[1]*o]}var s=[c(e,r[0],this.transform.zoom),c(e,r[1],this.transform.zoom),0],l=new Float32Array(16);return a.translate(l,t,s),l},n.prototype.saveTexture=function(t){var e=this.reusableTextures[t.size];e?e.push(t):this.reusableTextures[t.size]=[t]},n.prototype.getTexture=function(t){var e=this.reusableTextures[t];return e&amp;&amp;e.length&gt;0?e.pop():null},n.prototype.lineWidth=function(t){this.gl.lineWidth(u.clamp(t,this.lineWidthRange[0],this.lineWidthRange[1]))},n.prototype.showOverdrawInspector=function(t){if(t||this._showOverdrawInspector){this._showOverdrawInspector=t;var e=this.gl;if(t){e.blendFunc(e.CONSTANT_COLOR,e.ONE);e.blendColor(1/8,1/8,1/8,0),e.clearColor(0,0,0,1),e.clear(e.COLOR_BUFFER_BIT)}else e.blendFunc(e.ONE,e.ONE_MINUS_SRC_ALPHA)}}},{&quot;../data/bucket&quot;:320,&quot;../data/buffer&quot;:325,&quot;../source/pixels_to_tile_units&quot;:354,&quot;../source/source_cache&quot;:358,&quot;../util/browser&quot;:417,&quot;../util/struct_array&quot;:431,&quot;../util/util&quot;:433,&quot;./create_uniform_pragmas&quot;:335,&quot;./draw_background&quot;:336,&quot;./draw_circle&quot;:337,&quot;./draw_debug&quot;:339,&quot;./draw_fill&quot;:340,&quot;./draw_line&quot;:341,&quot;./draw_raster&quot;:342,&quot;./draw_symbol&quot;:343,&quot;./frame_history&quot;:344,&quot;./painter/use_program&quot;:347,&quot;./vertex_array_object&quot;:348,&quot;gl-matrix&quot;:198}],347:[function(t,e,r){&quot;use strict&quot;;function n(t,e){return t.replace(/#pragma mapbox: ([\w]+) ([\w]+) ([\w]+) ([\w]+)/g,function(t,r,n,i,a){return e[r][a].replace(/{type}/g,i).replace(/{precision}/g,n)})}var i=t(&quot;assert&quot;),a=t(&quot;../../util/util&quot;),o=t(&quot;mapbox-gl-shaders&quot;),s=o.util;e.exports._createProgram=function(t,e,r,l){for(var c=this.gl,u=c.createProgram(),f=o[t],h=&quot;#define MAPBOX_GL_JS;\n&quot;,d=0;d&lt;e.length;d++)h+=&quot;#define &quot;+e[d]+&quot;;\n&quot;;var p=c.createShader(c.FRAGMENT_SHADER);c.shaderSource(p,n(h+f.fragmentSource,l)),c.compileShader(p),i(c.getShaderParameter(p,c.COMPILE_STATUS),c.getShaderInfoLog(p)),c.attachShader(u,p);var m=c.createShader(c.VERTEX_SHADER);c.shaderSource(m,n(h+s+f.vertexSource,r)),c.compileShader(m),i(c.getShaderParameter(m,c.COMPILE_STATUS),c.getShaderInfoLog(m)),c.attachShader(u,m),c.linkProgram(u),i(c.getProgramParameter(u,c.LINK_STATUS),c.getProgramInfoLog(u));for(var g={},v=c.getProgramParameter(u,c.ACTIVE_ATTRIBUTES),y=0;y&lt;v;y++){var x=c.getActiveAttrib(u,y);g[x.name]=c.getAttribLocation(u,x.name)}for(var b={},_=c.getProgramParameter(u,c.ACTIVE_UNIFORMS),w=0;w&lt;_;w++){var M=c.getActiveUniform(u,w);b[M.name]=c.getUniformLocation(u,M.name)}return a.extend({program:u,definition:f,attributes:g,numAttributes:v},g,b)},e.exports._createProgramCached=function(t,e,r,n){this.cache=this.cache||{};var i=JSON.stringify({name:t,defines:e,vertexPragmas:r,fragmentPragmas:n});return this.cache[i]||(this.cache[i]=this._createProgram(t,e,r,n)),this.cache[i]},e.exports.useProgram=function(t,e,r,n){var i=this.gl;e=e||[],this._showOverdrawInspector&amp;&amp;(e=e.concat(&quot;OVERDRAW_INSPECTOR&quot;));var a=this._createProgramCached(t,e,r,n);return this.currentProgram!==a&amp;&amp;(i.useProgram(a.program),this.currentProgram=a),a}},{&quot;../../util/util&quot;:433,assert:51,&quot;mapbox-gl-shaders&quot;:294}],348:[function(t,e,r){&quot;use strict&quot;;function n(){this.boundProgram=null,this.boundVertexBuffer=null,this.boundVertexBuffer2=null,this.boundElementBuffer=null,this.vao=null}var i=t(&quot;assert&quot;);e.exports=n,n.prototype.bind=function(t,e,r,n,i){void 0===t.extVertexArrayObject&amp;&amp;(t.extVertexArrayObject=t.getExtension(&quot;OES_vertex_array_object&quot;));var a=!this.vao||this.boundProgram!==e||this.boundVertexBuffer!==r||this.boundVertexBuffer2!==i||this.boundElementBuffer!==n;!t.extVertexArrayObject||a?this.freshBind(t,e,r,n,i):t.extVertexArrayObject.bindVertexArrayOES(this.vao)},n.prototype.freshBind=function(t,e,r,n,a){var o,s=e.numAttributes;if(t.extVertexArrayObject)this.vao&amp;&amp;this.destroy(t),this.vao=t.extVertexArrayObject.createVertexArrayOES(),t.extVertexArrayObject.bindVertexArrayOES(this.vao),o=0,this.boundProgram=e,this.boundVertexBuffer=r,this.boundVertexBuffer2=a,this.boundElementBuffer=n;else{o=t.currentNumAttributes||0;for(var l=s;l&lt;o;l++)i(0!==l),t.disableVertexAttribArray(l)}for(var c=o;c&lt;s;c++)t.enableVertexAttribArray(c);r.bind(t),r.setVertexAttribPointers(t,e),a&amp;&amp;(a.bind(t),a.setVertexAttribPointers(t,e)),n&amp;&amp;n.bind(t),t.currentNumAttributes=s},n.prototype.unbind=function(t){var e=t.extVertexArrayObject;e&amp;&amp;e.bindVertexArrayOES(null)},n.prototype.destroy=function(t){var e=t.extVertexArrayObject;e&amp;&amp;this.vao&amp;&amp;(e.deleteVertexArrayOES(this.vao),this.vao=null)}},{assert:51}],349:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r){e=e||{},this.id=t,this.dispatcher=r,this._data=e.data,void 0!==e.maxzoom&amp;&amp;(this.maxzoom=e.maxzoom),e.type&amp;&amp;(this.type=e.type);var n=s/this.tileSize;this.workerOptions=a.extend({source:this.id,cluster:e.cluster||!1,geojsonVtOptions:{buffer:(void 0!==e.buffer?e.buffer:128)*n,tolerance:(void 0!==e.tolerance?e.tolerance:.375)*n,extent:s,maxZoom:this.maxzoom},superclusterOptions:{maxZoom:Math.min(e.clusterMaxZoom,this.maxzoom-1)||this.maxzoom-1,extent:s,radius:(e.clusterRadius||50)*n,log:!1}},e.workerOptions),this._updateWorkerData(function(t){t?this.fire(&quot;error&quot;,{error:t}):this.fire(&quot;load&quot;)}.bind(this))}var i=t(&quot;../util/evented&quot;),a=t(&quot;../util/util&quot;),o=t(&quot;resolve-url&quot;),s=t(&quot;../data/bucket&quot;).EXTENT;e.exports=n,n.prototype=a.inherit(i,{type:&quot;geojson&quot;,minzoom:0,maxzoom:18,tileSize:512,isTileClipped:!0,reparseOverscaled:!0,onAdd:function(t){this.map=t},setData:function(t){return this._data=t,this._updateWorkerData(function(t){if(t)return this.fire(&quot;error&quot;,{error:t});this.fire(&quot;change&quot;)}.bind(this)),this},_updateWorkerData:function(t){var e=a.extend({},this.workerOptions),r=this._data;&quot;string&quot;==typeof r?e.url=&quot;undefined&quot;!=typeof window?o(window.location.href,r):r:e.data=JSON.stringify(r),this.workerID=this.dispatcher.send(this.type+&quot;.loadData&quot;,e,function(e){this._loaded=!0,t(e)}.bind(this))},loadTile:function(t,e){var r=t.coord.z&gt;this.maxzoom?Math.pow(2,t.coord.z-this.maxzoom):1,n={type:this.type,uid:t.uid,coord:t.coord,zoom:t.coord.z,maxZoom:this.maxzoom,tileSize:this.tileSize,source:this.id,overscaling:r,angle:this.map.transform.angle,pitch:this.map.transform.pitch,showCollisionBoxes:this.map.showCollisionBoxes};t.workerID=this.dispatcher.send(&quot;load tile&quot;,n,function(r,n){if(t.unloadVectorData(this.map.painter),!t.aborted)return r?e(r):(t.loadVectorData(n,this.map.style),t.redoWhenDone&amp;&amp;(t.redoWhenDone=!1,t.redoPlacement(this)),e(null))}.bind(this),this.workerID)},abortTile:function(t){t.aborted=!0},unloadTile:function(t){t.unloadVectorData(this.map.painter),this.dispatcher.send(&quot;remove tile&quot;,{uid:t.uid,source:this.id},function(){},t.workerID)},serialize:function(){return{type:this.type,data:this._data}}})},{&quot;../data/bucket&quot;:320,&quot;../util/evented&quot;:425,&quot;../util/util&quot;:433,&quot;resolve-url&quot;:508}],350:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r){r&amp;&amp;(this.loadGeoJSON=r),f.call(this,t,e)}var i=t(&quot;../util/util&quot;),a=t(&quot;../util/ajax&quot;),o=t(&quot;geojson-rewind&quot;),s=t(&quot;./geojson_wrapper&quot;),l=t(&quot;vt-pbf&quot;),c=t(&quot;supercluster&quot;),u=t(&quot;geojson-vt&quot;),f=t(&quot;./vector_tile_worker_source&quot;);e.exports=n,n.prototype=i.inherit(f,{_geoJSONIndexes:{},loadVectorData:function(t,e){var r=t.source,n=t.coord;if(!this._geoJSONIndexes[r])return e(null,null);var i=this._geoJSONIndexes[r].getTile(Math.min(n.z,t.maxZoom),n.x,n.y);if(!i)return e(null,null);var a=new s(i.features);a.name=&quot;_geojsonTileLayer&quot;;var o=l({layers:{_geojsonTileLayer:a}});0===o.byteOffset&amp;&amp;o.byteLength===o.buffer.byteLength||(o=new Uint8Array(o)),e(null,{tile:a,rawTileData:o.buffer})},loadData:function(t,e){var r=function(r,n){return r?e(r):&quot;object&quot;!=typeof n?e(new Error(&quot;Input data is not a valid GeoJSON object.&quot;)):(o(n,!0),void this._indexData(n,t,function(r,n){if(r)return e(r);this._geoJSONIndexes[t.source]=n,e(null)}.bind(this)))}.bind(this);this.loadGeoJSON(t,r)},loadGeoJSON:function(t,e){if(t.url)a.getJSON(t.url,e);else{if(&quot;string&quot;!=typeof t.data)return e(new Error(&quot;Input data is not a valid GeoJSON object.&quot;));try{return e(null,JSON.parse(t.data))}catch(t){return e(new Error(&quot;Input data is not a valid GeoJSON object.&quot;))}}},_indexData:function(t,e,r){try{e.cluster?r(null,c(e.superclusterOptions).load(t.features)):r(null,u(t,e.geojsonVtOptions))}catch(t){return r(t)}}})},{&quot;../util/ajax&quot;:416,&quot;../util/util&quot;:433,&quot;./geojson_wrapper&quot;:351,&quot;./vector_tile_worker_source&quot;:362,&quot;geojson-rewind&quot;:147,&quot;geojson-vt&quot;:151,supercluster:538,&quot;vt-pbf&quot;:570}],351:[function(t,e,r){&quot;use strict&quot;;function n(t){this.features=t,this.length=t.length,this.extent=s}function i(t){if(this.type=t.type,1===t.type){this.rawGeometry=[];for(var e=0;e&lt;t.geometry.length;e++)this.rawGeometry.push([t.geometry[e]])}else this.rawGeometry=t.geometry;this.properties=t.tags,this.extent=s}var a=t(&quot;point-geometry&quot;),o=t(&quot;vector-tile&quot;).VectorTileFeature,s=t(&quot;../data/bucket&quot;).EXTENT;e.exports=n,n.prototype.feature=function(t){return new i(this.features[t])},i.prototype.loadGeometry=function(){var t=this.rawGeometry;this.geometry=[];for(var e=0;e&lt;t.length;e++){for(var r=t[e],n=[],i=0;i&lt;r.length;i++)n.push(new a(r[i][0],r[i][1]));this.geometry.push(n)}return this.geometry},i.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&lt;t.length;a++)for(var o=t[a],s=0;s&lt;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]},i.prototype.toGeoJSON=o.prototype.toGeoJSON},{&quot;../data/bucket&quot;:320,&quot;point-geometry&quot;:477,&quot;vector-tile&quot;:564}],352:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r){this.id=t,this.dispatcher=r,this.url=e.url,this.coordinates=e.coordinates,c.getImage(e.url,function(t,r){if(t)return this.fire(&quot;error&quot;,{error:t});this.image=r,this.image.addEventListener(&quot;load&quot;,function(){this.map._rerender()}.bind(this)),this._loaded=!0,this.fire(&quot;load&quot;),this.map&amp;&amp;this.setCoordinates(e.coordinates)}.bind(this))}var i=t(&quot;../util/util&quot;),a=t(&quot;./tile_coord&quot;),o=t(&quot;../geo/lng_lat&quot;),s=t(&quot;point-geometry&quot;),l=t(&quot;../util/evented&quot;),c=t(&quot;../util/ajax&quot;),u=t(&quot;../data/bucket&quot;).EXTENT,f=t(&quot;../render/draw_raster&quot;).RasterBoundsArray,h=t(&quot;../data/buffer&quot;),d=t(&quot;../render/vertex_array_object&quot;);e.exports=n,n.prototype=i.inherit(l,{minzoom:0,maxzoom:22,tileSize:512,onAdd:function(t){this.map=t,this.image&amp;&amp;this.setCoordinates(this.coordinates)},setCoordinates:function(t){this.coordinates=t;var e=this.map,r=t.map(function(t){return e.transform.locationCoordinate(o.convert(t)).zoomTo(0)}),n=this.centerCoord=i.getCoordinatesCenter(r);return n.column=Math.round(n.column),n.row=Math.round(n.row),this.minzoom=this.maxzoom=n.zoom,this._coord=new a(n.zoom,n.column,n.row),this._tileCoords=r.map(function(t){var e=t.zoomTo(n.zoom);return new s(Math.round((e.column-n.column)*u),Math.round((e.row-n.row)*u))}),this.fire(&quot;change&quot;),this},_setTile:function(t){this._prepared=!1,this.tile=t;var e=new f;e.emplaceBack(this._tileCoords[0].x,this._tileCoords[0].y,0,0),e.emplaceBack(this._tileCoords[1].x,this._tileCoords[1].y,32767,0),e.emplaceBack(this._tileCoords[3].x,this._tileCoords[3].y,0,32767),e.emplaceBack(this._tileCoords[2].x,this._tileCoords[2].y,32767,32767),this.tile.buckets={},this.tile.boundsBuffer=new h(e.serialize(),f.serialize(),h.BufferType.VERTEX),this.tile.boundsVAO=new d,this.tile.state=&quot;loaded&quot;},prepare:function(){if(this._loaded&amp;&amp;this.image&amp;&amp;this.image.complete&amp;&amp;this.tile){var t=this.map.painter.gl;this._prepared?(t.bindTexture(t.TEXTURE_2D,this.tile.texture),t.texSubImage2D(t.TEXTURE_2D,0,0,0,t.RGBA,t.UNSIGNED_BYTE,this.image)):(this.tile.texture=t.createTexture(),t.bindTexture(t.TEXTURE_2D,this.tile.texture),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),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MIN_FILTER,t.LINEAR),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MAG_FILTER,t.LINEAR),t.texImage2D(t.TEXTURE_2D,0,t.RGBA,t.RGBA,t.UNSIGNED_BYTE,this.image))}},loadTile:function(t,e){this._coord&amp;&amp;this._coord.toString()===t.coord.toString()?(this._setTile(t),e(null)):(t.state=&quot;errored&quot;,e(null))},serialize:function(){return{type:&quot;image&quot;,urls:this.url,coordinates:this.coordinates}}})},{&quot;../data/bucket&quot;:320,&quot;../data/buffer&quot;:325,&quot;../geo/lng_lat&quot;:330,&quot;../render/draw_raster&quot;:342,&quot;../render/vertex_array_object&quot;:348,&quot;../util/ajax&quot;:416,&quot;../util/evented&quot;:425,&quot;../util/util&quot;:433,&quot;./tile_coord&quot;:360,&quot;point-geometry&quot;:477}],353:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../util/util&quot;),i=t(&quot;../util/ajax&quot;),a=t(&quot;../util/browser&quot;),o=t(&quot;../util/mapbox&quot;).normalizeSourceURL;e.exports=function(t,e){var r=function(t,r){if(t)return e(t);var i=n.pick(r,[&quot;tiles&quot;,&quot;minzoom&quot;,&quot;maxzoom&quot;,&quot;attribution&quot;]);r.vector_layers&amp;&amp;(i.vectorLayers=r.vector_layers,i.vectorLayerIds=i.vectorLayers.map(function(t){return t.id})),e(null,i)};t.url?i.getJSON(o(t.url),r):a.frame(r.bind(null,null,t))}},{&quot;../util/ajax&quot;:416,&quot;../util/browser&quot;:417,&quot;../util/mapbox&quot;:430,&quot;../util/util&quot;:433}],354:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../data/bucket&quot;);e.exports=function(t,e,r){return e*(n.EXTENT/(t.tileSize*Math.pow(2,r-t.coord.z)))}},{&quot;../data/bucket&quot;:320}],355:[function(t,e,r){&quot;use strict&quot;;function n(t,e){var r=t.coord,n=e.coord;return r.z-n.z||r.y-n.y||r.w-n.w||r.x-n.x}var i=t(&quot;./tile_coord&quot;);r.rendered=function(t,e,r,i,a,o){var s=t.tilesIn(r);s.sort(n);for(var l=[],c=0;c&lt;s.length;c++){var u=s[c];u.tile.featureIndex&amp;&amp;l.push(u.tile.featureIndex.query({queryGeometry:u.queryGeometry,scale:u.scale,tileSize:u.tile.tileSize,bearing:o,params:i},e))}return function(t){for(var e=t[0]||{},r=1;r&lt;t.length;r++){var n=t[r];for(var i in n){var a=n[i],o=e[i];if(void 0===o)o=e[i]=a;else for(var s=0;s&lt;a.length;s++)o.push(a[s])}}return e}(l)},r.source=function(t,e){for(var r=t.getRenderableIds().map(function(e){return t.getTileByID(e)}),n=[],a={},o=0;o&lt;r.length;o++){var s=r[o],l=new i(Math.min(s.sourceMaxZoom,s.coord.z),s.coord.x,s.coord.y,0).id;a[l]||(a[l]=!0,s.querySourceFeatures(n,e))}return n}},{&quot;./tile_coord&quot;:360}],356:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r){this.id=t,this.dispatcher=r,i.extend(this,i.pick(e,[&quot;url&quot;,&quot;scheme&quot;,&quot;tileSize&quot;])),s(e,function(t,e){if(t)return this.fire(&quot;error&quot;,t);i.extend(this,e),this.fire(&quot;load&quot;)}.bind(this))}var i=t(&quot;../util/util&quot;),a=t(&quot;../util/ajax&quot;),o=t(&quot;../util/evented&quot;),s=t(&quot;./load_tilejson&quot;),l=t(&quot;../util/mapbox&quot;).normalizeTileURL;e.exports=n,n.prototype=i.inherit(o,{minzoom:0,maxzoom:22,roundZoom:!0,scheme:&quot;xyz&quot;,tileSize:512,_loaded:!1,onAdd:function(t){this.map=t},serialize:function(){return{type:&quot;raster&quot;,url:this.url,tileSize:this.tileSize}},loadTile:function(t,e){var r=l(t.coord.url(this.tiles,null,this.scheme),this.url,this.tileSize);t.request=a.getImage(r,function(r,n){if(delete t.request,!t.aborted){if(r)return e(r);var i=this.map.painter.gl;t.texture=this.map.painter.getTexture(n.width),t.texture?(i.bindTexture(i.TEXTURE_2D,t.texture),i.texSubImage2D(i.TEXTURE_2D,0,0,0,i.RGBA,i.UNSIGNED_BYTE,n)):(t.texture=i.createTexture(),i.bindTexture(i.TEXTURE_2D,t.texture),i.texParameteri(i.TEXTURE_2D,i.TEXTURE_MIN_FILTER,i.LINEAR_MIPMAP_NEAREST),i.texParameteri(i.TEXTURE_2D,i.TEXTURE_MAG_FILTER,i.LINEAR),i.texParameteri(i.TEXTURE_2D,i.TEXTURE_WRAP_S,i.CLAMP_TO_EDGE),i.texParameteri(i.TEXTURE_2D,i.TEXTURE_WRAP_T,i.CLAMP_TO_EDGE),i.pixelStorei(i.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!0),i.texImage2D(i.TEXTURE_2D,0,i.RGBA,i.RGBA,i.UNSIGNED_BYTE,n),t.texture.size=n.width),i.generateMipmap(i.TEXTURE_2D),this.map.animationLoop.set(this.map.style.rasterFadeDuration),t.state=&quot;loaded&quot;,e(null)}}.bind(this))},abortTile:function(t){t.request&amp;&amp;(t.request.abort(),delete t.request)},unloadTile:function(t){t.texture&amp;&amp;this.map.painter.saveTexture(t.texture)}})},{&quot;../util/ajax&quot;:416,&quot;../util/evented&quot;:425,&quot;../util/mapbox&quot;:430,&quot;../util/util&quot;:433,&quot;./load_tilejson&quot;:353}],357:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../util/util&quot;),i={vector:t(&quot;../source/vector_tile_source&quot;),raster:t(&quot;../source/raster_tile_source&quot;),geojson:t(&quot;../source/geojson_source&quot;),video:t(&quot;../source/video_source&quot;),image:t(&quot;../source/image_source&quot;)};r.create=function(t,e,r){if((e=new i[e.type](t,e,r)).id!==t)throw new Error(&quot;Expected Source id to be &quot;+t+&quot; instead of &quot;+e.id);return n.bindAll([&quot;load&quot;,&quot;abort&quot;,&quot;unload&quot;,&quot;serialize&quot;,&quot;prepare&quot;],e),e},r.getType=function(t){return i[t]},r.setType=function(t,e){i[t]=e}},{&quot;../source/geojson_source&quot;:349,&quot;../source/image_source&quot;:352,&quot;../source/raster_tile_source&quot;:356,&quot;../source/vector_tile_source&quot;:361,&quot;../source/video_source&quot;:363,&quot;../util/util&quot;:433}],358:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r){this.id=t,this.dispatcher=r;var n=this._source=o.create(t,e,r).on(&quot;load&quot;,function(){this.map&amp;&amp;this._source.onAdd&amp;&amp;this._source.onAdd(this.map),this._sourceLoaded=!0,this.tileSize=n.tileSize,this.minzoom=n.minzoom,this.maxzoom=n.maxzoom,this.roundZoom=n.roundZoom,this.reparseOverscaled=n.reparseOverscaled,this.isTileClipped=n.isTileClipped,this.attribution=n.attribution,this.vectorLayerIds=n.vectorLayerIds,this.fire(&quot;load&quot;)}.bind(this)).on(&quot;error&quot;,function(t){this._sourceErrored=!0,this.fire(&quot;error&quot;,t)}.bind(this)).on(&quot;change&quot;,function(){this.reload(),this.transform&amp;&amp;this.update(this.transform,this.map&amp;&amp;this.map.style.rasterFadeDuration),this.fire(&quot;change&quot;)}.bind(this));this._tiles={},this._cache=new u(0,this.unloadTile.bind(this)),this._isIdRenderable=this._isIdRenderable.bind(this)}function i(t,e,r){var n=r.zoomTo(Math.min(t.z,e));return{x:(n.column-(t.x+t.w*Math.pow(2,t.z)))*d,y:(n.row-t.y)*d}}function a(t,e){return t%32-e%32}var o=t(&quot;./source&quot;),s=t(&quot;./tile&quot;),l=t(&quot;../util/evented&quot;),c=t(&quot;./tile_coord&quot;),u=t(&quot;../util/lru_cache&quot;),f=t(&quot;../geo/coordinate&quot;),h=t(&quot;../util/util&quot;),d=t(&quot;../data/bucket&quot;).EXTENT;e.exports=n,n.maxOverzooming=10,n.maxUnderzooming=3,n.prototype=h.inherit(l,{onAdd:function(t){this.map=t,this._source&amp;&amp;this._source.onAdd&amp;&amp;this._source.onAdd(t)},loaded:function(){if(this._sourceErrored)return!0;if(!this._sourceLoaded)return!1;for(var t in this._tiles){var e=this._tiles[t];if(&quot;loaded&quot;!==e.state&amp;&amp;&quot;errored&quot;!==e.state)return!1}return!0},getSource:function(){return this._source},loadTile:function(t,e){return this._source.loadTile(t,e)},unloadTile:function(t){if(this._source.unloadTile)return this._source.unloadTile(t)},abortTile:function(t){if(this._source.abortTile)return this._source.abortTile(t)},serialize:function(){return this._source.serialize()},prepare:function(){if(this._sourceLoaded&amp;&amp;this._source.prepare)return this._source.prepare()},getIds:function(){return Object.keys(this._tiles).map(Number).sort(a)},getRenderableIds:function(){return this.getIds().filter(this._isIdRenderable)},_isIdRenderable:function(t){return this._tiles[t].isRenderable()&amp;&amp;!this._coveredTiles[t]},reload:function(){this._cache.reset();for(var t in this._tiles){var e=this._tiles[t];&quot;loading&quot;!==e.state&amp;&amp;(e.state=&quot;reloading&quot;),this.loadTile(this._tiles[t],this._tileLoaded.bind(this,this._tiles[t]))}},_tileLoaded:function(t,e){if(e)return t.state=&quot;errored&quot;,this.fire(&quot;tile.error&quot;,{tile:t,error:e}),void this._source.fire(&quot;tile.error&quot;,{tile:t,error:e});t.source=this,t.timeAdded=(new Date).getTime(),this.fire(&quot;tile.load&quot;,{tile:t}),this._source.fire(&quot;tile.load&quot;,{tile:t})},getTile:function(t){return this.getTileByID(t.id)},getTileByID:function(t){return this._tiles[t]},getZoom:function(t){return t.zoom+t.scaleZoom(t.tileSize/this.tileSize)},findLoadedChildren:function(t,e,r){var n=!1;for(var i in this._tiles){var a=this._tiles[i];if(!(r[i]||!a.isRenderable()||a.coord.z&lt;=t.z||a.coord.z&gt;e)){var o=Math.pow(2,Math.min(a.coord.z,this.maxzoom)-Math.min(t.z,this.maxzoom));if(Math.floor(a.coord.x/o)===t.x&amp;&amp;Math.floor(a.coord.y/o)===t.y)for(r[i]=!0,n=!0;a&amp;&amp;a.coord.z-1&gt;t.z;){var s=a.coord.parent(this.maxzoom).id;(a=this._tiles[s])&amp;&amp;a.isRenderable()&amp;&amp;(delete r[i],r[s]=!0)}}}return n},findLoadedParent:function(t,e,r){for(var n=t.z-1;n&gt;=e;n--){t=t.parent(this.maxzoom);var i=this._tiles[t.id];if(i&amp;&amp;i.isRenderable())return r[t.id]=!0,i;if(this._cache.has(t.id))return this.addTile(t),r[t.id]=!0,this._tiles[t.id]}},updateCacheSize:function(t){var e=(Math.ceil(t.width/t.tileSize)+1)*(Math.ceil(t.height/t.tileSize)+1);this._cache.setMaxSize(Math.floor(5*e))},update:function(t,e){if(this._sourceLoaded){var r,i,a;this.updateCacheSize(t);var o=(this.roundZoom?Math.round:Math.floor)(this.getZoom(t)),s=Math.max(o-n.maxOverzooming,this.minzoom),l=Math.max(o+n.maxUnderzooming,this.minzoom),u={},f=(new Date).getTime();this._coveredTiles={};var d=this.used?t.coveringTiles(this._source):[];for(r=0;r&lt;d.length;r++)i=d[r],a=this.addTile(i),u[i.id]=!0,a.isRenderable()||this.findLoadedChildren(i,l,u)||this.findLoadedParent(i,s,u);for(var p={},m=Object.keys(u),g=0;g&lt;m.length;g++){var v=m[g];i=c.fromID(v),(a=this._tiles[v])&amp;&amp;a.timeAdded&gt;f-(e||0)&amp;&amp;(this.findLoadedChildren(i,l,u)&amp;&amp;(u[v]=!0),this.findLoadedParent(i,s,p))}var y;for(y in p)u[y]||(this._coveredTiles[y]=!0);for(y in p)u[y]=!0;var x=h.keysDifference(this._tiles,u);for(r=0;r&lt;x.length;r++)this.removeTile(+x[r]);this.transform=t}},addTile:function(t){var e=this._tiles[t.id];if(e)return e;var r=t.wrapped();if((e=this._tiles[r.id])||(e=this._cache.get(r.id))&amp;&amp;this._redoPlacement&amp;&amp;this._redoPlacement(e),!e){var n=t.z,i=n&gt;this.maxzoom?Math.pow(2,n-this.maxzoom):1;e=new s(r,this.tileSize*i,this.maxzoom),this.loadTile(e,this._tileLoaded.bind(this,e))}return e.uses++,this._tiles[t.id]=e,this.fire(&quot;tile.add&quot;,{tile:e}),this._source.fire(&quot;tile.add&quot;,{tile:e}),e},removeTile:function(t){var e=this._tiles[t];e&amp;&amp;(e.uses--,delete this._tiles[t],this.fire(&quot;tile.remove&quot;,{tile:e}),this._source.fire(&quot;tile.remove&quot;,{tile:e}),e.uses&gt;0||(e.isRenderable()?this._cache.add(e.coord.wrapped().id,e):(e.aborted=!0,this.abortTile(e),this.unloadTile(e))))},clearTiles:function(){for(var t in this._tiles)this.removeTile(t);this._cache.reset()},tilesIn:function(t){for(var e={},r=this.getIds(),n=1/0,a=1/0,o=-1/0,s=-1/0,l=t[0].zoom,u=0;u&lt;t.length;u++){var h=t[u];n=Math.min(n,h.column),a=Math.min(a,h.row),o=Math.max(o,h.column),s=Math.max(s,h.row)}for(var p=0;p&lt;r.length;p++){var m=this._tiles[r[p]],g=c.fromID(r[p]),v=[i(g,m.sourceMaxZoom,new f(n,a,l)),i(g,m.sourceMaxZoom,new f(o,s,l))];if(v[0].x&lt;d&amp;&amp;v[0].y&lt;d&amp;&amp;v[1].x&gt;=0&amp;&amp;v[1].y&gt;=0){for(var y=[],x=0;x&lt;t.length;x++)y.push(i(g,m.sourceMaxZoom,t[x]));var b=e[m.coord.id];void 0===b&amp;&amp;(b=e[m.coord.id]={tile:m,coord:g,queryGeometry:[],scale:Math.pow(2,this.transform.zoom-m.coord.z)}),b.queryGeometry.push(y)}}var _=[];for(var w in e)_.push(e[w]);return _},redoPlacement:function(){for(var t=this.getIds(),e=0;e&lt;t.length;e++){this.getTileByID(t[e]).redoPlacement(this)}},getVisibleCoordinates:function(){return this.getRenderableIds().map(c.fromID)}})},{&quot;../data/bucket&quot;:320,&quot;../geo/coordinate&quot;:329,&quot;../util/evented&quot;:425,&quot;../util/lru_cache&quot;:429,&quot;../util/util&quot;:433,&quot;./source&quot;:357,&quot;./tile&quot;:359,&quot;./tile_coord&quot;:360}],359:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r){this.coord=t,this.uid=a.uniqueId(),this.uses=0,this.tileSize=e,this.sourceMaxZoom=r,this.buckets={},this.state=&quot;loading&quot;}function i(t,e){if(e){for(var r={},n=0;n&lt;t.length;n++){var i=e.getLayer(t[n].layerId);if(i){var s=o.create(a.extend({layer:i,childLayers:t[n].childLayerIds.map(e.getLayer.bind(e)).filter(function(t){return t})},t[n]));r[s.id]=s}}return r}}var a=t(&quot;../util/util&quot;),o=t(&quot;../data/bucket&quot;),s=t(&quot;../data/feature_index&quot;),l=t(&quot;vector-tile&quot;),c=t(&quot;pbf&quot;),u=t(&quot;../util/vectortile_to_geojson&quot;),f=t(&quot;feature-filter&quot;),h=t(&quot;../symbol/collision_tile&quot;),d=t(&quot;../symbol/collision_box&quot;),p=t(&quot;../symbol/symbol_instances&quot;),m=t(&quot;../symbol/symbol_quads&quot;);e.exports=n,n.prototype={loadVectorData:function(t,e){this.state=&quot;loaded&quot;,t&amp;&amp;(this.collisionBoxArray=new d(t.collisionBoxArray),this.collisionTile=new h(t.collisionTile,this.collisionBoxArray),this.symbolInstancesArray=new p(t.symbolInstancesArray),this.symbolQuadsArray=new m(t.symbolQuadsArray),this.featureIndex=new s(t.featureIndex,t.rawTileData,this.collisionTile),this.rawTileData=t.rawTileData,this.buckets=i(t.buckets,e))},reloadSymbolData:function(t,e,r){if(&quot;unloaded&quot;!==this.state){this.collisionTile=new h(t.collisionTile,this.collisionBoxArray),this.featureIndex.setCollisionTile(this.collisionTile);for(var n in this.buckets){var o=this.buckets[n];&quot;symbol&quot;===o.type&amp;&amp;(o.destroy(e.gl),delete this.buckets[n])}a.extend(this.buckets,i(t.buckets,r))}},unloadVectorData:function(t){for(var e in this.buckets){this.buckets[e].destroy(t.gl)}this.collisionBoxArray=null,this.symbolQuadsArray=null,this.symbolInstancesArray=null,this.collisionTile=null,this.featureIndex=null,this.rawTileData=null,this.buckets=null,this.state=&quot;unloaded&quot;},redoPlacement:function(t){&quot;loaded&quot;===this.state&amp;&amp;&quot;reloading&quot;!==this.state?(this.state=&quot;reloading&quot;,t.dispatcher.send(&quot;redo placement&quot;,{uid:this.uid,source:t.id,angle:t.map.transform.angle,pitch:t.map.transform.pitch,showCollisionBoxes:t.map.showCollisionBoxes},function(e,r){this.reloadSymbolData(r,t.map.painter,t.map.style),t.fire(&quot;tile.load&quot;,{tile:this}),this.state=&quot;loaded&quot;,this.redoWhenDone&amp;&amp;(this.redoPlacement(t),this.redoWhenDone=!1)}.bind(this),this.workerID)):this.redoWhenDone=!0},getBucket:function(t){return this.buckets&amp;&amp;this.buckets[t.ref||t.id]},querySourceFeatures:function(t,e){if(this.rawTileData){this.vtLayers||(this.vtLayers=new l.VectorTile(new c(new Uint8Array(this.rawTileData))).layers);var r=this.vtLayers._geojsonTileLayer||this.vtLayers[e.sourceLayer];if(r)for(var n=f(e.filter),i={z:this.coord.z,x:this.coord.x,y:this.coord.y},a=0;a&lt;r.length;a++){var o=r.feature(a);if(n(o)){var s=new u(o,this.coord.z,this.coord.x,this.coord.y);s.tile=i,t.push(s)}}}},isRenderable:function(){return&quot;loaded&quot;===this.state||&quot;reloading&quot;===this.state}}},{&quot;../data/bucket&quot;:320,&quot;../data/feature_index&quot;:327,&quot;../symbol/collision_box&quot;:385,&quot;../symbol/collision_tile&quot;:387,&quot;../symbol/symbol_instances&quot;:396,&quot;../symbol/symbol_quads&quot;:397,&quot;../util/util&quot;:433,&quot;../util/vectortile_to_geojson&quot;:434,&quot;feature-filter&quot;:141,pbf:470,&quot;vector-tile&quot;:564}],360:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,n){s(!isNaN(t)&amp;&amp;t&gt;=0&amp;&amp;t%1==0),s(!isNaN(e)&amp;&amp;e&gt;=0&amp;&amp;e%1==0),s(!isNaN(r)&amp;&amp;r&gt;=0&amp;&amp;r%1==0),isNaN(n)&amp;&amp;(n=0),this.z=+t,this.x=+e,this.y=+r,this.w=+n,(n*=2)&lt;0&amp;&amp;(n=-1*n-1);var i=1&lt;&lt;this.z;this.id=32*(i*i*n+i*this.y+this.x)+this.z,this.posMatrix=null}function i(t,e){if(t.row&gt;e.row){var r=t;t=e,e=r}return{x0:t.column,y0:t.row,x1:e.column,y1:e.row,dx:e.column-t.column,dy:e.row-t.row}}function a(t,e,r,n,i){var a=Math.max(r,Math.floor(e.y0)),o=Math.min(n,Math.ceil(e.y1));if(t.x0===e.x0&amp;&amp;t.y0===e.y0?t.x0+e.dy/t.dy*t.dx&lt;e.x1:t.x1-e.dy/t.dy*t.dx&lt;e.x0){var s=t;t=e,e=s}for(var l=t.dx/t.dy,c=e.dx/e.dy,u=t.dx&gt;0,f=e.dx&lt;0,h=a;h&lt;o;h++){var d=l*Math.max(0,Math.min(t.dy,h+u-t.y0))+t.x0,p=c*Math.max(0,Math.min(e.dy,h+f-e.y0))+e.x0;i(Math.floor(p),Math.ceil(d),h)}}function o(t,e,r,n,o,s){var l,c=i(t,e),u=i(e,r),f=i(r,t);c.dy&gt;u.dy&amp;&amp;(l=c,c=u,u=l),c.dy&gt;f.dy&amp;&amp;(l=c,c=f,f=l),u.dy&gt;f.dy&amp;&amp;(l=u,u=f,f=l),c.dy&amp;&amp;a(f,c,n,o,s),u.dy&amp;&amp;a(f,u,n,o,s)}var s=t(&quot;assert&quot;),l=t(&quot;whoots-js&quot;),c=t(&quot;../geo/coordinate&quot;);e.exports=n,n.prototype.toString=function(){return this.z+&quot;/&quot;+this.x+&quot;/&quot;+this.y},n.prototype.toCoordinate=function(t){var e=Math.min(this.z,t),r=Math.pow(2,e),n=this.y,i=this.x+r*this.w;return new c(i,n,e)},n.fromID=function(t){var e=t%32,r=1&lt;&lt;e,i=(t-e)/32,a=i%r,o=(i-a)/r%r,s=Math.floor(i/(r*r));return s%2!=0&amp;&amp;(s=-1*s-1),s/=2,new n(e,a,o,s)},n.prototype.url=function(t,e,r){var n=l.getTileBBox(this.x,this.y,this.z),i=function(t,e,r){for(var n,i=&quot;&quot;,a=t;a&gt;0;a--)i+=(e&amp;(n=1&lt;&lt;a-1)?1:0)+(r&amp;n?2:0);return i}(this.z,this.x,this.y);return t[(this.x+this.y)%t.length].replace(&quot;{prefix}&quot;,(this.x%16).toString(16)+(this.y%16).toString(16)).replace(&quot;{z}&quot;,Math.min(this.z,e||this.z)).replace(&quot;{x}&quot;,this.x).replace(&quot;{y}&quot;,&quot;tms&quot;===r?Math.pow(2,this.z)-this.y-1:this.y).replace(&quot;{quadkey}&quot;,i).replace(&quot;{bbox-epsg-3857}&quot;,n)},n.prototype.parent=function(t){return 0===this.z?null:this.z&gt;t?new n(this.z-1,this.x,this.y,this.w):new n(this.z-1,Math.floor(this.x/2),Math.floor(this.y/2),this.w)},n.prototype.wrapped=function(){return new n(this.z,this.x,this.y,0)},n.prototype.children=function(t){if(this.z&gt;=t)return[new n(this.z+1,this.x,this.y,this.w)];var e=this.z+1,r=2*this.x,i=2*this.y;return[new n(e,r,i,this.w),new n(e,r+1,i,this.w),new n(e,r,i+1,this.w),new n(e,r+1,i+1,this.w)]},n.cover=function(t,e,r){function i(t,e,i){var o,l;if(i&gt;=0&amp;&amp;i&lt;=a)for(o=t;o&lt;e;o++)l=new n(r,(o%a+a)%a,i,Math.floor(o/a)),s[l.id]=l}var a=1&lt;&lt;t,s={};return o(e[0],e[1],e[2],0,a,i),o(e[2],e[3],e[0],0,a,i),Object.keys(s).map(function(t){return s[t]})}},{&quot;../geo/coordinate&quot;:329,assert:51,&quot;whoots-js&quot;:580}],361:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r){if(this.id=t,this.dispatcher=r,a.extend(this,a.pick(e,[&quot;url&quot;,&quot;scheme&quot;,&quot;tileSize&quot;])),this._options=a.extend({type:&quot;vector&quot;},e),512!==this.tileSize)throw new Error(&quot;vector tile sources must have a tileSize of 512&quot;);o(e,function(t,e){t?this.fire(&quot;error&quot;,t):(a.extend(this,e),this.fire(&quot;load&quot;))}.bind(this))}var i=t(&quot;../util/evented&quot;),a=t(&quot;../util/util&quot;),o=t(&quot;./load_tilejson&quot;),s=t(&quot;../util/mapbox&quot;).normalizeTileURL;e.exports=n,n.prototype=a.inherit(i,{minzoom:0,maxzoom:22,scheme:&quot;xyz&quot;,tileSize:512,reparseOverscaled:!0,isTileClipped:!0,onAdd:function(t){this.map=t},serialize:function(){return a.extend({},this._options)},loadTile:function(t,e){function r(r,n){if(!t.aborted){if(r)return e(r);t.loadVectorData(n,this.map.style),t.redoWhenDone&amp;&amp;(t.redoWhenDone=!1,t.redoPlacement(this)),e(null),t.reloadCallback&amp;&amp;(this.loadTile(t,t.reloadCallback),t.reloadCallback=null)}}var n=t.coord.z&gt;this.maxzoom?Math.pow(2,t.coord.z-this.maxzoom):1,i={url:s(t.coord.url(this.tiles,this.maxzoom,this.scheme),this.url),uid:t.uid,coord:t.coord,zoom:t.coord.z,tileSize:this.tileSize*n,source:this.id,overscaling:n,angle:this.map.transform.angle,pitch:this.map.transform.pitch,showCollisionBoxes:this.map.showCollisionBoxes};t.workerID?&quot;loading&quot;===t.state?t.reloadCallback=e:(i.rawTileData=t.rawTileData,this.dispatcher.send(&quot;reload tile&quot;,i,r.bind(this),t.workerID)):t.workerID=this.dispatcher.send(&quot;load tile&quot;,i,r.bind(this))},abortTile:function(t){this.dispatcher.send(&quot;abort tile&quot;,{uid:t.uid,source:this.id},null,t.workerID)},unloadTile:function(t){t.unloadVectorData(this.map.painter),this.dispatcher.send(&quot;remove tile&quot;,{uid:t.uid,source:this.id},null,t.workerID)}})},{&quot;../util/evented&quot;:425,&quot;../util/mapbox&quot;:430,&quot;../util/util&quot;:433,&quot;./load_tilejson&quot;:353}],362:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r){this.actor=t,this.styleLayers=e,r&amp;&amp;(this.loadVectorData=r),this.loading={},this.loaded={}}var i=t(&quot;../util/ajax&quot;),a=t(&quot;vector-tile&quot;),o=t(&quot;pbf&quot;),s=t(&quot;./worker_tile&quot;);e.exports=n,n.prototype={loadTile:function(t,e){var r=t.source,n=t.uid;this.loading[r]||(this.loading[r]={});var i=this.loading[r][n]=new s(t);i.abort=this.loadVectorData(t,function(t,a){return delete this.loading[r][n],t?e(t):a?(i.data=a.tile,i.parse(i.data,this.styleLayers.getLayerFamilies(),this.actor,a.rawTileData,e),this.loaded[r]=this.loaded[r]||{},void(this.loaded[r][n]=i)):e(null,null)}.bind(this))},reloadTile:function(t,e){var r=this.loaded[t.source],n=t.uid;if(r&amp;&amp;r[n]){var i=r[n];i.parse(i.data,this.styleLayers.getLayerFamilies(),this.actor,t.rawTileData,e)}},abortTile:function(t){var e=this.loading[t.source],r=t.uid;e&amp;&amp;e[r]&amp;&amp;e[r].abort&amp;&amp;(e[r].abort(),delete e[r])},removeTile:function(t){var e=this.loaded[t.source],r=t.uid;e&amp;&amp;e[r]&amp;&amp;delete e[r]},loadVectorData:function(t,e){var r=i.getArrayBuffer(t.url,function(t,r){if(t)return e(t);var n=new a.VectorTile(new o(new Uint8Array(r)));e(t,{tile:n,rawTileData:r})}.bind(this));return function(){r.abort()}},redoPlacement:function(t,e){var r=this.loaded[t.source],n=this.loading[t.source],i=t.uid;if(r&amp;&amp;r[i]){var a=r[i].redoPlacement(t.angle,t.pitch,t.showCollisionBoxes);a.result&amp;&amp;e(null,a.result,a.transferables)}else n&amp;&amp;n[i]&amp;&amp;(n[i].angle=t.angle)}}},{&quot;../util/ajax&quot;:416,&quot;./worker_tile&quot;:365,pbf:470,&quot;vector-tile&quot;:564}],363:[function(t,e,r){&quot;use strict&quot;;function n(t,e){this.id=t,this.urls=e.urls,this.coordinates=e.coordinates,c.getVideo(e.urls,function(t,r){if(t)return this.fire(&quot;error&quot;,{error:t});this.video=r,this.video.loop=!0;var n;this.video.addEventListener(&quot;playing&quot;,function(){n=this.map.style.animationLoop.set(1/0),this.map._rerender()}.bind(this)),this.video.addEventListener(&quot;pause&quot;,function(){this.map.style.animationLoop.cancel(n)}.bind(this)),this.map&amp;&amp;(this.video.play(),this.setCoordinates(e.coordinates)),this.fire(&quot;load&quot;)}.bind(this))}var i=t(&quot;../util/util&quot;),a=t(&quot;./tile_coord&quot;),o=t(&quot;../geo/lng_lat&quot;),s=t(&quot;point-geometry&quot;),l=t(&quot;../util/evented&quot;),c=t(&quot;../util/ajax&quot;),u=t(&quot;../data/bucket&quot;).EXTENT,f=t(&quot;../render/draw_raster&quot;).RasterBoundsArray,h=t(&quot;../data/buffer&quot;),d=t(&quot;../render/vertex_array_object&quot;);e.exports=n,n.prototype=i.inherit(l,{minzoom:0,maxzoom:22,tileSize:512,roundZoom:!0,getVideo:function(){return this.video},onAdd:function(t){this.map||(this.map=t,this.video&amp;&amp;(this.video.play(),this.setCoordinates(this.coordinates)))},setCoordinates:function(t){this.coordinates=t;var e=this.map,r=t.map(function(t){return e.transform.locationCoordinate(o.convert(t)).zoomTo(0)}),n=this.centerCoord=i.getCoordinatesCenter(r);return n.column=Math.round(n.column),n.row=Math.round(n.row),this.minzoom=this.maxzoom=n.zoom,this._coord=new a(n.zoom,n.column,n.row),this._tileCoords=r.map(function(t){var e=t.zoomTo(n.zoom);return new s(Math.round((e.column-n.column)*u),Math.round((e.row-n.row)*u))}),this.fire(&quot;change&quot;),this},_setTile:function(t){this._prepared=!1,this.tile=t;var e=new f;e.emplaceBack(this._tileCoords[0].x,this._tileCoords[0].y,0,0),e.emplaceBack(this._tileCoords[1].x,this._tileCoords[1].y,32767,0),e.emplaceBack(this._tileCoords[3].x,this._tileCoords[3].y,0,32767),e.emplaceBack(this._tileCoords[2].x,this._tileCoords[2].y,32767,32767),this.tile.buckets={},this.tile.boundsBuffer=new h(e.serialize(),f.serialize(),h.BufferType.VERTEX),this.tile.boundsVAO=new d,this.tile.state=&quot;loaded&quot;},prepare:function(){if(!(this.video.readyState&lt;2)&amp;&amp;this.tile){var t=this.map.painter.gl;this._prepared?(t.bindTexture(t.TEXTURE_2D,this.tile.texture),t.texSubImage2D(t.TEXTURE_2D,0,0,0,t.RGBA,t.UNSIGNED_BYTE,this.video)):(this._prepared=!0,this.tile.texture=t.createTexture(),t.bindTexture(t.TEXTURE_2D,this.tile.texture),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),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MIN_FILTER,t.LINEAR),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MAG_FILTER,t.LINEAR),t.texImage2D(t.TEXTURE_2D,0,t.RGBA,t.RGBA,t.UNSIGNED_BYTE,this.video)),this._currentTime=this.video.currentTime}},loadTile:function(t,e){this._coord&amp;&amp;this._coord.toString()===t.coord.toString()?(this._setTile(t),e(null)):(t.state=&quot;errored&quot;,e(null))},serialize:function(){return{type:&quot;video&quot;,urls:this.urls,coordinates:this.coordinates}}})},{&quot;../data/bucket&quot;:320,&quot;../data/buffer&quot;:325,&quot;../geo/lng_lat&quot;:330,&quot;../render/draw_raster&quot;:342,&quot;../render/vertex_array_object&quot;:348,&quot;../util/ajax&quot;:416,&quot;../util/evented&quot;:425,&quot;../util/util&quot;:433,&quot;./tile_coord&quot;:360,&quot;point-geometry&quot;:477}],364:[function(t,e,r){&quot;use strict&quot;;function n(t){this.self=t,this.actor=new a(t,this);var e={getLayers:function(){return this.layers}.bind(this),getLayerFamilies:function(){return this.layerFamilies}.bind(this)};this.workerSources={vector:new l(this.actor,e),geojson:new c(this.actor,e)},this.self.registerWorkerSource=function(t,r){if(this.workerSources[t])throw new Error('Worker source with name &quot;'+t+'&quot; already registered.');this.workerSources[t]=new r(this.actor,e)}.bind(this)}function i(t){var e={};for(var r in t){var n=t[r],i=n.ref||n.id,a=t[i];a.layout&amp;&amp;&quot;none&quot;===a.layout.visibility||(e[i]=e[i]||[],r===i?e[i].unshift(n):e[i].push(n))}return e}var a=t(&quot;../util/actor&quot;),o=t(&quot;../style/style_layer&quot;),s=t(&quot;../util/util&quot;),l=t(&quot;./vector_tile_worker_source&quot;),c=t(&quot;./geojson_worker_source&quot;);e.exports=function(t){return new n(t)},s.extend(n.prototype,{&quot;set layers&quot;:function(t){function e(t){var e=o.create(t,t.ref&amp;&amp;r.layers[t.ref]);e.updatePaintTransitions({},{transition:!1}),r.layers[e.id]=e}this.layers={};for(var r=this,n=[],a=0;a&lt;t.length;a++){var s=t[a];&quot;fill&quot;!==s.type&amp;&amp;&quot;line&quot;!==s.type&amp;&amp;&quot;circle&quot;!==s.type&amp;&amp;&quot;symbol&quot;!==s.type||(s.ref?n.push(a):e(s))}for(var l=0;l&lt;n.length;l++)e(t[n[l]]);this.layerFamilies=i(this.layers)},&quot;update layers&quot;:function(t){function e(t){var e=a.layers[t.ref];a.layers[t.id]?a.layers[t.id].set(t,e):a.layers[t.id]=o.create(t,e),a.layers[t.id].updatePaintTransitions({},{transition:!1})}var r,n,a=this;for(r in t)(n=t[r]).ref&amp;&amp;e(n);for(r in t)(n=t[r]).ref||e(n);this.layerFamilies=i(this.layers)},&quot;load tile&quot;:function(t,e){var r=t.type||&quot;vector&quot;;this.workerSources[r].loadTile(t,e)},&quot;reload tile&quot;:function(t,e){var r=t.type||&quot;vector&quot;;this.workerSources[r].reloadTile(t,e)},&quot;abort tile&quot;:function(t){var e=t.type||&quot;vector&quot;;this.workerSources[e].abortTile(t)},&quot;remove tile&quot;:function(t){var e=t.type||&quot;vector&quot;;this.workerSources[e].removeTile(t)},&quot;redo placement&quot;:function(t,e){var r=t.type||&quot;vector&quot;;this.workerSources[r].redoPlacement(t,e)},&quot;load worker source&quot;:function(t,e){try{this.self.importScripts(t.url),e()}catch(t){e(t)}}})},{&quot;../style/style_layer&quot;:372,&quot;../util/actor&quot;:415,&quot;../util/util&quot;:433,&quot;./geojson_worker_source&quot;:350,&quot;./vector_tile_worker_source&quot;:362}],365:[function(t,e,r){&quot;use strict&quot;;function n(t){this.coord=t.coord,this.uid=t.uid,this.zoom=t.zoom,this.tileSize=t.tileSize,this.source=t.source,this.overscaling=t.overscaling,this.angle=t.angle,this.pitch=t.pitch,this.showCollisionBoxes=t.showCollisionBoxes}function i(t){return!t.isEmpty()}function a(t){return t.serialize()}function o(t){var e=[];for(var r in t)t[r].getTransferables(e);return e}function s(t){return t.id}var l=t(&quot;../data/feature_index&quot;),c=t(&quot;../symbol/collision_tile&quot;),u=t(&quot;../data/bucket&quot;),f=t(&quot;../symbol/collision_box&quot;),h=t(&quot;../util/dictionary_coder&quot;),d=t(&quot;../util/util&quot;),p=t(&quot;../symbol/symbol_instances&quot;),m=t(&quot;../symbol/symbol_quads&quot;);e.exports=n,n.prototype.parse=function(t,e,r,n,g){function v(t,e){for(var r=0;r&lt;t.length;r++){var n=t.feature(r);n.index=r;for(var i in e)e[i].filter(n)&amp;&amp;e[i].features.push(n)}}function y(t){if(t)return g(t);if(2==++j){for(var e=P.length-1;e&gt;=0;e--)x(E,P[e]);b()}}function x(t,e){if(e.populateArrays(A,N,R),&quot;symbol&quot;!==e.type)for(var r=0;r&lt;e.features.length;r++){var n=e.features[r];T.insert(n,n.index,e.sourceLayerIndex,e.index)}e.features=null}function b(){E.status=&quot;done&quot;,E.redoPlacementAfterDone&amp;&amp;(E.redoPlacement(E.angle,E.pitch,null),E.redoPlacementAfterDone=!1);var t=T.serialize(),e=A.serialize(),r=E.collisionBoxArray.serialize(),s=E.symbolInstancesArray.serialize(),l=E.symbolQuadsArray.serialize(),c=[n].concat(t.transferables).concat(e.transferables),u=I.filter(i);g(null,{buckets:u.map(a),featureIndex:t.data,collisionTile:e.data,collisionBoxArray:r,symbolInstancesArray:s,symbolQuadsArray:l,rawTileData:n},o(u).concat(c))}this.status=&quot;parsing&quot;,this.data=t,this.collisionBoxArray=new f,this.symbolInstancesArray=new p,this.symbolQuadsArray=new m;var _,w,M,k,A=new c(this.angle,this.pitch,this.collisionBoxArray),T=new l(this.coord,this.overscaling,A,t.layers),S=new h(t.layers?Object.keys(t.layers).sort():[&quot;_geojsonTileLayer&quot;]),E=this,L={},C={},z=0;for(var D in e)(w=e[D][0]).source===this.source&amp;&amp;(w.ref||w.minzoom&amp;&amp;this.zoom&lt;w.minzoom||w.maxzoom&amp;&amp;this.zoom&gt;=w.maxzoom||w.layout&amp;&amp;&quot;none&quot;===w.layout.visibility||t.layers&amp;&amp;!t.layers[w.sourceLayer]||((k=u.create({layer:w,index:z++,childLayers:e[D],zoom:this.zoom,overscaling:this.overscaling,showCollisionBoxes:this.showCollisionBoxes,collisionBoxArray:this.collisionBoxArray,symbolQuadsArray:this.symbolQuadsArray,symbolInstancesArray:this.symbolInstancesArray,sourceLayerIndex:S.encode(w.sourceLayer||&quot;_geojsonTileLayer&quot;)})).createFilter(),L[w.id]=k,t.layers&amp;&amp;(C[M=w.sourceLayer]=C[M]||{},C[M][w.id]=k)));if(t.layers)for(M in C)1===w.version&amp;&amp;d.warnOnce('Vector tile source &quot;'+this.source+'&quot; layer &quot;'+M+'&quot; does not use vector tile spec v2 and therefore may have some rendering errors.'),(w=t.layers[M])&amp;&amp;v(w,C[M]);else v(t,L);var I=[],P=this.symbolBuckets=[],O=[];T.bucketLayerIDs={};for(var F in L)0!==(k=L[F]).features.length&amp;&amp;(T.bucketLayerIDs[k.index]=k.childLayers.map(s),I.push(k),&quot;symbol&quot;===k.type?P.push(k):O.push(k));var R={},N={},j=0;if(P.length&gt;0){for(_=P.length-1;_&gt;=0;_--)P[_].updateIcons(R),P[_].updateFont(N);for(var B in N)N[B]=Object.keys(N[B]).map(Number);R=Object.keys(R),r.send(&quot;get glyphs&quot;,{uid:this.uid,stacks:N},function(t,e){N=e,y(t)}),R.length?r.send(&quot;get icons&quot;,{icons:R},function(t,e){R=e,y(t)}):y()}for(_=O.length-1;_&gt;=0;_--)x(0,O[_]);if(0===P.length)return b()},n.prototype.redoPlacement=function(t,e,r){if(&quot;done&quot;!==this.status)return this.redoPlacementAfterDone=!0,this.angle=t,{};for(var n=new c(t,e,this.collisionBoxArray),s=this.symbolBuckets,l=s.length-1;l&gt;=0;l--)s[l].placeFeatures(n,r);var u=n.serialize(),f=s.filter(i);return{result:{buckets:f.map(a),collisionTile:u.data},transferables:o(f).concat(u.transferables)}}},{&quot;../data/bucket&quot;:320,&quot;../data/feature_index&quot;:327,&quot;../symbol/collision_box&quot;:385,&quot;../symbol/collision_tile&quot;:387,&quot;../symbol/symbol_instances&quot;:396,&quot;../symbol/symbol_quads&quot;:397,&quot;../util/dictionary_coder&quot;:423,&quot;../util/util&quot;:433}],366:[function(t,e,r){&quot;use strict&quot;;function n(){this.n=0,this.times=[]}e.exports=n,n.prototype.stopped=function(){return this.times=this.times.filter(function(t){return t.time&gt;=(new Date).getTime()}),!this.times.length},n.prototype.set=function(t){return this.times.push({id:this.n,time:t+(new Date).getTime()}),this.n++},n.prototype.cancel=function(t){this.times=this.times.filter(function(e){return e.id!==t})}},{}],367:[function(t,e,r){&quot;use strict&quot;;function n(t){this.base=t,this.retina=s.devicePixelRatio&gt;1;var e=this.retina?&quot;@2x&quot;:&quot;&quot;;o.getJSON(l(t,e,&quot;.json&quot;),function(t,e){t?this.fire(&quot;error&quot;,{error:t}):(this.data=e,this.img&amp;&amp;this.fire(&quot;load&quot;))}.bind(this)),o.getImage(l(t,e,&quot;.png&quot;),function(t,e){if(t)this.fire(&quot;error&quot;,{error:t});else{for(var r=e.getData(),n=e.data=new Uint8Array(r.length),i=0;i&lt;r.length;i+=4){var a=r[i+3]/255;n[i+0]=r[i+0]*a,n[i+1]=r[i+1]*a,n[i+2]=r[i+2]*a,n[i+3]=r[i+3]}this.img=e,this.data&amp;&amp;this.fire(&quot;load&quot;)}}.bind(this))}function i(){}var a=t(&quot;../util/evented&quot;),o=t(&quot;../util/ajax&quot;),s=t(&quot;../util/browser&quot;),l=t(&quot;../util/mapbox&quot;).normalizeSpriteURL;e.exports=n,(n.prototype=Object.create(a)).toJSON=function(){return this.base},n.prototype.loaded=function(){return!(!this.data||!this.img)},n.prototype.resize=function(){if(s.devicePixelRatio&gt;1!==this.retina){var t=new n(this.base);t.on(&quot;load&quot;,function(){this.img=t.img,this.data=t.data,this.retina=t.retina}.bind(this))}},i.prototype={x:0,y:0,width:0,height:0,pixelRatio:1,sdf:!1},n.prototype.getSpritePosition=function(t){if(!this.loaded())return new i;var e=this.data&amp;&amp;this.data[t];return e&amp;&amp;this.img?e:new i}},{&quot;../util/ajax&quot;:416,&quot;../util/browser&quot;:417,&quot;../util/evented&quot;:425,&quot;../util/mapbox&quot;:430}],368:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;csscolorparser&quot;).parseCSSColor,i=t(&quot;../util/util&quot;),a=t(&quot;./style_function&quot;),o={};e.exports=function t(e){if(a.isFunctionDefinition(e))return i.extend({},e,{stops:e.stops.map(function(e){return[e[0],t(e[1])]})});if(&quot;string&quot;==typeof e){if(!o[e]){var r=n(e);if(!r)throw new Error(&quot;Invalid color &quot;+e);o[e]=[r[0]/255*r[3],r[1]/255*r[3],r[2]/255*r[3],r[3]]}return o[e]}throw new Error(&quot;Invalid color &quot;+e)}},{&quot;../util/util&quot;:433,&quot;./style_function&quot;:371,csscolorparser:114}],369:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r){this.animationLoop=e||new m,this.dispatcher=new p(r||1,this),this.spriteAtlas=new l(1024,1024),this.lineAtlas=new c(256,512),this._layers={},this._order=[],this._groups=[],this.sources={},this.zoomHistory={},u.bindAll([&quot;_forwardSourceEvent&quot;,&quot;_forwardTileEvent&quot;,&quot;_forwardLayerEvent&quot;,&quot;_redoPlacement&quot;],this),this._resetUpdates();var n=function(t,e){if(t)this.fire(&quot;error&quot;,{error:t});else if(!g.emitErrors(this,g(e))){this._loaded=!0,this.stylesheet=e,this.updateClasses();var r=e.sources;for(var n in r)this.addSource(n,r[n]);e.sprite&amp;&amp;(this.sprite=new o(e.sprite),this.sprite.on(&quot;load&quot;,this.fire.bind(this,&quot;change&quot;))),this.glyphSource=new s(e.glyphs),this._resolve(),this.fire(&quot;load&quot;)}}.bind(this);&quot;string&quot;==typeof t?f.getJSON(h(t),n):d.frame(n.bind(this,null,t)),this.on(&quot;source.load&quot;,function(t){var e=t.source;if(e&amp;&amp;e.vectorLayerIds)for(var r in this._layers){var n=this._layers[r];n.source===e.id&amp;&amp;this._validateLayer(n)}})}var i=t(&quot;../util/evented&quot;),a=t(&quot;./style_layer&quot;),o=t(&quot;./image_sprite&quot;),s=t(&quot;../symbol/glyph_source&quot;),l=t(&quot;../symbol/sprite_atlas&quot;),c=t(&quot;../render/line_atlas&quot;),u=t(&quot;../util/util&quot;),f=t(&quot;../util/ajax&quot;),h=t(&quot;../util/mapbox&quot;).normalizeStyleURL,d=t(&quot;../util/browser&quot;),p=t(&quot;../util/dispatcher&quot;),m=t(&quot;./animation_loop&quot;),g=t(&quot;./validate_style&quot;),v=t(&quot;../source/source&quot;),y=t(&quot;../source/query_features&quot;),x=t(&quot;../source/source_cache&quot;),b=t(&quot;./style_spec&quot;),_=t(&quot;./style_function&quot;);e.exports=n,n.prototype=u.inherit(i,{_loaded:!1,_validateLayer:function(t){var e=this.sources[t.source];t.sourceLayer&amp;&amp;e&amp;&amp;e.vectorLayerIds&amp;&amp;-1===e.vectorLayerIds.indexOf(t.sourceLayer)&amp;&amp;this.fire(&quot;error&quot;,{error:new Error('Source layer &quot;'+t.sourceLayer+'&quot; does not exist on source &quot;'+e.id+'&quot; as specified by style layer &quot;'+t.id+'&quot;')})},loaded:function(){if(!this._loaded)return!1;if(Object.keys(this._updates.sources).length)return!1;for(var t in this.sources)if(!this.sources[t].loaded())return!1;return!(this.sprite&amp;&amp;!this.sprite.loaded())},_resolve:function(){var t,e;this._layers={},this._order=this.stylesheet.layers.map(function(t){return t.id});for(var r=0;r&lt;this.stylesheet.layers.length;r++)(e=this.stylesheet.layers[r]).ref||(t=a.create(e),this._layers[t.id]=t,t.on(&quot;error&quot;,this._forwardLayerEvent));for(var n=0;n&lt;this.stylesheet.layers.length;n++)if((e=this.stylesheet.layers[n]).ref){var i=this.getLayer(e.ref);t=a.create(e,i),this._layers[t.id]=t,t.on(&quot;error&quot;,this._forwardLayerEvent)}this._groupLayers(),this._updateWorkerLayers()},_groupLayers:function(){var t;this._groups=[];for(var e=0;e&lt;this._order.length;++e){var r=this._layers[this._order[e]];t&amp;&amp;r.source===t.source||((t=[]).source=r.source,this._groups.push(t)),t.push(r)}},_updateWorkerLayers:function(t){this.dispatcher.broadcast(t?&quot;update layers&quot;:&quot;set layers&quot;,this._serializeLayers(t))},_serializeLayers:function(t){t=t||this._order;for(var e=[],r={includeRefProperties:!0},n=0;n&lt;t.length;n++)e.push(this._layers[t[n]].serialize(r));return e},_applyClasses:function(t,e){if(this._loaded){t=t||[],e=e||{transition:!0};var r=this.stylesheet.transition||{},n=this._updates.allPaintProps?this._layers:this._updates.paintProps;for(var i in n){var a=this._layers[i],o=this._updates.paintProps[i];if(this._updates.allPaintProps||o.all)a.updatePaintTransitions(t,e,r,this.animationLoop);else for(var s in o)this._layers[i].updatePaintTransition(s,t,e,r,this.animationLoop)}}},_recalculate:function(t){for(var e in this.sources)this.sources[e].used=!1;this._updateZoomHistory(t),this.rasterFadeDuration=300;for(var r in this._layers){var n=this._layers[r];n.recalculate(t,this.zoomHistory),!n.isHidden(t)&amp;&amp;n.source&amp;&amp;(this.sources[n.source].used=!0)}Math.floor(this.z)!==Math.floor(t)&amp;&amp;this.animationLoop.set(300),this.z=t,this.fire(&quot;zoom&quot;)},_updateZoomHistory:function(t){var e=this.zoomHistory;void 0===e.lastIntegerZoom&amp;&amp;(e.lastIntegerZoom=Math.floor(t),e.lastIntegerZoomTime=0,e.lastZoom=t),Math.floor(e.lastZoom)&lt;Math.floor(t)?(e.lastIntegerZoom=Math.floor(t),e.lastIntegerZoomTime=Date.now()):Math.floor(e.lastZoom)&gt;Math.floor(t)&amp;&amp;(e.lastIntegerZoom=Math.floor(t+1),e.lastIntegerZoomTime=Date.now()),e.lastZoom=t},_checkLoaded:function(){if(!this._loaded)throw new Error(&quot;Style is not done loading&quot;)},update:function(t,e){if(!this._updates.changed)return this;if(this._updates.allLayers)this._groupLayers(),this._updateWorkerLayers();else{var r=Object.keys(this._updates.layers);r.length&amp;&amp;this._updateWorkerLayers(r)}var n,i=Object.keys(this._updates.sources);for(n=0;n&lt;i.length;n++)this._reloadSource(i[n]);for(n=0;n&lt;this._updates.events.length;n++){var a=this._updates.events[n];this.fire(a[0],a[1])}return this._applyClasses(t,e),this._updates.changed&amp;&amp;this.fire(&quot;change&quot;),this._resetUpdates(),this},_resetUpdates:function(){this._updates={events:[],layers:{},sources:{},paintProps:{}}},addSource:function(t,e){if(this._checkLoaded(),void 0!==this.sources[t])throw new Error(&quot;There is already a source with this ID&quot;);if(!e.type)throw new Error(&quot;The type property must be defined, but the only the following properties were given: &quot;+Object.keys(e)+&quot;.&quot;);return[&quot;vector&quot;,&quot;raster&quot;,&quot;geojson&quot;,&quot;video&quot;,&quot;image&quot;].indexOf(e.type)&gt;=0&amp;&amp;this._handleErrors(g.source,&quot;sources.&quot;+t,e)?this:(e=new x(t,e,this.dispatcher),this.sources[t]=e,e.style=this,e.on(&quot;load&quot;,this._forwardSourceEvent).on(&quot;error&quot;,this._forwardSourceEvent).on(&quot;change&quot;,this._forwardSourceEvent).on(&quot;tile.add&quot;,this._forwardTileEvent).on(&quot;tile.load&quot;,this._forwardTileEvent).on(&quot;tile.error&quot;,this._forwardTileEvent).on(&quot;tile.remove&quot;,this._forwardTileEvent).on(&quot;tile.stats&quot;,this._forwardTileEvent),this._updates.events.push([&quot;source.add&quot;,{source:e}]),this._updates.changed=!0,this)},removeSource:function(t){if(this._checkLoaded(),void 0===this.sources[t])throw new Error(&quot;There is no source with this ID&quot;);var e=this.sources[t];return delete this.sources[t],delete this._updates.sources[t],e.off(&quot;load&quot;,this._forwardSourceEvent).off(&quot;error&quot;,this._forwardSourceEvent).off(&quot;change&quot;,this._forwardSourceEvent).off(&quot;tile.add&quot;,this._forwardTileEvent).off(&quot;tile.load&quot;,this._forwardTileEvent).off(&quot;tile.error&quot;,this._forwardTileEvent).off(&quot;tile.remove&quot;,this._forwardTileEvent).off(&quot;tile.stats&quot;,this._forwardTileEvent),this._updates.events.push([&quot;source.remove&quot;,{source:e}]),this._updates.changed=!0,this},getSource:function(t){return this.sources[t]&amp;&amp;this.sources[t].getSource()},addLayer:function(t,e){if(this._checkLoaded(),!(t instanceof a)){if(this._handleErrors(g.layer,&quot;layers.&quot;+t.id,t,!1,{arrayIndex:-1}))return this;var r=t.ref&amp;&amp;this.getLayer(t.ref);t=a.create(t,r)}return this._validateLayer(t),t.on(&quot;error&quot;,this._forwardLayerEvent),this._layers[t.id]=t,this._order.splice(e?this._order.indexOf(e):1/0,0,t.id),this._updates.allLayers=!0,t.source&amp;&amp;(this._updates.sources[t.source]=!0),this._updates.events.push([&quot;layer.add&quot;,{layer:t}]),this.updateClasses(t.id)},removeLayer:function(t){this._checkLoaded();var e=this._layers[t];if(void 0===e)throw new Error(&quot;There is no layer with this ID&quot;);for(var r in this._layers)this._layers[r].ref===t&amp;&amp;this.removeLayer(r);return e.off(&quot;error&quot;,this._forwardLayerEvent),delete this._layers[t],delete this._updates.layers[t],delete this._updates.paintProps[t],this._order.splice(this._order.indexOf(t),1),this._updates.allLayers=!0,this._updates.events.push([&quot;layer.remove&quot;,{layer:e}]),this._updates.changed=!0,this},getLayer:function(t){return this._layers[t]},getReferentLayer:function(t){var e=this.getLayer(t);return e.ref&amp;&amp;(e=this.getLayer(e.ref)),e},setLayerZoomRange:function(t,e,r){this._checkLoaded();var n=this.getReferentLayer(t);return n.minzoom===e&amp;&amp;n.maxzoom===r?this:(null!=e&amp;&amp;(n.minzoom=e),null!=r&amp;&amp;(n.maxzoom=r),this._updateLayer(n))},setFilter:function(t,e){this._checkLoaded();var r=this.getReferentLayer(t);return null!==e&amp;&amp;this._handleErrors(g.filter,&quot;layers.&quot;+r.id+&quot;.filter&quot;,e)?this:u.deepEqual(r.filter,e)?this:(r.filter=u.clone(e),this._updateLayer(r))},getFilter:function(t){return this.getReferentLayer(t).filter},setLayoutProperty:function(t,e,r){this._checkLoaded();var n=this.getReferentLayer(t);return u.deepEqual(n.getLayoutProperty(e),r)?this:(n.setLayoutProperty(e,r),this._updateLayer(n))},getLayoutProperty:function(t,e){return this.getReferentLayer(t).getLayoutProperty(e)},setPaintProperty:function(t,e,r,n){this._checkLoaded();var i=this.getLayer(t);if(u.deepEqual(i.getPaintProperty(e,n),r))return this;var a=i.isPaintValueFeatureConstant(e);i.setPaintProperty(e,r,n);return!(r&amp;&amp;_.isFunctionDefinition(r)&amp;&amp;&quot;$zoom&quot;!==r.property&amp;&amp;void 0!==r.property)&amp;&amp;a||(this._updates.layers[t]=!0,i.source&amp;&amp;(this._updates.sources[i.source]=!0)),this.updateClasses(t,e)},getPaintProperty:function(t,e,r){return this.getLayer(t).getPaintProperty(e,r)},updateClasses:function(t,e){if(this._updates.changed=!0,t){var r=this._updates.paintProps;r[t]||(r[t]={}),r[t][e||&quot;all&quot;]=!0}else this._updates.allPaintProps=!0;return this},serialize:function(){return u.filterObject({version:this.stylesheet.version,name:this.stylesheet.name,metadata:this.stylesheet.metadata,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:u.mapObject(this.sources,function(t){return t.serialize()}),layers:this._order.map(function(t){return this._layers[t].serialize()},this)},function(t){return void 0!==t})},_updateLayer:function(t){return this._updates.layers[t.id]=!0,t.source&amp;&amp;(this._updates.sources[t.source]=!0),this._updates.changed=!0,this},_flattenRenderedFeatures:function(t){for(var e=[],r=this._order.length-1;r&gt;=0;r--)for(var n=this._order[r],i=0;i&lt;t.length;i++){var a=t[i][n];if(a)for(var o=0;o&lt;a.length;o++)e.push(a[o])}return e},queryRenderedFeatures:function(t,e,r,n){e&amp;&amp;e.filter&amp;&amp;this._handleErrors(g.filter,&quot;queryRenderedFeatures.filter&quot;,e.filter,!0);var i={};if(e&amp;&amp;e.layers)for(var a=0;a&lt;e.layers.length;a++){var o=e.layers[a];i[this._layers[o].source]=!0}var s=[];for(var l in this.sources)if(!e.layers||i[l]){var c=this.sources[l],u=y.rendered(c,this._layers,t,e,r,n);s.push(u)}return this._flattenRenderedFeatures(s)},querySourceFeatures:function(t,e){e&amp;&amp;e.filter&amp;&amp;this._handleErrors(g.filter,&quot;querySourceFeatures.filter&quot;,e.filter,!0);var r=this.sources[t];return r?y.source(r,e):[]},addSourceType:function(t,e,r){return v.getType(t)?r(new Error('A source type called &quot;'+t+'&quot; already exists.')):(v.setType(t,e),e.workerSourceURL?void this.dispatcher.broadcast(&quot;load worker source&quot;,{name:t,url:e.workerSourceURL},r):r(null,null))},_handleErrors:function(t,e,r,n,i){var a=n?g.throwErrors:g.emitErrors,o=t.call(g,u.extend({key:e,style:this.serialize(),value:r,styleSpec:b},i));return a.call(g,this,o)},_remove:function(){this.dispatcher.remove()},_reloadSource:function(t){this.sources[t].reload()},_updateSources:function(t){for(var e in this.sources)this.sources[e].update(t)},_redoPlacement:function(){for(var t in this.sources)this.sources[t].redoPlacement&amp;&amp;this.sources[t].redoPlacement()},_forwardSourceEvent:function(t){this.fire(&quot;source.&quot;+t.type,u.extend({source:t.target.getSource()},t))},_forwardTileEvent:function(t){this.fire(t.type,u.extend({source:t.target},t))},_forwardLayerEvent:function(t){this.fire(&quot;layer.&quot;+t.type,u.extend({layer:{id:t.target.id}},t))},&quot;get sprite json&quot;:function(t,e){var r=this.sprite;r.loaded()?e(null,{sprite:r.data,retina:r.retina}):r.on(&quot;load&quot;,function(){e(null,{sprite:r.data,retina:r.retina})})},&quot;get icons&quot;:function(t,e){var r=this.sprite,n=this.spriteAtlas;r.loaded()?(n.setSprite(r),n.addIcons(t.icons,e)):r.on(&quot;load&quot;,function(){n.setSprite(r),n.addIcons(t.icons,e)})},&quot;get glyphs&quot;:function(t,e){function r(t,r,n){t&amp;&amp;console.error(t),a[n]=r,0===--i&amp;&amp;e(null,a)}var n=t.stacks,i=Object.keys(n).length,a={};for(var o in n)this.glyphSource.getSimpleGlyphs(o,n[o],t.uid,r)}})},{&quot;../render/line_atlas&quot;:345,&quot;../source/query_features&quot;:355,&quot;../source/source&quot;:357,&quot;../source/source_cache&quot;:358,&quot;../symbol/glyph_source&quot;:390,&quot;../symbol/sprite_atlas&quot;:395,&quot;../util/ajax&quot;:416,&quot;../util/browser&quot;:417,&quot;../util/dispatcher&quot;:424,&quot;../util/evented&quot;:425,&quot;../util/mapbox&quot;:430,&quot;../util/util&quot;:433,&quot;./animation_loop&quot;:366,&quot;./image_sprite&quot;:367,&quot;./style_function&quot;:371,&quot;./style_layer&quot;:372,&quot;./style_spec&quot;:379,&quot;./validate_style&quot;:381}],370:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;./style_function&quot;),i=t(&quot;./parse_color&quot;),a=t(&quot;../util/util&quot;);e.exports=function(t,e){this.value=a.clone(e),this.isFunction=n.isFunctionDefinition(e),this.json=JSON.stringify(this.value);var r=&quot;color&quot;===t.type&amp;&amp;this.value?i(this.value):e;if(this.calculate=n[t.function||&quot;piecewise-constant&quot;](r),this.isFeatureConstant=this.calculate.isFeatureConstant,this.isZoomConstant=this.calculate.isZoomConstant,&quot;piecewise-constant&quot;===t.function&amp;&amp;t.transition&amp;&amp;(this.calculate=function(t){return function(e,r){var n,i,a,o=e.zoom,s=e.zoomHistory,l=e.duration,c=o%1,u=Math.min((Date.now()-s.lastIntegerZoomTime)/l,1),f=1;return o&gt;s.lastIntegerZoom?(n=c+(1-c)*u,f*=2,i=t({zoom:o-1},r),a=t({zoom:o},r)):(n=1-(1-u)*c,a=t({zoom:o},r),i=t({zoom:o+1},r),f/=2),void 0===i||void 0===a?void 0:{from:i,fromScale:f,to:a,toScale:1,t:n}}}(this.calculate)),!this.isFeatureConstant&amp;&amp;!this.isZoomConstant){this.stopZoomLevels=[];for(var o=[],s=this.value.stops,l=0;l&lt;this.value.stops.length;l++){var c=s[l][0].zoom;this.stopZoomLevels.indexOf(c)&lt;0&amp;&amp;(this.stopZoomLevels.push(c),o.push([c,o.length]))}this.calculateInterpolationT=n.interpolated({stops:o,base:e.base})}}},{&quot;../util/util&quot;:433,&quot;./parse_color&quot;:368,&quot;./style_function&quot;:371}],371:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;mapbox-gl-function&quot;);r.interpolated=function(t){var e=n.interpolated(t),r=function(t,r){return e(t&amp;&amp;t.zoom,r||{})};return r.isFeatureConstant=e.isFeatureConstant,r.isZoomConstant=e.isZoomConstant,r},r[&quot;piecewise-constant&quot;]=function(t){var e=n[&quot;piecewise-constant&quot;](t),r=function(t,r){return e(t&amp;&amp;t.zoom,r||{})};return r.isFeatureConstant=e.isFeatureConstant,r.isZoomConstant=e.isZoomConstant,r},r.isFunctionDefinition=n.isFunctionDefinition},{&quot;mapbox-gl-function&quot;:293}],372:[function(t,e,r){&quot;use strict&quot;;function n(t,e){this.set(t,e)}function i(t){return t.value}var a=t(&quot;../util/util&quot;),o=t(&quot;./style_transition&quot;),s=t(&quot;./style_declaration&quot;),l=t(&quot;./style_spec&quot;),c=t(&quot;./validate_style&quot;),u=t(&quot;./parse_color&quot;),f=t(&quot;../util/evented&quot;);e.exports=n;n.create=function(e,r){return new({background:t(&quot;./style_layer/background_style_layer&quot;),circle:t(&quot;./style_layer/circle_style_layer&quot;),fill:t(&quot;./style_layer/fill_style_layer&quot;),line:t(&quot;./style_layer/line_style_layer&quot;),raster:t(&quot;./style_layer/raster_style_layer&quot;),symbol:t(&quot;./style_layer/symbol_style_layer&quot;)}[(r||e).type])(e,r)},n.prototype=a.inherit(f,{set:function(t,e){this.id=t.id,this.ref=t.ref,this.metadata=t.metadata,this.type=(e||t).type,this.source=(e||t).source,this.sourceLayer=(e||t)[&quot;source-layer&quot;],this.minzoom=(e||t).minzoom,this.maxzoom=(e||t).maxzoom,this.filter=(e||t).filter,this.paint={},this.layout={},this._paintSpecifications=l[&quot;paint_&quot;+this.type],this._layoutSpecifications=l[&quot;layout_&quot;+this.type],this._paintTransitions={},this._paintTransitionOptions={},this._paintDeclarations={},this._layoutDeclarations={},this._layoutFunctions={};var r,n;for(var i in t){var a=i.match(/^paint(?:\.(.*))?$/);if(a){var o=a[1]||&quot;&quot;;for(r in t[i])this.setPaintProperty(r,t[i][r],o)}}if(this.ref)this._layoutDeclarations=e._layoutDeclarations;else for(n in t.layout)this.setLayoutProperty(n,t.layout[n]);for(r in this._paintSpecifications)this.paint[r]=this.getPaintValue(r);for(n in this._layoutSpecifications)this._updateLayoutValue(n)},setLayoutProperty:function(t,e){if(null==e)delete this._layoutDeclarations[t];else{var r=&quot;layers.&quot;+this.id+&quot;.layout.&quot;+t;if(this._handleErrors(c.layoutProperty,r,t,e))return;this._layoutDeclarations[t]=new s(this._layoutSpecifications[t],e)}this._updateLayoutValue(t)},getLayoutProperty:function(t){return this._layoutDeclarations[t]&amp;&amp;this._layoutDeclarations[t].value},getLayoutValue:function(t,e,r){var n=this._layoutSpecifications[t],i=this._layoutDeclarations[t];return i?i.calculate(e,r):n.default},setPaintProperty:function(t,e,r){var n=&quot;layers.&quot;+this.id+(r?'[&quot;paint.'+r+'&quot;].':&quot;.paint.&quot;)+t;if(a.endsWith(t,&quot;-transition&quot;))if(this._paintTransitionOptions[r||&quot;&quot;]||(this._paintTransitionOptions[r||&quot;&quot;]={}),null===e||void 0===e)delete this._paintTransitionOptions[r||&quot;&quot;][t];else{if(this._handleErrors(c.paintProperty,n,t,e))return;this._paintTransitionOptions[r||&quot;&quot;][t]=e}else if(this._paintDeclarations[r||&quot;&quot;]||(this._paintDeclarations[r||&quot;&quot;]={}),null===e||void 0===e)delete this._paintDeclarations[r||&quot;&quot;][t];else{if(this._handleErrors(c.paintProperty,n,t,e))return;this._paintDeclarations[r||&quot;&quot;][t]=new s(this._paintSpecifications[t],e)}},getPaintProperty:function(t,e){return e=e||&quot;&quot;,a.endsWith(t,&quot;-transition&quot;)?this._paintTransitionOptions[e]&amp;&amp;this._paintTransitionOptions[e][t]:this._paintDeclarations[e]&amp;&amp;this._paintDeclarations[e][t]&amp;&amp;this._paintDeclarations[e][t].value},getPaintValue:function(t,e,r){var n=this._paintSpecifications[t],i=this._paintTransitions[t];return i?i.calculate(e,r):&quot;color&quot;===n.type&amp;&amp;n.default?u(n.default):n.default},getPaintValueStopZoomLevels:function(t){var e=this._paintTransitions[t];return e?e.declaration.stopZoomLevels:[]},getPaintInterpolationT:function(t,e){return this._paintTransitions[t].declaration.calculateInterpolationT({zoom:e})},isPaintValueFeatureConstant:function(t){var e=this._paintTransitions[t];return!e||e.declaration.isFeatureConstant},isLayoutValueFeatureConstant:function(t){var e=this._layoutDeclarations[t];return!e||e.isFeatureConstant},isPaintValueZoomConstant:function(t){var e=this._paintTransitions[t];return!e||e.declaration.isZoomConstant},isHidden:function(t){return!!(this.minzoom&amp;&amp;t&lt;this.minzoom)||(!!(this.maxzoom&amp;&amp;t&gt;=this.maxzoom)||(&quot;none&quot;===this.layout.visibility||0===this.paint[this.type+&quot;-opacity&quot;]))},updatePaintTransitions:function(t,e,r,n){for(var i=a.extend({},this._paintDeclarations[&quot;&quot;]),o=0;o&lt;t.length;o++)a.extend(i,this._paintDeclarations[t[o]]);var s;for(s in i)this._applyPaintDeclaration(s,i[s],e,r,n);for(s in this._paintTransitions)s in i||this._applyPaintDeclaration(s,null,e,r,n)},updatePaintTransition:function(t,e,r,n,i){for(var a=this._paintDeclarations[&quot;&quot;][t],o=0;o&lt;e.length;o++){var s=this._paintDeclarations[e[o]];s&amp;&amp;s[t]&amp;&amp;(a=s[t])}this._applyPaintDeclaration(t,a,r,n,i)},recalculate:function(t,e){for(var r in this._paintTransitions)this.paint[r]=this.getPaintValue(r,{zoom:t,zoomHistory:e});for(var n in this._layoutFunctions)this.layout[n]=this.getLayoutValue(n,{zoom:t,zoomHistory:e})},serialize:function(t){var e={id:this.id,ref:this.ref,metadata:this.metadata,minzoom:this.minzoom,maxzoom:this.maxzoom};for(var r in this._paintDeclarations){e[&quot;&quot;===r?&quot;paint&quot;:&quot;paint.&quot;+r]=a.mapObject(this._paintDeclarations[r],i)}return(!this.ref||t&amp;&amp;t.includeRefProperties)&amp;&amp;a.extend(e,{type:this.type,source:this.source,&quot;source-layer&quot;:this.sourceLayer,filter:this.filter,layout:a.mapObject(this._layoutDeclarations,i)}),a.filterObject(e,function(t,e){return void 0!==t&amp;&amp;!(&quot;layout&quot;===e&amp;&amp;!Object.keys(t).length)})},_applyPaintDeclaration:function(t,e,r,n,i){var l=r.transition?this._paintTransitions[t]:void 0,c=this._paintSpecifications[t];if(null!==e&amp;&amp;void 0!==e||(e=new s(c,c.default)),!l||l.declaration.json!==e.json){var u=a.extend({duration:300,delay:0},n,this.getPaintProperty(t+&quot;-transition&quot;)),f=this._paintTransitions[t]=new o(c,e,l,u);f.instant()||(f.loopID=i.set(f.endTime-Date.now())),l&amp;&amp;i.cancel(l.loopID)}},_updateLayoutValue:function(t){var e=this._layoutDeclarations[t];e&amp;&amp;e.isFunction?this._layoutFunctions[t]=!0:(delete this._layoutFunctions[t],this.layout[t]=this.getLayoutValue(t))},_handleErrors:function(t,e,r,n){return c.emitErrors(this,t.call(c,{key:e,layerType:this.type,objectKey:r,value:n,styleSpec:l,style:{glyphs:!0,sprite:!0}}))}})},{&quot;../util/evented&quot;:425,&quot;../util/util&quot;:433,&quot;./parse_color&quot;:368,&quot;./style_declaration&quot;:370,&quot;./style_layer/background_style_layer&quot;:373,&quot;./style_layer/circle_style_layer&quot;:374,&quot;./style_layer/fill_style_layer&quot;:375,&quot;./style_layer/line_style_layer&quot;:376,&quot;./style_layer/raster_style_layer&quot;:377,&quot;./style_layer/symbol_style_layer&quot;:378,&quot;./style_spec&quot;:379,&quot;./style_transition&quot;:380,&quot;./validate_style&quot;:381}],373:[function(t,e,r){&quot;use strict&quot;;function n(){a.apply(this,arguments)}var i=t(&quot;../../util/util&quot;),a=t(&quot;../style_layer&quot;);e.exports=n,n.prototype=i.inherit(a,{})},{&quot;../../util/util&quot;:433,&quot;../style_layer&quot;:372}],374:[function(t,e,r){&quot;use strict&quot;;function n(){a.apply(this,arguments)}var i=t(&quot;../../util/util&quot;),a=t(&quot;../style_layer&quot;);e.exports=n,n.prototype=i.inherit(a,{})},{&quot;../../util/util&quot;:433,&quot;../style_layer&quot;:372}],375:[function(t,e,r){&quot;use strict&quot;;function n(){a.apply(this,arguments)}var i=t(&quot;../../util/util&quot;),a=t(&quot;../style_layer&quot;);n.prototype=i.inherit(a,{getPaintValue:function(t,e,r){return&quot;fill-outline-color&quot;===t&amp;&amp;void 0===this.getPaintProperty(&quot;fill-outline-color&quot;)?a.prototype.getPaintValue.call(this,&quot;fill-color&quot;,e,r):a.prototype.getPaintValue.call(this,t,e,r)},getPaintValueStopZoomLevels:function(t){return&quot;fill-outline-color&quot;===t&amp;&amp;void 0===this.getPaintProperty(&quot;fill-outline-color&quot;)?a.prototype.getPaintValueStopZoomLevels.call(this,&quot;fill-color&quot;):a.prototype.getPaintValueStopZoomLevels.call(this,arguments)},getPaintInterpolationT:function(t,e){return&quot;fill-outline-color&quot;===t&amp;&amp;void 0===this.getPaintProperty(&quot;fill-outline-color&quot;)?a.prototype.getPaintInterpolationT.call(this,&quot;fill-color&quot;,e):a.prototype.getPaintInterpolationT.call(this,t,e)},isPaintValueFeatureConstant:function(t){return&quot;fill-outline-color&quot;===t&amp;&amp;void 0===this.getPaintProperty(&quot;fill-outline-color&quot;)?a.prototype.isPaintValueFeatureConstant.call(this,&quot;fill-color&quot;):a.prototype.isPaintValueFeatureConstant.call(this,t)},isPaintValueZoomConstant:function(t){return&quot;fill-outline-color&quot;===t&amp;&amp;void 0===this.getPaintProperty(&quot;fill-outline-color&quot;)?a.prototype.isPaintValueZoomConstant.call(this,&quot;fill-color&quot;):a.prototype.isPaintValueZoomConstant.call(this,t)}}),e.exports=n},{&quot;../../util/util&quot;:433,&quot;../style_layer&quot;:372}],376:[function(t,e,r){&quot;use strict&quot;;function n(){a.apply(this,arguments)}var i=t(&quot;../../util/util&quot;),a=t(&quot;../style_layer&quot;);e.exports=n,n.prototype=i.inherit(a,{getPaintValue:function(t,e,r){var n=a.prototype.getPaintValue.apply(this,arguments);if(n&amp;&amp;&quot;line-dasharray&quot;===t){var i=Math.floor(e.zoom);this._flooredZoom!==i&amp;&amp;(this._flooredZoom=i,this._flooredLineWidth=this.getPaintValue(&quot;line-width&quot;,e,r)),n.fromScale*=this._flooredLineWidth,n.toScale*=this._flooredLineWidth}return n}})},{&quot;../../util/util&quot;:433,&quot;../style_layer&quot;:372}],377:[function(t,e,r){&quot;use strict&quot;;function n(){a.apply(this,arguments)}var i=t(&quot;../../util/util&quot;),a=t(&quot;../style_layer&quot;);e.exports=n,n.prototype=i.inherit(a,{})},{&quot;../../util/util&quot;:433,&quot;../style_layer&quot;:372}],378:[function(t,e,r){&quot;use strict&quot;;function n(){a.apply(this,arguments)}var i=t(&quot;../../util/util&quot;),a=t(&quot;../style_layer&quot;);e.exports=n,n.prototype=i.inherit(a,{isHidden:function(){if(a.prototype.isHidden.apply(this,arguments))return!0;var t=0===this.paint[&quot;text-opacity&quot;]||!this.layout[&quot;text-field&quot;],e=0===this.paint[&quot;icon-opacity&quot;]||!this.layout[&quot;icon-image&quot;];return!(!t||!e)},getLayoutValue:function(t,e,r){return(&quot;text-rotation-alignment&quot;!==t||&quot;line&quot;!==this.getLayoutValue(&quot;symbol-placement&quot;,e,r)||this.getLayoutProperty(&quot;text-rotation-alignment&quot;))&amp;&amp;(&quot;icon-rotation-alignment&quot;!==t||&quot;line&quot;!==this.getLayoutValue(&quot;symbol-placement&quot;,e,r)||this.getLayoutProperty(&quot;icon-rotation-alignment&quot;))?&quot;text-pitch-alignment&quot;!==t||this.getLayoutProperty(&quot;text-pitch-alignment&quot;)?a.prototype.getLayoutValue.apply(this,arguments):this.getLayoutValue(&quot;text-rotation-alignment&quot;):&quot;map&quot;}})},{&quot;../../util/util&quot;:433,&quot;../style_layer&quot;:372}],379:[function(t,e,r){&quot;use strict&quot;;e.exports=t(&quot;mapbox-gl-style-spec/reference/latest.min&quot;)},{&quot;mapbox-gl-style-spec/reference/latest.min&quot;:316}],380:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,n){this.declaration=e,this.startTime=this.endTime=(new Date).getTime(),&quot;piecewise-constant&quot;===t.function&amp;&amp;t.transition?this.interp=i:this.interp=o[t.type],this.oldTransition=r,this.duration=n.duration||0,this.delay=n.delay||0,this.instant()||(this.endTime=this.startTime+this.duration+this.delay,this.ease=a.easeCubicInOut),r&amp;&amp;r.endTime&lt;=this.startTime&amp;&amp;delete r.oldTransition}function i(t,e,r){return void 0===(t&amp;&amp;t.to)||void 0===(e&amp;&amp;e.to)?void 0:{from:t.to,fromScale:t.toScale,to:e.to,toScale:e.toScale,t:r}}var a=t(&quot;../util/util&quot;),o=t(&quot;../util/interpolate&quot;);e.exports=n,n.prototype.instant=function(){return!this.oldTransition||!this.interp||0===this.duration&amp;&amp;0===this.delay},n.prototype.calculate=function(t,e){var r=this.declaration.calculate(a.extend({},t,{duration:this.duration}),e);if(this.instant())return r;var n=t.time||Date.now();if(n&lt;this.endTime){var i=this.oldTransition.calculate(a.extend({},t,{time:this.startTime}),e),o=this.ease((n-this.startTime-this.delay)/this.duration);r=this.interp(i,r,o)}return r}},{&quot;../util/interpolate&quot;:427,&quot;../util/util&quot;:433}],381:[function(t,e,r){&quot;use strict&quot;;e.exports=t(&quot;mapbox-gl-style-spec/lib/validate_style.min&quot;),e.exports.emitErrors=function(t,e){if(e&amp;&amp;e.length){for(var r=0;r&lt;e.length;r++)t.fire(&quot;error&quot;,{error:new Error(e[r].message)});return!0}return!1},e.exports.throwErrors=function(t,e){if(e)for(var r=0;r&lt;e.length;r++)throw new Error(e[r].message)}},{&quot;mapbox-gl-style-spec/lib/validate_style.min&quot;:315}],382:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,n){this.x=t,this.y=e,this.angle=r,void 0!==n&amp;&amp;(this.segment=n)}var i=t(&quot;point-geometry&quot;);e.exports=n,(n.prototype=Object.create(i.prototype)).clone=function(){return new n(this.x,this.y,this.angle,this.segment)}},{&quot;point-geometry&quot;:477}],383:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t,e,r,n,i){if(void 0===e.segment)return!0;for(var a=e,o=e.segment+1,s=0;s&gt;-r/2;){if(--o&lt;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&lt;r/2;){var u=t[o-1],f=t[o],h=t[o+1];if(!h)return!1;var d=u.angleTo(f)-f.angleTo(h);for(d=Math.abs((d+3*Math.PI)%(2*Math.PI)-Math.PI),l.push({distance:s,angleDelta:d}),c+=d;s-l[0].distance&gt;n;)c-=l.shift().angleDelta;if(c&gt;i)return!1;o++,s+=f.dist(h)}return!0}},{}],384:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;point-geometry&quot;);e.exports=function(t,e,r,i,a){for(var o=[],s=0;s&lt;t.length;s++)for(var l,c=t[s],u=0;u&lt;c.length-1;u++){var f=c[u],h=c[u+1];f.x&lt;e&amp;&amp;h.x&lt;e||(f.x&lt;e?f=new n(e,f.y+(h.y-f.y)*((e-f.x)/(h.x-f.x)))._round():h.x&lt;e&amp;&amp;(h=new n(e,f.y+(h.y-f.y)*((e-f.x)/(h.x-f.x)))._round()),f.y&lt;r&amp;&amp;h.y&lt;r||(f.y&lt;r?f=new n(f.x+(h.x-f.x)*((r-f.y)/(h.y-f.y)),r)._round():h.y&lt;r&amp;&amp;(h=new n(f.x+(h.x-f.x)*((r-f.y)/(h.y-f.y)),r)._round()),f.x&gt;=i&amp;&amp;h.x&gt;=i||(f.x&gt;=i?f=new n(i,f.y+(h.y-f.y)*((i-f.x)/(h.x-f.x)))._round():h.x&gt;=i&amp;&amp;(h=new n(i,f.y+(h.y-f.y)*((i-f.x)/(h.x-f.x)))._round()),f.y&gt;=a&amp;&amp;h.y&gt;=a||(f.y&gt;=a?f=new n(f.x+(h.x-f.x)*((a-f.y)/(h.y-f.y)),a)._round():h.y&gt;=a&amp;&amp;(h=new n(f.x+(h.x-f.x)*((a-f.y)/(h.y-f.y)),a)._round()),l&amp;&amp;f.equals(l[l.length-1])||(l=[f],o.push(l)),l.push(h)))))}return o}},{&quot;point-geometry&quot;:477}],385:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../util/struct_array&quot;),i=t(&quot;../util/util&quot;),a=t(&quot;point-geometry&quot;),o=e.exports=new n({members:[{type:&quot;Int16&quot;,name:&quot;anchorPointX&quot;},{type:&quot;Int16&quot;,name:&quot;anchorPointY&quot;},{type:&quot;Int16&quot;,name:&quot;x1&quot;},{type:&quot;Int16&quot;,name:&quot;y1&quot;},{type:&quot;Int16&quot;,name:&quot;x2&quot;},{type:&quot;Int16&quot;,name:&quot;y2&quot;},{type:&quot;Float32&quot;,name:&quot;maxScale&quot;},{type:&quot;Uint32&quot;,name:&quot;featureIndex&quot;},{type:&quot;Uint16&quot;,name:&quot;sourceLayerIndex&quot;},{type:&quot;Uint16&quot;,name:&quot;bucketIndex&quot;},{type:&quot;Int16&quot;,name:&quot;bbox0&quot;},{type:&quot;Int16&quot;,name:&quot;bbox1&quot;},{type:&quot;Int16&quot;,name:&quot;bbox2&quot;},{type:&quot;Int16&quot;,name:&quot;bbox3&quot;},{type:&quot;Float32&quot;,name:&quot;placementScale&quot;}]});i.extendAll(o.prototype.StructType.prototype,{get anchorPoint(){return new a(this.anchorPointX,this.anchorPointY)}})},{&quot;../util/struct_array&quot;:431,&quot;../util/util&quot;:433,&quot;point-geometry&quot;:477}],386:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,n,i,a,o,s,l,c,u){var f=o.top*s-l,h=o.bottom*s+l,d=o.left*s-l,p=o.right*s+l;if(this.boxStartIndex=t.length,c){var m=h-f,g=p-d;if(m&gt;0)if(m=Math.max(10*s,m),u){var v=e[r.segment+1].sub(e[r.segment])._unit()._mult(g),y=[r.sub(v),r.add(v)];this._addLineCollisionBoxes(t,y,r,0,g,m,n,i,a)}else this._addLineCollisionBoxes(t,e,r,r.segment,g,m,n,i,a)}else t.emplaceBack(r.x,r.y,d,f,p,h,1/0,n,i,a,0,0,0,0,0);this.boxEndIndex=t.length}e.exports=n,n.prototype._addLineCollisionBoxes=function(t,e,r,n,i,a,o,s,l){var c=a/2,u=Math.floor(i/c),f=-a/2,h=this.boxes,d=r,p=n+1,m=f;do{if(--p&lt;0)return h;m-=e[p].dist(d),d=e[p]}while(m&gt;-i/2);for(var g=e[p].dist(e[p+1]),v=0;v&lt;u;v++){for(var y=-i/2+v*c;m+g&lt;y;){if(m+=g,++p+1&gt;=e.length)return h;g=e[p].dist(e[p+1])}var x=y-m,b=e[p],_=e[p+1].sub(b)._unit()._mult(x)._add(b)._round(),w=i/2/Math.max(Math.abs(y-f)-c/2,0);t.emplaceBack(_.x,_.y,-a/2,-a/2,a/2,a/2,w,o,s,l,0,0,0,0,0)}return h}},{}],387:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r){if(&quot;object&quot;==typeof t){var n=t;r=e,t=n.angle,e=n.pitch,this.grid=new o(n.grid),this.ignoredGrid=new o(n.ignoredGrid)}else this.grid=new o(a,12,6),this.ignoredGrid=new o(a,12,0);this.angle=t,this.pitch=e;var i=Math.sin(t),s=Math.cos(t);if(this.rotationMatrix=[s,-i,i,s],this.reverseRotationMatrix=[s,i,-i,s],this.yStretch=1/Math.cos(e/180*Math.PI),this.yStretch=Math.pow(this.yStretch,1.3),this.collisionBoxArray=r,0===r.length){r.emplaceBack();r.emplaceBack(0,0,0,-32767,0,32767,32767,0,0,0,0,0,0,0,0,0),r.emplaceBack(a,0,0,-32767,0,32767,32767,0,0,0,0,0,0,0,0,0),r.emplaceBack(0,0,-32767,0,32767,0,32767,0,0,0,0,0,0,0,0,0),r.emplaceBack(0,a,-32767,0,32767,0,32767,0,0,0,0,0,0,0,0,0)}this.tempCollisionBox=r.get(0),this.edges=[r.get(1),r.get(2),r.get(3),r.get(4)]}var i=t(&quot;point-geometry&quot;),a=t(&quot;../data/bucket&quot;).EXTENT,o=t(&quot;grid-index&quot;);e.exports=n,n.prototype.serialize=function(){var t={angle:this.angle,pitch:this.pitch,grid:this.grid.toArrayBuffer(),ignoredGrid:this.ignoredGrid.toArrayBuffer()};return{data:t,transferables:[t.grid,t.ignoredGrid]}},n.prototype.minScale=.25,n.prototype.maxScale=2,n.prototype.placeCollisionFeature=function(t,e,r){for(var n=this.collisionBoxArray,a=this.minScale,o=this.rotationMatrix,s=this.yStretch,l=t.boxStartIndex;l&lt;t.boxEndIndex;l++){var c=n.get(l),u=c.anchorPoint._matMult(o),f=u.x,h=u.y,d=f+c.x1,p=h+c.y1*s,m=f+c.x2,g=h+c.y2*s;if(c.bbox0=d,c.bbox1=p,c.bbox2=m,c.bbox3=g,!e)for(var v=this.grid.query(d,p,m,g),y=0;y&lt;v.length;y++){var x=n.get(v[y]),b=x.anchorPoint._matMult(o);if((a=this.getPlacementScale(a,u,c,b,x))&gt;=this.maxScale)return a}if(r){var _;if(this.angle){var w=this.reverseRotationMatrix,M=new i(c.x1,c.y1).matMult(w),k=new i(c.x2,c.y1).matMult(w),A=new i(c.x1,c.y2).matMult(w),T=new i(c.x2,c.y2).matMult(w);(_=this.tempCollisionBox).anchorPointX=c.anchorPoint.x,_.anchorPointY=c.anchorPoint.y,_.x1=Math.min(M.x,k.x,A.x,T.x),_.y1=Math.min(M.y,k.x,A.x,T.x),_.x2=Math.max(M.x,k.x,A.x,T.x),_.y2=Math.max(M.y,k.x,A.x,T.x),_.maxScale=c.maxScale}else _=c;for(var S=0;S&lt;this.edges.length;S++){var E=this.edges[S];if((a=this.getPlacementScale(a,c.anchorPoint,_,E.anchorPoint,E))&gt;=this.maxScale)return a}}}return a},n.prototype.queryRenderedSymbols=function(t,e,r,n,a){var o={},s=[],l=this.collisionBoxArray,c=this.rotationMatrix,u=new i(t,e)._matMult(c),f=this.tempCollisionBox;f.anchorX=u.x,f.anchorY=u.y,f.x1=0,f.y1=0,f.x2=r-t,f.y2=n-e,f.maxScale=a,a=f.maxScale;for(var h=[u.x+f.x1/a,u.y+f.y1/a*this.yStretch,u.x+f.x2/a,u.y+f.y2/a*this.yStretch],d=this.grid.query(h[0],h[1],h[2],h[3]),p=this.ignoredGrid.query(h[0],h[1],h[2],h[3]),m=0;m&lt;p.length;m++)d.push(p[m]);for(var g=0;g&lt;d.length;g++){var v=l.get(d[g]),y=v.sourceLayerIndex,x=v.featureIndex;if(void 0===o[y]&amp;&amp;(o[y]={}),!o[y][x]){var b=v.anchorPoint.matMult(c);this.getPlacementScale(this.minScale,u,f,b,v)&gt;=a&amp;&amp;(o[y][x]=!0,s.push(d[g]))}}return s},n.prototype.getPlacementScale=function(t,e,r,n,i){var a=e.x-n.x,o=e.y-n.y,s=(i.x1-r.x2)/a,l=(i.x2-r.x1)/a,c=(i.y1-r.y2)*this.yStretch/o,u=(i.y2-r.y1)*this.yStretch/o;(isNaN(s)||isNaN(l))&amp;&amp;(s=l=1),(isNaN(c)||isNaN(u))&amp;&amp;(c=u=1);var f=Math.min(Math.max(s,l),Math.max(c,u)),h=i.maxScale,d=r.maxScale;return f&gt;h&amp;&amp;(f=h),f&gt;d&amp;&amp;(f=d),f&gt;t&amp;&amp;f&gt;=i.placementScale&amp;&amp;(t=f),t},n.prototype.insertCollisionFeature=function(t,e,r){for(var n=r?this.ignoredGrid:this.grid,i=this.collisionBoxArray,a=t.boxStartIndex;a&lt;t.boxEndIndex;a++){var o=i.get(a);o.placementScale=e,e&lt;this.maxScale&amp;&amp;n.insert(a,o.bbox0,o.bbox1,o.bbox2,o.bbox3)}}},{&quot;../data/bucket&quot;:320,&quot;grid-index&quot;:275,&quot;point-geometry&quot;:477}],388:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,s,l,c,u,f,h){for(var d=c/2,p=0,m=0;m&lt;t.length-1;m++)p+=t[m].dist(t[m+1]);for(var g=0,v=e-r,y=[],x=0;x&lt;t.length-1;x++){for(var b=t[x],_=t[x+1],w=b.dist(_),M=_.angleTo(b);v+r&lt;g+w;){var k=((v+=r)-g)/w,A=i(b.x,_.x,k),T=i(b.y,_.y,k);if(A&gt;=0&amp;&amp;A&lt;h&amp;&amp;T&gt;=0&amp;&amp;T&lt;h&amp;&amp;v-d&gt;=0&amp;&amp;v+d&lt;=p){var S=new a(A,T,M,x)._round();s&amp;&amp;!o(t,S,c,s,l)||y.push(S)}}g+=w}return f||y.length||u||(y=n(t,g/2,r,s,l,c,u,!0,h)),y}var i=t(&quot;../util/interpolate&quot;),a=t(&quot;../symbol/anchor&quot;),o=t(&quot;./check_max_angle&quot;);e.exports=function(t,e,r,i,a,o,s,l,c){var u=i?.6*o*s:0,f=Math.max(i?i.right-i.left:0,a?a.right-a.left:0),h=0===t[0].x||t[0].x===c||0===t[0].y||t[0].y===c;return e-f*s&lt;e/4&amp;&amp;(e=f*s+e/4),n(t,h?e/2*l%e:(f/2+2*o)*s*l%e,e,u,r,f*s,h,!1,c)}},{&quot;../symbol/anchor&quot;:382,&quot;../util/interpolate&quot;:427,&quot;./check_max_angle&quot;:383}],389:[function(t,e,r){&quot;use strict&quot;;function n(){this.width=o,this.height=o,this.bin=new i(this.width,this.height),this.index={},this.ids={},this.data=new Uint8Array(this.width*this.height)}var i=t(&quot;shelf-pack&quot;),a=t(&quot;../util/util&quot;),o=128;e.exports=n,n.prototype.getGlyphs=function(){var t,e,r,n={};for(var i in this.ids)e=(t=i.split(&quot;#&quot;))[0],r=t[1],n[e]||(n[e]=[]),n[e].push(r);return n},n.prototype.getRects=function(){var t,e,r,n={};for(var i in this.ids)e=(t=i.split(&quot;#&quot;))[0],r=t[1],n[e]||(n[e]={}),n[e][r]=this.index[i];return n},n.prototype.addGlyph=function(t,e,r,n){if(!r)return null;var i=e+&quot;#&quot;+r.id;if(this.index[i])return this.ids[i].indexOf(t)&lt;0&amp;&amp;this.ids[i].push(t),this.index[i];if(!r.bitmap)return null;var o=r.width+2*n,s=r.height+2*n,l=o+2,c=s+2;l+=4-l%4,c+=4-c%4;var u=this.bin.packOne(l,c);if(u||(this.resize(),u=this.bin.packOne(l,c)),!u)return a.warnOnce(&quot;glyph bitmap overflow&quot;),null;this.index[i]=u,this.ids[i]=[t];for(var f=this.data,h=r.bitmap,d=0;d&lt;s;d++)for(var p=this.width*(u.y+d+1)+u.x+1,m=o*d,g=0;g&lt;o;g++)f[p+g]=h[m+g];return this.dirty=!0,u},n.prototype.resize=function(){var t=this.width,e=this.height;if(!(t&gt;=2048||e&gt;=2048)){this.texture&amp;&amp;(this.gl&amp;&amp;this.gl.deleteTexture(this.texture),this.texture=null),this.width*=4,this.height*=4,this.bin.resize(this.width,this.height);for(var r=new ArrayBuffer(this.width*this.height),n=0;n&lt;e;n++){var i=new Uint8Array(this.data.buffer,e*n,t);new Uint8Array(r,e*n*4,t).set(i)}this.data=new Uint8Array(r)}},n.prototype.bind=function(t){this.gl=t,this.texture?t.bindTexture(t.TEXTURE_2D,this.texture):(this.texture=t.createTexture(),t.bindTexture(t.TEXTURE_2D,this.texture),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MAG_FILTER,t.LINEAR),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MIN_FILTER,t.LINEAR),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),t.texImage2D(t.TEXTURE_2D,0,t.ALPHA,this.width,this.height,0,t.ALPHA,t.UNSIGNED_BYTE,null))},n.prototype.updateTexture=function(t){this.bind(t),this.dirty&amp;&amp;(t.texSubImage2D(t.TEXTURE_2D,0,0,0,this.width,this.height,t.ALPHA,t.UNSIGNED_BYTE,this.data),this.dirty=!1)}},{&quot;../util/util&quot;:433,&quot;shelf-pack&quot;:521}],390:[function(t,e,r){&quot;use strict&quot;;function n(t){this.url=t&amp;&amp;a(t),this.atlases={},this.stacks={},this.loading={}}function i(t,e,r){this.advance=t.advance,this.left=t.left-r-1,this.top=t.top+r+1,this.rect=e}var a=t(&quot;../util/mapbox&quot;).normalizeGlyphsURL,o=t(&quot;../util/ajax&quot;).getArrayBuffer,s=t(&quot;../util/glyphs&quot;),l=t(&quot;../symbol/glyph_atlas&quot;),c=t(&quot;pbf&quot;);e.exports=n,n.prototype.getSimpleGlyphs=function(t,e,r,n){void 0===this.stacks[t]&amp;&amp;(this.stacks[t]={}),void 0===this.atlases[t]&amp;&amp;(this.atlases[t]=new l);for(var a,o={},s=this.stacks[t],c=this.atlases[t],u={},f=0,h=0;h&lt;e.length;h++){var d=e[h];if(a=Math.floor(d/256),s[a]){var p=s[a].glyphs[d],m=c.addGlyph(r,t,p,3);p&amp;&amp;(o[d]=new i(p,m,3))}else void 0===u[a]&amp;&amp;(u[a]=[],f++),u[a].push(d)}f||n(void 0,o,t);var g=function(e,a,s){if(!e)for(var l=this.stacks[t][a]=s.stacks[0],h=0;h&lt;u[a].length;h++){var d=u[a][h],p=l.glyphs[d],m=c.addGlyph(r,t,p,3);p&amp;&amp;(o[d]=new i(p,m,3))}--f||n(void 0,o,t)}.bind(this);for(var v in u)this.loadRange(t,v,g)},n.prototype.loadRange=function(t,e,r){if(256*e&gt;65535)return r(&quot;glyphs &gt; 65535 not supported&quot;);void 0===this.loading[t]&amp;&amp;(this.loading[t]={});var n=this.loading[t];if(n[e])n[e].push(r);else{n[e]=[r];var i=function(t,e,r,n){return n=n||&quot;abc&quot;,r.replace(&quot;{s}&quot;,n[t.length%n.length]).replace(&quot;{fontstack}&quot;,t).replace(&quot;{range}&quot;,e)}(t,256*e+&quot;-&quot;+(256*e+255),this.url);o(i,function(t,r){for(var i=!t&amp;&amp;new s(new c(new Uint8Array(r))),a=0;a&lt;n[e].length;a++)n[e][a](t,e,i);delete n[e]})}},n.prototype.getGlyphAtlas=function(t){return this.atlases[t]}},{&quot;../symbol/glyph_atlas&quot;:389,&quot;../util/ajax&quot;:416,&quot;../util/glyphs&quot;:426,&quot;../util/mapbox&quot;:430,pbf:470}],391:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t,e,r){function n(n){u.push(t[n]),f.push(r[n]),h.push(e[n]),d++}function i(t,e,r){var n=c[t];return delete c[t],c[e]=n,f[n][0].pop(),f[n][0]=f[n][0].concat(r[0]),n}function a(t,e,r){var n=l[e];return delete l[e],l[t]=n,f[n][0].shift(),f[n][0]=r[0].concat(f[n][0]),n}function o(t,e,r){var n=r?e[0][e[0].length-1]:e[0][0];return t+&quot;:&quot;+n.x+&quot;:&quot;+n.y}var s,l={},c={},u=[],f=[],h=[],d=0;for(s=0;s&lt;t.length;s++){var p=r[s],m=e[s];if(m){var g=o(m,p),v=o(m,p,!0);if(g in c&amp;&amp;v in l&amp;&amp;c[g]!==l[v]){var y=a(g,v,p),x=i(g,v,f[y]);delete l[g],delete c[v],c[o(m,f[x],!0)]=x,f[y]=null}else g in c?i(g,v,p):v in l?a(g,v,p):(n(s),l[g]=d-1,c[v]=d-1)}else n(s)}return{features:u,textFeatures:h,geometries:f}}},{}],392:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,n,i,a,o,s,l,c){this.anchorPoint=t,this.tl=e,this.tr=r,this.bl=n,this.br=i,this.tex=a,this.anchorAngle=o,this.glyphAngle=s,this.minScale=l,this.maxScale=c}function i(t,e,r,n,i,s){var l=!s;r&lt;0&amp;&amp;(s=!s),s&amp;&amp;i++;var c=new a(e.x,e.y),u=n[i],f=1/0;r=Math.abs(r);for(var h=o;;){var d=c.dist(u),p=r/d,m=Math.atan2(u.y-c.y,u.x-c.x);if(s||(m+=Math.PI),t.push({anchorPoint:c,offset:l?Math.PI:0,minScale:p,maxScale:f,angle:(m+2*Math.PI)%(2*Math.PI)}),p&lt;=h)break;for(c=u;c.equals(u);)if(i+=s?1:-1,!(u=n[i]))return p;var g=u.sub(c)._unit();c=c.sub(g._mult(d)),f=p}return h}var a=t(&quot;point-geometry&quot;);e.exports={getIconQuads:function(t,e,r,i,s,l,c,u,f){var h,d,p,m,g=e.image.rect,v=s.layout,y=e.left-1,x=y+g.w/e.image.pixelRatio,b=e.top-1,_=b+g.h/e.image.pixelRatio;if(&quot;none&quot;!==v[&quot;icon-text-fit&quot;]&amp;&amp;c){var w=x-y,M=_-b,k=v[&quot;text-size&quot;]/24,A=c.left*k,T=c.right*k,S=c.top*k,E=T-A,L=c.bottom*k-S,C=v[&quot;icon-text-fit-padding&quot;][0],z=v[&quot;icon-text-fit-padding&quot;][1],D=v[&quot;icon-text-fit-padding&quot;][2],I=v[&quot;icon-text-fit-padding&quot;][3],P=&quot;width&quot;===v[&quot;icon-text-fit&quot;]?.5*(L-M):0,O=&quot;height&quot;===v[&quot;icon-text-fit&quot;]?.5*(E-w):0,F=&quot;width&quot;===v[&quot;icon-text-fit&quot;]||&quot;both&quot;===v[&quot;icon-text-fit&quot;]?E:w,R=&quot;height&quot;===v[&quot;icon-text-fit&quot;]||&quot;both&quot;===v[&quot;icon-text-fit&quot;]?L:M;h=new a(A+O-I,S+P-C),d=new a(A+O+z+F,S+P-C),p=new a(A+O+z+F,S+P+D+R),m=new a(A+O-I,S+P+D+R)}else h=new a(y,b),d=new a(x,b),p=new a(x,_),m=new a(y,_);var N=s.getLayoutValue(&quot;icon-rotate&quot;,u,f)*Math.PI/180;if(l){var j=i[t.segment];if(t.y===j.y&amp;&amp;t.x===j.x&amp;&amp;t.segment+1&lt;i.length){var B=i[t.segment+1];N+=Math.atan2(t.y-B.y,t.x-B.x)+Math.PI}else N+=Math.atan2(t.y-j.y,t.x-j.x)}if(N){var U=Math.sin(N),V=Math.cos(N),q=[V,-U,U,V];h=h.matMult(q),d=d.matMult(q),m=m.matMult(q),p=p.matMult(q)}return[new n(new a(t.x,t.y),h,d,m,p,e.image.rect,0,0,o,1/0)]},getGlyphQuads:function(t,e,r,s,l,c){for(var u=l.layout[&quot;text-rotate&quot;]*Math.PI/180,f=l.layout[&quot;text-keep-upright&quot;],h=e.positionedGlyphs,d=[],p=0;p&lt;h.length;p++){var m=h[p],g=m.glyph,v=g.rect;if(v){var y,x=(m.x+g.advance/2)*r,b=o;c?(b=i(y=[],t,x,s,t.segment,!0),f&amp;&amp;(b=Math.min(b,i(y,t,x,s,t.segment,!1)))):y=[{anchorPoint:new a(t.x,t.y),offset:0,angle:0,maxScale:1/0,minScale:o}];for(var _=m.x+g.left,w=m.y-g.top,M=_+v.w,k=w+v.h,A=new a(_,w),T=new a(M,w),S=new a(_,k),E=new a(M,k),L=0;L&lt;y.length;L++){var C=y[L],z=A,D=T,I=S,P=E;if(u){var O=Math.sin(u),F=Math.cos(u),R=[F,-O,O,F];z=z.matMult(R),D=D.matMult(R),I=I.matMult(R),P=P.matMult(R)}var N=Math.max(C.minScale,b),j=(t.angle+C.offset+2*Math.PI)%(2*Math.PI),B=(C.angle+C.offset+2*Math.PI)%(2*Math.PI);d.push(new n(C.anchorPoint,z,D,I,P,v,j,B,N,C.maxScale))}}}return d},SymbolQuad:n};var o=.5},{&quot;point-geometry&quot;:477}],393:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../util/token&quot;);e.exports=function(t,e,r){for(var i=[],a=0,o=t.length;a&lt;o;a++){var s=n(t[a].properties,e[&quot;text-field&quot;]);if(s){s=s.toString();var l=e[&quot;text-transform&quot;];&quot;uppercase&quot;===l?s=s.toLocaleUpperCase():&quot;lowercase&quot;===l&amp;&amp;(s=s.toLocaleLowerCase());for(var c=0;c&lt;s.length;c++)r[s.charCodeAt(c)]=!0;i[a]=s}else i[a]=null}return i}},{&quot;../util/token&quot;:432}],394:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,n){this.codePoint=t,this.x=e,this.y=r,this.glyph=n}function i(t,e,r,n,i){for(var a=e[t[n].codePoint].advance,o=(t[n].x+a)*i,s=r;s&lt;=n;s++)t[s].x-=o}e.exports={shapeText:function(t,e,r,s,l,c,u,f,h){for(var d=[],p=new function(t,e,r,n,i,a){this.positionedGlyphs=t,this.text=e,this.top=r,this.bottom=n,this.left=i,this.right=a}(d,t,h[1],h[1],h[0],h[0]),m=0,g=0;g&lt;t.length;g++){var v=t.charCodeAt(g),y=e[v];y&amp;&amp;(d.push(new n(v,m,-17,y)),m+=y.advance+f)}return!!d.length&amp;&amp;(function(t,e,r,n,s,l,c,u){var f=null,h=0,d=0,p=0,m=0,g=t.positionedGlyphs;if(n)for(var v=0;v&lt;g.length;v++){var y=g[v];if(y.x-=h,y.y+=r*p,y.x&gt;n&amp;&amp;null!==f){var x=g[f+1].x;m=Math.max(x,m);for(var b=f+1;b&lt;=v;b++)g[b].y+=r,g[b].x-=x;if(c){var _=f;a[g[f].codePoint]&amp;&amp;_--,i(g,e,d,_,c)}d=f+1,f=null,h+=x,p++}o[y.codePoint]&amp;&amp;(f=v)}var w=g[g.length-1],M=w.x+e[w.codePoint].advance;m=Math.max(m,M);var k=(p+1)*r;i(g,e,d,g.length-1,c),function(t,e,r,n,i,a,o,s){for(var l=(e-r)*i+s[0],c=(-n*(o+1)+.5)*a+s[1],u=0;u&lt;t.length;u++)t[u].x+=l,t[u].y+=c}(g,c,s,l,m,r,p,u),t.top+=-l*k,t.bottom=t.top+k,t.left+=-s*m,t.right=t.left+m}(p,e,s,r,l,c,u,h),p)},shapeIcon:function(t,e){if(!t||!t.rect)return null;var r=e[&quot;icon-offset&quot;][0],n=e[&quot;icon-offset&quot;][1],i=r-t.width/2,a=i+t.width,o=n-t.height/2;return new function(t,e,r,n,i){this.image=t,this.top=e,this.bottom=r,this.left=n,this.right=i}(t,o,o+t.height,i,a)}};var a={32:!0,8203:!0},o={32:!0,38:!0,43:!0,45:!0,47:!0,173:!0,183:!0,8203:!0,8208:!0,8211:!0}},{}],395:[function(t,e,r){&quot;use strict&quot;;function n(t,e){this.width=t,this.height=e,this.bin=new i(t,e),this.images={},this.data=!1,this.texture=0,this.filter=0,this.pixelRatio=1,this.dirty=!0}var i=t(&quot;shelf-pack&quot;),a=t(&quot;../util/browser&quot;),o=t(&quot;../util/util&quot;);e.exports=n,n.prototype.allocateImage=function(t,e){var r=(t/=this.pixelRatio)+2+(4-(t+2)%4),n=(e/=this.pixelRatio)+2+(4-(e+2)%4),i=this.bin.packOne(r,n);return i||(o.warnOnce(&quot;SpriteAtlas out of space.&quot;),null)},n.prototype.getImage=function(t,e){if(this.images[t])return this.images[t];if(!this.sprite)return null;var r=this.sprite.getSpritePosition(t);if(!r.width||!r.height)return null;var n=this.allocateImage(r.width,r.height);if(!n)return null;var i=new function(t,e,r,n,i){this.rect=t,this.width=e,this.height=r,this.sdf=n,this.pixelRatio=i}(n,r.width/r.pixelRatio,r.height/r.pixelRatio,r.sdf,r.pixelRatio/this.pixelRatio);return this.images[t]=i,this.copy(n,r,e),i},n.prototype.getPosition=function(t,e){var r=this.getImage(t,e),n=r&amp;&amp;r.rect;if(!n)return null;var i=r.width*r.pixelRatio,a=r.height*r.pixelRatio;return{size:[r.width,r.height],tl:[(n.x+1)/this.width,(n.y+1)/this.height],br:[(n.x+1+i)/this.width,(n.y+1+a)/this.height]}},n.prototype.allocate=function(){if(!this.data){var t=Math.floor(this.width*this.pixelRatio),e=Math.floor(this.height*this.pixelRatio);this.data=new Uint32Array(t*e);for(var r=0;r&lt;this.data.length;r++)this.data[r]=0}},n.prototype.copy=function(t,e,r){if(this.sprite.img.data){var n=new Uint32Array(this.sprite.img.data.buffer);this.allocate();var i=this.data;!function(t,e,r,n,i,a,o,s,l,c,u){var f,h,d=n*e+r,p=s*a+o;if(u)for(p-=a,h=-1;h&lt;=c;h++,d=((h+c)%c+n)*e+r,p+=a)for(f=-1;f&lt;=l;f++)i[p+f]=t[d+(f+l)%l];else for(h=0;h&lt;c;h++,d+=e,p+=a)for(f=0;f&lt;l;f++)i[p+f]=t[d+f]}(n,this.sprite.img.width,e.x,e.y,i,this.width*this.pixelRatio,(t.x+1)*this.pixelRatio,(t.y+1)*this.pixelRatio,e.width,e.height,r),this.dirty=!0}},n.prototype.setSprite=function(t){t&amp;&amp;(this.pixelRatio=a.devicePixelRatio&gt;1?2:1,this.canvas&amp;&amp;(this.canvas.width=this.width*this.pixelRatio,this.canvas.height=this.height*this.pixelRatio)),this.sprite=t},n.prototype.addIcons=function(t,e){for(var r=0;r&lt;t.length;r++)this.getImage(t[r]);e(null,this.images)},n.prototype.bind=function(t,e){var r=!1;this.texture?t.bindTexture(t.TEXTURE_2D,this.texture):(this.texture=t.createTexture(),t.bindTexture(t.TEXTURE_2D,this.texture),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),r=!0);var n=e?t.LINEAR:t.NEAREST;n!==this.filter&amp;&amp;(t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MIN_FILTER,n),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MAG_FILTER,n),this.filter=n),this.dirty&amp;&amp;(this.allocate(),r?t.texImage2D(t.TEXTURE_2D,0,t.RGBA,this.width*this.pixelRatio,this.height*this.pixelRatio,0,t.RGBA,t.UNSIGNED_BYTE,new Uint8Array(this.data.buffer)):t.texSubImage2D(t.TEXTURE_2D,0,0,0,this.width*this.pixelRatio,this.height*this.pixelRatio,t.RGBA,t.UNSIGNED_BYTE,new Uint8Array(this.data.buffer)),this.dirty=!1)}},{&quot;../util/browser&quot;:417,&quot;../util/util&quot;:433,&quot;shelf-pack&quot;:521}],396:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../util/struct_array&quot;),i=t(&quot;../util/util&quot;),a=t(&quot;point-geometry&quot;),o=e.exports=new n({members:[{type:&quot;Uint16&quot;,name:&quot;textBoxStartIndex&quot;},{type:&quot;Uint16&quot;,name:&quot;textBoxEndIndex&quot;},{type:&quot;Uint16&quot;,name:&quot;iconBoxStartIndex&quot;},{type:&quot;Uint16&quot;,name:&quot;iconBoxEndIndex&quot;},{type:&quot;Uint16&quot;,name:&quot;glyphQuadStartIndex&quot;},{type:&quot;Uint16&quot;,name:&quot;glyphQuadEndIndex&quot;},{type:&quot;Uint16&quot;,name:&quot;iconQuadStartIndex&quot;},{type:&quot;Uint16&quot;,name:&quot;iconQuadEndIndex&quot;},{type:&quot;Int16&quot;,name:&quot;anchorPointX&quot;},{type:&quot;Int16&quot;,name:&quot;anchorPointY&quot;},{type:&quot;Int8&quot;,name:&quot;index&quot;}]});i.extendAll(o.prototype.StructType.prototype,{get anchorPoint(){return new a(this.anchorPointX,this.anchorPointY)}})},{&quot;../util/struct_array&quot;:431,&quot;../util/util&quot;:433,&quot;point-geometry&quot;:477}],397:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../util/struct_array&quot;),i=t(&quot;../util/util&quot;),a=t(&quot;point-geometry&quot;),o=t(&quot;./quads&quot;).SymbolQuad,s=e.exports=new n({members:[{type:&quot;Int16&quot;,name:&quot;anchorPointX&quot;},{type:&quot;Int16&quot;,name:&quot;anchorPointY&quot;},{type:&quot;Float32&quot;,name:&quot;tlX&quot;},{type:&quot;Float32&quot;,name:&quot;tlY&quot;},{type:&quot;Float32&quot;,name:&quot;trX&quot;},{type:&quot;Float32&quot;,name:&quot;trY&quot;},{type:&quot;Float32&quot;,name:&quot;blX&quot;},{type:&quot;Float32&quot;,name:&quot;blY&quot;},{type:&quot;Float32&quot;,name:&quot;brX&quot;},{type:&quot;Float32&quot;,name:&quot;brY&quot;},{type:&quot;Int16&quot;,name:&quot;texH&quot;},{type:&quot;Int16&quot;,name:&quot;texW&quot;},{type:&quot;Int16&quot;,name:&quot;texX&quot;},{type:&quot;Int16&quot;,name:&quot;texY&quot;},{type:&quot;Float32&quot;,name:&quot;anchorAngle&quot;},{type:&quot;Float32&quot;,name:&quot;glyphAngle&quot;},{type:&quot;Float32&quot;,name:&quot;maxScale&quot;},{type:&quot;Float32&quot;,name:&quot;minScale&quot;}]});i.extendAll(s.prototype.StructType.prototype,{get anchorPoint(){return new a(this.anchorPointX,this.anchorPointY)},get SymbolQuad(){return new o(this.anchorPoint,new a(this.tlX,this.tlY),new a(this.trX,this.trY),new a(this.blX,this.blY),new a(this.brX,this.brY),{x:this.texX,y:this.texY,h:this.texH,w:this.texW,height:this.texH,width:this.texW},this.anchorAngle,this.glyphAngle,this.minScale,this.maxScale)}})},{&quot;../util/struct_array&quot;:431,&quot;../util/util&quot;:433,&quot;./quads&quot;:392,&quot;point-geometry&quot;:477}],398:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../util/dom&quot;),i=t(&quot;point-geometry&quot;),a={scrollZoom:t(&quot;./handler/scroll_zoom&quot;),boxZoom:t(&quot;./handler/box_zoom&quot;),dragRotate:t(&quot;./handler/drag_rotate&quot;),dragPan:t(&quot;./handler/drag_pan&quot;),keyboard:t(&quot;./handler/keyboard&quot;),doubleClickZoom:t(&quot;./handler/dblclick_zoom&quot;),touchZoomRotate:t(&quot;./handler/touch_zoom_rotate&quot;)};e.exports=function(t,e){function r(){f=null}function o(e,r){var i=n.mousePos(l,r);return t.fire(e,{lngLat:t.unproject(i),point:i,originalEvent:r})}function s(e,r){var a=n.touchPos(l,r),o=a.reduce(function(t,e,r,n){return t.add(e.div(n.length))},new i(0,0));return t.fire(e,{lngLat:t.unproject(o),point:o,lngLats:a.map(function(e){return t.unproject(e)},this),points:a,originalEvent:r})}var l=t.getCanvasContainer(),c=null,u=null,f=null;for(var h in a)t[h]=new a[h](t,e),e.interactive&amp;&amp;e[h]&amp;&amp;t[h].enable();l.addEventListener(&quot;mouseout&quot;,function(t){o(&quot;mouseout&quot;,t)},!1),l.addEventListener(&quot;mousedown&quot;,function(e){t.stop(),u=n.mousePos(l,e),o(&quot;mousedown&quot;,e)},!1),l.addEventListener(&quot;mouseup&quot;,function(e){var r=t.dragRotate&amp;&amp;t.dragRotate.isActive();c&amp;&amp;!r&amp;&amp;o(&quot;contextmenu&quot;,c),c=null,o(&quot;mouseup&quot;,e)},!1),l.addEventListener(&quot;mousemove&quot;,function(e){if(!(t.dragPan&amp;&amp;t.dragPan.isActive()||t.dragRotate&amp;&amp;t.dragRotate.isActive())){for(var r=e.toElement||e.target;r&amp;&amp;r!==l;)r=r.parentNode;r===l&amp;&amp;o(&quot;mousemove&quot;,e)}},!1),l.addEventListener(&quot;touchstart&quot;,function(e){t.stop(),s(&quot;touchstart&quot;,e),!e.touches||e.touches.length&gt;1||(f?(clearTimeout(f),f=null,o(&quot;dblclick&quot;,e)):f=setTimeout(r,300))},!1),l.addEventListener(&quot;touchend&quot;,function(t){s(&quot;touchend&quot;,t)},!1),l.addEventListener(&quot;touchmove&quot;,function(t){s(&quot;touchmove&quot;,t)},!1),l.addEventListener(&quot;touchcancel&quot;,function(t){s(&quot;touchcancel&quot;,t)},!1),l.addEventListener(&quot;click&quot;,function(t){n.mousePos(l,t).equals(u)&amp;&amp;o(&quot;click&quot;,t)},!1),l.addEventListener(&quot;dblclick&quot;,function(t){o(&quot;dblclick&quot;,t),t.preventDefault()},!1),l.addEventListener(&quot;contextmenu&quot;,function(t){c=t,t.preventDefault()},!1)}},{&quot;../util/dom&quot;:419,&quot;./handler/box_zoom&quot;:404,&quot;./handler/dblclick_zoom&quot;:405,&quot;./handler/drag_pan&quot;:406,&quot;./handler/drag_rotate&quot;:407,&quot;./handler/keyboard&quot;:408,&quot;./handler/scroll_zoom&quot;:409,&quot;./handler/touch_zoom_rotate&quot;:410,&quot;point-geometry&quot;:477}],399:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../util/util&quot;),i=t(&quot;../util/interpolate&quot;),a=t(&quot;../util/browser&quot;),o=t(&quot;../geo/lng_lat&quot;),s=t(&quot;../geo/lng_lat_bounds&quot;),l=t(&quot;point-geometry&quot;),c=e.exports=function(){};n.extend(c.prototype,{getCenter:function(){return this.transform.center},setCenter:function(t,e){return this.jumpTo({center:t},e),this},panBy:function(t,e,r){return this.panTo(this.transform.center,n.extend({offset:l.convert(t).mult(-1)},e),r),this},panTo:function(t,e,r){return this.easeTo(n.extend({center:t},e),r)},getZoom:function(){return this.transform.zoom},setZoom:function(t,e){return this.jumpTo({zoom:t},e),this},zoomTo:function(t,e,r){return this.easeTo(n.extend({zoom:t},e),r)},zoomIn:function(t,e){return this.zoomTo(this.getZoom()+1,t,e),this},zoomOut:function(t,e){return this.zoomTo(this.getZoom()-1,t,e),this},getBearing:function(){return this.transform.bearing},setBearing:function(t,e){return this.jumpTo({bearing:t},e),this},rotateTo:function(t,e,r){return this.easeTo(n.extend({bearing:t},e),r)},resetNorth:function(t,e){return this.rotateTo(0,n.extend({duration:1e3},t),e),this},snapToNorth:function(t,e){return Math.abs(this.getBearing())&lt;this._bearingSnap?this.resetNorth(t,e):this},getPitch:function(){return this.transform.pitch},setPitch:function(t,e){return this.jumpTo({pitch:t},e),this},fitBounds:function(t,e,r){e=n.extend({padding:0,offset:[0,0],maxZoom:1/0},e),t=s.convert(t);var i=l.convert(e.offset),a=this.transform,o=a.project(t.getNorthWest()),c=a.project(t.getSouthEast()),u=c.sub(o),f=(a.width-2*e.padding-2*Math.abs(i.x))/u.x,h=(a.height-2*e.padding-2*Math.abs(i.y))/u.y;return e.center=a.unproject(o.add(c).div(2)),e.zoom=Math.min(a.scaleZoom(a.scale*Math.min(f,h)),e.maxZoom),e.bearing=0,e.linear?this.easeTo(e,r):this.flyTo(e,r)},jumpTo:function(t,e){this.stop();var r=this.transform,n=!1,i=!1,a=!1;return&quot;zoom&quot;in t&amp;&amp;r.zoom!==+t.zoom&amp;&amp;(n=!0,r.zoom=+t.zoom),&quot;center&quot;in t&amp;&amp;(r.center=o.convert(t.center)),&quot;bearing&quot;in t&amp;&amp;r.bearing!==+t.bearing&amp;&amp;(i=!0,r.bearing=+t.bearing),&quot;pitch&quot;in t&amp;&amp;r.pitch!==+t.pitch&amp;&amp;(a=!0,r.pitch=+t.pitch),this.fire(&quot;movestart&quot;,e).fire(&quot;move&quot;,e),n&amp;&amp;this.fire(&quot;zoomstart&quot;,e).fire(&quot;zoom&quot;,e).fire(&quot;zoomend&quot;,e),i&amp;&amp;this.fire(&quot;rotate&quot;,e),a&amp;&amp;this.fire(&quot;pitch&quot;,e),this.fire(&quot;moveend&quot;,e)},easeTo:function(t,e){this.stop(),t=n.extend({offset:[0,0],duration:500,easing:n.ease},t);var r,a,s=this.transform,c=l.convert(t.offset),u=this.getZoom(),f=this.getBearing(),h=this.getPitch(),d=&quot;zoom&quot;in t?+t.zoom:u,p=&quot;bearing&quot;in t?this._normalizeBearing(t.bearing,f):f,m=&quot;pitch&quot;in t?+t.pitch:h;&quot;center&quot;in t?(r=o.convert(t.center),a=s.centerPoint.add(c)):&quot;around&quot;in t?(r=o.convert(t.around),a=s.locationPoint(r)):(a=s.centerPoint.add(c),r=s.pointLocation(a));var g=s.locationPoint(r);return!1===t.animate&amp;&amp;(t.duration=0),this.zooming=d!==u,this.rotating=f!==p,this.pitching=m!==h,t.noMoveStart||this.fire(&quot;movestart&quot;,e),this.zooming&amp;&amp;this.fire(&quot;zoomstart&quot;,e),clearTimeout(this._onEaseEnd),this._ease(function(t){this.zooming&amp;&amp;(s.zoom=i(u,d,t)),this.rotating&amp;&amp;(s.bearing=i(f,p,t)),this.pitching&amp;&amp;(s.pitch=i(h,m,t)),s.setLocationAtPoint(r,g.add(a.sub(g)._mult(t))),this.fire(&quot;move&quot;,e),this.zooming&amp;&amp;this.fire(&quot;zoom&quot;,e),this.rotating&amp;&amp;this.fire(&quot;rotate&quot;,e),this.pitching&amp;&amp;this.fire(&quot;pitch&quot;,e)},function(){t.delayEndEvents?this._onEaseEnd=setTimeout(this._easeToEnd.bind(this,e),t.delayEndEvents):this._easeToEnd(e)}.bind(this),t),this},_easeToEnd:function(t){var e=this.zooming;this.zooming=!1,this.rotating=!1,this.pitching=!1,e&amp;&amp;this.fire(&quot;zoomend&quot;,t),this.fire(&quot;moveend&quot;,t)},flyTo:function(t,e){function r(t){var e=(k*k-M*M+(t?-1:1)*E*E*A*A)/(2*(t?k:M)*E*A);return Math.log(Math.sqrt(e*e+1)-e)}function a(t){return(Math.exp(t)-Math.exp(-t))/2}function s(t){return(Math.exp(t)+Math.exp(-t))/2}this.stop(),t=n.extend({offset:[0,0],speed:1.2,curve:1.42,easing:n.ease},t);var c=this.transform,u=l.convert(t.offset),f=this.getZoom(),h=this.getBearing(),d=this.getPitch(),p=&quot;center&quot;in t?o.convert(t.center):this.getCenter(),m=&quot;zoom&quot;in t?+t.zoom:f,g=&quot;bearing&quot;in t?this._normalizeBearing(t.bearing,h):h,v=&quot;pitch&quot;in t?+t.pitch:d;Math.abs(c.center.lng)+Math.abs(p.lng)&gt;180&amp;&amp;(c.center.lng&gt;0&amp;&amp;p.lng&lt;0?p.lng+=360:c.center.lng&lt;0&amp;&amp;p.lng&gt;0&amp;&amp;(p.lng-=360));var y=c.zoomScale(m-f),x=c.point,b=&quot;center&quot;in t?c.project(p).sub(u.div(y)):x,_=c.worldSize,w=t.curve,M=Math.max(c.width,c.height),k=M/y,A=b.sub(x).mag();if(&quot;minZoom&quot;in t){var T=n.clamp(Math.min(t.minZoom,f,m),c.minZoom,c.maxZoom),S=M/c.zoomScale(T-f);w=Math.sqrt(S/A*2)}var E=w*w,L=r(0),C=function(t){return s(L)/s(L+w*t)},z=function(t){return M*((s(L)*function(t){return a(t)/s(t)}(L+w*t)-a(L))/E)/A},D=(r(1)-L)/w;if(Math.abs(A)&lt;1e-6){if(Math.abs(M-k)&lt;1e-6)return this.easeTo(t);var I=k&lt;M?-1:1;D=Math.abs(Math.log(k/M))/w,z=function(){return 0},C=function(t){return Math.exp(I*w*t)}}if(&quot;duration&quot;in t)t.duration=+t.duration;else{var P=&quot;screenSpeed&quot;in t?+t.screenSpeed/w:+t.speed;t.duration=1e3*D/P}return this.zooming=!0,h!==g&amp;&amp;(this.rotating=!0),d!==v&amp;&amp;(this.pitching=!0),this.fire(&quot;movestart&quot;,e),this.fire(&quot;zoomstart&quot;,e),this._ease(function(t){var r=t*D,n=z(r);c.zoom=f+c.scaleZoom(1/C(r)),c.center=c.unproject(x.add(b.sub(x).mult(n)),_),this.rotating&amp;&amp;(c.bearing=i(h,g,t)),this.pitching&amp;&amp;(c.pitch=i(d,v,t)),this.fire(&quot;move&quot;,e),this.fire(&quot;zoom&quot;,e),this.rotating&amp;&amp;this.fire(&quot;rotate&quot;,e),this.pitching&amp;&amp;this.fire(&quot;pitch&quot;,e)},function(){this.zooming=!1,this.rotating=!1,this.pitching=!1,this.fire(&quot;zoomend&quot;,e),this.fire(&quot;moveend&quot;,e)},t),this},isEasing:function(){return!!this._abortFn},stop:function(){return this._abortFn&amp;&amp;(this._abortFn(),this._finishEase()),this},_ease:function(t,e,r){this._finishFn=e,this._abortFn=a.timed(function(e){t.call(this,r.easing(e)),1===e&amp;&amp;this._finishEase()},!1===r.animate?0:r.duration,this)},_finishEase:function(){delete this._abortFn;var t=this._finishFn;delete this._finishFn,t.call(this)},_normalizeBearing:function(t,e){t=n.wrap(t,-180,180);var r=Math.abs(t-e);return Math.abs(t-360-e)&lt;r&amp;&amp;(t-=360),Math.abs(t+360-e)&lt;r&amp;&amp;(t+=360),t},_updateEasing:function(t,e,r){var i;if(this.ease){var a=this.ease,o=(Date.now()-a.start)/a.duration,s=a.easing(o+.01)-a.easing(o),l=.27/Math.sqrt(s*s+1e-4)*.01,c=Math.sqrt(.0729-l*l);i=n.bezier(l,c,.25,1)}else i=r?n.bezier.apply(n,r):n.ease;return this.ease={start:(new Date).getTime(),to:Math.pow(2,e),duration:t,easing:i},i}})},{&quot;../geo/lng_lat&quot;:330,&quot;../geo/lng_lat_bounds&quot;:331,&quot;../util/browser&quot;:417,&quot;../util/interpolate&quot;:427,&quot;../util/util&quot;:433,&quot;point-geometry&quot;:477}],400:[function(t,e,r){&quot;use strict&quot;;function n(t){o.setOptions(this,t)}var i=t(&quot;./control&quot;),a=t(&quot;../../util/dom&quot;),o=t(&quot;../../util/util&quot;);e.exports=n,n.createAttributionString=function(t){var e=[];for(var r in t){var n=t[r];n.attribution&amp;&amp;e.indexOf(n.attribution)&lt;0&amp;&amp;e.push(n.attribution)}return e.sort(function(t,e){return t.length-e.length}),(e=e.filter(function(t,r){for(var n=r+1;n&lt;e.length;n++)if(e[n].indexOf(t)&gt;=0)return!1;return!0})).join(&quot; | &quot;)},n.prototype=o.inherit(i,{options:{position:&quot;bottom-right&quot;},onAdd:function(t){var e=this._container=a.create(&quot;div&quot;,&quot;mapboxgl-ctrl-attrib&quot;,t.getContainer());return this._update(),t.on(&quot;source.load&quot;,this._update.bind(this)),t.on(&quot;source.change&quot;,this._update.bind(this)),t.on(&quot;source.remove&quot;,this._update.bind(this)),t.on(&quot;moveend&quot;,this._updateEditLink.bind(this)),e},_update:function(){this._map.style&amp;&amp;(this._container.innerHTML=n.createAttributionString(this._map.style.sources)),this._editLink=this._container.getElementsByClassName(&quot;mapbox-improve-map&quot;)[0],this._updateEditLink()},_updateEditLink:function(){if(this._editLink){var t=this._map.getCenter();this._editLink.href=&quot;https://www.mapbox.com/map-feedback/#/&quot;+t.lng+&quot;/&quot;+t.lat+&quot;/&quot;+Math.round(this._map.getZoom()+1)}}})},{&quot;../../util/dom&quot;:419,&quot;../../util/util&quot;:433,&quot;./control&quot;:401}],401:[function(t,e,r){&quot;use strict&quot;;function n(){}var i=t(&quot;../../util/util&quot;),a=t(&quot;../../util/evented&quot;);e.exports=n,n.prototype={addTo:function(t){this._map=t;var e=this._container=this.onAdd(t);if(this.options&amp;&amp;this.options.position){var r=this.options.position,n=t._controlCorners[r];e.className+=&quot; mapboxgl-ctrl&quot;,-1!==r.indexOf(&quot;bottom&quot;)?n.insertBefore(e,n.firstChild):n.appendChild(e)}return this},remove:function(){return this._container.parentNode.removeChild(this._container),this.onRemove&amp;&amp;this.onRemove(this._map),this._map=null,this}},i.extend(n.prototype,a)},{&quot;../../util/evented&quot;:425,&quot;../../util/util&quot;:433}],402:[function(t,e,r){&quot;use strict&quot;;function n(t){s.setOptions(this,t)}var i=t(&quot;./control&quot;),a=t(&quot;../../util/browser&quot;),o=t(&quot;../../util/dom&quot;),s=t(&quot;../../util/util&quot;);e.exports=n;var l={enableHighAccuracy:!1,timeout:6e3};n.prototype=s.inherit(i,{options:{position:&quot;top-right&quot;},onAdd:function(t){var e=this._container=o.create(&quot;div&quot;,&quot;mapboxgl-ctrl-group&quot;,t.getContainer());return a.supportsGeolocation?(this._container.addEventListener(&quot;contextmenu&quot;,this._onContextMenu.bind(this)),this._geolocateButton=o.create(&quot;button&quot;,&quot;mapboxgl-ctrl-icon mapboxgl-ctrl-geolocate&quot;,this._container),this._geolocateButton.type=&quot;button&quot;,this._geolocateButton.addEventListener(&quot;click&quot;,this._onClickGeolocate.bind(this)),e):e},_onContextMenu:function(t){t.preventDefault()},_onClickGeolocate:function(){navigator.geolocation.getCurrentPosition(this._success.bind(this),this._error.bind(this),l),this._timeoutId=setTimeout(this._finish.bind(this),1e4)},_success:function(t){this._map.jumpTo({center:[t.coords.longitude,t.coords.latitude],zoom:17,bearing:0,pitch:0}),this.fire(&quot;geolocate&quot;,t),this._finish()},_error:function(t){this.fire(&quot;error&quot;,t),this._finish()},_finish:function(){this._timeoutId&amp;&amp;clearTimeout(this._timeoutId),this._timeoutId=void 0}})},{&quot;../../util/browser&quot;:417,&quot;../../util/dom&quot;:419,&quot;../../util/util&quot;:433,&quot;./control&quot;:401}],403:[function(t,e,r){&quot;use strict&quot;;function n(t){s.setOptions(this,t)}function i(t){return new MouseEvent(t.type,{button:2,buttons:2,bubbles:!0,cancelable:!0,detail:t.detail,view:t.view,screenX:t.screenX,screenY:t.screenY,clientX:t.clientX,clientY:t.clientY,movementX:t.movementX,movementY:t.movementY,ctrlKey:t.ctrlKey,shiftKey:t.shiftKey,altKey:t.altKey,metaKey:t.metaKey})}var a=t(&quot;./control&quot;),o=t(&quot;../../util/dom&quot;),s=t(&quot;../../util/util&quot;);e.exports=n,n.prototype=s.inherit(a,{options:{position:&quot;top-right&quot;},onAdd:function(t){var e=&quot;mapboxgl-ctrl&quot;,r=this._container=o.create(&quot;div&quot;,e+&quot;-group&quot;,t.getContainer());return this._container.addEventListener(&quot;contextmenu&quot;,this._onContextMenu.bind(this)),this._zoomInButton=this._createButton(e+&quot;-icon &quot;+e+&quot;-zoom-in&quot;,t.zoomIn.bind(t)),this._zoomOutButton=this._createButton(e+&quot;-icon &quot;+e+&quot;-zoom-out&quot;,t.zoomOut.bind(t)),this._compass=this._createButton(e+&quot;-icon &quot;+e+&quot;-compass&quot;,t.resetNorth.bind(t)),this._compassArrow=o.create(&quot;div&quot;,&quot;arrow&quot;,this._compass),this._compass.addEventListener(&quot;mousedown&quot;,this._onCompassDown.bind(this)),this._onCompassMove=this._onCompassMove.bind(this),this._onCompassUp=this._onCompassUp.bind(this),t.on(&quot;rotate&quot;,this._rotateCompassArrow.bind(this)),this._rotateCompassArrow(),this._el=t.getCanvasContainer(),r},_onContextMenu:function(t){t.preventDefault()},_onCompassDown:function(t){0===t.button&amp;&amp;(o.disableDrag(),document.addEventListener(&quot;mousemove&quot;,this._onCompassMove),document.addEventListener(&quot;mouseup&quot;,this._onCompassUp),this._el.dispatchEvent(i(t)),t.stopPropagation())},_onCompassMove:function(t){0===t.button&amp;&amp;(this._el.dispatchEvent(i(t)),t.stopPropagation())},_onCompassUp:function(t){0===t.button&amp;&amp;(document.removeEventListener(&quot;mousemove&quot;,this._onCompassMove),document.removeEventListener(&quot;mouseup&quot;,this._onCompassUp),o.enableDrag(),this._el.dispatchEvent(i(t)),t.stopPropagation())},_createButton:function(t,e){var r=o.create(&quot;button&quot;,t,this._container);return r.type=&quot;button&quot;,r.addEventListener(&quot;click&quot;,function(){e()}),r},_rotateCompassArrow:function(){var t=&quot;rotate(&quot;+this._map.transform.angle*(180/Math.PI)+&quot;deg)&quot;;this._compassArrow.style.transform=t}})},{&quot;../../util/dom&quot;:419,&quot;../../util/util&quot;:433,&quot;./control&quot;:401}],404:[function(t,e,r){&quot;use strict&quot;;function n(t){this._map=t,this._el=t.getCanvasContainer(),this._container=t.getContainer(),o.bindHandlers(this)}var i=t(&quot;../../util/dom&quot;),a=t(&quot;../../geo/lng_lat_bounds&quot;),o=t(&quot;../../util/util&quot;);e.exports=n,n.prototype={_enabled:!1,_active:!1,isEnabled:function(){return this._enabled},isActive:function(){return this._active},enable:function(){this.isEnabled()||(this._el.addEventListener(&quot;mousedown&quot;,this._onMouseDown,!1),this._enabled=!0)},disable:function(){this.isEnabled()&amp;&amp;(this._el.removeEventListener(&quot;mousedown&quot;,this._onMouseDown),this._enabled=!1)},_onMouseDown:function(t){t.shiftKey&amp;&amp;0===t.button&amp;&amp;(document.addEventListener(&quot;mousemove&quot;,this._onMouseMove,!1),document.addEventListener(&quot;keydown&quot;,this._onKeyDown,!1),document.addEventListener(&quot;mouseup&quot;,this._onMouseUp,!1),i.disableDrag(),this._startPos=i.mousePos(this._el,t),this._active=!0)},_onMouseMove:function(t){var e=this._startPos,r=i.mousePos(this._el,t);this._box||(this._box=i.create(&quot;div&quot;,&quot;mapboxgl-boxzoom&quot;,this._container),this._container.classList.add(&quot;mapboxgl-crosshair&quot;),this._fireEvent(&quot;boxzoomstart&quot;,t));var n=Math.min(e.x,r.x),a=Math.max(e.x,r.x),o=Math.min(e.y,r.y),s=Math.max(e.y,r.y);i.setTransform(this._box,&quot;translate(&quot;+n+&quot;px,&quot;+o+&quot;px)&quot;),this._box.style.width=a-n+&quot;px&quot;,this._box.style.height=s-o+&quot;px&quot;},_onMouseUp:function(t){if(0===t.button){var e=this._startPos,r=i.mousePos(this._el,t),n=new a(this._map.unproject(e),this._map.unproject(r));this._finish(),e.x===r.x&amp;&amp;e.y===r.y?this._fireEvent(&quot;boxzoomcancel&quot;,t):this._map.fitBounds(n,{linear:!0}).fire(&quot;boxzoomend&quot;,{originalEvent:t,boxZoomBounds:n})}},_onKeyDown:function(t){27===t.keyCode&amp;&amp;(this._finish(),this._fireEvent(&quot;boxzoomcancel&quot;,t))},_finish:function(){this._active=!1,document.removeEventListener(&quot;mousemove&quot;,this._onMouseMove,!1),document.removeEventListener(&quot;keydown&quot;,this._onKeyDown,!1),document.removeEventListener(&quot;mouseup&quot;,this._onMouseUp,!1),this._container.classList.remove(&quot;mapboxgl-crosshair&quot;),this._box&amp;&amp;(this._box.parentNode.removeChild(this._box),this._box=null),i.enableDrag()},_fireEvent:function(t,e){return this._map.fire(t,{originalEvent:e})}}},{&quot;../../geo/lng_lat_bounds&quot;:331,&quot;../../util/dom&quot;:419,&quot;../../util/util&quot;:433}],405:[function(t,e,r){&quot;use strict&quot;;function n(t){this._map=t,this._onDblClick=this._onDblClick.bind(this)}e.exports=n,n.prototype={_enabled:!1,isEnabled:function(){return this._enabled},enable:function(){this.isEnabled()||(this._map.on(&quot;dblclick&quot;,this._onDblClick),this._enabled=!0)},disable:function(){this.isEnabled()&amp;&amp;(this._map.off(&quot;dblclick&quot;,this._onDblClick),this._enabled=!1)},_onDblClick:function(t){this._map.zoomTo(this._map.getZoom()+(t.originalEvent.shiftKey?-1:1),{around:t.lngLat},t)}}},{}],406:[function(t,e,r){&quot;use strict&quot;;function n(t){this._map=t,this._el=t.getCanvasContainer(),a.bindHandlers(this)}var i=t(&quot;../../util/dom&quot;),a=t(&quot;../../util/util&quot;);e.exports=n;var o=a.bezier(0,0,.3,1);n.prototype={_enabled:!1,_active:!1,isEnabled:function(){return this._enabled},isActive:function(){return this._active},enable:function(){this.isEnabled()||(this._el.addEventListener(&quot;mousedown&quot;,this._onDown),this._el.addEventListener(&quot;touchstart&quot;,this._onDown),this._enabled=!0)},disable:function(){this.isEnabled()&amp;&amp;(this._el.removeEventListener(&quot;mousedown&quot;,this._onDown),this._el.removeEventListener(&quot;touchstart&quot;,this._onDown),this._enabled=!1)},_onDown:function(t){this._ignoreEvent(t)||this.isActive()||(t.touches?(document.addEventListener(&quot;touchmove&quot;,this._onMove),document.addEventListener(&quot;touchend&quot;,this._onTouchEnd)):(document.addEventListener(&quot;mousemove&quot;,this._onMove),document.addEventListener(&quot;mouseup&quot;,this._onMouseUp)),this._active=!1,this._startPos=this._pos=i.mousePos(this._el,t),this._inertia=[[Date.now(),this._pos]])},_onMove:function(t){if(!this._ignoreEvent(t)){this.isActive()||(this._active=!0,this._fireEvent(&quot;dragstart&quot;,t),this._fireEvent(&quot;movestart&quot;,t));var e=i.mousePos(this._el,t),r=this._map;r.stop(),this._drainInertiaBuffer(),this._inertia.push([Date.now(),e]),r.transform.setLocationAtPoint(r.transform.pointLocation(this._pos),e),this._fireEvent(&quot;drag&quot;,t),this._fireEvent(&quot;move&quot;,t),this._pos=e,t.preventDefault()}},_onUp:function(t){if(this.isActive()){this._active=!1,this._fireEvent(&quot;dragend&quot;,t),this._drainInertiaBuffer();var e=function(){this._fireEvent(&quot;moveend&quot;,t)}.bind(this),r=this._inertia;if(r.length&lt;2)e();else{var n=r[r.length-1],i=r[0],a=n[1].sub(i[1]),s=(n[0]-i[0])/1e3;if(0===s||n[1].equals(i[1]))e();else{var l=a.mult(.3/s),c=l.mag();c&gt;1400&amp;&amp;(c=1400,l._unit()._mult(c));var u=c/750,f=l.mult(-u/2);this._map.panBy(f,{duration:1e3*u,easing:o,noMoveStart:!0},{originalEvent:t})}}}},_onMouseUp:function(t){this._ignoreEvent(t)||(this._onUp(t),document.removeEventListener(&quot;mousemove&quot;,this._onMove),document.removeEventListener(&quot;mouseup&quot;,this._onMouseUp))},_onTouchEnd:function(t){this._ignoreEvent(t)||(this._onUp(t),document.removeEventListener(&quot;touchmove&quot;,this._onMove),document.removeEventListener(&quot;touchend&quot;,this._onTouchEnd))},_fireEvent:function(t,e){return this._map.fire(t,{originalEvent:e})},_ignoreEvent:function(t){var e=this._map;if(e.boxZoom&amp;&amp;e.boxZoom.isActive())return!0;if(e.dragRotate&amp;&amp;e.dragRotate.isActive())return!0;if(t.touches)return t.touches.length&gt;1;if(t.ctrlKey)return!0;return&quot;mousemove&quot;===t.type?!1&amp;t.buttons:0!==t.button},_drainInertiaBuffer:function(){for(var t=this._inertia,e=Date.now();t.length&gt;0&amp;&amp;e-t[0][0]&gt;160;)t.shift()}}},{&quot;../../util/dom&quot;:419,&quot;../../util/util&quot;:433}],407:[function(t,e,r){&quot;use strict&quot;;function n(t,e){this._map=t,this._el=t.getCanvasContainer(),this._bearingSnap=e.bearingSnap,o.bindHandlers(this)}var i=t(&quot;../../util/dom&quot;),a=t(&quot;point-geometry&quot;),o=t(&quot;../../util/util&quot;);e.exports=n;var s=o.bezier(0,0,.25,1);n.prototype={_enabled:!1,_active:!1,isEnabled:function(){return this._enabled},isActive:function(){return this._active},enable:function(){this.isEnabled()||(this._el.addEventListener(&quot;mousedown&quot;,this._onDown),this._enabled=!0)},disable:function(){this.isEnabled()&amp;&amp;(this._el.removeEventListener(&quot;mousedown&quot;,this._onDown),this._enabled=!1)},_onDown:function(t){if(!this._ignoreEvent(t)&amp;&amp;!this.isActive()){document.addEventListener(&quot;mousemove&quot;,this._onMove),document.addEventListener(&quot;mouseup&quot;,this._onUp),this._active=!1,this._inertia=[[Date.now(),this._map.getBearing()]],this._startPos=this._pos=i.mousePos(this._el,t),this._center=this._map.transform.centerPoint;var e=this._startPos.sub(this._center);e.mag()&lt;200&amp;&amp;(this._center=this._startPos.add(new a(-200,0)._rotate(e.angle()))),t.preventDefault()}},_onMove:function(t){if(!this._ignoreEvent(t)){this.isActive()||(this._active=!0,this._fireEvent(&quot;rotatestart&quot;,t),this._fireEvent(&quot;movestart&quot;,t));var e=this._map;e.stop();var r=this._pos,n=i.mousePos(this._el,t),a=this._center,o=r.sub(a).angleWith(n.sub(a))/Math.PI*180,s=e.getBearing()-o,l=this._inertia,c=l[l.length-1];this._drainInertiaBuffer(),l.push([Date.now(),e._normalizeBearing(s,c[1])]),e.transform.bearing=s,this._fireEvent(&quot;rotate&quot;,t),this._fireEvent(&quot;move&quot;,t),this._pos=n}},_onUp:function(t){if(!this._ignoreEvent(t)&amp;&amp;(document.removeEventListener(&quot;mousemove&quot;,this._onMove),document.removeEventListener(&quot;mouseup&quot;,this._onUp),this.isActive())){this._active=!1,this._fireEvent(&quot;rotateend&quot;,t),this._drainInertiaBuffer();var e=this._map,r=e.getBearing(),n=this._inertia,i=function(){Math.abs(r)&lt;this._bearingSnap?e.resetNorth({noMoveStart:!0},{originalEvent:t}):this._fireEvent(&quot;moveend&quot;,t)}.bind(this);if(n.length&lt;2)i();else{var a=n[0],o=n[n.length-1],l=n[n.length-2],c=e._normalizeBearing(r,l[1]),u=o[1]-a[1],f=u&lt;0?-1:1,h=(o[0]-a[0])/1e3;if(0!==u&amp;&amp;0!==h){var d=Math.abs(u*(.25/h));d&gt;180&amp;&amp;(d=180);var p=d/180;c+=f*d*(p/2),Math.abs(e._normalizeBearing(c,0))&lt;this._bearingSnap&amp;&amp;(c=e._normalizeBearing(0,c)),e.rotateTo(c,{duration:1e3*p,easing:s,noMoveStart:!0},{originalEvent:t})}else i()}}},_fireEvent:function(t,e){return this._map.fire(t,{originalEvent:e})},_ignoreEvent:function(t){var e=this._map;if(e.boxZoom&amp;&amp;e.boxZoom.isActive())return!0;if(e.dragPan&amp;&amp;e.dragPan.isActive())return!0;if(t.touches)return t.touches.length&gt;1;var r=t.ctrlKey?1:2,n=t.ctrlKey?0:2;return&quot;mousemove&quot;===t.type?t.buttons&amp;0===r:t.button!==n},_drainInertiaBuffer:function(){for(var t=this._inertia,e=Date.now();t.length&gt;0&amp;&amp;e-t[0][0]&gt;160;)t.shift()}}},{&quot;../../util/dom&quot;:419,&quot;../../util/util&quot;:433,&quot;point-geometry&quot;:477}],408:[function(t,e,r){&quot;use strict&quot;;function n(t){this._map=t,this._el=t.getCanvasContainer(),this._onKeyDown=this._onKeyDown.bind(this)}e.exports=n;n.prototype={_enabled:!1,isEnabled:function(){return this._enabled},enable:function(){this.isEnabled()||(this._el.addEventListener(&quot;keydown&quot;,this._onKeyDown,!1),this._enabled=!0)},disable:function(){this.isEnabled()&amp;&amp;(this._el.removeEventListener(&quot;keydown&quot;,this._onKeyDown),this._enabled=!1)},_onKeyDown:function(t){if(!(t.altKey||t.ctrlKey||t.metaKey)){var e=this._map,r={originalEvent:t};if(!e.isEasing())switch(t.keyCode){case 61:case 107:case 171:case 187:e.zoomTo(Math.round(e.getZoom())+(t.shiftKey?2:1),r);break;case 189:case 109:case 173:e.zoomTo(Math.round(e.getZoom())-(t.shiftKey?2:1),r);break;case 37:t.shiftKey?e.easeTo({bearing:e.getBearing()-2},r):(t.preventDefault(),e.panBy([-80,0],r));break;case 39:t.shiftKey?e.easeTo({bearing:e.getBearing()+2},r):(t.preventDefault(),e.panBy([80,0],r));break;case 38:t.shiftKey?e.easeTo({pitch:e.getPitch()+5},r):(t.preventDefault(),e.panBy([0,-80],r));break;case 40:t.shiftKey?e.easeTo({pitch:Math.max(e.getPitch()-5,0)},r):(t.preventDefault(),e.panBy([0,80],r))}}}}},{}],409:[function(t,e,r){&quot;use strict&quot;;function n(t){this._map=t,this._el=t.getCanvasContainer(),o.bindHandlers(this)}var i=t(&quot;../../util/dom&quot;),a=t(&quot;../../util/browser&quot;),o=t(&quot;../../util/util&quot;);e.exports=n;var s=&quot;undefined&quot;!=typeof navigator?navigator.userAgent.toLowerCase():&quot;&quot;,l=-1!==s.indexOf(&quot;firefox&quot;),c=-1!==s.indexOf(&quot;safari&quot;)&amp;&amp;-1===s.indexOf(&quot;chrom&quot;);n.prototype={_enabled:!1,isEnabled:function(){return this._enabled},enable:function(){this.isEnabled()||(this._el.addEventListener(&quot;wheel&quot;,this._onWheel,!1),this._el.addEventListener(&quot;mousewheel&quot;,this._onWheel,!1),this._enabled=!0)},disable:function(){this.isEnabled()&amp;&amp;(this._el.removeEventListener(&quot;wheel&quot;,this._onWheel),this._el.removeEventListener(&quot;mousewheel&quot;,this._onWheel),this._enabled=!1)},_onWheel:function(t){var e;&quot;wheel&quot;===t.type?(e=t.deltaY,l&amp;&amp;t.deltaMode===window.WheelEvent.DOM_DELTA_PIXEL&amp;&amp;(e/=a.devicePixelRatio),t.deltaMode===window.WheelEvent.DOM_DELTA_LINE&amp;&amp;(e*=40)):&quot;mousewheel&quot;===t.type&amp;&amp;(e=-t.wheelDeltaY,c&amp;&amp;(e/=3));var r=a.now(),n=r-(this._time||0);this._pos=i.mousePos(this._el,t),this._time=r,0!==e&amp;&amp;e%4.000244140625==0?(this._type=&quot;wheel&quot;,e=Math.floor(e/4)):0!==e&amp;&amp;Math.abs(e)&lt;4?this._type=&quot;trackpad&quot;:n&gt;400?(this._type=null,this._lastValue=e,this._timeout=setTimeout(this._onTimeout,40)):this._type||(this._type=Math.abs(n*e)&lt;200?&quot;trackpad&quot;:&quot;wheel&quot;,this._timeout&amp;&amp;(clearTimeout(this._timeout),this._timeout=null,e+=this._lastValue)),t.shiftKey&amp;&amp;e&amp;&amp;(e/=4),this._type&amp;&amp;this._zoom(-e,t),t.preventDefault()},_onTimeout:function(){this._type=&quot;wheel&quot;,this._zoom(-this._lastValue)},_zoom:function(t,e){if(0!==t){var r=this._map,n=2/(1+Math.exp(-Math.abs(t/100)));t&lt;0&amp;&amp;0!==n&amp;&amp;(n=1/n);var i=r.ease?r.ease.to:r.transform.scale,a=r.transform.scaleZoom(i*n);r.zoomTo(a,{duration:0,around:r.unproject(this._pos),delayEndEvents:200},{originalEvent:e})}}}},{&quot;../../util/browser&quot;:417,&quot;../../util/dom&quot;:419,&quot;../../util/util&quot;:433}],410:[function(t,e,r){&quot;use strict&quot;;function n(t){this._map=t,this._el=t.getCanvasContainer(),a.bindHandlers(this)}var i=t(&quot;../../util/dom&quot;),a=t(&quot;../../util/util&quot;);e.exports=n;var o=a.bezier(0,0,.15,1);n.prototype={_enabled:!1,isEnabled:function(){return this._enabled},enable:function(){this.isEnabled()||(this._el.addEventListener(&quot;touchstart&quot;,this._onStart,!1),this._enabled=!0)},disable:function(){this.isEnabled()&amp;&amp;(this._el.removeEventListener(&quot;touchstart&quot;,this._onStart),this._enabled=!1)},disableRotation:function(){this._rotationDisabled=!0},enableRotation:function(){this._rotationDisabled=!1},_onStart:function(t){if(2===t.touches.length){var e=i.mousePos(this._el,t.touches[0]),r=i.mousePos(this._el,t.touches[1]);this._startVec=e.sub(r),this._startScale=this._map.transform.scale,this._startBearing=this._map.transform.bearing,this._gestureIntent=void 0,this._inertia=[],document.addEventListener(&quot;touchmove&quot;,this._onMove,!1),document.addEventListener(&quot;touchend&quot;,this._onEnd,!1)}},_onMove:function(t){if(2===t.touches.length){var e=i.mousePos(this._el,t.touches[0]),r=i.mousePos(this._el,t.touches[1]),n=e.add(r).div(2),a=e.sub(r),o=a.mag()/this._startVec.mag(),s=this._rotationDisabled?0:180*a.angleWith(this._startVec)/Math.PI,l=this._map;if(this._gestureIntent){var c={duration:0,around:l.unproject(n)};&quot;rotate&quot;===this._gestureIntent&amp;&amp;(c.bearing=this._startBearing+s),&quot;zoom&quot;!==this._gestureIntent&amp;&amp;&quot;rotate&quot;!==this._gestureIntent||(c.zoom=l.transform.scaleZoom(this._startScale*o)),l.stop(),this._drainInertiaBuffer(),this._inertia.push([Date.now(),o,n]),l.easeTo(c,{originalEvent:t})}else{var u=Math.abs(1-o)&gt;.15;Math.abs(s)&gt;4?this._gestureIntent=&quot;rotate&quot;:u&amp;&amp;(this._gestureIntent=&quot;zoom&quot;),this._gestureIntent&amp;&amp;(this._startVec=a,this._startScale=l.transform.scale,this._startBearing=l.transform.bearing)}t.preventDefault()}},_onEnd:function(t){document.removeEventListener(&quot;touchmove&quot;,this._onMove),document.removeEventListener(&quot;touchend&quot;,this._onEnd),this._drainInertiaBuffer();var e=this._inertia,r=this._map;if(e.length&lt;2)r.snapToNorth({},{originalEvent:t});else{var n=e[e.length-1],i=e[0],a=r.transform.scaleZoom(this._startScale*n[1]),s=r.transform.scaleZoom(this._startScale*i[1]),l=a-s,c=(n[0]-i[0])/1e3,u=n[2];if(0!==c&amp;&amp;a!==s){var f=.15*l/c;Math.abs(f)&gt;2.5&amp;&amp;(f=f&gt;0?2.5:-2.5);var h=1e3*Math.abs(f/(12*.15)),d=a+f*h/2e3;d&lt;0&amp;&amp;(d=0),r.easeTo({zoom:d,duration:h,easing:o,around:r.unproject(u)},{originalEvent:t})}else r.snapToNorth({},{originalEvent:t})}},_drainInertiaBuffer:function(){for(var t=this._inertia,e=Date.now();t.length&gt;2&amp;&amp;e-t[0][0]&gt;160;)t.shift()}}},{&quot;../../util/dom&quot;:419,&quot;../../util/util&quot;:433}],411:[function(t,e,r){&quot;use strict&quot;;function n(){i.bindAll([&quot;_onHashChange&quot;,&quot;_updateHash&quot;],this)}e.exports=n;var i=t(&quot;../util/util&quot;);n.prototype={addTo:function(t){return this._map=t,window.addEventListener(&quot;hashchange&quot;,this._onHashChange,!1),this._map.on(&quot;moveend&quot;,this._updateHash),this},remove:function(){return window.removeEventListener(&quot;hashchange&quot;,this._onHashChange,!1),this._map.off(&quot;moveend&quot;,this._updateHash),delete this._map,this},_onHashChange:function(){var t=location.hash.replace(&quot;#&quot;,&quot;&quot;).split(&quot;/&quot;);return t.length&gt;=3&amp;&amp;(this._map.jumpTo({center:[+t[2],+t[1]],zoom:+t[0],bearing:+(t[3]||0)}),!0)},_updateHash:function(){var t=this._map.getCenter(),e=this._map.getZoom(),r=this._map.getBearing(),n=Math.max(0,Math.ceil(Math.log(e)/Math.LN2)),i=&quot;#&quot;+Math.round(100*e)/100+&quot;/&quot;+t.lat.toFixed(n)+&quot;/&quot;+t.lng.toFixed(n)+(r?&quot;/&quot;+Math.round(10*r)/10:&quot;&quot;);window.history.replaceState(&quot;&quot;,&quot;&quot;,i)}}},{&quot;../util/util&quot;:433}],412:[function(t,e,r){&quot;use strict&quot;;function n(t){t.parentNode&amp;&amp;t.parentNode.removeChild(t)}var i=t(&quot;../util/canvas&quot;),a=t(&quot;../util/util&quot;),o=t(&quot;../util/browser&quot;),s=t(&quot;../util/browser&quot;).window,l=t(&quot;../util/evented&quot;),c=t(&quot;../util/dom&quot;),u=t(&quot;../style/style&quot;),f=t(&quot;../style/animation_loop&quot;),h=t(&quot;../render/painter&quot;),d=t(&quot;../geo/transform&quot;),p=t(&quot;./hash&quot;),m=t(&quot;./bind_handlers&quot;),g=t(&quot;./camera&quot;),v=t(&quot;../geo/lng_lat&quot;),y=t(&quot;../geo/lng_lat_bounds&quot;),x=t(&quot;point-geometry&quot;),b=t(&quot;./control/attribution&quot;),_={center:[0,0],zoom:0,bearing:0,pitch:0,minZoom:0,maxZoom:20,interactive:!0,scrollZoom:!0,boxZoom:!0,dragRotate:!0,dragPan:!0,keyboard:!0,doubleClickZoom:!0,touchZoomRotate:!0,bearingSnap:7,hash:!1,attributionControl:!0,failIfMajorPerformanceCaveat:!1,preserveDrawingBuffer:!1,trackResize:!0,workerCount:Math.max(o.hardwareConcurrency-1,1)},w=e.exports=function(t){if((t=a.extend({},_,t)).workerCount&lt;1)throw new Error(&quot;workerCount must an integer greater than or equal to 1.&quot;);this._interactive=t.interactive,this._failIfMajorPerformanceCaveat=t.failIfMajorPerformanceCaveat,this._preserveDrawingBuffer=t.preserveDrawingBuffer,this._trackResize=t.trackResize,this._workerCount=t.workerCount,this._bearingSnap=t.bearingSnap,&quot;string&quot;==typeof t.container?this._container=document.getElementById(t.container):this._container=t.container,this.animationLoop=new f,this.transform=new d(t.minZoom,t.maxZoom),t.maxBounds&amp;&amp;this.setMaxBounds(t.maxBounds),a.bindAll([&quot;_forwardStyleEvent&quot;,&quot;_forwardSourceEvent&quot;,&quot;_forwardLayerEvent&quot;,&quot;_forwardTileEvent&quot;,&quot;_onStyleLoad&quot;,&quot;_onStyleChange&quot;,&quot;_onSourceAdd&quot;,&quot;_onSourceRemove&quot;,&quot;_onSourceUpdate&quot;,&quot;_onWindowOnline&quot;,&quot;_onWindowResize&quot;,&quot;_update&quot;,&quot;_render&quot;],this),this._setupContainer(),this._setupPainter(),this.on(&quot;move&quot;,this._update.bind(this,!1)),this.on(&quot;zoom&quot;,this._update.bind(this,!0)),this.on(&quot;moveend&quot;,function(){this.animationLoop.set(300),this._rerender()}.bind(this)),void 0!==s&amp;&amp;(s.addEventListener(&quot;online&quot;,this._onWindowOnline,!1),s.addEventListener(&quot;resize&quot;,this._onWindowResize,!1)),m(this,t),this._hash=t.hash&amp;&amp;(new p).addTo(this),this._hash&amp;&amp;this._hash._onHashChange()||this.jumpTo({center:t.center,zoom:t.zoom,bearing:t.bearing,pitch:t.pitch}),this.stacks={},this._classes=[],this.resize(),t.classes&amp;&amp;this.setClasses(t.classes),t.style&amp;&amp;this.setStyle(t.style),t.attributionControl&amp;&amp;this.addControl(new b(t.attributionControl));var e=this.fire.bind(this,&quot;error&quot;);this.on(&quot;style.error&quot;,e),this.on(&quot;source.error&quot;,e),this.on(&quot;tile.error&quot;,e),this.on(&quot;layer.error&quot;,e)};a.extend(w.prototype,l),a.extend(w.prototype,g.prototype),a.extend(w.prototype,{addControl:function(t){return t.addTo(this),this},addClass:function(t,e){return this._classes.indexOf(t)&gt;=0||&quot;&quot;===t?this:(this._classes.push(t),this._classOptions=e,this.style&amp;&amp;this.style.updateClasses(),this._update(!0))},removeClass:function(t,e){var r=this._classes.indexOf(t);return r&lt;0||&quot;&quot;===t?this:(this._classes.splice(r,1),this._classOptions=e,this.style&amp;&amp;this.style.updateClasses(),this._update(!0))},setClasses:function(t,e){for(var r={},n=0;n&lt;t.length;n++)&quot;&quot;!==t[n]&amp;&amp;(r[t[n]]=!0);return this._classes=Object.keys(r),this._classOptions=e,this.style&amp;&amp;this.style.updateClasses(),this._update(!0)},hasClass:function(t){return this._classes.indexOf(t)&gt;=0},getClasses:function(){return this._classes},resize:function(){var t=0,e=0;return this._container&amp;&amp;(t=this._container.offsetWidth||400,e=this._container.offsetHeight||300),this._canvas.resize(t,e),this.transform.resize(t,e),this.painter.resize(t,e),this.fire(&quot;movestart&quot;).fire(&quot;move&quot;).fire(&quot;resize&quot;).fire(&quot;moveend&quot;)},getBounds:function(){var t=new y(this.transform.pointLocation(new x(0,0)),this.transform.pointLocation(this.transform.size));return(this.transform.angle||this.transform.pitch)&amp;&amp;(t.extend(this.transform.pointLocation(new x(this.transform.size.x,0))),t.extend(this.transform.pointLocation(new x(0,this.transform.size.y)))),t},setMaxBounds:function(t){if(t){var e=y.convert(t);this.transform.lngRange=[e.getWest(),e.getEast()],this.transform.latRange=[e.getSouth(),e.getNorth()],this.transform._constrain(),this._update()}else null!==t&amp;&amp;void 0!==t||(this.transform.lngRange=[],this.transform.latRange=[],this._update());return this},setMinZoom:function(t){if((t=null===t||void 0===t?0:t)&gt;=0&amp;&amp;t&lt;=this.transform.maxZoom)return this.transform.minZoom=t,this._update(),this.getZoom()&lt;t&amp;&amp;this.setZoom(t),this;throw new Error(&quot;minZoom must be between 0 and the current maxZoom, inclusive&quot;)},setMaxZoom:function(t){if((t=null===t||void 0===t?20:t)&gt;=this.transform.minZoom&amp;&amp;t&lt;=20)return this.transform.maxZoom=t,this._update(),this.getZoom()&gt;t&amp;&amp;this.setZoom(t),this;throw new Error(&quot;maxZoom must be between the current minZoom and 20, inclusive&quot;)},project:function(t){return this.transform.locationPoint(v.convert(t))},unproject:function(t){return this.transform.pointLocation(x.convert(t))},queryRenderedFeatures:function(){var t,e={};return 2===arguments.length?(t=arguments[0],e=arguments[1]):1===arguments.length&amp;&amp;function(t){return t instanceof x||Array.isArray(t)}(arguments[0])?t=arguments[0]:1===arguments.length&amp;&amp;(e=arguments[0]),this.style.queryRenderedFeatures(this._makeQueryGeometry(t),e,this.transform.zoom,this.transform.angle)},_makeQueryGeometry:function(t){void 0===t&amp;&amp;(t=[x.convert([0,0]),x.convert([this.transform.width,this.transform.height])]);var e;if(t instanceof x||&quot;number&quot;==typeof t[0]){e=[x.convert(t)]}else{var r=[x.convert(t[0]),x.convert(t[1])];e=[r[0],new x(r[1].x,r[0].y),r[1],new x(r[0].x,r[1].y),r[0]]}return e=e.map(function(t){return this.transform.pointCoordinate(t)}.bind(this))},querySourceFeatures:function(t,e){return this.style.querySourceFeatures(t,e)},setStyle:function(t){return this.style&amp;&amp;(this.style.off(&quot;load&quot;,this._onStyleLoad).off(&quot;error&quot;,this._forwardStyleEvent).off(&quot;change&quot;,this._onStyleChange).off(&quot;source.add&quot;,this._onSourceAdd).off(&quot;source.remove&quot;,this._onSourceRemove).off(&quot;source.load&quot;,this._onSourceUpdate).off(&quot;source.error&quot;,this._forwardSourceEvent).off(&quot;source.change&quot;,this._onSourceUpdate).off(&quot;layer.add&quot;,this._forwardLayerEvent).off(&quot;layer.remove&quot;,this._forwardLayerEvent).off(&quot;layer.error&quot;,this._forwardLayerEvent).off(&quot;tile.add&quot;,this._forwardTileEvent).off(&quot;tile.remove&quot;,this._forwardTileEvent).off(&quot;tile.load&quot;,this._update).off(&quot;tile.error&quot;,this._forwardTileEvent).off(&quot;tile.stats&quot;,this._forwardTileEvent)._remove(),this.off(&quot;rotate&quot;,this.style._redoPlacement),this.off(&quot;pitch&quot;,this.style._redoPlacement)),t?(this.style=t instanceof u?t:new u(t,this.animationLoop,this._workerCount),this.style.on(&quot;load&quot;,this._onStyleLoad).on(&quot;error&quot;,this._forwardStyleEvent).on(&quot;change&quot;,this._onStyleChange).on(&quot;source.add&quot;,this._onSourceAdd).on(&quot;source.remove&quot;,this._onSourceRemove).on(&quot;source.load&quot;,this._onSourceUpdate).on(&quot;source.error&quot;,this._forwardSourceEvent).on(&quot;source.change&quot;,this._onSourceUpdate).on(&quot;layer.add&quot;,this._forwardLayerEvent).on(&quot;layer.remove&quot;,this._forwardLayerEvent).on(&quot;layer.error&quot;,this._forwardLayerEvent).on(&quot;tile.add&quot;,this._forwardTileEvent).on(&quot;tile.remove&quot;,this._forwardTileEvent).on(&quot;tile.load&quot;,this._update).on(&quot;tile.error&quot;,this._forwardTileEvent).on(&quot;tile.stats&quot;,this._forwardTileEvent),this.on(&quot;rotate&quot;,this.style._redoPlacement),this.on(&quot;pitch&quot;,this.style._redoPlacement),this):(this.style=null,this)},getStyle:function(){if(this.style)return this.style.serialize()},addSource:function(t,e){return this.style.addSource(t,e),this._update(!0),this},addSourceType:function(t,e,r){return this.style.addSourceType(t,e,r)},removeSource:function(t){return this.style.removeSource(t),this._update(!0),this},getSource:function(t){return this.style.getSource(t)},addLayer:function(t,e){return this.style.addLayer(t,e),this._update(!0),this},removeLayer:function(t){return this.style.removeLayer(t),this._update(!0),this},getLayer:function(t){return this.style.getLayer(t)},setFilter:function(t,e){return this.style.setFilter(t,e),this._update(!0),this},setLayerZoomRange:function(t,e,r){return this.style.setLayerZoomRange(t,e,r),this._update(!0),this},getFilter:function(t){return this.style.getFilter(t)},setPaintProperty:function(t,e,r,n){return this.style.setPaintProperty(t,e,r,n),this._update(!0),this},getPaintProperty:function(t,e,r){return this.style.getPaintProperty(t,e,r)},setLayoutProperty:function(t,e,r){return this.style.setLayoutProperty(t,e,r),this._update(!0),this},getLayoutProperty:function(t,e){return this.style.getLayoutProperty(t,e)},getContainer:function(){return this._container},getCanvasContainer:function(){return this._canvasContainer},getCanvas:function(){return this._canvas.getElement()},_setupContainer:function(){var t=this._container;t.classList.add(&quot;mapboxgl-map&quot;);var e=this._canvasContainer=c.create(&quot;div&quot;,&quot;mapboxgl-canvas-container&quot;,t);this._interactive&amp;&amp;e.classList.add(&quot;mapboxgl-interactive&quot;),this._canvas=new i(this,e);var r=this._controlContainer=c.create(&quot;div&quot;,&quot;mapboxgl-control-container&quot;,t),n=this._controlCorners={};[&quot;top-left&quot;,&quot;top-right&quot;,&quot;bottom-left&quot;,&quot;bottom-right&quot;].forEach(function(t){n[t]=c.create(&quot;div&quot;,&quot;mapboxgl-ctrl-&quot;+t,r)})},_setupPainter:function(){var t=this._canvas.getWebGLContext({failIfMajorPerformanceCaveat:this._failIfMajorPerformanceCaveat,preserveDrawingBuffer:this._preserveDrawingBuffer});t?this.painter=new h(t,this.transform):this.fire(&quot;error&quot;,{error:new Error(&quot;Failed to initialize WebGL&quot;)})},_contextLost:function(t){t.preventDefault(),this._frameId&amp;&amp;o.cancelFrame(this._frameId),this.fire(&quot;webglcontextlost&quot;,{originalEvent:t})},_contextRestored:function(t){this._setupPainter(),this.resize(),this._update(),this.fire(&quot;webglcontextrestored&quot;,{originalEvent:t})},loaded:function(){return!this._styleDirty&amp;&amp;!this._sourcesDirty&amp;&amp;!(!this.style||!this.style.loaded())},_update:function(t){return this.style?(this._styleDirty=this._styleDirty||t,this._sourcesDirty=!0,this._rerender(),this):this},_render:function(){try{this.style&amp;&amp;this._styleDirty&amp;&amp;(this._styleDirty=!1,this.style.update(this._classes,this._classOptions),this._classOptions=null,this.style._recalculate(this.transform.zoom)),this.style&amp;&amp;this._sourcesDirty&amp;&amp;(this._sourcesDirty=!1,this.style._updateSources(this.transform)),this.painter.render(this.style,{debug:this.showTileBoundaries,showOverdrawInspector:this._showOverdrawInspector,vertices:this.vertices,rotating:this.rotating,zooming:this.zooming}),this.fire(&quot;render&quot;),this.loaded()&amp;&amp;!this._loaded&amp;&amp;(this._loaded=!0,this.fire(&quot;load&quot;)),this._frameId=null,this.animationLoop.stopped()||(this._styleDirty=!0),(this._sourcesDirty||this._repaint||this._styleDirty)&amp;&amp;this._rerender()}catch(t){this.fire(&quot;error&quot;,{error:t})}return this},remove:function(){this._hash&amp;&amp;this._hash.remove(),o.cancelFrame(this._frameId),this.setStyle(null),void 0!==s&amp;&amp;s.removeEventListener(&quot;resize&quot;,this._onWindowResize,!1);var t=this.painter.gl.getExtension(&quot;WEBGL_lose_context&quot;);t&amp;&amp;t.loseContext(),n(this._canvasContainer),n(this._controlContainer),this._container.classList.remove(&quot;mapboxgl-map&quot;)},_rerender:function(){this.style&amp;&amp;!this._frameId&amp;&amp;(this._frameId=o.frame(this._render))},_forwardStyleEvent:function(t){this.fire(&quot;style.&quot;+t.type,a.extend({style:t.target},t))},_forwardSourceEvent:function(t){this.fire(t.type,a.extend({style:t.target},t))},_forwardLayerEvent:function(t){this.fire(t.type,a.extend({style:t.target},t))},_forwardTileEvent:function(t){this.fire(t.type,a.extend({style:t.target},t))},_onStyleLoad:function(t){this.transform.unmodified&amp;&amp;this.jumpTo(this.style.stylesheet),this.style.update(this._classes,{transition:!1}),this._forwardStyleEvent(t)},_onStyleChange:function(t){this._update(!0),this._forwardStyleEvent(t)},_onSourceAdd:function(t){var e=t.source;e.onAdd&amp;&amp;e.onAdd(this),this._forwardSourceEvent(t)},_onSourceRemove:function(t){var e=t.source;e.onRemove&amp;&amp;e.onRemove(this),this._forwardSourceEvent(t)},_onSourceUpdate:function(t){this._update(),this._forwardSourceEvent(t)},_onWindowOnline:function(){this._update()},_onWindowResize:function(){this._trackResize&amp;&amp;this.stop().resize()._update()}}),a.extendAll(w.prototype,{_showTileBoundaries:!1,get showTileBoundaries(){return this._showTileBoundaries},set showTileBoundaries(t){this._showTileBoundaries!==t&amp;&amp;(this._showTileBoundaries=t,this._update())},_showCollisionBoxes:!1,get showCollisionBoxes(){return this._showCollisionBoxes},set showCollisionBoxes(t){this._showCollisionBoxes!==t&amp;&amp;(this._showCollisionBoxes=t,this.style._redoPlacement())},_showOverdrawInspector:!1,get showOverdrawInspector(){return this._showOverdrawInspector},set showOverdrawInspector(t){this._showOverdrawInspector!==t&amp;&amp;(this._showOverdrawInspector=t,this._update())},_repaint:!1,get repaint(){return this._repaint},set repaint(t){this._repaint=t,this._update()},_vertices:!1,get vertices(){return this._vertices},set vertices(t){this._vertices=t,this._update()}})},{&quot;../geo/lng_lat&quot;:330,&quot;../geo/lng_lat_bounds&quot;:331,&quot;../geo/transform&quot;:332,&quot;../render/painter&quot;:346,&quot;../style/animation_loop&quot;:366,&quot;../style/style&quot;:369,&quot;../util/browser&quot;:417,&quot;../util/canvas&quot;:418,&quot;../util/dom&quot;:419,&quot;../util/evented&quot;:425,&quot;../util/util&quot;:433,&quot;./bind_handlers&quot;:398,&quot;./camera&quot;:399,&quot;./control/attribution&quot;:400,&quot;./hash&quot;:411,&quot;point-geometry&quot;:477}],413:[function(t,e,r){&quot;use strict&quot;;function n(t,e){t||(t=i.create(&quot;div&quot;)),t.classList.add(&quot;mapboxgl-marker&quot;),this._el=t,this._offset=o.convert(e&amp;&amp;e.offset||[0,0]),this._update=this._update.bind(this)}e.exports=n;var i=t(&quot;../util/dom&quot;),a=t(&quot;../geo/lng_lat&quot;),o=t(&quot;point-geometry&quot;);n.prototype={addTo:function(t){return this.remove(),this._map=t,t.getCanvasContainer().appendChild(this._el),t.on(&quot;move&quot;,this._update),this._update(),this},remove:function(){this._map&amp;&amp;(this._map.off(&quot;move&quot;,this._update),this._map=null);var t=this._el.parentNode;return t&amp;&amp;t.removeChild(this._el),this},getLngLat:function(){return this._lngLat},setLngLat:function(t){return this._lngLat=a.convert(t),this._update(),this},getElement:function(){return this._el},_update:function(){if(this._map){var t=this._map.project(this._lngLat)._add(this._offset);i.setTransform(this._el,&quot;translate(&quot;+t.x+&quot;px,&quot;+t.y+&quot;px)&quot;)}}}},{&quot;../geo/lng_lat&quot;:330,&quot;../util/dom&quot;:419,&quot;point-geometry&quot;:477}],414:[function(t,e,r){&quot;use strict&quot;;function n(t){i.setOptions(this,t),i.bindAll([&quot;_update&quot;,&quot;_onClickClose&quot;],this)}e.exports=n;var i=t(&quot;../util/util&quot;),a=t(&quot;../util/evented&quot;),o=t(&quot;../util/dom&quot;),s=t(&quot;../geo/lng_lat&quot;);n.prototype=i.inherit(a,{options:{closeButton:!0,closeOnClick:!0},addTo:function(t){return this._map=t,this._map.on(&quot;move&quot;,this._update),this.options.closeOnClick&amp;&amp;this._map.on(&quot;click&quot;,this._onClickClose),this._update(),this},remove:function(){return this._content&amp;&amp;this._content.parentNode&amp;&amp;this._content.parentNode.removeChild(this._content),this._container&amp;&amp;(this._container.parentNode.removeChild(this._container),delete this._container),this._map&amp;&amp;(this._map.off(&quot;move&quot;,this._update),this._map.off(&quot;click&quot;,this._onClickClose),delete this._map),this.fire(&quot;close&quot;),this},getLngLat:function(){return this._lngLat},setLngLat:function(t){return this._lngLat=s.convert(t),this._update(),this},setText:function(t){return this.setDOMContent(document.createTextNode(t))},setHTML:function(t){var e,r=document.createDocumentFragment(),n=document.createElement(&quot;body&quot;);for(n.innerHTML=t;e=n.firstChild;)r.appendChild(e);return this.setDOMContent(r)},setDOMContent:function(t){return this._createContent(),this._content.appendChild(t),this._update(),this},_createContent:function(){this._content&amp;&amp;this._content.parentNode&amp;&amp;this._content.parentNode.removeChild(this._content),this._content=o.create(&quot;div&quot;,&quot;mapboxgl-popup-content&quot;,this._container),this.options.closeButton&amp;&amp;(this._closeButton=o.create(&quot;button&quot;,&quot;mapboxgl-popup-close-button&quot;,this._content),this._closeButton.type=&quot;button&quot;,this._closeButton.innerHTML=&quot;&amp;#215;&quot;,this._closeButton.addEventListener(&quot;click&quot;,this._onClickClose))},_update:function(){if(this._map&amp;&amp;this._lngLat&amp;&amp;this._content){this._container||(this._container=o.create(&quot;div&quot;,&quot;mapboxgl-popup&quot;,this._map.getContainer()),this._tip=o.create(&quot;div&quot;,&quot;mapboxgl-popup-tip&quot;,this._container),this._container.appendChild(this._content));var t=this._map.project(this._lngLat).round(),e=this.options.anchor;if(!e){var r=this._container.offsetWidth,n=this._container.offsetHeight;e=t.y&lt;n?[&quot;top&quot;]:t.y&gt;this._map.transform.height-n?[&quot;bottom&quot;]:[],t.x&lt;r/2?e.push(&quot;left&quot;):t.x&gt;this._map.transform.width-r/2&amp;&amp;e.push(&quot;right&quot;),e=0===e.length?&quot;bottom&quot;:e.join(&quot;-&quot;)}var i={top:&quot;translate(-50%,0)&quot;,&quot;top-left&quot;:&quot;translate(0,0)&quot;,&quot;top-right&quot;:&quot;translate(-100%,0)&quot;,bottom:&quot;translate(-50%,-100%)&quot;,&quot;bottom-left&quot;:&quot;translate(0,-100%)&quot;,&quot;bottom-right&quot;:&quot;translate(-100%,-100%)&quot;,left:&quot;translate(0,-50%)&quot;,right:&quot;translate(-100%,-50%)&quot;},a=this._container.classList;for(var s in i)a.remove(&quot;mapboxgl-popup-anchor-&quot;+s);a.add(&quot;mapboxgl-popup-anchor-&quot;+e),o.setTransform(this._container,i[e]+&quot; translate(&quot;+t.x+&quot;px,&quot;+t.y+&quot;px)&quot;)}},_onClickClose:function(){this.remove()}})},{&quot;../geo/lng_lat&quot;:330,&quot;../util/dom&quot;:419,&quot;../util/evented&quot;:425,&quot;../util/util&quot;:433}],415:[function(t,e,r){&quot;use strict&quot;;function n(t,e){this.target=t,this.parent=e,this.callbacks={},this.callbackID=0,this.receive=this.receive.bind(this),this.target.addEventListener(&quot;message&quot;,this.receive,!1)}e.exports=n,n.prototype.receive=function(t){function e(t,e,r){this.postMessage({type:&quot;&lt;response&gt;&quot;,id:String(i),error:t?String(t):null,data:e},r)}var r,n=t.data,i=n.id;if(&quot;&lt;response&gt;&quot;===n.type)r=this.callbacks[n.id],delete this.callbacks[n.id],r&amp;&amp;r(n.error||null,n.data);else if(void 0!==n.id&amp;&amp;this.parent[n.type])this.parent[n.type](n.data,e.bind(this));else if(void 0!==n.id&amp;&amp;this.parent.workerSources){var a=n.type.split(&quot;.&quot;);this.parent.workerSources[a[0]][a[1]](n.data,e.bind(this))}else this.parent[n.type](n.data)},n.prototype.send=function(t,e,r,n){var i=null;r&amp;&amp;(this.callbacks[i=this.callbackID++]=r),this.postMessage({type:t,id:String(i),data:e},n)},n.prototype.postMessage=function(t,e){this.target.postMessage(t,e)}},{}],416:[function(t,e,r){&quot;use strict&quot;;function n(t){var e=document.createElement(&quot;a&quot;);return e.href=t,e.protocol===document.location.protocol&amp;&amp;e.host===document.location.host}r.getJSON=function(t,e){var r=new XMLHttpRequest;return r.open(&quot;GET&quot;,t,!0),r.setRequestHeader(&quot;Accept&quot;,&quot;application/json&quot;),r.onerror=function(t){e(t)},r.onload=function(){if(r.status&gt;=200&amp;&amp;r.status&lt;300&amp;&amp;r.response){var t;try{t=JSON.parse(r.response)}catch(t){return e(t)}e(null,t)}else e(new Error(r.statusText))},r.send(),r},r.getArrayBuffer=function(t,e){var r=new XMLHttpRequest;return r.open(&quot;GET&quot;,t,!0),r.responseType=&quot;arraybuffer&quot;,r.onerror=function(t){e(t)},r.onload=function(){r.status&gt;=200&amp;&amp;r.status&lt;300&amp;&amp;r.response?e(null,r.response):e(new Error(r.statusText))},r.send(),r},r.getImage=function(t,e){return r.getArrayBuffer(t,function(t,r){if(t)return e(t);var n=new Image;n.onload=function(){e(null,n),(window.URL||window.webkitURL).revokeObjectURL(n.src)};var i=new Blob([new Uint8Array(r)],{type:&quot;image/png&quot;});return n.src=(window.URL||window.webkitURL).createObjectURL(i),n.getData=function(){var t=document.createElement(&quot;canvas&quot;),e=t.getContext(&quot;2d&quot;);return t.width=n.width,t.height=n.height,e.drawImage(n,0,0),e.getImageData(0,0,n.width,n.height).data},n})},r.getVideo=function(t,e){var r=document.createElement(&quot;video&quot;);r.onloadstart=function(){e(null,r)};for(var i=0;i&lt;t.length;i++){var a=document.createElement(&quot;source&quot;);n(t[i])||(r.crossOrigin=&quot;Anonymous&quot;),a.src=t[i],r.appendChild(a)}return r.getData=function(){return r},r}},{}],417:[function(t,e,r){&quot;use strict&quot;;r.window=window,e.exports.now=window.performance&amp;&amp;window.performance.now?window.performance.now.bind(window.performance):Date.now.bind(Date);var n=window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||window.msRequestAnimationFrame;r.frame=function(t){return n(t)};var i=window.cancelAnimationFrame||window.mozCancelAnimationFrame||window.webkitCancelAnimationFrame||window.msCancelAnimationFrame;r.cancelFrame=function(t){i(t)},r.timed=function(t,n,i){function a(l){o||((l=e.exports.now())&gt;=s+n?t.call(i,1):(t.call(i,(l-s)/n),r.frame(a)))}if(!n)return t.call(i,1),null;var o=!1,s=e.exports.now();return r.frame(a),function(){o=!0}},r.supported=t(&quot;mapbox-gl-supported&quot;),r.hardwareConcurrency=navigator.hardwareConcurrency||4,Object.defineProperty(r,&quot;devicePixelRatio&quot;,{get:function(){return window.devicePixelRatio}}),r.supportsWebp=!1;var a=document.createElement(&quot;img&quot;);a.onload=function(){r.supportsWebp=!0},a.src=&quot;data:image/webp;base64,UklGRh4AAABXRUJQVlA4TBEAAAAvAQAAAAfQ//73v/+BiOh/AAA=&quot;,r.supportsGeolocation=!!navigator.geolocation},{&quot;mapbox-gl-supported&quot;:318}],418:[function(t,e,r){&quot;use strict&quot;;function n(t,e){this.canvas=document.createElement(&quot;canvas&quot;),t&amp;&amp;e&amp;&amp;(this.canvas.style.position=&quot;absolute&quot;,this.canvas.classList.add(&quot;mapboxgl-canvas&quot;),this.canvas.addEventListener(&quot;webglcontextlost&quot;,t._contextLost.bind(t),!1),this.canvas.addEventListener(&quot;webglcontextrestored&quot;,t._contextRestored.bind(t),!1),this.canvas.setAttribute(&quot;tabindex&quot;,0),e.appendChild(this.canvas))}var i=t(&quot;../util&quot;),a=t(&quot;mapbox-gl-supported&quot;);e.exports=n,n.prototype.resize=function(t,e){var r=window.devicePixelRatio||1;this.canvas.width=r*t,this.canvas.height=r*e,this.canvas.style.width=t+&quot;px&quot;,this.canvas.style.height=e+&quot;px&quot;},n.prototype.getWebGLContext=function(t){return t=i.extend({},t,a.webGLContextAttributes),this.canvas.getContext(&quot;webgl&quot;,t)||this.canvas.getContext(&quot;experimental-webgl&quot;,t)},n.prototype.getElement=function(){return this.canvas}},{&quot;../util&quot;:433,&quot;mapbox-gl-supported&quot;:318}],419:[function(t,e,r){&quot;use strict&quot;;function n(t){for(var e=0;e&lt;t.length;e++)if(t[e]in s)return t[e]}function i(t){t.preventDefault(),t.stopPropagation(),window.removeEventListener(&quot;click&quot;,i,!0)}var a=t(&quot;point-geometry&quot;);r.create=function(t,e,r){var n=document.createElement(t);return e&amp;&amp;(n.className=e),r&amp;&amp;r.appendChild(n),n};var o,s=document.documentElement.style,l=n([&quot;userSelect&quot;,&quot;MozUserSelect&quot;,&quot;WebkitUserSelect&quot;,&quot;msUserSelect&quot;]);r.disableDrag=function(){l&amp;&amp;(o=s[l],s[l]=&quot;none&quot;)},r.enableDrag=function(){l&amp;&amp;(s[l]=o)};var c=n([&quot;transform&quot;,&quot;WebkitTransform&quot;]);r.setTransform=function(t,e){t.style[c]=e},r.suppressClick=function(){window.addEventListener(&quot;click&quot;,i,!0),window.setTimeout(function(){window.removeEventListener(&quot;click&quot;,i,!0)},0)},r.mousePos=function(t,e){var r=t.getBoundingClientRect();return e=e.touches?e.touches[0]:e,new a(e.clientX-r.left-t.clientLeft,e.clientY-r.top-t.clientTop)},r.touchPos=function(t,e){for(var r=t.getBoundingClientRect(),n=[],i=0;i&lt;e.touches.length;i++)n.push(new a(e.touches[i].clientX-r.left-t.clientLeft,e.touches[i].clientY-r.top-t.clientTop));return n}},{&quot;point-geometry&quot;:477}],420:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;webworkify&quot;);e.exports=function(){return new n(t(&quot;../../source/worker&quot;))}},{&quot;../../source/worker&quot;:364,webworkify:578}],421:[function(t,e,r){&quot;use strict&quot;;function n(t,e){return e.area-t.area}var i=t(&quot;quickselect&quot;);e.exports=function(t,e){var r=t.length;if(r&lt;=1)return[t];for(var a,o,s=[],l=0;l&lt;r;l++){var c=function(t){for(var e,r,n=0,i=0,a=t.length,o=a-1;i&lt;a;o=i++)e=t[i],n+=((r=t[o]).x-e.x)*(e.y+r.y);return n}(t[l]);0!==c&amp;&amp;(t[l].area=Math.abs(c),void 0===o&amp;&amp;(o=c&lt;0),o===c&lt;0?(a&amp;&amp;s.push(a),a=[t[l]]):a.push(t[l]))}if(a&amp;&amp;s.push(a),e&gt;1)for(var u=0;u&lt;s.length;u++)s[u].length&lt;=e||(i(s[u],e,1,s[u].length-1,n),s[u]=s[u].slice(0,e));return s}},{quickselect:494}],422:[function(t,e,r){&quot;use strict&quot;;e.exports={API_URL:&quot;https://api.mapbox.com&quot;,REQUIRE_ACCESS_TOKEN:!0}},{}],423:[function(t,e,r){&quot;use strict&quot;;function n(t){this._stringToNumber={},this._numberToString=[];for(var e=0;e&lt;t.length;e++){var r=t[e];this._stringToNumber[r]=e,this._numberToString[e]=r}}var i=t(&quot;assert&quot;);e.exports=n,n.prototype.encode=function(t){return i(t in this._stringToNumber),this._stringToNumber[t]},n.prototype.decode=function(t){return i(t&lt;this._numberToString.length),this._numberToString[t]}},{assert:51}],424:[function(t,e,r){&quot;use strict&quot;;function n(t,e){this.actors=[],this.currentActor=0;for(var r=0;r&lt;t;r++){var n=new o,i=new a(n,e);i.name=&quot;Worker &quot;+r,this.actors.push(i)}}var i=t(&quot;./util&quot;),a=t(&quot;./actor&quot;),o=t(&quot;./web_worker&quot;);e.exports=n,n.prototype={broadcast:function(t,e,r){r=r||function(){},i.asyncAll(this.actors,function(r,n){r.send(t,e,n)},r)},send:function(t,e,r,n,i){return(&quot;number&quot;!=typeof n||isNaN(n))&amp;&amp;(n=this.currentActor=(this.currentActor+1)%this.actors.length),this.actors[n].send(t,e,r,i),n},remove:function(){for(var t=0;t&lt;this.actors.length;t++)this.actors[t].target.terminate();this.actors=[]}}},{&quot;./actor&quot;:415,&quot;./util&quot;:433,&quot;./web_worker&quot;:420}],425:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;./util&quot;),i={on:function(t,e){return this._events=this._events||{},this._events[t]=this._events[t]||[],this._events[t].push(e),this},off:function(t,e){if(!t)return delete this._events,this;if(!this.listens(t))return this;if(e){var r=this._events[t].indexOf(e);r&gt;=0&amp;&amp;this._events[t].splice(r,1),this._events[t].length||delete this._events[t]}else delete this._events[t];return this},once:function(t,e){var r=function(n){this.off(t,r),e.call(this,n)}.bind(this);return this.on(t,r),this},fire:function(t,e){if(!this.listens(t))return n.endsWith(t,&quot;error&quot;)&amp;&amp;console.error(e&amp;&amp;e.error||e||&quot;Empty error event&quot;),this;e=n.extend({},e),n.extend(e,{type:t,target:this});for(var r=this._events[t].slice(),i=0;i&lt;r.length;i++)r[i].call(this,e);return this},listens:function(t){return!(!this._events||!this._events[t])}};e.exports=i},{&quot;./util&quot;:433}],426:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r){if(1===t){var n=r.readMessage(i,{glyphs:{}});e.push(n)}}function i(t,e,r){if(1===t)e.name=r.readString();else if(2===t)e.range=r.readString();else if(3===t){var n=r.readMessage(a,{});e.glyphs[n.id]=n}}function a(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&amp;&amp;(e.advance=r.readVarint())}e.exports=function(t,e){this.stacks=t.readFields(n,[],e)}},{}],427:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r){return t*(1-r)+e*r}e.exports=n,n.number=n,n.vec2=function(t,e,r){return[n(t[0],e[0],r),n(t[1],e[1],r)]},n.color=function(t,e,r){return[n(t[0],e[0],r),n(t[1],e[1],r),n(t[2],e[2],r),n(t[3],e[3],r)]},n.array=function(t,e,r){return t.map(function(t,i){return n(t,e[i],r)})}},{}],428:[function(t,e,r){&quot;use strict&quot;;function n(t,e){for(var r=0;r&lt;t.length-1;r++)for(var n=t[r],a=t[r+1],o=0;o&lt;e.length-1;o++){if(function(t,e,r,n){return i(t,r,n)!==i(e,r,n)&amp;&amp;i(t,e,r)!==i(t,e,n)}(n,a,e[o],e[o+1]))return!0}return!1}function i(t,e,r){return(r.y-t.y)*(e.x-t.x)&gt;(e.y-t.y)*(r.x-t.x)}function a(t,e,r){var n=r*r;if(1===e.length)return t.distSqr(e[0])&lt;n;for(var i=1;i&lt;e.length;i++){if(function(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&lt;0?t.distSqr(e):i&gt;1?t.distSqr(r):t.distSqr(r.sub(e)._mult(i)._add(e))}(t,e[i-1],e[i])&lt;n)return!0}return!1}function o(t,e){for(var r,n,i,a=!1,o=0;o&lt;t.length;o++)for(var s=0,l=(r=t[o]).length-1;s&lt;r.length;l=s++)n=r[s],i=r[l],n.y&gt;e.y!=i.y&gt;e.y&amp;&amp;e.x&lt;(i.x-n.x)*(e.y-n.y)/(i.y-n.y)+n.x&amp;&amp;(a=!a);return a}function s(t,e){for(var r=!1,n=0,i=t.length-1;n&lt;t.length;i=n++){var a=t[n],o=t[i];a.y&gt;e.y!=o.y&gt;e.y&amp;&amp;e.x&lt;(o.x-a.x)*(e.y-a.y)/(o.y-a.y)+a.x&amp;&amp;(r=!r)}return r}e.exports={multiPolygonIntersectsBufferedMultiPoint:function(t,e,r){for(var n=0;n&lt;t.length;n++)for(var i=t[n],o=0;o&lt;e.length;o++)for(var l=e[o],c=0;c&lt;l.length;c++){var u=l[c];if(s(i,u))return!0;if(a(u,i,r))return!0}return!1},multiPolygonIntersectsMultiPolygon:function(t,e){if(1===t.length&amp;&amp;1===t[0].length)return o(e,t[0][0]);for(var r=0;r&lt;e.length;r++)for(var i=e[r],a=0;a&lt;i.length;a++)if(o(t,i[a]))return!0;for(var s=0;s&lt;t.length;s++){for(var l=t[s],c=0;c&lt;l.length;c++)if(o(e,l[c]))return!0;for(var u=0;u&lt;e.length;u++)if(n(l,e[u]))return!0}return!1},multiPolygonIntersectsBufferedMultiLine:function(t,e,r){for(var i=0;i&lt;e.length;i++)for(var o=e[i],l=0;l&lt;t.length;l++){var c=t[l];if(c.length&gt;=3)for(var u=0;u&lt;o.length;u++)if(s(c,o[u]))return!0;if(function(t,e,r){if(t.length&gt;1){if(n(t,e))return!0;for(var i=0;i&lt;e.length;i++)if(a(e[i],t,r))return!0}for(var o=0;o&lt;t.length;o++)if(a(t[o],e,r))return!0;return!1}(c,o,r))return!0}return!1}}},{}],429:[function(t,e,r){&quot;use strict&quot;;function n(t,e){this.max=t,this.onRemove=e,this.reset()}e.exports=n,n.prototype.reset=function(){for(var t in this.data)this.onRemove(this.data[t]);return this.data={},this.order=[],this},n.prototype.add=function(t,e){if(this.has(t))this.order.splice(this.order.indexOf(t),1),this.data[t]=e,this.order.push(t);else if(this.data[t]=e,this.order.push(t),this.order.length&gt;this.max){var r=this.get(this.order[0]);r&amp;&amp;this.onRemove(r)}return this},n.prototype.has=function(t){return t in this.data},n.prototype.keys=function(){return this.order},n.prototype.get=function(t){if(!this.has(t))return null;var e=this.data[t];return delete this.data[t],this.order.splice(this.order.indexOf(t),1),e},n.prototype.setMaxSize=function(t){for(this.max=t;this.order.length&gt;this.max;){var e=this.get(this.order[0]);e&amp;&amp;this.onRemove(e)}return this}},{}],430:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r){if(!(r=r||a.ACCESS_TOKEN)&amp;&amp;a.REQUIRE_ACCESS_TOKEN)throw new Error(&quot;An API access token is required to use Mapbox GL. See https://www.mapbox.com/developers/api/#access-tokens&quot;);if(t=t.replace(/^mapbox:\/\//,a.API_URL+e),t+=-1!==t.indexOf(&quot;?&quot;)?&quot;&amp;access_token=&quot;:&quot;?access_token=&quot;,a.REQUIRE_ACCESS_TOKEN){if(&quot;s&quot;===r[0])throw new Error(&quot;Use a public access token (pk.*) with Mapbox GL JS, not a secret access token (sk.*). See https://www.mapbox.com/developers/api/#access-tokens&quot;);t+=r}return t}function i(t){return t?&quot;?&quot;+t:&quot;&quot;}var a=t(&quot;./config&quot;),o=t(&quot;./browser&quot;),s=t(&quot;url&quot;),l=t(&quot;./util&quot;);e.exports.normalizeStyleURL=function(t,e){var r=s.parse(t);return&quot;mapbox:&quot;!==r.protocol?t:n(&quot;mapbox:/&quot;+r.pathname+i(r.query),&quot;/styles/v1/&quot;,e)},e.exports.normalizeSourceURL=function(t,e){return&quot;mapbox:&quot;!==s.parse(t).protocol?t:n(t+&quot;.json&quot;,&quot;/v4/&quot;,e)+&quot;&amp;secure&quot;},e.exports.normalizeGlyphsURL=function(t,e){var r=s.parse(t);if(&quot;mapbox:&quot;!==r.protocol)return t;return n(&quot;mapbox://&quot;+r.pathname.split(&quot;/&quot;)[1]+&quot;/{fontstack}/{range}.pbf&quot;+i(r.query),&quot;/fonts/v1/&quot;,e)},e.exports.normalizeSpriteURL=function(t,e,r,a){var o=s.parse(t);return&quot;mapbox:&quot;!==o.protocol?(o.pathname+=e+r,s.format(o)):n(&quot;mapbox:/&quot;+o.pathname+&quot;/sprite&quot;+e+r+i(o.query),&quot;/styles/v1/&quot;,a)},e.exports.normalizeTileURL=function(t,e,r){var n=s.parse(t,!0);if(!e)return t;if(&quot;mapbox:&quot;!==s.parse(e).protocol)return t;var i=o.supportsWebp?&quot;.webp&quot;:&quot;$1&quot;,c=o.devicePixelRatio&gt;=2||512===r?&quot;@2x&quot;:&quot;&quot;;return s.format({protocol:n.protocol,hostname:n.hostname,pathname:n.pathname.replace(/(\.(?:png|jpg)\d*)/,c+i),query:function(t){return t.access_token&amp;&amp;&quot;tk.&quot;===t.access_token.slice(0,3)?l.extend({},t,{access_token:a.ACCESS_TOKEN}):t}(n.query)})}},{&quot;./browser&quot;:417,&quot;./config&quot;:422,&quot;./util&quot;:433,url:559}],431:[function(t,e,r){&quot;use strict&quot;;function n(){return{members:this.prototype.StructType.prototype.members,alignment:this.prototype.StructType.prototype.alignment,bytesPerElement:this.prototype.bytesPerElement}}function i(t,e){return Math.ceil(t/e)*e}function a(t){return f[t].BYTES_PER_ELEMENT}function o(t){return t.toLowerCase()}function s(t,e){var r=&quot;this._pos&quot;+a(t.type).toFixed(0)+&quot; + &quot;+(t.offset/a(t.type)+e).toFixed(0);return&quot;this._structArray.&quot;+o(t.type)+&quot;[&quot;+r+&quot;]&quot;}function l(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}function c(t){void 0!==t?(this.arrayBuffer=t.arrayBuffer,this.length=t.length,this.capacity=this.arrayBuffer.byteLength/this.bytesPerElement,this._refreshViews()):(this.capacity=-1,this.resize(0))}var u=t(&quot;assert&quot;);e.exports=function(t){function e(){l.apply(this,arguments)}function r(){c.apply(this,arguments),this.members=e.prototype.members}var d=JSON.stringify(t);if(h[d])return h[d];void 0===t.alignment&amp;&amp;(t.alignment=1);var p=0,m=0,g=[&quot;Uint8&quot;];return(e.prototype=Object.create(l.prototype)).members=t.members.map(function(r){r={name:r.name,type:r.type,components:r.components||1},u(r.name.length),u(r.type in f),g.indexOf(r.type)&lt;0&amp;&amp;g.push(r.type);var n=a(r.type);m=Math.max(m,n),r.offset=p=i(p,Math.max(t.alignment,n));for(var o=0;o&lt;r.components;o++)Object.defineProperty(e.prototype,r.name+(1===r.components?&quot;&quot;:o),{get:function(t,e){return new Function([],&quot;return &quot;+s(t,e)+&quot;;&quot;)}(r,o),set:function(t,e){return new Function([&quot;x&quot;],s(t,e)+&quot; = x;&quot;)}(r,o)});return p+=n*r.components,r}),e.prototype.alignment=t.alignment,e.prototype.size=i(p,Math.max(m,t.alignment)),r.serialize=n,r.prototype=Object.create(c.prototype),r.prototype.StructType=e,r.prototype.bytesPerElement=e.prototype.size,r.prototype.emplaceBack=function(t,e){for(var r=[],n=[],i=&quot;var i = this.length;\nthis.resize(this.length + 1);\n&quot;,s=0;s&lt;t.length;s++){var l=t[s],c=a(l.type);r.indexOf(c)&lt;0&amp;&amp;(r.push(c),i+=&quot;var o&quot;+c.toFixed(0)+&quot; = i * &quot;+(e/c).toFixed(0)+&quot;;\n&quot;);for(var u=0;u&lt;l.components;u++){var f=&quot;v&quot;+n.length,h=&quot;o&quot;+c.toFixed(0)+&quot; + &quot;+(l.offset/c+u).toFixed(0);i+=&quot;this.&quot;+o(l.type)+&quot;[&quot;+h+&quot;] = &quot;+f+&quot;;\n&quot;,n.push(f)}}return i+=&quot;return i;&quot;,new Function(n,i)}(e.prototype.members,e.prototype.size),r.prototype._usedTypes=g,h[d]=r,r};var f={Int8:Int8Array,Uint8:Uint8Array,Uint8Clamped:Uint8ClampedArray,Int16:Int16Array,Uint16:Uint16Array,Int32:Int32Array,Uint32:Uint32Array,Float32:Float32Array,Float64:Float64Array},h={};c.prototype.DEFAULT_CAPACITY=128,c.prototype.RESIZE_MULTIPLIER=5,c.prototype.serialize=function(){return this.trim(),{length:this.length,arrayBuffer:this.arrayBuffer}},c.prototype.get=function(t){return new this.StructType(this,t)},c.prototype.trim=function(){this.length!==this.capacity&amp;&amp;(this.capacity=this.length,this.arrayBuffer=this.arrayBuffer.slice(0,this.length*this.bytesPerElement),this._refreshViews())},c.prototype.resize=function(t){if(this.length=t,t&gt;this.capacity){this.capacity=Math.max(t,Math.floor(this.capacity*this.RESIZE_MULTIPLIER),this.DEFAULT_CAPACITY),this.arrayBuffer=new ArrayBuffer(this.capacity*this.bytesPerElement);var e=this.uint8;this._refreshViews(),e&amp;&amp;this.uint8.set(e)}},c.prototype._refreshViews=function(){for(var t=0;t&lt;this._usedTypes.length;t++){var e=this._usedTypes[t];this[o(e)]=new f[e](this.arrayBuffer)}},c.prototype.toArray=function(t,e){for(var r=[],n=t;n&lt;e;n++){var i=this.get(n);r.push(i)}return r}},{assert:51}],432:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t,e){return e.replace(/{([^{}]+)}/g,function(e,r){return r in t?t[r]:&quot;&quot;})}},{}],433:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;unitbezier&quot;),i=t(&quot;../geo/coordinate&quot;);r.easeCubicInOut=function(t){if(t&lt;=0)return 0;if(t&gt;=1)return 1;var e=t*t,r=e*t;return 4*(t&lt;.5?r:3*(t-e)+r-.75)},r.bezier=function(t,e,r,i){var a=new n(t,e,r,i);return function(t){return a.solve(t)}},r.ease=r.bezier(.25,.1,.25,1),r.clamp=function(t,e,r){return Math.min(r,Math.max(e,t))},r.wrap=function(t,e,r){var n=r-e,i=((t-e)%n+n)%n+e;return i===e?r:i},r.coalesce=function(){for(var t=0;t&lt;arguments.length;t++){var e=arguments[t];if(null!==e&amp;&amp;void 0!==e)return e}},r.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&amp;&amp;(a=t),i[o]=e,0==--n&amp;&amp;r(a,i)})})},r.keysDifference=function(t,e){var r=[];for(var n in t)n in e||r.push(n);return r},r.extend=function(t){for(var e=1;e&lt;arguments.length;e++){var r=arguments[e];for(var n in r)t[n]=r[n]}return t},r.extendAll=function(t,e){for(var r in e)Object.defineProperty(t,r,Object.getOwnPropertyDescriptor(e,r));return t},r.inherit=function(t,e){var n=&quot;function&quot;==typeof t?t.prototype:t,i=Object.create(n);return r.extendAll(i,e),i},r.pick=function(t,e){for(var r={},n=0;n&lt;e.length;n++){var i=e[n];i in t&amp;&amp;(r[i]=t[i])}return r};var a=1;r.uniqueId=function(){return a++},r.debounce=function(t,e){var r,n;return function(){n=arguments,clearTimeout(r),r=setTimeout(function(){t.apply(null,n)},e)}},r.bindAll=function(t,e){t.forEach(function(t){e[t]&amp;&amp;(e[t]=e[t].bind(e))})},r.bindHandlers=function(t){for(var e in t)&quot;function&quot;==typeof t[e]&amp;&amp;0===e.indexOf(&quot;_on&quot;)&amp;&amp;(t[e]=t[e].bind(t))},r.setOptions=function(t,e){t.hasOwnProperty(&quot;options&quot;)||(t.options=t.options?Object.create(t.options):{});for(var r in e)t.options[r]=e[r];return t.options},r.getCoordinatesCenter=function(t){for(var e=1/0,r=1/0,n=-1/0,a=-1/0,o=0;o&lt;t.length;o++)e=Math.min(e,t[o].column),r=Math.min(r,t[o].row),n=Math.max(n,t[o].column),a=Math.max(a,t[o].row);var s=n-e,l=a-r,c=Math.max(s,l);return new i((e+n)/2,(r+a)/2,0).zoomTo(Math.floor(-Math.log(c)/Math.LN2))},r.endsWith=function(t,e){return-1!==t.indexOf(e,t.length-e.length)},r.startsWith=function(t,e){return 0===t.indexOf(e)},r.mapObject=function(t,e,r){var n={};for(var i in t)n[i]=e.call(r||this,t[i],i,t);return n},r.filterObject=function(t,e,r){var n={};for(var i in t)e.call(r||this,t[i],i,t)&amp;&amp;(n[i]=t[i]);return n},r.deepEqual=function t(e,r){if(Array.isArray(e)){if(!Array.isArray(r)||e.length!==r.length)return!1;for(var n=0;n&lt;e.length;n++)if(!t(e[n],r[n]))return!1;return!0}if(&quot;object&quot;==typeof e&amp;&amp;null!==e&amp;&amp;null!==r){if(&quot;object&quot;!=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},r.clone=function(t){return Array.isArray(t)?t.map(r.clone):&quot;object&quot;==typeof t?r.mapObject(t,r.clone):t},r.arraysIntersect=function(t,e){for(var r=0;r&lt;t.length;r++)if(e.indexOf(t[r])&gt;=0)return!0;return!1};var o={};r.warnOnce=function(t){o[t]||(&quot;undefined&quot;!=typeof console&amp;&amp;console.warn(t),o[t]=!0)}},{&quot;../geo/coordinate&quot;:329,unitbezier:557}],434:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,n){this._vectorTileFeature=t,t._z=e,t._x=r,t._y=n,this.properties=t.properties,null!=t.id&amp;&amp;(this.id=t.id)}e.exports=n,n.prototype={type:&quot;Feature&quot;,get geometry(){return void 0===this._geometry&amp;&amp;(this._geometry=this._vectorTileFeature.toGeoJSON(this._vectorTileFeature._x,this._vectorTileFeature._y,this._vectorTileFeature._z).geometry),this._geometry},set geometry(t){this._geometry=t},toJSON:function(){var t={};for(var e in this)&quot;_geometry&quot;!==e&amp;&amp;&quot;_vectorTileFeature&quot;!==e&amp;&amp;&quot;toJSON&quot;!==e&amp;&amp;(t[e]=this[e]);return t}}},{}],435:[function(t,e,r){e.exports={_args:[[&quot;mapbox-gl@0.22.1&quot;,&quot;/Users/alex/plotly/plotly.js&quot;]],_from:&quot;mapbox-gl@0.22.1&quot;,_id:&quot;mapbox-gl@0.22.1&quot;,_inBundle:!1,_integrity:&quot;sha1-kqllVH1MLyTCLLxIfu2khpTLYno=&quot;,_location:&quot;/mapbox-gl&quot;,_phantomChildren:{},_requested:{type:&quot;version&quot;,registry:!0,raw:&quot;mapbox-gl@0.22.1&quot;,name:&quot;mapbox-gl&quot;,escapedName:&quot;mapbox-gl&quot;,rawSpec:&quot;0.22.1&quot;,saveSpec:null,fetchSpec:&quot;0.22.1&quot;},_requiredBy:[&quot;/&quot;],_resolved:&quot;https://registry.npmjs.org/mapbox-gl/-/mapbox-gl-0.22.1.tgz&quot;,_spec:&quot;0.22.1&quot;,_where:&quot;/Users/alex/plotly/plotly.js&quot;,browser:{&quot;./js/util/ajax.js&quot;:&quot;./js/util/browser/ajax.js&quot;,&quot;./js/util/browser.js&quot;:&quot;./js/util/browser/browser.js&quot;,&quot;./js/util/canvas.js&quot;:&quot;./js/util/browser/canvas.js&quot;,&quot;./js/util/dom.js&quot;:&quot;./js/util/browser/dom.js&quot;,&quot;./js/util/web_worker.js&quot;:&quot;./js/util/browser/web_worker.js&quot;},bugs:{url:&quot;https://github.com/mapbox/mapbox-gl-js/issues&quot;},dependencies:{csscolorparser:&quot;^1.0.2&quot;,earcut:&quot;^2.0.3&quot;,&quot;feature-filter&quot;:&quot;^2.2.0&quot;,&quot;geojson-rewind&quot;:&quot;^0.1.0&quot;,&quot;geojson-vt&quot;:&quot;^2.4.0&quot;,&quot;gl-matrix&quot;:&quot;^2.3.1&quot;,&quot;grid-index&quot;:&quot;^1.0.0&quot;,&quot;mapbox-gl-function&quot;:&quot;^1.2.1&quot;,&quot;mapbox-gl-shaders&quot;:&quot;github:mapbox/mapbox-gl-shaders#de2ab007455aa2587c552694c68583f94c9f2747&quot;,&quot;mapbox-gl-style-spec&quot;:&quot;github:mapbox/mapbox-gl-style-spec#83b1a3e5837d785af582efd5ed1a212f2df6a4ae&quot;,&quot;mapbox-gl-supported&quot;:&quot;^1.2.0&quot;,pbf:&quot;^1.3.2&quot;,pngjs:&quot;^2.2.0&quot;,&quot;point-geometry&quot;:&quot;^0.0.0&quot;,quickselect:&quot;^1.0.0&quot;,request:&quot;^2.39.0&quot;,&quot;resolve-url&quot;:&quot;^0.2.1&quot;,&quot;shelf-pack&quot;:&quot;^1.0.0&quot;,supercluster:&quot;^2.0.1&quot;,unassertify:&quot;^2.0.0&quot;,unitbezier:&quot;^0.0.0&quot;,&quot;vector-tile&quot;:&quot;^1.3.0&quot;,&quot;vt-pbf&quot;:&quot;^2.0.2&quot;,webworkify:&quot;^1.3.0&quot;,&quot;whoots-js&quot;:&quot;^2.0.0&quot;},description:&quot;A WebGL interactive maps library&quot;,devDependencies:{&quot;babel-preset-react&quot;:&quot;^6.11.1&quot;,babelify:&quot;^7.3.0&quot;,benchmark:&quot;~2.1.0&quot;,browserify:&quot;^13.0.0&quot;,clipboard:&quot;^1.5.12&quot;,&quot;concat-stream&quot;:&quot;1.5.1&quot;,coveralls:&quot;^2.11.8&quot;,doctrine:&quot;^1.2.1&quot;,documentation:&quot;https://github.com/documentationjs/documentation/archive/bb41619c734e59ef3fbc3648610032efcfdaaace.tar.gz&quot;,&quot;documentation-theme-utils&quot;:&quot;3.0.0&quot;,envify:&quot;^3.4.0&quot;,eslint:&quot;^2.5.3&quot;,&quot;eslint-config-mourner&quot;:&quot;^2.0.0&quot;,&quot;eslint-plugin-html&quot;:&quot;^1.5.1&quot;,gl:&quot;^4.0.1&quot;,handlebars:&quot;4.0.5&quot;,&quot;highlight.js&quot;:&quot;9.3.0&quot;,istanbul:&quot;^0.4.2&quot;,&quot;json-loader&quot;:&quot;^0.5.4&quot;,lodash:&quot;^4.13.1&quot;,&quot;mapbox-gl-test-suite&quot;:&quot;github:mapbox/mapbox-gl-test-suite#7babab52fb02788ebbc38384139bf350e8e38552&quot;,&quot;memory-fs&quot;:&quot;^0.3.0&quot;,minifyify:&quot;^7.0.1&quot;,&quot;npm-run-all&quot;:&quot;^3.0.0&quot;,nyc:&quot;6.4.0&quot;,proxyquire:&quot;^1.7.9&quot;,remark:&quot;4.2.2&quot;,&quot;remark-html&quot;:&quot;3.0.0&quot;,sinon:&quot;^1.15.4&quot;,st:&quot;^1.2.0&quot;,tap:&quot;^5.7.0&quot;,&quot;transform-loader&quot;:&quot;^0.2.3&quot;,&quot;unist-util-visit&quot;:&quot;1.1.0&quot;,vinyl:&quot;1.1.1&quot;,&quot;vinyl-fs&quot;:&quot;2.4.3&quot;,watchify:&quot;^3.7.0&quot;,webpack:&quot;^1.13.1&quot;,&quot;webworkify-webpack&quot;:&quot;^1.1.3&quot;},engines:{node:&quot;&gt;=4.0.0&quot;},homepage:&quot;https://github.com/mapbox/mapbox-gl-js#readme&quot;,license:&quot;BSD-3-Clause&quot;,main:&quot;js/mapbox-gl.js&quot;,name:&quot;mapbox-gl&quot;,repository:{type:&quot;git&quot;,url:&quot;git://github.com/mapbox/mapbox-gl-js.git&quot;},scripts:{build:&quot;npm run build-docs # invoked by publisher when publishing docs on the mb-pages branch&quot;,&quot;build-dev&quot;:&quot;browserify js/mapbox-gl.js --debug --standalone mapboxgl &gt; dist/mapbox-gl-dev.js &amp;&amp; tap --no-coverage test/build/dev.test.js&quot;,&quot;build-docs&quot;:&quot;documentation build --github --format html -c documentation.yml --theme ./docs/_theme --output docs/api/&quot;,&quot;build-min&quot;:&quot;browserify js/mapbox-gl.js --debug -t unassertify --plugin [minifyify --map mapbox-gl.js.map --output dist/mapbox-gl.js.map] --standalone mapboxgl &gt; dist/mapbox-gl.js &amp;&amp; tap --no-coverage test/build/min.test.js&quot;,&quot;build-token&quot;:&quot;browserify debug/access-token-src.js --debug -t envify &gt; debug/access-token.js&quot;,lint:&quot;eslint  --ignore-path .gitignore js test bench docs/_posts/examples/*.html&quot;,&quot;open-changed-examples&quot;:&quot;git diff --name-only mb-pages HEAD -- docs/_posts/examples/*.html | awk '{print \&quot;http://127.0.0.1:4000/mapbox-gl-js/example/\&quot; substr($0,33,length($0)-37)}' | xargs open&quot;,start:&quot;run-p build-token watch-dev watch-bench start-server&quot;,&quot;start-bench&quot;:&quot;run-p build-token watch-bench start-server&quot;,&quot;start-debug&quot;:&quot;run-p build-token watch-dev start-server&quot;,&quot;start-docs&quot;:&quot;npm run build-min &amp;&amp; npm run build-docs &amp;&amp; jekyll serve -w&quot;,&quot;start-server&quot;:&quot;st --no-cache --localhost --port 9966 --index index.html .&quot;,test:&quot;npm run lint &amp;&amp; tap --reporter dot test/js/*/*.js test/build/webpack.test.js&quot;,&quot;test-suite&quot;:&quot;node test/render.test.js &amp;&amp; node test/query.test.js&quot;,&quot;watch-bench&quot;:&quot;node bench/download-data.js &amp;&amp; watchify bench/index.js --plugin [minifyify --no-map] -t [babelify --presets react] -t unassertify -t envify -o bench/bench.js -v&quot;,&quot;watch-dev&quot;:&quot;watchify js/mapbox-gl.js --debug --standalone mapboxgl -o dist/mapbox-gl-dev.js -v&quot;},version:&quot;0.22.1&quot;}},{}],436:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r){for(var n=new Array(t),i=0;i&lt;t;++i)n[i]=0,i===e&amp;&amp;(n[i]+=.5),i===r&amp;&amp;(n[i]+=.5);return n}function i(t,e){if(0===e||e===(1&lt;&lt;t+1)-1)return[];for(var r=[],i=[],o=0;o&lt;=t;++o)if(e&amp;1&lt;&lt;o){r.push(n(t,o-1,o-1)),i.push(null);for(var s=0;s&lt;=t;++s)~e&amp;1&lt;&lt;s&amp;&amp;(r.push(n(t,o-1,s-1)),i.push([o,s]))}var l=a(r),c=[];t:for(o=0;o&lt;l.length;++o){var u=l[o],f=[];for(s=0;s&lt;u.length;++s){if(!i[u[s]])continue t;f.push(i[u[s]].slice())}c.push(f)}return c}e.exports=function(t){for(var e=1&lt;&lt;t+1,r=new Array(e),n=0;n&lt;e;++n)r[n]=i(t,n);return r};var a=t(&quot;convex-hull&quot;)},{&quot;convex-hull&quot;:109}],437:[function(t,e,r){function n(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}var i=t(&quot;./normalize&quot;),a=t(&quot;gl-mat4/create&quot;),o=t(&quot;gl-mat4/clone&quot;),s=t(&quot;gl-mat4/determinant&quot;),l=t(&quot;gl-mat4/invert&quot;),c=t(&quot;gl-mat4/transpose&quot;),u={length:t(&quot;gl-vec3/length&quot;),normalize:t(&quot;gl-vec3/normalize&quot;),dot:t(&quot;gl-vec3/dot&quot;),cross:t(&quot;gl-vec3/cross&quot;)},f=a(),h=a(),d=[0,0,0,0],p=[[0,0,0],[0,0,0],[0,0,0]],m=[0,0,0];e.exports=function(t,e,r,a,g,v){if(e||(e=[0,0,0]),r||(r=[0,0,0]),a||(a=[0,0,0]),g||(g=[0,0,0,1]),v||(v=[0,0,0,1]),!i(f,t))return!1;if(o(h,f),h[3]=0,h[7]=0,h[11]=0,h[15]=1,Math.abs(s(h)&lt;1e-8))return!1;var y=f[3],x=f[7],b=f[11],_=f[12],w=f[13],M=f[14],k=f[15];if(0!==y||0!==x||0!==b){d[0]=y,d[1]=x,d[2]=b,d[3]=k;if(!l(h,h))return!1;c(h,h),function(t,e,r){var n=e[0],i=e[1],a=e[2],o=e[3];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}(g,d,h)}else g[0]=g[1]=g[2]=0,g[3]=1;if(e[0]=_,e[1]=w,e[2]=M,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,f),r[0]=u.length(p[0]),u.normalize(p[0],p[0]),a[0]=u.dot(p[0],p[1]),n(p[1],p[1],p[0],1,-a[0]),r[1]=u.length(p[1]),u.normalize(p[1],p[1]),a[0]/=r[1],a[1]=u.dot(p[0],p[2]),n(p[2],p[2],p[0],1,-a[1]),a[2]=u.dot(p[1],p[2]),n(p[2],p[2],p[1],1,-a[2]),r[2]=u.length(p[2]),u.normalize(p[2],p[2]),a[1]/=r[2],a[2]/=r[2],u.cross(m,p[1],p[2]),u.dot(p[0],m)&lt;0)for(var A=0;A&lt;3;A++)r[A]*=-1,p[A][0]*=-1,p[A][1]*=-1,p[A][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]&gt;p[1][2]&amp;&amp;(v[0]=-v[0]),p[0][2]&gt;p[2][0]&amp;&amp;(v[1]=-v[1]),p[1][0]&gt;p[0][1]&amp;&amp;(v[2]=-v[2]),!0}},{&quot;./normalize&quot;:438,&quot;gl-mat4/clone&quot;:180,&quot;gl-mat4/create&quot;:181,&quot;gl-mat4/determinant&quot;:182,&quot;gl-mat4/invert&quot;:186,&quot;gl-mat4/transpose&quot;:196,&quot;gl-vec3/cross&quot;:260,&quot;gl-vec3/dot&quot;:261,&quot;gl-vec3/length&quot;:262,&quot;gl-vec3/normalize&quot;:264}],438:[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&lt;16;i++)t[i]=e[i]*n;return!0}},{}],439:[function(t,e,r){function n(){return{translate:i(),scale:i(1),skew:i(),perspective:[0,0,0,1],quaternion:[0,0,0,1]}}function i(t){return[t||0,t||0,t||0]}var a=t(&quot;gl-vec3/lerp&quot;),o=t(&quot;mat4-recompose&quot;),s=t(&quot;mat4-decompose&quot;),l=t(&quot;gl-mat4/determinant&quot;),c=t(&quot;quat-slerp&quot;),u=n(),f=n(),h=n();e.exports=function(t,e,r,n){if(0===l(e)||0===l(r))return!1;var i=s(e,u.translate,u.scale,u.skew,u.perspective,u.quaternion),d=s(r,f.translate,f.scale,f.skew,f.perspective,f.quaternion);return!(!i||!d||(a(h.translate,u.translate,f.translate,n),a(h.skew,u.skew,f.skew,n),a(h.scale,u.scale,f.scale,n),a(h.perspective,u.perspective,f.perspective,n),c(h.quaternion,u.quaternion,f.quaternion,n),o(t,h.translate,h.scale,h.skew,h.perspective,h.quaternion),0))}},{&quot;gl-mat4/determinant&quot;:182,&quot;gl-vec3/lerp&quot;:263,&quot;mat4-decompose&quot;:437,&quot;mat4-recompose&quot;:440,&quot;quat-slerp&quot;:490}],440:[function(t,e,r){var n={identity:t(&quot;gl-mat4/identity&quot;),translate:t(&quot;gl-mat4/translate&quot;),multiply:t(&quot;gl-mat4/multiply&quot;),create:t(&quot;gl-mat4/create&quot;),scale:t(&quot;gl-mat4/scale&quot;),fromRotationTranslation:t(&quot;gl-mat4/fromRotationTranslation&quot;)},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]&amp;&amp;(i[9]=a[2],n.multiply(t,t,i)),0!==a[1]&amp;&amp;(i[9]=0,i[8]=a[1],n.multiply(t,t,i)),0!==a[0]&amp;&amp;(i[8]=0,i[4]=a[0],n.multiply(t,t,i)),n.scale(t,t,r),t}},{&quot;gl-mat4/create&quot;:181,&quot;gl-mat4/fromRotationTranslation&quot;:184,&quot;gl-mat4/identity&quot;:185,&quot;gl-mat4/multiply&quot;:188,&quot;gl-mat4/scale&quot;:194,&quot;gl-mat4/translate&quot;:195}],441:[function(t,e,r){&quot;use strict&quot;;function n(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]}var i=t(&quot;binary-search-bounds&quot;),a=t(&quot;mat4-interpolate&quot;),o=t(&quot;gl-mat4/invert&quot;),s=t(&quot;gl-mat4/rotateX&quot;),l=t(&quot;gl-mat4/rotateY&quot;),c=t(&quot;gl-mat4/rotateZ&quot;),u=t(&quot;gl-mat4/lookAt&quot;),f=t(&quot;gl-mat4/translate&quot;),h=(t(&quot;gl-mat4/scale&quot;),t(&quot;gl-vec3/normalize&quot;)),d=[0,0,0];e.exports=function(t){return new n((t=t||{}).matrix||[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1])};var p=n.prototype;p.recalcMatrix=function(t){var e=this._time,r=i.le(e,t),n=this.computedMatrix;if(!(r&lt;0)){var s=this._components;if(r===e.length-1)for(var l=16*r,c=0;c&lt;16;++c)n[c]=s[l++];else{var u=e[r+1]-e[r],f=(l=16*r,this.prevMatrix),d=!0;for(c=0;c&lt;16;++c)f[c]=s[l++];var p=this.nextMatrix;for(c=0;c&lt;16;++c)p[c]=s[l++],d=d&amp;&amp;f[c]===p[c];if(u&lt;1e-6||d)for(c=0;c&lt;16;++c)n[c]=f[c];else a(n,f,p,(t-e[r])/u)}var m=this.computedUp;m[0]=n[1],m[1]=n[5],m[2]=n[9],h(m,m);var g=this.computedInverse;o(g,n);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&lt;3;++c)x[c]=v[c]-n[2+4*c]*b}},p.idle=function(t){if(!(t&lt;this.lastT())){for(var e=this._components,r=e.length-16,n=0;n&lt;16;++n)e.push(e[r++]);this._time.push(t)}},p.flush=function(t){var e=i.gt(this._time,t)-2;e&lt;0||(this._time.splice(0,e),this._components.splice(0,16*e))},p.lastT=function(){return this._time[this._time.length-1]},p.lookAt=function(t,e,r,n){this.recalcMatrix(t),e=e||this.computedEye,r=r||d,n=n||this.computedUp,this.setMatrix(t,u(this.computedMatrix,e,r,n));for(var i=0,a=0;a&lt;3;++a)i+=Math.pow(r[a]-e[a],2);i=Math.log(Math.sqrt(i)),this.computedRadius[0]=i},p.rotate=function(t,e,r,n){this.recalcMatrix(t);var i=this.computedInverse;e&amp;&amp;l(i,i,e),r&amp;&amp;s(i,i,r),n&amp;&amp;c(i,i,n),this.setMatrix(t,o(this.computedMatrix,i))};var m=[0,0,0];p.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;f(i,i,m),this.setMatrix(t,o(i,i))},p.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;f(i,i,m),this.setMatrix(t,i)},p.setMatrix=function(t,e){if(!(t&lt;this.lastT())){this._time.push(t);for(var r=0;r&lt;16;++r)this._components.push(e[r])}},p.setDistance=function(t,e){this.computedRadius[0]=e},p.setDistanceLimits=function(t,e){var r=this._limits;r[0]=t,r[1]=e},p.getDistanceLimits=function(t){var e=this._limits;return t?(t[0]=e[0],t[1]=e[1],t):e}},{&quot;binary-search-bounds&quot;:70,&quot;gl-mat4/invert&quot;:186,&quot;gl-mat4/lookAt&quot;:187,&quot;gl-mat4/rotateX&quot;:191,&quot;gl-mat4/rotateY&quot;:192,&quot;gl-mat4/rotateZ&quot;:193,&quot;gl-mat4/scale&quot;:194,&quot;gl-mat4/translate&quot;:195,&quot;gl-vec3/normalize&quot;:264,&quot;mat4-interpolate&quot;:439}],442:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t){var e=t.length;if(e&lt;3){for(var r=new Array(e),i=0;i&lt;e;++i)r[i]=i;return 2===e&amp;&amp;t[0][0]===t[1][0]&amp;&amp;t[0][1]===t[1][1]?[0]:r}var a=new Array(e);for(i=0;i&lt;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&lt;e;++i){for(var l=a[i],c=t[l],u=o.length;u&gt;1&amp;&amp;n(t[o[u-2]],t[o[u-1]],c)&lt;=0;)u-=1,o.pop();for(o.push(l),u=s.length;u&gt;1&amp;&amp;n(t[s[u-2]],t[s[u-1]],c)&gt;=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&lt;h;++i)r[f++]=o[i];for(var d=s.length-2;d&gt;0;--d)r[f++]=s[d];return r};var n=t(&quot;robust-orientation&quot;)[3]},{&quot;robust-orientation&quot;:515}],443:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t,e){function r(t){var e=!1;return&quot;altKey&quot;in t&amp;&amp;(e=e||t.altKey!==m.alt,m.alt=!!t.altKey),&quot;shiftKey&quot;in t&amp;&amp;(e=e||t.shiftKey!==m.shift,m.shift=!!t.shiftKey),&quot;ctrlKey&quot;in t&amp;&amp;(e=e||t.ctrlKey!==m.control,m.control=!!t.ctrlKey),&quot;metaKey&quot;in t&amp;&amp;(e=e||t.metaKey!==m.meta,m.meta=!!t.metaKey),e}function i(t,i){var a=n.x(i),o=n.y(i);&quot;buttons&quot;in i&amp;&amp;(t=0|i.buttons),(t!==h||a!==d||o!==p||r(i))&amp;&amp;(h=0|t,d=a||0,p=o||0,e&amp;&amp;e(h,d,p,m))}function a(t){i(0,t)}function o(){(h||d||p||m.shift||m.alt||m.meta||m.control)&amp;&amp;(d=p=0,h=0,m.shift=m.alt=m.control=m.meta=!1,e&amp;&amp;e(0,0,0,m))}function s(t){r(t)&amp;&amp;e&amp;&amp;e(h,d,p,m)}function l(t){0===n.buttons(t)?i(0,t):i(h,t)}function c(t){i(h|n.buttons(t),t)}function u(t){i(h&amp;~n.buttons(t),t)}function f(){g||(g=!0,t.addEventListener(&quot;mousemove&quot;,l),t.addEventListener(&quot;mousedown&quot;,c),t.addEventListener(&quot;mouseup&quot;,u),t.addEventListener(&quot;mouseleave&quot;,a),t.addEventListener(&quot;mouseenter&quot;,a),t.addEventListener(&quot;mouseout&quot;,a),t.addEventListener(&quot;mouseover&quot;,a),t.addEventListener(&quot;blur&quot;,o),t.addEventListener(&quot;keyup&quot;,s),t.addEventListener(&quot;keydown&quot;,s),t.addEventListener(&quot;keypress&quot;,s),t!==window&amp;&amp;(window.addEventListener(&quot;blur&quot;,o),window.addEventListener(&quot;keyup&quot;,s),window.addEventListener(&quot;keydown&quot;,s),window.addEventListener(&quot;keypress&quot;,s)))}e||(e=t,t=window);var h=0,d=0,p=0,m={shift:!1,alt:!1,control:!1,meta:!1},g=!1;f();var v={element:t};return Object.defineProperties(v,{enabled:{get:function(){return g},set:function(e){e?f():g&amp;&amp;(g=!1,t.removeEventListener(&quot;mousemove&quot;,l),t.removeEventListener(&quot;mousedown&quot;,c),t.removeEventListener(&quot;mouseup&quot;,u),t.removeEventListener(&quot;mouseleave&quot;,a),t.removeEventListener(&quot;mouseenter&quot;,a),t.removeEventListener(&quot;mouseout&quot;,a),t.removeEventListener(&quot;mouseover&quot;,a),t.removeEventListener(&quot;blur&quot;,o),t.removeEventListener(&quot;keyup&quot;,s),t.removeEventListener(&quot;keydown&quot;,s),t.removeEventListener(&quot;keypress&quot;,s),t!==window&amp;&amp;(window.removeEventListener(&quot;blur&quot;,o),window.removeEventListener(&quot;keyup&quot;,s),window.removeEventListener(&quot;keydown&quot;,s),window.removeEventListener(&quot;keypress&quot;,s)))},enumerable:!0},buttons:{get:function(){return h},enumerable:!0},x:{get:function(){return d},enumerable:!0},y:{get:function(){return p},enumerable:!0},mods:{get:function(){return m},enumerable:!0}}),v};var n=t(&quot;mouse-event&quot;)},{&quot;mouse-event&quot;:445}],444:[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=function(t){return t===window||t===document||t===document.body?n:t.getBoundingClientRect()}(e);return r[0]=i-o.left,r[1]=a-o.top,r}},{}],445:[function(t,e,r){&quot;use strict&quot;;function n(t){return t.target||t.srcElement||window}r.buttons=function(t){if(&quot;object&quot;==typeof t){if(&quot;buttons&quot;in t)return t.buttons;if(&quot;which&quot;in t){if(2===(e=t.which))return 4;if(3===e)return 2;if(e&gt;0)return 1&lt;&lt;e-1}else if(&quot;button&quot;in t){var e;if(1===(e=t.button))return 4;if(2===e)return 2;if(e&gt;=0)return 1&lt;&lt;e}}return 0},r.element=n,r.x=function(t){if(&quot;object&quot;==typeof t){if(&quot;offsetX&quot;in t)return t.offsetX;var e=n(t).getBoundingClientRect();return t.clientX-e.left}return 0},r.y=function(t){if(&quot;object&quot;==typeof t){if(&quot;offsetY&quot;in t)return t.offsetY;var e=n(t).getBoundingClientRect();return t.clientY-e.top}return 0}},{}],446:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;to-px&quot;);e.exports=function(t,e,r){&quot;function&quot;==typeof t&amp;&amp;(r=!!e,e=t,t=window);var i=n(&quot;ex&quot;,t),a=function(t){r&amp;&amp;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(n*=s,a*=s,o*=s,n||a||o)return e(n,a,o,t)};return t.addEventListener(&quot;wheel&quot;,a),a}},{&quot;to-px&quot;:548}],447:[function(t,e,r){&quot;use strict&quot;;function n(t){return&quot;a&quot;+t}function i(t){return&quot;d&quot;+t}function a(t,e){return&quot;c&quot;+t+&quot;_&quot;+e}function o(t){return&quot;s&quot;+t}function s(t,e){return&quot;t&quot;+t+&quot;_&quot;+e}function l(t){return&quot;o&quot;+t}function c(t){return&quot;x&quot;+t}function u(t){return&quot;p&quot;+t}function f(t,e){return&quot;d&quot;+t+&quot;_&quot;+e}function h(t){return&quot;i&quot;+t}function d(t,e){return&quot;u&quot;+t+&quot;_&quot;+e}function p(t){return&quot;b&quot;+t}function m(t){return&quot;y&quot;+t}function g(t){return&quot;e&quot;+t}function v(t){return&quot;v&quot;+t}function y(t,e,r){for(var n=0,i=0;i&lt;t;++i)e&amp;1&lt;&lt;i&amp;&amp;(n|=1&lt;&lt;r[i]);return n}function x(t,e,r,x,S,E){function L(t,e){F.push(&quot;for(&quot;,h(S[t]),&quot;=&quot;,e,&quot;;&quot;,h(S[t]),&quot;&lt;&quot;,o(S[t]),&quot;;&quot;,&quot;++&quot;,h(S[t]),&quot;){&quot;)}function C(t){for(var e=0;e&lt;I;++e)F.push(u(e),&quot;+=&quot;,d(e,S[t]),&quot;;&quot;);F.push(&quot;}&quot;)}function z(){for(var t=1;t&lt;1&lt;&lt;P;++t)F.push(T,&quot;=&quot;,g(t),&quot;;&quot;,g(t),&quot;=&quot;,m(t),&quot;;&quot;,m(t),&quot;=&quot;,T,&quot;;&quot;)}function D(t,e){if(t&lt;0)!function(t){for(var e=0;e&lt;I;++e)E[e]?F.push(a(e,0),&quot;=&quot;,i(e),&quot;.get(&quot;,u(e),&quot;);&quot;):F.push(a(e,0),&quot;=&quot;,i(e),&quot;[&quot;,u(e),&quot;];&quot;);var r=[];for(e=0;e&lt;I;++e)r.push(a(e,0));for(e=0;e&lt;x;++e)r.push(c(e));F.push(p(0),&quot;=&quot;,w,&quot;[&quot;,A,&quot;]=phase(&quot;,r.join(),&quot;);&quot;);for(var n=1;n&lt;1&lt;&lt;P;++n)F.push(p(n),&quot;=&quot;,w,&quot;[&quot;,A,&quot;+&quot;,g(n),&quot;];&quot;);var o=[];for(n=1;n&lt;1&lt;&lt;P;++n)o.push(&quot;(&quot;+p(0)+&quot;!==&quot;+p(n)+&quot;)&quot;);F.push(&quot;if(&quot;,o.join(&quot;||&quot;),&quot;){&quot;);var s=[];for(e=0;e&lt;P;++e)s.push(h(e));for(e=0;e&lt;I;++e)for(s.push(a(e,0)),n=1;n&lt;1&lt;&lt;P;++n)E[e]?F.push(a(e,n),&quot;=&quot;,i(e),&quot;.get(&quot;,u(e),&quot;+&quot;,f(e,n),&quot;);&quot;):F.push(a(e,n),&quot;=&quot;,i(e),&quot;[&quot;,u(e),&quot;+&quot;,f(e,n),&quot;];&quot;),s.push(a(e,n));for(e=0;e&lt;1&lt;&lt;P;++e)s.push(p(e));for(e=0;e&lt;x;++e)s.push(c(e));F.push(&quot;vertex(&quot;,s.join(),&quot;);&quot;,v(0),&quot;=&quot;,_,&quot;[&quot;,A,&quot;]=&quot;,M,&quot;++;&quot;);var l=(1&lt;&lt;P)-1,d=p(l);for(n=0;n&lt;P;++n)if(0==(t&amp;~(1&lt;&lt;n))){for(var m=l^1&lt;&lt;n,y=p(m),b=[],k=m;k&gt;0;k=k-1&amp;m)b.push(_+&quot;[&quot;+A+&quot;+&quot;+g(k)+&quot;]&quot;);for(b.push(v(0)),k=0;k&lt;I;++k)1&amp;n?b.push(a(k,l),a(k,m)):b.push(a(k,m),a(k,l));for(1&amp;n?b.push(d,y):b.push(y,d),k=0;k&lt;x;++k)b.push(c(k));F.push(&quot;if(&quot;,d,&quot;!==&quot;,y,&quot;){&quot;,&quot;face(&quot;,b.join(),&quot;)}&quot;)}F.push(&quot;}&quot;,A,&quot;+=1;&quot;)}(e);else{!function(t){for(var e=t-1;e&gt;=0;--e)L(e,0);var r=[];for(e=0;e&lt;I;++e)E[e]?r.push(i(e)+&quot;.get(&quot;+u(e)+&quot;)&quot;):r.push(i(e)+&quot;[&quot;+u(e)+&quot;]&quot;);for(e=0;e&lt;x;++e)r.push(c(e));for(F.push(w,&quot;[&quot;,A,&quot;++]=phase(&quot;,r.join(),&quot;);&quot;),e=0;e&lt;t;++e)C(e);for(var n=0;n&lt;I;++n)F.push(u(n),&quot;+=&quot;,d(n,S[t]),&quot;;&quot;)}(t),F.push(&quot;if(&quot;,o(S[t]),&quot;&gt;0){&quot;,h(S[t]),&quot;=1;&quot;),D(t-1,e|1&lt;&lt;S[t]);for(var r=0;r&lt;I;++r)F.push(u(r),&quot;+=&quot;,d(r,S[t]),&quot;;&quot;);t===P-1&amp;&amp;(F.push(A,&quot;=0;&quot;),z()),L(t,2),D(t-1,e),t===P-1&amp;&amp;(F.push(&quot;if(&quot;,h(S[P-1]),&quot;&amp;1){&quot;,A,&quot;=0;}&quot;),z()),C(t),F.push(&quot;}&quot;)}}var I=E.length,P=S.length;if(P&lt;2)throw new Error(&quot;ndarray-extract-contour: Dimension must be at least 2&quot;);for(var O=&quot;extractContour&quot;+S.join(&quot;_&quot;),F=[],R=[],N=[],j=0;j&lt;I;++j)N.push(n(j));for(j=0;j&lt;x;++j)N.push(c(j));for(j=0;j&lt;P;++j)R.push(o(j)+&quot;=&quot;+n(0)+&quot;.shape[&quot;+j+&quot;]|0&quot;);for(j=0;j&lt;I;++j){R.push(i(j)+&quot;=&quot;+n(j)+&quot;.data&quot;,l(j)+&quot;=&quot;+n(j)+&quot;.offset|0&quot;);for(var B=0;B&lt;P;++B)R.push(s(j,B)+&quot;=&quot;+n(j)+&quot;.stride[&quot;+B+&quot;]|0&quot;)}for(j=0;j&lt;I;++j){R.push(u(j)+&quot;=&quot;+l(j)),R.push(a(j,0));for(B=1;B&lt;1&lt;&lt;P;++B){for(var U=[],V=0;V&lt;P;++V)B&amp;1&lt;&lt;V&amp;&amp;U.push(&quot;-&quot;+s(j,V));R.push(f(j,B)+&quot;=(&quot;+U.join(&quot;&quot;)+&quot;)|0&quot;),R.push(a(j,B)+&quot;=0&quot;)}}for(j=0;j&lt;I;++j)for(B=0;B&lt;P;++B){var q=[s(j,S[B])];B&gt;0&amp;&amp;q.push(s(j,S[B-1])+&quot;*&quot;+o(S[B-1])),R.push(d(j,S[B])+&quot;=(&quot;+q.join(&quot;-&quot;)+&quot;)|0&quot;)}for(j=0;j&lt;P;++j)R.push(h(j)+&quot;=0&quot;);R.push(M+&quot;=0&quot;);var H=[&quot;2&quot;];for(j=P-2;j&gt;=0;--j)H.push(o(S[j]));R.push(k+&quot;=(&quot;+H.join(&quot;*&quot;)+&quot;)|0&quot;,w+&quot;=mallocUint32(&quot;+k+&quot;)&quot;,_+&quot;=mallocUint32(&quot;+k+&quot;)&quot;,A+&quot;=0&quot;),R.push(p(0)+&quot;=0&quot;);for(B=1;B&lt;1&lt;&lt;P;++B){var G=[],Y=[];for(V=0;V&lt;P;++V)B&amp;1&lt;&lt;V&amp;&amp;(0===Y.length?G.push(&quot;1&quot;):G.unshift(Y.join(&quot;*&quot;))),Y.push(o(S[V]));var W=&quot;&quot;;G[0].indexOf(o(S[P-2]))&lt;0&amp;&amp;(W=&quot;-&quot;);var X=y(P,B,S);R.push(g(X)+&quot;=(-&quot;+G.join(&quot;-&quot;)+&quot;)|0&quot;,m(X)+&quot;=(&quot;+W+G.join(&quot;-&quot;)+&quot;)|0&quot;,p(X)+&quot;=0&quot;)}R.push(v(0)+&quot;=0&quot;,T+&quot;=0&quot;),D(P-1,0),F.push(&quot;freeUint32(&quot;,_,&quot;);freeUint32(&quot;,w,&quot;);&quot;);var Z=[&quot;'use strict';&quot;,&quot;function &quot;,O,&quot;(&quot;,N.join(),&quot;){&quot;,&quot;var &quot;,R.join(),&quot;;&quot;,F.join(&quot;&quot;),&quot;}&quot;,&quot;return &quot;,O].join(&quot;&quot;);return new Function(&quot;vertex&quot;,&quot;face&quot;,&quot;phase&quot;,&quot;mallocUint32&quot;,&quot;freeUint32&quot;,Z)(t,e,r,b.mallocUint32,b.freeUint32)}var b=t(&quot;typedarray-pool&quot;);e.exports=function(t){function e(t){throw new Error(&quot;ndarray-extract-contour: &quot;+t)}&quot;object&quot;!=typeof t&amp;&amp;e(&quot;Must specify arguments&quot;);var r=t.order;Array.isArray(r)||e(&quot;Must specify order&quot;);var n=t.arrayArguments||1;n&lt;1&amp;&amp;e(&quot;Must have at least one array argument&quot;);var i=t.scalarArguments||0;i&lt;0&amp;&amp;e(&quot;Scalar arg count must be &gt; 0&quot;),&quot;function&quot;!=typeof t.vertex&amp;&amp;e(&quot;Must specify vertex creation function&quot;),&quot;function&quot;!=typeof t.cell&amp;&amp;e(&quot;Must specify cell creation function&quot;),&quot;function&quot;!=typeof t.phase&amp;&amp;e(&quot;Must specify phase function&quot;);for(var a=t.getters||[],o=new Array(n),s=0;s&lt;n;++s)a.indexOf(s)&gt;=0?o[s]=!0:o[s]=!1;return x(t.vertex,t.cell,t.phase,i,r,o)};var _=&quot;V&quot;,w=&quot;P&quot;,M=&quot;N&quot;,k=&quot;Q&quot;,A=&quot;X&quot;,T=&quot;T&quot;},{&quot;typedarray-pool&quot;:554}],448:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;cwise/lib/wrapper&quot;)({args:[&quot;index&quot;,&quot;array&quot;,&quot;scalar&quot;],pre:{body:&quot;{}&quot;,args:[],thisVars:[],localVars:[]},body:{body:&quot;{_inline_1_arg1_=_inline_1_arg2_.apply(void 0,_inline_1_arg0_)}&quot;,args:[{name:&quot;_inline_1_arg0_&quot;,lvalue:!1,rvalue:!0,count:1},{name:&quot;_inline_1_arg1_&quot;,lvalue:!0,rvalue:!1,count:1},{name:&quot;_inline_1_arg2_&quot;,lvalue:!1,rvalue:!0,count:1}],thisVars:[],localVars:[]},post:{body:&quot;{}&quot;,args:[],thisVars:[],localVars:[]},debug:!1,funcName:&quot;cwise&quot;,blockSize:64});e.exports=function(t,e){return n(t,e),t}},{&quot;cwise/lib/wrapper&quot;:119}],449:[function(t,e,r){&quot;use strict&quot;;function n(t){if(t in o)return o[t];for(var e=[],r=0;r&lt;t;++r)e.push(&quot;out&quot;,r,&quot;s=0.5*(inp&quot;,r,&quot;l-inp&quot;,r,&quot;r);&quot;);var n=[&quot;array&quot;],s=[&quot;junk&quot;];for(r=0;r&lt;t;++r){n.push(&quot;array&quot;),s.push(&quot;out&quot;+r+&quot;s&quot;);var c=i(t);c[r]=-1,n.push({array:0,offset:c.slice()}),c[r]=1,n.push({array:0,offset:c.slice()}),s.push(&quot;inp&quot;+r+&quot;l&quot;,&quot;inp&quot;+r+&quot;r&quot;)}return o[t]=a({args:n,pre:l,post:l,body:{body:e.join(&quot;&quot;),args:s.map(function(t){return{name:t,lvalue:0===t.indexOf(&quot;out&quot;),rvalue:0===t.indexOf(&quot;inp&quot;),count:&quot;junk&quot;!==t|0}}),thisVars:[],localVars:[]},funcName:&quot;fdTemplate&quot;+t})}e.exports=function(t,e,r){if(Array.isArray(r)){if(r.length!==e.dimension)throw new Error(&quot;ndarray-gradient: invalid boundary conditions&quot;)}else r=&quot;string&quot;==typeof r?i(e.dimension,r):i(e.dimension,&quot;clamp&quot;);if(t.dimension!==e.dimension+1)throw new Error(&quot;ndarray-gradient: output dimension must be +1 input dimension&quot;);if(t.shape[e.dimension]!==e.dimension)throw new Error(&quot;ndarray-gradient: output shape must match input shape&quot;);for(var a=0;a&lt;e.dimension;++a)if(t.shape[a]!==e.shape[a])throw new Error(&quot;ndarray-gradient: shape mismatch&quot;);return 0===e.size?t:e.dimension&lt;=0?(t.set(0),t):function(t){function e(e){for(var r=i-e.length,n=[],o=[],s=[],l=0;l&lt;i;++l)e.indexOf(l+1)&gt;=0?s.push(&quot;0&quot;):e.indexOf(-(l+1))&gt;=0?s.push(&quot;s[&quot;+l+&quot;]-1&quot;):(s.push(&quot;-1&quot;),n.push(&quot;1&quot;),o.push(&quot;s[&quot;+l+&quot;]-2&quot;));var c=&quot;.lo(&quot;+n.join()+&quot;).hi(&quot;+o.join()+&quot;)&quot;;if(0===n.length&amp;&amp;(c=&quot;&quot;),r&gt;0){for(a.push(&quot;if(1&quot;),l=0;l&lt;i;++l)e.indexOf(l+1)&gt;=0||e.indexOf(-(l+1))&gt;=0||a.push(&quot;&amp;&amp;s[&quot;,l,&quot;]&gt;2&quot;);for(a.push(&quot;){grad&quot;,r,&quot;(src.pick(&quot;,s.join(),&quot;)&quot;,c),l=0;l&lt;i;++l)e.indexOf(l+1)&gt;=0||e.indexOf(-(l+1))&gt;=0||a.push(&quot;,dst.pick(&quot;,s.join(),&quot;,&quot;,l,&quot;)&quot;,c);a.push(&quot;);&quot;)}for(l=0;l&lt;e.length;++l){var u=Math.abs(e[l])-1,f=&quot;dst.pick(&quot;+s.join()+&quot;,&quot;+u+&quot;)&quot;+c;switch(t[u]){case&quot;clamp&quot;:var h=s.slice(),d=s.slice();e[l]&lt;0?h[u]=&quot;s[&quot;+u+&quot;]-2&quot;:d[u]=&quot;1&quot;,0===r?a.push(&quot;if(s[&quot;,u,&quot;]&gt;1){dst.set(&quot;,s.join(),&quot;,&quot;,u,&quot;,0.5*(src.get(&quot;,h.join(),&quot;)-src.get(&quot;,d.join(),&quot;)))}else{dst.set(&quot;,s.join(),&quot;,&quot;,u,&quot;,0)};&quot;):a.push(&quot;if(s[&quot;,u,&quot;]&gt;1){diff(&quot;,f,&quot;,src.pick(&quot;,h.join(),&quot;)&quot;,c,&quot;,src.pick(&quot;,d.join(),&quot;)&quot;,c,&quot;);}else{zero(&quot;,f,&quot;);};&quot;);break;case&quot;mirror&quot;:0===r?a.push(&quot;dst.set(&quot;,s.join(),&quot;,&quot;,u,&quot;,0);&quot;):a.push(&quot;zero(&quot;,f,&quot;);&quot;);break;case&quot;wrap&quot;:var p=s.slice(),m=s.slice();e[l]&lt;0?(p[u]=&quot;s[&quot;+u+&quot;]-2&quot;,m[u]=&quot;0&quot;):(p[u]=&quot;s[&quot;+u+&quot;]-1&quot;,m[u]=&quot;1&quot;),0===r?a.push(&quot;if(s[&quot;,u,&quot;]&gt;2){dst.set(&quot;,s.join(),&quot;,&quot;,u,&quot;,0.5*(src.get(&quot;,p.join(),&quot;)-src.get(&quot;,m.join(),&quot;)))}else{dst.set(&quot;,s.join(),&quot;,&quot;,u,&quot;,0)};&quot;):a.push(&quot;if(s[&quot;,u,&quot;]&gt;2){diff(&quot;,f,&quot;,src.pick(&quot;,p.join(),&quot;)&quot;,c,&quot;,src.pick(&quot;,m.join(),&quot;)&quot;,c,&quot;);}else{zero(&quot;,f,&quot;);};&quot;);break;default:throw new Error(&quot;ndarray-gradient: Invalid boundary condition&quot;)}}r&gt;0&amp;&amp;a.push(&quot;};&quot;)}var r=t.join();if(v=s[r])return v;for(var i=t.length,a=[&quot;function gradient(dst,src){var s=src.shape.slice();&quot;],l=0;l&lt;1&lt;&lt;i;++l){for(var f=[],h=0;h&lt;i;++h)l&amp;1&lt;&lt;h&amp;&amp;f.push(h+1);for(var d=0;d&lt;1&lt;&lt;f.length;++d){var p=f.slice();for(h=0;h&lt;f.length;++h)d&amp;1&lt;&lt;h&amp;&amp;(p[h]=-p[h]);e(p)}}a.push(&quot;return dst;};return gradient&quot;);var m=[&quot;diff&quot;,&quot;zero&quot;],g=[c,u];for(l=1;l&lt;=i;++l)m.push(&quot;grad&quot;+l),g.push(n(l));m.push(a.join(&quot;&quot;));var v=Function.apply(void 0,m).apply(void 0,g);return o[r]=v,v}(r)(t,e)};var i=t(&quot;dup&quot;),a=t(&quot;cwise-compiler&quot;),o={},s={},l={body:&quot;&quot;,args:[],thisVars:[],localVars:[]},c=a({args:[&quot;array&quot;,&quot;array&quot;,&quot;array&quot;],pre:l,post:l,body:{args:[{name:&quot;out&quot;,lvalue:!0,rvalue:!1,count:1},{name:&quot;left&quot;,lvalue:!1,rvalue:!0,count:1},{name:&quot;right&quot;,lvalue:!1,rvalue:!0,count:1}],body:&quot;out=0.5*(left-right)&quot;,thisVars:[],localVars:[]},funcName:&quot;cdiff&quot;}),u=a({args:[&quot;array&quot;],pre:l,post:l,body:{args:[{name:&quot;out&quot;,lvalue:!0,rvalue:!1,count:1}],body:&quot;out=0&quot;,thisVars:[],localVars:[]},funcName:&quot;zero&quot;})},{&quot;cwise-compiler&quot;:116,dup:134}],450:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;ndarray-warp&quot;),i=t(&quot;gl-matrix-invert&quot;);e.exports=function(t,e,r){var a=e.dimension,o=i([],r);return n(t,e,function(t,e){for(var r=0;r&lt;a;++r){t[r]=o[(a+1)*a+r];for(var n=0;n&lt;a;++n)t[r]+=o[(a+1)*n+r]*e[n]}var i=o[(a+1)*(a+1)-1];for(n=0;n&lt;a;++n)i+=o[(a+1)*n+a]*e[n];var s=1/i;for(r=0;r&lt;a;++r)t[r]*=s;return t}),t}},{&quot;gl-matrix-invert&quot;:197,&quot;ndarray-warp&quot;:457}],451:[function(t,e,r){&quot;use strict&quot;;function n(t,e){var r=Math.floor(e),n=e-r,i=0&lt;=r&amp;&amp;r&lt;t.shape[0],a=0&lt;=r+1&amp;&amp;r+1&lt;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&lt;=n&amp;&amp;n&lt;t.shape[0],o=0&lt;=n+1&amp;&amp;n+1&lt;t.shape[0],s=Math.floor(r),l=r-s,c=0&lt;=s&amp;&amp;s&lt;t.shape[1],u=0&lt;=s+1&amp;&amp;s+1&lt;t.shape[1],f=a&amp;&amp;c?t.get(n,s):0,h=a&amp;&amp;u?t.get(n,s+1):0;return(1-l)*((1-i)*f+i*(o&amp;&amp;c?t.get(n+1,s):0))+l*((1-i)*h+i*(o&amp;&amp;u?t.get(n+1,s+1):0))}function a(t,e,r,n){var i=Math.floor(e),a=e-i,o=0&lt;=i&amp;&amp;i&lt;t.shape[0],s=0&lt;=i+1&amp;&amp;i+1&lt;t.shape[0],l=Math.floor(r),c=r-l,u=0&lt;=l&amp;&amp;l&lt;t.shape[1],f=0&lt;=l+1&amp;&amp;l+1&lt;t.shape[1],h=Math.floor(n),d=n-h,p=0&lt;=h&amp;&amp;h&lt;t.shape[2],m=0&lt;=h+1&amp;&amp;h+1&lt;t.shape[2],g=o&amp;&amp;u&amp;&amp;p?t.get(i,l,h):0,v=o&amp;&amp;f&amp;&amp;p?t.get(i,l+1,h):0,y=s&amp;&amp;u&amp;&amp;p?t.get(i+1,l,h):0,x=s&amp;&amp;f&amp;&amp;p?t.get(i+1,l+1,h):0,b=o&amp;&amp;u&amp;&amp;m?t.get(i,l,h+1):0,_=o&amp;&amp;f&amp;&amp;m?t.get(i,l+1,h+1):0;return(1-d)*((1-c)*((1-a)*g+a*y)+c*((1-a)*v+a*x))+d*((1-c)*((1-a)*b+a*(s&amp;&amp;u&amp;&amp;m?t.get(i+1,l,h+1):0))+c*((1-a)*_+a*(s&amp;&amp;f&amp;&amp;m?t.get(i+1,l+1,h+1):0)))}e.exports=function(t,e,r,o){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,o);default:return function(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&lt;n;++e)r=+arguments[e+1],i[e]=Math.floor(r),a[e]=r-i[e],o[e]=0&lt;=i[e]&amp;&amp;i[e]&lt;t.shape[e],s[e]=0&lt;=i[e]+1&amp;&amp;i[e]+1&lt;t.shape[e];var l,c,u,f=0;t:for(e=0;e&lt;1&lt;&lt;n;++e){for(c=1,u=t.offset,l=0;l&lt;n;++l)if(e&amp;1&lt;&lt;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}.apply(void 0,arguments)}},e.exports.d1=n,e.exports.d2=i,e.exports.d3=a},{}],452:[function(t,e,r){&quot;use strict&quot;;function n(t){if(!t)return o;for(var e=0;e&lt;t.args.length;++e){var r=t.args[e];t.args[e]=0===e?{name:r,lvalue:!0,rvalue:!!t.rvalue,count:t.count||1}:{name:r,lvalue:!1,rvalue:!0,count:1}}return t.thisVars||(t.thisVars=[]),t.localVars||(t.localVars=[]),t}function i(t){for(var e=[],r=0;r&lt;t.args.length;++r)e.push(&quot;a&quot;+r);return new Function(&quot;P&quot;,[&quot;return function &quot;,t.funcName,&quot;_ndarrayops(&quot;,e.join(&quot;,&quot;),&quot;) {P(&quot;,e.join(&quot;,&quot;),&quot;);return a0}&quot;].join(&quot;&quot;))(function(t){return a({args:t.args,pre:n(t.pre),body:n(t.body),post:n(t.proc),funcName:t.funcName})}(t))}var a=t(&quot;cwise-compiler&quot;),o={body:&quot;&quot;,args:[],thisVars:[],localVars:[]},s={add:&quot;+&quot;,sub:&quot;-&quot;,mul:&quot;*&quot;,div:&quot;/&quot;,mod:&quot;%&quot;,band:&quot;&amp;&quot;,bor:&quot;|&quot;,bxor:&quot;^&quot;,lshift:&quot;&lt;&lt;&quot;,rshift:&quot;&gt;&gt;&quot;,rrshift:&quot;&gt;&gt;&gt;&quot;};!function(){for(var t in s){var e=s[t];r[t]=i({args:[&quot;array&quot;,&quot;array&quot;,&quot;array&quot;],body:{args:[&quot;a&quot;,&quot;b&quot;,&quot;c&quot;],body:&quot;a=b&quot;+e+&quot;c&quot;},funcName:t}),r[t+&quot;eq&quot;]=i({args:[&quot;array&quot;,&quot;array&quot;],body:{args:[&quot;a&quot;,&quot;b&quot;],body:&quot;a&quot;+e+&quot;=b&quot;},rvalue:!0,funcName:t+&quot;eq&quot;}),r[t+&quot;s&quot;]=i({args:[&quot;array&quot;,&quot;array&quot;,&quot;scalar&quot;],body:{args:[&quot;a&quot;,&quot;b&quot;,&quot;s&quot;],body:&quot;a=b&quot;+e+&quot;s&quot;},funcName:t+&quot;s&quot;}),r[t+&quot;seq&quot;]=i({args:[&quot;array&quot;,&quot;scalar&quot;],body:{args:[&quot;a&quot;,&quot;s&quot;],body:&quot;a&quot;+e+&quot;=s&quot;},rvalue:!0,funcName:t+&quot;seq&quot;})}}();var l={not:&quot;!&quot;,bnot:&quot;~&quot;,neg:&quot;-&quot;,recip:&quot;1.0/&quot;};!function(){for(var t in l){var e=l[t];r[t]=i({args:[&quot;array&quot;,&quot;array&quot;],body:{args:[&quot;a&quot;,&quot;b&quot;],body:&quot;a=&quot;+e+&quot;b&quot;},funcName:t}),r[t+&quot;eq&quot;]=i({args:[&quot;array&quot;],body:{args:[&quot;a&quot;],body:&quot;a=&quot;+e+&quot;a&quot;},rvalue:!0,count:2,funcName:t+&quot;eq&quot;})}}();var c={and:&quot;&amp;&amp;&quot;,or:&quot;||&quot;,eq:&quot;===&quot;,neq:&quot;!==&quot;,lt:&quot;&lt;&quot;,gt:&quot;&gt;&quot;,leq:&quot;&lt;=&quot;,geq:&quot;&gt;=&quot;};!function(){for(var t in c){var e=c[t];r[t]=i({args:[&quot;array&quot;,&quot;array&quot;,&quot;array&quot;],body:{args:[&quot;a&quot;,&quot;b&quot;,&quot;c&quot;],body:&quot;a=b&quot;+e+&quot;c&quot;},funcName:t}),r[t+&quot;s&quot;]=i({args:[&quot;array&quot;,&quot;array&quot;,&quot;scalar&quot;],body:{args:[&quot;a&quot;,&quot;b&quot;,&quot;s&quot;],body:&quot;a=b&quot;+e+&quot;s&quot;},funcName:t+&quot;s&quot;}),r[t+&quot;eq&quot;]=i({args:[&quot;array&quot;,&quot;array&quot;],body:{args:[&quot;a&quot;,&quot;b&quot;],body:&quot;a=a&quot;+e+&quot;b&quot;},rvalue:!0,count:2,funcName:t+&quot;eq&quot;}),r[t+&quot;seq&quot;]=i({args:[&quot;array&quot;,&quot;scalar&quot;],body:{args:[&quot;a&quot;,&quot;s&quot;],body:&quot;a=a&quot;+e+&quot;s&quot;},rvalue:!0,count:2,funcName:t+&quot;seq&quot;})}}();var u=[&quot;abs&quot;,&quot;acos&quot;,&quot;asin&quot;,&quot;atan&quot;,&quot;ceil&quot;,&quot;cos&quot;,&quot;exp&quot;,&quot;floor&quot;,&quot;log&quot;,&quot;round&quot;,&quot;sin&quot;,&quot;sqrt&quot;,&quot;tan&quot;];!function(){for(var t=0;t&lt;u.length;++t){var e=u[t];r[e]=i({args:[&quot;array&quot;,&quot;array&quot;],pre:{args:[],body:&quot;this_f=Math.&quot;+e,thisVars:[&quot;this_f&quot;]},body:{args:[&quot;a&quot;,&quot;b&quot;],body:&quot;a=this_f(b)&quot;,thisVars:[&quot;this_f&quot;]},funcName:e}),r[e+&quot;eq&quot;]=i({args:[&quot;array&quot;],pre:{args:[],body:&quot;this_f=Math.&quot;+e,thisVars:[&quot;this_f&quot;]},body:{args:[&quot;a&quot;],body:&quot;a=this_f(a)&quot;,thisVars:[&quot;this_f&quot;]},rvalue:!0,count:2,funcName:e+&quot;eq&quot;})}}();var f=[&quot;max&quot;,&quot;min&quot;,&quot;atan2&quot;,&quot;pow&quot;];!function(){for(var t=0;t&lt;f.length;++t){var e=f[t];r[e]=i({args:[&quot;array&quot;,&quot;array&quot;,&quot;array&quot;],pre:{args:[],body:&quot;this_f=Math.&quot;+e,thisVars:[&quot;this_f&quot;]},body:{args:[&quot;a&quot;,&quot;b&quot;,&quot;c&quot;],body:&quot;a=this_f(b,c)&quot;,thisVars:[&quot;this_f&quot;]},funcName:e}),r[e+&quot;s&quot;]=i({args:[&quot;array&quot;,&quot;array&quot;,&quot;scalar&quot;],pre:{args:[],body:&quot;this_f=Math.&quot;+e,thisVars:[&quot;this_f&quot;]},body:{args:[&quot;a&quot;,&quot;b&quot;,&quot;c&quot;],body:&quot;a=this_f(b,c)&quot;,thisVars:[&quot;this_f&quot;]},funcName:e+&quot;s&quot;}),r[e+&quot;eq&quot;]=i({args:[&quot;array&quot;,&quot;array&quot;],pre:{args:[],body:&quot;this_f=Math.&quot;+e,thisVars:[&quot;this_f&quot;]},body:{args:[&quot;a&quot;,&quot;b&quot;],body:&quot;a=this_f(a,b)&quot;,thisVars:[&quot;this_f&quot;]},rvalue:!0,count:2,funcName:e+&quot;eq&quot;}),r[e+&quot;seq&quot;]=i({args:[&quot;array&quot;,&quot;scalar&quot;],pre:{args:[],body:&quot;this_f=Math.&quot;+e,thisVars:[&quot;this_f&quot;]},body:{args:[&quot;a&quot;,&quot;b&quot;],body:&quot;a=this_f(a,b)&quot;,thisVars:[&quot;this_f&quot;]},rvalue:!0,count:2,funcName:e+&quot;seq&quot;})}}();var h=[&quot;atan2&quot;,&quot;pow&quot;];!function(){for(var t=0;t&lt;h.length;++t){var e=h[t];r[e+&quot;op&quot;]=i({args:[&quot;array&quot;,&quot;array&quot;,&quot;array&quot;],pre:{args:[],body:&quot;this_f=Math.&quot;+e,thisVars:[&quot;this_f&quot;]},body:{args:[&quot;a&quot;,&quot;b&quot;,&quot;c&quot;],body:&quot;a=this_f(c,b)&quot;,thisVars:[&quot;this_f&quot;]},funcName:e+&quot;op&quot;}),r[e+&quot;ops&quot;]=i({args:[&quot;array&quot;,&quot;array&quot;,&quot;scalar&quot;],pre:{args:[],body:&quot;this_f=Math.&quot;+e,thisVars:[&quot;this_f&quot;]},body:{args:[&quot;a&quot;,&quot;b&quot;,&quot;c&quot;],body:&quot;a=this_f(c,b)&quot;,thisVars:[&quot;this_f&quot;]},funcName:e+&quot;ops&quot;}),r[e+&quot;opeq&quot;]=i({args:[&quot;array&quot;,&quot;array&quot;],pre:{args:[],body:&quot;this_f=Math.&quot;+e,thisVars:[&quot;this_f&quot;]},body:{args:[&quot;a&quot;,&quot;b&quot;],body:&quot;a=this_f(b,a)&quot;,thisVars:[&quot;this_f&quot;]},rvalue:!0,count:2,funcName:e+&quot;opeq&quot;}),r[e+&quot;opseq&quot;]=i({args:[&quot;array&quot;,&quot;scalar&quot;],pre:{args:[],body:&quot;this_f=Math.&quot;+e,thisVars:[&quot;this_f&quot;]},body:{args:[&quot;a&quot;,&quot;b&quot;],body:&quot;a=this_f(b,a)&quot;,thisVars:[&quot;this_f&quot;]},rvalue:!0,count:2,funcName:e+&quot;opseq&quot;})}}(),r.any=a({args:[&quot;array&quot;],pre:o,body:{args:[{name:&quot;a&quot;,lvalue:!1,rvalue:!0,count:1}],body:&quot;if(a){return true}&quot;,localVars:[],thisVars:[]},post:{args:[],localVars:[],thisVars:[],body:&quot;return false&quot;},funcName:&quot;any&quot;}),r.all=a({args:[&quot;array&quot;],pre:o,body:{args:[{name:&quot;x&quot;,lvalue:!1,rvalue:!0,count:1}],body:&quot;if(!x){return false}&quot;,localVars:[],thisVars:[]},post:{args:[],localVars:[],thisVars:[],body:&quot;return true&quot;},funcName:&quot;all&quot;}),r.sum=a({args:[&quot;array&quot;],pre:{args:[],localVars:[],thisVars:[&quot;this_s&quot;],body:&quot;this_s=0&quot;},body:{args:[{name:&quot;a&quot;,lvalue:!1,rvalue:!0,count:1}],body:&quot;this_s+=a&quot;,localVars:[],thisVars:[&quot;this_s&quot;]},post:{args:[],localVars:[],thisVars:[&quot;this_s&quot;],body:&quot;return this_s&quot;},funcName:&quot;sum&quot;}),r.prod=a({args:[&quot;array&quot;],pre:{args:[],localVars:[],thisVars:[&quot;this_s&quot;],body:&quot;this_s=1&quot;},body:{args:[{name:&quot;a&quot;,lvalue:!1,rvalue:!0,count:1}],body:&quot;this_s*=a&quot;,localVars:[],thisVars:[&quot;this_s&quot;]},post:{args:[],localVars:[],thisVars:[&quot;this_s&quot;],body:&quot;return this_s&quot;},funcName:&quot;prod&quot;}),r.norm2squared=a({args:[&quot;array&quot;],pre:{args:[],localVars:[],thisVars:[&quot;this_s&quot;],body:&quot;this_s=0&quot;},body:{args:[{name:&quot;a&quot;,lvalue:!1,rvalue:!0,count:2}],body:&quot;this_s+=a*a&quot;,localVars:[],thisVars:[&quot;this_s&quot;]},post:{args:[],localVars:[],thisVars:[&quot;this_s&quot;],body:&quot;return this_s&quot;},funcName:&quot;norm2squared&quot;}),r.norm2=a({args:[&quot;array&quot;],pre:{args:[],localVars:[],thisVars:[&quot;this_s&quot;],body:&quot;this_s=0&quot;},body:{args:[{name:&quot;a&quot;,lvalue:!1,rvalue:!0,count:2}],body:&quot;this_s+=a*a&quot;,localVars:[],thisVars:[&quot;this_s&quot;]},post:{args:[],localVars:[],thisVars:[&quot;this_s&quot;],body:&quot;return Math.sqrt(this_s)&quot;},funcName:&quot;norm2&quot;}),r.norminf=a({args:[&quot;array&quot;],pre:{args:[],localVars:[],thisVars:[&quot;this_s&quot;],body:&quot;this_s=0&quot;},body:{args:[{name:&quot;a&quot;,lvalue:!1,rvalue:!0,count:4}],body:&quot;if(-a&gt;this_s){this_s=-a}else if(a&gt;this_s){this_s=a}&quot;,localVars:[],thisVars:[&quot;this_s&quot;]},post:{args:[],localVars:[],thisVars:[&quot;this_s&quot;],body:&quot;return this_s&quot;},funcName:&quot;norminf&quot;}),r.norm1=a({args:[&quot;array&quot;],pre:{args:[],localVars:[],thisVars:[&quot;this_s&quot;],body:&quot;this_s=0&quot;},body:{args:[{name:&quot;a&quot;,lvalue:!1,rvalue:!0,count:3}],body:&quot;this_s+=a&lt;0?-a:a&quot;,localVars:[],thisVars:[&quot;this_s&quot;]},post:{args:[],localVars:[],thisVars:[&quot;this_s&quot;],body:&quot;return this_s&quot;},funcName:&quot;norm1&quot;}),r.sup=a({args:[&quot;array&quot;],pre:{body:&quot;this_h=-Infinity&quot;,args:[],thisVars:[&quot;this_h&quot;],localVars:[]},body:{body:&quot;if(_inline_1_arg0_&gt;this_h)this_h=_inline_1_arg0_&quot;,args:[{name:&quot;_inline_1_arg0_&quot;,lvalue:!1,rvalue:!0,count:2}],thisVars:[&quot;this_h&quot;],localVars:[]},post:{body:&quot;return this_h&quot;,args:[],thisVars:[&quot;this_h&quot;],localVars:[]}}),r.inf=a({args:[&quot;array&quot;],pre:{body:&quot;this_h=Infinity&quot;,args:[],thisVars:[&quot;this_h&quot;],localVars:[]},body:{body:&quot;if(_inline_1_arg0_&lt;this_h)this_h=_inline_1_arg0_&quot;,args:[{name:&quot;_inline_1_arg0_&quot;,lvalue:!1,rvalue:!0,count:2}],thisVars:[&quot;this_h&quot;],localVars:[]},post:{body:&quot;return this_h&quot;,args:[],thisVars:[&quot;this_h&quot;],localVars:[]}}),r.argmin=a({args:[&quot;index&quot;,&quot;array&quot;,&quot;shape&quot;],pre:{body:&quot;{this_v=Infinity;this_i=_inline_0_arg2_.slice(0)}&quot;,args:[{name:&quot;_inline_0_arg0_&quot;,lvalue:!1,rvalue:!1,count:0},{name:&quot;_inline_0_arg1_&quot;,lvalue:!1,rvalue:!1,count:0},{name:&quot;_inline_0_arg2_&quot;,lvalue:!1,rvalue:!0,count:1}],thisVars:[&quot;this_i&quot;,&quot;this_v&quot;],localVars:[]},body:{body:&quot;{if(_inline_1_arg1_&lt;this_v){this_v=_inline_1_arg1_;for(var _inline_1_k=0;_inline_1_k&lt;_inline_1_arg0_.length;++_inline_1_k){this_i[_inline_1_k]=_inline_1_arg0_[_inline_1_k]}}}&quot;,args:[{name:&quot;_inline_1_arg0_&quot;,lvalue:!1,rvalue:!0,count:2},{name:&quot;_inline_1_arg1_&quot;,lvalue:!1,rvalue:!0,count:2}],thisVars:[&quot;this_i&quot;,&quot;this_v&quot;],localVars:[&quot;_inline_1_k&quot;]},post:{body:&quot;{return this_i}&quot;,args:[],thisVars:[&quot;this_i&quot;],localVars:[]}}),r.argmax=a({args:[&quot;index&quot;,&quot;array&quot;,&quot;shape&quot;],pre:{body:&quot;{this_v=-Infinity;this_i=_inline_0_arg2_.slice(0)}&quot;,args:[{name:&quot;_inline_0_arg0_&quot;,lvalue:!1,rvalue:!1,count:0},{name:&quot;_inline_0_arg1_&quot;,lvalue:!1,rvalue:!1,count:0},{name:&quot;_inline_0_arg2_&quot;,lvalue:!1,rvalue:!0,count:1}],thisVars:[&quot;this_i&quot;,&quot;this_v&quot;],localVars:[]},body:{body:&quot;{if(_inline_1_arg1_&gt;this_v){this_v=_inline_1_arg1_;for(var _inline_1_k=0;_inline_1_k&lt;_inline_1_arg0_.length;++_inline_1_k){this_i[_inline_1_k]=_inline_1_arg0_[_inline_1_k]}}}&quot;,args:[{name:&quot;_inline_1_arg0_&quot;,lvalue:!1,rvalue:!0,count:2},{name:&quot;_inline_1_arg1_&quot;,lvalue:!1,rvalue:!0,count:2}],thisVars:[&quot;this_i&quot;,&quot;this_v&quot;],localVars:[&quot;_inline_1_k&quot;]},post:{body:&quot;{return this_i}&quot;,args:[],thisVars:[&quot;this_i&quot;],localVars:[]}}),r.random=i({args:[&quot;array&quot;],pre:{args:[],body:&quot;this_f=Math.random&quot;,thisVars:[&quot;this_f&quot;]},body:{args:[&quot;a&quot;],body:&quot;a=this_f()&quot;,thisVars:[&quot;this_f&quot;]},funcName:&quot;random&quot;}),r.assign=i({args:[&quot;array&quot;,&quot;array&quot;],body:{args:[&quot;a&quot;,&quot;b&quot;],body:&quot;a=b&quot;},funcName:&quot;assign&quot;}),r.assigns=i({args:[&quot;array&quot;,&quot;scalar&quot;],body:{args:[&quot;a&quot;,&quot;b&quot;],body:&quot;a=b&quot;},funcName:&quot;assigns&quot;}),r.equals=a({args:[&quot;array&quot;,&quot;array&quot;],pre:o,body:{args:[{name:&quot;x&quot;,lvalue:!1,rvalue:!0,count:1},{name:&quot;y&quot;,lvalue:!1,rvalue:!0,count:1}],body:&quot;if(x!==y){return false}&quot;,localVars:[],thisVars:[]},post:{args:[],localVars:[],thisVars:[],body:&quot;return true&quot;},funcName:&quot;equals&quot;})},{&quot;cwise-compiler&quot;:116}],453:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;ndarray&quot;),i=t(&quot;./doConvert.js&quot;);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)}},{&quot;./doConvert.js&quot;:454,ndarray:458}],454:[function(t,e,r){e.exports=t(&quot;cwise-compiler&quot;)({args:[&quot;array&quot;,&quot;scalar&quot;,&quot;index&quot;],pre:{body:&quot;{}&quot;,args:[],thisVars:[],localVars:[]},body:{body:&quot;{\nvar _inline_1_v=_inline_1_arg1_,_inline_1_i\nfor(_inline_1_i=0;_inline_1_i&lt;_inline_1_arg2_.length-1;++_inline_1_i) {\n_inline_1_v=_inline_1_v[_inline_1_arg2_[_inline_1_i]]\n}\n_inline_1_arg0_=_inline_1_v[_inline_1_arg2_[_inline_1_arg2_.length-1]]\n}&quot;,args:[{name:&quot;_inline_1_arg0_&quot;,lvalue:!0,rvalue:!1,count:1},{name:&quot;_inline_1_arg1_&quot;,lvalue:!1,rvalue:!0,count:1},{name:&quot;_inline_1_arg2_&quot;,lvalue:!1,rvalue:!0,count:4}],thisVars:[],localVars:[&quot;_inline_1_i&quot;,&quot;_inline_1_v&quot;]},post:{body:&quot;{}&quot;,args:[],thisVars:[],localVars:[]},funcName:&quot;convert&quot;,blockSize:64})},{&quot;cwise-compiler&quot;:116}],455:[function(t,e,r){&quot;use strict&quot;;function n(t){switch(t){case&quot;uint8&quot;:return[a.mallocUint8,a.freeUint8];case&quot;uint16&quot;:return[a.mallocUint16,a.freeUint16];case&quot;uint32&quot;:return[a.mallocUint32,a.freeUint32];case&quot;int8&quot;:return[a.mallocInt8,a.freeInt8];case&quot;int16&quot;:return[a.mallocInt16,a.freeInt16];case&quot;int32&quot;:return[a.mallocInt32,a.freeInt32];case&quot;float32&quot;:return[a.mallocFloat,a.freeFloat];case&quot;float64&quot;:return[a.mallocDouble,a.freeDouble];default:return null}}function i(t){for(var e=[],r=0;r&lt;t;++r)e.push(&quot;s&quot;+r);for(r=0;r&lt;t;++r)e.push(&quot;n&quot;+r);for(r=1;r&lt;t;++r)e.push(&quot;d&quot;+r);for(r=1;r&lt;t;++r)e.push(&quot;e&quot;+r);for(r=1;r&lt;t;++r)e.push(&quot;f&quot;+r);return e}var a=t(&quot;typedarray-pool&quot;),o=32;e.exports=function(t,e){var r=[&quot;'use strict'&quot;],a=[&quot;ndarraySortWrapper&quot;,t.join(&quot;d&quot;),e].join(&quot;&quot;);r.push([&quot;function &quot;,a,&quot;(&quot;,[&quot;array&quot;].join(&quot;,&quot;),&quot;){&quot;].join(&quot;&quot;));for(var s=[&quot;data=array.data,offset=array.offset|0,shape=array.shape,stride=array.stride&quot;],l=0;l&lt;t.length;++l)s.push([&quot;s&quot;,l,&quot;=stride[&quot;,l,&quot;]|0,n&quot;,l,&quot;=shape[&quot;,l,&quot;]|0&quot;].join(&quot;&quot;));var c=new Array(t.length),u=[];for(l=0;l&lt;t.length;++l)0!==(p=t[l])&amp;&amp;(0===u.length?c[p]=&quot;1&quot;:c[p]=u.join(&quot;*&quot;),u.push(&quot;n&quot;+p));var f=-1,h=-1;for(l=0;l&lt;t.length;++l){var d=t[l];0!==d&amp;&amp;(f&gt;0?s.push([&quot;d&quot;,d,&quot;=s&quot;,d,&quot;-d&quot;,f,&quot;*n&quot;,f].join(&quot;&quot;)):s.push([&quot;d&quot;,d,&quot;=s&quot;,d].join(&quot;&quot;)),f=d);var p;0!=(p=t.length-1-l)&amp;&amp;(h&gt;0?s.push([&quot;e&quot;,p,&quot;=s&quot;,p,&quot;-e&quot;,h,&quot;*n&quot;,h,&quot;,f&quot;,p,&quot;=&quot;,c[p],&quot;-f&quot;,h,&quot;*n&quot;,h].join(&quot;&quot;)):s.push([&quot;e&quot;,p,&quot;=s&quot;,p,&quot;,f&quot;,p,&quot;=&quot;,c[p]].join(&quot;&quot;)),h=p)}r.push(&quot;var &quot;+s.join(&quot;,&quot;));var m=[&quot;0&quot;,&quot;n0-1&quot;,&quot;data&quot;,&quot;offset&quot;].concat(i(t.length));r.push([&quot;if(n0&lt;=&quot;,o,&quot;){&quot;,&quot;insertionSort(&quot;,m.join(&quot;,&quot;),&quot;)}else{&quot;,&quot;quickSort(&quot;,m.join(&quot;,&quot;),&quot;)}&quot;].join(&quot;&quot;)),r.push(&quot;}return &quot;+a);var g=new Function(&quot;insertionSort&quot;,&quot;quickSort&quot;,r.join(&quot;\n&quot;)),v=function(t,e){function r(t){return&quot;generic&quot;===e?[&quot;data.get(&quot;,t,&quot;)&quot;].join(&quot;&quot;):[&quot;data[&quot;,t,&quot;]&quot;].join(&quot;&quot;)}function a(t,r){return&quot;generic&quot;===e?[&quot;data.set(&quot;,t,&quot;,&quot;,r,&quot;)&quot;].join(&quot;&quot;):[&quot;data[&quot;,t,&quot;]=&quot;,r].join(&quot;&quot;)}var o=[&quot;'use strict'&quot;],s=[&quot;ndarrayInsertionSort&quot;,t.join(&quot;d&quot;),e].join(&quot;&quot;),l=[&quot;left&quot;,&quot;right&quot;,&quot;data&quot;,&quot;offset&quot;].concat(i(t.length)),c=n(e),u=[&quot;i,j,cptr,ptr=left*s0+offset&quot;];if(t.length&gt;1){for(var f=[],h=1;h&lt;t.length;++h)u.push(&quot;i&quot;+h),f.push(&quot;n&quot;+h);c?u.push(&quot;scratch=malloc(&quot;+f.join(&quot;*&quot;)+&quot;)&quot;):u.push(&quot;scratch=new Array(&quot;+f.join(&quot;*&quot;)+&quot;)&quot;),u.push(&quot;dptr&quot;,&quot;sptr&quot;,&quot;a&quot;,&quot;b&quot;)}else u.push(&quot;scratch&quot;);if(o.push([&quot;function &quot;,s,&quot;(&quot;,l.join(&quot;,&quot;),&quot;){var &quot;,u.join(&quot;,&quot;)].join(&quot;&quot;),&quot;for(i=left+1;i&lt;=right;++i){&quot;,&quot;j=i;ptr+=s0&quot;,&quot;cptr=ptr&quot;),t.length&gt;1){for(o.push(&quot;dptr=0;sptr=ptr&quot;),h=t.length-1;h&gt;=0;--h)0!==(d=t[h])&amp;&amp;o.push([&quot;for(i&quot;,d,&quot;=0;i&quot;,d,&quot;&lt;n&quot;,d,&quot;;++i&quot;,d,&quot;){&quot;].join(&quot;&quot;));for(o.push(&quot;scratch[dptr++]=&quot;,r(&quot;sptr&quot;)),h=0;h&lt;t.length;++h)0!==(d=t[h])&amp;&amp;o.push(&quot;sptr+=d&quot;+d,&quot;}&quot;);for(o.push(&quot;__g:while(j--\x3eleft){&quot;,&quot;dptr=0&quot;,&quot;sptr=cptr-s0&quot;),h=1;h&lt;t.length;++h)1===h&amp;&amp;o.push(&quot;__l:&quot;),o.push([&quot;for(i&quot;,h,&quot;=0;i&quot;,h,&quot;&lt;n&quot;,h,&quot;;++i&quot;,h,&quot;){&quot;].join(&quot;&quot;));for(o.push([&quot;a=&quot;,r(&quot;sptr&quot;),&quot;\nb=scratch[dptr]\nif(a&lt;b){break __g}\nif(a&gt;b){break __l}&quot;].join(&quot;&quot;)),h=t.length-1;h&gt;=1;--h)o.push(&quot;sptr+=e&quot;+h,&quot;dptr+=f&quot;+h,&quot;}&quot;);for(o.push(&quot;dptr=cptr;sptr=cptr-s0&quot;),h=t.length-1;h&gt;=0;--h)0!==(d=t[h])&amp;&amp;o.push([&quot;for(i&quot;,d,&quot;=0;i&quot;,d,&quot;&lt;n&quot;,d,&quot;;++i&quot;,d,&quot;){&quot;].join(&quot;&quot;));for(o.push(a(&quot;dptr&quot;,r(&quot;sptr&quot;))),h=0;h&lt;t.length;++h)0!==(d=t[h])&amp;&amp;o.push([&quot;dptr+=d&quot;,d,&quot;;sptr+=d&quot;,d].join(&quot;&quot;),&quot;}&quot;);for(o.push(&quot;cptr-=s0\n}&quot;),o.push(&quot;dptr=cptr;sptr=0&quot;),h=t.length-1;h&gt;=0;--h)0!==(d=t[h])&amp;&amp;o.push([&quot;for(i&quot;,d,&quot;=0;i&quot;,d,&quot;&lt;n&quot;,d,&quot;;++i&quot;,d,&quot;){&quot;].join(&quot;&quot;));for(o.push(a(&quot;dptr&quot;,&quot;scratch[sptr++]&quot;)),h=0;h&lt;t.length;++h){var d;0!==(d=t[h])&amp;&amp;o.push(&quot;dptr+=d&quot;+d,&quot;}&quot;)}}else o.push(&quot;scratch=&quot;+r(&quot;ptr&quot;),&quot;while((j--\x3eleft)&amp;&amp;(&quot;+r(&quot;cptr-s0&quot;)+&quot;&gt;scratch)){&quot;,a(&quot;cptr&quot;,r(&quot;cptr-s0&quot;)),&quot;cptr-=s0&quot;,&quot;}&quot;,a(&quot;cptr&quot;,&quot;scratch&quot;));return o.push(&quot;}&quot;),t.length&gt;1&amp;&amp;c&amp;&amp;o.push(&quot;free(scratch)&quot;),o.push(&quot;} return &quot;+s),c?new Function(&quot;malloc&quot;,&quot;free&quot;,o.join(&quot;\n&quot;))(c[0],c[1]):new Function(o.join(&quot;\n&quot;))()}(t,e);return g(v,function(t,e,r){function a(t){return[&quot;(offset+&quot;,t,&quot;*s0)&quot;].join(&quot;&quot;)}function s(t){return&quot;generic&quot;===e?[&quot;data.get(&quot;,t,&quot;)&quot;].join(&quot;&quot;):[&quot;data[&quot;,t,&quot;]&quot;].join(&quot;&quot;)}function l(t,r){return&quot;generic&quot;===e?[&quot;data.set(&quot;,t,&quot;,&quot;,r,&quot;)&quot;].join(&quot;&quot;):[&quot;data[&quot;,t,&quot;]=&quot;,r].join(&quot;&quot;)}function c(e,r,n){if(1===e.length)_.push(&quot;ptr0=&quot;+a(e[0]));else for(var i=0;i&lt;e.length;++i)_.push([&quot;b_ptr&quot;,i,&quot;=s0*&quot;,e[i]].join(&quot;&quot;));for(r&amp;&amp;_.push(&quot;pivot_ptr=0&quot;),_.push(&quot;ptr_shift=offset&quot;),i=t.length-1;i&gt;=0;--i)0!==(o=t[i])&amp;&amp;_.push([&quot;for(i&quot;,o,&quot;=0;i&quot;,o,&quot;&lt;n&quot;,o,&quot;;++i&quot;,o,&quot;){&quot;].join(&quot;&quot;));if(e.length&gt;1)for(i=0;i&lt;e.length;++i)_.push([&quot;ptr&quot;,i,&quot;=b_ptr&quot;,i,&quot;+ptr_shift&quot;].join(&quot;&quot;));for(_.push(n),r&amp;&amp;_.push(&quot;++pivot_ptr&quot;),i=0;i&lt;t.length;++i){var o;0!==(o=t[i])&amp;&amp;(e.length&gt;1?_.push(&quot;ptr_shift+=d&quot;+o):_.push(&quot;ptr0+=d&quot;+o),_.push(&quot;}&quot;))}}function u(e,r,n,i){if(1===r.length)_.push(&quot;ptr0=&quot;+a(r[0]));else{for(var o=0;o&lt;r.length;++o)_.push([&quot;b_ptr&quot;,o,&quot;=s0*&quot;,r[o]].join(&quot;&quot;));_.push(&quot;ptr_shift=offset&quot;)}for(n&amp;&amp;_.push(&quot;pivot_ptr=0&quot;),e&amp;&amp;_.push(e+&quot;:&quot;),o=1;o&lt;t.length;++o)_.push([&quot;for(i&quot;,o,&quot;=0;i&quot;,o,&quot;&lt;n&quot;,o,&quot;;++i&quot;,o,&quot;){&quot;].join(&quot;&quot;));if(r.length&gt;1)for(o=0;o&lt;r.length;++o)_.push([&quot;ptr&quot;,o,&quot;=b_ptr&quot;,o,&quot;+ptr_shift&quot;].join(&quot;&quot;));for(_.push(i),o=t.length-1;o&gt;=1;--o)n&amp;&amp;_.push(&quot;pivot_ptr+=f&quot;+o),r.length&gt;1?_.push(&quot;ptr_shift+=e&quot;+o):_.push(&quot;ptr0+=e&quot;+o),_.push(&quot;}&quot;)}function f(){t.length&gt;1&amp;&amp;k&amp;&amp;_.push(&quot;free(pivot1)&quot;,&quot;free(pivot2)&quot;)}function h(e,r){var n=&quot;el&quot;+e,i=&quot;el&quot;+r;if(t.length&gt;1){var o=&quot;__l&quot;+ ++A;u(o,[n,i],!1,[&quot;comp=&quot;,s(&quot;ptr0&quot;),&quot;-&quot;,s(&quot;ptr1&quot;),&quot;\n&quot;,&quot;if(comp&gt;0){tmp0=&quot;,n,&quot;;&quot;,n,&quot;=&quot;,i,&quot;;&quot;,i,&quot;=tmp0;break &quot;,o,&quot;}\n&quot;,&quot;if(comp&lt;0){break &quot;,o,&quot;}&quot;].join(&quot;&quot;))}else _.push([&quot;if(&quot;,s(a(n)),&quot;&gt;&quot;,s(a(i)),&quot;){tmp0=&quot;,n,&quot;;&quot;,n,&quot;=&quot;,i,&quot;;&quot;,i,&quot;=tmp0}&quot;].join(&quot;&quot;))}function d(e,r){t.length&gt;1?c([e,r],!1,l(&quot;ptr0&quot;,s(&quot;ptr1&quot;))):_.push(l(a(e),s(a(r))))}function p(e,r,n){if(t.length&gt;1){var i=&quot;__l&quot;+ ++A;u(i,[r],!0,[e,&quot;=&quot;,s(&quot;ptr0&quot;),&quot;-pivot&quot;,n,&quot;[pivot_ptr]\n&quot;,&quot;if(&quot;,e,&quot;!==0){break &quot;,i,&quot;}&quot;].join(&quot;&quot;))}else _.push([e,&quot;=&quot;,s(a(r)),&quot;-pivot&quot;,n].join(&quot;&quot;))}function m(e,r){t.length&gt;1?c([e,r],!1,[&quot;tmp=&quot;,s(&quot;ptr0&quot;),&quot;\n&quot;,l(&quot;ptr0&quot;,s(&quot;ptr1&quot;)),&quot;\n&quot;,l(&quot;ptr1&quot;,&quot;tmp&quot;)].join(&quot;&quot;)):_.push([&quot;ptr0=&quot;,a(e),&quot;\n&quot;,&quot;ptr1=&quot;,a(r),&quot;\n&quot;,&quot;tmp=&quot;,s(&quot;ptr0&quot;),&quot;\n&quot;,l(&quot;ptr0&quot;,s(&quot;ptr1&quot;)),&quot;\n&quot;,l(&quot;ptr1&quot;,&quot;tmp&quot;)].join(&quot;&quot;))}function g(e,r,n){t.length&gt;1?(c([e,r,n],!1,[&quot;tmp=&quot;,s(&quot;ptr0&quot;),&quot;\n&quot;,l(&quot;ptr0&quot;,s(&quot;ptr1&quot;)),&quot;\n&quot;,l(&quot;ptr1&quot;,s(&quot;ptr2&quot;)),&quot;\n&quot;,l(&quot;ptr2&quot;,&quot;tmp&quot;)].join(&quot;&quot;)),_.push(&quot;++&quot;+r,&quot;--&quot;+n)):_.push([&quot;ptr0=&quot;,a(e),&quot;\n&quot;,&quot;ptr1=&quot;,a(r),&quot;\n&quot;,&quot;ptr2=&quot;,a(n),&quot;\n&quot;,&quot;++&quot;,r,&quot;\n&quot;,&quot;--&quot;,n,&quot;\n&quot;,&quot;tmp=&quot;,s(&quot;ptr0&quot;),&quot;\n&quot;,l(&quot;ptr0&quot;,s(&quot;ptr1&quot;)),&quot;\n&quot;,l(&quot;ptr1&quot;,s(&quot;ptr2&quot;)),&quot;\n&quot;,l(&quot;ptr2&quot;,&quot;tmp&quot;)].join(&quot;&quot;))}function v(t,e){m(t,e),_.push(&quot;--&quot;+e)}function y(e,r,n){t.length&gt;1?c([e,r],!0,[l(&quot;ptr0&quot;,s(&quot;ptr1&quot;)),&quot;\n&quot;,l(&quot;ptr1&quot;,[&quot;pivot&quot;,n,&quot;[pivot_ptr]&quot;].join(&quot;&quot;))].join(&quot;&quot;)):_.push(l(a(e),s(a(r))),l(a(r),&quot;pivot&quot;+n))}function x(e,r){_.push([&quot;if((&quot;,r,&quot;-&quot;,e,&quot;)&lt;=&quot;,o,&quot;){\n&quot;,&quot;insertionSort(&quot;,e,&quot;,&quot;,r,&quot;,data,offset,&quot;,i(t.length).join(&quot;,&quot;),&quot;)\n&quot;,&quot;}else{\n&quot;,w,&quot;(&quot;,e,&quot;,&quot;,r,&quot;,data,offset,&quot;,i(t.length).join(&quot;,&quot;),&quot;)\n&quot;,&quot;}&quot;].join(&quot;&quot;))}function b(e,r,n){t.length&gt;1?(_.push([&quot;__l&quot;,++A,&quot;:while(true){&quot;].join(&quot;&quot;)),c([e],!0,[&quot;if(&quot;,s(&quot;ptr0&quot;),&quot;!==pivot&quot;,r,&quot;[pivot_ptr]){break __l&quot;,A,&quot;}&quot;].join(&quot;&quot;)),_.push(n,&quot;}&quot;)):_.push([&quot;while(&quot;,s(a(e)),&quot;===pivot&quot;,r,&quot;){&quot;,n,&quot;}&quot;].join(&quot;&quot;))}var _=[&quot;'use strict'&quot;],w=[&quot;ndarrayQuickSort&quot;,t.join(&quot;d&quot;),e].join(&quot;&quot;),M=[&quot;left&quot;,&quot;right&quot;,&quot;data&quot;,&quot;offset&quot;].concat(i(t.length)),k=n(e),A=0;_.push([&quot;function &quot;,w,&quot;(&quot;,M.join(&quot;,&quot;),&quot;){&quot;].join(&quot;&quot;));var T=[&quot;sixth=((right-left+1)/6)|0&quot;,&quot;index1=left+sixth&quot;,&quot;index5=right-sixth&quot;,&quot;index3=(left+right)&gt;&gt;1&quot;,&quot;index2=index3-sixth&quot;,&quot;index4=index3+sixth&quot;,&quot;el1=index1&quot;,&quot;el2=index2&quot;,&quot;el3=index3&quot;,&quot;el4=index4&quot;,&quot;el5=index5&quot;,&quot;less=left+1&quot;,&quot;great=right-1&quot;,&quot;pivots_are_equal=true&quot;,&quot;tmp&quot;,&quot;tmp0&quot;,&quot;x&quot;,&quot;y&quot;,&quot;z&quot;,&quot;k&quot;,&quot;ptr0&quot;,&quot;ptr1&quot;,&quot;ptr2&quot;,&quot;comp_pivot1=0&quot;,&quot;comp_pivot2=0&quot;,&quot;comp=0&quot;];if(t.length&gt;1){for(var S=[],E=1;E&lt;t.length;++E)S.push(&quot;n&quot;+E),T.push(&quot;i&quot;+E);for(E=0;E&lt;8;++E)T.push(&quot;b_ptr&quot;+E);T.push(&quot;ptr3&quot;,&quot;ptr4&quot;,&quot;ptr5&quot;,&quot;ptr6&quot;,&quot;ptr7&quot;,&quot;pivot_ptr&quot;,&quot;ptr_shift&quot;,&quot;elementSize=&quot;+S.join(&quot;*&quot;)),k?T.push(&quot;pivot1=malloc(elementSize)&quot;,&quot;pivot2=malloc(elementSize)&quot;):T.push(&quot;pivot1=new Array(elementSize),pivot2=new Array(elementSize)&quot;)}else T.push(&quot;pivot1&quot;,&quot;pivot2&quot;);return _.push(&quot;var &quot;+T.join(&quot;,&quot;)),h(1,2),h(4,5),h(1,3),h(2,3),h(1,4),h(3,4),h(2,5),h(2,3),h(4,5),t.length&gt;1?c([&quot;el1&quot;,&quot;el2&quot;,&quot;el3&quot;,&quot;el4&quot;,&quot;el5&quot;,&quot;index1&quot;,&quot;index3&quot;,&quot;index5&quot;],!0,[&quot;pivot1[pivot_ptr]=&quot;,s(&quot;ptr1&quot;),&quot;\n&quot;,&quot;pivot2[pivot_ptr]=&quot;,s(&quot;ptr3&quot;),&quot;\n&quot;,&quot;pivots_are_equal=pivots_are_equal&amp;&amp;(pivot1[pivot_ptr]===pivot2[pivot_ptr])\n&quot;,&quot;x=&quot;,s(&quot;ptr0&quot;),&quot;\n&quot;,&quot;y=&quot;,s(&quot;ptr2&quot;),&quot;\n&quot;,&quot;z=&quot;,s(&quot;ptr4&quot;),&quot;\n&quot;,l(&quot;ptr5&quot;,&quot;x&quot;),&quot;\n&quot;,l(&quot;ptr6&quot;,&quot;y&quot;),&quot;\n&quot;,l(&quot;ptr7&quot;,&quot;z&quot;)].join(&quot;&quot;)):_.push([&quot;pivot1=&quot;,s(a(&quot;el2&quot;)),&quot;\n&quot;,&quot;pivot2=&quot;,s(a(&quot;el4&quot;)),&quot;\n&quot;,&quot;pivots_are_equal=pivot1===pivot2\n&quot;,&quot;x=&quot;,s(a(&quot;el1&quot;)),&quot;\n&quot;,&quot;y=&quot;,s(a(&quot;el3&quot;)),&quot;\n&quot;,&quot;z=&quot;,s(a(&quot;el5&quot;)),&quot;\n&quot;,l(a(&quot;index1&quot;),&quot;x&quot;),&quot;\n&quot;,l(a(&quot;index3&quot;),&quot;y&quot;),&quot;\n&quot;,l(a(&quot;index5&quot;),&quot;z&quot;)].join(&quot;&quot;)),d(&quot;index2&quot;,&quot;left&quot;),d(&quot;index4&quot;,&quot;right&quot;),_.push(&quot;if(pivots_are_equal){&quot;),_.push(&quot;for(k=less;k&lt;=great;++k){&quot;),p(&quot;comp&quot;,&quot;k&quot;,1),_.push(&quot;if(comp===0){continue}&quot;),_.push(&quot;if(comp&lt;0){&quot;),_.push(&quot;if(k!==less){&quot;),m(&quot;k&quot;,&quot;less&quot;),_.push(&quot;}&quot;),_.push(&quot;++less&quot;),_.push(&quot;}else{&quot;),_.push(&quot;while(true){&quot;),p(&quot;comp&quot;,&quot;great&quot;,1),_.push(&quot;if(comp&gt;0){&quot;),_.push(&quot;great--&quot;),_.push(&quot;}else if(comp&lt;0){&quot;),g(&quot;k&quot;,&quot;less&quot;,&quot;great&quot;),_.push(&quot;break&quot;),_.push(&quot;}else{&quot;),v(&quot;k&quot;,&quot;great&quot;),_.push(&quot;break&quot;),_.push(&quot;}&quot;),_.push(&quot;}&quot;),_.push(&quot;}&quot;),_.push(&quot;}&quot;),_.push(&quot;}else{&quot;),_.push(&quot;for(k=less;k&lt;=great;++k){&quot;),p(&quot;comp_pivot1&quot;,&quot;k&quot;,1),_.push(&quot;if(comp_pivot1&lt;0){&quot;),_.push(&quot;if(k!==less){&quot;),m(&quot;k&quot;,&quot;less&quot;),_.push(&quot;}&quot;),_.push(&quot;++less&quot;),_.push(&quot;}else{&quot;),p(&quot;comp_pivot2&quot;,&quot;k&quot;,2),_.push(&quot;if(comp_pivot2&gt;0){&quot;),_.push(&quot;while(true){&quot;),p(&quot;comp&quot;,&quot;great&quot;,2),_.push(&quot;if(comp&gt;0){&quot;),_.push(&quot;if(--great&lt;k){break}&quot;),_.push(&quot;continue&quot;),_.push(&quot;}else{&quot;),p(&quot;comp&quot;,&quot;great&quot;,1),_.push(&quot;if(comp&lt;0){&quot;),g(&quot;k&quot;,&quot;less&quot;,&quot;great&quot;),_.push(&quot;}else{&quot;),v(&quot;k&quot;,&quot;great&quot;),_.push(&quot;}&quot;),_.push(&quot;break&quot;),_.push(&quot;}&quot;),_.push(&quot;}&quot;),_.push(&quot;}&quot;),_.push(&quot;}&quot;),_.push(&quot;}&quot;),_.push(&quot;}&quot;),y(&quot;left&quot;,&quot;(less-1)&quot;,1),y(&quot;right&quot;,&quot;(great+1)&quot;,2),x(&quot;left&quot;,&quot;(less-2)&quot;),x(&quot;(great+2)&quot;,&quot;right&quot;),_.push(&quot;if(pivots_are_equal){&quot;),f(),_.push(&quot;return&quot;),_.push(&quot;}&quot;),_.push(&quot;if(less&lt;index1&amp;&amp;great&gt;index5){&quot;),b(&quot;less&quot;,1,&quot;++less&quot;),b(&quot;great&quot;,2,&quot;--great&quot;),_.push(&quot;for(k=less;k&lt;=great;++k){&quot;),p(&quot;comp_pivot1&quot;,&quot;k&quot;,1),_.push(&quot;if(comp_pivot1===0){&quot;),_.push(&quot;if(k!==less){&quot;),m(&quot;k&quot;,&quot;less&quot;),_.push(&quot;}&quot;),_.push(&quot;++less&quot;),_.push(&quot;}else{&quot;),p(&quot;comp_pivot2&quot;,&quot;k&quot;,2),_.push(&quot;if(comp_pivot2===0){&quot;),_.push(&quot;while(true){&quot;),p(&quot;comp&quot;,&quot;great&quot;,2),_.push(&quot;if(comp===0){&quot;),_.push(&quot;if(--great&lt;k){break}&quot;),_.push(&quot;continue&quot;),_.push(&quot;}else{&quot;),p(&quot;comp&quot;,&quot;great&quot;,1),_.push(&quot;if(comp&lt;0){&quot;),g(&quot;k&quot;,&quot;less&quot;,&quot;great&quot;),_.push(&quot;}else{&quot;),v(&quot;k&quot;,&quot;great&quot;),_.push(&quot;}&quot;),_.push(&quot;break&quot;),_.push(&quot;}&quot;),_.push(&quot;}&quot;),_.push(&quot;}&quot;),_.push(&quot;}&quot;),_.push(&quot;}&quot;),_.push(&quot;}&quot;),f(),x(&quot;less&quot;,&quot;great&quot;),_.push(&quot;}return &quot;+w),t.length&gt;1&amp;&amp;k?new Function(&quot;insertionSort&quot;,&quot;malloc&quot;,&quot;free&quot;,_.join(&quot;\n&quot;))(r,k[0],k[1]):new Function(&quot;insertionSort&quot;,_.join(&quot;\n&quot;))(r)}(t,e,v))}},{&quot;typedarray-pool&quot;:554}],456:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;./lib/compile_sort.js&quot;),i={};e.exports=function(t){var e=t.order,r=t.dtype,a=[e,r].join(&quot;:&quot;),o=i[a];return o||(i[a]=o=n(e,r)),o(t),t}},{&quot;./lib/compile_sort.js&quot;:455}],457:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;ndarray-linear-interpolate&quot;),i=t(&quot;cwise/lib/wrapper&quot;)({args:[&quot;index&quot;,&quot;array&quot;,&quot;scalar&quot;,&quot;scalar&quot;,&quot;scalar&quot;],pre:{body:&quot;{this_warped=new Array(_inline_9_arg4_)}&quot;,args:[{name:&quot;_inline_9_arg0_&quot;,lvalue:!1,rvalue:!1,count:0},{name:&quot;_inline_9_arg1_&quot;,lvalue:!1,rvalue:!1,count:0},{name:&quot;_inline_9_arg2_&quot;,lvalue:!1,rvalue:!1,count:0},{name:&quot;_inline_9_arg3_&quot;,lvalue:!1,rvalue:!1,count:0},{name:&quot;_inline_9_arg4_&quot;,lvalue:!1,rvalue:!0,count:1}],thisVars:[&quot;this_warped&quot;],localVars:[]},body:{body:&quot;{_inline_10_arg2_(this_warped,_inline_10_arg0_),_inline_10_arg1_=_inline_10_arg3_.apply(void 0,this_warped)}&quot;,args:[{name:&quot;_inline_10_arg0_&quot;,lvalue:!1,rvalue:!0,count:1},{name:&quot;_inline_10_arg1_&quot;,lvalue:!0,rvalue:!1,count:1},{name:&quot;_inline_10_arg2_&quot;,lvalue:!1,rvalue:!0,count:1},{name:&quot;_inline_10_arg3_&quot;,lvalue:!1,rvalue:!0,count:1},{name:&quot;_inline_10_arg4_&quot;,lvalue:!1,rvalue:!1,count:0}],thisVars:[&quot;this_warped&quot;],localVars:[]},post:{body:&quot;{}&quot;,args:[],thisVars:[],localVars:[]},debug:!1,funcName:&quot;warpND&quot;,blockSize:64}),a=t(&quot;cwise/lib/wrapper&quot;)({args:[&quot;index&quot;,&quot;array&quot;,&quot;scalar&quot;,&quot;scalar&quot;,&quot;scalar&quot;],pre:{body:&quot;{this_warped=[0]}&quot;,args:[],thisVars:[&quot;this_warped&quot;],localVars:[]},body:{body:&quot;{_inline_13_arg2_(this_warped,_inline_13_arg0_),_inline_13_arg1_=_inline_13_arg3_(_inline_13_arg4_,this_warped[0])}&quot;,args:[{name:&quot;_inline_13_arg0_&quot;,lvalue:!1,rvalue:!0,count:1},{name:&quot;_inline_13_arg1_&quot;,lvalue:!0,rvalue:!1,count:1},{name:&quot;_inline_13_arg2_&quot;,lvalue:!1,rvalue:!0,count:1},{name:&quot;_inline_13_arg3_&quot;,lvalue:!1,rvalue:!0,count:1},{name:&quot;_inline_13_arg4_&quot;,lvalue:!1,rvalue:!0,count:1}],thisVars:[&quot;this_warped&quot;],localVars:[]},post:{body:&quot;{}&quot;,args:[],thisVars:[],localVars:[]},debug:!1,funcName:&quot;warp1D&quot;,blockSize:64}),o=t(&quot;cwise/lib/wrapper&quot;)({args:[&quot;index&quot;,&quot;array&quot;,&quot;scalar&quot;,&quot;scalar&quot;,&quot;scalar&quot;],pre:{body:&quot;{this_warped=[0,0]}&quot;,args:[],thisVars:[&quot;this_warped&quot;],localVars:[]},body:{body:&quot;{_inline_16_arg2_(this_warped,_inline_16_arg0_),_inline_16_arg1_=_inline_16_arg3_(_inline_16_arg4_,this_warped[0],this_warped[1])}&quot;,args:[{name:&quot;_inline_16_arg0_&quot;,lvalue:!1,rvalue:!0,count:1},{name:&quot;_inline_16_arg1_&quot;,lvalue:!0,rvalue:!1,count:1},{name:&quot;_inline_16_arg2_&quot;,lvalue:!1,rvalue:!0,count:1},{name:&quot;_inline_16_arg3_&quot;,lvalue:!1,rvalue:!0,count:1},{name:&quot;_inline_16_arg4_&quot;,lvalue:!1,rvalue:!0,count:1}],thisVars:[&quot;this_warped&quot;],localVars:[]},post:{body:&quot;{}&quot;,args:[],thisVars:[],localVars:[]},debug:!1,funcName:&quot;warp2D&quot;,blockSize:64}),s=t(&quot;cwise/lib/wrapper&quot;)({args:[&quot;index&quot;,&quot;array&quot;,&quot;scalar&quot;,&quot;scalar&quot;,&quot;scalar&quot;],pre:{body:&quot;{this_warped=[0,0,0]}&quot;,args:[],thisVars:[&quot;this_warped&quot;],localVars:[]},body:{body:&quot;{_inline_19_arg2_(this_warped,_inline_19_arg0_),_inline_19_arg1_=_inline_19_arg3_(_inline_19_arg4_,this_warped[0],this_warped[1],this_warped[2])}&quot;,args:[{name:&quot;_inline_19_arg0_&quot;,lvalue:!1,rvalue:!0,count:1},{name:&quot;_inline_19_arg1_&quot;,lvalue:!0,rvalue:!1,count:1},{name:&quot;_inline_19_arg2_&quot;,lvalue:!1,rvalue:!0,count:1},{name:&quot;_inline_19_arg3_&quot;,lvalue:!1,rvalue:!0,count:1},{name:&quot;_inline_19_arg4_&quot;,lvalue:!1,rvalue:!0,count:1}],thisVars:[&quot;this_warped&quot;],localVars:[]},post:{body:&quot;{}&quot;,args:[],thisVars:[],localVars:[]},debug:!1,funcName:&quot;warp3D&quot;,blockSize:64});e.exports=function(t,e,r){switch(e.shape.length){case 1:a(t,r,n.d1,e);break;case 2:o(t,r,n.d2,e);break;case 3:s(t,r,n.d3,e);break;default:i(t,r,n.bind(void 0,e),e.shape.length)}return t}},{&quot;cwise/lib/wrapper&quot;:119,&quot;ndarray-linear-interpolate&quot;:451}],458:[function(t,e,r){function n(t,e){return t[0]-e[0]}function i(){var t,e=this.stride,r=new Array(e.length);for(t=0;t&lt;r.length;++t)r[t]=[Math.abs(e[t]),t];r.sort(n);var i=new Array(r.length);for(t=0;t&lt;i.length;++t)i[t]=r[t][1];return i}function a(t,e){var r=[&quot;View&quot;,e,&quot;d&quot;,t].join(&quot;&quot;);e&lt;0&amp;&amp;(r=&quot;View_Nil&quot;+t);var n=&quot;generic&quot;===t;if(-1===e){var a=&quot;function &quot;+r+&quot;(a){this.data=a;};var proto=&quot;+r+&quot;.prototype;proto.dtype='&quot;+t+&quot;';proto.index=function(){return -1};proto.size=0;proto.dimension=-1;proto.shape=proto.stride=proto.order=[];proto.lo=proto.hi=proto.transpose=proto.step=function(){return new &quot;+r+&quot;(this.data);};proto.get=proto.set=function(){};proto.pick=function(){return null};return function construct_&quot;+r+&quot;(a){return new &quot;+r+&quot;(a);}&quot;;return new Function(a)()}if(0===e){a=&quot;function &quot;+r+&quot;(a,d) {this.data = a;this.offset = d};var proto=&quot;+r+&quot;.prototype;proto.dtype='&quot;+t+&quot;';proto.index=function(){return this.offset};proto.dimension=0;proto.size=1;proto.shape=proto.stride=proto.order=[];proto.lo=proto.hi=proto.transpose=proto.step=function &quot;+r+&quot;_copy() {return new &quot;+r+&quot;(this.data,this.offset)};proto.pick=function &quot;+r+&quot;_pick(){return TrivialArray(this.data);};proto.valueOf=proto.get=function &quot;+r+&quot;_get(){return &quot;+(n?&quot;this.data.get(this.offset)&quot;:&quot;this.data[this.offset]&quot;)+&quot;};proto.set=function &quot;+r+&quot;_set(v){return &quot;+(n?&quot;this.data.set(this.offset,v)&quot;:&quot;this.data[this.offset]=v&quot;)+&quot;};return function construct_&quot;+r+&quot;(a,b,c,d){return new &quot;+r+&quot;(a,d)}&quot;;return new Function(&quot;TrivialArray&quot;,a)(c[t][0])}a=[&quot;'use strict'&quot;];var s=o(e),l=s.map(function(t){return&quot;i&quot;+t}),u=&quot;this.offset+&quot;+s.map(function(t){return&quot;this.stride[&quot;+t+&quot;]*i&quot;+t}).join(&quot;+&quot;),f=s.map(function(t){return&quot;b&quot;+t}).join(&quot;,&quot;),h=s.map(function(t){return&quot;c&quot;+t}).join(&quot;,&quot;);a.push(&quot;function &quot;+r+&quot;(a,&quot;+f+&quot;,&quot;+h+&quot;,d){this.data=a&quot;,&quot;this.shape=[&quot;+f+&quot;]&quot;,&quot;this.stride=[&quot;+h+&quot;]&quot;,&quot;this.offset=d|0}&quot;,&quot;var proto=&quot;+r+&quot;.prototype&quot;,&quot;proto.dtype='&quot;+t+&quot;'&quot;,&quot;proto.dimension=&quot;+e),a.push(&quot;Object.defineProperty(proto,'size',{get:function &quot;+r+&quot;_size(){return &quot;+s.map(function(t){return&quot;this.shape[&quot;+t+&quot;]&quot;}).join(&quot;*&quot;),&quot;}})&quot;),1===e?a.push(&quot;proto.order=[0]&quot;):(a.push(&quot;Object.defineProperty(proto,'order',{get:&quot;),e&lt;4?(a.push(&quot;function &quot;+r+&quot;_order(){&quot;),2===e?a.push(&quot;return (Math.abs(this.stride[0])&gt;Math.abs(this.stride[1]))?[1,0]:[0,1]}})&quot;):3===e&amp;&amp;a.push(&quot;var s0=Math.abs(this.stride[0]),s1=Math.abs(this.stride[1]),s2=Math.abs(this.stride[2]);if(s0&gt;s1){if(s1&gt;s2){return [2,1,0];}else if(s0&gt;s2){return [1,2,0];}else{return [1,0,2];}}else if(s0&gt;s2){return [2,0,1];}else if(s2&gt;s1){return [0,1,2];}else{return [0,2,1];}}})&quot;)):a.push(&quot;ORDER})&quot;)),a.push(&quot;proto.set=function &quot;+r+&quot;_set(&quot;+l.join(&quot;,&quot;)+&quot;,v){&quot;),n?a.push(&quot;return this.data.set(&quot;+u+&quot;,v)}&quot;):a.push(&quot;return this.data[&quot;+u+&quot;]=v}&quot;),a.push(&quot;proto.get=function &quot;+r+&quot;_get(&quot;+l.join(&quot;,&quot;)+&quot;){&quot;),n?a.push(&quot;return this.data.get(&quot;+u+&quot;)}&quot;):a.push(&quot;return this.data[&quot;+u+&quot;]}&quot;),a.push(&quot;proto.index=function &quot;+r+&quot;_index(&quot;,l.join(),&quot;){return &quot;+u+&quot;}&quot;),a.push(&quot;proto.hi=function &quot;+r+&quot;_hi(&quot;+l.join(&quot;,&quot;)+&quot;){return new &quot;+r+&quot;(this.data,&quot;+s.map(function(t){return[&quot;(typeof i&quot;,t,&quot;!=='number'||i&quot;,t,&quot;&lt;0)?this.shape[&quot;,t,&quot;]:i&quot;,t,&quot;|0&quot;].join(&quot;&quot;)}).join(&quot;,&quot;)+&quot;,&quot;+s.map(function(t){return&quot;this.stride[&quot;+t+&quot;]&quot;}).join(&quot;,&quot;)+&quot;,this.offset)}&quot;);var d=s.map(function(t){return&quot;a&quot;+t+&quot;=this.shape[&quot;+t+&quot;]&quot;}),p=s.map(function(t){return&quot;c&quot;+t+&quot;=this.stride[&quot;+t+&quot;]&quot;});a.push(&quot;proto.lo=function &quot;+r+&quot;_lo(&quot;+l.join(&quot;,&quot;)+&quot;){var b=this.offset,d=0,&quot;+d.join(&quot;,&quot;)+&quot;,&quot;+p.join(&quot;,&quot;));for(var m=0;m&lt;e;++m)a.push(&quot;if(typeof i&quot;+m+&quot;==='number'&amp;&amp;i&quot;+m+&quot;&gt;=0){d=i&quot;+m+&quot;|0;b+=c&quot;+m+&quot;*d;a&quot;+m+&quot;-=d}&quot;);a.push(&quot;return new &quot;+r+&quot;(this.data,&quot;+s.map(function(t){return&quot;a&quot;+t}).join(&quot;,&quot;)+&quot;,&quot;+s.map(function(t){return&quot;c&quot;+t}).join(&quot;,&quot;)+&quot;,b)}&quot;),a.push(&quot;proto.step=function &quot;+r+&quot;_step(&quot;+l.join(&quot;,&quot;)+&quot;){var &quot;+s.map(function(t){return&quot;a&quot;+t+&quot;=this.shape[&quot;+t+&quot;]&quot;}).join(&quot;,&quot;)+&quot;,&quot;+s.map(function(t){return&quot;b&quot;+t+&quot;=this.stride[&quot;+t+&quot;]&quot;}).join(&quot;,&quot;)+&quot;,c=this.offset,d=0,ceil=Math.ceil&quot;);for(m=0;m&lt;e;++m)a.push(&quot;if(typeof i&quot;+m+&quot;==='number'){d=i&quot;+m+&quot;|0;if(d&lt;0){c+=b&quot;+m+&quot;*(a&quot;+m+&quot;-1);a&quot;+m+&quot;=ceil(-a&quot;+m+&quot;/d)}else{a&quot;+m+&quot;=ceil(a&quot;+m+&quot;/d)}b&quot;+m+&quot;*=d}&quot;);a.push(&quot;return new &quot;+r+&quot;(this.data,&quot;+s.map(function(t){return&quot;a&quot;+t}).join(&quot;,&quot;)+&quot;,&quot;+s.map(function(t){return&quot;b&quot;+t}).join(&quot;,&quot;)+&quot;,c)}&quot;);var g=new Array(e),v=new Array(e);for(m=0;m&lt;e;++m)g[m]=&quot;a[i&quot;+m+&quot;]&quot;,v[m]=&quot;b[i&quot;+m+&quot;]&quot;;a.push(&quot;proto.transpose=function &quot;+r+&quot;_transpose(&quot;+l+&quot;){&quot;+l.map(function(t,e){return t+&quot;=(&quot;+t+&quot;===undefined?&quot;+e+&quot;:&quot;+t+&quot;|0)&quot;}).join(&quot;;&quot;),&quot;var a=this.shape,b=this.stride;return new &quot;+r+&quot;(this.data,&quot;+g.join(&quot;,&quot;)+&quot;,&quot;+v.join(&quot;,&quot;)+&quot;,this.offset)}&quot;),a.push(&quot;proto.pick=function &quot;+r+&quot;_pick(&quot;+l+&quot;){var a=[],b=[],c=this.offset&quot;);for(m=0;m&lt;e;++m)a.push(&quot;if(typeof i&quot;+m+&quot;==='number'&amp;&amp;i&quot;+m+&quot;&gt;=0){c=(c+this.stride[&quot;+m+&quot;]*i&quot;+m+&quot;)|0}else{a.push(this.shape[&quot;+m+&quot;]);b.push(this.stride[&quot;+m+&quot;])}&quot;);a.push(&quot;var ctor=CTOR_LIST[a.length+1];return ctor(this.data,a,b,c)}&quot;),a.push(&quot;return function construct_&quot;+r+&quot;(data,shape,stride,offset){return new &quot;+r+&quot;(data,&quot;+s.map(function(t){return&quot;shape[&quot;+t+&quot;]&quot;}).join(&quot;,&quot;)+&quot;,&quot;+s.map(function(t){return&quot;stride[&quot;+t+&quot;]&quot;}).join(&quot;,&quot;)+&quot;,offset)}&quot;);return new Function(&quot;CTOR_LIST&quot;,&quot;ORDER&quot;,a.join(&quot;\n&quot;))(c[t],i)}var o=t(&quot;iota-array&quot;),s=t(&quot;is-buffer&quot;),l=&quot;undefined&quot;!=typeof Float64Array,c={float32:[],float64:[],int8:[],int16:[],int32:[],uint8:[],uint16:[],uint32:[],array:[],uint8_clamped:[],buffer:[],generic:[]};e.exports=function(t,e,r,n){if(void 0===t)return(0,c.array[0])([]);&quot;number&quot;==typeof t&amp;&amp;(t=[t]),void 0===e&amp;&amp;(e=[t.length]);var i=e.length;if(void 0===r){r=new Array(i);for(var o=i-1,u=1;o&gt;=0;--o)r[o]=u,u*=e[o]}if(void 0===n)for(n=0,o=0;o&lt;i;++o)r[o]&lt;0&amp;&amp;(n-=(e[o]-1)*r[o]);for(var f=function(t){if(s(t))return&quot;buffer&quot;;if(l)switch(Object.prototype.toString.call(t)){case&quot;[object Float64Array]&quot;:return&quot;float64&quot;;case&quot;[object Float32Array]&quot;:return&quot;float32&quot;;case&quot;[object Int8Array]&quot;:return&quot;int8&quot;;case&quot;[object Int16Array]&quot;:return&quot;int16&quot;;case&quot;[object Int32Array]&quot;:return&quot;int32&quot;;case&quot;[object Uint8Array]&quot;:return&quot;uint8&quot;;case&quot;[object Uint16Array]&quot;:return&quot;uint16&quot;;case&quot;[object Uint32Array]&quot;:return&quot;uint32&quot;;case&quot;[object Uint8ClampedArray]&quot;:return&quot;uint8_clamped&quot;}return Array.isArray(t)?&quot;array&quot;:&quot;generic&quot;}(t),h=c[f];h.length&lt;=i+1;)h.push(a(f,h.length-1));return(0,h[i+1])(t,e,r,n)}},{&quot;iota-array&quot;:281,&quot;is-buffer&quot;:283}],459:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;double-bits&quot;),i=Math.pow(2,-1074),a=-1&gt;&gt;&gt;0;e.exports=function(t,e){if(isNaN(t)||isNaN(e))return NaN;if(t===e)return t;if(0===t)return e&lt;0?-i:i;var r=n.hi(t),o=n.lo(t);return e&gt;t==t&gt;0?o===a?(r+=1,o=0):o+=1:0===o?(o=a,r-=1):o-=1,n.pack(o,r)}},{&quot;double-bits&quot;:131}],460:[function(t,e,r){function n(t,e,r,n){return[&quot;C&quot;,t,e,r,n,r,n]}function i(t,e,r,n,i,a){return[&quot;C&quot;,t/3+2/3*r,e/3+2/3*n,i/3+2/3*r,a/3+2/3*n,i,a]}function a(t,e,r,n,i,s,u,f,h,d){if(d)M=d[0],k=d[1],_=d[2],w=d[3];else{var p=o(t,e,-i);t=p.x,e=p.y;var m=(t-(f=(p=o(f,h,-i)).x))/2,g=(e-(h=p.y))/2,v=m*m/(r*r)+g*g/(n*n);v&gt;1&amp;&amp;(r*=v=Math.sqrt(v),n*=v);var y=r*r,x=n*n,b=(s==u?-1:1)*Math.sqrt(Math.abs((y*x-y*g*g-x*m*m)/(y*g*g+x*m*m)));b==1/0&amp;&amp;(b=1);var _=b*r*g/n+(t+f)/2,w=b*-n*m/r+(e+h)/2,M=Math.asin(((e-w)/n).toFixed(9)),k=Math.asin(((h-w)/n).toFixed(9));M=t&lt;_?l-M:M,k=f&lt;_?l-k:k,M&lt;0&amp;&amp;(M=2*l+M),k&lt;0&amp;&amp;(k=2*l+k),u&amp;&amp;M&gt;k&amp;&amp;(M-=2*l),!u&amp;&amp;k&gt;M&amp;&amp;(k-=2*l)}if(Math.abs(k-M)&gt;c){var A=k,T=f,S=h;k=M+c*(u&amp;&amp;k&gt;M?1:-1);var E=a(f=_+r*Math.cos(k),h=w+n*Math.sin(k),r,n,i,0,u,T,S,[k,A,_,w])}var L=Math.tan((k-M)/4),C=4/3*r*L,z=4/3*n*L,D=[2*t-(t+C*Math.sin(M)),2*e-(e-z*Math.cos(M)),f+C*Math.sin(k),h-z*Math.cos(k),f,h];if(d)return D;E&amp;&amp;(D=D.concat(E));for(var I=0;I&lt;D.length;){var P=o(D[I],D[I+1],i);D[I++]=P.x,D[I++]=P.y}return D}function o(t,e,r){return{x:t*Math.cos(r)-e*Math.sin(r),y:t*Math.sin(r)+e*Math.cos(r)}}function s(t){return t*(l/180)}var l=Math.PI,c=s(120);e.exports=function(t){for(var e,r=[],o=0,l=0,c=0,u=0,f=null,h=null,d=0,p=0,m=0,g=t.length;m&lt;g;m++){var v=t[m],y=v[0];switch(y){case&quot;M&quot;:c=v[1],u=v[2];break;case&quot;A&quot;:(v=a(d,p,v[1],v[2],s(v[3]),v[4],v[5],v[6],v[7])).unshift(&quot;C&quot;),v.length&gt;7&amp;&amp;(r.push(v.splice(0,7)),v.unshift(&quot;C&quot;));break;case&quot;S&quot;:var x=d,b=p;&quot;C&quot;!=e&amp;&amp;&quot;S&quot;!=e||(x+=x-o,b+=b-l),v=[&quot;C&quot;,x,b,v[1],v[2],v[3],v[4]];break;case&quot;T&quot;:&quot;Q&quot;==e||&quot;T&quot;==e?(f=2*d-f,h=2*p-h):(f=d,h=p),v=i(d,p,f,h,v[1],v[2]);break;case&quot;Q&quot;:f=v[1],h=v[2],v=i(d,p,v[1],v[2],v[3],v[4]);break;case&quot;L&quot;:v=n(d,p,v[1],v[2]);break;case&quot;H&quot;:v=n(d,p,v[1],p);break;case&quot;V&quot;:v=n(d,p,d,v[1]);break;case&quot;Z&quot;:v=n(d,p,c,u)}e=y,d=v[v.length-2],p=v[v.length-1],v.length&gt;4?(o=v[v.length-4],l=v[v.length-3]):(o=d,l=p),r.push(v)}return r}},{}],461:[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&lt;n;++o)i[o]=[0,0,0];for(o=0;o&lt;t.length;++o)for(var s=t[o],l=0,c=s[s.length-1],u=s[0],f=0;f&lt;s.length;++f){l=c,c=u,u=s[(f+1)%s.length];for(var h=e[l],d=e[c],p=e[u],m=new Array(3),g=0,v=new Array(3),y=0,x=0;x&lt;3;++x)m[x]=h[x]-d[x],g+=m[x]*m[x],v[x]=p[x]-d[x],y+=v[x]*v[x];if(g*y&gt;a){var b=i[c],_=1/Math.sqrt(g*y);for(x=0;x&lt;3;++x){var w=(x+1)%3,M=(x+2)%3;b[x]+=_*(v[w]*m[M]-v[M]*m[w])}}}for(o=0;o&lt;n;++o){b=i[o];var k=0;for(x=0;x&lt;3;++x)k+=b[x]*b[x];if(k&gt;a)for(_=1/Math.sqrt(k),x=0;x&lt;3;++x)b[x]*=_;else for(x=0;x&lt;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&lt;n;++o){for(var s=t[o],l=new Array(3),c=0;c&lt;3;++c)l[c]=e[s[c]];var u=new Array(3),f=new Array(3);for(c=0;c&lt;3;++c)u[c]=l[1][c]-l[0][c],f[c]=l[2][c]-l[0][c];var h=new Array(3),d=0;for(c=0;c&lt;3;++c){var p=(c+1)%3,m=(c+2)%3;h[c]=u[p]*f[m]-u[m]*f[p],d+=h[c]*h[c]}d=d&gt;a?1/Math.sqrt(d):0;for(c=0;c&lt;3;++c)h[c]*=d;i[o]=h}return i}},{}],462:[function(t,e,r){&quot;use strict&quot;;var n=Object.getOwnPropertySymbols,i=Object.prototype.hasOwnProperty,a=Object.prototype.propertyIsEnumerable;e.exports=function(){try{if(!Object.assign)return!1;var t=new String(&quot;abc&quot;);if(t[5]=&quot;de&quot;,&quot;5&quot;===Object.getOwnPropertyNames(t)[0])return!1;for(var e={},r=0;r&lt;10;r++)e[&quot;_&quot;+String.fromCharCode(r)]=r;if(&quot;0123456789&quot;!==Object.getOwnPropertyNames(e).map(function(t){return e[t]}).join(&quot;&quot;))return!1;var n={};return&quot;abcdefghijklmnopqrst&quot;.split(&quot;&quot;).forEach(function(t){n[t]=t}),&quot;abcdefghijklmnopqrst&quot;===Object.keys(Object.assign({},n)).join(&quot;&quot;)}catch(t){return!1}}()?Object.assign:function(t,e){for(var r,o,s=function(t){if(null===t||void 0===t)throw new TypeError(&quot;Object.assign cannot be called with null or undefined&quot;);return Object(t)}(t),l=1;l&lt;arguments.length;l++){r=Object(arguments[l]);for(var c in r)i.call(r,c)&amp;&amp;(s[c]=r[c]);if(n){o=n(r);for(var u=0;u&lt;o.length;u++)a.call(r,o[u])&amp;&amp;(s[o[u]]=r[o[u]])}}return s}},{}],463:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t,e,r,n,i,a,o,s,l,c){var u=e+a+c;if(f&gt;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&gt;=h?(t[0]=.5*f,t[1]=.5*(i+r)/f,t[2]=.5*(s+n)/f,t[3]=.5*(o-l)/f):a&gt;=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}},{}],464:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r){return Math.sqrt(Math.pow(t,2)+Math.pow(e,2)+Math.pow(r,2))}function i(t,e,r,n){return Math.sqrt(Math.pow(t,2)+Math.pow(e,2)+Math.pow(r,2)+Math.pow(n,2))}function a(t,e){var r=e[0],n=e[1],a=e[2],o=e[3],s=i(r,n,a,o);s&gt;1e-6?(t[0]=r/s,t[1]=n/s,t[2]=a/s,t[3]=o/s):(t[0]=t[1]=t[2]=0,t[3]=1)}function o(t,e,r){this.radius=s([r]),this.center=s(e),this.rotation=s(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)}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),a(r=[].slice.call(r,0,4),r);var i=new o(r,e,Math.log(n));return i.setDistanceLimits(t.zoomMin,t.zoomMax),(&quot;eye&quot;in t||&quot;up&quot;in t)&amp;&amp;i.lookAt(0,t.eye,t.center,t.up),i};var s=t(&quot;filtered-vector&quot;),l=t(&quot;gl-mat4/lookAt&quot;),c=t(&quot;gl-mat4/fromQuat&quot;),u=t(&quot;gl-mat4/invert&quot;),f=t(&quot;./lib/quatFromFrame&quot;),h=o.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;a(e,e);var r=this.computedMatrix;c(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&lt;3;++l){for(var u=0,f=0;f&lt;3;++f)u+=r[l+4*f]*i[f];r[12+l]=-u}},h.getMatrix=function(t,e){this.recalcMatrix(t);var r=this.computedMatrix;if(e){for(var n=0;n&lt;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,i){e=e||0,r=r||0,i=i||0,this.recalcMatrix(t);var a=this.computedMatrix,o=a[1],s=a[5],l=a[9],c=n(o,s,l);o/=c,s/=c,l/=c;var u=a[0],f=a[4],h=a[8],d=u*o+f*s+h*l,p=n(u-=o*d,f-=s*d,h-=l*d);u/=p,f/=p,h/=p;var m=a[2],g=a[6],v=a[10],y=m*o+g*s+v*l,x=m*u+g*f+v*h,b=n(m-=y*o+x*u,g-=y*s+x*f,v-=y*l+x*h);m/=b,g/=b,v/=b;var _=u*e+o*r,w=f*e+s*r,M=h*e+l*r;this.center.move(t,_,w,M);var k=Math.exp(this.computedRadius[0]);k=Math.max(1e-4,k+i),this.radius.set(t,Math.log(k))},h.rotate=function(t,e,r,a){this.recalcMatrix(t),e=e||0,r=r||0;var o=this.computedMatrix,s=o[0],l=o[4],c=o[8],u=o[1],f=o[5],h=o[9],d=o[2],p=o[6],m=o[10],g=e*s+r*u,v=e*l+r*f,y=e*c+r*h,x=-(p*y-m*v),b=-(m*g-d*y),_=-(d*v-p*g),w=Math.sqrt(Math.max(0,1-Math.pow(x,2)-Math.pow(b,2)-Math.pow(_,2))),M=i(x,b,_,w);M&gt;1e-6?(x/=M,b/=M,_/=M,w/=M):(x=b=_=0,w=1);var k=this.computedRotation,A=k[0],T=k[1],S=k[2],E=k[3],L=A*w+E*x+T*_-S*b,C=T*w+E*b+S*x-A*_,z=S*w+E*_+A*b-T*x,D=E*w-A*x-T*b-S*_;if(a){x=d,b=p,_=m;var I=Math.sin(a)/n(x,b,_);x*=I,b*=I,_*=I,D=D*(w=Math.cos(e))-(L=L*w+D*x+C*_-z*b)*x-(C=C*w+D*b+z*x-L*_)*b-(z=z*w+D*_+L*b-C*x)*_}var P=i(L,C,z,D);P&gt;1e-6?(L/=P,C/=P,z/=P,D/=P):(L=C=z=0,D=1),this.rotation.set(t,L,C,z,D)},h.lookAt=function(t,e,r,n){this.recalcMatrix(t),r=r||this.computedCenter,e=e||this.computedEye,n=n||this.computedUp;var i=this.computedMatrix;l(i,e,r,n);var o=this.computedRotation;f(o,i[0],i[1],i[2],i[4],i[5],i[6],i[8],i[9],i[10]),a(o,o),this.rotation.set(t,o[0],o[1],o[2],o[3]);for(var s=0,c=0;c&lt;3;++c)s+=Math.pow(r[c]-e[c],2);this.radius.set(t,.5*Math.log(Math.max(s,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;f(r,e[0],e[1],e[2],e[4],e[5],e[6],e[8],e[9],e[10]),a(r,r),this.rotation.set(t,r[0],r[1],r[2],r[3]);var n=this.computedMatrix;u(n,e);var i=n[15];if(Math.abs(i)&gt;1e-6){var o=n[12]/i,s=n[13]/i,l=n[14]/i;this.recalcMatrix(t);var c=Math.exp(this.computedRadius[0]);this.center.set(t,o-n[2]*c,s-n[6]*c,l-n[10]*c),this.radius.idle(t)}else this.center.idle(t),this.radius.idle(t)},h.setDistance=function(t,e){e&gt;0&amp;&amp;this.radius.set(t,Math.log(e))},h.setDistanceLimits=function(t,e){t=t&gt;0?Math.log(t):-1/0,e=e&gt;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&amp;&amp;this.center.set(e,r[0],r[1],r[2]);var n=t.rotation;n&amp;&amp;this.rotation.set(e,n[0],n[1],n[2],n[3]);var i=t.distance;i&amp;&amp;i&gt;0&amp;&amp;this.radius.set(e,Math.log(i)),this.setDistanceLimits(t.zoomMin,t.zoomMax)}},{&quot;./lib/quatFromFrame&quot;:463,&quot;filtered-vector&quot;:142,&quot;gl-mat4/fromQuat&quot;:183,&quot;gl-mat4/invert&quot;:186,&quot;gl-mat4/lookAt&quot;:187}],465:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;repeat-string&quot;);e.exports=function(t,e,r){return r=void 0!==r?r+&quot;&quot;:&quot; &quot;,n(r,e)+t}},{&quot;repeat-string&quot;:507}],466:[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),&quot;m&quot;==o&amp;&amp;i.length&gt;2&amp;&amp;(e.push([r].concat(i.splice(0,2))),o=&quot;l&quot;,r=&quot;m&quot;==r?&quot;l&quot;:&quot;L&quot;);;){if(i.length==n[o])return i.unshift(r),e.push(i);if(i.length&lt;n[o])throw new Error(&quot;malformed path data&quot;);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,a=/-?[0-9]*\.?[0-9]+(?:e[-+]?\d+)?/gi},{}],467:[function(t,e,r){e.exports=function(t,e){e||(e=[0,&quot;&quot;]),t=String(t);var r=parseFloat(t,10);return e[0]=r,e[1]=t.match(/[\d.\-\+]*\s*(.*)/)[1]||&quot;&quot;,e}},{}],468:[function(t,e,r){(function(t){function e(t,e){for(var r=0,n=t.length-1;n&gt;=0;n--){var i=t[n];&quot;.&quot;===i?t.splice(n,1):&quot;..&quot;===i?(t.splice(n,1),r++):r&amp;&amp;(t.splice(n,1),r--)}if(e)for(;r--;r)t.unshift(&quot;..&quot;);return t}function n(t,e){if(t.filter)return t.filter(e);for(var r=[],n=0;n&lt;t.length;n++)e(t[n],n,t)&amp;&amp;r.push(t[n]);return r}var i=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/,a=function(t){return i.exec(t).slice(1)};r.resolve=function(){for(var r=&quot;&quot;,i=!1,a=arguments.length-1;a&gt;=-1&amp;&amp;!i;a--){var o=a&gt;=0?arguments[a]:t.cwd();if(&quot;string&quot;!=typeof o)throw new TypeError(&quot;Arguments to path.resolve must be strings&quot;);o&amp;&amp;(r=o+&quot;/&quot;+r,i=&quot;/&quot;===o.charAt(0))}return r=e(n(r.split(&quot;/&quot;),function(t){return!!t}),!i).join(&quot;/&quot;),(i?&quot;/&quot;:&quot;&quot;)+r||&quot;.&quot;},r.normalize=function(t){var i=r.isAbsolute(t),a=&quot;/&quot;===o(t,-1);return(t=e(n(t.split(&quot;/&quot;),function(t){return!!t}),!i).join(&quot;/&quot;))||i||(t=&quot;.&quot;),t&amp;&amp;a&amp;&amp;(t+=&quot;/&quot;),(i?&quot;/&quot;:&quot;&quot;)+t},r.isAbsolute=function(t){return&quot;/&quot;===t.charAt(0)},r.join=function(){var t=Array.prototype.slice.call(arguments,0);return r.normalize(n(t,function(t,e){if(&quot;string&quot;!=typeof t)throw new TypeError(&quot;Arguments to path.join must be strings&quot;);return t}).join(&quot;/&quot;))},r.relative=function(t,e){function n(t){for(var e=0;e&lt;t.length&amp;&amp;&quot;&quot;===t[e];e++);for(var r=t.length-1;r&gt;=0&amp;&amp;&quot;&quot;===t[r];r--);return e&gt;r?[]:t.slice(e,r-e+1)}t=r.resolve(t).substr(1),e=r.resolve(e).substr(1);for(var i=n(t.split(&quot;/&quot;)),a=n(e.split(&quot;/&quot;)),o=Math.min(i.length,a.length),s=o,l=0;l&lt;o;l++)if(i[l]!==a[l]){s=l;break}var c=[];for(l=s;l&lt;i.length;l++)c.push(&quot;..&quot;);return(c=c.concat(a.slice(s))).join(&quot;/&quot;)},r.sep=&quot;/&quot;,r.delimiter=&quot;:&quot;,r.dirname=function(t){var e=a(t),r=e[0],n=e[1];return r||n?(n&amp;&amp;(n=n.substr(0,n.length-1)),r+n):&quot;.&quot;},r.basename=function(t,e){var r=a(t)[2];return e&amp;&amp;r.substr(-1*e.length)===e&amp;&amp;(r=r.substr(0,r.length-e.length)),r},r.extname=function(t){return a(t)[3]};var o=&quot;b&quot;===&quot;ab&quot;.substr(-1)?function(t,e,r){return t.substr(e,r)}:function(t,e,r){return e&lt;0&amp;&amp;(e=t.length+e),t.substr(e,r)}}).call(this,t(&quot;_process&quot;))},{_process:488}],469:[function(t,e,r){&quot;use strict&quot;;function n(t){var e;t&amp;&amp;t.length&amp;&amp;(t=(e=t).length);var r=new Uint8Array(t||0);return e&amp;&amp;r.set(e),r.readUInt32LE=a.readUInt32LE,r.writeUInt32LE=a.writeUInt32LE,r.readInt32LE=a.readInt32LE,r.writeInt32LE=a.writeInt32LE,r.readFloatLE=a.readFloatLE,r.writeFloatLE=a.writeFloatLE,r.readDoubleLE=a.readDoubleLE,r.writeDoubleLE=a.writeDoubleLE,r.toString=a.toString,r.write=a.write,r.slice=a.slice,r.copy=a.copy,r._isBuffer=!0,r}function i(t){for(var e,r,n=t.length,i=[],a=0;a&lt;n;a++){if((e=t.charCodeAt(a))&gt;55295&amp;&amp;e&lt;57344){if(!r){e&gt;56319||a+1===n?i.push(239,191,189):r=e;continue}if(e&lt;56320){i.push(239,191,189),r=e;continue}e=r-55296&lt;&lt;10|e-56320|65536,r=null}else r&amp;&amp;(i.push(239,191,189),r=null);e&lt;128?i.push(e):e&lt;2048?i.push(e&gt;&gt;6|192,63&amp;e|128):e&lt;65536?i.push(e&gt;&gt;12|224,e&gt;&gt;6&amp;63|128,63&amp;e|128):i.push(e&gt;&gt;18|240,e&gt;&gt;12&amp;63|128,e&gt;&gt;6&amp;63|128,63&amp;e|128)}return i}e.exports=n;var a,o,s,l=t(&quot;ieee754&quot;);(a={readUInt32LE:function(t){return(this[t]|this[t+1]&lt;&lt;8|this[t+2]&lt;&lt;16)+16777216*this[t+3]},writeUInt32LE:function(t,e){this[e]=t,this[e+1]=t&gt;&gt;&gt;8,this[e+2]=t&gt;&gt;&gt;16,this[e+3]=t&gt;&gt;&gt;24},readInt32LE:function(t){return(this[t]|this[t+1]&lt;&lt;8|this[t+2]&lt;&lt;16)+(this[t+3]&lt;&lt;24)},readFloatLE:function(t){return l.read(this,t,!0,23,4)},readDoubleLE:function(t){return l.read(this,t,!0,52,8)},writeFloatLE:function(t,e){return l.write(this,t,e,!0,23,4)},writeDoubleLE:function(t,e){return l.write(this,t,e,!0,52,8)},toString:function(t,e,r){var n=&quot;&quot;,i=&quot;&quot;;e=e||0,r=Math.min(this.length,r||this.length);for(var a=e;a&lt;r;a++){var o=this[a];o&lt;=127?(n+=decodeURIComponent(i)+String.fromCharCode(o),i=&quot;&quot;):i+=&quot;%&quot;+o.toString(16)}return n+=decodeURIComponent(i)},write:function(t,e){for(var r=t===o?s:i(t),n=0;n&lt;r.length;n++)this[e+n]=r[n]},slice:function(t,e){return this.subarray(t,e)},copy:function(t,e){e=e||0;for(var r=0;r&lt;this.length;r++)t[e+r]=this[r]}}).writeInt32LE=a.writeUInt32LE,n.byteLength=function(t){return o=t,(s=i(t)).length},n.isBuffer=function(t){return!(!t||!t._isBuffer)}},{ieee754:277}],470:[function(t,e,r){(function(r){&quot;use strict&quot;;function n(t){this.buf=d.isBuffer(t)?t:new d(t||0),this.pos=0,this.length=this.buf.length}function i(t,e){for(var r=0;r&lt;t.length;r++)e.writeVarint(t[r])}function a(t,e){for(var r=0;r&lt;t.length;r++)e.writeSVarint(t[r])}function o(t,e){for(var r=0;r&lt;t.length;r++)e.writeFloat(t[r])}function s(t,e){for(var r=0;r&lt;t.length;r++)e.writeDouble(t[r])}function l(t,e){for(var r=0;r&lt;t.length;r++)e.writeBoolean(t[r])}function c(t,e){for(var r=0;r&lt;t.length;r++)e.writeFixed32(t[r])}function u(t,e){for(var r=0;r&lt;t.length;r++)e.writeSFixed32(t[r])}function f(t,e){for(var r=0;r&lt;t.length;r++)e.writeFixed64(t[r])}function h(t,e){for(var r=0;r&lt;t.length;r++)e.writeSFixed64(t[r])}e.exports=n;var d=r.Buffer||t(&quot;./buffer&quot;);n.Varint=0,n.Fixed64=1,n.Bytes=2,n.Fixed32=5;var p=Math.pow(2,63);n.prototype={destroy:function(){this.buf=null},readFields:function(t,e,r){for(r=r||this.length;this.pos&lt;r;){var n=this.readVarint(),i=n&gt;&gt;3,a=this.pos;t(i,e,this),this.pos===a&amp;&amp;this.skip(n)}return e},readMessage:function(t,e){return this.readFields(t,e,this.readVarint()+this.pos)},readFixed32:function(){var t=this.buf.readUInt32LE(this.pos);return this.pos+=4,t},readSFixed32:function(){var t=this.buf.readInt32LE(this.pos);return this.pos+=4,t},readFixed64:function(){var t=this.buf.readUInt32LE(this.pos)+4294967296*this.buf.readUInt32LE(this.pos+4);return this.pos+=8,t},readSFixed64:function(){var t=this.buf.readUInt32LE(this.pos)+4294967296*this.buf.readInt32LE(this.pos+4);return this.pos+=8,t},readFloat:function(){var t=this.buf.readFloatLE(this.pos);return this.pos+=4,t},readDouble:function(){var t=this.buf.readDoubleLE(this.pos);return this.pos+=8,t},readVarint:function(){var t,e,r=this.buf;return e=r[this.pos++],t=127&amp;e,e&lt;128?t:(e=r[this.pos++],t|=(127&amp;e)&lt;&lt;7,e&lt;128?t:(e=r[this.pos++],t|=(127&amp;e)&lt;&lt;14,e&lt;128?t:(e=r[this.pos++],t|=(127&amp;e)&lt;&lt;21,e&lt;128?t:function(t,e){var r,n=e.buf;if(r=n[e.pos++],t+=268435456*(127&amp;r),r&lt;128)return t;if(r=n[e.pos++],t+=34359738368*(127&amp;r),r&lt;128)return t;if(r=n[e.pos++],t+=4398046511104*(127&amp;r),r&lt;128)return t;if(r=n[e.pos++],t+=562949953421312*(127&amp;r),r&lt;128)return t;if(r=n[e.pos++],t+=72057594037927940*(127&amp;r),r&lt;128)return t;if(r=n[e.pos++],t+=0x8000000000000000*(127&amp;r),r&lt;128)return t;throw new Error(&quot;Expected varint not more than 10 bytes&quot;)}(t,this))))},readVarint64:function(){var t=this.pos,e=this.readVarint();if(e&lt;p)return e;for(var r=this.pos-2;255===this.buf[r];)r--;r&lt;t&amp;&amp;(r=t),e=0;for(var n=0;n&lt;r-t+1;n++){var i=127&amp;~this.buf[t+n];e+=n&lt;4?i&lt;&lt;7*n:i*Math.pow(2,7*n)}return-e-1},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.buf.toString(&quot;utf8&quot;,this.pos,t);return this.pos=t,e},readBytes:function(){var t=this.readVarint()+this.pos,e=this.buf.slice(this.pos,t);return this.pos=t,e},readPackedVarint:function(){for(var t=this.readVarint()+this.pos,e=[];this.pos&lt;t;)e.push(this.readVarint());return e},readPackedSVarint:function(){for(var t=this.readVarint()+this.pos,e=[];this.pos&lt;t;)e.push(this.readSVarint());return e},readPackedBoolean:function(){for(var t=this.readVarint()+this.pos,e=[];this.pos&lt;t;)e.push(this.readBoolean());return e},readPackedFloat:function(){for(var t=this.readVarint()+this.pos,e=[];this.pos&lt;t;)e.push(this.readFloat());return e},readPackedDouble:function(){for(var t=this.readVarint()+this.pos,e=[];this.pos&lt;t;)e.push(this.readDouble());return e},readPackedFixed32:function(){for(var t=this.readVarint()+this.pos,e=[];this.pos&lt;t;)e.push(this.readFixed32());return e},readPackedSFixed32:function(){for(var t=this.readVarint()+this.pos,e=[];this.pos&lt;t;)e.push(this.readSFixed32());return e},readPackedFixed64:function(){for(var t=this.readVarint()+this.pos,e=[];this.pos&lt;t;)e.push(this.readFixed64());return e},readPackedSFixed64:function(){for(var t=this.readVarint()+this.pos,e=[];this.pos&lt;t;)e.push(this.readSFixed64());return e},skip:function(t){var e=7&amp;t;if(e===n.Varint)for(;this.buf[this.pos++]&gt;127;);else if(e===n.Bytes)this.pos=this.readVarint()+this.pos;else if(e===n.Fixed32)this.pos+=4;else{if(e!==n.Fixed64)throw new Error(&quot;Unimplemented type: &quot;+e);this.pos+=8}},writeTag:function(t,e){this.writeVarint(t&lt;&lt;3|e)},realloc:function(t){for(var e=this.length||16;e&lt;this.pos+t;)e*=2;if(e!==this.length){var r=new d(e);this.buf.copy(r),this.buf=r,this.length=e}},finish:function(){return this.length=this.pos,this.pos=0,this.buf.slice(0,this.length)},writeFixed32:function(t){this.realloc(4),this.buf.writeUInt32LE(t,this.pos),this.pos+=4},writeSFixed32:function(t){this.realloc(4),this.buf.writeInt32LE(t,this.pos),this.pos+=4},writeFixed64:function(t){this.realloc(8),this.buf.writeInt32LE(-1&amp;t,this.pos),this.buf.writeUInt32LE(Math.floor(t*(1/4294967296)),this.pos+4),this.pos+=8},writeSFixed64:function(t){this.realloc(8),this.buf.writeInt32LE(-1&amp;t,this.pos),this.buf.writeInt32LE(Math.floor(t*(1/4294967296)),this.pos+4),this.pos+=8},writeVarint:function(t){(t=+t)&gt;268435455?function(t,e){e.realloc(10);for(var r=e.pos+10;t&gt;=1;){if(e.pos&gt;=r)throw new Error(&quot;Given varint doesn't fit into 10 bytes&quot;);var n=255&amp;t;e.buf[e.pos++]=n|(t&gt;=128?128:0),t/=128}}(t,this):(this.realloc(4),this.buf[this.pos++]=127&amp;t|(t&gt;127?128:0),t&lt;=127||(this.buf[this.pos++]=127&amp;(t&gt;&gt;&gt;=7)|(t&gt;127?128:0),t&lt;=127||(this.buf[this.pos++]=127&amp;(t&gt;&gt;&gt;=7)|(t&gt;127?128:0),t&lt;=127||(this.buf[this.pos++]=t&gt;&gt;&gt;7&amp;127))))},writeSVarint:function(t){this.writeVarint(t&lt;0?2*-t-1:2*t)},writeBoolean:function(t){this.writeVarint(Boolean(t))},writeString:function(t){t=String(t);var e=d.byteLength(t);this.writeVarint(e),this.realloc(e),this.buf.write(t,this.pos),this.pos+=e},writeFloat:function(t){this.realloc(4),this.buf.writeFloatLE(t,this.pos),this.pos+=4},writeDouble:function(t){this.realloc(8),this.buf.writeDoubleLE(t,this.pos),this.pos+=8},writeBytes:function(t){var e=t.length;this.writeVarint(e),this.realloc(e);for(var r=0;r&lt;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&gt;=128&amp;&amp;function(t,e,r){var n=e&lt;=16383?1:e&lt;=2097151?2:e&lt;=268435455?3:Math.ceil(Math.log(e)/(7*Math.LN2));r.realloc(n);for(var i=r.pos-1;i&gt;=t;i--)r.buf[i+n]=r.buf[i]}(r,n,this),this.pos=r-1,this.writeVarint(n),this.pos+=n},writeMessage:function(t,e,r){this.writeTag(t,n.Bytes),this.writeRawMessage(e,r)},writePackedVarint:function(t,e){this.writeMessage(t,i,e)},writePackedSVarint:function(t,e){this.writeMessage(t,a,e)},writePackedBoolean:function(t,e){this.writeMessage(t,l,e)},writePackedFloat:function(t,e){this.writeMessage(t,o,e)},writePackedDouble:function(t,e){this.writeMessage(t,s,e)},writePackedFixed32:function(t,e){this.writeMessage(t,c,e)},writePackedSFixed32:function(t,e){this.writeMessage(t,u,e)},writePackedFixed64:function(t,e){this.writeMessage(t,f,e)},writePackedSFixed64:function(t,e){this.writeMessage(t,h,e)},writeBytesField:function(t,e){this.writeTag(t,n.Bytes),this.writeBytes(e)},writeFixed32Field:function(t,e){this.writeTag(t,n.Fixed32),this.writeFixed32(e)},writeSFixed32Field:function(t,e){this.writeTag(t,n.Fixed32),this.writeSFixed32(e)},writeFixed64Field:function(t,e){this.writeTag(t,n.Fixed64),this.writeFixed64(e)},writeSFixed64Field:function(t,e){this.writeTag(t,n.Fixed64),this.writeSFixed64(e)},writeVarintField:function(t,e){this.writeTag(t,n.Varint),this.writeVarint(e)},writeSVarintField:function(t,e){this.writeTag(t,n.Varint),this.writeSVarint(e)},writeStringField:function(t,e){this.writeTag(t,n.Bytes),this.writeString(e)},writeFloatField:function(t,e){this.writeTag(t,n.Fixed32),this.writeFloat(e)},writeDoubleField:function(t,e){this.writeTag(t,n.Fixed64),this.writeDouble(e)},writeBooleanField:function(t,e){this.writeVarintField(t,Boolean(e))}}}).call(this,&quot;undefined&quot;!=typeof global?global:&quot;undefined&quot;!=typeof self?self:&quot;undefined&quot;!=typeof window?window:{})},{&quot;./buffer&quot;:469}],471:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t){var e=t.length;if(e&lt;n){for(var r=1,a=0;a&lt;e;++a)for(var o=0;o&lt;a;++o)if(t[a]&lt;t[o])r=-r;else if(t[a]===t[o])return 0;return r}var s=i.mallocUint8(e);for(a=0;a&lt;e;++a)s[a]=0;for(r=1,a=0;a&lt;e;++a)if(!s[a]){var l=1;for(s[a]=1,o=t[a];o!==a;o=t[o]){if(s[o])return i.freeUint8(s),0;l+=1,s[o]=1}1&amp;l||(r=-r)}return i.freeUint8(s),r};var n=32,i=t(&quot;typedarray-pool&quot;)},{&quot;typedarray-pool&quot;:554}],472:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;typedarray-pool&quot;),i=t(&quot;invert-permutation&quot;);r.rank=function(t){var e=t.length;switch(e){case 0:case 1:return 0;case 2:return t[1]}var r,a,o,s=n.mallocUint32(e),l=n.mallocUint32(e),c=0;for(i(t,l),o=0;o&lt;e;++o)s[o]=t[o];for(o=e-1;o&gt;0;--o)a=l[o],r=s[o],s[o]=s[a],s[a]=r,l[o]=l[r],l[r]=a,c=(c+r)*o;return n.freeUint32(l),n.freeUint32(s),c},r.unrank=function(t,e,r){switch(t){case 0:return r||[];case 1:return r?(r[0]=0,r):[0];case 2:return r?(e?(r[0]=0,r[1]=1):(r[0]=1,r[1]=0),r):e?[0,1]:[1,0]}var n,i,a,o=1;for((r=r||new Array(t))[0]=0,a=1;a&lt;t;++a)r[a]=a,o=o*a|0;for(a=t-1;a&gt;0;--a)e=e-(n=e/o|0)*o|0,o=o/a|0,i=0|r[a],r[a]=0|r[n],r[n]=0|i;return r}},{&quot;invert-permutation&quot;:280,&quot;typedarray-pool&quot;:554}],473:[function(t,e,r){&quot;use strict&quot;;function n(t){return i[t]?i[t]:(&quot;string&quot;==typeof t&amp;&amp;(t=i[t]=t.split(/\s*,\s*|\s+/)),t)}e.exports=function(t,e,r){var i,a,o={};if(&quot;string&quot;==typeof e&amp;&amp;(e=n(e)),Array.isArray(e)){var s={};for(a=0;a&lt;e.length;a++)s[e[a]]=!0;e=s}for(i in e)e[i]=n(e[i]);var l={};for(i in e){var c=e[i];if(Array.isArray(c))for(a=0;a&lt;c.length;a++){var u=c[a];if(r&amp;&amp;(l[u]=!0),u in t){if(o[i]=t[u],r)for(var f=a;f&lt;c.length;f++)l[c[f]]=!0;break}}else i in t&amp;&amp;(e[i]&amp;&amp;(o[i]=t[i]),r&amp;&amp;(l[i]=!0))}if(r)for(i in t)l[i]||(o[i]=t[i]);return o};var i={}},{}],474:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t,e){function r(t,e){var r=c[e][t[e]];r.splice(r.indexOf(t),1)}function i(t,i,a){for(var o,s,l,u=0;u&lt;2;++u)if(c[u][i].length&gt;0){o=c[u][i][0],l=u;break}s=o[1^l];for(var f=0;f&lt;2;++f)for(var h=c[f][i],d=0;d&lt;h.length;++d){var p=h[d],m=p[1^f];n(e[t],e[i],e[s],e[m])&gt;0&amp;&amp;(o=p,s=m,l=f)}return a?s:(o&amp;&amp;r(o,l),s)}function a(t,a){var o=c[a][t][0],s=[t];r(o,a);for(var l=o[1^a];;){for(;l!==t;)s.push(l),l=i(s[s.length-2],l,!1);if(c[0][t].length+c[1][t].length===0)break;var u=s[s.length-1],f=t,h=s[1],d=i(u,f,!0);if(n(e[u],e[f],e[h],e[d])&lt;0)break;s.push(t),l=i(u,f)}return s}function o(t,e){return e[1]===e[e.length-1]}for(var s=0|e.length,l=t.length,c=[new Array(s),new Array(s)],u=0;u&lt;s;++u)c[0][u]=[],c[1][u]=[];for(u=0;u&lt;l;++u){var f=t[u];c[0][f[0]].push(f),c[1][f[1]].push(f)}var h=[];for(u=0;u&lt;s;++u)c[0][u].length+c[1][u].length===0&amp;&amp;h.push([u]);for(u=0;u&lt;s;++u)for(var d=0;d&lt;2;++d){for(var p=[];c[d][u].length&gt;0;){c[0][u].length;var m=a(u,d);o(0,m)?p.push.apply(p,m):(p.length&gt;0&amp;&amp;h.push(p),p=m)}p.length&gt;0&amp;&amp;h.push(p)}return h};var n=t(&quot;compare-angle&quot;)},{&quot;compare-angle&quot;:106}],475:[function(t,e,r){&quot;use strict&quot;;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&lt;e.length;++s){var l=r[s].length;a[s]=l,i[s]=!0,l&lt;=1&amp;&amp;o.push(s)}for(;o.length&gt;0;){i[d=o.pop()]=!1;var c=r[d];for(s=0;s&lt;c.length;++s){var u=c[s];0==--a[u]&amp;&amp;o.push(u)}}var f=new Array(e.length),h=[];for(s=0;s&lt;e.length;++s)if(i[s]){var d=h.length;f[s]=d,h.push(e[s])}else f[s]=-1;var p=[];for(s=0;s&lt;t.length;++s){var m=t[s];i[m[0]]&amp;&amp;i[m[1]]&amp;&amp;p.push([f[m[0]],f[m[1]]])}return[p,h]};var n=t(&quot;edges-to-adjacency-list&quot;)},{&quot;edges-to-adjacency-list&quot;:136}],476:[function(t,e,r){&quot;use strict&quot;;function n(t,e){for(var r=new Array(t),n=0;n&lt;t;++n)r[n]=e;return r}e.exports=function(t,e){function r(t){for(var e=t.length,r=0;r&lt;e;++r)if(!C[t[r]])return!1;return!0}t=(R=u(t,e))[0];for(var f=(e=R[1]).length,h=(t.length,i(t,e.length)),d=0;d&lt;f;++d)if(h[d].length%2==1)throw new Error(&quot;planar-graph-to-polyline: graph must be manifold&quot;);var p=a(t,e),m=(p=p.filter(function(t){for(var r=t.length,n=[0],i=0;i&lt;r;++i){var a=e[t[i]],o=e[t[(i+1)%r]],c=s(-a[0],a[1]),u=s(-a[0],o[1]),f=s(o[0],a[1]),h=s(o[0],o[1]);n=l(n,l(l(c,u),l(f,h)))}return n[n.length-1]&gt;0})).length,g=new Array(m),v=new Array(m);for(d=0;d&lt;m;++d){g[d]=d;var y=new Array(m),x=p[d].map(function(t){return e[t]}),b=o([x]),_=0;t:for(var w=0;w&lt;m;++w)if(y[w]=0,d!==w){for(var M=(H=p[w]).length,k=0;k&lt;M;++k){var A=b(e[H[k]]);if(0!==A){A&lt;0&amp;&amp;(y[w]=1,_+=1);continue t}}y[w]=1,_+=1}v[d]=[_,d,y]}for(v.sort(function(t,e){return e[0]-t[0]}),d=0;d&lt;m;++d){var T=(y=v[d])[1],S=y[2];for(w=0;w&lt;m;++w)S[w]&amp;&amp;(g[w]=T)}var E=function(t){for(var e=new Array(t),r=0;r&lt;t;++r)e[r]=[];return e}(m);for(d=0;d&lt;m;++d)E[d].push(g[d]),E[g[d]].push(d);var L={},C=n(f,!1);for(d=0;d&lt;m;++d)for(M=(H=p[d]).length,w=0;w&lt;M;++w){var z=H[w],D=H[(w+1)%M],I=Math.min(z,D)+&quot;:&quot;+Math.max(z,D);if(I in L){var P=L[I];E[P].push(d),E[d].push(P),C[z]=C[D]=!0}else L[I]=d}var O=[],F=n(m,-1);for(d=0;d&lt;m;++d)g[d]!==d||r(p[d])?F[d]=-1:(O.push(d),F[d]=0);for(var R=[];O.length&gt;0;){var N=O.pop(),j=E[N];c(j,function(t,e){return t-e});var B,U=j.length,V=F[N];for(0===V&amp;&amp;(B=[H=p[N]]),d=0;d&lt;U;++d){var q=j[d];if(!(F[q]&gt;=0)&amp;&amp;(F[q]=1^V,O.push(q),0===V)){var H;r(H=p[q])||(H.reverse(),B.push(H))}}0===V&amp;&amp;R.push(B)}return R};var i=t(&quot;edges-to-adjacency-list&quot;),a=t(&quot;planar-dual&quot;),o=t(&quot;point-in-big-polygon&quot;),s=t(&quot;two-product&quot;),l=t(&quot;robust-sum&quot;),c=t(&quot;uniq&quot;),u=t(&quot;./lib/trim-leaves&quot;)},{&quot;./lib/trim-leaves&quot;:475,&quot;edges-to-adjacency-list&quot;:136,&quot;planar-dual&quot;:474,&quot;point-in-big-polygon&quot;:478,&quot;robust-sum&quot;:520,&quot;two-product&quot;:552,uniq:556}],477:[function(t,e,r){&quot;use strict&quot;;function n(t,e){this.x=t,this.y=e}e.exports=n,n.prototype={clone:function(){return new n(this.x,this.y)},add:function(t){return this.clone()._add(t)},sub:function(t){return this.clone()._sub(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)},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&amp;&amp;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},_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},_round:function(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this}},n.convert=function(t){return t instanceof n?t:Array.isArray(t)?new n(t[0],t[1]):t}},{}],478:[function(t,e,r){function n(){return!0}function i(t){for(var e={},r=0;r&lt;t.length;++r){var i=t[r],a=i[0][0],o=i[0][1],s=i[1][1],c=[Math.min(o,s),Math.max(o,s)];a in e?e[a].push(c):e[a]=[c]}var u={},f=Object.keys(e);for(r=0;r&lt;f.length;++r){var h=e[f[r]];u[f[r]]=l(h)}return function(t){return function(e,r){var i=t[e];return!!i&amp;&amp;!!i.queryPoint(r,n)}}(u)}function a(t){return 1}e.exports=function(t){for(var e=t.length,r=[],n=[],l=0;l&lt;e;++l)for(var u=t[l],f=u.length,h=f-1,d=0;d&lt;f;h=d++){var p=u[h],m=u[d];p[0]===m[0]?n.push([p,m]):r.push([p,m])}if(0===r.length)return 0===n.length?a:function(t){return function(e){return t(e[0],e[1])?0:1}}(i(n));var g=s(r),v=function(t,e){return function(r){var n=c.le(e,r[0]);if(n&lt;0)return 1;var i=t[n];if(!i){if(!(n&gt;0&amp;&amp;e[n]===r[0]))return 1;i=t[n-1]}for(var a=1;i;){var s=i.key,l=o(r,s[0],s[1]);if(s[0][0]&lt;s[1][0])if(l&lt;0)i=i.left;else{if(!(l&gt;0))return 0;a=-1,i=i.right}else if(l&gt;0)i=i.left;else{if(!(l&lt;0))return 0;a=1,i=i.right}}return a}}(g.slabs,g.coordinates);return 0===n.length?v:function(t,e){return function(r){return t(r[0],r[1])?0:e(r)}}(i(n),v)};var o=t(&quot;robust-orientation&quot;)[3],s=t(&quot;slab-decomposition&quot;),l=t(&quot;interval-tree-1d&quot;),c=t(&quot;binary-search-bounds&quot;)},{&quot;binary-search-bounds&quot;:70,&quot;interval-tree-1d&quot;:279,&quot;robust-orientation&quot;:515,&quot;slab-decomposition&quot;:532}],479:[function(t,e,r){function n(t,e,r){var n=i.segments(t),a=i.segments(e),o=r(i.combine(n,a));return i.polygon(o)}var i,a=t(&quot;./lib/build-log&quot;),o=t(&quot;./lib/epsilon&quot;),s=t(&quot;./lib/intersecter&quot;),l=t(&quot;./lib/segment-chainer&quot;),c=t(&quot;./lib/segment-selector&quot;),u=t(&quot;./lib/geojson&quot;),f=!1,h=o();i={buildLog:function(t){return!0===t?f=a():!1===t&amp;&amp;(f=!1),!1!==f&amp;&amp;f.list},epsilon:function(t){return h.epsilon(t)},segments:function(t){var e=s(!0,h,f);return t.regions.forEach(e.addRegion),{segments:e.calculate(t.inverted),inverted:t.inverted}},combine:function(t,e){return{combined:s(!1,h,f).calculate(t.segments,t.inverted,e.segments,e.inverted),inverted1:t.inverted,inverted2:e.inverted}},selectUnion:function(t){return{segments:c.union(t.combined,f),inverted:t.inverted1||t.inverted2}},selectIntersect:function(t){return{segments:c.intersect(t.combined,f),inverted:t.inverted1&amp;&amp;t.inverted2}},selectDifference:function(t){return{segments:c.difference(t.combined,f),inverted:t.inverted1&amp;&amp;!t.inverted2}},selectDifferenceRev:function(t){return{segments:c.differenceRev(t.combined,f),inverted:!t.inverted1&amp;&amp;t.inverted2}},selectXor:function(t){return{segments:c.xor(t.combined,f),inverted:t.inverted1!==t.inverted2}},polygon:function(t){return{regions:l(t.segments,h,f),inverted:t.inverted}},polygonFromGeoJSON:function(t){return u.toPolygon(i,t)},polygonToGeoJSON:function(t){return u.fromPolygon(i,h,t)},union:function(t,e){return n(t,e,i.selectUnion)},intersect:function(t,e){return n(t,e,i.selectIntersect)},difference:function(t,e){return n(t,e,i.selectDifference)},differenceRev:function(t,e){return n(t,e,i.selectDifferenceRev)},xor:function(t,e){return n(t,e,i.selectXor)}},&quot;object&quot;==typeof window&amp;&amp;(window.PolyBool=i),e.exports=i},{&quot;./lib/build-log&quot;:480,&quot;./lib/epsilon&quot;:481,&quot;./lib/geojson&quot;:482,&quot;./lib/intersecter&quot;:483,&quot;./lib/segment-chainer&quot;:485,&quot;./lib/segment-selector&quot;:486}],480:[function(t,e,r){e.exports=function(){function t(t,r){return e.list.push({type:t,data:r?JSON.parse(JSON.stringify(r)):void 0}),e}var e,r=0,n=!1;return e={list:[],segmentId:function(){return r++},checkIntersection:function(e,r){return t(&quot;check&quot;,{seg1:e,seg2:r})},segmentChop:function(e,r){return t(&quot;div_seg&quot;,{seg:e,pt:r}),t(&quot;chop&quot;,{seg:e,pt:r})},statusRemove:function(e){return t(&quot;pop_seg&quot;,{seg:e})},segmentUpdate:function(e){return t(&quot;seg_update&quot;,{seg:e})},segmentNew:function(e,r){return t(&quot;new_seg&quot;,{seg:e,primary:r})},segmentRemove:function(e){return t(&quot;rem_seg&quot;,{seg:e})},tempStatus:function(e,r,n){return t(&quot;temp_status&quot;,{seg:e,above:r,below:n})},rewind:function(e){return t(&quot;rewind&quot;,{seg:e})},status:function(e,r,n){return t(&quot;status&quot;,{seg:e,above:r,below:n})},vert:function(r){return r===n?e:(n=r,t(&quot;vert&quot;,{x:r}))},log:function(e){return&quot;string&quot;!=typeof e&amp;&amp;(e=JSON.stringify(e,!1,&quot;  &quot;)),t(&quot;log&quot;,{txt:e})},reset:function(){return t(&quot;reset&quot;)},selected:function(e){return t(&quot;selected&quot;,{segs:e})},chainStart:function(e){return t(&quot;chain_start&quot;,{seg:e})},chainRemoveHead:function(e,r){return t(&quot;chain_rem_head&quot;,{index:e,pt:r})},chainRemoveTail:function(e,r){return t(&quot;chain_rem_tail&quot;,{index:e,pt:r})},chainNew:function(e,r){return t(&quot;chain_new&quot;,{pt1:e,pt2:r})},chainMatch:function(e){return t(&quot;chain_match&quot;,{index:e})},chainClose:function(e){return t(&quot;chain_close&quot;,{index:e})},chainAddHead:function(e,r){return t(&quot;chain_add_head&quot;,{index:e,pt:r})},chainAddTail:function(e,r){return t(&quot;chain_add_tail&quot;,{index:e,pt:r})},chainConnect:function(e,r){return t(&quot;chain_con&quot;,{index1:e,index2:r})},chainReverse:function(e){return t(&quot;chain_rev&quot;,{index:e})},chainJoin:function(e,r){return t(&quot;chain_join&quot;,{index1:e,index2:r})},done:function(){return t(&quot;done&quot;)}}}},{}],481:[function(t,e,r){e.exports=function(t){&quot;number&quot;!=typeof t&amp;&amp;(t=1e-10);var e={epsilon:function(e){return&quot;number&quot;==typeof e&amp;&amp;(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)&gt;=-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&lt;t)&amp;&amp;!(l-(a*a+s*s)&gt;-t)},pointsSameX:function(e,r){return Math.abs(e[0]-r[0])&lt;t},pointsSameY:function(e,r){return Math.abs(e[1]-r[1])&lt;t},pointsSame:function(t,r){return e.pointsSameX(t,r)&amp;&amp;e.pointsSameY(t,r)},pointsCompare:function(t,r){return e.pointsSameX(t,r)?e.pointsSameY(t,r)?0:t[1]&lt;r[1]?-1:1:t[0]&lt;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)&lt;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)&lt;t)return!1;var u=e[0]-n[0],f=e[1]-n[1],h=(s*f-l*u)/c,d=(a*f-o*u)/c,p={alongA:0,alongB:0,pt:[e[0]+h*a,e[1]+h*o]};return p.alongA=h&lt;=-t?-2:h&lt;t?-1:h-1&lt;=-t?0:h-1&lt;t?1:2,p.alongB=d&lt;=-t?-2:d&lt;t?-1:d-1&lt;=-t?0:d-1&lt;t?1:2,p},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&lt;r.length;l++){var c=r[l][0],u=r[l][1];u-i&gt;t!=o-i&gt;t&amp;&amp;(a-c)*(i-u)/(o-u)+c-n&gt;t&amp;&amp;(s=!s),a=c,o=u}return s}};return e}},{}],482:[function(t,e,r){var n={toPolygon:function(t,e){function r(e){function r(e){var r=e.slice(0,e.length-1);return t.segments({inverted:!1,regions:[r]})}if(e.length&lt;=0)return t.segments({inverted:!1,regions:[]});for(var n=r(e[0]),i=1;i&lt;e.length;i++)n=t.selectDifference(t.combine(n,r(e[i])));return n}if(&quot;Polygon&quot;===e.type)return t.polygon(r(e.coordinates));if(&quot;MultiPolygon&quot;===e.type){for(var n=t.segments({inverted:!1,regions:[]}),i=0;i&lt;e.coordinates.length;i++)n=t.selectUnion(t.combine(n,r(e.coordinates[i])));return t.polygon(n)}throw new Error(&quot;PolyBool: Cannot convert GeoJSON object to PolyBool polygon&quot;)},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:[]}}function a(t,e){for(var r=0;r&lt;t.children.length;r++){if(n(e,(s=t.children[r]).region))return void a(s,e)}var o=i(e);for(r=0;r&lt;t.children.length;r++){var s;n((s=t.children[r]).region,e)&amp;&amp;(o.children.push(s),t.children.splice(r,1),r--)}t.children.push(o)}function o(t,e){for(var r=0,n=t[t.length-1][0],i=t[t.length-1][1],a=[],o=0;o&lt;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&lt;0!==e&amp;&amp;a.reverse(),a.push([a[0][0],a[0][1]]),a}function s(t){var e=[o(t.region,!1)];f.push(e);for(var r=0;r&lt;t.children.length;r++)e.push(function(t){for(var e=0;e&lt;t.children.length;e++)s(t.children[e]);return o(t.region,!0)}(t.children[r]))}r=t.polygon(t.segments(r));for(var l=i(null),c=0;c&lt;r.regions.length;c++){var u=r.regions[c];u.length&lt;3||a(l,u)}var f=[];for(c=0;c&lt;l.children.length;c++)s(l.children[c]);return f.length&lt;=0?{type:&quot;Polygon&quot;,coordinates:[]}:1==f.length?{type:&quot;Polygon&quot;,coordinates:f[0]}:{type:&quot;MultiPolygon&quot;,coordinates:f}}};e.exports=n},{}],483:[function(t,e,r){var n=t(&quot;./linked-list&quot;);e.exports=function(t,e,r){function i(t,e){return{id:r?r.segmentId():-1,start:t,end:e,myFill:{above:null,below:null},otherFill:null}}function a(t,e,n){return{id:r?r.segmentId():-1,start:t,end:e,myFill:{above:n.myFill.above,below:n.myFill.below},otherFill:null}}function o(t,r){u.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)&lt;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=a(e,t.seg.end,t.seg);return function(t,e){r&amp;&amp;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,a){function o(t){return c.findTransition(function(r){return function(t,r){var n=t.seg.start,i=t.seg.end,a=r.seg.start,o=r.seg.end;return e.pointsCollinear(n,a,o)?e.pointsCollinear(i,a,o)?1:e.pointAboveOrOnLine(i,a,o)?1:-1:e.pointAboveOrOnLine(n,a,o)?1:-1}(t,r.ev)&gt;0})}function s(t,n){var i=t.seg,a=n.seg,o=i.start,s=i.end,c=a.start,u=a.end;r&amp;&amp;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),d=e.pointsSame(s,u);if(h&amp;&amp;d)return n;var p=!h&amp;&amp;e.pointBetween(o,c,u),m=!d&amp;&amp;e.pointBetween(s,c,u);if(h)return m?l(n,s):l(t,u),n;p&amp;&amp;(d||(m?l(n,s):l(t,u)),l(n,o))}else 0===f.alongA&amp;&amp;(-1===f.alongB?l(t,c):0===f.alongB?l(t,f.pt):1===f.alongB&amp;&amp;l(t,u)),0===f.alongB&amp;&amp;(-1===f.alongA?l(n,o):0===f.alongA?l(n,f.pt):1===f.alongA&amp;&amp;l(n,s));return!1}for(var c=n.create(),f=[];!u.isEmpty();){var h=u.getHead();if(r&amp;&amp;r.vert(h.pt[0]),h.isStart){r&amp;&amp;r.segmentNew(h.seg,h.primary);var d=o(h),p=d.before?d.before.ev:null,m=d.after?d.after.ev:null;r&amp;&amp;r.tempStatus(h.seg,!!p&amp;&amp;p.seg,!!m&amp;&amp;m.seg);var g=function(){if(p){var t=s(h,p);if(t)return t}return!!m&amp;&amp;s(h,m)}();if(g&amp;&amp;(t?(v=null===h.seg.myFill.below||h.seg.myFill.above!==h.seg.myFill.below)&amp;&amp;(g.seg.myFill.above=!g.seg.myFill.above):g.seg.otherFill=h.seg.myFill,r&amp;&amp;r.segmentUpdate(g.seg),h.other.remove(),h.remove()),u.getHead()!==h){r&amp;&amp;r.rewind(h.seg);continue}if(t){var v;v=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=v?!h.seg.myFill.below:h.seg.myFill.below}else if(null===h.seg.otherFill){var y;y=m?h.primary===m.primary?m.seg.otherFill.above:m.seg.myFill.above:h.primary?a:i,h.seg.otherFill={above:y,below:y}}r&amp;&amp;r.status(h.seg,!!p&amp;&amp;p.seg,!!m&amp;&amp;m.seg),h.other.status=d.insert(n.node({ev:h}))}else{var x=h.status;if(null===x)throw new Error(&quot;PolyBool: Zero-length segment detected; your epsilon is probably too small or too large&quot;);if(c.exists(x.prev)&amp;&amp;c.exists(x.next)&amp;&amp;s(x.prev.ev,x.next.ev),r&amp;&amp;r.statusRemove(x.ev.seg),x.remove(),!h.primary){var b=h.seg.myFill;h.seg.myFill=h.seg.otherFill,h.seg.otherFill=b}f.push(h.seg)}u.getHead().remove()}return r&amp;&amp;r.done(),f}var u=n.create();return t?{addRegion:function(t){for(var r,n=t[t.length-1],a=0;a&lt;t.length;a++){r=n,n=t[a];var o=e.pointsCompare(r,n);0!==o&amp;&amp;s(i(o&lt;0?r:n,o&lt;0?n:r),!0)}},calculate:function(t){return c(t,!1)}}:{calculate:function(t,e,r,n){return t.forEach(function(t){s(a(t.start,t.end,t),!0)}),r.forEach(function(t){s(a(t.start,t.end,t),!1)}),c(e,n)}}}},{&quot;./linked-list&quot;:484}],484:[function(t,e,r){e.exports={create:function(){var t={root:{root:!0,next:null},exists:function(e){return null!==e&amp;&amp;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&amp;&amp;!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&amp;&amp;(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&amp;&amp;(t.next.prev=t.prev),t.prev=null,t.next=null},t}}},{}],485:[function(t,e,r){e.exports=function(t,e,r){var n=[],i=[];return t.forEach(function(t){function a(t,e,r){return h.index=t,h.matches_head=e,h.matches_pt1=r,h===u?(h=f,!1):(h=null,!0)}function o(t){r&amp;&amp;r.chainReverse(t),n[t].reverse()}function s(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)&amp;&amp;(r&amp;&amp;r.chainRemoveTail(t,s),a.pop(),s=l),e.pointsCollinear(s,c,u)&amp;&amp;(r&amp;&amp;r.chainRemoveHead(i,c),o.shift()),r&amp;&amp;r.chainJoin(t,i),n[t]=a.concat(o),n.splice(i,1)}var l=t.start,c=t.end;if(e.pointsSame(l,c))console.warn(&quot;PolyBool: Warning: Zero-length segment detected; your epsilon is probably too small or too large&quot;);else{r&amp;&amp;r.chainStart(t);for(var u={index:0,matches_head:!1,matches_pt1:!1},f={index:0,matches_head:!1,matches_pt1:!1},h=u,d=0;d&lt;n.length;d++){var p=(x=n[d])[0],m=(x[1],x[x.length-1]);if(x[x.length-2],e.pointsSame(p,l)){if(a(d,!0,!0))break}else if(e.pointsSame(p,c)){if(a(d,!0,!1))break}else if(e.pointsSame(m,l)){if(a(d,!1,!0))break}else if(e.pointsSame(m,c)&amp;&amp;a(d,!1,!1))break}if(h===u)return n.push([l,c]),void(r&amp;&amp;r.chainNew(l,c));if(h===f){r&amp;&amp;r.chainMatch(u.index);var g=u.index,v=u.matches_pt1?c:l,y=u.matches_head,x=n[g],b=y?x[0]:x[x.length-1],_=y?x[1]:x[x.length-2],w=y?x[x.length-1]:x[0],M=y?x[x.length-2]:x[1];return e.pointsCollinear(_,b,v)&amp;&amp;(y?(r&amp;&amp;r.chainRemoveHead(u.index,v),x.shift()):(r&amp;&amp;r.chainRemoveTail(u.index,v),x.pop()),b=_),e.pointsSame(w,v)?(n.splice(g,1),e.pointsCollinear(M,w,b)&amp;&amp;(y?(r&amp;&amp;r.chainRemoveTail(u.index,b),x.pop()):(r&amp;&amp;r.chainRemoveHead(u.index,b),x.shift())),r&amp;&amp;r.chainClose(u.index),void i.push(x)):void(y?(r&amp;&amp;r.chainAddHead(u.index,v),x.unshift(v)):(r&amp;&amp;r.chainAddTail(u.index,v),x.push(v)))}var k=u.index,A=f.index;r&amp;&amp;r.chainConnect(k,A);var T=n[k].length&lt;n[A].length;u.matches_head?f.matches_head?T?(o(k),s(k,A)):(o(A),s(A,k)):s(A,k):f.matches_head?s(k,A):T?(o(k),s(A,k)):(o(A),s(k,A))}}),i}},{}],486:[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&amp;&amp;t.otherFill.above?2:0)+(t.otherFill&amp;&amp;t.otherFill.below?1:0);0!==e[i]&amp;&amp;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&amp;&amp;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},{}],487:[function(t,e,r){&quot;use strict&quot;;var n=new Float64Array(4),i=new Float64Array(4),a=new Float64Array(4);e.exports=function(t,e,r,o,s){n.length&lt;o.length&amp;&amp;(n=new Float64Array(o.length),i=new Float64Array(o.length),a=new Float64Array(o.length));for(var l=0;l&lt;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,d=0,p=0;for(l=0;l&lt;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,d+=v*g,p+=v*v}var y,x=Math.abs(c*f-u*u),b=u*d-f*h,_=u*h-c*d;if(b+_&lt;=x)if(b&lt;0)_&lt;0&amp;&amp;h&lt;0?(_=0,-h&gt;=c?(b=1,y=c+2*h+p):y=h*(b=-h/c)+p):(b=0,d&gt;=0?(_=0,y=p):-d&gt;=f?(_=1,y=f+2*d+p):y=d*(_=-d/f)+p);else if(_&lt;0)_=0,h&gt;=0?(b=0,y=p):-h&gt;=c?(b=1,y=c+2*h+p):y=h*(b=-h/c)+p;else{var w=1/x;y=(b*=w)*(c*b+u*(_*=w)+2*h)+_*(u*b+f*_+2*d)+p}else{var M,k,A,T;b&lt;0?(k=f+d)&gt;(M=u+h)?(A=k-M)&gt;=(T=c-2*u+f)?(b=1,_=0,y=c+2*h+p):y=(b=A/T)*(c*b+u*(_=1-b)+2*h)+_*(u*b+f*_+2*d)+p:(b=0,k&lt;=0?(_=1,y=f+2*d+p):d&gt;=0?(_=0,y=p):y=d*(_=-d/f)+p):_&lt;0?(k=c+h)&gt;(M=u+d)?(A=k-M)&gt;=(T=c-2*u+f)?(_=1,b=0,y=f+2*d+p):y=(b=1-(_=A/T))*(c*b+u*_+2*h)+_*(u*b+f*_+2*d)+p:(_=0,k&lt;=0?(b=1,y=c+2*h+p):h&gt;=0?(b=0,y=p):y=h*(b=-h/c)+p):(A=f+d-u-h)&lt;=0?(b=0,_=1,y=f+2*d+p):A&gt;=(T=c-2*u+f)?(b=1,_=0,y=c+2*h+p):y=(b=A/T)*(c*b+u*(_=1-b)+2*h)+_*(u*b+f*_+2*d)+p}var S=1-b-_;for(l=0;l&lt;o.length;++l)s[l]=S*t[l]+b*e[l]+_*r[l];return y&lt;0?0:y}},{}],488:[function(t,e,r){function n(){throw new Error(&quot;setTimeout has not been defined&quot;)}function i(){throw new Error(&quot;clearTimeout has not been defined&quot;)}function a(t){if(u===setTimeout)return setTimeout(t,0);if((u===n||!u)&amp;&amp;setTimeout)return u=setTimeout,setTimeout(t,0);try{return u(t,0)}catch(e){try{return u.call(null,t,0)}catch(e){return u.call(this,t,0)}}}function o(){m&amp;&amp;d&amp;&amp;(m=!1,d.length?p=d.concat(p):g=-1,p.length&amp;&amp;s())}function s(){if(!m){var t=a(o);m=!0;for(var e=p.length;e;){for(d=p,p=[];++g&lt;e;)d&amp;&amp;d[g].run();g=-1,e=p.length}d=null,m=!1,function(t){if(f===clearTimeout)return clearTimeout(t);if((f===i||!f)&amp;&amp;clearTimeout)return f=clearTimeout,clearTimeout(t);try{f(t)}catch(e){try{return f.call(null,t)}catch(e){return f.call(this,t)}}}(t)}}function l(t,e){this.fun=t,this.array=e}function c(){}var u,f,h=e.exports={};!function(){try{u=&quot;function&quot;==typeof setTimeout?setTimeout:n}catch(t){u=n}try{f=&quot;function&quot;==typeof clearTimeout?clearTimeout:i}catch(t){f=i}}();var d,p=[],m=!1,g=-1;h.nextTick=function(t){var e=new Array(arguments.length-1);if(arguments.length&gt;1)for(var r=1;r&lt;arguments.length;r++)e[r-1]=arguments[r];p.push(new l(t,e)),1!==p.length||m||a(s)},l.prototype.run=function(){this.fun.apply(null,this.array)},h.title=&quot;browser&quot;,h.browser=!0,h.env={},h.argv=[],h.version=&quot;&quot;,h.versions={},h.on=c,h.addListener=c,h.once=c,h.off=c,h.removeListener=c,h.removeAllListeners=c,h.emit=c,h.prependListener=c,h.prependOnceListener=c,h.listeners=function(t){return[]},h.binding=function(t){throw new Error(&quot;process.binding is not supported&quot;)},h.cwd=function(){return&quot;/&quot;},h.chdir=function(t){throw new Error(&quot;process.chdir is not supported&quot;)},h.umask=function(){return 0}},{}],489:[function(t,e,r){(function(t){!function(n){function i(t){throw new RangeError(z[t])}function a(t,e){for(var r=t.length,n=[];r--;)n[r]=e(t[r]);return n}function o(t,e){var r=t.split(&quot;@&quot;),n=&quot;&quot;;r.length&gt;1&amp;&amp;(n=r[0]+&quot;@&quot;,t=r[1]);return n+a((t=t.replace(C,&quot;.&quot;)).split(&quot;.&quot;),e).join(&quot;.&quot;)}function s(t){for(var e,r,n=[],i=0,a=t.length;i&lt;a;)(e=t.charCodeAt(i++))&gt;=55296&amp;&amp;e&lt;=56319&amp;&amp;i&lt;a?56320==(64512&amp;(r=t.charCodeAt(i++)))?n.push(((1023&amp;e)&lt;&lt;10)+(1023&amp;r)+65536):(n.push(e),i--):n.push(e);return n}function l(t){return a(t,function(t){var e=&quot;&quot;;return t&gt;65535&amp;&amp;(e+=P((t-=65536)&gt;&gt;&gt;10&amp;1023|55296),t=56320|1023&amp;t),e+=P(t)}).join(&quot;&quot;)}function c(t){return t-48&lt;10?t-22:t-65&lt;26?t-65:t-97&lt;26?t-97:b}function u(t,e){return t+22+75*(t&lt;26)-((0!=e)&lt;&lt;5)}function f(t,e,r){var n=0;for(t=r?I(t/k):t&gt;&gt;1,t+=I(t/e);t&gt;D*w&gt;&gt;1;n+=b)t=I(t/D);return I(n+(D+1)*t/(t+M))}function h(t){var e,r,n,a,o,s,u,h,d,p,m=[],g=t.length,v=0,y=T,M=A;for((r=t.lastIndexOf(S))&lt;0&amp;&amp;(r=0),n=0;n&lt;r;++n)t.charCodeAt(n)&gt;=128&amp;&amp;i(&quot;not-basic&quot;),m.push(t.charCodeAt(n));for(a=r&gt;0?r+1:0;a&lt;g;){for(o=v,s=1,u=b;a&gt;=g&amp;&amp;i(&quot;invalid-input&quot;),((h=c(t.charCodeAt(a++)))&gt;=b||h&gt;I((x-v)/s))&amp;&amp;i(&quot;overflow&quot;),v+=h*s,d=u&lt;=M?_:u&gt;=M+w?w:u-M,!(h&lt;d);u+=b)s&gt;I(x/(p=b-d))&amp;&amp;i(&quot;overflow&quot;),s*=p;M=f(v-o,e=m.length+1,0==o),I(v/e)&gt;x-y&amp;&amp;i(&quot;overflow&quot;),y+=I(v/e),v%=e,m.splice(v++,0,y)}return l(m)}function d(t){var e,r,n,a,o,l,c,h,d,p,m,g,v,y,M,k=[];for(g=(t=s(t)).length,e=T,r=0,o=A,l=0;l&lt;g;++l)(m=t[l])&lt;128&amp;&amp;k.push(P(m));for(n=a=k.length,a&amp;&amp;k.push(S);n&lt;g;){for(c=x,l=0;l&lt;g;++l)(m=t[l])&gt;=e&amp;&amp;m&lt;c&amp;&amp;(c=m);for(c-e&gt;I((x-r)/(v=n+1))&amp;&amp;i(&quot;overflow&quot;),r+=(c-e)*v,e=c,l=0;l&lt;g;++l)if((m=t[l])&lt;e&amp;&amp;++r&gt;x&amp;&amp;i(&quot;overflow&quot;),m==e){for(h=r,d=b;p=d&lt;=o?_:d&gt;=o+w?w:d-o,!(h&lt;p);d+=b)M=h-p,y=b-p,k.push(P(u(p+M%y,0))),h=I(M/y);k.push(P(u(h,0))),o=f(r,v,n==a),r=0,++n}++r,++e}return k.join(&quot;&quot;)}var p=&quot;object&quot;==typeof r&amp;&amp;r&amp;&amp;!r.nodeType&amp;&amp;r,m=&quot;object&quot;==typeof e&amp;&amp;e&amp;&amp;!e.nodeType&amp;&amp;e,g=&quot;object&quot;==typeof t&amp;&amp;t;g.global!==g&amp;&amp;g.window!==g&amp;&amp;g.self!==g||(n=g);var v,y,x=2147483647,b=36,_=1,w=26,M=38,k=700,A=72,T=128,S=&quot;-&quot;,E=/^xn--/,L=/[^\x20-\x7E]/,C=/[\x2E\u3002\uFF0E\uFF61]/g,z={overflow:&quot;Overflow: input needs wider integers to process&quot;,&quot;not-basic&quot;:&quot;Illegal input &gt;= 0x80 (not a basic code point)&quot;,&quot;invalid-input&quot;:&quot;Invalid input&quot;},D=b-_,I=Math.floor,P=String.fromCharCode;if(v={version:&quot;1.4.1&quot;,ucs2:{decode:s,encode:l},decode:h,encode:d,toASCII:function(t){return o(t,function(t){return L.test(t)?&quot;xn--&quot;+d(t):t})},toUnicode:function(t){return o(t,function(t){return E.test(t)?h(t.slice(4).toLowerCase()):t})}},p&amp;&amp;m)if(e.exports==p)m.exports=v;else for(y in v)v.hasOwnProperty(y)&amp;&amp;(p[y]=v[y]);else n.punycode=v}(this)}).call(this,&quot;undefined&quot;!=typeof global?global:&quot;undefined&quot;!=typeof self?self:&quot;undefined&quot;!=typeof window?window:{})},{}],490:[function(t,e,r){e.exports=t(&quot;gl-quat/slerp&quot;)},{&quot;gl-quat/slerp&quot;:236}],491:[function(t,e,r){&quot;use strict&quot;;function n(t,e){return Object.prototype.hasOwnProperty.call(t,e)}e.exports=function(t,e,r,a){e=e||&quot;&amp;&quot;,r=r||&quot;=&quot;;var o={};if(&quot;string&quot;!=typeof t||0===t.length)return o;var s=/\+/g;t=t.split(e);var l=1e3;a&amp;&amp;&quot;number&quot;==typeof a.maxKeys&amp;&amp;(l=a.maxKeys);var c=t.length;l&gt;0&amp;&amp;c&gt;l&amp;&amp;(c=l);for(var u=0;u&lt;c;++u){var f,h,d,p,m=t[u].replace(s,&quot;%20&quot;),g=m.indexOf(r);g&gt;=0?(f=m.substr(0,g),h=m.substr(g+1)):(f=m,h=&quot;&quot;),d=decodeURIComponent(f),p=decodeURIComponent(h),n(o,d)?i(o[d])?o[d].push(p):o[d]=[o[d],p]:o[d]=p}return o};var i=Array.isArray||function(t){return&quot;[object Array]&quot;===Object.prototype.toString.call(t)}},{}],492:[function(t,e,r){&quot;use strict&quot;;function n(t,e){if(t.map)return t.map(e);for(var r=[],n=0;n&lt;t.length;n++)r.push(e(t[n],n));return r}var i=function(t){switch(typeof t){case&quot;string&quot;:return t;case&quot;boolean&quot;:return t?&quot;true&quot;:&quot;false&quot;;case&quot;number&quot;:return isFinite(t)?t:&quot;&quot;;default:return&quot;&quot;}};e.exports=function(t,e,r,s){return e=e||&quot;&amp;&quot;,r=r||&quot;=&quot;,null===t&amp;&amp;(t=void 0),&quot;object&quot;==typeof t?n(o(t),function(o){var s=encodeURIComponent(i(o))+r;return a(t[o])?n(t[o],function(t){return s+encodeURIComponent(i(t))}).join(e):s+encodeURIComponent(i(t[o]))}).join(e):s?encodeURIComponent(i(s))+r+encodeURIComponent(i(t)):&quot;&quot;};var a=Array.isArray||function(t){return&quot;[object Array]&quot;===Object.prototype.toString.call(t)},o=Object.keys||function(t){var e=[];for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&amp;&amp;e.push(r);return e}},{}],493:[function(t,e,r){&quot;use strict&quot;;r.decode=r.parse=t(&quot;./decode&quot;),r.encode=r.stringify=t(&quot;./encode&quot;)},{&quot;./decode&quot;:491,&quot;./encode&quot;:492}],494:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,a,o){for(r=r||0,a=a||t.length-1,o=o||function(t,e){return t&lt;e?-1:t&gt;e?1:0};a&gt;r;){if(a-r&gt;600){var s=a-r+1,l=e-r+1,c=Math.log(s),u=.5*Math.exp(2*c/3),f=.5*Math.sqrt(c*u*(s-u)/s)*(l-s/2&lt;0?-1:1);n(t,e,Math.max(r,Math.floor(e-l*u/s+f)),Math.min(a,Math.floor(e+(s-l)*u/s+f)),o)}var h=t[e],d=r,p=a;for(i(t,r,e),o(t[a],h)&gt;0&amp;&amp;i(t,r,a);d&lt;p;){for(i(t,d,p),d++,p--;o(t[d],h)&lt;0;)d++;for(;o(t[p],h)&gt;0;)p--}0===o(t[r],h)?i(t,r,p):i(t,++p,a),p&lt;=e&amp;&amp;(r=p+1),e&lt;=p&amp;&amp;(a=p-1)}}function i(t,e,r){var n=t[e];t[e]=t[r],t[r]=n}e.exports=n},{}],495:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;big-rat/add&quot;);e.exports=function(t,e){for(var r=t.length,i=new Array(r),a=0;a&lt;r;++a)i[a]=n(t[a],e[a]);return i}},{&quot;big-rat/add&quot;:54}],496:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t){for(var e=new Array(t.length),r=0;r&lt;t.length;++r)e[r]=n(t[r]);return e};var n=t(&quot;big-rat&quot;)},{&quot;big-rat&quot;:57}],497:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;big-rat&quot;),i=t(&quot;big-rat/mul&quot;);e.exports=function(t,e){for(var r=n(e),a=t.length,o=new Array(a),s=0;s&lt;a;++s)o[s]=i(t[s],r);return o}},{&quot;big-rat&quot;:57,&quot;big-rat/mul&quot;:66}],498:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;big-rat/sub&quot;);e.exports=function(t,e){for(var r=t.length,i=new Array(r),a=0;a&lt;r;++a)i[a]=n(t[a],e[a]);return i}},{&quot;big-rat/sub&quot;:68}],499:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;compare-cell&quot;),i=t(&quot;compare-oriented-cell&quot;),a=t(&quot;cell-orientation&quot;);e.exports=function(t){t.sort(i);for(var e=t.length,r=0,o=0;o&lt;e;++o){var s=t[o],l=a(s);if(0!==l){if(r&gt;0){var c=t[r-1];if(0===n(s,c)&amp;&amp;a(c)!==l){r-=1;continue}}t[r++]=s}}return t.length=r,t}},{&quot;cell-orientation&quot;:90,&quot;compare-cell&quot;:107,&quot;compare-oriented-cell&quot;:108}],500:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;array-bounds&quot;),i=t(&quot;color-normalize&quot;),a=t(&quot;update-diff&quot;),o=t(&quot;pick-by-alias&quot;),s=t(&quot;object-assign&quot;),l=t(&quot;flatten-vertex-data&quot;),c=t(&quot;to-float32&quot;),u=c.float32,f=c.fract32;e.exports=function(t,e){function r(t){t?p(t):null===t&amp;&amp;m(),c()}function c(e){if(&quot;number&quot;==typeof e)return d(e);e&amp;&amp;!Array.isArray(e)&amp;&amp;(e=[e]),t._refresh(),k.forEach(function(t,r){t&amp;&amp;(e&amp;&amp;(e[r]?t.draw=!0:t.draw=!1),t.draw?d(r):t.draw=!0)})}function d(t){&quot;number&quot;==typeof t&amp;&amp;(t=k[t]),null!=t&amp;&amp;t&amp;&amp;t.count&amp;&amp;t.color&amp;&amp;t.opacity&amp;&amp;t.positions&amp;&amp;t.positions.length&gt;1&amp;&amp;(t.scaleRatio=[t.scale[0]*t.viewport.width,t.scale[1]*t.viewport.height],g(t),t.after&amp;&amp;t.after(t))}function p(t){if(t){null!=t.length?&quot;number&quot;==typeof t[0]&amp;&amp;(t=[{positions:t}]):Array.isArray(t)||(t=[t]);var e=0,r=0;if(k=t.map(function(t,c){var u=k[c];return t?(&quot;function&quot;==typeof t?t={after:t}:&quot;number&quot;==typeof t[0]&amp;&amp;(t={positions:t}),t=o(t,{color:&quot;color colors fill&quot;,capSize:&quot;capSize cap capsize cap-size&quot;,lineWidth:&quot;lineWidth line-width width line thickness&quot;,opacity:&quot;opacity alpha&quot;,range:&quot;range dataBox&quot;,viewport:&quot;viewport viewBox&quot;,errors:&quot;errors error&quot;,positions:&quot;positions position data points&quot;}),u||(k[c]=u={id:c,scale:null,translate:null,scaleFract:null,translateFract:null,draw:!0},t=s({},M,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,&quot;float64&quot;),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=&quot;transparent&quot;),!Array.isArray(t)||&quot;number&quot;==typeof t[0]){var n=t;t=Array(r);for(var a=0;a&lt;r;a++)t[a]=n}if(t.length&lt;r)throw Error(&quot;Not enough colors&quot;);for(var o=new Uint8Array(4*r),s=0;s&lt;r;s++){var l=i(t[s],&quot;uint8&quot;);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:w.drawingBufferWidth,height:w.drawingBufferHeight},e}}]),u):u}),e||r){var c=k.reduce(function(t,e,r){return t+(e?e.count:0)},0),h=new Float64Array(2*c),d=new Uint8Array(4*c),p=new Float32Array(4*c);k.forEach(function(t,e){if(t){var r=t.positions,n=t.count,i=t.offset,a=t.color,o=t.errors;n&amp;&amp;(d.set(a,4*i),p.set(o,4*i),h.set(r,2*i))}}),v(u(h)),y(f(h)),x(d),b(p)}}}function m(){v.destroy(),y.destroy(),x.destroy(),b.destroy(),_.destroy()}if(&quot;function&quot;==typeof t?(e||(e={}),e.regl=t):e=t,e.length&amp;&amp;(e.positions=e),!(t=e.regl).hasExtension(&quot;ANGLE_instanced_arrays&quot;))throw Error(&quot;regl-error2d: `ANGLE_instanced_arrays` extension should be enabled&quot;);var g,v,y,x,b,_,w=t._gl,M={color:&quot;black&quot;,capSize:5,lineWidth:1,opacity:1,viewport:null,range:null,offset:0,count:0,bounds:null,positions:[],errors:[]},k=[];return x=t.buffer({usage:&quot;dynamic&quot;,type:&quot;uint8&quot;,data:null}),v=t.buffer({usage:&quot;dynamic&quot;,type:&quot;float&quot;,data:null}),y=t.buffer({usage:&quot;dynamic&quot;,type:&quot;float&quot;,data:null}),b=t.buffer({usage:&quot;dynamic&quot;,type:&quot;float&quot;,data:null}),_=t.buffer({usage:&quot;static&quot;,type:&quot;float&quot;,data:h}),p(e),g=t({vert:&quot;\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&quot;,frag:&quot;\n\t\tprecision mediump 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&quot;,uniforms:{range:t.prop(&quot;range&quot;),lineWidth:t.prop(&quot;lineWidth&quot;),capSize:t.prop(&quot;capSize&quot;),opacity:t.prop(&quot;opacity&quot;),scale:t.prop(&quot;scale&quot;),translate:t.prop(&quot;translate&quot;),scaleFract:t.prop(&quot;scaleFract&quot;),translateFract:t.prop(&quot;translateFract&quot;),viewport:function(t,e){return[e.viewport.x,e.viewport.y,t.viewportWidth,t.viewportHeight]}},attributes:{color:{buffer:x,offset:function(t,e){return 4*e.offset},divisor:1},position:{buffer:v,offset:function(t,e){return 8*e.offset},divisor:1},positionFract:{buffer:y,offset:function(t,e){return 8*e.offset},divisor:1},error:{buffer:b,offset:function(t,e){return 16*e.offset},divisor:1},direction:{buffer:_,stride:24,offset:0},lineOffset:{buffer:_,stride:24,offset:8},capOffset:{buffer:_,stride:24,offset:16}},primitive:&quot;triangles&quot;,blend:{enable:!0,color:[0,0,0,0],equation:{rgb:&quot;add&quot;,alpha:&quot;add&quot;},func:{srcRGB:&quot;src alpha&quot;,dstRGB:&quot;one minus src alpha&quot;,srcAlpha:&quot;one minus dst alpha&quot;,dstAlpha:&quot;one&quot;}},depth:{enable:!1},scissor:{enable:!0,box:t.prop(&quot;viewport&quot;)},viewport:t.prop(&quot;viewport&quot;),stencil:!1,instances:t.prop(&quot;count&quot;),count:h.length}),s(r,{update:p,draw:c,destroy:m,regl:t,gl:w,canvas:w.canvas,groups:k}),r};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]]},{&quot;array-bounds&quot;:48,&quot;color-normalize&quot;:99,&quot;flatten-vertex-data&quot;:143,&quot;object-assign&quot;:462,&quot;pick-by-alias&quot;:473,&quot;to-float32&quot;:547,&quot;update-diff&quot;:558}],501:[function(t,e,r){&quot;use strict&quot;;function n(t){var e=new Float32Array(t.length);e.set(t);for(var r=0,n=e.length;r&lt;n;r++)e[r]=t[r]-e[r];return e}var i=t(&quot;color-normalize&quot;),a=t(&quot;array-bounds&quot;),o=t(&quot;object-assign&quot;),s=t(&quot;glslify&quot;),l=t(&quot;pick-by-alias&quot;),c=t(&quot;update-diff&quot;),u=t(&quot;flatten-vertex-data&quot;),f=t(&quot;earcut&quot;),h=t(&quot;array-normalize&quot;);e.exports=function(t,e){function r(t){t?m(t):null===t&amp;&amp;g(),d()}function d(t){if(&quot;number&quot;==typeof t)return p(t);t&amp;&amp;!Array.isArray(t)&amp;&amp;(t=[t]),S.forEach(function(e,r){t&amp;&amp;(t[r]?e.draw=!0:e.draw=!1),e.draw?p(r):e.draw=!0})}function p(e){&quot;number&quot;==typeof e&amp;&amp;(e=S[e]),e&amp;&amp;e.count&amp;&amp;e.opacity&amp;&amp;e.positions&amp;&amp;e.positions.length&gt;2&amp;&amp;(t._refresh(),e.fill&amp;&amp;e.triangles&amp;&amp;e.triangles.length&gt;2&amp;&amp;x(e),e.thickness&amp;&amp;e.color&amp;&amp;(e.scaleRatio=[e.scale[0]*e.viewport.width,e.scale[1]*e.viewport.height],e.scaleRatio[0]&gt;L||e.scaleRatio[1]&gt;L?y(e):&quot;rect&quot;===e.join||!e.join&amp;&amp;(e.thickness&lt;=2||e.positions.length&gt;=C)?y(e):v(e),e.after&amp;&amp;e.after(e)))}function m(t){if(t){null!=t.length?&quot;number&quot;==typeof t[0]&amp;&amp;(t=[{positions:t}]):Array.isArray(t)||(t=[t]);var e=0;if(S=t.map(function(t,r){var s=S[r];return t?(&quot;function&quot;==typeof t?t={after:t}:&quot;number&quot;==typeof t[0]&amp;&amp;(t={positions:t}),t=l(t,{positions:&quot;positions points data coords&quot;,thickness:&quot;thickness lineWidth lineWidths line-width linewidth width stroke-width strokewidth strokeWidth&quot;,join:&quot;lineJoin linejoin join type mode&quot;,miterLimit:&quot;miterlimit miterLimit&quot;,dashes:&quot;dash dashes dasharray dash-array dashArray&quot;,color:&quot;color stroke colors stroke-color strokeColor&quot;,fill:&quot;fill fill-color fillColor&quot;,opacity:&quot;alpha opacity&quot;,overlay:&quot;overlay crease overlap intersect&quot;,close:&quot;closed close closed-path closePath&quot;,range:&quot;range dataBox&quot;,viewport:&quot;viewport viewBox&quot;,hole:&quot;holes hole hollow&quot;,after:&quot;after callback done pass&quot;}),s||(S[r]=s={id:r,scale:null,scaleFract:null,translate:null,translateFract:null,count:0,offset:0,dashLength:0,hole:!0},t=o({},T,t)),c(s,t,[{thickness:parseFloat,opacity:parseFloat,miterLimit:parseFloat,overlay:Boolean,join:function(t){return t},after:function(t){return t},hole:function(t){return t||[]},positions:function(t,r,n){t=u(t,&quot;float64&quot;);var i=Math.floor(t.length/2),o=a(t,2);return r.range||n.range||(n.range=o),r.count=i,r.bounds=o,e+=i,t},fill:function(t){return t?i(t,&quot;uint8&quot;):null},dashes:function(t,e,r){var n,i=e.dashLength;if(!t||t.length&lt;2)i=1,n=new Uint8Array([255,255,255,255,255,255,255,255]);else{i=0;for(var a=0;a&lt;t.length;++a)i+=t[a];n=new Uint8Array(i*E);for(var o=0,s=255,l=0;l&lt;2;l++)for(var c=0;c&lt;t.length;++c){for(var u=0,f=t[c]*E*.5;u&lt;f;++u)n[o++]=s;s^=255}}return k.subimage({data:n,width:n.length,height:1},0,e.id),e.dashLength=i,n}},{close:function(t,e,r){return null!=t?t:e.positions.length&gt;=4&amp;&amp;e.positions[0]===e.positions[e.positions.length-2]&amp;&amp;e.positions[1]===e.positions[e.positions.length-1]},positions:function(t,e,r){if(e.fill&amp;&amp;t.length){for(var n=[],i={},a=0,o=0,s=0,l=e.count;o&lt;l;o++){var c=e.positions[2*o],u=e.positions[2*o+1];Number.isNaN(c)||Number.isNaN(u)?(c=e.positions[2*a],u=e.positions[2*a+1],i[o]=a):a=o,n[s++]=c,n[s++]=u}for(var h=f(n,e.hole),d=0,p=h.length;d&lt;p;d++)null!=i[h[d]]&amp;&amp;(h[d]=i[h[d]]);e.triangles=h}return e.positions},color:function(t,e,r){var n=e.count;if(t||(t=&quot;transparent&quot;),!Array.isArray(t)||&quot;number&quot;==typeof t[0]){var a=t;t=Array(n);for(var o=0;o&lt;n;o++)t[o]=a}if(t.length&lt;n)throw Error(&quot;Not enough colors&quot;);for(var s=new Uint8Array(4*n+4),l=0;l&lt;n;l++){var c=i(t[l],&quot;uint8&quot;);s.set(c,4*l)}return s},range:function(t,e,r){if(!e.count)return null;var i=e.bounds;t||(t=i);var a=h(t.slice(),2,i);return e.scale=[1/(a[2]-a[0]),1/(a[3]-a[1])],e.translate=[-a[0],-a[1]],e.scaleFract=n(e.scale),e.translateFract=n(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:A.drawingBufferWidth,height:A.drawingBufferHeight},e}}]),s):s}),e){var s=2*e+6*S.length,d=new Float64Array(s),p=0,m=new Uint8Array(2*s);S.forEach(function(t,e){if(t){var r=t.positions,n=t.count,i=t.color;if(t.offset=p,n){var a=new Float64Array(r.length);a.set(r),h(a,2,t.bounds),t.close?r[0]===r[2*n-2]&amp;&amp;r[1]===r[2*n-1]?(d[2*p+0]=a[2*n-4],d[2*p+1]=a[2*n-3]):(d[2*p+0]=a[2*n-2],d[2*p+1]=a[2*n-1]):(d[2*p+0]=a[0],d[2*p+1]=a[1]),m[4*p+0]=i[0],m[4*p+1]=i[1],m[4*p+2]=i[2],m[4*p+3]=i[3],d.set(a,2*p+2),m.set(i,4*p+4),t.close?r[0]===r[2*n-2]&amp;&amp;r[1]===r[2*n-1]?(d[2*p+2*n+2]=a[2],d[2*p+2*n+3]=a[3],p+=n+2,t.count-=1):(d[2*p+2*n+2]=a[0],d[2*p+2*n+3]=a[1],d[2*p+2*n+4]=a[2],d[2*p+2*n+5]=a[3],p+=n+3):(d[2*p+2*n+2]=a[2*n-2],d[2*p+2*n+3]=a[2*n-1],d[2*p+2*n+4]=a[2*n-2],d[2*p+2*n+5]=a[2*n-1],p+=n+3)}}}),b(m),w(function(t){if(t instanceof Float32Array)return t;var e=new Float32Array(t);return e.set(t),e}(d)),M(n(d))}return r}}function g(){S.length=0,b.destroy(),_.destroy(),w.destroy(),k.destroy()}if(&quot;function&quot;==typeof t?(e||(e={}),e.regl=t):e=t,e.length&amp;&amp;(e.positions=e),!(t=e.regl).hasExtension(&quot;ANGLE_instanced_arrays&quot;))throw Error(&quot;regl-error2d: `ANGLE_instanced_arrays` extension should be enabled&quot;);var v,y,x,b,_,w,M,k,A=t._gl,T={positions:[],dashes:null,join:null,miterLimit:1,thickness:10,cap:&quot;square&quot;,color:&quot;black&quot;,opacity:1,overlay:!1,viewport:null,range:null,close:null,fill:null},S=[],E=2,L=3e6,C=1e4;b=t.buffer({usage:&quot;dynamic&quot;,type:&quot;uint8&quot;,data:null}),_=t.buffer({usage:&quot;static&quot;,type:&quot;float&quot;,data:[0,1,0,0,1,1,1,0]}),w=t.buffer({usage:&quot;dynamic&quot;,type:&quot;float&quot;,data:null}),M=t.buffer({usage:&quot;dynamic&quot;,type:&quot;float&quot;,data:null}),k=t.texture({channels:1,data:new Uint8Array(524288),width:256,height:2048,mag:&quot;linear&quot;,min:&quot;linear&quot;}),m(e);var z={primitive:&quot;triangle strip&quot;,instances:t.prop(&quot;count&quot;),count:4,offset:0,uniforms:{miterMode:function(t,e){return&quot;round&quot;===e.join?2:1},miterLimit:t.prop(&quot;miterLimit&quot;),scale:t.prop(&quot;scale&quot;),scaleFract:t.prop(&quot;scaleFract&quot;),translateFract:t.prop(&quot;translateFract&quot;),translate:t.prop(&quot;translate&quot;),thickness:t.prop(&quot;thickness&quot;),dashPattern:k,dashLength:t.prop(&quot;dashLength&quot;),dashShape:[256,2048],opacity:t.prop(&quot;opacity&quot;),pixelRatio:t.context(&quot;pixelRatio&quot;),id:t.prop(&quot;id&quot;),scaleRatio:t.prop(&quot;scaleRatio&quot;),viewport:function(t,e){return[e.viewport.x,e.viewport.y,t.viewportWidth,t.viewportHeight]}},blend:{enable:!0,color:[0,0,0,0],equation:{rgb:&quot;add&quot;,alpha:&quot;add&quot;},func:{srcRGB:&quot;src alpha&quot;,dstRGB:&quot;one minus src alpha&quot;,srcAlpha:&quot;one minus dst alpha&quot;,dstAlpha:&quot;one&quot;}},depth:{enable:function(t,e){return!e.overlay}},scissor:{enable:!0,box:t.prop(&quot;viewport&quot;)},stencil:!1,viewport:t.prop(&quot;viewport&quot;)};return v=t(o({cull:{enable:!0,face:&quot;back&quot;},vert:s([&quot;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, scaleRatio;\nuniform float thickness, pixelRatio, id;\nuniform vec4 viewport;\nuniform float miterLimit, dashLength, miterMode;\n\nvarying vec4 fragColor;\nvarying vec4 startCutoff, endCutoff;\nvarying vec2 tangent;\nvarying vec2 startCoord, endCoord;\nvarying float enableStartMiter, enableEndMiter;\n\nconst float MAX_LINES = 256.;\nconst float REVERSE_THRESHOLD = -.875;\nconst float MIN_DIST = 1.;\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\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 &lt; 0.0 || 0.0 &lt; val || val == 0.0 ) ? false : true;\n}\n\nvoid main() {\n\tvec2 aCoord = aCoord, bCoord = bCoord, prevCoord = prevCoord, nextCoord = nextCoord;\n\tvec2 normalWidth = thickness / scaleRatio;\n\n\tfloat lineStart = 1. - lineEnd;\n\tfloat lineBot = 1. - lineTop;\n\tfloat depth = (MAX_LINES - 1. - id) / MAX_LINES;\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 prevDirection = normalize(prevDiff);\n\tvec2 currDirection = normalize(currDiff);\n\tvec2 nextDirection = normalize(nextDiff);\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\tif (prevDirection == currDirection) {\n\t\tstartJoinDirection = currNormal;\n\t}\n\tif (nextDirection == currDirection) {\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) &lt;= REVERSE_THRESHOLD &amp;&amp; abs(dot(currTangent, prevNormal)) * min(length(prevDiff), length(currDiff)) &lt;  length(normalWidth * currNormal);\n\tbool nextReverse = dot(currTangent, nextTangent) &lt;= REVERSE_THRESHOLD &amp;&amp; abs(dot(currTangent, nextNormal)) * min(length(nextDiff), length(currDiff)) &lt;  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 &amp;&amp; baClipping &gt; 0. &amp;&amp; baClipping &lt; 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 &amp;&amp; abClipping &gt; 0. &amp;&amp; abClipping &lt; 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 + translate) * scale;\n\tvec2 aBotPosition = (aBotCoord + translate) * scale;\n\n\tvec2 bTopPosition = (bTopCoord + translate) * scale;\n\tvec2 bBotPosition = (bBotCoord + translate) * scale;\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 + translate) * scaleRatio + viewport.xy;\n\tendCoord = (bCoord + translate) * scaleRatio + 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 + translate.xyxy) * scaleRatio.xyxy;\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 + translate.xyxy) * scaleRatio.xyxy;\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 + translate.xyxy) * scaleRatio.xyxy;\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 + translate.xyxy) * scaleRatio.xyxy;\n\t\t\tendCutoff += viewport.xyxy;\n\t\t\tendCutoff += endMiterWidth.xyxy;\n\t\t}\n\t}\n}\n&quot;]),frag:s([&quot;precision highp float;\n#define GLSLIFY 1\n\nuniform sampler2D dashPattern;\nuniform vec2 dashShape;\nuniform float dashLength, pixelRatio, thickness, opacity, id, miterMode;\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 &lt; -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 &lt; -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 &lt; 0.) {\n\t\t\t\tfloat radius = length(gl_FragCoord.xy - startCoord);\n\n\t\t\t\tif(radius &gt; 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 &lt; 0.) {\n\t\t\t\tfloat radius = length(gl_FragCoord.xy - endCoord);\n\n\t\t\t\tif(radius &gt; 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(dashPattern, vec2(t * dashLength * 2. / dashShape.x, (id + .5) / dashShape.y)).r;\n\n\tgl_FragColor = fragColor * dash;\n\tgl_FragColor.a *= alpha * opacity * dash;\n}\n&quot;]),attributes:{lineEnd:{buffer:_,divisor:0,stride:8,offset:0},lineTop:{buffer:_,divisor:0,stride:8,offset:4},aColor:{buffer:b,stride:4,offset:function(t,e){return 4*e.offset},divisor:1},bColor:{buffer:b,stride:4,offset:function(t,e){return 4*e.offset+4},divisor:1},prevCoord:{buffer:w,stride:8,offset:function(t,e){return 8*e.offset},divisor:1},aCoord:{buffer:w,stride:8,offset:function(t,e){return 8+8*e.offset},divisor:1},bCoord:{buffer:w,stride:8,offset:function(t,e){return 16+8*e.offset},divisor:1},nextCoord:{buffer:w,stride:8,offset:function(t,e){return 24+8*e.offset},divisor:1}}},z)),y=t(o({vert:s([&quot;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, scaleRatio;\nuniform float thickness, pixelRatio, id;\nuniform vec4 viewport;\n\nvarying vec4 fragColor;\nvarying vec2 tangent;\n\nconst float MAX_LINES = 256.;\n\nvec2 project(vec2 position, vec2 positionFract, vec2 scale, vec2 scaleFract, vec2 translate, vec2 translateFract) {\n  return (position + translate) * scale\n       + (positionFract + translateFract) * scale\n       + (position + translate) * scaleFract\n       + (positionFract + translateFract) * scaleFract;\n}\n\nvoid main() {\n\t// vec2 scaleRatio = scale * viewport.zw;\n\tvec2 normalWidth = thickness / scaleRatio;\n\n\tfloat lineStart = 1. - lineEnd;\n\tfloat lineOffset = lineTop * 2. - 1.;\n\tfloat depth = (MAX_LINES - 1. - id) / (MAX_LINES);\n\n\tvec2 diff = (bCoord + bCoordFract - aCoord - aCoordFract);\n\ttangent = normalize(diff * scaleRatio);\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&quot;]),frag:s([&quot;precision highp float;\n#define GLSLIFY 1\n\nuniform sampler2D dashPattern;\nuniform vec2 dashShape;\nuniform float dashLength, pixelRatio, thickness, opacity, id;\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(dashPattern, vec2(t * dashLength * 2. / dashShape.x, (id + .5) / dashShape.y)).r;\n\n\tgl_FragColor = fragColor * dash;\n\tgl_FragColor.a *= alpha * opacity * dash;\n}\n&quot;]),attributes:{lineEnd:{buffer:_,divisor:0,stride:8,offset:0},lineTop:{buffer:_,divisor:0,stride:8,offset:4},aCoord:{buffer:w,stride:8,offset:function(t,e){return 8+8*e.offset},divisor:1},bCoord:{buffer:w,stride:8,offset:function(t,e){return 16+8*e.offset},divisor:1},aCoordFract:{buffer:M,stride:8,offset:function(t,e){return 8+8*e.offset},divisor:1},bCoordFract:{buffer:M,stride:8,offset:function(t,e){return 16+8*e.offset},divisor:1},color:{buffer:b,stride:4,offset:function(t,e){return 4*e.offset},divisor:1}}},z)),x=t({primitive:&quot;triangle&quot;,elements:function(t,e){return e.triangles},offset:0,vert:s([&quot;precision highp float;\n#define GLSLIFY 1\n\nattribute vec2 position, positionFract;\n\nuniform vec4 color;\nuniform vec2 scale, scaleFract, translate, translateFract, scaleRatio;\nuniform float pixelRatio, id;\nuniform vec4 viewport;\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 + translate) * scale\n       + (positionFract + translateFract) * scale\n       + (position + translate) * scaleFract\n       + (positionFract + translateFract) * scaleFract;\n\n\tgl_Position = vec4(position * 2.0 - 1.0, depth, 1);\n\n\tfragColor = color / 255.;\n}\n&quot;]),frag:s([&quot;precision highp float;\n#define GLSLIFY 1\n\nuniform float opacity;\n\nvarying vec4 fragColor;\n\nvoid main() {\n\tgl_FragColor = fragColor;\n\tgl_FragColor.a *= opacity;\n}\n&quot;]),uniforms:{scale:t.prop(&quot;scale&quot;),color:t.prop(&quot;fill&quot;),scaleFract:t.prop(&quot;scaleFract&quot;),translateFract:t.prop(&quot;translateFract&quot;),translate:t.prop(&quot;translate&quot;),opacity:t.prop(&quot;opacity&quot;),pixelRatio:t.context(&quot;pixelRatio&quot;),id:t.prop(&quot;id&quot;),viewport:function(t,e){return[e.viewport.x,e.viewport.y,t.viewportWidth,t.viewportHeight]}},attributes:{position:{buffer:w,stride:8,offset:function(t,e){return 8+8*e.offset}},positionFract:{buffer:M,stride:8,offset:function(t,e){return 8+8*e.offset}}},blend:z.blend,depth:{enable:!1},scissor:z.scissor,stencil:z.stencil,viewport:z.viewport}),o(r,{update:m,draw:d,destroy:g,regl:t,gl:A,canvas:A.canvas,lines:S}),r}},{&quot;array-bounds&quot;:48,&quot;array-normalize&quot;:49,&quot;color-normalize&quot;:99,earcut:135,&quot;flatten-vertex-data&quot;:143,glslify:502,&quot;object-assign&quot;:462,&quot;pick-by-alias&quot;:473,&quot;update-diff&quot;:558}],502:[function(t,e,r){arguments[4][169][0].apply(r,arguments)},{dup:169}],503:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;color-normalize&quot;),i=t(&quot;array-bounds&quot;),a=t(&quot;color-id&quot;),o=t(&quot;snap-points-2d&quot;),s=t(&quot;object-assign&quot;),l=t(&quot;glslify&quot;),c=t(&quot;binary-search-bounds&quot;),u=t(&quot;pick-by-alias&quot;),f=t(&quot;update-diff&quot;),h=t(&quot;flatten-vertex-data&quot;),d=t(&quot;is-iexplorer&quot;),p=t(&quot;to-float32&quot;),m=p.float32,g=p.fract32;e.exports=function(t,e){function r(t){t?x(t):null===t&amp;&amp;M(),p()}function p(t){if(&quot;number&quot;==typeof t)return v(t);Array.isArray(t)?t.forEach(function(t,e){if(null!=t)return t.length?v(t,e):v(t)}):O.forEach(function(t,e){t&amp;&amp;v(e)})}function v(e,r){&quot;number&quot;==typeof e&amp;&amp;(e=O[e]);var n;if(Array.isArray(e)&amp;&amp;(n=e,e=O[r]),e&amp;&amp;e.count&amp;&amp;e.opacity){var i;if(n){i=Array(e.count);for(var a=0;a&lt;n.length;a++)i[n[a]]=!0}if(e.markerIds[0]){t._refresh();var o=y(e.markerIds[0],e,i);A(o)}for(var s=[],l=1;l&lt;e.markerIds.length;l++){var c=e.markerIds[l];c&amp;&amp;c.length&amp;&amp;[].push.apply(s,y(c,e,i))}s.length&amp;&amp;(t._refresh(),k(s))}}function y(t,e,r){function n(t,e){for(var r=[],n=0,i=t.length;n&lt;i;n++){var o=t[n];e[o-a]&amp;&amp;r.push(o)}return r}var i=e.range,a=e.offset;if(!t.snap){var o=r?n(t.data,r):t.elements;return[s({},e,{elements:o,offset:0,count:r?o.length:t.length,marker:F[t.id]})]}for(var l=[],u=t.lod,f=t.x,h=t.id,d=(i[2]-i[0])/e.viewport.width,p=u.length;p--;){var m=u[p];if(!(m.pixelSize&amp;&amp;m.pixelSize&lt;d&amp;&amp;p&gt;1)){var g=m.offset,v=m.count+g,y=c.ge(f,i[0],g,v-1),x=c.lt(f,i[2],y,v-1)+1;if(!(x&lt;=y))if(r){var b=n(t.data.subarray(y,x),r);l.push(s({},e,{elements:b,marker:F[h],offset:0,count:b.length}))}else l.push(s({},e,{elements:t.elements,marker:F[h],offset:y,count:x-y}))}}return l}function x(e){if(e){null!=e.length?&quot;number&quot;==typeof e[0]&amp;&amp;(e=[{positions:e}]):Array.isArray(e)||(e=[e]);var r=0,n=0,a=0;O=e.map(function(e,l){var c=O[l];return e?(&quot;function&quot;==typeof e?e={after:e}:&quot;number&quot;==typeof e[0]&amp;&amp;(e={positions:e}),e=u(e,{positions:&quot;positions data points&quot;,snap:&quot;snap cluster&quot;,size:&quot;sizes size radius&quot;,borderSize:&quot;borderSizes borderSize stroke-width strokeWidth outline&quot;,color:&quot;colors color fill fill-color fillColor&quot;,borderColor:&quot;borderColors borderColor stroke stroke-color strokeColor&quot;,palette:&quot;palette swatch&quot;,marker:&quot;markers marker shape&quot;,range:&quot;range dataBox&quot;,viewport:&quot;viewport viewBox&quot;,opacity:&quot;opacity alpha&quot;}),c||(O[l]=c={id:l,scale:null,translate:null,scaleFract:null,translateFract:null,markerIds:[]},e=s({},P,e)),!e.positions||&quot;marker&quot;in e||(e.marker=c.marker,delete c.marker),f(c,e,[{snap:!0,size:function(t){return n+=t.length?1:0,t},borderSize:function(t){return n+=t.length?1:0,t},opacity:parseFloat,color:function(t){return t=w(t),a++,t},borderColor:function(t){return t=w(t),a++,t},positions:function(t,e,n){t=h(t,&quot;float64&quot;);var a=e.count=Math.floor(t.length/2),o=e.bounds=a?i(t,2):null;return n.range||e.range||(delete e.range,n.range=o),e.offset=r,r+=a,n.marker||e.marker||(delete e.marker,n.marker=null),t}},{marker:function(t,e,r){if(e.markerIds.length=0,t&amp;&amp;&quot;number&quot;!=typeof t[0])for(var n=0,i=t.length;n&lt;i;n++){var a=_(t[n]);e.markerIds[a]||(e.markerIds[a]=[]),e.markerIds[a].push(n)}else{for(var o=_(t),s=Array(e.count),l=0;l&lt;e.count;l++)s[l]=l;e.markerIds[o]=s}return t}},{positions:function(e,r){for(var n=r.markerIds,i=r.snap,a=r.bounds,s=r.offset,l=0;l&lt;n.length;l++){var c=n[l];if(c&amp;&amp;c.length){var u=c.length,f=void 0;if(c.id=l,i&amp;&amp;(!0===i||u&gt;i)){c.snap=!0;var h=c.x=Array(u),d=c.w=Array(u),p=void 0;if(n.length&gt;1){p=Array(2*u);for(var m=0;m&lt;u;m++){var g=c[m];p[2*m]=e[2*g],p[2*m+1]=e[2*g+1]}}else(p=new Float64Array(e.length)).set(e);var v=new Uint32Array(u);c.lod=o(p,v,d,a),f=new Uint32Array(u);for(var y=0;y&lt;u;y++){var x=c[v[y]];f[y]=x+s,h[y]=e[2*x]}}else{f=new Uint32Array(u);for(var b=0;b&lt;u;b++)f[b]=c[b]+s}c.data=f,c.elements=t.elements({primitive:&quot;points&quot;,type:&quot;uint32&quot;,data:f})}}},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=g(e.scale),e.translateFract=g(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:z.drawingBufferWidth,height:z.drawingBufferHeight},e}}]),c):c}),b({point:r,size:n,color:a})}}function b(t){var e=t.point,r=t.size,n=t.color,i=O.reduce(function(t,e,r){return t+(e?e.count:0)},0);if(e){var a=new Float32Array(2*i),o=new Float32Array(2*i);O.forEach(function(t,e){if(t){var r=t.positions,n=t.count,i=t.offset;n&amp;&amp;(a.set(m(r),2*i),o.set(g(r),2*i))}}),S(a),E(o)}if(r){var s=new Uint8Array(2*i);O.forEach(function(t,e){if(t){var r=t.count,n=t.offset,i=t.size,a=t.borderSize;if(r&amp;&amp;(i.length||a.length)){for(var o=new Uint8Array(2*r),l=0;l&lt;r;l++)o[2*l]=Math.round(255*(null==i[l]?i:i[l])/j),o[2*l+1]=Math.round(255*(null==a[l]?a:a[l])/j);s.set(o,2*n)}}}),T(s)}if(n){var l=new Uint16Array(2*i);O.forEach(function(t,e){if(t){var r=t.count,n=t.offset,i=t.color,a=t.borderColor;if(r&amp;&amp;(i.length||a.length)){for(var o=new Uint16Array(2*r),s=0;s&lt;r;s++)o[2*s]=null==i[s]?i:i[s],o[2*s+1]=null==a[s]?a:a[s];l.set(o,2*n)}}}),L(l)}}function _(e){var r=null==e?0:R.indexOf(e);if(r&gt;=0)return r;var n;if(e instanceof Uint8Array||e instanceof Uint8ClampedArray)n=e;else{n=new Uint8Array(e.length);for(var i=0,a=e.length;i&lt;a;i++)n[i]=255*e[i]}var o=Math.floor(Math.sqrt(n.length));return r=F.length,R.push(e),F.push(t.texture({channels:1,data:n,radius:o,mag:&quot;linear&quot;,min:&quot;linear&quot;})),r}function w(t){Array.isArray(t)||(t=[t]);for(var e=D.length,r=[],i=0;i&lt;t.length;i++){var o=t[i];if(&quot;number&quot;!=typeof o){o=n(o,&quot;uint8&quot;);var s=a(o,!1);if(null==I[s]){var l=D.length;I[s]=Math.floor(l/4),D[l]=o[0],D[l+1]=o[1],D[l+2]=o[2],D[l+3]=o[3]}r[i]=Math.min(I[s],N-1)}else r[i]=o}return e&lt;4*N&amp;&amp;C.subimage({width:Math.min(.25*D.length,N),height:1,data:D.slice(0,4*N)},0,0),1===r.length?r[0]:r}function M(){O.length=0,T.destroy(),S.destroy(),E.destroy(),L.destroy(),C.destroy()}&quot;function&quot;==typeof t?(e||(e={}),e.regl=t):(e=t,t=null),e&amp;&amp;e.length&amp;&amp;(e.positions=e);var k,A,T,S,E,L,C,z=(t=e.regl)._gl,D=[],I={},P={color:&quot;black&quot;,borderColor:&quot;transparent&quot;,borderSize:1,size:12,opacity:1,marker:void 0,viewport:null,range:null,pixelSize:null,offset:0,count:0,bounds:null,positions:[],snap:1e4},O=[],F=[null],R=[null],N=4096,j=100;C=t.texture({data:new Uint8Array(4*N),width:N,height:1,type:&quot;uint8&quot;,format:&quot;rgba&quot;,wrapS:&quot;clamp&quot;,wrapT:&quot;clamp&quot;,mag:&quot;nearest&quot;,min:&quot;nearest&quot;}),T=t.buffer({usage:&quot;dynamic&quot;,type:&quot;float&quot;,data:null}),L=t.buffer({usage:&quot;dynamic&quot;,type:&quot;uint16&quot;,data:null}),S=t.buffer({usage:&quot;dynamic&quot;,type:&quot;float&quot;,data:null}),E=t.buffer({usage:&quot;dynamic&quot;,type:&quot;float&quot;,data:null}),e.clone?(O=e.clone.groups.map(function(e){return(e=s({},e)).markerIds&amp;&amp;(e.markerIds=e.markerIds.map(function(e){var r=e.slice();return r.lod=e.lod,r.snap=e.snap,r.data=e.data,r.id=e.id,r.x=e.x,r.w=e.w,r.elements=t.elements({primitive:&quot;points&quot;,type:&quot;uint32&quot;,data:e.data}),r})),e}),e.clone.markers.forEach(function(t){_(t)}),b({point:!0,color:!0,size:!0})):x(e);var B={uniforms:{pixelRatio:t.context(&quot;pixelRatio&quot;),palette:C,scale:t.prop(&quot;scale&quot;),scaleFract:t.prop(&quot;scaleFract&quot;),translate:t.prop(&quot;translate&quot;),translateFract:t.prop(&quot;translateFract&quot;),opacity:t.prop(&quot;opacity&quot;),marker:t.prop(&quot;marker&quot;)},attributes:{position:S,positionFract:E,size:function(t,e){return e.size.length?{buffer:T,stride:2,offset:0}:{constant:[Math.round(255*e.size/j)]}},borderSize:function(t,e){return e.borderSize.length?{buffer:T,stride:2,offset:1}:{constant:[Math.round(255*e.borderSize/j)]}},colorId:function(t,e){return e.color.length?{buffer:L,stride:4,offset:0}:{constant:[e.color]}},borderColorId:function(t,e){return e.borderColor.length?{buffer:L,stride:4,offset:2}:{constant:[e.borderColor]}}},blend:{enable:!0,color:[0,0,0,1],func:{srcRGB:&quot;src alpha&quot;,dstRGB:&quot;one minus src alpha&quot;,srcAlpha:&quot;one minus dst alpha&quot;,dstAlpha:&quot;one&quot;}},scissor:{enable:!0,box:t.prop(&quot;viewport&quot;)},viewport:t.prop(&quot;viewport&quot;),stencil:{enable:!1},depth:{enable:!1},elements:t.prop(&quot;elements&quot;),count:t.prop(&quot;count&quot;),offset:t.prop(&quot;offset&quot;),primitive:&quot;points&quot;};if(d)A=t(s({},B,{frag:l([&quot;precision mediump float;\n#define GLSLIFY 1\n\nuniform vec4 color, borderColor;\nuniform float opacity;\nvarying float fragBorderRadius, fragWidth, fragBorderSize, fragSize;\n\nfloat smoothStep(float x, float y) {\n  return 1.0 / (1.0 + exp(50.0*(x - y)));\n}\n\nvoid main() {\n  float radius = length(2.0*gl_PointCoord.xy-1.0);\n  if(radius &gt; 1.0) {\n    discard;\n  }\n\n  float centerFraction = fragBorderSize == 0. ? 2. : fragSize / (fragSize + fragBorderSize + 1.25);\n\n  vec4 baseColor = mix(borderColor, color, smoothStep(radius, centerFraction));\n  float alpha = 1.0 - pow(1.0 - baseColor.a, 1.);\n  gl_FragColor = vec4(baseColor.rgb * alpha, alpha);\n}\n&quot;]),vert:l([&quot;precision highp float;\n#define GLSLIFY 1\n\nattribute vec2 position, positionFract;\nattribute float size, borderSize;\n\nuniform vec2 scale, scaleFract, translate, translateFract;\nuniform float pixelRatio;\nuniform sampler2D palette;\n\nconst float paletteSize = 4096., maxSize = 100.;\n\nvarying vec4 fragColor, fragBorderColor;\nvarying float fragBorderRadius, fragWidth, fragBorderSize, fragSize;\n\nvoid main() {\n  float size = size * maxSize / 255.;\n  float borderSize = borderSize * maxSize / 255.;\n  fragBorderSize = borderSize;\n  fragSize = size;\n\n  gl_PointSize = (size + borderSize) * pixelRatio;\n\n  vec2 pos = (position + translate) * scale\n\t\t\t+ (positionFract + translateFract) * scale\n\t\t\t+ (position + translate) * scaleFract\n\t\t\t+ (positionFract + translateFract) * scaleFract;\n\n  gl_Position = vec4(pos * 2. - 1., 0, 1);\n\n  fragBorderRadius = borderSize == 0. ? 2. : 1. - 2. * borderSize / (size + borderSize);\n  fragWidth = 1. / gl_PointSize;\n}\n&quot;]),uniforms:{color:function(t,e){var r=e.color.length?e.color[0]:e.color;return D.slice(4*r,4*r+4).map(function(t){return t/255})},borderColor:function(t,e){var r=e.borderColor.length?e.borderColor[0]:e.borderColor;return D.slice(4*r,4*r+4).map(function(t){return t/255})},pixelRatio:t.context(&quot;pixelRatio&quot;),palette:C,scale:t.prop(&quot;scale&quot;),scaleFract:t.prop(&quot;scaleFract&quot;),translate:t.prop(&quot;translate&quot;),translateFract:t.prop(&quot;translateFract&quot;),opacity:t.prop(&quot;opacity&quot;),marker:t.prop(&quot;marker&quot;)},attributes:{position:S,positionFract:E,size:B.attributes.size,borderSize:B.attributes.borderSize}}));else{var U=s({},B);U.frag=l([&quot;precision mediump float;\n#define GLSLIFY 1\n\nvarying vec4 fragColor, fragBorderColor;\nvarying float fragWidth, fragBorderColorLevel, fragColorLevel;\n\nuniform sampler2D marker;\nuniform float pixelRatio, opacity;\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(marker, gl_PointCoord).r, delta = fragWidth;\n\n  //max-distance alpha\n  if (dist &lt; 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);\n    return;\n  }\n\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&quot;]),U.vert=l([&quot;precision mediump float;\n#define GLSLIFY 1\n\nattribute vec2 position, positionFract;\nattribute float size, borderSize;\nattribute float colorId, borderColorId;\n\nuniform vec2 scale, scaleFract, translate, translateFract;\nuniform float pixelRatio;\nuniform sampler2D palette;\n\nconst float paletteSize = 4096., maxSize = 100.;\nconst float borderLevel = .5;\n\nvarying vec4 fragColor, fragBorderColor;\nvarying float fragPointSize, fragBorderRadius,\n\t\tfragWidth, fragBorderColorLevel, fragColorLevel;\n\nvoid main() {\n  vec4 color = texture2D(palette, vec2((colorId + .5) / paletteSize, 0));\n  vec4 borderColor = texture2D(palette, vec2((borderColorId + .5) / paletteSize, 0));\n\n  float size = size * maxSize / 255.;\n  float borderSize = borderSize * maxSize / 255.;\n\n  gl_PointSize = 2. * size * pixelRatio;\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}\n&quot;]),k=t(U);var V=s({},B);V.frag=l([&quot;precision highp float;\n#define GLSLIFY 1\n\nvarying vec4 fragColor, fragBorderColor;\n\nuniform float opacity;\nvarying float fragBorderRadius, fragWidth;\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 &gt; 1.0 + delta) {\n\t\tdiscard;\n\t\treturn;\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&quot;]),V.vert=l([&quot;precision highp float;\n#define GLSLIFY 1\n\nattribute vec2 position, positionFract;\nattribute float size, borderSize;\nattribute float colorId, borderColorId;\n\nuniform vec2 scale, scaleFract, translate, translateFract;\nuniform float pixelRatio;\nuniform sampler2D palette;\n\nconst float paletteSize = 4096., maxSize = 100.;\n\nvarying vec4 fragColor, fragBorderColor;\nvarying float fragBorderRadius, fragWidth;\n\nvoid main() {\n  vec4 color = texture2D(palette, vec2((colorId + .5) / paletteSize, 0));\n  vec4 borderColor = texture2D(palette, vec2((borderColorId + .5) / paletteSize, 0));\n\n  float size = size * maxSize / 255.;\n  float borderSize = borderSize * maxSize / 255.;\n\n  gl_PointSize = (size + borderSize) * pixelRatio;\n\n  vec2 pos = (position + translate) * scale\n\t\t\t+ (positionFract + translateFract) * scale\n\t\t\t+ (position + translate) * scaleFract\n\t\t\t+ (positionFract + translateFract) * scaleFract;\n\n  gl_Position = vec4(pos * 2. - 1., 0, 1);\n\n  fragBorderRadius = borderSize == 0. ? 2. : 1. - 2. * borderSize / (size + borderSize);\n  fragColor = color;\n  fragBorderColor = borderColor;\n  fragWidth = 1. / gl_PointSize;\n}\n&quot;]),A=t(V)}return s(r,{update:x,draw:p,destroy:M,regl:t,gl:z,canvas:z.canvas,groups:O,markers:R}),r}},{&quot;array-bounds&quot;:48,&quot;binary-search-bounds&quot;:504,&quot;color-id&quot;:97,&quot;color-normalize&quot;:99,&quot;flatten-vertex-data&quot;:143,glslify:505,&quot;is-iexplorer&quot;:284,&quot;object-assign&quot;:462,&quot;pick-by-alias&quot;:473,&quot;snap-points-2d&quot;:534,&quot;to-float32&quot;:547,&quot;update-diff&quot;:558}],504:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,n,i){var a=[&quot;function &quot;,t,&quot;(a,l,h,&quot;,n.join(&quot;,&quot;),&quot;){&quot;,i?&quot;&quot;:&quot;var i=&quot;,r?&quot;l-1&quot;:&quot;h+1&quot;,&quot;;while(l&lt;=h){var m=(l+h)&gt;&gt;&gt;1,x=a[m]&quot;];return i?e.indexOf(&quot;c&quot;)&lt;0?a.push(&quot;;if(x===y){return m}else if(x&lt;=y){&quot;):a.push(&quot;;var p=c(x,y);if(p===0){return m}else if(p&lt;=0){&quot;):a.push(&quot;;if(&quot;,e,&quot;){i=m;&quot;),r?a.push(&quot;l=m+1}else{h=m-1}&quot;):a.push(&quot;h=m-1}else{l=m+1}&quot;),a.push(&quot;}&quot;),i?a.push(&quot;return -1};&quot;):a.push(&quot;return i};&quot;),a.join(&quot;&quot;)}function i(t,e,r,i){return new Function([n(&quot;A&quot;,&quot;x&quot;+t+&quot;y&quot;,e,[&quot;y&quot;],i),n(&quot;P&quot;,&quot;c(x,y)&quot;+t+&quot;0&quot;,e,[&quot;y&quot;,&quot;c&quot;],i),&quot;function dispatchBsearch&quot;,r,&quot;(a,y,c,l,h){if(typeof(c)==='function'){return P(a,(l===void 0)?0:l|0,(h===void 0)?a.length-1:h|0,y,c)}else{return A(a,(c===void 0)?0:c|0,(l===void 0)?a.length-1:l|0,y)}}return dispatchBsearch&quot;,r].join(&quot;&quot;))()}e.exports={ge:i(&quot;&gt;=&quot;,!1,&quot;GE&quot;),gt:i(&quot;&gt;&quot;,!1,&quot;GT&quot;),lt:i(&quot;&lt;&quot;,!0,&quot;LT&quot;),le:i(&quot;&lt;=&quot;,!0,&quot;LE&quot;),eq:i(&quot;-&quot;,!0,&quot;EQ&quot;,!0)}},{}],505:[function(t,e,r){arguments[4][169][0].apply(r,arguments)},{dup:169}],506:[function(t,e,r){!function(t,n){&quot;object&quot;==typeof r&amp;&amp;void 0!==e?e.exports=n():t.createREGL=n()}(this,function(){function t(t,e){this.id=j++,this.type=t,this.data=e}function e(t){if(0===t.length)return[];var r=t.charAt(0),n=t.charAt(t.length-1);if(1&lt;t.length&amp;&amp;r===n&amp;&amp;('&quot;'===r||&quot;'&quot;===r))return['&quot;'+t.substr(1,t.length-2).replace(/\\/g,&quot;\\\\&quot;).replace(/&quot;/g,'\\&quot;')+'&quot;'];if(r=/\[(false|true|null|\d+|'[^']*'|&quot;[^&quot;]*&quot;)\]/.exec(t))return e(t.substr(0,r.index)).concat(e(r[1])).concat(e(t.substr(r.index+r[0].length)));if(1===(r=t.split(&quot;.&quot;)).length)return['&quot;'+t.replace(/\\/g,&quot;\\\\&quot;).replace(/&quot;/g,'\\&quot;')+'&quot;'];for(t=[],n=0;n&lt;r.length;++n)t=t.concat(e(r[n]));return t}function r(t){return&quot;[&quot;+e(t).join(&quot;][&quot;)+&quot;]&quot;}function n(t){return&quot;string&quot;==typeof t?t.split():t}function i(t){return&quot;string&quot;==typeof t?document.querySelector(t):t}function a(t){var e,r,a,o,s=t||{};t={};var l=[],c=[],u=&quot;undefined&quot;==typeof window?1:window.devicePixelRatio,f=!1,h=function(t){},d=function(){};if(&quot;string&quot;==typeof s?e=document.querySelector(s):&quot;object&quot;==typeof s&amp;&amp;(&quot;string&quot;==typeof s.nodeName&amp;&amp;&quot;function&quot;==typeof s.appendChild&amp;&amp;&quot;function&quot;==typeof s.getBoundingClientRect?e=s:&quot;function&quot;==typeof s.drawArrays||&quot;function&quot;==typeof s.drawElements?(o=s,a=o.canvas):(&quot;gl&quot;in s?o=s.gl:&quot;canvas&quot;in s?a=i(s.canvas):&quot;container&quot;in s&amp;&amp;(r=i(s.container)),&quot;attributes&quot;in s&amp;&amp;(t=s.attributes),&quot;extensions&quot;in s&amp;&amp;(l=n(s.extensions)),&quot;optionalExtensions&quot;in s&amp;&amp;(c=n(s.optionalExtensions)),&quot;onDone&quot;in s&amp;&amp;(h=s.onDone),&quot;profile&quot;in s&amp;&amp;(f=!!s.profile),&quot;pixelRatio&quot;in s&amp;&amp;(u=+s.pixelRatio))),e&amp;&amp;(&quot;canvas&quot;===e.nodeName.toLowerCase()?a=e:r=e),!o){if(!a){if(!(e=function(t,e,r){function n(){var e=window.innerWidth,n=window.innerHeight;t!==document.body&amp;&amp;(n=t.getBoundingClientRect(),e=n.right-n.left,n=n.bottom-n.top),i.width=r*e,i.height=r*n,N(i.style,{width:e+&quot;px&quot;,height:n+&quot;px&quot;})}var i=document.createElement(&quot;canvas&quot;);return N(i.style,{border:0,margin:0,padding:0,top:0,left:0}),t.appendChild(i),t===document.body&amp;&amp;(i.style.position=&quot;absolute&quot;,N(t.style,{margin:0,padding:0})),window.addEventListener(&quot;resize&quot;,n,!1),n(),{canvas:i,onDestroy:function(){window.removeEventListener(&quot;resize&quot;,n),t.removeChild(i)}}}(r||document.body,0,u)))return null;a=e.canvas,d=e.onDestroy}o=function(t,e){function r(r){try{return t.getContext(r,e)}catch(t){return null}}return r(&quot;webgl&quot;)||r(&quot;experimental-webgl&quot;)||r(&quot;webgl-experimental&quot;)}(a,t)}return o?{gl:o,canvas:a,container:r,extensions:l,optionalExtensions:c,pixelRatio:u,profile:f,onDone:h,onDestroy:d}:(d(),h(&quot;webgl not supported, try upgrading your browser or graphics drivers http://get.webgl.org&quot;),null)}function o(t){return!!t&amp;&amp;&quot;object&quot;==typeof t&amp;&amp;Array.isArray(t.shape)&amp;&amp;Array.isArray(t.stride)&amp;&amp;&quot;number&quot;==typeof t.offset&amp;&amp;t.shape.length===t.stride.length&amp;&amp;(Array.isArray(t.data)||q(t.data))}function s(t,e){for(var r=Array(t),n=0;n&lt;t;++n)r[n]=e(n);return r}function l(t){var e,r;return e=(65535&lt;t)&lt;&lt;4,t&gt;&gt;&gt;=e,r=(255&lt;t)&lt;&lt;3,t&gt;&gt;&gt;=r,e|=r,r=(15&lt;t)&lt;&lt;2,t&gt;&gt;&gt;=r,e|=r,r=(3&lt;t)&lt;&lt;1,e|r|t&gt;&gt;&gt;r&gt;&gt;1}function c(t){t:{for(var e=16;268435456&gt;=e;e*=16)if(t&lt;=e){t=e;break t}t=0}return 0&lt;(e=G[l(t)&gt;&gt;2]).length?e.pop():new ArrayBuffer(t)}function u(t){G[l(t.byteLength)&gt;&gt;2].push(t)}function f(t,e,r,n,i,a){for(var o=0;o&lt;e;++o)for(var s=t[o],l=0;l&lt;r;++l)for(var c=s[l],u=0;u&lt;n;++u)i[a++]=c[u]}function h(t,e,r,n,i){for(var a=1,o=r+1;o&lt;e.length;++o)a*=e[o];var s=e[r];if(4==e.length-r){var l=e[r+1],c=e[r+2];for(e=e[r+3],o=0;o&lt;s;++o)f(t[o],l,c,e,n,i),i+=a}else for(o=0;o&lt;s;++o)h(t[o],e,r+1,n,i),i+=a}function d(t){return 0|X[Object.prototype.toString.call(t)]}function p(t,e){for(var r=0;r&lt;e.length;++r)t[r]=e[r]}function m(t,e,r,n,i,a,o){for(var s=0,l=0;l&lt;r;++l)for(var c=0;c&lt;n;++c)t[s++]=e[i*l+a*c+o]}function g(t){for(var e=Y.allocType(5123,t.length),r=0;r&lt;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{et[0]=t[r];var n=(a=rt[0])&gt;&gt;&gt;31&lt;&lt;15,i=(a&lt;&lt;1&gt;&gt;&gt;24)-127,a=a&gt;&gt;13&amp;1023;e[r]=-24&gt;i?n:-14&gt;i?n+(a+1024&gt;&gt;-14-i):15&lt;i?n+31744:n+(i+15&lt;&lt;10)+a}return e}function v(t){return Array.isArray(t)||q(t)}function y(t){return Array.isArray(t)&amp;&amp;(0===t.length||&quot;number&quot;==typeof t[0])}function x(t){return!(!Array.isArray(t)||0===t.length||!v(t[0]))}function b(t){return Object.prototype.toString.call(t)}function _(t){if(!t)return!1;var e=b(t);return 0&lt;=ot.indexOf(e)||(y(t)||x(t)||o(t))}function w(t,e){36193===t.type?(t.data=g(e),Y.freeType(e)):t.data=e}function M(t,e,r,n,i,a){if(t=void 0!==lt[t]?lt[t]:at[t]*st[e],a&amp;&amp;(t*=6),i){for(n=0;1&lt;=r;)n+=t*r*r,r/=2;return n}return t*r*n}function k(t,e,r,n,i,a,s){function l(){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(&quot;object&quot;==typeof e&amp;&amp;e){&quot;premultiplyAlpha&quot;in e&amp;&amp;(t.premultiplyAlpha=e.premultiplyAlpha),&quot;flipY&quot;in e&amp;&amp;(t.flipY=e.flipY),&quot;alignment&quot;in e&amp;&amp;(t.unpackAlignment=e.alignment),&quot;colorSpace&quot;in e&amp;&amp;(t.colorSpace=V[e.colorSpace]),&quot;type&quot;in e&amp;&amp;(t.type=G[e.type]);var r=t.width,n=t.height,i=t.channels,a=!1;&quot;shape&quot;in e?(r=e.shape[0],n=e.shape[1],3===e.shape.length&amp;&amp;(i=e.shape[2],a=!0)):(&quot;radius&quot;in e&amp;&amp;(r=n=e.radius),&quot;width&quot;in e&amp;&amp;(r=e.width),&quot;height&quot;in e&amp;&amp;(n=e.height),&quot;channels&quot;in e&amp;&amp;(i=e.channels,a=!0)),t.width=0|r,t.height=0|n,t.channels=0|i,r=!1,&quot;format&quot;in e&amp;&amp;(r=e.format,n=t.internalformat=Z[r],t.format=st[n],r in G&amp;&amp;!(&quot;type&quot;in e)&amp;&amp;(t.type=G[r]),r in J&amp;&amp;(t.compressed=!0),r=!0),!a&amp;&amp;r?t.channels=at[t.format]:a&amp;&amp;!r&amp;&amp;t.channels!==it[t.format]&amp;&amp;(t.format=t.internalformat=it[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(){l.call(this),this.yOffset=this.xOffset=0,this.data=null,this.needsFree=!1,this.element=null,this.needsCopy=!1}function d(t,e){var r=null;if(_(e)?r=e:e&amp;&amp;(u(t,e),&quot;x&quot;in e&amp;&amp;(t.xOffset=0|e.x),&quot;y&quot;in e&amp;&amp;(t.yOffset=0|e.y),_(e.data)&amp;&amp;(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(q(r))t.channels=t.channels||4,t.data=r,&quot;type&quot;in e||5121!==t.type||(t.type=0|X[Object.prototype.toString.call(r)]);else if(y(r)){switch(t.channels=t.channels||4,n=r,a=n.length,t.type){case 5121:case 5123:case 5125:case 5126:(a=Y.allocType(t.type,a)).set(n),t.data=a;break;case 36193:t.data=g(n)}t.alignment=1,t.needsFree=!0}else if(o(r)){n=r.data,Array.isArray(n)||5121!==t.type||(t.type=0|X[Object.prototype.toString.call(n)]);a=r.shape;var s,l,c,f,h=r.stride;3===a.length?(c=a[2],f=h[2]):f=c=1,s=a[0],l=a[1],a=h[0],h=h[1],t.alignment=1,t.width=s,t.height=l,t.channels=c,t.format=t.internalformat=it[c],t.needsFree=!0,s=f,r=r.offset,c=t.width,f=t.height,l=t.channels;for(var d=Y.allocType(36193===t.type?5126:t.type,c*f*l),p=0,m=0;m&lt;f;++m)for(var M=0;M&lt;c;++M)for(var k=0;k&lt;l;++k)d[p++]=n[a*M+h*m+s*k+r];w(t,d)}else if(&quot;[object HTMLCanvasElement]&quot;===b(r)||&quot;[object CanvasRenderingContext2D]&quot;===b(r))&quot;[object HTMLCanvasElement]&quot;===b(r)?t.element=r:t.element=r.canvas,t.width=t.element.width,t.height=t.element.height,t.channels=4;else if(&quot;[object HTMLImageElement]&quot;===b(r))t.element=r,t.width=r.naturalWidth,t.height=r.naturalHeight,t.channels=4;else if(&quot;[object HTMLVideoElement]&quot;===b(r))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=v(r[0][0])?h||r[0][0].length:h||1,s=W.shape(r),c=1,f=0;f&lt;s.length;++f)c*=s[f];c=Y.allocType(36193===t.type?5126:t.type,c),W.flatten(r,s,&quot;&quot;,c),w(t,c),t.alignment=1,t.width=n,t.height=a,t.channels=h,t.format=t.internalformat=it[h],t.needsFree=!0}}else t.width=t.width||1,t.height=t.height||1,t.channels=t.channels||4}function p(e,r,i,a,o){var s=e.element,l=e.data,c=e.internalformat,u=e.format,h=e.type,d=e.width,p=e.height;f(e),s?t.texSubImage2D(r,o,i,a,u,h,s):e.compressed?t.compressedTexSubImage2D(r,o,i,a,c,d,p,l):e.needsCopy?(n(),t.copyTexSubImage2D(r,o,i,a,e.xOffset,e.yOffset,d,p)):t.texSubImage2D(r,o,i,a,d,p,u,h,l)}function m(){return lt.pop()||new h}function k(t){t.needsFree&amp;&amp;Y.freeType(t.data),h.call(t),lt.push(t)}function A(t,e,r){var n=t.images[0]=m();t.mipmask=1,n.width=t.width=e,n.height=t.height=r,n.channels=t.channels=4}function T(t,e){var r=null;if(_(e))r=t.images[0]=m(),c(r,t),d(r,e),t.mipmask=1;else if(u(t,e),Array.isArray(e.mipmap))for(var n=e.mipmap,i=0;i&lt;n.length;++i)r=t.images[i]=m(),c(r,t),r.width&gt;&gt;=i,r.height&gt;&gt;=i,d(r,n[i]),t.mipmask|=1&lt;&lt;i;else r=t.images[0]=m(),c(r,t),d(r,e),t.mipmask=1;c(t,t.images[0])}function S(e,r){for(var i=e.images,a=0;a&lt;i.length&amp;&amp;i[a];++a){var o=i[a],s=r,l=a,c=o.element,u=o.data,h=o.internalformat,d=o.format,p=o.type,m=o.width,g=o.height;f(o),c?t.texImage2D(s,l,d,d,p,c):o.compressed?t.compressedTexImage2D(s,l,h,m,g,0,u):o.needsCopy?(n(),t.copyTexImage2D(s,l,d,o.xOffset,o.yOffset,m,g,0)):t.texImage2D(s,l,d,m,g,0,d,p,u)}}function E(){var t=ct.pop()||new function(){l.call(this),this.genMipmaps=!1,this.mipmapHint=4352,this.mipmask=0,this.images=Array(16)};l.call(t);for(var e=t.mipmask=0;16&gt;e;++e)t.images[e]=null;return t}function L(t){for(var e=t.images,r=0;r&lt;e.length;++r)e[r]&amp;&amp;k(e[r]),e[r]=null;ct.push(t)}function C(){this.magFilter=this.minFilter=9728,this.wrapT=this.wrapS=33071,this.anisotropic=1,this.genMipmaps=!1,this.mipmapHint=4352}function z(t,e){&quot;min&quot;in e&amp;&amp;(t.minFilter=U[e.min],0&lt;=nt.indexOf(t.minFilter)&amp;&amp;(t.genMipmaps=!0)),&quot;mag&quot;in e&amp;&amp;(t.magFilter=B[e.mag]);var r=t.wrapS,n=t.wrapT;if(&quot;wrap&quot;in e){var i=e.wrap;&quot;string&quot;==typeof i?r=n=j[i]:Array.isArray(i)&amp;&amp;(r=j[i[0]],n=j[i[1]])}else&quot;wrapS&quot;in e&amp;&amp;(r=j[e.wrapS]),&quot;wrapT&quot;in e&amp;&amp;(n=j[e.wrapT]);if(t.wrapS=r,t.wrapT=n,&quot;anisotropic&quot;in e&amp;&amp;(t.anisotropic=e.anisotropic),&quot;mipmap&quot;in e){switch(r=!1,typeof e.mipmap){case&quot;string&quot;:t.mipmapHint=R[e.mipmap],r=t.genMipmaps=!0;break;case&quot;boolean&quot;:r=t.genMipmaps=e.mipmap;break;case&quot;object&quot;:t.genMipmaps=!1,r=!0}!r||&quot;min&quot;in e||(t.minFilter=9984)}}function D(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&amp;&amp;t.texParameteri(n,34046,r.anisotropic),r.genMipmaps&amp;&amp;(t.hint(33170,r.mipmapHint),t.generateMipmap(n))}function I(e){l.call(this),this.mipmask=0,this.internalformat=6408,this.id=ut++,this.refCount=1,this.target=e,this.texture=t.createTexture(),this.unit=-1,this.bindCount=0,this.texInfo=new C,s.profile&amp;&amp;(this.stats={size:0})}function P(e){t.activeTexture(33984),t.bindTexture(e.target,e.texture)}function O(){var e=dt[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&lt;=n&amp;&amp;(t.activeTexture(33984+n),t.bindTexture(i,null),dt[n]=null),t.deleteTexture(r),e.texture=null,e.params=null,e.pixels=null,e.refCount=0,delete ft[e.id],a.textureCount--}var R={&quot;don't care&quot;:4352,&quot;dont care&quot;:4352,nice:4354,fast:4353},j={repeat:10497,clamp:33071,mirror:33648},B={nearest:9728,linear:9729},U=N({mipmap:9987,&quot;nearest mipmap nearest&quot;:9984,&quot;linear mipmap nearest&quot;:9985,&quot;nearest mipmap linear&quot;:9986,&quot;linear mipmap linear&quot;:9987},B),V={none:0,browser:37444},G={uint8:5121,rgba4:32819,rgb565:33635,&quot;rgb5 a1&quot;:32820},Z={alpha:6406,luminance:6409,&quot;luminance alpha&quot;:6410,rgb:6407,rgba:6408,rgba4:32854,&quot;rgb5 a1&quot;:32855,rgb565:36194},J={};e.ext_srgb&amp;&amp;(Z.srgb=35904,Z.srgba=35906),e.oes_texture_float&amp;&amp;(G.float32=G.float=5126),e.oes_texture_half_float&amp;&amp;(G.float16=G[&quot;half float&quot;]=36193),e.webgl_depth_texture&amp;&amp;(N(Z,{depth:6402,&quot;depth stencil&quot;:34041}),N(G,{uint16:5123,uint32:5125,&quot;depth stencil&quot;:34042})),e.webgl_compressed_texture_s3tc&amp;&amp;N(J,{&quot;rgb s3tc dxt1&quot;:33776,&quot;rgba s3tc dxt1&quot;:33777,&quot;rgba s3tc dxt3&quot;:33778,&quot;rgba s3tc dxt5&quot;:33779}),e.webgl_compressed_texture_atc&amp;&amp;N(J,{&quot;rgb atc&quot;:35986,&quot;rgba atc explicit alpha&quot;:35987,&quot;rgba atc interpolated alpha&quot;:34798}),e.webgl_compressed_texture_pvrtc&amp;&amp;N(J,{&quot;rgb pvrtc 4bppv1&quot;:35840,&quot;rgb pvrtc 2bppv1&quot;:35841,&quot;rgba pvrtc 4bppv1&quot;:35842,&quot;rgba pvrtc 2bppv1&quot;:35843}),e.webgl_compressed_texture_etc1&amp;&amp;(J[&quot;rgb etc1&quot;]=36196);var K=Array.prototype.slice.call(t.getParameter(34467));Object.keys(J).forEach(function(t){var e=J[t];0&lt;=K.indexOf(e)&amp;&amp;(Z[t]=e)});var Q=Object.keys(Z);r.textureFormats=Q;var $=[];Object.keys(Z).forEach(function(t){$[Z[t]]=t});var tt=[];Object.keys(G).forEach(function(t){tt[G[t]]=t});var et=[];Object.keys(B).forEach(function(t){et[B[t]]=t});var rt=[];Object.keys(U).forEach(function(t){rt[U[t]]=t});var ot=[];Object.keys(j).forEach(function(t){ot[j[t]]=t});var st=Q.reduce(function(t,e){var r=Z[e];return 6409===r||6406===r||6409===r||6410===r||6402===r||34041===r?t[r]=r:32855===r||0&lt;=e.indexOf(&quot;rgba&quot;)?t[r]=6408:t[r]=6407,t},{}),lt=[],ct=[],ut=0,ft={},ht=r.maxTextureUnits,dt=Array(ht).map(function(){return null});return N(I.prototype,{bind:function(){this.bindCount+=1;var e=this.unit;if(0&gt;e){for(var r=0;r&lt;ht;++r){var n=dt[r];if(n){if(0&lt;n.bindCount)continue;n.unit=-1}dt[r]=this,e=r;break}s.profile&amp;&amp;a.maxTextureUnits&lt;e+1&amp;&amp;(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&gt;=--this.refCount&amp;&amp;F(this)}}),s.profile&amp;&amp;(a.getTotalTextureSize=function(){var t=0;return Object.keys(ft).forEach(function(e){t+=ft[e].stats.size}),t}),{create2D:function(e,r){function n(t,e){var r=i.texInfo;C.call(r);var a=E();return&quot;number&quot;==typeof t?&quot;number&quot;==typeof e?A(a,0|t,0|e):A(a,0|t,0|t):t?(z(r,t),T(a,t)):A(a,1,1),r.genMipmaps&amp;&amp;(a.mipmask=(a.width&lt;&lt;1)-1),i.mipmask=a.mipmask,c(i,a),i.internalformat=a.internalformat,n.width=a.width,n.height=a.height,P(i),S(a,3553),D(r,3553),O(),L(a),s.profile&amp;&amp;(i.stats.size=M(i.internalformat,i.type,a.width,a.height,r.genMipmaps,!1)),n.format=$[i.internalformat],n.type=tt[i.type],n.mag=et[r.magFilter],n.min=rt[r.minFilter],n.wrapS=ot[r.wrapS],n.wrapT=ot[r.wrapT],n}var i=new I(3553);return ft[i.id]=i,a.textureCount++,n(e,r),n.subimage=function(t,e,r,a){e|=0,r|=0,a|=0;var o=m();return c(o,i),o.width=0,o.height=0,d(o,t),o.width=o.width||(i.width&gt;&gt;a)-e,o.height=o.height||(i.height&gt;&gt;a)-r,P(i),p(o,3553,e,r,a),O(),k(o),n},n.resize=function(e,r){var a=0|e,o=0|r||a;if(a===i.width&amp;&amp;o===i.height)return n;n.width=i.width=a,n.height=i.height=o,P(i);for(var l=0;i.mipmask&gt;&gt;l;++l)t.texImage2D(3553,l,i.format,a&gt;&gt;l,o&gt;&gt;l,0,i.format,i.type,null);return O(),s.profile&amp;&amp;(i.stats.size=M(i.internalformat,i.type,a,o,!1,!1)),n},n._reglType=&quot;texture2d&quot;,n._texture=i,s.profile&amp;&amp;(n.stats=i.stats),n.destroy=function(){i.decRef()},n},createCube:function(e,r,n,i,o,l){function f(t,e,r,n,i,a){var o,l=h.texInfo;for(C.call(l),o=0;6&gt;o;++o)g[o]=E();if(&quot;number&quot;!=typeof t&amp;&amp;t){if(&quot;object&quot;==typeof t)if(e)T(g[0],t),T(g[1],e),T(g[2],r),T(g[3],n),T(g[4],i),T(g[5],a);else if(z(l,t),u(h,t),&quot;faces&quot;in t)for(t=t.faces,o=0;6&gt;o;++o)c(g[o],h),T(g[o],t[o]);else for(o=0;6&gt;o;++o)T(g[o],t)}else for(t=0|t||1,o=0;6&gt;o;++o)A(g[o],t,t);for(c(h,g[0]),h.mipmask=l.genMipmaps?(g[0].width&lt;&lt;1)-1:g[0].mipmask,h.internalformat=g[0].internalformat,f.width=g[0].width,f.height=g[0].height,P(h),o=0;6&gt;o;++o)S(g[o],34069+o);for(D(l,34067),O(),s.profile&amp;&amp;(h.stats.size=M(h.internalformat,h.type,f.width,f.height,l.genMipmaps,!0)),f.format=$[h.internalformat],f.type=tt[h.type],f.mag=et[l.magFilter],f.min=rt[l.minFilter],f.wrapS=ot[l.wrapS],f.wrapT=ot[l.wrapT],o=0;6&gt;o;++o)L(g[o]);return f}var h=new I(34067);ft[h.id]=h,a.cubeCount++;var g=Array(6);return f(e,r,n,i,o,l),f.subimage=function(t,e,r,n,i){r|=0,n|=0,i|=0;var a=m();return c(a,h),a.width=0,a.height=0,d(a,e),a.width=a.width||(h.width&gt;&gt;i)-r,a.height=a.height||(h.height&gt;&gt;i)-n,P(h),p(a,34069+t,r,n,i),O(),k(a),f},f.resize=function(e){if((e|=0)!==h.width){f.width=h.width=e,f.height=h.height=e,P(h);for(var r=0;6&gt;r;++r)for(var n=0;h.mipmask&gt;&gt;n;++n)t.texImage2D(34069+r,n,h.format,e&gt;&gt;n,e&gt;&gt;n,0,h.format,h.type,null);return O(),s.profile&amp;&amp;(h.stats.size=M(h.internalformat,h.type,f.width,f.height,!1,!0)),f}},f._reglType=&quot;textureCube&quot;,f._texture=h,s.profile&amp;&amp;(f.stats=h.stats),f.destroy=function(){h.decRef()},f},clear:function(){for(var e=0;e&lt;ht;++e)t.activeTexture(33984+e),t.bindTexture(3553,null),dt[e]=null;H(ft).forEach(F),a.cubeCount=0,a.textureCount=0},getTexture:function(t){return null},restore:function(){H(ft).forEach(function(e){e.texture=t.createTexture(),t.bindTexture(e.target,e.texture);for(var r=0;32&gt;r;++r)if(0!=(e.mipmask&amp;1&lt;&lt;r))if(3553===e.target)t.texImage2D(3553,r,e.internalformat,e.width&gt;&gt;r,e.height&gt;&gt;r,0,e.internalformat,e.type,null);else for(var n=0;6&gt;n;++n)t.texImage2D(34069+n,r,e.internalformat,e.width&gt;&gt;r,e.height&gt;&gt;r,0,e.internalformat,e.type,null);D(e.texInfo,e.target)})}}}function A(){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 T(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&lt;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?l:c)[n])){var a=e.str(n),o=t.createShader(r);t.shaderSource(o,a),t.compileShader(o),i[n]=o}return o}function s(r,s){var l,c;l=o(35632,r.fragId),c=o(35633,r.vertId);var u=r.program=t.createProgram();t.attachShader(u,l),t.attachShader(u,c),t.linkProgram(u);var f=t.getProgramParameter(u,35718);n.profile&amp;&amp;(r.stats.uniformsCount=f);var h=r.uniforms;for(l=0;l&lt;f;++l)if(c=t.getActiveUniform(u,l))if(1&lt;c.size)for(var d=0;d&lt;c.size;++d){var p=c.name.replace(&quot;[0]&quot;,&quot;[&quot;+d+&quot;]&quot;);a(h,new i(p,e.id(p),t.getUniformLocation(u,p),c))}else a(h,new i(c.name,e.id(c.name),t.getUniformLocation(u,c.name),c));for(f=t.getProgramParameter(u,35721),n.profile&amp;&amp;(r.stats.attributesCount=f),h=r.attributes,l=0;l&lt;f;++l)(c=t.getActiveAttrib(u,l))&amp;&amp;a(h,new i(c.name,e.id(c.name),t.getAttribLocation(u,c.name),c))}var l={},c={},u={},f=[],h=0;return n.profile&amp;&amp;(r.getMaxUniformsCount=function(){var t=0;return f.forEach(function(e){e.stats.uniformsCount&gt;t&amp;&amp;(t=e.stats.uniformsCount)}),t},r.getMaxAttributesCount=function(){var t=0;return f.forEach(function(e){e.stats.attributesCount&gt;t&amp;&amp;(t=e.stats.attributesCount)}),t}),{clear:function(){var e=t.deleteShader.bind(t);H(l).forEach(e),l={},H(c).forEach(e),c={},f.forEach(function(e){t.deleteProgram(e.program)}),f.length=0,u={},r.shaderCount=0},program:function(t,e,i){var a=u[e];a||(a=u[e]={});var o=a[t];return o||(o=new function(t,e){this.id=h++,this.fragId=t,this.vertId=e,this.program=null,this.uniforms=[],this.attributes=[],n.profile&amp;&amp;(this.stats={uniformsCount:0,attributesCount:0})}(e,t),r.shaderCount++,s(o),a[t]=o,f.push(o)),o},restore:function(){l={},c={};for(var t=0;t&lt;f.length;++t)s(f[t])},shader:o,frag:-1,vert:-1}}function S(t,e,r,n,i,a){function o(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 q(i)?u=i:i&amp;&amp;(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&amp;&amp;(u=u||new Float32Array(i))),t.pixelStorei(3333,4),t.readPixels(o,s,l,c,6408,a,u),u}return function(t){return t&amp;&amp;&quot;framebuffer&quot;in t?function(t){var r;return e.setFBO({framebuffer:t.framebuffer},function(){r=o(t)}),r}(t):o(t)}}function E(t){return Array.prototype.slice.call(t)}function L(t){return E(t).join(&quot;&quot;)}function C(t){return Array.isArray(t)||q(t)||o(t)}function z(t){return t.sort(function(t,e){return&quot;viewport&quot;===t?-1:&quot;viewport&quot;===e?1:t&lt;e?-1:1})}function D(t,e,r,n){this.thisDep=t,this.contextDep=e,this.propDep=r,this.append=n}function I(t){return t&amp;&amp;!(t.thisDep||t.contextDep||t.propDep)}function P(t){return new D(!1,!1,!1,t)}function O(t,e){var r=t.type;return 0===r?(r=t.data.length,new D(!0,1&lt;=r,2&lt;=r,e)):4===r?(r=t.data,new D(r.thisDep,r.contextDep,r.propDep,e)):new D(3===r,2===r,1===r,e)}function F(t,e,r,n,i,a,o,l,c,u,f,h,d,p,m){function g(t){return t.replace(&quot;.&quot;,&quot;_&quot;)}function y(t,e,r){var n=g(t);$.push(t),Q[n]=K[n]=!!r,et[n]=e}function x(t,e,r){var n=g(t);$.push(t),Array.isArray(r)?(K[n]=r.slice(),Q[n]=r.slice()):K[n]=Q[n]=r,rt[n]=e}function b(){var t=function(){function t(){var t=[],e=[];return N(function(){t.push.apply(t,E(arguments))},{def:function(){var n=&quot;v&quot;+r++;return e.push(n),0&lt;arguments.length&amp;&amp;(t.push(n,&quot;=&quot;),t.push.apply(t,E(arguments)),t.push(&quot;;&quot;)),n},toString:function(){return L([0&lt;e.length?&quot;var &quot;+e+&quot;;&quot;:&quot;&quot;,L(t)])}})}function e(){function e(t,e){n(t,e,&quot;=&quot;,r.def(t,e),&quot;;&quot;)}var r=t(),n=t(),i=r.toString,a=n.toString;return N(function(){r.apply(r,E(arguments))},{def:r.def,entry:r,exit:n,save:e,set:function(t,n,i){e(t,n),r(t,n,&quot;=&quot;,i,&quot;;&quot;)},toString:function(){return i()+a()}})}var r=0,n=[],i=[],a=t(),o={};return{global:a,link:function(t){for(var e=0;e&lt;i.length;++e)if(i[e]===t)return n[e];return e=&quot;g&quot;+r++,n.push(e),i.push(t),e},block:t,proc:function(t,r){function n(){var t=&quot;a&quot;+i.length;return i.push(t),t}var i=[];r=r||0;for(var a=0;a&lt;r;++a)n();var s=(a=e()).toString;return o[t]=N(a,{arg:n,toString:function(){return L([&quot;function(&quot;,i.join(),&quot;){&quot;,s(),&quot;}&quot;])}})},scope:e,cond:function(){var t=L(arguments),r=e(),n=e(),i=r.toString,a=n.toString;return N(r,{then:function(){return r.apply(r,E(arguments)),this},else:function(){return n.apply(n,E(arguments)),this},toString:function(){var e=a();return e&amp;&amp;(e=&quot;else{&quot;+e+&quot;}&quot;),L([&quot;if(&quot;,t,&quot;){&quot;,i(),&quot;}&quot;,e])}})},compile:function(){var t=['&quot;use strict&quot;;',a,&quot;return {&quot;];Object.keys(o).forEach(function(e){t.push('&quot;',e,'&quot;:',o[e].toString(),&quot;,&quot;)}),t.push(&quot;}&quot;);var e=L(t).replace(/;/g,&quot;;\n&quot;).replace(/}/g,&quot;}\n&quot;).replace(/{/g,&quot;{\n&quot;);return Function.apply(null,n.concat(e)).apply(null,i)}}}(),r=t.link,n=t.global;t.id=at++,t.batchId=&quot;0&quot;;var i=r(nt),a=t.shared={props:&quot;a0&quot;};Object.keys(nt).forEach(function(t){a[t]=n.def(i,&quot;.&quot;,t)});var o=t.next={},s=t.current={};Object.keys(rt).forEach(function(t){Array.isArray(K[t])&amp;&amp;(o[t]=n.def(a.next,&quot;.&quot;,t),s[t]=n.def(a.current,&quot;.&quot;,t))});var l=t.constants={};Object.keys(it).forEach(function(t){l[t]=n.def(JSON.stringify(it[t]))}),t.invoke=function(e,n){switch(n.type){case 0:var i=[&quot;this&quot;,a.context,a.props,t.batchId];return e.def(r(n.data),&quot;.call(&quot;,i.slice(0,Math.max(n.data.length+1,4)),&quot;)&quot;);case 1:return e.def(a.props,n.data);case 2:return e.def(a.context,n.data);case 3:return e.def(&quot;this&quot;,n.data);case 4:return n.data.append(t,e),n.data.ref}},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 Y),c[t]=r(n)},t}function _(t,r,n,o,c){var u=function(t,e){var r=t.static,n=t.dynamic;if(&quot;framebuffer&quot;in r){var i=r.framebuffer;return i?(i=l.getFramebuffer(i),P(function(t,e){var r=t.link(i),n=t.shared;return e.set(n.framebuffer,&quot;.next&quot;,r),n=n.context,e.set(n,&quot;.framebufferWidth&quot;,r+&quot;.width&quot;),e.set(n,&quot;.framebufferHeight&quot;,r+&quot;.height&quot;),r})):P(function(t,e){var r=t.shared;return e.set(r.framebuffer,&quot;.next&quot;,&quot;null&quot;),r=r.context,e.set(r,&quot;.framebufferWidth&quot;,r+&quot;.drawingBufferWidth&quot;),e.set(r,&quot;.framebufferHeight&quot;,r+&quot;.drawingBufferHeight&quot;),&quot;null&quot;})}if(&quot;framebuffer&quot;in n){var a=n.framebuffer;return O(a,function(t,e){var r=t.invoke(e,a),n=t.shared,i=n.framebuffer;return r=e.def(i,&quot;.getFramebuffer(&quot;,r,&quot;)&quot;),e.set(i,&quot;.next&quot;,r),n=n.context,e.set(n,&quot;.framebufferWidth&quot;,r+&quot;?&quot;+r+&quot;.width:&quot;+n+&quot;.drawingBufferWidth&quot;),e.set(n,&quot;.framebufferHeight&quot;,r+&quot;?&quot;+r+&quot;.height:&quot;+n+&quot;.drawingBufferHeight&quot;),r})}return null}(t),h=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&quot;width&quot;in r?n=0|r.width:t=!1,&quot;height&quot;in r?o=0|r.height:t=!1,new D(!t&amp;&amp;e&amp;&amp;e.thisDep,!t&amp;&amp;e&amp;&amp;e.contextDep,!t&amp;&amp;e&amp;&amp;e.propDep,function(t,e){var i=t.shared.context,a=n;&quot;width&quot;in r||(a=e.def(i,&quot;.&quot;,&quot;framebufferWidth&quot;,&quot;-&quot;,s));var c=o;return&quot;height&quot;in r||(c=e.def(i,&quot;.&quot;,&quot;framebufferHeight&quot;,&quot;-&quot;,l)),[s,l,a,c]})}if(t in a){var c=a[t];return t=O(c,function(t,e){var r=t.invoke(e,c),n=t.shared.context,i=e.def(r,&quot;.x|0&quot;),a=e.def(r,&quot;.y|0&quot;);return[i,a,e.def('&quot;width&quot; in ',r,&quot;?&quot;,r,&quot;.width|0:&quot;,&quot;(&quot;,n,&quot;.&quot;,&quot;framebufferWidth&quot;,&quot;-&quot;,i,&quot;)&quot;),r=e.def('&quot;height&quot; in ',r,&quot;?&quot;,r,&quot;.height|0:&quot;,&quot;(&quot;,n,&quot;.&quot;,&quot;framebufferHeight&quot;,&quot;-&quot;,a,&quot;)&quot;)]}),e&amp;&amp;(t.thisDep=t.thisDep||e.thisDep,t.contextDep=t.contextDep||e.contextDep,t.propDep=t.propDep||e.propDep),t}return e?new D(e.thisDep,e.contextDep,e.propDep,function(t,e){var r=t.shared.context;return[0,0,e.def(r,&quot;.&quot;,&quot;framebufferWidth&quot;),e.def(r,&quot;.&quot;,&quot;framebufferHeight&quot;)]}):null}var i=t.static,a=t.dynamic;if(t=n(&quot;viewport&quot;)){var o=t;t=new D(t.thisDep,t.contextDep,t.propDep,function(t,e){var r=o.append(t,e),n=t.shared.context;return e.set(n,&quot;.viewportWidth&quot;,r[2]),e.set(n,&quot;.viewportHeight&quot;,r[3]),r})}return{viewport:t,scissor_box:n(&quot;scissor.box&quot;)}}(t,u),d=function(t,e){function r(t,e){if(t in n){var r=0|n[t];return P(function(t,n){return e&amp;&amp;(t.OFFSET=r),r})}if(t in i){var a=i[t];return O(a,function(t,r){var n=t.invoke(r,a);return e&amp;&amp;(t.OFFSET=n),n})}return e&amp;&amp;o?P(function(t,e){return t.OFFSET=&quot;0&quot;,0}):null}var n=t.static,i=t.dynamic,o=function(){if(&quot;elements&quot;in n){var t=n.elements;C(t)?t=a.getElements(a.create(t,!0)):t&amp;&amp;(t=a.getElements(t));var e=P(function(e,r){if(t){var n=e.link(t);return e.ELEMENTS=n}return e.ELEMENTS=null});return e.value=t,e}if(&quot;elements&quot;in i){var r=i.elements;return O(r,function(t,e){var n=(i=t.shared).isBufferArgs,i=i.elements,a=t.invoke(e,r),o=e.def(&quot;null&quot;);return n=e.def(n,&quot;(&quot;,a,&quot;)&quot;),a=t.cond(n).then(o,&quot;=&quot;,i,&quot;.createStream(&quot;,a,&quot;);&quot;).else(o,&quot;=&quot;,i,&quot;.getElements(&quot;,a,&quot;);&quot;),e.entry(a),e.exit(t.cond(n).then(i,&quot;.destroyStream(&quot;,o,&quot;);&quot;)),t.ELEMENTS=o})}return null}(),s=r(&quot;offset&quot;,!0);return{elements:o,primitive:function(){if(&quot;primitive&quot;in n){var t=n.primitive;return P(function(e,r){return tt[t]})}if(&quot;primitive&quot;in i){var e=i.primitive;return O(e,function(t,r){var n=t.constants.primTypes,i=t.invoke(r,e);return r.def(n,&quot;[&quot;,i,&quot;]&quot;)})}return o?I(o)?P(o.value?function(t,e){return e.def(t.ELEMENTS,&quot;.primType&quot;)}:function(){return 4}):new D(o.thisDep,o.contextDep,o.propDep,function(t,e){var r=t.ELEMENTS;return e.def(r,&quot;?&quot;,r,&quot;.primType:&quot;,4)}):null}(),count:function(){if(&quot;count&quot;in n){var t=0|n.count;return P(function(){return t})}if(&quot;count&quot;in i){var e=i.count;return O(e,function(t,r){return t.invoke(r,e)})}return o?I(o)?o?s?new D(s.thisDep,s.contextDep,s.propDep,function(t,e){return e.def(t.ELEMENTS,&quot;.vertCount-&quot;,t.OFFSET)}):P(function(t,e){return e.def(t.ELEMENTS,&quot;.vertCount&quot;)}):P(function(){return-1}):new D(o.thisDep||s.thisDep,o.contextDep||s.contextDep,o.propDep||s.propDep,function(t,e){var r=t.ELEMENTS;return t.OFFSET?e.def(r,&quot;?&quot;,r,&quot;.vertCount-&quot;,t.OFFSET,&quot;:-1&quot;):e.def(r,&quot;?&quot;,r,&quot;.vertCount:-1&quot;)}):null}(),instances:r(&quot;instances&quot;,!1),offset:s}}(t),p=function(t,e){var r=t.static,n=t.dynamic,i={};return $.forEach(function(t){function e(e,o){if(t in r){var s=e(r[t]);i[a]=P(function(){return s})}else if(t in n){var l=n[t];i[a]=O(l,function(t,e){return o(t,e,t.invoke(e,l))})}}var a=g(t);switch(t){case&quot;cull.enable&quot;:case&quot;blend.enable&quot;:case&quot;dither&quot;:case&quot;stencil.enable&quot;:case&quot;depth.enable&quot;:case&quot;scissor.enable&quot;:case&quot;polygonOffset.enable&quot;:case&quot;sample.alpha&quot;:case&quot;sample.enable&quot;:case&quot;depth.mask&quot;:return e(function(t){return t},function(t,e,r){return r});case&quot;depth.func&quot;:return e(function(t){return mt[t]},function(t,e,r){return e.def(t.constants.compareFuncs,&quot;[&quot;,r,&quot;]&quot;)});case&quot;depth.range&quot;:return e(function(t){return t},function(t,e,r){return t=e.def(&quot;+&quot;,r,&quot;[0]&quot;),e=e.def(&quot;+&quot;,r,&quot;[1]&quot;),[t,e]});case&quot;blend.func&quot;:return e(function(t){return[pt[&quot;srcRGB&quot;in t?t.srcRGB:t.src],pt[&quot;dstRGB&quot;in t?t.dstRGB:t.dst],pt[&quot;srcAlpha&quot;in t?t.srcAlpha:t.src],pt[&quot;dstAlpha&quot;in t?t.dstAlpha:t.dst]]},function(t,e,r){function n(t,n){return e.def('&quot;',t,n,'&quot; in ',r,&quot;?&quot;,r,&quot;.&quot;,t,n,&quot;:&quot;,r,&quot;.&quot;,t)}t=t.constants.blendFuncs;var i=n(&quot;src&quot;,&quot;RGB&quot;),a=n(&quot;dst&quot;,&quot;RGB&quot;),o=(i=e.def(t,&quot;[&quot;,i,&quot;]&quot;),e.def(t,&quot;[&quot;,n(&quot;src&quot;,&quot;Alpha&quot;),&quot;]&quot;));return a=e.def(t,&quot;[&quot;,a,&quot;]&quot;),t=e.def(t,&quot;[&quot;,n(&quot;dst&quot;,&quot;Alpha&quot;),&quot;]&quot;),[i,a,o,t]});case&quot;blend.equation&quot;:return e(function(t){return&quot;string&quot;==typeof t?[W[t],W[t]]:&quot;object&quot;==typeof t?[W[t.rgb],W[t.alpha]]:void 0},function(t,e,r){var n=t.constants.blendEquations,i=e.def(),a=e.def();return(t=t.cond(&quot;typeof &quot;,r,'===&quot;string&quot;')).then(i,&quot;=&quot;,a,&quot;=&quot;,n,&quot;[&quot;,r,&quot;];&quot;),t.else(i,&quot;=&quot;,n,&quot;[&quot;,r,&quot;.rgb];&quot;,a,&quot;=&quot;,n,&quot;[&quot;,r,&quot;.alpha];&quot;),e(t),[i,a]});case&quot;blend.color&quot;:return e(function(t){return s(4,function(e){return+t[e]})},function(t,e,r){return s(4,function(t){return e.def(&quot;+&quot;,r,&quot;[&quot;,t,&quot;]&quot;)})});case&quot;stencil.mask&quot;:return e(function(t){return 0|t},function(t,e,r){return e.def(r,&quot;|0&quot;)});case&quot;stencil.func&quot;:return e(function(t){return[mt[t.cmp||&quot;keep&quot;],t.ref||0,&quot;mask&quot;in t?t.mask:-1]},function(t,e,r){t=e.def('&quot;cmp&quot; in ',r,&quot;?&quot;,t.constants.compareFuncs,&quot;[&quot;,r,&quot;.cmp]&quot;,&quot;:&quot;,7680);var n=e.def(r,&quot;.ref|0&quot;);return e=e.def('&quot;mask&quot; in ',r,&quot;?&quot;,r,&quot;.mask|0:-1&quot;),[t,n,e]});case&quot;stencil.opFront&quot;:case&quot;stencil.opBack&quot;:return e(function(e){return[&quot;stencil.opBack&quot;===t?1029:1028,gt[e.fail||&quot;keep&quot;],gt[e.zfail||&quot;keep&quot;],gt[e.zpass||&quot;keep&quot;]]},function(e,r,n){function i(t){return r.def('&quot;',t,'&quot; in ',n,&quot;?&quot;,a,&quot;[&quot;,n,&quot;.&quot;,t,&quot;]:&quot;,7680)}var a=e.constants.stencilOps;return[&quot;stencil.opBack&quot;===t?1029:1028,i(&quot;fail&quot;),i(&quot;zfail&quot;),i(&quot;zpass&quot;)]});case&quot;polygonOffset.offset&quot;:return e(function(t){return[0|t.factor,0|t.units]},function(t,e,r){return t=e.def(r,&quot;.factor|0&quot;),e=e.def(r,&quot;.units|0&quot;),[t,e]});case&quot;cull.face&quot;:return e(function(t){var e=0;return&quot;front&quot;===t?e=1028:&quot;back&quot;===t&amp;&amp;(e=1029),e},function(t,e,r){return e.def(r,'===&quot;front&quot;?',1028,&quot;:&quot;,1029)});case&quot;lineWidth&quot;:return e(function(t){return t},function(t,e,r){return r});case&quot;frontFace&quot;:return e(function(t){return vt[t]},function(t,e,r){return e.def(r+'===&quot;cw&quot;?2304:2305')});case&quot;colorMask&quot;:return e(function(t){return t.map(function(t){return!!t})},function(t,e,r){return s(4,function(t){return&quot;!!&quot;+r+&quot;[&quot;+t+&quot;]&quot;})});case&quot;sample.coverage&quot;:return e(function(t){return[&quot;value&quot;in t?t.value:1,!!t.invert]},function(t,e,r){return t=e.def('&quot;value&quot; in ',r,&quot;?+&quot;,r,&quot;.value:1&quot;),e=e.def(&quot;!!&quot;,r,&quot;.invert&quot;),[t,e]})}}),i}(t),m=function(t){function r(t){if(t in n){var r=e.id(n[t]);return t=P(function(){return r}),t.id=r,t}if(t in i){var a=i[t];return O(a,function(t,e){var r=t.invoke(e,a);return e.def(t.shared.strings,&quot;.id(&quot;,r,&quot;)&quot;)})}return null}var n=t.static,i=t.dynamic,a=r(&quot;frag&quot;),o=r(&quot;vert&quot;),s=null;return I(a)&amp;&amp;I(o)?(s=f.program(o.id,a.id),t=P(function(t,e){return t.link(s)})):t=new D(a&amp;&amp;a.thisDep||o&amp;&amp;o.thisDep,a&amp;&amp;a.contextDep||o&amp;&amp;o.contextDep,a&amp;&amp;a.propDep||o&amp;&amp;o.propDep,function(t,e){var r,n=t.shared.shader;r=a?a.append(t,e):e.def(n,&quot;.&quot;,&quot;frag&quot;);var i;return i=o?o.append(t,e):e.def(n,&quot;.&quot;,&quot;vert&quot;),e.def(n+&quot;.program(&quot;+i+&quot;,&quot;+r+&quot;)&quot;)}),{frag:a,vert:o,progVar:t,program:s}}(t),y=h.viewport;return y&amp;&amp;(p.viewport=y),y=g(&quot;scissor.box&quot;),(h=h[y])&amp;&amp;(p[y]=h),h=0&lt;Object.keys(p).length,u={framebuffer:u,draw:d,shader:m,state:p,dirty:h},u.profile=function(t){var e=t.static;t=t.dynamic;var r;if(&quot;profile&quot;in e){var n=!!e.profile;(r=P(function(t,e){return n})).enable=n}else if(&quot;profile&quot;in t){var i=t.profile;r=O(i,function(t,e){return t.invoke(e,i)})}return r}(t),u.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(&quot;number&quot;==typeof n||&quot;boolean&quot;==typeof n)e=P(function(){return n});else if(&quot;function&quot;==typeof n){var a=n._reglType;&quot;texture2d&quot;===a||&quot;textureCube&quot;===a?e=P(function(t){return t.link(n)}):&quot;framebuffer&quot;!==a&amp;&amp;&quot;framebufferCube&quot;!==a||(e=P(function(t){return t.link(n.color[0])}))}else v(n)&amp;&amp;(e=P(function(t){return t.global.def(&quot;[&quot;,s(n.length,function(t){return n[t]}),&quot;]&quot;)}));e.value=n,i[t]=e}),Object.keys(n).forEach(function(t){var e=n[t];i[t]=O(e,function(t,r){return t.invoke(r,e)})}),i}(n),u.attributes=function(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 Y;if(C(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(r.constant){var l=r.constant;s.buffer=&quot;null&quot;,s.state=2,&quot;number&quot;==typeof l?s.x=l:ht.forEach(function(t,e){e&lt;l.length&amp;&amp;(s[t]=l[e])})}else{var c=C(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,d=!!r.normalized,p=0;&quot;type&quot;in r&amp;&amp;(p=Z[r.type]),r=0|r.divisor,s.buffer=c,s.state=1,s.size=h,s.normalized=d,s.type=p||c.dtype,s.offset=u,s.stride=f,s.divisor=r}o[t]=P(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&amp;&amp;(n.buffer=t.link(s.buffer),n.type=n.type||n.buffer+&quot;.dtype&quot;),r[a]=n})}),Object.keys(a).forEach(function(t){var e=a[t];o[t]=O(e,function(t,r){function n(t){r(l[t],&quot;=&quot;,i,&quot;.&quot;,t,&quot;|0;&quot;)}var i=t.invoke(r,e),a=t.shared,o=a.isBufferArgs,s=a.buffer,l={isStream:r.def(!1)},c=new Y;c.state=1,Object.keys(c).forEach(function(t){l[t]=r.def(&quot;&quot;+c[t])});var u=l.buffer,f=l.type;return r(&quot;if(&quot;,o,&quot;(&quot;,i,&quot;)){&quot;,l.isStream,&quot;=true;&quot;,u,&quot;=&quot;,s,&quot;.createStream(&quot;,34962,&quot;,&quot;,i,&quot;);&quot;,f,&quot;=&quot;,u,&quot;.dtype;&quot;,&quot;}else{&quot;,u,&quot;=&quot;,s,&quot;.getBuffer(&quot;,i,&quot;);&quot;,&quot;if(&quot;,u,&quot;){&quot;,f,&quot;=&quot;,u,&quot;.dtype;&quot;,'}else if(&quot;constant&quot; in ',i,&quot;){&quot;,l.state,&quot;=&quot;,2,&quot;;&quot;,&quot;if(typeof &quot;+i+'.constant === &quot;number&quot;){',l[ht[0]],&quot;=&quot;,i,&quot;.constant;&quot;,ht.slice(1).map(function(t){return l[t]}).join(&quot;=&quot;),&quot;=0;&quot;,&quot;}else{&quot;,ht.map(function(t,e){return l[t]+&quot;=&quot;+i+&quot;.constant.length&gt;=&quot;+e+&quot;?&quot;+i+&quot;.constant[&quot;+e+&quot;]:0;&quot;}).join(&quot;&quot;),&quot;}}else{&quot;,&quot;if(&quot;,o,&quot;(&quot;,i,&quot;.buffer)){&quot;,u,&quot;=&quot;,s,&quot;.createStream(&quot;,34962,&quot;,&quot;,i,&quot;.buffer);&quot;,&quot;}else{&quot;,u,&quot;=&quot;,s,&quot;.getBuffer(&quot;,i,&quot;.buffer);&quot;,&quot;}&quot;,f,'=&quot;type&quot; in ',i,&quot;?&quot;,a.glTypes,&quot;[&quot;,i,&quot;.type]:&quot;,u,&quot;.dtype;&quot;,l.normalized,&quot;=!!&quot;,i,&quot;.normalized;&quot;),n(&quot;size&quot;),n(&quot;offset&quot;),n(&quot;stride&quot;),n(&quot;divisor&quot;),r(&quot;}}&quot;),r.exit(&quot;if(&quot;,l.isStream,&quot;){&quot;,s,&quot;.destroyStream(&quot;,u,&quot;);&quot;,&quot;}&quot;),l})}),o}(r),u.context=function(t){var e=t.static,r=t.dynamic,n={};return Object.keys(e).forEach(function(t){var r=e[t];n[t]=P(function(t,e){return&quot;number&quot;==typeof r||&quot;boolean&quot;==typeof r?&quot;&quot;+r:t.link(r)})}),Object.keys(r).forEach(function(t){var e=r[t];n[t]=O(e,function(t,r){return t.invoke(r,e)})}),n}(o),u}function w(t,e,r){var n=t.shared.context,i=t.scope();Object.keys(r).forEach(function(a){e.save(n,&quot;.&quot;+a),i(n,&quot;.&quot;,a,&quot;=&quot;,r[a].append(t,e),&quot;;&quot;)}),e(i)}function M(t,e,r,n){var i,a=(s=t.shared).gl,o=s.framebuffer;J&amp;&amp;(i=e.def(s.extensions,&quot;.webgl_draw_buffers&quot;));var s=(l=t.constants).drawBuffer,l=l.backBuffer;t=r?r.append(t,e):e.def(o,&quot;.next&quot;),n||e(&quot;if(&quot;,t,&quot;!==&quot;,o,&quot;.cur){&quot;),e(&quot;if(&quot;,t,&quot;){&quot;,a,&quot;.bindFramebuffer(&quot;,36160,&quot;,&quot;,t,&quot;.framebuffer);&quot;),J&amp;&amp;e(i,&quot;.drawBuffersWEBGL(&quot;,s,&quot;[&quot;,t,&quot;.colorAttachments.length]);&quot;),e(&quot;}else{&quot;,a,&quot;.bindFramebuffer(&quot;,36160,&quot;,null);&quot;),J&amp;&amp;e(i,&quot;.drawBuffersWEBGL(&quot;,l,&quot;);&quot;),e(&quot;}&quot;,o,&quot;.cur=&quot;,t,&quot;;&quot;),n||e(&quot;}&quot;)}function k(t,e,r){var n=t.shared,i=n.gl,a=t.current,o=t.next,l=n.current,c=n.next,u=t.cond(l,&quot;.dirty&quot;);$.forEach(function(e){if(!((e=g(e))in r.state)){var n,f;if(e in o){n=o[e],f=a[e];var h=s(K[e].length,function(t){return u.def(n,&quot;[&quot;,t,&quot;]&quot;)});u(t.cond(h.map(function(t,e){return t+&quot;!==&quot;+f+&quot;[&quot;+e+&quot;]&quot;}).join(&quot;||&quot;)).then(i,&quot;.&quot;,rt[e],&quot;(&quot;,h,&quot;);&quot;,h.map(function(t,e){return f+&quot;[&quot;+e+&quot;]=&quot;+t}).join(&quot;;&quot;),&quot;;&quot;))}else n=u.def(c,&quot;.&quot;,e),h=t.cond(n,&quot;!==&quot;,l,&quot;.&quot;,e),u(h),e in et?h(t.cond(n).then(i,&quot;.enable(&quot;,et[e],&quot;);&quot;).else(i,&quot;.disable(&quot;,et[e],&quot;);&quot;),l,&quot;.&quot;,e,&quot;=&quot;,n,&quot;;&quot;):h(i,&quot;.&quot;,rt[e],&quot;(&quot;,n,&quot;);&quot;,l,&quot;.&quot;,e,&quot;=&quot;,n,&quot;;&quot;)}}),0===Object.keys(r.state).length&amp;&amp;u(l,&quot;.dirty=false;&quot;),e(u)}function A(t,e,r,n){var i=t.shared,a=t.current,o=i.current,s=i.gl;z(Object.keys(r)).forEach(function(i){var l=r[i];if(!n||n(l)){var c=l.append(t,e);if(et[i]){var u=et[i];I(l)?c?e(s,&quot;.enable(&quot;,u,&quot;);&quot;):e(s,&quot;.disable(&quot;,u,&quot;);&quot;):e(t.cond(c).then(s,&quot;.enable(&quot;,u,&quot;);&quot;).else(s,&quot;.disable(&quot;,u,&quot;);&quot;)),e(o,&quot;.&quot;,i,&quot;=&quot;,c,&quot;;&quot;)}else if(v(c)){var f=a[i];e(s,&quot;.&quot;,rt[i],&quot;(&quot;,c,&quot;);&quot;,c.map(function(t,e){return f+&quot;[&quot;+e+&quot;]=&quot;+t}).join(&quot;;&quot;),&quot;;&quot;)}else e(s,&quot;.&quot;,rt[i],&quot;(&quot;,c,&quot;);&quot;,o,&quot;.&quot;,i,&quot;=&quot;,c,&quot;;&quot;)}})}function T(t,e){X&amp;&amp;(t.instancing=e.def(t.shared.extensions,&quot;.angle_instanced_arrays&quot;))}function S(t,e,r,n,i){function a(){return&quot;undefined&quot;==typeof performance?&quot;Date.now()&quot;:&quot;performance.now()&quot;}function o(t){t(c=e.def(),&quot;=&quot;,a(),&quot;;&quot;),&quot;string&quot;==typeof i?t(h,&quot;.count+=&quot;,i,&quot;;&quot;):t(h,&quot;.count++;&quot;),p&amp;&amp;(n?(u=e.def(),t(u,&quot;=&quot;,m,&quot;.getNumPendingQueries();&quot;)):t(m,&quot;.beginQuery(&quot;,h,&quot;);&quot;))}function s(t){t(h,&quot;.cpuTime+=&quot;,a(),&quot;-&quot;,c,&quot;;&quot;),p&amp;&amp;(n?t(m,&quot;.pushScopeStats(&quot;,u,&quot;,&quot;,m,&quot;.getNumPendingQueries(),&quot;,h,&quot;);&quot;):t(m,&quot;.endQuery();&quot;))}function l(t){var r=e.def(d,&quot;.profile&quot;);e(d,&quot;.profile=&quot;,t,&quot;;&quot;),e.exit(d,&quot;.profile=&quot;,r,&quot;;&quot;)}var c,u,f=t.shared,h=t.stats,d=f.current,m=f.timer;if(r=r.profile){if(I(r))return void(r.enable?(o(e),s(e.exit),l(&quot;true&quot;)):l(&quot;false&quot;));l(r=r.append(t,e))}else r=e.def(d,&quot;.profile&quot;);o(f=t.block()),e(&quot;if(&quot;,r,&quot;){&quot;,f,&quot;}&quot;),s(t=t.block()),e.exit(&quot;if(&quot;,r,&quot;){&quot;,t,&quot;}&quot;)}function F(t,e,r,n,i){var a=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(yt))return;var c=t.scopeAttrib(s);o={},Object.keys(new Y).forEach(function(t){o[t]=e.def(c,&quot;.&quot;,t)})}!function(r,n,i){function o(){e(&quot;if(!&quot;,u,&quot;.buffer){&quot;,l,&quot;.enableVertexAttribArray(&quot;,c,&quot;);}&quot;);var r,a=i.type;r=i.size?e.def(i.size,&quot;||&quot;,n):n,e(&quot;if(&quot;,u,&quot;.type!==&quot;,a,&quot;||&quot;,u,&quot;.size!==&quot;,r,&quot;||&quot;,d.map(function(t){return u+&quot;.&quot;+t+&quot;!==&quot;+i[t]}).join(&quot;||&quot;),&quot;){&quot;,l,&quot;.bindBuffer(&quot;,34962,&quot;,&quot;,f,&quot;.buffer);&quot;,l,&quot;.vertexAttribPointer(&quot;,[c,r,a,i.normalized,i.stride,i.offset],&quot;);&quot;,u,&quot;.type=&quot;,a,&quot;;&quot;,u,&quot;.size=&quot;,r,&quot;;&quot;,d.map(function(t){return u+&quot;.&quot;+t+&quot;=&quot;+i[t]+&quot;;&quot;}).join(&quot;&quot;),&quot;}&quot;),X&amp;&amp;(a=i.divisor,e(&quot;if(&quot;,u,&quot;.divisor!==&quot;,a,&quot;){&quot;,t.instancing,&quot;.vertexAttribDivisorANGLE(&quot;,[c,a],&quot;);&quot;,u,&quot;.divisor=&quot;,a,&quot;;}&quot;))}function s(){e(&quot;if(&quot;,u,&quot;.buffer){&quot;,l,&quot;.disableVertexAttribArray(&quot;,c,&quot;);&quot;,&quot;}if(&quot;,ht.map(function(t,e){return u+&quot;.&quot;+t+&quot;!==&quot;+h[e]}).join(&quot;||&quot;),&quot;){&quot;,l,&quot;.vertexAttrib4f(&quot;,c,&quot;,&quot;,h,&quot;);&quot;,ht.map(function(t,e){return u+&quot;.&quot;+t+&quot;=&quot;+h[e]+&quot;;&quot;}).join(&quot;&quot;),&quot;}&quot;)}var l=a.gl,c=e.def(r,&quot;.location&quot;),u=e.def(a.attributes,&quot;[&quot;,c,&quot;]&quot;);r=i.state;var f=i.buffer,h=[i.x,i.y,i.z,i.w],d=[&quot;buffer&quot;,&quot;normalized&quot;,&quot;offset&quot;,&quot;stride&quot;];1===r?o():2===r?s():(e(&quot;if(&quot;,r,&quot;===&quot;,1,&quot;){&quot;),o(),e(&quot;}else{&quot;),s(),e(&quot;}&quot;))}(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 R(t,r,n,i,a){for(var o,l=t.shared,c=l.gl,u=0;u&lt;i.length;++u){var f,h=(m=i[u]).name,d=m.info.type,p=n.uniforms[h],m=t.link(m)+&quot;.location&quot;;if(p){if(!a(p))continue;if(I(p)){if(h=p.value,35678===d||35680===d)d=t.link(h._texture||h.color[0]._texture),r(c,&quot;.uniform1i(&quot;,m,&quot;,&quot;,d+&quot;.bind());&quot;),r.exit(d,&quot;.unbind();&quot;);else if(35674===d||35675===d||35676===d)h=t.global.def(&quot;new Float32Array([&quot;+Array.prototype.slice.call(h)+&quot;])&quot;),p=2,35675===d?p=3:35676===d&amp;&amp;(p=4),r(c,&quot;.uniformMatrix&quot;,p,&quot;fv(&quot;,m,&quot;,false,&quot;,h,&quot;);&quot;);else{switch(d){case 5126:o=&quot;1f&quot;;break;case 35664:o=&quot;2f&quot;;break;case 35665:o=&quot;3f&quot;;break;case 35666:o=&quot;4f&quot;;break;case 35670:case 5124:o=&quot;1i&quot;;break;case 35671:case 35667:o=&quot;2i&quot;;break;case 35672:case 35668:o=&quot;3i&quot;;break;case 35673:o=&quot;4i&quot;;break;case 35669:o=&quot;4i&quot;}r(c,&quot;.uniform&quot;,o,&quot;(&quot;,m,&quot;,&quot;,v(h)?Array.prototype.slice.call(h):h,&quot;);&quot;)}continue}f=p.append(t,r)}else{if(!a(yt))continue;f=r.def(l.uniforms,&quot;[&quot;,e.id(h),&quot;]&quot;)}switch(35678===d?r(&quot;if(&quot;,f,&quot;&amp;&amp;&quot;,f,'._reglType===&quot;framebuffer&quot;){',f,&quot;=&quot;,f,&quot;.color[0];&quot;,&quot;}&quot;):35680===d&amp;&amp;r(&quot;if(&quot;,f,&quot;&amp;&amp;&quot;,f,'._reglType===&quot;framebufferCube&quot;){',f,&quot;=&quot;,f,&quot;.color[0];&quot;,&quot;}&quot;),h=1,d){case 35678:case 35680:r(c,&quot;.uniform1i(&quot;,m,&quot;,&quot;,d=r.def(f,&quot;._texture&quot;),&quot;.bind());&quot;),r.exit(d,&quot;.unbind();&quot;);continue;case 5124:case 35670:o=&quot;1i&quot;;break;case 35667:case 35671:o=&quot;2i&quot;,h=2;break;case 35668:case 35672:o=&quot;3i&quot;,h=3;break;case 35669:case 35673:o=&quot;4i&quot;,h=4;break;case 5126:o=&quot;1f&quot;;break;case 35664:o=&quot;2f&quot;,h=2;break;case 35665:o=&quot;3f&quot;,h=3;break;case 35666:o=&quot;4f&quot;,h=4;break;case 35674:o=&quot;Matrix2fv&quot;;break;case 35675:o=&quot;Matrix3fv&quot;;break;case 35676:o=&quot;Matrix4fv&quot;}if(r(c,&quot;.uniform&quot;,o,&quot;(&quot;,m,&quot;,&quot;),&quot;M&quot;===o.charAt(0)){m=Math.pow(d-35674+2,2);var g=t.global.def(&quot;new Float32Array(&quot;,m,&quot;)&quot;);r(&quot;false,(Array.isArray(&quot;,f,&quot;)||&quot;,f,&quot; instanceof Float32Array)?&quot;,f,&quot;:(&quot;,s(m,function(t){return g+&quot;[&quot;+t+&quot;]=&quot;+f+&quot;[&quot;+t+&quot;]&quot;}),&quot;,&quot;,g,&quot;)&quot;)}else r(1&lt;h?s(h,function(t){return f+&quot;[&quot;+t+&quot;]&quot;}):f);r(&quot;);&quot;)}}function j(t,e,r,n){function i(i){var a=u[i];return a?a.contextDep&amp;&amp;n.contextDynamic||a.propDep?a.append(t,r):a.append(t,e):e.def(c,&quot;.&quot;,i)}function a(){function t(){r(g,&quot;.drawElementsInstancedANGLE(&quot;,[h,p,v,d+&quot;&lt;&lt;((&quot;+v+&quot;-5121)&gt;&gt;1)&quot;,m],&quot;);&quot;)}function e(){r(g,&quot;.drawArraysInstancedANGLE(&quot;,[h,d,p,m],&quot;);&quot;)}f?y?t():(r(&quot;if(&quot;,f,&quot;){&quot;),t(),r(&quot;}else{&quot;),e(),r(&quot;}&quot;)):e()}function o(){function t(){r(l+&quot;.drawElements(&quot;+[h,p,v,d+&quot;&lt;&lt;((&quot;+v+&quot;-5121)&gt;&gt;1)&quot;]+&quot;);&quot;)}function e(){r(l+&quot;.drawArrays(&quot;+[h,d,p]+&quot;);&quot;)}f?y?t():(r(&quot;if(&quot;,f,&quot;){&quot;),t(),r(&quot;}else{&quot;),e(),r(&quot;}&quot;)):e()}var s=t.shared,l=s.gl,c=s.draw,u=n.draw,f=function(){var i=u.elements,a=e;return i?((i.contextDep&amp;&amp;n.contextDynamic||i.propDep)&amp;&amp;(a=r),i=i.append(t,a)):i=a.def(c,&quot;.&quot;,&quot;elements&quot;),i&amp;&amp;a(&quot;if(&quot;+i+&quot;)&quot;+l+&quot;.bindBuffer(34963,&quot;+i+&quot;.buffer.buffer);&quot;),i}(),h=i(&quot;primitive&quot;),d=i(&quot;offset&quot;),p=function(){var i=u.count,a=e;return i?((i.contextDep&amp;&amp;n.contextDynamic||i.propDep)&amp;&amp;(a=r),i=i.append(t,a)):i=a.def(c,&quot;.&quot;,&quot;count&quot;),i}();if(&quot;number&quot;==typeof p){if(0===p)return}else r(&quot;if(&quot;,p,&quot;){&quot;),r.exit(&quot;}&quot;);var m,g;X&amp;&amp;(m=i(&quot;instances&quot;),g=t.instancing);var v=f+&quot;.type&quot;,y=u.elements&amp;&amp;I(u.elements);X&amp;&amp;(&quot;number&quot;!=typeof m||0&lt;=m)?&quot;string&quot;==typeof m?(r(&quot;if(&quot;,m,&quot;&gt;0){&quot;),a(),r(&quot;}else if(&quot;,m,&quot;&lt;0){&quot;),o(),r(&quot;}&quot;)):a():o()}function U(t,e,r,n,i){return e=b(),i=e.proc(&quot;body&quot;,i),X&amp;&amp;(e.instancing=i.def(e.shared.extensions,&quot;.angle_instanced_arrays&quot;)),t(e,i,r,n),e.compile().body}function V(t,e,r,n){T(t,e),F(t,e,r,n.attributes,function(){return!0}),R(t,e,r,n.uniforms,function(){return!0}),j(t,e,e,r)}function q(t,e,r,n){function i(){return!0}t.batchId=&quot;a1&quot;,T(t,e),F(t,e,r,n.attributes,i),R(t,e,r,n.uniforms,i),j(t,e,e,r)}function H(t,e,r,n){function i(t){return t.contextDep&amp;&amp;o||t.propDep}function a(t){return!i(t)}T(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,&quot;for(&quot;,s,&quot;=0;&quot;,s,&quot;&lt;&quot;,&quot;a1&quot;,&quot;;++&quot;,s,&quot;){&quot;,l,&quot;=&quot;,&quot;a0&quot;,&quot;[&quot;,s,&quot;];&quot;,u,&quot;}&quot;,c.exit),r.needsContext&amp;&amp;w(t,u,r.context),r.needsFramebuffer&amp;&amp;M(t,u,r.framebuffer),A(t,u,r.state,i),r.profile&amp;&amp;i(r.profile)&amp;&amp;S(t,u,r,!1,!0),n?(F(t,c,r,n.attributes,a),F(t,u,r,n.attributes,i),R(t,c,r,n.uniforms,a),R(t,u,r,n.uniforms,i),j(t,c,u,r)):(e=t.global.def(&quot;{}&quot;),n=r.shader.progVar.append(t,u),l=u.def(n,&quot;.id&quot;),c=u.def(e,&quot;[&quot;,l,&quot;]&quot;),u(t.shared.gl,&quot;.useProgram(&quot;,n,&quot;.program);&quot;,&quot;if(!&quot;,c,&quot;){&quot;,c,&quot;=&quot;,e,&quot;[&quot;,l,&quot;]=&quot;,t.link(function(e){return U(q,t,r,e,2)}),&quot;(&quot;,n,&quot;);}&quot;,c,&quot;.call(this,a0[&quot;,s,&quot;],&quot;,s,&quot;);&quot;))}function G(t,e,r){function n(t,e){o.forEach(function(r){var n=i[r];B.isDynamic(n)&amp;&amp;(n=t.invoke(e,n),e(u,&quot;.&quot;,r,&quot;=&quot;,n,&quot;;&quot;))})}var i=e.static[r];if(i&amp;&amp;function(t){if(&quot;object&quot;==typeof t&amp;&amp;!v(t)){for(var e=Object.keys(t),r=0;r&lt;e.length;++r)if(B.isDynamic(t[e[r]]))return!0;return!1}}(i)){var a=t.global,o=Object.keys(i),s=!1,l=!1,c=!1,u=t.global.def(&quot;{}&quot;);o.forEach(function(e){var r=i[e];if(B.isDynamic(r))&quot;function&quot;==typeof r&amp;&amp;(r=i[e]=B.unbox(r)),e=O(r,null),s=s||e.thisDep,c=c||e.propDep,l=l||e.contextDep;else{switch(a(u,&quot;.&quot;,e,&quot;=&quot;),typeof r){case&quot;number&quot;:a(r);break;case&quot;string&quot;:a('&quot;',r,'&quot;');break;case&quot;object&quot;:Array.isArray(r)&amp;&amp;a(&quot;[&quot;,r.join(),&quot;]&quot;);break;default:a(t.link(r))}a(&quot;;&quot;)}}),e.dynamic[r]=new B.DynamicVariable(4,{thisDep:s,contextDep:l,propDep:c,ref:u,append:n}),delete e.static[r]}}var Y=u.Record,W={add:32774,subtract:32778,&quot;reverse subtract&quot;:32779};r.ext_blend_minmax&amp;&amp;(W.min=32775,W.max=32776);var X=r.angle_instanced_arrays,J=r.webgl_draw_buffers,K={dirty:!0,profile:m.profile},Q={},$=[],et={},rt={};y(&quot;dither&quot;,3024),y(&quot;blend.enable&quot;,3042),x(&quot;blend.color&quot;,&quot;blendColor&quot;,[0,0,0,0]),x(&quot;blend.equation&quot;,&quot;blendEquationSeparate&quot;,[32774,32774]),x(&quot;blend.func&quot;,&quot;blendFuncSeparate&quot;,[1,0,1,0]),y(&quot;depth.enable&quot;,2929,!0),x(&quot;depth.func&quot;,&quot;depthFunc&quot;,513),x(&quot;depth.range&quot;,&quot;depthRange&quot;,[0,1]),x(&quot;depth.mask&quot;,&quot;depthMask&quot;,!0),x(&quot;colorMask&quot;,&quot;colorMask&quot;,[!0,!0,!0,!0]),y(&quot;cull.enable&quot;,2884),x(&quot;cull.face&quot;,&quot;cullFace&quot;,1029),x(&quot;frontFace&quot;,&quot;frontFace&quot;,2305),x(&quot;lineWidth&quot;,&quot;lineWidth&quot;,1),y(&quot;polygonOffset.enable&quot;,32823),x(&quot;polygonOffset.offset&quot;,&quot;polygonOffset&quot;,[0,0]),y(&quot;sample.alpha&quot;,32926),y(&quot;sample.enable&quot;,32928),x(&quot;sample.coverage&quot;,&quot;sampleCoverage&quot;,[1,!1]),y(&quot;stencil.enable&quot;,2960),x(&quot;stencil.mask&quot;,&quot;stencilMask&quot;,-1),x(&quot;stencil.func&quot;,&quot;stencilFunc&quot;,[519,0,-1]),x(&quot;stencil.opFront&quot;,&quot;stencilOpSeparate&quot;,[1028,7680,7680,7680]),x(&quot;stencil.opBack&quot;,&quot;stencilOpSeparate&quot;,[1029,7680,7680,7680]),y(&quot;scissor.enable&quot;,3089),x(&quot;scissor.box&quot;,&quot;scissor&quot;,[0,0,t.drawingBufferWidth,t.drawingBufferHeight]),x(&quot;viewport&quot;,&quot;viewport&quot;,[0,0,t.drawingBufferWidth,t.drawingBufferHeight]);var nt={gl:t,context:d,strings:e,next:Q,current:K,draw:h,elements:a,buffer:i,shader:f,attributes:u.state,uniforms:c,framebuffer:l,extensions:r,timer:p,isBufferArgs:C},it={primTypes:tt,compareFuncs:mt,blendFuncs:pt,blendEquations:W,stencilOps:gt,glTypes:Z,orientationType:vt};J&amp;&amp;(it.backBuffer=[1029],it.drawBuffer=s(n.maxDrawbuffers,function(t){return 0===t?[0]:s(t,function(t){return 36064+t})}));var at=0;return{next:Q,current:K,procs:function(){var e=b(),r=e.proc(&quot;poll&quot;),i=e.proc(&quot;refresh&quot;),a=e.block();r(a),i(a);var o=e.shared,l=o.gl,c=o.next,u=o.current;a(u,&quot;.dirty=false;&quot;),M(e,r),M(e,i,null,!0);var f,h=t.getExtension(&quot;angle_instanced_arrays&quot;);h&amp;&amp;(f=e.link(h));for(var d=0;d&lt;n.maxAttributes;++d){var p=i.def(o.attributes,&quot;[&quot;,d,&quot;]&quot;),m=e.cond(p,&quot;.buffer&quot;);m.then(l,&quot;.enableVertexAttribArray(&quot;,d,&quot;);&quot;,l,&quot;.bindBuffer(&quot;,34962,&quot;,&quot;,p,&quot;.buffer.buffer);&quot;,l,&quot;.vertexAttribPointer(&quot;,d,&quot;,&quot;,p,&quot;.size,&quot;,p,&quot;.type,&quot;,p,&quot;.normalized,&quot;,p,&quot;.stride,&quot;,p,&quot;.offset);&quot;).else(l,&quot;.disableVertexAttribArray(&quot;,d,&quot;);&quot;,l,&quot;.vertexAttrib4f(&quot;,d,&quot;,&quot;,p,&quot;.x,&quot;,p,&quot;.y,&quot;,p,&quot;.z,&quot;,p,&quot;.w);&quot;,p,&quot;.buffer=null;&quot;),i(m),h&amp;&amp;i(f,&quot;.vertexAttribDivisorANGLE(&quot;,d,&quot;,&quot;,p,&quot;.divisor);&quot;)}return Object.keys(et).forEach(function(t){var n=et[t],o=a.def(c,&quot;.&quot;,t),s=e.block();s(&quot;if(&quot;,o,&quot;){&quot;,l,&quot;.enable(&quot;,n,&quot;)}else{&quot;,l,&quot;.disable(&quot;,n,&quot;)}&quot;,u,&quot;.&quot;,t,&quot;=&quot;,o,&quot;;&quot;),i(s),r(&quot;if(&quot;,o,&quot;!==&quot;,u,&quot;.&quot;,t,&quot;){&quot;,s,&quot;}&quot;)}),Object.keys(rt).forEach(function(t){var n,o,f=rt[t],h=K[t],d=e.block();d(l,&quot;.&quot;,f,&quot;(&quot;),v(h)?(f=h.length,n=e.global.def(c,&quot;.&quot;,t),o=e.global.def(u,&quot;.&quot;,t),d(s(f,function(t){return n+&quot;[&quot;+t+&quot;]&quot;}),&quot;);&quot;,s(f,function(t){return o+&quot;[&quot;+t+&quot;]=&quot;+n+&quot;[&quot;+t+&quot;];&quot;}).join(&quot;&quot;)),r(&quot;if(&quot;,s(f,function(t){return n+&quot;[&quot;+t+&quot;]!==&quot;+o+&quot;[&quot;+t+&quot;]&quot;}).join(&quot;||&quot;),&quot;){&quot;,d,&quot;}&quot;)):(n=a.def(c,&quot;.&quot;,t),o=a.def(u,&quot;.&quot;,t),d(n,&quot;);&quot;,u,&quot;.&quot;,t,&quot;=&quot;,n,&quot;;&quot;),r(&quot;if(&quot;,n,&quot;!==&quot;,o,&quot;){&quot;,d,&quot;}&quot;)),i(d)}),e.compile()}(),compile:function(t,r,n,i,a){var o=b();return o.stats=o.link(a),Object.keys(r.static).forEach(function(t){G(o,r,t)}),dt.forEach(function(e){G(o,t,e)}),n=_(t,r,n,i),function(t,e){var r=t.proc(&quot;draw&quot;,1);T(t,r),w(t,r,e.context),M(t,r,e.framebuffer),k(t,r,e),A(t,r,e.state),S(t,r,e,!1,!0);var n=e.shader.progVar.append(t,r);if(r(t.shared.gl,&quot;.useProgram(&quot;,n,&quot;.program);&quot;),e.shader.program)V(t,r,e,e.shader.program);else{var i=t.global.def(&quot;{}&quot;),a=r.def(n,&quot;.id&quot;),o=r.def(i,&quot;[&quot;,a,&quot;]&quot;);r(t.cond(o).then(o,&quot;.call(this,a0);&quot;).else(o,&quot;=&quot;,i,&quot;[&quot;,a,&quot;]=&quot;,t.link(function(r){return U(V,t,e,r,1)}),&quot;(&quot;,n,&quot;);&quot;,o,&quot;.call(this,a0);&quot;))}0&lt;Object.keys(e.state).length&amp;&amp;r(t.shared.current,&quot;.dirty=true;&quot;)}(o,n),function(t,r){function n(e){var n=r.shader[e];n&amp;&amp;i.set(a.shader,&quot;.&quot;+e,n.append(t,i))}var i=t.proc(&quot;scope&quot;,3);t.batchId=&quot;a2&quot;;var a=t.shared,o=a.current;w(t,i,r.context),r.framebuffer&amp;&amp;r.framebuffer.append(t,i),z(Object.keys(r.state)).forEach(function(e){var n=r.state[e].append(t,i);v(n)?n.forEach(function(r,n){i.set(t.next[e],&quot;[&quot;+n+&quot;]&quot;,r)}):i.set(a.next,&quot;.&quot;+e,n)}),S(t,i,r,!0,!0),[&quot;elements&quot;,&quot;offset&quot;,&quot;count&quot;,&quot;instances&quot;,&quot;primitive&quot;].forEach(function(e){var n=r.draw[e];n&amp;&amp;i.set(a.draw,&quot;.&quot;+e,&quot;&quot;+n.append(t,i))}),Object.keys(r.uniforms).forEach(function(n){i.set(a.uniforms,&quot;[&quot;+e.id(n)+&quot;]&quot;,r.uniforms[n].append(t,i))}),Object.keys(r.attributes).forEach(function(e){var n=r.attributes[e].append(t,i),a=t.scopeAttrib(e);Object.keys(new Y).forEach(function(t){i.set(a,&quot;.&quot;+t,n[t])})}),n(&quot;vert&quot;),n(&quot;frag&quot;),0&lt;Object.keys(r.state).length&amp;&amp;(i(o,&quot;.dirty=true;&quot;),i.exit(o,&quot;.dirty=true;&quot;)),i(&quot;a1(&quot;,t.shared.context,&quot;,a0,&quot;,t.batchId,&quot;);&quot;)}(o,n),function(t,e){function r(t){return t.contextDep&amp;&amp;i||t.propDep}var n=t.proc(&quot;batch&quot;,2);t.batchId=&quot;0&quot;,T(t,n);var i=!1,a=!0;Object.keys(e.context).forEach(function(t){i=i||e.context[t].propDep}),i||(w(t,n,e.context),a=!1);var o=!1;if((s=e.framebuffer)?(s.propDep?i=o=!0:s.contextDep&amp;&amp;i&amp;&amp;(o=!0),o||M(t,n,s)):M(t,n,null),e.state.viewport&amp;&amp;e.state.viewport.propDep&amp;&amp;(i=!0),k(t,n,e),A(t,n,e.state,function(t){return!r(t)}),e.profile&amp;&amp;r(e.profile)||S(t,n,e,!1,&quot;a1&quot;),e.contextDep=i,e.needsContext=a,e.needsFramebuffer=o,(a=e.shader.progVar).contextDep&amp;&amp;i||a.propDep)H(t,n,e,null);else if(a=a.append(t,n),n(t.shared.gl,&quot;.useProgram(&quot;,a,&quot;.program);&quot;),e.shader.program)H(t,n,e,e.shader.program);else{var s=t.global.def(&quot;{}&quot;),l=(o=n.def(a,&quot;.id&quot;),n.def(s,&quot;[&quot;,o,&quot;]&quot;));n(t.cond(l).then(l,&quot;.call(this,a0,a1);&quot;).else(l,&quot;=&quot;,s,&quot;[&quot;,o,&quot;]=&quot;,t.link(function(r){return U(H,t,e,r,2)}),&quot;(&quot;,a,&quot;);&quot;,l,&quot;.call(this,a0,a1);&quot;))}0&lt;Object.keys(e.state).length&amp;&amp;n(t.shared.current,&quot;.dirty=true;&quot;)}(o,n),o.compile()}}}function R(t,e){for(var r=0;r&lt;t.length;++r)if(t[r]===e)return r;return-1}var N=function(t,e){for(var r=Object.keys(e),n=0;n&lt;r.length;++n)t[r[n]]=e[r[n]];return t},j=0,B={DynamicVariable:t,define:function(e,n){return new t(e,r(n+&quot;&quot;))},isDynamic:function(e){return&quot;function&quot;==typeof e&amp;&amp;!e._reglType||e instanceof t},unbox:function(e,r){return&quot;function&quot;==typeof e?new t(0,e):e},accessor:r},U={next:&quot;function&quot;==typeof requestAnimationFrame?function(t){return requestAnimationFrame(t)}:function(t){return setTimeout(t,16)},cancel:&quot;function&quot;==typeof cancelAnimationFrame?function(t){return cancelAnimationFrame(t)}:clearTimeout},V=&quot;undefined&quot;!=typeof performance&amp;&amp;performance.now?function(){return performance.now()}:function(){return+new Date},q=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},H=function(t){return Object.keys(t).map(function(e){return t[e]})},G=s(8,function(){return[]}),Y={alloc:c,free:u,allocType:function(t,e){var r=null;switch(t){case 5120:r=new Int8Array(c(e),0,e);break;case 5121:r=new Uint8Array(c(e),0,e);break;case 5122:r=new Int16Array(c(2*e),0,e);break;case 5123:r=new Uint16Array(c(2*e),0,e);break;case 5124:r=new Int32Array(c(4*e),0,e);break;case 5125:r=new Uint32Array(c(4*e),0,e);break;case 5126:r=new Float32Array(c(4*e),0,e);break;default:return null}return r.length!==e?r.subarray(0,e):r},freeType:function(t){u(t.buffer)}},W={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&lt;e.length;++a)i*=e[a];else i=0;switch(r=n||Y.allocType(r,i),e.length){case 0:break;case 1:for(n=e[0],e=0;e&lt;n;++e)r[e]=t[e];break;case 2:for(n=e[0],e=e[1],a=i=0;a&lt;n;++a)for(var o=t[a],s=0;s&lt;e;++s)r[i++]=o[s];break;case 3:f(t,e[0],e[1],e[2],r,0);break;default:h(t,e,0,r,0)}return r}},X={&quot;[object Int8Array]&quot;:5120,&quot;[object Int16Array]&quot;:5122,&quot;[object Int32Array]&quot;:5124,&quot;[object Uint8Array]&quot;:5121,&quot;[object Uint8ClampedArray]&quot;:5121,&quot;[object Uint16Array]&quot;:5123,&quot;[object Uint32Array]&quot;:5125,&quot;[object Float32Array]&quot;:5126,&quot;[object Float64Array]&quot;:5121,&quot;[object ArrayBuffer]&quot;:5121},Z={int8:5120,int16:5122,int32:5124,uint8:5121,uint16:5123,uint32:5125,float:5126,float32:5126},J={dynamic:35048,stream:35040,static:35044},K=W.flatten,Q=W.shape,$=[];$[5120]=1,$[5122]=2,$[5124]=4,$[5121]=1,$[5123]=2,$[5125]=4,$[5126]=4;var tt={points:0,point:0,lines:1,line:1,triangles:4,triangle:4,&quot;line loop&quot;:2,&quot;line strip&quot;:3,&quot;triangle strip&quot;:5,&quot;triangle fan&quot;:6},et=new Float32Array(1),rt=new Uint32Array(et.buffer),nt=[9984,9986,9985,9987],it=[0,6409,6410,6407,6408],at={};at[6409]=at[6406]=at[6402]=1,at[34041]=at[6410]=2,at[6407]=at[35904]=3,at[6408]=at[35906]=4;var ot=Object.keys(X).concat([&quot;[object HTMLCanvasElement]&quot;,&quot;[object CanvasRenderingContext2D]&quot;,&quot;[object HTMLImageElement]&quot;,&quot;[object HTMLVideoElement]&quot;]),st=[];st[5121]=1,st[5126]=4,st[36193]=2,st[5123]=2,st[5125]=4;var lt=[];lt[32854]=2,lt[32855]=2,lt[36194]=2,lt[34041]=4,lt[33776]=.5,lt[33777]=.5,lt[33778]=1,lt[33779]=1,lt[35986]=.5,lt[35987]=1,lt[34798]=1,lt[35840]=.5,lt[35841]=.25,lt[35842]=.5,lt[35843]=.25,lt[36196]=.5;var ct=[];ct[32854]=2,ct[32855]=2,ct[36194]=2,ct[33189]=2,ct[36168]=1,ct[34041]=4,ct[35907]=4,ct[34836]=16,ct[34842]=8,ct[34843]=6;var ut=[];ut[6408]=4;var ft=[];ft[5121]=1,ft[5126]=4,ft[36193]=2;var ht=[&quot;x&quot;,&quot;y&quot;,&quot;z&quot;,&quot;w&quot;],dt=&quot;blend.func blend.equation stencil.func stencil.opFront stencil.opBack sample.coverage viewport scissor.box polygonOffset.offset&quot;.split(&quot; &quot;),pt={0:0,1:1,zero:0,one:1,&quot;src color&quot;:768,&quot;one minus src color&quot;:769,&quot;src alpha&quot;:770,&quot;one minus src alpha&quot;:771,&quot;dst color&quot;:774,&quot;one minus dst color&quot;:775,&quot;dst alpha&quot;:772,&quot;one minus dst alpha&quot;:773,&quot;constant color&quot;:32769,&quot;one minus constant color&quot;:32770,&quot;constant alpha&quot;:32771,&quot;one minus constant alpha&quot;:32772,&quot;src alpha saturate&quot;:776},mt={never:512,less:513,&quot;&lt;&quot;:513,equal:514,&quot;=&quot;:514,&quot;==&quot;:514,&quot;===&quot;:514,lequal:515,&quot;&lt;=&quot;:515,greater:516,&quot;&gt;&quot;:516,notequal:517,&quot;!=&quot;:517,&quot;!==&quot;:517,gequal:518,&quot;&gt;=&quot;:518,always:519},gt={0:0,zero:0,keep:7680,replace:7681,increment:7682,decrement:7683,&quot;increment wrap&quot;:34055,&quot;decrement wrap&quot;:34056,invert:5386},vt={cw:2304,ccw:2305},yt=new D(!1,!1,!1,function(){});return function(t){function e(){if(0===it.length)E&amp;&amp;E.update(),lt=null;else{lt=U.next(e),h();for(var t=it.length-1;0&lt;=t;--t){var r=it[t];r&amp;&amp;r(D,null,0)}y.flush(),E&amp;&amp;E.update()}}function r(){!lt&amp;&amp;0&lt;it.length&amp;&amp;(lt=U.next(e))}function n(){lt&amp;&amp;(U.cancel(e),lt=null)}function i(t){t.preventDefault(),n(),at.forEach(function(t){t()})}function s(t){y.getError(),b.restore(),j.restore(),P.restore(),G.restore(),W.restore(),X.restore(),E&amp;&amp;E.restore(),et.procs.refresh(),r(),ot.forEach(function(t){t()})}function l(t){function e(t){var e={},r={};return Object.keys(t).forEach(function(n){var i=t[n];B.isDynamic(i)?r[n]=B.unbox(i,n):e[n]=i}),{dynamic:r,static:e}}var r=e(t.context||{}),n=e(t.uniforms||{}),i=e(t.attributes||{}),a=e(function(e){function r(t){if(t in n){var e=n[t];delete n[t],Object.keys(e).forEach(function(r){n[t+&quot;.&quot;+r]=e[r]})}}var n=N({},t);return delete n.uniforms,delete n.attributes,delete n.context,&quot;stencil&quot;in n&amp;&amp;n.stencil.op&amp;&amp;(n.stencil.opBack=n.stencil.opFront=n.stencil.op,delete n.stencil.op),r(&quot;blend&quot;),r(&quot;depth&quot;),r(&quot;cull&quot;),r(&quot;stencil&quot;),r(&quot;polygonOffset&quot;),r(&quot;scissor&quot;),r(&quot;sample&quot;),n}());t={gpuTime:0,cpuTime:0,count:0};var o=(r=et.compile(a,i,n,r,t)).draw,s=r.batch,l=r.scope,c=[];return N(function(t,e){var r;if(&quot;function&quot;==typeof t)return l.call(this,null,t,0);if(&quot;function&quot;==typeof e)if(&quot;number&quot;==typeof t)for(r=0;r&lt;t;++r)l.call(this,null,e,r);else{if(!Array.isArray(t))return l.call(this,t,e,0);for(r=0;r&lt;t.length;++r)l.call(this,t[r],e,r)}else if(&quot;number&quot;==typeof t){if(0&lt;t)return s.call(this,function(t){for(;c.length&lt;t;)c.push(null);return c}(0|t),0|t)}else{if(!Array.isArray(t))return o.call(this,t);if(t.length)return s.call(this,t,t.length)}},{stats:t})}function c(t,e){var r=0;et.procs.poll();var n=e.color;n&amp;&amp;(y.clearColor(+n[0]||0,+n[1]||0,+n[2]||0,+n[3]||0),r|=16384),&quot;depth&quot;in e&amp;&amp;(y.clearDepth(+e.depth),r|=256),&quot;stencil&quot;in e&amp;&amp;(y.clearStencil(0|e.stencil),r|=1024),y.clear(r)}function u(t){return it.push(t),r(),{cancel:function(){function e(){var t=R(it,e);it[t]=it[it.length-1],--it.length,0&gt;=it.length&amp;&amp;n()}var r=R(it,t);it[r]=e}}}function f(){var t=rt.viewport,e=rt.scissor_box;t[0]=t[1]=e[0]=e[1]=0,D.viewportWidth=D.framebufferWidth=D.drawingBufferWidth=t[2]=e[2]=y.drawingBufferWidth,D.viewportHeight=D.framebufferHeight=D.drawingBufferHeight=t[3]=e[3]=y.drawingBufferHeight}function h(){D.tick+=1,D.time=v(),f(),et.procs.poll()}function g(){f(),et.procs.refresh(),E&amp;&amp;E.update()}function v(){return(V()-L)/1e3}if(!(t=a(t)))return null;var y=t.gl,x=y.getContextAttributes();y.isContextLost();var b=function(t,e){function r(e){e=e.toLowerCase();var r;try{r=n[e]=t.getExtension(e)}catch(t){}return!!r}for(var n={},i=0;i&lt;e.extensions.length;++i){var a=e.extensions[i];if(!r(a))return e.onDestroy(),e.onDone('&quot;'+a+'&quot; 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(!r(t))throw Error(&quot;(regl): error restoring extension &quot;+t)})}}}(y,t);if(!b)return null;var _=function(){var t={&quot;&quot;:0},e=[&quot;&quot;];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]}}}(),w={bufferCount:0,elementsCount:0,framebufferCount:0,shaderCount:0,textureCount:0,cubeCount:0,renderbufferCount:0,maxTextureUnits:0},M=b.extensions,E=function(t,e){function r(t,e,r){var n=o.pop()||new function(){this.endQueryIndex=this.startQueryIndex=-1,this.sum=0,this.stats=null};n.startQueryIndex=t,n.endQueryIndex=e,n.sum=0,n.stats=r,s.push(n)}var n=e.ext_disjoint_timer_query;if(!n)return null;var i=[],a=[],o=[],s=[],l=[],c=[];return{beginQuery:function(t){var e=i.pop()||n.createQueryEXT();n.beginQueryEXT(35007,e),a.push(e),r(a.length-1,a.length,t)},endQuery:function(){n.endQueryEXT(35007)},pushScopeStats:r,update:function(){var t,e;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 r=c[0]=0;for(e=t=0;e&lt;a.length;++e){var u=a[e];n.getQueryObjectEXT(u,34919)?(r+=n.getQueryObjectEXT(u,34918),i.push(u)):a[t++]=u,l[e+1]=r,c[e+1]=t}for(a.length=t,e=t=0;e&lt;s.length;++e){var f=(r=s[e]).startQueryIndex;u=r.endQueryIndex,r.sum+=l[u]-l[f],f=c[f],(u=c[u])===f?(r.stats.gpuTime+=r.sum/1e6,o.push(r)):(r.startQueryIndex=f,r.endQueryIndex=u,s[t++]=r)}s.length=t}},getNumPendingQueries:function(){return a.length},clear:function(){i.push.apply(i,a);for(var t=0;t&lt;i.length;t++)n.deleteQueryEXT(i[t]);a.length=0,i.length=0},restore:function(){a.length=0,i.length=0}}}(0,M),L=V(),C=y.drawingBufferWidth,z=y.drawingBufferHeight,D={tick:0,time:0,viewportWidth:C,viewportHeight:z,framebufferWidth:C,framebufferHeight:z,drawingBufferWidth:C,drawingBufferHeight:z,pixelRatio:t.pixelRatio},I=function(t,e){var r=1;e.ext_texture_filter_anisotropic&amp;&amp;(r=t.getParameter(34047));var n=1,i=1;return e.webgl_draw_buffers&amp;&amp;(n=t.getParameter(34852),i=t.getParameter(36063)),{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)}}(y,M),P=function(t,e,r){function n(e){this.id=l++,this.buffer=t.createBuffer(),this.type=e,this.usage=35044,this.byteLength=0,this.dimension=1,this.dtype=5121,this.persistentData=null,r.profile&amp;&amp;(this.stats={size:0})}function i(e,r,n){e.byteLength=r.byteLength,t.bufferData(e.type,r,n)}function a(t,e,r,n,a,s){if(t.usage=r,Array.isArray(e)){if(t.dtype=n||5126,0&lt;e.length)if(Array.isArray(e[0])){a=Q(e);for(var l=n=1;l&lt;a.length;++l)n*=a[l];t.dimension=n,i(t,e=K(e,a,t.dtype),r),s?t.persistentData=e:Y.freeType(e)}else&quot;number&quot;==typeof e[0]?(t.dimension=a,a=Y.allocType(t.dtype,e.length),p(a,e),i(t,a,r),s?t.persistentData=a:Y.freeType(a)):q(e[0])&amp;&amp;(t.dimension=e[0].length,t.dtype=n||d(e[0])||5126,e=K(e,[e.length,e[0].length],t.dtype),i(t,e,r),s?t.persistentData=e:Y.freeType(e))}else if(q(e))t.dtype=n||d(e),t.dimension=a,i(t,e,r),s&amp;&amp;(t.persistentData=new Uint8Array(new Uint8Array(e.buffer)));else if(o(e)){a=e.shape;var c=e.stride,u=(l=e.offset,0),f=0,h=0,g=0;1===a.length?(u=a[0],f=1,h=c[0],g=0):2===a.length&amp;&amp;(u=a[0],f=a[1],h=c[0],g=c[1]),t.dtype=n||d(e.data)||5126,t.dimension=f,m(a=Y.allocType(t.dtype,u*f),e.data,u,f,h,g,l),i(t,a,r),s?t.persistentData=a:Y.freeType(a)}}function s(r){e.bufferCount--,t.deleteBuffer(r.buffer),r.buffer=null,delete c[r.id]}var l=0,c={};n.prototype.bind=function(){t.bindBuffer(this.type,this.buffer)},n.prototype.destroy=function(){s(this)};var u=[];return r.profile&amp;&amp;(e.getTotalBufferSize=function(){var t=0;return Object.keys(c).forEach(function(e){t+=c[e].stats.size}),t}),{create:function(i,l,u,f){function h(e){var n=35044,i=null,s=0,l=0,c=1;return Array.isArray(e)||q(e)||o(e)?i=e:&quot;number&quot;==typeof e?s=0|e:e&amp;&amp;(&quot;data&quot;in e&amp;&amp;(i=e.data),&quot;usage&quot;in e&amp;&amp;(n=J[e.usage]),&quot;type&quot;in e&amp;&amp;(l=Z[e.type]),&quot;dimension&quot;in e&amp;&amp;(c=0|e.dimension),&quot;length&quot;in e&amp;&amp;(s=0|e.length)),g.bind(),i?a(g,i,n,l,c,f):(t.bufferData(g.type,s,n),g.dtype=l||5121,g.usage=n,g.dimension=c,g.byteLength=s),r.profile&amp;&amp;(g.stats.size=g.byteLength*$[g.dtype]),h}e.bufferCount++;var g=new n(l);return c[g.id]=g,u||h(i),h._reglType=&quot;buffer&quot;,h._buffer=g,h.subdata=function(e,r){var n,i=0|(r||0);if(g.bind(),q(e))t.bufferSubData(g.type,i,e);else if(Array.isArray(e)){if(0&lt;e.length)if(&quot;number&quot;==typeof e[0]){var a=Y.allocType(g.dtype,e.length);p(a,e),t.bufferSubData(g.type,i,a),Y.freeType(a)}else(Array.isArray(e[0])||q(e[0]))&amp;&amp;(n=Q(e),a=K(e,n,g.dtype),t.bufferSubData(g.type,i,a),Y.freeType(a))}else if(o(e)){n=e.shape;var s=e.stride,l=a=0,c=0,u=0;1===n.length?(a=n[0],l=1,c=s[0],u=0):2===n.length&amp;&amp;(a=n[0],l=n[1],c=s[0],u=s[1]),n=Array.isArray(e.data)?g.dtype:d(e.data),m(n=Y.allocType(n,a*l),e.data,a,l,c,u,e.offset),t.bufferSubData(g.type,i,n),Y.freeType(n)}return h},r.profile&amp;&amp;(h.stats=g.stats),h.destroy=function(){s(g)},h},createStream:function(t,e){var r=u.pop();return r||(r=new n(t)),r.bind(),a(r,e,35040,0,1,!1),r},destroyStream:function(t){u.push(t)},clear:function(){H(c).forEach(s),u.forEach(s)},getBuffer:function(t){return t&amp;&amp;t._buffer instanceof n?t._buffer:null},restore:function(){H(c).forEach(function(e){e.buffer=t.createBuffer(),t.bindBuffer(e.type,e.buffer),t.bufferData(e.type,e.persistentData||e.byteLength,e.usage)})},_initBuffer:a}}(y,w,t),O=function(t,e,r,n){function i(t){this.id=c++,l[this.id]=this,this.buffer=t,this.primType=4,this.type=this.vertCount=0}function a(n,i,a,s,l,c,u){if(n.buffer.bind(),i){var f=u;u||q(i)&amp;&amp;(!o(i)||q(i.data))||(f=e.oes_element_index_uint?5125:5123),r._initBuffer(n.buffer,i,a,f,3)}else t.bufferData(34963,c,a),n.buffer.dtype=f||5121,n.buffer.usage=a,n.buffer.dimension=3,n.buffer.byteLength=c;if(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&gt;(i=l)&amp;&amp;(i=n.buffer.byteLength,5123===f?i&gt;&gt;=1:5125===f&amp;&amp;(i&gt;&gt;=2)),n.vertCount=i,i=s,0&gt;s&amp;&amp;(i=4,1===(s=n.buffer.dimension)&amp;&amp;(i=0),2===s&amp;&amp;(i=1),3===s&amp;&amp;(i=4)),n.primType=i}function s(t){n.elementsCount--,delete l[t.id],t.buffer.destroy(),t.buffer=null}var l={},c=0,u={uint8:5121,uint16:5123};e.oes_element_index_uint&amp;&amp;(u.uint32=5125),i.prototype.bind=function(){this.buffer.bind()};var f=[];return{create:function(t,e){function l(t){if(t)if(&quot;number&quot;==typeof t)c(t),f.primType=4,f.vertCount=0|t,f.type=5121;else{var e=null,r=35044,n=-1,i=-1,s=0,h=0;Array.isArray(t)||q(t)||o(t)?e=t:(&quot;data&quot;in t&amp;&amp;(e=t.data),&quot;usage&quot;in t&amp;&amp;(r=J[t.usage]),&quot;primitive&quot;in t&amp;&amp;(n=tt[t.primitive]),&quot;count&quot;in t&amp;&amp;(i=0|t.count),&quot;type&quot;in t&amp;&amp;(h=u[t.type]),&quot;length&quot;in t?s=0|t.length:(s=i,5123===h||5122===h?s*=2:5125!==h&amp;&amp;5124!==h||(s*=4))),a(f,e,r,n,i,s,h)}else c(),f.primType=4,f.vertCount=0,f.type=5121;return l}var c=r.create(null,34963,!0),f=new i(c._buffer);return n.elementsCount++,l(t),l._reglType=&quot;elements&quot;,l._elements=f,l.subdata=function(t,e){return c.subdata(t,e),l},l.destroy=function(){s(f)},l},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&quot;function&quot;==typeof t&amp;&amp;t._elements instanceof i?t._elements:null},clear:function(){H(l).forEach(s)}}}(y,M,P,w),j=(C=function(t,e,r,n,i){for(t=r.maxAttributes,e=Array(t),r=0;r&lt;t;++r)e[r]=new A;return{Record:A,scope:{},state:e}}(y,M,I),T(y,_,w,t)),G=k(y,M,I,function(){et.procs.poll()},D,w,t),W=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&amp;&amp;(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,&quot;rgb5 a1&quot;:32855,depth:33189,stencil:36168,&quot;depth stencil&quot;:34041};e.ext_srgb&amp;&amp;(s.srgba=35907),e.ext_color_buffer_half_float&amp;&amp;(s.rgba16f=34842,s.rgb16f=34843),e.webgl_color_buffer_float&amp;&amp;(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&gt;=--this.refCount&amp;&amp;o(this)},i.profile&amp;&amp;(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(&quot;object&quot;==typeof e&amp;&amp;e?(&quot;shape&quot;in e?(a=e.shape,n=0|a[0],a=0|a[1]):(&quot;radius&quot;in e&amp;&amp;(n=a=0|e.radius),&quot;width&quot;in e&amp;&amp;(n=0|e.width),&quot;height&quot;in e&amp;&amp;(a=0|e.height)),&quot;format&quot;in e&amp;&amp;(u=s[e.format])):&quot;number&quot;==typeof e?(n=0|e,a=&quot;number&quot;==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&amp;&amp;(c.stats.size=ct[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&amp;&amp;a===c.height?o:(o.width=c.width=n,o.height=c.height=a,t.bindRenderbuffer(36161,c.renderbuffer),t.renderbufferStorage(36161,c.format,n,a),i.profile&amp;&amp;(c.stats.size=ct[c.format]*c.width*c.height),o)},o._reglType=&quot;renderbuffer&quot;,o._renderbuffer=c,i.profile&amp;&amp;(o.stats=c.stats),o.destroy=function(){c.decRef()},o},clear:function(){H(u).forEach(o)},restore:function(){H(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)}}}(y,M,0,w,t),X=function(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&amp;&amp;(t=r.width,n=r.height),this.width=t,this.height=n}function s(t){t&amp;&amp;(t.texture&amp;&amp;t.texture._texture.decRef(),t.renderbuffer&amp;&amp;t.renderbuffer._renderbuffer.decRef())}function l(t,e,r){t&amp;&amp;(t.texture?t.texture._texture.refCount+=1:t.renderbuffer._renderbuffer.refCount+=1)}function c(e,r){r&amp;&amp;(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&quot;object&quot;==typeof t&amp;&amp;(i=t.data,&quot;target&quot;in t&amp;&amp;(e=0|t.target)),&quot;texture2d&quot;===(t=i._reglType)?r=i:&quot;textureCube&quot;===t?r=i:&quot;renderbuffer&quot;===t&amp;&amp;(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}),t._texture.refCount=0,new o(3553,t,null)):(t=i.create({width:t,height:e,format:a}),t._renderbuffer.refCount=0,new o(36161,null,t))}function h(t){return t&amp;&amp;(t.texture||t.renderbuffer)}function d(t,e,r){t&amp;&amp;(t.texture?t.texture.resize(e,r):t.renderbuffer&amp;&amp;t.renderbuffer.resize(e,r))}function p(){this.id=M++,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&lt;i.length;++n)c(36064+n,i[n]);for(n=i.length;n&lt;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.bindFramebuffer(36160,x.next),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 d=!0,p=&quot;rgba&quot;,g=&quot;uint8&quot;,y=1,x=null,w=null,M=null,k=!1;&quot;number&quot;==typeof t?(a=0|t,o=0|e||a):t?(&quot;shape&quot;in t?(o=t.shape,a=o[0],o=o[1]):(&quot;radius&quot;in t&amp;&amp;(a=o=t.radius),&quot;width&quot;in t&amp;&amp;(a=t.width),&quot;height&quot;in t&amp;&amp;(o=t.height)),(&quot;color&quot;in t||&quot;colors&quot;in t)&amp;&amp;(i=t.color||t.colors,Array.isArray(i)),i||(&quot;colorCount&quot;in t&amp;&amp;(y=0|t.colorCount),&quot;colorTexture&quot;in t&amp;&amp;(d=!!t.colorTexture,p=&quot;rgba4&quot;),&quot;colorType&quot;in t&amp;&amp;(g=t.colorType,!d)&amp;&amp;(&quot;half float&quot;===g||&quot;float16&quot;===g?p=&quot;rgba16f&quot;:&quot;float&quot;!==g&amp;&amp;&quot;float32&quot;!==g||(p=&quot;rgba32f&quot;)),&quot;colorFormat&quot;in t&amp;&amp;(p=t.colorFormat,0&lt;=b.indexOf(p)?d=!0:0&lt;=_.indexOf(p)&amp;&amp;(d=!1))),(&quot;depthTexture&quot;in t||&quot;depthStencilTexture&quot;in t)&amp;&amp;(k=!(!t.depthTexture&amp;&amp;!t.depthStencilTexture)),&quot;depth&quot;in t&amp;&amp;(&quot;boolean&quot;==typeof t.depth?s=t.depth:(x=t.depth,c=!1)),&quot;stencil&quot;in t&amp;&amp;(&quot;boolean&quot;==typeof t.stencil?c=t.stencil:(w=t.stencil,s=!1)),&quot;depthStencil&quot;in t&amp;&amp;(&quot;boolean&quot;==typeof t.depthStencil?s=c=t.depthStencil:(M=t.depthStencil,c=s=!1))):a=o=1;var A=null,T=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&lt;y;++i)A[i]=f(a,o,d,p,g);for(a=a||A[0].width,o=o||A[0].height,x?T=u(x):s&amp;&amp;!c&amp;&amp;(T=f(a,o,k,&quot;depth&quot;,&quot;uint32&quot;)),w?S=u(w):c&amp;&amp;!s&amp;&amp;(S=f(a,o,!1,&quot;stencil&quot;,&quot;uint8&quot;)),M?E=u(M):!x&amp;&amp;!w&amp;&amp;c&amp;&amp;s&amp;&amp;(E=f(a,o,k,&quot;depth stencil&quot;,&quot;depth stencil&quot;)),s=null,i=0;i&lt;A.length;++i)l(A[i]),A[i]&amp;&amp;A[i].texture&amp;&amp;(c=ut[A[i].texture._texture.format]*ft[A[i].texture._texture.type],null===s&amp;&amp;(s=c));return l(T),l(S),l(E),m(n),n.width=a,n.height=o,n.colorAttachments=A,n.depthAttachment=T,n.stencilAttachment=S,n.depthStencilAttachment=E,r.color=A.map(h),r.depth=h(T),r.stencil=h(S),r.depthStencil=h(E),r.width=n.width,r.height=n.height,v(n),r}var n=new p;return a.framebufferCount++,r(t,e),N(r,{resize:function(t,e){var i=0|t,a=0|e||i;if(i===n.width&amp;&amp;a===n.height)return r;for(var o=n.colorAttachments,s=0;s&lt;o.length;++s)d(o[s],i,a);return d(n.depthAttachment,i,a),d(n.stencilAttachment,i,a),d(n.depthStencilAttachment,i,a),n.width=r.width=i,n.height=r.height=a,v(n),r},_reglType:&quot;framebuffer&quot;,_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=[&quot;rgba&quot;],_=[&quot;rgba4&quot;,&quot;rgb565&quot;,&quot;rgb5 a1&quot;];e.ext_srgb&amp;&amp;_.push(&quot;srgba&quot;),e.ext_color_buffer_half_float&amp;&amp;_.push(&quot;rgba16f&quot;,&quot;rgb16f&quot;),e.webgl_color_buffer_float&amp;&amp;_.push(&quot;rgba32f&quot;);var w=[&quot;uint8&quot;];e.oes_texture_half_float&amp;&amp;w.push(&quot;half float&quot;,&quot;float16&quot;),e.oes_texture_float&amp;&amp;w.push(&quot;float&quot;,&quot;float32&quot;);var M=0,k={};return N(x,{getFramebuffer:function(t){return&quot;function&quot;==typeof t&amp;&amp;&quot;framebuffer&quot;===t._reglType&amp;&amp;(t=t._framebuffer)instanceof p?t:null},create:y,createCube:function(t){function e(t){var i,a={color:null},o=0,s=null;i=&quot;rgba&quot;;var l=&quot;uint8&quot;,c=1;if(&quot;number&quot;==typeof t?o=0|t:t?(&quot;shape&quot;in t?o=t.shape[0]:(&quot;radius&quot;in t&amp;&amp;(o=0|t.radius),&quot;width&quot;in t?o=0|t.width:&quot;height&quot;in t&amp;&amp;(o=0|t.height)),(&quot;color&quot;in t||&quot;colors&quot;in t)&amp;&amp;(s=t.color||t.colors,Array.isArray(s)),s||(&quot;colorCount&quot;in t&amp;&amp;(c=0|t.colorCount),&quot;colorType&quot;in t&amp;&amp;(l=t.colorType),&quot;colorFormat&quot;in t&amp;&amp;(i=t.colorFormat)),&quot;depth&quot;in t&amp;&amp;(a.depth=t.depth),&quot;stencil&quot;in t&amp;&amp;(a.stencil=t.stencil),&quot;depthStencil&quot;in t&amp;&amp;(a.depthStencil=t.depthStencil)):o=1,s)if(Array.isArray(s))for(t=[],i=0;i&lt;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&lt;c;++i)t[i]=n.createCube(s);for(a.color=Array(t.length),i=0;i&lt;t.length;++i)c=t[i],o=o||c.width,a.color[i]={target:34069,data:t[i]};for(i=0;6&gt;i;++i){for(c=0;c&lt;t.length;++c)a.color[c].target=34069+i;0&lt;i&amp;&amp;(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 N(e,{width:o,height:o,color:t})}var r=Array(6);return e(t),N(e,{faces:r,resize:function(t){var n=0|t;if(n===e.width)return e;var i=e.color;for(t=0;t&lt;i.length;++t)i[t].resize(n);for(t=0;6&gt;t;++t)r[t].resize(n);return e.width=e.height=n,e},_reglType:&quot;framebufferCube&quot;,destroy:function(){r.forEach(function(t){t.destroy()})}})},clear:function(){H(k).forEach(g)},restore:function(){H(k).forEach(function(e){e.framebuffer=t.createFramebuffer(),v(e)})}})}(y,M,I,G,W,w),et=F(y,_,M,I,P,O,0,X,{},C,j,{elements:null,primitive:4,count:-1,offset:0,instances:-1},D,E,t),rt=(_=S(y,X,et.procs.poll,D),et.next),nt=y.canvas,it=[],at=[],ot=[],st=[t.onDestroy],lt=null;nt&amp;&amp;(nt.addEventListener(&quot;webglcontextlost&quot;,i,!1),nt.addEventListener(&quot;webglcontextrestored&quot;,s,!1));var ht=X.setFBO=l({framebuffer:B.define.call(null,1,&quot;framebuffer&quot;)});return g(),x=N(l,{clear:function(t){if(&quot;framebuffer&quot;in t)if(t.framebuffer&amp;&amp;&quot;framebufferCube&quot;===t.framebuffer_reglType)for(var e=0;6&gt;e;++e)ht(N({framebuffer:t.framebuffer.faces[e]},t),c);else ht(t,c);else c(0,t)},prop:B.define.bind(null,1),context:B.define.bind(null,2),this:B.define.bind(null,3),draw:l({}),buffer:function(t){return P.create(t,34962,!1,!1)},elements:function(t){return O.create(t,!1)},texture:G.create2D,cube:G.createCube,renderbuffer:W.create,framebuffer:X.create,framebufferCube:X.createCube,attributes:x,frame:u,on:function(t,e){var r;switch(t){case&quot;frame&quot;:return u(e);case&quot;lost&quot;:r=at;break;case&quot;restore&quot;:r=ot;break;case&quot;destroy&quot;:r=st}return r.push(e),{cancel:function(){for(var t=0;t&lt;r.length;++t)if(r[t]===e){r[t]=r[r.length-1],r.pop();break}}}},limits:I,hasExtension:function(t){return 0&lt;=I.extensions.indexOf(t.toLowerCase())},read:_,destroy:function(){it.length=0,n(),nt&amp;&amp;(nt.removeEventListener(&quot;webglcontextlost&quot;,i),nt.removeEventListener(&quot;webglcontextrestored&quot;,s)),j.clear(),X.clear(),W.clear(),G.clear(),O.clear(),P.clear(),E&amp;&amp;E.clear(),st.forEach(function(t){t()})},_gl:y,_refresh:g,poll:function(){h(),E&amp;&amp;E.update()},now:v,stats:w}),t.onDone(null,x),x}})},{}],507:[function(t,e,r){&quot;use strict&quot;;var n,i=&quot;&quot;;e.exports=function(t,e){if(&quot;string&quot;!=typeof t)throw new TypeError(&quot;expected a string&quot;);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=&quot;&quot;;else if(i.length&gt;=r)return i.substr(0,r);for(;r&gt;i.length&amp;&amp;e&gt;1;)1&amp;e&amp;&amp;(i+=t),e&gt;&gt;=1,t+=t;return i+=t,i=i.substr(0,r)}},{}],508:[function(t,e,r){!function(t,n){&quot;object&quot;==typeof r?e.exports=n():t.resolveUrl=n()}(this,function(){return function(){var t=arguments.length;if(0===t)throw new Error(&quot;resolveUrl requires at least one argument; got none.&quot;);var e=document.createElement(&quot;base&quot;);if(e.href=arguments[0],1===t)return e.href;var r=document.getElementsByTagName(&quot;head&quot;)[0];r.insertBefore(e,r.firstChild);for(var n,i=document.createElement(&quot;a&quot;),a=1;a&lt;t;a++)i.href=arguments[a],n=i.href,e.href=n;return r.removeChild(e),n}})},{}],509:[function(t,e,r){(function(t){e.exports=t.performance&amp;&amp;t.performance.now?function(){return performance.now()}:Date.now||function(){return+new Date}}).call(this,&quot;undefined&quot;!=typeof global?global:&quot;undefined&quot;!=typeof self?self:&quot;undefined&quot;!=typeof window?window:{})},{}],510:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t){for(var e=t.length,r=t[t.length-1],n=e,i=e-2;i&gt;=0;--i){var a=r;(l=(s=t[i])-((r=a+s)-a))&amp;&amp;(t[--n]=r,r=l)}var o=0;for(i=n;i&lt;e;++i){var s,l;(l=(s=r)-((r=(a=t[i])+s)-a))&amp;&amp;(t[o++]=l)}return t[o++]=r,t.length=o,t}},{}],511:[function(t,e,r){&quot;use strict&quot;;function n(t,e){for(var r=new Array(t.length-1),n=1;n&lt;t.length;++n)for(var i=r[n-1]=new Array(t.length-1),a=0,o=0;a&lt;t.length;++a)a!==e&amp;&amp;(i[o++]=t[n][a]);return r}function i(t){return 1&amp;t?&quot;-&quot;:&quot;&quot;}function a(t){if(1===t.length)return t[0];if(2===t.length)return[&quot;sum(&quot;,t[0],&quot;,&quot;,t[1],&quot;)&quot;].join(&quot;&quot;);var e=t.length&gt;&gt;1;return[&quot;sum(&quot;,a(t.slice(0,e)),&quot;,&quot;,a(t.slice(e)),&quot;)&quot;].join(&quot;&quot;)}function o(t){if(2===t.length)return[&quot;sum(prod(&quot;,t[0][0],&quot;,&quot;,t[1][1],&quot;),prod(-&quot;,t[0][1],&quot;,&quot;,t[1][0],&quot;))&quot;].join(&quot;&quot;);for(var e=[],r=0;r&lt;t.length;++r)e.push([&quot;scale(&quot;,o(n(t,r)),&quot;,&quot;,i(r),t[0][r],&quot;)&quot;].join(&quot;&quot;));return a(e)}function s(t){return new Function(&quot;sum&quot;,&quot;scale&quot;,&quot;prod&quot;,&quot;compress&quot;,[&quot;function robustDeterminant&quot;,t,&quot;(m){return compress(&quot;,o(function(t){for(var e=new Array(t),r=0;r&lt;t;++r){e[r]=new Array(t);for(var n=0;n&lt;t;++n)e[r][n]=[&quot;m[&quot;,r,&quot;][&quot;,n,&quot;]&quot;].join(&quot;&quot;)}return e}(t)),&quot;)};return robustDeterminant&quot;,t].join(&quot;&quot;))(c,u,l,f)}var l=t(&quot;two-product&quot;),c=t(&quot;robust-sum&quot;),u=t(&quot;robust-scale&quot;),f=t(&quot;robust-compress&quot;),h=6,d=[function(){return[0]},function(t){return[t[0][0]]}];!function(){for(;d.length&lt;h;)d.push(s(d.length));for(var t=[],r=[&quot;function robustDeterminant(m){switch(m.length){&quot;],n=0;n&lt;h;++n)t.push(&quot;det&quot;+n),r.push(&quot;case &quot;,n,&quot;:return det&quot;,n,&quot;(m);&quot;);r.push(&quot;}var det=CACHE[m.length];if(!det)det=CACHE[m.length]=gen(m.length);return det(m);}return robustDeterminant&quot;),t.push(&quot;CACHE&quot;,&quot;gen&quot;,r.join(&quot;&quot;));var i=Function.apply(void 0,t);for(e.exports=i.apply(void 0,d.concat([d,s])),n=0;n&lt;d.length;++n)e.exports[n]=d[n]}()},{&quot;robust-compress&quot;:510,&quot;robust-scale&quot;:517,&quot;robust-sum&quot;:520,&quot;two-product&quot;:552}],512:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;two-product&quot;),i=t(&quot;robust-sum&quot;);e.exports=function(t,e){for(var r=n(t[0],e[0]),a=1;a&lt;t.length;++a)r=i(r,n(t[a],e[a]));return r}},{&quot;robust-sum&quot;:520,&quot;two-product&quot;:552}],513:[function(t,e,r){&quot;use strict&quot;;function n(t,e){for(var r=new Array(t.length-1),n=1;n&lt;t.length;++n)for(var i=r[n-1]=new Array(t.length-1),a=0,o=0;a&lt;t.length;++a)a!==e&amp;&amp;(i[o++]=t[n][a]);return r}function i(t){if(1===t.length)return t[0];if(2===t.length)return[&quot;sum(&quot;,t[0],&quot;,&quot;,t[1],&quot;)&quot;].join(&quot;&quot;);var e=t.length&gt;&gt;1;return[&quot;sum(&quot;,i(t.slice(0,e)),&quot;,&quot;,i(t.slice(e)),&quot;)&quot;].join(&quot;&quot;)}function a(t,e){if(&quot;m&quot;===t.charAt(0)){if(&quot;w&quot;===e.charAt(0)){var r=t.split(&quot;[&quot;);return[&quot;w&quot;,e.substr(1),&quot;m&quot;,r[0].substr(1)].join(&quot;&quot;)}return[&quot;prod(&quot;,t,&quot;,&quot;,e,&quot;)&quot;].join(&quot;&quot;)}return a(e,t)}function o(t){return!0&amp;t?&quot;-&quot;:&quot;&quot;}function s(t){if(2===t.length)return[[&quot;diff(&quot;,a(t[0][0],t[1][1]),&quot;,&quot;,a(t[1][0],t[0][1]),&quot;)&quot;].join(&quot;&quot;)];for(var e=[],r=0;r&lt;t.length;++r)e.push([&quot;scale(&quot;,i(s(n(t,r))),&quot;,&quot;,o(r),t[0][r],&quot;)&quot;].join(&quot;&quot;));return e}function l(t,e){for(var r=[],n=0;n&lt;e-2;++n)r.push([&quot;prod(m&quot;,t,&quot;[&quot;,n,&quot;],m&quot;,t,&quot;[&quot;,n,&quot;])&quot;].join(&quot;&quot;));return i(r)}function c(t){for(var e=[],r=[],a=function(t){for(var e=new Array(t),r=0;r&lt;t;++r){e[r]=new Array(t);for(var n=0;n&lt;t;++n)e[r][n]=[&quot;m&quot;,n,&quot;[&quot;,t-r-2,&quot;]&quot;].join(&quot;&quot;)}return e}(t),o=0;o&lt;t;++o)a[0][o]=&quot;1&quot;,a[t-1][o]=&quot;w&quot;+o;for(o=0;o&lt;t;++o)0==(1&amp;o)?e.push.apply(e,s(n(a,o))):r.push.apply(r,s(n(a,o)));var c=i(e),p=i(r),m=&quot;exactInSphere&quot;+t,g=[];for(o=0;o&lt;t;++o)g.push(&quot;m&quot;+o);var v=[&quot;function &quot;,m,&quot;(&quot;,g.join(),&quot;){&quot;];for(o=0;o&lt;t;++o){v.push(&quot;var w&quot;,o,&quot;=&quot;,l(o,t),&quot;;&quot;);for(var y=0;y&lt;t;++y)y!==o&amp;&amp;v.push(&quot;var w&quot;,o,&quot;m&quot;,y,&quot;=scale(w&quot;,o,&quot;,m&quot;,y,&quot;[0]);&quot;)}v.push(&quot;var p=&quot;,c,&quot;,n=&quot;,p,&quot;,d=diff(p,n);return d[d.length-1];}return &quot;,m);return new Function(&quot;sum&quot;,&quot;diff&quot;,&quot;prod&quot;,&quot;scale&quot;,v.join(&quot;&quot;))(f,h,u,d)}var u=t(&quot;two-product&quot;),f=t(&quot;robust-sum&quot;),h=t(&quot;robust-subtract&quot;),d=t(&quot;robust-scale&quot;),p=6,m=[function(){return 0},function(){return 0},function(){return 0}];!function(){for(;m.length&lt;=p;)m.push(c(m.length));for(var t=[],r=[&quot;slow&quot;],n=0;n&lt;=p;++n)t.push(&quot;a&quot;+n),r.push(&quot;o&quot;+n);var i=[&quot;function testInSphere(&quot;,t.join(),&quot;){switch(arguments.length){case 0:case 1:return 0;&quot;];for(n=2;n&lt;=p;++n)i.push(&quot;case &quot;,n,&quot;:return o&quot;,n,&quot;(&quot;,t.slice(0,n).join(),&quot;);&quot;);i.push(&quot;}var s=new Array(arguments.length);for(var i=0;i&lt;arguments.length;++i){s[i]=arguments[i]};return slow(s);}return testInSphere&quot;),r.push(i.join(&quot;&quot;));var a=Function.apply(void 0,r);for(e.exports=a.apply(void 0,[function(t){var e=m[t.length];return e||(e=m[t.length]=c(t.length)),e.apply(void 0,t)}].concat(m)),n=0;n&lt;=p;++n)e.exports[n]=m[n]}()},{&quot;robust-scale&quot;:517,&quot;robust-subtract&quot;:519,&quot;robust-sum&quot;:520,&quot;two-product&quot;:552}],514:[function(t,e,r){&quot;use strict&quot;;function n(t){for(var e=&quot;robustLinearSolve&quot;+t+&quot;d&quot;,r=[&quot;function &quot;,e,&quot;(A,b){return [&quot;],n=0;n&lt;t;++n){r.push(&quot;det([&quot;);for(var a=0;a&lt;t;++a){a&gt;0&amp;&amp;r.push(&quot;,&quot;),r.push(&quot;[&quot;);for(var o=0;o&lt;t;++o)o&gt;0&amp;&amp;r.push(&quot;,&quot;),o===n?r.push(&quot;+b[&quot;,a,&quot;]&quot;):r.push(&quot;+A[&quot;,a,&quot;][&quot;,o,&quot;]&quot;);r.push(&quot;]&quot;)}r.push(&quot;]),&quot;)}r.push(&quot;det(A)]}return &quot;,e);var s=new Function(&quot;det&quot;,r.join(&quot;&quot;));return s(t&lt;6?i[t]:i)}var i=t(&quot;robust-determinant&quot;),a=6,o=[function(){return[0]},function(t,e){return[[e[0]],[t[0][0]]]}];!function(){for(;o.length&lt;a;)o.push(n(o.length));for(var t=[],r=[&quot;function dispatchLinearSolve(A,b){switch(A.length){&quot;],i=0;i&lt;a;++i)t.push(&quot;s&quot;+i),r.push(&quot;case &quot;,i,&quot;:return s&quot;,i,&quot;(A,b);&quot;);r.push(&quot;}var s=CACHE[A.length];if(!s)s=CACHE[A.length]=g(A.length);return s(A,b)}return dispatchLinearSolve&quot;),t.push(&quot;CACHE&quot;,&quot;g&quot;,r.join(&quot;&quot;));var s=Function.apply(void 0,t);for(e.exports=s.apply(void 0,o.concat([o,n])),i=0;i&lt;a;++i)e.exports[i]=o[i]}()},{&quot;robust-determinant&quot;:511}],515:[function(t,e,r){&quot;use strict&quot;;function n(t,e){for(var r=new Array(t.length-1),n=1;n&lt;t.length;++n)for(var i=r[n-1]=new Array(t.length-1),a=0,o=0;a&lt;t.length;++a)a!==e&amp;&amp;(i[o++]=t[n][a]);return r}function i(t){return 1&amp;t?&quot;-&quot;:&quot;&quot;}function a(t){if(1===t.length)return t[0];if(2===t.length)return[&quot;sum(&quot;,t[0],&quot;,&quot;,t[1],&quot;)&quot;].join(&quot;&quot;);var e=t.length&gt;&gt;1;return[&quot;sum(&quot;,a(t.slice(0,e)),&quot;,&quot;,a(t.slice(e)),&quot;)&quot;].join(&quot;&quot;)}function o(t){if(2===t.length)return[[&quot;sum(prod(&quot;,t[0][0],&quot;,&quot;,t[1][1],&quot;),prod(-&quot;,t[0][1],&quot;,&quot;,t[1][0],&quot;))&quot;].join(&quot;&quot;)];for(var e=[],r=0;r&lt;t.length;++r)e.push([&quot;scale(&quot;,a(o(n(t,r))),&quot;,&quot;,i(r),t[0][r],&quot;)&quot;].join(&quot;&quot;));return e}function s(t){for(var e=[],r=[],i=function(t){for(var e=new Array(t),r=0;r&lt;t;++r){e[r]=new Array(t);for(var n=0;n&lt;t;++n)e[r][n]=[&quot;m&quot;,n,&quot;[&quot;,t-r-1,&quot;]&quot;].join(&quot;&quot;)}return e}(t),s=[],h=0;h&lt;t;++h)0==(1&amp;h)?e.push.apply(e,o(n(i,h))):r.push.apply(r,o(n(i,h))),s.push(&quot;m&quot;+h);var d=a(e),p=a(r),m=&quot;orientation&quot;+t+&quot;Exact&quot;,g=[&quot;function &quot;,m,&quot;(&quot;,s.join(),&quot;){var p=&quot;,d,&quot;,n=&quot;,p,&quot;,d=sub(p,n);return d[d.length-1];};return &quot;,m].join(&quot;&quot;);return new Function(&quot;sum&quot;,&quot;prod&quot;,&quot;scale&quot;,&quot;sub&quot;,g)(c,l,u,f)}var l=t(&quot;two-product&quot;),c=t(&quot;robust-sum&quot;),u=t(&quot;robust-scale&quot;),f=t(&quot;robust-subtract&quot;),h=5,d=s(3),p=s(4),m=[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&gt;0){if(a&lt;=0)return o;n=i+a}else{if(!(i&lt;0))return o;if(a&gt;=0)return o;n=-(i+a)}var s=3.3306690738754716e-16*n;return o&gt;=s||o&lt;=-s?o:d(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],h=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)+h*(y-x),_=7.771561172376103e-16*((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(h));return b&gt;_||-b&gt;_?b:p(t,e,r,n)}];!function(){for(;m.length&lt;=h;)m.push(s(m.length));for(var t=[],r=[&quot;slow&quot;],n=0;n&lt;=h;++n)t.push(&quot;a&quot;+n),r.push(&quot;o&quot;+n);var i=[&quot;function getOrientation(&quot;,t.join(),&quot;){switch(arguments.length){case 0:case 1:return 0;&quot;];for(n=2;n&lt;=h;++n)i.push(&quot;case &quot;,n,&quot;:return o&quot;,n,&quot;(&quot;,t.slice(0,n).join(),&quot;);&quot;);i.push(&quot;}var s=new Array(arguments.length);for(var i=0;i&lt;arguments.length;++i){s[i]=arguments[i]};return slow(s);}return getOrientation&quot;),r.push(i.join(&quot;&quot;));var a=Function.apply(void 0,r);for(e.exports=a.apply(void 0,[function(t){var e=m[t.length];return e||(e=m[t.length]=s(t.length)),e.apply(void 0,t)}].concat(m)),n=0;n&lt;=h;++n)e.exports[n]=m[n]}()},{&quot;robust-scale&quot;:517,&quot;robust-subtract&quot;:519,&quot;robust-sum&quot;:520,&quot;two-product&quot;:552}],516:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;robust-sum&quot;),i=t(&quot;robust-scale&quot;);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&lt;e.length)for(var a=0;a&lt;t.length;++a)r=n(r,i(e,t[a]));else for(a=0;a&lt;e.length;++a)r=n(r,i(t,e[a]));return r}},{&quot;robust-scale&quot;:517,&quot;robust-sum&quot;:520}],517:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;two-product&quot;),i=t(&quot;two-sum&quot;);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]&amp;&amp;(o[c++]=s[0]);for(var u=1;u&lt;r;++u){n(t[u],e,l);var f=s[1];i(f,l[0],s),s[0]&amp;&amp;(o[c++]=s[0]);var h=l[1],d=s[1],p=h+d,m=d-(p-h);s[1]=p,m&amp;&amp;(o[c++]=m)}return s[1]&amp;&amp;(o[c++]=s[1]),0===c&amp;&amp;(o[c++]=0),o.length=c,o}},{&quot;two-product&quot;:552,&quot;two-sum&quot;:553}],518:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t,e,r,i){var a=n(t,r,i),o=n(e,r,i);if(a&gt;0&amp;&amp;o&gt;0||a&lt;0&amp;&amp;o&lt;0)return!1;var s=n(r,t,e),l=n(i,t,e);return!(s&gt;0&amp;&amp;l&gt;0||s&lt;0&amp;&amp;l&lt;0)&amp;&amp;(0!==a||0!==o||0!==s||0!==l||function(t,e,r,n){for(var i=0;i&lt;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)&lt;s||l&lt;f)return!1}return!0}(t,e,r,i))};var n=t(&quot;robust-orientation&quot;)[3]},{&quot;robust-orientation&quot;:515}],519:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t,e){var r=0|t.length,n=0|e.length;if(1===r&amp;&amp;1===n)return function(t,e){var r=t+e,n=r-t,i=t-(r-n)+(e-n);return i?[i,r]:[r]}(t[0],-e[0]);var i,a,o=r+n,s=new Array(o),l=0,c=0,u=0,f=Math.abs,h=t[c],d=f(h),p=-e[u],m=f(p);d&lt;m?(a=h,(c+=1)&lt;r&amp;&amp;(d=f(h=t[c]))):(a=p,(u+=1)&lt;n&amp;&amp;(m=f(p=-e[u]))),c&lt;r&amp;&amp;d&lt;m||u&gt;=n?(i=h,(c+=1)&lt;r&amp;&amp;(d=f(h=t[c]))):(i=p,(u+=1)&lt;n&amp;&amp;(m=f(p=-e[u])));for(var g,v,y=i+a,x=y-i,b=a-x,_=b,w=y;c&lt;r&amp;&amp;u&lt;n;)d&lt;m?(i=h,(c+=1)&lt;r&amp;&amp;(d=f(h=t[c]))):(i=p,(u+=1)&lt;n&amp;&amp;(m=f(p=-e[u]))),(b=(a=_)-(x=(y=i+a)-i))&amp;&amp;(s[l++]=b),_=w-((g=w+y)-(v=g-w))+(y-v),w=g;for(;c&lt;r;)(b=(a=_)-(x=(y=(i=h)+a)-i))&amp;&amp;(s[l++]=b),_=w-((g=w+y)-(v=g-w))+(y-v),w=g,(c+=1)&lt;r&amp;&amp;(h=t[c]);for(;u&lt;n;)(b=(a=_)-(x=(y=(i=p)+a)-i))&amp;&amp;(s[l++]=b),_=w-((g=w+y)-(v=g-w))+(y-v),w=g,(u+=1)&lt;n&amp;&amp;(p=-e[u]);return _&amp;&amp;(s[l++]=_),w&amp;&amp;(s[l++]=w),l||(s[l++]=0),s.length=l,s}},{}],520:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t,e){var r=0|t.length,n=0|e.length;if(1===r&amp;&amp;1===n)return function(t,e){var r=t+e,n=r-t,i=t-(r-n)+(e-n);return i?[i,r]:[r]}(t[0],e[0]);var i,a,o=r+n,s=new Array(o),l=0,c=0,u=0,f=Math.abs,h=t[c],d=f(h),p=e[u],m=f(p);d&lt;m?(a=h,(c+=1)&lt;r&amp;&amp;(d=f(h=t[c]))):(a=p,(u+=1)&lt;n&amp;&amp;(m=f(p=e[u]))),c&lt;r&amp;&amp;d&lt;m||u&gt;=n?(i=h,(c+=1)&lt;r&amp;&amp;(d=f(h=t[c]))):(i=p,(u+=1)&lt;n&amp;&amp;(m=f(p=e[u])));for(var g,v,y=i+a,x=y-i,b=a-x,_=b,w=y;c&lt;r&amp;&amp;u&lt;n;)d&lt;m?(i=h,(c+=1)&lt;r&amp;&amp;(d=f(h=t[c]))):(i=p,(u+=1)&lt;n&amp;&amp;(m=f(p=e[u]))),(b=(a=_)-(x=(y=i+a)-i))&amp;&amp;(s[l++]=b),_=w-((g=w+y)-(v=g-w))+(y-v),w=g;for(;c&lt;r;)(b=(a=_)-(x=(y=(i=h)+a)-i))&amp;&amp;(s[l++]=b),_=w-((g=w+y)-(v=g-w))+(y-v),w=g,(c+=1)&lt;r&amp;&amp;(h=t[c]);for(;u&lt;n;)(b=(a=_)-(x=(y=(i=p)+a)-i))&amp;&amp;(s[l++]=b),_=w-((g=w+y)-(v=g-w))+(y-v),w=g,(u+=1)&lt;n&amp;&amp;(p=e[u]);return _&amp;&amp;(s[l++]=_),w&amp;&amp;(s[l++]=w),l||(s[l++]=0),s.length=l,s}},{}],521:[function(t,e,r){!function(t,n){&quot;object&quot;==typeof r&amp;&amp;void 0!==e?e.exports=n():t.ShelfPack=n()}(this,function(){function t(t,e,r){r=r||{},this.w=t||64,this.h=e||64,this.autoResize=!!r.autoResize,this.shelves=[],this.stats={},this.count=function(t){this.stats[t]=1+(0|this.stats[t])}}function e(t,e,r){this.x=0,this.y=t,this.w=this.free=e,this.h=r}return t.prototype.pack=function(t,e){t=[].concat(t),e=e||{};for(var r,n,i,a=[],o=0;o&lt;t.length;o++)if(r=t[o].w||t[o].width,n=t[o].h||t[o].height,r&amp;&amp;n){if(!(i=this.packOne(r,n)))continue;e.inPlace&amp;&amp;(t[o].x=i.x,t[o].y=i.y),a.push(i)}if(this.shelves.length&gt;0){for(var s=0,l=0,c=0;c&lt;this.shelves.length;c++){var u=this.shelves[c];l+=u.h,s=Math.max(u.w-u.free,s)}this.resize(s,l)}return a},t.prototype.packOne=function(t,r){for(var n,i,a=0,o={shelf:-1,waste:1/0},s=0;s&lt;this.shelves.length;s++){if(n=this.shelves[s],a+=n.h,r===n.h&amp;&amp;t&lt;=n.free)return this.count(r),n.alloc(t,r);r&gt;n.h||t&gt;n.free||r&lt;n.h&amp;&amp;t&lt;=n.free&amp;&amp;(i=n.h-r)&lt;o.waste&amp;&amp;(o.waste=i,o.shelf=s)}if(-1!==o.shelf)return n=this.shelves[o.shelf],this.count(r),n.alloc(t,r);if(r&lt;=this.h-a&amp;&amp;t&lt;=this.w)return n=new e(a,this.w,r),this.shelves.push(n),this.count(r),n.alloc(t,r);if(this.autoResize){var l,c,u,f;return l=c=this.h,((u=f=this.w)&lt;=l||t&gt;u)&amp;&amp;(f=2*Math.max(t,u)),(l&lt;u||r&gt;l)&amp;&amp;(c=2*Math.max(r,l)),this.resize(f,c),this.packOne(t,r)}return null},t.prototype.clear=function(){this.shelves=[],this.stats={}},t.prototype.resize=function(t,e){this.w=t,this.h=e;for(var r=0;r&lt;this.shelves.length;r++)this.shelves[r].resize(t);return!0},e.prototype.alloc=function(t,e){if(t&gt;this.free||e&gt;this.h)return null;var r=this.x;return this.x+=t,this.free-=t,{x:r,y:this.y,w:t,h:e,width:t,height:e}},e.prototype.resize=function(t){return this.free+=t-this.w,this.w=t,!0},t})},{}],522:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t){return t&lt;0?-1:t&gt;0?1:0}},{}],523:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t){return i(n(t))};var n=t(&quot;boundary-cells&quot;),i=t(&quot;reduce-simplicial-complex&quot;)},{&quot;boundary-cells&quot;:74,&quot;reduce-simplicial-complex&quot;:499}],524:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t,e,r,s){if(r=r||0,void 0===s&amp;&amp;(s=function(t){for(var e=t.length,r=0,n=0;n&lt;e;++n)r=0|Math.max(r,t[n].length);return r-1}(t)),0===t.length||s&lt;1)return{cells:[],vertexIds:[],vertexWeights:[]};var l=function(t,e){for(var r=t.length,n=i.mallocUint8(r),a=0;a&lt;r;++a)n[a]=t[a]&lt;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&lt;r;++c)for(var u=t[c],f=(e=u.length,0);f&lt;e;++f)for(var h=0;h&lt;f;++h){var d=u[h],p=u[f];s[l++]=0|Math.min(d,p),s[l++]=0|Math.max(d,p)}a(n(s,[l/2|0,2]));var m=2;for(c=2;c&lt;l;c+=2)s[c-2]===s[c]&amp;&amp;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&lt;s;++u){var f=o[2*u],h=o[2*u+1];if(r[f]!==r[h]){var d=e[f],p=e[h];o[2*c]=f,o[2*c+1]=h,l[c++]=(p-a)/(p-d)}}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&lt;n;++s){var l=a[2*s];if(l!==o){for(r[2*o+1]=s;++o&lt;l;)r[2*o]=s,r[2*o+1]=s;r[2*o]=s}}for(r[2*o+1]=n;++o&lt;e;)r[2*o]=r[2*o+1]=n;return r}(c,0|e.length),h=o(s)(t,c.data,f,l),d=function(t){for(var e=0|t.shape[0],r=t.data,n=new Array(e),i=0;i&lt;e;++i)n[i]=[r[2*i],r[2*i+1]];return n}(c),p=[].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:d,vertexWeights:p}};var n=t(&quot;ndarray&quot;),i=t(&quot;typedarray-pool&quot;),a=t(&quot;ndarray-sort&quot;),o=t(&quot;./lib/codegen&quot;)},{&quot;./lib/codegen&quot;:525,ndarray:458,&quot;ndarray-sort&quot;:456,&quot;typedarray-pool&quot;:554}],525:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t){var e=a[t];return e||(e=a[t]=function(t){function e(t){if(!(t.length&lt;=0)){c.push(&quot;R.push(&quot;);for(var e=0;e&lt;t.length;++e){var r=t[e];e&gt;0&amp;&amp;c.push(&quot;,&quot;),c.push(&quot;[&quot;);for(var n=0;n&lt;r.length;++n){var i=r[n];n&gt;0&amp;&amp;c.push(&quot;,&quot;),c.push(&quot;B(C,E,c[&quot;,i[0],&quot;],c[&quot;,i[1],&quot;])&quot;)}c.push(&quot;]&quot;)}c.push(&quot;);&quot;)}}var r=0,a=new Array(t+1);a[0]=[[]];for(var o=1;o&lt;=t;++o)for(var s=a[o]=i(o),l=0;l&lt;s.length;++l)r=Math.max(r,s[o].length);var c=[&quot;function B(C,E,i,j){&quot;,&quot;var a=Math.min(i,j)|0,b=Math.max(i,j)|0,l=C[2*a],h=C[2*a+1];&quot;,&quot;while(l&lt;h){&quot;,&quot;var m=(l+h)&gt;&gt;1,v=E[2*m+1];&quot;,&quot;if(v===b){return m}&quot;,&quot;if(b&lt;v){h=m}else{l=m+1}&quot;,&quot;}&quot;,&quot;return l;&quot;,&quot;};&quot;,&quot;function getContour&quot;,t,&quot;d(F,E,C,S){&quot;,&quot;var n=F.length,R=[];&quot;,&quot;for(var i=0;i&lt;n;++i){var c=F[i],l=c.length;&quot;];for(o=t+1;o&gt;1;--o){o&lt;t+1&amp;&amp;c.push(&quot;else &quot;),c.push(&quot;if(l===&quot;,o,&quot;){&quot;);var u=[];for(l=0;l&lt;o;++l)u.push(&quot;(S[c[&quot;+l+&quot;]]&lt;&lt;&quot;+l+&quot;)&quot;);for(c.push(&quot;var M=&quot;,u.join(&quot;+&quot;),&quot;;if(M===0||M===&quot;,(1&lt;&lt;o)-1,&quot;){continue}switch(M){&quot;),s=a[o-1],l=0;l&lt;s.length;++l)c.push(&quot;case &quot;,l,&quot;:&quot;),e(s[l]),c.push(&quot;break;&quot;);c.push(&quot;}}&quot;)}return c.push(&quot;}return R;};return getContour&quot;,t,&quot;d&quot;),new Function(&quot;pool&quot;,c.join(&quot;&quot;))(n)}(t)),e};var n=t(&quot;typedarray-pool&quot;),i=t(&quot;marching-simplex-table&quot;),a={}},{&quot;marching-simplex-table&quot;:436,&quot;typedarray-pool&quot;:554}],526:[function(t,e,r){&quot;use strict&quot;;&quot;use restrict&quot;;function n(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&lt;r;++h)if(n=u[h]-f[h])return n;return 0}}function i(t,e){return n(t[0],e[0])}function a(t,e){if(e){for(var r=t.length,a=new Array(r),o=0;o&lt;r;++o)a[o]=[t[o],e[o]];a.sort(i);for(o=0;o&lt;r;++o)t[o]=a[o][0],e[o]=a[o][1];return t}return t.sort(n),t}function o(t){if(0===t.length)return[];for(var e=1,r=t.length,i=1;i&lt;r;++i){var a=t[i];if(n(a,t[i-1])){if(i===e){e++;continue}t[e++]=a}}return t.length=e,t}function s(t,e){for(var r=0,i=t.length-1,a=-1;r&lt;=i;){var o=r+i&gt;&gt;1,s=n(t[o],e);s&lt;=0?(0===s&amp;&amp;(a=o),r=o+1):s&gt;0&amp;&amp;(i=o-1)}return a}function l(t,e){for(var r=new Array(t.length),i=0,a=r.length;i&lt;a;++i)r[i]=[];for(var o=[],l=(i=0,e.length);i&lt;l;++i)for(var c=e[i],f=c.length,h=1,d=1&lt;&lt;f;h&lt;d;++h){o.length=u.popCount(h);for(var p=0,m=0;m&lt;f;++m)h&amp;1&lt;&lt;m&amp;&amp;(o[p++]=c[m]);var g=s(t,o);if(!(g&lt;0))for(;r[g++].push(i),!(g&gt;=t.length||0!==n(t[g],o)););}return r}function c(t,e){if(e&lt;0)return[];for(var r=[],n=(1&lt;&lt;e+1)-1,i=0;i&lt;t.length;++i)for(var o=t[i],s=n;s&lt;1&lt;&lt;o.length;s=u.nextCombination(s)){for(var l=new Array(e+1),c=0,f=0;f&lt;o.length;++f)s&amp;1&lt;&lt;f&amp;&amp;(l[c++]=o[f]);r.push(l)}return a(r)}var u=t(&quot;bit-twiddle&quot;),f=t(&quot;union-find&quot;);r.dimension=function(t){for(var e=0,r=Math.max,n=0,i=t.length;n&lt;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&lt;i;++n)for(var a=t[n],o=0,s=a.length;o&lt;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&lt;n;++r)e[r]=t[r].slice(0);return e},r.compareCells=n,r.normalize=a,r.unique=o,r.findCell=s,r.incidence=l,r.dual=function(t,e){if(!e)return l(o(c(t,0)),t);for(var r=new Array(e),n=0;n&lt;e;++n)r[n]=[];n=0;for(var i=t.length;n&lt;i;++n)for(var a=t[n],s=0,u=a.length;s&lt;u;++s)r[a[s]].push(n);return r},r.explode=function(t){for(var e=[],r=0,n=t.length;r&lt;n;++r)for(var i=t[r],o=0|i.length,s=1,l=1&lt;&lt;o;s&lt;l;++s){for(var c=[],u=0;u&lt;o;++u)s&gt;&gt;&gt;u&amp;1&amp;&amp;c.push(i[u]);e.push(c)}return a(e)},r.skeleton=c,r.boundary=function(t){for(var e=[],r=0,n=t.length;r&lt;n;++r)for(var i=t[r],o=0,s=i.length;o&lt;s;++o){for(var l=new Array(i.length-1),c=0,u=0;c&lt;s;++c)c!==o&amp;&amp;(l[u++]=i[c]);e.push(l)}return a(e)},r.connectedComponents=function(t,e){return e?function(t,e){for(var r=new f(e),n=0;n&lt;t.length;++n)for(var i=t[n],a=0;a&lt;i.length;++a)for(var o=a+1;o&lt;i.length;++o)r.link(i[a],i[o]);var s=[],l=r.ranks;for(n=0;n&lt;l.length;++n)l[n]=-1;for(n=0;n&lt;t.length;++n){var c=r.find(t[n][0]);l[c]&lt;0?(l[c]=s.length,s.push([t[n].slice(0)])):s[l[c]].push(t[n].slice(0))}return s}(t,e):function(t){for(var e=o(a(c(t,0))),r=new f(e.length),n=0;n&lt;t.length;++n)for(var i=t[n],l=0;l&lt;i.length;++l)for(var u=s(e,[i[l]]),h=l+1;h&lt;i.length;++h)r.link(u,s(e,[i[h]]));var d=[],p=r.ranks;for(n=0;n&lt;p.length;++n)p[n]=-1;for(n=0;n&lt;t.length;++n){var m=r.find(s(e,[t[n][0]]));p[m]&lt;0?(p[m]=d.length,d.push([t[n].slice(0)])):d[p[m]].push(t[n].slice(0))}return d}(t)}},{&quot;bit-twiddle&quot;:71,&quot;union-find&quot;:555}],527:[function(t,e,r){arguments[4][71][0].apply(r,arguments)},{dup:71}],528:[function(t,e,r){arguments[4][526][0].apply(r,arguments)},{&quot;bit-twiddle&quot;:527,dup:526,&quot;union-find&quot;:529}],529:[function(t,e,r){&quot;use strict&quot;;&quot;use restrict&quot;;function n(t){this.roots=new Array(t),this.ranks=new Array(t);for(var e=0;e&lt;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&lt;s?a[r]=n:s&lt;o?a[n]=r:(a[n]=r,++i[r])}}},{}],530:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t,e,r){function a(t){if(b[t])return 1/0;var r=v[t],i=y[t];return r&lt;0||i&lt;0?1/0:function(t,e,r){return Math.abs(n(t,e,r))/Math.sqrt(Math.pow(e[0]-r[0],2)+Math.pow(e[1]-r[1],2))}(e[t],e[r],e[i])}function o(t,e){var r=A[t],n=A[e];A[t]=n,A[e]=r,T[r]=e,T[n]=t}function s(t){return x[A[t]]}function l(t){return 1&amp;t?t-1&gt;&gt;1:(t&gt;&gt;1)-1}function c(t){for(var e=s(t);;){var r=e,n=2*t+1,i=2*(t+1),a=t;if(n&lt;S){var l=s(n);l&lt;r&amp;&amp;(a=n,r=l)}if(i&lt;S&amp;&amp;s(i)&lt;r&amp;&amp;(a=i),a===t)return t;o(t,a),t=a}}function u(t){for(var e=s(t);t&gt;0;){var r=l(t);if(!(r&gt;=0&amp;&amp;e&lt;s(r)))return t;o(t,r),t=r}}function f(){if(S&gt;0){var t=A[0];return o(0,S-1),S-=1,c(0),t}return-1}function h(t,e){var r=A[t];return x[r]===e?t:(x[r]=-1/0,u(t),f(),x[r]=e,S+=1,u(S-1))}function d(t){if(!b[t]){b[t]=!0;var e=v[t],r=y[t];v[r]&gt;=0&amp;&amp;(v[r]=e),y[e]&gt;=0&amp;&amp;(y[e]=r),T[e]&gt;=0&amp;&amp;h(T[e],a(e)),T[r]&gt;=0&amp;&amp;h(T[r],a(r))}}function p(t,e){if(t[e]&lt;0)return e;var r=e,n=e;do{var i=t[n];if(!b[n]||i&lt;0||i===n)break;if(n=i,i=t[n],!b[n]||i&lt;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}for(var m=e.length,g=t.length,v=new Array(m),y=new Array(m),x=new Array(m),b=new Array(m),_=0;_&lt;m;++_)v[_]=y[_]=-1,x[_]=1/0,b[_]=!1;for(_=0;_&lt;g;++_){var w=t[_];if(2!==w.length)throw new Error(&quot;Input must be a graph&quot;);var M=w[1],k=w[0];-1!==y[k]?y[k]=-2:y[k]=M,-1!==v[M]?v[M]=-2:v[M]=k}var A=[],T=new Array(m);for(_=0;_&lt;m;++_)(x[_]=a(_))&lt;1/0?(T[_]=A.length,A.push(_)):T[_]=-1;var S=A.length;for(_=S&gt;&gt;1;_&gt;=0;--_)c(_);for(;;){var E=f();if(E&lt;0||x[E]&gt;r)break;d(E)}var L=[];for(_=0;_&lt;m;++_)b[_]||(T[_]=L.length,L.push(e[_].slice()));L.length;var C=[];return t.forEach(function(t){var e=p(v,t[0]),r=p(y,t[1]);if(e&gt;=0&amp;&amp;r&gt;=0&amp;&amp;e!==r){var n=T[e],i=T[r];n!==i&amp;&amp;C.push([n,i])}}),i.unique(i.normalize(C)),{positions:L,edges:C}};var n=t(&quot;robust-orientation&quot;),i=t(&quot;simplicial-complex&quot;)},{&quot;robust-orientation&quot;:515,&quot;simplicial-complex&quot;:528}],531:[function(t,e,r){&quot;use strict&quot;;function n(t,e){var r,n;if(e[0][0]&lt;e[1][0])r=e[0],n=e[1];else{if(!(e[0][0]&gt;e[1][0])){var a=Math.min(t[0][1],t[1][1]),o=Math.max(t[0][1],t[1][1]),s=Math.min(e[0][1],e[1][1]),l=Math.max(e[0][1],e[1][1]);return o&lt;s?o-s:a&gt;l?a-l:o-l}r=e[1],n=e[0]}var c,u;t[0][1]&lt;t[1][1]?(c=t[0],u=t[1]):(c=t[1],u=t[0]);var f=i(n,r,c);return f||((f=i(n,r,u))||u-n)}e.exports=function(t,e){var r,a;if(e[0][0]&lt;e[1][0])r=e[0],a=e[1];else{if(!(e[0][0]&gt;e[1][0]))return n(e,t);r=e[1],a=e[0]}var o,s;if(t[0][0]&lt;t[1][0])o=t[0],s=t[1];else{if(!(t[0][0]&gt;t[1][0]))return-n(t,e);o=t[1],s=t[0]}var l=i(r,a,s),c=i(r,a,o);if(l&lt;0){if(c&lt;=0)return l}else if(l&gt;0){if(c&gt;=0)return l}else if(c)return c;if(l=i(s,o,a),c=i(s,o,r),l&lt;0){if(c&lt;=0)return l}else if(l&gt;0){if(c&gt;=0)return l}else if(c)return c;return a[0]-s[0]};var i=t(&quot;robust-orientation&quot;)},{&quot;robust-orientation&quot;:515}],532:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r){this.slabs=t,this.coordinates=e,this.horizontal=r}function i(t,e){return t.y-e}function a(t,e){for(var r=null;t;){var n,i,o=t.key;o[0][0]&lt;o[1][0]?(n=o[0],i=o[1]):(n=o[1],i=o[0]);var s=u(n,i,e);if(s&lt;0)t=t.left;else if(s&gt;0)if(e[0]!==o[1][0])r=t,t=t.right;else{if(l=a(t.right,e))return l;t=t.left}else{if(e[0]!==o[1][0])return t;var l;if(l=a(t.right,e))return l;t=t.left}}return r}function o(t,e,r,n){this.y=t,this.index=e,this.start=r,this.closed=n}function s(t,e,r,n){this.x=t,this.segment=e,this.create=r,this.index=n}e.exports=function(t){for(var e=t.length,r=2*e,i=new Array(r),a=0;a&lt;e;++a){var l=t[a],u=l[0][0]&lt;l[1][0];i[2*a]=new s(l[0][0],l,u,a),i[2*a+1]=new s(l[1][0],l,!u,a)}i.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=c(f),d=[],p=[],m=[];for(a=0;a&lt;r;){for(var g=i[a].x,v=[];a&lt;r;){var y=i[a];if(y.x!==g)break;a+=1,y.segment[0][0]===y.x&amp;&amp;y.segment[1][0]===y.x?y.create&amp;&amp;(y.segment[0][1]&lt;y.segment[1][1]?(v.push(new o(y.segment[0][1],y.index,!0,!0)),v.push(new o(y.segment[1][1],y.index,!1,!1))):(v.push(new o(y.segment[1][1],y.index,!0,!1)),v.push(new o(y.segment[0][1],y.index,!1,!0)))):h=y.create?h.insert(y.segment,y.index):h.remove(y.segment)}d.push(h.root),p.push(g),m.push(v)}return new n(d,p,m)};var l=t(&quot;binary-search-bounds&quot;),c=t(&quot;functional-red-black-tree&quot;),u=t(&quot;robust-orientation&quot;),f=t(&quot;./lib/order-segments&quot;);n.prototype.castUp=function(t){var e=l.le(this.coordinates,t[0]);if(e&lt;0)return-1;this.slabs[e];var r=a(this.slabs[e],t),n=-1;if(r&amp;&amp;(n=r.value),this.coordinates[e]===t[0]){var o=null;if(r&amp;&amp;(o=r.key),e&gt;0){var s=a(this.slabs[e-1],t);s&amp;&amp;(o?f(s.key,o)&gt;0&amp;&amp;(o=s.key,n=s.value):(n=s.value,o=s.key))}var c=this.horizontal[e];if(c.length&gt;0){var h=l.ge(c,t[1],i);if(h&lt;c.length){var d=c[h];if(t[1]===d.y){if(d.closed)return d.index;for(;h&lt;c.length-1&amp;&amp;c[h+1].y===t[1];)if(h+=1,(d=c[h]).closed)return d.index;if(d.y===t[1]&amp;&amp;!d.start){if((h+=1)&gt;=c.length)return n;d=c[h]}}if(d.start)if(o){var p=u(o[0],o[1],[t[0],d.y]);o[0][0]&gt;o[1][0]&amp;&amp;(p=-p),p&gt;0&amp;&amp;(n=d.index)}else n=d.index;else d.y!==t[1]&amp;&amp;(n=d.index)}}}return n}},{&quot;./lib/order-segments&quot;:531,&quot;binary-search-bounds&quot;:70,&quot;functional-red-black-tree&quot;:144,&quot;robust-orientation&quot;:515}],533:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,n,i,a){for(var o=t+1;o&lt;=e;++o){for(var s=r[o],l=n[2*o],c=n[2*o+1],u=i[o],f=a[o],h=o;h&gt;t;){var d=r[h-1],p=n[2*(h-1)];if((d-s||l-p)&gt;=0)break;r[h]=d,n[2*h]=p,n[2*h+1]=n[2*h-1],i[h]=i[h-1],a[h]=a[h-1],h-=1}r[h]=s,n[2*h]=l,n[2*h+1]=c,i[h]=u,a[h]=f}}function i(t,e,r,n,i,a){var o=r[t],s=n[2*t],l=n[2*t+1],c=i[t],u=a[t];r[t]=r[e],n[2*t]=n[2*e],n[2*t+1]=n[2*e+1],i[t]=i[e],a[t]=a[e],r[e]=o,n[2*e]=s,n[2*e+1]=l,i[e]=c,a[e]=u}function a(t,e,r,n,i,a){r[t]=r[e],n[2*t]=n[2*e],n[2*t+1]=n[2*e+1],i[t]=i[e],a[t]=a[e]}function o(t,e,r,n,i,a,o){var s=n[t],l=i[2*t],c=i[2*t+1],u=a[t],f=o[t];n[t]=n[e],i[2*t]=i[2*e],i[2*t+1]=i[2*e+1],a[t]=a[e],o[t]=o[e],n[e]=n[r],i[2*e]=i[2*r],i[2*e+1]=i[2*r+1],a[e]=a[r],o[e]=o[r],n[r]=s,i[2*r]=l,i[2*r+1]=c,a[r]=u,o[r]=f}function s(t,e,r,n,i,a,o,s,l,c,u){s[t]=s[e],l[2*t]=l[2*e],l[2*t+1]=l[2*e+1],c[t]=c[e],u[t]=u[e],s[e]=r,l[2*e]=n,l[2*e+1]=i,c[e]=a,u[e]=o}function l(t,e,r,n,i){return(r[t]-r[e]||n[2*e]-n[2*t]||i[t]-i[e])&lt;0}function c(t,e,r,n,i,a,o,s){return(e-a[t]||o[2*t]-r||i-s[t])&lt;0}function u(t,e,r,h,d,p){var m=(e-t+1)/6|0,g=t+m,v=e-m,y=t+e&gt;&gt;1,x=y-m,b=y+m,_=g,w=x,M=y,k=b,A=v,T=t+1,S=e-1,E=0;l(_,w,r,h,d)&amp;&amp;(E=_,_=w,w=E),l(k,A,r,h,d)&amp;&amp;(E=k,k=A,A=E),l(_,M,r,h,d)&amp;&amp;(E=_,_=M,M=E),l(w,M,r,h,d)&amp;&amp;(E=w,w=M,M=E),l(_,k,r,h,d)&amp;&amp;(E=_,_=k,k=E),l(M,k,r,h,d)&amp;&amp;(E=M,M=k,k=E),l(w,A,r,h,d)&amp;&amp;(E=w,w=A,A=E),l(w,M,r,h,d)&amp;&amp;(E=w,w=M,M=E),l(k,A,r,h,d)&amp;&amp;(E=k,k=A,A=E);var L=r[w],C=h[2*w],z=h[2*w+1],D=d[w],I=p[w],P=r[k],O=h[2*k],F=h[2*k+1],R=d[k],N=p[k],j=_,B=M,U=A,V=g,q=y,H=v,G=r[j],Y=r[B],W=r[U];r[V]=G,r[q]=Y,r[H]=W;for(var X=0;X&lt;2;++X){var Z=h[2*j+X],J=h[2*B+X],K=h[2*U+X];h[2*V+X]=Z,h[2*q+X]=J,h[2*H+X]=K}var Q=d[j],$=d[B],tt=d[U];d[V]=Q,d[q]=$,d[H]=tt;var et=p[j],rt=p[B],nt=p[U];p[V]=et,p[q]=rt,p[H]=nt,a(x,t,r,h,d,p),a(b,e,r,h,d,p);for(var it=T;it&lt;=S;++it)if(c(it,L,C,0,D,r,h,d))it!==T&amp;&amp;i(it,T,r,h,d,p),++T;else if(!c(it,P,O,0,R,r,h,d))for(;;){if(c(S,P,O,0,R,r,h,d)){c(S,L,C,0,D,r,h,d)?(o(it,T,S,r,h,d,p),++T,--S):(i(it,S,r,h,d,p),--S);break}if(--S&lt;it)break}s(t,T-1,L,C,z,D,I,r,h,d,p),s(e,S+1,P,O,F,R,N,r,h,d,p),T-2-t&lt;=f?n(t,T-2,r,h,d,p):u(t,T-2,r,h,d,p),e-(S+2)&lt;=f?n(S+2,e,r,h,d,p):u(S+2,e,r,h,d,p),S-T&lt;=f?n(T,S,r,h,d,p):u(T,S,r,h,d,p)}e.exports=function(t,e,r,i,a){a&lt;=4*f?n(0,a-1,t,e,r,i):u(0,a-1,t,e,r,i)};var f=32},{}],534:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,n,i,a,o,s){for(var l=r,c=r;c&lt;n;++c){var u=t[2*c],f=t[2*c+1],h=e[c];i&lt;=u&amp;&amp;u&lt;=o&amp;&amp;a&lt;=f&amp;&amp;f&lt;=s&amp;&amp;(c===l?l+=1:(t[2*c]=t[2*l],t[2*c+1]=t[2*l+1],e[c]=e[l],t[2*l]=u,t[2*l+1]=f,e[l]=h,l+=1))}return l}function i(t,e,r){this.pixelSize=t,this.offset=e,this.count=r}var a=t(&quot;./lib/sort&quot;),o=t(&quot;array-bounds&quot;);e.exports=function(t,e,r,s){function l(i,a,o,s,c,u){var f=.5*o,h=s+1,d=c-s;r[b]=d,x[b++]=u;for(var p=0;p&lt;2;++p)for(var m=0;m&lt;2;++m){var g=i+p*f,v=a+m*f,y=n(t,e,h,c,g,v,g+f,v+f);if(y!==h){if(y-h&gt;=Math.max(.9*d,32)){var _=c+s&gt;&gt;&gt;1;l(g,v,f,h,_,u+1),h=_}l(g,v,f,h,y,u+1),h=y}}}var c=t.length&gt;&gt;&gt;1;if(c&lt;1)return[];e||(e=Array(c)),r||(r=Array(c)),s||(s=[]);for(var u=0;u&lt;c;++u)e[u]=u;if(!s.length||s.length&lt;4||s[0]&gt;=s[2]||s[1]&gt;=s[3]){var f=o(t,2);f[0]===f[2]&amp;&amp;(f[2]+=1),f[1]===f[3]&amp;&amp;(f[3]+=1),s[0]=f[0],s[1]=f[1],s[2]=f[2],s[3]=f[3]}var h=s[0],d=s[1],p=s[2],m=s[3],g=1/(p-h),v=1/(m-d),y=Math.max(p-h,m-d),x=new Int32Array(c),b=0;l(h,d,y,0,c,0),a(x,t,e,r,c);var _=[],w=0,M=c;for(b=c-1;b&gt;=0;--b){t[2*b]=(t[2*b]-h)*g,t[2*b+1]=(t[2*b+1]-d)*v;var k=x[b];k!==w&amp;&amp;(_.push(new i(y*Math.pow(.5,k),b+1,M-(b+1))),M=b+1,w=k)}return _.push(new i(y*Math.pow(.5,k+1),0,M)),_}},{&quot;./lib/sort&quot;:533,&quot;array-bounds&quot;:48}],535:[function(t,e,r){&quot;use strict&quot;;function n(t,e){var r=o(a(t,e),[e[e.length-1]]);return r[r.length-1]}function i(t,e,r,n){var i=-e/(n-e);i&lt;0?i=0:i&gt;1&amp;&amp;(i=1);for(var a=1-i,o=t.length,s=new Array(o),l=0;l&lt;o;++l)s[l]=i*t[l]+a*r[l];return s}var a=t(&quot;robust-dot-product&quot;),o=t(&quot;robust-sum&quot;);e.exports=function(t,e){for(var r=[],a=[],o=n(t[t.length-1],e),s=t[t.length-1],l=t[0],c=0;c&lt;t.length;++c,s=l){var u=n(l=t[c],e);if(o&lt;0&amp;&amp;u&gt;0||o&gt;0&amp;&amp;u&lt;0){var f=i(s,u,l,o);r.push(f),a.push(f.slice())}u&lt;0?a.push(l.slice()):u&gt;0?r.push(l.slice()):(r.push(l.slice()),a.push(l.slice())),o=u}return{positive:r,negative:a}},e.exports.positive=function(t,e){for(var r=[],a=n(t[t.length-1],e),o=t[t.length-1],s=t[0],l=0;l&lt;t.length;++l,o=s){var c=n(s=t[l],e);(a&lt;0&amp;&amp;c&gt;0||a&gt;0&amp;&amp;c&lt;0)&amp;&amp;r.push(i(o,c,s,a)),c&gt;=0&amp;&amp;r.push(s.slice()),a=c}return r},e.exports.negative=function(t,e){for(var r=[],a=n(t[t.length-1],e),o=t[t.length-1],s=t[0],l=0;l&lt;t.length;++l,o=s){var c=n(s=t[l],e);(a&lt;0&amp;&amp;c&gt;0||a&gt;0&amp;&amp;c&lt;0)&amp;&amp;r.push(i(o,c,s,a)),c&lt;=0&amp;&amp;r.push(s.slice()),a=c}return r}},{&quot;robust-dot-product&quot;:512,&quot;robust-sum&quot;:520}],536:[function(t,e,r){!function(t){function e(){var t=arguments[0],r=e.cache;return r[t]&amp;&amp;r.hasOwnProperty(t)||(r[t]=e.parse(t)),e.format.call(null,r[t],arguments)}function n(t){return Object.prototype.toString.call(t).slice(8,-1).toLowerCase()}var i={not_string:/[^s]/,number:/[diefg]/,json:/[j]/,not_json:/[^j]/,text:/^[^\x25]+/,modulo:/^\x25{2}/,placeholder:/^\x25(?:([1-9]\d*)\$|\(([^\)]+)\))?(\+)?(0|'[^$])?(-)?(\d+)?(?:\.(\d+))?([b-gijosuxX])/,key:/^([a-z_][a-z_\d]*)/i,key_access:/^\.([a-z_][a-z_\d]*)/i,index_access:/^\[(\d+)\]/,sign:/^[\+\-]/};e.format=function(t,r){var a,o,s,l,c,u,f,h=1,d=t.length,p=&quot;&quot;,m=[],g=!0,v=&quot;&quot;;for(o=0;o&lt;d;o++)if(&quot;string&quot;===(p=n(t[o])))m[m.length]=t[o];else if(&quot;array&quot;===p){if((l=t[o])[2])for(a=r[h],s=0;s&lt;l[2].length;s++){if(!a.hasOwnProperty(l[2][s]))throw new Error(e(&quot;[sprintf] property '%s' does not exist&quot;,l[2][s]));a=a[l[2][s]]}else a=l[1]?r[l[1]]:r[h++];if(&quot;function&quot;==n(a)&amp;&amp;(a=a()),i.not_string.test(l[8])&amp;&amp;i.not_json.test(l[8])&amp;&amp;&quot;number&quot;!=n(a)&amp;&amp;isNaN(a))throw new TypeError(e(&quot;[sprintf] expecting number but found %s&quot;,n(a)));switch(i.number.test(l[8])&amp;&amp;(g=a&gt;=0),l[8]){case&quot;b&quot;:a=a.toString(2);break;case&quot;c&quot;:a=String.fromCharCode(a);break;case&quot;d&quot;:case&quot;i&quot;:a=parseInt(a,10);break;case&quot;j&quot;:a=JSON.stringify(a,null,l[6]?parseInt(l[6]):0);break;case&quot;e&quot;:a=l[7]?a.toExponential(l[7]):a.toExponential();break;case&quot;f&quot;:a=l[7]?parseFloat(a).toFixed(l[7]):parseFloat(a);break;case&quot;g&quot;:a=l[7]?parseFloat(a).toPrecision(l[7]):parseFloat(a);break;case&quot;o&quot;:a=a.toString(8);break;case&quot;s&quot;:a=(a=String(a))&amp;&amp;l[7]?a.substring(0,l[7]):a;break;case&quot;u&quot;:a&gt;&gt;&gt;=0;break;case&quot;x&quot;:a=a.toString(16);break;case&quot;X&quot;:a=a.toString(16).toUpperCase()}i.json.test(l[8])?m[m.length]=a:(!i.number.test(l[8])||g&amp;&amp;!l[3]?v=&quot;&quot;:(v=g?&quot;+&quot;:&quot;-&quot;,a=a.toString().replace(i.sign,&quot;&quot;)),u=l[4]?&quot;0&quot;===l[4]?&quot;0&quot;:l[4].charAt(1):&quot; &quot;,f=l[6]-(v+a).length,c=l[6]&amp;&amp;f&gt;0?function(t,e){return Array(e+1).join(t)}(u,f):&quot;&quot;,m[m.length]=l[5]?v+a+c:&quot;0&quot;===u?v+c+a:c+v+a)}return m.join(&quot;&quot;)},e.cache={},e.parse=function(t){for(var e=t,r=[],n=[],a=0;e;){if(null!==(r=i.text.exec(e)))n[n.length]=r[0];else if(null!==(r=i.modulo.exec(e)))n[n.length]=&quot;%&quot;;else{if(null===(r=i.placeholder.exec(e)))throw new SyntaxError(&quot;[sprintf] unexpected placeholder&quot;);if(r[2]){a|=1;var o=[],s=r[2],l=[];if(null===(l=i.key.exec(s)))throw new SyntaxError(&quot;[sprintf] failed to parse named argument key&quot;);for(o[o.length]=l[1];&quot;&quot;!==(s=s.substring(l[0].length));)if(null!==(l=i.key_access.exec(s)))o[o.length]=l[1];else{if(null===(l=i.index_access.exec(s)))throw new SyntaxError(&quot;[sprintf] failed to parse named argument key&quot;);o[o.length]=l[1]}r[2]=o}else a|=2;if(3===a)throw new Error(&quot;[sprintf] mixing positional and named placeholders is not (yet) supported&quot;);n[n.length]=r}e=e.substring(r[0].length)}return n};var a=function(t,r,n){return(n=(r||[]).slice(0)).splice(0,0,t),e.apply(null,n)};void 0!==r?(r.sprintf=e,r.vsprintf=a):(t.sprintf=e,t.vsprintf=a)}(&quot;undefined&quot;==typeof window?this:window)},{}],537:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t){function e(e){var r=[e],c=[e];for(n[e]=i[e]=u,a[e]=!0,u+=1;c.length&gt;0;){e=c[c.length-1];var d=t[e];if(o[e]&lt;d.length){for(var p=o[e];p&lt;d.length;++p){var m=d[p];if(n[m]&lt;0){n[m]=i[m]=u,a[m]=!0,u+=1,r.push(m),c.push(m);break}a[m]&amp;&amp;(i[e]=0|Math.min(i[e],i[m])),s[m]&gt;=0&amp;&amp;l[e].push(s[m])}o[e]=p}else{if(i[e]===n[e]){var g=[],v=[],y=0;for(p=r.length-1;p&gt;=0;--p){var x=r[p];if(a[x]=!1,g.push(x),v.push(l[x]),y+=l[x].length,s[x]=f.length,x===e){r.length=p;break}}f.push(g);var b=new Array(y);for(p=0;p&lt;v.length;p++)for(var _=0;_&lt;v[p].length;_++)b[--y]=v[p][_];h.push(b)}c.pop()}}}for(var r=t.length,n=new Array(r),i=new Array(r),a=new Array(r),o=new Array(r),s=new Array(r),l=new Array(r),c=0;c&lt;r;++c)n[c]=-1,i[c]=0,a[c]=!1,o[c]=0,s[c]=-1,l[c]=[];var u=0,f=[],h=[];for(c=0;c&lt;r;++c)n[c]&lt;0&amp;&amp;e(c);var d;for(c=0;c&lt;h.length;c++){var p=h[c];if(0!==p.length){p.sort(function(t,e){return t-e}),d=[p[0]];for(var m=1;m&lt;p.length;m++)p[m]!==p[m-1]&amp;&amp;d.push(p[m]);h[c]=d}}return{components:f,adjacencyList:h}}},{}],538:[function(t,e,r){&quot;use strict&quot;;function n(t){this.options=c(Object.create(this.options),t),this.trees=new Array(this.options.maxZoom+1)}function i(t,e){var r=t.geometry.coordinates;return{x:s(r[0]),y:l(r[1]),zoom:1/0,id:e,parentId:-1}}function a(t){return{type:&quot;Feature&quot;,properties:o(t),geometry:{type:&quot;Point&quot;,coordinates:[function(t){return 360*(t-.5)}(t.x),function(t){var e=(180-360*t)*Math.PI/180;return 360*Math.atan(Math.exp(e))/Math.PI-90}(t.y)]}}}function o(t){var e=t.numPoints,r=e&gt;=1e4?Math.round(e/1e3)+&quot;k&quot;:e&gt;=1e3?Math.round(e/100)/10+&quot;k&quot;:e;return c(c({},t.properties),{cluster:!0,cluster_id:t.id,point_count:e,point_count_abbreviated:r})}function s(t){return t/360+.5}function l(t){var e=Math.sin(t*Math.PI/180),r=.5-.25*Math.log((1+e)/(1-e))/Math.PI;return r&lt;0?0:r&gt;1?1:r}function c(t,e){for(var r in e)t[r]=e[r];return t}function u(t){return t.x}function f(t){return t.y}var h=t(&quot;kdbush&quot;);e.exports=function(t){return new n(t)},n.prototype={options:{minZoom:0,maxZoom:16,radius:40,extent:512,nodeSize:64,log:!1,reduce:null,initial:function(){return{}},map:function(t){return t}},load:function(t){var e=this.options.log;e&amp;&amp;console.time(&quot;total time&quot;);var r=&quot;prepare &quot;+t.length+&quot; points&quot;;e&amp;&amp;console.time(r),this.points=t;var n=t.map(i);e&amp;&amp;console.timeEnd(r);for(var a=this.options.maxZoom;a&gt;=this.options.minZoom;a--){var o=+Date.now();this.trees[a+1]=h(n,u,f,this.options.nodeSize,Float32Array),n=this._cluster(n,a),e&amp;&amp;console.log(&quot;z%d: %d clusters in %dms&quot;,a,n.length,+Date.now()-o)}return this.trees[this.options.minZoom]=h(n,u,f,this.options.nodeSize,Float32Array),e&amp;&amp;console.timeEnd(&quot;total time&quot;),this},getClusters:function(t,e){for(var r=this.trees[this._limitZoom(e)],n=r.range(s(t[0]),l(t[3]),s(t[2]),l(t[1])),i=[],o=0;o&lt;n.length;o++){var c=r.points[n[o]];i.push(c.numPoints?a(c):this.points[c.id])}return i},getChildren:function(t,e){for(var r=this.trees[e+1].points[t],n=this.options.radius/(this.options.extent*Math.pow(2,e)),i=this.trees[e+1].within(r.x,r.y,n),o=[],s=0;s&lt;i.length;s++){var l=this.trees[e+1].points[i[s]];l.parentId===t&amp;&amp;o.push(l.numPoints?a(l):this.points[l.id])}return o},getLeaves:function(t,e,r,n){r=r||10,n=n||0;var i=[];return this._appendLeaves(i,t,e,r,n,0),i},getTile:function(t,e,r){var n=this.trees[this._limitZoom(t)],i=Math.pow(2,t),a=this.options.extent,o=this.options.radius/a,s=(r-o)/i,l=(r+1+o)/i,c={features:[]};return this._addTileFeatures(n.range((e-o)/i,s,(e+1+o)/i,l),n.points,e,r,i,c),0===e&amp;&amp;this._addTileFeatures(n.range(1-o/i,s,1,l),n.points,i,r,i,c),e===i-1&amp;&amp;this._addTileFeatures(n.range(0,s,o/i,l),n.points,-1,r,i,c),c.features.length?c:null},getClusterExpansionZoom:function(t,e){for(;e&lt;this.options.maxZoom;){var r=this.getChildren(t,e);if(e++,1!==r.length)break;t=r[0].properties.cluster_id}return e},_appendLeaves:function(t,e,r,n,i,a){for(var o=this.getChildren(e,r),s=0;s&lt;o.length;s++){var l=o[s].properties;if(l.cluster?a+l.point_count&lt;=i?a+=l.point_count:a=this._appendLeaves(t,l.cluster_id,r+1,n,i,a):a&lt;i?a++:t.push(o[s]),t.length===n)break}return a},_addTileFeatures:function(t,e,r,n,i,a){for(var s=0;s&lt;t.length;s++){var l=e[t[s]];a.features.push({type:1,geometry:[[Math.round(this.options.extent*(l.x*i-r)),Math.round(this.options.extent*(l.y*i-n))]],tags:l.numPoints?o(l):this.points[l.id].properties})}},_limitZoom:function(t){return Math.max(this.options.minZoom,Math.min(t,this.options.maxZoom+1))},_cluster:function(t,e){for(var r=[],n=this.options.radius/(this.options.extent*Math.pow(2,e)),i=0;i&lt;t.length;i++){var a=t[i];if(!(a.zoom&lt;=e)){a.zoom=e;var o=this.trees[e+1],s=o.within(a.x,a.y,n),l=a.numPoints||1,c=a.x*l,u=a.y*l,f=null;this.options.reduce&amp;&amp;(f=this.options.initial(),this._accumulate(f,a));for(var h=0;h&lt;s.length;h++){var d=o.points[s[h]];if(e&lt;d.zoom){var p=d.numPoints||1;d.zoom=e,c+=d.x*p,u+=d.y*p,l+=p,d.parentId=i,this.options.reduce&amp;&amp;this._accumulate(f,d)}}1===l?r.push(a):(a.parentId=i,r.push(function(t,e,r,n,i){return{x:t,y:e,zoom:1/0,id:n,properties:i,parentId:-1,numPoints:r}}(c/l,u/l,l,i,f)))}}return r},_accumulate:function(t,e){var r=e.numPoints?e.properties:this.options.map(this.points[e.id].properties);this.options.reduce(t,r)}}},{kdbush:288}],539:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t){return t.split(&quot;&quot;).map(function(t){return t in n?n[t]:&quot;&quot;}).join(&quot;&quot;)};var n={&quot; &quot;:&quot; &quot;,0:&quot;\u2070&quot;,1:&quot;\xb9&quot;,2:&quot;\xb2&quot;,3:&quot;\xb3&quot;,4:&quot;\u2074&quot;,5:&quot;\u2075&quot;,6:&quot;\u2076&quot;,7:&quot;\u2077&quot;,8:&quot;\u2078&quot;,9:&quot;\u2079&quot;,&quot;+&quot;:&quot;\u207a&quot;,&quot;-&quot;:&quot;\u207b&quot;,a:&quot;\u1d43&quot;,b:&quot;\u1d47&quot;,c:&quot;\u1d9c&quot;,d:&quot;\u1d48&quot;,e:&quot;\u1d49&quot;,f:&quot;\u1da0&quot;,g:&quot;\u1d4d&quot;,h:&quot;\u02b0&quot;,i:&quot;\u2071&quot;,j:&quot;\u02b2&quot;,k:&quot;\u1d4f&quot;,l:&quot;\u02e1&quot;,m:&quot;\u1d50&quot;,n:&quot;\u207f&quot;,o:&quot;\u1d52&quot;,p:&quot;\u1d56&quot;,r:&quot;\u02b3&quot;,s:&quot;\u02e2&quot;,t:&quot;\u1d57&quot;,u:&quot;\u1d58&quot;,v:&quot;\u1d5b&quot;,w:&quot;\u02b7&quot;,x:&quot;\u02e3&quot;,y:&quot;\u02b8&quot;,z:&quot;\u1dbb&quot;}},{}],540:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t,e){if(t.dimension&lt;=0)return{positions:[],cells:[]};if(1===t.dimension)return function(t,e){for(var r=a(t,e),n=r.length,i=new Array(n),o=new Array(n),s=0;s&lt;n;++s)i[s]=[r[s]],o[s]=[s];return{positions:i,cells:o}}(t,e);var r=t.order.join()+&quot;-&quot;+t.dtype,s=o[r];return e=+e||0,s||(s=o[r]=function(t,e){var r=t.length,a=[&quot;'use strict';&quot;],o=&quot;surfaceNets&quot;+t.join(&quot;_&quot;)+&quot;d&quot;+e;a.push(&quot;var contour=genContour({&quot;,&quot;order:[&quot;,t.join(),&quot;],&quot;,&quot;scalarArguments: 3,&quot;,&quot;phase:function phaseFunc(p,a,b,c) { return (p &gt; c)|0 },&quot;),&quot;generic&quot;===e&amp;&amp;a.push(&quot;getters:[0],&quot;);for(var s=[],l=[],c=0;c&lt;r;++c)s.push(&quot;d&quot;+c),l.push(&quot;d&quot;+c);for(c=0;c&lt;1&lt;&lt;r;++c)s.push(&quot;v&quot;+c),l.push(&quot;v&quot;+c);for(c=0;c&lt;1&lt;&lt;r;++c)s.push(&quot;p&quot;+c),l.push(&quot;p&quot;+c);s.push(&quot;a&quot;,&quot;b&quot;,&quot;c&quot;),l.push(&quot;a&quot;,&quot;c&quot;),a.push(&quot;vertex:function vertexFunc(&quot;,s.join(),&quot;){&quot;);var u=[];for(c=0;c&lt;1&lt;&lt;r;++c)u.push(&quot;(p&quot;+c+&quot;&lt;&lt;&quot;+c+&quot;)&quot;);a.push(&quot;var m=(&quot;,u.join(&quot;+&quot;),&quot;)|0;if(m===0||m===&quot;,(1&lt;&lt;(1&lt;&lt;r))-1,&quot;){return}&quot;);var f=[],h=[];for(1&lt;&lt;(1&lt;&lt;r)&lt;=128?(a.push(&quot;switch(m){&quot;),h=a):a.push(&quot;switch(m&gt;&gt;&gt;7){&quot;),c=0;c&lt;1&lt;&lt;(1&lt;&lt;r);++c){if(1&lt;&lt;(1&lt;&lt;r)&gt;128&amp;&amp;c%128==0){f.length&gt;0&amp;&amp;h.push(&quot;}}&quot;);var d=&quot;vExtra&quot;+f.length;a.push(&quot;case &quot;,c&gt;&gt;&gt;7,&quot;:&quot;,d,&quot;(m&amp;0x7f,&quot;,l.join(),&quot;);break;&quot;),h=[&quot;function &quot;,d,&quot;(m,&quot;,l.join(),&quot;){switch(m){&quot;],f.push(h)}h.push(&quot;case &quot;,127&amp;c,&quot;:&quot;);for(var p=new Array(r),m=new Array(r),g=new Array(r),v=new Array(r),y=0,x=0;x&lt;r;++x)p[x]=[],m[x]=[],g[x]=0,v[x]=0;for(x=0;x&lt;1&lt;&lt;r;++x)for(var b=0;b&lt;r;++b){var _=x^1&lt;&lt;b;if(!(_&gt;x)&amp;&amp;!(c&amp;1&lt;&lt;_)!=!(c&amp;1&lt;&lt;x)){var w=1;c&amp;1&lt;&lt;_?m[b].push(&quot;v&quot;+_+&quot;-v&quot;+x):(m[b].push(&quot;v&quot;+x+&quot;-v&quot;+_),w=-w),w&lt;0?(p[b].push(&quot;-v&quot;+x+&quot;-v&quot;+_),g[b]+=2):(p[b].push(&quot;v&quot;+x+&quot;+v&quot;+_),g[b]-=2),y+=1;for(var M=0;M&lt;r;++M)M!==b&amp;&amp;(_&amp;1&lt;&lt;M?v[M]+=1:v[M]-=1)}}var k=[];for(b=0;b&lt;r;++b)if(0===p[b].length)k.push(&quot;d&quot;+b+&quot;-0.5&quot;);else{var A=&quot;&quot;;g[b]&lt;0?A=g[b]+&quot;*c&quot;:g[b]&gt;0&amp;&amp;(A=&quot;+&quot;+g[b]+&quot;*c&quot;);var T=p[b].length/y*.5,S=.5+v[b]/y*.5;k.push(&quot;d&quot;+b+&quot;-&quot;+S+&quot;-&quot;+T+&quot;*(&quot;+p[b].join(&quot;+&quot;)+A+&quot;)/(&quot;+m[b].join(&quot;+&quot;)+&quot;)&quot;)}h.push(&quot;a.push([&quot;,k.join(),&quot;]);&quot;,&quot;break;&quot;)}a.push(&quot;}},&quot;),f.length&gt;0&amp;&amp;h.push(&quot;}}&quot;);var E=[];for(c=0;c&lt;1&lt;&lt;r-1;++c)E.push(&quot;v&quot;+c);E.push(&quot;c0&quot;,&quot;c1&quot;,&quot;p0&quot;,&quot;p1&quot;,&quot;a&quot;,&quot;b&quot;,&quot;c&quot;),a.push(&quot;cell:function cellFunc(&quot;,E.join(),&quot;){&quot;);var L=i(r-1);for(a.push(&quot;if(p0){b.push(&quot;,L.map(function(t){return&quot;[&quot;+t.map(function(t){return&quot;v&quot;+t})+&quot;]&quot;}).join(),&quot;)}else{b.push(&quot;,L.map(function(t){var e=t.slice();return e.reverse(),&quot;[&quot;+e.map(function(t){return&quot;v&quot;+t})+&quot;]&quot;}).join(),&quot;)}}});function &quot;,o,&quot;(array,level){var verts=[],cells=[];contour(array,verts,cells,level);return {positions:verts,cells:cells};} return &quot;,o,&quot;;&quot;),c=0;c&lt;f.length;++c)a.push(f[c].join(&quot;&quot;));return new Function(&quot;genContour&quot;,a.join(&quot;&quot;))(n)}(t.order,t.dtype)),s(t,e)};var n=t(&quot;ndarray-extract-contour&quot;),i=t(&quot;triangulate-hypercube&quot;),a=t(&quot;zero-crossings&quot;),o={}},{&quot;ndarray-extract-contour&quot;:447,&quot;triangulate-hypercube&quot;:550,&quot;zero-crossings&quot;:598}],541:[function(t,e,r){&quot;use strict&quot;;Object.defineProperty(r,&quot;__esModule&quot;,{value:!0});var n=function(){return 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)&amp;&amp;(r.push(o.value),!e||r.length!==e);n=!0);}catch(t){i=!0,a=t}finally{try{!n&amp;&amp;s.return&amp;&amp;s.return()}finally{if(i)throw a}}return r}(t,e);throw new TypeError(&quot;Invalid attempt to destructure non-iterable instance&quot;)}}(),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=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*n-e*r&lt;0?-1:1,a=(t*r+e*n)/(Math.sqrt(t*t+e*e)*Math.sqrt(t*t+e*e));return a&gt;1&amp;&amp;(a=1),a&lt;-1&amp;&amp;(a=-1),i*Math.acos(a)};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,d=void 0===h?0:h,p=t.largeArcFlag,m=void 0===p?0:p,g=t.sweepFlag,v=void 0===g?0:g,y=[];if(0===u||0===f)return[];var x=Math.sin(d*i/360),b=Math.cos(d*i/360),_=b*(e-l)/2+x*(r-c)/2,w=-x*(e-l)/2+b*(r-c)/2;if(0===_&amp;&amp;0===w)return[];u=Math.abs(u),f=Math.abs(f);var M=Math.pow(_,2)/Math.pow(u,2)+Math.pow(w,2)/Math.pow(f,2);M&gt;1&amp;&amp;(u*=Math.sqrt(M),f*=Math.sqrt(M));var k=function(t,e,r,n,a,o,l,c,u,f,h,d){var p=Math.pow(a,2),m=Math.pow(o,2),g=Math.pow(h,2),v=Math.pow(d,2),y=p*m-p*v-m*g;y&lt;0&amp;&amp;(y=0),y/=p*v+m*g;var x=(y=Math.sqrt(y)*(l===c?-1:1))*a/o*d,b=y*-o/a*h,_=f*x-u*b+(t+r)/2,w=u*x+f*b+(e+n)/2,M=(h-x)/a,k=(d-b)/o,A=(-h-x)/a,T=(-d-b)/o,S=s(1,0,M,k),E=s(M,k,A,T);return 0===c&amp;&amp;E&gt;0&amp;&amp;(E-=i),1===c&amp;&amp;E&lt;0&amp;&amp;(E+=i),[_,w,S,E]}(e,r,l,c,u,f,m,v,x,b,_,w),A=n(k,4),T=A[0],S=A[1],E=A[2],L=A[3],C=Math.max(Math.ceil(Math.abs(L)/(i/4)),1);L/=C;for(var z=0;z&lt;C;z++)y.push(o(E,L)),E+=L;return y.map(function(t){var e=a(t[0],u,f,b,x,T,S),r=e.x,n=e.y,i=a(t[1],u,f,b,x,T,S),o=i.x,s=i.y,l=a(t[2],u,f,b,x,T,S);return{x1:r,y1:n,x2:o,y2:s,x:l.x,y:l.y}})},e.exports=r.default},{}],542:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;parse-svg-path&quot;),i=t(&quot;abs-svg-path&quot;),a=t(&quot;normalize-svg-path&quot;),o=t(&quot;is-svg-path&quot;),s=t(&quot;assert&quot;);e.exports=function(t){if(Array.isArray(t)&amp;&amp;1===t.length&amp;&amp;&quot;string&quot;==typeof t[0]&amp;&amp;(t=t[0]),&quot;string&quot;==typeof t&amp;&amp;(s(o(t),&quot;String is not an SVG path.&quot;),t=n(t)),s(Array.isArray(t),&quot;Argument should be a string or an array of path segments.&quot;),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&lt;l;r++)for(var c=t[r].slice(1),u=0;u&lt;c.length;u+=2)c[u+0]&lt;e[0]&amp;&amp;(e[0]=c[u+0]),c[u+1]&lt;e[1]&amp;&amp;(e[1]=c[u+1]),c[u+0]&gt;e[2]&amp;&amp;(e[2]=c[u+0]),c[u+1]&gt;e[3]&amp;&amp;(e[3]=c[u+1]);return e}},{&quot;abs-svg-path&quot;:43,assert:51,&quot;is-svg-path&quot;:287,&quot;normalize-svg-path&quot;:543,&quot;parse-svg-path&quot;:466}],543:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,n){return[&quot;C&quot;,t,e,r,n,r,n]}function i(t,e,r,n,i,a){return[&quot;C&quot;,t/3+2/3*r,e/3+2/3*n,i/3+2/3*r,a/3+2/3*n,i,a]}e.exports=function(t){for(var e,r=[],o=0,s=0,l=0,c=0,u=null,f=null,h=0,d=0,p=0,m=t.length;p&lt;m;p++){var g=t[p],v=g[0];switch(v){case&quot;M&quot;:l=g[1],c=g[2];break;case&quot;A&quot;:var y=a({px:h,py:d,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&lt;y.length;b++)g=[&quot;C&quot;,(x=y[b]).x1,x.y1,x.x2,x.y2,x.x,x.y],b&lt;y.length-1&amp;&amp;r.push(g);break;case&quot;S&quot;:var _=h,w=d;&quot;C&quot;!=e&amp;&amp;&quot;S&quot;!=e||(_+=_-o,w+=w-s),g=[&quot;C&quot;,_,w,g[1],g[2],g[3],g[4]];break;case&quot;T&quot;:&quot;Q&quot;==e||&quot;T&quot;==e?(u=2*h-u,f=2*d-f):(u=h,f=d),g=i(h,d,u,f,g[1],g[2]);break;case&quot;Q&quot;:u=g[1],f=g[2],g=i(h,d,g[1],g[2],g[3],g[4]);break;case&quot;L&quot;:g=n(h,d,g[1],g[2]);break;case&quot;H&quot;:g=n(h,d,g[1],d);break;case&quot;V&quot;:g=n(h,d,h,g[1]);break;case&quot;Z&quot;:g=n(h,d,l,c)}e=v,h=g[g.length-2],d=g[g.length-1],g.length&gt;4?(o=g[g.length-4],s=g[g.length-3]):(o=h,s=d),r.push(g)}return r};var a=t(&quot;svg-arc-to-cubic-bezier&quot;)},{&quot;svg-arc-to-cubic-bezier&quot;:541}],544:[function(t,e,r){(function(r){&quot;use strict&quot;;var n=t(&quot;svg-path-bounds&quot;),i=t(&quot;parse-svg-path&quot;),a=t(&quot;draw-svg-path&quot;),o=t(&quot;is-svg-path&quot;),s=t(&quot;bitmap-sdf&quot;),l=document.createElement(&quot;canvas&quot;),c=l.getContext(&quot;2d&quot;);e.exports=function(t,e){if(!o(t))throw Error(&quot;Argument should be valid svg path string&quot;);e||(e={});var u,f;e.shape?(u=e.shape[0],f=e.shape[1]):(u=l.width=e.w||e.width||200,f=l.height=e.h||e.height||200);var h=Math.min(u,f),d=e.stroke||0,p=e.viewbox||e.viewBox||n(t),m=[u/(p[2]-p[0]),f/(p[3]-p[1])],g=Math.min(m[0]||0,m[1]||0)/2;if(c.fillStyle=&quot;black&quot;,c.fillRect(0,0,u,f),c.fillStyle=&quot;white&quot;,d&amp;&amp;(&quot;number&quot;!=typeof d&amp;&amp;(d=1),c.strokeStyle=d&gt;0?&quot;white&quot;:&quot;black&quot;,c.lineWidth=Math.abs(d)),c.translate(.5*u,.5*f),c.scale(g,g),r.Path2D){var v=new Path2D(t);c.fill(v),d&amp;&amp;c.stroke(v)}else{var y=i(t);a(c,y),c.fill(),d&amp;&amp;c.stroke()}return c.setTransform(1,0,0,1,0,0),s(c,{cutoff:null!=e.cutoff?e.cutoff:.5,radius:null!=e.radius?e.radius:.5*h})}}).call(this,&quot;undefined&quot;!=typeof global?global:&quot;undefined&quot;!=typeof self?self:&quot;undefined&quot;!=typeof window?window:{})},{&quot;bitmap-sdf&quot;:72,&quot;draw-svg-path&quot;:132,&quot;is-svg-path&quot;:287,&quot;parse-svg-path&quot;:466,&quot;svg-path-bounds&quot;:542}],545:[function(t,e,r){(function(r){&quot;use strict&quot;;function n(t,e,r){r=r||{};var a=o[t];a||(a=o[t]={&quot; &quot;:{data:new Float32Array(0),shape:.2}});var s=a[e];if(!s)if(e.length&lt;=1||!/\d/.test(e))s=a[e]=function(t){for(var e=t.cells,r=t.positions,n=new Float32Array(6*e.length),i=0,a=0,o=0;o&lt;e.length;++o)for(var s=e[o],l=0;l&lt;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}}(i(e,{triangles:!0,font:t,textAlign:r.textAlign||&quot;left&quot;,textBaseline:&quot;alphabetic&quot;}));else{for(var l=e.split(/(\d|\s)/),c=new Array(l.length),u=0,f=0,h=0;h&lt;l.length;++h)c[h]=n(t,l[h]),u+=c[h].data.length,f+=c[h].shape,h&gt;0&amp;&amp;(f+=.02);var d=new Float32Array(u),p=0,m=-.5*f;for(h=0;h&lt;c.length;++h){for(var g=c[h].data,v=0;v&lt;g.length;v+=2)d[p++]=g[v]+m,d[p++]=g[v+1];m+=c[h].shape+.02}s=a[e]={data:d,shape:f}}return s}e.exports=n;var i=t(&quot;vectorize-text&quot;),a=window||r.global||{},o=a.__TEXT_CACHE||{};a.__TEXT_CACHE={}}).call(this,t(&quot;_process&quot;))},{_process:488,&quot;vectorize-text&quot;:568}],546:[function(t,e,r){!function(t){function r(e,n){if(e=e||&quot;&quot;,n=n||{},e instanceof r)return e;if(!(this instanceof r))return new r(e,n);var i=function(e){var r={r:0,g:0,b:0},n=1,i=null,a=null,o=null,s=!1,l=!1;&quot;string&quot;==typeof e&amp;&amp;(e=function(t){t=t.replace(L,&quot;&quot;).replace(C,&quot;&quot;).toLowerCase();var e=!1;if(F[t])t=F[t],e=!0;else if(&quot;transparent&quot;==t)return{r:0,g:0,b:0,a:0,format:&quot;name&quot;};var r;if(r=N.rgb.exec(t))return{r:r[1],g:r[2],b:r[3]};if(r=N.rgba.exec(t))return{r:r[1],g:r[2],b:r[3],a:r[4]};if(r=N.hsl.exec(t))return{h:r[1],s:r[2],l:r[3]};if(r=N.hsla.exec(t))return{h:r[1],s:r[2],l:r[3],a:r[4]};if(r=N.hsv.exec(t))return{h:r[1],s:r[2],v:r[3]};if(r=N.hsva.exec(t))return{h:r[1],s:r[2],v:r[3],a:r[4]};if(r=N.hex8.exec(t))return{r:M(r[1]),g:M(r[2]),b:M(r[3]),a:S(r[4]),format:e?&quot;name&quot;:&quot;hex8&quot;};if(r=N.hex6.exec(t))return{r:M(r[1]),g:M(r[2]),b:M(r[3]),format:e?&quot;name&quot;:&quot;hex&quot;};if(r=N.hex4.exec(t))return{r:M(r[1]+&quot;&quot;+r[1]),g:M(r[2]+&quot;&quot;+r[2]),b:M(r[3]+&quot;&quot;+r[3]),a:S(r[4]+&quot;&quot;+r[4]),format:e?&quot;name&quot;:&quot;hex8&quot;};if(r=N.hex3.exec(t))return{r:M(r[1]+&quot;&quot;+r[1]),g:M(r[2]+&quot;&quot;+r[2]),b:M(r[3]+&quot;&quot;+r[3]),format:e?&quot;name&quot;:&quot;hex&quot;};return!1}(e));&quot;object&quot;==typeof e&amp;&amp;(E(e.r)&amp;&amp;E(e.g)&amp;&amp;E(e.b)?(r=function(t,e,r){return{r:255*_(t,255),g:255*_(e,255),b:255*_(r,255)}}(e.r,e.g,e.b),s=!0,l=&quot;%&quot;===String(e.r).substr(-1)?&quot;prgb&quot;:&quot;rgb&quot;):E(e.h)&amp;&amp;E(e.s)&amp;&amp;E(e.v)?(i=A(e.s),a=A(e.v),r=function(e,r,n){e=6*_(e,360),r=_(r,100),n=_(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,i,a),s=!0,l=&quot;hsv&quot;):E(e.h)&amp;&amp;E(e.s)&amp;&amp;E(e.l)&amp;&amp;(i=A(e.s),o=A(e.l),r=function(t,e,r){function n(t,e,r){return r&lt;0&amp;&amp;(r+=1),r&gt;1&amp;&amp;(r-=1),r&lt;1/6?t+6*(e-t)*r:r&lt;.5?e:r&lt;2/3?t+(e-t)*(2/3-r)*6:t}var i,a,o;t=_(t,360),e=_(e,100),r=_(r,100);if(0===e)i=a=o=r;else{var s=r&lt;.5?r*(1+e):r+e-r*e,l=2*r-s;i=n(l,s,t+1/3),a=n(l,s,t),o=n(l,s,t-1/3)}return{r:255*i,g:255*a,b:255*o}}(e.h,i,o),s=!0,l=&quot;hsl&quot;),e.hasOwnProperty(&quot;a&quot;)&amp;&amp;(n=e.a));return n=b(n),{ok:s,format:e.format||l,r:I(255,P(r.r,0)),g:I(255,P(r.g,0)),b:I(255,P(r.b,0)),a:n}}(e);this._originalInput=e,this._r=i.r,this._g=i.g,this._b=i.b,this._a=i.a,this._roundA=D(100*this._a)/100,this._format=n.format||i.format,this._gradientType=n.gradientType,this._r&lt;1&amp;&amp;(this._r=D(this._r)),this._g&lt;1&amp;&amp;(this._g=D(this._g)),this._b&lt;1&amp;&amp;(this._b=D(this._b)),this._ok=i.ok,this._tc_id=z++}function n(t,e,r){t=_(t,255),e=_(e,255),r=_(r,255);var n,i,a=P(t,e,r),o=I(t,e,r),s=(a+o)/2;if(a==o)n=i=0;else{var l=a-o;switch(i=s&gt;.5?l/(2-a-o):l/(a+o),a){case t:n=(e-r)/l+(e&lt;r?6:0);break;case e:n=(r-t)/l+2;break;case r:n=(t-e)/l+4}n/=6}return{h:n,s:i,l:s}}function i(t,e,r){t=_(t,255),e=_(e,255),r=_(r,255);var n,i,a=P(t,e,r),o=I(t,e,r),s=a-o;if(i=0===a?0:s/a,a==o)n=0;else{switch(a){case t:n=(e-r)/s+(e&lt;r?6:0);break;case e:n=(r-t)/s+2;break;case r:n=(t-e)/s+4}n/=6}return{h:n,s:i,v:a}}function a(t,e,r,n){var i=[k(D(t).toString(16)),k(D(e).toString(16)),k(D(r).toString(16))];return n&amp;&amp;i[0].charAt(0)==i[0].charAt(1)&amp;&amp;i[1].charAt(0)==i[1].charAt(1)&amp;&amp;i[2].charAt(0)==i[2].charAt(1)?i[0].charAt(0)+i[1].charAt(0)+i[2].charAt(0):i.join(&quot;&quot;)}function o(t,e,r,n){return[k(T(n)),k(D(t).toString(16)),k(D(e).toString(16)),k(D(r).toString(16))].join(&quot;&quot;)}function s(t,e){e=0===e?0:e||10;var n=r(t).toHsl();return n.s-=e/100,n.s=w(n.s),r(n)}function l(t,e){e=0===e?0:e||10;var n=r(t).toHsl();return n.s+=e/100,n.s=w(n.s),r(n)}function c(t){return r(t).desaturate(100)}function u(t,e){e=0===e?0:e||10;var n=r(t).toHsl();return n.l+=e/100,n.l=w(n.l),r(n)}function f(t,e){e=0===e?0:e||10;var n=r(t).toRgb();return n.r=P(0,I(255,n.r-D(-e/100*255))),n.g=P(0,I(255,n.g-D(-e/100*255))),n.b=P(0,I(255,n.b-D(-e/100*255))),r(n)}function h(t,e){e=0===e?0:e||10;var n=r(t).toHsl();return n.l-=e/100,n.l=w(n.l),r(n)}function d(t,e){var n=r(t).toHsl(),i=(n.h+e)%360;return n.h=i&lt;0?360+i:i,r(n)}function p(t){var e=r(t).toHsl();return e.h=(e.h+180)%360,r(e)}function m(t){var e=r(t).toHsl(),n=e.h;return[r(t),r({h:(n+120)%360,s:e.s,l:e.l}),r({h:(n+240)%360,s:e.s,l:e.l})]}function g(t){var e=r(t).toHsl(),n=e.h;return[r(t),r({h:(n+90)%360,s:e.s,l:e.l}),r({h:(n+180)%360,s:e.s,l:e.l}),r({h:(n+270)%360,s:e.s,l:e.l})]}function v(t){var e=r(t).toHsl(),n=e.h;return[r(t),r({h:(n+72)%360,s:e.s,l:e.l}),r({h:(n+216)%360,s:e.s,l:e.l})]}function y(t,e,n){e=e||6,n=n||30;var i=r(t).toHsl(),a=360/n,o=[r(t)];for(i.h=(i.h-(a*e&gt;&gt;1)+720)%360;--e;)i.h=(i.h+a)%360,o.push(r(i));return o}function x(t,e){e=e||6;for(var n=r(t).toHsv(),i=n.h,a=n.s,o=n.v,s=[],l=1/e;e--;)s.push(r({h:i,s:a,v:o})),o=(o+l)%1;return s}function b(t){return t=parseFloat(t),(isNaN(t)||t&lt;0||t&gt;1)&amp;&amp;(t=1),t}function _(e,r){(function(t){return&quot;string&quot;==typeof t&amp;&amp;-1!=t.indexOf(&quot;.&quot;)&amp;&amp;1===parseFloat(t)})(e)&amp;&amp;(e=&quot;100%&quot;);var n=function(t){return&quot;string&quot;==typeof t&amp;&amp;-1!=t.indexOf(&quot;%&quot;)}(e);return e=I(r,P(0,parseFloat(e))),n&amp;&amp;(e=parseInt(e*r,10)/100),t.abs(e-r)&lt;1e-6?1:e%r/parseFloat(r)}function w(t){return I(1,P(0,t))}function M(t){return parseInt(t,16)}function k(t){return 1==t.length?&quot;0&quot;+t:&quot;&quot;+t}function A(t){return t&lt;=1&amp;&amp;(t=100*t+&quot;%&quot;),t}function T(e){return t.round(255*parseFloat(e)).toString(16)}function S(t){return M(t)/255}function E(t){return!!N.CSS_UNIT.exec(t)}var L=/^\s+/,C=/\s+$/,z=0,D=t.round,I=t.min,P=t.max,O=t.random;r.prototype={isDark:function(){return this.getBrightness()&lt;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,a,o,s=this.toRgb();return e=s.r/255,r=s.g/255,n=s.b/255,i=e&lt;=.03928?e/12.92:t.pow((e+.055)/1.055,2.4),a=r&lt;=.03928?r/12.92:t.pow((r+.055)/1.055,2.4),o=n&lt;=.03928?n/12.92:t.pow((n+.055)/1.055,2.4),.2126*i+.7152*a+.0722*o},setAlpha:function(t){return this._a=b(t),this._roundA=D(100*this._a)/100,this},toHsv:function(){var t=i(this._r,this._g,this._b);return{h:360*t.h,s:t.s,v:t.v,a:this._a}},toHsvString:function(){var t=i(this._r,this._g,this._b),e=D(360*t.h),r=D(100*t.s),n=D(100*t.v);return 1==this._a?&quot;hsv(&quot;+e+&quot;, &quot;+r+&quot;%, &quot;+n+&quot;%)&quot;:&quot;hsva(&quot;+e+&quot;, &quot;+r+&quot;%, &quot;+n+&quot;%, &quot;+this._roundA+&quot;)&quot;},toHsl:function(){var t=n(this._r,this._g,this._b);return{h:360*t.h,s:t.s,l:t.l,a:this._a}},toHslString:function(){var t=n(this._r,this._g,this._b),e=D(360*t.h),r=D(100*t.s),i=D(100*t.l);return 1==this._a?&quot;hsl(&quot;+e+&quot;, &quot;+r+&quot;%, &quot;+i+&quot;%)&quot;:&quot;hsla(&quot;+e+&quot;, &quot;+r+&quot;%, &quot;+i+&quot;%, &quot;+this._roundA+&quot;)&quot;},toHex:function(t){return a(this._r,this._g,this._b,t)},toHexString:function(t){return&quot;#&quot;+this.toHex(t)},toHex8:function(t){return function(t,e,r,n,i){var a=[k(D(t).toString(16)),k(D(e).toString(16)),k(D(r).toString(16)),k(T(n))];return i&amp;&amp;a[0].charAt(0)==a[0].charAt(1)&amp;&amp;a[1].charAt(0)==a[1].charAt(1)&amp;&amp;a[2].charAt(0)==a[2].charAt(1)&amp;&amp;a[3].charAt(0)==a[3].charAt(1)?a[0].charAt(0)+a[1].charAt(0)+a[2].charAt(0)+a[3].charAt(0):a.join(&quot;&quot;)}(this._r,this._g,this._b,this._a,t)},toHex8String:function(t){return&quot;#&quot;+this.toHex8(t)},toRgb:function(){return{r:D(this._r),g:D(this._g),b:D(this._b),a:this._a}},toRgbString:function(){return 1==this._a?&quot;rgb(&quot;+D(this._r)+&quot;, &quot;+D(this._g)+&quot;, &quot;+D(this._b)+&quot;)&quot;:&quot;rgba(&quot;+D(this._r)+&quot;, &quot;+D(this._g)+&quot;, &quot;+D(this._b)+&quot;, &quot;+this._roundA+&quot;)&quot;},toPercentageRgb:function(){return{r:D(100*_(this._r,255))+&quot;%&quot;,g:D(100*_(this._g,255))+&quot;%&quot;,b:D(100*_(this._b,255))+&quot;%&quot;,a:this._a}},toPercentageRgbString:function(){return 1==this._a?&quot;rgb(&quot;+D(100*_(this._r,255))+&quot;%, &quot;+D(100*_(this._g,255))+&quot;%, &quot;+D(100*_(this._b,255))+&quot;%)&quot;:&quot;rgba(&quot;+D(100*_(this._r,255))+&quot;%, &quot;+D(100*_(this._g,255))+&quot;%, &quot;+D(100*_(this._b,255))+&quot;%, &quot;+this._roundA+&quot;)&quot;},toName:function(){return 0===this._a?&quot;transparent&quot;:!(this._a&lt;1)&amp;&amp;(R[a(this._r,this._g,this._b,!0)]||!1)},toFilter:function(t){var e=&quot;#&quot;+o(this._r,this._g,this._b,this._a),n=e,i=this._gradientType?&quot;GradientType = 1, &quot;:&quot;&quot;;if(t){var a=r(t);n=&quot;#&quot;+o(a._r,a._g,a._b,a._a)}return&quot;progid:DXImageTransform.Microsoft.gradient(&quot;+i+&quot;startColorstr=&quot;+e+&quot;,endColorstr=&quot;+n+&quot;)&quot;},toString:function(t){var e=!!t;t=t||this._format;var r=!1,n=this._a&lt;1&amp;&amp;this._a&gt;=0;return e||!n||&quot;hex&quot;!==t&amp;&amp;&quot;hex6&quot;!==t&amp;&amp;&quot;hex3&quot;!==t&amp;&amp;&quot;hex4&quot;!==t&amp;&amp;&quot;hex8&quot;!==t&amp;&amp;&quot;name&quot;!==t?(&quot;rgb&quot;===t&amp;&amp;(r=this.toRgbString()),&quot;prgb&quot;===t&amp;&amp;(r=this.toPercentageRgbString()),&quot;hex&quot;!==t&amp;&amp;&quot;hex6&quot;!==t||(r=this.toHexString()),&quot;hex3&quot;===t&amp;&amp;(r=this.toHexString(!0)),&quot;hex4&quot;===t&amp;&amp;(r=this.toHex8String(!0)),&quot;hex8&quot;===t&amp;&amp;(r=this.toHex8String()),&quot;name&quot;===t&amp;&amp;(r=this.toName()),&quot;hsl&quot;===t&amp;&amp;(r=this.toHslString()),&quot;hsv&quot;===t&amp;&amp;(r=this.toHsvString()),r||this.toHexString()):&quot;name&quot;===t&amp;&amp;0===this._a?this.toName():this.toRgbString()},clone:function(){return r(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(u,arguments)},brighten:function(){return this._applyModification(f,arguments)},darken:function(){return this._applyModification(h,arguments)},desaturate:function(){return this._applyModification(s,arguments)},saturate:function(){return this._applyModification(l,arguments)},greyscale:function(){return this._applyModification(c,arguments)},spin:function(){return this._applyModification(d,arguments)},_applyCombination:function(t,e){return t.apply(null,[this].concat([].slice.call(e)))},analogous:function(){return this._applyCombination(y,arguments)},complement:function(){return this._applyCombination(p,arguments)},monochromatic:function(){return this._applyCombination(x,arguments)},splitcomplement:function(){return this._applyCombination(v,arguments)},triad:function(){return this._applyCombination(m,arguments)},tetrad:function(){return this._applyCombination(g,arguments)}},r.fromRatio=function(t,e){if(&quot;object&quot;==typeof t){var n={};for(var i in t)t.hasOwnProperty(i)&amp;&amp;(n[i]=&quot;a&quot;===i?t[i]:A(t[i]));t=n}return r(t,e)},r.equals=function(t,e){return!(!t||!e)&amp;&amp;r(t).toRgbString()==r(e).toRgbString()},r.random=function(){return r.fromRatio({r:O(),g:O(),b:O()})},r.mix=function(t,e,n){n=0===n?0:n||50;var i=r(t).toRgb(),a=r(e).toRgb(),o=n/100;return r({r:(a.r-i.r)*o+i.r,g:(a.g-i.g)*o+i.g,b:(a.b-i.b)*o+i.b,a:(a.a-i.a)*o+i.a})},r.readability=function(e,n){var i=r(e),a=r(n);return(t.max(i.getLuminance(),a.getLuminance())+.05)/(t.min(i.getLuminance(),a.getLuminance())+.05)},r.isReadable=function(t,e,n){var i,a,o=r.readability(t,e);switch(a=!1,(i=function(t){var e,r;return t=t||{level:&quot;AA&quot;,size:&quot;small&quot;},e=(t.level||&quot;AA&quot;).toUpperCase(),r=(t.size||&quot;small&quot;).toLowerCase(),&quot;AA&quot;!==e&amp;&amp;&quot;AAA&quot;!==e&amp;&amp;(e=&quot;AA&quot;),&quot;small&quot;!==r&amp;&amp;&quot;large&quot;!==r&amp;&amp;(r=&quot;small&quot;),{level:e,size:r}}(n)).level+i.size){case&quot;AAsmall&quot;:case&quot;AAAlarge&quot;:a=o&gt;=4.5;break;case&quot;AAlarge&quot;:a=o&gt;=3;break;case&quot;AAAsmall&quot;:a=o&gt;=7}return a},r.mostReadable=function(t,e,n){var i,a,o,s,l=null,c=0;a=(n=n||{}).includeFallbackColors,o=n.level,s=n.size;for(var u=0;u&lt;e.length;u++)(i=r.readability(t,e[u]))&gt;c&amp;&amp;(c=i,l=r(e[u]));return r.isReadable(t,l,{level:o,size:s})||!a?l:(n.includeFallbackColors=!1,r.mostReadable(t,[&quot;#fff&quot;,&quot;#000&quot;],n))};var F=r.names={aliceblue:&quot;f0f8ff&quot;,antiquewhite:&quot;faebd7&quot;,aqua:&quot;0ff&quot;,aquamarine:&quot;7fffd4&quot;,azure:&quot;f0ffff&quot;,beige:&quot;f5f5dc&quot;,bisque:&quot;ffe4c4&quot;,black:&quot;000&quot;,blanchedalmond:&quot;ffebcd&quot;,blue:&quot;00f&quot;,blueviolet:&quot;8a2be2&quot;,brown:&quot;a52a2a&quot;,burlywood:&quot;deb887&quot;,burntsienna:&quot;ea7e5d&quot;,cadetblue:&quot;5f9ea0&quot;,chartreuse:&quot;7fff00&quot;,chocolate:&quot;d2691e&quot;,coral:&quot;ff7f50&quot;,cornflowerblue:&quot;6495ed&quot;,cornsilk:&quot;fff8dc&quot;,crimson:&quot;dc143c&quot;,cyan:&quot;0ff&quot;,darkblue:&quot;00008b&quot;,darkcyan:&quot;008b8b&quot;,darkgoldenrod:&quot;b8860b&quot;,darkgray:&quot;a9a9a9&quot;,darkgreen:&quot;006400&quot;,darkgrey:&quot;a9a9a9&quot;,darkkhaki:&quot;bdb76b&quot;,darkmagenta:&quot;8b008b&quot;,darkolivegreen:&quot;556b2f&quot;,darkorange:&quot;ff8c00&quot;,darkorchid:&quot;9932cc&quot;,darkred:&quot;8b0000&quot;,darksalmon:&quot;e9967a&quot;,darkseagreen:&quot;8fbc8f&quot;,darkslateblue:&quot;483d8b&quot;,darkslategray:&quot;2f4f4f&quot;,darkslategrey:&quot;2f4f4f&quot;,darkturquoise:&quot;00ced1&quot;,darkviolet:&quot;9400d3&quot;,deeppink:&quot;ff1493&quot;,deepskyblue:&quot;00bfff&quot;,dimgray:&quot;696969&quot;,dimgrey:&quot;696969&quot;,dodgerblue:&quot;1e90ff&quot;,firebrick:&quot;b22222&quot;,floralwhite:&quot;fffaf0&quot;,forestgreen:&quot;228b22&quot;,fuchsia:&quot;f0f&quot;,gainsboro:&quot;dcdcdc&quot;,ghostwhite:&quot;f8f8ff&quot;,gold:&quot;ffd700&quot;,goldenrod:&quot;daa520&quot;,gray:&quot;808080&quot;,green:&quot;008000&quot;,greenyellow:&quot;adff2f&quot;,grey:&quot;808080&quot;,honeydew:&quot;f0fff0&quot;,hotpink:&quot;ff69b4&quot;,indianred:&quot;cd5c5c&quot;,indigo:&quot;4b0082&quot;,ivory:&quot;fffff0&quot;,khaki:&quot;f0e68c&quot;,lavender:&quot;e6e6fa&quot;,lavenderblush:&quot;fff0f5&quot;,lawngreen:&quot;7cfc00&quot;,lemonchiffon:&quot;fffacd&quot;,lightblue:&quot;add8e6&quot;,lightcoral:&quot;f08080&quot;,lightcyan:&quot;e0ffff&quot;,lightgoldenrodyellow:&quot;fafad2&quot;,lightgray:&quot;d3d3d3&quot;,lightgreen:&quot;90ee90&quot;,lightgrey:&quot;d3d3d3&quot;,lightpink:&quot;ffb6c1&quot;,lightsalmon:&quot;ffa07a&quot;,lightseagreen:&quot;20b2aa&quot;,lightskyblue:&quot;87cefa&quot;,lightslategray:&quot;789&quot;,lightslategrey:&quot;789&quot;,lightsteelblue:&quot;b0c4de&quot;,lightyellow:&quot;ffffe0&quot;,lime:&quot;0f0&quot;,limegreen:&quot;32cd32&quot;,linen:&quot;faf0e6&quot;,magenta:&quot;f0f&quot;,maroon:&quot;800000&quot;,mediumaquamarine:&quot;66cdaa&quot;,mediumblue:&quot;0000cd&quot;,mediumorchid:&quot;ba55d3&quot;,mediumpurple:&quot;9370db&quot;,mediumseagreen:&quot;3cb371&quot;,mediumslateblue:&quot;7b68ee&quot;,mediumspringgreen:&quot;00fa9a&quot;,mediumturquoise:&quot;48d1cc&quot;,mediumvioletred:&quot;c71585&quot;,midnightblue:&quot;191970&quot;,mintcream:&quot;f5fffa&quot;,mistyrose:&quot;ffe4e1&quot;,moccasin:&quot;ffe4b5&quot;,navajowhite:&quot;ffdead&quot;,navy:&quot;000080&quot;,oldlace:&quot;fdf5e6&quot;,olive:&quot;808000&quot;,olivedrab:&quot;6b8e23&quot;,orange:&quot;ffa500&quot;,orangered:&quot;ff4500&quot;,orchid:&quot;da70d6&quot;,palegoldenrod:&quot;eee8aa&quot;,palegreen:&quot;98fb98&quot;,paleturquoise:&quot;afeeee&quot;,palevioletred:&quot;db7093&quot;,papayawhip:&quot;ffefd5&quot;,peachpuff:&quot;ffdab9&quot;,peru:&quot;cd853f&quot;,pink:&quot;ffc0cb&quot;,plum:&quot;dda0dd&quot;,powderblue:&quot;b0e0e6&quot;,purple:&quot;800080&quot;,rebeccapurple:&quot;663399&quot;,red:&quot;f00&quot;,rosybrown:&quot;bc8f8f&quot;,royalblue:&quot;4169e1&quot;,saddlebrown:&quot;8b4513&quot;,salmon:&quot;fa8072&quot;,sandybrown:&quot;f4a460&quot;,seagreen:&quot;2e8b57&quot;,seashell:&quot;fff5ee&quot;,sienna:&quot;a0522d&quot;,silver:&quot;c0c0c0&quot;,skyblue:&quot;87ceeb&quot;,slateblue:&quot;6a5acd&quot;,slategray:&quot;708090&quot;,slategrey:&quot;708090&quot;,snow:&quot;fffafa&quot;,springgreen:&quot;00ff7f&quot;,steelblue:&quot;4682b4&quot;,tan:&quot;d2b48c&quot;,teal:&quot;008080&quot;,thistle:&quot;d8bfd8&quot;,tomato:&quot;ff6347&quot;,turquoise:&quot;40e0d0&quot;,violet:&quot;ee82ee&quot;,wheat:&quot;f5deb3&quot;,white:&quot;fff&quot;,whitesmoke:&quot;f5f5f5&quot;,yellow:&quot;ff0&quot;,yellowgreen:&quot;9acd32&quot;},R=r.hexNames=function(t){var e={};for(var r in t)t.hasOwnProperty(r)&amp;&amp;(e[t[r]]=r);return e}(F),N=function(){var t=&quot;(?:[-\\+]?\\d*\\.\\d+%?)|(?:[-\\+]?\\d+%?)&quot;,e=&quot;[\\s|\\(]+(&quot;+t+&quot;)[,|\\s]+(&quot;+t+&quot;)[,|\\s]+(&quot;+t+&quot;)\\s*\\)?&quot;,r=&quot;[\\s|\\(]+(&quot;+t+&quot;)[,|\\s]+(&quot;+t+&quot;)[,|\\s]+(&quot;+t+&quot;)[,|\\s]+(&quot;+t+&quot;)\\s*\\)?&quot;;return{CSS_UNIT:new RegExp(t),rgb:new RegExp(&quot;rgb&quot;+e),rgba:new RegExp(&quot;rgba&quot;+r),hsl:new RegExp(&quot;hsl&quot;+e),hsla:new RegExp(&quot;hsla&quot;+r),hsv:new RegExp(&quot;hsv&quot;+e),hsva:new RegExp(&quot;hsva&quot;+r),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})$/}}();void 0!==e&amp;&amp;e.exports?e.exports=r:window.tinycolor=r}(Math)},{}],547:[function(t,e,r){&quot;use strict&quot;;function n(t){if(t instanceof Float32Array)return t;if(&quot;number&quot;==typeof t)return new Float32Array([t])[0];var e=new Float32Array(t);return e.set(t),e}e.exports=n,e.exports.float32=e.exports.float=n,e.exports.fract32=e.exports.fract=function(t){if(&quot;number&quot;==typeof t)return n(t-n(t));for(var e=n(t),r=0,i=e.length;r&lt;i;r++)e[r]=t[r]-e[r];return e}},{}],548:[function(t,e,r){&quot;use strict&quot;;function n(t,e){var r=a(getComputedStyle(t).getPropertyValue(e));return r[0]*i(r[1],t)}function i(t,e){switch(e=e||document.body,t=(t||&quot;px&quot;).trim().toLowerCase(),e!==window&amp;&amp;e!==document||(e=document.body),t){case&quot;%&quot;:return e.clientHeight/100;case&quot;ch&quot;:case&quot;ex&quot;:return function(t,e){var r=document.createElement(&quot;div&quot;);r.style[&quot;font-size&quot;]=&quot;128&quot;+t,e.appendChild(r);var i=n(r,&quot;font-size&quot;)/128;return e.removeChild(r),i}(t,e);case&quot;em&quot;:return n(e,&quot;font-size&quot;);case&quot;rem&quot;:return n(document.body,&quot;font-size&quot;);case&quot;vw&quot;:return window.innerWidth/100;case&quot;vh&quot;:return window.innerHeight/100;case&quot;vmin&quot;:return Math.min(window.innerWidth,window.innerHeight)/100;case&quot;vmax&quot;:return Math.max(window.innerWidth,window.innerHeight)/100;case&quot;in&quot;:return o;case&quot;cm&quot;:return o/2.54;case&quot;mm&quot;:return o/25.4;case&quot;pt&quot;:return o/72;case&quot;pc&quot;:return o/6}return 1}var a=t(&quot;parse-unit&quot;);e.exports=i;var o=96},{&quot;parse-unit&quot;:467}],549:[function(t,e,r){!function(t,n){n(&quot;object&quot;==typeof r&amp;&amp;void 0!==e?r:t.topojson=t.topojson||{})}(this,function(t){&quot;use strict&quot;;function e(t,e){var n=e.id,i=e.bbox,a=null==e.properties?{}:e.properties,o=r(t,e);return null==n&amp;&amp;null==i?{type:&quot;Feature&quot;,properties:a,geometry:o}:null==i?{type:&quot;Feature&quot;,id:n,properties:a,geometry:o}:{type:&quot;Feature&quot;,id:n,bbox:i,properties:a,geometry:o}}function r(t,e){function r(t,e){e.length&amp;&amp;e.pop();for(var r=f[t&lt;0?~t:t],n=0,i=r.length;n&lt;i;++n)e.push(u(r[n].slice(),n));t&lt;0&amp;&amp;l(e,i)}function n(t){return u(t.slice())}function i(t){for(var e=[],n=0,i=t.length;n&lt;i;++n)r(t[n],e);return e.length&lt;2&amp;&amp;e.push(e[0].slice()),e}function a(t){for(var e=i(t);e.length&lt;4;)e.push(e[0].slice());return e}function s(t){return t.map(a)}function c(t){var e,r=t.type;switch(r){case&quot;GeometryCollection&quot;:return{type:r,geometries:t.geometries.map(c)};case&quot;Point&quot;:e=n(t.coordinates);break;case&quot;MultiPoint&quot;:e=t.coordinates.map(n);break;case&quot;LineString&quot;:e=i(t.arcs);break;case&quot;MultiLineString&quot;:e=t.arcs.map(i);break;case&quot;Polygon&quot;:e=s(t.arcs);break;case&quot;MultiPolygon&quot;:e=t.arcs.map(s);break;default:return null}return{type:r,coordinates:e}}var u=o(t),f=t.arcs;return c(e)}function n(t,e,r){var n,i,a;if(arguments.length&gt;1)n=function(t,e,r){function n(t){var e=t&lt;0?~t:t;(c[e]||(c[e]=[])).push({i:t,g:s})}function i(t){t.forEach(n)}function a(t){t.forEach(i)}function o(t){switch(s=t,t.type){case&quot;GeometryCollection&quot;:t.geometries.forEach(o);break;case&quot;LineString&quot;:i(t.arcs);break;case&quot;MultiLineString&quot;:case&quot;Polygon&quot;:a(t.arcs);break;case&quot;MultiPolygon&quot;:!function(t){t.forEach(a)}(t.arcs)}}var s,l=[],c=[];return o(e),c.forEach(null==r?function(t){l.push(t[0].i)}:function(t){r(t[0].g,t[t.length-1].g)&amp;&amp;l.push(t[0].i)}),l}(0,e,r);else for(i=0,n=new Array(a=t.arcs.length);i&lt;a;++i)n[i]=i;return{type:&quot;MultiLineString&quot;,arcs:c(t,n)}}function i(t,e){function n(t){switch(t.type){case&quot;GeometryCollection&quot;:t.geometries.forEach(n);break;case&quot;Polygon&quot;:i(t.arcs);break;case&quot;MultiPolygon&quot;:t.arcs.forEach(i)}}function i(t){t.forEach(function(e){e.forEach(function(e){(o[e=e&lt;0?~e:e]||(o[e]=[])).push(t)})}),s.push(t)}function a(e){return function(t){for(var e,r=-1,n=t.length,i=t[n-1],a=0;++r&lt;n;)e=i,i=t[r],a+=e[0]*i[1]-e[1]*i[0];return Math.abs(a)}(r(t,{type:&quot;Polygon&quot;,arcs:[e]}).coordinates[0])}var o={},s=[],l=[];return e.forEach(n),s.forEach(function(t){if(!t._){var e=[],r=[t];for(t._=1,l.push(e);t=r.pop();)e.push(t),t.forEach(function(t){t.forEach(function(t){o[t&lt;0?~t:t].forEach(function(t){t._||(t._=1,r.push(t))})})})}}),s.forEach(function(t){delete t._}),{type:&quot;MultiPolygon&quot;,arcs:l.map(function(e){var r,n=[];if(e.forEach(function(t){t.forEach(function(t){t.forEach(function(t){o[t&lt;0?~t:t].length&lt;2&amp;&amp;n.push(t)})})}),n=c(t,n),(r=n.length)&gt;1)for(var i,s,l=1,u=a(n[0]);l&lt;r;++l)(i=a(n[l]))&gt;u&amp;&amp;(s=n[0],n[0]=n[l],n[l]=s,u=i);return n})}}var a=function(t){return t},o=function(t){if(null==(e=t.transform))return a;var e,r,n,i=e.scale[0],o=e.scale[1],s=e.translate[0],l=e.translate[1];return function(t,e){return e||(r=n=0),t[0]=(r+=t[0])*i+s,t[1]=(n+=t[1])*o+l,t}},s=function(t){function e(t){l[0]=t[0],l[1]=t[1],s(l),l[0]&lt;c&amp;&amp;(c=l[0]),l[0]&gt;f&amp;&amp;(f=l[0]),l[1]&lt;u&amp;&amp;(u=l[1]),l[1]&gt;h&amp;&amp;(h=l[1])}function r(t){switch(t.type){case&quot;GeometryCollection&quot;:t.geometries.forEach(r);break;case&quot;Point&quot;:e(t.coordinates);break;case&quot;MultiPoint&quot;:t.coordinates.forEach(e)}}var n=t.bbox;if(!n){var i,a,s=o(t),l=new Array(2),c=1/0,u=c,f=-c,h=-c;t.arcs.forEach(function(t){for(var e=-1,r=t.length;++e&lt;r;)i=t[e],l[0]=i[0],l[1]=i[1],s(l,e),l[0]&lt;c&amp;&amp;(c=l[0]),l[0]&gt;f&amp;&amp;(f=l[0]),l[1]&lt;u&amp;&amp;(u=l[1]),l[1]&gt;h&amp;&amp;(h=l[1])});for(a in t.objects)r(t.objects[a]);n=t.bbox=[c,u,f,h]}return n},l=function(t,e){for(var r,n=t.length,i=n-e;i&lt;--n;)r=t[i],t[i++]=t[n],t[n]=r},c=function(t,e){function r(t,e){for(var r in t){var i=t[r];delete e[i.start],delete i.start,delete i.end,i.forEach(function(t){n[t&lt;0?~t:t]=1}),o.push(i)}}var n={},i={},a={},o=[],s=-1;return e.forEach(function(r,n){var i,a=t.arcs[r&lt;0?~r:r];a.length&lt;3&amp;&amp;!a[1][0]&amp;&amp;!a[1][1]&amp;&amp;(i=e[++s],e[s]=r,e[n]=i)}),e.forEach(function(e){var r,n,o=function(e){var r,n=t.arcs[e&lt;0?~e:e],i=n[0];return t.transform?(r=[0,0],n.forEach(function(t){r[0]+=t[0],r[1]+=t[1]})):r=n[n.length-1],e&lt;0?[r,i]:[i,r]}(e),s=o[0],l=o[1];if(r=a[s])if(delete a[r.end],r.push(e),r.end=l,n=i[l]){delete i[n.start];var c=n===r?r:r.concat(n);i[c.start=r.start]=a[c.end=n.end]=c}else i[r.start]=a[r.end]=r;else if(r=i[l])if(delete i[r.start],r.unshift(e),r.start=s,n=a[s]){delete a[n.end];var u=n===r?r:n.concat(r);i[u.start=n.start]=a[u.end=r.end]=u}else i[r.start]=a[r.end]=r;else i[(r=[e]).start=s]=a[r.end=l]=r}),r(a,i),r(i,a),e.forEach(function(t){n[t&lt;0?~t:t]||o.push([t])}),o},u=function(t,e){for(var r=0,n=t.length;r&lt;n;){var i=r+n&gt;&gt;&gt;1;t[i]&lt;e?r=i+1:n=i}return r};t.bbox=s,t.feature=function(t,r){return&quot;GeometryCollection&quot;===r.type?{type:&quot;FeatureCollection&quot;,features:r.geometries.map(function(r){return e(t,r)})}:e(t,r)},t.mesh=function(t){return r(t,n.apply(this,arguments))},t.meshArcs=n,t.merge=function(t){return r(t,i.apply(this,arguments))},t.mergeArcs=i,t.neighbors=function(t){function e(t,e){t.forEach(function(t){t&lt;0&amp;&amp;(t=~t);var r=i[t];r?r.push(e):i[t]=[e]})}function r(t,r){t.forEach(function(t){e(t,r)})}function n(t,e){&quot;GeometryCollection&quot;===t.type?t.geometries.forEach(function(t){n(t,e)}):t.type in o&amp;&amp;o[t.type](t.arcs,e)}var i={},a=t.map(function(){return[]}),o={LineString:e,MultiLineString:r,Polygon:r,MultiPolygon:function(t,e){t.forEach(function(t){r(t,e)})}};t.forEach(n);for(var s in i)for(var l=i[s],c=l.length,f=0;f&lt;c;++f)for(var h=f+1;h&lt;c;++h){var d,p=l[f],m=l[h];(d=a[p])[s=u(d,m)]!==m&amp;&amp;d.splice(s,0,m),(d=a[m])[s=u(d,p)]!==p&amp;&amp;d.splice(s,0,p)}return a},t.quantize=function(t,e){function r(t){t[0]=Math.round((t[0]-o)/l),t[1]=Math.round((t[1]-c)/u)}function n(t){switch(t.type){case&quot;GeometryCollection&quot;:t.geometries.forEach(n);break;case&quot;Point&quot;:r(t.coordinates);break;case&quot;MultiPoint&quot;:t.coordinates.forEach(r)}}if(!((e=Math.floor(e))&gt;=2))throw new Error(&quot;n must be \u22652&quot;);if(t.transform)throw new Error(&quot;already quantized&quot;);var i,a=s(t),o=a[0],l=(a[2]-o)/(e-1)||1,c=a[1],u=(a[3]-c)/(e-1)||1;t.arcs.forEach(function(t){for(var e,r,n,i=1,a=1,s=t.length,f=t[0],h=f[0]=Math.round((f[0]-o)/l),d=f[1]=Math.round((f[1]-c)/u);i&lt;s;++i)f=t[i],r=Math.round((f[0]-o)/l),n=Math.round((f[1]-c)/u),r===h&amp;&amp;n===d||((e=t[a++])[0]=r-h,h=r,e[1]=n-d,d=n);a&lt;2&amp;&amp;((e=t[a++])[0]=0,e[1]=0),t.length=a});for(i in t.objects)n(t.objects[i]);return t.transform={scale:[l,u],translate:[o,c]},t},t.transform=o,t.untransform=function(t){if(null==(e=t.transform))return a;var e,r,n,i=e.scale[0],o=e.scale[1],s=e.translate[0],l=e.translate[1];return function(t,e){e||(r=n=0);var a=Math.round((t[0]-s)/i),c=Math.round((t[1]-l)/o);return t[0]=a-r,r=a,t[1]=c-n,n=c,t}},Object.defineProperty(t,&quot;__esModule&quot;,{value:!0})})},{}],550:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t){if(t&lt;0)return[];if(0===t)return[[0]];for(var e=0|Math.round(a(t+1)),r=[],o=0;o&lt;e;++o){for(var s=n.unrank(t,o),l=[0],c=0,u=0;u&lt;s.length;++u)c+=1&lt;&lt;s[u],l.push(c);i(s)&lt;1&amp;&amp;(l[0]=c,l[t]=0),r.push(l)}return r};var n=t(&quot;permutation-rank&quot;),i=t(&quot;permutation-parity&quot;),a=t(&quot;gamma&quot;)},{gamma:145,&quot;permutation-parity&quot;:471,&quot;permutation-rank&quot;:472}],551:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r){return Math.sqrt(Math.pow(t,2)+Math.pow(e,2)+Math.pow(r,2))}function i(t){return Math.min(1,Math.max(-1,t))}function a(t){var e=Math.abs(t[0]),r=Math.abs(t[1]),n=Math.abs(t[2]),i=[0,0,0];e&gt;Math.max(r,n)?i[2]=1:r&gt;Math.max(e,n)?i[0]=1:i[1]=1;for(var a=0,o=0,s=0;s&lt;3;++s)a+=t[s]*t[s],o+=i[s]*t[s];for(s=0;s&lt;3;++s)i[s]-=o/a*t[s];return f(i,i),i}function o(t,e,r,n,i,a,o,l){this.center=s(r),this.up=s(n),this.right=s(i),this.radius=s([a]),this.angle=s([o,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&lt;16;++c)this.computedMatrix[c]=.5;this.recalcMatrix(0)}e.exports=function(t){var e=(t=t||{}).center||[0,0,0],r=t.up||[0,1,0],i=t.right||a(r),s=t.radius||1,l=t.theta||0,c=t.phi||0;if(e=[].slice.call(e,0,3),r=[].slice.call(r,0,3),f(r,r),i=[].slice.call(i,0,3),f(i,i),&quot;eye&quot;in t){var d=t.eye,p=[d[0]-e[0],d[1]-e[1],d[2]-e[2]];u(i,p,r),n(i[0],i[1],i[2])&lt;1e-6?i=a(r):f(i,i),s=n(p[0],p[1],p[2]);var m=h(r,p)/s,g=h(i,p)/s;c=Math.acos(m),l=Math.acos(g)}return s=Math.log(s),new o(t.zoomMin,t.zoomMax,e,r,i,s,l,c)};var s=t(&quot;filtered-vector&quot;),l=t(&quot;gl-mat4/invert&quot;),c=t(&quot;gl-mat4/rotate&quot;),u=t(&quot;gl-vec3/cross&quot;),f=t(&quot;gl-vec3/normalize&quot;),h=t(&quot;gl-vec3/dot&quot;),d=o.prototype;d.setDistanceLimits=function(t,e){t=t&gt;0?Math.log(t):-1/0,e=e&gt;0?Math.log(e):1/0,e=Math.max(e,t),this.radius.bounds[0][0]=t,this.radius.bounds[1][0]=e},d.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])]},d.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,i=0,a=0,o=0;o&lt;3;++o)a+=e[o]*r[o],i+=e[o]*e[o];var s=Math.sqrt(i),l=0;for(o=0;o&lt;3;++o)r[o]-=e[o]*a/i,l+=r[o]*r[o],e[o]/=s;var c=Math.sqrt(l);for(o=0;o&lt;3;++o)r[o]/=c;var h=this.computedToward;u(h,e,r),f(h,h);var d=Math.exp(this.computedRadius[0]),p=this.computedAngle[0],m=this.computedAngle[1],g=Math.cos(p),v=Math.sin(p),y=Math.cos(m),x=Math.sin(m),b=this.computedCenter,_=g*y,w=v*y,M=x,k=-g*x,A=-v*x,T=y,S=this.computedEye,E=this.computedMatrix;for(o=0;o&lt;3;++o){var L=_*r[o]+w*h[o]+M*e[o];E[4*o+1]=k*r[o]+A*h[o]+T*e[o],E[4*o+2]=L,E[4*o+3]=0}var C=E[1],z=E[5],D=E[9],I=E[2],P=E[6],O=E[10],F=z*O-D*P,R=D*I-C*O,N=C*P-z*I,j=n(F,R,N);F/=j,R/=j,N/=j,E[0]=F,E[4]=R,E[8]=N;for(o=0;o&lt;3;++o)S[o]=b[o]+E[2+4*o]*d;for(o=0;o&lt;3;++o){l=0;for(var B=0;B&lt;3;++B)l+=E[o+4*B]*S[B];E[12+o]=-l}E[15]=1},d.getMatrix=function(t,e){this.recalcMatrix(t);var r=this.computedMatrix;if(e){for(var n=0;n&lt;16;++n)e[n]=r[n];return e}return r};var p=[0,0,0];d.rotate=function(t,e,r,n){if(this.angle.move(t,e,r),n){this.recalcMatrix(t);var i=this.computedMatrix;p[0]=i[2],p[1]=i[6],p[2]=i[10];for(var a=this.computedUp,o=this.computedRight,s=this.computedToward,l=0;l&lt;3;++l)i[4*l]=a[l],i[4*l+1]=o[l],i[4*l+2]=s[l];c(i,i,n,p);for(l=0;l&lt;3;++l)a[l]=i[4*l],o[l]=i[4*l+1];this.up.set(t,a[0],a[1],a[2]),this.right.set(t,o[0],o[1],o[2])}},d.pan=function(t,e,r,i){e=e||0,r=r||0,i=i||0,this.recalcMatrix(t);var a=this.computedMatrix,o=(Math.exp(this.computedRadius[0]),a[1]),s=a[5],l=a[9],c=n(o,s,l);o/=c,s/=c,l/=c;var u=a[0],f=a[4],h=a[8],d=u*o+f*s+h*l,p=n(u-=o*d,f-=s*d,h-=l*d),m=(u/=p)*e+o*r,g=(f/=p)*e+s*r,v=(h/=p)*e+l*r;this.center.move(t,m,g,v);var y=Math.exp(this.computedRadius[0]);y=Math.max(1e-4,y+i),this.radius.set(t,Math.log(y))},d.translate=function(t,e,r,n){this.center.move(t,e||0,r||0,n||0)},d.setMatrix=function(t,e,r,a){var o=1;&quot;number&quot;==typeof r&amp;&amp;(o=0|r),(o&lt;0||o&gt;3)&amp;&amp;(o=1);var s=(o+2)%3;e||(this.recalcMatrix(t),e=this.computedMatrix);var c=e[o],u=e[o+4],f=e[o+8];if(a){var h=Math.abs(c),d=Math.abs(u),p=Math.abs(f),m=Math.max(h,d,p);h===m?(c=c&lt;0?-1:1,u=f=0):p===m?(f=f&lt;0?-1:1,c=u=0):(u=u&lt;0?-1:1,c=f=0)}else{var g=n(c,u,f);c/=g,u/=g,f/=g}var v=e[s],y=e[s+4],x=e[s+8],b=v*c+y*u+x*f,_=n(v-=c*b,y-=u*b,x-=f*b),w=u*(x/=_)-f*(y/=_),M=f*(v/=_)-c*x,k=c*y-u*v,A=n(w,M,k);w/=A,M/=A,k/=A,this.center.jump(t,H,G,Y),this.radius.idle(t),this.up.jump(t,c,u,f),this.right.jump(t,v,y,x);var T,S;if(2===o){var E=e[1],L=e[5],C=e[9],z=E*v+L*y+C*x,D=E*w+L*M+C*k;T=F&lt;0?-Math.PI/2:Math.PI/2,S=Math.atan2(D,z)}else{var I=e[2],P=e[6],O=e[10],F=I*c+P*u+O*f,R=I*v+P*y+O*x,N=I*w+P*M+O*k;T=Math.asin(i(F)),S=Math.atan2(N,R)}this.angle.jump(t,S,T),this.recalcMatrix(t);var j=e[2],B=e[6],U=e[10],V=this.computedMatrix;l(V,e);var q=V[15],H=V[12]/q,G=V[13]/q,Y=V[14]/q,W=Math.exp(this.computedRadius[0]);this.center.jump(t,H-j*W,G-B*W,Y-U*W)},d.lastT=function(){return Math.max(this.center.lastT(),this.up.lastT(),this.right.lastT(),this.radius.lastT(),this.angle.lastT())},d.idle=function(t){this.center.idle(t),this.up.idle(t),this.right.idle(t),this.radius.idle(t),this.angle.idle(t)},d.flush=function(t){this.center.flush(t),this.up.flush(t),this.right.flush(t),this.radius.flush(t),this.angle.flush(t)},d.setDistance=function(t,e){e&gt;0&amp;&amp;this.radius.set(t,Math.log(e))},d.lookAt=function(t,e,r,a){this.recalcMatrix(t),e=e||this.computedEye,r=r||this.computedCenter;var o=(a=a||this.computedUp)[0],s=a[1],l=a[2],c=n(o,s,l);if(!(c&lt;1e-6)){o/=c,s/=c,l/=c;var u=e[0]-r[0],f=e[1]-r[1],h=e[2]-r[2],d=n(u,f,h);if(!(d&lt;1e-6)){u/=d,f/=d,h/=d;var p=this.computedRight,m=p[0],g=p[1],v=p[2],y=o*m+s*g+l*v,x=n(m-=y*o,g-=y*s,v-=y*l);if(!(x&lt;.01&amp;&amp;(m=s*h-l*f,g=l*u-o*h,v=o*f-s*u,(x=n(m,g,v))&lt;1e-6))){m/=x,g/=x,v/=x,this.up.set(t,o,s,l),this.right.set(t,m,g,v),this.center.set(t,r[0],r[1],r[2]),this.radius.set(t,Math.log(d));var b=s*v-l*g,_=l*m-o*v,w=o*g-s*m,M=n(b,_,w),k=o*u+s*f+l*h,A=m*u+g*f+v*h,T=(b/=M)*u+(_/=M)*f+(w/=M)*h,S=Math.asin(i(k)),E=Math.atan2(T,A),L=this.angle._state,C=L[L.length-1],z=L[L.length-2];C%=2*Math.PI;var D=Math.abs(C+2*Math.PI-E),I=Math.abs(C-E),P=Math.abs(C-2*Math.PI-E);D&lt;I&amp;&amp;(C+=2*Math.PI),P&lt;I&amp;&amp;(C-=2*Math.PI),this.angle.jump(this.angle.lastT(),C,z),this.angle.set(t,E,S)}}}}},{&quot;filtered-vector&quot;:142,&quot;gl-mat4/invert&quot;:186,&quot;gl-mat4/rotate&quot;:190,&quot;gl-vec3/cross&quot;:260,&quot;gl-vec3/dot&quot;:261,&quot;gl-vec3/normalize&quot;:264}],552:[function(t,e,r){&quot;use strict&quot;;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);return r?(r[0]=f,r[1]=i,r):[f,i]};var n=+(Math.pow(2,27)+1)},{}],553:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t,e,r){var n=t+e,i=n-t,a=e-i,o=t-(n-i);return r?(r[0]=o+a,r[1]=n,r):[o+a,n]}},{}],554:[function(t,e,r){(function(e,n){&quot;use strict&quot;;function i(t){if(t){var e=t.length||t.byteLength,r=v.log2(e);_[r].push(t)}}function a(t){t=v.nextPow2(t);var e=v.log2(t),r=_[e];return r.length&gt;0?r.pop():new ArrayBuffer(t)}function o(t){return new Uint8Array(a(t),0,t)}function s(t){return new Uint16Array(a(2*t),0,t)}function l(t){return new Uint32Array(a(4*t),0,t)}function c(t){return new Int8Array(a(t),0,t)}function u(t){return new Int16Array(a(2*t),0,t)}function f(t){return new Int32Array(a(4*t),0,t)}function h(t){return new Float32Array(a(4*t),0,t)}function d(t){return new Float64Array(a(8*t),0,t)}function p(t){return x?new Uint8ClampedArray(a(t),0,t):o(t)}function m(t){return new DataView(a(t),0,t)}function g(t){t=v.nextPow2(t);var e=v.log2(t),r=w[e];return r.length&gt;0?r.pop():new n(t)}var v=t(&quot;bit-twiddle&quot;),y=t(&quot;dup&quot;);e.__TYPEDARRAY_POOL||(e.__TYPEDARRAY_POOL={UINT8:y([32,0]),UINT16:y([32,0]),UINT32:y([32,0]),INT8:y([32,0]),INT16:y([32,0]),INT32:y([32,0]),FLOAT:y([32,0]),DOUBLE:y([32,0]),DATA:y([32,0]),UINT8C:y([32,0]),BUFFER:y([32,0])});var x=&quot;undefined&quot;!=typeof Uint8ClampedArray,b=e.__TYPEDARRAY_POOL;b.UINT8C||(b.UINT8C=y([32,0])),b.BUFFER||(b.BUFFER=y([32,0]));var _=b.DATA,w=b.BUFFER;r.free=function(t){if(n.isBuffer(t))w[v.log2(t.length)].push(t);else{if(&quot;[object ArrayBuffer]&quot;!==Object.prototype.toString.call(t)&amp;&amp;(t=t.buffer),!t)return;var e=t.length||t.byteLength,r=0|v.log2(e);_[r].push(t)}},r.freeUint8=r.freeUint16=r.freeUint32=r.freeInt8=r.freeInt16=r.freeInt32=r.freeFloat32=r.freeFloat=r.freeFloat64=r.freeDouble=r.freeUint8Clamped=r.freeDataView=function(t){i(t.buffer)},r.freeArrayBuffer=i,r.freeBuffer=function(t){w[v.log2(t.length)].push(t)},r.malloc=function(t,e){if(void 0===e||&quot;arraybuffer&quot;===e)return a(t);switch(e){case&quot;uint8&quot;:return o(t);case&quot;uint16&quot;:return s(t);case&quot;uint32&quot;:return l(t);case&quot;int8&quot;:return c(t);case&quot;int16&quot;:return u(t);case&quot;int32&quot;:return f(t);case&quot;float&quot;:case&quot;float32&quot;:return h(t);case&quot;double&quot;:case&quot;float64&quot;:return d(t);case&quot;uint8_clamped&quot;:return p(t);case&quot;buffer&quot;:return g(t);case&quot;data&quot;:case&quot;dataview&quot;:return m(t);default:return null}return null},r.mallocArrayBuffer=a,r.mallocUint8=o,r.mallocUint16=s,r.mallocUint32=l,r.mallocInt8=c,r.mallocInt16=u,r.mallocInt32=f,r.mallocFloat32=r.mallocFloat=h,r.mallocFloat64=r.mallocDouble=d,r.mallocUint8Clamped=p,r.mallocDataView=m,r.mallocBuffer=g,r.clearCache=function(){for(var t=0;t&lt;32;++t)b.UINT8[t].length=0,b.UINT16[t].length=0,b.UINT32[t].length=0,b.INT8[t].length=0,b.INT16[t].length=0,b.INT32[t].length=0,b.FLOAT[t].length=0,b.DOUBLE[t].length=0,b.UINT8C[t].length=0,_[t].length=0,w[t].length=0}}).call(this,&quot;undefined&quot;!=typeof global?global:&quot;undefined&quot;!=typeof self?self:&quot;undefined&quot;!=typeof window?window:{},t(&quot;buffer&quot;).Buffer)},{&quot;bit-twiddle&quot;:71,buffer:82,dup:134}],555:[function(t,e,r){&quot;use strict&quot;;&quot;use restrict&quot;;function n(t){this.roots=new Array(t),this.ranks=new Array(t);for(var e=0;e&lt;t;++e)this.roots[e]=e,this.ranks[e]=0}e.exports=n;var i=n.prototype;Object.defineProperty(i,&quot;length&quot;,{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&lt;s?a[r]=n:s&lt;o?a[n]=r:(a[n]=r,++i[r])}}},{}],556:[function(t,e,r){&quot;use strict&quot;;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&lt;n;++o)if(a=i,i=t[o],e(i,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&lt;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))}},{}],557:[function(t,e,r){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}e.exports=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){void 0===e&amp;&amp;(e=1e-6);var r,n,i,a,o;for(i=t,o=0;o&lt;8;o++){if(a=this.sampleCurveX(i)-t,Math.abs(a)&lt;e)return i;var s=this.sampleCurveDerivativeX(i);if(Math.abs(s)&lt;1e-6)break;i-=a/s}if(r=0,n=1,(i=t)&lt;r)return r;if(i&gt;n)return n;for(;r&lt;n;){if(a=this.sampleCurveX(i),Math.abs(a-t)&lt;e)return i;t&gt;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))}},{}],558:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t,e,r){Array.isArray(r)||(r=[].slice.call(arguments,2));for(var n=0,i=r.length;n&lt;i;n++){var a=r[n];for(var o in a)if((void 0===e[o]||Array.isArray(e[o])||t[o]!==e[o])&amp;&amp;o in e){var s;if(!0===a[o])s=e[o];else{if(!1===a[o])continue;if(&quot;function&quot;==typeof a[o]&amp;&amp;void 0===(s=a[o](e[o],t,e)))continue}t[o]=s}}return t}},{}],559:[function(t,e,r){&quot;use strict&quot;;function n(){this.protocol=null,this.slashes=null,this.auth=null,this.host=null,this.port=null,this.hostname=null,this.hash=null,this.search=null,this.query=null,this.pathname=null,this.path=null,this.href=null}function i(t,e,r){if(t&amp;&amp;o.isObject(t)&amp;&amp;t instanceof n)return t;var i=new n;return i.parse(t,e,r),i}var a=t(&quot;punycode&quot;),o=t(&quot;./util&quot;);r.parse=i,r.resolve=function(t,e){return i(t,!1,!0).resolve(e)},r.resolveObject=function(t,e){return t?i(t,!1,!0).resolveObject(e):e},r.format=function(t){return o.isString(t)&amp;&amp;(t=i(t)),t instanceof n?t.format():n.prototype.format.call(t)},r.Url=n;var s=/^([a-z0-9.+-]+:)/i,l=/:[0-9]*$/,c=/^(\/\/?(?!\/)[^\?\s]*)(\?[^\s]*)?$/,u=[&quot;{&quot;,&quot;}&quot;,&quot;|&quot;,&quot;\\&quot;,&quot;^&quot;,&quot;`&quot;].concat([&quot;&lt;&quot;,&quot;&gt;&quot;,'&quot;',&quot;`&quot;,&quot; &quot;,&quot;\r&quot;,&quot;\n&quot;,&quot;\t&quot;]),f=[&quot;'&quot;].concat(u),h=[&quot;%&quot;,&quot;/&quot;,&quot;?&quot;,&quot;;&quot;,&quot;#&quot;].concat(f),d=[&quot;/&quot;,&quot;?&quot;,&quot;#&quot;],p=/^[+a-z0-9A-Z_-]{0,63}$/,m=/^([+a-z0-9A-Z_-]{0,63})(.*)$/,g={javascript:!0,&quot;javascript:&quot;:!0},v={javascript:!0,&quot;javascript:&quot;:!0},y={http:!0,https:!0,ftp:!0,gopher:!0,file:!0,&quot;http:&quot;:!0,&quot;https:&quot;:!0,&quot;ftp:&quot;:!0,&quot;gopher:&quot;:!0,&quot;file:&quot;:!0},x=t(&quot;querystring&quot;);n.prototype.parse=function(t,e,r){if(!o.isString(t))throw new TypeError(&quot;Parameter 'url' must be a string, not &quot;+typeof t);var n=t.indexOf(&quot;?&quot;),i=-1!==n&amp;&amp;n&lt;t.indexOf(&quot;#&quot;)?&quot;?&quot;:&quot;#&quot;,l=t.split(i);l[0]=l[0].replace(/\\/g,&quot;/&quot;);var u=t=l.join(i);if(u=u.trim(),!r&amp;&amp;1===t.split(&quot;#&quot;).length){var b=c.exec(u);if(b)return this.path=u,this.href=u,this.pathname=b[1],b[2]?(this.search=b[2],this.query=e?x.parse(this.search.substr(1)):this.search.substr(1)):e&amp;&amp;(this.search=&quot;&quot;,this.query={}),this}var _=s.exec(u);if(_){var w=(_=_[0]).toLowerCase();this.protocol=w,u=u.substr(_.length)}if(r||_||u.match(/^\/\/[^@\/]+@[^@\/]+/)){var M=&quot;//&quot;===u.substr(0,2);!M||_&amp;&amp;v[_]||(u=u.substr(2),this.slashes=!0)}if(!v[_]&amp;&amp;(M||_&amp;&amp;!y[_])){for(var k=-1,A=0;A&lt;d.length;A++){-1!==(E=u.indexOf(d[A]))&amp;&amp;(-1===k||E&lt;k)&amp;&amp;(k=E)}var T,S;-1!==(S=-1===k?u.lastIndexOf(&quot;@&quot;):u.lastIndexOf(&quot;@&quot;,k))&amp;&amp;(T=u.slice(0,S),u=u.slice(S+1),this.auth=decodeURIComponent(T)),k=-1;for(A=0;A&lt;h.length;A++){var E;-1!==(E=u.indexOf(h[A]))&amp;&amp;(-1===k||E&lt;k)&amp;&amp;(k=E)}-1===k&amp;&amp;(k=u.length),this.host=u.slice(0,k),u=u.slice(k),this.parseHost(),this.hostname=this.hostname||&quot;&quot;;var L=&quot;[&quot;===this.hostname[0]&amp;&amp;&quot;]&quot;===this.hostname[this.hostname.length-1];if(!L)for(var C=this.hostname.split(/\./),z=(A=0,C.length);A&lt;z;A++){var D=C[A];if(D&amp;&amp;!D.match(p)){for(var I=&quot;&quot;,P=0,O=D.length;P&lt;O;P++)D.charCodeAt(P)&gt;127?I+=&quot;x&quot;:I+=D[P];if(!I.match(p)){var F=C.slice(0,A),R=C.slice(A+1),N=D.match(m);N&amp;&amp;(F.push(N[1]),R.unshift(N[2])),R.length&amp;&amp;(u=&quot;/&quot;+R.join(&quot;.&quot;)+u),this.hostname=F.join(&quot;.&quot;);break}}}this.hostname.length&gt;255?this.hostname=&quot;&quot;:this.hostname=this.hostname.toLowerCase(),L||(this.hostname=a.toASCII(this.hostname));var j=this.port?&quot;:&quot;+this.port:&quot;&quot;,B=this.hostname||&quot;&quot;;this.host=B+j,this.href+=this.host,L&amp;&amp;(this.hostname=this.hostname.substr(1,this.hostname.length-2),&quot;/&quot;!==u[0]&amp;&amp;(u=&quot;/&quot;+u))}if(!g[w])for(A=0,z=f.length;A&lt;z;A++){var U=f[A];if(-1!==u.indexOf(U)){var V=encodeURIComponent(U);V===U&amp;&amp;(V=escape(U)),u=u.split(U).join(V)}}var q=u.indexOf(&quot;#&quot;);-1!==q&amp;&amp;(this.hash=u.substr(q),u=u.slice(0,q));var H=u.indexOf(&quot;?&quot;);if(-1!==H?(this.search=u.substr(H),this.query=u.substr(H+1),e&amp;&amp;(this.query=x.parse(this.query)),u=u.slice(0,H)):e&amp;&amp;(this.search=&quot;&quot;,this.query={}),u&amp;&amp;(this.pathname=u),y[w]&amp;&amp;this.hostname&amp;&amp;!this.pathname&amp;&amp;(this.pathname=&quot;/&quot;),this.pathname||this.search){j=this.pathname||&quot;&quot;;var G=this.search||&quot;&quot;;this.path=j+G}return this.href=this.format(),this},n.prototype.format=function(){var t=this.auth||&quot;&quot;;t&amp;&amp;(t=(t=encodeURIComponent(t)).replace(/%3A/i,&quot;:&quot;),t+=&quot;@&quot;);var e=this.protocol||&quot;&quot;,r=this.pathname||&quot;&quot;,n=this.hash||&quot;&quot;,i=!1,a=&quot;&quot;;this.host?i=t+this.host:this.hostname&amp;&amp;(i=t+(-1===this.hostname.indexOf(&quot;:&quot;)?this.hostname:&quot;[&quot;+this.hostname+&quot;]&quot;),this.port&amp;&amp;(i+=&quot;:&quot;+this.port)),this.query&amp;&amp;o.isObject(this.query)&amp;&amp;Object.keys(this.query).length&amp;&amp;(a=x.stringify(this.query));var s=this.search||a&amp;&amp;&quot;?&quot;+a||&quot;&quot;;return e&amp;&amp;&quot;:&quot;!==e.substr(-1)&amp;&amp;(e+=&quot;:&quot;),this.slashes||(!e||y[e])&amp;&amp;!1!==i?(i=&quot;//&quot;+(i||&quot;&quot;),r&amp;&amp;&quot;/&quot;!==r.charAt(0)&amp;&amp;(r=&quot;/&quot;+r)):i||(i=&quot;&quot;),n&amp;&amp;&quot;#&quot;!==n.charAt(0)&amp;&amp;(n=&quot;#&quot;+n),s&amp;&amp;&quot;?&quot;!==s.charAt(0)&amp;&amp;(s=&quot;?&quot;+s),r=r.replace(/[?#]/g,function(t){return encodeURIComponent(t)}),s=s.replace(&quot;#&quot;,&quot;%23&quot;),e+i+r+s+n},n.prototype.resolve=function(t){return this.resolveObject(i(t,!1,!0)).format()},n.prototype.resolveObject=function(t){if(o.isString(t)){var e=new n;e.parse(t,!1,!0),t=e}for(var r=new n,i=Object.keys(this),a=0;a&lt;i.length;a++){var s=i[a];r[s]=this[s]}if(r.hash=t.hash,&quot;&quot;===t.href)return r.href=r.format(),r;if(t.slashes&amp;&amp;!t.protocol){for(var l=Object.keys(t),c=0;c&lt;l.length;c++){var u=l[c];&quot;protocol&quot;!==u&amp;&amp;(r[u]=t[u])}return y[r.protocol]&amp;&amp;r.hostname&amp;&amp;!r.pathname&amp;&amp;(r.path=r.pathname=&quot;/&quot;),r.href=r.format(),r}if(t.protocol&amp;&amp;t.protocol!==r.protocol){if(!y[t.protocol]){for(var f=Object.keys(t),h=0;h&lt;f.length;h++){var d=f[h];r[d]=t[d]}return r.href=r.format(),r}if(r.protocol=t.protocol,t.host||v[t.protocol])r.pathname=t.pathname;else{for(var p=(t.pathname||&quot;&quot;).split(&quot;/&quot;);p.length&amp;&amp;!(t.host=p.shift()););t.host||(t.host=&quot;&quot;),t.hostname||(t.hostname=&quot;&quot;),&quot;&quot;!==p[0]&amp;&amp;p.unshift(&quot;&quot;),p.length&lt;2&amp;&amp;p.unshift(&quot;&quot;),r.pathname=p.join(&quot;/&quot;)}if(r.search=t.search,r.query=t.query,r.host=t.host||&quot;&quot;,r.auth=t.auth,r.hostname=t.hostname||t.host,r.port=t.port,r.pathname||r.search){var m=r.pathname||&quot;&quot;,g=r.search||&quot;&quot;;r.path=m+g}return r.slashes=r.slashes||t.slashes,r.href=r.format(),r}var x=r.pathname&amp;&amp;&quot;/&quot;===r.pathname.charAt(0),b=t.host||t.pathname&amp;&amp;&quot;/&quot;===t.pathname.charAt(0),_=b||x||r.host&amp;&amp;t.pathname,w=_,M=r.pathname&amp;&amp;r.pathname.split(&quot;/&quot;)||[],k=(p=t.pathname&amp;&amp;t.pathname.split(&quot;/&quot;)||[],r.protocol&amp;&amp;!y[r.protocol]);if(k&amp;&amp;(r.hostname=&quot;&quot;,r.port=null,r.host&amp;&amp;(&quot;&quot;===M[0]?M[0]=r.host:M.unshift(r.host)),r.host=&quot;&quot;,t.protocol&amp;&amp;(t.hostname=null,t.port=null,t.host&amp;&amp;(&quot;&quot;===p[0]?p[0]=t.host:p.unshift(t.host)),t.host=null),_=_&amp;&amp;(&quot;&quot;===p[0]||&quot;&quot;===M[0])),b)r.host=t.host||&quot;&quot;===t.host?t.host:r.host,r.hostname=t.hostname||&quot;&quot;===t.hostname?t.hostname:r.hostname,r.search=t.search,r.query=t.query,M=p;else if(p.length)M||(M=[]),M.pop(),M=M.concat(p),r.search=t.search,r.query=t.query;else if(!o.isNullOrUndefined(t.search)){if(k){r.hostname=r.host=M.shift();(C=!!(r.host&amp;&amp;r.host.indexOf(&quot;@&quot;)&gt;0)&amp;&amp;r.host.split(&quot;@&quot;))&amp;&amp;(r.auth=C.shift(),r.host=r.hostname=C.shift())}return r.search=t.search,r.query=t.query,o.isNull(r.pathname)&amp;&amp;o.isNull(r.search)||(r.path=(r.pathname?r.pathname:&quot;&quot;)+(r.search?r.search:&quot;&quot;)),r.href=r.format(),r}if(!M.length)return r.pathname=null,r.search?r.path=&quot;/&quot;+r.search:r.path=null,r.href=r.format(),r;for(var A=M.slice(-1)[0],T=(r.host||t.host||M.length&gt;1)&amp;&amp;(&quot;.&quot;===A||&quot;..&quot;===A)||&quot;&quot;===A,S=0,E=M.length;E&gt;=0;E--)&quot;.&quot;===(A=M[E])?M.splice(E,1):&quot;..&quot;===A?(M.splice(E,1),S++):S&amp;&amp;(M.splice(E,1),S--);if(!_&amp;&amp;!w)for(;S--;S)M.unshift(&quot;..&quot;);!_||&quot;&quot;===M[0]||M[0]&amp;&amp;&quot;/&quot;===M[0].charAt(0)||M.unshift(&quot;&quot;),T&amp;&amp;&quot;/&quot;!==M.join(&quot;/&quot;).substr(-1)&amp;&amp;M.push(&quot;&quot;);var L=&quot;&quot;===M[0]||M[0]&amp;&amp;&quot;/&quot;===M[0].charAt(0);if(k){r.hostname=r.host=L?&quot;&quot;:M.length?M.shift():&quot;&quot;;var C;(C=!!(r.host&amp;&amp;r.host.indexOf(&quot;@&quot;)&gt;0)&amp;&amp;r.host.split(&quot;@&quot;))&amp;&amp;(r.auth=C.shift(),r.host=r.hostname=C.shift())}return(_=_||r.host&amp;&amp;M.length)&amp;&amp;!L&amp;&amp;M.unshift(&quot;&quot;),M.length?r.pathname=M.join(&quot;/&quot;):(r.pathname=null,r.path=null),o.isNull(r.pathname)&amp;&amp;o.isNull(r.search)||(r.path=(r.pathname?r.pathname:&quot;&quot;)+(r.search?r.search:&quot;&quot;)),r.auth=t.auth||r.auth,r.slashes=r.slashes||t.slashes,r.href=r.format(),r},n.prototype.parseHost=function(){var t=this.host,e=l.exec(t);e&amp;&amp;(&quot;:&quot;!==(e=e[0])&amp;&amp;(this.port=e.substr(1)),t=t.substr(0,t.length-e.length)),t&amp;&amp;(this.hostname=t)}},{&quot;./util&quot;:560,punycode:489,querystring:493}],560:[function(t,e,r){&quot;use strict&quot;;e.exports={isString:function(t){return&quot;string&quot;==typeof t},isObject:function(t){return&quot;object&quot;==typeof t&amp;&amp;null!==t},isNull:function(t){return null===t},isNullOrUndefined:function(t){return null==t}}},{}],561:[function(t,e,r){&quot;function&quot;==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}},{}],562:[function(t,e,r){e.exports=function(t){return t&amp;&amp;&quot;object&quot;==typeof t&amp;&amp;&quot;function&quot;==typeof t.copy&amp;&amp;&quot;function&quot;==typeof t.fill&amp;&amp;&quot;function&quot;==typeof t.readUInt8}},{}],563:[function(t,e,r){(function(e,n){function i(t,e){var n={seen:[],stylize:o};return arguments.length&gt;=3&amp;&amp;(n.depth=arguments[2]),arguments.length&gt;=4&amp;&amp;(n.colors=arguments[3]),f(e)?n.showHidden=e:e&amp;&amp;r._extend(n,e),m(n.showHidden)&amp;&amp;(n.showHidden=!1),m(n.depth)&amp;&amp;(n.depth=2),m(n.colors)&amp;&amp;(n.colors=!1),m(n.customInspect)&amp;&amp;(n.customInspect=!0),n.colors&amp;&amp;(n.stylize=a),s(n,t,n.depth)}function a(t,e){var r=i.styles[e];return r?&quot;\x1b[&quot;+i.colors[r][0]+&quot;m&quot;+t+&quot;\x1b[&quot;+i.colors[r][1]+&quot;m&quot;:t}function o(t,e){return t}function s(t,e,n){if(t.customInspect&amp;&amp;e&amp;&amp;b(e.inspect)&amp;&amp;e.inspect!==r.inspect&amp;&amp;(!e.constructor||e.constructor.prototype!==e)){var i=e.inspect(n,t);return p(i)||(i=s(t,i,n)),i}var a=function(t,e){if(m(e))return t.stylize(&quot;undefined&quot;,&quot;undefined&quot;);if(p(e)){var r=&quot;'&quot;+JSON.stringify(e).replace(/^&quot;|&quot;$/g,&quot;&quot;).replace(/'/g,&quot;\\'&quot;).replace(/\\&quot;/g,'&quot;')+&quot;'&quot;;return t.stylize(r,&quot;string&quot;)}if(d(e))return t.stylize(&quot;&quot;+e,&quot;number&quot;);if(f(e))return t.stylize(&quot;&quot;+e,&quot;boolean&quot;);if(h(e))return t.stylize(&quot;null&quot;,&quot;null&quot;)}(t,e);if(a)return a;var o=Object.keys(e),v=function(t){var e={};return t.forEach(function(t,r){e[t]=!0}),e}(o);if(t.showHidden&amp;&amp;(o=Object.getOwnPropertyNames(e)),x(e)&amp;&amp;(o.indexOf(&quot;message&quot;)&gt;=0||o.indexOf(&quot;description&quot;)&gt;=0))return l(e);if(0===o.length){if(b(e)){var _=e.name?&quot;: &quot;+e.name:&quot;&quot;;return t.stylize(&quot;[Function&quot;+_+&quot;]&quot;,&quot;special&quot;)}if(g(e))return t.stylize(RegExp.prototype.toString.call(e),&quot;regexp&quot;);if(y(e))return t.stylize(Date.prototype.toString.call(e),&quot;date&quot;);if(x(e))return l(e)}var w=&quot;&quot;,k=!1,A=[&quot;{&quot;,&quot;}&quot;];if(u(e)&amp;&amp;(k=!0,A=[&quot;[&quot;,&quot;]&quot;]),b(e)){w=&quot; [Function&quot;+(e.name?&quot;: &quot;+e.name:&quot;&quot;)+&quot;]&quot;}if(g(e)&amp;&amp;(w=&quot; &quot;+RegExp.prototype.toString.call(e)),y(e)&amp;&amp;(w=&quot; &quot;+Date.prototype.toUTCString.call(e)),x(e)&amp;&amp;(w=&quot; &quot;+l(e)),0===o.length&amp;&amp;(!k||0==e.length))return A[0]+w+A[1];if(n&lt;0)return g(e)?t.stylize(RegExp.prototype.toString.call(e),&quot;regexp&quot;):t.stylize(&quot;[Object]&quot;,&quot;special&quot;);t.seen.push(e);var T;return T=k?function(t,e,r,n,i){for(var a=[],o=0,s=e.length;o&lt;s;++o)M(e,String(o))?a.push(c(t,e,r,n,String(o),!0)):a.push(&quot;&quot;);return i.forEach(function(i){i.match(/^\d+$/)||a.push(c(t,e,r,n,i,!0))}),a}(t,e,n,v,o):o.map(function(r){return c(t,e,n,v,r,k)}),t.seen.pop(),function(t,e,r){var n=0;if(t.reduce(function(t,e){return n++,e.indexOf(&quot;\n&quot;)&gt;=0&amp;&amp;n++,t+e.replace(/\u001b\[\d\d?m/g,&quot;&quot;).length+1},0)&gt;60)return r[0]+(&quot;&quot;===e?&quot;&quot;:e+&quot;\n &quot;)+&quot; &quot;+t.join(&quot;,\n  &quot;)+&quot; &quot;+r[1];return r[0]+e+&quot; &quot;+t.join(&quot;, &quot;)+&quot; &quot;+r[1]}(T,w,A)}function l(t){return&quot;[&quot;+Error.prototype.toString.call(t)+&quot;]&quot;}function c(t,e,r,n,i,a){var o,l,c;if((c=Object.getOwnPropertyDescriptor(e,i)||{value:e[i]}).get?l=c.set?t.stylize(&quot;[Getter/Setter]&quot;,&quot;special&quot;):t.stylize(&quot;[Getter]&quot;,&quot;special&quot;):c.set&amp;&amp;(l=t.stylize(&quot;[Setter]&quot;,&quot;special&quot;)),M(n,i)||(o=&quot;[&quot;+i+&quot;]&quot;),l||(t.seen.indexOf(c.value)&lt;0?(l=h(r)?s(t,c.value,null):s(t,c.value,r-1)).indexOf(&quot;\n&quot;)&gt;-1&amp;&amp;(l=a?l.split(&quot;\n&quot;).map(function(t){return&quot;  &quot;+t}).join(&quot;\n&quot;).substr(2):&quot;\n&quot;+l.split(&quot;\n&quot;).map(function(t){return&quot;   &quot;+t}).join(&quot;\n&quot;)):l=t.stylize(&quot;[Circular]&quot;,&quot;special&quot;)),m(o)){if(a&amp;&amp;i.match(/^\d+$/))return l;(o=JSON.stringify(&quot;&quot;+i)).match(/^&quot;([a-zA-Z_][a-zA-Z_0-9]*)&quot;$/)?(o=o.substr(1,o.length-2),o=t.stylize(o,&quot;name&quot;)):(o=o.replace(/'/g,&quot;\\'&quot;).replace(/\\&quot;/g,'&quot;').replace(/(^&quot;|&quot;$)/g,&quot;'&quot;),o=t.stylize(o,&quot;string&quot;))}return o+&quot;: &quot;+l}function u(t){return Array.isArray(t)}function f(t){return&quot;boolean&quot;==typeof t}function h(t){return null===t}function d(t){return&quot;number&quot;==typeof t}function p(t){return&quot;string&quot;==typeof t}function m(t){return void 0===t}function g(t){return v(t)&amp;&amp;&quot;[object RegExp]&quot;===_(t)}function v(t){return&quot;object&quot;==typeof t&amp;&amp;null!==t}function y(t){return v(t)&amp;&amp;&quot;[object Date]&quot;===_(t)}function x(t){return v(t)&amp;&amp;(&quot;[object Error]&quot;===_(t)||t instanceof Error)}function b(t){return&quot;function&quot;==typeof t}function _(t){return Object.prototype.toString.call(t)}function w(t){return t&lt;10?&quot;0&quot;+t.toString(10):t.toString(10)}function M(t,e){return Object.prototype.hasOwnProperty.call(t,e)}var k=/%[sdj%]/g;r.format=function(t){if(!p(t)){for(var e=[],r=0;r&lt;arguments.length;r++)e.push(i(arguments[r]));return e.join(&quot; &quot;)}r=1;for(var n=arguments,a=n.length,o=String(t).replace(k,function(t){if(&quot;%%&quot;===t)return&quot;%&quot;;if(r&gt;=a)return t;switch(t){case&quot;%s&quot;:return String(n[r++]);case&quot;%d&quot;:return Number(n[r++]);case&quot;%j&quot;:try{return JSON.stringify(n[r++])}catch(t){return&quot;[Circular]&quot;}default:return t}}),s=n[r];r&lt;a;s=n[++r])h(s)||!v(s)?o+=&quot; &quot;+s:o+=&quot; &quot;+i(s);return o},r.deprecate=function(t,i){if(m(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,T={};r.debuglog=function(t){if(m(A)&amp;&amp;(A=e.env.NODE_DEBUG||&quot;&quot;),t=t.toUpperCase(),!T[t])if(new RegExp(&quot;\\b&quot;+t+&quot;\\b&quot;,&quot;i&quot;).test(A)){var n=e.pid;T[t]=function(){var e=r.format.apply(r,arguments);console.error(&quot;%s %d: %s&quot;,t,n,e)}}else T[t]=function(){};return T[t]},r.inspect=i,i.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]},i.styles={special:&quot;cyan&quot;,number:&quot;yellow&quot;,boolean:&quot;yellow&quot;,undefined:&quot;grey&quot;,null:&quot;bold&quot;,string:&quot;green&quot;,date:&quot;magenta&quot;,regexp:&quot;red&quot;},r.isArray=u,r.isBoolean=f,r.isNull=h,r.isNullOrUndefined=function(t){return null==t},r.isNumber=d,r.isString=p,r.isSymbol=function(t){return&quot;symbol&quot;==typeof t},r.isUndefined=m,r.isRegExp=g,r.isObject=v,r.isDate=y,r.isError=x,r.isFunction=b,r.isPrimitive=function(t){return null===t||&quot;boolean&quot;==typeof t||&quot;number&quot;==typeof t||&quot;string&quot;==typeof t||&quot;symbol&quot;==typeof t||void 0===t},r.isBuffer=t(&quot;./support/isBuffer&quot;);var S=[&quot;Jan&quot;,&quot;Feb&quot;,&quot;Mar&quot;,&quot;Apr&quot;,&quot;May&quot;,&quot;Jun&quot;,&quot;Jul&quot;,&quot;Aug&quot;,&quot;Sep&quot;,&quot;Oct&quot;,&quot;Nov&quot;,&quot;Dec&quot;];r.log=function(){console.log(&quot;%s - %s&quot;,function(){var t=new Date,e=[w(t.getHours()),w(t.getMinutes()),w(t.getSeconds())].join(&quot;:&quot;);return[t.getDate(),S[t.getMonth()],e].join(&quot; &quot;)}(),r.format.apply(r,arguments))},r.inherits=t(&quot;inherits&quot;),r._extend=function(t,e){if(!e||!v(e))return t;for(var r=Object.keys(e),n=r.length;n--;)t[r[n]]=e[r[n]];return t}}).call(this,t(&quot;_process&quot;),&quot;undefined&quot;!=typeof global?global:&quot;undefined&quot;!=typeof self?self:&quot;undefined&quot;!=typeof window?window:{})},{&quot;./support/isBuffer&quot;:562,_process:488,inherits:561}],564:[function(t,e,r){e.exports.VectorTile=t(&quot;./lib/vectortile.js&quot;),e.exports.VectorTileFeature=t(&quot;./lib/vectortilefeature.js&quot;),e.exports.VectorTileLayer=t(&quot;./lib/vectortilelayer.js&quot;)},{&quot;./lib/vectortile.js&quot;:565,&quot;./lib/vectortilefeature.js&quot;:566,&quot;./lib/vectortilelayer.js&quot;:567}],565:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r){if(3===t){var n=new i(r,r.readVarint()+r.pos);n.length&amp;&amp;(e[n.name]=n)}}var i=t(&quot;./vectortilelayer&quot;);e.exports=function(t,e){this.layers=t.readFields(n,{},e)}},{&quot;./vectortilelayer&quot;:567}],566:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,n,a){this.properties={},this.extent=r,this.type=0,this._pbf=t,this._geometry=-1,this._keys=n,this._values=a,t.readFields(i,this,e)}function i(t,e,r){1==t?e.id=r.readVarint():2==t?function(t,e){var r=t.readVarint()+t.pos;for(;t.pos&lt;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&amp;&amp;(e._geometry=r.pos)}var a=t(&quot;point-geometry&quot;);e.exports=n,n.types=[&quot;Unknown&quot;,&quot;Point&quot;,&quot;LineString&quot;,&quot;Polygon&quot;],n.prototype.loadGeometry=function(){var t=this._pbf;t.pos=this._geometry;for(var e,r=t.readVarint()+t.pos,n=1,i=0,o=0,s=0,l=[];t.pos&lt;r;){if(!i){var c=t.readVarint();n=7&amp;c,i=c&gt;&gt;3}if(i--,1===n||2===n)o+=t.readSVarint(),s+=t.readSVarint(),1===n&amp;&amp;(e&amp;&amp;l.push(e),e=[]),e.push(new a(o,s));else{if(7!==n)throw new Error(&quot;unknown command &quot;+n);e&amp;&amp;e.push(e[0].clone())}}return e&amp;&amp;l.push(e),l},n.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&lt;e;){if(!n){var u=t.readVarint();r=7&amp;u,n=u&gt;&gt;3}if(n--,1===r||2===r)i+=t.readSVarint(),a+=t.readSVarint(),i&lt;o&amp;&amp;(o=i),i&gt;s&amp;&amp;(s=i),a&lt;l&amp;&amp;(l=a),a&gt;c&amp;&amp;(c=a);else if(7!==r)throw new Error(&quot;unknown command &quot;+r)}return[o,l,s,c]},n.prototype.toGeoJSON=function(t,e,r){function i(t){for(var e=0;e&lt;t.length;e++){var r=t[e],n=180-360*(r.y+c)/s;t[e]=[360*(r.x+l)/s-180,360/Math.PI*Math.atan(Math.exp(n*Math.PI/180))-90]}}var a,o,s=this.extent*Math.pow(2,r),l=this.extent*t,c=this.extent*e,u=this.loadGeometry(),f=n.types[this.type];switch(this.type){case 1:var h=[];for(a=0;a&lt;u.length;a++)h[a]=u[a][0];i(u=h);break;case 2:for(a=0;a&lt;u.length;a++)i(u[a]);break;case 3:for(u=function(t){var e=t.length;if(e&lt;=1)return[t];for(var r,n,i=[],a=0;a&lt;e;a++){var o=function(t){for(var e,r,n=0,i=0,a=t.length,o=a-1;i&lt;a;o=i++)e=t[i],r=t[o],n+=(r.x-e.x)*(e.y+r.y);return n}(t[a]);0!==o&amp;&amp;(void 0===n&amp;&amp;(n=o&lt;0),n===o&lt;0?(r&amp;&amp;i.push(r),r=[t[a]]):r.push(t[a]))}return r&amp;&amp;i.push(r),i}(u),a=0;a&lt;u.length;a++)for(o=0;o&lt;u[a].length;o++)i(u[a][o])}1===u.length?u=u[0]:f=&quot;Multi&quot;+f;var d={type:&quot;Feature&quot;,geometry:{type:f,coordinates:u},properties:this.properties};return&quot;id&quot;in this&amp;&amp;(d.id=this.id),d}},{&quot;point-geometry&quot;:477}],567:[function(t,e,r){&quot;use strict&quot;;function n(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(i,this,e),this.length=this._features.length}function i(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&amp;&amp;e._values.push(function(t){var e=null,r=t.readVarint()+t.pos;for(;t.pos&lt;r;){var n=t.readVarint()&gt;&gt;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))}var a=t(&quot;./vectortilefeature.js&quot;);e.exports=n,n.prototype.feature=function(t){if(t&lt;0||t&gt;=this._features.length)throw new Error(&quot;feature index out of bounds&quot;);this._pbf.pos=this._features[t];var e=this._pbf.readVarint()+this._pbf.pos;return new a(this._pbf,e,this.extent,this._keys,this._values)}},{&quot;./vectortilefeature.js&quot;:566}],568:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t,e){return&quot;object&quot;==typeof e&amp;&amp;null!==e||(e={}),n(t,e.canvas||i,e.context||a,e)};var n=t(&quot;./lib/vtext&quot;),i=null,a=null;&quot;undefined&quot;!=typeof document&amp;&amp;((i=document.createElement(&quot;canvas&quot;)).width=8192,i.height=1024,a=i.getContext(&quot;2d&quot;))},{&quot;./lib/vtext&quot;:569}],569:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,n){var i=function(t,e){var r=a(t,128);return e?s(r.cells,r.positions,.25):{edges:r.cells,positions:r.positions}}(t,n),o=function(t,e,r){for(var n=e.textAlign||&quot;start&quot;,i=e.textBaseline||&quot;alphabetic&quot;,a=[1&lt;&lt;30,1&lt;&lt;30],o=[0,0],s=t.length,l=0;l&lt;s;++l)for(var c=t[l],u=0;u&lt;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&quot;center&quot;:f=-.5*(a[0]+o[0]);break;case&quot;right&quot;:case&quot;end&quot;:f=-o[0];break;case&quot;left&quot;:case&quot;start&quot;:f=-a[0];break;default:throw new Error(&quot;vectorize-text: Unrecognized textAlign: '&quot;+n+&quot;'&quot;)}var h=0;switch(i){case&quot;hanging&quot;:case&quot;top&quot;:h=-a[1];break;case&quot;middle&quot;:h=-.5*(a[1]+o[1]);break;case&quot;alphabetic&quot;:case&quot;ideographic&quot;:h=-3*r;break;case&quot;bottom&quot;:h=-o[1];break;default:throw new Error(&quot;vectorize-text: Unrecoginized textBaseline: '&quot;+i+&quot;'&quot;)}var d=1/r;return&quot;lineHeight&quot;in e?d*=+e.lineHeight:&quot;width&quot;in e?d=e.width/(o[0]-a[0]):&quot;height&quot;in e&amp;&amp;(d=e.height/(o[1]-a[1])),t.map(function(t){return[d*(t[0]+f),d*(t[1]+h)]})}(i.positions,e,r),f=i.edges,h=&quot;ccw&quot;===e.orientation;if(l(o,f),e.polygons||e.polygon||e.polyline){for(var d=u(f,o),p=new Array(d.length),m=0;m&lt;d.length;++m){for(var g=d[m],v=new Array(g.length),y=0;y&lt;g.length;++y){for(var x=g[y],b=new Array(x.length),_=0;_&lt;x.length;++_)b[_]=o[x[_]].slice();h&amp;&amp;b.reverse(),v[y]=b}p[m]=v}return p}return e.triangles||e.triangulate||e.triangle?{cells:c(o,f,{delaunay:!1,exterior:!1,interior:!0}),positions:o}:{edges:f,positions:o}}function i(t,e,r){try{return n(t,e,r,!0)}catch(t){}try{return n(t,e,r,!1)}catch(t){}return e.polygons||e.polyline||e.polygon?[]:e.triangles||e.triangulate||e.triangle?{cells:[],positions:[]}:{edges:[],positions:[]}}e.exports=function(t,e,r,n){var a=n.size||64,s=n.font||&quot;normal&quot;;return r.font=a+&quot;px &quot;+s,r.textAlign=&quot;start&quot;,r.textBaseline=&quot;alphabetic&quot;,r.direction=&quot;ltr&quot;,i(function(t,e,r,n){var i=0|Math.ceil(e.measureText(r).width+2*n);if(i&gt;8192)throw new Error(&quot;vectorize-text: String too long (sorry, this will get fixed later)&quot;);var a=3*n;t.height&lt;a&amp;&amp;(t.height=a),e.fillStyle=&quot;#000&quot;,e.fillRect(0,0,t.width,t.height),e.fillStyle=&quot;#fff&quot;,e.fillText(r,n,2*n);var s=e.getImageData(0,0,i,a);return o(s.data,[a,i,4]).pick(-1,-1,0).transpose(1,0)}(e,r,t,a),n,a)},e.exports.processPixels=i;var a=t(&quot;surface-nets&quot;),o=t(&quot;ndarray&quot;),s=t(&quot;simplify-planar-graph&quot;),l=t(&quot;clean-pslg&quot;),c=t(&quot;cdt2d&quot;),u=t(&quot;planar-graph-to-polyline&quot;)},{cdt2d:84,&quot;clean-pslg&quot;:94,ndarray:458,&quot;planar-graph-to-polyline&quot;:476,&quot;simplify-planar-graph&quot;:530,&quot;surface-nets&quot;:540}],570:[function(t,e,r){function n(t){var e=[];for(var r in t.layers)e.push(function(t){for(var e={name:t.name||&quot;&quot;,version:t.version||1,extent:t.extent||4096,keys:[],values:[],features:[]},r={},n={},o=0;o&lt;t.length;o++){var s=t.feature(o);s.geometry=function(t){for(var e=[],r=0,n=0,o=t.length,s=0;s&lt;o;s++){var l=t[s];e.push(i(1,1));for(var c=0;c&lt;l.length;c++){1===c&amp;&amp;e.push(i(2,l.length-1));var u=l[c].x-r,f=l[c].y-n;e.push(a(u),a(f)),r+=u,n+=f}}return e}(s.loadGeometry());var l=[];for(var c in s.properties){var u=r[c];void 0===u&amp;&amp;(e.keys.push(c),u=e.keys.length-1,r[c]=u);var f=function(t){var e,r=typeof t;&quot;string&quot;===r?e={string_value:t}:&quot;boolean&quot;===r?e={bool_value:t}:&quot;number&quot;===r?e=t%1!=0?{double_value:t}:t&lt;0?{sint_value:t}:{uint_value:t}:(t=JSON.stringify(t),e={string_value:t});return e.key=r+&quot;:&quot;+t,e}(s.properties[c]),h=n[f.key];void 0===h&amp;&amp;(e.values.push(f),h=e.values.length-1,n[f.key]=h),l.push(u),l.push(h)}s.tags=l,e.features.push(s)}return e}(t.layers[r]));var n=new o;return s.tile.write({layers:e},n),n.finish()}function i(t,e){return(e&lt;&lt;3)+(7&amp;t)}function a(t){return t&lt;&lt;1^t&gt;&gt;31}var o=t(&quot;pbf&quot;),s=t(&quot;./vector-tile-pb&quot;),l=t(&quot;./lib/geojson_wrapper&quot;);e.exports=n,e.exports.fromVectorTileJs=n,e.exports.fromGeojsonVt=function(t){var e={};for(var r in t)e[r]=new l(t[r].features),e[r].name=r;return n({layers:e})},e.exports.GeoJSONWrapper=l},{&quot;./lib/geojson_wrapper&quot;:571,&quot;./vector-tile-pb&quot;:572,pbf:470}],571:[function(t,e,r){&quot;use strict&quot;;function n(t){this.features=t,this.length=t.length}function i(t){this.id=&quot;number&quot;==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=4096}var a=t(&quot;point-geometry&quot;),o=t(&quot;vector-tile&quot;).VectorTileFeature;e.exports=n,n.prototype.feature=function(t){return new i(this.features[t])},i.prototype.loadGeometry=function(){var t=this.rawGeometry;this.geometry=[];for(var e=0;e&lt;t.length;e++){for(var r=t[e],n=[],i=0;i&lt;r.length;i++)n.push(new a(r[i][0],r[i][1]));this.geometry.push(n)}return this.geometry},i.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&lt;t.length;a++)for(var o=t[a],s=0;s&lt;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]},i.prototype.toGeoJSON=o.prototype.toGeoJSON},{&quot;point-geometry&quot;:477,&quot;vector-tile&quot;:564}],572:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r){3===t&amp;&amp;e.layers.push(u(r,r.readVarint()+r.pos))}function i(t,e){return t.readFields(a,{},e)}function a(t,e,r){1===t?e.string_value=r.readString():2===t?e.float_value=r.readFloat():3===t?e.double_value=r.readDouble():4===t?e.int_value=r.readVarint():5===t?e.uint_value=r.readVarint():6===t?e.sint_value=r.readSVarint():7===t&amp;&amp;(e.bool_value=r.readBoolean())}function o(t,e){void 0!==t.string_value&amp;&amp;e.writeStringField(1,t.string_value),void 0!==t.float_value&amp;&amp;e.writeFloatField(2,t.float_value),void 0!==t.double_value&amp;&amp;e.writeDoubleField(3,t.double_value),void 0!==t.int_value&amp;&amp;e.writeVarintField(4,t.int_value),void 0!==t.uint_value&amp;&amp;e.writeVarintField(5,t.uint_value),void 0!==t.sint_value&amp;&amp;e.writeSVarintField(6,t.sint_value),void 0!==t.bool_value&amp;&amp;e.writeBooleanField(7,t.bool_value)}function s(t,e){var r=t.readFields(l,{},e);return void 0===r.type&amp;&amp;(r.type=&quot;Unknown&quot;),r}function l(t,e,r){1===t?e.id=r.readVarint():2===t?e.tags=r.readPackedVarint():3===t?e.type=r.readVarint():4===t&amp;&amp;(e.geometry=r.readPackedVarint())}function c(t,e){void 0!==t.id&amp;&amp;e.writeVarintField(1,t.id),void 0!==t.tags&amp;&amp;e.writePackedVarint(2,t.tags),void 0!==t.type&amp;&amp;e.writeVarintField(3,t.type),void 0!==t.geometry&amp;&amp;e.writePackedVarint(4,t.geometry)}function u(t,e){return t.readFields(f,{features:[],keys:[],values:[]},e)}function f(t,e,r){15===t?e.version=r.readVarint():1===t?e.name=r.readString():2===t?e.features.push(s(r,r.readVarint()+r.pos)):3===t?e.keys.push(r.readString()):4===t?e.values.push(i(r,r.readVarint()+r.pos)):5===t&amp;&amp;(e.extent=r.readVarint())}function h(t,e){void 0!==t.version&amp;&amp;e.writeVarintField(15,t.version),void 0!==t.name&amp;&amp;e.writeStringField(1,t.name);var r;if(void 0!==t.features)for(r=0;r&lt;t.features.length;r++)e.writeMessage(2,c,t.features[r]);if(void 0!==t.keys)for(r=0;r&lt;t.keys.length;r++)e.writeStringField(3,t.keys[r]);if(void 0!==t.values)for(r=0;r&lt;t.values.length;r++)e.writeMessage(4,o,t.values[r]);void 0!==t.extent&amp;&amp;e.writeVarintField(5,t.extent)}var d=r.tile={read:function(t,e){return t.readFields(n,{layers:[]},e)},write:function(t,e){var r;if(void 0!==t.layers)for(r=0;r&lt;t.layers.length;r++)e.writeMessage(3,h,t.layers[r])}};d.GeomType={Unknown:0,Point:1,LineString:2,Polygon:3},d.value={read:i,write:o},d.feature={read:s,write:c},d.layer={read:u,write:h}},{}],573:[function(t,e,r){!function(){&quot;use strict&quot;;function t(e){e.permitHostObjects___&amp;&amp;e.permitHostObjects___(t)}function r(t){return!(t.substr(0,d.length)==d&amp;&amp;&quot;___&quot;===t.substr(t.length-3))}function n(t){if(t!==Object(t))throw new TypeError(&quot;Not an object: &quot;+t);var e=t[p];if(e&amp;&amp;e.key===t)return e;if(h(t)){e={key:t};try{return f(t,p,{value:e,writable:!1,enumerable:!1,configurable:!1}),e}catch(t){return}}}function i(t){return t.prototype=null,Object.freeze(t)}function a(){y||&quot;undefined&quot;==typeof console||(y=!0,console.warn(&quot;WeakMap should be invoked as new WeakMap(), not WeakMap(). This will be an error in the future.&quot;))}if(&quot;undefined&quot;==typeof ses||!ses.ok||ses.ok()){&quot;undefined&quot;!=typeof ses&amp;&amp;(ses.weakMapPermitHostObjects=t);var o=!1;if(&quot;function&quot;==typeof WeakMap){var s=WeakMap;if(&quot;undefined&quot;!=typeof navigator&amp;&amp;/Firefox/.test(navigator.userAgent));else{var l=new s,c=Object.freeze({});if(l.set(c,1),1===l.get(c))return void(e.exports=WeakMap);o=!0}}Object.prototype.hasOwnProperty;var u=Object.getOwnPropertyNames,f=Object.defineProperty,h=Object.isExtensible,d=&quot;weakmap:&quot;,p=d+&quot;ident:&quot;+Math.random()+&quot;___&quot;;if(&quot;undefined&quot;!=typeof crypto&amp;&amp;&quot;function&quot;==typeof crypto.getRandomValues&amp;&amp;&quot;function&quot;==typeof ArrayBuffer&amp;&amp;&quot;function&quot;==typeof Uint8Array){var m=new ArrayBuffer(25),g=new Uint8Array(m);crypto.getRandomValues(g),p=d+&quot;rand:&quot;+Array.prototype.map.call(g,function(t){return(t%36).toString(36)}).join(&quot;&quot;)+&quot;___&quot;}if(f(Object,&quot;getOwnPropertyNames&quot;,{value:function(t){return u(t).filter(r)}}),&quot;getPropertyNames&quot;in Object){var v=Object.getPropertyNames;f(Object,&quot;getPropertyNames&quot;,{value:function(t){return v(t).filter(r)}})}!function(){var t=Object.freeze;f(Object,&quot;freeze&quot;,{value:function(e){return n(e),t(e)}});var e=Object.seal;f(Object,&quot;seal&quot;,{value:function(t){return n(t),e(t)}});var r=Object.preventExtensions;f(Object,&quot;preventExtensions&quot;,{value:function(t){return n(t),r(t)}})}();var y=!1,x=0,b=function(){this instanceof b||a();var t=[],e=[],r=x++;return Object.create(b.prototype,{get___:{value:i(function(i,a){var o,s=n(i);return s?r in s?s[r]:a:(o=t.indexOf(i))&gt;=0?e[o]:a})},has___:{value:i(function(e){var i=n(e);return i?r in i:t.indexOf(e)&gt;=0})},set___:{value:i(function(i,a){var o,s=n(i);return s?s[r]=a:(o=t.indexOf(i))&gt;=0?e[o]=a:(o=t.length,e[o]=a,t[o]=i),this})},delete___:{value:i(function(i){var a,o,s=n(i);return s?r in s&amp;&amp;delete s[r]:!((a=t.indexOf(i))&lt;0||(o=t.length-1,t[a]=void 0,e[a]=e[o],t[a]=t[o],t.length=o,e.length=o,0))})}})};b.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}}),&quot;function&quot;==typeof s?function(){function r(){this instanceof b||a();var e,r=new s,n=void 0,l=!1;return e=o?function(t,e){return r.set(t,e),r.has(t)||(n||(n=new b),n.set(t,e)),this}:function(t,e){if(l)try{r.set(t,e)}catch(r){n||(n=new b),n.set___(t,e)}else r.set(t,e);return this},Object.create(b.prototype,{get___:{value:i(function(t,e){return n?r.has(t)?r.get(t):n.get___(t,e):r.get(t,e)})},has___:{value:i(function(t){return r.has(t)||!!n&amp;&amp;n.has___(t)})},set___:{value:i(e)},delete___:{value:i(function(t){var e=!!r.delete(t);return n?n.delete___(t)||e:e})},permitHostObjects___:{value:i(function(e){if(e!==t)throw new Error(&quot;bogus call to permitHostObjects___&quot;);l=!0})}})}o&amp;&amp;&quot;undefined&quot;!=typeof Proxy&amp;&amp;(Proxy=void 0),r.prototype=b.prototype,e.exports=r,Object.defineProperty(WeakMap.prototype,&quot;constructor&quot;,{value:WeakMap,enumerable:!1,configurable:!0,writable:!0})}():(&quot;undefined&quot;!=typeof Proxy&amp;&amp;(Proxy=void 0),e.exports=b)}}()},{}],574:[function(t,e,r){var n=t(&quot;./hidden-store.js&quot;);e.exports=function(){var t={};return function(e){if((&quot;object&quot;!=typeof e||null===e)&amp;&amp;&quot;function&quot;!=typeof e)throw new Error(&quot;Weakmap-shim: Key must be object&quot;);var r=e.valueOf(t);return r&amp;&amp;r.identity===t?r:n(e,t)}}},{&quot;./hidden-store.js&quot;:575}],575:[function(t,e,r){e.exports=function(t,e){var r={identity:e},n=t.valueOf;return Object.defineProperty(t,&quot;valueOf&quot;,{value:function(t){return t!==e?n.apply(this,arguments):r},writable:!0}),r}},{}],576:[function(t,e,r){var n=t(&quot;./create-store.js&quot;);e.exports=function(){var t=n();return{get:function(e,r){var n=t(e);return n.hasOwnProperty(&quot;value&quot;)?n.value:r},set:function(e,r){return t(e).value=r,this},has:function(e){return&quot;value&quot;in t(e)},delete:function(e){return delete t(e).value}}}},{&quot;./create-store.js&quot;:574}],577:[function(t,e,r){var n=t(&quot;get-canvas-context&quot;);e.exports=function(t){return n(&quot;webgl&quot;,t)}},{&quot;get-canvas-context&quot;:156}],578:[function(t,e,r){var n=arguments[3],i=arguments[4],a=arguments[5],o=JSON.stringify;e.exports=function(t,e){function r(t){g[t]=!0;for(var e in i[t][1]){var n=i[t][1][e];g[n]||r(n)}}for(var s,l=Object.keys(a),c=0,u=l.length;c&lt;u;c++){var f=l[c],h=a[f].exports;if(h===t||h&amp;&amp;h.default===t){s=f;break}}if(!s){s=Math.floor(Math.pow(16,8)*Math.random()).toString(16);var d={};for(c=0,u=l.length;c&lt;u;c++){d[f=l[c]]=f}i[s]=[Function([&quot;require&quot;,&quot;module&quot;,&quot;exports&quot;],&quot;(&quot;+t+&quot;)(self)&quot;),d]}var p=Math.floor(Math.pow(16,8)*Math.random()).toString(16),m={};m[s]=s,i[p]=[Function([&quot;require&quot;],&quot;var f = require(&quot;+o(s)+&quot;);(f.default ? f.default : f)(self);&quot;),m];var g={};r(p);var v=&quot;(&quot;+n+&quot;)({&quot;+Object.keys(g).map(function(t){return o(t)+&quot;:[&quot;+i[t][0]+&quot;,&quot;+o(i[t][1])+&quot;]&quot;}).join(&quot;,&quot;)+&quot;},{},[&quot;+o(p)+&quot;])&quot;,y=window.URL||window.webkitURL||window.mozURL||window.msURL,x=new Blob([v],{type:&quot;text/javascript&quot;});if(e&amp;&amp;e.bare)return x;var b=y.createObjectURL(x),_=new Worker(b);return _.objectURL=b,_}},{}],579:[function(t,e,r){e.exports.RADIUS=6378137,e.exports.FLATTENING=1/298.257223563,e.exports.POLAR_RADIUS=6356752.3142},{}],580:[function(t,e,r){!function(t,n){n(&quot;object&quot;==typeof r&amp;&amp;void 0!==e?r:t.WhooTS=t.WhooTS||{})}(this,function(t){function e(t,e,n){var i=r(256*t,256*(e=Math.pow(2,n)-e-1),n),a=r(256*(t+1),256*(e+1),n);return i[0]+&quot;,&quot;+i[1]+&quot;,&quot;+a[0]+&quot;,&quot;+a[1]}function r(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]}t.getURL=function(t,r,n,i,a,o){return o=o||{},t+&quot;?&quot;+[&quot;bbox=&quot;+e(n,i,a),&quot;format=&quot;+(o.format||&quot;image/png&quot;),&quot;service=&quot;+(o.service||&quot;WMS&quot;),&quot;version=&quot;+(o.version||&quot;1.1.1&quot;),&quot;request=&quot;+(o.request||&quot;GetMap&quot;),&quot;srs=&quot;+(o.srs||&quot;EPSG:3857&quot;),&quot;width=&quot;+(o.width||256),&quot;height=&quot;+(o.height||256),&quot;layers=&quot;+r].join(&quot;&amp;&quot;)},t.getTileBBox=e,t.getMercCoords=r,Object.defineProperty(t,&quot;__esModule&quot;,{value:!0})})},{}],581:[function(t,e,r){function n(t){this.local=this.regionalOptions[t||&quot;&quot;]||this.regionalOptions[&quot;&quot;]}var i=t(&quot;../main&quot;),a=t(&quot;object-assign&quot;),o=i.instance();a(n.prototype=new i.baseCalendar,{name:&quot;Chinese&quot;,jdEpoch:1721425.5,hasYearZero:!1,minMonth:0,firstMonth:0,minDay:1,regionalOptions:{&quot;&quot;:{name:&quot;Chinese&quot;,epochs:[&quot;BEC&quot;,&quot;EC&quot;],monthNumbers:function(t,e){if(&quot;string&quot;==typeof t){var r=t.match(l);return r?r[0]:&quot;&quot;}var n=this._validateYear(t),i=t.month(),a=&quot;&quot;+this.toChineseMonth(n,i);return e&amp;&amp;a.length&lt;2&amp;&amp;(a=&quot;0&quot;+a),this.isIntercalaryMonth(n,i)&amp;&amp;(a+=&quot;i&quot;),a},monthNames:function(t){if(&quot;string&quot;==typeof t){var e=t.match(c);return e?e[0]:&quot;&quot;}var r=this._validateYear(t),n=t.month(),i=[&quot;\u4e00\u6708&quot;,&quot;\u4e8c\u6708&quot;,&quot;\u4e09\u6708&quot;,&quot;\u56db\u6708&quot;,&quot;\u4e94\u6708&quot;,&quot;\u516d\u6708&quot;,&quot;\u4e03\u6708&quot;,&quot;\u516b\u6708&quot;,&quot;\u4e5d\u6708&quot;,&quot;\u5341\u6708&quot;,&quot;\u5341\u4e00\u6708&quot;,&quot;\u5341\u4e8c\u6708&quot;][this.toChineseMonth(r,n)-1];return this.isIntercalaryMonth(r,n)&amp;&amp;(i=&quot;\u95f0&quot;+i),i},monthNamesShort:function(t){if(&quot;string&quot;==typeof t){var e=t.match(u);return e?e[0]:&quot;&quot;}var r=this._validateYear(t),n=t.month(),i=[&quot;\u4e00&quot;,&quot;\u4e8c&quot;,&quot;\u4e09&quot;,&quot;\u56db&quot;,&quot;\u4e94&quot;,&quot;\u516d&quot;,&quot;\u4e03&quot;,&quot;\u516b&quot;,&quot;\u4e5d&quot;,&quot;\u5341&quot;,&quot;\u5341\u4e00&quot;,&quot;\u5341\u4e8c&quot;][this.toChineseMonth(r,n)-1];return this.isIntercalaryMonth(r,n)&amp;&amp;(i=&quot;\u95f0&quot;+i),i},parseMonth:function(t,e){t=this._validateYear(t);var r,n=parseInt(e);if(isNaN(n))&quot;\u95f0&quot;===e[0]&amp;&amp;(r=!0,e=e.substring(1)),&quot;\u6708&quot;===e[e.length-1]&amp;&amp;(e=e.substring(0,e.length-1)),n=1+[&quot;\u4e00&quot;,&quot;\u4e8c&quot;,&quot;\u4e09&quot;,&quot;\u56db&quot;,&quot;\u4e94&quot;,&quot;\u516d&quot;,&quot;\u4e03&quot;,&quot;\u516b&quot;,&quot;\u4e5d&quot;,&quot;\u5341&quot;,&quot;\u5341\u4e00&quot;,&quot;\u5341\u4e8c&quot;].indexOf(e);else{var i=e[e.length-1];r=&quot;i&quot;===i||&quot;I&quot;===i}return this.toMonthIndex(t,n,r)},dayNames:[&quot;Sunday&quot;,&quot;Monday&quot;,&quot;Tuesday&quot;,&quot;Wednesday&quot;,&quot;Thursday&quot;,&quot;Friday&quot;,&quot;Saturday&quot;],dayNamesShort:[&quot;Sun&quot;,&quot;Mon&quot;,&quot;Tue&quot;,&quot;Wed&quot;,&quot;Thu&quot;,&quot;Fri&quot;,&quot;Sat&quot;],dayNamesMin:[&quot;Su&quot;,&quot;Mo&quot;,&quot;Tu&quot;,&quot;We&quot;,&quot;Th&quot;,&quot;Fr&quot;,&quot;Sa&quot;],digits:null,dateFormat:&quot;yyyy/mm/dd&quot;,firstDay:1,isRTL:!1}},_validateYear:function(t,e){if(t.year&amp;&amp;(t=t.year()),&quot;number&quot;!=typeof t||t&lt;1888||t&gt;2111)throw e.replace(/\{0\}/,this.local.name);return t},toMonthIndex:function(t,e,r){var n=this.intercalaryMonth(t);if(r&amp;&amp;e!==n||e&lt;1||e&gt;12)throw i.local.invalidMonth.replace(/\{0\}/,this.local.name);return n?!r&amp;&amp;e&lt;=n?e-1:e:e-1},toChineseMonth:function(t,e){t.year&amp;&amp;(e=(t=t.year()).month());var r=this.intercalaryMonth(t);if(e&lt;0||e&gt;(r?12:11))throw i.local.invalidMonth.replace(/\{0\}/,this.local.name);return r?e&lt;r?e+1:e:e+1},intercalaryMonth:function(t){t=this._validateYear(t);return f[t-f[0]]&gt;&gt;13},isIntercalaryMonth:function(t,e){t.year&amp;&amp;(e=(t=t.year()).month());var r=this.intercalaryMonth(t);return!!r&amp;&amp;r===e},leapYear:function(t){return 0!==this.intercalaryMonth(t)},weekOfYear:function(t,e,r){var n,a=this._validateYear(t,i.local.invalidyear),s=h[a-h[0]],l=s&gt;&gt;9&amp;4095,c=s&gt;&gt;5&amp;15,u=31&amp;s;(n=o.newDate(l,c,u)).add(4-(n.dayOfWeek()||7),&quot;d&quot;);var f=this.toJD(t,e,r)-n.toJD();return 1+Math.floor(f/7)},monthsInYear:function(t){return this.leapYear(t)?13:12},daysInMonth:function(t,e){t.year&amp;&amp;(e=t.month(),t=t.year()),t=this._validateYear(t);var r=f[t-f[0]];if(e&gt;(r&gt;&gt;13?12:11))throw i.local.invalidMonth.replace(/\{0\}/,this.local.name);return r&amp;1&lt;&lt;12-e?30:29},weekDay:function(t,e,r){return(this.dayOfWeek(t,e,r)||7)&lt;6},toJD:function(t,e,r){var n=this._validate(t,s,r,i.local.invalidDate);t=this._validateYear(n.year()),e=n.month(),r=n.day();var a=this.isIntercalaryMonth(t,e),s=this.toChineseMonth(t,e),l=function(t,e,r,n,i){var a,o;if(&quot;object&quot;==typeof t)o=t,a=e||{};else{if(!(&quot;number&quot;==typeof t&amp;&amp;t&gt;=1888&amp;&amp;t&lt;=2111))throw new Error(&quot;Lunar year outside range 1888-2111&quot;);if(!(&quot;number&quot;==typeof e&amp;&amp;e&gt;=1&amp;&amp;e&lt;=12))throw new Error(&quot;Lunar month outside range 1 - 12&quot;);if(!(&quot;number&quot;==typeof r&amp;&amp;r&gt;=1&amp;&amp;r&lt;=30))throw new Error(&quot;Lunar day outside range 1 - 30&quot;);var s;&quot;object&quot;==typeof n?(s=!1,a=n):(s=!!n,a=i||{}),o={year:t,month:e,day:r,isIntercalary:s}}var l;l=o.day-1;var c,u=f[o.year-f[0]],d=u&gt;&gt;13;c=d?o.month&gt;d?o.month:o.isIntercalary?o.month:o.month-1:o.month-1;for(var p=0;p&lt;c;p++)l+=u&amp;1&lt;&lt;12-p?30:29;var m=h[o.year-h[0]],g=m&gt;&gt;9&amp;4095,v=m&gt;&gt;5&amp;15,y=31&amp;m,x=new Date(g,v-1,y+l);return a.year=x.getFullYear(),a.month=1+x.getMonth(),a.day=x.getDate(),a}(t,s,r,a);return o.toJD(l.year,l.month,l.day)},fromJD:function(t){var e=o.fromJD(t),r=function(t,e,r,n){var i,a;if(&quot;object&quot;==typeof t)i=t,a=e||{};else{if(!(&quot;number&quot;==typeof t&amp;&amp;t&gt;=1888&amp;&amp;t&lt;=2111))throw new Error(&quot;Solar year outside range 1888-2111&quot;);if(!(&quot;number&quot;==typeof e&amp;&amp;e&gt;=1&amp;&amp;e&lt;=12))throw new Error(&quot;Solar month outside range 1 - 12&quot;);if(!(&quot;number&quot;==typeof r&amp;&amp;r&gt;=1&amp;&amp;r&lt;=31))throw new Error(&quot;Solar day outside range 1 - 31&quot;);i={year:t,month:e,day:r},a=n||{}}var o=h[i.year-h[0]],s=i.year&lt;&lt;9|i.month&lt;&lt;5|i.day;a.year=s&gt;=o?i.year:i.year-1;var l,c=(o=h[a.year-h[0]])&gt;&gt;9&amp;4095,u=o&gt;&gt;5&amp;15,d=31&amp;o,p=new Date(c,u-1,d),m=new Date(i.year,i.month-1,i.day);l=Math.round((m-p)/864e5);var g,v=f[a.year-f[0]];for(g=0;g&lt;13;g++){var y=v&amp;1&lt;&lt;12-g?30:29;if(l&lt;y)break;l-=y}var x=v&gt;&gt;13;return!x||g&lt;x?(a.isIntercalary=!1,a.month=1+g):g===x?(a.isIntercalary=!0,a.month=g):(a.isIntercalary=!1,a.month=g),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 i=t.year(),a=t.month(),o=this.isIntercalaryMonth(i,a),s=this.toChineseMonth(i,a),l=Object.getPrototypeOf(n.prototype).add.call(this,t,e,r);if(&quot;y&quot;===r){var c=l.year(),u=l.month(),f=this.isIntercalaryMonth(c,s),h=o&amp;&amp;f?this.toMonthIndex(c,s,!0):this.toMonthIndex(c,s,!1);h!==u&amp;&amp;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;i.calendars.chinese=n;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]},{&quot;../main&quot;:595,&quot;object-assign&quot;:462}],582:[function(t,e,r){function n(t){this.local=this.regionalOptions[t||&quot;&quot;]||this.regionalOptions[&quot;&quot;]}var i=t(&quot;../main&quot;);t(&quot;object-assign&quot;)(n.prototype=new i.baseCalendar,{name:&quot;Coptic&quot;,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:{&quot;&quot;:{name:&quot;Coptic&quot;,epochs:[&quot;BAM&quot;,&quot;AM&quot;],monthNames:[&quot;Thout&quot;,&quot;Paopi&quot;,&quot;Hathor&quot;,&quot;Koiak&quot;,&quot;Tobi&quot;,&quot;Meshir&quot;,&quot;Paremhat&quot;,&quot;Paremoude&quot;,&quot;Pashons&quot;,&quot;Paoni&quot;,&quot;Epip&quot;,&quot;Mesori&quot;,&quot;Pi Kogi Enavot&quot;],monthNamesShort:[&quot;Tho&quot;,&quot;Pao&quot;,&quot;Hath&quot;,&quot;Koi&quot;,&quot;Tob&quot;,&quot;Mesh&quot;,&quot;Pat&quot;,&quot;Pad&quot;,&quot;Pash&quot;,&quot;Pao&quot;,&quot;Epi&quot;,&quot;Meso&quot;,&quot;PiK&quot;],dayNames:[&quot;Tkyriaka&quot;,&quot;Pesnau&quot;,&quot;Pshoment&quot;,&quot;Peftoou&quot;,&quot;Ptiou&quot;,&quot;Psoou&quot;,&quot;Psabbaton&quot;],dayNamesShort:[&quot;Tky&quot;,&quot;Pes&quot;,&quot;Psh&quot;,&quot;Pef&quot;,&quot;Pti&quot;,&quot;Pso&quot;,&quot;Psa&quot;],dayNamesMin:[&quot;Tk&quot;,&quot;Pes&quot;,&quot;Psh&quot;,&quot;Pef&quot;,&quot;Pt&quot;,&quot;Pso&quot;,&quot;Psa&quot;],digits:null,dateFormat:&quot;dd/mm/yyyy&quot;,firstDay:0,isRTL:!1}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,i.local.invalidYear);return(t=e.year()+(e.year()&lt;0?1:0))%4==3||t%4==-1},monthsInYear:function(t){return this._validate(t,this.minMonth,this.minDay,i.local.invalidYear||i.regionalOptions[&quot;&quot;].invalidYear),13},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(-n.dayOfWeek(),&quot;d&quot;),Math.floor((n.dayOfYear()-1)/7)+1},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,i.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(13===r.month()&amp;&amp;this.leapYear(r.year())?1:0)},weekDay:function(t,e,r){return(this.dayOfWeek(t,e,r)||7)&lt;6},toJD:function(t,e,r){var n=this._validate(t,e,r,i.local.invalidDate);return(t=n.year())&lt;0&amp;&amp;t++,n.day()+30*(n.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&lt;=0&amp;&amp;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)}}),i.calendars.coptic=n},{&quot;../main&quot;:595,&quot;object-assign&quot;:462}],583:[function(t,e,r){function n(t){this.local=this.regionalOptions[t||&quot;&quot;]||this.regionalOptions[&quot;&quot;]}var i=t(&quot;../main&quot;);t(&quot;object-assign&quot;)(n.prototype=new i.baseCalendar,{name:&quot;Discworld&quot;,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:{&quot;&quot;:{name:&quot;Discworld&quot;,epochs:[&quot;BUC&quot;,&quot;UC&quot;],monthNames:[&quot;Ick&quot;,&quot;Offle&quot;,&quot;February&quot;,&quot;March&quot;,&quot;April&quot;,&quot;May&quot;,&quot;June&quot;,&quot;Grune&quot;,&quot;August&quot;,&quot;Spune&quot;,&quot;Sektober&quot;,&quot;Ember&quot;,&quot;December&quot;],monthNamesShort:[&quot;Ick&quot;,&quot;Off&quot;,&quot;Feb&quot;,&quot;Mar&quot;,&quot;Apr&quot;,&quot;May&quot;,&quot;Jun&quot;,&quot;Gru&quot;,&quot;Aug&quot;,&quot;Spu&quot;,&quot;Sek&quot;,&quot;Emb&quot;,&quot;Dec&quot;],dayNames:[&quot;Sunday&quot;,&quot;Octeday&quot;,&quot;Monday&quot;,&quot;Tuesday&quot;,&quot;Wednesday&quot;,&quot;Thursday&quot;,&quot;Friday&quot;,&quot;Saturday&quot;],dayNamesShort:[&quot;Sun&quot;,&quot;Oct&quot;,&quot;Mon&quot;,&quot;Tue&quot;,&quot;Wed&quot;,&quot;Thu&quot;,&quot;Fri&quot;,&quot;Sat&quot;],dayNamesMin:[&quot;Su&quot;,&quot;Oc&quot;,&quot;Mo&quot;,&quot;Tu&quot;,&quot;We&quot;,&quot;Th&quot;,&quot;Fr&quot;,&quot;Sa&quot;],digits:null,dateFormat:&quot;yyyy/mm/dd&quot;,firstDay:2,isRTL:!1}},leapYear:function(t){return this._validate(t,this.minMonth,this.minDay,i.local.invalidYear),!1},monthsInYear:function(t){return this._validate(t,this.minMonth,this.minDay,i.local.invalidYear),13},daysInYear:function(t){return this._validate(t,this.minMonth,this.minDay,i.local.invalidYear),400},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(-n.dayOfWeek(),&quot;d&quot;),Math.floor((n.dayOfYear()-1)/8)+1},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,i.local.invalidMonth);return this.daysPerMonth[r.month()-1]},daysInWeek:function(){return 8},dayOfWeek:function(t,e,r){return(this._validate(t,e,r,i.local.invalidDate).day()+1)%8},weekDay:function(t,e,r){var n=this.dayOfWeek(t,e,r);return n&gt;=2&amp;&amp;n&lt;=6},extraInfo:function(t,e,r){var n=this._validate(t,e,r,i.local.invalidDate);return{century:a[Math.floor((n.year()-1)/100)+1]||&quot;&quot;}},toJD:function(t,e,r){var n=this._validate(t,e,r,i.local.invalidDate);return t=n.year()+(n.year()&lt;0?1:0),e=n.month(),(r=n.day())+(e&gt;1?16:0)+(e&gt;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&gt;15?16:0;var r=Math.floor(t/32)+1,n=t-32*(r-1)+1;return this.newDate(e&lt;=0?e-1:e,r,n)}});var a={20:&quot;Fruitbat&quot;,21:&quot;Anchovy&quot;};i.calendars.discworld=n},{&quot;../main&quot;:595,&quot;object-assign&quot;:462}],584:[function(t,e,r){function n(t){this.local=this.regionalOptions[t||&quot;&quot;]||this.regionalOptions[&quot;&quot;]}var i=t(&quot;../main&quot;);t(&quot;object-assign&quot;)(n.prototype=new i.baseCalendar,{name:&quot;Ethiopian&quot;,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:{&quot;&quot;:{name:&quot;Ethiopian&quot;,epochs:[&quot;BEE&quot;,&quot;EE&quot;],monthNames:[&quot;Meskerem&quot;,&quot;Tikemet&quot;,&quot;Hidar&quot;,&quot;Tahesas&quot;,&quot;Tir&quot;,&quot;Yekatit&quot;,&quot;Megabit&quot;,&quot;Miazia&quot;,&quot;Genbot&quot;,&quot;Sene&quot;,&quot;Hamle&quot;,&quot;Nehase&quot;,&quot;Pagume&quot;],monthNamesShort:[&quot;Mes&quot;,&quot;Tik&quot;,&quot;Hid&quot;,&quot;Tah&quot;,&quot;Tir&quot;,&quot;Yek&quot;,&quot;Meg&quot;,&quot;Mia&quot;,&quot;Gen&quot;,&quot;Sen&quot;,&quot;Ham&quot;,&quot;Neh&quot;,&quot;Pag&quot;],dayNames:[&quot;Ehud&quot;,&quot;Segno&quot;,&quot;Maksegno&quot;,&quot;Irob&quot;,&quot;Hamus&quot;,&quot;Arb&quot;,&quot;Kidame&quot;],dayNamesShort:[&quot;Ehu&quot;,&quot;Seg&quot;,&quot;Mak&quot;,&quot;Iro&quot;,&quot;Ham&quot;,&quot;Arb&quot;,&quot;Kid&quot;],dayNamesMin:[&quot;Eh&quot;,&quot;Se&quot;,&quot;Ma&quot;,&quot;Ir&quot;,&quot;Ha&quot;,&quot;Ar&quot;,&quot;Ki&quot;],digits:null,dateFormat:&quot;dd/mm/yyyy&quot;,firstDay:0,isRTL:!1}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,i.local.invalidYear);return(t=e.year()+(e.year()&lt;0?1:0))%4==3||t%4==-1},monthsInYear:function(t){return this._validate(t,this.minMonth,this.minDay,i.local.invalidYear||i.regionalOptions[&quot;&quot;].invalidYear),13},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(-n.dayOfWeek(),&quot;d&quot;),Math.floor((n.dayOfYear()-1)/7)+1},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,i.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(13===r.month()&amp;&amp;this.leapYear(r.year())?1:0)},weekDay:function(t,e,r){return(this.dayOfWeek(t,e,r)||7)&lt;6},toJD:function(t,e,r){var n=this._validate(t,e,r,i.local.invalidDate);return(t=n.year())&lt;0&amp;&amp;t++,n.day()+30*(n.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&lt;=0&amp;&amp;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)}}),i.calendars.ethiopian=n},{&quot;../main&quot;:595,&quot;object-assign&quot;:462}],585:[function(t,e,r){function n(t){this.local=this.regionalOptions[t||&quot;&quot;]||this.regionalOptions[&quot;&quot;]}function i(t,e){return t-e*Math.floor(t/e)}var a=t(&quot;../main&quot;);t(&quot;object-assign&quot;)(n.prototype=new a.baseCalendar,{name:&quot;Hebrew&quot;,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:{&quot;&quot;:{name:&quot;Hebrew&quot;,epochs:[&quot;BAM&quot;,&quot;AM&quot;],monthNames:[&quot;Nisan&quot;,&quot;Iyar&quot;,&quot;Sivan&quot;,&quot;Tammuz&quot;,&quot;Av&quot;,&quot;Elul&quot;,&quot;Tishrei&quot;,&quot;Cheshvan&quot;,&quot;Kislev&quot;,&quot;Tevet&quot;,&quot;Shevat&quot;,&quot;Adar&quot;,&quot;Adar II&quot;],monthNamesShort:[&quot;Nis&quot;,&quot;Iya&quot;,&quot;Siv&quot;,&quot;Tam&quot;,&quot;Av&quot;,&quot;Elu&quot;,&quot;Tis&quot;,&quot;Che&quot;,&quot;Kis&quot;,&quot;Tev&quot;,&quot;She&quot;,&quot;Ada&quot;,&quot;Ad2&quot;],dayNames:[&quot;Yom Rishon&quot;,&quot;Yom Sheni&quot;,&quot;Yom Shlishi&quot;,&quot;Yom Revi'i&quot;,&quot;Yom Chamishi&quot;,&quot;Yom Shishi&quot;,&quot;Yom Shabbat&quot;],dayNamesShort:[&quot;Ris&quot;,&quot;She&quot;,&quot;Shl&quot;,&quot;Rev&quot;,&quot;Cha&quot;,&quot;Shi&quot;,&quot;Sha&quot;],dayNamesMin:[&quot;Ri&quot;,&quot;She&quot;,&quot;Shl&quot;,&quot;Re&quot;,&quot;Ch&quot;,&quot;Shi&quot;,&quot;Sha&quot;],digits:null,dateFormat:&quot;dd/mm/yyyy&quot;,firstDay:0,isRTL:!1}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,a.local.invalidYear);return this._leapYear(e.year())},_leapYear:function(t){return t=t&lt;0?t+1:t,i(7*t+1,19)&lt;7},monthsInYear:function(t){return this._validate(t,this.minMonth,this.minDay,a.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(),&quot;d&quot;),Math.floor((n.dayOfYear()-1)/7)+1},daysInYear:function(t){return t=this._validate(t,this.minMonth,this.minDay,a.local.invalidYear).year(),this.toJD(-1===t?1:t+1,7,1)-this.toJD(t,7,1)},daysInMonth:function(t,e){return t.year&amp;&amp;(e=t.month(),t=t.year()),this._validate(t,e,this.minDay,a.local.invalidMonth),12===e&amp;&amp;this.leapYear(t)?30:8===e&amp;&amp;5===i(this.daysInYear(t),10)?30:9===e&amp;&amp;3===i(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 n=this._validate(t,e,r,a.local.invalidDate);return{yearType:(this.leapYear(n)?&quot;embolismic&quot;:&quot;common&quot;)+&quot; &quot;+[&quot;deficient&quot;,&quot;regular&quot;,&quot;complete&quot;][this.daysInYear(n)%10-3]}},toJD:function(t,e,r){var n=this._validate(t,e,r,a.local.invalidDate);t=n.year(),e=n.month(),r=n.day();var i=t&lt;=0?t+1:t,o=this.jdEpoch+this._delay1(i)+this._delay2(i)+r+1;if(e&lt;7){for(var s=7;s&lt;=this.monthsInYear(t);s++)o+=this.daysInMonth(t,s);for(s=1;s&lt;e;s++)o+=this.daysInMonth(t,s)}else for(s=7;s&lt;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 i(3*(n+1),7)&lt;3&amp;&amp;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&gt;=this.toJD(-1===e?1:e+1,7,1);)e++;for(var r=t&lt;this.toJD(e,1,1)?7:1;t&gt;this.toJD(e,r,this.daysInMonth(e,r));)r++;var n=t-this.toJD(e,r,1)+1;return this.newDate(e,r,n)}}),a.calendars.hebrew=n},{&quot;../main&quot;:595,&quot;object-assign&quot;:462}],586:[function(t,e,r){function n(t){this.local=this.regionalOptions[t||&quot;&quot;]||this.regionalOptions[&quot;&quot;]}var i=t(&quot;../main&quot;);t(&quot;object-assign&quot;)(n.prototype=new i.baseCalendar,{name:&quot;Islamic&quot;,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:{&quot;&quot;:{name:&quot;Islamic&quot;,epochs:[&quot;BH&quot;,&quot;AH&quot;],monthNames:[&quot;Muharram&quot;,&quot;Safar&quot;,&quot;Rabi' al-awwal&quot;,&quot;Rabi' al-thani&quot;,&quot;Jumada al-awwal&quot;,&quot;Jumada al-thani&quot;,&quot;Rajab&quot;,&quot;Sha'aban&quot;,&quot;Ramadan&quot;,&quot;Shawwal&quot;,&quot;Dhu al-Qi'dah&quot;,&quot;Dhu al-Hijjah&quot;],monthNamesShort:[&quot;Muh&quot;,&quot;Saf&quot;,&quot;Rab1&quot;,&quot;Rab2&quot;,&quot;Jum1&quot;,&quot;Jum2&quot;,&quot;Raj&quot;,&quot;Sha'&quot;,&quot;Ram&quot;,&quot;Shaw&quot;,&quot;DhuQ&quot;,&quot;DhuH&quot;],dayNames:[&quot;Yawm al-ahad&quot;,&quot;Yawm al-ithnayn&quot;,&quot;Yawm ath-thulaathaa'&quot;,&quot;Yawm al-arbi'aa'&quot;,&quot;Yawm al-kham\u012bs&quot;,&quot;Yawm al-jum'a&quot;,&quot;Yawm as-sabt&quot;],dayNamesShort:[&quot;Aha&quot;,&quot;Ith&quot;,&quot;Thu&quot;,&quot;Arb&quot;,&quot;Kha&quot;,&quot;Jum&quot;,&quot;Sab&quot;],dayNamesMin:[&quot;Ah&quot;,&quot;It&quot;,&quot;Th&quot;,&quot;Ar&quot;,&quot;Kh&quot;,&quot;Ju&quot;,&quot;Sa&quot;],digits:null,dateFormat:&quot;yyyy/mm/dd&quot;,firstDay:6,isRTL:!1}},leapYear:function(t){return(11*this._validate(t,this.minMonth,this.minDay,i.local.invalidYear).year()+14)%30&lt;11},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(-n.dayOfWeek(),&quot;d&quot;),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,i.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(12===r.month()&amp;&amp;this.leapYear(r.year())?1:0)},weekDay:function(t,e,r){return 5!==this.dayOfWeek(t,e,r)},toJD:function(t,e,r){var n=this._validate(t,e,r,i.local.invalidDate);return t=n.year(),e=n.month(),r=n.day(),t=t&lt;=0?t+1:t,r+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&lt;=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)}}),i.calendars.islamic=n},{&quot;../main&quot;:595,&quot;object-assign&quot;:462}],587:[function(t,e,r){function n(t){this.local=this.regionalOptions[t||&quot;&quot;]||this.regionalOptions[&quot;&quot;]}var i=t(&quot;../main&quot;);t(&quot;object-assign&quot;)(n.prototype=new i.baseCalendar,{name:&quot;Julian&quot;,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:{&quot;&quot;:{name:&quot;Julian&quot;,epochs:[&quot;BC&quot;,&quot;AD&quot;],monthNames:[&quot;January&quot;,&quot;February&quot;,&quot;March&quot;,&quot;April&quot;,&quot;May&quot;,&quot;June&quot;,&quot;July&quot;,&quot;August&quot;,&quot;September&quot;,&quot;October&quot;,&quot;November&quot;,&quot;December&quot;],monthNamesShort:[&quot;Jan&quot;,&quot;Feb&quot;,&quot;Mar&quot;,&quot;Apr&quot;,&quot;May&quot;,&quot;Jun&quot;,&quot;Jul&quot;,&quot;Aug&quot;,&quot;Sep&quot;,&quot;Oct&quot;,&quot;Nov&quot;,&quot;Dec&quot;],dayNames:[&quot;Sunday&quot;,&quot;Monday&quot;,&quot;Tuesday&quot;,&quot;Wednesday&quot;,&quot;Thursday&quot;,&quot;Friday&quot;,&quot;Saturday&quot;],dayNamesShort:[&quot;Sun&quot;,&quot;Mon&quot;,&quot;Tue&quot;,&quot;Wed&quot;,&quot;Thu&quot;,&quot;Fri&quot;,&quot;Sat&quot;],dayNamesMin:[&quot;Su&quot;,&quot;Mo&quot;,&quot;Tu&quot;,&quot;We&quot;,&quot;Th&quot;,&quot;Fr&quot;,&quot;Sa&quot;],digits:null,dateFormat:&quot;mm/dd/yyyy&quot;,firstDay:0,isRTL:!1}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,i.local.invalidYear);return(t=e.year()&lt;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),&quot;d&quot;),Math.floor((n.dayOfYear()-1)/7)+1},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,i.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(2===r.month()&amp;&amp;this.leapYear(r.year())?1:0)},weekDay:function(t,e,r){return(this.dayOfWeek(t,e,r)||7)&lt;6},toJD:function(t,e,r){var n=this._validate(t,e,r,i.local.invalidDate);return t=n.year(),e=n.month(),r=n.day(),t&lt;0&amp;&amp;t++,e&lt;=2&amp;&amp;(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&lt;14?1:13),o=r-Math.floor(a&gt;2?4716:4715),s=e-n-Math.floor(30.6001*i);return o&lt;=0&amp;&amp;o--,this.newDate(o,a,s)}}),i.calendars.julian=n},{&quot;../main&quot;:595,&quot;object-assign&quot;:462}],588:[function(t,e,r){function n(t){this.local=this.regionalOptions[t||&quot;&quot;]||this.regionalOptions[&quot;&quot;]}function i(t,e){return t-e*Math.floor(t/e)}function a(t,e){return i(t-1,e)+1}var o=t(&quot;../main&quot;);t(&quot;object-assign&quot;)(n.prototype=new o.baseCalendar,{name:&quot;Mayan&quot;,jdEpoch:584282.5,hasYearZero:!0,minMonth:0,firstMonth:0,minDay:0,regionalOptions:{&quot;&quot;:{name:&quot;Mayan&quot;,epochs:[&quot;&quot;,&quot;&quot;],monthNames:[&quot;0&quot;,&quot;1&quot;,&quot;2&quot;,&quot;3&quot;,&quot;4&quot;,&quot;5&quot;,&quot;6&quot;,&quot;7&quot;,&quot;8&quot;,&quot;9&quot;,&quot;10&quot;,&quot;11&quot;,&quot;12&quot;,&quot;13&quot;,&quot;14&quot;,&quot;15&quot;,&quot;16&quot;,&quot;17&quot;],monthNamesShort:[&quot;0&quot;,&quot;1&quot;,&quot;2&quot;,&quot;3&quot;,&quot;4&quot;,&quot;5&quot;,&quot;6&quot;,&quot;7&quot;,&quot;8&quot;,&quot;9&quot;,&quot;10&quot;,&quot;11&quot;,&quot;12&quot;,&quot;13&quot;,&quot;14&quot;,&quot;15&quot;,&quot;16&quot;,&quot;17&quot;],dayNames:[&quot;0&quot;,&quot;1&quot;,&quot;2&quot;,&quot;3&quot;,&quot;4&quot;,&quot;5&quot;,&quot;6&quot;,&quot;7&quot;,&quot;8&quot;,&quot;9&quot;,&quot;10&quot;,&quot;11&quot;,&quot;12&quot;,&quot;13&quot;,&quot;14&quot;,&quot;15&quot;,&quot;16&quot;,&quot;17&quot;,&quot;18&quot;,&quot;19&quot;],dayNamesShort:[&quot;0&quot;,&quot;1&quot;,&quot;2&quot;,&quot;3&quot;,&quot;4&quot;,&quot;5&quot;,&quot;6&quot;,&quot;7&quot;,&quot;8&quot;,&quot;9&quot;,&quot;10&quot;,&quot;11&quot;,&quot;12&quot;,&quot;13&quot;,&quot;14&quot;,&quot;15&quot;,&quot;16&quot;,&quot;17&quot;,&quot;18&quot;,&quot;19&quot;],dayNamesMin:[&quot;0&quot;,&quot;1&quot;,&quot;2&quot;,&quot;3&quot;,&quot;4&quot;,&quot;5&quot;,&quot;6&quot;,&quot;7&quot;,&quot;8&quot;,&quot;9&quot;,&quot;10&quot;,&quot;11&quot;,&quot;12&quot;,&quot;13&quot;,&quot;14&quot;,&quot;15&quot;,&quot;16&quot;,&quot;17&quot;,&quot;18&quot;,&quot;19&quot;],digits:null,dateFormat:&quot;YYYY.m.d&quot;,firstDay:0,isRTL:!1,haabMonths:[&quot;Pop&quot;,&quot;Uo&quot;,&quot;Zip&quot;,&quot;Zotz&quot;,&quot;Tzec&quot;,&quot;Xul&quot;,&quot;Yaxkin&quot;,&quot;Mol&quot;,&quot;Chen&quot;,&quot;Yax&quot;,&quot;Zac&quot;,&quot;Ceh&quot;,&quot;Mac&quot;,&quot;Kankin&quot;,&quot;Muan&quot;,&quot;Pax&quot;,&quot;Kayab&quot;,&quot;Cumku&quot;,&quot;Uayeb&quot;],tzolkinMonths:[&quot;Imix&quot;,&quot;Ik&quot;,&quot;Akbal&quot;,&quot;Kan&quot;,&quot;Chicchan&quot;,&quot;Cimi&quot;,&quot;Manik&quot;,&quot;Lamat&quot;,&quot;Muluc&quot;,&quot;Oc&quot;,&quot;Chuen&quot;,&quot;Eb&quot;,&quot;Ben&quot;,&quot;Ix&quot;,&quot;Men&quot;,&quot;Cib&quot;,&quot;Caban&quot;,&quot;Etznab&quot;,&quot;Cauac&quot;,&quot;Ahau&quot;]}},leapYear:function(t){return this._validate(t,this.minMonth,this.minDay,o.local.invalidYear),!1},formatYear:function(t){t=this._validate(t,this.minMonth,this.minDay,o.local.invalidYear).year();var e=Math.floor(t/400);t%=400,t+=t&lt;0?400:0;return e+&quot;.&quot;+Math.floor(t/20)+&quot;.&quot;+t%20},forYear:function(t){if((t=t.split(&quot;.&quot;)).length&lt;3)throw&quot;Invalid Mayan year&quot;;for(var e=0,r=0;r&lt;t.length;r++){var n=parseInt(t[r],10);if(Math.abs(n)&gt;19||r&gt;0&amp;&amp;n&lt;0)throw&quot;Invalid Mayan year&quot;;e=20*e+n}return e},monthsInYear:function(t){return this._validate(t,this.minMonth,this.minDay,o.local.invalidYear),18},weekOfYear:function(t,e,r){return this._validate(t,e,r,o.local.invalidDate),0},daysInYear:function(t){return this._validate(t,this.minMonth,this.minDay,o.local.invalidYear),360},daysInMonth:function(t,e){return this._validate(t,e,this.minDay,o.local.invalidMonth),20},daysInWeek:function(){return 5},dayOfWeek:function(t,e,r){return this._validate(t,e,r,o.local.invalidDate).day()},weekDay:function(t,e,r){return this._validate(t,e,r,o.local.invalidDate),!0},extraInfo:function(t,e,r){var n=this._validate(t,e,r,o.local.invalidDate).toJD(),i=this._toHaab(n),a=this._toTzolkin(n);return{haabMonthName:this.local.haabMonths[i[0]-1],haabMonth:i[0],haabDay:i[1],tzolkinDayName:this.local.tzolkinMonths[a[0]-1],tzolkinDay:a[0],tzolkinTrecena:a[1]}},_toHaab:function(t){var e=i((t-=this.jdEpoch)+8+340,365);return[Math.floor(e/20)+1,i(e,20)]},_toTzolkin:function(t){return t-=this.jdEpoch,[a(t+20,20),a(t+4,13)]},toJD:function(t,e,r){var n=this._validate(t,e,r,o.local.invalidDate);return n.day()+20*n.month()+360*n.year()+this.jdEpoch},fromJD:function(t){t=Math.floor(t)+.5-this.jdEpoch;var e=Math.floor(t/360);t%=360,t+=t&lt;0?360:0;var r=Math.floor(t/20),n=t%20;return this.newDate(e,r,n)}}),o.calendars.mayan=n},{&quot;../main&quot;:595,&quot;object-assign&quot;:462}],589:[function(t,e,r){function n(t){this.local=this.regionalOptions[t||&quot;&quot;]||this.regionalOptions[&quot;&quot;]}var i=t(&quot;../main&quot;),a=t(&quot;object-assign&quot;);n.prototype=new i.baseCalendar;var o=i.instance(&quot;gregorian&quot;);a(n.prototype,{name:&quot;Nanakshahi&quot;,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:{&quot;&quot;:{name:&quot;Nanakshahi&quot;,epochs:[&quot;BN&quot;,&quot;AN&quot;],monthNames:[&quot;Chet&quot;,&quot;Vaisakh&quot;,&quot;Jeth&quot;,&quot;Harh&quot;,&quot;Sawan&quot;,&quot;Bhadon&quot;,&quot;Assu&quot;,&quot;Katak&quot;,&quot;Maghar&quot;,&quot;Poh&quot;,&quot;Magh&quot;,&quot;Phagun&quot;],monthNamesShort:[&quot;Che&quot;,&quot;Vai&quot;,&quot;Jet&quot;,&quot;Har&quot;,&quot;Saw&quot;,&quot;Bha&quot;,&quot;Ass&quot;,&quot;Kat&quot;,&quot;Mgr&quot;,&quot;Poh&quot;,&quot;Mgh&quot;,&quot;Pha&quot;],dayNames:[&quot;Somvaar&quot;,&quot;Mangalvar&quot;,&quot;Budhvaar&quot;,&quot;Veervaar&quot;,&quot;Shukarvaar&quot;,&quot;Sanicharvaar&quot;,&quot;Etvaar&quot;],dayNamesShort:[&quot;Som&quot;,&quot;Mangal&quot;,&quot;Budh&quot;,&quot;Veer&quot;,&quot;Shukar&quot;,&quot;Sanichar&quot;,&quot;Et&quot;],dayNamesMin:[&quot;So&quot;,&quot;Ma&quot;,&quot;Bu&quot;,&quot;Ve&quot;,&quot;Sh&quot;,&quot;Sa&quot;,&quot;Et&quot;],digits:null,dateFormat:&quot;dd-mm-yyyy&quot;,firstDay:0,isRTL:!1}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,i.local.invalidYear||i.regionalOptions[&quot;&quot;].invalidYear);return o.leapYear(e.year()+(e.year()&lt;1?1:0)+1469)},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(1-(n.dayOfWeek()||7),&quot;d&quot;),Math.floor((n.dayOfYear()-1)/7)+1},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,i.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(12===r.month()&amp;&amp;this.leapYear(r.year())?1:0)},weekDay:function(t,e,r){return(this.dayOfWeek(t,e,r)||7)&lt;6},toJD:function(t,e,r){var n=this._validate(t,e,r,i.local.invalidMonth);(t=n.year())&lt;0&amp;&amp;t++;for(var a=n.day(),s=1;s&lt;n.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&gt;=this.toJD(e+1,1,1);)e++;for(var r=t-Math.floor(this.toJD(e,1,1)+.5)+1,n=1;r&gt;this.daysInMonth(e,n);)r-=this.daysInMonth(e,n),n++;return this.newDate(e,n,r)}}),i.calendars.nanakshahi=n},{&quot;../main&quot;:595,&quot;object-assign&quot;:462}],590:[function(t,e,r){function n(t){this.local=this.regionalOptions[t||&quot;&quot;]||this.regionalOptions[&quot;&quot;]}var i=t(&quot;../main&quot;);t(&quot;object-assign&quot;)(n.prototype=new i.baseCalendar,{name:&quot;Nepali&quot;,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:{&quot;&quot;:{name:&quot;Nepali&quot;,epochs:[&quot;BBS&quot;,&quot;ABS&quot;],monthNames:[&quot;Baisakh&quot;,&quot;Jestha&quot;,&quot;Ashadh&quot;,&quot;Shrawan&quot;,&quot;Bhadra&quot;,&quot;Ashwin&quot;,&quot;Kartik&quot;,&quot;Mangsir&quot;,&quot;Paush&quot;,&quot;Mangh&quot;,&quot;Falgun&quot;,&quot;Chaitra&quot;],monthNamesShort:[&quot;Bai&quot;,&quot;Je&quot;,&quot;As&quot;,&quot;Shra&quot;,&quot;Bha&quot;,&quot;Ash&quot;,&quot;Kar&quot;,&quot;Mang&quot;,&quot;Pau&quot;,&quot;Ma&quot;,&quot;Fal&quot;,&quot;Chai&quot;],dayNames:[&quot;Aaitabaar&quot;,&quot;Sombaar&quot;,&quot;Manglbaar&quot;,&quot;Budhabaar&quot;,&quot;Bihibaar&quot;,&quot;Shukrabaar&quot;,&quot;Shanibaar&quot;],dayNamesShort:[&quot;Aaita&quot;,&quot;Som&quot;,&quot;Mangl&quot;,&quot;Budha&quot;,&quot;Bihi&quot;,&quot;Shukra&quot;,&quot;Shani&quot;],dayNamesMin:[&quot;Aai&quot;,&quot;So&quot;,&quot;Man&quot;,&quot;Bu&quot;,&quot;Bi&quot;,&quot;Shu&quot;,&quot;Sha&quot;],digits:null,dateFormat:&quot;dd/mm/yyyy&quot;,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(),&quot;d&quot;),Math.floor((n.dayOfYear()-1)/7)+1},daysInYear:function(t){if(t=this._validate(t,this.minMonth,this.minDay,i.local.invalidYear).year(),void 0===this.NEPALI_CALENDAR_DATA[t])return this.daysPerYear;for(var e=0,r=this.minMonth;r&lt;=12;r++)e+=this.NEPALI_CALENDAR_DATA[t][r];return e},daysInMonth:function(t,e){return t.year&amp;&amp;(e=t.month(),t=t.year()),this._validate(t,e,this.minDay,i.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 n=this._validate(t,e,r,i.local.invalidDate);t=n.year(),e=n.month(),r=n.day();var a=i.instance(),o=0,s=e,l=t;this._createMissingCalendarData(t);var c=t-(s&gt;9||9===s&amp;&amp;r&gt;=this.NEPALI_CALENDAR_DATA[l][0]?56:57);for(9!==e&amp;&amp;(o=r,s--);9!==s;)s&lt;=0&amp;&amp;(s=12,l--),o+=this.NEPALI_CALENDAR_DATA[l][s],s--;return 9===e?(o+=r-this.NEPALI_CALENDAR_DATA[l][0])&lt;0&amp;&amp;(o+=a.daysInYear(c)):o+=this.NEPALI_CALENDAR_DATA[l][9]-this.NEPALI_CALENDAR_DATA[l][0],a.newDate(c,1,1).add(o,&quot;d&quot;).toJD()},fromJD:function(t){var e=i.instance().fromJD(t),r=e.year(),n=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;n&gt;l;)++o&gt;12&amp;&amp;(o=1,a++),l+=this.NEPALI_CALENDAR_DATA[a][o];var c=this.NEPALI_CALENDAR_DATA[a][o]-(l-n);return this.newDate(a,o,c)},_createMissingCalendarData:function(t){var e=this.daysPerMonth.slice(0);e.unshift(17);for(var r=t-1;r&lt;t+2;r++)void 0===this.NEPALI_CALENDAR_DATA[r]&amp;&amp;(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]}}),i.calendars.nepali=n},{&quot;../main&quot;:595,&quot;object-assign&quot;:462}],591:[function(t,e,r){function n(t){this.local=this.regionalOptions[t||&quot;&quot;]||this.regionalOptions[&quot;&quot;]}function i(t,e){return t-e*Math.floor(t/e)}var a=t(&quot;../main&quot;);t(&quot;object-assign&quot;)(n.prototype=new a.baseCalendar,{name:&quot;Persian&quot;,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:{&quot;&quot;:{name:&quot;Persian&quot;,epochs:[&quot;BP&quot;,&quot;AP&quot;],monthNames:[&quot;Farvardin&quot;,&quot;Ordibehesht&quot;,&quot;Khordad&quot;,&quot;Tir&quot;,&quot;Mordad&quot;,&quot;Shahrivar&quot;,&quot;Mehr&quot;,&quot;Aban&quot;,&quot;Azar&quot;,&quot;Day&quot;,&quot;Bahman&quot;,&quot;Esfand&quot;],monthNamesShort:[&quot;Far&quot;,&quot;Ord&quot;,&quot;Kho&quot;,&quot;Tir&quot;,&quot;Mor&quot;,&quot;Sha&quot;,&quot;Meh&quot;,&quot;Aba&quot;,&quot;Aza&quot;,&quot;Day&quot;,&quot;Bah&quot;,&quot;Esf&quot;],dayNames:[&quot;Yekshambe&quot;,&quot;Doshambe&quot;,&quot;Seshambe&quot;,&quot;Ch\xe6harshambe&quot;,&quot;Panjshambe&quot;,&quot;Jom'e&quot;,&quot;Shambe&quot;],dayNamesShort:[&quot;Yek&quot;,&quot;Do&quot;,&quot;Se&quot;,&quot;Ch\xe6&quot;,&quot;Panj&quot;,&quot;Jom&quot;,&quot;Sha&quot;],dayNamesMin:[&quot;Ye&quot;,&quot;Do&quot;,&quot;Se&quot;,&quot;Ch&quot;,&quot;Pa&quot;,&quot;Jo&quot;,&quot;Sh&quot;],digits:null,dateFormat:&quot;yyyy/mm/dd&quot;,firstDay:6,isRTL:!1}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,a.local.invalidYear);return 682*((e.year()-(e.year()&gt;0?474:473))%2820+474+38)%2816&lt;682},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(-(n.dayOfWeek()+1)%7,&quot;d&quot;),Math.floor((n.dayOfYear()-1)/7)+1},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,a.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(12===r.month()&amp;&amp;this.leapYear(r.year())?1:0)},weekDay:function(t,e,r){return 5!==this.dayOfWeek(t,e,r)},toJD:function(t,e,r){var n=this._validate(t,e,r,a.local.invalidDate);t=n.year(),e=n.month(),r=n.day();var o=t-(t&gt;=0?474:473),s=474+i(o,2820);return r+(e&lt;=7?31*(e-1):30*(e-1)+6)+Math.floor((682*s-110)/2816)+365*(s-1)+1029983*Math.floor(o/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=i(e,1029983),a=2820;if(1029982!==n){var o=Math.floor(n/366),s=i(n,366);a=Math.floor((2134*o+2816*s+2815)/1028522)+o+1}var l=a+2820*r+474;l=l&lt;=0?l-1:l;var c=t-this.toJD(l,1,1)+1,u=c&lt;=186?Math.ceil(c/31):Math.ceil((c-6)/30),f=t-this.toJD(l,u,1)+1;return this.newDate(l,u,f)}}),a.calendars.persian=n,a.calendars.jalali=n},{&quot;../main&quot;:595,&quot;object-assign&quot;:462}],592:[function(t,e,r){function n(t){this.local=this.regionalOptions[t||&quot;&quot;]||this.regionalOptions[&quot;&quot;]}var i=t(&quot;../main&quot;),a=t(&quot;object-assign&quot;),o=i.instance();a(n.prototype=new i.baseCalendar,{name:&quot;Taiwan&quot;,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:{&quot;&quot;:{name:&quot;Taiwan&quot;,epochs:[&quot;BROC&quot;,&quot;ROC&quot;],monthNames:[&quot;January&quot;,&quot;February&quot;,&quot;March&quot;,&quot;April&quot;,&quot;May&quot;,&quot;June&quot;,&quot;July&quot;,&quot;August&quot;,&quot;September&quot;,&quot;October&quot;,&quot;November&quot;,&quot;December&quot;],monthNamesShort:[&quot;Jan&quot;,&quot;Feb&quot;,&quot;Mar&quot;,&quot;Apr&quot;,&quot;May&quot;,&quot;Jun&quot;,&quot;Jul&quot;,&quot;Aug&quot;,&quot;Sep&quot;,&quot;Oct&quot;,&quot;Nov&quot;,&quot;Dec&quot;],dayNames:[&quot;Sunday&quot;,&quot;Monday&quot;,&quot;Tuesday&quot;,&quot;Wednesday&quot;,&quot;Thursday&quot;,&quot;Friday&quot;,&quot;Saturday&quot;],dayNamesShort:[&quot;Sun&quot;,&quot;Mon&quot;,&quot;Tue&quot;,&quot;Wed&quot;,&quot;Thu&quot;,&quot;Fri&quot;,&quot;Sat&quot;],dayNamesMin:[&quot;Su&quot;,&quot;Mo&quot;,&quot;Tu&quot;,&quot;We&quot;,&quot;Th&quot;,&quot;Fr&quot;,&quot;Sa&quot;],digits:null,dateFormat:&quot;yyyy/mm/dd&quot;,firstDay:1,isRTL:!1}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,i.local.invalidYear);t=this._t2gYear(e.year());return o.leapYear(t)},weekOfYear:function(t,e,r){var n=this._validate(t,this.minMonth,this.minDay,i.local.invalidYear);t=this._t2gYear(n.year());return o.weekOfYear(t,n.month(),n.day())},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,i.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(2===r.month()&amp;&amp;this.leapYear(r.year())?1:0)},weekDay:function(t,e,r){return(this.dayOfWeek(t,e,r)||7)&lt;6},toJD:function(t,e,r){var n=this._validate(t,e,r,i.local.invalidDate);t=this._t2gYear(n.year());return o.toJD(t,n.month(),n.day())},fromJD:function(t){var e=o.fromJD(t),r=this._g2tYear(e.year());return this.newDate(r,e.month(),e.day())},_t2gYear:function(t){return t+this.yearsOffset+(t&gt;=-this.yearsOffset&amp;&amp;t&lt;=-1?1:0)},_g2tYear:function(t){return t-this.yearsOffset-(t&gt;=1&amp;&amp;t&lt;=this.yearsOffset?1:0)}}),i.calendars.taiwan=n},{&quot;../main&quot;:595,&quot;object-assign&quot;:462}],593:[function(t,e,r){function n(t){this.local=this.regionalOptions[t||&quot;&quot;]||this.regionalOptions[&quot;&quot;]}var i=t(&quot;../main&quot;),a=t(&quot;object-assign&quot;),o=i.instance();a(n.prototype=new i.baseCalendar,{name:&quot;Thai&quot;,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:{&quot;&quot;:{name:&quot;Thai&quot;,epochs:[&quot;BBE&quot;,&quot;BE&quot;],monthNames:[&quot;January&quot;,&quot;February&quot;,&quot;March&quot;,&quot;April&quot;,&quot;May&quot;,&quot;June&quot;,&quot;July&quot;,&quot;August&quot;,&quot;September&quot;,&quot;October&quot;,&quot;November&quot;,&quot;December&quot;],monthNamesShort:[&quot;Jan&quot;,&quot;Feb&quot;,&quot;Mar&quot;,&quot;Apr&quot;,&quot;May&quot;,&quot;Jun&quot;,&quot;Jul&quot;,&quot;Aug&quot;,&quot;Sep&quot;,&quot;Oct&quot;,&quot;Nov&quot;,&quot;Dec&quot;],dayNames:[&quot;Sunday&quot;,&quot;Monday&quot;,&quot;Tuesday&quot;,&quot;Wednesday&quot;,&quot;Thursday&quot;,&quot;Friday&quot;,&quot;Saturday&quot;],dayNamesShort:[&quot;Sun&quot;,&quot;Mon&quot;,&quot;Tue&quot;,&quot;Wed&quot;,&quot;Thu&quot;,&quot;Fri&quot;,&quot;Sat&quot;],dayNamesMin:[&quot;Su&quot;,&quot;Mo&quot;,&quot;Tu&quot;,&quot;We&quot;,&quot;Th&quot;,&quot;Fr&quot;,&quot;Sa&quot;],digits:null,dateFormat:&quot;dd/mm/yyyy&quot;,firstDay:0,isRTL:!1}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,i.local.invalidYear);t=this._t2gYear(e.year());return o.leapYear(t)},weekOfYear:function(t,e,r){var n=this._validate(t,this.minMonth,this.minDay,i.local.invalidYear);t=this._t2gYear(n.year());return o.weekOfYear(t,n.month(),n.day())},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,i.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(2===r.month()&amp;&amp;this.leapYear(r.year())?1:0)},weekDay:function(t,e,r){return(this.dayOfWeek(t,e,r)||7)&lt;6},toJD:function(t,e,r){var n=this._validate(t,e,r,i.local.invalidDate);t=this._t2gYear(n.year());return o.toJD(t,n.month(),n.day())},fromJD:function(t){var e=o.fromJD(t),r=this._g2tYear(e.year());return this.newDate(r,e.month(),e.day())},_t2gYear:function(t){return t-this.yearsOffset-(t&gt;=1&amp;&amp;t&lt;=this.yearsOffset?1:0)},_g2tYear:function(t){return t+this.yearsOffset+(t&gt;=-this.yearsOffset&amp;&amp;t&lt;=-1?1:0)}}),i.calendars.thai=n},{&quot;../main&quot;:595,&quot;object-assign&quot;:462}],594:[function(t,e,r){function n(t){this.local=this.regionalOptions[t||&quot;&quot;]||this.regionalOptions[&quot;&quot;]}var i=t(&quot;../main&quot;);t(&quot;object-assign&quot;)(n.prototype=new i.baseCalendar,{name:&quot;UmmAlQura&quot;,hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{&quot;&quot;:{name:&quot;Umm al-Qura&quot;,epochs:[&quot;BH&quot;,&quot;AH&quot;],monthNames:[&quot;Al-Muharram&quot;,&quot;Safar&quot;,&quot;Rabi' al-awwal&quot;,&quot;Rabi' Al-Thani&quot;,&quot;Jumada Al-Awwal&quot;,&quot;Jumada Al-Thani&quot;,&quot;Rajab&quot;,&quot;Sha'aban&quot;,&quot;Ramadan&quot;,&quot;Shawwal&quot;,&quot;Dhu al-Qi'dah&quot;,&quot;Dhu al-Hijjah&quot;],monthNamesShort:[&quot;Muh&quot;,&quot;Saf&quot;,&quot;Rab1&quot;,&quot;Rab2&quot;,&quot;Jum1&quot;,&quot;Jum2&quot;,&quot;Raj&quot;,&quot;Sha'&quot;,&quot;Ram&quot;,&quot;Shaw&quot;,&quot;DhuQ&quot;,&quot;DhuH&quot;],dayNames:[&quot;Yawm al-Ahad&quot;,&quot;Yawm al-Ithnain&quot;,&quot;Yawm al-Thal\u0101th\u0101\u2019&quot;,&quot;Yawm al-Arba\u2018\u0101\u2019&quot;,&quot;Yawm al-Kham\u012bs&quot;,&quot;Yawm al-Jum\u2018a&quot;,&quot;Yawm al-Sabt&quot;],dayNamesMin:[&quot;Ah&quot;,&quot;Ith&quot;,&quot;Th&quot;,&quot;Ar&quot;,&quot;Kh&quot;,&quot;Ju&quot;,&quot;Sa&quot;],digits:null,dateFormat:&quot;yyyy/mm/dd&quot;,firstDay:6,isRTL:!0}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,i.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(),&quot;d&quot;),Math.floor((n.dayOfYear()-1)/7)+1},daysInYear:function(t){for(var e=0,r=1;r&lt;=12;r++)e+=this.daysInMonth(t,r);return e},daysInMonth:function(t,e){for(var r=this._validate(t,e,this.minDay,i.local.invalidMonth).toJD()-24e5+.5,n=0,o=0;o&lt;a.length;o++){if(a[o]&gt;r)return a[n]-a[n-1];n++}return 30},weekDay:function(t,e,r){return 5!==this.dayOfWeek(t,e,r)},toJD:function(t,e,r){var n=this._validate(t,e,r,i.local.invalidDate),o=12*(n.year()-1)+n.month()-15292;return n.day()+a[o-1]-1+24e5-.5},fromJD:function(t){for(var e=t-24e5+.5,r=0,n=0;n&lt;a.length&amp;&amp;!(a[n]&gt;e);n++)r++;var i=r+15292,o=Math.floor((i-1)/12),s=o+1,l=i-12*o,c=e-a[r-1]+1;return this.newDate(s,l,c)},isValid:function(t,e,r){var n=i.baseCalendar.prototype.isValid.apply(this,arguments);return n&amp;&amp;(n=(t=null!=t.year?t.year:t)&gt;=1276&amp;&amp;t&lt;=1500),n},_validate:function(t,e,r,n){var a=i.baseCalendar.prototype._validate.apply(this,arguments);if(a.year&lt;1276||a.year&gt;1500)throw n.replace(/\{0\}/,this.local.name);return a}}),i.calendars.ummalqura=n;var a=[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]},{&quot;../main&quot;:595,&quot;object-assign&quot;:462}],595:[function(t,e,r){function n(){this.regionalOptions=[],this.regionalOptions[&quot;&quot;]={invalidCalendar:&quot;Calendar {0} not found&quot;,invalidDate:&quot;Invalid {0} date&quot;,invalidMonth:&quot;Invalid {0} month&quot;,invalidYear:&quot;Invalid {0} year&quot;,differentCalendars:&quot;Cannot mix {0} and {1} dates&quot;},this.local=this.regionalOptions[&quot;&quot;],this.calendars={},this._localCals={}}function i(t,e,r,n){if(this._calendar=t,this._year=e,this._month=r,this._day=n,0===this._calendar._validateLevel&amp;&amp;!this._calendar.isValid(this._year,this._month,this._day))throw(c.local.invalidDate||c.regionalOptions[&quot;&quot;].invalidDate).replace(/\{0\}/,this._calendar.local.name)}function a(t,e){return t=&quot;&quot;+t,&quot;000000&quot;.substring(0,e-t.length)+t}function o(){this.shortYearCutoff=&quot;+10&quot;}function s(t){this.local=this.regionalOptions[t]||this.regionalOptions[&quot;&quot;]}var l=t(&quot;object-assign&quot;);l(n.prototype,{instance:function(t,e){t=(t||&quot;gregorian&quot;).toLowerCase(),e=e||&quot;&quot;;var r=this._localCals[t+&quot;-&quot;+e];if(!r&amp;&amp;this.calendars[t]&amp;&amp;(r=new this.calendars[t](e),this._localCals[t+&quot;-&quot;+e]=r),!r)throw(this.local.invalidCalendar||this.regionalOptions[&quot;&quot;].invalidCalendar).replace(/\{0\}/,t);return r},newDate:function(t,e,r,n,i){return(n=(null!=t&amp;&amp;t.year?t.calendar():&quot;string&quot;==typeof n?this.instance(n,i):n)||this.instance()).newDate(t,e,r)},substituteDigits:function(t){return function(e){return(e+&quot;&quot;).replace(/[0-9]/g,function(e){return t[e]})}},substituteChineseDigits:function(t,e){return function(r){for(var n=&quot;&quot;,i=0;r&gt;0;){var a=r%10;n=(0===a?&quot;&quot;:t[a]+e[i])+n,i++,r=Math.floor(r/10)}return 0===n.indexOf(t[1]+e[1])&amp;&amp;(n=n.substr(1)),n||t[0]}}}),l(i.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,&quot;y&quot;)},month:function(t){return 0===arguments.length?this._month:this.set(t,&quot;m&quot;)},day:function(t){return 0===arguments.length?this._day:this.set(t,&quot;d&quot;)},date:function(t,e,r){if(!this._calendar.isValid(t,e,r))throw(c.local.invalidDate||c.regionalOptions[&quot;&quot;].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[&quot;&quot;].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&lt;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()&lt;0?&quot;-&quot;:&quot;&quot;)+a(Math.abs(this.year()),4)+&quot;-&quot;+a(this.month(),2)+&quot;-&quot;+a(this.day(),2)}}),l(o.prototype,{_validateLevel:0,newDate:function(t,e,r){return null==t?this.today():(t.year&amp;&amp;(this._validate(t,e,r,c.local.invalidDate||c.regionalOptions[&quot;&quot;].invalidDate),r=t.day(),e=t.month(),t=t.year()),new i(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[&quot;&quot;].invalidYear).year()&lt;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[&quot;&quot;].invalidYear);return(e.year()&lt;0?&quot;-&quot;:&quot;&quot;)+a(Math.abs(e.year()),4)},monthsInYear:function(t){return this._validate(t,this.minMonth,this.minDay,c.local.invalidYear||c.regionalOptions[&quot;&quot;].invalidYear),12},monthOfYear:function(t,e){var r=this._validate(t,e,this.minDay,c.local.invalidMonth||c.regionalOptions[&quot;&quot;].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[&quot;&quot;].invalidMonth),r},daysInYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,c.local.invalidYear||c.regionalOptions[&quot;&quot;].invalidYear);return this.leapYear(e)?366:365},dayOfYear:function(t,e,r){var n=this._validate(t,e,r,c.local.invalidDate||c.regionalOptions[&quot;&quot;].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[&quot;&quot;].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[&quot;&quot;].invalidDate),{}},add:function(t,e,r){return this._validate(t,this.minMonth,this.minDay,c.local.invalidDate||c.regionalOptions[&quot;&quot;].invalidDate),this._correctAdd(t,this._add(t,e,r),e,r)},_add:function(t,e,r){if(this._validateLevel++,&quot;d&quot;===r||&quot;w&quot;===r){var n=t.toJD()+e*(&quot;w&quot;===r?this.daysInWeek():1),i=t.calendar().fromJD(n);return this._validateLevel--,[i.year(),i.month(),i.day()]}try{var a=t.year()+(&quot;y&quot;===r?e:0),o=t.monthOfYear()+(&quot;m&quot;===r?e:0);i=t.day();&quot;y&quot;===r?(t.month()!==this.fromMonthOfYear(a,o)&amp;&amp;(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)))):&quot;m&quot;===r&amp;&amp;(!function(t){for(;o&lt;t.minMonth;)a--,o+=t.monthsInYear(a);for(var e=t.monthsInYear(a);o&gt;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||&quot;y&quot;!==n&amp;&amp;&quot;m&quot;!==n||0!==e[0]&amp;&amp;t.year()&gt;0==e[0]&gt;0)){var i={y:[1,1,&quot;y&quot;],m:[1,this.monthsInYear(-1),&quot;m&quot;],w:[this.daysInWeek(),this.daysInYear(-1),&quot;d&quot;],d:[1,this.daysInYear(-1),&quot;d&quot;]}[n],a=r&lt;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[&quot;&quot;].invalidDate);var n=&quot;y&quot;===r?e:t.year(),i=&quot;m&quot;===r?e:t.month(),a=&quot;d&quot;===r?e:t.day();return&quot;y&quot;!==r&amp;&amp;&quot;m&quot;!==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&gt;=this.minMonth&amp;&amp;e-this.minMonth&lt;this.monthsInYear(i)&amp;&amp;r&gt;=this.minDay&amp;&amp;r-this.minDay&lt;this.daysInMonth(i)}return this._validateLevel--,n},toJSDate:function(t,e,r){var n=this._validate(t,e,r,c.local.invalidDate||c.regionalOptions[&quot;&quot;].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&amp;&amp;this.name!==t.calendar().name)throw(c.local.differentCalendars||c.regionalOptions[&quot;&quot;].differentCalendars).replace(/\{0\}/,this.local.name).replace(/\{1\}/,t.calendar().local.name);return t}try{if(this._validateLevel++,1===this._validateLevel&amp;&amp;!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(s.prototype=new o,{name:&quot;Gregorian&quot;,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:{&quot;&quot;:{name:&quot;Gregorian&quot;,epochs:[&quot;BCE&quot;,&quot;CE&quot;],monthNames:[&quot;January&quot;,&quot;February&quot;,&quot;March&quot;,&quot;April&quot;,&quot;May&quot;,&quot;June&quot;,&quot;July&quot;,&quot;August&quot;,&quot;September&quot;,&quot;October&quot;,&quot;November&quot;,&quot;December&quot;],monthNamesShort:[&quot;Jan&quot;,&quot;Feb&quot;,&quot;Mar&quot;,&quot;Apr&quot;,&quot;May&quot;,&quot;Jun&quot;,&quot;Jul&quot;,&quot;Aug&quot;,&quot;Sep&quot;,&quot;Oct&quot;,&quot;Nov&quot;,&quot;Dec&quot;],dayNames:[&quot;Sunday&quot;,&quot;Monday&quot;,&quot;Tuesday&quot;,&quot;Wednesday&quot;,&quot;Thursday&quot;,&quot;Friday&quot;,&quot;Saturday&quot;],dayNamesShort:[&quot;Sun&quot;,&quot;Mon&quot;,&quot;Tue&quot;,&quot;Wed&quot;,&quot;Thu&quot;,&quot;Fri&quot;,&quot;Sat&quot;],dayNamesMin:[&quot;Su&quot;,&quot;Mo&quot;,&quot;Tu&quot;,&quot;We&quot;,&quot;Th&quot;,&quot;Fr&quot;,&quot;Sa&quot;],digits:null,dateFormat:&quot;mm/dd/yyyy&quot;,firstDay:0,isRTL:!1}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,c.local.invalidYear||c.regionalOptions[&quot;&quot;].invalidYear);return(t=e.year()+(e.year()&lt;0?1:0))%4==0&amp;&amp;(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),&quot;d&quot;),Math.floor((n.dayOfYear()-1)/7)+1},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,c.local.invalidMonth||c.regionalOptions[&quot;&quot;].invalidMonth);return this.daysPerMonth[r.month()-1]+(2===r.month()&amp;&amp;this.leapYear(r.year())?1:0)},weekDay:function(t,e,r){return(this.dayOfWeek(t,e,r)||7)&lt;6},toJD:function(t,e,r){var n=this._validate(t,e,r,c.local.invalidDate||c.regionalOptions[&quot;&quot;].invalidDate);t=n.year(),e=n.month(),r=n.day(),t&lt;0&amp;&amp;t++,e&lt;3&amp;&amp;(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&gt;13.5?13:1),c=i-(l&gt;2.5?4716:4715);return c&lt;=0&amp;&amp;c--,this.newDate(c,l,s)},toJSDate:function(t,e,r){var n=this._validate(t,e,r,c.local.invalidDate||c.regionalOptions[&quot;&quot;].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()&gt;12?i.getHours()+2:0),i},fromJSDate:function(t){return this.newDate(t.getFullYear(),t.getMonth()+1,t.getDate())}});var c=e.exports=new n;c.cdate=i,c.baseCalendar=o,c.calendars.gregorian=s},{&quot;object-assign&quot;:462}],596:[function(t,e,r){var n=t(&quot;object-assign&quot;),i=t(&quot;./main&quot;);n(i.regionalOptions[&quot;&quot;],{invalidArguments:&quot;Invalid arguments&quot;,invalidFormat:&quot;Cannot format a date from another calendar&quot;,missingNumberAt:&quot;Missing number at position {0}&quot;,unknownNameAt:&quot;Unknown name at position {0}&quot;,unexpectedLiteralAt:&quot;Unexpected literal at position {0}&quot;,unexpectedText:&quot;Additional text found at end&quot;}),i.local=i.regionalOptions[&quot;&quot;],n(i.cdate.prototype,{formatDate:function(t,e){return&quot;string&quot;!=typeof t&amp;&amp;(e=t,t=&quot;&quot;),this._calendar.formatDate(t||&quot;&quot;,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:&quot;yyyy-mm-dd&quot;,COOKIE:&quot;D, dd M yyyy&quot;,FULL:&quot;DD, MM d, yyyy&quot;,ISO_8601:&quot;yyyy-mm-dd&quot;,JULIAN:&quot;J&quot;,RFC_822:&quot;D, d M yy&quot;,RFC_850:&quot;DD, dd-M-yy&quot;,RFC_1036:&quot;D, d M yy&quot;,RFC_1123:&quot;D, d M yyyy&quot;,RFC_2822:&quot;D, d M yyyy&quot;,RSS:&quot;D, d M yy&quot;,TICKS:&quot;!&quot;,TIMESTAMP:&quot;@&quot;,W3C:&quot;yyyy-mm-dd&quot;,formatDate:function(t,e,r){if(&quot;string&quot;!=typeof t&amp;&amp;(r=e,e=t,t=&quot;&quot;),!e)return&quot;&quot;;if(e.calendar()!==this)throw i.local.invalidFormat||i.regionalOptions[&quot;&quot;].invalidFormat;t=t||this.local.dateFormat;for(var n=(r=r||{}).dayNamesShort||this.local.dayNamesShort,a=r.dayNames||this.local.dayNames,o=r.monthNumbers||this.local.monthNumbers,s=r.monthNamesShort||this.local.monthNamesShort,l=r.monthNames||this.local.monthNames,c=(r.calculateWeek||this.local.calculateWeek,function(e,r){for(var n=1;x+n&lt;t.length&amp;&amp;t.charAt(x+n)===e;)n++;return x+=n-1,Math.floor(n/(r||1))&gt;1}),u=function(t,e,r,n){var i=&quot;&quot;+e;if(c(t,n))for(;i.length&lt;r;)i=&quot;0&quot;+i;return i},f=function(t,e,r,n){return c(t)?n[e]:r[e]},h=this,d=function(t){return&quot;function&quot;==typeof o?o.call(h,t,c(&quot;m&quot;)):g(u(&quot;m&quot;,t.month(),2))},p=function(t,e){return e?&quot;function&quot;==typeof l?l.call(h,t):l[t.month()-h.minMonth]:&quot;function&quot;==typeof s?s.call(h,t):s[t.month()-h.minMonth]},m=this.local.digits,g=function(t){return r.localNumbers&amp;&amp;m?m(t):t},v=&quot;&quot;,y=!1,x=0;x&lt;t.length;x++)if(y)&quot;'&quot;!==t.charAt(x)||c(&quot;'&quot;)?v+=t.charAt(x):y=!1;else switch(t.charAt(x)){case&quot;d&quot;:v+=g(u(&quot;d&quot;,e.day(),2));break;case&quot;D&quot;:v+=f(&quot;D&quot;,e.dayOfWeek(),n,a);break;case&quot;o&quot;:v+=u(&quot;o&quot;,e.dayOfYear(),3);break;case&quot;w&quot;:v+=u(&quot;w&quot;,e.weekOfYear(),2);break;case&quot;m&quot;:v+=d(e);break;case&quot;M&quot;:v+=p(e,c(&quot;M&quot;));break;case&quot;y&quot;:v+=c(&quot;y&quot;,2)?e.year():(e.year()%100&lt;10?&quot;0&quot;:&quot;&quot;)+e.year()%100;break;case&quot;Y&quot;:c(&quot;Y&quot;,2),v+=e.formatYear();break;case&quot;J&quot;:v+=e.toJD();break;case&quot;@&quot;:v+=(e.toJD()-this.UNIX_EPOCH)*this.SECS_PER_DAY;break;case&quot;!&quot;:v+=(e.toJD()-this.TICKS_EPOCH)*this.TICKS_PER_DAY;break;case&quot;'&quot;:c(&quot;'&quot;)?v+=&quot;'&quot;:y=!0;break;default:v+=t.charAt(x)}return v},parseDate:function(t,e,r){if(null==e)throw i.local.invalidArguments||i.regionalOptions[&quot;&quot;].invalidArguments;if(&quot;&quot;===(e=&quot;object&quot;==typeof e?e.toString():e+&quot;&quot;))return null;t=t||this.local.dateFormat;var n=(r=r||{}).shortYearCutoff||this.shortYearCutoff;n=&quot;string&quot;!=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,d=-1,p=-1,m=-1,g=!1,v=!1,y=function(e,r){for(var n=1;T+n&lt;t.length&amp;&amp;t.charAt(T+n)===e;)n++;return T+=n-1,Math.floor(n/(r||1))&gt;1},x=function(t,r){var n=y(t,r),a=[2,3,n?4:2,n?4:2,10,11,20][&quot;oyYJ@!&quot;.indexOf(t)+1],o=new RegExp(&quot;^-?\\d{1,&quot;+a+&quot;}&quot;),s=e.substring(A).match(o);if(!s)throw(i.local.missingNumberAt||i.regionalOptions[&quot;&quot;].missingNumberAt).replace(/\{0\}/,A);return A+=s[0].length,parseInt(s[0],10)},b=this,_=function(){if(&quot;function&quot;==typeof l){y(&quot;m&quot;);var t=l.call(b,e.substring(A));return A+=t.length,t}return x(&quot;m&quot;)},w=function(t,r,n,a){for(var o=y(t,a)?n:r,s=0;s&lt;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[&quot;&quot;].unknownNameAt).replace(/\{0\}/,A)},M=function(){if(&quot;function&quot;==typeof u){var t=y(&quot;M&quot;)?u.call(b,e.substring(A)):c.call(b,e.substring(A));return A+=t.length,t}return w(&quot;M&quot;,c,u)},k=function(){if(e.charAt(A)!==t.charAt(T))throw(i.local.unexpectedLiteralAt||i.regionalOptions[&quot;&quot;].unexpectedLiteralAt).replace(/\{0\}/,A);A++},A=0,T=0;T&lt;t.length;T++)if(v)&quot;'&quot;!==t.charAt(T)||y(&quot;'&quot;)?k():v=!1;else switch(t.charAt(T)){case&quot;d&quot;:p=x(&quot;d&quot;);break;case&quot;D&quot;:w(&quot;D&quot;,a,o);break;case&quot;o&quot;:m=x(&quot;o&quot;);break;case&quot;w&quot;:x(&quot;w&quot;);break;case&quot;m&quot;:d=_();break;case&quot;M&quot;:d=M();break;case&quot;y&quot;:var S=T;g=!y(&quot;y&quot;,2),T=S,h=x(&quot;y&quot;,2);break;case&quot;Y&quot;:h=x(&quot;Y&quot;,2);break;case&quot;J&quot;:f=x(&quot;J&quot;)+.5,&quot;.&quot;===e.charAt(A)&amp;&amp;(A++,x(&quot;J&quot;));break;case&quot;@&quot;:f=x(&quot;@&quot;)/this.SECS_PER_DAY+this.UNIX_EPOCH;break;case&quot;!&quot;:f=x(&quot;!&quot;)/this.TICKS_PER_DAY+this.TICKS_EPOCH;break;case&quot;*&quot;:A=e.length;break;case&quot;'&quot;:y(&quot;'&quot;)?k():v=!0;break;default:k()}if(A&lt;e.length)throw i.local.unexpectedText||i.regionalOptions[&quot;&quot;].unexpectedText;if(-1===h?h=this.today().year():h&lt;100&amp;&amp;g&amp;&amp;(h+=-1===n?1900:this.today().year()-this.today().year()%100-(h&lt;=n?0:100)),&quot;string&quot;==typeof d&amp;&amp;(d=s.call(this,h,d)),m&gt;-1){d=1,p=m;for(var E=this.daysInMonth(h,d);p&gt;E;E=this.daysInMonth(h,d))d++,p-=E}return f&gt;-1?this.fromJD(f):this.newDate(h,d,p)},determineDate:function(t,e,r,n,i){r&amp;&amp;&quot;object&quot;!=typeof r&amp;&amp;(i=n,n=r,r=null),&quot;string&quot;!=typeof n&amp;&amp;(i=n,n=&quot;&quot;);var a=this;return e=e?e.newDate():null,t=null==t?e:&quot;string&quot;==typeof t?function(t){try{return a.parseDate(n,t,i)}catch(t){}for(var e=((t=t.toLowerCase()).match(/^c/)&amp;&amp;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]||&quot;d&quot;),s=o.exec(t);return e}(t):&quot;number&quot;==typeof t?isNaN(t)||t===1/0||t===-1/0?e:a.today().add(t,&quot;d&quot;):a.newDate(t)}})},{&quot;./main&quot;:595,&quot;object-assign&quot;:462}],597:[function(t,e,r){e.exports=t(&quot;cwise-compiler&quot;)({args:[&quot;array&quot;,{offset:[1],array:0},&quot;scalar&quot;,&quot;scalar&quot;,&quot;index&quot;],pre:{body:&quot;{}&quot;,args:[],thisVars:[],localVars:[]},post:{body:&quot;{}&quot;,args:[],thisVars:[],localVars:[]},body:{body:&quot;{\n        var _inline_1_da = _inline_1_arg0_ - _inline_1_arg3_\n        var _inline_1_db = _inline_1_arg1_ - _inline_1_arg3_\n        if((_inline_1_da &gt;= 0) !== (_inline_1_db &gt;= 0)) {\n          _inline_1_arg2_.push(_inline_1_arg4_[0] + 0.5 + 0.5 * (_inline_1_da + _inline_1_db) / (_inline_1_da - _inline_1_db))\n        }\n      }&quot;,args:[{name:&quot;_inline_1_arg0_&quot;,lvalue:!1,rvalue:!0,count:1},{name:&quot;_inline_1_arg1_&quot;,lvalue:!1,rvalue:!0,count:1},{name:&quot;_inline_1_arg2_&quot;,lvalue:!1,rvalue:!0,count:1},{name:&quot;_inline_1_arg3_&quot;,lvalue:!1,rvalue:!0,count:2},{name:&quot;_inline_1_arg4_&quot;,lvalue:!1,rvalue:!0,count:1}],thisVars:[],localVars:[&quot;_inline_1_da&quot;,&quot;_inline_1_db&quot;]},funcName:&quot;zeroCrossings&quot;})},{&quot;cwise-compiler&quot;:116}],598:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t,e){var r=[];return e=+e||0,n(t.hi(t.shape[0]-1),r,e),r};var n=t(&quot;./lib/zc-core&quot;)},{&quot;./lib/zc-core&quot;:597}],599:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib&quot;),i=t(&quot;../../plots/cartesian/axes&quot;),a=t(&quot;./common_defaults&quot;),o=t(&quot;./attributes&quot;);e.exports=function(t,e,r,s,l){function c(r,i){return n.coerce(t,e,o,r,i)}s=s||{};var u=c(&quot;visible&quot;,!(l=l||{}).itemIsNotPlainObject),f=c(&quot;clicktoshow&quot;);if(!u&amp;&amp;!f)return e;a(t,e,r,c);for(var h=e.showarrow,d=[&quot;x&quot;,&quot;y&quot;],p=[-10,-30],m={_fullLayout:r},g=0;g&lt;2;g++){var v=d[g],y=i.coerceRef(t,e,m,v,&quot;&quot;,&quot;paper&quot;);if(i.coercePosition(e,m,c,y,v,.5),h){var x=&quot;a&quot;+v,b=i.coerceRef(t,e,m,x,&quot;pixel&quot;);&quot;pixel&quot;!==b&amp;&amp;b!==y&amp;&amp;(b=e[x]=&quot;pixel&quot;);var _=&quot;pixel&quot;===b?p[g]:.4;i.coercePosition(e,m,c,b,x,_)}c(v+&quot;anchor&quot;),c(v+&quot;shift&quot;)}if(n.noneOrAll(t,e,[&quot;x&quot;,&quot;y&quot;]),h&amp;&amp;n.noneOrAll(t,e,[&quot;ax&quot;,&quot;ay&quot;]),f){var w=c(&quot;xclick&quot;),M=c(&quot;yclick&quot;);e._xclick=void 0===w?e.x:i.cleanPosition(w,m,e.xref),e._yclick=void 0===M?e.y:i.cleanPosition(M,m,e.yref)}return e}},{&quot;../../lib&quot;:743,&quot;../../plots/cartesian/axes&quot;:789,&quot;./attributes&quot;:601,&quot;./common_defaults&quot;:604}],600:[function(t,e,r){&quot;use strict&quot;;e.exports=[{path:&quot;&quot;,backoff:0},{path:&quot;M-2.4,-3V3L0.6,0Z&quot;,backoff:.6},{path:&quot;M-3.7,-2.5V2.5L1.3,0Z&quot;,backoff:1.3},{path:&quot;M-4.45,-3L-1.65,-0.2V0.2L-4.45,3L1.55,0Z&quot;,backoff:1.55},{path:&quot;M-2.2,-2.2L-0.2,-0.2V0.2L-2.2,2.2L-1.4,3L1.6,0L-1.4,-3Z&quot;,backoff:1.6},{path:&quot;M-4.4,-2.1L-0.6,-0.2V0.2L-4.4,2.1L-4,3L2,0L-4,-3Z&quot;,backoff:2},{path:&quot;M2,0A2,2 0 1,1 0,-2A2,2 0 0,1 2,0Z&quot;,backoff:0,noRotate:!0},{path:&quot;M2,2V-2H-2V2Z&quot;,backoff:0,noRotate:!0}]},{}],601:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;./arrow_paths&quot;),i=t(&quot;../../plots/font_attributes&quot;),a=t(&quot;../../plots/cartesian/constants&quot;);e.exports={_isLinkedToArray:&quot;annotation&quot;,visible:{valType:&quot;boolean&quot;,dflt:!0,editType:&quot;calcIfAutorange&quot;},text:{valType:&quot;string&quot;,editType:&quot;calcIfAutorange&quot;},textangle:{valType:&quot;angle&quot;,dflt:0,editType:&quot;calcIfAutorange&quot;},font:i({editType:&quot;calcIfAutorange&quot;,colorEditType:&quot;arraydraw&quot;}),width:{valType:&quot;number&quot;,min:1,dflt:null,editType:&quot;calcIfAutorange&quot;},height:{valType:&quot;number&quot;,min:1,dflt:null,editType:&quot;calcIfAutorange&quot;},opacity:{valType:&quot;number&quot;,min:0,max:1,dflt:1,editType:&quot;arraydraw&quot;},align:{valType:&quot;enumerated&quot;,values:[&quot;left&quot;,&quot;center&quot;,&quot;right&quot;],dflt:&quot;center&quot;,editType:&quot;arraydraw&quot;},valign:{valType:&quot;enumerated&quot;,values:[&quot;top&quot;,&quot;middle&quot;,&quot;bottom&quot;],dflt:&quot;middle&quot;,editType:&quot;arraydraw&quot;},bgcolor:{valType:&quot;color&quot;,dflt:&quot;rgba(0,0,0,0)&quot;,editType:&quot;arraydraw&quot;},bordercolor:{valType:&quot;color&quot;,dflt:&quot;rgba(0,0,0,0)&quot;,editType:&quot;arraydraw&quot;},borderpad:{valType:&quot;number&quot;,min:0,dflt:1,editType:&quot;calcIfAutorange&quot;},borderwidth:{valType:&quot;number&quot;,min:0,dflt:1,editType:&quot;calcIfAutorange&quot;},showarrow:{valType:&quot;boolean&quot;,dflt:!0,editType:&quot;calcIfAutorange&quot;},arrowcolor:{valType:&quot;color&quot;,editType:&quot;arraydraw&quot;},arrowhead:{valType:&quot;integer&quot;,min:0,max:n.length,dflt:1,editType:&quot;arraydraw&quot;},startarrowhead:{valType:&quot;integer&quot;,min:0,max:n.length,dflt:1,editType:&quot;arraydraw&quot;},arrowside:{valType:&quot;flaglist&quot;,flags:[&quot;end&quot;,&quot;start&quot;],extras:[&quot;none&quot;],dflt:&quot;end&quot;,editType:&quot;arraydraw&quot;},arrowsize:{valType:&quot;number&quot;,min:.3,dflt:1,editType:&quot;calcIfAutorange&quot;},startarrowsize:{valType:&quot;number&quot;,min:.3,dflt:1,editType:&quot;calcIfAutorange&quot;},arrowwidth:{valType:&quot;number&quot;,min:.1,editType:&quot;calcIfAutorange&quot;},standoff:{valType:&quot;number&quot;,min:0,dflt:0,editType:&quot;calcIfAutorange&quot;},startstandoff:{valType:&quot;number&quot;,min:0,dflt:0,editType:&quot;calcIfAutorange&quot;},ax:{valType:&quot;any&quot;,editType:&quot;calcIfAutorange&quot;},ay:{valType:&quot;any&quot;,editType:&quot;calcIfAutorange&quot;},axref:{valType:&quot;enumerated&quot;,dflt:&quot;pixel&quot;,values:[&quot;pixel&quot;,a.idRegex.x.toString()],editType:&quot;calc&quot;},ayref:{valType:&quot;enumerated&quot;,dflt:&quot;pixel&quot;,values:[&quot;pixel&quot;,a.idRegex.y.toString()],editType:&quot;calc&quot;},xref:{valType:&quot;enumerated&quot;,values:[&quot;paper&quot;,a.idRegex.x.toString()],editType:&quot;calc&quot;},x:{valType:&quot;any&quot;,editType:&quot;calcIfAutorange&quot;},xanchor:{valType:&quot;enumerated&quot;,values:[&quot;auto&quot;,&quot;left&quot;,&quot;center&quot;,&quot;right&quot;],dflt:&quot;auto&quot;,editType:&quot;calcIfAutorange&quot;},xshift:{valType:&quot;number&quot;,dflt:0,editType:&quot;calcIfAutorange&quot;},yref:{valType:&quot;enumerated&quot;,values:[&quot;paper&quot;,a.idRegex.y.toString()],editType:&quot;calc&quot;},y:{valType:&quot;any&quot;,editType:&quot;calcIfAutorange&quot;},yanchor:{valType:&quot;enumerated&quot;,values:[&quot;auto&quot;,&quot;top&quot;,&quot;middle&quot;,&quot;bottom&quot;],dflt:&quot;auto&quot;,editType:&quot;calcIfAutorange&quot;},yshift:{valType:&quot;number&quot;,dflt:0,editType:&quot;calcIfAutorange&quot;},clicktoshow:{valType:&quot;enumerated&quot;,values:[!1,&quot;onoff&quot;,&quot;onout&quot;],dflt:!1,editType:&quot;arraydraw&quot;},xclick:{valType:&quot;any&quot;,editType:&quot;arraydraw&quot;},yclick:{valType:&quot;any&quot;,editType:&quot;arraydraw&quot;},hovertext:{valType:&quot;string&quot;,editType:&quot;arraydraw&quot;},hoverlabel:{bgcolor:{valType:&quot;color&quot;,editType:&quot;arraydraw&quot;},bordercolor:{valType:&quot;color&quot;,editType:&quot;arraydraw&quot;},font:i({editType:&quot;arraydraw&quot;}),editType:&quot;arraydraw&quot;},captureevents:{valType:&quot;boolean&quot;,editType:&quot;arraydraw&quot;},editType:&quot;calc&quot;,_deprecated:{ref:{valType:&quot;string&quot;,editType:&quot;calc&quot;}}}},{&quot;../../plots/cartesian/constants&quot;:794,&quot;../../plots/font_attributes&quot;:816,&quot;./arrow_paths&quot;:600}],602:[function(t,e,r){&quot;use strict&quot;;function n(t){var e=t._fullLayout;i.filterVisible(e.annotations).forEach(function(e){var r,n,i,o,s=a.getFromId(t,e.xref),l=a.getFromId(t,e.yref),c=3*e.arrowsize*e.arrowwidth||0,u=3*e.startarrowsize*e.arrowwidth||0;s&amp;&amp;s.autorange&amp;&amp;(r=c+e.xshift,n=c-e.xshift,i=u+e.xshift,o=u-e.xshift,e.axref===e.xref?(a.expand(s,[s.r2c(e.x)],{ppadplus:r,ppadminus:n}),a.expand(s,[s.r2c(e.ax)],{ppadplus:Math.max(e._xpadplus,i),ppadminus:Math.max(e._xpadminus,o)})):(i=e.ax?i+e.ax:i,o=e.ax?o-e.ax:o,a.expand(s,[s.r2c(e.x)],{ppadplus:Math.max(e._xpadplus,r,i),ppadminus:Math.max(e._xpadminus,n,o)}))),l&amp;&amp;l.autorange&amp;&amp;(r=c-e.yshift,n=c+e.yshift,i=u-e.yshift,o=u+e.yshift,e.ayref===e.yref?(a.expand(l,[l.r2c(e.y)],{ppadplus:r,ppadminus:n}),a.expand(l,[l.r2c(e.ay)],{ppadplus:Math.max(e._ypadplus,i),ppadminus:Math.max(e._ypadminus,o)})):(i=e.ay?i+e.ay:i,o=e.ay?o-e.ay:o,a.expand(l,[l.r2c(e.y)],{ppadplus:Math.max(e._ypadplus,r,i),ppadminus:Math.max(e._ypadminus,n,o)})))})}var i=t(&quot;../../lib&quot;),a=t(&quot;../../plots/cartesian/axes&quot;),o=t(&quot;./draw&quot;).draw;e.exports=function(t){var e=t._fullLayout,r=i.filterVisible(e.annotations);if(r.length&amp;&amp;t._fullData.length){var s={};r.forEach(function(t){s[t.xref]=1,s[t.yref]=1});for(var l in s){var c=a.getFromId(t,l);if(c&amp;&amp;c.autorange)return i.syncOrAsync([o,n],t)}}}},{&quot;../../lib&quot;:743,&quot;../../plots/cartesian/axes&quot;:789,&quot;./draw&quot;:607}],603:[function(t,e,r){&quot;use strict&quot;;function n(t,e){var r,n,a,o,s,l,c,u=t._fullLayout.annotations,f=[],h=[],d=[],p=(e||[]).length;for(r=0;r&lt;u.length;r++)if(a=u[r],o=a.clicktoshow){for(n=0;n&lt;p;n++)if(s=e[n],l=s.xaxis,c=s.yaxis,l._id===a.xref&amp;&amp;c._id===a.yref&amp;&amp;l.d2r(s.x)===i(a._xclick,l)&amp;&amp;c.d2r(s.y)===i(a._yclick,c)){(a.visible?&quot;onout&quot;===o?h:d:f).push(r);break}n===p&amp;&amp;a.visible&amp;&amp;&quot;onout&quot;===o&amp;&amp;h.push(r)}return{on:f,off:h,explicitOff:d}}function i(t,e){return&quot;log&quot;===e.type?e.l2r(t):e.d2r(t)}var a=t(&quot;../../plotly&quot;);e.exports={hasClickToShow:function(t,e){var r=n(t,e);return r.on.length&gt;0||r.explicitOff.length&gt;0},onClick:function(t,e){var r,i=n(t,e),o=i.on,s=i.off.concat(i.explicitOff),l={};if(o.length||s.length){for(r=0;r&lt;o.length;r++)l[&quot;annotations[&quot;+o[r]+&quot;].visible&quot;]=!0;for(r=0;r&lt;s.length;r++)l[&quot;annotations[&quot;+s[r]+&quot;].visible&quot;]=!1;return a.update(t,{},l)}}}},{&quot;../../plotly&quot;:784}],604:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib&quot;),i=t(&quot;../color&quot;);e.exports=function(t,e,r,a){a(&quot;opacity&quot;);var o=a(&quot;bgcolor&quot;),s=a(&quot;bordercolor&quot;),l=i.opacity(s);a(&quot;borderpad&quot;);var c=a(&quot;borderwidth&quot;),u=a(&quot;showarrow&quot;);a(&quot;text&quot;,u?&quot; &quot;:r._dfltTitle.annotation),a(&quot;textangle&quot;),n.coerceFont(a,&quot;font&quot;,r.font),a(&quot;width&quot;),a(&quot;align&quot;);if(a(&quot;height&quot;)&amp;&amp;a(&quot;valign&quot;),u){var f,h,d=a(&quot;arrowside&quot;);-1!==d.indexOf(&quot;end&quot;)&amp;&amp;(f=a(&quot;arrowhead&quot;),h=a(&quot;arrowsize&quot;)),-1!==d.indexOf(&quot;start&quot;)&amp;&amp;(a(&quot;startarrowhead&quot;,f),a(&quot;startarrowsize&quot;,h)),a(&quot;arrowcolor&quot;,l?e.bordercolor:i.defaultLine),a(&quot;arrowwidth&quot;,2*(l&amp;&amp;c||1)),a(&quot;standoff&quot;),a(&quot;startstandoff&quot;)}var p=a(&quot;hovertext&quot;),m=r.hoverlabel||{};if(p){var g=a(&quot;hoverlabel.bgcolor&quot;,m.bgcolor||(i.opacity(o)?i.rgb(o):i.defaultLine)),v=a(&quot;hoverlabel.bordercolor&quot;,m.bordercolor||i.contrast(g));n.coerceFont(a,&quot;hoverlabel.font&quot;,{family:m.font.family,size:m.font.size,color:m.font.color||v})}a(&quot;captureevents&quot;,!!p)}},{&quot;../../lib&quot;:743,&quot;../color&quot;:618}],605:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;fast-isnumeric&quot;),i=t(&quot;../../lib/to_log_range&quot;);e.exports=function(t,e,r,a){function o(t){var r=c[t],o=null;o=s?i(r,e.range):Math.pow(10,r),n(o)||(o=null),a(u+t,o)}e=e||{};var s=&quot;log&quot;===r&amp;&amp;&quot;linear&quot;===e.type,l=&quot;linear&quot;===r&amp;&amp;&quot;log&quot;===e.type;if(s||l)for(var c,u,f=t._fullLayout.annotations,h=e._id.charAt(0),d=0;d&lt;f.length;d++)c=f[d],u=&quot;annotations[&quot;+d+&quot;].&quot;,c[h+&quot;ref&quot;]===e._id&amp;&amp;o(h),c[&quot;a&quot;+h+&quot;ref&quot;]===e._id&amp;&amp;o(&quot;a&quot;+h)}},{&quot;../../lib/to_log_range&quot;:768,&quot;fast-isnumeric&quot;:140}],606:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../plots/array_container_defaults&quot;),i=t(&quot;./annotation_defaults&quot;);e.exports=function(t,e){n(t,e,{name:&quot;annotations&quot;,handleItemDefaults:i})}},{&quot;../../plots/array_container_defaults&quot;:786,&quot;./annotation_defaults&quot;:599}],607:[function(t,e,r){&quot;use strict&quot;;function n(t,e){var r=t._fullLayout.annotations[e]||{};i(t,r,e,!1,c.getFromId(t,r.xref),c.getFromId(t,r.yref))}function i(t,e,r,n,i,s){function c(r){return r.call(f.font,R).attr({&quot;text-anchor&quot;:{left:&quot;start&quot;,right:&quot;end&quot;}[e.align]||&quot;middle&quot;}),d.convertToTspans(r,t,v),r}function v(){function r(t,e){return&quot;auto&quot;===e&amp;&amp;(e=t&lt;1/3?&quot;left&quot;:t&gt;2/3?&quot;right&quot;:&quot;center&quot;),{center:0,middle:0,left:.5,bottom:-.5,right:-.5,top:.5}[e]}var a=N.selectAll(&quot;a&quot;);if(1===a.size()&amp;&amp;a.text()===N.text()){C.insert(&quot;a&quot;,&quot;:first-child&quot;).attr({&quot;xlink:xlink:href&quot;:a.attr(&quot;xlink:href&quot;),&quot;xlink:xlink:show&quot;:a.attr(&quot;xlink:show&quot;)}).style({cursor:&quot;pointer&quot;}).node().appendChild(P.node())}var c=C.select(&quot;.annotation-text-math-group&quot;),h=!c.empty(),v=f.bBox((h?c:N).node()),y=v.width,L=v.height,D=e.width||y,R=e.height||L,j=Math.round(D+2*I),B=Math.round(R+2*I);e._w=D,e._h=R;for(var U=!1,V=[&quot;x&quot;,&quot;y&quot;],q=0;q&lt;V.length;q++){var H,G,Y,W,X,Z=V[q],J=e[Z+&quot;ref&quot;]||Z,K=e[&quot;a&quot;+Z+&quot;ref&quot;],Q={x:i,y:s}[Z],$=(A+(&quot;x&quot;===Z?0:-90))*Math.PI/180,tt=j*Math.cos($),et=B*Math.sin($),rt=Math.abs(tt)+Math.abs(et),nt=e[Z+&quot;anchor&quot;],it=e[Z+&quot;shift&quot;]*(&quot;x&quot;===Z?1:-1),at=k[Z];if(Q){var ot=Q.r2fraction(e[Z]);if((t._dragging||!Q.autorange)&amp;&amp;(ot&lt;0||ot&gt;1)&amp;&amp;(K===J?((ot=Q.r2fraction(e[&quot;a&quot;+Z]))&lt;0||ot&gt;1)&amp;&amp;(U=!0):U=!0,U))continue;H=Q._offset+Q.r2p(e[Z]),W=.5}else&quot;x&quot;===Z?(Y=e[Z],H=_.l+_.w*Y):(Y=1-e[Z],H=_.t+_.h*Y),W=e.showarrow?.5:Y;if(e.showarrow){at.head=H;var st=e[&quot;a&quot;+Z];X=tt*r(.5,e.xanchor)-et*r(.5,e.yanchor),K===J?(at.tail=Q._offset+Q.r2p(st),G=X):(at.tail=H+st,G=X+st),at.text=at.tail+X;var lt=b[&quot;x&quot;===Z?&quot;width&quot;:&quot;height&quot;];if(&quot;paper&quot;===J&amp;&amp;(at.head=l.constrain(at.head,1,lt-1)),&quot;pixel&quot;===K){var ct=-Math.max(at.tail-3,at.text),ut=Math.min(at.tail+3,at.text)-lt;ct&gt;0?(at.tail+=ct,at.text+=ct):ut&gt;0&amp;&amp;(at.tail-=ut,at.text-=ut)}at.tail+=it,at.head+=it}else G=X=rt*r(W,nt),at.text=H+X;at.text+=it,X+=it,G+=it,e[&quot;_&quot;+Z+&quot;padplus&quot;]=rt/2+G,e[&quot;_&quot;+Z+&quot;padminus&quot;]=rt/2-G,e[&quot;_&quot;+Z+&quot;size&quot;]=rt,e[&quot;_&quot;+Z+&quot;shift&quot;]=X}if(U)C.remove();else{var ft=0,ht=0;if(&quot;left&quot;!==e.align&amp;&amp;(ft=(D-y)*(&quot;center&quot;===e.align?.5:1)),&quot;top&quot;!==e.valign&amp;&amp;(ht=(R-L)*(&quot;middle&quot;===e.valign?.5:1)),h)c.select(&quot;svg&quot;).attr({x:I+ft-1,y:I+ht}).call(f.setClipUrl,O?M:null);else{var dt=I+ht-v.top,pt=I+ft-v.left;N.call(d.positionText,pt,dt).call(f.setClipUrl,O?M:null)}F.select(&quot;rect&quot;).call(f.setRect,I,I,D,R),P.call(f.setRect,z/2,z/2,j-z,B-z),C.call(f.setTranslate,Math.round(k.x.text-j/2),Math.round(k.y.text-B/2)),S.attr({transform:&quot;rotate(&quot;+A+&quot;,&quot;+k.x.text+&quot;,&quot;+k.y.text+&quot;)&quot;});var mt=function(r,a){T.selectAll(&quot;.annotation-arrow-g&quot;).remove();var c=k.x.head,h=k.y.head,d=k.x.tail+r,p=k.y.tail+a,v=k.x.text+r,y=k.y.text+a,b=l.rotationXYMatrix(A,v,y),M=l.apply2DTransform(b),E=l.apply2DTransform2(b),L=+P.attr(&quot;width&quot;),z=+P.attr(&quot;height&quot;),D=v-.5*L,I=D+L,O=y-.5*z,F=O+z,R=[[D,O,D,F],[D,F,I,F],[I,F,I,O],[I,O,D,O]].map(E);if(!R.reduce(function(t,e){return t^!!l.segmentsIntersect(c,h,c+1e6,h+1e6,e[0],e[1],e[2],e[3])},!1)){R.forEach(function(t){var e=l.segmentsIntersect(d,p,c,h,t[0],t[1],t[2],t[3]);e&amp;&amp;(d=e.x,p=e.y)});var N=e.arrowwidth,j=e.arrowcolor,B=e.arrowside,U=T.append(&quot;g&quot;).style({opacity:u.opacity(j)}).classed(&quot;annotation-arrow-g&quot;,!0),V=U.append(&quot;path&quot;).attr(&quot;d&quot;,&quot;M&quot;+d+&quot;,&quot;+p+&quot;L&quot;+c+&quot;,&quot;+h).style(&quot;stroke-width&quot;,N+&quot;px&quot;).call(u.stroke,u.rgb(j));if(g(V,B,e),w.annotationPosition&amp;&amp;V.node().parentNode&amp;&amp;!n){var q=c,H=h;if(e.standoff){var G=Math.sqrt(Math.pow(c-d,2)+Math.pow(h-p,2));q+=e.standoff*(d-c)/G,H+=e.standoff*(p-h)/G}var Y,W,X,Z=U.append(&quot;path&quot;).classed(&quot;annotation-arrow&quot;,!0).classed(&quot;anndrag&quot;,!0).attr({d:&quot;M3,3H-3V-3H3ZM0,0L&quot;+(d-q)+&quot;,&quot;+(p-H),transform:&quot;translate(&quot;+q+&quot;,&quot;+H+&quot;)&quot;}).style(&quot;stroke-width&quot;,N+6+&quot;px&quot;).call(u.stroke,&quot;rgba(0,0,0,0)&quot;).call(u.fill,&quot;rgba(0,0,0,0)&quot;);m.init({element:Z.node(),gd:t,prepFn:function(){var t=f.getTranslate(C);W=t.x,X=t.y,Y={},i&amp;&amp;i.autorange&amp;&amp;(Y[i._name+&quot;.autorange&quot;]=!0),s&amp;&amp;s.autorange&amp;&amp;(Y[s._name+&quot;.autorange&quot;]=!0)},moveFn:function(t,r){var n=M(W,X),a=n[0]+t,o=n[1]+r;C.call(f.setTranslate,a,o),Y[x+&quot;.x&quot;]=i?i.p2r(i.r2p(e.x)+t):e.x+t/_.w,Y[x+&quot;.y&quot;]=s?s.p2r(s.r2p(e.y)+r):e.y-r/_.h,e.axref===e.xref&amp;&amp;(Y[x+&quot;.ax&quot;]=i.p2r(i.r2p(e.ax)+t)),e.ayref===e.yref&amp;&amp;(Y[x+&quot;.ay&quot;]=s.p2r(s.r2p(e.ay)+r)),U.attr(&quot;transform&quot;,&quot;translate(&quot;+t+&quot;,&quot;+r+&quot;)&quot;),S.attr({transform:&quot;rotate(&quot;+A+&quot;,&quot;+a+&quot;,&quot;+o+&quot;)&quot;})},doneFn:function(){o.relayout(t,Y);var e=document.querySelector(&quot;.js-notes-box-panel&quot;);e&amp;&amp;e.redraw(e.selectedObj)}})}}};if(e.showarrow&amp;&amp;mt(0,0),E){var gt,vt;m.init({element:C.node(),gd:t,prepFn:function(){vt=S.attr(&quot;transform&quot;),gt={}},moveFn:function(t,r){var a=&quot;pointer&quot;;if(e.showarrow)e.axref===e.xref?gt[x+&quot;.ax&quot;]=i.p2r(i.r2p(e.ax)+t):gt[x+&quot;.ax&quot;]=e.ax+t,e.ayref===e.yref?gt[x+&quot;.ay&quot;]=s.p2r(s.r2p(e.ay)+r):gt[x+&quot;.ay&quot;]=e.ay+r,mt(t,r);else{if(n)return;if(i)gt[x+&quot;.x&quot;]=e.x+t/i._m;else{var o=e._xsize/_.w,l=e.x+(e._xshift-e.xshift)/_.w-o/2;gt[x+&quot;.x&quot;]=m.align(l+t/_.w,o,0,1,e.xanchor)}if(s)gt[x+&quot;.y&quot;]=e.y+r/s._m;else{var c=e._ysize/_.h,u=e.y-(e._yshift+e.yshift)/_.h-c/2;gt[x+&quot;.y&quot;]=m.align(u-r/_.h,c,0,1,e.yanchor)}i&amp;&amp;s||(a=m.getCursor(i?.5:gt[x+&quot;.x&quot;],s?.5:gt[x+&quot;.y&quot;],e.xanchor,e.yanchor))}S.attr({transform:&quot;translate(&quot;+t+&quot;,&quot;+r+&quot;)&quot;+vt}),p(C,a)},doneFn:function(){p(C),o.relayout(t,gt);var e=document.querySelector(&quot;.js-notes-box-panel&quot;);e&amp;&amp;e.redraw(e.selectedObj)}})}}}var y,x,b=t._fullLayout,_=t._fullLayout._size,w=t._context.edits;n?(y=&quot;annotation-&quot;+n,x=n+&quot;.annotations[&quot;+r+&quot;]&quot;):(y=&quot;annotation&quot;,x=&quot;annotations[&quot;+r+&quot;]&quot;),b._infolayer.selectAll(&quot;.&quot;+y+'[data-index=&quot;'+r+'&quot;]').remove();var M=&quot;clip&quot;+b._uid+&quot;_ann&quot;+r;if(e._input&amp;&amp;!1!==e.visible){var k={x:{},y:{}},A=+e.textangle||0,T=b._infolayer.append(&quot;g&quot;).classed(y,!0).attr(&quot;data-index&quot;,String(r)).style(&quot;opacity&quot;,e.opacity),S=T.append(&quot;g&quot;).classed(&quot;annotation-text-g&quot;,!0),E=w[e.showarrow?&quot;annotationTail&quot;:&quot;annotationPosition&quot;],L=e.captureevents||w.annotationText||E,C=S.append(&quot;g&quot;).style(&quot;pointer-events&quot;,L?&quot;all&quot;:null).call(p,&quot;default&quot;).on(&quot;click&quot;,function(){t._dragging=!1;var i={index:r,annotation:e._input,fullAnnotation:e,event:a.event};n&amp;&amp;(i.subplotId=n),t.emit(&quot;plotly_clickannotation&quot;,i)});e.hovertext&amp;&amp;C.on(&quot;mouseover&quot;,function(){var r=e.hoverlabel,n=r.font,i=this.getBoundingClientRect(),a=t.getBoundingClientRect();h.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:b._hoverlayer.node(),outerContainer:b._paper.node(),gd:t})}).on(&quot;mouseout&quot;,function(){h.loneUnhover(b._hoverlayer.node())});var z=e.borderwidth,D=e.borderpad,I=z+D,P=C.append(&quot;rect&quot;).attr(&quot;class&quot;,&quot;bg&quot;).style(&quot;stroke-width&quot;,z+&quot;px&quot;).call(u.stroke,e.bordercolor).call(u.fill,e.bgcolor),O=e.width||e.height,F=b._topclips.selectAll(&quot;#&quot;+M).data(O?[0]:[]);F.enter().append(&quot;clipPath&quot;).classed(&quot;annclip&quot;,!0).attr(&quot;id&quot;,M).append(&quot;rect&quot;),F.exit().remove();var R=e.font,N=C.append(&quot;text&quot;).classed(&quot;annotation-text&quot;,!0).text(e.text);w.annotationText?N.call(d.makeEditable,{delegate:C,gd:t}).call(c).on(&quot;edit&quot;,function(r){e.text=r,this.call(c);var n={};n[x+&quot;.text&quot;]=e.text,i&amp;&amp;i.autorange&amp;&amp;(n[i._name+&quot;.autorange&quot;]=!0),s&amp;&amp;s.autorange&amp;&amp;(n[s._name+&quot;.autorange&quot;]=!0),o.relayout(t,n)}):N.call(c)}else a.selectAll(&quot;#&quot;+M).remove()}var a=t(&quot;d3&quot;),o=t(&quot;../../plotly&quot;),s=t(&quot;../../plots/plots&quot;),l=t(&quot;../../lib&quot;),c=t(&quot;../../plots/cartesian/axes&quot;),u=t(&quot;../color&quot;),f=t(&quot;../drawing&quot;),h=t(&quot;../fx&quot;),d=t(&quot;../../lib/svg_text_utils&quot;),p=t(&quot;../../lib/setcursor&quot;),m=t(&quot;../dragelement&quot;),g=t(&quot;./draw_arrow_head&quot;);e.exports={draw:function(t){var e=t._fullLayout;e._infolayer.selectAll(&quot;.annotation&quot;).remove();for(var r=0;r&lt;e.annotations.length;r++)e.annotations[r].visible&amp;&amp;n(t,r);return s.previousPromises(t)},drawOne:n,drawRaw:i}},{&quot;../../lib&quot;:743,&quot;../../lib/setcursor&quot;:762,&quot;../../lib/svg_text_utils&quot;:766,&quot;../../plotly&quot;:784,&quot;../../plots/cartesian/axes&quot;:789,&quot;../../plots/plots&quot;:852,&quot;../color&quot;:618,&quot;../dragelement&quot;:640,&quot;../drawing&quot;:643,&quot;../fx&quot;:660,&quot;./draw_arrow_head&quot;:608,d3:128}],608:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;d3&quot;),i=t(&quot;../color&quot;),a=t(&quot;./arrow_paths&quot;);e.exports=function(t,e,r){function o(){t.style(&quot;stroke-dasharray&quot;,&quot;0px,100px&quot;)}function s(e,a,o,s){e.path&amp;&amp;(e.noRotate&amp;&amp;(o=0),n.select(h.parentNode).append(&quot;path&quot;).attr({class:t.attr(&quot;class&quot;),d:e.path,transform:&quot;translate(&quot;+a.x+&quot;,&quot;+a.y+&quot;)&quot;+(o?&quot;rotate(&quot;+180*o/Math.PI+&quot;)&quot;:&quot;&quot;)+&quot;scale(&quot;+s+&quot;)&quot;}).style({fill:i.rgb(r.arrowcolor),&quot;stroke-width&quot;:0}))}var l,c,u,f,h=t.node(),d=a[r.arrowhead||0],p=a[r.startarrowhead||0],m=(r.arrowwidth||1)*(r.arrowsize||1),g=(r.arrowwidth||1)*(r.startarrowsize||1),v=e.indexOf(&quot;start&quot;)&gt;=0,y=e.indexOf(&quot;end&quot;)&gt;=0,x=d.backoff*m+r.standoff,b=p.backoff*g+r.startstandoff;if(&quot;line&quot;===h.nodeName){l={x:+t.attr(&quot;x1&quot;),y:+t.attr(&quot;y1&quot;)},c={x:+t.attr(&quot;x2&quot;),y:+t.attr(&quot;y2&quot;)};var _=l.x-c.x,w=l.y-c.y;if(u=Math.atan2(w,_),f=u+Math.PI,x&amp;&amp;b&amp;&amp;x+b&gt;Math.sqrt(_*_+w*w))return void o();if(x){if(x*x&gt;_*_+w*w)return void o();var M=x*Math.cos(u),k=x*Math.sin(u);c.x+=M,c.y+=k,t.attr({x2:c.x,y2:c.y})}if(b){if(b*b&gt;_*_+w*w)return void o();var A=b*Math.cos(u),T=b*Math.sin(u);l.x-=A,l.y-=T,t.attr({x1:l.x,y1:l.y})}}else if(&quot;path&quot;===h.nodeName){var S=h.getTotalLength(),E=&quot;&quot;;if(S&lt;x+b)return void o();var L=h.getPointAtLength(0),C=h.getPointAtLength(.1);u=Math.atan2(L.y-C.y,L.x-C.x),l=h.getPointAtLength(Math.min(b,S)),E=&quot;0px,&quot;+b+&quot;px,&quot;;var z=h.getPointAtLength(S),D=h.getPointAtLength(S-.1);f=Math.atan2(z.y-D.y,z.x-D.x),c=h.getPointAtLength(Math.max(0,S-x));E+=S-(E?b+x:x)+&quot;px,&quot;+S+&quot;px&quot;,t.style(&quot;stroke-dasharray&quot;,E)}v&amp;&amp;s(p,l,u,g),y&amp;&amp;s(d,c,f,m)}},{&quot;../color&quot;:618,&quot;./arrow_paths&quot;:600,d3:128}],609:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;./draw&quot;),i=t(&quot;./click&quot;);e.exports={moduleType:&quot;component&quot;,name:&quot;annotations&quot;,layoutAttributes:t(&quot;./attributes&quot;),supplyLayoutDefaults:t(&quot;./defaults&quot;),includeBasePlot:t(&quot;../../plots/cartesian/include_components&quot;)(&quot;annotations&quot;),calcAutorange:t(&quot;./calc_autorange&quot;),draw:n.draw,drawOne:n.drawOne,drawRaw:n.drawRaw,hasClickToShow:i.hasClickToShow,onClick:i.onClick,convertCoords:t(&quot;./convert_coords&quot;)}},{&quot;../../plots/cartesian/include_components&quot;:799,&quot;./attributes&quot;:601,&quot;./calc_autorange&quot;:602,&quot;./click&quot;:603,&quot;./convert_coords&quot;:605,&quot;./defaults&quot;:606,&quot;./draw&quot;:607}],610:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../annotations/attributes&quot;),i=t(&quot;../../plot_api/edit_types&quot;).overrideAll;e.exports=i({_isLinkedToArray:&quot;annotation&quot;,visible:n.visible,x:{valType:&quot;any&quot;},y:{valType:&quot;any&quot;},z:{valType:&quot;any&quot;},ax:{valType:&quot;number&quot;},ay:{valType:&quot;number&quot;},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},&quot;calc&quot;,&quot;from-root&quot;)},{&quot;../../plot_api/edit_types&quot;:773,&quot;../annotations/attributes&quot;:601}],611:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib&quot;),i=t(&quot;../../plots/cartesian/axes&quot;);e.exports=function(t){for(var e=t.fullSceneLayout.annotations,r=0;r&lt;e.length;r++)!function(t,e){var r=e.fullSceneLayout.domain,a=e.fullLayout._size,o={pdata:null,type:&quot;linear&quot;,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[r],t);t.fullLayout._infolayer.selectAll(&quot;.annotation-&quot;+t.id).remove()}},{&quot;../../lib&quot;:743,&quot;../../plots/cartesian/axes&quot;:789}],612:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,n,o){function c(r,n){return i.coerce(t,e,l,r,n)}function u(t){var n=t+&quot;axis&quot;,i={_fullLayout:{}};return i._fullLayout[n]=r[n],a.coercePosition(e,i,c,t,t,.5)}return c(&quot;visible&quot;,!o.itemIsNotPlainObject)?(s(t,e,n.fullLayout,c),u(&quot;x&quot;),u(&quot;y&quot;),u(&quot;z&quot;),i.noneOrAll(t,e,[&quot;x&quot;,&quot;y&quot;,&quot;z&quot;]),e.xref=&quot;x&quot;,e.yref=&quot;y&quot;,e.zref=&quot;z&quot;,c(&quot;xanchor&quot;),c(&quot;yanchor&quot;),c(&quot;xshift&quot;),c(&quot;yshift&quot;),e.showarrow&amp;&amp;(e.axref=&quot;pixel&quot;,e.ayref=&quot;pixel&quot;,c(&quot;ax&quot;,-10),c(&quot;ay&quot;,-30),i.noneOrAll(t,e,[&quot;ax&quot;,&quot;ay&quot;])),e):e}var i=t(&quot;../../lib&quot;),a=t(&quot;../../plots/cartesian/axes&quot;),o=t(&quot;../../plots/array_container_defaults&quot;),s=t(&quot;../annotations/common_defaults&quot;),l=t(&quot;./attributes&quot;);e.exports=function(t,e,r){o(t,e,{name:&quot;annotations&quot;,handleItemDefaults:n,fullLayout:r.fullLayout})}},{&quot;../../lib&quot;:743,&quot;../../plots/array_container_defaults&quot;:786,&quot;../../plots/cartesian/axes&quot;:789,&quot;../annotations/common_defaults&quot;:604,&quot;./attributes&quot;:610}],613:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../annotations/draw&quot;).drawRaw,i=t(&quot;../../plots/gl3d/project&quot;),a=[&quot;x&quot;,&quot;y&quot;,&quot;z&quot;];e.exports=function(t){for(var e=t.fullSceneLayout,r=t.dataScale,o=e.annotations,s=0;s&lt;o.length;s++){for(var l=o[s],c=!1,u=0;u&lt;3;u++){var f=a[u],h=l[f],d=e[f+&quot;axis&quot;].r2fraction(h);if(d&lt;0||d&gt;1){c=!0;break}}c?t.fullLayout._infolayer.select(&quot;.annotation-&quot;+t.id+'[data-index=&quot;'+s+'&quot;]').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))}}},{&quot;../../plots/gl3d/project&quot;:841,&quot;../annotations/draw&quot;:607}],614:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../registry&quot;),i=t(&quot;../../lib&quot;);e.exports={moduleType:&quot;component&quot;,name:&quot;annotations3d&quot;,schema:{subplots:{scene:{annotations:t(&quot;./attributes&quot;)}}},layoutAttributes:t(&quot;./attributes&quot;),handleDefaults:t(&quot;./defaults&quot;),includeBasePlot:function(t,e){var r=n.subplotsRegistry.gl3d;if(r)for(var a=r.attrRegex,o=Object.keys(t),s=0;s&lt;o.length;s++){var l=o[s];a.test(l)&amp;&amp;(t[l].annotations||[]).length&amp;&amp;(i.pushUnique(e._basePlotModules,r),i.pushUnique(e._subplots.gl3d,l))}},convert:t(&quot;./convert&quot;),draw:t(&quot;./draw&quot;)}},{&quot;../../lib&quot;:743,&quot;../../registry&quot;:873,&quot;./attributes&quot;:610,&quot;./convert&quot;:611,&quot;./defaults&quot;:612,&quot;./draw&quot;:613}],615:[function(t,e,r){&quot;use strict&quot;;e.exports=t(&quot;world-calendars/dist/main&quot;),t(&quot;world-calendars/dist/plus&quot;),t(&quot;world-calendars/dist/calendars/chinese&quot;),t(&quot;world-calendars/dist/calendars/coptic&quot;),t(&quot;world-calendars/dist/calendars/discworld&quot;),t(&quot;world-calendars/dist/calendars/ethiopian&quot;),t(&quot;world-calendars/dist/calendars/hebrew&quot;),t(&quot;world-calendars/dist/calendars/islamic&quot;),t(&quot;world-calendars/dist/calendars/julian&quot;),t(&quot;world-calendars/dist/calendars/mayan&quot;),t(&quot;world-calendars/dist/calendars/nanakshahi&quot;),t(&quot;world-calendars/dist/calendars/nepali&quot;),t(&quot;world-calendars/dist/calendars/persian&quot;),t(&quot;world-calendars/dist/calendars/taiwan&quot;),t(&quot;world-calendars/dist/calendars/thai&quot;),t(&quot;world-calendars/dist/calendars/ummalqura&quot;)},{&quot;world-calendars/dist/calendars/chinese&quot;:581,&quot;world-calendars/dist/calendars/coptic&quot;:582,&quot;world-calendars/dist/calendars/discworld&quot;:583,&quot;world-calendars/dist/calendars/ethiopian&quot;:584,&quot;world-calendars/dist/calendars/hebrew&quot;:585,&quot;world-calendars/dist/calendars/islamic&quot;:586,&quot;world-calendars/dist/calendars/julian&quot;:587,&quot;world-calendars/dist/calendars/mayan&quot;:588,&quot;world-calendars/dist/calendars/nanakshahi&quot;:589,&quot;world-calendars/dist/calendars/nepali&quot;:590,&quot;world-calendars/dist/calendars/persian&quot;:591,&quot;world-calendars/dist/calendars/taiwan&quot;:592,&quot;world-calendars/dist/calendars/thai&quot;:593,&quot;world-calendars/dist/calendars/ummalqura&quot;:594,&quot;world-calendars/dist/main&quot;:595,&quot;world-calendars/dist/plus&quot;:596}],616:[function(t,e,r){&quot;use strict&quot;;function n(t){var e=m[t];return e||(e=m[t]=o.instance(t))}function i(t){return s.extendFlat({},f,{description:t})}function a(t){return&quot;Sets the calendar system to use with `&quot;+t+&quot;` date data.&quot;}var o=t(&quot;./calendars&quot;),s=t(&quot;../../lib&quot;),l=t(&quot;../../constants/numerical&quot;),c=l.EPOCHJD,u=l.ONEDAY,f={valType:&quot;enumerated&quot;,values:Object.keys(o.calendars),editType:&quot;calc&quot;,dflt:&quot;gregorian&quot;},h=function(t,e,r,n){var i={};return i[r]=f,s.coerce(t,e,i,r,n)},d=&quot;##&quot;,p={d:{0:&quot;dd&quot;,&quot;-&quot;:&quot;d&quot;},e:{0:&quot;d&quot;,&quot;-&quot;:&quot;d&quot;},a:{0:&quot;D&quot;,&quot;-&quot;:&quot;D&quot;},A:{0:&quot;DD&quot;,&quot;-&quot;:&quot;DD&quot;},j:{0:&quot;oo&quot;,&quot;-&quot;:&quot;o&quot;},W:{0:&quot;ww&quot;,&quot;-&quot;:&quot;w&quot;},m:{0:&quot;mm&quot;,&quot;-&quot;:&quot;m&quot;},b:{0:&quot;M&quot;,&quot;-&quot;:&quot;M&quot;},B:{0:&quot;MM&quot;,&quot;-&quot;:&quot;MM&quot;},y:{0:&quot;yy&quot;,&quot;-&quot;:&quot;yy&quot;},Y:{0:&quot;yyyy&quot;,&quot;-&quot;:&quot;yyyy&quot;},U:d,w:d,c:{0:&quot;D M d %X yyyy&quot;,&quot;-&quot;:&quot;D M d %X yyyy&quot;},x:{0:&quot;mm/dd/yyyy&quot;,&quot;-&quot;:&quot;mm/dd/yyyy&quot;}},m={},g={xcalendar:i(a(&quot;x&quot;))},v=s.extendFlat({},g,{ycalendar:i(a(&quot;y&quot;))}),y=s.extendFlat({},v,{zcalendar:i(a(&quot;z&quot;))}),x=i([&quot;Sets the calendar system to use for `range` and `tick0`&quot;,&quot;if this is a date axis. This does not set the calendar for&quot;,&quot;interpreting data on this axis, that's specified in the trace&quot;,&quot;or via the global `layout.calendar`&quot;].join(&quot; &quot;));e.exports={moduleType:&quot;component&quot;,name:&quot;calendars&quot;,schema:{traces:{scatter:v,bar:v,box:v,heatmap:v,contour:v,histogram:v,histogram2d:v,histogram2dcontour:v,scatter3d:y,surface:y,mesh3d:y,scattergl:v,ohlc:g,candlestick:g},layout:{calendar:i([&quot;Sets the default calendar system to use for interpreting and&quot;,&quot;displaying dates throughout the plot.&quot;].join(&quot; &quot;))},subplots:{xaxis:{calendar:x},yaxis:{calendar:x},scene:{xaxis:{calendar:x},yaxis:{calendar:x},zaxis:{calendar:x}},polar:{radialaxis:{calendar:x}}},transforms:{filter:{valuecalendar:i([&quot;Sets the calendar system to use for `value`, if it is a date.&quot;].join(&quot; &quot;)),targetcalendar:i([&quot;Sets the calendar system to use for `target`, if it is an&quot;,&quot;array of dates. If `target` is a string (eg *x*) we use the&quot;,&quot;corresponding trace attribute (eg `xcalendar`) if it exists,&quot;,&quot;even if `targetcalendar` is provided.&quot;].join(&quot; &quot;))}}},layoutAttributes:f,handleDefaults:h,handleTraceDefaults:function(t,e,r,n){for(var i=0;i&lt;r.length;i++)h(t,e,r[i]+&quot;calendar&quot;,n.calendar)},CANONICAL_SUNDAY:{chinese:&quot;2000-01-02&quot;,coptic:&quot;2000-01-03&quot;,discworld:&quot;2000-01-03&quot;,ethiopian:&quot;2000-01-05&quot;,hebrew:&quot;5000-01-01&quot;,islamic:&quot;1000-01-02&quot;,julian:&quot;2000-01-03&quot;,mayan:&quot;5000-01-01&quot;,nanakshahi:&quot;1000-01-05&quot;,nepali:&quot;2000-01-05&quot;,persian:&quot;1000-01-01&quot;,jalali:&quot;1000-01-01&quot;,taiwan:&quot;1000-01-04&quot;,thai:&quot;2000-01-04&quot;,ummalqura:&quot;1400-01-06&quot;},CANONICAL_TICK:{chinese:&quot;2000-01-01&quot;,coptic:&quot;2000-01-01&quot;,discworld:&quot;2000-01-01&quot;,ethiopian:&quot;2000-01-01&quot;,hebrew:&quot;5000-01-01&quot;,islamic:&quot;1000-01-01&quot;,julian:&quot;2000-01-01&quot;,mayan:&quot;5000-01-01&quot;,nanakshahi:&quot;1000-01-01&quot;,nepali:&quot;2000-01-01&quot;,persian:&quot;1000-01-01&quot;,jalali:&quot;1000-01-01&quot;,taiwan:&quot;1000-01-01&quot;,thai:&quot;2000-01-01&quot;,ummalqura:&quot;1400-01-01&quot;},DFLTRANGE:{chinese:[&quot;2000-01-01&quot;,&quot;2001-01-01&quot;],coptic:[&quot;1700-01-01&quot;,&quot;1701-01-01&quot;],discworld:[&quot;1800-01-01&quot;,&quot;1801-01-01&quot;],ethiopian:[&quot;2000-01-01&quot;,&quot;2001-01-01&quot;],hebrew:[&quot;5700-01-01&quot;,&quot;5701-01-01&quot;],islamic:[&quot;1400-01-01&quot;,&quot;1401-01-01&quot;],julian:[&quot;2000-01-01&quot;,&quot;2001-01-01&quot;],mayan:[&quot;5200-01-01&quot;,&quot;5201-01-01&quot;],nanakshahi:[&quot;0500-01-01&quot;,&quot;0501-01-01&quot;],nepali:[&quot;2000-01-01&quot;,&quot;2001-01-01&quot;],persian:[&quot;1400-01-01&quot;,&quot;1401-01-01&quot;],jalali:[&quot;1400-01-01&quot;,&quot;1401-01-01&quot;],taiwan:[&quot;0100-01-01&quot;,&quot;0101-01-01&quot;],thai:[&quot;2500-01-01&quot;,&quot;2501-01-01&quot;],ummalqura:[&quot;1400-01-01&quot;,&quot;1401-01-01&quot;]},getCal:n,worldCalFmt:function(t,e,r){for(var i,a,o,s,l,f=Math.floor((e+.05)/u)+c,h=n(r).fromJD(f),m=0;-1!==(m=t.indexOf(&quot;%&quot;,m));)&quot;0&quot;===(i=t.charAt(m+1))||&quot;-&quot;===i||&quot;_&quot;===i?(o=3,a=t.charAt(m+2),&quot;_&quot;===i&amp;&amp;(i=&quot;-&quot;)):(a=i,i=&quot;0&quot;,o=2),(s=p[a])?(l=s===d?d:h.formatDate(s[i]),t=t.substr(0,m)+l+t.substr(m+o),m+=l.length):m+=o;return t}}},{&quot;../../constants/numerical&quot;:721,&quot;../../lib&quot;:743,&quot;./calendars&quot;:615}],617:[function(t,e,r){&quot;use strict&quot;;r.defaults=[&quot;#1f77b4&quot;,&quot;#ff7f0e&quot;,&quot;#2ca02c&quot;,&quot;#d62728&quot;,&quot;#9467bd&quot;,&quot;#8c564b&quot;,&quot;#e377c2&quot;,&quot;#7f7f7f&quot;,&quot;#bcbd22&quot;,&quot;#17becf&quot;],r.defaultLine=&quot;#444&quot;,r.lightLine=&quot;#eee&quot;,r.background=&quot;#fff&quot;,r.borderLine=&quot;#BEC8D9&quot;,r.lightFraction=1e3/11},{}],618:[function(t,e,r){&quot;use strict&quot;;function n(t){if(a(t)||&quot;string&quot;!=typeof t)return t;var e=t.trim();if(&quot;rgb&quot;!==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*/),i=&quot;a&quot;===e.charAt(3)&amp;&amp;4===n.length;if(!i&amp;&amp;3!==n.length)return t;for(var o=0;o&lt;n.length;o++){if(!n[o].length)return t;if(n[o]=Number(n[o]),!(n[o]&gt;=0))return t;if(3===o)n[o]&gt;1&amp;&amp;(n[o]=1);else if(n[o]&gt;=1)return t}var s=Math.round(255*n[0])+&quot;, &quot;+Math.round(255*n[1])+&quot;, &quot;+Math.round(255*n[2]);return i?&quot;rgba(&quot;+s+&quot;, &quot;+n[3]+&quot;)&quot;:&quot;rgb(&quot;+s+&quot;)&quot;}var i=t(&quot;tinycolor2&quot;),a=t(&quot;fast-isnumeric&quot;),o=e.exports={},s=t(&quot;./attributes&quot;);o.defaults=s.defaults;var l=o.defaultLine=s.defaultLine;o.lightLine=s.lightLine;var c=o.background=s.background;o.tinyRGB=function(t){var e=t.toRgb();return&quot;rgb(&quot;+Math.round(e.r)+&quot;, &quot;+Math.round(e.g)+&quot;, &quot;+Math.round(e.b)+&quot;)&quot;},o.rgb=function(t){return o.tinyRGB(i(t))},o.opacity=function(t){return t?i(t).getAlpha():0},o.addOpacity=function(t,e){var r=i(t).toRgb();return&quot;rgba(&quot;+Math.round(r.r)+&quot;, &quot;+Math.round(r.g)+&quot;, &quot;+Math.round(r.b)+&quot;, &quot;+e+&quot;)&quot;},o.combine=function(t,e){var r=i(t).toRgb();if(1===r.a)return i(t).toRgbString();var n=i(e||c).toRgb(),a=1===n.a?n:{r:255*(1-n.a)+n.r*n.a,g:255*(1-n.a)+n.g*n.a,b:255*(1-n.a)+n.b*n.a},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 i(o).toRgbString()},o.contrast=function(t,e,r){var n=i(t);1!==n.getAlpha()&amp;&amp;(n=i(o.combine(t,c)));return(n.isDark()?e?n.lighten(e):c:r?n.darken(r):l).toString()},o.stroke=function(t,e){var r=i(e);t.style({stroke:o.tinyRGB(r),&quot;stroke-opacity&quot;:r.getAlpha()})},o.fill=function(t,e){var r=i(e);t.style({fill:o.tinyRGB(r),&quot;fill-opacity&quot;:r.getAlpha()})},o.clean=function(t){if(t&amp;&amp;&quot;object&quot;==typeof t){var e,r,i,a,s=Object.keys(t);for(e=0;e&lt;s.length;e++)if(i=s[e],a=t[i],&quot;color&quot;===i.substr(i.length-5))if(Array.isArray(a))for(r=0;r&lt;a.length;r++)a[r]=n(a[r]);else t[i]=n(a);else if(&quot;colorscale&quot;===i.substr(i.length-10)&amp;&amp;Array.isArray(a))for(r=0;r&lt;a.length;r++)Array.isArray(a[r])&amp;&amp;(a[r][1]=n(a[r][1]));else if(Array.isArray(a)){var l=a[0];if(!Array.isArray(l)&amp;&amp;l&amp;&amp;&quot;object&quot;==typeof l)for(r=0;r&lt;a.length;r++)o.clean(a[r])}else a&amp;&amp;&quot;object&quot;==typeof a&amp;&amp;o.clean(a)}}},{&quot;./attributes&quot;:617,&quot;fast-isnumeric&quot;:140,tinycolor2:546}],619:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../plots/cartesian/layout_attributes&quot;),i=t(&quot;../../plots/font_attributes&quot;),a=t(&quot;../../lib/extend&quot;).extendFlat,o=t(&quot;../../plot_api/edit_types&quot;).overrideAll;e.exports=o({thicknessmode:{valType:&quot;enumerated&quot;,values:[&quot;fraction&quot;,&quot;pixels&quot;],dflt:&quot;pixels&quot;},thickness:{valType:&quot;number&quot;,min:0,dflt:30},lenmode:{valType:&quot;enumerated&quot;,values:[&quot;fraction&quot;,&quot;pixels&quot;],dflt:&quot;fraction&quot;},len:{valType:&quot;number&quot;,min:0,dflt:1},x:{valType:&quot;number&quot;,dflt:1.02,min:-2,max:3},xanchor:{valType:&quot;enumerated&quot;,values:[&quot;left&quot;,&quot;center&quot;,&quot;right&quot;],dflt:&quot;left&quot;},xpad:{valType:&quot;number&quot;,min:0,dflt:10},y:{valType:&quot;number&quot;,dflt:.5,min:-2,max:3},yanchor:{valType:&quot;enumerated&quot;,values:[&quot;top&quot;,&quot;middle&quot;,&quot;bottom&quot;],dflt:&quot;middle&quot;},ypad:{valType:&quot;number&quot;,min:0,dflt:10},outlinecolor:n.linecolor,outlinewidth:n.linewidth,bordercolor:n.linecolor,borderwidth:{valType:&quot;number&quot;,min:0,dflt:0},bgcolor:{valType:&quot;color&quot;,dflt:&quot;rgba(0,0,0,0)&quot;},tickmode:n.tickmode,nticks:n.nticks,tick0:n.tick0,dtick:n.dtick,tickvals:n.tickvals,ticktext:n.ticktext,ticks:a({},n.ticks,{dflt:&quot;&quot;}),ticklen:n.ticklen,tickwidth:n.tickwidth,tickcolor:n.tickcolor,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,showexponent:n.showexponent,title:{valType:&quot;string&quot;},titlefont:i({}),titleside:{valType:&quot;enumerated&quot;,values:[&quot;right&quot;,&quot;top&quot;,&quot;bottom&quot;],dflt:&quot;top&quot;}},&quot;colorbars&quot;,&quot;from-root&quot;)},{&quot;../../lib/extend&quot;:732,&quot;../../plot_api/edit_types&quot;:773,&quot;../../plots/cartesian/layout_attributes&quot;:801,&quot;../../plots/font_attributes&quot;:816}],620:[function(t,e,r){&quot;use strict&quot;;e.exports={cn:{colorbar:&quot;colorbar&quot;,cbbg:&quot;cbbg&quot;,cbfill:&quot;cbfill&quot;,cbfills:&quot;cbfills&quot;,cbline:&quot;cbline&quot;,cblines:&quot;cblines&quot;,cbaxis:&quot;cbaxis&quot;,cbtitleunshift:&quot;cbtitleunshift&quot;,cbtitle:&quot;cbtitle&quot;,cboutline:&quot;cboutline&quot;,crisp:&quot;crisp&quot;,jsPlaceholder:&quot;js-placeholder&quot;}}},{}],621:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib&quot;),i=t(&quot;../../plots/cartesian/tick_value_defaults&quot;),a=t(&quot;../../plots/cartesian/tick_mark_defaults&quot;),o=t(&quot;../../plots/cartesian/tick_label_defaults&quot;),s=t(&quot;./attributes&quot;);e.exports=function(t,e,r){function l(t,e){return n.coerce(u,c,s,t,e)}var c=e.colorbar={},u=t.colorbar||{};l(&quot;thickness&quot;,&quot;fraction&quot;===l(&quot;thicknessmode&quot;)?30/(r.width-r.margin.l-r.margin.r):30);l(&quot;len&quot;,&quot;fraction&quot;===l(&quot;lenmode&quot;)?1:r.height-r.margin.t-r.margin.b),l(&quot;x&quot;),l(&quot;xanchor&quot;),l(&quot;xpad&quot;),l(&quot;y&quot;),l(&quot;yanchor&quot;),l(&quot;ypad&quot;),n.noneOrAll(u,c,[&quot;x&quot;,&quot;y&quot;]),l(&quot;outlinecolor&quot;),l(&quot;outlinewidth&quot;),l(&quot;bordercolor&quot;),l(&quot;borderwidth&quot;),l(&quot;bgcolor&quot;),i(u,c,l,&quot;linear&quot;),o(u,c,l,&quot;linear&quot;,{outerTicks:!1,font:r.font,noHover:!0}),a(u,c,l,&quot;linear&quot;,{outerTicks:!1,font:r.font,noHover:!0}),l(&quot;title&quot;,r._dfltTitle.colorbar),n.coerceFont(l,&quot;titlefont&quot;,r.font),l(&quot;titleside&quot;)}},{&quot;../../lib&quot;:743,&quot;../../plots/cartesian/tick_label_defaults&quot;:809,&quot;../../plots/cartesian/tick_mark_defaults&quot;:810,&quot;../../plots/cartesian/tick_value_defaults&quot;:811,&quot;./attributes&quot;:619}],622:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;d3&quot;),i=t(&quot;tinycolor2&quot;),a=t(&quot;../../plotly&quot;),o=t(&quot;../../plots/plots&quot;),s=t(&quot;../../registry&quot;),l=t(&quot;../../plots/cartesian/axes&quot;),c=t(&quot;../dragelement&quot;),u=t(&quot;../../lib&quot;),f=t(&quot;../../lib/extend&quot;).extendFlat,h=t(&quot;../../lib/setcursor&quot;),d=t(&quot;../drawing&quot;),p=t(&quot;../color&quot;),m=t(&quot;../titles&quot;),g=t(&quot;../../lib/svg_text_utils&quot;),v=t(&quot;../../constants/alignment&quot;).LINE_SPACING,y=t(&quot;../../plots/cartesian/axis_defaults&quot;),x=t(&quot;../../plots/cartesian/position_defaults&quot;),b=t(&quot;../../plots/cartesian/layout_attributes&quot;),_=t(&quot;./attributes&quot;),w=t(&quot;./constants&quot;).cn;e.exports=function(t,e){function r(){function _(t,e){return u.coerce(tt,et,b,t,e)}function A(e,r){var n,i=M();n=s.traceIs(i,&quot;markerColorscale&quot;)?&quot;marker.colorbar.title&quot;:&quot;colorbar.title&quot;;var a={propContainer:et,propName:n,traceIndex:i.index,placeholder:T._dfltTitle.colorbar,containerGroup:st.select(&quot;.cbtitle&quot;)},o=&quot;h&quot;===e.charAt(0)?e.substr(1):&quot;h&quot;+e;st.selectAll(&quot;.&quot;+o+&quot;,.&quot;+o+&quot;-math-group&quot;).remove(),m.draw(t,e,f(a,r||{}))}var T=t._fullLayout,S=T._size;if(&quot;function&quot;==typeof k.fillcolor||&quot;function&quot;==typeof k.line.color){var E,L,C=n.extent((&quot;function&quot;==typeof k.fillcolor?k.fillcolor:k.line.color).domain()),z=[],D=[],I=&quot;function&quot;==typeof k.line.color?k.line.color:function(){return k.line.color},P=&quot;function&quot;==typeof k.fillcolor?k.fillcolor:function(){return k.fillcolor},O=k.levels.end+k.levels.size/100,F=k.levels.size,R=1.001*C[0]-.001*C[1],N=1.001*C[1]-.001*C[0];for(L=0;L&lt;1e5&amp;&amp;(E=k.levels.start+L*F,!(F&gt;0?E&gt;=O:E&lt;=O));L++)E&gt;R&amp;&amp;E&lt;N&amp;&amp;z.push(E);if(&quot;function&quot;==typeof k.fillcolor)if(k.filllevels)for(O=k.filllevels.end+k.filllevels.size/100,F=k.filllevels.size,L=0;L&lt;1e5&amp;&amp;(E=k.filllevels.start+L*F,!(F&gt;0?E&gt;=O:E&lt;=O));L++)E&gt;C[0]&amp;&amp;E&lt;C[1]&amp;&amp;D.push(E);else(D=z.map(function(t){return t-k.levels.size/2})).push(D[D.length-1]+k.levels.size);else k.fillcolor&amp;&amp;&quot;string&quot;==typeof k.fillcolor&amp;&amp;(D=[0]);k.levels.size&lt;0&amp;&amp;(z.reverse(),D.reverse());var j,B=T.height-T.margin.t-T.margin.b,U=T.width-T.margin.l-T.margin.r,V=Math.round(k.thickness*(&quot;fraction&quot;===k.thicknessmode?U:1)),q=V/S.w,H=Math.round(k.len*(&quot;fraction&quot;===k.lenmode?B:1)),G=H/S.h,Y=k.xpad/S.w,W=(k.borderwidth+k.outlinewidth)/2,X=k.ypad/S.h,Z=Math.round(k.x*S.w+k.xpad),J=k.x-q*({middle:.5,right:1}[k.xanchor]||0),K=k.y+G*(({top:-.5,bottom:.5}[k.yanchor]||0)-.5),Q=Math.round(S.h*(1-K)),$=Q-H,tt={type:&quot;linear&quot;,range:C,tickmode:k.tickmode,nticks:k.nticks,tick0:k.tick0,dtick:k.dtick,tickvals:k.tickvals,ticktext:k.ticktext,ticks:k.ticks,ticklen:k.ticklen,tickwidth:k.tickwidth,tickcolor:k.tickcolor,showticklabels:k.showticklabels,tickfont:k.tickfont,tickangle:k.tickangle,tickformat:k.tickformat,exponentformat:k.exponentformat,separatethousands:k.separatethousands,showexponent:k.showexponent,showtickprefix:k.showtickprefix,tickprefix:k.tickprefix,showticksuffix:k.showticksuffix,ticksuffix:k.ticksuffix,title:k.title,titlefont:k.titlefont,showline:!0,anchor:&quot;free&quot;,position:1},et={type:&quot;linear&quot;,_id:&quot;y&quot;+e},rt={letter:&quot;y&quot;,font:T.font,noHover:!0,calendar:T.calendar};if(y(tt,et,_,rt,T),x(tt,et,_,rt),et.position=k.x+Y+q,r.axis=et,-1!==[&quot;top&quot;,&quot;bottom&quot;].indexOf(k.titleside)&amp;&amp;(et.titleside=k.titleside,et.titlex=k.x+Y,et.titley=K+(&quot;top&quot;===k.titleside?G-X:X)),k.line.color&amp;&amp;&quot;auto&quot;===k.tickmode){et.tickmode=&quot;linear&quot;,et.tick0=k.levels.start;var nt=k.levels.size,it=u.constrain((Q-$)/50,4,15)+1,at=(C[1]-C[0])/((k.nticks||it)*nt);if(at&gt;1){var ot=Math.pow(10,Math.floor(Math.log(at)/Math.LN10));nt*=ot*u.roundUp(at/ot,[2,5,10]),(Math.abs(k.levels.start)/k.levels.size+1e-6)%1&lt;2e-6&amp;&amp;(et.tick0=0)}et.dtick=nt}et.domain=[K+X,K+G-X],et.setScale();var st=T._infolayer.selectAll(&quot;g.&quot;+e).data([0]);st.enter().append(&quot;g&quot;).classed(e,!0).classed(w.colorbar,!0).each(function(){var t=n.select(this);t.append(&quot;rect&quot;).classed(w.cbbg,!0),t.append(&quot;g&quot;).classed(w.cbfills,!0),t.append(&quot;g&quot;).classed(w.cblines,!0),t.append(&quot;g&quot;).classed(w.cbaxis,!0).classed(w.crisp,!0),t.append(&quot;g&quot;).classed(w.cbtitleunshift,!0).append(&quot;g&quot;).classed(w.cbtitle,!0),t.append(&quot;rect&quot;).classed(w.cboutline,!0),t.select(&quot;.cbtitle&quot;).datum(0)}),st.attr(&quot;transform&quot;,&quot;translate(&quot;+Math.round(S.l)+&quot;,&quot;+Math.round(S.t)+&quot;)&quot;);var lt=st.select(&quot;.cbtitleunshift&quot;).attr(&quot;transform&quot;,&quot;translate(-&quot;+Math.round(S.l)+&quot;,-&quot;+Math.round(S.t)+&quot;)&quot;);et._axislayer=st.select(&quot;.cbaxis&quot;);var ct=0;if(-1!==[&quot;top&quot;,&quot;bottom&quot;].indexOf(k.titleside)){var ut,ft=S.l+(k.x+Y)*S.w,ht=et.titlefont.size;ut=&quot;top&quot;===k.titleside?(1-(K+G-X))*S.h+S.t+3+.75*ht:(1-(K+X))*S.h+S.t-3-.25*ht,A(et._id+&quot;title&quot;,{attributes:{x:ft,y:ut,&quot;text-anchor&quot;:&quot;start&quot;}})}var dt=u.syncOrAsync([o.previousPromises,function(){if(-1!==[&quot;top&quot;,&quot;bottom&quot;].indexOf(k.titleside)){var e=st.select(&quot;.cbtitle&quot;),r=e.select(&quot;text&quot;),a=[-k.outlinewidth/2,k.outlinewidth/2],o=e.select(&quot;.h&quot;+et._id+&quot;title-math-group&quot;).node(),s=15.6;if(r.node()&amp;&amp;(s=parseInt(r.node().style.fontSize,10)*v),o?(ct=d.bBox(o).height)&gt;s&amp;&amp;(a[1]-=(ct-s)/2):r.node()&amp;&amp;!r.classed(w.jsPlaceholder)&amp;&amp;(ct=d.bBox(r.node()).height),ct){if(ct+=5,&quot;top&quot;===k.titleside)et.domain[1]-=ct/S.h,a[1]*=-1;else{et.domain[0]+=ct/S.h;var c=g.lineCount(r);a[1]+=(1-c)*s}e.attr(&quot;transform&quot;,&quot;translate(&quot;+a+&quot;)&quot;),et.setScale()}}st.selectAll(&quot;.cbfills,.cblines&quot;).attr(&quot;transform&quot;,&quot;translate(0,&quot;+Math.round(S.h*(1-et.domain[1]))+&quot;)&quot;),et._axislayer.attr(&quot;transform&quot;,&quot;translate(0,&quot;+Math.round(-S.t)+&quot;)&quot;);var f=st.select(&quot;.cbfills&quot;).selectAll(&quot;rect.cbfill&quot;).data(D);f.enter().append(&quot;rect&quot;).classed(w.cbfill,!0).style(&quot;stroke&quot;,&quot;none&quot;),f.exit().remove(),f.each(function(t,e){var r=[0===e?C[0]:(D[e]+D[e-1])/2,e===D.length-1?C[1]:(D[e]+D[e+1])/2].map(et.c2p).map(Math.round);e!==D.length-1&amp;&amp;(r[1]+=r[1]&gt;r[0]?1:-1);var a=P(t).replace(&quot;e-&quot;,&quot;&quot;),o=i(a).toHexString();n.select(this).attr({x:Z,width:Math.max(V,2),y:n.min(r),height:Math.max(n.max(r)-n.min(r),2),fill:o})});var h=st.select(&quot;.cblines&quot;).selectAll(&quot;path.cbline&quot;).data(k.line.color&amp;&amp;k.line.width?z:[]);return h.enter().append(&quot;path&quot;).classed(w.cbline,!0),h.exit().remove(),h.each(function(t){n.select(this).attr(&quot;d&quot;,&quot;M&quot;+Z+&quot;,&quot;+(Math.round(et.c2p(t))+k.line.width/2%1)+&quot;h&quot;+V).call(d.lineGroupStyle,k.line.width,I(t),k.line.dash)}),et._axislayer.selectAll(&quot;g.&quot;+et._id+&quot;tick,path&quot;).remove(),et._pos=Z+V+(k.outlinewidth||0)/2-(&quot;outside&quot;===k.ticks?1:0),et.side=&quot;right&quot;,u.syncOrAsync([function(){return l.doTicks(t,et,!0)},function(){if(-1===[&quot;top&quot;,&quot;bottom&quot;].indexOf(k.titleside)){var e=et.titlefont.size,r=et._offset+et._length/2,i=S.l+(et.position||0)*S.w+(&quot;right&quot;===et.side?10+e*(et.showticklabels?1:.5):-10-e*(et.showticklabels?.5:0));A(&quot;h&quot;+et._id+&quot;title&quot;,{avoid:{selection:n.select(t).selectAll(&quot;g.&quot;+et._id+&quot;tick&quot;),side:k.titleside,offsetLeft:S.l,offsetTop:0,maxShift:T.width},attributes:{x:i,y:r,&quot;text-anchor&quot;:&quot;middle&quot;},transform:{rotate:&quot;-90&quot;,offset:0}})}}])},o.previousPromises,function(){var r=V+k.outlinewidth/2+d.bBox(et._axislayer.node()).width;if((j=lt.select(&quot;text&quot;)).node()&amp;&amp;!j.classed(w.jsPlaceholder)){var n,i=lt.select(&quot;.h&quot;+et._id+&quot;title-math-group&quot;).node();n=i&amp;&amp;-1!==[&quot;top&quot;,&quot;bottom&quot;].indexOf(k.titleside)?d.bBox(i).width:d.bBox(lt.node()).right-Z-S.l,r=Math.max(r,n)}var a=2*k.xpad+r+k.borderwidth+k.outlinewidth/2,s=Q-$;st.select(&quot;.cbbg&quot;).attr({x:Z-k.xpad-(k.borderwidth+k.outlinewidth)/2,y:$-W,width:Math.max(a,2),height:Math.max(s+2*W,2)}).call(p.fill,k.bgcolor).call(p.stroke,k.bordercolor).style({&quot;stroke-width&quot;:k.borderwidth}),st.selectAll(&quot;.cboutline&quot;).attr({x:Z,y:$+k.ypad+(&quot;top&quot;===k.titleside?ct:0),width:Math.max(V,2),height:Math.max(s-2*k.ypad-ct,2)}).call(p.stroke,k.outlinecolor).style({fill:&quot;None&quot;,&quot;stroke-width&quot;:k.outlinewidth});var l=({center:.5,right:1}[k.xanchor]||0)*a;st.attr(&quot;transform&quot;,&quot;translate(&quot;+(S.l-l)+&quot;,&quot;+S.t+&quot;)&quot;),o.autoMargin(t,e,{x:k.x,y:k.y,l:a*({right:1,center:.5}[k.xanchor]||0),r:a*({left:1,center:.5}[k.xanchor]||0),t:s*({bottom:1,middle:.5}[k.yanchor]||0),b:s*({top:1,middle:.5}[k.yanchor]||0)})}],t);if(dt&amp;&amp;dt.then&amp;&amp;(t._promises||[]).push(dt),t._context.edits.colorbarPosition){var pt,mt,gt;c.init({element:st.node(),gd:t,prepFn:function(){pt=st.attr(&quot;transform&quot;),h(st)},moveFn:function(t,e){st.attr(&quot;transform&quot;,pt+&quot; translate(&quot;+t+&quot;,&quot;+e+&quot;)&quot;),mt=c.align(J+t/S.w,q,0,1,k.xanchor),gt=c.align(K-e/S.h,G,0,1,k.yanchor);var r=c.getCursor(mt,gt,k.xanchor,k.yanchor);h(st,r)},doneFn:function(){h(st),void 0!==mt&amp;&amp;void 0!==gt&amp;&amp;a.restyle(t,{&quot;colorbar.x&quot;:mt,&quot;colorbar.y&quot;:gt},M().index)}})}return dt}T._infolayer.selectAll(&quot;g.&quot;+e).remove()}function M(){var r,n,i=e.substr(2);for(r=0;r&lt;t._fullData.length;r++)if((n=t._fullData[r]).uid===i)return n}var k={};return Object.keys(_).forEach(function(t){k[t]=null}),k.fillcolor=null,k.line={color:null,width:null,dash:null},k.levels={start:null,end:null,size:null},k.filllevels=null,Object.keys(k).forEach(function(t){r[t]=function(e){return arguments.length?(k[t]=u.isPlainObject(k[t])?u.extendFlat(k[t],e):e,r):k[t]}}),r.options=function(t){return Object.keys(t).forEach(function(e){&quot;function&quot;==typeof r[e]&amp;&amp;r[e](t[e])}),r},r._opts=k,r}},{&quot;../../constants/alignment&quot;:716,&quot;../../lib&quot;:743,&quot;../../lib/extend&quot;:732,&quot;../../lib/setcursor&quot;:762,&quot;../../lib/svg_text_utils&quot;:766,&quot;../../plotly&quot;:784,&quot;../../plots/cartesian/axes&quot;:789,&quot;../../plots/cartesian/axis_defaults&quot;:791,&quot;../../plots/cartesian/layout_attributes&quot;:801,&quot;../../plots/cartesian/position_defaults&quot;:805,&quot;../../plots/plots&quot;:852,&quot;../../registry&quot;:873,&quot;../color&quot;:618,&quot;../dragelement&quot;:640,&quot;../drawing&quot;:643,&quot;../titles&quot;:709,&quot;./attributes&quot;:619,&quot;./constants&quot;:620,d3:128,tinycolor2:546}],623:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib&quot;);e.exports=function(t){return n.isPlainObject(t.colorbar)}},{&quot;../../lib&quot;:743}],624:[function(t,e,r){&quot;use strict&quot;;e.exports={zauto:{valType:&quot;boolean&quot;,dflt:!0,editType:&quot;calc&quot;,impliedEdits:{zmin:void 0,zmax:void 0}},zmin:{valType:&quot;number&quot;,dflt:null,editType:&quot;plot&quot;,impliedEdits:{zauto:!1}},zmax:{valType:&quot;number&quot;,dflt:null,editType:&quot;plot&quot;,impliedEdits:{zauto:!1}},colorscale:{valType:&quot;colorscale&quot;,editType:&quot;calc&quot;,impliedEdits:{autocolorscale:!1}},autocolorscale:{valType:&quot;boolean&quot;,dflt:!0,editType:&quot;calc&quot;,impliedEdits:{colorscale:void 0}},reversescale:{valType:&quot;boolean&quot;,dflt:!1,editType:&quot;calc&quot;},showscale:{valType:&quot;boolean&quot;,dflt:!0,editType:&quot;calc&quot;}}},{}],625:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib&quot;),i=t(&quot;./scales&quot;),a=t(&quot;./flip_scale&quot;);e.exports=function(t,e,r,o){var s,l;r?(s=n.nestedProperty(t,r).get(),l=n.nestedProperty(t._input,r).get()):(s=t,l=t._input);var c=o+&quot;auto&quot;,u=o+&quot;min&quot;,f=o+&quot;max&quot;,h=s[c],d=s[u],p=s[f],m=s.colorscale;!1===h&amp;&amp;void 0!==d||(d=n.aggNums(Math.min,null,e)),!1===h&amp;&amp;void 0!==p||(p=n.aggNums(Math.max,null,e)),d===p&amp;&amp;(d-=.5,p+=.5),s[u]=d,s[f]=p,l[u]=d,l[f]=p,l[c]=!1!==h||void 0===d&amp;&amp;void 0===p,s.autocolorscale&amp;&amp;(m=d*p&lt;0?i.RdBu:d&gt;=0?i.Reds:i.Blues,l.colorscale=m,s.reversescale&amp;&amp;(m=a(m)),s.colorscale=m)}},{&quot;../../lib&quot;:743,&quot;./flip_scale&quot;:630,&quot;./scales&quot;:637}],626:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;./attributes&quot;),i=t(&quot;../../lib/extend&quot;).extendFlat;t(&quot;./scales.js&quot;);e.exports=function(t,e,r){return{color:{valType:&quot;color&quot;,arrayOk:!0,editType:e||&quot;style&quot;},colorscale:i({},n.colorscale,{}),cauto:i({},n.zauto,{impliedEdits:{cmin:void 0,cmax:void 0}}),cmax:i({},n.zmax,{editType:e||n.zmax.editType,impliedEdits:{cauto:!1}}),cmin:i({},n.zmin,{editType:e||n.zmin.editType,impliedEdits:{cauto:!1}}),autocolorscale:i({},n.autocolorscale,{dflt:!1===r?r:n.autocolorscale.dflt}),reversescale:i({},n.reversescale,{})}}},{&quot;../../lib/extend&quot;:732,&quot;./attributes&quot;:624,&quot;./scales.js&quot;:637}],627:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;./scales&quot;);e.exports=n.RdBu},{&quot;./scales&quot;:637}],628:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;fast-isnumeric&quot;),i=t(&quot;../../lib&quot;),a=t(&quot;../colorbar/has_colorbar&quot;),o=t(&quot;../colorbar/defaults&quot;),s=t(&quot;./is_valid_scale&quot;),l=t(&quot;./flip_scale&quot;);e.exports=function(t,e,r,c,u){var f=u.prefix,h=u.cLetter,d=f.slice(0,f.length-1),p=f?i.nestedProperty(t,d).get()||{}:t,m=f?i.nestedProperty(e,d).get()||{}:e,g=p[h+&quot;min&quot;],v=p[h+&quot;max&quot;],y=p.colorscale;c(f+h+&quot;auto&quot;,!(n(g)&amp;&amp;n(v)&amp;&amp;g&lt;v)),c(f+h+&quot;min&quot;),c(f+h+&quot;max&quot;);var x;void 0!==y&amp;&amp;(x=!s(y)),c(f+&quot;autocolorscale&quot;,x);var b=c(f+&quot;colorscale&quot;);if(c(f+&quot;reversescale&quot;)&amp;&amp;(m.colorscale=l(b)),&quot;marker.line.&quot;!==f){var _;f&amp;&amp;(_=a(p));c(f+&quot;showscale&quot;,_)&amp;&amp;o(p,m,r)}}},{&quot;../../lib&quot;:743,&quot;../colorbar/defaults&quot;:621,&quot;../colorbar/has_colorbar&quot;:623,&quot;./flip_scale&quot;:630,&quot;./is_valid_scale&quot;:634,&quot;fast-isnumeric&quot;:140}],629:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t,e,r){for(var n=t.length,i=new Array(n),a=new Array(n),o=0;o&lt;n;o++){var s=t[o];i[o]=e+s[0]*(r-e),a[o]=s[1]}return{domain:i,range:a}}},{}],630:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t){for(var e,r=t.length,n=new Array(r),i=r-1,a=0;i&gt;=0;i--,a++)e=t[i],n[a]=[1-e[0],e[1]];return n}},{}],631:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;./scales&quot;),i=t(&quot;./default_scale&quot;),a=t(&quot;./is_valid_scale_array&quot;);e.exports=function(t,e){function r(){try{t=n[t]||JSON.parse(t)}catch(r){t=e}}return e||(e=i),t?(&quot;string&quot;==typeof t&amp;&amp;(r(),&quot;string&quot;==typeof t&amp;&amp;r()),a(t)?t:e):e}},{&quot;./default_scale&quot;:627,&quot;./is_valid_scale_array&quot;:635,&quot;./scales&quot;:637}],632:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;fast-isnumeric&quot;),i=t(&quot;../../lib&quot;),a=t(&quot;./is_valid_scale&quot;);e.exports=function(t,e){var r=e?i.nestedProperty(t,e).get()||{}:t,o=r.color,s=!1;if(Array.isArray(o))for(var l=0;l&lt;o.length;l++)if(n(o[l])){s=!0;break}return i.isPlainObject(r)&amp;&amp;(s||!0===r.showscale||n(r.cmin)&amp;&amp;n(r.cmax)||a(r.colorscale)||i.isPlainObject(r.colorbar))}},{&quot;../../lib&quot;:743,&quot;./is_valid_scale&quot;:634,&quot;fast-isnumeric&quot;:140}],633:[function(t,e,r){&quot;use strict&quot;;r.scales=t(&quot;./scales&quot;),r.defaultScale=t(&quot;./default_scale&quot;),r.attributes=t(&quot;./attributes&quot;),r.handleDefaults=t(&quot;./defaults&quot;),r.calc=t(&quot;./calc&quot;),r.hasColorscale=t(&quot;./has_colorscale&quot;),r.isValidScale=t(&quot;./is_valid_scale&quot;),r.getScale=t(&quot;./get_scale&quot;),r.flipScale=t(&quot;./flip_scale&quot;),r.extractScale=t(&quot;./extract_scale&quot;),r.makeColorScaleFunc=t(&quot;./make_color_scale_func&quot;)},{&quot;./attributes&quot;:624,&quot;./calc&quot;:625,&quot;./default_scale&quot;:627,&quot;./defaults&quot;:628,&quot;./extract_scale&quot;:629,&quot;./flip_scale&quot;:630,&quot;./get_scale&quot;:631,&quot;./has_colorscale&quot;:632,&quot;./is_valid_scale&quot;:634,&quot;./make_color_scale_func&quot;:636,&quot;./scales&quot;:637}],634:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;./scales&quot;),i=t(&quot;./is_valid_scale_array&quot;);e.exports=function(t){return void 0!==n[t]||i(t)}},{&quot;./is_valid_scale_array&quot;:635,&quot;./scales&quot;:637}],635:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;tinycolor2&quot;);e.exports=function(t){var e=0;if(!Array.isArray(t)||t.length&lt;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&lt;t.length;r++){var i=t[r];if(2!==i.length||+i[0]&lt;e||!n(i[1]).isValid())return!1;e=+i[0]}return!0}},{tinycolor2:546}],636:[function(t,e,r){&quot;use strict&quot;;function n(t){var e={r:t[0],g:t[1],b:t[2],a:t[3]};return a(e).toRgbString()}var i=t(&quot;d3&quot;),a=t(&quot;tinycolor2&quot;),o=t(&quot;fast-isnumeric&quot;),s=t(&quot;../color&quot;);e.exports=function(t,e){e=e||{};for(var r=t.domain,l=t.range,c=l.length,u=new Array(c),f=0;f&lt;c;f++){var h=a(l[f]).toRgb();u[f]=[h.r,h.g,h.b,h.a]}var d,p=i.scale.linear().domain(r).range(u).clamp(!0),m=e.noNumericCheck,g=e.returnArray;return d=m&amp;&amp;g?p:m?function(t){return n(p(t))}:g?function(t){return o(t)?p(t):a(t).isValid()?t:s.defaultLine}:function(t){return o(t)?n(p(t)):a(t).isValid()?t:s.defaultLine},d.domain=p.domain,d.range=function(){return l},d}},{&quot;../color&quot;:618,d3:128,&quot;fast-isnumeric&quot;:140,tinycolor2:546}],637:[function(t,e,r){&quot;use strict&quot;;e.exports={Greys:[[0,&quot;rgb(0,0,0)&quot;],[1,&quot;rgb(255,255,255)&quot;]],YlGnBu:[[0,&quot;rgb(8,29,88)&quot;],[.125,&quot;rgb(37,52,148)&quot;],[.25,&quot;rgb(34,94,168)&quot;],[.375,&quot;rgb(29,145,192)&quot;],[.5,&quot;rgb(65,182,196)&quot;],[.625,&quot;rgb(127,205,187)&quot;],[.75,&quot;rgb(199,233,180)&quot;],[.875,&quot;rgb(237,248,217)&quot;],[1,&quot;rgb(255,255,217)&quot;]],Greens:[[0,&quot;rgb(0,68,27)&quot;],[.125,&quot;rgb(0,109,44)&quot;],[.25,&quot;rgb(35,139,69)&quot;],[.375,&quot;rgb(65,171,93)&quot;],[.5,&quot;rgb(116,196,118)&quot;],[.625,&quot;rgb(161,217,155)&quot;],[.75,&quot;rgb(199,233,192)&quot;],[.875,&quot;rgb(229,245,224)&quot;],[1,&quot;rgb(247,252,245)&quot;]],YlOrRd:[[0,&quot;rgb(128,0,38)&quot;],[.125,&quot;rgb(189,0,38)&quot;],[.25,&quot;rgb(227,26,28)&quot;],[.375,&quot;rgb(252,78,42)&quot;],[.5,&quot;rgb(253,141,60)&quot;],[.625,&quot;rgb(254,178,76)&quot;],[.75,&quot;rgb(254,217,118)&quot;],[.875,&quot;rgb(255,237,160)&quot;],[1,&quot;rgb(255,255,204)&quot;]],Bluered:[[0,&quot;rgb(0,0,255)&quot;],[1,&quot;rgb(255,0,0)&quot;]],RdBu:[[0,&quot;rgb(5,10,172)&quot;],[.35,&quot;rgb(106,137,247)&quot;],[.5,&quot;rgb(190,190,190)&quot;],[.6,&quot;rgb(220,170,132)&quot;],[.7,&quot;rgb(230,145,90)&quot;],[1,&quot;rgb(178,10,28)&quot;]],Reds:[[0,&quot;rgb(220,220,220)&quot;],[.2,&quot;rgb(245,195,157)&quot;],[.4,&quot;rgb(245,160,105)&quot;],[1,&quot;rgb(178,10,28)&quot;]],Blues:[[0,&quot;rgb(5,10,172)&quot;],[.35,&quot;rgb(40,60,190)&quot;],[.5,&quot;rgb(70,100,245)&quot;],[.6,&quot;rgb(90,120,245)&quot;],[.7,&quot;rgb(106,137,247)&quot;],[1,&quot;rgb(220,220,220)&quot;]],Picnic:[[0,&quot;rgb(0,0,255)&quot;],[.1,&quot;rgb(51,153,255)&quot;],[.2,&quot;rgb(102,204,255)&quot;],[.3,&quot;rgb(153,204,255)&quot;],[.4,&quot;rgb(204,204,255)&quot;],[.5,&quot;rgb(255,255,255)&quot;],[.6,&quot;rgb(255,204,255)&quot;],[.7,&quot;rgb(255,153,255)&quot;],[.8,&quot;rgb(255,102,204)&quot;],[.9,&quot;rgb(255,102,102)&quot;],[1,&quot;rgb(255,0,0)&quot;]],Rainbow:[[0,&quot;rgb(150,0,90)&quot;],[.125,&quot;rgb(0,0,200)&quot;],[.25,&quot;rgb(0,25,255)&quot;],[.375,&quot;rgb(0,152,255)&quot;],[.5,&quot;rgb(44,255,150)&quot;],[.625,&quot;rgb(151,255,0)&quot;],[.75,&quot;rgb(255,234,0)&quot;],[.875,&quot;rgb(255,111,0)&quot;],[1,&quot;rgb(255,0,0)&quot;]],Portland:[[0,&quot;rgb(12,51,131)&quot;],[.25,&quot;rgb(10,136,186)&quot;],[.5,&quot;rgb(242,211,56)&quot;],[.75,&quot;rgb(242,143,56)&quot;],[1,&quot;rgb(217,30,30)&quot;]],Jet:[[0,&quot;rgb(0,0,131)&quot;],[.125,&quot;rgb(0,60,170)&quot;],[.375,&quot;rgb(5,255,255)&quot;],[.625,&quot;rgb(255,255,0)&quot;],[.875,&quot;rgb(250,0,0)&quot;],[1,&quot;rgb(128,0,0)&quot;]],Hot:[[0,&quot;rgb(0,0,0)&quot;],[.3,&quot;rgb(230,0,0)&quot;],[.6,&quot;rgb(255,210,0)&quot;],[1,&quot;rgb(255,255,255)&quot;]],Blackbody:[[0,&quot;rgb(0,0,0)&quot;],[.2,&quot;rgb(230,0,0)&quot;],[.4,&quot;rgb(230,210,0)&quot;],[.7,&quot;rgb(255,255,255)&quot;],[1,&quot;rgb(160,200,255)&quot;]],Earth:[[0,&quot;rgb(0,0,130)&quot;],[.1,&quot;rgb(0,180,180)&quot;],[.2,&quot;rgb(40,210,40)&quot;],[.4,&quot;rgb(230,230,50)&quot;],[.6,&quot;rgb(120,70,20)&quot;],[1,&quot;rgb(255,255,255)&quot;]],Electric:[[0,&quot;rgb(0,0,0)&quot;],[.15,&quot;rgb(30,0,100)&quot;],[.4,&quot;rgb(120,0,100)&quot;],[.6,&quot;rgb(160,90,0)&quot;],[.8,&quot;rgb(230,200,0)&quot;],[1,&quot;rgb(255,250,220)&quot;]],Viridis:[[0,&quot;#440154&quot;],[.06274509803921569,&quot;#48186a&quot;],[.12549019607843137,&quot;#472d7b&quot;],[.18823529411764706,&quot;#424086&quot;],[.25098039215686274,&quot;#3b528b&quot;],[.3137254901960784,&quot;#33638d&quot;],[.3764705882352941,&quot;#2c728e&quot;],[.4392156862745098,&quot;#26828e&quot;],[.5019607843137255,&quot;#21918c&quot;],[.5647058823529412,&quot;#1fa088&quot;],[.6274509803921569,&quot;#28ae80&quot;],[.6901960784313725,&quot;#3fbc73&quot;],[.7529411764705882,&quot;#5ec962&quot;],[.8156862745098039,&quot;#84d44b&quot;],[.8784313725490196,&quot;#addc30&quot;],[.9411764705882353,&quot;#d8e219&quot;],[1,&quot;#fde725&quot;]],Cividis:[[0,&quot;rgb(0,32,76)&quot;],[.058824,&quot;rgb(0,42,102)&quot;],[.117647,&quot;rgb(0,52,110)&quot;],[.176471,&quot;rgb(39,63,108)&quot;],[.235294,&quot;rgb(60,74,107)&quot;],[.294118,&quot;rgb(76,85,107)&quot;],[.352941,&quot;rgb(91,95,109)&quot;],[.411765,&quot;rgb(104,106,112)&quot;],[.470588,&quot;rgb(117,117,117)&quot;],[.529412,&quot;rgb(131,129,120)&quot;],[.588235,&quot;rgb(146,140,120)&quot;],[.647059,&quot;rgb(161,152,118)&quot;],[.705882,&quot;rgb(176,165,114)&quot;],[.764706,&quot;rgb(192,177,109)&quot;],[.823529,&quot;rgb(209,191,102)&quot;],[.882353,&quot;rgb(225,204,92)&quot;],[.941176,&quot;rgb(243,219,79)&quot;],[1,&quot;rgb(255,233,69)&quot;]]}},{}],638:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t,e,r,n,i){var a=(t-r)/(n-r),o=a+e/(n-r),s=(a+o)/2;return&quot;left&quot;===i||&quot;bottom&quot;===i?a:&quot;center&quot;===i||&quot;middle&quot;===i?s:&quot;right&quot;===i||&quot;top&quot;===i?o:a&lt;2/3-s?a:o&gt;4/3-s?o:s}},{}],639:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib&quot;),i=[[&quot;sw-resize&quot;,&quot;s-resize&quot;,&quot;se-resize&quot;],[&quot;w-resize&quot;,&quot;move&quot;,&quot;e-resize&quot;],[&quot;nw-resize&quot;,&quot;n-resize&quot;,&quot;ne-resize&quot;]];e.exports=function(t,e,r,a){return t=&quot;left&quot;===r?0:&quot;center&quot;===r?1:&quot;right&quot;===r?2:n.constrain(Math.floor(3*t),0,2),e=&quot;bottom&quot;===a?0:&quot;middle&quot;===a?1:&quot;top&quot;===a?2:n.constrain(Math.floor(3*e),0,2),i[e][t]}},{&quot;../../lib&quot;:743}],640:[function(t,e,r){&quot;use strict&quot;;function n(){var t=document.createElement(&quot;div&quot;);t.className=&quot;dragcover&quot;;var e=t.style;return e.position=&quot;fixed&quot;,e.left=0,e.right=0,e.top=0,e.bottom=0,e.zIndex=999999999,e.background=&quot;none&quot;,document.body.appendChild(t),t}function i(t){return a(t.changedTouches?t.changedTouches[0]:t,document.body)}var a=t(&quot;mouse-event-offset&quot;),o=t(&quot;has-hover&quot;),s=t(&quot;../../plotly&quot;),l=t(&quot;../../lib&quot;),c=t(&quot;../../plots/cartesian/constants&quot;),u=t(&quot;../../constants/interactions&quot;),f=e.exports={};f.align=t(&quot;./align&quot;),f.getCursor=t(&quot;./cursor&quot;);var h=t(&quot;./unhover&quot;);f.unhover=h.wrapped,f.unhoverRaw=h.raw;var d=l.eventListenerOptionsSupported();f.init=function(t){function e(e){_._dragged=!1,_._dragging=!0;var s=i(e);return h=s[0],p=s[1],x=e.target,y=e,b=e.buttons&amp;&amp;2===e.buttons||e.ctrlKey,(m=(new Date).getTime())-_._mouseDownTime&lt;M?w+=1:(w=1,_._mouseDownTime=m),t.prepFn&amp;&amp;t.prepFn(e,h,p),o&amp;&amp;!b?(v=n()).style.cursor=window.getComputedStyle(k).cursor:o||(v=document,g=window.getComputedStyle(document.documentElement).cursor,document.documentElement.style.cursor=window.getComputedStyle(k).cursor),document.addEventListener(&quot;mousemove&quot;,r),document.addEventListener(&quot;mouseup&quot;,a),document.addEventListener(&quot;touchmove&quot;,r),document.addEventListener(&quot;touchend&quot;,a),l.pauseEvent(e)}function r(e){var r=i(e),n=t.minDrag||c.MINDRAG,a=A(r[0]-h,r[1]-p,n),o=a[0],s=a[1];return(o||s)&amp;&amp;(_._dragged=!0,f.unhover(_)),_._dragged&amp;&amp;t.moveFn&amp;&amp;!b&amp;&amp;t.moveFn(o,s),l.pauseEvent(e)}function a(e){if(document.removeEventListener(&quot;mousemove&quot;,r),document.removeEventListener(&quot;mouseup&quot;,a),document.removeEventListener(&quot;touchmove&quot;,r),document.removeEventListener(&quot;touchend&quot;,a),o?l.removeElement(v):g&amp;&amp;(v.documentElement.style.cursor=g,g=null),_._dragging){if(_._dragging=!1,(new Date).getTime()-_._mouseDownTime&gt;M&amp;&amp;(w=Math.max(w-1,1)),_._dragged)t.doneFn&amp;&amp;t.doneFn(e);else if(t.clickFn&amp;&amp;t.clickFn(w,y),!b){var n;try{n=new MouseEvent(&quot;click&quot;,e)}catch(t){var c=i(e);(n=document.createEvent(&quot;MouseEvents&quot;)).initMouseEvent(&quot;click&quot;,e.bubbles,e.cancelable,e.view,e.detail,e.screenX,e.screenY,c[0],c[1],e.ctrlKey,e.altKey,e.shiftKey,e.metaKey,e.button,e.relatedTarget)}x.dispatchEvent(n)}return function(t){t._dragging=!1,t._replotPending&amp;&amp;s.plot(t)}(_),_._dragged=!1,l.pauseEvent(e)}_._dragged=!1}var h,p,m,g,v,y,x,b,_=t.gd,w=1,M=u.DBLCLICKDELAY,k=t.element;_._mouseDownTime||(_._mouseDownTime=0),k.style.pointerEvents=&quot;all&quot;,k.onmousedown=e,d?(k._ontouchstart&amp;&amp;k.removeEventListener(&quot;touchstart&quot;,k._ontouchstart),k._ontouchstart=e,k.addEventListener(&quot;touchstart&quot;,e,{passive:!1})):k.ontouchstart=e;var A=t.clampFn||function(t,e,r){return Math.abs(t)&lt;r&amp;&amp;(t=0),Math.abs(e)&lt;r&amp;&amp;(e=0),[t,e]}},f.coverSlip=n},{&quot;../../constants/interactions&quot;:720,&quot;../../lib&quot;:743,&quot;../../plotly&quot;:784,&quot;../../plots/cartesian/constants&quot;:794,&quot;./align&quot;:638,&quot;./cursor&quot;:639,&quot;./unhover&quot;:641,&quot;has-hover&quot;:276,&quot;mouse-event-offset&quot;:444}],641:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib/events&quot;),i=t(&quot;../../lib/throttle&quot;),a=t(&quot;../../lib/get_graph_div&quot;),o=t(&quot;../fx/constants&quot;),s=e.exports={};s.wrapped=function(t,e,r){(t=a(t))._fullLayout&amp;&amp;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&amp;&amp;!1===n.triggerHandler(t,&quot;plotly_beforehover&quot;,e)||(r._hoverlayer.selectAll(&quot;g&quot;).remove(),r._hoverlayer.selectAll(&quot;line&quot;).remove(),r._hoverlayer.selectAll(&quot;circle&quot;).remove(),t._hoverdata=void 0,e.target&amp;&amp;i&amp;&amp;t.emit(&quot;plotly_unhover&quot;,{event:e,points:i}))}},{&quot;../../lib/events&quot;:731,&quot;../../lib/get_graph_div&quot;:738,&quot;../../lib/throttle&quot;:767,&quot;../fx/constants&quot;:655}],642:[function(t,e,r){&quot;use strict&quot;;r.dash={valType:&quot;string&quot;,values:[&quot;solid&quot;,&quot;dot&quot;,&quot;dash&quot;,&quot;longdash&quot;,&quot;dashdot&quot;,&quot;longdashdot&quot;],dflt:&quot;solid&quot;,editType:&quot;style&quot;}},{}],643:[function(t,e,r){&quot;use strict&quot;;function n(t,e){var r=t%100;return _.symbolFuncs[r](e)+(t&gt;=200?k:&quot;&quot;)}function i(t,e,r,n){var i=l.select(t.node().parentNode),a=-1!==e.indexOf(&quot;top&quot;)?&quot;top&quot;:-1!==e.indexOf(&quot;bottom&quot;)?&quot;bottom&quot;:&quot;middle&quot;,o=-1!==e.indexOf(&quot;left&quot;)?&quot;end&quot;:-1!==e.indexOf(&quot;right&quot;)?&quot;start&quot;:&quot;middle&quot;,s=n?n/.8+1:0,c=(m.lineCount(t)-1)*v+1,u=S[o]*s,f=.75*r+S[a]*s+(S[a]-1)*c*r/2;t.attr(&quot;text-anchor&quot;,o),i.attr(&quot;transform&quot;,&quot;translate(&quot;+u+&quot;,&quot;+f+&quot;)&quot;)}function a(t,e){var r=t.ts||e.textfont.size;return c(r)&amp;&amp;r&gt;0?r:0}function o(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],c=Math.pow(i*i+a*a,E/2),u=Math.pow(o*o+s*s,E/2),f=(u*u*i-c*c*o)*n,h=(u*u*a-c*c*s)*n,d=3*u*(c+u),p=3*c*(c+u);return[[l.round(e[0]+(d&amp;&amp;f/d),2),l.round(e[1]+(d&amp;&amp;h/d),2)],[l.round(e[0]-(p&amp;&amp;f/p),2),l.round(e[1]-(p&amp;&amp;h/p),2)]]}function s(t){var e=t.getAttribute(&quot;data-unformatted&quot;);if(null!==e)return e+t.getAttribute(&quot;data-math&quot;)+t.getAttribute(&quot;text-anchor&quot;)+t.getAttribute(&quot;style&quot;)}var l=t(&quot;d3&quot;),c=t(&quot;fast-isnumeric&quot;),u=t(&quot;tinycolor2&quot;),f=t(&quot;../../registry&quot;),h=t(&quot;../color&quot;),d=t(&quot;../colorscale&quot;),p=t(&quot;../../lib&quot;),m=t(&quot;../../lib/svg_text_utils&quot;),g=t(&quot;../../constants/xmlns_namespaces&quot;),v=t(&quot;../../constants/alignment&quot;).LINE_SPACING,y=t(&quot;../../constants/interactions&quot;).DESELECTDIM,x=t(&quot;../../traces/scatter/subtypes&quot;),b=t(&quot;../../traces/scatter/make_bubble_size_func&quot;),_=e.exports={};_.font=function(t,e,r,n){p.isPlainObject(e)&amp;&amp;(n=e.color,r=e.size,e=e.family),e&amp;&amp;t.style(&quot;font-family&quot;,e),r+1&amp;&amp;t.style(&quot;font-size&quot;,r+&quot;px&quot;),n&amp;&amp;t.call(h.fill,n)},_.setPosition=function(t,e,r){t.attr(&quot;x&quot;,e).attr(&quot;y&quot;,r)},_.setSize=function(t,e,r){t.attr(&quot;width&quot;,e).attr(&quot;height&quot;,r)},_.setRect=function(t,e,r,n,i){t.call(_.setPosition,e,r).call(_.setSize,n,i)},_.translatePoint=function(t,e,r,n){var i=r.c2p(t.x),a=n.c2p(t.y);return!!(c(i)&amp;&amp;c(a)&amp;&amp;e.node())&amp;&amp;(&quot;text&quot;===e.node().nodeName?e.attr(&quot;x&quot;,i).attr(&quot;y&quot;,a):e.attr(&quot;transform&quot;,&quot;translate(&quot;+i+&quot;,&quot;+a+&quot;)&quot;),!0)},_.translatePoints=function(t,e,r){t.each(function(t){var n=l.select(this);_.translatePoint(t,n,e,r)})},_.hideOutsideRangePoint=function(t,e,r,n,i,a){e.attr(&quot;display&quot;,r.isPtWithinRange(t,i)&amp;&amp;n.isPtWithinRange(t,a)?null:&quot;none&quot;)},_.hideOutsideRangePoints=function(t,e){if(e._hasClipOnAxisFalse){var r=e.xaxis,n=e.yaxis;t.each(function(e){var i=e[0].trace,a=i.xcalendar,o=i.ycalendar;t.selectAll(&quot;.point,.textpoint&quot;).each(function(t){_.hideOutsideRangePoint(t,l.select(this),r,n,a,o)})})}},_.crispRound=function(t,e,r){return e&amp;&amp;c(e)?t._context.staticPlot?e:e&lt;1?1:Math.round(e):r||0},_.singleLineStyle=function(t,e,r,n,i){e.style(&quot;fill&quot;,&quot;none&quot;);var a=(((t||[])[0]||{}).trace||{}).line||{},o=r||a.width||0,s=i||a.dash||&quot;&quot;;h.stroke(e,n||a.color),_.dashLine(e,s,o)},_.lineGroupStyle=function(t,e,r,n){t.style(&quot;fill&quot;,&quot;none&quot;).each(function(t){var i=(((t||[])[0]||{}).trace||{}).line||{},a=e||i.width||0,o=n||i.dash||&quot;&quot;;l.select(this).call(h.stroke,r||i.color).call(_.dashLine,o,a)})},_.dashLine=function(t,e,r){r=+r||0,e=_.dashStyle(e,r),t.style({&quot;stroke-dasharray&quot;:e,&quot;stroke-width&quot;:r+&quot;px&quot;})},_.dashStyle=function(t,e){e=+e||1;var r=Math.max(e,3);return&quot;solid&quot;===t?t=&quot;&quot;:&quot;dot&quot;===t?t=r+&quot;px,&quot;+r+&quot;px&quot;:&quot;dash&quot;===t?t=3*r+&quot;px,&quot;+3*r+&quot;px&quot;:&quot;longdash&quot;===t?t=5*r+&quot;px,&quot;+5*r+&quot;px&quot;:&quot;dashdot&quot;===t?t=3*r+&quot;px,&quot;+r+&quot;px,&quot;+r+&quot;px,&quot;+r+&quot;px&quot;:&quot;longdashdot&quot;===t&amp;&amp;(t=5*r+&quot;px,&quot;+2*r+&quot;px,&quot;+r+&quot;px,&quot;+2*r+&quot;px&quot;),t},_.singleFillStyle=function(t){var e=(((l.select(t.node()).data()[0]||[])[0]||{}).trace||{}).fillcolor;e&amp;&amp;t.call(h.fill,e)},_.fillGroupStyle=function(t){t.style(&quot;stroke-width&quot;,0).each(function(e){var r=l.select(this);try{r.call(h.fill,e[0].trace.fillcolor)}catch(e){p.error(e,t),r.remove()}})};var w=t(&quot;./symbol_defs&quot;);_.symbolNames=[],_.symbolFuncs=[],_.symbolNeedLines={},_.symbolNoDot={},_.symbolNoFill={},_.symbolList=[],Object.keys(w).forEach(function(t){var e=w[t];_.symbolList=_.symbolList.concat([e.n,t,e.n+100,t+&quot;-open&quot;]),_.symbolNames[e.n]=t,_.symbolFuncs[e.n]=e.f,e.needLine&amp;&amp;(_.symbolNeedLines[e.n]=!0),e.noDot?_.symbolNoDot[e.n]=!0:_.symbolList=_.symbolList.concat([e.n+200,t+&quot;-dot&quot;,e.n+300,t+&quot;-open-dot&quot;]),e.noFill&amp;&amp;(_.symbolNoFill[e.n]=!0)});var M=_.symbolNames.length,k=&quot;M0,0.5L0.5,0L0,-0.5L-0.5,0Z&quot;;_.symbolNumber=function(t){if(&quot;string&quot;==typeof t){var e=0;t.indexOf(&quot;-open&quot;)&gt;0&amp;&amp;(e=100,t=t.replace(&quot;-open&quot;,&quot;&quot;)),t.indexOf(&quot;-dot&quot;)&gt;0&amp;&amp;(e+=200,t=t.replace(&quot;-dot&quot;,&quot;&quot;)),(t=_.symbolNames.indexOf(t))&gt;=0&amp;&amp;(t+=e)}return t%100&gt;=M||t&gt;=400?0:Math.floor(Math.max(t,0))};var A={x1:1,x2:0,y1:0,y2:0},T={x1:0,x2:0,y1:1,y2:0};_.gradient=function(t,e,r,n,i,a){var o=e._fullLayout._defs.select(&quot;.gradients&quot;).selectAll(&quot;#&quot;+r).data([n+i+a],p.identity);o.exit().remove(),o.enter().append(&quot;radial&quot;===n?&quot;radialGradient&quot;:&quot;linearGradient&quot;).each(function(){var t=l.select(this);&quot;horizontal&quot;===n?t.attr(A):&quot;vertical&quot;===n&amp;&amp;t.attr(T),t.attr(&quot;id&quot;,r);var e=u(i),o=u(a);t.append(&quot;stop&quot;).attr({offset:&quot;0%&quot;,&quot;stop-color&quot;:h.tinyRGB(o),&quot;stop-opacity&quot;:o.getAlpha()}),t.append(&quot;stop&quot;).attr({offset:&quot;100%&quot;,&quot;stop-color&quot;:h.tinyRGB(e),&quot;stop-opacity&quot;:e.getAlpha()})}),t.style({fill:&quot;url(#&quot;+r+&quot;)&quot;,&quot;fill-opacity&quot;:null})},_.initGradients=function(t){var e=t._fullLayout._defs.selectAll(&quot;.gradients&quot;).data([0]);e.enter().append(&quot;g&quot;).classed(&quot;gradients&quot;,!0),e.selectAll(&quot;linearGradient,radialGradient&quot;).remove()},_.singlePointStyle=function(t,e,r,i,a,o){var s=r.marker;!function(t,e,r,i,a,o,s,l){if(f.traceIs(r,&quot;symbols&quot;)){var c=b(r);e.attr(&quot;d&quot;,function(t){var e;e=&quot;various&quot;===t.ms||&quot;various&quot;===o.size?3:x.isBubble(r)?c(t.ms):(o.size||6)/2,t.mrc=e;var i=_.symbolNumber(t.mx||o.symbol)||0;return t.om=i%200&gt;=100,n(i,e)})}e.style(&quot;opacity&quot;,function(t){return(t.mo+1||o.opacity+1)-1});var u,d,p,m=!1;if(t.so?(p=s.outlierwidth,d=s.outliercolor,u=o.outliercolor):(p=(t.mlw+1||s.width+1||(t.trace?t.trace.marker.line.width:0)+1)-1,d=&quot;mlc&quot;in t?t.mlcc=a(t.mlc):Array.isArray(s.color)?h.defaultLine:s.color,Array.isArray(o.color)&amp;&amp;(u=h.defaultLine,m=!0),u=&quot;mc&quot;in t?t.mcc=i(t.mc):o.color||&quot;rgba(0,0,0,0)&quot;),t.om)e.call(h.stroke,u).style({&quot;stroke-width&quot;:(p||1)+&quot;px&quot;,fill:&quot;none&quot;});else{e.style(&quot;stroke-width&quot;,p+&quot;px&quot;);var g=o.gradient,v=t.mgt;if(v?m=!0:v=g&amp;&amp;g.type,v&amp;&amp;&quot;none&quot;!==v){var y=t.mgc;y?m=!0:y=g.color;var w=&quot;g&quot;+l._fullLayout._uid+&quot;-&quot;+r.uid;m&amp;&amp;(w+=&quot;-&quot;+t.i),e.call(_.gradient,l,w,v,u,y)}else e.call(h.fill,u);p&amp;&amp;e.call(h.stroke,d)}}(t,e,r,i,a,s,s.line,o)},_.pointStyle=function(t,e,r){if(t.size()){var n=e.marker,i=_.tryColorscale(n,&quot;&quot;),a=_.tryColorscale(n,&quot;line&quot;);t.each(function(t){_.singlePointStyle(t,l.select(this),e,i,a,r)})}},_.selectedPointStyle=function(t,e){if(t.size()&amp;&amp;e.selectedpoints){var r=e.selected||{},i=e.unselected||{},a=e.marker||{},o=r.marker||{},s=i.marker||{},c=a.opacity,u=o.opacity,d=s.opacity,p=void 0!==u,m=void 0!==d;t.each(function(t){var e,r=l.select(this),n=t.mo,i=void 0!==n;(i||p||m)&amp;&amp;(t.selected?p&amp;&amp;(e=u):e=m?d:y*(i?n:c)),void 0!==e&amp;&amp;r.style(&quot;opacity&quot;,e)});var g=o.color,v=s.color;(g||v)&amp;&amp;t.each(function(t){var e,r=l.select(this);t.selected?g&amp;&amp;(e=g):v&amp;&amp;(e=v),e&amp;&amp;h.fill(r,e)});var x=o.size,b=s.size,w=void 0!==x,M=void 0!==b;f.traceIs(e,&quot;symbols&quot;)&amp;&amp;(w||M)&amp;&amp;t.each(function(t){var e,r=l.select(this),i=t.mrc,o=t.mx||a.symbol||0;e=t.selected?w?x/2:i:M?b/2:i,r.attr(&quot;d&quot;,n(_.symbolNumber(o),e)),t.mrc2=e})}},_.tryColorscale=function(t,e){var r=e?p.nestedProperty(t,e).get():t,n=r.colorscale,i=r.color;return n&amp;&amp;Array.isArray(i)?d.makeColorScaleFunc(d.extractScale(n,r.cmin,r.cmax)):p.identity};var S={start:1,end:-1,middle:0,bottom:1,top:-1};_.textPointStyle=function(t,e,r){t.each(function(t){var n=l.select(this),o=p.extractOption(t,e,&quot;tx&quot;,&quot;text&quot;);if(o){var s=t.tp||e.textposition,c=a(t,e);n.call(_.font,t.tf||e.textfont.family,c,t.tc||e.textfont.color).text(o).call(m.convertToTspans,r).call(i,s,c,t.mrc)}else n.remove()})},_.selectedTextStyle=function(t,e){if(t.size()&amp;&amp;e.selectedpoints){var r=e.selected||{},n=e.unselected||{};t.each(function(t){var o,s=l.select(this),c=t.tc||e.textfont.color,u=t.tp||e.textposition,f=a(t,e),d=(r.textfont||{}).color,p=(n.textfont||{}).color;t.selected?d&amp;&amp;(o=d):p?o=p:d||(o=h.addOpacity(c,y)),o&amp;&amp;h.fill(s,o),i(s,u,f,t.mrc2||t.mrc)})}};var E=.5;_.smoothopen=function(t,e){if(t.length&lt;3)return&quot;M&quot;+t.join(&quot;L&quot;);var r,n=&quot;M&quot;+t[0],i=[];for(r=1;r&lt;t.length-1;r++)i.push(o(t[r-1],t[r],t[r+1],e));for(n+=&quot;Q&quot;+i[0][0]+&quot; &quot;+t[1],r=2;r&lt;t.length-1;r++)n+=&quot;C&quot;+i[r-2][1]+&quot; &quot;+i[r-1][0]+&quot; &quot;+t[r];return n+=&quot;Q&quot;+i[t.length-3][1]+&quot; &quot;+t[t.length-1]},_.smoothclosed=function(t,e){if(t.length&lt;3)return&quot;M&quot;+t.join(&quot;L&quot;)+&quot;Z&quot;;var r,n=&quot;M&quot;+t[0],i=t.length-1,a=[o(t[i],t[0],t[1],e)];for(r=1;r&lt;i;r++)a.push(o(t[r-1],t[r],t[r+1],e));for(a.push(o(t[i-1],t[i],t[0],e)),r=1;r&lt;=i;r++)n+=&quot;C&quot;+a[r-1][1]+&quot; &quot;+a[r][0]+&quot; &quot;+t[r];return n+=&quot;C&quot;+a[i][1]+&quot; &quot;+a[0][0]+&quot; &quot;+t[0]+&quot;Z&quot;};var L={hv:function(t,e){return&quot;H&quot;+l.round(e[0],2)+&quot;V&quot;+l.round(e[1],2)},vh:function(t,e){return&quot;V&quot;+l.round(e[1],2)+&quot;H&quot;+l.round(e[0],2)},hvh:function(t,e){return&quot;H&quot;+l.round((t[0]+e[0])/2,2)+&quot;V&quot;+l.round(e[1],2)+&quot;H&quot;+l.round(e[0],2)},vhv:function(t,e){return&quot;V&quot;+l.round((t[1]+e[1])/2,2)+&quot;H&quot;+l.round(e[0],2)+&quot;V&quot;+l.round(e[1],2)}};_.steps=function(t){var e=L[t]||function(t,e){return&quot;L&quot;+l.round(e[0],2)+&quot;,&quot;+l.round(e[1],2)};return function(t){for(var r=&quot;M&quot;+l.round(t[0][0],2)+&quot;,&quot;+l.round(t[0][1],2),n=1;n&lt;t.length;n++)r+=e(t[n-1],t[n]);return r}},_.makeTester=function(){var t=l.select(&quot;body&quot;).selectAll(&quot;#js-plotly-tester&quot;).data([0]);t.enter().append(&quot;svg&quot;).attr(&quot;id&quot;,&quot;js-plotly-tester&quot;).attr(g.svgAttrs).style({position:&quot;absolute&quot;,left:&quot;-10000px&quot;,top:&quot;-10000px&quot;,width:&quot;9000px&quot;,height:&quot;9000px&quot;,&quot;z-index&quot;:&quot;1&quot;});var e=t.selectAll(&quot;.js-reference-point&quot;).data([0]);e.enter().append(&quot;path&quot;).classed(&quot;js-reference-point&quot;,!0).attr(&quot;d&quot;,&quot;M0,0H1V1H0Z&quot;).style({&quot;stroke-width&quot;:0,fill:&quot;black&quot;}),_.tester=t,_.testref=e},_.savedBBoxes={};var C=0;_.bBox=function(t,e,r){r||(r=s(t));var n;if(r){if(n=_.savedBBoxes[r])return p.extendFlat({},n)}else if(1===t.childNodes.length){var i=t.childNodes[0];if(r=s(i)){var a=+i.getAttribute(&quot;x&quot;)||0,o=+i.getAttribute(&quot;y&quot;)||0,c=i.getAttribute(&quot;transform&quot;);if(!c){var u=_.bBox(i,!1,r);return a&amp;&amp;(u.left+=a,u.right+=a),o&amp;&amp;(u.top+=o,u.bottom+=o),u}if(r+=&quot;~&quot;+a+&quot;~&quot;+o+&quot;~&quot;+c,n=_.savedBBoxes[r])return p.extendFlat({},n)}}var f,h;e?f=t:(h=_.tester.node(),f=t.cloneNode(!0),h.appendChild(f)),l.select(f).attr(&quot;transform&quot;,null).call(m.positionText,0,0);var d=f.getBoundingClientRect(),g=_.testref.node().getBoundingClientRect();e||h.removeChild(f);var v={height:d.height,width:d.width,left:d.left-g.left,top:d.top-g.top,right:d.right-g.left,bottom:d.bottom-g.top};return C&gt;=1e4&amp;&amp;(_.savedBBoxes={},C=0),r&amp;&amp;(_.savedBBoxes[r]=v),C++,p.extendFlat({},v)},_.setClipUrl=function(t,e){if(e){var r=&quot;#&quot;+e,n=l.select(&quot;base&quot;);n.size()&amp;&amp;n.attr(&quot;href&quot;)&amp;&amp;(r=window.location.href.split(&quot;#&quot;)[0]+r),t.attr(&quot;clip-path&quot;,&quot;url(&quot;+r+&quot;)&quot;)}else t.attr(&quot;clip-path&quot;,null)},_.getTranslate=function(t){var e=(t[t.attr?&quot;attr&quot;:&quot;getAttribute&quot;](&quot;transform&quot;)||&quot;&quot;).replace(/.*\btranslate\((-?\d*\.?\d*)[^-\d]*(-?\d*\.?\d*)[^\d].*/,function(t,e,r){return[e,r].join(&quot; &quot;)}).split(&quot; &quot;);return{x:+e[0]||0,y:+e[1]||0}},_.setTranslate=function(t,e,r){var n=t.attr?&quot;attr&quot;:&quot;getAttribute&quot;,i=t.attr?&quot;attr&quot;:&quot;setAttribute&quot;,a=t[n](&quot;transform&quot;)||&quot;&quot;;return e=e||0,r=r||0,a=a.replace(/(\btranslate\(.*?\);?)/,&quot;&quot;).trim(),a+=&quot; translate(&quot;+e+&quot;, &quot;+r+&quot;)&quot;,a=a.trim(),t[i](&quot;transform&quot;,a),a},_.getScale=function(t){var e=(t[t.attr?&quot;attr&quot;:&quot;getAttribute&quot;](&quot;transform&quot;)||&quot;&quot;).replace(/.*\bscale\((\d*\.?\d*)[^\d]*(\d*\.?\d*)[^\d].*/,function(t,e,r){return[e,r].join(&quot; &quot;)}).split(&quot; &quot;);return{x:+e[0]||1,y:+e[1]||1}},_.setScale=function(t,e,r){var n=t.attr?&quot;attr&quot;:&quot;getAttribute&quot;,i=t.attr?&quot;attr&quot;:&quot;setAttribute&quot;,a=t[n](&quot;transform&quot;)||&quot;&quot;;return e=e||1,r=r||1,a=a.replace(/(\bscale\(.*?\);?)/,&quot;&quot;).trim(),a+=&quot; scale(&quot;+e+&quot;, &quot;+r+&quot;)&quot;,a=a.trim(),t[i](&quot;transform&quot;,a),a},_.setPointGroupScale=function(t,e,r){var n,i,a;return e=e||1,r=r||1,i=1===e&amp;&amp;1===r?&quot;&quot;:&quot; scale(&quot;+e+&quot;,&quot;+r+&quot;)&quot;,a=/\s*sc.*/,t.each(function(){n=(this.getAttribute(&quot;transform&quot;)||&quot;&quot;).replace(a,&quot;&quot;),n=(n+=i).trim(),this.setAttribute(&quot;transform&quot;,n)}),i};var z=/translate\([^)]*\)\s*$/;_.setTextPointsScale=function(t,e,r){t.each(function(){var t,n=l.select(this),i=n.select(&quot;text&quot;);if(i.node()){var a=parseFloat(i.attr(&quot;x&quot;)||0),o=parseFloat(i.attr(&quot;y&quot;)||0),s=(n.attr(&quot;transform&quot;)||&quot;&quot;).match(z);t=1===e&amp;&amp;1===r?[]:[&quot;translate(&quot;+a+&quot;,&quot;+o+&quot;)&quot;,&quot;scale(&quot;+e+&quot;,&quot;+r+&quot;)&quot;,&quot;translate(&quot;+-a+&quot;,&quot;+-o+&quot;)&quot;],s&amp;&amp;t.push(s),n.attr(&quot;transform&quot;,t.join(&quot; &quot;))}})}},{&quot;../../constants/alignment&quot;:716,&quot;../../constants/interactions&quot;:720,&quot;../../constants/xmlns_namespaces&quot;:723,&quot;../../lib&quot;:743,&quot;../../lib/svg_text_utils&quot;:766,&quot;../../registry&quot;:873,&quot;../../traces/scatter/make_bubble_size_func&quot;:1083,&quot;../../traces/scatter/subtypes&quot;:1088,&quot;../color&quot;:618,&quot;../colorscale&quot;:633,&quot;./symbol_defs&quot;:644,d3:128,&quot;fast-isnumeric&quot;:140,tinycolor2:546}],644:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;d3&quot;);e.exports={circle:{n:0,f:function(t){var e=n.round(t,2);return&quot;M&quot;+e+&quot;,0A&quot;+e+&quot;,&quot;+e+&quot; 0 1,1 0,-&quot;+e+&quot;A&quot;+e+&quot;,&quot;+e+&quot; 0 0,1 &quot;+e+&quot;,0Z&quot;}},square:{n:1,f:function(t){var e=n.round(t,2);return&quot;M&quot;+e+&quot;,&quot;+e+&quot;H-&quot;+e+&quot;V-&quot;+e+&quot;H&quot;+e+&quot;Z&quot;}},diamond:{n:2,f:function(t){var e=n.round(1.3*t,2);return&quot;M&quot;+e+&quot;,0L0,&quot;+e+&quot;L-&quot;+e+&quot;,0L0,-&quot;+e+&quot;Z&quot;}},cross:{n:3,f:function(t){var e=n.round(.4*t,2),r=n.round(1.2*t,2);return&quot;M&quot;+r+&quot;,&quot;+e+&quot;H&quot;+e+&quot;V&quot;+r+&quot;H-&quot;+e+&quot;V&quot;+e+&quot;H-&quot;+r+&quot;V-&quot;+e+&quot;H-&quot;+e+&quot;V-&quot;+r+&quot;H&quot;+e+&quot;V-&quot;+e+&quot;H&quot;+r+&quot;Z&quot;}},x:{n:4,f:function(t){var e=n.round(.8*t/Math.sqrt(2),2),r=&quot;l&quot;+e+&quot;,&quot;+e,i=&quot;l&quot;+e+&quot;,-&quot;+e,a=&quot;l-&quot;+e+&quot;,-&quot;+e,o=&quot;l-&quot;+e+&quot;,&quot;+e;return&quot;M0,&quot;+e+r+i+a+i+a+o+a+o+r+o+r+&quot;Z&quot;}},&quot;triangle-up&quot;:{n:5,f:function(t){var e=n.round(2*t/Math.sqrt(3),2);return&quot;M-&quot;+e+&quot;,&quot;+n.round(t/2,2)+&quot;H&quot;+e+&quot;L0,-&quot;+n.round(t,2)+&quot;Z&quot;}},&quot;triangle-down&quot;:{n:6,f:function(t){var e=n.round(2*t/Math.sqrt(3),2);return&quot;M-&quot;+e+&quot;,-&quot;+n.round(t/2,2)+&quot;H&quot;+e+&quot;L0,&quot;+n.round(t,2)+&quot;Z&quot;}},&quot;triangle-left&quot;:{n:7,f:function(t){var e=n.round(2*t/Math.sqrt(3),2);return&quot;M&quot;+n.round(t/2,2)+&quot;,-&quot;+e+&quot;V&quot;+e+&quot;L-&quot;+n.round(t,2)+&quot;,0Z&quot;}},&quot;triangle-right&quot;:{n:8,f:function(t){var e=n.round(2*t/Math.sqrt(3),2);return&quot;M-&quot;+n.round(t/2,2)+&quot;,-&quot;+e+&quot;V&quot;+e+&quot;L&quot;+n.round(t,2)+&quot;,0Z&quot;}},&quot;triangle-ne&quot;:{n:9,f:function(t){var e=n.round(.6*t,2),r=n.round(1.2*t,2);return&quot;M-&quot;+r+&quot;,-&quot;+e+&quot;H&quot;+e+&quot;V&quot;+r+&quot;Z&quot;}},&quot;triangle-se&quot;:{n:10,f:function(t){var e=n.round(.6*t,2),r=n.round(1.2*t,2);return&quot;M&quot;+e+&quot;,-&quot;+r+&quot;V&quot;+e+&quot;H-&quot;+r+&quot;Z&quot;}},&quot;triangle-sw&quot;:{n:11,f:function(t){var e=n.round(.6*t,2),r=n.round(1.2*t,2);return&quot;M&quot;+r+&quot;,&quot;+e+&quot;H-&quot;+e+&quot;V-&quot;+r+&quot;Z&quot;}},&quot;triangle-nw&quot;:{n:12,f:function(t){var e=n.round(.6*t,2),r=n.round(1.2*t,2);return&quot;M-&quot;+e+&quot;,&quot;+r+&quot;V-&quot;+e+&quot;H&quot;+r+&quot;Z&quot;}},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&quot;M&quot;+e+&quot;,&quot;+a+&quot;L&quot;+r+&quot;,&quot;+n.round(.809*t,2)+&quot;H-&quot;+r+&quot;L-&quot;+e+&quot;,&quot;+a+&quot;L0,&quot;+i+&quot;Z&quot;}},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&quot;M&quot;+i+&quot;,-&quot;+r+&quot;V&quot;+r+&quot;L0,&quot;+e+&quot;L-&quot;+i+&quot;,&quot;+r+&quot;V-&quot;+r+&quot;L0,-&quot;+e+&quot;Z&quot;}},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&quot;M-&quot;+r+&quot;,&quot;+i+&quot;H&quot;+r+&quot;L&quot;+e+&quot;,0L&quot;+r+&quot;,-&quot;+i+&quot;H-&quot;+r+&quot;L-&quot;+e+&quot;,0Z&quot;}},octagon:{n:16,f:function(t){var e=n.round(.924*t,2),r=n.round(.383*t,2);return&quot;M-&quot;+r+&quot;,-&quot;+e+&quot;H&quot;+r+&quot;L&quot;+e+&quot;,-&quot;+r+&quot;V&quot;+r+&quot;L&quot;+r+&quot;,&quot;+e+&quot;H-&quot;+r+&quot;L-&quot;+e+&quot;,&quot;+r+&quot;V-&quot;+r+&quot;Z&quot;}},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&quot;M&quot;+r+&quot;,&quot;+l+&quot;H&quot;+i+&quot;L&quot;+a+&quot;,&quot;+c+&quot;L&quot;+o+&quot;,&quot;+u+&quot;L0,&quot;+n.round(.382*e,2)+&quot;L-&quot;+o+&quot;,&quot;+u+&quot;L-&quot;+a+&quot;,&quot;+c+&quot;L-&quot;+i+&quot;,&quot;+l+&quot;H-&quot;+r+&quot;L0,&quot;+s+&quot;Z&quot;}},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&quot;M-&quot;+i+&quot;,0l-&quot;+r+&quot;,-&quot;+e+&quot;h&quot;+i+&quot;l&quot;+r+&quot;,-&quot;+e+&quot;l&quot;+r+&quot;,&quot;+e+&quot;h&quot;+i+&quot;l-&quot;+r+&quot;,&quot;+e+&quot;l&quot;+r+&quot;,&quot;+e+&quot;h-&quot;+i+&quot;l-&quot;+r+&quot;,&quot;+e+&quot;l-&quot;+r+&quot;,-&quot;+e+&quot;h-&quot;+i+&quot;Z&quot;}},&quot;star-triangle-up&quot;:{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=&quot;A &quot;+a+&quot;,&quot;+a+&quot; 0 0 1 &quot;;return&quot;M-&quot;+e+&quot;,&quot;+r+o+e+&quot;,&quot;+r+o+&quot;0,-&quot;+i+o+&quot;-&quot;+e+&quot;,&quot;+r+&quot;Z&quot;}},&quot;star-triangle-down&quot;:{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=&quot;A &quot;+a+&quot;,&quot;+a+&quot; 0 0 1 &quot;;return&quot;M&quot;+e+&quot;,-&quot;+r+o+&quot;-&quot;+e+&quot;,-&quot;+r+o+&quot;0,&quot;+i+o+e+&quot;,-&quot;+r+&quot;Z&quot;}},&quot;star-square&quot;:{n:21,f:function(t){var e=n.round(1.1*t,2),r=n.round(2*t,2),i=&quot;A &quot;+r+&quot;,&quot;+r+&quot; 0 0 1 &quot;;return&quot;M-&quot;+e+&quot;,-&quot;+e+i+&quot;-&quot;+e+&quot;,&quot;+e+i+e+&quot;,&quot;+e+i+e+&quot;,-&quot;+e+i+&quot;-&quot;+e+&quot;,-&quot;+e+&quot;Z&quot;}},&quot;star-diamond&quot;:{n:22,f:function(t){var e=n.round(1.4*t,2),r=n.round(1.9*t,2),i=&quot;A &quot;+r+&quot;,&quot;+r+&quot; 0 0 1 &quot;;return&quot;M-&quot;+e+&quot;,0&quot;+i+&quot;0,&quot;+e+i+e+&quot;,0&quot;+i+&quot;0,-&quot;+e+i+&quot;-&quot;+e+&quot;,0Z&quot;}},&quot;diamond-tall&quot;:{n:23,f:function(t){var e=n.round(.7*t,2),r=n.round(1.4*t,2);return&quot;M0,&quot;+r+&quot;L&quot;+e+&quot;,0L0,-&quot;+r+&quot;L-&quot;+e+&quot;,0Z&quot;}},&quot;diamond-wide&quot;:{n:24,f:function(t){var e=n.round(1.4*t,2),r=n.round(.7*t,2);return&quot;M0,&quot;+r+&quot;L&quot;+e+&quot;,0L0,-&quot;+r+&quot;L-&quot;+e+&quot;,0Z&quot;}},hourglass:{n:25,f:function(t){var e=n.round(t,2);return&quot;M&quot;+e+&quot;,&quot;+e+&quot;H-&quot;+e+&quot;L&quot;+e+&quot;,-&quot;+e+&quot;H-&quot;+e+&quot;Z&quot;},noDot:!0},bowtie:{n:26,f:function(t){var e=n.round(t,2);return&quot;M&quot;+e+&quot;,&quot;+e+&quot;V-&quot;+e+&quot;L-&quot;+e+&quot;,&quot;+e+&quot;V-&quot;+e+&quot;Z&quot;},noDot:!0},&quot;circle-cross&quot;:{n:27,f:function(t){var e=n.round(t,2);return&quot;M0,&quot;+e+&quot;V-&quot;+e+&quot;M&quot;+e+&quot;,0H-&quot;+e+&quot;M&quot;+e+&quot;,0A&quot;+e+&quot;,&quot;+e+&quot; 0 1,1 0,-&quot;+e+&quot;A&quot;+e+&quot;,&quot;+e+&quot; 0 0,1 &quot;+e+&quot;,0Z&quot;},needLine:!0,noDot:!0},&quot;circle-x&quot;:{n:28,f:function(t){var e=n.round(t,2),r=n.round(t/Math.sqrt(2),2);return&quot;M&quot;+r+&quot;,&quot;+r+&quot;L-&quot;+r+&quot;,-&quot;+r+&quot;M&quot;+r+&quot;,-&quot;+r+&quot;L-&quot;+r+&quot;,&quot;+r+&quot;M&quot;+e+&quot;,0A&quot;+e+&quot;,&quot;+e+&quot; 0 1,1 0,-&quot;+e+&quot;A&quot;+e+&quot;,&quot;+e+&quot; 0 0,1 &quot;+e+&quot;,0Z&quot;},needLine:!0,noDot:!0},&quot;square-cross&quot;:{n:29,f:function(t){var e=n.round(t,2);return&quot;M0,&quot;+e+&quot;V-&quot;+e+&quot;M&quot;+e+&quot;,0H-&quot;+e+&quot;M&quot;+e+&quot;,&quot;+e+&quot;H-&quot;+e+&quot;V-&quot;+e+&quot;H&quot;+e+&quot;Z&quot;},needLine:!0,noDot:!0},&quot;square-x&quot;:{n:30,f:function(t){var e=n.round(t,2);return&quot;M&quot;+e+&quot;,&quot;+e+&quot;L-&quot;+e+&quot;,-&quot;+e+&quot;M&quot;+e+&quot;,-&quot;+e+&quot;L-&quot;+e+&quot;,&quot;+e+&quot;M&quot;+e+&quot;,&quot;+e+&quot;H-&quot;+e+&quot;V-&quot;+e+&quot;H&quot;+e+&quot;Z&quot;},needLine:!0,noDot:!0},&quot;diamond-cross&quot;:{n:31,f:function(t){var e=n.round(1.3*t,2);return&quot;M&quot;+e+&quot;,0L0,&quot;+e+&quot;L-&quot;+e+&quot;,0L0,-&quot;+e+&quot;ZM0,-&quot;+e+&quot;V&quot;+e+&quot;M-&quot;+e+&quot;,0H&quot;+e},needLine:!0,noDot:!0},&quot;diamond-x&quot;:{n:32,f:function(t){var e=n.round(1.3*t,2),r=n.round(.65*t,2);return&quot;M&quot;+e+&quot;,0L0,&quot;+e+&quot;L-&quot;+e+&quot;,0L0,-&quot;+e+&quot;ZM-&quot;+r+&quot;,-&quot;+r+&quot;L&quot;+r+&quot;,&quot;+r+&quot;M-&quot;+r+&quot;,&quot;+r+&quot;L&quot;+r+&quot;,-&quot;+r},needLine:!0,noDot:!0},&quot;cross-thin&quot;:{n:33,f:function(t){var e=n.round(1.4*t,2);return&quot;M0,&quot;+e+&quot;V-&quot;+e+&quot;M&quot;+e+&quot;,0H-&quot;+e},needLine:!0,noDot:!0,noFill:!0},&quot;x-thin&quot;:{n:34,f:function(t){var e=n.round(t,2);return&quot;M&quot;+e+&quot;,&quot;+e+&quot;L-&quot;+e+&quot;,-&quot;+e+&quot;M&quot;+e+&quot;,-&quot;+e+&quot;L-&quot;+e+&quot;,&quot;+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&quot;M0,&quot;+e+&quot;V-&quot;+e+&quot;M&quot;+e+&quot;,0H-&quot;+e+&quot;M&quot;+r+&quot;,&quot;+r+&quot;L-&quot;+r+&quot;,-&quot;+r+&quot;M&quot;+r+&quot;,-&quot;+r+&quot;L-&quot;+r+&quot;,&quot;+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&quot;M&quot;+e+&quot;,&quot;+r+&quot;V-&quot;+r+&quot;m-&quot;+r+&quot;,0V&quot;+r+&quot;M&quot;+r+&quot;,&quot;+e+&quot;H-&quot;+r+&quot;m0,-&quot;+r+&quot;H&quot;+r},needLine:!0,noFill:!0},&quot;y-up&quot;:{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&quot;M-&quot;+e+&quot;,&quot;+i+&quot;L0,0M&quot;+e+&quot;,&quot;+i+&quot;L0,0M0,-&quot;+r+&quot;L0,0&quot;},needLine:!0,noDot:!0,noFill:!0},&quot;y-down&quot;:{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&quot;M-&quot;+e+&quot;,-&quot;+i+&quot;L0,0M&quot;+e+&quot;,-&quot;+i+&quot;L0,0M0,&quot;+r+&quot;L0,0&quot;},needLine:!0,noDot:!0,noFill:!0},&quot;y-left&quot;:{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&quot;M&quot;+i+&quot;,&quot;+e+&quot;L0,0M&quot;+i+&quot;,-&quot;+e+&quot;L0,0M-&quot;+r+&quot;,0L0,0&quot;},needLine:!0,noDot:!0,noFill:!0},&quot;y-right&quot;:{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&quot;M-&quot;+i+&quot;,&quot;+e+&quot;L0,0M-&quot;+i+&quot;,-&quot;+e+&quot;L0,0M&quot;+r+&quot;,0L0,0&quot;},needLine:!0,noDot:!0,noFill:!0},&quot;line-ew&quot;:{n:41,f:function(t){var e=n.round(1.4*t,2);return&quot;M&quot;+e+&quot;,0H-&quot;+e},needLine:!0,noDot:!0,noFill:!0},&quot;line-ns&quot;:{n:42,f:function(t){var e=n.round(1.4*t,2);return&quot;M0,&quot;+e+&quot;V-&quot;+e},needLine:!0,noDot:!0,noFill:!0},&quot;line-ne&quot;:{n:43,f:function(t){var e=n.round(t,2);return&quot;M&quot;+e+&quot;,-&quot;+e+&quot;L-&quot;+e+&quot;,&quot;+e},needLine:!0,noDot:!0,noFill:!0},&quot;line-nw&quot;:{n:44,f:function(t){var e=n.round(t,2);return&quot;M&quot;+e+&quot;,&quot;+e+&quot;L-&quot;+e+&quot;,-&quot;+e},needLine:!0,noDot:!0,noFill:!0}}},{d3:128}],645:[function(t,e,r){&quot;use strict&quot;;e.exports={visible:{valType:&quot;boolean&quot;,editType:&quot;calc&quot;},type:{valType:&quot;enumerated&quot;,values:[&quot;percent&quot;,&quot;constant&quot;,&quot;sqrt&quot;,&quot;data&quot;],editType:&quot;calc&quot;},symmetric:{valType:&quot;boolean&quot;,editType:&quot;calc&quot;},array:{valType:&quot;data_array&quot;,editType:&quot;calc&quot;},arrayminus:{valType:&quot;data_array&quot;,editType:&quot;calc&quot;},value:{valType:&quot;number&quot;,min:0,dflt:10,editType:&quot;calc&quot;},valueminus:{valType:&quot;number&quot;,min:0,dflt:10,editType:&quot;calc&quot;},traceref:{valType:&quot;integer&quot;,min:0,dflt:0,editType:&quot;style&quot;},tracerefminus:{valType:&quot;integer&quot;,min:0,dflt:0,editType:&quot;style&quot;},copy_ystyle:{valType:&quot;boolean&quot;,editType:&quot;plot&quot;},copy_zstyle:{valType:&quot;boolean&quot;,editType:&quot;style&quot;},color:{valType:&quot;color&quot;,editType:&quot;style&quot;},thickness:{valType:&quot;number&quot;,min:0,dflt:2,editType:&quot;style&quot;},width:{valType:&quot;number&quot;,min:0,editType:&quot;plot&quot;},editType:&quot;calc&quot;,_deprecated:{opacity:{valType:&quot;number&quot;,editType:&quot;style&quot;}}}},{}],646:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,n){var a=e[&quot;error_&quot;+n]||{},l=[];if(a.visible&amp;&amp;-1!==[&quot;linear&quot;,&quot;log&quot;].indexOf(r.type)){for(var c=s(a),u=0;u&lt;t.length;u++){var f=t[u],h=f[n];if(i(r.c2l(h))){var d=c(h,u);if(i(d[0])&amp;&amp;i(d[1])){var p=f[n+&quot;s&quot;]=h-d[0],m=f[n+&quot;h&quot;]=h+d[1];l.push(p,m)}}}o.expand(r,l,{padded:!0})}}var i=t(&quot;fast-isnumeric&quot;),a=t(&quot;../../registry&quot;),o=t(&quot;../../plots/cartesian/axes&quot;),s=t(&quot;./compute_error&quot;);e.exports=function(t){for(var e=t.calcdata,r=0;r&lt;e.length;r++){var i=e[r],s=i[0].trace;if(a.traceIs(s,&quot;errorBarsOK&quot;)){var l=o.getFromId(t,s.xaxis),c=o.getFromId(t,s.yaxis);n(i,s,l,&quot;x&quot;),n(i,s,c,&quot;y&quot;)}}}},{&quot;../../plots/cartesian/axes&quot;:789,&quot;../../registry&quot;:873,&quot;./compute_error&quot;:647,&quot;fast-isnumeric&quot;:140}],647:[function(t,e,r){&quot;use strict&quot;;function n(t,e){return&quot;percent&quot;===t?function(t){return Math.abs(t*e/100)}:&quot;constant&quot;===t?function(){return Math.abs(e)}:&quot;sqrt&quot;===t?function(t){return Math.sqrt(Math.abs(t))}:void 0}e.exports=function(t){var e=t.type,r=t.symmetric;if(&quot;data&quot;===e){var i=t.array,a=t.arrayminus;return r||void 0===a?function(t,e){var r=+i[e];return[r,r]}:function(t,e){return[+a[e],+i[e]]}}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)]}}},{}],648:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;fast-isnumeric&quot;),i=t(&quot;../../registry&quot;),a=t(&quot;../../lib&quot;),o=t(&quot;./attributes&quot;);e.exports=function(t,e,r,s){function l(t,e){return a.coerce(f,u,o,t,e)}var c=&quot;error_&quot;+s.axis,u=e[c]={},f=t[c]||{};if(!1!==l(&quot;visible&quot;,void 0!==f.array||void 0!==f.value||&quot;sqrt&quot;===f.type)){var h=l(&quot;type&quot;,&quot;array&quot;in f?&quot;data&quot;:&quot;percent&quot;),d=!0;if(&quot;sqrt&quot;!==h&amp;&amp;(d=l(&quot;symmetric&quot;,!((&quot;data&quot;===h?&quot;arrayminus&quot;:&quot;valueminus&quot;)in f))),&quot;data&quot;===h){if(l(&quot;array&quot;)||(u.array=[]),l(&quot;traceref&quot;),!d){l(&quot;arrayminus&quot;)||(u.arrayminus=[]),l(&quot;tracerefminus&quot;)}}else&quot;percent&quot;!==h&amp;&amp;&quot;constant&quot;!==h||(l(&quot;value&quot;),d||l(&quot;valueminus&quot;));var p=&quot;copy_&quot;+s.inherit+&quot;style&quot;;if(s.inherit){(e[&quot;error_&quot;+s.inherit]||{}).visible&amp;&amp;l(p,!(f.color||n(f.thickness)||n(f.width)))}s.inherit&amp;&amp;u[p]||(l(&quot;color&quot;,r),l(&quot;thickness&quot;),l(&quot;width&quot;,i.traceIs(e,&quot;gl3d&quot;)?0:4))}}},{&quot;../../lib&quot;:743,&quot;../../registry&quot;:873,&quot;./attributes&quot;:645,&quot;fast-isnumeric&quot;:140}],649:[function(t,e,r){&quot;use strict&quot;;var n=e.exports={};n.attributes=t(&quot;./attributes&quot;),n.supplyDefaults=t(&quot;./defaults&quot;),n.calc=t(&quot;./calc&quot;),n.calcFromTrace=function(t,e){for(var r=t.x||[],i=t.y||[],a=r.length||i.length,o=new Array(a),s=0;s&lt;a;s++)o[s]={x:r[s],y:i[s]};return o[0].trace=t,n.calc({calcdata:[o],_fullLayout:e}),o},n.plot=t(&quot;./plot&quot;),n.style=t(&quot;./style&quot;),n.hoverInfo=function(t,e,r){(e.error_y||{}).visible&amp;&amp;(r.yerr=t.yh-t.y,e.error_y.symmetric||(r.yerrneg=t.y-t.ys)),(e.error_x||{}).visible&amp;&amp;(r.xerr=t.xh-t.x,e.error_x.symmetric||(r.xerrneg=t.x-t.xs))}},{&quot;./attributes&quot;:645,&quot;./calc&quot;:646,&quot;./defaults&quot;:648,&quot;./plot&quot;:650,&quot;./style&quot;:651}],650:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;d3&quot;),i=t(&quot;fast-isnumeric&quot;),a=t(&quot;../drawing&quot;),o=t(&quot;../../traces/scatter/subtypes&quot;);e.exports=function(t,e,r){var s,l=e.xaxis,c=e.yaxis,u=r&amp;&amp;r.duration&gt;0;t.each(function(t){var f,h=t[0].trace,d=h.error_x||{},p=h.error_y||{};h.ids&amp;&amp;(f=function(t){return t.id});var m=o.hasMarkers(h)&amp;&amp;h.marker.maxdisplayed&gt;0;p.visible||d.visible||(t=[]);var g=n.select(this).selectAll(&quot;g.errorbar&quot;).data(t,f);if(g.exit().remove(),t.length){d.visible||g.selectAll(&quot;path.xerror&quot;).remove(),p.visible||g.selectAll(&quot;path.yerror&quot;).remove(),g.style(&quot;opacity&quot;,1);var v=g.enter().append(&quot;g&quot;).classed(&quot;errorbar&quot;,!0);u&amp;&amp;v.style(&quot;opacity&quot;,0).transition().duration(r.duration).style(&quot;opacity&quot;,1),a.setClipUrl(g,e.layerClipId),g.each(function(t){var e=n.select(this),a=function(t,e,r){var n={x:e.c2p(t.x),y:r.c2p(t.y)};return void 0!==t.yh&amp;&amp;(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&amp;&amp;(n.xh=e.c2p(t.xh),n.xs=e.c2p(t.xs),i(n.xs)||(n.noXS=!0,n.xs=e.c2p(t.xs,!0))),n}(t,l,c);if(!m||t.vis){var o;if(p.visible&amp;&amp;i(a.x)&amp;&amp;i(a.yh)&amp;&amp;i(a.ys)){var f=p.width;o=&quot;M&quot;+(a.x-f)+&quot;,&quot;+a.yh+&quot;h&quot;+2*f+&quot;m-&quot;+f+&quot;,0V&quot;+a.ys,a.noYS||(o+=&quot;m-&quot;+f+&quot;,0h&quot;+2*f);var h=e.select(&quot;path.yerror&quot;);(s=!h.size())?h=e.append(&quot;path&quot;).style(&quot;vector-effect&quot;,&quot;non-scaling-stroke&quot;).classed(&quot;yerror&quot;,!0):u&amp;&amp;(h=h.transition().duration(r.duration).ease(r.easing)),h.attr(&quot;d&quot;,o)}if(d.visible&amp;&amp;i(a.y)&amp;&amp;i(a.xh)&amp;&amp;i(a.xs)){var g=(d.copy_ystyle?p:d).width;o=&quot;M&quot;+a.xh+&quot;,&quot;+(a.y-g)+&quot;v&quot;+2*g+&quot;m0,-&quot;+g+&quot;H&quot;+a.xs,a.noXS||(o+=&quot;m0,-&quot;+g+&quot;v&quot;+2*g);var v=e.select(&quot;path.xerror&quot;);(s=!v.size())?v=e.append(&quot;path&quot;).style(&quot;vector-effect&quot;,&quot;non-scaling-stroke&quot;).classed(&quot;xerror&quot;,!0):u&amp;&amp;(v=v.transition().duration(r.duration).ease(r.easing)),v.attr(&quot;d&quot;,o)}}})}})}},{&quot;../../traces/scatter/subtypes&quot;:1088,&quot;../drawing&quot;:643,d3:128,&quot;fast-isnumeric&quot;:140}],651:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;d3&quot;),i=t(&quot;../color&quot;);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(&quot;path.yerror&quot;).style(&quot;stroke-width&quot;,r.thickness+&quot;px&quot;).call(i.stroke,r.color),a.copy_ystyle&amp;&amp;(a=r),o.selectAll(&quot;path.xerror&quot;).style(&quot;stroke-width&quot;,a.thickness+&quot;px&quot;).call(i.stroke,a.color)})}},{&quot;../color&quot;:618,d3:128}],652:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../plots/font_attributes&quot;);e.exports={hoverlabel:{bgcolor:{valType:&quot;color&quot;,arrayOk:!0,editType:&quot;none&quot;},bordercolor:{valType:&quot;color&quot;,arrayOk:!0,editType:&quot;none&quot;},font:n({arrayOk:!0,editType:&quot;none&quot;}),namelength:{valType:&quot;integer&quot;,min:-1,arrayOk:!0,editType:&quot;none&quot;},editType:&quot;calc&quot;}}},{&quot;../../plots/font_attributes&quot;:816}],653:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib&quot;),i=t(&quot;../../registry&quot;);e.exports=function(t){function e(t){return function(e){return n.coerceHoverinfo({hoverinfo:e},{_module:t._module},a)}}for(var r=t.calcdata,a=t._fullLayout,o=0;o&lt;r.length;o++){var s=r[o],l=s[0].trace;if(!i.traceIs(l,&quot;pie&quot;)){var c=i.traceIs(l,&quot;2dMap&quot;)?function(t,e,r,i){i=i||n.identity,Array.isArray(t)&amp;&amp;(e[0][r]=i(t))}:n.fillArray;c(l.hoverinfo,s,&quot;hi&quot;,e(l)),l.hoverlabel&amp;&amp;(c(l.hoverlabel.bgcolor,s,&quot;hbg&quot;),c(l.hoverlabel.bordercolor,s,&quot;hbc&quot;),c(l.hoverlabel.font.size,s,&quot;hts&quot;),c(l.hoverlabel.font.color,s,&quot;htc&quot;),c(l.hoverlabel.font.family,s,&quot;htf&quot;),c(l.hoverlabel.namelength,s,&quot;hnl&quot;))}}}},{&quot;../../lib&quot;:743,&quot;../../registry&quot;:873}],654:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../registry&quot;),i=t(&quot;./hover&quot;).hover;e.exports=function(t,e,r){function a(){t.emit(&quot;plotly_click&quot;,{points:t._hoverdata,event:e})}var o=n.getComponentMethod(&quot;annotations&quot;,&quot;onClick&quot;)(t,t._hoverdata);void 0!==r&amp;&amp;i(t,e,r,!0),t._hoverdata&amp;&amp;e&amp;&amp;e.target&amp;&amp;(o&amp;&amp;o.then?o.then(a):a(),e.stopImmediatePropagation&amp;&amp;e.stopImmediatePropagation())}},{&quot;../../registry&quot;:873,&quot;./hover&quot;:658}],655:[function(t,e,r){&quot;use strict&quot;;e.exports={MAXDIST:20,YANGLE:60,HOVERARROWSIZE:6,HOVERTEXTPAD:3,HOVERFONTSIZE:13,HOVERFONT:&quot;Arial, sans-serif&quot;,HOVERMINTIME:50,HOVERID:&quot;-hover&quot;}},{}],656:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib&quot;),i=t(&quot;./attributes&quot;),a=t(&quot;./hoverlabel_defaults&quot;);e.exports=function(t,e,r,o){a(t,e,function(r,a){return n.coerce(t,e,i,r,a)},o.hoverlabel)}},{&quot;../../lib&quot;:743,&quot;./attributes&quot;:652,&quot;./hoverlabel_defaults&quot;:659}],657:[function(t,e,r){&quot;use strict&quot;;function n(t){return s[t]||t}function i(t,e){return Array.isArray(e)?Array.isArray(t)&amp;&amp;Array.isArray(t[e[0]])?t[e[0]][e[1]]:void 0:t[e]}var a=t(&quot;../../lib&quot;),o=t(&quot;./constants&quot;);r.getSubplot=function(t){return t.subplot||t.xaxis+t.yaxis||t.geo},r.flat=function(t,e){for(var r=new Array(t.length),n=0;n&lt;t.length;n++)r[n]=e;return r},r.p2c=function(t,e){for(var r=new Array(t.length),n=0;n&lt;t.length;n++)r[n]=t[n].p2c(e);return r},r.getDistanceFunction=function(t,e,n,i){return&quot;closest&quot;===t?i||r.quadrature(e,n):&quot;x&quot;===t?e:n},r.getClosest=function(t,e,r){if(!1!==r.index)r.index&gt;=0&amp;&amp;r.index&lt;t.length?r.distance=0:r.index=!1;else for(var n=0;n&lt;t.length;n++){var i=e(t[n]);i&lt;=r.distance&amp;&amp;(r.index=n,r.distance=i)}return r},r.inbox=function(t,e){return t*e&lt;0||0===t?o.MAXDIST*(.6-.3/Math.max(3,Math.abs(t-e))):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=&quot;index&quot;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):(&quot;xVal&quot;in t?a.x=t.xVal:&quot;x&quot;in t&amp;&amp;(a.x=t.x),&quot;yVal&quot;in t?a.y=t.yVal:&quot;y&quot;in t&amp;&amp;(a.y=t.y),t.xa&amp;&amp;(a.xaxis=t.xa),t.ya&amp;&amp;(a.yaxis=t.ya),void 0!==t.zLabelVal&amp;&amp;(a.z=t.zLabelVal)),r.appendArrayPointValue(a,e,i),a},r.appendArrayPointValue=function(t,e,r){var o=e._arrayAttrs;if(o)for(var s=0;s&lt;o.length;s++){var l=o[s],c=n(l);if(void 0===t[c]){var u=i(a.nestedProperty(e,l).get(),r);void 0!==u&amp;&amp;(t[c]=u)}}},r.appendArrayMultiPointValues=function(t,e,r){var o=e._arrayAttrs;if(o)for(var s=0;s&lt;o.length;s++){var l=o[s],c=n(l);if(void 0===t[c]){for(var u=a.nestedProperty(e,l).get(),f=new Array(r.length),h=0;h&lt;r.length;h++)f[h]=i(u,r[h]);t[c]=f}}};var s={ids:&quot;id&quot;,locations:&quot;location&quot;,labels:&quot;label&quot;,values:&quot;value&quot;,&quot;marker.colors&quot;:&quot;color&quot;}},{&quot;../../lib&quot;:743,&quot;./constants&quot;:655}],658:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,n){function u(t,e){if(!t.length)return null;var r=t.map(function(t,e){var r=t.xa,n=t.ya,i=r.c2p(q),a=n.c2p(H);return{distance:function(t){var e=t.kink,r=(t.x1+t.x0)/2-i,n=(t.y1+t.y0)/2-a;return Math.max(Math.sqrt(r*r+n*n)-e,1-3/e)}(t),index:e}});return r=r.filter(function(t){return t.distance&lt;=e}).sort(function(t,e){return t.distance-e.distance}),r.length?t[r[0].index]:null}function d(t){return t?{xa:t.xa,ya:t.ya,x0:t.x0,x1:t.x1,y0:t.y0,y1:t.y1,distance:t.distance,curveNumber:t.trace.index,color:t.color,pointNumber:t.index}:null}r||(r=&quot;xy&quot;);var m=Array.isArray(r)?r:[r],_=t._fullLayout,w=_._plots||[],M=w[r];if(M){var A=M.overlays.map(function(t){return t.id});m=m.concat(A)}for(var T=m.length,S=new Array(T),E=new Array(T),L=0;L&lt;T;L++){var C=m[L],z=w[C];if(z)S[L]=y.getFromId(t,z.xaxis._id),E[L]=y.getFromId(t,z.yaxis._id);else{var D=_[C]._subplot;S[L]=D.xaxis,E[L]=D.yaxis}}var I=e.hovermode||_.hovermode;if(-1===[&quot;x&quot;,&quot;y&quot;,&quot;closest&quot;].indexOf(I)||!t.calcdata||t.querySelector(&quot;.zoombox&quot;)||t._dragging)return v.unhoverRaw(t,e);var P,O,F,R,N,j,B,U,V,q,H,G,Y,W=-1===_.hoverdistance?1/0:_.hoverdistance,X=-1===_.spikedistance?1/0:_.spikedistance,Z=[],J=[],K={hLinePoint:null,vLinePoint:null};if(Array.isArray(e))for(I=&quot;array&quot;,F=0;F&lt;e.length;F++)&quot;skip&quot;!==(N=t.calcdata[e[F].curveNumber||0])[0].trace.hoverinfo&amp;&amp;J.push(N);else{for(R=0;R&lt;t.calcdata.length;R++)&quot;skip&quot;!==(j=(N=t.calcdata[R])[0].trace).hoverinfo&amp;&amp;-1!==m.indexOf(b.getSubplot(j))&amp;&amp;J.push(N);var Q,$;if(!e.target)Q=&quot;xpx&quot;in e?e.xpx:S[0]._length/2,e.pointerX=Q+S[0]._offset,$=&quot;ypx&quot;in e?e.ypx:E[0]._length/2,e.pointerY=$+E[0]._offset;else{if(!1===h.triggerHandler(t,&quot;plotly_beforehover&quot;,e))return;var tt=e.target.getBoundingClientRect();if(Q=e.clientX-tt.left,$=e.clientY-tt.top,Q&lt;0||Q&gt;tt.width||$&lt;0||$&gt;tt.height)return v.unhoverRaw(t,e);e.pointerX=e.offsetX,e.pointerY=e.offsetY}if(P=&quot;xval&quot;in e?b.flat(m,e.xval):b.p2c(S,Q),O=&quot;yval&quot;in e?b.flat(m,e.yval):b.p2c(E,$),!c(P[0])||!c(O[0]))return f.warn(&quot;Fx.hover failed&quot;,e,t),v.unhoverRaw(t,e)}var et=1/0;for(R=0;R&lt;J.length;R++)if((N=J[R])&amp;&amp;N[0]&amp;&amp;N[0].trace&amp;&amp;!0===N[0].trace.visible&amp;&amp;(j=N[0].trace,-1===[&quot;carpet&quot;,&quot;contourcarpet&quot;].indexOf(j._module.name))){if(B=b.getSubplot(j),U=m.indexOf(B),V=I,G={cd:N,trace:j,xa:S[U],ya:E[U],index:!1,distance:Math.min(et,W),color:g.defaultLine,name:j.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},_[B]&amp;&amp;(G.subplot=_[B]._subplot),Y=Z.length,&quot;array&quot;===V){var rt=e[R];&quot;pointNumber&quot;in rt?(G.index=rt.pointNumber,V=&quot;closest&quot;):(V=&quot;&quot;,&quot;xval&quot;in rt&amp;&amp;(q=rt.xval,V=&quot;x&quot;),&quot;yval&quot;in rt&amp;&amp;(H=rt.yval,V=V?&quot;closest&quot;:&quot;y&quot;))}else q=P[U],H=O[U];if(0!==W)if(j._module&amp;&amp;j._module.hoverPoints){var nt=j._module.hoverPoints(G,q,H,V,_._hoverlayer);if(nt)for(var it,at=0;at&lt;nt.length;at++)it=nt[at],c(it.x0)&amp;&amp;c(it.y0)&amp;&amp;Z.push(function(t,e){function r(e,r,n){var i=s(r,n);i&amp;&amp;(t[e]=i)}var n=t.index,i=t.trace||{},a=t.cd[0],o=t.cd[n]||{},s=Array.isArray(n)?function(t,e){return f.castOption(a,n,t)||f.extractOption({},i,&quot;&quot;,e)}:function(t,e){return f.extractOption(o,i,t,e)};r(&quot;hoverinfo&quot;,&quot;hi&quot;,&quot;hoverinfo&quot;),r(&quot;color&quot;,&quot;hbg&quot;,&quot;hoverlabel.bgcolor&quot;),r(&quot;borderColor&quot;,&quot;hbc&quot;,&quot;hoverlabel.bordercolor&quot;),r(&quot;fontFamily&quot;,&quot;htf&quot;,&quot;hoverlabel.font.family&quot;),r(&quot;fontSize&quot;,&quot;hts&quot;,&quot;hoverlabel.font.size&quot;),r(&quot;fontColor&quot;,&quot;htc&quot;,&quot;hoverlabel.font.color&quot;),r(&quot;nameLength&quot;,&quot;hnl&quot;,&quot;hoverlabel.namelength&quot;),t.posref=&quot;y&quot;===e?(t.x0+t.x1)/2:(t.y0+t.y1)/2,t.x0=f.constrain(t.x0,0,t.xa._length),t.x1=f.constrain(t.x1,0,t.xa._length),t.y0=f.constrain(t.y0,0,t.ya._length),t.y1=f.constrain(t.y1,0,t.ya._length),void 0!==t.xLabelVal&amp;&amp;(t.xLabel=&quot;xLabel&quot;in t?t.xLabel:y.hoverLabelText(t.xa,t.xLabelVal),t.xVal=t.xa.c2d(t.xLabelVal));void 0!==t.yLabelVal&amp;&amp;(t.yLabel=&quot;yLabel&quot;in t?t.yLabel:y.hoverLabelText(t.ya,t.yLabelVal),t.yVal=t.ya.c2d(t.yLabelVal));void 0!==t.zLabelVal&amp;&amp;void 0===t.zLabel&amp;&amp;(t.zLabel=String(t.zLabelVal));if(!(isNaN(t.xerr)||&quot;log&quot;===t.xa.type&amp;&amp;t.xerr&lt;=0)){var l=y.tickText(t.xa,t.xa.c2l(t.xerr),&quot;hover&quot;).text;void 0!==t.xerrneg?t.xLabel+=&quot; +&quot;+l+&quot; / -&quot;+y.tickText(t.xa,t.xa.c2l(t.xerrneg),&quot;hover&quot;).text:t.xLabel+=&quot; \xb1 &quot;+l,&quot;x&quot;===e&amp;&amp;(t.distance+=1)}if(!(isNaN(t.yerr)||&quot;log&quot;===t.ya.type&amp;&amp;t.yerr&lt;=0)){var c=y.tickText(t.ya,t.ya.c2l(t.yerr),&quot;hover&quot;).text;void 0!==t.yerrneg?t.yLabel+=&quot; +&quot;+c+&quot; / -&quot;+y.tickText(t.ya,t.ya.c2l(t.yerrneg),&quot;hover&quot;).text:t.yLabel+=&quot; \xb1 &quot;+c,&quot;y&quot;===e&amp;&amp;(t.distance+=1)}var u=t.hoverinfo||t.trace.hoverinfo;&quot;all&quot;!==u&amp;&amp;(-1===(u=Array.isArray(u)?u:u.split(&quot;+&quot;)).indexOf(&quot;x&quot;)&amp;&amp;(t.xLabel=void 0),-1===u.indexOf(&quot;y&quot;)&amp;&amp;(t.yLabel=void 0),-1===u.indexOf(&quot;z&quot;)&amp;&amp;(t.zLabel=void 0),-1===u.indexOf(&quot;text&quot;)&amp;&amp;(t.text=void 0),-1===u.indexOf(&quot;name&quot;)&amp;&amp;(t.name=void 0));return t}(it,I))}else f.log(&quot;Unrecognized trace type in hover:&quot;,j);if(&quot;closest&quot;===I&amp;&amp;Z.length&gt;Y&amp;&amp;(Z.splice(0,Y),et=Z[0].distance),_._has(&quot;cartesian&quot;)&amp;&amp;0!==X&amp;&amp;0===Z.length){G.distance=X,G.index=!1;var ot=j._module.hoverPoints(G,q,H,&quot;closest&quot;,_._hoverlayer);if(ot){var st,lt=ot.filter(function(t){return t.xa.showspikes});if(lt.length){var ct=lt[0];c(ct.x0)&amp;&amp;c(ct.y0)&amp;&amp;(st=d(ct),(!K.vLinePoint||K.vLinePoint.distance&gt;st.distance)&amp;&amp;(K.vLinePoint=st))}var ut=ot.filter(function(t){return t.ya.showspikes});if(ut.length){var ft=ut[0];c(ft.x0)&amp;&amp;c(ft.y0)&amp;&amp;(st=d(ft),(!K.hLinePoint||K.hLinePoint.distance&gt;st.distance)&amp;&amp;(K.hLinePoint=st))}}}}var ht={fullLayout:_,container:_._hoverlayer,outerContainer:_._paperdiv,event:e},dt=t._spikepoints,pt={vLinePoint:K.vLinePoint,hLinePoint:K.hLinePoint};if(t._spikepoints=pt,_._has(&quot;cartesian&quot;)&amp;&amp;0!==X&amp;&amp;0!==Z.length){var mt=u(Z.filter(function(t){return t.ya.showspikes}),X);K.hLinePoint=d(mt);var gt=u(Z.filter(function(t){return t.xa.showspikes}),X);K.vLinePoint=d(gt)}if(0===Z.length){var vt=v.unhoverRaw(t,e);return!_._has(&quot;cartesian&quot;)||null===K.hLinePoint&amp;&amp;null===K.vLinePoint||s(dt)&amp;&amp;o(K,ht),vt}_._has(&quot;cartesian&quot;)&amp;&amp;s(dt)&amp;&amp;o(K,ht),Z.sort(function(t,e){return t.distance-e.distance});var yt=t._hoverdata,xt=[];for(F=0;F&lt;Z.length;F++){var bt=Z[F];xt.push(b.makeEventData(bt,bt.trace,bt.cd))}t._hoverdata=xt;var _t=&quot;y&quot;===I&amp;&amp;J.length&gt;1,wt=i(Z,{hovermode:I,rotateLabels:_t,bgColor:g.combine(_.plot_bgcolor||g.background,_.paper_bgcolor),container:_._hoverlayer,outerContainer:_._paperdiv,commonLabelOpts:_.hoverlabel,hoverdistance:_.hoverdistance},t);if(function(t,e,r){function n(t){var e=t[0],r=t[t.length-1];if(a=e.pmin-e.pos-e.dp+e.size,o=r.pos+r.dp+r.size-e.pmax,a&gt;.01){for(l=t.length-1;l&gt;=0;l--)t[l].dp+=a;i=!1}if(!(o&lt;.01)){if(a&lt;-.01){for(l=t.length-1;l&gt;=0;l--)t[l].dp-=o;i=!1}if(i){var n=0;for(s=0;s&lt;t.length;s++)(c=t[s]).pos+c.dp+c.size&gt;e.pmax&amp;&amp;n++;for(s=t.length-1;s&gt;=0&amp;&amp;!(n&lt;=0);s--)(c=t[s]).pos&gt;e.pmax-1&amp;&amp;(c.del=!0,n--);for(s=0;s&lt;t.length&amp;&amp;!(n&lt;=0);s++)if((c=t[s]).pos&lt;e.pmin+1)for(c.del=!0,n--,o=2*c.size,l=t.length-1;l&gt;=0;l--)t[l].dp-=o;for(s=t.length-1;s&gt;=0&amp;&amp;!(n&lt;=0);s--)(c=t[s]).pos+c.dp+c.size&gt;e.pmax&amp;&amp;(c.del=!0,n--)}}}var i,a,o,s,l,c,u,f=0,h=t.map(function(t,n){var i=t[e];return[{i:n,dp:0,pos:t.pos,posref:t.posref,size:t.by*(&quot;x&quot;===i._id.charAt(0)?k:1)/2,pmin:0,pmax:&quot;x&quot;===i._id.charAt(0)?r.width:r.height}]}).sort(function(t,e){return t[0].posref-e[0].posref});for(;!i&amp;&amp;f&lt;=t.length;){for(f++,i=!0,s=0;s&lt;h.length-1;){var d=h[s],p=h[s+1],m=d[d.length-1],g=p[0];if((a=m.pos+m.dp+m.size-g.pos-g.dp+g.size)&gt;.01&amp;&amp;m.pmin===g.pmin&amp;&amp;m.pmax===g.pmax){for(l=p.length-1;l&gt;=0;l--)p[l].dp+=a;for(d.push.apply(d,p),h.splice(s+1,1),u=0,l=d.length-1;l&gt;=0;l--)u+=d[l].dp;for(o=u/d.length,l=d.length-1;l&gt;=0;l--)d[l].dp-=o;i=!1}else s++}h.forEach(n)}for(s=h.length-1;s&gt;=0;s--){var v=h[s];for(l=v.length-1;l&gt;=0;l--){var y=v[l],x=t[y.i];x.offset=y.dp,x.del=y.del}}}(Z,_t?&quot;xa&quot;:&quot;ya&quot;,_),a(wt,_t),e.target&amp;&amp;e.target.tagName){var Mt=x.getComponentMethod(&quot;annotations&quot;,&quot;hasClickToShow&quot;)(t,xt);p(l.select(e.target),Mt?&quot;pointer&quot;:&quot;&quot;)}e.target&amp;&amp;!n&amp;&amp;function(t,e,r){if(!r||r.length!==t._hoverdata.length)return!0;for(var n=r.length-1;n&gt;=0;n--){var i=r[n],a=t._hoverdata[n];if(i.curveNumber!==a.curveNumber||String(i.pointNumber)!==String(a.pointNumber))return!0}return!1}(t,0,yt)&amp;&amp;(yt&amp;&amp;t.emit(&quot;plotly_unhover&quot;,{event:e,points:yt}),t.emit(&quot;plotly_hover&quot;,{event:e,points:t._hoverdata,xaxes:S,yaxes:E,xvals:P,yvals:O}))}function i(t,e,r){var n,i,a=e.hovermode,o=e.rotateLabels,s=e.bgColor,c=e.container,u=e.outerContainer,f=e.commonLabelOpts||{},h=e.fontFamily||_.HOVERFONT,p=e.fontSize||_.HOVERFONTSIZE,v=t[0],y=v.xa,x=v.ya,b=&quot;y&quot;===a?&quot;yLabel&quot;:&quot;xLabel&quot;,M=v[b],k=(String(M)||&quot;&quot;).split(&quot; &quot;)[0],A=u.node().getBoundingClientRect(),T=A.top,L=A.width,C=A.height,z=v.distance&lt;=e.hoverdistance&amp;&amp;(&quot;x&quot;===a||&quot;y&quot;===a);for(n=0;n&lt;t.length;n++){i=t[n].hoverinfo||t[n].trace.hoverinfo;var D=Array.isArray(i)?i:i.split(&quot;+&quot;);if(-1===D.indexOf(&quot;all&quot;)&amp;&amp;-1===D.indexOf(a)){z=!1;break}}var I=c.selectAll(&quot;g.axistext&quot;).data(z?[0]:[]);I.enter().append(&quot;g&quot;).classed(&quot;axistext&quot;,!0),I.exit().remove(),I.each(function(){var e=l.select(this),n=e.selectAll(&quot;path&quot;).data([0]),i=e.selectAll(&quot;text&quot;).data([0]);n.enter().append(&quot;path&quot;).style({&quot;stroke-width&quot;:&quot;1px&quot;}),n.style({fill:f.bgcolor||g.defaultLine,stroke:f.bordercolor||g.background}),i.enter().append(&quot;text&quot;).attr(&quot;data-notex&quot;,1),i.text(M).call(m.font,f.font.family||h,f.font.size||p,f.font.color||g.background).call(d.positionText,0,0).call(d.convertToTspans,r),e.attr(&quot;transform&quot;,&quot;&quot;);var o=i.node().getBoundingClientRect();if(&quot;x&quot;===a){i.attr(&quot;text-anchor&quot;,&quot;middle&quot;).call(d.positionText,0,&quot;top&quot;===y.side?T-o.bottom-S-E:T-o.top+S+E);var s=&quot;top&quot;===y.side?&quot;-&quot;:&quot;&quot;;n.attr(&quot;d&quot;,&quot;M0,0L&quot;+S+&quot;,&quot;+s+S+&quot;H&quot;+(E+o.width/2)+&quot;v&quot;+s+(2*E+o.height)+&quot;H-&quot;+(E+o.width/2)+&quot;V&quot;+s+S+&quot;H-&quot;+S+&quot;Z&quot;),e.attr(&quot;transform&quot;,&quot;translate(&quot;+(y._offset+(v.x0+v.x1)/2)+&quot;,&quot;+(x._offset+(&quot;top&quot;===y.side?0:x._length))+&quot;)&quot;)}else{i.attr(&quot;text-anchor&quot;,&quot;right&quot;===x.side?&quot;start&quot;:&quot;end&quot;).call(d.positionText,(&quot;right&quot;===x.side?1:-1)*(E+S),T-o.top-o.height/2);var c=&quot;right&quot;===x.side?&quot;&quot;:&quot;-&quot;;n.attr(&quot;d&quot;,&quot;M0,0L&quot;+c+S+&quot;,&quot;+S+&quot;V&quot;+(E+o.height/2)+&quot;h&quot;+c+(2*E+o.width)+&quot;V-&quot;+(E+o.height/2)+&quot;H&quot;+c+S+&quot;V-&quot;+S+&quot;Z&quot;),e.attr(&quot;transform&quot;,&quot;translate(&quot;+(y._offset+(&quot;right&quot;===x.side?y._length:0))+&quot;,&quot;+(x._offset+(v.y0+v.y1)/2)+&quot;)&quot;)}t=t.filter(function(t){return void 0!==t.zLabelVal||(t[b]||&quot;&quot;).split(&quot; &quot;)[0]===k})});var P=c.selectAll(&quot;g.hovertext&quot;).data(t,function(t){return[t.trace.index,t.index,t.x0,t.y0,t.name,t.attr,t.xa,t.ya||&quot;&quot;].join(&quot;,&quot;)});return P.enter().append(&quot;g&quot;).classed(&quot;hovertext&quot;,!0).each(function(){var t=l.select(this);t.append(&quot;rect&quot;).call(g.fill,g.addOpacity(s,.8)),t.append(&quot;text&quot;).classed(&quot;name&quot;,!0),t.append(&quot;path&quot;).style(&quot;stroke-width&quot;,&quot;1px&quot;),t.append(&quot;text&quot;).classed(&quot;nums&quot;,!0).call(m.font,h,p)}),P.exit().remove(),P.each(function(t){var e=l.select(this).attr(&quot;transform&quot;,&quot;&quot;),n=&quot;&quot;,i=&quot;&quot;,c=g.opacity(t.color)?t.color:g.defaultLine,u=g.combine(c,s),f=t.borderColor||g.contrast(u);if(void 0!==t.nameOverride&amp;&amp;(t.name=t.nameOverride),t.name){n=d.plainText(t.name||&quot;&quot;);var v=Math.round(t.nameLength);v&gt;-1&amp;&amp;n.length&gt;v&amp;&amp;(n=v&gt;3?n.substr(0,v-3)+&quot;...&quot;:n.substr(0,v))}void 0!==t.extraText&amp;&amp;(i+=t.extraText),void 0!==t.zLabel?(void 0!==t.xLabel&amp;&amp;(i+=&quot;x: &quot;+t.xLabel+&quot;&lt;br&gt;&quot;),void 0!==t.yLabel&amp;&amp;(i+=&quot;y: &quot;+t.yLabel+&quot;&lt;br&gt;&quot;),i+=(i?&quot;z: &quot;:&quot;&quot;)+t.zLabel):z&amp;&amp;t[a+&quot;Label&quot;]===M?i=t[(&quot;x&quot;===a?&quot;y&quot;:&quot;x&quot;)+&quot;Label&quot;]||&quot;&quot;:void 0===t.xLabel?void 0!==t.yLabel&amp;&amp;(i=t.yLabel):i=void 0===t.yLabel?t.xLabel:&quot;(&quot;+t.xLabel+&quot;, &quot;+t.yLabel+&quot;)&quot;,t.text&amp;&amp;!Array.isArray(t.text)&amp;&amp;(i+=(i?&quot;&lt;br&gt;&quot;:&quot;&quot;)+t.text),&quot;&quot;===i&amp;&amp;(&quot;&quot;===n&amp;&amp;e.remove(),i=n);var y=e.select(&quot;text.nums&quot;).call(m.font,t.fontFamily||h,t.fontSize||p,t.fontColor||f).text(i).attr(&quot;data-notex&quot;,1).call(d.positionText,0,0).call(d.convertToTspans,r),x=e.select(&quot;text.name&quot;),b=0;n&amp;&amp;n!==i?(x.call(m.font,t.fontFamily||h,t.fontSize||p,u).text(n).attr(&quot;data-notex&quot;,1).call(d.positionText,0,0).call(d.convertToTspans,r),b=x.node().getBoundingClientRect().width+2*E):(x.remove(),e.select(&quot;rect&quot;).remove()),e.select(&quot;path&quot;).style({fill:u,stroke:f});var _,k,A=y.node().getBoundingClientRect(),D=t.xa._offset+(t.x0+t.x1)/2,I=t.ya._offset+(t.y0+t.y1)/2,P=Math.abs(t.x1-t.x0),O=Math.abs(t.y1-t.y0),F=A.width+S+E+b;t.ty0=T-A.top,t.bx=A.width+2*E,t.by=A.height+2*E,t.anchor=&quot;start&quot;,t.txwidth=A.width,t.tx2width=b,t.offset=0,o?(t.pos=D,_=I+O/2+F&lt;=C,k=I-O/2-F&gt;=0,&quot;top&quot;!==t.idealAlign&amp;&amp;_||!k?_?(I+=O/2,t.anchor=&quot;start&quot;):t.anchor=&quot;middle&quot;:(I-=O/2,t.anchor=&quot;end&quot;)):(t.pos=I,_=D+P/2+F&lt;=L,k=D-P/2-F&gt;=0,&quot;left&quot;!==t.idealAlign&amp;&amp;_||!k?_?(D+=P/2,t.anchor=&quot;start&quot;):t.anchor=&quot;middle&quot;:(D-=P/2,t.anchor=&quot;end&quot;)),y.attr(&quot;text-anchor&quot;,t.anchor),b&amp;&amp;x.attr(&quot;text-anchor&quot;,t.anchor),e.attr(&quot;transform&quot;,&quot;translate(&quot;+D+&quot;,&quot;+I+&quot;)&quot;+(o?&quot;rotate(&quot;+w+&quot;)&quot;:&quot;&quot;))}),P}function a(t,e){t.each(function(t){var r=l.select(this);if(t.del)r.remove();else{var n=&quot;end&quot;===t.anchor?-1:1,i=r.select(&quot;text.nums&quot;),a={start:1,end:-1,middle:0}[t.anchor],o=a*(S+E),s=o+a*(t.txwidth+E),c=0,u=t.offset;&quot;middle&quot;===t.anchor&amp;&amp;(o-=t.tx2width/2,s-=t.tx2width/2),e&amp;&amp;(u*=-T,c=t.offset*A),r.select(&quot;path&quot;).attr(&quot;d&quot;,&quot;middle&quot;===t.anchor?&quot;M-&quot;+t.bx/2+&quot;,-&quot;+t.by/2+&quot;h&quot;+t.bx+&quot;v&quot;+t.by+&quot;h-&quot;+t.bx+&quot;Z&quot;:&quot;M0,0L&quot;+(n*S+c)+&quot;,&quot;+(S+u)+&quot;v&quot;+(t.by/2-S)+&quot;h&quot;+n*t.bx+&quot;v-&quot;+t.by+&quot;H&quot;+(n*S+c)+&quot;V&quot;+(u-S)+&quot;Z&quot;),i.call(d.positionText,o+c,u+t.ty0-t.by/2+E),t.tx2width&amp;&amp;(r.select(&quot;text.name&quot;).call(d.positionText,s+a*E+c,u+t.ty0-t.by/2+E),r.select(&quot;rect&quot;).call(m.setRect,s+(a-1)*t.tx2width/2+c,u-t.by/2-1,t.tx2width,t.by+2))}})}function o(t,e){var r,n,i=e.container,a=e.fullLayout,o=e.event,s=!!t.hLinePoint,l=!!t.vLinePoint;if(i.selectAll(&quot;.spikeline&quot;).remove(),l||s){var c=g.combine(a.plot_bgcolor,a.paper_bgcolor);if(s){var f,h,d=t.hLinePoint;r=d&amp;&amp;d.xa;&quot;cursor&quot;===(n=d&amp;&amp;d.ya).spikesnap?(f=o.pointerX,h=o.pointerY):(f=r._offset+(d.x0+d.x1)/2,h=n._offset+(d.y0+d.y1)/2);var p,v,y=u.readability(d.color,c)&lt;1.5?g.contrast(c):d.color,x=n.spikemode,b=n.spikethickness,_=n.spikecolor||y,w=n._boundingBox,M=(w.left+w.right)/2&lt;f?w.right:w.left;-1===x.indexOf(&quot;toaxis&quot;)&amp;&amp;-1===x.indexOf(&quot;across&quot;)||(-1!==x.indexOf(&quot;toaxis&quot;)&amp;&amp;(p=M,v=f),-1!==x.indexOf(&quot;across&quot;)&amp;&amp;(p=n._counterSpan[0],v=n._counterSpan[1]),i.insert(&quot;line&quot;,&quot;:first-child&quot;).attr({x1:p,x2:v,y1:h,y2:h,&quot;stroke-width&quot;:b,stroke:_,&quot;stroke-dasharray&quot;:m.dashStyle(n.spikedash,b)}).classed(&quot;spikeline&quot;,!0).classed(&quot;crisp&quot;,!0),i.insert(&quot;line&quot;,&quot;:first-child&quot;).attr({x1:p,x2:v,y1:h,y2:h,&quot;stroke-width&quot;:b+2,stroke:c}).classed(&quot;spikeline&quot;,!0).classed(&quot;crisp&quot;,!0)),-1!==x.indexOf(&quot;marker&quot;)&amp;&amp;i.insert(&quot;circle&quot;,&quot;:first-child&quot;).attr({cx:M+(&quot;right&quot;!==n.side?b:-b),cy:h,r:b,fill:_}).classed(&quot;spikeline&quot;,!0)}if(l){var k,A,T=t.vLinePoint;r=T&amp;&amp;T.xa,n=T&amp;&amp;T.ya;&quot;cursor&quot;===r.spikesnap?(k=o.pointerX,A=o.pointerY):(k=r._offset+(T.x0+T.x1)/2,A=n._offset+(T.y0+T.y1)/2);var S,E,L=u.readability(T.color,c)&lt;1.5?g.contrast(c):T.color,C=r.spikemode,z=r.spikethickness,D=r.spikecolor||L,I=r._boundingBox,P=(I.top+I.bottom)/2&lt;A?I.bottom:I.top;-1===C.indexOf(&quot;toaxis&quot;)&amp;&amp;-1===C.indexOf(&quot;across&quot;)||(-1!==C.indexOf(&quot;toaxis&quot;)&amp;&amp;(S=P,E=A),-1!==C.indexOf(&quot;across&quot;)&amp;&amp;(S=r._counterSpan[0],E=r._counterSpan[1]),i.insert(&quot;line&quot;,&quot;:first-child&quot;).attr({x1:k,x2:k,y1:S,y2:E,&quot;stroke-width&quot;:z,stroke:D,&quot;stroke-dasharray&quot;:m.dashStyle(r.spikedash,z)}).classed(&quot;spikeline&quot;,!0).classed(&quot;crisp&quot;,!0),i.insert(&quot;line&quot;,&quot;:first-child&quot;).attr({x1:k,x2:k,y1:S,y2:E,&quot;stroke-width&quot;:z+2,stroke:c}).classed(&quot;spikeline&quot;,!0).classed(&quot;crisp&quot;,!0)),-1!==C.indexOf(&quot;marker&quot;)&amp;&amp;i.insert(&quot;circle&quot;,&quot;:first-child&quot;).attr({cx:k,cy:P-(&quot;top&quot;!==r.side?z:-z),r:z,fill:D}).classed(&quot;spikeline&quot;,!0)}}}function s(t,e){return!e||(e.vLinePoint!==t._spikepoints.vLinePoint||e.hLinePoint!==t._spikepoints.hLinePoint)}var l=t(&quot;d3&quot;),c=t(&quot;fast-isnumeric&quot;),u=t(&quot;tinycolor2&quot;),f=t(&quot;../../lib&quot;),h=t(&quot;../../lib/events&quot;),d=t(&quot;../../lib/svg_text_utils&quot;),p=t(&quot;../../lib/override_cursor&quot;),m=t(&quot;../drawing&quot;),g=t(&quot;../color&quot;),v=t(&quot;../dragelement&quot;),y=t(&quot;../../plots/cartesian/axes&quot;),x=t(&quot;../../registry&quot;),b=t(&quot;./helpers&quot;),_=t(&quot;./constants&quot;),w=_.YANGLE,M=Math.PI*w/180,k=1/Math.sin(M),A=Math.cos(M),T=Math.sin(M),S=_.HOVERARROWSIZE,E=_.HOVERTEXTPAD;r.hover=function(t,e,r,i){t=f.getGraphDiv(t),f.throttle(t._fullLayout._uid+_.HOVERID,_.HOVERMINTIME,function(){n(t,e,r,i)})},r.loneHover=function(t,e){var r={color:t.color||g.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,trace:{index:0,hoverinfo:&quot;&quot;},xa:{_offset:0},ya:{_offset:0},index:0},n=l.select(e.container),o=e.outerContainer?l.select(e.outerContainer):n,s={hovermode:&quot;closest&quot;,rotateLabels:!1,bgColor:e.bgColor||g.background,container:n,outerContainer:o,hoverdistance:_.MAXDIST},c=i([r],s,e.gd);return a(c,s.rotateLabels),c.node()}},{&quot;../../lib&quot;:743,&quot;../../lib/events&quot;:731,&quot;../../lib/override_cursor&quot;:754,&quot;../../lib/svg_text_utils&quot;:766,&quot;../../plots/cartesian/axes&quot;:789,&quot;../../registry&quot;:873,&quot;../color&quot;:618,&quot;../dragelement&quot;:640,&quot;../drawing&quot;:643,&quot;./constants&quot;:655,&quot;./helpers&quot;:657,d3:128,&quot;fast-isnumeric&quot;:140,tinycolor2:546}],659:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib&quot;);e.exports=function(t,e,r,i){r(&quot;hoverlabel.bgcolor&quot;,(i=i||{}).bgcolor),r(&quot;hoverlabel.bordercolor&quot;,i.bordercolor),r(&quot;hoverlabel.namelength&quot;,i.namelength),n.coerceFont(r,&quot;hoverlabel.font&quot;,i.font)}},{&quot;../../lib&quot;:743}],660:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;d3&quot;),i=t(&quot;../../lib&quot;),a=t(&quot;../dragelement&quot;),o=t(&quot;./helpers&quot;),s=t(&quot;./layout_attributes&quot;);e.exports={moduleType:&quot;component&quot;,name:&quot;fx&quot;,constants:t(&quot;./constants&quot;),schema:{layout:s},attributes:t(&quot;./attributes&quot;),layoutAttributes:s,supplyLayoutGlobalDefaults:t(&quot;./layout_global_defaults&quot;),supplyDefaults:t(&quot;./defaults&quot;),supplyLayoutDefaults:t(&quot;./layout_defaults&quot;),calc:t(&quot;./calc&quot;),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,&quot;hoverlabel.&quot;+r)},castHoverinfo:function(t,e,r){return i.castOption(t,r,&quot;hoverinfo&quot;,function(r){return i.coerceHoverinfo({hoverinfo:r},{_module:t._module},e)})},hover:t(&quot;./hover&quot;).hover,unhover:a.unhover,loneHover:t(&quot;./hover&quot;).loneHover,loneUnhover:function(t){var e=i.isD3Selection(t)?t:n.select(t);e.selectAll(&quot;g.hovertext&quot;).remove(),e.selectAll(&quot;.spikeline&quot;).remove()},click:t(&quot;./click&quot;)}},{&quot;../../lib&quot;:743,&quot;../dragelement&quot;:640,&quot;./attributes&quot;:652,&quot;./calc&quot;:653,&quot;./click&quot;:654,&quot;./constants&quot;:655,&quot;./defaults&quot;:656,&quot;./helpers&quot;:657,&quot;./hover&quot;:658,&quot;./layout_attributes&quot;:661,&quot;./layout_defaults&quot;:662,&quot;./layout_global_defaults&quot;:663,d3:128}],661:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;./constants&quot;),i=t(&quot;../../plots/font_attributes&quot;)({editType:&quot;none&quot;});i.family.dflt=n.HOVERFONT,i.size.dflt=n.HOVERFONTSIZE,e.exports={dragmode:{valType:&quot;enumerated&quot;,values:[&quot;zoom&quot;,&quot;pan&quot;,&quot;select&quot;,&quot;lasso&quot;,&quot;orbit&quot;,&quot;turntable&quot;],dflt:&quot;zoom&quot;,editType:&quot;modebar&quot;},hovermode:{valType:&quot;enumerated&quot;,values:[&quot;x&quot;,&quot;y&quot;,&quot;closest&quot;,!1],editType:&quot;modebar&quot;},hoverdistance:{valType:&quot;integer&quot;,min:-1,dflt:20,editType:&quot;none&quot;},spikedistance:{valType:&quot;integer&quot;,min:-1,dflt:20,editType:&quot;none&quot;},hoverlabel:{bgcolor:{valType:&quot;color&quot;,editType:&quot;none&quot;},bordercolor:{valType:&quot;color&quot;,editType:&quot;none&quot;},font:i,namelength:{valType:&quot;integer&quot;,min:-1,dflt:15,editType:&quot;none&quot;},editType:&quot;none&quot;}}},{&quot;../../plots/font_attributes&quot;:816,&quot;./constants&quot;:655}],662:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib&quot;),i=t(&quot;./layout_attributes&quot;);e.exports=function(t,e,r){function a(r,a){return n.coerce(t,e,i,r,a)}a(&quot;dragmode&quot;);var o;e._has(&quot;cartesian&quot;)?(e._isHoriz=function(t){for(var e=!0,r=0;r&lt;t.length;r++)if(&quot;h&quot;!==t[r].orientation){e=!1;break}return e}(r),o=e._isHoriz?&quot;y&quot;:&quot;x&quot;):o=&quot;closest&quot;;a(&quot;hovermode&quot;,o)&amp;&amp;(a(&quot;hoverdistance&quot;),a(&quot;spikedistance&quot;));var s=e._has(&quot;mapbox&quot;),l=e._has(&quot;geo&quot;),c=e._basePlotModules.length;&quot;zoom&quot;===e.dragmode&amp;&amp;((s||l)&amp;&amp;1===c||s&amp;&amp;l&amp;&amp;2===c)&amp;&amp;(e.dragmode=&quot;pan&quot;)}},{&quot;../../lib&quot;:743,&quot;./layout_attributes&quot;:661}],663:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib&quot;),i=t(&quot;./hoverlabel_defaults&quot;),a=t(&quot;./layout_attributes&quot;);e.exports=function(t,e){i(t,e,function(r,i){return n.coerce(t,e,a,r,i)})}},{&quot;../../lib&quot;:743,&quot;./hoverlabel_defaults&quot;:659,&quot;./layout_attributes&quot;:661}],664:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../plots/cartesian/constants&quot;);e.exports={_isLinkedToArray:&quot;image&quot;,visible:{valType:&quot;boolean&quot;,dflt:!0,editType:&quot;arraydraw&quot;},source:{valType:&quot;string&quot;,editType:&quot;arraydraw&quot;},layer:{valType:&quot;enumerated&quot;,values:[&quot;below&quot;,&quot;above&quot;],dflt:&quot;above&quot;,editType:&quot;arraydraw&quot;},sizex:{valType:&quot;number&quot;,dflt:0,editType:&quot;arraydraw&quot;},sizey:{valType:&quot;number&quot;,dflt:0,editType:&quot;arraydraw&quot;},sizing:{valType:&quot;enumerated&quot;,values:[&quot;fill&quot;,&quot;contain&quot;,&quot;stretch&quot;],dflt:&quot;contain&quot;,editType:&quot;arraydraw&quot;},opacity:{valType:&quot;number&quot;,min:0,max:1,dflt:1,editType:&quot;arraydraw&quot;},x:{valType:&quot;any&quot;,dflt:0,editType:&quot;arraydraw&quot;},y:{valType:&quot;any&quot;,dflt:0,editType:&quot;arraydraw&quot;},xanchor:{valType:&quot;enumerated&quot;,values:[&quot;left&quot;,&quot;center&quot;,&quot;right&quot;],dflt:&quot;left&quot;,editType:&quot;arraydraw&quot;},yanchor:{valType:&quot;enumerated&quot;,values:[&quot;top&quot;,&quot;middle&quot;,&quot;bottom&quot;],dflt:&quot;top&quot;,editType:&quot;arraydraw&quot;},xref:{valType:&quot;enumerated&quot;,values:[&quot;paper&quot;,n.idRegex.x.toString()],dflt:&quot;paper&quot;,editType:&quot;arraydraw&quot;},yref:{valType:&quot;enumerated&quot;,values:[&quot;paper&quot;,n.idRegex.y.toString()],dflt:&quot;paper&quot;,editType:&quot;arraydraw&quot;},editType:&quot;arraydraw&quot;}},{&quot;../../plots/cartesian/constants&quot;:794}],665:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;fast-isnumeric&quot;),i=t(&quot;../../lib/to_log_range&quot;);e.exports=function(t,e,r,a){e=e||{};var o=&quot;log&quot;===r&amp;&amp;&quot;linear&quot;===e.type,s=&quot;linear&quot;===r&amp;&amp;&quot;log&quot;===e.type;if(o||s)for(var l,c,u=t._fullLayout.images,f=e._id.charAt(0),h=0;h&lt;u.length;h++)if(l=u[h],c=&quot;images[&quot;+h+&quot;].&quot;,l[f+&quot;ref&quot;]===e._id){var d=l[f],p=l[&quot;size&quot;+f],m=null,g=null;if(o){m=i(d,e.range);var v=p/Math.pow(10,m)/2;g=2*Math.log(v+Math.sqrt(1+v*v))/Math.LN10}else g=(m=Math.pow(10,d))*(Math.pow(10,p/2)-Math.pow(10,-p/2));n(m)?n(g)||(g=null):(m=null,g=null),a(c+f,m),a(c+&quot;size&quot;+f,g)}}},{&quot;../../lib/to_log_range&quot;:768,&quot;fast-isnumeric&quot;:140}],666:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r){function n(r,n){return i.coerce(t,e,s,r,n)}if(!n(&quot;visible&quot;,!!n(&quot;source&quot;)))return e;n(&quot;layer&quot;),n(&quot;xanchor&quot;),n(&quot;yanchor&quot;),n(&quot;sizex&quot;),n(&quot;sizey&quot;),n(&quot;sizing&quot;),n(&quot;opacity&quot;);for(var o={_fullLayout:r},l=[&quot;x&quot;,&quot;y&quot;],c=0;c&lt;2;c++){var u=l[c],f=a.coerceRef(t,e,o,u,&quot;paper&quot;);a.coercePosition(e,o,n,f,u,0)}return e}var i=t(&quot;../../lib&quot;),a=t(&quot;../../plots/cartesian/axes&quot;),o=t(&quot;../../plots/array_container_defaults&quot;),s=t(&quot;./attributes&quot;);e.exports=function(t,e){o(t,e,{name:&quot;images&quot;,handleItemDefaults:n})}},{&quot;../../lib&quot;:743,&quot;../../plots/array_container_defaults&quot;:786,&quot;../../plots/cartesian/axes&quot;:789,&quot;./attributes&quot;:664}],667:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;d3&quot;),i=t(&quot;../drawing&quot;),a=t(&quot;../../plots/cartesian/axes&quot;),o=t(&quot;../../constants/xmlns_namespaces&quot;);e.exports=function(t){function e(e){var r=n.select(this);if(!this.img||this.img.src!==e.source){r.attr(&quot;xmlns&quot;,o.svg);var i=new Promise(function(t){function n(){r.remove(),t()}var i=new Image;this.img=i,i.setAttribute(&quot;crossOrigin&quot;,&quot;anonymous&quot;),i.onerror=n,i.onload=function(){var e=document.createElement(&quot;canvas&quot;);e.width=this.width,e.height=this.height;e.getContext(&quot;2d&quot;).drawImage(this,0,0);var n=e.toDataURL(&quot;image/png&quot;);r.attr(&quot;xlink:href&quot;,n),t()},r.on(&quot;error&quot;,n),i.src=e.source}.bind(this));t._promises.push(i)}}function r(e){var r=n.select(this),o=a.getFromId(t,e.xref),s=a.getFromId(t,e.yref),l=c._size,u=o?Math.abs(o.l2p(e.sizex)-o.l2p(0)):e.sizex*l.w,f=s?Math.abs(s.l2p(e.sizey)-s.l2p(0)):e.sizey*l.h,h=u*m.x[e.xanchor].offset,d=f*m.y[e.yanchor].offset,p=m.x[e.xanchor].sizing+m.y[e.yanchor].sizing,g=(o?o.r2p(e.x)+o._offset:e.x*l.w+l.l)+h,v=(s?s.r2p(e.y)+s._offset:l.h-e.y*l.h+l.t)+d;switch(e.sizing){case&quot;fill&quot;:p+=&quot; slice&quot;;break;case&quot;stretch&quot;:p=&quot;none&quot;}r.attr({x:g,y:v,width:u,height:f,preserveAspectRatio:p,opacity:e.opacity});var y=(o?o._id:&quot;&quot;)+(s?s._id:&quot;&quot;);r.call(i.setClipUrl,y?&quot;clip&quot;+c._uid+y:null)}var s,l,c=t._fullLayout,u=[],f={},h=[];for(l=0;l&lt;c.images.length;l++){var d=c.images[l];if(d.visible)if(&quot;below&quot;===d.layer&amp;&amp;&quot;paper&quot;!==d.xref&amp;&amp;&quot;paper&quot;!==d.yref){s=d.xref+d.yref;var p=c._plots[s];if(!p){h.push(d);continue}p.mainplot&amp;&amp;(s=p.mainplot.id),f[s]||(f[s]=[]),f[s].push(d)}else&quot;above&quot;===d.layer?u.push(d):h.push(d)}var m={x:{left:{sizing:&quot;xMin&quot;,offset:0},center:{sizing:&quot;xMid&quot;,offset:-.5},right:{sizing:&quot;xMax&quot;,offset:-1}},y:{top:{sizing:&quot;YMin&quot;,offset:0},middle:{sizing:&quot;YMid&quot;,offset:-.5},bottom:{sizing:&quot;YMax&quot;,offset:-1}}},g=c._imageLowerLayer.selectAll(&quot;image&quot;).data(h),v=c._imageUpperLayer.selectAll(&quot;image&quot;).data(u);g.enter().append(&quot;image&quot;),v.enter().append(&quot;image&quot;),g.exit().remove(),v.exit().remove(),g.each(function(t){e.bind(this)(t),r.bind(this)(t)}),v.each(function(t){e.bind(this)(t),r.bind(this)(t)});var y=Object.keys(c._plots);for(l=0;l&lt;y.length;l++){s=y[l];var x=c._plots[s];if(x.imagelayer){var b=x.imagelayer.selectAll(&quot;image&quot;).data(f[s]||[]);b.enter().append(&quot;image&quot;),b.exit().remove(),b.each(function(t){e.bind(this)(t),r.bind(this)(t)})}}}},{&quot;../../constants/xmlns_namespaces&quot;:723,&quot;../../plots/cartesian/axes&quot;:789,&quot;../drawing&quot;:643,d3:128}],668:[function(t,e,r){&quot;use strict&quot;;e.exports={moduleType:&quot;component&quot;,name:&quot;images&quot;,layoutAttributes:t(&quot;./attributes&quot;),supplyLayoutDefaults:t(&quot;./defaults&quot;),includeBasePlot:t(&quot;../../plots/cartesian/include_components&quot;)(&quot;images&quot;),draw:t(&quot;./draw&quot;),convertCoords:t(&quot;./convert_coords&quot;)}},{&quot;../../plots/cartesian/include_components&quot;:799,&quot;./attributes&quot;:664,&quot;./convert_coords&quot;:665,&quot;./defaults&quot;:666,&quot;./draw&quot;:667}],669:[function(t,e,r){&quot;use strict&quot;;r.isRightAnchor=function(t){return&quot;right&quot;===t.xanchor||&quot;auto&quot;===t.xanchor&amp;&amp;t.x&gt;=2/3},r.isCenterAnchor=function(t){return&quot;center&quot;===t.xanchor||&quot;auto&quot;===t.xanchor&amp;&amp;t.x&gt;1/3&amp;&amp;t.x&lt;2/3},r.isBottomAnchor=function(t){return&quot;bottom&quot;===t.yanchor||&quot;auto&quot;===t.yanchor&amp;&amp;t.y&lt;=1/3},r.isMiddleAnchor=function(t){return&quot;middle&quot;===t.yanchor||&quot;auto&quot;===t.yanchor&amp;&amp;t.y&gt;1/3&amp;&amp;t.y&lt;2/3}},{}],670:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../plots/font_attributes&quot;),i=t(&quot;../color/attributes&quot;);e.exports={bgcolor:{valType:&quot;color&quot;,editType:&quot;legend&quot;},bordercolor:{valType:&quot;color&quot;,dflt:i.defaultLine,editType:&quot;legend&quot;},borderwidth:{valType:&quot;number&quot;,min:0,dflt:0,editType:&quot;legend&quot;},font:n({editType:&quot;legend&quot;}),orientation:{valType:&quot;enumerated&quot;,values:[&quot;v&quot;,&quot;h&quot;],dflt:&quot;v&quot;,editType:&quot;legend&quot;},traceorder:{valType:&quot;flaglist&quot;,flags:[&quot;reversed&quot;,&quot;grouped&quot;],extras:[&quot;normal&quot;],editType:&quot;legend&quot;},tracegroupgap:{valType:&quot;number&quot;,min:0,dflt:10,editType:&quot;legend&quot;},x:{valType:&quot;number&quot;,min:-2,max:3,dflt:1.02,editType:&quot;legend&quot;},xanchor:{valType:&quot;enumerated&quot;,values:[&quot;auto&quot;,&quot;left&quot;,&quot;center&quot;,&quot;right&quot;],dflt:&quot;left&quot;,editType:&quot;legend&quot;},y:{valType:&quot;number&quot;,min:-2,max:3,dflt:1,editType:&quot;legend&quot;},yanchor:{valType:&quot;enumerated&quot;,values:[&quot;auto&quot;,&quot;top&quot;,&quot;middle&quot;,&quot;bottom&quot;],dflt:&quot;auto&quot;,editType:&quot;legend&quot;},editType:&quot;legend&quot;}},{&quot;../../plots/font_attributes&quot;:816,&quot;../color/attributes&quot;:617}],671:[function(t,e,r){&quot;use strict&quot;;e.exports={scrollBarWidth:4,scrollBarHeight:20,scrollBarColor:&quot;#808BA4&quot;,scrollBarMargin:4}},{}],672:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../registry&quot;),i=t(&quot;../../lib&quot;),a=t(&quot;./attributes&quot;),o=t(&quot;../../plots/layout_attributes&quot;),s=t(&quot;./helpers&quot;);e.exports=function(t,e,r){function l(t,e){return i.coerce(d,p,a,t,e)}for(var c,u,f,h,d=t.legend||{},p=e.legend={},m=0,g=&quot;normal&quot;,v=0;v&lt;r.length;v++){var y=r[v];s.legendGetsTrace(y)&amp;&amp;(m++,n.traceIs(y,&quot;pie&quot;)&amp;&amp;m++),(n.traceIs(y,&quot;bar&quot;)&amp;&amp;&quot;stack&quot;===e.barmode||-1!==[&quot;tonextx&quot;,&quot;tonexty&quot;].indexOf(y.fill))&amp;&amp;(g=s.isGrouped({traceorder:g})?&quot;grouped+reversed&quot;:&quot;reversed&quot;),void 0!==y.legendgroup&amp;&amp;&quot;&quot;!==y.legendgroup&amp;&amp;(g=s.isReversed({traceorder:g})?&quot;reversed+grouped&quot;:&quot;grouped&quot;)}if(!1!==i.coerce(t,e,o,&quot;showlegend&quot;,m&gt;1)){if(l(&quot;bgcolor&quot;,e.paper_bgcolor),l(&quot;bordercolor&quot;),l(&quot;borderwidth&quot;),i.coerceFont(l,&quot;font&quot;,e.font),l(&quot;orientation&quot;),&quot;h&quot;===p.orientation){var x=t.xaxis;x&amp;&amp;x.rangeslider&amp;&amp;x.rangeslider.visible?(c=0,f=&quot;left&quot;,u=1.1,h=&quot;bottom&quot;):(c=0,f=&quot;left&quot;,u=-.1,h=&quot;top&quot;)}l(&quot;traceorder&quot;,g),s.isGrouped(e.legend)&amp;&amp;l(&quot;tracegroupgap&quot;),l(&quot;x&quot;,c),l(&quot;xanchor&quot;,f),l(&quot;y&quot;,u),l(&quot;yanchor&quot;,h),i.noneOrAll(d,p,[&quot;x&quot;,&quot;y&quot;])}}},{&quot;../../lib&quot;:743,&quot;../../plots/layout_attributes&quot;:843,&quot;../../registry&quot;:873,&quot;./attributes&quot;:670,&quot;./helpers&quot;:676}],673:[function(t,e,r){&quot;use strict&quot;;function n(t,e){function r(r){m.convertToTspans(r,e,function(){!function(t,e){var r=t.data()[0][0];if(!r.trace.showlegend)return void t.remove();var n,i,a=t.select(&quot;g[class*=math-group]&quot;),o=a.node(),s=e._fullLayout.legend.font.size*x;if(o){var l=d.bBox(o);n=l.height,i=l.width,d.setTranslate(a,0,n/4)}else{var c=t.select(&quot;.legendtext&quot;),u=m.lineCount(c),f=c.node();n=s*u,i=f?d.bBox(f).width:0;var h=s*(.3+(1-u)/2);m.positionText(c,40,h)}n=Math.max(n,16)+3,r.height=n,r.width=i}(t,e)})}var n=t.data()[0][0],i=e._fullLayout,a=n.trace,o=f.traceIs(a,&quot;pie&quot;),s=a.index,u=o?n.label:a.name,h=t.selectAll(&quot;text.legendtext&quot;).data([0]);h.enter().append(&quot;text&quot;).classed(&quot;legendtext&quot;,!0),h.attr(&quot;text-anchor&quot;,&quot;start&quot;).classed(&quot;user-select-none&quot;,!0).call(d.font,i.legend.font).text(u),e._context.edits.legendText&amp;&amp;!o?h.call(m.makeEditable,{gd:e}).call(r).on(&quot;edit&quot;,function(t){this.text(t).call(r);var i=t;this.text()||(t=&quot;    &quot;);var a,o=n.trace._fullInput||{},u={};if(-1!==[&quot;ohlc&quot;,&quot;candlestick&quot;].indexOf(o.type))u[(a=n.trace.transforms)[a.length-1].direction+&quot;.name&quot;]=t;else if(f.hasTransform(o,&quot;groupby&quot;)){var h=f.getTransformIndices(o,&quot;groupby&quot;),d=h[h.length-1],p=c.keyedContainer(o,&quot;transforms[&quot;+d+&quot;].styles&quot;,&quot;target&quot;,&quot;value.name&quot;);&quot;&quot;===i?p.remove(n.trace._group):p.set(n.trace._group,t),u=p.constructUpdate()}else u.name=t;return l.restyle(e,u,s)}):h.call(r)}function i(t,e){var r,n=1,i=t.selectAll(&quot;rect&quot;).data([0]);i.enter().append(&quot;rect&quot;).classed(&quot;legendtoggle&quot;,!0).style(&quot;cursor&quot;,&quot;pointer&quot;).attr(&quot;pointer-events&quot;,&quot;all&quot;).call(p.fill,&quot;rgba(0,0,0,0)&quot;),i.on(&quot;mousedown&quot;,function(){(r=(new Date).getTime())-e._legendMouseDownTime&lt;k?n+=1:(n=1,e._legendMouseDownTime=r)}),i.on(&quot;mouseup&quot;,function(){if(!e._dragged&amp;&amp;!e._editing){var r=e._fullLayout.legend;(new Date).getTime()-e._legendMouseDownTime&gt;k&amp;&amp;(n=Math.max(n-1,1)),1===n?r._clickTimeout=setTimeout(function(){g(t,e,n)},k):2===n&amp;&amp;(r._clickTimeout&amp;&amp;clearTimeout(r._clickTimeout),e._legendMouseDownTime=0,g(t,e,n))}})}function a(t,e,r){var n=t._fullLayout,i=n.legend,a=i.borderwidth,o=w.isGrouped(i),l=0;if(i.width=0,i.height=0,w.isVertical(i))o&amp;&amp;e.each(function(t,e){d.setTranslate(this,0,e*i.tracegroupgap)}),r.each(function(t){var e=t[0],r=e.height,n=e.width;d.setTranslate(this,a,5+a+i.height+r/2),i.height+=r,i.width=Math.max(i.width,n)}),i.width+=45+2*a,i.height+=10+2*a,o&amp;&amp;(i.height+=(i._lgroupsLength-1)*i.tracegroupgap),l=40;else if(o){for(var c=[i.width],u=e.data(),f=0,h=u.length;f&lt;h;f++){var p=u[f].map(function(t){return t[0].width}),m=40+Math.max.apply(null,p);i.width+=i.tracegroupgap+m,c.push(i.width)}e.each(function(t,e){d.setTranslate(this,c[e],0)}),e.each(function(){var t=0;s.select(this).selectAll(&quot;g.traces&quot;).each(function(e){var r=e[0].height;d.setTranslate(this,0,5+a+t+r/2),t+=r}),i.height=Math.max(i.height,t)}),i.height+=10+2*a,i.width+=2*a}else{var g,v=0,y=0,x=0,b=0,_=0,M=i.tracegroupgap||5;r.each(function(t){x=Math.max(40+t[0].width,x),_+=40+t[0].width+M}),g=n.width-(n.margin.r+n.margin.l)&gt;a+_-M,r.each(function(t){var e=t[0],r=g?40+t[0].width:x;a+b+M+r&gt;n.width-(n.margin.r+n.margin.l)&amp;&amp;(b=0,v+=y,i.height=i.height+y,y=0),d.setTranslate(this,a+b,5+a+e.height/2+v),i.width+=M+r,i.height=Math.max(i.height,e.height),b+=M+r,y=Math.max(e.height,y)}),i.width+=2*a,i.height+=10+2*a}i.width=Math.ceil(i.width),i.height=Math.ceil(i.height),r.each(function(e){var r=e[0];s.select(this).select(&quot;.legendtoggle&quot;).call(d.setRect,0,-r.height/2,(t._context.edits.legendText?0:i.width)+l,r.height)})}function o(t){var e=t._fullLayout.legend,r=&quot;left&quot;;M.isRightAnchor(e)?r=&quot;right&quot;:M.isCenterAnchor(e)&amp;&amp;(r=&quot;center&quot;);var n=&quot;top&quot;;M.isBottomAnchor(e)?n=&quot;bottom&quot;:M.isMiddleAnchor(e)&amp;&amp;(n=&quot;middle&quot;),u.autoMargin(t,&quot;legend&quot;,{x:e.x,y:e.y,l:e.width*({right:1,center:.5}[r]||0),r:e.width*({left:1,center:.5}[r]||0),b:e.height*({top:1,middle:.5}[n]||0),t:e.height*({bottom:1,middle:.5}[n]||0)})}var s=t(&quot;d3&quot;),l=t(&quot;../../plotly&quot;),c=t(&quot;../../lib&quot;),u=t(&quot;../../plots/plots&quot;),f=t(&quot;../../registry&quot;),h=t(&quot;../dragelement&quot;),d=t(&quot;../drawing&quot;),p=t(&quot;../color&quot;),m=t(&quot;../../lib/svg_text_utils&quot;),g=t(&quot;./handle_click&quot;),v=t(&quot;./constants&quot;),y=t(&quot;../../constants/interactions&quot;),x=t(&quot;../../constants/alignment&quot;).LINE_SPACING,b=t(&quot;./get_legend_data&quot;),_=t(&quot;./style&quot;),w=t(&quot;./helpers&quot;),M=t(&quot;./anchor_utils&quot;),k=y.DBLCLICKDELAY;e.exports=function(t){function e(t,e){E.attr(&quot;data-scroll&quot;,e).call(d.setTranslate,0,e),L.call(d.setRect,N,t,v.scrollBarWidth,v.scrollBarHeight),T.select(&quot;rect&quot;).attr({y:y.borderwidth-e})}var r=t._fullLayout,m=&quot;legend&quot;+r._uid;if(r._infolayer&amp;&amp;t.calcdata){t._legendMouseDownTime||(t._legendMouseDownTime=0);var y=r.legend,x=r.showlegend&amp;&amp;b(t.calcdata,y),w=r.hiddenlabels||[];if(!r.showlegend||!x.length)return r._infolayer.selectAll(&quot;.legend&quot;).remove(),r._topdefs.select(&quot;#&quot;+m).remove(),void u.autoMargin(t,&quot;legend&quot;);var A=r._infolayer.selectAll(&quot;g.legend&quot;).data([0]);A.enter().append(&quot;g&quot;).attr({class:&quot;legend&quot;,&quot;pointer-events&quot;:&quot;all&quot;});var T=r._topdefs.selectAll(&quot;#&quot;+m).data([0]);T.enter().append(&quot;clipPath&quot;).attr(&quot;id&quot;,m).append(&quot;rect&quot;);var S=A.selectAll(&quot;rect.bg&quot;).data([0]);S.enter().append(&quot;rect&quot;).attr({class:&quot;bg&quot;,&quot;shape-rendering&quot;:&quot;crispEdges&quot;}),S.call(p.stroke,y.bordercolor),S.call(p.fill,y.bgcolor),S.style(&quot;stroke-width&quot;,y.borderwidth+&quot;px&quot;);var E=A.selectAll(&quot;g.scrollbox&quot;).data([0]);E.enter().append(&quot;g&quot;).attr(&quot;class&quot;,&quot;scrollbox&quot;);var L=A.selectAll(&quot;rect.scrollbar&quot;).data([0]);L.enter().append(&quot;rect&quot;).attr({class:&quot;scrollbar&quot;,rx:20,ry:2,width:0,height:0}).call(p.fill,&quot;#808BA4&quot;);var C=E.selectAll(&quot;g.groups&quot;).data(x);C.enter().append(&quot;g&quot;).attr(&quot;class&quot;,&quot;groups&quot;),C.exit().remove();var z=C.selectAll(&quot;g.traces&quot;).data(c.identity);z.enter().append(&quot;g&quot;).attr(&quot;class&quot;,&quot;traces&quot;),z.exit().remove(),z.call(_,t).style(&quot;opacity&quot;,function(t){var e=t[0].trace;return f.traceIs(e,&quot;pie&quot;)?-1!==w.indexOf(t[0].label)?.5:1:&quot;legendonly&quot;===e.visible?.5:1}).each(function(){s.select(this).call(n,t).call(i,t)});var D=0!==A.enter().size();D&amp;&amp;(a(t,C,z),o(t));var I=r.width,P=r.height;a(t,C,z),y.height&gt;P?function(t){var e=t._fullLayout.legend,r=&quot;left&quot;;M.isRightAnchor(e)?r=&quot;right&quot;:M.isCenterAnchor(e)&amp;&amp;(r=&quot;center&quot;),u.autoMargin(t,&quot;legend&quot;,{x:e.x,y:.5,l:e.width*({right:1,center:.5}[r]||0),r:e.width*({left:1,center:.5}[r]||0),b:0,t:0})}(t):o(t);var O=r._size,F=O.l+O.w*y.x,R=O.t+O.h*(1-y.y);M.isRightAnchor(y)?F-=y.width:M.isCenterAnchor(y)&amp;&amp;(F-=y.width/2),M.isBottomAnchor(y)?R-=y.height:M.isMiddleAnchor(y)&amp;&amp;(R-=y.height/2);var N=y.width,j=O.w;N&gt;j?(F=O.l,N=j):(F+N&gt;I&amp;&amp;(F=I-N),F&lt;0&amp;&amp;(F=0),N=Math.min(I-F,y.width));var B=y.height,U=O.h;B&gt;U?(R=O.t,B=U):(R+B&gt;P&amp;&amp;(R=P-B),R&lt;0&amp;&amp;(R=0),B=Math.min(P-R,y.height)),d.setTranslate(A,F,R);var V,q,H=B-v.scrollBarHeight-2*v.scrollBarMargin,G=y.height-B;if(y.height&lt;=B||t._context.staticPlot)S.attr({width:N-y.borderwidth,height:B-y.borderwidth,x:y.borderwidth/2,y:y.borderwidth/2}),d.setTranslate(E,0,0),T.select(&quot;rect&quot;).attr({width:N-2*y.borderwidth,height:B-2*y.borderwidth,x:y.borderwidth,y:y.borderwidth}),E.call(d.setClipUrl,m);else{V=v.scrollBarMargin,q=E.attr(&quot;data-scroll&quot;)||0,S.attr({width:N-2*y.borderwidth+v.scrollBarWidth+v.scrollBarMargin,height:B-y.borderwidth,x:y.borderwidth/2,y:y.borderwidth/2}),T.select(&quot;rect&quot;).attr({width:N-2*y.borderwidth+v.scrollBarWidth+v.scrollBarMargin,height:B-2*y.borderwidth,x:y.borderwidth,y:y.borderwidth-q}),E.call(d.setClipUrl,m),D&amp;&amp;e(V,q),A.on(&quot;wheel&quot;,null),A.on(&quot;wheel&quot;,function(){q=c.constrain(E.attr(&quot;data-scroll&quot;)-s.event.deltaY/H*G,-G,0),e(V=v.scrollBarMargin-q/G*H,q),0!==q&amp;&amp;q!==-G&amp;&amp;s.event.preventDefault()}),L.on(&quot;.drag&quot;,null),E.on(&quot;.drag&quot;,null);var Y=s.behavior.drag().on(&quot;drag&quot;,function(){V=c.constrain(s.event.y-v.scrollBarHeight/2,v.scrollBarMargin,v.scrollBarMargin+H),q=-(V-v.scrollBarMargin)/H*G,e(V,q)});L.call(Y),E.call(Y)}if(t._context.edits.legendPosition){var W,X,Z,J;A.classed(&quot;cursor-move&quot;,!0),h.init({element:A.node(),gd:t,prepFn:function(){var t=d.getTranslate(A);Z=t.x,J=t.y},moveFn:function(t,e){var r=Z+t,n=J+e;d.setTranslate(A,r,n),W=h.align(r,0,O.l,O.l+O.w,y.xanchor),X=h.align(n,0,O.t+O.h,O.t,y.yanchor)},doneFn:function(){void 0!==W&amp;&amp;void 0!==X&amp;&amp;l.relayout(t,{&quot;legend.x&quot;:W,&quot;legend.y&quot;:X})},clickFn:function(e,n){var i=r._infolayer.selectAll(&quot;g.traces&quot;).filter(function(){var t=this.getBoundingClientRect();return n.clientX&gt;=t.left&amp;&amp;n.clientX&lt;=t.right&amp;&amp;n.clientY&gt;=t.top&amp;&amp;n.clientY&lt;=t.bottom});i.size()&gt;0&amp;&amp;(1===e?A._clickTimeout=setTimeout(function(){g(i,t,e)},k):2===e&amp;&amp;(A._clickTimeout&amp;&amp;clearTimeout(A._clickTimeout),g(i,t,e)))}})}}}},{&quot;../../constants/alignment&quot;:716,&quot;../../constants/interactions&quot;:720,&quot;../../lib&quot;:743,&quot;../../lib/svg_text_utils&quot;:766,&quot;../../plotly&quot;:784,&quot;../../plots/plots&quot;:852,&quot;../../registry&quot;:873,&quot;../color&quot;:618,&quot;../dragelement&quot;:640,&quot;../drawing&quot;:643,&quot;./anchor_utils&quot;:669,&quot;./constants&quot;:671,&quot;./get_legend_data&quot;:674,&quot;./handle_click&quot;:675,&quot;./helpers&quot;:676,&quot;./style&quot;:678,d3:128}],674:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../registry&quot;),i=t(&quot;./helpers&quot;);e.exports=function(t,e){function r(t,r){if(&quot;&quot;!==t&amp;&amp;i.isGrouped(e))-1===l.indexOf(t)?(l.push(t),c=!0,s[t]=[[r]]):s[t].push([r]);else{var n=&quot;~~i&quot;+f;l.push(n),s[n]=[[r]],f++}}var a,o,s={},l=[],c=!1,u={},f=0;for(a=0;a&lt;t.length;a++){var h=t[a],d=h[0],p=d.trace,m=p.legendgroup;if(i.legendGetsTrace(p)&amp;&amp;p.showlegend)if(n.traceIs(p,&quot;pie&quot;))for(u[m]||(u[m]={}),o=0;o&lt;h.length;o++){var g=h[o].label;u[m][g]||(r(m,{label:g,color:h[o].color,i:h[o].i,trace:p}),u[m][g]=!0)}else r(m,d)}if(!l.length)return[];var v,y,x=l.length;if(c&amp;&amp;i.isGrouped(e))for(y=new Array(x),a=0;a&lt;x;a++)v=s[l[a]],y[a]=i.isReversed(e)?v.reverse():v;else{for(y=[new Array(x)],a=0;a&lt;x;a++)v=s[l[a]][0],y[0][i.isReversed(e)?x-a-1:a]=v;x=1}return e._lgroupsLength=x,y}},{&quot;../../registry&quot;:873,&quot;./helpers&quot;:676}],675:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../plotly&quot;),i=t(&quot;../../lib&quot;),a=t(&quot;../../registry&quot;),o=!0;e.exports=function(t,e,r){function s(t,e,r){var n=b.indexOf(t),i=x[e];return i||(i=x[e]=[]),-1===b.indexOf(t)&amp;&amp;(b.push(t),n=b.length-1),i[n]=r,n}function l(t,e){var r=t._fullInput;if(a.hasTransform(r,&quot;groupby&quot;)){var n=_[r.index];if(!n){var o=a.getTransformIndices(r,&quot;groupby&quot;),l=o[o.length-1];n=i.keyedContainer(r,&quot;transforms[&quot;+l+&quot;].styles&quot;,&quot;target&quot;,&quot;value.visible&quot;),_[r.index]=n}var c=n.get(t._group);void 0===c&amp;&amp;(c=!0),!1!==c&amp;&amp;n.set(t._group,e),w[r.index]=s(r.index,&quot;visible&quot;,!1!==r.visible)}else{var u=!1!==r.visible&amp;&amp;e;s(r.index,&quot;visible&quot;,u)}}if(!e._dragged&amp;&amp;!e._editing){var c,u,f,h,d,p=e._fullLayout.hiddenlabels?e._fullLayout.hiddenlabels.slice():[],m=t.data()[0][0],g=e._fullData,v=m.trace,y=v.legendgroup,x={},b=[],_=[],w=[];if(1===r&amp;&amp;o&amp;&amp;e.data&amp;&amp;e._context.showTips?(i.notifier(i._(e,&quot;Double-click on legend to isolate one trace&quot;),&quot;long&quot;),o=!1):o=!1,a.traceIs(v,&quot;pie&quot;)){var M=m.label,k=p.indexOf(M);1===r?-1===k?p.push(M):p.splice(k,1):2===r&amp;&amp;(p=[],e.calcdata[0].forEach(function(t){M!==t.label&amp;&amp;p.push(t.label)}),e._fullLayout.hiddenlabels&amp;&amp;e._fullLayout.hiddenlabels.length===p.length&amp;&amp;-1===k&amp;&amp;(p=[])),n.relayout(e,&quot;hiddenlabels&quot;,p)}else{var A,T=y&amp;&amp;y.length,S=[];if(T)for(c=0;c&lt;g.length;c++)(A=g[c]).visible&amp;&amp;A.legendgroup===y&amp;&amp;S.push(c);if(1===r){var E;switch(v.visible){case!0:E=&quot;legendonly&quot;;break;case!1:E=!1;break;case&quot;legendonly&quot;:E=!0}if(T)for(c=0;c&lt;g.length;c++)!1!==g[c].visible&amp;&amp;g[c].legendgroup===y&amp;&amp;l(g[c],E);else l(v,E)}else if(2===r){var L,C,z=!0;for(c=0;c&lt;g.length;c++)if(!(g[c]===v)&amp;&amp;!(L=T&amp;&amp;g[c].legendgroup===y)&amp;&amp;!0===g[c].visible&amp;&amp;!a.traceIs(g[c],&quot;notLegendIsolatable&quot;)){z=!1;break}for(c=0;c&lt;g.length;c++)if(!1!==g[c].visible&amp;&amp;!a.traceIs(g[c],&quot;notLegendIsolatable&quot;))switch(v.visible){case&quot;legendonly&quot;:l(g[c],!0);break;case!0:C=!!z||&quot;legendonly&quot;,L=g[c]===v||T&amp;&amp;g[c].legendgroup===y,l(g[c],!!L||C)}}for(c=0;c&lt;_.length;c++)if(f=_[c]){var D=f.constructUpdate(),I=Object.keys(D);for(u=0;u&lt;I.length;u++)h=I[u],(x[h]=x[h]||[])[w[c]]=D[h]}for(d=Object.keys(x),c=0;c&lt;d.length;c++)for(h=d[c],u=0;u&lt;b.length;u++)x[h].hasOwnProperty(u)||(x[h][u]=void 0);n.restyle(e,x,b)}}}},{&quot;../../lib&quot;:743,&quot;../../plotly&quot;:784,&quot;../../registry&quot;:873}],676:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../registry&quot;);r.legendGetsTrace=function(t){return t.visible&amp;&amp;n.traceIs(t,&quot;showLegend&quot;)},r.isGrouped=function(t){return-1!==(t.traceorder||&quot;&quot;).indexOf(&quot;grouped&quot;)},r.isVertical=function(t){return&quot;h&quot;!==t.orientation},r.isReversed=function(t){return-1!==(t.traceorder||&quot;&quot;).indexOf(&quot;reversed&quot;)}},{&quot;../../registry&quot;:873}],677:[function(t,e,r){&quot;use strict&quot;;e.exports={moduleType:&quot;component&quot;,name:&quot;legend&quot;,layoutAttributes:t(&quot;./attributes&quot;),supplyLayoutDefaults:t(&quot;./defaults&quot;),draw:t(&quot;./draw&quot;),style:t(&quot;./style&quot;)}},{&quot;./attributes&quot;:670,&quot;./defaults&quot;:672,&quot;./draw&quot;:673,&quot;./style&quot;:678}],678:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;d3&quot;),i=t(&quot;../../registry&quot;),a=t(&quot;../../lib&quot;),o=t(&quot;../drawing&quot;),s=t(&quot;../color&quot;),l=t(&quot;../../traces/scatter/subtypes&quot;),c=t(&quot;../../traces/pie/style_one&quot;);e.exports=function(t,e){t.each(function(t){var e=n.select(this).selectAll(&quot;g.layers&quot;).data([0]);e.enter().append(&quot;g&quot;).classed(&quot;layers&quot;,!0),e.style(&quot;opacity&quot;,t[0].trace.opacity);e.selectAll(&quot;g.legendfill&quot;).data([t]).enter().append(&quot;g&quot;).classed(&quot;legendfill&quot;,!0);e.selectAll(&quot;g.legendlines&quot;).data([t]).enter().append(&quot;g&quot;).classed(&quot;legendlines&quot;,!0);var r=e.selectAll(&quot;g.legendsymbols&quot;).data([t]);r.enter().append(&quot;g&quot;).classed(&quot;legendsymbols&quot;,!0),r.selectAll(&quot;g.legendpoints&quot;).data([t]).enter().append(&quot;g&quot;).classed(&quot;legendpoints&quot;,!0)}).each(function(t){var e=t[0].trace,r=e.marker||{},a=r.line||{},o=n.select(this).select(&quot;g.legendpoints&quot;).selectAll(&quot;path.legendbar&quot;).data(i.traceIs(e,&quot;bar&quot;)?[t]:[]);o.enter().append(&quot;path&quot;).classed(&quot;legendbar&quot;,!0).attr(&quot;d&quot;,&quot;M6,6H-6V-6H6Z&quot;).attr(&quot;transform&quot;,&quot;translate(20,0)&quot;),o.exit().remove(),o.each(function(t){var e=n.select(this),i=t[0],o=(i.mlw+1||a.width+1)-1;e.style(&quot;stroke-width&quot;,o+&quot;px&quot;).call(s.fill,i.mc||r.color),o&amp;&amp;e.call(s.stroke,i.mlc||a.color)})}).each(function(t){var e=t[0].trace,r=n.select(this).select(&quot;g.legendpoints&quot;).selectAll(&quot;path.legendbox&quot;).data(i.traceIs(e,&quot;box-violin&quot;)&amp;&amp;e.visible?[t]:[]);r.enter().append(&quot;path&quot;).classed(&quot;legendbox&quot;,!0).attr(&quot;d&quot;,&quot;M6,6H-6V-6H6Z&quot;).attr(&quot;transform&quot;,&quot;translate(20,0)&quot;),r.exit().remove(),r.each(function(){var t=e.line.width,r=n.select(this);r.style(&quot;stroke-width&quot;,t+&quot;px&quot;).call(s.fill,e.fillcolor),t&amp;&amp;r.call(s.stroke,e.line.color)})}).each(function(t){var e=t[0].trace,r=n.select(this).select(&quot;g.legendpoints&quot;).selectAll(&quot;path.legendpie&quot;).data(i.traceIs(e,&quot;pie&quot;)&amp;&amp;e.visible?[t]:[]);r.enter().append(&quot;path&quot;).classed(&quot;legendpie&quot;,!0).attr(&quot;d&quot;,&quot;M6,6H-6V-6H6Z&quot;).attr(&quot;transform&quot;,&quot;translate(20,0)&quot;),r.exit().remove(),r.size()&amp;&amp;r.call(c,t[0],e)}).each(function(t){var e=t[0].trace,r=e.visible&amp;&amp;e.fill&amp;&amp;&quot;none&quot;!==e.fill,i=l.hasLines(e);e&amp;&amp;e._module&amp;&amp;&quot;contourcarpet&quot;===e._module.name&amp;&amp;(i=e.contours.showlines,r=&quot;fill&quot;===e.contours.coloring);var a=n.select(this).select(&quot;.legendfill&quot;).selectAll(&quot;path&quot;).data(r?[t]:[]);a.enter().append(&quot;path&quot;).classed(&quot;js-fill&quot;,!0),a.exit().remove(),a.attr(&quot;d&quot;,&quot;M5,0h30v6h-30z&quot;).call(o.fillGroupStyle);var s=n.select(this).select(&quot;.legendlines&quot;).selectAll(&quot;path&quot;).data(i?[t]:[]);s.enter().append(&quot;path&quot;).classed(&quot;js-line&quot;,!0).attr(&quot;d&quot;,&quot;M5,0h30&quot;),s.exit().remove(),s.call(o.lineGroupStyle)}).each(function(t){function r(t,e,r){var n=a.nestedProperty(f,t).get(),i=Array.isArray(n)&amp;&amp;e?e(n):n;if(r){if(i&lt;r[0])return r[0];if(i&gt;r[1])return r[1]}return i}function i(t){return t[0]}var s,c,u=t[0],f=u.trace,h=l.hasMarkers(f),d=l.hasText(f),p=l.hasLines(f);if(h||d||p){var m={},g={};h&amp;&amp;(m.mc=r(&quot;marker.color&quot;,i),m.mo=r(&quot;marker.opacity&quot;,a.mean,[.2,1]),m.ms=r(&quot;marker.size&quot;,a.mean,[2,16]),m.mlc=r(&quot;marker.line.color&quot;,i),m.mlw=r(&quot;marker.line.width&quot;,a.mean,[0,5]),g.marker={sizeref:1,sizemin:1,sizemode:&quot;diameter&quot;}),p&amp;&amp;(g.line={width:r(&quot;line.width&quot;,i,[0,10])}),d&amp;&amp;(m.tx=&quot;Aa&quot;,m.tp=r(&quot;textposition&quot;,i),m.ts=10,m.tc=r(&quot;textfont.color&quot;,i),m.tf=r(&quot;textfont.family&quot;,i)),s=[a.minExtend(u,m)],c=a.minExtend(f,g)}var v=n.select(this).select(&quot;g.legendpoints&quot;),y=v.selectAll(&quot;path.scatterpts&quot;).data(h?s:[]);y.enter().append(&quot;path&quot;).classed(&quot;scatterpts&quot;,!0).attr(&quot;transform&quot;,&quot;translate(20,0)&quot;),y.exit().remove(),y.call(o.pointStyle,c,e),h&amp;&amp;(s[0].mrc=3);var x=v.selectAll(&quot;g.pointtext&quot;).data(d?s:[]);x.enter().append(&quot;g&quot;).classed(&quot;pointtext&quot;,!0).append(&quot;text&quot;).attr(&quot;transform&quot;,&quot;translate(20,0)&quot;),x.exit().remove(),x.selectAll(&quot;text&quot;).call(o.textPointStyle,c,e)})}},{&quot;../../lib&quot;:743,&quot;../../registry&quot;:873,&quot;../../traces/pie/style_one&quot;:1052,&quot;../../traces/scatter/subtypes&quot;:1088,&quot;../color&quot;:618,&quot;../drawing&quot;:643,d3:128}],679:[function(t,e,r){&quot;use strict&quot;;function n(t,e){var r,n,i=e.currentTarget,a=i.getAttribute(&quot;data-attr&quot;),o=i.getAttribute(&quot;data-val&quot;)||!0,s=t._fullLayout,l={},c=h.list(t,null,!0),f=&quot;on&quot;;if(&quot;zoom&quot;===a){var d,p=&quot;in&quot;===o?.5:2,m=(1+p)/2,g=(1-p)/2;for(n=0;n&lt;c.length;n++)if(!(r=c[n]).fixedrange)if(d=r._name,&quot;auto&quot;===o)l[d+&quot;.autorange&quot;]=!0;else if(&quot;reset&quot;===o){if(void 0===r._rangeInitial)l[d+&quot;.autorange&quot;]=!0;else{var v=r._rangeInitial.slice();l[d+&quot;.range[0]&quot;]=v[0],l[d+&quot;.range[1]&quot;]=v[1]}void 0!==r._showSpikeInitial&amp;&amp;(l[d+&quot;.showspikes&quot;]=r._showSpikeInitial,&quot;on&quot;!==f||r._showSpikeInitial||(f=&quot;off&quot;))}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]];l[d+&quot;.range[0]&quot;]=r.l2r(x[0]),l[d+&quot;.range[1]&quot;]=r.l2r(x[1])}s._cartesianSpikesEnabled=f}else{if(&quot;hovermode&quot;!==a||&quot;x&quot;!==o&amp;&amp;&quot;y&quot;!==o){if(&quot;hovermode&quot;===a&amp;&amp;&quot;closest&quot;===o){for(n=0;n&lt;c.length;n++)r=c[n],&quot;on&quot;!==f||r.showspikes||(f=&quot;off&quot;);s._cartesianSpikesEnabled=f}}else o=s._isHoriz?&quot;y&quot;:&quot;x&quot;,i.setAttribute(&quot;data-val&quot;,o);l[a]=o}u.relayout(t,l)}function i(t,e){for(var r=e.currentTarget,n=r.getAttribute(&quot;data-attr&quot;),i=r.getAttribute(&quot;data-val&quot;)||!0,a=t._fullLayout._subplots.gl3d,o={},s=n.split(&quot;.&quot;),l=0;l&lt;a.length;l++)o[a[l]+&quot;.&quot;+s[1]]=i;u.relayout(t,o)}function a(t,e){for(var r=e.currentTarget.getAttribute(&quot;data-attr&quot;),n=t._fullLayout,i=n._subplots.gl3d,a={},o=0;o&lt;i.length;o++){var s=i[o],l=s+&quot;.camera&quot;,c=n[s]._scene;&quot;resetDefault&quot;===r?a[l]=null:&quot;resetLastSave&quot;===r&amp;&amp;(a[l]=d.extendDeep({},c.cameraInitial))}u.relayout(t,a)}function o(t,e){var r=e.currentTarget,n=r._previousVal||!1,i=t.layout,a=t._fullLayout,o=a._subplots.gl3d,s=[&quot;xaxis&quot;,&quot;yaxis&quot;,&quot;zaxis&quot;],l=[&quot;showspikes&quot;,&quot;spikesides&quot;,&quot;spikethickness&quot;,&quot;spikecolor&quot;],c={},f={},h={};if(n)h=d.extendDeep(i,n),r._previousVal=null;else{h={&quot;allaxes.showspikes&quot;:!1};for(var p=0;p&lt;o.length;p++){var m=o[p],g=a[m],v=c[m]={};v.hovermode=g.hovermode,h[m+&quot;.hovermode&quot;]=!1;for(var y=0;y&lt;3;y++){var x=s[y];f=v[x]={};for(var b=0;b&lt;l.length;b++){var _=l[b];f[_]=g[x][_]}}}r._previousVal=d.extendDeep({},c)}u.relayout(t,h)}function s(t,e){for(var r=e.currentTarget,n=r.getAttribute(&quot;data-attr&quot;),i=r.getAttribute(&quot;data-val&quot;)||!0,a=t._fullLayout,o=a._subplots.geo,s=0;s&lt;o.length;s++){var l=o[s],f=a[l];if(&quot;zoom&quot;===n){var h=f.projection.scale,d=&quot;in&quot;===i?2*h:.5*h;u.relayout(t,l+&quot;.projection.scale&quot;,d)}else&quot;reset&quot;===n&amp;&amp;c(t,&quot;geo&quot;)}}function l(t){var e,r=t._fullLayout;e=r._has(&quot;cartesian&quot;)?r._isHoriz?&quot;y&quot;:&quot;x&quot;:&quot;closest&quot;;var n=!t._fullLayout.hovermode&amp;&amp;e;u.relayout(t,&quot;hovermode&quot;,n)}function c(t,e){for(var r=t._fullLayout,n=r._subplots[e],i={},a=0;a&lt;n.length;a++)for(var o=n[a],s=r[o]._subplot.viewInitial,l=Object.keys(s),c=0;c&lt;l.length;c++){var f=l[c];i[o+&quot;.&quot;+f]=s[f]}u.relayout(t,i)}var u=t(&quot;../../plotly&quot;),f=t(&quot;../../plots/plots&quot;),h=t(&quot;../../plots/cartesian/axis_ids&quot;),d=t(&quot;../../lib&quot;),p=t(&quot;../../snapshot/download&quot;),m=t(&quot;../../../build/ploticon&quot;),g=d._,v=e.exports={};v.toImage={name:&quot;toImage&quot;,title:function(t){return g(t,&quot;Download plot as a png&quot;)},icon:m.camera,click:function(t){var e=&quot;png&quot;;d.notifier(g(t,&quot;Taking snapshot - this may take a few seconds&quot;),&quot;long&quot;),d.isIE()&amp;&amp;(d.notifier(g(t,&quot;IE only supports svg.  Changing format to svg.&quot;),&quot;long&quot;),e=&quot;svg&quot;),p(t,{format:e}).then(function(e){d.notifier(g(t,&quot;Snapshot succeeded&quot;)+&quot; - &quot;+e,&quot;long&quot;)}).catch(function(){d.notifier(g(t,&quot;Sorry, there was a problem downloading your snapshot!&quot;),&quot;long&quot;)})}},v.sendDataToCloud={name:&quot;sendDataToCloud&quot;,title:function(t){return g(t,&quot;Edit in Chart Studio&quot;)},icon:m.disk,click:function(t){f.sendDataToCloud(t)}},v.zoom2d={name:&quot;zoom2d&quot;,title:function(t){return g(t,&quot;Zoom&quot;)},attr:&quot;dragmode&quot;,val:&quot;zoom&quot;,icon:m.zoombox,click:n},v.pan2d={name:&quot;pan2d&quot;,title:function(t){return g(t,&quot;Pan&quot;)},attr:&quot;dragmode&quot;,val:&quot;pan&quot;,icon:m.pan,click:n},v.select2d={name:&quot;select2d&quot;,title:function(t){return g(t,&quot;Box Select&quot;)},attr:&quot;dragmode&quot;,val:&quot;select&quot;,icon:m.selectbox,click:n},v.lasso2d={name:&quot;lasso2d&quot;,title:function(t){return g(t,&quot;Lasso Select&quot;)},attr:&quot;dragmode&quot;,val:&quot;lasso&quot;,icon:m.lasso,click:n},v.zoomIn2d={name:&quot;zoomIn2d&quot;,title:function(t){return g(t,&quot;Zoom in&quot;)},attr:&quot;zoom&quot;,val:&quot;in&quot;,icon:m.zoom_plus,click:n},v.zoomOut2d={name:&quot;zoomOut2d&quot;,title:function(t){return g(t,&quot;Zoom out&quot;)},attr:&quot;zoom&quot;,val:&quot;out&quot;,icon:m.zoom_minus,click:n},v.autoScale2d={name:&quot;autoScale2d&quot;,title:function(t){return g(t,&quot;Autoscale&quot;)},attr:&quot;zoom&quot;,val:&quot;auto&quot;,icon:m.autoscale,click:n},v.resetScale2d={name:&quot;resetScale2d&quot;,title:function(t){return g(t,&quot;Reset axes&quot;)},attr:&quot;zoom&quot;,val:&quot;reset&quot;,icon:m.home,click:n},v.hoverClosestCartesian={name:&quot;hoverClosestCartesian&quot;,title:function(t){return g(t,&quot;Show closest data on hover&quot;)},attr:&quot;hovermode&quot;,val:&quot;closest&quot;,icon:m.tooltip_basic,gravity:&quot;ne&quot;,click:n},v.hoverCompareCartesian={name:&quot;hoverCompareCartesian&quot;,title:function(t){return g(t,&quot;Compare data on hover&quot;)},attr:&quot;hovermode&quot;,val:function(t){return t._fullLayout._isHoriz?&quot;y&quot;:&quot;x&quot;},icon:m.tooltip_compare,gravity:&quot;ne&quot;,click:n},v.zoom3d={name:&quot;zoom3d&quot;,title:function(t){return g(t,&quot;Zoom&quot;)},attr:&quot;scene.dragmode&quot;,val:&quot;zoom&quot;,icon:m.zoombox,click:i},v.pan3d={name:&quot;pan3d&quot;,title:function(t){return g(t,&quot;Pan&quot;)},attr:&quot;scene.dragmode&quot;,val:&quot;pan&quot;,icon:m.pan,click:i},v.orbitRotation={name:&quot;orbitRotation&quot;,title:function(t){return g(t,&quot;Orbital rotation&quot;)},attr:&quot;scene.dragmode&quot;,val:&quot;orbit&quot;,icon:m[&quot;3d_rotate&quot;],click:i},v.tableRotation={name:&quot;tableRotation&quot;,title:function(t){return g(t,&quot;Turntable rotation&quot;)},attr:&quot;scene.dragmode&quot;,val:&quot;turntable&quot;,icon:m[&quot;z-axis&quot;],click:i},v.resetCameraDefault3d={name:&quot;resetCameraDefault3d&quot;,title:function(t){return g(t,&quot;Reset camera to default&quot;)},attr:&quot;resetDefault&quot;,icon:m.home,click:a},v.resetCameraLastSave3d={name:&quot;resetCameraLastSave3d&quot;,title:function(t){return g(t,&quot;Reset camera to last save&quot;)},attr:&quot;resetLastSave&quot;,icon:m.movie,click:a},v.hoverClosest3d={name:&quot;hoverClosest3d&quot;,title:function(t){return g(t,&quot;Toggle show closest data on hover&quot;)},attr:&quot;hovermode&quot;,val:null,toggle:!0,icon:m.tooltip_basic,gravity:&quot;ne&quot;,click:o},v.zoomInGeo={name:&quot;zoomInGeo&quot;,title:function(t){return g(t,&quot;Zoom in&quot;)},attr:&quot;zoom&quot;,val:&quot;in&quot;,icon:m.zoom_plus,click:s},v.zoomOutGeo={name:&quot;zoomOutGeo&quot;,title:function(t){return g(t,&quot;Zoom out&quot;)},attr:&quot;zoom&quot;,val:&quot;out&quot;,icon:m.zoom_minus,click:s},v.resetGeo={name:&quot;resetGeo&quot;,title:function(t){return g(t,&quot;Reset&quot;)},attr:&quot;reset&quot;,val:null,icon:m.autoscale,click:s},v.hoverClosestGeo={name:&quot;hoverClosestGeo&quot;,title:function(t){return g(t,&quot;Toggle show closest data on hover&quot;)},attr:&quot;hovermode&quot;,val:null,toggle:!0,icon:m.tooltip_basic,gravity:&quot;ne&quot;,click:l},v.hoverClosestGl2d={name:&quot;hoverClosestGl2d&quot;,title:function(t){return g(t,&quot;Toggle show closest data on hover&quot;)},attr:&quot;hovermode&quot;,val:null,toggle:!0,icon:m.tooltip_basic,gravity:&quot;ne&quot;,click:l},v.hoverClosestPie={name:&quot;hoverClosestPie&quot;,title:function(t){return g(t,&quot;Toggle show closest data on hover&quot;)},attr:&quot;hovermode&quot;,val:&quot;closest&quot;,icon:m.tooltip_basic,gravity:&quot;ne&quot;,click:l},v.toggleHover={name:&quot;toggleHover&quot;,title:function(t){return g(t,&quot;Toggle show closest data on hover&quot;)},attr:&quot;hovermode&quot;,val:null,toggle:!0,icon:m.tooltip_basic,gravity:&quot;ne&quot;,click:function(t,e){l(t),o(t,e)}},v.resetViews={name:&quot;resetViews&quot;,title:function(t){return g(t,&quot;Reset views&quot;)},icon:m.home,click:function(t,e){var r=e.currentTarget;r.setAttribute(&quot;data-attr&quot;,&quot;zoom&quot;),r.setAttribute(&quot;data-val&quot;,&quot;reset&quot;),n(t,e),r.setAttribute(&quot;data-attr&quot;,&quot;resetLastSave&quot;),a(t,e),c(t,&quot;geo&quot;),c(t,&quot;mapbox&quot;)}},v.toggleSpikelines={name:&quot;toggleSpikelines&quot;,title:function(t){return g(t,&quot;Toggle Spike Lines&quot;)},icon:m.spikeline,attr:&quot;_cartesianSpikesEnabled&quot;,val:&quot;on&quot;,click:function(t){var e=t._fullLayout;e._cartesianSpikesEnabled=&quot;on&quot;===e._cartesianSpikesEnabled?&quot;off&quot;:&quot;on&quot;;var r=function(t){for(var e,r=t._fullLayout,n=h.list(t,null,!0),i={},a=0;a&lt;n.length;a++)i[(e=n[a])._name+&quot;.showspikes&quot;]=&quot;on&quot;===r._cartesianSpikesEnabled||e._showSpikeInitial;return i}(t);u.relayout(t,r)}},v.resetViewMapbox={name:&quot;resetViewMapbox&quot;,title:function(t){return g(t,&quot;Reset view&quot;)},attr:&quot;reset&quot;,icon:m.home,click:function(t){c(t,&quot;mapbox&quot;)}}},{&quot;../../../build/ploticon&quot;:2,&quot;../../lib&quot;:743,&quot;../../plotly&quot;:784,&quot;../../plots/cartesian/axis_ids&quot;:792,&quot;../../plots/plots&quot;:852,&quot;../../snapshot/download&quot;:875}],680:[function(t,e,r){&quot;use strict&quot;;r.manage=t(&quot;./manage&quot;)},{&quot;./manage&quot;:681}],681:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r){function n(t){for(var r=[],n=0;n&lt;t.length;n++){var i=t[n];-1===e.indexOf(i)&amp;&amp;r.push(c[i])}x.push(r)}var l=t._fullLayout,u=t._fullData,f=l._has(&quot;cartesian&quot;),h=l._has(&quot;gl3d&quot;),d=l._has(&quot;geo&quot;),p=l._has(&quot;pie&quot;),m=l._has(&quot;gl2d&quot;),g=l._has(&quot;ternary&quot;),v=l._has(&quot;mapbox&quot;),y=l._has(&quot;polar&quot;),x=[];if(n([&quot;toImage&quot;,&quot;sendDataToCloud&quot;]),(f||m||p||g)+d+h&gt;1)return n([&quot;resetViews&quot;,&quot;toggleHover&quot;]),i(x,r);h&amp;&amp;(n([&quot;zoom3d&quot;,&quot;pan3d&quot;,&quot;orbitRotation&quot;,&quot;tableRotation&quot;]),n([&quot;resetCameraDefault3d&quot;,&quot;resetCameraLastSave3d&quot;]),n([&quot;hoverClosest3d&quot;]));var b=function(t){for(var e=a.list({_fullLayout:t},null,!0),r=0;r&lt;e.length;r++)if(!e[r].fixedrange)return!1;return!0}(l),_=[];return((f||m)&amp;&amp;!b||g)&amp;&amp;(_=[&quot;zoom2d&quot;,&quot;pan2d&quot;]),(v||d)&amp;&amp;(_=[&quot;pan2d&quot;]),y&amp;&amp;(_=[&quot;zoom2d&quot;]),function(t){for(var e=!1,r=0;r&lt;t.length&amp;&amp;!e;r++){var n=t[r];n._module&amp;&amp;n._module.selectPoints&amp;&amp;(s.traceIs(n,&quot;scatter-like&quot;)?(o.hasMarkers(n)||o.hasText(n))&amp;&amp;(e=!0):s.traceIs(n,&quot;box-violin&quot;)?&quot;all&quot;!==n.boxpoints&amp;&amp;&quot;all&quot;!==n.points||(e=!0):e=!0)}return e}(u)&amp;&amp;(_.push(&quot;select2d&quot;),_.push(&quot;lasso2d&quot;)),_.length&amp;&amp;n(_),!f&amp;&amp;!m||b||g||n([&quot;zoomIn2d&quot;,&quot;zoomOut2d&quot;,&quot;autoScale2d&quot;,&quot;resetScale2d&quot;]),f&amp;&amp;p?n([&quot;toggleHover&quot;]):m?n([&quot;hoverClosestGl2d&quot;]):f?n([&quot;toggleSpikelines&quot;,&quot;hoverClosestCartesian&quot;,&quot;hoverCompareCartesian&quot;]):p?n([&quot;hoverClosestPie&quot;]):v?n([&quot;resetViewMapbox&quot;,&quot;toggleHover&quot;]):d&amp;&amp;(n([&quot;zoomInGeo&quot;,&quot;zoomOutGeo&quot;,&quot;resetGeo&quot;]),n([&quot;hoverClosestGeo&quot;])),i(x,r)}function i(t,e){if(e.length)if(Array.isArray(e[0]))for(var r=0;r&lt;e.length;r++)t.push(e[r]);else t.push(e);return t}var a=t(&quot;../../plots/cartesian/axis_ids&quot;),o=t(&quot;../../traces/scatter/subtypes&quot;),s=t(&quot;../../registry&quot;),l=t(&quot;./modebar&quot;),c=t(&quot;./buttons&quot;);e.exports=function(t){var e=t._fullLayout,r=t._context,i=e._modeBar;if(r.displayModeBar){if(!Array.isArray(r.modeBarButtonsToRemove))throw new Error([&quot;*modeBarButtonsToRemove* configuration options&quot;,&quot;must be an array.&quot;].join(&quot; &quot;));if(!Array.isArray(r.modeBarButtonsToAdd))throw new Error([&quot;*modeBarButtonsToAdd* configuration options&quot;,&quot;must be an array.&quot;].join(&quot; &quot;));var a,o=r.modeBarButtons;a=Array.isArray(o)&amp;&amp;o.length?function(t){for(var e=0;e&lt;t.length;e++)for(var r=t[e],n=0;n&lt;r.length;n++){var i=r[n];if(&quot;string&quot;==typeof i){if(void 0===c[i])throw new Error([&quot;*modeBarButtons* configuration options&quot;,&quot;invalid button name&quot;].join(&quot; &quot;));t[e][n]=c[i]}}return t}(o):n(t,r.modeBarButtonsToRemove,r.modeBarButtonsToAdd),i?i.update(t,a):e._modeBar=l(t,a)}else i&amp;&amp;(i.destroy(),delete e._modeBar)}},{&quot;../../plots/cartesian/axis_ids&quot;:792,&quot;../../registry&quot;:873,&quot;../../traces/scatter/subtypes&quot;:1088,&quot;./buttons&quot;:679,&quot;./modebar&quot;:682}],682:[function(t,e,r){&quot;use strict&quot;;function n(t){this.container=t.container,this.element=document.createElement(&quot;div&quot;),this.update(t.graphInfo,t.buttons),this.container.appendChild(this.element)}var i=t(&quot;d3&quot;),a=t(&quot;../../lib&quot;),o=t(&quot;../../../build/ploticon&quot;),s=n.prototype;s.update=function(t,e){this.graphInfo=t;var r=this.graphInfo._context;&quot;hover&quot;===r.displayModeBar?this.element.className=&quot;modebar modebar--hover&quot;:this.element.className=&quot;modebar&quot;;var n=!this.hasButtons(e),i=this.hasLogo!==r.displaylogo;(n||i)&amp;&amp;(this.removeAllButtons(),this.updateButtons(e),r.displaylogo&amp;&amp;(this.element.appendChild(this.getLogo()),this.hasLogo=!0)),this.updateActiveButton()},s.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(&quot;must provide button 'name' in button config&quot;);if(-1!==e.buttonsNames.indexOf(n))throw new Error(&quot;button name '&quot;+n+&quot;' is taken&quot;);e.buttonsNames.push(n);var i=e.createButton(t);e.buttonElements.push(i),r.appendChild(i)}),e.element.appendChild(r)})},s.createGroup=function(){var t=document.createElement(&quot;div&quot;);return t.className=&quot;modebar-group&quot;,t},s.createButton=function(t){var e=this,r=document.createElement(&quot;a&quot;);r.setAttribute(&quot;rel&quot;,&quot;tooltip&quot;),r.className=&quot;modebar-btn&quot;;var n=t.title;void 0===n?n=t.name:&quot;function&quot;==typeof n&amp;&amp;(n=n(this.graphInfo)),(n||0===n)&amp;&amp;r.setAttribute(&quot;data-title&quot;,n),void 0!==t.attr&amp;&amp;r.setAttribute(&quot;data-attr&quot;,t.attr);var a=t.val;void 0!==a&amp;&amp;(&quot;function&quot;==typeof a&amp;&amp;(a=a(this.graphInfo)),r.setAttribute(&quot;data-val&quot;,a));if(&quot;function&quot;!=typeof t.click)throw new Error(&quot;must provide button 'click' function in button config&quot;);return r.addEventListener(&quot;click&quot;,function(r){t.click(e.graphInfo,r),e.updateActiveButton(r.currentTarget)}),r.setAttribute(&quot;data-toggle&quot;,t.toggle||!1),t.toggle&amp;&amp;i.select(r).classed(&quot;active&quot;,!0),r.appendChild(this.createIcon(t.icon||o.question,t.name)),r.setAttribute(&quot;data-gravity&quot;,t.gravity||&quot;n&quot;),r},s.createIcon=function(t,e){var r=t.ascent-t.descent,n=&quot;http://www.w3.org/2000/svg&quot;,i=document.createElementNS(n,&quot;svg&quot;),a=document.createElementNS(n,&quot;path&quot;);i.setAttribute(&quot;height&quot;,&quot;1em&quot;),i.setAttribute(&quot;width&quot;,t.width/r+&quot;em&quot;),i.setAttribute(&quot;viewBox&quot;,[0,0,t.width,r].join(&quot; &quot;));var o=&quot;toggleSpikelines&quot;===e?&quot;matrix(1.5 0 0 -1.5 0 &quot;+t.ascent+&quot;)&quot;:&quot;matrix(1 0 0 -1 0 &quot;+t.ascent+&quot;)&quot;;return a.setAttribute(&quot;d&quot;,t.path),a.setAttribute(&quot;transform&quot;,o),i.appendChild(a),i},s.updateActiveButton=function(t){var e=this.graphInfo._fullLayout,r=void 0!==t?t.getAttribute(&quot;data-attr&quot;):null;this.buttonElements.forEach(function(t){var n=t.getAttribute(&quot;data-val&quot;)||!0,o=t.getAttribute(&quot;data-attr&quot;),s=&quot;true&quot;===t.getAttribute(&quot;data-toggle&quot;),l=i.select(t);if(s)o===r&amp;&amp;l.classed(&quot;active&quot;,!l.classed(&quot;active&quot;));else{var c=null===o?o:a.nestedProperty(e,o).get();l.classed(&quot;active&quot;,c===n)}})},s.hasButtons=function(t){var e=this.buttons;if(!e)return!1;if(t.length!==e.length)return!1;for(var r=0;r&lt;t.length;++r){if(t[r].length!==e[r].length)return!1;for(var n=0;n&lt;t[r].length;n++)if(t[r][n].name!==e[r][n].name)return!1}return!0},s.getLogo=function(){var t=this.createGroup(),e=document.createElement(&quot;a&quot;);return e.href=&quot;https://plot.ly/&quot;,e.target=&quot;_blank&quot;,e.setAttribute(&quot;data-title&quot;,a._(this.graphInfo,&quot;Produced with Plotly&quot;)),e.className=&quot;modebar-btn plotlyjsicon modebar-btn--logo&quot;,e.appendChild(this.createIcon(o.plotlylogo)),t.appendChild(e),t},s.removeAllButtons=function(){for(;this.element.firstChild;)this.element.removeChild(this.element.firstChild);this.hasLogo=!1},s.destroy=function(){a.removeElement(this.container.querySelector(&quot;.modebar&quot;))},e.exports=function(t,e){var r=t._fullLayout,a=new n({graphInfo:t,container:r._paperdiv.node(),buttons:e});return r._privateplot&amp;&amp;i.select(a.element).append(&quot;span&quot;).classed(&quot;badge-private float--left&quot;,!0).text(&quot;PRIVATE&quot;),a}},{&quot;../../../build/ploticon&quot;:2,&quot;../../lib&quot;:743,d3:128}],683:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../plots/font_attributes&quot;),i=t(&quot;../color/attributes&quot;),a=t(&quot;../../lib/extend&quot;).extendFlat,o=t(&quot;./button_attributes&quot;);o=a(o,{_isLinkedToArray:&quot;button&quot;}),e.exports={visible:{valType:&quot;boolean&quot;,editType:&quot;plot&quot;},buttons:o,x:{valType:&quot;number&quot;,min:-2,max:3,editType:&quot;plot&quot;},xanchor:{valType:&quot;enumerated&quot;,values:[&quot;auto&quot;,&quot;left&quot;,&quot;center&quot;,&quot;right&quot;],dflt:&quot;left&quot;,editType:&quot;plot&quot;},y:{valType:&quot;number&quot;,min:-2,max:3,editType:&quot;plot&quot;},yanchor:{valType:&quot;enumerated&quot;,values:[&quot;auto&quot;,&quot;top&quot;,&quot;middle&quot;,&quot;bottom&quot;],dflt:&quot;bottom&quot;,editType:&quot;plot&quot;},font:n({editType:&quot;plot&quot;}),bgcolor:{valType:&quot;color&quot;,dflt:i.lightLine,editType:&quot;plot&quot;},activecolor:{valType:&quot;color&quot;,editType:&quot;plot&quot;},bordercolor:{valType:&quot;color&quot;,dflt:i.defaultLine,editType:&quot;plot&quot;},borderwidth:{valType:&quot;number&quot;,min:0,dflt:0,editType:&quot;plot&quot;},editType:&quot;plot&quot;}},{&quot;../../lib/extend&quot;:732,&quot;../../plots/font_attributes&quot;:816,&quot;../color/attributes&quot;:617,&quot;./button_attributes&quot;:684}],684:[function(t,e,r){&quot;use strict&quot;;e.exports={step:{valType:&quot;enumerated&quot;,values:[&quot;month&quot;,&quot;year&quot;,&quot;day&quot;,&quot;hour&quot;,&quot;minute&quot;,&quot;second&quot;,&quot;all&quot;],dflt:&quot;month&quot;,editType:&quot;plot&quot;},stepmode:{valType:&quot;enumerated&quot;,values:[&quot;backward&quot;,&quot;todate&quot;],dflt:&quot;backward&quot;,editType:&quot;plot&quot;},count:{valType:&quot;number&quot;,min:0,dflt:1,editType:&quot;plot&quot;},label:{valType:&quot;string&quot;,editType:&quot;plot&quot;},editType:&quot;plot&quot;}},{}],685:[function(t,e,r){&quot;use strict&quot;;e.exports={yPad:.02,minButtonWidth:30,rx:3,ry:3,lightAmount:25,darkAmount:10}},{}],686:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib&quot;),i=t(&quot;../color&quot;),a=t(&quot;./attributes&quot;),o=t(&quot;./button_attributes&quot;),s=t(&quot;./constants&quot;);e.exports=function(t,e,r,l,c){function u(t,e){return n.coerce(f,h,a,t,e)}var f=t.rangeselector||{},h=e.rangeselector={};if(u(&quot;visible&quot;,function(t,e,r){function i(t,e){return n.coerce(a,s,o,t,e)}for(var a,s,l=t.buttons||[],c=e.buttons=[],u=0;u&lt;l.length;u++)if(a=l[u],s={},n.isPlainObject(a)){var f=i(&quot;step&quot;);&quot;all&quot;!==f&amp;&amp;(!r||&quot;gregorian&quot;===r||&quot;month&quot;!==f&amp;&amp;&quot;year&quot;!==f?i(&quot;stepmode&quot;):s.stepmode=&quot;backward&quot;,i(&quot;count&quot;)),i(&quot;label&quot;),s._index=u,c.push(s)}return c}(f,h,c).length&gt;0)){var d=function(t,e,r){for(var n=r.filter(function(r){return e[r].anchor===t._id}),i=0,a=0;a&lt;n.length;a++){var o=e[n[a]].domain;o&amp;&amp;(i=Math.max(o[1],i))}return[t.domain[0],i+s.yPad]}(e,r,l);u(&quot;x&quot;,d[0]),u(&quot;y&quot;,d[1]),n.noneOrAll(t,e,[&quot;x&quot;,&quot;y&quot;]),u(&quot;xanchor&quot;),u(&quot;yanchor&quot;),n.coerceFont(u,&quot;font&quot;,r.font);var p=u(&quot;bgcolor&quot;);u(&quot;activecolor&quot;,i.contrast(p,s.lightAmount,s.darkAmount)),u(&quot;bordercolor&quot;),u(&quot;borderwidth&quot;)}}},{&quot;../../lib&quot;:743,&quot;../color&quot;:618,&quot;./attributes&quot;:683,&quot;./button_attributes&quot;:684,&quot;./constants&quot;:685}],687:[function(t,e,r){&quot;use strict&quot;;function n(t){return t._id}function i(t,e,r){var n=t.selectAll(&quot;rect&quot;).data([0]);n.enter().append(&quot;rect&quot;).classed(&quot;selector-rect&quot;,!0),n.attr(&quot;shape-rendering&quot;,&quot;crispEdges&quot;),n.attr({rx:m.rx,ry:m.ry}),n.call(c.stroke,e.bordercolor).call(c.fill,function(t,e){return e.isActive||e.isHovered?t.activecolor:t.bgcolor}(e,r)).style(&quot;stroke-width&quot;,e.borderwidth+&quot;px&quot;)}function a(t,e,r,n){var i=t.selectAll(&quot;text&quot;).data([0]);i.enter().append(&quot;text&quot;).classed(&quot;selector-text&quot;,!0).classed(&quot;user-select-none&quot;,!0),i.attr(&quot;text-anchor&quot;,&quot;middle&quot;),i.call(u.font,e.font).text(function(t){return t.label?t.label:&quot;all&quot;===t.step?&quot;all&quot;:t.count+t.step.charAt(0)}(r)).call(function(t){f.convertToTspans(t,n)})}var o=t(&quot;d3&quot;),s=t(&quot;../../plotly&quot;),l=t(&quot;../../plots/plots&quot;),c=t(&quot;../color&quot;),u=t(&quot;../drawing&quot;),f=t(&quot;../../lib/svg_text_utils&quot;),h=t(&quot;../../plots/cartesian/axis_ids&quot;),d=t(&quot;../legend/anchor_utils&quot;),p=t(&quot;../../constants/alignment&quot;).LINE_SPACING,m=t(&quot;./constants&quot;),g=t(&quot;./get_update_object&quot;);e.exports=function(t){var e=t._fullLayout._infolayer.selectAll(&quot;.rangeselector&quot;).data(function(t){for(var e=h.list(t,&quot;x&quot;,!0),r=[],n=0;n&lt;e.length;n++){var i=e[n];i.rangeselector&amp;&amp;i.rangeselector.visible&amp;&amp;r.push(i)}return r}(t),n);e.enter().append(&quot;g&quot;).classed(&quot;rangeselector&quot;,!0),e.exit().remove(),e.style({cursor:&quot;pointer&quot;,&quot;pointer-events&quot;:&quot;all&quot;}),e.each(function(e){var r=o.select(this),n=e,c=n.rangeselector,h=r.selectAll(&quot;g.button&quot;).data(c.buttons);h.enter().append(&quot;g&quot;).classed(&quot;button&quot;,!0),h.exit().remove(),h.each(function(e){var r=o.select(this),l=g(n,e);e.isActive=function(t,e,r){if(&quot;all&quot;===e.step)return!0===t.autorange;var n=Object.keys(r);return t.range[0]===r[n[0]]&amp;&amp;t.range[1]===r[n[1]]}(n,e,l),r.call(i,c,e),r.call(a,c,e,t),r.on(&quot;click&quot;,function(){t._dragged||s.relayout(t,l)}),r.on(&quot;mouseover&quot;,function(){e.isHovered=!0,r.call(i,c,e)}),r.on(&quot;mouseout&quot;,function(){e.isHovered=!1,r.call(i,c,e)})}),function(t,e,r,n){r.width=0,r.height=0;var i=r.borderwidth;e.each(function(){var t=o.select(this).select(&quot;.selector-text&quot;),e=r.font.size*p,n=Math.max(e*f.lineCount(t),16)+3;r.height=Math.max(r.height,n)}),e.each(function(){var t=o.select(this),e=t.select(&quot;.selector-rect&quot;),n=t.select(&quot;.selector-text&quot;),a=n.node()&amp;&amp;u.bBox(n.node()).width,s=r.font.size*p,l=f.lineCount(n),c=Math.max(a+10,m.minButtonWidth);t.attr(&quot;transform&quot;,&quot;translate(&quot;+(i+r.width)+&quot;,&quot;+i+&quot;)&quot;),e.attr({x:0,y:0,width:c,height:r.height}),f.positionText(n,c/2,r.height/2-(l-1)*s/2+3),r.width+=c+5}),e.selectAll(&quot;rect&quot;).attr(&quot;height&quot;,r.height);var a=t._fullLayout._size;r.lx=a.l+a.w*r.x,r.ly=a.t+a.h*(1-r.y);var s=&quot;left&quot;;d.isRightAnchor(r)&amp;&amp;(r.lx-=r.width,s=&quot;right&quot;),d.isCenterAnchor(r)&amp;&amp;(r.lx-=r.width/2,s=&quot;center&quot;);var c=&quot;top&quot;;d.isBottomAnchor(r)&amp;&amp;(r.ly-=r.height,c=&quot;bottom&quot;),d.isMiddleAnchor(r)&amp;&amp;(r.ly-=r.height/2,c=&quot;middle&quot;),r.width=Math.ceil(r.width),r.height=Math.ceil(r.height),r.lx=Math.round(r.lx),r.ly=Math.round(r.ly),l.autoMargin(t,n+&quot;-range-selector&quot;,{x:r.x,y:r.y,l:r.width*({right:1,center:.5}[s]||0),r:r.width*({left:1,center:.5}[s]||0),b:r.height*({top:1,middle:.5}[c]||0),t:r.height*({bottom:1,middle:.5}[c]||0)})}(t,h,c,n._name),r.attr(&quot;transform&quot;,&quot;translate(&quot;+c.lx+&quot;,&quot;+c.ly+&quot;)&quot;)})}},{&quot;../../constants/alignment&quot;:716,&quot;../../lib/svg_text_utils&quot;:766,&quot;../../plotly&quot;:784,&quot;../../plots/cartesian/axis_ids&quot;:792,&quot;../../plots/plots&quot;:852,&quot;../color&quot;:618,&quot;../drawing&quot;:643,&quot;../legend/anchor_utils&quot;:669,&quot;./constants&quot;:685,&quot;./get_update_object&quot;:688,d3:128}],688:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;d3&quot;);e.exports=function(t,e){var r=t._name,i={};if(&quot;all&quot;===e.step)i[r+&quot;.autorange&quot;]=!0;else{var a=function(t,e){var r,i=t.range,a=new Date(t.r2l(i[1])),o=e.step,s=e.count;switch(e.stepmode){case&quot;backward&quot;:r=t.l2r(+n.time[o].utc.offset(a,-s));break;case&quot;todate&quot;:var l=n.time[o].utc.offset(a,-s);r=t.l2r(+n.time[o].utc.ceil(l))}return[r,i[1]]}(t,e);i[r+&quot;.range[0]&quot;]=a[0],i[r+&quot;.range[1]&quot;]=a[1]}return i}},{d3:128}],689:[function(t,e,r){&quot;use strict&quot;;e.exports={moduleType:&quot;component&quot;,name:&quot;rangeselector&quot;,schema:{subplots:{xaxis:{rangeselector:t(&quot;./attributes&quot;)}}},layoutAttributes:t(&quot;./attributes&quot;),handleDefaults:t(&quot;./defaults&quot;),draw:t(&quot;./draw&quot;)}},{&quot;./attributes&quot;:683,&quot;./defaults&quot;:686,&quot;./draw&quot;:687}],690:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../color/attributes&quot;);e.exports={bgcolor:{valType:&quot;color&quot;,dflt:n.background,editType:&quot;calc&quot;},bordercolor:{valType:&quot;color&quot;,dflt:n.defaultLine,editType:&quot;calc&quot;},borderwidth:{valType:&quot;integer&quot;,dflt:0,min:0,editType:&quot;calc&quot;},autorange:{valType:&quot;boolean&quot;,dflt:!0,editType:&quot;calc&quot;},range:{valType:&quot;info_array&quot;,items:[{valType:&quot;any&quot;,editType:&quot;calc&quot;},{valType:&quot;any&quot;,editType:&quot;calc&quot;}],editType:&quot;calc&quot;},thickness:{valType:&quot;number&quot;,dflt:.15,min:0,max:1,editType:&quot;calc&quot;},visible:{valType:&quot;boolean&quot;,dflt:!0,editType:&quot;calc&quot;},editType:&quot;calc&quot;}},{&quot;../color/attributes&quot;:617}],691:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../plots/cartesian/axes&quot;),i=t(&quot;./constants&quot;);e.exports=function(t){for(var e=n.list(t,&quot;x&quot;,!0),r=0;r&lt;e.length;r++){var a=e[r],o=a[i.name];o&amp;&amp;o.visible&amp;&amp;o.autorange&amp;&amp;a._min.length&amp;&amp;a._max.length&amp;&amp;(o._input.autorange=!0,o._input.range=o.range=n.getAutoRange(a))}}},{&quot;../../plots/cartesian/axes&quot;:789,&quot;./constants&quot;:692}],692:[function(t,e,r){&quot;use strict&quot;;e.exports={name:&quot;rangeslider&quot;,containerClassName:&quot;rangeslider-container&quot;,bgClassName:&quot;rangeslider-bg&quot;,rangePlotClassName:&quot;rangeslider-rangeplot&quot;,maskMinClassName:&quot;rangeslider-mask-min&quot;,maskMaxClassName:&quot;rangeslider-mask-max&quot;,slideBoxClassName:&quot;rangeslider-slidebox&quot;,grabberMinClassName:&quot;rangeslider-grabber-min&quot;,grabAreaMinClassName:&quot;rangeslider-grabarea-min&quot;,handleMinClassName:&quot;rangeslider-handle-min&quot;,grabberMaxClassName:&quot;rangeslider-grabber-max&quot;,grabAreaMaxClassName:&quot;rangeslider-grabarea-max&quot;,handleMaxClassName:&quot;rangeslider-handle-max&quot;,maskColor:&quot;rgba(0,0,0,0.4)&quot;,slideBoxFill:&quot;transparent&quot;,slideBoxCursor:&quot;ew-resize&quot;,grabAreaFill:&quot;transparent&quot;,grabAreaCursor:&quot;col-resize&quot;,grabAreaWidth:10,handleWidth:4,handleRadius:1,handleStrokeWidth:1,extraPad:15}},{}],693:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib&quot;),i=t(&quot;./attributes&quot;);e.exports=function(t,e,r){function a(t,e){return n.coerce(o,l,i,t,e)}if(t[r].rangeslider){n.isPlainObject(t[r].rangeslider)||(t[r].rangeslider={});var o=t[r].rangeslider,s=e[r],l=s.rangeslider={};if(a(&quot;visible&quot;)){if(a(&quot;bgcolor&quot;,e.plot_bgcolor),a(&quot;bordercolor&quot;),a(&quot;borderwidth&quot;),a(&quot;thickness&quot;),a(&quot;autorange&quot;,!s.isValidRange(o.range)),a(&quot;range&quot;),l.range){var c=l.range,u=s.range;c[0]=s.l2r(Math.min(s.r2l(c[0]),s.r2l(u[0]))),c[1]=s.l2r(Math.max(s.r2l(c[1]),s.r2l(u[1])))}s.cleanRange(&quot;rangeslider.range&quot;),l._input=o}}}},{&quot;../../lib&quot;:743,&quot;./attributes&quot;:690}],694:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,n){var i=t.select(&quot;rect.&quot;+b.slideBoxClassName).node(),a=t.select(&quot;rect.&quot;+b.grabAreaMinClassName).node(),o=t.select(&quot;rect.&quot;+b.grabAreaMaxClassName).node();t.on(&quot;mousedown&quot;,function(){function s(t){var s,l,c,y=+t.clientX-p;switch(h){case i:c=&quot;ew-resize&quot;,s=g+y,l=v+y;break;case a:c=&quot;col-resize&quot;,s=g+y,l=v;break;case o:c=&quot;col-resize&quot;,s=g,l=v+y;break;default:c=&quot;ew-resize&quot;,s=m,l=m+y}if(l&lt;s){var _=l;l=s,s=_}n._pixelMin=s,n._pixelMax=l,x(u.select(b),c),function(t,e,r,n){function i(t){return r.l2r(d.constrain(t,n._rl[0],n._rl[1]))}var a=i(n.p2d(n._pixelMin)),o=i(n.p2d(n._pixelMax));window.requestAnimationFrame(function(){f.relayout(e,r._name+&quot;.range&quot;,[a,o])})}(0,e,r,n)}function l(){b.removeEventListener(&quot;mousemove&quot;,s),b.removeEventListener(&quot;mouseup&quot;,l),d.removeElement(b)}var c=u.event,h=c.target,p=c.clientX,m=p-t.node().getBoundingClientRect().left,g=n.d2p(r._rl[0]),v=n.d2p(r._rl[1]),b=y.coverSlip();b.addEventListener(&quot;mousemove&quot;,s),b.addEventListener(&quot;mouseup&quot;,l)})}function i(t,e,r,n){var i=t.selectAll(&quot;rect.&quot;+b.bgClassName).data([0]);i.enter().append(&quot;rect&quot;).classed(b.bgClassName,!0).attr({x:0,y:0,&quot;shape-rendering&quot;:&quot;crispEdges&quot;});var a=n.borderwidth%2==0?n.borderwidth:n.borderwidth-1,o=-n._offsetShift,s=p.crispRound(e,n.borderwidth);i.attr({width:n._width+a,height:n._height+a,transform:&quot;translate(&quot;+o+&quot;,&quot;+o+&quot;)&quot;,fill:n.bgcolor,stroke:n.bordercolor,&quot;stroke-width&quot;:s})}function a(t,e,r,n){var i=e._fullLayout._topdefs.selectAll(&quot;#&quot;+n._clipId).data([0]);i.enter().append(&quot;clipPath&quot;).attr(&quot;id&quot;,n._clipId).append(&quot;rect&quot;).attr({x:0,y:0}),i.select(&quot;rect&quot;).attr({width:n._width,height:n._height})}function o(t,e,r,n){var i=v.getSubplots(e,r),a=e.calcdata,o=t.selectAll(&quot;g.&quot;+b.rangePlotClassName).data(i,d.identity);o.enter().append(&quot;g&quot;).attr(&quot;class&quot;,function(t){return b.rangePlotClassName+&quot; &quot;+t}).call(p.setClipUrl,n._clipId),o.order(),o.exit().remove();var s;o.each(function(t,i){var o=u.select(this),l=0===i,c=v.getFromId(e,t,&quot;y&quot;),f=c._name,d={data:[],layout:{xaxis:{type:r.type,domain:[0,1],range:n.range.slice(),calendar:r.calendar},width:n._width,height:n._height,margin:{t:0,b:0,l:0,r:0}},_context:e._context};d.layout[f]={type:c.type,domain:[0,1],range:c.range.slice(),calendar:c.calendar},h.supplyDefaults(d);var p={id:t,plotgroup:o,xaxis:d._fullLayout.xaxis,yaxis:d._fullLayout[f]};l?s=p:(p.mainplot=&quot;xy&quot;,p.mainplotinfo=s),g.rangePlot(e,p,function(t,e){for(var r=[],n=0;n&lt;t.length;n++){var i=t[n],a=i[0].trace;a.xaxis+a.yaxis===e&amp;&amp;r.push(i)}return r}(a,t))})}function s(t,e,r,n){var i=t.selectAll(&quot;rect.&quot;+b.maskMinClassName).data([0]);i.enter().append(&quot;rect&quot;).classed(b.maskMinClassName,!0).attr({x:0,y:0}).attr(&quot;shape-rendering&quot;,&quot;crispEdges&quot;),i.attr(&quot;height&quot;,n._height).call(m.fill,b.maskColor);var a=t.selectAll(&quot;rect.&quot;+b.maskMaxClassName).data([0]);a.enter().append(&quot;rect&quot;).classed(b.maskMaxClassName,!0).attr(&quot;y&quot;,0).attr(&quot;shape-rendering&quot;,&quot;crispEdges&quot;),a.attr(&quot;height&quot;,n._height).call(m.fill,b.maskColor)}function l(t,e,r,n){if(!e._context.staticPlot){var i=t.selectAll(&quot;rect.&quot;+b.slideBoxClassName).data([0]);i.enter().append(&quot;rect&quot;).classed(b.slideBoxClassName,!0).attr(&quot;y&quot;,0).attr(&quot;cursor&quot;,b.slideBoxCursor).attr(&quot;shape-rendering&quot;,&quot;crispEdges&quot;),i.attr({height:n._height,fill:b.slideBoxFill})}}function c(t,e,r,n){var i=t.selectAll(&quot;g.&quot;+b.grabberMinClassName).data([0]);i.enter().append(&quot;g&quot;).classed(b.grabberMinClassName,!0);var a=t.selectAll(&quot;g.&quot;+b.grabberMaxClassName).data([0]);a.enter().append(&quot;g&quot;).classed(b.grabberMaxClassName,!0);var o={x:0,width:b.handleWidth,rx:b.handleRadius,fill:m.background,stroke:m.defaultLine,&quot;stroke-width&quot;:b.handleStrokeWidth,&quot;shape-rendering&quot;:&quot;crispEdges&quot;},s={y:Math.round(n._height/4),height:Math.round(n._height/2)},l=i.selectAll(&quot;rect.&quot;+b.handleMinClassName).data([0]);l.enter().append(&quot;rect&quot;).classed(b.handleMinClassName,!0).attr(o),l.attr(s);var c=a.selectAll(&quot;rect.&quot;+b.handleMaxClassName).data([0]);if(c.enter().append(&quot;rect&quot;).classed(b.handleMaxClassName,!0).attr(o),c.attr(s),!e._context.staticPlot){var u={width:b.grabAreaWidth,x:0,y:0,fill:b.grabAreaFill,cursor:b.grabAreaCursor},f=i.selectAll(&quot;rect.&quot;+b.grabAreaMinClassName).data([0]);f.enter().append(&quot;rect&quot;).classed(b.grabAreaMinClassName,!0).attr(u),f.attr(&quot;height&quot;,n._height);var h=a.selectAll(&quot;rect.&quot;+b.grabAreaMaxClassName).data([0]);h.enter().append(&quot;rect&quot;).classed(b.grabAreaMaxClassName,!0).attr(u),h.attr(&quot;height&quot;,n._height)}}var u=t(&quot;d3&quot;),f=t(&quot;../../plotly&quot;),h=t(&quot;../../plots/plots&quot;),d=t(&quot;../../lib&quot;),p=t(&quot;../drawing&quot;),m=t(&quot;../color&quot;),g=t(&quot;../../plots/cartesian&quot;),v=t(&quot;../../plots/cartesian/axes&quot;),y=t(&quot;../dragelement&quot;),x=t(&quot;../../lib/setcursor&quot;),b=t(&quot;./constants&quot;);e.exports=function(t){var e=t._fullLayout,r=function(t){var e=v.list({_fullLayout:t},&quot;x&quot;,!0),r=b.name,n=[];if(t._has(&quot;gl2d&quot;))return n;for(var i=0;i&lt;e.length;i++){var a=e[i];a[r]&amp;&amp;a[r].visible&amp;&amp;n.push(a)}return n}(e),f=e._infolayer.selectAll(&quot;g.&quot;+b.containerClassName).data(r,function(t){return t._name});f.enter().append(&quot;g&quot;).classed(b.containerClassName,!0).attr(&quot;pointer-events&quot;,&quot;all&quot;),f.exit().each(function(t){var r=u.select(this),n=t[b.name];r.remove(),e._topdefs.select(&quot;#&quot;+n._clipId).remove()}),f.exit().size()&amp;&amp;function(t){for(var e=t._fullLayout._pushmargin||{},r=Object.keys(e),n=0;n&lt;r.length;n++){var i=r[n];-1!==i.indexOf(b.name)&amp;&amp;h.autoMargin(t,i)}}(t),0!==r.length&amp;&amp;f.each(function(r){var f=u.select(this),p=r[b.name],m=e[v.id2name(r.anchor)],g=e.margin,y=e._size,x=r.domain,_=m.domain,w=(r._boundingBox||{}).height||0;p._id=b.name+r._id,p._clipId=p._id+&quot;-&quot;+e._uid,p._width=y.w*(x[1]-x[0]),p._height=(e.height-g.b-g.t)*p.thickness,p._offsetShift=Math.floor(p.borderwidth/2);var M=Math.round(g.l+y.w*x[0]),k=Math.round(g.t+y.h*(1-_[0])+w+p._offsetShift+b.extraPad);f.attr(&quot;transform&quot;,&quot;translate(&quot;+M+&quot;,&quot;+k+&quot;)&quot;);var A=r.r2l(p.range[0]),T=r.r2l(p.range[1]),S=T-A;p.p2d=function(t){return t/p._width*S+A},p.d2p=function(t){return(t-A)/S*p._width},p._rl=[A,T],f.call(i,t,r,p).call(a,t,r,p).call(o,t,r,p).call(s,t,r,p).call(l,t,r,p).call(c,t,r,p),n(f,t,r,p),function(t,e,r,n){function i(t){return d.constrain(t,0,n._width)}function a(t){return d.constrain(t,-o,n._width+o)}var o=b.handleWidth/2,s=i(n.d2p(r._rl[0])),l=i(n.d2p(r._rl[1]));t.select(&quot;rect.&quot;+b.slideBoxClassName).attr(&quot;x&quot;,s).attr(&quot;width&quot;,l-s),t.select(&quot;rect.&quot;+b.maskMinClassName).attr(&quot;width&quot;,s),t.select(&quot;rect.&quot;+b.maskMaxClassName).attr(&quot;x&quot;,l).attr(&quot;width&quot;,n._width-l);var c=Math.round(a(s-o))-.5,u=Math.round(a(l-o))+.5;t.select(&quot;g.&quot;+b.grabberMinClassName).attr(&quot;transform&quot;,&quot;translate(&quot;+c+&quot;,0.5)&quot;),t.select(&quot;g.&quot;+b.grabberMaxClassName).attr(&quot;transform&quot;,&quot;translate(&quot;+u+&quot;,0.5)&quot;)}(f,0,r,p),h.autoMargin(t,p._id,{x:x[0],y:_[0],l:0,r:0,t:0,b:p._height+g.b+w,pad:b.extraPad+2*p._offsetShift})})}},{&quot;../../lib&quot;:743,&quot;../../lib/setcursor&quot;:762,&quot;../../plotly&quot;:784,&quot;../../plots/cartesian&quot;:800,&quot;../../plots/cartesian/axes&quot;:789,&quot;../../plots/plots&quot;:852,&quot;../color&quot;:618,&quot;../dragelement&quot;:640,&quot;../drawing&quot;:643,&quot;./constants&quot;:692,d3:128}],695:[function(t,e,r){&quot;use strict&quot;;e.exports={moduleType:&quot;component&quot;,name:&quot;rangeslider&quot;,schema:{subplots:{xaxis:{rangeslider:t(&quot;./attributes&quot;)}}},layoutAttributes:t(&quot;./attributes&quot;),handleDefaults:t(&quot;./defaults&quot;),calcAutorange:t(&quot;./calc_autorange&quot;),draw:t(&quot;./draw&quot;)}},{&quot;./attributes&quot;:690,&quot;./calc_autorange&quot;:691,&quot;./defaults&quot;:693,&quot;./draw&quot;:694}],696:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../annotations/attributes&quot;),i=t(&quot;../../traces/scatter/attributes&quot;).line,a=t(&quot;../drawing/attributes&quot;).dash,o=t(&quot;../../lib/extend&quot;).extendFlat;e.exports={_isLinkedToArray:&quot;shape&quot;,visible:{valType:&quot;boolean&quot;,dflt:!0,editType:&quot;calcIfAutorange&quot;},type:{valType:&quot;enumerated&quot;,values:[&quot;circle&quot;,&quot;rect&quot;,&quot;path&quot;,&quot;line&quot;],editType:&quot;calcIfAutorange&quot;},layer:{valType:&quot;enumerated&quot;,values:[&quot;below&quot;,&quot;above&quot;],dflt:&quot;above&quot;,editType:&quot;arraydraw&quot;},xref:o({},n.xref,{}),x0:{valType:&quot;any&quot;,editType:&quot;calcIfAutorange&quot;},x1:{valType:&quot;any&quot;,editType:&quot;calcIfAutorange&quot;},yref:o({},n.yref,{}),y0:{valType:&quot;any&quot;,editType:&quot;calcIfAutorange&quot;},y1:{valType:&quot;any&quot;,editType:&quot;calcIfAutorange&quot;},path:{valType:&quot;string&quot;,editType:&quot;calcIfAutorange&quot;},opacity:{valType:&quot;number&quot;,min:0,max:1,dflt:1,editType:&quot;arraydraw&quot;},line:{color:o({},i.color,{editType:&quot;arraydraw&quot;}),width:o({},i.width,{editType:&quot;calcIfAutorange&quot;}),dash:o({},a,{editType:&quot;arraydraw&quot;}),editType:&quot;calcIfAutorange&quot;},fillcolor:{valType:&quot;color&quot;,dflt:&quot;rgba(0,0,0,0)&quot;,editType:&quot;arraydraw&quot;},editType:&quot;arraydraw&quot;}},{&quot;../../lib/extend&quot;:732,&quot;../../traces/scatter/attributes&quot;:1066,&quot;../annotations/attributes&quot;:601,&quot;../drawing/attributes&quot;:642}],697:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,n,i){var a=&quot;category&quot;===t.type?t.r2c:t.d2c;if(void 0!==e)return[a(e),a(r)];if(n){var l,c,u,f,h=1/0,d=-1/0,p=n.match(o.segmentRE);for(&quot;date&quot;===t.type&amp;&amp;(a=s.decodeDate(a)),l=0;l&lt;p.length;l++)void 0!==(c=i[p[l].charAt(0)].drawn)&amp;&amp;(!(u=p[l].substr(1).match(o.paramRE))||u.length&lt;c||((f=a(u[c]))&lt;h&amp;&amp;(h=f),f&gt;d&amp;&amp;(d=f)));return d&gt;=h?[h,d]:void 0}}var i=t(&quot;../../lib&quot;),a=t(&quot;../../plots/cartesian/axes&quot;),o=t(&quot;./constants&quot;),s=t(&quot;./helpers&quot;);e.exports=function(t){var e=t._fullLayout,r=i.filterVisible(e.shapes);if(r.length&amp;&amp;t._fullData.length)for(var s=0;s&lt;r.length;s++){var l,c,u=r[s],f=u.line.width/2;&quot;paper&quot;!==u.xref&amp;&amp;(c=n(l=a.getFromId(t,u.xref),u.x0,u.x1,u.path,o.paramIsX))&amp;&amp;a.expand(l,c,{ppad:f}),&quot;paper&quot;!==u.yref&amp;&amp;(c=n(l=a.getFromId(t,u.yref),u.y0,u.y1,u.path,o.paramIsY))&amp;&amp;a.expand(l,c,{ppad:f})}}},{&quot;../../lib&quot;:743,&quot;../../plots/cartesian/axes&quot;:789,&quot;./constants&quot;:698,&quot;./helpers&quot;:701}],698:[function(t,e,r){&quot;use strict&quot;;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}}},{}],699:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../plots/array_container_defaults&quot;),i=t(&quot;./shape_defaults&quot;);e.exports=function(t,e){n(t,e,{name:&quot;shapes&quot;,handleItemDefaults:i})}},{&quot;../../plots/array_container_defaults&quot;:786,&quot;./shape_defaults&quot;:703}],700:[function(t,e,r){&quot;use strict&quot;;function n(t,e){function r(r){var n={&quot;data-index&quot;:e,&quot;fill-rule&quot;:&quot;evenodd&quot;,d:i(t,s)},d=s.line.width?s.line.color:&quot;rgba(0,0,0,0)&quot;,m=r.append(&quot;path&quot;).attr(n).style(&quot;opacity&quot;,s.opacity).call(c.stroke,d).call(c.fill,s.fillcolor).call(u.dashLine,s.line.dash,s.line.width),g=(s.xref+s.yref).replace(/paper/g,&quot;&quot;);m.call(u.setClipUrl,g?&quot;clip&quot;+t._fullLayout._uid+g:null),t._context.edits.shapePosition&amp;&amp;function(t,e,r,n){function s(t){var r=G.right-G.left,n=G.bottom-G.top,i=t.clientX-G.left,a=t.clientY-G.top,o=r&gt;V&amp;&amp;n&gt;q&amp;&amp;!t.shiftKey?f.getCursor(i/r,1-a/n):&quot;move&quot;;h(e,o),U=o.split(&quot;-&quot;)[0]}var c,u,d,m,g,v,y,x,b,_,w,M,k,A,T,S,E,L,C,z,D,I,P,O,F,R,N,j,B,U,V=10,q=10,H={element:e.node(),gd:t,prepFn:function(o){O=l.getFromId(t,r.xref),F=l.getFromId(t,r.yref),R=p.getDataToPixel(t,O),N=p.getDataToPixel(t,F,!0),j=p.getPixelToData(t,O),B=p.getPixelToData(t,F,!0);var f=&quot;shapes[&quot;+n+&quot;]&quot;;&quot;path&quot;===r.type?(I=r.path,P=f+&quot;.path&quot;):(u=R(r.x0),d=N(r.y0),m=R(r.x1),g=N(r.y1),v=f+&quot;.x0&quot;,y=f+&quot;.y0&quot;,x=f+&quot;.x1&quot;,b=f+&quot;.y1&quot;);u&lt;m?(M=u,S=f+&quot;.x0&quot;,z=&quot;x0&quot;,k=m,E=f+&quot;.x1&quot;,D=&quot;x1&quot;):(M=m,S=f+&quot;.x1&quot;,z=&quot;x1&quot;,k=u,E=f+&quot;.x0&quot;,D=&quot;x0&quot;);d&lt;g?(_=d,A=f+&quot;.y0&quot;,L=&quot;y0&quot;,w=g,T=f+&quot;.y1&quot;,C=&quot;y1&quot;):(_=g,A=f+&quot;.y1&quot;,L=&quot;y1&quot;,w=d,T=f+&quot;.y0&quot;,C=&quot;y0&quot;);c={},s(o),H.moveFn=&quot;move&quot;===U?function(n,o){if(&quot;path&quot;===r.type){var s=function(t){return j(R(t)+n)};O&amp;&amp;&quot;date&quot;===O.type&amp;&amp;(s=p.encodeDate(s));var l=function(t){return B(N(t)+o)};F&amp;&amp;&quot;date&quot;===F.type&amp;&amp;(l=p.encodeDate(l)),r.path=a(I,s,l),c[P]=r.path}else c[v]=r.x0=j(u+n),c[y]=r.y0=B(d+o),c[x]=r.x1=j(m+n),c[b]=r.y1=B(g+o);e.attr(&quot;d&quot;,i(t,r))}:function(n,o){if(&quot;path&quot;===r.type){var s=function(t){return j(R(t)+n)};O&amp;&amp;&quot;date&quot;===O.type&amp;&amp;(s=p.encodeDate(s));var l=function(t){return B(N(t)+o)};F&amp;&amp;&quot;date&quot;===F.type&amp;&amp;(l=p.encodeDate(l)),r.path=a(I,s,l),c[P]=r.path}else{var u=~U.indexOf(&quot;n&quot;)?_+o:_,f=~U.indexOf(&quot;s&quot;)?w+o:w,h=~U.indexOf(&quot;w&quot;)?M+n:M,d=~U.indexOf(&quot;e&quot;)?k+n:k;f-u&gt;q&amp;&amp;(c[A]=r[L]=B(u),c[T]=r[C]=B(f)),d-h&gt;V&amp;&amp;(c[S]=r[z]=j(h),c[E]=r[D]=j(d))}e.attr(&quot;d&quot;,i(t,r))}},doneFn:function(){h(e),o.relayout(t,c)}},G=H.element.getBoundingClientRect();f.init(H),e.node().onmousemove=s}(t,m,s,e)}t._fullLayout._paperdiv.selectAll('.shapelayer [data-index=&quot;'+e+'&quot;]').remove();var n=(t.layout.shapes||[])[e],s=t._fullLayout.shapes[e];if(n&amp;&amp;!1!==s.visible)if(&quot;below&quot;!==s.layer)r(t._fullLayout._shapeUpperLayer);else if(&quot;paper&quot;===s.xref||&quot;paper&quot;===s.yref)r(t._fullLayout._shapeLowerLayer);else{var d=t._fullLayout._plots[s.xref+s.yref];if(d){r((d.mainplotinfo||d).shapelayer)}else r(t._fullLayout._shapeLowerLayer)}}function i(t,e){var r,n,i,a,o=e.type,c=l.getFromId(t,e.xref),u=l.getFromId(t,e.yref),f=t._fullLayout._size;if(c?(r=p.shapePositionToRange(c),n=function(t){return c._offset+c.r2p(r(t,!0))}):n=function(t){return f.l+f.w*t},u?(i=p.shapePositionToRange(u),a=function(t){return u._offset+u.r2p(i(t,!0))}):a=function(t){return f.t+f.h*(1-t)},&quot;path&quot;===o)return c&amp;&amp;&quot;date&quot;===c.type&amp;&amp;(n=p.decodeDate(n)),u&amp;&amp;&quot;date&quot;===u.type&amp;&amp;(a=p.decodeDate(a)),function(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],l=d.numParams[i],c=t.substr(1).replace(d.paramRE,function(t){return a[n]?t=e(t):o[n]&amp;&amp;(t=r(t)),++n&gt;l&amp;&amp;(t=&quot;X&quot;),t});return n&gt;l&amp;&amp;(c=c.replace(/[\s,]*X.*/,&quot;&quot;),s.log(&quot;Ignoring extra params in segment &quot;+t)),i+c})}(e.path,n,a);var h=n(e.x0),m=n(e.x1),g=a(e.y0),v=a(e.y1);if(&quot;line&quot;===o)return&quot;M&quot;+h+&quot;,&quot;+g+&quot;L&quot;+m+&quot;,&quot;+v;if(&quot;rect&quot;===o)return&quot;M&quot;+h+&quot;,&quot;+g+&quot;H&quot;+m+&quot;V&quot;+v+&quot;H&quot;+h+&quot;Z&quot;;var y=(h+m)/2,x=(g+v)/2,b=Math.abs(y-h),_=Math.abs(x-g),w=&quot;A&quot;+b+&quot;,&quot;+_,M=y+b+&quot;,&quot;+x;return&quot;M&quot;+M+w+&quot; 0 1,1 &quot;+(y+&quot;,&quot;+(x-_))+w+&quot; 0 0,1 &quot;+M+&quot;Z&quot;}function a(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&gt;=s?t:(a[n]?t=e(t):o[n]&amp;&amp;(t=r(t)),n++,t)})})}var o=t(&quot;../../plotly&quot;),s=t(&quot;../../lib&quot;),l=t(&quot;../../plots/cartesian/axes&quot;),c=t(&quot;../color&quot;),u=t(&quot;../drawing&quot;),f=t(&quot;../dragelement&quot;),h=t(&quot;../../lib/setcursor&quot;),d=t(&quot;./constants&quot;),p=t(&quot;./helpers&quot;);e.exports={draw:function(t){var e=t._fullLayout;e._shapeUpperLayer.selectAll(&quot;path&quot;).remove(),e._shapeLowerLayer.selectAll(&quot;path&quot;).remove(),e._shapeSubplotLayers.selectAll(&quot;path&quot;).remove();for(var r=0;r&lt;e.shapes.length;r++)e.shapes[r].visible&amp;&amp;n(t,r)},drawOne:n}},{&quot;../../lib&quot;:743,&quot;../../lib/setcursor&quot;:762,&quot;../../plotly&quot;:784,&quot;../../plots/cartesian/axes&quot;:789,&quot;../color&quot;:618,&quot;../dragelement&quot;:640,&quot;../drawing&quot;:643,&quot;./constants&quot;:698,&quot;./helpers&quot;:701}],701:[function(t,e,r){&quot;use strict&quot;;r.rangeToShapePosition=function(t){return&quot;log&quot;===t.type?t.r2d:function(t){return t}},r.shapePositionToRange=function(t){return&quot;log&quot;===t.type?t.d2r:function(t){return t}},r.decodeDate=function(t){return function(e){return e.replace&amp;&amp;(e=e.replace(&quot;_&quot;,&quot; &quot;)),t(e)}},r.encodeDate=function(t){return function(e){return t(e).replace(&quot; &quot;,&quot;_&quot;)}},r.getDataToPixel=function(t,e,n){var i,a=t._fullLayout._size;if(e){var o=r.shapePositionToRange(e);i=function(t){return e._offset+e.r2p(o(t,!0))},&quot;date&quot;===e.type&amp;&amp;(i=r.decodeDate(i))}else i=n?function(t){return a.t+a.h*(1-t)}:function(t){return a.l+a.w*t};return i},r.getPixelToData=function(t,e,n){var i,a=t._fullLayout._size;if(e){var o=r.rangeToShapePosition(e);i=function(t){return o(e.p2r(t-e._offset))}}else i=n?function(t){return 1-(t-a.t)/a.h}:function(t){return(t-a.l)/a.w};return i}},{}],702:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;./draw&quot;);e.exports={moduleType:&quot;component&quot;,name:&quot;shapes&quot;,layoutAttributes:t(&quot;./attributes&quot;),supplyLayoutDefaults:t(&quot;./defaults&quot;),includeBasePlot:t(&quot;../../plots/cartesian/include_components&quot;)(&quot;shapes&quot;),calcAutorange:t(&quot;./calc_autorange&quot;),draw:n.draw,drawOne:n.drawOne}},{&quot;../../plots/cartesian/include_components&quot;:799,&quot;./attributes&quot;:696,&quot;./calc_autorange&quot;:697,&quot;./defaults&quot;:699,&quot;./draw&quot;:700}],703:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib&quot;),i=t(&quot;../../plots/cartesian/axes&quot;),a=t(&quot;./attributes&quot;),o=t(&quot;./helpers&quot;);e.exports=function(t,e,r,s,l){function c(r,i){return n.coerce(t,e,a,r,i)}s=s||{};if(!c(&quot;visible&quot;,!(l=l||{}).itemIsNotPlainObject))return e;c(&quot;layer&quot;),c(&quot;opacity&quot;),c(&quot;fillcolor&quot;),c(&quot;line.color&quot;),c(&quot;line.width&quot;),c(&quot;line.dash&quot;);for(var u=c(&quot;type&quot;,t.path?&quot;path&quot;:&quot;rect&quot;),f=[&quot;x&quot;,&quot;y&quot;],h=0;h&lt;2;h++){var d=f[h],p={_fullLayout:r},m=i.coerceRef(t,e,p,d,&quot;&quot;,&quot;paper&quot;);if(&quot;path&quot;!==u){var g,v,y;&quot;paper&quot;!==m?(g=i.getFromId(p,m),y=o.rangeToShapePosition(g),v=o.shapePositionToRange(g)):v=y=n.identity;var x=d+&quot;0&quot;,b=d+&quot;1&quot;,_=t[x],w=t[b];t[x]=v(t[x],!0),t[b]=v(t[b],!0),i.coercePosition(e,p,c,m,x,.25),i.coercePosition(e,p,c,m,b,.75),e[x]=y(e[x]),e[b]=y(e[b]),t[x]=_,t[b]=w}}return&quot;path&quot;===u?c(&quot;path&quot;):n.noneOrAll(t,e,[&quot;x0&quot;,&quot;x1&quot;,&quot;y0&quot;,&quot;y1&quot;]),e}},{&quot;../../lib&quot;:743,&quot;../../plots/cartesian/axes&quot;:789,&quot;./attributes&quot;:696,&quot;./helpers&quot;:701}],704:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../plots/font_attributes&quot;),i=t(&quot;../../plots/pad_attributes&quot;),a=t(&quot;../../lib/extend&quot;).extendDeepAll,o=t(&quot;../../plot_api/edit_types&quot;).overrideAll,s=t(&quot;../../plots/animation_attributes&quot;),l=t(&quot;./constants&quot;);e.exports=o({_isLinkedToArray:&quot;slider&quot;,visible:{valType:&quot;boolean&quot;,dflt:!0},active:{valType:&quot;number&quot;,min:0,dflt:0},steps:{_isLinkedToArray:&quot;step&quot;,method:{valType:&quot;enumerated&quot;,values:[&quot;restyle&quot;,&quot;relayout&quot;,&quot;animate&quot;,&quot;update&quot;,&quot;skip&quot;],dflt:&quot;restyle&quot;},args:{valType:&quot;info_array&quot;,freeLength:!0,items:[{valType:&quot;any&quot;},{valType:&quot;any&quot;},{valType:&quot;any&quot;}]},label:{valType:&quot;string&quot;},value:{valType:&quot;string&quot;},execute:{valType:&quot;boolean&quot;,dflt:!0}},lenmode:{valType:&quot;enumerated&quot;,values:[&quot;fraction&quot;,&quot;pixels&quot;],dflt:&quot;fraction&quot;},len:{valType:&quot;number&quot;,min:0,dflt:1},x:{valType:&quot;number&quot;,min:-2,max:3,dflt:0},pad:a({},i,{},{t:{dflt:20}}),xanchor:{valType:&quot;enumerated&quot;,values:[&quot;auto&quot;,&quot;left&quot;,&quot;center&quot;,&quot;right&quot;],dflt:&quot;left&quot;},y:{valType:&quot;number&quot;,min:-2,max:3,dflt:0},yanchor:{valType:&quot;enumerated&quot;,values:[&quot;auto&quot;,&quot;top&quot;,&quot;middle&quot;,&quot;bottom&quot;],dflt:&quot;top&quot;},transition:{duration:{valType:&quot;number&quot;,min:0,dflt:150},easing:{valType:&quot;enumerated&quot;,values:s.transition.easing.values,dflt:&quot;cubic-in-out&quot;}},currentvalue:{visible:{valType:&quot;boolean&quot;,dflt:!0},xanchor:{valType:&quot;enumerated&quot;,values:[&quot;left&quot;,&quot;center&quot;,&quot;right&quot;],dflt:&quot;left&quot;},offset:{valType:&quot;number&quot;,dflt:10},prefix:{valType:&quot;string&quot;},suffix:{valType:&quot;string&quot;},font:n({})},font:n({}),activebgcolor:{valType:&quot;color&quot;,dflt:l.gripBgActiveColor},bgcolor:{valType:&quot;color&quot;,dflt:l.railBgColor},bordercolor:{valType:&quot;color&quot;,dflt:l.railBorderColor},borderwidth:{valType:&quot;number&quot;,min:0,dflt:l.railBorderWidth},ticklen:{valType:&quot;number&quot;,min:0,dflt:l.tickLength},tickcolor:{valType:&quot;color&quot;,dflt:l.tickColor},tickwidth:{valType:&quot;number&quot;,min:0,dflt:1},minorticklen:{valType:&quot;number&quot;,min:0,dflt:l.minorTickLength}},&quot;arraydraw&quot;,&quot;from-root&quot;)},{&quot;../../lib/extend&quot;:732,&quot;../../plot_api/edit_types&quot;:773,&quot;../../plots/animation_attributes&quot;:785,&quot;../../plots/font_attributes&quot;:816,&quot;../../plots/pad_attributes&quot;:851,&quot;./constants&quot;:705}],705:[function(t,e,r){&quot;use strict&quot;;e.exports={name:&quot;sliders&quot;,containerClassName:&quot;slider-container&quot;,groupClassName:&quot;slider-group&quot;,inputAreaClass:&quot;slider-input-area&quot;,railRectClass:&quot;slider-rail-rect&quot;,railTouchRectClass:&quot;slider-rail-touch-rect&quot;,gripRectClass:&quot;slider-grip-rect&quot;,tickRectClass:&quot;slider-tick-rect&quot;,inputProxyClass:&quot;slider-input-proxy&quot;,labelsClass:&quot;slider-labels&quot;,labelGroupClass:&quot;slider-label-group&quot;,labelClass:&quot;slider-label&quot;,currentValueClass:&quot;slider-current-value&quot;,railHeight:5,menuIndexAttrName:&quot;slider-active-index&quot;,autoMarginIdRoot:&quot;slider-&quot;,minWidth:30,minHeight:30,textPadX:40,arrowOffsetX:4,railRadius:2,railWidth:5,railBorder:4,railBorderWidth:1,railBorderColor:&quot;#bec8d9&quot;,railBgColor:&quot;#f8fafc&quot;,railInset:8,stepInset:10,gripRadius:10,gripWidth:20,gripHeight:20,gripBorder:20,gripBorderWidth:1,gripBorderColor:&quot;#bec8d9&quot;,gripBgColor:&quot;#f6f8fa&quot;,gripBgActiveColor:&quot;#dbdde0&quot;,labelPadding:8,labelOffset:0,tickWidth:1,tickColor:&quot;#333&quot;,tickOffset:25,tickLength:7,minorTickOffset:25,minorTickColor:&quot;#333&quot;,minorTickLength:4,currentValuePadding:8,currentValueInset:0}},{}],706:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r){function n(r,n){return i.coerce(t,e,o,r,n)}if(n(&quot;visible&quot;,function(t,e){function r(t,e){return i.coerce(n,a,l,t,e)}var n,a,o=t.steps||[],s=e.steps=[];for(var c=0;c&lt;o.length;c++)n=o[c],a={},r(&quot;method&quot;),i.isPlainObject(n)&amp;&amp;(&quot;skip&quot;===a.method||Array.isArray(n.args))&amp;&amp;(r(&quot;args&quot;),r(&quot;label&quot;,&quot;step-&quot;+c),r(&quot;value&quot;,a.label),r(&quot;execute&quot;),s.push(a));return s}(t,e).length&gt;0)){n(&quot;active&quot;),n(&quot;x&quot;),n(&quot;y&quot;),i.noneOrAll(t,e,[&quot;x&quot;,&quot;y&quot;]),n(&quot;xanchor&quot;),n(&quot;yanchor&quot;),n(&quot;len&quot;),n(&quot;lenmode&quot;),n(&quot;pad.t&quot;),n(&quot;pad.r&quot;),n(&quot;pad.b&quot;),n(&quot;pad.l&quot;),i.coerceFont(n,&quot;font&quot;,r.font);n(&quot;currentvalue.visible&quot;)&amp;&amp;(n(&quot;currentvalue.xanchor&quot;),n(&quot;currentvalue.prefix&quot;),n(&quot;currentvalue.suffix&quot;),n(&quot;currentvalue.offset&quot;),i.coerceFont(n,&quot;currentvalue.font&quot;,e.font)),n(&quot;transition.duration&quot;),n(&quot;transition.easing&quot;),n(&quot;bgcolor&quot;),n(&quot;activebgcolor&quot;),n(&quot;bordercolor&quot;),n(&quot;borderwidth&quot;),n(&quot;ticklen&quot;),n(&quot;tickwidth&quot;),n(&quot;tickcolor&quot;),n(&quot;minorticklen&quot;)}}var i=t(&quot;../../lib&quot;),a=t(&quot;../../plots/array_container_defaults&quot;),o=t(&quot;./attributes&quot;),s=t(&quot;./constants&quot;).name,l=o.steps;e.exports=function(t,e){a(t,e,{name:s,handleItemDefaults:n})}},{&quot;../../lib&quot;:743,&quot;../../plots/array_container_defaults&quot;:786,&quot;./attributes&quot;:704,&quot;./constants&quot;:705}],707:[function(t,e,r){&quot;use strict&quot;;function n(t){return t._index}function i(t,e,r){if(e.currentvalue.visible){var n,i,a=t.selectAll(&quot;text&quot;).data([0]);switch(e.currentvalue.xanchor){case&quot;right&quot;:n=e.inputAreaLength-M.currentValueInset-e.currentValueMaxWidth,i=&quot;left&quot;;break;case&quot;center&quot;:n=.5*e.inputAreaLength,i=&quot;middle&quot;;break;default:n=M.currentValueInset,i=&quot;left&quot;}a.enter().append(&quot;text&quot;).classed(M.labelClass,!0).classed(&quot;user-select-none&quot;,!0).attr({&quot;text-anchor&quot;:i,&quot;data-notex&quot;:1});var o=e.currentvalue.prefix?e.currentvalue.prefix:&quot;&quot;;if(&quot;string&quot;==typeof r)o+=r;else{o+=e.steps[e.active].label}e.currentvalue.suffix&amp;&amp;(o+=e.currentvalue.suffix),a.call(b.font,e.currentvalue.font).text(o).call(_.convertToTspans,e.gd);var s=_.lineCount(a),l=(e.currentValueMaxLines+1-s)*e.currentvalue.font.size*k;return _.positionText(a,n,l),a}}function a(t,e,r){var n=t.selectAll(&quot;rect.&quot;+M.gripRectClass).data([0]);n.enter().append(&quot;rect&quot;).classed(M.gripRectClass,!0).call(u,e,t,r).style(&quot;pointer-events&quot;,&quot;all&quot;),n.attr({width:M.gripWidth,height:M.gripHeight,rx:M.gripRadius,ry:M.gripRadius}).call(x.stroke,r.bordercolor).call(x.fill,r.bgcolor).style(&quot;stroke-width&quot;,r.borderwidth+&quot;px&quot;)}function o(t,e,r){var n=t.selectAll(&quot;text&quot;).data([0]);return n.enter().append(&quot;text&quot;).classed(M.labelClass,!0).classed(&quot;user-select-none&quot;,!0).attr({&quot;text-anchor&quot;:&quot;middle&quot;,&quot;data-notex&quot;:1}),n.call(b.font,r.font).text(e.step.label).call(_.convertToTspans,r.gd),n}function s(t,e){var r=t.selectAll(&quot;g.&quot;+M.labelsClass).data([0]);r.enter().append(&quot;g&quot;).classed(M.labelsClass,!0);var n=r.selectAll(&quot;g.&quot;+M.labelGroupClass).data(e.labelSteps);n.enter().append(&quot;g&quot;).classed(M.labelGroupClass,!0),n.exit().remove(),n.each(function(t){var r=v.select(this);r.call(o,t,e),b.setTranslate(r,d(e,t.fraction),M.tickOffset+e.ticklen+e.font.size*k+M.labelOffset+e.currentValueTotalHeight)})}function l(t,e,r,n,i){var a=Math.round(n*(r.steps.length-1));a!==r.active&amp;&amp;c(t,e,r,a,!0,i)}function c(t,e,r,n,a,o){var s=r.active;r._input.active=r.active=n;var l=r.steps[r.active];e.call(h,r,r.active/(r.steps.length-1),o),e.call(i,r),t.emit(&quot;plotly_sliderchange&quot;,{slider:r,step:r.steps[r.active],interaction:a,previousActive:s}),l&amp;&amp;l.method&amp;&amp;a&amp;&amp;(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&amp;&amp;(r.execute&amp;&amp;y.executeAPICommand(t,r.method,r.args),e._nextMethod=null,e._nextMethodRaf=null)})))}function u(t,e,r){function n(){return r.data()[0]}var i=r.node(),a=v.select(e);t.on(&quot;mousedown&quot;,function(){var t=n();e.emit(&quot;plotly_sliderstart&quot;,{slider:t});var o=r.select(&quot;.&quot;+M.gripRectClass);v.event.stopPropagation(),v.event.preventDefault(),o.call(x.fill,t.activebgcolor);var s=p(t,v.mouse(i)[0]);l(e,r,t,s,!0),t._dragging=!0,a.on(&quot;mousemove&quot;,function(){var t=n(),a=p(t,v.mouse(i)[0]);l(e,r,t,a,!1)}),a.on(&quot;mouseup&quot;,function(){var t=n();t._dragging=!1,o.call(x.fill,t.bgcolor),a.on(&quot;mouseup&quot;,null),a.on(&quot;mousemove&quot;,null),e.emit(&quot;plotly_sliderend&quot;,{slider:t,step:t.steps[t.active]})})})}function f(t,e){var r=t.selectAll(&quot;rect.&quot;+M.tickRectClass).data(e.steps);r.enter().append(&quot;rect&quot;).classed(M.tickRectClass,!0),r.exit().remove(),r.attr({width:e.tickwidth+&quot;px&quot;,&quot;shape-rendering&quot;:&quot;crispEdges&quot;}),r.each(function(t,r){var n=r%e.labelStride==0,i=v.select(this);i.attr({height:n?e.ticklen:e.minorticklen}).call(x.fill,e.tickcolor),b.setTranslate(i,d(e,r/(e.steps.length-1))-.5*e.tickwidth,(n?M.tickOffset:M.minorTickOffset)+e.currentValueTotalHeight)})}function h(t,e,r,n){var i=t.select(&quot;rect.&quot;+M.gripRectClass),a=d(e,r);if(!e._invokingCommand){var o=i;n&amp;&amp;e.transition.duration&gt;0&amp;&amp;(o=o.transition().duration(e.transition.duration).ease(e.transition.easing)),o.attr(&quot;transform&quot;,&quot;translate(&quot;+(a-.5*M.gripWidth)+&quot;,&quot;+e.currentValueTotalHeight+&quot;)&quot;)}}function d(t,e){return t.inputAreaStart+M.stepInset+(t.inputAreaLength-2*M.stepInset)*Math.min(1,Math.max(0,e))}function p(t,e){return Math.min(1,Math.max(0,(e-M.stepInset-t.inputAreaStart)/(t.inputAreaLength-2*M.stepInset-2*t.inputAreaStart)))}function m(t,e,r){var n=t.selectAll(&quot;rect.&quot;+M.railTouchRectClass).data([0]);n.enter().append(&quot;rect&quot;).classed(M.railTouchRectClass,!0).call(u,e,t,r).style(&quot;pointer-events&quot;,&quot;all&quot;),n.attr({width:r.inputAreaLength,height:Math.max(r.inputAreaWidth,M.tickOffset+r.ticklen+r.labelHeight)}).call(x.fill,r.bgcolor).attr(&quot;opacity&quot;,0),b.setTranslate(n,0,r.currentValueTotalHeight)}function g(t,e){var r=t.selectAll(&quot;rect.&quot;+M.railRectClass).data([0]);r.enter().append(&quot;rect&quot;).classed(M.railRectClass,!0);var n=e.inputAreaLength-2*M.railInset;r.attr({width:n,height:M.railWidth,rx:M.railRadius,ry:M.railRadius,&quot;shape-rendering&quot;:&quot;crispEdges&quot;}).call(x.stroke,e.bordercolor).call(x.fill,e.bgcolor).style(&quot;stroke-width&quot;,e.borderwidth+&quot;px&quot;),b.setTranslate(r,M.railInset,.5*(e.inputAreaWidth-M.railWidth)+e.currentValueTotalHeight)}var v=t(&quot;d3&quot;),y=t(&quot;../../plots/plots&quot;),x=t(&quot;../color&quot;),b=t(&quot;../drawing&quot;),_=t(&quot;../../lib/svg_text_utils&quot;),w=t(&quot;../legend/anchor_utils&quot;),M=t(&quot;./constants&quot;),k=t(&quot;../../constants/alignment&quot;).LINE_SPACING;e.exports=function(t){var e=t._fullLayout,r=function(t,e){for(var r=t[M.name],n=[],i=0;i&lt;r.length;i++){var a=r[i];a.visible&amp;&amp;a.steps.length&amp;&amp;(a.gd=e,n.push(a))}return n}(e,t),l=e._infolayer.selectAll(&quot;g.&quot;+M.containerClassName).data(r.length&gt;0?[0]:[]);if(l.enter().append(&quot;g&quot;).classed(M.containerClassName,!0).style(&quot;cursor&quot;,&quot;ew-resize&quot;),l.exit().remove(),l.exit().size()&amp;&amp;function(t){for(var e=t._fullLayout._pushmargin||{},r=Object.keys(e),n=0;n&lt;r.length;n++){var i=r[n];-1!==i.indexOf(M.autoMarginIdRoot)&amp;&amp;y.autoMargin(t,i)}}(t),0!==r.length){var u=l.selectAll(&quot;g.&quot;+M.groupClassName).data(r,n);u.enter().append(&quot;g&quot;).classed(M.groupClassName,!0),u.exit().each(function(e){v.select(this).remove(),e._commandObserver.remove(),delete e._commandObserver,y.autoMargin(t,M.autoMarginIdRoot+e._index)});for(var d=0;d&lt;r.length;d++){var p=r[d];!function(t,e){var r=b.tester.selectAll(&quot;g.&quot;+M.labelGroupClass).data(e.steps);r.enter().append(&quot;g&quot;).classed(M.labelGroupClass,!0);var n=0,a=0;r.each(function(t){var r=o(v.select(this),{step:t},e).node();if(r){var i=b.bBox(r);a=Math.max(a,i.height),n=Math.max(n,i.width)}}),r.remove(),e.inputAreaWidth=Math.max(M.railWidth,M.gripHeight);var s=t._fullLayout._size;e.lx=s.l+s.w*e.x,e.ly=s.t+s.h*(1-e.y),&quot;fraction&quot;===e.lenmode?e.outerLength=Math.round(s.w*e.len):e.outerLength=e.len,e.lenPad=Math.round(.5*M.gripWidth),e.inputAreaStart=0,e.inputAreaLength=Math.round(e.outerLength-e.pad.l-e.pad.r);var l=(e.inputAreaLength-2*M.stepInset)/(e.steps.length-1),c=n+M.labelPadding;if(e.labelStride=Math.max(1,Math.ceil(c/l)),e.labelHeight=a,e.currentValueMaxWidth=0,e.currentValueHeight=0,e.currentValueTotalHeight=0,e.currentValueMaxLines=1,e.currentvalue.visible){var u=b.tester.append(&quot;g&quot;);r.each(function(t){var r=i(u,e,t.label),n=r.node()&amp;&amp;b.bBox(r.node())||{width:0,height:0},a=_.lineCount(r);e.currentValueMaxWidth=Math.max(e.currentValueMaxWidth,Math.ceil(n.width)),e.currentValueHeight=Math.max(e.currentValueHeight,Math.ceil(n.height)),e.currentValueMaxLines=Math.max(e.currentValueMaxLines,a)}),e.currentValueTotalHeight=e.currentValueHeight+e.currentvalue.offset,u.remove()}e.height=e.currentValueTotalHeight+M.tickOffset+e.ticklen+M.labelOffset+e.labelHeight+e.pad.t+e.pad.b;var f=&quot;left&quot;;w.isRightAnchor(e)&amp;&amp;(e.lx-=e.outerLength,f=&quot;right&quot;),w.isCenterAnchor(e)&amp;&amp;(e.lx-=e.outerLength/2,f=&quot;center&quot;);var h=&quot;top&quot;;w.isBottomAnchor(e)&amp;&amp;(e.ly-=e.height,h=&quot;bottom&quot;),w.isMiddleAnchor(e)&amp;&amp;(e.ly-=e.height/2,h=&quot;middle&quot;),e.outerLength=Math.ceil(e.outerLength),e.height=Math.ceil(e.height),e.lx=Math.round(e.lx),e.ly=Math.round(e.ly),y.autoMargin(t,M.autoMarginIdRoot+e._index,{x:e.x,y:e.y,l:e.outerLength*({right:1,center:.5}[f]||0),r:e.outerLength*({left:1,center:.5}[f]||0),b:e.height*({top:1,middle:.5}[h]||0),t:e.height*({bottom:1,middle:.5}[h]||0)})}(t,p)}u.each(function(e){if(!(e.steps.length&lt;2)){var r=v.select(this);!function(t){t.labelSteps=[];for(var e=t.steps.length,r=0;r&lt;e;r+=t.labelStride)t.labelSteps.push({fraction:r/(e-1),step:t.steps[r]})}(e),y.manageCommandObserver(t,e,e.steps,function(e){var n=r.data()[0];n.active!==e.index&amp;&amp;(n._dragging||c(t,r,n,e.index,!1,!0))}),function(t,e,r){r.active&gt;=r.steps.length&amp;&amp;(r.active=0),e.call(i,r).call(g,r).call(s,r).call(f,r).call(m,t,r).call(a,t,r),b.setTranslate(e,r.lx+r.pad.l,r.ly+r.pad.t),e.call(h,r,r.active/(r.steps.length-1),!1),e.call(i,r)}(t,v.select(this),e)}})}}},{&quot;../../constants/alignment&quot;:716,&quot;../../lib/svg_text_utils&quot;:766,&quot;../../plots/plots&quot;:852,&quot;../color&quot;:618,&quot;../drawing&quot;:643,&quot;../legend/anchor_utils&quot;:669,&quot;./constants&quot;:705,d3:128}],708:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;./constants&quot;);e.exports={moduleType:&quot;component&quot;,name:n.name,layoutAttributes:t(&quot;./attributes&quot;),supplyLayoutDefaults:t(&quot;./defaults&quot;),draw:t(&quot;./draw&quot;)}},{&quot;./attributes&quot;:704,&quot;./constants&quot;:705,&quot;./defaults&quot;:706,&quot;./draw&quot;:707}],709:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;d3&quot;),i=t(&quot;fast-isnumeric&quot;),a=t(&quot;../../plotly&quot;),o=t(&quot;../../plots/plots&quot;),s=t(&quot;../../lib&quot;),l=t(&quot;../drawing&quot;),c=t(&quot;../color&quot;),u=t(&quot;../../lib/svg_text_utils&quot;),f=t(&quot;../../constants/interactions&quot;),h=/ [XY][0-9]* /;(e.exports={}).draw=function(t,e,r){function d(t){s.syncOrAsync([p,m],t)}function p(e){var r;return M?(r=&quot;&quot;,M.rotate&amp;&amp;(r+=&quot;rotate(&quot;+[M.rotate,w.x,w.y]+&quot;)&quot;),M.offset&amp;&amp;(r+=&quot;translate(0, &quot;+M.offset+&quot;)&quot;)):r=null,e.attr(&quot;transform&quot;,r),e.style({&quot;font-family&quot;:S,&quot;font-size&quot;:n.round(E,2)+&quot;px&quot;,fill:c.rgb(L),opacity:C*c.opacity(L),&quot;font-weight&quot;:o.fontWeight}).attr(w).call(u.convertToTspans,t),o.previousPromises(t)}function m(t){var e=n.select(t.node().parentNode);if(_&amp;&amp;_.selection&amp;&amp;_.side&amp;&amp;D){e.attr(&quot;transform&quot;,null);var r=0,a={left:&quot;right&quot;,right:&quot;left&quot;,top:&quot;bottom&quot;,bottom:&quot;top&quot;}[_.side],o=-1!==[&quot;left&quot;,&quot;top&quot;].indexOf(_.side)?-1:1,c=i(_.pad)?_.pad:2,u=l.bBox(e.node()),f={left:0,top:0,right:A.width,bottom:A.height},h=_.maxShift||(f[_.side]-u[_.side])*(&quot;left&quot;===_.side||&quot;top&quot;===_.side?-1:1);if(h&lt;0)r=h;else{var d=_.offsetLeft||0,p=_.offsetTop||0;u.left-=d,u.right-=d,u.top-=p,u.bottom-=p,_.selection.each(function(){var t=l.bBox(this);s.bBoxIntersect(u,t,c)&amp;&amp;(r=Math.max(r,o*(t[_.side]-u[a])+c))}),r=Math.min(h,r)}if(r&gt;0||h&lt;0){var m={left:[-r,0],right:[r,0],top:[0,-r],bottom:[0,r]}[_.side];e.attr(&quot;transform&quot;,&quot;translate(&quot;+m+&quot;)&quot;)}}}var g,v=r.propContainer,y=r.propName,x=r.placeholder,b=r.traceIndex,_=r.avoid||{},w=r.attributes,M=r.transform,k=r.containerGroup,A=t._fullLayout,T=v.titlefont||{},S=T.family,E=T.size,L=T.color,C=1,z=!1,D=(v.title||&quot;&quot;).trim();&quot;title&quot;===y?g=&quot;titleText&quot;:-1!==y.indexOf(&quot;axis&quot;)?g=&quot;axisTitleText&quot;:y.indexOf(!0)&amp;&amp;(g=&quot;colorbarTitleText&quot;);var I=t._context.edits[g];&quot;&quot;===D?C=0:D.replace(h,&quot; % &quot;)===x.replace(h,&quot; % &quot;)&amp;&amp;(C=.2,z=!0,I||(D=&quot;&quot;));var P=D||I;k||(k=A._infolayer.selectAll(&quot;.g-&quot;+e).data([0])).enter().append(&quot;g&quot;).classed(&quot;g-&quot;+e,!0);var O=k.selectAll(&quot;text&quot;).data(P?[0]:[]);return O.enter().append(&quot;text&quot;),O.text(D).attr(&quot;class&quot;,e),O.exit().remove(),P?(O.call(d),I&amp;&amp;(D?O.on(&quot;.opacity&quot;,null):(C=0,z=!0,O.text(x).on(&quot;mouseover.opacity&quot;,function(){n.select(this).transition().duration(f.SHOW_PLACEHOLDER).style(&quot;opacity&quot;,1)}).on(&quot;mouseout.opacity&quot;,function(){n.select(this).transition().duration(f.HIDE_PLACEHOLDER).style(&quot;opacity&quot;,0)})),O.call(u.makeEditable,{gd:t}).on(&quot;edit&quot;,function(e){void 0!==b?a.restyle(t,y,e,b):a.relayout(t,y,e)}).on(&quot;cancel&quot;,function(){this.text(this.attr(&quot;data-unformatted&quot;)).call(d)}).on(&quot;input&quot;,function(t){this.text(t||&quot; &quot;).call(u.positionText,w.x,w.y)})),O.classed(&quot;js-placeholder&quot;,z),k):k}},{&quot;../../constants/interactions&quot;:720,&quot;../../lib&quot;:743,&quot;../../lib/svg_text_utils&quot;:766,&quot;../../plotly&quot;:784,&quot;../../plots/plots&quot;:852,&quot;../color&quot;:618,&quot;../drawing&quot;:643,d3:128,&quot;fast-isnumeric&quot;:140}],710:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../plots/font_attributes&quot;),i=t(&quot;../color/attributes&quot;),a=t(&quot;../../lib/extend&quot;).extendFlat,o=t(&quot;../../plot_api/edit_types&quot;).overrideAll,s=t(&quot;../../plots/pad_attributes&quot;);e.exports=o({_isLinkedToArray:&quot;updatemenu&quot;,_arrayAttrRegexps:[/^updatemenus\[(0|[1-9][0-9]+)\]\.buttons/],visible:{valType:&quot;boolean&quot;},type:{valType:&quot;enumerated&quot;,values:[&quot;dropdown&quot;,&quot;buttons&quot;],dflt:&quot;dropdown&quot;},direction:{valType:&quot;enumerated&quot;,values:[&quot;left&quot;,&quot;right&quot;,&quot;up&quot;,&quot;down&quot;],dflt:&quot;down&quot;},active:{valType:&quot;integer&quot;,min:-1,dflt:0},showactive:{valType:&quot;boolean&quot;,dflt:!0},buttons:{_isLinkedToArray:&quot;button&quot;,method:{valType:&quot;enumerated&quot;,values:[&quot;restyle&quot;,&quot;relayout&quot;,&quot;animate&quot;,&quot;update&quot;,&quot;skip&quot;],dflt:&quot;restyle&quot;},args:{valType:&quot;info_array&quot;,freeLength:!0,items:[{valType:&quot;any&quot;},{valType:&quot;any&quot;},{valType:&quot;any&quot;}]},label:{valType:&quot;string&quot;,dflt:&quot;&quot;},execute:{valType:&quot;boolean&quot;,dflt:!0}},x:{valType:&quot;number&quot;,min:-2,max:3,dflt:-.05},xanchor:{valType:&quot;enumerated&quot;,values:[&quot;auto&quot;,&quot;left&quot;,&quot;center&quot;,&quot;right&quot;],dflt:&quot;right&quot;},y:{valType:&quot;number&quot;,min:-2,max:3,dflt:1},yanchor:{valType:&quot;enumerated&quot;,values:[&quot;auto&quot;,&quot;top&quot;,&quot;middle&quot;,&quot;bottom&quot;],dflt:&quot;top&quot;},pad:a({},s,{}),font:n({}),bgcolor:{valType:&quot;color&quot;},bordercolor:{valType:&quot;color&quot;,dflt:i.borderLine},borderwidth:{valType:&quot;number&quot;,min:0,dflt:1,editType:&quot;arraydraw&quot;}},&quot;arraydraw&quot;,&quot;from-root&quot;)},{&quot;../../lib/extend&quot;:732,&quot;../../plot_api/edit_types&quot;:773,&quot;../../plots/font_attributes&quot;:816,&quot;../../plots/pad_attributes&quot;:851,&quot;../color/attributes&quot;:617}],711:[function(t,e,r){&quot;use strict&quot;;e.exports={name:&quot;updatemenus&quot;,containerClassName:&quot;updatemenu-container&quot;,headerGroupClassName:&quot;updatemenu-header-group&quot;,headerClassName:&quot;updatemenu-header&quot;,headerArrowClassName:&quot;updatemenu-header-arrow&quot;,dropdownButtonGroupClassName:&quot;updatemenu-dropdown-button-group&quot;,dropdownButtonClassName:&quot;updatemenu-dropdown-button&quot;,buttonClassName:&quot;updatemenu-button&quot;,itemRectClassName:&quot;updatemenu-item-rect&quot;,itemTextClassName:&quot;updatemenu-item-text&quot;,menuIndexAttrName:&quot;updatemenu-active-index&quot;,autoMarginIdRoot:&quot;updatemenu-&quot;,blankHeaderOpts:{label:&quot;  &quot;},minWidth:30,minHeight:30,textPadX:24,arrowPadX:16,rx:2,ry:2,textOffsetX:12,textOffsetY:3,arrowOffsetX:4,gapButtonHeader:5,gapButton:2,activeColor:&quot;#F4FAFF&quot;,hoverColor:&quot;#F4FAFF&quot;,arrowSymbol:{left:&quot;\u25c4&quot;,right:&quot;\u25ba&quot;,up:&quot;\u25b2&quot;,down:&quot;\u25bc&quot;}}},{}],712:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r){function n(r,n){return i.coerce(t,e,o,r,n)}n(&quot;visible&quot;,function(t,e){function r(t,e){return i.coerce(n,a,l,t,e)}var n,a,o=t.buttons||[],s=e.buttons=[];for(var c=0;c&lt;o.length;c++)n=o[c],a={},r(&quot;method&quot;),i.isPlainObject(n)&amp;&amp;(&quot;skip&quot;===a.method||Array.isArray(n.args))&amp;&amp;(r(&quot;args&quot;),r(&quot;label&quot;),r(&quot;execute&quot;),a._index=c,s.push(a));return s}(t,e).length&gt;0)&amp;&amp;(n(&quot;active&quot;),n(&quot;direction&quot;),n(&quot;type&quot;),n(&quot;showactive&quot;),n(&quot;x&quot;),n(&quot;y&quot;),i.noneOrAll(t,e,[&quot;x&quot;,&quot;y&quot;]),n(&quot;xanchor&quot;),n(&quot;yanchor&quot;),n(&quot;pad.t&quot;),n(&quot;pad.r&quot;),n(&quot;pad.b&quot;),n(&quot;pad.l&quot;),i.coerceFont(n,&quot;font&quot;,r.font),n(&quot;bgcolor&quot;,r.paper_bgcolor),n(&quot;bordercolor&quot;),n(&quot;borderwidth&quot;))}var i=t(&quot;../../lib&quot;),a=t(&quot;../../plots/array_container_defaults&quot;),o=t(&quot;./attributes&quot;),s=t(&quot;./constants&quot;).name,l=o.buttons;e.exports=function(t,e){a(t,e,{name:s,handleItemDefaults:n})}},{&quot;../../lib&quot;:743,&quot;../../plots/array_container_defaults&quot;:786,&quot;./attributes&quot;:710,&quot;./constants&quot;:711}],713:[function(t,e,r){&quot;use strict&quot;;function n(t){return t._index}function i(t,e){return+t.attr(M.menuIndexAttrName)===e._index}function a(t,e,r,n,i,a,l,c){e._input.active=e.active=l,&quot;buttons&quot;===e.type?s(t,n,null,null,e):&quot;dropdown&quot;===e.type&amp;&amp;(i.attr(M.menuIndexAttrName,&quot;-1&quot;),o(t,n,i,a,e),c||s(t,n,i,a,e))}function o(t,e,r,n,a){var o=e.selectAll(&quot;g.&quot;+M.headerClassName).data([0]);o.enter().append(&quot;g&quot;).classed(M.headerClassName,!0).style(&quot;pointer-events&quot;,&quot;all&quot;);var c=a.active,u=a.buttons[c]||M.blankHeaderOpts,f={y:a.pad.t,yPad:0,x:a.pad.l,xPad:0,index:0},g={width:a.headerWidth,height:a.headerHeight};o.call(l,a,u,t).call(p,a,f,g);var v=e.selectAll(&quot;text.&quot;+M.headerArrowClassName).data([0]);v.enter().append(&quot;text&quot;).classed(M.headerArrowClassName,!0).classed(&quot;user-select-none&quot;,!0).attr(&quot;text-anchor&quot;,&quot;end&quot;).call(x.font,a.font).text(M.arrowSymbol[a.direction]),v.attr({x:a.headerWidth-M.arrowOffsetX+a.pad.l,y:a.headerHeight/2+M.textOffsetY+a.pad.t}),o.on(&quot;click&quot;,function(){r.call(m),r.attr(M.menuIndexAttrName,i(r,a)?-1:String(a._index)),s(t,e,r,n,a)}),o.on(&quot;mouseover&quot;,function(){o.call(h)}),o.on(&quot;mouseout&quot;,function(){o.call(d,a)}),x.setTranslate(e,a.lx,a.ly)}function s(t,e,r,n,i){r||(r=e).attr(&quot;pointer-events&quot;,&quot;all&quot;);var o=function(t){return-1==+t.attr(M.menuIndexAttrName)}(r)&amp;&amp;&quot;buttons&quot;!==i.type?[]:i.buttons,s=&quot;dropdown&quot;===i.type?M.dropdownButtonClassName:M.buttonClassName,c=r.selectAll(&quot;g.&quot;+s).data(o),u=c.enter().append(&quot;g&quot;).classed(s,!0),m=c.exit();&quot;dropdown&quot;===i.type?(u.attr(&quot;opacity&quot;,&quot;0&quot;).transition().attr(&quot;opacity&quot;,&quot;1&quot;),m.transition().attr(&quot;opacity&quot;,&quot;0&quot;).remove()):m.remove();var y=0,x=0,b=-1!==[&quot;up&quot;,&quot;down&quot;].indexOf(i.direction);&quot;dropdown&quot;===i.type&amp;&amp;(b?x=i.headerHeight+M.gapButtonHeader:y=i.headerWidth+M.gapButtonHeader),&quot;dropdown&quot;===i.type&amp;&amp;&quot;up&quot;===i.direction&amp;&amp;(x=-M.gapButtonHeader+M.gapButton-i.openHeight),&quot;dropdown&quot;===i.type&amp;&amp;&quot;left&quot;===i.direction&amp;&amp;(y=-M.gapButtonHeader+M.gapButton-i.openWidth);var _={x:i.lx+y+i.pad.l,y:i.ly+x+i.pad.t,yPad:M.gapButton,xPad:M.gapButton,index:0},w={l:_.x+i.borderwidth,t:_.y+i.borderwidth};c.each(function(o,s){var u=g.select(this);u.call(l,i,o,t).call(p,i,_),u.on(&quot;click&quot;,function(){g.event.defaultPrevented||(a(t,i,0,e,r,n,s),o.execute&amp;&amp;v.executeAPICommand(t,o.method,o.args),t.emit(&quot;plotly_buttonclicked&quot;,{menu:i,button:o,active:i.active}))}),u.on(&quot;mouseover&quot;,function(){u.call(h)}),u.on(&quot;mouseout&quot;,function(){u.call(d,i),c.call(f,i)})}),c.call(f,i),b?(w.w=Math.max(i.openWidth,i.headerWidth),w.h=_.y-w.t):(w.w=_.x-w.l,w.h=Math.max(i.openHeight,i.headerHeight)),w.direction=i.direction,n&amp;&amp;(c.size()?function(t,e,r,n,i,a){var o,s,l,c=i.direction,u=&quot;up&quot;===c||&quot;down&quot;===c,f=i.active;if(u)for(s=0,l=0;l&lt;f;l++)s+=i.heights[l]+M.gapButton;else for(o=0,l=0;l&lt;f;l++)o+=i.widths[l]+M.gapButton;n.enable(a,o,s),n.hbar&amp;&amp;n.hbar.attr(&quot;opacity&quot;,&quot;0&quot;).transition().attr(&quot;opacity&quot;,&quot;1&quot;);n.vbar&amp;&amp;n.vbar.attr(&quot;opacity&quot;,&quot;0&quot;).transition().attr(&quot;opacity&quot;,&quot;1&quot;)}(0,0,0,n,i,w):function(t){var e=!!t.hbar,r=!!t.vbar;e&amp;&amp;t.hbar.transition().attr(&quot;opacity&quot;,&quot;0&quot;).each(&quot;end&quot;,function(){e=!1,r||t.disable()});r&amp;&amp;t.vbar.transition().attr(&quot;opacity&quot;,&quot;0&quot;).each(&quot;end&quot;,function(){r=!1,e||t.disable()})}(n))}function l(t,e,r,n){t.call(c,e).call(u,e,r,n)}function c(t,e){var r=t.selectAll(&quot;rect&quot;).data([0]);r.enter().append(&quot;rect&quot;).classed(M.itemRectClassName,!0).attr({rx:M.rx,ry:M.ry,&quot;shape-rendering&quot;:&quot;crispEdges&quot;}),r.call(y.stroke,e.bordercolor).call(y.fill,e.bgcolor).style(&quot;stroke-width&quot;,e.borderwidth+&quot;px&quot;)}function u(t,e,r,n){var i=t.selectAll(&quot;text&quot;).data([0]);i.enter().append(&quot;text&quot;).classed(M.itemTextClassName,!0).classed(&quot;user-select-none&quot;,!0).attr({&quot;text-anchor&quot;:&quot;start&quot;,&quot;data-notex&quot;:1}),i.call(x.font,e.font).text(r.label).call(b.convertToTspans,n)}function f(t,e){var r=e.active;t.each(function(t,n){var i=g.select(this);n===r&amp;&amp;e.showactive&amp;&amp;i.select(&quot;rect.&quot;+M.itemRectClassName).call(y.fill,M.activeColor)})}function h(t){t.select(&quot;rect.&quot;+M.itemRectClassName).call(y.fill,M.hoverColor)}function d(t,e){t.select(&quot;rect.&quot;+M.itemRectClassName).call(y.fill,e.bgcolor)}function p(t,e,r,n){n=n||{};var i=t.select(&quot;.&quot;+M.itemRectClassName),a=t.select(&quot;.&quot;+M.itemTextClassName),o=e.borderwidth,s=r.index;x.setTranslate(t,o+r.x,o+r.y);var l=-1!==[&quot;up&quot;,&quot;down&quot;].indexOf(e.direction),c=n.height||(l?e.heights[s]:e.height1);i.attr({x:0,y:0,width:n.width||(l?e.width1:e.widths[s]),height:c});var u=e.font.size*w,f=(b.lineCount(a)-1)*u/2;b.positionText(a,M.textOffsetX,c/2-f+M.textOffsetY),l?r.y+=e.heights[s]+r.yPad:r.x+=e.widths[s]+r.xPad,r.index++}function m(t){t.selectAll(&quot;g.&quot;+M.dropdownButtonClassName).remove()}var g=t(&quot;d3&quot;),v=t(&quot;../../plots/plots&quot;),y=t(&quot;../color&quot;),x=t(&quot;../drawing&quot;),b=t(&quot;../../lib/svg_text_utils&quot;),_=t(&quot;../legend/anchor_utils&quot;),w=t(&quot;../../constants/alignment&quot;).LINE_SPACING,M=t(&quot;./constants&quot;),k=t(&quot;./scrollbox&quot;);e.exports=function(t){var e=t._fullLayout,r=function(t){for(var e=t[M.name],r=[],n=0;n&lt;e.length;n++){var i=e[n];i.visible&amp;&amp;r.push(i)}return r}(e),c=e._menulayer.selectAll(&quot;g.&quot;+M.containerClassName).data(r.length&gt;0?[0]:[]);if(c.enter().append(&quot;g&quot;).classed(M.containerClassName,!0).style(&quot;cursor&quot;,&quot;pointer&quot;),c.exit().remove(),c.exit().size()&amp;&amp;function(t){for(var e=t._fullLayout._pushmargin||{},r=Object.keys(e),n=0;n&lt;r.length;n++){var i=r[n];-1!==i.indexOf(M.autoMarginIdRoot)&amp;&amp;v.autoMargin(t,i)}}(t),0!==r.length){var u=c.selectAll(&quot;g.&quot;+M.headerGroupClassName).data(r,n);u.enter().append(&quot;g&quot;).classed(M.headerGroupClassName,!0);var f=c.selectAll(&quot;g.&quot;+M.dropdownButtonGroupClassName).data([0]);f.enter().append(&quot;g&quot;).classed(M.dropdownButtonGroupClassName,!0).style(&quot;pointer-events&quot;,&quot;all&quot;);for(var h=0;h&lt;r.length;h++){var d=r[h];!function(t,e){e.width1=0,e.height1=0,e.heights=[],e.widths=[],e.totalWidth=0,e.totalHeight=0,e.openWidth=0,e.openHeight=0,e.lx=0,e.ly=0;var r=x.tester.selectAll(&quot;g.&quot;+M.dropdownButtonClassName).data(e.buttons);r.enter().append(&quot;g&quot;).classed(M.dropdownButtonClassName,!0);var n=-1!==[&quot;up&quot;,&quot;down&quot;].indexOf(e.direction);r.each(function(r,i){var a=g.select(this);a.call(l,e,r,t);var o=a.select(&quot;.&quot;+M.itemTextClassName),s=o.node()&amp;&amp;x.bBox(o.node()).width,c=Math.max(s+M.textPadX,M.minWidth),u=e.font.size*w,f=b.lineCount(o),h=Math.max(u*f,M.minHeight)+M.textOffsetY;h=Math.ceil(h),c=Math.ceil(c),e.widths[i]=c,e.heights[i]=h,e.height1=Math.max(e.height1,h),e.width1=Math.max(e.width1,c),n?(e.totalWidth=Math.max(e.totalWidth,c),e.openWidth=e.totalWidth,e.totalHeight+=h+M.gapButton,e.openHeight+=h+M.gapButton):(e.totalWidth+=c+M.gapButton,e.openWidth+=c+M.gapButton,e.totalHeight=Math.max(e.totalHeight,h),e.openHeight=e.totalHeight)}),n?e.totalHeight-=M.gapButton:e.totalWidth-=M.gapButton,e.headerWidth=e.width1+M.arrowPadX,e.headerHeight=e.height1,&quot;dropdown&quot;===e.type&amp;&amp;(n?(e.width1+=M.arrowPadX,e.totalHeight=e.height1):e.totalWidth=e.width1,e.totalWidth+=M.arrowPadX),r.remove();var i=e.totalWidth+e.pad.l+e.pad.r,a=e.totalHeight+e.pad.t+e.pad.b,o=t._fullLayout._size;e.lx=o.l+o.w*e.x,e.ly=o.t+o.h*(1-e.y);var s=&quot;left&quot;;_.isRightAnchor(e)&amp;&amp;(e.lx-=i,s=&quot;right&quot;),_.isCenterAnchor(e)&amp;&amp;(e.lx-=i/2,s=&quot;center&quot;);var c=&quot;top&quot;;_.isBottomAnchor(e)&amp;&amp;(e.ly-=a,c=&quot;bottom&quot;),_.isMiddleAnchor(e)&amp;&amp;(e.ly-=a/2,c=&quot;middle&quot;),e.totalWidth=Math.ceil(e.totalWidth),e.totalHeight=Math.ceil(e.totalHeight),e.lx=Math.round(e.lx),e.ly=Math.round(e.ly),v.autoMargin(t,M.autoMarginIdRoot+e._index,{x:e.x,y:e.y,l:i*({right:1,center:.5}[s]||0),r:i*({left:1,center:.5}[s]||0),b:a*({top:1,middle:.5}[c]||0),t:a*({bottom:1,middle:.5}[c]||0)})}(t,d)}var p=&quot;updatemenus&quot;+e._uid,y=new k(t,f,p);u.enter().size()&amp;&amp;(f.node().parentNode.appendChild(f.node()),f.call(m).attr(M.menuIndexAttrName,&quot;-1&quot;)),u.exit().each(function(e){g.select(this).remove(),f.call(m).attr(M.menuIndexAttrName,&quot;-1&quot;),v.autoMargin(t,M.autoMarginIdRoot+e._index)}),u.each(function(e){var r=g.select(this),n=&quot;dropdown&quot;===e.type?f:null;v.manageCommandObserver(t,e,e.buttons,function(i){a(t,e,e.buttons[i.index],r,n,y,i.index,!0)}),&quot;dropdown&quot;===e.type?(o(t,r,f,y,e),i(f,e)&amp;&amp;s(t,r,f,y,e)):s(t,r,null,null,e)})}}},{&quot;../../constants/alignment&quot;:716,&quot;../../lib/svg_text_utils&quot;:766,&quot;../../plots/plots&quot;:852,&quot;../color&quot;:618,&quot;../drawing&quot;:643,&quot;../legend/anchor_utils&quot;:669,&quot;./constants&quot;:711,&quot;./scrollbox&quot;:715,d3:128}],714:[function(t,e,r){arguments[4][708][0].apply(r,arguments)},{&quot;./attributes&quot;:710,&quot;./constants&quot;:711,&quot;./defaults&quot;:712,&quot;./draw&quot;:713,dup:708}],715:[function(t,e,r){&quot;use strict&quot;;function n(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(&quot;rect.scrollbox-bg&quot;).data([0]),this.bg.exit().on(&quot;.drag&quot;,null).on(&quot;wheel&quot;,null).remove(),this.bg.enter().append(&quot;rect&quot;).classed(&quot;scrollbox-bg&quot;,!0).style(&quot;pointer-events&quot;,&quot;all&quot;).attr({opacity:0,x:0,y:0,width:0,height:0})}e.exports=n;var i=t(&quot;d3&quot;),a=t(&quot;../color&quot;),o=t(&quot;../drawing&quot;),s=t(&quot;../../lib&quot;);n.barWidth=2,n.barLength=20,n.barRadius=2,n.barPad=1,n.barColor=&quot;#808BA4&quot;,n.prototype.enable=function(t,e,r){var s=this.gd._fullLayout,l=s.width,c=s.height;this.position=t;var u,f,h,d,p=this.position.l,m=this.position.w,g=this.position.t,v=this.position.h,y=this.position.direction,x=&quot;down&quot;===y,b=&quot;left&quot;===y,_=&quot;up&quot;===y,w=m,M=v;x||b||&quot;right&quot;===y||_||(this.position.direction=&quot;down&quot;,x=!0);x||_?(f=(u=p)+w,x?(h=g,M=(d=Math.min(h+M,c))-h):M=(d=g+M)-(h=Math.max(d-M,0))):(d=(h=g)+M,b?w=(f=p+w)-(u=Math.max(f-w,0)):(u=p,w=(f=Math.min(u+w,l))-u)),this._box={l:u,t:h,w:w,h:M};var k=m&gt;w,A=n.barLength+2*n.barPad,T=n.barWidth+2*n.barPad,S=p,E=g+v;E+T&gt;c&amp;&amp;(E=c-T);var L=this.container.selectAll(&quot;rect.scrollbar-horizontal&quot;).data(k?[0]:[]);L.exit().on(&quot;.drag&quot;,null).remove(),L.enter().append(&quot;rect&quot;).classed(&quot;scrollbar-horizontal&quot;,!0).call(a.fill,n.barColor),k?(this.hbar=L.attr({rx:n.barRadius,ry:n.barRadius,x:S,y:E,width:A,height:T}),this._hbarXMin=S+A/2,this._hbarTranslateMax=w-A):(delete this.hbar,delete this._hbarXMin,delete this._hbarTranslateMax);var C=v&gt;M,z=n.barWidth+2*n.barPad,D=n.barLength+2*n.barPad,I=p+m,P=g;I+z&gt;l&amp;&amp;(I=l-z);var O=this.container.selectAll(&quot;rect.scrollbar-vertical&quot;).data(C?[0]:[]);O.exit().on(&quot;.drag&quot;,null).remove(),O.enter().append(&quot;rect&quot;).classed(&quot;scrollbar-vertical&quot;,!0).call(a.fill,n.barColor),C?(this.vbar=O.attr({rx:n.barRadius,ry:n.barRadius,x:I,y:P,width:z,height:D}),this._vbarYMin=P+D/2,this._vbarTranslateMax=M-D):(delete this.vbar,delete this._vbarYMin,delete this._vbarTranslateMax);var F=this.id,R=u-.5,N=C?f+z+.5:f+.5,j=h-.5,B=k?d+T+.5:d+.5,U=s._topdefs.selectAll(&quot;#&quot;+F).data(k||C?[0]:[]);if(U.exit().remove(),U.enter().append(&quot;clipPath&quot;).attr(&quot;id&quot;,F).append(&quot;rect&quot;),k||C?(this._clipRect=U.select(&quot;rect&quot;).attr({x:Math.floor(R),y:Math.floor(j),width:Math.ceil(N)-Math.floor(R),height:Math.ceil(B)-Math.floor(j)}),this.container.call(o.setClipUrl,F),this.bg.attr({x:p,y:g,width:m,height:v})):(this.bg.attr({width:0,height:0}),this.container.on(&quot;wheel&quot;,null).on(&quot;.drag&quot;,null).call(o.setClipUrl,null),delete this._clipRect),k||C){var V=i.behavior.drag().on(&quot;dragstart&quot;,function(){i.event.sourceEvent.preventDefault()}).on(&quot;drag&quot;,this._onBoxDrag.bind(this));this.container.on(&quot;wheel&quot;,null).on(&quot;wheel&quot;,this._onBoxWheel.bind(this)).on(&quot;.drag&quot;,null).call(V);var q=i.behavior.drag().on(&quot;dragstart&quot;,function(){i.event.sourceEvent.preventDefault(),i.event.sourceEvent.stopPropagation()}).on(&quot;drag&quot;,this._onBarDrag.bind(this));k&amp;&amp;this.hbar.on(&quot;.drag&quot;,null).call(q),C&amp;&amp;this.vbar.on(&quot;.drag&quot;,null).call(q)}this.setTranslate(e,r)},n.prototype.disable=function(){(this.hbar||this.vbar)&amp;&amp;(this.bg.attr({width:0,height:0}),this.container.on(&quot;wheel&quot;,null).on(&quot;.drag&quot;,null).call(o.setClipUrl,null),delete this._clipRect),this.hbar&amp;&amp;(this.hbar.on(&quot;.drag&quot;,null),this.hbar.remove(),delete this.hbar,delete this._hbarXMin,delete this._hbarTranslateMax),this.vbar&amp;&amp;(this.vbar.on(&quot;.drag&quot;,null),this.vbar.remove(),delete this.vbar,delete this._vbarYMin,delete this._vbarTranslateMax)},n.prototype._onBoxDrag=function(){var t=this.translateX,e=this.translateY;this.hbar&amp;&amp;(t-=i.event.dx),this.vbar&amp;&amp;(e-=i.event.dy),this.setTranslate(t,e)},n.prototype._onBoxWheel=function(){var t=this.translateX,e=this.translateY;this.hbar&amp;&amp;(t+=i.event.deltaY),this.vbar&amp;&amp;(e+=i.event.deltaY),this.setTranslate(t,e)},n.prototype._onBarDrag=function(){var t=this.translateX,e=this.translateY;if(this.hbar){var r=t+this._hbarXMin,n=r+this._hbarTranslateMax;t=(s.constrain(i.event.x,r,n)-r)/(n-r)*(this.position.w-this._box.w)}if(this.vbar){var a=e+this._vbarYMin,o=a+this._vbarTranslateMax;e=(s.constrain(i.event.y,a,o)-a)/(o-a)*(this.position.h-this._box.h)}this.setTranslate(t,e)},n.prototype.setTranslate=function(t,e){var r=this.position.w-this._box.w,n=this.position.h-this._box.h;if(t=s.constrain(t||0,0,r),e=s.constrain(e||0,0,n),this.translateX=t,this.translateY=e,this.container.call(o.setTranslate,this._box.l-this.position.l-t,this._box.t-this.position.t-e),this._clipRect&amp;&amp;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(o.setTranslate,t+i*this._hbarTranslateMax,e)}if(this.vbar){var a=e/n;this.vbar.call(o.setTranslate,t,e+a*this._vbarTranslateMax)}}},{&quot;../../lib&quot;:743,&quot;../color&quot;:618,&quot;../drawing&quot;:643,d3:128}],716:[function(t,e,r){&quot;use strict&quot;;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},LINE_SPACING:1.3,MID_SHIFT:.35,OPPOSITE_SIDE:{left:&quot;right&quot;,right:&quot;left&quot;,top:&quot;bottom&quot;,bottom:&quot;top&quot;}}},{}],717:[function(t,e,r){&quot;use strict&quot;;e.exports={solid:[1],dot:[1,1],dash:[4,1],longdash:[8,1],dashdot:[4,1,1,1],longdashdot:[8,1,1,1]}},{}],718:[function(t,e,r){&quot;use strict&quot;;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]}},{}],719:[function(t,e,r){&quot;use strict&quot;;e.exports={circle:&quot;\u25cf&quot;,&quot;circle-open&quot;:&quot;\u25cb&quot;,square:&quot;\u25a0&quot;,&quot;square-open&quot;:&quot;\u25a1&quot;,diamond:&quot;\u25c6&quot;,&quot;diamond-open&quot;:&quot;\u25c7&quot;,cross:&quot;+&quot;,x:&quot;\u274c&quot;}},{}],720:[function(t,e,r){&quot;use strict&quot;;e.exports={SHOW_PLACEHOLDER:100,HIDE_PLACEHOLDER:1e3,DBLCLICKDELAY:300,DESELECTDIM:.2}},{}],721:[function(t,e,r){&quot;use strict&quot;;e.exports={BADNUM:void 0,FP_SAFE:Number.MAX_VALUE/1e4,ONEAVGYEAR:315576e5,ONEAVGMONTH:26298e5,ONEDAY:864e5,ONEHOUR:36e5,ONEMIN:6e4,ONESEC:1e3,EPOCHJD:2440587.5,ALMOST_EQUAL:1-1e-6,MINUS_SIGN:&quot;\u2212&quot;}},{}],722:[function(t,e,r){&quot;use strict&quot;;e.exports={entityToUnicode:{mu:&quot;\u03bc&quot;,&quot;#956&quot;:&quot;\u03bc&quot;,amp:&quot;&amp;&quot;,&quot;#28&quot;:&quot;&amp;&quot;,lt:&quot;&lt;&quot;,&quot;#60&quot;:&quot;&lt;&quot;,gt:&quot;&gt;&quot;,&quot;#62&quot;:&quot;&gt;&quot;,nbsp:&quot;\xa0&quot;,&quot;#160&quot;:&quot;\xa0&quot;,times:&quot;\xd7&quot;,&quot;#215&quot;:&quot;\xd7&quot;,plusmn:&quot;\xb1&quot;,&quot;#177&quot;:&quot;\xb1&quot;,deg:&quot;\xb0&quot;,&quot;#176&quot;:&quot;\xb0&quot;}}},{}],723:[function(t,e,r){&quot;use strict&quot;;r.xmlns=&quot;http://www.w3.org/2000/xmlns/&quot;,r.svg=&quot;http://www.w3.org/2000/svg&quot;,r.xlink=&quot;http://www.w3.org/1999/xlink&quot;,r.svgAttrs={xmlns:r.svg,&quot;xmlns:xlink&quot;:r.xlink}},{}],724:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;./plotly&quot;);r.version=&quot;1.33.1&quot;,t(&quot;es6-promise&quot;).polyfill(),t(&quot;../build/plotcss&quot;),t(&quot;./fonts/mathjax_config&quot;),r.plot=n.plot,r.newPlot=n.newPlot,r.restyle=n.restyle,r.relayout=n.relayout,r.redraw=n.redraw,r.update=n.update,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.setPlotConfig=t(&quot;./plot_api/set_plot_config&quot;),r.register=t(&quot;./plot_api/register&quot;),r.toImage=t(&quot;./plot_api/to_image&quot;),r.downloadImage=t(&quot;./snapshot/download&quot;),r.validate=t(&quot;./plot_api/validate&quot;),r.addFrames=n.addFrames,r.deleteFrames=n.deleteFrames,r.animate=n.animate,r.register(t(&quot;./traces/scatter&quot;)),r.register([t(&quot;./components/fx&quot;),t(&quot;./components/legend&quot;),t(&quot;./components/annotations&quot;),t(&quot;./components/annotations3d&quot;),t(&quot;./components/shapes&quot;),t(&quot;./components/images&quot;),t(&quot;./components/updatemenus&quot;),t(&quot;./components/sliders&quot;),t(&quot;./components/rangeslider&quot;),t(&quot;./components/rangeselector&quot;)]),r.register([t(&quot;./locale-en&quot;),t(&quot;./locale-en-us&quot;)]),r.Icons=t(&quot;../build/ploticon&quot;),r.Plots=n.Plots,r.Fx=t(&quot;./components/fx&quot;),r.Snapshot=t(&quot;./snapshot&quot;),r.PlotSchema=t(&quot;./plot_api/plot_schema&quot;),r.Queue=t(&quot;./lib/queue&quot;),r.d3=t(&quot;d3&quot;)},{&quot;../build/plotcss&quot;:1,&quot;../build/ploticon&quot;:2,&quot;./components/annotations&quot;:609,&quot;./components/annotations3d&quot;:614,&quot;./components/fx&quot;:660,&quot;./components/images&quot;:668,&quot;./components/legend&quot;:677,&quot;./components/rangeselector&quot;:689,&quot;./components/rangeslider&quot;:695,&quot;./components/shapes&quot;:702,&quot;./components/sliders&quot;:708,&quot;./components/updatemenus&quot;:714,&quot;./fonts/mathjax_config&quot;:725,&quot;./lib/queue&quot;:757,&quot;./locale-en&quot;:771,&quot;./locale-en-us&quot;:770,&quot;./plot_api/plot_schema&quot;:778,&quot;./plot_api/register&quot;:779,&quot;./plot_api/set_plot_config&quot;:780,&quot;./plot_api/to_image&quot;:782,&quot;./plot_api/validate&quot;:783,&quot;./plotly&quot;:784,&quot;./snapshot&quot;:878,&quot;./snapshot/download&quot;:875,&quot;./traces/scatter&quot;:1078,d3:128,&quot;es6-promise&quot;:137}],725:[function(t,e,r){&quot;use strict&quot;;&quot;undefined&quot;!=typeof MathJax?(r.MathJax=!0,MathJax.Hub.Config({messageStyle:&quot;none&quot;,skipStartupTypeset:!0,displayAlign:&quot;left&quot;,tex2jax:{inlineMath:[[&quot;$&quot;,&quot;$&quot;],[&quot;\\(&quot;,&quot;\\)&quot;]]}}),MathJax.Hub.Configured()):r.MathJax=!1},{}],726:[function(t,e,r){&quot;use strict&quot;;var n=Math.PI;r.deg2rad=function(t){return t/180*n},r.rad2deg=function(t){return t/n*180},r.wrap360=function(t){var e=t%360;return e&lt;0?e+360:e},r.wrap180=function(t){return Math.abs(t)&gt;180&amp;&amp;(t-=360*Math.round(t/360)),t}},{}],727:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;fast-isnumeric&quot;),i=t(&quot;../constants/numerical&quot;).BADNUM,a=/^['&quot;%,$#\s']+|[, ]|['&quot;%,$#\s']+$/g;e.exports=function(t){return&quot;string&quot;==typeof t&amp;&amp;(t=t.replace(a,&quot;&quot;)),n(t)?Number(t):i}},{&quot;../constants/numerical&quot;:721,&quot;fast-isnumeric&quot;:140}],728:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;fast-isnumeric&quot;),i=t(&quot;tinycolor2&quot;),a=t(&quot;../plots/attributes&quot;),o=t(&quot;../components/colorscale/get_scale&quot;),s=(Object.keys(t(&quot;../components/colorscale/scales&quot;)),t(&quot;./nested_property&quot;)),l=t(&quot;./regex&quot;).counter,c=t(&quot;../constants/interactions&quot;).DESELECTDIM,u=t(&quot;./angles&quot;).wrap180;r.valObjectMeta={data_array:{coerceFunction:function(t,e,r){Array.isArray(t)?e.set(t):void 0!==r&amp;&amp;e.set(r)}},enumerated:{coerceFunction:function(t,e,r,n){n.coerceNumber&amp;&amp;(t=+t),-1===n.values.indexOf(t)?e.set(r):e.set(t)},validateFunction:function(t,e){e.coerceNumber&amp;&amp;(t=+t);for(var r=e.values,n=0;n&lt;r.length;n++){var i=String(r[n]);if(&quot;/&quot;===i.charAt(0)&amp;&amp;&quot;/&quot;===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&amp;&amp;t&lt;i.min||void 0!==i.max&amp;&amp;t&gt;i.max?e.set(r):e.set(+t)}},integer:{coerceFunction:function(t,e,r,i){t%1||!n(t)||void 0!==i.min&amp;&amp;t&lt;i.min||void 0!==i.max&amp;&amp;t&gt;i.max?e.set(r):e.set(+t)}},string:{coerceFunction:function(t,e,r,n){if(&quot;string&quot;!=typeof t){var i=&quot;number&quot;==typeof t;!0!==n.strict&amp;&amp;i?e.set(String(t)):e.set(r)}else n.noBlank&amp;&amp;!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)&amp;&amp;t.length&amp;&amp;t.every(function(t){return i(t).isValid()})?e.set(t):e.set(r)}},colorscale:{coerceFunction:function(t,e,r){e.set(o(t,r))}},angle:{coerceFunction:function(t,e,r){&quot;auto&quot;===t?e.set(&quot;auto&quot;):n(t)?e.set(u(+t)):e.set(r)}},subplotid:{coerceFunction:function(t,e,r){&quot;string&quot;==typeof t&amp;&amp;l(r).test(t)?e.set(t):e.set(r)},validateFunction:function(t,e){var r=e.dflt;return t===r||&quot;string&quot;==typeof t&amp;&amp;!!l(r).test(t)}},flaglist:{coerceFunction:function(t,e,r,n){if(&quot;string&quot;==typeof t)if(-1===(n.extras||[]).indexOf(t)){for(var i=t.split(&quot;+&quot;),a=0;a&lt;i.length;){var o=i[a];-1===n.flags.indexOf(o)||i.indexOf(o)&lt;a?i.splice(a,1):a++}i.length?e.set(i.join(&quot;+&quot;)):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){if(Array.isArray(t)){var a=i.items,o=[];n=Array.isArray(n)?n:[];for(var s=0;s&lt;a.length;s++)r.coerce(t,o,a,&quot;[&quot;+s+&quot;]&quot;,n[s]);e.set(o)}else e.set(n)},validateFunction:function(t,e){if(!Array.isArray(t))return!1;var n=e.items;if(!e.freeLength&amp;&amp;t.length!==n.length)return!1;for(var i=0;i&lt;t.length;i++){if(!r.validate(t[i],e.items[i]))return!1}return!0}}},r.coerce=function(t,e,n,i,a){var o=s(n,i).get(),l=s(t,i),c=s(e,i),u=l.get();return void 0===a&amp;&amp;(a=o.dflt),o.arrayOk&amp;&amp;Array.isArray(u)?(c.set(u),u):(r.valObjectMeta[o.valType].coerceFunction(u,c,a,o),c.get())},r.coerce2=function(t,e,n,i,a){var o=s(t,i),l=r.coerce(t,e,n,i,a),c=o.get();return void 0!==c&amp;&amp;null!==c&amp;&amp;l},r.coerceFont=function(t,e,r){var n={};return r=r||{},n.family=t(e+&quot;.family&quot;,r.family),n.size=t(e+&quot;.size&quot;,r.size),n.color=t(e+&quot;.color&quot;,r.color),n},r.coerceHoverinfo=function(t,e,n){var i,o=e._module.attributes,s=o.hoverinfo?{hoverinfo:o.hoverinfo}:a,l=s.hoverinfo;if(1===n._dataLength){var c=&quot;all&quot;===l.dflt?l.flags.slice():l.dflt.split(&quot;+&quot;);c.splice(c.indexOf(&quot;name&quot;),1),i=c.join(&quot;+&quot;)}return r.coerce(t,e,s,&quot;hoverinfo&quot;,i)},r.coerceSelectionMarkerOpacity=function(t,e){if(t.marker){var r,n,i=t.marker.opacity;Array.isArray(i)||t.selected||t.unselected||(r=i,n=c*i),e(&quot;selected.marker.opacity&quot;,r),e(&quot;unselected.marker.opacity&quot;,n)}},r.validate=function(t,e){var n=r.valObjectMeta[e.valType];if(e.arrayOk&amp;&amp;Array.isArray(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}},{&quot;../components/colorscale/get_scale&quot;:631,&quot;../components/colorscale/scales&quot;:637,&quot;../constants/interactions&quot;:720,&quot;../plots/attributes&quot;:787,&quot;./angles&quot;:726,&quot;./nested_property&quot;:751,&quot;./regex&quot;:758,&quot;fast-isnumeric&quot;:140,tinycolor2:546}],729:[function(t,e,r){&quot;use strict&quot;;function n(t){return t&amp;&amp;x.componentsRegistry.calendars&amp;&amp;&quot;string&quot;==typeof t&amp;&amp;&quot;gregorian&quot;!==t}function i(t,e){return String(t+Math.pow(10,e)).substr(1)}function a(t,e,r,n,a){if((e||r||n||a)&amp;&amp;(t+=&quot; &quot;+i(e,2)+&quot;:&quot;+i(r,2),(n||a)&amp;&amp;(t+=&quot;:&quot;+i(n,2),a))){for(var o=4;a%10==0;)o-=1,a/=10;t+=&quot;.&quot;+i(a,o)}return t}function o(t,e){var r=f(t+.05,p),n=i(Math.floor(r/m),2)+&quot;:&quot;+i(f(Math.floor(r/g),60),2);if(&quot;M&quot;!==e){c(e)||(e=0);var a=(100+Math.min(f(t/v,60),C[e])).toFixed(e).substr(1);e&gt;0&amp;&amp;(a=a.replace(/0+$/,&quot;&quot;).replace(/[\.]$/,&quot;&quot;)),n+=&quot;:&quot;+a}return n}function s(t){return t.formatDate(&quot;yyyy&quot;)}var l=t(&quot;d3&quot;),c=t(&quot;fast-isnumeric&quot;),u=t(&quot;./loggers&quot;),f=t(&quot;./mod&quot;),h=t(&quot;../constants/numerical&quot;),d=h.BADNUM,p=h.ONEDAY,m=h.ONEHOUR,g=h.ONEMIN,v=h.ONESEC,y=h.EPOCHJD,x=t(&quot;../registry&quot;),b=l.time.format.utc,_=/^\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,w=/^\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,M=(new Date).getFullYear()-70;r.dateTick0=function(t,e){return n(t)?e?x.getComponentMethod(&quot;calendars&quot;,&quot;CANONICAL_SUNDAY&quot;)[t]:x.getComponentMethod(&quot;calendars&quot;,&quot;CANONICAL_TICK&quot;)[t]:e?&quot;2000-01-02&quot;:&quot;2000-01-01&quot;},r.dfltRange=function(t){return n(t)?x.getComponentMethod(&quot;calendars&quot;,&quot;DFLTRANGE&quot;)[t]:[&quot;2000-01-01&quot;,&quot;2001-01-01&quot;]},r.isJSDate=function(t){return&quot;object&quot;==typeof t&amp;&amp;null!==t&amp;&amp;&quot;function&quot;==typeof t.getTime};var k,A;r.dateTime2ms=function(t,e){if(r.isJSDate(t))return(t=Number(t)-t.getTimezoneOffset()*g)&gt;=k&amp;&amp;t&lt;=A?t:d;if(&quot;string&quot;!=typeof t&amp;&amp;&quot;number&quot;!=typeof t)return d;t=String(t);var i=n(e),a=t.charAt(0);!i||&quot;G&quot;!==a&amp;&amp;&quot;g&quot;!==a||(t=t.substr(1),e=&quot;&quot;);var o=i&amp;&amp;&quot;chinese&quot;===e.substr(0,7),s=t.match(o?w:_);if(!s)return d;var l=s[1],c=s[3]||&quot;1&quot;,u=Number(s[5]||1),f=Number(s[7]||0),h=Number(s[9]||0),b=Number(s[11]||0);if(i){if(2===l.length)return d;l=Number(l);var T;try{var S=x.getComponentMethod(&quot;calendars&quot;,&quot;getCal&quot;)(e);if(o){var E=&quot;i&quot;===c.charAt(c.length-1);c=parseInt(c,10),T=S.newDate(l,S.toMonthIndex(l,c,E),u)}else T=S.newDate(l,Number(c),u)}catch(t){return d}return T?(T.toJD()-y)*p+f*m+h*g+b*v:d}l=2===l.length?(Number(l)+2e3-M)%100+M:Number(l),c-=1;var L=new Date(Date.UTC(2e3,c,u,f,h));return L.setUTCFullYear(l),L.getUTCMonth()!==c?d:L.getUTCDate()!==u?d:L.getTime()+b*v},k=r.MIN_MS=r.dateTime2ms(&quot;-9999&quot;),A=r.MAX_MS=r.dateTime2ms(&quot;9999-12-31 23:59:59.9999&quot;),r.isDateTime=function(t,e){return r.dateTime2ms(t,e)!==d};var T=90*p,S=3*m,E=5*g;r.ms2DateTime=function(t,e,r){if(&quot;number&quot;!=typeof t||!(t&gt;=k&amp;&amp;t&lt;=A))return d;e||(e=0);var i,o,s,l,c,u,h=Math.floor(10*f(t+.05,1)),_=Math.round(t-h/10);if(n(r)){var w=Math.floor(_/p)+y,M=Math.floor(f(t,p));try{i=x.getComponentMethod(&quot;calendars&quot;,&quot;getCal&quot;)(r).fromJD(w).formatDate(&quot;yyyy-mm-dd&quot;)}catch(t){i=b(&quot;G%Y-%m-%d&quot;)(new Date(_))}if(&quot;-&quot;===i.charAt(0))for(;i.length&lt;11;)i=&quot;-0&quot;+i.substr(1);else for(;i.length&lt;10;)i=&quot;0&quot;+i;o=e&lt;T?Math.floor(M/m):0,s=e&lt;T?Math.floor(M%m/g):0,l=e&lt;S?Math.floor(M%g/v):0,c=e&lt;E?M%v*10+h:0}else u=new Date(_),i=b(&quot;%Y-%m-%d&quot;)(u),o=e&lt;T?u.getUTCHours():0,s=e&lt;T?u.getUTCMinutes():0,l=e&lt;S?u.getUTCSeconds():0,c=e&lt;E?10*u.getUTCMilliseconds()+h:0;return a(i,o,s,l,c)},r.ms2DateTimeLocal=function(t){if(!(t&gt;=k+p&amp;&amp;t&lt;=A-p))return d;var e=Math.floor(10*f(t+.05,1)),r=new Date(Math.round(t-e/10));return a(l.time.format(&quot;%Y-%m-%d&quot;)(r),r.getHours(),r.getMinutes(),r.getSeconds(),10*r.getUTCMilliseconds()+e)},r.cleanDate=function(t,e,i){if(r.isJSDate(t)||&quot;number&quot;==typeof t){if(n(i))return u.error(&quot;JS Dates and milliseconds are incompatible with world calendars&quot;,t),e;if(!(t=r.ms2DateTimeLocal(+t))&amp;&amp;void 0!==e)return e}else if(!r.isDateTime(t,i))return u.error(&quot;unrecognized date&quot;,t),e;return t};var L=/%\d?f/g,C=[59,59.9,59.99,59.999,59.9999];r.formatDate=function(t,e,r,i,a){var l,c;if(a=n(a)&amp;&amp;a,e)return function(t,e,r,i){t=t.replace(L,function(t){var r=Math.min(+t.charAt(1)||6,6);return(e/1e3%1+2).toFixed(r).substr(2).replace(/0+$/,&quot;&quot;)||&quot;0&quot;});var a=new Date(Math.floor(e+.05));if(n(i))try{t=x.getComponentMethod(&quot;calendars&quot;,&quot;worldCalFmt&quot;)(t,e,i)}catch(t){return&quot;Invalid&quot;}return r(t)(a)}(e,t,i,a);if(a)try{var u=Math.floor((t+.05)/p)+y,f=x.getComponentMethod(&quot;calendars&quot;,&quot;getCal&quot;)(a).fromJD(u);&quot;y&quot;===r?c=s(f):&quot;m&quot;===r?c=function(t){return t.formatDate(&quot;M yyyy&quot;)}(f):&quot;d&quot;===r?(l=s(f),c=function(t){return t.formatDate(&quot;M d&quot;)}(f)):(l=function(t){return t.formatDate(&quot;M d, yyyy&quot;)}(f),c=o(t,r))}catch(t){return&quot;Invalid&quot;}else{var h=new Date(Math.floor(t+.05));&quot;y&quot;===r?c=i(&quot;%Y&quot;)(h):&quot;m&quot;===r?c=i(&quot;%b %Y&quot;)(h):&quot;d&quot;===r?(l=i(&quot;%Y&quot;)(h),c=i(&quot;%b %-d&quot;)(h)):(l=i(&quot;%b %-d, %Y&quot;)(h),c=o(t,r))}return c+(l?&quot;\n&quot;+l:&quot;&quot;)};var z=3*p;r.incrementMonth=function(t,e,r){r=n(r)&amp;&amp;r;var i=f(t,p);if(t=Math.round(t-i),r)try{var a=Math.round(t/p)+y,o=x.getComponentMethod(&quot;calendars&quot;,&quot;getCal&quot;)(r),s=o.fromJD(a);return e%12?o.add(s,e,&quot;m&quot;):o.add(s,e/12,&quot;y&quot;),(s.toJD()-y)*p+i}catch(e){u.error(&quot;invalid ms &quot;+t+&quot; in calendar &quot;+r)}var l=new Date(t+z);return l.setUTCMonth(l.getUTCMonth()+e)+i-z},r.findExactDates=function(t,e){for(var r,i,a=0,o=0,s=0,l=0,u=n(e)&amp;&amp;x.getComponentMethod(&quot;calendars&quot;,&quot;getCal&quot;)(e),f=0;f&lt;t.length;f++)if(i=t[f],c(i)){if(!(i%p))if(u)try{1===(r=u.fromJD(i/p+y)).day()?1===r.month()?a++:o++:s++}catch(t){}else 1===(r=new Date(i)).getUTCDate()?0===r.getUTCMonth()?a++:o++:s++}else l++;s+=o+=a;var h=t.length-l;return{exactYears:a/h,exactMonths:o/h,exactDays:s/h}}},{&quot;../constants/numerical&quot;:721,&quot;../registry&quot;:873,&quot;./loggers&quot;:748,&quot;./mod&quot;:750,d3:128,&quot;fast-isnumeric&quot;:140}],730:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t,e){return Array.isArray(t)||(t=[]),t.length=e,t}},{}],731:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;events&quot;).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){&quot;undefined&quot;!=typeof jQuery&amp;&amp;jQuery(t).trigger(n,i),e.emit(n,i),r.emit(n,i)},t},triggerHandler:function(t,e,r){var n,i;&quot;undefined&quot;!=typeof jQuery&amp;&amp;(n=jQuery(t).triggerHandler(e,r));var a=t._ev;if(!a)return n;var o=a._events[e];if(!o)return n;&quot;function&quot;==typeof o&amp;&amp;(o=[o]);for(var s=o.pop(),l=0;l&lt;o.length;l++)o[l](r);return i=s(r),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:138}],732:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,o){var s,l,c,u,f,h,d=t[0],p=t.length;if(2===p&amp;&amp;a(d)&amp;&amp;a(t[1])&amp;&amp;0===d.length){if(function(t,e){var r,n;for(r=0;r&lt;t.length;r++){if(null!==(n=t[r])&amp;&amp;&quot;object&quot;==typeof n)return!1;void 0!==n&amp;&amp;(e[r]=n)}return!0}(t[1],d))return d;d.splice(0,d.length)}for(var m=1;m&lt;p;m++){s=t[m];for(l in s)c=d[l],u=s[l],o&amp;&amp;a(u)?d[l]=u:e&amp;&amp;u&amp;&amp;(i(u)||(f=a(u)))?(f?(f=!1,h=c&amp;&amp;a(c)?c:[]):h=c&amp;&amp;i(c)?c:{},d[l]=n([h,u],e,r,o)):(void 0!==u||r)&amp;&amp;(d[l]=u)}return d}var i=t(&quot;./is_plain_object.js&quot;),a=Array.isArray;r.extendFlat=function(){return n(arguments,!1,!1,!1)},r.extendDeep=function(){return n(arguments,!0,!1,!1)},r.extendDeepAll=function(){return n(arguments,!0,!0,!1)},r.extendDeepNoArrays=function(){return n(arguments,!0,!1,!0)}},{&quot;./is_plain_object.js&quot;:745}],733:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t){for(var e={},r=[],n=0,i=0;i&lt;t.length;i++){var a=t[i];1!==e[a]&amp;&amp;(e[a]=1,r[n++]=a)}return r}},{}],734:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t){for(var e=function(t){return Array.isArray(t)&amp;&amp;Array.isArray(t[0])&amp;&amp;t[0][0]&amp;&amp;t[0][0].trace}(t)?function(t){return!0===t[0].trace.visible}:function(t){return!0===t.visible},r=[],n=0;n&lt;t.length;n++){var i=t[n];e(i)&amp;&amp;r.push(i)}return r}},{}],735:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;country-regex&quot;),i=t(&quot;../lib&quot;),a=Object.keys(n),o={&quot;ISO-3&quot;:i.identity,&quot;USA-states&quot;:i.identity,&quot;country names&quot;:function(t){for(var e=0;e&lt;a.length;e++){var r=a[e];if(new RegExp(n[r]).test(t.trim().toLowerCase()))return r}return i.log(&quot;Unrecognized country name: &quot;+t+&quot;.&quot;),!1}};r.locationToFeature=function(t,e,r){if(!e||&quot;string&quot;!=typeof e)return!1;var n=function(t,e){return(0,o[t])(e)}(t,e);if(n){for(var a=0;a&lt;r.length;a++){var s=r[a];if(s.id===n)return s}i.log([&quot;Location with id&quot;,n,&quot;does not have a matching topojson feature at this resolution.&quot;].join(&quot; &quot;))}return!1}},{&quot;../lib&quot;:743,&quot;country-regex&quot;:113}],736:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../constants/numerical&quot;).BADNUM;r.calcTraceToLineCoords=function(t){for(var e=t[0].trace.connectgaps,r=[],i=[],a=0;a&lt;t.length;a++){var o=t[a].lonlat;o[0]!==n?i.push(o):!e&amp;&amp;i.length&gt;0&amp;&amp;(r.push(i),i=[])}return i.length&gt;0&amp;&amp;r.push(i),r},r.makeLine=function(t){return 1===t.length?{type:&quot;LineString&quot;,coordinates:t[0]}:{type:&quot;MultiLineString&quot;,coordinates:t}},r.makePolygon=function(t){if(1===t.length)return{type:&quot;Polygon&quot;,coordinates:t};for(var e=new Array(t.length),r=0;r&lt;t.length;r++)e[r]=[t[r]];return{type:&quot;MultiPolygon&quot;,coordinates:e}},r.makeBlank=function(){return{type:&quot;Point&quot;,coordinates:[]}}},{&quot;../constants/numerical&quot;:721}],737:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,n,i,a,o,s){var l=r-t,c=i-t,u=o-i,f=n-e,h=a-e,d=s-a,p=l*d-u*f;if(0===p)return null;var m=(c*d-u*h)/p,g=(c*f-l*h)/p;return g&lt;0||g&gt;1||m&lt;0||m&gt;1?null:{x:t+l*m,y:e+f*m}}function i(t,e,r,n,i){var a=n*t+i*e;if(a&lt;0)return n*n+i*i;if(a&gt;r){var o=n-t,s=i-e;return o*o+s*s}var l=n*e-i*t;return l*l/r}var a=t(&quot;./mod&quot;);r.segmentsIntersect=n,r.segmentDistance=function(t,e,r,a,o,s,l,c){if(n(t,e,r,a,o,s,l,c))return 0;var u=r-t,f=a-e,h=l-o,d=c-s,p=u*u+f*f,m=h*h+d*d,g=Math.min(i(u,f,p,o-t,s-e),i(u,f,p,l-t,c-e),i(h,d,m,t-o,e-s),i(h,d,m,r-o,a-s));return Math.sqrt(g)};var o,s,l;r.getTextLocation=function(t,e,r,n){if(t===s&amp;&amp;n===l||(o={},s=t,l=n),o[r])return o[r];var i=t.getPointAtLength(a(r-n/2,e)),c=t.getPointAtLength(a(r+n/2,e)),u=Math.atan((c.y-i.y)/(c.x-i.x)),f=t.getPointAtLength(a(r,e)),h={x:(4*f.x+i.x+c.x)/6,y:(4*f.y+i.y+c.y)/6,theta:u};return o[r]=h,h},r.clearLocationCache=function(){s=null},r.getVisibleSegment=function(t,e,r){function n(e){var r=t.getPointAtLength(e);0===e?i=r:e===f&amp;&amp;(a=r);var n=r.x&lt;o?o-r.x:r.x&gt;s?r.x-s:0,u=r.y&lt;l?l-r.y:r.y&gt;c?r.y-c:0;return Math.sqrt(n*n+u*u)}for(var i,a,o=e.left,s=e.right,l=e.top,c=e.bottom,u=0,f=t.getTotalLength(),h=f,d=n(u);d;){if((u+=d+r)&gt;h)return;d=n(u)}for(d=n(h);d;){if(h-=d+r,u&gt;h)return;d=n(h)}return{min:u,max:h,len:h-u,total:f,isClosed:0===u&amp;&amp;h===f&amp;&amp;Math.abs(i.x-a.x)&lt;.1&amp;&amp;Math.abs(i.y-a.y)&lt;.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]&gt;t.getPointAtLength(s)[r]?-1:1,f=0,h=0,d=s;f&lt;c;){if(i=(h+d)/2,a=t.getPointAtLength(i),o=a[r]-e,Math.abs(o)&lt;l)return a;u*o&gt;0?d=i:h=i,f++}return a}},{&quot;./mod&quot;:750}],738:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t){var e;if(&quot;string&quot;==typeof t){if(null===(e=document.getElementById(t)))throw new Error(&quot;No DOM element with id '&quot;+t+&quot;' exists on the page.&quot;);return e}if(null===t||void 0===t)throw new Error(&quot;DOM element provided is null or undefined&quot;);return t}},{}],739:[function(t,e,r){&quot;use strict&quot;;function n(t,e){var r=t;return r[3]*=e,r}function i(t){if(o(t))return u;var e=s(t);return e.length?e:u}function a(t){return o(t)?t:f}var o=t(&quot;fast-isnumeric&quot;),s=t(&quot;color-normalize&quot;),l=t(&quot;../components/colorscale&quot;),c=t(&quot;../components/color/attributes&quot;).defaultLine,u=s(c),f=1;e.exports=function(t,e,r){var o,c,h,d,p,m=t.color,g=Array.isArray(m),v=Array.isArray(e),y=[];if(o=void 0!==t.colorscale?l.makeColorScaleFunc(l.extractScale(t.colorscale,t.cmin,t.cmax)):i,c=g?function(t,e){return void 0===t[e]?u:s(o(t[e]))}:i,h=v?function(t,e){return void 0===t[e]?f:a(t[e])}:a,g||v)for(var x=0;x&lt;r;x++)d=c(m,x),p=h(e,x),y[x]=n(d,p);else y=n(s(m),e);return y}},{&quot;../components/color/attributes&quot;:617,&quot;../components/colorscale&quot;:633,&quot;color-normalize&quot;:99,&quot;fast-isnumeric&quot;:140}],740:[function(t,e,r){&quot;use strict&quot;;function n(t){return[t]}var i=t(&quot;./identity&quot;);e.exports={keyFun:function(t){return t.key},repeat:n,descend:i,wrap:n,unwrap:function(t){return t[0]}}},{&quot;./identity&quot;:742}],741:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;superscript-text&quot;),i=t(&quot;../constants/string_mappings&quot;);e.exports=function(t){return&quot;&quot;+function(t){for(var e=i.entityToUnicode,r=0;(r=t.indexOf(&quot;&amp;&quot;,r))&gt;=0;){var n=t.indexOf(&quot;;&quot;,r);if(n&lt;r)r+=1;else{var a=e[t.slice(r+1,n)];t=a?t.slice(0,r)+a+t.slice(n+1):t.slice(0,r)+t.slice(n+1)}}return t}(function(t){return t.replace(/\&lt;.*\&gt;/g,&quot;&quot;)}(function(t){for(var e=0;(e=t.indexOf(&quot;&lt;sup&gt;&quot;,e))&gt;=0;){var r=t.indexOf(&quot;&lt;/sup&gt;&quot;,e);if(r&lt;e)break;t=t.slice(0,e)+n(t.slice(e+5,r))+t.slice(r+6)}return t}(function(t){return t.replace(/\&lt;br\&gt;/g,&quot;\n&quot;)}(t))))}},{&quot;../constants/string_mappings&quot;:722,&quot;superscript-text&quot;:539}],742:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t){return t}},{}],743:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;d3&quot;),i=t(&quot;fast-isnumeric&quot;),a=t(&quot;../constants/numerical&quot;),o=a.FP_SAFE,s=a.BADNUM,l=e.exports={};l.nestedProperty=t(&quot;./nested_property&quot;),l.keyedContainer=t(&quot;./keyed_container&quot;),l.relativeAttr=t(&quot;./relative_attr&quot;),l.isPlainObject=t(&quot;./is_plain_object&quot;),l.isArray=t(&quot;./is_array&quot;),l.mod=t(&quot;./mod&quot;),l.toLogRange=t(&quot;./to_log_range&quot;),l.relinkPrivateKeys=t(&quot;./relink_private&quot;),l.ensureArray=t(&quot;./ensure_array&quot;);var c=t(&quot;./coerce&quot;);l.valObjectMeta=c.valObjectMeta,l.coerce=c.coerce,l.coerce2=c.coerce2,l.coerceFont=c.coerceFont,l.coerceHoverinfo=c.coerceHoverinfo,l.coerceSelectionMarkerOpacity=c.coerceSelectionMarkerOpacity,l.validate=c.validate;var u=t(&quot;./dates&quot;);l.dateTime2ms=u.dateTime2ms,l.isDateTime=u.isDateTime,l.ms2DateTime=u.ms2DateTime,l.ms2DateTimeLocal=u.ms2DateTimeLocal,l.cleanDate=u.cleanDate,l.isJSDate=u.isJSDate,l.formatDate=u.formatDate,l.incrementMonth=u.incrementMonth,l.dateTick0=u.dateTick0,l.dfltRange=u.dfltRange,l.findExactDates=u.findExactDates,l.MIN_MS=u.MIN_MS,l.MAX_MS=u.MAX_MS;var f=t(&quot;./search&quot;);l.findBin=f.findBin,l.sorterAsc=f.sorterAsc,l.sorterDes=f.sorterDes,l.distinctVals=f.distinctVals,l.roundUp=f.roundUp;var h=t(&quot;./stats&quot;);l.aggNums=h.aggNums,l.len=h.len,l.mean=h.mean,l.variance=h.variance,l.stdev=h.stdev,l.interp=h.interp;var d=t(&quot;./matrix&quot;);l.init2dArray=d.init2dArray,l.transposeRagged=d.transposeRagged,l.dot=d.dot,l.translationMatrix=d.translationMatrix,l.rotationMatrix=d.rotationMatrix,l.rotationXYMatrix=d.rotationXYMatrix,l.apply2DTransform=d.apply2DTransform,l.apply2DTransform2=d.apply2DTransform2;var p=t(&quot;./angles&quot;);l.deg2rad=p.deg2rad,l.rad2deg=p.rad2deg,l.wrap360=p.wrap360,l.wrap180=p.wrap180;var m=t(&quot;./geometry2d&quot;);l.segmentsIntersect=m.segmentsIntersect,l.segmentDistance=m.segmentDistance,l.getTextLocation=m.getTextLocation,l.clearLocationCache=m.clearLocationCache,l.getVisibleSegment=m.getVisibleSegment,l.findPointOnPath=m.findPointOnPath;var g=t(&quot;./extend&quot;);l.extendFlat=g.extendFlat,l.extendDeep=g.extendDeep,l.extendDeepAll=g.extendDeepAll,l.extendDeepNoArrays=g.extendDeepNoArrays;var v=t(&quot;./loggers&quot;);l.log=v.log,l.warn=v.warn,l.error=v.error;var y=t(&quot;./regex&quot;);l.counterRegex=y.counter;var x=t(&quot;./throttle&quot;);l.throttle=x.throttle,l.throttleDone=x.done,l.clearThrottle=x.clear,l.getGraphDiv=t(&quot;./get_graph_div&quot;),l._=t(&quot;./localize&quot;),l.notifier=t(&quot;./notifier&quot;),l.filterUnique=t(&quot;./filter_unique&quot;),l.filterVisible=t(&quot;./filter_visible&quot;),l.pushUnique=t(&quot;./push_unique&quot;),l.cleanNumber=t(&quot;./clean_number&quot;),l.ensureNumber=function(t){return i(t)?(t=Number(t))&lt;-o||t&gt;o?s:i(t)?Number(t):s:s},l.noop=t(&quot;./noop&quot;),l.identity=t(&quot;./identity&quot;),l.swapAttrs=function(t,e,r,n){r||(r=&quot;x&quot;),n||(n=&quot;y&quot;);for(var i=0;i&lt;e.length;i++){var a=e[i],o=l.nestedProperty(t,a.replace(&quot;?&quot;,r)),s=l.nestedProperty(t,a.replace(&quot;?&quot;,n)),c=o.get();o.set(s.get()),s.set(c)}},l.pauseEvent=function(t){return t.stopPropagation&amp;&amp;t.stopPropagation(),t.preventDefault&amp;&amp;t.preventDefault(),t.cancelBubble=!0,!1},l.raiseToTop=function(t){t.parentNode.appendChild(t)},l.cancelTransition=function(t){return t.transition().duration(0)},l.constrain=function(t,e,r){return e&gt;r?Math.max(r,Math.min(e,t)):Math.max(e,Math.min(r,t))},l.bBoxIntersect=function(t,e,r){return r=r||0,t.left&lt;=e.right+r&amp;&amp;e.left&lt;=t.right+r&amp;&amp;t.top&lt;=e.bottom+r&amp;&amp;e.top&lt;=t.bottom+r},l.simpleMap=function(t,e,r,n){for(var i=t.length,a=new Array(i),o=0;o&lt;i;o++)a[o]=e(t[o],r,n);return a},l.randstr=function t(e,r,n){if(n||(n=16),void 0===r&amp;&amp;(r=24),r&lt;=0)return&quot;0&quot;;var i,a,o=Math.log(Math.pow(2,r))/Math.log(n),s=&quot;&quot;;for(i=2;o===1/0;i*=2)o=Math.log(Math.pow(2,r/i))/Math.log(n)*i;var l=o-Math.floor(o);for(i=0;i&lt;Math.floor(o);i++)s=Math.floor(Math.random()*n).toString(n)+s;l&amp;&amp;(a=Math.pow(n,l),s=Math.floor(Math.random()*a).toString(n)+s);var c=parseInt(s,n);return e&amp;&amp;e.indexOf(s)&gt;-1||c!==1/0&amp;&amp;c&gt;=Math.pow(2,r)?t(e,r,n):s},l.OptionControl=function(t,e){t||(t={}),e||(e=&quot;opt&quot;);var r={};return r.optionList=[],r._newoption=function(n){n[e]=t,r[n.name]=n,r.optionList.push(n)},r[&quot;_&quot;+e]=t,r},l.smooth=function(t,e){if((e=Math.round(e)||0)&lt;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&lt;l;r++)c[r]=(1-Math.cos(Math.PI*(r+1)/e))/(2*e);for(r=0;r&lt;o;r++){for(a=0,n=0;n&lt;l;n++)(i=r+n+1-e)&lt;-o?i-=s*Math.round(i/s):i&gt;=s&amp;&amp;(i-=s*Math.floor(i/s)),i&lt;0?i=-1-i:i&gt;=o&amp;&amp;(i=s-1-i),a+=t[i]*c[n];u[r]=a}return u},l.syncOrAsync=function(t,e,r){function n(){return l.syncOrAsync(t,e,r)}for(var i,a;t.length;)if(a=t.splice(0,1)[0],(i=a(e))&amp;&amp;i.then)return i.then(n).then(void 0,l.promiseError);return r&amp;&amp;r(e)},l.stripTrailingSlash=function(t){return&quot;/&quot;===t.substr(-1)?t.substr(0,t.length-1):t},l.noneOrAll=function(t,e,r){if(t){var n,i,a=!1,o=!0;for(n=0;n&lt;r.length;n++)void 0!==(i=t[r[n]])&amp;&amp;null!==i?a=!0:o=!1;if(a&amp;&amp;!o)for(n=0;n&lt;r.length;n++)t[r[n]]=e[r[n]]}},l.mergeArray=function(t,e,r){if(Array.isArray(t))for(var n=Math.min(t.length,e.length),i=0;i&lt;n;i++)e[i][r]=t[i]},l.fillArray=function(t,e,r,n){if(n=n||l.identity,Array.isArray(t))for(var i=0;i&lt;e.length;i++)e[i][r]=n(t[i])},l.castOption=function(t,e,r,n){n=n||l.identity;var i=l.nestedProperty(t,r).get();return Array.isArray(i)?n(Array.isArray(e)&amp;&amp;Array.isArray(i[e[0]])?i[e[0]][e[1]]:i[e]):i},l.extractOption=function(t,e,r,n){if(r in t)return t[r];var i=l.nestedProperty(e,n).get();return Array.isArray(i)?void 0:i},l.tagSelected=function(t,e,r){function n(t){return i(t)&amp;&amp;t&gt;=0&amp;&amp;t%1==0}function a(e){return void 0!==e&amp;&amp;e&lt;t.length}var o,s=e.selectedpoints,l=e._indexToPoints;if(l){o={};for(var c in l)for(var u=l[c],f=0;f&lt;u.length;f++)o[u[f]]=c}for(var h=0;h&lt;s.length;h++){var d=s[h];if(n(d)){var p=o?o[d]:d,m=r?r[p]:p;a(m)&amp;&amp;(t[m].selected=1)}}},l.getTargetArray=function(t,e){var r=e.target;if(&quot;string&quot;==typeof r&amp;&amp;r){var n=l.nestedProperty(t,r).get();return!!Array.isArray(n)&amp;&amp;n}return!!Array.isArray(r)&amp;&amp;r},l.minExtend=function(t,e){var r={};&quot;object&quot;!=typeof e&amp;&amp;(e={});var n,i,a,o=Object.keys(t);for(n=0;n&lt;o.length;n++)a=t[i=o[n]],&quot;_&quot;!==i.charAt(0)&amp;&amp;&quot;function&quot;!=typeof a&amp;&amp;(&quot;module&quot;===i?r[i]=a:Array.isArray(a)?r[i]=a.slice(0,3):r[i]=a&amp;&amp;&quot;object&quot;==typeof a?l.minExtend(t[i],e[i]):a);for(o=Object.keys(e),n=0;n&lt;o.length;n++)&quot;object&quot;==typeof(a=e[i=o[n]])&amp;&amp;i in r&amp;&amp;&quot;object&quot;==typeof r[i]||(r[i]=a);return r},l.titleCase=function(t){return t.charAt(0).toUpperCase()+t.substr(1)},l.containsAny=function(t,e){for(var r=0;r&lt;e.length;r++)if(-1!==t.indexOf(e[r]))return!0;return!1},l.isPlotDiv=function(t){var e=n.select(t);return e.node()instanceof HTMLElement&amp;&amp;e.size()&amp;&amp;e.classed(&quot;js-plotly-plot&quot;)},l.removeElement=function(t){var e=t&amp;&amp;t.parentNode;e&amp;&amp;e.removeChild(t)},l.addStyleRule=function(t,e){if(!l.styleSheet){var r=document.createElement(&quot;style&quot;);r.appendChild(document.createTextNode(&quot;&quot;)),document.head.appendChild(r),l.styleSheet=r.sheet}var n=l.styleSheet;n.insertRule?n.insertRule(t+&quot;{&quot;+e+&quot;}&quot;,0):n.addRule?n.addRule(t,e,0):l.warn(&quot;addStyleRule failed&quot;)},l.isIE=function(){return void 0!==window.navigator.msSaveBlob},l.isD3Selection=function(t){return t&amp;&amp;&quot;function&quot;==typeof t.classed},l.objectFromPath=function(t,e){for(var r,n=t.split(&quot;.&quot;),i=r={},a=0;a&lt;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 b=/^([^\[\.]+)\.(.+)?/,_=/^([^\.]+)\[([0-9]+)\](\.)?(.+)?/;l.expandObjectPaths=function(t){var e,r,n,i,a,o,s;if(&quot;object&quot;==typeof t&amp;&amp;!Array.isArray(t))for(r in t)t.hasOwnProperty(r)&amp;&amp;((e=r.match(b))?(i=t[r],n=e[1],delete t[r],t[n]=l.extendDeepNoArrays(t[n]||{},l.objectFromPath(r,l.expandObjectPaths(i))[n])):(e=r.match(_))?(i=t[r],n=e[1],a=parseInt(e[2]),delete t[r],t[n]=t[n]||[],&quot;.&quot;===e[3]?(s=e[4],o=t[n][a]=t[n][a]||{},l.extendDeepNoArrays(o,l.objectFromPath(s,l.expandObjectPaths(i)))):t[n][a]=l.expandObjectPaths(i)):t[r]=l.expandObjectPaths(t[r]));return t},l.numSeparate=function(t,e,r){if(r||(r=!1),&quot;string&quot;!=typeof e||0===e.length)throw new Error(&quot;Separator string required for formatting!&quot;);&quot;number&quot;==typeof t&amp;&amp;(t=String(t));var n=/(\d+)(\d{3})/,i=e.charAt(0),a=e.charAt(1),o=t.split(&quot;.&quot;),s=o[0],l=o.length&gt;1?i+o[1]:&quot;&quot;;if(a&amp;&amp;(o.length&gt;1||s.length&gt;4||r))for(;n.test(s);)s=s.replace(n,&quot;$1&quot;+a+&quot;$2&quot;);return s+l};var w=/%{([^\s%{}]*)}/g,M=/^\w*$/;l.templateString=function(t,e){var r={};return t.replace(w,function(t,n){return M.test(n)?e[n]||&quot;&quot;:(r[n]=r[n]||l.nestedProperty(e,n).get,r[n]()||&quot;&quot;)})};l.subplotSort=function(t,e){for(var r=Math.min(t.length,e.length)+1,n=0,i=0,a=0;a&lt;r;a++){var o=t.charCodeAt(a)||0,s=e.charCodeAt(a)||0,l=o&gt;=48&amp;&amp;o&lt;=57,c=s&gt;=48&amp;&amp;s&lt;=57;if(l&amp;&amp;(n=10*n+o-48),c&amp;&amp;(i=10*i+s-48),!l||!c){if(n!==i)return n-i;if(o!==s)return o-s}}return i-n},l.eventListenerOptionsSupported=function(){var t=!1;try{var e=Object.defineProperty({},&quot;passive&quot;,{get:function(){t=!0}});window.addEventListener(&quot;test&quot;,null,e),window.removeEventListener(&quot;test&quot;,null,e)}catch(e){t=!1}return t}},{&quot;../constants/numerical&quot;:721,&quot;./angles&quot;:726,&quot;./clean_number&quot;:727,&quot;./coerce&quot;:728,&quot;./dates&quot;:729,&quot;./ensure_array&quot;:730,&quot;./extend&quot;:732,&quot;./filter_unique&quot;:733,&quot;./filter_visible&quot;:734,&quot;./geometry2d&quot;:737,&quot;./get_graph_div&quot;:738,&quot;./identity&quot;:742,&quot;./is_array&quot;:744,&quot;./is_plain_object&quot;:745,&quot;./keyed_container&quot;:746,&quot;./localize&quot;:747,&quot;./loggers&quot;:748,&quot;./matrix&quot;:749,&quot;./mod&quot;:750,&quot;./nested_property&quot;:751,&quot;./noop&quot;:752,&quot;./notifier&quot;:753,&quot;./push_unique&quot;:756,&quot;./regex&quot;:758,&quot;./relative_attr&quot;:759,&quot;./relink_private&quot;:760,&quot;./search&quot;:761,&quot;./stats&quot;:764,&quot;./throttle&quot;:767,&quot;./to_log_range&quot;:768,d3:128,&quot;fast-isnumeric&quot;:140}],744:[function(t,e,r){&quot;use strict&quot;;var n=&quot;undefined&quot;!=typeof ArrayBuffer&amp;&amp;ArrayBuffer.isView?ArrayBuffer:{isView:function(){return!1}};e.exports=function(t){return Array.isArray(t)||n.isView(t)}},{}],745:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t){return window&amp;&amp;window.process&amp;&amp;window.process.versions?&quot;[object Object]&quot;===Object.prototype.toString.call(t):&quot;[object Object]&quot;===Object.prototype.toString.call(t)&amp;&amp;Object.getPrototypeOf(t)===Object.prototype}},{}],746:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;./nested_property&quot;),i=/^\w*$/;e.exports=function(t,e,r,a){r=r||&quot;name&quot;,a=a||&quot;value&quot;;var o,s,l={};s=e&amp;&amp;e.length?n(t,e).get():t,e=e||&quot;&quot;,s=s||[];var c={};for(o=0;o&lt;s.length;o++)c[s[o][r]]=o;var u=i.test(a),f={set:function(t,e){var i=null===e?4:0,o=c[t];void 0===o?(i|=3,o=s.length,c[t]=o):e!==(u?s[o][a]:n(s[o],a).get())&amp;&amp;(i|=2);var h=s[o]=s[o]||{};return h[r]=t,u?h[a]=e:n(h,a).set(e),null!==e&amp;&amp;(i&amp;=-5),l[o]=l[o]|i,f},get:function(t){var e=c[t];return void 0===e?void 0:u?s[e][a]:n(s[e],a).get()},rename:function(t,e){var n=c[t];return void 0===n?f:(l[n]=1|l[n],c[e]=n,delete c[t],s[n][r]=e,f)},remove:function(t){var e=c[t];if(void 0===e)return f;var i=s[e];if(Object.keys(i).length&gt;2)return l[e]=2|l[e],f.set(t,null);if(u){for(o=e;o&lt;s.length;o++)l[o]=3|l[o];for(o=e;o&lt;s.length;o++)c[s[o][r]]--;s.splice(e,1),delete c[t]}else n(i,a).set(null),l[e]=6|l[e];return f},constructUpdate:function(){for(var t,i,o={},c=Object.keys(l),f=0;f&lt;c.length;f++)i=c[f],t=e+&quot;[&quot;+i+&quot;]&quot;,s[i]?(1&amp;l[i]&amp;&amp;(o[t+&quot;.&quot;+r]=s[i][r]),2&amp;l[i]&amp;&amp;(o[t+&quot;.&quot;+a]=u?4&amp;l[i]?null:s[i][a]:4&amp;l[i]?null:n(s[i],a).get())):o[t]=null;return o}};return f}},{&quot;./nested_property&quot;:751}],747:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../registry&quot;);e.exports=function(t,e){for(var r=t._context.locale,i=0;i&lt;2;i++){for(var a=t._context.locales,o=0;o&lt;2;o++){var s=(a[r]||{}).dictionary;if(s){var l=s[e];if(l)return l}a=n.localeRegistry}var c=r.split(&quot;-&quot;)[0];if(c===r)break;r=c}return e}},{&quot;../registry&quot;:873}],748:[function(t,e,r){&quot;use strict&quot;;function n(t,e){if(t.apply)t.apply(t,e);else for(var r=0;r&lt;e.length;r++)t(e[r])}var i=t(&quot;../plot_api/plot_config&quot;),a=e.exports={};a.log=function(){if(i.logging&gt;1){for(var t=[&quot;LOG:&quot;],e=0;e&lt;arguments.length;e++)t.push(arguments[e]);n(console.trace||console.log,t)}},a.warn=function(){if(i.logging&gt;0){for(var t=[&quot;WARN:&quot;],e=0;e&lt;arguments.length;e++)t.push(arguments[e]);n(console.trace||console.log,t)}},a.error=function(){if(i.logging&gt;0){for(var t=[&quot;ERROR:&quot;],e=0;e&lt;arguments.length;e++)t.push(arguments[e]);n(console.error,t)}}},{&quot;../plot_api/plot_config&quot;:777}],749:[function(t,e,r){&quot;use strict&quot;;r.init2dArray=function(t,e){for(var r=new Array(t),n=0;n&lt;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&lt;i;e++)n=Math.max(n,t[e].length);var a=new Array(n);for(e=0;e&lt;n;e++)for(a[e]=new Array(i),r=0;r&lt;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&lt;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&lt;o.length;i++)n[i]=r.dot(t,o[i])}else for(n=0,i=0;i&lt;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.apply2DTransform=function(t){return function(){var e=arguments;3===e.length&amp;&amp;(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)))}}},{}],750:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t,e){var r=t%e;return r&lt;0?r+e:r}},{}],751:[function(t,e,r){&quot;use strict&quot;;function n(t,e){return function(){var r,i,a,o,s,l=t;for(o=0;o&lt;e.length-1;o++){if(-1===(r=e[o])){for(i=!0,a=[],s=0;s&lt;l.length;s++)a[s]=n(l[s],e.slice(o+1))(),a[s]!==a[0]&amp;&amp;(i=!1);return i?a[0]:a}if(&quot;number&quot;==typeof r&amp;&amp;!c(l))return;if(&quot;object&quot;!=typeof(l=l[r])||null===l)return}if(&quot;object&quot;==typeof l&amp;&amp;null!==l&amp;&amp;null!==(a=l[e[o]]))return a}}function i(t,e){if(!function(t){return void 0===t||null===t||&quot;object&quot;==typeof t&amp;&amp;(c(t)?!t.length:!Object.keys(t).length)}(t)||u(t)&amp;&amp;&quot;]&quot;===e.charAt(e.length-1)||e.match(d)&amp;&amp;void 0!==t)return!1;if(!c(t))return!0;if(e.match(h))return!0;var r=f(e);return r&amp;&amp;&quot;&quot;===r.index}function a(t,e,r){return function(n){var l,u,f=t,h=&quot;&quot;,d=[[t,h]],p=i(n,r);for(u=0;u&lt;e.length-1;u++){if(&quot;number&quot;==typeof(l=e[u])&amp;&amp;!c(f))throw&quot;array index but container is not an array&quot;;if(-1===l){if(p=!function(t,e,r,n){var o,l=c(r),u=!0,f=r,h=n.replace(&quot;-1&quot;,0),d=!l&amp;&amp;i(r,h),p=e[0];for(o=0;o&lt;t.length;o++)h=n.replace(&quot;-1&quot;,o),l&amp;&amp;(f=r[o%r.length],d=i(f,h)),d&amp;&amp;(u=!1),s(t,o,p,d)&amp;&amp;a(t[o],e,n.replace(&quot;-1&quot;,o))(f);return u}(f,e.slice(u+1),n,r))break;return}if(!s(f,l,e[u+1],p))break;if(&quot;object&quot;!=typeof(f=f[l])||null===f)throw&quot;container is not an object&quot;;h=o(h,l),d.push([f,h])}p?(u===e.length-1&amp;&amp;delete f[e[u]],function(t){var e,r,n,a,s,l;for(e=t.length-1;e&gt;=0;e--){if(n=t[e][0],a=t[e][1],l=!1,c(n))for(r=n.length-1;r&gt;=0;r--)i(n[r],o(a,r))?l?n[r]=void 0:n.pop():l=!0;else if(&quot;object&quot;==typeof n&amp;&amp;null!==n)for(s=Object.keys(n),l=!1,r=s.length-1;r&gt;=0;r--)i(n[s[r]],o(a,s[r]))?delete n[s[r]]:l=!0;if(l)return}}(d)):f[e[u]]=n}}function o(t,e){var r=e;return l(e)?r=&quot;[&quot;+e+&quot;]&quot;:t&amp;&amp;(r=&quot;.&quot;+e),t+r}function s(t,e,r,n){if(void 0===t[e]){if(n)return!1;t[e]=&quot;number&quot;==typeof r?[]:{}}return!0}var l=t(&quot;fast-isnumeric&quot;),c=t(&quot;./is_array&quot;),u=t(&quot;./is_plain_object&quot;),f=t(&quot;../plot_api/container_array_match&quot;);e.exports=function(t,e){if(l(e))e=String(e);else if(&quot;string&quot;!=typeof e||&quot;[-1]&quot;===e.substr(e.length-4))throw&quot;bad property string&quot;;for(var r,i,o,s=0,c=e.split(&quot;.&quot;);s&lt;c.length;){if(r=String(c[s]).match(/^([^\[\]]*)((\[\-?[0-9]*\])+)$/)){if(r[1])c[s]=r[1];else{if(0!==s)throw&quot;bad property string&quot;;c.splice(0,1)}for(i=r[2].substr(1,r[2].length-2).split(&quot;][&quot;),o=0;o&lt;i.length;o++)s++,c.splice(s,0,Number(i[o]))}s++}return&quot;object&quot;!=typeof t?function(t,e,r){return{set:function(){throw&quot;bad container&quot;},get:function(){},astr:e,parts:r,obj:t}}(t,e,c):{set:a(t,c,e),get:n(t,c),astr:e,parts:c,obj:t}};var h=/(^|\.)((domain|range)(\.[xy])?|args|parallels)$/,d=/(^|\.)args\[/},{&quot;../plot_api/container_array_match&quot;:772,&quot;./is_array&quot;:744,&quot;./is_plain_object&quot;:745,&quot;fast-isnumeric&quot;:140}],752:[function(t,e,r){&quot;use strict&quot;;e.exports=function(){}},{}],753:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;d3&quot;),i=t(&quot;fast-isnumeric&quot;),a=[];e.exports=function(t,e){function r(t){t.duration(700).style(&quot;opacity&quot;,0).each(&quot;end&quot;,function(t){var e=a.indexOf(t);-1!==e&amp;&amp;a.splice(e,1),n.select(this).remove()})}if(-1===a.indexOf(t)){a.push(t);var o=1e3;i(e)?o=e:&quot;long&quot;===e&amp;&amp;(o=3e3);var s=n.select(&quot;body&quot;).selectAll(&quot;.plotly-notifier&quot;).data([0]);s.enter().append(&quot;div&quot;).classed(&quot;plotly-notifier&quot;,!0);s.selectAll(&quot;.notifier-note&quot;).data(a).enter().append(&quot;div&quot;).classed(&quot;notifier-note&quot;,!0).style(&quot;opacity&quot;,0).each(function(t){var e=n.select(this);e.append(&quot;button&quot;).classed(&quot;notifier-close&quot;,!0).html(&quot;&amp;times;&quot;).on(&quot;click&quot;,function(){e.transition().call(r)});for(var i=e.append(&quot;p&quot;),a=t.split(/&lt;br\s*\/?&gt;/g),s=0;s&lt;a.length;s++)s&amp;&amp;i.append(&quot;br&quot;),i.append(&quot;span&quot;).text(a[s]);e.transition().duration(700).style(&quot;opacity&quot;,1).transition().delay(o).call(r)})}}},{d3:128,&quot;fast-isnumeric&quot;:140}],754:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;./setcursor&quot;),i=&quot;data-savedcursor&quot;;e.exports=function(t,e){var r=t.attr(i);if(e){if(!r){for(var a=(t.attr(&quot;class&quot;)||&quot;&quot;).split(&quot; &quot;),o=0;o&lt;a.length;o++){var s=a[o];0===s.indexOf(&quot;cursor-&quot;)&amp;&amp;t.attr(i,s.substr(7)).classed(s,!1)}t.attr(i)||t.attr(i,&quot;!!&quot;)}n(t,e)}else r&amp;&amp;(t.attr(i,null),&quot;!!&quot;===r?n(t):n(t,r))}},{&quot;./setcursor&quot;:762}],755:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;./matrix&quot;).dot,i=t(&quot;../constants/numerical&quot;).BADNUM,a=e.exports={};a.tester=function(t){if(Array.isArray(t[0][0]))return a.multitester(t);var e,r=t.slice(),n=r[0][0],o=n,s=r[0][1],l=s;for(r.push(r[0]),e=1;e&lt;r.length;e++)n=Math.min(n,r[e][0]),o=Math.max(o,r[e][0]),s=Math.min(s,r[e][1]),l=Math.max(l,r[e][1]);var c,u=!1;5===r.length&amp;&amp;(r[0][0]===r[1][0]?r[2][0]===r[3][0]&amp;&amp;r[0][1]===r[3][1]&amp;&amp;r[1][1]===r[2][1]&amp;&amp;(u=!0,c=function(t){return t[0]===r[0][0]}):r[0][1]===r[1][1]&amp;&amp;r[2][1]===r[3][1]&amp;&amp;r[0][0]===r[3][0]&amp;&amp;r[1][0]===r[2][0]&amp;&amp;(u=!0,c=function(t){return t[1]===r[0][1]}));var f=!0,h=r[0];for(e=1;e&lt;r.length;e++)if(h[0]!==r[e][0]||h[1]!==r[e][1]){f=!1;break}return{xmin:n,xmax:o,ymin:s,ymax:l,pts:r,contains:u?function(t,e){var r=t[0],a=t[1];return!(r===i||r&lt;n||r&gt;o||a===i||a&lt;s||a&gt;l||e&amp;&amp;c(t))}:function(t,e){var a=t[0],c=t[1];if(a===i||a&lt;n||a&gt;o||c===i||c&lt;s||c&gt;l)return!1;var u,f,h,d,p,m=r.length,g=r[0][0],v=r[0][1],y=0;for(u=1;u&lt;m;u++)if(f=g,h=v,g=r[u][0],v=r[u][1],d=Math.min(f,g),!(a&lt;d||a&gt;Math.max(f,g)||c&gt;Math.max(h,v)))if(c&lt;Math.min(h,v))a!==d&amp;&amp;y++;else{if(p=g===f?c:h+(a-f)*(v-h)/(g-f),c===p)return 1!==u||!e;c&lt;=p&amp;&amp;a!==d&amp;&amp;y++}return y%2==1},isRect:u,degenerate:f}},a.multitester=function(t){for(var e=[],r=t[0][0][0],n=r,i=t[0][0][1],o=i,s=0;s&lt;t.length;s++){var l=a.tester(t[s]);l.subtract=t[s].subtract,e.push(l),r=Math.min(r,l.xmin),n=Math.max(n,l.xmax),i=Math.min(i,l.ymin),o=Math.max(o,l.ymax)}return{xmin:r,xmax:n,ymin:i,ymax:o,pts:[],contains:function(t,r){for(var n=!1,i=0;i&lt;e.length;i++)e[i].contains(t,r)&amp;&amp;(n=!1===e[i].subtract);return n},isRect:!1,degenerate:!1}};var o=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&lt;r;a++)if(o=[t[a][0]-l[0],t[a][1]-l[1]],(s=n(o,c))&lt;0||s&gt;u||Math.abs(n(o,h))&gt;i)return!0;return!1};a.filter=function(t,e){function r(r){t.push(r);var s=n.length,l=i;n.splice(a+1);for(var c=l+1;c&lt;t.length;c++)(c===t.length-1||o(t,l,c+1,e))&amp;&amp;(n.push(t[c]),n.length&lt;s-2&amp;&amp;(i=c,a=n.length-1),l=c)}var n=[t[0]],i=0,a=0;if(t.length&gt;1){r(t.pop())}return{addPt:r,raw:t,filtered:n}}},{&quot;../constants/numerical&quot;:721,&quot;./matrix&quot;:749}],756:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t,e){if(e instanceof RegExp){var r,n=e.toString();for(r=0;r&lt;t.length;r++)if(t[r]instanceof RegExp&amp;&amp;t[r].toString()===n)return t;t.push(e)}else e&amp;&amp;-1===t.indexOf(e)&amp;&amp;t.push(e);return t}},{}],757:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../lib&quot;),i=t(&quot;../plot_api/plot_config&quot;),a={};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&amp;&amp;(o.undo.calls.unshift(e),o.undo.args.unshift(r),o.redo.calls.push(n),o.redo.args.push(a)),t.undoQueue.queue.length&gt;i.queueLength&amp;&amp;(t.undoQueue.queue.shift(),t.undoQueue.index--))},a.startSequence=function(t){t.undoQueue=t.undoQueue||{index:0,queue:[],sequence:!1},t.undoQueue.sequence=!0,t.undoQueue.beginSequence=!0},a.stopSequence=function(t){t.undoQueue=t.undoQueue||{index:0,queue:[],sequence:!1},t.undoQueue.sequence=!1,t.undoQueue.beginSequence=!1},a.undo=function(t){var e,r;if(t.framework&amp;&amp;t.framework.isPolar)t.framework.undo();else if(!(void 0===t.undoQueue||isNaN(t.undoQueue.index)||t.undoQueue.index&lt;=0)){for(t.undoQueue.index--,e=t.undoQueue.queue[t.undoQueue.index],t.undoQueue.inSequence=!0,r=0;r&lt;e.undo.calls.length;r++)a.plotDo(t,e.undo.calls[r],e.undo.args[r]);t.undoQueue.inSequence=!1,t.autoplay=!1}},a.redo=function(t){var e,r;if(t.framework&amp;&amp;t.framework.isPolar)t.framework.redo();else if(!(void 0===t.undoQueue||isNaN(t.undoQueue.index)||t.undoQueue.index&gt;=t.undoQueue.queue.length)){for(e=t.undoQueue.queue[t.undoQueue.index],t.undoQueue.inSequence=!0,r=0;r&lt;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&lt;e.length;a++)r=e[a],i[a]=r===t?r:&quot;object&quot;==typeof r?Array.isArray(r)?n.extendDeep([],r):n.extendDeepAll({},r):r;return i}(t,r),e.apply(null,r)},e.exports=a},{&quot;../lib&quot;:743,&quot;../plot_api/plot_config&quot;:777}],758:[function(t,e,r){&quot;use strict&quot;;r.counter=function(t,e,r){return new RegExp(&quot;^&quot;+t+&quot;([2-9]|[1-9][0-9]+)?&quot;+(e||&quot;&quot;)+(r?&quot;&quot;:&quot;$&quot;))}},{}],759:[function(t,e,r){&quot;use strict&quot;;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(&quot;bad relativeAttr call:&quot;+[t,e]);t=&quot;&quot;}if(&quot;^&quot;!==e.charAt(0))break;e=e.slice(1)}return t&amp;&amp;&quot;[&quot;!==e.charAt(0)?t+&quot;.&quot;+e:t+e}},{}],760:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;./is_array&quot;),i=t(&quot;./is_plain_object&quot;);e.exports=function t(e,r){for(var a=Object.keys(r||{}),o=0;o&lt;a.length;o++){var s=a[o],l=r[s],c=e[s];if(&quot;_&quot;===s.charAt(0)||&quot;function&quot;==typeof l){if(s in e)continue;e[s]=l}else if(n(l)&amp;&amp;n(c)&amp;&amp;i(l[0]))for(var u=0;u&lt;l.length;u++)i(l[u])&amp;&amp;i(c[u])&amp;&amp;t(c[u],l[u]);else i(l)&amp;&amp;i(c)&amp;&amp;(t(c,l),Object.keys(c).length||delete e[s])}}},{&quot;./is_array&quot;:744,&quot;./is_plain_object&quot;:745}],761:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;fast-isnumeric&quot;),i=t(&quot;./loggers&quot;);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,s=0,l=e.length,c=0,u=l&gt;1?(e[l-1]-e[0])/(l-1):1;for(o=u&gt;=0?r?function(t,e){return t&lt;e}:function(t,e){return t&lt;=e}:r?function(t,e){return t&gt;=e}:function(t,e){return t&gt;e},t+=1e-9*u*(r?-1:1)*(u&gt;=0?1:-1);s&lt;l&amp;&amp;c++&lt;100;)o(e[a=Math.floor((s+l)/2)],t)?s=a+1:l=a;return c&gt;90&amp;&amp;i.log(&quot;Long binary search...&quot;),s-1},r.sorterAsc=function(t,e){return t-e},r.sorterDes=function(t,e){return e-t},r.distinctVals=function(t){var e=t.slice();e.sort(r.sorterAsc);for(var n=e.length-1,i=e[n]-e[0]||1,a=i/(n||1)/1e4,o=[e[0]],s=0;s&lt;n;s++)e[s+1]&gt;e[s]+a&amp;&amp;(i=Math.min(i,e[s+1]-e[s]),o.push(e[s+1]));return{vals:o,minDiff:i}},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&lt;a&amp;&amp;o++&lt;100;)e[n=c((i+a)/2)]&lt;=t?i=n+s:a=n-l;return e[i]}},{&quot;./loggers&quot;:748,&quot;fast-isnumeric&quot;:140}],762:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t,e){(t.attr(&quot;class&quot;)||&quot;&quot;).split(&quot; &quot;).forEach(function(e){0===e.indexOf(&quot;cursor-&quot;)&amp;&amp;t.classed(e,!1)}),e&amp;&amp;t.classed(&quot;cursor-&quot;+e,!0)}},{}],763:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../components/color&quot;),i=function(){};e.exports=function(t){for(var e in t)&quot;function&quot;==typeof t[e]&amp;&amp;(t[e]=i);t.destroy=function(){t.container.parentNode.removeChild(t.container)};var r=document.createElement(&quot;div&quot;);return r.textContent=&quot;Webgl is not supported by your browser - visit http://get.webgl.org for more info&quot;,r.style.cursor=&quot;pointer&quot;,r.style.fontSize=&quot;24px&quot;,r.style.color=n.defaults[0],t.container.appendChild(r),t.container.style.background=&quot;#FFFFFF&quot;,t.container.onclick=function(){window.open(&quot;http://get.webgl.org&quot;)},!1}},{&quot;../components/color&quot;:618}],764:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;fast-isnumeric&quot;);r.aggNums=function(t,e,i,a){var o,s;if(a||(a=i.length),n(e)||(e=!1),Array.isArray(i[0])){for(s=new Array(a),o=0;o&lt;a;o++)s[o]=r.aggNums(t,e,i[o]);i=s}for(o=0;o&lt;a;o++)n(e)?n(i[o])&amp;&amp;(e=t(+e,+i[o])):e=i[o];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.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.interp=function(t,e){if(!n(e))throw&quot;n should be a finite number&quot;;if((e=e*t.length-.5)&lt;0)return t[0];if(e&gt;t.length-1)return t[t.length-1];var r=e%1;return r*t[Math.ceil(e)]+(1-r)*t[Math.floor(e)]}},{&quot;fast-isnumeric&quot;:140}],765:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;color-normalize&quot;);e.exports=function(t){return t?n(t):[0,0,0,1]}},{&quot;color-normalize&quot;:99}],766:[function(t,e,r){&quot;use strict&quot;;function n(t,e){return t.node().getBoundingClientRect()[e]}function i(t,e,r){var n=&quot;math-output-&quot;+c.randstr([],64),i=l.select(&quot;body&quot;).append(&quot;div&quot;).attr({id:n}).style({visibility:&quot;hidden&quot;,position:&quot;absolute&quot;}).style({&quot;font-size&quot;:e.fontSize+&quot;px&quot;}).text(function(t){return t.replace(p,&quot;\\lt &quot;).replace(m,&quot;\\gt &quot;)}(t));MathJax.Hub.Queue([&quot;Typeset&quot;,MathJax.Hub,i.node()],function(){var e=l.select(&quot;body&quot;).select(&quot;#MathJax_SVG_glyphs&quot;);if(i.select(&quot;.MathJax_SVG&quot;).empty()||!i.select(&quot;svg&quot;).node())c.log(&quot;There was an error in the tex syntax.&quot;,t),r();else{var n=i.select(&quot;svg&quot;).node().getBoundingClientRect();r(i.select(&quot;.MathJax_SVG&quot;),e,n)}i.remove()})}function a(t,e){if(!t)return null;var r=t.match(e);return r&amp;&amp;(r[3]||r[4])}function o(t,e){function r(){p++;var e=document.createElementNS(u.svg,&quot;tspan&quot;);l.select(e).attr({class:&quot;line&quot;,dy:p*h+&quot;em&quot;}),t.appendChild(e),s=e;var r=d;if(d=[{node:e}],r.length&gt;1)for(var i=1;i&lt;r.length;i++)n(r[i])}function n(t){var e,r=t.type,n={};if(&quot;a&quot;===r){e=&quot;a&quot;;var a=t.target,o=t.href,c=t.popup;o&amp;&amp;(n={&quot;xlink:xlink:show&quot;:&quot;_blank&quot;===a||&quot;_&quot;!==a.charAt(0)?&quot;new&quot;:&quot;replace&quot;,target:a,&quot;xlink:xlink:href&quot;:o},c&amp;&amp;(n.onclick='window.open(this.href.baseVal,this.target.baseVal,&quot;'+c+'&quot;);return false;'))}else e=&quot;tspan&quot;;t.style&amp;&amp;(n.style=t.style);var f=document.createElementNS(u.svg,e);if(&quot;sup&quot;===r||&quot;sub&quot;===r){i(s,x),s.appendChild(f);var h=document.createElementNS(u.svg,&quot;tspan&quot;);i(h,x),l.select(h).attr(&quot;dy&quot;,y[r]),n.dy=v[r],s.appendChild(f),s.appendChild(h)}else s.appendChild(f);l.select(f).attr(n),s=t.node=f,d.push(t)}function i(t,e){t.appendChild(document.createTextNode(e))}function o(t){if(1!==d.length){var r=d.pop();t!==r.type&amp;&amp;c.log(&quot;Start tag &lt;&quot;+r.type+&quot;&gt; doesnt match end tag &lt;&quot;+t+&quot;&gt;. Pretending it did match.&quot;,e),s=d[d.length-1].node}else c.log(&quot;Ignoring unexpected end tag &lt;/&quot;+t+&quot;&gt;.&quot;,e)}e=function(t){return function(t,e){if(!t)return&quot;&quot;;for(var r=0;r&lt;e.length;r++){var n=e[r];t=t.replace(n.regExp,n.sub)}return t}(t,w)}(e).replace(M,&quot; &quot;);var s,f=!1,d=[],p=-1;T.test(e)?r():(s=t,d=[{node:t}]);for(var m=e.split(k),_=0;_&lt;m.length;_++){var D=m[_],I=D.match(A),P=I&amp;&amp;I[2].toLowerCase(),O=g[P];if(&quot;br&quot;===P)r();else if(void 0===O)i(s,D);else if(I[1])o(P);else{var F=I[4],R={type:P},N=a(F,S);if(N?(N=N.replace(z,&quot;$1 fill:&quot;),O&amp;&amp;(N+=&quot;;&quot;+O)):O&amp;&amp;(N=O),N&amp;&amp;(R.style=N),&quot;a&quot;===P){f=!0;var j=a(F,E);if(j){var B=document.createElement(&quot;a&quot;);B.href=j,-1!==b.indexOf(B.protocol)&amp;&amp;(R.href=encodeURI(j),R.target=a(F,L)||&quot;_blank&quot;,R.popup=a(F,C))}}n(R)}}return f}function s(t,e,r){var n,i,a,o=r.horizontalAlign,s=r.verticalAlign||&quot;top&quot;,l=t.node().getBoundingClientRect(),c=e.node().getBoundingClientRect();return i=&quot;bottom&quot;===s?function(){return l.bottom-n.height}:&quot;middle&quot;===s?function(){return l.top+(l.height-n.height)/2}:function(){return l.top},a=&quot;right&quot;===o?function(){return l.right-n.width}:&quot;center&quot;===o?function(){return l.left+(l.width-n.width)/2}:function(){return l.left},function(){return n=this.node().getBoundingClientRect(),this.style({top:i()-c.top+&quot;px&quot;,left:a()-c.left+&quot;px&quot;,&quot;z-index&quot;:1e3}),this}}var l=t(&quot;d3&quot;),c=t(&quot;../lib&quot;),u=t(&quot;../constants/xmlns_namespaces&quot;),f=t(&quot;../constants/string_mappings&quot;),h=t(&quot;../constants/alignment&quot;).LINE_SPACING,d=/([^$]*)([$]+[^$]*[$]+)([^$]*)/;r.convertToTspans=function(t,e,a){function s(){f.empty()||(h=t.attr(&quot;class&quot;)+&quot;-math&quot;,f.select(&quot;svg.&quot;+h).remove()),t.text(&quot;&quot;).style(&quot;white-space&quot;,&quot;pre&quot;);o(t.node(),c)&amp;&amp;t.style(&quot;pointer-events&quot;,&quot;all&quot;),r.positionText(t),a&amp;&amp;a.call(t)}var c=t.text(),u=!t.attr(&quot;data-notex&quot;)&amp;&amp;&quot;undefined&quot;!=typeof MathJax&amp;&amp;c.match(d),f=l.select(t.node().parentNode);if(!f.empty()){var h=t.attr(&quot;class&quot;)?t.attr(&quot;class&quot;).split(&quot; &quot;)[0]:&quot;text&quot;;return h+=&quot;-math&quot;,f.selectAll(&quot;svg.&quot;+h).remove(),f.selectAll(&quot;g.&quot;+h+&quot;-group&quot;).remove(),t.style(&quot;display&quot;,null).attr({&quot;data-unformatted&quot;:c,&quot;data-math&quot;:&quot;N&quot;}),u?(e&amp;&amp;e._promises||[]).push(new Promise(function(e){t.style(&quot;display&quot;,&quot;none&quot;);var r=parseInt(t.node().style.fontSize,10);i(u[2],{fontSize:r},function(i,o,l){f.selectAll(&quot;svg.&quot;+h).remove(),f.selectAll(&quot;g.&quot;+h+&quot;-group&quot;).remove();var u=i&amp;&amp;i.select(&quot;svg&quot;);if(!u||!u.node())return s(),void e();var d=f.append(&quot;g&quot;).classed(h+&quot;-group&quot;,!0).attr({&quot;pointer-events&quot;:&quot;none&quot;,&quot;data-unformatted&quot;:c,&quot;data-math&quot;:&quot;Y&quot;});d.node().appendChild(u.node()),o&amp;&amp;o.node()&amp;&amp;u.node().insertBefore(o.node().cloneNode(!0),u.node().firstChild),u.attr({class:h,height:l.height,preserveAspectRatio:&quot;xMinYMin meet&quot;}).style({overflow:&quot;visible&quot;,&quot;pointer-events&quot;:&quot;none&quot;});var p=t.node().style.fill||&quot;black&quot;;u.select(&quot;g&quot;).attr({fill:p,stroke:p});var m=n(u,&quot;width&quot;),g=n(u,&quot;height&quot;),v=+t.attr(&quot;x&quot;)-m*{start:0,middle:.5,end:1}[t.attr(&quot;text-anchor&quot;)||&quot;start&quot;],y=-(r||n(t,&quot;height&quot;))/4;&quot;y&quot;===h[0]?(d.attr({transform:&quot;rotate(&quot;+[-90,+t.attr(&quot;x&quot;),+t.attr(&quot;y&quot;)]+&quot;) translate(&quot;+[-m/2,y-g/2]+&quot;)&quot;}),u.attr({x:+t.attr(&quot;x&quot;),y:+t.attr(&quot;y&quot;)})):&quot;l&quot;===h[0]?u.attr({x:t.attr(&quot;x&quot;),y:y-g/2}):&quot;a&quot;===h[0]?u.attr({x:0,y:y}):u.attr({x:v,y:+t.attr(&quot;y&quot;)+y-g/2}),a&amp;&amp;a.call(t,d),e(d)})})):s(),t}};var p=/(&lt;|&amp;lt;|&amp;#60;)/g,m=/(&gt;|&amp;gt;|&amp;#62;)/g,g={sup:&quot;font-size:70%&quot;,sub:&quot;font-size:70%&quot;,b:&quot;font-weight:bold&quot;,i:&quot;font-style:italic&quot;,a:&quot;cursor:pointer&quot;,span:&quot;&quot;,em:&quot;font-style:italic;font-weight:bold&quot;},v={sub:&quot;0.3em&quot;,sup:&quot;-0.6em&quot;},y={sub:&quot;-0.21em&quot;,sup:&quot;0.42em&quot;},x=&quot;\u200b&quot;,b=[&quot;http:&quot;,&quot;https:&quot;,&quot;mailto:&quot;,&quot;&quot;,void 0,&quot;:&quot;],_=new RegExp(&quot;&lt;/?(&quot;+Object.keys(g).join(&quot;|&quot;)+&quot;)( [^&gt;]*)?/?&gt;&quot;,&quot;g&quot;),w=Object.keys(f.entityToUnicode).map(function(t){return{regExp:new RegExp(&quot;&amp;&quot;+t+&quot;;&quot;,&quot;g&quot;),sub:f.entityToUnicode[t]}}),M=/(\r\n?|\n)/g,k=/(&lt;[^&lt;&gt;]*&gt;)/,A=/&lt;(\/?)([^ &gt;]*)(\s+(.*))?&gt;/i,T=/&lt;br(\s+.*)?&gt;/i,S=/(^|[\s&quot;'])style\s*=\s*(&quot;([^&quot;]*);?&quot;|'([^']*);?')/i,E=/(^|[\s&quot;'])href\s*=\s*(&quot;([^&quot;]*)&quot;|'([^']*)')/i,L=/(^|[\s&quot;'])target\s*=\s*(&quot;([^&quot;\s]*)&quot;|'([^'\s]*)')/i,C=/(^|[\s&quot;'])popup\s*=\s*(&quot;([\w=,]*)&quot;|'([\w=,]*)')/i,z=/(^|;)\s*color:/;r.plainText=function(t){return(t||&quot;&quot;).replace(_,&quot; &quot;)},r.lineCount=function(t){return t.selectAll(&quot;tspan.line&quot;).size()||1},r.positionText=function(t,e,r){return t.each(function(){function t(t,e){return void 0===e?null===(e=n.attr(t))&amp;&amp;(n.attr(t,0),e=0):n.attr(t,e),e}var n=l.select(this),i=t(&quot;x&quot;,e),a=t(&quot;y&quot;,r);&quot;text&quot;===this.nodeName&amp;&amp;n.selectAll(&quot;tspan.line&quot;).attr({x:i,y:a})})},r.makeEditable=function(t,e){function r(){!function(){var r=l.select(i).select(&quot;.svg-container&quot;),a=r.append(&quot;div&quot;),c=t.node().style,u=parseFloat(c.fontSize||12);a.classed(&quot;plugin-editable editable&quot;,!0).style({position:&quot;absolute&quot;,&quot;font-family&quot;:c.fontFamily||&quot;Arial&quot;,&quot;font-size&quot;:u,color:e.fill||c.fill||&quot;black&quot;,opacity:1,&quot;background-color&quot;:e.background||&quot;transparent&quot;,outline:&quot;#ffffff33 1px solid&quot;,margin:[-u/8+1,0,0,-1].join(&quot;px &quot;)+&quot;px&quot;,padding:&quot;0&quot;,&quot;box-sizing&quot;:&quot;border-box&quot;}).attr({contenteditable:!0}).text(e.text||t.attr(&quot;data-unformatted&quot;)).call(s(t,r,e)).on(&quot;blur&quot;,function(){i._editing=!1,t.text(this.textContent).style({opacity:1});var e,r=l.select(this).attr(&quot;class&quot;);(e=r?&quot;.&quot;+r.split(&quot; &quot;)[0]+&quot;-math-group&quot;:&quot;[class*=-math-group]&quot;)&amp;&amp;l.select(t.node().parentNode).select(e).style({opacity:0});var n=this.textContent;l.select(this).transition().duration(0).remove(),l.select(document).on(&quot;mouseup&quot;,null),o.edit.call(t,n)}).on(&quot;focus&quot;,function(){var t=this;i._editing=!0,l.select(document).on(&quot;mouseup&quot;,function(){if(l.event.target===t)return!1;document.activeElement===a.node()&amp;&amp;a.node().blur()})}).on(&quot;keyup&quot;,function(){27===l.event.which?(i._editing=!1,t.style({opacity:1}),l.select(this).style({opacity:0}).on(&quot;blur&quot;,function(){return!1}).transition().remove(),o.cancel.call(t,this.textContent)):(o.input.call(t,this.textContent),l.select(this).call(s(t,r,e)))}).on(&quot;keydown&quot;,function(){13===l.event.which&amp;&amp;this.blur()}).call(n)}(),t.style({opacity:0});var r,a=c.attr(&quot;class&quot;);(r=a?&quot;.&quot;+a.split(&quot; &quot;)[0]+&quot;-math-group&quot;:&quot;[class*=-math-group]&quot;)&amp;&amp;l.select(t.node().parentNode).select(r).style({opacity:0})}function n(t){var e=t.node(),r=document.createRange();r.selectNodeContents(e);var n=window.getSelection();n.removeAllRanges(),n.addRange(r),e.focus()}var i=e.gd,a=e.delegate,o=l.dispatch(&quot;edit&quot;,&quot;input&quot;,&quot;cancel&quot;),c=a||t;if(t.style({&quot;pointer-events&quot;:a?&quot;none&quot;:&quot;all&quot;}),1!==t.size())throw new Error(&quot;boo&quot;);return e.immediate?r():c.on(&quot;click&quot;,r),l.rebind(t,o,&quot;on&quot;)}},{&quot;../constants/alignment&quot;:716,&quot;../constants/string_mappings&quot;:722,&quot;../constants/xmlns_namespaces&quot;:723,&quot;../lib&quot;:743,d3:128}],767:[function(t,e,r){&quot;use strict&quot;;function n(t){t&amp;&amp;null!==t.timer&amp;&amp;(clearTimeout(t.timer),t.timer=null)}var i={};r.throttle=function(t,e,r){function a(){r(),o.ts=Date.now(),o.onDone&amp;&amp;(o.onDone(),o.onDone=null)}var o=i[t],s=Date.now();if(!o){for(var l in i)i[l].ts&lt;s-6e4&amp;&amp;delete i[l];o=i[t]={ts:0,timer:null}}n(o),s&gt;o.ts+e?a():o.timer=setTimeout(function(){a(),o.timer=null},e)},r.done=function(t){var e=i[t];return e&amp;&amp;e.timer?new Promise(function(t){var r=e.onDone;e.onDone=function(){r&amp;&amp;r(),t(),e.onDone=null}}):Promise.resolve()},r.clear=function(t){if(t)n(i[t]),delete i[t];else for(var e in i)r.clear(e)}},{}],768:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;fast-isnumeric&quot;);e.exports=function(t,e){if(t&gt;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}},{&quot;fast-isnumeric&quot;:140}],769:[function(t,e,r){&quot;use strict&quot;;var n=e.exports={},i=t(&quot;../plots/geo/constants&quot;).locationmodeToLayer,a=t(&quot;topojson-client&quot;).feature;n.getTopojsonName=function(t){return[t.scope.replace(/ /g,&quot;-&quot;),&quot;_&quot;,t.resolution.toString(),&quot;m&quot;].join(&quot;&quot;)},n.getTopojsonPath=function(t,e){return t+e+&quot;.json&quot;},n.getTopojsonFeatures=function(t,e){var r=i[t.locationmode],n=e.objects[r];return a(e,n).features}},{&quot;../plots/geo/constants&quot;:818,&quot;topojson-client&quot;:549}],770:[function(t,e,r){&quot;use strict&quot;;e.exports={moduleType:&quot;locale&quot;,name:&quot;en-US&quot;,dictionary:{&quot;Click to enter Colorscale title&quot;:&quot;Click to enter Colorscale title&quot;},format:{date:&quot;%m/%d/%Y&quot;}}},{}],771:[function(t,e,r){&quot;use strict&quot;;e.exports={moduleType:&quot;locale&quot;,name:&quot;en&quot;,dictionary:{&quot;Click to enter Colorscale title&quot;:&quot;Click to enter Colourscale title&quot;},format:{days:[&quot;Sunday&quot;,&quot;Monday&quot;,&quot;Tuesday&quot;,&quot;Wednesday&quot;,&quot;Thursday&quot;,&quot;Friday&quot;],shortDays:[&quot;Sun&quot;,&quot;Mon&quot;,&quot;Tue&quot;,&quot;Wed&quot;,&quot;Thu&quot;,&quot;Fri&quot;,&quot;Sat&quot;],months:[&quot;January&quot;,&quot;February&quot;,&quot;March&quot;,&quot;April&quot;,&quot;May&quot;,&quot;June&quot;,&quot;July&quot;,&quot;August&quot;,&quot;September&quot;,&quot;October&quot;,&quot;November&quot;,&quot;December&quot;],shortMonths:[&quot;Jan&quot;,&quot;Feb&quot;,&quot;Mar&quot;,&quot;Apr&quot;,&quot;May&quot;,&quot;Jun&quot;,&quot;Jul&quot;,&quot;Aug&quot;,&quot;Sep&quot;,&quot;Oct&quot;,&quot;Nov&quot;,&quot;Dec&quot;],periods:[&quot;AM&quot;,&quot;PM&quot;],dateTime:&quot;%a %b %e %X %Y&quot;,date:&quot;%d/%m/%Y&quot;,time:&quot;%H:%M:%S&quot;,decimal:&quot;.&quot;,thousands:&quot;,&quot;,grouping:[3],currency:[&quot;$&quot;,&quot;&quot;]}}},{}],772:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../registry&quot;);e.exports=function(t){for(var e,r,i=n.layoutArrayContainers,a=n.layoutArrayRegexes,o=t.split(&quot;[&quot;)[0],s=0;s&lt;a.length;s++)if((r=t.match(a[s]))&amp;&amp;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]*)\](\.(.+))?$/))&amp;&amp;{array:e,index:Number(r[1]),property:r[3]||&quot;&quot;}:{array:e,index:&quot;&quot;,property:&quot;&quot;}}},{&quot;../registry&quot;:873}],773:[function(t,e,r){&quot;use strict&quot;;function n(t){for(var e={},r=0;r&lt;t.length;r++)e[t[r]]=!1;return e}function i(t,e,r){var n=s({},t);for(var i in n){var o=n[i];l(o)&amp;&amp;(n[i]=a(o,e,r,i))}return&quot;from-root&quot;===r&amp;&amp;(n.editType=e),n}function a(t,e,r,n){if(t.valType){var o=s({},t);if(o.editType=e,Array.isArray(t.items)){o.items=new Array(t.items.length);for(var l=0;l&lt;t.items.length;l++)o.items[l]=a(t.items[l],e,&quot;from-root&quot;)}return o}return i(t,e,&quot;_&quot;===n.charAt(0)?&quot;nested&quot;:&quot;from-root&quot;)}var o=t(&quot;../lib&quot;),s=o.extendFlat,l=o.isPlainObject,c={valType:&quot;flaglist&quot;,extras:[&quot;none&quot;],flags:[&quot;calc&quot;,&quot;calcIfAutorange&quot;,&quot;clearAxisTypes&quot;,&quot;plot&quot;,&quot;style&quot;,&quot;colorbars&quot;]},u={valType:&quot;flaglist&quot;,extras:[&quot;none&quot;],flags:[&quot;calc&quot;,&quot;calcIfAutorange&quot;,&quot;plot&quot;,&quot;legend&quot;,&quot;ticks&quot;,&quot;layoutstyle&quot;,&quot;modebar&quot;,&quot;camera&quot;,&quot;arraydraw&quot;]},f=c.flags.slice().concat([&quot;clearCalc&quot;,&quot;fullReplot&quot;]),h=u.flags.slice().concat(&quot;layoutReplot&quot;);e.exports={traces:c,layout:u,traceFlags:function(){return n(f)},layoutFlags:function(){return n(h)},update:function(t,e){var r=e.editType;if(r&amp;&amp;&quot;none&quot;!==r)for(var n=r.split(&quot;+&quot;),i=0;i&lt;n.length;i++)t[n[i]]=!0},overrideAll:i}},{&quot;../lib&quot;:743}],774:[function(t,e,r){&quot;use strict&quot;;function n(t,e){var r=t[e],n=e.charAt(0);r&amp;&amp;&quot;paper&quot;!==r&amp;&amp;(t[e]=d(r,n))}function i(t){var e=&quot;middle&quot;,r=&quot;center&quot;;return-1!==t.indexOf(&quot;top&quot;)?e=&quot;top&quot;:-1!==t.indexOf(&quot;bottom&quot;)&amp;&amp;(e=&quot;bottom&quot;),-1!==t.indexOf(&quot;left&quot;)?r=&quot;left&quot;:-1!==t.indexOf(&quot;right&quot;)&amp;&amp;(r=&quot;right&quot;),e+&quot; &quot;+r}function a(t,e){return e in t&amp;&amp;&quot;object&quot;==typeof t[e]&amp;&amp;0===Object.keys(t[e]).length}function o(t){var e=t.search(g);if(e&gt;0)return t.substr(0,e)}var s=t(&quot;fast-isnumeric&quot;),l=t(&quot;gl-mat4/fromQuat&quot;),c=t(&quot;../registry&quot;),u=t(&quot;../lib&quot;),f=t(&quot;../plots/plots&quot;),h=t(&quot;../plots/cartesian/axis_ids&quot;),d=h.cleanId,p=h.getFromTrace,m=t(&quot;../components/color&quot;);r.clearPromiseQueue=function(t){Array.isArray(t._promises)&amp;&amp;t._promises.length&gt;0&amp;&amp;u.log(&quot;Clearing previous rejected promises from queue.&quot;),t._promises=[]},r.cleanLayout=function(t){var e,r;t||(t={}),t.xaxis1&amp;&amp;(t.xaxis||(t.xaxis=t.xaxis1),delete t.xaxis1),t.yaxis1&amp;&amp;(t.yaxis||(t.yaxis=t.yaxis1),delete t.yaxis1),t.scene1&amp;&amp;(t.scene||(t.scene=t.scene1),delete t.scene1);var i=(f.subplotsRegistry.cartesian||{}).attrRegex,o=(f.subplotsRegistry.gl3d||{}).attrRegex,s=Object.keys(t);for(e=0;e&lt;s.length;e++){var c=s[e];if(i&amp;&amp;i.test(c)){var h=t[c];h.anchor&amp;&amp;&quot;free&quot;!==h.anchor&amp;&amp;(h.anchor=d(h.anchor)),h.overlaying&amp;&amp;(h.overlaying=d(h.overlaying)),h.type||(h.isdate?h.type=&quot;date&quot;:h.islog?h.type=&quot;log&quot;:!1===h.isdate&amp;&amp;!1===h.islog&amp;&amp;(h.type=&quot;linear&quot;)),&quot;withzero&quot;!==h.autorange&amp;&amp;&quot;tozero&quot;!==h.autorange||(h.autorange=!0,h.rangemode=&quot;tozero&quot;),delete h.islog,delete h.isdate,delete h.categories,a(h,&quot;domain&quot;)&amp;&amp;delete h.domain,void 0!==h.autotick&amp;&amp;(void 0===h.tickmode&amp;&amp;(h.tickmode=h.autotick?&quot;auto&quot;:&quot;linear&quot;),delete h.autotick)}else if(o&amp;&amp;o.test(c)){var p=t[c],g=p.cameraposition;if(Array.isArray(g)&amp;&amp;4===g[0].length){var v=g[0],y=g[1],x=g[2],b=l([],v),_=[];for(r=0;r&lt;3;++r)_[r]=y[r]+x*b[2+4*r];p.camera={eye:{x:_[0],y:_[1],z:_[2]},center:{x:y[0],y:y[1],z:y[2]},up:{x:b[1],y:b[5],z:b[9]}},delete p.cameraposition}}}var w=Array.isArray(t.annotations)?t.annotations.length:0;for(e=0;e&lt;w;e++){var M=t.annotations[e];u.isPlainObject(M)&amp;&amp;(M.ref&amp;&amp;(&quot;paper&quot;===M.ref?(M.xref=&quot;paper&quot;,M.yref=&quot;paper&quot;):&quot;data&quot;===M.ref&amp;&amp;(M.xref=&quot;x&quot;,M.yref=&quot;y&quot;),delete M.ref),n(M,&quot;xref&quot;),n(M,&quot;yref&quot;))}var k=Array.isArray(t.shapes)?t.shapes.length:0;for(e=0;e&lt;k;e++){var A=t.shapes[e];u.isPlainObject(A)&amp;&amp;(n(A,&quot;xref&quot;),n(A,&quot;yref&quot;))}var T=t.legend;return T&amp;&amp;(T.x&gt;3?(T.x=1.02,T.xanchor=&quot;left&quot;):T.x&lt;-2&amp;&amp;(T.x=-.02,T.xanchor=&quot;right&quot;),T.y&gt;3?(T.y=1.02,T.yanchor=&quot;bottom&quot;):T.y&lt;-2&amp;&amp;(T.y=-.02,T.yanchor=&quot;top&quot;)),&quot;rotate&quot;===t.dragmode&amp;&amp;(t.dragmode=&quot;orbit&quot;),m.clean(t),t},r.cleanData=function(t,e){for(var n=[],o=t.concat(Array.isArray(e)?e:[]).filter(function(t){return&quot;uid&quot;in t}).map(function(t){return t.uid}),s=0;s&lt;t.length;s++){var l,h=t[s];if(!(&quot;uid&quot;in h)||-1!==n.indexOf(h.uid)){var p;for(l=0;l&lt;100&amp;&amp;(p=u.randstr(o),-1!==n.indexOf(p));l++);h.uid=u.randstr(o),o.push(h.uid)}if(n.push(h.uid),&quot;histogramy&quot;===h.type&amp;&amp;&quot;xbins&quot;in h&amp;&amp;!(&quot;ybins&quot;in h)&amp;&amp;(h.ybins=h.xbins,delete h.xbins),h.error_y&amp;&amp;&quot;opacity&quot;in h.error_y){var g=m.defaults,v=h.error_y.color||(c.traceIs(h,&quot;bar&quot;)?m.defaultLine:g[s%g.length]);h.error_y.color=m.addOpacity(m.rgb(v),m.opacity(v)*h.error_y.opacity),delete h.error_y.opacity}if(&quot;bardir&quot;in h&amp;&amp;(&quot;h&quot;!==h.bardir||!c.traceIs(h,&quot;bar&quot;)&amp;&amp;&quot;histogram&quot;!==h.type.substr(0,9)||(h.orientation=&quot;h&quot;,r.swapXYData(h)),delete h.bardir),&quot;histogramy&quot;===h.type&amp;&amp;r.swapXYData(h),&quot;histogramx&quot;!==h.type&amp;&amp;&quot;histogramy&quot;!==h.type||(h.type=&quot;histogram&quot;),&quot;scl&quot;in h&amp;&amp;(h.colorscale=h.scl,delete h.scl),&quot;reversescl&quot;in h&amp;&amp;(h.reversescale=h.reversescl,delete h.reversescl),h.xaxis&amp;&amp;(h.xaxis=d(h.xaxis,&quot;x&quot;)),h.yaxis&amp;&amp;(h.yaxis=d(h.yaxis,&quot;y&quot;)),c.traceIs(h,&quot;gl3d&quot;)&amp;&amp;h.scene&amp;&amp;(h.scene=f.subplotsRegistry.gl3d.cleanId(h.scene)),c.traceIs(h,&quot;pie&quot;)||c.traceIs(h,&quot;bar&quot;)||(Array.isArray(h.textposition)?h.textposition=h.textposition.map(i):h.textposition&amp;&amp;(h.textposition=i(h.textposition))),c.traceIs(h,&quot;2dMap&quot;)&amp;&amp;(&quot;YIGnBu&quot;===h.colorscale&amp;&amp;(h.colorscale=&quot;YlGnBu&quot;),&quot;YIOrRd&quot;===h.colorscale&amp;&amp;(h.colorscale=&quot;YlOrRd&quot;)),c.traceIs(h,&quot;markerColorscale&quot;)&amp;&amp;h.marker){var y=h.marker;&quot;YIGnBu&quot;===y.colorscale&amp;&amp;(y.colorscale=&quot;YlGnBu&quot;),&quot;YIOrRd&quot;===y.colorscale&amp;&amp;(y.colorscale=&quot;YlOrRd&quot;)}if(&quot;surface&quot;===h.type&amp;&amp;u.isPlainObject(h.contours)){var x=[&quot;x&quot;,&quot;y&quot;,&quot;z&quot;];for(l=0;l&lt;x.length;l++){var b=h.contours[x[l]];u.isPlainObject(b)&amp;&amp;(b.highlightColor&amp;&amp;(b.highlightcolor=b.highlightColor,delete b.highlightColor),b.highlightWidth&amp;&amp;(b.highlightwidth=b.highlightWidth,delete b.highlightWidth))}}if(Array.isArray(h.transforms)){var _=h.transforms;for(l=0;l&lt;_.length;l++){var w=_[l];if(u.isPlainObject(w))switch(w.type){case&quot;filter&quot;:w.filtersrc&amp;&amp;(w.target=w.filtersrc,delete w.filtersrc),w.calendar&amp;&amp;(w.valuecalendar||(w.valuecalendar=w.calendar),delete w.calendar);break;case&quot;groupby&quot;:if(w.styles=w.styles||w.style,w.styles&amp;&amp;!Array.isArray(w.styles)){var M=w.styles,k=Object.keys(M);w.styles=[];for(var A=0;A&lt;k.length;A++)w.styles.push({target:k[A],value:M[k[A]]})}}}}a(h,&quot;line&quot;)&amp;&amp;delete h.line,&quot;marker&quot;in h&amp;&amp;(a(h.marker,&quot;line&quot;)&amp;&amp;delete h.marker.line,a(h,&quot;marker&quot;)&amp;&amp;delete h.marker),m.clean(h)}},r.swapXYData=function(t){var e;if(u.swapAttrs(t,[&quot;?&quot;,&quot;?0&quot;,&quot;d?&quot;,&quot;?bins&quot;,&quot;nbins?&quot;,&quot;autobin?&quot;,&quot;?src&quot;,&quot;error_?&quot;]),Array.isArray(t.z)&amp;&amp;Array.isArray(t.z[0])&amp;&amp;(t.transpose?delete t.transpose:t.transpose=!0),t.error_x&amp;&amp;t.error_y){var r=t.error_y,n=&quot;copy_ystyle&quot;in r?r.copy_ystyle:!(r.color||r.thickness||r.width);u.swapAttrs(t,[&quot;error_?.copy_ystyle&quot;]),n&amp;&amp;u.swapAttrs(t,[&quot;error_?.color&quot;,&quot;error_?.thickness&quot;,&quot;error_?.width&quot;])}if(&quot;string&quot;==typeof t.hoverinfo){var i=t.hoverinfo.split(&quot;+&quot;);for(e=0;e&lt;i.length;e++)&quot;x&quot;===i[e]?i[e]=&quot;y&quot;:&quot;y&quot;===i[e]&amp;&amp;(i[e]=&quot;x&quot;);t.hoverinfo=i.join(&quot;+&quot;)}},r.coerceTraceIndices=function(t,e){return s(e)?[e]:Array.isArray(e)&amp;&amp;e.length?e:t.data.map(function(t,e){return e})},r.manageArrayContainers=function(t,e,r){var n=t.obj,i=t.parts,a=i.length,o=i[a-1],l=s(o);if(l&amp;&amp;null===e){var c=i.slice(0,a-1).join(&quot;.&quot;);u.nestedProperty(n,c).get().splice(o,1)}else l&amp;&amp;void 0===t.get()?(void 0===t.get()&amp;&amp;(r[t.astr]=null),t.set(e)):t.set(e)};var g=/(\.[^\[\]\.]+|\[[^\[\]\.]+\])$/;r.hasParent=function(t,e){for(var r=o(e);r;){if(r in t)return!0;r=o(r)}return!1};var v=[&quot;x&quot;,&quot;y&quot;,&quot;z&quot;];r.clearAxisTypes=function(t,e,r){for(var n=0;n&lt;e.length;n++)for(var i=t._fullData[n],a=0;a&lt;3;a++){var o=p(t,i,v[a]);if(o&amp;&amp;&quot;log&quot;!==o.type){var s=o._name,l=o._id.substr(1);if(&quot;scene&quot;===l.substr(0,5)){if(void 0!==r[l])continue;s=l+&quot;.&quot;+s}var c=s+&quot;.type&quot;;void 0===r[s]&amp;&amp;void 0===r[c]&amp;&amp;u.nestedProperty(t.layout,c).set(null)}}}},{&quot;../components/color&quot;:618,&quot;../lib&quot;:743,&quot;../plots/cartesian/axis_ids&quot;:792,&quot;../plots/plots&quot;:852,&quot;../registry&quot;:873,&quot;fast-isnumeric&quot;:140,&quot;gl-mat4/fromQuat&quot;:183}],775:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../lib/nested_property&quot;),i=t(&quot;../lib/is_plain_object&quot;),a=t(&quot;../lib/noop&quot;),o=t(&quot;../lib/loggers&quot;),s=t(&quot;../lib/search&quot;).sorterAsc,l=t(&quot;../registry&quot;);r.containerArrayMatch=t(&quot;./container_array_match&quot;);var c=r.isAddVal=function(t){return&quot;add&quot;===t||i(t)},u=r.isRemoveVal=function(t){return null===t||&quot;remove&quot;===t};r.applyContainerArrayChanges=function(t,e,r,i){var f=e.astr,h=l.getComponentMethod(f,&quot;supplyLayoutDefaults&quot;),d=l.getComponentMethod(f,&quot;draw&quot;),p=l.getComponentMethod(f,&quot;drawOne&quot;),m=i.replot||i.recalc||h===a||d===a,g=t.layout,v=t._fullLayout;if(r[&quot;&quot;]){Object.keys(r).length&gt;1&amp;&amp;o.warn(&quot;Full array edits are incompatible with other edits&quot;,f);var y=r[&quot;&quot;][&quot;&quot;];if(u(y))e.set(null);else{if(!Array.isArray(y))return o.warn(&quot;Unrecognized full array edit value&quot;,f,y),!0;e.set(y)}return!m&amp;&amp;(h(g,v),d(t),!0)}var x,b,_,w,M,k,A,T=Object.keys(r).map(Number).sort(s),S=e.get(),E=S||[],L=n(v,f).get(),C=[],z=-1,D=E.length;for(x=0;x&lt;T.length;x++)if(_=T[x],w=r[_],M=Object.keys(w),k=w[&quot;&quot;],A=c(k),_&lt;0||_&gt;E.length-(A?0:1))o.warn(&quot;index out of range&quot;,f,_);else if(void 0!==k)M.length&gt;1&amp;&amp;o.warn(&quot;Insertion &amp; removal are incompatible with edits to the same index.&quot;,f,_),u(k)?C.push(_):A?(&quot;add&quot;===k&amp;&amp;(k={}),E.splice(_,0,k),L&amp;&amp;L.splice(_,0,{})):o.warn(&quot;Unrecognized full object edit value&quot;,f,_,k),-1===z&amp;&amp;(z=_);else for(b=0;b&lt;M.length;b++)n(E[_],M[b]).set(w[M[b]]);for(x=C.length-1;x&gt;=0;x--)E.splice(C[x],1),L&amp;&amp;L.splice(C[x],1);if(E.length?S||e.set(E):e.set(null),m)return!1;if(h(g,v),p!==a){var I;if(-1===z)I=T;else{for(D=Math.max(E.length,D),I=[],x=0;x&lt;T.length&amp;&amp;!((_=T[x])&gt;=z);x++)I.push(_);for(x=z;x&lt;D;x++)I.push(x)}for(x=0;x&lt;I.length;x++)p(t,I[x])}else d(t);return!0}},{&quot;../lib/is_plain_object&quot;:745,&quot;../lib/loggers&quot;:748,&quot;../lib/nested_property&quot;:751,&quot;../lib/noop&quot;:752,&quot;../lib/search&quot;:761,&quot;../registry&quot;:873,&quot;./container_array_match&quot;:772}],776:[function(t,e,r){&quot;use strict&quot;;function n(t,e){try{t._fullLayout._paper.style(&quot;background&quot;,e)}catch(t){v.error(t)}}function i(t,e){n(t,T.combine(e,&quot;white&quot;))}function a(t,e){var r,n,i=e+1,a=[];for(r=0;r&lt;t.length;r++)(n=t[r])&lt;0?a.push(i+n):a.push(n);return a}function o(t,e,r){var n,i;for(n=0;n&lt;e.length;n++){if((i=e[n])!==parseInt(i,10))throw new Error(&quot;all values in &quot;+r+&quot; must be integers&quot;);if(i&gt;=t.data.length||i&lt;-t.data.length)throw new Error(r+&quot; must be valid indices for gd.data.&quot;);if(e.indexOf(i,n+1)&gt;-1||i&gt;=0&amp;&amp;e.indexOf(-t.data.length+i)&gt;-1||i&lt;0&amp;&amp;e.indexOf(t.data.length+i)&gt;-1)throw new Error(&quot;each index in &quot;+r+&quot; must be unique.&quot;)}}function s(t,e,r){if(!Array.isArray(t.data))throw new Error(&quot;gd.data must be an array.&quot;);if(void 0===e)throw new Error(&quot;currentIndices is a required argument.&quot;);if(Array.isArray(e)||(e=[e]),o(t,e,&quot;currentIndices&quot;),void 0===r||Array.isArray(r)||(r=[r]),void 0!==r&amp;&amp;o(t,r,&quot;newIndices&quot;),void 0!==r&amp;&amp;e.length!==r.length)throw new Error(&quot;current and new indices must be of equal length.&quot;)}function l(t,e,r,n,i,s){!function(t,e,r,n){var i=v.isPlainObject(n);if(!Array.isArray(t.data))throw new Error(&quot;gd.data must be an array&quot;);if(!v.isPlainObject(e))throw new Error(&quot;update must be a key:value object&quot;);if(void 0===r)throw new Error(&quot;indices must be an integer or array of integers&quot;);o(t,r,&quot;indices&quot;);for(var a in e){if(!Array.isArray(e[a])||e[a].length!==r.length)throw new Error(&quot;attribute &quot;+a+&quot; must be an array of length equal to indices array length&quot;);if(i&amp;&amp;(!(a in n)||!Array.isArray(n[a])||n[a].length!==e[a].length))throw new Error(&quot;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&quot;)}}(t,e,r,n);for(var l,c,u,f=function(t,e,r,n){var i,o,s,l,c,u=v.isPlainObject(n),f=[];Array.isArray(r)||(r=[r]),r=a(r,t.data.length-1);for(var h in e)for(var d=0;d&lt;r.length;d++){if(i=t.data[r[d]],s=v.nestedProperty(i,h),o=s.get(),l=e[h][d],!Array.isArray(l))throw new Error(&quot;attribute: &quot;+h+&quot; index: &quot;+d+&quot; must be an array&quot;);if(!Array.isArray(o))throw new Error(&quot;cannot extend missing or non-array attribute: &quot;+h);c=u?n[h][d]:n,p(c)||(c=-1),f.push({prop:s,target:o,insert:l,maxp:Math.floor(c)})}return f}(t,e,r,n),h=[],d={},m={},g=0;g&lt;f.length;g++)c=f[g].prop,u=f[g].maxp,l=i(f[g].target,f[g].insert),u&gt;=0&amp;&amp;u&lt;l.length&amp;&amp;(h=s(l,u)),u=f[g].target.length,c.set(l),Array.isArray(d[c.astr])||(d[c.astr]=[]),Array.isArray(m[c.astr])||(m[c.astr]=[]),d[c.astr].push(h),m[c.astr].push(u);return{update:d,maxPoints:m}}function c(t){return void 0===t?null:t}function u(t,e,r){function n(){return r.map(function(){})}function i(t){var e=g.Axes.id2name(t);-1===u.indexOf(e)&amp;&amp;u.push(e)}function a(t){return&quot;LAYOUT&quot;+t+&quot;.autorange&quot;}function o(t){return&quot;LAYOUT&quot;+t+&quot;.range&quot;}function s(i,a,o){if(Array.isArray(i))i.forEach(function(t){s(t,a,o)});else if(!(i in e||z.hasParent(e,i))){var l;l=&quot;LAYOUT&quot;===i.substr(0,6)?v.nestedProperty(t.layout,i.replace(&quot;LAYOUT&quot;,&quot;&quot;)):v.nestedProperty(d[r[o]],i),i in y||(y[i]=n()),void 0===y[i][o]&amp;&amp;(y[i][o]=c(l.get())),void 0!==a&amp;&amp;l.set(a)}}var l,u,f=t._fullLayout,h=t._fullData,d=t.data,p=I.traceFlags(),m={},y={},x={};for(var M in e){if(z.hasParent(e,M))throw new Error(&quot;cannot set &quot;+M+&quot;and a parent attribute simultaneously&quot;);var k,A,T,S,E,L,C=e[M];if(m[M]=C,&quot;LAYOUT&quot;!==M.substr(0,6)){for(y[M]=n(),l=0;l&lt;r.length;l++)if(k=d[r[l]],A=h[r[l]],T=v.nestedProperty(k,M),S=T.get(),void 0!==(E=Array.isArray(C)?C[l%C.length]:C)){if((L=_.getTraceValObject(A,T.parts))&amp;&amp;L.impliedEdits&amp;&amp;null!==E)for(var D in L.impliedEdits)s(v.relativeAttr(M,D),L.impliedEdits[D],l);else if(&quot;colorbar.thicknessmode&quot;===M&amp;&amp;T.get()!==E&amp;&amp;-1!==[&quot;fraction&quot;,&quot;pixels&quot;].indexOf(E)&amp;&amp;A.colorbar){var P=-1!==[&quot;top&quot;,&quot;bottom&quot;].indexOf(A.colorbar.orient)?f.height-f.margin.t-f.margin.b:f.width-f.margin.l-f.margin.r;s(&quot;colorbar.thickness&quot;,A.colorbar.thickness*(&quot;fraction&quot;===E?1/P:P),l)}else if(&quot;colorbar.lenmode&quot;===M&amp;&amp;T.get()!==E&amp;&amp;-1!==[&quot;fraction&quot;,&quot;pixels&quot;].indexOf(E)&amp;&amp;A.colorbar){var O=-1!==[&quot;top&quot;,&quot;bottom&quot;].indexOf(A.colorbar.orient)?f.width-f.margin.l-f.margin.r:f.height-f.margin.t-f.margin.b;s(&quot;colorbar.len&quot;,A.colorbar.len*(&quot;fraction&quot;===E?1/O:O),l)}else&quot;colorbar.tick0&quot;!==M&amp;&amp;&quot;colorbar.dtick&quot;!==M||s(&quot;colorbar.tickmode&quot;,&quot;linear&quot;,l);if(&quot;type&quot;===M&amp;&amp;&quot;pie&quot;===E!=(&quot;pie&quot;===S)){var F=&quot;x&quot;,R=&quot;y&quot;;&quot;bar&quot;!==E&amp;&amp;&quot;bar&quot;!==S||&quot;h&quot;!==k.orientation||(F=&quot;y&quot;,R=&quot;x&quot;),v.swapAttrs(k,[&quot;?&quot;,&quot;?src&quot;],&quot;labels&quot;,F),v.swapAttrs(k,[&quot;d?&quot;,&quot;?0&quot;],&quot;label&quot;,F),v.swapAttrs(k,[&quot;?&quot;,&quot;?src&quot;],&quot;values&quot;,R),&quot;pie&quot;===S?(v.nestedProperty(k,&quot;marker.color&quot;).set(v.nestedProperty(k,&quot;marker.colors&quot;).get()),f._pielayer.selectAll(&quot;g.trace&quot;).remove()):b.traceIs(k,&quot;cartesian&quot;)&amp;&amp;(v.nestedProperty(k,&quot;marker.colors&quot;).set(v.nestedProperty(k,&quot;marker.color&quot;).get()),x[k.xaxis||&quot;x&quot;]=!0,x[k.yaxis||&quot;y&quot;]=!0)}y[M][l]=c(S);if(-1!==[&quot;swapxy&quot;,&quot;swapxyaxes&quot;,&quot;orientation&quot;,&quot;orientationaxes&quot;].indexOf(M)){if(&quot;orientation&quot;===M){T.set(E);var N=k.x&amp;&amp;!k.y?&quot;h&quot;:&quot;v&quot;;if((T.get()||N)===A.orientation)continue}else&quot;orientationaxes&quot;===M&amp;&amp;(k.orientation={v:&quot;h&quot;,h:&quot;v&quot;}[A.orientation]);z.swapXYData(k),p.calc=p.clearAxisTypes=!0}else-1!==w.dataArrayContainers.indexOf(T.parts[0])?(z.manageArrayContainers(T,E,y),p.calc=!0):(L?L.arrayOk&amp;&amp;(Array.isArray(E)||Array.isArray(S))?p.calc=!0:I.update(p,L):p.calc=!0,T.set(E))}if(-1!==[&quot;swapxyaxes&quot;,&quot;orientationaxes&quot;].indexOf(M)&amp;&amp;g.Axes.swap(t,r),&quot;orientationaxes&quot;===M){var j=v.nestedProperty(t.layout,&quot;hovermode&quot;);&quot;x&quot;===j.get()?j.set(&quot;y&quot;):&quot;y&quot;===j.get()&amp;&amp;j.set(&quot;x&quot;)}if(-1!==[&quot;orientation&quot;,&quot;type&quot;].indexOf(M)){for(u=[],l=0;l&lt;r.length;l++){var B=d[r[l]];b.traceIs(B,&quot;cartesian&quot;)&amp;&amp;(i(B.xaxis||&quot;x&quot;),i(B.yaxis||&quot;y&quot;),&quot;type&quot;===M&amp;&amp;s([&quot;autobinx&quot;,&quot;autobiny&quot;],!0,l))}s(u.map(a),!0,0),s(u.map(o),[0,1],0)}}else T=v.nestedProperty(t.layout,M.replace(&quot;LAYOUT&quot;,&quot;&quot;)),y[M]=[c(T.get())],T.set(Array.isArray(C)?C[0]:C),p.calc=!0}var U=!1,V=g.Axes.list(t);for(l=0;l&lt;V.length;l++)if(V[l].autorange){U=!0;break}var q=Object.keys(x);t:for(l=0;l&lt;q.length;l++){for(var H=q[l],G=H.charAt(0),Y=G+&quot;axis&quot;,W=0;W&lt;d.length;W++)if(b.traceIs(d[W],&quot;cartesian&quot;)&amp;&amp;(d[W][Y]||G)===H)continue t;s(&quot;LAYOUT&quot;+g.Axes.id2name(H),null,0)}return(p.calc||p.calcIfAutorange&amp;&amp;U)&amp;&amp;(p.clearCalc=!0),(p.calc||p.plot||p.calcIfAutorange)&amp;&amp;(p.fullReplot=!0),{flags:p,undoit:y,redoit:m,traces:r,eventData:v.extendDeepNoArrays([],[m,r])}}function f(t,e){function r(t,n){if(Array.isArray(t))t.forEach(function(t){r(t,n)});else if(!(t in e||z.hasParent(e,t))){var i=v.nestedProperty(l,t);t in A||(A[t]=c(i.get())),void 0!==n&amp;&amp;i.set(n)}}function n(e,r){if(!v.isPlainObject(e))return!1;var n=e[r+&quot;ref&quot;]||r,i=g.Axes.getFromId(t,n);return i||n.charAt(0)!==r||(i=g.Axes.getFromId(t,r)),(i||{}).autorange}function i(t){var e=N.name2id(t.split(&quot;.&quot;)[0]);return T[e]=1,e}var a,o,s,l=t.layout,u=t._fullLayout,f=Object.keys(e),h=g.Axes.list(t),d={};for(o=0;o&lt;f.length;o++)if(0===f[o].indexOf(&quot;allaxes&quot;)){for(s=0;s&lt;h.length;s++){var p=h[s]._id.substr(1),m=-1!==p.indexOf(&quot;scene&quot;)?p+&quot;.&quot;:&quot;&quot;,y=f[o].replace(&quot;allaxes&quot;,m+h[s]._name);e[y]||(e[y]=e[f[o]])}delete e[f[o]]}var x,M=I.layoutFlags(),k={},A={},T={};for(var S in e){if(z.hasParent(e,S))throw new Error(&quot;cannot set &quot;+S+&quot;and a parent attribute simultaneously&quot;);var E=v.nestedProperty(l,S),L=e[S],D=E.parts.length,O=&quot;string&quot;==typeof E.parts[D-1]?D-1:D-2,F=E.parts[O],R=E.parts[O-1]+&quot;.&quot;+F,j=E.parts.slice(0,O).join(&quot;.&quot;),B=v.nestedProperty(t.layout,j).get(),U=v.nestedProperty(u,j).get(),V=E.get();if(void 0!==L){k[S]=L,A[S]=&quot;reverse&quot;===F?L:c(V);var q=_.getLayoutValObject(u,E.parts);if(q&amp;&amp;q.impliedEdits&amp;&amp;null!==L)for(var H in q.impliedEdits)r(v.relativeAttr(S,H),q.impliedEdits[H]);if(-1!==[&quot;width&quot;,&quot;height&quot;].indexOf(S)&amp;&amp;null===L)u[S]=t._initialAutoSize[S];else if(R.match(/^[xyz]axis[0-9]*\.range(\[[0|1]\])?$/))i(R),v.nestedProperty(u,j+&quot;._inputRange&quot;).set(null);else if(R.match(/^[xyz]axis[0-9]*\.autorange$/)){i(R),v.nestedProperty(u,j+&quot;._inputRange&quot;).set(null);var G=v.nestedProperty(u,j).get();G._inputDomain&amp;&amp;(G._input.domain=G._inputDomain.slice())}else R.match(/^[xyz]axis[0-9]*\.domain(\[[0|1]\])?$/)&amp;&amp;v.nestedProperty(u,j+&quot;._inputDomain&quot;).set(null);if(&quot;type&quot;===F){var Y=B,W=&quot;linear&quot;===U.type&amp;&amp;&quot;log&quot;===L,X=&quot;log&quot;===U.type&amp;&amp;&quot;linear&quot;===L;if(W||X){if(Y&amp;&amp;Y.range)if(U.autorange)W&amp;&amp;(Y.range=Y.range[1]&gt;Y.range[0]?[1,2]:[2,1]);else{var Z=Y.range[0],J=Y.range[1];W?(Z&lt;=0&amp;&amp;J&lt;=0&amp;&amp;r(j+&quot;.autorange&quot;,!0),Z&lt;=0?Z=J/1e6:J&lt;=0&amp;&amp;(J=Z/1e6),r(j+&quot;.range[0]&quot;,Math.log(Z)/Math.LN10),r(j+&quot;.range[1]&quot;,Math.log(J)/Math.LN10)):(r(j+&quot;.range[0]&quot;,Math.pow(10,Z)),r(j+&quot;.range[1]&quot;,Math.pow(10,J)))}else r(j+&quot;.autorange&quot;,!0);Array.isArray(u._subplots.polar)&amp;&amp;u._subplots.polar.length&amp;&amp;u[E.parts[0]]&amp;&amp;&quot;radialaxis&quot;===E.parts[1]&amp;&amp;delete u[E.parts[0]]._subplot.viewInitial[&quot;radialaxis.range&quot;],b.getComponentMethod(&quot;annotations&quot;,&quot;convertCoords&quot;)(t,U,L,r),b.getComponentMethod(&quot;images&quot;,&quot;convertCoords&quot;)(t,U,L,r)}else r(j+&quot;.autorange&quot;,!0),r(j+&quot;.range&quot;,null);v.nestedProperty(u,j+&quot;._inputRange&quot;).set(null)}else if(F.match(P.AX_NAME_PATTERN)){var K=v.nestedProperty(u,S).get(),Q=(L||{}).type;Q&amp;&amp;&quot;-&quot;!==Q||(Q=&quot;linear&quot;),b.getComponentMethod(&quot;annotations&quot;,&quot;convertCoords&quot;)(t,K,Q,r),b.getComponentMethod(&quot;images&quot;,&quot;convertCoords&quot;)(t,K,Q,r)}var $=C.containerArrayMatch(S);if($){a=$.array,o=$.index;var tt=$.property,et=(v.nestedProperty(l,a)||[])[o]||{},rt=et,nt=q||{editType:&quot;calc&quot;},it=-1!==nt.editType.indexOf(&quot;calcIfAutorange&quot;);&quot;&quot;===o?(it?M.calc=!0:I.update(M,nt),it=!1):&quot;&quot;===tt&amp;&amp;(rt=L,C.isAddVal(L)?A[S]=null:C.isRemoveVal(L)?(A[S]=et,rt=et):v.warn(&quot;unrecognized full object value&quot;,e)),it&amp;&amp;(n(rt,&quot;x&quot;)||n(rt,&quot;y&quot;))?M.calc=!0:I.update(M,nt),d[a]||(d[a]={});var at=d[a][o];at||(at=d[a][o]={}),at[tt]=L,delete e[S]}else&quot;reverse&quot;===F?(B.range?B.range.reverse():(r(j+&quot;.autorange&quot;,!0),B.range=[1,0]),U.autorange?M.calc=!0:M.plot=!0):((!u._has(&quot;gl2d&quot;)&amp;&amp;!u._has(&quot;regl&quot;)||&quot;dragmode&quot;!==S||&quot;lasso&quot;!==L&amp;&amp;&quot;select&quot;!==L||&quot;lasso&quot;===V||&quot;select&quot;===V)&amp;&amp;q?I.update(M,q):M.calc=!0,E.set(L))}}for(a in d){C.applyContainerArrayChanges(t,v.nestedProperty(l,a),d[a],M)||(M.plot=!0)}var ot=u._axisConstraintGroups||[];for(x in T)for(o=0;o&lt;ot.length;o++){var st=ot[o];if(st[x]){M.calc=!0;for(var lt in st)T[lt]||(N.getFromId(t,lt)._constraintShrinkable=!0)}}var ct=u.width,ut=u.height;t.layout.autosize&amp;&amp;w.plotAutoSize(t,t.layout,u);return(e.height||e.width||u.width!==ct||u.height!==ut)&amp;&amp;(M.calc=!0),(M.plot||M.calc)&amp;&amp;(M.layoutReplot=!0),{flags:M,undoit:A,redoit:k,eventData:v.extendDeep({},k)}}function h(t){var e=d.select(t),r=t._fullLayout;if(r._container=e.selectAll(&quot;.plot-container&quot;).data([0]),r._container.enter().insert(&quot;div&quot;,&quot;:first-child&quot;).classed(&quot;plot-container&quot;,!0).classed(&quot;plotly&quot;,!0),r._paperdiv=r._container.selectAll(&quot;.svg-container&quot;).data([0]),r._paperdiv.enter().append(&quot;div&quot;).classed(&quot;svg-container&quot;,!0).style(&quot;position&quot;,&quot;relative&quot;),r._glcontainer=r._paperdiv.selectAll(&quot;.gl-container&quot;).data([{}]),r._glcontainer.enter().append(&quot;div&quot;).classed(&quot;gl-container&quot;,!0),r._glcanvas=null,r._paperdiv.selectAll(&quot;.main-svg&quot;).remove(),r._paper=r._paperdiv.insert(&quot;svg&quot;,&quot;:first-child&quot;).classed(&quot;main-svg&quot;,!0),r._toppaper=r._paperdiv.append(&quot;svg&quot;).classed(&quot;main-svg&quot;,!0),!r._uid){var n=[];d.selectAll(&quot;defs&quot;).each(function(){this.id&amp;&amp;n.push(this.id.split(&quot;-&quot;)[1])}),r._uid=v.randstr(n)}r._paperdiv.selectAll(&quot;.main-svg&quot;).attr(E.svgAttrs),r._defs=r._paper.append(&quot;defs&quot;).attr(&quot;id&quot;,&quot;defs-&quot;+r._uid),r._clips=r._defs.append(&quot;g&quot;).classed(&quot;clips&quot;,!0),r._topdefs=r._toppaper.append(&quot;defs&quot;).attr(&quot;id&quot;,&quot;topdefs-&quot;+r._uid),r._topclips=r._topdefs.append(&quot;g&quot;).classed(&quot;clips&quot;,!0),r._bgLayer=r._paper.append(&quot;g&quot;).classed(&quot;bglayer&quot;,!0),r._draggers=r._paper.append(&quot;g&quot;).classed(&quot;draglayer&quot;,!0);var i=r._paper.append(&quot;g&quot;).classed(&quot;layer-below&quot;,!0);r._imageLowerLayer=i.append(&quot;g&quot;).classed(&quot;imagelayer&quot;,!0),r._shapeLowerLayer=i.append(&quot;g&quot;).classed(&quot;shapelayer&quot;,!0),r._cartesianlayer=r._paper.append(&quot;g&quot;).classed(&quot;cartesianlayer&quot;,!0),r._polarlayer=r._paper.append(&quot;g&quot;).classed(&quot;polarlayer&quot;,!0),r._ternarylayer=r._paper.append(&quot;g&quot;).classed(&quot;ternarylayer&quot;,!0),r._geolayer=r._paper.append(&quot;g&quot;).classed(&quot;geolayer&quot;,!0),r._pielayer=r._paper.append(&quot;g&quot;).classed(&quot;pielayer&quot;,!0),r._glimages=r._paper.append(&quot;g&quot;).classed(&quot;glimages&quot;,!0);var a=r._toppaper.append(&quot;g&quot;).classed(&quot;layer-above&quot;,!0);r._imageUpperLayer=a.append(&quot;g&quot;).classed(&quot;imagelayer&quot;,!0),r._shapeUpperLayer=a.append(&quot;g&quot;).classed(&quot;shapelayer&quot;,!0),r._infolayer=r._toppaper.append(&quot;g&quot;).classed(&quot;infolayer&quot;,!0),r._menulayer=r._toppaper.append(&quot;g&quot;).classed(&quot;menulayer&quot;,!0),r._zoomlayer=r._toppaper.append(&quot;g&quot;).classed(&quot;zoomlayer&quot;,!0),r._hoverlayer=r._toppaper.append(&quot;g&quot;).classed(&quot;hoverlayer&quot;,!0),t.emit(&quot;plotly_framework&quot;)}var d=t(&quot;d3&quot;),p=t(&quot;fast-isnumeric&quot;),m=t(&quot;has-hover&quot;),g=t(&quot;../plotly&quot;),v=t(&quot;../lib&quot;),y=t(&quot;../lib/events&quot;),x=t(&quot;../lib/queue&quot;),b=t(&quot;../registry&quot;),_=t(&quot;./plot_schema&quot;),w=t(&quot;../plots/plots&quot;),M=t(&quot;../plots/polar/legacy&quot;),k=t(&quot;../plots/cartesian/graph_interact&quot;),A=t(&quot;../components/drawing&quot;),T=t(&quot;../components/color&quot;),S=t(&quot;../components/errorbars&quot;),E=t(&quot;../constants/xmlns_namespaces&quot;),L=t(&quot;../lib/svg_text_utils&quot;),C=t(&quot;./manage_arrays&quot;),z=t(&quot;./helpers&quot;),D=t(&quot;./subroutines&quot;),I=t(&quot;./edit_types&quot;),P=t(&quot;../plots/cartesian/constants&quot;),O=t(&quot;../plots/cartesian/constraints&quot;),F=O.enforce,R=O.clean,N=t(&quot;../plots/cartesian/axis_ids&quot;);g.plot=function(t,e,r,a){function o(){var e,r,n,i=t.calcdata;for(b.getComponentMethod(&quot;legend&quot;,&quot;draw&quot;)(t),b.getComponentMethod(&quot;rangeselector&quot;,&quot;draw&quot;)(t),b.getComponentMethod(&quot;sliders&quot;,&quot;draw&quot;)(t),b.getComponentMethod(&quot;updatemenus&quot;,&quot;draw&quot;)(t),e=0;e&lt;i.length;e++)!0===(n=(r=i[e])[0].trace).visible&amp;&amp;n._module.colorbar?n._module.colorbar(t,r):w.autoMargin(t,&quot;cb&quot;+n.uid);return w.doAutoMargin(t),w.previousPromises(t)}function s(){if(!t._transitioning){for(var e=g.Axes.list(t,&quot;&quot;,!0),r=0;r&lt;e.length;r++){var n=e[r];R(t,n),g.Axes.doAutoRange(n)}F(t),u&amp;&amp;g.Axes.saveRangeInitial(t)}}var l;if(t=v.getGraphDiv(t),y.init(t),v.isPlainObject(e)){var c=e;e=c.data,r=c.layout,a=c.config,l=c.frames}if(!1===y.triggerHandler(t,&quot;plotly_beforeplot&quot;,[e,r,a]))return Promise.reject();e||r||v.isPlotDiv(t)||v.warn(&quot;Calling Plotly.plot as if redrawing but this container doesn't yet have a plot.&quot;,t),function(t,e){t._context||(t._context=v.extendDeep({},g.defaultConfig));var r,a,o,s=t._context;if(e){for(a=Object.keys(e),r=0;r&lt;a.length;r++)&quot;editable&quot;!==(o=a[r])&amp;&amp;&quot;edits&quot;!==o&amp;&amp;o in s&amp;&amp;(&quot;setBackground&quot;===o&amp;&amp;&quot;opaque&quot;===e[o]?s[o]=i:s[o]=e[o]);e.plot3dPixelRatio&amp;&amp;!s.plotGlPixelRatio&amp;&amp;(s.plotGlPixelRatio=s.plot3dPixelRatio);var l=e.editable;if(void 0!==l)for(s.editable=l,a=Object.keys(s.edits),r=0;r&lt;a.length;r++)s.edits[a[r]]=l;if(e.edits)for(a=Object.keys(e.edits),r=0;r&lt;a.length;r++)(o=a[r])in s.edits&amp;&amp;(s.edits[o]=e.edits[o])}s.staticPlot&amp;&amp;(s.editable=!1,s.edits={},s.autosizable=!1,s.scrollZoom=!1,s.doubleClick=!1,s.showTips=!1,s.showLink=!1,s.displayModeBar=!1),&quot;hover&quot;!==s.displayModeBar||m||(s.displayModeBar=!0),&quot;transparent&quot;!==s.setBackground&amp;&amp;&quot;function&quot;==typeof s.setBackground||(s.setBackground=n)}(t,a),r||(r={}),d.select(t).classed(&quot;js-plotly-plot&quot;,!0),A.makeTester(),Array.isArray(t._promises)||(t._promises=[]);var u=0===(t.data||[]).length&amp;&amp;Array.isArray(e);if(Array.isArray(e)&amp;&amp;(z.cleanData(e,t.data),u?t.data=e:t.data.push.apply(t.data,e),t.empty=!1),t.layout&amp;&amp;!u||(t.layout=z.cleanLayout(r)),t._dragging&amp;&amp;!t._transitioning)return t._replotPending=!0,Promise.reject();t._replotPending=!1,w.supplyDefaults(t);var f=t._fullLayout;if(!f._has(&quot;polar&quot;)&amp;&amp;e&amp;&amp;e[0]&amp;&amp;e[0].r)return v.log(&quot;Legacy polar charts are deprecated!&quot;),function(t,e,r){var n=d.select(t).selectAll(&quot;.plot-container&quot;).data([0]);n.enter().insert(&quot;div&quot;,&quot;:first-child&quot;).classed(&quot;plot-container plotly&quot;,!0);var i=n.selectAll(&quot;.svg-container&quot;).data([0]);i.enter().append(&quot;div&quot;).classed(&quot;svg-container&quot;,!0).style(&quot;position&quot;,&quot;relative&quot;),i.html(&quot;&quot;),e&amp;&amp;(t.data=e),r&amp;&amp;(t.layout=r),M.manager.fillLayout(t),i.style({width:t._fullLayout.width+&quot;px&quot;,height:t._fullLayout.height+&quot;px&quot;}),t.framework=M.manager.framework(t),t.framework({data:t.data,layout:t.layout},i.node()),t.framework.setUndoPoint();var a=t.framework.svg(),o=1,s=t._fullLayout.title;&quot;&quot;!==s&amp;&amp;s||(o=0);var l=function(){this.call(L.convertToTspans,t)},c=a.select(&quot;.title-group text&quot;).call(l);if(t._context.edits.titleText){var u=v._(t,&quot;Click to enter Plot title&quot;);s&amp;&amp;s!==u||(o=.2,c.attr({&quot;data-unformatted&quot;:u}).text(u).style({opacity:o}).on(&quot;mouseover.opacity&quot;,function(){d.select(this).transition().duration(100).style(&quot;opacity&quot;,1)}).on(&quot;mouseout.opacity&quot;,function(){d.select(this).transition().duration(1e3).style(&quot;opacity&quot;,0)}));var f=function(){this.call(L.makeEditable,{gd:t}).on(&quot;edit&quot;,function(e){t.framework({layout:{title:e}}),this.text(e).call(l),this.call(f)}).on(&quot;cancel&quot;,function(){var t=this.attr(&quot;data-unformatted&quot;);this.text(t).call(l)})};c.call(f)}return t._context.setBackground(t,t._fullLayout.paper_bgcolor),w.addLinks(t),Promise.resolve()}(t,e,r);f._replotting=!0,u&amp;&amp;h(t),t.framework!==h&amp;&amp;(t.framework=h,h(t)),A.initGradients(t),u&amp;&amp;g.Axes.saveShowSpikeInitial(t);var p=!t.calcdata||t.calcdata.length!==(t._fullData||[]).length;p&amp;&amp;w.doCalcdata(t);for(var x=0;x&lt;t.calcdata.length;x++)t.calcdata[x][0].trace=t._fullData[x];var _=JSON.stringify(f._size),T=[w.previousPromises,function(){if(l)return g.addFrames(t,l)},function(){for(var e=f._basePlotModules,r=0;r&lt;e.length;r++)e[r].drawFramework&amp;&amp;e[r].drawFramework(t);return!f._glcanvas&amp;&amp;f._has(&quot;gl&quot;)&amp;&amp;(f._glcanvas=f._glcontainer.selectAll(&quot;.gl-canvas&quot;).data([{key:&quot;contextLayer&quot;,context:!0,pick:!1},{key:&quot;focusLayer&quot;,context:!1,pick:!1},{key:&quot;pickLayer&quot;,context:!1,pick:!0}],function(t){return t.key}),f._glcanvas.enter().append(&quot;canvas&quot;).attr(&quot;class&quot;,function(t){return&quot;gl-canvas gl-canvas-&quot;+t.key.replace(&quot;Layer&quot;,&quot;&quot;)}).style({position:&quot;absolute&quot;,top:0,left:0,width:&quot;100%&quot;,height:&quot;100%&quot;,overflow:&quot;visible&quot;,&quot;pointer-events&quot;:&quot;none&quot;})),f._glcanvas&amp;&amp;f._glcanvas.attr(&quot;width&quot;,f.width).attr(&quot;height&quot;,f.height),v.syncOrAsync([D.layoutStyles],t)},o,function(){if(JSON.stringify(f._size)!==_)return v.syncOrAsync([o,D.layoutStyles],t)},function(){if(p){var e,r,n,i=f._subplots.cartesian,a=f._modules,o=[];for(n=0;n&lt;a.length;n++)v.pushUnique(o,a[n].setPositions);if(o.length)for(r=0;r&lt;i.length;r++)for(e=f._plots[i[r]],n=0;n&lt;o.length;n++)o[n](t,e);return S.calc(t),v.syncOrAsync([b.getComponentMethod(&quot;shapes&quot;,&quot;calcAutorange&quot;),b.getComponentMethod(&quot;annotations&quot;,&quot;calcAutorange&quot;),s,b.getComponentMethod(&quot;rangeslider&quot;,&quot;calcAutorange&quot;)],t)}F(t)},D.layoutStyles,function(){return g.Axes.doTicks(t,&quot;redraw&quot;)},function(){var e,r=t.calcdata,n=f._infolayer.selectAll(&quot;g.rangeslider-container&quot;);for(e=0;e&lt;r.length;e++){var i=r[e][0].trace,a=!0===i.visible,o=i.uid;if(!a||!b.traceIs(i,&quot;2dMap&quot;)){var s=&quot;.hm&quot;+o+&quot;,.contour&quot;+o+&quot;,#clip&quot;+o;f._paper.selectAll(s).remove(),n.selectAll(s).remove()}a&amp;&amp;i._module.colorbar||f._infolayer.selectAll(&quot;.cb&quot;+o).remove()}var l=f._basePlotModules;for(e=0;e&lt;l.length;e++)l[e].plot(t);var c=f._paper.selectAll(&quot;.layer-subplot&quot;);return f._shapeSubplotLayers=c.selectAll(&quot;.shapelayer&quot;),w.style(t),b.getComponentMethod(&quot;shapes&quot;,&quot;draw&quot;)(t),b.getComponentMethod(&quot;annotations&quot;,&quot;draw&quot;)(t),w.addLinks(t),f._replotting=!1,w.previousPromises(t)},function(){b.getComponentMethod(&quot;shapes&quot;,&quot;draw&quot;)(t),b.getComponentMethod(&quot;images&quot;,&quot;draw&quot;)(t),b.getComponentMethod(&quot;annotations&quot;,&quot;draw&quot;)(t),b.getComponentMethod(&quot;legend&quot;,&quot;draw&quot;)(t),b.getComponentMethod(&quot;rangeslider&quot;,&quot;draw&quot;)(t),b.getComponentMethod(&quot;rangeselector&quot;,&quot;draw&quot;)(t),b.getComponentMethod(&quot;sliders&quot;,&quot;draw&quot;)(t),b.getComponentMethod(&quot;updatemenus&quot;,&quot;draw&quot;)(t)},k,w.rehover,w.previousPromises],E=v.syncOrAsync(T,t);return E&amp;&amp;E.then||(E=Promise.resolve()),E.then(function(){return t.emit(&quot;plotly_afterplot&quot;),t})},g.redraw=function(t){if(t=v.getGraphDiv(t),!v.isPlotDiv(t))throw new Error(&quot;This element is not a Plotly plot: &quot;+t);return z.cleanData(t.data,t.data),z.cleanLayout(t.layout),t.calcdata=void 0,g.plot(t).then(function(){return t.emit(&quot;plotly_redraw&quot;),t})},g.newPlot=function(t,e,r,n){return t=v.getGraphDiv(t),w.cleanPlot([],{},t._fullData||{},t._fullLayout||{}),w.purge(t),g.plot(t,e,r,n)},g.extendTraces=function t(e,r,n,i){var a=l(e=v.getGraphDiv(e),r,n,i,function(t,e){return t.concat(e)},function(t,e){return t.splice(0,t.length-e)}),o=g.redraw(e),s=[e,a.update,n,a.maxPoints];return x.add(e,g.prependTraces,s,t,arguments),o},g.prependTraces=function t(e,r,n,i){var a=l(e=v.getGraphDiv(e),r,n,i,function(t,e){return e.concat(t)},function(t,e){return t.splice(e,t.length)}),o=g.redraw(e),s=[e,a.update,n,a.maxPoints];return x.add(e,g.extendTraces,s,t,arguments),o},g.addTraces=function t(e,r,n){e=v.getGraphDiv(e);var i,a,o=[],l=g.deleteTraces,c=t,u=[e,o],f=[e,r];for(function(t,e,r){var n,i;if(!Array.isArray(t.data))throw new Error(&quot;gd.data must be an array.&quot;);if(void 0===e)throw new Error(&quot;traces must be defined.&quot;);for(Array.isArray(e)||(e=[e]),n=0;n&lt;e.length;n++)if(&quot;object&quot;!=typeof(i=e[n])||Array.isArray(i)||null===i)throw new Error(&quot;all values in traces array must be non-array objects&quot;);if(void 0===r||Array.isArray(r)||(r=[r]),void 0!==r&amp;&amp;r.length!==e.length)throw new Error(&quot;if indices is specified, traces.length must equal indices.length&quot;)}(e,r,n),Array.isArray(r)||(r=[r]),r=r.map(function(t){return v.extendFlat({},t)}),z.cleanData(r,e.data),i=0;i&lt;r.length;i++)e.data.push(r[i]);for(i=0;i&lt;r.length;i++)o.push(-r.length+i);if(void 0===n)return a=g.redraw(e),x.add(e,l,u,c,f),a;Array.isArray(n)||(n=[n]);try{s(e,o,n)}catch(t){throw e.data.splice(e.data.length-r.length,r.length),t}return x.startSequence(e),x.add(e,l,u,c,f),a=g.moveTraces(e,o,n),x.stopSequence(e),a},g.deleteTraces=function t(e,r){e=v.getGraphDiv(e);var n,i,s=[],l=g.addTraces,c=t,u=[e,s,r],f=[e,r];if(void 0===r)throw new Error(&quot;indices must be an integer or array of integers.&quot;);for(Array.isArray(r)||(r=[r]),o(e,r,&quot;indices&quot;),(r=a(r,e.data.length-1)).sort(v.sorterDes),n=0;n&lt;r.length;n+=1)i=e.data.splice(r[n],1)[0],s.push(i);var h=g.redraw(e);return x.add(e,l,u,c,f),h},g.moveTraces=function t(e,r,n){var i,o=[],l=[],c=t,u=t,f=[e=v.getGraphDiv(e),n,r],h=[e,r,n];if(s(e,r,n),r=Array.isArray(r)?r:[r],void 0===n)for(n=[],i=0;i&lt;r.length;i++)n.push(-r.length+i);for(n=Array.isArray(n)?n:[n],r=a(r,e.data.length-1),n=a(n,e.data.length-1),i=0;i&lt;e.data.length;i++)-1===r.indexOf(i)&amp;&amp;o.push(e.data[i]);for(i=0;i&lt;r.length;i++)l.push({newIndex:n[i],trace:e.data[r[i]]});for(l.sort(function(t,e){return t.newIndex-e.newIndex}),i=0;i&lt;l.length;i+=1)o.splice(l[i].newIndex,0,l[i].trace);e.data=o;var d=g.redraw(e);return x.add(e,c,f,u,h),d},g.restyle=function t(e,r,n,i){e=v.getGraphDiv(e),z.clearPromiseQueue(e);var a={};if(&quot;string&quot;==typeof r)a[r]=n;else{if(!v.isPlainObject(r))return v.warn(&quot;Restyle fail.&quot;,r,n,i),Promise.reject();a=v.extendFlat({},r),void 0===i&amp;&amp;(i=n)}Object.keys(a).length&amp;&amp;(e.changed=!0);var o=z.coerceTraceIndices(e,i),s=u(e,a,o),l=s.flags;l.clearCalc&amp;&amp;(e.calcdata=void 0),l.clearAxisTypes&amp;&amp;z.clearAxisTypes(e,o,{});var c=[];l.fullReplot?c.push(g.plot):(c.push(w.previousPromises),w.supplyDefaults(e),l.style&amp;&amp;c.push(D.doTraceStyle),l.colorbars&amp;&amp;c.push(D.doColorBars)),c.push(w.rehover),x.add(e,t,[e,s.undoit,s.traces],t,[e,s.redoit,s.traces]);var f=v.syncOrAsync(c,e);return f&amp;&amp;f.then||(f=Promise.resolve()),f.then(function(){return e.emit(&quot;plotly_restyle&quot;,s.eventData),e})},g.relayout=function t(e,r,n){if(e=v.getGraphDiv(e),z.clearPromiseQueue(e),e.framework&amp;&amp;e.framework.isPolar)return Promise.resolve(e);var i={};if(&quot;string&quot;==typeof r)i[r]=n;else{if(!v.isPlainObject(r))return v.warn(&quot;Relayout fail.&quot;,r,n),Promise.reject();i=v.extendFlat({},r)}Object.keys(i).length&amp;&amp;(e.changed=!0);var a=f(e,i),o=a.flags;o.calc&amp;&amp;(e.calcdata=void 0);var s=[w.previousPromises];o.layoutReplot?s.push(D.layoutReplot):Object.keys(i).length&amp;&amp;(w.supplyDefaults(e),o.legend&amp;&amp;s.push(D.doLegend),o.layoutstyle&amp;&amp;s.push(D.layoutStyles),o.ticks&amp;&amp;s.push(D.doTicksRelayout),o.modebar&amp;&amp;s.push(D.doModeBar),o.camera&amp;&amp;s.push(D.doCamera)),s.push(w.rehover),x.add(e,t,[e,a.undoit],t,[e,a.redoit]);var l=v.syncOrAsync(s,e);return l&amp;&amp;l.then||(l=Promise.resolve(e)),l.then(function(){return e.emit(&quot;plotly_relayout&quot;,a.eventData),e})},g.update=function t(e,r,n,i){if(e=v.getGraphDiv(e),z.clearPromiseQueue(e),e.framework&amp;&amp;e.framework.isPolar)return Promise.resolve(e);v.isPlainObject(r)||(r={}),v.isPlainObject(n)||(n={}),Object.keys(r).length&amp;&amp;(e.changed=!0),Object.keys(n).length&amp;&amp;(e.changed=!0);var a=z.coerceTraceIndices(e,i),o=u(e,v.extendFlat({},r),a),s=o.flags,l=f(e,v.extendFlat({},n)),c=l.flags;(s.clearCalc||c.calc)&amp;&amp;(e.calcdata=void 0),s.clearAxisTypes&amp;&amp;z.clearAxisTypes(e,a,n);var h=[];if(s.fullReplot&amp;&amp;c.layoutReplot){var d=e.data,p=e.layout;e.data=void 0,e.layout=void 0,h.push(function(){return g.plot(e,d,p)})}else s.fullReplot?h.push(g.plot):c.layoutReplot?h.push(D.layoutReplot):(h.push(w.previousPromises),w.supplyDefaults(e),s.style&amp;&amp;h.push(D.doTraceStyle),s.colorbars&amp;&amp;h.push(D.doColorBars),c.legend&amp;&amp;h.push(D.doLegend),c.layoutstyle&amp;&amp;h.push(D.layoutStyles),c.ticks&amp;&amp;h.push(D.doTicksRelayout),c.modebar&amp;&amp;h.push(D.doModeBar),c.camera&amp;&amp;h.push(D.doCamera));h.push(w.rehover),x.add(e,t,[e,o.undoit,l.undoit,o.traces],t,[e,o.redoit,l.redoit,o.traces]);var m=v.syncOrAsync(h,e);return m&amp;&amp;m.then||(m=Promise.resolve(e)),m.then(function(){return e.emit(&quot;plotly_update&quot;,{data:o.eventData,layout:l.eventData}),e})},g.animate=function(t,e,r){function n(t){return Array.isArray(s)?t&gt;=s.length?s[0]:s[t]:s}function i(t){return Array.isArray(l)?t&gt;=l.length?l[0]:l[t]:l}function a(t,e){var r=0;return function(){if(t&amp;&amp;++r===e)return t()}}if(t=v.getGraphDiv(t),!v.isPlotDiv(t))throw new Error(&quot;This element is not a Plotly plot: &quot;+t+&quot;. It's likely that you've failed to create a plot before animating it. For more details, see https://plot.ly/javascript/animations/&quot;);var o=t._transitionData;o._frameQueue||(o._frameQueue=[]);var s=(r=w.supplyAnimationDefaults(r)).transition,l=r.frame;return void 0===o._frameWaitingCnt&amp;&amp;(o._frameWaitingCnt=0),new Promise(function(l,c){function u(e){if(0!==e.length){for(var s=0;s&lt;e.length;s++){var u;u=&quot;byname&quot;===e[s].type?w.computeFrame(t,e[s].name):e[s].data;var f=i(s),h=n(s);h.duration=Math.min(h.duration,f.duration);var d={frame:u,name:e[s].name,frameOpts:f,transitionOpts:h};s===e.length-1&amp;&amp;(d.onComplete=a(l,2),d.onInterrupt=c),o._frameQueue.push(d)}&quot;immediate&quot;===r.mode&amp;&amp;(o._lastFrameAt=-1/0),o._animationRaf||function(){t.emit(&quot;plotly_animating&quot;),o._lastFrameAt=-1/0,o._timeToNext=0,o._runningTransitions=0,o._currentFrame=null;var e=function(){o._animationRaf=window.requestAnimationFrame(e),Date.now()-o._lastFrameAt&gt;o._timeToNext&amp;&amp;function(){o._currentFrame&amp;&amp;o._currentFrame.onComplete&amp;&amp;o._currentFrame.onComplete();var e=o._currentFrame=o._frameQueue.shift();if(e){var r=e.name?e.name.toString():null;t._fullLayout._currentFrame=r,o._lastFrameAt=Date.now(),o._timeToNext=e.frameOpts.duration,w.transition(t,e.frame.data,e.frame.layout,z.coerceTraceIndices(t,e.frame.traces),e.frameOpts,e.transitionOpts).then(function(){e.onComplete&amp;&amp;e.onComplete()}),t.emit(&quot;plotly_animatingframe&quot;,{name:r,frame:e.frame,animation:{frame:e.frameOpts,transition:e.transitionOpts}})}else t.emit(&quot;plotly_animated&quot;),window.cancelAnimationFrame(o._animationRaf),o._animationRaf=null}()};e()}()}}function f(t){return Array.isArray(s)?p&gt;=s.length?t.transitionOpts=s[p]:t.transitionOpts=s[0]:t.transitionOpts=s,p++,t}var h,d,p=0,m=[],g=void 0===e||null===e,y=Array.isArray(e);if(!g&amp;&amp;!y&amp;&amp;v.isPlainObject(e))m.push({type:&quot;object&quot;,data:f(v.extendFlat({},e))});else if(g||-1!==[&quot;string&quot;,&quot;number&quot;].indexOf(typeof e))for(h=0;h&lt;o._frames.length;h++)(d=o._frames[h])&amp;&amp;(g||String(d.group)===String(e))&amp;&amp;m.push({type:&quot;byname&quot;,name:String(d.name),data:f({name:d.name})});else if(y)for(h=0;h&lt;e.length;h++){var x=e[h];-1!==[&quot;number&quot;,&quot;string&quot;].indexOf(typeof x)?(x=String(x),m.push({type:&quot;byname&quot;,name:x,data:f({name:x})})):v.isPlainObject(x)&amp;&amp;m.push({type:&quot;object&quot;,data:f(v.extendFlat({},x))})}for(h=0;h&lt;m.length;h++)if(&quot;byname&quot;===(d=m[h]).type&amp;&amp;!o._frameHash[d.data.name])return v.warn('animate failure: frame not found: &quot;'+d.data.name+'&quot;'),void c();-1!==[&quot;next&quot;,&quot;immediate&quot;].indexOf(r.mode)&amp;&amp;function(){if(0!==o._frameQueue.length){for(;o._frameQueue.length;){var e=o._frameQueue.pop();e.onInterrupt&amp;&amp;e.onInterrupt()}t.emit(&quot;plotly_animationinterrupted&quot;,[])}}(),&quot;reverse&quot;===r.direction&amp;&amp;m.reverse();var b=t._fullLayout._currentFrame;if(b&amp;&amp;r.fromcurrent){var _=-1;for(h=0;h&lt;m.length;h++)if(&quot;byname&quot;===(d=m[h]).type&amp;&amp;d.name===b){_=h;break}if(_&gt;0&amp;&amp;_&lt;m.length-1){var M=[];for(h=0;h&lt;m.length;h++)d=m[h],(&quot;byname&quot;!==m[h].type||h&gt;_)&amp;&amp;M.push(d);m=M}}m.length&gt;0?u(m):(t.emit(&quot;plotly_animated&quot;),l())})},g.addFrames=function(t,e,r){t=v.getGraphDiv(t);var n=0;if(null===e||void 0===e)return Promise.resolve();if(!v.isPlotDiv(t))throw new Error(&quot;This element is not a Plotly plot: &quot;+t+&quot;. It's likely that you've failed to create a plot before adding frames. For more details, see https://plot.ly/javascript/animations/&quot;);var i,a,o,s,l=t._transitionData._frames,c=t._transitionData._frameHash;if(!Array.isArray(e))throw new Error(&quot;addFrames failure: frameList must be an Array of frame definitions&quot;+e);var u=l.length+2*e.length,f=[];for(i=e.length-1;i&gt;=0;i--)if(v.isPlainObject(e[i])){var h=(c[e[i].name]||{}).name,d=e[i].name;h&amp;&amp;d&amp;&amp;&quot;number&quot;==typeof d&amp;&amp;c[h]&amp;&amp;(n++,v.warn('addFrames: overwriting frame &quot;'+c[h].name+'&quot; with a frame whose name of type &quot;number&quot; also equates to &quot;'+h+'&quot;. This is valid but may potentially lead to unexpected behavior since all plotly.js frame names are stored internally as strings.'),n&gt;5&amp;&amp;v.warn(&quot;addFrames: This API call has yielded too many warnings. For the rest of this call, further warnings about numeric frame names will be suppressed.&quot;)),f.push({frame:w.supplyFrameDefaults(e[i]),index:r&amp;&amp;void 0!==r[i]&amp;&amp;null!==r[i]?r[i]:u+i})}f.sort(function(t,e){return t.index&gt;e.index?-1:t.index&lt;e.index?1:0});var p=[],m=[],g=l.length;for(i=f.length-1;i&gt;=0;i--){if(&quot;number&quot;==typeof(a=f[i].frame).name&amp;&amp;v.warn(&quot;Warning: addFrames accepts frames with numeric names, but the numbers areimplicitly cast to strings&quot;),!a.name)for(;c[a.name=&quot;frame &quot;+t._transitionData._counter++];);if(c[a.name]){for(o=0;o&lt;l.length&amp;&amp;(l[o]||{}).name!==a.name;o++);p.push({type:&quot;replace&quot;,index:o,value:a}),m.unshift({type:&quot;replace&quot;,index:o,value:l[o]})}else s=Math.max(0,Math.min(f[i].index,g)),p.push({type:&quot;insert&quot;,index:s,value:a}),m.unshift({type:&quot;delete&quot;,index:s}),g++}var y=w.modifyFrames,b=w.modifyFrames,_=[t,m],M=[t,p];return x&amp;&amp;x.add(t,y,_,b,M),w.modifyFrames(t,p)},g.deleteFrames=function(t,e){if(t=v.getGraphDiv(t),!v.isPlotDiv(t))throw new Error(&quot;This element is not a Plotly plot: &quot;+t);var r,n,i=t._transitionData._frames,a=[],o=[];if(!e)for(e=[],r=0;r&lt;i.length;r++)e.push(r);for((e=e.slice(0)).sort(),r=e.length-1;r&gt;=0;r--)n=e[r],a.push({type:&quot;delete&quot;,index:n}),o.unshift({type:&quot;insert&quot;,index:n,value:i[n]});var s=w.modifyFrames,l=w.modifyFrames,c=[t,o],u=[t,a];return x&amp;&amp;x.add(t,s,c,l,u),w.modifyFrames(t,a)},g.purge=function(t){var e=(t=v.getGraphDiv(t))._fullLayout||{},r=t._fullData||[];return w.cleanPlot([],{},r,e),w.purge(t),y.purge(t),e._container&amp;&amp;e._container.remove(),delete t._context,t}},{&quot;../components/color&quot;:618,&quot;../components/drawing&quot;:643,&quot;../components/errorbars&quot;:649,&quot;../constants/xmlns_namespaces&quot;:723,&quot;../lib&quot;:743,&quot;../lib/events&quot;:731,&quot;../lib/queue&quot;:757,&quot;../lib/svg_text_utils&quot;:766,&quot;../plotly&quot;:784,&quot;../plots/cartesian/axis_ids&quot;:792,&quot;../plots/cartesian/constants&quot;:794,&quot;../plots/cartesian/constraints&quot;:796,&quot;../plots/cartesian/graph_interact&quot;:798,&quot;../plots/plots&quot;:852,&quot;../plots/polar/legacy&quot;:860,&quot;../registry&quot;:873,&quot;./edit_types&quot;:773,&quot;./helpers&quot;:774,&quot;./manage_arrays&quot;:775,&quot;./plot_schema&quot;:778,&quot;./subroutines&quot;:781,d3:128,&quot;fast-isnumeric&quot;:140,&quot;has-hover&quot;:276}],777:[function(t,e,r){&quot;use strict&quot;;e.exports={staticPlot:!1,editable:!1,edits:{annotationPosition:!1,annotationTail:!1,annotationText:!1,axisTitleText:!1,colorbarPosition:!1,colorbarTitleText:!1,legendPosition:!1,legendText:!1,shapePosition:!1,titleText:!1},autosizable:!1,queueLength:0,fillFrame:!1,frameMargins:0,scrollZoom:!1,doubleClick:&quot;reset+autosize&quot;,showTips:!0,showAxisDragHandles:!0,showAxisRangeEntryBoxes:!0,showLink:!1,sendData:!0,linkText:&quot;Edit chart&quot;,showSources:!1,displayModeBar:&quot;hover&quot;,modeBarButtonsToRemove:[],modeBarButtonsToAdd:[],modeBarButtons:!1,displaylogo:!0,plotGlPixelRatio:2,setBackground:&quot;transparent&quot;,topojsonURL:&quot;https://cdn.plot.ly/&quot;,mapboxAccessToken:null,logging:1,globalTransforms:[],locale:&quot;en-US&quot;,locales:{}}},{}],778:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r){if(!t)return!1;if(t._isLinkedToArray)if(i(e[r]))r++;else if(r&lt;e.length)return!1;for(;r&lt;e.length;r++){var n=t[e[r]];if(!u.isPlainObject(n))break;if(t=n,r===e.length-1)break;if(t._isLinkedToArray){if(r++,!i(e[r]))return!1}else if(&quot;info_array&quot;===t.valType){var a=e[++r];if(!i(a)||a&gt;=t.items.length)return!1;t=t.items[a]}}return t}function i(t){return t===Math.round(t)&amp;&amp;t&gt;=0}function a(){var t,e,r={};x(r,h);for(t in c.subplotsRegistry)if((e=c.subplotsRegistry[t]).layoutAttributes)if(&quot;cartesian&quot;===e.name)s(r,e,&quot;xaxis&quot;),s(r,e,&quot;yaxis&quot;);else{s(r,e,&quot;subplot&quot;===e.attr?e.name:e.attr)}r=function(t){return y(t,{radialaxis:g.radialaxis,angularaxis:g.angularaxis}),y(t,g.layout),t}(r);for(t in c.componentsRegistry){var n=(e=c.componentsRegistry[t]).schema;if(n&amp;&amp;(n.subplots||n.layout)){var i=n.subplots;if(i&amp;&amp;i.xaxis&amp;&amp;!i.yaxis)for(var a in i.xaxis)delete r.yaxis[a]}else e.layoutAttributes&amp;&amp;l(r,e.layoutAttributes,e.name)}return{layoutAttributes:o(r)}}function o(t){return function(t){r.crawl(t,function(t,e,n){r.isValObject(t)?&quot;data_array&quot;===t.valType?(t.role=&quot;data&quot;,n[e+&quot;src&quot;]={valType:&quot;string&quot;,editType:&quot;none&quot;}):!0===t.arrayOk&amp;&amp;(n[e+&quot;src&quot;]={valType:&quot;string&quot;,editType:&quot;none&quot;}):u.isPlainObject(t)&amp;&amp;(t.role=&quot;object&quot;)})}(t),function(t){r.crawl(t,function(t,e,r){if(!t)return;var n=t[_];if(!n)return;delete t[_],r[e]={items:{}},r[e].items[n]=t,r[e].role=&quot;object&quot;})}(t),t}function s(t,e,r){var n=u.nestedProperty(t,r),i=x({},e.layoutAttributes);i[b]=!0,n.set(i)}function l(t,e,r){var n=u.nestedProperty(t,r);n.set(x(n.get()||{},e))}var c=t(&quot;../registry&quot;),u=t(&quot;../lib&quot;),f=t(&quot;../plots/attributes&quot;),h=t(&quot;../plots/layout_attributes&quot;),d=t(&quot;../plots/frame_attributes&quot;),p=t(&quot;../plots/animation_attributes&quot;),m=t(&quot;../plots/polar/legacy/area_attributes&quot;),g=t(&quot;../plots/polar/legacy/axis_attributes&quot;),v=t(&quot;./edit_types&quot;),y=u.extendFlat,x=u.extendDeepAll,b=&quot;_isSubplotObj&quot;,_=&quot;_isLinkedToArray&quot;,w=[b,_,&quot;_arrayAttrRegexps&quot;,&quot;_deprecated&quot;];r.IS_SUBPLOT_OBJ=b,r.IS_LINKED_TO_ARRAY=_,r.DEPRECATED=&quot;_deprecated&quot;,r.UNDERSCORE_ATTRS=w,r.get=function(){var t={};c.allTypes.concat(&quot;area&quot;).forEach(function(e){t[e]=function(t){var e,r;&quot;area&quot;===t?(e={attributes:m},r={}):r=(e=c.modules[t]._module).basePlotModule;var n={};n.type=null,x(n,f),x(n,e.attributes),r.attributes&amp;&amp;x(n,r.attributes),n.type=t;var i={meta:e.meta||{},attributes:o(n)};if(e.layoutAttributes){var a={};x(a,e.layoutAttributes),i.layoutAttributes=o(a)}return i}(e)});var e={};return Object.keys(c.transformsRegistry).forEach(function(t){e[t]=function(t){var e=c.transformsRegistry[t],r=x({},e.attributes);return Object.keys(c.componentsRegistry).forEach(function(e){var n=c.componentsRegistry[e];n.schema&amp;&amp;n.schema.transforms&amp;&amp;n.schema.transforms[t]&amp;&amp;Object.keys(n.schema.transforms[t]).forEach(function(e){l(r,n.schema.transforms[t][e],e)})}),{attributes:o(r)}}(t)}),{defs:{valObjects:u.valObjectMeta,metaKeys:w.concat([&quot;description&quot;,&quot;role&quot;,&quot;editType&quot;,&quot;impliedEdits&quot;]),editType:{traces:v.traces,layout:v.layout},impliedEdits:{}},traces:t,layout:a(),transforms:e,frames:function(){var t={frames:u.extendDeepAll({},d)};return o(t),t.frames}(),animation:o(p)}},r.crawl=function(t,e,n,i){var a=n||0;i=i||&quot;&quot;,Object.keys(t).forEach(function(n){var o=t[n];if(-1===w.indexOf(n)){var s=(i?i+&quot;.&quot;:&quot;&quot;)+n;e(o,n,t,a,s),r.isValObject(o)||u.isPlainObject(o)&amp;&amp;&quot;impliedEdits&quot;!==n&amp;&amp;r.crawl(o,e,a+1,s)}})},r.isValObject=function(t){return t&amp;&amp;void 0!==t.valType},r.findArrayAttributes=function(t){function e(e,r,a,o){i=i.slice(0,o).concat([r]);if(e&amp;&amp;(&quot;data_array&quot;===e.valType||!0===e.arrayOk)&amp;&amp;!(&quot;colorbar&quot;===i[o-1]&amp;&amp;(&quot;ticktext&quot;===r||&quot;tickvals&quot;===r))){var s=function(t){return t.join(&quot;.&quot;)}(i),l=u.nestedProperty(t,s).get();Array.isArray(l)&amp;&amp;n.push(s)}}var n=[],i=[];if(r.crawl(f,e),t._module&amp;&amp;t._module.attributes&amp;&amp;r.crawl(t._module.attributes,e),t.transforms)for(var a=t.transforms,o=0;o&lt;a.length;o++){var s=a[o]._module;s&amp;&amp;(i=[&quot;transforms[&quot;+o+&quot;]&quot;],r.crawl(s.attributes,e,1))}return t._fullInput&amp;&amp;t._fullInput._module&amp;&amp;t._fullInput._module.attributes&amp;&amp;(r.crawl(t._fullInput._module.attributes,e),n=u.filterUnique(n)),n},r.getTraceValObject=function(t,e){var r,a,o=e[0],s=1;if(&quot;transforms&quot;===o){if(!Array.isArray(t.transforms))return!1;var l=e[1];if(!i(l)||l&gt;=t.transforms.length)return!1;a=(r=(c.transformsRegistry[t.transforms[l].type]||{}).attributes)&amp;&amp;r[e[2]],s=3}else if(&quot;area&quot;===t.type)a=m[o];else{var u=t._module;if(u||(u=(c.modules[t.type||f.type.dflt]||{})._module),!u)return!1;if(r=u.attributes,!(a=r&amp;&amp;r[o])){var h=u.basePlotModule;h&amp;&amp;h.attributes&amp;&amp;(a=h.attributes[o])}a||(a=f[o])}return n(a,e,s)},r.getLayoutValObject=function(t,e){return n(function(t,e){var r,n,i,a,o=t._basePlotModules;if(o){var s;for(r=0;r&lt;o.length;r++){if((i=o[r]).attrRegex&amp;&amp;i.attrRegex.test(e)){if(i.layoutAttrOverrides)return i.layoutAttrOverrides;!s&amp;&amp;i.layoutAttributes&amp;&amp;(s=i.layoutAttributes)}var l=i.baseLayoutAttrOverrides;if(l&amp;&amp;e in l)return l[e]}if(s)return s}var u=t._modules;if(u)for(r=0;r&lt;u.length;r++)if((a=u[r].layoutAttributes)&amp;&amp;e in a)return a[e];for(n in c.componentsRegistry)if(!(i=c.componentsRegistry[n]).schema&amp;&amp;e===i.name)return i.layoutAttributes;return e in h?h[e]:&quot;radialaxis&quot;===e||&quot;angularaxis&quot;===e?g[e]:g.layout[e]||!1}(t,e[0]),e,1)}},{&quot;../lib&quot;:743,&quot;../plots/animation_attributes&quot;:785,&quot;../plots/attributes&quot;:787,&quot;../plots/frame_attributes&quot;:817,&quot;../plots/layout_attributes&quot;:843,&quot;../plots/polar/legacy/area_attributes&quot;:858,&quot;../plots/polar/legacy/axis_attributes&quot;:859,&quot;../registry&quot;:873,&quot;./edit_types&quot;:773}],779:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../registry&quot;),i=t(&quot;../lib&quot;);e.exports=function(t){if(!t)throw new Error(&quot;No argument passed to Plotly.register.&quot;);t&amp;&amp;!Array.isArray(t)&amp;&amp;(t=[t]);for(var e=0;e&lt;t.length;e++){var r=t[e];if(!r)throw new Error(&quot;Invalid module was attempted to be registered!&quot;);switch(r.moduleType){case&quot;trace&quot;:!function(t){n.register(t,t.name,t.categories,t.meta),n.subplotsRegistry[t.basePlotModule.name]||n.registerSubplot(t.basePlotModule)}(r);break;case&quot;transform&quot;:!function(t){if(&quot;string&quot;!=typeof t.name)throw new Error(&quot;Transform module *name* must be a string.&quot;);var e=&quot;Transform module &quot;+t.name,r=&quot;function&quot;==typeof t.transform,a=&quot;function&quot;==typeof t.calcTransform;if(!r&amp;&amp;!a)throw new Error(e+&quot; is missing a *transform* or *calcTransform* method.&quot;);r&amp;&amp;a&amp;&amp;i.log([e+&quot; has both a *transform* and *calcTransform* methods.&quot;,&quot;Please note that all *transform* methods are executed&quot;,&quot;before all *calcTransform* methods.&quot;].join(&quot; &quot;)),i.isPlainObject(t.attributes)||i.log(e+&quot; registered without an *attributes* object.&quot;),&quot;function&quot;!=typeof t.supplyDefaults&amp;&amp;i.log(e+&quot; registered without a *supplyDefaults* method.&quot;),n.registerTransform(t)}(r);break;case&quot;component&quot;:!function(t){if(&quot;string&quot;!=typeof t.name)throw new Error(&quot;Component module *name* must be a string.&quot;);n.registerComponent(t)}(r);break;case&quot;locale&quot;:n.registerLocale(r);break;default:throw new Error(&quot;Invalid module was attempted to be registered!&quot;)}}}},{&quot;../lib&quot;:743,&quot;../registry&quot;:873}],780:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../plotly&quot;),i=t(&quot;../lib&quot;);e.exports=function(t){return i.extendFlat(n.defaultConfig,t)}},{&quot;../lib&quot;:743,&quot;../plotly&quot;:784}],781:[function(t,e,r){&quot;use strict&quot;;function n(t,e){return(t.ticks||t.showline)&amp;&amp;(e===t._mainSubplot||&quot;all&quot;===t.mirror||&quot;allticks&quot;===t.mirror)}function i(t,e,r){if(!r.showline||!r._lw)return!1;if(&quot;all&quot;===r.mirror||&quot;allticks&quot;===r.mirror)return!0;var n=r._anchorAxis;if(!n)return!1;var i=v.FROM_BL[e];return r.side===e?n.domain[i]===t.domain[i]:r.mirror&amp;&amp;n.domain[1-i]===t.domain[1-i]}function a(t,e,r,n){if(i(t,e,r))return r._lw;for(var a=0;a&lt;n.length;a++){var o=n[a];if(o._mainAxis===r._mainAxis&amp;&amp;i(t,e,o))return o._lw}return 0}var o=t(&quot;d3&quot;),s=t(&quot;../plotly&quot;),l=t(&quot;../registry&quot;),c=t(&quot;../plots/plots&quot;),u=t(&quot;../lib&quot;),f=t(&quot;../components/color&quot;),h=t(&quot;../components/drawing&quot;),d=t(&quot;../components/titles&quot;),p=t(&quot;../components/modebar&quot;),m=t(&quot;../plots/cartesian/graph_interact&quot;),g=t(&quot;../plots/cartesian/constants&quot;),v=t(&quot;../constants/alignment&quot;);r.layoutStyles=function(t){return u.syncOrAsync([c.doAutoMargin,r.lsInner],t)},r.lsInner=function(t){function e(t,e,r){var n=t._lw/2;return&quot;x&quot;===t._id.charAt(0)?e?&quot;top&quot;===r?e._offset-u-n:e._offset+e._length+u+n:c.t+c.h*(1-(t.position||0))+n%1:e?&quot;right&quot;===r?e._offset+e._length+u+n:e._offset-u-n:c.l+c.w*(t.position||0)+n%1}var i,l=t._fullLayout,c=l._size,u=c.p,d=s.Axes.list(t),m=l._has(&quot;cartesian&quot;);for(i=0;i&lt;d.length;i++){var y=d[i];y.setScale();var x=y._anchorAxis;y._linepositions={},y._lw=h.crispRound(t,y.linewidth,1),y._mainLinePosition=e(y,x,y.side),y._mainMirrorPosition=y.mirror&amp;&amp;x?e(y,x,v.OPPOSITE_SIDE[y.side]):null}l._paperdiv.style({width:l.width+&quot;px&quot;,height:l.height+&quot;px&quot;}).selectAll(&quot;.main-svg&quot;).call(h.setSize,l.width,l.height),t._context.setBackground(t,l.paper_bgcolor);var b=l._paper.selectAll(&quot;g.subplot&quot;),_=[],w=[];b.each(function(t){var e=l._plots[t];if(e.mainplot)return e.bg&amp;&amp;e.bg.remove(),void(e.bg=void 0);var r=e.xaxis.domain,n=e.yaxis.domain,i=[];!function(t,e,r){for(var n=0;n&lt;r.length;n++){var i=r[n][0],a=r[n][1];if(!(i[0]&gt;=t[1]||i[1]&lt;=t[0])&amp;&amp;a[0]&lt;e[1]&amp;&amp;a[1]&gt;e[0])return!0}return!1}(r,n,w)?(_.push(t),w.push([r,n])):i=[0];var a=e.plotgroup.selectAll(&quot;.bg&quot;).data(i);a.enter().append(&quot;rect&quot;).classed(&quot;bg&quot;,!0),a.exit().remove(),a.each(function(){e.bg=a;var t=e.plotgroup.node();t.insertBefore(this,t.childNodes[0])})});var M=l._bgLayer.selectAll(&quot;.bg&quot;).data(_);return M.enter().append(&quot;rect&quot;).classed(&quot;bg&quot;,!0),M.exit().remove(),M.each(function(t){l._plots[t].bg=o.select(this)}),b.each(function(t){function r(t){return&quot;M&quot;+k+&quot;,&quot;+t+&quot;H&quot;+A}function o(t){return&quot;M&quot;+y._offset+&quot;,&quot;+t+&quot;h&quot;+y._length}function s(t){return&quot;M&quot;+t+&quot;,&quot;+z+&quot;V&quot;+C}function c(t){return&quot;M&quot;+t+&quot;,&quot;+x._offset+&quot;v&quot;+x._length}function p(e,r,n){if(!e.showline||t!==e._mainSubplot)return&quot;&quot;;if(!e._anchorAxis)return n(e._mainLinePosition);var i=r(e._mainLinePosition);return e.mirror&amp;&amp;(i+=r(e._mainMirrorPosition)),i}var v=l._plots[t],y=v.xaxis,x=v.yaxis;v.bg&amp;&amp;m&amp;&amp;v.bg.call(h.setRect,y._offset-u,x._offset-u,y._length+2*u,x._length+2*u).call(f.fill,l.plot_bgcolor).style(&quot;stroke-width&quot;,0),v.clipId=&quot;clip&quot;+l._uid+t+&quot;plot&quot;;var b=l._clips.selectAll(&quot;#&quot;+v.clipId).data([0]);b.enter().append(&quot;clipPath&quot;).attr({class:&quot;plotclip&quot;,id:v.clipId}).append(&quot;rect&quot;),b.selectAll(&quot;rect&quot;).attr({width:y._length,height:x._length}),h.setTranslate(v.plot,y._offset,x._offset);var _,w;for(v._hasClipOnAxisFalse?(_=null,w=v.clipId):(_=v.clipId,w=null),h.setClipUrl(v.plot,_),i=0;i&lt;g.traceLayerClasses.length;i++){var M=g.traceLayerClasses[i];&quot;scatterlayer&quot;!==M&amp;&amp;v.plot.selectAll(&quot;g.&quot;+M).call(h.setClipUrl,w)}if(v.layerClipId=w,m){var k,A,T,S,E,L,C,z,D,I,P,O,F;if(n(y,t)){E=a(y,&quot;left&quot;,x,d),k=y._offset-(E?u+E:0),L=a(y,&quot;right&quot;,x,d),A=y._offset+y._length+(L?u+L:0),T=e(y,x,&quot;bottom&quot;),S=e(y,x,&quot;top&quot;),(F=!y._anchorAxis||t!==y._mainSubplot)&amp;&amp;y.ticks&amp;&amp;&quot;allticks&quot;===y.mirror&amp;&amp;(y._linepositions[t]=[T,S]);var R=p(y,r,o);F&amp;&amp;y.showline&amp;&amp;(&quot;all&quot;===y.mirror||&quot;allticks&quot;===y.mirror)&amp;&amp;(R+=r(T)+r(S)),v.xlines.attr(&quot;d&quot;,R||&quot;M0,0&quot;).style(&quot;stroke-width&quot;,y._lw+&quot;px&quot;).call(f.stroke,y.showline?y.linecolor:&quot;rgba(0,0,0,0)&quot;)}if(n(x,t)){P=a(x,&quot;bottom&quot;,y,d),C=x._offset+x._length+(P?u:0),O=a(x,&quot;top&quot;,y,d),z=x._offset-(O?u:0),D=e(x,y,&quot;left&quot;),I=e(x,y,&quot;right&quot;),(F=!x._anchorAxis||t!==y._mainSubplot)&amp;&amp;x.ticks&amp;&amp;&quot;allticks&quot;===x.mirror&amp;&amp;(x._linepositions[t]=[D,I]);var N=p(x,s,c);F&amp;&amp;x.showline&amp;&amp;(&quot;all&quot;===x.mirror||&quot;allticks&quot;===x.mirror)&amp;&amp;(N+=s(D)+s(I)),v.ylines.attr(&quot;d&quot;,N||&quot;M0,0&quot;).style(&quot;stroke-width&quot;,x._lw+&quot;px&quot;).call(f.stroke,x.showline?x.linecolor:&quot;rgba(0,0,0,0)&quot;)}}}),s.Axes.makeClipPaths(t),r.drawMainTitle(t),p.manage(t),t._promises.length&amp;&amp;Promise.all(t._promises)},r.drawMainTitle=function(t){var e=t._fullLayout;d.draw(t,&quot;gtitle&quot;,{propContainer:e,propName:&quot;title&quot;,placeholder:e._dfltTitle.plot,attributes:{x:e.width/2,y:e._size.t/2,&quot;text-anchor&quot;:&quot;middle&quot;}})},r.doTraceStyle=function(t){for(var e=0;e&lt;t.calcdata.length;e++){var r=t.calcdata[e],n=(((r[0]||{}).trace||{})._module||{}).arraysToCalcdata;n&amp;&amp;n(r,r[0].trace)}return c.style(t),l.getComponentMethod(&quot;legend&quot;,&quot;draw&quot;)(t),c.previousPromises(t)},r.doColorBars=function(t){for(var e=0;e&lt;t.calcdata.length;e++){var r=t.calcdata[e][0];if((r.t||{}).cb){var n=r.trace,i=r.t.cb;l.traceIs(n,&quot;contour&quot;)&amp;&amp;i.line({width:!1!==n.contours.showlines?n.line.width:0,dash:n.line.dash,color:&quot;line&quot;===n.contours.coloring?i._opts.line.color:n.line.color}),l.traceIs(n,&quot;markerColorscale&quot;)?i.options(n.marker.colorbar)():i.options(n.colorbar)()}}return c.previousPromises(t)},r.layoutReplot=function(t){var e=t.layout;return t.layout=void 0,s.plot(t,&quot;&quot;,e)},r.doLegend=function(t){return l.getComponentMethod(&quot;legend&quot;,&quot;draw&quot;)(t),c.previousPromises(t)},r.doTicksRelayout=function(t){return s.Axes.doTicks(t,&quot;redraw&quot;),r.drawMainTitle(t),c.previousPromises(t)},r.doModeBar=function(t){var e=t._fullLayout;p.manage(t),m(t);for(var r=0;r&lt;e._basePlotModules.length;r++){var n=e._basePlotModules[r].updateFx;n&amp;&amp;n(e)}return c.previousPromises(t)},r.doCamera=function(t){for(var e=t._fullLayout,r=e._subplots.gl3d,n=0;n&lt;r.length;n++){var i=e[r[n]];i._scene.setCamera(i.camera)}}},{&quot;../components/color&quot;:618,&quot;../components/drawing&quot;:643,&quot;../components/modebar&quot;:680,&quot;../components/titles&quot;:709,&quot;../constants/alignment&quot;:716,&quot;../lib&quot;:743,&quot;../plotly&quot;:784,&quot;../plots/cartesian/constants&quot;:794,&quot;../plots/cartesian/graph_interact&quot;:798,&quot;../plots/plots&quot;:852,&quot;../registry&quot;:873,d3:128}],782:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../plotly&quot;),i=t(&quot;../lib&quot;),a=t(&quot;../snapshot/helpers&quot;),o=t(&quot;../snapshot/tosvg&quot;),s=t(&quot;../snapshot/svgtoimg&quot;),l={format:{valType:&quot;enumerated&quot;,values:[&quot;png&quot;,&quot;jpeg&quot;,&quot;webp&quot;,&quot;svg&quot;],dflt:&quot;png&quot;},width:{valType:&quot;number&quot;,min:1},height:{valType:&quot;number&quot;,min:1},scale:{valType:&quot;number&quot;,min:0,dflt:1},setBackground:{valType:&quot;any&quot;,dflt:!1},imageDataOnly:{valType:&quot;boolean&quot;,dflt:!1}},c=/^data:image\/\w+;base64,/;e.exports=function(t,e){function r(t){return!(t in e)||i.validate(e[t],l[t])}function u(t,r){return i.coerce(e,g,l,t,r)}function f(){return new Promise(function(t){setTimeout(t,a.getDelay(M._fullLayout))})}function h(){return new Promise(function(t,e){var r=o(M,v,b),a=M._fullLayout.width,l=M._fullLayout.height;if(n.purge(M),document.body.removeChild(M),&quot;svg&quot;===v)return t(w?r:&quot;data:image/svg+xml,&quot;+encodeURIComponent(r));var c=document.createElement(&quot;canvas&quot;);c.id=i.randstr(),s({format:v,width:a,height:l,scale:b,canvas:c,svg:r,promise:!0}).then(t).catch(e)})}e=e||{};var d,p,m;if(i.isPlainObject(t)?(d=t.data||[],p=t.layout||{},m=t.config||{}):(t=i.getGraphDiv(t),d=i.extendDeep([],t.data),p=i.extendDeep({},t.layout),m=t._context),!r(&quot;width&quot;)||!r(&quot;height&quot;))throw new Error(&quot;Height and width should be pixel values.&quot;);if(!r(&quot;format&quot;))throw new Error(&quot;Image format is not jpeg, png, svg or webp.&quot;);var g={},v=u(&quot;format&quot;),y=u(&quot;width&quot;),x=u(&quot;height&quot;),b=u(&quot;scale&quot;),_=u(&quot;setBackground&quot;),w=u(&quot;imageDataOnly&quot;),M=document.createElement(&quot;div&quot;);M.style.position=&quot;absolute&quot;,M.style.left=&quot;-5000px&quot;,document.body.appendChild(M);var k=i.extendFlat({},p);y&amp;&amp;(k.width=y),x&amp;&amp;(k.height=x);var A=i.extendFlat({},m,{staticPlot:!0,setBackground:_}),T=a.getRedrawFunc(M);return new Promise(function(t,e){n.plot(M,d,k,A).then(T).then(f).then(h).then(function(e){t(function(t){return w?t.replace(c,&quot;&quot;):t}(e))}).catch(function(t){e(t)})})}},{&quot;../lib&quot;:743,&quot;../plotly&quot;:784,&quot;../snapshot/helpers&quot;:877,&quot;../snapshot/svgtoimg&quot;:879,&quot;../snapshot/tosvg&quot;:881}],783:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,i,l,c){c=c||[];for(var u=Object.keys(t),d=0;d&lt;u.length;d++){var p=u[d];if(&quot;transforms&quot;!==p){var m=c.slice();m.push(p);var g=t[p],v=e[p],y=function(t,e){var r=o(e);return t[r.keyMinusId]}(r,p),x=&quot;info_array&quot;===(y||{}).valType,b=&quot;colorscale&quot;===(y||{}).valType;if(function(t,e){var r=o(e),n=r.keyMinusId,i=r.id;if(n in t&amp;&amp;t[n]._isSubplotObj&amp;&amp;i)return!0;return e in t}(r,p))if(f(g)&amp;&amp;f(v))n(g,v,y,i,l,m);else if(y.items&amp;&amp;!x&amp;&amp;h(g)){var _,w,M=y.items,k=M[Object.keys(M)[0]],A=[];for(_=0;_&lt;v.length;_++){var T=v[_]._index||_;(w=m.slice()).push(T),f(g[T])&amp;&amp;f(v[_])&amp;&amp;(A.push(T),n(g[T],v[_],k,i,l,w))}for(_=0;_&lt;g.length;_++)(w=m.slice()).push(_),f(g[_])?-1===A.indexOf(_)&amp;&amp;i.push(a(&quot;unused&quot;,l,w)):i.push(a(&quot;object&quot;,l,w,g[_]))}else!f(g)&amp;&amp;f(v)?i.push(a(&quot;object&quot;,l,m,g)):h(g)||!h(v)||x||b?p in e?s.validate(g,y)?&quot;enumerated&quot;===y.valType&amp;&amp;(y.coerceNumber&amp;&amp;g!==+v||g!==v)&amp;&amp;i.push(a(&quot;dynamic&quot;,l,m,g,v)):i.push(a(&quot;value&quot;,l,m,g)):i.push(a(&quot;unused&quot;,l,m,g)):i.push(a(&quot;array&quot;,l,m,g));else i.push(a(&quot;schema&quot;,l,m))}}return i}function i(t){return h(t)?&quot;In data trace &quot;+t[1]+&quot;, &quot;:&quot;In &quot;+t+&quot;, &quot;}function a(t,e,r,n,i){r=r||&quot;&quot;;var a,o;h(e)?(a=e[0],o=e[1]):(a=e,o=null);var l=function(t){if(!h(t))return String(t);for(var e=&quot;&quot;,r=0;r&lt;t.length;r++){var n=t[r];&quot;number&quot;==typeof n?e=e.substr(0,e.length-1)+&quot;[&quot;+n+&quot;]&quot;:e+=n,r&lt;t.length-1&amp;&amp;(e+=&quot;.&quot;)}return e}(r),c=d[t](e,l,n,i);return s.log(c),{code:t,container:a,trace:o,path:r,astr:l,msg:c}}function o(t){var e=t.match(p);return{keyMinusId:e&amp;&amp;e[1],id:e&amp;&amp;e[2]}}var s=t(&quot;../lib&quot;),l=t(&quot;../plots/plots&quot;),c=t(&quot;./plot_schema&quot;),u=t(&quot;./plot_config&quot;),f=s.isPlainObject,h=Array.isArray;e.exports=function(t,e){var r,i,o=c.get(),d=[],p={_context:s.extendFlat({},u)};h(t)?(p.data=s.extendDeep([],t),r=t):(p.data=[],r=[],d.push(a(&quot;array&quot;,&quot;data&quot;))),f(e)?(p.layout=s.extendDeep({},e),i=e):(p.layout={},i={},arguments.length&gt;1&amp;&amp;d.push(a(&quot;object&quot;,&quot;layout&quot;))),l.supplyDefaults(p);for(var m=p._fullData,g=r.length,v=0;v&lt;g;v++){var y=r[v],x=[&quot;data&quot;,v];if(f(y)){var b=m[v],_=b.type,w=o.traces[_].attributes;w.type={valType:&quot;enumerated&quot;,values:[_]},!1===b.visible&amp;&amp;!1!==y.visible&amp;&amp;d.push(a(&quot;invisible&quot;,x)),n(y,b,w,d,x);var M=y.transforms,k=b.transforms;if(M){h(M)||d.push(a(&quot;array&quot;,x,[&quot;transforms&quot;])),x.push(&quot;transforms&quot;);for(var A=0;A&lt;M.length;A++){var T=[&quot;transforms&quot;,A],S=M[A].type;if(f(M[A])){var E=o.transforms[S]?o.transforms[S].attributes:{};E.type={valType:&quot;enumerated&quot;,values:Object.keys(o.transforms)},n(M[A],k[A],E,d,x,T)}else d.push(a(&quot;object&quot;,x,T))}}}else d.push(a(&quot;object&quot;,x))}return n(i,p._fullLayout,function(t,e){for(var r=0;r&lt;e.length;r++){var n=e[r].type,i=t.traces[n].layoutAttributes;i&amp;&amp;s.extendFlat(t.layout.layoutAttributes,i)}return t.layout.layoutAttributes}(o,m),d,&quot;layout&quot;),0===d.length?void 0:d};var d={object:function(t,e){return(&quot;layout&quot;===t&amp;&amp;&quot;&quot;===e?&quot;The layout argument&quot;:&quot;data&quot;===t[0]&amp;&amp;&quot;&quot;===e?&quot;Trace &quot;+t[1]+&quot; in the data argument&quot;:i(t)+&quot;key &quot;+e)+&quot; must be linked to an object container&quot;},array:function(t,e){return(&quot;data&quot;===t?&quot;The data argument&quot;:i(t)+&quot;key &quot;+e)+&quot; must be linked to an array container&quot;},schema:function(t,e){return i(t)+&quot;key &quot;+e+&quot; is not part of the schema&quot;},unused:function(t,e,r){var n=f(r)?&quot;container&quot;:&quot;key&quot;;return i(t)+n+&quot; &quot;+e+&quot; did not get coerced&quot;},dynamic:function(t,e,r,n){return[i(t)+&quot;key&quot;,e,&quot;(set to '&quot;+r+&quot;')&quot;,&quot;got reset to&quot;,&quot;'&quot;+n+&quot;'&quot;,&quot;during defaults.&quot;].join(&quot; &quot;)},invisible:function(t){return&quot;Trace &quot;+t[1]+&quot; got defaulted to be not visible&quot;},value:function(t,e,r){return[i(t)+&quot;key &quot;+e,&quot;is set to an invalid value (&quot;+r+&quot;)&quot;].join(&quot; &quot;)}},p=s.counterRegex(&quot;([a-z]+)&quot;)},{&quot;../lib&quot;:743,&quot;../plots/plots&quot;:852,&quot;./plot_config&quot;:777,&quot;./plot_schema&quot;:778}],784:[function(t,e,r){&quot;use strict&quot;;r.defaultConfig=t(&quot;./plot_api/plot_config&quot;),r.Plots=t(&quot;./plots/plots&quot;),r.Axes=t(&quot;./plots/cartesian/axes&quot;),r.ModeBar=t(&quot;./components/modebar&quot;),t(&quot;./plot_api/plot_api&quot;)},{&quot;./components/modebar&quot;:680,&quot;./plot_api/plot_api&quot;:776,&quot;./plot_api/plot_config&quot;:777,&quot;./plots/cartesian/axes&quot;:789,&quot;./plots/plots&quot;:852}],785:[function(t,e,r){&quot;use strict&quot;;e.exports={mode:{valType:&quot;enumerated&quot;,dflt:&quot;afterall&quot;,values:[&quot;immediate&quot;,&quot;next&quot;,&quot;afterall&quot;]},direction:{valType:&quot;enumerated&quot;,values:[&quot;forward&quot;,&quot;reverse&quot;],dflt:&quot;forward&quot;},fromcurrent:{valType:&quot;boolean&quot;,dflt:!1},frame:{duration:{valType:&quot;number&quot;,min:0,dflt:500},redraw:{valType:&quot;boolean&quot;,dflt:!0}},transition:{duration:{valType:&quot;number&quot;,min:0,dflt:500},easing:{valType:&quot;enumerated&quot;,dflt:&quot;cubic-in-out&quot;,values:[&quot;linear&quot;,&quot;quad&quot;,&quot;cubic&quot;,&quot;sin&quot;,&quot;exp&quot;,&quot;circle&quot;,&quot;elastic&quot;,&quot;back&quot;,&quot;bounce&quot;,&quot;linear-in&quot;,&quot;quad-in&quot;,&quot;cubic-in&quot;,&quot;sin-in&quot;,&quot;exp-in&quot;,&quot;circle-in&quot;,&quot;elastic-in&quot;,&quot;back-in&quot;,&quot;bounce-in&quot;,&quot;linear-out&quot;,&quot;quad-out&quot;,&quot;cubic-out&quot;,&quot;sin-out&quot;,&quot;exp-out&quot;,&quot;circle-out&quot;,&quot;elastic-out&quot;,&quot;back-out&quot;,&quot;bounce-out&quot;,&quot;linear-in-out&quot;,&quot;quad-in-out&quot;,&quot;cubic-in-out&quot;,&quot;sin-in-out&quot;,&quot;exp-in-out&quot;,&quot;circle-in-out&quot;,&quot;elastic-in-out&quot;,&quot;back-in-out&quot;,&quot;bounce-in-out&quot;]}}}},{}],786:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../lib&quot;);e.exports=function(t,e,r){var i,a=r.name,o=e[a],s=n.isArray(t[a])?t[a]:[],l=e[a]=[];for(i=0;i&lt;s.length;i++){var c=s[i],u={},f={};n.isPlainObject(c)||(f.itemIsNotPlainObject=!0,c={}),r.handleItemDefaults(c,u,e,r,f),u._input=c,u._index=i,l.push(u)}if(n.isArray(o)){var h=Math.min(o.length,l.length);for(i=0;i&lt;h;i++)n.relinkPrivateKeys(l[i],o[i])}}},{&quot;../lib&quot;:743}],787:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../components/fx/attributes&quot;);e.exports={type:{valType:&quot;enumerated&quot;,values:[],dflt:&quot;scatter&quot;,editType:&quot;calc+clearAxisTypes&quot;},visible:{valType:&quot;enumerated&quot;,values:[!0,!1,&quot;legendonly&quot;],dflt:!0,editType:&quot;calc&quot;},showlegend:{valType:&quot;boolean&quot;,dflt:!0,editType:&quot;style&quot;},legendgroup:{valType:&quot;string&quot;,dflt:&quot;&quot;,editType:&quot;style&quot;},opacity:{valType:&quot;number&quot;,min:0,max:1,dflt:1,editType:&quot;style&quot;},name:{valType:&quot;string&quot;,editType:&quot;style&quot;},uid:{valType:&quot;string&quot;,dflt:&quot;&quot;,editType:&quot;calc&quot;},ids:{valType:&quot;data_array&quot;,editType:&quot;calc&quot;},customdata:{valType:&quot;data_array&quot;,editType:&quot;calc&quot;},selectedpoints:{valType:&quot;any&quot;,editType:&quot;calc&quot;},hoverinfo:{valType:&quot;flaglist&quot;,flags:[&quot;x&quot;,&quot;y&quot;,&quot;z&quot;,&quot;text&quot;,&quot;name&quot;],extras:[&quot;all&quot;,&quot;none&quot;,&quot;skip&quot;],arrayOk:!0,dflt:&quot;all&quot;,editType:&quot;none&quot;},hoverlabel:n.hoverlabel,stream:{token:{valType:&quot;string&quot;,noBlank:!0,strict:!0,editType:&quot;calc&quot;},maxpoints:{valType:&quot;number&quot;,min:0,max:1e4,dflt:500,editType:&quot;calc&quot;},editType:&quot;calc&quot;}}},{&quot;../components/fx/attributes&quot;:652}],788:[function(t,e,r){&quot;use strict&quot;;e.exports={xaxis:{valType:&quot;subplotid&quot;,dflt:&quot;x&quot;,editType:&quot;calc+clearAxisTypes&quot;},yaxis:{valType:&quot;subplotid&quot;,dflt:&quot;y&quot;,editType:&quot;calc+clearAxisTypes&quot;}}},{}],789:[function(t,e,r){&quot;use strict&quot;;function n(t){return+t}function i(t){return String(t)}function a(t,e,r){return e*v.roundUp(t/e,r)}function o(t){var e=t.dtick;if(t._tickexponent=0,m(e)||&quot;string&quot;==typeof e||(e=1),&quot;category&quot;===t.type&amp;&amp;(t._tickround=null),&quot;date&quot;===t.type){var r=t.r2l(t.tick0),n=t.l2r(r).replace(/(^-|i)/g,&quot;&quot;),i=n.length;if(&quot;M&quot;===String(e).charAt(0))i&gt;10||&quot;01-01&quot;!==n.substr(5)?t._tickround=&quot;d&quot;:t._tickround=+e.substr(1)%12==0?&quot;y&quot;:&quot;m&quot;;else if(e&gt;=T&amp;&amp;i&lt;=10||e&gt;=15*T)t._tickround=&quot;d&quot;;else if(e&gt;=E&amp;&amp;i&lt;=16||e&gt;=S)t._tickround=&quot;M&quot;;else if(e&gt;=L&amp;&amp;i&lt;=19||e&gt;=E)t._tickround=&quot;S&quot;;else{var a=t.l2r(r+e).replace(/^-/,&quot;&quot;).length;t._tickround=Math.max(i,a)-20}}else if(m(e)||&quot;L&quot;===e.charAt(0)){var o=t.range.map(t.r2d||Number);m(e)||(e=Number(e.substr(1))),t._tickround=2-Math.floor(Math.log(e)/Math.LN10+.01);var s=Math.max(Math.abs(o[0]),Math.abs(o[1])),l=Math.floor(Math.log(s)/Math.LN10+.01);Math.abs(l)&gt;3&amp;&amp;(c(t.exponentformat)&amp;&amp;!u(l)?t._tickexponent=3*Math.round((l-1)/3):t._tickexponent=l)}else t._tickround=null}function s(t,e,r){var n=t.tickfont||{};return{x:e,dx:0,dy:0,text:r||&quot;&quot;,fontSize:n.size,font:n.family,fontColor:n.color}}function l(t,e,r,n,i){if(&quot;radians&quot;!==t.thetaunit||r)e.text=f(e.x,t,i,n);else{var a=e.x/180;if(0===a)e.text=&quot;0&quot;;else{var o=function(t){function e(t,e){return Math.abs(t-e)&lt;=1e-6}function r(t,n){return e(n,0)?t:r(n,t%n)}var n=function(t){var r=1;for(;!e(Math.round(t*r)/r,t);)r*=10;return r}(t),i=t*n,a=Math.abs(r(i,n));return[Math.round(i/a),Math.round(n/a)]}(a);if(o[1]&gt;=100)e.text=f(v.deg2rad(e.x),t,i,n);else{var s=e.x&lt;0;1===o[1]?1===o[0]?e.text=&quot;\u03c0&quot;:e.text=o[0]+&quot;\u03c0&quot;:e.text=[&quot;&lt;sup&gt;&quot;,o[0],&quot;&lt;/sup&gt;&quot;,&quot;\u2044&quot;,&quot;&lt;sub&gt;&quot;,o[1],&quot;&lt;/sub&gt;&quot;,&quot;\u03c0&quot;].join(&quot;&quot;),s&amp;&amp;(e.text=C+e.text)}}}}function c(t){return&quot;SI&quot;===t||&quot;B&quot;===t}function u(t){return t&gt;14||t&lt;-15}function f(t,e,r,n){var i=t&lt;0,a=e._tickround,s=r||e.exponentformat||&quot;B&quot;,l=e._tickexponent,f=I.getTickFormat(e),h=e.separatethousands;if(n){var d={exponentformat:e.exponentformat,dtick:&quot;none&quot;===e.showexponent?e.dtick:m(t)?Math.abs(t)||1:1,range:&quot;none&quot;===e.showexponent?e.range.map(e.r2d):[0,t||1]};o(d),a=(Number(d._tickround)||0)+4,l=d._tickexponent,e.hoverformat&amp;&amp;(f=e.hoverformat)}if(f)return e._numFormat(f)(t).replace(/-/g,C);var p=Math.pow(10,-a)/2;if(&quot;none&quot;===s&amp;&amp;(l=0),(t=Math.abs(t))&lt;p)t=&quot;0&quot;,i=!1;else{if(t+=p,l&amp;&amp;(t*=Math.pow(10,-l),a+=l),0===a)t=String(Math.floor(t));else if(a&lt;0){t=(t=String(Math.round(t))).substr(0,t.length+a);for(var g=a;g&lt;0;g++)t+=&quot;0&quot;}else{var y=(t=String(t)).indexOf(&quot;.&quot;)+1;y&amp;&amp;(t=t.substr(0,y+a).replace(/\.?0+$/,&quot;&quot;))}t=v.numSeparate(t,e._separators,h)}if(l&amp;&amp;&quot;hide&quot;!==s){c(s)&amp;&amp;u(l)&amp;&amp;(s=&quot;power&quot;);var x;x=l&lt;0?C+-l:&quot;power&quot;!==s?&quot;+&quot;+l:String(l),&quot;e&quot;===s?t+=&quot;e&quot;+x:&quot;E&quot;===s?t+=&quot;E&quot;+x:&quot;power&quot;===s?t+=&quot;\xd710&lt;sup&gt;&quot;+x+&quot;&lt;/sup&gt;&quot;:&quot;B&quot;===s&amp;&amp;9===l?t+=&quot;B&quot;:c(s)&amp;&amp;(t+=H[l/3+5])}return i?C+t:t}function h(t,e){for(var r=0;r&lt;e.length;r++)-1===t.indexOf(e[r])&amp;&amp;t.push(e[r])}function d(t,e,r){var n,i,a=[],o=[],s=t.layout;for(n=0;n&lt;e.length;n++)a.push(I.getFromId(t,e[n]));for(n=0;n&lt;r.length;n++)o.push(I.getFromId(t,r[n]));var l=Object.keys(a[0]),c=[&quot;anchor&quot;,&quot;domain&quot;,&quot;overlaying&quot;,&quot;position&quot;,&quot;side&quot;,&quot;tickangle&quot;],u=[&quot;linear&quot;,&quot;log&quot;];for(n=0;n&lt;l.length;n++){var f=l[n],h=a[0][f],d=o[0][f],p=!0,m=!1,g=!1;if(&quot;_&quot;!==f.charAt(0)&amp;&amp;&quot;function&quot;!=typeof h&amp;&amp;-1===c.indexOf(f)){for(i=1;i&lt;a.length&amp;&amp;p;i++){var y=a[i][f];&quot;type&quot;===f&amp;&amp;-1!==u.indexOf(h)&amp;&amp;-1!==u.indexOf(y)&amp;&amp;h!==y?m=!0:y!==h&amp;&amp;(p=!1)}for(i=1;i&lt;o.length&amp;&amp;p;i++){var x=o[i][f];&quot;type&quot;===f&amp;&amp;-1!==u.indexOf(d)&amp;&amp;-1!==u.indexOf(x)&amp;&amp;d!==x?g=!0:o[i][f]!==d&amp;&amp;(p=!1)}p&amp;&amp;(m&amp;&amp;(s[a[0]._name].type=&quot;linear&quot;),g&amp;&amp;(s[o[0]._name].type=&quot;linear&quot;),function(t,e,r,n,i){var a,o=v.nestedProperty,s=o(t[r[0]._name],e).get(),l=o(t[n[0]._name],e).get();&quot;title&quot;===e&amp;&amp;(s===i.x&amp;&amp;(s=i.y),l===i.y&amp;&amp;(l=i.x));for(a=0;a&lt;r.length;a++)o(t,r[a]._name+&quot;.&quot;+e).set(l);for(a=0;a&lt;n.length;a++)o(t,n[a]._name+&quot;.&quot;+e).set(s)}(s,f,a,o,t._fullLayout._dfltTitle))}}for(n=0;n&lt;t._fullLayout.annotations.length;n++){var b=t._fullLayout.annotations[n];-1!==e.indexOf(b.xref)&amp;&amp;-1!==r.indexOf(b.yref)&amp;&amp;v.swapAttrs(s.annotations[n],[&quot;?&quot;])}}var p=t(&quot;d3&quot;),m=t(&quot;fast-isnumeric&quot;),g=t(&quot;../../registry&quot;),v=t(&quot;../../lib&quot;),y=t(&quot;../../lib/svg_text_utils&quot;),x=t(&quot;../../components/titles&quot;),b=t(&quot;../../components/color&quot;),_=t(&quot;../../components/drawing&quot;),w=t(&quot;../../constants/numerical&quot;),M=w.FP_SAFE,k=w.ONEAVGYEAR,A=w.ONEAVGMONTH,T=w.ONEDAY,S=w.ONEHOUR,E=w.ONEMIN,L=w.ONESEC,C=w.MINUS_SIGN,z=w.BADNUM,D=t(&quot;../../constants/alignment&quot;).MID_SHIFT,I=e.exports={};I.setConvert=t(&quot;./set_convert&quot;);var P=t(&quot;./axis_autotype&quot;),O=t(&quot;./axis_ids&quot;);I.id2name=O.id2name,I.cleanId=O.cleanId,I.list=O.list,I.listIds=O.listIds,I.getFromId=O.getFromId,I.getFromTrace=O.getFromTrace,I.coerceRef=function(t,e,r,n,i,a){var o=n.charAt(n.length-1),s=r._fullLayout._subplots[o+&quot;axis&quot;],l=n+&quot;ref&quot;,c={};return i||(i=s[0]||a),a||(a=i),c[l]={valType:&quot;enumerated&quot;,values:s.concat(a?[a]:[]),dflt:i},v.coerce(t,e,c,l)},I.coercePosition=function(t,e,r,n,i,a){var o,s;if(&quot;paper&quot;===n||&quot;pixel&quot;===n)o=v.ensureNumber,s=r(i,a);else{var l=I.getFromId(e,n);s=r(i,a=l.fraction2r(a)),o=l.cleanPos}t[i]=o(s)},I.cleanPosition=function(t,e,r){return(&quot;paper&quot;===r||&quot;pixel&quot;===r?v.ensureNumber:I.getFromId(e,r).cleanPos)(t)};var F=I.getDataConversions=function(t,e,r,a){var o,s=&quot;x&quot;===r||&quot;y&quot;===r||&quot;z&quot;===r?r:a;if(Array.isArray(s)){if(o={type:P(a),_categories:[]},I.setConvert(o),&quot;category&quot;===o.type)for(var l=0;l&lt;a.length;l++)o.d2c(a[l])}else o=I.getFromTrace(t,e,s);return o?{d2c:o.d2c,c2d:o.c2d}:&quot;ids&quot;===s?{d2c:i,c2d:i}:{d2c:n,c2d:n}};I.getDataToCoordFunc=function(t,e,r,n){return F(t,e,r,n).d2c},I.counterLetter=function(t){var e=t.charAt(0);return&quot;x&quot;===e?&quot;y&quot;:&quot;y&quot;===e?&quot;x&quot;:void 0},I.minDtick=function(t,e,r,n){-1===[&quot;log&quot;,&quot;category&quot;].indexOf(t.type)&amp;&amp;n?void 0===t._minDtick?(t._minDtick=e,t._forceTick0=r):t._minDtick&amp;&amp;((t._minDtick/e+1e-6)%1&lt;2e-6&amp;&amp;((r-t._forceTick0)/e%1+1.000001)%1&lt;2e-6?(t._minDtick=e,t._forceTick0=r):((e/t._minDtick+1e-6)%1&gt;2e-6||((r-t._forceTick0)/t._minDtick%1+1.000001)%1&gt;2e-6)&amp;&amp;(t._minDtick=0)):t._minDtick=0},I.getAutoRange=function(t){var e,r=[],n=t._min[0].val,i=t._max[0].val;for(e=1;e&lt;t._min.length&amp;&amp;n===i;e++)n=Math.min(n,t._min[e].val);for(e=1;e&lt;t._max.length&amp;&amp;n===i;e++)i=Math.max(i,t._max[e].val);var a,o,s,l,c,u,f,h=0,d=!1;if(t.range){var p=v.simpleMap(t.range,t.r2l);d=p[1]&lt;p[0]}for(&quot;reversed&quot;===t.autorange&amp;&amp;(d=!0,t.autorange=!0),e=0;e&lt;t._min.length;e++)for(o=t._min[e],a=0;a&lt;t._max.length;a++)f=(s=t._max[a]).val-o.val,u=t._length-o.pad-s.pad,f&gt;0&amp;&amp;u&gt;0&amp;&amp;f/u&gt;h&amp;&amp;(l=o,c=s,h=f/u);if(n===i){var m=n-1,g=n+1;r=&quot;tozero&quot;===t.rangemode?n&lt;0?[m,0]:[0,g]:&quot;nonnegative&quot;===t.rangemode?[Math.max(0,m),Math.max(0,g)]:[m,g]}else h&amp;&amp;(&quot;linear&quot;!==t.type&amp;&amp;&quot;-&quot;!==t.type||(&quot;tozero&quot;===t.rangemode?(l.val&gt;=0&amp;&amp;(l={val:0,pad:0}),c.val&lt;=0&amp;&amp;(c={val:0,pad:0})):&quot;nonnegative&quot;===t.rangemode&amp;&amp;(l.val-h*l.pad&lt;0&amp;&amp;(l={val:0,pad:0}),c.val&lt;0&amp;&amp;(c={val:1,pad:0})),h=(c.val-l.val)/(t._length-l.pad-c.pad)),r=[l.val-h*l.pad,c.val+h*c.pad]);return r[0]===r[1]&amp;&amp;(&quot;tozero&quot;===t.rangemode?r=r[0]&lt;0?[r[0],0]:r[0]&gt;0?[0,r[0]]:[0,1]:(r=[r[0]-1,r[0]+1],&quot;nonnegative&quot;===t.rangemode&amp;&amp;(r[0]=Math.max(0,r[0])))),d&amp;&amp;r.reverse(),v.simpleMap(r,t.l2r||Number)},I.doAutoRange=function(t){t._length||t.setScale();var e=t._min&amp;&amp;t._max&amp;&amp;t._min.length&amp;&amp;t._max.length;if(t.autorange&amp;&amp;e){t.range=I.getAutoRange(t),t._r=t.range.slice(),t._rl=v.simpleMap(t._r,t.r2l);var r=t._input;r.range=t.range.slice(),r.autorange=t.autorange}},I.saveRangeInitial=function(t,e){for(var r=I.list(t,&quot;&quot;,!0),n=!1,i=0;i&lt;r.length;i++){var a=r[i],o=void 0===a._rangeInitial,s=o||!(a.range[0]===a._rangeInitial[0]&amp;&amp;a.range[1]===a._rangeInitial[1]);(o&amp;&amp;!1===a.autorange||e&amp;&amp;s)&amp;&amp;(a._rangeInitial=a.range.slice(),n=!0)}return n},I.saveShowSpikeInitial=function(t,e){for(var r=I.list(t,&quot;&quot;,!0),n=!1,i=&quot;on&quot;,a=0;a&lt;r.length;a++){var o=r[a],s=void 0===o._showSpikeInitial,l=s||!(o.showspikes===o._showspikes);(s||e&amp;&amp;l)&amp;&amp;(o._showSpikeInitial=o.showspikes,n=!0),&quot;on&quot;!==i||o.showspikes||(i=&quot;off&quot;)}return t._fullLayout._cartesianSpikesEnabled=i,n},I.expand=function(t,e,r){function n(t){if(Array.isArray(t))return function(e){return Math.max(Number(t[e]||0),0)};var e=Math.max(Number(t||0),0);return function(){return e}}function i(r){function n(t){return m(t)&amp;&amp;Math.abs(t)&lt;M}if(l=e[r],m(l)){if(f=_(r)+x,h=w(r)+x,p=l-A(r),g=l+k(r),&quot;log&quot;===t.type&amp;&amp;p&lt;g/10&amp;&amp;(p=g/10),c=t.c2l(p),u=t.c2l(g),b&amp;&amp;(c=Math.min(0,c),u=Math.max(0,u)),n(c)){for(d=!0,o=0;o&lt;t._min.length&amp;&amp;d;o++)(s=t._min[o]).val&lt;=c&amp;&amp;s.pad&gt;=h?d=!1:s.val&gt;=c&amp;&amp;s.pad&lt;=h&amp;&amp;(t._min.splice(o,1),o--);d&amp;&amp;t._min.push({val:c,pad:b&amp;&amp;0===c?0:h})}if(n(u)){for(d=!0,o=0;o&lt;t._max.length&amp;&amp;d;o++)(s=t._max[o]).val&gt;=u&amp;&amp;s.pad&gt;=f?d=!1:s.val&lt;=u&amp;&amp;s.pad&lt;=f&amp;&amp;(t._max.splice(o,1),o--);d&amp;&amp;t._max.push({val:u,pad:b&amp;&amp;0===u?0:f})}}}if((t.autorange||!!v.nestedProperty(t,&quot;rangeslider.autorange&quot;).get())&amp;&amp;e){t._min||(t._min=[]),t._max||(t._max=[]),r||(r={}),t._m||t.setScale();var a,o,s,l,c,u,f,h,d,p,g,y=e.length,x=r.padded?.05*t._length:0,b=r.tozero&amp;&amp;(&quot;linear&quot;===t.type||&quot;-&quot;===t.type);x&amp;&amp;&quot;domain&quot;===t.constrain&amp;&amp;t._inputDomain&amp;&amp;(x*=(t._inputDomain[1]-t._inputDomain[0])/(t.domain[1]-t.domain[0]));var _=n((t._m&gt;0?r.ppadplus:r.ppadminus)||r.ppad||0),w=n((t._m&gt;0?r.ppadminus:r.ppadplus)||r.ppad||0),k=n(r.vpadplus||r.vpad),A=n(r.vpadminus||r.vpad);for(a=0;a&lt;6;a++)i(a);for(a=y-1;a&gt;5;a--)i(a)}},I.autoBin=function(t,e,r,n,i){var a=v.aggNums(Math.min,null,t),o=v.aggNums(Math.max,null,t);if(i||(i=e.calendar),&quot;category&quot;===e.type)return{start:a-.5,end:o+.5,size:1,_count:o-a+1};var s;if(r)s=(o-a)/r;else{var l=v.distinctVals(t),c=Math.pow(10,Math.floor(Math.log(l.minDiff)/Math.LN10)),u=c*v.roundUp(l.minDiff/c,[.9,1.9,4.9,9.9],!0);s=Math.max(u,2*v.stdev(t)/Math.pow(t.length,n?.25:.4)),m(s)||(s=1)}var f;f=&quot;log&quot;===e.type?{type:&quot;linear&quot;,range:[a,o]}:{type:e.type,range:v.simpleMap([a,o],e.c2r,0,i),calendar:i},I.setConvert(f),I.autoTicks(f,s);var h,d,p=I.tickIncrement(I.tickFirst(f),f.dtick,&quot;reverse&quot;,i);if(&quot;number&quot;==typeof f.dtick)h=(p=function(t,e,r,n,i){function a(e){return(1+100*(e-t)/r.dtick)%100&lt;2}for(var o=0,s=0,l=0,c=0,u=0;u&lt;e.length;u++)e[u]%1==0?l++:m(e[u])||c++,a(e[u])&amp;&amp;o++,a(e[u]+r.dtick/2)&amp;&amp;s++;var f=e.length-c;if(l===f&amp;&amp;&quot;date&quot;!==r.type)r.dtick&lt;1?t=n-.5*r.dtick:(t-=.5)+r.dtick&lt;n&amp;&amp;(t+=r.dtick);else if(s&lt;.1*f&amp;&amp;(o&gt;.3*f||a(n)||a(i))){var h=r.dtick/2;t+=t+h&lt;n?h:-h}return t}(p,t,f,a,o))+(d=1+Math.floor((o-p)/f.dtick))*f.dtick;else for(&quot;M&quot;===f.dtick.charAt(0)&amp;&amp;(p=function(t,e,r,n,i){var a=v.findExactDates(e,i);if(a.exactDays&gt;.8){var o=Number(r.substr(1));a.exactYears&gt;.8&amp;&amp;o%12==0?t=I.tickIncrement(t,&quot;M6&quot;,&quot;reverse&quot;)+1.5*T:a.exactMonths&gt;.8?t=I.tickIncrement(t,&quot;M1&quot;,&quot;reverse&quot;)+15.5*T:t-=T/2;var s=I.tickIncrement(t,r);if(s&lt;=n)return s}return t}(p,t,f.dtick,a,i)),h=p,d=0;h&lt;=o;)h=I.tickIncrement(h,f.dtick,!1,i),d++;return{start:e.c2r(p,0,i),end:e.c2r(h,0,i),size:f.dtick,_count:d}},I.calcTicks=function(t){var e=v.simpleMap(t.range,t.r2l);if(&quot;auto&quot;===t.tickmode||!t.dtick){var r,n=t.nticks;n||(&quot;category&quot;===t.type?(r=t.tickfont?1.2*(t.tickfont.size||12):15,n=t._length/r):(r=&quot;y&quot;===t._id.charAt(0)?40:80,n=v.constrain(t._length/r,4,9)+1),&quot;radialaxis&quot;===t._name&amp;&amp;(n*=2)),&quot;array&quot;===t.tickmode&amp;&amp;(n*=100),I.autoTicks(t,Math.abs(e[1]-e[0])/n),t._minDtick&gt;0&amp;&amp;t.dtick&lt;2*t._minDtick&amp;&amp;(t.dtick=t._minDtick,t.tick0=t.l2r(t._forceTick0))}if(t.tick0||(t.tick0=&quot;date&quot;===t.type?&quot;2000-01-01&quot;:0),o(t),&quot;array&quot;===t.tickmode)return function(t){var e,r,n=t.tickvals,i=t.ticktext,a=new Array(n.length),o=v.simpleMap(t.range,t.r2l),l=1.0001*o[0]-1e-4*o[1],c=1.0001*o[1]-1e-4*o[0],u=Math.min(l,c),f=Math.max(l,c),h=0;Array.isArray(i)||(i=[]);var d=&quot;category&quot;===t.type?t.d2l_noadd:t.d2l;for(&quot;log&quot;===t.type&amp;&amp;&quot;L&quot;!==String(t.dtick).charAt(0)&amp;&amp;(t.dtick=&quot;L&quot;+Math.pow(10,Math.floor(Math.min(t.range[0],t.range[1]))-1)),r=0;r&lt;n.length;r++)(e=d(n[r]))&gt;u&amp;&amp;e&lt;f&amp;&amp;(void 0===i[r]?a[h]=I.tickText(t,e):a[h]=s(t,e,String(i[r])),h++);return h&lt;n.length&amp;&amp;a.splice(h,n.length-h),a}(t);t._tmin=I.tickFirst(t);var i=e[1]&lt;e[0],a=[],l=1.0001*e[1]-1e-4*e[0];&quot;category&quot;===t.type&amp;&amp;(l=i?Math.max(-.5,l):Math.min(t._categories.length-.5,l));for(var c=null,u=Math.max(1e3,t._length||0),f=t._tmin;(i?f&gt;=l:f&lt;=l)&amp;&amp;!(a.length&gt;u||f===c);f=I.tickIncrement(f,t.dtick,i,t.calendar))c=f,a.push(f);&quot;angular&quot;===t._id&amp;&amp;360===Math.abs(e[1]-e[0])&amp;&amp;a.pop(),t._tmax=a[a.length-1],t._prevDateHead=&quot;&quot;,t._inCalcTicks=!0;for(var h=new Array(a.length),d=0;d&lt;a.length;d++)h[d]=I.tickText(t,a[d]);return t._inCalcTicks=!1,h};var R=[2,5,10],N=[1,2,3,6,12],j=[1,2,5,10,15,30],B=[1,2,3,7,14],U=[-.046,0,.301,.477,.602,.699,.778,.845,.903,.954,1],V=[-.301,0,.301,.699,1],q=[15,30,45,90,180];I.autoTicks=function(t,e){function r(t){return Math.pow(t,Math.floor(Math.log(e)/Math.LN10))}var n;if(&quot;date&quot;===t.type){t.tick0=v.dateTick0(t.calendar);var i=2*e;i&gt;k?(e/=k,n=r(10),t.dtick=&quot;M&quot;+12*a(e,n,R)):i&gt;A?(e/=A,t.dtick=&quot;M&quot;+a(e,1,N)):i&gt;T?(t.dtick=a(e,T,B),t.tick0=v.dateTick0(t.calendar,!0)):i&gt;S?t.dtick=a(e,S,N):i&gt;E?t.dtick=a(e,E,j):i&gt;L?t.dtick=a(e,L,j):(n=r(10),t.dtick=a(e,n,R))}else if(&quot;log&quot;===t.type){t.tick0=0;var o=v.simpleMap(t.range,t.r2l);if(e&gt;.7)t.dtick=Math.ceil(e);else if(Math.abs(o[1]-o[0])&lt;1){var s=1.5*Math.abs((o[1]-o[0])/e);e=Math.abs(Math.pow(10,o[1])-Math.pow(10,o[0]))/s,n=r(10),t.dtick=&quot;L&quot;+a(e,n,R)}else t.dtick=e&gt;.3?&quot;D2&quot;:&quot;D1&quot;}else&quot;category&quot;===t.type?(t.tick0=0,t.dtick=Math.ceil(Math.max(e,1))):&quot;angular&quot;===t._id?(t.tick0=0,n=1,t.dtick=a(e,n,q)):(t.tick0=0,n=r(10),t.dtick=a(e,n,R));if(0===t.dtick&amp;&amp;(t.dtick=1),!m(t.dtick)&amp;&amp;&quot;string&quot;!=typeof t.dtick){var l=t.dtick;throw t.dtick=1,&quot;ax.dtick error: &quot;+String(l)}},I.tickIncrement=function(t,e,r,n){var i=r?-1:1;if(m(e))return t+i*e;var a=e.charAt(0),o=i*Number(e.substr(1));if(&quot;M&quot;===a)return v.incrementMonth(t,o,n);if(&quot;L&quot;===a)return Math.log(Math.pow(10,t)+o)/Math.LN10;if(&quot;D&quot;===a){var s=&quot;D2&quot;===e?V:U,l=t+.01*i,c=v.roundUp(v.mod(l,1),s,r);return Math.floor(l)+Math.log(p.round(Math.pow(10,c),1))/Math.LN10}throw&quot;unrecognized dtick &quot;+String(e)},I.tickFirst=function(t){var e=t.r2l||Number,r=v.simpleMap(t.range,e),n=r[1]&lt;r[0],i=n?Math.floor:Math.ceil,a=1.0001*r[0]-1e-4*r[1],o=t.dtick,s=e(t.tick0);if(m(o)){var l=i((a-s)/o)*o+s;return&quot;category&quot;===t.type&amp;&amp;(l=v.constrain(l,0,t._categories.length-1)),l}var c=o.charAt(0),u=Number(o.substr(1));if(&quot;M&quot;===c){for(var f,h,d,g=0,y=s;g&lt;10;){if(((f=I.tickIncrement(y,o,n,t.calendar))-a)*(y-a)&lt;=0)return n?Math.min(y,f):Math.max(y,f);h=(a-(y+f)/2)/(f-y),d=c+(Math.abs(Math.round(h))||1)*u,y=I.tickIncrement(y,d,h&lt;0?!n:n,t.calendar),g++}return v.error(&quot;tickFirst did not converge&quot;,t),y}if(&quot;L&quot;===c)return Math.log(i((Math.pow(10,a)-s)/u)*u+s)/Math.LN10;if(&quot;D&quot;===c){var x=&quot;D2&quot;===o?V:U,b=v.roundUp(v.mod(a,1),x,n);return Math.floor(a)+Math.log(p.round(Math.pow(10,b),1))/Math.LN10}throw&quot;unrecognized dtick &quot;+String(o)},I.tickText=function(t,e,r){function n(n){var i;return void 0===n||(r?&quot;none&quot;===n:(i={first:t._tmin,last:t._tmax}[n],&quot;all&quot;!==n&amp;&amp;e!==i))}var i,a,o=s(t,e),h=&quot;array&quot;===t.tickmode,d=r||h,p=&quot;category&quot;===t.type?t.d2l_noadd:t.d2l;if(h&amp;&amp;Array.isArray(t.ticktext)){var g=v.simpleMap(t.range,t.r2l),y=Math.abs(g[1]-g[0])/1e4;for(a=0;a&lt;t.ticktext.length&amp;&amp;!(Math.abs(e-p(t.tickvals[a]))&lt;y);a++);if(a&lt;t.ticktext.length)return o.text=String(t.ticktext[a]),o}return i=r?&quot;never&quot;:&quot;none&quot;!==t.exponentformat&amp;&amp;n(t.showexponent)?&quot;hide&quot;:&quot;&quot;,&quot;date&quot;===t.type?function(t,e,r,n){var i=t._tickround,a=r&amp;&amp;t.hoverformat||I.getTickFormat(t);n&amp;&amp;(i=m(i)?4:{y:&quot;m&quot;,m:&quot;d&quot;,d:&quot;M&quot;,M:&quot;S&quot;,S:4}[i]);var o,s=v.formatDate(e.x,a,i,t._dateFormat,t.calendar),l=s.indexOf(&quot;\n&quot;);-1!==l&amp;&amp;(o=s.substr(l+1),s=s.substr(0,l)),n&amp;&amp;(&quot;00:00:00&quot;===s||&quot;00:00&quot;===s?(s=o,o=&quot;&quot;):8===s.length&amp;&amp;(s=s.replace(/:00$/,&quot;&quot;))),o&amp;&amp;(r?&quot;d&quot;===i?s+=&quot;, &quot;+o:s=o+(s?&quot;, &quot;+s:&quot;&quot;):t._inCalcTicks&amp;&amp;o===t._prevDateHead||(s+=&quot;&lt;br&gt;&quot;+o,t._prevDateHead=o)),e.text=s}(t,o,r,d):&quot;log&quot;===t.type?function(t,e,r,n,i){var a=t.dtick,o=e.x,s=t.tickformat;if(&quot;never&quot;===i&amp;&amp;(i=&quot;&quot;),!n||&quot;string&quot;==typeof a&amp;&amp;&quot;L&quot;===a.charAt(0)||(a=&quot;L3&quot;),s||&quot;string&quot;==typeof a&amp;&amp;&quot;L&quot;===a.charAt(0))e.text=f(Math.pow(10,o),t,i,n);else if(m(a)||&quot;D&quot;===a.charAt(0)&amp;&amp;v.mod(o+.01,1)&lt;.1){var l=Math.round(o);-1!==[&quot;e&quot;,&quot;E&quot;,&quot;power&quot;].indexOf(t.exponentformat)||c(t.exponentformat)&amp;&amp;u(l)?(e.text=0===l?1:1===l?&quot;10&quot;:l&gt;1?&quot;10&lt;sup&gt;&quot;+l+&quot;&lt;/sup&gt;&quot;:&quot;10&lt;sup&gt;&quot;+C+-l+&quot;&lt;/sup&gt;&quot;,e.fontSize*=1.25):(e.text=f(Math.pow(10,o),t,&quot;&quot;,&quot;fakehover&quot;),&quot;D1&quot;===a&amp;&amp;&quot;y&quot;===t._id.charAt(0)&amp;&amp;(e.dy-=e.fontSize/6))}else{if(&quot;D&quot;!==a.charAt(0))throw&quot;unrecognized dtick &quot;+String(a);e.text=String(Math.round(Math.pow(10,v.mod(o,1)))),e.fontSize*=.75}if(&quot;D1&quot;===t.dtick){var h=String(e.text).charAt(0);&quot;0&quot;!==h&amp;&amp;&quot;1&quot;!==h||(&quot;y&quot;===t._id.charAt(0)?e.dx-=e.fontSize/4:(e.dy+=e.fontSize/2,e.dx+=(t.range[1]&gt;t.range[0]?1:-1)*e.fontSize*(o&lt;0?.5:.25)))}}(t,o,0,d,i):&quot;category&quot;===t.type?function(t,e){var r=t._categories[Math.round(e.x)];void 0===r&amp;&amp;(r=&quot;&quot;),e.text=String(r)}(t,o):&quot;angular&quot;===t._id?l(t,o,r,d,i):function(t,e,r,n,i){&quot;never&quot;===i?i=&quot;&quot;:&quot;all&quot;===t.showexponent&amp;&amp;Math.abs(e.x/t.dtick)&lt;1e-6&amp;&amp;(i=&quot;hide&quot;),e.text=f(e.x,t,i,n)}(t,o,0,d,i),t.tickprefix&amp;&amp;!n(t.showtickprefix)&amp;&amp;(o.text=t.tickprefix+o.text),t.ticksuffix&amp;&amp;!n(t.showticksuffix)&amp;&amp;(o.text+=t.ticksuffix),o},I.hoverLabelText=function(t,e,r){if(r!==z&amp;&amp;r!==e)return I.hoverLabelText(t,e)+&quot; - &quot;+I.hoverLabelText(t,r);var n=&quot;log&quot;===t.type&amp;&amp;e&lt;=0,i=I.tickText(t,t.c2l(n?-e:e),&quot;hover&quot;).text;return n?0===e?&quot;0&quot;:C+i:i};var H=[&quot;f&quot;,&quot;p&quot;,&quot;n&quot;,&quot;\u03bc&quot;,&quot;m&quot;,&quot;&quot;,&quot;k&quot;,&quot;M&quot;,&quot;G&quot;,&quot;T&quot;];I.getTickFormat=function(t){function e(t){return&quot;string&quot;!=typeof t?t:Number(t.replace(&quot;M&quot;,&quot;&quot;))*A}function r(t,e){var r=[&quot;L&quot;,&quot;D&quot;];if(typeof t==typeof e){if(&quot;number&quot;==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,&quot;&quot;))-Number(e.replace(/(L|D)/g,&quot;&quot;)):n-i}return&quot;number&quot;==typeof t?1:-1}function n(t,e,r){var n=r||function(t){return t},i=e[0],a=e[1];return(!i&amp;&amp;&quot;number&quot;!=typeof i||n(i)&lt;=n(t))&amp;&amp;(!a&amp;&amp;&quot;number&quot;!=typeof a||n(a)&gt;=n(t))}function i(t,e){var n=null===e[0],i=null===e[1],a=r(t,e[0])&gt;=0,o=r(t,e[1])&lt;=0;return(n||a)&amp;&amp;(i||o)}var a,o;if(t.tickformatstops&amp;&amp;t.tickformatstops.length&gt;0)switch(t.type){case&quot;date&quot;:case&quot;linear&quot;:for(a=0;a&lt;t.tickformatstops.length;a++)if(n(t.dtick,t.tickformatstops[a].dtickrange,e)){o=t.tickformatstops[a];break}break;case&quot;log&quot;:for(a=0;a&lt;t.tickformatstops.length;a++)if(i(t.dtick,t.tickformatstops[a].dtickrange)){o=t.tickformatstops[a];break}}return o?o.value:t.tickformat},I.getSubplots=function(t,e){var r=t._fullLayout._subplots,n=r.cartesian.concat(r.gl2d||[]),i=e?I.findSubplotsWithAxis(n,e):n;return i.sort(function(t,e){var r=t.substr(1).split(&quot;y&quot;),n=e.substr(1).split(&quot;y&quot;);return r[0]===n[0]?+r[1]-+n[1]:+r[0]-+n[0]}),i},I.findSubplotsWithAxis=function(t,e){for(var r=new RegExp(&quot;x&quot;===e._id.charAt(0)?&quot;^&quot;+e._id+&quot;y&quot;:e._id+&quot;$&quot;),n=[],i=0;i&lt;t.length;i++){var a=t[i];r.test(a)&amp;&amp;n.push(a)}return n},I.makeClipPaths=function(t){var e,r,n=t._fullLayout,i={_offset:0,_length:n.width,_id:&quot;&quot;},a={_offset:0,_length:n.height,_id:&quot;&quot;},o=I.list(t,&quot;x&quot;,!0),s=I.list(t,&quot;y&quot;,!0),l=[];for(e=0;e&lt;o.length;e++)for(l.push({x:o[e],y:a}),r=0;r&lt;s.length;r++)0===e&amp;&amp;l.push({x:i,y:s[r]}),l.push({x:o[e],y:s[r]});var c=n._clips.selectAll(&quot;.axesclip&quot;).data(l,function(t){return t.x._id+t.y._id});c.enter().append(&quot;clipPath&quot;).classed(&quot;axesclip&quot;,!0).attr(&quot;id&quot;,function(t){return&quot;clip&quot;+n._uid+t.x._id+t.y._id}).append(&quot;rect&quot;),c.exit().remove(),c.each(function(t){p.select(this).select(&quot;rect&quot;).attr({x:t.x._offset||0,y:t.y._offset||0,width:t.x._length||1,height:t.y._length||1})})},I.doTicks=function(t,e,r){function n(t){var e=c.l2p(t.x);return e&gt;1&amp;&amp;e&lt;c._length-1}function i(t,e){var r=t.selectAll(&quot;path.&quot;+L).data(&quot;inside&quot;===c.ticks?H:S,E);e&amp;&amp;c.ticks?(r.enter().append(&quot;path&quot;).classed(L,1).classed(&quot;ticks&quot;,1).classed(&quot;crisp&quot;,1).call(b.stroke,c.tickcolor).style(&quot;stroke-width&quot;,B+&quot;px&quot;).attr(&quot;d&quot;,e),r.attr(&quot;transform&quot;,d),r.exit().remove()):r.remove()}function a(r,n){function i(t,e){t.each(function(t){var r=h(e,t),n=p.select(this),i=n.select(&quot;.text-math-group&quot;),a=d(t)+(m(e)&amp;&amp;0!=+e?&quot; rotate(&quot;+e+&quot;,&quot;+l(t)+&quot;,&quot;+(f(t)-t.fontSize/2)+&quot;)&quot;:&quot;&quot;);if(i.empty())n.select(&quot;text&quot;).attr({transform:a,&quot;text-anchor&quot;:r});else{var o=_.bBox(i.node()).width*{end:-.5,start:.5}[r];i.attr(&quot;transform&quot;,a+(o?&quot;translate(&quot;+o+&quot;,0)&quot;:&quot;&quot;))}})}function a(){function e(t,e){t[0]=Math.min(t[0],e[0]),t[1]=Math.max(t[1],e[1])}if(c.showticklabels){var n=t.getBoundingClientRect(),i=r.node().getBoundingClientRect();c._boundingBox={width:i.width,height:i.height,left:i.left-n.left,right:i.right-n.left,top:i.top-n.top,bottom:i.bottom-n.top}}else{var a,o=u._size;&quot;x&quot;===A?(a=&quot;free&quot;===c.anchor?o.t+o.h*(1-c.position):o.t+o.h*(1-c._anchorAxis.domain[{bottom:0,top:1}[c.side]]),c._boundingBox={top:a,bottom:a,left:c._offset,right:c._offset+c._length,width:c._length,height:0}):(a=&quot;free&quot;===c.anchor?o.l+o.w*c.position:o.l+o.w*c._anchorAxis.domain[{left:0,right:1}[c.side]],c._boundingBox={left:a,right:a,bottom:c._offset+c._length,top:c._offset,height:c._length,width:0})}if(M){var s=c._counterSpan=[1/0,-1/0];for(k=0;k&lt;M.length;k++){var l=u._plots[M[k]][&quot;x&quot;===A?&quot;yaxis&quot;:&quot;xaxis&quot;];e(s,[l._offset,l._offset+l._length])}&quot;free&quot;===c.anchor&amp;&amp;e(s,&quot;x&quot;===A?[c._boundingBox.bottom,c._boundingBox.top]:[c._boundingBox.right,c._boundingBox.left])}}var s=r.selectAll(&quot;g.&quot;+L).data(S,E);if(!m(n))return s.remove(),void o();if(!c.showticklabels)return s.remove(),o(),void a();var l,f,h,g,x;&quot;x&quot;===A?(l=function(t){return t.dx+R*x},g=n+(F+P)*(x=&quot;bottom&quot;===V?1:-1),f=function(t){return t.dy+g+t.fontSize*(&quot;bottom&quot;===V?1:-.2)},h=function(t){return m(t)&amp;&amp;0!==t&amp;&amp;180!==t?t*x&lt;0?&quot;end&quot;:&quot;start&quot;:&quot;middle&quot;}):&quot;y&quot;===A?(x=&quot;right&quot;===V?1:-1,f=function(t){return t.dy+t.fontSize*D-R*x},l=function(t){return t.dx+n+(F+P+(90===Math.abs(c.tickangle)?t.fontSize/2:0))*x},h=function(t){return m(t)&amp;&amp;90===Math.abs(t)?&quot;middle&quot;:&quot;right&quot;===V?&quot;start&quot;:&quot;end&quot;}):&quot;angular&quot;===e&amp;&amp;(c._labelShift=R,c._labelStandoff=F,c._pad=P,l=c._labelx,f=c._labely,h=c._labelanchor);var b=0,w=0,T=[];s.enter().append(&quot;g&quot;).classed(L,1).append(&quot;text&quot;).attr(&quot;text-anchor&quot;,&quot;middle&quot;).each(function(e){var r=p.select(this),n=t._promises.length;r.call(y.positionText,l(e),f(e)).call(_.font,e.font,e.fontSize,e.fontColor).text(e.text).call(y.convertToTspans,t),(n=t._promises[n])?T.push(t._promises.pop().then(function(){i(r,c.tickangle)})):i(r,c.tickangle)}),s.exit().remove(),s.each(function(t){b=Math.max(b,t.fontSize)}),&quot;angular&quot;===e&amp;&amp;s.each(function(t){p.select(this).select(&quot;text&quot;).call(y.positionText,l(t),f(t))}),i(s,c._lastangle||c.tickangle);var C=v.syncOrAsync([function(){return T.length&amp;&amp;Promise.all(T)},function(){if(i(s,c.tickangle),&quot;x&quot;===A&amp;&amp;!m(c.tickangle)&amp;&amp;(&quot;log&quot;!==c.type||&quot;D&quot;!==String(c.dtick).charAt(0))){var t=[];for(s.each(function(e){var r=p.select(this),n=r.select(&quot;.text-math-group&quot;),i=c.l2p(e.x);n.empty()&amp;&amp;(n=r.select(&quot;text&quot;));var a=_.bBox(n.node());t.push({top:0,bottom:10,height:10,left:i-a.width/2,right:i+a.width/2+2,width:a.width+2})}),k=0;k&lt;t.length-1;k++)if(v.bBoxIntersect(t[k],t[k+1])){w=30;break}w&amp;&amp;(Math.abs((S[S.length-1].x-S[0].x)*c._m)/(S.length-1)&lt;2.5*b&amp;&amp;(w=90),i(s,w)),c._lastangle=w}return o(),e+&quot; done&quot;},a]);return C&amp;&amp;C.then&amp;&amp;t._promises.push(C),C}function o(){if(!r){var n,i,a,o,s=O.getFromId(t,e),l=p.select(t).selectAll(&quot;g.&quot;+e+&quot;tick&quot;),c={selection:l,side:s.side},f=e.charAt(0),h=t._fullLayout._size,d=s.titlefont.size;if(l.size()){var m=_.getTranslate(l.node().parentNode);c.offsetLeft=m.x,c.offsetTop=m.y}var g=10+1.5*d+(s.linewidth?s.linewidth-1:0);&quot;x&quot;===f?(i=&quot;free&quot;===s.anchor?{_offset:h.t+(1-(s.position||0))*h.h,_length:0}:O.getFromId(t,s.anchor),a=s._offset+s._length/2,o=&quot;top&quot;===s.side?-g-d*(s.showticklabels?1:0):i._length+g+d*(s.showticklabels?1.5:.5),o+=i._offset,s.rangeslider&amp;&amp;s.rangeslider.visible&amp;&amp;s._boundingBox&amp;&amp;(o+=(u.height-u.margin.b-u.margin.t)*s.rangeslider.thickness+s._boundingBox.height),c.side||(c.side=&quot;bottom&quot;)):(i=&quot;free&quot;===s.anchor?{_offset:h.l+(s.position||0)*h.w,_length:0}:O.getFromId(t,s.anchor),o=s._offset+s._length/2,a=&quot;right&quot;===s.side?i._length+g+d*(s.showticklabels?1:.5):-g-d*(s.showticklabels?.5:0),a+=i._offset,n={rotate:&quot;-90&quot;,offset:0},c.side||(c.side=&quot;left&quot;)),x.draw(t,e+&quot;title&quot;,{propContainer:s,propName:s._name+&quot;.title&quot;,placeholder:u._dfltTitle[f],avoid:c,transform:n,attributes:{x:a,y:o,&quot;text-anchor&quot;:&quot;middle&quot;}})}}function s(t,e){return!0===t.visible&amp;&amp;t.xaxis+t.yaxis===e&amp;&amp;(!(!g.traceIs(t,&quot;bar&quot;)||t.orientation!=={x:&quot;h&quot;,y:&quot;v&quot;}[A])||t.fill&amp;&amp;t.fill.charAt(t.fill.length-1)===A)}function l(r,i,a){var o=r.gridlayer.selectAll(&quot;.&quot;+e),l=r.zerolinelayer,u=r[&quot;hidegrid&quot;+A]?[]:H,f=c._gridpath||(&quot;x&quot;===A?&quot;M0,&quot;+i._offset+&quot;v&quot;:&quot;M&quot;+i._offset+&quot;,0h&quot;)+i._length,h=o.selectAll(&quot;path.&quot;+C).data(!1===c.showgrid?[]:u,E);if(h.enter().append(&quot;path&quot;).classed(C,1).classed(&quot;crisp&quot;,1).attr(&quot;d&quot;,f).each(function(t){c.zeroline&amp;&amp;(&quot;linear&quot;===c.type||&quot;-&quot;===c.type)&amp;&amp;Math.abs(t.x)&lt;c.dtick/100&amp;&amp;p.select(this).remove()}),h.attr(&quot;transform&quot;,d).call(b.stroke,c.gridcolor||&quot;#ddd&quot;).style(&quot;stroke-width&quot;,N+&quot;px&quot;),&quot;function&quot;==typeof f&amp;&amp;h.attr(&quot;d&quot;,f),h.exit().remove(),l){for(var m=!1,g=0;g&lt;t._fullData.length;g++)if(s(t._fullData[g],a)){m=!0;break}var y=v.simpleMap(c.range,c.r2l),x=y[0]*y[1]&lt;=0&amp;&amp;c.zeroline&amp;&amp;(&quot;linear&quot;===c.type||&quot;-&quot;===c.type)&amp;&amp;u.length&amp;&amp;(m||n({x:0})||!c.showline),_=l.selectAll(&quot;path.&quot;+z).data(x?[{x:0,id:e}]:[]);_.enter().append(&quot;path&quot;).classed(z,1).classed(&quot;zl&quot;,1).classed(&quot;crisp&quot;,1).attr(&quot;d&quot;,f).each(function(){l.selectAll(&quot;path&quot;).sort(function(t,e){return O.idSort(t.id,e.id)})}),_.attr(&quot;transform&quot;,d).call(b.stroke,c.zerolinecolor||b.defaultLine).style(&quot;stroke-width&quot;,j+&quot;px&quot;),_.exit().remove()}}var c,u=t._fullLayout,f=!1;if(&quot;object&quot;==typeof e)e=(c=e)._id,f=!0;else if(c=I.getFromId(t,e),&quot;redraw&quot;===e&amp;&amp;u._paper.selectAll(&quot;g.subplot&quot;).each(function(t){var e=u._plots[t],r=e.xaxis,n=e.yaxis;e.xaxislayer.selectAll(&quot;.&quot;+r._id+&quot;tick&quot;).remove(),e.yaxislayer.selectAll(&quot;.&quot;+n._id+&quot;tick&quot;).remove(),e.gridlayer.selectAll(&quot;path&quot;).remove(),e.zerolinelayer.selectAll(&quot;path&quot;).remove(),u._infolayer.select(&quot;.g-&quot;+r._id+&quot;title&quot;).remove(),u._infolayer.select(&quot;.g-&quot;+n._id+&quot;title&quot;).remove()}),!e||&quot;redraw&quot;===e)return v.syncOrAsync(I.list(t,&quot;&quot;,!0).map(function(r){return function(){if(r._id){var n=I.doTicks(t,r._id);return&quot;redraw&quot;===e&amp;&amp;(r._r=r.range.slice(),r._rl=v.simpleMap(r._r,r.r2l)),n}}}));c.tickformat||(-1===[&quot;none&quot;,&quot;e&quot;,&quot;E&quot;,&quot;power&quot;,&quot;SI&quot;,&quot;B&quot;].indexOf(c.exponentformat)&amp;&amp;(c.exponentformat=&quot;e&quot;),-1===[&quot;all&quot;,&quot;first&quot;,&quot;last&quot;,&quot;none&quot;].indexOf(c.showexponent)&amp;&amp;(c.showexponent=&quot;all&quot;)),c.setScale();var h,d,w,M,k,A=e.charAt(0),T=I.counterLetter(e),S=I.calcTicks(c),E=function(t){return[t.text,t.x,c.mirror,t.font,t.fontSize,t.fontColor].join(&quot;_&quot;)},L=e+&quot;tick&quot;,C=e+&quot;grid&quot;,z=e+&quot;zl&quot;,P=(c.linewidth||1)/2,F=&quot;outside&quot;===c.ticks?c.ticklen:0,R=0,N=_.crispRound(t,c.gridwidth,1),j=_.crispRound(t,c.zerolinewidth,N),B=_.crispRound(t,c.tickwidth,1);if(c._counterangle&amp;&amp;&quot;outside&quot;===c.ticks){var U=c._counterangle*Math.PI/180;F=c.ticklen*Math.cos(U)+1,R=c.ticklen*Math.sin(U)}if(c.showticklabels&amp;&amp;(&quot;outside&quot;===c.ticks||c.showline)&amp;&amp;(F+=.2*c.tickfont.size),&quot;x&quot;===A)h=[&quot;bottom&quot;,&quot;top&quot;],d=c._transfn||function(t){return&quot;translate(&quot;+(c._offset+c.l2p(t.x))+&quot;,0)&quot;},w=function(t,e){if(c._counterangle){var r=c._counterangle*Math.PI/180;return&quot;M0,&quot;+t+&quot;l&quot;+Math.sin(r)*e+&quot;,&quot;+Math.cos(r)*e}return&quot;M0,&quot;+t+&quot;v&quot;+e};else if(&quot;y&quot;===A)h=[&quot;left&quot;,&quot;right&quot;],d=c._transfn||function(t){return&quot;translate(0,&quot;+(c._offset+c.l2p(t.x))+&quot;)&quot;},w=function(t,e){if(c._counterangle){var r=c._counterangle*Math.PI/180;return&quot;M&quot;+t+&quot;,0l&quot;+Math.cos(r)*e+&quot;,&quot;+-Math.sin(r)*e}return&quot;M&quot;+t+&quot;,0h&quot;+e};else{if(&quot;angular&quot;!==e)return void v.warn(&quot;Unrecognized doTicks axis:&quot;,e);h=[&quot;left&quot;,&quot;right&quot;],d=c._transfn,w=function(t,e){return&quot;M&quot;+t+&quot;,0h&quot;+e}}var V=c.side||h[0],q=[-1,1,V===h[1]?1:-1];if(&quot;inside&quot;!==c.ticks==(&quot;x&quot;===A)&amp;&amp;(q=q.map(function(t){return-t})),c.visible){c._tickFilter&amp;&amp;(S=S.filter(c._tickFilter));var H=S.filter(n);if(&quot;angular&quot;===c._id&amp;&amp;(H=S),f){if(i(c._axislayer,w(c._pos+P*q[2],q[2]*c.ticklen)),c._counteraxis){l({gridlayer:c._gridlayer,zerolinelayer:c._zerolinelayer},c._counteraxis)}return a(c._axislayer,c._pos)}if(u._has(&quot;cartesian&quot;)){var G={};(M=I.getSubplots(t,c)).map(function(t){var e=u._plots[t],r=e[T+&quot;axis&quot;],n=r._mainAxis._id;G[n]||(G[n]=1,l(e,r,t))});var Y=c._mainSubplot,W=u._plots[Y],X=[];if(c.ticks){var Z=q[2],J=w(c._mainLinePosition+P*Z,Z*c.ticklen);c._anchorAxis&amp;&amp;c.mirror&amp;&amp;!0!==c.mirror&amp;&amp;(J+=w(c._mainMirrorPosition-P*Z,-Z*c.ticklen)),i(W[A+&quot;axislayer&quot;],J),X=Object.keys(c._linepositions)}X.map(function(t){function e(t){var e=q[t];return w(n[t]+P*e,e*c.ticklen)}var r=u._plots[t][A+&quot;axislayer&quot;],n=c._linepositions[t]||[];i(r,e(0)+e(1))});return a(W[A+&quot;axislayer&quot;],c._mainLinePosition)}}},I.swap=function(t,e){for(var r=function(t,e){var r,n,i=[];for(r=0;r&lt;e.length;r++){var a=[],o=t._fullData[e[r]].xaxis,s=t._fullData[e[r]].yaxis;if(o&amp;&amp;s){for(n=0;n&lt;i.length;n++)-1===i[n].x.indexOf(o)&amp;&amp;-1===i[n].y.indexOf(s)||a.push(n);if(a.length){var l,c=i[a[0]];if(a.length&gt;1)for(n=1;n&lt;a.length;n++)l=i[a[n]],h(c.x,l.x),h(c.y,l.y);h(c.x,[o]),h(c.y,[s])}else i.push({x:[o],y:[s]})}}return i}(t,e),n=0;n&lt;r.length;n++)d(t,r[n].x,r[n].y)}},{&quot;../../components/color&quot;:618,&quot;../../components/drawing&quot;:643,&quot;../../components/titles&quot;:709,&quot;../../constants/alignment&quot;:716,&quot;../../constants/numerical&quot;:721,&quot;../../lib&quot;:743,&quot;../../lib/svg_text_utils&quot;:766,&quot;../../registry&quot;:873,&quot;./axis_autotype&quot;:790,&quot;./axis_ids&quot;:792,&quot;./set_convert&quot;:808,d3:128,&quot;fast-isnumeric&quot;:140}],790:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;fast-isnumeric&quot;),i=t(&quot;../../lib&quot;),a=t(&quot;../../constants/numerical&quot;).BADNUM;e.exports=function(t,e){return function(t,e){for(var r,a=0,o=0,s=Math.max(1,(t.length-1)/1e3),l=0;l&lt;t.length;l+=s)r=t[Math.round(l)],i.isDateTime(r,e)&amp;&amp;(a+=1),n(r)&amp;&amp;(o+=1);return a&gt;2*o}(t,e)?&quot;date&quot;:function(t){for(var e,r=Math.max(1,(t.length-1)/1e3),n=0,o=0,s=0;s&lt;t.length;s+=r)e=t[Math.round(s)],i.cleanNumber(e)!==a?n++:&quot;string&quot;==typeof e&amp;&amp;&quot;&quot;!==e&amp;&amp;&quot;None&quot;!==e&amp;&amp;o++;return o&gt;2*n}(t)?&quot;category&quot;:function(t){if(!t)return!1;for(var e=0;e&lt;t.length;e++)if(n(t[e]))return!0;return!1}(t)?&quot;linear&quot;:&quot;-&quot;}},{&quot;../../constants/numerical&quot;:721,&quot;../../lib&quot;:743,&quot;fast-isnumeric&quot;:140}],791:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../registry&quot;),i=t(&quot;../../lib&quot;),a=t(&quot;./layout_attributes&quot;),o=t(&quot;./tick_value_defaults&quot;),s=t(&quot;./tick_mark_defaults&quot;),l=t(&quot;./tick_label_defaults&quot;),c=t(&quot;./category_order_defaults&quot;),u=t(&quot;./line_grid_defaults&quot;),f=t(&quot;./set_convert&quot;),h=t(&quot;./ordered_categories&quot;);e.exports=function(t,e,r,d,p){var m=d.letter,g=d.font||{},v=r(&quot;visible&quot;,!d.cheateronly),y=e.type;if(&quot;date&quot;===y){n.getComponentMethod(&quot;calendars&quot;,&quot;handleDefaults&quot;)(t,e,&quot;calendar&quot;,d.calendar)}f(e,p);if(r(&quot;autorange&quot;,!e.isValidRange(t.range))&amp;&amp;r(&quot;rangemode&quot;),r(&quot;range&quot;),e.cleanRange(),c(t,e,r),e._initialCategories=&quot;category&quot;===y?h(m,e.categoryorder,e.categoryarray,d.data):[],!v)return e;var x=r(&quot;color&quot;),b=x===t.color?x:g.color;return r(&quot;title&quot;,p._dfltTitle[m]),i.coerceFont(r,&quot;titlefont&quot;,{family:g.family,size:Math.round(1.2*g.size),color:b}),o(t,e,r,y),l(t,e,r,y,d),s(t,e,r,d),u(t,e,r,{dfltColor:x,bgColor:d.bgColor,showGrid:d.showGrid,attributes:a}),(e.showline||e.ticks)&amp;&amp;r(&quot;mirror&quot;),e}},{&quot;../../lib&quot;:743,&quot;../../registry&quot;:873,&quot;./category_order_defaults&quot;:793,&quot;./layout_attributes&quot;:801,&quot;./line_grid_defaults&quot;:803,&quot;./ordered_categories&quot;:804,&quot;./set_convert&quot;:808,&quot;./tick_label_defaults&quot;:809,&quot;./tick_mark_defaults&quot;:810,&quot;./tick_value_defaults&quot;:811}],792:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../registry&quot;),i=t(&quot;./constants&quot;);r.id2name=function(t){if(&quot;string&quot;==typeof t&amp;&amp;t.match(i.AX_ID_PATTERN)){var e=t.substr(1);return&quot;1&quot;===e&amp;&amp;(e=&quot;&quot;),t.charAt(0)+&quot;axis&quot;+e}},r.name2id=function(t){if(t.match(i.AX_NAME_PATTERN)){var e=t.substr(5);return&quot;1&quot;===e&amp;&amp;(e=&quot;&quot;),t.charAt(0)+e}},r.cleanId=function(t,e){if(t.match(i.AX_ID_PATTERN)&amp;&amp;(!e||t.charAt(0)===e)){var r=t.substr(1).replace(/^0+/,&quot;&quot;);return&quot;1&quot;===r&amp;&amp;(r=&quot;&quot;),t.charAt(0)+r}},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&lt;o.length;a++){var l=o[a];s[a]=i[l.charAt(0)+&quot;axis&quot;+l.substr(1)]}if(!n){var c=i._subplots.gl3d||[];for(a=0;a&lt;c.length;a++){var u=i[c[a]];e?s.push(u[e+&quot;axis&quot;]):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+&quot;axis&quot;]:n.xaxis.concat(n.yaxis)},r.getFromId=function(t,e,n){var i=t._fullLayout;return&quot;x&quot;===n?e=e.replace(/y[0-9]*/,&quot;&quot;):&quot;y&quot;===n&amp;&amp;(e=e.replace(/x[0-9]*/,&quot;&quot;)),i[r.id2name(e)]},r.getFromTrace=function(t,e,i){var a=t._fullLayout,o=null;if(n.traceIs(e,&quot;gl3d&quot;)){var s=e.scene;&quot;scene&quot;===s.substr(0,5)&amp;&amp;(o=a[s][i+&quot;axis&quot;])}else o=r.getFromId(t,e[i+&quot;axis&quot;]||i);return o},r.idSort=function(t,e){var r=t.charAt(0),n=e.charAt(0);return r!==n?r&gt;n?1:-1:+(t.substr(1)||1)-+(e.substr(1)||1)}},{&quot;../../registry&quot;:873,&quot;./constants&quot;:794}],793:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t,e,r){if(&quot;category&quot;===e.type){var n,i=t.categoryarray,a=Array.isArray(i)&amp;&amp;i.length&gt;0;a&amp;&amp;(n=&quot;array&quot;);var o=r(&quot;categoryorder&quot;,n);&quot;array&quot;===o&amp;&amp;r(&quot;categoryarray&quot;),a||&quot;array&quot;!==o||(e.categoryorder=&quot;trace&quot;)}}},{}],794:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib&quot;).counterRegex;e.exports={idRegex:{x:n(&quot;x&quot;),y:n(&quot;y&quot;)},attrRegex:n(&quot;[xy]axis&quot;),xAxisMatch:n(&quot;xaxis&quot;),yAxisMatch:n(&quot;yaxis&quot;),AX_ID_PATTERN:/^[xyz][0-9]*$/,AX_NAME_PATTERN:/^[xyz]axis[0-9]*$/,SUBPLOT_PATTERN:/^x([0-9]*)y([0-9]*)$/,MINDRAG:8,MINSELECT:12,MINZOOM:20,DRAGGERSIZE:20,BENDPX:1.5,REDRAWDELAY:50,SELECTDELAY:100,SELECTID:&quot;-select&quot;,DFLTRANGEX:[-1,6],DFLTRANGEY:[-1,4],traceLayerClasses:[&quot;imagelayer&quot;,&quot;maplayer&quot;,&quot;barlayer&quot;,&quot;carpetlayer&quot;,&quot;violinlayer&quot;,&quot;boxlayer&quot;,&quot;scatterlayer&quot;],layerValue2layerClass:{&quot;above traces&quot;:&quot;above&quot;,&quot;below traces&quot;:&quot;below&quot;}}},{&quot;../../lib&quot;:743}],795:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib&quot;),i=t(&quot;./axis_ids&quot;).id2name;e.exports=function(t,e,r,a,o){var s=o._axisConstraintGroups,l=e._id,c=l.charAt(0);if(!e.fixedrange&amp;&amp;(r(&quot;constrain&quot;),n.coerce(t,e,{constraintoward:{valType:&quot;enumerated&quot;,values:&quot;x&quot;===c?[&quot;left&quot;,&quot;center&quot;,&quot;right&quot;]:[&quot;bottom&quot;,&quot;middle&quot;,&quot;top&quot;],dflt:&quot;x&quot;===c?&quot;center&quot;:&quot;middle&quot;}},&quot;constraintoward&quot;),t.scaleanchor)){var u=function(t,e,r,n){var a,o,s,l,c=n[i(e)].type,u=[];for(o=0;o&lt;r.length;o++)(s=r[o])!==e&amp;&amp;((l=n[i(s)]).type!==c||l.fixedrange||u.push(s));for(a=0;a&lt;t.length;a++)if(t[a][e]){var f=t[a],h=[];for(o=0;o&lt;u.length;o++)f[s=u[o]]||h.push(s);return{linkableAxes:h,thisGroup:f}}return{linkableAxes:u,thisGroup:null}}(s,l,a,o),f=n.coerce(t,e,{scaleanchor:{valType:&quot;enumerated&quot;,values:u.linkableAxes}},&quot;scaleanchor&quot;);if(f){var h=r(&quot;scaleratio&quot;);h||(h=e.scaleratio=1),function(t,e,r,n,i){var a,o,s,l,c;null===e?((e={})[r]=1,c=t.length,t.push(e)):c=t.indexOf(e);var u=Object.keys(e);for(a=0;a&lt;t.length;a++)if(s=t[a],a!==c&amp;&amp;s[n]){var f=s[n];for(o=0;o&lt;u.length;o++)s[l=u[o]]=f*i*e[l];return void t.splice(c,1)}if(1!==i)for(o=0;o&lt;u.length;o++)e[u[o]]*=i;e[n]=1}(s,u.thisGroup,l,f,h)}else-1!==a.indexOf(t.scaleanchor)&amp;&amp;n.warn(&quot;ignored &quot;+e._name+'.scaleanchor: &quot;'+t.scaleanchor+'&quot; to avoid either an infinite loop and possibly inconsistent scaleratios, or because the targetaxis has fixed range.')}}},{&quot;../../lib&quot;:743,&quot;./axis_ids&quot;:792}],796:[function(t,e,r){&quot;use strict&quot;;function n(t,e){var r=t._inputDomain,n=s[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]}var i=t(&quot;./axis_ids&quot;).id2name,a=t(&quot;./scale_zoom&quot;),o=t(&quot;../../constants/numerical&quot;).ALMOST_EQUAL,s=t(&quot;../../constants/alignment&quot;).FROM_BL;r.enforce=function(t){var e,r,s,l,c,u,f,h=t._fullLayout,d=h._axisConstraintGroups||[];for(e=0;e&lt;d.length;e++){var p=d[e],m=Object.keys(p),g=1/0,v=0,y=1/0,x={},b={},_=!1;for(r=0;r&lt;m.length;r++)b[s=m[r]]=l=h[i(s)],l._inputDomain?l.domain=l._inputDomain.slice():l._inputDomain=l.domain.slice(),l._inputRange||(l._inputRange=l.range.slice()),l.setScale(),x[s]=c=Math.abs(l._m)/p[s],g=Math.min(g,c),&quot;domain&quot;!==l.constrain&amp;&amp;l._constraintShrinkable||(y=Math.min(y,c)),delete l._constraintShrinkable,v=Math.max(v,c),&quot;domain&quot;===l.constrain&amp;&amp;(_=!0);if(!(g&gt;o*v)||_)for(r=0;r&lt;m.length;r++)if(s=m[r],c=x[s],l=b[s],u=l.constrain,c!==y||&quot;domain&quot;===u)if(f=c/y,&quot;range&quot;===u)a(l,f);else{var w=l._inputDomain,M=(l.domain[1]-l.domain[0])/(w[1]-w[0]),k=(l.r2l(l.range[1])-l.r2l(l.range[0]))/(l.r2l(l._inputRange[1])-l.r2l(l._inputRange[0]));if((f/=M)*k&lt;1){l.domain=l._input.domain=w.slice(),a(l,f);continue}if(k&lt;1&amp;&amp;(l.range=l._input.range=l._inputRange.slice(),f*=k),l.autorange&amp;&amp;l._min.length&amp;&amp;l._max.length){var A=l.r2l(l.range[0]),T=l.r2l(l.range[1]),S=(A+T)/2,E=S,L=S,C=Math.abs(T-S),z=S-C*f*1.0001,D=S+C*f*1.0001;n(l,f),l.setScale();var I,P,O=Math.abs(l._m);for(P=0;P&lt;l._min.length;P++)(I=l._min[P].val-l._min[P].pad/O)&gt;z&amp;&amp;I&lt;E&amp;&amp;(E=I);for(P=0;P&lt;l._max.length;P++)(I=l._max[P].val+l._max[P].pad/O)&lt;D&amp;&amp;I&gt;L&amp;&amp;(L=I);f/=(L-E)/(2*C),E=l.l2r(E),L=l.l2r(L),l.range=l._input.range=A&lt;T?[E,L]:[L,E]}n(l,f)}}},r.clean=function(t,e){if(e._inputDomain){for(var r=!1,n=e._id,i=t._fullLayout._axisConstraintGroups,a=0;a&lt;i.length;a++)if(i[a][n]){r=!0;break}r&amp;&amp;&quot;domain&quot;===e.constrain||(e._input.domain=e.domain=e._inputDomain,delete e._inputDomain)}}},{&quot;../../constants/alignment&quot;:716,&quot;../../constants/numerical&quot;:721,&quot;./axis_ids&quot;:792,&quot;./scale_zoom&quot;:806}],797:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,n){var i=t.draglayer.selectAll(&quot;.&quot;+r).data([0]);return i.enter().append(e).classed(&quot;drag&quot;,!0).classed(r,!0).style({fill:&quot;transparent&quot;,&quot;stroke-width&quot;:0}).attr(&quot;data-subplot&quot;,t.id),i.call(S,n),i.node()}function i(t,e,r,i,a,o,s){var l=n(t,&quot;rect&quot;,e,r);return y.select(l).call(A.setRect,i,a,o,s),l}function a(t,e){for(var r=0;r&lt;t.length;r++)if(!t[r].fixedrange)return e;return&quot;&quot;}function o(t,e,r,n,i){var a,s,l,c;for(a=0;a&lt;t.length;a++)(s=t[a]).fixedrange||(l=s._rl[0],c=s._rl[1]-l,s.range=[s.l2r(l+c*e),s.l2r(l+c*r)],n[s._name+&quot;.range[0]&quot;]=s.range[0],n[s._name+&quot;.range[1]&quot;]=s.range[1]);if(i&amp;&amp;i.length){var u=(e+(1-r))/2;o(i,u,1-u,n)}}function s(t,e){for(var r=0;r&lt;t.length;r++){var n=t[r];n.fixedrange||(n.range=[n.l2r(n._rl[0]-e/n._m),n.l2r(n._rl[1]-e/n._m)])}}function l(t,e,r,n,i){return t.append(&quot;path&quot;).attr(&quot;class&quot;,&quot;zoombox&quot;).style({fill:e&gt;.2?&quot;rgba(0,0,0,0)&quot;:&quot;rgba(255,255,255,0)&quot;,&quot;stroke-width&quot;:0}).attr(&quot;transform&quot;,&quot;translate(&quot;+r+&quot;, &quot;+n+&quot;)&quot;).attr(&quot;d&quot;,i+&quot;Z&quot;)}function c(t,e,r){return t.append(&quot;path&quot;).attr(&quot;class&quot;,&quot;zoombox-corners&quot;).style({fill:k.background,stroke:k.defaultLine,&quot;stroke-width&quot;:1,opacity:0}).attr(&quot;transform&quot;,&quot;translate(&quot;+e+&quot;, &quot;+r+&quot;)&quot;).attr(&quot;d&quot;,&quot;M0,0Z&quot;)}function u(t){t.selectAll(&quot;.select-outline&quot;).remove()}function f(t,e,r,n,i,a){t.attr(&quot;d&quot;,n+&quot;M&quot;+r.l+&quot;,&quot;+r.t+&quot;v&quot;+r.h+&quot;h&quot;+r.w+&quot;v-&quot;+r.h+&quot;h-&quot;+r.w+&quot;Z&quot;),h(t,e,i,a)}function h(t,e,r,n){r||(t.transition().style(&quot;fill&quot;,n&gt;.2?&quot;rgba(0,0,0,0.4)&quot;:&quot;rgba(255,255,255,0.3)&quot;).duration(200),e.transition().style(&quot;opacity&quot;,1).duration(200))}function d(t){y.select(t).selectAll(&quot;.zoombox,.js-zoombox-backdrop,.js-zoombox-menu,.zoombox-corners&quot;).remove()}function p(t){j&amp;&amp;t.data&amp;&amp;t._context.showTips&amp;&amp;(w.notifier(w._(t,&quot;Double-click to zoom back out&quot;),&quot;long&quot;),j=!1)}function m(t){return&quot;lasso&quot;===t||&quot;select&quot;===t}function g(t){var e=Math.floor(Math.min(t.b-t.t,t.r-t.l,R)/2);return&quot;M&quot;+(t.l-3.5)+&quot;,&quot;+(t.t-.5+e)+&quot;h3v&quot;+-e+&quot;h&quot;+e+&quot;v-3h-&quot;+(e+3)+&quot;ZM&quot;+(t.r+3.5)+&quot;,&quot;+(t.t-.5+e)+&quot;h-3v&quot;+-e+&quot;h&quot;+-e+&quot;v-3h&quot;+(e+3)+&quot;ZM&quot;+(t.r+3.5)+&quot;,&quot;+(t.b+.5-e)+&quot;h-3v&quot;+e+&quot;h&quot;+-e+&quot;v3h&quot;+(e+3)+&quot;ZM&quot;+(t.l-3.5)+&quot;,&quot;+(t.b+.5-e)+&quot;h3v&quot;+e+&quot;h&quot;+e+&quot;v3h-&quot;+(e+3)+&quot;Z&quot;}function v(t,e){if(N){var r=void 0!==t.onwheel?&quot;wheel&quot;:&quot;mousewheel&quot;;t._onwheel&amp;&amp;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&amp;&amp;(t.onmousewheel=e)}var y=t(&quot;d3&quot;),x=t(&quot;tinycolor2&quot;),b=t(&quot;../../plotly&quot;),_=t(&quot;../../registry&quot;),w=t(&quot;../../lib&quot;),M=t(&quot;../../lib/svg_text_utils&quot;),k=t(&quot;../../components/color&quot;),A=t(&quot;../../components/drawing&quot;),T=t(&quot;../../components/fx&quot;),S=t(&quot;../../lib/setcursor&quot;),E=t(&quot;../../components/dragelement&quot;),L=t(&quot;../../constants/alignment&quot;).FROM_TL,C=t(&quot;../plots&quot;),z=t(&quot;./axes&quot;).doTicks,D=t(&quot;./axis_ids&quot;).getFromId,I=t(&quot;./select&quot;),P=t(&quot;./scale_zoom&quot;),O=t(&quot;./constants&quot;),F=O.MINDRAG,R=O.MINZOOM,N=w.eventListenerOptionsSupported(),j=!0;e.exports={makeDragBox:function(t,e,r,n,h,k,S,N){function j(){X=[e.xaxis],Z=[e.yaxis];var r=X[0],n=Z[0];Q=r._length,$=n._length;var i=ot._axisConstraintGroups,o=[r._id],s=[n._id];W=[e].concat(S&amp;&amp;N?e.overlays:[]);for(var l=1;l&lt;W.length;l++){var c=W[l].xaxis,u=W[l].yaxis;-1===X.indexOf(c)&amp;&amp;(X.push(c),o.push(c._id)),-1===Z.indexOf(u)&amp;&amp;(Z.push(u),s.push(u._id))}tt=a(X,N),et=a(Z,S),rt=function(t,e){return t?&quot;nsew&quot;===t?&quot;pan&quot;===e?&quot;move&quot;:&quot;crosshair&quot;:t.toLowerCase()+&quot;-resize&quot;:&quot;pointer&quot;}(et+tt,ot.dragmode),J=r._offset,K=n._offset;var f=function(t,e,r){var n,i,a,o,s,l,c=!1,u={},f={};for(n=0;n&lt;t.length;n++){for(o=t[n],i=0;i&lt;e.length;i++)if(o[e[i]]){for(s in o)-1===(&quot;x&quot;===s.charAt(0)?e:r).indexOf(s)&amp;&amp;(u[s]=1);for(a=0;a&lt;r.length;a++)o[r[a]]&amp;&amp;(c=!0)}for(i=0;i&lt;r.length;i++)if(o[r[i]])for(l in o)-1===(&quot;x&quot;===l.charAt(0)?e:r).indexOf(l)&amp;&amp;(f[l]=1)}return c&amp;&amp;(w.extendFlat(u,f),f={}),{x:u,y:f,xy:c}}(i,o,s);nt=f.xy,it=[];for(var h in f.x)it.push(D(t,h));at=[];for(var d in f.y)at.push(D(t,d))}function B(e,r){function n(){xt=&quot;&quot;,mt.r=mt.l,mt.t=mt.b,_t.attr(&quot;d&quot;,&quot;M0,0Z&quot;)}if(t._transitioningWithDuration)return!1;var i=Math.max(0,Math.min(Q,e+dt)),a=Math.max(0,Math.min($,r+pt)),o=Math.abs(i-dt),s=Math.abs(a-pt);mt.l=Math.min(dt,i),mt.r=Math.max(dt,i),mt.t=Math.min(pt,a),mt.b=Math.max(pt,a),nt?o&gt;R||s&gt;R?(xt=&quot;xy&quot;,o/Q&gt;s/$?(s=o*$/Q,pt&gt;a?mt.t=pt-s:mt.b=pt+s):(o=s*Q/$,dt&gt;i?mt.l=dt-o:mt.r=dt+o),_t.attr(&quot;d&quot;,g(mt))):n():!et||s&lt;Math.min(Math.max(.6*o,F),R)?o&lt;F?n():(mt.t=0,mt.b=$,xt=&quot;x&quot;,_t.attr(&quot;d&quot;,function(t,e){return&quot;M&quot;+(t.l-.5)+&quot;,&quot;+(e-R-.5)+&quot;h-3v&quot;+(2*R+1)+&quot;h3ZM&quot;+(t.r+.5)+&quot;,&quot;+(e-R-.5)+&quot;h3v&quot;+(2*R+1)+&quot;h-3Z&quot;}(mt,pt))):!tt||o&lt;Math.min(.6*s,R)?(mt.l=0,mt.r=Q,xt=&quot;y&quot;,_t.attr(&quot;d&quot;,function(t,e){return&quot;M&quot;+(e-R-.5)+&quot;,&quot;+(t.t-.5)+&quot;v-3h&quot;+(2*R+1)+&quot;v3ZM&quot;+(e-R-.5)+&quot;,&quot;+(t.b+.5)+&quot;v3h&quot;+(2*R+1)+&quot;v-3Z&quot;}(mt,dt))):(xt=&quot;xy&quot;,_t.attr(&quot;d&quot;,g(mt))),mt.w=mt.r-mt.l,mt.h=mt.b-mt.t,f(bt,_t,mt,vt,yt,gt),yt=!0}function U(){if(Math.min(mt.h,mt.w)&lt;2*F)return d(t);&quot;xy&quot;!==xt&amp;&amp;&quot;x&quot;!==xt||o(X,mt.l/Q,mt.r/Q,wt,it),&quot;xy&quot;!==xt&amp;&amp;&quot;y&quot;!==xt||o(Z,($-mt.b)/$,($-mt.t)/$,wt,at),d(t),G(),p(t)}function V(e){function r(t,e,r){if(!t.fixedrange){var n=w.simpleMap(t.range,t.r2l),i=n[0]+(n[1]-n[0])*e;t.range=n.map(function(e){return t.l2r(i+(e-i)*r)})}}if(t._context.scrollZoom||ot._enablescrollzoom){if(t._transitioningWithDuration)return w.pauseEvent(e);var n=t.querySelector(&quot;.plotly&quot;);if(j(),!(n.scrollHeight-n.clientHeight&gt;10||n.scrollWidth-n.clientWidth&gt;10)){clearTimeout(kt);var i=-e.deltaY;if(isFinite(i)||(i=e.wheelDelta/10),isFinite(i)){var a,o=Math.exp(-Math.min(Math.max(i,-20),20)/200),s=Tt.draglayer.select(&quot;.nsewdrag&quot;).node().getBoundingClientRect(),l=(e.clientX-s.left)/s.width,c=(s.bottom-e.clientY)/s.height;if(N||nt){for(N||(l=.5),a=0;a&lt;X.length;a++)r(X[a],l,o);Mt[2]*=o,Mt[0]+=Mt[2]*l*(1/o-1)}if(S||nt){for(S||(c=.5),a=0;a&lt;Z.length;a++)r(Z[a],c,o);Mt[3]*=o,Mt[1]+=Mt[3]*(1-c)*(1/o-1)}return Y(Mt),H(S,N),kt=setTimeout(function(){Mt=[0,0,Q,$],G()},At),w.pauseEvent(e)}w.log(&quot;Did not find wheel motion attributes: &quot;,e)}}}function q(e,r){function n(t,e,r){for(var n,i,a=1-e,o=0;o&lt;t.length;o++){var s=t[o];if(!s.fixedrange){n=s,i=s._rl[a]+(s._rl[e]-s._rl[a])/function(t){return 1-(t&gt;=0?Math.min(t,.9):1/(1/Math.max(t,-.3)+3.222))}(r/s._length);var l=s.l2r(i);!1!==l&amp;&amp;void 0!==l&amp;&amp;(s.range[e]=l)}}return n._length*(n._rl[e]-i)/(n._rl[e]-n._rl[a])}if(!t._transitioningWithDuration){if(j(),&quot;ew&quot;===tt||&quot;ns&quot;===et)return tt&amp;&amp;s(X,e),et&amp;&amp;s(Z,r),Y([tt?-e:0,et?-r:0,Q,$]),void H(et,tt);if(nt&amp;&amp;tt&amp;&amp;et){var i=&quot;w&quot;===tt==(&quot;n&quot;===et)?1:-1,a=(e/Q+i*r/$)/2;e=a*Q,r=i*a*$}&quot;w&quot;===tt?e=n(X,0,e):&quot;e&quot;===tt?e=n(X,1,-e):tt||(e=0),&quot;n&quot;===et?r=n(Z,1,r):&quot;s&quot;===et?r=n(Z,0,-r):et||(r=0);var o=&quot;w&quot;===tt?e:0,l=&quot;n&quot;===et?r:0;if(nt){var c;if(!tt&amp;&amp;1===et.length){for(c=0;c&lt;X.length;c++)X[c].range=X[c]._r.slice(),P(X[c],1-r/$);o=(e=r*Q/$)/2}if(!et&amp;&amp;1===tt.length){for(c=0;c&lt;Z.length;c++)Z[c].range=Z[c]._r.slice(),P(Z[c],1-e/Q);l=(r=e*$/Q)/2}}Y([o,l,Q-e,$-r]),H(et,tt)}}function H(e,r){function n(t){for(a=0;a&lt;t.length;a++)t[a].fixedrange||o.push(t[a]._id)}function i(n,i,s){for(a=0;a&lt;n.length;a++){var l=n[a];if((r&amp;&amp;-1!==o.indexOf(l.xref)||e&amp;&amp;-1!==o.indexOf(l.yref))&amp;&amp;(i(t,a),s))return}}var a,o=[];for((r||nt)&amp;&amp;(n(X),n(it)),(e||nt)&amp;&amp;(n(Z),n(at)),wt={},a=0;a&lt;o.length;a++){var s=o[a];z(t,s,!0);var l=D(t,s);wt[l._name+&quot;.range[0]&quot;]=l.range[0],wt[l._name+&quot;.range[1]&quot;]=l.range[1]}i(ot.annotations||[],_.getComponentMethod(&quot;annotations&quot;,&quot;drawOne&quot;)),i(ot.shapes||[],_.getComponentMethod(&quot;shapes&quot;,&quot;drawOne&quot;)),i(ot.images||[],_.getComponentMethod(&quot;images&quot;,&quot;draw&quot;),!0)}function G(){Y([0,0,Q,$]),w.syncOrAsync([C.previousPromises,function(){b.relayout(t,wt)}],t)}function Y(t){function e(t){return t.fixedrange?0:d&amp;&amp;-1!==it.indexOf(t)?f:p&amp;&amp;-1!==(nt?it:at).indexOf(t)?h:0}function r(t,e){return e?(t.range=t._r.slice(),P(t,e),n(t,e)):0}function n(t,e){return t._length*(1-e)*L[t.constraintoward||&quot;middle&quot;]}var i,a,o,s,l,c=ot._plots,u=Object.keys(c),f=t[2]/X[0]._length,h=t[3]/Z[0]._length,d=N||nt,p=S||nt;for(ot._glcanvas&amp;&amp;ot._glcanvas.size()&amp;&amp;ot._glcanvas.each(function(t){t.regl&amp;&amp;t.regl.clear({color:!0})}),i=0;i&lt;u.length;i++){var m=c[u[i]],g=m.xaxis,v=m.yaxis,y=d&amp;&amp;!g.fixedrange&amp;&amp;-1!==X.indexOf(g),x=p&amp;&amp;!v.fixedrange&amp;&amp;-1!==Z.indexOf(v);if(m._scene&amp;&amp;m._scene.update){var b=w.simpleMap(g.range,g.r2l),_=w.simpleMap(v.range,v.r2l);m._scene.update({range:[b[0],_[0],b[1],_[1]]})}if(y?(a=f,s=N?t[0]:n(g,a)):s=r(g,a=e(g)),x?(o=h,l=S?t[1]:n(v,o)):l=r(v,o=e(v)),a||o){a||(a=1),o||(o=1);var M=g._offset-s/a,k=v._offset-l/o;ot._defs.select(&quot;#&quot;+m.clipId+&quot;&gt; rect&quot;).call(A.setTranslate,s,l).call(A.setScale,a,o);var T=m.plot.selectAll(&quot;.scatterlayer .trace, .boxlayer .trace, .violinlayer .trace&quot;);m.plot.call(A.setTranslate,M,k).call(A.setScale,1/a,1/o),T.selectAll(&quot;.point&quot;).call(A.setPointGroupScale,a,o),T.selectAll(&quot;.textpoint&quot;).call(A.setTextPointsScale,a,o),T.call(A.hideOutsideRangePoints,m)}}}var W,X,Z,J,K,Q,$,tt,et,rt,nt,it,at,ot=t._fullLayout,st=t._fullLayout._zoomlayer,lt=S+N===&quot;nsew&quot;,ct=1===(S+N).length;j();var ut=i(e,S+N+&quot;drag&quot;,rt,r,n,h,k),ft=!et&amp;&amp;!tt;if(ft&amp;&amp;!lt)return ut.onmousedown=null,ut.style.pointerEvents=&quot;none&quot;,ut;var ht={element:ut,gd:t,plotinfo:e,prepFn:function(e,r,n){var i=t._fullLayout.dragmode;ft||(lt?e.shiftKey?&quot;pan&quot;===i?i=&quot;zoom&quot;:m(i)||(i=&quot;pan&quot;):e.ctrlKey&amp;&amp;(i=&quot;pan&quot;):i=&quot;pan&quot;),ht.minDrag=&quot;lasso&quot;===i?1:void 0,m(i)?(ht.xaxes=X,ht.yaxes=Z,I(e,r,n,ht,i)):ft?u(st):&quot;zoom&quot;===i?(ht.moveFn=B,ht.doneFn=U,ht.minDrag=1,function(e,r,n){var i=ut.getBoundingClientRect();dt=r-i.left,pt=n-i.top,mt={l:dt,r:dt,w:0,t:pt,b:pt,h:0},gt=t._hmpixcount?t._hmlumcount/t._hmpixcount:x(t._fullLayout.plot_bgcolor).getLuminance(),yt=!1,xt=&quot;xy&quot;,bt=l(st,gt,J,K,vt=&quot;M0,0H&quot;+Q+&quot;V&quot;+$+&quot;H0V0&quot;),_t=c(st,J,K),u(st)}(0,r,n)):&quot;pan&quot;===i&amp;&amp;(ht.moveFn=q,ht.doneFn=G,u(st))},clickFn:function(r,n){if(d(t),2!==r||ct||function(){if(!t._transitioningWithDuration){var e,r,n,i=t._context.doubleClick,a=(tt?X:[]).concat(et?Z:[]),o={};if(&quot;reset+autosize&quot;===i)for(i=&quot;autosize&quot;,r=0;r&lt;a.length;r++)if((e=a[r])._rangeInitial&amp;&amp;(e.range[0]!==e._rangeInitial[0]||e.range[1]!==e._rangeInitial[1])||!e._rangeInitial&amp;&amp;!e.autorange){i=&quot;reset&quot;;break}if(&quot;autosize&quot;===i)for(r=0;r&lt;a.length;r++)(e=a[r]).fixedrange||(o[e._name+&quot;.autorange&quot;]=!0);else if(&quot;reset&quot;===i)for((tt||nt)&amp;&amp;(a=a.concat(it)),et&amp;&amp;!nt&amp;&amp;(a=a.concat(at)),nt&amp;&amp;(tt?et||(a=a.concat(Z)):a=a.concat(X)),r=0;r&lt;a.length;r++)(e=a[r])._rangeInitial?(n=e._rangeInitial,o[e._name+&quot;.range[0]&quot;]=n[0],o[e._name+&quot;.range[1]&quot;]=n[1]):o[e._name+&quot;.autorange&quot;]=!0;t.emit(&quot;plotly_doubleclick&quot;,null),b.relayout(t,o)}}(),lt)T.click(t,n,e.id);else if(1===r&amp;&amp;ct){var i=S?Z[0]:X[0],a=&quot;s&quot;===S||&quot;w&quot;===N?0:1,o=i._name+&quot;.range[&quot;+a+&quot;]&quot;,s=function(t,e){var r,n=t.range[e],i=Math.abs(n-t.range[1-e]);return&quot;date&quot;===t.type?n:&quot;log&quot;===t.type?(r=Math.ceil(Math.max(0,-Math.log(i)/Math.LN10))+3,y.format(&quot;.&quot;+r+&quot;g&quot;)(Math.pow(10,n))):(r=Math.floor(Math.log(Math.abs(n))/Math.LN10)-Math.floor(Math.log(i)/Math.LN10)+4,y.format(&quot;.&quot;+String(r)+&quot;g&quot;)(n))}(i,a),l=&quot;left&quot;,c=&quot;middle&quot;;if(i.fixedrange)return;S?(c=&quot;n&quot;===S?&quot;top&quot;:&quot;bottom&quot;,&quot;right&quot;===i.side&amp;&amp;(l=&quot;right&quot;)):&quot;e&quot;===N&amp;&amp;(l=&quot;right&quot;),t._context.showAxisRangeEntryBoxes&amp;&amp;y.select(ut).call(M.makeEditable,{gd:t,immediate:!0,background:ot.paper_bgcolor,text:String(s),fill:i.tickfont?i.tickfont.color:&quot;#444&quot;,horizontalAlign:l,verticalAlign:c}).on(&quot;edit&quot;,function(e){var r=i.d2r(e);void 0!==r&amp;&amp;b.relayout(t,o,r)})}}};E.init(ht);var dt,pt,mt,gt,vt,yt,xt,bt,_t,wt={},Mt=[0,0,Q,$],kt=null,At=O.REDRAWDELAY,Tt=e.mainplot?ot._plots[e.mainplot]:e;return S.length*N.length!=1&amp;&amp;v(ut,V),ut},makeDragger:n,makeRectDragger:i,makeZoombox:l,makeCorners:c,updateZoombox:f,xyCorners:g,transitionZoombox:h,removeZoombox:d,clearSelect:u,showDoubleClickNotifier:p,attachWheelEventHandler:v}},{&quot;../../components/color&quot;:618,&quot;../../components/dragelement&quot;:640,&quot;../../components/drawing&quot;:643,&quot;../../components/fx&quot;:660,&quot;../../constants/alignment&quot;:716,&quot;../../lib&quot;:743,&quot;../../lib/setcursor&quot;:762,&quot;../../lib/svg_text_utils&quot;:766,&quot;../../plotly&quot;:784,&quot;../../registry&quot;:873,&quot;../plots&quot;:852,&quot;./axes&quot;:789,&quot;./axis_ids&quot;:792,&quot;./constants&quot;:794,&quot;./scale_zoom&quot;:806,&quot;./select&quot;:807,d3:128,tinycolor2:546}],798:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../components/fx&quot;),i=t(&quot;../../components/dragelement&quot;),a=t(&quot;./constants&quot;),o=t(&quot;./dragbox&quot;).makeDragBox;e.exports=function(t){var e=t._fullLayout;if((e._has(&quot;cartesian&quot;)||e._has(&quot;gl2d&quot;))&amp;&amp;!t._context.staticPlot){Object.keys(e._plots||{}).sort(function(t,r){if((e._plots[t].mainplot&amp;&amp;!0)===(e._plots[r].mainplot&amp;&amp;!0)){var n=t.split(&quot;y&quot;),i=r.split(&quot;y&quot;);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 s=e._plots[r],l=s.xaxis,c=s.yaxis,u=a.DRAGGERSIZE;if(!s.mainplot){var f=o(t,s,l._offset,c._offset,l._length,c._length,&quot;ns&quot;,&quot;ew&quot;);f.onmousemove=function(e){t._fullLayout._rehover=function(){t._fullLayout._hoversubplot===r&amp;&amp;n.hover(t,e,r)},n.hover(t,e,r),t._fullLayout._lasthover=f,t._fullLayout._hoversubplot=r},f.onmouseout=function(e){t._dragging||(t._fullLayout._hoversubplot=null,i.unhover(t,e))},t._context.showAxisDragHandles&amp;&amp;(o(t,s,l._offset-u,c._offset-u,u,u,&quot;n&quot;,&quot;w&quot;),o(t,s,l._offset+l._length,c._offset-u,u,u,&quot;n&quot;,&quot;e&quot;),o(t,s,l._offset-u,c._offset+c._length,u,u,&quot;s&quot;,&quot;w&quot;),o(t,s,l._offset+l._length,c._offset+c._length,u,u,&quot;s&quot;,&quot;e&quot;))}if(t._context.showAxisDragHandles){if(r===l._mainSubplot){var h=l._mainLinePosition;&quot;top&quot;===l.side&amp;&amp;(h-=u),o(t,s,l._offset+.1*l._length,h,.8*l._length,u,&quot;&quot;,&quot;ew&quot;),o(t,s,l._offset,h,.1*l._length,u,&quot;&quot;,&quot;w&quot;),o(t,s,l._offset+.9*l._length,h,.1*l._length,u,&quot;&quot;,&quot;e&quot;)}if(r===c._mainSubplot){var d=c._mainLinePosition;&quot;right&quot;!==c.side&amp;&amp;(d-=u),o(t,s,d,c._offset+.1*c._length,u,.8*c._length,&quot;ns&quot;,&quot;&quot;),o(t,s,d,c._offset+.9*c._length,u,.1*c._length,&quot;s&quot;,&quot;&quot;),o(t,s,d,c._offset,u,.1*c._length,&quot;n&quot;,&quot;&quot;)}}});var r=e._hoverlayer.node();r.onmousemove=function(r){r.target=e._lasthover,n.hover(t,r,e._hoversubplot)},r.onclick=function(r){r.target=e._lasthover,n.click(t,r)},r.onmousedown=function(t){e._lasthover.onmousedown(t)}}}},{&quot;../../components/dragelement&quot;:640,&quot;../../components/fx&quot;:660,&quot;./constants&quot;:794,&quot;./dragbox&quot;:797}],799:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../registry&quot;),i=t(&quot;../../lib&quot;);e.exports=function(t){return function(e,r){var a=e[t];if(Array.isArray(a))for(var o=n.subplotsRegistry.cartesian,s=o.idRegex,l=r._subplots,c=l.xaxis,u=l.yaxis,f=l.cartesian,h=r._has(&quot;cartesian&quot;)||r._has(&quot;gl2d&quot;),d=0;d&lt;a.length;d++){var p=a[d];if(i.isPlainObject(p)){var m=p.xref,g=p.yref,v=s.x.test(m),y=s.y.test(g);if(v||y){h||i.pushUnique(r._basePlotModules,o);var x=!1;v&amp;&amp;-1===c.indexOf(m)&amp;&amp;(c.push(m),x=!0),y&amp;&amp;-1===u.indexOf(g)&amp;&amp;(u.push(g),x=!0),x&amp;&amp;v&amp;&amp;y&amp;&amp;f.push(m+g)}}}}}},{&quot;../../lib&quot;:743,&quot;../../registry&quot;:873}],800:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,n,i){var a=t._fullLayout._modules;e.plot&amp;&amp;e.plot.selectAll(&quot;g:not(.scatterlayer)&quot;).selectAll(&quot;g.trace&quot;).remove();for(var o=0;o&lt;a.length;o++){var s=a[o];if(&quot;cartesian&quot;===s.basePlotModule.name){var l=u(r,s);s.plot&amp;&amp;s.plot(t,e,l,n,i)}}}function i(t){var e=t.plotgroup,r=t.id,n=h.layerValue2layerClass[t.xaxis.layer],i=h.layerValue2layerClass[t.yaxis.layer];if(t.mainplot){var a=t.mainplotinfo,s=a.plotgroup,l=r+&quot;-x&quot;,c=r+&quot;-y&quot;;t.gridlayer=a.gridlayer,t.zerolinelayer=a.zerolinelayer,o(a.overlinesBelow,&quot;path&quot;,l),o(a.overlinesBelow,&quot;path&quot;,c),o(a.overaxesBelow,&quot;g&quot;,l),o(a.overaxesBelow,&quot;g&quot;,c),t.plot=o(a.overplot,&quot;g&quot;,r),o(a.overlinesAbove,&quot;path&quot;,l),o(a.overlinesAbove,&quot;path&quot;,c),o(a.overaxesAbove,&quot;g&quot;,l),o(a.overaxesAbove,&quot;g&quot;,c),t.xlines=s.select(&quot;.overlines-&quot;+n).select(&quot;.&quot;+l),t.ylines=s.select(&quot;.overlines-&quot;+i).select(&quot;.&quot;+c),t.xaxislayer=s.select(&quot;.overaxes-&quot;+n).select(&quot;.&quot;+l),t.yaxislayer=s.select(&quot;.overaxes-&quot;+i).select(&quot;.&quot;+c)}else{var u=o(e,&quot;g&quot;,&quot;layer-subplot&quot;);t.shapelayer=o(u,&quot;g&quot;,&quot;shapelayer&quot;),t.imagelayer=o(u,&quot;g&quot;,&quot;imagelayer&quot;),t.gridlayer=o(e,&quot;g&quot;,&quot;gridlayer&quot;),t.zerolinelayer=o(e,&quot;g&quot;,&quot;zerolinelayer&quot;),o(e,&quot;path&quot;,&quot;xlines-below&quot;),o(e,&quot;path&quot;,&quot;ylines-below&quot;),t.overlinesBelow=o(e,&quot;g&quot;,&quot;overlines-below&quot;),o(e,&quot;g&quot;,&quot;xaxislayer-below&quot;),o(e,&quot;g&quot;,&quot;yaxislayer-below&quot;),t.overaxesBelow=o(e,&quot;g&quot;,&quot;overaxes-below&quot;),t.plot=o(e,&quot;g&quot;,&quot;plot&quot;),t.overplot=o(e,&quot;g&quot;,&quot;overplot&quot;),o(e,&quot;path&quot;,&quot;xlines-above&quot;),o(e,&quot;path&quot;,&quot;ylines-above&quot;),t.overlinesAbove=o(e,&quot;g&quot;,&quot;overlines-above&quot;),o(e,&quot;g&quot;,&quot;xaxislayer-above&quot;),o(e,&quot;g&quot;,&quot;yaxislayer-above&quot;),t.overaxesAbove=o(e,&quot;g&quot;,&quot;overaxes-above&quot;),t.xlines=e.select(&quot;.xlines-&quot;+n),t.ylines=e.select(&quot;.ylines-&quot;+i),t.xaxislayer=e.select(&quot;.xaxislayer-&quot;+n),t.yaxislayer=e.select(&quot;.yaxislayer-&quot;+i)}o(t.gridlayer,&quot;g&quot;,t.xaxis._id,t.xaxis._id),o(t.gridlayer,&quot;g&quot;,t.yaxis._id,t.yaxis._id),t.gridlayer.selectAll(&quot;g&quot;).sort(f.idSort);for(var d=0;d&lt;h.traceLayerClasses.length;d++)o(t.plot,&quot;g&quot;,h.traceLayerClasses[d]);t.xlines.style(&quot;fill&quot;,&quot;none&quot;).classed(&quot;crisp&quot;,!0),t.ylines.style(&quot;fill&quot;,&quot;none&quot;).classed(&quot;crisp&quot;,!0)}function a(t,e){if(t){var r={};t.each(function(t){var n=s.select(this),i=&quot;clip&quot;+e._uid+t+&quot;plot&quot;;n.remove(),e._draggers.selectAll(&quot;g.&quot;+t).remove(),e._defs.select(&quot;#&quot;+i).remove(),r[t]=!0});for(var n=e._plots,i=Object.keys(n),a=0;a&lt;i.length;a++)for(var o=n[i[a]].overlays||[],l=0;l&lt;o.length;l++){var c=o[l];r[c.id]&amp;&amp;c.plot.selectAll(&quot;.trace&quot;).remove()}}}function o(t,e,r,n){var i=t.selectAll(&quot;.&quot;+r).data([n||0]);return i.enter().append(e).classed(r,!0),i}var s=t(&quot;d3&quot;),l=t(&quot;../../lib&quot;),c=t(&quot;../plots&quot;),u=t(&quot;../get_data&quot;).getModuleCalcData,f=t(&quot;./axis_ids&quot;),h=t(&quot;./constants&quot;),d=t(&quot;../../constants/xmlns_namespaces&quot;);r.name=&quot;cartesian&quot;,r.attr=[&quot;xaxis&quot;,&quot;yaxis&quot;],r.idRoot=[&quot;x&quot;,&quot;y&quot;],r.idRegex=h.idRegex,r.attrRegex=h.attrRegex,r.attributes=t(&quot;./attributes&quot;),r.layoutAttributes=t(&quot;./layout_attributes&quot;),r.supplyLayoutDefaults=t(&quot;./layout_defaults&quot;),r.transitionAxes=t(&quot;./transition_axes&quot;),r.finalizeSubplots=function(t,e){var r,n,i,a=e._subplots,o=a.xaxis,s=a.yaxis,c=a.cartesian,u=c.concat(a.gl2d||[]),d={},p={};for(r=0;r&lt;u.length;r++){var m=u[r].split(&quot;y&quot;);d[m[0]]=1,p[&quot;y&quot;+m[1]]=1}for(r=0;r&lt;o.length;r++)d[n=o[r]]||(i=(t[f.id2name(n)]||{}).anchor,h.idRegex.y.test(i)||(i=&quot;y&quot;),c.push(n+i),u.push(n+i),p[i]||(p[i]=1,l.pushUnique(s,i)));for(r=0;r&lt;s.length;r++)p[i=s[r]]||(n=(t[f.id2name(i)]||{}).anchor,h.idRegex.x.test(n)||(n=&quot;x&quot;),c.push(n+i),u.push(n+i),d[n]||(d[n]=1,l.pushUnique(o,n)));if(!u.length){var g=Object.keys(t);for(n=&quot;&quot;,i=&quot;&quot;,r=0;r&lt;g.length;r++){var v=g[r];if(h.attrRegex.test(v)){&quot;x&quot;===v.charAt(0)?(!n||+v.substr(5)&lt;+n.substr(5))&amp;&amp;(n=v):(!i||+v.substr(5)&lt;+i.substr(5))&amp;&amp;(i=v)}}n=n?f.name2id(n):&quot;x&quot;,i=i?f.name2id(i):&quot;y&quot;,o.push(n),s.push(i),c.push(n+i)}},r.plot=function(t,e,r,i){var a,o=t._fullLayout,s=o._subplots.cartesian,l=t.calcdata;if(!Array.isArray(e))for(e=[],a=0;a&lt;l.length;a++)e.push(a);for(o._glcanvas&amp;&amp;o._glcanvas.size()&amp;&amp;o._glcanvas.each(function(t){t.regl&amp;&amp;t.regl.clear({color:!0})}),a=0;a&lt;s.length;a++){for(var c,u=s[a],f=o._plots[u],h=[],d=0;d&lt;l.length;d++){var p=l[d],m=p[0].trace;m.xaxis+m.yaxis===u&amp;&amp;((-1!==e.indexOf(m.index)||m.carpet)&amp;&amp;(c&amp;&amp;c[0].trace.xaxis+c[0].trace.yaxis===u&amp;&amp;-1!==[&quot;tonextx&quot;,&quot;tonexty&quot;,&quot;tonext&quot;].indexOf(m.fill)&amp;&amp;-1===h.indexOf(c)&amp;&amp;h.push(c),h.push(p)),c=p)}n(t,f,h,r,i)}},r.clean=function(t,e,r,n){var i,o,s,l,c,u,f,h,d=n._modules||[],p=e._modules||[];for(c=0;c&lt;d.length;c++){&quot;scatter&quot;===d[c].name&amp;&amp;(i=!0);break}for(c=0;c&lt;p.length;c++)if(&quot;scatter&quot;===p[c].name){o=!0;break}for(c=0;c&lt;d.length;c++){&quot;scattergl&quot;===d[c].name&amp;&amp;(s=!0);break}for(c=0;c&lt;p.length;c++)if(&quot;scattergl&quot;===p[c].name){l=!0;break}if(i&amp;&amp;!o){for(u=n._plots,f=Object.keys(u||{}),c=0;c&lt;f.length;c++)(h=u[f[c]]).plot&amp;&amp;h.plot.select(&quot;g.scatterlayer&quot;).selectAll(&quot;g.trace&quot;).remove();n._infolayer.selectAll(&quot;g.rangeslider-container&quot;).select(&quot;g.scatterlayer&quot;).selectAll(&quot;g.trace&quot;).remove()}if(s&amp;&amp;!l)for(u=n._plots,f=Object.keys(u||{}),c=0;c&lt;f.length;c++)(h=u[f[c]])._scene&amp;&amp;h._scene.destroy();var m=n._subplots||{},g=e._subplots||{xaxis:[],yaxis:[]};if(m.xaxis&amp;&amp;m.yaxis){var v=m.xaxis.concat(m.yaxis),y=g.xaxis.concat(g.yaxis);for(c=0;c&lt;v.length;c++)-1===y.indexOf(v[c])&amp;&amp;n._infolayer.selectAll(&quot;.g-&quot;+v[c]+&quot;title&quot;).remove()}var x=n._has&amp;&amp;n._has(&quot;cartesian&quot;),b=e._has&amp;&amp;e._has(&quot;cartesian&quot;);x&amp;&amp;!b&amp;&amp;(a(n._cartesianlayer.selectAll(&quot;.subplot&quot;),n),n._defs.selectAll(&quot;.axesclip&quot;).remove())},r.drawFramework=function(t){var e=t._fullLayout,r=function(t){for(var e=t._fullLayout,r=Object.keys(e._plots),n=[],i=[],a=0;a&lt;r.length;a++){var o=r[a],s=e._plots[o],l=s.xaxis,c=s.yaxis,u=l._mainAxis,f=c._mainAxis,h=u._id+f._id;h!==o&amp;&amp;-1!==r.indexOf(h)?(s.mainplot=h,s.mainplotinfo=e._plots[h],i.push(o)):n.push(o)}return n=n.concat(i)}(t),n=e._cartesianlayer.selectAll(&quot;.subplot&quot;).data(r,l.identity);n.enter().append(&quot;g&quot;).attr(&quot;class&quot;,function(t){return&quot;subplot &quot;+t}),n.order(),n.exit().call(a,e),n.each(function(t){var r=e._plots[t];if(r.plotgroup=s.select(this),r.overlays=[],i(r),r.mainplot){e._plots[r.mainplot].overlays.push(r)}r.draglayer=o(e._draggers,&quot;g&quot;,t)})},r.rangePlot=function(t,e,r){i(e),n(t,e,r),c.style(t)},r.toSVG=function(t){var e=t._fullLayout._glimages,r=s.select(t).selectAll(&quot;.svg-container&quot;);r.filter(function(t,e){return e===r.size()-1}).selectAll(&quot;.gl-canvas-context, .gl-canvas-focus&quot;).each(function(){var t=this.toDataURL(&quot;image/png&quot;);e.append(&quot;svg:image&quot;).attr({xmlns:d.svg,&quot;xlink:href&quot;:t,preserveAspectRatio:&quot;none&quot;,x:0,y:0,width:this.width,height:this.height})})}},{&quot;../../constants/xmlns_namespaces&quot;:723,&quot;../../lib&quot;:743,&quot;../get_data&quot;:826,&quot;../plots&quot;:852,&quot;./attributes&quot;:788,&quot;./axis_ids&quot;:792,&quot;./constants&quot;:794,&quot;./layout_attributes&quot;:801,&quot;./layout_defaults&quot;:802,&quot;./transition_axes&quot;:812,d3:128}],801:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../font_attributes&quot;),i=t(&quot;../../components/color/attributes&quot;),a=t(&quot;../../components/drawing/attributes&quot;).dash,o=t(&quot;../../lib/extend&quot;).extendFlat,s=t(&quot;./constants&quot;);e.exports={visible:{valType:&quot;boolean&quot;,editType:&quot;plot&quot;},color:{valType:&quot;color&quot;,dflt:i.defaultLine,editType:&quot;ticks&quot;},title:{valType:&quot;string&quot;,editType:&quot;ticks&quot;},titlefont:n({editType:&quot;ticks&quot;}),type:{valType:&quot;enumerated&quot;,values:[&quot;-&quot;,&quot;linear&quot;,&quot;log&quot;,&quot;date&quot;,&quot;category&quot;],dflt:&quot;-&quot;,editType:&quot;calc&quot;},autorange:{valType:&quot;enumerated&quot;,values:[!0,!1,&quot;reversed&quot;],dflt:!0,editType:&quot;calc&quot;,impliedEdits:{&quot;range[0]&quot;:void 0,&quot;range[1]&quot;:void 0}},rangemode:{valType:&quot;enumerated&quot;,values:[&quot;normal&quot;,&quot;tozero&quot;,&quot;nonnegative&quot;],dflt:&quot;normal&quot;,editType:&quot;calc&quot;},range:{valType:&quot;info_array&quot;,items:[{valType:&quot;any&quot;,editType:&quot;plot&quot;,impliedEdits:{&quot;^autorange&quot;:!1}},{valType:&quot;any&quot;,editType:&quot;plot&quot;,impliedEdits:{&quot;^autorange&quot;:!1}}],editType:&quot;plot&quot;,impliedEdits:{autorange:!1}},fixedrange:{valType:&quot;boolean&quot;,dflt:!1,editType:&quot;calc&quot;},scaleanchor:{valType:&quot;enumerated&quot;,values:[s.idRegex.x.toString(),s.idRegex.y.toString()],editType:&quot;calc&quot;},scaleratio:{valType:&quot;number&quot;,min:0,dflt:1,editType:&quot;calc&quot;},constrain:{valType:&quot;enumerated&quot;,values:[&quot;range&quot;,&quot;domain&quot;],dflt:&quot;range&quot;,editType:&quot;calc&quot;},constraintoward:{valType:&quot;enumerated&quot;,values:[&quot;left&quot;,&quot;center&quot;,&quot;right&quot;,&quot;top&quot;,&quot;middle&quot;,&quot;bottom&quot;],editType:&quot;calc&quot;},tickmode:{valType:&quot;enumerated&quot;,values:[&quot;auto&quot;,&quot;linear&quot;,&quot;array&quot;],editType:&quot;ticks&quot;,impliedEdits:{tick0:void 0,dtick:void 0}},nticks:{valType:&quot;integer&quot;,min:0,dflt:0,editType:&quot;ticks&quot;},tick0:{valType:&quot;any&quot;,editType:&quot;ticks&quot;,impliedEdits:{tickmode:&quot;linear&quot;}},dtick:{valType:&quot;any&quot;,editType:&quot;ticks&quot;,impliedEdits:{tickmode:&quot;linear&quot;}},tickvals:{valType:&quot;data_array&quot;,editType:&quot;ticks&quot;},ticktext:{valType:&quot;data_array&quot;,editType:&quot;ticks&quot;},ticks:{valType:&quot;enumerated&quot;,values:[&quot;outside&quot;,&quot;inside&quot;,&quot;&quot;],editType:&quot;ticks&quot;},mirror:{valType:&quot;enumerated&quot;,values:[!0,&quot;ticks&quot;,!1,&quot;all&quot;,&quot;allticks&quot;],dflt:!1,editType:&quot;ticks+layoutstyle&quot;},ticklen:{valType:&quot;number&quot;,min:0,dflt:5,editType:&quot;ticks&quot;},tickwidth:{valType:&quot;number&quot;,min:0,dflt:1,editType:&quot;ticks&quot;},tickcolor:{valType:&quot;color&quot;,dflt:i.defaultLine,editType:&quot;ticks&quot;},showticklabels:{valType:&quot;boolean&quot;,dflt:!0,editType:&quot;ticks&quot;},showspikes:{valType:&quot;boolean&quot;,dflt:!1,editType:&quot;modebar&quot;},spikecolor:{valType:&quot;color&quot;,dflt:null,editType:&quot;none&quot;},spikethickness:{valType:&quot;number&quot;,dflt:3,editType:&quot;none&quot;},spikedash:o({},a,{dflt:&quot;dash&quot;,editType:&quot;none&quot;}),spikemode:{valType:&quot;flaglist&quot;,flags:[&quot;toaxis&quot;,&quot;across&quot;,&quot;marker&quot;],dflt:&quot;toaxis&quot;,editType:&quot;none&quot;},spikesnap:{valType:&quot;enumerated&quot;,values:[&quot;data&quot;,&quot;cursor&quot;],dflt:&quot;data&quot;,editType:&quot;none&quot;},tickfont:n({editType:&quot;ticks&quot;}),tickangle:{valType:&quot;angle&quot;,dflt:&quot;auto&quot;,editType:&quot;ticks&quot;},tickprefix:{valType:&quot;string&quot;,dflt:&quot;&quot;,editType:&quot;ticks&quot;},showtickprefix:{valType:&quot;enumerated&quot;,values:[&quot;all&quot;,&quot;first&quot;,&quot;last&quot;,&quot;none&quot;],dflt:&quot;all&quot;,editType:&quot;ticks&quot;},ticksuffix:{valType:&quot;string&quot;,dflt:&quot;&quot;,editType:&quot;ticks&quot;},showticksuffix:{valType:&quot;enumerated&quot;,values:[&quot;all&quot;,&quot;first&quot;,&quot;last&quot;,&quot;none&quot;],dflt:&quot;all&quot;,editType:&quot;ticks&quot;},showexponent:{valType:&quot;enumerated&quot;,values:[&quot;all&quot;,&quot;first&quot;,&quot;last&quot;,&quot;none&quot;],dflt:&quot;all&quot;,editType:&quot;ticks&quot;},exponentformat:{valType:&quot;enumerated&quot;,values:[&quot;none&quot;,&quot;e&quot;,&quot;E&quot;,&quot;power&quot;,&quot;SI&quot;,&quot;B&quot;],dflt:&quot;B&quot;,editType:&quot;ticks&quot;},separatethousands:{valType:&quot;boolean&quot;,dflt:!1,editType:&quot;ticks&quot;},tickformat:{valType:&quot;string&quot;,dflt:&quot;&quot;,editType:&quot;ticks&quot;},tickformatstops:{_isLinkedToArray:&quot;tickformatstop&quot;,dtickrange:{valType:&quot;info_array&quot;,items:[{valType:&quot;any&quot;,editType:&quot;ticks&quot;},{valType:&quot;any&quot;,editType:&quot;ticks&quot;}],editType:&quot;ticks&quot;},value:{valType:&quot;string&quot;,dflt:&quot;&quot;,editType:&quot;ticks&quot;},editType:&quot;ticks&quot;},hoverformat:{valType:&quot;string&quot;,dflt:&quot;&quot;,editType:&quot;none&quot;},showline:{valType:&quot;boolean&quot;,dflt:!1,editType:&quot;layoutstyle&quot;},linecolor:{valType:&quot;color&quot;,dflt:i.defaultLine,editType:&quot;layoutstyle&quot;},linewidth:{valType:&quot;number&quot;,min:0,dflt:1,editType:&quot;ticks+layoutstyle&quot;},showgrid:{valType:&quot;boolean&quot;,editType:&quot;ticks&quot;},gridcolor:{valType:&quot;color&quot;,dflt:i.lightLine,editType:&quot;ticks&quot;},gridwidth:{valType:&quot;number&quot;,min:0,dflt:1,editType:&quot;ticks&quot;},zeroline:{valType:&quot;boolean&quot;,editType:&quot;ticks&quot;},zerolinecolor:{valType:&quot;color&quot;,dflt:i.defaultLine,editType:&quot;ticks&quot;},zerolinewidth:{valType:&quot;number&quot;,dflt:1,editType:&quot;ticks&quot;},anchor:{valType:&quot;enumerated&quot;,values:[&quot;free&quot;,s.idRegex.x.toString(),s.idRegex.y.toString()],editType:&quot;plot&quot;},side:{valType:&quot;enumerated&quot;,values:[&quot;top&quot;,&quot;bottom&quot;,&quot;left&quot;,&quot;right&quot;],editType:&quot;plot&quot;},overlaying:{valType:&quot;enumerated&quot;,values:[&quot;free&quot;,s.idRegex.x.toString(),s.idRegex.y.toString()],editType:&quot;calc&quot;},layer:{valType:&quot;enumerated&quot;,values:[&quot;above traces&quot;,&quot;below traces&quot;],dflt:&quot;above traces&quot;,editType:&quot;plot&quot;},domain:{valType:&quot;info_array&quot;,items:[{valType:&quot;number&quot;,min:0,max:1,editType:&quot;calc&quot;},{valType:&quot;number&quot;,min:0,max:1,editType:&quot;calc&quot;}],dflt:[0,1],editType:&quot;calc&quot;},position:{valType:&quot;number&quot;,min:0,max:1,dflt:0,editType:&quot;plot&quot;},categoryorder:{valType:&quot;enumerated&quot;,values:[&quot;trace&quot;,&quot;category ascending&quot;,&quot;category descending&quot;,&quot;array&quot;],dflt:&quot;trace&quot;,editType:&quot;calc&quot;},categoryarray:{valType:&quot;data_array&quot;,editType:&quot;calc&quot;},editType:&quot;calc&quot;,_deprecated:{autotick:{valType:&quot;boolean&quot;,editType:&quot;ticks&quot;}}}},{&quot;../../components/color/attributes&quot;:617,&quot;../../components/drawing/attributes&quot;:642,&quot;../../lib/extend&quot;:732,&quot;../font_attributes&quot;:816,&quot;./constants&quot;:794}],802:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../registry&quot;),i=t(&quot;../../lib&quot;),a=t(&quot;../../components/color&quot;),o=t(&quot;../layout_attributes&quot;),s=t(&quot;./layout_attributes&quot;),l=t(&quot;./type_defaults&quot;),c=t(&quot;./axis_defaults&quot;),u=t(&quot;./constraint_defaults&quot;),f=t(&quot;./position_defaults&quot;),h=t(&quot;./axis_ids&quot;);e.exports=function(t,e,r){function d(t,e){return i.coerce(P,O,s,t,e)}function p(t,e){return i.coerce2(P,O,s,t,e)}function m(t){return&quot;x&quot;===t?S:T}function g(e,r){for(var n=&quot;x&quot;===e?E:L,i=[],a=0;a&lt;n.length;a++){var o=n[a];o===r||(t[o]||{}).overlaying||i.push(h.name2id(o))}return i}var v,y={},x={},b={},_={};for(v=0;v&lt;r.length;v++){var w=r[v];if(n.traceIs(w,&quot;cartesian&quot;)||n.traceIs(w,&quot;gl2d&quot;)){var M=h.id2name(w.xaxis),k=h.id2name(w.yaxis);if(n.traceIs(w,&quot;carpet&quot;)&amp;&amp;(&quot;carpet&quot;!==w.type||w._cheater)||M&amp;&amp;(x[M]=1),&quot;carpet&quot;===w.type&amp;&amp;w._cheater&amp;&amp;M&amp;&amp;(y[M]=1),n.traceIs(w,&quot;2dMap&quot;)&amp;&amp;(b[M]=!0,b[k]=!0),n.traceIs(w,&quot;oriented&quot;)){_[&quot;h&quot;===w.orientation?k:M]=!0}}}var A=e._subplots,T=A.xaxis,S=A.yaxis,E=i.simpleMap(T,h.id2name),L=i.simpleMap(S,h.id2name),C=E.concat(L),z=a.background;T.length&amp;&amp;S.length&amp;&amp;(z=i.coerce(t,e,o,&quot;plot_bgcolor&quot;));var D,I,P,O,F=a.combine(z,e.paper_bgcolor),R={x:m(&quot;x&quot;),y:m(&quot;y&quot;)};for(v=0;v&lt;C.length;v++){D=C[v],i.isPlainObject(t[D])||(t[D]={}),P=t[D],O=e[D]={},l(P,O,d,r,D);var N=g(I=D.charAt(0),D),j={letter:I,font:e.font,outerTicks:b[D],showGrid:!_[D],data:r,bgColor:F,calendar:e.calendar,cheateronly:&quot;x&quot;===I&amp;&amp;y[D]&amp;&amp;!x[D]};c(P,O,d,j,e);var B=p(&quot;spikecolor&quot;),U=p(&quot;spikethickness&quot;),V=p(&quot;spikedash&quot;),q=p(&quot;spikemode&quot;),H=p(&quot;spikesnap&quot;);d(&quot;showspikes&quot;,!!(B||U||V||q||H))||(delete O.spikecolor,delete O.spikethickness,delete O.spikedash,delete O.spikemode,delete O.spikesnap);var G={letter:I,counterAxes:R[I],overlayableAxes:N};f(P,O,d,G),O._input=P}var Y=n.getComponentMethod(&quot;rangeslider&quot;,&quot;handleDefaults&quot;),W=n.getComponentMethod(&quot;rangeselector&quot;,&quot;handleDefaults&quot;);for(v=0;v&lt;E.length;v++)D=E[v],P=t[D],O=e[D],Y(t,e,D),&quot;date&quot;===O.type&amp;&amp;W(P,O,e,L,O.calendar),d(&quot;fixedrange&quot;);for(v=0;v&lt;L.length;v++){D=L[v],P=t[D],O=e[D];var X=e[h.id2name(O.anchor)];d(&quot;fixedrange&quot;,X&amp;&amp;X.rangeslider&amp;&amp;X.rangeslider.visible)}e._axisConstraintGroups=[];var Z=R.x.concat(R.y);for(v=0;v&lt;C.length;v++)I=(D=C[v]).charAt(0),P=t[D],O=e[D],u(P,O,d,Z,e)}},{&quot;../../components/color&quot;:618,&quot;../../lib&quot;:743,&quot;../../registry&quot;:873,&quot;../layout_attributes&quot;:843,&quot;./axis_defaults&quot;:791,&quot;./axis_ids&quot;:792,&quot;./constraint_defaults&quot;:795,&quot;./layout_attributes&quot;:801,&quot;./position_defaults&quot;:805,&quot;./type_defaults&quot;:813}],803:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;tinycolor2&quot;).mix,i=t(&quot;../../components/color/attributes&quot;).lightFraction,a=t(&quot;../../lib&quot;);e.exports=function(t,e,r,o){function s(r,n){return a.coerce2(t,e,o.attributes,r,n)}var l=(o=o||{}).dfltColor,c=s(&quot;linecolor&quot;,l),u=s(&quot;linewidth&quot;);r(&quot;showline&quot;,o.showLine||!!c||!!u)||(delete e.linecolor,delete e.linewidth);var f=s(&quot;gridcolor&quot;,n(l,o.bgColor,o.blend||i).toRgbString()),h=s(&quot;gridwidth&quot;);if(r(&quot;showgrid&quot;,o.showGrid||!!f||!!h)||(delete e.gridcolor,delete e.gridwidth),!o.noZeroLine){var d=s(&quot;zerolinecolor&quot;,l),p=s(&quot;zerolinewidth&quot;);r(&quot;zeroline&quot;,o.showGrid||!!d||!!p)||(delete e.zerolinecolor,delete e.zerolinewidth)}}},{&quot;../../components/color/attributes&quot;:617,&quot;../../lib&quot;:743,tinycolor2:546}],804:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r){var n,a,o,s,l,c=[],u=r.map(function(e){return e[t]}),f=i.bisector(e).left;for(n=0;n&lt;u.length;n++)for(o=u[n],a=0;a&lt;o.length;a++)null!==(s=o[a])&amp;&amp;void 0!==s&amp;&amp;((l=f(c,s))&lt;c.length&amp;&amp;c[l]===s||c.splice(l,0,s));return c}var i=t(&quot;d3&quot;);e.exports=function(t,e,r,a){switch(e){case&quot;array&quot;:return Array.isArray(r)?r.slice():[];case&quot;category ascending&quot;:return n(t,i.ascending,a);case&quot;category descending&quot;:return n(t,i.descending,a);case&quot;trace&quot;:default:return[]}}},{d3:128}],805:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;fast-isnumeric&quot;),i=t(&quot;../../lib&quot;);e.exports=function(t,e,r,a){var o=a.counterAxes||[],s=a.overlayableAxes||[],l=a.letter;&quot;free&quot;===i.coerce(t,e,{anchor:{valType:&quot;enumerated&quot;,values:[&quot;free&quot;].concat(o),dflt:n(t.position)?&quot;free&quot;:o[0]||&quot;free&quot;}},&quot;anchor&quot;)&amp;&amp;r(&quot;position&quot;),i.coerce(t,e,{side:{valType:&quot;enumerated&quot;,values:&quot;x&quot;===l?[&quot;bottom&quot;,&quot;top&quot;]:[&quot;left&quot;,&quot;right&quot;],dflt:&quot;x&quot;===l?&quot;bottom&quot;:&quot;left&quot;}},&quot;side&quot;);var c=!1;if(s.length&amp;&amp;(c=i.coerce(t,e,{overlaying:{valType:&quot;enumerated&quot;,values:[!1].concat(s),dflt:!1}},&quot;overlaying&quot;)),!c){var u=r(&quot;domain&quot;);u[0]&gt;u[1]-.01&amp;&amp;(e.domain=[0,1]),i.noneOrAll(t.domain,e.domain,[0,1])}return r(&quot;layer&quot;),e}},{&quot;../../lib&quot;:743,&quot;fast-isnumeric&quot;:140}],806:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../constants/alignment&quot;).FROM_BL;e.exports=function(t,e,r){void 0===r&amp;&amp;(r=n[t.constraintoward||&quot;center&quot;]);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)]}},{&quot;../../constants/alignment&quot;:716}],807:[function(t,e,r){&quot;use strict&quot;;function n(t){return t._id}function i(t,e,r){var n,i,a;if(r){var o=r.points||[];for(n=0;n&lt;e.length;n++)(a=e[n].cd[0].trace).selectedpoints=[],a._input.selectedpoints=[];for(n=0;n&lt;o.length;n++){var s=o[n],l=s.data,c=s.fullData;s.pointIndices?([].push.apply(l.selectedpoints,s.pointIndices),[].push.apply(c.selectedpoints,s.pointIndices)):(l.selectedpoints.push(s.pointIndex),c.selectedpoints.push(s.pointIndex))}}else for(n=0;n&lt;e.length;n++)delete(a=e[n].cd[0].trace).selectedpoints,delete a._input.selectedpoints,e[n].cd[0].t&amp;&amp;e[n].cd[0].t.scene&amp;&amp;e[n].cd[0].t.scene.clearSelect();for(n=0;n&lt;e.length;n++)(i=e[n]).style&amp;&amp;i.style(t,i.cd)}var a=t(&quot;polybooljs&quot;),o=t(&quot;../../lib/polygon&quot;),s=t(&quot;../../lib/throttle&quot;),l=t(&quot;../../components/color&quot;),c=t(&quot;../../components/fx/helpers&quot;).makeEventData,u=t(&quot;../../components/fx&quot;),f=t(&quot;./axes&quot;),h=t(&quot;./constants&quot;),d=o.filter,p=o.tester,m=o.multitester,g=h.MINSELECT;e.exports=function(t,e,r,o,v){function y(t){var e=&quot;y&quot;===t._id.charAt(0)?1:0;return function(r){return t.p2d(r[e])}}function x(t,e){return t-e}var b,_,w,M,k=o.gd,A=k._fullLayout,T=A._zoomlayer,S=o.element.getBoundingClientRect(),E=o.plotinfo,L=E.xaxis._offset,C=E.yaxis._offset,z=e-S.left,D=r-S.top,I=z,P=D,O=&quot;M&quot;+z+&quot;,&quot;+D,F=o.xaxes[0]._length,R=o.yaxes[0]._length,N=o.xaxes.map(n),j=o.yaxes.map(n),B=o.xaxes.concat(o.yaxes),U=t.altKey;(t.shiftKey||t.altKey)&amp;&amp;E.selection&amp;&amp;E.selection.polygons&amp;&amp;!o.polygons?(o.polygons=E.selection.polygons,o.mergedPolygons=E.selection.mergedPolygons):(!t.shiftKey&amp;&amp;!t.altKey||(t.shiftKey||t.altKey)&amp;&amp;!E.selection)&amp;&amp;(E.selection={},E.selection.polygons=o.polygons=[],E.selection.mergedPolygons=o.mergedPolygons=[]),&quot;lasso&quot;===v&amp;&amp;(b=d([[z,D]],h.BENDPX));var V=T.selectAll(&quot;path.select-outline-&quot;+E.id).data([1,2]);V.enter().append(&quot;path&quot;).attr(&quot;class&quot;,function(t){return&quot;select-outline select-outline-&quot;+t+&quot; select-outline-&quot;+E.id}).attr(&quot;transform&quot;,&quot;translate(&quot;+L+&quot;, &quot;+C+&quot;)&quot;).attr(&quot;d&quot;,O+&quot;Z&quot;);var q,H,G,Y,W,X=T.append(&quot;path&quot;).attr(&quot;class&quot;,&quot;zoombox-corners&quot;).style({fill:l.background,stroke:l.defaultLine,&quot;stroke-width&quot;:1}).attr(&quot;transform&quot;,&quot;translate(&quot;+L+&quot;, &quot;+C+&quot;)&quot;).attr(&quot;d&quot;,&quot;M0,0Z&quot;),Z=[],J=A._uid+h.SELECTID,K=[];for(q=0;q&lt;k.calcdata.length;q++)if(H=k.calcdata[q],!0===(G=H[0].trace).visible&amp;&amp;G._module&amp;&amp;G._module.selectPoints)if(o.subplot)G.subplot!==o.subplot&amp;&amp;G.geo!==o.subplot||Z.push({selectPoints:G._module.selectPoints,style:G._module.style,cd:H,xaxis:o.xaxes[0],yaxis:o.yaxes[0]});else{if(-1===N.indexOf(G.xaxis))continue;if(-1===j.indexOf(G.yaxis))continue;Z.push({selectPoints:G._module.selectPoints,style:G._module.style,cd:H,xaxis:f.getFromId(k,G.xaxis),yaxis:f.getFromId(k,G.yaxis)})}var Q;Q=E.fillRangeItems?E.fillRangeItems:&quot;select&quot;===v?function(t,e){var r=t.range={};for(q=0;q&lt;B.length;q++){var n=B[q],i=n._id.charAt(0);r[n._id]=[n.p2d(e[i+&quot;min&quot;]),n.p2d(e[i+&quot;max&quot;])].sort(x)}}:function(t,e,r){var n=t.lassoPoints={};for(q=0;q&lt;B.length;q++){var i=B[q];n[i._id]=r.filtered.map(y(i))}},o.moveFn=function(t,e){I=Math.max(0,Math.min(F,t+z)),P=Math.max(0,Math.min(R,e+D));var r=Math.abs(I-z),n=Math.abs(P-D);&quot;select&quot;===v?n&lt;Math.min(.6*r,g)?((M=[[z,0],[z,R],[I,R],[I,0]]).xmin=Math.min(z,I),M.xmax=Math.max(z,I),M.ymin=Math.min(0,R),M.ymax=Math.max(0,R),X.attr(&quot;d&quot;,&quot;M&quot;+M.xmin+&quot;,&quot;+(D-g)+&quot;h-4v&quot;+2*g+&quot;h4ZM&quot;+(M.xmax-1)+&quot;,&quot;+(D-g)+&quot;h4v&quot;+2*g+&quot;h-4Z&quot;)):r&lt;Math.min(.6*n,g)?((M=[[0,D],[0,P],[F,P],[F,D]]).xmin=Math.min(0,F),M.xmax=Math.max(0,F),M.ymin=Math.min(D,P),M.ymax=Math.max(D,P),X.attr(&quot;d&quot;,&quot;M&quot;+(z-g)+&quot;,&quot;+M.ymin+&quot;v-4h&quot;+2*g+&quot;v4ZM&quot;+(z-g)+&quot;,&quot;+(M.ymax-1)+&quot;v4h&quot;+2*g+&quot;v-4Z&quot;)):((M=[[z,D],[z,P],[I,P],[I,D]]).xmin=Math.min(z,I),M.xmax=Math.max(z,I),M.ymin=Math.min(D,P),M.ymax=Math.max(D,P),X.attr(&quot;d&quot;,&quot;M0,0Z&quot;)):&quot;lasso&quot;===v&amp;&amp;(b.addPt([I,P]),M=b.filtered),o.polygons&amp;&amp;o.polygons.length?(w=function(t,e,r){return r?a.difference({regions:t,inverted:!1},{regions:[e],inverted:!1}).regions:a.union({regions:t,inverted:!1},{regions:[e],inverted:!1}).regions}(o.mergedPolygons,M,U),M.subtract=U,_=m(o.polygons.concat([M]))):(w=[M],_=p(M));var l=[];for(q=0;q&lt;w.length;q++){var u=w[q];l.push(u.join(&quot;L&quot;)+&quot;L&quot;+u[0])}V.attr(&quot;d&quot;,&quot;M&quot;+l.join(&quot;M&quot;)+&quot;Z&quot;),s.throttle(J,h.SELECTDELAY,function(){K=[];var t,e,r=[];for(q=0;q&lt;Z.length;q++)if(Y=Z[q],e=Y.selectPoints(Y,_),r.push(e),t=function(t,e){if(Array.isArray(t))for(var r=e.cd,n=e.cd[0].trace,i=0;i&lt;t.length;i++)t[i]=c(t[i],n,r);return t}(e,Y),K.length)for(var n=0;n&lt;t.length;n++)K.push(t[n]);else K=t;i(k,Z,W={points:K}),Q(W,M,b),o.gd.emit(&quot;plotly_selecting&quot;,W)})},o.clickFn=function(t,e){X.remove(),s.done(J).then(function(){if(s.clear(J),2===t){for(V.remove(),q=0;q&lt;Z.length;q++)(Y=Z[q]).selectPoints(Y,!1);i(k,Z),k.emit(&quot;plotly_deselect&quot;,null)}else k.emit(&quot;plotly_selected&quot;,void 0);u.click(k,e)})},o.doneFn=function(){X.remove(),s.done(J).then(function(){s.clear(J),o.gd.emit(&quot;plotly_selected&quot;,W),M&amp;&amp;o.polygons&amp;&amp;(M.subtract=U,o.polygons.push(M),o.mergedPolygons.length=0,[].push.apply(o.mergedPolygons,w))})}}},{&quot;../../components/color&quot;:618,&quot;../../components/fx&quot;:660,&quot;../../components/fx/helpers&quot;:657,&quot;../../lib/polygon&quot;:755,&quot;../../lib/throttle&quot;:767,&quot;./axes&quot;:789,&quot;./constants&quot;:794,polybooljs:479}],808:[function(t,e,r){&quot;use strict&quot;;function n(t){return Math.pow(10,t)}var i=t(&quot;d3&quot;),a=t(&quot;fast-isnumeric&quot;),o=t(&quot;../../lib&quot;),s=o.cleanNumber,l=o.ms2DateTime,c=o.dateTime2ms,u=o.ensureNumber,f=t(&quot;../../constants/numerical&quot;),h=f.FP_SAFE,d=f.BADNUM,p=t(&quot;./constants&quot;),m=t(&quot;./axis_ids&quot;);e.exports=function(t,e){function r(e,r){if(e&gt;0)return Math.log(e)/Math.LN10;if(e&lt;=0&amp;&amp;r&amp;&amp;t.range&amp;&amp;2===t.range.length){var n=t.range[0],i=t.range[1];return.5*(n+i-3*M*Math.abs(n-i))}return d}function f(e,r,n){var i=c(e,n||t.calendar);if(i===d){if(!a(e))return d;i=c(new Date(+e))}return i}function g(e,r,n){return l(e,r,n||t.calendar)}function v(e){return t._categories[Math.round(e)]}function y(e){if(null!==e&amp;&amp;void 0!==e){if(void 0===t._categoriesMap&amp;&amp;(t._categoriesMap={}),void 0!==t._categoriesMap[e])return t._categoriesMap[e];t._categories.push(e);var r=t._categories.length-1;return t._categoriesMap[e]=r,r}return d}function x(e){if(t._categoriesMap){var r=t._categoriesMap[e];if(void 0!==r)return r}if(a(e))return+e}function b(e){return a(e)?i.round(t._b+t._m*e,2):d}function _(e){return(e-t._b)/t._m}e=e||{};var w=(t._id||&quot;x&quot;).charAt(0),M=10;t.c2l=&quot;log&quot;===t.type?r:u,t.l2c=&quot;log&quot;===t.type?n:u,t.l2p=b,t.p2l=_,t.c2p=&quot;log&quot;===t.type?function(t,e){return b(r(t,e))}:b,t.p2c=&quot;log&quot;===t.type?function(t){return n(_(t))}:_,-1!==[&quot;linear&quot;,&quot;-&quot;].indexOf(t.type)?(t.d2r=t.r2d=t.d2c=t.r2c=t.d2l=t.r2l=s,t.c2d=t.c2r=t.l2d=t.l2r=u,t.d2p=t.r2p=function(e){return t.l2p(s(e))},t.p2d=t.p2r=_,t.cleanPos=u):&quot;log&quot;===t.type?(t.d2r=t.d2l=function(t,e){return r(s(t),e)},t.r2d=t.r2c=function(t){return n(s(t))},t.d2c=t.r2l=s,t.c2d=t.l2r=u,t.c2r=r,t.l2d=n,t.d2p=function(e,r){return t.l2p(t.d2r(e,r))},t.p2d=function(t){return n(_(t))},t.r2p=function(e){return t.l2p(s(e))},t.p2r=_,t.cleanPos=u):&quot;date&quot;===t.type?(t.d2r=t.r2d=o.identity,t.d2c=t.r2c=t.d2l=t.r2l=f,t.c2d=t.c2r=t.l2d=t.l2r=g,t.d2p=t.r2p=function(e,r,n){return t.l2p(f(e,0,n))},t.p2d=t.p2r=function(t,e,r){return g(_(t),e,r)},t.cleanPos=function(e){return o.cleanDate(e,d,t.calendar)}):&quot;category&quot;===t.type&amp;&amp;(t.d2c=t.d2l=y,t.r2d=t.c2d=t.l2d=v,t.d2r=t.d2l_noadd=x,t.r2c=function(e){var r=x(e);return void 0!==r?r:t.fraction2r(.5)},t.l2r=t.c2r=u,t.r2l=x,t.d2p=function(e){return t.l2p(t.r2c(e))},t.p2d=function(t){return v(_(t))},t.r2p=t.d2p,t.p2r=_,t.cleanPos=function(t){return&quot;string&quot;==typeof t&amp;&amp;&quot;&quot;!==t?t:u(t)}),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=&quot;range&quot;);var n,i,s=o.nestedProperty(t,e).get();if(i=&quot;date&quot;===t.type?o.dfltRange(t.calendar):&quot;y&quot;===w?p.DFLTRANGEY:r.dfltRange||p.DFLTRANGEX,i=i.slice(),s&amp;&amp;2===s.length)for(&quot;date&quot;===t.type&amp;&amp;(s[0]=o.cleanDate(s[0],d,t.calendar),s[1]=o.cleanDate(s[1],d,t.calendar)),n=0;n&lt;2;n++)if(&quot;date&quot;===t.type){if(!o.isDateTime(s[n],t.calendar)){t[e]=i;break}if(t.r2l(s[0])===t.r2l(s[1])){var l=o.constrain(t.r2l(s[0]),o.MIN_MS+1e3,o.MAX_MS-1e3);s[0]=t.l2r(l-1e3),s[1]=t.l2r(l+1e3);break}}else{if(!a(s[n])){if(!a(s[1-n])){t[e]=i;break}s[n]=s[1-n]*(n?10:.1)}if(s[n]&lt;-h?s[n]=-h:s[n]&gt;h&amp;&amp;(s[n]=h),s[0]===s[1]){var c=Math.max(1,Math.abs(1e-6*s[0]));s[0]-=c,s[1]+=c}}else o.nestedProperty(t,e).set(i)},t.setScale=function(r){var n=e._size;if(t._categories||(t._categories=[]),t._categoriesMap||(t._categoriesMap={}),t.overlaying){var i=m.getFromId({_fullLayout:e},t.overlaying);t.domain=i.domain}var a=r&amp;&amp;t._r?&quot;_r&quot;:&quot;range&quot;,o=t.calendar;t.cleanRange(a);var s=t.r2l(t[a][0],o),l=t.r2l(t[a][1],o);if(&quot;y&quot;===w?(t._offset=n.t+(1-t.domain[1])*n.h,t._length=n.h*(t.domain[1]-t.domain[0]),t._m=t._length/(s-l),t._b=-t._m*l):(t._offset=n.l+t.domain[0]*n.w,t._length=n.w*(t.domain[1]-t.domain[0]),t._m=t._length/(l-s),t._b=-t._m*s),!isFinite(t._m)||!isFinite(t._b))throw e._replotting=!1,new Error(&quot;Something went wrong with axis scaling&quot;)},t.makeCalcdata=function(e,r){var n,i,a,o=&quot;date&quot;===t.type&amp;&amp;e[r+&quot;calendar&quot;];if(r in e)for(n=e[r],i=new Array(n.length),a=0;a&lt;n.length;a++)i[a]=t.d2c(n[a],0,o);else{var s=r+&quot;0&quot;in e?t.d2c(e[r+&quot;0&quot;],0,o):0,l=e[&quot;d&quot;+r]?Number(e[&quot;d&quot;+r]):1;for(n=e[{x:&quot;y&quot;,y:&quot;x&quot;}[r]],i=new Array(n.length),a=0;a&lt;n.length;a++)i[a]=s+a*l}return i},t.isValidRange=function(e){return Array.isArray(e)&amp;&amp;2===e.length&amp;&amp;a(t.r2l(e[0]))&amp;&amp;a(t.r2l(e[1]))},t.isPtWithinRange=function(e,r){var n=t.c2l(e[w],null,r);return n&gt;=t.r2l(t.range[0])&amp;&amp;n&lt;=t.r2l(t.range[1])},t._min=[],t._max=[];var k=e._d3locale;&quot;date&quot;===t.type&amp;&amp;(t._dateFormat=k?k.timeFormat.utc:i.time.format.utc),t._separators=e.separators,t._numFormat=k?k.numberFormat:i.format,delete t._minDtick,delete t._forceTick0}},{&quot;../../constants/numerical&quot;:721,&quot;../../lib&quot;:743,&quot;./axis_ids&quot;:792,&quot;./constants&quot;:794,d3:128,&quot;fast-isnumeric&quot;:140}],809:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib&quot;),i=t(&quot;./layout_attributes&quot;);e.exports=function(t,e,r,a,o){var s=function(t){var e=[&quot;showexponent&quot;,&quot;showtickprefix&quot;,&quot;showticksuffix&quot;].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]]}(t);r(&quot;tickprefix&quot;)&amp;&amp;r(&quot;showtickprefix&quot;,s);r(&quot;ticksuffix&quot;,o.tickSuffixDflt)&amp;&amp;r(&quot;showticksuffix&quot;,s);if(r(&quot;showticklabels&quot;)){var l=o.font||{},c=e.color===t.color?e.color:l.color;if(n.coerceFont(r,&quot;tickfont&quot;,{family:l.family,size:l.size,color:c}),r(&quot;tickangle&quot;),&quot;category&quot;!==a){var u=r(&quot;tickformat&quot;);!function(t,e){function r(t,e){return n.coerce(s,l,i.tickformatstops,t,e)}var a=t.tickformatstops,o=e.tickformatstops=[];if(Array.isArray(a))for(var s,l,c=0;c&lt;a.length;c++)s=a[c],l={},r(&quot;dtickrange&quot;),r(&quot;value&quot;),o.push(l)}(t,e),u||&quot;date&quot;===a||(r(&quot;showexponent&quot;,s),r(&quot;exponentformat&quot;),r(&quot;separatethousands&quot;))}}&quot;category&quot;===a||o.noHover||r(&quot;hoverformat&quot;)}},{&quot;../../lib&quot;:743,&quot;./layout_attributes&quot;:801}],810:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib&quot;),i=t(&quot;./layout_attributes&quot;);e.exports=function(t,e,r,a){var o=n.coerce2(t,e,i,&quot;ticklen&quot;),s=n.coerce2(t,e,i,&quot;tickwidth&quot;),l=n.coerce2(t,e,i,&quot;tickcolor&quot;,e.color);r(&quot;ticks&quot;,a.outerTicks||o||s||l?&quot;outside&quot;:&quot;&quot;)||(delete e.ticklen,delete e.tickwidth,delete e.tickcolor)}},{&quot;../../lib&quot;:743,&quot;./layout_attributes&quot;:801}],811:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;fast-isnumeric&quot;),i=t(&quot;../../lib&quot;),a=t(&quot;../../constants/numerical&quot;).ONEDAY;e.exports=function(t,e,r,o){var s=&quot;auto&quot;;&quot;array&quot;!==t.tickmode||&quot;log&quot;!==o&amp;&amp;&quot;date&quot;!==o||(t.tickmode=&quot;auto&quot;),Array.isArray(t.tickvals)?s=&quot;array&quot;:t.dtick&amp;&amp;(s=&quot;linear&quot;);var l=r(&quot;tickmode&quot;,s);if(&quot;auto&quot;===l)r(&quot;nticks&quot;);else if(&quot;linear&quot;===l){var c=&quot;date&quot;===o?a:1,u=r(&quot;dtick&quot;,c);if(n(u))e.dtick=u&gt;0?Number(u):c;else if(&quot;string&quot;!=typeof u)e.dtick=c;else{var f=u.charAt(0),h=u.substr(1);((h=n(h)?Number(h):0)&lt;=0||!(&quot;date&quot;===o&amp;&amp;&quot;M&quot;===f&amp;&amp;h===Math.round(h)||&quot;log&quot;===o&amp;&amp;&quot;L&quot;===f||&quot;log&quot;===o&amp;&amp;&quot;D&quot;===f&amp;&amp;(1===h||2===h)))&amp;&amp;(e.dtick=c)}var d=&quot;date&quot;===o?i.dateTick0(e.calendar):0,p=r(&quot;tick0&quot;,d);&quot;date&quot;===o?e.tick0=i.cleanDate(p,d):n(p)&amp;&amp;&quot;D1&quot;!==u&amp;&amp;&quot;D2&quot;!==u?e.tick0=Number(p):e.tick0=d}else{void 0===r(&quot;tickvals&quot;)?e.tickmode=&quot;auto&quot;:r(&quot;ticktext&quot;)}}},{&quot;../../constants/numerical&quot;:721,&quot;../../lib&quot;:743,&quot;fast-isnumeric&quot;:140}],812:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;d3&quot;),i=t(&quot;../../plotly&quot;),a=t(&quot;../../registry&quot;),o=t(&quot;../../components/drawing&quot;),s=t(&quot;./axes&quot;),l=t(&quot;./constants&quot;).attrRegex;e.exports=function(t,e,r,c){function u(t){var e=t.xaxis,r=t.yaxis;d._defs.select(&quot;#&quot;+t.clipId+&quot;&gt; rect&quot;).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(&quot;.scatterlayer .trace&quot;);n.selectAll(&quot;.point&quot;).call(o.setPointGroupScale,1,1),n.selectAll(&quot;.textpoint&quot;).call(o.setTextPointsScale,1,1),n.call(o.hideOutsideRangePoints,t)}function f(e,r){var n,i,l,c=m[e.xaxis._id],u=m[e.yaxis._id],f=[];if(c){i=(n=t._fullLayout[c.axisName])._r,l=c.to,f[0]=(i[0]*(1-r)+r*l[0]-i[0])/(i[1]-i[0])*e.xaxis._length;var h=i[1]-i[0],p=l[1]-l[0];n.range[0]=i[0]*(1-r)+r*l[0],n.range[1]=i[1]*(1-r)+r*l[1],f[2]=e.xaxis._length*(1-r+r*p/h)}else f[0]=0,f[2]=e.xaxis._length;if(u){i=(n=t._fullLayout[u.axisName])._r,l=u.to,f[1]=(i[1]*(1-r)+r*l[1]-i[1])/(i[0]-i[1])*e.yaxis._length;var g=i[1]-i[0],v=l[1]-l[0];n.range[0]=i[0]*(1-r)+r*l[0],n.range[1]=i[1]*(1-r)+r*l[1],f[3]=e.yaxis._length*(1-r+r*v/g)}else f[1]=0,f[3]=e.yaxis._length;!function(e,r){function n(e,r,n){for(i=0;i&lt;e.length;i++){var a=e[i];if(-1===o.indexOf(a.xref)&amp;&amp;-1===o.indexOf(a.yref)||r(t,i),n)return}}var i,o=[];for(o=[e._id,r._id],i=0;i&lt;o.length;i++)s.doTicks(t,o[i],!0);n(d.annotations||[],a.getComponentMethod(&quot;annotations&quot;,&quot;drawOne&quot;)),n(d.shapes||[],a.getComponentMethod(&quot;shapes&quot;,&quot;drawOne&quot;)),n(d.images||[],a.getComponentMethod(&quot;images&quot;,&quot;draw&quot;),!0)}(e.xaxis,e.yaxis);var y=e.xaxis,x=e.yaxis,b=!!c,_=!!u,w=b?y._length/f[2]:1,M=_?x._length/f[3]:1,k=b?f[0]:0,A=_?f[1]:0,T=b?f[0]/f[2]*y._length:0,S=_?f[1]/f[3]*x._length:0,E=y._offset-T,L=x._offset-S;d._defs.select(&quot;#&quot;+e.clipId+&quot;&gt; rect&quot;).call(o.setTranslate,k,A).call(o.setScale,1/w,1/M),e.plot.call(o.setTranslate,E,L).call(o.setScale,w,M).selectAll(&quot;.points&quot;).selectAll(&quot;.point&quot;).call(o.setPointGroupScale,1/w,1/M),e.plot.selectAll(&quot;.points&quot;).selectAll(&quot;.textpoint&quot;).call(o.setTextPointsScale,1/w,1/M)}function h(){b=Date.now();for(var e=Math.min(1,(b-x)/r.duration),n=w(e),a=0;a&lt;v.length;a++)f(v[a],n);b-x&gt;r.duration?(!function(){for(var e={},r=0;r&lt;g.length;r++){var n=t._fullLayout[m[g[r]].axisName],a=m[g[r]].to;e[n._name+&quot;.range[0]&quot;]=a[0],e[n._name+&quot;.range[1]&quot;]=a[1],n.range=a.slice()}y&amp;&amp;y(),i.relayout(t,e).then(function(){for(var t=0;t&lt;v.length;t++)u(v[t])})}(),_=window.cancelAnimationFrame(h)):_=window.requestAnimationFrame(h)}var d=t._fullLayout,p=[],m=function(t){var e,r,n,i,a={};for(e in t)if((r=e.split(&quot;.&quot;))[0].match(l)){var o=e.charAt(0),s=r[0];if(n=d[s],i={},Array.isArray(t[e])?i.to=t[e].slice(0):Array.isArray(t[e].range)&amp;&amp;(i.to=t[e].range.slice(0)),!i.to)continue;i.axisName=s,i.length=n._length,p.push(o),a[o]=i}return a}(e),g=Object.keys(m),v=function(t,e,r){var n,i,a,o=t._plots,s=[];for(n in o){var l=o[n];if(-1===s.indexOf(l)){var c=l.xaxis._id,u=l.yaxis._id,f=l.xaxis.range,h=l.yaxis.range;l.xaxis._r=l.xaxis.range.slice(),l.yaxis._r=l.yaxis.range.slice(),i=r[c]?r[c].to:f,a=r[u]?r[u].to:h,f[0]===i[0]&amp;&amp;f[1]===i[1]&amp;&amp;h[0]===a[0]&amp;&amp;h[1]===a[1]||-1===e.indexOf(c)&amp;&amp;-1===e.indexOf(u)||s.push(l)}}return s}(d,g,m);if(!v.length)return function(){function e(e,r,n){for(var i=0;i&lt;e.length;i++)if(r(t,i),n)return}e(d.annotations||[],a.getComponentMethod(&quot;annotations&quot;,&quot;drawOne&quot;)),e(d.shapes||[],a.getComponentMethod(&quot;shapes&quot;,&quot;drawOne&quot;)),e(d.images||[],a.getComponentMethod(&quot;images&quot;,&quot;draw&quot;),!0)}(),!1;var y;c&amp;&amp;(y=c());var x,b,_,w=n.ease(r.easing);return t._transitionData._interruptCallbacks.push(function(){return window.cancelAnimationFrame(_),_=null,function(){for(var e={},r=0;r&lt;g.length;r++){var n=t._fullLayout[g[r]+&quot;axis&quot;];e[n._name+&quot;.range[0]&quot;]=n.range[0],e[n._name+&quot;.range[1]&quot;]=n.range[1],n.range=n._r.slice()}return i.relayout(t,e).then(function(){for(var t=0;t&lt;v.length;t++)u(v[t])})}()}),x=Date.now(),_=window.requestAnimationFrame(h),Promise.resolve()}},{&quot;../../components/drawing&quot;:643,&quot;../../plotly&quot;:784,&quot;../../registry&quot;:873,&quot;./axes&quot;:789,&quot;./constants&quot;:794,d3:128}],813:[function(t,e,r){&quot;use strict&quot;;function n(t,e){if(&quot;-&quot;===t.type){var r=t._id,n=r.charAt(0);-1!==r.indexOf(&quot;scene&quot;)&amp;&amp;(r=n);var l=function(t,e,r){for(var n=0;n&lt;t.length;n++){var i=t[n];if((i[r+&quot;axis&quot;]||r)===e){if(a(i,r))return i;if((i[r]||[]).length||i[r+&quot;0&quot;])return i}}}(e,r,n);if(l)if(&quot;histogram&quot;!==l.type||n!=={v:&quot;y&quot;,h:&quot;x&quot;}[l.orientation||&quot;v&quot;]){var c=n+&quot;calendar&quot;,u=l[c];if(a(l,n)){for(var f,h=i(l),d=[],p=0;p&lt;e.length;p++)f=e[p],o.traceIs(f,&quot;box-violin&quot;)&amp;&amp;(f[n+&quot;axis&quot;]||n)===r&amp;&amp;(void 0!==f[h]?d.push(f[h][0]):void 0!==f.name?d.push(f.name):d.push(&quot;text&quot;),f[c]!==u&amp;&amp;(u=void 0));t.type=s(d,u)}else t.type=s(l[n]||[l[n+&quot;0&quot;]],u)}else t.type=&quot;linear&quot;}}function i(t){return{v:&quot;x&quot;,h:&quot;y&quot;}[t.orientation||&quot;v&quot;]}function a(t,e){var r=i(t),n=o.traceIs(t,&quot;box-violin&quot;),a=o.traceIs(t._fullInput||{},&quot;candlestick&quot;);return n&amp;&amp;!a&amp;&amp;e===r&amp;&amp;void 0===t[r]&amp;&amp;void 0===t[r+&quot;0&quot;]}var o=t(&quot;../../registry&quot;),s=t(&quot;./axis_autotype&quot;),l=t(&quot;./axis_ids&quot;).name2id;e.exports=function(t,e,r,i,a){a&amp;&amp;(e._name=a,e._id=l(a));&quot;-&quot;===r(&quot;type&quot;)&amp;&amp;(n(e,i),&quot;-&quot;===e.type?e.type=&quot;linear&quot;:t.type=e.type)}},{&quot;../../registry&quot;:873,&quot;./axis_autotype&quot;:790,&quot;./axis_ids&quot;:792}],814:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r){var n,i,a,o=!1;if(&quot;data&quot;===e.type)n=t._fullData[null!==e.traces?e.traces[0]:0];else{if(&quot;layout&quot;!==e.type)return!1;n=t._fullLayout}return i=l.nestedProperty(n,e.prop).get(),(a=r[e.type]=r[e.type]||{}).hasOwnProperty(e.prop)&amp;&amp;a[e.prop]!==i&amp;&amp;(o=!0),a[e.prop]=i,{changed:o,value:i}}function i(t,e){var r=[],n=e[0],i={};if(&quot;string&quot;==typeof n)i[n]=e[1];else{if(!l.isPlainObject(n))return r;i=n}return o(i,function(t,e,n){r.push({type:&quot;layout&quot;,prop:t,value:n})},&quot;&quot;,0),r}function a(t,e){var r,n,i,a,s=[];if(n=e[0],i=e[1],r=e[2],a={},&quot;string&quot;==typeof n)a[n]=i;else{if(!l.isPlainObject(n))return s;a=n,void 0===r&amp;&amp;(r=i)}return void 0===r&amp;&amp;(r=null),o(a,function(e,n,i){var a;if(Array.isArray(i)){var o=Math.min(i.length,t.data.length);r&amp;&amp;(o=Math.min(o,r.length)),a=[];for(var l=0;l&lt;o;l++)a[l]=r?r[l]:l}else a=r?r.slice(0):null;if(null===a)Array.isArray(i)&amp;&amp;(i=i[0]);else if(Array.isArray(a)){if(!Array.isArray(i)){var c=i;i=[];for(var u=0;u&lt;a.length;u++)i[u]=c}i.length=Math.min(a.length,i.length)}s.push({type:&quot;data&quot;,prop:e,traces:a,value:i})},&quot;&quot;,0),s}function o(t,e,r,n){Object.keys(t).forEach(function(i){var a=t[i];if(&quot;_&quot;!==i[0]){var s=r+(n&gt;0?&quot;.&quot;:&quot;&quot;)+i;l.isPlainObject(a)?o(a,e,s,n+1):e(s,i,a)}})}var s=t(&quot;../plotly&quot;),l=t(&quot;../lib&quot;);r.manageCommandObserver=function(t,e,i,a){var o={},s=!0;e&amp;&amp;e._commandObserver&amp;&amp;(o=e._commandObserver),o.cache||(o.cache={}),o.lookupTable={};var c=r.hasSimpleAPICommandBindings(t,i,o.lookupTable);if(e&amp;&amp;e._commandObserver){if(c)return o;if(e._commandObserver.remove)return e._commandObserver.remove(),e._commandObserver=null,o}if(c){n(t,c,o.cache),o.check=function(){if(s){var e=n(t,c,o.cache);return e.changed&amp;&amp;a&amp;&amp;void 0!==o.lookupTable[e.value]&amp;&amp;(o.disable(),Promise.resolve(a({value:e.value,type:c.type,prop:c.prop,traces:c.traces,index:o.lookupTable[e.value]})).then(o.enable,o.enable)),e.changed}};for(var u=[&quot;plotly_relayout&quot;,&quot;plotly_redraw&quot;,&quot;plotly_restyle&quot;,&quot;plotly_update&quot;,&quot;plotly_animatingframe&quot;,&quot;plotly_afterplot&quot;],f=0;f&lt;u.length;f++)t._internalOn(u[f],o.check);o.remove=function(){for(var e=0;e&lt;u.length;e++)t._removeInternalListener(u[e],o.check)}}else l.log(&quot;Unable to automatically bind plot updates to API command&quot;),o.lookupTable={},o.remove=function(){};return o.disable=function(){s=!1},o.enable=function(){s=!0},e&amp;&amp;(e._commandObserver=o),o},r.hasSimpleAPICommandBindings=function(t,e,n){var i,a,o=e.length;for(i=0;i&lt;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&lt;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)&amp;&amp;a.traces.sort();var d=(s=f[0]).value;if(Array.isArray(d)){if(1!==d.length)return!1;d=d[0]}n&amp;&amp;(n[d]=i)}return a},r.executeAPICommand=function(t,e,r){if(&quot;skip&quot;===e)return Promise.resolve();var n=s[e],i=[t];Array.isArray(r)||(r=[]);for(var a=0;a&lt;r.length;a++)i.push(r[a]);return n.apply(null,i).catch(function(t){return l.warn(&quot;API call to Plotly.&quot;+e+&quot; rejected.&quot;,t),Promise.reject(t)})},r.computeAPICommandBindings=function(t,e,r){var n;switch(Array.isArray(r)||(r=[]),e){case&quot;restyle&quot;:n=a(t,r);break;case&quot;relayout&quot;:n=i(0,r);break;case&quot;update&quot;:n=a(t,[r[0],r[2]]).concat(i(0,[r[1]]));break;case&quot;animate&quot;:n=function(t,e){return Array.isArray(e[0])&amp;&amp;1===e[0].length&amp;&amp;-1!==[&quot;string&quot;,&quot;number&quot;].indexOf(typeof e[0][0])?[{type:&quot;layout&quot;,prop:&quot;_currentFrame&quot;,value:e[0][0].toString()}]:[]}(0,r);break;default:n=[]}return n}},{&quot;../lib&quot;:743,&quot;../plotly&quot;:784}],815:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../lib/extend&quot;).extendFlat;e.exports=function(t,e){t=t||{},e=e||{};var r={valType:&quot;info_array&quot;,editType:t.editType,items:[{valType:&quot;number&quot;,min:0,max:1},{valType:&quot;number&quot;,min:0,max:1}],dflt:[0,1]};t.name&amp;&amp;t.name,t.trace,e.description&amp;&amp;e.description;return{x:n({},r,{}),y:n({},r,{}),editType:t.editType}}},{&quot;../lib/extend&quot;:732}],816:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t){var e=t.editType,r=t.colorEditType;void 0===r&amp;&amp;(r=e);var n={family:{valType:&quot;string&quot;,noBlank:!0,strict:!0,editType:e},size:{valType:&quot;number&quot;,min:1,editType:e},color:{valType:&quot;color&quot;,editType:r},editType:e};return t.arrayOk&amp;&amp;(n.family.arrayOk=!0,n.size.arrayOk=!0,n.color.arrayOk=!0),n}},{}],817:[function(t,e,r){&quot;use strict&quot;;e.exports={_isLinkedToArray:&quot;frames_entry&quot;,group:{valType:&quot;string&quot;},name:{valType:&quot;string&quot;},traces:{valType:&quot;any&quot;},baseframe:{valType:&quot;string&quot;},data:{valType:&quot;any&quot;},layout:{valType:&quot;any&quot;}}},{}],818:[function(t,e,r){&quot;use strict&quot;;r.projNames={equirectangular:&quot;equirectangular&quot;,mercator:&quot;mercator&quot;,orthographic:&quot;orthographic&quot;,&quot;natural earth&quot;:&quot;naturalEarth&quot;,kavrayskiy7:&quot;kavrayskiy7&quot;,miller:&quot;miller&quot;,robinson:&quot;robinson&quot;,eckert4:&quot;eckert4&quot;,&quot;azimuthal equal area&quot;:&quot;azimuthalEqualArea&quot;,&quot;azimuthal equidistant&quot;:&quot;azimuthalEquidistant&quot;,&quot;conic equal area&quot;:&quot;conicEqualArea&quot;,&quot;conic conformal&quot;:&quot;conicConformal&quot;,&quot;conic equidistant&quot;:&quot;conicEquidistant&quot;,gnomonic:&quot;gnomonic&quot;,stereographic:&quot;stereographic&quot;,mollweide:&quot;mollweide&quot;,hammer:&quot;hammer&quot;,&quot;transverse mercator&quot;:&quot;transverseMercator&quot;,&quot;albers usa&quot;:&quot;albersUsa&quot;,&quot;winkel tripel&quot;:&quot;winkel3&quot;,aitoff:&quot;aitoff&quot;,sinusoidal:&quot;sinusoidal&quot;},r.axesNames=[&quot;lonaxis&quot;,&quot;lataxis&quot;],r.lonaxisSpan={orthographic:180,&quot;azimuthal equal area&quot;:360,&quot;azimuthal equidistant&quot;:360,&quot;conic conformal&quot;:180,gnomonic:160,stereographic:180,&quot;transverse mercator&quot;:180,&quot;*&quot;:360},r.lataxisSpan={&quot;conic conformal&quot;:150,stereographic:179.5,&quot;*&quot;:180},r.scopeDefaults={world:{lonaxisRange:[-180,180],lataxisRange:[-90,90],projType:&quot;equirectangular&quot;,projRotate:[0,0,0]},usa:{lonaxisRange:[-180,-50],lataxisRange:[15,80],projType:&quot;albers usa&quot;},europe:{lonaxisRange:[-30,60],lataxisRange:[30,85],projType:&quot;conic conformal&quot;,projRotate:[15,0,0],projParallels:[0,60]},asia:{lonaxisRange:[22,160],lataxisRange:[-15,55],projType:&quot;mercator&quot;,projRotate:[0,0,0]},africa:{lonaxisRange:[-30,60],lataxisRange:[-40,40],projType:&quot;mercator&quot;,projRotate:[0,0,0]},&quot;north america&quot;:{lonaxisRange:[-180,-45],lataxisRange:[5,85],projType:&quot;conic conformal&quot;,projRotate:[-100,0,0],projParallels:[29.5,45.5]},&quot;south america&quot;:{lonaxisRange:[-100,-30],lataxisRange:[-60,15],projType:&quot;mercator&quot;,projRotate:[0,0,0]}},r.clipPad=.001,r.precision=.1,r.landColor=&quot;#F0DC82&quot;,r.waterColor=&quot;#3399FF&quot;,r.locationmodeToLayer={&quot;ISO-3&quot;:&quot;countries&quot;,&quot;USA-states&quot;:&quot;subunits&quot;,&quot;country names&quot;:&quot;countries&quot;},r.sphereSVG={type:&quot;Sphere&quot;},r.fillLayers={ocean:1,land:1,lakes:1},r.lineLayers={subunits:1,countries:1,coastlines:1,rivers:1,frame:1},r.layers=[&quot;bg&quot;,&quot;ocean&quot;,&quot;land&quot;,&quot;lakes&quot;,&quot;subunits&quot;,&quot;countries&quot;,&quot;coastlines&quot;,&quot;rivers&quot;,&quot;lataxis&quot;,&quot;lonaxis&quot;,&quot;frame&quot;,&quot;backplot&quot;,&quot;frontplot&quot;],r.layersForChoropleth=[&quot;bg&quot;,&quot;ocean&quot;,&quot;land&quot;,&quot;subunits&quot;,&quot;countries&quot;,&quot;coastlines&quot;,&quot;lataxis&quot;,&quot;lonaxis&quot;,&quot;frame&quot;,&quot;backplot&quot;,&quot;rivers&quot;,&quot;lakes&quot;,&quot;frontplot&quot;],r.layerNameToAdjective={ocean:&quot;ocean&quot;,land:&quot;land&quot;,lakes:&quot;lake&quot;,subunits:&quot;subunit&quot;,countries:&quot;country&quot;,coastlines:&quot;coastline&quot;,rivers:&quot;river&quot;,frame:&quot;frame&quot;}},{}],819:[function(t,e,r){&quot;use strict&quot;;function n(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.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 i=t(&quot;d3&quot;),a=t(&quot;../../plotly&quot;),o=t(&quot;../../lib&quot;),s=t(&quot;../../components/color&quot;),l=t(&quot;../../components/drawing&quot;),c=t(&quot;../../components/fx&quot;),u=t(&quot;../plots&quot;),f=t(&quot;../cartesian/axes&quot;),h=t(&quot;../../components/dragelement&quot;),d=t(&quot;../cartesian/select&quot;),p=t(&quot;./zoom&quot;),m=t(&quot;./constants&quot;),g=t(&quot;../../lib/topojson_utils&quot;),v=t(&quot;topojson-client&quot;).feature;t(&quot;./projections&quot;)(i);var y=n.prototype;e.exports=function(t){return new n(t)},y.plot=function(t,e,r){var n=this,i=e[this.id],a=g.getTopojsonName(i);null===n.topojson||a!==n.topojsonName?(n.topojsonName=a,void 0===PlotlyGeoAssets.topojson[n.topojsonName]?r.push(n.fetchTopojson().then(function(r){PlotlyGeoAssets.topojson[n.topojsonName]=r,n.topojson=r,n.update(t,e)})):(n.topojson=PlotlyGeoAssets.topojson[n.topojsonName],n.update(t,e))):n.update(t,e)},y.fetchTopojson=function(){var t=g.getTopojsonPath(this.topojsonURL,this.topojsonName);return new Promise(function(e,r){i.json(t,function(n,i){if(n)return r(404===n.status?new Error([&quot;plotly.js could not find topojson file at&quot;,t,&quot;.&quot;,&quot;Make sure the *topojsonURL* plot config option&quot;,&quot;is set properly.&quot;].join(&quot; &quot;)):new Error([&quot;unexpected error while fetching topojson file at&quot;,t].join(&quot; &quot;)));e(i)})})},y.update=function(t,e){var r=e[this.id];if(!this.updateProjection(e,r)){this.hasChoropleth=!1;for(var n=0;n&lt;t.length;n++)if(&quot;choropleth&quot;===t[n][0].trace.type){this.hasChoropleth=!0;break}this.viewInitial||this.saveViewInitial(r),this.updateBaseLayers(e,r),this.updateDims(e,r),this.updateFx(e,r),u.generalUpdatePerTraceModule(this.graphDiv,this,t,r);var i=this.layers.frontplot.select(&quot;.scatterlayer&quot;);this.dataPoints.point=i.selectAll(&quot;.point&quot;),this.dataPoints.text=i.selectAll(&quot;text&quot;),this.dataPaths.line=i.selectAll(&quot;.js-line&quot;);var a=this.layers.backplot.select(&quot;.choroplethlayer&quot;);this.dataPaths.choropleth=a.selectAll(&quot;path&quot;),this.render()}},y.updateProjection=function(t,e){var r=t._size,n=e.domain,s=e.projection,l=s.rotation||{},c=e.center||{},u=this.projection=function(t){for(var e=t.projection.type,r=i.geo[m.projNames[e]](),n=t._isClipped?m.lonaxisSpan[e]/2:null,a=[&quot;center&quot;,&quot;rotate&quot;,&quot;parallels&quot;,&quot;clipExtent&quot;],o=function(t){return t?r:[]},s=0;s&lt;a.length;s++){var l=a[s];&quot;function&quot;!=typeof r[l]&amp;&amp;(r[l]=o)}return r.isLonLatOverEdges=function(t){if(null===r(t))return!0;if(n){var e=r.rotate();return i.geo.distance(t,[-e[0],-e[1]])&gt;n*Math.PI/180}return!1},r.getPath=function(){return i.geo.path().projection(r)},r.getBounds=function(t){return r.getPath().bounds(t)},r.fitExtent=function(t,e){var n=t[1][0]-t[0][0],i=t[1][1]-t[0][1],a=r.clipExtent&amp;&amp;r.clipExtent();r.scale(150).translate([0,0]),a&amp;&amp;r.clipExtent(null);var o=r.getBounds(e),s=Math.min(n/(o[1][0]-o[0][0]),i/(o[1][1]-o[0][1])),l=+t[0][0]+(n-s*(o[1][0]+o[0][0]))/2,c=+t[0][1]+(i-s*(o[1][1]+o[0][1]))/2;return a&amp;&amp;r.clipExtent(a),r.scale(150*s).translate([l,c])},r.precision(m.precision),n&amp;&amp;r.clipAngle(n-m.clipPad),r}(e);u.center([c.lon-l.lon,c.lat-l.lat]).rotate([-l.lon,-l.lat,l.roll]).parallels(s.parallels);var f=[[r.l+r.w*n.x[0],r.t+r.h*(1-n.y[1])],[r.l+r.w*n.x[1],r.t+r.h*(1-n.y[0])]],h=e.lonaxis,d=e.lataxis,p=function(t,e){var r=m.clipPad,n=t[0]+r,i=t[1]-r,a=e[0]+r,o=e[1]-r;n&gt;0&amp;&amp;i&lt;0&amp;&amp;(i+=360);var s=(i-n)/4;return{type:&quot;Polygon&quot;,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]]]}}(h.range,d.range);u.fitExtent(f,p);var g=this.bounds=u.getBounds(p),v=this.fitScale=u.scale(),y=u.translate();if(!isFinite(g[0][0])||!isFinite(g[0][1])||!isFinite(g[1][0])||!isFinite(g[1][1])||isNaN(y[0])||isNaN(y[0])){for(var x=this.graphDiv,b=[&quot;projection.rotation&quot;,&quot;center&quot;,&quot;lonaxis.range&quot;,&quot;lataxis.range&quot;],_=&quot;Invalid geo settings, relayout'ing to default view.&quot;,w={},M=0;M&lt;b.length;M++)w[this.id+&quot;.&quot;+b[M]]=null;return this.viewInitial=null,o.warn(_),x._promises.push(a.relayout(x,w)),_}var k=this.midPt=[(g[0][0]+g[1][0])/2,(g[0][1]+g[1][1])/2];if(u.scale(s.scale*v).translate([y[0]+(k[0]-y[0]),y[1]+(k[1]-y[1])]).clipExtent(g),e._isAlbersUsa){var A=u([c.lon,c.lat]),T=u.translate();u.translate([T[0]-(A[0]-T[0]),T[1]-(A[1]-T[1])])}},y.updateBaseLayers=function(t,e){function r(t){return&quot;lonaxis&quot;===t||&quot;lataxis&quot;===t}function n(t){return Boolean(m.lineLayers[t])}function a(t){return Boolean(m.fillLayers[t])}var o=this,c=o.topojson,u=o.layers,f=o.basePaths,h=(this.hasChoropleth?m.layersForChoropleth:m.layers).filter(function(t){return n(t)||a(t)?e[&quot;show&quot;+t]:!r(t)||e[t].showgrid}),d=o.framework.selectAll(&quot;.layer&quot;).data(h,String);d.exit().each(function(t){delete u[t],delete f[t],i.select(this).remove()}),d.enter().append(&quot;g&quot;).attr(&quot;class&quot;,function(t){return&quot;layer &quot;+t}).each(function(t){var e=u[t]=i.select(this);&quot;bg&quot;===t?o.bgRect=e.append(&quot;rect&quot;).style(&quot;pointer-events&quot;,&quot;all&quot;):r(t)?f[t]=e.append(&quot;path&quot;).style(&quot;fill&quot;,&quot;none&quot;):&quot;backplot&quot;===t?e.append(&quot;g&quot;).classed(&quot;choroplethlayer&quot;,!0):&quot;frontplot&quot;===t?e.append(&quot;g&quot;).classed(&quot;scatterlayer&quot;,!0):n(t)?f[t]=e.append(&quot;path&quot;).style(&quot;fill&quot;,&quot;none&quot;).style(&quot;stroke-miterlimit&quot;,2):a(t)&amp;&amp;(f[t]=e.append(&quot;path&quot;).style(&quot;stroke&quot;,&quot;none&quot;))}),d.order(),d.each(function(t){var o=f[t],u=m.layerNameToAdjective[t];&quot;frame&quot;===t?o.datum(m.sphereSVG):n(t)||a(t)?o.datum(v(c,c.objects[t])):r(t)&amp;&amp;o.datum(function(t,e){var r=e[t].dtick,n=m.scopeDefaults[e.scope],a=n.lonaxisRange,o=n.lataxisRange,s=&quot;lonaxis&quot;===t?[r]:[0,r];return i.geo.graticule().extent([[a[0],o[0]],[a[1],o[1]]]).step(s)}(t,e)).call(s.stroke,e[t].gridcolor).call(l.dashLine,&quot;&quot;,e[t].gridwidth),n(t)?o.call(s.stroke,e[u+&quot;color&quot;]).call(l.dashLine,&quot;&quot;,e[u+&quot;width&quot;]):a(t)&amp;&amp;o.call(s.fill,e[u+&quot;color&quot;])})},y.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,c=r[1][1]-a+n;l.setRect(this.clipRect,i,a,o,c),this.bgRect.call(l.setRect,i,a,o,c).call(s.fill,e.bgcolor),this.xaxis._offset=i,this.xaxis._length=o,this.yaxis._offset=a,this.yaxis._length=c},y.updateFx=function(t,e){function r(){var t=o.viewInitial,e={};for(var r in t)e[o.id+&quot;.&quot;+r]=t[r];a.relayout(s,e),s.emit(&quot;plotly_doubleclick&quot;,null)}function n(t){return o.projection.invert([t[0]+o.xaxis._offset,t[1]+o.yaxis._offset])}var o=this,s=o.graphDiv,l=o.bgRect,u=t.dragmode;if(!o.isStatic){if(&quot;pan&quot;===u)l.node().onmousedown=null,l.call(p(o,e)),l.on(&quot;dblclick.zoom&quot;,r);else if(&quot;select&quot;===u||&quot;lasso&quot;===u){l.on(&quot;.zoom&quot;,null);var f;&quot;select&quot;===u?f=function(t,e){(t.range={})[o.id]=[n([e.xmin,e.ymin]),n([e.xmax,e.ymax])]}:&quot;lasso&quot;===u&amp;&amp;(f=function(t,e,r){(t.lassoPoints={})[o.id]=r.filtered.map(n)});var m={element:o.bgRect.node(),gd:s,plotinfo:{xaxis:o.xaxis,yaxis:o.yaxis,fillRangeItems:f},xaxes:[o.xaxis],yaxes:[o.yaxis],subplot:o.id,clickFn:function(e){2===e&amp;&amp;t._zoomlayer.selectAll(&quot;.select-outline&quot;).remove()}};m.prepFn=function(t,e,r){d(t,e,r,m,u)},h.init(m)}l.on(&quot;mousemove&quot;,function(){var t=o.projection.invert(i.mouse(this));if(!t||isNaN(t[0])||isNaN(t[1]))return h.unhover(s,i.event);o.xaxis.p2c=function(){return t[0]},o.yaxis.p2c=function(){return t[1]},c.hover(s,i.event,o.id)}),l.on(&quot;mouseout&quot;,function(){h.unhover(s,i.event)}),l.on(&quot;click&quot;,function(){c.click(s,i.event)})}},y.makeFramework=function(){var t=this,e=t.graphDiv._fullLayout,r=&quot;clip&quot;+e._uid+t.id;t.clipDef=e._clips.append(&quot;clipPath&quot;).attr(&quot;id&quot;,r),t.clipRect=t.clipDef.append(&quot;rect&quot;),t.framework=i.select(t.container).append(&quot;g&quot;).attr(&quot;class&quot;,&quot;geo &quot;+t.id).call(l.setClipUrl,r),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:&quot;x&quot;,c2p:function(e){return t.project(e)[0]}},t.yaxis={_id:&quot;y&quot;,c2p:function(e){return t.project(e)[1]}},t.mockAxis={type:&quot;linear&quot;,showexponent:&quot;all&quot;,exponentformat:&quot;B&quot;},f.setConvert(t.mockAxis,e)},y.saveViewInitial=function(t){var e=t.center||{},r=t.projection,n=r.rotation||{};t._isScoped?this.viewInitial={&quot;center.lon&quot;:e.lon,&quot;center.lat&quot;:e.lat,&quot;projection.scale&quot;:r.scale}:t._isClipped?this.viewInitial={&quot;projection.scale&quot;:r.scale,&quot;projection.rotation.lon&quot;:n.lon,&quot;projection.rotation.lat&quot;:n.lat}:this.viewInitial={&quot;center.lon&quot;:e.lon,&quot;center.lat&quot;:e.lat,&quot;projection.scale&quot;:r.scale,&quot;projection.rotation.lon&quot;:n.lon}},y.render=function(){function t(t){var e=n(t.lonlat);return e?&quot;translate(&quot;+e[0]+&quot;,&quot;+e[1]+&quot;)&quot;:null}function e(t){return n.isLonLatOverEdges(t.lonlat)?&quot;none&quot;:null}var r,n=this.projection,i=n.getPath();for(r in this.basePaths)this.basePaths[r].attr(&quot;d&quot;,i);for(r in this.dataPaths)this.dataPaths[r].attr(&quot;d&quot;,function(t){return i(t.geojson)});for(r in this.dataPoints)this.dataPoints[r].attr(&quot;display&quot;,e).attr(&quot;transform&quot;,t)}},{&quot;../../components/color&quot;:618,&quot;../../components/dragelement&quot;:640,&quot;../../components/drawing&quot;:643,&quot;../../components/fx&quot;:660,&quot;../../lib&quot;:743,&quot;../../lib/topojson_utils&quot;:769,&quot;../../plotly&quot;:784,&quot;../cartesian/axes&quot;:789,&quot;../cartesian/select&quot;:807,&quot;../plots&quot;:852,&quot;./constants&quot;:818,&quot;./projections&quot;:824,&quot;./zoom&quot;:825,d3:128,&quot;topojson-client&quot;:549}],820:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;./geo&quot;),i=t(&quot;../../plots/get_data&quot;).getSubplotCalcData,a=t(&quot;../../lib&quot;).counterRegex;r.name=&quot;geo&quot;,r.attr=&quot;geo&quot;,r.idRoot=&quot;geo&quot;,r.idRegex=r.attrRegex=a(&quot;geo&quot;),r.attributes=t(&quot;./layout/attributes&quot;),r.layoutAttributes=t(&quot;./layout/layout_attributes&quot;),r.supplyLayoutDefaults=t(&quot;./layout/defaults&quot;),r.plot=function(t){var e=t._fullLayout,r=t.calcdata,a=e._subplots.geo;void 0===window.PlotlyGeoAssets&amp;&amp;(window.PlotlyGeoAssets={topojson:{}});for(var o=0;o&lt;a.length;o++){var s=a[o],l=i(r,&quot;geo&quot;,s),c=e[s]._subplot;c||(c=n({id:s,graphDiv:t,container:e._geolayer.node(),topojsonURL:t._context.topojsonURL,staticPlot:t._context.staticPlot}),e[s]._subplot=c),c.plot(l,e,t._promises)}},r.clean=function(t,e,r,n){for(var i=n._subplots.geo||[],a=0;a&lt;i.length;a++){var o=i[a],s=n[o]._subplot;!e[o]&amp;&amp;s&amp;&amp;(s.framework.remove(),s.clipDef.remove())}},r.updateFx=function(t){for(var e=t._subplots.geo,r=0;r&lt;e.length;r++){var n=t[e[r]];n._subplot.updateFx(t,n)}}},{&quot;../../lib&quot;:743,&quot;../../plots/get_data&quot;:826,&quot;./geo&quot;:819,&quot;./layout/attributes&quot;:821,&quot;./layout/defaults&quot;:822,&quot;./layout/layout_attributes&quot;:823}],821:[function(t,e,r){&quot;use strict&quot;;e.exports={geo:{valType:&quot;subplotid&quot;,dflt:&quot;geo&quot;,editType:&quot;calc&quot;}}},{}],822:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r){var n=r(&quot;resolution&quot;),i=r(&quot;scope&quot;),o=a.scopeDefaults[i],l=r(&quot;projection.type&quot;,o.projType),c=e._isAlbersUsa=&quot;albers usa&quot;===l;c&amp;&amp;(i=e.scope=&quot;usa&quot;);var u=e._isScoped=&quot;world&quot;!==i,f=e._isConic=-1!==l.indexOf(&quot;conic&quot;);e._isClipped=!!a.lonaxisSpan[l];for(var h=0;h&lt;s.length;h++){var d,p=s[h],m=[30,10][h];if(u)d=o[p+&quot;Range&quot;];else{var g=a[p+&quot;Span&quot;],v=(g[l]||g[&quot;*&quot;])/2,y=r(&quot;projection.rotation.&quot;+p.substr(0,3),o.projRotate[h]);d=[y-v,y+v]}r(p+&quot;.tick0&quot;,r(p+&quot;.range&quot;,d)[0]),r(p+&quot;.dtick&quot;,m),r(p+&quot;.showgrid&quot;)&amp;&amp;(r(p+&quot;.gridcolor&quot;),r(p+&quot;.gridwidth&quot;))}var x=e.lonaxis.range,b=e.lataxis.range,_=x[0],w=x[1];_&gt;0&amp;&amp;w&lt;0&amp;&amp;(w+=360);var M,k=(_+w)/2;if(!c){var A=u?o.projRotate:[k,0,0];M=r(&quot;projection.rotation.lon&quot;,A[0]),r(&quot;projection.rotation.lat&quot;,A[1]),r(&quot;projection.rotation.roll&quot;,A[2]),r(&quot;showcoastlines&quot;,!u)&amp;&amp;(r(&quot;coastlinecolor&quot;),r(&quot;coastlinewidth&quot;)),r(&quot;showocean&quot;)&amp;&amp;r(&quot;oceancolor&quot;)}var T,S;if(c?(T=-96.6,S=38.7):(T=u?k:M,S=(b[0]+b[1])/2),r(&quot;center.lon&quot;,T),r(&quot;center.lat&quot;,S),f){r(&quot;projection.parallels&quot;,o.projParallels||[0,60])}r(&quot;projection.scale&quot;),r(&quot;showland&quot;)&amp;&amp;r(&quot;landcolor&quot;),r(&quot;showlakes&quot;)&amp;&amp;r(&quot;lakecolor&quot;),r(&quot;showrivers&quot;)&amp;&amp;(r(&quot;rivercolor&quot;),r(&quot;riverwidth&quot;)),r(&quot;showcountries&quot;,u&amp;&amp;&quot;usa&quot;!==i)&amp;&amp;(r(&quot;countrycolor&quot;),r(&quot;countrywidth&quot;)),(&quot;usa&quot;===i||&quot;north america&quot;===i&amp;&amp;50===n)&amp;&amp;(r(&quot;showsubunits&quot;,!0),r(&quot;subunitcolor&quot;),r(&quot;subunitwidth&quot;)),u||r(&quot;showframe&quot;,!0)&amp;&amp;(r(&quot;framecolor&quot;),r(&quot;framewidth&quot;)),r(&quot;bgcolor&quot;)}var i=t(&quot;../../subplot_defaults&quot;),a=t(&quot;../constants&quot;),o=t(&quot;./layout_attributes&quot;),s=a.axesNames;e.exports=function(t,e,r){i(t,e,r,{type:&quot;geo&quot;,attributes:o,handleDefaults:n,partition:&quot;y&quot;})}},{&quot;../../subplot_defaults&quot;:865,&quot;../constants&quot;:818,&quot;./layout_attributes&quot;:823}],823:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../../components/color/attributes&quot;),i=t(&quot;../../domain_attributes&quot;),a=t(&quot;../constants&quot;),o=t(&quot;../../../plot_api/edit_types&quot;).overrideAll,s={range:{valType:&quot;info_array&quot;,items:[{valType:&quot;number&quot;},{valType:&quot;number&quot;}]},showgrid:{valType:&quot;boolean&quot;,dflt:!1},tick0:{valType:&quot;number&quot;},dtick:{valType:&quot;number&quot;},gridcolor:{valType:&quot;color&quot;,dflt:n.lightLine},gridwidth:{valType:&quot;number&quot;,min:0,dflt:1}};e.exports=o({domain:i({name:&quot;geo&quot;},{}),resolution:{valType:&quot;enumerated&quot;,values:[110,50],dflt:110,coerceNumber:!0},scope:{valType:&quot;enumerated&quot;,values:Object.keys(a.scopeDefaults),dflt:&quot;world&quot;},projection:{type:{valType:&quot;enumerated&quot;,values:Object.keys(a.projNames)},rotation:{lon:{valType:&quot;number&quot;},lat:{valType:&quot;number&quot;},roll:{valType:&quot;number&quot;}},parallels:{valType:&quot;info_array&quot;,items:[{valType:&quot;number&quot;},{valType:&quot;number&quot;}]},scale:{valType:&quot;number&quot;,min:0,dflt:1}},center:{lon:{valType:&quot;number&quot;},lat:{valType:&quot;number&quot;}},showcoastlines:{valType:&quot;boolean&quot;},coastlinecolor:{valType:&quot;color&quot;,dflt:n.defaultLine},coastlinewidth:{valType:&quot;number&quot;,min:0,dflt:1},showland:{valType:&quot;boolean&quot;,dflt:!1},landcolor:{valType:&quot;color&quot;,dflt:a.landColor},showocean:{valType:&quot;boolean&quot;,dflt:!1},oceancolor:{valType:&quot;color&quot;,dflt:a.waterColor},showlakes:{valType:&quot;boolean&quot;,dflt:!1},lakecolor:{valType:&quot;color&quot;,dflt:a.waterColor},showrivers:{valType:&quot;boolean&quot;,dflt:!1},rivercolor:{valType:&quot;color&quot;,dflt:a.waterColor},riverwidth:{valType:&quot;number&quot;,min:0,dflt:1},showcountries:{valType:&quot;boolean&quot;},countrycolor:{valType:&quot;color&quot;,dflt:n.defaultLine},countrywidth:{valType:&quot;number&quot;,min:0,dflt:1},showsubunits:{valType:&quot;boolean&quot;},subunitcolor:{valType:&quot;color&quot;,dflt:n.defaultLine},subunitwidth:{valType:&quot;number&quot;,min:0,dflt:1},showframe:{valType:&quot;boolean&quot;},framecolor:{valType:&quot;color&quot;,dflt:n.defaultLine},framewidth:{valType:&quot;number&quot;,min:0,dflt:1},bgcolor:{valType:&quot;color&quot;,dflt:n.background},lonaxis:s,lataxis:s},&quot;plot&quot;,&quot;from-root&quot;)},{&quot;../../../components/color/attributes&quot;:617,&quot;../../../plot_api/edit_types&quot;:773,&quot;../../domain_attributes&quot;:815,&quot;../constants&quot;:818}],824:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t){function e(t,e){return{type:&quot;Feature&quot;,id:t.id,properties:t.properties,geometry:r(t.geometry,e)}}function r(e,n){if(!e)return null;if(&quot;GeometryCollection&quot;===e.type)return{type:&quot;GeometryCollection&quot;,geometries:object.geometries.map(function(t){return r(t,n)})};if(!M.hasOwnProperty(e.type))return null;var i=M[e.type];return t.geo.stream(e,n(i)),i.result()}function n(){}function i(t){return t&gt;1?S:t&lt;-1?-S:Math.asin(t)}function a(t){return t&gt;1?0:t&lt;-1?T:Math.acos(t)}function o(t,e){var r=(2+S)*Math.sin(e);e/=2;for(var n=0,i=1/0;n&lt;10&amp;&amp;Math.abs(i)&gt;k;n++){var a=Math.cos(e);e-=i=(e+Math.sin(e)*(a+2)-r)/(2*a*(1+a))}return[2/Math.sqrt(T*(4+T))*t*(1+Math.cos(e)),2*Math.sqrt(T/(4+T))*Math.sin(e)]}function s(t,e){function r(r,n){var i=D(r/e,n);return i[0]*=t,i}return arguments.length&lt;2&amp;&amp;(e=t),1===e?D:e===1/0?l:(r.invert=function(r,n){var i=D.invert(r/t,n);return i[0]*=e,i},r)}function l(t,e){return[t*Math.cos(e)/Math.cos(e/=2),2*Math.sin(e)]}function c(t,e){return[3*t/(2*T)*Math.sqrt(T*T/3-e*e),e]}function u(t,e){return[t,1.25*Math.log(Math.tan(T/4+.4*e))]}function f(t){return function(e){var r,n=t*Math.sin(e),i=30;do{e-=r=(e+Math.sin(e)-n)/(1+Math.cos(e))}while(Math.abs(r)&gt;k&amp;&amp;--i&gt;0);return e/2}}function h(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 d(t,e){var r,n=Math.min(18,36*Math.abs(e)/T),i=Math.floor(n),a=n-i,o=(r=P[i])[0],s=r[1],l=(r=P[++i])[0],c=r[1],u=(r=P[Math.min(19,++i)])[0],f=r[1];return[t*(l+a*(u-o)/2+a*a*(u-2*l+o)/2),(e&gt;0?S:-S)*(c+a*(f-s)/2+a*a*(f-2*c+s)/2)]}function p(t,e){return[t*Math.cos(e),e]}function m(t,e){var r=Math.cos(e),n=function(t){return t?t/Math.sin(t):1}(a(r*Math.cos(t/=2)));return[2*r*Math.sin(t)*n,Math.sin(e)*n]}function g(t,e){var r=m(t,e);return[(r[0]+t/S)/2,(r[1]+e)/2]}t.geo.project=function(t,e){var n=e.stream;if(!n)throw new Error(&quot;not yet supported&quot;);return(t&amp;&amp;v.hasOwnProperty(t.type)?v[t.type]:r)(t,n)};var v={Feature:e,FeatureCollection:function(t,r){return{type:&quot;FeatureCollection&quot;,features:t.features.map(function(t){return e(t,r)})}}},y=[],x=[],b={point:function(t,e){y.push([t,e])},result:function(){var t=y.length?y.length&lt;2?{type:&quot;Point&quot;,coordinates:y[0]}:{type:&quot;MultiPoint&quot;,coordinates:y}:null;return y=[],t}},_={lineStart:n,point:function(t,e){y.push([t,e])},lineEnd:function(){y.length&amp;&amp;(x.push(y),y=[])},result:function(){var t=x.length?x.length&lt;2?{type:&quot;LineString&quot;,coordinates:x[0]}:{type:&quot;MultiLineString&quot;,coordinates:x}:null;return x=[],t}},w={polygonStart:n,lineStart:n,point:function(t,e){y.push([t,e])},lineEnd:function(){var t=y.length;if(t){do{y.push(y[0].slice())}while(++t&lt;4);x.push(y),y=[]}},polygonEnd:n,result:function(){if(!x.length)return null;var t=[],e=[];return x.forEach(function(r){!function(t){if((e=t.length)&lt;4)return!1;for(var e,r=0,n=t[e-1][1]*t[0][0]-t[e-1][0]*t[0][1];++r&lt;e;)n+=t[r-1][1]*t[r][0]-t[r-1][0]*t[r][1];return n&lt;=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&lt;o;s=a++){var l=t[a],c=l[0],u=l[1],f=t[s],h=f[0],d=f[1];u&gt;n^d&gt;n&amp;&amp;r&lt;(h-c)*(n-u)/(d-u)+c&amp;&amp;(i=!i)}return i}(t[0],r))return t.push(e),!0})||t.push([e])}),x=[],t.length?t.length&gt;1?{type:&quot;MultiPolygon&quot;,coordinates:t}:{type:&quot;Polygon&quot;,coordinates:t[0]}:null}},M={Point:b,MultiPoint:b,LineString:_,MultiLineString:_,Polygon:w,MultiPolygon:w,Sphere:w},k=1e-6,A=k*k,T=Math.PI,S=T/2,E=(Math.sqrt(T),T/180),L=180/T,C=t.geo.projection,z=t.geo.projectionMutator;t.geo.interrupt=function(e){function r(t,r){for(var n=r&lt;0?-1:1,i=a[+(r&lt;0)],o=0,s=i.length-1;o&lt;s&amp;&amp;t&gt;i[o][2][0];++o);var l=e(t-i[o][1][0],r);return l[0]+=e(i[o][1][0],n*r&gt;n*i[o][0][1]?i[o][0][1]:r)[0],l}function n(t,e){for(var r,n,i,a=-1,o=t.length,s=t[0],l=[];++a&lt;o;){n=((r=t[a])[0]-s[0])/e,i=(r[1]-s[1])/e;for(var c=0;c&lt;e;++c)l.push([s[0]+c*n,s[1]+c*i]);s=r}return l.push(r),l}var i,a=[[[[-T,0],[0,S],[T,0]]],[[[-T,0],[0,-S],[T,0]]]];e.invert&amp;&amp;(r.invert=function(t,n){for(var o=i[+(n&lt;0)],s=a[+(n&lt;0)],l=0,c=o.length;l&lt;c;++l){var u=o[l];if(u[0][0]&lt;=t&amp;&amp;t&lt;u[1][0]&amp;&amp;u[0][1]&lt;=n&amp;&amp;n&lt;u[1][1]){var f=e.invert(t-e(s[l][1][0],0)[0],n);return f[0]+=s[l][1][0],function(t,e){return Math.abs(t[0]-e[0])&lt;k&amp;&amp;Math.abs(t[1]-e[1])&lt;k}(r(f[0],f[1]),[t,n])?f:null}}});var o=t.geo.projection(r),s=o.stream;return o.stream=function(e){var r=o.rotate(),i=s(e),l=(o.rotate([0,0]),s(e));return o.rotate(r),i.sphere=function(){t.geo.stream(function(){for(var e=[],r=0,i=a[0].length;r&lt;i;++r){var o=180*(f=a[0][r])[0][0]/T,s=180*f[0][1]/T,l=180*f[1][1]/T,c=180*f[2][0]/T,u=180*f[2][1]/T;e.push(n([[o+1e-6,s+1e-6],[o+1e-6,l-1e-6],[c-1e-6,l-1e-6],[c-1e-6,u+1e-6]],30))}for(r=a[1].length-1;r&gt;=0;--r){var f;o=180*(f=a[1][r])[0][0]/T,s=180*f[0][1]/T,l=180*f[1][1]/T,c=180*f[2][0]/T,u=180*f[2][1]/T,e.push(n([[c-1e-6,u-1e-6],[c-1e-6,l+1e-6],[o+1e-6,l+1e-6],[o+1e-6,s-1e-6]],30))}return{type:&quot;Polygon&quot;,coordinates:[t.merge(e)]}}(),l)},i},o.lobes=function(t){return arguments.length?(a=t.map(function(t){return t.map(function(t){return[[t[0][0]*T/180,t[0][1]*T/180],[t[1][0]*T/180,t[1][1]*T/180],[t[2][0]*T/180,t[2][1]*T/180]]})}),i=a.map(function(t){return t.map(function(t){var r,n=e(t[0][0],t[0][1])[0],i=e(t[2][0],t[2][1])[0],a=e(t[1][0],t[0][1])[1],o=e(t[1][0],t[1][1])[1];return a&gt;o&amp;&amp;(r=a,a=o,o=r),[[n,a],[i,o]]})}),o):a.map(function(t){return t.map(function(t){return[[180*t[0][0]/T,180*t[0][1]/T],[180*t[1][0]/T,180*t[1][1]/T],[180*t[2][0]/T,180*t[2][1]/T]]})})},o},o.invert=function(t,e){var r=.5*e*Math.sqrt((4+T)/T),n=i(r),a=Math.cos(n);return[t/(2/Math.sqrt(T*(4+T))*(1+a)),i((n+r*(a+2))/(2+S))]},(t.geo.eckert4=function(){return C(o)}).raw=o;var D=t.geo.azimuthalEqualArea.raw;l.invert=function(t,e){var r=2*i(e/2);return[t*Math.cos(r/2)/Math.cos(r),r]},(t.geo.hammer=function(){var t=2,e=z(s),r=e(t);return r.coefficient=function(r){return arguments.length?e(t=+r):t},r}).raw=s,c.invert=function(t,e){return[2/3*T*t/Math.sqrt(T*T/3-e*e),e]},(t.geo.kavrayskiy7=function(){return C(c)}).raw=c,u.invert=function(t,e){return[t,2.5*Math.atan(Math.exp(.8*e))-.625*T]},(t.geo.miller=function(){return C(u)}).raw=u,f(T);var I=function(t,e,r){function n(r,n){return[t*r*Math.cos(n=a(n)),e*Math.sin(n)]}var a=f(r);return n.invert=function(n,a){var o=i(a/e);return[n/(t*Math.cos(o)),i((2*o+Math.sin(2*o))/r)]},n}(Math.SQRT2/S,Math.SQRT2,T);(t.geo.mollweide=function(){return C(I)}).raw=I,h.invert=function(t,e){var r,n=e,i=25;do{var a=n*n,o=a*a;n-=r=(n*(1.007226+a*(.015085+o*(.028874*a-.044475-.005916*o)))-e)/(1.007226+a*(.045255+o*(.259866*a-.311325-.005916*11*o)))}while(Math.abs(r)&gt;k&amp;&amp;--i&gt;0);return[t/(.8707+(a=n*n)*(a*(a*a*a*(.003971-.001529*a)-.013791)-.131979)),n]},(t.geo.naturalEarth=function(){return C(h)}).raw=h;var P=[[.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]];P.forEach(function(t){t[1]*=1.0144}),d.invert=function(t,e){var r=e/S,n=90*r,i=Math.min(18,Math.abs(n/5)),a=Math.max(0,Math.floor(i));do{var o=P[a][1],s=P[a+1][1],l=P[Math.min(19,a+2)][1],c=l-o,u=l-2*s+o,f=2*(Math.abs(r)-s)/c,h=u/c,d=f*(1-h*f*(1-2*h*f));if(d&gt;=0||1===a){n=(e&gt;=0?5:-5)*(d+i);var p,m=50;do{d=(i=Math.min(18,Math.abs(n)/5))-(a=Math.floor(i)),o=P[a][1],s=P[a+1][1],l=P[Math.min(19,a+2)][1],n-=(p=(e&gt;=0?S:-S)*(s+d*(l-o)/2+d*d*(l-2*s+o)/2)-e)*L}while(Math.abs(p)&gt;A&amp;&amp;--m&gt;0);break}}while(--a&gt;=0);var g=P[a][0],v=P[a+1][0],y=P[Math.min(19,a+2)][0];return[t/(v+d*(y-g)/2+d*d*(y-2*v+g)/2),n*E]},(t.geo.robinson=function(){return C(d)}).raw=d,p.invert=function(t,e){return[t/Math.cos(e),e]},(t.geo.sinusoidal=function(){return C(p)}).raw=p,m.invert=function(t,e){if(!(t*t+4*e*e&gt;T*T+k)){var r=t,n=e,i=25;do{var o,s=Math.sin(r),l=Math.sin(r/2),c=Math.cos(r/2),u=Math.sin(n),f=Math.cos(n),h=Math.sin(2*n),d=u*u,p=f*f,m=l*l,g=1-p*c*c,v=g?a(f*c)*Math.sqrt(o=1/g):o=0,y=2*v*f*l-t,x=v*u-e,b=o*(p*m+v*f*c*d),_=o*(.5*s*h-2*v*u*l),w=.25*o*(h*l-v*u*p*s),M=o*(d*c+v*m*f),A=_*w-M*b;if(!A)break;var S=(x*_-y*M)/A,E=(y*w-x*b)/A;r-=S,n-=E}while((Math.abs(S)&gt;k||Math.abs(E)&gt;k)&amp;&amp;--i&gt;0);return[r,n]}},(t.geo.aitoff=function(){return C(m)}).raw=m,g.invert=function(t,e){var r=t,n=e,i=25;do{var o,s=Math.cos(n),l=Math.sin(n),c=Math.sin(2*n),u=l*l,f=s*s,h=Math.sin(r),d=Math.cos(r/2),p=Math.sin(r/2),m=p*p,g=1-f*d*d,v=g?a(s*d)*Math.sqrt(o=1/g):o=0,y=.5*(2*v*s*p+r/S)-t,x=.5*(v*l+n)-e,b=.5*o*(f*m+v*s*d*u)+.5/S,_=o*(h*c/4-v*l*p),w=.125*o*(c*p-v*l*f*h),M=.5*o*(u*d+v*m*s)+.5,A=_*w-M*b,T=(x*_-y*M)/A,E=(y*w-x*b)/A;r-=T,n-=E}while((Math.abs(T)&gt;k||Math.abs(E)&gt;k)&amp;&amp;--i&gt;0);return[r,n]},(t.geo.winkel3=function(){return C(g)}).raw=g}},{}],825:[function(t,e,r){&quot;use strict&quot;;function n(t,e){return d.behavior.zoom().translate(e.translate()).scale(e.scale())}function i(t,e,r){function n(t,e){var r=p.nestedProperty(s,t);r.get()!==e&amp;&amp;(r.set(e),p.nestedProperty(o,t).set(e),l[i+&quot;.&quot;+t]=e)}var i=t.id,a=t.graphDiv,o=a.layout[i],s=a._fullLayout[i],l={};r(n),n(&quot;projection.scale&quot;,e.scale()/t.fitScale),a.emit(&quot;plotly_relayout&quot;,l)}function a(t,e){function r(r){var n=e.invert(t.midPt);r(&quot;center.lon&quot;,n[0]),r(&quot;center.lat&quot;,n[1])}var a=n(0,e);return a.on(&quot;zoomstart&quot;,function(){d.select(this).style(v)}).on(&quot;zoom&quot;,function(){e.scale(d.event.scale).translate(d.event.translate),t.render()}).on(&quot;zoomend&quot;,function(){d.select(this).style(y),i(t,e,r)}),a}function o(t,e){function r(t){return e.invert(t)}function a(r){var n=e.rotate(),i=e.invert(t.midPt);r(&quot;projection.rotation.lon&quot;,-n[0]),r(&quot;center.lon&quot;,i[0]),r(&quot;center.lat&quot;,i[1])}var o,s,l,c,u,f,h,p,m=n(0,e),g=2;return m.on(&quot;zoomstart&quot;,function(){d.select(this).style(v),o=d.mouse(this),s=e.rotate(),l=e.translate(),c=s,u=r(o)}).on(&quot;zoom&quot;,function(){if(f=d.mouse(this),function(t){var n=e(r(t));return Math.abs(n[0]-t[0])&gt;g||Math.abs(n[1]-t[1])&gt;g}(o))return m.scale(e.scale()),void m.translate(e.translate());e.scale(d.event.scale),e.translate([l[0],d.event.translate[1]]),u?r(f)&amp;&amp;(p=r(f),h=[c[0]+(p[0]-u[0]),s[1],s[2]],e.rotate(h),c=h):u=r(o=f),t.render()}).on(&quot;zoomend&quot;,function(){d.select(this).style(y),i(t,e,a)}),m}function s(t,e){function r(t){var r=e.rotate();t(&quot;projection.rotation.lon&quot;,-r[0]),t(&quot;projection.rotation.lat&quot;,-r[1])}var a,o={r:e.rotate(),k:e.scale()},s=n(0,e),u=function(t){var e=0,r=arguments.length,n=[];for(;++e&lt;r;)n.push(arguments[e]);var i=d.dispatch.apply(null,n);return i.of=function(e,r){return function(n){var a;try{a=n.sourceEvent=d.event,n.target=t,d.event=n,i[n.type].apply(e,r)}finally{d.event=a}}},i}(s,&quot;zoomstart&quot;,&quot;zoom&quot;,&quot;zoomend&quot;),p=0,x=s.on;return s.on(&quot;zoomstart&quot;,function(){d.select(this).style(v);var t=d.mouse(this),r=e.rotate(),n=r,i=e.translate(),y=function(t){var e=.5*t[0]*m,r=.5*t[1]*m,n=.5*t[2]*m,i=Math.sin(e),a=Math.cos(e),o=Math.sin(r),s=Math.cos(r),l=Math.sin(n),c=Math.cos(n);return[a*s*c+i*o*l,i*s*c-a*o*l,a*o*c+i*s*l,a*s*l-i*o*c]}(r);a=l(e,t),x.call(s,&quot;zoom&quot;,function(){var s=d.mouse(this);if(e.scale(o.k=d.event.scale),a){if(l(e,s)){e.rotate(r).translate(i);var p=l(e,s),m=function(t,e){if(!t||!e)return;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(h(r,r)),i=.5*Math.acos(Math.max(-1,Math.min(1,h(t,e)))),a=Math.sin(i)/n;return n&amp;&amp;[Math.cos(i),r[2]*a,-r[1]*a,r[0]*a]}(a,p),v=function(t){return[Math.atan2(2*(t[0]*t[1]+t[2]*t[3]),1-2*(t[1]*t[1]+t[2]*t[2]))*g,Math.asin(Math.max(-1,Math.min(1,2*(t[0]*t[2]-t[3]*t[1]))))*g,Math.atan2(2*(t[0]*t[3]+t[1]*t[2]),1-2*(t[2]*t[2]+t[3]*t[3]))*g]}(function(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]}(y,m)),x=o.r=function(t,e,r){var n=f(e,2,t[0]);n=f(n=f(n,1,t[1]),0,t[2]-r[2]);var i,a,o=e[0],s=e[1],l=e[2],u=n[0],h=n[1],d=n[2],p=Math.atan2(s,o)*g,m=Math.sqrt(o*o+s*s);Math.abs(h)&gt;m?(a=(h&gt;0?90:-90)-p,i=0):(a=Math.asin(h/m)*g-p,i=Math.sqrt(m*m-h*h));var v=180-a-2*p,y=(Math.atan2(d,u)-Math.atan2(l,i))*g,x=(Math.atan2(d,u)-Math.atan2(l,-i))*g,b=c(r[0],r[1],a,y),_=c(r[0],r[1],v,x);return b&lt;=_?[a,y,r[2]]:[v,x,r[2]]}(v,a,n);isFinite(x[0])&amp;&amp;isFinite(x[1])&amp;&amp;isFinite(x[2])||(x=n),e.rotate(x),n=x}}else a=l(e,t=s);!function(t){t({type:&quot;zoom&quot;})}(u.of(this,arguments))}),function(t){p++||t({type:&quot;zoomstart&quot;})}(u.of(this,arguments))}).on(&quot;zoomend&quot;,function(){d.select(this).style(y),x.call(s,&quot;zoom&quot;,null),function(t){--p||t({type:&quot;zoomend&quot;})}(u.of(this,arguments)),i(t,e,r)}).on(&quot;zoom.redraw&quot;,function(){t.render()}),d.rebind(s,u,&quot;on&quot;)}function l(t,e){var r=t.invert(e);return r&amp;&amp;isFinite(r[0])&amp;&amp;isFinite(r[1])&amp;&amp;function(t){var e=t[0]*m,r=t[1]*m,n=Math.cos(r);return[n*Math.cos(e),n*Math.sin(e),Math.sin(r)]}(r)}function c(t,e,r,n){var i=u(r-t),a=u(n-e);return Math.sqrt(i*i+a*a)}function u(t){return(t%360+540)%360-180}function f(t,e,r){var n=r*m,i=t.slice(),a=0===e?1:0,o=2===e?1:2,s=Math.cos(n),l=Math.sin(n);return i[a]=t[a]*s-t[o]*l,i[o]=t[o]*s+t[a]*l,i}function h(t,e){for(var r=0,n=0,i=t.length;n&lt;i;++n)r+=t[n]*e[n];return r}var d=t(&quot;d3&quot;),p=t(&quot;../../lib&quot;),m=Math.PI/180,g=180/Math.PI,v={cursor:&quot;pointer&quot;},y={cursor:&quot;auto&quot;};e.exports=function(t,e){var r=t.projection;return(e._isScoped?a:e._isClipped?s:o)(t,r)}},{&quot;../../lib&quot;:743,d3:128}],826:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../registry&quot;),i=t(&quot;./cartesian/constants&quot;).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&lt;t.length;s++){var l=t[s];l[0].trace[a]===r&amp;&amp;o.push(l)}return o},r.getModuleCalcData=function(t,e){var r=[],i=&quot;string&quot;==typeof e?n.getModule(e):e;if(!i)return r;for(var a=0;a&lt;t.length;a++){var o=t[a],s=o[0].trace;s._module===i&amp;&amp;!0===s.visible&amp;&amp;r.push(o)}return r},r.getSubplotData=function(t,e,r){if(!n.subplotsRegistry[e])return[];var a,o,s,l=n.subplotsRegistry[e].attr,c=[];if(&quot;gl2d&quot;===e){var u=r.match(i);o=&quot;x&quot;+u[1],s=&quot;y&quot;+u[2]}for(var f=0;f&lt;t.length;f++)a=t[f],&quot;gl2d&quot;===e&amp;&amp;n.traceIs(a,&quot;gl2d&quot;)?a[l[0]]===o&amp;&amp;a[l[1]]===s&amp;&amp;c.push(a):a[l]===r&amp;&amp;c.push(a);return c}},{&quot;../registry&quot;:873,&quot;./cartesian/constants&quot;:794}],827:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;mouse-change&quot;),i=t(&quot;mouse-wheel&quot;),a=t(&quot;mouse-event-offset&quot;),o=t(&quot;../cartesian/constants&quot;);e.exports=function(t){function e(){t.xaxis.autorange=!1,t.yaxis.autorange=!1}function r(r,n,i){function a(e,r,n){var i=Math.min(r,n),a=Math.max(r,n);i!==a?(f[e]=i,f[e+2]=a,c.dataBox=f,t.setRanges(f)):(t.selectBox.selectBox=[0,0,1,1],t.glplot.setDirty())}var s,u,f=t.calcDataBox(),h=l.viewBox,d=c.lastPos[0],p=c.lastPos[1],m=o.MINDRAG*l.pixelRatio,g=o.MINZOOM*l.pixelRatio;switch(n*=l.pixelRatio,i*=l.pixelRatio,i=h[3]-h[1]-i,t.fullLayout.dragmode){case&quot;zoom&quot;:if(r){var v=n/(h[2]-h[0])*(f[2]-f[0])+f[0],y=i/(h[3]-h[1])*(f[3]-f[1])+f[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]&amp;&amp;c.boxStart[1]===c.boxEnd[1]||(c.boxEnabled=!0);var x=Math.abs(c.dragStart[0]-n)&lt;g,b=Math.abs(c.dragStart[1]-i)&lt;g;if(!function(){for(var e=t.graphDiv._fullLayout._axisConstraintGroups,r=t.xaxis._id,n=t.yaxis._id,i=0;i&lt;e.length;i++)if(-1!==e[i][r]){if(-1!==e[i][n])return!0;break}return!1}()||x&amp;&amp;b)x&amp;&amp;(c.boxEnd[0]=c.boxStart[0]),b&amp;&amp;(c.boxEnd[1]=c.boxStart[1]);else{s=c.boxEnd[0]-c.boxStart[0],u=c.boxEnd[1]-c.boxStart[1];var _=(f[3]-f[1])/(f[2]-f[0]);Math.abs(s*_)&gt;Math.abs(u)?(c.boxEnd[1]=c.boxStart[1]+Math.abs(s)*_*(u&gt;=0?1:-1),c.boxEnd[1]&lt;f[1]?(c.boxEnd[1]=f[1],c.boxEnd[0]=c.boxStart[0]+(f[1]-c.boxStart[1])/Math.abs(_)):c.boxEnd[1]&gt;f[3]&amp;&amp;(c.boxEnd[1]=f[3],c.boxEnd[0]=c.boxStart[0]+(f[3]-c.boxStart[1])/Math.abs(_))):(c.boxEnd[0]=c.boxStart[0]+Math.abs(u)/_*(s&gt;=0?1:-1),c.boxEnd[0]&lt;f[0]?(c.boxEnd[0]=f[0],c.boxEnd[1]=c.boxStart[1]+(f[0]-c.boxStart[0])*Math.abs(_)):c.boxEnd[0]&gt;f[2]&amp;&amp;(c.boxEnd[0]=f[2],c.boxEnd[1]=c.boxStart[1]+(f[2]-c.boxStart[0])*Math.abs(_)))}}else c.boxEnabled?(s=c.boxStart[0]!==c.boxEnd[0],u=c.boxStart[1]!==c.boxEnd[1],s||u?(s&amp;&amp;(a(0,c.boxStart[0],c.boxEnd[0]),t.xaxis.autorange=!1),u&amp;&amp;(a(1,c.boxStart[1],c.boxEnd[1]),t.yaxis.autorange=!1),t.relayoutCallback()):t.glplot.setDirty(),c.boxEnabled=!1,c.boxInited=!1):c.boxInited&amp;&amp;(c.boxInited=!1);break;case&quot;pan&quot;:c.boxEnabled=!1,c.boxInited=!1,r?(c.panning||(c.dragStart[0]=n,c.dragStart[1]=i),Math.abs(c.dragStart[0]-n)&lt;m&amp;&amp;(n=c.dragStart[0]),Math.abs(c.dragStart[1]-i)&lt;m&amp;&amp;(i=c.dragStart[1]),s=(d-n)*(f[2]-f[0])/(l.viewBox[2]-l.viewBox[0]),u=(p-i)*(f[3]-f[1])/(l.viewBox[3]-l.viewBox[1]),f[0]+=s,f[2]+=s,f[1]+=u,f[3]+=u,t.setRanges(f),c.panning=!0,c.lastInputTime=Date.now(),e(),t.cameraChanged(),t.handleAnnotations()):c.panning&amp;&amp;(c.panning=!1,t.relayoutCallback())}c.lastPos[0]=n,c.lastPos[1]=i}var s=t.mouseContainer,l=t.glplot,c=new function(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]}(s,l);return c.mouseListener=n(s,r),s.addEventListener(&quot;touchstart&quot;,function(t){var e=a(t.changedTouches[0],s);r(0,e[0],e[1]),r(1,e[0],e[1])}),s.addEventListener(&quot;touchmove&quot;,function(t){t.preventDefault();var e=a(t.changedTouches[0],s);r(1,e[0],e[1])}),s.addEventListener(&quot;touchend&quot;,function(){r(0,c.lastPos[0],c.lastPos[1])}),c.wheelListener=i(s,function(r,n){if(!t.scrollZoom)return!1;var i=t.calcDataBox(),a=l.viewBox,o=c.lastPos[0],s=c.lastPos[1],u=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)*u+f,i[2]=(i[2]-f)*u+f,i[1]=(i[1]-h)*u+h,i[3]=(i[3]-h)*u+h,t.setRanges(i),c.lastInputTime=Date.now(),e(),t.cameraChanged(),t.handleAnnotations(),t.relayoutCallback(),!0}),c}},{&quot;../cartesian/constants&quot;:794,&quot;mouse-change&quot;:443,&quot;mouse-event-offset&quot;:444,&quot;mouse-wheel&quot;:446}],828:[function(t,e,r){&quot;use strict&quot;;function n(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=[&quot;x&quot;,&quot;y&quot;],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=[&quot;sans-serif&quot;,&quot;sans-serif&quot;],this.labelColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.title=&quot;&quot;,this.titleEnable=!0,this.titleCenter=[0,0,0,0],this.titleAngle=0,this.titleColor=[0,0,0,1],this.titleFont=&quot;sans-serif&quot;,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=!1,this.backgroundColor=[0,0,0,0],this.static=this.scene.staticPlot}var i=t(&quot;../cartesian/axes&quot;),a=t(&quot;../../lib/html2unicode&quot;),o=t(&quot;../../lib/str2rgbarray&quot;),s=n.prototype,l=[&quot;xaxis&quot;,&quot;yaxis&quot;];s.merge=function(t){this.titleEnable=!1,this.backgroundColor=o(t.plot_bgcolor);var e,r,n,i,s,c,u,f,h,d,p;for(d=0;d&lt;2;++d){var m=(e=l[d]).charAt(0);for(n=(r=t[this.scene[e]._name]).title===this.scene.fullLayout._dfltTitle[m]?&quot;&quot;:r.title,p=0;p&lt;=2;p+=2)this.labelEnable[d+p]=!1,this.labels[d+p]=a(n),this.labelColor[d+p]=o(r.titlefont.color),this.labelFont[d+p]=r.titlefont.family,this.labelSize[d+p]=r.titlefont.size,this.labelPad[d+p]=this.getLabelPad(e,r),this.tickEnable[d+p]=!1,this.tickColor[d+p]=o((r.tickfont||{}).color),this.tickAngle[d+p]=&quot;auto&quot;===r.tickangle?0:Math.PI*-r.tickangle/180,this.tickPad[d+p]=this.getTickPad(r),this.tickMarkLength[d+p]=0,this.tickMarkWidth[d+p]=r.tickwidth||0,this.tickMarkColor[d+p]=o(r.tickcolor),this.borderLineEnable[d+p]=!1,this.borderLineColor[d+p]=o(r.linecolor),this.borderLineWidth[d+p]=r.linewidth||0;u=this.hasSharedAxis(r),s=this.hasAxisInDfltPos(e,r)&amp;&amp;!u,c=this.hasAxisInAltrPos(e,r)&amp;&amp;!u,i=r.mirror||!1,f=u?-1!==String(i).indexOf(&quot;all&quot;):!!i,h=u?&quot;allticks&quot;===i:-1!==String(i).indexOf(&quot;ticks&quot;),s?this.labelEnable[d]=!0:c&amp;&amp;(this.labelEnable[d+2]=!0),s?this.tickEnable[d]=r.showticklabels:c&amp;&amp;(this.tickEnable[d+2]=r.showticklabels),(s||f)&amp;&amp;(this.borderLineEnable[d]=r.showline),(c||f)&amp;&amp;(this.borderLineEnable[d+2]=r.showline),(s||h)&amp;&amp;(this.tickMarkLength[d]=this.getTickMarkLength(r)),(c||h)&amp;&amp;(this.tickMarkLength[d+2]=this.getTickMarkLength(r)),this.gridLineEnable[d]=r.showgrid,this.gridLineColor[d]=o(r.gridcolor),this.gridLineWidth[d]=r.gridwidth,this.zeroLineEnable[d]=r.zeroline,this.zeroLineColor[d]=o(r.zerolinecolor),this.zeroLineWidth[d]=r.zerolinewidth}},s.hasSharedAxis=function(t){var e=this.scene,r=e.fullLayout._subplots.gl2d;return 0!==i.findSubplotsWithAxis(r,t).indexOf(e.id)},s.hasAxisInDfltPos=function(t,e){var r=e.side;return&quot;xaxis&quot;===t?&quot;bottom&quot;===r:&quot;yaxis&quot;===t?&quot;left&quot;===r:void 0},s.hasAxisInAltrPos=function(t,e){var r=e.side;return&quot;xaxis&quot;===t?&quot;top&quot;===r:&quot;yaxis&quot;===t?&quot;right&quot;===r:void 0},s.getLabelPad=function(t,e){var r=e.titlefont.size,n=e.showticklabels;return&quot;xaxis&quot;===t?&quot;top&quot;===e.side?r*(1.5+(n?1:0))-10:r*(1.5+(n?.5:0))-10:&quot;yaxis&quot;===t?&quot;right&quot;===e.side?10+r*(1.5+(n?1:.5)):10+r*(1.5+(n?.5:0)):void 0},s.getTickPad=function(t){return&quot;outside&quot;===t.ticks?10+t.ticklen:15},s.getTickMarkLength=function(t){if(!t.ticks)return 0;var e=t.ticklen;return&quot;inside&quot;===t.ticks?-e:e},e.exports=function(t){return new n(t)}},{&quot;../../lib/html2unicode&quot;:741,&quot;../../lib/str2rgbarray&quot;:765,&quot;../cartesian/axes&quot;:789}],829:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../plot_api/edit_types&quot;).overrideAll,i=t(&quot;./scene2d&quot;),a=t(&quot;../layout_attributes&quot;),o=t(&quot;../../constants/xmlns_namespaces&quot;),s=t(&quot;../cartesian/constants&quot;),l=t(&quot;../cartesian&quot;),c=t(&quot;../../components/fx/layout_attributes&quot;),u=t(&quot;../get_data&quot;).getSubplotData;r.name=&quot;gl2d&quot;,r.attr=[&quot;xaxis&quot;,&quot;yaxis&quot;],r.idRoot=[&quot;x&quot;,&quot;y&quot;],r.idRegex=s.idRegex,r.attrRegex=s.attrRegex,r.attributes=t(&quot;../cartesian/attributes&quot;),r.supplyLayoutDefaults=function(t,e,r){e._has(&quot;cartesian&quot;)||l.supplyLayoutDefaults(t,e,r)},r.layoutAttrOverrides=n(l.layoutAttributes,&quot;plot&quot;,&quot;from-root&quot;),r.baseLayoutAttrOverrides=n({plot_bgcolor:a.plot_bgcolor,hoverlabel:c.hoverlabel},&quot;plot&quot;,&quot;nested&quot;),r.plot=function(t){for(var e=t._fullLayout,r=t._fullData,n=e._subplots.gl2d,a=0;a&lt;n.length;a++){var o=n[a],s=e._plots[o],l=u(r,&quot;gl2d&quot;,o),c=s._scene2d;void 0===c&amp;&amp;(c=new i({id:o,graphDiv:t,container:t.querySelector(&quot;.gl-container&quot;),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&lt;i.length;a++){var o=i[a],s=n._plots[o];if(s._scene2d){0===u(t,&quot;gl2d&quot;,o).length&amp;&amp;(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&lt;r.length;n++){var i=e._plots[r[n]]._scene2d,a=i.toImage(&quot;png&quot;);e._glimages.append(&quot;svg:image&quot;).attr({xmlns:o.svg,&quot;xlink:href&quot;:a,x:0,y:0,width:&quot;100%&quot;,height:&quot;100%&quot;,preserveAspectRatio:&quot;none&quot;}),i.destroy()}},r.updateFx=function(t){for(var e=t._subplots.gl2d,r=0;r&lt;e.length;r++){t._plots[e[r]]._scene2d.updateFx(t.dragmode)}}},{&quot;../../components/fx/layout_attributes&quot;:661,&quot;../../constants/xmlns_namespaces&quot;:723,&quot;../../plot_api/edit_types&quot;:773,&quot;../cartesian&quot;:800,&quot;../cartesian/attributes&quot;:788,&quot;../cartesian/constants&quot;:794,&quot;../get_data&quot;:826,&quot;../layout_attributes&quot;:843,&quot;./scene2d&quot;:830}],830:[function(t,e,r){&quot;use strict&quot;;function n(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,this.fullData=null,this.updateRefs(e),this.makeFramework(),this.glplotOptions=d(this),this.glplotOptions.merge(e),this.glplot=c(this.glplotOptions),this.camera=p(this),this.traces={},this.spikes=u(this.glplot),this.selectBox=f(this.glplot,{innerFill:!1,outerFill:!0}),this.lastButtonState=0,this.pickResult=null,this.isMouseOver=!0,this.bounds=[1/0,1/0,-1/0,-1/0],this.stopped=!1,this.redraw=this.draw.bind(this),this.redraw()}var i,a,o=t(&quot;../../registry&quot;),s=t(&quot;../../plots/cartesian/axes&quot;),l=t(&quot;../../components/fx&quot;),c=t(&quot;gl-plot2d&quot;),u=t(&quot;gl-spikes2d&quot;),f=t(&quot;gl-select-box&quot;),h=t(&quot;webgl-context&quot;),d=t(&quot;./convert&quot;),p=t(&quot;./camera&quot;),m=t(&quot;../../lib/html2unicode&quot;),g=t(&quot;../../lib/show_no_webgl_msg&quot;),v=t(&quot;../cartesian/constraints&quot;),y=v.enforce,x=v.clean,b=[&quot;xaxis&quot;,&quot;yaxis&quot;],_=t(&quot;../cartesian/constants&quot;).SUBPLOT_PATTERN;e.exports=n;var w=n.prototype;w.makeFramework=function(){if(this.staticPlot){if(!(a||(i=document.createElement(&quot;canvas&quot;),a=h({canvas:i,preserveDrawingBuffer:!1,premultipliedAlpha:!0,antialias:!0}))))throw new Error(&quot;Error creating static canvas/context for image server&quot;);this.canvas=i,this.gl=a}else{var t=this.container.querySelector(&quot;.gl-canvas-focus&quot;),e=h({canvas:t,preserveDrawingBuffer:!0,premultipliedAlpha:!0});e||g(this),this.canvas=t,this.gl=e}var r=this.canvas;r.style.width=&quot;100%&quot;,r.style.height=&quot;100%&quot;,r.style.position=&quot;absolute&quot;,r.style.top=&quot;0px&quot;,r.style.left=&quot;0px&quot;,r.style[&quot;pointer-events&quot;]=&quot;none&quot;,this.updateSize(r),r.className+=&quot; user-select-none&quot;;var n=this.svgContainer=document.createElementNS(&quot;http://www.w3.org/2000/svg&quot;,&quot;svg&quot;);n.style.position=&quot;absolute&quot;,n.style.top=n.style.left=&quot;0px&quot;,n.style.width=n.style.height=&quot;100%&quot;,n.style[&quot;z-index&quot;]=20,n.style[&quot;pointer-events&quot;]=&quot;none&quot;;var o=this.mouseContainer=document.createElement(&quot;div&quot;);o.style.position=&quot;absolute&quot;,o.style[&quot;pointer-events&quot;]=&quot;auto&quot;,this.pickCanvas=this.container.querySelector(&quot;.gl-canvas-pick&quot;);var s=this.container;s.appendChild(n),s.appendChild(o);var l=this;o.addEventListener(&quot;mouseout&quot;,function(){l.isMouseOver=!1,l.unhover()}),o.addEventListener(&quot;mouseover&quot;,function(){l.isMouseOver=!0})},w.toImage=function(t){t||(t=&quot;png&quot;),this.stopped=!0,this.staticPlot&amp;&amp;this.container.appendChild(i),this.updateSize(this.canvas);var e=this.glplot.gl,r=e.drawingBufferWidth,n=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*n*4);e.readPixels(0,0,r,n,e.RGBA,e.UNSIGNED_BYTE,a);for(var o=0,s=n-1;o&lt;s;++o,--s)for(var l=0;l&lt;r;++l)for(var c=0;c&lt;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(&quot;canvas&quot;);f.width=r,f.height=n;var h=f.getContext(&quot;2d&quot;),d=h.createImageData(r,n);d.data.set(a),h.putImageData(d,0,0);var p;switch(t){case&quot;jpeg&quot;:p=f.toDataURL(&quot;image/jpeg&quot;);break;case&quot;webp&quot;:p=f.toDataURL(&quot;image/webp&quot;);break;default:p=f.toDataURL(&quot;image/png&quot;)}return this.staticPlot&amp;&amp;this.container.removeChild(i),p},w.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&amp;&amp;t.height===o||(t.width=a,t.height=o),this.redraw&amp;&amp;this.redraw(),t},w.computeTickMarks=function(){this.xaxis.setScale(),this.yaxis.setScale();for(var t=[s.calcTicks(this.xaxis),s.calcTicks(this.yaxis)],e=0;e&lt;2;++e)for(var r=0;r&lt;t[e].length;++r)t[e][r].text=m(t[e][r].text+&quot;&quot;);return t},w.updateRefs=function(t){this.fullLayout=t;var e=this.id.match(_),r=&quot;xaxis&quot;+e[1],n=&quot;yaxis&quot;+e[2];this.xaxis=this.fullLayout[r],this.yaxis=this.fullLayout[n]},w.relayoutCallback=function(){var t=this.graphDiv,e=this.xaxis,r=this.yaxis,n=t.layout;n.xaxis.autorange=e.autorange,n.xaxis.range=e.range.slice(0),n.yaxis.autorange=r.autorange,n.yaxis.range=r.range.slice(0);var i={lastInputTime:this.camera.lastInputTime};i[e._name]=e.range.slice(0),i[r._name]=r.range.slice(0),t.emit(&quot;plotly_relayout&quot;,i)},w.cameraChanged=function(){var t=this.camera;this.glplot.setDataBox(this.calcDataBox());var e=this.computeTickMarks();(function(t,e){for(var r=0;r&lt;2;++r){var n=t[r],i=e[r];if(n.length!==i.length)return!0;for(var a=0;a&lt;n.length;++a)if(n[a].x!==i[a].x)return!0}return!1})(e,this.glplotOptions.ticks)&amp;&amp;(this.glplotOptions.ticks=e,this.glplotOptions.dataBox=t.dataBox,this.glplot.update(this.glplotOptions),this.handleAnnotations())},w.handleAnnotations=function(){for(var t=this.graphDiv,e=this.fullLayout.annotations,r=0;r&lt;e.length;r++){var n=e[r];n.xref===this.xaxis._id&amp;&amp;n.yref===this.yaxis._id&amp;&amp;o.getComponentMethod(&quot;annotations&quot;,&quot;drawOne&quot;)(t,r)}},w.destroy=function(){if(this.glplot){var t=this.traces;t&amp;&amp;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(&quot;wheel&quot;,this.camera.wheelListener),this.camera=null}},w.plot=function(t,e,r){var n=this.glplot;this.updateRefs(r),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 l={_fullLayout:{_axisConstraintGroups:this.graphDiv._fullLayout._axisConstraintGroups,xaxis:this.xaxis,yaxis:this.yaxis}};x(l,this.xaxis),x(l,this.yaxis);var c=r._size,u=this.xaxis.domain,f=this.yaxis.domain;o.viewBox=[c.l+u[0]*c.w,c.b+f[0]*c.h,i-c.r-(1-u[1])*c.w,a-c.t-(1-f[1])*c.h],this.mouseContainer.style.width=c.w*(u[1]-u[0])+&quot;px&quot;,this.mouseContainer.style.height=c.h*(f[1]-f[0])+&quot;px&quot;,this.mouseContainer.height=c.h*(f[1]-f[0]),this.mouseContainer.style.left=c.l+u[0]*c.w+&quot;px&quot;,this.mouseContainer.style.top=c.t+(1-f[1])*c.h+&quot;px&quot;;var h=this.bounds;h[0]=h[1]=1/0,h[2]=h[3]=-1/0;var d,p,m=Object.keys(this.traces);for(p=0;p&lt;m.length;++p)for(var g=this.traces[m[p]],v=0;v&lt;2;++v)h[v]=Math.min(h[v],g.bounds[v]),h[v+2]=Math.max(h[v+2],g.bounds[v+2]);for(p=0;p&lt;2;++p)h[p]&gt;h[p+2]&amp;&amp;(h[p]=-1,h[p+2]=1),(d=this[b[p]])._length=o.viewBox[p+2]-o.viewBox[p],s.doAutoRange(d),d.setScale();y(l),o.ticks=this.computeTickMarks(),o.dataBox=this.calcDataBox(),o.merge(r),n.update(o),this.glplot.draw()},w.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])]},w.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])]},w.updateTraces=function(t,e){var r,n,i,a=Object.keys(this.traces);this.fullData=t;t:for(r=0;r&lt;a.length;r++){var o=a[r],s=this.traces[o];for(n=0;n&lt;t.length;n++)if((i=t[n]).uid===o&amp;&amp;i.type===s.type)continue t;s.dispose(),delete this.traces[o]}for(r=0;r&lt;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})},w.updateFx=function(t){&quot;lasso&quot;===t||&quot;select&quot;===t?(this.pickCanvas.style[&quot;pointer-events&quot;]=&quot;none&quot;,this.mouseContainer.style[&quot;pointer-events&quot;]=&quot;none&quot;):(this.pickCanvas.style[&quot;pointer-events&quot;]=&quot;auto&quot;,this.mouseContainer.style[&quot;pointer-events&quot;]=&quot;auto&quot;),this.mouseContainer.style.cursor=&quot;pan&quot;===t?&quot;move&quot;:&quot;zoom&quot;===t?&quot;crosshair&quot;:null},w.emitPointAction=function(t,e){for(var r,n=t.trace.uid,i=t.pointIndex,a=0;a&lt;this.fullData.length;a++)this.fullData[a].uid===n&amp;&amp;(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};l.appendArrayPointValue(o,r,i),this.graphDiv.emit(e,{points:[o]})},w.draw=function(){if(!this.stopped){requestAnimationFrame(this.redraw);var t=this.glplot,e=this.camera,r=e.mouseListener,n=1===this.lastButtonState&amp;&amp;0===r.buttons,i=this.fullLayout;this.lastButtonState=r.buttons,this.cameraChanged();var a,o=r.x*t.pixelRatio,s=this.canvas.height-t.pixelRatio*r.y;if(e.boxEnabled&amp;&amp;&quot;zoom&quot;===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&lt;2;u++)e.boxStart[u]===e.boxEnd[u]&amp;&amp;(c[u]=t.dataBox[u],c[u+2]=t.dataBox[u+2]);t.setDirty()}else if(!e.panning&amp;&amp;this.isMouseOver){this.selectBox.enabled=!1;var f=i._size,h=this.xaxis.domain,d=this.yaxis.domain,p=(a=t.pick(o/t.pixelRatio+f.l+h[0]*f.w,s/t.pixelRatio-(f.t+(1-d[1])*f.h)))&amp;&amp;a.object._trace.handlePick(a);if(p&amp;&amp;n&amp;&amp;this.emitPointAction(p,&quot;plotly_click&quot;),a&amp;&amp;&quot;skip&quot;!==a.object._trace.hoverinfo&amp;&amp;i.hovermode&amp;&amp;p&amp;&amp;(!this.lastPickResult||this.lastPickResult.traceUid!==p.trace.uid||this.lastPickResult.dataCoord[0]!==p.dataCoord[0]||this.lastPickResult.dataCoord[1]!==p.dataCoord[1])){var m=p;this.lastPickResult={traceUid:p.trace?p.trace.uid:null,dataCoord:p.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(p,&quot;plotly_hover&quot;);var g=this.fullData[m.trace.index]||{},v=m.pointIndex,y=l.castHoverinfo(g,i,v);if(y&amp;&amp;&quot;all&quot;!==y){var x=y.split(&quot;+&quot;);-1===x.indexOf(&quot;x&quot;)&amp;&amp;(m.traceCoord[0]=void 0),-1===x.indexOf(&quot;y&quot;)&amp;&amp;(m.traceCoord[1]=void 0),-1===x.indexOf(&quot;z&quot;)&amp;&amp;(m.traceCoord[2]=void 0),-1===x.indexOf(&quot;text&quot;)&amp;&amp;(m.textLabel=void 0),-1===x.indexOf(&quot;name&quot;)&amp;&amp;(m.name=void 0)}l.loneHover({x:m.screenCoord[0],y:m.screenCoord[1],xLabel:this.hoverFormatter(&quot;xaxis&quot;,m.traceCoord[0]),yLabel:this.hoverFormatter(&quot;yaxis&quot;,m.traceCoord[1]),zLabel:m.traceCoord[2],text:m.textLabel,name:m.name,color:l.castHoverOption(g,v,&quot;bgcolor&quot;)||m.color,borderColor:l.castHoverOption(g,v,&quot;bordercolor&quot;),fontFamily:l.castHoverOption(g,v,&quot;font.family&quot;),fontSize:l.castHoverOption(g,v,&quot;font.size&quot;),fontColor:l.castHoverOption(g,v,&quot;font.color&quot;)},{container:this.svgContainer,gd:this.graphDiv})}}a||this.unhover(),t.draw()}},w.unhover=function(){this.lastPickResult&amp;&amp;(this.spikes.update({}),this.lastPickResult=null,this.graphDiv.emit(&quot;plotly_unhover&quot;),l.loneUnhover(this.svgContainer))},w.hoverFormatter=function(t,e){if(void 0!==e){var r=this[t];return s.tickText(r,r.c2l(e),&quot;hover&quot;).text}}},{&quot;../../components/fx&quot;:660,&quot;../../lib/html2unicode&quot;:741,&quot;../../lib/show_no_webgl_msg&quot;:763,&quot;../../plots/cartesian/axes&quot;:789,&quot;../../registry&quot;:873,&quot;../cartesian/constants&quot;:794,&quot;../cartesian/constraints&quot;:796,&quot;./camera&quot;:827,&quot;./convert&quot;:828,&quot;gl-plot2d&quot;:224,&quot;gl-select-box&quot;:241,&quot;gl-spikes2d&quot;:250,&quot;webgl-context&quot;:577}],831:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t,e){function r(e,r,i,a){var o=p.keyBindingMode;if(!1!==o){var s=&quot;rotate&quot;===o,l=&quot;pan&quot;===o,u=&quot;zoom&quot;===o,h=!!a.control,d=!!a.alt,y=!!a.shift,x=!!(1&amp;e),b=!!(2&amp;e),_=!!(4&amp;e),w=1/t.clientHeight,M=w*(r-m),k=w*(i-g),A=p.flipX?1:-1,T=p.flipY?1:-1,S=n(),E=Math.PI*p.rotateSpeed;if((s&amp;&amp;x&amp;&amp;!h&amp;&amp;!d&amp;&amp;!y||x&amp;&amp;!h&amp;&amp;!d&amp;&amp;y)&amp;&amp;c.rotate(S,A*E*M,-T*E*k,0),(l&amp;&amp;x&amp;&amp;!h&amp;&amp;!d&amp;&amp;!y||b||x&amp;&amp;h&amp;&amp;!d&amp;&amp;!y)&amp;&amp;c.pan(S,-p.translateSpeed*M*f,p.translateSpeed*k*f,0),u&amp;&amp;x&amp;&amp;!h&amp;&amp;!d&amp;&amp;!y||_||x&amp;&amp;!h&amp;&amp;d&amp;&amp;!y){var L=-p.zoomSpeed*k/window.innerHeight*(S-c.lastT())*100;c.pan(S,0,0,f*(Math.exp(L)-1))}return m=r,g=i,v=a,!0}}t=t||document.body;var l=[.01,1/0];&quot;distanceLimits&quot;in(e=e||{})&amp;&amp;(l[0]=e.distanceLimits[0],l[1]=e.distanceLimits[1]),&quot;zoomMin&quot;in e&amp;&amp;(l[0]=e.zoomMin),&quot;zoomMax&quot;in e&amp;&amp;(l[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||&quot;orbit&quot;,distanceLimits:l}),u=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],f=0,h=t.clientWidth,d=t.clientHeight,p={keyBindingMode:&quot;rotate&quot;,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,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&lt;16;++s)a=a&amp;&amp;u[s]===o[s],u[s]=o[s];var l=t.clientWidth===h&amp;&amp;t.clientHeight===d;return h=t.clientWidth,d=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)}};Object.defineProperties(p,{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),&quot;turntable&quot;===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(l)},set:function(t){return c.setDistanceLimits(t),t},enumerable:!0}}),t.addEventListener(&quot;contextmenu&quot;,function(t){return t.preventDefault(),!1});var m=0,g=0,v={shift:!1,control:!1,alt:!1,meta:!1};return p.mouseListener=a(t,r),t.addEventListener(&quot;touchstart&quot;,function(e){var n=s(e.changedTouches[0],t);r(0,n[0],n[1],v),r(1,n[0],n[1],v)}),t.addEventListener(&quot;touchmove&quot;,function(e){var n=s(e.changedTouches[0],t);r(1,n[0],n[1],v)}),t.addEventListener(&quot;touchend&quot;,function(){r(0,m,g,v)}),p.wheelListener=o(t,function(t,e){if(!1!==p.keyBindingMode){var r=p.flipX?1:-1,i=p.flipY?1:-1,a=n();if(Math.abs(t)&gt;Math.abs(e))c.rotate(a,0,0,-t*r*Math.PI*p.rotateSpeed/window.innerWidth);else{var o=-p.zoomSpeed*i*e/window.innerHeight*(a-c.lastT())/20;c.pan(a,0,0,f*(Math.exp(o)-1))}}},!0),p};var n=t(&quot;right-now&quot;),i=t(&quot;3d-view&quot;),a=t(&quot;mouse-change&quot;),o=t(&quot;mouse-wheel&quot;),s=t(&quot;mouse-event-offset&quot;)},{&quot;3d-view&quot;:40,&quot;mouse-change&quot;:443,&quot;mouse-event-offset&quot;:444,&quot;mouse-wheel&quot;:446,&quot;right-now&quot;:509}],832:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../plot_api/edit_types&quot;).overrideAll,i=t(&quot;../../components/fx/layout_attributes&quot;),a=t(&quot;./scene&quot;),o=t(&quot;../get_data&quot;).getSubplotData,s=t(&quot;../../lib&quot;),l=t(&quot;../../constants/xmlns_namespaces&quot;);r.name=&quot;gl3d&quot;,r.attr=&quot;scene&quot;,r.idRoot=&quot;scene&quot;,r.idRegex=r.attrRegex=s.counterRegex(&quot;scene&quot;),r.attributes=t(&quot;./layout/attributes&quot;),r.layoutAttributes=t(&quot;./layout/layout_attributes&quot;),r.baseLayoutAttrOverrides=n({hoverlabel:i.hoverlabel},&quot;plot&quot;,&quot;nested&quot;),r.supplyLayoutDefaults=t(&quot;./layout/defaults&quot;),r.plot=function(t){for(var e=t._fullLayout,r=t._fullData,n=e._subplots.gl3d,i=0;i&lt;n.length;i++){var l=n[i],c=o(r,&quot;gl3d&quot;,l),u=e[l],f=u._scene;f||(f=new a({id:l,graphDiv:t,container:t.querySelector(&quot;.gl-container&quot;),staticPlot:t._context.staticPlot,plotGlPixelRatio:t._context.plotGlPixelRatio},e),u._scene=f),f.cameraInitial||(f.cameraInitial=s.extendDeep({},u.camera)),f.plot(c,e,t.layout)}},r.clean=function(t,e,r,n){for(var i=n._subplots.gl3d||[],a=0;a&lt;i.length;a++){var o=i[a];!e[o]&amp;&amp;n[o]._scene&amp;&amp;(n[o]._scene.destroy(),n._infolayer&amp;&amp;n._infolayer.selectAll(&quot;.annotation-&quot;+o).remove())}},r.toSVG=function(t){for(var e=t._fullLayout,r=e._subplots.gl3d,n=e._size,i=0;i&lt;r.length;i++){var a=e[r[i]],o=a.domain,s=a._scene,c=s.toImage(&quot;png&quot;);e._glimages.append(&quot;svg:image&quot;).attr({xmlns:l.svg,&quot;xlink:href&quot;: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:&quot;none&quot;}),s.destroy()}},r.cleanId=function(t){if(t.match(/^scene[0-9]*$/)){var e=t.substr(5);return&quot;1&quot;===e&amp;&amp;(e=&quot;&quot;),&quot;scene&quot;+e}},r.updateFx=function(t){for(var e=t._subplots.gl3d,r=0;r&lt;e.length;r++){t[e[r]]._scene.updateFx(t.dragmode,t.hovermode)}}},{&quot;../../components/fx/layout_attributes&quot;:661,&quot;../../constants/xmlns_namespaces&quot;:723,&quot;../../lib&quot;:743,&quot;../../plot_api/edit_types&quot;:773,&quot;../get_data&quot;:826,&quot;./layout/attributes&quot;:833,&quot;./layout/defaults&quot;:837,&quot;./layout/layout_attributes&quot;:838,&quot;./scene&quot;:842}],833:[function(t,e,r){&quot;use strict&quot;;e.exports={scene:{valType:&quot;subplotid&quot;,dflt:&quot;scene&quot;,editType:&quot;calc+clearAxisTypes&quot;}}},{}],834:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../../components/color&quot;),i=t(&quot;../../cartesian/layout_attributes&quot;),a=t(&quot;../../../lib/extend&quot;).extendFlat,o=t(&quot;../../../plot_api/edit_types&quot;).overrideAll;e.exports=o({visible:i.visible,showspikes:{valType:&quot;boolean&quot;,dflt:!0},spikesides:{valType:&quot;boolean&quot;,dflt:!0},spikethickness:{valType:&quot;number&quot;,min:0,dflt:2},spikecolor:{valType:&quot;color&quot;,dflt:n.defaultLine},showbackground:{valType:&quot;boolean&quot;,dflt:!1},backgroundcolor:{valType:&quot;color&quot;,dflt:&quot;rgba(204, 204, 204, 0.5)&quot;},showaxeslabels:{valType:&quot;boolean&quot;,dflt:!0},color:i.color,categoryorder:i.categoryorder,categoryarray:i.categoryarray,title:i.title,titlefont:i.titlefont,type:i.type,autorange:i.autorange,rangemode:i.rangemode,range:i.range,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,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:&quot;rgb(204, 204, 204)&quot;}),gridwidth:i.gridwidth,zeroline:i.zeroline,zerolinecolor:i.zerolinecolor,zerolinewidth:i.zerolinewidth},&quot;plot&quot;,&quot;from-root&quot;)},{&quot;../../../components/color&quot;:618,&quot;../../../lib/extend&quot;:732,&quot;../../../plot_api/edit_types&quot;:773,&quot;../../cartesian/layout_attributes&quot;:801}],835:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;tinycolor2&quot;).mix,i=t(&quot;../../../lib&quot;),a=t(&quot;./axis_attributes&quot;),o=t(&quot;../../cartesian/type_defaults&quot;),s=t(&quot;../../cartesian/axis_defaults&quot;),l=[&quot;xaxis&quot;,&quot;yaxis&quot;,&quot;zaxis&quot;];e.exports=function(t,e,r){function c(t,e){return i.coerce(u,f,a,t,e)}for(var u,f,h=0;h&lt;l.length;h++){var d=l[h];u=t[d]||{},f=e[d]={_id:d[0]+r.scene,_name:d},o(u,f,c,r.data),s(u,f,c,{font:r.font,letter:d[0],data:r.data,showGrid:!0,bgColor:r.bgColor,calendar:r.calendar},r.fullLayout),c(&quot;gridcolor&quot;,n(f.color,r.bgColor,13600/187).toRgbString()),c(&quot;title&quot;,d[0]),f.setScale=i.noop,c(&quot;showspikes&quot;)&amp;&amp;(c(&quot;spikesides&quot;),c(&quot;spikethickness&quot;),c(&quot;spikecolor&quot;,f.color)),c(&quot;showaxeslabels&quot;),c(&quot;showbackground&quot;)&amp;&amp;c(&quot;backgroundcolor&quot;)}}},{&quot;../../../lib&quot;:743,&quot;../../cartesian/axis_defaults&quot;:791,&quot;../../cartesian/type_defaults&quot;:813,&quot;./axis_attributes&quot;:834,tinycolor2:546}],836:[function(t,e,r){&quot;use strict&quot;;function n(){this.bounds=[[-10,-10,-10],[10,10,10]],this.ticks=[[],[],[]],this.tickEnable=[!0,!0,!0],this.tickFont=[&quot;sans-serif&quot;,&quot;sans-serif&quot;,&quot;sans-serif&quot;],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=[&quot;x&quot;,&quot;y&quot;,&quot;z&quot;],this.labelEnable=[!0,!0,!0],this.labelFont=[&quot;Open Sans&quot;,&quot;Open Sans&quot;,&quot;Open Sans&quot;],this.labelSize=[20,20,20],this.labelAngle=[0,0,0],this.labelColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.labelPad=[30,30,30],this.lineEnable=[!0,!0,!0],this.lineMirror=[!1,!1,!1],this.lineWidth=[1,1,1],this.lineColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.lineTickEnable=[!0,!0,!0],this.lineTickMirror=[!1,!1,!1],this.lineTickLength=[10,10,10],this.lineTickWidth=[1,1,1],this.lineTickColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.gridEnable=[!0,!0,!0],this.gridWidth=[1,1,1],this.gridColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.zeroEnable=[!0,!0,!0],this.zeroLineColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.zeroLineWidth=[2,2,2],this.backgroundEnable=[!0,!0,!0],this.backgroundColor=[[.8,.8,.8,.5],[.8,.8,.8,.5],[.8,.8,.8,.5]],this._defaultTickPad=this.tickPad.slice(),this._defaultLabelPad=this.labelPad.slice(),this._defaultLineTickLength=this.lineTickLength.slice()}var i=t(&quot;../../../lib/html2unicode&quot;),a=t(&quot;../../../lib/str2rgbarray&quot;),o=[&quot;xaxis&quot;,&quot;yaxis&quot;,&quot;zaxis&quot;];n.prototype.merge=function(t){for(var e=0;e&lt;3;++e){var r=t[o[e]];r.visible?(this.labels[e]=i(r.title),&quot;titlefont&quot;in r&amp;&amp;(r.titlefont.color&amp;&amp;(this.labelColor[e]=a(r.titlefont.color)),r.titlefont.family&amp;&amp;(this.labelFont[e]=r.titlefont.family),r.titlefont.size&amp;&amp;(this.labelSize[e]=r.titlefont.size)),&quot;showline&quot;in r&amp;&amp;(this.lineEnable[e]=r.showline),&quot;linecolor&quot;in r&amp;&amp;(this.lineColor[e]=a(r.linecolor)),&quot;linewidth&quot;in r&amp;&amp;(this.lineWidth[e]=r.linewidth),&quot;showgrid&quot;in r&amp;&amp;(this.gridEnable[e]=r.showgrid),&quot;gridcolor&quot;in r&amp;&amp;(this.gridColor[e]=a(r.gridcolor)),&quot;gridwidth&quot;in r&amp;&amp;(this.gridWidth[e]=r.gridwidth),&quot;log&quot;===r.type?this.zeroEnable[e]=!1:&quot;zeroline&quot;in r&amp;&amp;(this.zeroEnable[e]=r.zeroline),&quot;zerolinecolor&quot;in r&amp;&amp;(this.zeroLineColor[e]=a(r.zerolinecolor)),&quot;zerolinewidth&quot;in r&amp;&amp;(this.zeroLineWidth[e]=r.zerolinewidth),&quot;ticks&quot;in r&amp;&amp;r.ticks?this.lineTickEnable[e]=!0:this.lineTickEnable[e]=!1,&quot;ticklen&quot;in r&amp;&amp;(this.lineTickLength[e]=this._defaultLineTickLength[e]=r.ticklen),&quot;tickcolor&quot;in r&amp;&amp;(this.lineTickColor[e]=a(r.tickcolor)),&quot;tickwidth&quot;in r&amp;&amp;(this.lineTickWidth[e]=r.tickwidth),&quot;tickangle&quot;in r&amp;&amp;(this.tickAngle[e]=&quot;auto&quot;===r.tickangle?0:Math.PI*-r.tickangle/180),&quot;showticklabels&quot;in r&amp;&amp;(this.tickEnable[e]=r.showticklabels),&quot;tickfont&quot;in r&amp;&amp;(r.tickfont.color&amp;&amp;(this.tickColor[e]=a(r.tickfont.color)),r.tickfont.family&amp;&amp;(this.tickFont[e]=r.tickfont.family),r.tickfont.size&amp;&amp;(this.tickSize[e]=r.tickfont.size)),&quot;mirror&quot;in r?-1!==[&quot;ticks&quot;,&quot;all&quot;,&quot;allticks&quot;].indexOf(r.mirror)?(this.lineTickMirror[e]=!0,this.lineMirror[e]=!0):!0===r.mirror?(this.lineTickMirror[e]=!1,this.lineMirror[e]=!0):(this.lineTickMirror[e]=!1,this.lineMirror[e]=!1):this.lineMirror[e]=!1,&quot;showbackground&quot;in r&amp;&amp;!1!==r.showbackground?(this.backgroundEnable[e]=!0,this.backgroundColor[e]=a(r.backgroundcolor)):this.backgroundEnable[e]=!1):(this.tickEnable[e]=!1,this.labelEnable[e]=!1,this.lineEnable[e]=!1,this.lineTickEnable[e]=!1,this.gridEnable[e]=!1,this.zeroEnable[e]=!1,this.backgroundEnable[e]=!1)}},e.exports=function(t){var e=new n;return e.merge(t),e}},{&quot;../../../lib/html2unicode&quot;:741,&quot;../../../lib/str2rgbarray&quot;:765}],837:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,n){for(var i=r(&quot;bgcolor&quot;),s=a.combine(i,n.paper_bgcolor),c=[&quot;up&quot;,&quot;center&quot;,&quot;eye&quot;],u=0;u&lt;c.length;u++)r(&quot;camera.&quot;+c[u]+&quot;.x&quot;),r(&quot;camera.&quot;+c[u]+&quot;.y&quot;),r(&quot;camera.&quot;+c[u]+&quot;.z&quot;);var f=!!r(&quot;aspectratio.x&quot;)&amp;&amp;!!r(&quot;aspectratio.y&quot;)&amp;&amp;!!r(&quot;aspectratio.z&quot;),h=r(&quot;aspectmode&quot;,f?&quot;manual&quot;:&quot;auto&quot;);f||(t.aspectratio=e.aspectratio={x:1,y:1,z:1},&quot;manual&quot;===h&amp;&amp;(e.aspectmode=&quot;auto&quot;),t.aspectmode=e.aspectmode),l(t,e,{font:n.font,scene:n.id,data:n.fullData,bgColor:s,calendar:n.calendar,fullLayout:n.fullLayout}),o.getComponentMethod(&quot;annotations3d&quot;,&quot;handleDefaults&quot;)(t,e,n),r(&quot;dragmode&quot;,n.getDfltFromLayout(&quot;dragmode&quot;)),r(&quot;hovermode&quot;,n.getDfltFromLayout(&quot;hovermode&quot;))}var i=t(&quot;../../../lib&quot;),a=t(&quot;../../../components/color&quot;),o=t(&quot;../../../registry&quot;),s=t(&quot;../../subplot_defaults&quot;),l=t(&quot;./axis_defaults&quot;),c=t(&quot;./layout_attributes&quot;);e.exports=function(t,e,r){var a=e._basePlotModules.length&gt;1;s(t,e,r,{type:&quot;gl3d&quot;,attributes:c,handleDefaults:n,fullLayout:e,font:e.font,fullData:r,getDfltFromLayout:function(e){if(!a)return i.validate(t[e],c[e])?t[e]:void 0},paper_bgcolor:e.paper_bgcolor,calendar:e.calendar})}},{&quot;../../../components/color&quot;:618,&quot;../../../lib&quot;:743,&quot;../../../registry&quot;:873,&quot;../../subplot_defaults&quot;:865,&quot;./axis_defaults&quot;:835,&quot;./layout_attributes&quot;:838}],838:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r){return{x:{valType:&quot;number&quot;,dflt:t,editType:&quot;camera&quot;},y:{valType:&quot;number&quot;,dflt:e,editType:&quot;camera&quot;},z:{valType:&quot;number&quot;,dflt:r,editType:&quot;camera&quot;},editType:&quot;camera&quot;}}var i=t(&quot;./axis_attributes&quot;),a=t(&quot;../../domain_attributes&quot;),o=t(&quot;../../../lib/extend&quot;).extendFlat,s=t(&quot;../../../lib&quot;).counterRegex;e.exports={_arrayAttrRegexps:[s(&quot;scene&quot;,&quot;.annotations&quot;,!0)],bgcolor:{valType:&quot;color&quot;,dflt:&quot;rgba(0,0,0,0)&quot;,editType:&quot;plot&quot;},camera:{up:o(n(0,0,1),{}),center:o(n(0,0,0),{}),eye:o(n(1.25,1.25,1.25),{}),editType:&quot;camera&quot;},domain:a({name:&quot;scene&quot;,editType:&quot;plot&quot;}),aspectmode:{valType:&quot;enumerated&quot;,values:[&quot;auto&quot;,&quot;cube&quot;,&quot;data&quot;,&quot;manual&quot;],dflt:&quot;auto&quot;,editType:&quot;plot&quot;,impliedEdits:{&quot;aspectratio.x&quot;:void 0,&quot;aspectratio.y&quot;:void 0,&quot;aspectratio.z&quot;:void 0}},aspectratio:{x:{valType:&quot;number&quot;,min:0,editType:&quot;plot&quot;,impliedEdits:{&quot;^aspectmode&quot;:&quot;manual&quot;}},y:{valType:&quot;number&quot;,min:0,editType:&quot;plot&quot;,impliedEdits:{&quot;^aspectmode&quot;:&quot;manual&quot;}},z:{valType:&quot;number&quot;,min:0,editType:&quot;plot&quot;,impliedEdits:{&quot;^aspectmode&quot;:&quot;manual&quot;}},editType:&quot;plot&quot;,impliedEdits:{aspectmode:&quot;manual&quot;}},xaxis:i,yaxis:i,zaxis:i,dragmode:{valType:&quot;enumerated&quot;,values:[&quot;orbit&quot;,&quot;turntable&quot;,&quot;zoom&quot;,&quot;pan&quot;,!1],dflt:&quot;turntable&quot;,editType:&quot;plot&quot;},hovermode:{valType:&quot;enumerated&quot;,values:[&quot;closest&quot;,!1],dflt:&quot;closest&quot;,editType:&quot;modebar&quot;},editType:&quot;plot&quot;,_deprecated:{cameraposition:{valType:&quot;info_array&quot;,editType:&quot;camera&quot;}}}},{&quot;../../../lib&quot;:743,&quot;../../../lib/extend&quot;:732,&quot;../../domain_attributes&quot;:815,&quot;./axis_attributes&quot;:834}],839:[function(t,e,r){&quot;use strict&quot;;function n(){this.enabled=[!0,!0,!0],this.colors=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.drawSides=[!0,!0,!0],this.lineWidth=[1,1,1]}var i=t(&quot;../../../lib/str2rgbarray&quot;),a=[&quot;xaxis&quot;,&quot;yaxis&quot;,&quot;zaxis&quot;];n.prototype.merge=function(t){for(var e=0;e&lt;3;++e){var r=t[a[e]];r.visible?(this.enabled[e]=r.showspikes,this.colors[e]=i(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 n;return e.merge(t),e}},{&quot;../../../lib/str2rgbarray&quot;:765}],840:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t){for(var e=t.axesOptions,r=t.glplot.axesPixels,l=t.fullSceneLayout,c=[[],[],[]],u=0;u&lt;3;++u){var f=l[o[u]];if(f._length=(r[u].hi-r[u].lo)*r[u].pixelsPerDataUnit/t.dataScale[u],Math.abs(f._length)===1/0)c[u]=[];else{f.range[0]=r[u].lo/t.dataScale[u],f.range[1]=r[u].hi/t.dataScale[u],f._m=1/(t.dataScale[u]*r[u].pixelsPerDataUnit),f.range[0]===f.range[1]&amp;&amp;(f.range[0]-=1,f.range[1]+=1);var h=f.tickmode;if(&quot;auto&quot;===f.tickmode){f.tickmode=&quot;linear&quot;;var d=f.nticks||i.constrain(f._length/40,4,9);n.autoTicks(f,Math.abs(f.range[1]-f.range[0])/d)}for(var p=n.calcTicks(f),m=0;m&lt;p.length;++m)p[m].x=p[m].x*t.dataScale[u],p[m].text=a(p[m].text);c[u]=p,f.tickmode=h}}for(e.ticks=c,u=0;u&lt;3;++u)for(s[u]=.5*(t.glplot.bounds[0][u]+t.glplot.bounds[1][u]),m=0;m&lt;2;++m)e.bounds[m][u]=t.glplot.bounds[m][u];t.contourLevels=function(t){for(var e=new Array(3),r=0;r&lt;3;++r){for(var n=t[r],i=new Array(n.length),a=0;a&lt;n.length;++a)i[a]=n[a].x;e[r]=i}return e}(c)};var n=t(&quot;../../cartesian/axes&quot;),i=t(&quot;../../../lib&quot;),a=t(&quot;../../../lib/html2unicode&quot;),o=[&quot;xaxis&quot;,&quot;yaxis&quot;,&quot;zaxis&quot;],s=[0,0,0]},{&quot;../../../lib&quot;:743,&quot;../../../lib/html2unicode&quot;:741,&quot;../../cartesian/axes&quot;:789}],841:[function(t,e,r){&quot;use strict&quot;;function n(t,e){var r,n,i=[0,0,0,0];for(r=0;r&lt;4;++r)for(n=0;n&lt;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])))}},{}],842:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,n){var i={canvas:r,gl:n,container:t.container,axes:t.axesOptions,spikes:t.spikeOptions,pickRadius:10,snapToData:!0,autoScale:!0,autoBounds:!1};if(t.staticMode){if(!(c||(l=document.createElement(&quot;canvas&quot;),c=f({canvas:l,preserveDrawingBuffer:!0,premultipliedAlpha:!0,antialias:!0}))))throw new Error(&quot;error creating static canvas/context for image server&quot;);i.pixelRatio=t.pixelRatio,i.gl=c,i.canvas=l}try{t.glplot=u(i)}catch(e){v(t)}var a=function(t){if(!1!==t.fullSceneLayout.dragmode){var e={};e[t.id+&quot;.camera&quot;]=s(t.camera),t.saveCamera(t.graphDiv.layout),t.graphDiv.emit(&quot;plotly_relayout&quot;,e)}};if(t.glplot.canvas.addEventListener(&quot;mouseup&quot;,a.bind(null,t)),t.glplot.canvas.addEventListener(&quot;wheel&quot;,a.bind(null,t)),t.staticMode||t.glplot.canvas.addEventListener(&quot;webglcontextlost&quot;,function(t){d.warn(&quot;Lost WebGL context.&quot;),t.preventDefault()}),!t.camera){var o=t.fullSceneLayout.camera;t.camera=y(t.container,{center:[o.center.x,o.center.y,o.center.z],eye:[o.eye.x,o.eye.y,o.eye.z],up:[o.up.x,o.up.y,o.up.z],zoomMin:.1,zoomMax:100,mode:&quot;orbit&quot;})}return t.glplot.camera=t.camera,t.glplot.oncontextloss=function(){t.recoverContext()},t.glplot.onrender=function(t){function e(e,r){var n=t.fullSceneLayout[e];return p.tickText(n,n.d2l(r),&quot;hover&quot;).text}var r,n=t.svgContainer,i=t.container.getBoundingClientRect(),a=i.width,o=i.height;n.setAttributeNS(null,&quot;viewBox&quot;,&quot;0 0 &quot;+a+&quot; &quot;+o),n.setAttributeNS(null,&quot;width&quot;,a),n.setAttributeNS(null,&quot;height&quot;,o),w(t),t.glplot.axes.update(t.axesOptions);for(var s=Object.keys(t.traces),l=null,c=t.glplot.selection,u=0;u&lt;s.length;++u)&quot;skip&quot;!==(r=t.traces[s[u]]).data.hoverinfo&amp;&amp;r.handlePick(c)&amp;&amp;(l=r),r.setContourLevels&amp;&amp;r.setContourLevels();var f;if(null!==l){var h=x(t.glplot.cameraParams,c.dataCoordinate);r=l.data;var d=c.index,g=m.castHoverinfo(r,t.fullLayout,d),v=e(&quot;xaxis&quot;,c.traceCoordinate[0]),y=e(&quot;yaxis&quot;,c.traceCoordinate[1]),b=e(&quot;zaxis&quot;,c.traceCoordinate[2]);if(&quot;all&quot;!==g){var _=g.split(&quot;+&quot;);-1===_.indexOf(&quot;x&quot;)&amp;&amp;(v=void 0),-1===_.indexOf(&quot;y&quot;)&amp;&amp;(y=void 0),-1===_.indexOf(&quot;z&quot;)&amp;&amp;(b=void 0),-1===_.indexOf(&quot;text&quot;)&amp;&amp;(c.textLabel=void 0),-1===_.indexOf(&quot;name&quot;)&amp;&amp;(l.name=void 0)}t.fullSceneLayout.hovermode&amp;&amp;m.loneHover({x:(.5+.5*h[0]/h[3])*a,y:(.5-.5*h[1]/h[3])*o,xLabel:v,yLabel:y,zLabel:b,text:c.textLabel,name:l.name,color:m.castHoverOption(r,d,&quot;bgcolor&quot;)||l.color,borderColor:m.castHoverOption(r,d,&quot;bordercolor&quot;),fontFamily:m.castHoverOption(r,d,&quot;font.family&quot;),fontSize:m.castHoverOption(r,d,&quot;font.size&quot;),fontColor:m.castHoverOption(r,d,&quot;font.color&quot;)},{container:n,gd:t.graphDiv});var M={x:c.traceCoordinate[0],y:c.traceCoordinate[1],z:c.traceCoordinate[2],data:r._input,fullData:r,curveNumber:r.index,pointNumber:d};m.appendArrayPointValue(M,r,d);var k={points:[M]};c.buttons&amp;&amp;c.distance&lt;5?t.graphDiv.emit(&quot;plotly_click&quot;,k):t.graphDiv.emit(&quot;plotly_hover&quot;,k),f=k}else m.loneUnhover(n),t.graphDiv.emit(&quot;plotly_unhover&quot;,f);t.drawAnnotations(t)}.bind(null,t),t.traces={},!0}function i(t,e){var r=document.createElement(&quot;div&quot;),i=t.container;this.graphDiv=t.graphDiv;var a=document.createElementNS(&quot;http://www.w3.org/2000/svg&quot;,&quot;svg&quot;);a.style.position=&quot;absolute&quot;,a.style.top=a.style.left=&quot;0px&quot;,a.style.width=a.style.height=&quot;100%&quot;,a.style[&quot;z-index&quot;]=20,a.style[&quot;pointer-events&quot;]=&quot;none&quot;,r.appendChild(a),this.svgContainer=a,r.id=t.id,r.style.position=&quot;absolute&quot;,r.style.top=r.style.left=&quot;0px&quot;,r.style.width=r.style.height=&quot;100%&quot;,i.appendChild(r),this.fullLayout=e,this.id=t.id||&quot;scene&quot;,this.fullSceneLayout=e[this.id],this.plotArgs=[[],{},{}],this.axesOptions=b(e[this.id]),this.spikeOptions=_(e[this.id]),this.container=r,this.staticMode=!!t.staticPlot,this.pixelRatio=t.plotGlPixelRatio||2,this.dataScale=[1,1,1],this.contourLevels=[[],[],[]],this.convertAnnotations=h.getComponentMethod(&quot;annotations3d&quot;,&quot;convert&quot;),this.drawAnnotations=h.getComponentMethod(&quot;annotations3d&quot;,&quot;draw&quot;),n(this)}function a(t,e,r,n,i){for(var a,o=0;o&lt;e.length;++o)if(Array.isArray(e[o]))for(var s=0;s&lt;e[o].length;++s)a=t.d2l(e[o][s],0,i),!isNaN(a)&amp;&amp;isFinite(a)&amp;&amp;(n[0][r]=Math.min(n[0][r],a),n[1][r]=Math.max(n[1][r],a));else a=t.d2l(e[o],0,i),!isNaN(a)&amp;&amp;isFinite(a)&amp;&amp;(n[0][r]=Math.min(n[0][r],a),n[1][r]=Math.max(n[1][r],a))}function o(t,e,r){var n=t.fullSceneLayout;a(n.xaxis,e.x,0,r,e.xcalendar),a(n.yaxis,e.y,1,r,e.ycalendar),a(n.zaxis,e.z,2,r,e.zcalendar)}function s(t){return{up:{x:t.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]}}}var l,c,u=t(&quot;gl-plot3d&quot;),f=t(&quot;webgl-context&quot;),h=t(&quot;../../registry&quot;),d=t(&quot;../../lib&quot;),p=t(&quot;../../plots/cartesian/axes&quot;),m=t(&quot;../../components/fx&quot;),g=t(&quot;../../lib/str2rgbarray&quot;),v=t(&quot;../../lib/show_no_webgl_msg&quot;),y=t(&quot;./camera&quot;),x=t(&quot;./project&quot;),b=t(&quot;./layout/convert&quot;),_=t(&quot;./layout/spikes&quot;),w=t(&quot;./layout/tick_marks&quot;),M=i.prototype;M.recoverContext=function(){function t(){r.isContextLost()?requestAnimationFrame(t):n(e,e.fullLayout,i,r)?e.plot.apply(e,e.plotArgs):d.error(&quot;Catastrophic and unrecoverable WebGL error. Context lost.&quot;)}var e=this,r=this.glplot.gl,i=this.glplot.canvas;this.glplot.dispose(),requestAnimationFrame(t)};var k=[&quot;xaxis&quot;,&quot;yaxis&quot;,&quot;zaxis&quot;];M.plot=function(t,e,r){if(this.plotArgs=[t,e,r],!this.glplot.contextLost){var n,i,a,s,l,c,u=e[this.id],f=r[this.id];u.bgcolor?this.glplot.clearColor=g(u.bgcolor):this.glplot.clearColor=[0,0,0,0],this.glplot.snapToData=!0,this.fullLayout=e,this.fullSceneLayout=u,this.glplotLayout=u,this.axesOptions.merge(u),this.spikeOptions.merge(u),this.setCamera(u.camera),this.updateFx(u.dragmode,u.hovermode),this.glplot.update({}),this.setConvert(l),t?Array.isArray(t)||(t=[t]):t=[];var h=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]];for(a=0;a&lt;t.length;++a)!0===(n=t[a]).visible&amp;&amp;o(this,n,h);var d=[1,1,1];for(s=0;s&lt;3;++s)h[0][s]&gt;h[1][s]?d[s]=1:h[1][s]===h[0][s]?d[s]=1:d[s]=1/(h[1][s]-h[0][s]);for(this.dataScale=d,this.convertAnnotations(this),a=0;a&lt;t.length;++a)!0===(n=t[a]).visible&amp;&amp;((i=this.traces[n.uid])?i.update(n):(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&lt;p.length;++a){for(s=0;s&lt;t.length;++s)if(t[s].uid===p[a]&amp;&amp;!0===t[s].visible)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 m=[[0,0,0],[0,0,0]],v=[],y={};for(a=0;a&lt;3;++a){if(l=u[k[a]],(c=l.type)in y?(y[c].acc*=d[a],y[c].count+=1):y[c]={acc:d[a],count:1},l.autorange){m[0][a]=1/0,m[1][a]=-1/0;var x=this.glplot.objects,b=this.fullSceneLayout.annotations||[],_=l._name.charAt(0);for(s=0;s&lt;x.length;s++){var w=x[s].bounds;m[0][a]=Math.min(m[0][a],w[0][a]/d[a]),m[1][a]=Math.max(m[1][a],w[1][a]/d[a])}for(s=0;s&lt;b.length;s++){var M=b[s];if(M.visible){var A=l.r2l(M[_]);m[0][a]=Math.min(m[0][a],A),m[1][a]=Math.max(m[1][a],A)}}if(&quot;rangemode&quot;in l&amp;&amp;&quot;tozero&quot;===l.rangemode&amp;&amp;(m[0][a]=Math.min(m[0][a],0),m[1][a]=Math.max(m[1][a],0)),m[0][a]&gt;m[1][a])m[0][a]=-1,m[1][a]=1;else{var T=m[1][a]-m[0][a];m[0][a]-=T/32,m[1][a]+=T/32}}else{var S=l.range;m[0][a]=l.r2l(S[0]),m[1][a]=l.r2l(S[1])}m[0][a]===m[1][a]&amp;&amp;(m[0][a]-=1,m[1][a]+=1),v[a]=m[1][a]-m[0][a],this.glplot.bounds[0][a]=m[0][a]*d[a],this.glplot.bounds[1][a]=m[1][a]*d[a]}var E=[1,1,1];for(a=0;a&lt;3;++a){var L=y[c=(l=u[k[a]]).type];E[a]=Math.pow(L.acc,1/L.count)/d[a]}var C;if(&quot;auto&quot;===u.aspectmode)C=Math.max.apply(null,E)/Math.min.apply(null,E)&lt;=4?E:[1,1,1];else if(&quot;cube&quot;===u.aspectmode)C=[1,1,1];else if(&quot;data&quot;===u.aspectmode)C=E;else{if(&quot;manual&quot;!==u.aspectmode)throw new Error(&quot;scene.js aspectRatio was not one of the enumerated types&quot;);var z=u.aspectratio;C=[z.x,z.y,z.z]}u.aspectratio.x=f.aspectratio.x=C[0],u.aspectratio.y=f.aspectratio.y=C[1],u.aspectratio.z=f.aspectratio.z=C[2],this.glplot.aspect=C;var D=u.domain||null,I=e._size||null;if(D&amp;&amp;I){var P=this.container.style;P.position=&quot;absolute&quot;,P.left=I.l+D.x[0]*I.w+&quot;px&quot;,P.top=I.t+(1-D.y[1])*I.h+&quot;px&quot;,P.width=I.w*(D.x[1]-D.x[0])+&quot;px&quot;,P.height=I.h*(D.y[1]-D.y[0])+&quot;px&quot;}this.glplot.redraw()}},M.destroy=function(){this.glplot&amp;&amp;(this.camera.mouseListener.enabled=!1,this.container.removeEventListener(&quot;wheel&quot;,this.camera.wheelListener),this.camera=this.glplot.camera=null,this.glplot.dispose(),this.container.parentNode.removeChild(this.container),this.glplot=null)},M.getCamera=function(){return this.glplot.camera.view.recalcMatrix(this.camera.view.lastT()),s(this.glplot.camera)},M.setCamera=function(t){this.glplot.camera.lookAt.apply(this,function(t){return[[t.eye.x,t.eye.y,t.eye.z],[t.center.x,t.center.y,t.center.z],[t.up.x,t.up.y,t.up.z]]}(t))},M.saveCamera=function(t){function e(t,e,r,n){var i=[&quot;up&quot;,&quot;center&quot;,&quot;eye&quot;],a=[&quot;x&quot;,&quot;y&quot;,&quot;z&quot;];return e[i[r]]&amp;&amp;t[i[r]][a[n]]===e[i[r]][a[n]]}var r=this.getCamera(),n=d.nestedProperty(t,this.id+&quot;.camera&quot;),i=n.get(),a=!1;if(void 0===i)a=!0;else for(var o=0;o&lt;3;o++)for(var s=0;s&lt;3;s++)if(!e(r,i,o,s)){a=!0;break}return a&amp;&amp;n.set(r),a},M.updateFx=function(t,e){var r=this.camera;r&amp;&amp;(&quot;orbit&quot;===t?(r.mode=&quot;orbit&quot;,r.keyBindingMode=&quot;rotate&quot;):&quot;turntable&quot;===t?(r.up=[0,0,1],r.mode=&quot;turntable&quot;,r.keyBindingMode=&quot;rotate&quot;):r.keyBindingMode=t),this.fullSceneLayout.hovermode=e},M.toImage=function(t){t||(t=&quot;png&quot;),this.staticMode&amp;&amp;this.container.appendChild(l),this.glplot.redraw();var e=this.glplot.gl,r=e.drawingBufferWidth,n=e.drawingBufferHeight;e.bindFramebuffer(e.FRAMEBUFFER,null);var i=new Uint8Array(r*n*4);e.readPixels(0,0,r,n,e.RGBA,e.UNSIGNED_BYTE,i);for(var a=0,o=n-1;a&lt;o;++a,--o)for(var s=0;s&lt;r;++s)for(var c=0;c&lt;4;++c){var u=i[4*(r*a+s)+c];i[4*(r*a+s)+c]=i[4*(r*o+s)+c],i[4*(r*o+s)+c]=u}var f=document.createElement(&quot;canvas&quot;);f.width=r,f.height=n;var h=f.getContext(&quot;2d&quot;),d=h.createImageData(r,n);d.data.set(i),h.putImageData(d,0,0);var p;switch(t){case&quot;jpeg&quot;:p=f.toDataURL(&quot;image/jpeg&quot;);break;case&quot;webp&quot;:p=f.toDataURL(&quot;image/webp&quot;);break;default:p=f.toDataURL(&quot;image/png&quot;)}return this.staticMode&amp;&amp;this.container.removeChild(l),p},M.setConvert=function(){for(var t=0;t&lt;3;t++){var e=this.fullSceneLayout[k[t]];p.setConvert(e,this.fullLayout),e.setScale=d.noop}},e.exports=i},{&quot;../../components/fx&quot;:660,&quot;../../lib&quot;:743,&quot;../../lib/show_no_webgl_msg&quot;:763,&quot;../../lib/str2rgbarray&quot;:765,&quot;../../plots/cartesian/axes&quot;:789,&quot;../../registry&quot;:873,&quot;./camera&quot;:831,&quot;./layout/convert&quot;:836,&quot;./layout/spikes&quot;:839,&quot;./layout/tick_marks&quot;:840,&quot;./project&quot;:841,&quot;gl-plot3d&quot;:226,&quot;webgl-context&quot;:577}],843:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;./font_attributes&quot;),i=t(&quot;../components/color/attributes&quot;),a=n({editType:&quot;calc&quot;});a.family.dflt='&quot;Open Sans&quot;, verdana, arial, sans-serif',a.size.dflt=12,a.color.dflt=i.defaultLine,e.exports={font:a,title:{valType:&quot;string&quot;,editType:&quot;layoutstyle&quot;},titlefont:n({editType:&quot;layoutstyle&quot;}),autosize:{valType:&quot;boolean&quot;,dflt:!1,editType:&quot;none&quot;},width:{valType:&quot;number&quot;,min:10,dflt:700,editType:&quot;none&quot;},height:{valType:&quot;number&quot;,min:10,dflt:450,editType:&quot;none&quot;},margin:{l:{valType:&quot;number&quot;,min:0,dflt:80,editType:&quot;calc&quot;},r:{valType:&quot;number&quot;,min:0,dflt:80,editType:&quot;calc&quot;},t:{valType:&quot;number&quot;,min:0,dflt:100,editType:&quot;calc&quot;},b:{valType:&quot;number&quot;,min:0,dflt:80,editType:&quot;calc&quot;},pad:{valType:&quot;number&quot;,min:0,dflt:0,editType:&quot;calc&quot;},autoexpand:{valType:&quot;boolean&quot;,dflt:!0,editType:&quot;calc&quot;},editType:&quot;calc&quot;},paper_bgcolor:{valType:&quot;color&quot;,dflt:i.background,editType:&quot;plot&quot;},plot_bgcolor:{valType:&quot;color&quot;,dflt:i.background,editType:&quot;layoutstyle&quot;},separators:{valType:&quot;string&quot;,editType:&quot;plot&quot;},hidesources:{valType:&quot;boolean&quot;,dflt:!1,editType:&quot;plot&quot;},showlegend:{valType:&quot;boolean&quot;,editType:&quot;legend&quot;},colorway:{valType:&quot;colorlist&quot;,dflt:i.defaults,editType:&quot;calc&quot;}}},{&quot;../components/color/attributes&quot;:617,&quot;./font_attributes&quot;:816}],844:[function(t,e,r){&quot;use strict&quot;;e.exports={styleUrlPrefix:&quot;mapbox://styles/mapbox/&quot;,styleUrlSuffix:&quot;v9&quot;,controlContainerClassName:&quot;mapboxgl-control-container&quot;,noAccessTokenErrorMsg:[&quot;Missing Mapbox access token.&quot;,&quot;Mapbox trace type require a Mapbox access token to be registered.&quot;,&quot;For example:&quot;,&quot;  Plotly.plot(gd, data, layout, { mapboxAccessToken: 'my-access-token' });&quot;,&quot;More info here: https://www.mapbox.com/help/define-access-token/&quot;].join(&quot;\n&quot;),mapOnErrorMsg:&quot;Mapbox error.&quot;}},{}],845:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib&quot;);e.exports=function(t,e){var r=t.split(&quot; &quot;),i=r[0],a=r[1],o=Array.isArray(e)?n.mean(e):e,s=.5+o/100,l=1.5+o/100,c=[&quot;&quot;,&quot;&quot;],u=[0,0];switch(i){case&quot;top&quot;:c[0]=&quot;top&quot;,u[1]=-l;break;case&quot;bottom&quot;:c[0]=&quot;bottom&quot;,u[1]=l}switch(a){case&quot;left&quot;:c[1]=&quot;right&quot;,u[0]=-s;break;case&quot;right&quot;:c[1]=&quot;left&quot;,u[0]=s}var f;return f=c[0]&amp;&amp;c[1]?c.join(&quot;-&quot;):c[0]?c[0]:c[1]?c[1]:&quot;center&quot;,{anchor:f,offset:u}}},{&quot;../../lib&quot;:743}],846:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;mapbox-gl&quot;),i=t(&quot;../../lib&quot;),a=t(&quot;../../plots/get_data&quot;).getSubplotCalcData,o=t(&quot;../../constants/xmlns_namespaces&quot;),s=t(&quot;./mapbox&quot;),l=t(&quot;./constants&quot;);r.name=&quot;mapbox&quot;,r.attr=&quot;subplot&quot;,r.idRoot=&quot;mapbox&quot;,r.idRegex=r.attrRegex=i.counterRegex(&quot;mapbox&quot;),r.attributes={subplot:{valType:&quot;subplotid&quot;,dflt:&quot;mapbox&quot;,editType:&quot;calc&quot;}},r.layoutAttributes=t(&quot;./layout_attributes&quot;),r.supplyLayoutDefaults=t(&quot;./layout_defaults&quot;),r.plot=function(t){var e=t._fullLayout,r=t.calcdata,o=e._subplots.mapbox,c=function(t,e){var r=t._fullLayout,n=t._context;if(&quot;&quot;===n.mapboxAccessToken)return&quot;&quot;;for(var i=n.mapboxAccessToken,a=0;a&lt;e.length;a++){var o=r[e[a]];if(o.accesstoken){i=o.accesstoken;break}}if(!i)throw new Error(l.noAccessTokenErrorMsg);return i}(t,o);n.accessToken=c;for(var u=0;u&lt;o.length;u++){var f=o[u],h=a(r,&quot;mapbox&quot;,f),d=e[f],p=d._subplot;d.accesstoken=c,p||(p=s({gd:t,container:e._glcontainer.node(),id:f,fullLayout:e,staticPlot:t._context.staticPlot}),e[f]._subplot=p),p.viewInitial||(p.viewInitial={center:i.extendFlat({},d.center),zoom:d.zoom,bearing:d.bearing,pitch:d.pitch}),p.plot(h,e,t._promises)}},r.clean=function(t,e,r,n){for(var i=n._subplots.mapbox||[],a=0;a&lt;i.length;a++){var o=i[a];!e[o]&amp;&amp;n[o]._subplot&amp;&amp;n[o]._subplot.destroy()}},r.toSVG=function(t){for(var e=t._fullLayout,r=e._subplots.mapbox,n=e._size,i=0;i&lt;r.length;i++){var a=e[r[i]],s=a.domain,l=a._subplot,c=l.toImage(&quot;png&quot;);e._glimages.append(&quot;svg:image&quot;).attr({xmlns:o.svg,&quot;xlink:href&quot;:c,x:n.l+n.w*s.x[0],y:n.t+n.h*(1-s.y[1]),width:n.w*(s.x[1]-s.x[0]),height:n.h*(s.y[1]-s.y[0]),preserveAspectRatio:&quot;none&quot;}),l.destroy()}},r.updateFx=function(t){for(var e=t._subplots.mapbox,r=0;r&lt;e.length;r++){t[e[r]]._subplot.updateFx(t)}}},{&quot;../../constants/xmlns_namespaces&quot;:723,&quot;../../lib&quot;:743,&quot;../../plots/get_data&quot;:826,&quot;./constants&quot;:844,&quot;./layout_attributes&quot;:848,&quot;./layout_defaults&quot;:849,&quot;./mapbox&quot;:850,&quot;mapbox-gl&quot;:334}],847:[function(t,e,r){&quot;use strict&quot;;function n(t,e){this.mapbox=t,this.map=t.map,this.uid=t.uid+&quot;-layer&quot;+e,this.idSource=this.uid+&quot;-source&quot;,this.idLayer=this.uid+&quot;-layer&quot;,this.sourceType=null,this.source=null,this.layerType=null,this.below=null,this.visible=!1}function i(t){var e=t.source;return a.isPlainObject(e)||&quot;string&quot;==typeof e&amp;&amp;e.length&gt;0}var a=t(&quot;../../lib&quot;),o=t(&quot;./convert_text_opts&quot;),s=n.prototype;s.update=function(t){this.visible?this.needsNewSource(t)?(this.updateLayer(t),this.updateSource(t)):this.needsNewLayer(t)&amp;&amp;this.updateLayer(t):(this.updateSource(t),this.updateLayer(t)),this.updateStyle(t),this.visible=i(t)},s.needsNewSource=function(t){return this.sourceType!==t.sourcetype||this.source!==t.source||this.layerType!==t.type},s.needsNewLayer=function(t){return this.layerType!==t.type||this.below!==t.below},s.updateSource=function(t){var e=this.map;if(e.getSource(this.idSource)&amp;&amp;e.removeSource(this.idSource),this.sourceType=t.sourcetype,this.source=t.source,i(t)){var r=function(t){var e,r=t.sourcetype,n=t.source,i={type:r};return&quot;geojson&quot;===r?e=&quot;data&quot;:&quot;vector&quot;===r&amp;&amp;(e=&quot;string&quot;==typeof n?&quot;url&quot;:&quot;tiles&quot;),i[e]=n,i}(t);e.addSource(this.idSource,r)}},s.updateLayer=function(t){var e=this.map;if(e.getLayer(this.idLayer)&amp;&amp;e.removeLayer(this.idLayer),this.layerType=t.type,i(t)){e.addLayer({id:this.idLayer,source:this.idSource,&quot;source-layer&quot;:t.sourcelayer||&quot;&quot;,type:t.type},t.below);this.mapbox.setOptions(this.idLayer,&quot;setLayoutProperty&quot;,{visibility:&quot;visible&quot;})}},s.updateStyle=function(t){var e=function(t){var e={},r={};switch(t.type){case&quot;circle&quot;:a.extendFlat(r,{&quot;circle-radius&quot;:t.circle.radius,&quot;circle-color&quot;:t.color,&quot;circle-opacity&quot;:t.opacity});break;case&quot;line&quot;:a.extendFlat(r,{&quot;line-width&quot;:t.line.width,&quot;line-color&quot;:t.color,&quot;line-opacity&quot;:t.opacity});break;case&quot;fill&quot;:a.extendFlat(r,{&quot;fill-color&quot;:t.color,&quot;fill-outline-color&quot;:t.fill.outlinecolor,&quot;fill-opacity&quot;:t.opacity});break;case&quot;symbol&quot;:var n=t.symbol,i=o(n.textposition,n.iconsize);a.extendFlat(e,{&quot;icon-image&quot;:n.icon+&quot;-15&quot;,&quot;icon-size&quot;:n.iconsize/10,&quot;text-field&quot;:n.text,&quot;text-size&quot;:n.textfont.size,&quot;text-anchor&quot;:i.anchor,&quot;text-offset&quot;:i.offset}),a.extendFlat(r,{&quot;icon-color&quot;:t.color,&quot;text-color&quot;:n.textfont.color,&quot;text-opacity&quot;:t.opacity})}return{layout:e,paint:r}}(t);i(t)&amp;&amp;(this.mapbox.setOptions(this.idLayer,&quot;setLayoutProperty&quot;,e.layout),this.mapbox.setOptions(this.idLayer,&quot;setPaintProperty&quot;,e.paint))},s.dispose=function(){var t=this.map;t.removeLayer(this.idLayer),t.removeSource(this.idSource)},e.exports=function(t,e,r){var i=new n(t,e);return i.update(r),i}},{&quot;../../lib&quot;:743,&quot;./convert_text_opts&quot;:845}],848:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib&quot;),i=t(&quot;../../components/color&quot;).defaultLine,a=t(&quot;../domain_attributes&quot;),o=t(&quot;../font_attributes&quot;),s=t(&quot;../../traces/scatter/attributes&quot;).textposition,l=t(&quot;../../plot_api/edit_types&quot;).overrideAll,c=o({});c.family.dflt=&quot;Open Sans Regular, Arial Unicode MS Regular&quot;,e.exports=l({_arrayAttrRegexps:[n.counterRegex(&quot;mapbox&quot;,&quot;.layers&quot;,!0)],domain:a({name:&quot;mapbox&quot;}),accesstoken:{valType:&quot;string&quot;,noBlank:!0,strict:!0},style:{valType:&quot;any&quot;,values:[&quot;basic&quot;,&quot;streets&quot;,&quot;outdoors&quot;,&quot;light&quot;,&quot;dark&quot;,&quot;satellite&quot;,&quot;satellite-streets&quot;],dflt:&quot;basic&quot;},center:{lon:{valType:&quot;number&quot;,dflt:0},lat:{valType:&quot;number&quot;,dflt:0}},zoom:{valType:&quot;number&quot;,dflt:1},bearing:{valType:&quot;number&quot;,dflt:0},pitch:{valType:&quot;number&quot;,dflt:0},layers:{_isLinkedToArray:&quot;layer&quot;,sourcetype:{valType:&quot;enumerated&quot;,values:[&quot;geojson&quot;,&quot;vector&quot;],dflt:&quot;geojson&quot;},source:{valType:&quot;any&quot;},sourcelayer:{valType:&quot;string&quot;,dflt:&quot;&quot;},type:{valType:&quot;enumerated&quot;,values:[&quot;circle&quot;,&quot;line&quot;,&quot;fill&quot;,&quot;symbol&quot;],dflt:&quot;circle&quot;},below:{valType:&quot;string&quot;,dflt:&quot;&quot;},color:{valType:&quot;color&quot;,dflt:i},opacity:{valType:&quot;number&quot;,min:0,max:1,dflt:1},circle:{radius:{valType:&quot;number&quot;,dflt:15}},line:{width:{valType:&quot;number&quot;,dflt:2}},fill:{outlinecolor:{valType:&quot;color&quot;,dflt:i}},symbol:{icon:{valType:&quot;string&quot;,dflt:&quot;marker&quot;},iconsize:{valType:&quot;number&quot;,dflt:10},text:{valType:&quot;string&quot;,dflt:&quot;&quot;},textfont:c,textposition:n.extendFlat({},s,{arrayOk:!1})}}},&quot;plot&quot;,&quot;from-root&quot;)},{&quot;../../components/color&quot;:618,&quot;../../lib&quot;:743,&quot;../../plot_api/edit_types&quot;:773,&quot;../../traces/scatter/attributes&quot;:1066,&quot;../domain_attributes&quot;:815,&quot;../font_attributes&quot;:816}],849:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r){r(&quot;accesstoken&quot;),r(&quot;style&quot;),r(&quot;center.lon&quot;),r(&quot;center.lat&quot;),r(&quot;zoom&quot;),r(&quot;bearing&quot;),r(&quot;pitch&quot;),function(t,e){function r(t,e){return i.coerce(n,a,o.layers,t,e)}var n,a,s=t.layers||[],l=e.layers=[];for(var c=0;c&lt;s.length;c++)if(n=s[c],a={},i.isPlainObject(n)){var u=r(&quot;sourcetype&quot;);r(&quot;source&quot;),&quot;vector&quot;===u&amp;&amp;r(&quot;sourcelayer&quot;);var f=r(&quot;type&quot;);r(&quot;below&quot;),r(&quot;color&quot;),r(&quot;opacity&quot;),&quot;circle&quot;===f&amp;&amp;r(&quot;circle.radius&quot;),&quot;line&quot;===f&amp;&amp;r(&quot;line.width&quot;),&quot;fill&quot;===f&amp;&amp;r(&quot;fill.outlinecolor&quot;),&quot;symbol&quot;===f&amp;&amp;(r(&quot;symbol.icon&quot;),r(&quot;symbol.iconsize&quot;),r(&quot;symbol.text&quot;),i.coerceFont(r,&quot;symbol.textfont&quot;),r(&quot;symbol.textposition&quot;)),a._index=c,l.push(a)}}(t,e),e._input=t}var i=t(&quot;../../lib&quot;),a=t(&quot;../subplot_defaults&quot;),o=t(&quot;./layout_attributes&quot;);e.exports=function(t,e,r){a(t,e,r,{type:&quot;mapbox&quot;,attributes:o,handleDefaults:n,partition:&quot;y&quot;})}},{&quot;../../lib&quot;:743,&quot;../subplot_defaults&quot;:865,&quot;./layout_attributes&quot;:848}],850:[function(t,e,r){&quot;use strict&quot;;function n(t){this.id=t.id,this.gd=t.gd,this.container=t.container,this.isStatic=t.staticPlot;var e=t.fullLayout;this.uid=e._uid+&quot;-&quot;+this.id,this.opts=e[this.id],this.div=null,this.xaxis=null,this.yaxis=null,this.createFramework(e),this.map=null,this.accessToken=null,this.styleObj=null,this.traceHash={},this.layerList=[]}function i(t){var e=d.style.values,r=d.style.dflt,n={};return c.isPlainObject(t)?(n.id=t.id,n.style=t):&quot;string&quot;==typeof t?(n.id=t,n.style=-1!==e.indexOf(t)?a(t):t):(n.id=r,n.style=a(r)),n}function a(t){return h.styleUrlPrefix+t+&quot;-&quot;+h.styleUrlSuffix}function o(t){return[t.lon,t.lat]}var s=t(&quot;mapbox-gl&quot;),l=t(&quot;../../components/fx&quot;),c=t(&quot;../../lib&quot;),u=t(&quot;../../components/dragelement&quot;),f=t(&quot;../cartesian/select&quot;),h=t(&quot;./constants&quot;),d=t(&quot;./layout_attributes&quot;),p=t(&quot;./layers&quot;),m=n.prototype;e.exports=function(t){return new n(t)},m.plot=function(t,e,r){var n=this,i=n.opts=e[this.id];n.map&amp;&amp;i.accesstoken!==n.accessToken&amp;&amp;(n.map.remove(),n.map=null,n.styleObj=null,n.traceHash=[],n.layerList={});var a;a=n.map?new Promise(function(r,i){n.updateMap(t,e,r,i)}):new Promise(function(r,i){n.createMap(t,e,r,i)}),r.push(a)},m.createMap=function(t,e,r,n){function a(){l.loneUnhover(e._toppaper)}var u=this,f=u.gd,d=u.opts,p=u.styleObj=i(d.style);u.accessToken=d.accesstoken;var m=u.map=new s.Map({container:u.div,style:p.style,center:o(d.center),zoom:d.zoom,bearing:d.bearing,pitch:d.pitch,interactive:!u.isStatic,preserveDrawingBuffer:u.isStatic,doubleClickZoom:!1,boxZoom:!1}),g=h.controlContainerClassName,v=u.div.getElementsByClassName(g)[0];u.div.removeChild(v),m._canvas.canvas.style.left=&quot;0px&quot;,m._canvas.canvas.style.top=&quot;0px&quot;,u.rejectOnError(n),m.once(&quot;load&quot;,function(){u.updateData(t),u.updateLayout(e),u.resolveOnRender(r)}),u.isStatic||(m.on(&quot;moveend&quot;,function(t){if(u.map){var e=u.getView();if(d._input.center=d.center=e.center,d._input.zoom=d.zoom=e.zoom,d._input.bearing=d.bearing=e.bearing,d._input.pitch=d.pitch=e.pitch,t.originalEvent){var r={};r[u.id]=c.extendFlat({},e),f.emit(&quot;plotly_relayout&quot;,r)}}}),m.on(&quot;mousemove&quot;,function(t){var e=u.div.getBoundingClientRect();t.clientX=t.point.x+e.left,t.clientY=t.point.y+e.top,t.target.getBoundingClientRect=function(){return e},u.xaxis.p2c=function(){return t.lngLat.lng},u.yaxis.p2c=function(){return t.lngLat.lat},l.hover(f,t,u.id)}),m.on(&quot;click&quot;,function(t){l.click(f,t.originalEvent)}),m.on(&quot;dragstart&quot;,a),m.on(&quot;zoomstart&quot;,a),m.on(&quot;dblclick&quot;,function(){var t=u.viewInitial;m.setCenter(o(t.center)),m.setZoom(t.zoom),m.setBearing(t.bearing),m.setPitch(t.pitch);var e=u.getView();d._input.center=d.center=e.center,d._input.zoom=d.zoom=e.zoom,d._input.bearing=d.bearing=e.bearing,d._input.pitch=d.pitch=e.pitch,f.emit(&quot;plotly_doubleclick&quot;,null)}))},m.updateMap=function(t,e,r,n){var a=this,o=a.map;a.rejectOnError(n);var s=i(a.opts.style);a.styleObj.id!==s.id?(a.styleObj=s,o.setStyle(s.style),o.style.once(&quot;load&quot;,function(){a.traceHash={},a.updateData(t),a.updateLayout(e),a.resolveOnRender(r)})):(a.updateData(t),a.updateLayout(e),a.resolveOnRender(r))},m.updateData=function(t){var e,r,n,i,a=this.traceHash;for(n=0;n&lt;t.length;n++){var o=t[n];(e=a[(r=o[0].trace).uid])?e.update(o):r._module&amp;&amp;(a[r.uid]=r._module.plot(this,o))}var s=Object.keys(a);t:for(n=0;n&lt;s.length;n++){var l=s[n];for(i=0;i&lt;t.length;i++)if(r=t[i][0].trace,l===r.uid)continue t;(e=a[l]).dispose(),delete a[l]}},m.updateLayout=function(t){var e=this.map,r=this.opts;e.setCenter(o(r.center)),e.setZoom(r.zoom),e.setBearing(r.bearing),e.setPitch(r.pitch),this.updateLayers(),this.updateFramework(t),this.updateFx(t),this.map.resize()},m.resolveOnRender=function(t){var e=this.map;e.on(&quot;render&quot;,function r(){e.loaded()&amp;&amp;(e.off(&quot;render&quot;,r),t())})},m.rejectOnError=function(t){function e(){t(new Error(h.mapOnErrorMsg))}var r=this.map;r.once(&quot;error&quot;,e),r.once(&quot;style.error&quot;,e),r.once(&quot;source.error&quot;,e),r.once(&quot;tile.error&quot;,e),r.once(&quot;layer.error&quot;,e)},m.createFramework=function(t){var e=this,r=e.div=document.createElement(&quot;div&quot;);r.id=e.uid,r.style.position=&quot;absolute&quot;,e.container.appendChild(r),e.xaxis={_id:&quot;x&quot;,c2p:function(t){return e.project(t).x}},e.yaxis={_id:&quot;y&quot;,c2p:function(t){return e.project(t).y}},e.updateFramework(t)},m.updateFx=function(t){function e(t){var e=r.map.unproject(t);return[e.lng,e.lat]}var r=this,n=r.map,i=r.gd;if(!r.isStatic){var a,o=t.dragmode;if(a=&quot;select&quot;===o?function(t,n){(t.range={})[r.id]=[e([n.xmin,n.ymin]),e([n.xmax,n.ymax])]}:function(t,n,i){(t.lassoPoints={})[r.id]=i.filtered.map(e)},&quot;select&quot;===o||&quot;lasso&quot;===o){n.dragPan.disable();var s={element:r.div,gd:i,plotinfo:{xaxis:r.xaxis,yaxis:r.yaxis,fillRangeItems:a},xaxes:[r.xaxis],yaxes:[r.yaxis],subplot:r.id};s.prepFn=function(t,e,r){f(t,e,r,s,o)},u.init(s)}else n.dragPan.enable(),r.div.onmousedown=null}},m.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])+&quot;px&quot;,n.height=r.h*(e.y[1]-e.y[0])+&quot;px&quot;,n.left=r.l+e.x[0]*r.w+&quot;px&quot;,n.top=r.t+(1-e.y[1])*r.h+&quot;px&quot;,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])},m.updateLayers=function(){var t,e=this.opts.layers,r=this.layerList;if(e.length!==r.length){for(t=0;t&lt;r.length;t++)r[t].dispose();for(r=this.layerList=[],t=0;t&lt;e.length;t++)r.push(p(this,t,e[t]))}else for(t=0;t&lt;e.length;t++)r[t].update(e[t])},m.destroy=function(){this.map&amp;&amp;(this.map.remove(),this.map=null,this.container.removeChild(this.div))},m.toImage=function(){return this.map.getCanvas().toDataURL()},m.initSource=function(t){return this.map.addSource(t,{type:&quot;geojson&quot;,data:{type:&quot;Feature&quot;,geometry:{type:&quot;Point&quot;,coordinates:[]}}})},m.setSourceData=function(t,e){this.map.getSource(t).setData(e)},m.setOptions=function(t,e,r){for(var n=this.map,i=Object.keys(r),a=0;a&lt;i.length;a++){var o=i[a];n[e](t,o,r[o])}},m.project=function(t){return this.map.project(new s.LngLat(t[0],t[1]))},m.getView=function(){var t=this.map,e=t.getCenter();return{center:{lon:e.lng,lat:e.lat},zoom:t.getZoom(),bearing:t.getBearing(),pitch:t.getPitch()}}},{&quot;../../components/dragelement&quot;:640,&quot;../../components/fx&quot;:660,&quot;../../lib&quot;:743,&quot;../cartesian/select&quot;:807,&quot;./constants&quot;:844,&quot;./layers&quot;:847,&quot;./layout_attributes&quot;:848,&quot;mapbox-gl&quot;:334}],851:[function(t,e,r){&quot;use strict&quot;;e.exports={t:{valType:&quot;number&quot;,dflt:0,editType:&quot;arraydraw&quot;},r:{valType:&quot;number&quot;,dflt:0,editType:&quot;arraydraw&quot;},b:{valType:&quot;number&quot;,dflt:0,editType:&quot;arraydraw&quot;},l:{valType:&quot;number&quot;,dflt:0,editType:&quot;arraydraw&quot;},editType:&quot;arraydraw&quot;}},{}],852:[function(t,e,r){&quot;use strict&quot;;function n(t){for(var e=0;e&lt;t.length;e++){t[e]._categories=t[e]._initialCategories.slice(),t[e]._categoriesMap={};for(var r=0;r&lt;t[e]._categories.length;r++)t[e]._categoriesMap[t[e]._categories[r]]=r}}var i=t(&quot;d3&quot;),a=t(&quot;fast-isnumeric&quot;),o=t(&quot;../plotly&quot;),s=t(&quot;../plot_api/plot_schema&quot;),l=t(&quot;../registry&quot;),c=t(&quot;../plots/cartesian/axis_ids&quot;),u=t(&quot;../lib&quot;),f=u._,h=t(&quot;../components/color&quot;),d=t(&quot;../constants/numerical&quot;).BADNUM,p=e.exports={},m=t(&quot;./animation_attributes&quot;),g=t(&quot;./frame_attributes&quot;),v=u.relinkPrivateKeys;u.extendFlat(p,l),p.attributes=t(&quot;./attributes&quot;),p.attributes.type.values=p.allTypes,p.fontAttrs=t(&quot;./font_attributes&quot;),p.layoutAttributes=t(&quot;./layout_attributes&quot;),p.fontWeight=&quot;normal&quot;;var y=p.transformsRegistry,x=t(&quot;../components/errorbars&quot;),b=t(&quot;./command&quot;);p.executeAPICommand=b.executeAPICommand,p.computeAPICommandBindings=b.computeAPICommandBindings,p.manageCommandObserver=b.manageCommandObserver,p.hasSimpleAPICommandBindings=b.hasSimpleAPICommandBindings,p.redrawText=function(t){if(!((t=u.getGraphDiv(t)).data&amp;&amp;t.data[0]&amp;&amp;t.data[0].r))return new Promise(function(e){setTimeout(function(){l.getComponentMethod(&quot;annotations&quot;,&quot;draw&quot;)(t),l.getComponentMethod(&quot;legend&quot;,&quot;draw&quot;)(t),(t.calcdata||[]).forEach(function(t){t[0]&amp;&amp;t[0].t&amp;&amp;t[0].t.cb&amp;&amp;t[0].t.cb()}),e(p.previousPromises(t))},300)})},p.resize=function(t){return t=u.getGraphDiv(t),new Promise(function(e,r){t&amp;&amp;!function(t){var e=window.getComputedStyle(t).display;return!e||&quot;none&quot;===e}(t)||r(new Error(&quot;Resize must be passed a displayed plot div element.&quot;)),t._redrawTimer&amp;&amp;clearTimeout(t._redrawTimer),t._redrawTimer=setTimeout(function(){if(t.layout.width&amp;&amp;t.layout.height)e(t);else{delete t.layout.width,delete t.layout.height;var r=t.changed;t.autoplay=!0,o.relayout(t,{autosize:!0}).then(function(){t.changed=r,e(t)})}},100)})},p.previousPromises=function(t){if((t._promises||[]).length)return Promise.all(t._promises).then(function(){t._promises=[]})},p.addLinks=function(t){if(t._context.showLink||t._context.showSources){var e=t._fullLayout,r=e._paper.selectAll(&quot;text.js-plot-link-container&quot;).data([0]);r.enter().append(&quot;text&quot;).classed(&quot;js-plot-link-container&quot;,!0).style({&quot;font-family&quot;:'&quot;Open Sans&quot;, Arial, sans-serif',&quot;font-size&quot;:&quot;12px&quot;,fill:h.defaultLine,&quot;pointer-events&quot;:&quot;all&quot;}).each(function(){var t=i.select(this);t.append(&quot;tspan&quot;).classed(&quot;js-link-to-tool&quot;,!0),t.append(&quot;tspan&quot;).classed(&quot;js-link-spacer&quot;,!0),t.append(&quot;tspan&quot;).classed(&quot;js-sourcelinks&quot;,!0)});var n=r.node(),a={y:e._paper.attr(&quot;height&quot;)-9};document.body.contains(n)&amp;&amp;n.getComputedTextLength()&gt;=e.width-20?(a[&quot;text-anchor&quot;]=&quot;start&quot;,a.x=5):(a[&quot;text-anchor&quot;]=&quot;end&quot;,a.x=e._paper.attr(&quot;width&quot;)-7),r.attr(a);var o=r.select(&quot;.js-link-to-tool&quot;),s=r.select(&quot;.js-link-spacer&quot;),l=r.select(&quot;.js-sourcelinks&quot;);t._context.showSources&amp;&amp;t._context.showSources(t),t._context.showLink&amp;&amp;function(t,e){e.text(&quot;&quot;);var r=e.append(&quot;a&quot;).attr({&quot;xlink:xlink:href&quot;:&quot;#&quot;,class:&quot;link--impt link--embedview&quot;,&quot;font-weight&quot;:&quot;bold&quot;}).text(t._context.linkText+&quot; &quot;+String.fromCharCode(187));if(t._context.sendData)r.on(&quot;click&quot;,function(){p.sendDataToCloud(t)});else{var n=window.location.pathname.split(&quot;/&quot;),i=window.location.search;r.attr({&quot;xlink:xlink:show&quot;:&quot;new&quot;,&quot;xlink:xlink:href&quot;:&quot;/&quot;+n[2].split(&quot;.&quot;)[0]+&quot;/&quot;+n[1]+i})}}(t,o),s.text(o.text()&amp;&amp;l.text()?&quot; - &quot;:&quot;&quot;)}},p.sendDataToCloud=function(t){t.emit(&quot;plotly_beforeexport&quot;);var e=window.PLOTLYENV&amp;&amp;window.PLOTLYENV.BASE_URL||&quot;https://plot.ly&quot;,r=i.select(t).append(&quot;div&quot;).attr(&quot;id&quot;,&quot;hiddenform&quot;).style(&quot;display&quot;,&quot;none&quot;),n=r.append(&quot;form&quot;).attr({action:e+&quot;/external&quot;,method:&quot;post&quot;,target:&quot;_blank&quot;});return n.append(&quot;input&quot;).attr({type:&quot;text&quot;,name:&quot;data&quot;}).node().value=p.graphJson(t,!1,&quot;keepdata&quot;),n.node().submit(),r.remove(),t.emit(&quot;plotly_afterexport&quot;),!1},p.supplyDefaults=function(t){var e,r=t._fullLayout||{},n=t._fullLayout={},a=t.layout||{},o=t._fullData||[],s=t._fullData=[],h=t.data||[];t._transitionData||p.createTransitionData(t),n._dfltTitle={plot:f(t,&quot;Click to enter Plot title&quot;),x:f(t,&quot;Click to enter X axis title&quot;),y:f(t,&quot;Click to enter Y axis title&quot;),colorbar:f(t,&quot;Click to enter Colorscale title&quot;),annotation:f(t,&quot;new text&quot;)},n._traceWord=f(t,&quot;trace&quot;);var d=function(t){function e(t){for(var e=!0,r=0;r&lt;w.length;r++){var a=w[r];i[a]||(t[a]?i[a]=t[a]:e=!1)}e&amp;&amp;(n=!0)}for(var r=t._context.locale,n=!1,i={},a=0;a&lt;2;a++){for(var o=t._context.locales,s=0;s&lt;2;s++){var c=(o[r]||{}).format;if(c&amp;&amp;(e(c),n))break;o=l.localeRegistry}var u=r.split(&quot;-&quot;)[0];if(n||u===r)break;r=u}return n||e(l.localeRegistry.en.format),i}(t);if(r._initialAutoSizeIsDone){var m=r.width,g=r.height;p.supplyLayoutGlobalDefaults(a,n,d),a.width||(n.width=m),a.height||(n.height=g)}else{p.supplyLayoutGlobalDefaults(a,n,d);var y=!a.width||!a.height,x=n.autosize,b=t._context&amp;&amp;t._context.autosizable;y&amp;&amp;(x||b)?p.plotAutoSize(t,a,n):y&amp;&amp;p.sanitizeMargins(t),!x&amp;&amp;y&amp;&amp;(a.width=n.width,a.height=n.height)}n._d3locale=function(t,e){return t.decimal=e.charAt(0),t.thousands=e.charAt(1),i.locale(t)}(d,n.separators),n._initialAutoSizeIsDone=!0,n._dataLength=h.length,n._modules=[],n._basePlotModules=[],n._subplots=function(){var t,e,r={};if(!_){_=[];var n=l.subplotsRegistry;for(var i in n){var a=n[i].attr;if(a&amp;&amp;(_.push(i),Array.isArray(a)))for(e=0;e&lt;a.length;e++)u.pushUnique(_,a[e])}}for(t=0;t&lt;_.length;t++)r[_[t]]=[];return r}(),n._globalTransforms=(t._context||{}).globalTransforms,p.supplyDataDefaults(h,s,a,n),n._has=p._hasPlotType.bind(n);var M=n._modules;for(e=0;e&lt;M.length;e++){var k=M[e];k.cleanData&amp;&amp;k.cleanData(s)}if(o.length===h.length)for(e=0;e&lt;s.length;e++)v(s[e],o[e]);p.supplyLayoutModuleDefaults(a,n,s,t._transitionData),n._hasCartesian=n._has(&quot;cartesian&quot;),n._hasGeo=n._has(&quot;geo&quot;),n._hasGL3D=n._has(&quot;gl3d&quot;),n._hasGL2D=n._has(&quot;gl2d&quot;),n._hasTernary=n._has(&quot;ternary&quot;),n._hasPie=n._has(&quot;pie&quot;),p.cleanPlot(s,n,o,r),p.linkSubplots(s,n,o,r),v(n,r),p.doAutoMargin(t);var A=c.list(t);for(e=0;e&lt;A.length;e++){A[e].setScale()}if((t.calcdata||[]).length===s.length)for(e=0;e&lt;s.length;e++){var T=s[e],S=t.calcdata[e][0];S&amp;&amp;S.trace&amp;&amp;(S.trace._hasCalcTransform?function(t,e){var r,n,i=t.trace,a=i._arrayAttrs,o={};for(r=0;r&lt;a.length;r++)o[n=a[r]]=u.nestedProperty(i,n).get().slice();for(t.trace=e,r=0;r&lt;a.length;r++)n=a[r],u.nestedProperty(t.trace,n).set(o[n])}(S,T):S.trace=T)}};var _,w=[&quot;days&quot;,&quot;shortDays&quot;,&quot;months&quot;,&quot;shortMonths&quot;,&quot;periods&quot;,&quot;dateTime&quot;,&quot;date&quot;,&quot;time&quot;,&quot;decimal&quot;,&quot;thousands&quot;,&quot;grouping&quot;,&quot;currency&quot;];p.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=[])},p._hasPlotType=function(t){var e,r=this._basePlotModules||[];for(e=0;e&lt;r.length;e++){if(r[e].name===t)return!0}var n=this._modules||[];for(e=0;e&lt;n.length;e++){var i=n[e];if(i.categories&amp;&amp;i.categories.indexOf(t)&gt;=0)return!0}return!1},p.cleanPlot=function(t,e,r,n){var i,a,o=n._basePlotModules||[];for(i=0;i&lt;o.length;i++){var s=o[i];s.clean&amp;&amp;s.clean(t,e,r,n)}var l=!!n._paper,c=!!n._infolayer,u=n._has&amp;&amp;n._has(&quot;gl&quot;),f=e._has&amp;&amp;e._has(&quot;gl&quot;);u&amp;&amp;!f&amp;&amp;void 0!==n._glcontainer&amp;&amp;(n._glcontainer.selectAll(&quot;.gl-canvas&quot;).remove(),n._glcanvas=null);t:for(i=0;i&lt;r.length;i++){var h=r[i].uid;for(a=0;a&lt;t.length;a++){if(h===t[a].uid)continue t}var d=&quot;.hm&quot;+h+&quot;,.contour&quot;+h+&quot;,.carpet&quot;+h+&quot;,#clip&quot;+h+&quot;,.trace&quot;+h;l&amp;&amp;n._paper.selectAll(d).remove(),c&amp;&amp;(n._infolayer.selectAll(&quot;.cb&quot;+h).remove(),n._infolayer.selectAll(&quot;g.rangeslider-container&quot;).selectAll(d).remove())}n._zoomlayer&amp;&amp;n._zoomlayer.selectAll(&quot;.select-outline&quot;).remove()},p.linkSubplots=function(t,e,r,n){var i,a,o,s,l=n._plots||{},f=e._plots={},h=e._subplots,d={_fullData:t,_fullLayout:e},p=h.cartesian.concat(h.gl2d||[]);for(var m in h)h[m].sort(u.subplotSort);for(i=0;i&lt;p.length;i++){var g,v=l[o=p[i]],y=c.getFromId(d,o,&quot;x&quot;),x=c.getFromId(d,o,&quot;y&quot;);for(v?((g=f[o]=v).xaxis.layer!==y.layer&amp;&amp;(g.xlines.attr(&quot;d&quot;,null),g.xaxislayer.selectAll(&quot;*&quot;).remove()),g.yaxis.layer!==x.layer&amp;&amp;(g.ylines.attr(&quot;d&quot;,null),g.yaxislayer.selectAll(&quot;*&quot;).remove())):(g=f[o]={}).id=o,g.xaxis=y,g.yaxis=x,g._hasClipOnAxisFalse=!1,a=0;a&lt;t.length;a++){var b=t[a];if(b.xaxis===g.xaxis._id&amp;&amp;b.yaxis===g.yaxis._id&amp;&amp;!1===b.cliponaxis){g._hasClipOnAxisFalse=!0;break}}}var _=c.list(d,null,!0);for(i=0;i&lt;_.length;i++){var w=null;(s=_[i]).overlaying&amp;&amp;(w=c.getFromId(d,s.overlaying))&amp;&amp;w.overlaying&amp;&amp;(s.overlaying=!1,w=null),s._mainAxis=w||s,w&amp;&amp;(s.domain=w.domain.slice()),s._anchorAxis=&quot;free&quot;===s.anchor?null:c.getFromId(d,s.anchor)}for(i=0;i&lt;_.length;i++){var M=&quot;x&quot;===(s=_[i])._id.charAt(0),k=s._mainAxis._anchorAxis,A=&quot;&quot;,T=&quot;&quot;,S=&quot;&quot;;if(k&amp;&amp;(S=k._mainAxis._id,A=M?s._id+S:S+s._id),!A||-1===p.indexOf(A))for(A=&quot;&quot;,a=0;a&lt;p.length;a++){var E=(o=p[a]).indexOf(&quot;y&quot;),L=M?o.substr(0,E):o.substr(E),C=M?o.substr(E):o.substr(0,E);if(L===s._id){T||(T=o);var z=c.getFromId(d,C);if(S&amp;&amp;z.overlaying===S){A=o;break}}}s._mainSubplot=A||T}},p.clearExpandedTraceDefaultColors=function(t){function e(t,e,i,a){n[a]=e,n.length=a+1,&quot;color&quot;===t.valType&amp;&amp;void 0===t.dflt&amp;&amp;r.push(n.join(&quot;.&quot;))}var r,n,i;for(n=[],(r=t._module._colorAttrs)||(t._module._colorAttrs=r=[],s.crawl(t._module.attributes,e)),i=0;i&lt;r.length;i++){u.nestedProperty(t,&quot;_input.&quot;+r[i]).get()||u.nestedProperty(t,r[i]).set(null)}},p.supplyDataDefaults=function(t,e,r,n){function i(t){e.push(t);var r=t._module;r&amp;&amp;(!0===t.visible&amp;&amp;u.pushUnique(c,r),u.pushUnique(f,t._module.basePlotModule),h++,!1!==t._input.visible&amp;&amp;d++)}var a,o,s,c=n._modules,f=n._basePlotModules,h=0,d=0;n._transformModules=[];var m={},g=[];for(a=0;a&lt;t.length;a++){if(s=t[a],o=p.supplyTraceDefaults(s,d,n,a),o.index=a,o._input=s,o._expandedIndex=h,o.transforms&amp;&amp;o.transforms.length)for(var x=function(t,e,r,n){for(var i=t.transforms,a=[t],o=0;o&lt;i.length;o++){var s=i[o],l=y[s.type];l&amp;&amp;l.transform&amp;&amp;(a=l.transform(a,{transform:s,fullTrace:t,fullData:e,layout:r,fullLayout:n,transformIndex:o}))}return a}(o,e,r,n),b=0;b&lt;x.length;b++){var _=x[b],w=p.supplyTraceDefaults(_,h,n,a);v(w,_),_.uid=w.uid=o.uid+b,w.index=a,w._input=s,w._fullInput=o,w._expandedIndex=h,w._expandedInput=_,i(w)}else o._fullInput=o,o._expandedInput=o,i(o);l.traceIs(o,&quot;carpetAxis&quot;)&amp;&amp;(m[o.carpet]=o),l.traceIs(o,&quot;carpetDependent&quot;)&amp;&amp;g.push(a)}for(a=0;a&lt;g.length;a++)if((o=e[g[a]]).visible){var M=m[o.carpet];o._carpet=M,M&amp;&amp;M.visible?(o.xaxis=M.xaxis,o.yaxis=M.yaxis):o.visible=!1}},p.supplyAnimationDefaults=function(t){function e(e,r){return u.coerce(t||{},n,m,e,r)}t=t||{};var r,n={};if(e(&quot;mode&quot;),e(&quot;direction&quot;),e(&quot;fromcurrent&quot;),Array.isArray(t.frame))for(n.frame=[],r=0;r&lt;t.frame.length;r++)n.frame[r]=p.supplyAnimationFrameDefaults(t.frame[r]||{});else n.frame=p.supplyAnimationFrameDefaults(t.frame||{});if(Array.isArray(t.transition))for(n.transition=[],r=0;r&lt;t.transition.length;r++)n.transition[r]=p.supplyAnimationTransitionDefaults(t.transition[r]||{});else n.transition=p.supplyAnimationTransitionDefaults(t.transition||{});return n},p.supplyAnimationFrameDefaults=function(t){function e(e,n){return u.coerce(t||{},r,m.frame,e,n)}var r={};return e(&quot;duration&quot;),e(&quot;redraw&quot;),r},p.supplyAnimationTransitionDefaults=function(t){function e(e,n){return u.coerce(t||{},r,m.transition,e,n)}var r={};return e(&quot;duration&quot;),e(&quot;easing&quot;),r},p.supplyFrameDefaults=function(t){function e(e,n){return u.coerce(t,r,g,e,n)}var r={};return e(&quot;group&quot;),e(&quot;name&quot;),e(&quot;traces&quot;),e(&quot;baseframe&quot;),e(&quot;data&quot;),e(&quot;layout&quot;),r},p.supplyTraceDefaults=function(t,e,r,n){function i(e,r){return u.coerce(t,s,p.attributes,e,r)}var a,o=r.colorway||h.defaults,s={},c=o[e%o.length],f=i(&quot;visible&quot;);i(&quot;type&quot;),i(&quot;uid&quot;),i(&quot;name&quot;,r._traceWord+&quot; &quot;+n);var d=p.getModule(s);if(s._module=d,d){var m=d.basePlotModule,g=m.attr;if(g){var v=r._subplots,y=m.attributes,x=&quot;&quot;;if(&quot;gl2d&quot;!==m.name||f){if(Array.isArray(g))for(a=0;a&lt;g.length;a++){var b=g[a],_=u.coerce(t,s,y,b);v[b]&amp;&amp;u.pushUnique(v[b],_),x+=_}else x=u.coerce(t,s,y,g);v[m.name]&amp;&amp;u.pushUnique(v[m.name],x)}}}return f&amp;&amp;(i(&quot;customdata&quot;),i(&quot;ids&quot;),p.traceIs(s,&quot;showLegend&quot;)&amp;&amp;(i(&quot;showlegend&quot;),i(&quot;legendgroup&quot;)),l.getComponentMethod(&quot;fx&quot;,&quot;supplyDefaults&quot;)(t,s,c,r),d&amp;&amp;(d.supplyDefaults(t,s,c,r),u.coerceHoverinfo(t,s,r)),p.traceIs(s,&quot;noOpacity&quot;)||i(&quot;opacity&quot;),p.traceIs(s,&quot;notLegendIsolatable&quot;)&amp;&amp;(s.visible=!!s.visible),d&amp;&amp;d.selectPoints&amp;&amp;i(&quot;selectedpoints&quot;),p.supplyTransformDefaults(t,s,r)),s},p.supplyTransformDefaults=function(t,e,r){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&lt;o.length;l++){var c,f=o[l],h=f.type,d=y[h],p=!(f._module&amp;&amp;f._module===d),m=d&amp;&amp;&quot;function&quot;==typeof d.transform;d||u.warn(&quot;Unrecognized transform type &quot;+h+&quot;.&quot;),d&amp;&amp;d.supplyDefaults&amp;&amp;(p||m)?((c=d.supplyDefaults(f,e,r,t)).type=h,c._module=d,u.pushUnique(i,d)):c=u.extendFlat({},f),s.push(c)}},p.supplyLayoutGlobalDefaults=function(t,e,r){function n(r,n){return u.coerce(t,e,p.layoutAttributes,r,n)}var i=u.coerceFont(n,&quot;font&quot;);n(&quot;title&quot;,e._dfltTitle.plot),u.coerceFont(n,&quot;titlefont&quot;,{family:i.family,size:Math.round(1.4*i.size),color:i.color}),n(&quot;autosize&quot;,!(t.width&amp;&amp;t.height)),n(&quot;width&quot;),n(&quot;height&quot;),n(&quot;margin.l&quot;),n(&quot;margin.r&quot;),n(&quot;margin.t&quot;),n(&quot;margin.b&quot;),n(&quot;margin.pad&quot;),n(&quot;margin.autoexpand&quot;),t.width&amp;&amp;t.height&amp;&amp;p.sanitizeMargins(e),n(&quot;paper_bgcolor&quot;),n(&quot;separators&quot;,r.decimal+r.thousands),n(&quot;hidesources&quot;),n(&quot;colorway&quot;),l.getComponentMethod(&quot;calendars&quot;,&quot;handleDefaults&quot;)(t,e,&quot;calendar&quot;),l.getComponentMethod(&quot;fx&quot;,&quot;supplyLayoutGlobalDefaults&quot;)(t,e,n)},p.plotAutoSize=function(t,e,r){var n,i,o=t._context||{},s=o.frameMargins,l=u.isPlotDiv(t);if(l&amp;&amp;t.emit(&quot;plotly_autosize&quot;),o.fillFrame)n=window.innerWidth,i=window.innerHeight,document.body.style.overflow=&quot;hidden&quot;;else if(a(s)&amp;&amp;s&gt;0){var c=function(t){var e,r={left:0,right:0,bottom:0,top:0};if(t)for(e in t)t.hasOwnProperty(e)&amp;&amp;(r.left+=t[e].left||0,r.right+=t[e].right||0,r.bottom+=t[e].bottom||0,r.top+=t[e].top||0);return r}(t._boundingBoxMargins),f=c.left+c.right,h=c.bottom+c.top,d=1-2*s,m=r._container&amp;&amp;r._container.node?r._container.node().getBoundingClientRect():{width:r.width,height:r.height};n=Math.round(d*(m.width-f)),i=Math.round(d*(m.height-h))}else{var g=l?window.getComputedStyle(t):{};n=parseFloat(g.width)||r.width,i=parseFloat(g.height)||r.height}var v=p.layoutAttributes.width.min,y=p.layoutAttributes.height.min;n&lt;v&amp;&amp;(n=v),i&lt;y&amp;&amp;(i=y);var x=!e.width&amp;&amp;Math.abs(r.width-n)&gt;1,b=!e.height&amp;&amp;Math.abs(r.height-i)&gt;1;(b||x)&amp;&amp;(x&amp;&amp;(r.width=n),b&amp;&amp;(r.height=i)),t._initialAutoSize||(t._initialAutoSize={width:n,height:i}),p.sanitizeMargins(r)},p.supplyLayoutModuleDefaults=function(t,e,r,n){var i,a,o,s=l.componentsRegistry,c=e._basePlotModules,u=l.subplotsRegistry.cartesian;for(i in s)(o=s[i]).includeBasePlot&amp;&amp;o.includeBasePlot(t,e);for(c.length||c.push(u),e._has(&quot;cartesian&quot;)&amp;&amp;u.finalizeSubplots(t,e),a=0;a&lt;c.length;a++)(o=c[a]).supplyLayoutDefaults&amp;&amp;o.supplyLayoutDefaults(t,e,r);var f=e._modules;for(a=0;a&lt;f.length;a++)(o=f[a]).supplyLayoutDefaults&amp;&amp;o.supplyLayoutDefaults(t,e,r);var h=e._transformModules;for(a=0;a&lt;h.length;a++)(o=h[a]).supplyLayoutDefaults&amp;&amp;o.supplyLayoutDefaults(t,e,r,n);for(i in s)(o=s[i]).supplyLayoutDefaults&amp;&amp;o.supplyLayoutDefaults(t,e,r)},p.purge=function(t){var e=t._fullLayout||{};void 0!==e._glcontainer&amp;&amp;(e._glcontainer.selectAll(&quot;.gl-canvas&quot;).remove(),e._glcontainer.remove(),e._glcanvas=null),void 0!==e._geocontainer&amp;&amp;e._geocontainer.remove(),e._modeBar&amp;&amp;e._modeBar.destroy(),t._transitionData&amp;&amp;(t._transitionData._interruptCallbacks&amp;&amp;(t._transitionData._interruptCallbacks.length=0),t._transitionData._animationRaf&amp;&amp;window.cancelAnimationFrame(t._transitionData._animationRaf)),u.clearThrottle(),delete t.data,delete t.layout,delete t._fullData,delete t._fullLayout,delete t.calcdata,delete t.framework,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.firstscatter,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._hoverdata,delete t._snapshotInProgress,delete t._editing,delete t._replotPending,delete t._mouseDownTime,delete t._legendMouseDownTime,t.removeAllListeners&amp;&amp;t.removeAllListeners()},p.style=function(t){var e,r=t._fullLayout._modules,n=[];for(e=0;e&lt;r.length;e++){var i=r[e];i.style&amp;&amp;u.pushUnique(n,i.style)}for(e=0;e&lt;n.length;e++)n[e](t)},p.sanitizeMargins=function(t){if(t&amp;&amp;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&lt;0&amp;&amp;(e=(r-1)/(i.l+i.r),i.l=Math.floor(e*i.l),i.r=Math.floor(e*i.r)),o&lt;0&amp;&amp;(e=(n-1)/(i.t+i.b),i.t=Math.floor(e*i.t),i.b=Math.floor(e*i.b))}},p.autoMargin=function(t,e,r){var n=t._fullLayout;if(n._pushmargin||(n._pushmargin={}),!1!==n.margin.autoexpand){if(r){var i=void 0===r.pad?12:r.pad;r.l+r.r&gt;.5*n.width&amp;&amp;(r.l=r.r=0),r.b+r.t&gt;.5*n.height&amp;&amp;(r.b=r.t=0),n._pushmargin[e]={l:{val:r.x,size:r.l+i},r:{val:r.x,size:r.r+i},b:{val:r.y,size:r.b+i},t:{val:r.y,size:r.t+i}}}else delete n._pushmargin[e];n._replotting||p.doAutoMargin(t)}},p.doAutoMargin=function(t){var e=t._fullLayout;e._size||(e._size={}),e._pushmargin||(e._pushmargin={});var r=e._size,n=JSON.stringify(r),i=Math.max(e.margin.l||0,0),s=Math.max(e.margin.r||0,0),l=Math.max(e.margin.t||0,0),c=Math.max(e.margin.b||0,0),u=e._pushmargin;if(!1!==e.margin.autoexpand){u.base={l:{val:0,size:i},r:{val:1,size:s},t:{val:1,size:l},b:{val:0,size:c}};for(var f in u){var h=u[f].l||{},d=u[f].b||{},p=h.val,m=h.size,g=d.val,v=d.size;for(var y in u){if(a(m)&amp;&amp;u[y].r){var x=u[y].r.val,b=u[y].r.size;if(x&gt;p){var _=(m*x+(b-e.width)*p)/(x-p),w=(b*(1-p)+(m-e.width)*(1-x))/(x-p);_&gt;=0&amp;&amp;w&gt;=0&amp;&amp;_+w&gt;i+s&amp;&amp;(i=_,s=w)}}if(a(v)&amp;&amp;u[y].t){var M=u[y].t.val,k=u[y].t.size;if(M&gt;g){var A=(v*M+(k-e.height)*g)/(M-g),T=(k*(1-g)+(v-e.height)*(1-M))/(M-g);A&gt;=0&amp;&amp;T&gt;=0&amp;&amp;A+T&gt;c+l&amp;&amp;(c=A,l=T)}}}}}if(r.l=Math.round(i),r.r=Math.round(s),r.t=Math.round(l),r.b=Math.round(c),r.p=Math.round(e.margin.pad),r.w=Math.round(e.width)-r.l-r.r,r.h=Math.round(e.height)-r.t-r.b,!e._replotting&amp;&amp;&quot;{}&quot;!==n&amp;&amp;n!==JSON.stringify(e._size))return o.plot(t)},p.graphJson=function(t,e,r,n,i){function a(t){if(&quot;function&quot;==typeof t)return null;if(u.isPlainObject(t)){var e,n,i={};for(e in t)if(&quot;function&quot;!=typeof t[e]&amp;&amp;-1===[&quot;_&quot;,&quot;[&quot;].indexOf(e.charAt(0))){if(&quot;keepdata&quot;===r){if(&quot;src&quot;===e.substr(e.length-3))continue}else if(&quot;keepstream&quot;===r){if(&quot;string&quot;==typeof(n=t[e+&quot;src&quot;])&amp;&amp;n.indexOf(&quot;:&quot;)&gt;0&amp;&amp;!u.isPlainObject(t.stream))continue}else if(&quot;keepall&quot;!==r&amp;&amp;&quot;string&quot;==typeof(n=t[e+&quot;src&quot;])&amp;&amp;n.indexOf(&quot;:&quot;)&gt;0)continue;i[e]=a(t[e])}return i}return Array.isArray(t)?t.map(a):u.isJSDate(t)?u.ms2DateTimeLocal(+t):t}(i&amp;&amp;e&amp;&amp;!t._fullData||i&amp;&amp;!e&amp;&amp;!t._fullLayout)&amp;&amp;p.supplyDefaults(t);var o=i?t._fullData:t.data,s=i?t._fullLayout:t.layout,l=(t._transitionData||{})._frames,c={data:(o||[]).map(function(t){var r=a(t);return e&amp;&amp;delete r.fit,r})};return e||(c.layout=a(s)),t.framework&amp;&amp;t.framework.isPolar&amp;&amp;(c=t.framework.getConfig()),l&amp;&amp;(c.frames=a(l)),&quot;object&quot;===n?c:JSON.stringify(c)},p.modifyFrames=function(t,e){var r,n,i,a=t._transitionData._frames,o=t._transitionData._frameHash;for(r=0;r&lt;e.length;r++)switch((n=e[r]).type){case&quot;replace&quot;:i=n.value;var s=(a[n.index]||{}).name,l=i.name;a[n.index]=o[l]=i,l!==s&amp;&amp;(delete o[s],o[l]=i);break;case&quot;insert&quot;:o[(i=n.value).name]=i,a.splice(n.index,0,i);break;case&quot;delete&quot;:delete o[(i=a[n.index]).name],a.splice(n.index,1)}return Promise.resolve()},p.computeFrame=function(t,e){var r,n,i,a,o=t._transitionData._frameHash;if(!e)throw new Error(&quot;computeFrame must be given a string frame name&quot;);var s=o[e.toString()];if(!s)return!1;for(var l=[s],c=[s.name];s.baseframe&amp;&amp;(s=o[s.baseframe.toString()])&amp;&amp;-1===c.indexOf(s.name);)l.push(s),c.push(s.name);for(var u={};s=l.pop();)if(s.layout&amp;&amp;(u.layout=p.extendLayout(u.layout,s.layout)),s.data){if(u.data||(u.data=[]),!(n=s.traces))for(n=[],r=0;r&lt;s.data.length;r++)n[r]=r;for(u.traces||(u.traces=[]),r=0;r&lt;s.data.length;r++)void 0!==(i=n[r])&amp;&amp;null!==i&amp;&amp;(-1===(a=u.traces.indexOf(i))&amp;&amp;(a=u.data.length,u.traces[a]=i),u.data[a]=p.extendTrace(u.data[a],s.data[r]))}return u},p.recomputeFrameHash=function(t){for(var e=t._transitionData._frameHash={},r=t._transitionData._frames,n=0;n&lt;r.length;n++){var i=r[n];i&amp;&amp;i.name&amp;&amp;(e[i.name]=i)}},p.extendObjectWithContainers=function(t,e,r){var n,i,a,o,s,l,c,f,h=u.extendDeepNoArrays({},e||{}),d=u.expandObjectPaths(h),m={};if(r&amp;&amp;r.length)for(a=0;a&lt;r.length;a++)void 0===(i=(n=u.nestedProperty(d,r[a])).get())?u.nestedProperty(m,r[a]).set(null):(n.set(null),u.nestedProperty(m,r[a]).set(i));if(t=u.extendDeepNoArrays(t||{},d),r&amp;&amp;r.length)for(a=0;a&lt;r.length;a++)if(s=u.nestedProperty(m,r[a]),c=s.get()){for(f=(l=u.nestedProperty(t,r[a])).get(),Array.isArray(f)||(f=[],l.set(f)),o=0;o&lt;c.length;o++){var g=c[o];f[o]=null===g?null:p.extendObjectWithContainers(f[o],g)}l.set(f)}return t},p.dataArrayContainers=[&quot;transforms&quot;],p.layoutArrayContainers=l.layoutArrayContainers,p.extendTrace=function(t,e){return p.extendObjectWithContainers(t,e,p.dataArrayContainers)},p.extendLayout=function(t,e){return p.extendObjectWithContainers(t,e,p.layoutArrayContainers)},p.transition=function(t,e,r,n,i,a){var s,l,c=Array.isArray(e)?e.length:0,f=n.slice(0,c),h=[],d=!1;for(s=0;s&lt;f.length;s++){l=f[s];var m=t._fullData[l]._module;if(m&amp;&amp;!m.animatable){var g={};for(var v in e[s])g[v]=[e[s][v]]}}var y=[p.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)},function(){var n;for(n=0;n&lt;f.length;n++){var i=f[n],a=t._fullData[i]._module;a&amp;&amp;(a.animatable&amp;&amp;h.push(i),t.data[f[n]]=p.extendTrace(t.data[f[n]],e[n]))}var o=u.expandObjectPaths(u.extendDeepNoArrays({},r)),s=/^[xy]axis[0-9]*$/;for(var l in o)s.test(l)&amp;&amp;delete o[l].range;return p.extendLayout(t.layout,o),delete t.calcdata,p.supplyDefaults(t),p.doCalcdata(t),x.calc(t),Promise.resolve()},p.rehover,function(){return t.emit(&quot;plotly_transitioning&quot;,[]),new Promise(function(e){function n(){return c++,function(){f++,d||f!==c||function(e){t._transitionData&amp;&amp;(function(t){if(t)for(;t.length;)t.shift()}(t._transitionData._interruptCallbacks),Promise.resolve().then(function(){if(i.redraw)return o.redraw(t)}).then(function(){t._transitioning=!1,t._transitioningWithDuration=!1,t.emit(&quot;plotly_transitioned&quot;,[])}).then(e))}(e)}}t._transitioning=!0,a.duration&gt;0&amp;&amp;(t._transitioningWithDuration=!0),t._transitionData._interruptCallbacks.push(function(){d=!0}),i.redraw&amp;&amp;t._transitionData._interruptCallbacks.push(function(){return o.redraw(t)}),t._transitionData._interruptCallbacks.push(function(){t.emit(&quot;plotly_transitioninterrupted&quot;,[])});var s,l,c=0,f=0,p=t._fullLayout._basePlotModules,m=!1;if(r)for(l=0;l&lt;p.length;l++)if(p[l].transitionAxes){var g=u.expandObjectPaths(r);m=p[l].transitionAxes(t,g,a,n)||m}for(m?(s=u.extendFlat({},a)).duration=0:s=a,l=0;l&lt;p.length;l++)p[l].plot(t,h,s,n);setTimeout(n())})}],b=u.syncOrAsync(y,t);return b&amp;&amp;b.then||(b=Promise.resolve()),b.then(function(){return t})},p.doCalcdata=function(t,e){var r,i,a,o,u=c.list(t),f=t._fullData,h=t._fullLayout,p=new Array(f.length),m=(t.calcdata||[]).slice(0);for(t.calcdata=p,t.firstscatter=!0,h._numBoxes=0,h._numViolins=0,h._violinScaleGroupStats={},t._hmpixcount=0,t._hmlumcount=0,h._piecolormap={},h._piecolorway=null,h._piedefaultcolorcount=0,a=0;a&lt;f.length;a++)Array.isArray(e)&amp;&amp;-1===e.indexOf(a)&amp;&amp;(p[a]=m[a]);for(a=0;a&lt;f.length;a++)(r=f[a])._arrayAttrs=s.findArrayAttributes(r);var g=h._subplots.polar||[];for(a=0;a&lt;g.length;a++)u.push(h[g[a]].radialaxis,h[g[a]].angularaxis);n(u);var v=!1;for(a=0;a&lt;f.length;a++)if(!0===(r=f[a]).visible&amp;&amp;r.transforms)for((i=r._module)&amp;&amp;i.calc&amp;&amp;i.calc(t,r),o=0;o&lt;r.transforms.length;o++){var x=r.transforms[o];(i=y[x.type])&amp;&amp;i.calcTransform&amp;&amp;(r._hasCalcTransform=!0,v=!0,i.calcTransform(t,r,x))}if(v){for(a=0;a&lt;u.length;a++)u[a]._min=[],u[a]._max=[],u[a]._categories=[],u[a]._categoriesMap={};n(u)}for(a=0;a&lt;f.length;a++){var b=[];if(!0===(r=f[a]).visible){i=r._module;var _=r.transforms||[];for(o=_.length-1;o&gt;=0;o--)if(_[o].enabled){r._indexToPoints=_[o]._indexToPoints;break}i&amp;&amp;i.calc&amp;&amp;(b=i.calc(t,r))}Array.isArray(b)&amp;&amp;b[0]||(b=[{x:d,y:d}]),b[0].t||(b[0].t={}),b[0].trace=r,p[a]=b}l.getComponentMethod(&quot;fx&quot;,&quot;calc&quot;)(t)},p.rehover=function(t){t._fullLayout._rehover&amp;&amp;t._fullLayout._rehover()},p.generalUpdatePerTraceModule=function(t,e,r,n){var i,a=e.traceHash,o={};for(i=0;i&lt;r.length;i++){var s=r[i],l=s[0].trace;l.visible&amp;&amp;(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 d=o[h];d[0][0].trace._module.plot(t,e,u.filterVisible(d),n)}e.traceHash=o}},{&quot;../components/color&quot;:618,&quot;../components/errorbars&quot;:649,&quot;../constants/numerical&quot;:721,&quot;../lib&quot;:743,&quot;../plot_api/plot_schema&quot;:778,&quot;../plotly&quot;:784,&quot;../plots/cartesian/axis_ids&quot;:792,&quot;../registry&quot;:873,&quot;./animation_attributes&quot;:785,&quot;./attributes&quot;:787,&quot;./command&quot;:814,&quot;./font_attributes&quot;:816,&quot;./frame_attributes&quot;:817,&quot;./layout_attributes&quot;:843,d3:128,&quot;fast-isnumeric&quot;:140}],853:[function(t,e,r){&quot;use strict&quot;;e.exports={attr:&quot;subplot&quot;,name:&quot;polar&quot;,axisNames:[&quot;angularaxis&quot;,&quot;radialaxis&quot;],axisName2dataArray:{angularaxis:&quot;theta&quot;,radialaxis:&quot;r&quot;},layerNames:[&quot;draglayer&quot;,&quot;plotbg&quot;,&quot;backplot&quot;,&quot;angular-grid&quot;,&quot;radial-grid&quot;,&quot;frontplot&quot;,&quot;angular-axis&quot;,&quot;radial-axis&quot;,&quot;angular-line&quot;,&quot;radial-line&quot;],radialDragBoxSize:50,angularDragBoxSize:30,cornerLen:25,cornerHalfWidth:2,MINDRAG:8,MINZOOM:20,OFFEDGE:20}},{}],854:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib&quot;);r.setConvertAngular=function(t){function e(){return t.period?Math.max(t.period,t._categories.length):t._categories.length}function r(t){return(t-s)/o}var i,a,o={clockwise:-1,counterclockwise:1}[t.direction],s=n.deg2rad(t.rotation);&quot;linear&quot;===t.type?(i=function(t,e){return&quot;degrees&quot;===e?n.deg2rad(t):t},a=function(t,e){return&quot;degrees&quot;===e?n.rad2deg(t):t}):&quot;category&quot;===t.type&amp;&amp;(i=function(t){var r=e();return 2*t*Math.PI/r},a=function(t){return t*e()/Math.PI/2}),t.unTransformRad=r,t._c2rad=i,t.c2rad=function(t,e){return function(t){return o*t+s}(i(t,e))},t.rad2c=function(t,e){return a(r(t),e)},t.c2deg=function(e,r){return n.rad2deg(t.c2rad(e,r))},t.deg2c=function(e,r){return t.rad2c(n.deg2rad(e),r)}}},{&quot;../../lib&quot;:743}],855:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../get_data&quot;).getSubplotCalcData,i=t(&quot;../../lib&quot;).counterRegex,a=t(&quot;./polar&quot;),o=t(&quot;./constants&quot;),s=o.attr,l=o.name,c=i(l),u={};u[s]={valType:&quot;subplotid&quot;,dflt:l,editType:&quot;calc&quot;},e.exports={attr:s,name:l,idRoot:l,idRegex:c,attrRegex:c,attributes:u,layoutAttributes:t(&quot;./layout_attributes&quot;),supplyLayoutDefaults:t(&quot;./layout_defaults&quot;),plot:function(t){for(var e=t._fullLayout,r=t.calcdata,i=e._subplots[l],o=0;o&lt;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=0;a&lt;i.length;a++){var o=i[a],s=n[o]._subplot;if(!e[o]&amp;&amp;s){s.framework.remove(),s.layers[&quot;radial-axis-title&quot;].remove();for(var c in s.clipPaths)s.clipPaths[c].remove()}}},toSVG:t(&quot;../cartesian&quot;).toSVG}},{&quot;../../lib&quot;:743,&quot;../cartesian&quot;:800,&quot;../get_data&quot;:826,&quot;./constants&quot;:853,&quot;./layout_attributes&quot;:856,&quot;./layout_defaults&quot;:857,&quot;./polar&quot;:864}],856:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../components/color/attributes&quot;),i=t(&quot;../cartesian/layout_attributes&quot;),a=t(&quot;../domain_attributes&quot;),o=t(&quot;../../lib&quot;).extendFlat,s=t(&quot;../../plot_api/edit_types&quot;).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},&quot;plot&quot;,&quot;from-root&quot;),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,showticklabels:i.showticklabels,showtickprefix:i.showtickprefix,tickprefix:i.tickprefix,showticksuffix:i.showticksuffix,ticksuffix:i.ticksuffix,showexponent:i.showexponent,exponentformat:i.exponentformat,separatethousands:i.separatethousands,tickfont:i.tickfont,tickangle:i.tickangle,tickformat:i.tickformat,tickformatstops:i.tickformatstops,layer:i.layer},&quot;plot&quot;,&quot;from-root&quot;),u={visible:o({},i.visible,{dflt:!0}),type:i.type,autorange:i.autorange,rangemode:{valType:&quot;enumerated&quot;,values:[&quot;tozero&quot;,&quot;nonnegative&quot;,&quot;normal&quot;],dflt:&quot;tozero&quot;,editType:&quot;calc&quot;},range:i.range,categoryorder:i.categoryorder,categoryarray:i.categoryarray,angle:{valType:&quot;angle&quot;,editType:&quot;plot&quot;},side:{valType:&quot;enumerated&quot;,values:[&quot;clockwise&quot;,&quot;counterclockwise&quot;],dflt:&quot;clockwise&quot;,editType:&quot;plot&quot;},title:o({},i.title,{editType:&quot;plot&quot;,dflt:&quot;&quot;}),titlefont:s(i.titlefont,&quot;plot&quot;,&quot;from-root&quot;),hoverformat:i.hoverformat,editType:&quot;calc&quot;};o(u,l,c);var f={visible:o({},i.visible,{dflt:!0}),type:{valType:&quot;enumerated&quot;,values:[&quot;-&quot;,&quot;linear&quot;,&quot;category&quot;],dflt:&quot;-&quot;,editType:&quot;calc&quot;},categoryorder:i.categoryorder,categoryarray:i.categoryarray,thetaunit:{valType:&quot;enumerated&quot;,values:[&quot;radians&quot;,&quot;degrees&quot;],dflt:&quot;degrees&quot;,editType:&quot;calc&quot;},period:{valType:&quot;number&quot;,editType:&quot;calc&quot;,min:0},direction:{valType:&quot;enumerated&quot;,values:[&quot;counterclockwise&quot;,&quot;clockwise&quot;],dflt:&quot;counterclockwise&quot;,editType:&quot;calc&quot;},rotation:{valType:&quot;angle&quot;,editType:&quot;calc&quot;},hoverformat:i.hoverformat,editType:&quot;calc&quot;};o(f,l,c),e.exports={domain:a({name:&quot;polar&quot;,editType:&quot;plot&quot;}),sector:{valType:&quot;info_array&quot;,items:[{valType:&quot;number&quot;,editType:&quot;plot&quot;},{valType:&quot;number&quot;,editType:&quot;plot&quot;}],dflt:[0,360],editType:&quot;plot&quot;},bgcolor:{valType:&quot;color&quot;,editType:&quot;plot&quot;,dflt:n.background},radialaxis:u,angularaxis:f,editType:&quot;calc&quot;}},{&quot;../../components/color/attributes&quot;:617,&quot;../../lib&quot;:743,&quot;../../plot_api/edit_types&quot;:773,&quot;../cartesian/layout_attributes&quot;:801,&quot;../domain_attributes&quot;:815}],857:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,n){function o(t,e){return r(_+&quot;.&quot;+t,e)}var b=r(&quot;bgcolor&quot;);n.bgColor=a.combine(b,n.paper_bgcolor);for(var _,w=r(&quot;sector&quot;),M=s(n.fullData,y.name,n.id),k=n.layoutOut,A=0;A&lt;x.length;A++){_=x[A],i.isPlainObject(t[_])||(t[_]={});var T=t[_],S=e[_]={};S._id=S._name=_;var E=y.axisName2dataArray[_],L=function(t,e,r,n,i){if(&quot;-&quot;===r(&quot;type&quot;)){for(var a,o=0;o&lt;n.length;o++)if(n[o].visible){a=n[o];break}a&amp;&amp;(e.type=d(a[i],&quot;gregorian&quot;)),&quot;-&quot;===e.type?e.type=&quot;linear&quot;:t.type=e.type}return e.type}(T,S,o,M,E);f(T,S,o),S._initialCategories=&quot;category&quot;===L?p(E,S.categoryorder,S.categoryarray,M):[];var C=o(&quot;visible&quot;);m(S,k);var z,D;switch(C&amp;&amp;(D=(z=o(&quot;color&quot;))===T.color?z:n.font.color),S._m=1,_){case&quot;radialaxis&quot;:var I=o(&quot;autorange&quot;,!S.isValidRange(T.range));I&amp;&amp;o(&quot;rangemode&quot;),&quot;reversed&quot;===I&amp;&amp;(S._m=-1),o(&quot;range&quot;),S.cleanRange(&quot;range&quot;,{dfltRange:[0,1]}),C&amp;&amp;(o(&quot;side&quot;),o(&quot;angle&quot;,w[0]),o(&quot;title&quot;),i.coerceFont(o,&quot;titlefont&quot;,{family:n.font.family,size:Math.round(1.2*n.font.size),color:D}));break;case&quot;angularaxis&quot;:if(&quot;date&quot;===L){i.log(&quot;Polar plots do not support date angular axes yet.&quot;);for(var P=0;P&lt;M.length;P++)M[P].visible=!1;L=T.type=S.type=&quot;linear&quot;}o(&quot;linear&quot;===L?&quot;thetaunit&quot;:&quot;period&quot;);o(&quot;rotation&quot;,{counterclockwise:0,clockwise:90}[o(&quot;direction&quot;)]),g(S)}if(C){l(T,S,o,S.type),u(T,S,o,S.type,{noHover:!1,tickSuffixDflt:&quot;degrees&quot;===S.thetaunit?&quot;\xb0&quot;:void 0}),c(T,S,o,{outerTicks:!0});o(&quot;showticklabels&quot;)&amp;&amp;(i.coerceFont(o,&quot;tickfont&quot;,{family:n.font.family,size:n.font.size,color:D}),o(&quot;tickangle&quot;),o(&quot;tickformat&quot;)),h(T,S,o,{dfltColor:z,bgColor:n.bgColor,blend:60,showLine:!0,showGrid:!0,noZeroLine:!0,attributes:v[_]}),o(&quot;layer&quot;)}o(&quot;hoverformat&quot;),S._input=T}}var i=t(&quot;../../lib&quot;),a=t(&quot;../../components/color&quot;),o=t(&quot;../subplot_defaults&quot;),s=t(&quot;../get_data&quot;).getSubplotData,l=t(&quot;../cartesian/tick_value_defaults&quot;),c=t(&quot;../cartesian/tick_mark_defaults&quot;),u=t(&quot;../cartesian/tick_label_defaults&quot;),f=t(&quot;../cartesian/category_order_defaults&quot;),h=t(&quot;../cartesian/line_grid_defaults&quot;),d=t(&quot;../cartesian/axis_autotype&quot;),p=t(&quot;../cartesian/ordered_categories&quot;),m=t(&quot;../cartesian/set_convert&quot;),g=t(&quot;./helpers&quot;).setConvertAngular,v=t(&quot;./layout_attributes&quot;),y=t(&quot;./constants&quot;),x=y.axisNames;e.exports=function(t,e,r){o(t,e,r,{type:y.name,attributes:v,handleDefaults:n,font:e.font,paper_bgcolor:e.paper_bgcolor,fullData:r,layoutOut:e})}},{&quot;../../components/color&quot;:618,&quot;../../lib&quot;:743,&quot;../cartesian/axis_autotype&quot;:790,&quot;../cartesian/category_order_defaults&quot;:793,&quot;../cartesian/line_grid_defaults&quot;:803,&quot;../cartesian/ordered_categories&quot;:804,&quot;../cartesian/set_convert&quot;:808,&quot;../cartesian/tick_label_defaults&quot;:809,&quot;../cartesian/tick_mark_defaults&quot;:810,&quot;../cartesian/tick_value_defaults&quot;:811,&quot;../get_data&quot;:826,&quot;../subplot_defaults&quot;:865,&quot;./constants&quot;:853,&quot;./helpers&quot;:854,&quot;./layout_attributes&quot;:856}],858:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../../traces/scatter/attributes&quot;),i=n.marker;e.exports={r:n.r,t:n.t,marker:{color:i.color,size:i.size,symbol:i.symbol,opacity:i.opacity,editType:&quot;calc&quot;}}},{&quot;../../../traces/scatter/attributes&quot;:1066}],859:[function(t,e,r){&quot;use strict&quot;;function n(t,e){return a({},e,{showline:{valType:&quot;boolean&quot;},showticklabels:{valType:&quot;boolean&quot;},tickorientation:{valType:&quot;enumerated&quot;,values:[&quot;horizontal&quot;,&quot;vertical&quot;]},ticklen:{valType:&quot;number&quot;,min:0},tickcolor:{valType:&quot;color&quot;},ticksuffix:{valType:&quot;string&quot;},endpadding:{valType:&quot;number&quot;},visible:{valType:&quot;boolean&quot;}})}var i=t(&quot;../../cartesian/layout_attributes&quot;),a=t(&quot;../../../lib/extend&quot;).extendFlat,o=t(&quot;../../../plot_api/edit_types&quot;).overrideAll,s=a({},i.domain,{});e.exports=o({radialaxis:n(0,{range:{valType:&quot;info_array&quot;,items:[{valType:&quot;number&quot;},{valType:&quot;number&quot;}]},domain:s,orientation:{valType:&quot;number&quot;}}),angularaxis:n(0,{range:{valType:&quot;info_array&quot;,items:[{valType:&quot;number&quot;,dflt:0},{valType:&quot;number&quot;,dflt:360}]},domain:s}),layout:{direction:{valType:&quot;enumerated&quot;,values:[&quot;clockwise&quot;,&quot;counterclockwise&quot;]},orientation:{valType:&quot;angle&quot;}}},&quot;plot&quot;,&quot;nested&quot;)},{&quot;../../../lib/extend&quot;:732,&quot;../../../plot_api/edit_types&quot;:773,&quot;../../cartesian/layout_attributes&quot;:801}],860:[function(t,e,r){&quot;use strict&quot;;(e.exports=t(&quot;./micropolar&quot;)).manager=t(&quot;./micropolar_manager&quot;)},{&quot;./micropolar&quot;:861,&quot;./micropolar_manager&quot;:862}],861:[function(t,e,r){var n=t(&quot;d3&quot;),i=t(&quot;../../../lib&quot;).extendDeepAll,a=t(&quot;../../../constants/alignment&quot;).MID_SHIFT,o=e.exports={version:&quot;0.2.2&quot;};o.Axis=function(){var t,e,r,s,l={data:[],layout:{}},c={},u={},f=n.dispatch(&quot;hover&quot;),h={};return h.render=function(c){return function(c){e=c||e;var f=l.data,h=l.layout;(&quot;string&quot;==typeof e||e.nodeName)&amp;&amp;(e=n.select(e)),e.datum(f).each(function(e,l){function c(t,e){return s(t)%360+h.orientation}var f=e.slice();u={data:o.util.cloneJson(f),layout:o.util.cloneJson(h)};var d=0;f.forEach(function(t,e){t.color||(t.color=h.defaultColorRange[d],d=(d+1)%h.defaultColorRange.length),t.strokeColor||(t.strokeColor=&quot;LinePlot&quot;===t.geometry?t.color:n.rgb(t.color).darker().toString()),u.data[e].color=t.color,u.data[e].strokeColor=t.strokeColor,u.data[e].strokeDash=t.strokeDash,u.data[e].strokeSize=t.strokeSize});var p=f.filter(function(t,e){var r=t.visible;return void 0===r||!0===r}),m=!1,g=p.map(function(t,e){return m=m||void 0!==t.groupId,t});if(m){var v=[],y=n.nest().key(function(t,e){return void 0!==t.groupId?t.groupId:&quot;unstacked&quot;}).entries(g).map(function(t,e){if(&quot;unstacked&quot;===t.key)return t.values;var r=t.values[0].r.map(function(t,e){return 0});return t.values.forEach(function(t,e,n){t.yStack=[r],v.push(r),r=o.util.sumArrays(t.r,r)}),t.values});p=n.merge(y)}p.forEach(function(t,e){t.t=Array.isArray(t.t[0])?t.t:[t.t],t.r=Array.isArray(t.r[0])?t.r:[t.r]});var x=Math.min(h.width-h.margin.left-h.margin.right,h.height-h.margin.top-h.margin.bottom)/2;x=Math.max(10,x);var b,_=[h.margin.left+x,h.margin.top+x];b=m?[0,n.max(o.util.sumArrays(o.util.arrayLast(p).r[0],o.util.arrayLast(v)))]:n.extent(o.util.flattenArray(p.map(function(t,e){return t.r}))),h.radialAxis.domain!=o.DATAEXTENT&amp;&amp;(b[0]=0),r=n.scale.linear().domain(h.radialAxis.domain!=o.DATAEXTENT&amp;&amp;h.radialAxis.domain?h.radialAxis.domain:b).range([0,x]),u.layout.radialAxis.domain=r.domain();var w,M=o.util.flattenArray(p.map(function(t,e){return t.t})),k=&quot;string&quot;==typeof M[0];k&amp;&amp;(M=o.util.deduplicate(M),w=M.slice(),M=n.range(M.length),p=p.map(function(t,e){var r=t;return t.t=[M],m&amp;&amp;(r.yStack=t.yStack),r}));var A=p.filter(function(t,e){return&quot;LinePlot&quot;===t.geometry||&quot;DotPlot&quot;===t.geometry}).length===p.length,T=null===h.needsEndSpacing?k||!A:h.needsEndSpacing,S=h.angularAxis.domain&amp;&amp;h.angularAxis.domain!=o.DATAEXTENT&amp;&amp;!k&amp;&amp;h.angularAxis.domain[0]&gt;=0?h.angularAxis.domain:n.extent(M),E=Math.abs(M[1]-M[0]);A&amp;&amp;!k&amp;&amp;(E=0);var L=S.slice();T&amp;&amp;k&amp;&amp;(L[1]+=E);var C=h.angularAxis.ticksCount||4;C&gt;8&amp;&amp;(C=C/(C/8)+C%8),h.angularAxis.ticksStep&amp;&amp;(C=(L[1]-L[0])/C);var z=h.angularAxis.ticksStep||(L[1]-L[0])/(C*(h.minorTicks+1));w&amp;&amp;(z=Math.max(Math.round(z),1)),L[2]||(L[2]=z);var D=n.range.apply(this,L);if(D=D.map(function(t,e){return parseFloat(t.toPrecision(12))}),s=n.scale.linear().domain(L.slice(0,2)).range(&quot;clockwise&quot;===h.direction?[0,360]:[360,0]),u.layout.angularAxis.domain=s.domain(),u.layout.angularAxis.endPadding=T?E:0,void 0===(t=n.select(this).select(&quot;svg.chart-root&quot;))||t.empty()){var I=(new DOMParser).parseFromString(&quot;&lt;svg xmlns='http://www.w3.org/2000/svg' class='chart-root'&gt;' + '&lt;g class='outer-group'&gt;' + '&lt;g class='chart-group'&gt;' + '&lt;circle class='background-circle'&gt;&lt;/circle&gt;' + '&lt;g class='geometry-group'&gt;&lt;/g&gt;' + '&lt;g class='radial axis-group'&gt;' + '&lt;circle class='outside-circle'&gt;&lt;/circle&gt;' + '&lt;/g&gt;' + '&lt;g class='angular axis-group'&gt;&lt;/g&gt;' + '&lt;g class='guides-group'&gt;&lt;line&gt;&lt;/line&gt;&lt;circle r='0'&gt;&lt;/circle&gt;&lt;/g&gt;' + '&lt;/g&gt;' + '&lt;g class='legend-group'&gt;&lt;/g&gt;' + '&lt;g class='tooltips-group'&gt;&lt;/g&gt;' + '&lt;g class='title-group'&gt;&lt;text&gt;&lt;/text&gt;&lt;/g&gt;' + '&lt;/g&gt;' + '&lt;/svg&gt;&quot;,&quot;application/xml&quot;),P=this.appendChild(this.ownerDocument.importNode(I.documentElement,!0));t=n.select(P)}t.select(&quot;.guides-group&quot;).style({&quot;pointer-events&quot;:&quot;none&quot;}),t.select(&quot;.angular.axis-group&quot;).style({&quot;pointer-events&quot;:&quot;none&quot;}),t.select(&quot;.radial.axis-group&quot;).style({&quot;pointer-events&quot;:&quot;none&quot;});var O,F=t.select(&quot;.chart-group&quot;),R={fill:&quot;none&quot;,stroke:h.tickColor},N={&quot;font-size&quot;:h.font.size,&quot;font-family&quot;:h.font.family,fill:h.font.color,&quot;text-shadow&quot;:[&quot;-1px 0px&quot;,&quot;1px -1px&quot;,&quot;-1px 1px&quot;,&quot;1px 1px&quot;].map(function(t,e){return&quot; &quot;+t+&quot; 0 &quot;+h.font.outlineColor}).join(&quot;,&quot;)};if(h.showLegend){O=t.select(&quot;.legend-group&quot;).attr({transform:&quot;translate(&quot;+[x,h.margin.top]+&quot;)&quot;}).style({display:&quot;block&quot;});var j=p.map(function(t,e){var r=o.util.cloneJson(t);return r.symbol=&quot;DotPlot&quot;===t.geometry?t.dotType||&quot;circle&quot;:&quot;LinePlot&quot;!=t.geometry?&quot;square&quot;:&quot;line&quot;,r.visibleInLegend=void 0===t.visibleInLegend||t.visibleInLegend,r.color=&quot;LinePlot&quot;===t.geometry?t.strokeColor:t.color,r});o.Legend().config({data:p.map(function(t,e){return t.name||&quot;Element&quot;+e}),legendConfig:i({},o.Legend.defaultConfig().legendConfig,{container:O,elements:j,reverseOrder:h.legend.reverseOrder})})();var B=O.node().getBBox();x=Math.min(h.width-B.width-h.margin.left-h.margin.right,h.height-h.margin.top-h.margin.bottom)/2,x=Math.max(10,x),_=[h.margin.left+x,h.margin.top+x],r.range([0,x]),u.layout.radialAxis.domain=r.domain(),O.attr(&quot;transform&quot;,&quot;translate(&quot;+[_[0]+x,_[1]-x]+&quot;)&quot;)}else O=t.select(&quot;.legend-group&quot;).style({display:&quot;none&quot;});t.attr({width:h.width,height:h.height}).style({opacity:h.opacity}),F.attr(&quot;transform&quot;,&quot;translate(&quot;+_+&quot;)&quot;).style({cursor:&quot;crosshair&quot;});var U=[(h.width-(h.margin.left+h.margin.right+2*x+(B?B.width:0)))/2,(h.height-(h.margin.top+h.margin.bottom+2*x))/2];if(U[0]=Math.max(0,U[0]),U[1]=Math.max(0,U[1]),t.select(&quot;.outer-group&quot;).attr(&quot;transform&quot;,&quot;translate(&quot;+U+&quot;)&quot;),h.title){var V=t.select(&quot;g.title-group text&quot;).style(N).text(h.title),q=V.node().getBBox();V.attr({x:_[0]-q.width/2,y:_[1]-x-20})}var H=t.select(&quot;.radial.axis-group&quot;);if(h.radialAxis.gridLinesVisible){var G=H.selectAll(&quot;circle.grid-circle&quot;).data(r.ticks(5));G.enter().append(&quot;circle&quot;).attr({class:&quot;grid-circle&quot;}).style(R),G.attr(&quot;r&quot;,r),G.exit().remove()}H.select(&quot;circle.outside-circle&quot;).attr({r:x}).style(R);var Y=t.select(&quot;circle.background-circle&quot;).attr({r:x}).style({fill:h.backgroundColor,stroke:h.stroke});if(h.radialAxis.visible){var W=n.svg.axis().scale(r).ticks(5).tickSize(5);H.call(W).attr({transform:&quot;rotate(&quot;+h.radialAxis.orientation+&quot;)&quot;}),H.selectAll(&quot;.domain&quot;).style(R),H.selectAll(&quot;g&gt;text&quot;).text(function(t,e){return this.textContent+h.radialAxis.ticksSuffix}).style(N).style({&quot;text-anchor&quot;:&quot;start&quot;}).attr({x:0,y:0,dx:0,dy:0,transform:function(t,e){return&quot;horizontal&quot;===h.radialAxis.tickOrientation?&quot;rotate(&quot;+-h.radialAxis.orientation+&quot;) translate(&quot;+[0,N[&quot;font-size&quot;]]+&quot;)&quot;:&quot;translate(&quot;+[0,N[&quot;font-size&quot;]]+&quot;)&quot;}}),H.selectAll(&quot;g&gt;line&quot;).style({stroke:&quot;black&quot;})}var X=t.select(&quot;.angular.axis-group&quot;).selectAll(&quot;g.angular-tick&quot;).data(D),Z=X.enter().append(&quot;g&quot;).classed(&quot;angular-tick&quot;,!0);X.attr({transform:function(t,e){return&quot;rotate(&quot;+c(t)+&quot;)&quot;}}).style({display:h.angularAxis.visible?&quot;block&quot;:&quot;none&quot;}),X.exit().remove(),Z.append(&quot;line&quot;).classed(&quot;grid-line&quot;,!0).classed(&quot;major&quot;,function(t,e){return e%(h.minorTicks+1)==0}).classed(&quot;minor&quot;,function(t,e){return!(e%(h.minorTicks+1)==0)}).style(R),Z.selectAll(&quot;.minor&quot;).style({stroke:h.minorTickColor}),X.select(&quot;line.grid-line&quot;).attr({x1:h.tickLength?x-h.tickLength:0,x2:x}).style({display:h.angularAxis.gridLinesVisible?&quot;block&quot;:&quot;none&quot;}),Z.append(&quot;text&quot;).classed(&quot;axis-text&quot;,!0).style(N);var J=X.select(&quot;text.axis-text&quot;).attr({x:x+h.labelOffset,dy:a+&quot;em&quot;,transform:function(t,e){var r=c(t),n=x+h.labelOffset,i=h.angularAxis.tickOrientation;return&quot;horizontal&quot;==i?&quot;rotate(&quot;+-r+&quot; &quot;+n+&quot; 0)&quot;:&quot;radial&quot;==i?r&lt;270&amp;&amp;r&gt;90?&quot;rotate(180 &quot;+n+&quot; 0)&quot;:null:&quot;rotate(&quot;+(r&lt;=180&amp;&amp;r&gt;0?-90:90)+&quot; &quot;+n+&quot; 0)&quot;}}).style({&quot;text-anchor&quot;:&quot;middle&quot;,display:h.angularAxis.labelsVisible?&quot;block&quot;:&quot;none&quot;}).text(function(t,e){return e%(h.minorTicks+1)!=0?&quot;&quot;:w?w[t]+h.angularAxis.ticksSuffix:t+h.angularAxis.ticksSuffix}).style(N);h.angularAxis.rewriteTicks&amp;&amp;J.text(function(t,e){return e%(h.minorTicks+1)!=0?&quot;&quot;:h.angularAxis.rewriteTicks(this.textContent,e)});var K=n.max(F.selectAll(&quot;.angular-tick text&quot;)[0].map(function(t,e){return t.getCTM().e+t.getBBox().width}));O.attr({transform:&quot;translate(&quot;+[x+K,h.margin.top]+&quot;)&quot;});var Q=t.select(&quot;g.geometry-group&quot;).selectAll(&quot;g&quot;).size()&gt;0,$=t.select(&quot;g.geometry-group&quot;).selectAll(&quot;g.geometry&quot;).data(p);if($.enter().append(&quot;g&quot;).attr({class:function(t,e){return&quot;geometry geometry&quot;+e}}),$.exit().remove(),p[0]||Q){var tt=[];p.forEach(function(t,e){var n={};n.radialScale=r,n.angularScale=s,n.container=$.filter(function(t,r){return r==e}),n.geometry=t.geometry,n.orientation=h.orientation,n.direction=h.direction,n.index=e,tt.push({data:t,geometryConfig:n})});var et=[];n.nest().key(function(t,e){return void 0!==t.data.groupId||&quot;unstacked&quot;}).entries(tt).forEach(function(t,e){&quot;unstacked&quot;===t.key?et=et.concat(t.values.map(function(t,e){return[t]})):et.push(t.values)}),et.forEach(function(t,e){var r;r=Array.isArray(t)?t[0].geometryConfig.geometry:t.geometryConfig.geometry;var n=t.map(function(t,e){return i(o[r].defaultConfig(),t)});o[r]().config(n)()})}var rt,nt,it=t.select(&quot;.guides-group&quot;),at=t.select(&quot;.tooltips-group&quot;),ot=o.tooltipPanel().config({container:at,fontSize:8})(),st=o.tooltipPanel().config({container:at,fontSize:8})(),lt=o.tooltipPanel().config({container:at,hasTick:!0})();if(!k){var ct=it.select(&quot;line&quot;).attr({x1:0,y1:0,y2:0}).style({stroke:&quot;grey&quot;,&quot;pointer-events&quot;:&quot;none&quot;});F.on(&quot;mousemove.angular-guide&quot;,function(t,e){var r=o.util.getMousePos(Y).angle;ct.attr({x2:-x,transform:&quot;rotate(&quot;+r+&quot;)&quot;}).style({opacity:.5});var n=(r+180+360-h.orientation)%360;rt=s.invert(n);var i=o.util.convertToCartesian(x+12,r+180);ot.text(o.util.round(rt)).move([i[0]+_[0],i[1]+_[1]])}).on(&quot;mouseout.angular-guide&quot;,function(t,e){it.select(&quot;line&quot;).style({opacity:0})})}var ut=it.select(&quot;circle&quot;).style({stroke:&quot;grey&quot;,fill:&quot;none&quot;});F.on(&quot;mousemove.radial-guide&quot;,function(t,e){var n=o.util.getMousePos(Y).radius;ut.attr({r:n}).style({opacity:.5}),nt=r.invert(o.util.getMousePos(Y).radius);var i=o.util.convertToCartesian(n,h.radialAxis.orientation);st.text(o.util.round(nt)).move([i[0]+_[0],i[1]+_[1]])}).on(&quot;mouseout.radial-guide&quot;,function(t,e){ut.style({opacity:0}),lt.hide(),ot.hide(),st.hide()}),t.selectAll(&quot;.geometry-group .mark&quot;).on(&quot;mouseover.tooltip&quot;,function(e,r){var i=n.select(this),a=this.style.fill,s=&quot;black&quot;,l=this.style.opacity||1;if(i.attr({&quot;data-opacity&quot;:l}),a&amp;&amp;&quot;none&quot;!==a){i.attr({&quot;data-fill&quot;:a}),s=n.hsl(a).darker().toString(),i.style({fill:s,opacity:1});var c={t:o.util.round(e[0]),r:o.util.round(e[1])};k&amp;&amp;(c.t=w[e[0]]);var u=&quot;t: &quot;+c.t+&quot;, r: &quot;+c.r,f=this.getBoundingClientRect(),h=t.node().getBoundingClientRect(),d=[f.left+f.width/2-U[0]-h.left,f.top+f.height/2-U[1]-h.top];lt.config({color:s}).text(u),lt.move(d)}else a=this.style.stroke||&quot;black&quot;,i.attr({&quot;data-stroke&quot;:a}),s=n.hsl(a).darker().toString(),i.style({stroke:s,opacity:1})}).on(&quot;mousemove.tooltip&quot;,function(t,e){if(0!=n.event.which)return!1;n.select(this).attr(&quot;data-fill&quot;)&amp;&amp;lt.show()}).on(&quot;mouseout.tooltip&quot;,function(t,e){lt.hide();var r=n.select(this),i=r.attr(&quot;data-fill&quot;);i?r.style({fill:i,opacity:r.attr(&quot;data-opacity&quot;)}):r.style({stroke:r.attr(&quot;data-stroke&quot;),opacity:r.attr(&quot;data-opacity&quot;)})})})}(c),this},h.config=function(t){if(!arguments.length)return l;var e=o.util.cloneJson(t);return e.data.forEach(function(t,e){l.data[e]||(l.data[e]={}),i(l.data[e],o.Axis.defaultConfig().data[0]),i(l.data[e],t)}),i(l.layout,o.Axis.defaultConfig().layout),i(l.layout,e.layout),this},h.getLiveConfig=function(){return u},h.getinputConfig=function(){return c},h.radialScale=function(t){return r},h.angularScale=function(t){return s},h.svg=function(){return t},n.rebind(h,f,&quot;on&quot;),h},o.Axis.defaultConfig=function(t,e){return{data:[{t:[1,2,3,4],r:[10,11,12,13],name:&quot;Line1&quot;,geometry:&quot;LinePlot&quot;,color:null,strokeDash:&quot;solid&quot;,strokeColor:null,strokeSize:&quot;1&quot;,visibleInLegend:!0,opacity:1}],layout:{defaultColorRange:n.scale.category10().range(),title:null,height:450,width:500,margin:{top:40,right:40,bottom:40,left:40},font:{size:12,color:&quot;gray&quot;,outlineColor:&quot;white&quot;,family:&quot;Tahoma, sans-serif&quot;},direction:&quot;clockwise&quot;,orientation:0,labelOffset:10,radialAxis:{domain:null,orientation:-45,ticksSuffix:&quot;&quot;,visible:!0,gridLinesVisible:!0,tickOrientation:&quot;horizontal&quot;,rewriteTicks:null},angularAxis:{domain:[0,360],ticksSuffix:&quot;&quot;,visible:!0,gridLinesVisible:!0,labelsVisible:!0,tickOrientation:&quot;horizontal&quot;,rewriteTicks:null,ticksCount:null,ticksStep:null},minorTicks:0,tickLength:null,tickColor:&quot;silver&quot;,minorTickColor:&quot;#eee&quot;,backgroundColor:&quot;none&quot;,needsEndSpacing:null,showLegend:!0,legend:{reverseOrder:!1},opacity:1}}},o.util={},o.DATAEXTENT=&quot;dataExtent&quot;,o.AREA=&quot;AreaChart&quot;,o.LINE=&quot;LinePlot&quot;,o.DOT=&quot;DotPlot&quot;,o.BAR=&quot;BarChart&quot;,o.util._override=function(t,e){for(var r in t)r in e&amp;&amp;(e[r]=t[r])},o.util._extend=function(t,e){for(var r in t)e[r]=t[r]},o.util._rndSnd=function(){return 2*Math.random()-1+(2*Math.random()-1)+(2*Math.random()-1)},o.util.dataFromEquation2=function(t,e){var r=e||6;return n.range(0,360+r,r).map(function(e,r){var n=e*Math.PI/180;return[e,t(n)]})},o.util.dataFromEquation=function(t,e,r){var i=e||6,a=[],o=[];n.range(0,360+i,i).forEach(function(e,r){var n=e*Math.PI/180,i=t(n);a.push(e),o.push(i)});var s={t:a,r:o};return r&amp;&amp;(s.name=r),s},o.util.ensureArray=function(t,e){if(void 0===t)return null;var r=[].concat(t);return n.range(e).map(function(t,e){return r[e]||r[0]})},o.util.fillArrays=function(t,e,r){return e.forEach(function(e,n){t[e]=o.util.ensureArray(t[e],r)}),t},o.util.cloneJson=function(t){return JSON.parse(JSON.stringify(t))},o.util.validateKeys=function(t,e){&quot;string&quot;==typeof e&amp;&amp;(e=e.split(&quot;.&quot;));var r=e.shift();return t[r]&amp;&amp;(!e.length||objHasKeys(t[r],e))},o.util.sumArrays=function(t,e){return n.zip(t,e).map(function(t,e){return n.sum(t)})},o.util.arrayLast=function(t){return t[t.length-1]},o.util.arrayEqual=function(t,e){for(var r=Math.max(t.length,e.length,1);r-- &gt;=0&amp;&amp;t[r]===e[r];);return-2===r},o.util.flattenArray=function(t){for(var e=[];!o.util.arrayEqual(e,t);)e=t,t=[].concat.apply([],t);return t},o.util.deduplicate=function(t){return t.filter(function(t,e,r){return r.indexOf(t)==e})},o.util.convertToCartesian=function(t,e){var r=e*Math.PI/180;return[t*Math.cos(r),t*Math.sin(r)]},o.util.round=function(t,e){var r=e||2,n=Math.pow(10,r);return Math.round(t*n)/n},o.util.getMousePos=function(t){var e=n.mouse(t.node()),r=e[0],i=e[1],a={};return a.x=r,a.y=i,a.pos=e,a.angle=180*(Math.atan2(i,r)+Math.PI)/Math.PI,a.radius=Math.sqrt(r*r+i*i),a},o.util.duplicatesCount=function(t){for(var e,r={},n={},i=0,a=t.length;i&lt;a;i++)(e=t[i])in r?(r[e]++,n[e]=r[e]):r[e]=1;return n},o.util.duplicates=function(t){return Object.keys(o.util.duplicatesCount(t))},o.util.translator=function(t,e,r,n){if(n){var i=r.slice();r=e,e=i}var a=e.reduce(function(t,e){if(void 0!==t)return t[e]},t);void 0!==a&amp;&amp;(e.reduce(function(t,r,n){if(void 0!==t)return n===e.length-1&amp;&amp;delete t[r],t[r]},t),r.reduce(function(t,e,n){return void 0===t[e]&amp;&amp;(t[e]={}),n===r.length-1&amp;&amp;(t[e]=a),t[e]},t))},o.PolyChart=function(){function t(){var t=e[0].geometryConfig,r=t.container;&quot;string&quot;==typeof r&amp;&amp;(r=n.select(r)),r.datum(e).each(function(e,r){var i=!!e[0].data.yStack,o=e.map(function(t,e){return i?n.zip(t.data.t[0],t.data.r[0],t.data.yStack[0]):n.zip(t.data.t[0],t.data.r[0])}),s=t.angularScale,l=t.radialScale.domain()[0],c={};c.bar=function(r,i,a){var o=e[a].data,l=t.radialScale(r[1])-t.radialScale(0),c=t.radialScale(r[2]||0),u=o.barWidth;n.select(this).attr({class:&quot;mark bar&quot;,d:&quot;M&quot;+[[l+c,-u/2],[l+c,u/2],[c,u/2],[c,-u/2]].join(&quot;L&quot;)+&quot;Z&quot;,transform:function(e,r){return&quot;rotate(&quot;+(t.orientation+s(e[0]))+&quot;)&quot;}})},c.dot=function(r,i,a){var o=r[2]?[r[0],r[1]+r[2]]:r,s=n.svg.symbol().size(e[a].data.dotSize).type(e[a].data.dotType)(r,i);n.select(this).attr({class:&quot;mark dot&quot;,d:s,transform:function(e,r){var n=function(t){return{x:t.r*Math.cos(t.t),y:t.r*Math.sin(t.t)}}(function(e,r){return{r:t.radialScale(e[1]),t:(t.angularScale(e[0])+t.orientation)*Math.PI/180}}(o));return&quot;translate(&quot;+[n.x,n.y]+&quot;)&quot;}})};var u=n.svg.line.radial().interpolate(e[0].data.lineInterpolation).radius(function(e){return t.radialScale(e[1])}).angle(function(e){return t.angularScale(e[0])*Math.PI/180});c.line=function(r,i,a){var s=r[2]?o[a].map(function(t,e){return[t[0],t[1]+t[2]]}):o[a];if(n.select(this).each(c.dot).style({opacity:function(t,r){return+e[a].data.dotVisible},fill:p.stroke(r,i,a)}).attr({class:&quot;mark dot&quot;}),!(i&gt;0)){var l=n.select(this.parentNode).selectAll(&quot;path.line&quot;).data([0]);l.enter().insert(&quot;path&quot;),l.attr({class:&quot;line&quot;,d:u(s),transform:function(e,r){return&quot;rotate(&quot;+(t.orientation+90)+&quot;)&quot;},&quot;pointer-events&quot;:&quot;none&quot;}).style({fill:function(t,e){return p.fill(r,i,a)},&quot;fill-opacity&quot;:0,stroke:function(t,e){return p.stroke(r,i,a)},&quot;stroke-width&quot;:function(t,e){return p[&quot;stroke-width&quot;](r,i,a)},&quot;stroke-dasharray&quot;:function(t,e){return p[&quot;stroke-dasharray&quot;](r,i,a)},opacity:function(t,e){return p.opacity(r,i,a)},display:function(t,e){return p.display(r,i,a)}})}};var f=t.angularScale.range(),h=Math.abs(f[1]-f[0])/o[0].length*Math.PI/180,d=n.svg.arc().startAngle(function(t){return-h/2}).endAngle(function(t){return h/2}).innerRadius(function(e){return t.radialScale(l+(e[2]||0))}).outerRadius(function(e){return t.radialScale(l+(e[2]||0))+t.radialScale(e[1])});c.arc=function(e,r,i){n.select(this).attr({class:&quot;mark arc&quot;,d:d,transform:function(e,r){return&quot;rotate(&quot;+(t.orientation+s(e[0])+90)+&quot;)&quot;}})};var p={fill:function(t,r,n){return e[n].data.color},stroke:function(t,r,n){return e[n].data.strokeColor},&quot;stroke-width&quot;:function(t,r,n){return e[n].data.strokeSize+&quot;px&quot;},&quot;stroke-dasharray&quot;:function(t,r,n){return a[e[n].data.strokeDash]},opacity:function(t,r,n){return e[n].data.opacity},display:function(t,r,n){return void 0===e[n].data.visible||e[n].data.visible?&quot;block&quot;:&quot;none&quot;}},m=n.select(this).selectAll(&quot;g.layer&quot;).data(o);m.enter().append(&quot;g&quot;).attr({class:&quot;layer&quot;});var g=m.selectAll(&quot;path.mark&quot;).data(function(t,e){return t});g.enter().append(&quot;path&quot;).attr({class:&quot;mark&quot;}),g.style(p).each(c[t.geometryType]),g.exit().remove(),m.exit().remove()})}var e=[o.PolyChart.defaultConfig()],r=n.dispatch(&quot;hover&quot;),a={solid:&quot;none&quot;,dash:[5,2],dot:[2,5]};return t.config=function(t){return arguments.length?(t.forEach(function(t,r){e[r]||(e[r]={}),i(e[r],o.PolyChart.defaultConfig()),i(e[r],t)}),this):e},t.getColorScale=function(){},n.rebind(t,r,&quot;on&quot;),t},o.PolyChart.defaultConfig=function(){return{data:{name:&quot;geom1&quot;,t:[[1,2,3,4]],r:[[1,2,3,4]],dotType:&quot;circle&quot;,dotSize:64,dotVisible:!1,barWidth:20,color:&quot;#ffa500&quot;,strokeSize:1,strokeColor:&quot;silver&quot;,strokeDash:&quot;solid&quot;,opacity:1,index:0,visible:!0,visibleInLegend:!0},geometryConfig:{geometry:&quot;LinePlot&quot;,geometryType:&quot;arc&quot;,direction:&quot;clockwise&quot;,orientation:0,container:&quot;body&quot;,radialScale:null,angularScale:null,colorScale:n.scale.category20()}}},o.BarChart=function(){return o.PolyChart()},o.BarChart.defaultConfig=function(){return{geometryConfig:{geometryType:&quot;bar&quot;}}},o.AreaChart=function(){return o.PolyChart()},o.AreaChart.defaultConfig=function(){return{geometryConfig:{geometryType:&quot;arc&quot;}}},o.DotPlot=function(){return o.PolyChart()},o.DotPlot.defaultConfig=function(){return{geometryConfig:{geometryType:&quot;dot&quot;,dotType:&quot;circle&quot;}}},o.LinePlot=function(){return o.PolyChart()},o.LinePlot.defaultConfig=function(){return{geometryConfig:{geometryType:&quot;line&quot;}}},o.Legend=function(){function t(){var r=e.legendConfig,a=e.data.map(function(t,e){return[].concat(t).map(function(t,n){var a=i({},r.elements[e]);return a.name=t,a.color=[].concat(r.elements[e].color)[n],a})}),o=n.merge(a);o=o.filter(function(t,e){return r.elements[e]&amp;&amp;(r.elements[e].visibleInLegend||void 0===r.elements[e].visibleInLegend)}),r.reverseOrder&amp;&amp;(o=o.reverse());var s=r.container;(&quot;string&quot;==typeof s||s.nodeName)&amp;&amp;(s=n.select(s));var l=o.map(function(t,e){return t.color}),c=r.fontSize,u=null==r.isContinuous?&quot;number&quot;==typeof o[0]:r.isContinuous,f=u?r.height:c*o.length,h=s.classed(&quot;legend-group&quot;,!0).selectAll(&quot;svg&quot;).data([0]),d=h.enter().append(&quot;svg&quot;).attr({width:300,height:f+c,xmlns:&quot;http://www.w3.org/2000/svg&quot;,&quot;xmlns:xlink&quot;:&quot;http://www.w3.org/1999/xlink&quot;,version:&quot;1.1&quot;});d.append(&quot;g&quot;).classed(&quot;legend-axis&quot;,!0),d.append(&quot;g&quot;).classed(&quot;legend-marks&quot;,!0);var p=n.range(o.length),m=n.scale[u?&quot;linear&quot;:&quot;ordinal&quot;]().domain(p).range(l),g=n.scale[u?&quot;linear&quot;:&quot;ordinal&quot;]().domain(p)[u?&quot;range&quot;:&quot;rangePoints&quot;]([0,f]);if(u){var v=h.select(&quot;.legend-marks&quot;).append(&quot;defs&quot;).append(&quot;linearGradient&quot;).attr({id:&quot;grad1&quot;,x1:&quot;0%&quot;,y1:&quot;0%&quot;,x2:&quot;0%&quot;,y2:&quot;100%&quot;}).selectAll(&quot;stop&quot;).data(l);v.enter().append(&quot;stop&quot;),v.attr({offset:function(t,e){return e/(l.length-1)*100+&quot;%&quot;}}).style({&quot;stop-color&quot;:function(t,e){return t}}),h.append(&quot;rect&quot;).classed(&quot;legend-mark&quot;,!0).attr({height:r.height,width:r.colorBandWidth,fill:&quot;url(#grad1)&quot;})}else{var y=h.select(&quot;.legend-marks&quot;).selectAll(&quot;path.legend-mark&quot;).data(o);y.enter().append(&quot;path&quot;).classed(&quot;legend-mark&quot;,!0),y.attr({transform:function(t,e){return&quot;translate(&quot;+[c/2,g(e)+c/2]+&quot;)&quot;},d:function(t,e){return function(t,e){var r=3*e;return&quot;line&quot;===t?&quot;M&quot;+[[-e/2,-e/12],[e/2,-e/12],[e/2,e/12],[-e/2,e/12]]+&quot;Z&quot;:-1!=n.svg.symbolTypes.indexOf(t)?n.svg.symbol().type(t).size(r)():n.svg.symbol().type(&quot;square&quot;).size(r)()}(t.symbol,c)},fill:function(t,e){return m(e)}}),y.exit().remove()}var x=n.svg.axis().scale(g).orient(&quot;right&quot;),b=h.select(&quot;g.legend-axis&quot;).attr({transform:&quot;translate(&quot;+[u?r.colorBandWidth:c,c/2]+&quot;)&quot;}).call(x);return b.selectAll(&quot;.domain&quot;).style({fill:&quot;none&quot;,stroke:&quot;none&quot;}),b.selectAll(&quot;line&quot;).style({fill:&quot;none&quot;,stroke:u?r.textColor:&quot;none&quot;}),b.selectAll(&quot;text&quot;).style({fill:r.textColor,&quot;font-size&quot;:r.fontSize}).text(function(t,e){return o[e].name}),t}var e=o.Legend.defaultConfig(),r=n.dispatch(&quot;hover&quot;);return t.config=function(t){return arguments.length?(i(e,t),this):e},n.rebind(t,r,&quot;on&quot;),t},o.Legend.defaultConfig=function(t,e){return{data:[&quot;a&quot;,&quot;b&quot;,&quot;c&quot;],legendConfig:{elements:[{symbol:&quot;line&quot;,color:&quot;red&quot;},{symbol:&quot;square&quot;,color:&quot;yellow&quot;},{symbol:&quot;diamond&quot;,color:&quot;limegreen&quot;}],height:150,colorBandWidth:30,fontSize:12,container:&quot;body&quot;,isContinuous:null,textColor:&quot;grey&quot;,reverseOrder:!1}}},o.tooltipPanel=function(){var t,e,r,a={container:null,hasTick:!1,fontSize:12,color:&quot;white&quot;,padding:5},s=&quot;tooltip-&quot;+o.tooltipPanel.uid++,l=10,c=function(){var n=(t=a.container.selectAll(&quot;g.&quot;+s).data([0])).enter().append(&quot;g&quot;).classed(s,!0).style({&quot;pointer-events&quot;:&quot;none&quot;,display:&quot;none&quot;});return r=n.append(&quot;path&quot;).style({fill:&quot;white&quot;,&quot;fill-opacity&quot;:.9}).attr({d:&quot;M0 0&quot;}),e=n.append(&quot;text&quot;).attr({dx:a.padding+l,dy:.3*+a.fontSize}),c};return c.text=function(i){var o=n.hsl(a.color).l,s=o&gt;=.5?&quot;#aaa&quot;:&quot;white&quot;,u=o&gt;=.5?&quot;black&quot;:&quot;white&quot;,f=i||&quot;&quot;;e.style({fill:u,&quot;font-size&quot;:a.fontSize+&quot;px&quot;}).text(f);var h=a.padding,d=e.node().getBBox(),p={fill:a.color,stroke:s,&quot;stroke-width&quot;:&quot;2px&quot;},m=d.width+2*h+l,g=d.height+2*h;return r.attr({d:&quot;M&quot;+[[l,-g/2],[l,-g/4],[a.hasTick?0:l,0],[l,g/4],[l,g/2],[m,g/2],[m,-g/2]].join(&quot;L&quot;)+&quot;Z&quot;}).style(p),t.attr({transform:&quot;translate(&quot;+[l,-g/2+2*h]+&quot;)&quot;}),t.style({display:&quot;block&quot;}),c},c.move=function(e){if(t)return t.attr({transform:&quot;translate(&quot;+[e[0],e[1]]+&quot;)&quot;}).style({display:&quot;block&quot;}),c},c.hide=function(){if(t)return t.style({display:&quot;none&quot;}),c},c.show=function(){if(t)return t.style({display:&quot;block&quot;}),c},c.config=function(t){return i(a,t),c},c},o.tooltipPanel.uid=1,o.adapter={},o.adapter.plotly=function(){var t={};return t.convert=function(t,e){var r={};if(t.data&amp;&amp;(r.data=t.data.map(function(t,r){var n=i({},t);return[[n,[&quot;marker&quot;,&quot;color&quot;],[&quot;color&quot;]],[n,[&quot;marker&quot;,&quot;opacity&quot;],[&quot;opacity&quot;]],[n,[&quot;marker&quot;,&quot;line&quot;,&quot;color&quot;],[&quot;strokeColor&quot;]],[n,[&quot;marker&quot;,&quot;line&quot;,&quot;dash&quot;],[&quot;strokeDash&quot;]],[n,[&quot;marker&quot;,&quot;line&quot;,&quot;width&quot;],[&quot;strokeSize&quot;]],[n,[&quot;marker&quot;,&quot;symbol&quot;],[&quot;dotType&quot;]],[n,[&quot;marker&quot;,&quot;size&quot;],[&quot;dotSize&quot;]],[n,[&quot;marker&quot;,&quot;barWidth&quot;],[&quot;barWidth&quot;]],[n,[&quot;line&quot;,&quot;interpolation&quot;],[&quot;lineInterpolation&quot;]],[n,[&quot;showlegend&quot;],[&quot;visibleInLegend&quot;]]].forEach(function(t,r){o.util.translator.apply(null,t.concat(e))}),e||delete n.marker,e&amp;&amp;delete n.groupId,e?(&quot;LinePlot&quot;===n.geometry?(n.type=&quot;scatter&quot;,!0===n.dotVisible?(delete n.dotVisible,n.mode=&quot;lines+markers&quot;):n.mode=&quot;lines&quot;):&quot;DotPlot&quot;===n.geometry?(n.type=&quot;scatter&quot;,n.mode=&quot;markers&quot;):&quot;AreaChart&quot;===n.geometry?n.type=&quot;area&quot;:&quot;BarChart&quot;===n.geometry&amp;&amp;(n.type=&quot;bar&quot;),delete n.geometry):(&quot;scatter&quot;===n.type?&quot;lines&quot;===n.mode?n.geometry=&quot;LinePlot&quot;:&quot;markers&quot;===n.mode?n.geometry=&quot;DotPlot&quot;:&quot;lines+markers&quot;===n.mode&amp;&amp;(n.geometry=&quot;LinePlot&quot;,n.dotVisible=!0):&quot;area&quot;===n.type?n.geometry=&quot;AreaChart&quot;:&quot;bar&quot;===n.type&amp;&amp;(n.geometry=&quot;BarChart&quot;),delete n.mode,delete n.type),n}),!e&amp;&amp;t.layout&amp;&amp;&quot;stack&quot;===t.layout.barmode)){var a=o.util.duplicates(r.data.map(function(t,e){return t.geometry}));r.data.forEach(function(t,e){var n=a.indexOf(t.geometry);-1!=n&amp;&amp;(r.data[e].groupId=n)})}if(t.layout){var s=i({},t.layout);if([[s,[&quot;plot_bgcolor&quot;],[&quot;backgroundColor&quot;]],[s,[&quot;showlegend&quot;],[&quot;showLegend&quot;]],[s,[&quot;radialaxis&quot;],[&quot;radialAxis&quot;]],[s,[&quot;angularaxis&quot;],[&quot;angularAxis&quot;]],[s.angularaxis,[&quot;showline&quot;],[&quot;gridLinesVisible&quot;]],[s.angularaxis,[&quot;showticklabels&quot;],[&quot;labelsVisible&quot;]],[s.angularaxis,[&quot;nticks&quot;],[&quot;ticksCount&quot;]],[s.angularaxis,[&quot;tickorientation&quot;],[&quot;tickOrientation&quot;]],[s.angularaxis,[&quot;ticksuffix&quot;],[&quot;ticksSuffix&quot;]],[s.angularaxis,[&quot;range&quot;],[&quot;domain&quot;]],[s.angularaxis,[&quot;endpadding&quot;],[&quot;endPadding&quot;]],[s.radialaxis,[&quot;showline&quot;],[&quot;gridLinesVisible&quot;]],[s.radialaxis,[&quot;tickorientation&quot;],[&quot;tickOrientation&quot;]],[s.radialaxis,[&quot;ticksuffix&quot;],[&quot;ticksSuffix&quot;]],[s.radialaxis,[&quot;range&quot;],[&quot;domain&quot;]],[s.angularAxis,[&quot;showline&quot;],[&quot;gridLinesVisible&quot;]],[s.angularAxis,[&quot;showticklabels&quot;],[&quot;labelsVisible&quot;]],[s.angularAxis,[&quot;nticks&quot;],[&quot;ticksCount&quot;]],[s.angularAxis,[&quot;tickorientation&quot;],[&quot;tickOrientation&quot;]],[s.angularAxis,[&quot;ticksuffix&quot;],[&quot;ticksSuffix&quot;]],[s.angularAxis,[&quot;range&quot;],[&quot;domain&quot;]],[s.angularAxis,[&quot;endpadding&quot;],[&quot;endPadding&quot;]],[s.radialAxis,[&quot;showline&quot;],[&quot;gridLinesVisible&quot;]],[s.radialAxis,[&quot;tickorientation&quot;],[&quot;tickOrientation&quot;]],[s.radialAxis,[&quot;ticksuffix&quot;],[&quot;ticksSuffix&quot;]],[s.radialAxis,[&quot;range&quot;],[&quot;domain&quot;]],[s.font,[&quot;outlinecolor&quot;],[&quot;outlineColor&quot;]],[s.legend,[&quot;traceorder&quot;],[&quot;reverseOrder&quot;]],[s,[&quot;labeloffset&quot;],[&quot;labelOffset&quot;]],[s,[&quot;defaultcolorrange&quot;],[&quot;defaultColorRange&quot;]]].forEach(function(t,r){o.util.translator.apply(null,t.concat(e))}),e?(void 0!==s.tickLength&amp;&amp;(s.angularaxis.ticklen=s.tickLength,delete s.tickLength),s.tickColor&amp;&amp;(s.angularaxis.tickcolor=s.tickColor,delete s.tickColor)):(s.angularAxis&amp;&amp;void 0!==s.angularAxis.ticklen&amp;&amp;(s.tickLength=s.angularAxis.ticklen),s.angularAxis&amp;&amp;void 0!==s.angularAxis.tickcolor&amp;&amp;(s.tickColor=s.angularAxis.tickcolor)),s.legend&amp;&amp;&quot;boolean&quot;!=typeof s.legend.reverseOrder&amp;&amp;(s.legend.reverseOrder=&quot;normal&quot;!=s.legend.reverseOrder),s.legend&amp;&amp;&quot;boolean&quot;==typeof s.legend.traceorder&amp;&amp;(s.legend.traceorder=s.legend.traceorder?&quot;reversed&quot;:&quot;normal&quot;,delete s.legend.reverseOrder),s.margin&amp;&amp;void 0!==s.margin.t){var l=[&quot;t&quot;,&quot;r&quot;,&quot;b&quot;,&quot;l&quot;,&quot;pad&quot;],c=[&quot;top&quot;,&quot;right&quot;,&quot;bottom&quot;,&quot;left&quot;,&quot;pad&quot;],u={};n.entries(s.margin).forEach(function(t,e){u[c[l.indexOf(t.key)]]=t.value}),s.margin=u}e&amp;&amp;(delete s.needsEndSpacing,delete s.minorTickColor,delete s.minorTicks,delete s.angularaxis.ticksCount,delete s.angularaxis.ticksCount,delete s.angularaxis.ticksStep,delete s.angularaxis.rewriteTicks,delete s.angularaxis.nticks,delete s.radialaxis.ticksCount,delete s.radialaxis.ticksCount,delete s.radialaxis.ticksStep,delete s.radialaxis.rewriteTicks,delete s.radialaxis.nticks),r.layout=s}return r},t}},{&quot;../../../constants/alignment&quot;:716,&quot;../../../lib&quot;:743,d3:128}],862:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;d3&quot;),i=t(&quot;../../../lib&quot;),a=t(&quot;../../../components/color&quot;),o=t(&quot;./micropolar&quot;),s=t(&quot;./undo_manager&quot;),l=i.extendDeepAll,c=e.exports={};c.framework=function(t){function e(e,i){return i&amp;&amp;(f=i),n.select(n.select(f).node().parentNode).selectAll(&quot;.svg-container&gt;*:not(.chart-root)&quot;).remove(),r=r?l(r,e):e,a||(a=o.Axis()),u=o.adapter.plotly().convert(r),a.config(u).render(f),t.data=r.data,t.layout=r.layout,c.fillLayout(t),r}var r,i,a,u,f,h=new s;return e.isPolar=!0,e.svg=function(){return a.svg()},e.getConfig=function(){return r},e.getLiveConfig=function(){return o.adapter.plotly().convert(a.getLiveConfig(),!0)},e.getLiveScales=function(){return{t:a.angularScale(),r:a.radialScale()}},e.setUndoPoint=function(){var t=this,e=o.util.cloneJson(r);!function(e,r){h.add({undo:function(){r&amp;&amp;t(r)},redo:function(){t(e)}})}(e,i),i=o.util.cloneJson(e)},e.undo=function(){h.undo()},e.redo=function(){h.redo()},e},c.fillLayout=function(t){var e=n.select(t).selectAll(&quot;.plot-container&quot;),r=e.selectAll(&quot;.svg-container&quot;),i=t.framework&amp;&amp;t.framework.svg&amp;&amp;t.framework.svg(),o={width:800,height:600,paper_bgcolor:a.background,_container:e,_paperdiv:r,_paper:i};t._fullLayout=l(o,t.layout)}},{&quot;../../../components/color&quot;:618,&quot;../../../lib&quot;:743,&quot;./micropolar&quot;:861,&quot;./undo_manager&quot;:863,d3:128}],863:[function(t,e,r){&quot;use strict&quot;;e.exports=function(){function t(t,e){return t?(i=!0,t[e](),i=!1,this):this}var e,r=[],n=-1,i=!1;return{add:function(t){return i?this:(r.splice(n+1,r.length-n),r.push(t),n=r.length-1,this)},setCallback:function(t){e=t},undo:function(){var i=r[n];return i?(t(i,&quot;undo&quot;),n-=1,e&amp;&amp;e(i.undo),this):this},redo:function(){var i=r[n+1];return i?(t(i,&quot;redo&quot;),n+=1,e&amp;&amp;e(i.redo),this):this},clear:function(){r=[],n=-1},hasUndo:function(){return-1!==n},hasRedo:function(){return n&lt;r.length-1},getCommands:function(){return r},getPreviousCommand:function(){return r[n-1]},getIndex:function(){return n}}}},{}],864:[function(t,e,r){&quot;use strict&quot;;function n(t,e){this.id=e,this.gd=t,this._hasClipOnAxisFalse=null,this.traceHash={},this.layers={},this.clipPaths={},this.clipIds={},this.viewInitial={};var r=t._fullLayout,n=&quot;clip&quot;+r._uid+e;this.clipIds.circle=n+&quot;-circle&quot;,this.clipPaths.circle=r._clips.append(&quot;clipPath&quot;).attr(&quot;id&quot;,this.clipIds.circle),this.clipPaths.circle.append(&quot;path&quot;),this.framework=r._polarlayer.append(&quot;g&quot;).attr(&quot;class&quot;,e),this.radialTickLayout=null,this.angularTickLayout=null}function i(t,e,r){M.setConvert(t,r),t._min=e._min,t._max=e._max,t.setScale()}function a(t){var e=t.ticks+String(t.ticklen)+String(t.showticklabels);return&quot;side&quot;in t&amp;&amp;(e+=t.side),e}function o(t,e){if(l(e))return _.symbolFuncs[0](t);var r=t*Math.cos(D(e[0])),n=-t*Math.sin(D(e[0])),i=t*Math.cos(D(e[1])),a=-t*Math.sin(D(e[1]));return&quot;M&quot;+[r,n]+&quot;A&quot;+[t,t]+&quot; &quot;+(Math.abs(e[1]-e[0])&lt;=180?[0,0,0]:[0,1,0])+&quot; &quot;+[i,a]}function s(t,e){return o(t,e)+(l(e)?&quot;&quot;:&quot;L0,0Z&quot;)}function l(t){return 360===Math.abs(t[1]-t[0])}function c(t,e,r){return e?(t.attr(&quot;display&quot;,null),t.attr(r)):t&amp;&amp;t.attr(&quot;display&quot;,&quot;none&quot;),t}function u(t,e){return&quot;translate(&quot;+t+&quot;,&quot;+e+&quot;)&quot;}function f(t){return&quot;rotate(&quot;+t+&quot;)&quot;}function h(t){return Math.abs(t)&lt;1e-10?0:t&gt;0?1:-1}function d(t){return h(Math.cos(t))}function p(t){return h(Math.sin(t))}var m=t(&quot;d3&quot;),g=t(&quot;tinycolor2&quot;),v=t(&quot;../../plotly&quot;),y=t(&quot;../../registry&quot;),x=t(&quot;../../lib&quot;),b=t(&quot;../../components/color&quot;),_=t(&quot;../../components/drawing&quot;),w=t(&quot;../plots&quot;),M=t(&quot;../cartesian/axes&quot;),k=t(&quot;../../components/dragelement&quot;),A=t(&quot;../cartesian/dragbox&quot;),T=t(&quot;../../components/fx&quot;),S=t(&quot;../../components/titles&quot;),E=t(&quot;../cartesian/select&quot;),L=t(&quot;../../lib/setcursor&quot;),C=t(&quot;../../constants/alignment&quot;).MID_SHIFT,z=x._,D=x.deg2rad,I=x.rad2deg,P=x.wrap360,O=x.wrap180,F=t(&quot;./helpers&quot;).setConvertAngular,R=t(&quot;./constants&quot;),N=n.prototype;e.exports=function(t,e){return new n(t,e)},N.plot=function(t,e){var r=e[this.id];this._hasClipOnAxisFalse=!1;for(var n=0;n&lt;t.length;n++){if(!1===t[n][0].trace.cliponaxis){this._hasClipOnAxisFalse=!0;break}}this.updateLayers(e,r),this.updateLayout(e,r),w.generalUpdatePerTraceModule(this.gd,this,t,r),this.updateFx(e,r)},N.updateLayers=function(t,e){var r=this.layers,n=e.radialaxis,i=e.angularaxis,a=R.layerNames,o=a.indexOf(&quot;frontplot&quot;),s=a.slice(0,o),l=&quot;below traces&quot;===i.layer,c=&quot;below traces&quot;===n.layer;l&amp;&amp;s.push(&quot;angular-axis&quot;),c&amp;&amp;s.push(&quot;radial-axis&quot;),l&amp;&amp;s.push(&quot;angular-line&quot;),c&amp;&amp;s.push(&quot;radial-line&quot;),s.push(&quot;frontplot&quot;),l||s.push(&quot;angular-axis&quot;),c||s.push(&quot;radial-axis&quot;),l||s.push(&quot;angular-line&quot;),c||s.push(&quot;radial-line&quot;);var u=this.framework.selectAll(&quot;.polarsublayer&quot;).data(s,String);u.enter().append(&quot;g&quot;).attr(&quot;class&quot;,function(t){return&quot;polarsublayer &quot;+t}).each(function(t){var e=r[t]=m.select(this);switch(t){case&quot;frontplot&quot;:e.append(&quot;g&quot;).classed(&quot;scatterlayer&quot;,!0);break;case&quot;backplot&quot;:e.append(&quot;g&quot;).classed(&quot;maplayer&quot;,!0);break;case&quot;plotbg&quot;:r.bgcircle=e.append(&quot;path&quot;);break;case&quot;radial-grid&quot;:e.style(&quot;fill&quot;,&quot;none&quot;),e.append(&quot;g&quot;).classed(&quot;x&quot;,1);break;case&quot;angular-grid&quot;:e.style(&quot;fill&quot;,&quot;none&quot;),e.append(&quot;g&quot;).classed(&quot;angular&quot;,1);break;case&quot;radial-line&quot;:e.append(&quot;line&quot;).style(&quot;fill&quot;,&quot;none&quot;);break;case&quot;angular-line&quot;:e.append(&quot;path&quot;).style(&quot;fill&quot;,&quot;none&quot;)}}),u.order()},N.updateLayout=function(t,e){var r=this,n=r.layers,i=t._size,a=e.domain.x,o=e.domain.y;r.xOffset=i.l+i.w*a[0],r.yOffset=i.t+i.h*(1-o[1]);var l,c,f,h,d,p=r.xLength=i.w*(a[1]-a[0]),m=r.yLength=i.h*(o[1]-o[0]),g=r.sector=e.sector,v=r.sectorBBox=function(t){var e,r,n,i,a=t[0],o=t[1]-a,s=P(a),l=s+o,c=Math.cos(D(s)),u=Math.sin(D(s)),f=Math.cos(D(l)),h=Math.sin(D(l));return i=s&lt;=90&amp;&amp;l&gt;=90||s&gt;90&amp;&amp;l&gt;=450?1:u&lt;=0&amp;&amp;h&lt;=0?0:Math.max(u,h),e=s&lt;=180&amp;&amp;l&gt;=180||s&gt;180&amp;&amp;l&gt;=540?-1:c&gt;=0&amp;&amp;f&gt;=0?0:Math.min(c,f),r=s&lt;=270&amp;&amp;l&gt;=270||s&gt;270&amp;&amp;l&gt;=630?-1:u&gt;=0&amp;&amp;h&gt;=0?0:Math.min(u,h),n=l&gt;=360?1:c&lt;=0&amp;&amp;f&lt;=0?0:Math.max(c,f),[e,r,n,i]}(g),y=v[2]-v[0],x=v[3]-v[1],w=m/p,k=Math.abs(x/y);w&gt;k?(l=p,d=(m-(c=p*k))/i.h/2,f=[a[0],a[1]],h=[o[0]+d,o[1]-d]):(c=m,d=(p-(l=m/k))/i.w/2,f=[a[0]+d,a[1]-d],h=[o[0],o[1]]),r.xLength2=l,r.yLength2=c,r.xDomain2=f,r.yDomain2=h;var A=r.xOffset2=i.l+i.w*f[0],T=r.yOffset2=i.t+i.h*(1-h[1]),S=r.radius=l/y,E=r.cx=A-S*v[0],L=r.cy=T+S*v[3],C=r.cxx=E-A,z=r.cyy=L-T;r.updateRadialAxis(t,e),r.updateRadialAxisTitle(t,e),r.updateAngularAxis(t,e);var I=r.radialAxis.range,O=I[1]-I[0],F=r.xaxis={type:&quot;linear&quot;,_id:&quot;x&quot;,range:[v[0]*O,v[2]*O],domain:f};M.setConvert(F,t),F.setScale();var R=r.yaxis={type:&quot;linear&quot;,_id:&quot;y&quot;,range:[v[1]*O,v[3]*O],domain:h};M.setConvert(R,t),R.setScale(),F.isPtWithinRange=function(t){return r.isPtWithinSector(t)},R.isPtWithinRange=function(){return!0},n.frontplot.attr(&quot;transform&quot;,u(A,T)).call(_.setClipUrl,r._hasClipOnAxisFalse?null:r.clipIds.circle),n.bgcircle.attr({d:s(S,g),transform:u(E,L)}).call(b.fill,e.bgcolor),r.clipPaths.circle.select(&quot;path&quot;).attr(&quot;d&quot;,s(S,g)).attr(&quot;transform&quot;,u(C,z)),r.framework.selectAll(&quot;.crisp&quot;).classed(&quot;crisp&quot;,0)},N.updateRadialAxis=function(t,e){var r=this.gd,n=this.layers,s=this.radius,l=this.cx,h=this.cy,d=t._size,p=e.radialaxis,m=e.sector,g=P(m[0]);this.fillViewInitialKey(&quot;radialaxis.angle&quot;,p.angle);var v=this.radialAxis=x.extendFlat({},p,{_axislayer:n[&quot;radial-axis&quot;],_gridlayer:n[&quot;radial-grid&quot;],_id:&quot;x&quot;,_pos:0,side:{counterclockwise:&quot;top&quot;,clockwise:&quot;bottom&quot;}[p.side],domain:[0,s/d.w],anchor:&quot;free&quot;,position:0,_counteraxis:!0});i(v,p,t),M.doAutoRange(v),p.range=v.range.slice(),p._input.range=v.range.slice(),this.fillViewInitialKey(&quot;radialaxis.range&quot;,v.range.slice()),&quot;auto&quot;===v.tickangle&amp;&amp;g&gt;90&amp;&amp;g&lt;=270&amp;&amp;(v.tickangle=180),v._transfn=function(t){return&quot;translate(&quot;+v.l2p(t.x)+&quot;,0)&quot;},v._gridpath=function(t){return o(v.r2p(t.x),m)};var y=a(p);this.radialTickLayout!==y&amp;&amp;(n[&quot;radial-axis&quot;].selectAll(&quot;.xtick&quot;).remove(),this.radialTickLayout=y),M.doTicks(r,v,!0),c(n[&quot;radial-axis&quot;],p.showticklabels||p.ticks,{transform:u(l,h)+f(-p.angle)}),c(n[&quot;radial-grid&quot;],p.showgrid,{transform:u(l,h)}).selectAll(&quot;path&quot;).attr(&quot;transform&quot;,null),c(n[&quot;radial-line&quot;].select(&quot;line&quot;),p.showline,{x1:0,y1:0,x2:s,y2:0,transform:u(l,h)+f(-p.angle)}).attr(&quot;stroke-width&quot;,p.linewidth).call(b.stroke,p.linecolor)},N.updateRadialAxisTitle=function(t,e,r){var n=this.gd,i=this.radius,a=this.cx,o=this.cy,s=e.radialaxis,l=this.id+&quot;title&quot;,c=void 0!==r?r:s.angle,u=D(c),f=Math.cos(u),h=Math.sin(u),d=0;if(s.title){var p=_.bBox(this.layers[&quot;radial-axis&quot;].node()).height,m=s.titlefont.size;d=&quot;counterclockwise&quot;===s.side?-p-.4*m:p+.8*m}this.layers[&quot;radial-axis-title&quot;]=S.draw(n,l,{propContainer:s,propName:this.id+&quot;.radialaxis.title&quot;,placeholder:z(n,&quot;Click to enter radial axis title&quot;),attributes:{x:a+i/2*f+d*h,y:o-i/2*h+d*f,&quot;text-anchor&quot;:&quot;middle&quot;},transform:{rotate:-c}})},N.updateAngularAxis=function(t,e){function r(t){return T.c2rad(t.x,&quot;degrees&quot;)}function n(t){return[v*Math.cos(t),v*Math.sin(t)]}var o=this,h=o.gd,g=o.layers,v=o.radius,y=o.cx,_=o.cy,w=e.angularaxis,k=e.sector,A=k.map(D);o.fillViewInitialKey(&quot;angularaxis.rotation&quot;,w.rotation);var T=o.angularAxis=x.extendFlat({},w,{_axislayer:g[&quot;angular-axis&quot;],_gridlayer:g[&quot;angular-grid&quot;],_id:&quot;angular&quot;,_pos:0,side:&quot;right&quot;,domain:[0,Math.PI],anchor:&quot;free&quot;,position:0,_counteraxis:!0});&quot;linear&quot;===T.type?(T.autorange=!1,l(k)?T.range=k.slice():T.range=A.map(T.unTransformRad).map(I),&quot;radians&quot;===T.thetaunit&amp;&amp;(T.tick0=I(T.tick0),T.dtick=I(T.dtick))):&quot;category&quot;===T.type&amp;&amp;(T._tickFilter=function(t){return o.isPtWithinSector({r:o.radialAxis.range[1],rad:T.c2rad(t.x)})}),i(T,w,t),M.doAutoRange(T),T._transfn=function(t){var e=r(t),i=n(e),a=u(y+i[0],_-i[1]),o=m.select(this);return o&amp;&amp;o.node()&amp;&amp;o.classed(&quot;ticks&quot;)&amp;&amp;(a+=f(-I(e))),a},T._gridpath=function(t){var e=n(r(t));return&quot;M0,0L&quot;+-e[0]+&quot;,&quot;+e[1]};var S=&quot;outside&quot;!==w.ticks?.7:.5;T._labelx=function(t){var e=r(t),n=T._labelStandoff,i=T._pad;return(0===p(e)?0:Math.cos(e)*(n+i+S*t.fontSize))+d(e)*(t.dx+n+i)},T._labely=function(t){var e=r(t),n=T._labelStandoff,i=T._labelShift,a=T._pad;return t.dy+t.fontSize*C-i+-Math.sin(e)*(n+a+S*t.fontSize)},T._labelanchor=function(t,e){var n=r(e);return 0===p(n)?d(n)&gt;0?&quot;start&quot;:&quot;end&quot;:&quot;middle&quot;};var E=a(w);o.angularTickLayout!==E&amp;&amp;(g[&quot;angular-axis&quot;].selectAll(&quot;.angulartick&quot;).remove(),o.angularTickLayout=E),M.doTicks(h,T,!0),c(g[&quot;angular-line&quot;].select(&quot;path&quot;),w.showline,{d:s(v,k),transform:u(y,_)}).attr(&quot;stroke-width&quot;,w.linewidth).call(b.stroke,w.linecolor)},N.updateFx=function(t,e){this.gd._context.staticPlot||(this.updateAngularDrag(t,e),this.updateRadialDrag(t,e),this.updateMainDrag(t,e))},N.updateMainDrag=function(t,e){function r(t,e){var r=t-w,n=e-M;return Math.sqrt(r*r+n*n)}function n(t,e){return Math.atan2(M-e,t-w)}function i(t,e){return[t*Math.cos(e),t*Math.sin(-e)]}function a(t,e){var r=R.cornerLen,n=R.cornerHalfWidth;if(0===t)return s(2*n,S);var a=r/t/2,o=e-a,l=e+a,c=Math.max(0,Math.min(t,x)),u=c-n,f=c+n;return&quot;M&quot;+i(u,o)+&quot;A&quot;+[u,u]+&quot; 0,0,0 &quot;+i(u,l)+&quot;L&quot;+i(f,l)+&quot;A&quot;+[f,f]+&quot; 0,0,1 &quot;+i(f,o)+&quot;Z&quot;}function o(t,e){var i=C+t,o=z+e,l=r(C,z),c=Math.min(r(i,o),x),u=n(C,z),f=n(i,o);l&lt;y?l=0:x-l&lt;y?l=x:c&lt;y?c=0:x-c&lt;y&amp;&amp;(c=x);var h,d;Math.abs(c-l)&gt;p?(l&lt;c?(D=l,I=c):(D=c,I=l,f=[u,u=f][0]),h=P+s(I,S)+s(D,S),d=a(D,u)+a(I,f)):(D=null,I=null,h=P,d=&quot;M0,0Z&quot;),N.attr(&quot;d&quot;,h),j.attr(&quot;d&quot;,d),A.transitionZoombox(N,j,O,F),O=!0}function l(){if(A.removeZoombox(f),null!==D&amp;&amp;null!==I){A.showDoubleClickNotifier(f);var t=c.radialAxis.range,e=t[1]-t[0],r={};r[c.id+&quot;.radialaxis.range&quot;]=[t[0]+D*e/x,t[0]+I*e/x],v.relayout(f,r)}}var c=this,f=c.gd,h=c.layers,d=t._zoomlayer,p=R.MINZOOM,y=R.OFFEDGE,x=c.radius,b=c.cx,_=c.cy,w=c.cxx,M=c.cyy,S=e.sector,L=A.makeDragger(h,&quot;path&quot;,&quot;maindrag&quot;,&quot;crosshair&quot;);m.select(L).attr(&quot;d&quot;,s(x,S)).attr(&quot;transform&quot;,u(b,_));var C,z,D,I,P,O,F,N,j,B={element:L,gd:f,subplot:c.id,plotinfo:{xaxis:c.xaxis,yaxis:c.yaxis},xaxes:[c.xaxis],yaxes:[c.yaxis]};B.prepFn=function(t,e,r){var n=f._fullLayout.dragmode,i=L.getBoundingClientRect();switch(C=e-i.left,z=r-i.top,n){case&quot;zoom&quot;:B.moveFn=o,B.doneFn=l,function(){D=null,I=null,P=s(x,S),O=!1;var t=f._fullLayout[c.id];F=g(t.bgcolor).getLuminance(),(N=A.makeZoombox(d,F,b,_,P)).attr(&quot;fill-rule&quot;,&quot;evenodd&quot;),j=A.makeCorners(d,b,_),A.clearSelect(d)}();break;case&quot;select&quot;:case&quot;lasso&quot;:E(t,e,r,B,n)}},B.clickFn=function(t,e){if(A.removeZoombox(f),2===t){var r={};for(var n in c.viewInitial)r[c.id+&quot;.&quot;+n]=c.viewInitial[n];f.emit(&quot;plotly_doubleclick&quot;,null),v.relayout(f,r)}T.click(f,e,c.id)},L.onmousemove=function(t){T.hover(f,t,c.id),f._fullLayout._lasthover=L,f._fullLayout._hoversubplot=c.id},L.onmouseout=function(t){f._dragging||k.unhover(f,t)},k.init(B)},N.updateRadialDrag=function(t,e){function r(t,e){if(C)C(t,e);else{var r=[t,-e],n=[Math.cos(p),Math.sin(p)],d=Math.abs(x.dot(r,n)/Math.sqrt(x.dot(r,r)));isNaN(d)||(C=d&lt;.5?function(t,e){var r=E+t,n=L+e;z=I(Math.atan2(c-n,r-l));var a=u(l,c)+f(-z);o[&quot;radial-axis&quot;].attr(&quot;transform&quot;,a),o[&quot;radial-line&quot;].select(&quot;line&quot;).attr(&quot;transform&quot;,a);var s=i.gd._fullLayout,h=s[i.id];i.updateRadialAxisTitle(s,h,z)}:function(t,e){var r=x.dot([t,-e],[Math.cos(p),Math.sin(p)]),n=g[1]-b*r/s*.75;if(b&gt;0!=n&gt;g[0])return;P=h.range[1]=n,M.doTicks(a,i.radialAxis,!0),o[&quot;radial-grid&quot;].attr(&quot;transform&quot;,u(l,c)).selectAll(&quot;path&quot;).attr(&quot;transform&quot;,null);var f=P-g[0],d=i.sectorBBox;i.xaxis.range=[d[0]*f,d[2]*f],i.yaxis.range=[d[1]*f,d[3]*f],i.xaxis.setScale(),i.yaxis.setScale();for(var m in i.traceHash){var v=i.traceHash[m],_=x.filterVisible(v),w=v[0][0].trace._module,k=a._fullLayout[i.id];if(w.plot(a,i,_,k),!y.traceIs(m,&quot;gl&quot;))for(var A=0;A&lt;_.length;A++)w.style(a,_[A])}})}}function n(){null!==z?v.relayout(a,i.id+&quot;.radialaxis.angle&quot;,z):null!==P&amp;&amp;v.relayout(a,i.id+&quot;.radialaxis.range[1]&quot;,P)}var i=this,a=i.gd,o=i.layers,s=i.radius,l=i.cx,c=i.cy,h=i.radialAxis,d=e.radialaxis,p=D(d.angle),g=h.range.slice(),b=g[1]-g[0],_=R.radialDragBoxSize,w=_/2;if(d.visible){var T=A.makeRectDragger(o,&quot;radialdrag&quot;,&quot;crosshair&quot;,-w,-w,_,_),S={element:T,gd:a},E=l+(s+w)*Math.cos(p),L=c-(s+w)*Math.sin(p);m.select(T).attr(&quot;transform&quot;,u(E,L));var C,z,P;S.prepFn=function(){C=null,z=null,P=null,S.moveFn=r,S.doneFn=n,A.clearSelect(t._zoomlayer)},S.clampFn=function(t,e){return Math.sqrt(t*t+e*e)&lt;R.MINDRAG&amp;&amp;(t=0,e=0),[t,e]},k.init(S)}},N.updateAngularDrag=function(t,e){function r(t,e){return Math.atan2(g+w-e,t-p-w)}function n(t,e){var n=r(E+t,C+e),i=I(n-j);P=z+i,s.frontplot.attr(&quot;transform&quot;,u(a.xOffset2,a.yOffset2)+f([-i,p,g])),a.clipPaths.circle.select(&quot;path&quot;).attr(&quot;transform&quot;,u(p,g)+f(i)),U.each(function(){var t=m.select(this),e=_.getTranslate(t);t.attr(&quot;transform&quot;,u(e.x,e.y)+f([i]))}),V.each(function(){var t=m.select(this),e=t.select(&quot;text&quot;),r=_.getTranslate(t);t.attr(&quot;transform&quot;,f([i,e.attr(&quot;x&quot;),e.attr(&quot;y&quot;)])+u(r.x,r.y))});var c=a.angularAxis;c.rotation=O(P),&quot;linear&quot;!==c.type||l(b)||(c.range=N.map(D).map(c.unTransformRad).map(I)),F(c),M.doTicks(o,c,!0),a._hasClipOnAxisFalse&amp;&amp;!l(b)&amp;&amp;(a.sector=[N[0]-i,N[1]-i],B.call(_.hideOutsideRangePoints,a));for(var h in a.traceHash)if(y.traceIs(h,&quot;gl&quot;)){var d=a.traceHash[h],v=x.filterVisible(d),w=d[0][0].trace._module,k=o._fullLayout[a.id];w.plot(o,a,v,k)}}function i(){V.select(&quot;text&quot;).attr(&quot;transform&quot;,null);var t={};t[a.id+&quot;.angularaxis.rotation&quot;]=P,v.relayout(o,t)}var a=this,o=a.gd,s=a.layers,c=a.radius,h=a.cx,d=a.cy,p=a.cxx,g=a.cyy,b=e.sector,w=R.angularDragBoxSize,T=A.makeDragger(s,&quot;path&quot;,&quot;angulardrag&quot;,&quot;move&quot;),S={element:T,gd:o};m.select(T).attr(&quot;d&quot;,function(t,e,r){function n(t,e){return[t*Math.cos(e),-t*Math.sin(e)]}function i(t,e,r){return&quot;A&quot;+[t,t]+&quot; &quot;+[0,c,r]+&quot; &quot;+n(t,e)}var a,o,s,c=Math.abs(r[1]-r[0])&lt;=180?0:1;return l(r)?(a=0,s=2*Math.PI,o=Math.PI,&quot;M&quot;+n(t,a)+i(t,o,0)+i(t,s,0)+&quot;ZM&quot;+n(e,a)+i(e,o,1)+i(e,s,1)+&quot;Z&quot;):(a=D(r[0]),s=D(r[1]),&quot;M&quot;+n(t,a)+&quot;L&quot;+n(e,a)+i(e,s,0)+&quot;L&quot;+n(t,s)+i(t,a,1)+&quot;Z&quot;)}(c,c+w,b)).attr(&quot;transform&quot;,u(h,d)).call(L,&quot;move&quot;);var E,C,z,P,N,j,B=s.frontplot.select(&quot;.scatterlayer&quot;).selectAll(&quot;.trace&quot;),U=B.selectAll(&quot;.point&quot;),V=B.selectAll(&quot;.textpoint&quot;);S.prepFn=function(e,o,s){var l=t[a.id];N=l.sector.slice(),z=l.angularaxis.rotation;var c=T.getBoundingClientRect();E=o-c.left,C=s-c.top,j=r(E,C),S.moveFn=n,S.doneFn=i,A.clearSelect(t._zoomlayer)},k.init(S)},N.isPtWithinSector=function(t){var e=this.sector,r=this.radialAxis,n=r.range,i=r.c2r(t.r),a=P(e[0]),o=P(e[1]);a&gt;o&amp;&amp;(o+=360);var s,c,u=P(I(t.rad)),f=u+360;return n[1]&gt;=n[0]?(s=n[0],c=n[1]):(s=n[1],c=n[0]),i&gt;=s&amp;&amp;i&lt;=c&amp;&amp;(l(e)||u&gt;=a&amp;&amp;u&lt;=o||f&gt;=a&amp;&amp;f&lt;=o)},N.fillViewInitialKey=function(t,e){t in this.viewInitial||(this.viewInitial[t]=e)}},{&quot;../../components/color&quot;:618,&quot;../../components/dragelement&quot;:640,&quot;../../components/drawing&quot;:643,&quot;../../components/fx&quot;:660,&quot;../../components/titles&quot;:709,&quot;../../constants/alignment&quot;:716,&quot;../../lib&quot;:743,&quot;../../lib/setcursor&quot;:762,&quot;../../plotly&quot;:784,&quot;../../registry&quot;:873,&quot;../cartesian/axes&quot;:789,&quot;../cartesian/dragbox&quot;:797,&quot;../cartesian/select&quot;:807,&quot;../plots&quot;:852,&quot;./constants&quot;:853,&quot;./helpers&quot;:854,d3:128,tinycolor2:546}],865:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../lib&quot;);e.exports=function(t,e,r,i){function a(t,e){return n.coerce(o,s,c,t,e)}for(var o,s,l=i.type,c=i.attributes,u=i.handleDefaults,f=i.partition||&quot;x&quot;,h=e._subplots[l],d=h.length,p=0;p&lt;d;p++){var m=h[p];o=t[m]?t[m]:t[m]={},e[m]=s={},a(&quot;domain.&quot;+f,[p/d,(p+1)/d]),a(&quot;domain.&quot;+{x:&quot;y&quot;,y:&quot;x&quot;}[f]),i.id=m,u(o,s,a,i)}}},{&quot;../lib&quot;:743}],866:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;./ternary&quot;),i=t(&quot;../../plots/get_data&quot;).getSubplotCalcData,a=t(&quot;../../lib&quot;).counterRegex;r.name=&quot;ternary&quot;,r.attr=&quot;subplot&quot;,r.idRoot=&quot;ternary&quot;,r.idRegex=r.attrRegex=a(&quot;ternary&quot;),r.attributes=t(&quot;./layout/attributes&quot;),r.layoutAttributes=t(&quot;./layout/layout_attributes&quot;),r.supplyLayoutDefaults=t(&quot;./layout/defaults&quot;),r.plot=function(t){for(var e=t._fullLayout,r=t.calcdata,a=e._subplots.ternary,o=0;o&lt;a.length;o++){var s=a[o],l=i(r,&quot;ternary&quot;,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&lt;i.length;a++){var o=i[a],s=n[o]._subplot;!e[o]&amp;&amp;s&amp;&amp;(s.plotContainer.remove(),s.clipDef.remove(),s.clipDefRelative.remove(),s.layers[&quot;a-title&quot;].remove(),s.layers[&quot;b-title&quot;].remove(),s.layers[&quot;c-title&quot;].remove())}}},{&quot;../../lib&quot;:743,&quot;../../plots/get_data&quot;:826,&quot;./layout/attributes&quot;:867,&quot;./layout/defaults&quot;:870,&quot;./layout/layout_attributes&quot;:871,&quot;./ternary&quot;:872}],867:[function(t,e,r){&quot;use strict&quot;;e.exports={subplot:{valType:&quot;subplotid&quot;,dflt:&quot;ternary&quot;,editType:&quot;calc&quot;}}},{}],868:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../cartesian/layout_attributes&quot;),i=t(&quot;../../../lib/extend&quot;).extendFlat;e.exports={title:n.title,titlefont:n.titlefont,color:n.color,tickmode:n.tickmode,nticks:i({},n.nticks,{dflt:6,min:1}),tick0:n.tick0,dtick:n.dtick,tickvals:n.tickvals,ticktext:n.ticktext,ticks:n.ticks,ticklen:n.ticklen,tickwidth:n.tickwidth,tickcolor:n.tickcolor,showticklabels:n.showticklabels,showtickprefix:n.showtickprefix,tickprefix:n.tickprefix,showticksuffix:n.showticksuffix,ticksuffix:n.ticksuffix,showexponent:n.showexponent,exponentformat:n.exponentformat,separatethousands:n.separatethousands,tickfont:n.tickfont,tickangle:n.tickangle,tickformat:n.tickformat,tickformatstops:n.tickformatstops,hoverformat:n.hoverformat,showline:i({},n.showline,{dflt:!0}),linecolor:n.linecolor,linewidth:n.linewidth,showgrid:i({},n.showgrid,{dflt:!0}),gridcolor:n.gridcolor,gridwidth:n.gridwidth,layer:n.layer,min:{valType:&quot;number&quot;,dflt:0,min:0}}},{&quot;../../../lib/extend&quot;:732,&quot;../../cartesian/layout_attributes&quot;:801}],869:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../../lib&quot;),i=t(&quot;./axis_attributes&quot;),a=t(&quot;../../cartesian/tick_label_defaults&quot;),o=t(&quot;../../cartesian/tick_mark_defaults&quot;),s=t(&quot;../../cartesian/tick_value_defaults&quot;),l=t(&quot;../../cartesian/line_grid_defaults&quot;);e.exports=function(t,e,r){function c(r,a){return n.coerce(t,e,i,r,a)}e.type=&quot;linear&quot;;var u=c(&quot;color&quot;),f=u===t.color?u:r.font.color,h=e._name.charAt(0).toUpperCase(),d=&quot;Component &quot;+h,p=c(&quot;title&quot;,d);e._hovertitle=p===d?p:h,n.coerceFont(c,&quot;titlefont&quot;,{family:r.font.family,size:Math.round(1.2*r.font.size),color:f}),c(&quot;min&quot;),s(t,e,c,&quot;linear&quot;),a(t,e,c,&quot;linear&quot;,{noHover:!1}),o(t,e,c,{outerTicks:!0});c(&quot;showticklabels&quot;)&amp;&amp;(n.coerceFont(c,&quot;tickfont&quot;,{family:r.font.family,size:r.font.size,color:f}),c(&quot;tickangle&quot;),c(&quot;tickformat&quot;)),l(t,e,c,{dfltColor:u,bgColor:r.bgColor,blend:60,showLine:!0,showGrid:!0,noZeroLine:!0,attributes:i}),c(&quot;hoverformat&quot;),c(&quot;layer&quot;)}},{&quot;../../../lib&quot;:743,&quot;../../cartesian/line_grid_defaults&quot;:803,&quot;../../cartesian/tick_label_defaults&quot;:809,&quot;../../cartesian/tick_mark_defaults&quot;:810,&quot;../../cartesian/tick_value_defaults&quot;:811,&quot;./axis_attributes&quot;:868}],870:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,n){var a=r(&quot;bgcolor&quot;),o=r(&quot;sum&quot;);n.bgColor=i.combine(a,n.paper_bgcolor);for(var c,u,f,h=0;h&lt;l.length;h++)u=t[c=l[h]]||{},f=e[c]={_name:c,type:&quot;linear&quot;},s(u,f,n);var d=e.aaxis,p=e.baxis,m=e.caxis;d.min+p.min+m.min&gt;=o&amp;&amp;(d.min=0,p.min=0,m.min=0,t.aaxis&amp;&amp;delete t.aaxis.min,t.baxis&amp;&amp;delete t.baxis.min,t.caxis&amp;&amp;delete t.caxis.min)}var i=t(&quot;../../../components/color&quot;),a=t(&quot;../../subplot_defaults&quot;),o=t(&quot;./layout_attributes&quot;),s=t(&quot;./axis_defaults&quot;),l=[&quot;aaxis&quot;,&quot;baxis&quot;,&quot;caxis&quot;];e.exports=function(t,e,r){a(t,e,r,{type:&quot;ternary&quot;,attributes:o,handleDefaults:n,font:e.font,paper_bgcolor:e.paper_bgcolor})}},{&quot;../../../components/color&quot;:618,&quot;../../subplot_defaults&quot;:865,&quot;./axis_defaults&quot;:869,&quot;./layout_attributes&quot;:871}],871:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../../components/color/attributes&quot;),i=t(&quot;../../domain_attributes&quot;),a=t(&quot;./axis_attributes&quot;),o=t(&quot;../../../plot_api/edit_types&quot;).overrideAll;e.exports=o({domain:i({name:&quot;ternary&quot;}),bgcolor:{valType:&quot;color&quot;,dflt:n.background},sum:{valType:&quot;number&quot;,dflt:1,min:0},aaxis:a,baxis:a,caxis:a},&quot;plot&quot;,&quot;from-root&quot;)},{&quot;../../../components/color/attributes&quot;:617,&quot;../../../plot_api/edit_types&quot;:773,&quot;../../domain_attributes&quot;:815,&quot;./axis_attributes&quot;:868}],872:[function(t,e,r){&quot;use strict&quot;;function n(t,e){this.id=t.id,this.graphDiv=t.graphDiv,this.init(e),this.makeFramework(e)}function i(t){a.select(t).selectAll(&quot;.zoombox,.js-zoombox-backdrop,.js-zoombox-menu,.zoombox-corners&quot;).remove()}var a=t(&quot;d3&quot;),o=t(&quot;tinycolor2&quot;),s=t(&quot;../../plotly&quot;),l=t(&quot;../../lib&quot;),c=l._,u=t(&quot;../../components/color&quot;),f=t(&quot;../../components/drawing&quot;),h=t(&quot;../cartesian/set_convert&quot;),d=t(&quot;../../lib/extend&quot;).extendFlat,p=t(&quot;../plots&quot;),m=t(&quot;../cartesian/axes&quot;),g=t(&quot;../../components/dragelement&quot;),v=t(&quot;../../components/fx&quot;),y=t(&quot;../../components/titles&quot;),x=t(&quot;../cartesian/select&quot;),b=t(&quot;../cartesian/constants&quot;);e.exports=n;var _=n.prototype;_.init=function(t){this.container=t._ternarylayer,this.defs=t._defs,this.layoutId=t._uid,this.traceHash={},this.layers={}},_.plot=function(t,e){var r=e[this.id],n=e._size;this._hasClipOnAxisFalse=!1;for(var i=0;i&lt;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(&quot;path&quot;).call(u.fill,r.bgcolor)},_.makeFramework=function(t){var e=t[this.id],r=this.clipId=&quot;clip&quot;+this.layoutId+this.id;this.clipDef=t._clips.selectAll(&quot;#&quot;+r).data([0]),this.clipDef.enter().append(&quot;clipPath&quot;).attr(&quot;id&quot;,r).append(&quot;path&quot;).attr(&quot;d&quot;,&quot;M0,0Z&quot;);var n=this.clipIdRelative=&quot;clip-relative&quot;+this.layoutId+this.id;this.clipDefRelative=t._clips.selectAll(&quot;#&quot;+n).data([0]),this.clipDefRelative.enter().append(&quot;clipPath&quot;).attr(&quot;id&quot;,n).append(&quot;path&quot;).attr(&quot;d&quot;,&quot;M0,0Z&quot;),this.plotContainer=this.container.selectAll(&quot;g.&quot;+this.id).data([0]),this.plotContainer.enter().append(&quot;g&quot;).classed(this.id,!0),this.updateLayers(e),f.setClipUrl(this.layers.backplot,r),f.setClipUrl(this.layers.grids,r)},_.updateLayers=function(t){var e=this.layers,r=[&quot;draglayer&quot;,&quot;plotbg&quot;,&quot;backplot&quot;,&quot;grids&quot;];&quot;below traces&quot;===t.aaxis.layer&amp;&amp;r.push(&quot;aaxis&quot;,&quot;aline&quot;),&quot;below traces&quot;===t.baxis.layer&amp;&amp;r.push(&quot;baxis&quot;,&quot;bline&quot;),&quot;below traces&quot;===t.caxis.layer&amp;&amp;r.push(&quot;caxis&quot;,&quot;cline&quot;),r.push(&quot;frontplot&quot;),&quot;above traces&quot;===t.aaxis.layer&amp;&amp;r.push(&quot;aaxis&quot;,&quot;aline&quot;),&quot;above traces&quot;===t.baxis.layer&amp;&amp;r.push(&quot;baxis&quot;,&quot;bline&quot;),&quot;above traces&quot;===t.caxis.layer&amp;&amp;r.push(&quot;caxis&quot;,&quot;cline&quot;);var n=this.plotContainer.selectAll(&quot;g.toplevel&quot;).data(r,String),i=[&quot;agrid&quot;,&quot;bgrid&quot;,&quot;cgrid&quot;];n.enter().append(&quot;g&quot;).attr(&quot;class&quot;,function(t){return&quot;toplevel &quot;+t}).each(function(t){var r=a.select(this);e[t]=r,&quot;frontplot&quot;===t?r.append(&quot;g&quot;).classed(&quot;scatterlayer&quot;,!0):&quot;backplot&quot;===t?r.append(&quot;g&quot;).classed(&quot;maplayer&quot;,!0):&quot;plotbg&quot;===t?r.append(&quot;path&quot;).attr(&quot;d&quot;,&quot;M0,0Z&quot;):&quot;aline&quot;===t||&quot;bline&quot;===t||&quot;cline&quot;===t?r.append(&quot;path&quot;):&quot;grids&quot;===t&amp;&amp;i.forEach(function(t){e[t]=r.append(&quot;g&quot;).classed(&quot;grid &quot;+t,!0);var n=&quot;bgrid&quot;===t?&quot;x&quot;:&quot;y&quot;;e[t].append(&quot;g&quot;).classed(n,!0)})}),n.order()};var w=Math.sqrt(4/3);_.adjustLayout=function(t,e){var r,n,i,a,o,s,l=this,c=t.domain,p=(c.x[0]+c.x[1])/2,m=(c.y[0]+c.y[1])/2,g=c.x[1]-c.x[0],v=c.y[1]-c.y[0],y=g*e.w,x=v*e.h,b=t.sum,_=t.aaxis.min,M=t.baxis.min,k=t.caxis.min;y&gt;w*x?i=(a=x)*w:a=(i=y)/w,o=g*i/y,s=v*a/x,r=e.l+e.w*p-i/2,n=e.t+e.h*(1-m)-a/2,l.x0=r,l.y0=n,l.w=i,l.h=a,l.sum=b,l.xaxis={type:&quot;linear&quot;,range:[_+2*k-b,b-_-2*M],domain:[p-o/2,p+o/2],_id:&quot;x&quot;},h(l.xaxis,l.graphDiv._fullLayout),l.xaxis.setScale(),l.xaxis.isPtWithinRange=function(t){return t.a&gt;=l.aaxis.range[0]&amp;&amp;t.a&lt;=l.aaxis.range[1]&amp;&amp;t.b&gt;=l.baxis.range[1]&amp;&amp;t.b&lt;=l.baxis.range[0]&amp;&amp;t.c&gt;=l.caxis.range[1]&amp;&amp;t.c&lt;=l.caxis.range[0]},l.yaxis={type:&quot;linear&quot;,range:[_,b-M-k],domain:[m-s/2,m+s/2],_id:&quot;y&quot;},h(l.yaxis,l.graphDiv._fullLayout),l.yaxis.setScale(),l.yaxis.isPtWithinRange=function(){return!0};var A=l.yaxis.domain[0],T=l.aaxis=d({},t.aaxis,{visible:!0,range:[_,b-M-k],side:&quot;left&quot;,_counterangle:30,tickangle:(+t.aaxis.tickangle||0)-30,domain:[A,A+s*w],_axislayer:l.layers.aaxis,_gridlayer:l.layers.agrid,_pos:0,_id:&quot;y&quot;,_length:i,_gridpath:&quot;M0,0l&quot;+a+&quot;,-&quot;+i/2});h(T,l.graphDiv._fullLayout),T.setScale();var S=l.baxis=d({},t.baxis,{visible:!0,range:[b-_-k,M],side:&quot;bottom&quot;,_counterangle:30,domain:l.xaxis.domain,_axislayer:l.layers.baxis,_gridlayer:l.layers.bgrid,_counteraxis:l.aaxis,_pos:0,_id:&quot;x&quot;,_length:i,_gridpath:&quot;M0,0l-&quot;+i/2+&quot;,-&quot;+a});h(S,l.graphDiv._fullLayout),S.setScale(),T._counteraxis=S;var E=l.caxis=d({},t.caxis,{visible:!0,range:[b-_-M,k],side:&quot;right&quot;,_counterangle:30,tickangle:(+t.caxis.tickangle||0)+30,domain:[A,A+s*w],_axislayer:l.layers.caxis,_gridlayer:l.layers.cgrid,_counteraxis:l.baxis,_pos:0,_id:&quot;y&quot;,_length:i,_gridpath:&quot;M0,0l-&quot;+a+&quot;,&quot;+i/2});h(E,l.graphDiv._fullLayout),E.setScale();var L=&quot;M&quot;+r+&quot;,&quot;+(n+a)+&quot;h&quot;+i+&quot;l-&quot;+i/2+&quot;,-&quot;+a+&quot;Z&quot;;l.clipDef.select(&quot;path&quot;).attr(&quot;d&quot;,L),l.layers.plotbg.select(&quot;path&quot;).attr(&quot;d&quot;,L);var C=&quot;M0,&quot;+a+&quot;h&quot;+i+&quot;l-&quot;+i/2+&quot;,-&quot;+a+&quot;Z&quot;;l.clipDefRelative.select(&quot;path&quot;).attr(&quot;d&quot;,C);var z=&quot;translate(&quot;+r+&quot;,&quot;+n+&quot;)&quot;;l.plotContainer.selectAll(&quot;.scatterlayer,.maplayer&quot;).attr(&quot;transform&quot;,z),l.clipDefRelative.select(&quot;path&quot;).attr(&quot;transform&quot;,null);var D=&quot;translate(&quot;+(r-S._offset)+&quot;,&quot;+(n+a)+&quot;)&quot;;l.layers.baxis.attr(&quot;transform&quot;,D),l.layers.bgrid.attr(&quot;transform&quot;,D);var I=&quot;translate(&quot;+(r+i/2)+&quot;,&quot;+n+&quot;)rotate(30)translate(0,-&quot;+T._offset+&quot;)&quot;;l.layers.aaxis.attr(&quot;transform&quot;,I),l.layers.agrid.attr(&quot;transform&quot;,I);var P=&quot;translate(&quot;+(r+i/2)+&quot;,&quot;+n+&quot;)rotate(-30)translate(0,-&quot;+E._offset+&quot;)&quot;;l.layers.caxis.attr(&quot;transform&quot;,P),l.layers.cgrid.attr(&quot;transform&quot;,P),l.drawAxes(!0),l.plotContainer.selectAll(&quot;.crisp&quot;).classed(&quot;crisp&quot;,!1),l.layers.aline.select(&quot;path&quot;).attr(&quot;d&quot;,T.showline?&quot;M&quot;+r+&quot;,&quot;+(n+a)+&quot;l&quot;+i/2+&quot;,-&quot;+a:&quot;M0,0&quot;).call(u.stroke,T.linecolor||&quot;#000&quot;).style(&quot;stroke-width&quot;,(T.linewidth||0)+&quot;px&quot;),l.layers.bline.select(&quot;path&quot;).attr(&quot;d&quot;,S.showline?&quot;M&quot;+r+&quot;,&quot;+(n+a)+&quot;h&quot;+i:&quot;M0,0&quot;).call(u.stroke,S.linecolor||&quot;#000&quot;).style(&quot;stroke-width&quot;,(S.linewidth||0)+&quot;px&quot;),l.layers.cline.select(&quot;path&quot;).attr(&quot;d&quot;,E.showline?&quot;M&quot;+(r+i/2)+&quot;,&quot;+n+&quot;l&quot;+i/2+&quot;,&quot;+a:&quot;M0,0&quot;).call(u.stroke,E.linecolor||&quot;#000&quot;).style(&quot;stroke-width&quot;,(E.linewidth||0)+&quot;px&quot;),l.graphDiv._context.staticPlot||l.initInteractions(),f.setClipUrl(l.layers.frontplot,l._hasClipOnAxisFalse?null:l.clipId)},_.drawAxes=function(t){var e=this.graphDiv,r=this.id.substr(7)+&quot;title&quot;,n=this.aaxis,i=this.baxis,a=this.caxis;if(m.doTicks(e,n,!0),m.doTicks(e,i,!0),m.doTicks(e,a,!0),t){var o=Math.max(n.showticklabels?n.tickfont.size/2:0,(a.showticklabels?.75*a.tickfont.size:0)+(&quot;outside&quot;===a.ticks?.87*a.ticklen:0));this.layers[&quot;a-title&quot;]=y.draw(e,&quot;a&quot;+r,{propContainer:n,propName:this.id+&quot;.aaxis.title&quot;,placeholder:c(e,&quot;Click to enter Component A title&quot;),attributes:{x:this.x0+this.w/2,y:this.y0-n.titlefont.size/3-o,&quot;text-anchor&quot;:&quot;middle&quot;}});var s=(i.showticklabels?i.tickfont.size:0)+(&quot;outside&quot;===i.ticks?i.ticklen:0)+3;this.layers[&quot;b-title&quot;]=y.draw(e,&quot;b&quot;+r,{propContainer:i,propName:this.id+&quot;.baxis.title&quot;,placeholder:c(e,&quot;Click to enter Component B title&quot;),attributes:{x:this.x0-s,y:this.y0+this.h+.83*i.titlefont.size+s,&quot;text-anchor&quot;:&quot;middle&quot;}}),this.layers[&quot;c-title&quot;]=y.draw(e,&quot;c&quot;+r,{propContainer:a,propName:this.id+&quot;.caxis.title&quot;,placeholder:c(e,&quot;Click to enter Component C title&quot;),attributes:{x:this.x0+this.w+s,y:this.y0+this.h+.83*a.titlefont.size+s,&quot;text-anchor&quot;:&quot;middle&quot;}})}};var M=b.MINZOOM/2+.87,k=&quot;m-0.87,.5h&quot;+M+&quot;v3h-&quot;+(M+5.2)+&quot;l&quot;+(M/2+2.6)+&quot;,-&quot;+(.87*M+4.5)+&quot;l2.6,1.5l-&quot;+M/2+&quot;,&quot;+.87*M+&quot;Z&quot;,A=&quot;m0.87,.5h-&quot;+M+&quot;v3h&quot;+(M+5.2)+&quot;l-&quot;+(M/2+2.6)+&quot;,-&quot;+(.87*M+4.5)+&quot;l-2.6,1.5l&quot;+M/2+&quot;,&quot;+.87*M+&quot;Z&quot;,T=&quot;m0,1l&quot;+M/2+&quot;,&quot;+.87*M+&quot;l2.6,-1.5l-&quot;+(M/2+2.6)+&quot;,-&quot;+(.87*M+4.5)+&quot;l-&quot;+(M/2+2.6)+&quot;,&quot;+(.87*M+4.5)+&quot;l2.6,1.5l&quot;+M/2+&quot;,-&quot;+.87*M+&quot;Z&quot;,S=&quot;m0.5,0.5h5v-2h-5v-5h-2v5h-5v2h5v5h2Z&quot;,E=!0;_.initInteractions=function(){function t(t,e){return 1-e/O.h}function e(t,e){return 1-(t+(O.h-e)/Math.sqrt(3))/O.w}function r(t,e){return(t-(O.h-e)/Math.sqrt(3))/O.w}function n(n,i){var a=m+n,o=y+i,s=Math.max(0,Math.min(1,t(0,y),t(0,o))),l=Math.max(0,Math.min(1,e(m,y),e(a,o))),c=Math.max(0,Math.min(1,r(m,y),r(a,o))),u=(s/2+c)*O.w,f=(1-s/2-l)*O.w,h=(u+f)/2,d=f-u,p=(1-s)*O.h,g=p-d/w;d&lt;b.MINZOOM?(L=_,I.attr(&quot;d&quot;,z),P.attr(&quot;d&quot;,&quot;M0,0Z&quot;)):(L={a:_.a+s*M,b:_.b+l*M,c:_.c+c*M},I.attr(&quot;d&quot;,z+&quot;M&quot;+u+&quot;,&quot;+p+&quot;H&quot;+f+&quot;L&quot;+h+&quot;,&quot;+g+&quot;L&quot;+u+&quot;,&quot;+p+&quot;Z&quot;),P.attr(&quot;d&quot;,&quot;M&quot;+m+&quot;,&quot;+y+S+&quot;M&quot;+u+&quot;,&quot;+p+k+&quot;M&quot;+f+&quot;,&quot;+p+A+&quot;M&quot;+h+&quot;,&quot;+g+T)),D||(I.transition().style(&quot;fill&quot;,C&gt;.2?&quot;rgba(0,0,0,0.4)&quot;:&quot;rgba(255,255,255,0.3)&quot;).duration(200),P.transition().style(&quot;opacity&quot;,1).duration(200),D=!0)}function a(){if(i(R),L!==_){var t={};t[O.id+&quot;.aaxis.min&quot;]=L.a,t[O.id+&quot;.baxis.min&quot;]=L.b,t[O.id+&quot;.caxis.min&quot;]=L.c,s.relayout(R,t),E&amp;&amp;R.data&amp;&amp;R._context.showTips&amp;&amp;(l.notifier(c(R,&quot;Double-click to zoom back out&quot;),&quot;long&quot;),E=!1)}}function h(t,e){var r=t/O.xaxis._m,n=e/O.yaxis._m,i=[(L={a:_.a-n,b:_.b+(r+n)/2,c:_.c-(r-n)/2}).a,L.b,L.c].sort(),a=i.indexOf(L.a),o=i.indexOf(L.b),s=i.indexOf(L.c);i[0]&lt;0&amp;&amp;(i[1]+i[0]/2&lt;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),L={a:i[a],b:i[o],c:i[s]},e=(_.a-L.a)*O.yaxis._m,t=(_.c-L.c-_.b+L.b)*O.xaxis._m);var l=&quot;translate(&quot;+(O.x0+t)+&quot;,&quot;+(O.y0+e)+&quot;)&quot;;O.plotContainer.selectAll(&quot;.scatterlayer,.maplayer&quot;).attr(&quot;transform&quot;,l);var c=&quot;translate(&quot;+-t+&quot;,&quot;+-e+&quot;)&quot;;O.clipDefRelative.select(&quot;path&quot;).attr(&quot;transform&quot;,c),O.aaxis.range=[L.a,O.sum-L.b-L.c],O.baxis.range=[O.sum-L.a-L.c,L.b],O.caxis.range=[O.sum-L.a-L.b,L.c],O.drawAxes(!1),O.plotContainer.selectAll(&quot;.crisp&quot;).classed(&quot;crisp&quot;,!1),O._hasClipOnAxisFalse&amp;&amp;O.plotContainer.select(&quot;.scatterlayer&quot;).selectAll(&quot;.trace&quot;).call(f.hideOutsideRangePoints,O)}function d(){var t={};t[O.id+&quot;.aaxis.min&quot;]=L.a,t[O.id+&quot;.baxis.min&quot;]=L.b,t[O.id+&quot;.caxis.min&quot;]=L.c,s.relayout(R,t)}function p(){N.selectAll(&quot;.select-outline&quot;).remove()}var m,y,_,M,L,C,z,D,I,P,O=this,F=O.layers.plotbg.select(&quot;path&quot;).node(),R=O.graphDiv,N=R._fullLayout._zoomlayer,j={element:F,gd:R,plotinfo:{xaxis:O.xaxis,yaxis:O.yaxis},subplot:O.id,prepFn:function(t,e,r){j.xaxes=[O.xaxis],j.yaxes=[O.yaxis];var i=R._fullLayout.dragmode;t.shiftKey&amp;&amp;(i=&quot;pan&quot;===i?&quot;zoom&quot;:&quot;pan&quot;),j.minDrag=&quot;lasso&quot;===i?1:void 0,&quot;zoom&quot;===i?(j.moveFn=n,j.doneFn=a,function(t,e,r){var n=F.getBoundingClientRect();m=e-n.left,y=r-n.top,_={a:O.aaxis.range[0],b:O.baxis.range[1],c:O.caxis.range[1]},L=_,M=O.aaxis.range[1]-_.a,C=o(O.graphDiv._fullLayout[O.id].bgcolor).getLuminance(),z=&quot;M0,&quot;+O.h+&quot;L&quot;+O.w/2+&quot;, 0L&quot;+O.w+&quot;,&quot;+O.h+&quot;Z&quot;,D=!1,I=N.append(&quot;path&quot;).attr(&quot;class&quot;,&quot;zoombox&quot;).attr(&quot;transform&quot;,&quot;translate(&quot;+O.x0+&quot;, &quot;+O.y0+&quot;)&quot;).style({fill:C&gt;.2?&quot;rgba(0,0,0,0)&quot;:&quot;rgba(255,255,255,0)&quot;,&quot;stroke-width&quot;:0}).attr(&quot;d&quot;,z),P=N.append(&quot;path&quot;).attr(&quot;class&quot;,&quot;zoombox-corners&quot;).attr(&quot;transform&quot;,&quot;translate(&quot;+O.x0+&quot;, &quot;+O.y0+&quot;)&quot;).style({fill:u.background,stroke:u.defaultLine,&quot;stroke-width&quot;:1,opacity:0}).attr(&quot;d&quot;,&quot;M0,0Z&quot;),p()}(0,e,r)):&quot;pan&quot;===i?(j.moveFn=h,j.doneFn=d,_={a:O.aaxis.range[0],b:O.baxis.range[1],c:O.caxis.range[1]},L=_,p()):&quot;select&quot;!==i&amp;&amp;&quot;lasso&quot;!==i||x(t,e,r,j,i)},clickFn:function(t,e){if(i(R),2===t){var r={};r[O.id+&quot;.aaxis.min&quot;]=0,r[O.id+&quot;.baxis.min&quot;]=0,r[O.id+&quot;.caxis.min&quot;]=0,R.emit(&quot;plotly_doubleclick&quot;,null),s.relayout(R,r)}v.click(R,e,O.id)}};F.onmousemove=function(t){v.hover(R,t,O.id),R._fullLayout._lasthover=F,R._fullLayout._hoversubplot=O.id},F.onmouseout=function(t){R._dragging||g.unhover(R,t)},g.init(j)}},{&quot;../../components/color&quot;:618,&quot;../../components/dragelement&quot;:640,&quot;../../components/drawing&quot;:643,&quot;../../components/fx&quot;:660,&quot;../../components/titles&quot;:709,&quot;../../lib&quot;:743,&quot;../../lib/extend&quot;:732,&quot;../../plotly&quot;:784,&quot;../cartesian/axes&quot;:789,&quot;../cartesian/constants&quot;:794,&quot;../cartesian/select&quot;:807,&quot;../cartesian/set_convert&quot;:808,&quot;../plots&quot;:852,d3:128,tinycolor2:546}],873:[function(t,e,r){&quot;use strict&quot;;function n(t){if(t.layoutAttributes){var e=t.layoutAttributes._arrayAttrRegexps;if(e)for(var n=0;n&lt;e.length;n++)u(r.layoutArrayRegexes,e[n])}}function i(t,e){var n=r.componentsRegistry[t].schema;if(n&amp;&amp;n.traces){var i=n.traces[e];i&amp;&amp;d(r.modules[e]._module.attributes,i)}}function a(t,e){var n=r.componentsRegistry[t].schema;if(n&amp;&amp;n.transforms){var i=n.transforms[e];i&amp;&amp;d(r.transformsRegistry[e].attributes,i)}}function o(t,e){var n=r.componentsRegistry[t].schema;if(n&amp;&amp;n.subplots){var i=r.subplotsRegistry[e],a=i.layoutAttributes,o=&quot;subplot&quot;===i.attr?i.name:i.attr;Array.isArray(o)&amp;&amp;(o=o[0]);var s=n.subplots[o];a&amp;&amp;s&amp;&amp;d(a,s)}}function s(t){return&quot;object&quot;==typeof t&amp;&amp;(t=t.type),t}var l=t(&quot;./lib/loggers&quot;),c=t(&quot;./lib/noop&quot;),u=t(&quot;./lib/push_unique&quot;),f=t(&quot;./lib/extend&quot;),h=f.extendFlat,d=f.extendDeepAll,p=t(&quot;./plots/attributes&quot;),m=t(&quot;./plots/layout_attributes&quot;);r.modules={},r.allCategories={},r.allTypes=[],r.subplotsRegistry={},r.transformsRegistry={},r.componentsRegistry={},r.layoutArrayContainers=[],r.layoutArrayRegexes=[],r.traceLayoutAttributes={},r.localeRegistry={},r.register=function(t,e,n,a){if(r.modules[e])l.log(&quot;Type &quot;+e+&quot; already registered&quot;);else{for(var o={},s=0;s&lt;n.length;s++)o[n[s]]=!0,r.allCategories[n[s]]=!0;r.modules[e]={_module:t,categories:o},a&amp;&amp;Object.keys(a).length&amp;&amp;(r.modules[e].meta=a),r.allTypes.push(e);for(var c in r.componentsRegistry)i(c,e);t.layoutAttributes&amp;&amp;h(r.traceLayoutAttributes,t.layoutAttributes)}},r.registerSubplot=function(t){var e=t.name;if(r.subplotsRegistry[e])l.log(&quot;Plot type &quot;+e+&quot; already registered.&quot;);else{n(t),r.subplotsRegistry[e]=t;for(var i in r.componentsRegistry)o(i,t.name)}},r.registerComponent=function(t){var e=t.name;r.componentsRegistry[e]=t,t.layoutAttributes&amp;&amp;(t.layoutAttributes._isLinkedToArray&amp;&amp;u(r.layoutArrayContainers,e),n(t));for(var s in r.modules)i(e,s);for(var l in r.subplotsRegistry)o(e,l);for(var c in r.transformsRegistry)a(e,c);t.schema&amp;&amp;t.schema.layout&amp;&amp;d(m,t.schema.layout)},r.registerTransform=function(t){r.transformsRegistry[t.name]=t;for(var e in r.componentsRegistry)a(e,t.name)},r.getModule=function(t){var e=r.modules[s(t)];return!!e&amp;&amp;e._module},r.traceIs=function(t,e){if(&quot;various&quot;===(t=s(t)))return!1;var n=r.modules[t];return n||(t&amp;&amp;&quot;area&quot;!==t&amp;&amp;l.log(&quot;Unrecognized trace type &quot;+t+&quot;.&quot;),n=r.modules[p.type.dflt]),!!n.categories[e]},r.getTransformIndices=function(t,e){for(var r=[],n=t.transforms||[],i=0;i&lt;n.length;i++)n[i].type===e&amp;&amp;r.push(i);return r},r.hasTransform=function(t,e){for(var r=t.transforms||[],n=0;n&lt;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]||c:c},r.registerLocale=function(t){var e=t.name,n=e.split(&quot;-&quot;)[0],i=t.dictionary,a=t.format,o=i&amp;&amp;Object.keys(i).length,s=a&amp;&amp;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&amp;&amp;u.dictionary===c.dictionary&amp;&amp;(u.dictionary=i),s&amp;&amp;u.format===c.format&amp;&amp;(u.format=a)}o&amp;&amp;(c.dictionary=i),s&amp;&amp;(c.format=a)}},{&quot;./lib/extend&quot;:732,&quot;./lib/loggers&quot;:748,&quot;./lib/noop&quot;:752,&quot;./lib/push_unique&quot;:756,&quot;./plots/attributes&quot;:787,&quot;./plots/layout_attributes&quot;:843}],874:[function(t,e,r){&quot;use strict&quot;;function n(t){var e;switch(t){case&quot;themes__thumb&quot;:e={autosize:!0,width:150,height:150,title:&quot;&quot;,showlegend:!1,margin:{l:5,r:5,t:5,b:5,pad:0},annotations:[]};break;case&quot;thumbnail&quot;:e={title:&quot;&quot;,hidesources:!0,showlegend:!1,borderwidth:0,bordercolor:&quot;&quot;,margin:{l:1,r:1,t:1,b:1,pad:0},annotations:[]};break;default:e={}}return e}function i(t){return[&quot;xaxis&quot;,&quot;yaxis&quot;,&quot;zaxis&quot;].indexOf(t.slice(0,5))&gt;-1}var a=t(&quot;../lib&quot;),o=a.extendFlat,s=a.extendDeep;e.exports=function(t,e){t.framework&amp;&amp;t.framework.isPolar&amp;&amp;(t=t.framework.getConfig());var r,a=t.data,l=t.layout,c=s([],a),u=s({},l,n(e.tileClass)),f=t._context||{};if(e.width&amp;&amp;(u.width=e.width),e.height&amp;&amp;(u.height=e.height),&quot;thumbnail&quot;===e.tileClass||&quot;themes__thumb&quot;===e.tileClass){u.annotations=[];var h=Object.keys(u);for(r=0;r&lt;h.length;r++)i(h[r])&amp;&amp;(u[h[r]].title=&quot;&quot;);for(r=0;r&lt;c.length;r++){var d=c[r];d.showscale=!1,d.marker&amp;&amp;(d.marker.showscale=!1),&quot;pie&quot;===d.type&amp;&amp;(d.textposition=&quot;none&quot;)}}if(Array.isArray(e.annotations))for(r=0;r&lt;e.annotations.length;r++)u.annotations.push(e.annotations[r]);var p=Object.keys(u).filter(function(t){return t.match(/^scene\d*$/)});if(p.length){var m={};for(&quot;thumbnail&quot;===e.tileClass&amp;&amp;(m={title:&quot;&quot;,showaxeslabels:!1,showticklabels:!1,linetickenable:!1}),r=0;r&lt;p.length;r++){var g=u[p[r]];g.xaxis||(g.xaxis={}),g.yaxis||(g.yaxis={}),g.zaxis||(g.zaxis={}),o(g.xaxis,m),o(g.yaxis,m),o(g.zaxis,m),g._scene=null}}var v=document.createElement(&quot;div&quot;);e.tileClass&amp;&amp;(v.className=e.tileClass);var y={gd:v,td:v,layout:u,data:c,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:f.mapboxAccessToken}};return&quot;transparent&quot;!==e.setBackground&amp;&amp;(y.config.setBackground=e.setBackground||&quot;opaque&quot;),y.gd.defaultLayout=n(e.tileClass),y}},{&quot;../lib&quot;:743}],875:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../plot_api/to_image&quot;),i=t(&quot;../lib&quot;),a=t(&quot;./filesaver&quot;);e.exports=function(t,e){return e=e||{},e.format=e.format||&quot;png&quot;,new Promise(function(r,o){t._snapshotInProgress&amp;&amp;o(new Error(&quot;Snapshotting already in progress.&quot;)),i.isIE()&amp;&amp;&quot;svg&quot;!==e.format&amp;&amp;o(new Error(&quot;Sorry IE does not support downloading from canvas. Try {format:'svg'} instead.&quot;)),t._snapshotInProgress=!0;var s=n(t,e),l=e.filename||t.fn||&quot;newplot&quot;;l+=&quot;.&quot;+e.format,s.then(function(e){return t._snapshotInProgress=!1,a(e,l)}).then(function(t){r(t)}).catch(function(e){t._snapshotInProgress=!1,o(e)})})}},{&quot;../lib&quot;:743,&quot;../plot_api/to_image&quot;:782,&quot;./filesaver&quot;:876}],876:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t,e){var r=document.createElement(&quot;a&quot;),n=&quot;download&quot;in r,i=/Version\/[\d\.]+.*Safari/.test(navigator.userAgent);return new Promise(function(a,o){if(&quot;undefined&quot;!=typeof navigator&amp;&amp;/MSIE [1-9]\./.test(navigator.userAgent)&amp;&amp;o(new Error(&quot;IE &lt; 10 unsupported&quot;)),i&amp;&amp;(document.location.href=&quot;data:application/octet-stream&quot;+t.slice(t.search(/[,;]/)),a(e)),e||(e=&quot;download&quot;),n&amp;&amp;(r.href=t,r.download=e,document.body.appendChild(r),r.click(),document.body.removeChild(r),a(e)),&quot;undefined&quot;!=typeof navigator&amp;&amp;navigator.msSaveBlob){var s=t.split(/^data:image\/svg\+xml,/)[1],l=decodeURIComponent(s);navigator.msSaveBlob(new Blob([l]),e),a(e)}o(new Error(&quot;download error&quot;))})}},{}],877:[function(t,e,r){&quot;use strict&quot;;r.getDelay=function(t){return t._has&amp;&amp;(t._has(&quot;gl3d&quot;)||t._has(&quot;gl2d&quot;))?500:0},r.getRedrawFunc=function(t){var e=t._fullLayout||{};if(!(!(e._has&amp;&amp;e._has(&quot;polar&quot;))&amp;&amp;t.data&amp;&amp;t.data[0]&amp;&amp;t.data[0].r))return function(){(t.calcdata||[]).forEach(function(t){t[0]&amp;&amp;t[0].t&amp;&amp;t[0].t.cb&amp;&amp;t[0].t.cb()})}}},{}],878:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;./helpers&quot;),i={getDelay:n.getDelay,getRedrawFunc:n.getRedrawFunc,clone:t(&quot;./cloneplot&quot;),toSVG:t(&quot;./tosvg&quot;),svgToImg:t(&quot;./svgtoimg&quot;),toImage:t(&quot;./toimage&quot;),downloadImage:t(&quot;./download&quot;)};e.exports=i},{&quot;./cloneplot&quot;:874,&quot;./download&quot;:875,&quot;./helpers&quot;:877,&quot;./svgtoimg&quot;:879,&quot;./toimage&quot;:880,&quot;./tosvg&quot;:881}],879:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../lib&quot;),i=t(&quot;events&quot;).EventEmitter;e.exports=function(t){var e=t.emitter||new i,r=new Promise(function(i,a){var o=window.Image,s=t.svg,l=t.format||&quot;png&quot;;if(n.isIE()&amp;&amp;&quot;svg&quot;!==l){var c=new Error(&quot;Sorry IE does not support downloading from canvas. Try {format:'svg'} instead.&quot;);return a(c),t.promise?r:e.emit(&quot;error&quot;,c)}var u=t.canvas,f=t.scale||1,h=f*(t.width||300),d=f*(t.height||150),p=u.getContext(&quot;2d&quot;),m=new o,g=&quot;data:image/svg+xml,&quot;+encodeURIComponent(s);u.width=h,u.height=d,m.onload=function(){var r;switch(&quot;svg&quot;!==l&amp;&amp;p.drawImage(m,0,0,h,d),l){case&quot;jpeg&quot;:r=u.toDataURL(&quot;image/jpeg&quot;);break;case&quot;png&quot;:r=u.toDataURL(&quot;image/png&quot;);break;case&quot;webp&quot;:r=u.toDataURL(&quot;image/webp&quot;);break;case&quot;svg&quot;:r=g;break;default:var n=&quot;Image format is not jpeg, png, svg or webp.&quot;;if(a(new Error(n)),!t.promise)return e.emit(&quot;error&quot;,n)}i(r),t.promise||e.emit(&quot;success&quot;,r)},m.onerror=function(r){if(a(r),!t.promise)return e.emit(&quot;error&quot;,r)},m.src=g});return t.promise?r:e}},{&quot;../lib&quot;:743,events:138}],880:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;events&quot;).EventEmitter,i=t(&quot;../plotly&quot;),a=t(&quot;../lib&quot;),o=t(&quot;./helpers&quot;),s=t(&quot;./cloneplot&quot;),l=t(&quot;./tosvg&quot;),c=t(&quot;./svgtoimg&quot;);e.exports=function(t,e){var r=new n,u=s(t,{format:&quot;png&quot;}),f=u.gd;f.style.position=&quot;absolute&quot;,f.style.left=&quot;-5000px&quot;,document.body.appendChild(f);var h=o.getRedrawFunc(f);return i.plot(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(&quot;canvas&quot;);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&amp;&amp;document.body.removeChild(f)}},t)}).catch(function(t){r.emit(&quot;error&quot;,t)}),r}},{&quot;../lib&quot;:743,&quot;../plotly&quot;:784,&quot;./cloneplot&quot;:874,&quot;./helpers&quot;:877,&quot;./svgtoimg&quot;:879,&quot;./tosvg&quot;:881,events:138}],881:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;d3&quot;),i=t(&quot;../lib&quot;),a=t(&quot;../components/drawing&quot;),o=t(&quot;../components/color&quot;),s=t(&quot;../constants/xmlns_namespaces&quot;),l=/&quot;/g,c=&quot;TOBESTRIPPED&quot;,u=new RegExp('(&quot;'+c+&quot;)|(&quot;+c+'&quot;)',&quot;g&quot;);e.exports=function(t,e,r){var f,h=t._fullLayout,d=h._paper,p=h._toppaper,m=h.width,g=h.height;d.insert(&quot;rect&quot;,&quot;:first-child&quot;).call(a.setRect,0,0,m,g).call(o.fill,h.paper_bgcolor);var v=h._basePlotModules||[];for(f=0;f&lt;v.length;f++){var y=v[f];y.toSVG&amp;&amp;y.toSVG(t)}if(p){var x=p.node().childNodes,b=Array.prototype.slice.call(x);for(f=0;f&lt;b.length;f++){var _=b[f];_.childNodes.length&amp;&amp;d.node().appendChild(_)}}h._draggers&amp;&amp;h._draggers.remove(),d.node().style.background=&quot;&quot;,d.selectAll(&quot;text&quot;).attr({&quot;data-unformatted&quot;:null,&quot;data-math&quot;:null}).each(function(){var t=n.select(this);if(&quot;hidden&quot;!==this.style.visibility&amp;&amp;&quot;none&quot;!==this.style.display){t.style({visibility:null,display:null});var e=this.style.fontFamily;e&amp;&amp;-1!==e.indexOf('&quot;')&amp;&amp;t.style(&quot;font-family&quot;,e.replace(l,c))}else t.remove()}),d.selectAll(&quot;.point,.scatterpts&quot;).each(function(){var t=n.select(this),e=this.style.fill;e&amp;&amp;-1!==e.indexOf(&quot;url(&quot;)&amp;&amp;t.style(&quot;fill&quot;,e.replace(l,c))}),&quot;pdf&quot;!==e&amp;&amp;&quot;eps&quot;!==e||d.selectAll(&quot;#MathJax_SVG_glyphs path&quot;).attr(&quot;stroke-width&quot;,0),d.node().setAttributeNS(s.xmlns,&quot;xmlns&quot;,s.svg),d.node().setAttributeNS(s.xmlns,&quot;xmlns:xlink&quot;,s.xlink),&quot;svg&quot;===e&amp;&amp;r&amp;&amp;(d.attr(&quot;width&quot;,r*m),d.attr(&quot;height&quot;,r*g),d.attr(&quot;viewBox&quot;,&quot;0 0 &quot;+m+&quot; &quot;+g));var w=(new window.XMLSerializer).serializeToString(d.node());return w=function(t){var e=n.select(&quot;body&quot;).append(&quot;div&quot;).style({display:&quot;none&quot;}).html(&quot;&quot;),r=t.replace(/(&amp;[^;]*;)/gi,function(t){return&quot;&amp;lt;&quot;===t?&quot;&amp;#60;&quot;:&quot;&amp;rt;&quot;===t?&quot;&amp;#62;&quot;:-1!==t.indexOf(&quot;&lt;&quot;)||-1!==t.indexOf(&quot;&gt;&quot;)?&quot;&quot;:e.html(t).text()});return e.remove(),r}(w),w=function(t){return t.replace(/&amp;(?!\w+;|\#[0-9]+;| \#x[0-9A-F]+;)/g,&quot;&amp;amp;&quot;)}(w),w=w.replace(u,&quot;'&quot;),i.isIE()&amp;&amp;(w=(w=(w=w.replace(/&quot;/gi,&quot;'&quot;)).replace(/(\('#)([^']*)('\))/gi,'(&quot;#$2&quot;)')).replace(/(\\')/gi,'&quot;')),w}},{&quot;../components/color&quot;:618,&quot;../components/drawing&quot;:643,&quot;../constants/xmlns_namespaces&quot;:723,&quot;../lib&quot;:743,d3:128}],882:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib&quot;).mergeArray;e.exports=function(t,e){for(var r=0;r&lt;t.length;r++)t[r].i=r;n(e.text,t,&quot;tx&quot;),n(e.hovertext,t,&quot;htx&quot;);var i=e.marker;if(i){n(i.opacity,t,&quot;mo&quot;),n(i.color,t,&quot;mc&quot;);var a=i.line;a&amp;&amp;(n(a.color,t,&quot;mlc&quot;),n(a.width,t,&quot;mlw&quot;))}}},{&quot;../../lib&quot;:743}],883:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../scatter/attributes&quot;),i=t(&quot;../../components/colorscale/color_attributes&quot;),a=t(&quot;../../components/errorbars/attributes&quot;),o=t(&quot;../../components/colorbar/attributes&quot;),s=t(&quot;../../plots/font_attributes&quot;),l=t(&quot;../../lib/extend&quot;).extendFlat,c=s({editType:&quot;calc&quot;,arrayOk:!0}),u=n.marker,f=l({line:l({width:l({},u.line.width,{dflt:0}),editType:&quot;calc&quot;},i(&quot;marker.line&quot;)),editType:&quot;calc&quot;},i(&quot;marker&quot;),{showscale:u.showscale,colorbar:o,opacity:{valType:&quot;number&quot;,arrayOk:!0,dflt:1,min:0,max:1,editType:&quot;style&quot;}});e.exports={x:n.x,x0:n.x0,dx:n.dx,y:n.y,y0:n.y0,dy:n.dy,text:n.text,hovertext:n.hovertext,textposition:{valType:&quot;enumerated&quot;,values:[&quot;inside&quot;,&quot;outside&quot;,&quot;auto&quot;,&quot;none&quot;],dflt:&quot;none&quot;,arrayOk:!0,editType:&quot;calc&quot;},textfont:l({},c,{}),insidetextfont:l({},c,{}),outsidetextfont:l({},c,{}),constraintext:{valType:&quot;enumerated&quot;,values:[&quot;inside&quot;,&quot;outside&quot;,&quot;both&quot;,&quot;none&quot;],dflt:&quot;both&quot;,editType:&quot;calc&quot;},orientation:{valType:&quot;enumerated&quot;,values:[&quot;v&quot;,&quot;h&quot;],editType:&quot;calc+clearAxisTypes&quot;},base:{valType:&quot;any&quot;,dflt:null,arrayOk:!0,editType:&quot;calc&quot;},offset:{valType:&quot;number&quot;,dflt:null,arrayOk:!0,editType:&quot;calc&quot;},width:{valType:&quot;number&quot;,dflt:null,min:0,arrayOk:!0,editType:&quot;calc&quot;},marker:f,selected:{marker:{opacity:n.selected.marker.opacity,color:n.selected.marker.color,editType:&quot;style&quot;},textfont:n.selected.textfont,editType:&quot;style&quot;},unselected:{marker:{opacity:n.unselected.marker.opacity,color:n.unselected.marker.color,editType:&quot;style&quot;},textfont:n.unselected.textfont,editType:&quot;style&quot;},r:n.r,t:n.t,error_y:a,error_x:a,_deprecated:{bardir:{valType:&quot;enumerated&quot;,editType:&quot;calc&quot;,values:[&quot;v&quot;,&quot;h&quot;]}}}},{&quot;../../components/colorbar/attributes&quot;:619,&quot;../../components/colorscale/color_attributes&quot;:626,&quot;../../components/errorbars/attributes&quot;:645,&quot;../../lib/extend&quot;:732,&quot;../../plots/font_attributes&quot;:816,&quot;../scatter/attributes&quot;:1066}],884:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;fast-isnumeric&quot;),i=t(&quot;../../plots/cartesian/axes&quot;),a=t(&quot;../../components/colorscale/has_colorscale&quot;),o=t(&quot;../../components/colorscale/calc&quot;),s=t(&quot;./arrays_to_calcdata&quot;),l=t(&quot;../scatter/calc_selection&quot;);e.exports=function(t,e){var r,c,u,f,h,d=i.getFromId(t,e.xaxis||&quot;x&quot;),p=i.getFromId(t,e.yaxis||&quot;y&quot;);&quot;h&quot;===(e.orientation||(e.x&amp;&amp;!e.y?&quot;h&quot;:&quot;v&quot;))?(r=d,u=d.makeCalcdata(e,&quot;x&quot;),c=p.makeCalcdata(e,&quot;y&quot;),h=e.xcalendar):(r=p,u=p.makeCalcdata(e,&quot;y&quot;),c=d.makeCalcdata(e,&quot;x&quot;),h=e.ycalendar);var m=Math.min(c.length,u.length),g=new Array(m);for(f=0;f&lt;m;f++)g[f]={p:c[f],s:u[f]},e.ids&amp;&amp;(g[f].id=String(e.ids[f]));var v,y=e.base;if(Array.isArray(y)){for(f=0;f&lt;Math.min(y.length,g.length);f++)v=r.d2c(y[f],0,h),n(v)?(g[f].b=+v,g[f].hasB=1):g[f].b=0;for(;f&lt;g.length;f++)g[f].b=0}else{v=r.d2c(y,0,h);var x=n(v);for(v=x?v:0,f=0;f&lt;g.length;f++)g[f].b=v,x&amp;&amp;(g[f].hasB=1)}return a(e,&quot;marker&quot;)&amp;&amp;o(e,e.marker.color,&quot;marker&quot;,&quot;c&quot;),a(e,&quot;marker.line&quot;)&amp;&amp;o(e,e.marker.line.color,&quot;marker.line&quot;,&quot;c&quot;),s(g,e),l(g,e),g}},{&quot;../../components/colorscale/calc&quot;:625,&quot;../../components/colorscale/has_colorscale&quot;:632,&quot;../../plots/cartesian/axes&quot;:789,&quot;../scatter/calc_selection&quot;:1068,&quot;./arrays_to_calcdata&quot;:882,&quot;fast-isnumeric&quot;:140}],885:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib&quot;),i=t(&quot;../../components/color&quot;),a=t(&quot;../scatter/xy_defaults&quot;),o=t(&quot;../bar/style_defaults&quot;),s=t(&quot;../../components/errorbars/defaults&quot;),l=t(&quot;./attributes&quot;);e.exports=function(t,e,r,c){function u(r,i){return n.coerce(t,e,l,r,i)}var f=n.coerceFont;if(a(t,e,c,u)){u(&quot;orientation&quot;,e.x&amp;&amp;!e.y?&quot;h&quot;:&quot;v&quot;),u(&quot;base&quot;),u(&quot;offset&quot;),u(&quot;width&quot;),u(&quot;text&quot;),u(&quot;hovertext&quot;);var h=u(&quot;textposition&quot;),d=Array.isArray(h)||&quot;auto&quot;===h,p=d||&quot;inside&quot;===h,m=d||&quot;outside&quot;===h;if(p||m){var g=f(u,&quot;textfont&quot;,c.font);p&amp;&amp;f(u,&quot;insidetextfont&quot;,g),m&amp;&amp;f(u,&quot;outsidetextfont&quot;,g),u(&quot;constraintext&quot;),u(&quot;selected.textfont.color&quot;),u(&quot;unselected.textfont.color&quot;)}o(t,e,u,r,c),s(t,e,i.defaultLine,{axis:&quot;y&quot;}),s(t,e,i.defaultLine,{axis:&quot;x&quot;,inherit:&quot;y&quot;}),n.coerceSelectionMarkerOpacity(e,u)}else e.visible=!1}},{&quot;../../components/color&quot;:618,&quot;../../components/errorbars/defaults&quot;:648,&quot;../../lib&quot;:743,&quot;../bar/style_defaults&quot;:895,&quot;../scatter/xy_defaults&quot;:1090,&quot;./attributes&quot;:883}],886:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../components/fx&quot;),i=t(&quot;../../components/errorbars&quot;),a=t(&quot;../../components/color&quot;),o=t(&quot;../scatter/fill_hover_text&quot;);e.exports=function(t,e,r,s){function l(t){return t[p]-t.w/2}function c(t){return t[p]+t.w/2}function u(t){return n.inbox(w(t)-h,M(t)-h)}function f(t){return n.inbox(t.b-d,t[m]-d)+(t[m]-d)/(t[m]-t.b)}var h,d,p,m,g,v,y=t.cd,x=y[0].trace,b=y[0].t,_=&quot;closest&quot;===s,w=_?l:function(t){return Math.min(l(t),t.p-b.bardelta/2)},M=_?c:function(t){return Math.max(c(t),t.p+b.bardelta/2)};&quot;h&quot;===x.orientation?(h=r,d=e,p=&quot;y&quot;,m=&quot;x&quot;,g=f,v=u):(h=e,d=r,p=&quot;x&quot;,m=&quot;y&quot;,v=f,g=u);var k=t[p+&quot;a&quot;],A=t[m+&quot;a&quot;],T=n.getDistanceFunction(s,g,v);if(n.getClosest(y,T,t),!1!==t.index){_||(w=function(t){return Math.min(l(t),t.p-b.bargroupwidth/2)},M=function(t){return Math.max(c(t),t.p+b.bargroupwidth/2)});var S=y[t.index],E=S.mcc||x.marker.color,L=S.mlcc||x.marker.line.color,C=S.mlw||x.marker.line.width;a.opacity(E)?t.color=E:a.opacity(L)&amp;&amp;C&amp;&amp;(t.color=L);var z=x.base?S.b+S.s:S.s;return t[m+&quot;0&quot;]=t[m+&quot;1&quot;]=A.c2p(S[m],!0),t[m+&quot;LabelVal&quot;]=z,t[p+&quot;0&quot;]=k.c2p(w(S),!0),t[p+&quot;1&quot;]=k.c2p(M(S),!0),t[p+&quot;LabelVal&quot;]=S.p,o(S,x,t),i.hoverInfo(S,x,t),[t]}}},{&quot;../../components/color&quot;:618,&quot;../../components/errorbars&quot;:649,&quot;../../components/fx&quot;:660,&quot;../scatter/fill_hover_text&quot;:1074}],887:[function(t,e,r){&quot;use strict&quot;;var n={};n.attributes=t(&quot;./attributes&quot;),n.layoutAttributes=t(&quot;./layout_attributes&quot;),n.supplyDefaults=t(&quot;./defaults&quot;),n.supplyLayoutDefaults=t(&quot;./layout_defaults&quot;),n.calc=t(&quot;./calc&quot;),n.setPositions=t(&quot;./set_positions&quot;),n.colorbar=t(&quot;../scatter/colorbar&quot;),n.arraysToCalcdata=t(&quot;./arrays_to_calcdata&quot;),n.plot=t(&quot;./plot&quot;),n.style=t(&quot;./style&quot;),n.hoverPoints=t(&quot;./hover&quot;),n.selectPoints=t(&quot;./select&quot;),n.moduleType=&quot;trace&quot;,n.name=&quot;bar&quot;,n.basePlotModule=t(&quot;../../plots/cartesian&quot;),n.categories=[&quot;cartesian&quot;,&quot;bar&quot;,&quot;oriented&quot;,&quot;markerColorscale&quot;,&quot;errorBarsOK&quot;,&quot;showLegend&quot;],n.meta={},e.exports=n},{&quot;../../plots/cartesian&quot;:800,&quot;../scatter/colorbar&quot;:1070,&quot;./arrays_to_calcdata&quot;:882,&quot;./attributes&quot;:883,&quot;./calc&quot;:884,&quot;./defaults&quot;:885,&quot;./hover&quot;:886,&quot;./layout_attributes&quot;:888,&quot;./layout_defaults&quot;:889,&quot;./plot&quot;:890,&quot;./select&quot;:891,&quot;./set_positions&quot;:892,&quot;./style&quot;:894}],888:[function(t,e,r){&quot;use strict&quot;;e.exports={barmode:{valType:&quot;enumerated&quot;,values:[&quot;stack&quot;,&quot;group&quot;,&quot;overlay&quot;,&quot;relative&quot;],dflt:&quot;group&quot;,editType:&quot;calc&quot;},barnorm:{valType:&quot;enumerated&quot;,values:[&quot;&quot;,&quot;fraction&quot;,&quot;percent&quot;],dflt:&quot;&quot;,editType:&quot;calc&quot;},bargap:{valType:&quot;number&quot;,min:0,max:1,editType:&quot;calc&quot;},bargroupgap:{valType:&quot;number&quot;,min:0,max:1,dflt:0,editType:&quot;calc&quot;}}},{}],889:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../registry&quot;),i=t(&quot;../../plots/cartesian/axes&quot;),a=t(&quot;../../lib&quot;),o=t(&quot;./layout_attributes&quot;);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=0;h&lt;r.length;h++){var d=r[h];if(n.traceIs(d,&quot;bar&quot;)){if(l=!0,&quot;overlay&quot;!==t.barmode&amp;&amp;&quot;stack&quot;!==t.barmode){var p=d.xaxis+d.yaxis;f[p]&amp;&amp;(u=!0),f[p]=!0}if(d.visible&amp;&amp;&quot;histogram&quot;===d.type){&quot;category&quot;!==i.getFromId({_fullLayout:e},d[&quot;v&quot;===d.orientation?&quot;xaxis&quot;:&quot;yaxis&quot;]).type&amp;&amp;(c=!0)}}}if(l){&quot;overlay&quot;!==s(&quot;barmode&quot;)&amp;&amp;s(&quot;barnorm&quot;),s(&quot;bargap&quot;,c&amp;&amp;!u?0:.2),s(&quot;bargroupgap&quot;)}}},{&quot;../../lib&quot;:743,&quot;../../plots/cartesian/axes&quot;:789,&quot;../../registry&quot;:873,&quot;./layout_attributes&quot;:888}],890:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,n,l,c,u,f){function d(e,r,n){return e.append(&quot;text&quot;).text(r).attr({class:&quot;bartext bartext-&quot;+m,transform:&quot;&quot;,&quot;text-anchor&quot;:&quot;middle&quot;,&quot;data-notex&quot;:1}).call(p.font,n).call(h.convertToTspans,t)}var m,g=r[0].trace,M=g.orientation,k=function(t,e){var r=o(t.text,e);return s(v,r)}(g,n);if(k&amp;&amp;&quot;none&quot;!==(m=function(t,e){var r=o(t.textposition,e);return function(t,e,r){t.coerceNumber&amp;&amp;(e=+e);return-1!==t.values.indexOf(e)?e:void 0!==r?r:t.dflt}(y,r)}(g,n))){var A,T,S,E,L=function(t,e,r){return a(x,t.textfont,e,r)}(g,n,t._fullLayout.font),C=function(t,e,r){return a(b,t.insidetextfont,e,r)}(g,n,L),z=function(t,e,r){return a(_,t.outsidetextfont,e,r)}(g,n,L),D=t._fullLayout.barmode,I=&quot;stack&quot;===D||&quot;relative&quot;===D,P=r[n],O=!I||P._outmost,F=Math.abs(c-l)-2*w,R=Math.abs(f-u)-2*w;if(&quot;outside&quot;===m&amp;&amp;(O||(m=&quot;inside&quot;)),&quot;auto&quot;===m)if(O){m=&quot;inside&quot;,A=d(e,k,C),S=(T=p.bBox(A.node())).width,E=T.height;S&gt;0&amp;&amp;E&gt;0&amp;&amp;(S&lt;=F&amp;&amp;E&lt;=R||S&lt;=R&amp;&amp;E&lt;=F||(&quot;h&quot;===M?F&gt;=S*(R/E):R&gt;=E*(F/S)))?m=&quot;inside&quot;:(m=&quot;outside&quot;,A.remove(),A=null)}else m=&quot;inside&quot;;if(!A&amp;&amp;(A=d(e,k,&quot;outside&quot;===m?z:C),T=p.bBox(A.node()),S=T.width,E=T.height,S&lt;=0||E&lt;=0))A.remove();else{var N;N=&quot;outside&quot;===m?function(t,e,r,n,a,o,s){var l,c=&quot;h&quot;===o?Math.abs(n-r):Math.abs(e-t);c&gt;2*w&amp;&amp;(l=w);var u=1;s&amp;&amp;(u=&quot;h&quot;===o?Math.min(1,c/a.height):Math.min(1,c/a.width));var f,h,d,p,m=(a.left+a.right)/2,g=(a.top+a.bottom)/2;f=u*a.width,h=u*a.height,&quot;h&quot;===o?e&lt;t?(d=e-l-f/2,p=(r+n)/2):(d=e+l+f/2,p=(r+n)/2):n&gt;r?(d=(t+e)/2,p=n+l+h/2):(d=(t+e)/2,p=n-l-h/2);return i(m,g,d,p,u,!1)}(l,c,u,f,T,M,&quot;both&quot;===g.constraintext||&quot;outside&quot;===g.constraintext):function(t,e,r,n,a,o,s){var l,c,u,f,h,d=a.width,p=a.height,m=(a.left+a.right)/2,g=(a.top+a.bottom)/2,v=Math.abs(e-t),y=Math.abs(n-r);v&gt;2*w&amp;&amp;y&gt;2*w?(v-=2*(h=w),y-=2*h):h=0;var x,b;d&lt;=v&amp;&amp;p&lt;=y?(x=!1,b=1):d&lt;=y&amp;&amp;p&lt;=v?(x=!0,b=1):d&lt;p==v&lt;y?(x=!1,b=s?Math.min(v/d,y/p):1):(x=!0,b=s?Math.min(y/d,v/p):1);x&amp;&amp;(x=90);x?(l=b*p,c=b*d):(l=b*d,c=b*p);&quot;h&quot;===o?e&lt;t?(u=e+h+l/2,f=(r+n)/2):(u=e-h-l/2,f=(r+n)/2):n&gt;r?(u=(t+e)/2,f=n-h-c/2):(u=(t+e)/2,f=n+h+c/2);return i(m,g,u,f,b,x)}(l,c,u,f,T,M,&quot;both&quot;===g.constraintext||&quot;inside&quot;===g.constraintext),A.attr(&quot;transform&quot;,N)}}}function i(t,e,r,n,i,a){var o;i&lt;1?o=&quot;scale(&quot;+i+&quot;) &quot;:(i=1,o=&quot;&quot;);return&quot;translate(&quot;+(r-i*t)+&quot; &quot;+(n-i*e)+&quot;)&quot;+o+(a?&quot;rotate(&quot;+a+&quot; &quot;+t+&quot; &quot;+e+&quot;) &quot;:&quot;&quot;)}function a(t,e,r,n){var i=o((e=e||{}).family,r),a=o(e.size,r),l=o(e.color,r);return{family:s(t.family,i,n.family),size:function(t,e,r){if(c(e)){e=+e;var n=t.min,i=t.max,a=void 0!==n&amp;&amp;e&lt;n||void 0!==i&amp;&amp;e&gt;i;if(!a)return e}return void 0!==r?r:t.dflt}(t.size,a,n.size),color:function(t,e,r){return u(e).isValid()?e:void 0!==r?r:t.dflt}(t.color,l,n.color)}}function o(t,e){var r;return Array.isArray(t)?e&lt;t.length&amp;&amp;(r=t[e]):r=t,r}function s(t,e,r){if(&quot;string&quot;==typeof e){if(e||!t.noBlank)return e}else if(&quot;number&quot;==typeof e&amp;&amp;!t.strict)return String(e);return void 0!==r?r:t.dflt}var l=t(&quot;d3&quot;),c=t(&quot;fast-isnumeric&quot;),u=t(&quot;tinycolor2&quot;),f=t(&quot;../../lib&quot;),h=t(&quot;../../lib/svg_text_utils&quot;),d=t(&quot;../../components/color&quot;),p=t(&quot;../../components/drawing&quot;),m=t(&quot;../../components/errorbars&quot;),g=t(&quot;./attributes&quot;),v=g.text,y=g.textposition,x=g.textfont,b=g.insidetextfont,_=g.outsidetextfont,w=3;e.exports=function(t,e,r){var i=e.xaxis,a=e.yaxis,o=t._fullLayout,s=e.plot.select(&quot;.barlayer&quot;).selectAll(&quot;g.trace.bars&quot;).data(r);s.enter().append(&quot;g&quot;).attr(&quot;class&quot;,&quot;trace bars&quot;),s.each(function(t){t[0].node3=l.select(this)}),s.append(&quot;g&quot;).attr(&quot;class&quot;,&quot;points&quot;).each(function(e){var r=l.select(this),s=e[0].t,u=e[0].trace,h=s.poffset,p=Array.isArray(h);r.selectAll(&quot;g.point&quot;).data(f.identity).enter().append(&quot;g&quot;).classed(&quot;point&quot;,!0).each(function(r,s){function f(t){return 0===o.bargap&amp;&amp;0===o.bargroupgap?l.round(Math.round(t)-k,2):t}var m,g,v,y,x=r.p+(p?h[s]:h),b=x+r.w,_=r.b,w=_+r.s;if(&quot;h&quot;===u.orientation?(v=a.c2p(x,!0),y=a.c2p(b,!0),m=i.c2p(_,!0),g=i.c2p(w,!0),r.ct=[g,(v+y)/2]):(m=i.c2p(x,!0),g=i.c2p(b,!0),v=a.c2p(_,!0),y=a.c2p(w,!0),r.ct=[(m+g)/2,y]),c(m)&amp;&amp;c(g)&amp;&amp;c(v)&amp;&amp;c(y)&amp;&amp;m!==g&amp;&amp;v!==y){var M=(r.mlw+1||u.marker.line.width+1||(r.trace?r.trace.marker.line.width:0)+1)-1,k=l.round(M/2%1,2);if(!t._context.staticPlot){var A=d.opacity(r.mc||u.marker.color)&lt;1||M&gt;.01?f:function(t,e){return Math.abs(t-e)&gt;=2?f(t):t&gt;e?Math.ceil(t):Math.floor(t)};g=A(g,m=A(m,g)),y=A(y,v=A(v,y))}var T=l.select(this);T.append(&quot;path&quot;).style(&quot;vector-effect&quot;,&quot;non-scaling-stroke&quot;).attr(&quot;d&quot;,&quot;M&quot;+m+&quot;,&quot;+v+&quot;V&quot;+y+&quot;H&quot;+g+&quot;V&quot;+v+&quot;Z&quot;),n(t,T,e,s,m,g,v,y)}else l.select(this).remove()})}),s.call(m.plot,e)}},{&quot;../../components/color&quot;:618,&quot;../../components/drawing&quot;:643,&quot;../../components/errorbars&quot;:649,&quot;../../lib&quot;:743,&quot;../../lib/svg_text_utils&quot;:766,&quot;./attributes&quot;:883,d3:128,&quot;fast-isnumeric&quot;:140,tinycolor2:546}],891:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t,e){var r,n=t.cd,i=t.xaxis,a=t.yaxis,o=[];if(!1===e)for(r=0;r&lt;n.length;r++)n[r].selected=0;else for(r=0;r&lt;n.length;r++){var s=n[r];e.contains(s.ct)?(o.push({pointNumber:r,x:i.c2d(s.x),y:a.c2d(s.y)}),s.selected=1):s.selected=0}return o}},{}],892:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,n){if(n.length){var g,x,b,_,w=t._fullLayout.barmode,M=&quot;group&quot;===w;if(&quot;overlay&quot;===w)i(t,e,r,n);else if(M){for(g=[],x=[],b=0;b&lt;n.length;b++)void 0===(_=n[b])[0].trace.offset?x.push(_):g.push(_);x.length&amp;&amp;function(t,e,r,n){var i=t._fullLayout.barnorm,a=new y(n,!1,!i);(function(t,e,r){var n,i,a,c,u=t._fullLayout,f=u.bargap,h=u.bargroupgap,d=r.positions,p=r.distinctPositions,m=r.minDiff,g=r.traces,v=d.length!==p.length,y=g.length,x=m*(1-f),b=v?x/y:x,_=b*(1-h);for(n=0;n&lt;y;n++){i=g[n],a=i[0];var w=v?((2*n+1-y)*b-_)/2:-_/2;(c=a.t).barwidth=_,c.poffset=w,c.bargroupwidth=x,c.bardelta=m}r.binWidth=g[0][0].t.barwidth/100,o(r),s(t,e,r),l(t,e,r,v)})(t,e,a),i?(f(t,r,a),h(t,r,a)):u(t,r,a)}(t,e,r,x),g.length&amp;&amp;i(t,e,r,g)}else{for(g=[],x=[],b=0;b&lt;n.length;b++)void 0===(_=n[b])[0].trace.base?x.push(_):g.push(_);x.length&amp;&amp;function(t,e,r,n){var i=t._fullLayout.barmode,o=&quot;stack&quot;===i,s=&quot;relative&quot;===i,l=t._fullLayout.barnorm,u=new y(n,s,!(l||o||s));a(t,e,u),function(t,e,r){var n,i,a,o,s=t._fullLayout.barnorm,l=d(e),u=r.traces,f=[null,null];for(n=0;n&lt;u.length;n++)for(i=u[n],a=0;a&lt;i.length;a++)if((o=i[a]).s!==m){var h=r.put(o.p,o.b+o.s),g=h+o.b+o.s;o.b=h,o[l]=g,s||(p(e.c2l(g))&amp;&amp;c(f,g),o.hasB&amp;&amp;p(e.c2l(h))&amp;&amp;c(f,h))}s||v.expand(e,f,{tozero:!0,padded:!0})}(t,r,u);for(var f=0;f&lt;n.length;f++)for(var g=n[f],x=0;x&lt;g.length;x++){var b=g[x];if(b.s!==m){var _=b.b+b.s===u.get(b.p,b.s);_&amp;&amp;(b._outmost=!0)}}l&amp;&amp;h(t,r,u)}(t,e,r,x),g.length&amp;&amp;i(t,e,r,g)}}}function i(t,e,r,n){for(var i=t._fullLayout.barnorm,o=!i,s=0;s&lt;n.length;s++){var l=n[s],c=new y([l],!1,o);a(t,e,c),i?(f(t,r,c),h(t,r,c)):u(t,r,c)}}function a(t,e,r){var n,i,a=t._fullLayout,c=a.bargap,u=a.bargroupgap,f=r.minDiff,h=r.traces,d=f*(1-c),p=d*(1-u),m=-p/2;for(n=0;n&lt;h.length;n++)(i=h[n][0].t).barwidth=p,i.poffset=m,i.bargroupwidth=d,i.bardelta=f;r.binWidth=h[0][0].t.barwidth/100,o(r),s(t,e,r),l(t,e,r)}function o(t){var e,r,n,i,a,o,s=t.traces;for(e=0;e&lt;s.length;e++){i=(n=(r=s[e])[0]).trace,o=n.t;var l,c=i.offset,u=o.poffset;if(Array.isArray(c)){for(l=c.slice(0,r.length),a=0;a&lt;l.length;a++)p(l[a])||(l[a]=u);for(a=l.length;a&lt;r.length;a++)l.push(u);o.poffset=l}else void 0!==c&amp;&amp;(o.poffset=c);var f=i.width,h=o.barwidth;if(Array.isArray(f)){var d=f.slice(0,r.length);for(a=0;a&lt;d.length;a++)p(d[a])||(d[a]=h);for(a=d.length;a&lt;r.length;a++)d.push(h);if(o.barwidth=d,void 0===c){for(l=[],a=0;a&lt;r.length;a++)l.push(u+(h-d[a])/2);o.poffset=l}}else void 0!==f&amp;&amp;(o.barwidth=f,void 0===c&amp;&amp;(o.poffset=u+(h-f)/2))}}function s(t,e,r){for(var n=r.traces,i=d(e),a=0;a&lt;n.length;a++)for(var o=n[a],s=o[0].t,l=s.poffset,c=Array.isArray(l),u=s.barwidth,f=Array.isArray(u),h=0;h&lt;o.length;h++){var p=o[h],m=p.w=f?u[h]:u;p[i]=p.p+(c?l[h]:l)+m/2}}function l(t,e,r,n){var i=r.traces,a=r.distinctPositions,o=a[0],s=r.minDiff,l=s/2;v.minDtick(e,s,o,n);for(var c=Math.min.apply(Math,a)-l,u=Math.max.apply(Math,a)+l,f=0;f&lt;i.length;f++){var h=i[f],d=h[0],p=d.trace;if(void 0!==p.width||void 0!==p.offset)for(var m=d.t,g=m.poffset,y=m.barwidth,x=Array.isArray(g),b=Array.isArray(y),_=0;_&lt;h.length;_++){var w=h[_],M=x?g[_]:g,k=b?y[_]:y,A=w.p+M,T=A+k;c=Math.min(c,A),u=Math.max(u,T)}}v.expand(e,[c,u],{padded:!1})}function c(t,e){p(t[0])?t[0]=Math.min(t[0],e):t[0]=e,p(t[1])?t[1]=Math.max(t[1],e):t[1]=e}function u(t,e,r){for(var n=r.traces,i=d(e),a=[null,null],o=0;o&lt;n.length;o++)for(var s=n[o],l=0;l&lt;s.length;l++){var u=s[l],f=u.b,h=f+u.s;u[i]=h,p(e.c2l(h))&amp;&amp;c(a,h),u.hasB&amp;&amp;p(e.c2l(f))&amp;&amp;c(a,f)}v.expand(e,a,{tozero:!0,padded:!0})}function f(t,e,r){for(var n=r.traces,i=0;i&lt;n.length;i++)for(var a=n[i],o=0;o&lt;a.length;o++){var s=a[o];s.s!==m&amp;&amp;r.put(s.p,s.b+s.s)}}function h(t,e,r){function n(t){p(e.c2l(t))&amp;&amp;(t&lt;l-s||t&gt;u+s||!p(l))&amp;&amp;(h=!0,c(f,t))}for(var i=r.traces,a=d(e),o=&quot;fraction&quot;===t._fullLayout.barnorm?1:100,s=o/1e9,l=e.l2c(e.c2l(0)),u=&quot;stack&quot;===t._fullLayout.barmode?o:l,f=[l,u],h=!1,g=0;g&lt;i.length;g++)for(var y=i[g],x=0;x&lt;y.length;x++){var b=y[x];if(b.s!==m){var _=Math.abs(o/r.get(b.p,b.s));b.b*=_,b.s*=_;var w=b.b,M=w+b.s;b[a]=M,n(M),b.hasB&amp;&amp;n(w)}}v.expand(e,f,{tozero:!0,padded:h})}function d(t){return t._id.charAt(0)}var p=t(&quot;fast-isnumeric&quot;),m=t(&quot;../../constants/numerical&quot;).BADNUM,g=t(&quot;../../registry&quot;),v=t(&quot;../../plots/cartesian/axes&quot;),y=t(&quot;./sieve.js&quot;);e.exports=function(t,e){var r,i=e.xaxis,a=e.yaxis,o=t._fullData,s=t.calcdata,l=[],c=[];for(r=0;r&lt;o.length;r++){var u=o[r];!0===u.visible&amp;&amp;g.traceIs(u,&quot;bar&quot;)&amp;&amp;u.xaxis===i._id&amp;&amp;u.yaxis===a._id&amp;&amp;(&quot;h&quot;===u.orientation?l.push(s[r]):c.push(s[r]))}n(t,i,a,c),n(t,a,i,l)}},{&quot;../../constants/numerical&quot;:721,&quot;../../plots/cartesian/axes&quot;:789,&quot;../../registry&quot;:873,&quot;./sieve.js&quot;:893,&quot;fast-isnumeric&quot;:140}],893:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r){this.traces=t,this.separateNegativeValues=e,this.dontMergeOverlappingData=r;for(var n=1/0,o=[],s=0;s&lt;t.length;s++){for(var l=t[s],c=0;c&lt;l.length;c++){var u=l[c];u.p!==a&amp;&amp;o.push(u.p)}l[0]&amp;&amp;l[0].width1&amp;&amp;(n=Math.min(l[0].width1,n))}this.positions=o;var f=i.distinctVals(o);this.distinctPositions=f.vals,1===f.vals.length&amp;&amp;n!==1/0?this.minDiff=n:this.minDiff=Math.min(f.minDiff,n),this.binWidth=this.minDiff,this.bins={}}e.exports=n;var i=t(&quot;../../lib&quot;),a=t(&quot;../../constants/numerical&quot;).BADNUM;n.prototype.put=function(t,e){var r=this.getLabel(t,e),n=this.bins[r]||0;return this.bins[r]=n+e,n},n.prototype.get=function(t,e){var r=this.getLabel(t,e);return this.bins[r]||0},n.prototype.getLabel=function(t,e){return(e&lt;0&amp;&amp;this.separateNegativeValues?&quot;v&quot;:&quot;^&quot;)+(this.dontMergeOverlappingData?t:Math.round(t/this.binWidth))}},{&quot;../../constants/numerical&quot;:721,&quot;../../lib&quot;:743}],894:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;d3&quot;),i=t(&quot;../../components/drawing&quot;),a=t(&quot;../../components/errorbars&quot;);e.exports=function(t,e){var r=e?e[0].node3:n.select(t).selectAll(&quot;g.trace.bars&quot;),o=r.size(),s=t._fullLayout;r.style(&quot;opacity&quot;,function(t){return t[0].trace.opacity}).each(function(t){(&quot;stack&quot;===s.barmode&amp;&amp;o&gt;1||0===s.bargap&amp;&amp;0===s.bargroupgap&amp;&amp;!t[0].trace.marker.line.width)&amp;&amp;n.select(this).attr(&quot;shape-rendering&quot;,&quot;crispEdges&quot;)}),r.selectAll(&quot;g.points&quot;).each(function(e){var r=n.select(this),a=r.selectAll(&quot;path&quot;),o=r.selectAll(&quot;text&quot;),s=e[0].trace;i.pointStyle(a,s,t),i.selectedPointStyle(a,s),o.each(function(t){function e(e){var n=r[e];return Array.isArray(n)?n[t.i]:n}var r,a=n.select(this);a.classed(&quot;bartext-inside&quot;)?r=s.insidetextfont:a.classed(&quot;bartext-outside&quot;)&amp;&amp;(r=s.outsidetextfont),r||(r=s.textfont),i.font(a,e(&quot;family&quot;),e(&quot;size&quot;),e(&quot;color&quot;))}),i.selectedTextStyle(o,s)}),a.style(r)}},{&quot;../../components/drawing&quot;:643,&quot;../../components/errorbars&quot;:649,d3:128}],895:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../components/color&quot;),i=t(&quot;../../components/colorscale/has_colorscale&quot;),a=t(&quot;../../components/colorscale/defaults&quot;);e.exports=function(t,e,r,o,s){r(&quot;marker.color&quot;,o),i(t,&quot;marker&quot;)&amp;&amp;a(t,e,s,r,{prefix:&quot;marker.&quot;,cLetter:&quot;c&quot;}),r(&quot;marker.line.color&quot;,n.defaultLine),i(t,&quot;marker.line&quot;)&amp;&amp;a(t,e,s,r,{prefix:&quot;marker.line.&quot;,cLetter:&quot;c&quot;}),r(&quot;marker.line.width&quot;),r(&quot;marker.opacity&quot;),r(&quot;selected.marker.color&quot;),r(&quot;unselected.marker.color&quot;)}},{&quot;../../components/color&quot;:618,&quot;../../components/colorscale/defaults&quot;:628,&quot;../../components/colorscale/has_colorscale&quot;:632}],896:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../scatter/attributes&quot;),i=t(&quot;../../components/color/attributes&quot;),a=t(&quot;../../lib/extend&quot;).extendFlat,o=n.marker,s=o.line;e.exports={y:{valType:&quot;data_array&quot;,editType:&quot;calc+clearAxisTypes&quot;},x:{valType:&quot;data_array&quot;,editType:&quot;calc+clearAxisTypes&quot;},x0:{valType:&quot;any&quot;,editType:&quot;calc+clearAxisTypes&quot;},y0:{valType:&quot;any&quot;,editType:&quot;calc+clearAxisTypes&quot;},name:{valType:&quot;string&quot;,editType:&quot;calc+clearAxisTypes&quot;},text:a({},n.text,{}),whiskerwidth:{valType:&quot;number&quot;,min:0,max:1,dflt:.5,editType:&quot;calcIfAutorange&quot;},boxpoints:{valType:&quot;enumerated&quot;,values:[&quot;all&quot;,&quot;outliers&quot;,&quot;suspectedoutliers&quot;,!1],dflt:&quot;outliers&quot;,editType:&quot;calcIfAutorange&quot;},boxmean:{valType:&quot;enumerated&quot;,values:[!0,&quot;sd&quot;,!1],dflt:!1,editType:&quot;calcIfAutorange&quot;},jitter:{valType:&quot;number&quot;,min:0,max:1,editType:&quot;calcIfAutorange&quot;},pointpos:{valType:&quot;number&quot;,min:-2,max:2,editType:&quot;calcIfAutorange&quot;},orientation:{valType:&quot;enumerated&quot;,values:[&quot;v&quot;,&quot;h&quot;],editType:&quot;calc+clearAxisTypes&quot;},marker:{outliercolor:{valType:&quot;color&quot;,dflt:&quot;rgba(0, 0, 0, 0)&quot;,editType:&quot;style&quot;},symbol:a({},o.symbol,{arrayOk:!1,editType:&quot;plot&quot;}),opacity:a({},o.opacity,{arrayOk:!1,dflt:1,editType:&quot;style&quot;}),size:a({},o.size,{arrayOk:!1,editType:&quot;calcIfAutorange&quot;}),color:a({},o.color,{arrayOk:!1,editType:&quot;style&quot;}),line:{color:a({},s.color,{arrayOk:!1,dflt:i.defaultLine,editType:&quot;style&quot;}),width:a({},s.width,{arrayOk:!1,dflt:0,editType:&quot;style&quot;}),outliercolor:{valType:&quot;color&quot;,editType:&quot;style&quot;},outlierwidth:{valType:&quot;number&quot;,min:0,dflt:1,editType:&quot;style&quot;},editType:&quot;style&quot;},editType:&quot;plot&quot;},line:{color:{valType:&quot;color&quot;,editType:&quot;style&quot;},width:{valType:&quot;number&quot;,min:0,dflt:2,editType:&quot;style&quot;},editType:&quot;plot&quot;},fillcolor:n.fillcolor,selected:{marker:n.selected.marker,editType:&quot;style&quot;},unselected:{marker:n.unselected.marker,editType:&quot;style&quot;},hoveron:{valType:&quot;flaglist&quot;,flags:[&quot;boxes&quot;,&quot;points&quot;],dflt:&quot;boxes+points&quot;,editType:&quot;style&quot;}}},{&quot;../../components/color/attributes&quot;:617,&quot;../../lib/extend&quot;:732,&quot;../scatter/attributes&quot;:1066}],897:[function(t,e,r){&quot;use strict&quot;;function n(t,e){return t.v-e.v}function i(t){return t.v}var a=t(&quot;fast-isnumeric&quot;),o=t(&quot;../../lib&quot;),s=o._,l=t(&quot;../../plots/cartesian/axes&quot;);e.exports=function(t,e){var r,c,u,f,h,d=t._fullLayout,p=l.getFromId(t,e.xaxis||&quot;x&quot;),m=l.getFromId(t,e.yaxis||&quot;y&quot;),g=[],v=&quot;violin&quot;===e.type?&quot;_numViolins&quot;:&quot;_numBoxes&quot;;&quot;h&quot;===e.orientation?(c=p,u=&quot;x&quot;,f=m,h=&quot;y&quot;):(c=m,u=&quot;y&quot;,f=p,h=&quot;x&quot;);var y=c.makeCalcdata(e,u),x=function(t,e,r,n,i){if(e in t)return r.makeCalcdata(t,e);var s;s=e+&quot;0&quot;in t?t[e+&quot;0&quot;]:&quot;name&quot;in t&amp;&amp;(&quot;category&quot;===r.type||a(t.name)&amp;&amp;-1!==[&quot;linear&quot;,&quot;log&quot;].indexOf(r.type)||o.isDateTime(t.name)&amp;&amp;&quot;date&quot;===r.type)?t.name:i;var l=r.d2c(s,0,t[e+&quot;calendar&quot;]);return n.map(function(){return l})}(e,h,f,y,d[v]),b=o.distinctVals(x),_=b.vals,w=b.minDiff/2,M=function(t,e){for(var r=t.length,n=new Array(r+1),i=0;i&lt;r;i++)n[i]=t[i]-e;return n[r]=t[r-1]+e,n}(_,w),k=y.length,A=_.length,T=function(t){for(var e=new Array(t),r=0;r&lt;t;r++)e[r]=[];return e}(A);for(r=0;r&lt;k;r++){var S=y[r];if(a(S)){var E=o.findBin(x[r],M);if(E&gt;=0&amp;&amp;E&lt;A){var L={v:S,i:r};!function(t,e,r){var n={text:&quot;tx&quot;};for(var i in n)Array.isArray(e[i])&amp;&amp;(t[n[i]]=e[i][r])}(L,e,r),T[E].push(L)}}}for(r=0;r&lt;A;r++)if(T[r].length&gt;0){var C=T[r].sort(n),z=C.map(i),D=z.length,I={pos:_[r],pts:C};I.min=z[0],I.max=z[D-1],I.mean=o.mean(z,D),I.sd=o.stdev(z,D,I.mean),I.q1=o.interp(z,.25),I.med=o.interp(z,.5),I.q3=o.interp(z,.75),I.lf=Math.min(I.q1,z[Math.min(o.findBin(2.5*I.q1-1.5*I.q3,z,!0)+1,D-1)]),I.uf=Math.max(I.q3,z[Math.max(o.findBin(2.5*I.q3-1.5*I.q1,z),0)]),I.lo=4*I.q1-3*I.q3,I.uo=4*I.q3-3*I.q1,g.push(I)}return function(t,e){if(Array.isArray(e.selectedpoints))for(var r=0;r&lt;t.length;r++){for(var n=t[r].pts||[],i={},a=0;a&lt;n.length;a++)i[n[a].i]=a;o.tagSelected(n,e,i)}}(g,e),l.expand(c,y,{padded:!0}),g.length&gt;0?(g[0].t={num:d[v],dPos:w,posLetter:h,valLetter:u,labels:{med:s(t,&quot;median:&quot;),min:s(t,&quot;min:&quot;),q1:s(t,&quot;q1:&quot;),q3:s(t,&quot;q3:&quot;),max:s(t,&quot;max:&quot;),mean:&quot;sd&quot;===e.boxmean?s(t,&quot;mean \xb1 \u03c3:&quot;):s(t,&quot;mean:&quot;),lf:s(t,&quot;lower fence:&quot;),uf:s(t,&quot;upper fence:&quot;)}},e._fullInput&amp;&amp;&quot;candlestick&quot;===e._fullInput.type&amp;&amp;delete g[0].t.labels,d[v]++,g):[{t:{empty:!0}}]}},{&quot;../../lib&quot;:743,&quot;../../plots/cartesian/axes&quot;:789,&quot;fast-isnumeric&quot;:140}],898:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,n){var i,a=r(&quot;y&quot;),s=r(&quot;x&quot;);if(a&amp;&amp;a.length)i=&quot;v&quot;,s||r(&quot;x0&quot;);else{if(!s||!s.length)return void(e.visible=!1);i=&quot;h&quot;,r(&quot;y0&quot;)}o.getComponentMethod(&quot;calendars&quot;,&quot;handleTraceDefaults&quot;)(t,e,[&quot;x&quot;,&quot;y&quot;],n),r(&quot;orientation&quot;,i)}function i(t,e,r,n){var i=n.prefix,o=a.coerce2(t,e,l,&quot;marker.outliercolor&quot;),s=r(&quot;marker.line.outliercolor&quot;),c=r(i+&quot;points&quot;,o||s?&quot;suspectedoutliers&quot;:void 0);c?(r(&quot;jitter&quot;,&quot;all&quot;===c?.3:0),r(&quot;pointpos&quot;,&quot;all&quot;===c?-1.5:0),r(&quot;marker.symbol&quot;),r(&quot;marker.opacity&quot;),r(&quot;marker.size&quot;),r(&quot;marker.color&quot;,e.line.color),r(&quot;marker.line.color&quot;),r(&quot;marker.line.width&quot;),&quot;suspectedoutliers&quot;===c&amp;&amp;(r(&quot;marker.line.outliercolor&quot;,e.marker.color),r(&quot;marker.line.outlierwidth&quot;)),r(&quot;selected.marker.color&quot;),r(&quot;unselected.marker.color&quot;),r(&quot;selected.marker.size&quot;),r(&quot;unselected.marker.size&quot;),r(&quot;text&quot;)):delete e.marker,r(&quot;hoveron&quot;),a.coerceSelectionMarkerOpacity(e,r)}var a=t(&quot;../../lib&quot;),o=t(&quot;../../registry&quot;),s=t(&quot;../../components/color&quot;),l=t(&quot;./attributes&quot;);e.exports={supplyDefaults:function(t,e,r,o){function c(r,n){return a.coerce(t,e,l,r,n)}n(t,e,c,o),!1!==e.visible&amp;&amp;(c(&quot;line.color&quot;,(t.marker||{}).color||r),c(&quot;line.width&quot;),c(&quot;fillcolor&quot;,s.addOpacity(e.line.color,.5)),c(&quot;whiskerwidth&quot;),c(&quot;boxmean&quot;),i(t,e,c,{prefix:&quot;box&quot;}))},handleSampleDefaults:n,handlePointsDefaults:i}},{&quot;../../components/color&quot;:618,&quot;../../lib&quot;:743,&quot;../../registry&quot;:873,&quot;./attributes&quot;:896}],899:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,n){var i,c,u,f,h,d,p,m,g,v=t.cd,y=t.xa,x=t.ya,b=v[0].trace,_=v[0].t,w=&quot;violin&quot;===b.type,M=[],k=&quot;closest&quot;!==n||w?_.bdPos:2.5*_.bdPos,A=function(t){return t.pos+_.bPos-d};w&amp;&amp;&quot;both&quot;!==b.side?(&quot;positive&quot;===b.side&amp;&amp;(g=function(t){var e=A(t);return s.inbox(e,e+k)}),&quot;negative&quot;===b.side&amp;&amp;(g=function(t){var e=A(t);return s.inbox(e-k,e)})):g=function(t){var e=A(t);return s.inbox(e-k,e+k)};var T;T=w?function(t){return s.inbox(t.span[0]-h,t.span[1]-h)}:function(t){return s.inbox(t.min-h,t.max-h)},&quot;h&quot;===b.orientation?(h=e,d=r,p=T,m=g,i=&quot;y&quot;,u=x,c=&quot;x&quot;,f=y):(h=r,d=e,p=g,m=T,i=&quot;x&quot;,u=y,c=&quot;y&quot;,f=x);var S=s.getDistanceFunction(n,p,m);if(s.getClosest(v,S,t),!1===t.index)return[];var E=v[t.index],L=b.line.color,C=(b.marker||{}).color;l.opacity(L)&amp;&amp;b.line.width?t.color=L:l.opacity(C)&amp;&amp;b.boxpoints?t.color=C:t.color=b.fillcolor,t[i+&quot;0&quot;]=u.c2p(E.pos+_.bPos-_.bdPos,!0),t[i+&quot;1&quot;]=u.c2p(E.pos+_.bPos+_.bdPos,!0),a.tickText(u,u.c2l(E.pos),&quot;hover&quot;).text,t[i+&quot;LabelVal&quot;]=E.pos;var z={},D=[&quot;med&quot;,&quot;min&quot;,&quot;q1&quot;,&quot;q3&quot;,&quot;max&quot;];(b.boxmean||(b.meanline||{}).visible)&amp;&amp;D.push(&quot;mean&quot;),(b.boxpoints||b.points)&amp;&amp;D.push(&quot;lf&quot;,&quot;uf&quot;);for(var I=0;I&lt;D.length;I++){var P=D[I];if(P in E&amp;&amp;!(E[P]in z)){z[E[P]]=!0;var O=E[P],F=f.c2p(O,!0),R=o.extendFlat({},t);R[c+&quot;0&quot;]=R[c+&quot;1&quot;]=F,R[c+&quot;LabelVal&quot;]=O,R[c+&quot;Label&quot;]=(_.labels?_.labels[P]+&quot; &quot;:&quot;&quot;)+a.hoverLabelText(f,O),&quot;mean&quot;===P&amp;&amp;&quot;sd&quot;in E&amp;&amp;&quot;sd&quot;===b.boxmean&amp;&amp;(R[c+&quot;err&quot;]=E.sd),t.name=&quot;&quot;,M.push(R)}}return M}function i(t,e,r){for(var n,i,a,l=t.cd,u=t.xa,f=t.ya,h=l[0].trace,d=u.c2p(e),p=f.c2p(r),m=s.quadrature(function(t){var e=Math.max(3,t.mrc||0);return Math.max(Math.abs(u.c2p(t.x)-d)-e,1-3/e)},function(t){var e=Math.max(3,t.mrc||0);return Math.max(Math.abs(f.c2p(t.y)-p)-e,1-3/e)}),g=!1,v=0;v&lt;l.length;v++){i=l[v];for(var y=0;y&lt;(i.pts||[]).length;y++){var x=m(a=i.pts[y]);x&lt;=t.distance&amp;&amp;(t.distance=x,g=[v,y])}}if(!g)return!1;a=(i=l[g[0]]).pts[g[1]];var b=u.c2p(a.x,!0),_=f.c2p(a.y,!0),w=a.mrc||1;return n=o.extendFlat({},t,{index:a.i,color:(h.marker||{}).color,name:h.name,x0:b-w,x1:b+w,xLabelVal:a.x,y0:_-w,y1:_+w,yLabelVal:a.y}),c(a,h,n),n}var a=t(&quot;../../plots/cartesian/axes&quot;),o=t(&quot;../../lib&quot;),s=t(&quot;../../components/fx&quot;),l=t(&quot;../../components/color&quot;),c=t(&quot;../scatter/fill_hover_text&quot;);e.exports={hoverPoints:function(t,e,r,a){var o,s=t.cd[0].trace.hoveron,l=[];return-1!==s.indexOf(&quot;boxes&quot;)&amp;&amp;(l=l.concat(n(t,e,r,a))),-1!==s.indexOf(&quot;points&quot;)&amp;&amp;(o=i(t,e,r)),&quot;closest&quot;===a?o?[o]:l:o?(l.push(o),l):l},hoverOnBoxes:n,hoverOnPoints:i}},{&quot;../../components/color&quot;:618,&quot;../../components/fx&quot;:660,&quot;../../lib&quot;:743,&quot;../../plots/cartesian/axes&quot;:789,&quot;../scatter/fill_hover_text&quot;:1074}],900:[function(t,e,r){&quot;use strict&quot;;var n={};n.attributes=t(&quot;./attributes&quot;),n.layoutAttributes=t(&quot;./layout_attributes&quot;),n.supplyDefaults=t(&quot;./defaults&quot;).supplyDefaults,n.supplyLayoutDefaults=t(&quot;./layout_defaults&quot;).supplyLayoutDefaults,n.calc=t(&quot;./calc&quot;),n.setPositions=t(&quot;./set_positions&quot;).setPositions,n.plot=t(&quot;./plot&quot;).plot,n.style=t(&quot;./style&quot;),n.hoverPoints=t(&quot;./hover&quot;).hoverPoints,n.selectPoints=t(&quot;./select&quot;),n.moduleType=&quot;trace&quot;,n.name=&quot;box&quot;,n.basePlotModule=t(&quot;../../plots/cartesian&quot;),n.categories=[&quot;cartesian&quot;,&quot;symbols&quot;,&quot;oriented&quot;,&quot;box-violin&quot;,&quot;showLegend&quot;],n.meta={},e.exports=n},{&quot;../../plots/cartesian&quot;:800,&quot;./attributes&quot;:896,&quot;./calc&quot;:897,&quot;./defaults&quot;:898,&quot;./hover&quot;:899,&quot;./layout_attributes&quot;:901,&quot;./layout_defaults&quot;:902,&quot;./plot&quot;:903,&quot;./select&quot;:904,&quot;./set_positions&quot;:905,&quot;./style&quot;:906}],901:[function(t,e,r){&quot;use strict&quot;;e.exports={boxmode:{valType:&quot;enumerated&quot;,values:[&quot;group&quot;,&quot;overlay&quot;],dflt:&quot;overlay&quot;,editType:&quot;calc&quot;},boxgap:{valType:&quot;number&quot;,min:0,max:1,dflt:.3,editType:&quot;calc&quot;},boxgroupgap:{valType:&quot;number&quot;,min:0,max:1,dflt:.3,editType:&quot;calc&quot;}}},{}],902:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,n,i){for(var a,o=0;o&lt;r.length;o++)if(r[o].type===i){a=!0;break}a&amp;&amp;(n(i+&quot;mode&quot;),n(i+&quot;gap&quot;),n(i+&quot;groupgap&quot;))}var i=t(&quot;../../lib&quot;),a=t(&quot;./layout_attributes&quot;);e.exports={supplyLayoutDefaults:function(t,e,r){n(0,0,r,function(r,n){return i.coerce(t,e,a,r,n)},&quot;box&quot;)},_supply:n}},{&quot;../../lib&quot;:743,&quot;./layout_attributes&quot;:901}],903:[function(t,e,r){&quot;use strict&quot;;function n(){var t=u;return u=(69069*u+1)%4294967296,Math.abs(u-t)&lt;429496729?n():u/4294967296}function i(t,e,r,n){var i,a,o=e.pos,c=e.val,u=n.bPos,f=n.wdPos||0,h=n.bPosPxOffset||0,d=r.whiskerwidth||0;Array.isArray(n.bdPos)?(i=n.bdPos[0],a=n.bdPos[1]):(i=n.bdPos,a=n.bdPos),t.selectAll(&quot;path.box&quot;).data(l.identity).enter().append(&quot;path&quot;).style(&quot;vector-effect&quot;,&quot;non-scaling-stroke&quot;).attr(&quot;class&quot;,&quot;box&quot;).each(function(t){var e=t.pos,n=o.c2p(e+u,!0)+h,p=o.c2p(e+u-i,!0)+h,m=o.c2p(e+u+a,!0)+h,g=o.c2p(e+u-f,!0)+h,v=o.c2p(e+u+f,!0)+h,y=c.c2p(t.q1,!0),x=c.c2p(t.q3,!0),b=l.constrain(c.c2p(t.med,!0),Math.min(y,x)+1,Math.max(y,x)-1),_=c.c2p(!1===r.boxpoints?t.min:t.lf,!0),w=c.c2p(!1===r.boxpoints?t.max:t.uf,!0);&quot;h&quot;===r.orientation?s.select(this).attr(&quot;d&quot;,&quot;M&quot;+b+&quot;,&quot;+p+&quot;V&quot;+m+&quot;M&quot;+y+&quot;,&quot;+p+&quot;V&quot;+m+&quot;H&quot;+x+&quot;V&quot;+p+&quot;ZM&quot;+y+&quot;,&quot;+n+&quot;H&quot;+_+&quot;M&quot;+x+&quot;,&quot;+n+&quot;H&quot;+w+(0===d?&quot;&quot;:&quot;M&quot;+_+&quot;,&quot;+g+&quot;V&quot;+v+&quot;M&quot;+w+&quot;,&quot;+g+&quot;V&quot;+v)):s.select(this).attr(&quot;d&quot;,&quot;M&quot;+p+&quot;,&quot;+b+&quot;H&quot;+m+&quot;M&quot;+p+&quot;,&quot;+y+&quot;H&quot;+m+&quot;V&quot;+x+&quot;H&quot;+p+&quot;ZM&quot;+n+&quot;,&quot;+y+&quot;V&quot;+_+&quot;M&quot;+n+&quot;,&quot;+x+&quot;V&quot;+w+(0===d?&quot;&quot;:&quot;M&quot;+g+&quot;,&quot;+_+&quot;H&quot;+v+&quot;M&quot;+g+&quot;,&quot;+w+&quot;H&quot;+v))})}function a(t,e,r,i){var a=e.x,o=e.y,s=i.bdPos,d=i.bPos,p=r.boxpoints||r.points;u=2e9,t.selectAll(&quot;g.points&quot;).data(function(t){return t.forEach(function(t){t.t=i,t.trace=r}),t}).enter().append(&quot;g&quot;).attr(&quot;class&quot;,&quot;points&quot;).selectAll(&quot;path&quot;).data(function(t){var e,i,a=&quot;all&quot;===p?t.pts:t.pts.filter(function(e){return e.v&lt;t.lf||e.v&gt;t.uf}),o=Math.max((t.max-t.min)/10,t.q3-t.q1),c=1e-9*o,u=o*h,m=[],g=0;if(r.jitter){if(0===o)for(g=1,m=new Array(a.length),e=0;e&lt;a.length;e++)m[e]=1;else for(e=0;e&lt;a.length;e++){var v=Math.max(0,e-f),y=a[v].v,x=Math.min(a.length-1,e+f),b=a[x].v;&quot;all&quot;!==p&amp;&amp;(a[e].v&lt;t.lf?b=Math.min(b,t.lf):y=Math.max(y,t.uf));var _=Math.sqrt(u*(x-v)/(b-y+c))||0;_=l.constrain(Math.abs(_),0,1),m.push(_),g=Math.max(_,g)}i=2*r.jitter/g}for(e=0;e&lt;a.length;e++){var w=a[e],M=w.v,k=r.jitter?i*m[e]*(n()-.5):0,A=t.pos+d+s*(r.pointpos+k);&quot;h&quot;===r.orientation?(w.y=A,w.x=M):(w.x=A,w.y=M),&quot;suspectedoutliers&quot;===p&amp;&amp;M&lt;t.uo&amp;&amp;M&gt;t.lo&amp;&amp;(w.so=!0)}return a}).enter().append(&quot;path&quot;).classed(&quot;point&quot;,!0).call(c.translatePoints,a,o)}function o(t,e,r,n){var i,a,o=e.pos,c=e.val,u=n.bPos,f=n.bPosPxOffset||0;Array.isArray(n.bdPos)?(i=n.bdPos[0],a=n.bdPos[1]):(i=n.bdPos,a=n.bdPos),t.selectAll(&quot;path.mean&quot;).data(l.identity).enter().append(&quot;path&quot;).attr(&quot;class&quot;,&quot;mean&quot;).style({fill:&quot;none&quot;,&quot;vector-effect&quot;:&quot;non-scaling-stroke&quot;}).each(function(t){var e=o.c2p(t.pos+u,!0)+f,n=o.c2p(t.pos+u-i,!0)+f,l=o.c2p(t.pos+u+a,!0)+f,h=c.c2p(t.mean,!0),d=c.c2p(t.mean-t.sd,!0),p=c.c2p(t.mean+t.sd,!0);&quot;h&quot;===r.orientation?s.select(this).attr(&quot;d&quot;,&quot;M&quot;+h+&quot;,&quot;+n+&quot;V&quot;+l+(&quot;sd&quot;===r.boxmean?&quot;m0,0L&quot;+d+&quot;,&quot;+e+&quot;L&quot;+h+&quot;,&quot;+n+&quot;L&quot;+p+&quot;,&quot;+e+&quot;Z&quot;:&quot;&quot;)):s.select(this).attr(&quot;d&quot;,&quot;M&quot;+n+&quot;,&quot;+h+&quot;H&quot;+l+(&quot;sd&quot;===r.boxmean?&quot;m0,0L&quot;+e+&quot;,&quot;+d+&quot;L&quot;+n+&quot;,&quot;+h+&quot;L&quot;+e+&quot;,&quot;+p+&quot;Z&quot;:&quot;&quot;))})}var s=t(&quot;d3&quot;),l=t(&quot;../../lib&quot;),c=t(&quot;../../components/drawing&quot;),u=2e9,f=5,h=.01;e.exports={plot:function(t,e,r){var n=t._fullLayout,l=e.xaxis,c=e.yaxis;e.plot.select(&quot;.boxlayer&quot;).selectAll(&quot;g.trace.boxes&quot;).data(r).enter().append(&quot;g&quot;).attr(&quot;class&quot;,&quot;trace boxes&quot;).each(function(t){var e=t[0],r=e.t,u=e.trace,f=e.node3=s.select(this),h=n._numBoxes,d=&quot;group&quot;===n.boxmode&amp;&amp;h&gt;1,p=r.dPos*(1-n.boxgap)*(1-n.boxgroupgap)/(d?h:1),m=d?2*r.dPos*((r.num+.5)/h-.5)*(1-n.boxgap):0,g=p*u.whiskerwidth;if(!0!==u.visible||r.empty)s.select(this).remove();else{var v,y;&quot;h&quot;===u.orientation?(v=c,y=l):(v=l,y=c),r.bPos=m,r.bdPos=p,r.wdPos=g,i(f,{pos:v,val:y},u,r),u.boxpoints&amp;&amp;a(f,{x:l,y:c},u,r),u.boxmean&amp;&amp;o(f,{pos:v,val:y},u,r)}})},plotBoxAndWhiskers:i,plotPoints:a,plotBoxMean:o}},{&quot;../../components/drawing&quot;:643,&quot;../../lib&quot;:743,d3:128}],904:[function(t,e,r){&quot;use strict&quot;;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&lt;i.length;r++)for(n=0;n&lt;(i[r].pts||[]).length;n++)i[r].pts[n].selected=0;else for(r=0;r&lt;i.length;r++)for(n=0;n&lt;(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])?(s.push({pointNumber:l.i,x:a.c2d(l.x),y:o.c2d(l.y)}),l.selected=1):l.selected=0}return s}},{}],905:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,n,o){var s,l,c,u=e.calcdata,f=e._fullLayout,h=[],d=&quot;violin&quot;===t?&quot;_numViolins&quot;:&quot;_numBoxes&quot;;for(s=0;s&lt;r.length;s++)for(c=u[r[s]],l=0;l&lt;c.length;l++)h.push(c[l].pos);if(h.length){var p=a.distinctVals(h),m=p.minDiff/2;for(h.length===p.vals.length&amp;&amp;(f[d]=1),i.minDtick(n,p.minDiff,p.vals[0],!0),s=0;s&lt;r.length;s++)(c=u[r[s]])[0].t.dPos=m;var g=(1-f[t+&quot;gap&quot;])*(1-f[t+&quot;groupgap&quot;])*m/f[d];i.expand(n,p.vals,{vpadminus:m+o[0]*g,vpadplus:m+o[1]*g})}}var i=t(&quot;../../plots/cartesian/axes&quot;),a=t(&quot;../../lib&quot;),o=[&quot;v&quot;,&quot;h&quot;];e.exports={setPositions:function(t,e){for(var r=t.calcdata,i=e.xaxis,a=e.yaxis,s=0;s&lt;o.length;s++){for(var l=o[s],c=&quot;h&quot;===l?a:i,u=[],f=0,h=0,d=0;d&lt;r.length;d++){var p=r[d],m=p[0].t,g=p[0].trace;!0!==g.visible||&quot;box&quot;!==g.type||m.empty||g.orientation!==l||g.xaxis!==i._id||g.yaxis!==a._id||(u.push(d),!1!==g.boxpoints&amp;&amp;(f=Math.max(f,g.jitter-g.pointpos-1),h=Math.max(h,g.jitter+g.pointpos-1)))}n(&quot;box&quot;,t,u,c,[f,h])}},setPositionOffset:n}},{&quot;../../lib&quot;:743,&quot;../../plots/cartesian/axes&quot;:789}],906:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;d3&quot;),i=t(&quot;../../components/color&quot;),a=t(&quot;../../components/drawing&quot;);e.exports=function(t,e){var r=e?e[0].node3:n.select(t).selectAll(&quot;g.trace.boxes&quot;);r.style(&quot;opacity&quot;,function(t){return t[0].trace.opacity}),r.each(function(e){var r=n.select(this),o=e[0].trace,s=o.line.width;r.selectAll(&quot;path.box&quot;).style(&quot;stroke-width&quot;,s+&quot;px&quot;).call(i.stroke,o.line.color).call(i.fill,o.fillcolor),r.selectAll(&quot;path.mean&quot;).style({&quot;stroke-width&quot;:s,&quot;stroke-dasharray&quot;:2*s+&quot;px,&quot;+s+&quot;px&quot;}).call(i.stroke,o.line.color);var l=r.selectAll(&quot;path.point&quot;);a.pointStyle(l,o,t),a.selectedPointStyle(l,o)})}},{&quot;../../components/color&quot;:618,&quot;../../components/drawing&quot;:643,d3:128}],907:[function(t,e,r){&quot;use strict&quot;;function n(t){return{name:a.increasing.name,showlegend:a.increasing.showlegend,line:{color:i({},o.line.color,{dflt:t}),width:o.line.width,editType:&quot;style&quot;},fillcolor:o.fillcolor,editType:&quot;style&quot;}}var i=t(&quot;../../lib&quot;).extendFlat,a=t(&quot;../ohlc/attributes&quot;),o=t(&quot;../box/attributes&quot;);e.exports={x:a.x,open:a.open,high:a.high,low:a.low,close:a.close,line:{width:i({},o.line.width,{}),editType:&quot;style&quot;},increasing:n(a.increasing.line.color.dflt),decreasing:n(a.decreasing.line.color.dflt),text:a.text,whiskerwidth:i({},o.whiskerwidth,{dflt:0})}},{&quot;../../lib&quot;:743,&quot;../box/attributes&quot;:896,&quot;../ohlc/attributes&quot;:1024}],908:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,n){o(t,e,r,n),r(n+&quot;.line.color&quot;),r(n+&quot;.line.width&quot;,e.line.width),r(n+&quot;.fillcolor&quot;)}var i=t(&quot;../../lib&quot;),a=t(&quot;../ohlc/ohlc_defaults&quot;),o=t(&quot;../ohlc/direction_defaults&quot;),s=t(&quot;../ohlc/helpers&quot;),l=t(&quot;./attributes&quot;);e.exports=function(t,e,r,o){function c(r,n){return i.coerce(t,e,l,r,n)}s.pushDummyTransformOpts(t,e);0!==a(t,e,c,o)?(c(&quot;line.width&quot;),n(t,e,c,&quot;increasing&quot;),n(t,e,c,&quot;decreasing&quot;),c(&quot;text&quot;),c(&quot;whiskerwidth&quot;)):e.visible=!1}},{&quot;../../lib&quot;:743,&quot;../ohlc/direction_defaults&quot;:1026,&quot;../ohlc/helpers&quot;:1027,&quot;../ohlc/ohlc_defaults&quot;:1029,&quot;./attributes&quot;:907}],909:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../plot_api/register&quot;);e.exports={moduleType:&quot;trace&quot;,name:&quot;candlestick&quot;,basePlotModule:t(&quot;../../plots/cartesian&quot;),categories:[&quot;cartesian&quot;,&quot;showLegend&quot;,&quot;candlestick&quot;],meta:{},attributes:t(&quot;./attributes&quot;),supplyDefaults:t(&quot;./defaults&quot;)},n(t(&quot;../box&quot;)),n(t(&quot;./transform&quot;))},{&quot;../../plot_api/register&quot;:779,&quot;../../plots/cartesian&quot;:800,&quot;../box&quot;:900,&quot;./attributes&quot;:907,&quot;./defaults&quot;:908,&quot;./transform&quot;:910}],910:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r){var n={type:&quot;box&quot;,boxpoints:!1,visible:t.visible,hoverinfo:t.hoverinfo,opacity:t.opacity,xaxis:t.xaxis,yaxis:t.yaxis,transforms:o.makeTransform(t,e,r)},i=t[r];return i&amp;&amp;a.extendFlat(n,{x:t.x||[0],xcalendar:t.xcalendar,y:[].concat(t.low).concat(t.high),whiskerwidth:t.whiskerwidth,text:t.text,name:i.name,showlegend:i.showlegend,line:i.line,fillcolor:i.fillcolor}),n}var i=t(&quot;fast-isnumeric&quot;),a=t(&quot;../../lib&quot;),o=t(&quot;../ohlc/helpers&quot;);r.moduleType=&quot;transform&quot;,r.name=&quot;candlestick&quot;,r.attributes={},r.supplyDefaults=function(t,e,r,n){return o.clearEphemeralTransformOpts(n),o.copyOHLC(t,e),t},r.transform=function(t,e){for(var r=[],i=0;i&lt;t.length;i++){var a=t[i];&quot;candlestick&quot;===a.type?r.push(n(a,e,&quot;increasing&quot;),n(a,e,&quot;decreasing&quot;)):r.push(a)}return o.addRangeSlider(r,e.layout),r},r.calcTransform=function(t,e,r){for(var n=r.direction,a=o.getFilterFn(n),s=e.open,l=e.high,c=e.low,u=e.close,f=s.length,h=[],d=[],p=e._fullInput.x?function(t){var r=e.x[t];h.push(r,r,r,r,r,r)}:function(t){h.push(t,t,t,t,t,t)},m=function(t,e,r,n){d.push(r,t,n,n,n,e)},g=0;g&lt;f;g++)a(s[g],u[g])&amp;&amp;i(l[g])&amp;&amp;i(c[g])&amp;&amp;(p(g),m(s[g],l[g],c[g],u[g]));e.x=h,e.y=d}},{&quot;../../lib&quot;:743,&quot;../ohlc/helpers&quot;:1027,&quot;fast-isnumeric&quot;:140}],911:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;./axis_defaults&quot;);e.exports=function(t,e,r,i,a){i(&quot;a&quot;)||(i(&quot;da&quot;),i(&quot;a0&quot;));i(&quot;b&quot;)||(i(&quot;db&quot;),i(&quot;b0&quot;)),function(t,e,r,i){[&quot;aaxis&quot;,&quot;baxis&quot;].forEach(function(a){var o=a.charAt(0),s=t[a]||{},l={},c={tickfont:&quot;x&quot;,id:o+&quot;axis&quot;,letter:o,font:e.font,name:a,data:t[o],calendar:e.calendar,dfltColor:i,bgColor:r.paper_bgcolor,fullLayout:r};n(s,l,c),l._categories=l._categories||[],e[a]=l,t[a]||&quot;-&quot;===s.type||(t[a]={type:s.type})})}(t,e,r,a)}},{&quot;./axis_defaults&quot;:916}],912:[function(t,e,r){&quot;use strict&quot;;function n(t,e){if(!Array.isArray(t)||e&gt;=10)return null;for(var r=1/0,i=-1/0,a=t.length,o=0;o&lt;a;o++){var s=t[o];if(Array.isArray(s)){var l=n(s,e+1);l&amp;&amp;(r=Math.min(l[0],r),i=Math.max(l[1],i))}else r=Math.min(s,r),i=Math.max(s,i)}return[r,i]}e.exports=function(t){return n(t,0)}},{}],913:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../plots/font_attributes&quot;),i=t(&quot;./axis_attributes&quot;),a=t(&quot;../../components/color/attributes&quot;),o=n({editType:&quot;calc&quot;});o.family.dflt='&quot;Open Sans&quot;, verdana, arial, sans-serif',o.size.dflt=12,o.color.dflt=a.defaultLine,e.exports={carpet:{valType:&quot;string&quot;,editType:&quot;calc&quot;},x:{valType:&quot;data_array&quot;,editType:&quot;calc+clearAxisTypes&quot;},y:{valType:&quot;data_array&quot;,editType:&quot;calc+clearAxisTypes&quot;},a:{valType:&quot;data_array&quot;,editType:&quot;calc&quot;},a0:{valType:&quot;number&quot;,dflt:0,editType:&quot;calc&quot;},da:{valType:&quot;number&quot;,dflt:1,editType:&quot;calc&quot;},b:{valType:&quot;data_array&quot;,editType:&quot;calc&quot;},b0:{valType:&quot;number&quot;,dflt:0,editType:&quot;calc&quot;},db:{valType:&quot;number&quot;,dflt:1,editType:&quot;calc&quot;},cheaterslope:{valType:&quot;number&quot;,dflt:1,editType:&quot;calc&quot;},aaxis:i,baxis:i,font:o,color:{valType:&quot;color&quot;,dflt:a.defaultLine,editType:&quot;plot&quot;}}},{&quot;../../components/color/attributes&quot;:617,&quot;../../plots/font_attributes&quot;:816,&quot;./axis_attributes&quot;:915}],914:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t,e,r,n){var i,a,o,s,l,c,u,f,h,d,p,m,g,v=Array.isArray(r)?&quot;a&quot;:&quot;b&quot;,y=(&quot;a&quot;===v?t.aaxis:t.baxis).smoothing,x=&quot;a&quot;===v?t.a2i:t.b2j,b=&quot;a&quot;===v?r:n,_=&quot;a&quot;===v?n:r,w=&quot;a&quot;===v?e.a.length:e.b.length,M=&quot;a&quot;===v?e.b.length:e.a.length,k=Math.floor(&quot;a&quot;===v?t.b2j(_):t.a2i(_)),A=&quot;a&quot;===v?function(e){return t.evalxy([],e,k)}:function(e){return t.evalxy([],k,e)};y&amp;&amp;(o=Math.max(0,Math.min(M-2,k)),s=k-o,a=&quot;a&quot;===v?function(e,r){return t.dxydi([],e,o,r,s)}:function(e,r){return t.dxydj([],o,e,s,r)});var T=x(b[0]),S=x(b[1]),E=T&lt;S?1:-1,L=1e-8*(S-T),C=E&gt;0?Math.floor:Math.ceil,z=E&gt;0?Math.ceil:Math.floor,D=E&gt;0?Math.min:Math.max,I=E&gt;0?Math.max:Math.min,P=C(T+L),O=z(S-L),F=[[u=A(T)]];for(i=P;i*E&lt;O*E;i+=E)l=[],p=I(T,i),g=(m=D(S,i+E))-p,c=Math.max(0,Math.min(w-2,Math.floor(.5*(p+m)))),f=A(m),y&amp;&amp;(h=a(c,p-c),d=a(c,m-c),l.push([u[0]+h[0]/3*g,u[1]+h[1]/3*g]),l.push([f[0]-d[0]/3*g,f[1]-d[1]/3*g])),l.push(f),F.push(l),u=f;return F}},{}],915:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../plots/font_attributes&quot;),i=t(&quot;../../components/color/attributes&quot;),a=t(&quot;../../plots/cartesian/layout_attributes&quot;),o=t(&quot;../../plot_api/edit_types&quot;).overrideAll;e.exports={color:{valType:&quot;color&quot;,editType:&quot;calc&quot;},smoothing:{valType:&quot;number&quot;,dflt:1,min:0,max:1.3,editType:&quot;calc&quot;},title:{valType:&quot;string&quot;,editType:&quot;calc&quot;},titlefont:n({editType:&quot;calc&quot;}),titleoffset:{valType:&quot;number&quot;,dflt:10,editType:&quot;calc&quot;},type:{valType:&quot;enumerated&quot;,values:[&quot;-&quot;,&quot;linear&quot;,&quot;date&quot;,&quot;category&quot;],dflt:&quot;-&quot;,editType:&quot;calc&quot;},autorange:{valType:&quot;enumerated&quot;,values:[!0,!1,&quot;reversed&quot;],dflt:!0,editType:&quot;calc&quot;},rangemode:{valType:&quot;enumerated&quot;,values:[&quot;normal&quot;,&quot;tozero&quot;,&quot;nonnegative&quot;],dflt:&quot;normal&quot;,editType:&quot;calc&quot;},range:{valType:&quot;info_array&quot;,editType:&quot;calc&quot;,items:[{valType:&quot;any&quot;,editType:&quot;calc&quot;},{valType:&quot;any&quot;,editType:&quot;calc&quot;}]},fixedrange:{valType:&quot;boolean&quot;,dflt:!1,editType:&quot;calc&quot;},cheatertype:{valType:&quot;enumerated&quot;,values:[&quot;index&quot;,&quot;value&quot;],dflt:&quot;value&quot;,editType:&quot;calc&quot;},tickmode:{valType:&quot;enumerated&quot;,values:[&quot;linear&quot;,&quot;array&quot;],dflt:&quot;array&quot;,editType:&quot;calc&quot;},nticks:{valType:&quot;integer&quot;,min:0,dflt:0,editType:&quot;calc&quot;},tickvals:{valType:&quot;data_array&quot;,editType:&quot;calc&quot;},ticktext:{valType:&quot;data_array&quot;,editType:&quot;calc&quot;},showticklabels:{valType:&quot;enumerated&quot;,values:[&quot;start&quot;,&quot;end&quot;,&quot;both&quot;,&quot;none&quot;],dflt:&quot;start&quot;,editType:&quot;calc&quot;},tickfont:n({editType:&quot;calc&quot;}),tickangle:{valType:&quot;angle&quot;,dflt:&quot;auto&quot;,editType:&quot;calc&quot;},tickprefix:{valType:&quot;string&quot;,dflt:&quot;&quot;,editType:&quot;calc&quot;},showtickprefix:{valType:&quot;enumerated&quot;,values:[&quot;all&quot;,&quot;first&quot;,&quot;last&quot;,&quot;none&quot;],dflt:&quot;all&quot;,editType:&quot;calc&quot;},ticksuffix:{valType:&quot;string&quot;,dflt:&quot;&quot;,editType:&quot;calc&quot;},showticksuffix:{valType:&quot;enumerated&quot;,values:[&quot;all&quot;,&quot;first&quot;,&quot;last&quot;,&quot;none&quot;],dflt:&quot;all&quot;,editType:&quot;calc&quot;},showexponent:{valType:&quot;enumerated&quot;,values:[&quot;all&quot;,&quot;first&quot;,&quot;last&quot;,&quot;none&quot;],dflt:&quot;all&quot;,editType:&quot;calc&quot;},exponentformat:{valType:&quot;enumerated&quot;,values:[&quot;none&quot;,&quot;e&quot;,&quot;E&quot;,&quot;power&quot;,&quot;SI&quot;,&quot;B&quot;],dflt:&quot;B&quot;,editType:&quot;calc&quot;},separatethousands:{valType:&quot;boolean&quot;,dflt:!1,editType:&quot;calc&quot;},tickformat:{valType:&quot;string&quot;,dflt:&quot;&quot;,editType:&quot;calc&quot;},tickformatstops:o(a.tickformatstops,&quot;calc&quot;,&quot;from-root&quot;),categoryorder:{valType:&quot;enumerated&quot;,values:[&quot;trace&quot;,&quot;category ascending&quot;,&quot;category descending&quot;,&quot;array&quot;],dflt:&quot;trace&quot;,editType:&quot;calc&quot;},categoryarray:{valType:&quot;data_array&quot;,editType:&quot;calc&quot;},labelpadding:{valType:&quot;integer&quot;,dflt:10,editType:&quot;calc&quot;},labelprefix:{valType:&quot;string&quot;,editType:&quot;calc&quot;},labelsuffix:{valType:&quot;string&quot;,dflt:&quot;&quot;,editType:&quot;calc&quot;},showline:{valType:&quot;boolean&quot;,dflt:!1,editType:&quot;calc&quot;},linecolor:{valType:&quot;color&quot;,dflt:i.defaultLine,editType:&quot;calc&quot;},linewidth:{valType:&quot;number&quot;,min:0,dflt:1,editType:&quot;calc&quot;},gridcolor:{valType:&quot;color&quot;,editType:&quot;calc&quot;},gridwidth:{valType:&quot;number&quot;,min:0,dflt:1,editType:&quot;calc&quot;},showgrid:{valType:&quot;boolean&quot;,dflt:!0,editType:&quot;calc&quot;},minorgridcount:{valType:&quot;integer&quot;,min:0,dflt:0,editType:&quot;calc&quot;},minorgridwidth:{valType:&quot;number&quot;,min:0,dflt:1,editType:&quot;calc&quot;},minorgridcolor:{valType:&quot;color&quot;,dflt:i.lightLine,editType:&quot;calc&quot;},startline:{valType:&quot;boolean&quot;,editType:&quot;calc&quot;},startlinecolor:{valType:&quot;color&quot;,editType:&quot;calc&quot;},startlinewidth:{valType:&quot;number&quot;,dflt:1,editType:&quot;calc&quot;},endline:{valType:&quot;boolean&quot;,editType:&quot;calc&quot;},endlinewidth:{valType:&quot;number&quot;,dflt:1,editType:&quot;calc&quot;},endlinecolor:{valType:&quot;color&quot;,editType:&quot;calc&quot;},tick0:{valType:&quot;number&quot;,min:0,dflt:0,editType:&quot;calc&quot;},dtick:{valType:&quot;number&quot;,min:0,dflt:1,editType:&quot;calc&quot;},arraytick0:{valType:&quot;integer&quot;,min:0,dflt:0,editType:&quot;calc&quot;},arraydtick:{valType:&quot;integer&quot;,min:1,dflt:1,editType:&quot;calc&quot;},editType:&quot;calc&quot;}},{&quot;../../components/color/attributes&quot;:617,&quot;../../plot_api/edit_types&quot;:773,&quot;../../plots/cartesian/layout_attributes&quot;:801,&quot;../../plots/font_attributes&quot;:816}],916:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;./attributes&quot;),i=t(&quot;../../components/color&quot;).addOpacity,a=t(&quot;../../registry&quot;),o=t(&quot;../../lib&quot;),s=t(&quot;../../plots/cartesian/tick_value_defaults&quot;),l=t(&quot;../../plots/cartesian/tick_label_defaults&quot;),c=t(&quot;../../plots/cartesian/category_order_defaults&quot;),u=t(&quot;../../plots/cartesian/set_convert&quot;),f=t(&quot;../../plots/cartesian/ordered_categories&quot;),h=t(&quot;../../plots/cartesian/axis_autotype&quot;);e.exports=function(t,e,r){function d(r,n){return o.coerce(t,e,v,r,n)}function p(r,n){return o.coerce2(t,e,v,r,n)}var m=r.letter,g=r.font||{},v=n[m+&quot;axis&quot;];r.noHover=!0,r.name&amp;&amp;(e._name=r.name,e._id=r.name);var y=d(&quot;type&quot;);if(&quot;-&quot;===y&amp;&amp;(r.data&amp;&amp;function(t,e){if(&quot;-&quot;===t.type){var r=t[t._id.charAt(0)+&quot;calendar&quot;];t.type=h(e,r)}}(e,r.data),&quot;-&quot;===e.type?e.type=&quot;linear&quot;:y=t.type=e.type),d(&quot;smoothing&quot;),d(&quot;cheatertype&quot;),d(&quot;showticklabels&quot;),d(&quot;labelprefix&quot;,m+&quot; = &quot;),d(&quot;labelsuffix&quot;),d(&quot;showtickprefix&quot;),d(&quot;showticksuffix&quot;),d(&quot;separatethousands&quot;),d(&quot;tickformat&quot;),d(&quot;exponentformat&quot;),d(&quot;showexponent&quot;),d(&quot;categoryorder&quot;),d(&quot;tickmode&quot;),d(&quot;tickvals&quot;),d(&quot;ticktext&quot;),d(&quot;tick0&quot;),d(&quot;dtick&quot;),&quot;array&quot;===e.tickmode&amp;&amp;(d(&quot;arraytick0&quot;),d(&quot;arraydtick&quot;)),d(&quot;labelpadding&quot;),e._hovertitle=m,&quot;date&quot;===y){a.getComponentMethod(&quot;calendars&quot;,&quot;handleDefaults&quot;)(t,e,&quot;calendar&quot;,r.calendar)}u(e,r.fullLayout);var x=d(&quot;color&quot;,r.dfltColor),b=x===t.color?x:g.color;d(&quot;title&quot;),o.coerceFont(d,&quot;titlefont&quot;,{family:g.family,size:Math.round(1.2*g.size),color:b}),d(&quot;titleoffset&quot;),d(&quot;tickangle&quot;);d(&quot;autorange&quot;,!e.isValidRange(t.range))&amp;&amp;d(&quot;rangemode&quot;),d(&quot;range&quot;),e.cleanRange(),d(&quot;fixedrange&quot;),s(t,e,d,y),l(t,e,d,y,r),c(t,e,d);var _=p(&quot;gridcolor&quot;,i(x,.3)),w=p(&quot;gridwidth&quot;),M=d(&quot;showgrid&quot;);M||(delete e.gridcolor,delete e.gridwidth);var k=p(&quot;startlinecolor&quot;,x),A=p(&quot;startlinewidth&quot;,w);d(&quot;startline&quot;,e.showgrid||!!k||!!A)||(delete e.startlinecolor,delete e.startlinewidth);var T=p(&quot;endlinecolor&quot;,x),S=p(&quot;endlinewidth&quot;,w);return d(&quot;endline&quot;,e.showgrid||!!T||!!S)||(delete e.endlinecolor,delete e.endlinewidth),M?(d(&quot;minorgridcount&quot;),d(&quot;minorgridwidth&quot;,w),d(&quot;minorgridcolor&quot;,i(_,.06)),e.minorgridcount||(delete e.minorgridwidth,delete e.minorgridcolor)):(delete e.gridcolor,delete e.gridWidth),e._initialCategories=&quot;category&quot;===y?f(m,e.categoryorder,e.categoryarray,r.data):[],&quot;none&quot;===e.showticklabels&amp;&amp;(delete e.tickfont,delete e.tickangle,delete e.showexponent,delete e.exponentformat,delete e.tickformat,delete e.showticksuffix,delete e.showtickprefix),e.showticksuffix||delete e.ticksuffix,e.showtickprefix||delete e.tickprefix,d(&quot;tickmode&quot;),(!e.title||e.title&amp;&amp;0===e.title.length)&amp;&amp;(delete e.titlefont,delete e.titleoffset),e}},{&quot;../../components/color&quot;:618,&quot;../../lib&quot;:743,&quot;../../plots/cartesian/axis_autotype&quot;:790,&quot;../../plots/cartesian/category_order_defaults&quot;:793,&quot;../../plots/cartesian/ordered_categories&quot;:804,&quot;../../plots/cartesian/set_convert&quot;:808,&quot;../../plots/cartesian/tick_label_defaults&quot;:809,&quot;../../plots/cartesian/tick_value_defaults&quot;:811,&quot;../../registry&quot;:873,&quot;./attributes&quot;:913}],917:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../plots/cartesian/axes&quot;),i=t(&quot;./cheater_basis&quot;),a=t(&quot;./array_minmax&quot;),o=t(&quot;./map_2d_array&quot;),s=t(&quot;./calc_gridlines&quot;),l=t(&quot;./calc_labels&quot;),c=t(&quot;./calc_clippath&quot;),u=t(&quot;../heatmap/clean_2d_array&quot;),f=t(&quot;./smooth_fill_2d_array&quot;);e.exports=function(t,e){var r,h=n.getFromId(t,e.xaxis||&quot;x&quot;),d=n.getFromId(t,e.yaxis||&quot;y&quot;),p=e.aaxis,m=e.baxis,g=e._a=e.a,v=e._b=e.b,y={},x=e.y;if(e._cheater){var b=&quot;index&quot;===p.cheatertype?g.length:g,_=&quot;index&quot;===m.cheatertype?v.length:v;e.x=r=i(b,_,e.cheaterslope)}else r=e.x;e._x=e.x=r=u(r),e._y=e.y=x=u(x),f(r,g,v),f(x,g,v),e.setScale(),y.xp=e.xp=o(e.xp,r,h.c2p),y.yp=e.yp=o(e.yp,x,d.c2p);var w=a(r),M=a(x),k=.5*(w[1]-w[0]),A=.5*(w[1]+w[0]),T=.5*(M[1]-M[0]),S=.5*(M[1]+M[0]);return w=[A-1.3*k,A+1.3*k],M=[S-1.3*T,S+1.3*T],n.expand(h,w,{padded:!0}),n.expand(d,M,{padded:!0}),s(e,y,&quot;a&quot;,&quot;b&quot;),s(e,y,&quot;b&quot;,&quot;a&quot;),l(e,p),l(e,m),y.clipsegments=c(e.xctrl,e.yctrl,p,m),y.x=r,y.y=x,y.a=g,y.b=v,[y]}},{&quot;../../plots/cartesian/axes&quot;:789,&quot;../heatmap/clean_2d_array&quot;:979,&quot;./array_minmax&quot;:912,&quot;./calc_clippath&quot;:918,&quot;./calc_gridlines&quot;:919,&quot;./calc_labels&quot;:920,&quot;./cheater_basis&quot;:922,&quot;./map_2d_array&quot;:934,&quot;./smooth_fill_2d_array&quot;:938}],918:[function(t,e,r){&quot;use strict&quot;;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&lt;=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&lt;=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&gt;=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&gt;=0;i--)a[f-i]=t[i][0],o[f-i]=e[i][0];return s.push({x:a,y:o,bicubic:c}),s}},{}],919:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../plots/cartesian/axes&quot;),i=t(&quot;../../lib/extend&quot;).extendFlat;e.exports=function(t,e,r,a){function o(e){var n,i,o,s,l,c,u,f,h,d,p,g,v=[],y=[],x={};if(&quot;b&quot;===r)for(i=t.b2j(e),o=Math.floor(Math.max(0,Math.min(P-2,i))),s=i-o,x.length=P,x.crossLength=I,x.xy=function(e){return t.evalxy([],e,i)},x.dxy=function(e,r){return t.dxydi([],e,o,r,s)},n=0;n&lt;I;n++)c=Math.min(I-2,n),u=n-c,f=t.evalxy([],n,i),E.smoothing&amp;&amp;n&gt;0&amp;&amp;(h=t.dxydi([],n-1,o,0,s),v.push(l[0]+h[0]/3),y.push(l[1]+h[1]/3),d=t.dxydi([],n-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(n=t.a2i(e),c=Math.floor(Math.max(0,Math.min(I-2,n))),u=n-c,x.length=I,x.crossLength=P,x.xy=function(e){return t.evalxy([],n,e)},x.dxy=function(e,r){return t.dxydj([],c,e,u,r)},i=0;i&lt;P;i++)o=Math.min(P-2,i),s=i-o,f=t.evalxy([],n,i),E.smoothing&amp;&amp;i&gt;0&amp;&amp;(p=t.dxydj([],c,i-1,u,0),v.push(l[0]+p[0]/3),y.push(l[1]+p[1]/3),g=t.dxydj([],c,i-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=r,x.axis=M,x.crossAxis=E,x.value=e,x.constvar=a,x.index=m,x.x=v,x.y=y,x.smoothing=E.smoothing,x}function s(e){var n,i,o,s,l,c=[],u=[],f={};if(f.length=w.length,f.crossLength=S.length,&quot;b&quot;===r)for(o=Math.max(0,Math.min(P-2,e)),l=Math.min(1,Math.max(0,e-o)),f.xy=function(r){return t.evalxy([],r,e)},f.dxy=function(e,r){return t.dxydi([],e,o,r,l)},n=0;n&lt;z;n++)c[n]=L[e*O][n],u[n]=C[e*O][n];else for(i=Math.max(0,Math.min(I-2,e)),s=Math.min(1,Math.max(0,e-i)),f.xy=function(r){return t.evalxy([],e,r)},f.dxy=function(e,r){return t.dxydj([],i,e,s,r)},n=0;n&lt;D;n++)c[n]=L[n][e*O],u[n]=C[n][e*O];return f.axisLetter=r,f.axis=M,f.crossAxis=E,f.value=w[e],f.constvar=a,f.index=e,f.x=c,f.y=u,f.smoothing=E.smoothing,f}var l,c,u,f,h,d,p,m,g,v,y,x,b,_,w=t[r],M=t[r+&quot;axis&quot;],k=M._gridlines=[],A=M._minorgridlines=[],T=M._boundarylines=[],S=t[a],E=t[a+&quot;axis&quot;];if(&quot;array&quot;===M.tickmode)for(M.tickvals=[],l=0;l&lt;w.length;l++)M.tickvals.push(w[l]);var L=t.xctrl,C=t.yctrl,z=L[0].length,D=L.length,I=t.a.length,P=t.b.length;n.calcTicks(M);var O=M.smoothing?3:1;if(&quot;array&quot;===M.tickmode){for(f=5e-15,d=(h=[Math.floor((w.length-1-M.arraytick0)/M.arraydtick*(1+f)),Math.ceil(-M.arraytick0/M.arraydtick/(1+f))].sort(function(t,e){return t-e}))[0]-1,p=h[1]+1,m=d;m&lt;p;m++)(c=M.arraytick0+M.arraydtick*m)&lt;0||c&gt;w.length-1||k.push(i(s(c),{color:M.gridcolor,width:M.gridwidth}));for(m=d;m&lt;p;m++)if(u=M.arraytick0+M.arraydtick*m,y=Math.min(u+M.arraydtick,w.length-1),!(u&lt;0||u&gt;w.length-1||y&lt;0||y&gt;w.length-1))for(x=w[u],b=w[y],l=0;l&lt;M.minorgridcount;l++)(_=y-u)&lt;=0||(v=x+(b-x)*(l+1)/(M.minorgridcount+1)*(M.arraydtick/_))&lt;w[0]||v&gt;w[w.length-1]||A.push(i(o(v),{color:M.minorgridcolor,width:M.minorgridwidth}));M.startline&amp;&amp;T.push(i(s(0),{color:M.startlinecolor,width:M.startlinewidth})),M.endline&amp;&amp;T.push(i(s(w.length-1),{color:M.endlinecolor,width:M.endlinewidth}))}else{for(f=5e-15,d=(h=[Math.floor((w[w.length-1]-M.tick0)/M.dtick*(1+f)),Math.ceil((w[0]-M.tick0)/M.dtick/(1+f))].sort(function(t,e){return t-e}))[0],p=h[1],m=d;m&lt;=p;m++)g=M.tick0+M.dtick*m,k.push(i(o(g),{color:M.gridcolor,width:M.gridwidth}));for(m=d-1;m&lt;p+1;m++)for(g=M.tick0+M.dtick*m,l=0;l&lt;M.minorgridcount;l++)(v=g+M.dtick*(l+1)/(M.minorgridcount+1))&lt;w[0]||v&gt;w[w.length-1]||A.push(i(o(v),{color:M.minorgridcolor,width:M.minorgridwidth}));M.startline&amp;&amp;T.push(i(o(w[0]),{color:M.startlinecolor,width:M.startlinewidth})),M.endline&amp;&amp;T.push(i(o(w[w.length-1]),{color:M.endlinecolor,width:M.endlinewidth}))}}},{&quot;../../lib/extend&quot;:732,&quot;../../plots/cartesian/axes&quot;:789}],920:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../plots/cartesian/axes&quot;),i=t(&quot;../../lib/extend&quot;).extendFlat;e.exports=function(t,e){var r,a,o,s=e._labels=[],l=e._gridlines;for(r=0;r&lt;l.length;r++)o=l[r],-1!==[&quot;start&quot;,&quot;both&quot;].indexOf(e.showticklabels)&amp;&amp;(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!==[&quot;end&quot;,&quot;both&quot;].indexOf(e.showticklabels)&amp;&amp;(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))}},{&quot;../../lib/extend&quot;:732,&quot;../../plots/cartesian/axes&quot;:789}],921:[function(t,e,r){&quot;use strict&quot;;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,d=l*(l+c)*3;return[[e[0]+(h&amp;&amp;u/h),e[1]+(h&amp;&amp;f/h)],[e[0]-(d&amp;&amp;u/d),e[1]-(d&amp;&amp;f/d)]]}},{}],922:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib&quot;).isArray;e.exports=function(t,e,r){var i,a,o,s,l,c=[],u=n(t)?t.length:t,f=n(e)?e.length:e,h=n(t)?t:null,d=n(e)?e:null;h&amp;&amp;(o=(h.length-1)/(h[h.length-1]-h[0])/(u-1)),d&amp;&amp;(s=(d.length-1)/(d[d.length-1]-d[0])/(f-1));var p,m=1/0,g=-1/0;for(a=0;a&lt;f;a++)for(c[a]=[],l=d?(d[a]-d[0])*s:a/(f-1),i=0;i&lt;u;i++)p=(h?(h[i]-h[0])*o:i/(u-1))-l*r,m=Math.min(p,m),g=Math.max(p,g),c[a][i]=p;var v=1/(g-m),y=-m*v;for(a=0;a&lt;f;a++)for(i=0;i&lt;u;i++)c[a][i]=v*c[a][i]+y;return c}},{&quot;../../lib&quot;:743}],923:[function(t,e,r){&quot;use strict&quot;;function n(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]}var i=t(&quot;./catmull_rom&quot;),a=t(&quot;../../lib&quot;).ensureArray;e.exports=function(t,e,r,o,s,l){var c,u,f,h,d,p,m,g,v,y,x=r[0].length,b=r.length,_=s?3*x-2:x,w=l?3*b-2:b;for(t=a(t,w),e=a(e,w),f=0;f&lt;w;f++)t[f]=a(t[f],_),e[f]=a(e[f],_);for(u=0,h=0;u&lt;b;u++,h+=l?3:1)for(d=t[h],p=e[h],m=r[u],g=o[u],c=0,f=0;c&lt;x;c++,f+=s?3:1)d[f]=m[c],p[f]=g[c];if(s)for(u=0,h=0;u&lt;b;u++,h+=l?3:1){for(c=1,f=3;c&lt;x-1;c++,f+=3)v=i([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=n([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=n([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&lt;_;f++){for(h=3;h&lt;w-3;h+=3)v=i([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=n([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=n([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&amp;&amp;l)for(h=1;h&lt;w;h+=(h+1)%3==0?2:1){for(f=3;f&lt;_-3;f+=3)v=i([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=n([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=n([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]}},{&quot;../../lib&quot;:743,&quot;./catmull_rom&quot;:921}],924:[function(t,e,r){&quot;use strict&quot;;e.exports={RELATIVE_CULL_TOLERANCE:1e-6}},{}],925:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t,e,r){return e&amp;&amp;r?function(e,r,n,i,a){e||(e=[]);var o,s,l,c,u,f;r*=3,n*=3;var h=i*i,d=1-i,p=d*d,m=d*i*2,g=-3*p,v=3*(p-m),y=3*(m-h),x=3*h,b=a*a,_=b*a,w=1-a,M=w*w,k=M*w;for(f=0;f&lt;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*(M*a*s+w*b*l)+_*c;return e}:e?function(e,r,n,i,a){e||(e=[]);var o,s,l,c;r*=3;var u=i*i,f=1-i,h=f*f,d=f*i*2,p=-3*h,m=3*(h-d),g=3*(d-u),v=3*u,y=1-a;for(l=0;l&lt;t.length;l++)o=p*(c=t[l])[n][r]+m*c[n][r+1]+g*c[n][r+2]+v*c[n][r+3],s=p*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){e||(e=[]);var o,s,l,c,u,f;n*=3;var h=a*a,d=h*a,p=1-a,m=p*p,g=m*p;for(u=0;u&lt;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+p*h*l)+d*c;return e}:function(e,r,n,i,a){e||(e=[]);var o,s,l,c,u=1-a;for(l=0;l&lt;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}}},{}],926:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t,e,r){return e&amp;&amp;r?function(e,r,n,i,a){e||(e=[]);var o,s,l,c,u,f;r*=3,n*=3;var h=i*i,d=h*i,p=1-i,m=p*p,g=m*p,v=a*a,y=1-a,x=y*y,b=y*a*2,_=-3*x,w=3*(x-b),M=3*(b-v),k=3*v;for(f=0;f&lt;t.length;f++)o=_*(u=t[f])[n][r]+w*u[n+1][r]+M*u[n+2][r]+k*u[n+3][r],s=_*u[n][r+1]+w*u[n+1][r+1]+M*u[n+2][r+1]+k*u[n+3][r+1],l=_*u[n][r+2]+w*u[n+1][r+2]+M*u[n+2][r+2]+k*u[n+3][r+2],c=_*u[n][r+3]+w*u[n+1][r+3]+M*u[n+2][r+3]+k*u[n+3][r+3],e[f]=g*o+3*(m*i*s+p*h*l)+d*c;return e}:e?function(e,r,n,i,a){e||(e=[]);var o,s,l,c,u,f;r*=3;var h=a*a,d=h*a,p=1-a,m=p*p,g=m*p;for(u=0;u&lt;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+p*h*l)+d*c;return e}:r?function(e,r,n,i,a){e||(e=[]);var o,s,l,c;n*=3;var u=1-i,f=a*a,h=1-a,d=h*h,p=h*a*2,m=-3*d,g=3*(d-p),v=3*(p-f),y=3*f;for(l=0;l&lt;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){e||(e=[]);var o,s,l,c,u=1-i;for(l=0;l&lt;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}}},{}],927:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t,e,r,n,i){var a=e-2,o=r-2;return n&amp;&amp;i?function(e,r,n){e||(e=[]);var i,s,l,c,u,f,h=Math.max(0,Math.min(Math.floor(r),a)),d=Math.max(0,Math.min(Math.floor(n),o)),p=Math.max(0,Math.min(1,r-h)),m=Math.max(0,Math.min(1,n-d));h*=3,d*=3;var g=p*p,v=g*p,y=1-p,x=y*y,b=x*y,_=m*m,w=_*m,M=1-m,k=M*M,A=k*M;for(f=0;f&lt;t.length;f++)i=b*(u=t[f])[d][h]+3*(x*p*u[d][h+1]+y*g*u[d][h+2])+v*u[d][h+3],s=b*u[d+1][h]+3*(x*p*u[d+1][h+1]+y*g*u[d+1][h+2])+v*u[d+1][h+3],l=b*u[d+2][h]+3*(x*p*u[d+2][h+1]+y*g*u[d+2][h+2])+v*u[d+2][h+3],c=b*u[d+3][h]+3*(x*p*u[d+3][h+1]+y*g*u[d+3][h+2])+v*u[d+3][h+3],e[f]=A*i+3*(k*m*s+M*_*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)),d=Math.max(0,Math.min(Math.floor(n),o)),p=Math.max(0,Math.min(1,r-h)),m=Math.max(0,Math.min(1,n-d));h*=3;var g=p*p,v=g*p,y=1-p,x=y*y,b=x*y,_=1-m;for(u=0;u&lt;t.length;u++)i=_*(f=t[u])[d][h]+m*f[d+1][h],s=_*f[d][h+1]+m*f[d+1][h+1],l=_*f[d][h+2]+m*f[d+1][h+1],c=_*f[d][h+3]+m*f[d+1][h+1],e[u]=b*i+3*(x*p*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)),d=Math.max(0,Math.min(Math.floor(n),o)),p=Math.max(0,Math.min(1,r-h)),m=Math.max(0,Math.min(1,n-d));d*=3;var g=m*m,v=g*m,y=1-m,x=y*y,b=x*y,_=1-p;for(u=0;u&lt;t.length;u++)i=_*(f=t[u])[d][h]+p*f[d][h+1],s=_*f[d+1][h]+p*f[d+1][h+1],l=_*f[d+2][h]+p*f[d+2][h+1],c=_*f[d+3][h]+p*f[d+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)),d=Math.max(0,Math.min(1,n-f)),p=1-d,m=1-h;for(l=0;l&lt;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]=p*i+d*s;return e}}},{}],928:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib&quot;),i=t(&quot;./xy_defaults&quot;),a=t(&quot;./ab_defaults&quot;),o=t(&quot;./set_convert&quot;),s=t(&quot;./attributes&quot;),l=t(&quot;../../components/color/attributes&quot;);e.exports=function(t,e,r,c){function u(r,i){return n.coerce(t,e,s,r,i)}e._clipPathId=&quot;clip&quot;+e.uid+&quot;carpet&quot;;var f=u(&quot;color&quot;,l.defaultLine);if(n.coerceFont(u,&quot;font&quot;),u(&quot;carpet&quot;),a(t,e,c,u,f),e.a&amp;&amp;e.b){e.a.length&lt;3&amp;&amp;(e.aaxis.smoothing=0),e.b.length&lt;3&amp;&amp;(e.baxis.smoothing=0);var h=i(t,e,u);o(e),e._cheater&amp;&amp;u(&quot;cheaterslope&quot;),h||(e.visible=!1)}else e.visible=!1}},{&quot;../../components/color/attributes&quot;:617,&quot;../../lib&quot;:743,&quot;./ab_defaults&quot;:911,&quot;./attributes&quot;:913,&quot;./set_convert&quot;:937,&quot;./xy_defaults&quot;:939}],929:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t){return Array.isArray(t[0])}},{}],930:[function(t,e,r){&quot;use strict&quot;;var n={};n.attributes=t(&quot;./attributes&quot;),n.supplyDefaults=t(&quot;./defaults&quot;),n.plot=t(&quot;./plot&quot;),n.calc=t(&quot;./calc&quot;),n.animatable=!0,n.moduleType=&quot;trace&quot;,n.name=&quot;carpet&quot;,n.basePlotModule=t(&quot;../../plots/cartesian&quot;),n.categories=[&quot;cartesian&quot;,&quot;carpet&quot;,&quot;carpetAxis&quot;,&quot;notLegendIsolatable&quot;],n.meta={},e.exports=n},{&quot;../../plots/cartesian&quot;:800,&quot;./attributes&quot;:913,&quot;./calc&quot;:917,&quot;./defaults&quot;:928,&quot;./plot&quot;:936}],931:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t,e){for(var r,n=t._fullData.length,i=0;i&lt;n;i++){var a=t._fullData[i];if(a.index!==e.index&amp;&amp;(&quot;carpet&quot;===a.type&amp;&amp;(r||(r=a),a.carpet===e.carpet)))return a}return r}},{}],932:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t,e,r){if(0===t.length)return&quot;&quot;;var n,i=[],a=r?3:1;for(n=0;n&lt;t.length;n+=a)i.push(t[n]+&quot;,&quot;+e[n]),r&amp;&amp;n&lt;t.length-a&amp;&amp;(i.push(&quot;C&quot;),i.push([t[n+1]+&quot;,&quot;+e[n+1],t[n+2]+&quot;,&quot;+e[n+2]+&quot; &quot;].join(&quot; &quot;)));return i.join(r?&quot;&quot;:&quot;L&quot;)}},{}],933:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t,e,r){var n;for(Array.isArray(t)?t.length&gt;e.length&amp;&amp;(t=t.slice(0,e.length)):t=[],n=0;n&lt;e.length;n++)t[n]=r(e[n]);return t}},{}],934:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t,e,r){var n,i;for(Array.isArray(t)?t.length&gt;e.length&amp;&amp;(t=t.slice(0,e.length)):t=[],n=0;n&lt;e.length;n++)for(Array.isArray(t[n])?t[n].length&gt;e.length&amp;&amp;(t[n]=t[n].slice(0,e.length)):t[n]=[],i=0;i&lt;e[0].length;i++)t[n][i]=r(e[n][i]);return t}},{}],935:[function(t,e,r){&quot;use strict&quot;;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 d=180*Math.atan2(s,o)/Math.PI;return d&lt;-90?(d+=180,l=-l):d&gt;90&amp;&amp;(d-=180,l=-l),{angle:d,flip:l,p:t.c2p(n,e,r),offsetMultplier:c}}},{}],936:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r){var n=t.selectAll(e+&quot;.&quot;+r).data([0]);return n.enter().append(e).classed(r,!0),n}function i(t,e,r){var i=r[0],l=r[0].trace,c=e.xaxis,d=e.yaxis,m=l.aaxis,g=l.baxis,v=t._fullLayout,y=e.plot.selectAll(&quot;.carpetlayer&quot;),x=v._clips,b=n(y,&quot;g&quot;,&quot;carpet&quot;+l.uid).classed(&quot;trace&quot;,!0),_=n(b,&quot;g&quot;,&quot;minorlayer&quot;),w=n(b,&quot;g&quot;,&quot;majorlayer&quot;),M=n(b,&quot;g&quot;,&quot;boundarylayer&quot;),k=n(b,&quot;g&quot;,&quot;labellayer&quot;);b.style(&quot;opacity&quot;,l.opacity),a(c,d,w,m,&quot;a&quot;,m._gridlines),a(c,d,w,g,&quot;b&quot;,g._gridlines),a(c,d,_,m,&quot;a&quot;,m._minorgridlines),a(c,d,_,g,&quot;b&quot;,g._minorgridlines),a(c,d,M,m,&quot;a-boundary&quot;,m._boundarylines),a(c,d,M,g,&quot;b-boundary&quot;,g._boundarylines);!function(t,e,r,n,i,a,o,l){var c,u,f,d;c=.5*(r.a[0]+r.a[r.a.length-1]),u=r.b[0],f=r.ab2xy(c,u,!0),d=r.dxyda_rough(c,u),void 0===o.angle&amp;&amp;p.extendFlat(o,h(r,i,a,f,r.dxydb_rough(c,u)));s(t,e,r,n,f,d,r.aaxis,i,a,o,&quot;a-title&quot;),c=r.a[0],u=.5*(r.b[0]+r.b[r.b.length-1]),f=r.ab2xy(c,u,!0),d=r.dxydb_rough(c,u),void 0===l.angle&amp;&amp;p.extendFlat(l,h(r,i,a,f,r.dxyda_rough(c,u)));s(t,e,r,n,f,d,r.baxis,i,a,l,&quot;b-title&quot;)}(t,k,l,i,c,d,o(t,c,d,l,i,k,m._labels,&quot;a-label&quot;),o(t,c,d,l,i,k,g._labels,&quot;b-label&quot;)),function(t,e,r,i,a){var o,s,l,c,h=r.select(&quot;#&quot;+t._clipPathId);h.size()||(h=r.append(&quot;clipPath&quot;).classed(&quot;carpetclip&quot;,!0));var d=n(h,&quot;path&quot;,&quot;carpetboundary&quot;),p=e.clipsegments,m=[];for(c=0;c&lt;p.length;c++)o=p[c],s=u([],o.x,i.c2p),l=u([],o.y,a.c2p),m.push(f(s,l,o.bicubic));var g=&quot;M&quot;+m.join(&quot;L&quot;)+&quot;Z&quot;;h.attr(&quot;id&quot;,t._clipPathId),d.attr(&quot;d&quot;,g)}(l,i,x,c,d)}function a(t,e,r,n,i,a){var o=&quot;const-&quot;+i+&quot;-lines&quot;,s=r.selectAll(&quot;.&quot;+o).data(a);s.enter().append(&quot;path&quot;).classed(o,!0).style(&quot;vector-effect&quot;,&quot;non-scaling-stroke&quot;),s.each(function(r){var n=r,i=n.x,a=n.y,o=u([],i,t.c2p),s=u([],a,e.c2p),c=&quot;M&quot;+f(o,s,n.smoothing);l.select(this).attr(&quot;d&quot;,c).style(&quot;stroke-width&quot;,n.width).style(&quot;stroke&quot;,n.color).style(&quot;fill&quot;,&quot;none&quot;)}),s.exit().remove()}function o(t,e,r,n,i,a,o,s){var u=a.selectAll(&quot;text.&quot;+s).data(o);u.enter().append(&quot;text&quot;).classed(s,!0);var f=0,p={};return u.each(function(i,a){var o;if(&quot;auto&quot;===i.axis.tickangle)o=h(n,e,r,i.xy,i.dxy);else{var s=(i.axis.tickangle+180)*Math.PI/180;o=h(n,e,r,i.xy,[Math.cos(s),Math.sin(s)])}a||(p={angle:o.angle,flip:o.flip});var u=(i.endAnchor?-1:1)*o.flip,m=l.select(this).attr({&quot;text-anchor&quot;:u&gt;0?&quot;start&quot;:&quot;end&quot;,&quot;data-notex&quot;:1}).call(c.font,i.font).text(i.text).call(d.convertToTspans,t),g=c.bBox(this);m.attr(&quot;transform&quot;,&quot;translate(&quot;+o.p[0]+&quot;,&quot;+o.p[1]+&quot;) rotate(&quot;+o.angle+&quot;)translate(&quot;+i.axis.labelpadding*u+&quot;,&quot;+.3*g.height+&quot;)&quot;),f=Math.max(f,g.width+i.axis.labelpadding)}),u.exit().remove(),p.maxExtent=f,p}function s(t,e,r,n,i,a,o,s,u,f,p){var m=[];o.title&amp;&amp;m.push(o.title);var y=e.selectAll(&quot;text.&quot;+p).data(m),x=f.maxExtent;y.enter().append(&quot;text&quot;).classed(p,!0),y.each(function(){var e=h(r,s,u,i,a);-1===[&quot;start&quot;,&quot;both&quot;].indexOf(o.showticklabels)&amp;&amp;(x=0);var n=o.titlefont.size;x+=n+o.titleoffset;var p=(f.angle+(f.flip&lt;0?180:0)-e.angle+450)%360,m=p&gt;90&amp;&amp;p&lt;270,y=l.select(this);y.text(o.title||&quot;&quot;).call(d.convertToTspans,t),m&amp;&amp;(x=(-d.lineCount(y)+v)*g*n-x),y.attr(&quot;transform&quot;,&quot;translate(&quot;+e.p[0]+&quot;,&quot;+e.p[1]+&quot;) rotate(&quot;+e.angle+&quot;) translate(0,&quot;+x+&quot;)&quot;).classed(&quot;user-select-none&quot;,!0).attr(&quot;text-anchor&quot;,&quot;middle&quot;).call(c.font,o.titlefont)}),y.exit().remove()}var l=t(&quot;d3&quot;),c=t(&quot;../../components/drawing&quot;),u=t(&quot;./map_1d_array&quot;),f=t(&quot;./makepath&quot;),h=t(&quot;./orient_text&quot;),d=t(&quot;../../lib/svg_text_utils&quot;),p=t(&quot;../../lib&quot;),m=t(&quot;../../constants/alignment&quot;);e.exports=function(t,e,r){for(var n=0;n&lt;r.length;n++)i(t,e,r[n])};var g=m.LINE_SPACING,v=(1-m.MID_SHIFT)/g+1},{&quot;../../components/drawing&quot;:643,&quot;../../constants/alignment&quot;:716,&quot;../../lib&quot;:743,&quot;../../lib/svg_text_utils&quot;:766,&quot;./makepath&quot;:932,&quot;./map_1d_array&quot;:933,&quot;./orient_text&quot;:935,d3:128}],937:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;./constants&quot;),i=t(&quot;../../lib/search&quot;).findBin,a=t(&quot;./compute_control_points&quot;),o=t(&quot;./create_spline_evaluator&quot;),s=t(&quot;./create_i_derivative_evaluator&quot;),l=t(&quot;./create_j_derivative_evaluator&quot;);e.exports=function(t){var e=t.a,r=t.b,c=t.a.length,u=t.b.length,f=t.aaxis,h=t.baxis,d=e[0],p=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;d-=x,p+=x,m-=b,g+=b,t.isVisible=function(t,e){return t&gt;d&amp;&amp;t&lt;p&amp;&amp;e&gt;m&amp;&amp;e&lt;g},t.isOccluded=function(t,e){return t&lt;d||t&gt;p||e&lt;m||e&gt;g},f.c2p=function(t){return t},h.c2p=function(t){return t},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&amp;&amp;(n&lt;e[0]||n&gt;e[c-1]|i&lt;r[0]||i&gt;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,d,p,m=0,g=0,v=[];n&lt;e[0]?(f=0,h=0,m=(n-e[0])/(e[1]-e[0])):n&gt;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&lt;r[0]?(d=0,p=0,g=(i-r[0])/(r[1]-r[0])):i&gt;r[u-1]?(d=u-2,p=1,g=(i-r[u-1])/(r[u-1]-r[u-2])):p=s-(d=Math.max(0,Math.min(u-2,Math.floor(s)))),m&amp;&amp;(t.dxydi(v,f,d,h,p),l[0]+=v[0]*m,l[1]+=v[1]*m),g&amp;&amp;(t.dxydj(v,f,d,h,p),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}}},{&quot;../../lib/search&quot;:761,&quot;./compute_control_points&quot;:923,&quot;./constants&quot;:924,&quot;./create_i_derivative_evaluator&quot;:925,&quot;./create_j_derivative_evaluator&quot;:926,&quot;./create_spline_evaluator&quot;:927}],938:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib&quot;);e.exports=function(t,e,r){function i(e,r){var n,i=0,a=0;return e&gt;0&amp;&amp;void 0!==(n=t[r][e-1])&amp;&amp;(a++,i+=n),e&lt;u-1&amp;&amp;void 0!==(n=t[r][e+1])&amp;&amp;(a++,i+=n),r&gt;0&amp;&amp;void 0!==(n=t[r-1][e])&amp;&amp;(a++,i+=n),r&lt;f-1&amp;&amp;void 0!==(n=t[r+1][e])&amp;&amp;(a++,i+=n),i/Math.max(1,a)}var a,o,s,l=[],c=[],u=t[0].length,f=t.length,h=0;for(a=0;a&lt;u;a++)for(o=0;o&lt;f;o++)void 0===t[o][a]&amp;&amp;(l.push(a),c.push(o),t[o][a]=i(a,o)),h=Math.max(h,Math.abs(t[o][a]));if(!l.length)return t;var d,p,m,g,v,y,x,b,_,w,M,k=0,A=0,T=l.length;do{for(k=0,s=0;s&lt;T;s++){a=l[s],o=c[s];var S,E,L,C,z,D,I=0,P=0;0===a?(L=e[z=Math.min(u-1,2)],C=e[1],S=t[o][z],P+=(E=t[o][1])+(E-S)*(e[0]-C)/(C-L),I++):a===u-1&amp;&amp;(L=e[z=Math.max(0,u-3)],C=e[u-2],S=t[o][z],P+=(E=t[o][u-2])+(E-S)*(e[u-1]-C)/(C-L),I++),(0===a||a===u-1)&amp;&amp;o&gt;0&amp;&amp;o&lt;f-1&amp;&amp;(d=r[o+1]-r[o],P+=((p=r[o]-r[o-1])*t[o+1][a]+d*t[o-1][a])/(p+d),I++),0===o?(L=r[D=Math.min(f-1,2)],C=r[1],S=t[D][a],P+=(E=t[1][a])+(E-S)*(r[0]-C)/(C-L),I++):o===f-1&amp;&amp;(L=r[D=Math.max(0,f-3)],C=r[f-2],S=t[D][a],P+=(E=t[f-2][a])+(E-S)*(r[f-1]-C)/(C-L),I++),(0===o||o===f-1)&amp;&amp;a&gt;0&amp;&amp;a&lt;u-1&amp;&amp;(d=e[a+1]-e[a],P+=((p=e[a]-e[a-1])*t[o][a+1]+d*t[o][a-1])/(p+d),I++),I?P/=I:(m=e[a+1]-e[a],g=e[a]-e[a-1],b=(v=r[o+1]-r[o])*(y=r[o]-r[o-1])*(v+y),P=((x=m*g*(m+g))*(y*t[o+1][a]+v*t[o-1][a])+b*(g*t[o][a+1]+m*t[o][a-1]))/(b*(g+m)+x*(y+v))),k+=(w=(_=P-t[o][a])/h)*w,M=I?0:.85,t[o][a]+=_*(1+M)}k=Math.sqrt(k)}while(A++&lt;100&amp;&amp;k&gt;1e-5);return n.log(&quot;Smoother converged to&quot;,k,&quot;after&quot;,A,&quot;iterations&quot;),t}},{&quot;../../lib&quot;:743}],939:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;./has_columns&quot;),i=t(&quot;../heatmap/convert_column_xyz&quot;);e.exports=function(t,e,r){var a=[],o=r(&quot;x&quot;);o&amp;&amp;!n(o)&amp;&amp;a.push(&quot;x&quot;),e._cheater=!o;var s=r(&quot;y&quot;);if(s&amp;&amp;!n(s)&amp;&amp;a.push(&quot;y&quot;),o||s)return a.length&amp;&amp;i(e,e.aaxis,e.baxis,&quot;a&quot;,&quot;b&quot;,a),!0}},{&quot;../heatmap/convert_column_xyz&quot;:981,&quot;./has_columns&quot;:929}],940:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../scattergeo/attributes&quot;),i=t(&quot;../../components/colorscale/attributes&quot;),a=t(&quot;../../components/colorbar/attributes&quot;),o=t(&quot;../../plots/attributes&quot;),s=t(&quot;../../lib/extend&quot;),l=s.extendFlat,c=s.extendDeepAll,u=n.marker.line;e.exports=l({locations:{valType:&quot;data_array&quot;,editType:&quot;calc&quot;},locationmode:n.locationmode,z:{valType:&quot;data_array&quot;,editType:&quot;calc&quot;},text:l({},n.text,{}),marker:{line:{color:u.color,width:l({},u.width,{dflt:1}),editType:&quot;calc&quot;},opacity:{valType:&quot;number&quot;,arrayOk:!0,min:0,max:1,dflt:1,editType:&quot;style&quot;},editType:&quot;calc&quot;},selected:{marker:{opacity:n.selected.marker.opacity,editType:&quot;plot&quot;},editType:&quot;plot&quot;},unselected:{marker:{opacity:n.unselected.marker.opacity,editType:&quot;plot&quot;},editType:&quot;plot&quot;},hoverinfo:l({},o.hoverinfo,{editType:&quot;calc&quot;,flags:[&quot;location&quot;,&quot;z&quot;,&quot;text&quot;,&quot;name&quot;]})},c({},i,{zmax:{editType:&quot;calc&quot;},zmin:{editType:&quot;calc&quot;}}),{colorbar:a})},{&quot;../../components/colorbar/attributes&quot;:619,&quot;../../components/colorscale/attributes&quot;:624,&quot;../../lib/extend&quot;:732,&quot;../../plots/attributes&quot;:787,&quot;../scattergeo/attributes&quot;:1104}],941:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;fast-isnumeric&quot;),i=t(&quot;../../constants/numerical&quot;).BADNUM,a=t(&quot;../../components/colorscale/calc&quot;),o=t(&quot;../scatter/arrays_to_calcdata&quot;),s=t(&quot;../scatter/calc_selection&quot;);e.exports=function(t,e){for(var r=e.locations.length,l=new Array(r),c=0;c&lt;r;c++){var u=l[c]={},f=e.locations[c],h=e.z[c];u.loc=&quot;string&quot;==typeof f?f:null,u.z=n(h)?h:i}return o(l,e),a(e,e.z,&quot;&quot;,&quot;z&quot;),s(l,e),l}},{&quot;../../components/colorscale/calc&quot;:625,&quot;../../constants/numerical&quot;:721,&quot;../scatter/arrays_to_calcdata&quot;:1065,&quot;../scatter/calc_selection&quot;:1068,&quot;fast-isnumeric&quot;:140}],942:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib&quot;),i=t(&quot;../../components/colorscale/defaults&quot;),a=t(&quot;./attributes&quot;);e.exports=function(t,e,r,o){function s(r,i){return n.coerce(t,e,a,r,i)}var l,c=s(&quot;locations&quot;);if(c&amp;&amp;(l=c.length),c&amp;&amp;l){var u=s(&quot;z&quot;);Array.isArray(u)?(u.length&gt;l&amp;&amp;(e.z=u.slice(0,l)),s(&quot;locationmode&quot;),s(&quot;text&quot;),s(&quot;marker.line.color&quot;),s(&quot;marker.line.width&quot;),s(&quot;marker.opacity&quot;),i(t,e,o,s,{prefix:&quot;&quot;,cLetter:&quot;z&quot;}),n.coerceSelectionMarkerOpacity(e,s)):e.visible=!1}else e.visible=!1}},{&quot;../../components/colorscale/defaults&quot;:628,&quot;../../lib&quot;:743,&quot;./attributes&quot;:940}],943:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t,e){return t.location=e.location,t.z=e.z,t}},{}],944:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../plots/cartesian/axes&quot;),i=t(&quot;./attributes&quot;),a=t(&quot;../scatter/fill_hover_text&quot;);e.exports=function(t,e,r){var o,s,l,c,u=t.cd,f=u[0].trace,h=t.subplot;for(s=0;s&lt;u.length;s++)if(o=u[s],c=!1,o._polygons){for(l=0;l&lt;o._polygons.length;l++)o._polygons[l].contains([e,r])&amp;&amp;(c=!c),o._polygons[l].contains([e+360,r])&amp;&amp;(c=!c);if(c)break}if(c&amp;&amp;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,function(t,e,r,o){var s=r.hi||e.hoverinfo,l=&quot;all&quot;===s?i.hoverinfo.flags:s.split(&quot;+&quot;),c=-1!==l.indexOf(&quot;name&quot;),u=-1!==l.indexOf(&quot;location&quot;),f=-1!==l.indexOf(&quot;z&quot;),h=-1!==l.indexOf(&quot;text&quot;),d=[];!c&amp;&amp;u?t.nameOverride=r.loc:(c&amp;&amp;(t.nameOverride=e.name),u&amp;&amp;d.push(r.loc)),f&amp;&amp;d.push(function(t){return n.tickText(o,o.c2l(t),&quot;hover&quot;).text}(r.z)),h&amp;&amp;a(r,e,d),t.extraText=d.join(&quot;&lt;br&gt;&quot;)}(t,f,o,h.mockAxis),[t]}},{&quot;../../plots/cartesian/axes&quot;:789,&quot;../scatter/fill_hover_text&quot;:1074,&quot;./attributes&quot;:940}],945:[function(t,e,r){&quot;use strict&quot;;var n={};n.attributes=t(&quot;./attributes&quot;),n.supplyDefaults=t(&quot;./defaults&quot;),n.colorbar=t(&quot;../heatmap/colorbar&quot;),n.calc=t(&quot;./calc&quot;),n.plot=t(&quot;./plot&quot;),n.style=t(&quot;./style&quot;),n.hoverPoints=t(&quot;./hover&quot;),n.eventData=t(&quot;./event_data&quot;),n.selectPoints=t(&quot;./select&quot;),n.moduleType=&quot;trace&quot;,n.name=&quot;choropleth&quot;,n.basePlotModule=t(&quot;../../plots/geo&quot;),n.categories=[&quot;geo&quot;,&quot;noOpacity&quot;],n.meta={},e.exports=n},{&quot;../../plots/geo&quot;:820,&quot;../heatmap/colorbar&quot;:980,&quot;./attributes&quot;:940,&quot;./calc&quot;:941,&quot;./defaults&quot;:942,&quot;./event_data&quot;:943,&quot;./hover&quot;:944,&quot;./plot&quot;:946,&quot;./select&quot;:947,&quot;./style&quot;:948}],946:[function(t,e,r){&quot;use strict&quot;;function n(t,e){for(var r=t[0].trace,n=t.length,i=s(r,e),a=0;a&lt;n;a++){var c=t[a],u=l(r.locationmode,c.loc,i);u?(c.geojson=u,c.ct=u.properties.ct,c.index=a,c._polygons=function(t){function e(t){for(var e=0;e&lt;t.length-1;e++)if(t[e][0]&gt;0&amp;&amp;t[e+1][0]&lt;0)return e;return null}var r,n,i,a,s=t.geometry,l=s.coordinates,c=t.id,u=[];r=&quot;RUS&quot;===c||&quot;FJI&quot;===c?function(t){var r;if(null===e(t))r=t;else for(r=new Array(t.length),a=0;a&lt;t.length;a++)r[a]=[t[a][0]&lt;0?t[a][0]+360:t[a][0],t[a][1]];u.push(o.tester(r))}:&quot;ATA&quot;===c?function(t){var r=e(t);if(null===r)return u.push(o.tester(t));var n=new Array(t.length+1),i=0;for(a=0;a&lt;t.length;a++)a&gt;r?n[i++]=[t[a][0]+360,t[a][1]]:a===r?(n[i++]=t[a],n[i++]=[t[a][0],-90]):n[i++]=t[a];var s=o.tester(n);s.pts.pop(),u.push(s)}:function(t){u.push(o.tester(t))};switch(s.type){case&quot;MultiPolygon&quot;:for(n=0;n&lt;l.length;n++)for(i=0;i&lt;l[n].length;i++)r(l[n][i]);break;case&quot;Polygon&quot;:for(n=0;n&lt;l.length;n++)r(l[n])}return u}(u)):c.geojson=null}}var i=t(&quot;d3&quot;),a=t(&quot;../../lib&quot;),o=t(&quot;../../lib/polygon&quot;),s=t(&quot;../../lib/topojson_utils&quot;).getTopojsonFeatures,l=t(&quot;../../lib/geo_location_utils&quot;).locationToFeature,c=t(&quot;./style&quot;);e.exports=function(t,e,r){for(var o=0;o&lt;r.length;o++)n(r[o],e.topojson);var s=e.layers.backplot.select(&quot;.choroplethlayer&quot;).selectAll(&quot;g.trace.choropleth&quot;).data(r,function(t){return t[0].trace.uid});s.enter().append(&quot;g&quot;).attr(&quot;class&quot;,&quot;trace choropleth&quot;),s.exit().remove(),s.each(function(e){var r=(e[0].node3=i.select(this)).selectAll(&quot;path.choroplethlocation&quot;).data(a.identity);r.enter().append(&quot;path&quot;).classed(&quot;choroplethlocation&quot;,!0),r.exit().remove(),c(t,e)})}},{&quot;../../lib&quot;:743,&quot;../../lib/geo_location_utils&quot;:735,&quot;../../lib/polygon&quot;:755,&quot;../../lib/topojson_utils&quot;:769,&quot;./style&quot;:948,d3:128}],947:[function(t,e,r){&quot;use strict&quot;;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&lt;s.length;r++)s[r].selected=0;else for(r=0;r&lt;s.length;r++)(i=(n=s[r]).ct)&amp;&amp;(a=l.c2p(i),o=c.c2p(i),e.contains([a,o])?(u.push({pointNumber:r,lon:i[0],lat:i[1]}),n.selected=1):n.selected=0);return u}},{}],948:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;d3&quot;),i=t(&quot;../../components/color&quot;),a=t(&quot;../../components/drawing&quot;),o=t(&quot;../../components/colorscale&quot;);e.exports=function(t,e){e&amp;&amp;function(t,e){var r=e[0].trace,s=e[0].node3.selectAll(&quot;.choroplethlocation&quot;),l=r.marker||{},c=l.line||{},u=o.makeColorScaleFunc(o.extractScale(r.colorscale,r.zmin,r.zmax));s.each(function(t){n.select(this).attr(&quot;fill&quot;,u(t.z)).call(i.stroke,t.mlc||c.color).call(a.dashLine,&quot;&quot;,t.mlw||c.width||0).style(&quot;opacity&quot;,l.opacity)}),a.selectedPointStyle(s,r)}(0,e)}},{&quot;../../components/color&quot;:618,&quot;../../components/colorscale&quot;:633,&quot;../../components/drawing&quot;:643,d3:128}],949:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../heatmap/attributes&quot;),i=t(&quot;../scatter/attributes&quot;),a=t(&quot;../../components/colorscale/attributes&quot;),o=t(&quot;../../components/colorbar/attributes&quot;),s=t(&quot;../../components/drawing/attributes&quot;).dash,l=t(&quot;../../plots/font_attributes&quot;),c=t(&quot;../../lib/extend&quot;).extendFlat,u=i.line;e.exports=c({z:n.z,x:n.x,x0:n.x0,dx:n.dx,y:n.y,y0:n.y0,dy:n.dy,text:n.text,transpose:n.transpose,xtype:n.xtype,ytype:n.ytype,zhoverformat:n.zhoverformat,connectgaps:n.connectgaps,autocontour:{valType:&quot;boolean&quot;,dflt:!0,editType:&quot;calc&quot;,impliedEdits:{&quot;contours.start&quot;:void 0,&quot;contours.end&quot;:void 0,&quot;contours.size&quot;:void 0}},ncontours:{valType:&quot;integer&quot;,dflt:15,min:1,editType:&quot;calc&quot;},contours:{start:{valType:&quot;number&quot;,dflt:null,editType:&quot;plot&quot;,impliedEdits:{&quot;^autocontour&quot;:!1}},end:{valType:&quot;number&quot;,dflt:null,editType:&quot;plot&quot;,impliedEdits:{&quot;^autocontour&quot;:!1}},size:{valType:&quot;number&quot;,dflt:null,min:0,editType:&quot;plot&quot;,impliedEdits:{&quot;^autocontour&quot;:!1}},coloring:{valType:&quot;enumerated&quot;,values:[&quot;fill&quot;,&quot;heatmap&quot;,&quot;lines&quot;,&quot;none&quot;],dflt:&quot;fill&quot;,editType:&quot;calc&quot;},showlines:{valType:&quot;boolean&quot;,dflt:!0,editType:&quot;plot&quot;},showlabels:{valType:&quot;boolean&quot;,dflt:!1,editType:&quot;plot&quot;},labelfont:l({editType:&quot;plot&quot;,colorEditType:&quot;style&quot;}),labelformat:{valType:&quot;string&quot;,dflt:&quot;&quot;,editType:&quot;plot&quot;},editType:&quot;calc&quot;,impliedEdits:{autocontour:!1}},line:{color:c({},u.color,{editType:&quot;style+colorbars&quot;}),width:c({},u.width,{editType:&quot;style+colorbars&quot;}),dash:s,smoothing:c({},u.smoothing,{}),editType:&quot;plot&quot;}},a,{autocolorscale:c({},a.autocolorscale,{dflt:!1}),zmin:c({},a.zmin,{editType:&quot;calc&quot;}),zmax:c({},a.zmax,{editType:&quot;calc&quot;})},{colorbar:o})},{&quot;../../components/colorbar/attributes&quot;:619,&quot;../../components/colorscale/attributes&quot;:624,&quot;../../components/drawing/attributes&quot;:642,&quot;../../lib/extend&quot;:732,&quot;../../plots/font_attributes&quot;:816,&quot;../heatmap/attributes&quot;:977,&quot;../scatter/attributes&quot;:1066}],950:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r){var n={type:&quot;linear&quot;,range:[t,e]};return i.autoTicks(n,(e-t)/(r||15)),n}var i=t(&quot;../../plots/cartesian/axes&quot;),a=t(&quot;../../lib&quot;).extendFlat,o=t(&quot;../heatmap/calc&quot;);e.exports=function(t,e){var r=o(t,e),s=e.contours;if(!1!==e.autocontour){var l=n(e.zmin,e.zmax,e.ncontours);s.size=l.dtick,s.start=i.tickFirst(l),l.range.reverse(),s.end=i.tickFirst(l),s.start===e.zmin&amp;&amp;(s.start+=s.size),s.end===e.zmax&amp;&amp;(s.end-=s.size),s.start&gt;s.end&amp;&amp;(s.start=s.end=(s.start+s.end)/2),e._input.contours||(e._input.contours={}),a(e._input.contours,{start:s.start,end:s.end,size:s.size}),e._input.autocontour=!0}else{var c=s.start,u=s.end,f=e._input.contours;if(c&gt;u&amp;&amp;(s.start=f.start=u,u=s.end=f.end=c,c=s.start),!(s.size&gt;0)){var h;h=c===u?1:n(c,u,e.ncontours).dtick,f.size=s.size=h}}return r}},{&quot;../../lib&quot;:743,&quot;../../plots/cartesian/axes&quot;:789,&quot;../heatmap/calc&quot;:978}],951:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../plots/plots&quot;),i=t(&quot;../../components/colorbar/draw&quot;),a=t(&quot;./make_color_map&quot;),o=t(&quot;./end_plus&quot;);e.exports=function(t,e){var r=e[0].trace,s=&quot;cb&quot;+r.uid;if(t._fullLayout._infolayer.selectAll(&quot;.&quot;+s).remove(),r.showscale){var l=i(t,s);e[0].t.cb=l;var c=r.contours,u=r.line,f=c.size||1,h=c.coloring,d=a(r,{isColorbar:!0});&quot;heatmap&quot;===h&amp;&amp;l.filllevels({start:r.zmin,end:r.zmax,size:(r.zmax-r.zmin)/254}),l.fillcolor(&quot;fill&quot;===h||&quot;heatmap&quot;===h?d:&quot;&quot;).line({color:&quot;lines&quot;===h?d:u.color,width:!1!==c.showlines?u.width:0,dash:u.dash}).levels({start:c.start,end:o(c),size:f}).options(r.colorbar)()}else n.autoMargin(t,s)}},{&quot;../../components/colorbar/draw&quot;:622,&quot;../../plots/plots&quot;:852,&quot;./end_plus&quot;:955,&quot;./make_color_map&quot;:959}],952:[function(t,e,r){&quot;use strict&quot;;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}}},{}],953:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib&quot;),i=t(&quot;./attributes&quot;);e.exports=function(t,e,r){var a=n.coerce2(t,e,i,&quot;contours.start&quot;),o=n.coerce2(t,e,i,&quot;contours.end&quot;),s=!1===a||!1===o,l=r(&quot;contours.size&quot;);!(s?e.autocontour=!0:r(&quot;autocontour&quot;,!1))&amp;&amp;l||r(&quot;ncontours&quot;)}},{&quot;../../lib&quot;:743,&quot;./attributes&quot;:949}],954:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib&quot;),i=t(&quot;../heatmap/has_columns&quot;),a=t(&quot;../heatmap/xyz_defaults&quot;),o=t(&quot;./contours_defaults&quot;),s=t(&quot;./style_defaults&quot;),l=t(&quot;./attributes&quot;);e.exports=function(t,e,r,c){function u(r,i){return n.coerce(t,e,l,r,i)}a(t,e,u,c)?(u(&quot;text&quot;),u(&quot;connectgaps&quot;,i(e)),o(t,e,u),s(t,e,u,c)):e.visible=!1}},{&quot;../../lib&quot;:743,&quot;../heatmap/has_columns&quot;:984,&quot;../heatmap/xyz_defaults&quot;:993,&quot;./attributes&quot;:949,&quot;./contours_defaults&quot;:953,&quot;./style_defaults&quot;:963}],955:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t){return t.end+t.size/1e6}},{}],956:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,n){return Math.abs(t[0]-e[0])&lt;r&amp;&amp;Math.abs(t[1]-e[1])&lt;n}function i(t,e){var r=t[2]-e[2],n=t[3]-e[3];return Math.sqrt(r*r+n*n)}function a(t,e,r,a,c){function u(t){return g[t%g.length]}var f,h=e.join(&quot;,&quot;),d=h,p=t.crossings[d],m=function(t,e,r){var n=0,i=0;t&gt;20&amp;&amp;e?208===t||1114===t?n=0===r[0]?1:-1:i=0===r[1]?1:-1:-1!==l.BOTTOMSTART.indexOf(t)?i=1:-1!==l.LEFTSTART.indexOf(t)?n=1:-1!==l.TOPSTART.indexOf(t)?i=-1:n=-1;return[n,i]}(p,r,e),g=[o(t,e,[-m[0],-m[1]])],v=m.join(&quot;,&quot;),y=t.z.length,x=t.z[0].length;for(f=0;f&lt;1e4;f++){if(p&gt;20?(p=l.CHOOSESADDLE[p][(m[0]||m[1])&lt;0?0:1],t.crossings[d]=l.SADDLEREMAINDER[p]):delete t.crossings[d],!(m=l.NEWDELTA[p])){s.log(&quot;Found bad marching index:&quot;,p,e,t.level);break}g.push(o(t,e,m)),e[0]+=m[0],e[1]+=m[1],n(g[g.length-1],g[g.length-2],a,c)&amp;&amp;g.pop(),d=e.join(&quot;,&quot;);var b=m[0]&amp;&amp;(e[0]&lt;0||e[0]&gt;x-2)||m[1]&amp;&amp;(e[1]&lt;0||e[1]&gt;y-2);if(d===h&amp;&amp;m.join(&quot;,&quot;)===v||r&amp;&amp;b)break;p=t.crossings[d]}1e4===f&amp;&amp;s.log(&quot;Infinite loop in contour?&quot;);var _,w,M,k,A,T,S,E,L,C,z,D=n(g[0],g[g.length-1],a,c),I=0,P=.2*t.smoothing,O=[],F=0;for(f=1;f&lt;g.length;f++)I+=S=i(g[f],g[f-1]),O.push(S);var R=I/O.length*P;for(f=g.length-2;f&gt;=F;f--)if((_=O[f])&lt;R){for(M=0,w=f-1;w&gt;=F&amp;&amp;_+O[w]&lt;R;w--)_+=O[w];if(D&amp;&amp;f===g.length-2)for(M=0;M&lt;w&amp;&amp;_+O[M]&lt;R;M++)_+=O[M];A=f-w+M+1,T=Math.floor((f+w+M+2)/2),k=D||f!==g.length-2?D||-1!==w?A%2?u(T):[(u(T)[0]+u(T+1)[0])/2,(u(T)[1]+u(T+1)[1])/2]:g[0]:g[g.length-1],g.splice(w+1,f-w+1,k),f=w+1,M&amp;&amp;(F=M),D&amp;&amp;(f===g.length-2?g[M]=g[g.length-1]:0===f&amp;&amp;(g[g.length-1]=g[0]))}for(g.splice(0,F),f=0;f&lt;g.length;f++)g[f].length=2;if(!(g.length&lt;2))if(D)g.pop(),t.paths.push(g);else{r||s.log(&quot;Unclosed interior contour?&quot;,t.level,h,g.join(&quot;L&quot;));var N=!1;for(E=0;E&lt;t.edgepaths.length;E++)if(C=t.edgepaths[E],!N&amp;&amp;n(C[0],g[g.length-1],a,c)){g.pop(),N=!0;var j=!1;for(L=0;L&lt;t.edgepaths.length;L++)if(z=t.edgepaths[L],n(z[z.length-1],g[0],a,c)){j=!0,g.shift(),t.edgepaths.splice(E,1),L===E?t.paths.push(g.concat(z)):(L&gt;E&amp;&amp;L--,t.edgepaths[L]=z.concat(g,C));break}j||(t.edgepaths[E]=g.concat(C))}for(E=0;E&lt;t.edgepaths.length&amp;&amp;!N;E++)n((C=t.edgepaths[E])[C.length-1],g[0],a,c)&amp;&amp;(g.shift(),t.edgepaths[E]=C.concat(g),N=!0);N||t.edgepaths.push(g)}}function o(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);return[o.c2p((1-l)*t.x[n]+l*t.x[n+1],!0),s.c2p(t.y[i],!0),n+l,i]}var c=(t.level-a)/(t.z[i+1][n]-a);return[o.c2p(t.x[n],!0),s.c2p((1-c)*t.y[i]+c*t.y[i+1],!0),n,i+c]}var s=t(&quot;../../lib&quot;),l=t(&quot;./constants&quot;);e.exports=function(t,e,r){var n,i,o,l;for(e=e||.01,r=r||.01,i=0;i&lt;t.length;i++){for(o=t[i],l=0;l&lt;o.starts.length;l++)a(o,o.starts[l],&quot;edge&quot;,e,r);for(n=0;Object.keys(o.crossings).length&amp;&amp;n&lt;1e4;)n++,a(o,Object.keys(o.crossings)[0].split(&quot;,&quot;).map(Number),void 0,e,r);1e4===n&amp;&amp;s.log(&quot;Infinite loop in contour?&quot;)}}},{&quot;../../lib&quot;:743,&quot;./constants&quot;:952}],957:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../heatmap/hover&quot;);e.exports=function(t,e,r,i,a){return n(t,e,r,i,a,!0)}},{&quot;../heatmap/hover&quot;:985}],958:[function(t,e,r){&quot;use strict&quot;;var n={};n.attributes=t(&quot;./attributes&quot;),n.supplyDefaults=t(&quot;./defaults&quot;),n.calc=t(&quot;./calc&quot;),n.plot=t(&quot;./plot&quot;).plot,n.style=t(&quot;./style&quot;),n.colorbar=t(&quot;./colorbar&quot;),n.hoverPoints=t(&quot;./hover&quot;),n.moduleType=&quot;trace&quot;,n.name=&quot;contour&quot;,n.basePlotModule=t(&quot;../../plots/cartesian&quot;),n.categories=[&quot;cartesian&quot;,&quot;2dMap&quot;,&quot;contour&quot;],n.meta={},e.exports=n},{&quot;../../plots/cartesian&quot;:800,&quot;./attributes&quot;:949,&quot;./calc&quot;:950,&quot;./colorbar&quot;:951,&quot;./defaults&quot;:954,&quot;./hover&quot;:957,&quot;./plot&quot;:961,&quot;./style&quot;:962}],959:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;d3&quot;),i=t(&quot;../../components/colorscale&quot;),a=t(&quot;./end_plus&quot;);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=&quot;lines&quot;===e.coloring?0:1;isFinite(s)||(s=1,l=1);var u,f,h=t.colorscale,d=h.length,p=new Array(d),m=new Array(d);if(&quot;heatmap&quot;===e.coloring){for(t.zauto&amp;&amp;!1===t.autocontour&amp;&amp;(t.zmin=r-s/2,t.zmax=t.zmin+l*s),f=0;f&lt;d;f++)u=h[f],p[f]=u[0]*(t.zmax-t.zmin)+t.zmin,m[f]=u[1];var g=n.extent([t.zmin,t.zmax,e.start,e.start+s*(l-1)]),v=g[t.zmin&lt;t.zmax?0:1],y=g[t.zmin&lt;t.zmax?1:0];v!==t.zmin&amp;&amp;(p.splice(0,0,v),m.splice(0,0,Range[0])),y!==t.zmax&amp;&amp;(p.push(y),m.push(m[m.length-1]))}else for(f=0;f&lt;d;f++)u=h[f],p[f]=(u[0]*(l+c-1)-c/2)*s+r,m[f]=u[1];return i.makeColorScaleFunc({domain:p,range:m},{noNumericCheck:!0})}},{&quot;../../components/colorscale&quot;:633,&quot;./end_plus&quot;:955,d3:128}],960:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;./constants&quot;);e.exports=function(t){var e,r,i,a,o,s,l,c,u,f=t[0].z,h=f.length,d=f[0].length,p=2===h||2===d;for(r=0;r&lt;h-1;r++)for(a=[],0===r&amp;&amp;(a=a.concat(n.BOTTOMSTART)),r===h-2&amp;&amp;(a=a.concat(n.TOPSTART)),e=0;e&lt;d-1;e++)for(i=a.slice(),0===e&amp;&amp;(i=i.concat(n.LEFTSTART)),e===d-2&amp;&amp;(i=i.concat(n.RIGHTSTART)),o=e+&quot;,&quot;+r,s=[[f[r][e],f[r][e+1]],[f[r+1][e],f[r+1][e+1]]],u=0;u&lt;t.length;u++)(l=function(t,e){var r=(e[0][0]&gt;t?0:1)+(e[0][1]&gt;t?0:2)+(e[1][1]&gt;t?0:4)+(e[1][0]&gt;t?0:8);if(5===r||10===r)return t&gt;(e[0][0]+e[0][1]+e[1][0]+e[1][1])/4?5===r?713:1114:5===r?104:208;return 15===r?0:r}((c=t[u]).level,s))&amp;&amp;(c.crossings[o]=l,-1!==i.indexOf(l)&amp;&amp;(c.starts.push([e,r]),p&amp;&amp;-1!==i.indexOf(l,i.indexOf(l)+1)&amp;&amp;c.starts.push([e,r])))}},{&quot;./constants&quot;:952}],961:[function(t,e,r){&quot;use strict&quot;;function n(t,e,n){var l=n[0].trace,c=n[0].x,u=n[0].y,g=l.contours,v=l.uid,y=e.xaxis,x=e.yaxis,b=t._fullLayout,_=&quot;contour&quot;+v,w=function(t,e,r){for(var n=t.size,i=[],a=p(t),s=t.start;s&lt;a;s+=n)if(i.push({level:s,crossings:{},starts:[],edgepaths:[],paths:[],xaxis:e.xaxis,yaxis:e.yaxis,x:r.x,y:r.y,z:r.z,smoothing:r.trace.line.smoothing}),i.length&gt;1e3){o.warn(&quot;Too many contours, clipping at 1000&quot;,t);break}return i}(g,e,n[0]);if(!0!==l.visible)return b._paper.selectAll(&quot;.&quot;+_+&quot;,.hm&quot;+v).remove(),void b._infolayer.selectAll(&quot;.cb&quot;+v).remove();&quot;heatmap&quot;===g.coloring?(l.zauto&amp;&amp;!1===l.autocontour&amp;&amp;(l._input.zmin=l.zmin=g.start-g.size/2,l._input.zmax=l.zmax=l.zmin+w.length*g.size),f(t,e,[n])):(b._paper.selectAll(&quot;.hm&quot;+v).remove(),b._infolayer.selectAll(&quot;g.rangeslider-container&quot;).selectAll(&quot;.hm&quot;+v).remove()),h(w),d(w);var M=y.c2p(c[0],!0),k=y.c2p(c[c.length-1],!0),A=x.c2p(u[0],!0),T=x.c2p(u[u.length-1],!0),S=[[M,T],[k,T],[k,A],[M,A]],E=r.makeContourGroup(e,n,_);!function(t,e,r){var n=t.selectAll(&quot;g.contourbg&quot;).data([0]);n.enter().append(&quot;g&quot;).classed(&quot;contourbg&quot;,!0);var i=n.selectAll(&quot;path&quot;).data(&quot;fill&quot;===r.coloring?[0]:[]);i.enter().append(&quot;path&quot;),i.exit().remove(),i.attr(&quot;d&quot;,&quot;M&quot;+e.join(&quot;L&quot;)+&quot;Z&quot;).style(&quot;stroke&quot;,&quot;none&quot;)}(E,S,g),function(t,e,r,n){var o=t.selectAll(&quot;g.contourfill&quot;).data([0]);o.enter().append(&quot;g&quot;).classed(&quot;contourfill&quot;,!0);var s=o.selectAll(&quot;path&quot;).data(&quot;fill&quot;===n.coloring?e:[]);s.enter().append(&quot;path&quot;),s.exit().remove(),s.each(function(t){var e=i(t,r);e?a.select(this).attr(&quot;d&quot;,e).style(&quot;stroke&quot;,&quot;none&quot;):a.select(this).remove()})}(E,w,S,g),function(t,e,n,i,l,c){var u=t.selectAll(&quot;g.contourlines&quot;).data([0]);u.enter().append(&quot;g&quot;).classed(&quot;contourlines&quot;,!0);var f=!1!==l.showlines,h=l.showlabels,d=f&amp;&amp;h,p=r.createLines(u,f||h,e),g=r.createLineClip(u,d,n._fullLayout._clips,i.trace.uid),v=t.selectAll(&quot;g.contourlabels&quot;).data(h?[0]:[]);if(v.exit().remove(),v.enter().append(&quot;g&quot;).classed(&quot;contourlabels&quot;,!0),h){var y=[c],x=[];o.clearLocationCache();var b=r.labelFormatter(l,i.t.cb,n._fullLayout),_=s.tester.append(&quot;text&quot;).attr(&quot;data-notex&quot;,1).call(s.font,l.labelfont),w=e[0].xaxis._length,M=e[0].yaxis._length,k={left:Math.max(c[0][0],0),right:Math.min(c[2][0],w),top:Math.max(c[0][1],0),bottom:Math.min(c[2][1],M)};k.middle=(k.top+k.bottom)/2,k.center=(k.left+k.right)/2;var A=Math.sqrt(w*w+M*M),T=m.LABELDISTANCE*A/Math.max(1,e.length/m.LABELINCREASE);p.each(function(t){var e=r.calcTextOpts(t.level,b,_,n);a.select(this).selectAll(&quot;path&quot;).each(function(){var t=o.getVisibleSegment(this,k,e.height/2);if(t&amp;&amp;!(t.len&lt;(e.width+e.height)*m.LABELMIN))for(var n=Math.min(Math.ceil(t.len/T),m.LABELMAX),i=0;i&lt;n;i++){var a=r.findBestTextLocation(this,t,e,x,k);if(!a)break;r.addLabelData(a,e,x,y)}})}),_.remove(),r.drawLabels(v,x,n,g,d?y:null)}h&amp;&amp;!f&amp;&amp;p.remove()}(E,w,t,n[0],g,S),function(t,e,r,n,a){var o=&quot;clip&quot;+n.trace.uid,l=r.selectAll(&quot;#&quot;+o).data(n.trace.connectgaps?[]:[0]);if(l.enter().append(&quot;clipPath&quot;).classed(&quot;contourclip&quot;,!0).attr(&quot;id&quot;,o),l.exit().remove(),!1===n.trace.connectgaps){var c={level:.9,crossings:{},starts:[],edgepaths:[],paths:[],xaxis:e.xaxis,yaxis:e.yaxis,x:n.x,y:n.y,z:function(t){var e,r,n=t.trace._emptypoints,i=[],a=t.z.length,o=t.z[0].length,s=[];for(e=0;e&lt;o;e++)s.push(1);for(e=0;e&lt;a;e++)i.push(s.slice());for(e=0;e&lt;n.length;e++)r=n[e],i[r[0]][r[1]]=0;return t.zmask=i,i}(n),smoothing:0};h([c]),d([c]);var u=i(c,a),f=l.selectAll(&quot;path&quot;).data([0]);f.enter().append(&quot;path&quot;),f.attr(&quot;d&quot;,u)}else o=null;t.call(s.setClipUrl,o),e.plot.selectAll(&quot;.hm&quot;+n.trace.uid).call(s.setClipUrl,o)}(E,e,b._clips,n[0],S)}function i(t,e){function r(t){return Math.abs(t[1]-e[0][1])&lt;.01}function n(t){return Math.abs(t[1]-e[2][1])&lt;.01}function i(t){return Math.abs(t[0]-e[0][0])&lt;.01}function a(t){return Math.abs(t[0]-e[2][0])&lt;.01}for(var l,c,u,f,h,d,p=Math.min(t.z[0][0],t.z[0][1]),m=t.edgepaths.length||p&lt;=t.level?&quot;&quot;:&quot;M&quot;+e.join(&quot;L&quot;)+&quot;Z&quot;,g=0,v=t.edgepaths.map(function(t,e){return e}),y=!0;v.length;){for(d=s.smoothopen(t.edgepaths[g],t.smoothing),m+=y?d:d.replace(/^M/,&quot;L&quot;),v.splice(v.indexOf(g),1),l=t.edgepaths[g][t.edgepaths[g].length-1],f=-1,u=0;u&lt;4;u++){if(!l){o.log(&quot;Missing end?&quot;,g,t);break}for(r(l)&amp;&amp;!a(l)?c=e[1]:i(l)?c=e[0]:n(l)?c=e[3]:a(l)&amp;&amp;(c=e[2]),h=0;h&lt;t.edgepaths.length;h++){var x=t.edgepaths[h][0];Math.abs(l[0]-c[0])&lt;.01?Math.abs(l[0]-x[0])&lt;.01&amp;&amp;(x[1]-l[1])*(c[1]-x[1])&gt;=0&amp;&amp;(c=x,f=h):Math.abs(l[1]-c[1])&lt;.01?Math.abs(l[1]-x[1])&lt;.01&amp;&amp;(x[0]-l[0])*(c[0]-x[0])&gt;=0&amp;&amp;(c=x,f=h):o.log(&quot;endpt to newendpt is not vert. or horz.&quot;,l,c,x)}if(l=c,f&gt;=0)break;m+=&quot;L&quot;+c}if(f===t.edgepaths.length){o.log(&quot;unclosed perimeter path&quot;);break}g=f,(y=-1===v.indexOf(g))&amp;&amp;(g=v[0],m+=&quot;Z&quot;)}for(g=0;g&lt;t.paths.length;g++)m+=s.smoothclosed(t.paths[g],t.smoothing);return m}var a=t(&quot;d3&quot;),o=t(&quot;../../lib&quot;),s=t(&quot;../../components/drawing&quot;),l=t(&quot;../../lib/svg_text_utils&quot;),c=t(&quot;../../plots/cartesian/axes&quot;),u=t(&quot;../../plots/cartesian/set_convert&quot;),f=t(&quot;../heatmap/plot&quot;),h=t(&quot;./make_crossings&quot;),d=t(&quot;./find_all_paths&quot;),p=t(&quot;./end_plus&quot;),m=t(&quot;./constants&quot;),g=m.LABELOPTIMIZER;r.plot=function(t,e,r){for(var i=0;i&lt;r.length;i++)n(t,e,r[i])},r.makeContourGroup=function(t,e,r){var n=t.plot.select(&quot;.maplayer&quot;).selectAll(&quot;g.contour.&quot;+r).data(e);return n.enter().append(&quot;g&quot;).classed(&quot;contour&quot;,!0).classed(r,!0),n.exit().remove(),n},r.createLines=function(t,e,r){var n=r[0].smoothing,i=t.selectAll(&quot;g.contourlevel&quot;).data(e?r:[]);if(i.exit().remove(),i.enter().append(&quot;g&quot;).classed(&quot;contourlevel&quot;,!0),e){var a=i.selectAll(&quot;path.openline&quot;).data(function(t){return t.pedgepaths||t.edgepaths});a.exit().remove(),a.enter().append(&quot;path&quot;).classed(&quot;openline&quot;,!0),a.attr(&quot;d&quot;,function(t){return s.smoothopen(t,n)}).style(&quot;stroke-miterlimit&quot;,1).style(&quot;vector-effect&quot;,&quot;non-scaling-stroke&quot;);var o=i.selectAll(&quot;path.closedline&quot;).data(function(t){return t.ppaths||t.paths});o.exit().remove(),o.enter().append(&quot;path&quot;).classed(&quot;closedline&quot;,!0),o.attr(&quot;d&quot;,function(t){return s.smoothclosed(t,n)}).style(&quot;stroke-miterlimit&quot;,1).style(&quot;vector-effect&quot;,&quot;non-scaling-stroke&quot;)}return i},r.createLineClip=function(t,e,r,n){var i=e?&quot;clipline&quot;+n:null,a=r.selectAll(&quot;#&quot;+i).data(e?[0]:[]);return a.exit().remove(),a.enter().append(&quot;clipPath&quot;).classed(&quot;contourlineclip&quot;,!0).attr(&quot;id&quot;,i),s.setClipUrl(t,i),a},r.labelFormatter=function(t,e,r){if(t.labelformat)return r._d3locale.numberFormat(t.labelformat);var n;return e?n=e.axis:(n={type:&quot;linear&quot;,_id:&quot;ycontour&quot;,nticks:(t.end-t.start)/t.size,showexponent:&quot;all&quot;,range:[t.start,t.end]},u(n,r),c.calcTicks(n),n._tmin=null,n._tmax=null),function(t){return c.tickText(n,t).text}},r.calcTextOpts=function(t,e,r,n){var i=e(t);r.text(i).call(l.convertToTspans,n);var a=s.bBox(r.node(),!0);return{text:i,width:a.width,height:a.height,level:t,dy:(a.top+a.bottom)/2}},r.findBestTextLocation=function(t,e,r,n,i){var a,s,l,c,u,f=r.width;e.isClosed?(s=e.len/g.INITIALSEARCHPOINTS,a=e.min+s/2,l=e.max):(s=(e.len-f)/(g.INITIALSEARCHPOINTS+1),a=e.min+s+f/2,l=e.max-(s+f)/2);for(var h=1/0,d=0;d&lt;g.ITERATIONS;d++){for(var p=a;p&lt;l;p+=s){var m=o.getTextLocation(t,e.total,p,f),v=function(t,e,r,n){var i=e.width/2,a=e.height/2,s=t.x,l=t.y,c=t.theta,u=Math.cos(c)*i,f=Math.sin(c)*i,h=(s&gt;n.center?n.right-s:s-n.left)/(u+Math.abs(Math.sin(c)*a)),d=(l&gt;n.middle?n.bottom-l:l-n.top)/(Math.abs(f)+Math.cos(c)*a);if(h&lt;1||d&lt;1)return 1/0;var p=g.EDGECOST*(1/(h-1)+1/(d-1));p+=g.ANGLECOST*c*c;for(var m=s-u,v=l-f,y=s+u,x=l+f,b=0;b&lt;r.length;b++){var _=r[b],w=Math.cos(_.theta)*_.width/2,M=Math.sin(_.theta)*_.width/2,k=2*o.segmentDistance(m,v,y,x,_.x-w,_.y-M,_.x+w,_.y+M)/(e.height+_.height),A=_.level===e.level,T=A?g.SAMELEVELDISTANCE:1;if(k&lt;=T)return 1/0;p+=g.NEIGHBORCOST*(A?g.SAMELEVELFACTOR:1)/(k-T)}return p}(m,r,n,i);v&lt;h&amp;&amp;(h=v,u=m,c=p)}if(h&gt;2*g.MAXCOST)break;d&amp;&amp;(s/=2),l=(a=c-s/2)+1.5*s}if(h&lt;=g.MAXCOST)return u},r.addLabelData=function(t,e,r,n){var i=e.width/2,a=e.height/2,o=t.x,s=t.y,l=t.theta,c=Math.sin(l),u=Math.cos(l),f=i*u,h=a*c,d=i*c,p=-a*u,m=[[o-f-h,s-d-p],[o+f-h,s+d-p],[o+f+h,s+d+p],[o-f+h,s-d+p]];r.push({text:e.text,x:o,y:s,dy:e.dy,theta:l,level:e.level,width:e.width,height:e.height}),n.push(m)},r.drawLabels=function(t,e,r,n,i){var o=t.selectAll(&quot;text&quot;).data(e,function(t){return t.text+&quot;,&quot;+t.x+&quot;,&quot;+t.y+&quot;,&quot;+t.theta});if(o.exit().remove(),o.enter().append(&quot;text&quot;).attr({&quot;data-notex&quot;:1,&quot;text-anchor&quot;:&quot;middle&quot;}).each(function(t){var e=t.x+Math.sin(t.theta)*t.dy,n=t.y-Math.cos(t.theta)*t.dy;a.select(this).text(t.text).attr({x:e,y:n,transform:&quot;rotate(&quot;+180*t.theta/Math.PI+&quot; &quot;+e+&quot; &quot;+n+&quot;)&quot;}).call(l.convertToTspans,r)}),i){for(var s=&quot;&quot;,c=0;c&lt;i.length;c++)s+=&quot;M&quot;+i[c].join(&quot;L&quot;)+&quot;Z&quot;;var u=n.selectAll(&quot;path&quot;).data([0]);u.enter().append(&quot;path&quot;),u.attr(&quot;d&quot;,s)}}},{&quot;../../components/drawing&quot;:643,&quot;../../lib&quot;:743,&quot;../../lib/svg_text_utils&quot;:766,&quot;../../plots/cartesian/axes&quot;:789,&quot;../../plots/cartesian/set_convert&quot;:808,&quot;../heatmap/plot&quot;:990,&quot;./constants&quot;:952,&quot;./end_plus&quot;:955,&quot;./find_all_paths&quot;:956,&quot;./make_crossings&quot;:960,d3:128}],962:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;d3&quot;),i=t(&quot;../../components/drawing&quot;),a=t(&quot;../heatmap/style&quot;),o=t(&quot;./make_color_map&quot;);e.exports=function(t){var e=n.select(t).selectAll(&quot;g.contour&quot;);e.style(&quot;opacity&quot;,function(t){return t.trace.opacity}),e.each(function(t){var e=n.select(this),r=t.trace,a=r.contours,s=r.line,l=a.size||1,c=a.start,u=&quot;constraint&quot;===a.type,f=!u&amp;&amp;&quot;lines&quot;===a.coloring,h=!u&amp;&amp;&quot;fill&quot;===a.coloring,d=f||h?o(r):null;e.selectAll(&quot;g.contourlevel&quot;).each(function(t){n.select(this).selectAll(&quot;path&quot;).call(i.lineGroupStyle,s.width,f?d(t.level):s.color,s.dash)});var p=a.labelfont;if(e.selectAll(&quot;g.contourlabels text&quot;).each(function(t){i.font(n.select(this),{family:p.family,size:p.size,color:p.color||(f?d(t.level):s.color)})}),u)e.selectAll(&quot;g.contourfill path&quot;).style(&quot;fill&quot;,r.fillcolor);else if(h){var m;e.selectAll(&quot;g.contourfill path&quot;).style(&quot;fill&quot;,function(t){return void 0===m&amp;&amp;(m=t.level),d(t.level+.5*l)}),void 0===m&amp;&amp;(m=c),e.selectAll(&quot;g.contourbg path&quot;).style(&quot;fill&quot;,d(m-.5*l))}}),a(t)}},{&quot;../../components/drawing&quot;:643,&quot;../heatmap/style&quot;:991,&quot;./make_color_map&quot;:959,d3:128}],963:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../components/colorscale/defaults&quot;),i=t(&quot;../../lib&quot;);e.exports=function(t,e,r,a,o){o||(o={});var s,l=r(&quot;contours.coloring&quot;),c=&quot;&quot;;&quot;fill&quot;===l&amp;&amp;(s=r(&quot;contours.showlines&quot;)),!1!==s&amp;&amp;(&quot;lines&quot;!==l&amp;&amp;(c=r(&quot;line.color&quot;,o.defaultColor||&quot;#000&quot;)),r(&quot;line.width&quot;,void 0===o.defaultWidth?.5:o.defaultWidth),r(&quot;line.dash&quot;)),r(&quot;line.smoothing&quot;),&quot;none&quot;!==l&amp;&amp;n(t,e,a,r,{prefix:&quot;&quot;,cLetter:&quot;z&quot;});if(r(&quot;contours.showlabels&quot;)){var u=a.font;i.coerceFont(r,&quot;contours.labelfont&quot;,{family:u.family,size:u.size,color:c}),r(&quot;contours.labelformat&quot;)}!1!==o.hasHover&amp;&amp;r(&quot;zhoverformat&quot;)}},{&quot;../../components/colorscale/defaults&quot;:628,&quot;../../lib&quot;:743}],964:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../heatmap/attributes&quot;),i=t(&quot;../contour/attributes&quot;),a=i.contours,o=t(&quot;../scatter/attributes&quot;),s=t(&quot;../../components/colorscale/attributes&quot;),l=t(&quot;../../components/colorbar/attributes&quot;),c=t(&quot;../../lib/extend&quot;).extendFlat,u=o.line,f=t(&quot;./constants&quot;);e.exports=c({},{carpet:{valType:&quot;string&quot;,editType:&quot;calc&quot;},z:n.z,a:n.x,a0:n.x0,da:n.dx,b:n.y,b0:n.y0,db:n.dy,text:n.text,transpose:n.transpose,atype:n.xtype,btype:n.ytype,mode:{valType:&quot;flaglist&quot;,flags:[&quot;lines&quot;,&quot;fill&quot;],extras:[&quot;none&quot;],editType:&quot;calc&quot;},connectgaps:n.connectgaps,fillcolor:{valType:&quot;color&quot;,editType:&quot;calc&quot;},autocontour:i.autocontour,ncontours:i.ncontours,contours:{type:{valType:&quot;enumerated&quot;,values:[&quot;levels&quot;,&quot;constraint&quot;],dflt:&quot;levels&quot;,editType:&quot;calc&quot;},start:a.start,end:a.end,size:a.size,coloring:{valType:&quot;enumerated&quot;,values:[&quot;fill&quot;,&quot;lines&quot;,&quot;none&quot;],dflt:&quot;fill&quot;,editType:&quot;calc&quot;},showlines:a.showlines,showlabels:a.showlabels,labelfont:a.labelfont,labelformat:a.labelformat,operation:{valType:&quot;enumerated&quot;,values:[].concat(f.INEQUALITY_OPS).concat(f.INTERVAL_OPS).concat(f.SET_OPS),dflt:&quot;=&quot;,editType:&quot;calc&quot;},value:{valType:&quot;any&quot;,dflt:0,editType:&quot;calc&quot;},editType:&quot;calc&quot;},line:{color:c({},u.color,{}),width:u.width,dash:u.dash,smoothing:c({},u.smoothing,{}),editType:&quot;plot&quot;}},s,{autocolorscale:c({},s.autocolorscale,{dflt:!1})},{colorbar:l})},{&quot;../../components/colorbar/attributes&quot;:619,&quot;../../components/colorscale/attributes&quot;:624,&quot;../../lib/extend&quot;:732,&quot;../contour/attributes&quot;:949,&quot;../heatmap/attributes&quot;:977,&quot;../scatter/attributes&quot;:1066,&quot;./constants&quot;:967}],965:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r){var n={type:&quot;linear&quot;,range:[t,e]};return i.autoTicks(n,(e-t)/(r||15)),n}var i=t(&quot;../../plots/cartesian/axes&quot;),a=t(&quot;../../lib&quot;).extendFlat,o=t(&quot;../../components/colorscale/calc&quot;),s=t(&quot;../heatmap/has_columns&quot;),l=t(&quot;../heatmap/convert_column_xyz&quot;),c=t(&quot;../heatmap/clean_2d_array&quot;),u=t(&quot;../heatmap/max_row_length&quot;),f=t(&quot;../heatmap/interp2d&quot;),h=t(&quot;../heatmap/find_empties&quot;),d=t(&quot;../heatmap/make_bound_array&quot;),p=t(&quot;./defaults&quot;),m=t(&quot;../carpet/lookup_carpetid&quot;);e.exports=function(t,e){var r=e.carpetTrace=m(t,e);if(r&amp;&amp;r.visible&amp;&amp;&quot;legendonly&quot;!==r.visible){if(!e.a||!e.b){var g=t.data[r.index],v=t.data[e.index];v.a||(v.a=g.a),v.b||(v.b=g.b),p(v,e,e._defaultColor,t._fullLayout)}var y=function(t,e){var r,n,i,a,p,m,g,v=e.carpetTrace,y=v.aaxis,x=v.baxis;y._minDtick=0,x._minDtick=0,s(e)&amp;&amp;l(e,y,x,&quot;a&quot;,&quot;b&quot;,[&quot;z&quot;]),r=e.a?y.makeCalcdata(e,&quot;a&quot;):[],a=e.b?x.makeCalcdata(e,&quot;b&quot;):[],n=e.a0||0,i=e.da||1,p=e.b0||0,m=e.db||1,g=c(e.z,e.transpose),e._emptypoints=h(g),e._interpz=f(g,e._emptypoints,e._interpz);var b=u(g),_=&quot;scaled&quot;===e.xtype?&quot;&quot;:r,w=d(e,_,n,i,b,y),M=&quot;scaled&quot;===e.ytype?&quot;&quot;:a,k={a:w,b:d(e,M,p,m,g.length,x),z:g};return&quot;levels&quot;===e.contours.type&amp;&amp;o(e,g,&quot;&quot;,&quot;z&quot;),[k]}(0,e),x=e.contours;if(!0===e.autocontour){var b=n(e.zmin,e.zmax,e.ncontours);x.size=b.dtick,x.start=i.tickFirst(b),b.range.reverse(),x.end=i.tickFirst(b),x.start===e.zmin&amp;&amp;(x.start+=x.size),x.end===e.zmax&amp;&amp;(x.end-=x.size),x.start&gt;x.end&amp;&amp;(x.start=x.end=(x.start+x.end)/2),e._input.contours=a({},x)}else{var _=x.start,w=x.end,M=e._input.contours;if(_&gt;w&amp;&amp;(x.start=M.start=w,w=x.end=M.end=_,_=x.start),!(x.size&gt;0)){var k;k=_===w?1:n(_,w,e.ncontours).dtick,M.size=x.size=k}}return y}}},{&quot;../../components/colorscale/calc&quot;:625,&quot;../../lib&quot;:743,&quot;../../plots/cartesian/axes&quot;:789,&quot;../carpet/lookup_carpetid&quot;:931,&quot;../heatmap/clean_2d_array&quot;:979,&quot;../heatmap/convert_column_xyz&quot;:981,&quot;../heatmap/find_empties&quot;:983,&quot;../heatmap/has_columns&quot;:984,&quot;../heatmap/interp2d&quot;:987,&quot;../heatmap/make_bound_array&quot;:988,&quot;../heatmap/max_row_length&quot;:989,&quot;./defaults&quot;:971}],966:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t,e,r,n){var i,a,o,s=n.a.length,l=n.b.length,c=n.z,u=-1/0,f=1/0;for(i=0;i&lt;l;i++)f=Math.min(f,c[i][0]),f=Math.min(f,c[i][s-1]),u=Math.max(u,c[i][0]),u=Math.max(u,c[i][s-1]);for(i=1;i&lt;s-1;i++)f=Math.min(f,c[0][i]),f=Math.min(f,c[l-1][i]),u=Math.max(u,c[0][i]),u=Math.max(u,c[l-1][i]);switch(e){case&quot;&gt;&quot;:case&quot;&gt;=&quot;:n.contours.value&gt;u&amp;&amp;(t[0].prefixBoundary=!0);break;case&quot;&lt;&quot;:case&quot;&lt;=&quot;:n.contours.value&lt;f&amp;&amp;(t[0].prefixBoundary=!0);break;case&quot;[]&quot;:case&quot;()&quot;:a=Math.min.apply(null,n.contours.value),(o=Math.max.apply(null,n.contours.value))&lt;f&amp;&amp;(t[0].prefixBoundary=!0),a&gt;u&amp;&amp;(t[0].prefixBoundary=!0);break;case&quot;][&quot;:case&quot;)(&quot;:a=Math.min.apply(null,n.contours.value),o=Math.max.apply(null,n.contours.value),a&lt;f&amp;&amp;o&gt;u&amp;&amp;(t[0].prefixBoundary=!0)}}},{}],967:[function(t,e,r){&quot;use strict&quot;;e.exports={INEQUALITY_OPS:[&quot;=&quot;,&quot;&lt;&quot;,&quot;&gt;=&quot;,&quot;&gt;&quot;,&quot;&lt;=&quot;],INTERVAL_OPS:[&quot;[]&quot;,&quot;()&quot;,&quot;[)&quot;,&quot;(]&quot;,&quot;][&quot;,&quot;)(&quot;,&quot;](&quot;,&quot;)[&quot;],SET_OPS:[&quot;{}&quot;,&quot;}{&quot;]}},{}],968:[function(t,e,r){&quot;use strict&quot;;function n(t,e){function r(t){return s(t)?+t:null}var n,i=Array.isArray(e);return-1!==o.INEQUALITY_OPS.indexOf(t)?n=r(i?e[0]:e):-1!==o.INTERVAL_OPS.indexOf(t)?n=i?[r(e[0]),r(e[1])]:[r(e),r(e)]:-1!==o.SET_OPS.indexOf(t)&amp;&amp;(n=i?e.map(r):[r(e)]),n}function i(t){return function(e){e=n(t,e);var r=Math.min(e[0],e[1]),i=Math.max(e[0],e[1]);return{start:r,end:i,size:i-r}}}function a(t){return function(e){return e=n(t,e),{start:e,end:1/0,size:1/0}}}var o=t(&quot;./constants&quot;),s=t(&quot;fast-isnumeric&quot;);e.exports[&quot;[]&quot;]=i(&quot;[]&quot;),e.exports[&quot;()&quot;]=i(&quot;()&quot;),e.exports[&quot;[)&quot;]=i(&quot;[)&quot;),e.exports[&quot;(]&quot;]=i(&quot;(]&quot;),e.exports[&quot;][&quot;]=i(&quot;][&quot;),e.exports[&quot;)(&quot;]=i(&quot;)(&quot;),e.exports[&quot;)[&quot;]=i(&quot;)[&quot;),e.exports[&quot;](&quot;]=i(&quot;](&quot;),e.exports[&quot;&gt;&quot;]=a(&quot;&gt;&quot;),e.exports[&quot;&gt;=&quot;]=a(&quot;&gt;=&quot;),e.exports[&quot;&lt;&quot;]=a(&quot;&lt;&quot;),e.exports[&quot;&lt;=&quot;]=a(&quot;&lt;=&quot;),e.exports[&quot;=&quot;]=a(&quot;=&quot;)},{&quot;./constants&quot;:967,&quot;fast-isnumeric&quot;:140}],969:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;./constraint_mapping&quot;),i=t(&quot;fast-isnumeric&quot;);e.exports=function(t,e){var r;-1===[&quot;=&quot;,&quot;&lt;&quot;,&quot;&lt;=&quot;,&quot;&gt;&quot;,&quot;&gt;=&quot;].indexOf(e.operation)?(t(&quot;contours.value&quot;,[0,1]),Array.isArray(e.value)?e.value.length&gt;2?e.value=e.value.slice(2):0===e.length?e.value=[0,1]:e.length&lt;2?(r=parseFloat(e.value[0]),e.value=[r,r+1]):e.value=[parseFloat(e.value[0]),parseFloat(e.value[1])]:i(e.value)&amp;&amp;(r=parseFloat(e.value),e.value=[r,r+1])):(t(&quot;contours.value&quot;,0),i(e.value)||(Array.isArray(e.value)?e.value=parseFloat(e.value[0]):e.value=0));var a=n[e.operation](e.value);e.start=a.start,e.end=a.end,e.size=a.size}},{&quot;./constraint_mapping&quot;:968,&quot;fast-isnumeric&quot;:140}],970:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib&quot;);e.exports=function(t,e){var r,i,a,o=function(t){return t.reverse()},s=function(t){return t};switch(e){case&quot;][&quot;:case&quot;)[&quot;:case&quot;](&quot;:case&quot;)(&quot;:var l=o;o=s,s=l;case&quot;[]&quot;:case&quot;[)&quot;:case&quot;(]&quot;:case&quot;()&quot;:if(2!==t.length)return void n.warn(&quot;Contour data invalid for the specified inequality range operation.&quot;);for(i=t[0],a=t[1],r=0;r&lt;i.edgepaths.length;r++)i.edgepaths[r]=o(i.edgepaths[r]);for(r=0;r&lt;i.paths.length;r++)i.paths[r]=o(i.paths[r]);for(;a.edgepaths.length;)i.edgepaths.push(s(a.edgepaths.shift()));for(;a.paths.length;)i.paths.push(s(a.paths.shift()));t.pop();break;case&quot;&gt;=&quot;:case&quot;&gt;&quot;:if(1!==t.length)return void n.warn(&quot;Contour data invalid for the specified inequality operation.&quot;);for(i=t[0],r=0;r&lt;i.edgepaths.length;r++)i.edgepaths[r]=o(i.edgepaths[r]);for(r=0;r&lt;i.paths.length;r++)i.paths[r]=o(i.paths[r])}}},{&quot;../../lib&quot;:743}],971:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib&quot;),i=t(&quot;../heatmap/xyz_defaults&quot;),a=t(&quot;./attributes&quot;),o=t(&quot;../contour/style_defaults&quot;),s=t(&quot;../scatter/fillcolor_defaults&quot;),l=t(&quot;../../plots/attributes&quot;),c=t(&quot;./constraint_value_defaults&quot;),u=t(&quot;../../components/color&quot;).addOpacity;e.exports=function(t,e,r,f){function h(r,i){return n.coerce(t,e,a,r,i)}if(h(&quot;carpet&quot;),t.a&amp;&amp;t.b){var d,p,m;if(!i(t,e,h,f,&quot;a&quot;,&quot;b&quot;))return void(e.visible=!1);h(&quot;text&quot;),h(&quot;contours.type&quot;);var g=e.contours;if(&quot;constraint&quot;===g.type){h(&quot;contours.operation&quot;),c(h,g),n.coerce(t,e,l,&quot;showlegend&quot;,!0),h(&quot;contours.coloring&quot;,&quot;=&quot;===g.operation?&quot;lines&quot;:&quot;fill&quot;),h(&quot;contours.showlines&quot;,!0),&quot;=&quot;===g.operation&amp;&amp;(g.coloring=&quot;lines&quot;),s(t,e,r,h);var v=e.fillcolor?u(e.fillcolor,1):r;o(t,e,h,f,{hasHover:!1,defaultColor:v,defaultWidth:2}),&quot;=&quot;===g.operation&amp;&amp;(h(&quot;line.color&quot;,r),&quot;fill&quot;===g.coloring&amp;&amp;(g.coloring=&quot;lines&quot;),&quot;lines&quot;===g.coloring&amp;&amp;delete e.fillcolor),delete e.showscale,delete e.autocontour,delete e.autocolorscale,delete e.colorscale,delete e.ncontours,delete e.colorbar,e.line&amp;&amp;(delete e.line.autocolorscale,delete e.line.colorscale,delete e.line.mincolor,delete e.line.maxcolor)}else n.coerce(t,e,l,&quot;showlegend&quot;,!1),p=n.coerce2(t,e,a,&quot;contours.start&quot;),m=n.coerce2(t,e,a,&quot;contours.end&quot;),d=h(&quot;contours.size&quot;),h(&quot;contours.coloring&quot;),!(!1===p||!1===m?e.autocontour=!0:h(&quot;autocontour&quot;,!1))&amp;&amp;d||h(&quot;ncontours&quot;),o(t,e,h,f,{hasHover:!1}),delete e.value,delete e.operation}else e._defaultColor=r}},{&quot;../../components/color&quot;:618,&quot;../../lib&quot;:743,&quot;../../plots/attributes&quot;:787,&quot;../contour/style_defaults&quot;:963,&quot;../heatmap/xyz_defaults&quot;:993,&quot;../scatter/fillcolor_defaults&quot;:1075,&quot;./attributes&quot;:964,&quot;./constraint_value_defaults&quot;:969}],972:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib&quot;);e.exports=function(t,e,r){for(var i=t.size,a=[],o=r.trace.carpetTrace,s=t.start;s&lt;t.end+i/10;s+=i)if(a.push({level:s,crossings:{},starts:[],edgepaths:[],paths:[],xaxis:o.aaxis,yaxis:o.baxis,x:r.a,y:r.b,z:r.z,smoothing:r.trace.line.smoothing}),a.length&gt;1e3){n.warn(&quot;Too many contours, clipping at 1000&quot;,t);break}return a}},{&quot;../../lib&quot;:743}],973:[function(t,e,r){&quot;use strict&quot;;var n={};n.attributes=t(&quot;./attributes&quot;),n.supplyDefaults=t(&quot;./defaults&quot;),n.colorbar=t(&quot;../contour/colorbar&quot;),n.calc=t(&quot;./calc&quot;),n.plot=t(&quot;./plot&quot;),n.style=t(&quot;../contour/style&quot;),n.moduleType=&quot;trace&quot;,n.name=&quot;contourcarpet&quot;,n.basePlotModule=t(&quot;../../plots/cartesian&quot;),n.categories=[&quot;cartesian&quot;,&quot;carpet&quot;,&quot;contour&quot;,&quot;symbols&quot;,&quot;showLegend&quot;,&quot;hasLines&quot;,&quot;carpetDependent&quot;],n.meta={},e.exports=n},{&quot;../../plots/cartesian&quot;:800,&quot;../contour/colorbar&quot;:951,&quot;../contour/style&quot;:962,&quot;./attributes&quot;:964,&quot;./calc&quot;:965,&quot;./defaults&quot;:971,&quot;./plot&quot;:976}],974:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../components/drawing&quot;),i=t(&quot;../carpet/axis_aligned_line&quot;),a=t(&quot;../../lib&quot;);e.exports=function(t,e,r,o,s,l,c,u){function f(t){return Math.abs(t[1]-r[0][1])&lt;S}function h(t){return Math.abs(t[1]-r[2][1])&lt;S}function d(t){return Math.abs(t[0]-r[0][0])&lt;T}function p(t){return Math.abs(t[0]-r[2][0])&lt;T}function m(t,e){var r,n,a,o,m=&quot;&quot;;for(f(t)&amp;&amp;!p(t)||h(t)&amp;&amp;!d(t)?(o=s.aaxis,a=i(s,l,[t[0],e[0]],.5*(t[1]+e[1]))):(o=s.baxis,a=i(s,l,.5*(t[0]+e[0]),[t[1],e[1]])),r=1;r&lt;a.length;r++)for(m+=o.smoothing?&quot;C&quot;:&quot;L&quot;,n=0;n&lt;a[r].length;n++){var g=a[r][n];m+=[c.c2p(g[0]),u.c2p(g[1])]+&quot; &quot;}return m}var g,v,y,x,b,_,w,M=&quot;&quot;,k=e.edgepaths.map(function(t,e){return e}),A=!0,T=1e-4*Math.abs(r[0][0]-r[2][0]),S=1e-4*Math.abs(r[0][1]-r[2][1]);for(g=0,v=null;k.length;){var E=e.edgepaths[g][0];for(v&amp;&amp;(M+=m(v,E)),w=n.smoothopen(e.edgepaths[g].map(o),e.smoothing),M+=A?w:w.replace(/^M/,&quot;L&quot;),k.splice(k.indexOf(g),1),v=e.edgepaths[g][e.edgepaths[g].length-1],b=-1,x=0;x&lt;4;x++){if(!v){a.log(&quot;Missing end?&quot;,g,e);break}for(f(v)&amp;&amp;!p(v)?y=r[1]:d(v)?y=r[0]:h(v)?y=r[3]:p(v)&amp;&amp;(y=r[2]),_=0;_&lt;e.edgepaths.length;_++){var L=e.edgepaths[_][0];Math.abs(v[0]-y[0])&lt;T?Math.abs(v[0]-L[0])&lt;T&amp;&amp;(L[1]-v[1])*(y[1]-L[1])&gt;=0&amp;&amp;(y=L,b=_):Math.abs(v[1]-y[1])&lt;S?Math.abs(v[1]-L[1])&lt;S&amp;&amp;(L[0]-v[0])*(y[0]-L[0])&gt;=0&amp;&amp;(y=L,b=_):a.log(&quot;endpt to newendpt is not vert. or horz.&quot;,v,y,L)}if(b&gt;=0)break;M+=m(v,y),v=y}if(b===e.edgepaths.length){a.log(&quot;unclosed perimeter path&quot;);break}g=b,(A=-1===k.indexOf(g))&amp;&amp;(g=k[0],M+=m(v,y)+&quot;Z&quot;,v=null)}for(g=0;g&lt;e.paths.length;g++)M+=n.smoothclosed(e.paths[g].map(o),e.smoothing);return M}},{&quot;../../components/drawing&quot;:643,&quot;../../lib&quot;:743,&quot;../carpet/axis_aligned_line&quot;:914}],975:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t,e){var r,n,i,a,o,s,l,c,u;for(r=0;r&lt;t.length;r++){for(o=(a=t[r]).pedgepaths=[],s=a.ppaths=[],n=0;n&lt;a.edgepaths.length;n++){for(u=a.edgepaths[n],l=[],i=0;i&lt;u.length;i++)l[i]=e(u[i]);o.push(l)}for(n=0;n&lt;a.paths.length;n++){for(u=a.paths[n],c=[],i=0;i&lt;u.length;i++)c[i]=e(u[i]);s.push(c)}}}},{}],976:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r){function n(t){var e=M.ab2xy(t[0],t[1],!0);return[L.c2p(e[0]),C.c2p(e[1])]}var w=r[0].trace,M=w.carpetTrace=b(t,w),k=t.calcdata[M.index][0];if(M.visible&amp;&amp;&quot;legendonly&quot;!==M.visible){var A=r[0].a,T=r[0].b,S=w.contours,E=w.uid,L=e.xaxis,C=e.yaxis,z=t._fullLayout,D=&quot;contour&quot;+E,I=y(S,e,r[0]),P=&quot;constraint&quot;===w.contours.type;if(!0===w.visible){var O=[[A[0],T[T.length-1]],[A[A.length-1],T[T.length-1]],[A[A.length-1],T[0]],[A[0],T[0]]];h(I);var F=1e-8*(A[A.length-1]-A[0]),R=1e-8*(T[T.length-1]-T[0]);d(I,F,R),&quot;constraint&quot;===w.contours.type&amp;&amp;(g(I,w.contours.operation),_(I,w.contours.operation,O,w)),x(I,n);var N,j,B,U,V=p.makeContourGroup(e,r,D),q=[];for(U=k.clipsegments.length-1;U&gt;=0;U--)N=k.clipsegments[U],j=l([],N.x,L.c2p),B=l([],N.y,C.c2p),j.reverse(),B.reverse(),q.push(c(j,B,N.bicubic));var H=&quot;M&quot;+q.join(&quot;L&quot;)+&quot;Z&quot;;!function(t,e,r,n,i,a){var o,s,u,f,h=t.selectAll(&quot;g.contourbg&quot;).data([0]);h.enter().append(&quot;g&quot;).classed(&quot;contourbg&quot;,!0);var d=h.selectAll(&quot;path&quot;).data(&quot;fill&quot;!==a||i?[]:[0]);d.enter().append(&quot;path&quot;),d.exit().remove();var p=[];for(f=0;f&lt;e.length;f++)o=e[f],s=l([],o.x,r.c2p),u=l([],o.y,n.c2p),p.push(c(s,u,o.bicubic));d.attr(&quot;d&quot;,&quot;M&quot;+p.join(&quot;L&quot;)+&quot;Z&quot;).style(&quot;stroke&quot;,&quot;none&quot;)}(V,k.clipsegments,L,C,P,S.coloring),function(t,e,r,n,i,a,o,l,c,u,f){var h=e.selectAll(&quot;g.contourfill&quot;).data([0]);h.enter().append(&quot;g&quot;).classed(&quot;contourfill&quot;,!0);var d=h.selectAll(&quot;path&quot;).data(&quot;fill&quot;===u?i:[]);d.enter().append(&quot;path&quot;),d.exit().remove(),d.each(function(e){var i=v(t,e,a,o,l,c,r,n);e.prefixBoundary&amp;&amp;(i=f+i),i?s.select(this).attr(&quot;d&quot;,i).style(&quot;stroke&quot;,&quot;none&quot;):s.select(this).remove()})}(w,V,L,C,I,O,n,M,k,S.coloring,H),function(t,e,r,n,l,c,h){var d=t.selectAll(&quot;g.contourlines&quot;).data([0]);d.enter().append(&quot;g&quot;).classed(&quot;contourlines&quot;,!0);var g=!1!==l.showlines,v=l.showlabels,y=g&amp;&amp;v,x=p.createLines(d,g||v,e),b=p.createLineClip(d,y,r._fullLayout._defs,n.trace.uid),_=t.selectAll(&quot;g.contourlabels&quot;).data(v?[0]:[]);if(_.exit().remove(),_.enter().append(&quot;g&quot;).classed(&quot;contourlabels&quot;,!0),v){var w=c.xaxis,M=c.yaxis,k=w._length,A=M._length,T=[[[0,0],[k,0],[k,A],[0,A]]],S=[];f.clearLocationCache();var E=p.labelFormatter(l,n.t.cb,r._fullLayout),L=u.tester.append(&quot;text&quot;).attr(&quot;data-notex&quot;,1).call(u.font,l.labelfont),C={left:0,right:k,center:k/2,top:0,bottom:A,middle:A/2},z=Math.sqrt(k*k+A*A),D=m.LABELDISTANCE*z/Math.max(1,e.length/m.LABELINCREASE);x.each(function(t){var e=p.calcTextOpts(t.level,E,L,r);s.select(this).selectAll(&quot;path&quot;).each(function(r){var n=f.getVisibleSegment(this,C,e.height/2);if(n&amp;&amp;(function(t,e,r,n,s,l){function c(t,e){var r,n=0;return(Math.abs(t[0]-h)&lt;.1||Math.abs(t[0]-d)&lt;.1)&amp;&amp;(r=a(s.dxydb_rough(t[0],t[1],.1)),n=Math.max(n,l*o(e,r)/2)),(Math.abs(t[1]-p)&lt;.1||Math.abs(t[1]-m)&lt;.1)&amp;&amp;(r=a(s.dxyda_rough(t[0],t[1],.1)),n=Math.max(n,l*o(e,r)/2)),n}for(var u,f=0;f&lt;r.pedgepaths.length;f++)e===r.pedgepaths[f]&amp;&amp;(u=r.edgepaths[f]);if(!u)return;var h=s.a[0],d=s.a[s.a.length-1],p=s.b[0],m=s.b[s.b.length-1];var g=i(t,0,1),v=i(t,n.total,n.total-1),y=c(u[0],g),x=n.total-c(u[u.length-1],v);n.min&lt;y&amp;&amp;(n.min=y);n.max&gt;x&amp;&amp;(n.max=x);n.len=n.max-n.min}(this,r,t,n,h,e.height),!(n.len&lt;(e.width+e.height)*m.LABELMIN)))for(var s=Math.min(Math.ceil(n.len/D),m.LABELMAX),l=0;l&lt;s;l++){var c=p.findBestTextLocation(this,n,e,S,C);if(!c)break;p.addLabelData(c,e,S,T)}})}),L.remove(),p.drawLabels(_,S,r,b,y?T:null)}v&amp;&amp;!g&amp;&amp;x.remove()}(V,I,t,r[0],S,e,M),u.setClipUrl(V,M._clipPathId)}else z._infolayer.selectAll(&quot;.cb&quot;+E).remove()}}function i(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 a(t){var e=Math.sqrt(t[0]*t[0]+t[1]*t[1]);return[t[0]/e,t[1]/e]}function o(t,e){var r=Math.abs(t[0]*e[0]+t[1]*e[1]);return Math.sqrt(1-r*r)/r}var s=t(&quot;d3&quot;),l=t(&quot;../carpet/map_1d_array&quot;),c=t(&quot;../carpet/makepath&quot;),u=t(&quot;../../components/drawing&quot;),f=t(&quot;../../lib&quot;),h=t(&quot;../contour/make_crossings&quot;),d=t(&quot;../contour/find_all_paths&quot;),p=t(&quot;../contour/plot&quot;),m=t(&quot;../contour/constants&quot;),g=t(&quot;./convert_to_constraints&quot;),v=t(&quot;./join_all_paths&quot;),y=t(&quot;./empty_pathinfo&quot;),x=t(&quot;./map_pathinfo&quot;),b=t(&quot;../carpet/lookup_carpetid&quot;),_=t(&quot;./close_boundaries&quot;);e.exports=function(t,e,r){for(var i=0;i&lt;r.length;i++)n(t,e,r[i])}},{&quot;../../components/drawing&quot;:643,&quot;../../lib&quot;:743,&quot;../carpet/lookup_carpetid&quot;:931,&quot;../carpet/makepath&quot;:932,&quot;../carpet/map_1d_array&quot;:933,&quot;../contour/constants&quot;:952,&quot;../contour/find_all_paths&quot;:956,&quot;../contour/make_crossings&quot;:960,&quot;../contour/plot&quot;:961,&quot;./close_boundaries&quot;:966,&quot;./convert_to_constraints&quot;:970,&quot;./empty_pathinfo&quot;:972,&quot;./join_all_paths&quot;:974,&quot;./map_pathinfo&quot;:975,d3:128}],977:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../scatter/attributes&quot;),i=t(&quot;../../components/colorscale/attributes&quot;),a=t(&quot;../../components/colorbar/attributes&quot;),o=t(&quot;../../lib/extend&quot;).extendFlat;e.exports=o({},{z:{valType:&quot;data_array&quot;,editType:&quot;calc&quot;},x:o({},n.x,{impliedEdits:{xtype:&quot;array&quot;}}),x0:o({},n.x0,{impliedEdits:{xtype:&quot;scaled&quot;}}),dx:o({},n.dx,{impliedEdits:{xtype:&quot;scaled&quot;}}),y:o({},n.y,{impliedEdits:{ytype:&quot;array&quot;}}),y0:o({},n.y0,{impliedEdits:{ytype:&quot;scaled&quot;}}),dy:o({},n.dy,{impliedEdits:{ytype:&quot;scaled&quot;}}),text:{valType:&quot;data_array&quot;,editType:&quot;calc&quot;},transpose:{valType:&quot;boolean&quot;,dflt:!1,editType:&quot;calc&quot;},xtype:{valType:&quot;enumerated&quot;,values:[&quot;array&quot;,&quot;scaled&quot;],editType:&quot;calc+clearAxisTypes&quot;},ytype:{valType:&quot;enumerated&quot;,values:[&quot;array&quot;,&quot;scaled&quot;],editType:&quot;calc+clearAxisTypes&quot;},zsmooth:{valType:&quot;enumerated&quot;,values:[&quot;fast&quot;,&quot;best&quot;,!1],dflt:!1,editType:&quot;calc&quot;},connectgaps:{valType:&quot;boolean&quot;,dflt:!1,editType:&quot;calc&quot;},xgap:{valType:&quot;number&quot;,dflt:0,min:0,editType:&quot;plot&quot;},ygap:{valType:&quot;number&quot;,dflt:0,min:0,editType:&quot;plot&quot;},zhoverformat:{valType:&quot;string&quot;,dflt:&quot;&quot;,editType:&quot;none&quot;}},i,{autocolorscale:o({},i.autocolorscale,{dflt:!1})},{colorbar:a})},{&quot;../../components/colorbar/attributes&quot;:619,&quot;../../components/colorscale/attributes&quot;:624,&quot;../../lib/extend&quot;:732,&quot;../scatter/attributes&quot;:1066}],978:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../registry&quot;),i=t(&quot;../../lib&quot;),a=t(&quot;../../plots/cartesian/axes&quot;),o=t(&quot;../histogram2d/calc&quot;),s=t(&quot;../../components/colorscale/calc&quot;),l=t(&quot;./has_columns&quot;),c=t(&quot;./convert_column_xyz&quot;),u=t(&quot;./max_row_length&quot;),f=t(&quot;./clean_2d_array&quot;),h=t(&quot;./interp2d&quot;),d=t(&quot;./find_empties&quot;),p=t(&quot;./make_bound_array&quot;);e.exports=function(t,e){function r(t){L=e._input.zsmooth=e.zsmooth=!1,i.warn('cannot use zsmooth: &quot;fast&quot;: '+t)}var m,g,v,y,x,b,_,w,M,k=a.getFromId(t,e.xaxis||&quot;x&quot;),A=a.getFromId(t,e.yaxis||&quot;y&quot;),T=n.traceIs(e,&quot;contour&quot;),S=n.traceIs(e,&quot;histogram&quot;),E=n.traceIs(e,&quot;gl2d&quot;),L=T?&quot;best&quot;:e.zsmooth;if(k._minDtick=0,A._minDtick=0,S?(m=(M=o(t,e)).x,g=M.x0,v=M.dx,y=M.y,x=M.y0,b=M.dy,_=M.z):(l(e)?(c(e,k,A,&quot;x&quot;,&quot;y&quot;,[&quot;z&quot;]),m=e.x,y=e.y):(m=e.x?k.makeCalcdata(e,&quot;x&quot;):[],y=e.y?A.makeCalcdata(e,&quot;y&quot;):[]),g=e.x0||0,v=e.dx||1,x=e.y0||0,b=e.dy||1,_=f(e.z,e.transpose),(T||e.connectgaps)&amp;&amp;(e._emptypoints=d(_),e._interpz=h(_,e._emptypoints,e._interpz))),&quot;fast&quot;===L)if(&quot;log&quot;===k.type||&quot;log&quot;===A.type)r(&quot;log axis found&quot;);else if(!S){if(m.length){var C=(m[m.length-1]-m[0])/(m.length-1),z=Math.abs(C/100);for(w=0;w&lt;m.length-1;w++)if(Math.abs(m[w+1]-m[w]-C)&gt;z){r(&quot;x scale is not linear&quot;);break}}if(y.length&amp;&amp;&quot;fast&quot;===L){var D=(y[y.length-1]-y[0])/(y.length-1),I=Math.abs(D/100);for(w=0;w&lt;y.length-1;w++)if(Math.abs(y[w+1]-y[w]-D)&gt;I){r(&quot;y scale is not linear&quot;);break}}}var P=u(_),O=&quot;scaled&quot;===e.xtype?&quot;&quot;:m,F=p(e,O,g,v,P,k),R=&quot;scaled&quot;===e.ytype?&quot;&quot;:y,N=p(e,R,x,b,_.length,A);E||(a.expand(k,F),a.expand(A,N));var j={x:F,y:N,z:_,text:e.text};if(O&amp;&amp;O.length===F.length-1&amp;&amp;(j.xCenter=O),R&amp;&amp;R.length===N.length-1&amp;&amp;(j.yCenter=R),S&amp;&amp;(j.xRanges=M.xRanges,j.yRanges=M.yRanges,j.pts=M.pts),s(e,_,&quot;&quot;,&quot;z&quot;),T&amp;&amp;e.contours&amp;&amp;&quot;heatmap&quot;===e.contours.coloring){var B={type:&quot;contour&quot;===e.type?&quot;heatmap&quot;:&quot;histogram2d&quot;,xcalendar:e.xcalendar,ycalendar:e.ycalendar};j.xfill=p(B,O,g,v,P,k),j.yfill=p(B,R,x,b,_.length,A)}return[j]}},{&quot;../../components/colorscale/calc&quot;:625,&quot;../../lib&quot;:743,&quot;../../plots/cartesian/axes&quot;:789,&quot;../../registry&quot;:873,&quot;../histogram2d/calc&quot;:1010,&quot;./clean_2d_array&quot;:979,&quot;./convert_column_xyz&quot;:981,&quot;./find_empties&quot;:983,&quot;./has_columns&quot;:984,&quot;./interp2d&quot;:987,&quot;./make_bound_array&quot;:988,&quot;./max_row_length&quot;:989}],979:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;fast-isnumeric&quot;);e.exports=function(t,e){function r(t){if(n(t))return+t}var i,a,o,s,l,c;if(e){for(i=0,l=0;l&lt;t.length;l++)i=Math.max(i,t[l].length);if(0===i)return!1;o=function(t){return t.length},s=function(t,e,r){return t[r][e]}}else i=t.length,o=function(t,e){return t[e].length},s=function(t,e,r){return t[e][r]};var u=new Array(i);for(l=0;l&lt;i;l++)for(a=o(t,l),u[l]=new Array(a),c=0;c&lt;a;c++)u[l][c]=r(s(t,l,c));return u}},{&quot;fast-isnumeric&quot;:140}],980:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;fast-isnumeric&quot;),i=t(&quot;../../lib&quot;),a=t(&quot;../../plots/plots&quot;),o=t(&quot;../../components/colorscale&quot;),s=t(&quot;../../components/colorbar/draw&quot;);e.exports=function(t,e){var r=e[0].trace,l=&quot;cb&quot;+r.uid,c=r.zmin,u=r.zmax;if(n(c)||(c=i.aggNums(Math.min,null,r.z)),n(u)||(u=i.aggNums(Math.max,null,r.z)),t._fullLayout._infolayer.selectAll(&quot;.&quot;+l).remove(),r.showscale){var f=e[0].t.cb=s(t,l),h=o.makeColorScaleFunc(o.extractScale(r.colorscale,c,u),{noNumericCheck:!0});f.fillcolor(h).filllevels({start:c,end:u,size:(u-c)/254}).options(r.colorbar)()}else a.autoMargin(t,l)}},{&quot;../../components/colorbar/draw&quot;:622,&quot;../../components/colorscale&quot;:633,&quot;../../lib&quot;:743,&quot;../../plots/plots&quot;:852,&quot;fast-isnumeric&quot;:140}],981:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib&quot;),i=t(&quot;../../constants/numerical&quot;).BADNUM;e.exports=function(t,e,r,a,o,s){a=a||&quot;x&quot;,o=o||&quot;y&quot;,s=s||[&quot;z&quot;];var l,c,u,f=t[a].slice(),h=t[o].slice(),d=t.text,p=Math.min(f.length,h.length),m=void 0!==d&amp;&amp;!Array.isArray(d[0]),g=t[a+&quot;calendar&quot;],v=t[o+&quot;calendar&quot;];for(l=0;l&lt;s.length;l++)(u=t[s[l]])&amp;&amp;(p=Math.min(p,u.length));for(p&lt;f.length&amp;&amp;(f=f.slice(0,p)),p&lt;h.length&amp;&amp;(h=h.slice(0,p)),l=0;l&lt;p;l++)f[l]=e.d2c(f[l],0,g),h[l]=r.d2c(h[l],0,v);var y=n.distinctVals(f),x=y.vals,b=n.distinctVals(h),_=b.vals,w=[];for(l=0;l&lt;s.length;l++)w[l]=n.init2dArray(_.length,x.length);var M,k,A;for(m&amp;&amp;(A=n.init2dArray(_.length,x.length)),l=0;l&lt;p;l++)if(f[l]!==i&amp;&amp;h[l]!==i){for(M=n.findBin(f[l]+y.minDiff/2,x),k=n.findBin(h[l]+b.minDiff/2,_),c=0;c&lt;s.length;c++)u=t[s[c]],w[c][k][M]=u[l];m&amp;&amp;(A[k][M]=d[l])}for(t[a]=x,t[o]=_,c=0;c&lt;s.length;c++)t[s[c]]=w[c];m&amp;&amp;(t.text=A)}},{&quot;../../constants/numerical&quot;:721,&quot;../../lib&quot;:743}],982:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib&quot;),i=t(&quot;./has_columns&quot;),a=t(&quot;./xyz_defaults&quot;),o=t(&quot;./style_defaults&quot;),s=t(&quot;../../components/colorscale/defaults&quot;),l=t(&quot;./attributes&quot;);e.exports=function(t,e,r,c){function u(r,i){return n.coerce(t,e,l,r,i)}a(t,e,u,c)?(u(&quot;text&quot;),o(t,e,u,c),u(&quot;connectgaps&quot;,i(e)&amp;&amp;!1!==e.zsmooth),s(t,e,c,u,{prefix:&quot;&quot;,cLetter:&quot;z&quot;})):e.visible=!1}},{&quot;../../components/colorscale/defaults&quot;:628,&quot;../../lib&quot;:743,&quot;./attributes&quot;:977,&quot;./has_columns&quot;:984,&quot;./style_defaults&quot;:992,&quot;./xyz_defaults&quot;:993}],983:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;./max_row_length&quot;);e.exports=function(t){var e,r,i,a,o,s,l,c,u=[],f={},h=[],d=t[0],p=[],m=[0,0,0],g=n(t);for(r=0;r&lt;t.length;r++)for(e=p,p=d,d=t[r+1]||[],i=0;i&lt;g;i++)void 0===p[i]&amp;&amp;((s=(void 0!==p[i-1]?1:0)+(void 0!==p[i+1]?1:0)+(void 0!==e[i]?1:0)+(void 0!==d[i]?1:0))?(0===r&amp;&amp;s++,0===i&amp;&amp;s++,r===t.length-1&amp;&amp;s++,i===p.length-1&amp;&amp;s++,s&lt;4&amp;&amp;(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&gt;=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)&amp;&amp;(l[a]=[r,i,s],h.splice(o,1),c=!0);if(!c)throw&quot;findEmpties iterated with no new neighbors&quot;;for(a in l)f[a]=l[a],u.push(l[a])}return u.sort(function(t,e){return e[2]-t[2]})}},{&quot;./max_row_length&quot;:989}],984:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t){return!Array.isArray(t.z[0])}},{}],985:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../components/fx&quot;),i=t(&quot;../../lib&quot;),a=t(&quot;../../plots/cartesian/axes&quot;),o=n.constants.MAXDIST;e.exports=function(t,e,r,s,l,c){if(!(t.distance&lt;o)){var u,f,h,d,p=t.cd[0],m=p.trace,g=t.xa,v=t.ya,y=p.x,x=p.y,b=p.z,_=p.xCenter,w=p.yCenter,M=p.zmask,k=[m.zmin,m.zmax],A=m.zhoverformat,T=y,S=x;if(!1!==t.index){try{h=Math.round(t.index[1]),d=Math.round(t.index[0])}catch(e){return void i.error(&quot;Error hovering on heatmap, pointNumber must be [row,col], found:&quot;,t.index)}if(h&lt;0||h&gt;=b[0].length||d&lt;0||d&gt;b.length)return}else{if(n.inbox(e-y[0],e-y[y.length-1])&gt;o||n.inbox(r-x[0],r-x[x.length-1])&gt;o)return;if(c){var E;for(T=[2*y[0]-y[1]],E=1;E&lt;y.length;E++)T.push((y[E]+y[E-1])/2);for(T.push([2*y[y.length-1]-y[y.length-2]]),S=[2*x[0]-x[1]],E=1;E&lt;x.length;E++)S.push((x[E]+x[E-1])/2);S.push([2*x[x.length-1]-x[x.length-2]])}h=Math.max(0,Math.min(T.length-2,i.findBin(e,T))),d=Math.max(0,Math.min(S.length-2,i.findBin(r,S)))}var L=g.c2p(y[h]),C=g.c2p(y[h+1]),z=v.c2p(x[d]),D=v.c2p(x[d+1]);c?(C=L,u=y[h],D=z,f=x[d]):(u=_?_[h]:(y[h]+y[h+1])/2,f=w?w[d]:(x[d]+x[d+1])/2,m.zsmooth&amp;&amp;(L=C=g.c2p(u),z=D=v.c2p(f)));var I=b[d][h];M&amp;&amp;!M[d][h]&amp;&amp;(I=void 0);var P;Array.isArray(p.text)&amp;&amp;Array.isArray(p.text[d])&amp;&amp;(P=p.text[d][h]);var O,F={type:&quot;linear&quot;,range:k,hoverformat:A,_separators:g._separators,_numFormat:g._numFormat};return O=a.tickText(F,I,&quot;hover&quot;).text,[i.extendFlat(t,{index:[d,h],distance:o+10,x0:L,x1:C,y0:z,y1:D,xLabelVal:u,yLabelVal:f,zLabelVal:I,zLabel:O,text:P})]}}},{&quot;../../components/fx&quot;:660,&quot;../../lib&quot;:743,&quot;../../plots/cartesian/axes&quot;:789}],986:[function(t,e,r){&quot;use strict&quot;;var n={};n.attributes=t(&quot;./attributes&quot;),n.supplyDefaults=t(&quot;./defaults&quot;),n.calc=t(&quot;./calc&quot;),n.plot=t(&quot;./plot&quot;),n.colorbar=t(&quot;./colorbar&quot;),n.style=t(&quot;./style&quot;),n.hoverPoints=t(&quot;./hover&quot;),n.moduleType=&quot;trace&quot;,n.name=&quot;heatmap&quot;,n.basePlotModule=t(&quot;../../plots/cartesian&quot;),n.categories=[&quot;cartesian&quot;,&quot;2dMap&quot;],n.meta={},e.exports=n},{&quot;../../plots/cartesian&quot;:800,&quot;./attributes&quot;:977,&quot;./calc&quot;:978,&quot;./colorbar&quot;:980,&quot;./defaults&quot;:982,&quot;./hover&quot;:985,&quot;./plot&quot;:990,&quot;./style&quot;:991}],987:[function(t,e,r){&quot;use strict&quot;;function n(t){return.5-.25*Math.min(1,.5*t)}function i(t,e,r){var n,i,a,s,l,c,u,f,h,d,p,m,g,v=0;for(s=0;s&lt;e.length;s++){for(i=(n=e[s])[0],a=n[1],p=t[i][a],d=0,h=0,l=0;l&lt;4;l++)(u=t[i+(c=o[l])[0]])&amp;&amp;void 0!==(f=u[a+c[1]])&amp;&amp;(0===d?m=g=f:(m=Math.min(m,f),g=Math.max(g,f)),h++,d+=f);if(0===h)throw&quot;iterateInterp2d order is wrong: no defined neighbors&quot;;t[i][a]=d/h,void 0===p?h&lt;4&amp;&amp;(v=1):(t[i][a]=(1+r)*t[i][a]-r*p,g&gt;m&amp;&amp;(v=Math.max(v,Math.abs(t[i][a]-p)/(g-m))))}return v}var a=t(&quot;../../lib&quot;),o=[[-1,0],[1,0],[0,-1],[0,1]];e.exports=function(t,e,r){var o,s,l=1;if(Array.isArray(r))for(o=0;o&lt;e.length;o++)t[(s=e[o])[0]][s[1]]=r[s[0]][s[1]];else i(t,e);for(o=0;o&lt;e.length&amp;&amp;!(e[o][2]&lt;4);o++);for(e=e.slice(o),o=0;o&lt;100&amp;&amp;l&gt;.01;o++)l=i(t,e,n(l));return l&gt;.01&amp;&amp;a.log(&quot;interp2d didn't converge quickly&quot;,l),t}},{&quot;../../lib&quot;:743}],988:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../registry&quot;);e.exports=function(t,e,r,i,a,o){var s,l,c,u=[],f=n.traceIs(t,&quot;contour&quot;),h=n.traceIs(t,&quot;histogram&quot;),d=n.traceIs(t,&quot;gl2d&quot;);if(Array.isArray(e)&amp;&amp;e.length&gt;1&amp;&amp;!h&amp;&amp;&quot;category&quot;!==o.type){var p=e.length;if(!(p&lt;=a))return f?e.slice(0,a):e.slice(0,a+1);if(f||d)u=e.slice(0,a);else if(1===a)u=[e[0]-.5,e[0]+.5];else{for(u=[1.5*e[0]-.5*e[1]],c=1;c&lt;p;c++)u.push(.5*(e[c-1]+e[c]));u.push(1.5*e[p-1]-.5*e[p-2])}if(p&lt;a){var m=u[u.length-1],g=m-u[u.length-2];for(c=p;c&lt;a;c++)m+=g,u.push(m)}}else{l=i||1;var v=t[o._id.charAt(0)+&quot;calendar&quot;];for(s=h||&quot;category&quot;===o.type?o.r2c(r,0,v)||0:Array.isArray(e)&amp;&amp;1===e.length?e[0]:void 0===r?0:o.d2c(r,0,v),c=f||d?0:-.5;c&lt;a;c++)u.push(s+l*c)}return u}},{&quot;../../registry&quot;:873}],989:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t){for(var e=0,r=0;r&lt;t.length;r++)e=Math.max(e,t[r].length);return e}},{}],990:[function(t,e,r){&quot;use strict&quot;;function n(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&amp;&amp;o!==r&amp;&amp;c?{bin0:s,frac:c,bin1:Math.round(s+c/(o-s))}:{bin0:s,bin1:s,frac:0}}function i(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&lt;=0?{bin0:n,bin1:n,frac:0}:a&lt;.5?{bin0:n,bin1:n+1,frac:a}:{bin0:n+1,bin1:n,frac:1-a}}function a(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])}var o=t(&quot;tinycolor2&quot;),s=t(&quot;../../registry&quot;),l=t(&quot;../../lib&quot;),c=t(&quot;../../components/colorscale&quot;),u=t(&quot;../../constants/xmlns_namespaces&quot;),f=t(&quot;./max_row_length&quot;);e.exports=function(t,e,r){for(var h=0;h&lt;r.length;h++)!function(t,e,r){function h(t,e){if(void 0!==t){var r=Z(t);return r[0]=Math.round(r[0]),r[1]=Math.round(r[1]),r[2]=Math.round(r[2]),at+=e,ot+=r[0]*e,st+=r[1]*e,lt+=r[2]*e,r}return[0,0,0,0]}function d(t,e,r,n){var i=t[r.bin0];if(void 0===i)return h(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,h(i+r.frac*c+n.frac*(u+r.frac*a))}var p=r[0],m=p.trace,g=m.uid,v=e.xaxis,y=e.yaxis,x=t._fullLayout,b=&quot;hm&quot;+g;if(x._paper.selectAll(&quot;.contour&quot;+g).remove(),x._infolayer.selectAll(&quot;g.rangeslider-container&quot;).selectAll(&quot;.contour&quot;+g).remove(),!0!==m.visible)return x._paper.selectAll(&quot;.&quot;+b).remove(),void x._infolayer.selectAll(&quot;.cb&quot;+g).remove();var _,w,M,k,A,T,S=p.z,E=p.x,L=p.y,C=p.xCenter,z=p.yCenter,D=s.traceIs(m,&quot;contour&quot;),I=D?&quot;best&quot;:m.zsmooth,P=S.length,O=f(S),F=!1,R=!1;for(T=0;void 0===_&amp;&amp;T&lt;E.length-1;)_=v.c2p(E[T]),T++;for(T=E.length-1;void 0===w&amp;&amp;T&gt;0;)w=v.c2p(E[T]),T--;for(w&lt;_&amp;&amp;(M=w,w=_,_=M,F=!0),T=0;void 0===k&amp;&amp;T&lt;L.length-1;)k=y.c2p(L[T]),T++;for(T=L.length-1;void 0===A&amp;&amp;T&gt;0;)A=y.c2p(L[T]),T--;if(A&lt;k&amp;&amp;(M=k,k=A,A=M,R=!0),D&amp;&amp;(C=E,z=L,E=p.xfill,L=p.yfill),&quot;fast&quot;!==I){var N=&quot;best&quot;===I?0:.5;_=Math.max(-N*v._length,_),w=Math.min((1+N)*v._length,w),k=Math.max(-N*y._length,k),A=Math.min((1+N)*y._length,A)}var j=Math.round(w-_),B=Math.round(A-k),U=j&lt;=0||B&lt;=0,V=e.plot.select(&quot;.imagelayer&quot;).selectAll(&quot;g.hm.&quot;+b).data(U?[]:[0]);if(V.enter().append(&quot;g&quot;).classed(&quot;hm&quot;,!0).classed(b,!0),V.exit().remove(),!U){var q,H;&quot;fast&quot;===I?(q=O,H=P):(q=j,H=B);var G=document.createElement(&quot;canvas&quot;);G.width=q,G.height=H;var Y,W,X=G.getContext(&quot;2d&quot;),Z=c.makeColorScaleFunc(c.extractScale(m.colorscale,m.zmin,m.zmax),{noNumericCheck:!0,returnArray:!0});&quot;fast&quot;===I?(Y=F?function(t){return O-1-t}:l.identity,W=R?function(t){return P-1-t}:l.identity):(Y=function(t){return l.constrain(Math.round(v.c2p(E[t])-_),0,j)},W=function(t){return l.constrain(Math.round(y.c2p(L[t])-k),0,B)});var J,K,Q,$,tt,et=W(0),rt=[et,et],nt=F?0:1,it=R?0:1,at=0,ot=0,st=0,lt=0;if(I){var ct,ut=0;try{ct=new Uint8Array(j*B*4)}catch(t){ct=new Array(j*B*4)}if(&quot;best&quot;===I){var ft,ht,dt,pt=C||E,mt=z||L,gt=new Array(pt.length),vt=new Array(mt.length),yt=new Array(j),xt=C?i:n,bt=z?i:n;for(T=0;T&lt;pt.length;T++)gt[T]=Math.round(v.c2p(pt[T])-_);for(T=0;T&lt;mt.length;T++)vt[T]=Math.round(y.c2p(mt[T])-k);for(T=0;T&lt;j;T++)yt[T]=xt(T,gt);for(K=0;K&lt;B;K++)for(ht=S[(ft=bt(K,vt)).bin0],dt=S[ft.bin1],T=0;T&lt;j;T++,ut+=4)a(ct,ut,tt=d(ht,dt,yt[T],ft))}else for(K=0;K&lt;P;K++)for($=S[K],rt=W(K),T=0;T&lt;j;T++)tt=h($[T],1),a(ct,ut=4*(rt*j+Y(T)),tt);var _t=X.createImageData(j,B);try{_t.data.set(ct)}catch(t){var wt=_t.data,Mt=wt.length;for(K=0;K&lt;Mt;K++)wt[K]=ct[K]}X.putImageData(_t,0,0)}else{var kt=m.xgap,At=m.ygap,Tt=Math.floor(kt/2),St=Math.floor(At/2);for(K=0;K&lt;P;K++)if($=S[K],rt.reverse(),rt[it]=W(K+1),rt[0]!==rt[1]&amp;&amp;void 0!==rt[0]&amp;&amp;void 0!==rt[1])for(J=[Q=Y(0),Q],T=0;T&lt;O;T++)J.reverse(),J[nt]=Y(T+1),J[0]!==J[1]&amp;&amp;void 0!==J[0]&amp;&amp;void 0!==J[1]&amp;&amp;(tt=h($[T],(J[1]-J[0])*(rt[1]-rt[0])),X.fillStyle=&quot;rgba(&quot;+tt.join(&quot;,&quot;)+&quot;)&quot;,X.fillRect(J[0]+Tt,rt[0]+St,J[1]-J[0]-kt,rt[1]-rt[0]-At))}ot=Math.round(ot/at),st=Math.round(st/at),lt=Math.round(lt/at);var Et=o(&quot;rgb(&quot;+ot+&quot;,&quot;+st+&quot;,&quot;+lt+&quot;)&quot;);t._hmpixcount=(t._hmpixcount||0)+at,t._hmlumcount=(t._hmlumcount||0)+at*Et.getLuminance();var Lt=V.selectAll(&quot;image&quot;).data(r);Lt.enter().append(&quot;svg:image&quot;).attr({xmlns:u.svg,preserveAspectRatio:&quot;none&quot;}),Lt.attr({height:B,width:j,x:_,y:k,&quot;xlink:href&quot;:G.toDataURL(&quot;image/png&quot;)}),Lt.exit().remove()}}(t,e,r[h])}},{&quot;../../components/colorscale&quot;:633,&quot;../../constants/xmlns_namespaces&quot;:723,&quot;../../lib&quot;:743,&quot;../../registry&quot;:873,&quot;./max_row_length&quot;:989,tinycolor2:546}],991:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;d3&quot;);e.exports=function(t){n.select(t).selectAll(&quot;.hm image&quot;).style(&quot;opacity&quot;,function(t){return t.trace.opacity})}},{d3:128}],992:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t,e,r){!1===r(&quot;zsmooth&quot;)&amp;&amp;(r(&quot;xgap&quot;),r(&quot;ygap&quot;)),r(&quot;zhoverformat&quot;)}},{}],993:[function(t,e,r){&quot;use strict&quot;;function n(t,e){var r=e(t);return&quot;scaled&quot;===(r?e(t+&quot;type&quot;,&quot;array&quot;):&quot;scaled&quot;)&amp;&amp;(e(t+&quot;0&quot;),e(&quot;d&quot;+t)),r}var i=t(&quot;fast-isnumeric&quot;),a=t(&quot;../../registry&quot;),o=t(&quot;./has_columns&quot;);e.exports=function(t,e,r,s,l,c){var u=r(&quot;z&quot;);l=l||&quot;x&quot;,c=c||&quot;y&quot;;var f,h;if(void 0===u||!u.length)return 0;if(o(t)){if(f=r(l),h=r(c),!f||!h)return 0}else{if(f=n(l,r),h=n(c,r),!function(t){for(var e,r=!0,n=!1,a=!1,o=0;o&lt;t.length;o++){if(e=t[o],!Array.isArray(e)){r=!1;break}e.length&gt;0&amp;&amp;(n=!0);for(var s=0;s&lt;e.length;s++)if(i(e[s])){a=!0;break}}return r&amp;&amp;n&amp;&amp;a}(u))return 0;r(&quot;transpose&quot;)}return a.getComponentMethod(&quot;calendars&quot;,&quot;handleTraceDefaults&quot;)(t,e,[l,c],s),e.z.length}},{&quot;../../registry&quot;:873,&quot;./has_columns&quot;:984,&quot;fast-isnumeric&quot;:140}],994:[function(t,e,r){&quot;use strict&quot;;for(var n=t(&quot;../heatmap/attributes&quot;),i=t(&quot;../../components/colorscale/attributes&quot;),a=t(&quot;../../components/colorbar/attributes&quot;),o=t(&quot;../../lib/extend&quot;).extendFlat,s=t(&quot;../../plot_api/edit_types&quot;).overrideAll,l=[&quot;z&quot;,&quot;x&quot;,&quot;x0&quot;,&quot;dx&quot;,&quot;y&quot;,&quot;y0&quot;,&quot;dy&quot;,&quot;text&quot;,&quot;transpose&quot;,&quot;xtype&quot;,&quot;ytype&quot;],c={},u=0;u&lt;l.length;u++){var f=l[u];c[f]=n[f]}o(c,i,{autocolorscale:o({},i.autocolorscale,{dflt:!1})},{colorbar:a}),e.exports=s(c,&quot;calc&quot;,&quot;nested&quot;)},{&quot;../../components/colorbar/attributes&quot;:619,&quot;../../components/colorscale/attributes&quot;:624,&quot;../../lib/extend&quot;:732,&quot;../../plot_api/edit_types&quot;:773,&quot;../heatmap/attributes&quot;:977}],995:[function(t,e,r){&quot;use strict&quot;;function n(t,e){this.scene=t,this.uid=e,this.type=&quot;heatmapgl&quot;,this.name=&quot;&quot;,this.hoverinfo=&quot;all&quot;,this.xData=[],this.yData=[],this.zData=[],this.textLabels=[],this.idToIndex=[],this.bounds=[0,0,0,0],this.options={z:[],x:[],y:[],shape:[0,0],colorLevels:[0],colorValues:[0,0,0,1]},this.heatmap=i(t.glplot,this.options),this.heatmap._trace=this}var i=t(&quot;gl-heatmap2d&quot;),a=t(&quot;../../plots/cartesian/axes&quot;),o=t(&quot;../../lib/str2rgbarray&quot;),s=n.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 i=n[0].length,s=n.length;this.options.shape=[i,s],this.options.x=r.x,this.options.y=r.y;var l=function(t){for(var e=t.colorscale,r=t.zmin,n=t.zmax,i=e.length,a=new Array(i),s=new Array(4*i),l=0;l&lt;i;l++){var c=e[l],u=o(c[1]);a[l]=r+c[0]*(n-r);for(var f=0;f&lt;4;f++)s[4*l+f]=u[f]}return{colorLevels:a,colorValues:s}}(t);this.options.colorLevels=l.colorLevels,this.options.colorValues=l.colorValues,this.textLabels=[].concat.apply([],t.text),this.heatmap.update(this.options),a.expand(this.scene.xaxis,r.x),a.expand(this.scene.yaxis,r.y)},s.dispose=function(){this.heatmap.dispose()},e.exports=function(t,e,r){var i=new n(t,e.uid);return i.update(e,r),i}},{&quot;../../lib/str2rgbarray&quot;:765,&quot;../../plots/cartesian/axes&quot;:789,&quot;gl-heatmap2d&quot;:173}],996:[function(t,e,r){&quot;use strict&quot;;var n={};n.attributes=t(&quot;./attributes&quot;),n.supplyDefaults=t(&quot;../heatmap/defaults&quot;),n.colorbar=t(&quot;../heatmap/colorbar&quot;),n.calc=t(&quot;../heatmap/calc&quot;),n.plot=t(&quot;./convert&quot;),n.moduleType=&quot;trace&quot;,n.name=&quot;heatmapgl&quot;,n.basePlotModule=t(&quot;../../plots/gl2d&quot;),n.categories=[&quot;gl&quot;,&quot;gl2d&quot;,&quot;2dMap&quot;],n.meta={},e.exports=n},{&quot;../../plots/gl2d&quot;:829,&quot;../heatmap/calc&quot;:978,&quot;../heatmap/colorbar&quot;:980,&quot;../heatmap/defaults&quot;:982,&quot;./attributes&quot;:994,&quot;./convert&quot;:995}],997:[function(t,e,r){&quot;use strict&quot;;function n(t){var e={};e[&quot;autobin&quot;+t]=!1;var r={};return r[&quot;^autobin&quot;+t]=!1,{start:{valType:&quot;any&quot;,dflt:null,editType:&quot;calc&quot;,impliedEdits:r},end:{valType:&quot;any&quot;,dflt:null,editType:&quot;calc&quot;,impliedEdits:r},size:{valType:&quot;any&quot;,dflt:null,editType:&quot;calc&quot;,impliedEdits:r},editType:&quot;calc&quot;,impliedEdits:e}}var i=t(&quot;../bar/attributes&quot;);e.exports={x:{valType:&quot;data_array&quot;,editType:&quot;calc+clearAxisTypes&quot;},y:{valType:&quot;data_array&quot;,editType:&quot;calc+clearAxisTypes&quot;},text:i.text,orientation:i.orientation,histfunc:{valType:&quot;enumerated&quot;,values:[&quot;count&quot;,&quot;sum&quot;,&quot;avg&quot;,&quot;min&quot;,&quot;max&quot;],dflt:&quot;count&quot;,editType:&quot;calc&quot;},histnorm:{valType:&quot;enumerated&quot;,values:[&quot;&quot;,&quot;percent&quot;,&quot;probability&quot;,&quot;density&quot;,&quot;probability density&quot;],dflt:&quot;&quot;,editType:&quot;calc&quot;},cumulative:{enabled:{valType:&quot;boolean&quot;,dflt:!1,editType:&quot;calc&quot;},direction:{valType:&quot;enumerated&quot;,values:[&quot;increasing&quot;,&quot;decreasing&quot;],dflt:&quot;increasing&quot;,editType:&quot;calc&quot;},currentbin:{valType:&quot;enumerated&quot;,values:[&quot;include&quot;,&quot;exclude&quot;,&quot;half&quot;],dflt:&quot;include&quot;,editType:&quot;calc&quot;},editType:&quot;calc&quot;},autobinx:{valType:&quot;boolean&quot;,dflt:null,editType:&quot;calc&quot;,impliedEdits:{&quot;xbins.start&quot;:void 0,&quot;xbins.end&quot;:void 0,&quot;xbins.size&quot;:void 0}},nbinsx:{valType:&quot;integer&quot;,min:0,dflt:0,editType:&quot;calc&quot;},xbins:n(&quot;x&quot;),autobiny:{valType:&quot;boolean&quot;,dflt:null,editType:&quot;calc&quot;,impliedEdits:{&quot;ybins.start&quot;:void 0,&quot;ybins.end&quot;:void 0,&quot;ybins.size&quot;:void 0}},nbinsy:{valType:&quot;integer&quot;,min:0,dflt:0,editType:&quot;calc&quot;},ybins:n(&quot;y&quot;),marker:i.marker,selected:i.selected,unselected:i.unselected,error_y:i.error_y,error_x:i.error_x,_deprecated:{bardir:i._deprecated.bardir}}},{&quot;../bar/attributes&quot;:883}],998:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t,e){for(var r=t.length,n=0,i=0;i&lt;r;i++)e[i]?(t[i]/=e[i],n+=t[i]):t[i]=null;return n}},{}],999:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t,e,r,n){return r(&quot;histnorm&quot;),n.forEach(function(t){r(t+&quot;bins.start&quot;),r(t+&quot;bins.end&quot;),r(t+&quot;bins.size&quot;),r(&quot;autobin&quot;+t),r(&quot;nbins&quot;+t)}),e}},{}],1e3:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;fast-isnumeric&quot;);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)&amp;&amp;(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]&gt;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]&lt;a){var o=a-r[t];return r[t]=a,o}}return 0}}},{&quot;fast-isnumeric&quot;:140}],1001:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,n){if(t*e&lt;=0)return 1/0;for(var o=Math.abs(e-t),l=&quot;date&quot;===r.type,u=i(o,l),f=0;f&lt;10;f++){var h=i(80*u,l);if(u===h)break;if(!function(t,e,r,n,i,o){if(n&amp;&amp;t&gt;c){var l=a(e,i,o),u=a(r,i,o),f=t===s?0:1;return l[f]!==u[f]}return Math.floor(r/t)-Math.floor(e/t)&gt;.1}(h,t,e,l,r,n))break;u=h}return u}function i(t,e){return e&amp;&amp;t&gt;h?t&gt;c?t&gt;1.1*s?s:t&gt;1.1*l?l:c:t&gt;u?u:t&gt;f?f:h:Math.pow(10,Math.floor(Math.log(t)/Math.LN10))}function a(t,e,r){var n=e.c2d(t,s,r).split(&quot;-&quot;);return&quot;&quot;===n[0]&amp;&amp;(n.unshift(),n[0]=&quot;-&quot;+n[0]),n}var o=t(&quot;../../constants/numerical&quot;),s=o.ONEAVGYEAR,l=o.ONEAVGMONTH,c=o.ONEDAY,u=o.ONEHOUR,f=o.ONEMIN,h=o.ONESEC,d=t(&quot;../../plots/cartesian/axes&quot;).tickIncrement;e.exports=function(t,e,r,i,a){var o,l,u=-1.1*e,f=-.1*e,h=t-f,p=r[0],m=r[1],g=Math.min(n(p+f,p+h,i,a),n(m+f,m+h,i,a)),v=Math.min(n(p+u,p+f,i,a),n(m+u,m+f,i,a));if(g&gt;v&amp;&amp;v&lt;Math.abs(m-p)/4e3?(o=g,l=!1):(o=Math.min(g,v),l=!0),&quot;date&quot;===i.type&amp;&amp;o&gt;c){var y=o===s?1:6,x=o===s?&quot;M12&quot;:&quot;M1&quot;;return function(e,r){var n=i.c2d(e,s,a),o=n.indexOf(&quot;-&quot;,y);o&gt;0&amp;&amp;(n=n.substr(0,o));var c=i.d2c(n,0,a);if(c&lt;e){var u=d(c,x,!1,a);(c+u)/2&lt;e+t&amp;&amp;(c=u)}return r&amp;&amp;l?d(c,x,!0,a):c}}return function(e,r){var n=o*Math.round(e/o);return n+o/10&lt;e&amp;&amp;n+.9*o&lt;e+t&amp;&amp;(n+=o),r&amp;&amp;l&amp;&amp;(n-=o),n}}},{&quot;../../constants/numerical&quot;:721,&quot;../../plots/cartesian/axes&quot;:789}],1002:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,c,u){var f,h,d,p,m,g=c+&quot;bins&quot;,v=&quot;overlay&quot;===t._fullLayout.barmode;if(e._autoBinFinished)delete e._autoBinFinished;else{var y=v?[e]:i(t,e),x=[],b=1/0,_=1/0,w=-1/0,M=&quot;autobin&quot;+c;for(f=0;f&lt;y.length;f++){m=(h=y[f])._pos0=r.makeCalcdata(h,c);var k=h[g];if(h[M]||!k||null===k.start||null===k.end){d=h[c+&quot;calendar&quot;];var A=h.cumulative;if(k=l.autoBin(m,r,h[&quot;nbins&quot;+c],!1,d),v&amp;&amp;1===k._count&amp;&amp;&quot;category&quot;!==r.type){if(u)return[k,m,!0];k=function(t,e,r,a,o){var l,c,u=i(t,e),f=!1,h=1/0,d=[e];for(l=0;l&lt;u.length;l++)if((c=u[l])===e)f=!0;else if(f){var p=n(t,c,r,a,!0),m=p[0],g=p[2];c._autoBinFinished=1,c._pos0=p[1],g?d.push(c):h=Math.min(h,m.size)}else h=Math.min(h,c[o].size);var v=new Array(d.length);for(l=0;l&lt;d.length;l++)for(var y=d[l]._pos0,x=0;x&lt;y.length;x++)if(void 0!==y[x]){v[l]=y[x];break}isFinite(h)||(h=s.distinctVals(v).minDiff);for(l=0;l&lt;d.length;l++){var b=(c=d[l])[a+&quot;calendar&quot;];c._input[o]=c[o]={start:r.c2r(v[l]-h/2,0,b),end:r.c2r(v[l]+h/2,0,b),size:h}}return e[o]}(t,e,r,c,g)}A.enabled&amp;&amp;&quot;include&quot;!==A.currentbin&amp;&amp;(&quot;decreasing&quot;===A.direction?_=Math.min(_,r.r2c(k.start,0,d)-k.size):w=Math.max(w,r.r2c(k.end,0,d)+k.size)),x.push(h)}else p||(p={size:k.size,start:r.r2c(k.start,0,d),end:r.r2c(k.end,0,d)});b=function(t,e){if(t===1/0)return e;var r=a(t);return a(e)&lt;r?e:t}(b,k.size),_=Math.min(_,r.r2c(k.start,0,d)),w=Math.max(w,r.r2c(k.end,0,d)),f&amp;&amp;(h._autoBinFinished=1)}if(p&amp;&amp;o(p.size)&amp;&amp;o(b)){b=b&gt;p.size/1.9?p.size:p.size/Math.ceil(p.size/b);var T=p.start+(p.size-b)/2;_=T-b*Math.ceil((T-_)/b)}for(f=0;f&lt;x.length;f++)d=(h=x[f])[c+&quot;calendar&quot;],h._input[g]=h[g]={start:r.c2r(_,0,d),end:r.c2r(w,0,d),size:b},h._input[M]=h[M]}return m=e._pos0,delete e._pos0,[e[g],m]}function i(t,e){for(var r=e.xaxis,n=e.yaxis,i=e.orientation,a=[],o=t._fullData,s=0;s&lt;o.length;s++){var l=o[s];&quot;histogram&quot;===l.type&amp;&amp;l.orientation===i&amp;&amp;l.xaxis===r&amp;&amp;l.yaxis===n&amp;&amp;a.push(l)}return a}function a(t){return o(t)?t:&quot;string&quot;==typeof t&amp;&amp;&quot;M&quot;===t.charAt(0)?p*+t.substr(1):1/0}var o=t(&quot;fast-isnumeric&quot;),s=t(&quot;../../lib&quot;),l=t(&quot;../../plots/cartesian/axes&quot;),c=t(&quot;../bar/arrays_to_calcdata&quot;),u=t(&quot;./bin_functions&quot;),f=t(&quot;./norm_functions&quot;),h=t(&quot;./average&quot;),d=t(&quot;./clean_bins&quot;),p=t(&quot;../../constants/numerical&quot;).ONEAVGMONTH,m=t(&quot;./bin_label_vals&quot;);e.exports=function(t,e){if(!0===e.visible){var r,i=[],a=[],p=l.getFromId(t,&quot;h&quot;===e.orientation?e.yaxis||&quot;y&quot;:e.xaxis||&quot;x&quot;),g=&quot;h&quot;===e.orientation?&quot;y&quot;:&quot;x&quot;,v={x:&quot;y&quot;,y:&quot;x&quot;}[g],y=e[g+&quot;calendar&quot;],x=e.cumulative;d(e,p,g);var b,_,w,M=n(t,e,p,g),k=M[0],A=M[1],T=&quot;string&quot;==typeof k.size,S=[],E=T?S:k,L=[],C=[],z=[],D=0,I=e.histnorm,P=e.histfunc,O=-1!==I.indexOf(&quot;density&quot;);x.enabled&amp;&amp;O&amp;&amp;(I=I.replace(/ ?density$/,&quot;&quot;),O=!1);var F,R=&quot;max&quot;===P||&quot;min&quot;===P?null:0,N=u.count,j=f[I],B=!1,U=function(t){return p.r2c(t,0,y)};for(Array.isArray(e[v])&amp;&amp;&quot;count&quot;!==P&amp;&amp;(F=e[v],B=&quot;avg&quot;===P,N=u[P]),r=U(k.start),_=U(k.end)+(r-l.tickIncrement(r,k.size,!1,y))/1e6;r&lt;_&amp;&amp;i.length&lt;1e6&amp;&amp;(b=l.tickIncrement(r,k.size,!1,y),i.push((r+b)/2),a.push(R),z.push([]),S.push(r),O&amp;&amp;L.push(1/(b-r)),B&amp;&amp;C.push(0),!(b&lt;=r));)r=b;S.push(r),T||&quot;date&quot;!==p.type||(E={start:U(E.start),end:U(E.end),size:E.size});var V=a.length,q=!0,H=1/0,G=1/0,Y={};for(r=0;r&lt;A.length;r++){var W=A[r];(w=s.findBin(W,E))&gt;=0&amp;&amp;w&lt;V&amp;&amp;(D+=N(w,r,a,F,C),q&amp;&amp;z[w].length&amp;&amp;W!==A[z[w][0]]&amp;&amp;(q=!1),z[w].push(r),Y[r]=w,H=Math.min(H,W-S[w]),G=Math.min(G,S[w+1]-W))}var X;q||(X=m(H,G,S,p,y)),B&amp;&amp;(D=h(a,C)),j&amp;&amp;j(a,D,L),x.enabled&amp;&amp;function(t,e,r){function n(e){s=t[e],t[e]/=2}function i(e){o=t[e],t[e]=s+o/2,s+=o}var a,o,s;if(&quot;half&quot;===r)if(&quot;increasing&quot;===e)for(n(0),a=1;a&lt;t.length;a++)i(a);else for(n(t.length-1),a=t.length-2;a&gt;=0;a--)i(a);else if(&quot;increasing&quot;===e){for(a=1;a&lt;t.length;a++)t[a]+=t[a-1];&quot;exclude&quot;===r&amp;&amp;(t.unshift(0),t.pop())}else{for(a=t.length-2;a&gt;=0;a--)t[a]+=t[a+1];&quot;exclude&quot;===r&amp;&amp;(t.push(0),t.shift())}}(a,x.direction,x.currentbin);var Z=Math.min(i.length,a.length),J=[],K=0,Q=Z-1;for(r=0;r&lt;Z;r++)if(a[r]){K=r;break}for(r=Z-1;r&gt;=K;r--)if(a[r]){Q=r;break}for(r=K;r&lt;=Q;r++)if(o(i[r])&amp;&amp;o(a[r])){var $={p:i[r],s:a[r],b:0};x.enabled||($.pts=z[r],q?$.p0=$.p1=z[r].length?A[z[r][0]]:i[r]:($.p0=X(S[r]),$.p1=X(S[r+1],!0))),J.push($)}return 1===J.length&amp;&amp;(J[0].width1=l.tickIncrement(J[0].p,k.size,!1,y)-J[0].p),c(J,e),Array.isArray(e.selectedpoints)&amp;&amp;s.tagSelected(J,e,Y),J}}},{&quot;../../constants/numerical&quot;:721,&quot;../../lib&quot;:743,&quot;../../plots/cartesian/axes&quot;:789,&quot;../bar/arrays_to_calcdata&quot;:882,&quot;./average&quot;:998,&quot;./bin_functions&quot;:1e3,&quot;./bin_label_vals&quot;:1001,&quot;./clean_bins&quot;:1003,&quot;./norm_functions&quot;:1008,&quot;fast-isnumeric&quot;:140}],1003:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;fast-isnumeric&quot;),i=t(&quot;../../lib&quot;).cleanDate,a=t(&quot;../../constants/numerical&quot;),o=a.ONEDAY,s=a.BADNUM;e.exports=function(t,e,r){var a=e.type,l=r+&quot;bins&quot;,c=t[l];c||(c=t[l]={});var u=&quot;date&quot;===a?function(t){return t||0===t?i(t,s,c.calendar):null}:function(t){return n(t)?Number(t):null};c.start=u(c.start),c.end=u(c.end);var f=&quot;date&quot;===a?o:1,h=c.size;if(n(h))c.size=h&gt;0?Number(h):f;else if(&quot;string&quot;!=typeof h)c.size=f;else{var d=h.charAt(0),p=h.substr(1);((p=n(p)?Number(p):0)&lt;=0||&quot;date&quot;!==a||&quot;M&quot;!==d||p!==Math.round(p))&amp;&amp;(c.size=f)}var m=&quot;autobin&quot;+r;&quot;boolean&quot;!=typeof t[m]&amp;&amp;(t[m]=!((c.start||0===c.start)&amp;&amp;(c.end||0===c.end))),t[m]||delete t[&quot;nbins&quot;+r]}},{&quot;../../constants/numerical&quot;:721,&quot;../../lib&quot;:743,&quot;fast-isnumeric&quot;:140}],1004:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../registry&quot;),i=t(&quot;../../lib&quot;),a=t(&quot;../../components/color&quot;),o=t(&quot;./bin_defaults&quot;),s=t(&quot;../bar/style_defaults&quot;),l=t(&quot;../../components/errorbars/defaults&quot;),c=t(&quot;./attributes&quot;);e.exports=function(t,e,r,u){function f(r,n){return i.coerce(t,e,c,r,n)}var h=f(&quot;x&quot;),d=f(&quot;y&quot;);f(&quot;cumulative.enabled&quot;)&amp;&amp;(f(&quot;cumulative.direction&quot;),f(&quot;cumulative.currentbin&quot;)),f(&quot;text&quot;);var p=f(&quot;orientation&quot;,d&amp;&amp;!h?&quot;h&quot;:&quot;v&quot;),m=e[&quot;v&quot;===p?&quot;x&quot;:&quot;y&quot;];if(m&amp;&amp;m.length){n.getComponentMethod(&quot;calendars&quot;,&quot;handleTraceDefaults&quot;)(t,e,[&quot;x&quot;,&quot;y&quot;],u);e[&quot;h&quot;===p?&quot;x&quot;:&quot;y&quot;]&amp;&amp;f(&quot;histfunc&quot;);o(t,e,f,&quot;h&quot;===p?[&quot;y&quot;]:[&quot;x&quot;]),s(t,e,f,r,u),l(t,e,a.defaultLine,{axis:&quot;y&quot;}),l(t,e,a.defaultLine,{axis:&quot;x&quot;,inherit:&quot;y&quot;}),i.coerceSelectionMarkerOpacity(e,f)}else e.visible=!1}},{&quot;../../components/color&quot;:618,&quot;../../components/errorbars/defaults&quot;:648,&quot;../../lib&quot;:743,&quot;../../registry&quot;:873,&quot;../bar/style_defaults&quot;:895,&quot;./attributes&quot;:997,&quot;./bin_defaults&quot;:999}],1005:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t,e,r,n,i){if(t.x=&quot;xVal&quot;in e?e.xVal:e.x,t.y=&quot;yVal&quot;in e?e.yVal:e.y,e.xa&amp;&amp;(t.xaxis=e.xa),e.ya&amp;&amp;(t.yaxis=e.ya),!(r.cumulative||{}).enabled){var a=Array.isArray(i)?n[0].pts[i[0]][i[1]]:n[i].pts;t.pointNumbers=a,t.binNumber=t.pointNumber,delete t.pointNumber,delete t.pointIndex;var o;if(r._indexToPoints){o=[];for(var s=0;s&lt;a.length;s++)o=o.concat(r._indexToPoints[a[s]])}else o=a;t.pointIndices=o}return t}},{}],1006:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../bar/hover&quot;),i=t(&quot;../../plots/cartesian/axes&quot;).hoverLabelText;e.exports=function(t,e,r,a){var o=n(t,e,r,a);if(o){var s=(t=o[0]).cd[t.index],l=t.cd[0].trace;if(!l.cumulative.enabled){var c=&quot;h&quot;===l.orientation?&quot;y&quot;:&quot;x&quot;;t[c+&quot;Label&quot;]=i(t[c+&quot;a&quot;],s.p0,s.p1)}return o}}},{&quot;../../plots/cartesian/axes&quot;:789,&quot;../bar/hover&quot;:886}],1007:[function(t,e,r){&quot;use strict&quot;;var n={};n.attributes=t(&quot;./attributes&quot;),n.layoutAttributes=t(&quot;../bar/layout_attributes&quot;),n.supplyDefaults=t(&quot;./defaults&quot;),n.supplyLayoutDefaults=t(&quot;../bar/layout_defaults&quot;),n.calc=t(&quot;./calc&quot;),n.setPositions=t(&quot;../bar/set_positions&quot;),n.plot=t(&quot;../bar/plot&quot;),n.style=t(&quot;../bar/style&quot;),n.colorbar=t(&quot;../scatter/colorbar&quot;),n.hoverPoints=t(&quot;./hover&quot;),n.selectPoints=t(&quot;../bar/select&quot;),n.eventData=t(&quot;./event_data&quot;),n.moduleType=&quot;trace&quot;,n.name=&quot;histogram&quot;,n.basePlotModule=t(&quot;../../plots/cartesian&quot;),n.categories=[&quot;cartesian&quot;,&quot;bar&quot;,&quot;histogram&quot;,&quot;oriented&quot;,&quot;errorBarsOK&quot;,&quot;showLegend&quot;],n.meta={},e.exports=n},{&quot;../../plots/cartesian&quot;:800,&quot;../bar/layout_attributes&quot;:888,&quot;../bar/layout_defaults&quot;:889,&quot;../bar/plot&quot;:890,&quot;../bar/select&quot;:891,&quot;../bar/set_positions&quot;:892,&quot;../bar/style&quot;:894,&quot;../scatter/colorbar&quot;:1070,&quot;./attributes&quot;:997,&quot;./calc&quot;:1002,&quot;./defaults&quot;:1004,&quot;./event_data&quot;:1005,&quot;./hover&quot;:1006}],1008:[function(t,e,r){&quot;use strict&quot;;e.exports={percent:function(t,e){for(var r=t.length,n=100/e,i=0;i&lt;r;i++)t[i]*=n},probability:function(t,e){for(var r=t.length,n=0;n&lt;r;n++)t[n]/=e},density:function(t,e,r,n){var i=t.length;n=n||1;for(var a=0;a&lt;i;a++)t[a]*=r[a]*n},&quot;probability density&quot;:function(t,e,r,n){var i=t.length;n&amp;&amp;(e/=n);for(var a=0;a&lt;i;a++)t[a]*=r[a]/e}}},{}],1009:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../histogram/attributes&quot;),i=t(&quot;../heatmap/attributes&quot;),a=t(&quot;../../components/colorscale/attributes&quot;),o=t(&quot;../../components/colorbar/attributes&quot;),s=t(&quot;../../lib/extend&quot;).extendFlat;e.exports=s({},{x:n.x,y:n.y,z:{valType:&quot;data_array&quot;,editType:&quot;calc&quot;},marker:{color:{valType:&quot;data_array&quot;,editType:&quot;calc&quot;},editType:&quot;calc&quot;},histnorm:n.histnorm,histfunc:n.histfunc,autobinx:n.autobinx,nbinsx:n.nbinsx,xbins:n.xbins,autobiny:n.autobiny,nbinsy:n.nbinsy,ybins:n.ybins,xgap:i.xgap,ygap:i.ygap,zsmooth:i.zsmooth,zhoverformat:i.zhoverformat},a,{autocolorscale:s({},a.autocolorscale,{dflt:!1})},{colorbar:o})},{&quot;../../components/colorbar/attributes&quot;:619,&quot;../../components/colorscale/attributes&quot;:624,&quot;../../lib/extend&quot;:732,&quot;../heatmap/attributes&quot;:977,&quot;../histogram/attributes&quot;:997}],1010:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,n,i,a,o){var s=e+&quot;bins&quot;,c=&quot;autobin&quot;+e,u=t[s];h(t,n,e),!t[c]&amp;&amp;u&amp;&amp;null!==u.start&amp;&amp;null!==u.end||(u=l.autoBin(r,n,t[&quot;nbins&quot;+e],&quot;2d&quot;,o),&quot;histogram2dcontour&quot;===t.type&amp;&amp;(u.start=a(l.tickIncrement(i(u.start),u.size,!0,o)),u.end=a(l.tickIncrement(i(u.end),u.size,!1,o))),t._input[s]=t[s]=u,t._input[c]=t[c])}function i(t,e,r,n){var i,a=new Array(t);if(n)for(i=0;i&lt;t;i++)a[i]=1/(e[i+1]-e[i]);else{var o=1/r;for(i=0;i&lt;t;i++)a[i]=o}return a}function a(t,e){return{start:t(e.start),end:t(e.end),size:e.size}}function o(t,e,r,n,i,a){var o,s=t.length-1,l=new Array(s);if(e)for(o=0;o&lt;s;o++)l[o]=[e[o],e[o]];else{var c=d(r,n,t,i,a);for(o=0;o&lt;s;o++)l[o]=[c(t[o]),c(t[o+1],!0)]}return l}var s=t(&quot;../../lib&quot;),l=t(&quot;../../plots/cartesian/axes&quot;),c=t(&quot;../histogram/bin_functions&quot;),u=t(&quot;../histogram/norm_functions&quot;),f=t(&quot;../histogram/average&quot;),h=t(&quot;../histogram/clean_bins&quot;),d=t(&quot;../histogram/bin_label_vals&quot;);e.exports=function(t,e){var r,h,d,p,m=l.getFromId(t,e.xaxis||&quot;x&quot;),g=e.x?m.makeCalcdata(e,&quot;x&quot;):[],v=l.getFromId(t,e.yaxis||&quot;y&quot;),y=e.y?v.makeCalcdata(e,&quot;y&quot;):[],x=e.xcalendar,b=e.ycalendar,_=function(t){return m.r2c(t,0,x)},w=function(t){return v.r2c(t,0,b)},M=function(t){return m.c2r(t,0,x)},k=function(t){return v.c2r(t,0,b)},A=Math.min(g.length,y.length);g.length&gt;A&amp;&amp;g.splice(A,g.length-A),y.length&gt;A&amp;&amp;y.splice(A,y.length-A),n(e,&quot;x&quot;,g,m,_,M,x),n(e,&quot;y&quot;,y,v,w,k,b);var T=[],S=[],E=[],L=&quot;string&quot;==typeof e.xbins.size,C=&quot;string&quot;==typeof e.ybins.size,z=[],D=[],I=L?z:e.xbins,P=C?D:e.ybins,O=0,F=[],R=[],N=e.histnorm,j=e.histfunc,B=-1!==N.indexOf(&quot;density&quot;),U=&quot;max&quot;===j||&quot;min&quot;===j?null:0,V=c.count,q=u[N],H=!1,G=[],Y=[],W=&quot;z&quot;in e?e.z:&quot;marker&quot;in e&amp;&amp;Array.isArray(e.marker.color)?e.marker.color:&quot;&quot;;W&amp;&amp;&quot;count&quot;!==j&amp;&amp;(H=&quot;avg&quot;===j,V=c[j]);var X=e.xbins,Z=_(X.start),J=_(X.end)+(Z-l.tickIncrement(Z,X.size,!1,x))/1e6;for(r=Z;r&lt;J;r=l.tickIncrement(r,X.size,!1,x))S.push(U),z.push(r),H&amp;&amp;E.push(0);z.push(r);var K=S.length,Q=_(e.xbins.start),$=(r-Q)/K,tt=M(Q+$/2);for(Z=w((X=e.ybins).start),J=w(X.end)+(Z-l.tickIncrement(Z,X.size,!1,b))/1e6,r=Z;r&lt;J;r=l.tickIncrement(r,X.size,!1,b)){T.push(S.slice()),D.push(r);var et=new Array(K);for(h=0;h&lt;K;h++)et[h]=[];R.push(et),H&amp;&amp;F.push(E.slice())}D.push(r);var rt=T.length,nt=w(e.ybins.start),it=(r-nt)/rt,at=k(nt+it/2);B&amp;&amp;(G=i(S.length,I,$,L),Y=i(T.length,P,it,C)),L||&quot;date&quot;!==m.type||(I=a(_,I)),C||&quot;date&quot;!==v.type||(P=a(w,P));var ot=!0,st=!0,lt=new Array(K),ct=new Array(rt),ut=1/0,ft=1/0,ht=1/0,dt=1/0;for(r=0;r&lt;A;r++){var pt=g[r],mt=y[r];d=s.findBin(pt,I),p=s.findBin(mt,P),d&gt;=0&amp;&amp;d&lt;K&amp;&amp;p&gt;=0&amp;&amp;p&lt;rt&amp;&amp;(O+=V(d,r,T[p],W,F[p]),R[p][d].push(r),ot&amp;&amp;(void 0===lt[d]?lt[d]=pt:lt[d]!==pt&amp;&amp;(ot=!1)),st&amp;&amp;(void 0===ct[d]?ct[d]=mt:ct[d]!==mt&amp;&amp;(st=!1)),ut=Math.min(ut,pt-z[d]),ft=Math.min(ft,z[d+1]-pt),ht=Math.min(ht,mt-D[p]),dt=Math.min(dt,D[p+1]-mt))}if(H)for(p=0;p&lt;rt;p++)O+=f(T[p],F[p]);if(q)for(p=0;p&lt;rt;p++)q(T[p],O,G,Y[p]);return{x:g,xRanges:o(z,ot&amp;&amp;lt,ut,ft,m,x),x0:tt,dx:$,y:y,yRanges:o(D,st&amp;&amp;ct,ht,dt,v,b),y0:at,dy:it,z:T,pts:R}}},{&quot;../../lib&quot;:743,&quot;../../plots/cartesian/axes&quot;:789,&quot;../histogram/average&quot;:998,&quot;../histogram/bin_functions&quot;:1e3,&quot;../histogram/bin_label_vals&quot;:1001,&quot;../histogram/clean_bins&quot;:1003,&quot;../histogram/norm_functions&quot;:1008}],1011:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib&quot;),i=t(&quot;./sample_defaults&quot;),a=t(&quot;../heatmap/style_defaults&quot;),o=t(&quot;../../components/colorscale/defaults&quot;),s=t(&quot;./attributes&quot;);e.exports=function(t,e,r,l){function c(r,i){return n.coerce(t,e,s,r,i)}i(t,e,c,l),!1!==e.visible&amp;&amp;(a(t,e,c,l),o(t,e,l,c,{prefix:&quot;&quot;,cLetter:&quot;z&quot;}))}},{&quot;../../components/colorscale/defaults&quot;:628,&quot;../../lib&quot;:743,&quot;../heatmap/style_defaults&quot;:992,&quot;./attributes&quot;:1009,&quot;./sample_defaults&quot;:1014}],1012:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../heatmap/hover&quot;),i=t(&quot;../../plots/cartesian/axes&quot;).hoverLabelText;e.exports=function(t,e,r,a,o,s){var l=n(t,e,r,a,o,s);if(l){var c=(t=l[0]).index,u=c[0],f=c[1],h=t.cd[0],d=h.xRanges[f],p=h.yRanges[u];return t.xLabel=i(t.xa,d[0],d[1]),t.yLabel=i(t.ya,p[0],p[1]),l}}},{&quot;../../plots/cartesian/axes&quot;:789,&quot;../heatmap/hover&quot;:985}],1013:[function(t,e,r){&quot;use strict&quot;;var n={};n.attributes=t(&quot;./attributes&quot;),n.supplyDefaults=t(&quot;./defaults&quot;),n.calc=t(&quot;../heatmap/calc&quot;),n.plot=t(&quot;../heatmap/plot&quot;),n.colorbar=t(&quot;../heatmap/colorbar&quot;),n.style=t(&quot;../heatmap/style&quot;),n.hoverPoints=t(&quot;./hover&quot;),n.eventData=t(&quot;../histogram/event_data&quot;),n.moduleType=&quot;trace&quot;,n.name=&quot;histogram2d&quot;,n.basePlotModule=t(&quot;../../plots/cartesian&quot;),n.categories=[&quot;cartesian&quot;,&quot;2dMap&quot;,&quot;histogram&quot;],n.meta={},e.exports=n},{&quot;../../plots/cartesian&quot;:800,&quot;../heatmap/calc&quot;:978,&quot;../heatmap/colorbar&quot;:980,&quot;../heatmap/plot&quot;:990,&quot;../heatmap/style&quot;:991,&quot;../histogram/event_data&quot;:1005,&quot;./attributes&quot;:1009,&quot;./defaults&quot;:1011,&quot;./hover&quot;:1012}],1014:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../registry&quot;),i=t(&quot;../histogram/bin_defaults&quot;);e.exports=function(t,e,r,a){var o=r(&quot;x&quot;),s=r(&quot;y&quot;);if(o&amp;&amp;o.length&amp;&amp;s&amp;&amp;s.length){n.getComponentMethod(&quot;calendars&quot;,&quot;handleTraceDefaults&quot;)(t,e,[&quot;x&quot;,&quot;y&quot;],a);(r(&quot;z&quot;)||r(&quot;marker.color&quot;))&amp;&amp;r(&quot;histfunc&quot;);i(t,e,r,[&quot;x&quot;,&quot;y&quot;])}else e.visible=!1}},{&quot;../../registry&quot;:873,&quot;../histogram/bin_defaults&quot;:999}],1015:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../histogram2d/attributes&quot;),i=t(&quot;../contour/attributes&quot;),a=t(&quot;../../components/colorscale/attributes&quot;),o=t(&quot;../../components/colorbar/attributes&quot;),s=t(&quot;../../lib/extend&quot;).extendFlat;e.exports=s({x:n.x,y:n.y,z:n.z,marker:n.marker,histnorm:n.histnorm,histfunc:n.histfunc,autobinx:n.autobinx,nbinsx:n.nbinsx,xbins:n.xbins,autobiny:n.autobiny,nbinsy:n.nbinsy,ybins:n.ybins,autocontour:i.autocontour,ncontours:i.ncontours,contours:i.contours,line:i.line,zhoverformat:n.zhoverformat},a,{zmin:s({},a.zmin,{editType:&quot;calc&quot;}),zmax:s({},a.zmax,{editType:&quot;calc&quot;})},{colorbar:o})},{&quot;../../components/colorbar/attributes&quot;:619,&quot;../../components/colorscale/attributes&quot;:624,&quot;../../lib/extend&quot;:732,&quot;../contour/attributes&quot;:949,&quot;../histogram2d/attributes&quot;:1009}],1016:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib&quot;),i=t(&quot;../histogram2d/sample_defaults&quot;),a=t(&quot;../contour/contours_defaults&quot;),o=t(&quot;../contour/style_defaults&quot;),s=t(&quot;./attributes&quot;);e.exports=function(t,e,r,l){function c(r,i){return n.coerce(t,e,s,r,i)}i(t,e,c,l),!1!==e.visible&amp;&amp;(a(t,e,c),o(t,e,c,l))}},{&quot;../../lib&quot;:743,&quot;../contour/contours_defaults&quot;:953,&quot;../contour/style_defaults&quot;:963,&quot;../histogram2d/sample_defaults&quot;:1014,&quot;./attributes&quot;:1015}],1017:[function(t,e,r){&quot;use strict&quot;;var n={};n.attributes=t(&quot;./attributes&quot;),n.supplyDefaults=t(&quot;./defaults&quot;),n.calc=t(&quot;../contour/calc&quot;),n.plot=t(&quot;../contour/plot&quot;).plot,n.style=t(&quot;../contour/style&quot;),n.colorbar=t(&quot;../contour/colorbar&quot;),n.hoverPoints=t(&quot;../contour/hover&quot;),n.moduleType=&quot;trace&quot;,n.name=&quot;histogram2dcontour&quot;,n.basePlotModule=t(&quot;../../plots/cartesian&quot;),n.categories=[&quot;cartesian&quot;,&quot;2dMap&quot;,&quot;contour&quot;,&quot;histogram&quot;],n.meta={},e.exports=n},{&quot;../../plots/cartesian&quot;:800,&quot;../contour/calc&quot;:950,&quot;../contour/colorbar&quot;:951,&quot;../contour/hover&quot;:957,&quot;../contour/plot&quot;:961,&quot;../contour/style&quot;:962,&quot;./attributes&quot;:1015,&quot;./defaults&quot;:1016}],1018:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../components/colorscale/color_attributes&quot;),i=t(&quot;../../components/colorscale/attributes&quot;),a=t(&quot;../../components/colorbar/attributes&quot;),o=t(&quot;../surface/attributes&quot;),s=t(&quot;../../lib/extend&quot;).extendFlat;e.exports=s(n(&quot;&quot;,&quot;calc&quot;,!1),{x:{valType:&quot;data_array&quot;,editType:&quot;calc+clearAxisTypes&quot;},y:{valType:&quot;data_array&quot;,editType:&quot;calc+clearAxisTypes&quot;},z:{valType:&quot;data_array&quot;,editType:&quot;calc+clearAxisTypes&quot;},i:{valType:&quot;data_array&quot;,editType:&quot;calc&quot;},j:{valType:&quot;data_array&quot;,editType:&quot;calc&quot;},k:{valType:&quot;data_array&quot;,editType:&quot;calc&quot;},delaunayaxis:{valType:&quot;enumerated&quot;,values:[&quot;x&quot;,&quot;y&quot;,&quot;z&quot;],dflt:&quot;z&quot;,editType:&quot;calc&quot;},alphahull:{valType:&quot;number&quot;,dflt:-1,editType:&quot;calc&quot;},intensity:{valType:&quot;data_array&quot;,editType:&quot;calc&quot;},color:{valType:&quot;color&quot;,editType:&quot;calc&quot;},vertexcolor:{valType:&quot;data_array&quot;,editType:&quot;calc&quot;},facecolor:{valType:&quot;data_array&quot;,editType:&quot;calc&quot;},opacity:o.opacity,flatshading:{valType:&quot;boolean&quot;,dflt:!1,editType:&quot;calc&quot;},contour:{show:s({},o.contours.x.show,{}),color:o.contours.x.color,width:o.contours.x.width,editType:&quot;calc&quot;},showscale:i.showscale,colorbar:a,lightposition:{x:s({},o.lightposition.x,{dflt:1e5}),y:s({},o.lightposition.y,{dflt:1e5}),z:s({},o.lightposition.z,{dflt:0}),editType:&quot;calc&quot;},lighting:s({vertexnormalsepsilon:{valType:&quot;number&quot;,min:0,max:1,dflt:1e-12,editType:&quot;calc&quot;},facenormalsepsilon:{valType:&quot;number&quot;,min:0,max:1,dflt:1e-6,editType:&quot;calc&quot;},editType:&quot;calc&quot;},o.lighting)})},{&quot;../../components/colorbar/attributes&quot;:619,&quot;../../components/colorscale/attributes&quot;:624,&quot;../../components/colorscale/color_attributes&quot;:626,&quot;../../lib/extend&quot;:732,&quot;../surface/attributes&quot;:1140}],1019:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../components/colorscale/calc&quot;);e.exports=function(t,e){e.intensity&amp;&amp;n(e,e.intensity,&quot;&quot;,&quot;c&quot;)}},{&quot;../../components/colorscale/calc&quot;:625}],1020:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;fast-isnumeric&quot;),i=t(&quot;../../lib&quot;),a=t(&quot;../../plots/plots&quot;),o=t(&quot;../../components/colorscale&quot;),s=t(&quot;../../components/colorbar/draw&quot;);e.exports=function(t,e){var r=e[0].trace,l=&quot;cb&quot;+r.uid,c=r.cmin,u=r.cmax,f=r.intensity||[];if(n(c)||(c=i.aggNums(Math.min,null,f)),n(u)||(u=i.aggNums(Math.max,null,f)),t._fullLayout._infolayer.selectAll(&quot;.&quot;+l).remove(),r.showscale){var h=e[0].t.cb=s(t,l),d=o.makeColorScaleFunc(o.extractScale(r.colorscale,c,u),{noNumericCheck:!0});h.fillcolor(d).filllevels({start:c,end:u,size:(u-c)/254}).options(r.colorbar)()}else a.autoMargin(t,l)}},{&quot;../../components/colorbar/draw&quot;:622,&quot;../../components/colorscale&quot;:633,&quot;../../lib&quot;:743,&quot;../../plots/plots&quot;:852,&quot;fast-isnumeric&quot;:140}],1021:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r){this.scene=t,this.uid=r,this.mesh=e,this.name=&quot;&quot;,this.color=&quot;#fff&quot;,this.data=null,this.showContour=!1}function i(t){return t.map(f)}function a(t,e,r){for(var n=new Array(t.length),i=0;i&lt;t.length;++i)n[i]=[t[i],e[i],r[i]];return n}var o=t(&quot;gl-mesh3d&quot;),s=t(&quot;tinycolor2&quot;),l=t(&quot;delaunay-triangulate&quot;),c=t(&quot;alpha-shape&quot;),u=t(&quot;convex-hull&quot;),f=t(&quot;../../lib/str2rgbarray&quot;),h=n.prototype;h.handlePick=function(t){if(t.object===this.mesh){var e=t.index=t.data.index;return t.traceCoordinate=[this.data.x[e],this.data.y[e],this.data.z[e]],!0}},h.update=function(t){function e(t,e,r,n){return e.map(function(e){return t.d2l(e,0,n)*r})}var r=this.scene,n=r.fullSceneLayout;this.data=t;var o,h=a(e(n.xaxis,t.x,r.dataScale[0],t.xcalendar),e(n.yaxis,t.y,r.dataScale[1],t.ycalendar),e(n.zaxis,t.z,r.dataScale[2],t.zcalendar));if(t.i&amp;&amp;t.j&amp;&amp;t.k)o=a(t.i,t.j,t.k);else if(0===t.alphahull)o=u(h);else if(t.alphahull&gt;0)o=c(t.alphahull,h);else{var d=[&quot;x&quot;,&quot;y&quot;,&quot;z&quot;].indexOf(t.delaunayaxis);o=l(h.map(function(t){return[t[(d+1)%3],t[(d+2)%3]]}))}var p={positions:h,cells:o,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:f(t.contour.color).slice(0,3),contourWidth:t.contour.width,useFacetNormals:t.flatshading};t.intensity?(this.color=&quot;#fff&quot;,p.vertexIntensity=t.intensity,p.vertexIntensityBounds=[t.cmin,t.cmax],p.colormap=function(t){return t.map(function(t){var e=t[0],r=s(t[1]).toRgb();return{index:e,rgb:[r.r,r.g,r.b,1]}})}(t.colorscale)):t.vertexcolor?(this.color=t.vertexcolor[0],p.vertexColors=i(t.vertexcolor)):t.facecolor?(this.color=t.facecolor[0],p.cellColors=i(t.facecolor)):(this.color=t.color,p.meshColor=f(t.color)),this.mesh.update(p)},h.dispose=function(){this.scene.glplot.remove(this.mesh),this.mesh.dispose()},e.exports=function(t,e){var r=t.glplot.gl,i=o({gl:r}),a=new n(t,i,e.uid);return i._trace=a,a.update(e),t.glplot.add(i),a}},{&quot;../../lib/str2rgbarray&quot;:765,&quot;alpha-shape&quot;:47,&quot;convex-hull&quot;:109,&quot;delaunay-triangulate&quot;:130,&quot;gl-mesh3d&quot;:210,tinycolor2:546}],1022:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../registry&quot;),i=t(&quot;../../lib&quot;),a=t(&quot;../../components/colorscale/defaults&quot;),o=t(&quot;./attributes&quot;);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&amp;&amp;Array.isArray(e)?e:null});return e.every(function(t){return t&amp;&amp;t.length===e[0].length})&amp;&amp;e}var u=c([&quot;x&quot;,&quot;y&quot;,&quot;z&quot;]),f=c([&quot;i&quot;,&quot;j&quot;,&quot;k&quot;]);if(u){f&amp;&amp;f.forEach(function(t){for(var e=0;e&lt;t.length;++e)t[e]|=0});n.getComponentMethod(&quot;calendars&quot;,&quot;handleTraceDefaults&quot;)(t,e,[&quot;x&quot;,&quot;y&quot;,&quot;z&quot;],s),[&quot;lighting.ambient&quot;,&quot;lighting.diffuse&quot;,&quot;lighting.specular&quot;,&quot;lighting.roughness&quot;,&quot;lighting.fresnel&quot;,&quot;lighting.vertexnormalsepsilon&quot;,&quot;lighting.facenormalsepsilon&quot;,&quot;lightposition.x&quot;,&quot;lightposition.y&quot;,&quot;lightposition.z&quot;,&quot;contour.show&quot;,&quot;contour.color&quot;,&quot;contour.width&quot;,&quot;colorscale&quot;,&quot;reversescale&quot;,&quot;flatshading&quot;,&quot;alphahull&quot;,&quot;delaunayaxis&quot;,&quot;opacity&quot;].forEach(function(t){l(t)}),&quot;intensity&quot;in t?(l(&quot;intensity&quot;),a(t,e,s,l,{prefix:&quot;&quot;,cLetter:&quot;c&quot;})):(e.showscale=!1,&quot;facecolor&quot;in t?l(&quot;facecolor&quot;):&quot;vertexcolor&quot;in t?l(&quot;vertexcolor&quot;):l(&quot;color&quot;,r))}else e.visible=!1}},{&quot;../../components/colorscale/defaults&quot;:628,&quot;../../lib&quot;:743,&quot;../../registry&quot;:873,&quot;./attributes&quot;:1018}],1023:[function(t,e,r){&quot;use strict&quot;;var n={};n.attributes=t(&quot;./attributes&quot;),n.supplyDefaults=t(&quot;./defaults&quot;),n.calc=t(&quot;./calc&quot;),n.colorbar=t(&quot;./colorbar&quot;),n.plot=t(&quot;./convert&quot;),n.moduleType=&quot;trace&quot;,n.name=&quot;mesh3d&quot;,n.basePlotModule=t(&quot;../../plots/gl3d&quot;),n.categories=[&quot;gl3d&quot;],n.meta={},e.exports=n},{&quot;../../plots/gl3d&quot;:832,&quot;./attributes&quot;:1018,&quot;./calc&quot;:1019,&quot;./colorbar&quot;:1020,&quot;./convert&quot;:1021,&quot;./defaults&quot;:1022}],1024:[function(t,e,r){&quot;use strict&quot;;function n(t){return{name:{valType:&quot;string&quot;,editType:&quot;style&quot;},showlegend:{valType:&quot;boolean&quot;,dflt:!0,editType:&quot;style&quot;},line:{color:i({},s.color,{dflt:t}),width:s.width,dash:o,editType:&quot;style&quot;},editType:&quot;style&quot;}}var i=t(&quot;../../lib&quot;).extendFlat,a=t(&quot;../scatter/attributes&quot;),o=t(&quot;../../components/drawing/attributes&quot;).dash,s=a.line;e.exports={x:{valType:&quot;data_array&quot;,editType:&quot;calc+clearAxisTypes&quot;},open:{valType:&quot;data_array&quot;,dflt:[],editType:&quot;calc&quot;},high:{valType:&quot;data_array&quot;,dflt:[],editType:&quot;calc&quot;},low:{valType:&quot;data_array&quot;,dflt:[],editType:&quot;calc&quot;},close:{valType:&quot;data_array&quot;,dflt:[],editType:&quot;calc&quot;},line:{width:i({},s.width,{}),dash:i({},o,{}),editType:&quot;style&quot;},increasing:n(&quot;#3D9970&quot;),decreasing:n(&quot;#FF4136&quot;),text:{valType:&quot;string&quot;,dflt:&quot;&quot;,arrayOk:!0,editType:&quot;calc&quot;},tickwidth:{valType:&quot;number&quot;,min:0,max:.5,dflt:.3,editType:&quot;calcIfAutorange&quot;}}},{&quot;../../components/drawing/attributes&quot;:642,&quot;../../lib&quot;:743,&quot;../scatter/attributes&quot;:1066}],1025:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,n){o(t,e,r,n),r(n+&quot;.line.color&quot;),r(n+&quot;.line.width&quot;,e.line.width),r(n+&quot;.line.dash&quot;,e.line.dash)}var i=t(&quot;../../lib&quot;),a=t(&quot;./ohlc_defaults&quot;),o=t(&quot;./direction_defaults&quot;),s=t(&quot;./attributes&quot;),l=t(&quot;./helpers&quot;);e.exports=function(t,e,r,o){function c(r,n){return i.coerce(t,e,s,r,n)}l.pushDummyTransformOpts(t,e);0!==a(t,e,c,o)?(c(&quot;line.width&quot;),c(&quot;line.dash&quot;),n(t,e,c,&quot;increasing&quot;),n(t,e,c,&quot;decreasing&quot;),c(&quot;text&quot;),c(&quot;tickwidth&quot;)):e.visible=!1}},{&quot;../../lib&quot;:743,&quot;./attributes&quot;:1024,&quot;./direction_defaults&quot;:1026,&quot;./helpers&quot;:1027,&quot;./ohlc_defaults&quot;:1029}],1026:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t,e,r,n){r(n+&quot;.showlegend&quot;),!1===t.showlegend&amp;&amp;(e[n].showlegend=!1);r(n+&quot;.name&quot;,e.name+&quot; - &quot;+n)}},{}],1027:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;fast-isnumeric&quot;),i=t(&quot;../../lib&quot;);r.pushDummyTransformOpts=function(t,e){var r={type:e.type,_ephemeral:!0};Array.isArray(t.transforms)?t.transforms.push(r):t.transforms=[r]},r.clearEphemeralTransformOpts=function(t){var e=t.transforms;if(Array.isArray(e)){for(var r=0;r&lt;e.length;r++)e[r]._ephemeral&amp;&amp;e.splice(r,1);0===e.length&amp;&amp;delete t.transforms}},r.copyOHLC=function(t,e){t.open&amp;&amp;(e.open=t.open),t.high&amp;&amp;(e.high=t.high),t.low&amp;&amp;(e.low=t.low),t.close&amp;&amp;(e.close=t.close)},r.makeTransform=function(t,e,r){var n=i.extendFlat([],t.transforms);return n[e.transformIndex]={type:t.type,direction:r,open:t.open,high:t.high,low:t.low,close:t.close},n},r.getFilterFn=function(t){return new function(t){function e(t,e){return t===e?e&gt;i?r=!0:e&lt;i&amp;&amp;(r=!1):r=t&lt;e,i=e,r}var r=!0,i=null;return&quot;increasing&quot;===t?function(t,r){return n(t)&amp;&amp;n(r)&amp;&amp;e(+t,+r)}:function(t,r){return n(t)&amp;&amp;n(r)&amp;&amp;!e(+t,+r)}}(t)},r.addRangeSlider=function(t,e){for(var r=!1,n=0;n&lt;t.length;n++)if(!0===t[n].visible){r=!0;break}r&amp;&amp;(e.xaxis||(e.xaxis={}),e.xaxis.rangeslider||(e.xaxis.rangeslider={}))}},{&quot;../../lib&quot;:743,&quot;fast-isnumeric&quot;:140}],1028:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../plot_api/register&quot;);e.exports={moduleType:&quot;trace&quot;,name:&quot;ohlc&quot;,basePlotModule:t(&quot;../../plots/cartesian&quot;),categories:[&quot;cartesian&quot;,&quot;showLegend&quot;],meta:{},attributes:t(&quot;./attributes&quot;),supplyDefaults:t(&quot;./defaults&quot;)},n(t(&quot;../scatter&quot;)),n(t(&quot;./transform&quot;))},{&quot;../../plot_api/register&quot;:779,&quot;../../plots/cartesian&quot;:800,&quot;../scatter&quot;:1078,&quot;./attributes&quot;:1024,&quot;./defaults&quot;:1025,&quot;./transform&quot;:1030}],1029:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../registry&quot;);e.exports=function(t,e,r,i){var a,o=r(&quot;x&quot;),s=r(&quot;open&quot;),l=r(&quot;high&quot;),c=r(&quot;low&quot;),u=r(&quot;close&quot;);return n.getComponentMethod(&quot;calendars&quot;,&quot;handleTraceDefaults&quot;)(t,e,[&quot;x&quot;],i),a=Math.min(s.length,l.length,c.length,u.length),o&amp;&amp;(a=Math.min(a,o.length))&lt;o.length&amp;&amp;(e.x=o.slice(0,a)),a&lt;s.length&amp;&amp;(e.open=s.slice(0,a)),a&lt;l.length&amp;&amp;(e.high=l.slice(0,a)),a&lt;c.length&amp;&amp;(e.low=c.slice(0,a)),a&lt;u.length&amp;&amp;(e.close=u.slice(0,a)),a}},{&quot;../../registry&quot;:873}],1030:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r){var n={type:&quot;scatter&quot;,mode:&quot;lines&quot;,connectgaps:!1,visible:t.visible,opacity:t.opacity,xaxis:t.xaxis,yaxis:t.yaxis,hoverinfo:function(t){var e=t.hoverinfo;if(&quot;all&quot;===e)return&quot;x+text+name&quot;;var r=e.split(&quot;+&quot;),n=r.indexOf(&quot;y&quot;),i=r.indexOf(&quot;text&quot;);-1!==n&amp;&amp;(r.splice(n,1),-1===i&amp;&amp;r.push(&quot;text&quot;));return r.join(&quot;+&quot;)}(t),transforms:s.makeTransform(t,e,r)},i=t[r];return i&amp;&amp;a.extendFlat(n,{x:t.x||[0],xcalendar:t.xcalendar,y:[].concat(t.low).concat(t.high),text:t.text,name:i.name,showlegend:i.showlegend,line:i.line}),n}var i=t(&quot;fast-isnumeric&quot;),a=t(&quot;../../lib&quot;),o=a._,s=t(&quot;./helpers&quot;),l=t(&quot;../../plots/cartesian/axes&quot;),c=t(&quot;../../plots/cartesian/axis_ids&quot;);r.moduleType=&quot;transform&quot;,r.name=&quot;ohlc&quot;,r.attributes={},r.supplyDefaults=function(t,e,r,n){return s.clearEphemeralTransformOpts(n),s.copyOHLC(t,e),t},r.transform=function(t,e){for(var r=[],i=0;i&lt;t.length;i++){var a=t[i];&quot;ohlc&quot;===a.type?r.push(n(a,e,&quot;increasing&quot;),n(a,e,&quot;decreasing&quot;)):r.push(a)}return s.addRangeSlider(r,e.layout),r},r.calcTransform=function(t,e,r){var n,u=r.direction,f=s.getFilterFn(u),h=c.getFromTrace(t,e,&quot;x&quot;),d=c.getFromTrace(t,e,&quot;y&quot;),p=function(t,e,r){var n=r._fullInput,i=n.tickwidth,o=n._minDiff;if(!o){var s=t._fullData,l=[];o=1/0;var c;for(c=0;c&lt;s.length;c++){var u=s[c]._fullInput;if(&quot;ohlc&quot;===u.type&amp;&amp;!0===u.visible&amp;&amp;u.xaxis===e._id&amp;&amp;(l.push(u),u.x&amp;&amp;u.x.length&gt;1)){var f=a.simpleMap(u.x,e.d2c,0,r.xcalendar),h=a.distinctVals(f).minDiff;o=Math.min(o,h)}}for(o===1/0&amp;&amp;(o=1),c=0;c&lt;l.length;c++)l[c]._minDiff=o}return o*i}(t,h,e),m=e.open,g=e.high,v=e.low,y=e.close,x=e.text,b=o(t,&quot;open:&quot;)+&quot; &quot;,_=o(t,&quot;high:&quot;)+&quot; &quot;,w=o(t,&quot;low:&quot;)+&quot; &quot;,M=o(t,&quot;close:&quot;)+&quot; &quot;,k=m.length,A=[],T=[],S=[];n=e._fullInput.x?function(t){var r=e.x[t],n=e.xcalendar,i=h.d2c(r,0,n);A.push(h.c2d(i-p,0,n),r,r,r,r,h.c2d(i+p,0,n),null)}:function(t){A.push(t-p,t,t,t,t,t+p,null)};for(var E=function(t,e,r,n){T.push(t,t,e,r,n,n,null)},L=function(t,e){return l.tickText(t,t.c2l(e),&quot;hover&quot;).text},C=e._fullInput.hoverinfo,z=C.split(&quot;+&quot;),D=&quot;all&quot;===C,I=D||-1!==z.indexOf(&quot;y&quot;),P=D||-1!==z.indexOf(&quot;text&quot;),O=Array.isArray(x)?function(t){return x[t]||&quot;&quot;}:function(){return x},F=function(t,e,r,n,i){var a=[];I&amp;&amp;(a.push(b+L(d,e)),a.push(_+L(d,r)),a.push(w+L(d,n)),a.push(M+L(d,i))),P&amp;&amp;a.push(O(t));var o=a.join(&quot;&lt;br&gt;&quot;);S.push(o,o,o,o,o,o,null)},R=0;R&lt;k;R++)f(m[R],y[R])&amp;&amp;i(g[R])&amp;&amp;i(v[R])&amp;&amp;(n(R),E(m[R],g[R],v[R],y[R]),F(R,m[R],g[R],v[R],y[R]));e.x=A,e.y=T,e.text=S}},{&quot;../../lib&quot;:743,&quot;../../plots/cartesian/axes&quot;:789,&quot;../../plots/cartesian/axis_ids&quot;:792,&quot;./helpers&quot;:1027,&quot;fast-isnumeric&quot;:140}],1031:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../components/colorscale/color_attributes&quot;),i=t(&quot;../../components/colorbar/attributes&quot;),a=t(&quot;../../components/colorscale/scales&quot;),o=t(&quot;../../plots/cartesian/layout_attributes&quot;),s=t(&quot;../../plots/font_attributes&quot;),l=t(&quot;../../plots/domain_attributes&quot;),c=t(&quot;../../lib/extend&quot;),u=c.extendDeepAll,f=c.extendFlat;e.exports={domain:l({name:&quot;parcoords&quot;,trace:!0,editType:&quot;calc&quot;}),labelfont:s({editType:&quot;calc&quot;}),tickfont:s({editType:&quot;calc&quot;}),rangefont:s({editType:&quot;calc&quot;}),dimensions:{_isLinkedToArray:&quot;dimension&quot;,label:{valType:&quot;string&quot;,editType:&quot;calc&quot;},tickvals:f({},o.tickvals,{editType:&quot;calc&quot;}),ticktext:f({},o.ticktext,{editType:&quot;calc&quot;}),tickformat:{valType:&quot;string&quot;,dflt:&quot;3s&quot;,editType:&quot;calc&quot;},visible:{valType:&quot;boolean&quot;,dflt:!0,editType:&quot;calc&quot;},range:{valType:&quot;info_array&quot;,items:[{valType:&quot;number&quot;,editType:&quot;calc&quot;},{valType:&quot;number&quot;,editType:&quot;calc&quot;}],editType:&quot;calc&quot;},constraintrange:{valType:&quot;info_array&quot;,items:[{valType:&quot;number&quot;,editType:&quot;calc&quot;},{valType:&quot;number&quot;,editType:&quot;calc&quot;}],editType:&quot;calc&quot;},values:{valType:&quot;data_array&quot;,dflt:[],editType:&quot;calc&quot;},editType:&quot;calc&quot;},line:f(u(n(&quot;line&quot;,&quot;calc&quot;),{colorscale:{dflt:a.Viridis},autocolorscale:{dflt:!1}}),{showscale:{valType:&quot;boolean&quot;,dflt:!1,editType:&quot;calc&quot;},colorbar:i,editType:&quot;calc&quot;})}},{&quot;../../components/colorbar/attributes&quot;:619,&quot;../../components/colorscale/color_attributes&quot;:626,&quot;../../components/colorscale/scales&quot;:637,&quot;../../lib/extend&quot;:732,&quot;../../plots/cartesian/layout_attributes&quot;:801,&quot;../../plots/domain_attributes&quot;:815,&quot;../../plots/font_attributes&quot;:816}],1032:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;d3&quot;),i=t(&quot;../../plots/get_data&quot;).getModuleCalcData,a=t(&quot;./plot&quot;),o=t(&quot;../../constants/xmlns_namespaces&quot;);r.name=&quot;parcoords&quot;,r.plot=function(t){var e=i(t.calcdata,&quot;parcoords&quot;);e.length&amp;&amp;a(t,e)},r.clean=function(t,e,r,n){var i=n._has&amp;&amp;n._has(&quot;parcoords&quot;),a=e._has&amp;&amp;e._has(&quot;parcoords&quot;);i&amp;&amp;!a&amp;&amp;(n._paperdiv.selectAll(&quot;.parcoords&quot;).remove(),n._glimages.selectAll(&quot;*&quot;).remove())},r.toSVG=function(t){var e=t._fullLayout._glimages,r=n.select(t).selectAll(&quot;.svg-container&quot;);r.filter(function(t,e){return e===r.size()-1}).selectAll(&quot;.gl-canvas-context, .gl-canvas-focus&quot;).each(function(){var t=this.toDataURL(&quot;image/png&quot;);e.append(&quot;svg:image&quot;).attr({xmlns:o.svg,&quot;xlink:href&quot;:t,preserveAspectRatio:&quot;none&quot;,x:0,y:0,width:this.width,height:this.height})}),window.setTimeout(function(){n.selectAll(&quot;#filterBarPattern&quot;).attr(&quot;id&quot;,&quot;filterBarPattern&quot;)},60)}},{&quot;../../constants/xmlns_namespaces&quot;:723,&quot;../../plots/get_data&quot;:826,&quot;./plot&quot;:1040,d3:128}],1033:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../components/colorscale/has_colorscale&quot;),i=t(&quot;../../components/colorscale/calc&quot;),a=t(&quot;../../lib&quot;),o=t(&quot;../../lib/gup&quot;).wrap;e.exports=function(t,e){var r=!!e.line.colorscale&amp;&amp;a.isArray(e.line.color),s=r?e.line.color:Array.apply(0,Array(e.dimensions.reduce(function(t,e){return Math.max(t,e.values.length)},0))).map(function(){return.5}),l=r?e.line.colorscale:[[0,e.line.color],[1,e.line.color]];return n(e,&quot;line&quot;)&amp;&amp;i(e,e.line.color,&quot;line&quot;,&quot;c&quot;),o({lineColor:s,cscale:l})}},{&quot;../../components/colorscale/calc&quot;:625,&quot;../../components/colorscale/has_colorscale&quot;:632,&quot;../../lib&quot;:743,&quot;../../lib/gup&quot;:740}],1034:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;fast-isnumeric&quot;),i=t(&quot;../../lib&quot;),a=t(&quot;../../plots/plots&quot;),o=t(&quot;../../components/colorscale&quot;),s=t(&quot;../../components/colorbar/draw&quot;);e.exports=function(t,e){var r=e[0].trace,l=r.line,c=&quot;cb&quot;+r.uid;if(t._fullLayout._infolayer.selectAll(&quot;.&quot;+c).remove(),void 0!==l&amp;&amp;l.showscale){var u=l.color,f=l.cmin,h=l.cmax;n(f)||(f=i.aggNums(Math.min,null,u)),n(h)||(h=i.aggNums(Math.max,null,u));var d=e[0].t.cb=s(t,c),p=o.makeColorScaleFunc(o.extractScale(l.colorscale,f,h),{noNumericCheck:!0});d.fillcolor(p).filllevels({start:f,end:h,size:(h-f)/254}).options(l.colorbar)()}else a.autoMargin(t,c)}},{&quot;../../components/colorbar/draw&quot;:622,&quot;../../components/colorscale&quot;:633,&quot;../../lib&quot;:743,&quot;../../plots/plots&quot;:852,&quot;fast-isnumeric&quot;:140}],1035:[function(t,e,r){&quot;use strict&quot;;e.exports={maxDimensionCount:60,overdrag:45,verticalPadding:2,tickDistance:50,canvasPixelRatio:1,blockLineCount:5e3,scatter:!1,layers:[&quot;contextLineLayer&quot;,&quot;focusLineLayer&quot;,&quot;pickLineLayer&quot;],axisTitleOffset:28,axisExtentOffset:10,bar:{width:4,capturewidth:10,fillcolor:&quot;magenta&quot;,fillopacity:1,strokecolor:&quot;white&quot;,strokeopacity:1,strokewidth:1,handleheight:16,handleopacity:1,handleoverlap:0},cn:{axisExtentText:&quot;axis-extent-text&quot;,parcoordsLineLayers:&quot;parcoords-line-layers&quot;,parcoordsLineLayer:&quot;parcoords-lines&quot;,parcoords:&quot;parcoords&quot;,parcoordsControlView:&quot;parcoords-control-view&quot;,yAxis:&quot;y-axis&quot;,axisOverlays:&quot;axis-overlays&quot;,axis:&quot;axis&quot;,axisHeading:&quot;axis-heading&quot;,axisTitle:&quot;axis-title&quot;,axisExtent:&quot;axis-extent&quot;,axisExtentTop:&quot;axis-extent-top&quot;,axisExtentTopText:&quot;axis-extent-top-text&quot;,axisExtentBottom:&quot;axis-extent-bottom&quot;,axisExtentBottomText:&quot;axis-extent-bottom-text&quot;,axisBrush:&quot;axis-brush&quot;},id:{filterBarPattern:&quot;filter-bar-pattern&quot;}}},{}],1036:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib&quot;),i=t(&quot;./attributes&quot;),a=t(&quot;../../components/colorscale/has_colorscale&quot;),o=t(&quot;../../components/colorscale/defaults&quot;),s=t(&quot;./constants&quot;).maxDimensionCount;e.exports=function(t,e,r,l){function c(r,a){return n.coerce(t,e,i,r,a)}var u=function(t,e){function r(t,e){return n.coerce(a,o,i.dimensions,t,e)}var a,o,l,c=t.dimensions||[],u=e.dimensions=[],f=1/0;for(c.length&gt;s&amp;&amp;(n.log(&quot;parcoords traces support up to &quot;+s+&quot; dimensions at the moment&quot;),c.splice(s)),l=0;l&lt;c.length;l++)a=c[l],o={},n.isPlainObject(a)&amp;&amp;(r(&quot;visible&quot;,r(&quot;values&quot;).length&gt;0)&amp;&amp;(r(&quot;label&quot;),r(&quot;tickvals&quot;),r(&quot;ticktext&quot;),r(&quot;tickformat&quot;),r(&quot;range&quot;),r(&quot;constraintrange&quot;),f=Math.min(f,o.values.length)),o._index=l,u.push(o));if(isFinite(f))for(l=0;l&lt;u.length;l++)(o=u[l]).visible&amp;&amp;o.values.length&gt;f&amp;&amp;(o.values=o.values.slice(0,f));return u}(t,e);!function(t,e,r,i,s){s(&quot;line.color&quot;,r),a(t,&quot;line&quot;)&amp;&amp;n.isArray(t.line.color)?(s(&quot;line.colorscale&quot;),o(t,e,i,s,{prefix:&quot;line.&quot;,cLetter:&quot;c&quot;})):s(&quot;line.color&quot;,r)}(t,e,r,l,c),c(&quot;domain.x&quot;),c(&quot;domain.y&quot;),Array.isArray(u)&amp;&amp;u.length||(e.visible=!1);var f={family:l.font.family,size:Math.round(l.font.size*(10/12)),color:l.font.color};n.coerceFont(c,&quot;labelfont&quot;,f),n.coerceFont(c,&quot;tickfont&quot;,f),n.coerceFont(c,&quot;rangefont&quot;,f)}},{&quot;../../components/colorscale/defaults&quot;:628,&quot;../../components/colorscale/has_colorscale&quot;:632,&quot;../../lib&quot;:743,&quot;./attributes&quot;:1031,&quot;./constants&quot;:1035}],1037:[function(t,e,r){&quot;use strict&quot;;var n={};n.attributes=t(&quot;./attributes&quot;),n.supplyDefaults=t(&quot;./defaults&quot;),n.calc=t(&quot;./calc&quot;),n.plot=t(&quot;./plot&quot;),n.colorbar=t(&quot;./colorbar&quot;),n.moduleType=&quot;trace&quot;,n.name=&quot;parcoords&quot;,n.basePlotModule=t(&quot;./base_plot&quot;),n.categories=[&quot;gl&quot;,&quot;regl&quot;,&quot;noOpacity&quot;],n.meta={},e.exports=n},{&quot;./attributes&quot;:1031,&quot;./base_plot&quot;:1032,&quot;./calc&quot;:1033,&quot;./colorbar&quot;:1034,&quot;./defaults&quot;:1036,&quot;./plot&quot;:1040}],1038:[function(t,e,r){&quot;use strict&quot;;function n(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 i(t,e,r,i,a,o){function s(c){var u;u=Math.min(i,a-c*i),o.offset=h*c*i,o.count=h*u,0===c&amp;&amp;(window.cancelAnimationFrame(r.currentRafs[l]),delete r.currentRafs[l],n(t,o.scissorX,o.scissorY,o.scissorWidth,o.viewBoxSize[1])),r.clearOnly||(e(o),c*i+u&lt;a&amp;&amp;(r.currentRafs[l]=window.requestAnimationFrame(function(){s(c+1)})),r.drawCompleted=!1)}var l=o.key;r.drawCompleted||(!function(t){t.read({x:0,y:0,width:1,height:1,data:m})}(t),r.drawCompleted=!0),s(0)}function a(t){return Math.max(u,Math.min(1-u,t))}function o(t,e){return(t&gt;&gt;&gt;8*e)%256/255}function s(t,e){var r={};return[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15].map(function(r){return function(t,e,r){var n,i,a,o=[];for(i=0;i&lt;t;i++)for(a=0;a&lt;h;a++)for(n=0;n&lt;d;n++)o.push(e[i*f+r*d+n]),r*d+n===f-1&amp;&amp;a%2==0&amp;&amp;(o[o.length-1]*=-1);return o}(t,e,r)}).forEach(function(t,e){r[&quot;p&quot;+e.toString(16)]=t}),r}function l(t,e,r){return t+e&lt;=r}var c=t(&quot;./constants&quot;),u=1e-6,f=64,h=2,d=4,p=[119,119,119],m=new Uint8Array(4),g=new Uint8Array(4);e.exports=function(t,e,r){function u(t,e,r,n,i,a,o,s,u,f,d){var p,g,v,b,_=[t,e],w=c.verticalPadding/a,k=[0,1].map(function(){return[0,1,2,3].map(function(){return new Float32Array(16)})}),A=[0,1].map(function(){return[0,1,2,3].map(function(){return new Float32Array(16)})});for(p=0;p&lt;2;p++)for(b=_[p],g=0;g&lt;4;g++)for(v=0;v&lt;16;v++){var S=v+16*g;k[p][g][v]=v+16*g===b?1:0,A[p][g][v]=(!M&amp;&amp;l(v,16*g,I)?T[0===S?0:1+(S-1)%(T.length-1)].filter[p]:p)+(2*p-1)*w}return{key:o,resolution:[y,x],viewBoxPosition:[r+D,n],viewBoxSize:[i,a],i:t,ii:e,dim1A:k[0][0],dim1B:k[0][1],dim1C:k[0][2],dim1D:k[0][3],dim2A:k[1][0],dim2B:k[1][1],dim2C:k[1][2],dim2D:k[1][3],loA:A[0][0],loB:A[0][1],loC:A[0][2],loD:A[0][3],hiA:A[1][0],hiB:A[1][1],hiC:A[1][2],hiD:A[1][3],colorClamp:j,scatter:s||0,scissorX:(u===f?0:r+D)+(h.pad.l-D)+h.layoutWidth*m.x[0],scissorWidth:(u===d?y-r+D:i+.5)+(u===f?r+D:0),scissorY:n+h.pad.b+h.layoutHeight*m.y[0],scissorHeight:a,viewportX:h.pad.l-D+h.layoutWidth*m.x[0],viewportY:h.pad.b+h.layoutHeight*m.y[0],viewportWidth:y,viewportHeight:x}}var h=e.model,d=e.viewModel,m=h.domain,v=h.lines,y=h.canvasWidth,x=h.canvasHeight,b=d.dimensions,_=d.panels,w=h.unitToColor,M=e.context,k=e.pick,A={currentRafs:{},drawCompleted:!0,clearOnly:!1},T=b.slice(),S=T.length,E=T[0]?T[0].values.length:0,L=M,C=k?v.color.map(function(t,e){return e/v.color.length}):v.color,z=Math.max(1/255,Math.pow(1/C.length,1/3)),D=v.canvasOverdrag,I=_.length,P=function(t,e,r,n){for(var i=[],s=0;s&lt;t;s++)for(var l=0;l&lt;f;l++)i.push(l&lt;e?r[l].paddedUnitValues[s]:l===f-1?a(n[s]):l&gt;=f-4?o(s,f-2-l):.5);return i}(E,S,T,C),O=s(E,P),F=e.regl,R=F.texture({shape:[256,1],format:&quot;rgba&quot;,type:&quot;uint8&quot;,mag:&quot;nearest&quot;,min:&quot;nearest&quot;,data:function(t,e,r){for(var n=[],i=0;i&lt;256;i++){var a=t(i/255);n.push((e?p:a).concat(r))}return n}(w,M,Math.round(255*(M?z:1)))}),N=F({profile:!1,blend:{enable:L,func:{srcRGB:&quot;src alpha&quot;,dstRGB:&quot;one minus src alpha&quot;,srcAlpha:1,dstAlpha:1},equation:{rgb:&quot;add&quot;,alpha:&quot;add&quot;},color:[0,0,0,0]},depth:{enable:!L,mask:!0,func:&quot;less&quot;,range:[0,1]},cull:{enable:!0,face:&quot;back&quot;},scissor:{enable:!0,box:{x:F.prop(&quot;scissorX&quot;),y:F.prop(&quot;scissorY&quot;),width:F.prop(&quot;scissorWidth&quot;),height:F.prop(&quot;scissorHeight&quot;)}},viewport:{x:F.prop(&quot;viewportX&quot;),y:F.prop(&quot;viewportY&quot;),width:F.prop(&quot;viewportWidth&quot;),height:F.prop(&quot;viewportHeight&quot;)},dither:!1,vert:k?&quot;precision highp float;\n#define GLSLIFY 1\n\nattribute vec4 p0, p1, p2, p3,\n               p4, p5, p6, p7,\n               p8, p9, pa, pb,\n               pc, pd, pe;\n\nattribute vec4 pf;\n\nuniform mat4 dim1A, dim2A, dim1B, dim2B, dim1C, dim2C, dim1D, dim2D,\n             loA, hiA, loB, hiB, loC, hiC, loD, hiD;\n\nuniform vec2 resolution,\n             viewBoxPosition,\n             viewBoxSize;\n\nuniform sampler2D palette;\n\nuniform vec2 colorClamp;\n\nuniform float scatter;\n\nvarying vec4 fragColor;\n\nvec4 zero = vec4(0, 0, 0, 0);\nvec4 unit = vec4(1, 1, 1, 1);\nvec2 xyProjection = vec2(1, 1);\n\nmat4 mclamp(mat4 m, mat4 lo, mat4 hi) {\n    return mat4(clamp(m[0], lo[0], hi[0]),\n                clamp(m[1], lo[1], hi[1]),\n                clamp(m[2], lo[2], hi[2]),\n                clamp(m[3], lo[3], hi[3]));\n}\n\nbool mshow(mat4 p, mat4 lo, mat4 hi) {\n    return mclamp(p, lo, hi) == p;\n}\n\nfloat val(mat4 p, mat4 v) {\n    return dot(matrixCompMult(p, v) * unit, unit);\n}\n\nvoid main() {\n\n    float x = 0.5 * sign(pf[3]) + 0.5;\n    float prominence = abs(pf[3]);\n    float depth = 1.0 - prominence;\n\n    mat4 pA = mat4(p0, p1, p2, p3);\n    mat4 pB = mat4(p4, p5, p6, p7);\n    mat4 pC = mat4(p8, p9, pa, pb);\n    mat4 pD = mat4(pc, pd, pe, abs(pf));\n\n    float show = float(mshow(pA, loA, hiA) &amp;&amp;\n                       mshow(pB, loB, hiB) &amp;&amp;\n                       mshow(pC, loC, hiC) &amp;&amp;\n                       mshow(pD, loD, hiD));\n\n    vec2 yy = show * vec2(val(pA, dim2A) + val(pB, dim2B) + val(pC, dim2C) + val(pD, dim2D),\n                          val(pA, dim1A) + val(pB, dim1B) + val(pC, dim1C) + val(pD, dim1D));\n\n    vec2 dimensionToggle = vec2(x, 1.0 - x);\n\n    vec2 scatterToggle = vec2(scatter, 1.0 - scatter);\n\n    float y = dot(yy, dimensionToggle);\n    mat2 xy = mat2(viewBoxSize * yy + dimensionToggle, viewBoxSize * vec2(x, y));\n\n    vec2 viewBoxXY = viewBoxPosition + xy * scatterToggle;\n\n    float depthOrHide = depth + 2.0 * (1.0 - show);\n\n    gl_Position = vec4(\n        xyProjection * (2.0 * viewBoxXY / resolution - 1.0),\n        depthOrHide,\n        1.0\n    );\n\n    // pick coloring\n    fragColor = vec4(pf.rgb, 1.0);\n}\n&quot;:&quot;precision highp float;\n#define GLSLIFY 1\n\nattribute vec4 p0, p1, p2, p3,\n               p4, p5, p6, p7,\n               p8, p9, pa, pb,\n               pc, pd, pe;\n\nattribute vec4 pf;\n\nuniform mat4 dim1A, dim2A, dim1B, dim2B, dim1C, dim2C, dim1D, dim2D,\n             loA, hiA, loB, hiB, loC, hiC, loD, hiD;\n\nuniform vec2 resolution,\n             viewBoxPosition,\n             viewBoxSize;\n\nuniform sampler2D palette;\n\nuniform vec2 colorClamp;\n\nuniform float scatter;\n\nvarying vec4 fragColor;\n\nvec4 zero = vec4(0, 0, 0, 0);\nvec4 unit = vec4(1, 1, 1, 1);\nvec2 xyProjection = vec2(1, 1);\n\nmat4 mclamp(mat4 m, mat4 lo, mat4 hi) {\n    return mat4(clamp(m[0], lo[0], hi[0]),\n                clamp(m[1], lo[1], hi[1]),\n                clamp(m[2], lo[2], hi[2]),\n                clamp(m[3], lo[3], hi[3]));\n}\n\nbool mshow(mat4 p, mat4 lo, mat4 hi) {\n    return mclamp(p, lo, hi) == p;\n}\n\nfloat val(mat4 p, mat4 v) {\n    return dot(matrixCompMult(p, v) * unit, unit);\n}\n\nvoid main() {\n\n    float x = 0.5 * sign(pf[3]) + 0.5;\n    float prominence = abs(pf[3]);\n    float depth = 1.0 - prominence;\n\n    mat4 pA = mat4(p0, p1, p2, p3);\n    mat4 pB = mat4(p4, p5, p6, p7);\n    mat4 pC = mat4(p8, p9, pa, pb);\n    mat4 pD = mat4(pc, pd, pe, abs(pf));\n\n    float show = float(mshow(pA, loA, hiA) &amp;&amp;\n                       mshow(pB, loB, hiB) &amp;&amp;\n                       mshow(pC, loC, hiC) &amp;&amp;\n                       mshow(pD, loD, hiD));\n\n    vec2 yy = show * vec2(val(pA, dim2A) + val(pB, dim2B) + val(pC, dim2C) + val(pD, dim2D),\n                          val(pA, dim1A) + val(pB, dim1B) + val(pC, dim1C) + val(pD, dim1D));\n\n    vec2 dimensionToggle = vec2(x, 1.0 - x);\n\n    vec2 scatterToggle = vec2(scatter, 1.0 - scatter);\n\n    float y = dot(yy, dimensionToggle);\n    mat2 xy = mat2(viewBoxSize * yy + dimensionToggle, viewBoxSize * vec2(x, y));\n\n    vec2 viewBoxXY = viewBoxPosition + xy * scatterToggle;\n\n    float depthOrHide = depth + 2.0 * (1.0 - show);\n\n    gl_Position = vec4(\n        xyProjection * (2.0 * viewBoxXY / resolution - 1.0),\n        depthOrHide,\n        1.0\n    );\n\n    // visible coloring\n    float clampedColorIndex = clamp((prominence - colorClamp[0]) / (colorClamp[1] - colorClamp[0]), 0.0, 1.0);\n    fragColor = texture2D(palette, vec2((clampedColorIndex * 255.0 + 0.5) / 256.0, 0.5));\n}\n&quot;,frag:&quot;precision lowp float;\n#define GLSLIFY 1\n\nvarying vec4 fragColor;\n\nvoid main() {\n    gl_FragColor = fragColor;\n}\n&quot;,primitive:&quot;lines&quot;,lineWidth:1,attributes:O,uniforms:{resolution:F.prop(&quot;resolution&quot;),viewBoxPosition:F.prop(&quot;viewBoxPosition&quot;),viewBoxSize:F.prop(&quot;viewBoxSize&quot;),dim1A:F.prop(&quot;dim1A&quot;),dim2A:F.prop(&quot;dim2A&quot;),dim1B:F.prop(&quot;dim1B&quot;),dim2B:F.prop(&quot;dim2B&quot;),dim1C:F.prop(&quot;dim1C&quot;),dim2C:F.prop(&quot;dim2C&quot;),dim1D:F.prop(&quot;dim1D&quot;),dim2D:F.prop(&quot;dim2D&quot;),loA:F.prop(&quot;loA&quot;),hiA:F.prop(&quot;hiA&quot;),loB:F.prop(&quot;loB&quot;),hiB:F.prop(&quot;hiB&quot;),loC:F.prop(&quot;loC&quot;),hiC:F.prop(&quot;hiC&quot;),loD:F.prop(&quot;loD&quot;),hiD:F.prop(&quot;hiD&quot;),palette:R,colorClamp:F.prop(&quot;colorClamp&quot;),scatter:F.prop(&quot;scatter&quot;)},offset:F.prop(&quot;offset&quot;),count:F.prop(&quot;count&quot;)}),j=[0,1],B=[];return{setColorDomain:function(t){j[0]=t[0],j[1]=t[1]},render:function(t,e,a){var o,s,l,c=1/0,f=-1/0;for(o=0;o&lt;I;o++)t[o].dim2.canvasX&gt;f&amp;&amp;(f=t[o].dim2.canvasX,l=o),t[o].dim1.canvasX&lt;c&amp;&amp;(c=t[o].dim1.canvasX,s=o);for(0===I&amp;&amp;n(F,0,0,y,x),o=0;o&lt;I;o++){var h=t[o],d=h.dim1,p=d.crossfilterDimensionIndex,m=h.canvasX,g=h.canvasY,b=h.dim2.crossfilterDimensionIndex,_=h.panelSizeX,w=h.panelSizeY,M=m+_;if(e||!B[p]||B[p][0]!==m||B[p][1]!==M){B[p]=[m,M];var k=u(p,b,m,g,_,w,d.crossfilterDimensionIndex,r||d.scatter?1:0,o,s,l);A.clearOnly=a,i(F,N,A,e?v.blockLineCount:E,E,k)}}},readPixel:function(t,e){return F.read({x:t,y:e,width:1,height:1,data:g}),g},readPixels:function(t,e,r,n){var i=new Uint8Array(4*r*n);return F.read({x:t,y:e,width:r,height:n,data:i}),i},destroy:function(){t.style[&quot;pointer-events&quot;]=&quot;none&quot;,R.destroy()}}}},{&quot;./constants&quot;:1035}],1039:[function(t,e,r){&quot;use strict&quot;;function n(t){return!(&quot;visible&quot;in t)||t.visible}function i(t){var e=t.range?t.range[0]:d.min(t.values),r=t.range?t.range[1]:d.max(t.values);return!isNaN(e)&amp;&amp;isFinite(e)||(e=0),!isNaN(r)&amp;&amp;isFinite(r)||(r=0),e===r&amp;&amp;(void 0===e?(e=0,r=1):0===e?(e-=1,r+=1):(e*=.9,r*=1.1)),[e,r]}function a(t,e){var r,n,i,a,o;for(r=0,i=1/0,a=(n=t.range())[0];r&lt;n.length;r++){if((o=Math.abs(n[r]-e))&gt;i)return a;i=o,a=n[r]}return n[n.length-1]}function o(t){return d.scale.linear().domain(i(t))}function s(t,e,r){var i=v(e),a=i.trace,s=i.lineColor,l=i.cscale,c=a.line,u=a.domain,p=a.dimensions,m=t.width,g=a.labelfont,y=a.tickfont,x=a.rangefont,b=h.extendDeep({},c,{color:s.map(o({values:s,range:[c.cmin,c.cmax]})),blockLineCount:f.blockLineCount,canvasOverdrag:f.overdrag*f.canvasPixelRatio}),_=Math.floor(m*(u.x[1]-u.x[0])),w=Math.floor(t.height*(u.y[1]-u.y[0])),M=t.margin||{l:80,r:80,t:100,b:80},k=_,A=w;return{key:r,colCount:p.filter(n).length,dimensions:p,tickDistance:f.tickDistance,unitToColor:function(t){var e=t.map(function(t){return t[0]}),r=t.map(function(t){return t[1]}).map(function(t){return d.rgb(t)}),n=&quot;rgb&quot;.split(&quot;&quot;).map(function(t){return d.scale.linear().clamp(!0).domain(e).range(r.map(function(t){return function(e){return e[t]}}(t)))});return function(t){return n.map(function(e){return e(t)})}}(l),lines:b,labelFont:g,tickFont:y,rangeFont:x,layoutWidth:m,layoutHeight:t.height,domain:u,translateX:u.x[0]*m,translateY:t.height-u.y[1]*t.height,pad:M,canvasWidth:k*f.canvasPixelRatio+2*b.canvasOverdrag,canvasHeight:A*f.canvasPixelRatio,width:k,height:A,canvasPixelRatio:f.canvasPixelRatio}}function l(t){var e=t.width,r=t.height,a=t.dimensions,s=t.canvasPixelRatio,l=function(r){return e*r/Math.max(1,t.colCount-1)},c=f.verticalPadding/(r*s),u=1-2*c,h=function(t){return c+u*t},p={key:t.key,xScale:l,model:t},m={};return p.dimensions=a.filter(n).map(function(e,n){var a=o(e),c=m[e.label];m[e.label]=(c||0)+1;return{key:e.label+(c?&quot;__&quot;+c:&quot;&quot;),label:e.label,tickFormat:e.tickformat,tickvals:e.tickvals,ticktext:e.ticktext,ordinal:!!e.tickvals,scatter:f.scatter||e.scatter,xIndex:n,crossfilterDimensionIndex:n,visibleIndex:e._index,height:r,values:e.values,paddedUnitValues:e.values.map(a).map(h),xScale:l,x:l(n),canvasX:l(n)*s,unitScale:function(t,e){return d.scale.linear().range([t-e,e])}(r,f.verticalPadding),domainScale:function(t,e,r){var n=i(r),a=r.ticktext;return r.tickvals?d.scale.ordinal().domain(r.tickvals.map(function(t,e){return function(r,n){if(e){var i=e[n];return null===i||void 0===i?t(r):i}return t(r)}}(d.format(r.tickformat),a))).range(r.tickvals.map(function(t){return(t-n[0])/(n[1]-n[0])}).map(function(r){return t-e+r*(e-(t-e))})):d.scale.linear().domain(n).range([t-e,e])}(r,f.verticalPadding,e),ordinalScale:function(t){var e=i(t);return t.tickvals&amp;&amp;d.scale.ordinal().domain(t.tickvals).range(t.tickvals.map(function(t){return(t-e[0])/(e[1]-e[0])}))}(e),domainToUnitScale:a,filter:e.constraintrange?e.constraintrange.map(a):[0,1],parent:p,model:t}}),p}function c(t){t.classed(f.cn.axisExtentText,!0).attr(&quot;text-anchor&quot;,&quot;middle&quot;).style(&quot;cursor&quot;,&quot;default&quot;).style(&quot;user-select&quot;,&quot;none&quot;)}var u=t(&quot;./lines&quot;),f=t(&quot;./constants&quot;),h=t(&quot;../../lib&quot;),d=t(&quot;d3&quot;),p=t(&quot;../../components/drawing&quot;),m=t(&quot;../../lib/gup&quot;).keyFun,g=t(&quot;../../lib/gup&quot;).repeat,v=t(&quot;../../lib/gup&quot;).unwrap;e.exports=function(t,e,r,n,i,o){function y(t){return t.dimensions.some(function(t){return 0!==t.filter[0]||1!==t.filter[1]})}function x(t,e){return(f.scatter?function(t,e){for(var r=e.panels||(e.panels=[]),n=t.each(function(t){return t})[e.key].map(function(t){return t.__data__}),i=n.length-1,a=i,o=0;o&lt;i;o++)for(var s=0;s&lt;i;s++){var l=r[s+o*i]||(r[s+o*i]={}),c=n[s],u=n[s+1];l.dim1=n[o+1],l.dim2=u,l.canvasX=c.canvasX,l.panelSizeX=u.canvasX-c.canvasX,l.panelSizeY=e.model.canvasHeight/a,l.y=o*l.panelSizeY,l.canvasY=e.model.canvasHeight-l.y-l.panelSizeY}}:function(t,e){for(var r=e.panels||(e.panels=[]),n=t.each(function(t){return t})[e.key].map(function(t){return t.__data__}),i=n.length-1,a=0;a&lt;1;a++)for(var o=0;o&lt;i;o++){var s=r[o+a*i]||(r[o+a*i]={}),l=n[o],c=n[o+1];s.dim1=l,s.dim2=c,s.canvasX=l.canvasX,s.panelSizeX=c.canvasX-l.canvasX,s.panelSizeY=e.model.canvasHeight/1,s.y=a*s.panelSizeY,s.canvasY=e.model.canvasHeight-s.y-s.panelSizeY}})(t,e)}function b(t){return t.ordinal?function(){return&quot;&quot;}:d.format(t.tickFormat)}function _(){H=!0,k=!0}function w(t){A=!1;var e=t.parent,r=t.brush.extent(),n=e.dimensions,i=n[t.xIndex].filter,a=H&amp;&amp;r[0]===r[1];a&amp;&amp;(t.brush.clear(),d.select(this).select(&quot;rect.extent&quot;).attr(&quot;y&quot;,-100));var o=a?[0,1]:r.slice();if(o[0]!==i[0]||o[1]!==i[1]){n[t.xIndex].filter=o,e.focusLayer&amp;&amp;e.focusLayer.render(e.panels,!0);var s=y(e);!G&amp;&amp;s?(e.contextLayer&amp;&amp;e.contextLayer.render(e.panels,!0),G=!0):G&amp;&amp;!s&amp;&amp;(e.contextLayer&amp;&amp;e.contextLayer.render(e.panels,!0,!0),G=!1)}H=!1}function M(t){var e=t.parent,r=t.brush.extent(),n=r[0]===r[1],i=e.dimensions[t.xIndex].filter;if(!n&amp;&amp;t.ordinal&amp;&amp;(i[0]=a(t.ordinalScale,i[0]),i[1]=a(t.ordinalScale,i[1]),i[0]===i[1]&amp;&amp;(i[0]=Math.max(0,i[0]-.05),i[1]=Math.min(1,i[1]+.05)),d.select(this).transition().duration(150).call(t.brush.extent(i)),e.focusLayer.render(e.panels,!0)),e.pickLayer&amp;&amp;e.pickLayer.render(e.panels,!0),A=!0,k=&quot;ending&quot;,o&amp;&amp;o.filterChanged){var s=t.domainToUnitScale.invert,l=i.map(s);o.filterChanged(e.key,t.visibleIndex,l)}}var k=!1,A=!0,T=n.filter(function(t){return v(t).trace.visible}).map(s.bind(0,i)).map(l);r.each(function(t,e){return h.extendFlat(t,T[e])});var S=r.selectAll(&quot;.gl-canvas&quot;).each(function(t){t.viewModel=T[0],t.model=t.viewModel?t.viewModel.model:null}),E={renderers:[],dimensions:[]},L=null;S.filter(function(t){return t.pick}).style(&quot;pointer-events&quot;,&quot;auto&quot;).on(&quot;mousemove&quot;,function(t){if(A&amp;&amp;t.lineLayer&amp;&amp;o&amp;&amp;o.hover){var e=d.event,r=this.width,n=this.height,i=d.mouse(this),a=i[0],s=i[1];if(a&lt;0||s&lt;0||a&gt;=r||s&gt;=n)return;var l=t.lineLayer.readPixel(a,n-1-s),c=0!==l[3],u=c?l[2]+256*(l[1]+256*l[0]):null,f={x:a,y:s,clientX:e.clientX,clientY:e.clientY,dataIndex:t.model.key,curveNumber:u};u!==L&amp;&amp;(c?o.hover(f):o.unhover&amp;&amp;o.unhover(f),L=u)}}),S.style(&quot;opacity&quot;,function(t){return t.pick?.01:1}),e.style(&quot;background&quot;,&quot;rgba(255, 255, 255, 0)&quot;);var C=e.selectAll(&quot;.&quot;+f.cn.parcoords).data(T,m);C.exit().remove(),C.enter().append(&quot;g&quot;).classed(f.cn.parcoords,!0).attr(&quot;overflow&quot;,&quot;visible&quot;).style(&quot;box-sizing&quot;,&quot;content-box&quot;).style(&quot;position&quot;,&quot;absolute&quot;).style(&quot;left&quot;,0).style(&quot;overflow&quot;,&quot;visible&quot;).style(&quot;shape-rendering&quot;,&quot;crispEdges&quot;).style(&quot;pointer-events&quot;,&quot;none&quot;).call(function(t){var e=t.selectAll(&quot;defs&quot;).data(g,m);e.enter().append(&quot;defs&quot;);var r=e.selectAll(&quot;#&quot;+f.id.filterBarPattern).data(g,m);r.enter().append(&quot;pattern&quot;).attr(&quot;id&quot;,f.id.filterBarPattern).attr(&quot;patternUnits&quot;,&quot;userSpaceOnUse&quot;),r.attr(&quot;x&quot;,-f.bar.width).attr(&quot;width&quot;,f.bar.capturewidth).attr(&quot;height&quot;,function(t){return t.model.height});var n=r.selectAll(&quot;rect&quot;).data(g,m);n.enter().append(&quot;rect&quot;).attr(&quot;shape-rendering&quot;,&quot;crispEdges&quot;),n.attr(&quot;height&quot;,function(t){return t.model.height}).attr(&quot;width&quot;,f.bar.width).attr(&quot;x&quot;,f.bar.width/2).attr(&quot;fill&quot;,f.bar.fillcolor).attr(&quot;fill-opacity&quot;,f.bar.fillopacity).attr(&quot;stroke&quot;,f.bar.strokecolor).attr(&quot;stroke-opacity&quot;,f.bar.strokeopacity).attr(&quot;stroke-width&quot;,f.bar.strokewidth)}),C.attr(&quot;width&quot;,function(t){return t.model.width+t.model.pad.l+t.model.pad.r}).attr(&quot;height&quot;,function(t){return t.model.height+t.model.pad.t+t.model.pad.b}).attr(&quot;transform&quot;,function(t){return&quot;translate(&quot;+t.model.translateX+&quot;,&quot;+t.model.translateY+&quot;)&quot;});var z=C.selectAll(&quot;.&quot;+f.cn.parcoordsControlView).data(g,m);z.enter().append(&quot;g&quot;).classed(f.cn.parcoordsControlView,!0).style(&quot;box-sizing&quot;,&quot;content-box&quot;),z.attr(&quot;transform&quot;,function(t){return&quot;translate(&quot;+t.model.pad.l+&quot;,&quot;+t.model.pad.t+&quot;)&quot;});var D=z.selectAll(&quot;.&quot;+f.cn.yAxis).data(function(t){return t.dimensions},m);D.enter().append(&quot;g&quot;).classed(f.cn.yAxis,!0).each(function(t){E.dimensions.push(t)}),z.each(function(t){x(D,t)}),S.filter(function(t){return!!t.viewModel}).each(function(t){t.lineLayer=u(this,t,f.scatter),t.viewModel[t.key]=t.lineLayer,E.renderers.push(function(){t.lineLayer.render(t.viewModel.panels,!0)}),t.lineLayer.render(t.viewModel.panels,!t.context)}),D.attr(&quot;transform&quot;,function(t){return&quot;translate(&quot;+t.xScale(t.xIndex)+&quot;, 0)&quot;}),D.call(d.behavior.drag().origin(function(t){return t}).on(&quot;drag&quot;,function(t){var e=t.parent;A=!1,k||(t.x=Math.max(-f.overdrag,Math.min(t.model.width+f.overdrag,d.event.x)),t.canvasX=t.x*t.model.canvasPixelRatio,D.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}),x(D,e),D.filter(function(e){return 0!==Math.abs(t.xIndex-e.xIndex)}).attr(&quot;transform&quot;,function(t){return&quot;translate(&quot;+t.xScale(t.xIndex)+&quot;, 0)&quot;}),d.select(this).attr(&quot;transform&quot;,&quot;translate(&quot;+t.x+&quot;, 0)&quot;),D.each(function(r,n,i){i===t.parent.key&amp;&amp;(e.dimensions[n]=r)}),e.contextLayer&amp;&amp;e.contextLayer.render(e.panels,!1,!y(e)),e.focusLayer.render&amp;&amp;e.focusLayer.render(e.panels))}).on(&quot;dragend&quot;,function(t){var e=t.parent;k?&quot;ending&quot;===k&amp;&amp;(k=!1):(t.x=t.xScale(t.xIndex),t.canvasX=t.x*t.model.canvasPixelRatio,x(D,e),d.select(this).attr(&quot;transform&quot;,function(t){return&quot;translate(&quot;+t.x+&quot;, 0)&quot;}),e.contextLayer&amp;&amp;e.contextLayer.render(e.panels,!1,!y(e)),e.focusLayer&amp;&amp;e.focusLayer.render(e.panels),e.pickLayer&amp;&amp;e.pickLayer.render(e.panels,!0),A=!0,o&amp;&amp;o.axesMoved&amp;&amp;o.axesMoved(e.key,e.dimensions.map(function(t){return t.crossfilterDimensionIndex})))})),D.exit().remove();var I=D.selectAll(&quot;.&quot;+f.cn.axisOverlays).data(g,m);I.enter().append(&quot;g&quot;).classed(f.cn.axisOverlays,!0),I.selectAll(&quot;.&quot;+f.cn.axis).remove();var P=I.selectAll(&quot;.&quot;+f.cn.axis).data(g,m);P.enter().append(&quot;g&quot;).classed(f.cn.axis,!0),P.each(function(t){var e=t.model.height/t.model.tickDistance,r=t.domainScale,n=r.domain();d.select(this).call(d.svg.axis().orient(&quot;left&quot;).tickSize(4).outerTickSize(2).ticks(e,t.tickFormat).tickValues(t.ordinal?n:null).tickFormat(t.ordinal?function(t){return t}:null).scale(r)),p.font(P.selectAll(&quot;text&quot;),t.model.tickFont)}),P.selectAll(&quot;.domain, .tick&gt;line&quot;).attr(&quot;fill&quot;,&quot;none&quot;).attr(&quot;stroke&quot;,&quot;black&quot;).attr(&quot;stroke-opacity&quot;,.25).attr(&quot;stroke-width&quot;,&quot;1px&quot;),P.selectAll(&quot;text&quot;).style(&quot;text-shadow&quot;,&quot;1px 1px 1px #fff, -1px -1px 1px #fff, 1px -1px 1px #fff, -1px 1px 1px #fff&quot;).style(&quot;cursor&quot;,&quot;default&quot;).style(&quot;user-select&quot;,&quot;none&quot;);var O=I.selectAll(&quot;.&quot;+f.cn.axisHeading).data(g,m);O.enter().append(&quot;g&quot;).classed(f.cn.axisHeading,!0);var F=O.selectAll(&quot;.&quot;+f.cn.axisTitle).data(g,m);F.enter().append(&quot;text&quot;).classed(f.cn.axisTitle,!0).attr(&quot;text-anchor&quot;,&quot;middle&quot;).style(&quot;cursor&quot;,&quot;ew-resize&quot;).style(&quot;user-select&quot;,&quot;none&quot;).style(&quot;pointer-events&quot;,&quot;auto&quot;),F.attr(&quot;transform&quot;,&quot;translate(0,&quot;+-f.axisTitleOffset+&quot;)&quot;).text(function(t){return t.label}).each(function(t){p.font(F,t.model.labelFont)});var R=I.selectAll(&quot;.&quot;+f.cn.axisExtent).data(g,m);R.enter().append(&quot;g&quot;).classed(f.cn.axisExtent,!0);var N=R.selectAll(&quot;.&quot;+f.cn.axisExtentTop).data(g,m);N.enter().append(&quot;g&quot;).classed(f.cn.axisExtentTop,!0),N.attr(&quot;transform&quot;,&quot;translate(0,&quot;+-f.axisExtentOffset+&quot;)&quot;);var j=N.selectAll(&quot;.&quot;+f.cn.axisExtentTopText).data(g,m);j.enter().append(&quot;text&quot;).classed(f.cn.axisExtentTopText,!0).call(c),j.text(function(t){return b(t)(t.domainScale.domain().slice(-1)[0])}).each(function(t){p.font(j,t.model.rangeFont)});var B=R.selectAll(&quot;.&quot;+f.cn.axisExtentBottom).data(g,m);B.enter().append(&quot;g&quot;).classed(f.cn.axisExtentBottom,!0),B.attr(&quot;transform&quot;,function(t){return&quot;translate(0,&quot;+(t.model.height+f.axisExtentOffset)+&quot;)&quot;});var U=B.selectAll(&quot;.&quot;+f.cn.axisExtentBottomText).data(g,m);U.enter().append(&quot;text&quot;).classed(f.cn.axisExtentBottomText,!0).attr(&quot;dy&quot;,&quot;0.75em&quot;).call(c),U.text(function(t){return b(t)(t.domainScale.domain()[0])}).each(function(t){p.font(U,t.model.rangeFont)});var V=I.selectAll(&quot;.&quot;+f.cn.axisBrush).data(g,m),q=V.enter().append(&quot;g&quot;).classed(f.cn.axisBrush,!0);V.each(function(t){t.brush||(t.brush=d.svg.brush().y(t.unitScale).on(&quot;brushstart&quot;,_).on(&quot;brush&quot;,w).on(&quot;brushend&quot;,M),0===t.filter[0]&amp;&amp;1===t.filter[1]||t.brush.extent(t.filter),d.select(this).call(t.brush))}),q.selectAll(&quot;rect&quot;).attr(&quot;x&quot;,-f.bar.capturewidth/2).attr(&quot;width&quot;,f.bar.capturewidth),q.selectAll(&quot;rect.extent&quot;).attr(&quot;fill&quot;,&quot;url(#&quot;+f.id.filterBarPattern+&quot;)&quot;).style(&quot;cursor&quot;,&quot;ns-resize&quot;).filter(function(t){return 0===t.filter[0]&amp;&amp;1===t.filter[1]}).attr(&quot;y&quot;,-100),q.selectAll(&quot;.resize rect&quot;).attr(&quot;height&quot;,f.bar.handleheight).attr(&quot;opacity&quot;,0).style(&quot;visibility&quot;,&quot;visible&quot;),q.selectAll(&quot;.resize.n rect&quot;).style(&quot;cursor&quot;,&quot;n-resize&quot;).attr(&quot;y&quot;,f.bar.handleoverlap-f.bar.handleheight),q.selectAll(&quot;.resize.s rect&quot;).style(&quot;cursor&quot;,&quot;s-resize&quot;).attr(&quot;y&quot;,f.bar.handleoverlap);var H=!1,G=!1;return E}},{&quot;../../components/drawing&quot;:643,&quot;../../lib&quot;:743,&quot;../../lib/gup&quot;:740,&quot;./constants&quot;:1035,&quot;./lines&quot;:1038,d3:128}],1040:[function(t,e,r){(function(r){&quot;use strict&quot;;var n=t(&quot;./parcoords&quot;),i=t(&quot;regl&quot;);e.exports=function(t,e){var a=t._fullLayout,o=a._toppaper,s=a._paperdiv,l=a._glcontainer;a._glcanvas.each(function(e){e.regl||(e.regl=i({canvas:this,attributes:{antialias:!e.pick,preserveDrawingBuffer:!0},pixelRatio:t._context.plotGlPixelRatio||r.devicePixelRatio}))});var c={},u={},f=a._size;e.forEach(function(e,r){c[r]=t.data[r].dimensions,u[r]=t.data[r].dimensions.slice()});n(s,o,l,e,{width:f.w,height:f.h,margin:{t:f.t,r:f.r,b:f.b,l:f.l}},{filterChanged:function(e,r,n){var i=u[e][r],a=i.constraintrange;a&amp;&amp;2===a.length||(a=i.constraintrange=[]),a[0]=n[0],a[1]=n[1],t.emit(&quot;plotly_restyle&quot;)},hover:function(e){t.emit(&quot;plotly_hover&quot;,e)},unhover:function(e){t.emit(&quot;plotly_unhover&quot;,e)},axesMoved:function(e,r){function n(t){return!(&quot;visible&quot;in t)||t.visible}function i(t,e,r){var n=e.indexOf(r),i=t.indexOf(n);return-1===i&amp;&amp;(i+=e.length),i}var a=function(t){return function(e,n){return i(r,t,e)-i(r,t,n)}}(u[e].filter(n));c[e].sort(a),u[e].filter(function(t){return!n(t)}).sort(function(t){return u[e].indexOf(t)}).forEach(function(t){c[e].splice(c[e].indexOf(t),1),c[e].splice(u[e].indexOf(t),0,t)}),t.emit(&quot;plotly_restyle&quot;)}})}}).call(this,&quot;undefined&quot;!=typeof global?global:&quot;undefined&quot;!=typeof self?self:&quot;undefined&quot;!=typeof window?window:{})},{&quot;./parcoords&quot;:1039,regl:506}],1041:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../components/color/attributes&quot;),i=t(&quot;../../plots/font_attributes&quot;),a=t(&quot;../../plots/attributes&quot;),o=t(&quot;../../plots/domain_attributes&quot;),s=t(&quot;../../lib/extend&quot;).extendFlat,l=i({editType:&quot;calc&quot;,colorEditType:&quot;style&quot;});e.exports={labels:{valType:&quot;data_array&quot;,editType:&quot;calc&quot;},label0:{valType:&quot;number&quot;,dflt:0,editType:&quot;calc&quot;},dlabel:{valType:&quot;number&quot;,dflt:1,editType:&quot;calc&quot;},values:{valType:&quot;data_array&quot;,editType:&quot;calc&quot;},marker:{colors:{valType:&quot;data_array&quot;,editType:&quot;calc&quot;},line:{color:{valType:&quot;color&quot;,dflt:n.defaultLine,arrayOk:!0,editType:&quot;style&quot;},width:{valType:&quot;number&quot;,min:0,dflt:0,arrayOk:!0,editType:&quot;style&quot;},editType:&quot;calc&quot;},editType:&quot;calc&quot;},text:{valType:&quot;data_array&quot;,editType:&quot;calc&quot;},hovertext:{valType:&quot;string&quot;,dflt:&quot;&quot;,arrayOk:!0,editType:&quot;style&quot;},scalegroup:{valType:&quot;string&quot;,dflt:&quot;&quot;,editType:&quot;calc&quot;},textinfo:{valType:&quot;flaglist&quot;,flags:[&quot;label&quot;,&quot;text&quot;,&quot;value&quot;,&quot;percent&quot;],extras:[&quot;none&quot;],editType:&quot;calc&quot;},hoverinfo:s({},a.hoverinfo,{flags:[&quot;label&quot;,&quot;text&quot;,&quot;value&quot;,&quot;percent&quot;,&quot;name&quot;]}),textposition:{valType:&quot;enumerated&quot;,values:[&quot;inside&quot;,&quot;outside&quot;,&quot;auto&quot;,&quot;none&quot;],dflt:&quot;auto&quot;,arrayOk:!0,editType:&quot;calc&quot;},textfont:s({},l,{}),insidetextfont:s({},l,{}),outsidetextfont:s({},l,{}),domain:o({name:&quot;pie&quot;,trace:!0,editType:&quot;calc&quot;}),hole:{valType:&quot;number&quot;,min:0,max:1,dflt:0,editType:&quot;calc&quot;},sort:{valType:&quot;boolean&quot;,dflt:!0,editType:&quot;calc&quot;},direction:{valType:&quot;enumerated&quot;,values:[&quot;clockwise&quot;,&quot;counterclockwise&quot;],dflt:&quot;counterclockwise&quot;,editType:&quot;calc&quot;},rotation:{valType:&quot;number&quot;,min:-360,max:360,dflt:0,editType:&quot;calc&quot;},pull:{valType:&quot;number&quot;,min:0,max:1,dflt:0,arrayOk:!0,editType:&quot;calc&quot;}}},{&quot;../../components/color/attributes&quot;:617,&quot;../../lib/extend&quot;:732,&quot;../../plots/attributes&quot;:787,&quot;../../plots/domain_attributes&quot;:815,&quot;../../plots/font_attributes&quot;:816}],1042:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../registry&quot;);r.name=&quot;pie&quot;,r.plot=function(t){var e=n.getModule(&quot;pie&quot;),r=function(t,e){for(var r=[],n=0;n&lt;t.length;n++){var i=t[n],a=i[0].trace;a._module===e&amp;&amp;!0===a.visible&amp;&amp;r.push(i)}return r}(t.calcdata,e);r.length&amp;&amp;e.plot(t,r)},r.clean=function(t,e,r,n){var i=n._has&amp;&amp;n._has(&quot;pie&quot;),a=e._has&amp;&amp;e._has(&quot;pie&quot;);i&amp;&amp;!a&amp;&amp;n._pielayer.selectAll(&quot;g.trace&quot;).remove()}},{&quot;../../registry&quot;:873}],1043:[function(t,e,r){&quot;use strict&quot;;function n(t){var e,r=t.slice();for(e=0;e&lt;t.length;e++)r.push(a(t[e]).lighten(20).toHexString());for(e=0;e&lt;t.length;e++)r.push(a(t[e]).darken(20).toHexString());return r}var i=t(&quot;fast-isnumeric&quot;),a=t(&quot;tinycolor2&quot;),o=t(&quot;../../components/color&quot;),s=t(&quot;./helpers&quot;);e.exports=function(t,e){function r(t,e){return!!t&amp;&amp;(!!(t=a(t)).isValid()&amp;&amp;(t=o.addOpacity(t,t.getAlpha()),_[e]||(_[e]=t),t))}var c,u,f,h,d,p=e.values,m=Array.isArray(p)&amp;&amp;p.length,g=e.labels,v=e.marker.colors,y=[],x=t._fullLayout,b=x.colorway,_=x._piecolormap,w={},M=0,k=x.hiddenlabels||[];if(x._piecolorway||b===o.defaults||(x._piecolorway=n(b)),e.dlabel)for(g=new Array(p.length),c=0;c&lt;p.length;c++)g[c]=String(e.label0+c*e.dlabel);var A=(m?p:g).length;for(c=0;c&lt;A;c++){if(m){if(u=p[c],!i(u))continue;if((u=+u)&lt;0)continue}else u=1;void 0!==(f=g[c])&amp;&amp;&quot;&quot;!==f||(f=c);var T=w[f=String(f)];void 0===T?(w[f]=y.length,(h=-1!==k.indexOf(f))||(M+=u),y.push({v:u,label:f,color:r(v[c]),i:c,pts:[c],hidden:h})):((d=y[T]).v+=u,d.pts.push(c),d.hidden||(M+=u),!1===d.color&amp;&amp;v[c]&amp;&amp;(d.color=r(v[c],f)))}for(e.sort&amp;&amp;y.sort(function(t,e){return e.v-t.v}),c=0;c&lt;y.length;c++)!1===(d=y[c]).color&amp;&amp;(_[d.label]?d.color=_[d.label]:(_[d.label]=d.color=function(t,e){if(!l){var r=o.defaults;l=n(r)}var i=e||l;return i[t%i.length]}(x._piedefaultcolorcount,x._piecolorway),x._piedefaultcolorcount++));if(y[0]&amp;&amp;(y[0].vTotal=M),e.textinfo&amp;&amp;&quot;none&quot;!==e.textinfo){var S,E=-1!==e.textinfo.indexOf(&quot;label&quot;),L=-1!==e.textinfo.indexOf(&quot;text&quot;),C=-1!==e.textinfo.indexOf(&quot;value&quot;),z=-1!==e.textinfo.indexOf(&quot;percent&quot;),D=x.separators;for(c=0;c&lt;y.length;c++){if(d=y[c],S=E?[d.label]:[],L){var I=s.getFirstFilled(e.text,d.pts);I&amp;&amp;S.push(I)}C&amp;&amp;S.push(s.formatPieValue(d.v,D)),z&amp;&amp;S.push(s.formatPiePercent(d.v/M,D)),d.text=S.join(&quot;&lt;br&gt;&quot;)}}return y};var l},{&quot;../../components/color&quot;:618,&quot;./helpers&quot;:1046,&quot;fast-isnumeric&quot;:140,tinycolor2:546}],1044:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib&quot;),i=t(&quot;./attributes&quot;);e.exports=function(t,e,r,a){function o(r,a){return n.coerce(t,e,i,r,a)}var s=n.coerceFont,l=o(&quot;values&quot;),c=o(&quot;labels&quot;);if(!Array.isArray(c)){if(!Array.isArray(l)||!l.length)return void(e.visible=!1);o(&quot;label0&quot;),o(&quot;dlabel&quot;)}o(&quot;marker.line.width&quot;)&amp;&amp;o(&quot;marker.line.color&quot;);var u=o(&quot;marker.colors&quot;);Array.isArray(u)||(e.marker.colors=[]),o(&quot;scalegroup&quot;);var f=o(&quot;text&quot;),h=o(&quot;textinfo&quot;,Array.isArray(f)?&quot;text+percent&quot;:&quot;percent&quot;);if(o(&quot;hovertext&quot;),h&amp;&amp;&quot;none&quot;!==h){var d=o(&quot;textposition&quot;),p=Array.isArray(d)||&quot;auto&quot;===d,m=p||&quot;inside&quot;===d,g=p||&quot;outside&quot;===d;if(m||g){var v=s(o,&quot;textfont&quot;,a.font);m&amp;&amp;s(o,&quot;insidetextfont&quot;,v),g&amp;&amp;s(o,&quot;outsidetextfont&quot;,v)}}o(&quot;domain.x&quot;),o(&quot;domain.y&quot;),o(&quot;hole&quot;),o(&quot;sort&quot;),o(&quot;direction&quot;),o(&quot;rotation&quot;),o(&quot;pull&quot;)}},{&quot;../../lib&quot;:743,&quot;./attributes&quot;:1041}],1045:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../components/fx/helpers&quot;).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,v:t.v};return 1===t.pts.length&amp;&amp;(r.pointNumber=r.i=t.pts[0]),n(r,e,t.pts),r}},{&quot;../../components/fx/helpers&quot;:657}],1046:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib&quot;);r.formatPiePercent=function(t,e){var r=(100*t).toPrecision(3);return-1!==r.lastIndexOf(&quot;.&quot;)&amp;&amp;(r=r.replace(/[.]?0+$/,&quot;&quot;)),n.numSeparate(r,e)+&quot;%&quot;},r.formatPieValue=function(t,e){var r=t.toPrecision(10);return-1!==r.lastIndexOf(&quot;.&quot;)&amp;&amp;(r=r.replace(/[.]?0+$/,&quot;&quot;)),n.numSeparate(r,e)},r.getFirstFilled=function(t,e){if(Array.isArray(t))for(var r=0;r&lt;e.length;r++){var n=t[e[r]];if(n||0===n)return n}},r.castOption=function(t,e){return Array.isArray(t)?r.getFirstFilled(t,e):t||void 0}},{&quot;../../lib&quot;:743}],1047:[function(t,e,r){&quot;use strict&quot;;var n={};n.attributes=t(&quot;./attributes&quot;),n.supplyDefaults=t(&quot;./defaults&quot;),n.supplyLayoutDefaults=t(&quot;./layout_defaults&quot;),n.layoutAttributes=t(&quot;./layout_attributes&quot;),n.calc=t(&quot;./calc&quot;),n.plot=t(&quot;./plot&quot;),n.style=t(&quot;./style&quot;),n.styleOne=t(&quot;./style_one&quot;),n.moduleType=&quot;trace&quot;,n.name=&quot;pie&quot;,n.basePlotModule=t(&quot;./base_plot&quot;),n.categories=[&quot;pie&quot;,&quot;showLegend&quot;],n.meta={},e.exports=n},{&quot;./attributes&quot;:1041,&quot;./base_plot&quot;:1042,&quot;./calc&quot;:1043,&quot;./defaults&quot;:1044,&quot;./layout_attributes&quot;:1048,&quot;./layout_defaults&quot;:1049,&quot;./plot&quot;:1050,&quot;./style&quot;:1051,&quot;./style_one&quot;:1052}],1048:[function(t,e,r){&quot;use strict&quot;;e.exports={hiddenlabels:{valType:&quot;data_array&quot;,editType:&quot;calc&quot;}}},{}],1049:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib&quot;),i=t(&quot;./layout_attributes&quot;);e.exports=function(t,e){!function(r,a){n.coerce(t,e,i,r,a)}(&quot;hiddenlabels&quot;)}},{&quot;../../lib&quot;:743,&quot;./layout_attributes&quot;:1048}],1050:[function(t,e,r){&quot;use strict&quot;;function n(t,e){if(t.v===e.vTotal&amp;&amp;!e.trace.hole)return 1;var r=Math.PI*Math.min(t.v/e.vTotal,.5);return Math.min(1/(1+1/Math.sin(r)),(1-e.trace.hole)/2)}function i(t,e){var r=e.pxmid[0],n=e.pxmid[1],i=t.width/2,a=t.height/2;return r&lt;0&amp;&amp;(i*=-1),n&lt;0&amp;&amp;(a*=-1),{scale:1,rCenter:1,rotate:0,x:i+Math.abs(a)*(i&gt;0?1:-1)/2,y:a/(1+r*r/(n*n)),outside:!0}}var a=t(&quot;d3&quot;),o=t(&quot;../../components/fx&quot;),s=t(&quot;../../components/color&quot;),l=t(&quot;../../components/drawing&quot;),c=t(&quot;../../lib/svg_text_utils&quot;),u=t(&quot;./helpers&quot;),f=t(&quot;./event_data&quot;);e.exports=function(t,e){var r=t._fullLayout;!function(t,e){var r,n,i,a,o,s,l,c,u,f=[];for(i=0;i&lt;t.length;i++){if(o=t[i][0],s=o.trace,r=e.w*(s.domain.x[1]-s.domain.x[0]),n=e.h*(s.domain.y[1]-s.domain.y[0]),l=s.pull,Array.isArray(l))for(l=0,a=0;a&lt;s.pull.length;a++)s.pull[a]&gt;l&amp;&amp;(l=s.pull[a]);o.r=Math.min(r,n)/(2+2*l),o.cx=e.l+e.w*(s.domain.x[1]+s.domain.x[0])/2,o.cy=e.t+e.h*(2-s.domain.y[1]-s.domain.y[0])/2,s.scalegroup&amp;&amp;-1===f.indexOf(s.scalegroup)&amp;&amp;f.push(s.scalegroup)}for(a=0;a&lt;f.length;a++){for(u=1/0,c=f[a],i=0;i&lt;t.length;i++)(o=t[i][0]).trace.scalegroup===c&amp;&amp;(u=Math.min(u,o.r*o.r/o.vTotal));for(i=0;i&lt;t.length;i++)(o=t[i][0]).trace.scalegroup===c&amp;&amp;(o.r=Math.sqrt(u*o.vTotal))}}(e,r._size);var h=r._pielayer.selectAll(&quot;g.trace&quot;).data(e);h.enter().append(&quot;g&quot;).attr({&quot;stroke-linejoin&quot;:&quot;round&quot;,class:&quot;trace&quot;}),h.exit().remove(),h.order(),h.each(function(e){var h=a.select(this),d=e[0],p=d.trace;!function(t){function e(t){return[a.r*Math.sin(t),-a.r*Math.cos(t)]}var r,n,i,a=t[0],o=a.trace,s=o.rotation*Math.PI/180,l=2*Math.PI/a.vTotal,c=&quot;px0&quot;,u=&quot;px1&quot;;if(&quot;counterclockwise&quot;===o.direction){for(r=0;r&lt;t.length&amp;&amp;t[r].hidden;r++);if(r===t.length)return;s+=l*t[r].v,l*=-1,c=&quot;px1&quot;,u=&quot;px0&quot;}for(i=e(s),r=0;r&lt;t.length;r++)(n=t[r]).hidden||(n[c]=i,s+=l*n.v/2,n.pxmid=e(s),n.midangle=s,i=e(s+=l*n.v/2),n[u]=i,n.largeArc=n.v&gt;a.vTotal/2?1:0)}(e),h.each(function(){var h=a.select(this).selectAll(&quot;g.slice&quot;).data(e);h.enter().append(&quot;g&quot;).classed(&quot;slice&quot;,!0),h.exit().remove();var m=[[[],[]],[[],[]]],g=!1;h.each(function(e){function s(t,r,n,i){return&quot;a&quot;+i*d.r+&quot;,&quot;+i*d.r+&quot; 0 &quot;+e.largeArc+(n?&quot; 1 &quot;:&quot; 0 &quot;)+i*(r[0]-t[0])+&quot;,&quot;+i*(r[1]-t[1])}if(e.hidden)a.select(this).selectAll(&quot;path,g&quot;).remove();else{e.pointNumber=e.i,e.curveNumber=p.index,m[e.pxmid[1]&lt;0?0:1][e.pxmid[0]&lt;0?0:1].push(e);var h=d.cx,v=d.cy,y=a.select(this),x=y.selectAll(&quot;path.surface&quot;).data([e]),b=!1,_=!1;if(x.enter().append(&quot;path&quot;).classed(&quot;surface&quot;,!0).style({&quot;pointer-events&quot;:&quot;all&quot;}),y.select(&quot;path.textline&quot;).remove(),y.on(&quot;mouseover&quot;,function(){var i=t._fullLayout,s=t._fullData[p.index];if(!t._dragging&amp;&amp;!1!==i.hovermode){var l=s.hoverinfo;if(Array.isArray(l)&amp;&amp;(l=o.castHoverinfo({hoverinfo:[u.castOption(l,e.pts)],_module:p._module},i,0)),&quot;all&quot;===l&amp;&amp;(l=&quot;label+text+value+percent+name&quot;),&quot;none&quot;!==l&amp;&amp;&quot;skip&quot;!==l&amp;&amp;l){var c=n(e,d),m=h+e.pxmid[0]*(1-c),g=v+e.pxmid[1]*(1-c),y=r.separators,x=[];if(-1!==l.indexOf(&quot;label&quot;)&amp;&amp;x.push(e.label),-1!==l.indexOf(&quot;text&quot;)){var w=u.castOption(s.hovertext||s.text,e.pts);w&amp;&amp;x.push(w)}-1!==l.indexOf(&quot;value&quot;)&amp;&amp;x.push(u.formatPieValue(e.v,y)),-1!==l.indexOf(&quot;percent&quot;)&amp;&amp;x.push(u.formatPiePercent(e.v/d.vTotal,y));var M=p.hoverlabel,k=M.font;o.loneHover({x0:m-c*d.r,x1:m+c*d.r,y:g,text:x.join(&quot;&lt;br&gt;&quot;),name:-1!==l.indexOf(&quot;name&quot;)?s.name:void 0,idealAlign:e.pxmid[0]&lt;0?&quot;left&quot;:&quot;right&quot;,color:u.castOption(M.bgcolor,e.pts)||e.color,borderColor:u.castOption(M.bordercolor,e.pts),fontFamily:u.castOption(k.family,e.pts),fontSize:u.castOption(k.size,e.pts),fontColor:u.castOption(k.color,e.pts)},{container:i._hoverlayer.node(),outerContainer:i._paper.node(),gd:t}),b=!0}t.emit(&quot;plotly_hover&quot;,{points:[f(e,s)],event:a.event}),_=!0}}).on(&quot;mouseout&quot;,function(r){var n=t._fullLayout,i=t._fullData[p.index];_&amp;&amp;(r.originalEvent=a.event,t.emit(&quot;plotly_unhover&quot;,{points:[f(e,i)],event:a.event}),_=!1),b&amp;&amp;(o.loneUnhover(n._hoverlayer.node()),b=!1)}).on(&quot;click&quot;,function(){var r=t._fullLayout,n=t._fullData[p.index];t._dragging||!1===r.hovermode||(t._hoverdata=[f(e,n)],o.click(t,a.event))}),p.pull){var w=+u.castOption(p.pull,e.pts)||0;w&gt;0&amp;&amp;(h+=w*e.pxmid[0],v+=w*e.pxmid[1])}e.cxFinal=h,e.cyFinal=v;var M=p.hole;if(e.v===d.vTotal){var k=&quot;M&quot;+(h+e.px0[0])+&quot;,&quot;+(v+e.px0[1])+s(e.px0,e.pxmid,!0,1)+s(e.pxmid,e.px0,!0,1)+&quot;Z&quot;;M?x.attr(&quot;d&quot;,&quot;M&quot;+(h+M*e.px0[0])+&quot;,&quot;+(v+M*e.px0[1])+s(e.px0,e.pxmid,!1,M)+s(e.pxmid,e.px0,!1,M)+&quot;Z&quot;+k):x.attr(&quot;d&quot;,k)}else{var A=s(e.px0,e.px1,!0,1);if(M){var T=1-M;x.attr(&quot;d&quot;,&quot;M&quot;+(h+M*e.px1[0])+&quot;,&quot;+(v+M*e.px1[1])+s(e.px1,e.px0,!1,M)+&quot;l&quot;+T*e.px0[0]+&quot;,&quot;+T*e.px0[1]+A+&quot;Z&quot;)}else x.attr(&quot;d&quot;,&quot;M&quot;+h+&quot;,&quot;+v+&quot;l&quot;+e.px0[0]+&quot;,&quot;+e.px0[1]+A+&quot;Z&quot;)}var S=u.castOption(p.textposition,e.pts),E=y.selectAll(&quot;g.slicetext&quot;).data(e.text&amp;&amp;&quot;none&quot;!==S?[0]:[]);E.enter().append(&quot;g&quot;).classed(&quot;slicetext&quot;,!0),E.exit().remove(),E.each(function(){var r=a.select(this).selectAll(&quot;text&quot;).data([0]);r.enter().append(&quot;text&quot;).attr(&quot;data-notex&quot;,1),r.exit().remove(),r.text(e.text).attr({class:&quot;slicetext&quot;,transform:&quot;&quot;,&quot;text-anchor&quot;:&quot;middle&quot;}).call(l.font,&quot;outside&quot;===S?p.outsidetextfont:p.insidetextfont).call(c.convertToTspans,t);var o,s=l.bBox(r.node());&quot;outside&quot;===S?o=i(s,e):(o=function(t,e,r){var i=Math.sqrt(t.width*t.width+t.height*t.height),a=t.width/t.height,o=Math.PI*Math.min(e.v/r.vTotal,.5),s=1-r.trace.hole,l=n(e,r),c={scale:l*r.r*2/i,rCenter:1-l,rotate:0};if(c.scale&gt;=1)return c;var u=a+1/(2*Math.tan(o)),f=r.r*Math.min(1/(Math.sqrt(u*u+.5)+u),s/(Math.sqrt(a*a+s/2)+a)),h={scale:2*f/t.height,rCenter:Math.cos(f/r.r)-f*a/r.r,rotate:(180/Math.PI*e.midangle+720)%180-90},d=1/a,p=d+1/(2*Math.tan(o)),m=r.r*Math.min(1/(Math.sqrt(p*p+.5)+p),s/(Math.sqrt(d*d+s/2)+d)),g={scale:2*m/t.width,rCenter:Math.cos(m/r.r)-m/a/r.r,rotate:(180/Math.PI*e.midangle+810)%180-90},v=g.scale&gt;h.scale?g:h;return c.scale&lt;1&amp;&amp;v.scale&gt;c.scale?v:c}(s,e,d),&quot;auto&quot;===S&amp;&amp;o.scale&lt;1&amp;&amp;(r.call(l.font,p.outsidetextfont),p.outsidetextfont.family===p.insidetextfont.family&amp;&amp;p.outsidetextfont.size===p.insidetextfont.size||(s=l.bBox(r.node())),o=i(s,e)));var u=h+e.pxmid[0]*o.rCenter+(o.x||0),f=v+e.pxmid[1]*o.rCenter+(o.y||0);o.outside&amp;&amp;(e.yLabelMin=f-s.height/2,e.yLabelMid=f,e.yLabelMax=f+s.height/2,e.labelExtraX=0,e.labelExtraY=0,g=!0),r.attr(&quot;transform&quot;,&quot;translate(&quot;+u+&quot;,&quot;+f+&quot;)&quot;+(o.scale&lt;1?&quot;scale(&quot;+o.scale+&quot;)&quot;:&quot;&quot;)+(o.rotate?&quot;rotate(&quot;+o.rotate+&quot;)&quot;:&quot;&quot;)+&quot;translate(&quot;+-(s.left+s.right)/2+&quot;,&quot;+-(s.top+s.bottom)/2+&quot;)&quot;)})}}),g&amp;&amp;function(t,e){function r(t,e){return t.pxmid[1]-e.pxmid[1]}function n(t,e){return e.pxmid[1]-t.pxmid[1]}function i(t,r){r||(r={});var n,i,a,s,d=r.labelExtraY+(o?r.yLabelMax:r.yLabelMin),p=o?t.yLabelMin:t.yLabelMax,g=o?t.yLabelMax:t.yLabelMin,v=t.cyFinal+c(t.px0[1],t.px1[1]),y=d-p;if(y*h&gt;0&amp;&amp;(t.labelExtraY=y),Array.isArray(e.pull))for(i=0;i&lt;m.length;i++)(a=m[i])===t||(u.castOption(e.pull,t.pts)||0)&gt;=(u.castOption(e.pull,a.pts)||0)||((t.pxmid[1]-a.pxmid[1])*h&gt;0?(y=a.cyFinal+c(a.px0[1],a.px1[1])-p-t.labelExtraY)*h&gt;0&amp;&amp;(t.labelExtraY+=y):(g+t.labelExtraY-v)*h&gt;0&amp;&amp;(n=3*f*Math.abs(i-m.indexOf(t)),(s=a.cxFinal+l(a.px0[0],a.px1[0])+n-(t.cxFinal+t.pxmid[0])-t.labelExtraX)*f&gt;0&amp;&amp;(t.labelExtraX+=s)))}var a,o,s,l,c,f,h,d,p,m,g,v,y;for(o=0;o&lt;2;o++)for(s=o?r:n,c=o?Math.max:Math.min,h=o?1:-1,a=0;a&lt;2;a++){for(l=a?Math.max:Math.min,f=a?1:-1,(d=t[o][a]).sort(s),p=t[1-o][a],m=p.concat(d),v=[],g=0;g&lt;d.length;g++)void 0!==d[g].yLabelMid&amp;&amp;v.push(d[g]);for(y=!1,g=0;o&amp;&amp;g&lt;p.length;g++)if(void 0!==p[g].yLabelMid){y=p[g];break}for(g=0;g&lt;v.length;g++){var x=g&amp;&amp;v[g-1];y&amp;&amp;!g&amp;&amp;(x=y),i(v[g],x)}}}(m,p),h.each(function(t){if(t.labelExtraX||t.labelExtraY){var e=a.select(this),r=e.select(&quot;g.slicetext text&quot;);r.attr(&quot;transform&quot;,&quot;translate(&quot;+t.labelExtraX+&quot;,&quot;+t.labelExtraY+&quot;)&quot;+r.attr(&quot;transform&quot;));var n=t.cxFinal+t.pxmid[0],i=&quot;M&quot;+n+&quot;,&quot;+(t.cyFinal+t.pxmid[1]),o=(t.yLabelMax-t.yLabelMin)*(t.pxmid[0]&lt;0?-1:1)/4;if(t.labelExtraX){var l=t.labelExtraX*t.pxmid[1]/t.pxmid[0],c=t.yLabelMid+t.labelExtraY-(t.cyFinal+t.pxmid[1]);Math.abs(l)&gt;Math.abs(c)?i+=&quot;l&quot;+c*t.pxmid[0]/t.pxmid[1]+&quot;,&quot;+c+&quot;H&quot;+(n+t.labelExtraX+o):i+=&quot;l&quot;+t.labelExtraX+&quot;,&quot;+l+&quot;v&quot;+(c-l)+&quot;h&quot;+o}else i+=&quot;V&quot;+(t.yLabelMid+t.labelExtraY)+&quot;h&quot;+o;e.append(&quot;path&quot;).classed(&quot;textline&quot;,!0).call(s.stroke,p.outsidetextfont.color).attr({&quot;stroke-width&quot;:Math.min(2,p.outsidetextfont.size/8),d:i,fill:&quot;none&quot;})}})})}),setTimeout(function(){h.selectAll(&quot;tspan&quot;).each(function(){var t=a.select(this);t.attr(&quot;dy&quot;)&amp;&amp;t.attr(&quot;dy&quot;,t.attr(&quot;dy&quot;))})},0)}},{&quot;../../components/color&quot;:618,&quot;../../components/drawing&quot;:643,&quot;../../components/fx&quot;:660,&quot;../../lib/svg_text_utils&quot;:766,&quot;./event_data&quot;:1045,&quot;./helpers&quot;:1046,d3:128}],1051:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;d3&quot;),i=t(&quot;./style_one&quot;);e.exports=function(t){t._fullLayout._pielayer.selectAll(&quot;.trace&quot;).each(function(t){var e=t[0].trace,r=n.select(this);r.style({opacity:e.opacity}),r.selectAll(&quot;path.surface&quot;).each(function(t){n.select(this).call(i,t,e)})})}},{&quot;./style_one&quot;:1052,d3:128}],1052:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../components/color&quot;),i=t(&quot;./helpers&quot;).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({&quot;stroke-width&quot;:s}).call(n.fill,e.color).call(n.stroke,o)}},{&quot;../../components/color&quot;:618,&quot;./helpers&quot;:1046}],1053:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../scatter/attributes&quot;);e.exports={x:n.x,y:n.y,xy:{valType:&quot;data_array&quot;,editType:&quot;calc&quot;},indices:{valType:&quot;data_array&quot;,editType:&quot;calc&quot;},xbounds:{valType:&quot;data_array&quot;,editType:&quot;calc&quot;},ybounds:{valType:&quot;data_array&quot;,editType:&quot;calc&quot;},text:n.text,marker:{color:{valType:&quot;color&quot;,arrayOk:!1,editType:&quot;calc&quot;},opacity:{valType:&quot;number&quot;,min:0,max:1,dflt:1,arrayOk:!1,editType:&quot;calc&quot;},blend:{valType:&quot;boolean&quot;,dflt:null,editType:&quot;calc&quot;},sizemin:{valType:&quot;number&quot;,min:.1,max:2,dflt:.5,editType:&quot;calc&quot;},sizemax:{valType:&quot;number&quot;,min:.1,dflt:20,editType:&quot;calc&quot;},border:{color:{valType:&quot;color&quot;,arrayOk:!1,editType:&quot;calc&quot;},arearatio:{valType:&quot;number&quot;,min:0,max:1,dflt:0,editType:&quot;calc&quot;},editType:&quot;calc&quot;},editType:&quot;calc&quot;}}},{&quot;../scatter/attributes&quot;:1066}],1054:[function(t,e,r){&quot;use strict&quot;;function n(t,e){this.scene=t,this.uid=e,this.type=&quot;pointcloud&quot;,this.pickXData=[],this.pickYData=[],this.xData=[],this.yData=[],this.textLabels=[],this.color=&quot;rgb(0, 0, 0)&quot;,this.name=&quot;&quot;,this.hoverinfo=&quot;all&quot;,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=i(t.glplot,this.pointcloudOptions),this.pointcloud._trace=this}var i=t(&quot;gl-pointcloud2d&quot;),a=t(&quot;../../lib/str2rgbarray&quot;),o=t(&quot;../scatter/get_trace_color&quot;),s=[&quot;xaxis&quot;,&quot;yaxis&quot;],l=n.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,i,o,s,l=this.xData=this.pickXData=t.x,c=this.yData=this.pickYData=t.y,u=this.pickXYData=t.xy,f=t.xbounds&amp;&amp;t.ybounds,h=t.indices,d=this.bounds;if(u){if(n=u,e=u.length&gt;&gt;&gt;1,f)d[0]=t.xbounds[0],d[2]=t.xbounds[1],d[1]=t.ybounds[0],d[3]=t.ybounds[1];else for(s=0;s&lt;e;s++)i=n[2*s],o=n[2*s+1],i&lt;d[0]&amp;&amp;(d[0]=i),i&gt;d[2]&amp;&amp;(d[2]=i),o&lt;d[1]&amp;&amp;(d[1]=o),o&gt;d[3]&amp;&amp;(d[3]=o);if(h)r=h;else for(r=new Int32Array(e),s=0;s&lt;e;s++)r[s]=s}else for(e=l.length,n=new Float32Array(2*e),r=new Int32Array(e),s=0;s&lt;e;s++)i=l[s],o=c[s],r[s]=s,n[2*s]=i,n[2*s+1]=o,i&lt;d[0]&amp;&amp;(d[0]=i),i&gt;d[2]&amp;&amp;(d[2]=i),o&lt;d[1]&amp;&amp;(d[1]=o),o&gt;d[3]&amp;&amp;(d[3]=o);this.idToIndex=r,this.pointcloudOptions.idToIndex=r,this.pointcloudOptions.positions=n;var p=a(t.marker.color),m=a(t.marker.border.color),g=t.opacity*t.marker.opacity;p[3]*=g,this.pointcloudOptions.color=p;var v=t.marker.blend;if(null===v){v=l.length&lt;100||c.length&lt;100}this.pointcloudOptions.blend=v,m[3]*=g,this.pointcloudOptions.borderColor=m;var y=t.marker.sizemin,x=Math.max(t.marker.sizemax,t.marker.sizemin);this.pointcloudOptions.sizeMin=y,this.pointcloudOptions.sizeMax=x,this.pointcloudOptions.areaRatio=t.marker.border.arearatio,this.pointcloud.update(this.pointcloudOptions),this.expandAxesFast(d,x/2)},l.expandAxesFast=function(t,e){for(var r,n,i,a=e||.5,o=0;o&lt;2;o++)(n=(r=this.scene[s[o]])._min)||(n=[]),n.push({val:t[o],pad:a}),(i=r._max)||(i=[]),i.push({val:t[o+2],pad:a})},l.dispose=function(){this.pointcloud.dispose()},e.exports=function(t,e){var r=new n(t,e.uid);return r.update(e),r}},{&quot;../../lib/str2rgbarray&quot;:765,&quot;../scatter/get_trace_color&quot;:1076,&quot;gl-pointcloud2d&quot;:235}],1055:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib&quot;),i=t(&quot;./attributes&quot;);e.exports=function(t,e,r){function a(r,a){return n.coerce(t,e,i,r,a)}a(&quot;x&quot;),a(&quot;y&quot;),a(&quot;xbounds&quot;),a(&quot;ybounds&quot;),t.xy&amp;&amp;t.xy instanceof Float32Array&amp;&amp;(e.xy=t.xy),t.indices&amp;&amp;t.indices instanceof Int32Array&amp;&amp;(e.indices=t.indices),a(&quot;text&quot;),a(&quot;marker.color&quot;,r),a(&quot;marker.opacity&quot;),a(&quot;marker.blend&quot;),a(&quot;marker.sizemin&quot;),a(&quot;marker.sizemax&quot;),a(&quot;marker.border.color&quot;,r),a(&quot;marker.border.arearatio&quot;)}},{&quot;../../lib&quot;:743,&quot;./attributes&quot;:1053}],1056:[function(t,e,r){&quot;use strict&quot;;var n={};n.attributes=t(&quot;./attributes&quot;),n.supplyDefaults=t(&quot;./defaults&quot;),n.calc=t(&quot;../scatter3d/calc&quot;),n.plot=t(&quot;./convert&quot;),n.moduleType=&quot;trace&quot;,n.name=&quot;pointcloud&quot;,n.basePlotModule=t(&quot;../../plots/gl2d&quot;),n.categories=[&quot;gl&quot;,&quot;gl2d&quot;,&quot;showLegend&quot;],n.meta={},e.exports=n},{&quot;../../plots/gl2d&quot;:829,&quot;../scatter3d/calc&quot;:1092,&quot;./attributes&quot;:1053,&quot;./convert&quot;:1054,&quot;./defaults&quot;:1055}],1057:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../plots/font_attributes&quot;),i=t(&quot;../../plots/attributes&quot;),a=t(&quot;../../components/color/attributes&quot;),o=t(&quot;../../components/fx/attributes&quot;),s=t(&quot;../../plots/domain_attributes&quot;),l=t(&quot;../../lib/extend&quot;).extendFlat,c=t(&quot;../../plot_api/edit_types&quot;).overrideAll;e.exports=c({hoverinfo:l({},i.hoverinfo,{flags:[&quot;label&quot;,&quot;text&quot;,&quot;value&quot;,&quot;percent&quot;,&quot;name&quot;]}),hoverlabel:o.hoverlabel,domain:s({name:&quot;sankey&quot;,trace:!0}),orientation:{valType:&quot;enumerated&quot;,values:[&quot;v&quot;,&quot;h&quot;],dflt:&quot;h&quot;},valueformat:{valType:&quot;string&quot;,dflt:&quot;.3s&quot;},valuesuffix:{valType:&quot;string&quot;,dflt:&quot;&quot;},arrangement:{valType:&quot;enumerated&quot;,values:[&quot;snap&quot;,&quot;perpendicular&quot;,&quot;freeform&quot;,&quot;fixed&quot;],dflt:&quot;snap&quot;},textfont:n({}),node:{label:{valType:&quot;data_array&quot;,dflt:[]},color:{valType:&quot;color&quot;,arrayOk:!0},line:{color:{valType:&quot;color&quot;,dflt:a.defaultLine,arrayOk:!0},width:{valType:&quot;number&quot;,min:0,dflt:.5,arrayOk:!0}},pad:{valType:&quot;number&quot;,arrayOk:!1,min:0,dflt:20},thickness:{valType:&quot;number&quot;,arrayOk:!1,min:1,dflt:20}},link:{label:{valType:&quot;data_array&quot;,dflt:[]},color:{valType:&quot;color&quot;,arrayOk:!0},line:{color:{valType:&quot;color&quot;,dflt:a.defaultLine,arrayOk:!0},width:{valType:&quot;number&quot;,min:0,dflt:0,arrayOk:!0}},source:{valType:&quot;data_array&quot;,dflt:[]},target:{valType:&quot;data_array&quot;,dflt:[]},value:{valType:&quot;data_array&quot;,dflt:[]}}},&quot;calc&quot;,&quot;nested&quot;)},{&quot;../../components/color/attributes&quot;:617,&quot;../../components/fx/attributes&quot;:652,&quot;../../lib/extend&quot;:732,&quot;../../plot_api/edit_types&quot;:773,&quot;../../plots/attributes&quot;:787,&quot;../../plots/domain_attributes&quot;:815,&quot;../../plots/font_attributes&quot;:816}],1058:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../plot_api/edit_types&quot;).overrideAll,i=t(&quot;../../plots/get_data&quot;).getModuleCalcData,a=t(&quot;./plot&quot;),o=t(&quot;../../components/fx/layout_attributes&quot;);r.name=&quot;sankey&quot;,r.baseLayoutAttrOverrides=n({hoverlabel:o.hoverlabel},&quot;plot&quot;,&quot;nested&quot;),r.plot=function(t){var e=i(t.calcdata,&quot;sankey&quot;);a(t,e)},r.clean=function(t,e,r,n){var i=n._has&amp;&amp;n._has(&quot;sankey&quot;),a=e._has&amp;&amp;e._has(&quot;sankey&quot;);i&amp;&amp;!a&amp;&amp;n._paperdiv.selectAll(&quot;.sankey&quot;).remove()}},{&quot;../../components/fx/layout_attributes&quot;:661,&quot;../../plot_api/edit_types&quot;:773,&quot;../../plots/get_data&quot;:826,&quot;./plot&quot;:1063}],1059:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;strongly-connected-components&quot;),i=t(&quot;../../lib&quot;),a=t(&quot;../../lib/gup&quot;).wrap;e.exports=function(t,e){return function(t,e,r){for(var i=t.map(function(){return[]}),a=0;a&lt;Math.min(e.length,r.length);a++){if(e[a]===r[a])return!0;i[e[a]].push(r[a])}return n(i).components.some(function(t){return t.length&gt;1})}(e.node.label,e.link.source,e.link.target)&amp;&amp;(i.error(&quot;Circularity is present in the Sankey data. Removing all nodes and links.&quot;),e.link.label=[],e.link.source=[],e.link.target=[],e.link.value=[],e.link.color=[],e.node.label=[],e.node.color=[]),a({link:e.link,node:e.node})}},{&quot;../../lib&quot;:743,&quot;../../lib/gup&quot;:740,&quot;strongly-connected-components&quot;:537}],1060:[function(t,e,r){&quot;use strict&quot;;e.exports={nodeTextOffsetHorizontal:4,nodeTextOffsetVertical:3,nodePadAcross:10,sankeyIterations:50,forceIterations:5,forceTicksPerFrame:10,duration:500,ease:&quot;cubic-in-out&quot;,cn:{sankey:&quot;sankey&quot;,sankeyLinks:&quot;sankey-links&quot;,sankeyLink:&quot;sankey-link&quot;,sankeyNodeSet:&quot;sankey-node-set&quot;,sankeyNode:&quot;sankey-node&quot;,nodeRect:&quot;node-rect&quot;,nodeCapture:&quot;node-capture&quot;,nodeCentered:&quot;node-entered&quot;,nodeLabelGuide:&quot;node-label-guide&quot;,nodeLabel:&quot;node-label&quot;,nodeLabelTextPath:&quot;node-label-text-path&quot;}}},{}],1061:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib&quot;),i=t(&quot;./attributes&quot;),a=t(&quot;../../components/color&quot;),o=t(&quot;tinycolor2&quot;);e.exports=function(t,e,r,s){function l(r,a){return n.coerce(t,e,i,r,a)}l(&quot;node.label&quot;),l(&quot;node.pad&quot;),l(&quot;node.thickness&quot;),l(&quot;node.line.color&quot;),l(&quot;node.line.width&quot;);var c=s.colorway;l(&quot;node.color&quot;,e.node.label.map(function(t,e){return a.addOpacity(function(t){return c[t%c.length]}(e),.8)})),l(&quot;link.label&quot;),l(&quot;link.source&quot;),l(&quot;link.target&quot;),l(&quot;link.value&quot;),l(&quot;link.line.color&quot;),l(&quot;link.line.width&quot;),l(&quot;link.color&quot;,e.link.value.map(function(){return o(s.paper_bgcolor).getLuminance()&lt;.333?&quot;rgba(255, 255, 255, 0.6)&quot;:&quot;rgba(0, 0, 0, 0.2)&quot;})),l(&quot;domain.x&quot;),l(&quot;domain.y&quot;),l(&quot;orientation&quot;),l(&quot;valueformat&quot;),l(&quot;valuesuffix&quot;),l(&quot;arrangement&quot;),n.coerceFont(l,&quot;textfont&quot;,n.extendFlat({},s.font));e.node.label.some(function(t,r){return-1===e.link.source.indexOf(r)&amp;&amp;-1===e.link.target.indexOf(r)})&amp;&amp;n.warn(&quot;Some of the nodes are neither sources nor targets, they will not be displayed.&quot;)}},{&quot;../../components/color&quot;:618,&quot;../../lib&quot;:743,&quot;./attributes&quot;:1057,tinycolor2:546}],1062:[function(t,e,r){&quot;use strict&quot;;var n={};n.attributes=t(&quot;./attributes&quot;),n.supplyDefaults=t(&quot;./defaults&quot;),n.calc=t(&quot;./calc&quot;),n.plot=t(&quot;./plot&quot;),n.moduleType=&quot;trace&quot;,n.name=&quot;sankey&quot;,n.basePlotModule=t(&quot;./base_plot&quot;),n.categories=[&quot;noOpacity&quot;],n.meta={},e.exports=n},{&quot;./attributes&quot;:1057,&quot;./base_plot&quot;:1058,&quot;./calc&quot;:1059,&quot;./defaults&quot;:1061,&quot;./plot&quot;:1063}],1063:[function(t,e,r){&quot;use strict&quot;;function n(t){return&quot;&quot;!==t}function i(t,e){return t.filter(function(t){return t.key===e.traceId})}function a(t,e){p.select(t).select(&quot;path&quot;).style(&quot;fill-opacity&quot;,e),p.select(t).select(&quot;rect&quot;).style(&quot;fill-opacity&quot;,e)}function o(t){p.select(t).select(&quot;text.name&quot;).style(&quot;fill&quot;,&quot;black&quot;)}function s(t){return function(e){return-1!==t.node.sourceLinks.indexOf(e.link)||-1!==t.node.targetLinks.indexOf(e.link)}}function l(t){return function(e){return-1!==e.node.sourceLinks.indexOf(t.link)||-1!==e.node.targetLinks.indexOf(t.link)}}function c(t,e,r){e&amp;&amp;r&amp;&amp;i(r,e).selectAll(&quot;.&quot;+x.sankeyLink).filter(s(e)).call(f.bind(0,e,r,!1))}function u(t,e,r){e&amp;&amp;r&amp;&amp;i(r,e).selectAll(&quot;.&quot;+x.sankeyLink).filter(s(e)).call(h.bind(0,e,r,!1))}function f(t,e,r,n){var a=n.datum().link.label;n.style(&quot;fill-opacity&quot;,.4),a&amp;&amp;i(e,t).selectAll(&quot;.&quot;+x.sankeyLink).filter(function(t){return t.link.label===a}).style(&quot;fill-opacity&quot;,.4),r&amp;&amp;i(e,t).selectAll(&quot;.&quot;+x.sankeyNode).filter(l(t)).call(c)}function h(t,e,r,n){var a=n.datum().link.label;n.style(&quot;fill-opacity&quot;,function(t){return t.tinyColorAlpha}),a&amp;&amp;i(e,t).selectAll(&quot;.&quot;+x.sankeyLink).filter(function(t){return t.link.label===a}).style(&quot;fill-opacity&quot;,function(t){return t.tinyColorAlpha}),r&amp;&amp;i(e,t).selectAll(x.sankeyNode).filter(l(t)).call(u)}function d(t,e){var r=t.hoverlabel||{},n=y.nestedProperty(r,e).get();return!Array.isArray(n)&amp;&amp;n}var p=t(&quot;d3&quot;),m=t(&quot;./render&quot;),g=t(&quot;../../components/fx&quot;),v=t(&quot;../../components/color&quot;),y=t(&quot;../../lib&quot;),x=t(&quot;./constants&quot;).cn,b=y._;e.exports=function(t,e){var r=t._fullLayout,i=r._paper,s=r._size,l=b(t,&quot;source:&quot;)+&quot; &quot;,y=b(t,&quot;target:&quot;)+&quot; &quot;,_=b(t,&quot;incoming flow count:&quot;)+&quot; &quot;,w=b(t,&quot;outgoing flow count:&quot;)+&quot; &quot;;m(i,e,{width:s.w,height:s.h,margin:{t:s.t,r:s.r,b:s.b,l:s.l}},{linkEvents:{hover:function(e,r,n){p.select(e).call(f.bind(0,r,n,!0)),t.emit(&quot;plotly_hover&quot;,{event:p.event,points:[r.link]})},follow:function(e,i){var s=i.link.trace,c=t._fullLayout._paperdiv.node().getBoundingClientRect(),u=e.getBoundingClientRect(),f=u.left+u.width/2,h=u.top+u.height/2,m=g.loneHover({x:f-c.left,y:h-c.top,name:p.format(i.valueFormat)(i.link.value)+i.valueSuffix,text:[i.link.label||&quot;&quot;,l+i.link.source.label,y+i.link.target.label].filter(n).join(&quot;&lt;br&gt;&quot;),color:d(s,&quot;bgcolor&quot;)||v.addOpacity(i.tinyColorHue,1),borderColor:d(s,&quot;bordercolor&quot;),fontFamily:d(s,&quot;font.family&quot;),fontSize:d(s,&quot;font.size&quot;),fontColor:d(s,&quot;font.color&quot;),idealAlign:p.event.x&lt;f?&quot;right&quot;:&quot;left&quot;},{container:r._hoverlayer.node(),outerContainer:r._paper.node(),gd:t});a(m,.65),o(m)},unhover:function(e,n,i){p.select(e).call(h.bind(0,n,i,!0)),t.emit(&quot;plotly_unhover&quot;,{event:p.event,points:[n.link]}),g.loneUnhover(r._hoverlayer.node())},select:function(e,r){var n=r.link;n.originalEvent=p.event,t._hoverdata=[n],g.click(t,{target:!0})}},nodeEvents:{hover:function(e,r,n){p.select(e).call(c,r,n),t.emit(&quot;plotly_hover&quot;,{event:p.event,points:[r.node]})},follow:function(e,i){var s=i.node.trace,l=p.select(e).select(&quot;.&quot;+x.nodeRect),c=t._fullLayout._paperdiv.node().getBoundingClientRect(),u=l.node().getBoundingClientRect(),f=u.left-2-c.left,h=u.right+2-c.left,m=u.top+u.height/4-c.top,v=g.loneHover({x0:f,x1:h,y:m,name:p.format(i.valueFormat)(i.node.value)+i.valueSuffix,text:[i.node.label,_+i.node.targetLinks.length,w+i.node.sourceLinks.length].filter(n).join(&quot;&lt;br&gt;&quot;),color:d(s,&quot;bgcolor&quot;)||i.tinyColorHue,borderColor:d(s,&quot;bordercolor&quot;),fontFamily:d(s,&quot;font.family&quot;),fontSize:d(s,&quot;font.size&quot;),fontColor:d(s,&quot;font.color&quot;),idealAlign:&quot;left&quot;},{container:r._hoverlayer.node(),outerContainer:r._paper.node(),gd:t});a(v,.85),o(v)},unhover:function(e,n,i){p.select(e).call(u,n,i),t.emit(&quot;plotly_unhover&quot;,{event:p.event,points:[n.node]}),g.loneUnhover(r._hoverlayer.node())},select:function(e,r,n){var i=r.node;i.originalEvent=p.event,t._hoverdata=[i],p.select(e).call(u,r,n),g.click(t,{target:!0})}}})}},{&quot;../../components/color&quot;:618,&quot;../../components/fx&quot;:660,&quot;../../lib&quot;:743,&quot;./constants&quot;:1060,&quot;./render&quot;:1064,d3:128}],1064:[function(t,e,r){&quot;use strict&quot;;function n(t){t.lastDraggedX=t.x,t.lastDraggedY=t.y}function i(t){return function(e){return e.node.originalX===t.node.originalX}}function a(t){for(var e=0;e&lt;t.length;e++)t[e].y=t[e].y+t[e].dy/2}function o(t){t.attr(&quot;transform&quot;,function(t){return&quot;translate(&quot;+t.node.x.toFixed(3)+&quot;, &quot;+(t.node.y-t.node.dy/2).toFixed(3)+&quot;)&quot;})}function s(t){var e=t.sankey.nodes();!function(t){for(var e=0;e&lt;t.length;e++)t[e].y=t[e].y-t[e].dy/2}(e);var r=t.sankey.link()(t.link);return a(e),r}function l(t){t.call(o)}function c(t,e){t.call(l),e.attr(&quot;d&quot;,s)}function u(t){t.attr(&quot;width&quot;,function(t){return t.visibleWidth}).attr(&quot;height&quot;,function(t){return t.visibleHeight})}function f(t){return t.link.dy&gt;1||t.linkLineWidth&gt;0}function h(t){return&quot;translate(&quot;+t.translateX+&quot;,&quot;+t.translateY+&quot;)&quot;+(t.horizontal?&quot;matrix(1 0 0 1 0 0)&quot;:&quot;matrix(0 1 1 0 0 0)&quot;)}function d(t){return&quot;translate(&quot;+(t.horizontal?0:t.labelY)+&quot; &quot;+(t.horizontal?t.labelY:0)+&quot;)&quot;}function p(t){return w.svg.line()([[t.horizontal?t.left?-t.sizeAcross:t.visibleWidth+_.nodeTextOffsetHorizontal:_.nodeTextOffsetHorizontal,0],[t.horizontal?t.left?-_.nodeTextOffsetHorizontal:t.sizeAcross:t.visibleHeight-_.nodeTextOffsetHorizontal,0]])}function m(t){return t.horizontal?&quot;matrix(1 0 0 1 0 0)&quot;:&quot;matrix(0 1 1 0 0 0)&quot;}function g(t){return t.horizontal?&quot;scale(1 1)&quot;:&quot;scale(-1 1)&quot;}function v(t){return t.darkBackground&amp;&amp;!t.horizontal?&quot;rgb(255,255,255)&quot;:&quot;rgb(0,0,0)&quot;}function y(t){return t.horizontal&amp;&amp;t.left?&quot;100%&quot;:&quot;0%&quot;}function x(t,e,r){t.on(&quot;.basic&quot;,null).on(&quot;mouseover.basic&quot;,function(t){t.interactionState.dragInProgress||(r.hover(this,t,e),t.interactionState.hovered=[this,t])}).on(&quot;mousemove.basic&quot;,function(t){t.interactionState.dragInProgress||(r.follow(this,t),t.interactionState.hovered=[this,t])}).on(&quot;mouseout.basic&quot;,function(t){t.interactionState.dragInProgress||(r.unhover(this,t,e),t.interactionState.hovered=!1)}).on(&quot;click.basic&quot;,function(t){t.interactionState.hovered&amp;&amp;(r.unhover(this,t,e),t.interactionState.hovered=!1),t.interactionState.dragInProgress||r.select(this,t,e)})}function b(t,e,r){var a=w.behavior.drag().origin(function(t){return t.node}).on(&quot;dragstart&quot;,function(a){if(&quot;fixed&quot;!==a.arrangement&amp;&amp;(E.raiseToTop(this),a.interactionState.dragInProgress=a.node,n(a.node),a.interactionState.hovered&amp;&amp;(r.nodeEvents.unhover.apply(0,a.interactionState.hovered),a.interactionState.hovered=!1),&quot;snap&quot;===a.arrangement)){var o=a.traceId+&quot;|&quot;+Math.floor(a.node.originalX);a.forceLayouts[o]?a.forceLayouts[o].alpha(1):function(t,e,r){var n=r.sankey.nodes().filter(function(t){return t.originalX===r.node.originalX});r.forceLayouts[e]=S.forceSimulation(n).alphaDecay(0).force(&quot;collide&quot;,S.forceCollide().radius(function(t){return t.dy/2+r.nodePad/2}).strength(1).iterations(_.forceIterations)).force(&quot;constrain&quot;,function(t,e,r,n){return function(){for(var t=0,i=0;i&lt;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)/_.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&amp;&amp;t&lt;.1&amp;&amp;n.forceLayouts[e].alpha()&gt;0&amp;&amp;n.forceLayouts[e].alpha(0)}}(0,e,n,r)).stop()}(0,o,a),function(t,e,r,n){window.requestAnimationFrame(function a(){for(var o=0;o&lt;_.forceTicksPerFrame;o++)r.forceLayouts[n].tick();r.sankey.relayout(),c(t.filter(i(r)),e),r.forceLayouts[n].alpha()&gt;0&amp;&amp;window.requestAnimationFrame(a)})}(t,e,a,o)}}).on(&quot;drag&quot;,function(r){if(&quot;fixed&quot;!==r.arrangement){var a=w.event.x,o=w.event.y;&quot;snap&quot;===r.arrangement?(r.node.x=a,r.node.y=o):(&quot;freeform&quot;===r.arrangement&amp;&amp;(r.node.x=a),r.node.y=Math.max(r.node.dy/2,Math.min(r.size-r.node.dy/2,o))),n(r.node),&quot;snap&quot;!==r.arrangement&amp;&amp;(r.sankey.relayout(),c(t.filter(i(r)),e))}}).on(&quot;dragend&quot;,function(t){t.interactionState.dragInProgress=!1});t.on(&quot;.drag&quot;,null).call(a)}var _=t(&quot;./constants&quot;),w=t(&quot;d3&quot;),M=t(&quot;tinycolor2&quot;),k=t(&quot;../../components/color&quot;),A=t(&quot;../../components/drawing&quot;),T=t(&quot;@plotly/d3-sankey&quot;).sankey,S=t(&quot;d3-force&quot;),E=t(&quot;../../lib&quot;),L=t(&quot;../../lib/gup&quot;).keyFun,C=t(&quot;../../lib/gup&quot;).repeat,z=t(&quot;../../lib/gup&quot;).unwrap;e.exports=function(t,e,r,n){var i=t.selectAll(&quot;.&quot;+_.cn.sankey).data(e.filter(function(t){return z(t).trace.visible}).map(function(t,e,r){for(var n,i=z(e).trace,o=i.domain,s=i.node,l=i.link,c=i.arrangement,u=&quot;h&quot;===i.orientation,f=i.node.pad,h=i.node.thickness,d=i.node.line.color,p=i.node.line.width,m=i.link.line.color,g=i.link.line.width,v=i.valueformat,y=i.valuesuffix,x=i.textfont,b=t.width*(o.x[1]-o.x[0]),w=t.height*(o.y[1]-o.y[0]),M=s.label.map(function(t,e){return{pointNumber:e,label:t,color:E.isArray(s.color)?s.color[e]:s.color}}),k=l.value.map(function(t,e){return{pointNumber:e,label:l.label[e],color:E.isArray(l.color)?l.color[e]:l.color,source:l.source[e],target:l.target[e],value:t}}),A=T().size(u?[b,w]:[w,b]).nodeWidth(h).nodePadding(f).nodes(M).links(k).layout(_.sankeyIterations),S=A.nodes(),L=0;L&lt;S.length;L++)(n=S[L]).width=b,n.height=w;return a(M),{key:r,trace:i,guid:Math.floor(1e12*(1+Math.random())),horizontal:u,width:b,height:w,nodePad:f,nodeLineColor:d,nodeLineWidth:p,linkLineColor:m,linkLineWidth:g,valueFormat:v,valueSuffix:y,textFont:x,translateX:o.x[0]*b+t.margin.l,translateY:t.height-o.y[1]*t.height+t.margin.t,dragParallel:u?w:b,dragPerpendicular:u?b:w,nodes:M,links:k,arrangement:c,sankey:A,forceLayouts:{},interactionState:{dragInProgress:!1,hovered:!1}}}.bind(null,r)),L);i.exit().remove(),i.enter().append(&quot;g&quot;).classed(_.cn.sankey,!0).style(&quot;box-sizing&quot;,&quot;content-box&quot;).style(&quot;position&quot;,&quot;absolute&quot;).style(&quot;left&quot;,0).style(&quot;shape-rendering&quot;,&quot;geometricPrecision&quot;).style(&quot;pointer-events&quot;,&quot;auto&quot;).style(&quot;box-sizing&quot;,&quot;content-box&quot;).attr(&quot;transform&quot;,h),i.transition().ease(_.ease).duration(_.duration).attr(&quot;transform&quot;,h);var l=i.selectAll(&quot;.&quot;+_.cn.sankeyLinks).data(C,L);l.enter().append(&quot;g&quot;).classed(_.cn.sankeyLinks,!0).style(&quot;fill&quot;,&quot;none&quot;);var c=l.selectAll(&quot;.&quot;+_.cn.sankeyLink).data(function(t){return t.sankey.links().filter(function(t){return t.value}).map(function(t,e,r){var n=M(r.color),i=r.source.label+&quot;|&quot;+r.target.label,a=t[i];t[i]=(a||0)+1;var o=i+&quot;__&quot;+t[i];return r.trace=e.trace,r.curveNumber=e.trace.index,{key:o,traceId:e.key,link:r,tinyColorHue:k.tinyRGB(n),tinyColorAlpha:n.getAlpha(),linkLineColor:e.linkLineColor,linkLineWidth:e.linkLineWidth,valueFormat:e.valueFormat,valueSuffix:e.valueSuffix,sankey:e.sankey,interactionState:e.interactionState}}.bind(null,{},t))},L);c.enter().append(&quot;path&quot;).classed(_.cn.sankeyLink,!0).attr(&quot;d&quot;,s).call(x,i,n.linkEvents),c.style(&quot;stroke&quot;,function(t){return f(t)?k.tinyRGB(M(t.linkLineColor)):t.tinyColorHue}).style(&quot;stroke-opacity&quot;,function(t){return f(t)?k.opacity(t.linkLineColor):t.tinyColorAlpha}).style(&quot;stroke-width&quot;,function(t){return f(t)?t.linkLineWidth:1}).style(&quot;fill&quot;,function(t){return t.tinyColorHue}).style(&quot;fill-opacity&quot;,function(t){return t.tinyColorAlpha}),c.transition().ease(_.ease).duration(_.duration).attr(&quot;d&quot;,s),c.exit().transition().ease(_.ease).duration(_.duration).style(&quot;opacity&quot;,0).remove();var w=i.selectAll(&quot;.&quot;+_.cn.sankeyNodeSet).data(C,L);w.enter().append(&quot;g&quot;).classed(_.cn.sankeyNodeSet,!0),w.style(&quot;cursor&quot;,function(t){switch(t.arrangement){case&quot;fixed&quot;:return&quot;default&quot;;case&quot;perpendicular&quot;:return&quot;ns-resize&quot;;default:return&quot;move&quot;}});var S=w.selectAll(&quot;.&quot;+_.cn.sankeyNode).data(function(t){var e=t.sankey.nodes();return function(t){var e,r=[];for(e=0;e&lt;t.length;e++)t[e].originalX=t[e].x,t[e].originalY=t[e].y,-1===r.indexOf(t[e].x)&amp;&amp;r.push(t[e].x);for(r.sort(function(t,e){return t-e}),e=0;e&lt;t.length;e++)t[e].originalLayerIndex=r.indexOf(t[e].originalX),t[e].originalLayer=t[e].originalLayerIndex/(r.length-1)}(e),e.filter(function(t){return t.value}).map(function(t,e,r){var n=M(r.color),i=_.nodePadAcross,a=e.nodePad/2,o=r.dx,s=Math.max(.5,r.dy),l=r.label,c=t[l];t[l]=(c||0)+1;var u=l+&quot;__&quot;+t[l];return r.trace=e.trace,r.curveNumber=e.trace.index,{key:u,traceId:e.key,node:r,nodePad:e.nodePad,nodeLineColor:e.nodeLineColor,nodeLineWidth:e.nodeLineWidth,textFont:e.textFont,size:e.horizontal?e.height:e.width,visibleWidth:Math.ceil(o),visibleHeight:s,zoneX:-i,zoneY:-a,zoneWidth:o+2*i,zoneHeight:s+2*a,labelY:e.horizontal?r.dy/2+1:r.dx/2+1,left:1===r.originalLayer,sizeAcross:e.width,forceLayouts:e.forceLayouts,horizontal:e.horizontal,darkBackground:n.getBrightness()&lt;=128,tinyColorHue:k.tinyRGB(n),tinyColorAlpha:n.getAlpha(),valueFormat:e.valueFormat,valueSuffix:e.valueSuffix,sankey:e.sankey,arrangement:e.arrangement,uniqueNodeLabelPathId:[e.guid,e.key,u].join(&quot; &quot;),interactionState:e.interactionState}}.bind(null,{},t))},L);S.enter().append(&quot;g&quot;).classed(_.cn.sankeyNode,!0).call(o).call(x,i,n.nodeEvents),S.call(b,c,n),S.transition().ease(_.ease).duration(_.duration).call(o),S.exit().transition().ease(_.ease).duration(_.duration).style(&quot;opacity&quot;,0).remove();var D=S.selectAll(&quot;.&quot;+_.cn.nodeRect).data(C);D.enter().append(&quot;rect&quot;).classed(_.cn.nodeRect,!0).call(u),D.style(&quot;stroke-width&quot;,function(t){return t.nodeLineWidth}).style(&quot;stroke&quot;,function(t){return k.tinyRGB(M(t.nodeLineColor))}).style(&quot;stroke-opacity&quot;,function(t){return k.opacity(t.nodeLineColor)}).style(&quot;fill&quot;,function(t){return t.tinyColorHue}).style(&quot;fill-opacity&quot;,function(t){return t.tinyColorAlpha}),D.transition().ease(_.ease).duration(_.duration).call(u);var I=S.selectAll(&quot;.&quot;+_.cn.nodeCapture).data(C);I.enter().append(&quot;rect&quot;).classed(_.cn.nodeCapture,!0).style(&quot;fill-opacity&quot;,0),I.attr(&quot;x&quot;,function(t){return t.zoneX}).attr(&quot;y&quot;,function(t){return t.zoneY}).attr(&quot;width&quot;,function(t){return t.zoneWidth}).attr(&quot;height&quot;,function(t){return t.zoneHeight});var P=S.selectAll(&quot;.&quot;+_.cn.nodeCentered).data(C);P.enter().append(&quot;g&quot;).classed(_.cn.nodeCentered,!0).attr(&quot;transform&quot;,d),P.transition().ease(_.ease).duration(_.duration).attr(&quot;transform&quot;,d);var O=P.selectAll(&quot;.&quot;+_.cn.nodeLabelGuide).data(C);O.enter().append(&quot;path&quot;).classed(_.cn.nodeLabelGuide,!0).attr(&quot;id&quot;,function(t){return t.uniqueNodeLabelPathId}).attr(&quot;d&quot;,p).attr(&quot;transform&quot;,m),O.transition().ease(_.ease).duration(_.duration).attr(&quot;d&quot;,p).attr(&quot;transform&quot;,m);var F=P.selectAll(&quot;.&quot;+_.cn.nodeLabel).data(C);F.enter().append(&quot;text&quot;).classed(_.cn.nodeLabel,!0).attr(&quot;transform&quot;,g).style(&quot;user-select&quot;,&quot;none&quot;).style(&quot;cursor&quot;,&quot;default&quot;).style(&quot;fill&quot;,&quot;black&quot;),F.style(&quot;text-shadow&quot;,function(t){return t.horizontal?&quot;-1px 1px 1px #fff, 1px 1px 1px #fff, 1px -1px 1px #fff, -1px -1px 1px #fff&quot;:&quot;none&quot;}).each(function(t){A.font(F,t.textFont)}),F.transition().ease(_.ease).duration(_.duration).attr(&quot;transform&quot;,g);var R=F.selectAll(&quot;.&quot;+_.cn.nodeLabelTextPath).data(C);R.enter().append(&quot;textPath&quot;).classed(_.cn.nodeLabelTextPath,!0).attr(&quot;alignment-baseline&quot;,&quot;middle&quot;).attr(&quot;xlink:href&quot;,function(t){return&quot;#&quot;+t.uniqueNodeLabelPathId}).attr(&quot;startOffset&quot;,y).style(&quot;fill&quot;,v),R.text(function(t){return t.horizontal||t.node.dy&gt;5?t.node.label:&quot;&quot;}).attr(&quot;text-anchor&quot;,function(t){return t.horizontal&amp;&amp;t.left?&quot;end&quot;:&quot;start&quot;}),R.transition().ease(_.ease).duration(_.duration).attr(&quot;startOffset&quot;,y).style(&quot;fill&quot;,v)}},{&quot;../../components/color&quot;:618,&quot;../../components/drawing&quot;:643,&quot;../../lib&quot;:743,&quot;../../lib/gup&quot;:740,&quot;./constants&quot;:1060,&quot;@plotly/d3-sankey&quot;:41,d3:128,&quot;d3-force&quot;:124,tinycolor2:546}],1065:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib&quot;);e.exports=function(t,e){for(var r=0;r&lt;t.length;r++)t[r].i=r;n.mergeArray(e.text,t,&quot;tx&quot;),n.mergeArray(e.hovertext,t,&quot;htx&quot;),n.mergeArray(e.customdata,t,&quot;data&quot;),n.mergeArray(e.textposition,t,&quot;tp&quot;),e.textfont&amp;&amp;(n.mergeArray(e.textfont.size,t,&quot;ts&quot;),n.mergeArray(e.textfont.color,t,&quot;tc&quot;),n.mergeArray(e.textfont.family,t,&quot;tf&quot;));var i=e.marker;if(i){n.mergeArray(i.size,t,&quot;ms&quot;),n.mergeArray(i.opacity,t,&quot;mo&quot;),n.mergeArray(i.symbol,t,&quot;mx&quot;),n.mergeArray(i.color,t,&quot;mc&quot;);var a=i.line;i.line&amp;&amp;(n.mergeArray(a.color,t,&quot;mlc&quot;),n.mergeArray(a.width,t,&quot;mlw&quot;));var o=i.gradient;o&amp;&amp;&quot;none&quot;!==o.type&amp;&amp;(n.mergeArray(o.type,t,&quot;mgt&quot;),n.mergeArray(o.color,t,&quot;mgc&quot;))}}},{&quot;../../lib&quot;:743}],1066:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../components/colorscale/color_attributes&quot;),i=t(&quot;../../components/errorbars/attributes&quot;),a=t(&quot;../../components/colorbar/attributes&quot;),o=t(&quot;../../plots/font_attributes&quot;),s=t(&quot;../../components/drawing/attributes&quot;).dash,l=t(&quot;../../components/drawing&quot;),c=(t(&quot;./constants&quot;),t(&quot;../../lib/extend&quot;).extendFlat);e.exports={x:{valType:&quot;data_array&quot;,editType:&quot;calc+clearAxisTypes&quot;},x0:{valType:&quot;any&quot;,dflt:0,editType:&quot;calc+clearAxisTypes&quot;},dx:{valType:&quot;number&quot;,dflt:1,editType:&quot;calc&quot;},y:{valType:&quot;data_array&quot;,editType:&quot;calc+clearAxisTypes&quot;},y0:{valType:&quot;any&quot;,dflt:0,editType:&quot;calc+clearAxisTypes&quot;},dy:{valType:&quot;number&quot;,dflt:1,editType:&quot;calc&quot;},text:{valType:&quot;string&quot;,dflt:&quot;&quot;,arrayOk:!0,editType:&quot;calc&quot;},hovertext:{valType:&quot;string&quot;,dflt:&quot;&quot;,arrayOk:!0,editType:&quot;style&quot;},mode:{valType:&quot;flaglist&quot;,flags:[&quot;lines&quot;,&quot;markers&quot;,&quot;text&quot;],extras:[&quot;none&quot;],editType:&quot;calc&quot;},hoveron:{valType:&quot;flaglist&quot;,flags:[&quot;points&quot;,&quot;fills&quot;],editType:&quot;style&quot;},line:{color:{valType:&quot;color&quot;,editType:&quot;style&quot;},width:{valType:&quot;number&quot;,min:0,dflt:2,editType:&quot;style&quot;},shape:{valType:&quot;enumerated&quot;,values:[&quot;linear&quot;,&quot;spline&quot;,&quot;hv&quot;,&quot;vh&quot;,&quot;hvh&quot;,&quot;vhv&quot;],dflt:&quot;linear&quot;,editType:&quot;plot&quot;},smoothing:{valType:&quot;number&quot;,min:0,max:1.3,dflt:1,editType:&quot;plot&quot;},dash:c({},s,{editType:&quot;style&quot;}),simplify:{valType:&quot;boolean&quot;,dflt:!0,editType:&quot;plot&quot;},editType:&quot;plot&quot;},connectgaps:{valType:&quot;boolean&quot;,dflt:!1,editType:&quot;calc&quot;},cliponaxis:{valType:&quot;boolean&quot;,dflt:!0,editType:&quot;plot&quot;},fill:{valType:&quot;enumerated&quot;,values:[&quot;none&quot;,&quot;tozeroy&quot;,&quot;tozerox&quot;,&quot;tonexty&quot;,&quot;tonextx&quot;,&quot;toself&quot;,&quot;tonext&quot;],dflt:&quot;none&quot;,editType:&quot;calc&quot;},fillcolor:{valType:&quot;color&quot;,editType:&quot;style&quot;},marker:c({symbol:{valType:&quot;enumerated&quot;,values:l.symbolList,dflt:&quot;circle&quot;,arrayOk:!0,editType:&quot;style&quot;},opacity:{valType:&quot;number&quot;,min:0,max:1,arrayOk:!0,editType:&quot;style&quot;},size:{valType:&quot;number&quot;,min:0,dflt:6,arrayOk:!0,editType:&quot;calcIfAutorange&quot;},maxdisplayed:{valType:&quot;number&quot;,min:0,dflt:0,editType:&quot;plot&quot;},sizeref:{valType:&quot;number&quot;,dflt:1,editType:&quot;calc&quot;},sizemin:{valType:&quot;number&quot;,min:0,dflt:0,editType:&quot;calc&quot;},sizemode:{valType:&quot;enumerated&quot;,values:[&quot;diameter&quot;,&quot;area&quot;],dflt:&quot;diameter&quot;,editType:&quot;calc&quot;},showscale:{valType:&quot;boolean&quot;,dflt:!1,editType:&quot;calc&quot;},colorbar:a,line:c({width:{valType:&quot;number&quot;,min:0,arrayOk:!0,editType:&quot;style&quot;},editType:&quot;calc&quot;},n(&quot;marker.line&quot;)),gradient:{type:{valType:&quot;enumerated&quot;,values:[&quot;radial&quot;,&quot;horizontal&quot;,&quot;vertical&quot;,&quot;none&quot;],arrayOk:!0,dflt:&quot;none&quot;,editType:&quot;calc&quot;},color:{valType:&quot;color&quot;,arrayOk:!0,editType:&quot;calc&quot;},editType:&quot;calc&quot;},editType:&quot;calc&quot;},n(&quot;marker&quot;)),selected:{marker:{opacity:{valType:&quot;number&quot;,min:0,max:1,editType:&quot;style&quot;},color:{valType:&quot;color&quot;,editType:&quot;style&quot;},size:{valType:&quot;number&quot;,min:0,editType:&quot;style&quot;},editType:&quot;style&quot;},textfont:{color:{valType:&quot;color&quot;,editType:&quot;style&quot;},editType:&quot;style&quot;},editType:&quot;style&quot;},unselected:{marker:{opacity:{valType:&quot;number&quot;,min:0,max:1,editType:&quot;style&quot;},color:{valType:&quot;color&quot;,editType:&quot;style&quot;},size:{valType:&quot;number&quot;,min:0,editType:&quot;style&quot;},editType:&quot;style&quot;},textfont:{color:{valType:&quot;color&quot;,editType:&quot;style&quot;},editType:&quot;style&quot;},editType:&quot;style&quot;},textposition:{valType:&quot;enumerated&quot;,values:[&quot;top left&quot;,&quot;top center&quot;,&quot;top right&quot;,&quot;middle left&quot;,&quot;middle center&quot;,&quot;middle right&quot;,&quot;bottom left&quot;,&quot;bottom center&quot;,&quot;bottom right&quot;],dflt:&quot;middle center&quot;,arrayOk:!0,editType:&quot;calc&quot;},textfont:o({editType:&quot;calc&quot;,colorEditType:&quot;style&quot;,arrayOk:!0}),r:{valType:&quot;data_array&quot;,editType:&quot;calc&quot;},t:{valType:&quot;data_array&quot;,editType:&quot;calc&quot;},error_y:i,error_x:i}},{&quot;../../components/colorbar/attributes&quot;:619,&quot;../../components/colorscale/color_attributes&quot;:626,&quot;../../components/drawing&quot;:643,&quot;../../components/drawing/attributes&quot;:642,&quot;../../components/errorbars/attributes&quot;:645,&quot;../../lib/extend&quot;:732,&quot;../../plots/font_attributes&quot;:816,&quot;./constants&quot;:1072}],1067:[function(t,e,r){&quot;use strict&quot;;function n(t,e){if(s.hasMarkers(t)){var r,n=t.marker,i=1.6*(t.marker.sizeref||1);if(r=&quot;area&quot;===t.marker.sizemode?function(t){return Math.max(Math.sqrt((t||0)/i),3)}:function(t){return Math.max((t||0)/i,3)},Array.isArray(n.size)){var o={type:&quot;linear&quot;};a.setConvert(o);var l=o.makeCalcdata(t.marker,&quot;size&quot;);return l.length&gt;e&amp;&amp;l.splice(e,l.length-e),l.map(r)}return r(n.size)}}var i=t(&quot;fast-isnumeric&quot;),a=t(&quot;../../plots/cartesian/axes&quot;),o=t(&quot;../../constants/numerical&quot;).BADNUM,s=t(&quot;./subtypes&quot;),l=t(&quot;./colorscale_calc&quot;),c=t(&quot;./arrays_to_calcdata&quot;),u=t(&quot;./calc_selection&quot;);e.exports={calc:function(t,e){var r=a.getFromId(t,e.xaxis||&quot;x&quot;),f=a.getFromId(t,e.yaxis||&quot;y&quot;),h=r.makeCalcdata(e,&quot;x&quot;),d=f.makeCalcdata(e,&quot;y&quot;),p=Math.min(h.length,d.length);r._minDtick=0,f._minDtick=0,h.length&gt;p&amp;&amp;h.splice(p,h.length-p),d.length&gt;p&amp;&amp;d.splice(p,d.length-p);var m={padded:!0},g={padded:!0},v=n(e,p);v&amp;&amp;(m.ppad=g.ppad=v),!(&quot;tozerox&quot;===e.fill||&quot;tonextx&quot;===e.fill&amp;&amp;t.firstscatter)||h[0]===h[p-1]&amp;&amp;d[0]===d[p-1]?e.error_y.visible||-1===[&quot;tonexty&quot;,&quot;tozeroy&quot;].indexOf(e.fill)&amp;&amp;(s.hasMarkers(e)||s.hasText(e))||(m.padded=!1,m.ppad=0):m.tozero=!0,!(&quot;tozeroy&quot;===e.fill||&quot;tonexty&quot;===e.fill&amp;&amp;t.firstscatter)||h[0]===h[p-1]&amp;&amp;d[0]===d[p-1]?-1!==[&quot;tonextx&quot;,&quot;tozerox&quot;].indexOf(e.fill)&amp;&amp;(g.padded=!1):g.tozero=!0,a.expand(r,h,m),a.expand(f,d,g);for(var y=new Array(p),x=0;x&lt;p;x++)y[x]=i(h[x])&amp;&amp;i(d[x])?{x:h[x],y:d[x]}:{x:o,y:o},e.ids&amp;&amp;(y[x].id=String(e.ids[x]));return c(y,e),l(e),u(y,e),t.firstscatter=!1,y},calcMarkerSize:n}},{&quot;../../constants/numerical&quot;:721,&quot;../../plots/cartesian/axes&quot;:789,&quot;./arrays_to_calcdata&quot;:1065,&quot;./calc_selection&quot;:1068,&quot;./colorscale_calc&quot;:1071,&quot;./subtypes&quot;:1088,&quot;fast-isnumeric&quot;:140}],1068:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib&quot;);e.exports=function(t,e){Array.isArray(e.selectedpoints)&amp;&amp;n.tagSelected(t,e)}},{&quot;../../lib&quot;:743}],1069:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t){for(var e=0;e&lt;t.length;e++){var r=t[e];if(&quot;scatter&quot;===r.type){var n=r.fill;if(&quot;none&quot;!==n&amp;&amp;&quot;toself&quot;!==n&amp;&amp;(r.opacity=void 0,&quot;tonexty&quot;===n||&quot;tonextx&quot;===n))for(var i=e-1;i&gt;=0;i--){var a=t[i];if(&quot;scatter&quot;===a.type&amp;&amp;a.xaxis===r.xaxis&amp;&amp;a.yaxis===r.yaxis){a.opacity=void 0;break}}}}}},{}],1070:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;fast-isnumeric&quot;),i=t(&quot;../../lib&quot;),a=t(&quot;../../plots/plots&quot;),o=t(&quot;../../components/colorscale&quot;),s=t(&quot;../../components/colorbar/draw&quot;);e.exports=function(t,e){var r=e[0].trace,l=r.marker,c=&quot;cb&quot;+r.uid;if(t._fullLayout._infolayer.selectAll(&quot;.&quot;+c).remove(),void 0!==l&amp;&amp;l.showscale){var u=l.color,f=l.cmin,h=l.cmax;n(f)||(f=i.aggNums(Math.min,null,u)),n(h)||(h=i.aggNums(Math.max,null,u));var d=e[0].t.cb=s(t,c),p=o.makeColorScaleFunc(o.extractScale(l.colorscale,f,h),{noNumericCheck:!0});d.fillcolor(p).filllevels({start:f,end:h,size:(h-f)/254}).options(l.colorbar)()}else a.autoMargin(t,c)}},{&quot;../../components/colorbar/draw&quot;:622,&quot;../../components/colorscale&quot;:633,&quot;../../lib&quot;:743,&quot;../../plots/plots&quot;:852,&quot;fast-isnumeric&quot;:140}],1071:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../components/colorscale/has_colorscale&quot;),i=t(&quot;../../components/colorscale/calc&quot;),a=t(&quot;./subtypes&quot;);e.exports=function(t){a.hasLines(t)&amp;&amp;n(t,&quot;line&quot;)&amp;&amp;i(t,t.line.color,&quot;line&quot;,&quot;c&quot;),a.hasMarkers(t)&amp;&amp;(n(t,&quot;marker&quot;)&amp;&amp;i(t,t.marker.color,&quot;marker&quot;,&quot;c&quot;),n(t,&quot;marker.line&quot;)&amp;&amp;i(t,t.marker.line.color,&quot;marker.line&quot;,&quot;c&quot;))}},{&quot;../../components/colorscale/calc&quot;:625,&quot;../../components/colorscale/has_colorscale&quot;:632,&quot;./subtypes&quot;:1088}],1072:[function(t,e,r){&quot;use strict&quot;;e.exports={PTS_LINESONLY:20,minTolerance:.2,toleranceGrowth:10,maxScreensAway:20}},{}],1073:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib&quot;),i=t(&quot;./attributes&quot;),a=t(&quot;./constants&quot;),o=t(&quot;./subtypes&quot;),s=t(&quot;./xy_defaults&quot;),l=t(&quot;./marker_defaults&quot;),c=t(&quot;./line_defaults&quot;),u=t(&quot;./line_shape_defaults&quot;),f=t(&quot;./text_defaults&quot;),h=t(&quot;./fillcolor_defaults&quot;),d=t(&quot;../../components/errorbars/defaults&quot;);e.exports=function(t,e,r,p){function m(r,a){return n.coerce(t,e,i,r,a)}var g=s(t,e,p,m),v=g&lt;a.PTS_LINESONLY?&quot;lines+markers&quot;:&quot;lines&quot;;if(g){m(&quot;text&quot;),m(&quot;hovertext&quot;),m(&quot;mode&quot;,v),o.hasLines(e)&amp;&amp;(c(t,e,r,p,m),u(t,e,m),m(&quot;connectgaps&quot;),m(&quot;line.simplify&quot;)),o.hasMarkers(e)&amp;&amp;l(t,e,r,p,m,{gradient:!0}),o.hasText(e)&amp;&amp;f(t,e,p,m);var y=[];(o.hasMarkers(e)||o.hasText(e))&amp;&amp;(m(&quot;cliponaxis&quot;),m(&quot;marker.maxdisplayed&quot;),y.push(&quot;points&quot;)),m(&quot;fill&quot;),&quot;none&quot;!==e.fill&amp;&amp;(h(t,e,r,m),o.hasLines(e)||u(t,e,m)),&quot;tonext&quot;!==e.fill&amp;&amp;&quot;toself&quot;!==e.fill||y.push(&quot;fills&quot;),m(&quot;hoveron&quot;,y.join(&quot;+&quot;)||&quot;points&quot;),d(t,e,r,{axis:&quot;y&quot;}),d(t,e,r,{axis:&quot;x&quot;,inherit:&quot;y&quot;}),n.coerceSelectionMarkerOpacity(e,m)}else e.visible=!1}},{&quot;../../components/errorbars/defaults&quot;:648,&quot;../../lib&quot;:743,&quot;./attributes&quot;:1066,&quot;./constants&quot;:1072,&quot;./fillcolor_defaults&quot;:1075,&quot;./line_defaults&quot;:1079,&quot;./line_shape_defaults&quot;:1081,&quot;./marker_defaults&quot;:1084,&quot;./subtypes&quot;:1088,&quot;./text_defaults&quot;:1089,&quot;./xy_defaults&quot;:1090}],1074:[function(t,e,r){&quot;use strict&quot;;function n(t){return t||0===t}var i=t(&quot;../../lib&quot;);e.exports=function(t,e,r){var a=Array.isArray(r)?function(t){r.push(t)}:function(t){r.text=t},o=i.extractOption(t,e,&quot;htx&quot;,&quot;hovertext&quot;);if(n(o))return a(o);var s=i.extractOption(t,e,&quot;tx&quot;,&quot;text&quot;);return n(s)?a(s):void 0}},{&quot;../../lib&quot;:743}],1075:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../components/color&quot;);e.exports=function(t,e,r,i){var a=!1;if(e.marker){var o=e.marker.color,s=(e.marker.line||{}).color;o&amp;&amp;!Array.isArray(o)?a=o:s&amp;&amp;!Array.isArray(s)&amp;&amp;(a=s)}i(&quot;fillcolor&quot;,n.addOpacity((e.line||{}).color||a||r,.5))}},{&quot;../../components/color&quot;:618}],1076:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../components/color&quot;),i=t(&quot;./subtypes&quot;);e.exports=function(t,e){var r,a;if(&quot;lines&quot;===t.mode)return(r=t.line.color)&amp;&amp;n.opacity(r)?r:t.fillcolor;if(&quot;none&quot;===t.mode)return t.fill?t.fillcolor:&quot;&quot;;var o=e.mcc||(t.marker||{}).color,s=e.mlcc||((t.marker||{}).line||{}).color;return(a=o&amp;&amp;n.opacity(o)?o:s&amp;&amp;n.opacity(s)&amp;&amp;(e.mlw||((t.marker||{}).line||{}).width)?s:&quot;&quot;)?n.opacity(a)&lt;.3?n.addOpacity(a,.3):a:(r=(t.line||{}).color)&amp;&amp;n.opacity(r)&amp;&amp;i.hasLines(t)&amp;&amp;t.line.width?r:t.fillcolor}},{&quot;../../components/color&quot;:618,&quot;./subtypes&quot;:1088}],1077:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib&quot;),i=t(&quot;../../components/fx&quot;),a=t(&quot;../../components/errorbars&quot;),o=t(&quot;./get_trace_color&quot;),s=t(&quot;../../components/color&quot;),l=t(&quot;./fill_hover_text&quot;),c=i.constants.MAXDIST;e.exports=function(t,e,r,u){var f=t.cd,h=f[0].trace,d=t.xa,p=t.ya,m=d.c2p(e),g=p.c2p(r),v=[m,g],y=h.hoveron||&quot;&quot;,x=-1!==h.mode.indexOf(&quot;markers&quot;)?3:.5;if(-1!==y.indexOf(&quot;points&quot;)){var b=function(t){var e=Math.max(3,t.mrc||0),r=1-1/e,n=Math.abs(d.c2p(t.x)-m);return n&lt;e?r*n/e:n-e+r},_=function(t){var e=Math.max(3,t.mrc||0),r=1-1/e,n=Math.abs(p.c2p(t.y)-g);return n&lt;e?r*n/e:n-e+r},w=function(t){var e=Math.max(x,t.mrc||0),r=d.c2p(t.x)-m,n=p.c2p(t.y)-g;return Math.max(Math.sqrt(r*r+n*n)-e,1-x/e)},M=i.getDistanceFunction(u,b,_,w);if(i.getClosest(f,M,t),!1!==t.index){var k=f[t.index],A=d.c2p(k.x,!0),T=p.c2p(k.y,!0),S=k.mrc||1;return n.extendFlat(t,{color:o(h,k),x0:A-S,x1:A+S,xLabelVal:k.x,y0:T-S,y1:T+S,yLabelVal:k.y,kink:Math.max(x,k.mrc||0)}),l(k,h,t),a.hoverInfo(k,h,t),[t]}}if(-1!==y.indexOf(&quot;fills&quot;)&amp;&amp;h._polygons){var E,L,C,z,D,I,P,O,F,R=h._polygons,N=[],j=!1,B=1/0,U=-1/0,V=1/0,q=-1/0;for(E=0;E&lt;R.length;E++)(C=R[E]).contains(v)&amp;&amp;(j=!j,N.push(C),V=Math.min(V,C.ymin),q=Math.max(q,C.ymax));if(j){var H=((V=Math.max(V,0))+(q=Math.min(q,p._length)))/2;for(E=0;E&lt;N.length;E++)for(z=N[E].pts,L=1;L&lt;z.length;L++)(O=z[L-1][1])&gt;H!=(F=z[L][1])&gt;=H&amp;&amp;(I=z[L-1][0],P=z[L][0],F-O&amp;&amp;(D=I+(P-I)*(H-O)/(F-O),B=Math.min(B,D),U=Math.max(U,D)));B=Math.max(B,0),U=Math.min(U,d._length);var G=s.defaultLine;return s.opacity(h.fillcolor)?G=h.fillcolor:s.opacity((h.line||{}).color)&amp;&amp;(G=h.line.color),n.extendFlat(t,{distance:c+10,x0:B,x1:U,y0:H,y1:H,color:G}),delete t.index,h.text&amp;&amp;!Array.isArray(h.text)?t.text=String(h.text):t.text=h.name,[t]}}}},{&quot;../../components/color&quot;:618,&quot;../../components/errorbars&quot;:649,&quot;../../components/fx&quot;:660,&quot;../../lib&quot;:743,&quot;./fill_hover_text&quot;:1074,&quot;./get_trace_color&quot;:1076}],1078:[function(t,e,r){&quot;use strict&quot;;var n={},i=t(&quot;./subtypes&quot;);n.hasLines=i.hasLines,n.hasMarkers=i.hasMarkers,n.hasText=i.hasText,n.isBubble=i.isBubble,n.attributes=t(&quot;./attributes&quot;),n.supplyDefaults=t(&quot;./defaults&quot;),n.cleanData=t(&quot;./clean_data&quot;),n.calc=t(&quot;./calc&quot;).calc,n.arraysToCalcdata=t(&quot;./arrays_to_calcdata&quot;),n.plot=t(&quot;./plot&quot;),n.colorbar=t(&quot;./colorbar&quot;),n.style=t(&quot;./style&quot;).style,n.hoverPoints=t(&quot;./hover&quot;),n.selectPoints=t(&quot;./select&quot;),n.animatable=!0,n.moduleType=&quot;trace&quot;,n.name=&quot;scatter&quot;,n.basePlotModule=t(&quot;../../plots/cartesian&quot;),n.categories=[&quot;cartesian&quot;,&quot;symbols&quot;,&quot;markerColorscale&quot;,&quot;errorBarsOK&quot;,&quot;showLegend&quot;,&quot;scatter-like&quot;],n.meta={},e.exports=n},{&quot;../../plots/cartesian&quot;:800,&quot;./arrays_to_calcdata&quot;:1065,&quot;./attributes&quot;:1066,&quot;./calc&quot;:1067,&quot;./clean_data&quot;:1069,&quot;./colorbar&quot;:1070,&quot;./defaults&quot;:1073,&quot;./hover&quot;:1077,&quot;./plot&quot;:1085,&quot;./select&quot;:1086,&quot;./style&quot;:1087,&quot;./subtypes&quot;:1088}],1079:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../components/colorscale/has_colorscale&quot;),i=t(&quot;../../components/colorscale/defaults&quot;);e.exports=function(t,e,r,a,o,s){var l=(t.marker||{}).color;if(o(&quot;line.color&quot;,r),n(t,&quot;line&quot;))i(t,e,a,o,{prefix:&quot;line.&quot;,cLetter:&quot;c&quot;});else{o(&quot;line.color&quot;,!Array.isArray(l)&amp;&amp;l||r)}o(&quot;line.width&quot;),(s||{}).noDash||o(&quot;line.dash&quot;)}},{&quot;../../components/colorscale/defaults&quot;:628,&quot;../../components/colorscale/has_colorscale&quot;:632}],1080:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../constants/numerical&quot;).BADNUM,i=t(&quot;../../lib&quot;),a=i.segmentsIntersect,o=i.constrain,s=t(&quot;./constants&quot;);e.exports=function(t,e){function r(e){var r=t[e],i=P.c2p(r.x),a=O.c2p(r.y);return i===n||a===n?r.intoCenter||!1:[i,a]}function l(t){var e=t[0]/P._length,r=t[1]/O._length;return(1+s.toleranceGrowth*Math.max(0,-e,e-1,-r,r-1))*N}function c(t,e){var r=t[0]-e[0],n=t[1]-e[1];return Math.sqrt(r*r+n*n)}function u(t,e){for(var r=[],n=0,i=0;i&lt;4;i++){var o=nt[i],s=a(t[0],t[1],e[0],e[1],o[0],o[1],o[2],o[3]);s&amp;&amp;(!n||Math.abs(s.x-r[0][0])&gt;1||Math.abs(s.y-r[0][1])&gt;1)&amp;&amp;(s=[s.x,s.y],n&amp;&amp;c(s,t)&lt;c(r[0],t)?r.unshift(s):r.push(s),n++)}return r}function f(t){if(t[0]&lt;$||t[0]&gt;tt||t[1]&lt;et||t[1]&gt;rt)return[o(t[0],$,tt),o(t[1],et,rt)]}function h(t,e){return t[0]===e[0]&amp;&amp;(t[0]===$||t[0]===tt)||(t[1]===e[1]&amp;&amp;(t[1]===et||t[1]===rt)||void 0)}function d(t,e){var r=[],n=f(t),i=f(e);return n&amp;&amp;i&amp;&amp;h(n,i)?r:(n&amp;&amp;r.push(n),i&amp;&amp;r.push(i),r)}function p(t,e,r){return function(n,a){var o=f(n),s=f(a),l=[];if(o&amp;&amp;s&amp;&amp;h(o,s))return l;o&amp;&amp;l.push(o),s&amp;&amp;l.push(s);var c=2*i.constrain((n[t]+a[t])/2,e,r)-((o||n)[t]+(s||a)[t]);if(c){(o&amp;&amp;s?c&gt;0==o[t]&gt;s[t]?o:s:o||s)[t]+=c}return l}}function m(t){var e=t[0],r=t[1],n=e===q[H-1][0],i=r===q[H-1][1];if(!n||!i)if(H&gt;1){var a=e===q[H-2][0],o=r===q[H-2][1];n&amp;&amp;(e===$||e===tt)&amp;&amp;a?o?H--:q[H-1]=t:i&amp;&amp;(r===et||r===rt)&amp;&amp;o?a?H--:q[H-1]=t:q[H++]=t}else q[H++]=t}function g(t){q[H-1][0]!==t[0]&amp;&amp;q[H-1][1]!==t[1]&amp;&amp;m([W,X]),m(t),Z=null,W=X=0}function v(t){if(G=t[0]&lt;$?$:t[0]&gt;tt?tt:0,Y=t[1]&lt;et?et:t[1]&gt;rt?rt:0,G||Y){if(H)if(Z){var e=K(Z,t);e.length&gt;1&amp;&amp;(g(e[0]),q[H++]=e[1])}else J=K(q[H-1],t)[0],q[H++]=J;else q[H++]=[G||t[0],Y||t[1]];var r=q[H-1];G&amp;&amp;Y&amp;&amp;(r[0]!==G||r[1]!==Y)?(Z&amp;&amp;(W!==G&amp;&amp;X!==Y?m(W&amp;&amp;X?function(t,e){var r=e[0]-t[0],n=(e[1]-t[1])/r;return(t[1]*e[0]-e[1]*t[0])/r&gt;0?[n&gt;0?$:tt,rt]:[n&gt;0?tt:$,et]}(Z,t):[W||G,X||Y]):W&amp;&amp;X&amp;&amp;m([W,X])),m([G,Y])):W-G&amp;&amp;X-Y&amp;&amp;m([G||W,Y||X]),Z=t,W=G,X=Y}else Z&amp;&amp;g(K(Z,t)[0]),q[H++]=t}var y,x,b,_,w,M,k,A,T,S,E,L,C,z,D,I,P=e.xaxis,O=e.yaxis,F=e.simplify,R=e.connectGaps,N=e.baseTolerance,j=e.shape,B=&quot;linear&quot;===j,U=[],V=s.minTolerance,q=new Array(t.length),H=0;F||(N=V=-1);var G,Y,W,X,Z,J,K,Q=s.maxScreensAway,$=-P._length*Q,tt=P._length*(1+Q),et=-O._length*Q,rt=O._length*(1+Q),nt=[[$,et,tt,et],[tt,et,tt,rt],[tt,rt,$,rt],[$,rt,$,et]];for(&quot;linear&quot;===j||&quot;spline&quot;===j?K=u:&quot;hv&quot;===j||&quot;vh&quot;===j?K=d:&quot;hvh&quot;===j?K=p(0,$,tt):&quot;vhv&quot;===j&amp;&amp;(K=p(1,et,rt)),y=0;y&lt;t.length;y++)if(x=r(y)){for(H=0,Z=null,v(x),y++;y&lt;t.length;y++){if(!(_=r(y))){if(R)continue;break}if(B){if(!((S=c(_,x))&lt;l(_)*V)){for(A=[(_[0]-x[0])/S,(_[1]-x[1])/S],w=x,E=S,L=z=D=0,k=!1,b=_,y++;y&lt;t.length;y++){if(!(M=r(y))){if(R)continue;break}if(T=[M[0]-x[0],M[1]-x[1]],I=T[0]*A[1]-T[1]*A[0],z=Math.min(z,I),(D=Math.max(D,I))-z&gt;l(M))break;b=M,(C=T[0]*A[0]+T[1]*A[1])&gt;E?(E=C,_=M,k=!1):C&lt;L&amp;&amp;(L=C,w=M,k=!0)}if(k?(v(_),b!==w&amp;&amp;v(w)):(w!==x&amp;&amp;v(w),b!==_&amp;&amp;v(_)),v(b),y&gt;=t.length||!M)break;v(M),x=M}}else v(_)}Z&amp;&amp;m([W||Z[0],X||Z[1]]),U.push(q.slice(0,H))}return U}},{&quot;../../constants/numerical&quot;:721,&quot;../../lib&quot;:743,&quot;./constants&quot;:1072}],1081:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t,e,r){&quot;spline&quot;===r(&quot;line.shape&quot;)&amp;&amp;r(&quot;line.smoothing&quot;)}},{}],1082:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t,e,r){var n,i,a=null;for(i=0;i&lt;r.length;++i)!0===(n=r[i][0].trace).visible?(n._nexttrace=null,-1!==[&quot;tonextx&quot;,&quot;tonexty&quot;,&quot;tonext&quot;].indexOf(n.fill)&amp;&amp;(n._prevtrace=a,a&amp;&amp;(a._nexttrace=n)),a=n):n._prevtrace=n._nexttrace=null}},{}],1083:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;fast-isnumeric&quot;);e.exports=function(t){var e=t.marker,r=e.sizeref||1,i=e.sizemin||0,a=&quot;area&quot;===e.sizemode?function(t){return Math.sqrt(t/r)}:function(t){return t/r};return function(t){var e=a(t/2);return n(e)&amp;&amp;e&gt;0?Math.max(e,i):0}}},{&quot;fast-isnumeric&quot;:140}],1084:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../components/color&quot;),i=t(&quot;../../components/colorscale/has_colorscale&quot;),a=t(&quot;../../components/colorscale/defaults&quot;),o=t(&quot;./subtypes&quot;);e.exports=function(t,e,r,s,l,c){var u=o.isBubble(t),f=(t.line||{}).color;if(c=c||{},f&amp;&amp;(r=f),l(&quot;marker.symbol&quot;),l(&quot;marker.opacity&quot;,u?.7:1),l(&quot;marker.size&quot;),l(&quot;marker.color&quot;,r),i(t,&quot;marker&quot;)&amp;&amp;a(t,e,s,l,{prefix:&quot;marker.&quot;,cLetter:&quot;c&quot;}),c.noSelect||(l(&quot;selected.marker.color&quot;),l(&quot;unselected.marker.color&quot;),l(&quot;selected.marker.size&quot;),l(&quot;unselected.marker.size&quot;)),c.noLine||(l(&quot;marker.line.color&quot;,f&amp;&amp;!Array.isArray(f)&amp;&amp;e.marker.color!==f?f:u?n.background:n.defaultLine),i(t,&quot;marker.line&quot;)&amp;&amp;a(t,e,s,l,{prefix:&quot;marker.line.&quot;,cLetter:&quot;c&quot;}),l(&quot;marker.line.width&quot;,u?1:0)),u&amp;&amp;(l(&quot;marker.sizeref&quot;),l(&quot;marker.sizemin&quot;),l(&quot;marker.sizemode&quot;)),c.gradient){&quot;none&quot;!==l(&quot;marker.gradient.type&quot;)&amp;&amp;l(&quot;marker.gradient.color&quot;)}}},{&quot;../../components/color&quot;:618,&quot;../../components/colorscale/defaults&quot;:628,&quot;../../components/colorscale/has_colorscale&quot;:632,&quot;./subtypes&quot;:1088}],1085:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,n,u,h,d){function p(t){return w?t.transition():t}function m(t){p(t).attr(&quot;d&quot;,&quot;M0,0Z&quot;)}function g(t){return t.filter(function(t){return t.vis})}function v(t){return t.id}function y(){return!1}function x(e){var n,s,c=e[0].trace,u=i.select(this),f=l.hasMarkers(c),h=l.hasText(c),d=function(t){if(t.ids)return v}(c),m=y,x=y;f&amp;&amp;(m=c.marker.maxdisplayed||c._needsCull?g:a.identity),h&amp;&amp;(x=c.marker.maxdisplayed||c._needsCull?g:a.identity);var b=(n=u.selectAll(&quot;path.point&quot;).data(m,d)).enter().append(&quot;path&quot;).classed(&quot;point&quot;,!0);w&amp;&amp;b.call(o.pointStyle,c,t).call(o.translatePoints,M,k).style(&quot;opacity&quot;,0).transition().style(&quot;opacity&quot;,1);var _=f&amp;&amp;o.tryColorscale(c.marker,&quot;&quot;),A=f&amp;&amp;o.tryColorscale(c.marker,&quot;line&quot;);n.order(),n.each(function(e){var n=i.select(this),a=p(n);(s=o.translatePoint(e,a,M,k))?(o.singlePointStyle(e,a,c,_,A,t),r.layerClipId&amp;&amp;o.hideOutsideRangePoint(e,a,M,k,c.xcalendar,c.ycalendar),c.customdata&amp;&amp;n.classed(&quot;plotly-customdata&quot;,null!==e.data&amp;&amp;void 0!==e.data)):a.remove()}),w?n.exit().transition().style(&quot;opacity&quot;,0).remove():n.exit().remove(),(n=u.selectAll(&quot;g&quot;).data(x,d)).enter().append(&quot;g&quot;).classed(&quot;textpoint&quot;,!0).append(&quot;text&quot;),n.order(),n.each(function(t){var e=i.select(this),n=p(e.select(&quot;text&quot;));(s=o.translatePoint(t,n,M,k))?r.layerClipId&amp;&amp;o.hideOutsideRangePoint(t,e,M,k,c.xcalendar,c.ycalendar):e.remove()}),n.selectAll(&quot;text&quot;).call(o.textPointStyle,c,t).each(function(t){var e=M.c2p(t.x),r=k.c2p(t.y);i.select(this).selectAll(&quot;tspan.line&quot;).each(function(){p(i.select(this)).attr({x:e,y:r})})}),n.exit().remove()}var b,_;!function(t,e,r,n,o){var s=r.xaxis,c=r.yaxis,u=i.extent(a.simpleMap(s.range,s.r2c)),f=i.extent(a.simpleMap(c.range,c.r2c)),h=n[0].trace;if(!l.hasMarkers(h))return;var d=h.marker.maxdisplayed;if(0===d)return;var p=n.filter(function(t){return t.x&gt;=u[0]&amp;&amp;t.x&lt;=u[1]&amp;&amp;t.y&gt;=f[0]&amp;&amp;t.y&lt;=f[1]}),m=Math.ceil(p.length/d),g=0;o.forEach(function(t,r){var n=t[0].trace;l.hasMarkers(n)&amp;&amp;n.marker.maxdisplayed&gt;0&amp;&amp;r&lt;e&amp;&amp;g++});var v=Math.round(g*m/3+Math.floor(g/3)*m/7.1);n.forEach(function(t){delete t.vis}),p.forEach(function(t,e){0===Math.round((e+v)%m)&amp;&amp;(t.vis=!0)})}(0,e,r,n,u);var w=!!d&amp;&amp;d.duration&gt;0,M=r.xaxis,k=r.yaxis,A=n[0].trace,T=A.line,S=i.select(h);if(S.call(s.plot,r,d),!0===A.visible){p(S).style(&quot;opacity&quot;,A.opacity);var E,L,C=A.fill.charAt(A.fill.length-1);&quot;x&quot;!==C&amp;&amp;&quot;y&quot;!==C&amp;&amp;(C=&quot;&quot;),n[0].node3=S;var z=&quot;&quot;,D=[],I=A._prevtrace;I&amp;&amp;(z=I._prevRevpath||&quot;&quot;,L=I._nextFill,D=I._polygons);var P,O,F,R,N,j,B,U,V,q=&quot;&quot;,H=&quot;&quot;,G=[],Y=a.noop;if(E=A._ownFill,l.hasLines(A)||&quot;none&quot;!==A.fill){for(L&amp;&amp;L.datum(n),-1!==[&quot;hv&quot;,&quot;vh&quot;,&quot;hvh&quot;,&quot;vhv&quot;].indexOf(T.shape)?(F=o.steps(T.shape),R=o.steps(T.shape.split(&quot;&quot;).reverse().join(&quot;&quot;))):F=R=&quot;spline&quot;===T.shape?function(t){var e=t[t.length-1];return t.length&gt;1&amp;&amp;t[0][0]===e[0]&amp;&amp;t[0][1]===e[1]?o.smoothclosed(t.slice(1),T.smoothing):o.smoothopen(t,T.smoothing)}:function(t){return&quot;M&quot;+t.join(&quot;L&quot;)},N=function(t){return R(t.reverse())},G=c(n,{xaxis:M,yaxis:k,connectGaps:A.connectgaps,baseTolerance:Math.max(T.width||1,3)/4,shape:T.shape,simplify:T.simplify}),V=A._polygons=new Array(G.length),_=0;_&lt;G.length;_++)A._polygons[_]=f(G[_]);G.length&amp;&amp;(j=G[0][0],U=(B=G[G.length-1])[B.length-1]),Y=function(t){return function(e){if(P=F(e),O=N(e),q?C?(q+=&quot;L&quot;+P.substr(1),H=O+&quot;L&quot;+H.substr(1)):(q+=&quot;Z&quot;+P,H=O+&quot;Z&quot;+H):(q=P,H=O),l.hasLines(A)&amp;&amp;e.length&gt;1){var r=i.select(this);if(r.datum(n),t)p(r.style(&quot;opacity&quot;,0).attr(&quot;d&quot;,P).call(o.lineGroupStyle)).style(&quot;opacity&quot;,1);else{var a=p(r);a.attr(&quot;d&quot;,P),o.singleLineStyle(n,a)}}}}}var W=S.selectAll(&quot;.js-line&quot;).data(G);p(W.exit()).style(&quot;opacity&quot;,0).remove(),W.each(Y(!1)),W.enter().append(&quot;path&quot;).classed(&quot;js-line&quot;,!0).style(&quot;vector-effect&quot;,&quot;non-scaling-stroke&quot;).call(o.lineGroupStyle).each(Y(!0)),o.setClipUrl(W,r.layerClipId),G.length?(E?j&amp;&amp;U&amp;&amp;(C?(&quot;y&quot;===C?j[1]=U[1]=k.c2p(0,!0):&quot;x&quot;===C&amp;&amp;(j[0]=U[0]=M.c2p(0,!0)),p(E).attr(&quot;d&quot;,&quot;M&quot;+U+&quot;L&quot;+j+&quot;L&quot;+q.substr(1)).call(o.singleFillStyle)):p(E).attr(&quot;d&quot;,q+&quot;Z&quot;).call(o.singleFillStyle)):L&amp;&amp;(&quot;tonext&quot;===A.fill.substr(0,6)&amp;&amp;q&amp;&amp;z?(&quot;tonext&quot;===A.fill?p(L).attr(&quot;d&quot;,q+&quot;Z&quot;+z+&quot;Z&quot;).call(o.singleFillStyle):p(L).attr(&quot;d&quot;,q+&quot;L&quot;+z.substr(1)+&quot;Z&quot;).call(o.singleFillStyle),A._polygons=A._polygons.concat(D)):(m(L),A._polygons=null)),A._prevRevpath=H,A._prevPolygons=V):(E?m(E):L&amp;&amp;m(L),A._polygons=A._prevRevpath=A._prevPolygons=null);var X=S.selectAll(&quot;.points&quot;);b=X.data([n]),X.each(x),b.enter().append(&quot;g&quot;).classed(&quot;points&quot;,!0).each(x),b.exit().remove(),b.each(function(t){var e=!1===t[0].trace.cliponaxis;o.setClipUrl(i.select(this),e?null:r.layerClipId)})}}var i=t(&quot;d3&quot;),a=t(&quot;../../lib&quot;),o=t(&quot;../../components/drawing&quot;),s=t(&quot;../../components/errorbars&quot;),l=t(&quot;./subtypes&quot;),c=t(&quot;./line_points&quot;),u=t(&quot;./link_traces&quot;),f=t(&quot;../../lib/polygon&quot;).tester;e.exports=function(t,e,r,a,s){var l,c,f,h,d=e.plot.select(&quot;g.scatterlayer&quot;),p=!a,m=!!a&amp;&amp;a.duration&gt;0;for((f=d.selectAll(&quot;g.trace&quot;).data(r,function(t){return t[0].trace.uid})).enter().append(&quot;g&quot;).attr(&quot;class&quot;,function(t){return&quot;trace scatter trace&quot;+t[0].trace.uid}).style(&quot;stroke-miterlimit&quot;,2),u(t,e,r),function(t,e,r){var n;e.selectAll(&quot;g.trace&quot;).each(function(t){var e=i.select(this);if((n=t[0].trace)._nexttrace){if(n._nextFill=e.select(&quot;.js-fill.js-tonext&quot;),!n._nextFill.size()){var a=&quot;:first-child&quot;;e.select(&quot;.js-fill.js-tozero&quot;).size()&amp;&amp;(a+=&quot; + *&quot;),n._nextFill=e.insert(&quot;path&quot;,a).attr(&quot;class&quot;,&quot;js-fill js-tonext&quot;)}}else e.selectAll(&quot;.js-fill.js-tonext&quot;).remove(),n._nextFill=null;n.fill&amp;&amp;(&quot;tozero&quot;===n.fill.substr(0,6)||&quot;toself&quot;===n.fill||&quot;to&quot;===n.fill.substr(0,2)&amp;&amp;!n._prevtrace)?(n._ownFill=e.select(&quot;.js-fill.js-tozero&quot;),n._ownFill.size()||(n._ownFill=e.insert(&quot;path&quot;,&quot;:first-child&quot;).attr(&quot;class&quot;,&quot;js-fill js-tozero&quot;))):(e.selectAll(&quot;.js-fill.js-tozero&quot;).remove(),n._ownFill=null),e.selectAll(&quot;.js-fill&quot;).call(o.setClipUrl,r.layerClipId)})}(0,d,e),l=0,c={};l&lt;r.length;l++)c[r[l][0].trace.uid]=l;if(d.selectAll(&quot;g.trace&quot;).sort(function(t,e){return c[t[0].trace.uid]&gt;c[e[0].trace.uid]?1:-1}),m){s&amp;&amp;(h=s());i.transition().duration(a.duration).ease(a.easing).each(&quot;end&quot;,function(){h&amp;&amp;h()}).each(&quot;interrupt&quot;,function(){h&amp;&amp;h()}).each(function(){d.selectAll(&quot;g.trace&quot;).each(function(i,o){n(t,o,e,i,r,this,a)})})}else d.selectAll(&quot;g.trace&quot;).each(function(i,o){n(t,o,e,i,r,this,a)});p&amp;&amp;f.exit().remove(),d.selectAll(&quot;path:not([d])&quot;).remove()}},{&quot;../../components/drawing&quot;:643,&quot;../../components/errorbars&quot;:649,&quot;../../lib&quot;:743,&quot;../../lib/polygon&quot;:755,&quot;./line_points&quot;:1080,&quot;./link_traces&quot;:1082,&quot;./subtypes&quot;:1088,d3:128}],1086:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;./subtypes&quot;);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)&amp;&amp;!n.hasText(f))return[];if(!1===e)for(r=0;r&lt;s.length;r++)s[r].selected=0;else for(r=0;r&lt;s.length;r++)i=s[r],a=l.c2p(i.x),o=c.c2p(i.y),e.contains([a,o])?(u.push({pointNumber:r,x:l.c2d(i.x),y:c.c2d(i.y)}),i.selected=1):i.selected=0;return u}},{&quot;./subtypes&quot;:1088}],1087:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r){var n=t.selectAll(&quot;path.point&quot;),i=t.selectAll(&quot;text&quot;);a.pointStyle(n,e,r),a.textPointStyle(i,e,r),a.selectedPointStyle(n,e),a.selectedTextStyle(i,e)}var i=t(&quot;d3&quot;),a=t(&quot;../../components/drawing&quot;),o=t(&quot;../../components/errorbars&quot;);e.exports={style:function(t,e){var r=e?e[0].node3:i.select(t).selectAll(&quot;g.trace.scatter&quot;);r.style(&quot;opacity&quot;,function(t){return t[0].trace.opacity}),r.selectAll(&quot;g.points&quot;).each(function(e){n(i.select(this),e.trace||e[0].trace,t)}),r.selectAll(&quot;g.trace path.js-line&quot;).call(a.lineGroupStyle),r.selectAll(&quot;g.trace path.js-fill&quot;).call(a.fillGroupStyle),r.call(o.style)},stylePoints:n}},{&quot;../../components/drawing&quot;:643,&quot;../../components/errorbars&quot;:649,d3:128}],1088:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib&quot;);e.exports={hasLines:function(t){return t.visible&amp;&amp;t.mode&amp;&amp;-1!==t.mode.indexOf(&quot;lines&quot;)},hasMarkers:function(t){return t.visible&amp;&amp;t.mode&amp;&amp;-1!==t.mode.indexOf(&quot;markers&quot;)},hasText:function(t){return t.visible&amp;&amp;t.mode&amp;&amp;-1!==t.mode.indexOf(&quot;text&quot;)},isBubble:function(t){return n.isPlainObject(t.marker)&amp;&amp;Array.isArray(t.marker.size)}}},{&quot;../../lib&quot;:743}],1089:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib&quot;);e.exports=function(t,e,r,i,a){a=a||{},i(&quot;textposition&quot;),n.coerceFont(i,&quot;textfont&quot;,r.font),a.noSelect||(i(&quot;selected.textfont.color&quot;),i(&quot;unselected.textfont.color&quot;))}},{&quot;../../lib&quot;:743}],1090:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../registry&quot;);e.exports=function(t,e,r,i){var a,o=i(&quot;x&quot;),s=i(&quot;y&quot;);if(n.getComponentMethod(&quot;calendars&quot;,&quot;handleTraceDefaults&quot;)(t,e,[&quot;x&quot;,&quot;y&quot;],r),o)s?((a=Math.min(o.length,s.length))&lt;o.length&amp;&amp;(e.x=o.slice(0,a)),a&lt;s.length&amp;&amp;(e.y=s.slice(0,a))):(a=o.length,i(&quot;y0&quot;),i(&quot;dy&quot;));else{if(!s)return 0;a=e.y.length,i(&quot;x0&quot;),i(&quot;dx&quot;)}return a}},{&quot;../../registry&quot;:873}],1091:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../scatter/attributes&quot;),i=t(&quot;../../components/colorscale/color_attributes&quot;),a=t(&quot;../../components/errorbars/attributes&quot;),o=t(&quot;../../constants/gl3d_dashes&quot;),s=t(&quot;../../constants/gl3d_markers&quot;),l=t(&quot;../../lib/extend&quot;).extendFlat,c=t(&quot;../../plot_api/edit_types&quot;).overrideAll,u=n.line,f=n.marker,h=f.line,d=e.exports=c({x:n.x,y:n.y,z:{valType:&quot;data_array&quot;},text:l({},n.text,{}),hovertext:l({},n.hovertext,{}),mode:l({},n.mode,{dflt:&quot;lines+markers&quot;}),surfaceaxis:{valType:&quot;enumerated&quot;,values:[-1,0,1,2],dflt:-1},surfacecolor:{valType:&quot;color&quot;},projection:{x:{show:{valType:&quot;boolean&quot;,dflt:!1},opacity:{valType:&quot;number&quot;,min:0,max:1,dflt:1},scale:{valType:&quot;number&quot;,min:0,max:10,dflt:2/3}},y:{show:{valType:&quot;boolean&quot;,dflt:!1},opacity:{valType:&quot;number&quot;,min:0,max:1,dflt:1},scale:{valType:&quot;number&quot;,min:0,max:10,dflt:2/3}},z:{show:{valType:&quot;boolean&quot;,dflt:!1},opacity:{valType:&quot;number&quot;,min:0,max:1,dflt:1},scale:{valType:&quot;number&quot;,min:0,max:10,dflt:2/3}}},connectgaps:n.connectgaps,line:l({width:u.width,dash:{valType:&quot;enumerated&quot;,values:Object.keys(o),dflt:&quot;solid&quot;},showscale:{valType:&quot;boolean&quot;,dflt:!1}},i(&quot;line&quot;)),marker:l({symbol:{valType:&quot;enumerated&quot;,values:Object.keys(s),dflt:&quot;circle&quot;,arrayOk:!0},size:l({},f.size,{dflt:8}),sizeref:f.sizeref,sizemin:f.sizemin,sizemode:f.sizemode,opacity:l({},f.opacity,{arrayOk:!1}),showscale:f.showscale,colorbar:f.colorbar,line:l({width:l({},h.width,{arrayOk:!1})},i(&quot;marker.line&quot;))},i(&quot;marker&quot;)),textposition:l({},n.textposition,{dflt:&quot;top center&quot;}),textfont:n.textfont,error_x:a,error_y:a,error_z:a},&quot;calc&quot;,&quot;nested&quot;);d.x.editType=d.y.editType=d.z.editType=&quot;calc+clearAxisTypes&quot;},{&quot;../../components/colorscale/color_attributes&quot;:626,&quot;../../components/errorbars/attributes&quot;:645,&quot;../../constants/gl3d_dashes&quot;:718,&quot;../../constants/gl3d_markers&quot;:719,&quot;../../lib/extend&quot;:732,&quot;../../plot_api/edit_types&quot;:773,&quot;../scatter/attributes&quot;:1066}],1092:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../scatter/arrays_to_calcdata&quot;),i=t(&quot;../scatter/colorscale_calc&quot;);e.exports=function(t,e){var r=[{x:!1,y:!1,trace:e,t:{}}];return n(r,e),i(e),r}},{&quot;../scatter/arrays_to_calcdata&quot;:1065,&quot;../scatter/colorscale_calc&quot;:1071}],1093:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r){if(!e||!e.visible)return null;for(var n=i(e),a=new Array(t.length),o=0;o&lt;t.length;o++){var s=n(+t[o],o);a[o]=[-s[0]*r,s[1]*r]}return a}var i=t(&quot;../../components/errorbars/compute_error&quot;);e.exports=function(t,e){var r=[n(t.x,t.error_x,e[0]),n(t.y,t.error_y,e[1]),n(t.z,t.error_z,e[2])],i=function(t){for(var e=0;e&lt;t.length;e++)if(t[e])return t[e].length;return 0}(r);if(0===i)return null;for(var a=new Array(i),o=0;o&lt;i;o++){for(var s=[[0,0,0],[0,0,0]],l=0;l&lt;3;l++)if(r[l])for(var c=0;c&lt;2;c++)s[c][l]=r[l][o][c];a[o]=s}return a}},{&quot;../../components/errorbars/compute_error&quot;:647}],1094:[function(t,e,r){&quot;use strict&quot;;function n(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=&quot;&quot;,this.dataPoints=[],this.axesBounds=[[-1/0,-1/0,-1/0],[1/0,1/0,1/0]],this.textLabels=null,this.data=null}function i(t,e){return e(4*t)}function a(t){return x[t]}function o(t,e,r,n,i){var a=null;if(Array.isArray(t)){a=[];for(var o=0;o&lt;e;o++)void 0===t[o]?a[o]=n:a[o]=r(t[o],i)}else a=r(t,p.identity);return a}function s(t,e){var r,n,s,l,c,u,f=[],h=t.fullSceneLayout,d=t.dataScale,y=h.xaxis,x=h.yaxis,_=h.zaxis,w=e.marker,M=e.line,k=e.x||[],A=e.y||[],T=e.z||[],S=k.length,E=e.xcalendar,L=e.ycalendar,C=e.zcalendar;for(n=0;n&lt;S;n++)s=y.d2l(k[n],0,E)*d[0],l=x.d2l(A[n],0,L)*d[1],c=_.d2l(T[n],0,C)*d[2],f[n]=[s,l,c];if(Array.isArray(e.text))u=e.text;else if(void 0!==e.text)for(u=new Array(S),n=0;n&lt;S;n++)u[n]=e.text;if(r={position:f,mode:e.mode,text:u},&quot;line&quot;in e&amp;&amp;(r.lineColor=g(M,1,S),r.lineWidth=M.width,r.lineDashes=M.dash),&quot;marker&quot;in e){var z=v(e);r.scatterColor=g(w,1,S),r.scatterSize=o(w.size,S,i,20,z),r.scatterMarker=o(w.symbol,S,a,&quot;\u25cf&quot;),r.scatterLineWidth=w.line.width,r.scatterLineColor=g(w.line,1,S),r.scatterAngle=0}&quot;textposition&quot;in e&amp;&amp;(r.textOffset=function(t){var e=[0,0];return Array.isArray(t)?[0,-1]:(t.indexOf(&quot;bottom&quot;)&gt;=0&amp;&amp;(e[1]+=1),t.indexOf(&quot;top&quot;)&gt;=0&amp;&amp;(e[1]-=1),t.indexOf(&quot;left&quot;)&gt;=0&amp;&amp;(e[0]-=1),t.indexOf(&quot;right&quot;)&gt;=0&amp;&amp;(e[0]+=1),e)}(e.textposition),r.textColor=g(e.textfont,1,S),r.textSize=o(e.textfont.size,S,p.identity,12),r.textFont=e.textfont.family,r.textAngle=0);var D=[&quot;x&quot;,&quot;y&quot;,&quot;z&quot;];for(r.project=[!1,!1,!1],r.projectScale=[1,1,1],r.projectOpacity=[1,1,1],n=0;n&lt;3;++n){var I=e.projection[D[n]];(r.project[n]=I.show)&amp;&amp;(r.projectOpacity[n]=I.opacity,r.projectScale[n]=I.scale)}r.errorBounds=b(e,d);var P=function(t){for(var e=[0,0,0],r=[[0,0,0],[0,0,0],[0,0,0]],n=[0,0,0],i=0;i&lt;3;i++){var a=t[i];a&amp;&amp;!1!==a.copy_zstyle&amp;&amp;(a=t[2]),a&amp;&amp;(e[i]=a.width/2,r[i]=m(a.color),n=a.thickness)}return{capSize:e,color:r,lineWidth:n}}([e.error_x,e.error_y,e.error_z]);return r.errorColor=P.color,r.errorLineWidth=P.lineWidth,r.errorCapSize=P.capSize,r.delaunayAxis=e.surfaceaxis,r.delaunayColor=m(e.surfacecolor),r}function l(t){if(Array.isArray(t)){var e=t[0];return Array.isArray(e)&amp;&amp;(t=e),&quot;rgb(&quot;+t.slice(0,3).map(function(t){return Math.round(255*t)})+&quot;)&quot;}return null}var c=t(&quot;gl-line3d&quot;),u=t(&quot;gl-scatter3d&quot;),f=t(&quot;gl-error3d&quot;),h=t(&quot;gl-mesh3d&quot;),d=t(&quot;delaunay-triangulate&quot;),p=t(&quot;../../lib&quot;),m=t(&quot;../../lib/str2rgbarray&quot;),g=t(&quot;../../lib/gl_format_color&quot;),v=t(&quot;../scatter/make_bubble_size_func&quot;),y=t(&quot;../../constants/gl3d_dashes&quot;),x=t(&quot;../../constants/gl3d_markers&quot;),b=t(&quot;./calc_errors&quot;),_=n.prototype;_.handlePick=function(t){if(t.object&amp;&amp;(t.object===this.linePlot||t.object===this.delaunayMesh||t.object===this.textMarkers||t.object===this.scatterPlot)){t.object.highlight&amp;&amp;t.object.highlight(null),this.scatterPlot&amp;&amp;(t.object=this.scatterPlot,this.scatterPlot.highlight(t.data)),this.textLabels?void 0!==this.textLabels[t.data.index]?t.textLabel=this.textLabels[t.data.index]:t.textLabel=this.textLabels:t.textLabel=&quot;&quot;;var e=t.index=t.data.index;return t.traceCoordinate=[this.data.x[e],this.data.y[e],this.data.z[e]],!0}},_.update=function(t){var e,r,n,i,a=this.scene.glplot.gl,o=y.solid;this.data=t;var p=s(this.scene,t);&quot;mode&quot;in p&amp;&amp;(this.mode=p.mode),&quot;lineDashes&quot;in p&amp;&amp;p.lineDashes in y&amp;&amp;(o=y[p.lineDashes]),this.color=l(p.scatterColor)||l(p.lineColor),this.dataPoints=p.position,e={gl:a,position:p.position,color:p.lineColor,lineWidth:p.lineWidth||1,dashes:o[0],dashScale:o[1],opacity:t.opacity,connectGaps:t.connectgaps},-1!==this.mode.indexOf(&quot;lines&quot;)?this.linePlot?this.linePlot.update(e):(this.linePlot=c(e),this.linePlot._trace=this,this.scene.glplot.add(this.linePlot)):this.linePlot&amp;&amp;(this.scene.glplot.remove(this.linePlot),this.linePlot.dispose(),this.linePlot=null);var m=t.opacity;if(t.marker&amp;&amp;t.marker.opacity&amp;&amp;(m*=t.marker.opacity),r={gl:a,position:p.position,color:p.scatterColor,size:p.scatterSize,glyph:p.scatterMarker,opacity:m,orthographic:!0,lineWidth:p.scatterLineWidth,lineColor:p.scatterLineColor,project:p.project,projectScale:p.projectScale,projectOpacity:p.projectOpacity},-1!==this.mode.indexOf(&quot;markers&quot;)?this.scatterPlot?this.scatterPlot.update(r):(this.scatterPlot=u(r),this.scatterPlot._trace=this,this.scatterPlot.highlightScale=1,this.scene.glplot.add(this.scatterPlot)):this.scatterPlot&amp;&amp;(this.scene.glplot.remove(this.scatterPlot),this.scatterPlot.dispose(),this.scatterPlot=null),i={gl:a,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(&quot;text&quot;)?this.textMarkers?this.textMarkers.update(i):(this.textMarkers=u(i),this.textMarkers._trace=this,this.textMarkers.highlightScale=1,this.scene.glplot.add(this.textMarkers)):this.textMarkers&amp;&amp;(this.scene.glplot.remove(this.textMarkers),this.textMarkers.dispose(),this.textMarkers=null),n={gl:a,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(n):(this.scene.glplot.remove(this.errorBars),this.errorBars.dispose(),this.errorBars=null):p.errorBounds&amp;&amp;(this.errorBars=f(n),this.errorBars._trace=this,this.scene.glplot.add(this.errorBars)),p.delaunayAxis&gt;=0){var g=function(t,e,r){var n,i=(r+1)%3,a=(r+2)%3,o=[],s=[];for(n=0;n&lt;t.length;++n){var l=t[n];!isNaN(l[i])&amp;&amp;isFinite(l[i])&amp;&amp;!isNaN(l[a])&amp;&amp;isFinite(l[a])&amp;&amp;(o.push([l[i],l[a]]),s.push(n))}var c=d(o);for(n=0;n&lt;c.length;++n)for(var u=c[n],f=0;f&lt;u.length;++f)u[f]=s[u[f]];return{positions:t,cells:c,meshColor:e}}(p.position,p.delaunayColor,p.delaunayAxis);g.opacity=t.opacity,this.delaunayMesh?this.delaunayMesh.update(g):(g.gl=a,this.delaunayMesh=h(g),this.delaunayMesh._trace=this,this.scene.glplot.add(this.delaunayMesh))}else this.delaunayMesh&amp;&amp;(this.scene.glplot.remove(this.delaunayMesh),this.delaunayMesh.dispose(),this.delaunayMesh=null)},_.dispose=function(){this.linePlot&amp;&amp;(this.scene.glplot.remove(this.linePlot),this.linePlot.dispose()),this.scatterPlot&amp;&amp;(this.scene.glplot.remove(this.scatterPlot),this.scatterPlot.dispose()),this.errorBars&amp;&amp;(this.scene.glplot.remove(this.errorBars),this.errorBars.dispose()),this.textMarkers&amp;&amp;(this.scene.glplot.remove(this.textMarkers),this.textMarkers.dispose()),this.delaunayMesh&amp;&amp;(this.scene.glplot.remove(this.delaunayMesh),this.delaunayMesh.dispose())},e.exports=function(t,e){var r=new n(t,e.uid);return r.update(e),r}},{&quot;../../constants/gl3d_dashes&quot;:718,&quot;../../constants/gl3d_markers&quot;:719,&quot;../../lib&quot;:743,&quot;../../lib/gl_format_color&quot;:739,&quot;../../lib/str2rgbarray&quot;:765,&quot;../scatter/make_bubble_size_func&quot;:1083,&quot;./calc_errors&quot;:1093,&quot;delaunay-triangulate&quot;:130,&quot;gl-error3d&quot;:168,&quot;gl-line3d&quot;:177,&quot;gl-mesh3d&quot;:210,&quot;gl-scatter3d&quot;:239}],1095:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../registry&quot;),i=t(&quot;../../lib&quot;),a=t(&quot;../scatter/subtypes&quot;),o=t(&quot;../scatter/marker_defaults&quot;),s=t(&quot;../scatter/line_defaults&quot;),l=t(&quot;../scatter/text_defaults&quot;),c=t(&quot;../../components/errorbars/defaults&quot;),u=t(&quot;./attributes&quot;);e.exports=function(t,e,r,f){function h(r,n){return i.coerce(t,e,u,r,n)}if(function(t,e,r,i){var a=0,o=r(&quot;x&quot;),s=r(&quot;y&quot;),l=r(&quot;z&quot;);return n.getComponentMethod(&quot;calendars&quot;,&quot;handleTraceDefaults&quot;)(t,e,[&quot;x&quot;,&quot;y&quot;,&quot;z&quot;],i),o&amp;&amp;s&amp;&amp;l&amp;&amp;((a=Math.min(o.length,s.length,l.length))&lt;o.length&amp;&amp;(e.x=o.slice(0,a)),a&lt;s.length&amp;&amp;(e.y=s.slice(0,a)),a&lt;l.length&amp;&amp;(e.z=l.slice(0,a))),a}(t,e,h,f)){h(&quot;text&quot;),h(&quot;hovertext&quot;),h(&quot;mode&quot;),a.hasLines(e)&amp;&amp;(h(&quot;connectgaps&quot;),s(t,e,r,f,h)),a.hasMarkers(e)&amp;&amp;o(t,e,r,f,h,{noSelect:!0}),a.hasText(e)&amp;&amp;l(t,e,f,h,{noSelect:!0});var d=(e.line||{}).color,p=(e.marker||{}).color;h(&quot;surfaceaxis&quot;)&gt;=0&amp;&amp;h(&quot;surfacecolor&quot;,d||p);for(var m=[&quot;x&quot;,&quot;y&quot;,&quot;z&quot;],g=0;g&lt;3;++g){var v=&quot;projection.&quot;+m[g];h(v+&quot;.show&quot;)&amp;&amp;(h(v+&quot;.opacity&quot;),h(v+&quot;.scale&quot;))}c(t,e,r,{axis:&quot;z&quot;}),c(t,e,r,{axis:&quot;y&quot;,inherit:&quot;z&quot;}),c(t,e,r,{axis:&quot;x&quot;,inherit:&quot;z&quot;})}else e.visible=!1}},{&quot;../../components/errorbars/defaults&quot;:648,&quot;../../lib&quot;:743,&quot;../../registry&quot;:873,&quot;../scatter/line_defaults&quot;:1079,&quot;../scatter/marker_defaults&quot;:1084,&quot;../scatter/subtypes&quot;:1088,&quot;../scatter/text_defaults&quot;:1089,&quot;./attributes&quot;:1091}],1096:[function(t,e,r){&quot;use strict&quot;;var n={};n.plot=t(&quot;./convert&quot;),n.attributes=t(&quot;./attributes&quot;),n.markerSymbols=t(&quot;../../constants/gl3d_markers&quot;),n.supplyDefaults=t(&quot;./defaults&quot;),n.colorbar=t(&quot;../scatter/colorbar&quot;),n.calc=t(&quot;./calc&quot;),n.moduleType=&quot;trace&quot;,n.name=&quot;scatter3d&quot;,n.basePlotModule=t(&quot;../../plots/gl3d&quot;),n.categories=[&quot;gl3d&quot;,&quot;symbols&quot;,&quot;markerColorscale&quot;,&quot;showLegend&quot;],n.meta={},e.exports=n},{&quot;../../constants/gl3d_markers&quot;:719,&quot;../../plots/gl3d&quot;:832,&quot;../scatter/colorbar&quot;:1070,&quot;./attributes&quot;:1091,&quot;./calc&quot;:1092,&quot;./convert&quot;:1094,&quot;./defaults&quot;:1095}],1097:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../scatter/attributes&quot;),i=t(&quot;../../plots/attributes&quot;),a=t(&quot;../../components/colorscale/color_attributes&quot;),o=t(&quot;../../components/colorbar/attributes&quot;),s=t(&quot;../../lib/extend&quot;).extendFlat,l=n.marker,c=n.line,u=l.line;e.exports={carpet:{valType:&quot;string&quot;,editType:&quot;calc&quot;},a:{valType:&quot;data_array&quot;,editType:&quot;calc&quot;},b:{valType:&quot;data_array&quot;,editType:&quot;calc&quot;},mode:s({},n.mode,{dflt:&quot;markers&quot;}),text:s({},n.text,{}),line:{color:c.color,width:c.width,dash:c.dash,shape:s({},c.shape,{values:[&quot;linear&quot;,&quot;spline&quot;]}),smoothing:c.smoothing,editType:&quot;calc&quot;},connectgaps:n.connectgaps,fill:s({},n.fill,{values:[&quot;none&quot;,&quot;toself&quot;,&quot;tonext&quot;]}),fillcolor:n.fillcolor,marker:s({symbol:l.symbol,opacity:l.opacity,maxdisplayed:l.maxdisplayed,size:l.size,sizeref:l.sizeref,sizemin:l.sizemin,sizemode:l.sizemode,line:s({width:u.width,editType:&quot;calc&quot;},a(&quot;marker&quot;.line)),gradient:l.gradient,editType:&quot;calc&quot;},a(&quot;marker&quot;),{showscale:l.showscale,colorbar:o}),textfont:n.textfont,textposition:n.textposition,selected:n.selected,unselected:n.unselected,hoverinfo:s({},i.hoverinfo,{flags:[&quot;a&quot;,&quot;b&quot;,&quot;text&quot;,&quot;name&quot;]}),hoveron:n.hoveron}},{&quot;../../components/colorbar/attributes&quot;:619,&quot;../../components/colorscale/color_attributes&quot;:626,&quot;../../lib/extend&quot;:732,&quot;../../plots/attributes&quot;:787,&quot;../scatter/attributes&quot;:1066}],1098:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;fast-isnumeric&quot;),i=t(&quot;../scatter/colorscale_calc&quot;),a=t(&quot;../scatter/arrays_to_calcdata&quot;),o=t(&quot;../scatter/calc_selection&quot;),s=t(&quot;../scatter/calc&quot;).calcMarkerSize,l=t(&quot;../carpet/lookup_carpetid&quot;);e.exports=function(t,e){var r=e.carpetTrace=l(t,e);if(r&amp;&amp;r.visible&amp;&amp;&quot;legendonly&quot;!==r.visible){var c;e.xaxis=r.xaxis,e.yaxis=r.yaxis;var u,f,h=e.a.length,d=new Array(h),p=!1;for(c=0;c&lt;h;c++)if(u=e.a[c],f=e.b[c],n(u)&amp;&amp;n(f)){var m=r.ab2xy(+u,+f,!0),g=r.isVisible(+u,+f);g||(p=!0),d[c]={x:m[0],y:m[1],a:u,b:f,vis:g}}else d[c]={x:!1,y:!1};return e._needsCull=p,d[0].carpet=r,d[0].trace=e,s(e,h),i(e),a(d,e),o(d,e),d}}},{&quot;../carpet/lookup_carpetid&quot;:931,&quot;../scatter/arrays_to_calcdata&quot;:1065,&quot;../scatter/calc&quot;:1067,&quot;../scatter/calc_selection&quot;:1068,&quot;../scatter/colorscale_calc&quot;:1071,&quot;fast-isnumeric&quot;:140}],1099:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib&quot;),i=t(&quot;../scatter/constants&quot;),a=t(&quot;../scatter/subtypes&quot;),o=t(&quot;../scatter/marker_defaults&quot;),s=t(&quot;../scatter/line_defaults&quot;),l=t(&quot;../scatter/line_shape_defaults&quot;),c=t(&quot;../scatter/text_defaults&quot;),u=t(&quot;../scatter/fillcolor_defaults&quot;),f=t(&quot;./attributes&quot;);e.exports=function(t,e,r,h){function d(r,i){return n.coerce(t,e,f,r,i)}d(&quot;carpet&quot;),e.xaxis=&quot;x&quot;,e.yaxis=&quot;y&quot;;var p,m=d(&quot;a&quot;),g=d(&quot;b&quot;);if(p=Math.min(m.length,g.length)){m&amp;&amp;p&lt;m.length&amp;&amp;(e.a=m.slice(0,p)),g&amp;&amp;p&lt;g.length&amp;&amp;(e.b=g.slice(0,p)),d(&quot;text&quot;);d(&quot;mode&quot;,p&lt;i.PTS_LINESONLY?&quot;lines+markers&quot;:&quot;lines&quot;),a.hasLines(e)&amp;&amp;(s(t,e,r,h,d),l(t,e,d),d(&quot;connectgaps&quot;)),a.hasMarkers(e)&amp;&amp;o(t,e,r,h,d,{gradient:!0}),a.hasText(e)&amp;&amp;c(t,e,h,d);var v=[];(a.hasMarkers(e)||a.hasText(e))&amp;&amp;(d(&quot;marker.maxdisplayed&quot;),v.push(&quot;points&quot;)),d(&quot;fill&quot;),&quot;none&quot;!==e.fill&amp;&amp;(u(t,e,r,d),a.hasLines(e)||l(t,e,d)),&quot;tonext&quot;!==e.fill&amp;&amp;&quot;toself&quot;!==e.fill||v.push(&quot;fills&quot;),d(&quot;hoveron&quot;,v.join(&quot;+&quot;)||&quot;points&quot;),n.coerceSelectionMarkerOpacity(e,d)}else e.visible=!1}},{&quot;../../lib&quot;:743,&quot;../scatter/constants&quot;:1072,&quot;../scatter/fillcolor_defaults&quot;:1075,&quot;../scatter/line_defaults&quot;:1079,&quot;../scatter/line_shape_defaults&quot;:1081,&quot;../scatter/marker_defaults&quot;:1084,&quot;../scatter/subtypes&quot;:1088,&quot;../scatter/text_defaults&quot;:1089,&quot;./attributes&quot;:1097}],1100:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t,e,r,n,i){var a=n[i];return t.a=a.a,t.b=a.b,t}},{}],1101:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../scatter/hover&quot;);e.exports=function(t,e,r,i){function a(t,e){var r;r=t.labelprefix&amp;&amp;t.labelprefix.length&gt;0?t.labelprefix.replace(/ = $/,&quot;&quot;):t._hovertitle,g.push(r+&quot;: &quot;+e.toFixed(3)+t.labelsuffix)}var o=n(t,e,r,i);if(o&amp;&amp;!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 d=s.trace,p=d._carpet,m=(h.hi||d.hoverinfo).split(&quot;+&quot;),g=[];-1!==m.indexOf(&quot;all&quot;)&amp;&amp;(m=[&quot;a&quot;,&quot;b&quot;]),-1!==m.indexOf(&quot;a&quot;)&amp;&amp;a(p.aaxis,h.a),-1!==m.indexOf(&quot;b&quot;)&amp;&amp;a(p.baxis,h.b);var v=p.ab2ij([h.a,h.b]),y=Math.floor(v[0]),x=v[0]-y,b=Math.floor(v[1]),_=v[1]-b,w=p.evalxy([],y,b,x,_);return g.push(&quot;y: &quot;+w[1].toFixed(3)),s.extraText=g.join(&quot;&lt;br&gt;&quot;),o}}},{&quot;../scatter/hover&quot;:1077}],1102:[function(t,e,r){&quot;use strict&quot;;var n={};n.attributes=t(&quot;./attributes&quot;),n.supplyDefaults=t(&quot;./defaults&quot;),n.colorbar=t(&quot;../scatter/colorbar&quot;),n.calc=t(&quot;./calc&quot;),n.plot=t(&quot;./plot&quot;),n.style=t(&quot;../scatter/style&quot;).style,n.hoverPoints=t(&quot;./hover&quot;),n.selectPoints=t(&quot;../scatter/select&quot;),n.eventData=t(&quot;./event_data&quot;),n.moduleType=&quot;trace&quot;,n.name=&quot;scattercarpet&quot;,n.basePlotModule=t(&quot;../../plots/cartesian&quot;),n.categories=[&quot;carpet&quot;,&quot;symbols&quot;,&quot;markerColorscale&quot;,&quot;showLegend&quot;,&quot;carpetDependent&quot;],n.meta={},e.exports=n},{&quot;../../plots/cartesian&quot;:800,&quot;../scatter/colorbar&quot;:1070,&quot;../scatter/select&quot;:1086,&quot;../scatter/style&quot;:1087,&quot;./attributes&quot;:1097,&quot;./calc&quot;:1098,&quot;./defaults&quot;:1099,&quot;./event_data&quot;:1100,&quot;./hover&quot;:1101,&quot;./plot&quot;:1103}],1103:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../scatter/plot&quot;),i=t(&quot;../../plots/cartesian/axes&quot;),a=t(&quot;../../components/drawing&quot;);e.exports=function(t,e,r){var o,s,l,c=r[0][0].carpet,u={xaxis:i.getFromId(t,c.xaxis||&quot;x&quot;),yaxis:i.getFromId(t,c.yaxis||&quot;y&quot;),plot:e.plot};for(n(t,u,r),o=0;o&lt;r.length;o++)s=r[o][0].trace,l=u.plot.selectAll(&quot;g.trace&quot;+s.uid+&quot; .js-line&quot;),a.setClipUrl(l,c._clipPathId)}},{&quot;../../components/drawing&quot;:643,&quot;../../plots/cartesian/axes&quot;:789,&quot;../scatter/plot&quot;:1085}],1104:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../scatter/attributes&quot;),i=t(&quot;../../plots/attributes&quot;),a=t(&quot;../../components/colorscale/color_attributes&quot;),o=t(&quot;../../components/drawing/attributes&quot;).dash,s=t(&quot;../../lib/extend&quot;).extendFlat,l=t(&quot;../../plot_api/edit_types&quot;).overrideAll,c=n.marker,u=n.line,f=c.line;e.exports=l({lon:{valType:&quot;data_array&quot;},lat:{valType:&quot;data_array&quot;},locations:{valType:&quot;data_array&quot;},locationmode:{valType:&quot;enumerated&quot;,values:[&quot;ISO-3&quot;,&quot;USA-states&quot;,&quot;country names&quot;],dflt:&quot;ISO-3&quot;},mode:s({},n.mode,{dflt:&quot;markers&quot;}),text:s({},n.text,{}),hovertext:s({},n.hovertext,{}),textfont:n.textfont,textposition:n.textposition,line:{color:u.color,width:u.width,dash:o},connectgaps:n.connectgaps,marker:s({symbol:c.symbol,opacity:c.opacity,size:c.size,sizeref:c.sizeref,sizemin:c.sizemin,sizemode:c.sizemode,showscale:c.showscale,colorbar:c.colorbar,line:s({width:f.width},a(&quot;marker.line&quot;)),gradient:c.gradient},a(&quot;marker&quot;)),fill:{valType:&quot;enumerated&quot;,values:[&quot;none&quot;,&quot;toself&quot;],dflt:&quot;none&quot;},fillcolor:n.fillcolor,selected:n.selected,unselected:n.unselected,hoverinfo:s({},i.hoverinfo,{flags:[&quot;lon&quot;,&quot;lat&quot;,&quot;location&quot;,&quot;text&quot;,&quot;name&quot;]})},&quot;calc&quot;,&quot;nested&quot;)},{&quot;../../components/colorscale/color_attributes&quot;:626,&quot;../../components/drawing/attributes&quot;:642,&quot;../../lib/extend&quot;:732,&quot;../../plot_api/edit_types&quot;:773,&quot;../../plots/attributes&quot;:787,&quot;../scatter/attributes&quot;:1066}],1105:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;fast-isnumeric&quot;),i=t(&quot;../../constants/numerical&quot;).BADNUM,a=t(&quot;../scatter/colorscale_calc&quot;),o=t(&quot;../scatter/arrays_to_calcdata&quot;),s=t(&quot;../scatter/calc_selection&quot;),l=t(&quot;../../lib&quot;)._;e.exports=function(t,e){for(var r=Array.isArray(e.locations),c=r?e.locations.length:e.lon.length,u=new Array(c),f=0;f&lt;c;f++){var h=u[f]={};if(r){var d=e.locations[f];h.loc=&quot;string&quot;==typeof d?d:null}else{var p=e.lon[f],m=e.lat[f];n(p)&amp;&amp;n(m)?h.lonlat=[+p,+m]:h.lonlat=[i,i]}}return o(u,e),a(e),s(u,e),c&amp;&amp;(u[0].t={labels:{lat:l(t,&quot;lat:&quot;)+&quot; &quot;,lon:l(t,&quot;lon:&quot;)+&quot; &quot;}}),u}},{&quot;../../constants/numerical&quot;:721,&quot;../../lib&quot;:743,&quot;../scatter/arrays_to_calcdata&quot;:1065,&quot;../scatter/calc_selection&quot;:1068,&quot;../scatter/colorscale_calc&quot;:1071,&quot;fast-isnumeric&quot;:140}],1106:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib&quot;),i=t(&quot;../scatter/subtypes&quot;),a=t(&quot;../scatter/marker_defaults&quot;),o=t(&quot;../scatter/line_defaults&quot;),s=t(&quot;../scatter/text_defaults&quot;),l=t(&quot;../scatter/fillcolor_defaults&quot;),c=t(&quot;./attributes&quot;);e.exports=function(t,e,r,u){function f(r,i){return n.coerce(t,e,c,r,i)}!function(t,e,r){var n,i,a=0,o=r(&quot;locations&quot;);return o?(r(&quot;locationmode&quot;),a=o.length):(n=r(&quot;lon&quot;)||[],i=r(&quot;lat&quot;)||[],(a=Math.min(n.length,i.length))&lt;n.length&amp;&amp;(e.lon=n.slice(0,a)),a&lt;i.length&amp;&amp;(e.lat=i.slice(0,a)),a)}(0,e,f)?e.visible=!1:(f(&quot;text&quot;),f(&quot;hovertext&quot;),f(&quot;mode&quot;),i.hasLines(e)&amp;&amp;(o(t,e,r,u,f),f(&quot;connectgaps&quot;)),i.hasMarkers(e)&amp;&amp;a(t,e,r,u,f,{gradient:!0}),i.hasText(e)&amp;&amp;s(t,e,u,f),f(&quot;fill&quot;),&quot;none&quot;!==e.fill&amp;&amp;l(t,e,r,f))}},{&quot;../../lib&quot;:743,&quot;../scatter/fillcolor_defaults&quot;:1075,&quot;../scatter/line_defaults&quot;:1079,&quot;../scatter/marker_defaults&quot;:1084,&quot;../scatter/subtypes&quot;:1088,&quot;../scatter/text_defaults&quot;:1089,&quot;./attributes&quot;:1104}],1107:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t,e){return t.lon=e.lon,t.lat=e.lat,t.location=e.loc?e.loc:null,t}},{}],1108:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../components/fx&quot;),i=t(&quot;../../plots/cartesian/axes&quot;),a=t(&quot;../../constants/numerical&quot;).BADNUM,o=t(&quot;../scatter/get_trace_color&quot;),s=t(&quot;../scatter/fill_hover_text&quot;),l=t(&quot;./attributes&quot;);e.exports=function(t,e,r){var c=t.cd,u=c[0].trace,f=t.xa,h=t.ya,d=t.subplot,p=d.projection.isLonLatOverEdges,m=d.project;if(n.getClosest(c,function(t){var n=t.lonlat;if(n[0]===a)return 1/0;if(p(n))return 1/0;var i=m(n),o=m([e,r]),s=Math.abs(i[0]-o[0]),l=Math.abs(i[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 g=c[t.index],v=g.lonlat,y=[f.c2p(v),h.c2p(v)],x=g.mrc||1;return t.x0=y[0]-x,t.x1=y[0]+x,t.y0=y[1]-x,t.y1=y[1]+x,t.loc=g.loc,t.lon=v[0],t.lat=v[1],t.color=o(u,g),t.extraText=function(t,e,r,n){function a(t){return i.tickText(r,r.c2l(t),&quot;hover&quot;).text+&quot;\xb0&quot;}var o=e.hi||t.hoverinfo,c=&quot;all&quot;===o?l.hoverinfo.flags:o.split(&quot;+&quot;),u=-1!==c.indexOf(&quot;location&quot;)&amp;&amp;Array.isArray(t.locations),f=-1!==c.indexOf(&quot;lon&quot;),h=-1!==c.indexOf(&quot;lat&quot;),d=-1!==c.indexOf(&quot;text&quot;),p=[];return u?p.push(e.loc):f&amp;&amp;h?p.push(&quot;(&quot;+a(e.lonlat[0])+&quot;, &quot;+a(e.lonlat[1])+&quot;)&quot;):f?p.push(n.lon+a(e.lonlat[0])):h&amp;&amp;p.push(n.lat+a(e.lonlat[1])),d&amp;&amp;s(e,t,p),p.join(&quot;&lt;br&gt;&quot;)}(u,g,d.mockAxis,c[0].t.labels),[t]}}},{&quot;../../components/fx&quot;:660,&quot;../../constants/numerical&quot;:721,&quot;../../plots/cartesian/axes&quot;:789,&quot;../scatter/fill_hover_text&quot;:1074,&quot;../scatter/get_trace_color&quot;:1076,&quot;./attributes&quot;:1104}],1109:[function(t,e,r){&quot;use strict&quot;;var n={};n.attributes=t(&quot;./attributes&quot;),n.supplyDefaults=t(&quot;./defaults&quot;),n.colorbar=t(&quot;../scatter/colorbar&quot;),n.calc=t(&quot;./calc&quot;),n.plot=t(&quot;./plot&quot;),n.style=t(&quot;./style&quot;),n.hoverPoints=t(&quot;./hover&quot;),n.eventData=t(&quot;./event_data&quot;),n.selectPoints=t(&quot;./select&quot;),n.moduleType=&quot;trace&quot;,n.name=&quot;scattergeo&quot;,n.basePlotModule=t(&quot;../../plots/geo&quot;),n.categories=[&quot;geo&quot;,&quot;symbols&quot;,&quot;markerColorscale&quot;,&quot;showLegend&quot;,&quot;scatter-like&quot;],n.meta={},e.exports=n},{&quot;../../plots/geo&quot;:820,&quot;../scatter/colorbar&quot;:1070,&quot;./attributes&quot;:1104,&quot;./calc&quot;:1105,&quot;./defaults&quot;:1106,&quot;./event_data&quot;:1107,&quot;./hover&quot;:1108,&quot;./plot&quot;:1110,&quot;./select&quot;:1111,&quot;./style&quot;:1112}],1110:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;d3&quot;),i=t(&quot;../../lib&quot;),a=t(&quot;../../constants/numerical&quot;).BADNUM,o=t(&quot;../../lib/topojson_utils&quot;).getTopojsonFeatures,s=t(&quot;../../lib/geo_location_utils&quot;).locationToFeature,l=t(&quot;../../lib/geojson_utils&quot;),c=t(&quot;../scatter/subtypes&quot;),u=t(&quot;./style&quot;);e.exports=function(t,e,r){function f(t,e){t.lonlat[0]===a&amp;&amp;n.select(e).remove()}for(var h=0;h&lt;r.length;h++)!function(t,e){var r=t[0].trace;if(Array.isArray(r.locations))for(var n=o(r,e),i=r.locationmode,l=0;l&lt;t.length;l++){var c=t[l],u=s(i,c.loc,n);c.lonlat=u?u.properties.ct:[a,a]}}(r[h],e.topojson);var d=e.layers.frontplot.select(&quot;.scatterlayer&quot;).selectAll(&quot;g.trace.scattergeo&quot;).data(r,function(t){return t[0].trace.uid});d.enter().append(&quot;g&quot;).attr(&quot;class&quot;,&quot;trace scattergeo&quot;),d.exit().remove(),d.selectAll(&quot;*&quot;).remove(),d.each(function(e){var r=e[0].node3=n.select(this),a=e[0].trace;if(c.hasLines(a)||&quot;none&quot;!==a.fill){var o=l.calcTraceToLineCoords(e),s=&quot;none&quot;!==a.fill?l.makePolygon(o):l.makeLine(o);r.selectAll(&quot;path.js-line&quot;).data([{geojson:s,trace:a}]).enter().append(&quot;path&quot;).classed(&quot;js-line&quot;,!0).style(&quot;stroke-miterlimit&quot;,2)}c.hasMarkers(a)&amp;&amp;r.selectAll(&quot;path.point&quot;).data(i.identity).enter().append(&quot;path&quot;).classed(&quot;point&quot;,!0).each(function(t){f(t,this)}),c.hasText(a)&amp;&amp;r.selectAll(&quot;g&quot;).data(i.identity).enter().append(&quot;g&quot;).append(&quot;text&quot;).each(function(t){f(t,this)}),u(t,e)})}},{&quot;../../constants/numerical&quot;:721,&quot;../../lib&quot;:743,&quot;../../lib/geo_location_utils&quot;:735,&quot;../../lib/geojson_utils&quot;:736,&quot;../../lib/topojson_utils&quot;:769,&quot;../scatter/subtypes&quot;:1088,&quot;./style&quot;:1112,d3:128}],1111:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../scatter/subtypes&quot;);e.exports=function(t,e){var r,i,a,o,s,l=t.cd,c=t.xaxis,u=t.yaxis,f=[],h=l[0].trace;if(!n.hasMarkers(h)&amp;&amp;!n.hasText(h))return[];if(!1===e)for(s=0;s&lt;l.length;s++)l[s].selected=0;else for(s=0;s&lt;l.length;s++)i=(r=l[s]).lonlat,a=c.c2p(i),o=u.c2p(i),e.contains([a,o])?(f.push({pointNumber:s,lon:i[0],lat:i[1]}),r.selected=1):r.selected=0;return f}},{&quot;../scatter/subtypes&quot;:1088}],1112:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;d3&quot;),i=t(&quot;../../components/drawing&quot;),a=t(&quot;../../components/color&quot;),o=t(&quot;../scatter/style&quot;).stylePoints;e.exports=function(t,e){e&amp;&amp;function(t,e){var r=e[0].trace,s=e[0].node3;s.style(&quot;opacity&quot;,e[0].trace.opacity),o(s,r,t),s.selectAll(&quot;path.js-line&quot;).style(&quot;fill&quot;,&quot;none&quot;).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||&quot;&quot;,o.width||0),&quot;none&quot;!==r.fill&amp;&amp;e.call(a.fill,r.fillcolor)})}(t,e)}},{&quot;../../components/color&quot;:618,&quot;../../components/drawing&quot;:643,&quot;../scatter/style&quot;:1087,d3:128}],1113:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../scatter/attributes&quot;),i=t(&quot;../../components/colorscale/color_attributes&quot;),a=t(&quot;../../constants/gl2d_dashes&quot;),o=t(&quot;../../lib/extend&quot;).extendFlat,s=t(&quot;../../plot_api/edit_types&quot;).overrideAll,l=n.line,c=n.marker,u=c.line,f=e.exports=s({x:n.x,x0:n.x0,dx:n.dx,y:n.y,y0:n.y0,dy:n.dy,text:o({},n.text,{}),mode:{valType:&quot;flaglist&quot;,flags:[&quot;lines&quot;,&quot;markers&quot;],extras:[&quot;none&quot;]},line:{color:l.color,width:l.width,dash:{valType:&quot;enumerated&quot;,values:Object.keys(a),dflt:&quot;solid&quot;}},marker:o({},i(&quot;marker&quot;),{symbol:c.symbol,size:c.size,sizeref:c.sizeref,sizemin:c.sizemin,sizemode:c.sizemode,opacity:c.opacity,showscale:c.showscale,colorbar:c.colorbar,line:o({},i(&quot;marker.line&quot;),{width:u.width})}),connectgaps:n.connectgaps,fill:n.fill,fillcolor:n.fillcolor,hoveron:n.hoveron,selected:{marker:n.selected.marker},unselected:{marker:n.unselected.marker},error_y:n.error_y,error_x:n.error_x},&quot;calc&quot;,&quot;nested&quot;);f.x.editType=f.y.editType=f.x0.editType=f.y0.editType=&quot;calc+clearAxisTypes&quot;},{&quot;../../components/colorscale/color_attributes&quot;:626,&quot;../../constants/gl2d_dashes&quot;:717,&quot;../../lib/extend&quot;:732,&quot;../../plot_api/edit_types&quot;:773,&quot;../scatter/attributes&quot;:1066}],1114:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib&quot;),i=t(&quot;../scatter/constants&quot;),a=t(&quot;../scatter/subtypes&quot;),o=t(&quot;../scatter/xy_defaults&quot;),s=t(&quot;../scatter/marker_defaults&quot;),l=t(&quot;../scatter/line_defaults&quot;),c=t(&quot;../scatter/fillcolor_defaults&quot;),u=t(&quot;../../components/errorbars/defaults&quot;),f=t(&quot;./attributes&quot;);e.exports=function(t,e,r,h){function d(r,i){return n.coerce(t,e,f,r,i)}var p=!!t.marker&amp;&amp;/-open/.test(t.marker.symbol),m=a.isBubble(t),g=o(t,e,h,d);if(g){d(&quot;text&quot;),d(&quot;mode&quot;,g&lt;i.PTS_LINESONLY?&quot;lines+markers&quot;:&quot;lines&quot;),a.hasLines(e)&amp;&amp;(d(&quot;connectgaps&quot;),l(t,e,r,h,d));var v=[];a.hasMarkers(e)&amp;&amp;(s(t,e,r,h,d),d(&quot;marker.line.width&quot;,p||m?1:0),v.push(&quot;points&quot;)),d(&quot;fill&quot;),&quot;none&quot;!==e.fill&amp;&amp;c(t,e,r,d),&quot;tonext&quot;!==e.fill&amp;&amp;&quot;toself&quot;!==e.fill||v.push(&quot;fills&quot;),d(&quot;hoveron&quot;,v.join(&quot;+&quot;)||&quot;points&quot;),u(t,e,r,{axis:&quot;y&quot;}),u(t,e,r,{axis:&quot;x&quot;,inherit:&quot;y&quot;}),n.coerceSelectionMarkerOpacity(e,d)}else e.visible=!1}},{&quot;../../components/errorbars/defaults&quot;:648,&quot;../../lib&quot;:743,&quot;../scatter/constants&quot;:1072,&quot;../scatter/fillcolor_defaults&quot;:1075,&quot;../scatter/line_defaults&quot;:1079,&quot;../scatter/marker_defaults&quot;:1084,&quot;../scatter/subtypes&quot;:1088,&quot;../scatter/xy_defaults&quot;:1090,&quot;./attributes&quot;:1113}],1115:[function(t,e,r){(function(r){&quot;use strict&quot;;function n(t,e,r,n){function i(t){var e,n,i,o={},s=Array.isArray(t.symbol);if(s||(n=/-open/.test(t.symbol)),s||Array.isArray(t.color)||Array.isArray(t.line.color)||Array.isArray(t.line)||Array.isArray(t.opacity)){o.colors=new Array(_),o.borderColors=new Array(_);var l=y(t,t.opacity,_),c=y(t.line,t.opacity,_);if(!Array.isArray(c[0])){var u=c;for(c=Array(_),e=0;e&lt;_;e++)c[e]=u}if(!Array.isArray(l[0])){var f=l;for(l=Array(_),e=0;e&lt;_;e++)l[e]=f}for(o.colors=l,o.borderColors=c,e=0;e&lt;_;e++)s&amp;&amp;(i=t.symbol[e],n=/-open/.test(i)),n&amp;&amp;(c[e]=l[e].slice(),l[e]=l[e].slice(),l[e][3]=0);o.opacity=r.opacity}else n?(o.color=M(t.color,&quot;uint8&quot;),o.color[3]=0,o.borderColor=M(t.color,&quot;uint8&quot;)):(o.color=M(t.color,&quot;uint8&quot;),o.borderColor=M(t.line.color,&quot;uint8&quot;)),o.opacity=r.opacity*t.opacity;if(Array.isArray(t.symbol))for(o.markers=new Array(_),e=0;e&lt;_;++e)o.markers[e]=a(t.symbol[e]);else o.marker=a(t.symbol);var h,d,p=t&amp;&amp;(Array.isArray(t.size)||Array.isArray(t.line.width)),m=g(r);if(p){d=o.sizes=new Array(_);var v=o.borderSizes=new Array(_);if(Array.isArray(t.size))for(e=0;e&lt;_;++e)d[e]=m(t.size[e]);else for(h=m(t.size),e=0;e&lt;_;++e)d[e]=h;if(Array.isArray(t.line.width))for(e=0;e&lt;_;++e)v[e]=m(t.line.width[e]);else for(h=m(t.line.width),e=0;e&lt;_;++e)v[e]=h}else h=o.size=m(t&amp;&amp;t.size||10),o.borderSizes=m(t.line.width);return o}var o,s,f,h,p,m,x,b=t._fullLayout,_=n.length/2,w=r.marker,k=0,A=0,T=u.getFromId(t,r.xaxis),S=u.getFromId(t,r.yaxis);!0!==r.visible?(s=!1,f=!1,h=!1,m=!1,x=!1):(s=d.hasLines(r)&amp;&amp;n.length&gt;1,f=r.error_x&amp;&amp;!0===r.error_x.visible,h=r.error_y&amp;&amp;!0===r.error_y.visible,p=f||h,m=d.hasMarkers(r),x=!!r.fill&amp;&amp;&quot;none&quot;!==r.fill);var E,L,C,z,D,I,O,F,R=p?l.calcFromTrace(r,b):null;if(f){(C={}).positions=n;var N=new Float64Array(4*_);if(&quot;log&quot;===T.type)for(o=0;o&lt;_;++o)N[k++]=n[2*o]-T.d2l(R[o].xs)||0,N[k++]=T.d2l(R[o].xh)-n[2*o]||0,N[k++]=0,N[k++]=0;else for(o=0;o&lt;_;++o)N[k++]=n[2*o]-R[o].xs||0,N[k++]=R[o].xh-n[2*o]||0,N[k++]=0,N[k++]=0;r.error_x.copy_ystyle&amp;&amp;(r.error_x=r.error_y),C.errors=N,C.capSize=2*r.error_x.width,C.lineWidth=r.error_x.thickness,C.color=r.error_x.color}if(h){(z={}).positions=n;var j=new Float64Array(4*_);if(&quot;log&quot;===S.type)for(o=0;o&lt;_;++o)j[A++]=0,j[A++]=0,j[A++]=n[2*o+1]-S.d2l(R[o].ys)||0,j[A++]=S.d2l(R[o].yh)-n[2*o+1]||0;else for(o=0;o&lt;_;++o)j[A++]=0,j[A++]=0,j[A++]=n[2*o+1]-R[o].ys||0,j[A++]=R[o].yh-n[2*o+1]||0;z.errors=j,z.capSize=2*r.error_y.width,z.lineWidth=r.error_y.thickness,z.color=r.error_y.color}if(s){(E={}).thickness=r.line.width,E.color=r.line.color,E.opacity=r.opacity,E.overlay=!0;var B=(v[r.line.dash]||[1]).slice();for(o=0;o&lt;B.length;++o)B[o]*=E.thickness;if(E.dashes=B,&quot;hv&quot;===r.line.shape){for(F=[],o=0;o&lt;Math.floor(n.length/2)-1;o++)isNaN(n[2*o])||isNaN(n[2*o+1])?(F.push(NaN),F.push(NaN),F.push(NaN),F.push(NaN)):(F.push(n[2*o]),F.push(n[2*o+1]),F.push(n[2*o+2]),F.push(n[2*o+1]));F.push(n[n.length-2]),F.push(n[n.length-1])}else if(&quot;vh&quot;===r.line.shape){for(F=[],o=0;o&lt;Math.floor(n.length/2)-1;o++)isNaN(n[2*o])||isNaN(n[2*o+1])?(F.push(NaN),F.push(NaN),F.push(NaN),F.push(NaN)):(F.push(n[2*o]),F.push(n[2*o+1]),F.push(n[2*o]),F.push(n[2*o+3]));F.push(n[n.length-2]),F.push(n[n.length-1])}else F=n;var U=!1;for(o=0;o&lt;F.length;o++)if(isNaN(F[o])){U=!0;break}if(E.join=U||F.length&gt;P?&quot;rect&quot;:m?&quot;rect&quot;:&quot;round&quot;,U&amp;&amp;r.connectgaps){var V=F[0],q=F[1];for(o=0;o&lt;F.length;o+=2)isNaN(F[o])||isNaN(F[o+1])?(F[o]=V,F[o+1]=q):(V=F[o],q=F[o+1])}E.positions=F}return x&amp;&amp;((D={}).fill=r.fillcolor,D.thickness=0,D.closed=!0),m&amp;&amp;(L=i(w),I=r.selected?i(c({},w,r.selected.marker)):L,O=r.unselected?i(c({},w,r.unselected.marker)):L,L.positions=n),{line:E,marker:L,errorX:C,errorY:z,fill:D,selected:I,unselected:O}}function i(t,e){var r=e._scene,n=t._fullLayout;return e._scene||((r=e._scene={count:0,dirty:!0,lineOptions:[],fillOptions:[],markerOptions:[],selectedOptions:[],unselectedOptions:[],errorXOptions:[],errorYOptions:[],selectBatch:null,unselectBatch:null,fill2d:!1,scatter2d:!1,error2d:!1,line2d:!1,select2d:null}).update=function(t){for(var e=Array(r.count),n=0;n&lt;r.count;n++)e[n]=t;r.fill2d&amp;&amp;r.fill2d.update(e),r.scatter2d&amp;&amp;r.scatter2d.update(e),r.line2d&amp;&amp;r.line2d.update(e),r.error2d&amp;&amp;r.error2d.update(e.concat(e)),r.select2d&amp;&amp;r.select2d.update(e),r.draw()},r.draw=function(){var t;for(t=0;t&lt;r.count;t++)r.fill2d&amp;&amp;r.fill2d.draw(t);for(t=0;t&lt;r.count;t++)r.line2d&amp;&amp;r.line2d.draw(t),r.error2d&amp;&amp;(r.error2d.draw(t),r.error2d.draw(t+r.count)),r.scatter2d&amp;&amp;!r.selectBatch&amp;&amp;r.scatter2d.draw(t);r.select2d&amp;&amp;r.selectBatch&amp;&amp;(r.select2d.draw(r.selectBatch),r.scatter2d.draw(r.unselectBatch)),r.dirty=!1},r.clear=function(){var t,i,a=n._size,o=n.width,s=n.height,l=e.xaxis,c=e.yaxis;t=l&amp;&amp;l.domain&amp;&amp;c&amp;&amp;c.domain?[a.l+l.domain[0]*a.w,a.b+c.domain[0]*a.h,o-a.r-(1-l.domain[1])*a.w,s-a.t-(1-c.domain[1])*a.h]:[a.l,a.b,o-a.r,s-a.t],r.select2d&amp;&amp;((i=r.select2d.regl._gl).enable(i.SCISSOR_TEST),i.scissor(t[0],t[1],t[2]-t[0],t[3]-t[1]),i.clearColor(0,0,0,0),i.clear(i.COLOR_BUFFER_BIT)),r.scatter2d&amp;&amp;((i=r.scatter2d.regl._gl).enable(i.SCISSOR_TEST),i.scissor(t[0],t[1],t[2]-t[0],t[3]-t[1]),i.clearColor(0,0,0,0),i.clear(i.COLOR_BUFFER_BIT))},r.clearSelect=function(){r.selectBatch&amp;&amp;(r.selectBatch=null,r.unselectBatch=null,r.scatter2d.update(r.markerOptions),r.clear(),r.draw())},r.destroy=function(){r.fill2d&amp;&amp;r.fill2d.destroy(),r.scatter2d&amp;&amp;r.scatter2d.destroy(),r.error2d&amp;&amp;r.error2d.destroy(),r.line2d&amp;&amp;r.line2d.destroy(),r.select2d&amp;&amp;r.select2d.destroy(),r.lineOptions=null,r.fillOptions=null,r.markerOptions=null,r.selectedOptions=null,r.unselectedOptions=null,r.errorXOptions=null,r.errorYOptions=null,r.selectBatch=null,r.unselectBatch=null,delete e._scene}),r.dirty||(r.dirty=!0,r.count=0,r.lineOptions=[],r.fillOptions=[],r.markerOptions=[],r.selectedOptions=[],r.unselectedOptions=[],r.errorXOptions=[],r.errorYOptions=[]),r}function a(t){if(&quot;circle&quot;===t)return null;var e,r,n=m.symbolNumber(t),i=m.symbolFuncs[n%100],a=!!m.symbolNoDot[n%100],o=!!m.symbolNoFill[n%100],s=O.test(t);return D[t]?D[t]:(e=s&amp;&amp;!a?i(1.1*C)+I:i(C),r=k(e,{w:L,h:L,viewBox:[-C,-C,C,C],stroke:o?z:-z}),D[t]=r,r||null)}var o=t(&quot;../../lib&quot;),s=t(&quot;../scatter/get_trace_color&quot;),l=t(&quot;../../components/errorbars&quot;),c=t(&quot;object-assign&quot;),u=t(&quot;../../plots/cartesian/axes&quot;),f=t(&quot;kdgrass&quot;),h=t(&quot;../../components/fx&quot;),d=t(&quot;../scatter/subtypes&quot;),p=t(&quot;../scatter/colorscale_calc&quot;),m=t(&quot;../../components/drawing&quot;),g=t(&quot;../scatter/make_bubble_size_func&quot;),v=t(&quot;../../constants/gl2d_dashes&quot;),y=t(&quot;../../lib/gl_format_color&quot;),x=t(&quot;../scatter/link_traces&quot;),b=t(&quot;regl-scatter2d&quot;),_=t(&quot;regl-line2d&quot;),w=t(&quot;regl-error2d&quot;),M=t(&quot;color-normalize&quot;),k=t(&quot;svg-path-sdf&quot;),A=t(&quot;regl&quot;),T=t(&quot;../scatter/fill_hover_text&quot;),S=t(&quot;fast-isnumeric&quot;),E=h.constants.MAXDIST,L=200,C=20,z=C/20,D={},I=m.symbolFuncs[0](.05*C),P=1e5,O=/-dot/;e.exports={moduleType:&quot;trace&quot;,name:&quot;scattergl&quot;,basePlotModule:t(&quot;../../plots/cartesian&quot;),categories:[&quot;gl&quot;,&quot;regl&quot;,&quot;cartesian&quot;,&quot;symbols&quot;,&quot;errorBarsOK&quot;,&quot;markerColorscale&quot;,&quot;showLegend&quot;,&quot;scatter-like&quot;],attributes:t(&quot;./attributes&quot;),supplyDefaults:t(&quot;./defaults&quot;),cleanData:t(&quot;../scatter/clean_data&quot;),colorbar:t(&quot;../scatter/colorbar&quot;),calc:function(t,e){var r,a,o,s,l,c=t._fullLayout,h={},d=u.getFromId(t,e.xaxis),m=u.getFromId(t,e.yaxis),g=c._plots[e.xaxis+e.yaxis],v=&quot;linear&quot;===d.type?e.x:d.makeCalcdata(e,&quot;x&quot;),y=&quot;linear&quot;===m.type?e.y:m.makeCalcdata(e,&quot;y&quot;),x=(v||y).length;if(!v)for(v=Array(x),a=0;a&lt;x;a++)v[a]=a;if(!y)for(y=Array(x),a=0;a&lt;x;a++)y[a]=a;var b,_;if(&quot;log&quot;===d.type)for(b=Array(v.length),a=0,o=v.length;a&lt;o;a++)b[a]=v[a],v[a]=d.d2l(v[a]);else for(b=v,a=0,o=v.length;a&lt;o;a++)v[a]=parseFloat(v[a]);if(&quot;log&quot;===m.type)for(_=Array(y.length),a=0,o=y.length;a&lt;o;a++)_[a]=y[a],y[a]=m.d2l(y[a]);else for(_=y,a=0,o=y.length;a&lt;o;a++)y[a]=parseFloat(y[a]);for(r=new Array(2*x),a=0;a&lt;x;a++)s=S(v[a])?+v[a]:NaN,l=S(y[a])?+y[a]:NaN,r[2*a]=s,r[2*a+1]=l;if(&quot;log&quot;!==d.type&amp;&amp;&quot;log&quot;!==m.type)h.tree=f(r,512);else{var w=h.ids=Array(x);for(a=0;a&lt;x;a++)w[a]=a}p(e);var M=n(t,0,e,r);if(M.markers)if(Array.isArray(M.markers.sizes)){var k=M.markers.sizes;u.expand(d,b,{padded:!0,ppad:k}),u.expand(m,_,{padded:!0,ppad:k})}else{var A=[1/0,-1/0],T=[1/0,-1/0],E=M.markers.size;for(a=0;a&lt;x;a++)s=v[a],l=y[a],A[0]&gt;s&amp;&amp;(A[0]=s),A[1]&lt;s&amp;&amp;(A[1]=s),T[0]&gt;l&amp;&amp;(T[0]=l),T[1]&lt;l&amp;&amp;(T[1]=l);x&lt;P?(u.expand(d,b,{padded:!0,ppad:E}),u.expand(m,_,{padded:!0,ppad:E})):(d._min&amp;&amp;d._min.push({val:A[0],pad:E}),d._max&amp;&amp;d._max.push({val:A[1],pad:E}),m._min&amp;&amp;m._min.push({val:T[0],pad:E}),m._max&amp;&amp;m._max.push({val:T[1],pad:E}))}else u.expand(d,b,{padded:!0}),u.expand(m,_,{padded:!0});var L=i(t,g);return M.fill&amp;&amp;!L.fill2d&amp;&amp;(L.fill2d=!0),M.marker&amp;&amp;!L.scatter2d&amp;&amp;(L.scatter2d=!0),M.line&amp;&amp;!L.line2d&amp;&amp;(L.line2d=!0),!M.errorX&amp;&amp;!M.errorY||L.error2d||(L.error2d=!0),L.lineOptions.push(M.line),L.errorXOptions.push(M.errorX),L.errorYOptions.push(M.errorY),L.fillOptions.push(M.fill),L.markerOptions.push(M.marker),L.selectedOptions.push(M.selected),L.unselectedOptions.push(M.unselected),L.count++,h.scene=L,h.index=L.count-1,h.x=v,h.y=y,h.rawx=b,h.rawy=_,h.positions=r,h.count=x,[{x:!1,y:!1,t:h,trace:e}]},plot:function(t,e,n){if(n.length){var i=t._fullLayout,a=n[0][0].t.scene;if(a){var o=i._size,s=i.width,l=i.height;i._glcanvas.each(function(e){e.regl||e.pick||(e.regl=A({canvas:this,attributes:{antialias:!e.pick,preserveDrawingBuffer:!0},extensions:[&quot;ANGLE_instanced_arrays&quot;,&quot;OES_element_index_uint&quot;],pixelRatio:t._context.plotGlPixelRatio||r.devicePixelRatio}))});var c=i._glcanvas.data()[0].regl;if(x(t,e,n),a.dirty){if(!0===a.error2d&amp;&amp;(a.error2d=w(c)),!0===a.line2d&amp;&amp;(a.line2d=_(c)),!0===a.scatter2d&amp;&amp;(a.scatter2d=b(c)),!0===a.fill2d&amp;&amp;(a.fill2d=_(c)),a.line2d&amp;&amp;a.line2d.update(a.lineOptions),a.error2d){var f=(a.errorXOptions||[]).concat(a.errorYOptions||[]);a.error2d.update(f)}a.scatter2d&amp;&amp;(a.selectBatch?(a.scatter2d.update(a.unselectedOptions),a.select2d.update(a.selectedOptions)):a.scatter2d.update(a.markerOptions)),a.fill2d&amp;&amp;(a.fillOptions.forEach(function(t,e){var r=n[e];if(t&amp;&amp;r&amp;&amp;r[0]&amp;&amp;r[0].trace){var i,o,s=r[0],l=s.trace,c=s.t,u=a.lineOptions[e],f=[],h=u&amp;&amp;u.positions||c.positions;if(&quot;tozeroy&quot;===l.fill)(f=(f=[h[0],0]).concat(h)).push(h[h.length-2]),f.push(0);else if(&quot;tozerox&quot;===l.fill)(f=(f=[0,h[1]]).concat(h)).push(0),f.push(h[h.length-1]);else if(&quot;toself&quot;===l.fill||&quot;tonext&quot;===l.fill){for(f=[],i=0,o=0;o&lt;h.length;o+=2)(isNaN(h[o])||isNaN(h[o+1]))&amp;&amp;((f=f.concat(h.slice(i,o))).push(h[i],h[i+1]),i=o+2);f=f.concat(h.slice(i)),i&amp;&amp;f.push(h[i],h[i+1])}else{var d=l._nexttrace;if(d){var p=a.lineOptions[e+1];if(p){var m=p.positions;if(&quot;tonexty&quot;===l.fill){for(f=h.slice(),e=Math.floor(m.length/2);e--;){var g=m[2*e],v=m[2*e+1];isNaN(g)||isNaN(v)||(f.push(g),f.push(v))}t.fill=d.fillcolor}}}}if(l._prevtrace&amp;&amp;&quot;tonext&quot;===l._prevtrace.fill){var y=a.lineOptions[e-1].positions,x=f.length/2,b=[i=x];for(o=0;o&lt;y.length;o+=2)(isNaN(y[o])||isNaN(y[o+1]))&amp;&amp;(b.push(o/2+x+1),i=o+2);f=f.concat(y),t.hole=b}t.opacity=l.opacity,t.positions=f}}),a.fill2d.update(a.fillOptions))}var h=i.dragmode;&quot;lasso&quot;!==h&amp;&amp;&quot;select&quot;!==h||a.select2d&amp;&amp;a.selectBatch&amp;&amp;a.scatter2d.update(a.unselectedOptions);var d=n.map(function(r){if(r&amp;&amp;r[0]&amp;&amp;r[0].trace){var n,c=r[0],f=c.trace,d=c.t,p=d.rawx,m=d.rawy,g=e.xaxis||u.getFromId(t,f.xaxis||&quot;x&quot;),v=e.yaxis||u.getFromId(t,f.yaxis||&quot;y&quot;),y=[(g._rl||g.range)[0],(v._rl||v.range)[0],(g._rl||g.range)[1],(v._rl||v.range)[1]],x=[o.l+g.domain[0]*o.w,o.b+v.domain[0]*o.h,s-o.r-(1-g.domain[1])*o.w,l-o.t-(1-v.domain[1])*o.h];if(f.selectedpoints||&quot;lasso&quot;===h||&quot;select&quot;===h){if(!a.select2d&amp;&amp;a.scatter2d){var _=i._glcanvas.data()[1].regl;a.select2d=b(_,{clone:a.scatter2d}),a.select2d.update(a.selectedOptions),f.selectedpoints&amp;&amp;!a.selectBatch&amp;&amp;(a.selectBatch=Array(a.count),a.unselectBatch=Array(a.count),a.scatter2d.update(a.unselectedOptions))}else a.select2d.update(a.selectedOptions);if(f.selectedpoints&amp;&amp;!a.unselectBatch[d.index]){a.selectBatch[d.index]=f.selectedpoints;var w=f.selectedpoints,M={};for(n=0;n&lt;w.length;n++)M[w[n]]=!0;var k=[];for(n=0;n&lt;d.count;n++)M[n]||k.push(n);a.unselectBatch[d.index]=k}var A=Array(d.count),T=Array(d.count);for(n=0;n&lt;d.count;n++)A[n]=g.c2p(p[n]),T[n]=v.c2p(m[n]);d.xpx=A,d.ypx=T}else d.xpx=d.ypx=null;return f.visible?{viewport:x,range:y}:null}});a.fill2d&amp;&amp;a.fill2d.update(d),a.line2d&amp;&amp;a.line2d.update(d),a.error2d&amp;&amp;a.error2d.update(d.concat(d)),a.scatter2d&amp;&amp;a.scatter2d.update(d),a.select2d&amp;&amp;a.select2d.update(d),a.draw()}}},hoverPoints:function(t,e,r,n){var i,a=t.cd,c=a[0].t,u=a[0].trace,f=t.xa,h=t.ya,d=c.rawx,p=c.rawy,m=f.c2p(e),g=h.c2p(r);if(c.tree){var v=f.p2c(m-E),y=f.p2c(m+E),x=h.p2c(g-E),b=h.p2c(g+E);i=&quot;x&quot;===n?c.tree.range(Math.min(v,y),Math.min(h._rl[0],h._rl[1]),Math.max(v,y),Math.max(h._rl[0],h._rl[1])):c.tree.range(Math.min(v,y),Math.min(x,b),Math.max(v,y),Math.max(x,b))}else{if(!c.ids)return[t];i=c.ids}var _,w,M,k,A,S,L,C=E;if(&quot;x&quot;===n)for(k=0;k&lt;i.length;k++)w=d[i[k]],(A=Math.abs(f.c2p(w)-m))&lt;C&amp;&amp;(C=A,_=i[k]);else for(k=0;k&lt;i.length;k++)w=d[i[k]],M=p[i[k]],A=f.c2p(w)-m,S=h.c2p(M)-g,(L=Math.sqrt(A*A+S*S))&lt;C&amp;&amp;(C=L,_=i[k]);if(t.index=_,void 0===_)return[t];var z={pointNumber:_,x:d[_],y:p[_]};z.tx=Array.isArray(u.text)?u.text[_]:u.text,z.htx=Array.isArray(u.hovertext)?u.hovertext[_]:u.hovertext,z.data=Array.isArray(u.customdata)?u.customdata[_]:u.customdata,z.tp=Array.isArray(u.textposition)?u.textposition[_]:u.textposition;var D=u.textfont;D&amp;&amp;(z.ts=Array.isArray(D.size)?D.size[_]:D.size,z.tc=Array.isArray(D.color)?D.color[_]:D.color,z.tf=Array.isArray(D.family)?D.family[_]:D.family);var I=u.marker;I&amp;&amp;(z.ms=Array.isArray(I.size)?I.size[_]:I.size,z.mo=Array.isArray(I.opacity)?I.opacity[_]:I.opacity,z.mx=Array.isArray(I.symbol)?I.symbol[_]:I.symbol,z.mc=Array.isArray(I.color)?I.color[_]:I.color);var P=I&amp;&amp;I.line;P&amp;&amp;(z.mlc=Array.isArray(P.color)?P.color[_]:P.color,z.mlw=Array.isArray(P.width)?P.width[_]:P.width);var O=I&amp;&amp;I.gradient;O&amp;&amp;&quot;none&quot;!==O.type&amp;&amp;(z.mgt=Array.isArray(O.type)?O.type[_]:O.type,z.mgc=Array.isArray(O.color)?O.color[_]:O.color);var F=f.c2p(z.x,!0),R=h.c2p(z.y,!0),N=z.mrc||1,j=u.hoverlabel;j&amp;&amp;(z.hbg=Array.isArray(j.bgcolor)?j.bgcolor[_]:j.bgcolor,z.hbc=Array.isArray(j.bordercolor)?j.bordercolor[_]:j.bordercolor,z.hts=Array.isArray(j.font.size)?j.font.size[_]:j.font.size,z.htc=Array.isArray(j.font.color)?j.font.color[_]:j.font.color,z.htf=Array.isArray(j.font.family)?j.font.family[_]:j.font.family,z.hnl=Array.isArray(j.namelength)?j.namelength[_]:j.namelength);var B=u.hoverinfo;B&amp;&amp;(z.hi=Array.isArray(B)?B[_]:B);var U={};return U[t.index]=z,o.extendFlat(t,{color:s(u,z),x0:F-N,x1:F+N,xLabelVal:z.x,y0:R-N,y1:R+N,yLabelVal:z.y,cd:U}),z.htx?t.text=z.htx:z.tx?t.text=z.tx:u.text&amp;&amp;(t.text=u.text),T(z,u,t),l.hoverInfo(z,u,t),[t]},style:function(t,e){if(e){var r=e[0].t.scene;r.clear(),r.draw()}},selectPoints:function(t,e){var r=t.cd,n=[],i=r[0].trace,a=r[0].t,o=a.x,s=a.y,l=a.rawx,c=a.rawy,u=a.scene;if(!u)return n;var f=!d.hasMarkers(i)&amp;&amp;!d.hasText(i);if(!0!==i.visible||f)return n;var h,p=null,m=null;if(!1===e||e.degenerate)for(m=Array(a.count),h=0;h&lt;a.count;h++)m[h]=h;else for(p=[],m=[],h=0;h&lt;a.count;h++)e.contains([a.xpx[h],a.ypx[h]])?(p.push(h),n.push({pointNumber:h,x:l?l[h]:o[h],y:c?c[h]:s[h]})):m.push(h);return u.selectBatch||(u.selectBatch=Array(u.count),u.unselectBatch=Array(u.count),u.scatter2d.update(u.unselectedOptions)),u.selectBatch[a.index]=p,u.unselectBatch[a.index]=m,n},sceneOptions:n,sceneUpdate:i,meta:{}}}).call(this,&quot;undefined&quot;!=typeof global?global:&quot;undefined&quot;!=typeof self?self:&quot;undefined&quot;!=typeof window?window:{})},{&quot;../../components/drawing&quot;:643,&quot;../../components/errorbars&quot;:649,&quot;../../components/fx&quot;:660,&quot;../../constants/gl2d_dashes&quot;:717,&quot;../../lib&quot;:743,&quot;../../lib/gl_format_color&quot;:739,&quot;../../plots/cartesian&quot;:800,&quot;../../plots/cartesian/axes&quot;:789,&quot;../scatter/clean_data&quot;:1069,&quot;../scatter/colorbar&quot;:1070,&quot;../scatter/colorscale_calc&quot;:1071,&quot;../scatter/fill_hover_text&quot;:1074,&quot;../scatter/get_trace_color&quot;:1076,&quot;../scatter/link_traces&quot;:1082,&quot;../scatter/make_bubble_size_func&quot;:1083,&quot;../scatter/subtypes&quot;:1088,&quot;./attributes&quot;:1113,&quot;./defaults&quot;:1114,&quot;color-normalize&quot;:99,&quot;fast-isnumeric&quot;:140,kdgrass:292,&quot;object-assign&quot;:462,regl:506,&quot;regl-error2d&quot;:500,&quot;regl-line2d&quot;:501,&quot;regl-scatter2d&quot;:503,&quot;svg-path-sdf&quot;:544}],1116:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../scattergeo/attributes&quot;),i=t(&quot;../scatter/attributes&quot;),a=t(&quot;../../plots/mapbox/layout_attributes&quot;),o=t(&quot;../../plots/attributes&quot;),s=t(&quot;../../components/colorbar/attributes&quot;),l=t(&quot;../../lib/extend&quot;).extendFlat,c=t(&quot;../../plot_api/edit_types&quot;).overrideAll,u=n.line,f=n.marker;e.exports=c({lon:n.lon,lat:n.lat,mode:l({},i.mode,{dflt:&quot;markers&quot;}),text:l({},i.text,{}),hovertext:l({},i.hovertext,{}),line:{color:u.color,width:u.width},connectgaps:i.connectgaps,marker:{symbol:{valType:&quot;string&quot;,dflt:&quot;circle&quot;,arrayOk:!0},opacity:f.opacity,size:f.size,sizeref:f.sizeref,sizemin:f.sizemin,sizemode:f.sizemode,color:f.color,colorscale:f.colorscale,cauto:f.cauto,cmax:f.cmax,cmin:f.cmin,autocolorscale:f.autocolorscale,reversescale:f.reversescale,showscale:f.showscale,colorbar:s},fill:n.fill,fillcolor:i.fillcolor,textfont:a.layers.symbol.textfont,textposition:a.layers.symbol.textposition,selected:{marker:{opacity:i.selected.marker.opacity}},unselected:{marker:{opacity:i.unselected.marker.opacity}},hoverinfo:l({},o.hoverinfo,{flags:[&quot;lon&quot;,&quot;lat&quot;,&quot;text&quot;,&quot;name&quot;]})},&quot;calc&quot;,&quot;nested&quot;)},{&quot;../../components/colorbar/attributes&quot;:619,&quot;../../lib/extend&quot;:732,&quot;../../plot_api/edit_types&quot;:773,&quot;../../plots/attributes&quot;:787,&quot;../../plots/mapbox/layout_attributes&quot;:848,&quot;../scatter/attributes&quot;:1066,&quot;../scattergeo/attributes&quot;:1104}],1117:[function(t,e,r){&quot;use strict&quot;;function n(){return{geojson:f.makeBlank(),layout:{visibility:&quot;none&quot;},paint:{}}}function i(t){return Array.isArray(t)?function(t){return t}:t?function(){return t}:a}function a(){return&quot;&quot;}function o(t,e){return t[0]-e[0]}function s(t){return t[0]===u}var l=t(&quot;fast-isnumeric&quot;),c=t(&quot;../../lib&quot;),u=t(&quot;../../constants/numerical&quot;).BADNUM,f=t(&quot;../../lib/geojson_utils&quot;),h=t(&quot;../../components/colorscale&quot;),d=t(&quot;../scatter/make_bubble_size_func&quot;),p=t(&quot;../scatter/subtypes&quot;),m=t(&quot;../../plots/mapbox/convert_text_opts&quot;),g=t(&quot;../../constants/interactions&quot;).DESELECTDIM,v=&quot;circle-color&quot;,y=&quot;circle-radius&quot;,x=&quot;circle-opacity&quot;;e.exports=function(t){var e=t[0].trace,r=!0===e.visible,u=&quot;none&quot;!==e.fill,b=p.hasLines(e),_=p.hasMarkers(e),w=p.hasText(e),M=_&amp;&amp;&quot;circle&quot;===e.marker.symbol,k=_&amp;&amp;&quot;circle&quot;!==e.marker.symbol,A=n(),T=n(),S=n(),E=n(),L={fill:A,line:T,circle:S,symbol:E};if(!r)return L;var C;if((u||b)&amp;&amp;(C=f.calcTraceToLineCoords(t)),u&amp;&amp;(A.geojson=f.makePolygon(C),A.layout.visibility=&quot;visible&quot;,c.extendFlat(A.paint,{&quot;fill-color&quot;:e.fillcolor})),b&amp;&amp;(T.geojson=f.makeLine(C),T.layout.visibility=&quot;visible&quot;,c.extendFlat(T.paint,{&quot;line-width&quot;:e.line.width,&quot;line-color&quot;:e.line.color,&quot;line-opacity&quot;:e.opacity})),M){var z={};z[v]={},z[y]={},z[x]={},S.geojson=function(t,e){function r(t,r,n,i){void 0===e[r][n]&amp;&amp;(e[r][n]=i),t[r]=e[r][n]}var n,i=t[0].trace,a=i.marker;h.hasColorscale(i,&quot;marker&quot;)?n=h.makeColorScaleFunc(h.extractScale(a.colorscale,a.cmin,a.cmax)):Array.isArray(a.color)&amp;&amp;(n=c.identity);var o;p.isBubble(i)&amp;&amp;(o=d(i));var u;u=i.selectedpoints?function(t,e){return i.opacity*e*(t.selected?1:g)}:function(t,e){return i.opacity*e};var f;Array.isArray(a.opacity)?f=function(t){var e=l(t.mo)?+c.constrain(t.mo,0,1):0;return u(t,e)}:i.selectedpoints&amp;&amp;(f=function(t){return u(t,a.opacity)});for(var m=[],b=0;b&lt;t.length;b++){var _=t[b],w=_.lonlat;if(!s(w)){var M={};if(n){var k=_.mcc=n(_.mc);r(M,v,k,b)}o&amp;&amp;r(M,y,o(_.ms),b),f&amp;&amp;r(M,x,f(_),b),m.push({type:&quot;Feature&quot;,geometry:{type:&quot;Point&quot;,coordinates:w},properties:M})}}return{type:&quot;FeatureCollection&quot;,features:m}}(t,z),S.layout.visibility=&quot;visible&quot;,c.extendFlat(S.paint,{&quot;circle-opacity&quot;:function(t,e){var r,n=t.marker;if(Array.isArray(n.opacity)||t.selectedpoints){for(var i=Object.keys(e[x]),a=[],s=0;s&lt;i.length;s++){var l=i[s];a.push([e[x][l],+l])}r={property:x,stops:a.sort(o)}}else r=t.opacity*n.opacity;return r}(e,z),&quot;circle-color&quot;:function(t,e){var r,n=t.marker;if(Array.isArray(n.color)){for(var i=Object.keys(e[v]),a=[],o=0;o&lt;i.length;o++){var s=i[o];a.push([e[v][s],s])}r={property:v,stops:a}}else r=n.color;return r}(e,z),&quot;circle-radius&quot;:function(t,e){var r,n=t.marker;if(Array.isArray(n.size)){for(var i=Object.keys(e[y]),a=[],s=0;s&lt;i.length;s++){var l=i[s];a.push([e[y][l],+l])}r={property:y,stops:a.sort(o)}}else r=n.size/2;return r}(e,z)})}if((k||w)&amp;&amp;(E.geojson=function(t){for(var e=t[0].trace,r=(e.marker||{}).symbol,n=e.text,o=&quot;circle&quot;!==r?i(r):a,l=p.hasText(e)?i(n):a,c=[],u=0;u&lt;t.length;u++){var f=t[u];s(f.lonlat)||c.push({type:&quot;Feature&quot;,geometry:{type:&quot;Point&quot;,coordinates:f.lonlat},properties:{symbol:o(f.mx),text:l(f.tx)}})}return{type:&quot;FeatureCollection&quot;,features:c}}(t),c.extendFlat(E.layout,{visibility:&quot;visible&quot;,&quot;icon-image&quot;:&quot;{symbol}-15&quot;,&quot;text-field&quot;:&quot;{text}&quot;}),k&amp;&amp;(c.extendFlat(E.layout,{&quot;icon-size&quot;:e.marker.size/10}),c.extendFlat(E.paint,{&quot;icon-opacity&quot;:e.opacity*e.marker.opacity,&quot;icon-color&quot;:e.marker.color})),w)){var D=(e.marker||{}).size,I=m(e.textposition,D);c.extendFlat(E.layout,{&quot;text-size&quot;:e.textfont.size,&quot;text-anchor&quot;:I.anchor,&quot;text-offset&quot;:I.offset}),c.extendFlat(E.paint,{&quot;text-color&quot;:e.textfont.color,&quot;text-opacity&quot;:e.opacity})}return L}},{&quot;../../components/colorscale&quot;:633,&quot;../../constants/interactions&quot;:720,&quot;../../constants/numerical&quot;:721,&quot;../../lib&quot;:743,&quot;../../lib/geojson_utils&quot;:736,&quot;../../plots/mapbox/convert_text_opts&quot;:845,&quot;../scatter/make_bubble_size_func&quot;:1083,&quot;../scatter/subtypes&quot;:1088,&quot;fast-isnumeric&quot;:140}],1118:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib&quot;),i=t(&quot;../scatter/subtypes&quot;),a=t(&quot;../scatter/marker_defaults&quot;),o=t(&quot;../scatter/line_defaults&quot;),s=t(&quot;../scatter/text_defaults&quot;),l=t(&quot;../scatter/fillcolor_defaults&quot;),c=t(&quot;./attributes&quot;);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(&quot;lon&quot;)||[],i=r(&quot;lat&quot;)||[],a=Math.min(n.length,i.length);return a&lt;n.length&amp;&amp;(e.lon=n.slice(0,a)),a&lt;i.length&amp;&amp;(e.lat=i.slice(0,a)),a}(0,e,f)){if(f(&quot;text&quot;),f(&quot;hovertext&quot;),f(&quot;mode&quot;),i.hasLines(e)&amp;&amp;(o(t,e,r,u,f,{noDash:!0}),f(&quot;connectgaps&quot;)),i.hasMarkers(e)){a(t,e,r,u,f,{noLine:!0,noSelect:!0});var h=e.marker;h.line={width:0},&quot;circle&quot;!==h.symbol&amp;&amp;(Array.isArray(h.size)&amp;&amp;(h.size=h.size[0]),Array.isArray(h.color)&amp;&amp;(h.color=h.color[0]))}i.hasText(e)&amp;&amp;s(t,e,u,f,{noSelect:!0}),f(&quot;fill&quot;),&quot;none&quot;!==e.fill&amp;&amp;l(t,e,r,f),n.coerceSelectionMarkerOpacity(e,f)}else e.visible=!1}},{&quot;../../lib&quot;:743,&quot;../scatter/fillcolor_defaults&quot;:1075,&quot;../scatter/line_defaults&quot;:1079,&quot;../scatter/marker_defaults&quot;:1084,&quot;../scatter/subtypes&quot;:1088,&quot;../scatter/text_defaults&quot;:1089,&quot;./attributes&quot;:1116}],1119:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t,e){return t.lon=e.lon,t.lat=e.lat,t}},{}],1120:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../components/fx&quot;),i=t(&quot;../scatter/get_trace_color&quot;),a=t(&quot;../scatter/fill_hover_text&quot;),o=t(&quot;../../constants/numerical&quot;).BADNUM;e.exports=function(t,e,r){var s=t.cd,l=s[0].trace,c=t.xa,u=t.ya,f=360*(e&gt;=0?Math.floor((e+180)/360):Math.ceil((e-180)/360)),h=e-f;if(n.getClosest(s,function(t){var e=t.lonlat;if(e[0]===o)return 1/0;var n=Math.abs(c.c2p(e)-c.c2p([h,e[1]])),i=Math.abs(u.c2p(e)-u.c2p([e[0],r])),a=Math.max(3,t.mrc||0);return Math.max(Math.sqrt(n*n+i*i)-a,1-3/a)},t),!1!==t.index){var d=s[t.index],p=d.lonlat,m=[p[0]+f,p[1]],g=c.c2p(m),v=u.c2p(m),y=d.mrc||1;return t.x0=g-y,t.x1=g+y,t.y0=v-y,t.y1=v+y,t.color=i(l,d),t.extraText=function(t,e,r){function n(t){return t+&quot;\xb0&quot;}var i=(e.hi||t.hoverinfo).split(&quot;+&quot;),o=-1!==i.indexOf(&quot;all&quot;),s=-1!==i.indexOf(&quot;lon&quot;),l=-1!==i.indexOf(&quot;lat&quot;),c=e.lonlat,u=[];return o||s&amp;&amp;l?u.push(&quot;(&quot;+n(c[0])+&quot;, &quot;+n(c[1])+&quot;)&quot;):s?u.push(r.lon+n(c[0])):l&amp;&amp;u.push(r.lat+n(c[1])),(o||-1!==i.indexOf(&quot;text&quot;))&amp;&amp;a(e,t,u),u.join(&quot;&lt;br&gt;&quot;)}(l,d,s[0].t.labels),[t]}}},{&quot;../../components/fx&quot;:660,&quot;../../constants/numerical&quot;:721,&quot;../scatter/fill_hover_text&quot;:1074,&quot;../scatter/get_trace_color&quot;:1076}],1121:[function(t,e,r){&quot;use strict&quot;;var n={};n.attributes=t(&quot;./attributes&quot;),n.supplyDefaults=t(&quot;./defaults&quot;),n.colorbar=t(&quot;../scatter/colorbar&quot;),n.calc=t(&quot;../scattergeo/calc&quot;),n.plot=t(&quot;./plot&quot;),n.hoverPoints=t(&quot;./hover&quot;),n.eventData=t(&quot;./event_data&quot;),n.selectPoints=t(&quot;./select&quot;),n.style=function(t,e){if(e){e[0].trace._glTrace.update(e)}},n.moduleType=&quot;trace&quot;,n.name=&quot;scattermapbox&quot;,n.basePlotModule=t(&quot;../../plots/mapbox&quot;),n.categories=[&quot;mapbox&quot;,&quot;gl&quot;,&quot;symbols&quot;,&quot;markerColorscale&quot;,&quot;showLegend&quot;,&quot;scatterlike&quot;],n.meta={},e.exports=n},{&quot;../../plots/mapbox&quot;:846,&quot;../scatter/colorbar&quot;:1070,&quot;../scattergeo/calc&quot;:1105,&quot;./attributes&quot;:1116,&quot;./defaults&quot;:1118,&quot;./event_data&quot;:1119,&quot;./hover&quot;:1120,&quot;./plot&quot;:1122,&quot;./select&quot;:1123}],1122:[function(t,e,r){&quot;use strict&quot;;function n(t,e){this.mapbox=t,this.map=t.map,this.uid=e,this.idSourceFill=e+&quot;-source-fill&quot;,this.idSourceLine=e+&quot;-source-line&quot;,this.idSourceCircle=e+&quot;-source-circle&quot;,this.idSourceSymbol=e+&quot;-source-symbol&quot;,this.idLayerFill=e+&quot;-layer-fill&quot;,this.idLayerLine=e+&quot;-layer-line&quot;,this.idLayerCircle=e+&quot;-layer-circle&quot;,this.idLayerSymbol=e+&quot;-layer-symbol&quot;,this.mapbox.initSource(this.idSourceFill),this.mapbox.initSource(this.idSourceLine),this.mapbox.initSource(this.idSourceCircle),this.mapbox.initSource(this.idSourceSymbol),this.map.addLayer({id:this.idLayerFill,source:this.idSourceFill,type:&quot;fill&quot;}),this.map.addLayer({id:this.idLayerLine,source:this.idSourceLine,type:&quot;line&quot;}),this.map.addLayer({id:this.idLayerCircle,source:this.idSourceCircle,type:&quot;circle&quot;}),this.map.addLayer({id:this.idLayerSymbol,source:this.idSourceSymbol,type:&quot;symbol&quot;})}function i(t){return&quot;visible&quot;===t.layout.visibility}var a=t(&quot;./convert&quot;),o=n.prototype;o.update=function(t){var e=this.mapbox,r=a(t);e.setOptions(this.idLayerFill,&quot;setLayoutProperty&quot;,r.fill.layout),e.setOptions(this.idLayerLine,&quot;setLayoutProperty&quot;,r.line.layout),e.setOptions(this.idLayerCircle,&quot;setLayoutProperty&quot;,r.circle.layout),e.setOptions(this.idLayerSymbol,&quot;setLayoutProperty&quot;,r.symbol.layout),i(r.fill)&amp;&amp;(e.setSourceData(this.idSourceFill,r.fill.geojson),e.setOptions(this.idLayerFill,&quot;setPaintProperty&quot;,r.fill.paint)),i(r.line)&amp;&amp;(e.setSourceData(this.idSourceLine,r.line.geojson),e.setOptions(this.idLayerLine,&quot;setPaintProperty&quot;,r.line.paint)),i(r.circle)&amp;&amp;(e.setSourceData(this.idSourceCircle,r.circle.geojson),e.setOptions(this.idLayerCircle,&quot;setPaintProperty&quot;,r.circle.paint)),i(r.symbol)&amp;&amp;(e.setSourceData(this.idSourceSymbol,r.symbol.geojson),e.setOptions(this.idLayerSymbol,&quot;setPaintProperty&quot;,r.symbol.paint)),t[0].trace._glTrace=this},o.dispose=function(){var t=this.map;t.removeLayer(this.idLayerFill),t.removeLayer(this.idLayerLine),t.removeLayer(this.idLayerCircle),t.removeLayer(this.idLayerSymbol),t.removeSource(this.idSourceFill),t.removeSource(this.idSourceLine),t.removeSource(this.idSourceCircle),t.removeSource(this.idSourceSymbol)},e.exports=function(t,e){var r=new n(t,e[0].trace.uid);return r.update(e),r}},{&quot;./convert&quot;:1117}],1123:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../scatter/subtypes&quot;);e.exports=function(t,e){var r,i,a,o,s,l=t.cd,c=t.xaxis,u=t.yaxis,f=[],h=l[0].trace;if(!n.hasMarkers(h))return[];if(!1===e)for(s=0;s&lt;l.length;s++)l[s].selected=0;else for(s=0;s&lt;l.length;s++)i=(r=l[s]).lonlat,a=c.c2p(i),o=u.c2p(i),e.contains([a,o])?(f.push({pointNumber:s,lon:i[0],lat:i[1]}),r.selected=1):r.selected=0;return f}},{&quot;../scatter/subtypes&quot;:1088}],1124:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib/extend&quot;).extendFlat,i=t(&quot;../scatter/attributes&quot;),a=t(&quot;../../plots/attributes&quot;),o=i.line;e.exports={mode:i.mode,r:{valType:&quot;data_array&quot;,editType:&quot;calc+clearAxisTypes&quot;},theta:{valType:&quot;data_array&quot;,editType:&quot;calc+clearAxisTypes&quot;},thetaunit:{valType:&quot;enumerated&quot;,values:[&quot;radians&quot;,&quot;degrees&quot;,&quot;gradians&quot;],dflt:&quot;degrees&quot;,editType:&quot;calc+clearAxisTypes&quot;},text:i.text,hovertext:i.hovertext,line:{color:o.color,width:o.width,dash:o.dash,shape:n({},o.shape,{values:[&quot;linear&quot;,&quot;spline&quot;]}),smoothing:o.smoothing,editType:&quot;calc&quot;},connectgaps:i.connectgaps,marker:i.marker,cliponaxis:n({},i.cliponaxis,{dflt:!1}),textposition:i.textposition,textfont:i.textfont,fill:n({},i.fill,{values:[&quot;none&quot;,&quot;toself&quot;,&quot;tonext&quot;]}),fillcolor:i.fillcolor,hoverinfo:n({},a.hoverinfo,{flags:[&quot;r&quot;,&quot;theta&quot;,&quot;text&quot;,&quot;name&quot;]}),hoveron:i.hoveron,selected:i.selected,unselected:i.unselected}},{&quot;../../lib/extend&quot;:732,&quot;../../plots/attributes&quot;:787,&quot;../scatter/attributes&quot;:1066}],1125:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;fast-isnumeric&quot;),i=t(&quot;../../constants/numerical&quot;).BADNUM,a=t(&quot;../../plots/cartesian/axes&quot;),o=t(&quot;../scatter/colorscale_calc&quot;),s=t(&quot;../scatter/arrays_to_calcdata&quot;),l=t(&quot;../scatter/calc_selection&quot;),c=t(&quot;../scatter/calc&quot;).calcMarkerSize;e.exports=function(t,e){function r(t){return d.c2rad(t,e.thetaunit)}for(var u=t._fullLayout,f=e.subplot,h=u[f].radialaxis,d=u[f].angularaxis,p=h.makeCalcdata(e,&quot;r&quot;),m=d.makeCalcdata(e,&quot;theta&quot;),g=p.length,v=new Array(g),y=0;y&lt;g;y++){var x=p[y],b=m[y],_=v[y]={};n(x)&amp;&amp;n(b)?(_.r=x,_.theta=b,_.rad=r(b)):_.r=i}var w=c(e,g);return a.expand(h,p,{ppad:w}),&quot;linear&quot;!==d.type&amp;&amp;(d.autorange=!0,a.expand(d,m)),o(e),s(v,e),l(v,e),v}},{&quot;../../constants/numerical&quot;:721,&quot;../../plots/cartesian/axes&quot;:789,&quot;../scatter/arrays_to_calcdata&quot;:1065,&quot;../scatter/calc&quot;:1067,&quot;../scatter/calc_selection&quot;:1068,&quot;../scatter/colorscale_calc&quot;:1071,&quot;fast-isnumeric&quot;:140}],1126:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib&quot;),i=t(&quot;../scatter/subtypes&quot;),a=t(&quot;../scatter/marker_defaults&quot;),o=t(&quot;../scatter/line_defaults&quot;),s=t(&quot;../scatter/line_shape_defaults&quot;),l=t(&quot;../scatter/text_defaults&quot;),c=t(&quot;../scatter/fillcolor_defaults&quot;),u=t(&quot;../scatter/constants&quot;).PTS_LINESONLY,f=t(&quot;./attributes&quot;);e.exports=function(t,e,r,h){function d(r,i){return n.coerce(t,e,f,r,i)}var p=d(&quot;r&quot;),m=d(&quot;theta&quot;),g=p&amp;&amp;m?Math.min(p.length,m.length):0;if(g){g&lt;p.length&amp;&amp;(e.r=p.slice(0,g)),g&lt;m.length&amp;&amp;(e.theta=m.slice(0,g)),d(&quot;thetaunit&quot;),d(&quot;mode&quot;,g&lt;u?&quot;lines+markers&quot;:&quot;lines&quot;),d(&quot;text&quot;),d(&quot;hovertext&quot;),i.hasLines(e)&amp;&amp;(o(t,e,r,h,d),s(t,e,d),d(&quot;connectgaps&quot;)),i.hasMarkers(e)&amp;&amp;a(t,e,r,h,d,{gradient:!0}),i.hasText(e)&amp;&amp;l(t,e,h,d);var v=[];(i.hasMarkers(e)||i.hasText(e))&amp;&amp;(d(&quot;cliponaxis&quot;),d(&quot;marker.maxdisplayed&quot;),v.push(&quot;points&quot;)),d(&quot;fill&quot;),&quot;none&quot;!==e.fill&amp;&amp;(c(t,e,r,d),i.hasLines(e)||s(t,e,d)),&quot;tonext&quot;!==e.fill&amp;&amp;&quot;toself&quot;!==e.fill||v.push(&quot;fills&quot;),d(&quot;hoveron&quot;,v.join(&quot;+&quot;)||&quot;points&quot;),n.coerceSelectionMarkerOpacity(e,d)}else e.visible=!1}},{&quot;../../lib&quot;:743,&quot;../scatter/constants&quot;:1072,&quot;../scatter/fillcolor_defaults&quot;:1075,&quot;../scatter/line_defaults&quot;:1079,&quot;../scatter/line_shape_defaults&quot;:1081,&quot;../scatter/marker_defaults&quot;:1084,&quot;../scatter/subtypes&quot;:1088,&quot;../scatter/text_defaults&quot;:1089,&quot;./attributes&quot;:1124}],1127:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r){function n(t,e){c.push(t._hovertitle+&quot;: &quot;+a.tickText(t,e,&quot;hover&quot;).text)}var i=r.radialAxis,s=r.angularAxis,l=(t.hi||e.hoverinfo).split(&quot;+&quot;),c=[];i._hovertitle=&quot;r&quot;,s._hovertitle=&quot;\u03b8&quot;;var u,f=s._c2rad(t.theta,e.thetaunit);return u=&quot;linear&quot;===s.type&amp;&amp;e.thetaunit!==s.thetaunit?&quot;degrees&quot;===s.thetaunit?o.rad2deg(f):f:t.theta,-1!==l.indexOf(&quot;all&quot;)&amp;&amp;(l=[&quot;r&quot;,&quot;theta&quot;]),-1!==l.indexOf(&quot;r&quot;)&amp;&amp;n(i,i.c2r(t.r)),-1!==l.indexOf(&quot;theta&quot;)&amp;&amp;n(s,u),c.join(&quot;&lt;br&gt;&quot;)}var i=t(&quot;../scatter/hover&quot;),a=t(&quot;../../plots/cartesian/axes&quot;),o=t(&quot;../../lib&quot;);e.exports={hoverPoints:function(t,e,r,a){var o=i(t,e,r,a);if(o&amp;&amp;!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.isPtWithinSector(c))return s.xLabelVal=void 0,s.yLabelVal=void 0,s.extraText=n(c,u,l),o}},makeHoverPointText:n}},{&quot;../../lib&quot;:743,&quot;../../plots/cartesian/axes&quot;:789,&quot;../scatter/hover&quot;:1077}],1128:[function(t,e,r){&quot;use strict&quot;;e.exports={moduleType:&quot;trace&quot;,name:&quot;scatterpolar&quot;,basePlotModule:t(&quot;../../plots/polar&quot;),categories:[&quot;polar&quot;,&quot;symbols&quot;,&quot;markerColorscale&quot;,&quot;showLegend&quot;,&quot;scatter-like&quot;],attributes:t(&quot;./attributes&quot;),supplyDefaults:t(&quot;./defaults&quot;),calc:t(&quot;./calc&quot;),plot:t(&quot;./plot&quot;),style:t(&quot;../scatter/style&quot;).style,hoverPoints:t(&quot;./hover&quot;).hoverPoints,selectPoints:t(&quot;../scatter/select&quot;),meta:{}}},{&quot;../../plots/polar&quot;:855,&quot;../scatter/select&quot;:1086,&quot;../scatter/style&quot;:1087,&quot;./attributes&quot;:1124,&quot;./calc&quot;:1125,&quot;./defaults&quot;:1126,&quot;./hover&quot;:1127,&quot;./plot&quot;:1129}],1129:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../scatter/plot&quot;),i=t(&quot;../../constants/numerical&quot;).BADNUM;e.exports=function(t,e,r){var a,o,s,l={xaxis:e.xaxis,yaxis:e.yaxis,plot:e.framework,layerClipId:e._hasClipOnAxisFalse?e.clipIds.circle:null},c=e.radialAxis,u=c.range;for(s=u[0]&gt;u[1]?function(t){return t&lt;=0}:function(t){return t&gt;=0},a=0;a&lt;r.length;a++)for(o=0;o&lt;r[a].length;o++){var f=r[a][o],h=f.r;if(h!==i){var d=c.c2r(h)-u[0];if(s(d)){var p=f.rad;f.x=d*Math.cos(p),f.y=d*Math.sin(p);continue}f.intoCenter=[e.cxx,e.cyy]}f.x=i,f.y=i}n(t,l,r)}},{&quot;../../constants/numerical&quot;:721,&quot;../scatter/plot&quot;:1085}],1130:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../scatterpolar/attributes&quot;),i=t(&quot;../scattergl/attributes&quot;);e.exports={mode:n.mode,r:n.r,theta:n.theta,thetaunit:n.thetaunit,text:n.text,line:i.line,connectgaps:i.connectgaps,marker:i.marker,fill:i.fill,fillcolor:i.fillcolor,hoverinfo:n.hoverinfo,hoveron:n.hoveron,selected:n.selected,unselected:n.unselected}},{&quot;../scattergl/attributes&quot;:1113,&quot;../scatterpolar/attributes&quot;:1124}],1131:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib&quot;),i=t(&quot;../scatter/subtypes&quot;),a=t(&quot;../scatter/marker_defaults&quot;),o=t(&quot;../scatter/line_defaults&quot;),s=t(&quot;../scatter/fillcolor_defaults&quot;),l=t(&quot;../scatter/constants&quot;).PTS_LINESONLY,c=t(&quot;./attributes&quot;);e.exports=function(t,e,r,u){function f(r,i){return n.coerce(t,e,c,r,i)}var h=f(&quot;r&quot;),d=f(&quot;theta&quot;),p=h&amp;&amp;d?Math.min(h.length,d.length):0;if(p){p&lt;h.length&amp;&amp;(e.r=h.slice(0,p)),p&lt;d.length&amp;&amp;(e.theta=d.slice(0,p)),f(&quot;thetaunit&quot;),f(&quot;mode&quot;,p&lt;l?&quot;lines+markers&quot;:&quot;lines&quot;),f(&quot;text&quot;),i.hasLines(e)&amp;&amp;(o(t,e,r,u,f),f(&quot;connectgaps&quot;));var m=[];i.hasMarkers(e)&amp;&amp;(a(t,e,r,u,f),m.push(&quot;points&quot;)),f(&quot;fill&quot;),&quot;none&quot;!==e.fill&amp;&amp;s(t,e,r,f),&quot;tonext&quot;!==e.fill&amp;&amp;&quot;toself&quot;!==e.fill||m.push(&quot;fills&quot;),f(&quot;hoveron&quot;,m.join(&quot;+&quot;)||&quot;points&quot;),n.coerceSelectionMarkerOpacity(e,f)}else e.visible=!1}},{&quot;../../lib&quot;:743,&quot;../scatter/constants&quot;:1072,&quot;../scatter/fillcolor_defaults&quot;:1075,&quot;../scatter/line_defaults&quot;:1079,&quot;../scatter/marker_defaults&quot;:1084,&quot;../scatter/subtypes&quot;:1088,&quot;./attributes&quot;:1130}],1132:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;kdgrass&quot;),i=t(&quot;fast-isnumeric&quot;),a=t(&quot;../scattergl&quot;),o=t(&quot;../scatter/colorscale_calc&quot;),s=t(&quot;../../plots/cartesian/axes&quot;),l=t(&quot;../scatterpolar/hover&quot;).makeHoverPointText,c=t(&quot;../scatter/subtypes&quot;);e.exports={moduleType:&quot;trace&quot;,name:&quot;scatterpolargl&quot;,basePlotModule:t(&quot;../../plots/polar&quot;),categories:[&quot;gl&quot;,&quot;regl&quot;,&quot;polar&quot;,&quot;symbols&quot;,&quot;markerColorscale&quot;,&quot;showLegend&quot;,&quot;scatter-like&quot;],attributes:t(&quot;./attributes&quot;),supplyDefaults:t(&quot;./defaults&quot;),calc:function(t,e){var r=t._fullLayout,n=e.subplot,i=r[n].radialaxis,a=r[n].angularaxis,l=i.makeCalcdata(e,&quot;r&quot;),c=a.makeCalcdata(e,&quot;theta&quot;),u={};return o(e),u.r=l,u.theta=c,s.expand(i,l,{tozero:!0}),&quot;linear&quot;!==a.type&amp;&amp;(a.autorange=!0,s.expand(a,c)),[{x:!1,y:!1,t:u,trace:e}]},plot:function(t,e,r){var o=e.radialAxis,s=e.angularAxis,l=o.range,u=a.sceneUpdate(t,e);return u.clear(),r.forEach(function(f,h){function d(t){return s.c2rad(t,b.thetaunit)}if(f&amp;&amp;f[0]&amp;&amp;f[0].trace){var p,m,g,v,y,x=f[0],b=x.trace,_=x.t,w=_.r,M=_.theta,k=w.slice(),A=M.slice();for(p=0;p&lt;w.length;p++)m=w[p],v=M[p],y=s.c2rad(v,b.thetaunit),e.isPtWithinSector({r:m,rad:y})||(k[p]=NaN,A[p]=NaN);var T=w.length,S=new Array(2*T),E=Array(T),L=Array(T);for(p=0;p&lt;T;p++)m=k[p],v=A[p],i(m)&amp;&amp;i(v)&amp;&amp;m&gt;=0?(g=o.c2r(m)-l[0],y=d(v),E[p]=S[2*p]=g*Math.cos(y),L[p]=S[2*p+1]=g*Math.sin(y)):E[p]=L[p]=S[2*p]=S[2*p+1]=NaN;var C=a.sceneOptions(t,e,b,S);C.fill&amp;&amp;!u.fill2d&amp;&amp;(u.fill2d=!0),C.marker&amp;&amp;!u.scatter2d&amp;&amp;(u.scatter2d=!0),C.line&amp;&amp;!u.line2d&amp;&amp;(u.line2d=!0),!C.errorX&amp;&amp;!C.errorY||u.error2d||(u.error2d=!0),c.hasMarkers(b)&amp;&amp;(C.selected.positions=C.unselected.positions=C.marker.positions),u.lineOptions.push(C.line),u.errorXOptions.push(C.errorX),u.errorYOptions.push(C.errorY),u.fillOptions.push(C.fill),u.markerOptions.push(C.marker),u.selectedOptions.push(C.selected),u.unselectedOptions.push(C.unselected),u.count=r.length,_.scene=u,_.index=h,_.x=E,_.y=L,_.rawx=E,_.rawy=L,_.r=w,_.theta=M,_.positions=S,_.count=T,_.tree=n(S,512)}}),a.plot(t,e,r)},hoverPoints:function(t,e,r,n){var i=t.cd[0].t,o=i.r,s=i.theta,c=a.hoverPoints(t,e,r,n);if(c&amp;&amp;!1!==c[0].index){var u=c[0];if(void 0===u.index)return c;var f=t.subplot,h=f.angularAxis,d=u.cd[u.index],p=u.trace;if(d.r=o[u.index],d.theta=s[u.index],d.rad=h.c2rad(d.theta,p.thetaunit),f.isPtWithinSector(d))return u.xLabelVal=void 0,u.yLabelVal=void 0,u.extraText=l(d,p,f),c}},style:a.style,selectPoints:a.selectPoints,meta:{}}},{&quot;../../plots/cartesian/axes&quot;:789,&quot;../../plots/polar&quot;:855,&quot;../scatter/colorscale_calc&quot;:1071,&quot;../scatter/subtypes&quot;:1088,&quot;../scattergl&quot;:1115,&quot;../scatterpolar/hover&quot;:1127,&quot;./attributes&quot;:1130,&quot;./defaults&quot;:1131,&quot;fast-isnumeric&quot;:140,kdgrass:292}],1133:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../scatter/attributes&quot;),i=t(&quot;../../plots/attributes&quot;),a=t(&quot;../../components/colorscale/color_attributes&quot;),o=t(&quot;../../components/colorbar/attributes&quot;),s=t(&quot;../../components/drawing/attributes&quot;).dash,l=t(&quot;../../lib/extend&quot;).extendFlat,c=n.marker,u=n.line,f=c.line;e.exports={a:{valType:&quot;data_array&quot;,editType:&quot;calc&quot;},b:{valType:&quot;data_array&quot;,editType:&quot;calc&quot;},c:{valType:&quot;data_array&quot;,editType:&quot;calc&quot;},sum:{valType:&quot;number&quot;,dflt:0,min:0,editType:&quot;calc&quot;},mode:l({},n.mode,{dflt:&quot;markers&quot;}),text:l({},n.text,{}),hovertext:l({},n.hovertext,{}),line:{color:u.color,width:u.width,dash:s,shape:l({},u.shape,{values:[&quot;linear&quot;,&quot;spline&quot;]}),smoothing:u.smoothing,editType:&quot;calc&quot;},connectgaps:n.connectgaps,cliponaxis:n.cliponaxis,fill:l({},n.fill,{values:[&quot;none&quot;,&quot;toself&quot;,&quot;tonext&quot;]}),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:&quot;calc&quot;},a(&quot;marker.line&quot;)),gradient:c.gradient,editType:&quot;calc&quot;},a(&quot;marker&quot;),{showscale:c.showscale,colorbar:o}),textfont:n.textfont,textposition:n.textposition,selected:n.selected,unselected:n.unselected,hoverinfo:l({},i.hoverinfo,{flags:[&quot;a&quot;,&quot;b&quot;,&quot;c&quot;,&quot;text&quot;,&quot;name&quot;]}),hoveron:n.hoveron}},{&quot;../../components/colorbar/attributes&quot;:619,&quot;../../components/colorscale/color_attributes&quot;:626,&quot;../../components/drawing/attributes&quot;:642,&quot;../../lib/extend&quot;:732,&quot;../../plots/attributes&quot;:787,&quot;../scatter/attributes&quot;:1066}],1134:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;fast-isnumeric&quot;),i=t(&quot;../scatter/colorscale_calc&quot;),a=t(&quot;../scatter/arrays_to_calcdata&quot;),o=t(&quot;../scatter/calc_selection&quot;),s=t(&quot;../scatter/calc&quot;).calcMarkerSize,l=[&quot;a&quot;,&quot;b&quot;,&quot;c&quot;],c={a:[&quot;b&quot;,&quot;c&quot;],b:[&quot;a&quot;,&quot;c&quot;],c:[&quot;a&quot;,&quot;b&quot;]};e.exports=function(t,e){var r,u,f,h,d,p,m=t._fullLayout[e.subplot].sum,g=e.sum||m;for(r=0;r&lt;l.length;r++)if(f=l[r],!e[f]){for(d=e[c[f][0]],p=e[c[f][1]],h=new Array(d.length),u=0;u&lt;d.length;u++)h[u]=g-d[u]-p[u];e[f]=h}var v,y,x,b,_,w,M=e.a.length,k=new Array(M);for(r=0;r&lt;M;r++)v=e.a[r],y=e.b[r],x=e.c[r],n(v)&amp;&amp;n(y)&amp;&amp;n(x)?(1!==(b=m/((v=+v)+(y=+y)+(x=+x)))&amp;&amp;(v*=b,y*=b,x*=b),w=v,_=x-y,k[r]={x:_,y:w,a:v,b:y,c:x}):k[r]={x:!1,y:!1};return s(e,M),i(e),a(k,e),o(k,e),k}},{&quot;../scatter/arrays_to_calcdata&quot;:1065,&quot;../scatter/calc&quot;:1067,&quot;../scatter/calc_selection&quot;:1068,&quot;../scatter/colorscale_calc&quot;:1071,&quot;fast-isnumeric&quot;:140}],1135:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib&quot;),i=t(&quot;../scatter/constants&quot;),a=t(&quot;../scatter/subtypes&quot;),o=t(&quot;../scatter/marker_defaults&quot;),s=t(&quot;../scatter/line_defaults&quot;),l=t(&quot;../scatter/line_shape_defaults&quot;),c=t(&quot;../scatter/text_defaults&quot;),u=t(&quot;../scatter/fillcolor_defaults&quot;),f=t(&quot;./attributes&quot;);e.exports=function(t,e,r,h){function d(r,i){return n.coerce(t,e,f,r,i)}var p,m=d(&quot;a&quot;),g=d(&quot;b&quot;),v=d(&quot;c&quot;);if(m?(p=m.length,g?(p=Math.min(p,g.length),v&amp;&amp;(p=Math.min(p,v.length))):p=v?Math.min(p,v.length):0):g&amp;&amp;v&amp;&amp;(p=Math.min(g.length,v.length)),p){m&amp;&amp;p&lt;m.length&amp;&amp;(e.a=m.slice(0,p)),g&amp;&amp;p&lt;g.length&amp;&amp;(e.b=g.slice(0,p)),v&amp;&amp;p&lt;v.length&amp;&amp;(e.c=v.slice(0,p)),d(&quot;sum&quot;),d(&quot;text&quot;),d(&quot;hovertext&quot;);d(&quot;mode&quot;,p&lt;i.PTS_LINESONLY?&quot;lines+markers&quot;:&quot;lines&quot;),a.hasLines(e)&amp;&amp;(s(t,e,r,h,d),l(t,e,d),d(&quot;connectgaps&quot;)),a.hasMarkers(e)&amp;&amp;o(t,e,r,h,d,{gradient:!0}),a.hasText(e)&amp;&amp;c(t,e,h,d);var y=[];(a.hasMarkers(e)||a.hasText(e))&amp;&amp;(d(&quot;cliponaxis&quot;),d(&quot;marker.maxdisplayed&quot;),y.push(&quot;points&quot;)),d(&quot;fill&quot;),&quot;none&quot;!==e.fill&amp;&amp;(u(t,e,r,d),a.hasLines(e)||l(t,e,d)),&quot;tonext&quot;!==e.fill&amp;&amp;&quot;toself&quot;!==e.fill||y.push(&quot;fills&quot;),d(&quot;hoveron&quot;,y.join(&quot;+&quot;)||&quot;points&quot;),n.coerceSelectionMarkerOpacity(e,d)}else e.visible=!1}},{&quot;../../lib&quot;:743,&quot;../scatter/constants&quot;:1072,&quot;../scatter/fillcolor_defaults&quot;:1075,&quot;../scatter/line_defaults&quot;:1079,&quot;../scatter/line_shape_defaults&quot;:1081,&quot;../scatter/marker_defaults&quot;:1084,&quot;../scatter/subtypes&quot;:1088,&quot;../scatter/text_defaults&quot;:1089,&quot;./attributes&quot;:1133}],1136:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t,e,r,n,i){if(e.xa&amp;&amp;(t.xaxis=e.xa),e.ya&amp;&amp;(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}},{}],1137:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../scatter/hover&quot;),i=t(&quot;../../plots/cartesian/axes&quot;);e.exports=function(t,e,r,a){function o(t,e){v.push(t._hovertitle+&quot;: &quot;+i.tickText(t,e,&quot;hover&quot;).text)}var s=n(t,e,r,a);if(s&amp;&amp;!1!==s[0].index){var l=s[0];if(void 0===l.index){var c=1-l.y0/t.ya._length,u=t.xa._length,f=u*c/2,h=u-f;return l.x0=Math.max(Math.min(l.x0,h),f),l.x1=Math.max(Math.min(l.x1,h),f),s}var d=l.cd[l.index];l.a=d.a,l.b=d.b,l.c=d.c,l.xLabelVal=void 0,l.yLabelVal=void 0;var p=l.trace,m=l.subplot,g=(d.hi||p.hoverinfo).split(&quot;+&quot;),v=[];return-1!==g.indexOf(&quot;all&quot;)&amp;&amp;(g=[&quot;a&quot;,&quot;b&quot;,&quot;c&quot;]),-1!==g.indexOf(&quot;a&quot;)&amp;&amp;o(m.aaxis,d.a),-1!==g.indexOf(&quot;b&quot;)&amp;&amp;o(m.baxis,d.b),-1!==g.indexOf(&quot;c&quot;)&amp;&amp;o(m.caxis,d.c),l.extraText=v.join(&quot;&lt;br&gt;&quot;),s}}},{&quot;../../plots/cartesian/axes&quot;:789,&quot;../scatter/hover&quot;:1077}],1138:[function(t,e,r){&quot;use strict&quot;;var n={};n.attributes=t(&quot;./attributes&quot;),n.supplyDefaults=t(&quot;./defaults&quot;),n.colorbar=t(&quot;../scatter/colorbar&quot;),n.calc=t(&quot;./calc&quot;),n.plot=t(&quot;./plot&quot;),n.style=t(&quot;../scatter/style&quot;).style,n.hoverPoints=t(&quot;./hover&quot;),n.selectPoints=t(&quot;../scatter/select&quot;),n.eventData=t(&quot;./event_data&quot;),n.moduleType=&quot;trace&quot;,n.name=&quot;scatterternary&quot;,n.basePlotModule=t(&quot;../../plots/ternary&quot;),n.categories=[&quot;ternary&quot;,&quot;symbols&quot;,&quot;markerColorscale&quot;,&quot;showLegend&quot;,&quot;scatter-like&quot;],n.meta={},e.exports=n},{&quot;../../plots/ternary&quot;:866,&quot;../scatter/colorbar&quot;:1070,&quot;../scatter/select&quot;:1086,&quot;../scatter/style&quot;:1087,&quot;./attributes&quot;:1133,&quot;./calc&quot;:1134,&quot;./defaults&quot;:1135,&quot;./event_data&quot;:1136,&quot;./hover&quot;:1137,&quot;./plot&quot;:1139}],1139:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../scatter/plot&quot;);e.exports=function(t,e,r){var i=e.plotContainer;i.select(&quot;.scatterlayer&quot;).selectAll(&quot;*&quot;).remove();var a={xaxis:e.xaxis,yaxis:e.yaxis,plot:i,layerClipId:e._hasClipOnAxisFalse?e.clipIdRelative:null};n(t,a,r)}},{&quot;../scatter/plot&quot;:1085}],1140:[function(t,e,r){&quot;use strict&quot;;function n(t){return{show:{valType:&quot;boolean&quot;,dflt:!1},project:{x:{valType:&quot;boolean&quot;,dflt:!1},y:{valType:&quot;boolean&quot;,dflt:!1},z:{valType:&quot;boolean&quot;,dflt:!1}},color:{valType:&quot;color&quot;,dflt:i.defaultLine},usecolormap:{valType:&quot;boolean&quot;,dflt:!1},width:{valType:&quot;number&quot;,min:1,max:16,dflt:2},highlight:{valType:&quot;boolean&quot;,dflt:!0},highlightcolor:{valType:&quot;color&quot;,dflt:i.defaultLine},highlightwidth:{valType:&quot;number&quot;,min:1,max:16,dflt:2}}}var i=t(&quot;../../components/color&quot;),a=t(&quot;../../components/colorscale/attributes&quot;),o=t(&quot;../../components/colorbar/attributes&quot;),s=t(&quot;../../lib/extend&quot;).extendFlat,l=t(&quot;../../plot_api/edit_types&quot;).overrideAll,c=e.exports=l({z:{valType:&quot;data_array&quot;},x:{valType:&quot;data_array&quot;},y:{valType:&quot;data_array&quot;},text:{valType:&quot;data_array&quot;},surfacecolor:{valType:&quot;data_array&quot;},cauto:a.zauto,cmin:a.zmin,cmax:a.zmax,colorscale:a.colorscale,autocolorscale:s({},a.autocolorscale,{dflt:!1}),reversescale:a.reversescale,showscale:a.showscale,colorbar:o,contours:{x:n(),y:n(),z:n()},hidesurface:{valType:&quot;boolean&quot;,dflt:!1},lightposition:{x:{valType:&quot;number&quot;,min:-1e5,max:1e5,dflt:10},y:{valType:&quot;number&quot;,min:-1e5,max:1e5,dflt:1e4},z:{valType:&quot;number&quot;,min:-1e5,max:1e5,dflt:0}},lighting:{ambient:{valType:&quot;number&quot;,min:0,max:1,dflt:.8},diffuse:{valType:&quot;number&quot;,min:0,max:1,dflt:.8},specular:{valType:&quot;number&quot;,min:0,max:2,dflt:.05},roughness:{valType:&quot;number&quot;,min:0,max:1,dflt:.5},fresnel:{valType:&quot;number&quot;,min:0,max:5,dflt:.2}},opacity:{valType:&quot;number&quot;,min:0,max:1,dflt:1},_deprecated:{zauto:s({},a.zauto,{}),zmin:s({},a.zmin,{}),zmax:s({},a.zmax,{})}},&quot;calc&quot;,&quot;nested&quot;);c.x.editType=c.y.editType=c.z.editType=&quot;calc+clearAxisTypes&quot;},{&quot;../../components/color&quot;:618,&quot;../../components/colorbar/attributes&quot;:619,&quot;../../components/colorscale/attributes&quot;:624,&quot;../../lib/extend&quot;:732,&quot;../../plot_api/edit_types&quot;:773}],1141:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../components/colorscale/calc&quot;);e.exports=function(t,e){e.surfacecolor?n(e,e.surfacecolor,&quot;&quot;,&quot;c&quot;):n(e,e.z,&quot;&quot;,&quot;c&quot;)}},{&quot;../../components/colorscale/calc&quot;:625}],1142:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;fast-isnumeric&quot;),i=t(&quot;../../lib&quot;),a=t(&quot;../../plots/plots&quot;),o=t(&quot;../../components/colorscale&quot;),s=t(&quot;../../components/colorbar/draw&quot;);e.exports=function(t,e){var r=e[0].trace,l=&quot;cb&quot;+r.uid,c=r.cmin,u=r.cmax,f=r.surfacecolor||r.z;if(n(c)||(c=i.aggNums(Math.min,null,f)),n(u)||(u=i.aggNums(Math.max,null,f)),t._fullLayout._infolayer.selectAll(&quot;.&quot;+l).remove(),r.showscale){var h=e[0].t.cb=s(t,l),d=o.makeColorScaleFunc(o.extractScale(r.colorscale,c,u),{noNumericCheck:!0});h.fillcolor(d).filllevels({start:c,end:u,size:(u-c)/254}).options(r.colorbar)()}else a.autoMargin(t,l)}},{&quot;../../components/colorbar/draw&quot;:622,&quot;../../components/colorscale&quot;:633,&quot;../../lib&quot;:743,&quot;../../plots/plots&quot;:852,&quot;fast-isnumeric&quot;:140}],1143:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r){this.scene=t,this.uid=r,this.surface=e,this.data=null,this.showContour=[!1,!1,!1],this.dataScale=1}function i(t){var e=t.shape,r=[e[0]+2,e[1]+2],n=o(new Float32Array(r[0]*r[1]),r);return c.assign(n.lo(1,1).hi(e[0],e[1]),t),c.assign(n.lo(1).hi(e[0],1),t.hi(e[0],1)),c.assign(n.lo(1,r[1]-1).hi(e[0],1),t.lo(0,e[1]-1).hi(e[0],1)),c.assign(n.lo(0,1).hi(1,e[1]),t.hi(1)),c.assign(n.lo(r[0]-1,1).hi(1,e[1]),t.lo(e[0]-1)),n.set(0,0,t.get(0,0)),n.set(0,r[1]-1,t.get(0,e[1]-1)),n.set(r[0]-1,0,t.get(e[0]-1,0)),n.set(r[0]-1,r[1]-1,t.get(e[0]-1,e[1]-1)),n}var a=t(&quot;gl-surface3d&quot;),o=t(&quot;ndarray&quot;),s=t(&quot;ndarray-homography&quot;),l=t(&quot;ndarray-fill&quot;),c=t(&quot;ndarray-ops&quot;),u=t(&quot;tinycolor2&quot;),f=t(&quot;../../lib/str2rgbarray&quot;),h=128,d=n.prototype;d.handlePick=function(t){if(t.object===this.surface){var e=t.index=[Math.min(0|Math.round(t.data.index[0]/this.dataScale-1),this.data.z[0].length-1),Math.min(0|Math.round(t.data.index[1]/this.dataScale-1),this.data.z.length-1)],r=[0,0,0];Array.isArray(this.data.x[0])?r[0]=this.data.x[e[1]][e[0]]:r[0]=this.data.x[e[0]],Array.isArray(this.data.y[0])?r[1]=this.data.y[e[1]][e[0]]:r[1]=this.data.y[e[1]],r[2]=this.data.z[e[1]][e[0]],t.traceCoordinate=r;var n=this.scene.fullSceneLayout;t.dataCoordinate=[n.xaxis.d2l(r[0],0,this.data.xcalendar)*this.scene.dataScale[0],n.yaxis.d2l(r[1],0,this.data.ycalendar)*this.scene.dataScale[1],n.zaxis.d2l(r[2],0,this.data.zcalendar)*this.scene.dataScale[2]];var i=this.data.text;return i&amp;&amp;i[e[1]]&amp;&amp;void 0!==i[e[1]][e[0]]?t.textLabel=i[e[1]][e[0]]:t.textLabel=&quot;&quot;,t.data.dataCoordinate=t.dataCoordinate.slice(),this.surface.highlight(t.data),this.scene.glplot.spikes.position=t.dataCoordinate,!0}},d.setContourLevels=function(){for(var t=[[],[],[]],e=!1,r=0;r&lt;3;++r)this.showContour[r]&amp;&amp;(e=!0,t[r]=this.scene.contourLevels[r]);e&amp;&amp;this.surface.update({levels:t})},d.update=function(t){var e,r=this.scene,n=r.fullSceneLayout,a=this.surface,c=t.opacity,d=function(t,e){return void 0===e&amp;&amp;(e=1),t.map(function(t){var r=t[0],n=u(t[1]).toRgb();return{index:r,rgb:[n.r,n.g,n.b,e]}})}(t.colorscale,c),p=t.z,m=t.x,g=t.y,v=n.xaxis,y=n.yaxis,x=n.zaxis,b=r.dataScale,_=p[0].length,w=p.length,M=[o(new Float32Array(_*w),[_,w]),o(new Float32Array(_*w),[_,w]),o(new Float32Array(_*w),[_,w])],k=M[0],A=M[1],T=r.contourLevels;this.data=t;var S=t.xcalendar,E=t.ycalendar,L=t.zcalendar;l(M[2],function(t,e){return x.d2l(p[e][t],0,L)*b[2]}),Array.isArray(m[0])?l(k,function(t,e){return v.d2l(m[e][t],0,S)*b[0]}):l(k,function(t){return v.d2l(m[t],0,S)*b[0]}),Array.isArray(g[0])?l(A,function(t,e){return y.d2l(g[e][t],0,E)*b[1]}):l(A,function(t,e){return y.d2l(g[e],0,E)*b[1]});var C={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],opacity:t.opacity};if(C.intensityBounds=[t.cmin,t.cmax],t.surfacecolor){var z=o(new Float32Array(_*w),[_,w]);l(z,function(e,r){return t.surfacecolor[r][e]}),M.push(z)}else C.intensityBounds[0]*=b[2],C.intensityBounds[1]*=b[2];this.dataScale=function(t){var e=Math.max(t[0].shape[0],t[0].shape[1]);if(e&lt;h){for(var r=h/e,n=[0|Math.floor(t[0].shape[0]*r+1),0|Math.floor(t[0].shape[1]*r+1)],a=n[0]*n[1],l=0;l&lt;t.length;++l){var c=i(t[l]),u=o(new Float32Array(a),n);s(u,c,[r,0,0,0,r,0,0,0,1]),t[l]=u}return r}return 1}(M),t.surfacecolor&amp;&amp;(C.intensity=M.pop());var D=[!0,!0,!0],I=[&quot;x&quot;,&quot;y&quot;,&quot;z&quot;];for(e=0;e&lt;3;++e){var P=t.contours[I[e]];D[e]=P.highlight,C.showContour[e]=P.show||P.highlight,C.showContour[e]&amp;&amp;(C.contourProject[e]=[P.project.x,P.project.y,P.project.z],P.show?(this.showContour[e]=!0,C.levels[e]=T[e],a.highlightColor[e]=C.contourColor[e]=f(P.color),P.usecolormap?a.highlightTint[e]=C.contourTint[e]=0:a.highlightTint[e]=C.contourTint[e]=1,C.contourWidth[e]=P.width):this.showContour[e]=!1,P.highlight&amp;&amp;(C.dynamicColor[e]=f(P.highlightcolor),C.dynamicWidth[e]=P.highlightwidth))}(function(t){var e=t[0].rgb,r=t[t.length-1].rgb;return e[0]===r[0]&amp;&amp;e[1]===r[1]&amp;&amp;e[2]===r[2]&amp;&amp;e[3]===r[3]})(d)&amp;&amp;(C.vertexColor=!0),C.coords=M,a.update(C),a.visible=t.visible,a.enableDynamic=D,a.snapToData=!0,&quot;lighting&quot;in t&amp;&amp;(a.ambientLight=t.lighting.ambient,a.diffuseLight=t.lighting.diffuse,a.specularLight=t.lighting.specular,a.roughness=t.lighting.roughness,a.fresnel=t.lighting.fresnel),&quot;lightposition&quot;in t&amp;&amp;(a.lightPosition=[t.lightposition.x,t.lightposition.y,t.lightposition.z]),c&amp;&amp;c&lt;1&amp;&amp;(a.supportsTransparency=!0)},d.dispose=function(){this.scene.glplot.remove(this.surface),this.surface.dispose()},e.exports=function(t,e){var r=t.glplot.gl,i=a({gl:r}),o=new n(t,i,e.uid);return i._trace=o,o.update(e),t.glplot.add(i),o}},{&quot;../../lib/str2rgbarray&quot;:765,&quot;gl-surface3d&quot;:254,ndarray:458,&quot;ndarray-fill&quot;:448,&quot;ndarray-homography&quot;:450,&quot;ndarray-ops&quot;:452,tinycolor2:546}],1144:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r){e in t&amp;&amp;!(r in t)&amp;&amp;(t[r]=t[e])}var i=t(&quot;../../registry&quot;),a=t(&quot;../../lib&quot;),o=t(&quot;../../components/colorscale/defaults&quot;),s=t(&quot;./attributes&quot;);e.exports=function(t,e,r,l){function c(r,n){return a.coerce(t,e,s,r,n)}var u,f,h=c(&quot;z&quot;);if(h){var d=h[0].length,p=h.length;c(&quot;x&quot;),c(&quot;y&quot;);if(i.getComponentMethod(&quot;calendars&quot;,&quot;handleTraceDefaults&quot;)(t,e,[&quot;x&quot;,&quot;y&quot;,&quot;z&quot;],l),!Array.isArray(e.x))for(e.x=[],u=0;u&lt;d;++u)e.x[u]=u;if(c(&quot;text&quot;),!Array.isArray(e.y))for(e.y=[],u=0;u&lt;p;++u)e.y[u]=u;[&quot;lighting.ambient&quot;,&quot;lighting.diffuse&quot;,&quot;lighting.specular&quot;,&quot;lighting.roughness&quot;,&quot;lighting.fresnel&quot;,&quot;lightposition.x&quot;,&quot;lightposition.y&quot;,&quot;lightposition.z&quot;,&quot;hidesurface&quot;,&quot;opacity&quot;].forEach(function(t){c(t)});var m=c(&quot;surfacecolor&quot;);c(&quot;colorscale&quot;);var g=[&quot;x&quot;,&quot;y&quot;,&quot;z&quot;];for(u=0;u&lt;3;++u){var v=&quot;contours.&quot;+g[u],y=c(v+&quot;.show&quot;),x=c(v+&quot;.highlight&quot;);if(y||x)for(f=0;f&lt;3;++f)c(v+&quot;.project.&quot;+g[f]);y&amp;&amp;(c(v+&quot;.color&quot;),c(v+&quot;.width&quot;),c(v+&quot;.usecolormap&quot;)),x&amp;&amp;(c(v+&quot;.highlightcolor&quot;),c(v+&quot;.highlightwidth&quot;))}m||(n(t,&quot;zmin&quot;,&quot;cmin&quot;),n(t,&quot;zmax&quot;,&quot;cmax&quot;),n(t,&quot;zauto&quot;,&quot;cauto&quot;)),o(t,e,l,c,{prefix:&quot;&quot;,cLetter:&quot;c&quot;})}else e.visible=!1}},{&quot;../../components/colorscale/defaults&quot;:628,&quot;../../lib&quot;:743,&quot;../../registry&quot;:873,&quot;./attributes&quot;:1140}],1145:[function(t,e,r){&quot;use strict&quot;;var n={};n.attributes=t(&quot;./attributes&quot;),n.supplyDefaults=t(&quot;./defaults&quot;),n.colorbar=t(&quot;./colorbar&quot;),n.calc=t(&quot;./calc&quot;),n.plot=t(&quot;./convert&quot;),n.moduleType=&quot;trace&quot;,n.name=&quot;surface&quot;,n.basePlotModule=t(&quot;../../plots/gl3d&quot;),n.categories=[&quot;gl3d&quot;,&quot;2dMap&quot;,&quot;noOpacity&quot;],n.meta={},e.exports=n},{&quot;../../plots/gl3d&quot;:832,&quot;./attributes&quot;:1140,&quot;./calc&quot;:1141,&quot;./colorbar&quot;:1142,&quot;./convert&quot;:1143,&quot;./defaults&quot;:1144}],1146:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../components/annotations/attributes&quot;),i=t(&quot;../../lib/extend&quot;).extendFlat,a=t(&quot;../../plot_api/edit_types&quot;).overrideAll,o=t(&quot;../../plots/font_attributes&quot;),s=t(&quot;../../plots/domain_attributes&quot;);e.exports=a({domain:s({name:&quot;table&quot;,trace:!0}),columnwidth:{valType:&quot;number&quot;,arrayOk:!0,dflt:null},columnorder:{valType:&quot;data_array&quot;},header:{values:{valType:&quot;data_array&quot;,dflt:[]},format:{valType:&quot;data_array&quot;,dflt:[]},prefix:{valType:&quot;string&quot;,arrayOk:!0,dflt:null},suffix:{valType:&quot;string&quot;,arrayOk:!0,dflt:null},height:{valType:&quot;number&quot;,dflt:28},align:i({},n.align,{arrayOk:!0}),line:{width:{valType:&quot;number&quot;,arrayOk:!0,dflt:1},color:{valType:&quot;color&quot;,arrayOk:!0,dflt:&quot;grey&quot;}},fill:{color:{valType:&quot;color&quot;,arrayOk:!0,dflt:&quot;white&quot;}},font:i({},o({arrayOk:!0}))},cells:{values:{valType:&quot;data_array&quot;,dflt:[]},format:{valType:&quot;data_array&quot;,dflt:[]},prefix:{valType:&quot;string&quot;,arrayOk:!0,dflt:null},suffix:{valType:&quot;string&quot;,arrayOk:!0,dflt:null},height:{valType:&quot;number&quot;,dflt:20},align:i({},n.align,{arrayOk:!0}),line:{width:{valType:&quot;number&quot;,arrayOk:!0,dflt:1},color:{valType:&quot;color&quot;,arrayOk:!0,dflt:&quot;grey&quot;}},fill:{color:{valType:&quot;color&quot;,arrayOk:!0,dflt:&quot;white&quot;}},font:i({},o({arrayOk:!0}))}},&quot;calc&quot;,&quot;from-root&quot;)},{&quot;../../components/annotations/attributes&quot;:601,&quot;../../lib/extend&quot;:732,&quot;../../plot_api/edit_types&quot;:773,&quot;../../plots/domain_attributes&quot;:815,&quot;../../plots/font_attributes&quot;:816}],1147:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../plots/get_data&quot;).getModuleCalcData,i=t(&quot;./plot&quot;);r.name=&quot;table&quot;,r.plot=function(t){var e=n(t.calcdata,&quot;table&quot;);e.length&amp;&amp;i(t,e)},r.clean=function(t,e,r,n){var i=n._has&amp;&amp;n._has(&quot;table&quot;),a=e._has&amp;&amp;e._has(&quot;table&quot;);i&amp;&amp;!a&amp;&amp;n._paperdiv.selectAll(&quot;.table&quot;).remove()}},{&quot;../../plots/get_data&quot;:826,&quot;./plot&quot;:1154}],1148:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib/gup&quot;).wrap;e.exports=function(t,e){return n(e)}},{&quot;../../lib/gup&quot;:740}],1149:[function(t,e,r){&quot;use strict&quot;;e.exports={maxDimensionCount:60,overdrag:45,cellPad:8,latexCheck:/^\$.*\$$/,wrapSplitCharacter:&quot; &quot;,wrapSpacer:&quot; &quot;,lineBreaker:&quot;&lt;br&gt;&quot;,uplift:5,goldenRatio:1.618,columnTitleOffset:28,columnExtentOffset:10,transitionEase:&quot;cubic-out&quot;,transitionDuration:100,releaseTransitionEase:&quot;cubic-out&quot;,releaseTransitionDuration:120,scrollbarWidth:8,scrollbarCaptureWidth:18,scrollbarOffset:5,scrollbarHideDelay:1e3,scrollbarHideDuration:1e3,cn:{table:&quot;table&quot;,tableControlView:&quot;table-control-view&quot;,scrollBackground:&quot;scroll-background&quot;,yColumn:&quot;y-column&quot;,columnBlock:&quot;column-block&quot;,scrollAreaClip:&quot;scroll-area-clip&quot;,scrollAreaClipRect:&quot;scroll-area-clip-rect&quot;,columnBoundary:&quot;column-boundary&quot;,columnBoundaryClippath:&quot;column-boundary-clippath&quot;,columnBoundaryRect:&quot;column-boundary-rect&quot;,columnCells:&quot;column-cells&quot;,columnCell:&quot;column-cell&quot;,cellRect:&quot;cell-rect&quot;,cellText:&quot;cell-text&quot;,cellTextHolder:&quot;cell-text-holder&quot;,scrollbarKit:&quot;scrollbar-kit&quot;,scrollbar:&quot;scrollbar&quot;,scrollbarSlider:&quot;scrollbar-slider&quot;,scrollbarGlyph:&quot;scrollbar-glyph&quot;,scrollbarCaptureZone:&quot;scrollbar-capture-zone&quot;}}},{}],1150:[function(t,e,r){&quot;use strict&quot;;function n(t){return t.calcdata.columns.reduce(function(e,r){return r.xIndex&lt;t.xIndex?e+r.columnWidth:e},0)}function i(t,e){return Object.keys(t).map(function(r){return s({},t[r],{auxiliaryBlocks:e})})}function a(t,e){for(var r,n={},i=0,a=0,o={firstRowIndex:null,lastRowIndex:null,rows:[]},s=0,l=0,c=0;c&lt;t.length;c++)r=t[c],o.rows.push({rowIndex:c,rowHeight:r}),((a+=r)&gt;=e||c===t.length-1)&amp;&amp;(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}var o=t(&quot;./constants&quot;),s=t(&quot;../../lib/extend&quot;).extendFlat,l=t(&quot;fast-isnumeric&quot;);e.exports=function(t,e){var r=e.header.values.map(function(t){return Array.isArray(t)?t:[t]}),c=e.cells.values,u=e.domain,f=Math.floor(t._fullLayout._size.w*(u.x[1]-u.x[0])),h=Math.floor(t._fullLayout._size.h*(u.y[1]-u.y[0])),d=r.length?r[0].map(function(){return e.header.height}):[],p=c.length?c[0].map(function(){return e.cells.height}):[],m=d.reduce(function(t,e){return t+e},0),g=a(p,h-m+o.uplift),v=i(a(d,m),[]),y=i(g,v),x={},b=e._fullInput.columnorder,_=r.map(function(t,r){var n=Array.isArray(e.columnwidth)?e.columnwidth[Math.min(r,e.columnwidth.length-1)]:e.columnwidth;return l(n)?Number(n):1}),w=_.reduce(function(t,e){return t+e},0);_=_.map(function(t){return t/w*f});var M={key:e.index,translateX:u.x[0]*t._fullLayout._size.w,translateY:t._fullLayout._size.h*(1-u.y[1]),size:t._fullLayout._size,width:f,height:h,columnOrder:b,groupHeight:h,rowBlocks:y,headerRowBlocks:v,scrollY:0,cells:e.cells,headerCells:s({},e.header,{values:r}),gdColumns:r.map(function(t){return t[0]}),gdColumnsOriginalOrder:r.map(function(t){return t[0]}),prevPages:[0,0],scrollbarState:{scrollbarScrollInProgress:!1},columns:r.map(function(t,e){var r=x[t];x[t]=(r||0)+1;return{key:t+&quot;__&quot;+x[t],label:t,specIndex:e,xIndex:b[e],xScale:n,x:void 0,calcdata:void 0,columnWidth:_[e]}})};return M.columns.forEach(function(t){t.calcdata=M,t.x=n(t)}),M}},{&quot;../../lib/extend&quot;:732,&quot;./constants&quot;:1149,&quot;fast-isnumeric&quot;:140}],1151:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib/extend&quot;).extendFlat;r.splitToPanels=function(t){var e=[0,0],r=n({},t,{key:&quot;header&quot;,type:&quot;header&quot;,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:&quot;cells1&quot;,type:&quot;cells&quot;,page:0,prevPages:e,currentRepaint:[null,null],dragHandle:!1,values:t.calcdata.cells.values[t.specIndex],rowBlocks:t.calcdata.rowBlocks}),n({},t,{key:&quot;cells2&quot;,type:&quot;cells&quot;,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;return[r,e?r+e.rows.length:0]}(t);return t.values.slice(e[0],e[1]).map(function(r,n){return{keyWithinBlock:n+(&quot;string&quot;==typeof r&amp;&amp;r.match(/[&lt;$&amp;&gt; ]/)?&quot;_keybuster_&quot;+Math.random():&quot;&quot;),key:e[0]+n,column:t,calcdata:t.calcdata,page:t.page,rowBlocks:t.rowBlocks,value:r}})}},{&quot;../../lib/extend&quot;:732}],1152:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib&quot;),i=t(&quot;./attributes&quot;);e.exports=function(t,e,r,a){function o(r,a){return n.coerce(t,e,i,r,a)}o(&quot;domain.x&quot;),o(&quot;domain.y&quot;),o(&quot;columnwidth&quot;),o(&quot;header.values&quot;),o(&quot;header.format&quot;),o(&quot;header.align&quot;),o(&quot;header.prefix&quot;),o(&quot;header.suffix&quot;),o(&quot;header.height&quot;),o(&quot;header.line.width&quot;),o(&quot;header.line.color&quot;),o(&quot;header.fill.color&quot;),n.coerceFont(o,&quot;header.font&quot;,n.extendFlat({},a.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&lt;n;s++)o.push(s);e(&quot;columnorder&quot;,o)}(e,o),o(&quot;cells.values&quot;),o(&quot;cells.format&quot;),o(&quot;cells.align&quot;),o(&quot;cells.prefix&quot;),o(&quot;cells.suffix&quot;),o(&quot;cells.height&quot;),o(&quot;cells.line.width&quot;),o(&quot;cells.line.color&quot;),o(&quot;cells.fill.color&quot;),n.coerceFont(o,&quot;cells.font&quot;,n.extendFlat({},a.font))}},{&quot;../../lib&quot;:743,&quot;./attributes&quot;:1146}],1153:[function(t,e,r){&quot;use strict&quot;;var n={};n.attributes=t(&quot;./attributes&quot;),n.supplyDefaults=t(&quot;./defaults&quot;),n.calc=t(&quot;./calc&quot;),n.plot=t(&quot;./plot&quot;),n.moduleType=&quot;trace&quot;,n.name=&quot;table&quot;,n.basePlotModule=t(&quot;./base_plot&quot;),n.categories=[&quot;noOpacity&quot;],n.meta={},e.exports=n},{&quot;./attributes&quot;:1146,&quot;./base_plot&quot;:1147,&quot;./calc&quot;:1148,&quot;./defaults&quot;:1152,&quot;./plot&quot;:1154}],1154:[function(t,e,r){&quot;use strict&quot;;function n(t,e){return&quot;clip&quot;+t._fullLayout._uid+&quot;_scrollAreaBottomClip_&quot;+e.key}function i(t,e){return&quot;clip&quot;+t._fullLayout._uid+&quot;_columnBoundaryClippath_&quot;+e.calcdata.key+&quot;_&quot;+e.specIndex}function a(t){return[].concat.apply([],t.map(function(t){return t})).map(function(t){return t.__data__})}function o(t,e,r){var n=t.selectAll(&quot;.&quot;+M.cn.scrollbarKit).data(A.repeat,A.keyFun);n.enter().append(&quot;g&quot;).classed(M.cn.scrollbarKit,!0).style(&quot;shape-rendering&quot;,&quot;geometricPrecision&quot;),n.each(function(t){var e=t.scrollbarState;e.totalHeight=function(t){var e=t.rowBlocks;return b(e,e.length-1)+(e.length?_(e[e.length-1],1/0):1)}(t),e.scrollableAreaHeight=t.groupHeight-p(t),e.currentlyVisibleHeight=Math.min(e.totalHeight,e.scrollableAreaHeight),e.ratio=e.currentlyVisibleHeight/e.totalHeight,e.barLength=Math.max(e.ratio*e.currentlyVisibleHeight,M.goldenRatio*M.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(&quot;transform&quot;,function(t){return&quot;translate(&quot;+(t.width+M.scrollbarWidth/2+M.scrollbarOffset)+&quot; &quot;+p(t)+&quot;)&quot;});var i=n.selectAll(&quot;.&quot;+M.cn.scrollbar).data(A.repeat,A.keyFun);i.enter().append(&quot;g&quot;).classed(M.cn.scrollbar,!0);var a=i.selectAll(&quot;.&quot;+M.cn.scrollbarSlider).data(A.repeat,A.keyFun);a.enter().append(&quot;g&quot;).classed(M.cn.scrollbarSlider,!0),a.attr(&quot;transform&quot;,function(t){return&quot;translate(0 &quot;+(t.scrollbarState.topY||0)+&quot;)&quot;});var o=a.selectAll(&quot;.&quot;+M.cn.scrollbarGlyph).data(A.repeat,A.keyFun);o.enter().append(&quot;line&quot;).classed(M.cn.scrollbarGlyph,!0).attr(&quot;stroke&quot;,&quot;black&quot;).attr(&quot;stroke-width&quot;,M.scrollbarWidth).attr(&quot;stroke-linecap&quot;,&quot;round&quot;).attr(&quot;y1&quot;,M.scrollbarWidth/2),o.attr(&quot;y2&quot;,function(t){return t.scrollbarState.barLength-M.scrollbarWidth/2}).attr(&quot;stroke-opacity&quot;,function(t){return t.columnDragInProgress||!t.scrollbarState.barWiggleRoom||r?0:.4}),o.transition().delay(0).duration(0),o.transition().delay(M.scrollbarHideDelay).duration(M.scrollbarHideDuration).attr(&quot;stroke-opacity&quot;,0);var s=i.selectAll(&quot;.&quot;+M.cn.scrollbarCaptureZone).data(A.repeat,A.keyFun);s.enter().append(&quot;line&quot;).classed(M.cn.scrollbarCaptureZone,!0).attr(&quot;stroke&quot;,&quot;white&quot;).attr(&quot;stroke-opacity&quot;,.01).attr(&quot;stroke-width&quot;,M.scrollbarCaptureWidth).attr(&quot;stroke-linecap&quot;,&quot;butt&quot;).attr(&quot;y1&quot;,0).on(&quot;mousedown&quot;,function(r){var n=k.event.y,i=this.getBoundingClientRect(),a=r.scrollbarState,o=n-i.top,s=k.scale.linear().domain([0,a.scrollableAreaHeight]).range([0,a.totalHeight]).clamp(!0);a.topY&lt;=o&amp;&amp;o&lt;=a.bottomY||g(e,t,null,s(o-a.barLength/2))(r)}).call(k.behavior.drag().origin(function(t){return k.event.stopPropagation(),t.scrollbarState.scrollbarScrollInProgress=!0,t}).on(&quot;drag&quot;,g(e,t)).on(&quot;dragend&quot;,function(){})),s.attr(&quot;y2&quot;,function(t){return t.scrollbarState.scrollableAreaHeight})}function s(t,e,r,n){var i=function(t){var e=t.selectAll(&quot;.&quot;+M.cn.columnCell).data(z.splitToCells,function(t){return t.keyWithinBlock});return e.enter().append(&quot;g&quot;).classed(M.cn.columnCell,!0),e.exit().remove(),e}(function(t){var e=t.selectAll(&quot;.&quot;+M.cn.columnCells).data(A.repeat,A.keyFun);return e.enter().append(&quot;g&quot;).classed(M.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:u(r.size,n,e),color:u(r.color,n,e),family:u(r.family,n,e)};t.rowNumber=t.key,t.align=u(t.calcdata.cells.align,n,e),t.cellBorderWidth=u(t.calcdata.cells.line.width,n,e),t.font=i})}(i);!function(t){t.attr(&quot;width&quot;,function(t){return t.column.columnWidth}).attr(&quot;stroke-width&quot;,function(t){return t.cellBorderWidth}).each(function(t){var e=k.select(this);D.stroke(e,u(t.calcdata.cells.line.color,t.column.specIndex,t.rowNumber)),D.fill(e,u(t.calcdata.cells.fill.color,t.column.specIndex,t.rowNumber))})}(function(t){var e=t.selectAll(&quot;.&quot;+M.cn.cellRect).data(A.repeat,function(t){return t.keyWithinBlock});return e.enter().append(&quot;rect&quot;).classed(M.cn.cellRect,!0),e}(i));var a=function(t){var e=t.selectAll(&quot;.&quot;+M.cn.cellText).data(A.repeat,function(t){return t.keyWithinBlock});return e.enter().append(&quot;text&quot;).classed(M.cn.cellText,!0).style(&quot;cursor&quot;,function(){return&quot;auto&quot;}).on(&quot;mousedown&quot;,function(){k.event.stopPropagation()}),e}(function(t){var e=t.selectAll(&quot;.&quot;+M.cn.cellTextHolder).data(A.repeat,function(t){return t.keyWithinBlock});return e.enter().append(&quot;g&quot;).classed(M.cn.cellTextHolder,!0).style(&quot;shape-rendering&quot;,&quot;geometricPrecision&quot;),e}(i));!function(t){t.each(function(t){T.font(k.select(this),t.font)})}(a),l(a,e,n,t),x(i)}function l(t,e,r,n){t.text(function(t){var e=t.column.specIndex,r=t.rowNumber,n=t.value,i=&quot;string&quot;==typeof n,a=i&amp;&amp;n.match(/&lt;br&gt;/i),o=!i||a;t.mayHaveMarkup=i&amp;&amp;n.match(/[&lt;&amp;&gt;]/);var s=function(t){return&quot;string&quot;==typeof t&amp;&amp;t.match(M.latexCheck)}(n);t.latex=s;var l,f=s?&quot;&quot;:u(t.calcdata.cells.prefix,e,r)||&quot;&quot;,h=s?&quot;&quot;:u(t.calcdata.cells.suffix,e,r)||&quot;&quot;,d=s?null:u(t.calcdata.cells.format,e,r)||null,p=f+(d?k.format(d)(t.value):t.value)+h;t.wrappingNeeded=!t.wrapped&amp;&amp;!o&amp;&amp;!s&amp;&amp;(l=c(p)),t.cellHeightMayIncrease=a||s||t.mayHaveMarkup||(void 0===l?c(p):l),t.needsConvertToTspans=t.mayHaveMarkup||t.wrappingNeeded||t.latex;var m;if(t.wrappingNeeded){var g=(&quot; &quot;===M.wrapSplitCharacter?p.replace(/&lt;a href=/gi,&quot;&lt;a_href=&quot;):p).split(M.wrapSplitCharacter),v=&quot; &quot;===M.wrapSplitCharacter?g.map(function(t){return t.replace(/&lt;a_href=/gi,&quot;&lt;a href=&quot;)}):g;t.fragments=v.map(function(t){return{text:t,width:null}}),t.fragments.push({fragment:M.wrapSpacer,width:null}),m=v.join(M.lineBreaker)+M.lineBreaker+M.wrapSpacer}else delete t.fragments,m=p;return m}).attr(&quot;dy&quot;,function(t){return t.needsConvertToTspans?0:&quot;0.75em&quot;}).each(function(t){var i=k.select(this),a=t.wrappingNeeded?function(t,e,r){return function(){var n=k.select(e.parentNode);n.each(function(t){var e=t.fragments;n.selectAll(&quot;tspan.line&quot;).each(function(t,r){e[r].width=this.getComputedTextLength()});var r,i,a=e[e.length-1].width,o=e.slice(0,-1),s=[],l=0,c=t.column.columnWidth-2*M.cellPad;for(t.value=&quot;&quot;;o.length;)r=o.shift(),i=r.width+a,l+i&gt;c&amp;&amp;(t.value+=s.join(M.wrapSpacer)+M.lineBreaker,s=[],l=0),s.push(r.text),l+=i;l&amp;&amp;(t.value+=s.join(M.wrapSpacer)),t.wrapped=!0}),n.selectAll(&quot;tspan.line&quot;).remove(),l(n.select(&quot;.&quot;+M.cn.cellText),r,t),k.select(e.parentNode.parentNode).call(x)}}:function(t,e,r,n,i){return function(){if(!i.settledY){var a=k.select(e.parentNode),s=w(i),l=i.key-s.firstRowIndex,c=s.rows[l].rowHeight,u=i.cellHeightMayIncrease?e.parentNode.getBoundingClientRect().height+2*M.cellPad:c,f=Math.max(u,c),d=f-s.rows[l].rowHeight;d&amp;&amp;(s.rows[l].rowHeight=f,t.selectAll(&quot;.&quot;+M.cn.columnCell).call(x),m(null,t.filter(h),0),o(r,n,!0)),a.attr(&quot;transform&quot;,function(){var t=this.parentNode,e=t.getBoundingClientRect(),r=k.select(this.parentNode).select(&quot;.&quot;+M.cn.cellRect).node().getBoundingClientRect(),n=this.transform.baseVal.consolidate(),a=r.top-e.top+(n?n.matrix.f:M.cellPad);return&quot;translate(&quot;+y(i,k.select(this.parentNode).select(&quot;.&quot;+M.cn.cellTextHolder).node().getBoundingClientRect().width)+&quot; &quot;+a+&quot;)&quot;}),i.settledY=!0}}};t.needsConvertToTspans?S.convertToTspans(i,n,a(r,this,e,n,t)):k.select(this.parentNode).attr(&quot;transform&quot;,function(t){return&quot;translate(&quot;+y(t)+&quot; &quot;+M.cellPad+&quot;)&quot;}).attr(&quot;text-anchor&quot;,function(t){return{left:&quot;start&quot;,center:&quot;middle&quot;,right:&quot;end&quot;}[t.align]})})}function c(t){return-1!==t.indexOf(M.wrapSplitCharacter)}function u(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 f(t,e,r){t.transition().ease(M.releaseTransitionEase).duration(M.releaseTransitionDuration).attr(&quot;transform&quot;,&quot;translate(&quot;+e.x+&quot; &quot;+r+&quot;)&quot;)}function h(t){return&quot;cells&quot;===t.type}function d(t){return&quot;header&quot;===t.type}function p(t){return(t.rowBlocks.length?t.rowBlocks[0].auxiliaryBlocks:[]).reduce(function(t,e){return t+_(e,1/0)},0)}function m(t,e,r){var n=a(e)[0];if(void 0!==n){var i=n.rowBlocks,s=n.calcdata,l=b(i,i.length),c=n.calcdata.groupHeight-p(n),u=s.scrollY=Math.max(0,Math.min(l-c,s.scrollY)),f=function(t,e,r){for(var n=[],i=0,a=0;a&lt;t.length;a++){for(var o=t[a],s=o.rows,l=0,c=0;c&lt;s.length;c++)l+=s[c].rowHeight;o.allRowsHeight=l,e&lt;i+l&amp;&amp;e+r&gt;i&amp;&amp;n.push(a),i+=l}return n}(i,u,c);1===f.length&amp;&amp;(f[0]===i.length-1?f.unshift(f[0]-1):f.push(f[0]+1)),f[0]%2&amp;&amp;f.reverse(),e.each(function(t,e){t.page=f[e],t.scrollY=u}),e.attr(&quot;transform&quot;,function(t){return&quot;translate(0 &quot;+(b(t.rowBlocks,t.page)-t.scrollY)+&quot;)&quot;}),t&amp;&amp;(v(t,r,e,f,n.prevPages,n,0),v(t,r,e,f,n.prevPages,n,1),o(r,t))}}function g(t,e,r,n){return function(i){var a=i.calcdata?i.calcdata:i,o=e.filter(function(t){return a.key===t.key}),s=r||a.scrollbarState.dragMultiplier;a.scrollY=void 0===n?a.scrollY+s*k.event.dy:n;var l=o.selectAll(&quot;.&quot;+M.cn.yColumn).selectAll(&quot;.&quot;+M.cn.columnBlock).filter(h);m(t,l,o)}}function v(t,e,r,n,i,a,o){n[o]!==i[o]&amp;&amp;(clearTimeout(a.currentRepaint[o]),a.currentRepaint[o]=setTimeout(function(){var a=r.filter(function(t,e){return e===o&amp;&amp;n[e]!==i[e]});s(t,e,a,r),i[o]=n[o]}))}function y(t,e){switch(t.align){case&quot;left&quot;:return M.cellPad;case&quot;right&quot;:return t.column.columnWidth-(e||0)-M.cellPad;case&quot;center&quot;:return(t.column.columnWidth-(e||0))/2;default:return M.cellPad}}function x(t){t.attr(&quot;transform&quot;,function(t){var e=t.rowBlocks[0].auxiliaryBlocks.reduce(function(t,e){return t+_(e,1/0)},0);return&quot;translate(0 &quot;+(_(w(t),t.key)+e)+&quot;)&quot;}).selectAll(&quot;.&quot;+M.cn.cellRect).attr(&quot;height&quot;,function(t){return function(t,e){return t.rows[e-t.firstRowIndex]}(w(t),t.key).rowHeight})}function b(t,e){for(var r=0,n=e-1;n&gt;=0;n--)r+=function(t){var e=t.allRowsHeight;if(void 0!==e)return e;for(var r=0,n=0;n&lt;t.rows.length;n++)r+=t.rows[n].rowHeight;return t.allRowsHeight=r,r}(t[n]);return r}function _(t,e){for(var r=0,n=0;n&lt;t.rows.length&amp;&amp;t.rows[n].rowIndex&lt;e;n++)r+=t.rows[n].rowHeight;return r}function w(t){return t.rowBlocks[t.page]}var M=t(&quot;./constants&quot;),k=t(&quot;d3&quot;),A=t(&quot;../../lib/gup&quot;),T=t(&quot;../../components/drawing&quot;),S=t(&quot;../../lib/svg_text_utils&quot;),E=t(&quot;../../lib&quot;).raiseToTop,L=t(&quot;../../lib&quot;).cancelTransition,C=t(&quot;./data_preparation_helper&quot;),z=t(&quot;./data_split_helpers&quot;),D=t(&quot;../../components/color&quot;);e.exports=function(t,e){var r=t._fullLayout._paper.selectAll(&quot;.&quot;+M.cn.table).data(e.map(function(e){var r=A.unwrap(e).trace;return C(t,r)}),A.keyFun);r.exit().remove(),r.enter().append(&quot;g&quot;).classed(M.cn.table,!0).attr(&quot;overflow&quot;,&quot;visible&quot;).style(&quot;box-sizing&quot;,&quot;content-box&quot;).style(&quot;position&quot;,&quot;absolute&quot;).style(&quot;left&quot;,0).style(&quot;overflow&quot;,&quot;visible&quot;).style(&quot;shape-rendering&quot;,&quot;crispEdges&quot;).style(&quot;pointer-events&quot;,&quot;all&quot;),r.attr(&quot;width&quot;,function(t){return t.width+t.size.l+t.size.r}).attr(&quot;height&quot;,function(t){return t.height+t.size.t+t.size.b}).attr(&quot;transform&quot;,function(t){return&quot;translate(&quot;+t.translateX+&quot;,&quot;+t.translateY+&quot;)&quot;});var l=r.selectAll(&quot;.&quot;+M.cn.tableControlView).data(A.repeat,A.keyFun);l.enter().append(&quot;g&quot;).classed(M.cn.tableControlView,!0).style(&quot;box-sizing&quot;,&quot;content-box&quot;).on(&quot;mousemove&quot;,function(e){l.filter(function(t){return e===t}).call(o,t)}).on(&quot;mousewheel&quot;,function(e){e.scrollbarState.wheeling||(e.scrollbarState.wheeling=!0,k.event.stopPropagation(),k.event.preventDefault(),g(t,l,null,e.scrollY+k.event.deltaY)(e),e.scrollbarState.wheeling=!1)}).call(o,t,!0),l.attr(&quot;transform&quot;,function(t){return&quot;translate(&quot;+t.size.l+&quot; &quot;+t.size.t+&quot;)&quot;});var c=l.selectAll(&quot;.&quot;+M.cn.scrollBackground).data(A.repeat,A.keyFun);c.enter().append(&quot;rect&quot;).classed(M.cn.scrollBackground,!0).attr(&quot;fill&quot;,&quot;none&quot;),c.attr(&quot;width&quot;,function(t){return t.width}).attr(&quot;height&quot;,function(t){return t.height}),l.each(function(e){T.setClipUrl(k.select(this),n(t,e))});var u=l.selectAll(&quot;.&quot;+M.cn.yColumn).data(function(t){return t.columns},A.keyFun);u.enter().append(&quot;g&quot;).classed(M.cn.yColumn,!0),u.exit().remove(),u.attr(&quot;transform&quot;,function(t){return&quot;translate(&quot;+t.x+&quot; 0)&quot;}).call(k.behavior.drag().origin(function(e){return f(k.select(this),e,-M.uplift),E(this),e.calcdata.columnDragInProgress=!0,o(l.filter(function(t){return e.calcdata.key===t.key}),t),e}).on(&quot;drag&quot;,function(t){var e=k.select(this),r=function(e){return(t===e?k.event.x:e.x)+e.columnWidth/2};t.x=Math.max(-M.overdrag,Math.min(t.calcdata.width+M.overdrag-t.columnWidth,k.event.x));a(u).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)}),u.filter(function(e){return t!==e}).transition().ease(M.transitionEase).duration(M.transitionDuration).attr(&quot;transform&quot;,function(t){return&quot;translate(&quot;+t.x+&quot; 0)&quot;}),e.call(L).attr(&quot;transform&quot;,&quot;translate(&quot;+t.x+&quot; -&quot;+M.uplift+&quot; )&quot;)}).on(&quot;dragend&quot;,function(e){var r=k.select(this),n=e.calcdata;e.x=e.xScale(e),e.calcdata.columnDragInProgress=!1,f(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(&quot;plotly_restyle&quot;)}(t,n,n.columns.map(function(t){return t.xIndex}))})),u.each(function(e){T.setClipUrl(k.select(this),i(t,e))});var p=u.selectAll(&quot;.&quot;+M.cn.columnBlock).data(z.splitToPanels,A.keyFun);p.enter().append(&quot;g&quot;).classed(M.cn.columnBlock,!0).attr(&quot;id&quot;,function(t){return t.key}),p.style(&quot;cursor&quot;,function(t){return t.dragHandle?&quot;ew-resize&quot;:t.calcdata.scrollbarState.barWiggleRoom?&quot;ns-resize&quot;:&quot;default&quot;});var v=p.filter(d),y=p.filter(h);y.call(k.behavior.drag().origin(function(t){return k.event.stopPropagation(),t}).on(&quot;drag&quot;,g(t,l,-1)).on(&quot;dragend&quot;,function(){})),s(t,l,v,p),s(t,l,y,p);var x=l.selectAll(&quot;.&quot;+M.cn.scrollAreaClip).data(A.repeat,A.keyFun);x.enter().append(&quot;clipPath&quot;).classed(M.cn.scrollAreaClip,!0).attr(&quot;id&quot;,function(e){return n(t,e)});var b=x.selectAll(&quot;.&quot;+M.cn.scrollAreaClipRect).data(A.repeat,A.keyFun);b.enter().append(&quot;rect&quot;).classed(M.cn.scrollAreaClipRect,!0).attr(&quot;x&quot;,-M.overdrag).attr(&quot;y&quot;,-M.uplift).attr(&quot;fill&quot;,&quot;none&quot;),b.attr(&quot;width&quot;,function(t){return t.width+2*M.overdrag}).attr(&quot;height&quot;,function(t){return t.height+M.uplift});u.selectAll(&quot;.&quot;+M.cn.columnBoundary).data(A.repeat,A.keyFun).enter().append(&quot;g&quot;).classed(M.cn.columnBoundary,!0);var _=u.selectAll(&quot;.&quot;+M.cn.columnBoundaryClippath).data(A.repeat,A.keyFun);_.enter().append(&quot;clipPath&quot;).classed(M.cn.columnBoundaryClippath,!0),_.attr(&quot;id&quot;,function(e){return i(t,e)});var w=_.selectAll(&quot;.&quot;+M.cn.columnBoundaryRect).data(A.repeat,A.keyFun);w.enter().append(&quot;rect&quot;).classed(M.cn.columnBoundaryRect,!0).attr(&quot;fill&quot;,&quot;none&quot;),w.attr(&quot;width&quot;,function(t){return t.columnWidth}).attr(&quot;height&quot;,function(t){return t.calcdata.height+M.uplift}),m(null,y,l)}},{&quot;../../components/color&quot;:618,&quot;../../components/drawing&quot;:643,&quot;../../lib&quot;:743,&quot;../../lib/gup&quot;:740,&quot;../../lib/svg_text_utils&quot;:766,&quot;./constants&quot;:1149,&quot;./data_preparation_helper&quot;:1150,&quot;./data_split_helpers&quot;:1151,d3:128}],1155:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../box/attributes&quot;),i=t(&quot;../../lib/extend&quot;).extendFlat;e.exports={y:n.y,x:n.x,x0:n.x0,y0:n.y0,name:n.name,orientation:i({},n.orientation,{}),bandwidth:{valType:&quot;number&quot;,min:0,editType:&quot;calc&quot;},scalegroup:{valType:&quot;string&quot;,dflt:&quot;&quot;,editType:&quot;calc&quot;},scalemode:{valType:&quot;enumerated&quot;,values:[&quot;width&quot;,&quot;count&quot;],dflt:&quot;width&quot;,editType:&quot;calc&quot;},spanmode:{valType:&quot;enumerated&quot;,values:[&quot;soft&quot;,&quot;hard&quot;,&quot;manual&quot;],dflt:&quot;soft&quot;,editType:&quot;calc&quot;},span:{valType:&quot;info_array&quot;,items:[{valType:&quot;any&quot;,editType:&quot;calc&quot;},{valType:&quot;any&quot;,editType:&quot;calc&quot;}],editType:&quot;calc&quot;},line:{color:{valType:&quot;color&quot;,editType:&quot;style&quot;},width:{valType:&quot;number&quot;,min:0,dflt:2,editType:&quot;style&quot;},editType:&quot;plot&quot;},fillcolor:n.fillcolor,points:i({},n.boxpoints,{}),jitter:i({},n.jitter,{}),pointpos:i({},n.pointpos,{}),marker:n.marker,text:n.text,box:{visible:{valType:&quot;boolean&quot;,dflt:!1,editType:&quot;plot&quot;},width:{valType:&quot;number&quot;,min:0,max:1,dflt:.25,editType:&quot;plot&quot;},fillcolor:{valType:&quot;color&quot;,editType:&quot;style&quot;},line:{color:{valType:&quot;color&quot;,editType:&quot;style&quot;},width:{valType:&quot;number&quot;,min:0,editType:&quot;style&quot;},editType:&quot;style&quot;},editType:&quot;plot&quot;},meanline:{visible:{valType:&quot;boolean&quot;,dflt:!1,editType:&quot;plot&quot;},color:{valType:&quot;color&quot;,editType:&quot;style&quot;},width:{valType:&quot;number&quot;,min:0,editType:&quot;style&quot;},editType:&quot;plot&quot;},side:{valType:&quot;enumerated&quot;,values:[&quot;both&quot;,&quot;positive&quot;,&quot;negative&quot;],dflt:&quot;both&quot;,editType:&quot;plot&quot;},selected:n.selected,unselected:n.unselected,hoveron:{valType:&quot;flaglist&quot;,flags:[&quot;violins&quot;,&quot;points&quot;,&quot;kde&quot;],dflt:&quot;violins+points+kde&quot;,extras:[&quot;all&quot;],editType:&quot;style&quot;}}},{&quot;../../lib/extend&quot;:732,&quot;../box/attributes&quot;:896}],1156:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib&quot;),i=t(&quot;../../plots/cartesian/axes&quot;),a=t(&quot;../box/calc&quot;),o=t(&quot;./helpers&quot;),s=t(&quot;../../constants/numerical&quot;).BADNUM;e.exports=function(t,e){var r=a(t,e);if(r[0].t.empty)return r;var l=t._fullLayout,c=i.getFromId(t,e[&quot;h&quot;===e.orientation?&quot;xaxis&quot;:&quot;yaxis&quot;]),u=l._violinScaleGroupStats,f=e.scalegroup,h=u[f];h||(h=u[f]={maxWidth:0,maxCount:0});for(var d=0;d&lt;r.length;d++){var p=r[d],m=p.pts.map(o.extractVal),g=m.length,v=function(t,e,r){return 1.059*Math.min(e,r/1.349)*Math.pow(t.length,-.2)}(m,n.stdev(m,g-1,p.mean),p.q3-p.q1),y=p.bandwidth=e.bandwidth||v,x=p.span=function(t,e,r,n){function a(n){var i=c[n],a=r.d2c(i,0,t[e.valLetter+&quot;calendar&quot;]);return a===s?f[n]:a}var o,l=t.spanmode,c=t.span||[],u=[e.min,e.max],f=[e.min-2*n,e.max+2*n],h={type:&quot;linear&quot;,range:o=&quot;soft&quot;===l?f:&quot;hard&quot;===l?u:[a(0),a(1)]};return i.setConvert(h),h.cleanRange(),o}(e,p,c,y),b=x[1]-x[0],_=Math.ceil(b/(Math.min(v,y)/3)),w=b/_;if(!isFinite(w)||!isFinite(_))return n.error(&quot;Something went wrong with computing the violin span&quot;),r[0].t.empty=!0,r;var M=o.makeKDE(p,e,m);p.density=new Array(_);for(var k=0,A=x[0];A&lt;x[1]+w/2;k++,A+=w){var T=M(A);h.maxWidth=Math.max(h.maxWidth,T),p.density[k]={v:T,t:A}}i.expand(c,x,{padded:!0}),h.maxCount=Math.max(h.maxCount,m.length)}return r[0].t.labels.kde=n._(t,&quot;kde:&quot;),r}},{&quot;../../constants/numerical&quot;:721,&quot;../../lib&quot;:743,&quot;../../plots/cartesian/axes&quot;:789,&quot;../box/calc&quot;:897,&quot;./helpers&quot;:1158}],1157:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib&quot;),i=t(&quot;../../components/color&quot;),a=t(&quot;../box/defaults&quot;),o=t(&quot;./attributes&quot;);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(&quot;bandwidth&quot;),l(&quot;scalegroup&quot;,e.name),l(&quot;scalemode&quot;),l(&quot;side&quot;);var u,f=l(&quot;span&quot;);Array.isArray(f)&amp;&amp;(u=&quot;manual&quot;),l(&quot;spanmode&quot;,u);var h=l(&quot;line.color&quot;,(t.marker||{}).color||r),d=l(&quot;line.width&quot;),p=l(&quot;fillcolor&quot;,i.addOpacity(e.line.color,.5));a.handlePointsDefaults(t,e,l,{prefix:&quot;&quot;});var m=c(&quot;box.width&quot;),g=c(&quot;box.fillcolor&quot;,p),v=c(&quot;box.line.color&quot;,h),y=c(&quot;box.line.width&quot;,d);l(&quot;box.visible&quot;,Boolean(m||g||v||y))||delete e.box;var x=c(&quot;meanline.color&quot;,h),b=c(&quot;meanline.width&quot;,d);l(&quot;meanline.visible&quot;,Boolean(x||b))||delete e.meanline}}},{&quot;../../components/color&quot;:618,&quot;../../lib&quot;:743,&quot;../box/defaults&quot;:898,&quot;./attributes&quot;:1155}],1158:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib&quot;),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&lt;n;i++)e+=a((t-r[i])/o);return s*e}},r.getPositionOnKdePath=function(t,e,r){var i,a;&quot;h&quot;===e.orientation?(i=&quot;y&quot;,a=&quot;x&quot;):(i=&quot;x&quot;,a=&quot;y&quot;);var o=n.findPointOnPath(t.path,r,a,{pathLength:t.pathLength}),s=t.posCenterPx,l=o[i];return[l,&quot;both&quot;===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}},{&quot;../../lib&quot;:743}],1159:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib&quot;),i=t(&quot;../../plots/cartesian/axes&quot;),a=t(&quot;../box/hover&quot;),o=t(&quot;./helpers&quot;);e.exports=function(t,e,r,s,l){var c,u,f=t.cd,h=f[0].trace,d=h.hoveron,p=-1!==d.indexOf(&quot;violins&quot;),m=-1!==d.indexOf(&quot;kde&quot;),g=[];if(p||m){var v=a.hoverOnBoxes(t,e,r,s);if(p&amp;&amp;(g=g.concat(v)),m&amp;&amp;v.length&gt;0){var y,x,b,_,w,M=t.xa,k=t.ya;&quot;h&quot;===h.orientation?(w=e,y=&quot;y&quot;,b=k,x=&quot;x&quot;,_=M):(w=r,y=&quot;x&quot;,b=M,x=&quot;y&quot;,_=k);var A=f[t.index];if(w&gt;=A.span[0]&amp;&amp;w&lt;=A.span[1]){var T=n.extendFlat({},t),S=_.c2p(w,!0),E=o.getKdeValue(A,h,w),L=o.getPositionOnKdePath(A,h,S),C=b._offset,z=b._length;T[y+&quot;0&quot;]=L[0],T[y+&quot;1&quot;]=L[1],T[x+&quot;0&quot;]=T[x+&quot;1&quot;]=S,T[x+&quot;Label&quot;]=x+&quot;: &quot;+i.hoverLabelText(_,w)+&quot;, &quot;+f[0].t.labels.kde+&quot; &quot;+E.toFixed(3),g.push(T),(u={stroke:t.color})[y+&quot;1&quot;]=n.constrain(C+L[0],C,C+z),u[y+&quot;2&quot;]=n.constrain(C+L[1],C,C+z),u[x+&quot;1&quot;]=u[x+&quot;2&quot;]=_._offset+S}}}-1!==d.indexOf(&quot;points&quot;)&amp;&amp;(c=a.hoverOnPoints(t,e,r));var D=l.selectAll(&quot;.violinline-&quot;+h.uid).data(u?[0]:[]);return D.enter().append(&quot;line&quot;).classed(&quot;violinline-&quot;+h.uid,!0).attr(&quot;stroke-width&quot;,1.5),D.exit().remove(),D.attr(u),&quot;closest&quot;===s?c?[c]:g:c?(g.push(c),g):g}},{&quot;../../lib&quot;:743,&quot;../../plots/cartesian/axes&quot;:789,&quot;../box/hover&quot;:899,&quot;./helpers&quot;:1158}],1160:[function(t,e,r){&quot;use strict&quot;;e.exports={attributes:t(&quot;./attributes&quot;),layoutAttributes:t(&quot;./layout_attributes&quot;),supplyDefaults:t(&quot;./defaults&quot;),supplyLayoutDefaults:t(&quot;./layout_defaults&quot;),calc:t(&quot;./calc&quot;),setPositions:t(&quot;./set_positions&quot;),plot:t(&quot;./plot&quot;),style:t(&quot;./style&quot;),hoverPoints:t(&quot;./hover&quot;),selectPoints:t(&quot;../box/select&quot;),moduleType:&quot;trace&quot;,name:&quot;violin&quot;,basePlotModule:t(&quot;../../plots/cartesian&quot;),categories:[&quot;cartesian&quot;,&quot;symbols&quot;,&quot;oriented&quot;,&quot;box-violin&quot;,&quot;showLegend&quot;],meta:{}}},{&quot;../../plots/cartesian&quot;:800,&quot;../box/select&quot;:904,&quot;./attributes&quot;:1155,&quot;./calc&quot;:1156,&quot;./defaults&quot;:1157,&quot;./hover&quot;:1159,&quot;./layout_attributes&quot;:1161,&quot;./layout_defaults&quot;:1162,&quot;./plot&quot;:1163,&quot;./set_positions&quot;:1164,&quot;./style&quot;:1165}],1161:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../box/layout_attributes&quot;),i=t(&quot;../../lib&quot;).extendFlat;e.exports={violinmode:i({},n.boxmode,{}),violingap:i({},n.boxgap,{}),violingroupgap:i({},n.boxgroupgap,{})}},{&quot;../../lib&quot;:743,&quot;../box/layout_attributes&quot;:901}],1162:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib&quot;),i=t(&quot;./layout_attributes&quot;),a=t(&quot;../box/layout_defaults&quot;);e.exports=function(t,e,r){a._supply(t,e,r,function(r,a){return n.coerce(t,e,i,r,a)},&quot;violin&quot;)}},{&quot;../../lib&quot;:743,&quot;../box/layout_defaults&quot;:902,&quot;./layout_attributes&quot;:1161}],1163:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;d3&quot;),i=t(&quot;../../lib&quot;),a=t(&quot;../../components/drawing&quot;),o=t(&quot;../box/plot&quot;),s=t(&quot;../scatter/line_points&quot;),l=t(&quot;./helpers&quot;);e.exports=function(t,e,r){function c(t){var e=s(t,{xaxis:f,yaxis:h,connectGaps:!0,baseTolerance:.75,shape:&quot;spline&quot;,simplify:!0});return a.smoothopen(e[0],1)}var u=t._fullLayout,f=e.xaxis,h=e.yaxis;e.plot.select(&quot;.violinlayer&quot;).selectAll(&quot;g.trace.violins&quot;).data(r).enter().append(&quot;g&quot;).attr(&quot;class&quot;,&quot;trace violins&quot;).each(function(t){var r=t[0],a=r.t,s=r.trace,d=r.node3=n.select(this),p=u._numViolins,m=&quot;group&quot;===u.violinmode&amp;&amp;p&gt;1,g=a.bdPos=a.dPos*(1-u.violingap)*(1-u.violingroupgap)/(m?p:1),v=a.bPos=m?2*a.dPos*((a.num+.5)/p-.5)*(1-u.violingap):0;if(!0!==s.visible||a.empty)n.select(this).remove();else{var y=e[a.valLetter+&quot;axis&quot;],x=e[a.posLetter+&quot;axis&quot;],b=&quot;both&quot;===s.side,_=b||&quot;positive&quot;===s.side,w=b||&quot;negative&quot;===s.side,M=s.box&amp;&amp;s.box.visible,k=s.meanline&amp;&amp;s.meanline.visible,A=u._violinScaleGroupStats[s.scalegroup];if(d.selectAll(&quot;path.violin&quot;).data(i.identity).enter().append(&quot;path&quot;).style(&quot;vector-effect&quot;,&quot;non-scaling-stroke&quot;).attr(&quot;class&quot;,&quot;violin&quot;).each(function(t){var e,r=n.select(this),i=t.density,o=i.length,l=t.pos+v,u=x.c2p(l);switch(s.scalemode){case&quot;width&quot;:e=A.maxWidth/g;break;case&quot;count&quot;:e=A.maxWidth/g*(A.maxCount/t.pts.length)}var f,h,d,p,m,M,k;if(_){for(M=new Array(o),p=0;p&lt;o;p++)(k=M[p]={})[a.posLetter]=l+i[p].v/e,k[a.valLetter]=i[p].t;f=c(M)}if(w){for(M=new Array(o),m=0,p=o-1;m&lt;o;m++,p--)(k=M[m]={})[a.posLetter]=l-i[p].v/e,k[a.valLetter]=i[p].t;h=c(M)}if(b)d=f+&quot;L&quot;+h.substr(1)+&quot;Z&quot;;else{var T=[u,y.c2p(i[0].t)],S=[u,y.c2p(i[o-1].t)];&quot;h&quot;===s.orientation&amp;&amp;(T.reverse(),S.reverse()),d=_?&quot;M&quot;+T+&quot;L&quot;+f.substr(1)+&quot;L&quot;+S:&quot;M&quot;+S+&quot;L&quot;+h.substr(1)+&quot;L&quot;+T}r.attr(&quot;d&quot;,d),t.posCenterPx=u,t.posDensityScale=e*g,t.path=r.node(),t.pathLength=t.path.getTotalLength()/(b?2:1)}),M){var T,S,E=s.box.width,L=s.box.line.width;b?(T=g*E,S=0):_?(T=[0,g*E/2],S=-L):(T=[g*E/2,0],S=L),s.whiskerwidth=0,o.plotBoxAndWhiskers(d,{pos:x,val:y},s,{bPos:v,bdPos:T,bPosPxOffset:S}),k&amp;&amp;o.plotBoxMean(d,{pos:x,val:y},s,{bPos:v,bdPos:T,bPosPxOffset:S})}else k&amp;&amp;d.selectAll(&quot;path.mean&quot;).data(i.identity).enter().append(&quot;path&quot;).attr(&quot;class&quot;,&quot;mean&quot;).style({fill:&quot;none&quot;,&quot;vector-effect&quot;:&quot;non-scaling-stroke&quot;}).each(function(t){var e=y.c2p(t.mean,!0),r=l.getPositionOnKdePath(t,s,e);n.select(this).attr(&quot;d&quot;,&quot;h&quot;===s.orientation?&quot;M&quot;+e+&quot;,&quot;+r[0]+&quot;V&quot;+r[1]:&quot;M&quot;+r[0]+&quot;,&quot;+e+&quot;H&quot;+r[1])});s.points&amp;&amp;o.plotPoints(d,{x:f,y:h},s,a)}})}},{&quot;../../components/drawing&quot;:643,&quot;../../lib&quot;:743,&quot;../box/plot&quot;:903,&quot;../scatter/line_points&quot;:1080,&quot;./helpers&quot;:1158,d3:128}],1164:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../box/set_positions&quot;).setPositionOffset,i=[&quot;v&quot;,&quot;h&quot;];e.exports=function(t,e){for(var r=t.calcdata,a=e.xaxis,o=e.yaxis,s=0;s&lt;i.length;s++){for(var l=i[s],c=&quot;h&quot;===l?o:a,u=[],f=0,h=0,d=0;d&lt;r.length;d++){var p=r[d],m=p[0].t,g=p[0].trace;!0!==g.visible||&quot;violin&quot;!==g.type||m.empty||g.orientation!==l||g.xaxis!==a._id||g.yaxis!==o._id||(u.push(d),!1!==g.points&amp;&amp;(f=Math.max(f,g.jitter-g.pointpos-1),h=Math.max(h,g.jitter+g.pointpos-1)))}n(&quot;violin&quot;,t,u,c,[f,h])}}},{&quot;../box/set_positions&quot;:905}],1165:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;d3&quot;),i=t(&quot;../../components/color&quot;),a=t(&quot;../scatter/style&quot;).stylePoints;e.exports=function(t,e){var r=e?e[0].node3:n.select(t).selectAll(&quot;g.trace.violins&quot;);r.style(&quot;opacity&quot;,function(t){return t[0].trace.opacity}),r.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(&quot;path.violin&quot;).style(&quot;stroke-width&quot;,r.line.width+&quot;px&quot;).call(i.stroke,r.line.color).call(i.fill,r.fillcolor),o.selectAll(&quot;path.box&quot;).style(&quot;stroke-width&quot;,l.width+&quot;px&quot;).call(i.stroke,l.color).call(i.fill,s.fillcolor),o.selectAll(&quot;path.mean&quot;).style({&quot;stroke-width&quot;:u+&quot;px&quot;,&quot;stroke-dasharray&quot;:2*u+&quot;px,&quot;+u+&quot;px&quot;}).call(i.stroke,c.color),a(o,r,t)})}},{&quot;../../components/color&quot;:618,&quot;../scatter/style&quot;:1087,d3:128}],1166:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,n){if(n.enabled){for(var c=n.target,u=l.nestedProperty(e,c),h=u.get(),d=function(t,e){var r=t.func,n=e.d2c,s=e.c2d;switch(r){case&quot;count&quot;:return i;case&quot;first&quot;:return a;case&quot;last&quot;:return o;case&quot;sum&quot;:return function(t,e){for(var r=0,i=0;i&lt;e.length;i++){var a=n(t[e[i]]);a!==f&amp;&amp;(r+=a)}return s(r)};case&quot;avg&quot;:return function(t,e){for(var r=0,i=0,a=0;a&lt;e.length;a++){var o=n(t[e[a]]);o!==f&amp;&amp;(r+=o,i++)}return i?s(r/i):f};case&quot;min&quot;:return function(t,e){for(var r=1/0,i=0;i&lt;e.length;i++){var a=n(t[e[i]]);a!==f&amp;&amp;(r=Math.min(r,a))}return r===1/0?f:s(r)};case&quot;max&quot;:return function(t,e){for(var r=-1/0,i=0;i&lt;e.length;i++){var a=n(t[e[i]]);a!==f&amp;&amp;(r=Math.max(r,a))}return r===-1/0?f:s(r)};case&quot;median&quot;:return function(t,e){for(var r=[],i=0;i&lt;e.length;i++){var a=n(t[e[i]]);a!==f&amp;&amp;r.push(a)}if(!r.length)return f;r.sort();var o=(r.length-1)/2;return s((r[Math.floor(o)]+r[Math.ceil(o)])/2)};case&quot;mode&quot;:return function(t,e){for(var r={},i=0,a=f,o=0;o&lt;e.length;o++){var l=n(t[e[o]]);if(l!==f){var c=r[l]=(r[l]||0)+1;c&gt;i&amp;&amp;(i=c,a=l)}}return i?s(a):f};case&quot;rms&quot;:return function(t,e){for(var r=0,i=0,a=0;a&lt;e.length;a++){var o=n(t[e[a]]);o!==f&amp;&amp;(r+=o*o,i++)}return i?s(Math.sqrt(r/i)):f};case&quot;stddev&quot;:return function(e,r){var i,a=0,o=0,s=1,l=f;for(i=0;i&lt;r.length&amp;&amp;l===f;i++)l=n(e[r[i]]);if(l===f)return f;for(;i&lt;r.length;i++){var c=n(e[r[i]]);if(c!==f){var u=c-l;a+=u,o+=u*u,s++}}var h=&quot;sample&quot;===t.funcmode?s-1:s;return h?Math.sqrt((o-a*a/s)/h):0}}}(n,s.getDataConversions(t,e,c,h)),p=new Array(r.length),m=0;m&lt;r.length;m++)p[m]=d(h,r[m]);u.set(p)}}function i(t,e){return e.length}function a(t,e){return t[e[0]]}function o(t,e){return t[e[e.length-1]]}var s=t(&quot;../plots/cartesian/axes&quot;),l=t(&quot;../lib&quot;),c=t(&quot;../plot_api/plot_schema&quot;),u=t(&quot;./helpers&quot;).pointsAccessorFunction,f=t(&quot;../constants/numerical&quot;).BADNUM;r.moduleType=&quot;transform&quot;,r.name=&quot;aggregate&quot;;var h=r.attributes={enabled:{valType:&quot;boolean&quot;,dflt:!0,editType:&quot;calc&quot;},groups:{valType:&quot;string&quot;,strict:!0,noBlank:!0,arrayOk:!0,dflt:&quot;x&quot;,editType:&quot;calc&quot;},aggregations:{_isLinkedToArray:&quot;aggregation&quot;,target:{valType:&quot;string&quot;,editType:&quot;calc&quot;},func:{valType:&quot;enumerated&quot;,values:[&quot;count&quot;,&quot;sum&quot;,&quot;avg&quot;,&quot;median&quot;,&quot;mode&quot;,&quot;rms&quot;,&quot;stddev&quot;,&quot;min&quot;,&quot;max&quot;,&quot;first&quot;,&quot;last&quot;],dflt:&quot;first&quot;,editType:&quot;calc&quot;},funcmode:{valType:&quot;enumerated&quot;,values:[&quot;sample&quot;,&quot;population&quot;],dflt:&quot;sample&quot;,editType:&quot;calc&quot;},enabled:{valType:&quot;boolean&quot;,dflt:!0,editType:&quot;calc&quot;},editType:&quot;calc&quot;},editType:&quot;calc&quot;},d=h.aggregations;r.supplyDefaults=function(t,e){function r(e,r){return l.coerce(t,a,h,e,r)}function n(t,e){return l.coerce(p[i],f,d,t,e)}var i,a={};if(!r(&quot;enabled&quot;))return a;var o=c.findArrayAttributes(e),s={};for(i=0;i&lt;o.length;i++)s[o[i]]=1;var u=r(&quot;groups&quot;);if(!Array.isArray(u)){if(!s[u])return void(a.enabled=!1);s[u]=0}var f,p=t.aggregations||[],m=a.aggregations=new Array(p.length);for(i=0;i&lt;p.length;i++){f={_index:i};var g=n(&quot;target&quot;),v=n(&quot;func&quot;);n(&quot;enabled&quot;)&amp;&amp;g&amp;&amp;(s[g]||&quot;count&quot;===v&amp;&amp;void 0===s[g])?(&quot;stddev&quot;===v&amp;&amp;n(&quot;funcmode&quot;),s[g]=0,m[i]=f):m[i]={enabled:!1,_index:i}}for(i=0;i&lt;o.length;i++)s[o[i]]&amp;&amp;m.push({target:o[i],func:d.func.dflt,enabled:!0,_index:-1});return a},r.calcTransform=function(t,e,r){if(r.enabled){var i=r.groups,a=l.getTargetArray(e,{target:i});if(a){var o,s,c,f,h={},d={},p=[],m=u(e.transforms,r);for(o=0;o&lt;a.length;o++)void 0===(c=h[s=a[o]])?(h[s]=p.length,f=[o],p.push(f),d[h[s]]=m(o)):(p[c].push(o),d[h[s]]=(d[h[s]]||[]).concat(m(o)));r._indexToPoints=d;var g=r.aggregations;for(o=0;o&lt;g.length;o++)n(t,e,p,g[o]);&quot;string&quot;==typeof i&amp;&amp;n(t,e,p,{target:i,func:&quot;first&quot;,enabled:!0})}}}},{&quot;../constants/numerical&quot;:721,&quot;../lib&quot;:743,&quot;../plot_api/plot_schema&quot;:778,&quot;../plots/cartesian/axes&quot;:789,&quot;./helpers&quot;:1169}],1167:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../lib&quot;),i=t(&quot;../registry&quot;),a=t(&quot;../plots/cartesian/axes&quot;),o=t(&quot;./helpers&quot;).pointsAccessorFunction,s=[&quot;=&quot;,&quot;!=&quot;,&quot;&lt;&quot;,&quot;&gt;=&quot;,&quot;&gt;&quot;,&quot;&lt;=&quot;],l=[&quot;[]&quot;,&quot;()&quot;,&quot;[)&quot;,&quot;(]&quot;,&quot;][&quot;,&quot;)(&quot;,&quot;](&quot;,&quot;)[&quot;],c=[&quot;{}&quot;,&quot;}{&quot;];r.moduleType=&quot;transform&quot;,r.name=&quot;filter&quot;,r.attributes={enabled:{valType:&quot;boolean&quot;,dflt:!0,editType:&quot;calc&quot;},target:{valType:&quot;string&quot;,strict:!0,noBlank:!0,arrayOk:!0,dflt:&quot;x&quot;,editType:&quot;calc&quot;},operation:{valType:&quot;enumerated&quot;,values:[].concat(s).concat(l).concat(c),dflt:&quot;=&quot;,editType:&quot;calc&quot;},value:{valType:&quot;any&quot;,dflt:0,editType:&quot;calc&quot;},preservegaps:{valType:&quot;boolean&quot;,dflt:!1,editType:&quot;calc&quot;},editType:&quot;calc&quot;},r.supplyDefaults=function(t){function e(e,i){return n.coerce(t,a,r.attributes,e,i)}var a={};if(e(&quot;enabled&quot;)){e(&quot;preservegaps&quot;),e(&quot;operation&quot;),e(&quot;value&quot;),e(&quot;target&quot;);var o=i.getComponentMethod(&quot;calendars&quot;,&quot;handleDefaults&quot;);o(t,a,&quot;valuecalendar&quot;,null),o(t,a,&quot;targetcalendar&quot;,null)}return a},r.calcTransform=function(t,e,r){function i(t,r){for(var i=0;i&lt;p.length;i++){t(n.nestedProperty(e,p[i]),r)}}if(r.enabled){var u=n.getTargetArray(e,r);if(u){var f=r.target,h=u.length,d=r.targetcalendar,p=e._arrayAttrs;if(&quot;string&quot;==typeof f){var m=n.nestedProperty(e,f+&quot;calendar&quot;).get();m&amp;&amp;(d=m)}var g,v,y=function(t,e,r){function n(t){return-1!==t.indexOf(a)}var i,a=t.operation,o=t.value,u=Array.isArray(o),f=function(r){return e(r,0,t.valuecalendar)},h=function(t){return e(t,0,r)};switch(n(s)?i=f(u?o[0]:o):n(l)?i=u?[f(o[0]),f(o[1])]:[f(o),f(o)]:n(c)&amp;&amp;(i=u?o.map(f):[f(o)]),a){case&quot;=&quot;:return function(t){return h(t)===i};case&quot;!=&quot;:return function(t){return h(t)!==i};case&quot;&lt;&quot;:return function(t){return h(t)&lt;i};case&quot;&lt;=&quot;:return function(t){return h(t)&lt;=i};case&quot;&gt;&quot;:return function(t){return h(t)&gt;i};case&quot;&gt;=&quot;:return function(t){return h(t)&gt;=i};case&quot;[]&quot;:return function(t){var e=h(t);return e&gt;=i[0]&amp;&amp;e&lt;=i[1]};case&quot;()&quot;:return function(t){var e=h(t);return e&gt;i[0]&amp;&amp;e&lt;i[1]};case&quot;[)&quot;:return function(t){var e=h(t);return e&gt;=i[0]&amp;&amp;e&lt;i[1]};case&quot;(]&quot;:return function(t){var e=h(t);return e&gt;i[0]&amp;&amp;e&lt;=i[1]};case&quot;][&quot;:return function(t){var e=h(t);return e&lt;=i[0]||e&gt;=i[1]};case&quot;)(&quot;:return function(t){var e=h(t);return e&lt;i[0]||e&gt;i[1]};case&quot;](&quot;:return function(t){var e=h(t);return e&lt;=i[0]||e&gt;i[1]};case&quot;)[&quot;:return function(t){var e=h(t);return e&lt;i[0]||e&gt;=i[1]};case&quot;{}&quot;:return function(t){return-1!==i.indexOf(h(t))};case&quot;}{&quot;:return function(t){return-1===i.indexOf(h(t))}}}(r,a.getDataToCoordFunc(t,e,f,u),d),x={},b={},_=0;r.preservegaps?(g=function(t){x[t.astr]=n.extendDeep([],t.get()),t.set(new Array(h))},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)}),i(g);for(var w=o(e.transforms,r),M=0;M&lt;h;M++){y(u[M])&amp;&amp;(i(v,M),b[_++]=w(M))}r._indexToPoints=b}}}},{&quot;../lib&quot;:743,&quot;../plots/cartesian/axes&quot;:789,&quot;../registry&quot;:873,&quot;./helpers&quot;:1169}],1168:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../lib&quot;),i=t(&quot;../plot_api/plot_schema&quot;),a=t(&quot;../plots/plots&quot;),o=t(&quot;./helpers&quot;).pointsAccessorFunction;r.moduleType=&quot;transform&quot;,r.name=&quot;groupby&quot;,r.attributes={enabled:{valType:&quot;boolean&quot;,dflt:!0,editType:&quot;calc&quot;},groups:{valType:&quot;data_array&quot;,dflt:[],editType:&quot;calc&quot;},nameformat:{valType:&quot;string&quot;,editType:&quot;calc&quot;},styles:{_isLinkedToArray:&quot;style&quot;,target:{valType:&quot;string&quot;,editType:&quot;calc&quot;},value:{valType:&quot;any&quot;,dflt:{},editType:&quot;calc&quot;},editType:&quot;calc&quot;},editType:&quot;calc&quot;},r.supplyDefaults=function(t,e,i){function a(e,i){return n.coerce(t,s,r.attributes,e,i)}var o,s={};if(!a(&quot;enabled&quot;))return s;a(&quot;groups&quot;),a(&quot;nameformat&quot;,i._dataLength&gt;1?&quot;%{group} (%{trace})&quot;:&quot;%{group}&quot;);var l=t.styles,c=s.styles=[];if(l)for(o=0;o&lt;l.length;o++)c[o]={},n.coerce(l[o],c[o],r.attributes.styles,&quot;target&quot;),n.coerce(l[o],c[o],r.attributes.styles,&quot;value&quot;);return s},r.transform=function(t,e){var r,s,l,c=[];for(s=0;s&lt;t.length;s++)for(r=function(t,e){var r,s,l,c,u,f,h,d,p,m,g=e.transform,v=t.transforms[e.transformIndex].groups,y=o(t.transforms,g);if(!Array.isArray(v)||0===v.length)return[t];var x=n.filterUnique(v),b=new Array(x.length),_=v.length,w=i.findArrayAttributes(t),M=g.styles||[],k={};for(r=0;r&lt;M.length;r++)k[M[r].target]=M[r].value;g.styles&amp;&amp;(m=n.keyedContainer(g,&quot;styles&quot;,&quot;target&quot;,&quot;value.name&quot;));var A={},T={};for(r=0;r&lt;x.length;r++){A[f=x[r]]=r,T[f]=0,(h=b[r]=n.extendDeepNoArrays({},t))._group=f,h.transforms[e.transformIndex]._indexToPoints={};var S=null;for(m&amp;&amp;(S=m.get(f)),h.name=S||n.templateString(g.nameformat,{trace:t.name,group:f}),d=h.transforms,h.transforms=[],s=0;s&lt;d.length;s++)h.transforms[s]=n.extendDeepNoArrays({},d[s]);for(s=0;s&lt;w.length;s++)n.nestedProperty(h,w[s]).set([])}for(l=0;l&lt;w.length;l++){for(c=w[l],s=0,p=[];s&lt;x.length;s++)p[s]=n.nestedProperty(b[s],c).get();for(u=n.nestedProperty(t,c).get(),s=0;s&lt;_;s++)p[A[v[s]]].push(u[s])}for(s=0;s&lt;_;s++)(h=b[A[v[s]]]).transforms[e.transformIndex]._indexToPoints[T[v[s]]]=y(s),T[v[s]]++;for(r=0;r&lt;x.length;r++)f=x[r],h=b[r],a.clearExpandedTraceDefaultColors(h),h=n.extendDeepNoArrays(h,k[f]||{});return b}(t[s],e),l=0;l&lt;r.length;l++)c.push(r[l]);return c}},{&quot;../lib&quot;:743,&quot;../plot_api/plot_schema&quot;:778,&quot;../plots/plots&quot;:852,&quot;./helpers&quot;:1169}],1169:[function(t,e,r){&quot;use strict&quot;;r.pointsAccessorFunction=function(t,e){for(var r,n,i=0;i&lt;t.length&amp;&amp;(r=t[i])!==e;i++)r._indexToPoints&amp;&amp;!1!==r.enabled&amp;&amp;(n=r._indexToPoints);return n?function(t){return n[t]}:function(t){return[t]}}},{}],1170:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../lib&quot;),i=t(&quot;../plots/cartesian/axes&quot;),a=t(&quot;./helpers&quot;).pointsAccessorFunction;r.moduleType=&quot;transform&quot;,r.name=&quot;sort&quot;,r.attributes={enabled:{valType:&quot;boolean&quot;,dflt:!0,editType:&quot;calc&quot;},target:{valType:&quot;string&quot;,strict:!0,noBlank:!0,arrayOk:!0,dflt:&quot;x&quot;,editType:&quot;calc&quot;},order:{valType:&quot;enumerated&quot;,values:[&quot;ascending&quot;,&quot;descending&quot;],dflt:&quot;ascending&quot;,editType:&quot;calc&quot;},editType:&quot;calc&quot;},r.supplyDefaults=function(t){function e(e,a){return n.coerce(t,i,r.attributes,e,a)}var i={};return e(&quot;enabled&quot;)&amp;&amp;(e(&quot;target&quot;),e(&quot;order&quot;)),i},r.calcTransform=function(t,e,r){if(r.enabled){var o=n.getTargetArray(e,r);if(o){var s,l,c=r.target,u=o.length,f=e._arrayAttrs,h=function(t,e,r){for(var n=e.length,i=new Array(n),a=e.slice().sort(function(t,e){switch(t.order){case&quot;ascending&quot;:return function(t,r){return e(t)-e(r)};case&quot;descending&quot;:return function(t,r){return e(r)-e(t)}}}(t,r)),o=0;o&lt;n;o++)for(var s=e[o],l=0;l&lt;n;l++)if(s===a[l]){i[l]=o,a[l]=null;break}return i}(r,o,i.getDataToCoordFunc(t,e,c,o)),d=a(e.transforms,r),p={};for(s=0;s&lt;f.length;s++){var m=n.nestedProperty(e,f[s]),g=m.get(),v=new Array(u);for(l=0;l&lt;u;l++)v[l]=g[h[l]];m.set(v)}for(l=0;l&lt;u;l++)p[l]=d(h[l]);r._indexToPoints=p}}}},{&quot;../lib&quot;:743,&quot;../plots/cartesian/axes&quot;:789,&quot;./helpers&quot;:1169}]},{},[20])(20)});
&lt;/script&gt;
&lt;div id=&quot;7f17492b-8017-4c0b-9140-e2f368a80042&quot; style=&quot;height: 100%; width: 100%;&quot; class=&quot;plotly-graph-div&quot;&gt;&lt;/div&gt;
&lt;script type=&quot;text/javascript&quot;&gt;window.PLOTLYENV=window.PLOTLYENV || {};window.PLOTLYENV.BASE_URL=&quot;https://plot.ly&quot;;Plotly.newPlot(&quot;7f17492b-8017-4c0b-9140-e2f368a80042&quot;, [{&quot;type&quot;: &quot;bar&quot;, &quot;y&quot;: [5, 27, 1, 18, 36, 63, 30, 130, 50, 90, 114, 8], &quot;x&quot;: [&quot;2007&quot;, &quot;2008&quot;, &quot;2009&quot;, &quot;2010&quot;, &quot;2011&quot;, &quot;2012&quot;, &quot;2013&quot;, &quot;2014&quot;, &quot;2015&quot;, &quot;2016&quot;, &quot;2017&quot;, &quot;2018&quot;], &quot;marker&quot;: {&quot;colorscale&quot;: &quot;RdYlBu&quot;, &quot;color&quot;: [5, 27, 1, 18, 36, 63, 30, 130, 50, 90, 114, 8]}}], {}, {&quot;showLink&quot;: true, &quot;linkText&quot;: &quot;Export to plot.ly&quot;})&lt;/script&gt;
&lt;script type=&quot;text/javascript&quot;&gt;window.addEventListener(&quot;resize&quot;, function(){Plotly.Plots.resize(document.getElementById(&quot;7f17492b-8017-4c0b-9140-e2f368a80042&quot;));});&lt;/script&gt;

&lt;p&gt;&lt;strong&gt;Some yearly insights &lt;em&gt;a posteriori&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;I subscribed late in 2007, so not a lot of friendships there&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;OH MY GOD 2009 WHAT HAPPENNED ?&lt;/strong&gt; Oh right, that was my first year in CPGE, a very intense and very competitive curriculum in exact sciences and engineering. Students in this program are called “taupes”, which means “moles” as they never see the light of day because of the insane amount of work they have.&lt;/li&gt;
  &lt;li&gt;2012 saw me going out a lot for the first time in my life, I was enjoying the freedom of a regular learning pace at EPFL in Switzerland.&lt;/li&gt;
  &lt;li&gt;2014 was my second year serving in the military and I was making a lot of new friends on base and on permission.&lt;/li&gt;
  &lt;li&gt;Overall it seems like this is going up and I’m becoming more social as the time goes, I guess it’s a good thing.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I’m trying to make the package as simple to use as possible, this graph was generated with just a one liner :&lt;/p&gt;

&lt;p&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;get_friend_hist()&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;I will add the possibility to show the plot in function of the months and days as well. That way, if anyone wants to have fun and try to correlate the amount of new friends they make with climate change through regression, they can !&lt;/p&gt;

&lt;h2 id=&quot;my-best-friends-&quot;&gt;My best friends !&lt;/h2&gt;

&lt;p&gt;Okay, &lt;strong&gt;best&lt;/strong&gt; friends might be a bit of a stretch, even if this graph contains a lot of people very dear to my heart, it’s not exhaustive.&lt;/p&gt;

&lt;p&gt;With some people I only interact through Whatsapp or through phone conversations, gathering data from external sources could help provide even better graphs.&lt;/p&gt;

&lt;p&gt;The next graph is a histogram of the people with whom I conversed the most on Facebook with their name at the bottom of a column and the number of messages we sent each other on the y axis.&lt;/p&gt;

&lt;script type=&quot;text/javascript&quot;&gt;/**
* plotly.js v1.33.1
* Copyright 2012-2018, Plotly, Inc.
* All rights reserved.
* Licensed under the MIT license
*/
!function(t){if(&quot;object&quot;==typeof exports&amp;&amp;&quot;undefined&quot;!=typeof module)module.exports=t();else if(&quot;function&quot;==typeof define&amp;&amp;define.amd)define([],t);else{(&quot;undefined&quot;!=typeof window?window:&quot;undefined&quot;!=typeof global?global:&quot;undefined&quot;!=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=&quot;function&quot;==typeof require&amp;&amp;require;if(!s&amp;&amp;l)return l(o,!0);if(a)return a(o,!0);var c=new Error(&quot;Cannot find module '&quot;+o+&quot;'&quot;);throw c.code=&quot;MODULE_NOT_FOUND&quot;,c}var u=r[o]={exports:{}};e[o][0].call(u.exports,function(t){var r=e[o][1][t];return i(r||t)},u,u.exports,t,e,r,n)}return r[o].exports}for(var a=&quot;function&quot;==typeof require&amp;&amp;require,o=0;o&lt;n.length;o++)i(n[o]);return i}({1:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../src/lib&quot;),i={&quot;X,X div&quot;:&quot;font-family:'Open Sans', verdana, arial, sans-serif;margin:0;padding:0;&quot;,&quot;X input,X button&quot;:&quot;font-family:'Open Sans', verdana, arial, sans-serif;&quot;,&quot;X input:focus,X button:focus&quot;:&quot;outline:none;&quot;,&quot;X a&quot;:&quot;text-decoration:none;&quot;,&quot;X a:hover&quot;:&quot;text-decoration:none;&quot;,&quot;X .crisp&quot;:&quot;shape-rendering:crispEdges;&quot;,&quot;X .user-select-none&quot;:&quot;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;&quot;,&quot;X svg&quot;:&quot;overflow:hidden;&quot;,&quot;X svg a&quot;:&quot;fill:#447adb;&quot;,&quot;X svg a:hover&quot;:&quot;fill:#3c6dc5;&quot;,&quot;X .main-svg&quot;:&quot;position:absolute;top:0;left:0;pointer-events:none;&quot;,&quot;X .main-svg .draglayer&quot;:&quot;pointer-events:all;&quot;,&quot;X .cursor-default&quot;:&quot;cursor:default;&quot;,&quot;X .cursor-pointer&quot;:&quot;cursor:pointer;&quot;,&quot;X .cursor-crosshair&quot;:&quot;cursor:crosshair;&quot;,&quot;X .cursor-move&quot;:&quot;cursor:move;&quot;,&quot;X .cursor-col-resize&quot;:&quot;cursor:col-resize;&quot;,&quot;X .cursor-row-resize&quot;:&quot;cursor:row-resize;&quot;,&quot;X .cursor-ns-resize&quot;:&quot;cursor:ns-resize;&quot;,&quot;X .cursor-ew-resize&quot;:&quot;cursor:ew-resize;&quot;,&quot;X .cursor-sw-resize&quot;:&quot;cursor:sw-resize;&quot;,&quot;X .cursor-s-resize&quot;:&quot;cursor:s-resize;&quot;,&quot;X .cursor-se-resize&quot;:&quot;cursor:se-resize;&quot;,&quot;X .cursor-w-resize&quot;:&quot;cursor:w-resize;&quot;,&quot;X .cursor-e-resize&quot;:&quot;cursor:e-resize;&quot;,&quot;X .cursor-nw-resize&quot;:&quot;cursor:nw-resize;&quot;,&quot;X .cursor-n-resize&quot;:&quot;cursor:n-resize;&quot;,&quot;X .cursor-ne-resize&quot;:&quot;cursor:ne-resize;&quot;,&quot;X .modebar&quot;:&quot;position:absolute;top:2px;right:2px;z-index:1001;background:rgba(255,255,255,0.7);&quot;,&quot;X .modebar--hover&quot;:&quot;opacity:0;-webkit-transition:opacity 0.3s ease 0s;-moz-transition:opacity 0.3s ease 0s;-ms-transition:opacity 0.3s ease 0s;-o-transition:opacity 0.3s ease 0s;transition:opacity 0.3s ease 0s;&quot;,&quot;X:hover .modebar--hover&quot;:&quot;opacity:1;&quot;,&quot;X .modebar-group&quot;:&quot;float:left;display:inline-block;box-sizing:border-box;margin-left:8px;position:relative;vertical-align:middle;white-space:nowrap;&quot;,&quot;X .modebar-group:first-child&quot;:&quot;margin-left:0px;&quot;,&quot;X .modebar-btn&quot;:&quot;position:relative;font-size:16px;padding:3px 4px;cursor:pointer;line-height:normal;box-sizing:border-box;&quot;,&quot;X .modebar-btn svg&quot;:&quot;position:relative;top:2px;&quot;,&quot;X .modebar-btn path&quot;:&quot;fill:rgba(0,31,95,0.3);&quot;,&quot;X .modebar-btn.active path,X .modebar-btn:hover path&quot;:&quot;fill:rgba(0,22,72,0.5);&quot;,&quot;X .modebar-btn.modebar-btn--logo&quot;:&quot;padding:3px 1px;&quot;,&quot;X .modebar-btn.modebar-btn--logo path&quot;:&quot;fill:#447adb !important;&quot;,&quot;X [data-title]:before,X [data-title]:after&quot;:&quot;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%;&quot;,&quot;X [data-title]:hover:before,X [data-title]:hover:after&quot;:&quot;display:block;opacity:1;&quot;,&quot;X [data-title]:before&quot;:&quot;content:'';position:absolute;background:transparent;border:6px solid transparent;z-index:1002;margin-top:-12px;border-bottom-color:#69738a;margin-right:-6px;&quot;,&quot;X [data-title]:after&quot;:&quot;content:attr(data-title);background:#69738a;color:white;padding:8px 10px;font-size:12px;line-height:12px;white-space:nowrap;margin-right:-18px;border-radius:2px;&quot;,&quot;X .select-outline&quot;:&quot;fill:none;stroke-width:1;shape-rendering:crispEdges;&quot;,&quot;X .select-outline-1&quot;:&quot;stroke:white;&quot;,&quot;X .select-outline-2&quot;:&quot;stroke:black;stroke-dasharray:2px 2px;&quot;,Y:&quot;font-family:'Open Sans';position:fixed;top:50px;right:20px;z-index:10000;font-size:10pt;max-width:180px;&quot;,&quot;Y p&quot;:&quot;margin:0;&quot;,&quot;Y .notifier-note&quot;:&quot;min-width:180px;max-width:250px;border:1px solid #fff;z-index:3000;margin:0;background-color:#8c97af;background-color:rgba(140,151,175,0.9);color:#fff;padding:10px;overflow-wrap:break-word;word-wrap:break-word;-ms-hyphens:auto;-webkit-hyphens:auto;hyphens:auto;&quot;,&quot;Y .notifier-close&quot;:&quot;color:#fff;opacity:0.8;float:right;padding:0 5px;background:none;border:none;font-size:20px;font-weight:bold;line-height:20px;&quot;,&quot;Y .notifier-close:hover&quot;:&quot;color:#444;text-decoration:none;cursor:pointer;&quot;};for(var a in i){var o=a.replace(/^,/,&quot; ,&quot;).replace(/X/g,&quot;.js-plotly-plot .plotly&quot;).replace(/Y/g,&quot;.plotly-notifier&quot;);n.addStyleRule(o,i[a])}},{&quot;../src/lib&quot;:743}],2:[function(t,e,r){&quot;use strict&quot;;e.exports={undo:{width:857.1,path:&quot;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&quot;,ascent:850,descent:-150},home:{width:928.6,path:&quot;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&quot;,ascent:850,descent:-150},&quot;camera-retro&quot;:{width:1e3,path:&quot;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&quot;,ascent:850,descent:-150},zoombox:{width:1e3,path:&quot;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&quot;,ascent:850,descent:-150},pan:{width:1e3,path:&quot;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&quot;,ascent:850,descent:-150},zoom_plus:{width:1e3,path:&quot;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&quot;,ascent:850,descent:-150},zoom_minus:{width:1e3,path:&quot;m0 788l0-876 875 0 0 876-875 0z m688-500l-500 0 0 125 500 0 0-125z&quot;,ascent:850,descent:-150},autoscale:{width:1e3,path:&quot;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&quot;,ascent:850,descent:-150},tooltip_basic:{width:1500,path:&quot;m375 725l0 0-375-375 375-374 0-1 1125 0 0 750-1125 0z&quot;,ascent:850,descent:-150},tooltip_compare:{width:1125,path:&quot;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&quot;,ascent:850,descent:-150},plotlylogo:{width:1542,path:&quot;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&quot;,ascent:850,descent:-150},&quot;z-axis&quot;:{width:1e3,path:&quot;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&quot;,ascent:850,descent:-150},&quot;3d_rotate&quot;:{width:1e3,path:&quot;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&quot;,ascent:850,descent:-150},camera:{width:1e3,path:&quot;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&quot;,ascent:850,descent:-150},movie:{width:1e3,path:&quot;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&quot;,ascent:850,descent:-150},question:{width:857.1,path:&quot;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&quot;,ascent:850,descent:-150},disk:{width:857.1,path:&quot;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&quot;,ascent:850,descent:-150},lasso:{width:1031,path:&quot;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&quot;,ascent:850,descent:-150},selectbox:{width:1e3,path:&quot;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&quot;,ascent:850,descent:-150},spikeline:{width:1e3,path:&quot;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&quot;,ascent:850,descent:-150}}},{}],3:[function(t,e,r){&quot;use strict&quot;;e.exports=t(&quot;../src/transforms/aggregate&quot;)},{&quot;../src/transforms/aggregate&quot;:1166}],4:[function(t,e,r){&quot;use strict&quot;;e.exports=t(&quot;../src/traces/bar&quot;)},{&quot;../src/traces/bar&quot;:887}],5:[function(t,e,r){&quot;use strict&quot;;e.exports=t(&quot;../src/traces/box&quot;)},{&quot;../src/traces/box&quot;:900}],6:[function(t,e,r){&quot;use strict&quot;;e.exports=t(&quot;../src/components/calendars&quot;)},{&quot;../src/components/calendars&quot;:616}],7:[function(t,e,r){&quot;use strict&quot;;e.exports=t(&quot;../src/traces/candlestick&quot;)},{&quot;../src/traces/candlestick&quot;:909}],8:[function(t,e,r){&quot;use strict&quot;;e.exports=t(&quot;../src/traces/carpet&quot;)},{&quot;../src/traces/carpet&quot;:930}],9:[function(t,e,r){&quot;use strict&quot;;e.exports=t(&quot;../src/traces/choropleth&quot;)},{&quot;../src/traces/choropleth&quot;:945}],10:[function(t,e,r){&quot;use strict&quot;;e.exports=t(&quot;../src/traces/contour&quot;)},{&quot;../src/traces/contour&quot;:958}],11:[function(t,e,r){&quot;use strict&quot;;e.exports=t(&quot;../src/traces/contourcarpet&quot;)},{&quot;../src/traces/contourcarpet&quot;:973}],12:[function(t,e,r){&quot;use strict&quot;;e.exports=t(&quot;../src/core&quot;)},{&quot;../src/core&quot;:724}],13:[function(t,e,r){&quot;use strict&quot;;e.exports=t(&quot;../src/transforms/filter&quot;)},{&quot;../src/transforms/filter&quot;:1167}],14:[function(t,e,r){&quot;use strict&quot;;e.exports=t(&quot;../src/transforms/groupby&quot;)},{&quot;../src/transforms/groupby&quot;:1168}],15:[function(t,e,r){&quot;use strict&quot;;e.exports=t(&quot;../src/traces/heatmap&quot;)},{&quot;../src/traces/heatmap&quot;:986}],16:[function(t,e,r){&quot;use strict&quot;;e.exports=t(&quot;../src/traces/heatmapgl&quot;)},{&quot;../src/traces/heatmapgl&quot;:996}],17:[function(t,e,r){&quot;use strict&quot;;e.exports=t(&quot;../src/traces/histogram&quot;)},{&quot;../src/traces/histogram&quot;:1007}],18:[function(t,e,r){&quot;use strict&quot;;e.exports=t(&quot;../src/traces/histogram2d&quot;)},{&quot;../src/traces/histogram2d&quot;:1013}],19:[function(t,e,r){&quot;use strict&quot;;e.exports=t(&quot;../src/traces/histogram2dcontour&quot;)},{&quot;../src/traces/histogram2dcontour&quot;:1017}],20:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;./core&quot;);n.register([t(&quot;./bar&quot;),t(&quot;./box&quot;),t(&quot;./heatmap&quot;),t(&quot;./histogram&quot;),t(&quot;./histogram2d&quot;),t(&quot;./histogram2dcontour&quot;),t(&quot;./pie&quot;),t(&quot;./contour&quot;),t(&quot;./scatterternary&quot;),t(&quot;./violin&quot;),t(&quot;./scatter3d&quot;),t(&quot;./surface&quot;),t(&quot;./mesh3d&quot;),t(&quot;./scattergeo&quot;),t(&quot;./choropleth&quot;),t(&quot;./scattergl&quot;),t(&quot;./pointcloud&quot;),t(&quot;./heatmapgl&quot;),t(&quot;./parcoords&quot;),t(&quot;./scattermapbox&quot;),t(&quot;./sankey&quot;),t(&quot;./table&quot;),t(&quot;./carpet&quot;),t(&quot;./scattercarpet&quot;),t(&quot;./contourcarpet&quot;),t(&quot;./ohlc&quot;),t(&quot;./candlestick&quot;),t(&quot;./scatterpolar&quot;),t(&quot;./scatterpolargl&quot;)]),n.register([t(&quot;./aggregate&quot;),t(&quot;./filter&quot;),t(&quot;./groupby&quot;),t(&quot;./sort&quot;)]),n.register([t(&quot;./calendars&quot;)]),e.exports=n},{&quot;./aggregate&quot;:3,&quot;./bar&quot;:4,&quot;./box&quot;:5,&quot;./calendars&quot;:6,&quot;./candlestick&quot;:7,&quot;./carpet&quot;:8,&quot;./choropleth&quot;:9,&quot;./contour&quot;:10,&quot;./contourcarpet&quot;:11,&quot;./core&quot;:12,&quot;./filter&quot;:13,&quot;./groupby&quot;:14,&quot;./heatmap&quot;:15,&quot;./heatmapgl&quot;:16,&quot;./histogram&quot;:17,&quot;./histogram2d&quot;:18,&quot;./histogram2dcontour&quot;:19,&quot;./mesh3d&quot;:21,&quot;./ohlc&quot;:22,&quot;./parcoords&quot;:23,&quot;./pie&quot;:24,&quot;./pointcloud&quot;:25,&quot;./sankey&quot;:26,&quot;./scatter3d&quot;:27,&quot;./scattercarpet&quot;:28,&quot;./scattergeo&quot;:29,&quot;./scattergl&quot;:30,&quot;./scattermapbox&quot;:31,&quot;./scatterpolar&quot;:32,&quot;./scatterpolargl&quot;:33,&quot;./scatterternary&quot;:34,&quot;./sort&quot;:35,&quot;./surface&quot;:36,&quot;./table&quot;:37,&quot;./violin&quot;:38}],21:[function(t,e,r){&quot;use strict&quot;;e.exports=t(&quot;../src/traces/mesh3d&quot;)},{&quot;../src/traces/mesh3d&quot;:1023}],22:[function(t,e,r){&quot;use strict&quot;;e.exports=t(&quot;../src/traces/ohlc&quot;)},{&quot;../src/traces/ohlc&quot;:1028}],23:[function(t,e,r){&quot;use strict&quot;;e.exports=t(&quot;../src/traces/parcoords&quot;)},{&quot;../src/traces/parcoords&quot;:1037}],24:[function(t,e,r){&quot;use strict&quot;;e.exports=t(&quot;../src/traces/pie&quot;)},{&quot;../src/traces/pie&quot;:1047}],25:[function(t,e,r){&quot;use strict&quot;;e.exports=t(&quot;../src/traces/pointcloud&quot;)},{&quot;../src/traces/pointcloud&quot;:1056}],26:[function(t,e,r){&quot;use strict&quot;;e.exports=t(&quot;../src/traces/sankey&quot;)},{&quot;../src/traces/sankey&quot;:1062}],27:[function(t,e,r){&quot;use strict&quot;;e.exports=t(&quot;../src/traces/scatter3d&quot;)},{&quot;../src/traces/scatter3d&quot;:1096}],28:[function(t,e,r){&quot;use strict&quot;;e.exports=t(&quot;../src/traces/scattercarpet&quot;)},{&quot;../src/traces/scattercarpet&quot;:1102}],29:[function(t,e,r){&quot;use strict&quot;;e.exports=t(&quot;../src/traces/scattergeo&quot;)},{&quot;../src/traces/scattergeo&quot;:1109}],30:[function(t,e,r){&quot;use strict&quot;;e.exports=t(&quot;../src/traces/scattergl&quot;)},{&quot;../src/traces/scattergl&quot;:1115}],31:[function(t,e,r){&quot;use strict&quot;;e.exports=t(&quot;../src/traces/scattermapbox&quot;)},{&quot;../src/traces/scattermapbox&quot;:1121}],32:[function(t,e,r){&quot;use strict&quot;;e.exports=t(&quot;../src/traces/scatterpolar&quot;)},{&quot;../src/traces/scatterpolar&quot;:1128}],33:[function(t,e,r){&quot;use strict&quot;;e.exports=t(&quot;../src/traces/scatterpolargl&quot;)},{&quot;../src/traces/scatterpolargl&quot;:1132}],34:[function(t,e,r){&quot;use strict&quot;;e.exports=t(&quot;../src/traces/scatterternary&quot;)},{&quot;../src/traces/scatterternary&quot;:1138}],35:[function(t,e,r){&quot;use strict&quot;;e.exports=t(&quot;../src/transforms/sort&quot;)},{&quot;../src/transforms/sort&quot;:1170}],36:[function(t,e,r){&quot;use strict&quot;;e.exports=t(&quot;../src/traces/surface&quot;)},{&quot;../src/traces/surface&quot;:1145}],37:[function(t,e,r){&quot;use strict&quot;;e.exports=t(&quot;../src/traces/table&quot;)},{&quot;../src/traces/table&quot;:1153}],38:[function(t,e,r){&quot;use strict&quot;;e.exports=t(&quot;../src/traces/violin&quot;)},{&quot;../src/traces/violin&quot;:1160}],39:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t,e){function r(e,r,i,a){var o=1/t.clientHeight,s=o*(r-m),l=o*(i-g),u=p.flipX?1:-1,h=p.flipY?1:-1,d=Math.PI*p.rotateSpeed,y=n();if(1&amp;e)a.shift?c.rotate(y,0,0,-s*d):c.rotate(y,u*d*s,-h*d*l,0);else if(2&amp;e)c.pan(y,-p.translateSpeed*s*f,p.translateSpeed*l*f,0);else if(4&amp;e){var x=p.zoomSpeed*l/window.innerHeight*(y-c.lastT())*50;c.pan(y,0,0,f*(Math.exp(x)-1))}m=r,g=i,v=a}t=t||document.body;var l=[.01,1/0];&quot;distanceLimits&quot;in(e=e||{})&amp;&amp;(l[0]=e.distanceLimits[0],l[1]=e.distanceLimits[1]),&quot;zoomMin&quot;in e&amp;&amp;(l[0]=e.zoomMin),&quot;zoomMax&quot;in e&amp;&amp;(l[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||&quot;orbit&quot;,distanceLimits:l}),u=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],f=0,h=t.clientWidth,d=t.clientHeight,p={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,tick:function(){var e=n(),r=this.delay;c.idle(e-r),c.flush(e-(100+2*r));var i=e-2*r;c.recalcMatrix(i);for(var a=!0,o=c.computedMatrix,s=0;s&lt;16;++s)a=a&amp;&amp;u[s]===o[s],u[s]=o[s];var l=t.clientWidth===h&amp;&amp;t.clientHeight===d;return h=t.clientWidth,d=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)}};Object.defineProperties(p,{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){return c.setMode(t),c.getMode()},enumerable:!0},center:{get:function(){return c.computedCenter},set:function(t){return c.lookAt(c.lastT(),t),c.computedCenter},enumerable:!0},eye:{get:function(){return c.computedEye},set:function(t){return c.lookAt(c.lastT(),null,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(l)},set:function(t){return c.setDistanceLimits(t),t},enumerable:!0}}),t.addEventListener(&quot;contextmenu&quot;,function(t){return t.preventDefault(),!1});var m=0,g=0,v={shift:!1,control:!1,alt:!1,meta:!1};return a(t,r),t.addEventListener(&quot;touchstart&quot;,function(e){var n=s(e.changedTouches[0],t);r(0,n[0],n[1],v),r(1,n[0],n[1],v)}),t.addEventListener(&quot;touchmove&quot;,function(e){var n=s(e.changedTouches[0],t);r(1,n[0],n[1],v)}),t.addEventListener(&quot;touchend&quot;,function(e){s(e.changedTouches[0],t),r(0,m,g,v)}),o(t,function(t,e,r){var i=p.flipX?1:-1,a=p.flipY?1:-1,o=n();if(Math.abs(t)&gt;Math.abs(e))c.rotate(o,0,0,-t*i*Math.PI*p.rotateSpeed/window.innerWidth);else{var s=p.zoomSpeed*a*e/window.innerHeight*(o-c.lastT())/100;c.pan(o,0,0,f*(Math.exp(s)-1))}},!0),p};var n=t(&quot;right-now&quot;),i=t(&quot;3d-view&quot;),a=t(&quot;mouse-change&quot;),o=t(&quot;mouse-wheel&quot;),s=t(&quot;mouse-event-offset&quot;)},{&quot;3d-view&quot;:40,&quot;mouse-change&quot;:443,&quot;mouse-event-offset&quot;:444,&quot;mouse-wheel&quot;:446,&quot;right-now&quot;:509}],40:[function(t,e,r){&quot;use strict&quot;;function n(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=&quot;turntable&quot;,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}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||&quot;turntable&quot;,u=i(),f=a(),h=o();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 n({turntable:u,orbit:f,matrix:h},c)};var i=t(&quot;turntable-camera-controller&quot;),a=t(&quot;orbit-camera-controller&quot;),o=t(&quot;matrix-camera-controller&quot;),s=n.prototype;[[&quot;flush&quot;,1],[&quot;idle&quot;,1],[&quot;lookAt&quot;,4],[&quot;rotate&quot;,4],[&quot;pan&quot;,4],[&quot;translate&quot;,4],[&quot;setMatrix&quot;,2],[&quot;setDistanceLimits&quot;,2],[&quot;setDistance&quot;,2]].forEach(function(t){for(var e=t[0],r=[],n=0;n&lt;t[1];++n)r.push(&quot;a&quot;+n);var i=&quot;var cc=this._controllerList;for(var i=0;i&lt;cc.length;++i){cc[i].&quot;+t[0]+&quot;(&quot;+r.join()+&quot;)}&quot;;s[e]=Function.apply(null,r.concat(i))}),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&lt;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}},{&quot;matrix-camera-controller&quot;:441,&quot;orbit-camera-controller&quot;:464,&quot;turntable-camera-controller&quot;:551}],41:[function(t,e,r){!function(n,i){&quot;object&quot;==typeof r&amp;&amp;void 0!==e?i(r,t(&quot;d3-array&quot;),t(&quot;d3-collection&quot;),t(&quot;d3-interpolate&quot;)):i(n.d3=n.d3||{},n.d3,n.d3,n.d3)}(this,function(t,e,r,n){&quot;use strict&quot;;t.sankey=function(){function t(){for(var t,e=h,r=0;e.length;)t=[],e.forEach(function(e){e.x=r,e.dx=c,e.sourceLinks.forEach(function(e){t.indexOf(e.target)&lt;0&amp;&amp;t.push(e.target)})}),e=t,++r;!function(t){h.forEach(function(e){e.sourceLinks.length||(e.x=t-1)})}(r),function(t){h.forEach(function(e){e.x*=t})}((f[0]-c)/(r-1))}function i(t){function n(){a.forEach(function(t){var e,r,n,a=0,o=t.length;for(t.sort(i),n=0;n&lt;o;++n)(r=a-(e=t[n]).y)&gt;0&amp;&amp;(e.y+=r),a=e.y+e.dy+u;if((r=a-u-f[1])&gt;0)for(a=e.y-=r,n=o-2;n&gt;=0;--n)(r=(e=t[n]).y+e.dy+u-a)&gt;0&amp;&amp;(e.y-=r),a=e.y})}function i(t,e){return t.y-e.y}var a=r.nest().key(function(t){return t.x}).sortKeys(e.ascending).entries(h).map(function(t){return t.values});!function(){var t=e.min(a,function(t){return(f[1]-(t.length-1)*u)/e.sum(t,s)});a.forEach(function(e){e.forEach(function(e,r){e.y=r,e.dy=e.value*t})}),d.forEach(function(e){e.dy=e.value*t})}(),n();for(var l=1;t&gt;0;--t)!function(t){function r(t){return o(t.target)*t.value}a.slice().reverse().forEach(function(n){n.forEach(function(n){if(n.sourceLinks.length){var i=e.sum(n.sourceLinks,r)/e.sum(n.sourceLinks,s);n.y+=(i-o(n))*t}})})}(l*=.99),n(),function(t){function r(t){return o(t.source)*t.value}a.forEach(function(n){n.forEach(function(n){if(n.targetLinks.length){var i=e.sum(n.targetLinks,r)/e.sum(n.targetLinks,s);n.y+=(i-o(n))*t}})})}(l),n()}function a(){function t(t,e){return t.source.y-e.source.y||t.originalIndex-e.originalIndex}function e(t,e){return t.target.y-e.target.y||t.originalIndex-e.originalIndex}h.forEach(function(r){r.sourceLinks.sort(e),r.targetLinks.sort(t)}),h.forEach(function(t){var e=0,r=0;t.sourceLinks.forEach(function(t){t.sy=e,e+=t.dy}),t.targetLinks.forEach(function(t){t.ty=r,r+=t.dy})})}function o(t){return t.y+t.dy/2}function s(t){return t.value}var l={},c=24,u=8,f=[1,1],h=[],d=[];return l.nodeWidth=function(t){return arguments.length?(c=+t,l):c},l.nodePadding=function(t){return arguments.length?(u=+t,l):u},l.nodes=function(t){return arguments.length?(h=t,l):h},l.links=function(t){return arguments.length?(d=t,l):d},l.size=function(t){return arguments.length?(f=t,l):f},l.layout=function(r){return h.forEach(function(t){t.sourceLinks=[],t.targetLinks=[]}),d.forEach(function(t,e){var r=t.source,n=t.target;&quot;number&quot;==typeof r&amp;&amp;(r=t.source=h[t.source]),&quot;number&quot;==typeof n&amp;&amp;(n=t.target=h[t.target]),t.originalIndex=e,r.sourceLinks.push(t),n.targetLinks.push(t)}),h.forEach(function(t){t.value=Math.max(e.sum(t.sourceLinks,s),e.sum(t.targetLinks,s))}),t(),i(r),a(),l},l.relayout=function(){return a(),l},l.link=function(){function t(t){var r=t.source.x+t.source.dx,i=t.target.x,a=n.interpolateNumber(r,i),o=a(e),s=a(1-e),l=t.source.y+t.sy,c=l+t.dy,u=t.target.y+t.ty,f=u+t.dy;return&quot;M&quot;+r+&quot;,&quot;+l+&quot;C&quot;+o+&quot;,&quot;+l+&quot; &quot;+s+&quot;,&quot;+u+&quot; &quot;+i+&quot;,&quot;+u+&quot;L&quot;+i+&quot;,&quot;+f+&quot;C&quot;+s+&quot;,&quot;+f+&quot; &quot;+o+&quot;,&quot;+c+&quot; &quot;+r+&quot;,&quot;+c+&quot;Z&quot;}var e=.5;return t.curvature=function(r){return arguments.length?(e=+r,t):e},t},l},Object.defineProperty(t,&quot;__esModule&quot;,{value:!0})})},{&quot;d3-array&quot;:120,&quot;d3-collection&quot;:121,&quot;d3-interpolate&quot;:125}],42:[function(t,e,r){&quot;use strict&quot;;var n=&quot;undefined&quot;==typeof WeakMap?t(&quot;weak-map&quot;):WeakMap,i=t(&quot;gl-buffer&quot;),a=t(&quot;gl-vao&quot;),o=new n;e.exports=function(t){var e=o.get(t),r=e&amp;&amp;(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()}},{&quot;gl-buffer&quot;:165,&quot;gl-vao&quot;:259,&quot;weak-map&quot;:573}],43:[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&quot;a&quot;:t[6]+=n,t[7]+=i;break;case&quot;v&quot;:t[1]+=i;break;case&quot;h&quot;:t[1]+=n;break;default:for(var s=1;s&lt;t.length;)t[s++]+=n,t[s++]+=i}switch(o){case&quot;Z&quot;:n=e,i=r;break;case&quot;H&quot;:n=t[1];break;case&quot;V&quot;:i=t[1];break;case&quot;M&quot;:n=e=t[1],i=r=t[2];break;default:n=t[t.length-2],i=t[t.length-1]}return t})}},{}],44:[function(t,e,r){var n=t(&quot;pad-left&quot;);e.exports=function(t,e,r){e=&quot;number&quot;==typeof e?e:1,r=r||&quot;: &quot;;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(&quot;\n&quot;)}},{&quot;pad-left&quot;:465}],45:[function(t,e,r){&quot;use strict&quot;;function n(t,e){for(var r=new Array(e+1),n=0;n&lt;t.length;++n)r[n]=t[n];for(n=0;n&lt;=t.length;++n){for(var a=t.length;a&lt;=e;++a){for(var o=new Array(e),s=0;s&lt;e;++s)o[s]=Math.pow(a+1-n,s);r[a]=o}if(i.apply(void 0,r))return!0}return!1}e.exports=function(t){var e=t.length;if(0===e)return[];if(1===e)return[0];for(var r=t[0].length,i=[t[0]],a=[0],o=1;o&lt;e;++o)if(i.push(t[o]),n(i,r)){if(a.push(o),a.length===r+1)return a}else i.pop();return a};var i=t(&quot;robust-orientation&quot;)},{&quot;robust-orientation&quot;:515}],46:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t,e){return n(e).filter(function(r){for(var n=new Array(r.length),a=0;a&lt;r.length;++a)n[a]=e[r[a]];return i(n)*t&lt;1})};var n=t(&quot;delaunay-triangulate&quot;),i=t(&quot;circumradius&quot;)},{circumradius:92,&quot;delaunay-triangulate&quot;:130}],47:[function(t,e,r){e.exports=function(t,e){return i(n(t,e))};var n=t(&quot;alpha-complex&quot;),i=t(&quot;simplicial-complex-boundary&quot;)},{&quot;alpha-complex&quot;:46,&quot;simplicial-complex-boundary&quot;:523}],48:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t,e){if(!t||null==t.length)throw Error(&quot;Argument should be an array&quot;);e=null==e?1:Math.floor(e);for(var r=Array(2*e),n=0;n&lt;e;n++){for(var i=-1/0,a=1/0,o=n,s=t.length;o&lt;s;o+=e)t[o]&gt;i&amp;&amp;(i=t[o]),t[o]&lt;a&amp;&amp;(a=t[o]);r[n]=a,r[e+n]=i}return r}},{}],49:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;array-bounds&quot;);e.exports=function(t,e,r){if(!t||null==t.length)throw Error(&quot;Argument should be an array&quot;);null==e&amp;&amp;(e=1),null==r&amp;&amp;(r=n(t,e));for(var i=0;i&lt;e;i++){var a=r[e+i],o=r[i],s=i,l=t.length;if(a===1/0&amp;&amp;o===-1/0)for(s=i;s&lt;l;s+=e)t[s]=t[s]===a?1:t[s]===o?0:.5;else if(a===1/0)for(s=i;s&lt;l;s+=e)t[s]=t[s]===a?1:0;else if(o===-1/0)for(s=i;s&lt;l;s+=e)t[s]=t[s]===o?0:1;else{var c=a-o;for(s=i;s&lt;l;s+=e)t[s]=0===c?.5:(t[s]-o)/c}}return t}},{&quot;array-bounds&quot;:48}],50:[function(t,e,r){&quot;use strict&quot;;e.exports=function(){var t={},e=/^rgba?\(\s*\d{1,3}\s*,\s*\d{1,3}\s*,\s*\d{1,3}\s*(,.*)?\)$/,r=/^rgba?\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,?\s*(.*)?\)$/;return t.isPlainObject=function(t){return!Array.isArray(t)&amp;&amp;null!==t&amp;&amp;&quot;object&quot;==typeof t},t.linspace=function(t,e,r){for(var n=(e-t)/Math.max(r-1,1),i=[],a=0;a&lt;r;a++)i.push(t+a*n);return i},t.zip3=function(t,e,r){for(var n=Math.min.apply(null,[t.length,e.length,r.length]),i=[],a=0;a&lt;n;a++)i.push([t[a],e[a],r[a]]);return i},t.sum=function(t){function e(t){for(var n=0;n&lt;t.length;n++)Array.isArray(t[n])?e(t[n]):r+=t[n]}var r=0;return e(t),r},t.zip=function(){for(var t=[].slice.call(arguments),e=t.map(function(t){return t.length}),r=Math.min.apply(null,e),n=[],i=0;i&lt;r;i++){n[i]=[];for(var a=0;a&lt;t.length;++a)n[i][a]=t[a][i]}return n},t.isEqual=function(t,e){if(t.length!==e.length)return!1;for(var r=t.length;r--;)if(t[r]!==e[r])return!1;return!0},t.copy2D=function(t){for(var e=[],r=0;r&lt;t.length;++r){e[r]=[];for(var n=0;n&lt;t[r].length;++n)e[r][n]=t[r][n]}return e},t.copy1D=function(t){for(var e=[],r=0;r&lt;t.length;++r)e[r]=t[r];return e},t.str2RgbArray=function(t,n){var i,a;if(&quot;string&quot;!=typeof t)return t;if(i=[],&quot;#&quot;===t[0]?(3===(t=t.substr(1)).length&amp;&amp;(t+=t),a=parseInt(t,16),i[0]=a&gt;&gt;16&amp;255,i[1]=a&gt;&gt;8&amp;255,i[2]=255&amp;a):e.test(t)&amp;&amp;(a=t.match(r),i[0]=parseInt(a[1]),i[1]=parseInt(a[2]),i[2]=parseInt(a[3])),!n)for(var o=0;o&lt;3;++o)i[o]=i[o]/255;return i},t.str2RgbaArray=function(t,n){var i,a;if(&quot;string&quot;!=typeof t)return t;if(i=[],&quot;#&quot;===t[0]?(3===(t=t.substr(1)).length&amp;&amp;(t+=t),a=parseInt(t,16),i[0]=a&gt;&gt;16&amp;255,i[1]=a&gt;&gt;8&amp;255,i[2]=255&amp;a):e.test(t)&amp;&amp;(a=t.match(r),i[0]=parseInt(a[1]),i[1]=parseInt(a[2]),i[2]=parseInt(a[3]),a[4]?i[3]=parseFloat(a[4]):i[3]=1),!n)for(var o=0;o&lt;3;++o)i[o]=i[o]/255;return i},t}()},{}],51:[function(t,e,r){(function(r){&quot;use strict&quot;;function n(t,e){if(t===e)return 0;for(var r=t.length,n=e.length,i=0,a=Math.min(r,n);i&lt;a;++i)if(t[i]!==e[i]){r=t[i],n=e[i];break}return r&lt;n?-1:n&lt;r?1:0}function i(t){return r.Buffer&amp;&amp;&quot;function&quot;==typeof r.Buffer.isBuffer?r.Buffer.isBuffer(t):!(null==t||!t._isBuffer)}function a(t){return Object.prototype.toString.call(t)}function o(t){return!i(t)&amp;&amp;(&quot;function&quot;==typeof r.ArrayBuffer&amp;&amp;(&quot;function&quot;==typeof ArrayBuffer.isView?ArrayBuffer.isView(t):!!t&amp;&amp;(t instanceof DataView||!!(t.buffer&amp;&amp;t.buffer instanceof ArrayBuffer))))}function s(t){if(v.isFunction(t)){if(b)return t.name;var e=t.toString().match(w);return e&amp;&amp;e[1]}}function l(t,e){return&quot;string&quot;==typeof t?t.length&lt;e?t:t.slice(0,e):t}function c(t){if(b||!v.isFunction(t))return v.inspect(t);var e=s(t);return&quot;[Function&quot;+(e?&quot;: &quot;+e:&quot;&quot;)+&quot;]&quot;}function u(t,e,r,n,i){throw new _.AssertionError({message:r,actual:t,expected:e,operator:n,stackStartFunction:i})}function f(t,e){t||u(t,!0,e,&quot;==&quot;,_.ok)}function h(t,e,r,s){if(t===e)return!0;if(i(t)&amp;&amp;i(e))return 0===n(t,e);if(v.isDate(t)&amp;&amp;v.isDate(e))return t.getTime()===e.getTime();if(v.isRegExp(t)&amp;&amp;v.isRegExp(e))return t.source===e.source&amp;&amp;t.global===e.global&amp;&amp;t.multiline===e.multiline&amp;&amp;t.lastIndex===e.lastIndex&amp;&amp;t.ignoreCase===e.ignoreCase;if(null!==t&amp;&amp;&quot;object&quot;==typeof t||null!==e&amp;&amp;&quot;object&quot;==typeof e){if(o(t)&amp;&amp;o(e)&amp;&amp;a(t)===a(e)&amp;&amp;!(t instanceof Float32Array||t instanceof Float64Array))return 0===n(new Uint8Array(t.buffer),new Uint8Array(e.buffer));if(i(t)!==i(e))return!1;var l=(s=s||{actual:[],expected:[]}).actual.indexOf(t);return-1!==l&amp;&amp;l===s.expected.indexOf(e)||(s.actual.push(t),s.expected.push(e),function(t,e,r,n){if(null===t||void 0===t||null===e||void 0===e)return!1;if(v.isPrimitive(t)||v.isPrimitive(e))return t===e;if(r&amp;&amp;Object.getPrototypeOf(t)!==Object.getPrototypeOf(e))return!1;var i=d(t),a=d(e);if(i&amp;&amp;!a||!i&amp;&amp;a)return!1;if(i)return t=x.call(t),e=x.call(e),h(t,e,r);var o,s,l=M(t),c=M(e);if(l.length!==c.length)return!1;for(l.sort(),c.sort(),s=l.length-1;s&gt;=0;s--)if(l[s]!==c[s])return!1;for(s=l.length-1;s&gt;=0;s--)if(o=l[s],!h(t[o],e[o],r,n))return!1;return!0}(t,e,r,s))}return r?t===e:t==e}function d(t){return&quot;[object Arguments]&quot;==Object.prototype.toString.call(t)}function p(t,e,r){h(t,e,!0)&amp;&amp;u(t,e,r,&quot;notDeepStrictEqual&quot;,p)}function m(t,e){if(!t||!e)return!1;if(&quot;[object RegExp]&quot;==Object.prototype.toString.call(e))return e.test(t);try{if(t instanceof e)return!0}catch(t){}return!Error.isPrototypeOf(e)&amp;&amp;!0===e.call({},t)}function g(t,e,r,n){var i;if(&quot;function&quot;!=typeof e)throw new TypeError('&quot;block&quot; argument must be a function');&quot;string&quot;==typeof r&amp;&amp;(n=r,r=null),i=function(t){var e;try{t()}catch(t){e=t}return e}(e),n=(r&amp;&amp;r.name?&quot; (&quot;+r.name+&quot;).&quot;:&quot;.&quot;)+(n?&quot; &quot;+n:&quot;.&quot;),t&amp;&amp;!i&amp;&amp;u(i,r,&quot;Missing expected exception&quot;+n);var a=&quot;string&quot;==typeof n,o=!t&amp;&amp;v.isError(i),s=!t&amp;&amp;i&amp;&amp;!r;if((o&amp;&amp;a&amp;&amp;m(i,r)||s)&amp;&amp;u(i,r,&quot;Got unwanted exception&quot;+n),t&amp;&amp;i&amp;&amp;r&amp;&amp;!m(i,r)||!t&amp;&amp;i)throw i}var v=t(&quot;util/&quot;),y=Object.prototype.hasOwnProperty,x=Array.prototype.slice,b=&quot;foo&quot;===function(){}.name,_=e.exports=f,w=/\s*function\s+([^\(\s]*)\s*/;_.AssertionError=function(t){this.name=&quot;AssertionError&quot;,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 l(c(t.actual),128)+&quot; &quot;+t.operator+&quot; &quot;+l(c(t.expected),128)}(this),this.generatedMessage=!0);var e=t.stackStartFunction||u;if(Error.captureStackTrace)Error.captureStackTrace(this,e);else{var r=new Error;if(r.stack){var n=r.stack,i=s(e),a=n.indexOf(&quot;\n&quot;+i);if(a&gt;=0){var o=n.indexOf(&quot;\n&quot;,a+1);n=n.substring(o+1)}this.stack=n}}},v.inherits(_.AssertionError,Error),_.fail=u,_.ok=f,_.equal=function(t,e,r){t!=e&amp;&amp;u(t,e,r,&quot;==&quot;,_.equal)},_.notEqual=function(t,e,r){t==e&amp;&amp;u(t,e,r,&quot;!=&quot;,_.notEqual)},_.deepEqual=function(t,e,r){h(t,e,!1)||u(t,e,r,&quot;deepEqual&quot;,_.deepEqual)},_.deepStrictEqual=function(t,e,r){h(t,e,!0)||u(t,e,r,&quot;deepStrictEqual&quot;,_.deepStrictEqual)},_.notDeepEqual=function(t,e,r){h(t,e,!1)&amp;&amp;u(t,e,r,&quot;notDeepEqual&quot;,_.notDeepEqual)},_.notDeepStrictEqual=p,_.strictEqual=function(t,e,r){t!==e&amp;&amp;u(t,e,r,&quot;===&quot;,_.strictEqual)},_.notStrictEqual=function(t,e,r){t===e&amp;&amp;u(t,e,r,&quot;!==&quot;,_.notStrictEqual)},_.throws=function(t,e,r){g(!0,t,e,r)},_.doesNotThrow=function(t,e,r){g(!1,t,e,r)},_.ifError=function(t){if(t)throw t};var M=Object.keys||function(t){var e=[];for(var r in t)y.call(t,r)&amp;&amp;e.push(r);return e}}).call(this,&quot;undefined&quot;!=typeof global?global:&quot;undefined&quot;!=typeof self?self:&quot;undefined&quot;!=typeof window?window:{})},{&quot;util/&quot;:563}],52:[function(t,e,r){e.exports=function(t){return atob(t)}},{}],53:[function(t,e,r){&quot;use strict&quot;;function n(t){for(var e=0,r=0;r&lt;t.length;++r)e+=t[r];return e}e.exports=function(t,e){for(var r=e.length,a=new Array(r+1),o=0;o&lt;r;++o){for(var s=new Array(r+1),l=0;l&lt;=r;++l)s[l]=t[l][o];a[o]=s}for(a[r]=new Array(r+1),o=0;o&lt;=r;++o)a[r][o]=1;var c=new Array(r+1);for(o=0;o&lt;r;++o)c[o]=e[o];c[r]=1;var u=i(a,c),f=n(u[r+1]);0===f&amp;&amp;(f=1);var h=new Array(r+1);for(o=0;o&lt;=r;++o)h[o]=n(u[o])/f;return h};var i=t(&quot;robust-linear-solve&quot;)},{&quot;robust-linear-solve&quot;:514}],54:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;./lib/rationalize&quot;);e.exports=function(t,e){return n(t[0].mul(e[1]).add(e[0].mul(t[1])),t[1].mul(e[1]))}},{&quot;./lib/rationalize&quot;:64}],55:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t,e){return t[0].mul(e[1]).cmp(e[0].mul(t[1]))}},{}],56:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;./lib/rationalize&quot;);e.exports=function(t,e){return n(t[0].mul(e[1]),t[1].mul(e[0]))}},{&quot;./lib/rationalize&quot;:64}],57:[function(t,e,r){&quot;use strict&quot;;function n(t,e){if(i(t))return e?c(t,n(e)):[t[0].clone(),t[1].clone()];var r,u,f=0;if(a(t))r=t.clone();else if(&quot;string&quot;==typeof t)r=s(t);else{if(0===t)return[o(0),o(1)];if(t===Math.floor(t))r=o(t);else{for(;t!==Math.floor(t);)t*=Math.pow(2,256),f-=256;r=o(t)}}if(i(e))r.mul(e[1]),u=e[0].clone();else if(a(e))u=e.clone();else if(&quot;string&quot;==typeof e)u=s(e);else if(e)if(e===Math.floor(e))u=o(e);else{for(;e!==Math.floor(e);)e*=Math.pow(2,256),f+=256;u=o(e)}else u=o(1);return f&gt;0?r=r.ushln(f):f&lt;0&amp;&amp;(u=u.ushln(-f)),l(r,u)}var i=t(&quot;./is-rat&quot;),a=t(&quot;./lib/is-bn&quot;),o=t(&quot;./lib/num-to-bn&quot;),s=t(&quot;./lib/str-to-bn&quot;),l=t(&quot;./lib/rationalize&quot;),c=t(&quot;./div&quot;);e.exports=n},{&quot;./div&quot;:56,&quot;./is-rat&quot;:58,&quot;./lib/is-bn&quot;:62,&quot;./lib/num-to-bn&quot;:63,&quot;./lib/rationalize&quot;:64,&quot;./lib/str-to-bn&quot;:65}],58:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;./lib/is-bn&quot;);e.exports=function(t){return Array.isArray(t)&amp;&amp;2===t.length&amp;&amp;n(t[0])&amp;&amp;n(t[1])}},{&quot;./lib/is-bn&quot;:62}],59:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;bn.js&quot;);e.exports=function(t){return t.cmp(new n(0))}},{&quot;bn.js&quot;:73}],60:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;./bn-sign&quot;);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&lt;e;a++)i+=r[a]*Math.pow(67108864,a);return n(t)*i}},{&quot;./bn-sign&quot;:59}],61:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;double-bits&quot;),i=t(&quot;bit-twiddle&quot;).countTrailingZeros;e.exports=function(t){var e=i(n.lo(t));if(e&lt;32)return e;var r=i(n.hi(t));return r&gt;20?52:r+32}},{&quot;bit-twiddle&quot;:71,&quot;double-bits&quot;:131}],62:[function(t,e,r){&quot;use strict&quot;;t(&quot;bn.js&quot;);e.exports=function(t){return t&amp;&amp;&quot;object&quot;==typeof t&amp;&amp;Boolean(t.words)}},{&quot;bn.js&quot;:73}],63:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;bn.js&quot;),i=t(&quot;double-bits&quot;);e.exports=function(t){var e=i.exponent(t);return e&lt;52?new n(t):new n(t*Math.pow(2,52-e)).ushln(e-52)}},{&quot;bn.js&quot;:73,&quot;double-bits&quot;:131}],64:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;./num-to-bn&quot;),i=t(&quot;./bn-sign&quot;);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&lt;0&amp;&amp;(t=t.neg(),e=e.neg());var o=t.gcd(e);return o.cmpn(1)?[t.div(o),e.div(o)]:[t,e]}},{&quot;./bn-sign&quot;:59,&quot;./num-to-bn&quot;:63}],65:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;bn.js&quot;);e.exports=function(t){return new n(t)}},{&quot;bn.js&quot;:73}],66:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;./lib/rationalize&quot;);e.exports=function(t,e){return n(t[0].mul(e[0]),t[1].mul(e[1]))}},{&quot;./lib/rationalize&quot;:64}],67:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;./lib/bn-sign&quot;);e.exports=function(t){return n(t[0])*n(t[1])}},{&quot;./lib/bn-sign&quot;:59}],68:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;./lib/rationalize&quot;);e.exports=function(t,e){return n(t[0].mul(e[1]).sub(t[1].mul(e[0])),t[1].mul(e[1]))}},{&quot;./lib/rationalize&quot;:64}],69:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;./lib/bn-to-num&quot;),i=t(&quot;./lib/ctz&quot;);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;return c*(s+(h=n(l.ushln(u).divRound(r)))*Math.pow(2,-u))}var f=r.bitLength()-l.bitLength()+53,h=n(l.ushln(f).divRound(r));return f&lt;1023?c*h*Math.pow(2,-f):(h*=Math.pow(2,-1023),c*h*Math.pow(2,1023-f))}},{&quot;./lib/bn-to-num&quot;:60,&quot;./lib/ctz&quot;:61}],70:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,n,i,a){var o=[&quot;function &quot;,t,&quot;(a,l,h,&quot;,n.join(&quot;,&quot;),&quot;){&quot;,a?&quot;&quot;:&quot;var i=&quot;,r?&quot;l-1&quot;:&quot;h+1&quot;,&quot;;while(l&lt;=h){var m=(l+h)&gt;&gt;&gt;1,x=a&quot;,i?&quot;.get(m)&quot;:&quot;[m]&quot;];return a?e.indexOf(&quot;c&quot;)&lt;0?o.push(&quot;;if(x===y){return m}else if(x&lt;=y){&quot;):o.push(&quot;;var p=c(x,y);if(p===0){return m}else if(p&lt;=0){&quot;):o.push(&quot;;if(&quot;,e,&quot;){i=m;&quot;),r?o.push(&quot;l=m+1}else{h=m-1}&quot;):o.push(&quot;h=m-1}else{l=m+1}&quot;),o.push(&quot;}&quot;),a?o.push(&quot;return -1};&quot;):o.push(&quot;return i};&quot;),o.join(&quot;&quot;)}function i(t,e,r,i){return new Function([n(&quot;A&quot;,&quot;x&quot;+t+&quot;y&quot;,e,[&quot;y&quot;],!1,i),n(&quot;B&quot;,&quot;x&quot;+t+&quot;y&quot;,e,[&quot;y&quot;],!0,i),n(&quot;P&quot;,&quot;c(x,y)&quot;+t+&quot;0&quot;,e,[&quot;y&quot;,&quot;c&quot;],!1,i),n(&quot;Q&quot;,&quot;c(x,y)&quot;+t+&quot;0&quot;,e,[&quot;y&quot;,&quot;c&quot;],!0,i),&quot;function dispatchBsearch&quot;,r,&quot;(a,y,c,l,h){if(a.shape){if(typeof(c)==='function'){return Q(a,(l===undefined)?0:l|0,(h===undefined)?a.shape[0]-1:h|0,y,c)}else{return B(a,(c===undefined)?0:c|0,(l===undefined)?a.shape[0]-1:l|0,y)}}else{if(typeof(c)==='function'){return P(a,(l===undefined)?0:l|0,(h===undefined)?a.length-1:h|0,y,c)}else{return A(a,(c===undefined)?0:c|0,(l===undefined)?a.length-1:l|0,y)}}}return dispatchBsearch&quot;,r].join(&quot;&quot;))()}e.exports={ge:i(&quot;&gt;=&quot;,!1,&quot;GE&quot;),gt:i(&quot;&gt;&quot;,!1,&quot;GT&quot;),lt:i(&quot;&lt;&quot;,!0,&quot;LT&quot;),le:i(&quot;&lt;=&quot;,!0,&quot;LE&quot;),eq:i(&quot;-&quot;,!0,&quot;EQ&quot;,!0)}},{}],71:[function(t,e,r){&quot;use strict&quot;;&quot;use restrict&quot;;function n(t){var e=32;return(t&amp;=-t)&amp;&amp;e--,65535&amp;t&amp;&amp;(e-=16),16711935&amp;t&amp;&amp;(e-=8),252645135&amp;t&amp;&amp;(e-=4),858993459&amp;t&amp;&amp;(e-=2),1431655765&amp;t&amp;&amp;(e-=1),e}r.INT_BITS=32,r.INT_MAX=2147483647,r.INT_MIN=-1&lt;&lt;31,r.sign=function(t){return(t&gt;0)-(t&lt;0)},r.abs=function(t){var e=t&gt;&gt;31;return(t^e)-e},r.min=function(t,e){return e^(t^e)&amp;-(t&lt;e)},r.max=function(t,e){return t^(t^e)&amp;-(t&lt;e)},r.isPow2=function(t){return!(t&amp;t-1||!t)},r.log2=function(t){var e,r;return e=(t&gt;65535)&lt;&lt;4,t&gt;&gt;&gt;=e,r=(t&gt;255)&lt;&lt;3,t&gt;&gt;&gt;=r,e|=r,r=(t&gt;15)&lt;&lt;2,t&gt;&gt;&gt;=r,e|=r,r=(t&gt;3)&lt;&lt;1,t&gt;&gt;&gt;=r,(e|=r)|t&gt;&gt;1},r.log10=function(t){return t&gt;=1e9?9:t&gt;=1e8?8:t&gt;=1e7?7:t&gt;=1e6?6:t&gt;=1e5?5:t&gt;=1e4?4:t&gt;=1e3?3:t&gt;=100?2:t&gt;=10?1:0},r.popCount=function(t){return t-=t&gt;&gt;&gt;1&amp;1431655765,16843009*((t=(858993459&amp;t)+(t&gt;&gt;&gt;2&amp;858993459))+(t&gt;&gt;&gt;4)&amp;252645135)&gt;&gt;&gt;24},r.countTrailingZeros=n,r.nextPow2=function(t){return t+=0===t,--t,t|=t&gt;&gt;&gt;1,t|=t&gt;&gt;&gt;2,t|=t&gt;&gt;&gt;4,t|=t&gt;&gt;&gt;8,(t|=t&gt;&gt;&gt;16)+1},r.prevPow2=function(t){return t|=t&gt;&gt;&gt;1,t|=t&gt;&gt;&gt;2,t|=t&gt;&gt;&gt;4,t|=t&gt;&gt;&gt;8,(t|=t&gt;&gt;&gt;16)-(t&gt;&gt;&gt;1)},r.parity=function(t){return t^=t&gt;&gt;&gt;16,t^=t&gt;&gt;&gt;8,t^=t&gt;&gt;&gt;4,27030&gt;&gt;&gt;(t&amp;=15)&amp;1};var i=new Array(256);!function(t){for(var e=0;e&lt;256;++e){var r=e,n=e,i=7;for(r&gt;&gt;&gt;=1;r;r&gt;&gt;&gt;=1)n&lt;&lt;=1,n|=1&amp;r,--i;t[e]=n&lt;&lt;i&amp;255}}(i),r.reverse=function(t){return i[255&amp;t]&lt;&lt;24|i[t&gt;&gt;&gt;8&amp;255]&lt;&lt;16|i[t&gt;&gt;&gt;16&amp;255]&lt;&lt;8|i[t&gt;&gt;&gt;24&amp;255]},r.interleave2=function(t,e){return t&amp;=65535,t=16711935&amp;(t|t&lt;&lt;8),t=252645135&amp;(t|t&lt;&lt;4),t=858993459&amp;(t|t&lt;&lt;2),t=1431655765&amp;(t|t&lt;&lt;1),e&amp;=65535,e=16711935&amp;(e|e&lt;&lt;8),e=252645135&amp;(e|e&lt;&lt;4),e=858993459&amp;(e|e&lt;&lt;2),e=1431655765&amp;(e|e&lt;&lt;1),t|e&lt;&lt;1},r.deinterleave2=function(t,e){return t=t&gt;&gt;&gt;e&amp;1431655765,t=858993459&amp;(t|t&gt;&gt;&gt;1),t=252645135&amp;(t|t&gt;&gt;&gt;2),t=16711935&amp;(t|t&gt;&gt;&gt;4),(t=65535&amp;(t|t&gt;&gt;&gt;16))&lt;&lt;16&gt;&gt;16},r.interleave3=function(t,e,r){return t&amp;=1023,t=4278190335&amp;(t|t&lt;&lt;16),t=251719695&amp;(t|t&lt;&lt;8),t=3272356035&amp;(t|t&lt;&lt;4),t=1227133513&amp;(t|t&lt;&lt;2),e&amp;=1023,e=4278190335&amp;(e|e&lt;&lt;16),e=251719695&amp;(e|e&lt;&lt;8),e=3272356035&amp;(e|e&lt;&lt;4),e=1227133513&amp;(e|e&lt;&lt;2),t|=e&lt;&lt;1,r&amp;=1023,r=4278190335&amp;(r|r&lt;&lt;16),r=251719695&amp;(r|r&lt;&lt;8),r=3272356035&amp;(r|r&lt;&lt;4),r=1227133513&amp;(r|r&lt;&lt;2),t|r&lt;&lt;2},r.deinterleave3=function(t,e){return t=t&gt;&gt;&gt;e&amp;1227133513,t=3272356035&amp;(t|t&gt;&gt;&gt;2),t=251719695&amp;(t|t&gt;&gt;&gt;4),t=4278190335&amp;(t|t&gt;&gt;&gt;8),(t=1023&amp;(t|t&gt;&gt;&gt;16))&lt;&lt;22&gt;&gt;22},r.nextCombination=function(t){var e=t|t-1;return e+1|(~e&amp;-~e)-1&gt;&gt;&gt;n(t)+1}},{}],72:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,n,a,o,s){for(var l=0;l&lt;e;l++){for(var c=0;c&lt;r;c++)n[c]=t[c*e+l];for(i(n,a,o,s,r),c=0;c&lt;r;c++)t[c*e+l]=a[c]}for(c=0;c&lt;r;c++){for(l=0;l&lt;e;l++)n[l]=t[c*e+l];for(i(n,a,o,s,e),l=0;l&lt;e;l++)t[c*e+l]=Math.sqrt(a[l])}}function i(t,e,r,n,i){r[0]=0,n[0]=-o,n[1]=+o;for(var a=1,s=0;a&lt;i;a++){for(var l=(t[a]+a*a-(t[r[s]]+r[s]*r[s]))/(2*a-2*r[s]);l&lt;=n[s];)s--,l=(t[a]+a*a-(t[r[s]]+r[s]*r[s]))/(2*a-2*r[s]);r[++s]=a,n[s]=l,n[s+1]=+o}for(a=0,s=0;a&lt;i;a++){for(;n[s+1]&lt;a;)s++;e[a]=(a-r[s])*(a-r[s])+t[r[s]]}}var a=t(&quot;clamp&quot;);e.exports=function(t,e){e||(e={});var r,i,s,l,c,u,f,h,d,p,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(&quot;For raw data width and height should be provided by options&quot;);r=e.width,i=e.height,l=t,u=e.stride?e.stride:Math.floor(t.length/r/i)}else window.HTMLCanvasElement&amp;&amp;t instanceof window.HTMLCanvasElement?(f=(h=t).getContext(&quot;2d&quot;),r=h.width,i=h.height,l=(d=f.getImageData(0,0,r,i)).data,u=4):window.CanvasRenderingContext2D&amp;&amp;t instanceof window.CanvasRenderingContext2D?(f=t,r=(h=t.canvas).width,i=h.height,l=(d=f.getImageData(0,0,r,i)).data,u=4):window.ImageData&amp;&amp;t instanceof window.ImageData&amp;&amp;(d=t,r=t.width,i=t.height,l=d.data,u=4);if(s=Math.max(r,i),window.Uint8ClampedArray&amp;&amp;l instanceof window.Uint8ClampedArray||window.Uint8Array&amp;&amp;l instanceof window.Uint8Array)for(c=l,l=Array(r*i),p=0,m=c.length;p&lt;m;p++)l[p]=c[p*u+y]/255;else if(1!==u)throw Error(&quot;Raw data can have only 1 value per pixel&quot;);var x=Array(r*i),b=Array(r*i),_=Array(s),w=Array(s),M=Array(s+1),k=Array(s);for(p=0,m=r*i;p&lt;m;p++){var A=l[p];x[p]=1===A?0:0===A?o:Math.pow(Math.max(0,.5-A),2),b[p]=1===A?o:0===A?0:Math.pow(Math.max(0,A-.5),2)}n(x,r,i,_,w,k,M),n(b,r,i,_,w,k,M);var T=window.Float32Array?new Float32Array(r*i):new Array(r*i);for(p=0,m=r*i;p&lt;m;p++)T[p]=a(1-((x[p]-b[p])/v+g),0,1);return T};var o=1e20},{clamp:93}],73:[function(t,e,r){!function(e,r){&quot;use strict&quot;;function n(t,e){if(!t)throw new Error(e||&quot;Assertion failed&quot;)}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&amp;&amp;(&quot;le&quot;!==e&amp;&amp;&quot;be&quot;!==e||(r=e,e=10),this._init(t||0,e||10,r||&quot;be&quot;))}function o(t,e,r){for(var n=0,i=Math.min(t.length,r),a=e;a&lt;i;a++){var o=t.charCodeAt(a)-48;n&lt;&lt;=4,n|=o&gt;=49&amp;&amp;o&lt;=54?o-49+10:o&gt;=17&amp;&amp;o&lt;=22?o-17+10:15&amp;o}return n}function s(t,e,r,n){for(var i=0,a=Math.min(t.length,r),o=e;o&lt;a;o++){var s=t.charCodeAt(o)-48;i*=n,i+=s&gt;=49?s-49+10:s&gt;=17?s-17+10:s}return i}function l(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&amp;o,l=o/67108864|0;r.words[0]=s;for(var c=1;c&lt;n;c++){for(var u=l&gt;&gt;&gt;26,f=67108863&amp;l,h=Math.min(c,e.length-1),d=Math.max(0,c-t.length+1);d&lt;=h;d++){var p=c-d|0;u+=(o=(i=0|t.words[p])*(a=0|e.words[d])+f)/67108864|0,f=67108863&amp;o}r.words[c]=0|f,l=0|u}return 0!==l?r.words[c]=0|l:r.length--,r.strip()}function c(t,e,r){return(new u).mulp(t,e,r)}function u(t,e){this.x=t,this.y=e}function f(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 h(){f.call(this,&quot;k256&quot;,&quot;ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f&quot;)}function d(){f.call(this,&quot;p224&quot;,&quot;ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001&quot;)}function p(){f.call(this,&quot;p192&quot;,&quot;ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff&quot;)}function m(){f.call(this,&quot;25519&quot;,&quot;7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed&quot;)}function g(t){if(&quot;string&quot;==typeof t){var e=a._prime(t);this.m=e.p,this.prime=e}else n(t.gtn(1),&quot;modulus must be greater than 1&quot;),this.m=t,this.prime=null}function v(t){g.call(this,t),this.shift=this.m.bitLength(),this.shift%26!=0&amp;&amp;(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)}&quot;object&quot;==typeof e?e.exports=a:r.BN=a,a.BN=a,a.wordSize=26;var y;try{y=t(&quot;buffer&quot;).Buffer}catch(t){}a.isBN=function(t){return t instanceof a||null!==t&amp;&amp;&quot;object&quot;==typeof t&amp;&amp;t.constructor.wordSize===a.wordSize&amp;&amp;Array.isArray(t.words)},a.max=function(t,e){return t.cmp(e)&gt;0?t:e},a.min=function(t,e){return t.cmp(e)&lt;0?t:e},a.prototype._init=function(t,e,r){if(&quot;number&quot;==typeof t)return this._initNumber(t,e,r);if(&quot;object&quot;==typeof t)return this._initArray(t,e,r);&quot;hex&quot;===e&amp;&amp;(e=16),n(e===(0|e)&amp;&amp;e&gt;=2&amp;&amp;e&lt;=36);var i=0;&quot;-&quot;===(t=t.toString().replace(/\s+/g,&quot;&quot;))[0]&amp;&amp;i++,16===e?this._parseHex(t,i):this._parseBase(t,e,i),&quot;-&quot;===t[0]&amp;&amp;(this.negative=1),this.strip(),&quot;le&quot;===r&amp;&amp;this._initArray(this.toArray(),e,r)},a.prototype._initNumber=function(t,e,r){t&lt;0&amp;&amp;(this.negative=1,t=-t),t&lt;67108864?(this.words=[67108863&amp;t],this.length=1):t&lt;4503599627370496?(this.words=[67108863&amp;t,t/67108864&amp;67108863],this.length=2):(n(t&lt;9007199254740992),this.words=[67108863&amp;t,t/67108864&amp;67108863,1],this.length=3),&quot;le&quot;===r&amp;&amp;this._initArray(this.toArray(),e,r)},a.prototype._initArray=function(t,e,r){if(n(&quot;number&quot;==typeof t.length),t.length&lt;=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&lt;this.length;i++)this.words[i]=0;var a,o,s=0;if(&quot;be&quot;===r)for(i=t.length-1,a=0;i&gt;=0;i-=3)o=t[i]|t[i-1]&lt;&lt;8|t[i-2]&lt;&lt;16,this.words[a]|=o&lt;&lt;s&amp;67108863,this.words[a+1]=o&gt;&gt;&gt;26-s&amp;67108863,(s+=24)&gt;=26&amp;&amp;(s-=26,a++);else if(&quot;le&quot;===r)for(i=0,a=0;i&lt;t.length;i+=3)o=t[i]|t[i+1]&lt;&lt;8|t[i+2]&lt;&lt;16,this.words[a]|=o&lt;&lt;s&amp;67108863,this.words[a+1]=o&gt;&gt;&gt;26-s&amp;67108863,(s+=24)&gt;=26&amp;&amp;(s-=26,a++);return this.strip()},a.prototype._parseHex=function(t,e){this.length=Math.ceil((t.length-e)/6),this.words=new Array(this.length);for(var r=0;r&lt;this.length;r++)this.words[r]=0;var n,i,a=0;for(r=t.length-6,n=0;r&gt;=e;r-=6)i=o(t,r,r+6),this.words[n]|=i&lt;&lt;a&amp;67108863,this.words[n+1]|=i&gt;&gt;&gt;26-a&amp;4194303,(a+=24)&gt;=26&amp;&amp;(a-=26,n++);r+6!==e&amp;&amp;(i=o(t,e,r+6),this.words[n]|=i&lt;&lt;a&amp;67108863,this.words[n+1]|=i&gt;&gt;&gt;26-a&amp;4194303),this.strip()},a.prototype._parseBase=function(t,e,r){this.words=[0],this.length=1;for(var n=0,i=1;i&lt;=67108863;i*=e)n++;n--,i=i/e|0;for(var a=t.length-r,o=a%n,l=Math.min(a,a-o)+r,c=0,u=r;u&lt;l;u+=n)c=s(t,u,u+n,e),this.imuln(i),this.words[0]+c&lt;67108864?this.words[0]+=c:this._iaddn(c);if(0!==o){var f=1;for(c=s(t,u,t.length,e),u=0;u&lt;o;u++)f*=e;this.imuln(f),this.words[0]+c&lt;67108864?this.words[0]+=c:this._iaddn(c)}},a.prototype.copy=function(t){t.words=new Array(this.length);for(var e=0;e&lt;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&lt;t;)this.words[this.length++]=0;return this},a.prototype.strip=function(){for(;this.length&gt;1&amp;&amp;0===this.words[this.length-1];)this.length--;return this._normSign()},a.prototype._normSign=function(){return 1===this.length&amp;&amp;0===this.words[0]&amp;&amp;(this.negative=0),this},a.prototype.inspect=function(){return(this.red?&quot;&lt;BN-R: &quot;:&quot;&lt;BN: &quot;)+this.toString(16)+&quot;&gt;&quot;};var x=[&quot;&quot;,&quot;0&quot;,&quot;00&quot;,&quot;000&quot;,&quot;0000&quot;,&quot;00000&quot;,&quot;000000&quot;,&quot;0000000&quot;,&quot;00000000&quot;,&quot;000000000&quot;,&quot;0000000000&quot;,&quot;00000000000&quot;,&quot;000000000000&quot;,&quot;0000000000000&quot;,&quot;00000000000000&quot;,&quot;000000000000000&quot;,&quot;0000000000000000&quot;,&quot;00000000000000000&quot;,&quot;000000000000000000&quot;,&quot;0000000000000000000&quot;,&quot;00000000000000000000&quot;,&quot;000000000000000000000&quot;,&quot;0000000000000000000000&quot;,&quot;00000000000000000000000&quot;,&quot;000000000000000000000000&quot;,&quot;0000000000000000000000000&quot;],b=[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],_=[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];a.prototype.toString=function(t,e){t=t||10,e=0|e||1;var r;if(16===t||&quot;hex&quot;===t){r=&quot;&quot;;for(var i=0,a=0,o=0;o&lt;this.length;o++){var s=this.words[o],l=(16777215&amp;(s&lt;&lt;i|a)).toString(16);r=0!==(a=s&gt;&gt;&gt;24-i&amp;16777215)||o!==this.length-1?x[6-l.length]+l+r:l+r,(i+=2)&gt;=26&amp;&amp;(i-=26,o--)}for(0!==a&amp;&amp;(r=a.toString(16)+r);r.length%e!=0;)r=&quot;0&quot;+r;return 0!==this.negative&amp;&amp;(r=&quot;-&quot;+r),r}if(t===(0|t)&amp;&amp;t&gt;=2&amp;&amp;t&lt;=36){var c=b[t],u=_[t];r=&quot;&quot;;var f=this.clone();for(f.negative=0;!f.isZero();){var h=f.modn(u).toString(t);r=(f=f.idivn(u)).isZero()?h+r:x[c-h.length]+h+r}for(this.isZero()&amp;&amp;(r=&quot;0&quot;+r);r.length%e!=0;)r=&quot;0&quot;+r;return 0!==this.negative&amp;&amp;(r=&quot;-&quot;+r),r}n(!1,&quot;Base should be between 2 and 36&quot;)},a.prototype.toNumber=function(){var t=this.words[0];return 2===this.length?t+=67108864*this.words[1]:3===this.length&amp;&amp;1===this.words[2]?t+=4503599627370496+67108864*this.words[1]:this.length&gt;2&amp;&amp;n(!1,&quot;Number can only safely store up to 53 bits&quot;),0!==this.negative?-t:t},a.prototype.toJSON=function(){return this.toString(16)},a.prototype.toBuffer=function(t,e){return n(void 0!==y),this.toArrayLike(y,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&lt;=a,&quot;byte array longer than desired length&quot;),n(a&gt;0,&quot;Requested array length &lt;= 0&quot;),this.strip();var o,s,l=&quot;le&quot;===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&lt;a;s++)c[s]=0}else{for(s=0;s&lt;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&gt;=4096&amp;&amp;(r+=13,e&gt;&gt;&gt;=13),e&gt;=64&amp;&amp;(r+=7,e&gt;&gt;&gt;=7),e&gt;=8&amp;&amp;(r+=4,e&gt;&gt;&gt;=4),e&gt;=2&amp;&amp;(r+=2,e&gt;&gt;&gt;=2),r+e},a.prototype._zeroBits=function(t){if(0===t)return 26;var e=t,r=0;return 0==(8191&amp;e)&amp;&amp;(r+=13,e&gt;&gt;&gt;=13),0==(127&amp;e)&amp;&amp;(r+=7,e&gt;&gt;&gt;=7),0==(15&amp;e)&amp;&amp;(r+=4,e&gt;&gt;&gt;=4),0==(3&amp;e)&amp;&amp;(r+=2,e&gt;&gt;&gt;=2),0==(1&amp;e)&amp;&amp;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&lt;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&lt;t.length;)this.words[this.length++]=0;for(var e=0;e&lt;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&gt;t.length?this.clone().ior(t):t.clone().ior(this)},a.prototype.uor=function(t){return this.length&gt;t.length?this.clone().iuor(t):t.clone().iuor(this)},a.prototype.iuand=function(t){var e;e=this.length&gt;t.length?t:this;for(var r=0;r&lt;e.length;r++)this.words[r]=this.words[r]&amp;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&gt;t.length?this.clone().iand(t):t.clone().iand(this)},a.prototype.uand=function(t){return this.length&gt;t.length?this.clone().iuand(t):t.clone().iuand(this)},a.prototype.iuxor=function(t){var e,r;this.length&gt;t.length?(e=this,r=t):(e=t,r=this);for(var n=0;n&lt;r.length;n++)this.words[n]=e.words[n]^r.words[n];if(this!==e)for(;n&lt;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&gt;t.length?this.clone().ixor(t):t.clone().ixor(this)},a.prototype.uxor=function(t){return this.length&gt;t.length?this.clone().iuxor(t):t.clone().iuxor(this)},a.prototype.inotn=function(t){n(&quot;number&quot;==typeof t&amp;&amp;t&gt;=0);var e=0|Math.ceil(t/26),r=t%26;this._expand(e),r&gt;0&amp;&amp;e--;for(var i=0;i&lt;e;i++)this.words[i]=67108863&amp;~this.words[i];return r&gt;0&amp;&amp;(this.words[i]=~this.words[i]&amp;67108863&gt;&gt;26-r),this.strip()},a.prototype.notn=function(t){return this.clone().inotn(t)},a.prototype.setn=function(t,e){n(&quot;number&quot;==typeof t&amp;&amp;t&gt;=0);var r=t/26|0,i=t%26;return this._expand(r+1),this.words[r]=e?this.words[r]|1&lt;&lt;i:this.words[r]&amp;~(1&lt;&lt;i),this.strip()},a.prototype.iadd=function(t){var e;if(0!==this.negative&amp;&amp;0===t.negative)return this.negative=0,e=this.isub(t),this.negative^=1,this._normSign();if(0===this.negative&amp;&amp;0!==t.negative)return t.negative=0,e=this.isub(t),t.negative=1,e._normSign();var r,n;this.length&gt;t.length?(r=this,n=t):(r=t,n=this);for(var i=0,a=0;a&lt;n.length;a++)e=(0|r.words[a])+(0|n.words[a])+i,this.words[a]=67108863&amp;e,i=e&gt;&gt;&gt;26;for(;0!==i&amp;&amp;a&lt;r.length;a++)e=(0|r.words[a])+i,this.words[a]=67108863&amp;e,i=e&gt;&gt;&gt;26;if(this.length=r.length,0!==i)this.words[this.length]=i,this.length++;else if(r!==this)for(;a&lt;r.length;a++)this.words[a]=r.words[a];return this},a.prototype.add=function(t){var e;return 0!==t.negative&amp;&amp;0===this.negative?(t.negative=0,e=this.sub(t),t.negative^=1,e):0===t.negative&amp;&amp;0!==this.negative?(this.negative=0,e=t.sub(this),this.negative=1,e):this.length&gt;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=this.cmp(t);if(0===r)return this.negative=0,this.length=1,this.words[0]=0,this;var n,i;r&gt;0?(n=this,i=t):(n=t,i=this);for(var a=0,o=0;o&lt;i.length;o++)a=(e=(0|n.words[o])-(0|i.words[o])+a)&gt;&gt;26,this.words[o]=67108863&amp;e;for(;0!==a&amp;&amp;o&lt;n.length;o++)a=(e=(0|n.words[o])+a)&gt;&gt;26,this.words[o]=67108863&amp;e;if(0===a&amp;&amp;o&lt;n.length&amp;&amp;n!==this)for(;o&lt;n.length;o++)this.words[o]=n.words[o];return this.length=Math.max(this.length,o),n!==this&amp;&amp;(this.negative=1),this.strip()},a.prototype.sub=function(t){return this.clone().isub(t)};var w=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&amp;u,h=u&gt;&gt;&gt;13,d=0|o[1],p=8191&amp;d,m=d&gt;&gt;&gt;13,g=0|o[2],v=8191&amp;g,y=g&gt;&gt;&gt;13,x=0|o[3],b=8191&amp;x,_=x&gt;&gt;&gt;13,w=0|o[4],M=8191&amp;w,k=w&gt;&gt;&gt;13,A=0|o[5],T=8191&amp;A,S=A&gt;&gt;&gt;13,E=0|o[6],L=8191&amp;E,C=E&gt;&gt;&gt;13,z=0|o[7],D=8191&amp;z,I=z&gt;&gt;&gt;13,P=0|o[8],O=8191&amp;P,F=P&gt;&gt;&gt;13,R=0|o[9],N=8191&amp;R,j=R&gt;&gt;&gt;13,B=0|s[0],U=8191&amp;B,V=B&gt;&gt;&gt;13,q=0|s[1],H=8191&amp;q,G=q&gt;&gt;&gt;13,Y=0|s[2],W=8191&amp;Y,X=Y&gt;&gt;&gt;13,Z=0|s[3],J=8191&amp;Z,K=Z&gt;&gt;&gt;13,Q=0|s[4],$=8191&amp;Q,tt=Q&gt;&gt;&gt;13,et=0|s[5],rt=8191&amp;et,nt=et&gt;&gt;&gt;13,it=0|s[6],at=8191&amp;it,ot=it&gt;&gt;&gt;13,st=0|s[7],lt=8191&amp;st,ct=st&gt;&gt;&gt;13,ut=0|s[8],ft=8191&amp;ut,ht=ut&gt;&gt;&gt;13,dt=0|s[9],pt=8191&amp;dt,mt=dt&gt;&gt;&gt;13;r.negative=t.negative^e.negative,r.length=19;var gt=(c+(n=Math.imul(f,U))|0)+((8191&amp;(i=(i=Math.imul(f,V))+Math.imul(h,U)|0))&lt;&lt;13)|0;c=((a=Math.imul(h,V))+(i&gt;&gt;&gt;13)|0)+(gt&gt;&gt;&gt;26)|0,gt&amp;=67108863,n=Math.imul(p,U),i=(i=Math.imul(p,V))+Math.imul(m,U)|0,a=Math.imul(m,V);var vt=(c+(n=n+Math.imul(f,H)|0)|0)+((8191&amp;(i=(i=i+Math.imul(f,G)|0)+Math.imul(h,H)|0))&lt;&lt;13)|0;c=((a=a+Math.imul(h,G)|0)+(i&gt;&gt;&gt;13)|0)+(vt&gt;&gt;&gt;26)|0,vt&amp;=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(p,H)|0,i=(i=i+Math.imul(p,G)|0)+Math.imul(m,H)|0,a=a+Math.imul(m,G)|0;var yt=(c+(n=n+Math.imul(f,W)|0)|0)+((8191&amp;(i=(i=i+Math.imul(f,X)|0)+Math.imul(h,W)|0))&lt;&lt;13)|0;c=((a=a+Math.imul(h,X)|0)+(i&gt;&gt;&gt;13)|0)+(yt&gt;&gt;&gt;26)|0,yt&amp;=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,H)|0,i=(i=i+Math.imul(v,G)|0)+Math.imul(y,H)|0,a=a+Math.imul(y,G)|0,n=n+Math.imul(p,W)|0,i=(i=i+Math.imul(p,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&amp;(i=(i=i+Math.imul(f,K)|0)+Math.imul(h,J)|0))&lt;&lt;13)|0;c=((a=a+Math.imul(h,K)|0)+(i&gt;&gt;&gt;13)|0)+(xt&gt;&gt;&gt;26)|0,xt&amp;=67108863,n=Math.imul(M,U),i=(i=Math.imul(M,V))+Math.imul(k,U)|0,a=Math.imul(k,V),n=n+Math.imul(b,H)|0,i=(i=i+Math.imul(b,G)|0)+Math.imul(_,H)|0,a=a+Math.imul(_,G)|0,n=n+Math.imul(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(p,J)|0,i=(i=i+Math.imul(p,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&amp;(i=(i=i+Math.imul(f,tt)|0)+Math.imul(h,$)|0))&lt;&lt;13)|0;c=((a=a+Math.imul(h,tt)|0)+(i&gt;&gt;&gt;13)|0)+(bt&gt;&gt;&gt;26)|0,bt&amp;=67108863,n=Math.imul(T,U),i=(i=Math.imul(T,V))+Math.imul(S,U)|0,a=Math.imul(S,V),n=n+Math.imul(M,H)|0,i=(i=i+Math.imul(M,G)|0)+Math.imul(k,H)|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(p,$)|0,i=(i=i+Math.imul(p,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&amp;(i=(i=i+Math.imul(f,nt)|0)+Math.imul(h,rt)|0))&lt;&lt;13)|0;c=((a=a+Math.imul(h,nt)|0)+(i&gt;&gt;&gt;13)|0)+(_t&gt;&gt;&gt;26)|0,_t&amp;=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(T,H)|0,i=(i=i+Math.imul(T,G)|0)+Math.imul(S,H)|0,a=a+Math.imul(S,G)|0,n=n+Math.imul(M,W)|0,i=(i=i+Math.imul(M,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(p,rt)|0,i=(i=i+Math.imul(p,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&amp;(i=(i=i+Math.imul(f,ot)|0)+Math.imul(h,at)|0))&lt;&lt;13)|0;c=((a=a+Math.imul(h,ot)|0)+(i&gt;&gt;&gt;13)|0)+(wt&gt;&gt;&gt;26)|0,wt&amp;=67108863,n=Math.imul(D,U),i=(i=Math.imul(D,V))+Math.imul(I,U)|0,a=Math.imul(I,V),n=n+Math.imul(L,H)|0,i=(i=i+Math.imul(L,G)|0)+Math.imul(C,H)|0,a=a+Math.imul(C,G)|0,n=n+Math.imul(T,W)|0,i=(i=i+Math.imul(T,X)|0)+Math.imul(S,W)|0,a=a+Math.imul(S,X)|0,n=n+Math.imul(M,J)|0,i=(i=i+Math.imul(M,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(p,at)|0,i=(i=i+Math.imul(p,ot)|0)+Math.imul(m,at)|0,a=a+Math.imul(m,ot)|0;var Mt=(c+(n=n+Math.imul(f,lt)|0)|0)+((8191&amp;(i=(i=i+Math.imul(f,ct)|0)+Math.imul(h,lt)|0))&lt;&lt;13)|0;c=((a=a+Math.imul(h,ct)|0)+(i&gt;&gt;&gt;13)|0)+(Mt&gt;&gt;&gt;26)|0,Mt&amp;=67108863,n=Math.imul(O,U),i=(i=Math.imul(O,V))+Math.imul(F,U)|0,a=Math.imul(F,V),n=n+Math.imul(D,H)|0,i=(i=i+Math.imul(D,G)|0)+Math.imul(I,H)|0,a=a+Math.imul(I,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(T,J)|0,i=(i=i+Math.imul(T,K)|0)+Math.imul(S,J)|0,a=a+Math.imul(S,K)|0,n=n+Math.imul(M,$)|0,i=(i=i+Math.imul(M,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(p,lt)|0,i=(i=i+Math.imul(p,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&amp;(i=(i=i+Math.imul(f,ht)|0)+Math.imul(h,ft)|0))&lt;&lt;13)|0;c=((a=a+Math.imul(h,ht)|0)+(i&gt;&gt;&gt;13)|0)+(kt&gt;&gt;&gt;26)|0,kt&amp;=67108863,n=Math.imul(N,U),i=(i=Math.imul(N,V))+Math.imul(j,U)|0,a=Math.imul(j,V),n=n+Math.imul(O,H)|0,i=(i=i+Math.imul(O,G)|0)+Math.imul(F,H)|0,a=a+Math.imul(F,G)|0,n=n+Math.imul(D,W)|0,i=(i=i+Math.imul(D,X)|0)+Math.imul(I,W)|0,a=a+Math.imul(I,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(T,$)|0,i=(i=i+Math.imul(T,tt)|0)+Math.imul(S,$)|0,a=a+Math.imul(S,tt)|0,n=n+Math.imul(M,rt)|0,i=(i=i+Math.imul(M,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(p,ft)|0,i=(i=i+Math.imul(p,ht)|0)+Math.imul(m,ft)|0,a=a+Math.imul(m,ht)|0;var At=(c+(n=n+Math.imul(f,pt)|0)|0)+((8191&amp;(i=(i=i+Math.imul(f,mt)|0)+Math.imul(h,pt)|0))&lt;&lt;13)|0;c=((a=a+Math.imul(h,mt)|0)+(i&gt;&gt;&gt;13)|0)+(At&gt;&gt;&gt;26)|0,At&amp;=67108863,n=Math.imul(N,H),i=(i=Math.imul(N,G))+Math.imul(j,H)|0,a=Math.imul(j,G),n=n+Math.imul(O,W)|0,i=(i=i+Math.imul(O,X)|0)+Math.imul(F,W)|0,a=a+Math.imul(F,X)|0,n=n+Math.imul(D,J)|0,i=(i=i+Math.imul(D,K)|0)+Math.imul(I,J)|0,a=a+Math.imul(I,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(T,rt)|0,i=(i=i+Math.imul(T,nt)|0)+Math.imul(S,rt)|0,a=a+Math.imul(S,nt)|0,n=n+Math.imul(M,at)|0,i=(i=i+Math.imul(M,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 Tt=(c+(n=n+Math.imul(p,pt)|0)|0)+((8191&amp;(i=(i=i+Math.imul(p,mt)|0)+Math.imul(m,pt)|0))&lt;&lt;13)|0;c=((a=a+Math.imul(m,mt)|0)+(i&gt;&gt;&gt;13)|0)+(Tt&gt;&gt;&gt;26)|0,Tt&amp;=67108863,n=Math.imul(N,W),i=(i=Math.imul(N,X))+Math.imul(j,W)|0,a=Math.imul(j,X),n=n+Math.imul(O,J)|0,i=(i=i+Math.imul(O,K)|0)+Math.imul(F,J)|0,a=a+Math.imul(F,K)|0,n=n+Math.imul(D,$)|0,i=(i=i+Math.imul(D,tt)|0)+Math.imul(I,$)|0,a=a+Math.imul(I,tt)|0,n=n+Math.imul(L,rt)|0,i=(i=i+Math.imul(L,nt)|0)+Math.imul(C,rt)|0,a=a+Math.imul(C,nt)|0,n=n+Math.imul(T,at)|0,i=(i=i+Math.imul(T,ot)|0)+Math.imul(S,at)|0,a=a+Math.imul(S,ot)|0,n=n+Math.imul(M,lt)|0,i=(i=i+Math.imul(M,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,pt)|0)|0)+((8191&amp;(i=(i=i+Math.imul(v,mt)|0)+Math.imul(y,pt)|0))&lt;&lt;13)|0;c=((a=a+Math.imul(y,mt)|0)+(i&gt;&gt;&gt;13)|0)+(St&gt;&gt;&gt;26)|0,St&amp;=67108863,n=Math.imul(N,J),i=(i=Math.imul(N,K))+Math.imul(j,J)|0,a=Math.imul(j,K),n=n+Math.imul(O,$)|0,i=(i=i+Math.imul(O,tt)|0)+Math.imul(F,$)|0,a=a+Math.imul(F,tt)|0,n=n+Math.imul(D,rt)|0,i=(i=i+Math.imul(D,nt)|0)+Math.imul(I,rt)|0,a=a+Math.imul(I,nt)|0,n=n+Math.imul(L,at)|0,i=(i=i+Math.imul(L,ot)|0)+Math.imul(C,at)|0,a=a+Math.imul(C,ot)|0,n=n+Math.imul(T,lt)|0,i=(i=i+Math.imul(T,ct)|0)+Math.imul(S,lt)|0,a=a+Math.imul(S,ct)|0,n=n+Math.imul(M,ft)|0,i=(i=i+Math.imul(M,ht)|0)+Math.imul(k,ft)|0,a=a+Math.imul(k,ht)|0;var Et=(c+(n=n+Math.imul(b,pt)|0)|0)+((8191&amp;(i=(i=i+Math.imul(b,mt)|0)+Math.imul(_,pt)|0))&lt;&lt;13)|0;c=((a=a+Math.imul(_,mt)|0)+(i&gt;&gt;&gt;13)|0)+(Et&gt;&gt;&gt;26)|0,Et&amp;=67108863,n=Math.imul(N,$),i=(i=Math.imul(N,tt))+Math.imul(j,$)|0,a=Math.imul(j,tt),n=n+Math.imul(O,rt)|0,i=(i=i+Math.imul(O,nt)|0)+Math.imul(F,rt)|0,a=a+Math.imul(F,nt)|0,n=n+Math.imul(D,at)|0,i=(i=i+Math.imul(D,ot)|0)+Math.imul(I,at)|0,a=a+Math.imul(I,ot)|0,n=n+Math.imul(L,lt)|0,i=(i=i+Math.imul(L,ct)|0)+Math.imul(C,lt)|0,a=a+Math.imul(C,ct)|0,n=n+Math.imul(T,ft)|0,i=(i=i+Math.imul(T,ht)|0)+Math.imul(S,ft)|0,a=a+Math.imul(S,ht)|0;var Lt=(c+(n=n+Math.imul(M,pt)|0)|0)+((8191&amp;(i=(i=i+Math.imul(M,mt)|0)+Math.imul(k,pt)|0))&lt;&lt;13)|0;c=((a=a+Math.imul(k,mt)|0)+(i&gt;&gt;&gt;13)|0)+(Lt&gt;&gt;&gt;26)|0,Lt&amp;=67108863,n=Math.imul(N,rt),i=(i=Math.imul(N,nt))+Math.imul(j,rt)|0,a=Math.imul(j,nt),n=n+Math.imul(O,at)|0,i=(i=i+Math.imul(O,ot)|0)+Math.imul(F,at)|0,a=a+Math.imul(F,ot)|0,n=n+Math.imul(D,lt)|0,i=(i=i+Math.imul(D,ct)|0)+Math.imul(I,lt)|0,a=a+Math.imul(I,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(T,pt)|0)|0)+((8191&amp;(i=(i=i+Math.imul(T,mt)|0)+Math.imul(S,pt)|0))&lt;&lt;13)|0;c=((a=a+Math.imul(S,mt)|0)+(i&gt;&gt;&gt;13)|0)+(Ct&gt;&gt;&gt;26)|0,Ct&amp;=67108863,n=Math.imul(N,at),i=(i=Math.imul(N,ot))+Math.imul(j,at)|0,a=Math.imul(j,ot),n=n+Math.imul(O,lt)|0,i=(i=i+Math.imul(O,ct)|0)+Math.imul(F,lt)|0,a=a+Math.imul(F,ct)|0,n=n+Math.imul(D,ft)|0,i=(i=i+Math.imul(D,ht)|0)+Math.imul(I,ft)|0,a=a+Math.imul(I,ht)|0;var zt=(c+(n=n+Math.imul(L,pt)|0)|0)+((8191&amp;(i=(i=i+Math.imul(L,mt)|0)+Math.imul(C,pt)|0))&lt;&lt;13)|0;c=((a=a+Math.imul(C,mt)|0)+(i&gt;&gt;&gt;13)|0)+(zt&gt;&gt;&gt;26)|0,zt&amp;=67108863,n=Math.imul(N,lt),i=(i=Math.imul(N,ct))+Math.imul(j,lt)|0,a=Math.imul(j,ct),n=n+Math.imul(O,ft)|0,i=(i=i+Math.imul(O,ht)|0)+Math.imul(F,ft)|0,a=a+Math.imul(F,ht)|0;var Dt=(c+(n=n+Math.imul(D,pt)|0)|0)+((8191&amp;(i=(i=i+Math.imul(D,mt)|0)+Math.imul(I,pt)|0))&lt;&lt;13)|0;c=((a=a+Math.imul(I,mt)|0)+(i&gt;&gt;&gt;13)|0)+(Dt&gt;&gt;&gt;26)|0,Dt&amp;=67108863,n=Math.imul(N,ft),i=(i=Math.imul(N,ht))+Math.imul(j,ft)|0,a=Math.imul(j,ht);var It=(c+(n=n+Math.imul(O,pt)|0)|0)+((8191&amp;(i=(i=i+Math.imul(O,mt)|0)+Math.imul(F,pt)|0))&lt;&lt;13)|0;c=((a=a+Math.imul(F,mt)|0)+(i&gt;&gt;&gt;13)|0)+(It&gt;&gt;&gt;26)|0,It&amp;=67108863;var Pt=(c+(n=Math.imul(N,pt))|0)+((8191&amp;(i=(i=Math.imul(N,mt))+Math.imul(j,pt)|0))&lt;&lt;13)|0;return c=((a=Math.imul(j,mt))+(i&gt;&gt;&gt;13)|0)+(Pt&gt;&gt;&gt;26)|0,Pt&amp;=67108863,l[0]=gt,l[1]=vt,l[2]=yt,l[3]=xt,l[4]=bt,l[5]=_t,l[6]=wt,l[7]=Mt,l[8]=kt,l[9]=At,l[10]=Tt,l[11]=St,l[12]=Et,l[13]=Lt,l[14]=Ct,l[15]=zt,l[16]=Dt,l[17]=It,l[18]=Pt,0!==c&amp;&amp;(l[19]=c,r.length++),r};Math.imul||(w=l),a.prototype.mulTo=function(t,e){var r=this.length+t.length;return 10===this.length&amp;&amp;10===t.length?w(this,t,e):r&lt;63?l(this,t,e):r&lt;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&lt;r.length-1;a++){var o=i;i=0;for(var s=67108863&amp;n,l=Math.min(a,e.length-1),c=Math.max(0,a-t.length+1);c&lt;=l;c++){var u=a-c,f=(0|t.words[u])*(0|e.words[c]),h=67108863&amp;f;s=67108863&amp;(h=h+s|0),i+=(o=(o=o+(f/67108864|0)|0)+(h&gt;&gt;&gt;26)|0)&gt;&gt;&gt;26,o&amp;=67108863}r.words[a]=s,n=o,o=i}return 0!==n?r.words[a]=n:r.length--,r.strip()}(this,t,e):c(this,t,e)},u.prototype.makeRBT=function(t){for(var e=new Array(t),r=a.prototype._countBits(t)-1,n=0;n&lt;t;n++)e[n]=this.revBin(n,r,t);return e},u.prototype.revBin=function(t,e,r){if(0===t||t===r-1)return t;for(var n=0,i=0;i&lt;e;i++)n|=(1&amp;t)&lt;&lt;e-i-1,t&gt;&gt;=1;return n},u.prototype.permute=function(t,e,r,n,i,a){for(var o=0;o&lt;a;o++)n[o]=e[t[o]],i[o]=r[t[o]]},u.prototype.transform=function(t,e,r,n,i,a){this.permute(a,t,e,r,n,i);for(var o=1;o&lt;i;o&lt;&lt;=1)for(var s=o&lt;&lt;1,l=Math.cos(2*Math.PI/s),c=Math.sin(2*Math.PI/s),u=0;u&lt;i;u+=s)for(var f=l,h=c,d=0;d&lt;o;d++){var p=r[u+d],m=n[u+d],g=r[u+d+o],v=n[u+d+o],y=f*g-h*v;v=f*v+h*g,g=y,r[u+d]=p+g,n[u+d]=m+v,r[u+d+o]=p-g,n[u+d+o]=m-v,d!==s&amp;&amp;(y=l*f-c*h,h=l*h+c*f,f=y)}},u.prototype.guessLen13b=function(t,e){var r=1|Math.max(e,t),n=1&amp;r,i=0;for(r=r/2|0;r;r&gt;&gt;&gt;=1)i++;return 1&lt;&lt;i+1+n},u.prototype.conjugate=function(t,e,r){if(!(r&lt;=1))for(var n=0;n&lt;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}},u.prototype.normalize13b=function(t,e){for(var r=0,n=0;n&lt;e/2;n++){var i=8192*Math.round(t[2*n+1]/e)+Math.round(t[2*n]/e)+r;t[n]=67108863&amp;i,r=i&lt;67108864?0:i/67108864|0}return t},u.prototype.convert13b=function(t,e,r,i){for(var a=0,o=0;o&lt;e;o++)a+=0|t[o],r[2*o]=8191&amp;a,a&gt;&gt;&gt;=13,r[2*o+1]=8191&amp;a,a&gt;&gt;&gt;=13;for(o=2*e;o&lt;i;++o)r[o]=0;n(0===a),n(0==(-8192&amp;a))},u.prototype.stub=function(t){for(var e=new Array(t),r=0;r&lt;t;r++)e[r]=0;return e},u.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 d=0;d&lt;n;d++){var p=s[d]*u[d]-l[d]*f[d];l[d]=s[d]*f[d]+l[d]*u[d],s[d]=p}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),c(this,t,e)},a.prototype.imul=function(t){return this.clone().mulTo(t,this)},a.prototype.imuln=function(t){n(&quot;number&quot;==typeof t),n(t&lt;67108864);for(var e=0,r=0;r&lt;this.length;r++){var i=(0|this.words[r])*t,a=(67108863&amp;i)+(67108863&amp;e);e&gt;&gt;=26,e+=i/67108864|0,e+=a&gt;&gt;&gt;26,this.words[r]=67108863&amp;a}return 0!==e&amp;&amp;(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&lt;e.length;r++){var n=r/26|0,i=r%26;e[r]=(t.words[n]&amp;1&lt;&lt;i)&gt;&gt;&gt;i}return e}(t);if(0===e.length)return new a(1);for(var r=this,n=0;n&lt;e.length&amp;&amp;0===e[n];n++,r=r.sqr());if(++n&lt;e.length)for(var i=r.sqr();n&lt;e.length;n++,i=i.sqr())0!==e[n]&amp;&amp;(r=r.mul(i));return r},a.prototype.iushln=function(t){n(&quot;number&quot;==typeof t&amp;&amp;t&gt;=0);var e,r=t%26,i=(t-r)/26,a=67108863&gt;&gt;&gt;26-r&lt;&lt;26-r;if(0!==r){var o=0;for(e=0;e&lt;this.length;e++){var s=this.words[e]&amp;a,l=(0|this.words[e])-s&lt;&lt;r;this.words[e]=l|o,o=s&gt;&gt;&gt;26-r}o&amp;&amp;(this.words[e]=o,this.length++)}if(0!==i){for(e=this.length-1;e&gt;=0;e--)this.words[e+i]=this.words[e];for(e=0;e&lt;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){n(&quot;number&quot;==typeof t&amp;&amp;t&gt;=0);var i;i=e?(e-e%26)/26:0;var a=t%26,o=Math.min((t-a)/26,this.length),s=67108863^67108863&gt;&gt;&gt;a&lt;&lt;a,l=r;if(i-=o,i=Math.max(0,i),l){for(var c=0;c&lt;o;c++)l.words[c]=this.words[c];l.length=o}if(0===o);else if(this.length&gt;o)for(this.length-=o,c=0;c&lt;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&gt;=0&amp;&amp;(0!==u||c&gt;=i);c--){var f=0|this.words[c];this.words[c]=u&lt;&lt;26-a|f&gt;&gt;&gt;a,u=f&amp;s}return l&amp;&amp;0!==u&amp;&amp;(l.words[l.length++]=u),0===this.length&amp;&amp;(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(&quot;number&quot;==typeof t&amp;&amp;t&gt;=0);var e=t%26,r=(t-e)/26,i=1&lt;&lt;e;if(this.length&lt;=r)return!1;return!!(this.words[r]&amp;i)},a.prototype.imaskn=function(t){n(&quot;number&quot;==typeof t&amp;&amp;t&gt;=0);var e=t%26,r=(t-e)/26;if(n(0===this.negative,&quot;imaskn works only with positive numbers&quot;),this.length&lt;=r)return this;if(0!==e&amp;&amp;r++,this.length=Math.min(r,this.length),0!==e){var i=67108863^67108863&gt;&gt;&gt;e&lt;&lt;e;this.words[this.length-1]&amp;=i}return this.strip()},a.prototype.maskn=function(t){return this.clone().imaskn(t)},a.prototype.iaddn=function(t){return n(&quot;number&quot;==typeof t),n(t&lt;67108864),t&lt;0?this.isubn(-t):0!==this.negative?1===this.length&amp;&amp;(0|this.words[0])&lt;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&lt;this.length&amp;&amp;this.words[e]&gt;=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(&quot;number&quot;==typeof t),n(t&lt;67108864),t&lt;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&amp;&amp;this.words[0]&lt;0)this.words[0]=-this.words[0],this.negative=1;else for(var e=0;e&lt;this.length&amp;&amp;this.words[e]&lt;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=t.length+r;this._expand(a);var o,s=0;for(i=0;i&lt;t.length;i++){o=(0|this.words[i+r])+s;var l=(0|t.words[i])*e;s=((o-=67108863&amp;l)&gt;&gt;26)-(l/67108864|0),this.words[i+r]=67108863&amp;o}for(;i&lt;this.length-r;i++)s=(o=(0|this.words[i+r])+s)&gt;&gt;26,this.words[i+r]=67108863&amp;o;if(0===s)return this.strip();for(n(-1===s),s=0,i=0;i&lt;this.length;i++)s=(o=-(0|this.words[i])+s)&gt;&gt;26,this.words[i]=67108863&amp;o;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))&amp;&amp;(i=i.ushln(r),n.iushln(r),o=0|i.words[i.length-1]);var s,l=n.length-i.length;if(&quot;mod&quot;!==e){(s=new a(null)).length=l+1,s.words=new Array(s.length);for(var c=0;c&lt;s.length;c++)s.words[c]=0}var u=n.clone()._ishlnsubmul(i,1,l);0===u.negative&amp;&amp;(n=u,s&amp;&amp;(s.words[l]=1));for(var f=l-1;f&gt;=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&amp;&amp;(s.words[f]=h)}return s&amp;&amp;s.strip(),n.strip(),&quot;div&quot;!==e&amp;&amp;0!==r&amp;&amp;n.iushrn(r),{div:s||null,mod:n}},a.prototype.divmod=function(t,e,r){if(n(!t.isZero()),this.isZero())return{div:new a(0),mod:new a(0)};var i,o,s;return 0!==this.negative&amp;&amp;0===t.negative?(s=this.neg().divmod(t,e),&quot;mod&quot;!==e&amp;&amp;(i=s.div.neg()),&quot;div&quot;!==e&amp;&amp;(o=s.mod.neg(),r&amp;&amp;0!==o.negative&amp;&amp;o.iadd(t)),{div:i,mod:o}):0===this.negative&amp;&amp;0!==t.negative?(s=this.divmod(t.neg(),e),&quot;mod&quot;!==e&amp;&amp;(i=s.div.neg()),{div:i,mod:s.mod}):0!=(this.negative&amp;t.negative)?(s=this.neg().divmod(t.neg(),e),&quot;div&quot;!==e&amp;&amp;(o=s.mod.neg(),r&amp;&amp;0!==o.negative&amp;&amp;o.isub(t)),{div:s.div,mod:o}):t.length&gt;this.length||this.cmp(t)&lt;0?{div:new a(0),mod:this}:1===t.length?&quot;div&quot;===e?{div:this.divn(t.words[0]),mod:null}:&quot;mod&quot;===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)},a.prototype.div=function(t){return this.divmod(t,&quot;div&quot;,!1).div},a.prototype.mod=function(t){return this.divmod(t,&quot;mod&quot;,!1).mod},a.prototype.umod=function(t){return this.divmod(t,&quot;mod&quot;,!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&lt;0||1===i&amp;&amp;0===a?e.div:0!==e.div.negative?e.div.isubn(1):e.div.iaddn(1)},a.prototype.modn=function(t){n(t&lt;=67108863);for(var e=(1&lt;&lt;26)%t,r=0,i=this.length-1;i&gt;=0;i--)r=(e*r+(0|this.words[i]))%t;return r},a.prototype.idivn=function(t){n(t&lt;=67108863);for(var e=0,r=this.length-1;r&gt;=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()&amp;&amp;r.isEven();)e.iushrn(1),r.iushrn(1),++c;for(var u=r.clone(),f=e.clone();!e.isZero();){for(var h=0,d=1;0==(e.words[0]&amp;d)&amp;&amp;h&lt;26;++h,d&lt;&lt;=1);if(h&gt;0)for(e.iushrn(h);h-- &gt;0;)(i.isOdd()||o.isOdd())&amp;&amp;(i.iadd(u),o.isub(f)),i.iushrn(1),o.iushrn(1);for(var p=0,m=1;0==(r.words[0]&amp;m)&amp;&amp;p&lt;26;++p,m&lt;&lt;=1);if(p&gt;0)for(r.iushrn(p);p-- &gt;0;)(s.isOdd()||l.isOdd())&amp;&amp;(s.iadd(u),l.isub(f)),s.iushrn(1),l.iushrn(1);e.cmp(r)&gt;=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=new a(1),o=new a(0),s=r.clone();e.cmpn(1)&gt;0&amp;&amp;r.cmpn(1)&gt;0;){for(var l=0,c=1;0==(e.words[0]&amp;c)&amp;&amp;l&lt;26;++l,c&lt;&lt;=1);if(l&gt;0)for(e.iushrn(l);l-- &gt;0;)i.isOdd()&amp;&amp;i.iadd(s),i.iushrn(1);for(var u=0,f=1;0==(r.words[0]&amp;f)&amp;&amp;u&lt;26;++u,f&lt;&lt;=1);if(u&gt;0)for(r.iushrn(u);u-- &gt;0;)o.isOdd()&amp;&amp;o.iadd(s),o.iushrn(1);e.cmp(r)&gt;=0?(e.isub(r),i.isub(o)):(r.isub(e),o.isub(i))}var h;return(h=0===e.cmpn(1)?i:o).cmpn(0)&lt;0&amp;&amp;h.iadd(t),h},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()&amp;&amp;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&lt;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&amp;this.words[0])},a.prototype.isOdd=function(){return 1==(1&amp;this.words[0])},a.prototype.andln=function(t){return this.words[0]&amp;t},a.prototype.bincn=function(t){n(&quot;number&quot;==typeof t);var e=t%26,r=(t-e)/26,i=1&lt;&lt;e;if(this.length&lt;=r)return this._expand(r+1),this.words[r]|=i,this;for(var a=i,o=r;0!==a&amp;&amp;o&lt;this.length;o++){var s=0|this.words[o];a=(s+=a)&gt;&gt;&gt;26,s&amp;=67108863,this.words[o]=s}return 0!==a&amp;&amp;(this.words[o]=a,this.length++),this},a.prototype.isZero=function(){return 1===this.length&amp;&amp;0===this.words[0]},a.prototype.cmpn=function(t){var e=t&lt;0;if(0!==this.negative&amp;&amp;!e)return-1;if(0===this.negative&amp;&amp;e)return 1;this.strip();var r;if(this.length&gt;1)r=1;else{e&amp;&amp;(t=-t),n(t&lt;=67108863,&quot;Number is too big&quot;);var i=0|this.words[0];r=i===t?0:i&lt;t?-1:1}return 0!==this.negative?0|-r:r},a.prototype.cmp=function(t){if(0!==this.negative&amp;&amp;0===t.negative)return-1;if(0===this.negative&amp;&amp;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&gt;t.length)return 1;if(this.length&lt;t.length)return-1;for(var e=0,r=this.length-1;r&gt;=0;r--){var n=0|this.words[r],i=0|t.words[r];if(n!==i){n&lt;i?e=-1:n&gt;i&amp;&amp;(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)&gt;=0},a.prototype.gte=function(t){return this.cmp(t)&gt;=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)&lt;=0},a.prototype.lte=function(t){return this.cmp(t)&lt;=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 g(t)},a.prototype.toRed=function(t){return n(!this.red,&quot;Already a number in reduction context&quot;),n(0===this.negative,&quot;red works only with positives&quot;),t.convertTo(this)._forceRed(t)},a.prototype.fromRed=function(){return n(this.red,&quot;fromRed works only with numbers in reduction context&quot;),this.red.convertFrom(this)},a.prototype._forceRed=function(t){return this.red=t,this},a.prototype.forceRed=function(t){return n(!this.red,&quot;Already a number in reduction context&quot;),this._forceRed(t)},a.prototype.redAdd=function(t){return n(this.red,&quot;redAdd works only with red numbers&quot;),this.red.add(this,t)},a.prototype.redIAdd=function(t){return n(this.red,&quot;redIAdd works only with red numbers&quot;),this.red.iadd(this,t)},a.prototype.redSub=function(t){return n(this.red,&quot;redSub works only with red numbers&quot;),this.red.sub(this,t)},a.prototype.redISub=function(t){return n(this.red,&quot;redISub works only with red numbers&quot;),this.red.isub(this,t)},a.prototype.redShl=function(t){return n(this.red,&quot;redShl works only with red numbers&quot;),this.red.shl(this,t)},a.prototype.redMul=function(t){return n(this.red,&quot;redMul works only with red numbers&quot;),this.red._verify2(this,t),this.red.mul(this,t)},a.prototype.redIMul=function(t){return n(this.red,&quot;redMul works only with red numbers&quot;),this.red._verify2(this,t),this.red.imul(this,t)},a.prototype.redSqr=function(){return n(this.red,&quot;redSqr works only with red numbers&quot;),this.red._verify1(this),this.red.sqr(this)},a.prototype.redISqr=function(){return n(this.red,&quot;redISqr works only with red numbers&quot;),this.red._verify1(this),this.red.isqr(this)},a.prototype.redSqrt=function(){return n(this.red,&quot;redSqrt works only with red numbers&quot;),this.red._verify1(this),this.red.sqrt(this)},a.prototype.redInvm=function(){return n(this.red,&quot;redInvm works only with red numbers&quot;),this.red._verify1(this),this.red.invm(this)},a.prototype.redNeg=function(){return n(this.red,&quot;redNeg works only with red numbers&quot;),this.red._verify1(this),this.red.neg(this)},a.prototype.redPow=function(t){return n(this.red&amp;&amp;!t.red,&quot;redPow(normalNum)&quot;),this.red._verify1(this),this.red.pow(this,t)};var M={k256:null,p224:null,p192:null,p25519:null};f.prototype._tmp=function(){var t=new a(null);return t.words=new Array(Math.ceil(this.n/13)),t},f.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&gt;this.n);var n=e&lt;this.n?-1:r.ucmp(this.p);return 0===n?(r.words[0]=0,r.length=1):n&gt;0?r.isub(this.p):r.strip(),r},f.prototype.split=function(t,e){t.iushrn(this.n,0,e)},f.prototype.imulK=function(t){return t.imul(this.k)},i(h,f),h.prototype.split=function(t,e){for(var r=Math.min(t.length,9),n=0;n&lt;r;n++)e.words[n]=t.words[n];if(e.length=r,t.length&lt;=9)return t.words[0]=0,void(t.length=1);var i=t.words[9];for(e.words[e.length++]=4194303&amp;i,n=10;n&lt;t.length;n++){var a=0|t.words[n];t.words[n-10]=(4194303&amp;a)&lt;&lt;4|i&gt;&gt;&gt;22,i=a}i&gt;&gt;&gt;=22,t.words[n-10]=i,0===i&amp;&amp;t.length&gt;10?t.length-=10:t.length-=9},h.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&lt;t.length;r++){var n=0|t.words[r];e+=977*n,t.words[r]=67108863&amp;e,e=64*n+(e/67108864|0)}return 0===t.words[t.length-1]&amp;&amp;(t.length--,0===t.words[t.length-1]&amp;&amp;t.length--),t},i(d,f),i(p,f),i(m,f),m.prototype.imulK=function(t){for(var e=0,r=0;r&lt;t.length;r++){var n=19*(0|t.words[r])+e,i=67108863&amp;n;n&gt;&gt;&gt;=26,t.words[r]=i,e=n}return 0!==e&amp;&amp;(t.words[t.length++]=e),t},a._prime=function(t){if(M[t])return M[t];var e;if(&quot;k256&quot;===t)e=new h;else if(&quot;p224&quot;===t)e=new d;else if(&quot;p192&quot;===t)e=new p;else{if(&quot;p25519&quot;!==t)throw new Error(&quot;Unknown prime &quot;+t);e=new m}return M[t]=e,e},g.prototype._verify1=function(t){n(0===t.negative,&quot;red works only with positives&quot;),n(t.red,&quot;red works only with red numbers&quot;)},g.prototype._verify2=function(t,e){n(0==(t.negative|e.negative),&quot;red works only with positives&quot;),n(t.red&amp;&amp;t.red===e.red,&quot;red works only with red numbers&quot;)},g.prototype.imod=function(t){return this.prime?this.prime.ireduce(t)._forceRed(this):t.umod(this.m)._forceRed(this)},g.prototype.neg=function(t){return t.isZero()?t.clone():this.m.sub(t)._forceRed(this)},g.prototype.add=function(t,e){this._verify2(t,e);var r=t.add(e);return r.cmp(this.m)&gt;=0&amp;&amp;r.isub(this.m),r._forceRed(this)},g.prototype.iadd=function(t,e){this._verify2(t,e);var r=t.iadd(e);return r.cmp(this.m)&gt;=0&amp;&amp;r.isub(this.m),r},g.prototype.sub=function(t,e){this._verify2(t,e);var r=t.sub(e);return r.cmpn(0)&lt;0&amp;&amp;r.iadd(this.m),r._forceRed(this)},g.prototype.isub=function(t,e){this._verify2(t,e);var r=t.isub(e);return r.cmpn(0)&lt;0&amp;&amp;r.iadd(this.m),r},g.prototype.shl=function(t,e){return this._verify1(t),this.imod(t.ushln(e))},g.prototype.imul=function(t,e){return this._verify2(t,e),this.imod(t.imul(e))},g.prototype.mul=function(t,e){return this._verify2(t,e),this.imod(t.mul(e))},g.prototype.isqr=function(t){return this.imul(t,t.clone())},g.prototype.sqr=function(t){return this.mul(t,t)},g.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()&amp;&amp;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)),d=this.pow(t,i),p=o;0!==d.cmp(s);){for(var m=d,g=0;0!==m.cmp(s);g++)m=m.redSqr();n(g&lt;p);var v=this.pow(f,new a(1).iushln(p-g-1));h=h.redMul(v),f=v.redSqr(),d=d.redMul(f),p=g}return h},g.prototype.invm=function(t){var e=t._invmp(this.m);return 0!==e.negative?(e.negative=0,this.imod(e).redNeg()):this.imod(e)},g.prototype.pow=function(t,e){if(e.isZero())return new a(1);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&lt;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&amp;&amp;(l=26),n=e.length-1;n&gt;=0;n--){for(var c=e.words[n],u=l-1;u&gt;=0;u--){var f=c&gt;&gt;u&amp;1;i!==r[0]&amp;&amp;(i=this.sqr(i)),0!==f||0!==o?(o&lt;&lt;=1,o|=f,(4===++s||0===n&amp;&amp;0===u)&amp;&amp;(i=this.mul(i,r[o]),s=0,o=0)):s=0}l=26}return i},g.prototype.convertTo=function(t){var e=t.umod(this.m);return e===t?e.clone():e},g.prototype.convertFrom=function(t){var e=t.clone();return e.red=null,e},a.mont=function(t){return new v(t)},i(v,g),v.prototype.convertTo=function(t){return this.imod(t.ushln(this.shift))},v.prototype.convertFrom=function(t){var e=this.imod(t.mul(this.rinv));return e.red=null,e},v.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)&gt;=0?a=i.isub(this.m):i.cmpn(0)&lt;0&amp;&amp;(a=i.iadd(this.m)),a._forceRed(this)},v.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)&gt;=0?o=i.isub(this.m):i.cmpn(0)&lt;0&amp;&amp;(o=i.iadd(this.m)),o._forceRed(this)},v.prototype.invm=function(t){return this.imod(t._invmp(this.m).mul(this.r2))._forceRed(this)}}(void 0===e||e,this)},{}],74:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t){var e,r,n,i=t.length,a=0;for(e=0;e&lt;i;++e)a+=t[e].length;var o=new Array(a),s=0;for(e=0;e&lt;i;++e){var l=t[e],c=l.length;for(r=0;r&lt;c;++r){var u=o[s++]=new Array(c-1),f=0;for(n=0;n&lt;c;++n)n!==r&amp;&amp;(u[f++]=l[n]);if(1&amp;r){var h=u[1];u[1]=u[0],u[0]=h}}}return o}},{}],75:[function(t,e,r){&quot;use strict&quot;;function n(t,e){for(var r=0;r&lt;t;++r)if(!(e[r]&lt;=e[r+t]))return!0;return!1}function i(t,e,r,i){for(var a=0,o=0,s=0,l=t.length;s&lt;l;++s){var c=t[s];if(!n(e,c)){for(var u=0;u&lt;2*e;++u)r[a++]=c[u];i[o++]=s}}return o}function a(t,e,r,n){var a=t.length,o=e.length;if(!(a&lt;=0||o&lt;=0)){var s=t[0].length&gt;&gt;&gt;1;if(!(s&lt;=0)){var f,h=l.mallocDouble(2*s*a),d=l.mallocInt32(a);if((a=i(t,s,h,d))&gt;0){if(1===s&amp;&amp;n)c.init(a),f=c.sweepComplete(s,r,0,a,h,d,0,a,h,d);else{var p=l.mallocDouble(2*s*o),m=l.mallocInt32(o);(o=i(e,s,p,m))&gt;0&amp;&amp;(c.init(a+o),f=1===s?c.sweepBipartite(s,r,0,a,h,d,0,o,p,m):u(s,r,n,a,h,d,o,p,m),l.free(p),l.free(m))}l.free(h),l.free(d)}return f}}}function o(t,e){s.push([t,e])}e.exports=function(t,e,r){switch(arguments.length){case 1:return function(t){return s=[],a(t,t,o,!0),s}(t);case 2:return&quot;function&quot;==typeof e?a(t,t,e,!0):function(t,e){return s=[],a(t,e,o,!1),s}(t,e);case 3:return a(t,e,r,!1);default:throw new Error(&quot;box-intersect: Invalid arguments&quot;)}};var s,l=t(&quot;typedarray-pool&quot;),c=t(&quot;./lib/sweep&quot;),u=t(&quot;./lib/intersect&quot;)},{&quot;./lib/intersect&quot;:77,&quot;./lib/sweep&quot;:81,&quot;typedarray-pool&quot;:554}],76:[function(t,e,r){&quot;use strict&quot;;function n(t){function e(e,r){var s=function(t,e,r){var n=&quot;bruteForce&quot;+(t?&quot;Red&quot;:&quot;Blue&quot;)+(e?&quot;Flip&quot;:&quot;&quot;)+(r?&quot;Full&quot;:&quot;&quot;),s=[&quot;function &quot;,n,&quot;(&quot;,_.join(),&quot;){&quot;,&quot;var &quot;,l,&quot;=2*&quot;,i,&quot;;&quot;],w=&quot;for(var i=&quot;+c+&quot;,&quot;+d+&quot;=&quot;+l+&quot;*&quot;+c+&quot;;i&lt;&quot;+u+&quot;;++i,&quot;+d+&quot;+=&quot;+l+&quot;){var x0=&quot;+f+&quot;[&quot;+a+&quot;+&quot;+d+&quot;],x1=&quot;+f+&quot;[&quot;+a+&quot;+&quot;+d+&quot;+&quot;+i+&quot;],xi=&quot;+h+&quot;[i];&quot;,M=&quot;for(var j=&quot;+p+&quot;,&quot;+y+&quot;=&quot;+l+&quot;*&quot;+p+&quot;;j&lt;&quot;+m+&quot;;++j,&quot;+y+&quot;+=&quot;+l+&quot;){var y0=&quot;+g+&quot;[&quot;+a+&quot;+&quot;+y+&quot;],&quot;+(r?&quot;y1=&quot;+g+&quot;[&quot;+a+&quot;+&quot;+y+&quot;+&quot;+i+&quot;],&quot;:&quot;&quot;)+&quot;yi=&quot;+v+&quot;[j];&quot;;return t?s.push(w,b,&quot;:&quot;,M):s.push(M,b,&quot;:&quot;,w),r?s.push(&quot;if(y1&lt;x0||x1&lt;y0)continue;&quot;):e?s.push(&quot;if(y0&lt;=x0||x1&lt;y0)continue;&quot;):s.push(&quot;if(y0&lt;x0||x1&lt;y0)continue;&quot;),s.push(&quot;for(var k=&quot;+a+&quot;+1;k&lt;&quot;+i+&quot;;++k){var r0=&quot;+f+&quot;[k+&quot;+d+&quot;],r1=&quot;+f+&quot;[k+&quot;+i+&quot;+&quot;+d+&quot;],b0=&quot;+g+&quot;[k+&quot;+y+&quot;],b1=&quot;+g+&quot;[k+&quot;+i+&quot;+&quot;+y+&quot;];if(r1&lt;b0||b1&lt;r0)continue &quot;+b+&quot;;}var &quot;+x+&quot;=&quot;+o+&quot;(&quot;),e?s.push(&quot;yi,xi&quot;):s.push(&quot;xi,yi&quot;),s.push(&quot;);if(&quot;+x+&quot;!==void 0)return &quot;+x+&quot;;}}}&quot;),{name:n,code:s.join(&quot;&quot;)}}(e,r,t);n.push(s.code),M.push(&quot;return &quot;+s.name+&quot;(&quot;+_.join()+&quot;);&quot;)}var r=&quot;bruteForce&quot;+(t?&quot;Full&quot;:&quot;Partial&quot;),n=[],w=_.slice();t||w.splice(3,0,s);var M=[&quot;function &quot;+r+&quot;(&quot;+w.join()+&quot;){&quot;];M.push(&quot;if(&quot;+u+&quot;-&quot;+c+&quot;&gt;&quot;+m+&quot;-&quot;+p+&quot;){&quot;),t?(e(!0,!1),M.push(&quot;}else{&quot;),e(!1,!1)):(M.push(&quot;if(&quot;+s+&quot;){&quot;),e(!0,!0),M.push(&quot;}else{&quot;),e(!0,!1),M.push(&quot;}}else{if(&quot;+s+&quot;){&quot;),e(!1,!0),M.push(&quot;}else{&quot;),e(!1,!1),M.push(&quot;}&quot;)),M.push(&quot;}}return &quot;+r);var k=n.join(&quot;&quot;)+M.join(&quot;&quot;);return new Function(k)()}var i=&quot;d&quot;,a=&quot;ax&quot;,o=&quot;vv&quot;,s=&quot;fp&quot;,l=&quot;es&quot;,c=&quot;rs&quot;,u=&quot;re&quot;,f=&quot;rb&quot;,h=&quot;ri&quot;,d=&quot;rp&quot;,p=&quot;bs&quot;,m=&quot;be&quot;,g=&quot;bb&quot;,v=&quot;bi&quot;,y=&quot;bp&quot;,x=&quot;rv&quot;,b=&quot;Q&quot;,_=[i,a,o,c,u,f,h,p,m,g,v];r.partial=n(!1),r.full=n(!0)},{}],77:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,n,i,a,o,s,l){var c=M*t;A[c]=e,A[c+1]=r,A[c+2]=n,A[c+3]=i,A[c+4]=a,A[c+5]=o;var u=k*t;T[u]=s,T[u+1]=l}function i(t,e,r,n,i,a,o,s,l,c,u){var f=2*t,h=l*f,d=c[h+e];t:for(var p=i,m=i*f;p&lt;a;++p,m+=f){var g=o[m+e],v=o[m+e+t];if(!(d&lt;g||v&lt;d)&amp;&amp;(!n||d!==g)){for(var y=s[p],x=e+1;x&lt;t;++x){g=o[m+x],v=o[m+x+t];var b=c[h+x],_=c[h+x+t];if(v&lt;b||_&lt;g)continue t}var w;if(void 0!==(w=n?r(u,y):r(y,u)))return w}}}function a(t,e,r,n,i,a,o,s,l,c){var u=2*t,f=s*u,h=l[f+e];t:for(var d=n,p=n*u;d&lt;i;++d,p+=u){var m=o[d];if(m!==c){var g=a[p+e],v=a[p+e+t];if(!(h&lt;g||v&lt;h)){for(var y=e+1;y&lt;t;++y){g=a[p+y],v=a[p+y+t];var x=l[f+y],b=l[f+y+t];if(v&lt;x||b&lt;g)continue t}var _=r(m,c);if(void 0!==_)return _}}}}e.exports=function(t,e,r,l,d,S,E,L,C){!function(t,e){var r=8*s.log2(e+1)*(t+1)|0,n=s.nextPow2(M*r);A.length&lt;n&amp;&amp;(o.free(A),A=o.mallocInt32(n));var i=s.nextPow2(k*r);T&lt;i&amp;&amp;(o.free(T),T=o.mallocDouble(i))}(t,l+E);var z,D=0,I=2*t;for(n(D++,0,0,l,0,E,r?16:0,-1/0,1/0),r||n(D++,0,0,E,0,l,1,-1/0,1/0);D&gt;0;){var P=(D-=1)*M,O=A[P],F=A[P+1],R=A[P+2],N=A[P+3],j=A[P+4],B=A[P+5],U=D*k,V=T[U],q=T[U+1],H=1&amp;B,G=!!(16&amp;B),Y=d,W=S,X=L,Z=C;if(H&amp;&amp;(Y=L,W=C,X=d,Z=S),!(2&amp;B&amp;&amp;(R=x(t,O,F,R,Y,W,q),F&gt;=R)||4&amp;B&amp;&amp;(F=b(t,O,F,R,Y,W,V))&gt;=R)){var J=R-F,K=j-N;if(G){if(t*J*(J+K)&lt;g){if(void 0!==(z=f.scanComplete(t,O,e,F,R,Y,W,N,j,X,Z)))return z;continue}}else{if(t*Math.min(J,K)&lt;p){if(void 0!==(z=c(t,O,e,H,F,R,Y,W,N,j,X,Z)))return z;continue}if(t*J*K&lt;m){if(void 0!==(z=f.scanBipartite(t,O,e,H,F,R,Y,W,N,j,X,Z)))return z;continue}}var Q=v(t,O,F,R,Y,W,V,q);if(F&lt;Q)if(t*(Q-F)&lt;p){if(void 0!==(z=u(t,O+1,e,F,Q,Y,W,N,j,X,Z)))return z}else if(O===t-2){if(void 0!==(z=H?f.sweepBipartite(t,e,N,j,X,Z,F,Q,Y,W):f.sweepBipartite(t,e,F,Q,Y,W,N,j,X,Z)))return z}else n(D++,O+1,F,Q,N,j,H,-1/0,1/0),n(D++,O+1,N,j,F,Q,1^H,-1/0,1/0);if(Q&lt;R){var $=h(t,O,N,j,X,Z),tt=X[I*$+O],et=y(t,O,$,j,X,Z,tt);if(et&lt;j&amp;&amp;n(D++,O,Q,R,et,j,(4|H)+(G?16:0),tt,q),N&lt;$&amp;&amp;n(D++,O,Q,R,N,$,(2|H)+(G?16:0),V,tt),$+1===et){if(void 0!==(z=G?a(t,O,e,Q,R,Y,W,$,X,Z[$]):i(t,O,e,H,Q,R,Y,W,$,X,Z[$])))return z}else if($&lt;et){var rt;if(G){if(rt=_(t,O,Q,R,Y,W,tt),Q&lt;rt){var nt=y(t,O,Q,rt,Y,W,tt);if(O===t-2){if(Q&lt;nt&amp;&amp;void 0!==(z=f.sweepComplete(t,e,Q,nt,Y,W,$,et,X,Z)))return z;if(nt&lt;rt&amp;&amp;void 0!==(z=f.sweepBipartite(t,e,nt,rt,Y,W,$,et,X,Z)))return z}else Q&lt;nt&amp;&amp;n(D++,O+1,Q,nt,$,et,16,-1/0,1/0),nt&lt;rt&amp;&amp;(n(D++,O+1,nt,rt,$,et,0,-1/0,1/0),n(D++,O+1,$,et,nt,rt,1,-1/0,1/0))}}else Q&lt;(rt=H?w(t,O,Q,R,Y,W,tt):_(t,O,Q,R,Y,W,tt))&amp;&amp;(O===t-2?z=H?f.sweepBipartite(t,e,$,et,X,Z,Q,rt,Y,W):f.sweepBipartite(t,e,Q,rt,Y,W,$,et,X,Z):(n(D++,O+1,Q,rt,$,et,H,-1/0,1/0),n(D++,O+1,$,et,Q,rt,1^H,-1/0,1/0)))}}}}};var o=t(&quot;typedarray-pool&quot;),s=t(&quot;bit-twiddle&quot;),l=t(&quot;./brute&quot;),c=l.partial,u=l.full,f=t(&quot;./sweep&quot;),h=t(&quot;./median&quot;),d=t(&quot;./partition&quot;),p=128,m=1&lt;&lt;22,g=1&lt;&lt;22,v=d(&quot;!(lo&gt;=p0)&amp;&amp;!(p1&gt;=hi)&quot;,[&quot;p0&quot;,&quot;p1&quot;]),y=d(&quot;lo===p0&quot;,[&quot;p0&quot;]),x=d(&quot;lo&lt;p0&quot;,[&quot;p0&quot;]),b=d(&quot;hi&lt;=p0&quot;,[&quot;p0&quot;]),_=d(&quot;lo&lt;=p0&amp;&amp;p0&lt;=hi&quot;,[&quot;p0&quot;]),w=d(&quot;lo&lt;p0&amp;&amp;p0&lt;=hi&quot;,[&quot;p0&quot;]),M=6,k=2,A=o.mallocInt32(1024),T=o.mallocDouble(1024)},{&quot;./brute&quot;:76,&quot;./median&quot;:78,&quot;./partition&quot;:79,&quot;./sweep&quot;:81,&quot;bit-twiddle&quot;:71,&quot;typedarray-pool&quot;:554}],78:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,n,i,a){for(var o=2*t,s=o*(r+1)+e,l=r+1;l&lt;n;++l,s+=o)for(var c=i[s],u=l,f=o*(l-1);u&gt;r&amp;&amp;i[f+e]&gt;c;--u,f-=o){for(var h=f,d=f+o,p=0;p&lt;o;++p,++h,++d){var m=i[h];i[h]=i[d],i[d]=m}var g=a[u];a[u]=a[u-1],a[u-1]=g}}e.exports=function(t,e,r,o,s,l){if(o&lt;=r+1)return r;for(var c=r,u=o,f=o+r&gt;&gt;&gt;1,h=2*t,d=f,p=s[h*f+e];c&lt;u;){if(u-c&lt;a){n(t,e,c,u,s,l),p=s[h*f+e];break}var m=u-c,g=Math.random()*m+c|0,v=s[h*g+e],y=Math.random()*m+c|0,x=s[h*y+e],b=Math.random()*m+c|0,_=s[h*b+e];v&lt;=x?_&gt;=x?(d=y,p=x):v&gt;=_?(d=g,p=v):(d=b,p=_):x&gt;=_?(d=y,p=x):_&gt;=v?(d=g,p=v):(d=b,p=_);for(var w=h*(u-1),M=h*d,k=0;k&lt;h;++k,++w,++M){var A=s[w];s[w]=s[M],s[M]=A}var T=l[u-1];for(l[u-1]=l[d],l[d]=T,w=h*(u-1),M=h*(d=i(t,e,c,u-1,s,l,p)),k=0;k&lt;h;++k,++w,++M)A=s[w],s[w]=s[M],s[M]=A;if(T=l[u-1],l[u-1]=l[d],l[d]=T,f&lt;d){for(u=d-1;c&lt;u&amp;&amp;s[h*(u-1)+e]===p;)u-=1;u+=1}else{if(!(d&lt;f))break;for(c=d+1;c&lt;u&amp;&amp;s[h*c+e]===p;)c+=1}}return i(t,e,r,f,s,l,s[h*f+e])};var i=t(&quot;./partition&quot;)(&quot;lo&lt;p0&quot;,[&quot;p0&quot;]),a=8},{&quot;./partition&quot;:79}],79:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t,e){var r=&quot;abcdef&quot;.split(&quot;&quot;).concat(e),i=[];return t.indexOf(&quot;lo&quot;)&gt;=0&amp;&amp;i.push(&quot;lo=e[k+n]&quot;),t.indexOf(&quot;hi&quot;)&gt;=0&amp;&amp;i.push(&quot;hi=e[k+o]&quot;),r.push(n.replace(&quot;_&quot;,i.join()).replace(&quot;$&quot;,t)),Function.apply(void 0,r)};var n=&quot;for(var j=2*a,k=j*c,l=k,m=c,n=b,o=a+b,p=c;d&gt;p;++p,k+=j){var _;if($)if(m===p)m+=1,l+=j;else{for(var s=0;j&gt;s;++s){var t=e[k+s];e[k+s]=e[l],e[l++]=t}var u=f[p];f[p]=f[m],f[m++]=u}}return m&quot;},{}],80:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r){for(var n=2*(t+1),i=t+1;i&lt;=e;++i){for(var a=r[n++],o=r[n++],s=i,l=n-2;s-- &gt;t;){var c=r[l-2],u=r[l-1];if(c&lt;a)break;if(c===a&amp;&amp;u&lt;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&lt;i)&amp;&amp;(n!==i||r[t+1]&gt;r[e+1])}function c(t,e,r,n){var i=n[t*=2];return i&lt;e||i===e&amp;&amp;n[t+1]&lt;r}function u(t,e,r){var h=(e-t+1)/6|0,d=t+h,p=e-h,m=t+e&gt;&gt;1,g=m-h,v=m+h,y=d,x=g,b=m,_=v,w=p,M=t+1,k=e-1,A=0;l(y,x,r)&amp;&amp;(A=y,y=x,x=A),l(_,w,r)&amp;&amp;(A=_,_=w,w=A),l(y,b,r)&amp;&amp;(A=y,y=b,b=A),l(x,b,r)&amp;&amp;(A=x,x=b,b=A),l(y,_,r)&amp;&amp;(A=y,y=_,_=A),l(b,_,r)&amp;&amp;(A=b,b=_,_=A),l(x,w,r)&amp;&amp;(A=x,x=w,w=A),l(x,b,r)&amp;&amp;(A=x,x=b,b=A),l(_,w,r)&amp;&amp;(A=_,_=w,w=A);for(var T=r[2*x],S=r[2*x+1],E=r[2*_],L=r[2*_+1],C=2*y,z=2*b,D=2*w,I=2*d,P=2*m,O=2*p,F=0;F&lt;2;++F){var R=r[C+F],N=r[z+F],j=r[D+F];r[I+F]=R,r[P+F]=N,r[O+F]=j}a(g,t,r),a(v,e,r);for(var B=M;B&lt;=k;++B)if(c(B,T,S,r))B!==M&amp;&amp;i(B,M,r),++M;else if(!c(B,E,L,r))for(;;){if(c(k,E,L,r)){c(k,T,S,r)?(o(B,M,k,r),++M,--k):(i(B,k,r),--k);break}if(--k&lt;B)break}s(t,M-1,T,S,r),s(e,k+1,E,L,r),M-2-t&lt;=f?n(t,M-2,r):u(t,M-2,r),e-(k+2)&lt;=f?n(k+2,e,r):u(k+2,e,r),k-M&lt;=f?n(M,k,r):u(M,k,r)}e.exports=function(t,e){e&lt;=4*f?n(0,e-1,t):u(0,e-1,t)};var f=32},{}],81:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,n){var i=e[n],a=t[r-1];t[i]=a,e[a]=i}function i(t,e,r,n){t[r]=n,e[n]=r}e.exports={init:function(t){var e=o.nextPow2(t);c.length&lt;e&amp;&amp;(a.free(c),c=a.mallocInt32(e)),u.length&lt;e&amp;&amp;(a.free(u),u=a.mallocInt32(e)),f.length&lt;e&amp;&amp;(a.free(f),f=a.mallocInt32(e)),h.length&lt;e&amp;&amp;(a.free(h),h=a.mallocInt32(e)),d.length&lt;e&amp;&amp;(a.free(d),d=a.mallocInt32(e)),p.length&lt;e&amp;&amp;(a.free(p),p=a.mallocInt32(e));var r=8*e;m.length&lt;r&amp;&amp;(a.free(m),m=a.mallocDouble(r))},sweepBipartite:function(t,e,r,a,o,d,p,g,v,y){for(var x=0,b=2*t,_=t-1,w=b-1,M=r;M&lt;a;++M){var k=d[M],A=b*M;m[x++]=o[A+_],m[x++]=-(k+1),m[x++]=o[A+w],m[x++]=k}for(M=p;M&lt;g;++M){k=y[M]+l;var T=b*M;m[x++]=v[T+_],m[x++]=-k,m[x++]=v[T+w],m[x++]=k}var S=x&gt;&gt;&gt;1;s(m,S);var E=0,L=0;for(M=0;M&lt;S;++M){var C=0|m[2*M+1];if(C&gt;=l)n(f,h,L--,C=C-l|0);else if(C&gt;=0)n(c,u,E--,C);else if(C&lt;=-l){C=-C-l|0;for(var z=0;z&lt;E;++z)if(void 0!==(D=e(c[z],C)))return D;i(f,h,L++,C)}else{for(C=-C-1|0,z=0;z&lt;L;++z){var D;if(void 0!==(D=e(C,f[z])))return D}i(c,u,E++,C)}}},sweepComplete:function(t,e,r,a,o,l,g,v,y,x){for(var b=0,_=2*t,w=t-1,M=_-1,k=r;k&lt;a;++k){var A=l[k]+1&lt;&lt;1,T=_*k;m[b++]=o[T+w],m[b++]=-A,m[b++]=o[T+M],m[b++]=A}for(k=g;k&lt;v;++k){A=x[k]+1&lt;&lt;1;var S=_*k;m[b++]=y[S+w],m[b++]=1|-A,m[b++]=y[S+M],m[b++]=1|A}var E=b&gt;&gt;&gt;1;s(m,E);var L=0,C=0,z=0;for(k=0;k&lt;E;++k){var D=0|m[2*k+1],I=1&amp;D;if(k&lt;E-1&amp;&amp;D&gt;&gt;1==m[2*k+3]&gt;&gt;1&amp;&amp;(I=2,k+=1),D&lt;0){for(var P=-(D&gt;&gt;1)-1,O=0;O&lt;z;++O)if(void 0!==(F=e(d[O],P)))return F;if(0!==I)for(O=0;O&lt;L;++O)if(void 0!==(F=e(c[O],P)))return F;if(1!==I)for(O=0;O&lt;C;++O){var F;if(void 0!==(F=e(f[O],P)))return F}0===I?i(c,u,L++,P):1===I?i(f,h,C++,P):2===I&amp;&amp;i(d,p,z++,P)}else P=(D&gt;&gt;1)-1,0===I?n(c,u,L--,P):1===I?n(f,h,C--,P):2===I&amp;&amp;n(d,p,z--,P)}},scanBipartite:function(t,e,r,a,o,f,h,d,p,g,v,y){var x=0,b=2*t,_=e,w=e+t,M=1,k=1;a?k=l:M=l;for(var A=o;A&lt;f;++A){var T=A+M,S=b*A;m[x++]=h[S+_],m[x++]=-T,m[x++]=h[S+w],m[x++]=T}for(A=p;A&lt;g;++A){T=A+k;var E=b*A;m[x++]=v[E+_],m[x++]=-T}var L=x&gt;&gt;&gt;1;s(m,L);var C=0;for(A=0;A&lt;L;++A){var z=0|m[2*A+1];if(z&lt;0){var D=!1;if((T=-z)&gt;=l?(D=!a,T-=l):(D=!!a,T-=1),D)i(c,u,C++,T);else{var I=y[T],P=b*T,O=v[P+e+1],F=v[P+e+1+t];t:for(var R=0;R&lt;C;++R){var N=c[R],j=b*N;if(!(F&lt;h[j+e+1]||h[j+e+1+t]&lt;O)){for(var B=e+2;B&lt;t;++B)if(v[P+B+t]&lt;h[j+B]||h[j+B+t]&lt;v[P+B])continue t;var U,V=d[N];if(void 0!==(U=a?r(I,V):r(V,I)))return U}}}}else n(c,u,C--,z-M)}},scanComplete:function(t,e,r,n,i,a,o,u,f,h,d){for(var p=0,g=2*t,v=e,y=e+t,x=n;x&lt;i;++x){var b=x+l,_=g*x;m[p++]=a[_+v],m[p++]=-b,m[p++]=a[_+y],m[p++]=b}for(x=u;x&lt;f;++x){b=x+1;var w=g*x;m[p++]=h[w+v],m[p++]=-b}var M=p&gt;&gt;&gt;1;s(m,M);var k=0;for(x=0;x&lt;M;++x){var A=0|m[2*x+1];if(A&lt;0)if((b=-A)&gt;=l)c[k++]=b-l;else{var T=d[b-=1],S=g*b,E=h[S+e+1],L=h[S+e+1+t];t:for(var C=0;C&lt;k;++C){var z=c[C],D=o[z];if(D===T)break;var I=g*z;if(!(L&lt;a[I+e+1]||a[I+e+1+t]&lt;E)){for(var P=e+2;P&lt;t;++P)if(h[S+P+t]&lt;a[I+P]||a[I+P+t]&lt;h[S+P])continue t;var O=r(D,T);if(void 0!==O)return O}}}else{for(b=A-l,C=k-1;C&gt;=0;--C)if(c[C]===b){for(P=C+1;P&lt;k;++P)c[P-1]=c[P];break}--k}}}};var a=t(&quot;typedarray-pool&quot;),o=t(&quot;bit-twiddle&quot;),s=t(&quot;./sort&quot;),l=1&lt;&lt;28,c=a.mallocInt32(1024),u=a.mallocInt32(1024),f=a.mallocInt32(1024),h=a.mallocInt32(1024),d=a.mallocInt32(1024),p=a.mallocInt32(1024),m=a.mallocDouble(8192)},{&quot;./sort&quot;:80,&quot;bit-twiddle&quot;:71,&quot;typedarray-pool&quot;:554}],82:[function(t,e,r){&quot;use strict&quot;;function n(t){if(t&gt;P)throw new RangeError(&quot;Invalid typed array length&quot;);var e=new Uint8Array(t);return e.__proto__=i.prototype,e}function i(t,e,r){if(&quot;number&quot;==typeof t){if(&quot;string&quot;==typeof e)throw new Error(&quot;If encoding is specified then the first argument must be a string&quot;);return s(t)}return a(t,e,r)}function a(t,e,r){if(&quot;number&quot;==typeof t)throw new TypeError('&quot;value&quot; argument must not be a number');return t instanceof ArrayBuffer?function(t,e,r){if(e&lt;0||t.byteLength&lt;e)throw new RangeError(&quot;'offset' is out of bounds&quot;);if(t.byteLength&lt;e+(r||0))throw new RangeError(&quot;'length' is out of bounds&quot;);var n;n=void 0===e&amp;&amp;void 0===r?new Uint8Array(t):void 0===r?new Uint8Array(t,e):new Uint8Array(t,e,r);return n.__proto__=i.prototype,n}(t,e,r):&quot;string&quot;==typeof t?function(t,e){&quot;string&quot;==typeof e&amp;&amp;&quot;&quot;!==e||(e=&quot;utf8&quot;);if(!i.isEncoding(e))throw new TypeError('&quot;encoding&quot; must be a valid string encoding');var r=0|u(t,e),a=n(r),o=a.write(t,e);o!==r&amp;&amp;(a=a.slice(0,o));return a}(t,e):function(t){if(i.isBuffer(t)){var e=0|c(t.length),r=n(e);return 0===r.length?r:(t.copy(r,0,0,e),r)}if(t){if(C(t)||&quot;length&quot;in t)return&quot;number&quot;!=typeof t.length||z(t.length)?n(0):l(t);if(&quot;Buffer&quot;===t.type&amp;&amp;Array.isArray(t.data))return l(t.data)}throw new TypeError(&quot;First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.&quot;)}(t)}function o(t){if(&quot;number&quot;!=typeof t)throw new TypeError('&quot;size&quot; argument must be a number');if(t&lt;0)throw new RangeError('&quot;size&quot; argument must not be negative')}function s(t){return o(t),n(t&lt;0?0:0|c(t))}function l(t){for(var e=t.length&lt;0?0:0|c(t.length),r=n(e),i=0;i&lt;e;i+=1)r[i]=255&amp;t[i];return r}function c(t){if(t&gt;=P)throw new RangeError(&quot;Attempt to allocate Buffer larger than maximum size: 0x&quot;+P.toString(16)+&quot; bytes&quot;);return 0|t}function u(t,e){if(i.isBuffer(t))return t.length;if(C(t)||t instanceof ArrayBuffer)return t.byteLength;&quot;string&quot;!=typeof t&amp;&amp;(t=&quot;&quot;+t);var r=t.length;if(0===r)return 0;for(var n=!1;;)switch(e){case&quot;ascii&quot;:case&quot;latin1&quot;:case&quot;binary&quot;:return r;case&quot;utf8&quot;:case&quot;utf-8&quot;:case void 0:return S(t).length;case&quot;ucs2&quot;:case&quot;ucs-2&quot;:case&quot;utf16le&quot;:case&quot;utf-16le&quot;:return 2*r;case&quot;hex&quot;:return r&gt;&gt;&gt;1;case&quot;base64&quot;:return E(t).length;default:if(n)return S(t).length;e=(&quot;&quot;+e).toLowerCase(),n=!0}}function f(t,e,r){var n=!1;if((void 0===e||e&lt;0)&amp;&amp;(e=0),e&gt;this.length)return&quot;&quot;;if((void 0===r||r&gt;this.length)&amp;&amp;(r=this.length),r&lt;=0)return&quot;&quot;;if(r&gt;&gt;&gt;=0,e&gt;&gt;&gt;=0,r&lt;=e)return&quot;&quot;;for(t||(t=&quot;utf8&quot;);;)switch(t){case&quot;hex&quot;:return function(t,e,r){var n=t.length;(!e||e&lt;0)&amp;&amp;(e=0);(!r||r&lt;0||r&gt;n)&amp;&amp;(r=n);for(var i=&quot;&quot;,a=e;a&lt;r;++a)i+=function(t){return t&lt;16?&quot;0&quot;+t.toString(16):t.toString(16)}(t[a]);return i}(this,e,r);case&quot;utf8&quot;:case&quot;utf-8&quot;:return _(this,e,r);case&quot;ascii&quot;:return function(t,e,r){var n=&quot;&quot;;r=Math.min(t.length,r);for(var i=e;i&lt;r;++i)n+=String.fromCharCode(127&amp;t[i]);return n}(this,e,r);case&quot;latin1&quot;:case&quot;binary&quot;:return function(t,e,r){var n=&quot;&quot;;r=Math.min(t.length,r);for(var i=e;i&lt;r;++i)n+=String.fromCharCode(t[i]);return n}(this,e,r);case&quot;base64&quot;:return function(t,e,r){return 0===e&amp;&amp;r===t.length?D.fromByteArray(t):D.fromByteArray(t.slice(e,r))}(this,e,r);case&quot;ucs2&quot;:case&quot;ucs-2&quot;:case&quot;utf16le&quot;:case&quot;utf-16le&quot;:return function(t,e,r){for(var n=t.slice(e,r),i=&quot;&quot;,a=0;a&lt;n.length;a+=2)i+=String.fromCharCode(n[a]+256*n[a+1]);return i}(this,e,r);default:if(n)throw new TypeError(&quot;Unknown encoding: &quot;+t);t=(t+&quot;&quot;).toLowerCase(),n=!0}}function h(t,e,r){var n=t[e];t[e]=t[r],t[r]=n}function d(t,e,r,n,a){if(0===t.length)return-1;if(&quot;string&quot;==typeof r?(n=r,r=0):r&gt;2147483647?r=2147483647:r&lt;-2147483648&amp;&amp;(r=-2147483648),r=+r,z(r)&amp;&amp;(r=a?0:t.length-1),r&lt;0&amp;&amp;(r=t.length+r),r&gt;=t.length){if(a)return-1;r=t.length-1}else if(r&lt;0){if(!a)return-1;r=0}if(&quot;string&quot;==typeof e&amp;&amp;(e=i.from(e,n)),i.isBuffer(e))return 0===e.length?-1:p(t,e,r,n,a);if(&quot;number&quot;==typeof e)return e&amp;=255,&quot;function&quot;==typeof Uint8Array.prototype.indexOf?a?Uint8Array.prototype.indexOf.call(t,e,r):Uint8Array.prototype.lastIndexOf.call(t,e,r):p(t,[e],r,n,a);throw new TypeError(&quot;val must be string, number or Buffer&quot;)}function p(t,e,r,n,i){function a(t,e){return 1===o?t[e]:t.readUInt16BE(e*o)}var o=1,s=t.length,l=e.length;if(void 0!==n&amp;&amp;(&quot;ucs2&quot;===(n=String(n).toLowerCase())||&quot;ucs-2&quot;===n||&quot;utf16le&quot;===n||&quot;utf-16le&quot;===n)){if(t.length&lt;2||e.length&lt;2)return-1;o=2,s/=2,l/=2,r/=2}var c;if(i){var u=-1;for(c=r;c&lt;s;c++)if(a(t,c)===a(e,-1===u?0:c-u)){if(-1===u&amp;&amp;(u=c),c-u+1===l)return u*o}else-1!==u&amp;&amp;(c-=c-u),u=-1}else for(r+l&gt;s&amp;&amp;(r=s-l),c=r;c&gt;=0;c--){for(var f=!0,h=0;h&lt;l;h++)if(a(t,c+h)!==a(e,h)){f=!1;break}if(f)return c}return-1}function m(t,e,r,n){r=Number(r)||0;var i=t.length-r;n?(n=Number(n))&gt;i&amp;&amp;(n=i):n=i;var a=e.length;if(a%2!=0)throw new TypeError(&quot;Invalid hex string&quot;);n&gt;a/2&amp;&amp;(n=a/2);for(var o=0;o&lt;n;++o){var s=parseInt(e.substr(2*o,2),16);if(z(s))return o;t[r+o]=s}return o}function g(t,e,r,n){return L(S(e,t.length-r),t,r,n)}function v(t,e,r,n){return L(function(t){for(var e=[],r=0;r&lt;t.length;++r)e.push(255&amp;t.charCodeAt(r));return e}(e),t,r,n)}function y(t,e,r,n){return v(t,e,r,n)}function x(t,e,r,n){return L(E(e),t,r,n)}function b(t,e,r,n){return L(function(t,e){for(var r,n,i,a=[],o=0;o&lt;t.length&amp;&amp;!((e-=2)&lt;0);++o)r=t.charCodeAt(o),n=r&gt;&gt;8,i=r%256,a.push(i),a.push(n);return a}(e,t.length-r),t,r,n)}function _(t,e,r){r=Math.min(t.length,r);for(var n=[],i=e;i&lt;r;){var a=t[i],o=null,s=a&gt;239?4:a&gt;223?3:a&gt;191?2:1;if(i+s&lt;=r){var l,c,u,f;switch(s){case 1:a&lt;128&amp;&amp;(o=a);break;case 2:128==(192&amp;(l=t[i+1]))&amp;&amp;(f=(31&amp;a)&lt;&lt;6|63&amp;l)&gt;127&amp;&amp;(o=f);break;case 3:l=t[i+1],c=t[i+2],128==(192&amp;l)&amp;&amp;128==(192&amp;c)&amp;&amp;(f=(15&amp;a)&lt;&lt;12|(63&amp;l)&lt;&lt;6|63&amp;c)&gt;2047&amp;&amp;(f&lt;55296||f&gt;57343)&amp;&amp;(o=f);break;case 4:l=t[i+1],c=t[i+2],u=t[i+3],128==(192&amp;l)&amp;&amp;128==(192&amp;c)&amp;&amp;128==(192&amp;u)&amp;&amp;(f=(15&amp;a)&lt;&lt;18|(63&amp;l)&lt;&lt;12|(63&amp;c)&lt;&lt;6|63&amp;u)&gt;65535&amp;&amp;f&lt;1114112&amp;&amp;(o=f)}}null===o?(o=65533,s=1):o&gt;65535&amp;&amp;(o-=65536,n.push(o&gt;&gt;&gt;10&amp;1023|55296),o=56320|1023&amp;o),n.push(o),i+=s}return function(t){var e=t.length;if(e&lt;=O)return String.fromCharCode.apply(String,t);var r=&quot;&quot;,n=0;for(;n&lt;e;)r+=String.fromCharCode.apply(String,t.slice(n,n+=O));return r}(n)}function w(t,e,r){if(t%1!=0||t&lt;0)throw new RangeError(&quot;offset is not uint&quot;);if(t+e&gt;r)throw new RangeError(&quot;Trying to access beyond buffer length&quot;)}function M(t,e,r,n,a,o){if(!i.isBuffer(t))throw new TypeError('&quot;buffer&quot; argument must be a Buffer instance');if(e&gt;a||e&lt;o)throw new RangeError('&quot;value&quot; argument is out of bounds');if(r+n&gt;t.length)throw new RangeError(&quot;Index out of range&quot;)}function k(t,e,r,n,i,a){if(r+n&gt;t.length)throw new RangeError(&quot;Index out of range&quot;);if(r&lt;0)throw new RangeError(&quot;Index out of range&quot;)}function A(t,e,r,n,i){return e=+e,r&gt;&gt;&gt;=0,i||k(t,0,r,4),I.write(t,e,r,n,23,4),r+4}function T(t,e,r,n,i){return e=+e,r&gt;&gt;&gt;=0,i||k(t,0,r,8),I.write(t,e,r,n,52,8),r+8}function S(t,e){e=e||1/0;for(var r,n=t.length,i=null,a=[],o=0;o&lt;n;++o){if((r=t.charCodeAt(o))&gt;55295&amp;&amp;r&lt;57344){if(!i){if(r&gt;56319){(e-=3)&gt;-1&amp;&amp;a.push(239,191,189);continue}if(o+1===n){(e-=3)&gt;-1&amp;&amp;a.push(239,191,189);continue}i=r;continue}if(r&lt;56320){(e-=3)&gt;-1&amp;&amp;a.push(239,191,189),i=r;continue}r=65536+(i-55296&lt;&lt;10|r-56320)}else i&amp;&amp;(e-=3)&gt;-1&amp;&amp;a.push(239,191,189);if(i=null,r&lt;128){if((e-=1)&lt;0)break;a.push(r)}else if(r&lt;2048){if((e-=2)&lt;0)break;a.push(r&gt;&gt;6|192,63&amp;r|128)}else if(r&lt;65536){if((e-=3)&lt;0)break;a.push(r&gt;&gt;12|224,r&gt;&gt;6&amp;63|128,63&amp;r|128)}else{if(!(r&lt;1114112))throw new Error(&quot;Invalid code point&quot;);if((e-=4)&lt;0)break;a.push(r&gt;&gt;18|240,r&gt;&gt;12&amp;63|128,r&gt;&gt;6&amp;63|128,63&amp;r|128)}}return a}function E(t){return D.toByteArray(function(t){if((t=t.trim().replace(F,&quot;&quot;)).length&lt;2)return&quot;&quot;;for(;t.length%4!=0;)t+=&quot;=&quot;;return t}(t))}function L(t,e,r,n){for(var i=0;i&lt;n&amp;&amp;!(i+r&gt;=e.length||i&gt;=t.length);++i)e[i+r]=t[i];return i}function C(t){return&quot;function&quot;==typeof ArrayBuffer.isView&amp;&amp;ArrayBuffer.isView(t)}function z(t){return t!=t}var D=t(&quot;base64-js&quot;),I=t(&quot;ieee754&quot;);r.Buffer=i,r.SlowBuffer=function(t){return+t!=t&amp;&amp;(t=0),i.alloc(+t)},r.INSPECT_MAX_BYTES=50;var P=2147483647;r.kMaxLength=P,(i.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}}())||&quot;undefined&quot;==typeof console||&quot;function&quot;!=typeof console.error||console.error(&quot;This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support.&quot;),&quot;undefined&quot;!=typeof Symbol&amp;&amp;Symbol.species&amp;&amp;i[Symbol.species]===i&amp;&amp;Object.defineProperty(i,Symbol.species,{value:null,configurable:!0,enumerable:!1,writable:!1}),i.poolSize=8192,i.from=function(t,e,r){return a(t,e,r)},i.prototype.__proto__=Uint8Array.prototype,i.__proto__=Uint8Array,i.alloc=function(t,e,r){return function(t,e,r){return o(t),t&lt;=0?n(t):void 0!==e?&quot;string&quot;==typeof r?n(t).fill(e,r):n(t).fill(e):n(t)}(t,e,r)},i.allocUnsafe=function(t){return s(t)},i.allocUnsafeSlow=function(t){return s(t)},i.isBuffer=function(t){return null!=t&amp;&amp;!0===t._isBuffer},i.compare=function(t,e){if(!i.isBuffer(t)||!i.isBuffer(e))throw new TypeError(&quot;Arguments must be Buffers&quot;);if(t===e)return 0;for(var r=t.length,n=e.length,a=0,o=Math.min(r,n);a&lt;o;++a)if(t[a]!==e[a]){r=t[a],n=e[a];break}return r&lt;n?-1:n&lt;r?1:0},i.isEncoding=function(t){switch(String(t).toLowerCase()){case&quot;hex&quot;:case&quot;utf8&quot;:case&quot;utf-8&quot;:case&quot;ascii&quot;:case&quot;latin1&quot;:case&quot;binary&quot;:case&quot;base64&quot;:case&quot;ucs2&quot;:case&quot;ucs-2&quot;:case&quot;utf16le&quot;:case&quot;utf-16le&quot;:return!0;default:return!1}},i.concat=function(t,e){if(!Array.isArray(t))throw new TypeError('&quot;list&quot; argument must be an Array of Buffers');if(0===t.length)return i.alloc(0);var r;if(void 0===e)for(e=0,r=0;r&lt;t.length;++r)e+=t[r].length;var n=i.allocUnsafe(e),a=0;for(r=0;r&lt;t.length;++r){var o=t[r];if(!i.isBuffer(o))throw new TypeError('&quot;list&quot; argument must be an Array of Buffers');o.copy(n,a),a+=o.length}return n},i.byteLength=u,i.prototype._isBuffer=!0,i.prototype.swap16=function(){var t=this.length;if(t%2!=0)throw new RangeError(&quot;Buffer size must be a multiple of 16-bits&quot;);for(var e=0;e&lt;t;e+=2)h(this,e,e+1);return this},i.prototype.swap32=function(){var t=this.length;if(t%4!=0)throw new RangeError(&quot;Buffer size must be a multiple of 32-bits&quot;);for(var e=0;e&lt;t;e+=4)h(this,e,e+3),h(this,e+1,e+2);return this},i.prototype.swap64=function(){var t=this.length;if(t%8!=0)throw new RangeError(&quot;Buffer size must be a multiple of 64-bits&quot;);for(var e=0;e&lt;t;e+=8)h(this,e,e+7),h(this,e+1,e+6),h(this,e+2,e+5),h(this,e+3,e+4);return this},i.prototype.toString=function(){var t=this.length;return 0===t?&quot;&quot;:0===arguments.length?_(this,0,t):f.apply(this,arguments)},i.prototype.equals=function(t){if(!i.isBuffer(t))throw new TypeError(&quot;Argument must be a Buffer&quot;);return this===t||0===i.compare(this,t)},i.prototype.inspect=function(){var t=&quot;&quot;,e=r.INSPECT_MAX_BYTES;return this.length&gt;0&amp;&amp;(t=this.toString(&quot;hex&quot;,0,e).match(/.{2}/g).join(&quot; &quot;),this.length&gt;e&amp;&amp;(t+=&quot; ... &quot;)),&quot;&lt;Buffer &quot;+t+&quot;&gt;&quot;},i.prototype.compare=function(t,e,r,n,a){if(!i.isBuffer(t))throw new TypeError(&quot;Argument must be a Buffer&quot;);if(void 0===e&amp;&amp;(e=0),void 0===r&amp;&amp;(r=t?t.length:0),void 0===n&amp;&amp;(n=0),void 0===a&amp;&amp;(a=this.length),e&lt;0||r&gt;t.length||n&lt;0||a&gt;this.length)throw new RangeError(&quot;out of range index&quot;);if(n&gt;=a&amp;&amp;e&gt;=r)return 0;if(n&gt;=a)return-1;if(e&gt;=r)return 1;if(e&gt;&gt;&gt;=0,r&gt;&gt;&gt;=0,n&gt;&gt;&gt;=0,a&gt;&gt;&gt;=0,this===t)return 0;for(var o=a-n,s=r-e,l=Math.min(o,s),c=this.slice(n,a),u=t.slice(e,r),f=0;f&lt;l;++f)if(c[f]!==u[f]){o=c[f],s=u[f];break}return o&lt;s?-1:s&lt;o?1:0},i.prototype.includes=function(t,e,r){return-1!==this.indexOf(t,e,r)},i.prototype.indexOf=function(t,e,r){return d(this,t,e,r,!0)},i.prototype.lastIndexOf=function(t,e,r){return d(this,t,e,r,!1)},i.prototype.write=function(t,e,r,n){if(void 0===e)n=&quot;utf8&quot;,r=this.length,e=0;else if(void 0===r&amp;&amp;&quot;string&quot;==typeof e)n=e,r=this.length,e=0;else{if(!isFinite(e))throw new Error(&quot;Buffer.write(string, encoding, offset[, length]) is no longer supported&quot;);e&gt;&gt;&gt;=0,isFinite(r)?(r&gt;&gt;&gt;=0,void 0===n&amp;&amp;(n=&quot;utf8&quot;)):(n=r,r=void 0)}var i=this.length-e;if((void 0===r||r&gt;i)&amp;&amp;(r=i),t.length&gt;0&amp;&amp;(r&lt;0||e&lt;0)||e&gt;this.length)throw new RangeError(&quot;Attempt to write outside buffer bounds&quot;);n||(n=&quot;utf8&quot;);for(var a=!1;;)switch(n){case&quot;hex&quot;:return m(this,t,e,r);case&quot;utf8&quot;:case&quot;utf-8&quot;:return g(this,t,e,r);case&quot;ascii&quot;:return v(this,t,e,r);case&quot;latin1&quot;:case&quot;binary&quot;:return y(this,t,e,r);case&quot;base64&quot;:return x(this,t,e,r);case&quot;ucs2&quot;:case&quot;ucs-2&quot;:case&quot;utf16le&quot;:case&quot;utf-16le&quot;:return b(this,t,e,r);default:if(a)throw new TypeError(&quot;Unknown encoding: &quot;+n);n=(&quot;&quot;+n).toLowerCase(),a=!0}},i.prototype.toJSON=function(){return{type:&quot;Buffer&quot;,data:Array.prototype.slice.call(this._arr||this,0)}};var O=4096;i.prototype.slice=function(t,e){var r=this.length;t=~~t,e=void 0===e?r:~~e,t&lt;0?(t+=r)&lt;0&amp;&amp;(t=0):t&gt;r&amp;&amp;(t=r),e&lt;0?(e+=r)&lt;0&amp;&amp;(e=0):e&gt;r&amp;&amp;(e=r),e&lt;t&amp;&amp;(e=t);var n=this.subarray(t,e);return n.__proto__=i.prototype,n},i.prototype.readUIntLE=function(t,e,r){t&gt;&gt;&gt;=0,e&gt;&gt;&gt;=0,r||w(t,e,this.length);for(var n=this[t],i=1,a=0;++a&lt;e&amp;&amp;(i*=256);)n+=this[t+a]*i;return n},i.prototype.readUIntBE=function(t,e,r){t&gt;&gt;&gt;=0,e&gt;&gt;&gt;=0,r||w(t,e,this.length);for(var n=this[t+--e],i=1;e&gt;0&amp;&amp;(i*=256);)n+=this[t+--e]*i;return n},i.prototype.readUInt8=function(t,e){return t&gt;&gt;&gt;=0,e||w(t,1,this.length),this[t]},i.prototype.readUInt16LE=function(t,e){return t&gt;&gt;&gt;=0,e||w(t,2,this.length),this[t]|this[t+1]&lt;&lt;8},i.prototype.readUInt16BE=function(t,e){return t&gt;&gt;&gt;=0,e||w(t,2,this.length),this[t]&lt;&lt;8|this[t+1]},i.prototype.readUInt32LE=function(t,e){return t&gt;&gt;&gt;=0,e||w(t,4,this.length),(this[t]|this[t+1]&lt;&lt;8|this[t+2]&lt;&lt;16)+16777216*this[t+3]},i.prototype.readUInt32BE=function(t,e){return t&gt;&gt;&gt;=0,e||w(t,4,this.length),16777216*this[t]+(this[t+1]&lt;&lt;16|this[t+2]&lt;&lt;8|this[t+3])},i.prototype.readIntLE=function(t,e,r){t&gt;&gt;&gt;=0,e&gt;&gt;&gt;=0,r||w(t,e,this.length);for(var n=this[t],i=1,a=0;++a&lt;e&amp;&amp;(i*=256);)n+=this[t+a]*i;return i*=128,n&gt;=i&amp;&amp;(n-=Math.pow(2,8*e)),n},i.prototype.readIntBE=function(t,e,r){t&gt;&gt;&gt;=0,e&gt;&gt;&gt;=0,r||w(t,e,this.length);for(var n=e,i=1,a=this[t+--n];n&gt;0&amp;&amp;(i*=256);)a+=this[t+--n]*i;return i*=128,a&gt;=i&amp;&amp;(a-=Math.pow(2,8*e)),a},i.prototype.readInt8=function(t,e){return t&gt;&gt;&gt;=0,e||w(t,1,this.length),128&amp;this[t]?-1*(255-this[t]+1):this[t]},i.prototype.readInt16LE=function(t,e){t&gt;&gt;&gt;=0,e||w(t,2,this.length);var r=this[t]|this[t+1]&lt;&lt;8;return 32768&amp;r?4294901760|r:r},i.prototype.readInt16BE=function(t,e){t&gt;&gt;&gt;=0,e||w(t,2,this.length);var r=this[t+1]|this[t]&lt;&lt;8;return 32768&amp;r?4294901760|r:r},i.prototype.readInt32LE=function(t,e){return t&gt;&gt;&gt;=0,e||w(t,4,this.length),this[t]|this[t+1]&lt;&lt;8|this[t+2]&lt;&lt;16|this[t+3]&lt;&lt;24},i.prototype.readInt32BE=function(t,e){return t&gt;&gt;&gt;=0,e||w(t,4,this.length),this[t]&lt;&lt;24|this[t+1]&lt;&lt;16|this[t+2]&lt;&lt;8|this[t+3]},i.prototype.readFloatLE=function(t,e){return t&gt;&gt;&gt;=0,e||w(t,4,this.length),I.read(this,t,!0,23,4)},i.prototype.readFloatBE=function(t,e){return t&gt;&gt;&gt;=0,e||w(t,4,this.length),I.read(this,t,!1,23,4)},i.prototype.readDoubleLE=function(t,e){return t&gt;&gt;&gt;=0,e||w(t,8,this.length),I.read(this,t,!0,52,8)},i.prototype.readDoubleBE=function(t,e){return t&gt;&gt;&gt;=0,e||w(t,8,this.length),I.read(this,t,!1,52,8)},i.prototype.writeUIntLE=function(t,e,r,n){if(t=+t,e&gt;&gt;&gt;=0,r&gt;&gt;&gt;=0,!n){M(this,t,e,r,Math.pow(2,8*r)-1,0)}var i=1,a=0;for(this[e]=255&amp;t;++a&lt;r&amp;&amp;(i*=256);)this[e+a]=t/i&amp;255;return e+r},i.prototype.writeUIntBE=function(t,e,r,n){if(t=+t,e&gt;&gt;&gt;=0,r&gt;&gt;&gt;=0,!n){M(this,t,e,r,Math.pow(2,8*r)-1,0)}var i=r-1,a=1;for(this[e+i]=255&amp;t;--i&gt;=0&amp;&amp;(a*=256);)this[e+i]=t/a&amp;255;return e+r},i.prototype.writeUInt8=function(t,e,r){return t=+t,e&gt;&gt;&gt;=0,r||M(this,t,e,1,255,0),this[e]=255&amp;t,e+1},i.prototype.writeUInt16LE=function(t,e,r){return t=+t,e&gt;&gt;&gt;=0,r||M(this,t,e,2,65535,0),this[e]=255&amp;t,this[e+1]=t&gt;&gt;&gt;8,e+2},i.prototype.writeUInt16BE=function(t,e,r){return t=+t,e&gt;&gt;&gt;=0,r||M(this,t,e,2,65535,0),this[e]=t&gt;&gt;&gt;8,this[e+1]=255&amp;t,e+2},i.prototype.writeUInt32LE=function(t,e,r){return t=+t,e&gt;&gt;&gt;=0,r||M(this,t,e,4,4294967295,0),this[e+3]=t&gt;&gt;&gt;24,this[e+2]=t&gt;&gt;&gt;16,this[e+1]=t&gt;&gt;&gt;8,this[e]=255&amp;t,e+4},i.prototype.writeUInt32BE=function(t,e,r){return t=+t,e&gt;&gt;&gt;=0,r||M(this,t,e,4,4294967295,0),this[e]=t&gt;&gt;&gt;24,this[e+1]=t&gt;&gt;&gt;16,this[e+2]=t&gt;&gt;&gt;8,this[e+3]=255&amp;t,e+4},i.prototype.writeIntLE=function(t,e,r,n){if(t=+t,e&gt;&gt;&gt;=0,!n){var i=Math.pow(2,8*r-1);M(this,t,e,r,i-1,-i)}var a=0,o=1,s=0;for(this[e]=255&amp;t;++a&lt;r&amp;&amp;(o*=256);)t&lt;0&amp;&amp;0===s&amp;&amp;0!==this[e+a-1]&amp;&amp;(s=1),this[e+a]=(t/o&gt;&gt;0)-s&amp;255;return e+r},i.prototype.writeIntBE=function(t,e,r,n){if(t=+t,e&gt;&gt;&gt;=0,!n){var i=Math.pow(2,8*r-1);M(this,t,e,r,i-1,-i)}var a=r-1,o=1,s=0;for(this[e+a]=255&amp;t;--a&gt;=0&amp;&amp;(o*=256);)t&lt;0&amp;&amp;0===s&amp;&amp;0!==this[e+a+1]&amp;&amp;(s=1),this[e+a]=(t/o&gt;&gt;0)-s&amp;255;return e+r},i.prototype.writeInt8=function(t,e,r){return t=+t,e&gt;&gt;&gt;=0,r||M(this,t,e,1,127,-128),t&lt;0&amp;&amp;(t=255+t+1),this[e]=255&amp;t,e+1},i.prototype.writeInt16LE=function(t,e,r){return t=+t,e&gt;&gt;&gt;=0,r||M(this,t,e,2,32767,-32768),this[e]=255&amp;t,this[e+1]=t&gt;&gt;&gt;8,e+2},i.prototype.writeInt16BE=function(t,e,r){return t=+t,e&gt;&gt;&gt;=0,r||M(this,t,e,2,32767,-32768),this[e]=t&gt;&gt;&gt;8,this[e+1]=255&amp;t,e+2},i.prototype.writeInt32LE=function(t,e,r){return t=+t,e&gt;&gt;&gt;=0,r||M(this,t,e,4,2147483647,-2147483648),this[e]=255&amp;t,this[e+1]=t&gt;&gt;&gt;8,this[e+2]=t&gt;&gt;&gt;16,this[e+3]=t&gt;&gt;&gt;24,e+4},i.prototype.writeInt32BE=function(t,e,r){return t=+t,e&gt;&gt;&gt;=0,r||M(this,t,e,4,2147483647,-2147483648),t&lt;0&amp;&amp;(t=4294967295+t+1),this[e]=t&gt;&gt;&gt;24,this[e+1]=t&gt;&gt;&gt;16,this[e+2]=t&gt;&gt;&gt;8,this[e+3]=255&amp;t,e+4},i.prototype.writeFloatLE=function(t,e,r){return A(this,t,e,!0,r)},i.prototype.writeFloatBE=function(t,e,r){return A(this,t,e,!1,r)},i.prototype.writeDoubleLE=function(t,e,r){return T(this,t,e,!0,r)},i.prototype.writeDoubleBE=function(t,e,r){return T(this,t,e,!1,r)},i.prototype.copy=function(t,e,r,n){if(r||(r=0),n||0===n||(n=this.length),e&gt;=t.length&amp;&amp;(e=t.length),e||(e=0),n&gt;0&amp;&amp;n&lt;r&amp;&amp;(n=r),n===r)return 0;if(0===t.length||0===this.length)return 0;if(e&lt;0)throw new RangeError(&quot;targetStart out of bounds&quot;);if(r&lt;0||r&gt;=this.length)throw new RangeError(&quot;sourceStart out of bounds&quot;);if(n&lt;0)throw new RangeError(&quot;sourceEnd out of bounds&quot;);n&gt;this.length&amp;&amp;(n=this.length),t.length-e&lt;n-r&amp;&amp;(n=t.length-e+r);var i,a=n-r;if(this===t&amp;&amp;r&lt;e&amp;&amp;e&lt;n)for(i=a-1;i&gt;=0;--i)t[i+e]=this[i+r];else if(a&lt;1e3)for(i=0;i&lt;a;++i)t[i+e]=this[i+r];else Uint8Array.prototype.set.call(t,this.subarray(r,r+a),e);return a},i.prototype.fill=function(t,e,r,n){if(&quot;string&quot;==typeof t){if(&quot;string&quot;==typeof e?(n=e,e=0,r=this.length):&quot;string&quot;==typeof r&amp;&amp;(n=r,r=this.length),1===t.length){var a=t.charCodeAt(0);a&lt;256&amp;&amp;(t=a)}if(void 0!==n&amp;&amp;&quot;string&quot;!=typeof n)throw new TypeError(&quot;encoding must be a string&quot;);if(&quot;string&quot;==typeof n&amp;&amp;!i.isEncoding(n))throw new TypeError(&quot;Unknown encoding: &quot;+n)}else&quot;number&quot;==typeof t&amp;&amp;(t&amp;=255);if(e&lt;0||this.length&lt;e||this.length&lt;r)throw new RangeError(&quot;Out of range index&quot;);if(r&lt;=e)return this;e&gt;&gt;&gt;=0,r=void 0===r?this.length:r&gt;&gt;&gt;0,t||(t=0);var o;if(&quot;number&quot;==typeof t)for(o=e;o&lt;r;++o)this[o]=t;else{var s=i.isBuffer(t)?t:new i(t,n),l=s.length;for(o=0;o&lt;r-e;++o)this[o+e]=s[o%l]}return this};var F=/[^+/0-9A-Za-z-_]/g},{&quot;base64-js&quot;:83,ieee754:277}],83:[function(t,e,r){&quot;use strict&quot;;function n(t){var e=t.length;if(e%4&gt;0)throw new Error(&quot;Invalid string. Length must be a multiple of 4&quot;);return&quot;=&quot;===t[e-2]?2:&quot;=&quot;===t[e-1]?1:0}function i(t){return o[t&gt;&gt;18&amp;63]+o[t&gt;&gt;12&amp;63]+o[t&gt;&gt;6&amp;63]+o[63&amp;t]}function a(t,e,r){for(var n,a=[],o=e;o&lt;r;o+=3)n=(t[o]&lt;&lt;16)+(t[o+1]&lt;&lt;8)+t[o+2],a.push(i(n));return a.join(&quot;&quot;)}r.byteLength=function(t){return 3*t.length/4-n(t)},r.toByteArray=function(t){var e,r,i,a,o,c,u=t.length;o=n(t),c=new l(3*u/4-o),i=o&gt;0?u-4:u;var f=0;for(e=0,r=0;e&lt;i;e+=4,r+=3)a=s[t.charCodeAt(e)]&lt;&lt;18|s[t.charCodeAt(e+1)]&lt;&lt;12|s[t.charCodeAt(e+2)]&lt;&lt;6|s[t.charCodeAt(e+3)],c[f++]=a&gt;&gt;16&amp;255,c[f++]=a&gt;&gt;8&amp;255,c[f++]=255&amp;a;return 2===o?(a=s[t.charCodeAt(e)]&lt;&lt;2|s[t.charCodeAt(e+1)]&gt;&gt;4,c[f++]=255&amp;a):1===o&amp;&amp;(a=s[t.charCodeAt(e)]&lt;&lt;10|s[t.charCodeAt(e+1)]&lt;&lt;4|s[t.charCodeAt(e+2)]&gt;&gt;2,c[f++]=a&gt;&gt;8&amp;255,c[f++]=255&amp;a),c},r.fromByteArray=function(t){for(var e,r=t.length,n=r%3,i=&quot;&quot;,s=[],l=0,c=r-n;l&lt;c;l+=16383)s.push(a(t,l,l+16383&gt;c?c:l+16383));return 1===n?(e=t[r-1],i+=o[e&gt;&gt;2],i+=o[e&lt;&lt;4&amp;63],i+=&quot;==&quot;):2===n&amp;&amp;(e=(t[r-2]&lt;&lt;8)+t[r-1],i+=o[e&gt;&gt;10],i+=o[e&gt;&gt;4&amp;63],i+=o[e&lt;&lt;2&amp;63],i+=&quot;=&quot;),s.push(i),s.join(&quot;&quot;)};for(var o=[],s=[],l=&quot;undefined&quot;!=typeof Uint8Array?Uint8Array:Array,c=&quot;ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/&quot;,u=0,f=c.length;u&lt;f;++u)o[u]=c[u],s[c.charCodeAt(u)]=u;s[&quot;-&quot;.charCodeAt(0)]=62,s[&quot;_&quot;.charCodeAt(0)]=63},{}],84:[function(t,e,r){&quot;use strict&quot;;function n(t){return[Math.min(t[0],t[1]),Math.max(t[0],t[1])]}function i(t,e){return t[0]-e[0]||t[1]-e[1]}function a(t,e,r){return e in t?t[e]:r}var o=t(&quot;./lib/monotone&quot;),s=t(&quot;./lib/triangulation&quot;),l=t(&quot;./lib/delaunay&quot;),c=t(&quot;./lib/filter&quot;);e.exports=function(t,e,r){Array.isArray(e)?(r=r||{},e=e||[]):(r=e||{},e=[]);var u=!!a(r,&quot;delaunay&quot;,!0),f=!!a(r,&quot;interior&quot;,!0),h=!!a(r,&quot;exterior&quot;,!0),d=!!a(r,&quot;infinity&quot;,!1);if(!f&amp;&amp;!h||0===t.length)return[];var p=o(t,e);if(u||f!==h||d){for(var m=s(t.length,function(t){return t.map(n).sort(i)}(e)),g=0;g&lt;p.length;++g){var v=p[g];m.addTriangle(v[0],v[1],v[2])}return u&amp;&amp;l(t,m),h?f?d?c(m,0,d):m.cells():c(m,1,d):c(m,-1)}return p}},{&quot;./lib/delaunay&quot;:85,&quot;./lib/filter&quot;:86,&quot;./lib/monotone&quot;:87,&quot;./lib/triangulation&quot;:88}],85:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,n,a,o){var s=e.opposite(n,a);if(!(s&lt;0)){if(a&lt;n){var l=n;n=a,a=l,l=o,o=s,s=l}e.isConstraint(n,a)||i(t[n],t[a],t[o],t[s])&lt;0&amp;&amp;r.push(n,a)}}var i=t(&quot;robust-in-sphere&quot;)[4];t(&quot;binary-search-bounds&quot;);e.exports=function(t,e){for(var r=[],a=t.length,o=e.stars,s=0;s&lt;a;++s)for(var l=o[s],c=1;c&lt;l.length;c+=2)if(!((d=l[c])&lt;s||e.isConstraint(s,d))){for(var u=l[c-1],f=-1,h=1;h&lt;l.length;h+=2)if(l[h-1]===d){f=l[h];break}f&lt;0||i(t[s],t[d],t[u],t[f])&lt;0&amp;&amp;r.push(s,d)}for(;r.length&gt;0;){for(var d=r.pop(),p=(u=-1,f=-1,l=o[s=r.pop()],1);p&lt;l.length;p+=2){var m=l[p-1],g=l[p];m===d?f=g:g===d&amp;&amp;(u=m)}u&lt;0||f&lt;0||i(t[s],t[d],t[u],t[f])&gt;=0||(e.flip(s,d),n(t,e,r,u,s,f),n(t,e,r,s,f,u),n(t,e,r,f,d,u),n(t,e,r,d,u,f))}}},{&quot;binary-search-bounds&quot;:89,&quot;robust-in-sphere&quot;:513}],86:[function(t,e,r){&quot;use strict&quot;;function n(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 i(t,e){return t[0]-e[0]||t[1]-e[1]||t[2]-e[2]}var a=t(&quot;binary-search-bounds&quot;);e.exports=function(t,e,r){var a=function(t,e){for(var r=t.cells(),a=r.length,o=0;o&lt;a;++o){var s=(v=r[o])[0],l=v[1],c=v[2];l&lt;c?l&lt;s&amp;&amp;(v[0]=l,v[1]=c,v[2]=s):c&lt;s&amp;&amp;(v[0]=c,v[1]=s,v[2]=l)}r.sort(i);var u=new Array(a);for(o=0;o&lt;u.length;++o)u[o]=0;var f=[],h=[],d=new Array(3*a),p=new Array(3*a),m=null;e&amp;&amp;(m=[]);var g=new n(r,d,p,u,f,h,m);for(o=0;o&lt;a;++o)for(var v=r[o],y=0;y&lt;3;++y){s=v[y],l=v[(y+1)%3];var x=d[3*o+y]=g.locate(l,s,t.opposite(l,s)),b=p[3*o+y]=t.isConstraint(s,l);x&lt;0&amp;&amp;(b?h.push(o):(f.push(o),u[o]=1),e&amp;&amp;m.push([l,s,-1]))}return g}(t,r);if(0===e)return r?a.cells.concat(a.boundary):a.cells;for(var o=1,s=a.active,l=a.next,c=a.flags,u=a.cells,f=a.constraint,h=a.neighbor;s.length&gt;0||l.length&gt;0;){for(;s.length&gt;0;){var d=s.pop();if(c[d]!==-o){c[d]=o,u[d];for(var p=0;p&lt;3;++p){var m=h[3*d+p];m&gt;=0&amp;&amp;0===c[m]&amp;&amp;(f[3*d+p]?l.push(m):(s.push(m),c[m]=o))}}}var g=l;l=s,s=g,l.length=0,o=-o}var v=function(t,e,r){for(var n=0,i=0;i&lt;t.length;++i)e[i]===r&amp;&amp;(t[n++]=t[i]);return t.length=n,t}(u,c,e);return r?v.concat(a.boundary):v};n.prototype.locate=function(){var t=[0,0,0];return function(e,r,n){var o=e,s=r,l=n;return r&lt;n?r&lt;e&amp;&amp;(o=r,s=n,l=e):n&lt;e&amp;&amp;(o=n,s=e,l=r),o&lt;0?-1:(t[0]=o,t[1]=s,t[2]=l,a.eq(this.cells,t,i))}}()},{&quot;binary-search-bounds&quot;:89}],87:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,n,i){this.a=t,this.b=e,this.idx=r,this.lowerIds=n,this.upperIds=i}function i(t,e,r,n){this.a=t,this.b=e,this.type=r,this.idx=n}function a(t,e){var r=t.a[0]-e.a[0]||t.a[1]-e.a[1]||t.type-e.type;return r||(t.type!==d&amp;&amp;(r=h(t.a,t.b,e.b))?r:t.idx-e.idx)}function o(t,e){return h(t.a,t.b,e)}function s(t,e,r,n,i){for(var a=f.lt(e,n,o),s=f.gt(e,n,o),l=a;l&lt;s;++l){for(var c=e[l],u=c.lowerIds,d=u.length;d&gt;1&amp;&amp;h(r[u[d-2]],r[u[d-1]],n)&gt;0;)t.push([u[d-1],u[d-2],i]),d-=1;u.length=d,u.push(i);var p=c.upperIds;for(d=p.length;d&gt;1&amp;&amp;h(r[p[d-2]],r[p[d-1]],n)&lt;0;)t.push([p[d-2],p[d-1],i]),d-=1;p.length=d,p.push(i)}}function l(t,e){var r;return(r=t.a[0]&lt;e.a[0]?h(t.a,t.b,e.a):h(e.b,e.a,t.a))?r:(r=e.b[0]&lt;t.b[0]?h(t.a,t.b,e.b):h(e.b,e.a,t.b))||t.idx-e.idx}function c(t,e,r){var i=f.le(t,r,l),a=t[i],o=a.upperIds,s=o[o.length-1];a.upperIds=[s],t.splice(i+1,0,new n(r.a,r.b,r.idx,[s],o))}function u(t,e,r){var n=r.a;r.a=r.b,r.b=n;var i=f.eq(t,r,l),a=t[i];t[i-1].upperIds=a.upperIds,t.splice(i,1)}var f=t(&quot;binary-search-bounds&quot;),h=t(&quot;robust-orientation&quot;)[3],d=0,p=1,m=2;e.exports=function(t,e){for(var r=t.length,o=e.length,l=[],f=0;f&lt;r;++f)l.push(new i(t[f],null,d,f));for(f=0;f&lt;o;++f){var h=e[f],g=t[h[0]],v=t[h[1]];g[0]&lt;v[0]?l.push(new i(g,v,m,f),new i(v,g,p,f)):g[0]&gt;v[0]&amp;&amp;l.push(new i(v,g,m,f),new i(g,v,p,f))}l.sort(a);for(var y=l[0].a[0]-(1+Math.abs(l[0].a[0]))*Math.pow(2,-52),x=[new n([y,1],[y,0],-1,[],[],[],[])],b=[],_=(f=0,l.length);f&lt;_;++f){var w=l[f],M=w.type;M===d?s(b,x,t,w.a,w.idx):M===m?c(x,0,w):u(x,0,w)}return b}},{&quot;binary-search-bounds&quot;:89,&quot;robust-orientation&quot;:515}],88:[function(t,e,r){&quot;use strict&quot;;function n(t,e){this.stars=t,this.edges=e}function i(t,e,r){for(var n=1,i=t.length;n&lt;i;n+=2)if(t[n-1]===e&amp;&amp;t[n]===r)return t[n-1]=t[i-2],t[n]=t[i-1],void(t.length=i-2)}var a=t(&quot;binary-search-bounds&quot;);e.exports=function(t,e){for(var r=new Array(t),i=0;i&lt;t;++i)r[i]=[];return new n(r,e)};var o=n.prototype;o.isConstraint=function(){function t(t,e){return t[0]-e[0]||t[1]-e[1]}var e=[0,0];return function(r,n){return e[0]=Math.min(r,n),e[1]=Math.max(r,n),a.eq(this.edges,e,t)&gt;=0}}(),o.removeTriangle=function(t,e,r){var n=this.stars;i(n[t],e,r),i(n[e],r,t),i(n[r],t,e)},o.addTriangle=function(t,e,r){var n=this.stars;n[t].push(e,r),n[e].push(r,t),n[r].push(t,e)},o.opposite=function(t,e){for(var r=this.stars[e],n=1,i=r.length;n&lt;i;n+=2)if(r[n]===t)return r[n-1];return-1},o.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)},o.edges=function(){for(var t=this.stars,e=[],r=0,n=t.length;r&lt;n;++r)for(var i=t[r],a=0,o=i.length;a&lt;o;a+=2)e.push([i[a],i[a+1]]);return e},o.cells=function(){for(var t=this.stars,e=[],r=0,n=t.length;r&lt;n;++r)for(var i=t[r],a=0,o=i.length;a&lt;o;a+=2){var s=i[a],l=i[a+1];r&lt;Math.min(s,l)&amp;&amp;e.push([r,s,l])}return e}},{&quot;binary-search-bounds&quot;:89}],89:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,n,i){var a=[&quot;function &quot;,t,&quot;(a,l,h,&quot;,n.join(&quot;,&quot;),&quot;){&quot;,i?&quot;&quot;:&quot;var i=&quot;,r?&quot;l-1&quot;:&quot;h+1&quot;,&quot;;while(l&lt;=h){var m=(l+h)&gt;&gt;&gt;1,x=a[m]&quot;];return i?e.indexOf(&quot;c&quot;)&lt;0?a.push(&quot;;if(x===y){return m}else if(x&lt;=y){&quot;):a.push(&quot;;var p=c(x,y);if(p===0){return m}else if(p&lt;=0){&quot;):a.push(&quot;;if(&quot;,e,&quot;){i=m;&quot;),r?a.push(&quot;l=m+1}else{h=m-1}&quot;):a.push(&quot;h=m-1}else{l=m+1}&quot;),a.push(&quot;}&quot;),i?a.push(&quot;return -1};&quot;):a.push(&quot;return i};&quot;),a.join(&quot;&quot;)}function i(t,e,r,i){return new Function([n(&quot;A&quot;,&quot;x&quot;+t+&quot;y&quot;,e,[&quot;y&quot;],i),n(&quot;P&quot;,&quot;c(x,y)&quot;+t+&quot;0&quot;,e,[&quot;y&quot;,&quot;c&quot;],i),&quot;function dispatchBsearch&quot;,r,&quot;(a,y,c,l,h){if(typeof(c)==='function'){return P(a,(l===void 0)?0:l|0,(h===void 0)?a.length-1:h|0,y,c)}else{return A(a,(c===void 0)?0:c|0,(l===void 0)?a.length-1:l|0,y)}}return dispatchBsearch&quot;,r].join(&quot;&quot;))()}e.exports={ge:i(&quot;&gt;=&quot;,!1,&quot;GE&quot;),gt:i(&quot;&gt;&quot;,!1,&quot;GT&quot;),lt:i(&quot;&lt;&quot;,!0,&quot;LT&quot;),le:i(&quot;&lt;=&quot;,!0,&quot;LE&quot;),eq:i(&quot;-&quot;,!0,&quot;EQ&quot;,!0)}},{}],90:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t){for(var e=1,r=1;r&lt;t.length;++r)for(var n=0;n&lt;r;++n)if(t[r]&lt;t[n])e=-e;else if(t[n]===t[r])return 0;return e}},{}],91:[function(t,e,r){&quot;use strict&quot;;function n(t,e){for(var r=0,n=t.length,i=0;i&lt;n;++i)r+=t[i]*e[i];return r}function i(t){var e=t.length;if(0===e)return[];t[0].length;var r=o([t.length+1,t.length+1],1),i=o([t.length+1],1);r[e][e]=0;for(var a=0;a&lt;e;++a){for(var l=0;l&lt;=a;++l)r[l][a]=r[a][l]=2*n(t[a],t[l]);i[a]=n(t[a],t[a])}var c=s(r,i),u=0,f=c[e+1];for(a=0;a&lt;f.length;++a)u+=f[a];var h=new Array(e);for(a=0;a&lt;e;++a){f=c[a];var d=0;for(l=0;l&lt;f.length;++l)d+=f[l];h[a]=d/u}return h}function a(t){if(0===t.length)return[];for(var e=t[0].length,r=o([e]),n=i(t),a=0;a&lt;t.length;++a)for(var s=0;s&lt;e;++s)r[s]+=t[a][s]*n[a];return r}var o=t(&quot;dup&quot;),s=t(&quot;robust-linear-solve&quot;);a.barycenetric=i,e.exports=a},{dup:134,&quot;robust-linear-solve&quot;:514}],92:[function(t,e,r){e.exports=function(t){for(var e=n(t),r=0,i=0;i&lt;t.length;++i)for(var a=t[i],o=0;o&lt;e.length;++o)r+=Math.pow(a[o]-e[o],2);return Math.sqrt(r/t.length)};var n=t(&quot;circumcenter&quot;)},{circumcenter:91}],93:[function(t,e,r){e.exports=function(t,e,r){return e&lt;r?t&lt;e?e:t&gt;r?r:t:t&lt;r?r:t&gt;e?e:t}},{}],94:[function(t,e,r){&quot;use strict&quot;;function n(t){var e=m(t);return[v(e,-1/0),v(e,1/0)]}function i(t){for(var e=new Array(t.length),r=0;r&lt;t.length;++r){var n=t[r];e[r]=[v(n[0],-1/0),v(n[1],-1/0),v(n[0],1/0),v(n[1],1/0)]}return e}function a(t,e,r){for(var i=e.length,a=new u(i),o=[],s=0;s&lt;e.length;++s){var l=e[s],c=n(l[0]),h=n(l[1]);o.push([v(c[0],-1/0),v(h[0],-1/0),v(c[1],1/0),v(h[1],1/0)])}f(o,function(t,e){a.link(t,e)});var d=!0,p=new Array(i);for(s=0;s&lt;i;++s){(g=a.find(s))!==s&amp;&amp;(d=!1,t[g]=[Math.min(t[s][0],t[g][0]),Math.min(t[s][1],t[g][1])])}if(d)return null;var m=0;for(s=0;s&lt;i;++s){var g;(g=a.find(s))===s?(p[s]=m,t[m++]=t[s]):p[s]=-1}t.length=m;for(s=0;s&lt;i;++s)p[s]&lt;0&amp;&amp;(p[s]=p[a.find(s)]);return p}function o(t,e){return t[0]-e[0]||t[1]-e[1]}function s(t,e){var r=t[0]-e[0]||t[1]-e[1];return r||(t[2]&lt;e[2]?-1:t[2]&gt;e[2]?1:0)}function l(t,e,r){if(0!==t.length){if(e)for(var n=0;n&lt;t.length;++n){var i=e[(l=t[n])[0]],a=e[l[1]];l[0]=Math.min(i,a),l[1]=Math.max(i,a)}else for(n=0;n&lt;t.length;++n){var l;i=(l=t[n])[0],a=l[1];l[0]=Math.min(i,a),l[1]=Math.max(i,a)}r?t.sort(s):t.sort(o);var c=1;for(n=1;n&lt;t.length;++n){var u=t[n-1],f=t[n];(f[0]!==u[0]||f[1]!==u[1]||r&amp;&amp;f[2]!==u[2])&amp;&amp;(t[c++]=f)}t.length=c}}function c(t,e,r){var n=function(t,e){for(var r=new Array(e.length),n=0;n&lt;e.length;++n){var i=e[n],a=t[i[0]],o=t[i[1]];r[n]=[v(Math.min(a[0],o[0]),-1/0),v(Math.min(a[1],o[1]),-1/0),v(Math.max(a[0],o[0]),1/0),v(Math.max(a[1],o[1]),1/0)]}return r}(t,e),o=function(t,e,r){var n=[];return f(r,function(r,i){var a=e[r],o=e[i];if(a[0]!==o[0]&amp;&amp;a[0]!==o[1]&amp;&amp;a[1]!==o[0]&amp;&amp;a[1]!==o[1]){var s=t[a[0]],l=t[a[1]],c=t[o[0]],u=t[o[1]];h(s,l,c,u)&amp;&amp;n.push([r,i])}}),n}(t,e,n),s=i(t),c=function(t,e,r,n){var i=[];return f(r,n,function(r,n){var a=e[r];if(a[0]!==n&amp;&amp;a[1]!==n){var o=t[n],s=t[a[0]],l=t[a[1]];h(s,l,o,o)&amp;&amp;i.push([r,n])}}),i}(t,e,n,s),u=a(t,function(t,e,r,n,i){var a,o,s=t.map(function(t){return[d(t[0]),d(t[1])]});for(a=0;a&lt;r.length;++a){var l=r[a];o=l[0];var c=l[1],u=e[o],f=e[c],h=y(g(t[u[0]]),g(t[u[1]]),g(t[f[0]]),g(t[f[1]]));if(h){var v=t.length;t.push([m(h[0]),m(h[1])]),s.push(h),n.push([o,v],[c,v])}}for(n.sort(function(t,e){if(t[0]!==e[0])return t[0]-e[0];var r=s[t[1]],n=s[e[1]];return p(r[0],n[0])||p(r[1],n[1])}),a=n.length-1;a&gt;=0;--a){var x=e[o=(S=n[a])[0]],b=x[0],_=x[1],w=t[b],M=t[_];if((w[0]-M[0]||w[1]-M[1])&lt;0){var k=b;b=_,_=k}x[0]=b;var A,T=x[1]=S[1];for(i&amp;&amp;(A=x[2]);a&gt;0&amp;&amp;n[a-1][0]===o;){var S,E=(S=n[--a])[1];i?e.push([T,E,A]):e.push([T,E]),T=E}i?e.push([T,_,A]):e.push([T,_])}return s}(t,e,o,c,r));return l(e,u,r),!!u||(o.length&gt;0||c.length&gt;0)}e.exports=function(t,e,r){var n;if(r){n=e;for(var o=new Array(e.length),s=0;s&lt;e.length;++s){var u=e[s];o[s]=[u[0],u[1],r[s]]}e=o}for(var f=function(t,e,r){var n=a(t,[],i(t));return l(e,n,r),!!n}(t,e,!!r);c(t,e,!!r);)f=!0;if(r&amp;&amp;f)for(n.length=0,r.length=0,s=0;s&lt;e.length;++s)u=e[s],n.push([u[0],u[1]]),r.push(u[2]);return f};var u=t(&quot;union-find&quot;),f=t(&quot;box-intersect&quot;),h=t(&quot;robust-segment-intersect&quot;),d=t(&quot;big-rat&quot;),p=t(&quot;big-rat/cmp&quot;),m=t(&quot;big-rat/to-float&quot;),g=t(&quot;rat-vec&quot;),v=t(&quot;nextafter&quot;),y=t(&quot;./lib/rat-seg-intersect&quot;)},{&quot;./lib/rat-seg-intersect&quot;:95,&quot;big-rat&quot;:57,&quot;big-rat/cmp&quot;:55,&quot;big-rat/to-float&quot;:69,&quot;box-intersect&quot;:75,nextafter:459,&quot;rat-vec&quot;:496,&quot;robust-segment-intersect&quot;:518,&quot;union-find&quot;:555}],95:[function(t,e,r){&quot;use strict&quot;;function n(t,e){return o(i(t[0],e[1]),i(t[1],e[0]))}e.exports=function(t,e,r,i){var o=l(e,t),f=l(i,r),h=n(o,f);if(0===s(h))return null;var d=n(f,l(t,r)),p=a(d,h),m=u(o,p);return c(t,m)};var i=t(&quot;big-rat/mul&quot;),a=t(&quot;big-rat/div&quot;),o=t(&quot;big-rat/sub&quot;),s=t(&quot;big-rat/sign&quot;),l=t(&quot;rat-vec/sub&quot;),c=t(&quot;rat-vec/add&quot;),u=t(&quot;rat-vec/muls&quot;)},{&quot;big-rat/div&quot;:56,&quot;big-rat/mul&quot;:66,&quot;big-rat/sign&quot;:67,&quot;big-rat/sub&quot;:68,&quot;rat-vec/add&quot;:495,&quot;rat-vec/muls&quot;:497,&quot;rat-vec/sub&quot;:498}],96:[function(t,e,r){(function(t){var r=function(){&quot;use strict&quot;;function e(r,i,a,o){function s(r,a){if(null===r)return null;if(0==a)return r;var f,h;if(&quot;object&quot;!=typeof r)return r;if(e.__isArray(r))f=[];else if(e.__isRegExp(r))f=new RegExp(r.source,n(r)),r.lastIndex&amp;&amp;(f.lastIndex=r.lastIndex);else if(e.__isDate(r))f=new Date(r.getTime());else{if(u&amp;&amp;t.isBuffer(r))return f=new t(r.length),r.copy(f),f;void 0===o?(h=Object.getPrototypeOf(r),f=Object.create(h)):(f=Object.create(o),h=o)}if(i){var d=l.indexOf(r);if(-1!=d)return c[d];l.push(r),c.push(f)}for(var p in r){var m;h&amp;&amp;(m=Object.getOwnPropertyDescriptor(h,p)),m&amp;&amp;null==m.set||(f[p]=s(r[p],a-1))}return f}&quot;object&quot;==typeof i&amp;&amp;(a=i.depth,o=i.prototype,i.filter,i=i.circular);var l=[],c=[],u=void 0!==t;return void 0===i&amp;&amp;(i=!0),void 0===a&amp;&amp;(a=1/0),s(r,a)}function r(t){return Object.prototype.toString.call(t)}function n(t){var e=&quot;&quot;;return t.global&amp;&amp;(e+=&quot;g&quot;),t.ignoreCase&amp;&amp;(e+=&quot;i&quot;),t.multiline&amp;&amp;(e+=&quot;m&quot;),e}return e.clonePrototype=function(t){if(null===t)return null;var e=function(){};return e.prototype=t,new e},e.__objToStr=r,e.__isDate=function(t){return&quot;object&quot;==typeof t&amp;&amp;&quot;[object Date]&quot;===r(t)},e.__isArray=function(t){return&quot;object&quot;==typeof t&amp;&amp;&quot;[object Array]&quot;===r(t)},e.__isRegExp=function(t){return&quot;object&quot;==typeof t&amp;&amp;&quot;[object RegExp]&quot;===r(t)},e.__getRegExpFlags=n,e}();&quot;object&quot;==typeof e&amp;&amp;e.exports&amp;&amp;(e.exports=r)}).call(this,t(&quot;buffer&quot;).Buffer)},{buffer:82}],97:[function(t,e,r){&quot;use strict&quot;;function n(t,e){null==e&amp;&amp;(e=!0);var r=t[0],n=t[1],a=t[2],o=t[3];null==o&amp;&amp;(o=e?1:255),e&amp;&amp;(r*=255,n*=255,a*=255,o*=255);return 16777216*(r=255&amp;i(r,0,255))+((n=255&amp;i(n,0,255))&lt;&lt;16)+((a=255&amp;i(a,0,255))&lt;&lt;8)+(o=255&amp;i(o,0,255))}var i=t(&quot;clamp&quot;);e.exports=n,e.exports.to=n,e.exports.from=function(t,e){var r=(t=+t)&gt;&gt;&gt;24,n=(16711680&amp;t)&gt;&gt;&gt;16,i=(65280&amp;t)&gt;&gt;&gt;8,a=255&amp;t;return!1===e?[r,n,i,a]:[r/255,n/255,i/255,a/255]}},{clamp:93}],98:[function(t,e,r){&quot;use strict&quot;;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]}},{}],99:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;color-rgba&quot;),i=t(&quot;clamp&quot;),a=t(&quot;dtype&quot;);e.exports=function(t,e){&quot;float&quot;!==e&amp;&amp;e||(e=&quot;array&quot;),&quot;uint&quot;===e&amp;&amp;(e=&quot;uint8&quot;),&quot;uint_clamped&quot;===e&amp;&amp;(e=&quot;uint8_clamped&quot;);var r=a(e),o=new r(4);if(t instanceof r)return Array.isArray(t)?t.slice():(o.set(t),o);var s=&quot;uint8&quot;!==e&amp;&amp;&quot;uint8_clamped&quot;!==e;return t instanceof Uint8Array||t instanceof Uint8ClampedArray?(o[0]=t[0],o[1]=t[1],o[2]=t[2],o[3]=null!=t[3]?t[3]:255,s&amp;&amp;(o[0]/=255,o[1]/=255,o[2]/=255,o[3]/=255),o):(t.length&amp;&amp;&quot;string&quot;!=typeof t||((t=n(t))[0]/=255,t[1]/=255,t[2]/=255),s?(o[0]=t[0],o[1]=t[1],o[2]=t[2],o[3]=null!=t[3]?t[3]:1):(o[0]=i(Math.round(255*t[0]),0,255),o[1]=i(Math.round(255*t[1]),0,255),o[2]=i(Math.round(255*t[2]),0,255),o[3]=null==t[3]?255:i(Math.floor(255*t[3]),0,255)),o)}},{clamp:93,&quot;color-rgba&quot;:101,dtype:133}],100:[function(t,e,r){(function(r){&quot;use strict&quot;;var n=t(&quot;color-name&quot;),i=t(&quot;is-plain-obj&quot;),a=t(&quot;defined&quot;);e.exports=function(t){var e,s,l=[],c=1;if(&quot;string&quot;==typeof t)if(n[t])l=n[t].slice(),s=&quot;rgb&quot;;else if(&quot;transparent&quot;===t)c=0,s=&quot;rgb&quot;,l=[0,0,0];else if(/^#[A-Fa-f0-9]+$/.test(t)){var u=t.slice(1);c=1,(h=u.length)&lt;=4?(l=[parseInt(u[0]+u[0],16),parseInt(u[1]+u[1],16),parseInt(u[2]+u[2],16)],4===h&amp;&amp;(c=parseInt(u[3]+u[3],16)/255)):(l=[parseInt(u[0]+u[1],16),parseInt(u[2]+u[3],16),parseInt(u[4]+u[5],16)],8===h&amp;&amp;(c=parseInt(u[6]+u[7],16)/255)),l[0]||(l[0]=0),l[1]||(l[1]=0),l[2]||(l[2]=0),s=&quot;rgb&quot;}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];s=u=f.replace(/a$/,&quot;&quot;);var h=&quot;cmyk&quot;===u?4:&quot;gray&quot;===u?1:3;l=e[2].trim().split(/\s*,\s*/).map(function(t,e){if(/%$/.test(t))return e===h?parseFloat(t)/100:&quot;rgb&quot;===u?255*parseFloat(t)/100:parseFloat(t);if(&quot;h&quot;===u[e]){if(/deg$/.test(t))return parseFloat(t);if(void 0!==o[t])return o[t]}return parseFloat(t)}),f===u&amp;&amp;l.push(1),c=void 0===l[h]?1:l[h],l=l.slice(0,h)}else t.length&gt;10&amp;&amp;/[0-9](?:\s|\/)/.test(t)&amp;&amp;(l=t.match(/([0-9]+)/g).map(function(t){return parseFloat(t)}),s=t.match(/([a-z])/gi).join(&quot;&quot;).toLowerCase());else if(&quot;number&quot;==typeof t)s=&quot;rgb&quot;,l=[t&gt;&gt;&gt;16,(65280&amp;t)&gt;&gt;&gt;8,255&amp;t];else if(i(t)){var d=a(t.r,t.red,t.R,null);null!==d?(s=&quot;rgb&quot;,l=[d,a(t.g,t.green,t.G),a(t.b,t.blue,t.B)]):(s=&quot;hsl&quot;,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&amp;&amp;(c/=100)}else(Array.isArray(t)||r.ArrayBuffer&amp;&amp;ArrayBuffer.isView&amp;&amp;ArrayBuffer.isView(t))&amp;&amp;(l=[t[0],t[1],t[2]],s=&quot;rgb&quot;,c=4===t.length?t[3]:1);return{space:s,values:l,alpha:c}};var o={red:0,orange:60,yellow:120,green:180,blue:240,purple:300}}).call(this,&quot;undefined&quot;!=typeof global?global:&quot;undefined&quot;!=typeof self?self:&quot;undefined&quot;!=typeof window?window:{})},{&quot;color-name&quot;:98,defined:129,&quot;is-plain-obj&quot;:286}],101:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;color-parse&quot;),i=t(&quot;color-space/hsl&quot;),a=t(&quot;clamp&quot;);e.exports=function(t){var e;if(&quot;string&quot;!=typeof t)throw Error(&quot;Argument should be a string&quot;);var r=n(t);return r.space?(e=Array(3),e[0]=a(r.values[0],0,255),e[1]=a(r.values[1],0,255),e[2]=a(r.values[2],0,255),&quot;h&quot;===r.space[0]&amp;&amp;(e=i.rgb(e)),e.push(a(r.alpha,0,1)),e):[]}},{clamp:93,&quot;color-parse&quot;:100,&quot;color-space/hsl&quot;:102}],102:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;./rgb&quot;);e.exports={name:&quot;hsl&quot;,min:[0,0,0],max:[360,100,100],channel:[&quot;hue&quot;,&quot;saturation&quot;,&quot;lightness&quot;],alias:[&quot;HSL&quot;],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,a];e=2*l-(r=l&lt;.5?l*(1+s):l+s-l*s),i=[0,0,0];for(var c=0;c&lt;3;c++)(n=o+1/3*-(c-1))&lt;0?n++:n&gt;1&amp;&amp;n--,a=6*n&lt;1?e+6*(r-e)*n:2*n&lt;1?r:3*n&lt;2?e+(r-e)*(2/3-n)*6:e,i[c]=255*a;return i}},n.hsl=function(t){var e,r,n,i=t[0]/255,a=t[1]/255,o=t[2]/255,s=Math.min(i,a,o),l=Math.max(i,a,o),c=l-s;return l===s?e=0:i===l?e=(a-o)/c:a===l?e=2+(o-i)/c:o===l&amp;&amp;(e=4+(i-a)/c),(e=Math.min(60*e,360))&lt;0&amp;&amp;(e+=360),n=(s+l)/2,r=l===s?0:n&lt;=.5?c/(l+s):c/(2-l-s),[e,100*r,100*n]}},{&quot;./rgb&quot;:103}],103:[function(t,e,r){&quot;use strict&quot;;e.exports={name:&quot;rgb&quot;,min:[0,0,0],max:[255,255,255],channel:[&quot;red&quot;,&quot;green&quot;,&quot;blue&quot;],alias:[&quot;RGB&quot;]}},{}],104:[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]}],cool:[{index:0,rgb:[0,255,255]},{index:1,rgb:[255,0,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:0,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]}],&quot;rainbow-soft&quot;:[{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]}],&quot;freesurface-blue&quot;:[{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]}],&quot;freesurface-red&quot;:[{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]}],&quot;velocity-blue&quot;:[{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]}],&quot;velocity-green&quot;:[{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]}]}},{}],105:[function(t,e,r){&quot;use strict&quot;;function n(t){for(var e,r=&quot;#&quot;,n=0;n&lt;3;++n)r+=(&quot;00&quot;+(e=(e=t[n]).toString(16))).substr(e.length);return r}function i(t){return&quot;rgba(&quot;+t.join(&quot;,&quot;)+&quot;)&quot;}var a=t(&quot;arraytools&quot;),o=t(&quot;clone&quot;),s=t(&quot;./colorScales&quot;);e.exports=function(t){var e,r,l,c,u,f,h,d,p,m,g,v,y,x=[],b=[],_=[],w=[];if(a.isPlainObject(t)||(t={}),p=t.nshades||72,d=t.format||&quot;hex&quot;,(h=t.colormap)||(h=&quot;jet&quot;),&quot;string&quot;==typeof h){if(h=h.toLowerCase(),!s[h])throw Error(h+&quot; not a supported colorscale&quot;);f=o(s[h])}else{if(!Array.isArray(h))throw Error(&quot;unsupported colormap option&quot;,h);f=o(h)}if(f.length&gt;p)throw new Error(h+&quot; map requires nshades to be at least size &quot;+f.length);for(g=Array.isArray(t.alpha)?2!==t.alpha.length?[1,1]:o(t.alpha):&quot;number&quot;==typeof t.alpha?[t.alpha,t.alpha]:[1,1],e=f.map(function(t){return Math.round(t.index*p)}),g[0]&lt;0&amp;&amp;(g[0]=0),g[1]&lt;0&amp;&amp;(g[0]=0),g[0]&gt;1&amp;&amp;(g[0]=1),g[1]&gt;1&amp;&amp;(g[0]=1),y=0;y&lt;e.length;++y)v=f[y].index,4===(r=f[y].rgb).length&amp;&amp;r[3]&gt;=0&amp;&amp;r[3]&lt;=1||(r[3]=g[0]+(g[1]-g[0])*v);for(y=0;y&lt;e.length-1;++y)u=e[y+1]-e[y],l=f[y].rgb,c=f[y+1].rgb,x=x.concat(a.linspace(l[0],c[0],u)),b=b.concat(a.linspace(l[1],c[1],u)),_=_.concat(a.linspace(l[2],c[2],u)),w=w.concat(a.linspace(l[3],c[3],u));return x=x.map(Math.round),b=b.map(Math.round),_=_.map(Math.round),m=a.zip(x,b,_,w),&quot;hex&quot;===d&amp;&amp;(m=m.map(n)),&quot;rgbaString&quot;===d&amp;&amp;(m=m.map(i)),m}},{&quot;./colorScales&quot;:104,arraytools:50,clone:96}],106:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r){var n=o(t[0],-e[0]),i=o(t[1],-e[1]),a=o(r[0],-e[0]),c=o(r[1],-e[1]),u=l(s(n,a),s(i,c));return u[u.length-1]&gt;=0}e.exports=function(t,e,r,o){var s=i(e,r,o);if(0===s){var l=a(i(t,e,r)),c=a(i(t,e,o));if(l===c){if(0===l){var u=n(t,e,r);return u===n(t,e,o)?0:u?1:-1}return 0}return 0===c?l&gt;0?-1:n(t,e,o)?-1:1:0===l?c&gt;0?1:n(t,e,r)?1:-1:a(c-l)}var f=i(t,e,r);return f&gt;0?s&gt;0&amp;&amp;i(t,e,o)&gt;0?1:-1:f&lt;0?s&gt;0||i(t,e,o)&gt;0?1:-1:i(t,e,o)&gt;0?1:n(t,e,r)?1:-1};var i=t(&quot;robust-orientation&quot;),a=t(&quot;signum&quot;),o=t(&quot;two-sum&quot;),s=t(&quot;robust-product&quot;),l=t(&quot;robust-sum&quot;)},{&quot;robust-orientation&quot;:515,&quot;robust-product&quot;:516,&quot;robust-sum&quot;:520,signum:522,&quot;two-sum&quot;:553}],107:[function(t,e,r){function n(t,e){return t-e}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]||i(t[0],t[1])-i(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=i(t[0],t[1]),c=i(e[0],e[1]);return i(l,t[2])-i(c,e[2])||i(l+t[2],o)-i(c+e[2],s);case 4:var u=t[0],f=t[1],h=t[2],d=t[3],p=e[0],m=e[1],g=e[2],v=e[3];return u+f+h+d-(p+m+g+v)||i(u,f,h,d)-i(p,m,g,v,p)||i(u+f,u+h,u+d,f+h,f+d,h+d)-i(p+m,p+g,p+v,m+g,m+v,g+v)||i(u+f+h,u+f+d,u+h+d,f+h+d)-i(p+m+g,p+m+v,p+g+v,m+g+v);default:for(var y=t.slice().sort(n),x=e.slice().sort(n),b=0;b&lt;r;++b)if(a=y[b]-x[b])return a;return 0}};var i=Math.min},{}],108:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;compare-cell&quot;),i=t(&quot;cell-orientation&quot;);e.exports=function(t,e){return n(t,e)||i(t)-i(e)}},{&quot;cell-orientation&quot;:90,&quot;compare-cell&quot;:107}],109:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;./lib/ch1d&quot;),i=t(&quot;./lib/ch2d&quot;),a=t(&quot;./lib/chnd&quot;);e.exports=function(t){var e=t.length;if(0===e)return[];if(1===e)return[[0]];var r=t[0].length;return 0===r?[]:1===r?n(t):2===r?i(t):a(t,r)}},{&quot;./lib/ch1d&quot;:110,&quot;./lib/ch2d&quot;:111,&quot;./lib/chnd&quot;:112}],110:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t){for(var e=0,r=0,n=1;n&lt;t.length;++n)t[n][0]&lt;t[e][0]&amp;&amp;(e=n),t[n][0]&gt;t[r][0]&amp;&amp;(r=n);return e&lt;r?[[e],[r]]:e&gt;r?[[r],[e]]:[[e]]}},{}],111:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t){var e=n(t),r=e.length;if(r&lt;=2)return[];for(var i=new Array(r),a=e[r-1],o=0;o&lt;r;++o){var s=e[o];i[o]=[a,s],a=s}return i};var n=t(&quot;monotone-convex-hull-2d&quot;)},{&quot;monotone-convex-hull-2d&quot;:442}],112:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t,e){try{return n(t,!0)}catch(o){var r=i(t);if(r.length&lt;=e)return[];var a=function(t,e){for(var r=t.length,n=new Array(r),i=0;i&lt;e.length;++i)n[i]=t[e[i]];var a=e.length;for(i=0;i&lt;r;++i)e.indexOf(i)&lt;0&amp;&amp;(n[a++]=t[i]);return n}(t,r);return function(t,e){for(var r=t.length,n=e.length,i=0;i&lt;r;++i)for(var a=t[i],o=0;o&lt;a.length;++o){var s=a[o];if(s&lt;n)a[o]=e[s];else{s-=n;for(var l=0;l&lt;n;++l)s&gt;=e[l]&amp;&amp;(s+=1);a[o]=s}}return t}(n(a,!0),r)}};var n=t(&quot;incremental-convex-hull&quot;),i=t(&quot;affine-hull&quot;)},{&quot;affine-hull&quot;:45,&quot;incremental-convex-hull&quot;:278}],113:[function(t,e,r){e.exports={AFG:&quot;afghan&quot;,ALA:&quot;\\b\\wland&quot;,ALB:&quot;albania&quot;,DZA:&quot;algeria&quot;,ASM:&quot;^(?=.*americ).*samoa&quot;,AND:&quot;andorra&quot;,AGO:&quot;angola&quot;,AIA:&quot;anguill?a&quot;,ATA:&quot;antarctica&quot;,ATG:&quot;antigua&quot;,ARG:&quot;argentin&quot;,ARM:&quot;armenia&quot;,ABW:&quot;^(?!.*bonaire).*\\baruba&quot;,AUS:&quot;australia&quot;,AUT:&quot;^(?!.*hungary).*austria|\\baustri.*\\bemp&quot;,AZE:&quot;azerbaijan&quot;,BHS:&quot;bahamas&quot;,BHR:&quot;bahrain&quot;,BGD:&quot;bangladesh|^(?=.*east).*paki?stan&quot;,BRB:&quot;barbados&quot;,BLR:&quot;belarus|byelo&quot;,BEL:&quot;^(?!.*luxem).*belgium&quot;,BLZ:&quot;belize|^(?=.*british).*honduras&quot;,BEN:&quot;benin|dahome&quot;,BMU:&quot;bermuda&quot;,BTN:&quot;bhutan&quot;,BOL:&quot;bolivia&quot;,BES:&quot;^(?=.*bonaire).*eustatius|^(?=.*carib).*netherlands|\\bbes.?islands&quot;,BIH:&quot;herzegovina|bosnia&quot;,BWA:&quot;botswana|bechuana&quot;,BVT:&quot;bouvet&quot;,BRA:&quot;brazil&quot;,IOT:&quot;british.?indian.?ocean&quot;,BRN:&quot;brunei&quot;,BGR:&quot;bulgaria&quot;,BFA:&quot;burkina|\\bfaso|upper.?volta&quot;,BDI:&quot;burundi&quot;,CPV:&quot;verde&quot;,KHM:&quot;cambodia|kampuchea|khmer&quot;,CMR:&quot;cameroon&quot;,CAN:&quot;canada&quot;,CYM:&quot;cayman&quot;,CAF:&quot;\\bcentral.african.republic&quot;,TCD:&quot;\\bchad&quot;,CHL:&quot;\\bchile&quot;,CHN:&quot;^(?!.*\\bmac)(?!.*\\bhong)(?!.*\\btai)(?!.*\\brep).*china|^(?=.*peo)(?=.*rep).*china&quot;,CXR:&quot;christmas&quot;,CCK:&quot;\\bcocos|keeling&quot;,COL:&quot;colombia&quot;,COM:&quot;comoro&quot;,COG:&quot;^(?!.*\\bdem)(?!.*\\bd[\\.]?r)(?!.*kinshasa)(?!.*zaire)(?!.*belg)(?!.*l.opoldville)(?!.*free).*\\bcongo&quot;,COK:&quot;\\bcook&quot;,CRI:&quot;costa.?rica&quot;,CIV:&quot;ivoire|ivory&quot;,HRV:&quot;croatia&quot;,CUB:&quot;\\bcuba&quot;,CUW:&quot;^(?!.*bonaire).*\\bcura(c|\xe7)ao&quot;,CYP:&quot;cyprus&quot;,CSK:&quot;czechoslovakia&quot;,CZE:&quot;^(?=.*rep).*czech|czechia|bohemia&quot;,COD:&quot;\\bdem.*congo|congo.*\\bdem|congo.*\\bd[\\.]?r|\\bd[\\.]?r.*congo|belgian.?congo|congo.?free.?state|kinshasa|zaire|l.opoldville|drc|droc|rdc&quot;,DNK:&quot;denmark&quot;,DJI:&quot;djibouti&quot;,DMA:&quot;dominica(?!n)&quot;,DOM:&quot;dominican.rep&quot;,ECU:&quot;ecuador&quot;,EGY:&quot;egypt&quot;,SLV:&quot;el.?salvador&quot;,GNQ:&quot;guine.*eq|eq.*guine|^(?=.*span).*guinea&quot;,ERI:&quot;eritrea&quot;,EST:&quot;estonia&quot;,ETH:&quot;ethiopia|abyssinia&quot;,FLK:&quot;falkland|malvinas&quot;,FRO:&quot;faroe|faeroe&quot;,FJI:&quot;fiji&quot;,FIN:&quot;finland&quot;,FRA:&quot;^(?!.*\\bdep)(?!.*martinique).*france|french.?republic|\\bgaul&quot;,GUF:&quot;^(?=.*french).*guiana&quot;,PYF:&quot;french.?polynesia|tahiti&quot;,ATF:&quot;french.?southern&quot;,GAB:&quot;gabon&quot;,GMB:&quot;gambia&quot;,GEO:&quot;^(?!.*south).*georgia&quot;,DDR:&quot;german.?democratic.?republic|democratic.?republic.*germany|east.germany&quot;,DEU:&quot;^(?!.*east).*germany|^(?=.*\\bfed.*\\brep).*german&quot;,GHA:&quot;ghana|gold.?coast&quot;,GIB:&quot;gibraltar&quot;,GRC:&quot;greece|hellenic|hellas&quot;,GRL:&quot;greenland&quot;,GRD:&quot;grenada&quot;,GLP:&quot;guadeloupe&quot;,GUM:&quot;\\bguam&quot;,GTM:&quot;guatemala&quot;,GGY:&quot;guernsey&quot;,GIN:&quot;^(?!.*eq)(?!.*span)(?!.*bissau)(?!.*portu)(?!.*new).*guinea&quot;,GNB:&quot;bissau|^(?=.*portu).*guinea&quot;,GUY:&quot;guyana|british.?guiana&quot;,HTI:&quot;haiti&quot;,HMD:&quot;heard.*mcdonald&quot;,VAT:&quot;holy.?see|vatican|papal.?st&quot;,HND:&quot;^(?!.*brit).*honduras&quot;,HKG:&quot;hong.?kong&quot;,HUN:&quot;^(?!.*austr).*hungary&quot;,ISL:&quot;iceland&quot;,IND:&quot;india(?!.*ocea)&quot;,IDN:&quot;indonesia&quot;,IRN:&quot;\\biran|persia&quot;,IRQ:&quot;\\biraq|mesopotamia&quot;,IRL:&quot;(^ireland)|(^republic.*ireland)&quot;,IMN:&quot;^(?=.*isle).*\\bman&quot;,ISR:&quot;israel&quot;,ITA:&quot;italy&quot;,JAM:&quot;jamaica&quot;,JPN:&quot;japan&quot;,JEY:&quot;jersey&quot;,JOR:&quot;jordan&quot;,KAZ:&quot;kazak&quot;,KEN:&quot;kenya|british.?east.?africa|east.?africa.?prot&quot;,KIR:&quot;kiribati&quot;,PRK:&quot;^(?=.*democrat|people|north|d.*p.*.r).*\\bkorea|dprk|korea.*(d.*p.*r)&quot;,KWT:&quot;kuwait&quot;,KGZ:&quot;kyrgyz|kirghiz&quot;,LAO:&quot;\\blaos?\\b&quot;,LVA:&quot;latvia&quot;,LBN:&quot;lebanon&quot;,LSO:&quot;lesotho|basuto&quot;,LBR:&quot;liberia&quot;,LBY:&quot;libya&quot;,LIE:&quot;liechtenstein&quot;,LTU:&quot;lithuania&quot;,LUX:&quot;^(?!.*belg).*luxem&quot;,MAC:&quot;maca(o|u)&quot;,MDG:&quot;madagascar|malagasy&quot;,MWI:&quot;malawi|nyasa&quot;,MYS:&quot;malaysia&quot;,MDV:&quot;maldive&quot;,MLI:&quot;\\bmali\\b&quot;,MLT:&quot;\\bmalta&quot;,MHL:&quot;marshall&quot;,MTQ:&quot;martinique&quot;,MRT:&quot;mauritania&quot;,MUS:&quot;mauritius&quot;,MYT:&quot;\\bmayotte&quot;,MEX:&quot;\\bmexic&quot;,FSM:&quot;fed.*micronesia|micronesia.*fed&quot;,MCO:&quot;monaco&quot;,MNG:&quot;mongolia&quot;,MNE:&quot;^(?!.*serbia).*montenegro&quot;,MSR:&quot;montserrat&quot;,MAR:&quot;morocco|\\bmaroc&quot;,MOZ:&quot;mozambique&quot;,MMR:&quot;myanmar|burma&quot;,NAM:&quot;namibia&quot;,NRU:&quot;nauru&quot;,NPL:&quot;nepal&quot;,NLD:&quot;^(?!.*\\bant)(?!.*\\bcarib).*netherlands&quot;,ANT:&quot;^(?=.*\\bant).*(nether|dutch)&quot;,NCL:&quot;new.?caledonia&quot;,NZL:&quot;new.?zealand&quot;,NIC:&quot;nicaragua&quot;,NER:&quot;\\bniger(?!ia)&quot;,NGA:&quot;nigeria&quot;,NIU:&quot;niue&quot;,NFK:&quot;norfolk&quot;,MNP:&quot;mariana&quot;,NOR:&quot;norway&quot;,OMN:&quot;\\boman|trucial&quot;,PAK:&quot;^(?!.*east).*paki?stan&quot;,PLW:&quot;palau&quot;,PSE:&quot;palestin|\\bgaza|west.?bank&quot;,PAN:&quot;panama&quot;,PNG:&quot;papua|new.?guinea&quot;,PRY:&quot;paraguay&quot;,PER:&quot;peru&quot;,PHL:&quot;philippines&quot;,PCN:&quot;pitcairn&quot;,POL:&quot;poland&quot;,PRT:&quot;portugal&quot;,PRI:&quot;puerto.?rico&quot;,QAT:&quot;qatar&quot;,KOR:&quot;^(?!.*d.*p.*r)(?!.*democrat)(?!.*people)(?!.*north).*\\bkorea(?!.*d.*p.*r)&quot;,MDA:&quot;moldov|b(a|e)ssarabia&quot;,REU:&quot;r(e|\xe9)union&quot;,ROU:&quot;r(o|u|ou)mania&quot;,RUS:&quot;\\brussia|soviet.?union|u\\.?s\\.?s\\.?r|socialist.?republics&quot;,RWA:&quot;rwanda&quot;,BLM:&quot;barth(e|\xe9)lemy&quot;,SHN:&quot;helena&quot;,KNA:&quot;kitts|\\bnevis&quot;,LCA:&quot;\\blucia&quot;,MAF:&quot;^(?=.*collectivity).*martin|^(?=.*france).*martin(?!ique)|^(?=.*french).*martin(?!ique)&quot;,SPM:&quot;miquelon&quot;,VCT:&quot;vincent&quot;,WSM:&quot;^(?!.*amer).*samoa&quot;,SMR:&quot;san.?marino&quot;,STP:&quot;\\bs(a|\xe3)o.?tom(e|\xe9)&quot;,SAU:&quot;\\bsa\\w*.?arabia&quot;,SEN:&quot;senegal&quot;,SRB:&quot;^(?!.*monte).*serbia&quot;,SYC:&quot;seychell&quot;,SLE:&quot;sierra&quot;,SGP:&quot;singapore&quot;,SXM:&quot;^(?!.*martin)(?!.*saba).*maarten&quot;,SVK:&quot;^(?!.*cze).*slovak&quot;,SVN:&quot;slovenia&quot;,SLB:&quot;solomon&quot;,SOM:&quot;somali&quot;,ZAF:&quot;south.africa|s\\\\..?africa&quot;,SGS:&quot;south.?georgia|sandwich&quot;,SSD:&quot;\\bs\\w*.?sudan&quot;,ESP:&quot;spain&quot;,LKA:&quot;sri.?lanka|ceylon&quot;,SDN:&quot;^(?!.*\\bs(?!u)).*sudan&quot;,SUR:&quot;surinam|dutch.?guiana&quot;,SJM:&quot;svalbard&quot;,SWZ:&quot;swaziland&quot;,SWE:&quot;sweden&quot;,CHE:&quot;switz|swiss&quot;,SYR:&quot;syria&quot;,TWN:&quot;taiwan|taipei|formosa|^(?!.*peo)(?=.*rep).*china&quot;,TJK:&quot;tajik&quot;,THA:&quot;thailand|\\bsiam&quot;,MKD:&quot;macedonia|fyrom&quot;,TLS:&quot;^(?=.*leste).*timor|^(?=.*east).*timor&quot;,TGO:&quot;togo&quot;,TKL:&quot;tokelau&quot;,TON:&quot;tonga&quot;,TTO:&quot;trinidad|tobago&quot;,TUN:&quot;tunisia&quot;,TUR:&quot;turkey&quot;,TKM:&quot;turkmen&quot;,TCA:&quot;turks&quot;,TUV:&quot;tuvalu&quot;,UGA:&quot;uganda&quot;,UKR:&quot;ukrain&quot;,ARE:&quot;emirates|^u\\.?a\\.?e\\.?$|united.?arab.?em&quot;,GBR:&quot;united.?kingdom|britain|^u\\.?k\\.?$&quot;,TZA:&quot;tanzania&quot;,USA:&quot;united.?states\\b(?!.*islands)|\\bu\\.?s\\.?a\\.?\\b|^\\s*u\\.?s\\.?\\b(?!.*islands)&quot;,UMI:&quot;minor.?outlying.?is&quot;,URY:&quot;uruguay&quot;,UZB:&quot;uzbek&quot;,VUT:&quot;vanuatu|new.?hebrides&quot;,VEN:&quot;venezuela&quot;,VNM:&quot;^(?!.*republic).*viet.?nam|^(?=.*socialist).*viet.?nam&quot;,VGB:&quot;^(?=.*\\bu\\.?\\s?k).*virgin|^(?=.*brit).*virgin|^(?=.*kingdom).*virgin&quot;,VIR:&quot;^(?=.*\\bu\\.?\\s?s).*virgin|^(?=.*states).*virgin&quot;,WLF:&quot;futuna|wallis&quot;,ESH:&quot;western.sahara&quot;,YEM:&quot;^(?!.*arab)(?!.*north)(?!.*sana)(?!.*peo)(?!.*dem)(?!.*south)(?!.*aden)(?!.*\\bp\\.?d\\.?r).*yemen&quot;,YMD:&quot;^(?=.*peo).*yemen|^(?!.*rep)(?=.*dem).*yemen|^(?=.*south).*yemen|^(?=.*aden).*yemen|^(?=.*\\bp\\.?d\\.?r).*yemen&quot;,YUG:&quot;yugoslavia&quot;,ZMB:&quot;zambia|northern.?rhodesia&quot;,EAZ:&quot;zanzibar&quot;,ZWE:&quot;zimbabwe|^(?!.*northern).*rhodesia&quot;}},{}],114:[function(t,e,r){function n(t){return(t=Math.round(t))&lt;0?0:t&gt;255?255:t}function i(t){return t&lt;0?0:t&gt;1?1:t}function a(t){return n(&quot;%&quot;===t[t.length-1]?parseFloat(t)/100*255:parseInt(t))}function o(t){return i(&quot;%&quot;===t[t.length-1]?parseFloat(t)/100:parseFloat(t))}function s(t,e,r){return r&lt;0?r+=1:r&gt;1&amp;&amp;(r-=1),6*r&lt;1?t+(e-t)*r*6:2*r&lt;1?e:3*r&lt;2?t+(e-t)*(2/3-r)*6:t}function l(t){var e=t.replace(/ /g,&quot;&quot;).toLowerCase();if(e in c)return c[e].slice();if(&quot;#&quot;===e[0]){if(4===e.length){return(r=parseInt(e.substr(1),16))&gt;=0&amp;&amp;r&lt;=4095?[(3840&amp;r)&gt;&gt;4|(3840&amp;r)&gt;&gt;8,240&amp;r|(240&amp;r)&gt;&gt;4,15&amp;r|(15&amp;r)&lt;&lt;4,1]:null}if(7===e.length){var r;return(r=parseInt(e.substr(1),16))&gt;=0&amp;&amp;r&lt;=16777215?[(16711680&amp;r)&gt;&gt;16,(65280&amp;r)&gt;&gt;8,255&amp;r,1]:null}return null}var i=e.indexOf(&quot;(&quot;),l=e.indexOf(&quot;)&quot;);if(-1!==i&amp;&amp;l+1===e.length){var u=e.substr(0,i),f=e.substr(i+1,l-(i+1)).split(&quot;,&quot;),h=1;switch(u){case&quot;rgba&quot;:if(4!==f.length)return null;h=o(f.pop());case&quot;rgb&quot;:return 3!==f.length?null:[a(f[0]),a(f[1]),a(f[2]),h];case&quot;hsla&quot;:if(4!==f.length)return null;h=o(f.pop());case&quot;hsl&quot;:if(3!==f.length)return null;var d=(parseFloat(f[0])%360+360)%360/360,p=o(f[1]),m=o(f[2]),g=m&lt;=.5?m*(p+1):m+p-m*p,v=2*m-g;return[n(255*s(v,g,d+1/3)),n(255*s(v,g,d)),n(255*s(v,g,d-1/3)),h];default:return null}}return null}var c={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]};try{r.parseCSSColor=l}catch(t){}},{}],115:[function(t,e,r){&quot;use strict&quot;;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 d=t.length-1;d&gt;=0;--d)a[d]=c*t[d]+u*e[d]+f*r[d]+h*n[d];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&gt;=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}},{}],116:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;./lib/thunk.js&quot;);e.exports=function(t){var e=new function(){this.argTypes=[],this.shimArgs=[],this.arrayArgs=[],this.arrayBlockIndices=[],this.scalarArgs=[],this.offsetArgs=[],this.offsetArgIndex=[],this.indexArgs=[],this.shapeArgs=[],this.funcName=&quot;&quot;,this.pre=null,this.body=null,this.post=null,this.debug=!1};e.pre=t.pre,e.body=t.body,e.post=t.post;var r=t.args.slice(0);e.argTypes=r;for(var i=0;i&lt;r.length;++i){var a=r[i];if(&quot;array&quot;===a||&quot;object&quot;==typeof a&amp;&amp;a.blockIndices){if(e.argTypes[i]=&quot;array&quot;,e.arrayArgs.push(i),e.arrayBlockIndices.push(a.blockIndices?a.blockIndices:0),e.shimArgs.push(&quot;array&quot;+i),i&lt;e.pre.args.length&amp;&amp;e.pre.args[i].count&gt;0)throw new Error(&quot;cwise: pre() block may not reference array args&quot;);if(i&lt;e.post.args.length&amp;&amp;e.post.args[i].count&gt;0)throw new Error(&quot;cwise: post() block may not reference array args&quot;)}else if(&quot;scalar&quot;===a)e.scalarArgs.push(i),e.shimArgs.push(&quot;scalar&quot;+i);else if(&quot;index&quot;===a){if(e.indexArgs.push(i),i&lt;e.pre.args.length&amp;&amp;e.pre.args[i].count&gt;0)throw new Error(&quot;cwise: pre() block may not reference array index&quot;);if(i&lt;e.body.args.length&amp;&amp;e.body.args[i].lvalue)throw new Error(&quot;cwise: body() block may not write to array index&quot;);if(i&lt;e.post.args.length&amp;&amp;e.post.args[i].count&gt;0)throw new Error(&quot;cwise: post() block may not reference array index&quot;)}else if(&quot;shape&quot;===a){if(e.shapeArgs.push(i),i&lt;e.pre.args.length&amp;&amp;e.pre.args[i].lvalue)throw new Error(&quot;cwise: pre() block may not write to array shape&quot;);if(i&lt;e.body.args.length&amp;&amp;e.body.args[i].lvalue)throw new Error(&quot;cwise: body() block may not write to array shape&quot;);if(i&lt;e.post.args.length&amp;&amp;e.post.args[i].lvalue)throw new Error(&quot;cwise: post() block may not write to array shape&quot;)}else{if(&quot;object&quot;!=typeof a||!a.offset)throw new Error(&quot;cwise: Unknown argument type &quot;+r[i]);e.argTypes[i]=&quot;offset&quot;,e.offsetArgs.push({array:a.array,offset:a.offset}),e.offsetArgIndex.push(i)}}if(e.arrayArgs.length&lt;=0)throw new Error(&quot;cwise: No array arguments specified&quot;);if(e.pre.args.length&gt;r.length)throw new Error(&quot;cwise: Too many arguments in pre() block&quot;);if(e.body.args.length&gt;r.length)throw new Error(&quot;cwise: Too many arguments in body() block&quot;);if(e.post.args.length&gt;r.length)throw new Error(&quot;cwise: Too many arguments in post() block&quot;);return e.debug=!!t.printCode||!!t.debug,e.funcName=t.funcName||&quot;cwise&quot;,e.blockSize=t.blockSize||64,n(e)}},{&quot;./lib/thunk.js&quot;:118}],117:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r){var n,i,a=t.length,o=e.arrayArgs.length,s=e.indexArgs.length&gt;0,l=[],c=[],u=0,f=0;for(n=0;n&lt;a;++n)c.push([&quot;i&quot;,n,&quot;=0&quot;].join(&quot;&quot;));for(i=0;i&lt;o;++i)for(n=0;n&lt;a;++n)f=u,u=t[n],0===n?c.push([&quot;d&quot;,i,&quot;s&quot;,n,&quot;=t&quot;,i,&quot;p&quot;,u].join(&quot;&quot;)):c.push([&quot;d&quot;,i,&quot;s&quot;,n,&quot;=(t&quot;,i,&quot;p&quot;,u,&quot;-s&quot;,f,&quot;*t&quot;,i,&quot;p&quot;,f,&quot;)&quot;].join(&quot;&quot;));for(l.push(&quot;var &quot;+c.join(&quot;,&quot;)),n=a-1;n&gt;=0;--n)u=t[n],l.push([&quot;for(i&quot;,n,&quot;=0;i&quot;,n,&quot;&lt;s&quot;,u,&quot;;++i&quot;,n,&quot;){&quot;].join(&quot;&quot;));for(l.push(r),n=0;n&lt;a;++n){for(f=u,u=t[n],i=0;i&lt;o;++i)l.push([&quot;p&quot;,i,&quot;+=d&quot;,i,&quot;s&quot;,n].join(&quot;&quot;));s&amp;&amp;(n&gt;0&amp;&amp;l.push([&quot;index[&quot;,f,&quot;]-=s&quot;,f].join(&quot;&quot;)),l.push([&quot;++index[&quot;,u,&quot;]&quot;].join(&quot;&quot;))),l.push(&quot;}&quot;)}return l.join(&quot;\n&quot;)}function i(t,e,r){for(var n=t.body,i=[],a=[],o=0;o&lt;t.args.length;++o){var s=t.args[o];if(!(s.count&lt;=0)){var l=new RegExp(s.name,&quot;g&quot;),c=&quot;&quot;,u=e.arrayArgs.indexOf(o);switch(e.argTypes[o]){case&quot;offset&quot;:var f=e.offsetArgIndex.indexOf(o);u=e.offsetArgs[f].array,c=&quot;+q&quot;+f;case&quot;array&quot;:c=&quot;p&quot;+u+c;var h=&quot;l&quot;+o,d=&quot;a&quot;+u;if(0===e.arrayBlockIndices[u])1===s.count?&quot;generic&quot;===r[u]?s.lvalue?(i.push([&quot;var &quot;,h,&quot;=&quot;,d,&quot;.get(&quot;,c,&quot;)&quot;].join(&quot;&quot;)),n=n.replace(l,h),a.push([d,&quot;.set(&quot;,c,&quot;,&quot;,h,&quot;)&quot;].join(&quot;&quot;))):n=n.replace(l,[d,&quot;.get(&quot;,c,&quot;)&quot;].join(&quot;&quot;)):n=n.replace(l,[d,&quot;[&quot;,c,&quot;]&quot;].join(&quot;&quot;)):&quot;generic&quot;===r[u]?(i.push([&quot;var &quot;,h,&quot;=&quot;,d,&quot;.get(&quot;,c,&quot;)&quot;].join(&quot;&quot;)),n=n.replace(l,h),s.lvalue&amp;&amp;a.push([d,&quot;.set(&quot;,c,&quot;,&quot;,h,&quot;)&quot;].join(&quot;&quot;))):(i.push([&quot;var &quot;,h,&quot;=&quot;,d,&quot;[&quot;,c,&quot;]&quot;].join(&quot;&quot;)),n=n.replace(l,h),s.lvalue&amp;&amp;a.push([d,&quot;[&quot;,c,&quot;]=&quot;,h].join(&quot;&quot;)));else{for(var p=[s.name],m=[c],g=0;g&lt;Math.abs(e.arrayBlockIndices[u]);g++)p.push(&quot;\\s*\\[([^\\]]+)\\]&quot;),m.push(&quot;$&quot;+(g+1)+&quot;*t&quot;+u+&quot;b&quot;+g);if(l=new RegExp(p.join(&quot;&quot;),&quot;g&quot;),c=m.join(&quot;+&quot;),&quot;generic&quot;===r[u])throw new Error(&quot;cwise: Generic arrays not supported in combination with blocks!&quot;);n=n.replace(l,[d,&quot;[&quot;,c,&quot;]&quot;].join(&quot;&quot;))}break;case&quot;scalar&quot;:n=n.replace(l,&quot;Y&quot;+e.scalarArgs.indexOf(o));break;case&quot;index&quot;:n=n.replace(l,&quot;index&quot;);break;case&quot;shape&quot;:n=n.replace(l,&quot;shape&quot;)}}}return[i.join(&quot;\n&quot;),n,a.join(&quot;\n&quot;)].join(&quot;\n&quot;).trim()}var a=t(&quot;uniq&quot;);e.exports=function(t,e){for(var r=e[1].length-Math.abs(t.arrayBlockIndices[0])|0,o=new Array(t.arrayArgs.length),s=new Array(t.arrayArgs.length),l=0;l&lt;t.arrayArgs.length;++l)s[l]=e[2*l],o[l]=e[2*l+1];var c=[],u=[],f=[],h=[],d=[];for(l=0;l&lt;t.arrayArgs.length;++l){t.arrayBlockIndices[l]&lt;0?(f.push(0),h.push(r),c.push(r),u.push(r+t.arrayBlockIndices[l])):(f.push(t.arrayBlockIndices[l]),h.push(t.arrayBlockIndices[l]+r),c.push(0),u.push(t.arrayBlockIndices[l]));for(var p=[],m=0;m&lt;o[l].length;m++)f[l]&lt;=o[l][m]&amp;&amp;o[l][m]&lt;h[l]&amp;&amp;p.push(o[l][m]-f[l]);d.push(p)}var g=[&quot;SS&quot;],v=[&quot;'use strict'&quot;],y=[];for(m=0;m&lt;r;++m)y.push([&quot;s&quot;,m,&quot;=SS[&quot;,m,&quot;]&quot;].join(&quot;&quot;));for(l=0;l&lt;t.arrayArgs.length;++l){for(g.push(&quot;a&quot;+l),g.push(&quot;t&quot;+l),g.push(&quot;p&quot;+l),m=0;m&lt;r;++m)y.push([&quot;t&quot;,l,&quot;p&quot;,m,&quot;=t&quot;,l,&quot;[&quot;,f[l]+m,&quot;]&quot;].join(&quot;&quot;));for(m=0;m&lt;Math.abs(t.arrayBlockIndices[l]);++m)y.push([&quot;t&quot;,l,&quot;b&quot;,m,&quot;=t&quot;,l,&quot;[&quot;,c[l]+m,&quot;]&quot;].join(&quot;&quot;))}for(l=0;l&lt;t.scalarArgs.length;++l)g.push(&quot;Y&quot;+l);if(t.shapeArgs.length&gt;0&amp;&amp;y.push(&quot;shape=SS.slice(0)&quot;),t.indexArgs.length&gt;0){var x=new Array(r);for(l=0;l&lt;r;++l)x[l]=&quot;0&quot;;y.push([&quot;index=[&quot;,x.join(&quot;,&quot;),&quot;]&quot;].join(&quot;&quot;))}for(l=0;l&lt;t.offsetArgs.length;++l){var b=t.offsetArgs[l],_=[];for(m=0;m&lt;b.offset.length;++m)0!==b.offset[m]&amp;&amp;(1===b.offset[m]?_.push([&quot;t&quot;,b.array,&quot;p&quot;,m].join(&quot;&quot;)):_.push([b.offset[m],&quot;*t&quot;,b.array,&quot;p&quot;,m].join(&quot;&quot;)));0===_.length?y.push(&quot;q&quot;+l+&quot;=0&quot;):y.push([&quot;q&quot;,l,&quot;=&quot;,_.join(&quot;+&quot;)].join(&quot;&quot;))}var w=a([].concat(t.pre.thisVars).concat(t.body.thisVars).concat(t.post.thisVars));for(y=y.concat(w),v.push(&quot;var &quot;+y.join(&quot;,&quot;)),l=0;l&lt;t.arrayArgs.length;++l)v.push(&quot;p&quot;+l+&quot;|=0&quot;);t.pre.body.length&gt;3&amp;&amp;v.push(i(t.pre,t,s));var M=i(t.body,t,s),k=function(t){for(var e=0,r=t[0].length;e&lt;r;){for(var n=1;n&lt;t.length;++n)if(t[n][e]!==t[0][e])return e;++e}return e}(d);k&lt;r?v.push(function(t,e,r,i){for(var a=e.length,o=r.arrayArgs.length,s=r.blockSize,l=r.indexArgs.length&gt;0,c=[],u=0;u&lt;o;++u)c.push([&quot;var offset&quot;,u,&quot;=p&quot;,u].join(&quot;&quot;));for(u=t;u&lt;a;++u)c.push([&quot;for(var j&quot;+u+&quot;=SS[&quot;,e[u],&quot;]|0;j&quot;,u,&quot;&gt;0;){&quot;].join(&quot;&quot;)),c.push([&quot;if(j&quot;,u,&quot;&lt;&quot;,s,&quot;){&quot;].join(&quot;&quot;)),c.push([&quot;s&quot;,e[u],&quot;=j&quot;,u].join(&quot;&quot;)),c.push([&quot;j&quot;,u,&quot;=0&quot;].join(&quot;&quot;)),c.push([&quot;}else{s&quot;,e[u],&quot;=&quot;,s].join(&quot;&quot;)),c.push([&quot;j&quot;,u,&quot;-=&quot;,s,&quot;}&quot;].join(&quot;&quot;)),l&amp;&amp;c.push([&quot;index[&quot;,e[u],&quot;]=j&quot;,u].join(&quot;&quot;));for(u=0;u&lt;o;++u){for(var f=[&quot;offset&quot;+u],h=t;h&lt;a;++h)f.push([&quot;j&quot;,h,&quot;*t&quot;,u,&quot;p&quot;,e[h]].join(&quot;&quot;));c.push([&quot;p&quot;,u,&quot;=(&quot;,f.join(&quot;+&quot;),&quot;)&quot;].join(&quot;&quot;))}for(c.push(n(e,r,i)),u=t;u&lt;a;++u)c.push(&quot;}&quot;);return c.join(&quot;\n&quot;)}(k,d[0],t,M)):v.push(n(d[0],t,M)),t.post.body.length&gt;3&amp;&amp;v.push(i(t.post,t,s)),t.debug&amp;&amp;console.log(&quot;-----Generated cwise routine for &quot;,e,&quot;:\n&quot;+v.join(&quot;\n&quot;)+&quot;\n----------&quot;);var A=[t.funcName||&quot;unnamed&quot;,&quot;_cwise_loop_&quot;,o[0].join(&quot;s&quot;),&quot;m&quot;,k,function(t){for(var e=new Array(t.length),r=!0,n=0;n&lt;t.length;++n){var i=t[n],a=i.match(/\d+/);a=a?a[0]:&quot;&quot;,0===i.charAt(0)?e[n]=&quot;u&quot;+i.charAt(1)+a:e[n]=i.charAt(0)+a,n&gt;0&amp;&amp;(r=r&amp;&amp;e[n]===e[n-1])}return r?e[0]:e.join(&quot;&quot;)}(s)].join(&quot;&quot;);return new Function([&quot;function &quot;,A,&quot;(&quot;,g.join(&quot;,&quot;),&quot;){&quot;,v.join(&quot;\n&quot;),&quot;} return &quot;,A].join(&quot;&quot;))()}},{uniq:556}],118:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;./compile.js&quot;);e.exports=function(t){var e=[&quot;'use strict'&quot;,&quot;var CACHED={}&quot;],r=[],i=t.funcName+&quot;_cwise_thunk&quot;;e.push([&quot;return function &quot;,i,&quot;(&quot;,t.shimArgs.join(&quot;,&quot;),&quot;){&quot;].join(&quot;&quot;));for(var a=[],o=[],s=[[&quot;array&quot;,t.arrayArgs[0],&quot;.shape.slice(&quot;,Math.max(0,t.arrayBlockIndices[0]),t.arrayBlockIndices[0]&lt;0?&quot;,&quot;+t.arrayBlockIndices[0]+&quot;)&quot;:&quot;)&quot;].join(&quot;&quot;)],l=[],c=[],u=0;u&lt;t.arrayArgs.length;++u){var f=t.arrayArgs[u];r.push([&quot;t&quot;,f,&quot;=array&quot;,f,&quot;.dtype,&quot;,&quot;r&quot;,f,&quot;=array&quot;,f,&quot;.order&quot;].join(&quot;&quot;)),a.push(&quot;t&quot;+f),a.push(&quot;r&quot;+f),o.push(&quot;t&quot;+f),o.push(&quot;r&quot;+f+&quot;.join()&quot;),s.push(&quot;array&quot;+f+&quot;.data&quot;),s.push(&quot;array&quot;+f+&quot;.stride&quot;),s.push(&quot;array&quot;+f+&quot;.offset|0&quot;),u&gt;0&amp;&amp;(l.push(&quot;array&quot;+t.arrayArgs[0]+&quot;.shape.length===array&quot;+f+&quot;.shape.length+&quot;+(Math.abs(t.arrayBlockIndices[0])-Math.abs(t.arrayBlockIndices[u]))),c.push(&quot;array&quot;+t.arrayArgs[0]+&quot;.shape[shapeIndex+&quot;+Math.max(0,t.arrayBlockIndices[0])+&quot;]===array&quot;+f+&quot;.shape[shapeIndex+&quot;+Math.max(0,t.arrayBlockIndices[u])+&quot;]&quot;))}for(t.arrayArgs.length&gt;1&amp;&amp;(e.push(&quot;if (!(&quot;+l.join(&quot; &amp;&amp; &quot;)+&quot;)) throw new Error('cwise: Arrays do not all have the same dimensionality!')&quot;),e.push(&quot;for(var shapeIndex=array&quot;+t.arrayArgs[0]+&quot;.shape.length-&quot;+Math.abs(t.arrayBlockIndices[0])+&quot;; shapeIndex--\x3e0;) {&quot;),e.push(&quot;if (!(&quot;+c.join(&quot; &amp;&amp; &quot;)+&quot;)) throw new Error('cwise: Arrays do not all have the same shape!')&quot;),e.push(&quot;}&quot;)),u=0;u&lt;t.scalarArgs.length;++u)s.push(&quot;scalar&quot;+t.scalarArgs[u]);return r.push([&quot;type=[&quot;,o.join(&quot;,&quot;),&quot;].join()&quot;].join(&quot;&quot;)),r.push(&quot;proc=CACHED[type]&quot;),e.push(&quot;var &quot;+r.join(&quot;,&quot;)),e.push([&quot;if(!proc){&quot;,&quot;CACHED[type]=proc=compile([&quot;,a.join(&quot;,&quot;),&quot;])}&quot;,&quot;return proc(&quot;,s.join(&quot;,&quot;),&quot;)}&quot;].join(&quot;&quot;)),t.debug&amp;&amp;console.log(&quot;-----Generated thunk:\n&quot;+e.join(&quot;\n&quot;)+&quot;\n----------&quot;),new Function(&quot;compile&quot;,e.join(&quot;\n&quot;))(n.bind(void 0,t))}},{&quot;./compile.js&quot;:117}],119:[function(t,e,r){e.exports=t(&quot;cwise-compiler&quot;)},{&quot;cwise-compiler&quot;:116}],120:[function(t,e,r){!function(t,n){n(&quot;object&quot;==typeof r&amp;&amp;void 0!==e?r:t.d3=t.d3||{})}(this,function(t){&quot;use strict&quot;;function e(t,e){return[t,e]}function r(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&gt;=0?(a&gt;=b?10:a&gt;=_?5:a&gt;=w?2:1)*Math.pow(10,i):-Math.pow(10,-i)/(a&gt;=b?10:a&gt;=_?5:a&gt;=w?2:1)}function n(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&gt;=b?i*=10:a&gt;=_?i*=5:a&gt;=w&amp;&amp;(i*=2),e&lt;t?-i:i}function i(t){return t.length}var a=function(t,e){return t&lt;e?-1:t&gt;e?1:t&gt;=e?0:NaN},o=function(t){return 1===t.length&amp;&amp;(t=function(t){return function(e,r){return a(t(e),r)}}(t)),{left:function(e,r,n,i){for(null==n&amp;&amp;(n=0),null==i&amp;&amp;(i=e.length);n&lt;i;){var a=n+i&gt;&gt;&gt;1;t(e[a],r)&lt;0?n=a+1:i=a}return n},right:function(e,r,n,i){for(null==n&amp;&amp;(n=0),null==i&amp;&amp;(i=e.length);n&lt;i;){var a=n+i&gt;&gt;&gt;1;t(e[a],r)&gt;0?i=a:n=a+1}return n}}},s=o(a),l=s.right,c=s.left,u=function(t){return null===t?NaN:+t},f=function(t,e){var r,n,i=t.length,a=0,o=-1,s=0,l=0;if(null==e)for(;++o&lt;i;)isNaN(r=u(t[o]))||(l+=(n=r-s)*(r-(s+=n/++a)));else for(;++o&lt;i;)isNaN(r=u(e(t[o],o,t)))||(l+=(n=r-s)*(r-(s+=n/++a)));if(a&gt;1)return l/(a-1)},h=function(t,e){var r=f(t,e);return r?Math.sqrt(r):r},d=function(t,e){var r,n,i,a=t.length,o=-1;if(null==e){for(;++o&lt;a;)if(null!=(r=t[o])&amp;&amp;r&gt;=r)for(n=i=r;++o&lt;a;)null!=(r=t[o])&amp;&amp;(n&gt;r&amp;&amp;(n=r),i&lt;r&amp;&amp;(i=r))}else for(;++o&lt;a;)if(null!=(r=e(t[o],o,t))&amp;&amp;r&gt;=r)for(n=i=r;++o&lt;a;)null!=(r=e(t[o],o,t))&amp;&amp;(n&gt;r&amp;&amp;(n=r),i&lt;r&amp;&amp;(i=r));return[n,i]},p=Array.prototype,m=p.slice,g=p.map,v=function(t){return function(){return t}},y=function(t){return t},x=function(t,e,r){t=+t,e=+e,r=(i=arguments.length)&lt;2?(e=t,t=0,1):i&lt;3?1:+r;for(var n=-1,i=0|Math.max(0,Math.ceil((e-t)/r)),a=new Array(i);++n&lt;i;)a[n]=t+n*r;return a},b=Math.sqrt(50),_=Math.sqrt(10),w=Math.sqrt(2),M=function(t){return Math.ceil(Math.log(t.length)/Math.LN2)+1},k=function(t,e,r){if(null==r&amp;&amp;(r=u),n=t.length){if((e=+e)&lt;=0||n&lt;2)return+r(t[0],0,t);if(e&gt;=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)}},A=function(t,e){var r,n,i=t.length,a=-1;if(null==e){for(;++a&lt;i;)if(null!=(r=t[a])&amp;&amp;r&gt;=r)for(n=r;++a&lt;i;)null!=(r=t[a])&amp;&amp;n&gt;r&amp;&amp;(n=r)}else for(;++a&lt;i;)if(null!=(r=e(t[a],a,t))&amp;&amp;r&gt;=r)for(n=r;++a&lt;i;)null!=(r=e(t[a],a,t))&amp;&amp;n&gt;r&amp;&amp;(n=r);return n},T=function(t){if(!(a=t.length))return[];for(var e=-1,r=A(t,i),n=new Array(r);++e&lt;r;)for(var a,o=-1,s=n[e]=new Array(a);++o&lt;a;)s[o]=t[o][e];return n};t.bisect=l,t.bisectRight=l,t.bisectLeft=c,t.ascending=a,t.bisector=o,t.cross=function(t,r,n){var i,a,o,s,l=t.length,c=r.length,u=new Array(l*c);for(null==n&amp;&amp;(n=e),i=o=0;i&lt;l;++i)for(s=t[i],a=0;a&lt;c;++a,++o)u[o]=n(s,r[a]);return u},t.descending=function(t,e){return e&lt;t?-1:e&gt;t?1:e&gt;=t?0:NaN},t.deviation=h,t.extent=d,t.histogram=function(){function t(t){var a,o,s=t.length,c=new Array(s);for(a=0;a&lt;s;++a)c[a]=e(t[a],a,t);var u=r(c),f=u[0],h=u[1],d=i(c,f,h);Array.isArray(d)||(d=n(f,h,d),d=x(Math.ceil(f/d)*d,Math.floor(h/d)*d,d));for(var p=d.length;d[0]&lt;=f;)d.shift(),--p;for(;d[p-1]&gt;h;)d.pop(),--p;var m,g=new Array(p+1);for(a=0;a&lt;=p;++a)(m=g[a]=[]).x0=a&gt;0?d[a-1]:f,m.x1=a&lt;p?d[a]:h;for(a=0;a&lt;s;++a)f&lt;=(o=c[a])&amp;&amp;o&lt;=h&amp;&amp;g[l(d,o,0,p)].push(t[a]);return g}var e=y,r=d,i=M;return t.value=function(r){return arguments.length?(e=&quot;function&quot;==typeof r?r:v(r),t):e},t.domain=function(e){return arguments.length?(r=&quot;function&quot;==typeof e?e:v([e[0],e[1]]),t):r},t.thresholds=function(e){return arguments.length?(i=&quot;function&quot;==typeof e?e:v(Array.isArray(e)?m.call(e):e),t):i},t},t.thresholdFreedmanDiaconis=function(t,e,r){return t=g.call(t,u).sort(a),Math.ceil((r-e)/(2*(k(t,.75)-k(t,.25))*Math.pow(t.length,-1/3)))},t.thresholdScott=function(t,e,r){return Math.ceil((r-e)/(3.5*h(t)*Math.pow(t.length,-1/3)))},t.thresholdSturges=M,t.max=function(t,e){var r,n,i=t.length,a=-1;if(null==e){for(;++a&lt;i;)if(null!=(r=t[a])&amp;&amp;r&gt;=r)for(n=r;++a&lt;i;)null!=(r=t[a])&amp;&amp;r&gt;n&amp;&amp;(n=r)}else for(;++a&lt;i;)if(null!=(r=e(t[a],a,t))&amp;&amp;r&gt;=r)for(n=r;++a&lt;i;)null!=(r=e(t[a],a,t))&amp;&amp;r&gt;n&amp;&amp;(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&lt;n;)isNaN(r=u(t[a]))?--i:o+=r;else for(;++a&lt;n;)isNaN(r=u(e(t[a],a,t)))?--i:o+=r;if(i)return o/i},t.median=function(t,e){var r,n=t.length,i=-1,o=[];if(null==e)for(;++i&lt;n;)isNaN(r=u(t[i]))||o.push(r);else for(;++i&lt;n;)isNaN(r=u(e(t[i],i,t)))||o.push(r);return k(o.sort(a),.5)},t.merge=function(t){for(var e,r,n,i=t.length,a=-1,o=0;++a&lt;i;)o+=t[a].length;for(r=new Array(o);--i&gt;=0;)for(e=(n=t[i]).length;--e&gt;=0;)r[--o]=n[e];return r},t.min=A,t.pairs=function(t,r){null==r&amp;&amp;(r=e);for(var n=0,i=t.length-1,a=t[0],o=new Array(i&lt;0?0:i);n&lt;i;)o[n]=r(a,a=t[++n]);return o},t.permute=function(t,e){for(var r=e.length,n=new Array(r);r--;)n[r]=t[e[r]];return n},t.quantile=k,t.range=x,t.scan=function(t,e){if(r=t.length){var r,n,i=0,o=0,s=t[o];for(null==e&amp;&amp;(e=a);++i&lt;r;)(e(n=t[i],s)&lt;0||0!==e(s,s))&amp;&amp;(s=n,o=i);return 0===e(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&lt;n;)(r=+t[i])&amp;&amp;(a+=r);else for(;++i&lt;n;)(r=+e(t[i],i,t))&amp;&amp;(a+=r);return a},t.ticks=function(t,e,n){var i,a,o,s=e&lt;t,l=-1;if(s&amp;&amp;(i=t,t=e,e=i),0===(o=r(t,e,n))||!isFinite(o))return[];if(o&gt;0)for(t=Math.ceil(t/o),e=Math.floor(e/o),a=new Array(i=Math.ceil(e-t+1));++l&lt;i;)a[l]=(t+l)*o;else for(t=Math.floor(t*o),e=Math.ceil(e*o),a=new Array(i=Math.ceil(t-e+1));++l&lt;i;)a[l]=(t-l)/o;return s&amp;&amp;a.reverse(),a},t.tickIncrement=r,t.tickStep=n,t.transpose=T,t.variance=f,t.zip=function(){return T(arguments)},Object.defineProperty(t,&quot;__esModule&quot;,{value:!0})})},{}],121:[function(t,e,r){!function(t,n){n(&quot;object&quot;==typeof r&amp;&amp;void 0!==e?r:t.d3=t.d3||{})}(this,function(t){&quot;use strict&quot;;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&lt;o;)n.set(a,t[a]);else for(;++a&lt;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(){}function l(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&lt;i;)r.add(t[n]);else for(;++n&lt;i;)r.add(e(t[n],n,t))}return r}e.prototype=r.prototype={constructor:e,has:function(t){return&quot;$&quot;+t in this},get:function(t){return this[&quot;$&quot;+t]},set:function(t,e){return this[&quot;$&quot;+t]=e,this},remove:function(t){var e=&quot;$&quot;+t;return e in this&amp;&amp;delete this[e]},clear:function(){for(var t in this)&quot;$&quot;===t[0]&amp;&amp;delete this[t]},keys:function(){var t=[];for(var e in this)&quot;$&quot;===e[0]&amp;&amp;t.push(e.slice(1));return t},values:function(){var t=[];for(var e in this)&quot;$&quot;===e[0]&amp;&amp;t.push(this[e]);return t},entries:function(){var t=[];for(var e in this)&quot;$&quot;===e[0]&amp;&amp;t.push({key:e.slice(1),value:this[e]});return t},size:function(){var t=0;for(var e in this)&quot;$&quot;===e[0]&amp;&amp;++t;return t},empty:function(){for(var t in this)if(&quot;$&quot;===t[0])return!1;return!0},each:function(t){for(var e in this)&quot;$&quot;===e[0]&amp;&amp;t(this[e],e.slice(1),this)}};var c=r.prototype;s.prototype=l.prototype={constructor:s,has:c.has,add:function(t){return t+=&quot;&quot;,this[&quot;$&quot;+t]=t,this},remove:c.remove,clear:c.clear,values:c.keys,size:c.size,empty:c.empty,each:c.each};t.nest=function(){function t(e,n,i,a){if(n&gt;=u.length)return null!=l?l(e):null!=s?e.sort(s):e;for(var o,c,f,h=-1,d=e.length,p=u[n++],m=r(),g=i();++h&lt;d;)(f=m.get(o=p(c=e[h])+&quot;&quot;))?f.push(c):m.set(o,[c]);return m.each(function(e,r){a(g,r,t(e,n,i,a))}),g}function e(t,r){if(++r&gt;u.length)return t;var n,i=f[r-1];return null!=l&amp;&amp;r&gt;=u.length?n=t.entries():(n=[],t.each(function(t,i){n.push({key:i,values:e(t,r)})})),null!=i?n.sort(function(t,e){return i(t.key,e.key)}):n}var s,l,c,u=[],f=[];return c={object:function(e){return t(e,0,n,i)},map:function(e){return t(e,0,a,o)},entries:function(r){return e(t(r,0,a,o),0)},key:function(t){return u.push(t),c},sortKeys:function(t){return f[u.length-1]=t,c},sortValues:function(t){return s=t,c},rollup:function(t){return l=t,c}}},t.set=l,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,&quot;__esModule&quot;,{value:!0})})},{}],122:[function(t,e,r){!function(t,n){n(&quot;object&quot;==typeof r&amp;&amp;void 0!==e?r:t.d3=t.d3||{})}(this,function(t){&quot;use strict&quot;;function e(t,e){var r=Object.create(t.prototype);for(var n in e)r[n]=e[n];return r}function r(){}function n(t){var e;return t=(t+&quot;&quot;).trim().toLowerCase(),(e=E.exec(t))?(e=parseInt(e[1],16),new l(e&gt;&gt;8&amp;15|e&gt;&gt;4&amp;240,e&gt;&gt;4&amp;15|240&amp;e,(15&amp;e)&lt;&lt;4|15&amp;e,1)):(e=L.exec(t))?i(parseInt(e[1],16)):(e=C.exec(t))?new l(e[1],e[2],e[3],1):(e=z.exec(t))?new l(255*e[1]/100,255*e[2]/100,255*e[3]/100,1):(e=D.exec(t))?a(e[1],e[2],e[3],e[4]):(e=I.exec(t))?a(255*e[1]/100,255*e[2]/100,255*e[3]/100,e[4]):(e=P.exec(t))?c(e[1],e[2]/100,e[3]/100,1):(e=O.exec(t))?c(e[1],e[2]/100,e[3]/100,e[4]):F.hasOwnProperty(t)?i(F[t]):&quot;transparent&quot;===t?new l(NaN,NaN,NaN,0):null}function i(t){return new l(t&gt;&gt;16&amp;255,t&gt;&gt;8&amp;255,255&amp;t,1)}function a(t,e,r,n){return n&lt;=0&amp;&amp;(t=e=r=NaN),new l(t,e,r,n)}function o(t){return t instanceof r||(t=n(t)),t?(t=t.rgb(),new l(t.r,t.g,t.b,t.opacity)):new l}function s(t,e,r,n){return 1===arguments.length?o(t):new l(t,e,r,null==n?1:n)}function l(t,e,r,n){this.r=+t,this.g=+e,this.b=+r,this.opacity=+n}function c(t,e,r,n){return n&lt;=0?t=e=r=NaN:r&lt;=0||r&gt;=1?t=e=NaN:e&lt;=0&amp;&amp;(t=NaN),new f(t,e,r,n)}function u(t,e,i,a){return 1===arguments.length?function(t){if(t instanceof f)return new f(t.h,t.s,t.l,t.opacity);if(t instanceof r||(t=n(t)),!t)return new f;if(t instanceof f)return t;var e=(t=t.rgb()).r/255,i=t.g/255,a=t.b/255,o=Math.min(e,i,a),s=Math.max(e,i,a),l=NaN,c=s-o,u=(s+o)/2;return c?(l=e===s?(i-a)/c+6*(i&lt;a):i===s?(a-e)/c+2:(e-i)/c+4,c/=u&lt;.5?s+o:2-s-o,l*=60):c=u&gt;0&amp;&amp;u&lt;1?0:l,new f(l,c,u,t.opacity)}(t):new f(t,e,i,null==a?1:a)}function f(t,e,r,n){this.h=+t,this.s=+e,this.l=+r,this.opacity=+n}function h(t,e,r){return 255*(t&lt;60?e+(r-e)*t/60:t&lt;180?r:t&lt;240?e+(r-e)*(240-t)/60:e)}function d(t){if(t instanceof m)return new m(t.l,t.a,t.b,t.opacity);if(t instanceof _){var e=t.h*R;return new m(t.l,Math.cos(e)*t.c,Math.sin(e)*t.c,t.opacity)}t instanceof l||(t=o(t));var r=x(t.r),n=x(t.g),i=x(t.b),a=g((.4124564*r+.3575761*n+.1804375*i)/j),s=g((.2126729*r+.7151522*n+.072175*i)/B);return new m(116*s-16,500*(a-s),200*(s-g((.0193339*r+.119192*n+.9503041*i)/U)),t.opacity)}function p(t,e,r,n){return 1===arguments.length?d(t):new m(t,e,r,null==n?1:n)}function m(t,e,r,n){this.l=+t,this.a=+e,this.b=+r,this.opacity=+n}function g(t){return t&gt;G?Math.pow(t,1/3):t/H+V}function v(t){return t&gt;q?t*t*t:H*(t-V)}function y(t){return 255*(t&lt;=.0031308?12.92*t:1.055*Math.pow(t,1/2.4)-.055)}function x(t){return(t/=255)&lt;=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function b(t,e,r,n){return 1===arguments.length?function(t){if(t instanceof _)return new _(t.h,t.c,t.l,t.opacity);t instanceof m||(t=d(t));var e=Math.atan2(t.b,t.a)*N;return new _(e&lt;0?e+360:e,Math.sqrt(t.a*t.a+t.b*t.b),t.l,t.opacity)}(t):new _(t,e,r,null==n?1:n)}function _(t,e,r,n){this.h=+t,this.c=+e,this.l=+r,this.opacity=+n}function w(t,e,r,n){return 1===arguments.length?function(t){if(t instanceof M)return new M(t.h,t.s,t.l,t.opacity);t instanceof l||(t=o(t));var e=t.r/255,r=t.g/255,n=t.b/255,i=(K*n+Z*e-J*r)/(K+Z-J),a=n-i,s=(X*(r-i)-Y*a)/W,c=Math.sqrt(s*s+a*a)/(X*i*(1-i)),u=c?Math.atan2(s,a)*N-120:NaN;return new M(u&lt;0?u+360:u,c,i,t.opacity)}(t):new M(t,e,r,null==n?1:n)}function M(t,e,r,n){this.h=+t,this.s=+e,this.l=+r,this.opacity=+n}var k=function(t,e,r){t.prototype=e.prototype=r,r.constructor=t},A=&quot;\\s*([+-]?\\d+)\\s*&quot;,T=&quot;\\s*([+-]?\\d*\\.?\\d+(?:[eE][+-]?\\d+)?)\\s*&quot;,S=&quot;\\s*([+-]?\\d*\\.?\\d+(?:[eE][+-]?\\d+)?)%\\s*&quot;,E=/^#([0-9a-f]{3})$/,L=/^#([0-9a-f]{6})$/,C=new RegExp(&quot;^rgb\\(&quot;+[A,A,A]+&quot;\\)$&quot;),z=new RegExp(&quot;^rgb\\(&quot;+[S,S,S]+&quot;\\)$&quot;),D=new RegExp(&quot;^rgba\\(&quot;+[A,A,A,T]+&quot;\\)$&quot;),I=new RegExp(&quot;^rgba\\(&quot;+[S,S,S,T]+&quot;\\)$&quot;),P=new RegExp(&quot;^hsl\\(&quot;+[T,S,S]+&quot;\\)$&quot;),O=new RegExp(&quot;^hsla\\(&quot;+[T,S,S,T]+&quot;\\)$&quot;),F={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};k(r,n,{displayable:function(){return this.rgb().displayable()},toString:function(){return this.rgb()+&quot;&quot;}}),k(l,s,e(r,{brighter:function(t){return t=null==t?1/.7:Math.pow(1/.7,t),new l(this.r*t,this.g*t,this.b*t,this.opacity)},darker:function(t){return t=null==t?.7:Math.pow(.7,t),new l(this.r*t,this.g*t,this.b*t,this.opacity)},rgb:function(){return this},displayable:function(){return 0&lt;=this.r&amp;&amp;this.r&lt;=255&amp;&amp;0&lt;=this.g&amp;&amp;this.g&lt;=255&amp;&amp;0&lt;=this.b&amp;&amp;this.b&lt;=255&amp;&amp;0&lt;=this.opacity&amp;&amp;this.opacity&lt;=1},toString:function(){var t=this.opacity;return(1===(t=isNaN(t)?1:Math.max(0,Math.min(1,t)))?&quot;rgb(&quot;:&quot;rgba(&quot;)+Math.max(0,Math.min(255,Math.round(this.r)||0))+&quot;, &quot;+Math.max(0,Math.min(255,Math.round(this.g)||0))+&quot;, &quot;+Math.max(0,Math.min(255,Math.round(this.b)||0))+(1===t?&quot;)&quot;:&quot;, &quot;+t+&quot;)&quot;)}})),k(f,u,e(r,{brighter:function(t){return t=null==t?1/.7:Math.pow(1/.7,t),new f(this.h,this.s,this.l*t,this.opacity)},darker:function(t){return t=null==t?.7:Math.pow(.7,t),new f(this.h,this.s,this.l*t,this.opacity)},rgb:function(){var t=this.h%360+360*(this.h&lt;0),e=isNaN(t)||isNaN(this.s)?0:this.s,r=this.l,n=r+(r&lt;.5?r:1-r)*e,i=2*r-n;return new l(h(t&gt;=240?t-240:t+120,i,n),h(t,i,n),h(t&lt;120?t+240:t-120,i,n),this.opacity)},displayable:function(){return(0&lt;=this.s&amp;&amp;this.s&lt;=1||isNaN(this.s))&amp;&amp;0&lt;=this.l&amp;&amp;this.l&lt;=1&amp;&amp;0&lt;=this.opacity&amp;&amp;this.opacity&lt;=1}}));var R=Math.PI/180,N=180/Math.PI,j=.95047,B=1,U=1.08883,V=4/29,q=6/29,H=3*q*q,G=q*q*q;k(m,p,e(r,{brighter:function(t){return new m(this.l+18*(null==t?1:t),this.a,this.b,this.opacity)},darker:function(t){return new m(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 t=B*v(t),e=j*v(e),r=U*v(r),new l(y(3.2404542*e-1.5371385*t-.4985314*r),y(-.969266*e+1.8760108*t+.041556*r),y(.0556434*e-.2040259*t+1.0572252*r),this.opacity)}})),k(_,b,e(r,{brighter:function(t){return new _(this.h,this.c,this.l+18*(null==t?1:t),this.opacity)},darker:function(t){return new _(this.h,this.c,this.l-18*(null==t?1:t),this.opacity)},rgb:function(){return d(this).rgb()}}));var Y=-.29227,W=-.90649,X=1.97294,Z=X*W,J=1.78277*X,K=1.78277*Y- -.14861*W;k(M,w,e(r,{brighter:function(t){return t=null==t?1/.7:Math.pow(1/.7,t),new M(this.h,this.s,this.l*t,this.opacity)},darker:function(t){return t=null==t?.7:Math.pow(.7,t),new M(this.h,this.s,this.l*t,this.opacity)},rgb:function(){var t=isNaN(this.h)?0:(this.h+120)*R,e=+this.l,r=isNaN(this.s)?0:this.s*e*(1-e),n=Math.cos(t),i=Math.sin(t);return new l(255*(e+r*(-.14861*n+1.78277*i)),255*(e+r*(Y*n+W*i)),255*(e+r*(X*n)),this.opacity)}})),t.color=n,t.rgb=s,t.hsl=u,t.lab=p,t.hcl=b,t.cubehelix=w,Object.defineProperty(t,&quot;__esModule&quot;,{value:!0})})},{}],123:[function(t,e,r){!function(t,n){n(&quot;object&quot;==typeof r&amp;&amp;void 0!==e?r:t.d3=t.d3||{})}(this,function(t){&quot;use strict&quot;;function e(){for(var t,e=0,n=arguments.length,i={};e&lt;n;++e){if(!(t=arguments[e]+&quot;&quot;)||t in i)throw new Error(&quot;illegal type: &quot;+t);i[t]=[]}return new r(i)}function r(t){this._=t}function n(t,e,r){for(var n=0,a=t.length;n&lt;a;++n)if(t[n].name===e){t[n]=i,t=t.slice(0,n).concat(t.slice(n+1));break}return null!=r&amp;&amp;t.push({name:e,value:r}),t}var i={value:function(){}};r.prototype=e.prototype={constructor:r,on:function(t,e){var r,i=this._,a=function(t,e){return t.trim().split(/^|\s+/).map(function(t){var r=&quot;&quot;,n=t.indexOf(&quot;.&quot;);if(n&gt;=0&amp;&amp;(r=t.slice(n+1),t=t.slice(0,n)),t&amp;&amp;!e.hasOwnProperty(t))throw new Error(&quot;unknown type: &quot;+t);return{type:t,name:r}})}(t+&quot;&quot;,i),o=-1,s=a.length;if(!(arguments.length&lt;2)){if(null!=e&amp;&amp;&quot;function&quot;!=typeof e)throw new Error(&quot;invalid callback: &quot;+e);for(;++o&lt;s;)if(r=(t=a[o]).type)i[r]=n(i[r],t.name,e);else if(null==e)for(r in i)i[r]=n(i[r],t.name,null);return this}for(;++o&lt;s;)if((r=(t=a[o]).type)&amp;&amp;(r=function(t,e){for(var r,n=0,i=t.length;n&lt;i;++n)if((r=t[n]).name===e)return r.value}(i[r],t.name)))return r},copy:function(){var t={},e=this._;for(var n in e)t[n]=e[n].slice();return new r(t)},call:function(t,e){if((r=arguments.length-2)&gt;0)for(var r,n,i=new Array(r),a=0;a&lt;r;++a)i[a]=arguments[a+2];if(!this._.hasOwnProperty(t))throw new Error(&quot;unknown type: &quot;+t);for(a=0,r=(n=this._[t]).length;a&lt;r;++a)n[a].value.apply(e,i)},apply:function(t,e,r){if(!this._.hasOwnProperty(t))throw new Error(&quot;unknown type: &quot;+t);for(var n=this._[t],i=0,a=n.length;i&lt;a;++i)n[i].value.apply(e,r)}},t.dispatch=e,Object.defineProperty(t,&quot;__esModule&quot;,{value:!0})})},{}],124:[function(t,e,r){!function(n,i){&quot;object&quot;==typeof r&amp;&amp;void 0!==e?i(r,t(&quot;d3-quadtree&quot;),t(&quot;d3-collection&quot;),t(&quot;d3-dispatch&quot;),t(&quot;d3-timer&quot;)):i(n.d3=n.d3||{},n.d3,n.d3,n.d3,n.d3)}(this,function(t,e,r,n,i){&quot;use strict&quot;;function a(t){return t.x+t.vx}function o(t){return t.y+t.vy}function s(t){return t.index}function l(t,e){var r=t.get(e);if(!r)throw new Error(&quot;missing: &quot;+e);return r}function c(t){return t.x}function u(t){return t.y}var f=function(t){return function(){return t}},h=function(){return 1e-6*(Math.random()-.5)},d=10,p=Math.PI*(3-Math.sqrt(5));t.forceCenter=function(t,e){function r(){var r,i,a=n.length,o=0,s=0;for(r=0;r&lt;a;++r)o+=(i=n[r]).x,s+=i.y;for(o=o/a-t,s=s/a-e,r=0;r&lt;a;++r)(i=n[r]).x-=o,i.y-=s}var n;return null==t&amp;&amp;(t=0),null==e&amp;&amp;(e=0),r.initialize=function(t){n=t},r.x=function(e){return arguments.length?(t=+e,r):t},r.y=function(t){return arguments.length?(e=+t,r):e},r},t.forceCollide=function(t){function r(){function t(t,e,r,n,i){var a=t.data,o=t.r,s=m+o;if(!a)return e&gt;d+s||n&lt;d-s||r&gt;p+s||i&lt;p-s;if(a.index&gt;f.index){var l=d-a.x-a.vx,u=p-a.y-a.vy,v=l*l+u*u;v&lt;s*s&amp;&amp;(0===l&amp;&amp;(l=h(),v+=l*l),0===u&amp;&amp;(u=h(),v+=u*u),v=(s-(v=Math.sqrt(v)))/v*c,f.vx+=(l*=v)*(s=(o*=o)/(g+o)),f.vy+=(u*=v)*s,a.vx-=l*(s=1-s),a.vy-=u*s)}}for(var r,i,f,d,p,m,g,v=s.length,y=0;y&lt;u;++y)for(i=e.quadtree(s,a,o).visitAfter(n),r=0;r&lt;v;++r)f=s[r],m=l[f.index],g=m*m,d=f.x+f.vx,p=f.y+f.vy,i.visit(t)}function n(t){if(t.data)return t.r=l[t.data.index];for(var e=t.r=0;e&lt;4;++e)t[e]&amp;&amp;t[e].r&gt;t.r&amp;&amp;(t.r=t[e].r)}function i(){if(s){var e,r,n=s.length;for(l=new Array(n),e=0;e&lt;n;++e)r=s[e],l[r.index]=+t(r,e,s)}}var s,l,c=1,u=1;return&quot;function&quot;!=typeof t&amp;&amp;(t=f(null==t?1:+t)),r.initialize=function(t){s=t,i()},r.iterations=function(t){return arguments.length?(u=+t,r):u},r.strength=function(t){return arguments.length?(c=+t,r):c},r.radius=function(e){return arguments.length?(t=&quot;function&quot;==typeof e?e:f(+e),i(),r):t},r},t.forceLink=function(t){function e(e){for(var r=0,n=t.length;r&lt;y;++r)for(var i,a,s,l,u,f,d,m=0;m&lt;n;++m)a=(i=t[m]).source,l=(s=i.target).x+s.vx-a.x-a.vx||h(),u=s.y+s.vy-a.y-a.vy||h(),l*=f=((f=Math.sqrt(l*l+u*u))-c[m])/f*e*o[m],u*=f,s.vx-=l*(d=p[m]),s.vy-=u*d,a.vx+=l*(d=1-d),a.vy+=u*d}function n(){if(u){var e,n,s=u.length,f=t.length,h=r.map(u,m);for(e=0,d=new Array(s);e&lt;f;++e)(n=t[e]).index=e,&quot;object&quot;!=typeof n.source&amp;&amp;(n.source=l(h,n.source)),&quot;object&quot;!=typeof n.target&amp;&amp;(n.target=l(h,n.target)),d[n.source.index]=(d[n.source.index]||0)+1,d[n.target.index]=(d[n.target.index]||0)+1;for(e=0,p=new Array(f);e&lt;f;++e)n=t[e],p[e]=d[n.source.index]/(d[n.source.index]+d[n.target.index]);o=new Array(f),i(),c=new Array(f),a()}}function i(){if(u)for(var e=0,r=t.length;e&lt;r;++e)o[e]=+g(t[e],e,t)}function a(){if(u)for(var e=0,r=t.length;e&lt;r;++e)c[e]=+v(t[e],e,t)}var o,c,u,d,p,m=s,g=function(t){return 1/Math.min(d[t.source.index],d[t.target.index])},v=f(30),y=1;return null==t&amp;&amp;(t=[]),e.initialize=function(t){u=t,n()},e.links=function(r){return arguments.length?(t=r,n(),e):t},e.id=function(t){return arguments.length?(m=t,e):m},e.iterations=function(t){return arguments.length?(y=+t,e):y},e.strength=function(t){return arguments.length?(g=&quot;function&quot;==typeof t?t:f(+t),i(),e):g},e.distance=function(t){return arguments.length?(v=&quot;function&quot;==typeof t?t:f(+t),a(),e):v},e},t.forceManyBody=function(){function t(t){var r,l=a.length,f=e.quadtree(a,c,u).visitAfter(n);for(s=t,r=0;r&lt;l;++r)o=a[r],f.visit(i)}function r(){if(a){var t,e,r=a.length;for(l=new Array(r),t=0;t&lt;r;++t)e=a[t],l[e.index]=+d(e,t,a)}}function n(t){var e,r,n,i,a,o=0;if(t.length){for(n=i=a=0;a&lt;4;++a)(e=t[a])&amp;&amp;(r=e.value)&amp;&amp;(o+=r,n+=r*e.x,i+=r*e.y);t.x=n/o,t.y=i/o}else{(e=t).x=e.data.x,e.y=e.data.y;do{o+=l[e.data.index]}while(e=e.next)}t.value=o}function i(t,e,r,n){if(!t.value)return!0;var i=t.x-o.x,a=t.y-o.y,c=n-e,u=i*i+a*a;if(c*c/g&lt;u)return u&lt;m&amp;&amp;(0===i&amp;&amp;(i=h(),u+=i*i),0===a&amp;&amp;(a=h(),u+=a*a),u&lt;p&amp;&amp;(u=Math.sqrt(p*u)),o.vx+=i*t.value*s/u,o.vy+=a*t.value*s/u),!0;if(!(t.length||u&gt;=m)){(t.data!==o||t.next)&amp;&amp;(0===i&amp;&amp;(i=h(),u+=i*i),0===a&amp;&amp;(a=h(),u+=a*a),u&lt;p&amp;&amp;(u=Math.sqrt(p*u)));do{t.data!==o&amp;&amp;(c=l[t.data.index]*s/u,o.vx+=i*c,o.vy+=a*c)}while(t=t.next)}}var a,o,s,l,d=f(-30),p=1,m=1/0,g=.81;return t.initialize=function(t){a=t,r()},t.strength=function(e){return arguments.length?(d=&quot;function&quot;==typeof e?e:f(+e),r(),t):d},t.distanceMin=function(e){return arguments.length?(p=e*e,t):Math.sqrt(p)},t.distanceMax=function(e){return arguments.length?(m=e*e,t):Math.sqrt(m)},t.theta=function(e){return arguments.length?(g=e*e,t):Math.sqrt(g)},t},t.forceSimulation=function(t){function e(){a(),y.call(&quot;tick&quot;,l),c&lt;u&amp;&amp;(v.stop(),y.call(&quot;end&quot;,l))}function a(){var e,r,n=t.length;for(c+=(h-c)*f,g.each(function(t){t(c)}),e=0;e&lt;n;++e)null==(r=t[e]).fx?r.x+=r.vx*=m:(r.x=r.fx,r.vx=0),null==r.fy?r.y+=r.vy*=m:(r.y=r.fy,r.vy=0)}function o(){for(var e,r=0,n=t.length;r&lt;n;++r){if(e=t[r],e.index=r,isNaN(e.x)||isNaN(e.y)){var i=d*Math.sqrt(r),a=r*p;e.x=i*Math.cos(a),e.y=i*Math.sin(a)}(isNaN(e.vx)||isNaN(e.vy))&amp;&amp;(e.vx=e.vy=0)}}function s(e){return e.initialize&amp;&amp;e.initialize(t),e}var l,c=1,u=.001,f=1-Math.pow(u,1/300),h=0,m=.6,g=r.map(),v=i.timer(e),y=n.dispatch(&quot;tick&quot;,&quot;end&quot;);return null==t&amp;&amp;(t=[]),o(),l={tick:a,restart:function(){return v.restart(e),l},stop:function(){return v.stop(),l},nodes:function(e){return arguments.length?(t=e,o(),g.each(s),l):t},alpha:function(t){return arguments.length?(c=+t,l):c},alphaMin:function(t){return arguments.length?(u=+t,l):u},alphaDecay:function(t){return arguments.length?(f=+t,l):+f},alphaTarget:function(t){return arguments.length?(h=+t,l):h},velocityDecay:function(t){return arguments.length?(m=1-t,l):1-m},force:function(t,e){return arguments.length&gt;1?(null==e?g.remove(t):g.set(t,s(e)),l):g.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&lt;u;++c)(o=(i=e-(s=t[c]).x)*i+(a=r-s.y)*a)&lt;n&amp;&amp;(l=s,n=o);return l},on:function(t,e){return arguments.length&gt;1?(y.on(t,e),l):y.on(t)}}},t.forceX=function(t){function e(t){for(var e,r=0,o=n.length;r&lt;o;++r)(e=n[r]).vx+=(a[r]-e.x)*i[r]*t}function r(){if(n){var e,r=n.length;for(i=new Array(r),a=new Array(r),e=0;e&lt;r;++e)i[e]=isNaN(a[e]=+t(n[e],e,n))?0:+o(n[e],e,n)}}var n,i,a,o=f(.1);return&quot;function&quot;!=typeof t&amp;&amp;(t=f(null==t?0:+t)),e.initialize=function(t){n=t,r()},e.strength=function(t){return arguments.length?(o=&quot;function&quot;==typeof t?t:f(+t),r(),e):o},e.x=function(n){return arguments.length?(t=&quot;function&quot;==typeof n?n:f(+n),r(),e):t},e},t.forceY=function(t){function e(t){for(var e,r=0,o=n.length;r&lt;o;++r)(e=n[r]).vy+=(a[r]-e.y)*i[r]*t}function r(){if(n){var e,r=n.length;for(i=new Array(r),a=new Array(r),e=0;e&lt;r;++e)i[e]=isNaN(a[e]=+t(n[e],e,n))?0:+o(n[e],e,n)}}var n,i,a,o=f(.1);return&quot;function&quot;!=typeof t&amp;&amp;(t=f(null==t?0:+t)),e.initialize=function(t){n=t,r()},e.strength=function(t){return arguments.length?(o=&quot;function&quot;==typeof t?t:f(+t),r(),e):o},e.y=function(n){return arguments.length?(t=&quot;function&quot;==typeof n?n:f(+n),r(),e):t},e},Object.defineProperty(t,&quot;__esModule&quot;,{value:!0})})},{&quot;d3-collection&quot;:121,&quot;d3-dispatch&quot;:123,&quot;d3-quadtree&quot;:126,&quot;d3-timer&quot;:127}],125:[function(t,e,r){!function(n,i){&quot;object&quot;==typeof r&amp;&amp;void 0!==e?i(r,t(&quot;d3-color&quot;)):i(n.d3=n.d3||{},n.d3)}(this,function(t,e){&quot;use strict&quot;;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,e){return function(r){return t+r*e}}function i(t,e){var r=e-t;return r?n(t,r&gt;180||r&lt;-180?r-360*Math.round(r/360):r):x(isNaN(t)?e:t)}function a(t){return 1==(t=+t)?o: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):x(isNaN(e)?r:e)}}function o(t,e){var r=e-t;return r?n(t,r):x(isNaN(t)?e:t)}function s(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&lt;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+&quot;&quot;}}}function l(t,e,r,n){function i(t){return t.length?t.pop()+&quot; &quot;:&quot;&quot;}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(&quot;translate(&quot;,null,e,null,r);s.push({i:l-4,x:A(t,i)},{i:l-2,x:A(n,a)})}else(i||a)&amp;&amp;o.push(&quot;translate(&quot;+i+e+a+r)}(a.translateX,a.translateY,o.translateX,o.translateY,s,l),function(t,e,r,a){t!==e?(t-e&gt;180?e+=360:e-t&gt;180&amp;&amp;(t+=360),a.push({i:r.push(i(r)+&quot;rotate(&quot;,null,n)-2,x:A(t,e)})):e&amp;&amp;r.push(i(r)+&quot;rotate(&quot;+e+n)}(a.rotate,o.rotate,s,l),function(t,e,r,a){t!==e?a.push({i:r.push(i(r)+&quot;skewX(&quot;,null,n)-2,x:A(t,e)}):e&amp;&amp;r.push(i(r)+&quot;skewX(&quot;+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)+&quot;scale(&quot;,null,&quot;,&quot;,null,&quot;)&quot;);o.push({i:s-4,x:A(t,r)},{i:s-2,x:A(e,n)})}else 1===r&amp;&amp;1===n||a.push(i(a)+&quot;scale(&quot;+r+&quot;,&quot;+n+&quot;)&quot;)}(a.scaleX,a.scaleY,o.scaleX,o.scaleY,s,l),a=o=null,function(t){for(var e,r=-1,n=l.length;++r&lt;n;)s[(e=l[r]).i]=e.x(t);return s.join(&quot;&quot;)}}}function c(t){return((t=Math.exp(t))+1/t)/2}function u(t){return function(r,n){var i=t((r=e.hsl(r)).h,(n=e.hsl(n)).h),a=o(r.s,n.s),s=o(r.l,n.l),l=o(r.opacity,n.opacity);return function(t){return r.h=i(t),r.s=a(t),r.l=s(t),r.opacity=l(t),r+&quot;&quot;}}}function f(t){return function(r,n){var i=t((r=e.hcl(r)).h,(n=e.hcl(n)).h),a=o(r.c,n.c),s=o(r.l,n.l),l=o(r.opacity,n.opacity);return function(t){return r.h=i(t),r.c=a(t),r.l=s(t),r.opacity=l(t),r+&quot;&quot;}}}function h(t){return function r(n){function i(r,i){var a=t((r=e.cubehelix(r)).h,(i=e.cubehelix(i)).h),s=o(r.s,i.s),l=o(r.l,i.l),c=o(r.opacity,i.opacity);return function(t){return r.h=a(t),r.s=s(t),r.l=l(Math.pow(t,n)),r.opacity=c(t),r+&quot;&quot;}}return n=+n,i.gamma=r,i}(1)}var d,p,m,g,v=function(t){var e=t.length-1;return function(n){var i=n&lt;=0?n=0:n&gt;=1?(n=1,e-1):Math.floor(n*e),a=t[i],o=t[i+1],s=i&gt;0?t[i-1]:2*a-o,l=i&lt;e-1?t[i+2]:2*o-a;return r((n-i/e)*e,s,a,o,l)}},y=function(t){var e=t.length;return function(n){var i=Math.floor(((n%=1)&lt;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)}},x=function(t){return function(){return t}},b=function t(r){function n(t,r){var n=i((t=e.rgb(t)).r,(r=e.rgb(r)).r),a=i(t.g,r.g),s=i(t.b,r.b),l=o(t.opacity,r.opacity);return function(e){return t.r=n(e),t.g=a(e),t.b=s(e),t.opacity=l(e),t+&quot;&quot;}}var i=a(r);return n.gamma=t,n}(1),_=s(v),w=s(y),M=function(t,e){var r,n=e?e.length:0,i=t?Math.min(n,t.length):0,a=new Array(n),o=new Array(n);for(r=0;r&lt;i;++r)a[r]=C(t[r],e[r]);for(;r&lt;n;++r)o[r]=e[r];return function(t){for(r=0;r&lt;i;++r)o[r]=a[r](t);return o}},k=function(t,e){var r=new Date;return t=+t,e-=t,function(n){return r.setTime(t+e*n),r}},A=function(t,e){return t=+t,e-=t,function(r){return t+e*r}},T=function(t,e){var r,n={},i={};null!==t&amp;&amp;&quot;object&quot;==typeof t||(t={}),null!==e&amp;&amp;&quot;object&quot;==typeof e||(e={});for(r in e)r in t?n[r]=C(t[r],e[r]):i[r]=e[r];return function(t){for(r in n)i[r]=n[r](t);return i}},S=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,E=new RegExp(S.source,&quot;g&quot;),L=function(t,e){var r,n,i,a=S.lastIndex=E.lastIndex=0,o=-1,s=[],l=[];for(t+=&quot;&quot;,e+=&quot;&quot;;(r=S.exec(t))&amp;&amp;(n=E.exec(e));)(i=n.index)&gt;a&amp;&amp;(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:A(r,n)})),a=E.lastIndex;return a&lt;e.length&amp;&amp;(i=e.slice(a),s[o]?s[o]+=i:s[++o]=i),s.length&lt;2?l[0]?function(t){return function(e){return t(e)+&quot;&quot;}}(l[0].x):function(t){return function(){return t}}(e):(e=l.length,function(t){for(var r,n=0;n&lt;e;++n)s[(r=l[n]).i]=r.x(t);return s.join(&quot;&quot;)})},C=function(t,r){var n,i=typeof r;return null==r||&quot;boolean&quot;===i?x(r):(&quot;number&quot;===i?A:&quot;string&quot;===i?(n=e.color(r))?(r=n,b):L:r instanceof e.color?b:r instanceof Date?k:Array.isArray(r)?M:isNaN(r)?T:A)(t,r)},z=180/Math.PI,D={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1},I=function(t,e,r,n,i,a){var o,s,l;return(o=Math.sqrt(t*t+e*e))&amp;&amp;(t/=o,e/=o),(l=t*r+e*n)&amp;&amp;(r-=t*l,n-=e*l),(s=Math.sqrt(r*r+n*n))&amp;&amp;(r/=s,n/=s,l/=s),t*n&lt;e*r&amp;&amp;(t=-t,e=-e,l=-l,o=-o),{translateX:i,translateY:a,rotate:Math.atan2(e,t)*z,skewX:Math.atan(l)*z,scaleX:o,scaleY:s}},P=l(function(t){return&quot;none&quot;===t?D:(d||(d=document.createElement(&quot;DIV&quot;),p=document.documentElement,m=document.defaultView),d.style.transform=t,t=m.getComputedStyle(p.appendChild(d),null).getPropertyValue(&quot;transform&quot;),p.removeChild(d),t=t.slice(7,-1).split(&quot;,&quot;),I(+t[0],+t[1],+t[2],+t[3],+t[4],+t[5]))},&quot;px, &quot;,&quot;px)&quot;,&quot;deg)&quot;),O=l(function(t){return null==t?D:(g||(g=document.createElementNS(&quot;http://www.w3.org/2000/svg&quot;,&quot;g&quot;)),g.setAttribute(&quot;transform&quot;,t),(t=g.transform.baseVal.consolidate())?(t=t.matrix,I(t.a,t.b,t.c,t.d,t.e,t.f)):D)},&quot;, &quot;,&quot;)&quot;,&quot;)&quot;),F=Math.SQRT2,R=u(i),N=u(o),j=f(i),B=f(o),U=h(i),V=h(o);t.interpolate=C,t.interpolateArray=M,t.interpolateBasis=v,t.interpolateBasisClosed=y,t.interpolateDate=k,t.interpolateNumber=A,t.interpolateObject=T,t.interpolateRound=function(t,e){return t=+t,e-=t,function(r){return Math.round(t+e*r)}},t.interpolateString=L,t.interpolateTransformCss=P,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],u=e[2],f=s-i,h=l-a,d=f*f+h*h;if(d&lt;1e-12)n=Math.log(u/o)/F,r=function(t){return[i+t*f,a+t*h,o*Math.exp(F*t*n)]};else{var p=Math.sqrt(d),m=(u*u-o*o+4*d)/(2*o*2*p),g=(u*u-o*o-4*d)/(2*u*2*p),v=Math.log(Math.sqrt(m*m+1)-m),y=Math.log(Math.sqrt(g*g+1)-g);n=(y-v)/F,r=function(t){var e=t*n,r=c(v),s=o/(2*p)*(r*function(t){return((t=Math.exp(2*t))-1)/(t+1)}(F*e+v)-function(t){return((t=Math.exp(t))-1/t)/2}(v));return[i+s*f,a+s*h,o*r/c(F*e+v)]}}return r.duration=1e3*n,r},t.interpolateRgb=b,t.interpolateRgbBasis=_,t.interpolateRgbBasisClosed=w,t.interpolateHsl=R,t.interpolateHslLong=N,t.interpolateLab=function(t,r){var n=o((t=e.lab(t)).l,(r=e.lab(r)).l),i=o(t.a,r.a),a=o(t.b,r.b),s=o(t.opacity,r.opacity);return function(e){return t.l=n(e),t.a=i(e),t.b=a(e),t.opacity=s(e),t+&quot;&quot;}},t.interpolateHcl=j,t.interpolateHclLong=B,t.interpolateCubehelix=U,t.interpolateCubehelixLong=V,t.quantize=function(t,e){for(var r=new Array(e),n=0;n&lt;e;++n)r[n]=t(n/(e-1));return r},Object.defineProperty(t,&quot;__esModule&quot;,{value:!0})})},{&quot;d3-color&quot;:122}],126:[function(t,e,r){!function(t,n){n(&quot;object&quot;==typeof r&amp;&amp;void 0!==e?r:t.d3=t.d3||{})}(this,function(t){&quot;use strict&quot;;function e(t,e,r,n){if(isNaN(e)||isNaN(r))return t;var i,a,o,s,l,c,u,f,h,d=t._root,p={data:n},m=t._x0,g=t._y0,v=t._x1,y=t._y1;if(!d)return t._root=p,t;for(;d.length;)if((c=e&gt;=(a=(m+v)/2))?m=a:v=a,(u=r&gt;=(o=(g+y)/2))?g=o:y=o,i=d,!(d=d[f=u&lt;&lt;1|c]))return i[f]=p,t;if(s=+t._x.call(null,d.data),l=+t._y.call(null,d.data),e===s&amp;&amp;r===l)return p.next=d,i?i[f]=p:t._root=p,t;do{i=i?i[f]=new Array(4):t._root=new Array(4),(c=e&gt;=(a=(m+v)/2))?m=a:v=a,(u=r&gt;=(o=(g+y)/2))?g=o:y=o}while((f=u&lt;&lt;1|c)==(h=(l&gt;=o)&lt;&lt;1|s&gt;=a));return i[h]=d,i[f]=p,t}function r(t,e,r){var i=new n(null==e?function(t){return t[0]}:e,null==r?function(t){return t[1]}:r,NaN,NaN,NaN,NaN);return null==t?i:i.addAll(t)}function n(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 i(t){for(var e={data:t.data},r=e;t=t.next;)r=r.next={data:t.data};return e}var a=function(t,e,r,n,i){this.node=t,this.x0=e,this.y0=r,this.x1=n,this.y1=i},o=r.prototype=n.prototype;o.copy=function(){var t,e,r=new n(this._x,this._y,this._x0,this._y0,this._x1,this._y1),a=this._root;if(!a)return r;if(!a.length)return r._root=i(a),r;for(t=[{source:a,target:r._root=new Array(4)}];a=t.pop();)for(var o=0;o&lt;4;++o)(e=a.source[o])&amp;&amp;(e.length?t.push({source:e,target:a.target[o]=new Array(4)}):a.target[o]=i(e));return r},o.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)},o.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&lt;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&lt;c&amp;&amp;(c=i),i&gt;f&amp;&amp;(f=i),a&lt;u&amp;&amp;(u=a),a&gt;h&amp;&amp;(h=a));for(f&lt;c&amp;&amp;(c=this._x0,f=this._x1),h&lt;u&amp;&amp;(u=this._y0,h=this._y1),this.cover(c,u).cover(f,h),n=0;n&lt;o;++n)e(this,s[n],l[n],t[n]);return this},o.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{if(!(r&gt;t||t&gt;i||n&gt;e||e&gt;a))return this;var o,s,l=i-r,c=this._root;switch(s=(e&lt;(n+a)/2)&lt;&lt;1|t&lt;(r+i)/2){case 0:do{o=new Array(4),o[s]=c,c=o}while(l*=2,i=r+l,a=n+l,t&gt;i||e&gt;a);break;case 1:do{o=new Array(4),o[s]=c,c=o}while(l*=2,r=i-l,a=n+l,r&gt;t||e&gt;a);break;case 2:do{o=new Array(4),o[s]=c,c=o}while(l*=2,i=r+l,n=a-l,t&gt;i||n&gt;e);break;case 3:do{o=new Array(4),o[s]=c,c=o}while(l*=2,r=i-l,n=a-l,r&gt;t||n&gt;e)}this._root&amp;&amp;this._root.length&amp;&amp;(this._root=c)}return this._x0=r,this._y0=n,this._x1=i,this._y1=a,this},o.data=function(){var t=[];return this.visit(function(e){if(!e.length)do{t.push(e.data)}while(e=e.next)}),t},o.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]]},o.find=function(t,e,r){var n,i,o,s,l,c,u,f=this._x0,h=this._y0,d=this._x1,p=this._y1,m=[],g=this._root;for(g&amp;&amp;m.push(new a(g,f,h,d,p)),null==r?r=1/0:(f=t-r,h=e-r,d=t+r,p=e+r,r*=r);c=m.pop();)if(!(!(g=c.node)||(i=c.x0)&gt;d||(o=c.y0)&gt;p||(s=c.x1)&lt;f||(l=c.y1)&lt;h))if(g.length){var v=(i+s)/2,y=(o+l)/2;m.push(new a(g[3],v,y,s,l),new a(g[2],i,y,v,l),new a(g[1],v,o,s,y),new a(g[0],i,o,v,y)),(u=(e&gt;=y)&lt;&lt;1|t&gt;=v)&amp;&amp;(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(_&lt;r){var w=Math.sqrt(r=_);f=t-w,h=e-w,d=t+w,p=e+w,n=g.data}}return n},o.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,d=this._root,p=this._x0,m=this._y0,g=this._x1,v=this._y1;if(!d)return this;if(d.length)for(;;){if((c=a&gt;=(s=(p+g)/2))?p=s:g=s,(u=o&gt;=(l=(m+v)/2))?m=l:v=l,e=d,!(d=d[f=u&lt;&lt;1|c]))return this;if(!d.length)break;(e[f+1&amp;3]||e[f+2&amp;3]||e[f+3&amp;3])&amp;&amp;(r=e,h=f)}for(;d.data!==t;)if(n=d,!(d=d.next))return this;return(i=d.next)&amp;&amp;delete d.next,n?(i?n.next=i:delete n.next,this):e?(i?e[f]=i:delete e[f],(d=e[0]||e[1]||e[2]||e[3])&amp;&amp;d===(e[3]||e[2]||e[1]||e[0])&amp;&amp;!d.length&amp;&amp;(r?r[h]=d:this._root=d),this):(this._root=i,this)},o.removeAll=function(t){for(var e=0,r=t.length;e&lt;r;++e)this.remove(t[e]);return this},o.root=function(){return this._root},o.size=function(){var t=0;return this.visit(function(e){if(!e.length)do{++t}while(e=e.next)}),t},o.visit=function(t){var e,r,n,i,o,s,l=[],c=this._root;for(c&amp;&amp;l.push(new a(c,this._x0,this._y0,this._x1,this._y1));e=l.pop();)if(!t(c=e.node,n=e.x0,i=e.y0,o=e.x1,s=e.y1)&amp;&amp;c.length){var u=(n+o)/2,f=(i+s)/2;(r=c[3])&amp;&amp;l.push(new a(r,u,f,o,s)),(r=c[2])&amp;&amp;l.push(new a(r,n,f,u,s)),(r=c[1])&amp;&amp;l.push(new a(r,u,i,o,f)),(r=c[0])&amp;&amp;l.push(new a(r,n,i,u,f))}return this},o.visitAfter=function(t){var e,r=[],n=[];for(this._root&amp;&amp;r.push(new a(this._root,this._x0,this._y0,this._x1,this._y1));e=r.pop();){var i=e.node;if(i.length){var o,s=e.x0,l=e.y0,c=e.x1,u=e.y1,f=(s+c)/2,h=(l+u)/2;(o=i[0])&amp;&amp;r.push(new a(o,s,l,f,h)),(o=i[1])&amp;&amp;r.push(new a(o,f,l,c,h)),(o=i[2])&amp;&amp;r.push(new a(o,s,h,f,u)),(o=i[3])&amp;&amp;r.push(new a(o,f,h,c,u))}n.push(e)}for(;e=n.pop();)t(e.node,e.x0,e.y0,e.x1,e.y1);return this},o.x=function(t){return arguments.length?(this._x=t,this):this._x},o.y=function(t){return arguments.length?(this._y=t,this):this._y},t.quadtree=r,Object.defineProperty(t,&quot;__esModule&quot;,{value:!0})})},{}],127:[function(t,e,r){!function(t,n){n(&quot;object&quot;==typeof r&amp;&amp;void 0!==e?r:t.d3=t.d3||{})}(this,function(t){&quot;use strict&quot;;function e(){return g||(x(r),g=y.now()+v)}function r(){g=0}function n(){this._call=this._time=this._next=null}function i(t,e,r){var i=new n;return i.restart(t,e,r),i}function a(){e(),++f;for(var t,r=c;r;)(t=g-r._time)&gt;=0&amp;&amp;r._call.call(null,t),r=r._next;--f}function o(){g=(m=y.now())+v,f=h=0;try{a()}finally{f=0,function(){var t,e,r=c,n=1/0;for(;r;)r._call?(n&gt;r._time&amp;&amp;(n=r._time),t=r,r=r._next):(e=r._next,r._next=null,r=t?t._next=e:c=e);u=t,l(n)}(),g=0}}function s(){var t=y.now(),e=t-m;e&gt;p&amp;&amp;(v-=e,m=t)}function l(t){if(!f){h&amp;&amp;(h=clearTimeout(h));var e=t-g;e&gt;24?(t&lt;1/0&amp;&amp;(h=setTimeout(o,e)),d&amp;&amp;(d=clearInterval(d))):(d||(m=g,d=setInterval(s,p)),f=1,x(o))}}var c,u,f=0,h=0,d=0,p=1e3,m=0,g=0,v=0,y=&quot;object&quot;==typeof performance&amp;&amp;performance.now?performance:Date,x=&quot;function&quot;==typeof requestAnimationFrame?requestAnimationFrame:function(t){setTimeout(t,17)};n.prototype=i.prototype={constructor:n,restart:function(t,r,n){if(&quot;function&quot;!=typeof t)throw new TypeError(&quot;callback is not a function&quot;);n=(null==n?e():+n)+(null==r?0:+r),this._next||u===this||(u?u._next=this:c=this,u=this),this._call=t,this._time=n,l()},stop:function(){this._call&amp;&amp;(this._call=null,this._time=1/0,l())}};t.now=e,t.timer=i,t.timerFlush=a,t.timeout=function(t,e,r){var i=new n;return e=null==e?0:+e,i.restart(function(r){i.stop(),t(r+e)},e,r),i},t.interval=function(t,r,i){var a=new n,o=r;return null==r?(a.restart(t,r,i),a):(r=+r,i=null==i?e():+i,a.restart(function e(n){n+=o,a.restart(e,o+=r,i),t(n)},r,i),a)},Object.defineProperty(t,&quot;__esModule&quot;,{value:!0})})},{}],128:[function(t,e,r){!function(){function t(t){return t&amp;&amp;(t.ownerDocument||t.document||t).documentElement}function r(t){return t&amp;&amp;(t.ownerDocument&amp;&amp;t.ownerDocument.defaultView||t.document&amp;&amp;t||t.defaultView)}function n(t,e){return t&lt;e?-1:t&gt;e?1:t&gt;=e?0:NaN}function i(t){return null===t?NaN:+t}function a(t){return!isNaN(t)}function o(t){return{left:function(e,r,n,i){for(arguments.length&lt;3&amp;&amp;(n=0),arguments.length&lt;4&amp;&amp;(i=e.length);n&lt;i;){var a=n+i&gt;&gt;&gt;1;t(e[a],r)&lt;0?n=a+1:i=a}return n},right:function(e,r,n,i){for(arguments.length&lt;3&amp;&amp;(n=0),arguments.length&lt;4&amp;&amp;(i=e.length);n&lt;i;){var a=n+i&gt;&gt;&gt;1;t(e[a],r)&gt;0?i=a:n=a+1}return n}}}function s(t){return t.length}function l(t,e){for(var r in e)Object.defineProperty(t.prototype,r,{value:e[r],enumerable:!1})}function c(){this._=Object.create(null)}function u(t){return(t+=&quot;&quot;)===oa||t[0]===sa?sa+t:t}function f(t){return(t+=&quot;&quot;)[0]===sa?t.slice(1):t}function h(t){return u(t)in this._}function d(t){return(t=u(t))in this._&amp;&amp;delete this._[t]}function p(){var t=[];for(var e in this._)t.push(f(e));return t}function m(){var t=0;for(var e in this._)++t;return t}function g(){for(var t in this._)return!1;return!0}function v(){this._=Object.create(null)}function y(t){return t}function x(t,e){if(e in t)return e;e=e.charAt(0).toUpperCase()+e.slice(1);for(var r=0,n=la.length;r&lt;n;++r){var i=la[r]+e;if(i in t)return i}}function b(){}function _(){}function w(t){function e(){for(var e,n=r,i=-1,a=n.length;++i&lt;a;)(e=n[i].on)&amp;&amp;e.apply(this,arguments);return t}var r=[],n=new c;return e.on=function(e,i){var a,o=n.get(e);return arguments.length&lt;2?o&amp;&amp;o.on:(o&amp;&amp;(o.on=null,r=r.slice(0,a=r.indexOf(o)).concat(r.slice(a+1)),n.remove(e)),i&amp;&amp;r.push(n.set(e,{on:i})),t)},e}function M(){Zi.event.preventDefault()}function k(){for(var t,e=Zi.event;t=e.sourceEvent;)e=t;return e}function A(t){for(var e=new _,r=0,n=arguments.length;++r&lt;n;)e[arguments[r]]=w(e);return e.of=function(r,n){return function(i){try{var a=i.sourceEvent=Zi.event;i.target=t,Zi.event=i,e[i.type].apply(r,n)}finally{Zi.event=a}}},e}function T(t){return ua(t,pa),t}function S(t){return&quot;function&quot;==typeof t?t:function(){return fa(t,this)}}function E(t){return&quot;function&quot;==typeof t?t:function(){return ha(t,this)}}function L(t,e){return t=Zi.ns.qualify(t),null==e?t.local?function(){this.removeAttributeNS(t.space,t.local)}:function(){this.removeAttribute(t)}:&quot;function&quot;==typeof e?t.local?function(){var r=e.apply(this,arguments);null==r?this.removeAttributeNS(t.space,t.local):this.setAttributeNS(t.space,t.local,r)}:function(){var r=e.apply(this,arguments);null==r?this.removeAttribute(t):this.setAttribute(t,r)}:t.local?function(){this.setAttributeNS(t.space,t.local,e)}:function(){this.setAttribute(t,e)}}function C(t){return t.trim().replace(/\s+/g,&quot; &quot;)}function z(t){return new RegExp(&quot;(?:^|\\s+)&quot;+Zi.requote(t)+&quot;(?:\\s+|$)&quot;,&quot;g&quot;)}function D(t){return(t+&quot;&quot;).trim().split(/^|\s+/)}function I(t,e){var r=(t=D(t).map(P)).length;return&quot;function&quot;==typeof e?function(){for(var n=-1,i=e.apply(this,arguments);++n&lt;r;)t[n](this,i)}:function(){for(var n=-1;++n&lt;r;)t[n](this,e)}}function P(t){var e=z(t);return function(r,n){if(i=r.classList)return n?i.add(t):i.remove(t);var i=r.getAttribute(&quot;class&quot;)||&quot;&quot;;n?(e.lastIndex=0,e.test(i)||r.setAttribute(&quot;class&quot;,C(i+&quot; &quot;+t))):r.setAttribute(&quot;class&quot;,C(i.replace(e,&quot; &quot;)))}}function O(t,e,r){return null==e?function(){this.style.removeProperty(t)}:&quot;function&quot;==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 F(t,e){return null==e?function(){delete this[t]}:&quot;function&quot;==typeof e?function(){var r=e.apply(this,arguments);null==r?delete this[t]:this[t]=r}:function(){this[t]=e}}function R(t){return&quot;function&quot;==typeof t?t:(t=Zi.ns.qualify(t)).local?function(){return this.ownerDocument.createElementNS(t.space,t.local)}:function(){var e=this.ownerDocument,r=this.namespaceURI;return r===ma&amp;&amp;e.documentElement.namespaceURI===ma?e.createElement(t):e.createElementNS(r,t)}}function N(){var t=this.parentNode;t&amp;&amp;t.removeChild(this)}function j(t){return{__data__:t}}function B(t){return function(){return da(this,t)}}function U(t,e){for(var r=0,n=t.length;r&lt;n;r++)for(var i,a=t[r],o=0,s=a.length;o&lt;s;o++)(i=a[o])&amp;&amp;e(i,o,r);return t}function V(t){return ua(t,va),t}function q(t,e,r){function n(){var e=this[i];e&amp;&amp;(this.removeEventListener(t,e,e.$),delete this[i])}var i=&quot;__on&quot;+t,a=t.indexOf(&quot;.&quot;),o=H;a&gt;0&amp;&amp;(t=t.slice(0,a));var s=ya.get(t);return s&amp;&amp;(t=s,o=G),a?e?function(){var a=o(e,Ki(arguments));n.call(this),this.addEventListener(t,this[i]=a,a.$=r),a._=e}:n:e?b:function(){var e,r=new RegExp(&quot;^__on([^.]+)&quot;+Zi.requote(t)+&quot;$&quot;);for(var n in this)if(e=n.match(r)){var i=this[n];this.removeEventListener(e[1],i,i.$),delete this[n]}}}function H(t,e){return function(r){var n=Zi.event;Zi.event=r,e[0]=this.__data__;try{t.apply(this,e)}finally{Zi.event=n}}}function G(t,e){var r=H(t,e);return function(t){var e=t.relatedTarget;e&amp;&amp;(e===this||8&amp;e.compareDocumentPosition(this))||r.call(this,t)}}function Y(e){var n=&quot;.dragsuppress-&quot;+ ++ba,i=&quot;click&quot;+n,a=Zi.select(r(e)).on(&quot;touchmove&quot;+n,M).on(&quot;dragstart&quot;+n,M).on(&quot;selectstart&quot;+n,M);if(null==xa&amp;&amp;(xa=!(&quot;onselectstart&quot;in e)&amp;&amp;x(e.style,&quot;userSelect&quot;)),xa){var o=t(e).style,s=o[xa];o[xa]=&quot;none&quot;}return function(t){if(a.on(n,null),xa&amp;&amp;(o[xa]=s),t){var e=function(){a.on(i,null)};a.on(i,function(){M(),e()},!0),setTimeout(e,0)}}}function W(t,e){e.changedTouches&amp;&amp;(e=e.changedTouches[0]);var n=t.ownerSVGElement||t;if(n.createSVGPoint){var i=n.createSVGPoint();if(_a&lt;0){var a=r(t);if(a.scrollX||a.scrollY){var o=(n=Zi.select(&quot;body&quot;).append(&quot;svg&quot;).style({position:&quot;absolute&quot;,top:0,left:0,margin:0,padding:0,border:&quot;none&quot;},&quot;important&quot;))[0][0].getScreenCTM();_a=!(o.f||o.e),n.remove()}}return _a?(i.x=e.pageX,i.y=e.pageY):(i.x=e.clientX,i.y=e.clientY),i=i.matrixTransform(t.getScreenCTM().inverse()),[i.x,i.y]}var s=t.getBoundingClientRect();return[e.clientX-s.left-t.clientLeft,e.clientY-s.top-t.clientTop]}function X(){return Zi.event.changedTouches[0].identifier}function Z(t){return t&gt;0?1:t&lt;0?-1:0}function J(t,e,r){return(e[0]-t[0])*(r[1]-t[1])-(e[1]-t[1])*(r[0]-t[0])}function K(t){return t&gt;1?0:t&lt;-1?ka:Math.acos(t)}function Q(t){return t&gt;1?Sa:t&lt;-1?-Sa:Math.asin(t)}function $(t){return((t=Math.exp(t))+1/t)/2}function tt(t){return(t=Math.sin(t/2))*t}function et(){}function rt(t,e,r){return this instanceof rt?(this.h=+t,this.s=+e,void(this.l=+r)):arguments.length&lt;2?t instanceof rt?new rt(t.h,t.s,t.l):gt(&quot;&quot;+t,vt,rt):new rt(t,e,r)}function nt(t,e,r){function n(t){return Math.round(255*function(t){return t&gt;360?t-=360:t&lt;0&amp;&amp;(t+=360),t&lt;60?i+(a-i)*t/60:t&lt;180?a:t&lt;240?i+(a-i)*(240-t)/60:i}(t))}var i,a;return t=isNaN(t)?0:(t%=360)&lt;0?t+360:t,e=isNaN(e)?0:e&lt;0?0:e&gt;1?1:e,r=r&lt;0?0:r&gt;1?1:r,a=r&lt;=.5?r*(1+e):r+e-r*e,i=2*r-a,new ht(n(t+120),n(t),n(t-120))}function it(t,e,r){return this instanceof it?(this.h=+t,this.c=+e,void(this.l=+r)):arguments.length&lt;2?t instanceof it?new it(t.h,t.c,t.l):t instanceof ot?lt(t.l,t.a,t.b):lt((t=yt((t=Zi.rgb(t)).r,t.g,t.b)).l,t.a,t.b):new it(t,e,r)}function at(t,e,r){return isNaN(t)&amp;&amp;(t=0),isNaN(e)&amp;&amp;(e=0),new ot(r,Math.cos(t*=Ea)*e,Math.sin(t)*e)}function ot(t,e,r){return this instanceof ot?(this.l=+t,this.a=+e,void(this.b=+r)):arguments.length&lt;2?t instanceof ot?new ot(t.l,t.a,t.b):t instanceof it?at(t.h,t.c,t.l):yt((t=ht(t)).r,t.g,t.b):new ot(t,e,r)}function st(t,e,r){var n=(t+16)/116,i=n+e/500,a=n-r/200;return i=ct(i)*Ra,n=ct(n)*Na,a=ct(a)*ja,new ht(ft(3.2404542*i-1.5371385*n-.4985314*a),ft(-.969266*i+1.8760108*n+.041556*a),ft(.0556434*i-.2040259*n+1.0572252*a))}function lt(t,e,r){return t&gt;0?new it(Math.atan2(r,e)*La,Math.sqrt(e*e+r*r),t):new it(NaN,NaN,t)}function ct(t){return t&gt;.206893034?t*t*t:(t-4/29)/7.787037}function ut(t){return t&gt;.008856?Math.pow(t,1/3):7.787037*t+4/29}function ft(t){return Math.round(255*(t&lt;=.00304?12.92*t:1.055*Math.pow(t,1/2.4)-.055))}function ht(t,e,r){return this instanceof ht?(this.r=~~t,this.g=~~e,void(this.b=~~r)):arguments.length&lt;2?t instanceof ht?new ht(t.r,t.g,t.b):gt(&quot;&quot;+t,ht,nt):new ht(t,e,r)}function dt(t){return new ht(t&gt;&gt;16,t&gt;&gt;8&amp;255,255&amp;t)}function pt(t){return dt(t)+&quot;&quot;}function mt(t){return t&lt;16?&quot;0&quot;+Math.max(0,t).toString(16):Math.min(255,t).toString(16)}function gt(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(&quot;,&quot;),n[1]){case&quot;hsl&quot;:return r(parseFloat(i[0]),parseFloat(i[1])/100,parseFloat(i[2])/100);case&quot;rgb&quot;:return e(bt(i[0]),bt(i[1]),bt(i[2]))}return(a=Va.get(t))?e(a.r,a.g,a.b):(null==t||&quot;#&quot;!==t.charAt(0)||isNaN(a=parseInt(t.slice(1),16))||(4===t.length?(o=(3840&amp;a)&gt;&gt;4,o|=o&gt;&gt;4,s=240&amp;a,s|=s&gt;&gt;4,l=15&amp;a,l|=l&lt;&lt;4):7===t.length&amp;&amp;(o=(16711680&amp;a)&gt;&gt;16,s=(65280&amp;a)&gt;&gt;8,l=255&amp;a)),e(o,s,l))}function vt(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&lt;.5?s/(o+a):s/(2-o-a),n=t==o?(e-r)/s+(e&lt;r?6:0):e==o?(r-t)/s+2:(t-e)/s+4,n*=60):(n=NaN,i=l&gt;0&amp;&amp;l&lt;1?0:n),new rt(n,i,l)}function yt(t,e,r){var n=ut((.4124564*(t=xt(t))+.3575761*(e=xt(e))+.1804375*(r=xt(r)))/Ra),i=ut((.2126729*t+.7151522*e+.072175*r)/Na);return ot(116*i-16,500*(n-i),200*(i-ut((.0193339*t+.119192*e+.9503041*r)/ja)))}function xt(t){return(t/=255)&lt;=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function bt(t){var e=parseFloat(t);return&quot;%&quot;===t.charAt(t.length-1)?Math.round(2.55*e):e}function _t(t){return&quot;function&quot;==typeof t?t:function(){return t}}function wt(t){return function(e,r,n){return 2===arguments.length&amp;&amp;&quot;function&quot;==typeof r&amp;&amp;(n=r,r=null),Mt(e,r,t,n)}}function Mt(t,e,r,n){function i(){var t,e=l.status;if(!e&amp;&amp;function(t){var e=t.responseType;return e&amp;&amp;&quot;text&quot;!==e?t.response:t.responseText}(l)||e&gt;=200&amp;&amp;e&lt;300||304===e){try{t=r.call(a,l)}catch(t){return void o.error.call(a,t)}o.load.call(a,t)}else o.error.call(a,l)}var a={},o=Zi.dispatch(&quot;beforesend&quot;,&quot;progress&quot;,&quot;load&quot;,&quot;error&quot;),s={},l=new XMLHttpRequest,c=null;return!this.XDomainRequest||&quot;withCredentials&quot;in l||!/^(http(s)?:)?\/\//.test(t)||(l=new XDomainRequest),&quot;onload&quot;in l?l.onload=l.onerror=i:l.onreadystatechange=function(){l.readyState&gt;3&amp;&amp;i()},l.onprogress=function(t){var e=Zi.event;Zi.event=t;try{o.progress.call(a,l)}finally{Zi.event=e}},a.header=function(t,e){return t=(t+&quot;&quot;).toLowerCase(),arguments.length&lt;2?s[t]:(null==e?delete s[t]:s[t]=e+&quot;&quot;,a)},a.mimeType=function(t){return arguments.length?(e=null==t?null:t+&quot;&quot;,a):e},a.responseType=function(t){return arguments.length?(c=t,a):c},a.response=function(t){return r=t,a},[&quot;get&quot;,&quot;post&quot;].forEach(function(t){a[t]=function(){return a.send.apply(a,[t].concat(Ki(arguments)))}}),a.send=function(r,n,i){if(2===arguments.length&amp;&amp;&quot;function&quot;==typeof n&amp;&amp;(i=n,n=null),l.open(r,t,!0),null==e||&quot;accept&quot;in s||(s.accept=e+&quot;,*/*&quot;),l.setRequestHeader)for(var u in s)l.setRequestHeader(u,s[u]);return null!=e&amp;&amp;l.overrideMimeType&amp;&amp;l.overrideMimeType(e),null!=c&amp;&amp;(l.responseType=c),null!=i&amp;&amp;a.on(&quot;error&quot;,i).on(&quot;load&quot;,function(t){i(null,t)}),o.beforesend.call(a,l),l.send(null==n?null:n),a},a.abort=function(){return l.abort(),a},Zi.rebind(a,o,&quot;on&quot;),null==n?a:a.get(function(t){return 1===t.length?function(e,r){t(null==e?r:null)}:t}(n))}function kt(t,e,r){var n=arguments.length;n&lt;2&amp;&amp;(e=0),n&lt;3&amp;&amp;(r=Date.now());var i={c:t,t:r+e,n:null};return Ha?Ha.n=i:qa=i,Ha=i,Ga||(Ya=clearTimeout(Ya),Ga=1,Wa(At)),i}function At(){var t=Tt(),e=St()-t;e&gt;24?(isFinite(e)&amp;&amp;(clearTimeout(Ya),Ya=setTimeout(At,e)),Ga=0):(Ga=1,Wa(At))}function Tt(){for(var t=Date.now(),e=qa;e;)t&gt;=e.t&amp;&amp;e.c(t-e.t)&amp;&amp;(e.c=null),e=e.n;return t}function St(){for(var t,e=qa,r=1/0;e;)e.c?(e.t&lt;r&amp;&amp;(r=e.t),e=(t=e).n):e=t?t.n=e.n:qa=e.n;return Ha=t,r}function Et(t,e){return e-(t?Math.ceil(Math.log(t)/Math.LN10):1)}function Lt(){this._=new Date(arguments.length&gt;1?Date.UTC.apply(this,arguments):arguments[0])}function Ct(t,e,r){function n(e){var r=t(e),n=a(r,1);return e-r&lt;n-e?r:n}function i(r){return e(r=t(new Qa(r-1)),1),r}function a(t,r){return e(t=new Qa(+t),r),t}function o(t,n,a){var o=i(t),s=[];if(a&gt;1)for(;o&lt;n;)r(o)%a||s.push(new Date(+o)),e(o,1);else for(;o&lt;n;)s.push(new Date(+o)),e(o,1);return s}t.floor=t,t.round=n,t.ceil=i,t.offset=a,t.range=o;var s=t.utc=zt(t);return s.floor=s,s.round=zt(n),s.ceil=zt(i),s.offset=zt(a),s.range=function(t,e,r){try{Qa=Lt;var n=new Lt;return n._=t,o(n,e,r)}finally{Qa=Date}},t}function zt(t){return function(e,r){try{Qa=Lt;var n=new Lt;return n._=e,t(n,r)._}finally{Qa=Date}}}function Dt(t,e,r){var n=t&lt;0?&quot;-&quot;:&quot;&quot;,i=(n?-t:t)+&quot;&quot;,a=i.length;return n+(a&lt;r?new Array(r-a+1).join(e)+i:i)}function It(t){return new RegExp(&quot;^(?:&quot;+t.map(Zi.requote).join(&quot;|&quot;)+&quot;)&quot;,&quot;i&quot;)}function Pt(t){for(var e=new c,r=-1,n=t.length;++r&lt;n;)e.set(t[r].toLowerCase(),r);return e}function Ot(t,e,r){eo.lastIndex=0;var n=eo.exec(e.slice(r,r+1));return n?(t.w=+n[0],r+n[0].length):-1}function Ft(t,e,r){eo.lastIndex=0;var n=eo.exec(e.slice(r));return n?(t.U=+n[0],r+n[0].length):-1}function Rt(t,e,r){eo.lastIndex=0;var n=eo.exec(e.slice(r));return n?(t.W=+n[0],r+n[0].length):-1}function Nt(t,e,r){eo.lastIndex=0;var n=eo.exec(e.slice(r,r+4));return n?(t.y=+n[0],r+n[0].length):-1}function jt(t,e,r){eo.lastIndex=0;var n=eo.exec(e.slice(r,r+2));return n?(t.y=function(t){return t+(t&gt;68?1900:2e3)}(+n[0]),r+n[0].length):-1}function Bt(t,e,r){return/^[+-]\d{4}$/.test(e=e.slice(r,r+5))?(t.Z=-e,r+5):-1}function Ut(t,e,r){eo.lastIndex=0;var n=eo.exec(e.slice(r,r+2));return n?(t.m=n[0]-1,r+n[0].length):-1}function Vt(t,e,r){eo.lastIndex=0;var n=eo.exec(e.slice(r,r+2));return n?(t.d=+n[0],r+n[0].length):-1}function qt(t,e,r){eo.lastIndex=0;var n=eo.exec(e.slice(r,r+3));return n?(t.j=+n[0],r+n[0].length):-1}function Ht(t,e,r){eo.lastIndex=0;var n=eo.exec(e.slice(r,r+2));return n?(t.H=+n[0],r+n[0].length):-1}function Gt(t,e,r){eo.lastIndex=0;var n=eo.exec(e.slice(r,r+2));return n?(t.M=+n[0],r+n[0].length):-1}function Yt(t,e,r){eo.lastIndex=0;var n=eo.exec(e.slice(r,r+2));return n?(t.S=+n[0],r+n[0].length):-1}function Wt(t,e,r){eo.lastIndex=0;var n=eo.exec(e.slice(r,r+3));return n?(t.L=+n[0],r+n[0].length):-1}function Xt(t){var e=t.getTimezoneOffset(),r=e&gt;0?&quot;-&quot;:&quot;+&quot;,n=aa(e)/60|0,i=aa(e)%60;return r+Dt(n,&quot;0&quot;,2)+Dt(i,&quot;0&quot;,2)}function Zt(t,e,r){ro.lastIndex=0;var n=ro.exec(e.slice(r,r+1));return n?r+n[0].length:-1}function Jt(t){for(var e=t.length,r=-1;++r&lt;e;)t[r][0]=this(t[r][0]);return function(e){for(var r=0,n=t[r];!n[1](e);)n=t[++r];return n[0](e)}}function Kt(){}function Qt(t,e,r){var n=r.s=t+e,i=n-t,a=n-i;r.t=t-a+(e-i)}function $t(t,e){t&amp;&amp;oo.hasOwnProperty(t.type)&amp;&amp;oo[t.type](t,e)}function te(t,e,r){var n,i=-1,a=t.length-r;for(e.lineStart();++i&lt;a;)n=t[i],e.point(n[0],n[1],n[2]);e.lineEnd()}function ee(t,e){var r=-1,n=t.length;for(e.polygonStart();++r&lt;n;)te(t[r],e,1);e.polygonEnd()}function re(){function t(t,e){e=e*Ea/2+ka/4;var r=(t*=Ea)-n,o=r&gt;=0?1:-1,s=o*r,l=Math.cos(e),c=Math.sin(e),u=a*c,f=i*l+u*Math.cos(s),h=u*o*Math.sin(s);lo.add(Math.atan2(h,f)),n=t,i=l,a=c}var e,r,n,i,a;co.point=function(o,s){co.point=t,n=(e=o)*Ea,i=Math.cos(s=(r=s)*Ea/2+ka/4),a=Math.sin(s)},co.lineEnd=function(){t(e,r)}}function ne(t){var e=t[0],r=t[1],n=Math.cos(r);return[n*Math.cos(e),n*Math.sin(e),Math.sin(r)]}function ie(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]}function ae(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 oe(t,e){t[0]+=e[0],t[1]+=e[1],t[2]+=e[2]}function se(t,e){return[t[0]*e,t[1]*e,t[2]*e]}function le(t){var e=Math.sqrt(t[0]*t[0]+t[1]*t[1]+t[2]*t[2]);t[0]/=e,t[1]/=e,t[2]/=e}function ce(t){return[Math.atan2(t[1],t[0]),Q(t[2])]}function ue(t,e){return aa(t[0]-e[0])&lt;wa&amp;&amp;aa(t[1]-e[1])&lt;wa}function fe(t,e){t*=Ea;var r=Math.cos(e*=Ea);he(r*Math.cos(t),r*Math.sin(t),Math.sin(e))}function he(t,e,r){ho+=(t-ho)/++uo,po+=(e-po)/uo,mo+=(r-mo)/uo}function de(){function t(t,i){t*=Ea;var a=Math.cos(i*=Ea),o=a*Math.cos(t),s=a*Math.sin(t),l=Math.sin(i),c=Math.atan2(Math.sqrt((c=r*l-n*s)*c+(c=n*o-e*l)*c+(c=e*s-r*o)*c),e*o+r*s+n*l);fo+=c,go+=c*(e+(e=o)),vo+=c*(r+(r=s)),yo+=c*(n+(n=l)),he(e,r,n)}var e,r,n;wo.point=function(i,a){i*=Ea;var o=Math.cos(a*=Ea);e=o*Math.cos(i),r=o*Math.sin(i),n=Math.sin(a),wo.point=t,he(e,r,n)}}function pe(){wo.point=fe}function me(){function t(t,e){t*=Ea;var r=Math.cos(e*=Ea),o=r*Math.cos(t),s=r*Math.sin(t),l=Math.sin(e),c=i*l-a*s,u=a*o-n*l,f=n*s-i*o,h=Math.sqrt(c*c+u*u+f*f),d=n*o+i*s+a*l,p=h&amp;&amp;-K(d)/h,m=Math.atan2(h,d);xo+=p*c,bo+=p*u,_o+=p*f,fo+=m,go+=m*(n+(n=o)),vo+=m*(i+(i=s)),yo+=m*(a+(a=l)),he(n,i,a)}var e,r,n,i,a;wo.point=function(o,s){e=o,r=s,wo.point=t,o*=Ea;var l=Math.cos(s*=Ea);n=l*Math.cos(o),i=l*Math.sin(o),a=Math.sin(s),he(n,i,a)},wo.lineEnd=function(){t(e,r),wo.lineEnd=pe,wo.point=fe}}function ge(t,e){function r(r,n){return r=t(r,n),e(r[0],r[1])}return t.invert&amp;&amp;e.invert&amp;&amp;(r.invert=function(r,n){return(r=e.invert(r,n))&amp;&amp;t.invert(r[0],r[1])}),r}function ve(){return!0}function ye(t,e,r,n,i){var a=[],o=[];if(t.forEach(function(t){if(!((e=t.length-1)&lt;=0)){var e,r=t[0],n=t[e];if(ue(r,n)){i.lineStart();for(var s=0;s&lt;e;++s)i.point((r=t[s])[0],r[1]);i.lineEnd()}else{var l=new be(r,t,null,!0),c=new be(r,null,l,!1);l.o=c,a.push(l),o.push(c),c=new be(n,null,l=new be(n,t,null,!1),!0),l.o=c,a.push(l),o.push(c)}}}),o.sort(e),xe(a),xe(o),a.length){for(var s=0,l=r,c=o.length;s&lt;c;++s)o[s].e=l=!l;for(var u,f,h=a[0];;){for(var d=h,p=!0;d.v;)if((d=d.n)===h)return;u=d.z,i.lineStart();do{if(d.v=d.o.v=!0,d.e){if(p)for(s=0,c=u.length;s&lt;c;++s)i.point((f=u[s])[0],f[1]);else n(d.x,d.n.x,1,i);d=d.n}else{if(p)for(s=(u=d.p.z).length-1;s&gt;=0;--s)i.point((f=u[s])[0],f[1]);else n(d.x,d.p.x,-1,i);d=d.p}u=(d=d.o).z,p=!p}while(!d.v);i.lineEnd()}}}function xe(t){if(e=t.length){for(var e,r,n=0,i=t[0];++n&lt;e;)i.n=r=t[n],r.p=i,i=r;i.n=r=t[0],r.p=i}}function be(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 _e(t,e,r,n){return function(i,a){function o(e,r){var n=i(e,r);t(e=n[0],r=n[1])&amp;&amp;a.point(e,r)}function s(t,e){var r=i(t,e);g.point(r[0],r[1])}function l(){y.point=s,g.lineStart()}function c(){y.point=o,g.lineEnd()}function u(t,e){m.push([t,e]);var r=i(t,e);b.point(r[0],r[1])}function f(){b.lineStart(),m=[]}function h(){u(m[0][0],m[0][1]),b.lineEnd();var t,e=b.clean(),r=x.buffer(),n=r.length;if(m.pop(),p.push(m),m=null,n)if(1&amp;e){var i,o=-1;if((n=(t=r[0]).length-1)&gt;0){for(_||(a.polygonStart(),_=!0),a.lineStart();++o&lt;n;)a.point((i=t[o])[0],i[1]);a.lineEnd()}}else n&gt;1&amp;&amp;2&amp;e&amp;&amp;r.push(r.pop().concat(r.shift())),d.push(r.filter(we))}var d,p,m,g=e(a),v=i.invert(n[0],n[1]),y={point:o,lineStart:l,lineEnd:c,polygonStart:function(){y.point=u,y.lineStart=f,y.lineEnd=h,d=[],p=[]},polygonEnd:function(){y.point=o,y.lineStart=l,y.lineEnd=c,d=Zi.merge(d);var t=function(t,e){var r=t[0],n=t[1],i=[Math.sin(r),-Math.cos(r),0],a=0,o=0;lo.reset();for(var s=0,l=e.length;s&lt;l;++s){var c=e[s],u=c.length;if(u)for(var f=c[0],h=f[0],d=f[1]/2+ka/4,p=Math.sin(d),m=Math.cos(d),g=1;;){g===u&amp;&amp;(g=0);var v=(t=c[g])[0],y=t[1]/2+ka/4,x=Math.sin(y),b=Math.cos(y),_=v-h,w=_&gt;=0?1:-1,M=w*_,k=M&gt;ka,A=p*x;if(lo.add(Math.atan2(A*w*Math.sin(M),m*b+A*Math.cos(M))),a+=k?_+w*Aa:_,k^h&gt;=r^v&gt;=r){var T=ae(ne(f),ne(t));le(T);var S=ae(i,T);le(S);var E=(k^_&gt;=0?-1:1)*Q(S[2]);(n&gt;E||n===E&amp;&amp;(T[0]||T[1]))&amp;&amp;(o+=k^_&gt;=0?1:-1)}if(!g++)break;h=v,p=x,m=b,f=t}}return(a&lt;-wa||a&lt;wa&amp;&amp;lo&lt;-wa)^1&amp;o}(v,p);d.length?(_||(a.polygonStart(),_=!0),ye(d,ke,t,r,a)):t&amp;&amp;(_||(a.polygonStart(),_=!0),a.lineStart(),r(null,null,1,a),a.lineEnd()),_&amp;&amp;(a.polygonEnd(),_=!1),d=p=null},sphere:function(){a.polygonStart(),a.lineStart(),r(null,null,1,a),a.lineEnd(),a.polygonEnd()}},x=Me(),b=e(x),_=!1;return y}}function we(t){return t.length&gt;1}function Me(){var t,e=[];return{lineStart:function(){e.push(t=[])},point:function(e,r){t.push([e,r])},lineEnd:b,buffer:function(){var r=e;return e=[],t=null,r},rejoin:function(){e.length&gt;1&amp;&amp;e.push(e.pop().concat(e.shift()))}}}function ke(t,e){return((t=t.x)[0]&lt;0?t[1]-Sa-wa:Sa-t[1])-((e=e.x)[0]&lt;0?e[1]-Sa-wa:Sa-e[1])}function Ae(t,e,r,n){return function(i){var a,o=i.a,s=i.b,l=o.x,c=o.y,u=0,f=1,h=s.x-l,d=s.y-c;if(a=t-l,h||!(a&gt;0)){if(a/=h,h&lt;0){if(a&lt;u)return;a&lt;f&amp;&amp;(f=a)}else if(h&gt;0){if(a&gt;f)return;a&gt;u&amp;&amp;(u=a)}if(a=r-l,h||!(a&lt;0)){if(a/=h,h&lt;0){if(a&gt;f)return;a&gt;u&amp;&amp;(u=a)}else if(h&gt;0){if(a&lt;u)return;a&lt;f&amp;&amp;(f=a)}if(a=e-c,d||!(a&gt;0)){if(a/=d,d&lt;0){if(a&lt;u)return;a&lt;f&amp;&amp;(f=a)}else if(d&gt;0){if(a&gt;f)return;a&gt;u&amp;&amp;(u=a)}if(a=n-c,d||!(a&lt;0)){if(a/=d,d&lt;0){if(a&gt;f)return;a&gt;u&amp;&amp;(u=a)}else if(d&gt;0){if(a&lt;u)return;a&lt;f&amp;&amp;(f=a)}return u&gt;0&amp;&amp;(i.a={x:l+u*h,y:c+u*d}),f&lt;1&amp;&amp;(i.b={x:l+f*h,y:c+f*d}),i}}}}}}function Te(t,e,r,n){function i(n,i){return aa(n[0]-t)&lt;wa?i&gt;0?0:3:aa(n[0]-r)&lt;wa?i&gt;0?2:1:aa(n[1]-e)&lt;wa?i&gt;0?1:0:i&gt;0?3:2}function a(t,e){return o(t.x,e.x)}function o(t,e){var r=i(t,1),n=i(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(s){function l(a,s,l,c){var u=0,f=0;if(null==a||(u=i(a,l))!==(f=i(s,l))||o(a,s)&lt;0^l&gt;0)do{c.point(0===u||3===u?t:r,u&gt;1?n:e)}while((u=(u+l+4)%4)!==f);else c.point(s[0],s[1])}function c(i,a){return t&lt;=i&amp;&amp;i&lt;=r&amp;&amp;e&lt;=a&amp;&amp;a&lt;=n}function u(t,e){c(t,e)&amp;&amp;s.point(t,e)}function f(t,e){var r=c(t=Math.max(-ko,Math.min(ko,t)),e=Math.max(-ko,Math.min(ko,e)));if(d&amp;&amp;p.push([t,e]),_)m=t,g=e,v=r,_=!1,r&amp;&amp;(s.lineStart(),s.point(t,e));else if(r&amp;&amp;b)s.point(t,e);else{var n={a:{x:y,y:x},b:{x:t,y:e}};A(n)?(b||(s.lineStart(),s.point(n.a.x,n.a.y)),s.point(n.b.x,n.b.y),r||s.lineEnd(),w=!1):r&amp;&amp;(s.lineStart(),s.point(t,e),w=!1)}y=t,x=e,b=r}var h,d,p,m,g,v,y,x,b,_,w,M=s,k=Me(),A=Ae(t,e,r,n),T={point:u,lineStart:function(){T.point=f,d&amp;&amp;d.push(p=[]),_=!0,b=!1,y=x=NaN},lineEnd:function(){h&amp;&amp;(f(m,g),v&amp;&amp;b&amp;&amp;k.rejoin(),h.push(k.buffer())),T.point=u,b&amp;&amp;s.lineEnd()},polygonStart:function(){s=k,h=[],d=[],w=!0},polygonEnd:function(){s=M,h=Zi.merge(h);var e=function(t){for(var e=0,r=d.length,n=t[1],i=0;i&lt;r;++i)for(var a,o=1,s=d[i],l=s.length,c=s[0];o&lt;l;++o)a=s[o],c[1]&lt;=n?a[1]&gt;n&amp;&amp;J(c,a,t)&gt;0&amp;&amp;++e:a[1]&lt;=n&amp;&amp;J(c,a,t)&lt;0&amp;&amp;--e,c=a;return 0!==e}([t,n]),r=w&amp;&amp;e,i=h.length;(r||i)&amp;&amp;(s.polygonStart(),r&amp;&amp;(s.lineStart(),l(null,null,1,s),s.lineEnd()),i&amp;&amp;ye(h,a,e,l,s),s.polygonEnd()),h=d=p=null}};return T}}function Se(t){var e=0,r=ka/3,n=je(t),i=n(e,r);return i.parallels=function(t){return arguments.length?n(e=t[0]*ka/180,r=t[1]*ka/180):[e/ka*180,r/ka*180]},i}function Ee(t,e){function r(t,e){var r=Math.sqrt(a-2*i*Math.sin(e))/i;return[r*Math.sin(t*=i),o-r*Math.cos(t)]}var n=Math.sin(t),i=(n+Math.sin(e))/2,a=1+n*(2*i-n),o=Math.sqrt(a)/i;return r.invert=function(t,e){var r=o-e;return[Math.atan2(t,r)/i,Q((a-(t*t+r*r)*i*i)/(2*i))]},r}function Le(){function t(t,e){To+=i*t-n*e,n=t,i=e}var e,r,n,i;zo.point=function(a,o){zo.point=t,e=n=a,r=i=o},zo.lineEnd=function(){t(e,r)}}function Ce(t){return&quot;m0,&quot;+t+&quot;a&quot;+t+&quot;,&quot;+t+&quot; 0 1,1 0,&quot;+-2*t+&quot;a&quot;+t+&quot;,&quot;+t+&quot; 0 1,1 0,&quot;+2*t+&quot;z&quot;}function ze(t,e){ho+=t,po+=e,++mo}function De(){function t(t,n){var i=t-e,a=n-r,o=Math.sqrt(i*i+a*a);go+=o*(e+t)/2,vo+=o*(r+n)/2,yo+=o,ze(e=t,r=n)}var e,r;Io.point=function(n,i){Io.point=t,ze(e=n,r=i)}}function Ie(){Io.point=ze}function Pe(){function t(t,e){var r=t-n,a=e-i,o=Math.sqrt(r*r+a*a);go+=o*(n+t)/2,vo+=o*(i+e)/2,yo+=o,xo+=(o=i*t-n*e)*(n+t),bo+=o*(i+e),_o+=3*o,ze(n=t,i=e)}var e,r,n,i;Io.point=function(a,o){Io.point=t,ze(e=n=a,r=i=o)},Io.lineEnd=function(){t(e,r)}}function Oe(t){function e(e){return(a?function(e){function n(r,n){r=t(r,n),e.point(r[0],r[1])}function i(){x=NaN,k.point=o,e.lineStart()}function o(n,i){var o=ne([n,i]),s=t(n,i);r(x,b,y,_,w,M,x=s[0],b=s[1],y=n,_=o[0],w=o[1],M=o[2],a,e),e.point(x,b)}function s(){k.point=n,e.lineEnd()}function l(){i(),k.point=c,k.lineEnd=u}function c(t,e){o(f=t,h=e),d=x,p=b,m=_,g=w,v=M,k.point=o}function u(){r(x,b,y,_,w,M,d,p,f,m,g,v,a,e),k.lineEnd=s,s()}var f,h,d,p,m,g,v,y,x,b,_,w,M,k={point:n,lineStart:i,lineEnd:s,polygonStart:function(){e.polygonStart(),k.lineStart=l},polygonEnd:function(){e.polygonEnd(),k.lineStart=i}};return k}:function(e){return Re(e,function(r,n){r=t(r,n),e.point(r[0],r[1])})})(e)}function r(e,a,o,s,l,c,u,f,h,d,p,m,g,v){var y=u-e,x=f-a,b=y*y+x*x;if(b&gt;4*n&amp;&amp;g--){var _=s+d,w=l+p,M=c+m,k=Math.sqrt(_*_+w*w+M*M),A=Math.asin(M/=k),T=aa(aa(M)-1)&lt;wa||aa(o-h)&lt;wa?(o+h)/2:Math.atan2(w,_),S=t(T,A),E=S[0],L=S[1],C=E-e,z=L-a,D=x*C-y*z;(D*D/b&gt;n||aa((y*C+x*z)/b-.5)&gt;.3||s*d+l*p+c*m&lt;i)&amp;&amp;(r(e,a,o,s,l,c,E,L,T,_/=k,w/=k,M,g,v),v.point(E,L),r(E,L,T,_,w,M,u,f,h,d,p,m,g,v))}}var n=.5,i=Math.cos(30*Ea),a=16;return e.precision=function(t){return arguments.length?(a=(n=t*t)&gt;0&amp;&amp;16,e):Math.sqrt(n)},e}function Fe(t){this.stream=t}function Re(t,e){return{point:e,sphere:function(){t.sphere()},lineStart:function(){t.lineStart()},lineEnd:function(){t.lineEnd()},polygonStart:function(){t.polygonStart()},polygonEnd:function(){t.polygonEnd()}}}function Ne(t){return je(function(){return t})()}function je(t){function e(t){return t=o(t[0]*Ea,t[1]*Ea),[t[0]*f+s,l-t[1]*f]}function r(){o=ge(a=qe(g,v,x),i);var t=i(p,m);return s=h-t[0]*f,l=d+t[1]*f,n()}function n(){return c&amp;&amp;(c.valid=!1,c=null),e}var i,a,o,s,l,c,u=Oe(function(t,e){return t=i(t,e),[t[0]*f+s,l-t[1]*f]}),f=150,h=480,d=250,p=0,m=0,g=0,v=0,x=0,b=Mo,_=y,w=null,M=null;return e.stream=function(t){return c&amp;&amp;(c.valid=!1),c=Be(b(a,u(_(t)))),c.valid=!0,c},e.clipAngle=function(t){return arguments.length?(b=null==t?(w=t,Mo):function(t){function e(t,e){return Math.cos(t)*Math.cos(e)&gt;i}function r(t,e,r){var n=[1,0,0],a=ae(ne(t),ne(e)),o=ie(a,a),s=a[0],l=o-s*s;if(!l)return!r&amp;&amp;t;var c=i*o/l,u=-i*s/l,f=ae(n,a),h=se(n,c);oe(h,se(a,u));var d=f,p=ie(h,d),m=ie(d,d),g=p*p-m*(ie(h,h)-1);if(!(g&lt;0)){var v=Math.sqrt(g),y=se(d,(-p-v)/m);if(oe(y,h),y=ce(y),!r)return y;var x,b=t[0],_=e[0],w=t[1],M=e[1];_&lt;b&amp;&amp;(x=b,b=_,_=x);var k=_-b,A=aa(k-ka)&lt;wa;if(!A&amp;&amp;M&lt;w&amp;&amp;(x=w,w=M,M=x),A||k&lt;wa?A?w+M&gt;0^y[1]&lt;(aa(y[0]-b)&lt;wa?w:M):w&lt;=y[1]&amp;&amp;y[1]&lt;=M:k&gt;ka^(b&lt;=y[0]&amp;&amp;y[0]&lt;=_)){var T=se(d,(-p+v)/m);return oe(T,h),[y,ce(T)]}}}function n(e,r){var n=a?t:ka-t,i=0;return e&lt;-n?i|=1:e&gt;n&amp;&amp;(i|=2),r&lt;-n?i|=4:r&gt;n&amp;&amp;(i|=8),i}var i=Math.cos(t),a=i&gt;0,o=aa(i)&gt;wa;return _e(e,function(t){var i,s,l,c,u;return{lineStart:function(){c=l=!1,u=1},point:function(f,h){var d,p=[f,h],m=e(f,h),g=a?m?0:n(f,h):m?n(f+(f&lt;0?ka:-ka),h):0;if(!i&amp;&amp;(c=l=m)&amp;&amp;t.lineStart(),m!==l&amp;&amp;(d=r(i,p),(ue(i,d)||ue(p,d))&amp;&amp;(p[0]+=wa,p[1]+=wa,m=e(p[0],p[1]))),m!==l)u=0,m?(t.lineStart(),d=r(p,i),t.point(d[0],d[1])):(d=r(i,p),t.point(d[0],d[1]),t.lineEnd()),i=d;else if(o&amp;&amp;i&amp;&amp;a^m){var v;g&amp;s||!(v=r(p,i,!0))||(u=0,a?(t.lineStart(),t.point(v[0][0],v[0][1]),t.point(v[1][0],v[1][1]),t.lineEnd()):(t.point(v[1][0],v[1][1]),t.lineEnd(),t.lineStart(),t.point(v[0][0],v[0][1])))}!m||i&amp;&amp;ue(i,p)||t.point(p[0],p[1]),i=p,l=m,s=g},lineEnd:function(){l&amp;&amp;t.lineEnd(),i=null},clean:function(){return u|(c&amp;&amp;l)&lt;&lt;1}}},We(t,6*Ea),a?[0,-t]:[-ka,t-ka])}((w=+t)*Ea),n()):w},e.clipExtent=function(t){return arguments.length?(M=t,_=t?Te(t[0][0],t[0][1],t[1][0],t[1][1]):y,n()):M},e.scale=function(t){return arguments.length?(f=+t,r()):f},e.translate=function(t){return arguments.length?(h=+t[0],d=+t[1],r()):[h,d]},e.center=function(t){return arguments.length?(p=t[0]%360*Ea,m=t[1]%360*Ea,r()):[p*La,m*La]},e.rotate=function(t){return arguments.length?(g=t[0]%360*Ea,v=t[1]%360*Ea,x=t.length&gt;2?t[2]%360*Ea:0,r()):[g*La,v*La,x*La]},Zi.rebind(e,u,&quot;precision&quot;),function(){return i=t.apply(this,arguments),e.invert=i.invert&amp;&amp;function(t){return(t=o.invert((t[0]-s)/f,(l-t[1])/f))&amp;&amp;[t[0]*La,t[1]*La]},r()}}function Be(t){return Re(t,function(e,r){t.point(e*Ea,r*Ea)})}function Ue(t,e){return[t,e]}function Ve(t,e){return[t&gt;ka?t-Aa:t&lt;-ka?t+Aa:t,e]}function qe(t,e,r){return t?e||r?ge(Ge(t),Ye(e,r)):Ge(t):e||r?Ye(e,r):Ve}function He(t){return function(e,r){return e+=t,[e&gt;ka?e-Aa:e&lt;-ka?e+Aa:e,r]}}function Ge(t){var e=He(t);return e.invert=He(-t),e}function Ye(t,e){function r(t,e){var r=Math.cos(e),s=Math.cos(t)*r,l=Math.sin(t)*r,c=Math.sin(e),u=c*n+s*i;return[Math.atan2(l*a-u*o,s*n-c*i),Q(u*a+l*o)]}var n=Math.cos(t),i=Math.sin(t),a=Math.cos(e),o=Math.sin(e);return r.invert=function(t,e){var r=Math.cos(e),s=Math.cos(t)*r,l=Math.sin(t)*r,c=Math.sin(e),u=c*a-l*o;return[Math.atan2(l*a+c*o,s*n+u*i),Q(u*n-s*i)]},r}function We(t,e){var r=Math.cos(t),n=Math.sin(t);return function(i,a,o,s){var l=o*e;null!=i?(i=Xe(r,i),a=Xe(r,a),(o&gt;0?i&lt;a:i&gt;a)&amp;&amp;(i+=o*Aa)):(i=t+o*Aa,a=t-.5*l);for(var c,u=i;o&gt;0?u&gt;a:u&lt;a;u-=l)s.point((c=ce([r,-n*Math.cos(u),-n*Math.sin(u)]))[0],c[1])}}function Xe(t,e){var r=ne(e);r[0]-=t,le(r);var n=K(-r[1]);return((-r[2]&lt;0?-n:n)+2*Math.PI-wa)%(2*Math.PI)}function Ze(t,e,r){var n=Zi.range(t,e-wa,r).concat(e);return function(t){return n.map(function(e){return[t,e]})}}function Je(t,e,r){var n=Zi.range(t,e-wa,r).concat(e);return function(t){return n.map(function(e){return[e,t]})}}function Ke(t){return t.source}function Qe(t){return t.target}function $e(t,e){function r(e,r){var n=Math.cos(e),i=Math.cos(r),a=t(n*i);return[a*i*Math.sin(e),a*Math.sin(r)]}return r.invert=function(t,r){var n=Math.sqrt(t*t+r*r),i=e(n),a=Math.sin(i),o=Math.cos(i);return[Math.atan2(t*a,n*o),Math.asin(n&amp;&amp;r*a/n)]},r}function tr(t,e){function r(t,e){o&gt;0?e&lt;-Sa+wa&amp;&amp;(e=-Sa+wa):e&gt;Sa-wa&amp;&amp;(e=Sa-wa);var r=o/Math.pow(i(e),a);return[r*Math.sin(a*t),o-r*Math.cos(a*t)]}var n=Math.cos(t),i=function(t){return Math.tan(ka/4+t/2)},a=t===e?Math.sin(t):Math.log(n/Math.cos(e))/Math.log(i(e)/i(t)),o=n*Math.pow(i(t),a)/a;return a?(r.invert=function(t,e){var r=o-e,n=Z(a)*Math.sqrt(t*t+r*r);return[Math.atan2(t,r)/a,2*Math.atan(Math.pow(o/n,1/a))-Sa]},r):rr}function er(t,e){function r(t,e){var r=a-e;return[r*Math.sin(i*t),a-r*Math.cos(i*t)]}var n=Math.cos(t),i=t===e?Math.sin(t):(n-Math.cos(e))/(e-t),a=n/i+t;return aa(i)&lt;wa?Ue:(r.invert=function(t,e){var r=a-e;return[Math.atan2(t,r)/i,a-Z(i)*Math.sqrt(t*t+r*r)]},r)}function rr(t,e){return[t,Math.log(Math.tan(ka/4+e/2))]}function nr(t){var e,r=Ne(t),n=r.scale,i=r.translate,a=r.clipExtent;return r.scale=function(){var t=n.apply(r,arguments);return t===r?e?r.clipExtent(null):r:t},r.translate=function(){var t=i.apply(r,arguments);return t===r?e?r.clipExtent(null):r:t},r.clipExtent=function(t){var o=a.apply(r,arguments);if(o===r){if(e=null==t){var s=ka*n(),l=i();a([[l[0]-s,l[1]-s],[l[0]+s,l[1]+s]])}}else e&amp;&amp;(o=null);return o},r.clipExtent(null)}function ir(t,e){return[Math.log(Math.tan(ka/4+e/2)),-t]}function ar(t){return t[0]}function or(t){return t[1]}function sr(t){for(var e=t.length,r=[0,1],n=2,i=2;i&lt;e;i++){for(;n&gt;1&amp;&amp;J(t[r[n-2]],t[r[n-1]],t[i])&lt;=0;)--n;r[n++]=i}return r.slice(0,n)}function lr(t,e){return t[0]-e[0]||t[1]-e[1]}function cr(t,e,r){return(r[0]-e[0])*(t[1]-e[1])&lt;(r[1]-e[1])*(t[0]-e[0])}function ur(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 fr(t){var e=t[0],r=t[t.length-1];return!(e[0]-r[0]||e[1]-r[1])}function hr(t){var e=Wo.pop()||new function(){Sr(this),this.edge=this.site=this.circle=null};return e.site=t,e}function dr(t){_r(t),Ho.remove(t),Wo.push(t),Sr(t)}function pr(t){var e=t.circle,r=e.x,n=e.cy,i={x:r,y:n},a=t.P,o=t.N,s=[t];dr(t);for(var l=a;l.circle&amp;&amp;aa(r-l.circle.x)&lt;wa&amp;&amp;aa(n-l.circle.cy)&lt;wa;)a=l.P,s.unshift(l),dr(l),l=a;s.unshift(l),_r(l);for(var c=o;c.circle&amp;&amp;aa(r-c.circle.x)&lt;wa&amp;&amp;aa(n-c.circle.cy)&lt;wa;)o=c.N,s.push(c),dr(c),c=o;s.push(c),_r(c);var u,f=s.length;for(u=1;u&lt;f;++u)c=s[u],l=s[u-1],kr(c.edge,l.site,c.site,i);l=s[0],(c=s[f-1]).edge=Mr(l.site,c.site,null,i),br(l),br(c)}function mr(t){for(var e,r,n,i,a=t.x,o=t.y,s=Ho._;s;)if((n=gr(s,o)-a)&gt;wa)s=s.L;else{if(!((i=a-function(t,e){var r=t.N;if(r)return gr(r,e);var n=t.site;return n.y===e?n.x:1/0}(s,o))&gt;wa)){n&gt;-wa?(e=s.P,r=s):i&gt;-wa?(e=s,r=s.N):e=r=s;break}if(!s.R){e=s;break}s=s.R}var l=hr(t);if(Ho.insert(e,l),e||r){if(e===r)return _r(e),r=hr(e.site),Ho.insert(l,r),l.edge=r.edge=Mr(e.site,l.site),br(e),void br(r);if(r){_r(e),_r(r);var c=e.site,u=c.x,f=c.y,h=t.x-u,d=t.y-f,p=r.site,m=p.x-u,g=p.y-f,v=2*(h*g-d*m),y=h*h+d*d,x=m*m+g*g,b={x:(g*y-d*x)/v+u,y:(h*x-m*y)/v+f};kr(r.edge,c,p,b),l.edge=Mr(c,t,null,b),r.edge=Mr(t,p,null,b),br(e),br(r)}else l.edge=Mr(e.site,l.site)}}function gr(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 vr(t){this.site=t,this.edges=[]}function yr(t){for(var e,r,n,i,a,o,s,l,c,u,f=t[0][0],h=t[1][0],d=t[0][1],p=t[1][1],m=qo,g=m.length;g--;)if((a=m[g])&amp;&amp;a.prepare())for(l=(s=a.edges).length,o=0;o&lt;l;)n=(u=s[o].end()).x,i=u.y,e=(c=s[++o%l].start()).x,r=c.y,(aa(n-e)&gt;wa||aa(i-r)&gt;wa)&amp;&amp;(s.splice(o,0,new Ar(function(t,e,r){var n=new wr(t,null);return n.a=e,n.b=r,Vo.push(n),n}(a.site,u,aa(n-f)&lt;wa&amp;&amp;p-i&gt;wa?{x:f,y:aa(e-f)&lt;wa?r:p}:aa(i-p)&lt;wa&amp;&amp;h-n&gt;wa?{x:aa(r-p)&lt;wa?e:h,y:p}:aa(n-h)&lt;wa&amp;&amp;i-d&gt;wa?{x:h,y:aa(e-h)&lt;wa?r:d}:aa(i-d)&lt;wa&amp;&amp;n-f&gt;wa?{x:aa(r-d)&lt;wa?e:f,y:d}:null),a.site,null)),++l)}function xr(t,e){return e.angle-t.angle}function br(t){var e=t.P,r=t.N;if(e&amp;&amp;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&gt;=-Ma)){var h=l*l+c*c,d=u*u+g*g,p=(g*h-c*d)/f,m=(l*d-u*h)/f,g=m+s,v=Xo.pop()||new function(){Sr(this),this.x=this.y=this.arc=this.site=this.cy=null};v.arc=t,v.site=i,v.x=p+o,v.y=g+Math.sqrt(p*p+m*m),v.cy=g,t.circle=v;for(var y=null,x=Yo._;x;)if(v.y&lt;x.y||v.y===x.y&amp;&amp;v.x&lt;=x.x){if(!x.L){y=x.P;break}x=x.L}else{if(!x.R){y=x;break}x=x.R}Yo.insert(y,v),y||(Go=v)}}}}function _r(t){var e=t.circle;e&amp;&amp;(e.P||(Go=e.N),Yo.remove(e),Xo.push(e),Sr(e),t.circle=null)}function wr(t,e){this.l=t,this.r=e,this.a=this.b=null}function Mr(t,e,r,n){var i=new wr(t,e);return Vo.push(i),r&amp;&amp;kr(i,t,e,r),n&amp;&amp;kr(i,e,t,n),qo[t.i].edges.push(new Ar(i,t,e)),qo[e.i].edges.push(new Ar(i,e,t)),i}function kr(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 Ar(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 Sr(t){t.U=t.C=t.L=t.R=t.P=t.N=null}function Er(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&amp;&amp;(r.R.U=r),n.L=r}function Lr(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&amp;&amp;(r.L.U=r),n.R=r}function Cr(t){for(;t.L;)t=t.L;return t}function zr(t,e){var r,n,i,a=t.sort(Dr).pop();for(Vo=[],qo=new Array(t.length),Ho=new Tr,Yo=new Tr;;)if(i=Go,a&amp;&amp;(!i||a.y&lt;i.y||a.y===i.y&amp;&amp;a.x&lt;i.x))a.x===r&amp;&amp;a.y===n||(qo[a.i]=new vr(a),mr(a),r=a.x,n=a.y),a=t.pop();else{if(!i)break;pr(i.arc)}e&amp;&amp;(function(t){for(var e,r=Vo,n=Ae(t[0][0],t[0][1],t[1][0],t[1][1]),i=r.length;i--;)(!function(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,d=u.y,p=f.x,m=f.y,g=(h+p)/2,v=(d+m)/2;if(m===d){if(g&lt;o||g&gt;=s)return;if(h&gt;p){if(a){if(a.y&gt;=c)return}else a={x:g,y:l};r={x:g,y:c}}else{if(a){if(a.y&lt;l)return}else a={x:g,y:c};r={x:g,y:l}}}else if(n=(h-p)/(m-d),i=v-n*g,n&lt;-1||n&gt;1)if(h&gt;p){if(a){if(a.y&gt;=c)return}else a={x:(l-i)/n,y:l};r={x:(c-i)/n,y:c}}else{if(a){if(a.y&lt;l)return}else a={x:(c-i)/n,y:c};r={x:(l-i)/n,y:l}}else if(d&lt;m){if(a){if(a.x&gt;=s)return}else a={x:o,y:n*o+i};r={x:s,y:n*s+i}}else{if(a){if(a.x&lt;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}(e=r[i],t)||!n(e)||aa(e.a.x-e.b.x)&lt;wa&amp;&amp;aa(e.a.y-e.b.y)&lt;wa)&amp;&amp;(e.a=e.b=null,r.splice(i,1))}(e),yr(e));var o={cells:qo,edges:Vo};return Ho=Yo=Vo=qo=null,o}function Dr(t,e){return e.y-t.y||e.x-t.x}function Ir(t){return t.x}function Pr(t){return t.y}function Or(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]&amp;&amp;Or(t,l[0],r,n,o,s),l[1]&amp;&amp;Or(t,l[1],o,n,i,s),l[2]&amp;&amp;Or(t,l[2],r,s,o,a),l[3]&amp;&amp;Or(t,l[3],o,s,i,a)}}function Fr(t,e){t=Zi.rgb(t),e=Zi.rgb(e);var r=t.r,n=t.g,i=t.b,a=e.r-r,o=e.g-n,s=e.b-i;return function(t){return&quot;#&quot;+mt(Math.round(r+a*t))+mt(Math.round(n+o*t))+mt(Math.round(i+s*t))}}function Rr(t,e){var r,n={},i={};for(r in t)r in e?n[r]=Br(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 Nr(t,e){return t=+t,e=+e,function(r){return t*(1-r)+e*r}}function jr(t,e){var r,n,i,a=Jo.lastIndex=Ko.lastIndex=0,o=-1,s=[],l=[];for(t+=&quot;&quot;,e+=&quot;&quot;;(r=Jo.exec(t))&amp;&amp;(n=Ko.exec(e));)(i=n.index)&gt;a&amp;&amp;(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:Nr(r,n)})),a=Ko.lastIndex;return a&lt;e.length&amp;&amp;(i=e.slice(a),s[o]?s[o]+=i:s[++o]=i),s.length&lt;2?l[0]?(e=l[0].x,function(t){return e(t)+&quot;&quot;}):function(){return e}:(e=l.length,function(t){for(var r,n=0;n&lt;e;++n)s[(r=l[n]).i]=r.x(t);return s.join(&quot;&quot;)})}function Br(t,e){for(var r,n=Zi.interpolators.length;--n&gt;=0&amp;&amp;!(r=Zi.interpolators[n](t,e)););return r}function Ur(t,e){var r,n=[],i=[],a=t.length,o=e.length,s=Math.min(t.length,e.length);for(r=0;r&lt;s;++r)n.push(Br(t[r],e[r]));for(;r&lt;a;++r)i[r]=t[r];for(;r&lt;o;++r)i[r]=e[r];return function(t){for(r=0;r&lt;s;++r)i[r]=n[r](t);return i}}function Vr(t){return function(e){return 1-t(1-e)}}function qr(t){return function(e){return.5*(e&lt;.5?t(2*e):2-t(2-2*e))}}function Hr(t){return t*t}function Gr(t){return t*t*t}function Yr(t){return 1-Math.cos(t*Sa)}function Wr(t){return Math.pow(2,10*(t-1))}function Xr(t){return 1-Math.sqrt(1-t*t)}function Zr(t){return t&lt;1/2.75?7.5625*t*t:t&lt;2/2.75?7.5625*(t-=1.5/2.75)*t+.75:t&lt;2.5/2.75?7.5625*(t-=2.25/2.75)*t+.9375:7.5625*(t-=2.625/2.75)*t+.984375}function Jr(t,e){return e-=t,function(r){return Math.round(t+e*r)}}function Kr(t){var e=[t.a,t.b],r=[t.c,t.d],n=$r(e),i=Qr(e,r),a=$r(function(t,e,r){return t[0]+=r*e[0],t[1]+=r*e[1],t}(r,e,-i))||0;e[0]*r[1]&lt;r[0]*e[1]&amp;&amp;(e[0]*=-1,e[1]*=-1,n*=-1,i*=-1),this.rotate=(n?Math.atan2(e[1],e[0]):Math.atan2(-r[0],r[1]))*La,this.translate=[t.e,t.f],this.scale=[n,a],this.skew=a?Math.atan2(i,a)*La:0}function Qr(t,e){return t[0]*e[0]+t[1]*e[1]}function $r(t){var e=Math.sqrt(Qr(t,t));return e&amp;&amp;(t[0]/=e,t[1]/=e),e}function tn(t){return t.length?t.pop()+&quot;,&quot;:&quot;&quot;}function en(t,e){var r=[],n=[];return t=Zi.transform(t),e=Zi.transform(e),function(t,e,r,n){if(t[0]!==e[0]||t[1]!==e[1]){var i=r.push(&quot;translate(&quot;,null,&quot;,&quot;,null,&quot;)&quot;);n.push({i:i-4,x:Nr(t[0],e[0])},{i:i-2,x:Nr(t[1],e[1])})}else(e[0]||e[1])&amp;&amp;r.push(&quot;translate(&quot;+e+&quot;)&quot;)}(t.translate,e.translate,r,n),function(t,e,r,n){t!==e?(t-e&gt;180?e+=360:e-t&gt;180&amp;&amp;(t+=360),n.push({i:r.push(tn(r)+&quot;rotate(&quot;,null,&quot;)&quot;)-2,x:Nr(t,e)})):e&amp;&amp;r.push(tn(r)+&quot;rotate(&quot;+e+&quot;)&quot;)}(t.rotate,e.rotate,r,n),function(t,e,r,n){t!==e?n.push({i:r.push(tn(r)+&quot;skewX(&quot;,null,&quot;)&quot;)-2,x:Nr(t,e)}):e&amp;&amp;r.push(tn(r)+&quot;skewX(&quot;+e+&quot;)&quot;)}(t.skew,e.skew,r,n),function(t,e,r,n){if(t[0]!==e[0]||t[1]!==e[1]){var i=r.push(tn(r)+&quot;scale(&quot;,null,&quot;,&quot;,null,&quot;)&quot;);n.push({i:i-4,x:Nr(t[0],e[0])},{i:i-2,x:Nr(t[1],e[1])})}else 1===e[0]&amp;&amp;1===e[1]||r.push(tn(r)+&quot;scale(&quot;+e+&quot;)&quot;)}(t.scale,e.scale,r,n),t=e=null,function(t){for(var e,i=-1,a=n.length;++i&lt;a;)r[(e=n[i]).i]=e.x(t);return r.join(&quot;&quot;)}}function rn(t){for(var e=t.source,r=t.target,n=function(t,e){if(t===e)return t;var r=nn(t),n=nn(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 nn(t){for(var e=[],r=t.parent;null!=r;)e.push(t),t=r,r=r.parent;return e.push(t),e}function an(t){t.fixed|=2}function on(t){t.fixed&amp;=-7}function sn(t){t.fixed|=4,t.px=t.x,t.py=t.y}function ln(t){t.fixed&amp;=-5}function cn(t,e,r){var n=0,i=0;if(t.charge=0,!t.leaf)for(var a,o=t.nodes,s=o.length,l=-1;++l&lt;s;)null!=(a=o[l])&amp;&amp;(cn(a,e,r),t.charge+=a.charge,n+=a.charge*a.cx,i+=a.charge*a.cy);if(t.point){t.leaf||(t.point.x+=Math.random()-.5,t.point.y+=Math.random()-.5);var c=e*r[t.point.index];t.charge+=t.pointCharge=c,n+=c*t.point.x,i+=c*t.point.y}t.cx=n/t.charge,t.cy=i/t.charge}function un(t,e){return Zi.rebind(t,e,&quot;sort&quot;,&quot;children&quot;,&quot;value&quot;),t.nodes=t,t.links=gn,t}function fn(t,e){for(var r=[t];null!=(t=r.pop());)if(e(t),(i=t.children)&amp;&amp;(n=i.length))for(var n,i;--n&gt;=0;)r.push(i[n])}function hn(t,e){for(var r=[t],n=[];null!=(t=r.pop());)if(n.push(t),(a=t.children)&amp;&amp;(i=a.length))for(var i,a,o=-1;++o&lt;i;)r.push(a[o]);for(;null!=(t=n.pop());)e(t)}function dn(t){return t.children}function pn(t){return t.value}function mn(t,e){return e.value-t.value}function gn(t){return Zi.merge(t.map(function(t){return(t.children||[]).map(function(e){return{source:t,target:e}})}))}function vn(t){return t.x}function yn(t){return t.y}function xn(t,e,r){t.y0=e,t.y=r}function bn(t){return Zi.range(t.length)}function _n(t){for(var e=-1,r=t[0].length,n=[];++e&lt;r;)n[e]=0;return n}function wn(t){for(var e,r=1,n=0,i=t[0][1],a=t.length;r&lt;a;++r)(e=t[r][1])&gt;i&amp;&amp;(n=r,i=e);return n}function Mn(t){return t.reduce(kn,0)}function kn(t,e){return t+e[1]}function An(t,e){return Tn(t,Math.ceil(Math.log(e.length)/Math.LN2+1))}function Tn(t,e){for(var r=-1,n=+t[0],i=(t[1]-n)/e,a=[];++r&lt;=e;)a[r]=i*r+n;return a}function Sn(t){return[Zi.min(t),Zi.max(t)]}function En(t,e){return t.value-e.value}function Ln(t,e){var r=t._pack_next;t._pack_next=e,e._pack_prev=t,e._pack_next=r,r._pack_prev=e}function Cn(t,e){t._pack_next=e,e._pack_prev=t}function zn(t,e){var r=e.x-t.x,n=e.y-t.y,i=t.r+e.r;return.999*i*i&gt;r*r+n*n}function Dn(t){function e(t){u=Math.min(t.x-t.r,u),f=Math.max(t.x+t.r,f),h=Math.min(t.y-t.r,h),d=Math.max(t.y+t.r,d)}if((r=t.children)&amp;&amp;(c=r.length)){var r,n,i,a,o,s,l,c,u=1/0,f=-1/0,h=1/0,d=-1/0;if(r.forEach(In),n=r[0],n.x=-n.r,n.y=0,e(n),c&gt;1&amp;&amp;(i=r[1],i.x=i.r,i.y=0,e(i),c&gt;2))for(Fn(n,i,a=r[2]),e(a),Ln(n,a),n._pack_prev=a,Ln(a,i),i=n._pack_next,o=3;o&lt;c;o++){Fn(n,i,a=r[o]);var p=0,m=1,g=1;for(s=i._pack_next;s!==i;s=s._pack_next,m++)if(zn(s,a)){p=1;break}if(1==p)for(l=n._pack_prev;l!==s._pack_prev&amp;&amp;!zn(l,a);l=l._pack_prev,g++);p?(m&lt;g||m==g&amp;&amp;i.r&lt;n.r?Cn(n,i=s):Cn(n=l,i),o--):(Ln(n,a),i=a,e(a))}var v=(u+f)/2,y=(h+d)/2,x=0;for(o=0;o&lt;c;o++)(a=r[o]).x-=v,a.y-=y,x=Math.max(x,a.r+Math.sqrt(a.x*a.x+a.y*a.y));t.r=x,r.forEach(Pn)}}function In(t){t._pack_next=t._pack_prev=t}function Pn(t){delete t._pack_next,delete t._pack_prev}function On(t,e,r,n){var i=t.children;if(t.x=e+=n*t.x,t.y=r+=n*t.y,t.r*=n,i)for(var a=-1,o=i.length;++a&lt;o;)On(i[a],e,r,n)}function Fn(t,e,r){var n=t.r+r.r,i=e.x-t.x,a=e.y-t.y;if(n&amp;&amp;(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 Rn(t,e){return t.parent==e.parent?1:2}function Nn(t){var e=t.children;return e.length?e[0]:t.t}function jn(t){var e,r=t.children;return(e=r.length)?r[e-1]:t.t}function Bn(t){var e=t.children;return e&amp;&amp;e.length?Bn(e[0]):t}function Un(t){var e,r=t.children;return r&amp;&amp;(e=r.length)?Un(r[e-1]):t}function Vn(t){return{x:t.x,y:t.y,dx:t.dx,dy:t.dy}}function qn(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&lt;0&amp;&amp;(r+=i/2,i=0),a&lt;0&amp;&amp;(n+=a/2,a=0),{x:r,y:n,dx:i,dy:a}}function Hn(t){var e=t[0],r=t[t.length-1];return e&lt;r?[e,r]:[r,e]}function Gn(t){return t.rangeExtent?t.rangeExtent():Hn(t.range())}function Yn(t,e){var r,n=0,i=t.length-1,a=t[n],o=t[i];return o&lt;a&amp;&amp;(r=n,n=i,i=r,r=a,a=o,o=r),t[n]=e.floor(a),t[i]=e.ceil(o),t}function Wn(t){return t?{floor:function(e){return Math.floor(e/t)*t},ceil:function(e){return Math.ceil(e/t)*t}}:ls}function Xn(t,e,r,n){function i(){var i=Math.min(t.length,e.length)&gt;2?function(t,e,r,n){var i=[],a=[],o=0,s=Math.min(t.length,e.length)-1;for(t[s]&lt;t[0]&amp;&amp;(t=t.slice().reverse(),e=e.slice().reverse());++o&lt;=s;)i.push(r(t[o-1],t[o])),a.push(n(e[o-1],e[o]));return function(e){var r=Zi.bisect(t,e,1,s)-1;return a[r](i[r](e))}}:function(t,e,r,n){var i=r(t[0],t[1]),a=n(e[0],e[1]);return function(t){return a(i(t))}},l=n?function(t,e){return e=(e-=t=+t)||1/e,function(r){return Math.max(0,Math.min(1,(r-t)/e))}}:function(t,e){return e=(e-=t=+t)||1/e,function(r){return(r-t)/e}};return o=i(t,e,l,r),s=i(e,t,l,Br),a}function a(t){return o(t)}var o,s;return a.invert=function(t){return s(t)},a.domain=function(e){return arguments.length?(t=e.map(Number),i()):t},a.range=function(t){return arguments.length?(e=t,i()):e},a.rangeRound=function(t){return a.range(t).interpolate(Jr)},a.clamp=function(t){return arguments.length?(n=t,i()):n},a.interpolate=function(t){return arguments.length?(r=t,i()):r},a.ticks=function(e){return Qn(t,e)},a.tickFormat=function(e,r){return $n(t,e,r)},a.nice=function(e){return Jn(t,e),i()},a.copy=function(){return Xn(t,e,r,n)},i()}function Zn(t,e){return Zi.rebind(t,e,&quot;range&quot;,&quot;rangeRound&quot;,&quot;interpolate&quot;,&quot;clamp&quot;)}function Jn(t,e){return Yn(t,Wn(Kn(t,e)[2])),Yn(t,Wn(Kn(t,e)[2])),t}function Kn(t,e){null==e&amp;&amp;(e=10);var r=Hn(t),n=r[1]-r[0],i=Math.pow(10,Math.floor(Math.log(n/e)/Math.LN10)),a=e/n*i;return a&lt;=.15?i*=10:a&lt;=.35?i*=5:a&lt;=.75&amp;&amp;(i*=2),r[0]=Math.ceil(r[0]/i)*i,r[1]=Math.floor(r[1]/i)*i+.5*i,r[2]=i,r}function Qn(t,e){return Zi.range.apply(Zi,Kn(t,e))}function $n(t,e,r){var n=Kn(t,e);if(r){var i=Za.exec(r);if(i.shift(),&quot;s&quot;===i[8]){var a=Zi.formatPrefix(Math.max(aa(n[0]),aa(n[1])));return i[7]||(i[7]=&quot;.&quot;+ti(a.scale(n[2]))),i[8]=&quot;f&quot;,r=Zi.format(i.join(&quot;&quot;)),function(t){return r(a.scale(t))+a.symbol}}i[7]||(i[7]=&quot;.&quot;+function(t,e){var r=ti(e[2]);return t in cs?Math.abs(r-ti(Math.max(aa(e[0]),aa(e[1]))))+ +(&quot;e&quot;!==t):r-2*(&quot;%&quot;===t)}(i[8],n)),r=i.join(&quot;&quot;)}else r=&quot;,.&quot;+ti(n[2])+&quot;f&quot;;return Zi.format(r)}function ti(t){return-Math.floor(Math.log(t)/Math.LN10+.01)}function ei(t,e,r,n){function i(t){return(r?Math.log(t&lt;0?0:t):-Math.log(t&gt;0?0:-t))/Math.log(e)}function a(t){return r?Math.pow(e,t):-Math.pow(e,-t)}function o(e){return t(i(e))}return o.invert=function(e){return a(t.invert(e))},o.domain=function(e){return arguments.length?(r=e[0]&gt;=0,t.domain((n=e.map(Number)).map(i)),o):n},o.base=function(r){return arguments.length?(e=+r,t.domain(n.map(i)),o):e},o.nice=function(){var e=Yn(n.map(i),r?Math:fs);return t.domain(e),n=e.map(a),o},o.ticks=function(){var t=Hn(n),o=[],s=t[0],l=t[1],c=Math.floor(i(s)),u=Math.ceil(i(l)),f=e%1?2:e;if(isFinite(u-c)){if(r){for(;c&lt;u;c++)for(var h=1;h&lt;f;h++)o.push(a(c)*h);o.push(a(c))}else for(o.push(a(c));c++&lt;u;)for(h=f-1;h&gt;0;h--)o.push(a(c)*h);for(c=0;o[c]&lt;s;c++);for(u=o.length;o[u-1]&gt;l;u--);o=o.slice(c,u)}return o},o.tickFormat=function(t,r){if(!arguments.length)return us;arguments.length&lt;2?r=us:&quot;function&quot;!=typeof r&amp;&amp;(r=Zi.format(r));var n=Math.max(1,e*t/o.ticks().length);return function(t){var o=t/a(Math.round(i(t)));return o*e&lt;e-.5&amp;&amp;(o*=e),o&lt;=n?r(t):&quot;&quot;}},o.copy=function(){return ei(t.copy(),e,r,n)},Zn(o,t)}function ri(t,e,r){function n(e){return t(i(e))}var i=ni(e),a=ni(1/e);return n.invert=function(e){return a(t.invert(e))},n.domain=function(e){return arguments.length?(t.domain((r=e.map(Number)).map(i)),n):r},n.ticks=function(t){return Qn(r,t)},n.tickFormat=function(t,e){return $n(r,t,e)},n.nice=function(t){return n.domain(Jn(r,t))},n.exponent=function(o){return arguments.length?(i=ni(e=o),a=ni(1/e),t.domain(r.map(i)),n):e},n.copy=function(){return ri(t.copy(),e,r)},Zn(n,t)}function ni(t){return function(e){return e&lt;0?-Math.pow(-e,t):Math.pow(e,t)}}function ii(t,e){function r(r){return a[((i.get(r)||(&quot;range&quot;===e.t?i.set(r,t.push(r)):NaN))-1)%a.length]}function n(e,r){return Zi.range(t.length).map(function(t){return e+r*t})}var i,a,o;return r.domain=function(n){if(!arguments.length)return t;t=[],i=new c;for(var a,o=-1,s=n.length;++o&lt;s;)i.has(a=n[o])||i.set(a,t.push(a));return r[e.t].apply(r,e.a)},r.range=function(t){return arguments.length?(a=t,o=0,e={t:&quot;range&quot;,a:arguments},r):a},r.rangePoints=function(i,s){arguments.length&lt;2&amp;&amp;(s=0);var l=i[0],c=i[1],u=t.length&lt;2?(l=(l+c)/2,0):(c-l)/(t.length-1+s);return a=n(l+u*s/2,u),o=0,e={t:&quot;rangePoints&quot;,a:arguments},r},r.rangeRoundPoints=function(i,s){arguments.length&lt;2&amp;&amp;(s=0);var l=i[0],c=i[1],u=t.length&lt;2?(l=c=Math.round((l+c)/2),0):(c-l)/(t.length-1+s)|0;return a=n(l+Math.round(u*s/2+(c-l-(t.length-1+s)*u)/2),u),o=0,e={t:&quot;rangeRoundPoints&quot;,a:arguments},r},r.rangeBands=function(i,s,l){arguments.length&lt;2&amp;&amp;(s=0),arguments.length&lt;3&amp;&amp;(l=s);var c=i[1]&lt;i[0],u=i[c-0],f=(i[1-c]-u)/(t.length-s+2*l);return a=n(u+f*l,f),c&amp;&amp;a.reverse(),o=f*(1-s),e={t:&quot;rangeBands&quot;,a:arguments},r},r.rangeRoundBands=function(i,s,l){arguments.length&lt;2&amp;&amp;(s=0),arguments.length&lt;3&amp;&amp;(l=s);var c=i[1]&lt;i[0],u=i[c-0],f=i[1-c],h=Math.floor((f-u)/(t.length-s+2*l));return a=n(u+Math.round((f-u-(t.length-s)*h)/2),h),c&amp;&amp;a.reverse(),o=Math.round(h*(1-s)),e={t:&quot;rangeRoundBands&quot;,a:arguments},r},r.rangeBand=function(){return o},r.rangeExtent=function(){return Hn(e.a[0])},r.copy=function(){return ii(t,e)},r.domain(t)}function ai(t,e){function r(){var r=0,n=e.length;for(s=[];++r&lt;n;)s[r-1]=Zi.quantile(t,r/n);return o}function o(t){if(!isNaN(t=+t))return e[Zi.bisect(s,t)]}var s;return o.domain=function(e){return arguments.length?(t=e.map(i).filter(a).sort(n),r()):t},o.range=function(t){return arguments.length?(e=t,r()):e},o.quantiles=function(){return s},o.invertExtent=function(r){return(r=e.indexOf(r))&lt;0?[NaN,NaN]:[r&gt;0?s[r-1]:t[0],r&lt;s.length?s[r]:t[t.length-1]]},o.copy=function(){return ai(t,e)},r()}function oi(t,e,r){function n(e){return r[Math.max(0,Math.min(o,Math.floor(a*(e-t))))]}function i(){return a=r.length/(e-t),o=r.length-1,n}var a,o;return n.domain=function(r){return arguments.length?(t=+r[0],e=+r[r.length-1],i()):[t,e]},n.range=function(t){return arguments.length?(r=t,i()):r},n.invertExtent=function(e){return e=r.indexOf(e),e=e&lt;0?NaN:e/a+t,[e,e+1/a]},n.copy=function(){return oi(t,e,r)},i()}function si(t,e){function r(r){if(r&lt;=r)return e[Zi.bisect(t,r)]}return r.domain=function(e){return arguments.length?(t=e,r):t},r.range=function(t){return arguments.length?(e=t,r):e},r.invertExtent=function(r){return r=e.indexOf(r),[t[r-1],t[r]]},r.copy=function(){return si(t,e)},r}function li(t){function e(t){return+t}return e.invert=e,e.domain=e.range=function(r){return arguments.length?(t=r.map(e),e):t},e.ticks=function(e){return Qn(t,e)},e.tickFormat=function(e,r){return $n(t,e,r)},e.copy=function(){return li(t)},e}function ci(){return 0}function ui(t){return t.innerRadius}function fi(t){return t.outerRadius}function hi(t){return t.startAngle}function di(t){return t.endAngle}function pi(t){return t&amp;&amp;t.padAngle}function mi(t,e,r,n){return(t-r)*e-(e-n)*t&gt;0?0:1}function gi(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,d=e[1]+c,p=(u+h)/2,m=(f+d)/2,g=h-u,v=d-f,y=g*g+v*v,x=r-n,b=u*d-h*f,_=(v&lt;0?-1:1)*Math.sqrt(Math.max(0,x*x*y-b*b)),w=(b*v-g*_)/y,M=(-b*g-v*_)/y,k=(b*v+g*_)/y,A=(-b*g+v*_)/y,T=w-p,S=M-m,E=k-p,L=A-m;return T*T+S*S&gt;E*E+L*L&amp;&amp;(w=k,M=A),[[w-l,M-c],[w*r/x,M*r/x]]}function vi(t){function e(e){function o(){c.push(&quot;M&quot;,a(t(u),s))}for(var l,c=[],u=[],f=-1,h=e.length,d=_t(r),p=_t(n);++f&lt;h;)i.call(this,l=e[f],f)?u.push([+d.call(this,l,f),+p.call(this,l,f)]):u.length&amp;&amp;(o(),u=[]);return u.length&amp;&amp;o(),c.length?c.join(&quot;&quot;):null}var r=ar,n=or,i=ve,a=yi,o=a.key,s=.7;return e.x=function(t){return arguments.length?(r=t,e):r},e.y=function(t){return arguments.length?(n=t,e):n},e.defined=function(t){return arguments.length?(i=t,e):i},e.interpolate=function(t){return arguments.length?(o=&quot;function&quot;==typeof t?a=t:(a=vs.get(t)||yi).key,e):o},e.tension=function(t){return arguments.length?(s=t,e):s},e}function yi(t){return t.length&gt;1?t.join(&quot;L&quot;):t+&quot;Z&quot;}function xi(t){return t.join(&quot;L&quot;)+&quot;Z&quot;}function bi(t){for(var e=0,r=t.length,n=t[0],i=[n[0],&quot;,&quot;,n[1]];++e&lt;r;)i.push(&quot;V&quot;,(n=t[e])[1],&quot;H&quot;,n[0]);return i.join(&quot;&quot;)}function _i(t){for(var e=0,r=t.length,n=t[0],i=[n[0],&quot;,&quot;,n[1]];++e&lt;r;)i.push(&quot;H&quot;,(n=t[e])[0],&quot;V&quot;,n[1]);return i.join(&quot;&quot;)}function wi(t,e){if(e.length&lt;1||t.length!=e.length&amp;&amp;t.length!=e.length+2)return yi(t);var r=t.length!=e.length,n=&quot;&quot;,i=t[0],a=t[1],o=e[0],s=o,l=1;if(r&amp;&amp;(n+=&quot;Q&quot;+(a[0]-2*o[0]/3)+&quot;,&quot;+(a[1]-2*o[1]/3)+&quot;,&quot;+a[0]+&quot;,&quot;+a[1],i=t[1],l=2),e.length&gt;1){s=e[1],a=t[l],l++,n+=&quot;C&quot;+(i[0]+o[0])+&quot;,&quot;+(i[1]+o[1])+&quot;,&quot;+(a[0]-s[0])+&quot;,&quot;+(a[1]-s[1])+&quot;,&quot;+a[0]+&quot;,&quot;+a[1];for(var c=2;c&lt;e.length;c++,l++)a=t[l],s=e[c],n+=&quot;S&quot;+(a[0]-s[0])+&quot;,&quot;+(a[1]-s[1])+&quot;,&quot;+a[0]+&quot;,&quot;+a[1]}if(r){var u=t[l];n+=&quot;Q&quot;+(a[0]+2*s[0]/3)+&quot;,&quot;+(a[1]+2*s[1]/3)+&quot;,&quot;+u[0]+&quot;,&quot;+u[1]}return n}function Mi(t,e){for(var r,n=[],i=(1-e)/2,a=t[0],o=t[1],s=1,l=t.length;++s&lt;l;)r=a,a=o,o=t[s],n.push([i*(o[0]-r[0]),i*(o[1]-r[1])]);return n}function ki(t){if(t.length&lt;3)return yi(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,&quot;,&quot;,a,&quot;L&quot;,Ai(bs,o),&quot;,&quot;,Ai(bs,s)];for(t.push(t[r-1]);++e&lt;=r;)n=t[e],o.shift(),o.push(n[0]),s.shift(),s.push(n[1]),Ti(l,o,s);return t.pop(),l.push(&quot;L&quot;,n),l.join(&quot;&quot;)}function Ai(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]+t[3]*e[3]}function Ti(t,e,r){t.push(&quot;C&quot;,Ai(ys,e),&quot;,&quot;,Ai(ys,r),&quot;,&quot;,Ai(xs,e),&quot;,&quot;,Ai(xs,r),&quot;,&quot;,Ai(bs,e),&quot;,&quot;,Ai(bs,r))}function Si(t,e){return(e[1]-t[1])/(e[0]-t[0])}function Ei(t){for(var e,r,n,i,a=[],o=function(t){for(var e=0,r=t.length-1,n=[],i=t[0],a=t[1],o=n[0]=Si(i,a);++e&lt;r;)n[e]=(o+(o=Si(i=a,a=t[e+1])))/2;return n[e]=o,n}(t),s=-1,l=t.length-1;++s&lt;l;)e=Si(t[s],t[s+1]),aa(e)&lt;wa?o[s]=o[s+1]=0:(i=(r=o[s]/e)*r+(n=o[s+1]/e)*n)&gt;9&amp;&amp;(i=3*e/Math.sqrt(i),o[s]=i*r,o[s+1]=i*n);for(s=-1;++s&lt;=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}function Li(t){for(var e,r,n,i=-1,a=t.length;++i&lt;a;)r=(e=t[i])[0],n=e[1]-Sa,e[0]=r*Math.cos(n),e[1]=r*Math.sin(n);return t}function Ci(t){function e(e){function l(){m.push(&quot;M&quot;,s(t(v),f),u,c(t(g.reverse()),f),&quot;Z&quot;)}for(var h,d,p,m=[],g=[],v=[],y=-1,x=e.length,b=_t(r),_=_t(i),w=r===n?function(){return d}:_t(n),M=i===a?function(){return p}:_t(a);++y&lt;x;)o.call(this,h=e[y],y)?(g.push([d=+b.call(this,h,y),p=+_.call(this,h,y)]),v.push([+w.call(this,h,y),+M.call(this,h,y)])):g.length&amp;&amp;(l(),g=[],v=[]);return g.length&amp;&amp;l(),m.length?m.join(&quot;&quot;):null}var r=ar,n=ar,i=0,a=or,o=ve,s=yi,l=s.key,c=s,u=&quot;L&quot;,f=.7;return e.x=function(t){return arguments.length?(r=n=t,e):n},e.x0=function(t){return arguments.length?(r=t,e):r},e.x1=function(t){return arguments.length?(n=t,e):n},e.y=function(t){return arguments.length?(i=a=t,e):a},e.y0=function(t){return arguments.length?(i=t,e):i},e.y1=function(t){return arguments.length?(a=t,e):a},e.defined=function(t){return arguments.length?(o=t,e):o},e.interpolate=function(t){return arguments.length?(l=&quot;function&quot;==typeof t?s=t:(s=vs.get(t)||yi).key,c=s.reverse||s,u=s.closed?&quot;M&quot;:&quot;L&quot;,e):l},e.tension=function(t){return arguments.length?(f=t,e):f},e}function zi(t){return t.radius}function Di(t){return[t.x,t.y]}function Ii(){return 64}function Pi(){return&quot;circle&quot;}function Oi(t){var e=Math.sqrt(t/ka);return&quot;M0,&quot;+e+&quot;A&quot;+e+&quot;,&quot;+e+&quot; 0 1,1 0,&quot;+-e+&quot;A&quot;+e+&quot;,&quot;+e+&quot; 0 1,1 0,&quot;+e+&quot;Z&quot;}function Fi(t){return function(){var e,r,n;(e=this[t])&amp;&amp;(n=e[r=e.active])&amp;&amp;(n.timer.c=null,n.timer.t=NaN,--e.count?delete e[r]:delete this[t],e.active+=.5,n.event&amp;&amp;n.event.interrupt.call(this,this.__data__,n.index))}}function Ri(t,e,r){return ua(t,Ss),t.namespace=e,t.id=r,t}function Ni(t,e,r,n){var i=t.id,a=t.namespace;return U(t,&quot;function&quot;==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 ji(t){return null==t&amp;&amp;(t=&quot;&quot;),function(){this.textContent=t}}function Bi(t){return null==t?&quot;__transition__&quot;:&quot;__transition_&quot;+t+&quot;__&quot;}function Ui(t,e,r,n,i){function a(t){var e=m.delay;if(u.t=e+l,e&lt;=t)return o(t-e);u.c=o}function o(r){var i=p.active,a=p[i];a&amp;&amp;(a.timer.c=null,a.timer.t=NaN,--p.count,delete p[i],a.event&amp;&amp;a.event.interrupt.call(t,t.__data__,a.index));for(var o in p)if(+o&lt;n){var c=p[o];c.timer.c=null,c.timer.t=NaN,--p.count,delete p[o]}u.c=s,kt(function(){return u.c&amp;&amp;s(r||1)&amp;&amp;(u.c=null,u.t=NaN),1},0,l),p.active=n,m.event&amp;&amp;m.event.start.call(t,t.__data__,e),d=[],m.tween.forEach(function(r,n){(n=n.call(t,t.__data__,e))&amp;&amp;d.push(n)}),h=m.ease,f=m.duration}function s(i){for(var a=i/f,o=h(a),s=d.length;s&gt;0;)d[--s].call(t,o);if(a&gt;=1)return m.event&amp;&amp;m.event.end.call(t,t.__data__,e),--p.count?delete p[n]:delete t[r],1}var l,u,f,h,d,p=t[r]||(t[r]={active:0,count:0}),m=p[n];m||(l=i.time,u=kt(a,0,l),m=p[n]={tween:new c,time:l,timer:u,delay:i.delay,duration:i.duration,ease:i.ease,index:e},i=null,++p.count)}function Vi(t,e,r){t.attr(&quot;transform&quot;,function(t){var n=e(t);return&quot;translate(&quot;+(isFinite(n)?n:r(t))+&quot;,0)&quot;})}function qi(t,e,r){t.attr(&quot;transform&quot;,function(t){var n=e(t);return&quot;translate(0,&quot;+(isFinite(n)?n:r(t))+&quot;)&quot;})}function Hi(t){return t.toISOString()}function Gi(t,e,r){function n(e){return t(e)}function i(t,r){var n=(t[1]-t[0])/r,i=Zi.bisect(Fs,n);return i==Fs.length?[e.year,Kn(t.map(function(t){return t/31536e6}),r)[2]]:i?e[n/Fs[i-1]&lt;Fs[i]/n?i-1:i]:[js,Kn(t,r)[2]]}return n.invert=function(e){return Yi(t.invert(e))},n.domain=function(e){return arguments.length?(t.domain(e),n):t.domain().map(Yi)},n.nice=function(t,e){function r(r){return!isNaN(r)&amp;&amp;!t.range(r,Yi(+r+1),e).length}var a=n.domain(),o=Hn(a),s=null==t?i(o,10):&quot;number&quot;==typeof t&amp;&amp;i(o,t);return s&amp;&amp;(t=s[0],e=s[1]),n.domain(Yn(a,e&gt;1?{floor:function(e){for(;r(e=t.floor(e));)e=Yi(e-1);return e},ceil:function(e){for(;r(e=t.ceil(e));)e=Yi(+e+1);return e}}:t))},n.ticks=function(t,e){var r=Hn(n.domain()),a=null==t?i(r,10):&quot;number&quot;==typeof t?i(r,t):!t.range&amp;&amp;[{range:t},e];return a&amp;&amp;(t=a[0],e=a[1]),t.range(r[0],Yi(+r[1]+1),e&lt;1?1:e)},n.tickFormat=function(){return r},n.copy=function(){return Gi(t.copy(),e,r)},Zn(n,t)}function Yi(t){return new Date(t)}function Wi(t){return JSON.parse(t.responseText)}function Xi(t){var e=Qi.createRange();return e.selectNode(Qi.body),e.createContextualFragment(t.responseText)}var Zi={version:&quot;3.5.17&quot;},Ji=[].slice,Ki=function(t){return Ji.call(t)},Qi=this.document;if(Qi)try{Ki(Qi.documentElement.childNodes)[0].nodeType}catch(t){Ki=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}),Qi)try{Qi.createElement(&quot;DIV&quot;).style.setProperty(&quot;opacity&quot;,0,&quot;&quot;)}catch(t){var $i=this.Element.prototype,ta=$i.setAttribute,ea=$i.setAttributeNS,ra=this.CSSStyleDeclaration.prototype,na=ra.setProperty;$i.setAttribute=function(t,e){ta.call(this,t,e+&quot;&quot;)},$i.setAttributeNS=function(t,e,r){ea.call(this,t,e,r+&quot;&quot;)},ra.setProperty=function(t,e,r){na.call(this,t,e+&quot;&quot;,r)}}Zi.ascending=n,Zi.descending=function(t,e){return e&lt;t?-1:e&gt;t?1:e&gt;=t?0:NaN},Zi.min=function(t,e){var r,n,i=-1,a=t.length;if(1===arguments.length){for(;++i&lt;a;)if(null!=(n=t[i])&amp;&amp;n&gt;=n){r=n;break}for(;++i&lt;a;)null!=(n=t[i])&amp;&amp;r&gt;n&amp;&amp;(r=n)}else{for(;++i&lt;a;)if(null!=(n=e.call(t,t[i],i))&amp;&amp;n&gt;=n){r=n;break}for(;++i&lt;a;)null!=(n=e.call(t,t[i],i))&amp;&amp;r&gt;n&amp;&amp;(r=n)}return r},Zi.max=function(t,e){var r,n,i=-1,a=t.length;if(1===arguments.length){for(;++i&lt;a;)if(null!=(n=t[i])&amp;&amp;n&gt;=n){r=n;break}for(;++i&lt;a;)null!=(n=t[i])&amp;&amp;n&gt;r&amp;&amp;(r=n)}else{for(;++i&lt;a;)if(null!=(n=e.call(t,t[i],i))&amp;&amp;n&gt;=n){r=n;break}for(;++i&lt;a;)null!=(n=e.call(t,t[i],i))&amp;&amp;n&gt;r&amp;&amp;(r=n)}return r},Zi.extent=function(t,e){var r,n,i,a=-1,o=t.length;if(1===arguments.length){for(;++a&lt;o;)if(null!=(n=t[a])&amp;&amp;n&gt;=n){r=i=n;break}for(;++a&lt;o;)null!=(n=t[a])&amp;&amp;(r&gt;n&amp;&amp;(r=n),i&lt;n&amp;&amp;(i=n))}else{for(;++a&lt;o;)if(null!=(n=e.call(t,t[a],a))&amp;&amp;n&gt;=n){r=i=n;break}for(;++a&lt;o;)null!=(n=e.call(t,t[a],a))&amp;&amp;(r&gt;n&amp;&amp;(r=n),i&lt;n&amp;&amp;(i=n))}return[r,i]},Zi.sum=function(t,e){var r,n=0,i=t.length,o=-1;if(1===arguments.length)for(;++o&lt;i;)a(r=+t[o])&amp;&amp;(n+=r);else for(;++o&lt;i;)a(r=+e.call(t,t[o],o))&amp;&amp;(n+=r);return n},Zi.mean=function(t,e){var r,n=0,o=t.length,s=-1,l=o;if(1===arguments.length)for(;++s&lt;o;)a(r=i(t[s]))?n+=r:--l;else for(;++s&lt;o;)a(r=i(e.call(t,t[s],s)))?n+=r:--l;if(l)return n/l},Zi.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},Zi.median=function(t,e){var r,o=[],s=t.length,l=-1;if(1===arguments.length)for(;++l&lt;s;)a(r=i(t[l]))&amp;&amp;o.push(r);else for(;++l&lt;s;)a(r=i(e.call(t,t[l],l)))&amp;&amp;o.push(r);if(o.length)return Zi.quantile(o.sort(n),.5)},Zi.variance=function(t,e){var r,n,o=t.length,s=0,l=0,c=-1,u=0;if(1===arguments.length)for(;++c&lt;o;)a(r=i(t[c]))&amp;&amp;(l+=(n=r-s)*(r-(s+=n/++u)));else for(;++c&lt;o;)a(r=i(e.call(t,t[c],c)))&amp;&amp;(l+=(n=r-s)*(r-(s+=n/++u)));if(u&gt;1)return l/(u-1)},Zi.deviation=function(){var t=Zi.variance.apply(this,arguments);return t?Math.sqrt(t):t};var ia=o(n);Zi.bisectLeft=ia.left,Zi.bisect=Zi.bisectRight=ia.right,Zi.bisector=function(t){return o(1===t.length?function(e,r){return n(t(e),r)}:t)},Zi.shuffle=function(t,e,r){(a=arguments.length)&lt;3&amp;&amp;(r=t.length,a&lt;2&amp;&amp;(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},Zi.permute=function(t,e){for(var r=e.length,n=new Array(r);r--;)n[r]=t[e[r]];return n},Zi.pairs=function(t){for(var e=0,r=t.length-1,n=t[0],i=new Array(r&lt;0?0:r);e&lt;r;)i[e]=[n,n=t[++e]];return i},Zi.transpose=function(t){if(!(i=t.length))return[];for(var e=-1,r=Zi.min(t,s),n=new Array(r);++e&lt;r;)for(var i,a=-1,o=n[e]=new Array(i);++a&lt;i;)o[a]=t[a][e];return n},Zi.zip=function(){return Zi.transpose(arguments)},Zi.keys=function(t){var e=[];for(var r in t)e.push(r);return e},Zi.values=function(t){var e=[];for(var r in t)e.push(t[r]);return e},Zi.entries=function(t){var e=[];for(var r in t)e.push({key:r,value:t[r]});return e},Zi.merge=function(t){for(var e,r,n,i=t.length,a=-1,o=0;++a&lt;i;)o+=t[a].length;for(r=new Array(o);--i&gt;=0;)for(e=(n=t[i]).length;--e&gt;=0;)r[--o]=n[e];return r};var aa=Math.abs;Zi.range=function(t,e,r){if(arguments.length&lt;3&amp;&amp;(r=1,arguments.length&lt;2&amp;&amp;(e=t,t=0)),(e-t)/r==1/0)throw new Error(&quot;infinite range&quot;);var n,i=[],a=function(t){for(var e=1;t*e%1;)e*=10;return e}(aa(r)),o=-1;if(t*=a,e*=a,(r*=a)&lt;0)for(;(n=t+r*++o)&gt;e;)i.push(n/a);else for(;(n=t+r*++o)&lt;e;)i.push(n/a);return i},Zi.map=function(t,e){var r=new c;if(t instanceof c)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&lt;a;)r.set(i,t[i]);else for(;++i&lt;a;)r.set(e.call(t,n=t[i],i),n)}else for(var o in t)r.set(o,t[o]);return r};var oa=&quot;__proto__&quot;,sa=&quot;\0&quot;;l(c,{has:h,get:function(t){return this._[u(t)]},set:function(t,e){return this._[u(t)]=e},remove:d,keys:p,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:f(e),value:this._[e]});return t},size:m,empty:g,forEach:function(t){for(var e in this._)t.call(this,f(e),this._[e])}}),Zi.nest=function(){function t(e,o,s){if(s&gt;=a.length)return n?n.call(i,o):r?o.sort(r):o;for(var l,u,f,h,d=-1,p=o.length,m=a[s++],g=new c;++d&lt;p;)(h=g.get(l=m(u=o[d])))?h.push(u):g.set(l,[u]);return e?(u=e(),f=function(r,n){u.set(r,t(e,n,s))}):(u={},f=function(r,n){u[r]=t(e,n,s)}),g.forEach(f),u}function e(t,r){if(r&gt;=a.length)return t;var n=[],i=o[r++];return t.forEach(function(t,i){n.push({key:t,values:e(i,r)})}),i?n.sort(function(t,e){return i(t.key,e.key)}):n}var r,n,i={},a=[],o=[];return i.map=function(e,r){return t(r,e,0)},i.entries=function(r){return e(t(Zi.map,r,0),0)},i.key=function(t){return a.push(t),i},i.sortKeys=function(t){return o[a.length-1]=t,i},i.sortValues=function(t){return r=t,i},i.rollup=function(t){return n=t,i},i},Zi.set=function(t){var e=new v;if(t)for(var r=0,n=t.length;r&lt;n;++r)e.add(t[r]);return e},l(v,{has:h,add:function(t){return this._[u(t+=&quot;&quot;)]=!0,t},remove:d,values:p,size:m,empty:g,forEach:function(t){for(var e in this._)t.call(this,f(e))}}),Zi.behavior={},Zi.rebind=function(t,e){for(var r,n=1,i=arguments.length;++n&lt;i;)t[r=arguments[n]]=function(t,e,r){return function(){var n=r.apply(e,arguments);return n===e?t:n}}(t,e,e[r]);return t};var la=[&quot;webkit&quot;,&quot;ms&quot;,&quot;moz&quot;,&quot;Moz&quot;,&quot;o&quot;,&quot;O&quot;];Zi.dispatch=function(){for(var t=new _,e=-1,r=arguments.length;++e&lt;r;)t[arguments[e]]=w(t);return t},_.prototype.on=function(t,e){var r=t.indexOf(&quot;.&quot;),n=&quot;&quot;;if(r&gt;=0&amp;&amp;(n=t.slice(r+1),t=t.slice(0,r)),t)return arguments.length&lt;2?this[t].on(n):this[t].on(n,e);if(2===arguments.length){if(null==e)for(t in this)this.hasOwnProperty(t)&amp;&amp;this[t].on(n,null);return this}},Zi.event=null,Zi.requote=function(t){return t.replace(ca,&quot;\\$&amp;&quot;)};var ca=/[\\\^\$\*\+\?\|\[\]\(\)\.\{\}]/g,ua={}.__proto__?function(t,e){t.__proto__=e}:function(t,e){for(var r in e)t[r]=e[r]},fa=function(t,e){return e.querySelector(t)},ha=function(t,e){return e.querySelectorAll(t)},da=function(t,e){var r=t.matches||t[x(t,&quot;matchesSelector&quot;)];return(da=function(t,e){return r.call(t,e)})(t,e)};&quot;function&quot;==typeof Sizzle&amp;&amp;(fa=function(t,e){return Sizzle(t,e)[0]||null},ha=Sizzle,da=Sizzle.matchesSelector),Zi.selection=function(){return Zi.select(Qi.documentElement)};var pa=Zi.selection.prototype=[];pa.select=function(t){var e,r,n,i,a=[];t=S(t);for(var o=-1,s=this.length;++o&lt;s;){a.push(e=[]),e.parentNode=(n=this[o]).parentNode;for(var l=-1,c=n.length;++l&lt;c;)(i=n[l])?(e.push(r=t.call(i,i.__data__,l,o)),r&amp;&amp;&quot;__data__&quot;in i&amp;&amp;(r.__data__=i.__data__)):e.push(null)}return T(a)},pa.selectAll=function(t){var e,r,n=[];t=E(t);for(var i=-1,a=this.length;++i&lt;a;)for(var o=this[i],s=-1,l=o.length;++s&lt;l;)(r=o[s])&amp;&amp;(n.push(e=Ki(t.call(r,r.__data__,s,i))),e.parentNode=r);return T(n)};var ma=&quot;http://www.w3.org/1999/xhtml&quot;,ga={svg:&quot;http://www.w3.org/2000/svg&quot;,xhtml:ma,xlink:&quot;http://www.w3.org/1999/xlink&quot;,xml:&quot;http://www.w3.org/XML/1998/namespace&quot;,xmlns:&quot;http://www.w3.org/2000/xmlns/&quot;};Zi.ns={prefix:ga,qualify:function(t){var e=t.indexOf(&quot;:&quot;),r=t;return e&gt;=0&amp;&amp;&quot;xmlns&quot;!==(r=t.slice(0,e))&amp;&amp;(t=t.slice(e+1)),ga.hasOwnProperty(r)?{space:ga[r],local:t}:t}},pa.attr=function(t,e){if(arguments.length&lt;2){if(&quot;string&quot;==typeof t){var r=this.node();return(t=Zi.ns.qualify(t)).local?r.getAttributeNS(t.space,t.local):r.getAttribute(t)}for(e in t)this.each(L(e,t[e]));return this}return this.each(L(t,e))},pa.classed=function(t,e){if(arguments.length&lt;2){if(&quot;string&quot;==typeof t){var r=this.node(),n=(t=D(t)).length,i=-1;if(e=r.classList){for(;++i&lt;n;)if(!e.contains(t[i]))return!1}else for(e=r.getAttribute(&quot;class&quot;);++i&lt;n;)if(!z(t[i]).test(e))return!1;return!0}for(e in t)this.each(I(e,t[e]));return this}return this.each(I(t,e))},pa.style=function(t,e,n){var i=arguments.length;if(i&lt;3){if(&quot;string&quot;!=typeof t){i&lt;2&amp;&amp;(e=&quot;&quot;);for(n in t)this.each(O(n,t[n],e));return this}if(i&lt;2){var a=this.node();return r(a).getComputedStyle(a,null).getPropertyValue(t)}n=&quot;&quot;}return this.each(O(t,e,n))},pa.property=function(t,e){if(arguments.length&lt;2){if(&quot;string&quot;==typeof t)return this.node()[t];for(e in t)this.each(F(e,t[e]));return this}return this.each(F(t,e))},pa.text=function(t){return arguments.length?this.each(&quot;function&quot;==typeof t?function(){var e=t.apply(this,arguments);this.textContent=null==e?&quot;&quot;:e}:null==t?function(){this.textContent=&quot;&quot;}:function(){this.textContent=t}):this.node().textContent},pa.html=function(t){return arguments.length?this.each(&quot;function&quot;==typeof t?function(){var e=t.apply(this,arguments);this.innerHTML=null==e?&quot;&quot;:e}:null==t?function(){this.innerHTML=&quot;&quot;}:function(){this.innerHTML=t}):this.node().innerHTML},pa.append=function(t){return t=R(t),this.select(function(){return this.appendChild(t.apply(this,arguments))})},pa.insert=function(t,e){return t=R(t),e=S(e),this.select(function(){return this.insertBefore(t.apply(this,arguments),e.apply(this,arguments)||null)})},pa.remove=function(){return this.each(N)},pa.data=function(t,e){function r(t,r){var n,i,a,o=t.length,f=r.length,h=Math.min(o,f),d=new Array(f),p=new Array(f),m=new Array(o);if(e){var g,v=new c,y=new Array(o);for(n=-1;++n&lt;o;)(i=t[n])&amp;&amp;(v.has(g=e.call(i,i.__data__,n))?m[n]=i:v.set(g,i),y[n]=g);for(n=-1;++n&lt;f;)(i=v.get(g=e.call(r,a=r[n],n)))?!0!==i&amp;&amp;(d[n]=i,i.__data__=a):p[n]=j(a),v.set(g,!0);for(n=-1;++n&lt;o;)n in y&amp;&amp;!0!==v.get(y[n])&amp;&amp;(m[n]=t[n])}else{for(n=-1;++n&lt;h;)i=t[n],a=r[n],i?(i.__data__=a,d[n]=i):p[n]=j(a);for(;n&lt;f;++n)p[n]=j(r[n]);for(;n&lt;o;++n)m[n]=t[n]}p.update=d,p.parentNode=d.parentNode=m.parentNode=t.parentNode,s.push(p),l.push(d),u.push(m)}var n,i,a=-1,o=this.length;if(!arguments.length){for(t=new Array(o=(n=this[0]).length);++a&lt;o;)(i=n[a])&amp;&amp;(t[a]=i.__data__);return t}var s=V([]),l=T([]),u=T([]);if(&quot;function&quot;==typeof t)for(;++a&lt;o;)r(n=this[a],t.call(n,n.parentNode.__data__,a));else for(;++a&lt;o;)r(n=this[a],t);return l.enter=function(){return s},l.exit=function(){return u},l},pa.datum=function(t){return arguments.length?this.property(&quot;__data__&quot;,t):this.property(&quot;__data__&quot;)},pa.filter=function(t){var e,r,n,i=[];&quot;function&quot;!=typeof t&amp;&amp;(t=B(t));for(var a=0,o=this.length;a&lt;o;a++){i.push(e=[]),e.parentNode=(r=this[a]).parentNode;for(var s=0,l=r.length;s&lt;l;s++)(n=r[s])&amp;&amp;t.call(n,n.__data__,s,a)&amp;&amp;e.push(n)}return T(i)},pa.order=function(){for(var t=-1,e=this.length;++t&lt;e;)for(var r,n=this[t],i=n.length-1,a=n[i];--i&gt;=0;)(r=n[i])&amp;&amp;(a&amp;&amp;a!==r.nextSibling&amp;&amp;a.parentNode.insertBefore(r,a),a=r);return this},pa.sort=function(t){t=function(t){return arguments.length||(t=n),function(e,r){return e&amp;&amp;r?t(e.__data__,r.__data__):!e-!r}}.apply(this,arguments);for(var e=-1,r=this.length;++e&lt;r;)this[e].sort(t);return this.order()},pa.each=function(t){return U(this,function(e,r,n){t.call(e,e.__data__,r,n)})},pa.call=function(t){var e=Ki(arguments);return t.apply(e[0]=this,e),this},pa.empty=function(){return!this.node()},pa.node=function(){for(var t=0,e=this.length;t&lt;e;t++)for(var r=this[t],n=0,i=r.length;n&lt;i;n++){var a=r[n];if(a)return a}return null},pa.size=function(){var t=0;return U(this,function(){++t}),t};var va=[];Zi.selection.enter=V,Zi.selection.enter.prototype=va,va.append=pa.append,va.empty=pa.empty,va.node=pa.node,va.call=pa.call,va.size=pa.size,va.select=function(t){for(var e,r,n,i,a,o=[],s=-1,l=this.length;++s&lt;l;){n=(i=this[s]).update,o.push(e=[]),e.parentNode=i.parentNode;for(var c=-1,u=i.length;++c&lt;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 T(o)},va.insert=function(t,e){return arguments.length&lt;2&amp;&amp;(e=function(t){var e,r;return function(n,i,a){var o,s=t[a].update,l=s.length;for(a!=r&amp;&amp;(r=a,e=0),i&gt;=e&amp;&amp;(e=i+1);!(o=s[e])&amp;&amp;++e&lt;l;);return o}}(this)),pa.insert.call(this,t,e)},Zi.select=function(e){var r;return&quot;string&quot;==typeof e?(r=[fa(e,Qi)]).parentNode=Qi.documentElement:(r=[e]).parentNode=t(e),T([r])},Zi.selectAll=function(t){var e;return&quot;string&quot;==typeof t?(e=Ki(ha(t,Qi))).parentNode=Qi.documentElement:(e=Ki(t)).parentNode=null,T([e])},pa.on=function(t,e,r){var n=arguments.length;if(n&lt;3){if(&quot;string&quot;!=typeof t){n&lt;2&amp;&amp;(e=!1);for(r in t)this.each(q(r,t[r],e));return this}if(n&lt;2)return(n=this.node()[&quot;__on&quot;+t])&amp;&amp;n._;r=!1}return this.each(q(t,e,r))};var ya=Zi.map({mouseenter:&quot;mouseover&quot;,mouseleave:&quot;mouseout&quot;});Qi&amp;&amp;ya.forEach(function(t){&quot;on&quot;+t in Qi&amp;&amp;ya.remove(t)});var xa,ba=0;Zi.mouse=function(t){return W(t,k())};var _a=this.navigator&amp;&amp;/WebKit/.test(this.navigator.userAgent)?-1:0;Zi.touch=function(t,e,r){if(arguments.length&lt;3&amp;&amp;(r=e,e=k().changedTouches),e)for(var n,i=0,a=e.length;i&lt;a;++i)if((n=e[i]).identifier===r)return W(t,n)},Zi.behavior.drag=function(){function t(){this.on(&quot;mousedown.drag&quot;,a).on(&quot;touchstart.drag&quot;,o)}function e(t,e,r,a,o){return function(){var s,l=Zi.event.target.correspondingElement||Zi.event.target,c=this.parentNode,u=n.of(this,arguments),f=0,h=t(),d=&quot;.drag&quot;+(null==h?&quot;&quot;:&quot;-&quot;+h),p=Zi.select(r(l)).on(a+d,function(){var t,r,n=e(c,h);n&amp;&amp;(t=n[0]-g[0],r=n[1]-g[1],f|=t|r,g=n,u({type:&quot;drag&quot;,x:n[0]+s[0],y:n[1]+s[1],dx:t,dy:r}))}).on(o+d,function(){e(c,h)&amp;&amp;(p.on(a+d,null).on(o+d,null),m(f),u({type:&quot;dragend&quot;}))}),m=Y(l),g=e(c,h);s=i?[(s=i.apply(this,arguments)).x-g[0],s.y-g[1]]:[0,0],u({type:&quot;dragstart&quot;})}}var n=A(t,&quot;drag&quot;,&quot;dragstart&quot;,&quot;dragend&quot;),i=null,a=e(b,Zi.mouse,r,&quot;mousemove&quot;,&quot;mouseup&quot;),o=e(X,Zi.touch,y,&quot;touchmove&quot;,&quot;touchend&quot;);return t.origin=function(e){return arguments.length?(i=e,t):i},Zi.rebind(t,n,&quot;on&quot;)},Zi.touches=function(t,e){return arguments.length&lt;2&amp;&amp;(e=k().touches),e?Ki(e).map(function(e){var r=W(t,e);return r.identifier=e.identifier,r}):[]};var wa=1e-6,Ma=wa*wa,ka=Math.PI,Aa=2*ka,Ta=Aa-wa,Sa=ka/2,Ea=ka/180,La=180/ka,Ca=Math.SQRT2;Zi.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&lt;Ma)n=Math.log(c/o)/Ca,r=function(t){return[i+t*u,a+t*f,o*Math.exp(Ca*t*n)]};else{var d=Math.sqrt(h),p=(c*c-o*o+4*h)/(2*o*2*d),m=(c*c-o*o-4*h)/(2*c*2*d),g=Math.log(Math.sqrt(p*p+1)-p),v=Math.log(Math.sqrt(m*m+1)-m);n=(v-g)/Ca,r=function(t){var e=t*n,r=$(g),s=o/(2*d)*(r*function(t){return((t=Math.exp(2*t))-1)/(t+1)}(Ca*e+g)-function(t){return((t=Math.exp(t))-1/t)/2}(g));return[i+s*u,a+s*f,o*r/$(Ca*e+g)]}}return r.duration=1e3*n,r},Zi.behavior.zoom=function(){function t(t){t.on(C,u).on(Da+&quot;.zoom&quot;,h).on(&quot;dblclick.zoom&quot;,d).on(I,f)}function e(t){return[(t[0]-k.x)/k.k,(t[1]-k.y)/k.k]}function n(t){k.k=Math.max(S[0],Math.min(S[1],t))}function i(t,e){e=function(t){return[t[0]*k.k+k.x,t[1]*k.k+k.y]}(e),k.x+=t[0]-e[0],k.y+=t[1]-e[1]}function a(e,r,a,o){e.__chart__={x:k.x,y:k.y,k:k.k},n(Math.pow(2,o)),i(m=r,a),e=Zi.select(e),E&gt;0&amp;&amp;(e=e.transition().duration(E)),e.call(t.event)}function o(){b&amp;&amp;b.domain(x.range().map(function(t){return(t-k.x)/k.k}).map(x.invert)),w&amp;&amp;w.domain(_.range().map(function(t){return(t-k.y)/k.k}).map(_.invert))}function s(t){L++||t({type:&quot;zoomstart&quot;})}function l(t){o(),t({type:&quot;zoom&quot;,scale:k.k,translate:[k.x,k.y]})}function c(t){--L||(t({type:&quot;zoomend&quot;}),m=null)}function u(){var t=this,n=P.of(t,arguments),a=0,o=Zi.select(r(t)).on(z,function(){a=1,i(Zi.mouse(t),u),l(n)}).on(D,function(){o.on(z,null).on(D,null),f(a),c(n)}),u=e(Zi.mouse(t)),f=Y(t);Ts.call(t),s(n)}function f(){function t(){var t=Zi.touches(p);return d=k.k,t.forEach(function(t){t.identifier in g&amp;&amp;(g[t.identifier]=e(t))}),t}function r(){var e=Zi.event.target;Zi.select(e).on(b,o).on(_,h),w.push(e);for(var r=Zi.event.changedTouches,n=0,i=r.length;n&lt;i;++n)g[r[n].identifier]=null;var s=t(),l=Date.now();if(1===s.length){if(l-y&lt;500){var c=s[0];a(p,c,g[c.identifier],Math.floor(Math.log(k.k)/Math.LN2)+1),M()}y=l}else if(s.length&gt;1){c=s[0];var u=s[1],f=c[0]-u[0],d=c[1]-u[1];v=f*f+d*d}}function o(){var t,e,r,a,o=Zi.touches(p);Ts.call(p);for(var s=0,c=o.length;s&lt;c;++s,a=null)if(r=o[s],a=g[r.identifier]){if(e)break;t=r,e=a}if(a){var u=(u=r[0]-t[0])*u+(u=r[1]-t[1])*u,f=v&amp;&amp;Math.sqrt(u/v);t=[(t[0]+r[0])/2,(t[1]+r[1])/2],e=[(e[0]+a[0])/2,(e[1]+a[1])/2],n(f*d)}y=null,i(t,e),l(m)}function h(){if(Zi.event.touches.length){for(var e=Zi.event.changedTouches,r=0,n=e.length;r&lt;n;++r)delete g[e[r].identifier];for(var i in g)return void t()}Zi.selectAll(w).on(x,null),A.on(C,u).on(I,f),T(),c(m)}var d,p=this,m=P.of(p,arguments),g={},v=0,x=&quot;.zoom-&quot;+Zi.event.changedTouches[0].identifier,b=&quot;touchmove&quot;+x,_=&quot;touchend&quot;+x,w=[],A=Zi.select(p),T=Y(p);r(),s(m),A.on(C,null).on(I,r)}function h(){var t=P.of(this,arguments);v?clearTimeout(v):(Ts.call(this),p=e(m=g||Zi.mouse(this)),s(t)),v=setTimeout(function(){v=null,c(t)},50),M(),n(Math.pow(2,.002*za())*k.k),i(m,p),l(t)}function d(){var t=Zi.mouse(this),r=Math.log(k.k)/Math.LN2;a(this,t,e(t),Zi.event.shiftKey?Math.ceil(r)-1:Math.floor(r)+1)}var p,m,g,v,y,x,b,_,w,k={x:0,y:0,k:1},T=[960,500],S=Ia,E=250,L=0,C=&quot;mousedown.zoom&quot;,z=&quot;mousemove.zoom&quot;,D=&quot;mouseup.zoom&quot;,I=&quot;touchstart.zoom&quot;,P=A(t,&quot;zoomstart&quot;,&quot;zoom&quot;,&quot;zoomend&quot;);return Da||(Da=&quot;onwheel&quot;in Qi?(za=function(){return-Zi.event.deltaY*(Zi.event.deltaMode?120:1)},&quot;wheel&quot;):&quot;onmousewheel&quot;in Qi?(za=function(){return Zi.event.wheelDelta},&quot;mousewheel&quot;):(za=function(){return-Zi.event.detail},&quot;MozMousePixelScroll&quot;)),t.event=function(t){t.each(function(){var t=P.of(this,arguments),e=k;ks?Zi.select(this).transition().each(&quot;start.zoom&quot;,function(){k=this.__chart__||{x:0,y:0,k:1},s(t)}).tween(&quot;zoom:zoom&quot;,function(){var r=T[0],n=T[1],i=m?m[0]:r/2,a=m?m[1]:n/2,o=Zi.interpolateZoom([(i-k.x)/k.k,(a-k.y)/k.k,r/k.k],[(i-e.x)/e.k,(a-e.y)/e.k,r/e.k]);return function(e){var n=o(e),s=r/n[2];this.__chart__=k={x:i-n[0]*s,y:a-n[1]*s,k:s},l(t)}}).each(&quot;interrupt.zoom&quot;,function(){c(t)}).each(&quot;end.zoom&quot;,function(){c(t)}):(this.__chart__=k,s(t),l(t),c(t))})},t.translate=function(e){return arguments.length?(k={x:+e[0],y:+e[1],k:k.k},o(),t):[k.x,k.y]},t.scale=function(e){return arguments.length?(k={x:k.x,y:k.y,k:null},n(+e),o(),t):k.k},t.scaleExtent=function(e){return arguments.length?(S=null==e?Ia:[+e[0],+e[1]],t):S},t.center=function(e){return arguments.length?(g=e&amp;&amp;[+e[0],+e[1]],t):g},t.size=function(e){return arguments.length?(T=e&amp;&amp;[+e[0],+e[1]],t):T},t.duration=function(e){return arguments.length?(E=+e,t):E},t.x=function(e){return arguments.length?(b=e,x=e.copy(),k={x:0,y:0,k:1},t):b},t.y=function(e){return arguments.length?(w=e,_=e.copy(),k={x:0,y:0,k:1},t):w},Zi.rebind(t,P,&quot;on&quot;)};var za,Da,Ia=[0,1/0];Zi.color=et,et.prototype.toString=function(){return this.rgb()+&quot;&quot;},Zi.hsl=rt;var Pa=rt.prototype=new et;Pa.brighter=function(t){return t=Math.pow(.7,arguments.length?t:1),new rt(this.h,this.s,this.l/t)},Pa.darker=function(t){return t=Math.pow(.7,arguments.length?t:1),new rt(this.h,this.s,t*this.l)},Pa.rgb=function(){return nt(this.h,this.s,this.l)},Zi.hcl=it;var Oa=it.prototype=new et;Oa.brighter=function(t){return new it(this.h,this.c,Math.min(100,this.l+Fa*(arguments.length?t:1)))},Oa.darker=function(t){return new it(this.h,this.c,Math.max(0,this.l-Fa*(arguments.length?t:1)))},Oa.rgb=function(){return at(this.h,this.c,this.l).rgb()},Zi.lab=ot;var Fa=18,Ra=.95047,Na=1,ja=1.08883,Ba=ot.prototype=new et;Ba.brighter=function(t){return new ot(Math.min(100,this.l+Fa*(arguments.length?t:1)),this.a,this.b)},Ba.darker=function(t){return new ot(Math.max(0,this.l-Fa*(arguments.length?t:1)),this.a,this.b)},Ba.rgb=function(){return st(this.l,this.a,this.b)},Zi.rgb=ht;var Ua=ht.prototype=new et;Ua.brighter=function(t){t=Math.pow(.7,arguments.length?t:1);var e=this.r,r=this.g,n=this.b;return e||r||n?(e&amp;&amp;e&lt;30&amp;&amp;(e=30),r&amp;&amp;r&lt;30&amp;&amp;(r=30),n&amp;&amp;n&lt;30&amp;&amp;(n=30),new ht(Math.min(255,e/t),Math.min(255,r/t),Math.min(255,n/t))):new ht(30,30,30)},Ua.darker=function(t){return t=Math.pow(.7,arguments.length?t:1),new ht(t*this.r,t*this.g,t*this.b)},Ua.hsl=function(){return vt(this.r,this.g,this.b)},Ua.toString=function(){return&quot;#&quot;+mt(this.r)+mt(this.g)+mt(this.b)};var Va=Zi.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});Va.forEach(function(t,e){Va.set(t,dt(e))}),Zi.functor=_t,Zi.xhr=wt(y),Zi.dsv=function(t,e){function r(t,r,a){arguments.length&lt;3&amp;&amp;(a=r,r=null);var o=Mt(t,e,null==r?n:i(r),a);return o.row=function(t){return arguments.length?o.response(null==(r=t)?n:i(t)):r},o}function n(t){return r.parse(t.responseText)}function i(t){return function(e){return r.parse(e.responseText,t)}}function a(e){return e.map(o).join(t)}function o(t){return s.test(t)?'&quot;'+t.replace(/\&quot;/g,'&quot;&quot;')+'&quot;':t}var s=new RegExp('[&quot;'+t+&quot;\n]&quot;),l=t.charCodeAt(0);return r.parse=function(t,e){var n;return r.parseRows(t,function(t,r){if(n)return n(t,r-1);var i=new Function(&quot;d&quot;,&quot;return {&quot;+t.map(function(t,e){return JSON.stringify(t)+&quot;: d[&quot;+e+&quot;]&quot;}).join(&quot;,&quot;)+&quot;}&quot;);n=e?function(t,r){return e(i(t),r)}:i})},r.parseRows=function(t,e){function r(){if(u&gt;=c)return o;if(i)return i=!1,a;var e=u;if(34===t.charCodeAt(e)){for(var r=e;r++&lt;c;)if(34===t.charCodeAt(r)){if(34!==t.charCodeAt(r+1))break;++r}u=r+2;return 13===(n=t.charCodeAt(r+1))?(i=!0,10===t.charCodeAt(r+2)&amp;&amp;++u):10===n&amp;&amp;(i=!0),t.slice(e+1,r).replace(/&quot;&quot;/g,'&quot;')}for(;u&lt;c;){var n,s=1;if(10===(n=t.charCodeAt(u++)))i=!0;else if(13===n)i=!0,10===t.charCodeAt(u)&amp;&amp;(++u,++s);else if(n!==l)continue;return t.slice(e,u-s)}return t.slice(e)}for(var n,i,a={},o={},s=[],c=t.length,u=0,f=0;(n=r())!==o;){for(var h=[];n!==a&amp;&amp;n!==o;)h.push(n),n=r();e&amp;&amp;null==(h=e(h,f++))||s.push(h)}return s},r.format=function(e){if(Array.isArray(e[0]))return r.formatRows(e);var n=new v,i=[];return e.forEach(function(t){for(var e in t)n.has(e)||i.push(n.add(e))}),[i.map(o).join(t)].concat(e.map(function(e){return i.map(function(t){return o(e[t])}).join(t)})).join(&quot;\n&quot;)},r.formatRows=function(t){return t.map(a).join(&quot;\n&quot;)},r},Zi.csv=Zi.dsv(&quot;,&quot;,&quot;text/csv&quot;),Zi.tsv=Zi.dsv(&quot;\t&quot;,&quot;text/tab-separated-values&quot;);var qa,Ha,Ga,Ya,Wa=this[x(this,&quot;requestAnimationFrame&quot;)]||function(t){setTimeout(t,17)};Zi.timer=function(){kt.apply(this,arguments)},Zi.timer.flush=function(){Tt(),St()},Zi.round=function(t,e){return e?Math.round(t*(e=Math.pow(10,e)))/e:Math.round(t)};var Xa=[&quot;y&quot;,&quot;z&quot;,&quot;a&quot;,&quot;f&quot;,&quot;p&quot;,&quot;n&quot;,&quot;\xb5&quot;,&quot;m&quot;,&quot;&quot;,&quot;k&quot;,&quot;M&quot;,&quot;G&quot;,&quot;T&quot;,&quot;P&quot;,&quot;E&quot;,&quot;Z&quot;,&quot;Y&quot;].map(function(t,e){var r=Math.pow(10,3*aa(8-e));return{scale:e&gt;8?function(t){return t/r}:function(t){return t*r},symbol:t}});Zi.formatPrefix=function(t,e){var r=0;return(t=+t)&amp;&amp;(t&lt;0&amp;&amp;(t*=-1),e&amp;&amp;(t=Zi.round(t,Et(t,e))),r=1+Math.floor(1e-12+Math.log(t)/Math.LN10),r=Math.max(-24,Math.min(24,3*Math.floor((r-1)/3)))),Xa[8+r/3]};var Za=/(?:([^{])?([&lt;&gt;=^]))?([+\- ])?([$#])?(0)?(\d+)?(,)?(\.-?\d+)?([a-z%])?/i,Ja=Zi.map({b:function(t){return t.toString(2)},c:function(t){return String.fromCharCode(t)},o:function(t){return t.toString(8)},x:function(t){return t.toString(16)},X:function(t){return t.toString(16).toUpperCase()},g:function(t,e){return t.toPrecision(e)},e:function(t,e){return t.toExponential(e)},f:function(t,e){return t.toFixed(e)},r:function(t,e){return(t=Zi.round(t,Et(t,e))).toFixed(Math.max(0,Math.min(20,Et(t*(1+1e-15),e))))}}),Ka=Zi.time={},Qa=Date;Lt.prototype={getDate:function(){return this._.getUTCDate()},getDay:function(){return this._.getUTCDay()},getFullYear:function(){return this._.getUTCFullYear()},getHours:function(){return this._.getUTCHours()},getMilliseconds:function(){return this._.getUTCMilliseconds()},getMinutes:function(){return this._.getUTCMinutes()},getMonth:function(){return this._.getUTCMonth()},getSeconds:function(){return this._.getUTCSeconds()},getTime:function(){return this._.getTime()},getTimezoneOffset:function(){return 0},valueOf:function(){return this._.valueOf()},setDate:function(){$a.setUTCDate.apply(this._,arguments)},setDay:function(){$a.setUTCDay.apply(this._,arguments)},setFullYear:function(){$a.setUTCFullYear.apply(this._,arguments)},setHours:function(){$a.setUTCHours.apply(this._,arguments)},setMilliseconds:function(){$a.setUTCMilliseconds.apply(this._,arguments)},setMinutes:function(){$a.setUTCMinutes.apply(this._,arguments)},setMonth:function(){$a.setUTCMonth.apply(this._,arguments)},setSeconds:function(){$a.setUTCSeconds.apply(this._,arguments)},setTime:function(){$a.setTime.apply(this._,arguments)}};var $a=Date.prototype;Ka.year=Ct(function(t){return(t=Ka.day(t)).setMonth(0,1),t},function(t,e){t.setFullYear(t.getFullYear()+e)},function(t){return t.getFullYear()}),Ka.years=Ka.year.range,Ka.years.utc=Ka.year.utc.range,Ka.day=Ct(function(t){var e=new Qa(2e3,0);return e.setFullYear(t.getFullYear(),t.getMonth(),t.getDate()),e},function(t,e){t.setDate(t.getDate()+e)},function(t){return t.getDate()-1}),Ka.days=Ka.day.range,Ka.days.utc=Ka.day.utc.range,Ka.dayOfYear=function(t){var e=Ka.year(t);return Math.floor((t-e-6e4*(t.getTimezoneOffset()-e.getTimezoneOffset()))/864e5)},[&quot;sunday&quot;,&quot;monday&quot;,&quot;tuesday&quot;,&quot;wednesday&quot;,&quot;thursday&quot;,&quot;friday&quot;,&quot;saturday&quot;].forEach(function(t,e){e=7-e;var r=Ka[t]=Ct(function(t){return(t=Ka.day(t)).setDate(t.getDate()-(t.getDay()+e)%7),t},function(t,e){t.setDate(t.getDate()+7*Math.floor(e))},function(t){var r=Ka.year(t).getDay();return Math.floor((Ka.dayOfYear(t)+(r+e)%7)/7)-(r!==e)});Ka[t+&quot;s&quot;]=r.range,Ka[t+&quot;s&quot;].utc=r.utc.range,Ka[t+&quot;OfYear&quot;]=function(t){var r=Ka.year(t).getDay();return Math.floor((Ka.dayOfYear(t)+(r+e)%7)/7)}}),Ka.week=Ka.sunday,Ka.weeks=Ka.sunday.range,Ka.weeks.utc=Ka.sunday.utc.range,Ka.weekOfYear=Ka.sundayOfYear;var to={&quot;-&quot;:&quot;&quot;,_:&quot; &quot;,0:&quot;0&quot;},eo=/^\s*\d+/,ro=/^%/;Zi.locale=function(t){return{numberFormat:function(t){var e=t.decimal,r=t.thousands,n=t.grouping,i=t.currency,a=n&amp;&amp;r?function(t,e){for(var i=t.length,a=[],o=0,s=n[0],l=0;i&gt;0&amp;&amp;s&gt;0&amp;&amp;(l+s+1&gt;e&amp;&amp;(s=Math.max(1,e-l)),a.push(t.substring(i-=s,i+s)),!((l+=s+1)&gt;e));)s=n[o=(o+1)%n.length];return a.reverse().join(r)}:y;return function(t){var r=Za.exec(t),n=r[1]||&quot; &quot;,o=r[2]||&quot;&gt;&quot;,s=r[3]||&quot;-&quot;,l=r[4]||&quot;&quot;,c=r[5],u=+r[6],f=r[7],h=r[8],d=r[9],p=1,m=&quot;&quot;,g=&quot;&quot;,v=!1,y=!0;switch(h&amp;&amp;(h=+h.substring(1)),(c||&quot;0&quot;===n&amp;&amp;&quot;=&quot;===o)&amp;&amp;(c=n=&quot;0&quot;,o=&quot;=&quot;),d){case&quot;n&quot;:f=!0,d=&quot;g&quot;;break;case&quot;%&quot;:p=100,g=&quot;%&quot;,d=&quot;f&quot;;break;case&quot;p&quot;:p=100,g=&quot;%&quot;,d=&quot;r&quot;;break;case&quot;b&quot;:case&quot;o&quot;:case&quot;x&quot;:case&quot;X&quot;:&quot;#&quot;===l&amp;&amp;(m=&quot;0&quot;+d.toLowerCase());case&quot;c&quot;:y=!1;case&quot;d&quot;:v=!0,h=0;break;case&quot;s&quot;:p=-1,d=&quot;r&quot;}&quot;$&quot;===l&amp;&amp;(m=i[0],g=i[1]),&quot;r&quot;!=d||h||(d=&quot;g&quot;),null!=h&amp;&amp;(&quot;g&quot;==d?h=Math.max(1,Math.min(21,h)):&quot;e&quot;!=d&amp;&amp;&quot;f&quot;!=d||(h=Math.max(0,Math.min(20,h)))),d=Ja.get(d)||function(t){return t+&quot;&quot;};var x=c&amp;&amp;f;return function(t){var r=g;if(v&amp;&amp;t%1)return&quot;&quot;;var i=t&lt;0||0===t&amp;&amp;1/t&lt;0?(t=-t,&quot;-&quot;):&quot;-&quot;===s?&quot;&quot;:s;if(p&lt;0){var l=Zi.formatPrefix(t,h);t=l.scale(t),r=l.symbol+g}else t*=p;var b,_,w=(t=d(t,h)).lastIndexOf(&quot;.&quot;);if(w&lt;0){var M=y?t.lastIndexOf(&quot;e&quot;):-1;M&lt;0?(b=t,_=&quot;&quot;):(b=t.substring(0,M),_=t.substring(M))}else b=t.substring(0,w),_=e+t.substring(w+1);!c&amp;&amp;f&amp;&amp;(b=a(b,1/0));var k=m.length+b.length+_.length+(x?0:i.length),A=k&lt;u?new Array(k=u-k+1).join(n):&quot;&quot;;return x&amp;&amp;(b=a(A+b,A.length?u-_.length:1/0)),i+=m,t=b+_,(&quot;&lt;&quot;===o?i+t+A:&quot;&gt;&quot;===o?A+i+t:&quot;^&quot;===o?A.substring(0,k&gt;&gt;=1)+i+t+A.substring(k):i+(x?t:A+t))+r}}}(t),timeFormat:function(t){function e(t){function e(e){for(var r,i,a,o=[],s=-1,l=0;++s&lt;n;)37===t.charCodeAt(s)&amp;&amp;(o.push(t.slice(l,s)),null!=(i=to[r=t.charAt(++s)])&amp;&amp;(r=t.charAt(++s)),(a=b[r])&amp;&amp;(r=a(e,null==i?&quot;e&quot;===r?&quot; &quot;:&quot;0&quot;:i)),o.push(r),l=s+1);return o.push(t.slice(l,s)),o.join(&quot;&quot;)}var n=t.length;return e.parse=function(e){var n={y:1900,m:0,d:1,H:0,M:0,S:0,L:0,Z:null};if(r(n,t,e,0)!=e.length)return null;&quot;p&quot;in n&amp;&amp;(n.H=n.H%12+12*n.p);var i=null!=n.Z&amp;&amp;Qa!==Lt,a=new(i?Lt:Qa);return&quot;j&quot;in n?a.setFullYear(n.y,0,n.j):&quot;W&quot;in n||&quot;U&quot;in n?(&quot;w&quot;in n||(n.w=&quot;W&quot;in n?1:0),a.setFullYear(n.y,0,1),a.setFullYear(n.y,0,&quot;W&quot;in n?(n.w+6)%7+7*n.W-(a.getDay()+5)%7:n.w+7*n.U-(a.getDay()+6)%7)):a.setFullYear(n.y,n.m,n.d),a.setHours(n.H+(n.Z/100|0),n.M+n.Z%100,n.S,n.L),i?a._:a},e.toString=function(){return t},e}function r(t,e,r,n){for(var i,a,o,s=0,l=e.length,c=r.length;s&lt;l;){if(n&gt;=c)return-1;if(37===(i=e.charCodeAt(s++))){if(o=e.charAt(s++),!(a=_[o in to?e.charAt(s++):o])||(n=a(t,r,n))&lt;0)return-1}else if(i!=r.charCodeAt(n++))return-1}return n}var n=t.dateTime,i=t.date,a=t.time,o=t.periods,s=t.days,l=t.shortDays,c=t.months,u=t.shortMonths;e.multi=(e.utc=function(t){function r(t){try{var e=new(Qa=Lt);return e._=t,n(e)}finally{Qa=Date}}var n=e(t);return r.parse=function(t){try{Qa=Lt;var e=n.parse(t);return e&amp;&amp;e._}finally{Qa=Date}},r.toString=n.toString,r}).multi=Jt;var f=Zi.map(),h=It(s),d=Pt(s),p=It(l),m=Pt(l),g=It(c),v=Pt(c),y=It(u),x=Pt(u);o.forEach(function(t,e){f.set(t.toLowerCase(),e)});var b={a:function(t){return l[t.getDay()]},A:function(t){return s[t.getDay()]},b:function(t){return u[t.getMonth()]},B:function(t){return c[t.getMonth()]},c:e(n),d:function(t,e){return Dt(t.getDate(),e,2)},e:function(t,e){return Dt(t.getDate(),e,2)},H:function(t,e){return Dt(t.getHours(),e,2)},I:function(t,e){return Dt(t.getHours()%12||12,e,2)},j:function(t,e){return Dt(1+Ka.dayOfYear(t),e,3)},L:function(t,e){return Dt(t.getMilliseconds(),e,3)},m:function(t,e){return Dt(t.getMonth()+1,e,2)},M:function(t,e){return Dt(t.getMinutes(),e,2)},p:function(t){return o[+(t.getHours()&gt;=12)]},S:function(t,e){return Dt(t.getSeconds(),e,2)},U:function(t,e){return Dt(Ka.sundayOfYear(t),e,2)},w:function(t){return t.getDay()},W:function(t,e){return Dt(Ka.mondayOfYear(t),e,2)},x:e(i),X:e(a),y:function(t,e){return Dt(t.getFullYear()%100,e,2)},Y:function(t,e){return Dt(t.getFullYear()%1e4,e,4)},Z:Xt,&quot;%&quot;:function(){return&quot;%&quot;}},_={a:function(t,e,r){p.lastIndex=0;var n=p.exec(e.slice(r));return n?(t.w=m.get(n[0].toLowerCase()),r+n[0].length):-1},A:function(t,e,r){h.lastIndex=0;var n=h.exec(e.slice(r));return n?(t.w=d.get(n[0].toLowerCase()),r+n[0].length):-1},b:function(t,e,r){y.lastIndex=0;var n=y.exec(e.slice(r));return n?(t.m=x.get(n[0].toLowerCase()),r+n[0].length):-1},B:function(t,e,r){g.lastIndex=0;var n=g.exec(e.slice(r));return n?(t.m=v.get(n[0].toLowerCase()),r+n[0].length):-1},c:function(t,e,n){return r(t,b.c.toString(),e,n)},d:Vt,e:Vt,H:Ht,I:Ht,j:qt,L:Wt,m:Ut,M:Gt,p:function(t,e,r){var n=f.get(e.slice(r,r+=2).toLowerCase());return null==n?-1:(t.p=n,r)},S:Yt,U:Ft,w:Ot,W:Rt,x:function(t,e,n){return r(t,b.x.toString(),e,n)},X:function(t,e,n){return r(t,b.X.toString(),e,n)},y:jt,Y:Nt,Z:Bt,&quot;%&quot;:Zt};return e}(t)}};var no=Zi.locale({decimal:&quot;.&quot;,thousands:&quot;,&quot;,grouping:[3],currency:[&quot;$&quot;,&quot;&quot;],dateTime:&quot;%a %b %e %X %Y&quot;,date:&quot;%m/%d/%Y&quot;,time:&quot;%H:%M:%S&quot;,periods:[&quot;AM&quot;,&quot;PM&quot;],days:[&quot;Sunday&quot;,&quot;Monday&quot;,&quot;Tuesday&quot;,&quot;Wednesday&quot;,&quot;Thursday&quot;,&quot;Friday&quot;,&quot;Saturday&quot;],shortDays:[&quot;Sun&quot;,&quot;Mon&quot;,&quot;Tue&quot;,&quot;Wed&quot;,&quot;Thu&quot;,&quot;Fri&quot;,&quot;Sat&quot;],months:[&quot;January&quot;,&quot;February&quot;,&quot;March&quot;,&quot;April&quot;,&quot;May&quot;,&quot;June&quot;,&quot;July&quot;,&quot;August&quot;,&quot;September&quot;,&quot;October&quot;,&quot;November&quot;,&quot;December&quot;],shortMonths:[&quot;Jan&quot;,&quot;Feb&quot;,&quot;Mar&quot;,&quot;Apr&quot;,&quot;May&quot;,&quot;Jun&quot;,&quot;Jul&quot;,&quot;Aug&quot;,&quot;Sep&quot;,&quot;Oct&quot;,&quot;Nov&quot;,&quot;Dec&quot;]});Zi.format=no.numberFormat,Zi.geo={},Kt.prototype={s:0,t:0,add:function(t){Qt(t,this.t,io),Qt(io.s,this.s,this),this.s?this.t+=io.t:this.s=io.t},reset:function(){this.s=this.t=0},valueOf:function(){return this.s}};var io=new Kt;Zi.geo.stream=function(t,e){t&amp;&amp;ao.hasOwnProperty(t.type)?ao[t.type](t,e):$t(t,e)};var ao={Feature:function(t,e){$t(t.geometry,e)},FeatureCollection:function(t,e){for(var r=t.features,n=-1,i=r.length;++n&lt;i;)$t(r[n].geometry,e)}},oo={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&lt;i;)t=r[n],e.point(t[0],t[1],t[2])},LineString:function(t,e){te(t.coordinates,e,0)},MultiLineString:function(t,e){for(var r=t.coordinates,n=-1,i=r.length;++n&lt;i;)te(r[n],e,0)},Polygon:function(t,e){ee(t.coordinates,e)},MultiPolygon:function(t,e){for(var r=t.coordinates,n=-1,i=r.length;++n&lt;i;)ee(r[n],e)},GeometryCollection:function(t,e){for(var r=t.geometries,n=-1,i=r.length;++n&lt;i;)$t(r[n],e)}};Zi.geo.area=function(t){return so=0,Zi.geo.stream(t,co),so};var so,lo=new Kt,co={sphere:function(){so+=4*ka},point:b,lineStart:b,lineEnd:b,polygonStart:function(){lo.reset(),co.lineStart=re},polygonEnd:function(){var t=2*lo;so+=t&lt;0?4*ka+t:t,co.lineStart=co.lineEnd=co.point=b}};Zi.geo.bounds=function(){function t(t,e){x.push(b=[u=t,h=t]),e&lt;f&amp;&amp;(f=e),e&gt;d&amp;&amp;(d=e)}function e(e,r){var n=ne([e*Ea,r*Ea]);if(v){var i=ae(v,n),a=ae([i[1],-i[0],0],i);le(a),a=ce(a);var o=e-p,l=o&gt;0?1:-1,c=a[0]*La*l,m=aa(o)&gt;180;if(m^(l*p&lt;c&amp;&amp;c&lt;l*e)){(g=a[1]*La)&gt;d&amp;&amp;(d=g)}else if(c=(c+360)%360-180,m^(l*p&lt;c&amp;&amp;c&lt;l*e)){var g;(g=-a[1]*La)&lt;f&amp;&amp;(f=g)}else r&lt;f&amp;&amp;(f=r),r&gt;d&amp;&amp;(d=r);m?e&lt;p?s(u,e)&gt;s(u,h)&amp;&amp;(h=e):s(e,h)&gt;s(u,h)&amp;&amp;(u=e):h&gt;=u?(e&lt;u&amp;&amp;(u=e),e&gt;h&amp;&amp;(h=e)):e&gt;p?s(u,e)&gt;s(u,h)&amp;&amp;(h=e):s(e,h)&gt;s(u,h)&amp;&amp;(u=e)}else t(e,r);v=n,p=e}function r(){_.point=e}function n(){b[0]=u,b[1]=h,_.point=t,v=null}function i(t,r){if(v){var n=t-p;y+=aa(n)&gt;180?n+(n&gt;0?360:-360):n}else m=t,g=r;co.point(t,r),e(t,r)}function a(){co.lineStart()}function o(){i(m,g),co.lineEnd(),aa(y)&gt;wa&amp;&amp;(u=-(h=180)),b[0]=u,b[1]=h,v=null}function s(t,e){return(e-=t)&lt;0?e+360:e}function l(t,e){return t[0]-e[0]}function c(t,e){return e[0]&lt;=e[1]?e[0]&lt;=t&amp;&amp;t&lt;=e[1]:t&lt;e[0]||e[1]&lt;t}var u,f,h,d,p,m,g,v,y,x,b,_={point:t,lineStart:r,lineEnd:n,polygonStart:function(){_.point=i,_.lineStart=a,_.lineEnd=o,y=0,co.polygonStart()},polygonEnd:function(){co.polygonEnd(),_.point=t,_.lineStart=r,_.lineEnd=n,lo&lt;0?(u=-(h=180),f=-(d=90)):y&gt;wa?d=90:y&lt;-wa&amp;&amp;(f=-90),b[0]=u,b[1]=h}};return function(t){d=h=-(u=f=1/0),x=[],Zi.geo.stream(t,_);if(i=x.length){x.sort(l);for(var e=1,r=[p=x[0]];e&lt;i;++e)c((a=x[e])[0],p)||c(a[1],p)?(s(p[0],a[1])&gt;s(p[0],p[1])&amp;&amp;(p[1]=a[1]),s(a[0],p[1])&gt;s(p[0],p[1])&amp;&amp;(p[0]=a[0])):r.push(p=a);for(var n,i,a,o=-1/0,p=(e=0,r[i=r.length-1]);e&lt;=i;p=a,++e)a=r[e],(n=s(p[1],a[0]))&gt;o&amp;&amp;(o=n,u=a[0],h=p[1])}return x=b=null,u===1/0||f===1/0?[[NaN,NaN],[NaN,NaN]]:[[u,f],[h,d]]}}(),Zi.geo.centroid=function(t){uo=fo=ho=po=mo=go=vo=yo=xo=bo=_o=0,Zi.geo.stream(t,wo);var e=xo,r=bo,n=_o,i=e*e+r*r+n*n;return i&lt;Ma&amp;&amp;(e=go,r=vo,n=yo,fo&lt;wa&amp;&amp;(e=ho,r=po,n=mo),(i=e*e+r*r+n*n)&lt;Ma)?[NaN,NaN]:[Math.atan2(r,e)*La,Q(n/Math.sqrt(i))*La]};var uo,fo,ho,po,mo,go,vo,yo,xo,bo,_o,wo={sphere:b,point:fe,lineStart:de,lineEnd:pe,polygonStart:function(){wo.lineStart=me},polygonEnd:function(){wo.lineStart=de}},Mo=_e(ve,function(t){var e,r=NaN,n=NaN,i=NaN;return{lineStart:function(){t.lineStart(),e=1},point:function(a,o){var s=a&gt;0?ka:-ka,l=aa(a-r);aa(l-ka)&lt;wa?(t.point(r,n=(n+o)/2&gt;0?Sa:-Sa),t.point(i,n),t.lineEnd(),t.lineStart(),t.point(s,n),t.point(a,n),e=0):i!==s&amp;&amp;l&gt;=ka&amp;&amp;(aa(r-i)&lt;wa&amp;&amp;(r-=i*wa),aa(a-s)&lt;wa&amp;&amp;(a-=s*wa),n=function(t,e,r,n){var i,a,o=Math.sin(t-r);return aa(o)&gt;wa?Math.atan((Math.sin(e)*(a=Math.cos(n))*Math.sin(r)-Math.sin(n)*(i=Math.cos(e))*Math.sin(t))/(i*a*o)):(e+n)/2}(r,n,a,o),t.point(i,n),t.lineEnd(),t.lineStart(),t.point(s,n),e=0),t.point(r=a,n=o),i=s},lineEnd:function(){t.lineEnd(),r=n=NaN},clean:function(){return 2-e}}},function(t,e,r,n){var i;if(null==t)i=r*Sa,n.point(-ka,i),n.point(0,i),n.point(ka,i),n.point(ka,0),n.point(ka,-i),n.point(0,-i),n.point(-ka,-i),n.point(-ka,0),n.point(-ka,i);else if(aa(t[0]-e[0])&gt;wa){var a=t[0]&lt;e[0]?ka:-ka;i=r*a/2,n.point(-a,i),n.point(0,i),n.point(a,i)}else n.point(e[0],e[1])},[-ka,-ka/2]),ko=1e9;Zi.geo.clipExtent=function(){var t,e,r,n,i,a,o={stream:function(t){return i&amp;&amp;(i.valid=!1),i=a(t),i.valid=!0,i},extent:function(s){return arguments.length?(a=Te(t=+s[0][0],e=+s[0][1],r=+s[1][0],n=+s[1][1]),i&amp;&amp;(i.valid=!1,i=null),o):[[t,e],[r,n]]}};return o.extent([[0,0],[960,500]])},(Zi.geo.conicEqualArea=function(){return Se(Ee)}).raw=Ee,Zi.geo.albers=function(){return Zi.geo.conicEqualArea().rotate([96,0]).center([-.6,38.7]).parallels([29.5,45.5]).scale(1070)},Zi.geo.albersUsa=function(){function t(t){var a=t[0],o=t[1];return e=null,r(a,o),e||(n(a,o),e)||i(a,o),e}var e,r,n,i,a=Zi.geo.albers(),o=Zi.geo.conicEqualArea().rotate([154,0]).center([-2,58.5]).parallels([55,65]),s=Zi.geo.conicEqualArea().rotate([157,0]).center([-3,19.9]).parallels([8,18]),l={point:function(t,r){e=[t,r]}};return t.invert=function(t){var e=a.scale(),r=a.translate(),n=(t[0]-r[0])/e,i=(t[1]-r[1])/e;return(i&gt;=.12&amp;&amp;i&lt;.234&amp;&amp;n&gt;=-.425&amp;&amp;n&lt;-.214?o:i&gt;=.166&amp;&amp;i&lt;.234&amp;&amp;n&gt;=-.214&amp;&amp;n&lt;-.115?s:a).invert(t)},t.stream=function(t){var e=a.stream(t),r=o.stream(t),n=s.stream(t);return{point:function(t,i){e.point(t,i),r.point(t,i),n.point(t,i)},sphere:function(){e.sphere(),r.sphere(),n.sphere()},lineStart:function(){e.lineStart(),r.lineStart(),n.lineStart()},lineEnd:function(){e.lineEnd(),r.lineEnd(),n.lineEnd()},polygonStart:function(){e.polygonStart(),r.polygonStart(),n.polygonStart()},polygonEnd:function(){e.polygonEnd(),r.polygonEnd(),n.polygonEnd()}}},t.precision=function(e){return arguments.length?(a.precision(e),o.precision(e),s.precision(e),t):a.precision()},t.scale=function(e){return arguments.length?(a.scale(e),o.scale(.35*e),s.scale(e),t.translate(a.translate())):a.scale()},t.translate=function(e){if(!arguments.length)return a.translate();var c=a.scale(),u=+e[0],f=+e[1];return r=a.translate(e).clipExtent([[u-.455*c,f-.238*c],[u+.455*c,f+.238*c]]).stream(l).point,n=o.translate([u-.307*c,f+.201*c]).clipExtent([[u-.425*c+wa,f+.12*c+wa],[u-.214*c-wa,f+.234*c-wa]]).stream(l).point,i=s.translate([u-.205*c,f+.212*c]).clipExtent([[u-.214*c+wa,f+.166*c+wa],[u-.115*c-wa,f+.234*c-wa]]).stream(l).point,t},t.scale(1070)};var Ao,To,So,Eo,Lo,Co,zo={point:b,lineStart:b,lineEnd:b,polygonStart:function(){To=0,zo.lineStart=Le},polygonEnd:function(){zo.lineStart=zo.lineEnd=zo.point=b,Ao+=aa(To/2)}},Do={point:function(t,e){t&lt;So&amp;&amp;(So=t),t&gt;Lo&amp;&amp;(Lo=t),e&lt;Eo&amp;&amp;(Eo=e),e&gt;Co&amp;&amp;(Co=e)},lineStart:b,lineEnd:b,polygonStart:b,polygonEnd:b},Io={point:ze,lineStart:De,lineEnd:Ie,polygonStart:function(){Io.lineStart=Pe},polygonEnd:function(){Io.point=ze,Io.lineStart=De,Io.lineEnd=Ie}};Zi.geo.path=function(){function t(t){return t&amp;&amp;(&quot;function&quot;==typeof s&amp;&amp;a.pointRadius(+s.apply(this,arguments)),o&amp;&amp;o.valid||(o=i(a)),Zi.geo.stream(t,o)),a.result()}function e(){return o=null,t}var r,n,i,a,o,s=4.5;return t.area=function(t){return Ao=0,Zi.geo.stream(t,i(zo)),Ao},t.centroid=function(t){return ho=po=mo=go=vo=yo=xo=bo=_o=0,Zi.geo.stream(t,i(Io)),_o?[xo/_o,bo/_o]:yo?[go/yo,vo/yo]:mo?[ho/mo,po/mo]:[NaN,NaN]},t.bounds=function(t){return Lo=Co=-(So=Eo=1/0),Zi.geo.stream(t,i(Do)),[[So,Eo],[Lo,Co]]},t.projection=function(t){return arguments.length?(i=(r=t)?t.stream||function(t){var e=Oe(function(e,r){return t([e*La,r*La])});return function(t){return Be(e(t))}}(t):y,e()):r},t.context=function(t){return arguments.length?(a=null==(n=t)?new function(){function t(t,e){o.push(&quot;M&quot;,t,&quot;,&quot;,e,a)}function e(t,e){o.push(&quot;M&quot;,t,&quot;,&quot;,e),s.point=r}function r(t,e){o.push(&quot;L&quot;,t,&quot;,&quot;,e)}function n(){s.point=t}function i(){o.push(&quot;Z&quot;)}var a=Ce(4.5),o=[],s={point:t,lineStart:function(){s.point=e},lineEnd:n,polygonStart:function(){s.lineEnd=i},polygonEnd:function(){s.lineEnd=n,s.point=t},pointRadius:function(t){return a=Ce(t),s},result:function(){if(o.length){var t=o.join(&quot;&quot;);return o=[],t}}};return s}:new function(t){function e(e,r){t.moveTo(e+o,r),t.arc(e,r,o,0,Aa)}function r(e,r){t.moveTo(e,r),s.point=n}function n(e,r){t.lineTo(e,r)}function i(){s.point=e}function a(){t.closePath()}var o=4.5,s={point:e,lineStart:function(){s.point=r},lineEnd:i,polygonStart:function(){s.lineEnd=a},polygonEnd:function(){s.lineEnd=i,s.point=e},pointRadius:function(t){return o=t,s},result:b};return s}(t),&quot;function&quot;!=typeof s&amp;&amp;a.pointRadius(s),e()):n},t.pointRadius=function(e){return arguments.length?(s=&quot;function&quot;==typeof e?e:(a.pointRadius(+e),+e),t):s},t.projection(Zi.geo.albersUsa()).context(null)},Zi.geo.transform=function(t){return{stream:function(e){var r=new Fe(e);for(var n in t)r[n]=t[n];return r}}},Fe.prototype={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()}},Zi.geo.projection=Ne,Zi.geo.projectionMutator=je,(Zi.geo.equirectangular=function(){return Ne(Ue)}).raw=Ue.invert=Ue,Zi.geo.rotation=function(t){function e(e){return e=t(e[0]*Ea,e[1]*Ea),e[0]*=La,e[1]*=La,e}return t=qe(t[0]%360*Ea,t[1]*Ea,t.length&gt;2?t[2]*Ea:0),e.invert=function(e){return e=t.invert(e[0]*Ea,e[1]*Ea),e[0]*=La,e[1]*=La,e},e},Ve.invert=Ue,Zi.geo.circle=function(){function t(){var t=&quot;function&quot;==typeof n?n.apply(this,arguments):n,e=qe(-t[0]*Ea,-t[1]*Ea,0).invert,i=[];return r(null,null,1,{point:function(t,r){i.push(t=e(t,r)),t[0]*=La,t[1]*=La}}),{type:&quot;Polygon&quot;,coordinates:[i]}}var e,r,n=[0,0],i=6;return t.origin=function(e){return arguments.length?(n=e,t):n},t.angle=function(n){return arguments.length?(r=We((e=+n)*Ea,i*Ea),t):e},t.precision=function(n){return arguments.length?(r=We(e*Ea,(i=+n)*Ea),t):i},t.angle(90)},Zi.geo.distance=function(t,e){var r,n=(e[0]-t[0])*Ea,i=t[1]*Ea,a=e[1]*Ea,o=Math.sin(n),s=Math.cos(n),l=Math.sin(i),c=Math.cos(i),u=Math.sin(a),f=Math.cos(a);return Math.atan2(Math.sqrt((r=f*o)*r+(r=c*u-l*f*s)*r),l*u+c*f*s)},Zi.geo.graticule=function(){function t(){return{type:&quot;MultiLineString&quot;,coordinates:e()}}function e(){return Zi.range(Math.ceil(a/g)*g,i,g).map(h).concat(Zi.range(Math.ceil(c/v)*v,l,v).map(d)).concat(Zi.range(Math.ceil(n/p)*p,r,p).filter(function(t){return aa(t%g)&gt;wa}).map(u)).concat(Zi.range(Math.ceil(s/m)*m,o,m).filter(function(t){return aa(t%v)&gt;wa}).map(f))}var r,n,i,a,o,s,l,c,u,f,h,d,p=10,m=p,g=90,v=360,y=2.5;return t.lines=function(){return e().map(function(t){return{type:&quot;LineString&quot;,coordinates:t}})},t.outline=function(){return{type:&quot;Polygon&quot;,coordinates:[h(a).concat(d(l).slice(1),h(i).reverse().slice(1),d(c).reverse().slice(1))]}},t.extent=function(e){return arguments.length?t.majorExtent(e).minorExtent(e):t.minorExtent()},t.majorExtent=function(e){return arguments.length?(a=+e[0][0],i=+e[1][0],c=+e[0][1],l=+e[1][1],a&gt;i&amp;&amp;(e=a,a=i,i=e),c&gt;l&amp;&amp;(e=c,c=l,l=e),t.precision(y)):[[a,c],[i,l]]},t.minorExtent=function(e){return arguments.length?(n=+e[0][0],r=+e[1][0],s=+e[0][1],o=+e[1][1],n&gt;r&amp;&amp;(e=n,n=r,r=e),s&gt;o&amp;&amp;(e=s,s=o,o=e),t.precision(y)):[[n,s],[r,o]]},t.step=function(e){return arguments.length?t.majorStep(e).minorStep(e):t.minorStep()},t.majorStep=function(e){return arguments.length?(g=+e[0],v=+e[1],t):[g,v]},t.minorStep=function(e){return arguments.length?(p=+e[0],m=+e[1],t):[p,m]},t.precision=function(e){return arguments.length?(y=+e,u=Ze(s,o,90),f=Je(n,r,y),h=Ze(c,l,90),d=Je(a,i,y),t):y},t.majorExtent([[-180,-90+wa],[180,90-wa]]).minorExtent([[-180,-80-wa],[180,80+wa]])},Zi.geo.greatArc=function(){function t(){return{type:&quot;LineString&quot;,coordinates:[e||n.apply(this,arguments),r||i.apply(this,arguments)]}}var e,r,n=Ke,i=Qe;return t.distance=function(){return Zi.geo.distance(e||n.apply(this,arguments),r||i.apply(this,arguments))},t.source=function(r){return arguments.length?(n=r,e=&quot;function&quot;==typeof r?null:r,t):n},t.target=function(e){return arguments.length?(i=e,r=&quot;function&quot;==typeof e?null:e,t):i},t.precision=function(){return arguments.length?t:0},t},Zi.geo.interpolate=function(t,e){return function(t,e,r,n){var i=Math.cos(e),a=Math.sin(e),o=Math.cos(n),s=Math.sin(n),l=i*Math.cos(t),c=i*Math.sin(t),u=o*Math.cos(r),f=o*Math.sin(r),h=2*Math.asin(Math.sqrt(tt(n-e)+i*o*tt(r-t))),d=1/Math.sin(h),p=h?function(t){var e=Math.sin(t*=h)*d,r=Math.sin(h-t)*d,n=r*l+e*u,i=r*c+e*f,o=r*a+e*s;return[Math.atan2(i,n)*La,Math.atan2(o,Math.sqrt(n*n+i*i))*La]}:function(){return[t*La,e*La]};return p.distance=h,p}(t[0]*Ea,t[1]*Ea,e[0]*Ea,e[1]*Ea)},Zi.geo.length=function(t){return Po=0,Zi.geo.stream(t,Oo),Po};var Po,Oo={sphere:b,point:b,lineStart:function(){function t(t,i){var a=Math.sin(i*=Ea),o=Math.cos(i),s=aa((t*=Ea)-e),l=Math.cos(s);Po+=Math.atan2(Math.sqrt((s=o*Math.sin(s))*s+(s=n*a-r*o*l)*s),r*a+n*o*l),e=t,r=a,n=o}var e,r,n;Oo.point=function(i,a){e=i*Ea,r=Math.sin(a*=Ea),n=Math.cos(a),Oo.point=t},Oo.lineEnd=function(){Oo.point=Oo.lineEnd=b}},lineEnd:b,polygonStart:b,polygonEnd:b},Fo=$e(function(t){return Math.sqrt(2/(1+t))},function(t){return 2*Math.asin(t/2)});(Zi.geo.azimuthalEqualArea=function(){return Ne(Fo)}).raw=Fo;var Ro=$e(function(t){var e=Math.acos(t);return e&amp;&amp;e/Math.sin(e)},y);(Zi.geo.azimuthalEquidistant=function(){return Ne(Ro)}).raw=Ro,(Zi.geo.conicConformal=function(){return Se(tr)}).raw=tr,(Zi.geo.conicEquidistant=function(){return Se(er)}).raw=er;var No=$e(function(t){return 1/t},Math.atan);(Zi.geo.gnomonic=function(){return Ne(No)}).raw=No,rr.invert=function(t,e){return[t,2*Math.atan(Math.exp(e))-Sa]},(Zi.geo.mercator=function(){return nr(rr)}).raw=rr;var jo=$e(function(){return 1},Math.asin);(Zi.geo.orthographic=function(){return Ne(jo)}).raw=jo;var Bo=$e(function(t){return 1/(1+t)},function(t){return 2*Math.atan(t)});(Zi.geo.stereographic=function(){return Ne(Bo)}).raw=Bo,ir.invert=function(t,e){return[-e,2*Math.atan(Math.exp(t))-Sa]},(Zi.geo.transverseMercator=function(){var t=nr(ir),e=t.center,r=t.rotate;return t.center=function(t){return t?e([-t[1],t[0]]):(t=e(),[t[1],-t[0]])},t.rotate=function(t){return t?r([t[0],t[1],t.length&gt;2?t[2]+90:90]):(t=r(),[t[0],t[1],t[2]-90])},r([0,0,90])}).raw=ir,Zi.geom={},Zi.geom.hull=function(t){function e(t){if(t.length&lt;3)return[];var e,i=_t(r),a=_t(n),o=t.length,s=[],l=[];for(e=0;e&lt;o;e++)s.push([+i.call(this,t[e],e),+a.call(this,t[e],e),e]);for(s.sort(lr),e=0;e&lt;o;e++)l.push([s[e][0],-s[e][1]]);var c=sr(s),u=sr(l),f=u[0]===c[0],h=u[u.length-1]===c[c.length-1],d=[];for(e=c.length-1;e&gt;=0;--e)d.push(t[s[c[e]][2]]);for(e=+f;e&lt;u.length-h;++e)d.push(t[s[u[e]][2]]);return d}var r=ar,n=or;return arguments.length?e(t):(e.x=function(t){return arguments.length?(r=t,e):r},e.y=function(t){return arguments.length?(n=t,e):n},e)},Zi.geom.polygon=function(t){return ua(t,Uo),t};var Uo=Zi.geom.polygon.prototype=[];Uo.area=function(){for(var t,e=-1,r=this.length,n=this[r-1],i=0;++e&lt;r;)t=n,n=this[e],i+=t[1]*n[0]-t[0]*n[1];return.5*i},Uo.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&lt;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]},Uo.clip=function(t){for(var e,r,n,i,a,o,s=fr(t),l=-1,c=this.length-fr(this),u=this[c-1];++l&lt;c;){for(e=t.slice(),t.length=0,i=this[l],a=e[(n=e.length-s)-1],r=-1;++r&lt;n;)cr(o=e[r],u,i)?(cr(a,u,i)||t.push(ur(a,o,u,i)),t.push(o)):cr(a,u,i)&amp;&amp;t.push(ur(a,o,u,i)),a=o;s&amp;&amp;t.push(t[0]),u=i}return t};var Vo,qo,Ho,Go,Yo,Wo=[],Xo=[];vr.prototype.prepare=function(){for(var t,e=this.edges,r=e.length;r--;)(t=e[r].edge).b&amp;&amp;t.a||e.splice(r,1);return e.sort(xr),e.length},Ar.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&amp;&amp;(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=Cr(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&amp;&amp;r.C;)r===(n=r.U).L?(i=n.R)&amp;&amp;i.C?(r.C=i.C=!1,n.C=!0,t=n):(t===r.R&amp;&amp;(Er(this,r),r=(t=r).U),r.C=!1,n.C=!0,Lr(this,n)):(i=n.L)&amp;&amp;i.C?(r.C=i.C=!1,n.C=!0,t=n):(t===r.L&amp;&amp;(Lr(this,r),r=(t=r).U),r.C=!1,n.C=!0,Er(this,n)),r=t.U;this._.C=!1},remove:function(t){t.N&amp;&amp;(t.N.P=t.P),t.P&amp;&amp;(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?Cr(o):a:o,i?i.L===t?i.L=r:i.R=r:this._=r,a&amp;&amp;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&amp;&amp;(t.U=i),!n)if(t&amp;&amp;t.C)t.C=!1;else{do{if(t===this._)break;if(t===i.L){if((e=i.R).C&amp;&amp;(e.C=!1,i.C=!0,Er(this,i),e=i.R),e.L&amp;&amp;e.L.C||e.R&amp;&amp;e.R.C){e.R&amp;&amp;e.R.C||(e.L.C=!1,e.C=!0,Lr(this,e),e=i.R),e.C=i.C,i.C=e.R.C=!1,Er(this,i),t=this._;break}}else if((e=i.L).C&amp;&amp;(e.C=!1,i.C=!0,Lr(this,i),e=i.L),e.L&amp;&amp;e.L.C||e.R&amp;&amp;e.R.C){e.L&amp;&amp;e.L.C||(e.R.C=!1,e.C=!0,Er(this,e),e=i.L),e.C=i.C,i.C=e.L.C=!1,Lr(this,i),t=this._;break}e.C=!0,t=i,i=i.U}while(!t.C);t&amp;&amp;(t.C=!1)}}},Zi.geom.voronoi=function(t){function e(t){var e=new Array(t.length),n=s[0][0],i=s[0][1],a=s[1][0],o=s[1][1];return zr(r(t),s).cells.forEach(function(r,s){var l=r.edges,c=r.site;(e[s]=l.length?l.map(function(t){var e=t.start();return[e.x,e.y]}):c.x&gt;=n&amp;&amp;c.x&lt;=a&amp;&amp;c.y&gt;=i&amp;&amp;c.y&lt;=o?[[n,o],[a,o],[a,i],[n,i]]:[]).point=t[s]}),e}function r(t){return t.map(function(t,e){return{x:Math.round(a(t,e)/wa)*wa,y:Math.round(o(t,e)/wa)*wa,i:e}})}var n=ar,i=or,a=n,o=i,s=Zo;return t?e(t):(e.links=function(t){return zr(r(t)).edges.filter(function(t){return t.l&amp;&amp;t.r}).map(function(e){return{source:t[e.l.i],target:t[e.r.i]}})},e.triangles=function(t){var e=[];return zr(r(t)).cells.forEach(function(r,n){for(var i,a=r.site,o=r.edges.sort(xr),s=-1,l=o.length,c=o[l-1].edge,u=c.l===a?c.r:c.l;++s&lt;l;)c,i=u,u=(c=o[s].edge).l===a?c.r:c.l,n&lt;i.i&amp;&amp;n&lt;u.i&amp;&amp;function(t,e,r){return(t.x-r.x)*(e.y-t.y)-(t.x-e.x)*(r.y-t.y)}(a,i,u)&lt;0&amp;&amp;e.push([t[n],t[i.i],t[u.i]])}),e},e.x=function(t){return arguments.length?(a=_t(n=t),e):n},e.y=function(t){return arguments.length?(o=_t(i=t),e):i},e.clipExtent=function(t){return arguments.length?(s=null==t?Zo:t,e):s===Zo?null:s},e.size=function(t){return arguments.length?e.clipExtent(t&amp;&amp;[[0,0],t]):s===Zo?null:s&amp;&amp;s[1]},e)};var Zo=[[-1e6,-1e6],[1e6,1e6]];Zi.geom.delaunay=function(t){return Zi.geom.voronoi().triangles(t)},Zi.geom.quadtree=function(t,e,r,n,i){function a(t){function a(t,e,r,n,i,a,o,s){if(!isNaN(r)&amp;&amp;!isNaN(n))if(t.leaf){var l=t.x,u=t.y;if(null!=l)if(aa(l-r)+aa(u-n)&lt;.01)c(t,e,r,n,i,a,o,s);else{var f=t.point;t.x=t.y=t.point=null,c(t,f,l,u,i,a,o,s),c(t,e,r,n,i,a,o,s)}else t.x=r,t.y=n,t.point=e}else c(t,e,r,n,i,a,o,s)}function c(t,e,r,n,i,o,s,l){var c=.5*(i+s),u=.5*(o+l),f=r&gt;=c,h=n&gt;=u,d=h&lt;&lt;1|f;t.leaf=!1,t=t.nodes[d]||(t.nodes[d]={leaf:!0,nodes:[],point:null,x:null,y:null}),f?i=c:s=c,h?o=u:l=u,a(t,e,r,n,i,o,s,l)}var u,f,h,d,p,m,g,v,y,x=_t(s),b=_t(l);if(null!=e)m=e,g=r,v=n,y=i;else if(v=y=-(m=g=1/0),f=[],h=[],p=t.length,o)for(d=0;d&lt;p;++d)(u=t[d]).x&lt;m&amp;&amp;(m=u.x),u.y&lt;g&amp;&amp;(g=u.y),u.x&gt;v&amp;&amp;(v=u.x),u.y&gt;y&amp;&amp;(y=u.y),f.push(u.x),h.push(u.y);else for(d=0;d&lt;p;++d){var _=+x(u=t[d],d),w=+b(u,d);_&lt;m&amp;&amp;(m=_),w&lt;g&amp;&amp;(g=w),_&gt;v&amp;&amp;(v=_),w&gt;y&amp;&amp;(y=w),f.push(_),h.push(w)}var M=v-m,k=y-g;M&gt;k?y=g+M:v=m+k;var A={leaf:!0,nodes:[],point:null,x:null,y:null};if(A.add=function(t){a(A,t,+x(t,++d),+b(t,d),m,g,v,y)},A.visit=function(t){Or(t,A,m,g,v,y)},A.find=function(t){return function(t,e,r,n,i,a,o){var s,l=1/0;return function t(c,u,f,h,d){if(!(u&gt;a||f&gt;o||h&lt;n||d&lt;i)){if(p=c.point){var p,m=e-c.x,g=r-c.y,v=m*m+g*g;if(v&lt;l){var y=Math.sqrt(l=v);n=e-y,i=r-y,a=e+y,o=r+y,s=p}}for(var x=c.nodes,b=.5*(u+h),_=.5*(f+d),w=(r&gt;=_)&lt;&lt;1|e&gt;=b,M=w+4;w&lt;M;++w)if(c=x[3&amp;w])switch(3&amp;w){case 0:t(c,u,f,b,_);break;case 1:t(c,b,f,h,_);break;case 2:t(c,u,_,b,d);break;case 3:t(c,b,_,h,d)}}}(t,n,i,a,o),s}(A,t[0],t[1],m,g,v,y)},d=-1,null==e){for(;++d&lt;p;)a(A,t[d],f[d],h[d],m,g,v,y);--d}else t.forEach(A.add);return f=h=t=u=null,A}var o,s=ar,l=or;return(o=arguments.length)?(s=Ir,l=Pr,3===o&amp;&amp;(i=r,n=e,r=e=0),a(t)):(a.x=function(t){return arguments.length?(s=t,a):s},a.y=function(t){return arguments.length?(l=t,a):l},a.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]),a):null==e?null:[[e,r],[n,i]]},a.size=function(t){return arguments.length?(null==t?e=r=n=i=null:(e=r=0,n=+t[0],i=+t[1]),a):null==e?null:[n-e,i-r]},a)},Zi.interpolateRgb=Fr,Zi.interpolateObject=Rr,Zi.interpolateNumber=Nr,Zi.interpolateString=jr;var Jo=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,Ko=new RegExp(Jo.source,&quot;g&quot;);Zi.interpolate=Br,Zi.interpolators=[function(t,e){var r=typeof e;return(&quot;string&quot;===r?Va.has(e.toLowerCase())||/^(#|rgb\(|hsl\()/i.test(e)?Fr:jr:e instanceof et?Fr:Array.isArray(e)?Ur:&quot;object&quot;===r&amp;&amp;isNaN(e)?Rr:Nr)(t,e)}],Zi.interpolateArray=Ur;var Qo=function(){return y},$o=Zi.map({linear:Qo,poly:function(t){return function(e){return Math.pow(e,t)}},quad:function(){return Hr},cubic:function(){return Gr},sin:function(){return Yr},exp:function(){return Wr},circle:function(){return Xr},elastic:function(t,e){var r;return arguments.length&lt;2&amp;&amp;(e=.45),arguments.length?r=e/Aa*Math.asin(1/t):(t=1,r=e/4),function(n){return 1+t*Math.pow(2,-10*n)*Math.sin((n-r)*Aa/e)}},back:function(t){return t||(t=1.70158),function(e){return e*e*((t+1)*e-t)}},bounce:function(){return Zr}}),ts=Zi.map({in:y,out:Vr,&quot;in-out&quot;:qr,&quot;out-in&quot;:function(t){return qr(Vr(t))}});Zi.ease=function(t){var e=t.indexOf(&quot;-&quot;),r=e&gt;=0?t.slice(0,e):t,n=e&gt;=0?t.slice(e+1):&quot;in&quot;;return r=$o.get(r)||Qo,n=ts.get(n)||y,function(t){return function(e){return e&lt;=0?0:e&gt;=1?1:t(e)}}(n(r.apply(null,Ji.call(arguments,1))))},Zi.interpolateHcl=function(t,e){t=Zi.hcl(t),e=Zi.hcl(e);var r=t.h,n=t.c,i=t.l,a=e.h-r,o=e.c-n,s=e.l-i;return isNaN(o)&amp;&amp;(o=0,n=isNaN(n)?e.c:n),isNaN(a)?(a=0,r=isNaN(r)?e.h:r):a&gt;180?a-=360:a&lt;-180&amp;&amp;(a+=360),function(t){return at(r+a*t,n+o*t,i+s*t)+&quot;&quot;}},Zi.interpolateHsl=function(t,e){t=Zi.hsl(t),e=Zi.hsl(e);var r=t.h,n=t.s,i=t.l,a=e.h-r,o=e.s-n,s=e.l-i;return isNaN(o)&amp;&amp;(o=0,n=isNaN(n)?e.s:n),isNaN(a)?(a=0,r=isNaN(r)?e.h:r):a&gt;180?a-=360:a&lt;-180&amp;&amp;(a+=360),function(t){return nt(r+a*t,n+o*t,i+s*t)+&quot;&quot;}},Zi.interpolateLab=function(t,e){t=Zi.lab(t),e=Zi.lab(e);var r=t.l,n=t.a,i=t.b,a=e.l-r,o=e.a-n,s=e.b-i;return function(t){return st(r+a*t,n+o*t,i+s*t)+&quot;&quot;}},Zi.interpolateRound=Jr,Zi.transform=function(t){var e=Qi.createElementNS(Zi.ns.prefix.svg,&quot;g&quot;);return(Zi.transform=function(t){if(null!=t){e.setAttribute(&quot;transform&quot;,t);var r=e.transform.baseVal.consolidate()}return new Kr(r?r.matrix:es)})(t)},Kr.prototype.toString=function(){return&quot;translate(&quot;+this.translate+&quot;)rotate(&quot;+this.rotate+&quot;)skewX(&quot;+this.skew+&quot;)scale(&quot;+this.scale+&quot;)&quot;};var es={a:1,b:0,c:0,d:1,e:0,f:0};Zi.interpolateTransform=en,Zi.layout={},Zi.layout.bundle=function(){return function(t){for(var e=[],r=-1,n=t.length;++r&lt;n;)e.push(rn(t[r]));return e}},Zi.layout.chord=function(){function t(){var t,c,f,h,d,p={},m=[],g=Zi.range(a),v=[];for(r=[],n=[],t=0,h=-1;++h&lt;a;){for(c=0,d=-1;++d&lt;a;)c+=i[h][d];m.push(c),v.push(Zi.range(a)),t+=c}for(o&amp;&amp;g.sort(function(t,e){return o(m[t],m[e])}),s&amp;&amp;v.forEach(function(t,e){t.sort(function(t,r){return s(i[e][t],i[e][r])})}),t=(Aa-u*a)/t,c=0,h=-1;++h&lt;a;){for(f=c,d=-1;++d&lt;a;){var y=g[h],x=v[y][d],b=i[y][x],_=c,w=c+=b*t;p[y+&quot;-&quot;+x]={index:y,subindex:x,startAngle:_,endAngle:w,value:b}}n[y]={index:y,startAngle:f,endAngle:c,value:m[y]},c+=u}for(h=-1;++h&lt;a;)for(d=h-1;++d&lt;a;){var M=p[h+&quot;-&quot;+d],k=p[d+&quot;-&quot;+h];(M.value||k.value)&amp;&amp;r.push(M.value&lt;k.value?{source:k,target:M}:{source:M,target:k})}l&amp;&amp;e()}function e(){r.sort(function(t,e){return l((t.source.value+t.target.value)/2,(e.source.value+e.target.value)/2)})}var r,n,i,a,o,s,l,c={},u=0;return c.matrix=function(t){return arguments.length?(a=(i=t)&amp;&amp;i.length,r=n=null,c):i},c.padding=function(t){return arguments.length?(u=t,r=n=null,c):u},c.sortGroups=function(t){return arguments.length?(o=t,r=n=null,c):o},c.sortSubgroups=function(t){return arguments.length?(s=t,r=null,c):s},c.sortChords=function(t){return arguments.length?(l=t,r&amp;&amp;e(),c):l},c.chords=function(){return r||t(),r},c.groups=function(){return n||t(),n},c},Zi.layout.force=function(){function t(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/v&lt;l){if(l&lt;m){var c=e.charge/l;t.px-=a*c,t.py-=o*c}return!0}if(e.point&amp;&amp;l&amp;&amp;l&lt;m){c=e.pointCharge/l;t.px-=a*c,t.py-=o*c}}return!e.charge}}function e(t){t.px=Zi.event.x,t.py=Zi.event.y,l.resume()}var r,n,i,a,o,s,l={},c=Zi.dispatch(&quot;start&quot;,&quot;tick&quot;,&quot;end&quot;),u=[1,1],f=.9,h=rs,d=ns,p=-30,m=is,g=.1,v=.64,x=[],b=[];return l.tick=function(){if((i*=.99)&lt;.005)return r=null,c.end({type:&quot;end&quot;,alpha:i=0}),!0;var e,n,l,h,d,m,v,y,_,w=x.length,M=b.length;for(n=0;n&lt;M;++n)h=(l=b[n]).source,(m=(y=(d=l.target).x-h.x)*y+(_=d.y-h.y)*_)&amp;&amp;(y*=m=i*o[n]*((m=Math.sqrt(m))-a[n])/m,_*=m,d.x-=y*(v=h.weight+d.weight?h.weight/(h.weight+d.weight):.5),d.y-=_*v,h.x+=y*(v=1-v),h.y+=_*v);if((v=i*g)&amp;&amp;(y=u[0]/2,_=u[1]/2,n=-1,v))for(;++n&lt;w;)(l=x[n]).x+=(y-l.x)*v,l.y+=(_-l.y)*v;if(p)for(cn(e=Zi.geom.quadtree(x),i,s),n=-1;++n&lt;w;)(l=x[n]).fixed||e.visit(t(l));for(n=-1;++n&lt;w;)(l=x[n]).fixed?(l.x=l.px,l.y=l.py):(l.x-=(l.px-(l.px=l.x))*f,l.y-=(l.py-(l.py=l.y))*f);c.tick({type:&quot;tick&quot;,alpha:i})},l.nodes=function(t){return arguments.length?(x=t,l):x},l.links=function(t){return arguments.length?(b=t,l):b},l.size=function(t){return arguments.length?(u=t,l):u},l.linkDistance=function(t){return arguments.length?(h=&quot;function&quot;==typeof t?t:+t,l):h},l.distance=l.linkDistance,l.linkStrength=function(t){return arguments.length?(d=&quot;function&quot;==typeof t?t:+t,l):d},l.friction=function(t){return arguments.length?(f=+t,l):f},l.charge=function(t){return arguments.length?(p=&quot;function&quot;==typeof t?t:+t,l):p},l.chargeDistance=function(t){return arguments.length?(m=t*t,l):Math.sqrt(m)},l.gravity=function(t){return arguments.length?(g=+t,l):g},l.theta=function(t){return arguments.length?(v=t*t,l):Math.sqrt(v)},l.alpha=function(t){return arguments.length?(t=+t,i?t&gt;0?i=t:(r.c=null,r.t=NaN,r=null,c.end({type:&quot;end&quot;,alpha:i=0})):t&gt;0&amp;&amp;(c.start({type:&quot;start&quot;,alpha:i=t}),r=kt(l.tick)),l):i},l.start=function(){function t(t,n){if(!r){for(r=new Array(i),l=0;l&lt;i;++l)r[l]=[];for(l=0;l&lt;c;++l){var a=b[l];r[a.source.index].push(a.target),r[a.target.index].push(a.source)}}for(var o,s=r[e],l=-1,u=s.length;++l&lt;u;)if(!isNaN(o=s[l][t]))return o;return Math.random()*n}var e,r,n,i=x.length,c=b.length,f=u[0],m=u[1];for(e=0;e&lt;i;++e)(n=x[e]).index=e,n.weight=0;for(e=0;e&lt;c;++e)&quot;number&quot;==typeof(n=b[e]).source&amp;&amp;(n.source=x[n.source]),&quot;number&quot;==typeof n.target&amp;&amp;(n.target=x[n.target]),++n.source.weight,++n.target.weight;for(e=0;e&lt;i;++e)n=x[e],isNaN(n.x)&amp;&amp;(n.x=t(&quot;x&quot;,f)),isNaN(n.y)&amp;&amp;(n.y=t(&quot;y&quot;,m)),isNaN(n.px)&amp;&amp;(n.px=n.x),isNaN(n.py)&amp;&amp;(n.py=n.y);if(a=[],&quot;function&quot;==typeof h)for(e=0;e&lt;c;++e)a[e]=+h.call(this,b[e],e);else for(e=0;e&lt;c;++e)a[e]=h;if(o=[],&quot;function&quot;==typeof d)for(e=0;e&lt;c;++e)o[e]=+d.call(this,b[e],e);else for(e=0;e&lt;c;++e)o[e]=d;if(s=[],&quot;function&quot;==typeof p)for(e=0;e&lt;i;++e)s[e]=+p.call(this,x[e],e);else for(e=0;e&lt;i;++e)s[e]=p;return l.resume()},l.resume=function(){return l.alpha(.1)},l.stop=function(){return l.alpha(0)},l.drag=function(){if(n||(n=Zi.behavior.drag().origin(y).on(&quot;dragstart.force&quot;,an).on(&quot;drag.force&quot;,e).on(&quot;dragend.force&quot;,on)),!arguments.length)return n;this.on(&quot;mouseover.force&quot;,sn).on(&quot;mouseout.force&quot;,ln).call(n)},Zi.rebind(l,c,&quot;on&quot;)};var rs=20,ns=1,is=1/0;Zi.layout.hierarchy=function(){function t(i){var a,o=[i],s=[];for(i.depth=0;null!=(a=o.pop());)if(s.push(a),(c=r.call(t,a,a.depth))&amp;&amp;(l=c.length)){for(var l,c,u;--l&gt;=0;)o.push(u=c[l]),u.parent=a,u.depth=a.depth+1;n&amp;&amp;(a.value=0),a.children=c}else n&amp;&amp;(a.value=+n.call(t,a,a.depth)||0),delete a.children;return hn(i,function(t){var r,i;e&amp;&amp;(r=t.children)&amp;&amp;r.sort(e),n&amp;&amp;(i=t.parent)&amp;&amp;(i.value+=t.value)}),s}var e=mn,r=dn,n=pn;return t.sort=function(r){return arguments.length?(e=r,t):e},t.children=function(e){return arguments.length?(r=e,t):r},t.value=function(e){return arguments.length?(n=e,t):n},t.revalue=function(e){return n&amp;&amp;(fn(e,function(t){t.children&amp;&amp;(t.value=0)}),hn(e,function(e){var r;e.children||(e.value=+n.call(t,e,e.depth)||0),(r=e.parent)&amp;&amp;(r.value+=e.value)})),e},t},Zi.layout.partition=function(){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&amp;&amp;(o=a.length)){var o,s,l,c=-1;for(n=e.value?n/e.value:0;++c&lt;o;)t(s=a[c],r,l=s.value*n,i),r+=l}}function e(t){var r=t.children,n=0;if(r&amp;&amp;(i=r.length))for(var i,a=-1;++a&lt;i;)n=Math.max(n,e(r[a]));return 1+n}function r(r,a){var o=n.call(this,r,a);return t(o[0],0,i[0],i[1]/e(o[0])),o}var n=Zi.layout.hierarchy(),i=[1,1];return r.size=function(t){return arguments.length?(i=t,r):i},un(r,n)},Zi.layout.pie=function(){function t(o){var s,l=o.length,c=o.map(function(r,n){return+e.call(t,r,n)}),u=+(&quot;function&quot;==typeof n?n.apply(this,arguments):n),f=(&quot;function&quot;==typeof i?i.apply(this,arguments):i)-u,h=Math.min(Math.abs(f)/l,+(&quot;function&quot;==typeof a?a.apply(this,arguments):a)),d=h*(f&lt;0?-1:1),p=Zi.sum(c),m=p?(f-l*d)/p:0,g=Zi.range(l),v=[];return null!=r&amp;&amp;g.sort(r===as?function(t,e){return c[e]-c[t]}:function(t,e){return r(o[t],o[e])}),g.forEach(function(t){v[t]={data:o[t],value:s=c[t],startAngle:u,endAngle:u+=s*m+d,padAngle:h}}),v}var e=Number,r=as,n=0,i=Aa,a=0;return t.value=function(r){return arguments.length?(e=r,t):e},t.sort=function(e){return arguments.length?(r=e,t):r},t.startAngle=function(e){return arguments.length?(n=e,t):n},t.endAngle=function(e){return arguments.length?(i=e,t):i},t.padAngle=function(e){return arguments.length?(a=e,t):a},t};var as={};Zi.layout.stack=function(){function t(s,l){if(!(h=s.length))return s;var c=s.map(function(r,n){return e.call(t,r,n)}),u=c.map(function(e){return e.map(function(e,r){return[a.call(t,e,r),o.call(t,e,r)]})}),f=r.call(t,u,l);c=Zi.permute(c,f),u=Zi.permute(u,f);var h,d,p,m,g=n.call(t,u,l),v=c[0].length;for(p=0;p&lt;v;++p)for(i.call(t,c[0][p],m=g[p],u[0][p][1]),d=1;d&lt;h;++d)i.call(t,c[d][p],m+=u[d-1][p][1],u[d][p][1]);return s}var e=y,r=bn,n=_n,i=xn,a=vn,o=yn;return t.values=function(r){return arguments.length?(e=r,t):e},t.order=function(e){return arguments.length?(r=&quot;function&quot;==typeof e?e:os.get(e)||bn,t):r},t.offset=function(e){return arguments.length?(n=&quot;function&quot;==typeof e?e:ss.get(e)||_n,t):n},t.x=function(e){return arguments.length?(a=e,t):a},t.y=function(e){return arguments.length?(o=e,t):o},t.out=function(e){return arguments.length?(i=e,t):i},t};var os=Zi.map({&quot;inside-out&quot;:function(t){var e,r,n=t.length,i=t.map(wn),a=t.map(Mn),o=Zi.range(n).sort(function(t,e){return i[t]-i[e]}),s=0,l=0,c=[],u=[];for(e=0;e&lt;n;++e)r=o[e],s&lt;l?(s+=a[r],c.push(r)):(l+=a[r],u.push(r));return u.reverse().concat(c)},reverse:function(t){return Zi.range(t.length).reverse()},default:bn}),ss=Zi.map({silhouette:function(t){var e,r,n,i=t.length,a=t[0].length,o=[],s=0,l=[];for(r=0;r&lt;a;++r){for(e=0,n=0;e&lt;i;e++)n+=t[e][r][1];n&gt;s&amp;&amp;(s=n),o.push(n)}for(r=0;r&lt;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,d=[];for(d[0]=l=c=0,r=1;r&lt;h;++r){for(e=0,i=0;e&lt;u;++e)i+=t[e][r][1];for(e=0,a=0,s=f[r][0]-f[r-1][0];e&lt;u;++e){for(n=0,o=(t[e][r][1]-t[e][r-1][1])/(2*s);n&lt;e;++n)o+=(t[n][r][1]-t[n][r-1][1])/s;a+=o*t[e][r][1]}d[r]=l-=i?a/i*s:0,l&lt;c&amp;&amp;(c=l)}for(r=0;r&lt;h;++r)d[r]-=c;return d},expand:function(t){var e,r,n,i=t.length,a=t[0].length,o=1/i,s=[];for(r=0;r&lt;a;++r){for(e=0,n=0;e&lt;i;e++)n+=t[e][r][1];if(n)for(e=0;e&lt;i;e++)t[e][r][1]/=n;else for(e=0;e&lt;i;e++)t[e][r][1]=o}for(r=0;r&lt;a;++r)s[r]=0;return s},zero:_n});Zi.layout.histogram=function(){function t(t,a){for(var o,s,l=[],c=t.map(r,this),u=n.call(this,c,a),f=i.call(this,u,c,a),h=(a=-1,c.length),d=f.length-1,p=e?1:1/h;++a&lt;d;)(o=l[a]=[]).dx=f[a+1]-(o.x=f[a]),o.y=0;if(d&gt;0)for(a=-1;++a&lt;h;)(s=c[a])&gt;=u[0]&amp;&amp;s&lt;=u[1]&amp;&amp;((o=l[Zi.bisect(f,s,1,d)-1]).y+=p,o.push(t[a]));return l}var e=!0,r=Number,n=Sn,i=An;return t.value=function(e){return arguments.length?(r=e,t):r},t.range=function(e){return arguments.length?(n=_t(e),t):n},t.bins=function(e){return arguments.length?(i=&quot;number&quot;==typeof e?function(t){return Tn(t,e)}:_t(e),t):i},t.frequency=function(r){return arguments.length?(e=!!r,t):e},t},Zi.layout.pack=function(){function t(t,a){var o=r.call(this,t,a),s=o[0],l=i[0],c=i[1],u=null==e?Math.sqrt:&quot;function&quot;==typeof e?e:function(){return e};if(s.x=s.y=0,hn(s,function(t){t.r=+u(t.value)}),hn(s,Dn),n){var f=n*(e?1:Math.max(2*s.r/l,2*s.r/c))/2;hn(s,function(t){t.r+=f}),hn(s,Dn),hn(s,function(t){t.r-=f})}return On(s,l/2,c/2,e?1:1/Math.max(2*s.r/l,2*s.r/c)),o}var e,r=Zi.layout.hierarchy().sort(En),n=0,i=[1,1];return t.size=function(e){return arguments.length?(i=e,t):i},t.radius=function(r){return arguments.length?(e=null==r||&quot;function&quot;==typeof r?r:+r,t):e},t.padding=function(e){return arguments.length?(n=+e,t):n},un(t,r)},Zi.layout.tree=function(){function t(t,l){var c=i.call(this,t,l),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&lt;s;++o)n.push((a[o]=i={_:a[o],parent:e,children:(i=a[o].children)&amp;&amp;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(hn(f,e),f.parent.m=-f.z,fn(f,r),s)fn(u,n);else{var h=u,d=u,p=u;fn(u,function(t){t.x&lt;h.x&amp;&amp;(h=t),t.x&gt;d.x&amp;&amp;(d=t),t.depth&gt;p.depth&amp;&amp;(p=t)});var m=a(h,d)/2-h.x,g=o[0]/(d.x+a(d,h)/2+m),v=o[1]/(p.depth||1);fn(u,function(t){t.x=(t.x+m)*g,t.y=t.depth*v})}return c}function e(t){var e=t.children,r=t.parent.children,n=t.i?r[t.i-1]:null;if(e.length){!function(t){for(var e,r=0,n=0,i=t.children,a=i.length;--a&gt;=0;)(e=i[a]).z+=r,e.m+=r,r+=e.s+(n+=e.c)}(t);var i=(e[0].z+e[e.length-1].z)/2;n?(t.z=n.z+a(t._,n._),t.m=t.z-i):t.z=i}else n&amp;&amp;(t.z=n.z+a(t._,n._));t.parent.A=function(t,e,r){if(e){for(var n,i=t,o=t,s=e,l=i.parent.children[0],c=i.m,u=o.m,f=s.m,h=l.m;s=jn(s),i=Nn(i),s&amp;&amp;i;)l=Nn(l),(o=jn(o)).a=t,(n=s.z+f-i.z-c+a(s._,i._))&gt;0&amp;&amp;(!function(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(t,e,r){return t.a.parent===e.parent?t.a:r}(s,t,r),t,n),c+=n,u+=n),f+=s.m,c+=i.m,h+=l.m,u+=o.m;s&amp;&amp;!jn(o)&amp;&amp;(o.t=s,o.m+=f-u),i&amp;&amp;!Nn(l)&amp;&amp;(l.t=i,l.m+=c-h,r=t)}return r}(t,n,t.parent.A||r[0])}function r(t){t._.x=t.z+t.parent.m,t.m+=t.parent.m}function n(t){t.x*=o[0],t.y=t.depth*o[1]}var i=Zi.layout.hierarchy().sort(null).value(null),a=Rn,o=[1,1],s=null;return t.separation=function(e){return arguments.length?(a=e,t):a},t.size=function(e){return arguments.length?(s=null==(o=e)?n:null,t):s?null:o},t.nodeSize=function(e){return arguments.length?(s=null==(o=e)?null:n,t):s?o:null},un(t,i)},Zi.layout.cluster=function(){function t(t,a){var o,s=e.call(this,t,a),l=s[0],c=0;hn(l,function(t){var e=t.children;e&amp;&amp;e.length?(t.x=function(t){return t.reduce(function(t,e){return t+e.x},0)/t.length}(e),t.y=function(t){return 1+Zi.max(t,function(t){return t.y})}(e)):(t.x=o?c+=r(t,o):0,t.y=0,o=t)});var u=Bn(l),f=Un(l),h=u.x-r(u,f)/2,d=f.x+r(f,u)/2;return hn(l,i?function(t){t.x=(t.x-l.x)*n[0],t.y=(l.y-t.y)*n[1]}:function(t){t.x=(t.x-h)/(d-h)*n[0],t.y=(1-(l.y?t.y/l.y:1))*n[1]}),s}var e=Zi.layout.hierarchy().sort(null).value(null),r=Rn,n=[1,1],i=!1;return t.separation=function(e){return arguments.length?(r=e,t):r},t.size=function(e){return arguments.length?(i=null==(n=e),t):i?null:n},t.nodeSize=function(e){return arguments.length?(i=null!=(n=e),t):i?n:null},un(t,e)},Zi.layout.treemap=function(){function t(t,e){for(var r,n,i=-1,a=t.length;++i&lt;a;)n=(r=t[i]).value*(e&lt;0?0:e),r.area=isNaN(n)||n&lt;=0?0:n}function e(r){var i=r.children;if(i&amp;&amp;i.length){var a,o,s,l=u(r),c=[],f=i.slice(),p=1/0,m=&quot;slice&quot;===h?l.dx:&quot;dice&quot;===h?l.dy:&quot;slice-dice&quot;===h?1&amp;r.depth?l.dy:l.dx:Math.min(l.dx,l.dy);for(t(f,l.dx*l.dy/r.value),c.area=0;(s=f.length)&gt;0;)c.push(a=f[s-1]),c.area+=a.area,&quot;squarify&quot;!==h||(o=function(t,e){var r,n=t.area,i=0,a=1/0,o=-1,s=t.length;for(;++o&lt;s;)(r=t[o].area)&amp;&amp;(r&lt;a&amp;&amp;(a=r),r&gt;i&amp;&amp;(i=r));return n*=n,e*=e,n?Math.max(e*i*d/n,n/(e*a*d)):1/0}(c,m))&lt;=p?(f.pop(),p=o):(c.area-=c.pop().area,n(c,m,l,!1),m=Math.min(l.dx,l.dy),c.length=c.area=0,p=1/0);c.length&amp;&amp;(n(c,m,l,!0),c.length=c.area=0),i.forEach(e)}}function r(e){var i=e.children;if(i&amp;&amp;i.length){var a,o=u(e),s=i.slice(),l=[];for(t(s,o.dx*o.dy/e.value),l.area=0;a=s.pop();)l.push(a),l.area+=a.area,null!=a.z&amp;&amp;(n(l,a.z?o.dx:o.dy,o,!s.length),l.length=l.area=0);i.forEach(r)}}function n(t,e,r,n){var i,a=-1,o=t.length,l=r.x,c=r.y,u=e?s(t.area/e):0;if(e==r.dx){for((n||u&gt;r.dy)&amp;&amp;(u=r.dy);++a&lt;o;)(i=t[a]).x=l,i.y=c,i.dy=u,l+=i.dx=Math.min(r.x+r.dx-l,u?s(i.area/u):0);i.z=!0,i.dx+=r.x+r.dx-l,r.y+=u,r.dy-=u}else{for((n||u&gt;r.dx)&amp;&amp;(u=r.dx);++a&lt;o;)(i=t[a]).x=l,i.y=c,i.dx=u,c+=i.dy=Math.min(r.y+r.dy-c,u?s(i.area/u):0);i.z=!1,i.dy+=r.y+r.dy-c,r.x+=u,r.dx-=u}}function i(n){var i=a||o(n),s=i[0];return s.x=s.y=0,s.value?(s.dx=l[0],s.dy=l[1]):s.dx=s.dy=0,a&amp;&amp;o.revalue(s),t([s],s.dx*s.dy/s.value),(a?r:e)(s),f&amp;&amp;(a=i),i}var a,o=Zi.layout.hierarchy(),s=Math.round,l=[1,1],c=null,u=Vn,f=!1,h=&quot;squarify&quot;,d=.5*(1+Math.sqrt(5));return i.size=function(t){return arguments.length?(l=t,i):l},i.padding=function(t){function e(e){return qn(e,t)}if(!arguments.length)return c;var r;return u=null==(c=t)?Vn:&quot;function&quot;==(r=typeof t)?function(e){var r=t.call(i,e,e.depth);return null==r?Vn(e):qn(e,&quot;number&quot;==typeof r?[r,r,r,r]:r)}:&quot;number&quot;===r?(t=[t,t,t,t],e):e,i},i.round=function(t){return arguments.length?(s=t?Math.round:Number,i):s!=Number},i.sticky=function(t){return arguments.length?(f=t,a=null,i):f},i.ratio=function(t){return arguments.length?(d=t,i):d},i.mode=function(t){return arguments.length?(h=t+&quot;&quot;,i):h},un(i,o)},Zi.random={normal:function(t,e){var r=arguments.length;return r&lt;2&amp;&amp;(e=1),r&lt;1&amp;&amp;(t=0),function(){var r,n,i;do{i=(r=2*Math.random()-1)*r+(n=2*Math.random()-1)*n}while(!i||i&gt;1);return t+e*r*Math.sqrt(-2*Math.log(i)/i)}},logNormal:function(){var t=Zi.random.normal.apply(Zi,arguments);return function(){return Math.exp(t())}},bates:function(t){var e=Zi.random.irwinHall(t);return function(){return e()/t}},irwinHall:function(t){return function(){for(var e=0,r=0;r&lt;t;r++)e+=Math.random();return e}}},Zi.scale={};var ls={floor:y,ceil:y};Zi.scale.linear=function(){return Xn([0,1],[0,1],Br,!1)};var cs={s:1,g:1,p:1,r:1,e:1};Zi.scale.log=function(){return ei(Zi.scale.linear().domain([0,1]),10,!0,[1,10])};var us=Zi.format(&quot;.0e&quot;),fs={floor:function(t){return-Math.ceil(-t)},ceil:function(t){return-Math.floor(-t)}};Zi.scale.pow=function(){return ri(Zi.scale.linear(),1,[0,1])},Zi.scale.sqrt=function(){return Zi.scale.pow().exponent(.5)},Zi.scale.ordinal=function(){return ii([],{t:&quot;range&quot;,a:[[]]})},Zi.scale.category10=function(){return Zi.scale.ordinal().range(hs)},Zi.scale.category20=function(){return Zi.scale.ordinal().range(ds)},Zi.scale.category20b=function(){return Zi.scale.ordinal().range(ps)},Zi.scale.category20c=function(){return Zi.scale.ordinal().range(ms)};var hs=[2062260,16744206,2924588,14034728,9725885,9197131,14907330,8355711,12369186,1556175].map(pt),ds=[2062260,11454440,16744206,16759672,2924588,10018698,14034728,16750742,9725885,12955861,9197131,12885140,14907330,16234194,8355711,13092807,12369186,14408589,1556175,10410725].map(pt),ps=[3750777,5395619,7040719,10264286,6519097,9216594,11915115,13556636,9202993,12426809,15186514,15190932,8666169,11356490,14049643,15177372,8077683,10834324,13528509,14589654].map(pt),ms=[3244733,7057110,10406625,13032431,15095053,16616764,16625259,16634018,3253076,7652470,10607003,13101504,7695281,10394312,12369372,14342891,6513507,9868950,12434877,14277081].map(pt);Zi.scale.quantile=function(){return ai([],[])},Zi.scale.quantize=function(){return oi(0,1,[0,1])},Zi.scale.threshold=function(){return si([.5],[0,1])},Zi.scale.identity=function(){return li([0,1])},Zi.svg={},Zi.svg.arc=function(){function t(){var t=Math.max(0,+r.apply(this,arguments)),c=Math.max(0,+n.apply(this,arguments)),u=o.apply(this,arguments)-Sa,f=s.apply(this,arguments)-Sa,h=Math.abs(f-u),d=u&gt;f?0:1;if(c&lt;t&amp;&amp;(p=c,c=t,t=p),h&gt;=Ta)return e(c,d)+(t?e(t,1-d):&quot;&quot;)+&quot;Z&quot;;var p,m,g,v,y,x,b,_,w,M,k,A,T=0,S=0,E=[];if((v=(+l.apply(this,arguments)||0)/2)&amp;&amp;(g=a===gs?Math.sqrt(t*t+c*c):+a.apply(this,arguments),d||(S*=-1),c&amp;&amp;(S=Q(g/c*Math.sin(v))),t&amp;&amp;(T=Q(g/t*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)&lt;=ka?0:1;if(S&amp;&amp;mi(y,x,b,_)===d^L){var C=(u+f)/2;y=c*Math.cos(C),x=c*Math.sin(C),b=_=null}}else y=x=0;if(t){w=t*Math.cos(f-T),M=t*Math.sin(f-T),k=t*Math.cos(u+T),A=t*Math.sin(u+T);var z=Math.abs(u-f+2*T)&lt;=ka?0:1;if(T&amp;&amp;mi(w,M,k,A)===1-d^z){var D=(u+f)/2;w=t*Math.cos(D),M=t*Math.sin(D),k=A=null}}else w=M=0;if(h&gt;wa&amp;&amp;(p=Math.min(Math.abs(c-t)/2,+i.apply(this,arguments)))&gt;.001){m=t&lt;c^d?0:1;var I=p,P=p;if(h&lt;ka){var O=null==k?[w,M]:null==b?[y,x]:ur([y,x],[k,A],[b,_],[w,M]),F=y-O[0],R=x-O[1],N=b-O[0],j=_-O[1],B=1/Math.sin(Math.acos((F*N+R*j)/(Math.sqrt(F*F+R*R)*Math.sqrt(N*N+j*j)))/2),U=Math.sqrt(O[0]*O[0]+O[1]*O[1]);P=Math.min(p,(t-U)/(B-1)),I=Math.min(p,(c-U)/(B+1))}if(null!=b){var V=gi(null==k?[w,M]:[k,A],[y,x],c,I,d),q=gi([b,_],[w,M],c,I,d);p===I?E.push(&quot;M&quot;,V[0],&quot;A&quot;,I,&quot;,&quot;,I,&quot; 0 0,&quot;,m,&quot; &quot;,V[1],&quot;A&quot;,c,&quot;,&quot;,c,&quot; 0 &quot;,1-d^mi(V[1][0],V[1][1],q[1][0],q[1][1]),&quot;,&quot;,d,&quot; &quot;,q[1],&quot;A&quot;,I,&quot;,&quot;,I,&quot; 0 0,&quot;,m,&quot; &quot;,q[0]):E.push(&quot;M&quot;,V[0],&quot;A&quot;,I,&quot;,&quot;,I,&quot; 0 1,&quot;,m,&quot; &quot;,q[0])}else E.push(&quot;M&quot;,y,&quot;,&quot;,x);if(null!=k){var H=gi([y,x],[k,A],t,-P,d),G=gi([w,M],null==b?[y,x]:[b,_],t,-P,d);p===P?E.push(&quot;L&quot;,G[0],&quot;A&quot;,P,&quot;,&quot;,P,&quot; 0 0,&quot;,m,&quot; &quot;,G[1],&quot;A&quot;,t,&quot;,&quot;,t,&quot; 0 &quot;,d^mi(G[1][0],G[1][1],H[1][0],H[1][1]),&quot;,&quot;,1-d,&quot; &quot;,H[1],&quot;A&quot;,P,&quot;,&quot;,P,&quot; 0 0,&quot;,m,&quot; &quot;,H[0]):E.push(&quot;L&quot;,G[0],&quot;A&quot;,P,&quot;,&quot;,P,&quot; 0 0,&quot;,m,&quot; &quot;,H[0])}else E.push(&quot;L&quot;,w,&quot;,&quot;,M)}else E.push(&quot;M&quot;,y,&quot;,&quot;,x),null!=b&amp;&amp;E.push(&quot;A&quot;,c,&quot;,&quot;,c,&quot; 0 &quot;,L,&quot;,&quot;,d,&quot; &quot;,b,&quot;,&quot;,_),E.push(&quot;L&quot;,w,&quot;,&quot;,M),null!=k&amp;&amp;E.push(&quot;A&quot;,t,&quot;,&quot;,t,&quot; 0 &quot;,z,&quot;,&quot;,1-d,&quot; &quot;,k,&quot;,&quot;,A);return E.push(&quot;Z&quot;),E.join(&quot;&quot;)}function e(t,e){return&quot;M0,&quot;+t+&quot;A&quot;+t+&quot;,&quot;+t+&quot; 0 1,&quot;+e+&quot; 0,&quot;+-t+&quot;A&quot;+t+&quot;,&quot;+t+&quot; 0 1,&quot;+e+&quot; 0,&quot;+t}var r=ui,n=fi,i=ci,a=gs,o=hi,s=di,l=pi;return t.innerRadius=function(e){return arguments.length?(r=_t(e),t):r},t.outerRadius=function(e){return arguments.length?(n=_t(e),t):n},t.cornerRadius=function(e){return arguments.length?(i=_t(e),t):i},t.padRadius=function(e){return arguments.length?(a=e==gs?gs:_t(e),t):a},t.startAngle=function(e){return arguments.length?(o=_t(e),t):o},t.endAngle=function(e){return arguments.length?(s=_t(e),t):s},t.padAngle=function(e){return arguments.length?(l=_t(e),t):l},t.centroid=function(){var t=(+r.apply(this,arguments)+ +n.apply(this,arguments))/2,e=(+o.apply(this,arguments)+ +s.apply(this,arguments))/2-Sa;return[Math.cos(e)*t,Math.sin(e)*t]},t};var gs=&quot;auto&quot;;Zi.svg.line=function(){return vi(y)};var vs=Zi.map({linear:yi,&quot;linear-closed&quot;:xi,step:function(t){for(var e=0,r=t.length,n=t[0],i=[n[0],&quot;,&quot;,n[1]];++e&lt;r;)i.push(&quot;H&quot;,(n[0]+(n=t[e])[0])/2,&quot;V&quot;,n[1]);return r&gt;1&amp;&amp;i.push(&quot;H&quot;,n[0]),i.join(&quot;&quot;)},&quot;step-before&quot;:bi,&quot;step-after&quot;:_i,basis:ki,&quot;basis-open&quot;:function(t){if(t.length&lt;4)return yi(t);for(var e,r=[],n=-1,i=t.length,a=[0],o=[0];++n&lt;3;)e=t[n],a.push(e[0]),o.push(e[1]);for(r.push(Ai(bs,a)+&quot;,&quot;+Ai(bs,o)),--n;++n&lt;i;)e=t[n],a.shift(),a.push(e[0]),o.shift(),o.push(e[1]),Ti(r,a,o);return r.join(&quot;&quot;)},&quot;basis-closed&quot;:function(t){for(var e,r,n=-1,i=t.length,a=i+4,o=[],s=[];++n&lt;4;)r=t[n%i],o.push(r[0]),s.push(r[1]);for(e=[Ai(bs,o),&quot;,&quot;,Ai(bs,s)],--n;++n&lt;a;)r=t[n%i],o.shift(),o.push(r[0]),s.shift(),s.push(r[1]),Ti(e,o,s);return e.join(&quot;&quot;)},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&lt;=r;)i=c/r,(n=t[c])[0]=e*n[0]+(1-e)*(a+i*s),n[1]=e*n[1]+(1-e)*(o+i*l);return ki(t)},cardinal:function(t,e){return t.length&lt;3?yi(t):t[0]+wi(t,Mi(t,e))},&quot;cardinal-open&quot;:function(t,e){return t.length&lt;4?yi(t):t[1]+wi(t.slice(1,-1),Mi(t,e))},&quot;cardinal-closed&quot;:function(t,e){return t.length&lt;3?xi(t):t[0]+wi((t.push(t[0]),t),Mi([t[t.length-2]].concat(t,[t[1]]),e))},monotone:function(t){return t.length&lt;3?yi(t):t[0]+wi(t,Ei(t))}});vs.forEach(function(t,e){e.key=t,e.closed=/-closed$/.test(t)});var ys=[0,2/3,1/3,0],xs=[0,1/3,2/3,0],bs=[0,1/6,2/3,1/6];Zi.svg.line.radial=function(){var t=vi(Li);return t.radius=t.x,delete t.x,t.angle=t.y,delete t.y,t},bi.reverse=_i,_i.reverse=bi,Zi.svg.area=function(){return Ci(y)},Zi.svg.area.radial=function(){var t=Ci(Li);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},Zi.svg.chord=function(){function t(t,o){var s=e(this,i,t,o),l=e(this,a,t,o);return&quot;M&quot;+s.p0+r(s.r,s.p1,s.a1-s.a0)+(function(t,e){return t.a0==e.a0&amp;&amp;t.a1==e.a1}(s,l)?n(s.r,s.p1,s.r,s.p0):n(s.r,s.p1,l.r,l.p0)+r(l.r,l.p1,l.a1-l.a0)+n(l.r,l.p1,s.r,s.p0))+&quot;Z&quot;}function e(t,e,r,n){var i=e.call(t,r,n),a=o.call(t,i,n),c=s.call(t,i,n)-Sa,u=l.call(t,i,n)-Sa;return{r:a,a0:c,a1:u,p0:[a*Math.cos(c),a*Math.sin(c)],p1:[a*Math.cos(u),a*Math.sin(u)]}}function r(t,e,r){return&quot;A&quot;+t+&quot;,&quot;+t+&quot; 0 &quot;+ +(r&gt;ka)+&quot;,1 &quot;+e}function n(t,e,r,n){return&quot;Q 0,0 &quot;+n}var i=Ke,a=Qe,o=zi,s=hi,l=di;return t.radius=function(e){return arguments.length?(o=_t(e),t):o},t.source=function(e){return arguments.length?(i=_t(e),t):i},t.target=function(e){return arguments.length?(a=_t(e),t):a},t.startAngle=function(e){return arguments.length?(s=_t(e),t):s},t.endAngle=function(e){return arguments.length?(l=_t(e),t):l},t},Zi.svg.diagonal=function(){function t(t,i){var a=e.call(this,t,i),o=r.call(this,t,i),s=(a.y+o.y)/2,l=[a,{x:a.x,y:s},{x:o.x,y:s},o];return&quot;M&quot;+(l=l.map(n))[0]+&quot;C&quot;+l[1]+&quot; &quot;+l[2]+&quot; &quot;+l[3]}var e=Ke,r=Qe,n=Di;return t.source=function(r){return arguments.length?(e=_t(r),t):e},t.target=function(e){return arguments.length?(r=_t(e),t):r},t.projection=function(e){return arguments.length?(n=e,t):n},t},Zi.svg.diagonal.radial=function(){var t=Zi.svg.diagonal(),e=Di,r=t.projection;return t.projection=function(t){return arguments.length?r(function(t){return function(){var e=t.apply(this,arguments),r=e[0],n=e[1]-Sa;return[r*Math.cos(n),r*Math.sin(n)]}}(e=t)):e},t},Zi.svg.symbol=function(){function t(t,n){return(_s.get(e.call(this,t,n))||Oi)(r.call(this,t,n))}var e=Pi,r=Ii;return t.type=function(r){return arguments.length?(e=_t(r),t):e},t.size=function(e){return arguments.length?(r=_t(e),t):r},t};var _s=Zi.map({circle:Oi,cross:function(t){var e=Math.sqrt(t/5)/2;return&quot;M&quot;+-3*e+&quot;,&quot;+-e+&quot;H&quot;+-e+&quot;V&quot;+-3*e+&quot;H&quot;+e+&quot;V&quot;+-e+&quot;H&quot;+3*e+&quot;V&quot;+e+&quot;H&quot;+e+&quot;V&quot;+3*e+&quot;H&quot;+-e+&quot;V&quot;+e+&quot;H&quot;+-3*e+&quot;Z&quot;},diamond:function(t){var e=Math.sqrt(t/(2*Ms)),r=e*Ms;return&quot;M0,&quot;+-e+&quot;L&quot;+r+&quot;,0 0,&quot;+e+&quot; &quot;+-r+&quot;,0Z&quot;},square:function(t){var e=Math.sqrt(t)/2;return&quot;M&quot;+-e+&quot;,&quot;+-e+&quot;L&quot;+e+&quot;,&quot;+-e+&quot; &quot;+e+&quot;,&quot;+e+&quot; &quot;+-e+&quot;,&quot;+e+&quot;Z&quot;},&quot;triangle-down&quot;:function(t){var e=Math.sqrt(t/ws),r=e*ws/2;return&quot;M0,&quot;+r+&quot;L&quot;+e+&quot;,&quot;+-r+&quot; &quot;+-e+&quot;,&quot;+-r+&quot;Z&quot;},&quot;triangle-up&quot;:function(t){var e=Math.sqrt(t/ws),r=e*ws/2;return&quot;M0,&quot;+-r+&quot;L&quot;+e+&quot;,&quot;+r+&quot; &quot;+-e+&quot;,&quot;+r+&quot;Z&quot;}});Zi.svg.symbolTypes=_s.keys();var ws=Math.sqrt(3),Ms=Math.tan(30*Ea);pa.transition=function(t){for(var e,r,n=ks||++Es,i=Bi(t),a=[],o=As||{time:Date.now(),ease:function(t){if(t&lt;=0)return 0;if(t&gt;=1)return 1;var e=t*t,r=e*t;return 4*(t&lt;.5?r:3*(t-e)+r-.75)},delay:0,duration:250},s=-1,l=this.length;++s&lt;l;){a.push(e=[]);for(var c=this[s],u=-1,f=c.length;++u&lt;f;)(r=c[u])&amp;&amp;Ui(r,u,i,n,o),e.push(r)}return Ri(a,i,n)},pa.interrupt=function(t){return this.each(null==t?Ts:Fi(Bi(t)))};var ks,As,Ts=Fi(Bi()),Ss=[],Es=0;Ss.call=pa.call,Ss.empty=pa.empty,Ss.node=pa.node,Ss.size=pa.size,Zi.transition=function(t,e){return t&amp;&amp;t.transition?ks?t.transition(e):t:Zi.selection().transition(t)},Zi.transition.prototype=Ss,Ss.select=function(t){var e,r,n,i=this.id,a=this.namespace,o=[];t=S(t);for(var s=-1,l=this.length;++s&lt;l;){o.push(e=[]);for(var c=this[s],u=-1,f=c.length;++u&lt;f;)(n=c[u])&amp;&amp;(r=t.call(n,n.__data__,u,s))?(&quot;__data__&quot;in n&amp;&amp;(r.__data__=n.__data__),Ui(r,u,a,i,n[a][i]),e.push(r)):e.push(null)}return Ri(o,a,i)},Ss.selectAll=function(t){var e,r,n,i,a,o=this.id,s=this.namespace,l=[];t=E(t);for(var c=-1,u=this.length;++c&lt;u;)for(var f=this[c],h=-1,d=f.length;++h&lt;d;)if(n=f[h]){a=n[s][o],r=t.call(n,n.__data__,h,c),l.push(e=[]);for(var p=-1,m=r.length;++p&lt;m;)(i=r[p])&amp;&amp;Ui(i,p,s,o,a),e.push(i)}return Ri(l,s,o)},Ss.filter=function(t){var e,r,n=[];&quot;function&quot;!=typeof t&amp;&amp;(t=B(t));for(var i=0,a=this.length;i&lt;a;i++){n.push(e=[]);for(var o,s=0,l=(o=this[i]).length;s&lt;l;s++)(r=o[s])&amp;&amp;t.call(r,r.__data__,s,i)&amp;&amp;e.push(r)}return Ri(n,this.namespace,this.id)},Ss.tween=function(t,e){var r=this.id,n=this.namespace;return arguments.length&lt;2?this.node()[n][r].tween.get(t):U(this,null==e?function(e){e[n][r].tween.remove(t)}:function(i){i[n][r].tween.set(t,e)})},Ss.attr=function(t,e){if(arguments.length&lt;2){for(e in t)this.attr(e,t[e]);return this}var r=&quot;transform&quot;==t?en:Br,n=Zi.ns.qualify(t);return Ni(this,&quot;attr.&quot;+t,e,n.local?function(t){return null==t?function(){this.removeAttributeNS(n.space,n.local)}:(t+=&quot;&quot;,function(){var e,i=this.getAttributeNS(n.space,n.local);return i!==t&amp;&amp;(e=r(i,t),function(t){this.setAttributeNS(n.space,n.local,e(t))})})}:function(t){return null==t?function(){this.removeAttribute(n)}:(t+=&quot;&quot;,function(){var e,i=this.getAttribute(n);return i!==t&amp;&amp;(e=r(i,t),function(t){this.setAttribute(n,e(t))})})})},Ss.attrTween=function(t,e){var r=Zi.ns.qualify(t);return this.tween(&quot;attr.&quot;+t,r.local?function(t,n){var i=e.call(this,t,n,this.getAttributeNS(r.space,r.local));return i&amp;&amp;function(t){this.setAttributeNS(r.space,r.local,i(t))}}:function(t,n){var i=e.call(this,t,n,this.getAttribute(r));return i&amp;&amp;function(t){this.setAttribute(r,i(t))}})},Ss.style=function(t,e,n){var i=arguments.length;if(i&lt;3){if(&quot;string&quot;!=typeof t){i&lt;2&amp;&amp;(e=&quot;&quot;);for(n in t)this.style(n,t[n],e);return this}n=&quot;&quot;}return Ni(this,&quot;style.&quot;+t,e,function(e){return null==e?function(){this.style.removeProperty(t)}:(e+=&quot;&quot;,function(){var i,a=r(this).getComputedStyle(this,null).getPropertyValue(t);return a!==e&amp;&amp;(i=Br(a,e),function(e){this.style.setProperty(t,i(e),n)})})})},Ss.styleTween=function(t,e,n){return arguments.length&lt;3&amp;&amp;(n=&quot;&quot;),this.tween(&quot;style.&quot;+t,function(i,a){var o=e.call(this,i,a,r(this).getComputedStyle(this,null).getPropertyValue(t));return o&amp;&amp;function(e){this.style.setProperty(t,o(e),n)}})},Ss.text=function(t){return Ni(this,&quot;text&quot;,t,ji)},Ss.remove=function(){var t=this.namespace;return this.each(&quot;end.transition&quot;,function(){var e;this[t].count&lt;2&amp;&amp;(e=this.parentNode)&amp;&amp;e.removeChild(this)})},Ss.ease=function(t){var e=this.id,r=this.namespace;return arguments.length&lt;1?this.node()[r][e].ease:(&quot;function&quot;!=typeof t&amp;&amp;(t=Zi.ease.apply(Zi,arguments)),U(this,function(n){n[r][e].ease=t}))},Ss.delay=function(t){var e=this.id,r=this.namespace;return arguments.length&lt;1?this.node()[r][e].delay:U(this,&quot;function&quot;==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}))},Ss.duration=function(t){var e=this.id,r=this.namespace;return arguments.length&lt;1?this.node()[r][e].duration:U(this,&quot;function&quot;==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}))},Ss.each=function(t,e){var r=this.id,n=this.namespace;if(arguments.length&lt;2){var i=As,a=ks;try{ks=r,U(this,function(e,i,a){As=e[n][r],t.call(e,e.__data__,i,a)})}finally{As=i,ks=a}}else U(this,function(i){var a=i[n][r];(a.event||(a.event=Zi.dispatch(&quot;start&quot;,&quot;end&quot;,&quot;interrupt&quot;))).on(t,e)});return this},Ss.transition=function(){for(var t,e,r,n=this.id,i=++Es,a=this.namespace,o=[],s=0,l=this.length;s&lt;l;s++){o.push(t=[]);for(var c,u=0,f=(c=this[s]).length;u&lt;f;u++)(e=c[u])&amp;&amp;Ui(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 Ri(o,a,i)},Zi.svg.axis=function(){function t(t){t.each(function(){var t,c=Zi.select(this),u=this.__chart__||r,f=this.__chart__=r.copy(),h=null==l?f.ticks?f.ticks.apply(f,s):f.domain():l,d=null==e?f.tickFormat?f.tickFormat.apply(f,s):y:e,p=c.selectAll(&quot;.tick&quot;).data(h,f),m=p.enter().insert(&quot;g&quot;,&quot;.domain&quot;).attr(&quot;class&quot;,&quot;tick&quot;).style(&quot;opacity&quot;,wa),g=Zi.transition(p.exit()).style(&quot;opacity&quot;,wa).remove(),v=Zi.transition(p.order()).style(&quot;opacity&quot;,1),x=Math.max(i,0)+o,b=Gn(f),_=c.selectAll(&quot;.domain&quot;).data([0]),w=(_.enter().append(&quot;path&quot;).attr(&quot;class&quot;,&quot;domain&quot;),Zi.transition(_));m.append(&quot;line&quot;),m.append(&quot;text&quot;);var M,k,A,T,S=m.select(&quot;line&quot;),E=v.select(&quot;line&quot;),L=p.select(&quot;text&quot;).text(d),C=m.select(&quot;text&quot;),z=v.select(&quot;text&quot;),D=&quot;top&quot;===n||&quot;left&quot;===n?-1:1;if(&quot;bottom&quot;===n||&quot;top&quot;===n?(t=Vi,M=&quot;x&quot;,A=&quot;y&quot;,k=&quot;x2&quot;,T=&quot;y2&quot;,L.attr(&quot;dy&quot;,D&lt;0?&quot;0em&quot;:&quot;.71em&quot;).style(&quot;text-anchor&quot;,&quot;middle&quot;),w.attr(&quot;d&quot;,&quot;M&quot;+b[0]+&quot;,&quot;+D*a+&quot;V0H&quot;+b[1]+&quot;V&quot;+D*a)):(t=qi,M=&quot;y&quot;,A=&quot;x&quot;,k=&quot;y2&quot;,T=&quot;x2&quot;,L.attr(&quot;dy&quot;,&quot;.32em&quot;).style(&quot;text-anchor&quot;,D&lt;0?&quot;end&quot;:&quot;start&quot;),w.attr(&quot;d&quot;,&quot;M&quot;+D*a+&quot;,&quot;+b[0]+&quot;H0V&quot;+b[1]+&quot;H&quot;+D*a)),S.attr(T,D*i),C.attr(A,D*x),E.attr(k,0).attr(T,D*i),z.attr(M,0).attr(A,D*x),f.rangeBand){var I=f,P=I.rangeBand()/2;u=f=function(t){return I(t)+P}}else u.rangeBand?u=f:g.call(t,f,u);m.call(t,u,f),v.call(t,f,f)})}var e,r=Zi.scale.linear(),n=Ls,i=6,a=6,o=3,s=[10],l=null;return t.scale=function(e){return arguments.length?(r=e,t):r},t.orient=function(e){return arguments.length?(n=e in Cs?e+&quot;&quot;:Ls,t):n},t.ticks=function(){return arguments.length?(s=Ki(arguments),t):s},t.tickValues=function(e){return arguments.length?(l=e,t):l},t.tickFormat=function(r){return arguments.length?(e=r,t):e},t.tickSize=function(e){var r=arguments.length;return r?(i=+e,a=+arguments[r-1],t):i},t.innerTickSize=function(e){return arguments.length?(i=+e,t):i},t.outerTickSize=function(e){return arguments.length?(a=+e,t):a},t.tickPadding=function(e){return arguments.length?(o=+e,t):o},t.tickSubdivide=function(){return arguments.length&amp;&amp;t},t};var Ls=&quot;bottom&quot;,Cs={top:1,right:1,bottom:1,left:1};Zi.svg.brush=function(){function t(r){r.each(function(){var r=Zi.select(this).style(&quot;pointer-events&quot;,&quot;all&quot;).style(&quot;-webkit-tap-highlight-color&quot;,&quot;rgba(0,0,0,0)&quot;).on(&quot;mousedown.brush&quot;,a).on(&quot;touchstart.brush&quot;,a),o=r.selectAll(&quot;.background&quot;).data([0]);o.enter().append(&quot;rect&quot;).attr(&quot;class&quot;,&quot;background&quot;).style(&quot;visibility&quot;,&quot;hidden&quot;).style(&quot;cursor&quot;,&quot;crosshair&quot;),r.selectAll(&quot;.extent&quot;).data([0]).enter().append(&quot;rect&quot;).attr(&quot;class&quot;,&quot;extent&quot;).style(&quot;cursor&quot;,&quot;move&quot;);var s=r.selectAll(&quot;.resize&quot;).data(m,y);s.exit().remove(),s.enter().append(&quot;g&quot;).attr(&quot;class&quot;,function(t){return&quot;resize &quot;+t}).style(&quot;cursor&quot;,function(t){return zs[t]}).append(&quot;rect&quot;).attr(&quot;x&quot;,function(t){return/[ew]$/.test(t)?-3:null}).attr(&quot;y&quot;,function(t){return/^[ns]/.test(t)?-3:null}).attr(&quot;width&quot;,6).attr(&quot;height&quot;,6).style(&quot;visibility&quot;,&quot;hidden&quot;),s.style(&quot;display&quot;,t.empty()?&quot;none&quot;:null);var l,f=Zi.transition(r),h=Zi.transition(o);c&amp;&amp;(l=Gn(c),h.attr(&quot;x&quot;,l[0]).attr(&quot;width&quot;,l[1]-l[0]),n(f)),u&amp;&amp;(l=Gn(u),h.attr(&quot;y&quot;,l[0]).attr(&quot;height&quot;,l[1]-l[0]),i(f)),e(f)})}function e(t){t.selectAll(&quot;.resize&quot;).attr(&quot;transform&quot;,function(t){return&quot;translate(&quot;+f[+/e$/.test(t)]+&quot;,&quot;+h[+/^s/.test(t)]+&quot;)&quot;})}function n(t){t.select(&quot;.extent&quot;).attr(&quot;x&quot;,f[0]),t.selectAll(&quot;.extent,.n&gt;rect,.s&gt;rect&quot;).attr(&quot;width&quot;,f[1]-f[0])}function i(t){t.select(&quot;.extent&quot;).attr(&quot;y&quot;,h[0]),t.selectAll(&quot;.extent,.e&gt;rect,.w&gt;rect&quot;).attr(&quot;height&quot;,h[1]-h[0])}function a(){function a(){var t=Zi.mouse(x),r=!1;y&amp;&amp;(t[0]+=y[0],t[1]+=y[1]),S||(Zi.event.altKey?(v||(v=[(f[0]+f[1])/2,(h[0]+h[1])/2]),L[0]=f[+(t[0]&lt;v[0])],L[1]=h[+(t[1]&lt;v[1])]):v=null),A&amp;&amp;m(t,c,0)&amp;&amp;(n(w),r=!0),T&amp;&amp;m(t,u,1)&amp;&amp;(i(w),r=!0),r&amp;&amp;(e(w),_({type:&quot;brush&quot;,mode:S?&quot;move&quot;:&quot;resize&quot;}))}function m(t,e,r){var n,i,a=Gn(e),l=a[0],c=a[1],u=L[r],m=r?h:f,g=m[1]-m[0];if(S&amp;&amp;(l-=u,c-=g+u),n=(r?p:d)?Math.max(l,Math.min(c,t[r])):t[r],S?i=(n+=u)+g:(v&amp;&amp;(u=Math.max(l,Math.min(c,2*v[r]-n))),u&lt;n?(i=n,n=u):i=u),m[0]!=n||m[1]!=i)return r?s=null:o=null,m[0]=n,m[1]=i,!0}function g(){a(),w.style(&quot;pointer-events&quot;,&quot;all&quot;).selectAll(&quot;.resize&quot;).style(&quot;display&quot;,t.empty()?&quot;none&quot;:null),Zi.select(&quot;body&quot;).style(&quot;cursor&quot;,null),C.on(&quot;mousemove.brush&quot;,null).on(&quot;mouseup.brush&quot;,null).on(&quot;touchmove.brush&quot;,null).on(&quot;touchend.brush&quot;,null).on(&quot;keydown.brush&quot;,null).on(&quot;keyup.brush&quot;,null),E(),_({type:&quot;brushend&quot;})}var v,y,x=this,b=Zi.select(Zi.event.target),_=l.of(x,arguments),w=Zi.select(x),k=b.datum(),A=!/^(n|s)$/.test(k)&amp;&amp;c,T=!/^(e|w)$/.test(k)&amp;&amp;u,S=b.classed(&quot;extent&quot;),E=Y(x),L=Zi.mouse(x),C=Zi.select(r(x)).on(&quot;keydown.brush&quot;,function(){32==Zi.event.keyCode&amp;&amp;(S||(v=null,L[0]-=f[1],L[1]-=h[1],S=2),M())}).on(&quot;keyup.brush&quot;,function(){32==Zi.event.keyCode&amp;&amp;2==S&amp;&amp;(L[0]+=f[1],L[1]+=h[1],S=0,M())});if(Zi.event.changedTouches?C.on(&quot;touchmove.brush&quot;,a).on(&quot;touchend.brush&quot;,g):C.on(&quot;mousemove.brush&quot;,a).on(&quot;mouseup.brush&quot;,g),w.interrupt().selectAll(&quot;*&quot;).interrupt(),S)L[0]=f[0]-L[0],L[1]=h[0]-L[1];else if(k){var z=+/w$/.test(k),D=+/^n/.test(k);y=[f[1-z]-L[0],h[1-D]-L[1]],L[0]=f[z],L[1]=h[D]}else Zi.event.altKey&amp;&amp;(v=L.slice());w.style(&quot;pointer-events&quot;,&quot;none&quot;).selectAll(&quot;.resize&quot;).style(&quot;display&quot;,null),Zi.select(&quot;body&quot;).style(&quot;cursor&quot;,b.style(&quot;cursor&quot;)),_({type:&quot;brushstart&quot;}),a()}var o,s,l=A(t,&quot;brushstart&quot;,&quot;brush&quot;,&quot;brushend&quot;),c=null,u=null,f=[0,0],h=[0,0],d=!0,p=!0,m=Ds[0];return t.event=function(t){t.each(function(){var t=l.of(this,arguments),e={x:f,y:h,i:o,j:s},r=this.__chart__||e;this.__chart__=e,ks?Zi.select(this).transition().each(&quot;start.brush&quot;,function(){o=r.i,s=r.j,f=r.x,h=r.y,t({type:&quot;brushstart&quot;})}).tween(&quot;brush:brush&quot;,function(){var r=Ur(f,e.x),n=Ur(h,e.y);return o=s=null,function(i){f=e.x=r(i),h=e.y=n(i),t({type:&quot;brush&quot;,mode:&quot;resize&quot;})}}).each(&quot;end.brush&quot;,function(){o=e.i,s=e.j,t({type:&quot;brush&quot;,mode:&quot;resize&quot;}),t({type:&quot;brushend&quot;})}):(t({type:&quot;brushstart&quot;}),t({type:&quot;brush&quot;,mode:&quot;resize&quot;}),t({type:&quot;brushend&quot;}))})},t.x=function(e){return arguments.length?(c=e,m=Ds[!c&lt;&lt;1|!u],t):c},t.y=function(e){return arguments.length?(u=e,m=Ds[!c&lt;&lt;1|!u],t):u},t.clamp=function(e){return arguments.length?(c&amp;&amp;u?(d=!!e[0],p=!!e[1]):c?d=!!e:u&amp;&amp;(p=!!e),t):c&amp;&amp;u?[d,p]:c?d:u?p:null},t.extent=function(e){var r,n,i,a,l;return arguments.length?(c&amp;&amp;(r=e[0],n=e[1],u&amp;&amp;(r=r[0],n=n[0]),o=[r,n],c.invert&amp;&amp;(r=c(r),n=c(n)),n&lt;r&amp;&amp;(l=r,r=n,n=l),r==f[0]&amp;&amp;n==f[1]||(f=[r,n])),u&amp;&amp;(i=e[0],a=e[1],c&amp;&amp;(i=i[1],a=a[1]),s=[i,a],u.invert&amp;&amp;(i=u(i),a=u(a)),a&lt;i&amp;&amp;(l=i,i=a,a=l),i==h[0]&amp;&amp;a==h[1]||(h=[i,a])),t):(c&amp;&amp;(o?(r=o[0],n=o[1]):(r=f[0],n=f[1],c.invert&amp;&amp;(r=c.invert(r),n=c.invert(n)),n&lt;r&amp;&amp;(l=r,r=n,n=l))),u&amp;&amp;(s?(i=s[0],a=s[1]):(i=h[0],a=h[1],u.invert&amp;&amp;(i=u.invert(i),a=u.invert(a)),a&lt;i&amp;&amp;(l=i,i=a,a=l))),c&amp;&amp;u?[[r,i],[n,a]]:c?[r,n]:u&amp;&amp;[i,a])},t.clear=function(){return t.empty()||(f=[0,0],h=[0,0],o=s=null),t},t.empty=function(){return!!c&amp;&amp;f[0]==f[1]||!!u&amp;&amp;h[0]==h[1]},Zi.rebind(t,l,&quot;on&quot;)};var zs={n:&quot;ns-resize&quot;,e:&quot;ew-resize&quot;,s:&quot;ns-resize&quot;,w:&quot;ew-resize&quot;,nw:&quot;nwse-resize&quot;,ne:&quot;nesw-resize&quot;,se:&quot;nwse-resize&quot;,sw:&quot;nesw-resize&quot;},Ds=[[&quot;n&quot;,&quot;e&quot;,&quot;s&quot;,&quot;w&quot;,&quot;nw&quot;,&quot;ne&quot;,&quot;se&quot;,&quot;sw&quot;],[&quot;e&quot;,&quot;w&quot;],[&quot;n&quot;,&quot;s&quot;],[]],Is=Ka.format=no.timeFormat,Ps=Is.utc,Os=Ps(&quot;%Y-%m-%dT%H:%M:%S.%LZ&quot;);Is.iso=Date.prototype.toISOString&amp;&amp;+new Date(&quot;2000-01-01T00:00:00.000Z&quot;)?Hi:Os,Hi.parse=function(t){var e=new Date(t);return isNaN(e)?null:e},Hi.toString=Os.toString,Ka.second=Ct(function(t){return new Qa(1e3*Math.floor(t/1e3))},function(t,e){t.setTime(t.getTime()+1e3*Math.floor(e))},function(t){return t.getSeconds()}),Ka.seconds=Ka.second.range,Ka.seconds.utc=Ka.second.utc.range,Ka.minute=Ct(function(t){return new Qa(6e4*Math.floor(t/6e4))},function(t,e){t.setTime(t.getTime()+6e4*Math.floor(e))},function(t){return t.getMinutes()}),Ka.minutes=Ka.minute.range,Ka.minutes.utc=Ka.minute.utc.range,Ka.hour=Ct(function(t){var e=t.getTimezoneOffset()/60;return new Qa(36e5*(Math.floor(t/36e5-e)+e))},function(t,e){t.setTime(t.getTime()+36e5*Math.floor(e))},function(t){return t.getHours()}),Ka.hours=Ka.hour.range,Ka.hours.utc=Ka.hour.utc.range,Ka.month=Ct(function(t){return(t=Ka.day(t)).setDate(1),t},function(t,e){t.setMonth(t.getMonth()+e)},function(t){return t.getMonth()}),Ka.months=Ka.month.range,Ka.months.utc=Ka.month.utc.range;var Fs=[1e3,5e3,15e3,3e4,6e4,3e5,9e5,18e5,36e5,108e5,216e5,432e5,864e5,1728e5,6048e5,2592e6,7776e6,31536e6],Rs=[[Ka.second,1],[Ka.second,5],[Ka.second,15],[Ka.second,30],[Ka.minute,1],[Ka.minute,5],[Ka.minute,15],[Ka.minute,30],[Ka.hour,1],[Ka.hour,3],[Ka.hour,6],[Ka.hour,12],[Ka.day,1],[Ka.day,2],[Ka.week,1],[Ka.month,1],[Ka.month,3],[Ka.year,1]],Ns=Is.multi([[&quot;.%L&quot;,function(t){return t.getMilliseconds()}],[&quot;:%S&quot;,function(t){return t.getSeconds()}],[&quot;%I:%M&quot;,function(t){return t.getMinutes()}],[&quot;%I %p&quot;,function(t){return t.getHours()}],[&quot;%a %d&quot;,function(t){return t.getDay()&amp;&amp;1!=t.getDate()}],[&quot;%b %d&quot;,function(t){return 1!=t.getDate()}],[&quot;%B&quot;,function(t){return t.getMonth()}],[&quot;%Y&quot;,ve]]),js={range:function(t,e,r){return Zi.range(Math.ceil(t/r)*r,+e,r).map(Yi)},floor:y,ceil:y};Rs.year=Ka.year,Ka.scale=function(){return Gi(Zi.scale.linear(),Rs,Ns)};var Bs=Rs.map(function(t){return[t[0].utc,t[1]]}),Us=Ps.multi([[&quot;.%L&quot;,function(t){return t.getUTCMilliseconds()}],[&quot;:%S&quot;,function(t){return t.getUTCSeconds()}],[&quot;%I:%M&quot;,function(t){return t.getUTCMinutes()}],[&quot;%I %p&quot;,function(t){return t.getUTCHours()}],[&quot;%a %d&quot;,function(t){return t.getUTCDay()&amp;&amp;1!=t.getUTCDate()}],[&quot;%b %d&quot;,function(t){return 1!=t.getUTCDate()}],[&quot;%B&quot;,function(t){return t.getUTCMonth()}],[&quot;%Y&quot;,ve]]);Bs.year=Ka.year.utc,Ka.scale.utc=function(){return Gi(Zi.scale.linear(),Bs,Us)},Zi.text=wt(function(t){return t.responseText}),Zi.json=function(t,e){return Mt(t,&quot;application/json&quot;,Wi,e)},Zi.html=function(t,e){return Mt(t,&quot;text/html&quot;,Xi,e)},Zi.xml=wt(function(t){return t.responseXML}),&quot;object&quot;==typeof e&amp;&amp;e.exports?e.exports=Zi:this.d3=Zi}()},{}],129:[function(t,e,r){e.exports=function(){for(var t=0;t&lt;arguments.length;t++)if(void 0!==arguments[t])return arguments[t]}},{}],130:[function(t,e,r){&quot;use strict&quot;;function n(t,e){this.point=t,this.index=e}function i(t,e){for(var r=t.point,n=e.point,i=r.length,a=0;a&lt;i;++a){var o=n[a]-r[a];if(o)return o}return 0}var a=t(&quot;incremental-convex-hull&quot;),o=t(&quot;uniq&quot;);e.exports=function(t,e){var r=t.length;if(0===r)return[];var s=t[0].length;if(s&lt;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&lt;t;++a){var o=n[a-1],s=n[a];i[a-1]=[o[1],s[1]]}return r&amp;&amp;i.push([-1,i[0][1]],[i[t-1][1],-1]),i}(r,t,e);for(var l=new Array(r),c=1,u=0;u&lt;r;++u){for(var f=t[u],h=new Array(s+1),d=0,p=0;p&lt;s;++p){var m=f[p];h[p]=m,d+=m*m}h[s]=d,l[u]=new n(h,u),c=Math.max(d,c)}o(l,i),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&lt;=s;++u)x[u]=0;for(x[s]=y,g[0]=x.slice(),v[0]=-1,u=0;u&lt;=s;++u)(h=x.slice())[u]=1,g[u+1]=h,v[u+1]=-1;for(u=0;u&lt;r;++u){var b=l[u];g[u+s+1]=b.point,v[u+s+1]=b.index}var _=a(g,!1);if(_=e?_.filter(function(t){for(var e=0,r=0;r&lt;=s;++r){var n=v[t[r]];if(n&lt;0&amp;&amp;++e&gt;=2)return!1;t[r]=n}return!0}):_.filter(function(t){for(var e=0;e&lt;=s;++e){var r=v[t[e]];if(r&lt;0)return!1;t[e]=r}return!0}),1&amp;s)for(u=0;u&lt;_.length;++u)h=(b=_[u])[0],b[0]=b[1],b[1]=h;return _}},{&quot;incremental-convex-hull&quot;:278,uniq:556}],131:[function(t,e,r){(function(t){var r=!1;if(&quot;undefined&quot;!=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]]};function a(t,e){return i[0]=t,i[1]=e,n[0]}e.exports.pack=a;function o(t){return n[0]=t,i[0]}e.exports.lo=o;function s(t){return n[0]=t,i[1]}e.exports.hi=s}else if(1072693248===i[0]){e.exports=function(t){return n[0]=t,[i[1],i[0]]};function l(t,e){return i[1]=t,i[0]=e,n[0]}e.exports.pack=l;function c(t){return n[0]=t,i[1]}e.exports.lo=c;function u(t){return n[0]=t,i[0]}e.exports.hi=u}else r=!1}if(!r){var f=new t(8);e.exports=function(t){return f.writeDoubleLE(t,0,!0),[f.readUInt32LE(0,!0),f.readUInt32LE(4,!0)]};function h(t,e){return f.writeUInt32LE(t,0,!0),f.writeUInt32LE(e,4,!0),f.readDoubleLE(0,!0)}e.exports.pack=h;function d(t){return f.writeDoubleLE(t,0,!0),f.readUInt32LE(0,!0)}e.exports.lo=d;function p(t){return f.writeDoubleLE(t,0,!0),f.readUInt32LE(4,!0)}e.exports.hi=p}e.exports.sign=function(t){return e.exports.hi(t)&gt;&gt;&gt;31},e.exports.exponent=function(t){return(e.exports.hi(t)&lt;&lt;1&gt;&gt;&gt;21)-1023},e.exports.fraction=function(t){var r=e.exports.lo(t),n=e.exports.hi(t),i=1048575&amp;n;return 2146435072&amp;n&amp;&amp;(i+=1&lt;&lt;20),[r,i]},e.exports.denormalized=function(t){return!(2146435072&amp;e.exports.hi(t))}}).call(this,t(&quot;buffer&quot;).Buffer)},{buffer:82}],132:[function(t,e,r){var n=t(&quot;abs-svg-path&quot;),i=t(&quot;normalize-svg-path&quot;),a={M:&quot;moveTo&quot;,C:&quot;bezierCurveTo&quot;};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()}},{&quot;abs-svg-path&quot;:43,&quot;normalize-svg-path&quot;:460}],133:[function(t,e,r){e.exports=function(t){switch(t){case&quot;int8&quot;:return Int8Array;case&quot;int16&quot;:return Int16Array;case&quot;int32&quot;:return Int32Array;case&quot;uint8&quot;:return Uint8Array;case&quot;uint16&quot;:return Uint16Array;case&quot;uint32&quot;:return Uint32Array;case&quot;float32&quot;:return Float32Array;case&quot;float64&quot;:return Float64Array;case&quot;array&quot;:return Array;case&quot;uint8_clamped&quot;:return Uint8ClampedArray}}},{}],134:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r){var i=0|t[r];if(i&lt;=0)return[];var a,o=new Array(i);if(r===t.length-1)for(a=0;a&lt;i;++a)o[a]=e;else for(a=0;a&lt;i;++a)o[a]=n(t,e,r+1);return o}e.exports=function(t,e){switch(void 0===e&amp;&amp;(e=0),typeof t){case&quot;number&quot;:if(t&gt;0)return function(t,e){var r,n;for(r=new Array(t),n=0;n&lt;t;++n)r[n]=e;return r}(0|t,e);break;case&quot;object&quot;:if(&quot;number&quot;==typeof t.length)return n(t,e,0)}return[]}},{}],135:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r){r=r||2;var n=e&amp;&amp;e.length,l=n?e[0]*r:t.length,u=i(t,0,l,r,!0),f=[];if(!u)return f;var h,m,g,v,y,x,b;if(n&amp;&amp;(u=function(t,e,r,n){var o,l,u,f,h,m=[];for(o=0,l=e.length;o&lt;l;o++)u=e[o]*n,f=o&lt;l-1?e[o+1]*n:t.length,(h=i(t,u,f,n,!1))===h.next&amp;&amp;(h.steiner=!0),m.push(function(t){var e=t,r=t;do{e.x&lt;r.x&amp;&amp;(r=e),e=e.next}while(e!==t);return r}(h));for(m.sort(s),o=0;o&lt;m.length;o++)!function(t,e){if(e=function(t,e){var r,n=e,i=t.x,a=t.y,o=-1/0;do{if(a&lt;=n.y&amp;&amp;a&gt;=n.next.y){var s=n.x+(a-n.y)*(n.next.x-n.x)/(n.next.y-n.y);if(s&lt;=i&amp;&amp;s&gt;o){if(o=s,s===i){if(a===n.y)return n;if(a===n.next.y)return n.next}r=n.x&lt;n.next.x?n:n.next}}n=n.next}while(n!==e);if(!r)return null;if(i===o)return r.prev;var l,u=r,f=r.x,h=r.y,p=1/0;for(n=r.next;n!==u;)i&gt;=n.x&amp;&amp;n.x&gt;=f&amp;&amp;c(a&lt;h?i:o,a,f,h,a&lt;h?o:i,a,n.x,n.y)&amp;&amp;((l=Math.abs(a-n.y)/(i-n.x))&lt;p||l===p&amp;&amp;n.x&gt;r.x)&amp;&amp;d(n,t)&amp;&amp;(r=n,p=l),n=n.next;return r}(t,e)){var r=p(e,t);a(r,r.next)}}(m[o],r),r=a(r,r.next);return r}(t,e,u,r)),t.length&gt;80*r){h=g=t[0],m=v=t[1];for(var _=r;_&lt;l;_+=r)y=t[_],x=t[_+1],y&lt;h&amp;&amp;(h=y),x&lt;m&amp;&amp;(m=x),y&gt;g&amp;&amp;(g=y),x&gt;v&amp;&amp;(v=x);b=Math.max(g-h,v-m)}return o(u,f,r,h,m,b),f}function i(t,e,r,n,i){var a,o;if(i===y(t,e,r,n)&gt;0)for(a=e;a&lt;r;a+=n)o=m(a,t[a],t[a+1],o);else for(a=r-n;a&gt;=e;a-=n)o=m(a,t[a],t[a+1],o);return o&amp;&amp;f(o,o.next)&amp;&amp;(g(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||!f(n,n.next)&amp;&amp;0!==u(n.prev,n,n.next))n=n.next;else{if(g(n),(n=e=n.prev)===n.next)return null;r=!0}}while(r||n!==e);return e}function o(t,e,r,n,i,s,m){if(t){!m&amp;&amp;s&amp;&amp;function(t,e,r,n){var i=t;do{null===i.z&amp;&amp;(i.z=l(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&lt;c&amp;&amp;(s++,n=n.nextZ);e++);for(l=c;s&gt;0||l&gt;0&amp;&amp;n;)0===s?(i=n,n=n.nextZ,l--):0!==l&amp;&amp;n?r.z&lt;=n.z?(i=r,r=r.nextZ,s--):(i=n,n=n.nextZ,l--):(i=r,r=r.nextZ,s--),a?a.nextZ=i:t=i,i.prevZ=a,a=i;r=n}a.nextZ=null,c*=2}while(o&gt;1)}(i)}(t,n,i,s);for(var v,y,x=t;t.prev!==t.next;)if(v=t.prev,y=t.next,s?function(t,e,r,n){var i=t.prev,a=t,o=t.next;if(u(i,a,o)&gt;=0)return!1;var s=i.x&lt;a.x?i.x&lt;o.x?i.x:o.x:a.x&lt;o.x?a.x:o.x,f=i.y&lt;a.y?i.y&lt;o.y?i.y:o.y:a.y&lt;o.y?a.y:o.y,h=i.x&gt;a.x?i.x&gt;o.x?i.x:o.x:a.x&gt;o.x?a.x:o.x,d=i.y&gt;a.y?i.y&gt;o.y?i.y:o.y:a.y&gt;o.y?a.y:o.y,p=l(s,f,e,r,n),m=l(h,d,e,r,n),g=t.nextZ;for(;g&amp;&amp;g.z&lt;=m;){if(g!==t.prev&amp;&amp;g!==t.next&amp;&amp;c(i.x,i.y,a.x,a.y,o.x,o.y,g.x,g.y)&amp;&amp;u(g.prev,g,g.next)&gt;=0)return!1;g=g.nextZ}g=t.prevZ;for(;g&amp;&amp;g.z&gt;=p;){if(g!==t.prev&amp;&amp;g!==t.next&amp;&amp;c(i.x,i.y,a.x,a.y,o.x,o.y,g.x,g.y)&amp;&amp;u(g.prev,g,g.next)&gt;=0)return!1;g=g.prevZ}return!0}(t,n,i,s):function(t){var e=t.prev,r=t,n=t.next;if(u(e,r,n)&gt;=0)return!1;var i=t.next.next;for(;i!==t.prev;){if(c(e.x,e.y,r.x,r.y,n.x,n.y,i.x,i.y)&amp;&amp;u(i.prev,i,i.next)&gt;=0)return!1;i=i.next}return!0}(t))e.push(v.i/r),e.push(t.i/r),e.push(y.i/r),g(t),t=y.next,x=y.next;else if((t=y)===x){m?1===m?o(t=function(t,e,r){var n=t;do{var i=n.prev,a=n.next.next;!f(i,a)&amp;&amp;h(i,n,n.next,a)&amp;&amp;d(i,a)&amp;&amp;d(a,i)&amp;&amp;(e.push(i.i/r),e.push(n.i/r),e.push(a.i/r),g(n),g(n.next),n=t=a),n=n.next}while(n!==t);return n}(t,e,r),e,r,n,i,s,2):2===m&amp;&amp;function(t,e,r,n,i,s){var l=t;do{for(var c=l.next.next;c!==l.prev;){if(l.i!==c.i&amp;&amp;function(t,e){return t.next.i!==e.i&amp;&amp;t.prev.i!==e.i&amp;&amp;!function(t,e){var r=t;do{if(r.i!==t.i&amp;&amp;r.next.i!==t.i&amp;&amp;r.i!==e.i&amp;&amp;r.next.i!==e.i&amp;&amp;h(r,r.next,t,e))return!0;r=r.next}while(r!==t);return!1}(t,e)&amp;&amp;d(t,e)&amp;&amp;d(e,t)&amp;&amp;function(t,e){var r=t,n=!1,i=(t.x+e.x)/2,a=(t.y+e.y)/2;do{r.y&gt;a!=r.next.y&gt;a&amp;&amp;i&lt;(r.next.x-r.x)*(a-r.y)/(r.next.y-r.y)+r.x&amp;&amp;(n=!n),r=r.next}while(r!==t);return n}(t,e)}(l,c)){var u=p(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)}(t,e,r,n,i,s):o(a(t),e,r,n,i,s,1);break}}}function s(t,e){return t.x-e.x}function l(t,e,r,n,i){return t=32767*(t-r)/i,e=32767*(e-n)/i,t=16711935&amp;(t|t&lt;&lt;8),t=252645135&amp;(t|t&lt;&lt;4),t=858993459&amp;(t|t&lt;&lt;2),t=1431655765&amp;(t|t&lt;&lt;1),e=16711935&amp;(e|e&lt;&lt;8),e=252645135&amp;(e|e&lt;&lt;4),e=858993459&amp;(e|e&lt;&lt;2),e=1431655765&amp;(e|e&lt;&lt;1),t|e&lt;&lt;1}function c(t,e,r,n,i,a,o,s){return(i-o)*(e-s)-(t-o)*(a-s)&gt;=0&amp;&amp;(t-o)*(n-s)-(r-o)*(e-s)&gt;=0&amp;&amp;(r-o)*(a-s)-(i-o)*(n-s)&gt;=0}function u(t,e,r){return(e.y-t.y)*(r.x-e.x)-(e.x-t.x)*(r.y-e.y)}function f(t,e){return t.x===e.x&amp;&amp;t.y===e.y}function h(t,e,r,n){return!!(f(t,e)&amp;&amp;f(r,n)||f(t,n)&amp;&amp;f(r,e))||u(t,e,r)&gt;0!=u(t,e,n)&gt;0&amp;&amp;u(r,n,t)&gt;0!=u(r,n,e)&gt;0}function d(t,e){return u(t.prev,t,t.next)&lt;0?u(t,e,t.next)&gt;=0&amp;&amp;u(t,t.prev,e)&gt;=0:u(t,e,t.prev)&lt;0||u(t,t.next,e)&lt;0}function p(t,e){var r=new v(t.i,t.x,t.y),n=new v(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 m(t,e,r,n){var i=new v(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 g(t){t.next.prev=t.prev,t.prev.next=t.next,t.prevZ&amp;&amp;(t.prevZ.nextZ=t.nextZ),t.nextZ&amp;&amp;(t.nextZ.prevZ=t.prevZ)}function v(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 y(t,e,r,n){for(var i=0,a=e,o=r-n;a&lt;r;a+=n)i+=(t[o]-t[a])*(t[a+1]+t[o+1]),o=a;return i}e.exports=n,n.deviation=function(t,e,r,n){var i=e&amp;&amp;e.length,a=i?e[0]*r:t.length,o=Math.abs(y(t,0,a,r));if(i)for(var s=0,l=e.length;s&lt;l;s++){var c=e[s]*r,u=s&lt;l-1?e[s+1]*r:t.length;o-=Math.abs(y(t,c,u,r))}var f=0;for(s=0;s&lt;n.length;s+=3){var h=n[s]*r,d=n[s+1]*r,p=n[s+2]*r;f+=Math.abs((t[h]-t[p])*(t[d+1]-t[h+1])-(t[h]-t[d])*(t[p+1]-t[h+1]))}return 0===o&amp;&amp;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&lt;t.length;i++){for(var a=0;a&lt;t[i].length;a++)for(var o=0;o&lt;e;o++)r.vertices.push(t[i][a][o]);i&gt;0&amp;&amp;(n+=t[i-1].length,r.holes.push(n))}return r}},{}],136:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t,e){var r=t.length;if(&quot;number&quot;!=typeof e){e=0;for(var i=0;i&lt;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&lt;e;++i)o[i]=[];for(i=0;i&lt;r;++i)o[(a=t[i])[0]].push(a[1]),o[a[1]].push(a[0]);for(var s=0;s&lt;e;++s)n(o[s],function(t,e){return t-e});return o};var n=t(&quot;uniq&quot;)},{uniq:556}],137:[function(t,e,r){(function(n,i){!function(t,n){&quot;object&quot;==typeof r&amp;&amp;void 0!==e?e.exports=n():t.ES6Promise=n()}(this,function(){&quot;use strict&quot;;function e(t){return&quot;function&quot;==typeof t}function r(){var t=setTimeout;return function(){return t(a,1)}}function a(){for(var t=0;t&lt;A;t+=2){(0,P[t])(P[t+1]),P[t]=void 0,P[t+1]=void 0}A=0}function o(){try{var e=t(&quot;vertx&quot;);return T=e.runOnLoop||e.runOnContext,function(){T(a)}}catch(t){return r()}}function s(t,e){var r=arguments,n=this,i=new this.constructor(c);void 0===i[F]&amp;&amp;b(i);var a=n._state;return a?function(){var t=r[a-1];E(function(){return x(a,i,t,n._result)})}():g(n,i,t,e),i}function l(t){if(t&amp;&amp;&quot;object&quot;==typeof t&amp;&amp;t.constructor===this)return t;var e=new this(c);return h(e,t),e}function c(){}function u(t){try{return t.then}catch(t){return B.error=t,B}}function f(t,r,n){r.constructor===t.constructor&amp;&amp;n===s&amp;&amp;r.constructor.resolve===l?function(t,e){e._state===N?p(t,e._result):e._state===j?m(t,e._result):g(e,void 0,function(e){return h(t,e)},function(e){return m(t,e)})}(t,r):n===B?m(t,B.error):void 0===n?p(t,r):e(n)?function(t,e,r){E(function(t){var n=!1,i=function(t,e,r,n){try{t.call(e,r,n)}catch(t){return t}}(r,e,function(r){n||(n=!0,e!==r?h(t,r):p(t,r))},function(e){n||(n=!0,m(t,e))},t._label);!n&amp;&amp;i&amp;&amp;(n=!0,m(t,i))},t)}(t,r,n):p(t,r)}function h(t,e){t===e?m(t,new TypeError(&quot;You cannot resolve a promise with itself&quot;)):!function(t){return&quot;function&quot;==typeof t||&quot;object&quot;==typeof t&amp;&amp;null!==t}(e)?p(t,e):f(t,e,u(e))}function d(t){t._onerror&amp;&amp;t._onerror(t._result),v(t)}function p(t,e){t._state===R&amp;&amp;(t._result=e,t._state=N,0!==t._subscribers.length&amp;&amp;E(v,t))}function m(t,e){t._state===R&amp;&amp;(t._state=j,t._result=e,E(d,t))}function g(t,e,r,n){var i=t._subscribers,a=i.length;t._onerror=null,i[a]=e,i[a+N]=r,i[a+j]=n,0===a&amp;&amp;t._state&amp;&amp;E(v,t)}function v(t){var e=t._subscribers,r=t._state;if(0!==e.length){for(var n=void 0,i=void 0,a=t._result,o=0;o&lt;e.length;o+=3)n=e[o],i=e[o+r],n?x(r,n,i,a):i(a);t._subscribers.length=0}}function y(){this.error=null}function x(t,r,n,i){var a=e(n),o=void 0,s=void 0,l=void 0,c=void 0;if(a){if((o=function(t,e){try{return t(e)}catch(t){return U.error=t,U}}(n,i))===U?(c=!0,s=o.error,o=null):l=!0,r===o)return void m(r,new TypeError(&quot;A promises callback cannot return that same promise.&quot;))}else o=i,l=!0;r._state!==R||(a&amp;&amp;l?h(r,o):c?m(r,s):t===N?p(r,o):t===j&amp;&amp;m(r,o))}function b(t){t[F]=V++,t._state=void 0,t._result=void 0,t._subscribers=[]}function _(t,e){this._instanceConstructor=t,this.promise=new t(c),this.promise[F]||b(this.promise),k(e)?(this._input=e,this.length=e.length,this._remaining=e.length,this._result=new Array(this.length),0===this.length?p(this.promise,this._result):(this.length=this.length||0,this._enumerate(),0===this._remaining&amp;&amp;p(this.promise,this._result))):m(this.promise,new Error(&quot;Array Methods must be provided an Array&quot;))}function w(t){this[F]=V++,this._result=this._state=void 0,this._subscribers=[],c!==t&amp;&amp;(&quot;function&quot;!=typeof t&amp;&amp;function(){throw new TypeError(&quot;You must pass a resolver function as the first argument to the promise constructor&quot;)}(),this instanceof w?function(t,e){try{e(function(e){h(t,e)},function(e){m(t,e)})}catch(e){m(t,e)}}(this,t):function(){throw new TypeError(&quot;Failed to construct 'Promise': Please use the 'new' operator, this object constructor cannot be called as a function.&quot;)}())}function M(){var t=void 0;if(void 0!==i)t=i;else if(&quot;undefined&quot;!=typeof self)t=self;else try{t=Function(&quot;return this&quot;)()}catch(t){throw new Error(&quot;polyfill failed because global object is unavailable in this environment&quot;)}var e=t.Promise;if(e){var r=null;try{r=Object.prototype.toString.call(e.resolve())}catch(t){}if(&quot;[object Promise]&quot;===r&amp;&amp;!e.cast)return}t.Promise=w}var k=Array.isArray?Array.isArray:function(t){return&quot;[object Array]&quot;===Object.prototype.toString.call(t)},A=0,T=void 0,S=void 0,E=function(t,e){P[A]=t,P[A+1]=e,2===(A+=2)&amp;&amp;(S?S(a):O())},L=&quot;undefined&quot;!=typeof window?window:void 0,C=L||{},z=C.MutationObserver||C.WebKitMutationObserver,D=&quot;undefined&quot;==typeof self&amp;&amp;void 0!==n&amp;&amp;&quot;[object process]&quot;==={}.toString.call(n),I=&quot;undefined&quot;!=typeof Uint8ClampedArray&amp;&amp;&quot;undefined&quot;!=typeof importScripts&amp;&amp;&quot;undefined&quot;!=typeof MessageChannel,P=new Array(1e3),O=void 0;O=D?function(){return n.nextTick(a)}:z?function(){var t=0,e=new z(a),r=document.createTextNode(&quot;&quot;);return e.observe(r,{characterData:!0}),function(){r.data=t=++t%2}}():I?function(){var t=new MessageChannel;return t.port1.onmessage=a,function(){return t.port2.postMessage(0)}}():void 0===L&amp;&amp;&quot;function&quot;==typeof t?o():r();var F=Math.random().toString(36).substring(16),R=void 0,N=1,j=2,B=new y,U=new y,V=0;return _.prototype._enumerate=function(){for(var t=this.length,e=this._input,r=0;this._state===R&amp;&amp;r&lt;t;r++)this._eachEntry(e[r],r)},_.prototype._eachEntry=function(t,e){var r=this._instanceConstructor,n=r.resolve;if(n===l){var i=u(t);if(i===s&amp;&amp;t._state!==R)this._settledAt(t._state,e,t._result);else if(&quot;function&quot;!=typeof i)this._remaining--,this._result[e]=t;else if(r===w){var a=new r(c);f(a,t,i),this._willSettleAt(a,e)}else this._willSettleAt(new r(function(e){return e(t)}),e)}else this._willSettleAt(n(t),e)},_.prototype._settledAt=function(t,e,r){var n=this.promise;n._state===R&amp;&amp;(this._remaining--,t===j?m(n,r):this._result[e]=r),0===this._remaining&amp;&amp;p(n,this._result)},_.prototype._willSettleAt=function(t,e){var r=this;g(t,void 0,function(t){return r._settledAt(N,e,t)},function(t){return r._settledAt(j,e,t)})},w.all=function(t){return new _(this,t).promise},w.race=function(t){var e=this;return new e(k(t)?function(r,n){for(var i=t.length,a=0;a&lt;i;a++)e.resolve(t[a]).then(r,n)}:function(t,e){return e(new TypeError(&quot;You must pass an array to race.&quot;))})},w.resolve=l,w.reject=function(t){var e=new this(c);return m(e,t),e},w._setScheduler=function(t){S=t},w._setAsap=function(t){E=t},w._asap=E,w.prototype={constructor:w,then:s,catch:function(t){return this.then(null,t)}},M(),w.polyfill=M,w.Promise=w,w})}).call(this,t(&quot;_process&quot;),&quot;undefined&quot;!=typeof global?global:&quot;undefined&quot;!=typeof self?self:&quot;undefined&quot;!=typeof window?window:{})},{_process:488}],138:[function(t,e,r){function n(){this._events=this._events||{},this._maxListeners=this._maxListeners||void 0}function i(t){return&quot;function&quot;==typeof t}function a(t){return&quot;object&quot;==typeof t&amp;&amp;null!==t}function o(t){return void 0===t}e.exports=n,n.EventEmitter=n,n.prototype._events=void 0,n.prototype._maxListeners=void 0,n.defaultMaxListeners=10,n.prototype.setMaxListeners=function(t){if(!function(t){return&quot;number&quot;==typeof t}(t)||t&lt;0||isNaN(t))throw TypeError(&quot;n must be a positive number&quot;);return this._maxListeners=t,this},n.prototype.emit=function(t){var e,r,n,s,l,c;if(this._events||(this._events={}),&quot;error&quot;===t&amp;&amp;(!this._events.error||a(this._events.error)&amp;&amp;!this._events.error.length)){if((e=arguments[1])instanceof Error)throw e;var u=new Error('Uncaught, unspecified &quot;error&quot; event. ('+e+&quot;)&quot;);throw u.context=e,u}if(r=this._events[t],o(r))return!1;if(i(r))switch(arguments.length){case 1:r.call(this);break;case 2:r.call(this,arguments[1]);break;case 3:r.call(this,arguments[1],arguments[2]);break;default:s=Array.prototype.slice.call(arguments,1),r.apply(this,s)}else if(a(r))for(s=Array.prototype.slice.call(arguments,1),n=(c=r.slice()).length,l=0;l&lt;n;l++)c[l].apply(this,s);return!0},n.prototype.addListener=function(t,e){var r;if(!i(e))throw TypeError(&quot;listener must be a function&quot;);return this._events||(this._events={}),this._events.newListener&amp;&amp;this.emit(&quot;newListener&quot;,t,i(e.listener)?e.listener:e),this._events[t]?a(this._events[t])?this._events[t].push(e):this._events[t]=[this._events[t],e]:this._events[t]=e,a(this._events[t])&amp;&amp;!this._events[t].warned&amp;&amp;(r=o(this._maxListeners)?n.defaultMaxListeners:this._maxListeners)&amp;&amp;r&gt;0&amp;&amp;this._events[t].length&gt;r&amp;&amp;(this._events[t].warned=!0,console.error(&quot;(node) warning: possible EventEmitter memory leak detected. %d listeners added. Use emitter.setMaxListeners() to increase limit.&quot;,this._events[t].length),&quot;function&quot;==typeof console.trace&amp;&amp;console.trace()),this},n.prototype.on=n.prototype.addListener,n.prototype.once=function(t,e){function r(){this.removeListener(t,r),n||(n=!0,e.apply(this,arguments))}if(!i(e))throw TypeError(&quot;listener must be a function&quot;);var n=!1;return r.listener=e,this.on(t,r),this},n.prototype.removeListener=function(t,e){var r,n,o,s;if(!i(e))throw TypeError(&quot;listener must be a function&quot;);if(!this._events||!this._events[t])return this;if(r=this._events[t],o=r.length,n=-1,r===e||i(r.listener)&amp;&amp;r.listener===e)delete this._events[t],this._events.removeListener&amp;&amp;this.emit(&quot;removeListener&quot;,t,e);else if(a(r)){for(s=o;s-- &gt;0;)if(r[s]===e||r[s].listener&amp;&amp;r[s].listener===e){n=s;break}if(n&lt;0)return this;1===r.length?(r.length=0,delete this._events[t]):r.splice(n,1),this._events.removeListener&amp;&amp;this.emit(&quot;removeListener&quot;,t,e)}return this},n.prototype.removeAllListeners=function(t){var e,r;if(!this._events)return this;if(!this._events.removeListener)return 0===arguments.length?this._events={}:this._events[t]&amp;&amp;delete this._events[t],this;if(0===arguments.length){for(e in this._events)&quot;removeListener&quot;!==e&amp;&amp;this.removeAllListeners(e);return this.removeAllListeners(&quot;removeListener&quot;),this._events={},this}if(r=this._events[t],i(r))this.removeListener(t,r);else if(r)for(;r.length;)this.removeListener(t,r[r.length-1]);return delete this._events[t],this},n.prototype.listeners=function(t){return this._events&amp;&amp;this._events[t]?i(this._events[t])?[this._events[t]]:this._events[t].slice():[]},n.prototype.listenerCount=function(t){if(this._events){var e=this._events[t];if(i(e))return 1;if(e)return e.length}return 0},n.listenerCount=function(t,e){return t.listenerCount(e)}},{}],139:[function(t,e,r){&quot;use strict&quot;;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]]]}},{}],140:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t){var e=typeof t;if(&quot;string&quot;===e){var r=t;if(0===(t=+t)&amp;&amp;function(t){for(var e,r=t.length,n=0;n&lt;r;n++)if(((e=t.charCodeAt(n))&lt;9||e&gt;13)&amp;&amp;32!==e&amp;&amp;133!==e&amp;&amp;160!==e&amp;&amp;5760!==e&amp;&amp;6158!==e&amp;&amp;(e&lt;8192||e&gt;8205)&amp;&amp;8232!==e&amp;&amp;8233!==e&amp;&amp;8239!==e&amp;&amp;8287!==e&amp;&amp;8288!==e&amp;&amp;12288!==e&amp;&amp;65279!==e)return!1;return!0}(r))return!1}else if(&quot;number&quot;!==e)return!1;return t-t&lt;1}},{}],141:[function(t,e,r){&quot;use strict&quot;;function n(t){if(!t)return&quot;true&quot;;var e=t[0];if(t.length&lt;=1)return&quot;any&quot;===e?&quot;false&quot;:&quot;true&quot;;return&quot;(&quot;+(&quot;==&quot;===e?a(t[1],t[2],&quot;===&quot;,!1):&quot;!=&quot;===e?a(t[1],t[2],&quot;!==&quot;,!1):&quot;&lt;&quot;===e||&quot;&gt;&quot;===e||&quot;&lt;=&quot;===e||&quot;&gt;=&quot;===e?a(t[1],t[2],e,!0):&quot;any&quot;===e?o(t.slice(1),&quot;||&quot;):&quot;all&quot;===e?o(t.slice(1),&quot;&amp;&amp;&quot;):&quot;none&quot;===e?c(o(t.slice(1),&quot;||&quot;)):&quot;in&quot;===e?s(t[1],t.slice(2)):&quot;!in&quot;===e?c(s(t[1],t.slice(2))):&quot;has&quot;===e?l(t[1]):&quot;!has&quot;===e?c(l([t[1]])):&quot;true&quot;)+&quot;)&quot;}function i(t){return&quot;$type&quot;===t?&quot;f.type&quot;:&quot;$id&quot;===t?&quot;f.id&quot;:&quot;p[&quot;+JSON.stringify(t)+&quot;]&quot;}function a(t,e,r,n){var a=i(t),o=&quot;$type&quot;===t?f.indexOf(e):JSON.stringify(e);return(n?&quot;typeof &quot;+a+&quot;=== typeof &quot;+o+&quot;&amp;&amp;&quot;:&quot;&quot;)+a+r+o}function o(t,e){return t.map(n).join(e)}function s(t,e){&quot;$type&quot;===t&amp;&amp;(e=e.map(function(t){return f.indexOf(t)}));var r=JSON.stringify(e.sort(u)),n=i(t);return e.length&lt;=200?r+&quot;.indexOf(&quot;+n+&quot;) !== -1&quot;:&quot;function(v, a, i, j) {while (i &lt;= j) { var m = (i + j) &gt;&gt; 1;    if (a[m] === v) return true; if (a[m] &gt; v) j = m - 1; else i = m + 1;}return false; }(&quot;+n+&quot;, &quot;+r+&quot;,0,&quot;+(e.length-1)+&quot;)&quot;}function l(t){return JSON.stringify(t)+&quot; in p&quot;}function c(t){return&quot;!(&quot;+t+&quot;)&quot;}function u(t,e){return t&lt;e?-1:t&gt;e?1:0}e.exports=function(t){return new Function(&quot;f&quot;,&quot;var p = (f &amp;&amp; f.properties || {}); return &quot;+n(t))};var f=[&quot;Unknown&quot;,&quot;Point&quot;,&quot;LineString&quot;,&quot;Polygon&quot;]},{}],142:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r){return Math.min(e,Math.max(t,r))}function i(t,e,r){this.dimension=t.length,this.bounds=[new Array(this.dimension),new Array(this.dimension)];for(var n=0;n&lt;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()]}function a(t){for(var e=new Array(t),r=0;r&lt;t;++r)e[r]=0;return e}e.exports=function(t,e,r){switch(arguments.length){case 0:return new i([0],[0],0);case 1:return&quot;number&quot;==typeof t?new i(n=a(t),n,0):new i(t,a(t.length),0);case 2:if(&quot;number&quot;==typeof e){var n;return new i(t,n=a(t.length),+e)}r=0;case 3:if(t.length!==e.length)throw new Error(&quot;state and velocity lengths must match&quot;);return new i(t,e,r)}};var o=t(&quot;cubic-hermite&quot;),s=t(&quot;binary-search-bounds&quot;),l=i.prototype;l.flush=function(t){var e=s.gt(this._time,t)-1;e&lt;=0||(this._time.splice(0,e),this._state.splice(0,e*this.dimension),this._velocity.splice(0,e*this.dimension))},l.curve=function(t){var e=this._time,r=e.length,i=s.le(e,t),a=this._scratch[0],l=this._state,c=this._velocity,u=this.dimension,f=this.bounds;if(i&lt;0)for(var h=u-1,d=0;d&lt;u;++d,--h)a[d]=l[h];else if(i&gt;=r-1){h=l.length-1;var p=t-e[r-1];for(d=0;d&lt;u;++d,--h)a[d]=l[h]+p*c[h]}else{h=u*(i+1)-1;var m=e[i],g=e[i+1]-m||1,v=this._scratch[1],y=this._scratch[2],x=this._scratch[3],b=this._scratch[4],_=!0;for(d=0;d&lt;u;++d,--h)v[d]=l[h],x[d]=c[h]*g,y[d]=l[h+u],b[d]=c[h+u]*g,_=_&amp;&amp;v[d]===y[d]&amp;&amp;x[d]===b[d]&amp;&amp;0===x[d];if(_)for(d=0;d&lt;u;++d)a[d]=v[d];else o(v,x,y,b,(t-m)/g,a)}var w=f[0],M=f[1];for(d=0;d&lt;u;++d)a[d]=n(w[d],M[d],a[d]);return a},l.dcurve=function(t){var e=this._time,r=e.length,n=s.le(e,t),i=this._scratch[0],a=this._state,l=this._velocity,c=this.dimension;if(n&gt;=r-1)for(var u=a.length-1,f=(e[r-1],0);f&lt;c;++f,--u)i[f]=l[u];else{u=c*(n+1)-1;var h=e[n],d=e[n+1]-h||1,p=this._scratch[1],m=this._scratch[2],g=this._scratch[3],v=this._scratch[4],y=!0;for(f=0;f&lt;c;++f,--u)p[f]=a[u],g[f]=l[u]*d,m[f]=a[u+c],v[f]=l[u+c]*d,y=y&amp;&amp;p[f]===m[f]&amp;&amp;g[f]===v[f]&amp;&amp;0===g[f];if(y)for(f=0;f&lt;c;++f)i[f]=0;else{o.derivative(p,g,m,v,(t-h)/d,i);for(f=0;f&lt;c;++f)i[f]/=d}}return i},l.lastT=function(){var t=this._time;return t[t.length-1]},l.stable=function(){for(var t=this._velocity,e=t.length,r=this.dimension-1;r&gt;=0;--r)if(t[--e])return!1;return!0},l.jump=function(t){var e=this.lastT(),r=this.dimension;if(!(t&lt;e||arguments.length!==r+1)){var i=this._state,a=this._velocity,o=i.length-this.dimension,s=this.bounds,l=s[0],c=s[1];this._time.push(e,t);for(var u=0;u&lt;2;++u)for(var f=0;f&lt;r;++f)i.push(i[o++]),a.push(0);this._time.push(t);for(f=r;f&gt;0;--f)i.push(n(l[f-1],c[f-1],arguments[f])),a.push(0)}},l.push=function(t){var e=this.lastT(),r=this.dimension;if(!(t&lt;e||arguments.length!==r+1)){var i=this._state,a=this._velocity,o=i.length-this.dimension,s=t-e,l=this.bounds,c=l[0],u=l[1],f=s&gt;1e-6?1/s:0;this._time.push(t);for(var h=r;h&gt;0;--h){var d=n(c[h-1],u[h-1],arguments[h]);i.push(d),a.push((d-i[o++])*f)}}},l.set=function(t){var e=this.dimension;if(!(t&lt;this.lastT()||arguments.length!==e+1)){var r=this._state,i=this._velocity,a=this.bounds,o=a[0],s=a[1];this._time.push(t);for(var l=e;l&gt;0;--l)r.push(n(o[l-1],s[l-1],arguments[l])),i.push(0)}},l.move=function(t){var e=this.lastT(),r=this.dimension;if(!(t&lt;=e||arguments.length!==r+1)){var i=this._state,a=this._velocity,o=i.length-this.dimension,s=this.bounds,l=s[0],c=s[1],u=t-e,f=u&gt;1e-6?1/u:0;this._time.push(t);for(var h=r;h&gt;0;--h){var d=arguments[h];i.push(n(l[h-1],c[h-1],i[o++]+d)),a.push(d*f)}}},l.idle=function(t){var e=this.lastT();if(!(t&lt;e)){var r=this.dimension,i=this._state,a=this._velocity,o=i.length-r,s=this.bounds,l=s[0],c=s[1],u=t-e;this._time.push(t);for(var f=r-1;f&gt;=0;--f)i.push(n(l[f],c[f],i[o]+u*a[o])),a.push(0),o+=1}}},{&quot;binary-search-bounds&quot;:70,&quot;cubic-hermite&quot;:115}],143:[function(t,e,r){var n=t(&quot;dtype&quot;);e.exports=function(t,e,r){if(!t)throw new TypeError(&quot;must specify data as first parameter&quot;);if(r=0|+(r||0),Array.isArray(t)&amp;&amp;Array.isArray(t[0])){var i=t[0].length,a=t.length*i;e&amp;&amp;&quot;string&quot;!=typeof e||(e=new(n(e||&quot;float32&quot;))(a+r));var o=e.length-r;if(a!==o)throw new Error(&quot;source length &quot;+a+&quot; (&quot;+i+&quot;x&quot;+t.length+&quot;) does not match destination length &quot;+o);for(var s=0,l=r;s&lt;t.length;s++)for(var c=0;c&lt;i;c++)e[l++]=t[s][c]}else if(e&amp;&amp;&quot;string&quot;!=typeof e)e.set(t,r);else{var u=n(e||&quot;float32&quot;);0===r?e=new u(t):(e=new u(t.length+r)).set(t,r)}return e}},{dtype:133}],144:[function(t,e,r){&quot;use strict&quot;;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}function l(t,e){if(e.left){if(r=l(t,e.left))return r}var r;return(r=t(e.key,e.value))||(e.right?l(t,e.right):void 0)}function c(t,e,r,n){if(e(t,n.key)&lt;=0){if(n.left){if(i=c(t,e,r,n.left))return i}var i;if(i=r(n.key,n.value))return i}if(n.right)return c(t,e,r,n.right)}function u(t,e,r,n,i){var a,o=r(t,i.key),s=r(e,i.key);if(o&lt;=0){if(i.left&amp;&amp;(a=u(t,e,r,n,i.left)))return a;if(s&gt;0&amp;&amp;(a=n(i.key,i.value)))return a}if(s&gt;0&amp;&amp;i.right)return u(t,e,r,n,i.right)}function f(t,e){this.tree=t,this._stack=e}function h(t,e){t.key=e.key,t.value=e.value,t.left=e.left,t.right=e.right,t._color=e._color,t._count=e._count}e.exports=function(t){return new s(t||function(t,e){return t&lt;e?-1:t&gt;e?1:0},null)};var d=0,p=1,m=s.prototype;Object.defineProperty(m,&quot;keys&quot;,{get:function(){var t=[];return this.forEach(function(e,r){t.push(e)}),t}}),Object.defineProperty(m,&quot;values&quot;,{get:function(){var t=[];return this.forEach(function(e,r){t.push(r)}),t}}),Object.defineProperty(m,&quot;length&quot;,{get:function(){return this.root?this.root._count:0}}),m.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&lt;=0?i.left:i.right}l.push(new n(d,t,e,null,null,1));for(var f=l.length-2;f&gt;=0;--f){i=l[f];c[f]&lt;=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&gt;1;--f){var h=l[f-1];i=l[f];if(h._color===p||i._color===p)break;var m=l[f-2];if(m.left===h)if(h.left===i){if(!(g=m.right)||g._color!==d){if(m._color=d,m.left=h.right,h._color=p,h.right=m,l[f-2]=h,l[f-1]=i,o(m),o(h),f&gt;=3){(v=l[f-3]).left===m?v.left=h:v.right=h}break}h._color=p,m.right=a(p,g),m._color=d,f-=1}else{if(!(g=m.right)||g._color!==d){if(h.right=i.left,m._color=d,m.left=i.right,i._color=p,i.left=h,i.right=m,l[f-2]=i,l[f-1]=h,o(m),o(h),o(i),f&gt;=3){(v=l[f-3]).left===m?v.left=i:v.right=i}break}h._color=p,m.right=a(p,g),m._color=d,f-=1}else if(h.right===i){if(!(g=m.left)||g._color!==d){if(m._color=d,m.right=h.left,h._color=p,h.left=m,l[f-2]=h,l[f-1]=i,o(m),o(h),f&gt;=3){(v=l[f-3]).right===m?v.right=h:v.left=h}break}h._color=p,m.left=a(p,g),m._color=d,f-=1}else{var g;if(!(g=m.left)||g._color!==d){if(h.left=i.right,m._color=d,m.right=i.left,i._color=p,i.right=h,i.left=m,l[f-2]=i,l[f-1]=h,o(m),o(h),o(i),f&gt;=3){var v;(v=l[f-3]).right===m?v.right=i:v.left=i}break}h._color=p,m.left=a(p,g),m._color=d,f-=1}}return l[0]._color=p,new s(r,l[0])},m.forEach=function(t,e,r){if(this.root)switch(arguments.length){case 1:return l(t,this.root);case 2:return c(e,this._compare,t,this.root);case 3:if(this._compare(e,r)&gt;=0)return;return u(e,r,this._compare,t,this.root)}},Object.defineProperty(m,&quot;begin&quot;,{get:function(){for(var t=[],e=this.root;e;)t.push(e),e=e.left;return new f(this,t)}}),Object.defineProperty(m,&quot;end&quot;,{get:function(){for(var t=[],e=this.root;e;)t.push(e),e=e.right;return new f(this,t)}}),m.at=function(t){if(t&lt;0)return new f(this,[]);for(var e=this.root,r=[];;){if(r.push(e),e.left){if(t&lt;e.left._count){e=e.left;continue}t-=e.left._count}if(!t)return new f(this,r);if(t-=1,!e.right)break;if(t&gt;=e.right._count)break;e=e.right}return new f(this,[])},m.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&lt;=0&amp;&amp;(i=n.length),r=a&lt;=0?r.left:r.right}return n.length=i,new f(this,n)},m.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&lt;0&amp;&amp;(i=n.length),r=a&lt;0?r.left:r.right}return n.length=i,new f(this,n)},m.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&gt;0&amp;&amp;(i=n.length),r=a&lt;=0?r.left:r.right}return n.length=i,new f(this,n)},m.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&gt;=0&amp;&amp;(i=n.length),r=a&lt;0?r.left:r.right}return n.length=i,new f(this,n)},m.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 f(this,n);r=i&lt;=0?r.left:r.right}return new f(this,[])},m.remove=function(t){var e=this.find(t);return e?e.remove():this},m.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&lt;=0?r.left:r.right}};var g=f.prototype;Object.defineProperty(g,&quot;valid&quot;,{get:function(){return this._stack.length&gt;0}}),Object.defineProperty(g,&quot;node&quot;,{get:function(){return this._stack.length&gt;0?this._stack[this._stack.length-1]:null},enumerable:!0}),g.clone=function(){return new f(this.tree,this._stack.slice())},g.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&gt;=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&amp;&amp;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&gt;=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((r=e[e.length-1])._color===d){var f=e[e.length-2];f.left===r?f.left=null:f.right===r&amp;&amp;(f.right=null),e.pop();for(l=0;l&lt;e.length;++l)e[l]._count--;return new s(this.tree._compare,e[0])}if(r.left||r.right){r.left?h(r,r.left):r.right&amp;&amp;h(r,r.right),r._color=p;for(l=0;l&lt;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&lt;e.length;++l)e[l]._count--;var m=e[e.length-2];return function(t){for(var e,r,n,s,l=t.length-1;l&gt;=0;--l){if(e=t[l],0===l)return void(e._color=p);if((r=t[l-1]).left===e){if((n=r.right).right&amp;&amp;n.right._color===d)return n=r.right=i(n),s=n.right=i(n.right),r.right=n.left,n.left=r,n.right=s,n._color=r._color,e._color=p,r._color=p,s._color=p,o(r),o(n),l&gt;1&amp;&amp;((c=t[l-2]).left===r?c.left=n:c.right=n),void(t[l-1]=n);if(n.left&amp;&amp;n.left._color===d)return n=r.right=i(n),s=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=p,n._color=p,e._color=p,o(r),o(n),o(s),l&gt;1&amp;&amp;((c=t[l-2]).left===r?c.left=s:c.right=s),void(t[l-1]=s);if(n._color===p){if(r._color===d)return r._color=p,void(r.right=a(d,n));r.right=a(d,n);continue}n=i(n),r.right=n.left,n.left=r,n._color=r._color,r._color=d,o(r),o(n),l&gt;1&amp;&amp;((c=t[l-2]).left===r?c.left=n:c.right=n),t[l-1]=n,t[l]=r,l+1&lt;t.length?t[l+1]=e:t.push(e),l+=2}else{if((n=r.left).left&amp;&amp;n.left._color===d)return n=r.left=i(n),s=n.left=i(n.left),r.left=n.right,n.right=r,n.left=s,n._color=r._color,e._color=p,r._color=p,s._color=p,o(r),o(n),l&gt;1&amp;&amp;((c=t[l-2]).right===r?c.right=n:c.left=n),void(t[l-1]=n);if(n.right&amp;&amp;n.right._color===d)return n=r.left=i(n),s=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=p,n._color=p,e._color=p,o(r),o(n),o(s),l&gt;1&amp;&amp;((c=t[l-2]).right===r?c.right=s:c.left=s),void(t[l-1]=s);if(n._color===p){if(r._color===d)return r._color=p,void(r.left=a(d,n));r.left=a(d,n);continue}if(n=i(n),r.left=n.right,n.right=r,n._color=r._color,r._color=d,o(r),o(n),l&gt;1){var c;(c=t[l-2]).right===r?c.right=n:c.left=n}t[l-1]=n,t[l]=r,l+1&lt;t.length?t[l+1]=e:t.push(e),l+=2}}}(e),m.left===r?m.left=null:m.right=null,new s(this.tree._compare,e[0])},Object.defineProperty(g,&quot;key&quot;,{get:function(){if(this._stack.length&gt;0)return this._stack[this._stack.length-1].key},enumerable:!0}),Object.defineProperty(g,&quot;value&quot;,{get:function(){if(this._stack.length&gt;0)return this._stack[this._stack.length-1].value},enumerable:!0}),Object.defineProperty(g,&quot;index&quot;,{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&amp;&amp;(t=e[e.length-1].left._count);for(var n=e.length-2;n&gt;=0;--n)e[n+1]===e[n].right&amp;&amp;(++t,e[n].left&amp;&amp;(t+=e[n].left._count));return t},enumerable:!0}),g.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&gt;0&amp;&amp;t[t.length-1].right===e;)e=t[t.length-1],t.pop()}},Object.defineProperty(g,&quot;hasNext&quot;,{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&gt;0;--e)if(t[e-1].left===t[e])return!0;return!1}}),g.update=function(t){var e=this._stack;if(0===e.length)throw new Error(&quot;Can't update empty node!&quot;);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&gt;=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])},g.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&gt;0&amp;&amp;t[t.length-1].left===e;)e=t[t.length-1],t.pop()}},Object.defineProperty(g,&quot;hasPrev&quot;,{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&gt;0;--e)if(t[e-1].right===t[e])return!0;return!1}})},{}],145:[function(t,e,r){function n(t){if(t&lt;0)return Number(&quot;0/0&quot;);for(var e=o[0],r=o.length-1;r&gt;0;--r)e+=o[r]/(t+r);var n=t+a+.5;return.5*Math.log(2*Math.PI)+(t+.5)*Math.log(n)-n+Math.log(e)-Math.log(t)}var i=[.9999999999998099,676.5203681218851,-1259.1392167224028,771.3234287776531,-176.6150291621406,12.507343278686905,-.13857109526572012,9984369578019572e-21,1.5056327351493116e-7],a=607/128,o=[.9999999999999971,57.15623566586292,-59.59796035547549,14.136097974741746,-.4919138160976202,3399464998481189e-20,4652362892704858e-20,-9837447530487956e-20,.0001580887032249125,-.00021026444172410488,.00021743961811521265,-.0001643181065367639,8441822398385275e-20,-26190838401581408e-21,36899182659531625e-22];e.exports=function t(e){if(e&lt;.5)return Math.PI/(Math.sin(Math.PI*e)*t(1-e));if(e&gt;100)return Math.exp(n(e));e-=1;for(var r=i[0],a=1;a&lt;9;a++)r+=i[a]/(e+a);var o=e+7+.5;return Math.sqrt(2*Math.PI)*Math.pow(o,e+.5)*Math.exp(-o)*r},e.exports.log=n},{}],146:[function(t,e,r){function n(t){var e=0;if(t&amp;&amp;t.length&gt;0){e+=Math.abs(i(t[0]));for(var r=1;r&lt;t.length;r++)e-=Math.abs(i(t[r]))}return e}function i(t){var e=0;if(t.length&gt;2){for(var r,n,i=0;i&lt;t.length-1;i++)r=t[i],e+=a((n=t[i+1])[0]-r[0])*(2+Math.sin(a(r[1]))+Math.sin(a(n[1])));e=e*o.RADIUS*o.RADIUS/2}return e}function a(t){return t*Math.PI/180}var o=t(&quot;wgs84&quot;);e.exports.geometry=function(t){if(&quot;Polygon&quot;===t.type)return n(t.coordinates);if(&quot;MultiPolygon&quot;===t.type){for(var e=0,r=0;r&lt;t.coordinates.length;r++)e+=n(t.coordinates[r]);return e}return null},e.exports.ring=i},{wgs84:579}],147:[function(t,e,r){function n(t,e){switch(t&amp;&amp;t.type||null){case&quot;FeatureCollection&quot;:return t.features=t.features.map(i(n,e)),t;case&quot;Feature&quot;:return t.geometry=n(t.geometry,e),t;case&quot;Polygon&quot;:case&quot;MultiPolygon&quot;:return function(t,e){&quot;Polygon&quot;===t.type?t.coordinates=a(t.coordinates,e):&quot;MultiPolygon&quot;===t.type&amp;&amp;(t.coordinates=t.coordinates.map(i(a,e)));return t}(t,e);default:return t}}function i(t,e){return function(r){return t(r,e)}}function a(t,e){e=!!e,t[0]=o(t[0],!e);for(var r=1;r&lt;t.length;r++)t[r]=o(t[r],e);return t}function o(t,e){return function(t){return s.ring(t)&gt;=0}(t)===e?t:t.reverse()}var s=t(&quot;geojson-area&quot;);e.exports=n},{&quot;geojson-area&quot;:146}],148:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,n,i){return e.length&amp;&amp;(e.area=r,e.dist=n,void 0!==i&amp;&amp;(e.outer=i),t.push(e)),[]}e.exports=function(t,e,r,a,o,s,l,c){if(r/=e,a/=e,l&gt;=r&amp;&amp;c&lt;=a)return t;if(l&gt;a||c&lt;r)return null;for(var u=[],f=0;f&lt;t.length;f++){var h,d,p=t[f],m=p.geometry,g=p.type;if(h=p.min[o],d=p.max[o],h&gt;=r&amp;&amp;d&lt;=a)u.push(p);else if(!(h&gt;a||d&lt;r)){var v=1===g?function(t,e,r,n){for(var i=[],a=0;a&lt;t.length;a++){var o=t[a],s=o[n];s&gt;=e&amp;&amp;s&lt;=r&amp;&amp;i.push(o)}return i}(m,r,a,o):function(t,e,r,i,a,o){for(var s=[],l=0;l&lt;t.length;l++){var c,u,f,h=0,d=0,p=null,m=t[l],g=m.area,v=m.dist,y=m.outer,x=m.length,b=[];for(u=0;u&lt;x-1;u++)c=p||m[u],p=m[u+1],h=d||c[i],d=p[i],h&lt;e?d&gt;r?(b.push(a(c,p,e),a(c,p,r)),o||(b=n(s,b,g,v,y))):d&gt;=e&amp;&amp;b.push(a(c,p,e)):h&gt;r?d&lt;e?(b.push(a(c,p,r),a(c,p,e)),o||(b=n(s,b,g,v,y))):d&lt;=r&amp;&amp;b.push(a(c,p,r)):(b.push(c),d&lt;e?(b.push(a(c,p,e)),o||(b=n(s,b,g,v,y))):d&gt;r&amp;&amp;(b.push(a(c,p,r)),o||(b=n(s,b,g,v,y))));c=m[x-1],(h=c[i])&gt;=e&amp;&amp;h&lt;=r&amp;&amp;b.push(c),f=b[b.length-1],o&amp;&amp;f&amp;&amp;(b[0][0]!==f[0]||b[0][1]!==f[1])&amp;&amp;b.push(b[0]),n(s,b,g,v,y)}return s}(m,r,a,o,s,3===g);v.length&amp;&amp;u.push(i(p.tags,g,v,p.id))}}return u.length?u:null};var i=t(&quot;./feature&quot;)},{&quot;./feature&quot;:150}],149:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r){if(null!==e.geometry){var o,l,c,u,f=e.geometry,h=f.type,d=f.coordinates,p=e.properties,m=e.id;if(&quot;Point&quot;===h)t.push(s(p,1,[a(d)],m));else if(&quot;MultiPoint&quot;===h)t.push(s(p,1,i(d),m));else if(&quot;LineString&quot;===h)t.push(s(p,2,[i(d,r)],m));else if(&quot;MultiLineString&quot;===h||&quot;Polygon&quot;===h){for(c=[],o=0;o&lt;d.length;o++)u=i(d[o],r),&quot;Polygon&quot;===h&amp;&amp;(u.outer=0===o),c.push(u);t.push(s(p,&quot;Polygon&quot;===h?3:2,c,m))}else if(&quot;MultiPolygon&quot;===h){for(c=[],o=0;o&lt;d.length;o++)for(l=0;l&lt;d[o].length;l++)(u=i(d[o][l],r)).outer=0===l,c.push(u);t.push(s(p,3,c,m))}else{if(&quot;GeometryCollection&quot;!==h)throw new Error(&quot;Input data is not a valid GeoJSON object.&quot;);for(o=0;o&lt;f.geometries.length;o++)n(t,{geometry:f.geometries[o],properties:p},r)}}}function i(t,e){for(var r=[],n=0;n&lt;t.length;n++)r.push(a(t[n]));return e&amp;&amp;(o(r,e),function(t){for(var e,r,n=0,i=0,a=0;a&lt;t.length-1;a++)e=r||t[a],r=t[a+1],n+=e[0]*r[1]-r[0]*e[1],i+=Math.abs(r[0]-e[0])+Math.abs(r[1]-e[1]);t.area=Math.abs(n/2),t.dist=i}(r)),r}function a(t){var e=Math.sin(t[1]*Math.PI/180),r=t[0]/360+.5,n=.5-.25*Math.log((1+e)/(1-e))/Math.PI;return n=n&lt;0?0:n&gt;1?1:n,[r,n,0]}e.exports=function(t,e){var r=[];if(&quot;FeatureCollection&quot;===t.type)for(var i=0;i&lt;t.features.length;i++)n(r,t.features[i],e);else&quot;Feature&quot;===t.type?n(r,t,e):n(r,{geometry:t},e);return r};var o=t(&quot;./simplify&quot;),s=t(&quot;./feature&quot;)},{&quot;./feature&quot;:150,&quot;./simplify&quot;:152}],150:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r){for(var n,i=0;i&lt;r.length;i++)n=r[i],t[0]=Math.min(n[0],t[0]),e[0]=Math.max(n[0],e[0]),t[1]=Math.min(n[1],t[1]),e[1]=Math.max(n[1],e[1])}e.exports=function(t,e,r,i){var a={id:i||null,type:e,geometry:r,tags:t||null,min:[1/0,1/0],max:[-1/0,-1/0]};return function(t){var e=t.geometry,r=t.min,i=t.max;if(1===t.type)n(r,i,e);else for(var a=0;a&lt;e.length;a++)n(r,i,e[a])}(a),a}},{}],151:[function(t,e,r){&quot;use strict&quot;;function n(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;r&amp;&amp;console.time(&quot;preprocess data&quot;);var n=1&lt;&lt;e.maxZoom,i=l(t,e.tolerance/(n*e.extent));this.tiles={},this.tileCoords=[],r&amp;&amp;(console.timeEnd(&quot;preprocess data&quot;),console.log(&quot;index: maxZoom: %d, maxPoints: %d&quot;,e.indexMaxZoom,e.indexMaxPoints),console.time(&quot;generate tiles&quot;),this.stats={},this.total=0),(i=f(i,e.buffer/e.extent,a)).length&amp;&amp;this.splitTile(i,0,0,0),r&amp;&amp;(i.length&amp;&amp;console.log(&quot;features: %d, points: %d&quot;,this.tiles[0].numFeatures,this.tiles[0].numPoints),console.timeEnd(&quot;generate tiles&quot;),console.log(&quot;tiles generated:&quot;,this.total,JSON.stringify(this.stats)))}function i(t,e,r){return 32*((1&lt;&lt;t)*r+e)+t}function a(t,e,r){return[r,(r-t[0])*(e[1]-t[1])/(e[0]-t[0])+t[1],1]}function o(t,e,r){return[(r-t[1])*(e[0]-t[0])/(e[1]-t[1])+t[0],r,1]}function s(t,e,r){var n=t.source;if(1!==n.length)return!1;var i=n[0];if(3!==i.type||i.geometry.length&gt;1)return!1;var a=i.geometry[0].length;if(5!==a)return!1;for(var o=0;o&lt;a;o++){var s=c.point(i.geometry[0][o],e,t.z2,t.x,t.y);if(s[0]!==-r&amp;&amp;s[0]!==e+r||s[1]!==-r&amp;&amp;s[1]!==e+r)return!1}return!0}e.exports=function(t,e){return new n(t,e)};var l=t(&quot;./convert&quot;),c=t(&quot;./transform&quot;),u=t(&quot;./clip&quot;),f=t(&quot;./wrap&quot;),h=t(&quot;./tile&quot;);n.prototype.options={maxZoom:14,indexMaxZoom:5,indexMaxPoints:1e5,solidChildren:!1,tolerance:3,extent:4096,buffer:64,debug:0},n.prototype.splitTile=function(t,e,r,n,l,c,f){for(var d=[t,e,r,n],p=this.options,m=p.debug,g=null;d.length;){n=d.pop(),r=d.pop(),e=d.pop(),t=d.pop();var v=1&lt;&lt;e,y=i(e,r,n),x=this.tiles[y],b=e===p.maxZoom?0:p.tolerance/(v*p.extent);if(!x&amp;&amp;(m&gt;1&amp;&amp;console.time(&quot;creation&quot;),x=this.tiles[y]=h(t,v,r,n,b,e===p.maxZoom),this.tileCoords.push({z:e,x:r,y:n}),m)){m&gt;1&amp;&amp;(console.log(&quot;tile z%d-%d-%d (features: %d, points: %d, simplified: %d)&quot;,e,r,n,x.numFeatures,x.numPoints,x.numSimplified),console.timeEnd(&quot;creation&quot;));var _=&quot;z&quot;+e;this.stats[_]=(this.stats[_]||0)+1,this.total++}if(x.source=t,l){if(e===p.maxZoom||e===l)continue;var w=1&lt;&lt;l-e;if(r!==Math.floor(c/w)||n!==Math.floor(f/w))continue}else if(e===p.indexMaxZoom||x.numPoints&lt;=p.indexMaxPoints)continue;if(p.solidChildren||!s(x,p.extent,p.buffer)){x.source=null,m&gt;1&amp;&amp;console.time(&quot;clipping&quot;);var M,k,A,T,S,E,L=.5*p.buffer/p.extent,C=.5-L,z=.5+L,D=1+L;M=k=A=T=null,S=u(t,v,r-L,r+z,0,a,x.min[0],x.max[0]),E=u(t,v,r+C,r+D,0,a,x.min[0],x.max[0]),S&amp;&amp;(M=u(S,v,n-L,n+z,1,o,x.min[1],x.max[1]),k=u(S,v,n+C,n+D,1,o,x.min[1],x.max[1])),E&amp;&amp;(A=u(E,v,n-L,n+z,1,o,x.min[1],x.max[1]),T=u(E,v,n+C,n+D,1,o,x.min[1],x.max[1])),m&gt;1&amp;&amp;console.timeEnd(&quot;clipping&quot;),t.length&amp;&amp;(d.push(M||[],e+1,2*r,2*n),d.push(k||[],e+1,2*r,2*n+1),d.push(A||[],e+1,2*r+1,2*n),d.push(T||[],e+1,2*r+1,2*n+1))}else l&amp;&amp;(g=e)}return g},n.prototype.getTile=function(t,e,r){var n=this.options,a=n.extent,o=n.debug,l=1&lt;&lt;t,u=i(t,e=(e%l+l)%l,r);if(this.tiles[u])return c.tile(this.tiles[u],a);o&gt;1&amp;&amp;console.log(&quot;drilling down to z%d-%d-%d&quot;,t,e,r);for(var f,h=t,d=e,p=r;!f&amp;&amp;h&gt;0;)h--,d=Math.floor(d/2),p=Math.floor(p/2),f=this.tiles[i(h,d,p)];if(!f||!f.source)return null;if(o&gt;1&amp;&amp;console.log(&quot;found parent tile z%d-%d-%d&quot;,h,d,p),s(f,a,n.buffer))return c.tile(f,a);o&gt;1&amp;&amp;console.time(&quot;drilling down&quot;);var m=this.splitTile(f.source,h,d,p,t,e,r);if(o&gt;1&amp;&amp;console.timeEnd(&quot;drilling down&quot;),null!==m){var g=1&lt;&lt;t-m;u=i(m,Math.floor(e/g),Math.floor(r/g))}return this.tiles[u]?c.tile(this.tiles[u],a):null}},{&quot;./clip&quot;:148,&quot;./convert&quot;:149,&quot;./tile&quot;:153,&quot;./transform&quot;:154,&quot;./wrap&quot;:155}],152:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t,e){var r,n,i,a,o=e*e,s=0,l=t.length-1,c=[];for(t[s][2]=1,t[l][2]=1;l;){for(n=0,r=s+1;r&lt;l;r++)(i=function(t,e,r){var n=e[0],i=e[1],a=r[0],o=r[1],s=t[0],l=t[1],c=a-n,u=o-i;if(0!==c||0!==u){var f=((s-n)*c+(l-i)*u)/(c*c+u*u);f&gt;1?(n=a,i=o):f&gt;0&amp;&amp;(n+=c*f,i+=u*f)}return c=s-n,u=l-i,c*c+u*u}(t[r],t[s],t[l]))&gt;n&amp;&amp;(a=r,n=i);n&gt;o?(t[a][2]=n,c.push(s),c.push(a),s=a):(l=c.pop(),s=c.pop())}}},{}],153:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t,e,r,n,i,a){for(var o={features:[],numPoints:0,numSimplified:0,numFeatures:0,source:null,x:r,y:n,z2:e,transformed:!1,min:[2,1],max:[-1,0]},s=0;s&lt;t.length;s++){o.numFeatures++,function(t,e,r,n){var i,a,o,s,l=e.geometry,c=e.type,u=[],f=r*r;if(1===c)for(i=0;i&lt;l.length;i++)u.push(l[i]),t.numPoints++,t.numSimplified++;else for(i=0;i&lt;l.length;i++)if(o=l[i],n||!(2===c&amp;&amp;o.dist&lt;r||3===c&amp;&amp;o.area&lt;f)){var h=[];for(a=0;a&lt;o.length;a++)s=o[a],(n||s[2]&gt;f)&amp;&amp;(h.push(s),t.numSimplified++),t.numPoints++;3===c&amp;&amp;function(t,e){(function(t){for(var e,r,n=0,i=0,a=t.length,o=a-1;i&lt;a;o=i++)e=t[i],r=t[o],n+=(r[0]-e[0])*(e[1]+r[1]);return n})(t)&lt;0===e&amp;&amp;t.reverse()}(h,o.outer),u.push(h)}else t.numPoints+=o.length;if(u.length){var d={geometry:u,type:c,tags:e.tags||null};null!==e.id&amp;&amp;(d.id=e.id),t.features.push(d)}}(o,t[s],i,a);var l=t[s].min,c=t[s].max;l[0]&lt;o.min[0]&amp;&amp;(o.min[0]=l[0]),l[1]&lt;o.min[1]&amp;&amp;(o.min[1]=l[1]),c[0]&gt;o.max[0]&amp;&amp;(o.max[0]=c[0]),c[1]&gt;o.max[1]&amp;&amp;(o.max[1]=c[1])}return o}},{}],154:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,n,i){return[Math.round(e*(t[0]*r-n)),Math.round(e*(t[1]*r-i))]}r.tile=function(t,e){if(t.transformed)return t;var r,i,a,o=t.z2,s=t.x,l=t.y;for(r=0;r&lt;t.features.length;r++){var c=t.features[r],u=c.geometry;if(1===c.type)for(i=0;i&lt;u.length;i++)u[i]=n(u[i],e,o,s,l);else for(i=0;i&lt;u.length;i++){var f=u[i];for(a=0;a&lt;f.length;a++)f[a]=n(f[a],e,o,s,l)}}return t.transformed=!0,t},r.point=n},{}],155:[function(t,e,r){&quot;use strict&quot;;function n(t,e){for(var r=[],n=0;n&lt;t.length;n++){var a,s=t[n],l=s.type;if(1===l)a=i(s.geometry,e);else{a=[];for(var c=0;c&lt;s.geometry.length;c++)a.push(i(s.geometry[c],e))}r.push(o(s.tags,l,a,s.id))}return r}function i(t,e){var r=[];r.area=t.area,r.dist=t.dist;for(var n=0;n&lt;t.length;n++)r.push([t[n][0]+e,t[n][1],t[n][2]]);return r}var a=t(&quot;./clip&quot;),o=t(&quot;./feature&quot;);e.exports=function(t,e,r){var i=t,o=a(t,1,-1-e,e,0,r,-1,2),s=a(t,1,1-e,2+e,0,r,-1,2);return(o||s)&amp;&amp;(i=a(t,1,-e,1+e,0,r,-1,2)||[],o&amp;&amp;(i=n(o,1).concat(i)),s&amp;&amp;(i=i.concat(n(s,-1)))),i}},{&quot;./clip&quot;:148,&quot;./feature&quot;:150}],156:[function(t,e,r){e.exports=function(t,e){if(&quot;string&quot;!=typeof t)throw new TypeError(&quot;must specify type string&quot;);if(e=e||{},&quot;undefined&quot;==typeof document&amp;&amp;!e.canvas)return null;var r=e.canvas||document.createElement(&quot;canvas&quot;);&quot;number&quot;==typeof e.width&amp;&amp;(r.width=e.width),&quot;number&quot;==typeof e.height&amp;&amp;(r.height=e.height);var n,i=e;try{var a=[t];0===t.indexOf(&quot;webgl&quot;)&amp;&amp;a.push(&quot;experimental-&quot;+t);for(var o=0;o&lt;a.length;o++)if(n=r.getContext(a[o],i))return n}catch(t){n=null}return n||null}},{}],157:[function(t,e,r){&quot;use strict&quot;;function n(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t}function i(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=[&quot;sans-serif&quot;,&quot;sans-serif&quot;,&quot;sans-serif&quot;],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=[10,10,10],this.lastCubeProps={cubeEdges:[0,0,0],axis:[0,0,0]},this.labels=[&quot;x&quot;,&quot;y&quot;,&quot;z&quot;],this.labelEnable=[!0,!0,!0],this.labelFont=&quot;sans-serif&quot;,this.labelSize=[20,20,20],this.labelAngle=[0,0,0],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=c(t)}function a(){this.primalOffset=[0,0,0],this.primalMinor=[0,0,0],this.mirrorOffset=[0,0,0],this.mirrorMinor=[0,0,0]}function o(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&lt;3;++u)if(e!==u){var f=a,h=s,d=o,p=l;c&amp;1&lt;&lt;u&amp;&amp;(f=s,h=a,d=l,p=o),f[u]=r[0][u],h[u]=r[1][u],i[u]&gt;0?(d[u]=-1,p[u]=0):(d[u]=0,p[u]=1)}}e.exports=function(t,e){var r=new i(t);return r.update(e),r};var s=t(&quot;./lib/text.js&quot;),l=t(&quot;./lib/lines.js&quot;),c=t(&quot;./lib/background.js&quot;),u=t(&quot;./lib/cube.js&quot;),f=t(&quot;./lib/ticks.js&quot;),h=new Float32Array([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]),d=i.prototype;d.update=function(t){function e(e,r,n){if(n in t){var i,a=t[n],o=this[n];(e?Array.isArray(a)&amp;&amp;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&lt;3;++s)if(i[s]!==o[s])return!0}return!1}t=t||{};var r,n=e.bind(this,!1,Number),i=e.bind(this,!1,Boolean),a=e.bind(this,!1,String),o=e.bind(this,!0,function(t){if(Array.isArray(t)){if(3===t.length)return[+t[0],+t[1],+t[2],1];if(4===t.length)return[+t[0],+t[1],+t[2],+t[3]]}return[0,0,0,1]}),c=!1,u=!1;if(&quot;bounds&quot;in t)for(var h=t.bounds,d=0;d&lt;2;++d)for(var p=0;p&lt;3;++p)h[d][p]!==this.bounds[d][p]&amp;&amp;(u=!0),this.bounds[d][p]=h[d][p];if(&quot;ticks&quot;in t){r=t.ticks,c=!0,this.autoTicks=!1;for(d=0;d&lt;3;++d)this.tickSpacing[d]=0}else n(&quot;tickSpacing&quot;)&amp;&amp;(this.autoTicks=!0,u=!0);if(this._firstInit&amp;&amp;(&quot;ticks&quot;in t||&quot;tickSpacing&quot;in t||(this.autoTicks=!0),u=!0,c=!0,this._firstInit=!1),u&amp;&amp;this.autoTicks&amp;&amp;(r=f.create(this.bounds,this.tickSpacing),c=!0),c){for(d=0;d&lt;3;++d)r[d].sort(function(t,e){return t.x-e.x});f.equal(r,this.ticks)?c=!1:this.ticks=r}i(&quot;tickEnable&quot;),a(&quot;tickFont&quot;)&amp;&amp;(c=!0),n(&quot;tickSize&quot;),n(&quot;tickAngle&quot;),n(&quot;tickPad&quot;),o(&quot;tickColor&quot;);var m=a(&quot;labels&quot;);a(&quot;labelFont&quot;)&amp;&amp;(m=!0),i(&quot;labelEnable&quot;),n(&quot;labelSize&quot;),n(&quot;labelPad&quot;),o(&quot;labelColor&quot;),i(&quot;lineEnable&quot;),i(&quot;lineMirror&quot;),n(&quot;lineWidth&quot;),o(&quot;lineColor&quot;),i(&quot;lineTickEnable&quot;),i(&quot;lineTickMirror&quot;),n(&quot;lineTickLength&quot;),n(&quot;lineTickWidth&quot;),o(&quot;lineTickColor&quot;),i(&quot;gridEnable&quot;),n(&quot;gridWidth&quot;),o(&quot;gridColor&quot;),i(&quot;zeroEnable&quot;),o(&quot;zeroLineColor&quot;),n(&quot;zeroLineWidth&quot;),i(&quot;backgroundEnable&quot;),o(&quot;backgroundColor&quot;),this._text?this._text&amp;&amp;(m||c)&amp;&amp;this._text.update(this.bounds,this.labels,this.labelFont,this.ticks,this.tickFont):this._text=s(this.gl,this.bounds,this.labels,this.labelFont,this.ticks,this.tickFont),this._lines&amp;&amp;c&amp;&amp;(this._lines.dispose(),this._lines=null),this._lines||(this._lines=l(this.gl,this.bounds,this.ticks))};var p=[new a,new a,new a],m=[0,0,0],g={model:h,view:h,projection:h};d.isOpaque=function(){return!0},d.isTransparent=function(){return!1},d.drawTransparent=function(t){};var v=[0,0,0],y=[0,0,0],x=[0,0,0];d.draw=function(t){t=t||g;for(var e=this.gl,r=t.model||h,i=t.view||h,a=t.projection||h,s=this.bounds,l=u(r,i,a,s),c=l.cubeEdges,f=l.axis,d=i[12],b=i[13],_=i[14],w=i[15],M=this.pixelRatio*(a[3]*d+a[7]*b+a[11]*_+a[15]*w)/e.drawingBufferHeight,k=0;k&lt;3;++k)this.lastCubeProps.cubeEdges[k]=c[k],this.lastCubeProps.axis[k]=f[k];var A=p;for(k=0;k&lt;3;++k)o(p[k],k,this.bounds,c,f);e=this.gl;var T=m;for(k=0;k&lt;3;++k)this.backgroundEnable[k]?T[k]=f[k]:T[k]=0;this._background.draw(r,i,a,s,T,this.backgroundColor),this._lines.bind(r,i,a,this);for(k=0;k&lt;3;++k){var S=[0,0,0];f[k]&gt;0?S[k]=s[1][k]:S[k]=s[0][k];for(var E=0;E&lt;2;++E){var L=(k+1+E)%3,C=(k+1+(1^E))%3;this.gridEnable[L]&amp;&amp;this._lines.drawGrid(L,C,this.bounds,S,this.gridColor[L],this.gridWidth[L]*this.pixelRatio)}for(E=0;E&lt;2;++E){L=(k+1+E)%3,C=(k+1+(1^E))%3;this.zeroEnable[C]&amp;&amp;s[0][C]&lt;=0&amp;&amp;s[1][C]&gt;=0&amp;&amp;this._lines.drawZero(L,C,this.bounds,S,this.zeroLineColor[C],this.zeroLineWidth[C]*this.pixelRatio)}}for(k=0;k&lt;3;++k){this.lineEnable[k]&amp;&amp;this._lines.drawAxisLine(k,this.bounds,A[k].primalOffset,this.lineColor[k],this.lineWidth[k]*this.pixelRatio),this.lineMirror[k]&amp;&amp;this._lines.drawAxisLine(k,this.bounds,A[k].mirrorOffset,this.lineColor[k],this.lineWidth[k]*this.pixelRatio);var z=n(v,A[k].primalMinor),D=n(y,A[k].mirrorMinor),I=this.lineTickLength;for(E=0;E&lt;3;++E){var P=M/r[5*E];z[E]*=I[E]*P,D[E]*=I[E]*P}this.lineTickEnable[k]&amp;&amp;this._lines.drawAxisTicks(k,A[k].primalOffset,z,this.lineTickColor[k],this.lineTickWidth[k]*this.pixelRatio),this.lineTickMirror[k]&amp;&amp;this._lines.drawAxisTicks(k,A[k].mirrorOffset,D,this.lineTickColor[k],this.lineTickWidth[k]*this.pixelRatio)}this._text.bind(r,i,a,this.pixelRatio);for(k=0;k&lt;3;++k){var O=A[k].primalMinor,F=n(x,A[k].primalOffset);for(E=0;E&lt;3;++E)this.lineTickEnable[k]&amp;&amp;(F[E]+=M*O[E]*Math.max(this.lineTickLength[E],0)/r[5*E]);if(this.tickEnable[k]){for(E=0;E&lt;3;++E)F[E]+=M*O[E]*this.tickPad[E]/r[5*E];this._text.drawTicks(k,this.tickSize[k],this.tickAngle[k],F,this.tickColor[k])}if(this.labelEnable[k]){for(E=0;E&lt;3;++E)F[E]+=M*O[E]*this.labelPad[E]/r[5*E];F[k]+=.5*(s[0][k]+s[1][k]),this._text.drawLabel(k,this.labelSize[k],this.labelAngle[k],F,this.labelColor[k])}}},d.dispose=function(){this._text.dispose(),this._lines.dispose(),this._background.dispose(),this._lines=null,this._text=null,this._background=null,this.gl=null}},{&quot;./lib/background.js&quot;:158,&quot;./lib/cube.js&quot;:159,&quot;./lib/lines.js&quot;:160,&quot;./lib/text.js&quot;:162,&quot;./lib/ticks.js&quot;:163}],158:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,n){this.gl=t,this.buffer=e,this.vao=r,this.shader=n}e.exports=function(t){for(var e=[],r=[],s=0,l=0;l&lt;3;++l)for(var c=(l+1)%3,u=(l+2)%3,f=[0,0,0],h=[0,0,0],d=-1;d&lt;=1;d+=2){r.push(s,s+2,s+1,s+1,s+2,s+3),f[l]=d,h[l]=d;for(var p=-1;p&lt;=1;p+=2){f[c]=p;for(var m=-1;m&lt;=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=i(t,new Float32Array(e)),y=i(t,new Uint16Array(r),t.ELEMENT_ARRAY_BUFFER),x=a(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=o(t);return b.attributes.position.location=0,b.attributes.normal.location=1,new n(t,v,x,b)};var i=t(&quot;gl-buffer&quot;),a=t(&quot;gl-vao&quot;),o=t(&quot;./shaders&quot;).bg,s=n.prototype;s.draw=function(t,e,r,n,i,a){for(var o=!1,s=0;s&lt;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),l.disable(l.POLYGON_OFFSET_FILL)}},s.dispose=function(){this.vao.dispose(),this.buffer.dispose(),this.shader.dispose()}},{&quot;./shaders&quot;:161,&quot;gl-buffer&quot;:165,&quot;gl-vao&quot;:259}],159:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r){for(var n=0;n&lt;4;++n){t[n]=r[12+n];for(var i=0;i&lt;3;++i)t[n]+=e[i]*r[4*i+n]}}function i(t){for(var e=0;e&lt;p.length;++e)if((t=s.positive(t,p[e])).length&lt;3)return 0;var r=t[0],n=r[0]/r[3],i=r[1]/r[3],a=0;for(e=1;e+1&lt;t.length;++e){var o=t[e],l=t[e+1],c=o[0]/o[3]-n,u=o[1]/o[3]-i,f=l[0]/l[3]-n,h=l[1]/l[3]-i;a+=Math.abs(c*h-u*f)}return a}e.exports=function(t,e,r,s){o(c,e,t),o(c,r,c);for(var p=0,y=0;y&lt;2;++y){h[2]=s[y][2];for(var x=0;x&lt;2;++x){h[1]=s[x][1];for(var b=0;b&lt;2;++b)h[0]=s[b][0],n(u[p],h,c),p+=1}}var _=-1;for(y=0;y&lt;8;++y){for(var w=u[y][3],M=0;M&lt;3;++M)f[y][M]=u[y][M]/w;w&lt;0&amp;&amp;(_&lt;0?_=y:f[y][2]&lt;f[_][2]&amp;&amp;(_=y))}if(_&lt;0){_=0;for(var k=0;k&lt;3;++k){for(var A=(k+2)%3,T=(k+1)%3,S=-1,E=-1,L=0;L&lt;2;++L){var C=(D=L&lt;&lt;k)+(L&lt;&lt;A)+(1-L&lt;&lt;T),z=D+(1-L&lt;&lt;A)+(L&lt;&lt;T);l(f[D],f[C],f[z],d)&lt;0||(L?S=1:E=1)}if(S&lt;0||E&lt;0)E&gt;S&amp;&amp;(_|=1&lt;&lt;k);else{for(L=0;L&lt;2;++L){C=(D=L&lt;&lt;k)+(L&lt;&lt;A)+(1-L&lt;&lt;T),z=D+(1-L&lt;&lt;A)+(L&lt;&lt;T);var D,I=i([u[D],u[C],u[z],u[D+(1&lt;&lt;A)+(1&lt;&lt;T)]]);L?S=I:E=I}E&gt;S&amp;&amp;(_|=1&lt;&lt;k)}}}var P=7^_,O=-1;for(y=0;y&lt;8;++y)y!==_&amp;&amp;y!==P&amp;&amp;(O&lt;0?O=y:f[O][1]&gt;f[y][1]&amp;&amp;(O=y));var F=-1;for(y=0;y&lt;3;++y)(N=O^1&lt;&lt;y)!==_&amp;&amp;N!==P&amp;&amp;(F&lt;0&amp;&amp;(F=N),(T=f[N])[0]&lt;f[F][0]&amp;&amp;(F=N));var R=-1;for(y=0;y&lt;3;++y){var N;(N=O^1&lt;&lt;y)!==_&amp;&amp;N!==P&amp;&amp;N!==F&amp;&amp;(R&lt;0&amp;&amp;(R=N),(T=f[N])[0]&gt;f[R][0]&amp;&amp;(R=N))}var j=m;j[0]=j[1]=j[2]=0,j[a.log2(F^O)]=O&amp;F,j[a.log2(O^R)]=O&amp;R;var B=7^R;B===_||B===P?(B=7^F,j[a.log2(R^B)]=B&amp;R):j[a.log2(F^B)]=B&amp;F;var U=g,V=_;for(k=0;k&lt;3;++k)U[k]=V&amp;1&lt;&lt;k?-1:1;return v};var a=t(&quot;bit-twiddle&quot;),o=t(&quot;gl-mat4/multiply&quot;),s=(t(&quot;gl-mat4/invert&quot;),t(&quot;split-polygon&quot;)),l=t(&quot;robust-orientation&quot;),c=new Array(16),u=(new Array(16),new Array(8)),f=new Array(8),h=new Array(3),d=[0,0,0];!function(){for(var t=0;t&lt;8;++t)u[t]=[1,1,1,1],f[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]],m=[1,1,1],g=[0,0,0],v={cubeEdges:m,axis:g}},{&quot;bit-twiddle&quot;:71,&quot;gl-mat4/invert&quot;:186,&quot;gl-mat4/multiply&quot;:188,&quot;robust-orientation&quot;:515,&quot;split-polygon&quot;:535}],160:[function(t,e,r){&quot;use strict&quot;;function n(t){return t[0]=t[1]=t[2]=0,t}function i(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t}function a(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}e.exports=function(t,e,r){var n=[],i=[0,0,0],c=[0,0,0],u=[0,0,0],f=[0,0,0];n.push(0,0,1,0,1,1,0,0,-1,0,0,-1,0,1,1,0,1,-1);for(var h=0;h&lt;3;++h){for(var d=n.length/3|0,p=0;p&lt;r[h].length;++p){var m=+r[h][p].x;n.push(m,0,1,m,1,1,m,0,-1,m,0,-1,m,1,1,m,1,-1)}var g=n.length/3|0;i[h]=d,c[h]=g-d,d=n.length/3|0;for(var v=0;v&lt;r[h].length;++v)m=+r[h][v].x,n.push(m,0,1,m,1,1,m,0,-1,m,0,-1,m,1,1,m,1,-1);g=n.length/3|0,u[h]=d,f[h]=g-d}var y=o(t,new Float32Array(n)),x=s(t,[{buffer:y,type:t.FLOAT,size:3,stride:0,offset:0}]),b=l(t);return b.attributes.position.location=0,new a(t,y,x,b,c,i,f,u)};var o=t(&quot;gl-buffer&quot;),s=t(&quot;gl-vao&quot;),l=t(&quot;./shaders&quot;).line,c=[0,0,0],u=[0,0,0],f=[0,0,0],h=[0,0,0],d=[1,1],p=a.prototype;p.bind=function(t,e,r){this.shader.bind(),this.shader.uniforms.model=t,this.shader.uniforms.view=e,this.shader.uniforms.projection=r,d[0]=this.gl.drawingBufferWidth,d[1]=this.gl.drawingBufferHeight,this.shader.uniforms.screenShape=d,this.vao.bind()},p.drawAxisLine=function(t,e,r,a,o){var s=n(u);this.shader.uniforms.majorAxis=u,s[t]=e[1][t]-e[0][t],this.shader.uniforms.minorAxis=s;var l=i(h,r);l[t]+=e[0][t],this.shader.uniforms.offset=l,this.shader.uniforms.lineWidth=o,this.shader.uniforms.color=a;(c=n(f))[(t+2)%3]=1,this.shader.uniforms.screenAxis=c,this.vao.draw(this.gl.TRIANGLES,6);var c;(c=n(f))[(t+1)%3]=1,this.shader.uniforms.screenAxis=c,this.vao.draw(this.gl.TRIANGLES,6)},p.drawAxisTicks=function(t,e,r,i,a){if(this.tickCount[t]){var o=n(c);o[t]=1,this.shader.uniforms.majorAxis=o,this.shader.uniforms.offset=e,this.shader.uniforms.minorAxis=r,this.shader.uniforms.color=i,this.shader.uniforms.lineWidth=a;var s=n(f);s[t]=1,this.shader.uniforms.screenAxis=s,this.vao.draw(this.gl.TRIANGLES,this.tickCount[t],this.tickOffset[t])}},p.drawGrid=function(t,e,r,a,o,s){if(this.gridCount[t]){var l=n(u);l[e]=r[1][e]-r[0][e],this.shader.uniforms.minorAxis=l;var d=i(h,a);d[e]+=r[0][e],this.shader.uniforms.offset=d;var p=n(c);p[t]=1,this.shader.uniforms.majorAxis=p;var m=n(f);m[t]=1,this.shader.uniforms.screenAxis=m,this.shader.uniforms.lineWidth=s,this.shader.uniforms.color=o,this.vao.draw(this.gl.TRIANGLES,this.gridCount[t],this.gridOffset[t])}},p.drawZero=function(t,e,r,a,o,s){var l=n(u);this.shader.uniforms.majorAxis=l,l[t]=r[1][t]-r[0][t],this.shader.uniforms.minorAxis=l;var c=i(h,a);c[t]+=r[0][t],this.shader.uniforms.offset=c;var d=n(f);d[e]=1,this.shader.uniforms.screenAxis=d,this.shader.uniforms.lineWidth=s,this.shader.uniforms.color=o,this.vao.draw(this.gl.TRIANGLES,6)},p.dispose=function(){this.vao.dispose(),this.vertBuffer.dispose(),this.shader.dispose()}},{&quot;./shaders&quot;:161,&quot;gl-buffer&quot;:165,&quot;gl-vao&quot;:259}],161:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;gl-shader&quot;);r.line=function(t){return n(t,&quot;#define GLSLIFY 1\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&quot;,&quot;precision mediump float;\n#define GLSLIFY 1\nuniform vec4 color;\nvoid main() {\n  gl_FragColor = color;\n}&quot;,null,[{name:&quot;position&quot;,type:&quot;vec3&quot;}])};r.text=function(t){return n(t,&quot;#define GLSLIFY 1\nattribute vec3 position;\n\nuniform mat4 model, view, projection;\nuniform vec3 offset, axis;\nuniform float scale, angle, pixelScale;\nuniform vec2 resolution;\n\nvoid main() {  \n  //Compute plane offset\n  vec2 planeCoord = position.xy * pixelScale;\n  mat2 planeXform = scale * mat2(cos(angle), sin(angle),\n                                -sin(angle), cos(angle));\n  vec2 viewOffset = 2.0 * planeXform * planeCoord / resolution;\n\n  //Compute world offset\n  float axisDistance = position.z;\n  vec3 dataPosition = axisDistance * axis + offset;\n  vec4 worldPosition = model * vec4(dataPosition, 1);\n  \n  //Compute clip position\n  vec4 viewPosition = view * worldPosition;\n  vec4 clipPosition = projection * viewPosition;\n  clipPosition /= clipPosition.w;\n\n  //Apply text offset in clip coordinates\n  clipPosition += vec4(viewOffset, 0, 0);\n\n  //Done\n  gl_Position = clipPosition;\n}&quot;,&quot;precision mediump float;\n#define GLSLIFY 1\nuniform vec4 color;\nvoid main() {\n  gl_FragColor = color;\n}&quot;,null,[{name:&quot;position&quot;,type:&quot;vec3&quot;}])};r.bg=function(t){return n(t,&quot;#define GLSLIFY 1\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  if(dot(normal, enable) &gt; 0.0) {\n    vec3 nPosition = mix(bounds[0], bounds[1], 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  colorChannel = abs(normal);\n}&quot;,&quot;precision mediump 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}&quot;,null,[{name:&quot;position&quot;,type:&quot;vec3&quot;},{name:&quot;normal&quot;,type:&quot;vec3&quot;}])}},{&quot;gl-shader&quot;:243}],162:[function(t,e,r){(function(r){&quot;use strict&quot;;function n(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}e.exports=function(t,e,r,o,l,c){var u=i(t),f=a(t,[{buffer:u,size:3}]),h=s(t);h.attributes.position.location=0;var d=new n(t,h,u,f);return d.update(e,r,o,l,c),d};var i=t(&quot;gl-buffer&quot;),a=t(&quot;gl-vao&quot;),o=t(&quot;vectorize-text&quot;),s=t(&quot;./shaders&quot;).text,l=window||r.global||{},c=l.__TEXT_CACHE||{};l.__TEXT_CACHE={};var u=n.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.update=function(t,e,r,n,i){function a(t,e,r,n){var i=c[r];i||(i=c[r]={});var a=i[e];a||(a=i[e]=function(t,e){try{return o(t,e)}catch(t){return console.warn(&quot;error vectorizing text:&quot;,t),{cells:[],positions:[]}}}(e,{triangles:!0,font:r,textAlign:&quot;center&quot;,textBaseline:&quot;middle&quot;}));for(var l=(n||12)/12,u=a.positions,f=a.cells,h=0,d=f.length;h&lt;d;++h)for(var p=f[h],m=2;m&gt;=0;--m){var g=u[p[m]];s.push(l*g[0],-l*g[1],t)}}this.gl;for(var s=[],l=[0,0,0],u=[0,0,0],f=[0,0,0],h=[0,0,0],d=0;d&lt;3;++d){f[d]=s.length/3|0,a(.5*(t[0][d]+t[1][d]),e[d],r),h[d]=(s.length/3|0)-f[d],l[d]=s.length/3|0;for(var p=0;p&lt;n[d].length;++p)n[d][p].text&amp;&amp;a(n[d][p].x,n[d][p].text,n[d][p].font||i,n[d][p].fontSize||12);u[d]=(s.length/3|0)-l[d]}this.buffer.update(s),this.tickOffset=l,this.tickCount=u,this.labelOffset=f,this.labelCount=h};var h=[0,0,0];u.drawTicks=function(t,e,r,n,i){if(this.tickCount[t]){var a=h;a[0]=a[1]=a[2]=0,a[t]=1,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.vao.draw(this.gl.TRIANGLES,this.tickCount[t],this.tickOffset[t])}};var d=[0,0,0];u.drawLabel=function(t,e,r,n,i){this.labelCount[t]&amp;&amp;(this.shader.uniforms.axis=d,this.shader.uniforms.color=i,this.shader.uniforms.angle=r,this.shader.uniforms.scale=e,this.shader.uniforms.offset=n,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,t(&quot;_process&quot;))},{&quot;./shaders&quot;:161,_process:488,&quot;gl-buffer&quot;:165,&quot;gl-vao&quot;:259,&quot;vectorize-text&quot;:568}],163:[function(t,e,r){&quot;use strict&quot;;function n(t,e){var r=t+&quot;&quot;,n=r.indexOf(&quot;.&quot;),i=0;n&gt;=0&amp;&amp;(i=r.length-n-1);var a=Math.pow(10,i),o=Math.round(t*e*a),s=o+&quot;&quot;;if(s.indexOf(&quot;e&quot;)&gt;=0)return s;var l=o/a,c=o%a;o&lt;0?(l=0|-Math.ceil(l),c=0|-c):(l=0|Math.floor(l),c|=0);var u=&quot;&quot;+l;if(o&lt;0&amp;&amp;(u=&quot;-&quot;+u),i){for(var f=&quot;&quot;+c;f.length&lt;i;)f=&quot;0&quot;+f;return u+&quot;.&quot;+f}return u}r.create=function(t,e){for(var r=[],i=0;i&lt;3;++i){for(var a=[],o=(t[0][i],t[1][i],0);o*e[i]&lt;=t[1][i];++o)a.push({x:o*e[i],text:n(e[i],o)});for(o=-1;o*e[i]&gt;=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&lt;3;++r){if(t[r].length!==e[r].length)return!1;for(var n=0;n&lt;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}},{}],164:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r){this.lo=t,this.hi=e,this.pixelsPerDataUnit=r}function i(t,e,r,n,i){for(var a=0;a&lt;3;++a){for(var o=d,s=p,l=0;l&lt;3;++l)s[l]=o[l]=r[l];s[3]=o[3]=1,s[a]+=1,u(s,s,e),s[3]&lt;0&amp;&amp;(t[a]=1/0),o[a]-=1,u(o,o,e),o[3]&lt;0&amp;&amp;(t[a]=1/0);var c=(o[0]/o[3]-s[0]/s[3])*n,f=(o[1]/o[3]-s[1]/s[3])*i;t[a]=.25*Math.sqrt(c*c+f*f)}return t}e.exports=function(t,e,r,n,u){var d=e.model||f,p=e.view||f,v=e.projection||f,y=t.bounds,x=(u=u||s(d,p,v,y)).axis;u.edges,l(h,p,d),l(h,v,h);for(var b=m,_=0;_&lt;3;++_)b[_].lo=1/0,b[_].hi=-1/0,b[_].pixelsPerDataUnit=1/0;var w=a(c(h,h));c(h,h);for(var M=0;M&lt;3;++M){var k=(M+1)%3,A=(M+2)%3,T=g;t:for(_=0;_&lt;2;++_){var S=[];if(x[M]&lt;0!=!!_){T[M]=y[_][M];for(var E=0;E&lt;2;++E){T[k]=y[E^_][k];for(var L=0;L&lt;2;++L)T[A]=y[L^E^_][A],S.push(T.slice())}for(E=0;E&lt;w.length;++E){if(0===S.length)continue t;S=o.positive(S,w[E])}for(E=0;E&lt;S.length;++E){A=S[E];var C=i(g,h,A,r,n);for(L=0;L&lt;3;++L)b[L].lo=Math.min(b[L].lo,A[L]),b[L].hi=Math.max(b[L].hi,A[L]),L!==M&amp;&amp;(b[L].pixelsPerDataUnit=Math.min(b[L].pixelsPerDataUnit,Math.abs(C[L])))}}}}return b};var a=t(&quot;extract-frustum-planes&quot;),o=t(&quot;split-polygon&quot;),s=t(&quot;./lib/cube.js&quot;),l=t(&quot;gl-mat4/multiply&quot;),c=t(&quot;gl-mat4/transpose&quot;),u=t(&quot;gl-vec4/transformMat4&quot;),f=new Float32Array([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]),h=new Float32Array(16),d=[0,0,0,1],p=[0,0,0,1],m=[new n(1/0,-1/0,1/0),new n(1/0,-1/0,1/0),new n(1/0,-1/0,1/0)],g=[0,0,0]},{&quot;./lib/cube.js&quot;:159,&quot;extract-frustum-planes&quot;:139,&quot;gl-mat4/multiply&quot;:188,&quot;gl-mat4/transpose&quot;:196,&quot;gl-vec4/transformMat4&quot;:265,&quot;split-polygon&quot;:535}],165:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,n,i){this.gl=t,this.type=e,this.handle=r,this.length=n,this.usage=i}function i(t,e,r,n,i,a){var o=i.length*i.BYTES_PER_ELEMENT;if(a&lt;0)return t.bufferData(e,i,n),o;if(o+a&gt;r)throw new Error(&quot;gl-buffer: If resizing buffer, must not specify offset&quot;);return t.bufferSubData(e,a,i),r}function a(t,e){for(var r=o.malloc(t.length,e),n=t.length,i=0;i&lt;n;++i)r[i]=t[i];return r}var o=t(&quot;typedarray-pool&quot;),s=t(&quot;ndarray-ops&quot;),l=t(&quot;ndarray&quot;),c=[&quot;uint8&quot;,&quot;uint8_clamped&quot;,&quot;uint16&quot;,&quot;uint32&quot;,&quot;int8&quot;,&quot;int16&quot;,&quot;int32&quot;,&quot;float32&quot;],u=n.prototype;u.bind=function(){this.gl.bindBuffer(this.type,this.handle)},u.unbind=function(){this.gl.bindBuffer(this.type,null)},u.dispose=function(){this.gl.deleteBuffer(this.handle)},u.update=function(t,e){if(&quot;number&quot;!=typeof e&amp;&amp;(e=-1),this.bind(),&quot;object&quot;==typeof t&amp;&amp;void 0!==t.shape){var r=t.dtype;if(c.indexOf(r)&lt;0&amp;&amp;(r=&quot;float32&quot;),this.type===this.gl.ELEMENT_ARRAY_BUFFER){r=gl.getExtension(&quot;OES_element_index_uint&quot;)&amp;&amp;&quot;uint16&quot;!==r?&quot;uint32&quot;:&quot;uint16&quot;}if(r===t.dtype&amp;&amp;function(t,e){for(var r=1,n=e.length-1;n&gt;=0;--n){if(e[n]!==r)return!1;r*=t[n]}return!0}(t.shape,t.stride))0===t.offset&amp;&amp;t.data.length===t.shape[0]?this.length=i(this.gl,this.type,this.length,this.usage,t.data,e):this.length=i(this.gl,this.type,this.length,this.usage,t.data.subarray(t.offset,t.shape[0]),e);else{var n=o.malloc(t.size,r),u=l(n,t.shape);s.assign(u,t),this.length=e&lt;0?i(this.gl,this.type,this.length,this.usage,n,e):i(this.gl,this.type,this.length,this.usage,n.subarray(0,t.size),e),o.free(n)}}else if(Array.isArray(t)){var f;f=this.type===this.gl.ELEMENT_ARRAY_BUFFER?a(t,&quot;uint16&quot;):a(t,&quot;float32&quot;),this.length=e&lt;0?i(this.gl,this.type,this.length,this.usage,f,e):i(this.gl,this.type,this.length,this.usage,f.subarray(0,t.length),e),o.free(f)}else if(&quot;object&quot;==typeof t&amp;&amp;&quot;number&quot;==typeof t.length)this.length=i(this.gl,this.type,this.length,this.usage,t,e);else{if(&quot;number&quot;!=typeof t&amp;&amp;void 0!==t)throw new Error(&quot;gl-buffer: Invalid data type&quot;);if(e&gt;=0)throw new Error(&quot;gl-buffer: Cannot specify offset when resizing buffer&quot;);(t|=0)&lt;=0&amp;&amp;(t=1),this.gl.bufferData(this.type,0|t,this.usage),this.length=t}},e.exports=function(t,e,r,i){if(r=r||t.ARRAY_BUFFER,i=i||t.DYNAMIC_DRAW,r!==t.ARRAY_BUFFER&amp;&amp;r!==t.ELEMENT_ARRAY_BUFFER)throw new Error(&quot;gl-buffer: Invalid type for webgl buffer, must be either gl.ARRAY_BUFFER or gl.ELEMENT_ARRAY_BUFFER&quot;);if(i!==t.DYNAMIC_DRAW&amp;&amp;i!==t.STATIC_DRAW&amp;&amp;i!==t.STREAM_DRAW)throw new Error(&quot;gl-buffer: Invalid usage for buffer, must be either gl.DYNAMIC_DRAW, gl.STATIC_DRAW or gl.STREAM_DRAW&quot;);var a=new n(t,r,t.createBuffer(),0,i);return a.update(e),a}},{ndarray:458,&quot;ndarray-ops&quot;:452,&quot;typedarray-pool&quot;:554}],166:[function(t,e,r){e.exports={0:&quot;NONE&quot;,1:&quot;ONE&quot;,2:&quot;LINE_LOOP&quot;,3:&quot;LINE_STRIP&quot;,4:&quot;TRIANGLES&quot;,5:&quot;TRIANGLE_STRIP&quot;,6:&quot;TRIANGLE_FAN&quot;,256:&quot;DEPTH_BUFFER_BIT&quot;,512:&quot;NEVER&quot;,513:&quot;LESS&quot;,514:&quot;EQUAL&quot;,515:&quot;LEQUAL&quot;,516:&quot;GREATER&quot;,517:&quot;NOTEQUAL&quot;,518:&quot;GEQUAL&quot;,519:&quot;ALWAYS&quot;,768:&quot;SRC_COLOR&quot;,769:&quot;ONE_MINUS_SRC_COLOR&quot;,770:&quot;SRC_ALPHA&quot;,771:&quot;ONE_MINUS_SRC_ALPHA&quot;,772:&quot;DST_ALPHA&quot;,773:&quot;ONE_MINUS_DST_ALPHA&quot;,774:&quot;DST_COLOR&quot;,775:&quot;ONE_MINUS_DST_COLOR&quot;,776:&quot;SRC_ALPHA_SATURATE&quot;,1024:&quot;STENCIL_BUFFER_BIT&quot;,1028:&quot;FRONT&quot;,1029:&quot;BACK&quot;,1032:&quot;FRONT_AND_BACK&quot;,1280:&quot;INVALID_ENUM&quot;,1281:&quot;INVALID_VALUE&quot;,1282:&quot;INVALID_OPERATION&quot;,1285:&quot;OUT_OF_MEMORY&quot;,1286:&quot;INVALID_FRAMEBUFFER_OPERATION&quot;,2304:&quot;CW&quot;,2305:&quot;CCW&quot;,2849:&quot;LINE_WIDTH&quot;,2884:&quot;CULL_FACE&quot;,2885:&quot;CULL_FACE_MODE&quot;,2886:&quot;FRONT_FACE&quot;,2928:&quot;DEPTH_RANGE&quot;,2929:&quot;DEPTH_TEST&quot;,2930:&quot;DEPTH_WRITEMASK&quot;,2931:&quot;DEPTH_CLEAR_VALUE&quot;,2932:&quot;DEPTH_FUNC&quot;,2960:&quot;STENCIL_TEST&quot;,2961:&quot;STENCIL_CLEAR_VALUE&quot;,2962:&quot;STENCIL_FUNC&quot;,2963:&quot;STENCIL_VALUE_MASK&quot;,2964:&quot;STENCIL_FAIL&quot;,2965:&quot;STENCIL_PASS_DEPTH_FAIL&quot;,2966:&quot;STENCIL_PASS_DEPTH_PASS&quot;,2967:&quot;STENCIL_REF&quot;,2968:&quot;STENCIL_WRITEMASK&quot;,2978:&quot;VIEWPORT&quot;,3024:&quot;DITHER&quot;,3042:&quot;BLEND&quot;,3088:&quot;SCISSOR_BOX&quot;,3089:&quot;SCISSOR_TEST&quot;,3106:&quot;COLOR_CLEAR_VALUE&quot;,3107:&quot;COLOR_WRITEMASK&quot;,3317:&quot;UNPACK_ALIGNMENT&quot;,3333:&quot;PACK_ALIGNMENT&quot;,3379:&quot;MAX_TEXTURE_SIZE&quot;,3386:&quot;MAX_VIEWPORT_DIMS&quot;,3408:&quot;SUBPIXEL_BITS&quot;,3410:&quot;RED_BITS&quot;,3411:&quot;GREEN_BITS&quot;,3412:&quot;BLUE_BITS&quot;,3413:&quot;ALPHA_BITS&quot;,3414:&quot;DEPTH_BITS&quot;,3415:&quot;STENCIL_BITS&quot;,3553:&quot;TEXTURE_2D&quot;,4352:&quot;DONT_CARE&quot;,4353:&quot;FASTEST&quot;,4354:&quot;NICEST&quot;,5120:&quot;BYTE&quot;,5121:&quot;UNSIGNED_BYTE&quot;,5122:&quot;SHORT&quot;,5123:&quot;UNSIGNED_SHORT&quot;,5124:&quot;INT&quot;,5125:&quot;UNSIGNED_INT&quot;,5126:&quot;FLOAT&quot;,5386:&quot;INVERT&quot;,5890:&quot;TEXTURE&quot;,6401:&quot;STENCIL_INDEX&quot;,6402:&quot;DEPTH_COMPONENT&quot;,6406:&quot;ALPHA&quot;,6407:&quot;RGB&quot;,6408:&quot;RGBA&quot;,6409:&quot;LUMINANCE&quot;,6410:&quot;LUMINANCE_ALPHA&quot;,7680:&quot;KEEP&quot;,7681:&quot;REPLACE&quot;,7682:&quot;INCR&quot;,7683:&quot;DECR&quot;,7936:&quot;VENDOR&quot;,7937:&quot;RENDERER&quot;,7938:&quot;VERSION&quot;,9728:&quot;NEAREST&quot;,9729:&quot;LINEAR&quot;,9984:&quot;NEAREST_MIPMAP_NEAREST&quot;,9985:&quot;LINEAR_MIPMAP_NEAREST&quot;,9986:&quot;NEAREST_MIPMAP_LINEAR&quot;,9987:&quot;LINEAR_MIPMAP_LINEAR&quot;,10240:&quot;TEXTURE_MAG_FILTER&quot;,10241:&quot;TEXTURE_MIN_FILTER&quot;,10242:&quot;TEXTURE_WRAP_S&quot;,10243:&quot;TEXTURE_WRAP_T&quot;,10497:&quot;REPEAT&quot;,10752:&quot;POLYGON_OFFSET_UNITS&quot;,16384:&quot;COLOR_BUFFER_BIT&quot;,32769:&quot;CONSTANT_COLOR&quot;,32770:&quot;ONE_MINUS_CONSTANT_COLOR&quot;,32771:&quot;CONSTANT_ALPHA&quot;,32772:&quot;ONE_MINUS_CONSTANT_ALPHA&quot;,32773:&quot;BLEND_COLOR&quot;,32774:&quot;FUNC_ADD&quot;,32777:&quot;BLEND_EQUATION_RGB&quot;,32778:&quot;FUNC_SUBTRACT&quot;,32779:&quot;FUNC_REVERSE_SUBTRACT&quot;,32819:&quot;UNSIGNED_SHORT_4_4_4_4&quot;,32820:&quot;UNSIGNED_SHORT_5_5_5_1&quot;,32823:&quot;POLYGON_OFFSET_FILL&quot;,32824:&quot;POLYGON_OFFSET_FACTOR&quot;,32854:&quot;RGBA4&quot;,32855:&quot;RGB5_A1&quot;,32873:&quot;TEXTURE_BINDING_2D&quot;,32926:&quot;SAMPLE_ALPHA_TO_COVERAGE&quot;,32928:&quot;SAMPLE_COVERAGE&quot;,32936:&quot;SAMPLE_BUFFERS&quot;,32937:&quot;SAMPLES&quot;,32938:&quot;SAMPLE_COVERAGE_VALUE&quot;,32939:&quot;SAMPLE_COVERAGE_INVERT&quot;,32968:&quot;BLEND_DST_RGB&quot;,32969:&quot;BLEND_SRC_RGB&quot;,32970:&quot;BLEND_DST_ALPHA&quot;,32971:&quot;BLEND_SRC_ALPHA&quot;,33071:&quot;CLAMP_TO_EDGE&quot;,33170:&quot;GENERATE_MIPMAP_HINT&quot;,33189:&quot;DEPTH_COMPONENT16&quot;,33306:&quot;DEPTH_STENCIL_ATTACHMENT&quot;,33635:&quot;UNSIGNED_SHORT_5_6_5&quot;,33648:&quot;MIRRORED_REPEAT&quot;,33901:&quot;ALIASED_POINT_SIZE_RANGE&quot;,33902:&quot;ALIASED_LINE_WIDTH_RANGE&quot;,33984:&quot;TEXTURE0&quot;,33985:&quot;TEXTURE1&quot;,33986:&quot;TEXTURE2&quot;,33987:&quot;TEXTURE3&quot;,33988:&quot;TEXTURE4&quot;,33989:&quot;TEXTURE5&quot;,33990:&quot;TEXTURE6&quot;,33991:&quot;TEXTURE7&quot;,33992:&quot;TEXTURE8&quot;,33993:&quot;TEXTURE9&quot;,33994:&quot;TEXTURE10&quot;,33995:&quot;TEXTURE11&quot;,33996:&quot;TEXTURE12&quot;,33997:&quot;TEXTURE13&quot;,33998:&quot;TEXTURE14&quot;,33999:&quot;TEXTURE15&quot;,34e3:&quot;TEXTURE16&quot;,34001:&quot;TEXTURE17&quot;,34002:&quot;TEXTURE18&quot;,34003:&quot;TEXTURE19&quot;,34004:&quot;TEXTURE20&quot;,34005:&quot;TEXTURE21&quot;,34006:&quot;TEXTURE22&quot;,34007:&quot;TEXTURE23&quot;,34008:&quot;TEXTURE24&quot;,34009:&quot;TEXTURE25&quot;,34010:&quot;TEXTURE26&quot;,34011:&quot;TEXTURE27&quot;,34012:&quot;TEXTURE28&quot;,34013:&quot;TEXTURE29&quot;,34014:&quot;TEXTURE30&quot;,34015:&quot;TEXTURE31&quot;,34016:&quot;ACTIVE_TEXTURE&quot;,34024:&quot;MAX_RENDERBUFFER_SIZE&quot;,34041:&quot;DEPTH_STENCIL&quot;,34055:&quot;INCR_WRAP&quot;,34056:&quot;DECR_WRAP&quot;,34067:&quot;TEXTURE_CUBE_MAP&quot;,34068:&quot;TEXTURE_BINDING_CUBE_MAP&quot;,34069:&quot;TEXTURE_CUBE_MAP_POSITIVE_X&quot;,34070:&quot;TEXTURE_CUBE_MAP_NEGATIVE_X&quot;,34071:&quot;TEXTURE_CUBE_MAP_POSITIVE_Y&quot;,34072:&quot;TEXTURE_CUBE_MAP_NEGATIVE_Y&quot;,34073:&quot;TEXTURE_CUBE_MAP_POSITIVE_Z&quot;,34074:&quot;TEXTURE_CUBE_MAP_NEGATIVE_Z&quot;,34076:&quot;MAX_CUBE_MAP_TEXTURE_SIZE&quot;,34338:&quot;VERTEX_ATTRIB_ARRAY_ENABLED&quot;,34339:&quot;VERTEX_ATTRIB_ARRAY_SIZE&quot;,34340:&quot;VERTEX_ATTRIB_ARRAY_STRIDE&quot;,34341:&quot;VERTEX_ATTRIB_ARRAY_TYPE&quot;,34342:&quot;CURRENT_VERTEX_ATTRIB&quot;,34373:&quot;VERTEX_ATTRIB_ARRAY_POINTER&quot;,34466:&quot;NUM_COMPRESSED_TEXTURE_FORMATS&quot;,34467:&quot;COMPRESSED_TEXTURE_FORMATS&quot;,34660:&quot;BUFFER_SIZE&quot;,34661:&quot;BUFFER_USAGE&quot;,34816:&quot;STENCIL_BACK_FUNC&quot;,34817:&quot;STENCIL_BACK_FAIL&quot;,34818:&quot;STENCIL_BACK_PASS_DEPTH_FAIL&quot;,34819:&quot;STENCIL_BACK_PASS_DEPTH_PASS&quot;,34877:&quot;BLEND_EQUATION_ALPHA&quot;,34921:&quot;MAX_VERTEX_ATTRIBS&quot;,34922:&quot;VERTEX_ATTRIB_ARRAY_NORMALIZED&quot;,34930:&quot;MAX_TEXTURE_IMAGE_UNITS&quot;,34962:&quot;ARRAY_BUFFER&quot;,34963:&quot;ELEMENT_ARRAY_BUFFER&quot;,34964:&quot;ARRAY_BUFFER_BINDING&quot;,34965:&quot;ELEMENT_ARRAY_BUFFER_BINDING&quot;,34975:&quot;VERTEX_ATTRIB_ARRAY_BUFFER_BINDING&quot;,35040:&quot;STREAM_DRAW&quot;,35044:&quot;STATIC_DRAW&quot;,35048:&quot;DYNAMIC_DRAW&quot;,35632:&quot;FRAGMENT_SHADER&quot;,35633:&quot;VERTEX_SHADER&quot;,35660:&quot;MAX_VERTEX_TEXTURE_IMAGE_UNITS&quot;,35661:&quot;MAX_COMBINED_TEXTURE_IMAGE_UNITS&quot;,35663:&quot;SHADER_TYPE&quot;,35664:&quot;FLOAT_VEC2&quot;,35665:&quot;FLOAT_VEC3&quot;,35666:&quot;FLOAT_VEC4&quot;,35667:&quot;INT_VEC2&quot;,35668:&quot;INT_VEC3&quot;,35669:&quot;INT_VEC4&quot;,35670:&quot;BOOL&quot;,35671:&quot;BOOL_VEC2&quot;,35672:&quot;BOOL_VEC3&quot;,35673:&quot;BOOL_VEC4&quot;,35674:&quot;FLOAT_MAT2&quot;,35675:&quot;FLOAT_MAT3&quot;,35676:&quot;FLOAT_MAT4&quot;,35678:&quot;SAMPLER_2D&quot;,35680:&quot;SAMPLER_CUBE&quot;,35712:&quot;DELETE_STATUS&quot;,35713:&quot;COMPILE_STATUS&quot;,35714:&quot;LINK_STATUS&quot;,35715:&quot;VALIDATE_STATUS&quot;,35716:&quot;INFO_LOG_LENGTH&quot;,35717:&quot;ATTACHED_SHADERS&quot;,35718:&quot;ACTIVE_UNIFORMS&quot;,35719:&quot;ACTIVE_UNIFORM_MAX_LENGTH&quot;,35720:&quot;SHADER_SOURCE_LENGTH&quot;,35721:&quot;ACTIVE_ATTRIBUTES&quot;,35722:&quot;ACTIVE_ATTRIBUTE_MAX_LENGTH&quot;,35724:&quot;SHADING_LANGUAGE_VERSION&quot;,35725:&quot;CURRENT_PROGRAM&quot;,36003:&quot;STENCIL_BACK_REF&quot;,36004:&quot;STENCIL_BACK_VALUE_MASK&quot;,36005:&quot;STENCIL_BACK_WRITEMASK&quot;,36006:&quot;FRAMEBUFFER_BINDING&quot;,36007:&quot;RENDERBUFFER_BINDING&quot;,36048:&quot;FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE&quot;,36049:&quot;FRAMEBUFFER_ATTACHMENT_OBJECT_NAME&quot;,36050:&quot;FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL&quot;,36051:&quot;FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE&quot;,36053:&quot;FRAMEBUFFER_COMPLETE&quot;,36054:&quot;FRAMEBUFFER_INCOMPLETE_ATTACHMENT&quot;,36055:&quot;FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT&quot;,36057:&quot;FRAMEBUFFER_INCOMPLETE_DIMENSIONS&quot;,36061:&quot;FRAMEBUFFER_UNSUPPORTED&quot;,36064:&quot;COLOR_ATTACHMENT0&quot;,36096:&quot;DEPTH_ATTACHMENT&quot;,36128:&quot;STENCIL_ATTACHMENT&quot;,36160:&quot;FRAMEBUFFER&quot;,36161:&quot;RENDERBUFFER&quot;,36162:&quot;RENDERBUFFER_WIDTH&quot;,36163:&quot;RENDERBUFFER_HEIGHT&quot;,36164:&quot;RENDERBUFFER_INTERNAL_FORMAT&quot;,36168:&quot;STENCIL_INDEX8&quot;,36176:&quot;RENDERBUFFER_RED_SIZE&quot;,36177:&quot;RENDERBUFFER_GREEN_SIZE&quot;,36178:&quot;RENDERBUFFER_BLUE_SIZE&quot;,36179:&quot;RENDERBUFFER_ALPHA_SIZE&quot;,36180:&quot;RENDERBUFFER_DEPTH_SIZE&quot;,36181:&quot;RENDERBUFFER_STENCIL_SIZE&quot;,36194:&quot;RGB565&quot;,36336:&quot;LOW_FLOAT&quot;,36337:&quot;MEDIUM_FLOAT&quot;,36338:&quot;HIGH_FLOAT&quot;,36339:&quot;LOW_INT&quot;,36340:&quot;MEDIUM_INT&quot;,36341:&quot;HIGH_INT&quot;,36346:&quot;SHADER_COMPILER&quot;,36347:&quot;MAX_VERTEX_UNIFORM_VECTORS&quot;,36348:&quot;MAX_VARYING_VECTORS&quot;,36349:&quot;MAX_FRAGMENT_UNIFORM_VECTORS&quot;,37440:&quot;UNPACK_FLIP_Y_WEBGL&quot;,37441:&quot;UNPACK_PREMULTIPLY_ALPHA_WEBGL&quot;,37442:&quot;CONTEXT_LOST_WEBGL&quot;,37443:&quot;UNPACK_COLORSPACE_CONVERSION_WEBGL&quot;,37444:&quot;BROWSER_DEFAULT_WEBGL&quot;}},{}],167:[function(t,e,r){var n=t(&quot;./1.0/numbers&quot;);e.exports=function(t){return n[t]}},{&quot;./1.0/numbers&quot;:166}],168:[function(t,e,r){&quot;use strict&quot;;function n(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}function i(t,e){for(var r=0;r&lt;3;++r)t[0][r]=Math.min(t[0][r],e[r]),t[1][r]=Math.max(t[1][r],e[r])}function a(t,e,r,n){for(var i=f[n],a=0;a&lt;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}e.exports=function(t){var e=t.gl,r=o(e),i=s(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}]),a=l(e);a.attributes.position.location=0,a.attributes.color.location=1,a.attributes.offset.location=2;var c=new n(e,r,i,a);return c.update(t),c};var o=t(&quot;gl-buffer&quot;),s=t(&quot;gl-vao&quot;),l=t(&quot;./shaders/index&quot;),c=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],u=n.prototype;u.isOpaque=function(){return this.opacity&gt;=1},u.isTransparent=function(){return this.opacity&lt;1},u.drawTransparent=u.draw=function(t){var e=this.gl,r=this.shader.uniforms;this.shader.bind();var n=r.view=t.view||c,i=r.projection=t.projection||c;r.model=t.model||c,r.clipBounds=this.clipBounds,r.opacity=this.opacity;var a=n[12],o=n[13],s=n[14],l=n[15],u=this.pixelRatio*(i[3]*a+i[7]*o+i[11]*s+i[15]*l)/e.drawingBufferHeight;this.vao.bind();for(var f=0;f&lt;3;++f)e.lineWidth(this.lineWidth[f]),r.capSize=this.capSize[f]*u,this.lineCount[f]&amp;&amp;e.drawArrays(e.LINES,this.lineOffset[f],this.lineCount[f]);this.vao.unbind()};var f=function(){for(var t=new Array(3),e=0;e&lt;3;++e){for(var r=[],n=1;n&lt;=2;++n)for(var i=-1;i&lt;=1;i+=2){var a=[0,0,0];a[(n+e)%3]=i,r.push(a)}t[e]=r}return t}();u.update=function(t){&quot;lineWidth&quot;in(t=t||{})&amp;&amp;(this.lineWidth=t.lineWidth,Array.isArray(this.lineWidth)||(this.lineWidth=[this.lineWidth,this.lineWidth,this.lineWidth])),&quot;capSize&quot;in t&amp;&amp;(this.capSize=t.capSize,Array.isArray(this.capSize)||(this.capSize=[this.capSize,this.capSize,this.capSize])),&quot;opacity&quot;in t&amp;&amp;(this.opacity=t.opacity);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&amp;&amp;n){var o=[],s=r.length,l=0;this.bounds=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],this.lineCount=[0,0,0];for(var c=0;c&lt;3;++c){this.lineOffset[c]=l;t:for(var u=0;u&lt;s;++u){for(var f=r[u],h=0;h&lt;3;++h)if(isNaN(f[h])||!isFinite(f[h]))continue t;var d=n[u],p=e[c];if(Array.isArray(p[0])&amp;&amp;(p=e[u]),3===p.length&amp;&amp;(p=[p[0],p[1],p[2],1]),!isNaN(d[0][c])&amp;&amp;!isNaN(d[1][c])){if(d[0][c]&lt;0){(m=f.slice())[c]+=d[0][c],o.push(f[0],f[1],f[2],p[0],p[1],p[2],p[3],0,0,0,m[0],m[1],m[2],p[0],p[1],p[2],p[3],0,0,0),i(this.bounds,m),l+=2+a(o,m,p,c)}if(d[1][c]&gt;0){var m;(m=f.slice())[c]+=d[1][c],o.push(f[0],f[1],f[2],p[0],p[1],p[2],p[3],0,0,0,m[0],m[1],m[2],p[0],p[1],p[2],p[3],0,0,0),i(this.bounds,m),l+=2+a(o,m,p,c)}}}this.lineCount[c]=l-this.lineOffset[c]}this.buffer.update(o)}},u.dispose=function(){this.shader.dispose(),this.buffer.dispose(),this.vao.dispose()}},{&quot;./shaders/index&quot;:170,&quot;gl-buffer&quot;:165,&quot;gl-vao&quot;:259}],169:[function(t,e,r){e.exports=function(t){&quot;string&quot;==typeof t&amp;&amp;(t=[t]);for(var e=[].slice.call(arguments,1),r=[],n=0;n&lt;t.length-1;n++)r.push(t[n],e[n]||&quot;&quot;);return r.push(t[n]),r.join(&quot;&quot;)}},{}],170:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;glslify&quot;),i=t(&quot;gl-shader&quot;),a=n([&quot;precision mediump 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}&quot;]),o=n([&quot;precision mediump float;\n#define GLSLIFY 1\nuniform vec3 clipBounds[2];\nuniform float opacity;\nvarying vec3 fragPosition;\nvarying vec4 fragColor;\n\nvoid main() {\n  if(any(lessThan(fragPosition, clipBounds[0])) || any(greaterThan(fragPosition, clipBounds[1]))) {\n    discard;\n  }\n  gl_FragColor = opacity * fragColor;\n}&quot;]);e.exports=function(t){return i(t,a,o,null,[{name:&quot;position&quot;,type:&quot;vec3&quot;},{name:&quot;color&quot;,type:&quot;vec4&quot;},{name:&quot;offset&quot;,type:&quot;vec3&quot;}])}},{&quot;gl-shader&quot;:243,glslify:169}],171:[function(t,e,r){&quot;use strict&quot;;function n(t){return[t.getParameter(t.FRAMEBUFFER_BINDING),t.getParameter(t.RENDERBUFFER_BINDING),t.getParameter(t.TEXTURE_BINDING_2D)]}function i(t,e){t.bindFramebuffer(t.FRAMEBUFFER,e[0]),t.bindRenderbuffer(t.RENDERBUFFER,e[1]),t.bindTexture(t.TEXTURE_2D,e[2])}function a(t){switch(t){case f:throw new Error(&quot;gl-fbo: Framebuffer unsupported&quot;);case h:throw new Error(&quot;gl-fbo: Framebuffer incomplete attachment&quot;);case d:throw new Error(&quot;gl-fbo: Framebuffer incomplete dimensions&quot;);case p:throw new Error(&quot;gl-fbo: Framebuffer incomplete missing attachment&quot;);default:throw new Error(&quot;gl-fbo: Framebuffer failed for unspecified reason&quot;)}}function o(t,e,r,n,i,a){if(!n)return null;var o=u(t,e,r,i,n);return o.magFilter=t.NEAREST,o.minFilter=t.NEAREST,o.mipSamples=1,o.bind(),t.framebufferTexture2D(t.FRAMEBUFFER,a,t.TEXTURE_2D,o.handle,0),o}function s(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 l(t,e,r,l,c,u,f,h){this.gl=t,this._shape=[0|e,0|r],this._destroyed=!1,this._ext=h,this.color=new Array(c);for(var d=0;d&lt;c;++d)this.color[d]=null;this._color_rb=null,this.depth=null,this._depth_rb=null,this._colorType=l,this._useDepth=u,this._useStencil=f;var p=this,g=[0|e,0|r];Object.defineProperties(g,{0:{get:function(){return p._shape[0]},set:function(t){return p.width=t}},1:{get:function(){return p._shape[1]},set:function(t){return p.height=t}}}),this._shapeVector=g,function(t){var e=n(t.gl),r=t.gl,l=t.handle=r.createFramebuffer(),c=t._shape[0],u=t._shape[1],f=t.color.length,h=t._ext,d=t._useStencil,p=t._useDepth,g=t._colorType;r.bindFramebuffer(r.FRAMEBUFFER,l);for(var v=0;v&lt;f;++v)t.color[v]=o(r,c,u,g,r.RGBA,r.COLOR_ATTACHMENT0+v);0===f?(t._color_rb=s(r,c,u,r.RGBA4,r.COLOR_ATTACHMENT0),h&amp;&amp;h.drawBuffersWEBGL(m[0])):f&gt;1&amp;&amp;h.drawBuffersWEBGL(m[f]);var y=r.getExtension(&quot;WEBGL_depth_texture&quot;);y?d?t.depth=o(r,c,u,y.UNSIGNED_INT_24_8_WEBGL,r.DEPTH_STENCIL,r.DEPTH_STENCIL_ATTACHMENT):p&amp;&amp;(t.depth=o(r,c,u,r.UNSIGNED_SHORT,r.DEPTH_COMPONENT,r.DEPTH_ATTACHMENT)):p&amp;&amp;d?t._depth_rb=s(r,c,u,r.DEPTH_STENCIL,r.DEPTH_STENCIL_ATTACHMENT):p?t._depth_rb=s(r,c,u,r.DEPTH_COMPONENT16,r.DEPTH_ATTACHMENT):d&amp;&amp;(t._depth_rb=s(r,c,u,r.STENCIL_INDEX,r.STENCIL_ATTACHMENT));var x=r.checkFramebufferStatus(r.FRAMEBUFFER);if(x!==r.FRAMEBUFFER_COMPLETE){for(t._destroyed=!0,r.bindFramebuffer(r.FRAMEBUFFER,null),r.deleteFramebuffer(t.handle),t.handle=null,t.depth&amp;&amp;(t.depth.dispose(),t.depth=null),t._depth_rb&amp;&amp;(r.deleteRenderbuffer(t._depth_rb),t._depth_rb=null),v=0;v&lt;t.color.length;++v)t.color[v].dispose(),t.color[v]=null;t._color_rb&amp;&amp;(r.deleteRenderbuffer(t._color_rb),t._color_rb=null),i(r,e),a(x)}i(r,e)}(this)}function c(t,e,r){if(t._destroyed)throw new Error(&quot;gl-fbo: Can't resize destroyed FBO&quot;);if(t._shape[0]!==e||t._shape[1]!==r){var o=t.gl,s=o.getParameter(o.MAX_RENDERBUFFER_SIZE);if(e&lt;0||e&gt;s||r&lt;0||r&gt;s)throw new Error(&quot;gl-fbo: Can't resize FBO, invalid dimensions&quot;);t._shape[0]=e,t._shape[1]=r;for(var l=n(o),c=0;c&lt;t.color.length;++c)t.color[c].shape=t._shape;t._color_rb&amp;&amp;(o.bindRenderbuffer(o.RENDERBUFFER,t._color_rb),o.renderbufferStorage(o.RENDERBUFFER,o.RGBA4,t._shape[0],t._shape[1])),t.depth&amp;&amp;(t.depth.shape=t._shape),t._depth_rb&amp;&amp;(o.bindRenderbuffer(o.RENDERBUFFER,t._depth_rb),t._useDepth&amp;&amp;t._useStencil?o.renderbufferStorage(o.RENDERBUFFER,o.DEPTH_STENCIL,t._shape[0],t._shape[1]):t._useDepth?o.renderbufferStorage(o.RENDERBUFFER,o.DEPTH_COMPONENT16,t._shape[0],t._shape[1]):t._useStencil&amp;&amp;o.renderbufferStorage(o.RENDERBUFFER,o.STENCIL_INDEX,t._shape[0],t._shape[1])),o.bindFramebuffer(o.FRAMEBUFFER,t.handle);var u=o.checkFramebufferStatus(o.FRAMEBUFFER);u!==o.FRAMEBUFFER_COMPLETE&amp;&amp;(t.dispose(),i(o,l),a(u)),i(o,l)}}var u=t(&quot;gl-texture2d&quot;);e.exports=function(t,e,r,n){f||(f=t.FRAMEBUFFER_UNSUPPORTED,h=t.FRAMEBUFFER_INCOMPLETE_ATTACHMENT,d=t.FRAMEBUFFER_INCOMPLETE_DIMENSIONS,p=t.FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT);var i=t.getExtension(&quot;WEBGL_draw_buffers&quot;);if(!m&amp;&amp;i&amp;&amp;function(t,e){var r=t.getParameter(e.MAX_COLOR_ATTACHMENTS_WEBGL);m=new Array(r+1);for(var n=0;n&lt;=r;++n){for(var i=new Array(r),a=0;a&lt;n;++a)i[a]=t.COLOR_ATTACHMENT0+a;for(a=n;a&lt;r;++a)i[a]=t.NONE;m[n]=i}}(t,i),Array.isArray(e)&amp;&amp;(n=r,r=0|e[1],e=0|e[0]),&quot;number&quot;!=typeof e)throw new Error(&quot;gl-fbo: Missing shape parameter&quot;);var a=t.getParameter(t.MAX_RENDERBUFFER_SIZE);if(e&lt;0||e&gt;a||r&lt;0||r&gt;a)throw new Error(&quot;gl-fbo: Parameters are too large for FBO&quot;);var o=1;if(&quot;color&quot;in(n=n||{})){if((o=Math.max(0|n.color,0))&lt;0)throw new Error(&quot;gl-fbo: Must specify a nonnegative number of colors&quot;);if(o&gt;1){if(!i)throw new Error(&quot;gl-fbo: Multiple draw buffer extension not supported&quot;);if(o&gt;t.getParameter(i.MAX_COLOR_ATTACHMENTS_WEBGL))throw new Error(&quot;gl-fbo: Context does not support &quot;+o+&quot; draw buffers&quot;)}}var s=t.UNSIGNED_BYTE,c=t.getExtension(&quot;OES_texture_float&quot;);if(n.float&amp;&amp;o&gt;0){if(!c)throw new Error(&quot;gl-fbo: Context does not support floating point textures&quot;);s=t.FLOAT}else n.preferFloat&amp;&amp;o&gt;0&amp;&amp;c&amp;&amp;(s=t.FLOAT);var u=!0;&quot;depth&quot;in n&amp;&amp;(u=!!n.depth);var g=!1;return&quot;stencil&quot;in n&amp;&amp;(g=!!n.stencil),new l(t,e,r,s,o,u,g,i)};var f,h,d,p,m=null,g=l.prototype;Object.defineProperties(g,{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(&quot;gl-fbo: Shape vector must be length 2&quot;);var e=0|t[0],r=0|t[1];return c(this,e,r),[e,r]},enumerable:!1},width:{get:function(){return this._destroyed?0:this._shape[0]},set:function(t){return t|=0,c(this,t,this._shape[1]),t},enumerable:!1},height:{get:function(){return this._destroyed?0:this._shape[1]},set:function(t){return t|=0,c(this,this._shape[0],t),t},enumerable:!1}}),g.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])}},g.dispose=function(){if(!this._destroyed){this._destroyed=!0;var t=this.gl;t.deleteFramebuffer(this.handle),this.handle=null,this.depth&amp;&amp;(this.depth.dispose(),this.depth=null),this._depth_rb&amp;&amp;(t.deleteRenderbuffer(this._depth_rb),this._depth_rb=null);for(var e=0;e&lt;this.color.length;++e)this.color[e].dispose(),this.color[e]=null;this._color_rb&amp;&amp;(t.deleteRenderbuffer(this._color_rb),this._color_rb=null)}}},{&quot;gl-texture2d&quot;:255}],172:[function(t,e,r){var n=t(&quot;sprintf-js&quot;).sprintf,i=t(&quot;gl-constants/lookup&quot;),a=t(&quot;glsl-shader-name&quot;),o=t(&quot;add-line-numbers&quot;);e.exports=function(t,e,r){&quot;use strict&quot;;var s=a(e)||&quot;of unknown name (see npm glsl-shader-name)&quot;,l=&quot;unknown type&quot;;void 0!==r&amp;&amp;(l=r===i.FRAGMENT_SHADER?&quot;fragment&quot;:&quot;vertex&quot;);for(var c=n(&quot;Error compiling %s shader %s:\n&quot;,l,s),u=n(&quot;%s%s&quot;,c,t),f=t.split(&quot;\n&quot;),h={},d=0;d&lt;f.length;d++){var p=f[d];if(&quot;&quot;!==p){var m=parseInt(p.split(&quot;:&quot;)[2]);if(isNaN(m))throw new Error(n(&quot;Could not parse error: %s&quot;,p));h[m]=p}}var g=o(e).split(&quot;\n&quot;);for(d=0;d&lt;g.length;d++)if((h[d+3]||h[d+2]||h[d+1])&amp;&amp;(c+=g[d]+&quot;\n&quot;,h[d+1])){var v=h[d+1];v=v.substr(v.split(&quot;:&quot;,3).join(&quot;:&quot;).length+1).trim(),c+=n(&quot;^^^ %s\n\n&quot;,v)}return{long:c.trim(),short:u.trim()}}},{&quot;add-line-numbers&quot;:44,&quot;gl-constants/lookup&quot;:167,&quot;glsl-shader-name&quot;:267,&quot;sprintf-js&quot;:536}],173:[function(t,e,r){&quot;use strict&quot;;function n(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}e.exports=function(t,e){var r=t.gl,i=new n(t,s(r,c.vertex,c.fragment),s(r,c.pickVertex,c.pickFragment),l(r),l(r),l(r),l(r));return i.update(e),t.addObject(i),i};var i=t(&quot;binary-search-bounds&quot;),a=t(&quot;iota-array&quot;),o=t(&quot;typedarray-pool&quot;),s=t(&quot;gl-shader&quot;),l=t(&quot;gl-buffer&quot;),c=t(&quot;./lib/shaders&quot;),u=n.prototype,f=[0,0,1,0,0,1,1,0,1,1,0,1];u.draw=function(){var t=[1,0,0,0,1,0,0,0,1];return function(){var e=this.plot,r=this.shader,n=this.bounds,i=this.numVertices;if(!(i&lt;=0)){var a=e.gl,o=e.dataBox,s=n[2]-n[0],l=n[3]-n[1],c=o[2]-o[0],u=o[3]-o[1];t[0]=2*s/c,t[4]=2*l/u,t[6]=2*(n[0]-o[0])/c-1,t[7]=2*(n[1]-o[1])/u-1,r.bind();var f=r.uniforms;f.viewTransform=t,f.shape=this.shape;var h=r.attributes;this.positionBuffer.bind(),h.position.pointer(),this.weightBuffer.bind(),h.weight.pointer(a.UNSIGNED_BYTE,!1),this.colorBuffer.bind(),h.color.pointer(a.UNSIGNED_BYTE,!0),a.drawArrays(a.TRIANGLES,0,i)}}}(),u.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&lt;=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 d=0;d&lt;4;++d)e[d]=r&gt;&gt;8*d&amp;255;this.pickOffset=r,i.bind();var p=i.uniforms;p.viewTransform=t,p.pickOffset=e,p.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]}}}(),u.pick=function(t,e,r){var n=this.pickOffset,i=this.shape[0]*this.shape[1];if(r&lt;n||r&gt;=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]]}},u.update=function(t){var e=(t=t||{}).shape||[0,0],r=t.x||a(e[0]),n=t.y||a(e[1]),s=t.z||new Float32Array(e[0]*e[1]);this.xData=r,this.yData=n;var l=t.colorLevels||[0],c=t.colorValues||[0,0,0,1],u=l.length,h=this.bounds,d=h[0]=r[0],p=h[1]=n[0],m=1/((h[2]=r[r.length-1])-d),g=1/((h[3]=n[n.length-1])-p),v=e[0],y=e[1];this.shape=[v,y];var x=(v-1)*(y-1)*(f.length&gt;&gt;&gt;1);this.numVertices=x;for(var b=o.mallocUint8(4*x),_=o.mallocFloat32(2*x),w=o.mallocUint8(2*x),M=o.mallocUint32(x),k=0,A=0;A&lt;y-1;++A)for(var T=g*(n[A]-p),S=g*(n[A+1]-p),E=0;E&lt;v-1;++E)for(var L=m*(r[E]-d),C=m*(r[E+1]-d),z=0;z&lt;f.length;z+=2){var D,I,P,O,F=f[z],R=f[z+1],N=s[(A+R)*v+(E+F)],j=i.le(l,N);if(j&lt;0)D=c[0],I=c[1],P=c[2],O=c[3];else if(j===u-1)D=c[4*u-4],I=c[4*u-3],P=c[4*u-2],O=c[4*u-1];else{var B=(N-l[j])/(l[j+1]-l[j]),U=1-B,V=4*j,q=4*(j+1);D=U*c[V]+B*c[q],I=U*c[V+1]+B*c[q+1],P=U*c[V+2]+B*c[q+2],O=U*c[V+3]+B*c[q+3]}b[4*k]=255*D,b[4*k+1]=255*I,b[4*k+2]=255*P,b[4*k+3]=255*O,_[2*k]=.5*L+.5*C,_[2*k+1]=.5*T+.5*S,w[2*k]=F,w[2*k+1]=R,M[k]=A*v+E,k+=1}this.positionBuffer.update(_),this.weightBuffer.update(w),this.colorBuffer.update(b),this.idBuffer.update(M),o.free(_),o.free(b),o.free(w),o.free(M)},u.dispose=function(){this.shader.dispose(),this.pickShader.dispose(),this.positionBuffer.dispose(),this.weightBuffer.dispose(),this.colorBuffer.dispose(),this.idBuffer.dispose(),this.plot.removeObject(this)}},{&quot;./lib/shaders&quot;:174,&quot;binary-search-bounds&quot;:175,&quot;gl-buffer&quot;:165,&quot;gl-shader&quot;:243,&quot;iota-array&quot;:281,&quot;typedarray-pool&quot;:554}],174:[function(t,e,r){&quot;use strict&quot;;e.exports={fragment:&quot;precision lowp float;\n#define GLSLIFY 1\nvarying vec4 fragColor;\nvoid main() {\n  gl_FragColor = vec4(fragColor.rgb * fragColor.a, fragColor.a);\n}\n&quot;,vertex:&quot;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&quot;,pickFragment:&quot;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&quot;,pickVertex:&quot;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&quot;}},{}],175:[function(t,e,r){arguments[4][89][0].apply(r,arguments)},{dup:89}],176:[function(t,e,r){var n=t(&quot;gl-shader&quot;),i=&quot;precision mediump 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\nvoid main() {\n  vec4 projected = projection * view * model * vec4(position, 1.0);\n  vec4 tangentClip = projection * view * model * vec4(nextPosition - position, 0.0);\n  vec2 tangent = normalize(screenShape * tangentClip.xy);\n  vec2 offset = 0.5 * pixelRatio * lineWidth * vec2(tangent.y, -tangent.x) / screenShape;\n\n  gl_Position = vec4(projected.xy + projected.w * offset, projected.zw);\n\n  worldPosition = position;\n  pixelArcLength = arcLength;\n  fragColor = color;\n}\n&quot;,a=[{name:&quot;position&quot;,type:&quot;vec3&quot;},{name:&quot;nextPosition&quot;,type:&quot;vec3&quot;},{name:&quot;arcLength&quot;,type:&quot;float&quot;},{name:&quot;lineWidth&quot;,type:&quot;float&quot;},{name:&quot;color&quot;,type:&quot;vec4&quot;}];r.createShader=function(t){return n(t,i,&quot;precision mediump float;\n#define GLSLIFY 1\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(any(lessThan(worldPosition, clipBounds[0])) || any(greaterThan(worldPosition, clipBounds[1]))) {\n    discard;\n  }\n  float dashWeight = texture2D(dashTexture, vec2(dashScale * pixelArcLength, 0)).r;\n  if(dashWeight &lt; 0.5) {\n    discard;\n  }\n  gl_FragColor = fragColor * opacity;\n}\n&quot;,null,a)},r.createPickShader=function(t){return n(t,i,&quot;precision mediump float;\n#define GLSLIFY 1\n\n#define FLOAT_MAX  1.70141184e38\n#define FLOAT_MIN  1.17549435e-38\n\nlowp vec4 encode_float_1_0(highp float v) {\n  highp float av = abs(v);\n\n  //Handle special cases\n  if(av &lt; FLOAT_MIN) {\n    return vec4(0.0, 0.0, 0.0, 0.0);\n  } else if(v &gt; FLOAT_MAX) {\n    return vec4(127.0, 128.0, 0.0, 0.0) / 255.0;\n  } else if(v &lt; -FLOAT_MAX) {\n    return vec4(255.0, 128.0, 0.0, 0.0) / 255.0;\n  }\n\n  highp vec4 c = vec4(0,0,0,0);\n\n  //Compute exponent and mantissa\n  highp float e = floor(log2(av));\n  highp 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  highp 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\n\n\nuniform float pickId;\nuniform vec3 clipBounds[2];\n\nvarying vec3 worldPosition;\nvarying float pixelArcLength;\nvarying vec4 fragColor;\n\nvoid main() {\n  if(any(lessThan(worldPosition, clipBounds[0])) || any(greaterThan(worldPosition, clipBounds[1]))) {\n    discard;\n  }\n  gl_FragColor = vec4(pickId/255.0, encode_float_1_0(pixelArcLength).xyz);\n}&quot;,null,a)}},{&quot;gl-shader&quot;:243}],177:[function(t,e,r){&quot;use strict&quot;;function n(t,e){for(var r=0,n=0;n&lt;3;++n){var i=t[n]-e[n];r+=i*i}return Math.sqrt(r)}function i(t){for(var e=[[-1e6,-1e6,-1e6],[1e6,1e6,1e6]],r=0;r&lt;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 a(t,e,r,n){this.arcLength=t,this.position=e,this.index=r,this.dataCoordinate=n}function o(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.dirty=!0,this.pixelRatio=1}e.exports=function(t){var e=t.gl||t.scene&amp;&amp;t.scene.gl,r=p(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 n=m(e);n.attributes.position.location=0,n.attributes.nextPosition.location=1,n.attributes.arcLength.location=2,n.attributes.lineWidth.location=3,n.attributes.color.location=4;for(var i=s(e),a=l(e,[{buffer:i,size:3,offset:0,stride:48},{buffer:i,size:3,offset:12,stride:48},{buffer:i,size:1,offset:24,stride:48},{buffer:i,size:1,offset:28,stride:48},{buffer:i,size:4,offset:32,stride:48}]),u=h(new Array(1024),[256,1,4]),f=0;f&lt;1024;++f)u.data[f]=255;var d=c(e,u);d.wrap=e.REPEAT;var g=new o(e,r,n,i,a,d);return g.update(t),g};var s=t(&quot;gl-buffer&quot;),l=t(&quot;gl-vao&quot;),c=t(&quot;gl-texture2d&quot;),u=t(&quot;glsl-read-float&quot;),f=t(&quot;binary-search-bounds&quot;),h=t(&quot;ndarray&quot;),d=t(&quot;./lib/shaders&quot;),p=d.createShader,m=d.createPickShader,g=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],v=o.prototype;v.isTransparent=function(){return this.opacity&lt;1},v.isOpaque=function(){return this.opacity&gt;=1},v.pickSlots=1,v.setPickBase=function(t){this.pickId=t},v.drawTransparent=v.draw=function(t){var e=this.gl,r=this.shader,n=this.vao;r.bind(),r.uniforms={model:t.model||g,view:t.view||g,projection:t.projection||g,clipBounds:i(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)},v.drawPick=function(t){var e=this.gl,r=this.pickShader,n=this.vao;r.bind(),r.uniforms={model:t.model||g,view:t.view||g,projection:t.projection||g,pickId:this.pickId,clipBounds:i(this.clipBounds),screenShape:[e.drawingBufferWidth,e.drawingBufferHeight],pixelRatio:this.pixelRatio},n.bind(),n.draw(e.TRIANGLE_STRIP,this.vertexCount)},v.update=function(t){var e,r;this.dirty=!0;var i=!!t.connectGaps;&quot;dashScale&quot;in t&amp;&amp;(this.dashScale=t.dashScale),&quot;opacity&quot;in t&amp;&amp;(this.opacity=+t.opacity);var a=t.position||t.positions;if(a){var o=t.color||t.colors||[0,0,0,1],s=t.lineWidth||1,l=[],c=[],u=[],d=0,p=0,m=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],g=!1;t:for(e=1;e&lt;a.length;++e){var v=a[e-1],y=a[e];for(c.push(d),u.push(v.slice()),r=0;r&lt;3;++r){if(isNaN(v[r])||isNaN(y[r])||!isFinite(v[r])||!isFinite(y[r])){if(!i&amp;&amp;l.length&gt;0){for(var x=0;x&lt;24;++x)l.push(l[l.length-12]);p+=2,g=!0}continue t}m[0][r]=Math.min(m[0][r],v[r],y[r]),m[1][r]=Math.max(m[1][r],v[r],y[r])}var b,_;Array.isArray(o[0])?(b=o[e-1],_=o[e]):b=_=o,3===b.length&amp;&amp;(b=[b[0],b[1],b[2],1]),3===_.length&amp;&amp;(_=[_[0],_[1],_[2],1]);var w;w=Array.isArray(s)?s[e-1]:s;var M=d;if(d+=n(v,y),g){for(r=0;r&lt;2;++r)l.push(v[0],v[1],v[2],y[0],y[1],y[2],M,w,b[0],b[1],b[2],b[3]);p+=2,g=!1}l.push(v[0],v[1],v[2],y[0],y[1],y[2],M,w,b[0],b[1],b[2],b[3],v[0],v[1],v[2],y[0],y[1],y[2],M,-w,b[0],b[1],b[2],b[3],y[0],y[1],y[2],v[0],v[1],v[2],d,-w,_[0],_[1],_[2],_[3],y[0],y[1],y[2],v[0],v[1],v[2],d,w,_[0],_[1],_[2],_[3]),p+=4}if(this.buffer.update(l),c.push(d),u.push(a[a.length-1].slice()),this.bounds=m,this.vertexCount=p,this.points=u,this.arcLength=c,&quot;dashes&quot;in t){var k=t.dashes.slice();for(k.unshift(0),e=1;e&lt;k.length;++e)k[e]=k[e-1]+k[e];var A=h(new Array(1024),[256,1,4]);for(e=0;e&lt;256;++e){for(r=0;r&lt;4;++r)A.set(e,0,r,0);1&amp;f.le(k,k[k.length-1]*e/255)?A.set(e,0,0,0):A.set(e,0,0,255)}this.texture.setPixels(A)}}},v.dispose=function(){this.shader.dispose(),this.vao.dispose(),this.buffer.dispose()},v.pick=function(t){if(!t)return null;if(t.id!==this.pickId)return null;var e=u(t.value[0],t.value[1],t.value[2],0),r=f.le(this.arcLength,e);if(r&lt;0)return null;if(r===this.arcLength.length-1)return new a(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)],o=(e-this.arcLength[r])/(this.arcLength[r+1]-this.arcLength[r]),s=1-o,l=[0,0,0],c=0;c&lt;3;++c)l[c]=s*n[c]+o*i[c];var h=Math.min(o&lt;.5?r:r+1,this.points.length-1);return new a(e,l,h,this.points[h])}},{&quot;./lib/shaders&quot;:176,&quot;binary-search-bounds&quot;:70,&quot;gl-buffer&quot;:165,&quot;gl-texture2d&quot;:255,&quot;gl-vao&quot;:259,&quot;glsl-read-float&quot;:266,ndarray:458}],178:[function(t,e,r){e.exports=function(t,e){var r=e[0],n=e[1],i=e[2],a=e[3],o=r*a-i*n;return o?(o=1/o,t[0]=a*o,t[1]=-n*o,t[2]=-i*o,t[3]=r*o,t):null}},{}],179:[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=u*o-s*c,h=-u*a+s*l,d=c*a-o*l,p=r*f+n*h+i*d;return p?(p=1/p,t[0]=f*p,t[1]=(-u*n+i*c)*p,t[2]=(s*n-i*o)*p,t[3]=h*p,t[4]=(u*r-i*l)*p,t[5]=(-s*r+i*a)*p,t[6]=d*p,t[7]=(-c*r+n*l)*p,t[8]=(o*r-n*a)*p,t):null}},{}],180:[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}},{}],181:[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}},{}],182:[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],d=t[12],p=t[13],m=t[14],g=t[15];return(e*o-r*a)*(f*g-h*m)-(e*s-n*a)*(u*g-h*p)+(e*l-i*a)*(u*m-f*p)+(r*s-n*o)*(c*g-h*d)-(r*l-i*o)*(c*m-f*d)+(n*l-i*s)*(c*p-u*d)}},{}],183:[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,d=i*s,p=i*l,m=a*o,g=a*s,v=a*l;return t[0]=1-f-p,t[1]=u+v,t[2]=h-g,t[3]=0,t[4]=u-v,t[5]=1-c-p,t[6]=d+m,t[7]=0,t[8]=h+g,t[9]=d-m,t[10]=1-c-f,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}},{}],184:[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,d=i*l,p=i*c,m=a*c,g=o*s,v=o*l,y=o*c;return t[0]=1-(d+m),t[1]=f+y,t[2]=h-v,t[3]=0,t[4]=f-y,t[5]=1-(u+m),t[6]=p+g,t[7]=0,t[8]=h+v,t[9]=p-g,t[10]=1-(u+d),t[11]=0,t[12]=r[0],t[13]=r[1],t[14]=r[2],t[15]=1,t}},{}],185:[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}},{}],186:[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],d=e[11],p=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,M=i*c-a*l,k=u*m-f*p,A=u*g-h*p,T=u*v-d*p,S=f*g-h*m,E=f*v-d*m,L=h*v-d*g,C=y*L-x*E+b*S+_*T-w*A+M*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*M-g*w+v*_)*C,t[3]=(h*w-f*M-d*_)*C,t[4]=(l*T-o*L-c*A)*C,t[5]=(r*L-i*T+a*A)*C,t[6]=(g*b-p*M-v*x)*C,t[7]=(u*M-h*b+d*x)*C,t[8]=(o*E-s*T+c*k)*C,t[9]=(n*T-r*E-a*k)*C,t[10]=(p*w-m*b+v*y)*C,t[11]=(f*b-u*w-d*y)*C,t[12]=(s*A-o*S-l*k)*C,t[13]=(r*S-n*A+i*k)*C,t[14]=(m*x-p*_-g*y)*C,t[15]=(u*_-f*x+h*y)*C,t):null}},{}],187:[function(t,e,r){var n=t(&quot;./identity&quot;);e.exports=function(t,e,r,i){var a,o,s,l,c,u,f,h,d,p,m=e[0],g=e[1],v=e[2],y=i[0],x=i[1],b=i[2],_=r[0],w=r[1],M=r[2];return Math.abs(m-_)&lt;1e-6&amp;&amp;Math.abs(g-w)&lt;1e-6&amp;&amp;Math.abs(v-M)&lt;1e-6?n(t):(f=m-_,h=g-w,d=v-M,p=1/Math.sqrt(f*f+h*h+d*d),f*=p,h*=p,d*=p,a=x*d-b*h,o=b*f-y*d,s=y*h-x*f,(p=Math.sqrt(a*a+o*o+s*s))?(a*=p=1/p,o*=p,s*=p):(a=0,o=0,s=0),l=h*s-d*o,c=d*a-f*s,u=f*o-h*a,(p=Math.sqrt(l*l+c*c+u*u))?(l*=p=1/p,c*=p,u*=p):(l=0,c=0,u=0),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]=d,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+d*v),t[15]=1,t)}},{&quot;./identity&quot;:185}],188:[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],d=e[10],p=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+_*d+w*v,t[3]=x*o+b*u+_*p+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+_*d+w*v,t[7]=x*o+b*u+_*p+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+_*d+w*v,t[11]=x*o+b*u+_*p+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+_*d+w*v,t[15]=x*o+b*u+_*p+w*y,t}},{}],189:[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}},{}],190:[function(t,e,r){e.exports=function(t,e,r,n){var i,a,o,s,l,c,u,f,h,d,p,m,g,v,y,x,b,_,w,M,k,A,T,S,E=n[0],L=n[1],C=n[2],z=Math.sqrt(E*E+L*L+C*C);return Math.abs(z)&lt;1e-6?null:(z=1/z,E*=z,L*=z,C*=z,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],d=e[6],p=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,M=L*L*o+a,k=C*L*o+E*i,A=E*C*o+L*i,T=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+d*b+v*_,t[3]=u*x+p*b+y*_,t[4]=s*w+f*M+m*k,t[5]=l*w+h*M+g*k,t[6]=c*w+d*M+v*k,t[7]=u*w+p*M+y*k,t[8]=s*A+f*T+m*S,t[9]=l*A+h*T+g*S,t[10]=c*A+d*T+v*S,t[11]=u*A+p*T+y*S,e!==t&amp;&amp;(t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]),t)}},{}],191:[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];return e!==t&amp;&amp;(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}},{}],192:[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];return e!==t&amp;&amp;(t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]),t[0]=a*i-c*n,t[1]=o*i-u*n,t[2]=s*i-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}},{}],193:[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];return e!==t&amp;&amp;(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}},{}],194:[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}},{}],195:[function(t,e,r){e.exports=function(t,e,r){var n,i,a,o,s,l,c,u,f,h,d,p,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],d=e[10],p=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]=d,t[11]=p,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+d*v+e[14],t[15]=o*m+u*g+p*v+e[15]),t}},{}],196:[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}},{}],197:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t,e){switch(e.length){case 0:break;case 1:t[0]=1/e[0];break;case 4:n(t,e);break;case 9:i(t,e);break;case 16:a(t,e);break;default:throw new Error(&quot;currently supports matrices up to 4x4&quot;)}return t};var n=t(&quot;gl-mat2/invert&quot;),i=t(&quot;gl-mat3/invert&quot;),a=t(&quot;gl-mat4/invert&quot;)},{&quot;gl-mat2/invert&quot;:178,&quot;gl-mat3/invert&quot;:179,&quot;gl-mat4/invert&quot;:186}],198:[function(t,e,r){r.glMatrix=t(&quot;./gl-matrix/common.js&quot;),r.mat2=t(&quot;./gl-matrix/mat2.js&quot;),r.mat2d=t(&quot;./gl-matrix/mat2d.js&quot;),r.mat3=t(&quot;./gl-matrix/mat3.js&quot;),r.mat4=t(&quot;./gl-matrix/mat4.js&quot;),r.quat=t(&quot;./gl-matrix/quat.js&quot;),r.vec2=t(&quot;./gl-matrix/vec2.js&quot;),r.vec3=t(&quot;./gl-matrix/vec3.js&quot;),r.vec4=t(&quot;./gl-matrix/vec4.js&quot;)},{&quot;./gl-matrix/common.js&quot;:199,&quot;./gl-matrix/mat2.js&quot;:200,&quot;./gl-matrix/mat2d.js&quot;:201,&quot;./gl-matrix/mat3.js&quot;:202,&quot;./gl-matrix/mat4.js&quot;:203,&quot;./gl-matrix/quat.js&quot;:204,&quot;./gl-matrix/vec2.js&quot;:205,&quot;./gl-matrix/vec3.js&quot;:206,&quot;./gl-matrix/vec4.js&quot;:207}],199:[function(t,e,r){var n={};n.EPSILON=1e-6,n.ARRAY_TYPE=&quot;undefined&quot;!=typeof Float32Array?Float32Array:Array,n.RANDOM=Math.random,n.ENABLE_SIMD=!1,n.SIMD_AVAILABLE=n.ARRAY_TYPE===Float32Array&amp;&amp;&quot;SIMD&quot;in this,n.USE_SIMD=n.ENABLE_SIMD&amp;&amp;n.SIMD_AVAILABLE,n.setMatrixArrayType=function(t){n.ARRAY_TYPE=t};var i=Math.PI/180;n.toRadian=function(t){return t*i},n.equals=function(t,e){return Math.abs(t-e)&lt;=n.EPSILON*Math.max(1,Math.abs(t),Math.abs(e))},e.exports=n},{}],200:[function(t,e,r){var n=t(&quot;./common.js&quot;),i={};i.create=function(){var t=new n.ARRAY_TYPE(4);return t[0]=1,t[1]=0,t[2]=0,t[3]=1,t},i.clone=function(t){var e=new n.ARRAY_TYPE(4);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e},i.copy=function(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t},i.identity=function(t){return t[0]=1,t[1]=0,t[2]=0,t[3]=1,t},i.fromValues=function(t,e,r,i){var a=new n.ARRAY_TYPE(4);return a[0]=t,a[1]=e,a[2]=r,a[3]=i,a},i.set=function(t,e,r,n,i){return t[0]=e,t[1]=r,t[2]=n,t[3]=i,t},i.transpose=function(t,e){if(t===e){var r=e[1];t[1]=e[2],t[2]=r}else t[0]=e[0],t[1]=e[2],t[2]=e[1],t[3]=e[3];return t},i.invert=function(t,e){var r=e[0],n=e[1],i=e[2],a=e[3],o=r*a-i*n;return o?(o=1/o,t[0]=a*o,t[1]=-n*o,t[2]=-i*o,t[3]=r*o,t):null},i.adjoint=function(t,e){var r=e[0];return t[0]=e[3],t[1]=-e[1],t[2]=-e[2],t[3]=r,t},i.determinant=function(t){return t[0]*t[3]-t[2]*t[1]},i.multiply=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=e[3],s=r[0],l=r[1],c=r[2],u=r[3];return t[0]=n*s+a*l,t[1]=i*s+o*l,t[2]=n*c+a*u,t[3]=i*c+o*u,t},i.mul=i.multiply,i.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},i.scale=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=e[3],s=r[0],l=r[1];return t[0]=n*s,t[1]=i*s,t[2]=a*l,t[3]=o*l,t},i.fromRotation=function(t,e){var r=Math.sin(e),n=Math.cos(e);return t[0]=n,t[1]=r,t[2]=-r,t[3]=n,t},i.fromScaling=function(t,e){return t[0]=e[0],t[1]=0,t[2]=0,t[3]=e[1],t},i.str=function(t){return&quot;mat2(&quot;+t[0]+&quot;, &quot;+t[1]+&quot;, &quot;+t[2]+&quot;, &quot;+t[3]+&quot;)&quot;},i.frob=function(t){return Math.sqrt(Math.pow(t[0],2)+Math.pow(t[1],2)+Math.pow(t[2],2)+Math.pow(t[3],2))},i.LDU=function(t,e,r,n){return t[2]=n[2]/n[0],r[0]=n[0],r[1]=n[1],r[3]=n[3]-t[2]*r[1],[t,e,r]},i.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[3]=e[3]+r[3],t},i.subtract=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},i.sub=i.subtract,i.exactEquals=function(t,e){return t[0]===e[0]&amp;&amp;t[1]===e[1]&amp;&amp;t[2]===e[2]&amp;&amp;t[3]===e[3]},i.equals=function(t,e){var r=t[0],i=t[1],a=t[2],o=t[3],s=e[0],l=e[1],c=e[2],u=e[3];return Math.abs(r-s)&lt;=n.EPSILON*Math.max(1,Math.abs(r),Math.abs(s))&amp;&amp;Math.abs(i-l)&lt;=n.EPSILON*Math.max(1,Math.abs(i),Math.abs(l))&amp;&amp;Math.abs(a-c)&lt;=n.EPSILON*Math.max(1,Math.abs(a),Math.abs(c))&amp;&amp;Math.abs(o-u)&lt;=n.EPSILON*Math.max(1,Math.abs(o),Math.abs(u))},i.multiplyScalar=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},i.multiplyScalarAndAdd=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},e.exports=i},{&quot;./common.js&quot;:199}],201:[function(t,e,r){var n=t(&quot;./common.js&quot;),i={};i.create=function(){var t=new n.ARRAY_TYPE(6);return t[0]=1,t[1]=0,t[2]=0,t[3]=1,t[4]=0,t[5]=0,t},i.clone=function(t){var e=new n.ARRAY_TYPE(6);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},i.copy=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},i.identity=function(t){return t[0]=1,t[1]=0,t[2]=0,t[3]=1,t[4]=0,t[5]=0,t},i.fromValues=function(t,e,r,i,a,o){var s=new n.ARRAY_TYPE(6);return s[0]=t,s[1]=e,s[2]=r,s[3]=i,s[4]=a,s[5]=o,s},i.set=function(t,e,r,n,i,a,o){return t[0]=e,t[1]=r,t[2]=n,t[3]=i,t[4]=a,t[5]=o,t},i.invert=function(t,e){var r=e[0],n=e[1],i=e[2],a=e[3],o=e[4],s=e[5],l=r*a-n*i;return l?(l=1/l,t[0]=a*l,t[1]=-n*l,t[2]=-i*l,t[3]=r*l,t[4]=(i*s-a*o)*l,t[5]=(n*o-r*s)*l,t):null},i.determinant=function(t){return t[0]*t[3]-t[1]*t[2]},i.multiply=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=e[3],s=e[4],l=e[5],c=r[0],u=r[1],f=r[2],h=r[3],d=r[4],p=r[5];return t[0]=n*c+a*u,t[1]=i*c+o*u,t[2]=n*f+a*h,t[3]=i*f+o*h,t[4]=n*d+a*p+s,t[5]=i*d+o*p+l,t},i.mul=i.multiply,i.rotate=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=e[3],s=e[4],l=e[5],c=Math.sin(r),u=Math.cos(r);return t[0]=n*u+a*c,t[1]=i*u+o*c,t[2]=n*-c+a*u,t[3]=i*-c+o*u,t[4]=s,t[5]=l,t},i.scale=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=e[3],s=e[4],l=e[5],c=r[0],u=r[1];return t[0]=n*c,t[1]=i*c,t[2]=a*u,t[3]=o*u,t[4]=s,t[5]=l,t},i.translate=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=e[3],s=e[4],l=e[5],c=r[0],u=r[1];return t[0]=n,t[1]=i,t[2]=a,t[3]=o,t[4]=n*c+a*u+s,t[5]=i*c+o*u+l,t},i.fromRotation=function(t,e){var r=Math.sin(e),n=Math.cos(e);return t[0]=n,t[1]=r,t[2]=-r,t[3]=n,t[4]=0,t[5]=0,t},i.fromScaling=function(t,e){return t[0]=e[0],t[1]=0,t[2]=0,t[3]=e[1],t[4]=0,t[5]=0,t},i.fromTranslation=function(t,e){return t[0]=1,t[1]=0,t[2]=0,t[3]=1,t[4]=e[0],t[5]=e[1],t},i.str=function(t){return&quot;mat2d(&quot;+t[0]+&quot;, &quot;+t[1]+&quot;, &quot;+t[2]+&quot;, &quot;+t[3]+&quot;, &quot;+t[4]+&quot;, &quot;+t[5]+&quot;)&quot;},i.frob=function(t){return Math.sqrt(Math.pow(t[0],2)+Math.pow(t[1],2)+Math.pow(t[2],2)+Math.pow(t[3],2)+Math.pow(t[4],2)+Math.pow(t[5],2)+1)},i.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[3]=e[3]+r[3],t[4]=e[4]+r[4],t[5]=e[5]+r[5],t},i.subtract=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[4]=e[4]-r[4],t[5]=e[5]-r[5],t},i.sub=i.subtract,i.multiplyScalar=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[4]=e[4]*r,t[5]=e[5]*r,t},i.multiplyScalarAndAdd=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[4]=e[4]+r[4]*n,t[5]=e[5]+r[5]*n,t},i.exactEquals=function(t,e){return t[0]===e[0]&amp;&amp;t[1]===e[1]&amp;&amp;t[2]===e[2]&amp;&amp;t[3]===e[3]&amp;&amp;t[4]===e[4]&amp;&amp;t[5]===e[5]},i.equals=function(t,e){var r=t[0],i=t[1],a=t[2],o=t[3],s=t[4],l=t[5],c=e[0],u=e[1],f=e[2],h=e[3],d=e[4],p=e[5];return Math.abs(r-c)&lt;=n.EPSILON*Math.max(1,Math.abs(r),Math.abs(c))&amp;&amp;Math.abs(i-u)&lt;=n.EPSILON*Math.max(1,Math.abs(i),Math.abs(u))&amp;&amp;Math.abs(a-f)&lt;=n.EPSILON*Math.max(1,Math.abs(a),Math.abs(f))&amp;&amp;Math.abs(o-h)&lt;=n.EPSILON*Math.max(1,Math.abs(o),Math.abs(h))&amp;&amp;Math.abs(s-d)&lt;=n.EPSILON*Math.max(1,Math.abs(s),Math.abs(d))&amp;&amp;Math.abs(l-p)&lt;=n.EPSILON*Math.max(1,Math.abs(l),Math.abs(p))},e.exports=i},{&quot;./common.js&quot;:199}],202:[function(t,e,r){var n=t(&quot;./common.js&quot;),i={};i.create=function(){var t=new n.ARRAY_TYPE(9);return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=1,t[5]=0,t[6]=0,t[7]=0,t[8]=1,t},i.fromMat4=function(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[4],t[4]=e[5],t[5]=e[6],t[6]=e[8],t[7]=e[9],t[8]=e[10],t},i.clone=function(t){var e=new n.ARRAY_TYPE(9);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},i.copy=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},i.fromValues=function(t,e,r,i,a,o,s,l,c){var u=new n.ARRAY_TYPE(9);return u[0]=t,u[1]=e,u[2]=r,u[3]=i,u[4]=a,u[5]=o,u[6]=s,u[7]=l,u[8]=c,u},i.set=function(t,e,r,n,i,a,o,s,l,c){return t[0]=e,t[1]=r,t[2]=n,t[3]=i,t[4]=a,t[5]=o,t[6]=s,t[7]=l,t[8]=c,t},i.identity=function(t){return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=1,t[5]=0,t[6]=0,t[7]=0,t[8]=1,t},i.transpose=function(t,e){if(t===e){var r=e[1],n=e[2],i=e[5];t[1]=e[3],t[2]=e[6],t[3]=r,t[5]=e[7],t[6]=n,t[7]=i}else t[0]=e[0],t[1]=e[3],t[2]=e[6],t[3]=e[1],t[4]=e[4],t[5]=e[7],t[6]=e[2],t[7]=e[5],t[8]=e[8];return t},i.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=u*o-s*c,h=-u*a+s*l,d=c*a-o*l,p=r*f+n*h+i*d;return p?(p=1/p,t[0]=f*p,t[1]=(-u*n+i*c)*p,t[2]=(s*n-i*o)*p,t[3]=h*p,t[4]=(u*r-i*l)*p,t[5]=(-s*r+i*a)*p,t[6]=d*p,t[7]=(-c*r+n*l)*p,t[8]=(o*r-n*a)*p,t):null},i.adjoint=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];return t[0]=o*u-s*c,t[1]=i*c-n*u,t[2]=n*s-i*o,t[3]=s*l-a*u,t[4]=r*u-i*l,t[5]=i*a-r*s,t[6]=a*c-o*l,t[7]=n*l-r*c,t[8]=r*o-n*a,t},i.determinant=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];return e*(c*a-o*l)+r*(-c*i+o*s)+n*(l*i-a*s)},i.multiply=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=r[0],d=r[1],p=r[2],m=r[3],g=r[4],v=r[5],y=r[6],x=r[7],b=r[8];return t[0]=h*n+d*o+p*c,t[1]=h*i+d*s+p*u,t[2]=h*a+d*l+p*f,t[3]=m*n+g*o+v*c,t[4]=m*i+g*s+v*u,t[5]=m*a+g*l+v*f,t[6]=y*n+x*o+b*c,t[7]=y*i+x*s+b*u,t[8]=y*a+x*l+b*f,t},i.mul=i.multiply,i.translate=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=r[0],d=r[1];return t[0]=n,t[1]=i,t[2]=a,t[3]=o,t[4]=s,t[5]=l,t[6]=h*n+d*o+c,t[7]=h*i+d*s+u,t[8]=h*a+d*l+f,t},i.rotate=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=Math.sin(r),d=Math.cos(r);return t[0]=d*n+h*o,t[1]=d*i+h*s,t[2]=d*a+h*l,t[3]=d*o-h*n,t[4]=d*s-h*i,t[5]=d*l-h*a,t[6]=c,t[7]=u,t[8]=f,t},i.scale=function(t,e,r){var n=r[0],i=r[1];return t[0]=n*e[0],t[1]=n*e[1],t[2]=n*e[2],t[3]=i*e[3],t[4]=i*e[4],t[5]=i*e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t},i.fromTranslation=function(t,e){return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=1,t[5]=0,t[6]=e[0],t[7]=e[1],t[8]=1,t},i.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},i.fromScaling=function(t,e){return t[0]=e[0],t[1]=0,t[2]=0,t[3]=0,t[4]=e[1],t[5]=0,t[6]=0,t[7]=0,t[8]=1,t},i.fromMat2d=function(t,e){return t[0]=e[0],t[1]=e[1],t[2]=0,t[3]=e[2],t[4]=e[3],t[5]=0,t[6]=e[4],t[7]=e[5],t[8]=1,t},i.fromQuat=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,d=i*s,p=i*l,m=a*o,g=a*s,v=a*l;return t[0]=1-f-p,t[3]=u-v,t[6]=h+g,t[1]=u+v,t[4]=1-c-p,t[7]=d-m,t[2]=h-g,t[5]=d+m,t[8]=1-c-f,t},i.normalFromMat4=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],d=e[11],p=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,M=i*c-a*l,k=u*m-f*p,A=u*g-h*p,T=u*v-d*p,S=f*g-h*m,E=f*v-d*m,L=h*v-d*g,C=y*L-x*E+b*S+_*T-w*A+M*k;return C?(C=1/C,t[0]=(s*L-l*E+c*S)*C,t[1]=(l*T-o*L-c*A)*C,t[2]=(o*E-s*T+c*k)*C,t[3]=(i*E-n*L-a*S)*C,t[4]=(r*L-i*T+a*A)*C,t[5]=(n*T-r*E-a*k)*C,t[6]=(m*M-g*w+v*_)*C,t[7]=(g*b-p*M-v*x)*C,t[8]=(p*w-m*b+v*y)*C,t):null},i.str=function(t){return&quot;mat3(&quot;+t[0]+&quot;, &quot;+t[1]+&quot;, &quot;+t[2]+&quot;, &quot;+t[3]+&quot;, &quot;+t[4]+&quot;, &quot;+t[5]+&quot;, &quot;+t[6]+&quot;, &quot;+t[7]+&quot;, &quot;+t[8]+&quot;)&quot;},i.frob=function(t){return Math.sqrt(Math.pow(t[0],2)+Math.pow(t[1],2)+Math.pow(t[2],2)+Math.pow(t[3],2)+Math.pow(t[4],2)+Math.pow(t[5],2)+Math.pow(t[6],2)+Math.pow(t[7],2)+Math.pow(t[8],2))},i.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[3]=e[3]+r[3],t[4]=e[4]+r[4],t[5]=e[5]+r[5],t[6]=e[6]+r[6],t[7]=e[7]+r[7],t[8]=e[8]+r[8],t},i.subtract=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[4]=e[4]-r[4],t[5]=e[5]-r[5],t[6]=e[6]-r[6],t[7]=e[7]-r[7],t[8]=e[8]-r[8],t},i.sub=i.subtract,i.multiplyScalar=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[4]=e[4]*r,t[5]=e[5]*r,t[6]=e[6]*r,t[7]=e[7]*r,t[8]=e[8]*r,t},i.multiplyScalarAndAdd=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[4]=e[4]+r[4]*n,t[5]=e[5]+r[5]*n,t[6]=e[6]+r[6]*n,t[7]=e[7]+r[7]*n,t[8]=e[8]+r[8]*n,t},i.exactEquals=function(t,e){return t[0]===e[0]&amp;&amp;t[1]===e[1]&amp;&amp;t[2]===e[2]&amp;&amp;t[3]===e[3]&amp;&amp;t[4]===e[4]&amp;&amp;t[5]===e[5]&amp;&amp;t[6]===e[6]&amp;&amp;t[7]===e[7]&amp;&amp;t[8]===e[8]},i.equals=function(t,e){var r=t[0],i=t[1],a=t[2],o=t[3],s=t[4],l=t[5],c=t[6],u=t[7],f=t[8],h=e[0],d=e[1],p=e[2],m=e[3],g=e[4],v=e[5],y=t[6],x=e[7],b=e[8];return Math.abs(r-h)&lt;=n.EPSILON*Math.max(1,Math.abs(r),Math.abs(h))&amp;&amp;Math.abs(i-d)&lt;=n.EPSILON*Math.max(1,Math.abs(i),Math.abs(d))&amp;&amp;Math.abs(a-p)&lt;=n.EPSILON*Math.max(1,Math.abs(a),Math.abs(p))&amp;&amp;Math.abs(o-m)&lt;=n.EPSILON*Math.max(1,Math.abs(o),Math.abs(m))&amp;&amp;Math.abs(s-g)&lt;=n.EPSILON*Math.max(1,Math.abs(s),Math.abs(g))&amp;&amp;Math.abs(l-v)&lt;=n.EPSILON*Math.max(1,Math.abs(l),Math.abs(v))&amp;&amp;Math.abs(c-y)&lt;=n.EPSILON*Math.max(1,Math.abs(c),Math.abs(y))&amp;&amp;Math.abs(u-x)&lt;=n.EPSILON*Math.max(1,Math.abs(u),Math.abs(x))&amp;&amp;Math.abs(f-b)&lt;=n.EPSILON*Math.max(1,Math.abs(f),Math.abs(b))},e.exports=i},{&quot;./common.js&quot;:199}],203:[function(t,e,r){var n=t(&quot;./common.js&quot;),i={scalar:{},SIMD:{}};i.create=function(){var t=new n.ARRAY_TYPE(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},i.clone=function(t){var e=new n.ARRAY_TYPE(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},i.copy=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},i.fromValues=function(t,e,r,i,a,o,s,l,c,u,f,h,d,p,m,g){var v=new n.ARRAY_TYPE(16);return v[0]=t,v[1]=e,v[2]=r,v[3]=i,v[4]=a,v[5]=o,v[6]=s,v[7]=l,v[8]=c,v[9]=u,v[10]=f,v[11]=h,v[12]=d,v[13]=p,v[14]=m,v[15]=g,v},i.set=function(t,e,r,n,i,a,o,s,l,c,u,f,h,d,p,m,g){return t[0]=e,t[1]=r,t[2]=n,t[3]=i,t[4]=a,t[5]=o,t[6]=s,t[7]=l,t[8]=c,t[9]=u,t[10]=f,t[11]=h,t[12]=d,t[13]=p,t[14]=m,t[15]=g,t},i.identity=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},i.scalar.transpose=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},i.SIMD.transpose=function(t,e){var r,n,i,a,o,s,l,c,u,f;return r=SIMD.Float32x4.load(e,0),n=SIMD.Float32x4.load(e,4),i=SIMD.Float32x4.load(e,8),a=SIMD.Float32x4.load(e,12),o=SIMD.Float32x4.shuffle(r,n,0,1,4,5),s=SIMD.Float32x4.shuffle(i,a,0,1,4,5),l=SIMD.Float32x4.shuffle(o,s,0,2,4,6),c=SIMD.Float32x4.shuffle(o,s,1,3,5,7),SIMD.Float32x4.store(t,0,l),SIMD.Float32x4.store(t,4,c),o=SIMD.Float32x4.shuffle(r,n,2,3,6,7),s=SIMD.Float32x4.shuffle(i,a,2,3,6,7),u=SIMD.Float32x4.shuffle(o,s,0,2,4,6),f=SIMD.Float32x4.shuffle(o,s,1,3,5,7),SIMD.Float32x4.store(t,8,u),SIMD.Float32x4.store(t,12,f),t},i.transpose=n.USE_SIMD?i.SIMD.transpose:i.scalar.transpose,i.scalar.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],d=e[11],p=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,M=i*c-a*l,k=u*m-f*p,A=u*g-h*p,T=u*v-d*p,S=f*g-h*m,E=f*v-d*m,L=h*v-d*g,C=y*L-x*E+b*S+_*T-w*A+M*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*M-g*w+v*_)*C,t[3]=(h*w-f*M-d*_)*C,t[4]=(l*T-o*L-c*A)*C,t[5]=(r*L-i*T+a*A)*C,t[6]=(g*b-p*M-v*x)*C,t[7]=(u*M-h*b+d*x)*C,t[8]=(o*E-s*T+c*k)*C,t[9]=(n*T-r*E-a*k)*C,t[10]=(p*w-m*b+v*y)*C,t[11]=(f*b-u*w-d*y)*C,t[12]=(s*A-o*S-l*k)*C,t[13]=(r*S-n*A+i*k)*C,t[14]=(m*x-p*_-g*y)*C,t[15]=(u*_-f*x+h*y)*C,t):null},i.SIMD.invert=function(t,e){var r,n,i,a,o,s,l,c,u,f,h=SIMD.Float32x4.load(e,0),d=SIMD.Float32x4.load(e,4),p=SIMD.Float32x4.load(e,8),m=SIMD.Float32x4.load(e,12);return o=SIMD.Float32x4.shuffle(h,d,0,1,4,5),n=SIMD.Float32x4.shuffle(p,m,0,1,4,5),r=SIMD.Float32x4.shuffle(o,n,0,2,4,6),n=SIMD.Float32x4.shuffle(n,o,1,3,5,7),o=SIMD.Float32x4.shuffle(h,d,2,3,6,7),a=SIMD.Float32x4.shuffle(p,m,2,3,6,7),i=SIMD.Float32x4.shuffle(o,a,0,2,4,6),a=SIMD.Float32x4.shuffle(a,o,1,3,5,7),o=SIMD.Float32x4.mul(i,a),o=SIMD.Float32x4.swizzle(o,1,0,3,2),s=SIMD.Float32x4.mul(n,o),l=SIMD.Float32x4.mul(r,o),o=SIMD.Float32x4.swizzle(o,2,3,0,1),s=SIMD.Float32x4.sub(SIMD.Float32x4.mul(n,o),s),l=SIMD.Float32x4.sub(SIMD.Float32x4.mul(r,o),l),l=SIMD.Float32x4.swizzle(l,2,3,0,1),o=SIMD.Float32x4.mul(n,i),o=SIMD.Float32x4.swizzle(o,1,0,3,2),s=SIMD.Float32x4.add(SIMD.Float32x4.mul(a,o),s),u=SIMD.Float32x4.mul(r,o),o=SIMD.Float32x4.swizzle(o,2,3,0,1),s=SIMD.Float32x4.sub(s,SIMD.Float32x4.mul(a,o)),u=SIMD.Float32x4.sub(SIMD.Float32x4.mul(r,o),u),u=SIMD.Float32x4.swizzle(u,2,3,0,1),o=SIMD.Float32x4.mul(SIMD.Float32x4.swizzle(n,2,3,0,1),a),o=SIMD.Float32x4.swizzle(o,1,0,3,2),i=SIMD.Float32x4.swizzle(i,2,3,0,1),s=SIMD.Float32x4.add(SIMD.Float32x4.mul(i,o),s),c=SIMD.Float32x4.mul(r,o),o=SIMD.Float32x4.swizzle(o,2,3,0,1),s=SIMD.Float32x4.sub(s,SIMD.Float32x4.mul(i,o)),c=SIMD.Float32x4.sub(SIMD.Float32x4.mul(r,o),c),c=SIMD.Float32x4.swizzle(c,2,3,0,1),o=SIMD.Float32x4.mul(r,n),o=SIMD.Float32x4.swizzle(o,1,0,3,2),c=SIMD.Float32x4.add(SIMD.Float32x4.mul(a,o),c),u=SIMD.Float32x4.sub(SIMD.Float32x4.mul(i,o),u),o=SIMD.Float32x4.swizzle(o,2,3,0,1),c=SIMD.Float32x4.sub(SIMD.Float32x4.mul(a,o),c),u=SIMD.Float32x4.sub(u,SIMD.Float32x4.mul(i,o)),o=SIMD.Float32x4.mul(r,a),o=SIMD.Float32x4.swizzle(o,1,0,3,2),l=SIMD.Float32x4.sub(l,SIMD.Float32x4.mul(i,o)),c=SIMD.Float32x4.add(SIMD.Float32x4.mul(n,o),c),o=SIMD.Float32x4.swizzle(o,2,3,0,1),l=SIMD.Float32x4.add(SIMD.Float32x4.mul(i,o),l),c=SIMD.Float32x4.sub(c,SIMD.Float32x4.mul(n,o)),o=SIMD.Float32x4.mul(r,i),o=SIMD.Float32x4.swizzle(o,1,0,3,2),l=SIMD.Float32x4.add(SIMD.Float32x4.mul(a,o),l),u=SIMD.Float32x4.sub(u,SIMD.Float32x4.mul(n,o)),o=SIMD.Float32x4.swizzle(o,2,3,0,1),l=SIMD.Float32x4.sub(l,SIMD.Float32x4.mul(a,o)),u=SIMD.Float32x4.add(SIMD.Float32x4.mul(n,o),u),f=SIMD.Float32x4.mul(r,s),f=SIMD.Float32x4.add(SIMD.Float32x4.swizzle(f,2,3,0,1),f),f=SIMD.Float32x4.add(SIMD.Float32x4.swizzle(f,1,0,3,2),f),o=SIMD.Float32x4.reciprocalApproximation(f),f=SIMD.Float32x4.sub(SIMD.Float32x4.add(o,o),SIMD.Float32x4.mul(f,SIMD.Float32x4.mul(o,o))),(f=SIMD.Float32x4.swizzle(f,0,0,0,0))?(SIMD.Float32x4.store(t,0,SIMD.Float32x4.mul(f,s)),SIMD.Float32x4.store(t,4,SIMD.Float32x4.mul(f,l)),SIMD.Float32x4.store(t,8,SIMD.Float32x4.mul(f,c)),SIMD.Float32x4.store(t,12,SIMD.Float32x4.mul(f,u)),t):null},i.invert=n.USE_SIMD?i.SIMD.invert:i.scalar.invert,i.scalar.adjoint=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],d=e[11],p=e[12],m=e[13],g=e[14],v=e[15];return t[0]=s*(h*v-d*g)-f*(l*v-c*g)+m*(l*d-c*h),t[1]=-(n*(h*v-d*g)-f*(i*v-a*g)+m*(i*d-a*h)),t[2]=n*(l*v-c*g)-s*(i*v-a*g)+m*(i*c-a*l),t[3]=-(n*(l*d-c*h)-s*(i*d-a*h)+f*(i*c-a*l)),t[4]=-(o*(h*v-d*g)-u*(l*v-c*g)+p*(l*d-c*h)),t[5]=r*(h*v-d*g)-u*(i*v-a*g)+p*(i*d-a*h),t[6]=-(r*(l*v-c*g)-o*(i*v-a*g)+p*(i*c-a*l)),t[7]=r*(l*d-c*h)-o*(i*d-a*h)+u*(i*c-a*l),t[8]=o*(f*v-d*m)-u*(s*v-c*m)+p*(s*d-c*f),t[9]=-(r*(f*v-d*m)-u*(n*v-a*m)+p*(n*d-a*f)),t[10]=r*(s*v-c*m)-o*(n*v-a*m)+p*(n*c-a*s),t[11]=-(r*(s*d-c*f)-o*(n*d-a*f)+u*(n*c-a*s)),t[12]=-(o*(f*g-h*m)-u*(s*g-l*m)+p*(s*h-l*f)),t[13]=r*(f*g-h*m)-u*(n*g-i*m)+p*(n*h-i*f),t[14]=-(r*(s*g-l*m)-o*(n*g-i*m)+p*(n*l-i*s)),t[15]=r*(s*h-l*f)-o*(n*h-i*f)+u*(n*l-i*s),t},i.SIMD.adjoint=function(t,e){var r,n,i,a,o,s,l,c,u,f=SIMD.Float32x4.load(e,0),h=SIMD.Float32x4.load(e,4),d=SIMD.Float32x4.load(e,8),p=SIMD.Float32x4.load(e,12);return o=SIMD.Float32x4.shuffle(f,h,0,1,4,5),n=SIMD.Float32x4.shuffle(d,p,0,1,4,5),r=SIMD.Float32x4.shuffle(o,n,0,2,4,6),n=SIMD.Float32x4.shuffle(n,o,1,3,5,7),o=SIMD.Float32x4.shuffle(f,h,2,3,6,7),a=SIMD.Float32x4.shuffle(d,p,2,3,6,7),i=SIMD.Float32x4.shuffle(o,a,0,2,4,6),a=SIMD.Float32x4.shuffle(a,o,1,3,5,7),o=SIMD.Float32x4.mul(i,a),o=SIMD.Float32x4.swizzle(o,1,0,3,2),s=SIMD.Float32x4.mul(n,o),l=SIMD.Float32x4.mul(r,o),o=SIMD.Float32x4.swizzle(o,2,3,0,1),s=SIMD.Float32x4.sub(SIMD.Float32x4.mul(n,o),s),l=SIMD.Float32x4.sub(SIMD.Float32x4.mul(r,o),l),l=SIMD.Float32x4.swizzle(l,2,3,0,1),o=SIMD.Float32x4.mul(n,i),o=SIMD.Float32x4.swizzle(o,1,0,3,2),s=SIMD.Float32x4.add(SIMD.Float32x4.mul(a,o),s),u=SIMD.Float32x4.mul(r,o),o=SIMD.Float32x4.swizzle(o,2,3,0,1),s=SIMD.Float32x4.sub(s,SIMD.Float32x4.mul(a,o)),u=SIMD.Float32x4.sub(SIMD.Float32x4.mul(r,o),u),u=SIMD.Float32x4.swizzle(u,2,3,0,1),o=SIMD.Float32x4.mul(SIMD.Float32x4.swizzle(n,2,3,0,1),a),o=SIMD.Float32x4.swizzle(o,1,0,3,2),i=SIMD.Float32x4.swizzle(i,2,3,0,1),s=SIMD.Float32x4.add(SIMD.Float32x4.mul(i,o),s),c=SIMD.Float32x4.mul(r,o),o=SIMD.Float32x4.swizzle(o,2,3,0,1),s=SIMD.Float32x4.sub(s,SIMD.Float32x4.mul(i,o)),c=SIMD.Float32x4.sub(SIMD.Float32x4.mul(r,o),c),c=SIMD.Float32x4.swizzle(c,2,3,0,1),o=SIMD.Float32x4.mul(r,n),o=SIMD.Float32x4.swizzle(o,1,0,3,2),c=SIMD.Float32x4.add(SIMD.Float32x4.mul(a,o),c),u=SIMD.Float32x4.sub(SIMD.Float32x4.mul(i,o),u),o=SIMD.Float32x4.swizzle(o,2,3,0,1),c=SIMD.Float32x4.sub(SIMD.Float32x4.mul(a,o),c),u=SIMD.Float32x4.sub(u,SIMD.Float32x4.mul(i,o)),o=SIMD.Float32x4.mul(r,a),o=SIMD.Float32x4.swizzle(o,1,0,3,2),l=SIMD.Float32x4.sub(l,SIMD.Float32x4.mul(i,o)),c=SIMD.Float32x4.add(SIMD.Float32x4.mul(n,o),c),o=SIMD.Float32x4.swizzle(o,2,3,0,1),l=SIMD.Float32x4.add(SIMD.Float32x4.mul(i,o),l),c=SIMD.Float32x4.sub(c,SIMD.Float32x4.mul(n,o)),o=SIMD.Float32x4.mul(r,i),o=SIMD.Float32x4.swizzle(o,1,0,3,2),l=SIMD.Float32x4.add(SIMD.Float32x4.mul(a,o),l),u=SIMD.Float32x4.sub(u,SIMD.Float32x4.mul(n,o)),o=SIMD.Float32x4.swizzle(o,2,3,0,1),l=SIMD.Float32x4.sub(l,SIMD.Float32x4.mul(a,o)),u=SIMD.Float32x4.add(SIMD.Float32x4.mul(n,o),u),SIMD.Float32x4.store(t,0,s),SIMD.Float32x4.store(t,4,l),SIMD.Float32x4.store(t,8,c),SIMD.Float32x4.store(t,12,u),t},i.adjoint=n.USE_SIMD?i.SIMD.adjoint:i.scalar.adjoint,i.determinant=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],d=t[12],p=t[13],m=t[14],g=t[15];return(e*o-r*a)*(f*g-h*m)-(e*s-n*a)*(u*g-h*p)+(e*l-i*a)*(u*m-f*p)+(r*s-n*o)*(c*g-h*d)-(r*l-i*o)*(c*m-f*d)+(n*l-i*s)*(c*p-u*d)},i.SIMD.multiply=function(t,e,r){var n=SIMD.Float32x4.load(e,0),i=SIMD.Float32x4.load(e,4),a=SIMD.Float32x4.load(e,8),o=SIMD.Float32x4.load(e,12),s=SIMD.Float32x4.load(r,0),l=SIMD.Float32x4.add(SIMD.Float32x4.mul(SIMD.Float32x4.swizzle(s,0,0,0,0),n),SIMD.Float32x4.add(SIMD.Float32x4.mul(SIMD.Float32x4.swizzle(s,1,1,1,1),i),SIMD.Float32x4.add(SIMD.Float32x4.mul(SIMD.Float32x4.swizzle(s,2,2,2,2),a),SIMD.Float32x4.mul(SIMD.Float32x4.swizzle(s,3,3,3,3),o))));SIMD.Float32x4.store(t,0,l);var c=SIMD.Float32x4.load(r,4),u=SIMD.Float32x4.add(SIMD.Float32x4.mul(SIMD.Float32x4.swizzle(c,0,0,0,0),n),SIMD.Float32x4.add(SIMD.Float32x4.mul(SIMD.Float32x4.swizzle(c,1,1,1,1),i),SIMD.Float32x4.add(SIMD.Float32x4.mul(SIMD.Float32x4.swizzle(c,2,2,2,2),a),SIMD.Float32x4.mul(SIMD.Float32x4.swizzle(c,3,3,3,3),o))));SIMD.Float32x4.store(t,4,u);var f=SIMD.Float32x4.load(r,8),h=SIMD.Float32x4.add(SIMD.Float32x4.mul(SIMD.Float32x4.swizzle(f,0,0,0,0),n),SIMD.Float32x4.add(SIMD.Float32x4.mul(SIMD.Float32x4.swizzle(f,1,1,1,1),i),SIMD.Float32x4.add(SIMD.Float32x4.mul(SIMD.Float32x4.swizzle(f,2,2,2,2),a),SIMD.Float32x4.mul(SIMD.Float32x4.swizzle(f,3,3,3,3),o))));SIMD.Float32x4.store(t,8,h);var d=SIMD.Float32x4.load(r,12),p=SIMD.Float32x4.add(SIMD.Float32x4.mul(SIMD.Float32x4.swizzle(d,0,0,0,0),n),SIMD.Float32x4.add(SIMD.Float32x4.mul(SIMD.Float32x4.swizzle(d,1,1,1,1),i),SIMD.Float32x4.add(SIMD.Float32x4.mul(SIMD.Float32x4.swizzle(d,2,2,2,2),a),SIMD.Float32x4.mul(SIMD.Float32x4.swizzle(d,3,3,3,3),o))));return SIMD.Float32x4.store(t,12,p),t},i.scalar.multiply=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],d=e[10],p=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+_*d+w*v,t[3]=x*o+b*u+_*p+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+_*d+w*v,t[7]=x*o+b*u+_*p+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+_*d+w*v,t[11]=x*o+b*u+_*p+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+_*d+w*v,t[15]=x*o+b*u+_*p+w*y,t},i.multiply=n.USE_SIMD?i.SIMD.multiply:i.scalar.multiply,i.mul=i.multiply,i.scalar.translate=function(t,e,r){var n,i,a,o,s,l,c,u,f,h,d,p,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],d=e[10],p=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]=d,t[11]=p,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+d*v+e[14],t[15]=o*m+u*g+p*v+e[15]),t},i.SIMD.translate=function(t,e,r){var n=SIMD.Float32x4.load(e,0),i=SIMD.Float32x4.load(e,4),a=SIMD.Float32x4.load(e,8),o=SIMD.Float32x4.load(e,12),s=SIMD.Float32x4(r[0],r[1],r[2],0);e!==t&amp;&amp;(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]),n=SIMD.Float32x4.mul(n,SIMD.Float32x4.swizzle(s,0,0,0,0)),i=SIMD.Float32x4.mul(i,SIMD.Float32x4.swizzle(s,1,1,1,1)),a=SIMD.Float32x4.mul(a,SIMD.Float32x4.swizzle(s,2,2,2,2));var l=SIMD.Float32x4.add(n,SIMD.Float32x4.add(i,SIMD.Float32x4.add(a,o)));return SIMD.Float32x4.store(t,12,l),t},i.translate=n.USE_SIMD?i.SIMD.translate:i.scalar.translate,i.scalar.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},i.SIMD.scale=function(t,e,r){var n,i,a,o=SIMD.Float32x4(r[0],r[1],r[2],0);return n=SIMD.Float32x4.load(e,0),SIMD.Float32x4.store(t,0,SIMD.Float32x4.mul(n,SIMD.Float32x4.swizzle(o,0,0,0,0))),i=SIMD.Float32x4.load(e,4),SIMD.Float32x4.store(t,4,SIMD.Float32x4.mul(i,SIMD.Float32x4.swizzle(o,1,1,1,1))),a=SIMD.Float32x4.load(e,8),SIMD.Float32x4.store(t,8,SIMD.Float32x4.mul(a,SIMD.Float32x4.swizzle(o,2,2,2,2))),t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t},i.scale=n.USE_SIMD?i.SIMD.scale:i.scalar.scale,i.rotate=function(t,e,r,i){var a,o,s,l,c,u,f,h,d,p,m,g,v,y,x,b,_,w,M,k,A,T,S,E,L=i[0],C=i[1],z=i[2],D=Math.sqrt(L*L+C*C+z*z);return Math.abs(D)&lt;n.EPSILON?null:(D=1/D,L*=D,C*=D,z*=D,a=Math.sin(r),o=Math.cos(r),s=1-o,l=e[0],c=e[1],u=e[2],f=e[3],h=e[4],d=e[5],p=e[6],m=e[7],g=e[8],v=e[9],y=e[10],x=e[11],b=L*L*s+o,_=C*L*s+z*a,w=z*L*s-C*a,M=L*C*s-z*a,k=C*C*s+o,A=z*C*s+L*a,T=L*z*s+C*a,S=C*z*s-L*a,E=z*z*s+o,t[0]=l*b+h*_+g*w,t[1]=c*b+d*_+v*w,t[2]=u*b+p*_+y*w,t[3]=f*b+m*_+x*w,t[4]=l*M+h*k+g*A,t[5]=c*M+d*k+v*A,t[6]=u*M+p*k+y*A,t[7]=f*M+m*k+x*A,t[8]=l*T+h*S+g*E,t[9]=c*T+d*S+v*E,t[10]=u*T+p*S+y*E,t[11]=f*T+m*S+x*E,e!==t&amp;&amp;(t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]),t)},i.scalar.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&amp;&amp;(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},i.SIMD.rotateX=function(t,e,r){var n=SIMD.Float32x4.splat(Math.sin(r)),i=SIMD.Float32x4.splat(Math.cos(r));e!==t&amp;&amp;(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]);var a=SIMD.Float32x4.load(e,4),o=SIMD.Float32x4.load(e,8);return SIMD.Float32x4.store(t,4,SIMD.Float32x4.add(SIMD.Float32x4.mul(a,i),SIMD.Float32x4.mul(o,n))),SIMD.Float32x4.store(t,8,SIMD.Float32x4.sub(SIMD.Float32x4.mul(o,i),SIMD.Float32x4.mul(a,n))),t},i.rotateX=n.USE_SIMD?i.SIMD.rotateX:i.scalar.rotateX,i.scalar.rotateY=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];return e!==t&amp;&amp;(t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]),t[0]=a*i-c*n,t[1]=o*i-u*n,t[2]=s*i-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},i.SIMD.rotateY=function(t,e,r){var n=SIMD.Float32x4.splat(Math.sin(r)),i=SIMD.Float32x4.splat(Math.cos(r));e!==t&amp;&amp;(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]);var a=SIMD.Float32x4.load(e,0),o=SIMD.Float32x4.load(e,8);return SIMD.Float32x4.store(t,0,SIMD.Float32x4.sub(SIMD.Float32x4.mul(a,i),SIMD.Float32x4.mul(o,n))),SIMD.Float32x4.store(t,8,SIMD.Float32x4.add(SIMD.Float32x4.mul(a,n),SIMD.Float32x4.mul(o,i))),t},i.rotateY=n.USE_SIMD?i.SIMD.rotateY:i.scalar.rotateY,i.scalar.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&amp;&amp;(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},i.SIMD.rotateZ=function(t,e,r){var n=SIMD.Float32x4.splat(Math.sin(r)),i=SIMD.Float32x4.splat(Math.cos(r));e!==t&amp;&amp;(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]);var a=SIMD.Float32x4.load(e,0),o=SIMD.Float32x4.load(e,4);return SIMD.Float32x4.store(t,0,SIMD.Float32x4.add(SIMD.Float32x4.mul(a,i),SIMD.Float32x4.mul(o,n))),SIMD.Float32x4.store(t,4,SIMD.Float32x4.sub(SIMD.Float32x4.mul(o,i),SIMD.Float32x4.mul(a,n))),t},i.rotateZ=n.USE_SIMD?i.SIMD.rotateZ:i.scalar.rotateZ,i.fromTranslation=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},i.fromScaling=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},i.fromRotation=function(t,e,r){var i,a,o,s=r[0],l=r[1],c=r[2],u=Math.sqrt(s*s+l*l+c*c);return Math.abs(u)&lt;n.EPSILON?null:(u=1/u,s*=u,l*=u,c*=u,i=Math.sin(e),a=Math.cos(e),o=1-a,t[0]=s*s*o+a,t[1]=l*s*o+c*i,t[2]=c*s*o-l*i,t[3]=0,t[4]=s*l*o-c*i,t[5]=l*l*o+a,t[6]=c*l*o+s*i,t[7]=0,t[8]=s*c*o+l*i,t[9]=l*c*o-s*i,t[10]=c*c*o+a,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t)},i.fromXRotation=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},i.fromYRotation=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},i.fromZRotation=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},i.fromRotationTranslation=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,d=i*l,p=i*c,m=a*c,g=o*s,v=o*l,y=o*c;return t[0]=1-(d+m),t[1]=f+y,t[2]=h-v,t[3]=0,t[4]=f-y,t[5]=1-(u+m),t[6]=p+g,t[7]=0,t[8]=h+v,t[9]=p-g,t[10]=1-(u+d),t[11]=0,t[12]=r[0],t[13]=r[1],t[14]=r[2],t[15]=1,t},i.getTranslation=function(t,e){return t[0]=e[12],t[1]=e[13],t[2]=e[14],t},i.getRotation=function(t,e){var r=e[0]+e[5]+e[10],n=0;return r&gt;0?(n=2*Math.sqrt(r+1),t[3]=.25*n,t[0]=(e[6]-e[9])/n,t[1]=(e[8]-e[2])/n,t[2]=(e[1]-e[4])/n):e[0]&gt;e[5]&amp;e[0]&gt;e[10]?(n=2*Math.sqrt(1+e[0]-e[5]-e[10]),t[3]=(e[6]-e[9])/n,t[0]=.25*n,t[1]=(e[1]+e[4])/n,t[2]=(e[8]+e[2])/n):e[5]&gt;e[10]?(n=2*Math.sqrt(1+e[5]-e[0]-e[10]),t[3]=(e[8]-e[2])/n,t[0]=(e[1]+e[4])/n,t[1]=.25*n,t[2]=(e[6]+e[9])/n):(n=2*Math.sqrt(1+e[10]-e[0]-e[5]),t[3]=(e[1]-e[4])/n,t[0]=(e[8]+e[2])/n,t[1]=(e[6]+e[9])/n,t[2]=.25*n),t},i.fromRotationTranslationScale=function(t,e,r,n){var i=e[0],a=e[1],o=e[2],s=e[3],l=i+i,c=a+a,u=o+o,f=i*l,h=i*c,d=i*u,p=a*c,m=a*u,g=o*u,v=s*l,y=s*c,x=s*u,b=n[0],_=n[1],w=n[2];return t[0]=(1-(p+g))*b,t[1]=(h+x)*b,t[2]=(d-y)*b,t[3]=0,t[4]=(h-x)*_,t[5]=(1-(f+g))*_,t[6]=(m+v)*_,t[7]=0,t[8]=(d+y)*w,t[9]=(m-v)*w,t[10]=(1-(f+p))*w,t[11]=0,t[12]=r[0],t[13]=r[1],t[14]=r[2],t[15]=1,t},i.fromRotationTranslationScaleOrigin=function(t,e,r,n,i){var a=e[0],o=e[1],s=e[2],l=e[3],c=a+a,u=o+o,f=s+s,h=a*c,d=a*u,p=a*f,m=o*u,g=o*f,v=s*f,y=l*c,x=l*u,b=l*f,_=n[0],w=n[1],M=n[2],k=i[0],A=i[1],T=i[2];return t[0]=(1-(m+v))*_,t[1]=(d+b)*_,t[2]=(p-x)*_,t[3]=0,t[4]=(d-b)*w,t[5]=(1-(h+v))*w,t[6]=(g+y)*w,t[7]=0,t[8]=(p+x)*M,t[9]=(g-y)*M,t[10]=(1-(h+m))*M,t[11]=0,t[12]=r[0]+k-(t[0]*k+t[4]*A+t[8]*T),t[13]=r[1]+A-(t[1]*k+t[5]*A+t[9]*T),t[14]=r[2]+T-(t[2]*k+t[6]*A+t[10]*T),t[15]=1,t},i.fromQuat=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,d=i*s,p=i*l,m=a*o,g=a*s,v=a*l;return t[0]=1-f-p,t[1]=u+v,t[2]=h-g,t[3]=0,t[4]=u-v,t[5]=1-c-p,t[6]=d+m,t[7]=0,t[8]=h+g,t[9]=d-m,t[10]=1-c-f,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t},i.frustum=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},i.perspective=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},i.perspectiveFromFieldOfView=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},i.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},i.lookAt=function(t,e,r,a){var o,s,l,c,u,f,h,d,p,m,g=e[0],v=e[1],y=e[2],x=a[0],b=a[1],_=a[2],w=r[0],M=r[1],k=r[2];return Math.abs(g-w)&lt;n.EPSILON&amp;&amp;Math.abs(v-M)&lt;n.EPSILON&amp;&amp;Math.abs(y-k)&lt;n.EPSILON?i.identity(t):(h=g-w,d=v-M,p=y-k,m=1/Math.sqrt(h*h+d*d+p*p),h*=m,d*=m,p*=m,o=b*p-_*d,s=_*h-x*p,l=x*d-b*h,(m=Math.sqrt(o*o+s*s+l*l))?(o*=m=1/m,s*=m,l*=m):(o=0,s=0,l=0),c=d*l-p*s,u=p*o-h*l,f=h*s-d*o,(m=Math.sqrt(c*c+u*u+f*f))?(c*=m=1/m,u*=m,f*=m):(c=0,u=0,f=0),t[0]=o,t[1]=c,t[2]=h,t[3]=0,t[4]=s,t[5]=u,t[6]=d,t[7]=0,t[8]=l,t[9]=f,t[10]=p,t[11]=0,t[12]=-(o*g+s*v+l*y),t[13]=-(c*g+u*v+f*y),t[14]=-(h*g+d*v+p*y),t[15]=1,t)},i.str=function(t){return&quot;mat4(&quot;+t[0]+&quot;, &quot;+t[1]+&quot;, &quot;+t[2]+&quot;, &quot;+t[3]+&quot;, &quot;+t[4]+&quot;, &quot;+t[5]+&quot;, &quot;+t[6]+&quot;, &quot;+t[7]+&quot;, &quot;+t[8]+&quot;, &quot;+t[9]+&quot;, &quot;+t[10]+&quot;, &quot;+t[11]+&quot;, &quot;+t[12]+&quot;, &quot;+t[13]+&quot;, &quot;+t[14]+&quot;, &quot;+t[15]+&quot;)&quot;},i.frob=function(t){return Math.sqrt(Math.pow(t[0],2)+Math.pow(t[1],2)+Math.pow(t[2],2)+Math.pow(t[3],2)+Math.pow(t[4],2)+Math.pow(t[5],2)+Math.pow(t[6],2)+Math.pow(t[7],2)+Math.pow(t[8],2)+Math.pow(t[9],2)+Math.pow(t[10],2)+Math.pow(t[11],2)+Math.pow(t[12],2)+Math.pow(t[13],2)+Math.pow(t[14],2)+Math.pow(t[15],2))},i.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[3]=e[3]+r[3],t[4]=e[4]+r[4],t[5]=e[5]+r[5],t[6]=e[6]+r[6],t[7]=e[7]+r[7],t[8]=e[8]+r[8],t[9]=e[9]+r[9],t[10]=e[10]+r[10],t[11]=e[11]+r[11],t[12]=e[12]+r[12],t[13]=e[13]+r[13],t[14]=e[14]+r[14],t[15]=e[15]+r[15],t},i.subtract=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[4]=e[4]-r[4],t[5]=e[5]-r[5],t[6]=e[6]-r[6],t[7]=e[7]-r[7],t[8]=e[8]-r[8],t[9]=e[9]-r[9],t[10]=e[10]-r[10],t[11]=e[11]-r[11],t[12]=e[12]-r[12],t[13]=e[13]-r[13],t[14]=e[14]-r[14],t[15]=e[15]-r[15],t},i.sub=i.subtract,i.multiplyScalar=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[4]=e[4]*r,t[5]=e[5]*r,t[6]=e[6]*r,t[7]=e[7]*r,t[8]=e[8]*r,t[9]=e[9]*r,t[10]=e[10]*r,t[11]=e[11]*r,t[12]=e[12]*r,t[13]=e[13]*r,t[14]=e[14]*r,t[15]=e[15]*r,t},i.multiplyScalarAndAdd=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[4]=e[4]+r[4]*n,t[5]=e[5]+r[5]*n,t[6]=e[6]+r[6]*n,t[7]=e[7]+r[7]*n,t[8]=e[8]+r[8]*n,t[9]=e[9]+r[9]*n,t[10]=e[10]+r[10]*n,t[11]=e[11]+r[11]*n,t[12]=e[12]+r[12]*n,t[13]=e[13]+r[13]*n,t[14]=e[14]+r[14]*n,t[15]=e[15]+r[15]*n,t},i.exactEquals=function(t,e){return t[0]===e[0]&amp;&amp;t[1]===e[1]&amp;&amp;t[2]===e[2]&amp;&amp;t[3]===e[3]&amp;&amp;t[4]===e[4]&amp;&amp;t[5]===e[5]&amp;&amp;t[6]===e[6]&amp;&amp;t[7]===e[7]&amp;&amp;t[8]===e[8]&amp;&amp;t[9]===e[9]&amp;&amp;t[10]===e[10]&amp;&amp;t[11]===e[11]&amp;&amp;t[12]===e[12]&amp;&amp;t[13]===e[13]&amp;&amp;t[14]===e[14]&amp;&amp;t[15]===e[15]},i.equals=function(t,e){var r=t[0],i=t[1],a=t[2],o=t[3],s=t[4],l=t[5],c=t[6],u=t[7],f=t[8],h=t[9],d=t[10],p=t[11],m=t[12],g=t[13],v=t[14],y=t[15],x=e[0],b=e[1],_=e[2],w=e[3],M=e[4],k=e[5],A=e[6],T=e[7],S=e[8],E=e[9],L=e[10],C=e[11],z=e[12],D=e[13],I=e[14],P=e[15];return Math.abs(r-x)&lt;=n.EPSILON*Math.max(1,Math.abs(r),Math.abs(x))&amp;&amp;Math.abs(i-b)&lt;=n.EPSILON*Math.max(1,Math.abs(i),Math.abs(b))&amp;&amp;Math.abs(a-_)&lt;=n.EPSILON*Math.max(1,Math.abs(a),Math.abs(_))&amp;&amp;Math.abs(o-w)&lt;=n.EPSILON*Math.max(1,Math.abs(o),Math.abs(w))&amp;&amp;Math.abs(s-M)&lt;=n.EPSILON*Math.max(1,Math.abs(s),Math.abs(M))&amp;&amp;Math.abs(l-k)&lt;=n.EPSILON*Math.max(1,Math.abs(l),Math.abs(k))&amp;&amp;Math.abs(c-A)&lt;=n.EPSILON*Math.max(1,Math.abs(c),Math.abs(A))&amp;&amp;Math.abs(u-T)&lt;=n.EPSILON*Math.max(1,Math.abs(u),Math.abs(T))&amp;&amp;Math.abs(f-S)&lt;=n.EPSILON*Math.max(1,Math.abs(f),Math.abs(S))&amp;&amp;Math.abs(h-E)&lt;=n.EPSILON*Math.max(1,Math.abs(h),Math.abs(E))&amp;&amp;Math.abs(d-L)&lt;=n.EPSILON*Math.max(1,Math.abs(d),Math.abs(L))&amp;&amp;Math.abs(p-C)&lt;=n.EPSILON*Math.max(1,Math.abs(p),Math.abs(C))&amp;&amp;Math.abs(m-z)&lt;=n.EPSILON*Math.max(1,Math.abs(m),Math.abs(z))&amp;&amp;Math.abs(g-D)&lt;=n.EPSILON*Math.max(1,Math.abs(g),Math.abs(D))&amp;&amp;Math.abs(v-I)&lt;=n.EPSILON*Math.max(1,Math.abs(v),Math.abs(I))&amp;&amp;Math.abs(y-P)&lt;=n.EPSILON*Math.max(1,Math.abs(y),Math.abs(P))},e.exports=i},{&quot;./common.js&quot;:199}],204:[function(t,e,r){var n=t(&quot;./common.js&quot;),i=t(&quot;./mat3.js&quot;),a=t(&quot;./vec3.js&quot;),o=t(&quot;./vec4.js&quot;),s={};s.create=function(){var t=new n.ARRAY_TYPE(4);return t[0]=0,t[1]=0,t[2]=0,t[3]=1,t},s.rotationTo=function(){var t=a.create(),e=a.fromValues(1,0,0),r=a.fromValues(0,1,0);return function(n,i,o){var l=a.dot(i,o);return l&lt;-.999999?(a.cross(t,e,i),a.length(t)&lt;1e-6&amp;&amp;a.cross(t,r,i),a.normalize(t,t),s.setAxisAngle(n,t,Math.PI),n):l&gt;.999999?(n[0]=0,n[1]=0,n[2]=0,n[3]=1,n):(a.cross(t,i,o),n[0]=t[0],n[1]=t[1],n[2]=t[2],n[3]=1+l,s.normalize(n,n))}}(),s.setAxes=function(){var t=i.create();return function(e,r,n,i){return t[0]=n[0],t[3]=n[1],t[6]=n[2],t[1]=i[0],t[4]=i[1],t[7]=i[2],t[2]=-r[0],t[5]=-r[1],t[8]=-r[2],s.normalize(e,s.fromMat3(e,t))}}(),s.clone=o.clone,s.fromValues=o.fromValues,s.copy=o.copy,s.set=o.set,s.identity=function(t){return t[0]=0,t[1]=0,t[2]=0,t[3]=1,t},s.setAxisAngle=function(t,e,r){r*=.5;var n=Math.sin(r);return t[0]=n*e[0],t[1]=n*e[1],t[2]=n*e[2],t[3]=Math.cos(r),t},s.getAxisAngle=function(t,e){var r=2*Math.acos(e[3]),n=Math.sin(r/2);return 0!=n?(t[0]=e[0]/n,t[1]=e[1]/n,t[2]=e[2]/n):(t[0]=1,t[1]=0,t[2]=0),r},s.add=o.add,s.multiply=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=e[3],s=r[0],l=r[1],c=r[2],u=r[3];return t[0]=n*u+o*s+i*c-a*l,t[1]=i*u+o*l+a*s-n*c,t[2]=a*u+o*c+n*l-i*s,t[3]=o*u-n*s-i*l-a*c,t},s.mul=s.multiply,s.scale=o.scale,s.rotateX=function(t,e,r){r*=.5;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+o*s,t[1]=i*l+a*s,t[2]=a*l-i*s,t[3]=o*l-n*s,t},s.rotateY=function(t,e,r){r*=.5;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]=a*l+n*s,t[3]=o*l-i*s,t},s.rotateZ=function(t,e,r){r*=.5;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+i*s,t[1]=i*l-n*s,t[2]=a*l+o*s,t[3]=o*l-a*s,t},s.calculateW=function(t,e){var r=e[0],n=e[1],i=e[2];return t[0]=r,t[1]=n,t[2]=i,t[3]=Math.sqrt(Math.abs(1-r*r-n*n-i*i)),t},s.dot=o.dot,s.lerp=o.lerp,s.slerp=function(t,e,r,n){var i,a,o,s,l,c=e[0],u=e[1],f=e[2],h=e[3],d=r[0],p=r[1],m=r[2],g=r[3];return(a=c*d+u*p+f*m+h*g)&lt;0&amp;&amp;(a=-a,d=-d,p=-p,m=-m,g=-g),1-a&gt;1e-6?(i=Math.acos(a),o=Math.sin(i),s=Math.sin((1-n)*i)/o,l=Math.sin(n*i)/o):(s=1-n,l=n),t[0]=s*c+l*d,t[1]=s*u+l*p,t[2]=s*f+l*m,t[3]=s*h+l*g,t},s.sqlerp=function(){var t=s.create(),e=s.create();return function(r,n,i,a,o,l){return s.slerp(t,n,o,l),s.slerp(e,i,a,l),s.slerp(r,t,e,2*l*(1-l)),r}}(),s.invert=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,s=o?1/o:0;return t[0]=-r*s,t[1]=-n*s,t[2]=-i*s,t[3]=a*s,t},s.conjugate=function(t,e){return t[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t[3]=e[3],t},s.length=o.length,s.len=s.length,s.squaredLength=o.squaredLength,s.sqrLen=s.squaredLength,s.normalize=o.normalize,s.fromMat3=function(t,e){var r,n=e[0]+e[4]+e[8];if(n&gt;0)r=Math.sqrt(n+1),t[3]=.5*r,r=.5/r,t[0]=(e[5]-e[7])*r,t[1]=(e[6]-e[2])*r,t[2]=(e[1]-e[3])*r;else{var i=0;e[4]&gt;e[0]&amp;&amp;(i=1),e[8]&gt;e[3*i+i]&amp;&amp;(i=2);var a=(i+1)%3,o=(i+2)%3;r=Math.sqrt(e[3*i+i]-e[3*a+a]-e[3*o+o]+1),t[i]=.5*r,r=.5/r,t[3]=(e[3*a+o]-e[3*o+a])*r,t[a]=(e[3*a+i]+e[3*i+a])*r,t[o]=(e[3*o+i]+e[3*i+o])*r}return t},s.str=function(t){return&quot;quat(&quot;+t[0]+&quot;, &quot;+t[1]+&quot;, &quot;+t[2]+&quot;, &quot;+t[3]+&quot;)&quot;},s.exactEquals=o.exactEquals,s.equals=o.equals,e.exports=s},{&quot;./common.js&quot;:199,&quot;./mat3.js&quot;:202,&quot;./vec3.js&quot;:206,&quot;./vec4.js&quot;:207}],205:[function(t,e,r){var n=t(&quot;./common.js&quot;),i={};i.create=function(){var t=new n.ARRAY_TYPE(2);return t[0]=0,t[1]=0,t},i.clone=function(t){var e=new n.ARRAY_TYPE(2);return e[0]=t[0],e[1]=t[1],e},i.fromValues=function(t,e){var r=new n.ARRAY_TYPE(2);return r[0]=t,r[1]=e,r},i.copy=function(t,e){return t[0]=e[0],t[1]=e[1],t},i.set=function(t,e,r){return t[0]=e,t[1]=r,t},i.add=function(t,e,r){return t[0]=e[0]+r[0],t[1]=e[1]+r[1],t},i.subtract=function(t,e,r){return t[0]=e[0]-r[0],t[1]=e[1]-r[1],t},i.sub=i.subtract,i.multiply=function(t,e,r){return t[0]=e[0]*r[0],t[1]=e[1]*r[1],t},i.mul=i.multiply,i.divide=function(t,e,r){return t[0]=e[0]/r[0],t[1]=e[1]/r[1],t},i.div=i.divide,i.ceil=function(t,e){return t[0]=Math.ceil(e[0]),t[1]=Math.ceil(e[1]),t},i.floor=function(t,e){return t[0]=Math.floor(e[0]),t[1]=Math.floor(e[1]),t},i.min=function(t,e,r){return t[0]=Math.min(e[0],r[0]),t[1]=Math.min(e[1],r[1]),t},i.max=function(t,e,r){return t[0]=Math.max(e[0],r[0]),t[1]=Math.max(e[1],r[1]),t},i.round=function(t,e){return t[0]=Math.round(e[0]),t[1]=Math.round(e[1]),t},i.scale=function(t,e,r){return t[0]=e[0]*r,t[1]=e[1]*r,t},i.scaleAndAdd=function(t,e,r,n){return t[0]=e[0]+r[0]*n,t[1]=e[1]+r[1]*n,t},i.distance=function(t,e){var r=e[0]-t[0],n=e[1]-t[1];return Math.sqrt(r*r+n*n)},i.dist=i.distance,i.squaredDistance=function(t,e){var r=e[0]-t[0],n=e[1]-t[1];return r*r+n*n},i.sqrDist=i.squaredDistance,i.length=function(t){var e=t[0],r=t[1];return Math.sqrt(e*e+r*r)},i.len=i.length,i.squaredLength=function(t){var e=t[0],r=t[1];return e*e+r*r},i.sqrLen=i.squaredLength,i.negate=function(t,e){return t[0]=-e[0],t[1]=-e[1],t},i.inverse=function(t,e){return t[0]=1/e[0],t[1]=1/e[1],t},i.normalize=function(t,e){var r=e[0],n=e[1],i=r*r+n*n;return i&gt;0&amp;&amp;(i=1/Math.sqrt(i),t[0]=e[0]*i,t[1]=e[1]*i),t},i.dot=function(t,e){return t[0]*e[0]+t[1]*e[1]},i.cross=function(t,e,r){var n=e[0]*r[1]-e[1]*r[0];return t[0]=t[1]=0,t[2]=n,t},i.lerp=function(t,e,r,n){var i=e[0],a=e[1];return t[0]=i+n*(r[0]-i),t[1]=a+n*(r[1]-a),t},i.random=function(t,e){e=e||1;var r=2*n.RANDOM()*Math.PI;return t[0]=Math.cos(r)*e,t[1]=Math.sin(r)*e,t},i.transformMat2=function(t,e,r){var n=e[0],i=e[1];return t[0]=r[0]*n+r[2]*i,t[1]=r[1]*n+r[3]*i,t},i.transformMat2d=function(t,e,r){var n=e[0],i=e[1];return t[0]=r[0]*n+r[2]*i+r[4],t[1]=r[1]*n+r[3]*i+r[5],t},i.transformMat3=function(t,e,r){var n=e[0],i=e[1];return t[0]=r[0]*n+r[3]*i+r[6],t[1]=r[1]*n+r[4]*i+r[7],t},i.transformMat4=function(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},i.forEach=function(){var t=i.create();return function(e,r,n,i,a,o){var s,l;for(r||(r=2),n||(n=0),l=i?Math.min(i*r+n,e.length):e.length,s=n;s&lt;l;s+=r)t[0]=e[s],t[1]=e[s+1],a(t,t,o),e[s]=t[0],e[s+1]=t[1];return e}}(),i.str=function(t){return&quot;vec2(&quot;+t[0]+&quot;, &quot;+t[1]+&quot;)&quot;},i.exactEquals=function(t,e){return t[0]===e[0]&amp;&amp;t[1]===e[1]},i.equals=function(t,e){var r=t[0],i=t[1],a=e[0],o=e[1];return Math.abs(r-a)&lt;=n.EPSILON*Math.max(1,Math.abs(r),Math.abs(a))&amp;&amp;Math.abs(i-o)&lt;=n.EPSILON*Math.max(1,Math.abs(i),Math.abs(o))},e.exports=i},{&quot;./common.js&quot;:199}],206:[function(t,e,r){var n=t(&quot;./common.js&quot;),i={};i.create=function(){var t=new n.ARRAY_TYPE(3);return t[0]=0,t[1]=0,t[2]=0,t},i.clone=function(t){var e=new n.ARRAY_TYPE(3);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e},i.fromValues=function(t,e,r){var i=new n.ARRAY_TYPE(3);return i[0]=t,i[1]=e,i[2]=r,i},i.copy=function(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t},i.set=function(t,e,r,n){return t[0]=e,t[1]=r,t[2]=n,t},i.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},i.subtract=function(t,e,r){return t[0]=e[0]-r[0],t[1]=e[1]-r[1],t[2]=e[2]-r[2],t},i.sub=i.subtract,i.multiply=function(t,e,r){return t[0]=e[0]*r[0],t[1]=e[1]*r[1],t[2]=e[2]*r[2],t},i.mul=i.multiply,i.divide=function(t,e,r){return t[0]=e[0]/r[0],t[1]=e[1]/r[1],t[2]=e[2]/r[2],t},i.div=i.divide,i.ceil=function(t,e){return t[0]=Math.ceil(e[0]),t[1]=Math.ceil(e[1]),t[2]=Math.ceil(e[2]),t},i.floor=function(t,e){return t[0]=Math.floor(e[0]),t[1]=Math.floor(e[1]),t[2]=Math.floor(e[2]),t},i.min=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},i.max=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},i.round=function(t,e){return t[0]=Math.round(e[0]),t[1]=Math.round(e[1]),t[2]=Math.round(e[2]),t},i.scale=function(t,e,r){return t[0]=e[0]*r,t[1]=e[1]*r,t[2]=e[2]*r,t},i.scaleAndAdd=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},i.distance=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)},i.dist=i.distance,i.squaredDistance=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},i.sqrDist=i.squaredDistance,i.length=function(t){var e=t[0],r=t[1],n=t[2];return Math.sqrt(e*e+r*r+n*n)},i.len=i.length,i.squaredLength=function(t){var e=t[0],r=t[1],n=t[2];return e*e+r*r+n*n},i.sqrLen=i.squaredLength,i.negate=function(t,e){return t[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t},i.inverse=function(t,e){return t[0]=1/e[0],t[1]=1/e[1],t[2]=1/e[2],t},i.normalize=function(t,e){var r=e[0],n=e[1],i=e[2],a=r*r+n*n+i*i;return a&gt;0&amp;&amp;(a=1/Math.sqrt(a),t[0]=e[0]*a,t[1]=e[1]*a,t[2]=e[2]*a),t},i.dot=function(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]},i.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},i.lerp=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},i.hermite=function(t,e,r,n,i,a){var o=a*a,s=o*(2*a-3)+1,l=o*(a-2)+a,c=o*(a-1),u=o*(3-2*a);return t[0]=e[0]*s+r[0]*l+n[0]*c+i[0]*u,t[1]=e[1]*s+r[1]*l+n[1]*c+i[1]*u,t[2]=e[2]*s+r[2]*l+n[2]*c+i[2]*u,t},i.bezier=function(t,e,r,n,i,a){var o=1-a,s=o*o,l=a*a,c=s*o,u=3*a*s,f=3*l*o,h=l*a;return t[0]=e[0]*c+r[0]*u+n[0]*f+i[0]*h,t[1]=e[1]*c+r[1]*u+n[1]*f+i[1]*h,t[2]=e[2]*c+r[2]*u+n[2]*f+i[2]*h,t},i.random=function(t,e){e=e||1;var r=2*n.RANDOM()*Math.PI,i=2*n.RANDOM()-1,a=Math.sqrt(1-i*i)*e;return t[0]=Math.cos(r)*a,t[1]=Math.sin(r)*a,t[2]=i*e,t},i.transformMat4=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},i.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},i.transformQuat=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,d=-o*n-s*i-l*a;return t[0]=u*c+d*-o+f*-l-h*-s,t[1]=f*c+d*-s+h*-o-u*-l,t[2]=h*c+d*-l+u*-s-f*-o,t},i.rotateX=function(t,e,r,n){var i=[],a=[];return i[0]=e[0]-r[0],i[1]=e[1]-r[1],i[2]=e[2]-r[2],a[0]=i[0],a[1]=i[1]*Math.cos(n)-i[2]*Math.sin(n),a[2]=i[1]*Math.sin(n)+i[2]*Math.cos(n),t[0]=a[0]+r[0],t[1]=a[1]+r[1],t[2]=a[2]+r[2],t},i.rotateY=function(t,e,r,n){var i=[],a=[];return i[0]=e[0]-r[0],i[1]=e[1]-r[1],i[2]=e[2]-r[2],a[0]=i[2]*Math.sin(n)+i[0]*Math.cos(n),a[1]=i[1],a[2]=i[2]*Math.cos(n)-i[0]*Math.sin(n),t[0]=a[0]+r[0],t[1]=a[1]+r[1],t[2]=a[2]+r[2],t},i.rotateZ=function(t,e,r,n){var i=[],a=[];return i[0]=e[0]-r[0],i[1]=e[1]-r[1],i[2]=e[2]-r[2],a[0]=i[0]*Math.cos(n)-i[1]*Math.sin(n),a[1]=i[0]*Math.sin(n)+i[1]*Math.cos(n),a[2]=i[2],t[0]=a[0]+r[0],t[1]=a[1]+r[1],t[2]=a[2]+r[2],t},i.forEach=function(){var t=i.create();return function(e,r,n,i,a,o){var s,l;for(r||(r=3),n||(n=0),l=i?Math.min(i*r+n,e.length):e.length,s=n;s&lt;l;s+=r)t[0]=e[s],t[1]=e[s+1],t[2]=e[s+2],a(t,t,o),e[s]=t[0],e[s+1]=t[1],e[s+2]=t[2];return e}}(),i.angle=function(t,e){var r=i.fromValues(t[0],t[1],t[2]),n=i.fromValues(e[0],e[1],e[2]);i.normalize(r,r),i.normalize(n,n);var a=i.dot(r,n);return a&gt;1?0:Math.acos(a)},i.str=function(t){return&quot;vec3(&quot;+t[0]+&quot;, &quot;+t[1]+&quot;, &quot;+t[2]+&quot;)&quot;},i.exactEquals=function(t,e){return t[0]===e[0]&amp;&amp;t[1]===e[1]&amp;&amp;t[2]===e[2]},i.equals=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)&lt;=n.EPSILON*Math.max(1,Math.abs(r),Math.abs(o))&amp;&amp;Math.abs(i-s)&lt;=n.EPSILON*Math.max(1,Math.abs(i),Math.abs(s))&amp;&amp;Math.abs(a-l)&lt;=n.EPSILON*Math.max(1,Math.abs(a),Math.abs(l))},e.exports=i},{&quot;./common.js&quot;:199}],207:[function(t,e,r){var n=t(&quot;./common.js&quot;),i={};i.create=function(){var t=new n.ARRAY_TYPE(4);return t[0]=0,t[1]=0,t[2]=0,t[3]=0,t},i.clone=function(t){var e=new n.ARRAY_TYPE(4);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e},i.fromValues=function(t,e,r,i){var a=new n.ARRAY_TYPE(4);return a[0]=t,a[1]=e,a[2]=r,a[3]=i,a},i.copy=function(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t},i.set=function(t,e,r,n,i){return t[0]=e,t[1]=r,t[2]=n,t[3]=i,t},i.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[3]=e[3]+r[3],t},i.subtract=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},i.sub=i.subtract,i.multiply=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},i.mul=i.multiply,i.divide=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},i.div=i.divide,i.ceil=function(t,e){return t[0]=Math.ceil(e[0]),t[1]=Math.ceil(e[1]),t[2]=Math.ceil(e[2]),t[3]=Math.ceil(e[3]),t},i.floor=function(t,e){return t[0]=Math.floor(e[0]),t[1]=Math.floor(e[1]),t[2]=Math.floor(e[2]),t[3]=Math.floor(e[3]),t},i.min=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},i.max=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},i.round=function(t,e){return t[0]=Math.round(e[0]),t[1]=Math.round(e[1]),t[2]=Math.round(e[2]),t[3]=Math.round(e[3]),t},i.scale=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},i.scaleAndAdd=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},i.distance=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)},i.dist=i.distance,i.squaredDistance=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},i.sqrDist=i.squaredDistance,i.length=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)},i.len=i.length,i.squaredLength=function(t){var e=t[0],r=t[1],n=t[2],i=t[3];return e*e+r*r+n*n+i*i},i.sqrLen=i.squaredLength,i.negate=function(t,e){return t[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t[3]=-e[3],t},i.inverse=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},i.normalize=function(t,e){var r=e[0],n=e[1],i=e[2],a=e[3],o=r*r+n*n+i*i+a*a;return o&gt;0&amp;&amp;(o=1/Math.sqrt(o),t[0]=r*o,t[1]=n*o,t[2]=i*o,t[3]=a*o),t},i.dot=function(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]+t[3]*e[3]},i.lerp=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},i.random=function(t,e){return e=e||1,t[0]=n.RANDOM(),t[1]=n.RANDOM(),t[2]=n.RANDOM(),t[3]=n.RANDOM(),i.normalize(t,t),i.scale(t,t,e),t},i.transformMat4=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},i.transformQuat=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,d=-o*n-s*i-l*a;return t[0]=u*c+d*-o+f*-l-h*-s,t[1]=f*c+d*-s+h*-o-u*-l,t[2]=h*c+d*-l+u*-s-f*-o,t[3]=e[3],t},i.forEach=function(){var t=i.create();return function(e,r,n,i,a,o){var s,l;for(r||(r=4),n||(n=0),l=i?Math.min(i*r+n,e.length):e.length,s=n;s&lt;l;s+=r)t[0]=e[s],t[1]=e[s+1],t[2]=e[s+2],t[3]=e[s+3],a(t,t,o),e[s]=t[0],e[s+1]=t[1],e[s+2]=t[2],e[s+3]=t[3];return e}}(),i.str=function(t){return&quot;vec4(&quot;+t[0]+&quot;, &quot;+t[1]+&quot;, &quot;+t[2]+&quot;, &quot;+t[3]+&quot;)&quot;},i.exactEquals=function(t,e){return t[0]===e[0]&amp;&amp;t[1]===e[1]&amp;&amp;t[2]===e[2]&amp;&amp;t[3]===e[3]},i.equals=function(t,e){var r=t[0],i=t[1],a=t[2],o=t[3],s=e[0],l=e[1],c=e[2],u=e[3];return Math.abs(r-s)&lt;=n.EPSILON*Math.max(1,Math.abs(r),Math.abs(s))&amp;&amp;Math.abs(i-l)&lt;=n.EPSILON*Math.max(1,Math.abs(i),Math.abs(l))&amp;&amp;Math.abs(a-c)&lt;=n.EPSILON*Math.max(1,Math.abs(a),Math.abs(c))&amp;&amp;Math.abs(o-u)&lt;=n.EPSILON*Math.max(1,Math.abs(o),Math.abs(u))},e.exports=i},{&quot;./common.js&quot;:199}],208:[function(t,e,r){&quot;use strict&quot;;function n(t,e){for(var r=[0,0,0,0],n=0;n&lt;4;++n)for(var i=0;i&lt;4;++i)r[i]+=t[4*n+i]*e[n];return r}function i(t,e,r,i,a){for(var o=n(i,n(r,n(e,[t[0],t[1],t[2],1]))),s=0;s&lt;3;++s)o[s]/=o[3];return[.5*a[0]*(1+o[0]),.5*a[1]*(1-o[1])]}var a=t(&quot;barycentric&quot;),o=t(&quot;polytope-closest-point/lib/closest_point_2d.js&quot;);e.exports=function(t,e,r,n,s,l){if(1===t.length)return[0,t[0].slice()];for(var c=new Array(t.length),u=0;u&lt;t.length;++u)c[u]=i(t[u],r,n,s,l);var f=0,h=1/0;for(u=0;u&lt;c.length;++u){for(var d=0,p=0;p&lt;2;++p)d+=Math.pow(c[u][p]-e[p],2);d&lt;h&amp;&amp;(h=d,f=u)}var m=function(t,e){if(2===t.length){for(var r=0,n=0,i=0;i&lt;2;++i)r+=Math.pow(e[i]-t[0][i],2),n+=Math.pow(e[i]-t[1][i],2);return r=Math.sqrt(r),n=Math.sqrt(n),r+n&lt;1e-6?[1,0]:[n/(r+n),r/(n+r)]}if(3===t.length){var s=[0,0];return o(t[0],t[1],t[2],e,s),a(t,s)}return[]}(c,e),g=0;for(u=0;u&lt;3;++u){if(m[u]&lt;-.001||m[u]&gt;1.0001)return null;g+=m[u]}return Math.abs(g-1)&gt;.001?null:[f,function(t,e){for(var r=[0,0,0],n=0;n&lt;t.length;++n)for(var i=t[n],a=e[n],o=0;o&lt;3;++o)r[o]+=a*i[o];return r}(t,m),m]}},{barycentric:53,&quot;polytope-closest-point/lib/closest_point_2d.js&quot;:487}],209:[function(t,e,r){var n=&quot;precision mediump float;\n#define GLSLIFY 1\n\nuniform vec3  clipBounds[2];\nuniform float pickId;\n\nvarying vec3 f_position;\nvarying vec4 f_id;\n\nvoid main() {\n  if(any(lessThan(f_position, clipBounds[0])) || \n     any(greaterThan(f_position, clipBounds[1]))) {\n    discard;\n  }\n  gl_FragColor = vec4(pickId, f_id.xyz);\n}&quot;;r.meshShader={vertex:&quot;precision mediump float;\n#define GLSLIFY 1\n\nattribute vec3 position, normal;\nattribute vec4 color;\nattribute vec2 uv;\n\nuniform mat4 model\n           , view\n           , projection;\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\nvoid main() {\n  vec4 m_position  = model * vec4(position, 1.0);\n  vec4 t_position  = view * m_position;\n  gl_Position      = projection * t_position;\n  f_color          = color;\n  f_normal         = normal;\n  f_data           = position;\n  f_eyeDirection   = eyePosition   - position;\n  f_lightDirection = lightPosition - position;\n  f_uv             = uv;\n}&quot;,fragment:&quot;precision mediump float;\n#define GLSLIFY 1\n\nfloat beckmannDistribution_2_0(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\n\n\nfloat cookTorranceSpecular_1_1(\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_2_0(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\n\nuniform vec3 clipBounds[2];\nuniform float roughness\n            , fresnel\n            , kambient\n            , kdiffuse\n            , kspecular\n            , opacity;\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(any(lessThan(f_data, clipBounds[0])) || \n     any(greaterThan(f_data, clipBounds[1]))) {\n    discard;\n  }\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 = cookTorranceSpecular_1_1(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}&quot;,attributes:[{name:&quot;position&quot;,type:&quot;vec3&quot;},{name:&quot;normal&quot;,type:&quot;vec3&quot;},{name:&quot;color&quot;,type:&quot;vec4&quot;},{name:&quot;uv&quot;,type:&quot;vec2&quot;}]},r.wireShader={vertex:&quot;precision mediump 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}&quot;,fragment:&quot;precision mediump float;\n#define GLSLIFY 1\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(any(lessThan(f_data, clipBounds[0])) || \n     any(greaterThan(f_data, clipBounds[1]))) {\n    discard;\n  }\n\n  gl_FragColor = f_color * texture2D(texture, f_uv) * opacity;\n}&quot;,attributes:[{name:&quot;position&quot;,type:&quot;vec3&quot;},{name:&quot;color&quot;,type:&quot;vec4&quot;},{name:&quot;uv&quot;,type:&quot;vec2&quot;}]},r.pointShader={vertex:&quot;precision mediump float;\n#define GLSLIFY 1\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(any(lessThan(position, clipBounds[0])) || \n     any(greaterThan(position, clipBounds[1]))) {\n    gl_Position = vec4(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}&quot;,fragment:&quot;precision mediump 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) &gt; 0.25) {\n    discard;\n  }\n  gl_FragColor = f_color * texture2D(texture, f_uv) * opacity;\n}&quot;,attributes:[{name:&quot;position&quot;,type:&quot;vec3&quot;},{name:&quot;color&quot;,type:&quot;vec4&quot;},{name:&quot;uv&quot;,type:&quot;vec2&quot;},{name:&quot;pointSize&quot;,type:&quot;float&quot;}]},r.pickShader={vertex:&quot;precision mediump 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}&quot;,fragment:n,attributes:[{name:&quot;position&quot;,type:&quot;vec3&quot;},{name:&quot;id&quot;,type:&quot;vec4&quot;}]},r.pointPickShader={vertex:&quot;precision mediump float;\n#define GLSLIFY 1\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(any(lessThan(position, clipBounds[0])) || \n     any(greaterThan(position, clipBounds[1]))) {\n    gl_Position = vec4(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}&quot;,fragment:n,attributes:[{name:&quot;position&quot;,type:&quot;vec3&quot;},{name:&quot;pointSize&quot;,type:&quot;float&quot;},{name:&quot;id&quot;,type:&quot;vec4&quot;}]},r.contourShader={vertex:&quot;precision mediump 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}&quot;,fragment:&quot;precision mediump float;\n#define GLSLIFY 1\n\nuniform vec3 contourColor;\n\nvoid main() {\n  gl_FragColor = vec4(contourColor,1);\n}\n&quot;,attributes:[{name:&quot;position&quot;,type:&quot;vec3&quot;}]}},{}],210:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,n,i,a,o,s,l,c,u,f,h,d,p,m,g,v,y,x,b,_,w,k,A,T,S){this.gl=t,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=d,this.triangleCount=0,this.lineWidth=1,this.edgePositions=p,this.edgeColors=g,this.edgeUVs=v,this.edgeIds=m,this.edgeVAO=y,this.edgeCount=0,this.pointPositions=x,this.pointColors=_,this.pointUVs=w,this.pointSizes=k,this.pointIds=b,this.pointVAO=A,this.pointCount=0,this.contourLineWidth=1,this.contourPositions=T,this.contourVAO=S,this.contourCount=0,this.contourColor=[0,0,0],this.contourEnable=!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._model=M,this._view=M,this._projection=M,this._resolution=[1,1]}var i=t(&quot;gl-shader&quot;),a=t(&quot;gl-buffer&quot;),o=t(&quot;gl-vao&quot;),s=t(&quot;gl-texture2d&quot;),l=t(&quot;normals&quot;),c=t(&quot;gl-mat4/multiply&quot;),u=t(&quot;gl-mat4/invert&quot;),f=t(&quot;ndarray&quot;),h=t(&quot;colormap&quot;),d=t(&quot;simplicial-complex-contour&quot;),p=t(&quot;typedarray-pool&quot;),m=t(&quot;./lib/shaders&quot;),g=t(&quot;./lib/closest-point&quot;),v=m.meshShader,y=m.wireShader,x=m.pointShader,b=m.pickShader,_=m.pointPickShader,w=m.contourShader,M=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],k=n.prototype;k.isOpaque=function(){return this.opacity&gt;=1},k.isTransparent=function(){return this.opacity&lt;1},k.pickSlots=1,k.setPickBase=function(t){this.pickId=t},k.highlight=function(t){if(t&amp;&amp;this.contourEnable){for(var e=d(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&lt;a;++l)for(var c=r[l],u=0;u&lt;2;++u){var f=c[0];2===c.length&amp;&amp;(f=c[u]);for(var h=n[f][0],m=n[f][1],g=i[f],v=1-g,y=this.positions[h],x=this.positions[m],b=0;b&lt;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,&quot;contourEnable&quot;in t&amp;&amp;(this.contourEnable=t.contourEnable),&quot;contourColor&quot;in t&amp;&amp;(this.contourColor=t.contourColor),&quot;lineWidth&quot;in t&amp;&amp;(this.lineWidth=t.lineWidth),&quot;lightPosition&quot;in t&amp;&amp;(this.lightPosition=t.lightPosition),&quot;opacity&quot;in t&amp;&amp;(this.opacity=t.opacity),&quot;ambient&quot;in t&amp;&amp;(this.ambientLight=t.ambient),&quot;diffuse&quot;in t&amp;&amp;(this.diffuseLight=t.diffuse),&quot;specular&quot;in t&amp;&amp;(this.specularLight=t.specular),&quot;roughness&quot;in t&amp;&amp;(this.roughness=t.roughness),&quot;fresnel&quot;in t&amp;&amp;(this.fresnel=t.fresnel),t.texture?(this.texture.dispose(),this.texture=s(e,t.texture)):t.colormap&amp;&amp;(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=h({colormap:t,nshades:256,format:&quot;rgba&quot;}),r=new Uint8Array(1024),n=0;n&lt;256;++n){for(var i=e[n],a=0;a&lt;3;++a)r[4*n+a]=i[a];r[4*n+3]=255*i[3]}return f(r,[256,256,4],[4,0,1])}(t.colormap)),this.texture.generateMipmap());var r=t.cells,n=t.positions;if(n&amp;&amp;r){var i=[],a=[],o=[],c=[],u=[],d=[],p=[],m=[],g=[],v=[],y=[],x=[],b=[],_=[];this.cells=r,this.positions=n;var w=t.vertexNormals,M=t.cellNormals,k=void 0===t.vertexNormalsEpsilon?1e-6:t.vertexNormalsEpsilon,A=void 0===t.faceNormalsEpsilon?1e-6:t.faceNormalsEpsilon;t.useFacetNormals&amp;&amp;!M&amp;&amp;(M=l.faceNormals(r,n,A)),M||w||(w=l.vertexNormals(r,n,k));var T=t.vertexColors,S=t.cellColors,E=t.meshColor||[1,1,1,1],L=t.vertexUVs,C=t.vertexIntensity,z=t.cellUVs,D=t.cellIntensity,I=1/0,P=-1/0;if(!L&amp;&amp;!z)if(C)if(t.vertexIntensityBounds)I=+t.vertexIntensityBounds[0],P=+t.vertexIntensityBounds[1];else for(var O=0;O&lt;C.length;++O){var F=C[O];I=Math.min(I,F),P=Math.max(P,F)}else if(D)for(O=0;O&lt;D.length;++O){F=D[O];I=Math.min(I,F),P=Math.max(P,F)}else for(O=0;O&lt;n.length;++O){F=n[O][2];I=Math.min(I,F),P=Math.max(P,F)}this.intensity=C||(D?function(t,e,r){for(var n=new Array(e),i=0;i&lt;e;++i)n[i]=0;var a=t.length;for(i=0;i&lt;a;++i)for(var o=t[i],s=0;s&lt;o.length;++s)n[o[s]]=r[i];return n}(r,n.length,D):function(t){for(var e=t.length,r=new Array(e),n=0;n&lt;e;++n)r[n]=t[n][2];return r}(n));var R=t.pointSizes,N=t.pointSize||1;this.bounds=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]];for(O=0;O&lt;n.length;++O)for(var j=n[O],B=0;B&lt;3;++B)!isNaN(j[B])&amp;&amp;isFinite(j[B])&amp;&amp;(this.bounds[0][B]=Math.min(this.bounds[0][B],j[B]),this.bounds[1][B]=Math.max(this.bounds[1][B],j[B]));var U=0,V=0,q=0;t:for(O=0;O&lt;r.length;++O){var H=r[O];switch(H.length){case 1:for(j=n[Y=H[0]],B=0;B&lt;3;++B)if(isNaN(j[B])||!isFinite(j[B]))continue t;v.push(j[0],j[1],j[2]);3===(W=T?T[Y]:S?S[O]:E).length?y.push(W[0],W[1],W[2],1):y.push(W[0],W[1],W[2],W[3]);X=L?L[Y]:C?[(C[Y]-I)/(P-I),0]:z?z[O]:D?[(D[O]-I)/(P-I),0]:[(j[2]-I)/(P-I),0],x.push(X[0],X[1]),R?b.push(R[Y]):b.push(N),_.push(O),q+=1;break;case 2:for(B=0;B&lt;2;++B){j=n[Y=H[B]];for(var G=0;G&lt;3;++G)if(isNaN(j[G])||!isFinite(j[G]))continue t}for(B=0;B&lt;2;++B){j=n[Y=H[B]];d.push(j[0],j[1],j[2]);3===(W=T?T[Y]:S?S[O]:E).length?p.push(W[0],W[1],W[2],1):p.push(W[0],W[1],W[2],W[3]);X=L?L[Y]:C?[(C[Y]-I)/(P-I),0]:z?z[O]:D?[(D[O]-I)/(P-I),0]:[(j[2]-I)/(P-I),0],m.push(X[0],X[1]),g.push(O)}V+=1;break;case 3:for(B=0;B&lt;3;++B)for(j=n[Y=H[B]],G=0;G&lt;3;++G)if(isNaN(j[G])||!isFinite(j[G]))continue t;for(B=0;B&lt;3;++B){var Y;j=n[Y=H[B]];i.push(j[0],j[1],j[2]);var W;3===(W=T?T[Y]:S?S[O]:E).length?a.push(W[0],W[1],W[2],1):a.push(W[0],W[1],W[2],W[3]);var X;X=L?L[Y]:C?[(C[Y]-I)/(P-I),0]:z?z[O]:D?[(D[O]-I)/(P-I),0]:[(j[2]-I)/(P-I),0],c.push(X[0],X[1]);var Z;Z=w?w[Y]:M[O],o.push(Z[0],Z[1],Z[2]),u.push(O)}U+=1}}this.pointCount=q,this.edgeCount=V,this.triangleCount=U,this.pointPositions.update(v),this.pointColors.update(y),this.pointUVs.update(x),this.pointSizes.update(b),this.pointIds.update(new Uint32Array(_)),this.edgePositions.update(d),this.edgeColors.update(p),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(o),this.triangleIds.update(new Uint32Array(u))}},k.drawTransparent=k.draw=function(t){t=t||{};for(var e=this.gl,r=t.model||M,n=t.view||M,i=t.projection||M,a=[[-1e6,-1e6,-1e6],[1e6,1e6,1e6]],o=0;o&lt;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,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,contourColor:this.contourColor,texture:0};this.texture.bind(0);var l=new Array(16);c(l,s.view,s.model),c(l,s.projection,l),u(l,l);for(o=0;o&lt;3;++o)s.eyePosition[o]=l[12+o]/l[15];var f=l[15];for(o=0;o&lt;3;++o)f+=this.lightPosition[o]*l[4*o+3];for(o=0;o&lt;3;++o){for(var h=l[12+o],d=0;d&lt;3;++d)h+=l[4*d+o]*this.lightPosition[d];s.lightPosition[o]=h/f}if(this.triangleCount&gt;0){(p=this.triShader).bind(),p.uniforms=s,this.triangleVAO.bind(),e.drawArrays(e.TRIANGLES,0,3*this.triangleCount),this.triangleVAO.unbind()}if(this.edgeCount&gt;0&amp;&amp;this.lineWidth&gt;0){(p=this.lineShader).bind(),p.uniforms=s,this.edgeVAO.bind(),e.lineWidth(this.lineWidth),e.drawArrays(e.LINES,0,2*this.edgeCount),this.edgeVAO.unbind()}if(this.pointCount&gt;0){(p=this.pointShader).bind(),p.uniforms=s,this.pointVAO.bind(),e.drawArrays(e.POINTS,0,this.pointCount),this.pointVAO.unbind()}if(this.contourEnable&amp;&amp;this.contourCount&gt;0&amp;&amp;this.contourLineWidth&gt;0){var p;(p=this.contourShader).bind(),p.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||M,n=t.view||M,i=t.projection||M,a=[[-1e6,-1e6,-1e6],[1e6,1e6,1e6]],o=0;o&lt;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,pickId:this.pickId/255};if((l=this.pickShader).bind(),l.uniforms=s,this.triangleCount&gt;0&amp;&amp;(this.triangleVAO.bind(),e.drawArrays(e.TRIANGLES,0,3*this.triangleCount),this.triangleVAO.unbind()),this.edgeCount&gt;0&amp;&amp;(this.edgeVAO.bind(),e.lineWidth(this.lineWidth),e.drawArrays(e.LINES,0,2*this.edgeCount),this.edgeVAO.unbind()),this.pointCount&gt;0){var l;(l=this.pointPickShader).bind(),l.uniforms=s,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&lt;r.length;++a)i[a]=n[r[a]];var o=g(i,[t.coord[0],this._resolution[1]-t.coord[1]],this._model,this._view,this._projection,this._resolution);if(!o)return null;var s=o[2],l=0;for(a=0;a&lt;r.length;++a)l+=s[a]*this.intensity[r[a]];return{position:o[1],index:r[o[0]],cell:r,cellId:e,intensity:l,dataCoordinate:this.positions[r[o[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&amp;&amp;(t=(e=t).gl);var r=function(t){var e=i(t,v.vertex,v.fragment);return e.attributes.position.location=0,e.attributes.color.location=2,e.attributes.uv.location=3,e.attributes.normal.location=4,e}(t),l=function(t){var e=i(t,y.vertex,y.fragment);return e.attributes.position.location=0,e.attributes.color.location=2,e.attributes.uv.location=3,e}(t),c=function(t){var e=i(t,x.vertex,x.fragment);return e.attributes.position.location=0,e.attributes.color.location=2,e.attributes.uv.location=3,e.attributes.pointSize.location=4,e}(t),u=function(t){var e=i(t,b.vertex,b.fragment);return e.attributes.position.location=0,e.attributes.id.location=1,e}(t),h=function(t){var e=i(t,_.vertex,_.fragment);return e.attributes.position.location=0,e.attributes.id.location=1,e.attributes.pointSize.location=4,e}(t),d=function(t){var e=i(t,w.vertex,w.fragment);return e.attributes.position.location=0,e}(t),p=s(t,f(new Uint8Array([255,255,255,255]),[1,1,4]));p.generateMipmap(),p.minFilter=t.LINEAR_MIPMAP_LINEAR,p.magFilter=t.LINEAR;var m=a(t),g=a(t),M=a(t),k=a(t),A=a(t),T=o(t,[{buffer:m,type:t.FLOAT,size:3},{buffer:A,type:t.UNSIGNED_BYTE,size:4,normalized:!0},{buffer:g,type:t.FLOAT,size:4},{buffer:M,type:t.FLOAT,size:2},{buffer:k,type:t.FLOAT,size:3}]),S=a(t),E=a(t),L=a(t),C=a(t),z=o(t,[{buffer:S,type:t.FLOAT,size:3},{buffer:C,type:t.UNSIGNED_BYTE,size:4,normalized:!0},{buffer:E,type:t.FLOAT,size:4},{buffer:L,type:t.FLOAT,size:2}]),D=a(t),I=a(t),P=a(t),O=a(t),F=a(t),R=o(t,[{buffer:D,type:t.FLOAT,size:3},{buffer:F,type:t.UNSIGNED_BYTE,size:4,normalized:!0},{buffer:I,type:t.FLOAT,size:4},{buffer:P,type:t.FLOAT,size:2},{buffer:O,type:t.FLOAT,size:1}]),N=a(t),j=new n(t,p,r,l,c,u,h,d,m,A,g,M,k,T,S,C,E,L,z,D,F,I,P,O,R,N,o(t,[{buffer:N,type:t.FLOAT,size:3}]));return j.update(e),j}},{&quot;./lib/closest-point&quot;:208,&quot;./lib/shaders&quot;:209,colormap:105,&quot;gl-buffer&quot;:165,&quot;gl-mat4/invert&quot;:186,&quot;gl-mat4/multiply&quot;:188,&quot;gl-shader&quot;:243,&quot;gl-texture2d&quot;:255,&quot;gl-vao&quot;:259,ndarray:458,normals:461,&quot;simplicial-complex-contour&quot;:524,&quot;typedarray-pool&quot;:554}],211:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r){this.plot=t,this.vbo=e,this.shader=r}e.exports=function(t){var e=t.gl;return new n(t,i(e,[0,0,0,1,1,0,1,1]),a(e,o.boxVert,o.lineFrag))};var i=t(&quot;gl-buffer&quot;),a=t(&quot;gl-shader&quot;),o=t(&quot;./shaders&quot;),s=n.prototype;s.bind=function(){var t=this.shader;this.vbo.bind(),this.shader.bind(),t.attributes.coord.pointer(),t.uniforms.screenBox=this.plot.screenBox},s.drawBox=function(){var t=[0,0],e=[0,0];return function(r,n,i,a,o){var s=this.plot,l=this.shader,c=s.gl;t[0]=r,t[1]=n,e[0]=i,e[1]=a,l.uniforms.lo=t,l.uniforms.hi=e,l.uniforms.color=o,c.drawArrays(c.TRIANGLE_STRIP,0,4)}}(),s.dispose=function(){this.vbo.dispose(),this.shader.dispose()}},{&quot;./shaders&quot;:214,&quot;gl-buffer&quot;:165,&quot;gl-shader&quot;:217}],212:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,n){this.plot=t,this.vbo=e,this.shader=r,this.tickShader=n,this.ticks=[[],[]]}function i(t,e){return t-e}e.exports=function(t){var e=t.gl;return new n(t,a(e),o(e,l.gridVert,l.gridFrag),o(e,l.tickVert,l.gridFrag))};var a=t(&quot;gl-buffer&quot;),o=t(&quot;gl-shader&quot;),s=t(&quot;binary-search-bounds&quot;),l=t(&quot;./shaders&quot;),c=n.prototype;c.draw=function(){var t=[0,0],e=[0,0],r=[0,0];return function(){for(var n=this.plot,i=this.vbo,a=this.shader,o=this.ticks,s=n.gl,l=n._tickBounds,c=n.dataBox,u=n.viewBox,f=n.gridLineWidth,h=n.gridLineColor,d=n.gridLineEnable,p=n.pixelRatio,m=0;m&lt;2;++m){var g=l[m],v=l[m+2]-g,y=.5*(c[m+2]+c[m]),x=c[m+2]-c[m];e[m]=2*v/x,t[m]=2*(g-y)/x}a.bind(),i.bind(),a.attributes.dataCoord.pointer(),a.uniforms.dataShift=t,a.uniforms.dataScale=e;var b=0;for(m=0;m&lt;2;++m){r[0]=r[1]=0,r[m]=1,a.uniforms.dataAxis=r,a.uniforms.lineWidth=f[m]/(u[m+2]-u[m])*p,a.uniforms.color=h[m];var _=6*o[m].length;d[m]&amp;&amp;_&amp;&amp;s.drawArrays(s.TRIANGLES,b,_),b+=_}}}(),c.drawTickMarks=function(){var t=[0,0],e=[0,0],r=[1,0],n=[0,1],a=[0,0],o=[0,0];return function(){for(var l=this.plot,c=this.vbo,u=this.tickShader,f=this.ticks,h=l.gl,d=l._tickBounds,p=l.dataBox,m=l.viewBox,g=l.pixelRatio,v=l.screenBox,y=v[2]-v[0],x=v[3]-v[1],b=m[2]-m[0],_=m[3]-m[1],w=0;w&lt;2;++w){var M=d[w],k=d[w+2]-M,A=.5*(p[w+2]+p[w]),T=p[w+2]-p[w];e[w]=2*k/T,t[w]=2*(M-A)/T}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=l.tickMarkLength,L=l.tickMarkWidth,C=l.tickMarkColor,z=6*f[0].length,D=Math.min(s.ge(f[0],(p[0]-d[0])/(d[2]-d[0]),i),f[0].length),I=Math.min(s.gt(f[0],(p[2]-d[0])/(d[2]-d[0]),i),f[0].length),P=0+6*D,O=6*Math.max(0,I-D),F=Math.min(s.ge(f[1],(p[1]-d[1])/(d[3]-d[1]),i),f[1].length),R=Math.min(s.gt(f[1],(p[3]-d[1])/(d[3]-d[1]),i),f[1].length),N=z+6*F,j=6*Math.max(0,R-F);a[0]=2*(m[0]-E[1])/y-1,a[1]=(m[3]+m[1])/x-1,o[0]=E[1]*g/y,o[1]=L[1]*g/x,j&amp;&amp;(S.color=C[1],S.tickScale=o,S.dataAxis=n,S.screenOffset=a,h.drawArrays(h.TRIANGLES,N,j)),a[0]=(m[2]+m[0])/y-1,a[1]=2*(m[1]-E[0])/x-1,o[0]=L[0]*g/y,o[1]=E[0]*g/x,O&amp;&amp;(S.color=C[0],S.tickScale=o,S.dataAxis=r,S.screenOffset=a,h.drawArrays(h.TRIANGLES,P,O)),a[0]=2*(m[2]+E[3])/y-1,a[1]=(m[3]+m[1])/x-1,o[0]=E[3]*g/y,o[1]=L[3]*g/x,j&amp;&amp;(S.color=C[3],S.tickScale=o,S.dataAxis=n,S.screenOffset=a,h.drawArrays(h.TRIANGLES,N,j)),a[0]=(m[2]+m[0])/y-1,a[1]=2*(m[3]+E[2])/x-1,o[0]=L[2]*g/y,o[1]=E[2]*g/x,O&amp;&amp;(S.color=C[2],S.tickScale=o,S.dataAxis=r,S.screenOffset=a,h.drawArrays(h.TRIANGLES,P,O))}}(),c.update=function(){var t=[1,1,-1,-1,1,-1],e=[1,-1,1,1,-1,-1];return function(r){for(var n=r.ticks,i=r.bounds,a=new Float32Array(18*(n[0].length+n[1].length)),o=(this.plot.zeroLineEnable,0),s=[[],[]],l=0;l&lt;2;++l)for(var c=s[l],u=n[l],f=i[l],h=i[l+2],d=0;d&lt;u.length;++d){var p=(u[d].x-f)/(h-f);c.push(p);for(var m=0;m&lt;6;++m)a[o++]=p,a[o++]=t[m],a[o++]=e[m]}this.ticks=s,this.vbo.update(a)}}(),c.dispose=function(){this.vbo.dispose(),this.shader.dispose(),this.tickShader.dispose()}},{&quot;./shaders&quot;:214,&quot;binary-search-bounds&quot;:216,&quot;gl-buffer&quot;:165,&quot;gl-shader&quot;:217}],213:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r){this.plot=t,this.vbo=e,this.shader=r}e.exports=function(t){var e=t.gl;return new n(t,i(e,[-1,-1,-1,1,1,-1,1,1]),a(e,o.lineVert,o.lineFrag))};var i=t(&quot;gl-buffer&quot;),a=t(&quot;gl-shader&quot;),o=t(&quot;./shaders&quot;),s=n.prototype;s.bind=function(){var t=this.shader;this.vbo.bind(),this.shader.bind(),t.attributes.coord.pointer(),t.uniforms.screenBox=this.plot.screenBox},s.drawLine=function(){var t=[0,0],e=[0,0];return function(r,n,i,a,o,s){var l=this.plot,c=this.shader,u=l.gl;t[0]=r,t[1]=n,e[0]=i,e[1]=a,c.uniforms.start=t,c.uniforms.end=e,c.uniforms.width=o*l.pixelRatio,c.uniforms.color=s,u.drawArrays(u.TRIANGLE_STRIP,0,4)}}(),s.dispose=function(){this.vbo.dispose(),this.shader.dispose()}},{&quot;./shaders&quot;:214,&quot;gl-buffer&quot;:165,&quot;gl-shader&quot;:217}],214:[function(t,e,r){&quot;use strict&quot;;var n=&quot;precision lowp float;\n#define GLSLIFY 1\nuniform vec4 color;\nvoid main() {\n  gl_FragColor = vec4(color.xyz * color.w, color.w);\n}\n&quot;;e.exports={lineVert:&quot;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&quot;,lineFrag:n,textVert:&quot;#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&quot;,textFrag:n,gridVert:&quot;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&quot;,gridFrag:n,boxVert:&quot;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&quot;,tickVert:&quot;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&quot;}},{}],215:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r){this.plot=t,this.vbo=e,this.shader=r,this.tickOffset=[[],[]],this.tickX=[[],[]],this.labelOffset=[0,0],this.labelCount=[0,0]}e.exports=function(t){var e=t.gl;return new n(t,i(e),a(e,l.textVert,l.textFrag))};var i=t(&quot;gl-buffer&quot;),a=t(&quot;gl-shader&quot;),o=t(&quot;text-cache&quot;),s=t(&quot;binary-search-bounds&quot;),l=t(&quot;./shaders&quot;),c=n.prototype;c.drawTicks=function(){var t=[0,0],e=[0,0],r=[0,0];return function(n){var i=this.plot,a=this.shader,o=this.tickX[n],l=this.tickOffset[n],c=i.gl,u=i.viewBox,f=i.dataBox,h=i.screenBox,d=i.pixelRatio,p=i.tickEnable,m=i.tickPad,g=i.tickColor,v=i.tickAngle,y=i.labelEnable,x=i.labelPad,b=i.labelColor,_=i.labelAngle,w=this.labelOffset[n],M=this.labelCount[n],k=s.lt(o,f[n]),A=s.le(o,f[n+2]);t[0]=t[1]=0,t[n]=1,e[n]=(u[2+n]+u[n])/(h[2+n]-h[n])-1;var T=2/h[2+(1^n)]-h[1^n];e[1^n]=T*u[1^n]-1,p[n]&amp;&amp;(e[1^n]-=T*d*m[n],k&lt;A&amp;&amp;l[A]&gt;l[k]&amp;&amp;(a.uniforms.dataAxis=t,a.uniforms.screenOffset=e,a.uniforms.color=g[n],a.uniforms.angle=v[n],c.drawArrays(c.TRIANGLES,l[k],l[A]-l[k]))),y[n]&amp;&amp;M&amp;&amp;(e[1^n]-=T*d*x[n],a.uniforms.dataAxis=r,a.uniforms.screenOffset=e,a.uniforms.color=b[n],a.uniforms.angle=_[n],c.drawArrays(c.TRIANGLES,w,M)),e[1^n]=T*u[2+(1^n)]-1,p[n+2]&amp;&amp;(e[1^n]+=T*d*m[n+2],k&lt;A&amp;&amp;l[A]&gt;l[k]&amp;&amp;(a.uniforms.dataAxis=t,a.uniforms.screenOffset=e,a.uniforms.color=g[n+2],a.uniforms.angle=v[n+2],c.drawArrays(c.TRIANGLES,l[k],l[A]-l[k]))),y[n+2]&amp;&amp;M&amp;&amp;(e[1^n]+=T*d*x[n+2],a.uniforms.dataAxis=r,a.uniforms.screenOffset=e,a.uniforms.color=b[n+2],a.uniforms.angle=_[n+2],c.drawArrays(c.TRIANGLES,w,M))}}(),c.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&lt;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)}}}(),c.bind=function(){var t=[0,0],e=[0,0],r=[0,0];return function(){var n=this.plot,i=this.shader,a=n._tickBounds,o=n.dataBox,s=n.screenBox,l=n.viewBox;i.bind();for(var c=0;c&lt;2;++c){var u=a[c],f=a[c+2]-u,h=.5*(o[c+2]+o[c]),d=o[c+2]-o[c],p=l[c],m=l[c+2]-p,g=s[c],v=s[c+2]-g;e[c]=2*f/d*m/v,t[c]=2*(u-h)/d*m/v}r[1]=2*n.pixelRatio/(s[3]-s[1]),r[0]=r[1]*(s[3]-s[1])/(s[2]-s[0]),i.uniforms.dataScale=e,i.uniforms.dataShift=t,i.uniforms.textScale=r,this.vbo.bind(),i.attributes.textCoordinate.pointer()}}(),c.update=function(t){var e,r,n,i,a,s=[],l=t.ticks,c=t.bounds;for(a=0;a&lt;2;++a){var u=[Math.floor(s.length/3)],f=[-1/0],h=l[a];for(e=0;e&lt;h.length;++e){var d=h[e],p=d.x,m=d.text,g=d.font||&quot;sans-serif&quot;;i=d.fontSize||12;for(var v=1/(c[a+2]-c[a]),y=c[a],x=m.split(&quot;\n&quot;),b=0;b&lt;x.length;b++)for(n=o(g,x[b]).data,r=0;r&lt;n.length;r+=2)s.push(n[r]*i,-n[r+1]*i-b*i*1.2,(p-y)*v);u.push(Math.floor(s.length/3)),f.push(p)}this.tickOffset[a]=u,this.tickX[a]=f}for(a=0;a&lt;2;++a){for(this.labelOffset[a]=Math.floor(s.length/3),n=o(t.labelFont[a],t.labels[a],{textAlign:&quot;center&quot;}).data,i=t.labelSize[a],e=0;e&lt;n.length;e+=2)s.push(n[e]*i,-n[e+1]*i,0);this.labelCount[a]=Math.floor(s.length/3)-this.labelOffset[a]}for(this.titleOffset=Math.floor(s.length/3),n=o(t.titleFont,t.title).data,i=t.titleSize,e=0;e&lt;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)},c.dispose=function(){this.vbo.dispose(),this.shader.dispose()}},{&quot;./shaders&quot;:214,&quot;binary-search-bounds&quot;:216,&quot;gl-buffer&quot;:165,&quot;gl-shader&quot;:217,&quot;text-cache&quot;:545}],216:[function(t,e,r){arguments[4][89][0].apply(r,arguments)},{dup:89}],217:[function(t,e,r){&quot;use strict&quot;;function n(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}function i(t,e){return t.name&lt;e.name?-1:1}var a=t(&quot;./lib/create-uniforms&quot;),o=t(&quot;./lib/create-attributes&quot;),s=t(&quot;./lib/reflect&quot;),l=t(&quot;./lib/shader-cache&quot;),c=t(&quot;./lib/runtime-reflect&quot;),u=t(&quot;./lib/GLError&quot;),f=n.prototype;f.bind=function(){this.program||this._relink();var t,e=this.gl.getProgramParameter(this.program,this.gl.ACTIVE_ATTRIBUTES),r=this.gl.lastAttribCount;if(e&gt;r)for(t=r;t&lt;e;t++)this.gl.enableVertexAttribArray(t);else if(r&gt;e)for(t=e;t&lt;r;t++)this.gl.disableVertexAttribArray(t);this.gl.lastAttribCount=e,this.gl.useProgram(this.program)},f.dispose=function(){for(var t=this.gl.lastAttribCount,e=0;e&lt;t;e++)this.gl.disableVertexAttribArray(e);this.gl.lastAttribCount=0,this._fref&amp;&amp;this._fref.dispose(),this._vref&amp;&amp;this._vref.dispose(),this.attributes=this.types=this.vertShader=this.fragShader=this.program=this._relink=this._fref=this._vref=null},f.update=function(t,e,r,n){function f(){d.program=l.program(p,d._vref,d._fref,_,w);for(var t=0;t&lt;r.length;++t)E[t]=p.getUniformLocation(d.program,r[t].name)}if(!e||1===arguments.length){var h=t;t=h.vertex,e=h.fragment,r=h.uniforms,n=h.attributes}var d=this,p=d.gl,m=d._vref;d._vref=l.shader(p,p.VERTEX_SHADER,t),m&amp;&amp;m.dispose(),d.vertShader=d._vref.shader;var g=this._fref;if(d._fref=l.shader(p,p.FRAGMENT_SHADER,e),g&amp;&amp;g.dispose(),d.fragShader=d._fref.shader,!r||!n){var v=p.createProgram();if(p.attachShader(v,d.fragShader),p.attachShader(v,d.vertShader),p.linkProgram(v),!p.getProgramParameter(v,p.LINK_STATUS)){var y=p.getProgramInfoLog(v);throw new u(y,&quot;Error linking program:&quot;+y)}r=r||c.uniforms(p,v),n=n||c.attributes(p,v),p.deleteProgram(v)}(n=n.slice()).sort(i);var x,b=[],_=[],w=[];for(x=0;x&lt;n.length;++x){var M=n[x];if(M.type.indexOf(&quot;mat&quot;)&gt;=0){for(var k=0|M.type.charAt(M.type.length-1),A=new Array(k),T=0;T&lt;k;++T)A[T]=w.length,_.push(M.name+&quot;[&quot;+T+&quot;]&quot;),&quot;number&quot;==typeof M.location?w.push(M.location+T):Array.isArray(M.location)&amp;&amp;M.location.length===k&amp;&amp;&quot;number&quot;==typeof M.location[T]?w.push(0|M.location[T]):w.push(-1);b.push({name:M.name,type:M.type,locations:A})}else b.push({name:M.name,type:M.type,locations:[w.length]}),_.push(M.name),&quot;number&quot;==typeof M.location?w.push(0|M.location):w.push(-1)}var S=0;for(x=0;x&lt;w.length;++x)if(w[x]&lt;0){for(;w.indexOf(S)&gt;=0;)S+=1;w[x]=S}var E=new Array(r.length);f(),d._relink=f,d.types={uniforms:s(r),attributes:s(n)},d.attributes=o(p,d,b,w),Object.defineProperty(d,&quot;uniforms&quot;,a(p,d,r,E))},e.exports=function(t,e,r,i,a){var o=new n(t);return o.update(e,r,i,a),o}},{&quot;./lib/GLError&quot;:218,&quot;./lib/create-attributes&quot;:219,&quot;./lib/create-uniforms&quot;:220,&quot;./lib/reflect&quot;:221,&quot;./lib/runtime-reflect&quot;:222,&quot;./lib/shader-cache&quot;:223}],218:[function(t,e,r){function n(t,e,r){this.shortMessage=e||&quot;&quot;,this.longMessage=r||&quot;&quot;,this.rawError=t||&quot;&quot;,this.message=&quot;gl-shader: &quot;+(e||t||&quot;&quot;)+(r?&quot;\n&quot;+r:&quot;&quot;),this.stack=(new Error).stack}(n.prototype=new Error).name=&quot;GLError&quot;,n.prototype.constructor=n,e.exports=n},{}],219:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,n,i,a){this._gl=t,this._wrapper=e,this._index=r,this._locations=n,this._dimension=i,this._constFunc=a}function i(t,e,r,i,a,o,s){for(var l=[&quot;gl&quot;,&quot;v&quot;],c=[],u=0;u&lt;a;++u)l.push(&quot;x&quot;+u),c.push(&quot;x&quot;+u);l.push(&quot;if(x0.length===void 0){return gl.vertexAttrib&quot;+a+&quot;f(v,&quot;+c.join()+&quot;)}else{return gl.vertexAttrib&quot;+a+&quot;fv(v,x0)}&quot;);var f=Function.apply(null,l),h=new n(t,e,r,i,a,f);Object.defineProperty(o,s,{set:function(e){return t.disableVertexAttribArray(i[r]),f(t,i[r],e),e},get:function(){return h},enumerable:!0})}function a(t,e,r,n,a,o,s){for(var l=new Array(a),c=new Array(a),u=0;u&lt;a;++u)i(t,e,r[u],n,a,l,u),c[u]=l[u];Object.defineProperty(l,&quot;location&quot;,{set:function(t){if(Array.isArray(t))for(var e=0;e&lt;a;++e)c[e].location=t[e];else for(e=0;e&lt;a;++e)c[e].location=t+e;return t},get:function(){for(var t=new Array(a),e=0;e&lt;a;++e)t[e]=n[r[e]];return t},enumerable:!0}),l.pointer=function(e,i,o,s){e=e||t.FLOAT,i=!!i,o=o||a*a,s=s||0;for(var l=0;l&lt;a;++l){var c=n[r[l]];t.vertexAttribPointer(c,a,e,i,o,s+l*a),t.enableVertexAttribArray(c)}};var f=new Array(a),h=t[&quot;vertexAttrib&quot;+a+&quot;fv&quot;];Object.defineProperty(o,s,{set:function(e){for(var i=0;i&lt;a;++i){var o=n[r[i]];if(t.disableVertexAttribArray(o),Array.isArray(e[0]))h.call(t,o,e[i]);else{for(var s=0;s&lt;a;++s)f[s]=e[a*i+s];h.call(t,o,f)}}return e},get:function(){return l},enumerable:!0})}e.exports=function(t,e,r,n){for(var s={},l=0,c=r.length;l&lt;c;++l){var u=r[l],f=u.name,h=u.type,d=u.locations;switch(h){case&quot;bool&quot;:case&quot;int&quot;:case&quot;float&quot;:i(t,e,d[0],n,1,s,f);break;default:if(h.indexOf(&quot;vec&quot;)&gt;=0){if((p=h.charCodeAt(h.length-1)-48)&lt;2||p&gt;4)throw new o(&quot;&quot;,&quot;Invalid data type for attribute &quot;+f+&quot;: &quot;+h);i(t,e,d[0],n,p,s,f)}else{if(!(h.indexOf(&quot;mat&quot;)&gt;=0))throw new o(&quot;&quot;,&quot;Unknown data type for attribute &quot;+f+&quot;: &quot;+h);var p;if((p=h.charCodeAt(h.length-1)-48)&lt;2||p&gt;4)throw new o(&quot;&quot;,&quot;Invalid data type for attribute &quot;+f+&quot;: &quot;+h);a(t,e,d,n,p,s,f)}}}return s};var o=t(&quot;./GLError&quot;),s=n.prototype;s.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)},s.set=function(t,e,r,n){return this._constFunc(this._locations[this._index],t,e,r,n)},Object.defineProperty(s,&quot;location&quot;,{get:function(){return this._locations[this._index]},set:function(t){return t!==this._locations[this._index]&amp;&amp;(this._locations[this._index]=0|t,this._wrapper.program=null),0|t}})},{&quot;./GLError&quot;:218}],220:[function(t,e,r){&quot;use strict&quot;;function n(t){return new Function(&quot;y&quot;,&quot;return function(){return y}&quot;)(t)}function i(t,e){for(var r=new Array(t),n=0;n&lt;t;++n)r[n]=e;return r}var a=t(&quot;./reflect&quot;),o=t(&quot;./GLError&quot;);e.exports=function(t,e,r,s){function l(t,e,r){switch(r){case&quot;bool&quot;:case&quot;int&quot;:case&quot;sampler2D&quot;:case&quot;samplerCube&quot;:return&quot;gl.uniform1i(locations[&quot;+e+&quot;],obj&quot;+t+&quot;)&quot;;case&quot;float&quot;:return&quot;gl.uniform1f(locations[&quot;+e+&quot;],obj&quot;+t+&quot;)&quot;;default:var n=r.indexOf(&quot;vec&quot;);if(!(0&lt;=n&amp;&amp;n&lt;=1&amp;&amp;r.length===4+n)){if(0===r.indexOf(&quot;mat&quot;)&amp;&amp;4===r.length){if((i=r.charCodeAt(r.length-1)-48)&lt;2||i&gt;4)throw new o(&quot;&quot;,&quot;Invalid uniform dimension type for matrix &quot;+name+&quot;: &quot;+r);return&quot;gl.uniformMatrix&quot;+i+&quot;fv(locations[&quot;+e+&quot;],false,obj&quot;+t+&quot;)&quot;}throw new o(&quot;&quot;,&quot;Unknown uniform data type for &quot;+name+&quot;: &quot;+r)}var i;if((i=r.charCodeAt(r.length-1)-48)&lt;2||i&gt;4)throw new o(&quot;&quot;,&quot;Invalid data type&quot;);switch(r.charAt(0)){case&quot;b&quot;:case&quot;i&quot;:return&quot;gl.uniform&quot;+i+&quot;iv(locations[&quot;+e+&quot;],obj&quot;+t+&quot;)&quot;;case&quot;v&quot;:return&quot;gl.uniform&quot;+i+&quot;fv(locations[&quot;+e+&quot;],obj&quot;+t+&quot;)&quot;;default:throw new o(&quot;&quot;,&quot;Unrecognized data type for vector &quot;+name+&quot;: &quot;+r)}}}function c(t,e){if(&quot;object&quot;!=typeof e)return[[t,e]];var r=[];for(var n in e){var i=e[n],a=t;parseInt(n)+&quot;&quot;===n?a+=&quot;[&quot;+n+&quot;]&quot;:a+=&quot;.&quot;+n,&quot;object&quot;==typeof i?r.push.apply(r,c(a,i)):r.push([a,i])}return r}function u(e){for(var n=[&quot;return function updateProperty(obj){&quot;],i=c(&quot;&quot;,e),a=0;a&lt;i.length;++a){var o=i[a],u=o[0],f=o[1];s[f]&amp;&amp;n.push(l(u,f,r[f].type))}return n.push(&quot;return obj}&quot;),new Function(&quot;gl&quot;,&quot;locations&quot;,n.join(&quot;\n&quot;))(t,s)}function f(a,l,c){if(&quot;object&quot;==typeof c){var f=h(c);Object.defineProperty(a,l,{get:n(f),set:u(c),enumerable:!0,configurable:!1})}else s[c]?Object.defineProperty(a,l,{get:function(r){return new Function(&quot;gl&quot;,&quot;wrapper&quot;,&quot;locations&quot;,&quot;return function(){return gl.getUniform(wrapper.program,locations[&quot;+r+&quot;])}&quot;)(t,e,s)}(c),set:u(c),enumerable:!0,configurable:!1}):a[l]=function(t){switch(t){case&quot;bool&quot;:return!1;case&quot;int&quot;:case&quot;sampler2D&quot;:case&quot;samplerCube&quot;:case&quot;float&quot;:return 0;default:var e=t.indexOf(&quot;vec&quot;);if(0&lt;=e&amp;&amp;e&lt;=1&amp;&amp;t.length===4+e){if((r=t.charCodeAt(t.length-1)-48)&lt;2||r&gt;4)throw new o(&quot;&quot;,&quot;Invalid data type&quot;);return&quot;b&quot;===t.charAt(0)?i(r,!1):i(r,0)}if(0===t.indexOf(&quot;mat&quot;)&amp;&amp;4===t.length){var r;if((r=t.charCodeAt(t.length-1)-48)&lt;2||r&gt;4)throw new o(&quot;&quot;,&quot;Invalid uniform dimension type for matrix &quot;+name+&quot;: &quot;+t);return i(r*r,0)}throw new o(&quot;&quot;,&quot;Unknown uniform data type for &quot;+name+&quot;: &quot;+t)}}(r[c].type)}function h(t){var e;if(Array.isArray(t)){e=new Array(t.length);for(var r=0;r&lt;t.length;++r)f(e,r,t[r])}else{e={};for(var n in t)f(e,n,t[n])}return e}var d=a(r,!0);return{get:n(h(d)),set:u(d),enumerable:!0,configurable:!0}}},{&quot;./GLError&quot;:218,&quot;./reflect&quot;:221}],221:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t,e){for(var r={},n=0;n&lt;t.length;++n)for(var i=t[n].name.split(&quot;.&quot;),a=r,o=0;o&lt;i.length;++o){var s=i[o].split(&quot;[&quot;);if(s.length&gt;1){s[0]in a||(a[s[0]]=[]),a=a[s[0]];for(var l=1;l&lt;s.length;++l){var c=parseInt(s[l]);l&lt;s.length-1||o&lt;i.length-1?(c in a||(l&lt;s.length-1?a[c]=[]:a[c]={}),a=a[c]):a[c]=e?n:t[n].type}}else o&lt;i.length-1?(s[0]in a||(a[s[0]]={}),a=a[s[0]]):a[s[0]]=e?n:t[n].type}return r}},{}],222:[function(t,e,r){&quot;use strict&quot;;function n(t,e){if(!a){var r=Object.keys(i);a={};for(var n=0;n&lt;r.length;++n){var o=r[n];a[t[o]]=i[o]}}return a[e]}r.uniforms=function(t,e){for(var r=t.getProgramParameter(e,t.ACTIVE_UNIFORMS),i=[],a=0;a&lt;r;++a){var o=t.getActiveUniform(e,a);if(o){var s=n(t,o.type);if(o.size&gt;1)for(var l=0;l&lt;o.size;++l)i.push({name:o.name.replace(&quot;[0]&quot;,&quot;[&quot;+l+&quot;]&quot;),type:s});else i.push({name:o.name,type:s})}}return i},r.attributes=function(t,e){for(var r=t.getProgramParameter(e,t.ACTIVE_ATTRIBUTES),i=[],a=0;a&lt;r;++a){var o=t.getActiveAttrib(e,a);o&amp;&amp;i.push({name:o.name,type:n(t,o.type)})}return i};var i={FLOAT:&quot;float&quot;,FLOAT_VEC2:&quot;vec2&quot;,FLOAT_VEC3:&quot;vec3&quot;,FLOAT_VEC4:&quot;vec4&quot;,INT:&quot;int&quot;,INT_VEC2:&quot;ivec2&quot;,INT_VEC3:&quot;ivec3&quot;,INT_VEC4:&quot;ivec4&quot;,BOOL:&quot;bool&quot;,BOOL_VEC2:&quot;bvec2&quot;,BOOL_VEC3:&quot;bvec3&quot;,BOOL_VEC4:&quot;bvec4&quot;,FLOAT_MAT2:&quot;mat2&quot;,FLOAT_MAT3:&quot;mat3&quot;,FLOAT_MAT4:&quot;mat4&quot;,SAMPLER_2D:&quot;sampler2D&quot;,SAMPLER_CUBE:&quot;samplerCube&quot;},a=null},{}],223:[function(t,e,r){&quot;use strict&quot;;function n(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 i(t){this.gl=t,this.shaders=[{},{}],this.programs={}}function a(t){var e=l.get(t);return e||(e=new i(t),l.set(t,e)),e}r.shader=function(t,e,r){return a(t).getShaderReference(e,r)},r.program=function(t,e,r,n,i){return a(t).getProgram(e,r,n,i)};var o=t(&quot;./GLError&quot;),s=t(&quot;gl-format-compiler-error&quot;),l=new(&quot;undefined&quot;==typeof WeakMap?t(&quot;weakmap-shim&quot;):WeakMap),c=0;n.prototype.dispose=function(){if(0==--this.count){for(var t=this.cache,e=t.gl,r=this.programs,n=0,i=r.length;n&lt;i;++n){var a=t.programs[r[n]];a&amp;&amp;(delete t.programs[n],e.deleteProgram(a))}e.deleteShader(this.shader),delete t.shaders[this.type===e.FRAGMENT_SHADER|0][this.src]}};var u=i.prototype;u.getShaderReference=function(t,e){var r=this.gl,i=this.shaders[t===r.FRAGMENT_SHADER|0],a=i[e];if(a&amp;&amp;r.isShader(a.shader))a.count+=1;else{var l=function(t,e,r){var n=t.createShader(e);if(t.shaderSource(n,r),t.compileShader(n),!t.getShaderParameter(n,t.COMPILE_STATUS)){var i=t.getShaderInfoLog(n);try{var a=s(i,r,e)}catch(t){throw console.warn(&quot;Failed to format compiler error: &quot;+t),new o(i,&quot;Error compiling shader:\n&quot;+i)}throw new o(i,a.short,a.long)}return n}(r,t,e);a=i[e]=new n(c++,e,t,l,[],1,this)}return a},u.getProgram=function(t,e,r,n){var i=[t.id,e.id,r.join(&quot;:&quot;),n.join(&quot;:&quot;)].join(&quot;@&quot;),a=this.programs[i];return a&amp;&amp;this.gl.isProgram(a)||(this.programs[i]=a=function(t,e,r,n,i){var a=t.createProgram();t.attachShader(a,e),t.attachShader(a,r);for(var s=0;s&lt;n.length;++s)t.bindAttribLocation(a,i[s],n[s]);if(t.linkProgram(a),!t.getProgramParameter(a,t.LINK_STATUS)){var l=t.getProgramInfoLog(a);throw new o(l,&quot;Error linking program: &quot;+l)}return a}(this.gl,t.shader,e.shader,r,n),t.programs.push(i),e.programs.push(i)),a}},{&quot;./GLError&quot;:218,&quot;gl-format-compiler-error&quot;:172,&quot;weakmap-shim&quot;:576}],224:[function(t,e,r){&quot;use strict&quot;;function n(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}function i(t){for(var e=t.slice(),r=0;r&lt;e.length;++r)e[r]=e[r].slice();return e}function a(t,e){return t.x-e.x}e.exports=function(t){var e=t.gl,r=new n(e,o(e,[e.drawingBufferWidth,e.drawingBufferHeight]));return r.grid=s(r),r.text=l(r),r.line=c(r),r.box=u(r),r.update(t),r};var o=t(&quot;gl-select-static&quot;),s=t(&quot;./lib/grid&quot;),l=t(&quot;./lib/text&quot;),c=t(&quot;./lib/line&quot;),u=t(&quot;./lib/box&quot;),f=n.prototype;f.setDirty=function(){this.dirty=this.pickDirty=!0},f.setOverlayDirty=function(){this.dirty=!0},f.nextDepthValue=function(){return this._depthCounter++/65536},f.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&amp;&amp;(this._pickTimeout&amp;&amp;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,d=this.zeroLineWidth;if(f[0]||f[1]){o.bind();for(var p=0;p&lt;2;++p)if(f[p]&amp;&amp;n[p]&lt;=0&amp;&amp;n[p+2]&gt;=0){var m=e[p]-n[p]*(e[p+2]-e[p])/(n[p+2]-n[p]);0===p?o.drawLine(m,e[1],m,e[3],d[p],h[p]):o.drawLine(e[0],m,e[2],m,d[p],h[p])}}for(p=0;p&lt;l.length;++p)l[p].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;g[1]&amp;&amp;o.drawLine(r[0],r[1]-.5*v[1]*i,r[0],r[3]+.5*v[3]*i,v[1],y[1]),g[0]&amp;&amp;o.drawLine(r[0]-.5*v[0]*i,r[1],r[2]+.5*v[2]*i,r[1],v[0],y[0]),g[3]&amp;&amp;o.drawLine(r[2],r[1]-.5*v[1]*i,r[2],r[3]+.5*v[3]*i,v[3],y[3]),g[2]&amp;&amp;o.drawLine(r[0]-.5*v[0]*i,r[3],r[2]+.5*v[2]*i,r[3],v[2],y[2]),s.bind();for(p=0;p&lt;2;++p)s.drawTicks(p);this.titleEnable&amp;&amp;s.drawTitle();var x=this.overlays;for(p=0;p&lt;x.length;++p)x[p].draw();t.disable(t.SCISSOR_TEST),t.disable(t.BLEND),t.depthMask(!0)}},f.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&lt;r.length;++n)e=r[n].drawPick(e);t.end()}},f.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]&lt;&lt;8)+(s.value[1]&lt;&lt;16)+(s.value[2]&lt;&lt;24),c=this.objects,u=0;u&lt;c.length;++u){var f=c[u].pick(a,o,l);if(f)return f}return null}},f.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()},f.setDataBox=function(t){var e=this.dataBox;(e[0]!==t[0]||e[1]!==t[1]||e[2]!==t[2]||e[3]!==t[3])&amp;&amp;(e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],this.setDirty())},f.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()},f.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,o=(n[2]-n[0])/(n[3]-n[1]);this.setDataBox(t.dataBox||[-10,-10/o,10,10/o]),this.borderColor=!1!==t.borderColor&amp;&amp;(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=i(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=i(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=i(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=!(&quot;titleEnable&quot;in t&amp;&amp;!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=i(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=i(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=i(t.borderLineColor||[[0,0,0,1],[0,0,0,1],[0,0,0,1],[0,0,0,1]]);var s=t.ticks||[[],[]],l=this._tickBounds;l[0]=l[1]=1/0,l[2]=l[3]=-1/0;for(var c=0;c&lt;2;++c){var u=s[c].slice(0);0!==u.length&amp;&amp;(u.sort(a),l[c]=Math.min(l[c],u[0].x),l[c+2]=Math.max(l[c+2],u[u.length-1].x))}this.grid.update({bounds:l,ticks:s}),this.text.update({bounds:l,ticks:s,labels:t.labels||[&quot;x&quot;,&quot;y&quot;],labelSize:t.labelSize||[12,12],labelFont:t.labelFont||[&quot;sans-serif&quot;,&quot;sans-serif&quot;],title:t.title||&quot;&quot;,titleSize:t.titleSize||18,titleFont:t.titleFont||&quot;sans-serif&quot;}),this.static=!!t.static,this.setDirty()},f.dispose=function(){this.box.dispose(),this.grid.dispose(),this.text.dispose(),this.line.dispose();for(var t=this.objects.length-1;t&gt;=0;--t)this.objects[t].dispose();this.objects.length=0;for(t=this.overlays.length-1;t&gt;=0;--t)this.overlays[t].dispose();this.overlays.length=0,this.gl=null},f.addObject=function(t){this.objects.indexOf(t)&lt;0&amp;&amp;(this.objects.push(t),this.setDirty())},f.removeObject=function(t){for(var e=this.objects,r=0;r&lt;e.length;++r)if(e[r]===t){e.splice(r,1),this.setDirty();break}},f.addOverlay=function(t){this.overlays.indexOf(t)&lt;0&amp;&amp;(this.overlays.push(t),this.setOverlayDirty())},f.removeOverlay=function(t){for(var e=this.overlays,r=0;r&lt;e.length;++r)if(e[r]===t){e.splice(r,1),this.setOverlayDirty();break}}},{&quot;./lib/box&quot;:211,&quot;./lib/grid&quot;:212,&quot;./lib/line&quot;:213,&quot;./lib/text&quot;:215,&quot;gl-select-static&quot;:242}],225:[function(t,e,r){var n=t(&quot;gl-shader&quot;);e.exports=function(t){return n(t,&quot;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}&quot;,&quot;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}&quot;,null,[{name:&quot;position&quot;,type:&quot;vec2&quot;}])}},{&quot;gl-shader&quot;:243}],226:[function(t,e,r){&quot;use strict&quot;;function n(t){var e=Math.round(Math.log(Math.abs(t))/Math.log(10));if(e&lt;0){var r=Math.round(Math.pow(10,-e));return Math.ceil(t*r)/r}if(e&gt;0){r=Math.round(Math.pow(10,e));return Math.ceil(t/r)*r}return Math.ceil(t)}function i(t){return&quot;boolean&quot;!=typeof t||t}e.exports=function(t){function e(){if(!x&amp;&amp;U.autoResize){var t=b.parentNode,e=1,r=1;t&amp;&amp;t!==document.body?(e=t.clientWidth,r=t.clientHeight):(e=window.innerWidth,r=window.innerHeight);var n=0|Math.ceil(e*U.pixelRatio),i=0|Math.ceil(r*U.pixelRatio);if(n!==b.width||i!==b.height){b.width=n,b.height=i;var a=b.style;a.position=a.position||&quot;absolute&quot;,a.left=&quot;0px&quot;,a.top=&quot;0px&quot;,a.width=e+&quot;px&quot;,a.height=r+&quot;px&quot;,O=!0}}}function r(){for(var t=z.length,e=P.length,r=0;r&lt;e;++r)I[r]=0;t:for(r=0;r&lt;t;++r){var n=z[r],i=n.pickSlots;if(i){for(var a=0;a&lt;e;++a)if(I[a]+i&lt;255){D[r]=a,n.setPickBase(I[a]+1),I[a]+=i;continue t}var o=c(_,B);D[r]=e,P.push(o),I.push(i),n.setPickBase(1),e+=1}else D[r]=-1}for(;e&gt;0&amp;&amp;0===I[e-1];)I.pop(),P.pop().dispose()}function g(){if(U.contextLost)return!0;_.isContextLost()&amp;&amp;(U.contextLost=!0,U.mouseListener.enabled=!1,U.selection.object=null,U.oncontextloss&amp;&amp;U.oncontextloss())}function v(){if(!g()){e();var t=U.camera.tick();j.view=U.camera.matrix,O=O||t,F=F||t,E.pixelRatio=U.pixelRatio,C.pixelRatio=U.pixelRatio;var r=z.length,i=G[0],a=G[1];i[0]=i[1]=i[2]=1/0,a[0]=a[1]=a[2]=-1/0;for(var o=0;o&lt;r;++o){(L=z[o]).pixelRatio=U.pixelRatio,L.axes=U.axes,O=O||!!L.dirty,F=F||!!L.dirty;var l=L.bounds;if(l)for(var c=l[0],u=l[1],h=0;h&lt;3;++h)i[h]=Math.min(i[h],c[h]),a[h]=Math.max(a[h],u[h])}var p=U.bounds;if(U.autoBounds)for(h=0;h&lt;3;++h){if(a[h]&lt;i[h])i[h]=-1,a[h]=1;else{i[h]===a[h]&amp;&amp;(i[h]-=1,a[h]+=1);var m=.05*(a[h]-i[h]);i[h]=i[h]-m,a[h]=a[h]+m}p[0][h]=i[h],p[1][h]=a[h]}var v=!1;for(h=0;h&lt;3;++h)v=v||Y[0][h]!==p[0][h]||Y[1][h]!==p[1][h],Y[0][h]=p[0][h],Y[1][h]=p[1][h];if(F=F||v,O=O||v){if(v){var y=[0,0,0];for(o=0;o&lt;3;++o)y[o]=n((p[1][o]-p[0][o])/10);E.autoTicks?E.update({bounds:p,tickSpacing:y}):E.update({bounds:p})}var x=_.drawingBufferWidth,b=_.drawingBufferHeight;for(B[0]=x,B[1]=b,V[0]=0|Math.max(x/U.pixelRatio,1),V[1]=0|Math.max(b/U.pixelRatio,1),d(R,U.fovy,x/b,U.zNear,U.zFar),o=0;o&lt;16;++o)N[o]=0;N[15]=1;var w=0;for(o=0;o&lt;3;++o)w=Math.max(w,p[1][o]-p[0][o]);for(o=0;o&lt;3;++o)U.autoScale?N[5*o]=U.aspect[o]/(p[1][o]-p[0][o]):N[5*o]=1/w,U.autoCenter&amp;&amp;(N[12+o]=.5*-N[5*o]*(p[0][o]+p[1][o]));for(o=0;o&lt;r;++o)(L=z[o]).axesBounds=p,U.clipToBounds&amp;&amp;(L.clipBounds=p);M.object&amp;&amp;(U.snapToData?C.position=M.dataCoordinate:C.position=M.dataPosition,C.bounds=p),F&amp;&amp;(F=!1,function(){if(!g()){_.colorMask(!0,!0,!0,!0),_.depthMask(!0),_.disable(_.BLEND),_.enable(_.DEPTH_TEST);for(var t=z.length,e=P.length,r=0;r&lt;e;++r){var n=P[r];n.shape=V,n.begin();for(var i=0;i&lt;t;++i)if(D[i]===r){var a=z[i];a.drawPick&amp;&amp;(a.pixelRatio=1,a.drawPick(j))}n.end()}}}()),U.axesPixels=s(U.axes,j,x,b),U.onrender&amp;&amp;U.onrender(),_.bindFramebuffer(_.FRAMEBUFFER,null),_.viewport(0,0,x,b);var T=U.clearColor;_.clearColor(T[0],T[1],T[2],T[3]),_.clear(_.COLOR_BUFFER_BIT|_.DEPTH_BUFFER_BIT),_.depthMask(!0),_.colorMask(!0,!0,!0,!0),_.enable(_.DEPTH_TEST),_.depthFunc(_.LEQUAL),_.disable(_.BLEND),_.disable(_.CULL_FACE);var S=!1;for(E.enable&amp;&amp;(S=S||E.isTransparent(),E.draw(j)),C.axes=E,M.object&amp;&amp;C.draw(j),_.disable(_.CULL_FACE),o=0;o&lt;r;++o)(L=z[o]).axes=E,L.pixelRatio=U.pixelRatio,L.isOpaque&amp;&amp;L.isOpaque()&amp;&amp;L.draw(j),L.isTransparent&amp;&amp;L.isTransparent()&amp;&amp;(S=!0);if(S){for(k.shape=B,k.bind(),_.clear(_.DEPTH_BUFFER_BIT),_.colorMask(!1,!1,!1,!1),_.depthMask(!0),_.depthFunc(_.LESS),E.enable&amp;&amp;E.isTransparent()&amp;&amp;E.drawTransparent(j),o=0;o&lt;r;++o)(L=z[o]).isOpaque&amp;&amp;L.isOpaque()&amp;&amp;L.draw(j);for(_.enable(_.BLEND),_.blendEquation(_.FUNC_ADD),_.blendFunc(_.ONE,_.ONE_MINUS_SRC_ALPHA),_.colorMask(!0,!0,!0,!0),_.depthMask(!1),_.clearColor(0,0,0,0),_.clear(_.COLOR_BUFFER_BIT),E.isTransparent()&amp;&amp;E.drawTransparent(j),o=0;o&lt;r;++o){var L;(L=z[o]).isTransparent&amp;&amp;L.isTransparent()&amp;&amp;L.drawTransparent(j)}_.bindFramebuffer(_.FRAMEBUFFER,null),_.blendFunc(_.ONE,_.ONE_MINUS_SRC_ALPHA),_.disable(_.DEPTH_TEST),A.bind(),k.color[0].bind(0),A.uniforms.accumBuffer=0,f(_),_.disable(_.BLEND)}for(O=!1,o=0;o&lt;r;++o)z[o].dirty=!1}}}function y(){x||U.contextLost||(requestAnimationFrame(y),v())}var x=!1,b=((t=t||{}).pixelRatio||parseFloat(window.devicePixelRatio),t.canvas);b||(b=document.createElement(&quot;canvas&quot;),t.container?t.container.appendChild(b):document.body.appendChild(b));var _=t.gl;if(_||(_=function(t,e){var r=null;try{(r=t.getContext(&quot;webgl&quot;,e))||(r=t.getContext(&quot;experimental-webgl&quot;,e))}catch(t){return null}return r}(b,t.glOptions||{premultipliedAlpha:!0,antialias:!0})),!_)throw new Error(&quot;webgl not supported&quot;);var w=t.bounds||[[-10,-10,-10],[10,10,10]],M=new function(){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},k=u(_,[_.drawingBufferWidth,_.drawingBufferHeight],{preferFloat:!m}),A=p(_),T=t.camera||{eye:[2,0,0],center:[0,0,0],up:[0,1,0],zoomMin:.1,zoomMax:100,mode:&quot;turntable&quot;},S=t.axes||{},E=o(_,S);E.enable=!S.disable;var L=t.spikes||{},C=l(_,L),z=[],D=[],I=[],P=[],O=!0,F=!0,R=new Array(16),N=new Array(16),j={view:null,projection:R,model:N},B=(F=!0,[_.drawingBufferWidth,_.drawingBufferHeight]),U={gl:_,contextLost:!1,pixelRatio:t.pixelRatio||parseFloat(window.devicePixelRatio),canvas:b,selection:M,camera:a(b,T),axes:E,axesPixels:null,spikes:C,bounds:w,objects:z,shape:B,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:i(t.autoResize),autoBounds:i(t.autoBounds),autoScale:!!t.autoScale,autoCenter:i(t.autoCenter),clipToBounds:i(t.clipToBounds),snapToData:!!t.snapToData,onselect:t.onselect||null,onrender:t.onrender||null,onclick:t.onclick||null,cameraParams:j,oncontextloss:null,mouseListener:null},V=[_.drawingBufferWidth/U.pixelRatio|0,_.drawingBufferHeight/U.pixelRatio|0];U.autoResize&amp;&amp;e(),window.addEventListener(&quot;resize&quot;,e),U.update=function(t){x||(t=t||{},O=!0,F=!0)},U.add=function(t){x||(t.axes=E,z.push(t),D.push(-1),O=!0,F=!0,r())},U.remove=function(t){if(!x){var e=z.indexOf(t);e&lt;0||(z.splice(e,1),D.pop(),O=!0,F=!0,r())}},U.dispose=function(){if(!x&amp;&amp;(x=!0,window.removeEventListener(&quot;resize&quot;,e),b.removeEventListener(&quot;webglcontextlost&quot;,g),U.mouseListener.enabled=!1,!U.contextLost)){E.dispose(),C.dispose();for(var t=0;t&lt;z.length;++t)z[t].dispose();for(k.dispose(),t=0;t&lt;P.length;++t)P[t].dispose();A.dispose(),_=null,E=null,C=null,z=[]}};var q=!1,H=0;U.mouseListener=h(b,function(t,e,r){if(!x){var n=P.length,i=z.length,a=M.object;M.distance=1/0,M.mouse[0]=e,M.mouse[1]=r,M.object=null,M.screen=null,M.dataCoordinate=M.dataPosition=null;var o=!1;if(t&amp;&amp;H)q=!0;else{q&amp;&amp;(F=!0),q=!1;for(var s=0;s&lt;n;++s){var l=P[s].query(e,V[1]-r-1,U.pickRadius);if(l){if(l.distance&gt;M.distance)continue;for(var c=0;c&lt;i;++c){var u=z[c];if(D[c]===s){var f=u.pick(l);f&amp;&amp;(M.buttons=t,M.screen=l.coord,M.distance=l.distance,M.object=u,M.index=f.distance,M.dataPosition=f.position,M.dataCoordinate=f.dataCoordinate,M.data=f,o=!0)}}}}}a&amp;&amp;a!==M.object&amp;&amp;(a.highlight&amp;&amp;a.highlight(null),O=!0),M.object&amp;&amp;(M.object.highlight&amp;&amp;M.object.highlight(M.data),O=!0),(o=o||M.object!==a)&amp;&amp;U.onselect&amp;&amp;U.onselect(M),1&amp;t&amp;&amp;!(1&amp;H)&amp;&amp;U.onclick&amp;&amp;U.onclick(M),H=t}}),b.addEventListener(&quot;webglcontextlost&quot;,g);var G=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],Y=[G[0].slice(),G[1].slice()];return y(),U.redraw=function(){x||(O=!0,v())},U};var a=t(&quot;3d-view-controls&quot;),o=t(&quot;gl-axes3d&quot;),s=t(&quot;gl-axes3d/properties&quot;),l=t(&quot;gl-spikes3d&quot;),c=t(&quot;gl-select-static&quot;),u=t(&quot;gl-fbo&quot;),f=t(&quot;a-big-triangle&quot;),h=t(&quot;mouse-change&quot;),d=t(&quot;gl-mat4/perspective&quot;),p=t(&quot;./lib/shader&quot;),m=t(&quot;is-mobile&quot;)()},{&quot;./lib/shader&quot;:225,&quot;3d-view-controls&quot;:39,&quot;a-big-triangle&quot;:42,&quot;gl-axes3d&quot;:157,&quot;gl-axes3d/properties&quot;:164,&quot;gl-fbo&quot;:171,&quot;gl-mat4/perspective&quot;:189,&quot;gl-select-static&quot;:242,&quot;gl-spikes3d&quot;:252,&quot;is-mobile&quot;:285,&quot;mouse-change&quot;:443}],227:[function(t,e,r){r.pointVertex=&quot;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}&quot;,r.pointFragment=&quot;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 &gt; 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&quot;,r.pickVertex=&quot;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&quot;,r.pickFragment=&quot;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 &gt; 1.0) {\n    discard;\n  }\n  gl_FragColor = fragId / 255.0;\n}\n&quot;},{}],228:[function(t,e,r){arguments[4][217][0].apply(r,arguments)},{&quot;./lib/GLError&quot;:229,&quot;./lib/create-attributes&quot;:230,&quot;./lib/create-uniforms&quot;:231,&quot;./lib/reflect&quot;:232,&quot;./lib/runtime-reflect&quot;:233,&quot;./lib/shader-cache&quot;:234,dup:217}],229:[function(t,e,r){arguments[4][218][0].apply(r,arguments)},{dup:218}],230:[function(t,e,r){arguments[4][219][0].apply(r,arguments)},{&quot;./GLError&quot;:229,dup:219}],231:[function(t,e,r){arguments[4][220][0].apply(r,arguments)},{&quot;./GLError&quot;:229,&quot;./reflect&quot;:232,dup:220}],232:[function(t,e,r){arguments[4][221][0].apply(r,arguments)},{dup:221}],233:[function(t,e,r){arguments[4][222][0].apply(r,arguments)},{dup:222}],234:[function(t,e,r){arguments[4][223][0].apply(r,arguments)},{&quot;./GLError&quot;:229,dup:223,&quot;gl-format-compiler-error&quot;:172,&quot;weakmap-shim&quot;:576}],235:[function(t,e,r){&quot;use strict&quot;;function n(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}var i=t(&quot;gl-shader&quot;),a=t(&quot;gl-buffer&quot;),o=t(&quot;typedarray-pool&quot;),s=t(&quot;./lib/shader&quot;);e.exports=function(t,e){var r=t.gl,o=new n(t,a(r),a(r),i(r,s.pointVertex,s.pointFragment),i(r,s.pickVertex,s.pickFragment));return o.update(e),t.addObject(o),o};var l=n.prototype;l.dispose=function(){this.shader.dispose(),this.pickShader.dispose(),this.offsetBuffer.dispose(),this.pickBuffer.dispose(),this.plot.removeObject(this)},l.update=function(t){function e(e,r){return e in t?t[e]:r}var r;t=t||{},this.sizeMin=e(&quot;sizeMin&quot;,.5),this.sizeMax=e(&quot;sizeMax&quot;,20),this.color=e(&quot;color&quot;,[1,0,0,1]).slice(),this.areaRatio=e(&quot;areaRatio&quot;,1),this.borderColor=e(&quot;borderColor&quot;,[0,0,0,1]).slice(),this.blend=e(&quot;blend&quot;,!1);var n=t.positions.length&gt;&gt;&gt;1,i=t.positions instanceof Float32Array,a=t.idToIndex instanceof Int32Array&amp;&amp;t.idToIndex.length&gt;=n,s=t.positions,l=i?s:o.mallocFloat32(s.length),c=a?t.idToIndex:o.mallocInt32(n);if(i||l.set(s),!a)for(l.set(s),r=0;r&lt;n;r++)c[r]=r;this.points=s,this.offsetBuffer.update(l),this.pickBuffer.update(c),i||o.free(l),a||o.free(c),this.pointCount=n,this.pickOffset=0},l.unifiedDraw=function(){var t=[1,0,0,0,1,0,0,0,1],e=[0,0,0,0];return function(r){var n=void 0!==r,i=n?this.pickShader:this.shader,a=this.plot.gl,o=this.plot.dataBox;if(0===this.pointCount)return r;var s=o[2]-o[0],l=o[3]-o[1],c=function(t,e){var r,n=0,i=t.length&gt;&gt;&gt;1;for(r=0;r&lt;i;r++){var a=t[2*r],o=t[2*r+1];a&gt;=e[0]&amp;&amp;a&lt;=e[2]&amp;&amp;o&gt;=e[1]&amp;&amp;o&lt;=e[3]&amp;&amp;n++}return n}(this.points,o),u=this.plot.pickPixelRatio*Math.max(Math.min(this.sizeMinCap,this.sizeMin),Math.min(this.sizeMax,this.sizeMax/Math.pow(c,.33333)));t[0]=2/s,t[4]=2/l,t[6]=-2*o[0]/s-1,t[7]=-2*o[1]/l-1,this.offsetBuffer.bind(),i.bind(),i.attributes.position.pointer(),i.uniforms.matrix=t,i.uniforms.color=this.color,i.uniforms.borderColor=this.borderColor,i.uniforms.pointCloud=u&lt;5,i.uniforms.pointSize=u,i.uniforms.centerFraction=Math.min(1,Math.max(0,Math.sqrt(1-this.areaRatio))),n&amp;&amp;(e[0]=255&amp;r,e[1]=r&gt;&gt;8&amp;255,e[2]=r&gt;&gt;16&amp;255,e[3]=r&gt;&gt;24&amp;255,this.pickBuffer.bind(),i.attributes.pickId.pointer(a.UNSIGNED_BYTE),i.uniforms.pickOffset=e,this.pickOffset=r);var f=a.getParameter(a.BLEND),h=a.getParameter(a.DITHER);return f&amp;&amp;!this.blend&amp;&amp;a.disable(a.BLEND),h&amp;&amp;a.disable(a.DITHER),a.drawArrays(a.POINTS,0,this.pointCount),f&amp;&amp;!this.blend&amp;&amp;a.enable(a.BLEND),h&amp;&amp;a.enable(a.DITHER),r+this.pointCount}}(),l.draw=l.unifiedDraw,l.drawPick=l.unifiedDraw,l.pick=function(t,e,r){var n=this.pickOffset,i=this.pointCount;if(r&lt;n||r&gt;=n+i)return null;var a=r-n,o=this.points;return{object:this,pointId:a,dataCoord:[o[2*a],o[2*a+1]]}}},{&quot;./lib/shader&quot;:227,&quot;gl-buffer&quot;:165,&quot;gl-shader&quot;:228,&quot;typedarray-pool&quot;:554}],236:[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],d=r[0],p=r[1],m=r[2],g=r[3];return(a=c*d+u*p+f*m+h*g)&lt;0&amp;&amp;(a=-a,d=-d,p=-p,m=-m,g=-g),1-a&gt;1e-6?(i=Math.acos(a),o=Math.sin(i),s=Math.sin((1-n)*i)/o,l=Math.sin(n*i)/o):(s=1-n,l=n),t[0]=s*c+l*d,t[1]=s*u+l*p,t[2]=s*f+l*m,t[3]=s*h+l*g,t}},{}],237:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;vectorize-text&quot;);e.exports=function(t,e){var r=i[e];if(r||(r=i[e]={}),t in r)return r[t];for(var a=n(t,{textAlign:&quot;center&quot;,textBaseline:&quot;middle&quot;,lineHeight:1,font:e}),o=n(t,{triangles:!0,textAlign:&quot;center&quot;,textBaseline:&quot;middle&quot;,lineHeight:1,font:e}),s=[[1/0,1/0],[-1/0,-1/0]],l=0;l&lt;a.positions.length;++l)for(var c=a.positions[l],u=0;u&lt;2;++u)s[0][u]=Math.min(s[0][u],c[u]),s[1][u]=Math.max(s[1][u],c[u]);return r[t]=[o,a,s]};var i={}},{&quot;vectorize-text&quot;:568}],238:[function(t,e,r){function n(t,e){var r=i(t,e),n=r.attributes;return n.position.location=0,n.color.location=1,n.glyph.location=2,n.id.location=3,r}var i=t(&quot;gl-shader&quot;),a=&quot;precision mediump float;\n#define GLSLIFY 1\n\nattribute vec3 position;\nattribute vec4 color;\nattribute vec2 glyph;\nattribute vec4 id;\n\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(any(lessThan(position, clipBounds[0]))   || \n     any(greaterThan(position, clipBounds[1])) ) {\n    gl_Position = vec4(0,0,0,0);\n  } else {\n    float scale = 1.0;\n    if(distance(highlightId, id) &lt; 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}&quot;,o=&quot;precision mediump float;\n#define GLSLIFY 1\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(any(lessThan(position, clipBounds[0])) || any(greaterThan(position, clipBounds[1]))) {\n    gl_Position = vec4(0,0,0,0);\n  } else {\n    float scale = pixelRatio;\n    if(distance(highlightId.bgr, id.bgr) &lt; 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}&quot;,s=&quot;precision mediump float;\n#define GLSLIFY 1\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(any(lessThan(position, clipBounds[0]))   ||\n     any(greaterThan(position, clipBounds[1])) ) {\n    gl_Position = vec4(0,0,0,0);\n  } else {\n    float lscale = pixelRatio * scale;\n    if(distance(highlightId, id) &lt; 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&quot;,l=&quot;precision mediump float;\n#define GLSLIFY 1\n\nuniform vec3 fragClipBounds[2];\nuniform float opacity;\n\nvarying vec4 interpColor;\nvarying vec4 pickId;\nvarying vec3 dataCoordinate;\n\nvoid main() {\n  if(any(lessThan(dataCoordinate, fragClipBounds[0]))   ||\n     any(greaterThan(dataCoordinate, fragClipBounds[1])) ) {\n    discard;\n  } else {\n    gl_FragColor = interpColor * opacity;\n  }\n}\n&quot;,c=&quot;precision mediump float;\n#define GLSLIFY 1\n\nuniform vec3 fragClipBounds[2];\nuniform float pickGroup;\n\nvarying vec4 pickId;\nvarying vec3 dataCoordinate;\n\nvoid main() {\n  if(any(lessThan(dataCoordinate, fragClipBounds[0]))   || \n     any(greaterThan(dataCoordinate, fragClipBounds[1])) ) {\n    discard;\n  } else {\n    gl_FragColor = vec4(pickGroup, pickId.bgr);\n  }\n}&quot;,u=[{name:&quot;position&quot;,type:&quot;vec3&quot;},{name:&quot;color&quot;,type:&quot;vec4&quot;},{name:&quot;glyph&quot;,type:&quot;vec2&quot;},{name:&quot;id&quot;,type:&quot;vec4&quot;}],f={vertex:a,fragment:l,attributes:u},h={vertex:o,fragment:l,attributes:u},d={vertex:s,fragment:l,attributes:u},p={vertex:a,fragment:c,attributes:u},m={vertex:o,fragment:c,attributes:u},g={vertex:s,fragment:c,attributes:u};r.createPerspective=function(t){return n(t,f)},r.createOrtho=function(t){return n(t,h)},r.createProject=function(t){return n(t,d)},r.createPickPerspective=function(t){return n(t,p)},r.createPickOrtho=function(t){return n(t,m)},r.createPickProject=function(t){return n(t,g)}},{&quot;gl-shader&quot;:243}],239:[function(t,e,r){&quot;use strict&quot;;function n(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 i(t,e,r,i){return n(i,i),n(i,i),n(i,i)}function a(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.lineWidth=0,this.projectScale=[2/3,2/3,2/3],this.projectOpacity=[1,1,1],this.pickId=0,this.pickPerspectiveShader=c,this.pickOrthoShader=u,this.pickProjectShader=f,this.points=[],this._selectResult=new function(t,e){this.index=t,this.dataCoordinate=this.position=e}(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}function o(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 l(t,e,r,n){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[r]=n,t}function c(t,e,r,n,a){var c,u=e.axesProject,f=e.gl,h=t.uniforms,d=r.model||v,m=r.view||v,g=r.projection||v,y=e.axesBounds,S=function(t){for(var e=T,r=0;r&lt;2;++r)for(var n=0;n&lt;3;++n)e[r][n]=Math.max(Math.min(t[r][n],1e8),-1e8);return e}(e.clipBounds);c=e.axes?e.axes.lastCubeProps.axis:[1,1,1],x[0]=2/f.drawingBufferWidth,x[1]=2/f.drawingBufferHeight,t.bind(),h.view=m,h.projection=g,h.screenSize=x,h.highlightId=e.highlightId,h.highlightScale=e.highlightScale,h.clipBounds=S,h.pickGroup=e.pickId/255,h.pixelRatio=e.pixelRatio;for(var E=0;E&lt;3;++E)if(u[E]&amp;&amp;e.projectOpacity[E]&lt;1===n){h.scale=e.projectScale[E],h.opacity=e.projectOpacity[E];for(var L=k,C=0;C&lt;16;++C)L[C]=0;for(C=0;C&lt;4;++C)L[5*C]=1;L[5*E]=0,c[E]&lt;0?L[12+E]=y[0][E]:L[12+E]=y[1][E],p(L,d,L),h.model=L;var z=(E+1)%3,D=(E+2)%3,I=o(b),P=o(_);I[z]=1,P[D]=1;var O=i(0,0,0,s(w,I)),F=i(0,0,0,s(M,P));if(Math.abs(O[1])&gt;Math.abs(F[1])){var R=O;O=F,F=R,R=I,I=P,P=R;var N=z;z=D,D=N}O[0]&lt;0&amp;&amp;(I[z]=-1),F[1]&gt;0&amp;&amp;(P[D]=-1);var j=0,B=0;for(C=0;C&lt;4;++C)j+=Math.pow(d[4*z+C],2),B+=Math.pow(d[4*D+C],2);I[z]/=Math.sqrt(j),P[D]/=Math.sqrt(B),h.axes[0]=I,h.axes[1]=P,h.fragClipBounds[0]=l(A,S[0],E,-1e8),h.fragClipBounds[1]=l(A,S[1],E,1e8),e.vao.draw(f.TRIANGLES,e.vertexCount),e.lineWidth&gt;0&amp;&amp;(f.lineWidth(e.lineWidth),e.vao.draw(f.LINES,e.lineVertexCount,e.vertexCount))}}function u(t,e,r,n,i,a){var o=r.gl;if(r.vao.bind(),i===r.opacity&lt;1||a){t.bind();var s=t.uniforms;s.model=n.model||v,s.view=n.view||v,s.projection=n.projection||v,x[0]=2/o.drawingBufferWidth,x[1]=2/o.drawingBufferHeight,s.screenSize=x,s.highlightId=r.highlightId,s.highlightScale=r.highlightScale,s.fragClipBounds=S,s.clipBounds=r.axes.bounds,s.opacity=r.opacity,s.pickGroup=r.pickId/255,s.pixelRatio=r.pixelRatio,r.vao.draw(o.TRIANGLES,r.vertexCount),r.lineWidth&gt;0&amp;&amp;(o.lineWidth(r.lineWidth),r.vao.draw(o.LINES,r.lineVertexCount,r.vertexCount))}c(e,r,n,i),r.vao.unbind()}var f=t(&quot;gl-buffer&quot;),h=t(&quot;gl-vao&quot;),d=t(&quot;typedarray-pool&quot;),p=t(&quot;gl-mat4/multiply&quot;),m=t(&quot;./lib/shaders&quot;),g=t(&quot;./lib/glyphs&quot;),v=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];e.exports=function(t){var e=t.gl,r=m.createPerspective(e),n=m.createOrtho(e),i=m.createProject(e),o=m.createPickPerspective(e),s=m.createPickOrtho(e),l=m.createPickProject(e),c=f(e),u=f(e),d=f(e),p=f(e),g=new a(e,r,n,i,c,u,d,p,h(e,[{buffer:c,size:3,type:e.FLOAT},{buffer:u,size:4,type:e.FLOAT},{buffer:d,size:2,type:e.FLOAT},{buffer:p,size:4,type:e.UNSIGNED_BYTE,normalized:!0}]),o,s,l);return g.update(t),g};var y=a.prototype;y.pickSlots=1,y.setPickBase=function(t){this.pickId=t},y.isTransparent=function(){if(this.opacity&lt;1)return!0;for(var t=0;t&lt;3;++t)if(this.axesProject[t]&amp;&amp;this.projectOpacity[t]&lt;1)return!0;return!1},y.isOpaque=function(){if(this.opacity&gt;=1)return!0;for(var t=0;t&lt;3;++t)if(this.axesProject[t]&amp;&amp;this.projectOpacity[t]&gt;=1)return!0;return!1};var x=[0,0],b=[0,0,0],_=[0,0,0],w=[0,0,0,1],M=[0,0,0,1],k=v.slice(),A=[0,0,0],T=[[0,0,0],[0,0,0]],S=[[-1e8,-1e8,-1e8],[1e8,1e8,1e8]];y.draw=function(t){u(this.useOrtho?this.orthoShader:this.shader,this.projectShader,this,t,!1,!1)},y.drawTransparent=function(t){u(this.useOrtho?this.orthoShader:this.shader,this.projectShader,this,t,!0,!1)},y.drawPick=function(t){u(this.useOrtho?this.pickOrthoShader:this.pickPerspectiveShader,this.pickProjectShader,this,t,!1,!0)},y.pick=function(t){if(!t)return null;if(t.id!==this.pickId)return null;var e=t.value[2]+(t.value[1]&lt;&lt;8)+(t.value[0]&lt;&lt;16);if(e&gt;=this.pointCount||e&lt;0)return null;var r=this.points[e],n=this._selectResult;n.index=e;for(var i=0;i&lt;3;++i)n.position[i]=n.dataCoordinate[i]=r[i];return n},y.highlight=function(t){if(t){var e=t.index,r=255&amp;e,n=e&gt;&gt;8&amp;255,i=e&gt;&gt;16&amp;255;this.highlightId=[r/255,n/255,i/255,0]}else this.highlightId=[1,1,1,1]},y.update=function(t){if(&quot;perspective&quot;in(t=t||{})&amp;&amp;(this.useOrtho=!t.perspective),&quot;orthographic&quot;in t&amp;&amp;(this.useOrtho=!!t.orthographic),&quot;lineWidth&quot;in t&amp;&amp;(this.lineWidth=t.lineWidth),&quot;project&quot;in t)if(Array.isArray(t.project))this.axesProject=t.project;else{var e=!!t.project;this.axesProject=[e,e,e]}if(&quot;projectScale&quot;in t)if(Array.isArray(t.projectScale))this.projectScale=t.projectScale.slice();else{var r=+t.projectScale;this.projectScale=[r,r,r]}if(&quot;projectOpacity&quot;in t)if(Array.isArray(t.projectOpacity))this.projectOpacity=t.projectOpacity.slice();else{r=+t.projectOpacity;this.projectOpacity=[r,r,r]}&quot;opacity&quot;in t&amp;&amp;(this.opacity=t.opacity),this.dirty=!0;var n=t.position;if(n){var i=t.font||&quot;normal&quot;,a=t.alignment||[0,0],o=[1/0,1/0,1/0],s=[-1/0,-1/0,-1/0],l=t.glyph,c=t.color,u=t.size,f=t.angle,h=t.lineColor,p=0,m=0,v=0,y=n.length;t:for(var x=0;x&lt;y;++x){for(var b=n[x],_=0;_&lt;3;++_)if(isNaN(b[_])||!isFinite(b[_]))continue t;var w=(R=Array.isArray(l)?g(l[x],i):l?g(l,i):g(&quot;\u25cf&quot;,i))[0],M=R[1],k=R[2];m+=3*w.cells.length,v+=2*M.edges.length}var A=m+v,T=d.mallocFloat(3*A),S=d.mallocFloat(4*A),E=d.mallocFloat(2*A),L=d.mallocUint32(A),C=[0,a[1]],z=0,D=m,I=[0,0,0,1],P=[0,0,0,1],O=Array.isArray(c)&amp;&amp;Array.isArray(c[0]),F=Array.isArray(h)&amp;&amp;Array.isArray(h[0]);t:for(x=0;x&lt;y;++x){for(b=n[x],_=0;_&lt;3;++_){if(isNaN(b[_])||!isFinite(b[_])){p+=1;continue t}s[_]=Math.max(s[_],b[_]),o[_]=Math.min(o[_],b[_])}var R;w=(R=Array.isArray(l)?g(l[x],i):l?g(l,i):g(&quot;\u25cf&quot;,i))[0],M=R[1],k=R[2];if(Array.isArray(c)){if(3===(N=O?c[x]:c).length){for(_=0;_&lt;3;++_)I[_]=N[_];I[3]=1}else if(4===N.length)for(_=0;_&lt;4;++_)I[_]=N[_]}else I[0]=I[1]=I[2]=0,I[3]=1;if(Array.isArray(h)){var N;if(3===(N=F?h[x]:h).length){for(_=0;_&lt;3;++_)P[_]=N[_];P[_]=1}else if(4===N.length)for(_=0;_&lt;4;++_)P[_]=N[_]}else P[0]=P[1]=P[2]=0,P[3]=1;var j=.5;Array.isArray(u)?j=+u[x]:u?j=+u:this.useOrtho&amp;&amp;(j=12);var B=0;Array.isArray(f)?B=+f[x]:f&amp;&amp;(B=+f);var U=Math.cos(B),V=Math.sin(B);for(b=n[x],_=0;_&lt;3;++_)s[_]=Math.max(s[_],b[_]),o[_]=Math.min(o[_],b[_]);a[0]&lt;0?C[0]=a[0]*(1+k[1][0]):a[0]&gt;0&amp;&amp;(C[0]=-a[0]*(1+k[0][0]));var q=w.cells,H=w.positions;for(_=0;_&lt;q.length;++_)for(var G=q[_],Y=0;Y&lt;3;++Y){for(var W=0;W&lt;3;++W)T[3*z+W]=b[W];for(W=0;W&lt;4;++W)S[4*z+W]=I[W];L[z]=p;var X=H[G[Y]];E[2*z]=j*(U*X[0]-V*X[1]+C[0]),E[2*z+1]=j*(V*X[0]+U*X[1]+C[1]),z+=1}for(q=M.edges,H=M.positions,_=0;_&lt;q.length;++_)for(G=q[_],Y=0;Y&lt;2;++Y){for(W=0;W&lt;3;++W)T[3*D+W]=b[W];for(W=0;W&lt;4;++W)S[4*D+W]=P[W];L[D]=p;X=H[G[Y]];E[2*D]=j*(U*X[0]-V*X[1]+C[0]),E[2*D+1]=j*(V*X[0]+U*X[1]+C[1]),D+=1}p+=1}this.vertexCount=m,this.lineVertexCount=v,this.pointBuffer.update(T),this.colorBuffer.update(S),this.glyphBuffer.update(E),this.idBuffer.update(new Uint32Array(L)),d.free(T),d.free(S),d.free(E),d.free(L),this.bounds=[o,s],this.points=n,this.pointCount=n.length}},y.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()}},{&quot;./lib/glyphs&quot;:237,&quot;./lib/shaders&quot;:238,&quot;gl-buffer&quot;:165,&quot;gl-mat4/multiply&quot;:188,&quot;gl-vao&quot;:259,&quot;typedarray-pool&quot;:554}],240:[function(t,e,r){&quot;use strict&quot;;r.boxVertex=&quot;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&quot;,r.boxFragment=&quot;precision mediump float;\n#define GLSLIFY 1\n\nuniform vec4 color;\n\nvoid main() {\n  gl_FragColor = color;\n}\n&quot;},{}],241:[function(t,e,r){&quot;use strict&quot;;function n(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}var i=t(&quot;gl-shader&quot;),a=t(&quot;gl-buffer&quot;),o=t(&quot;./lib/shaders&quot;);e.exports=function(t,e){var r=t.gl,s=new n(t,a(r,[0,0,0,1,1,0,1,1]),i(r,o.boxVertex,o.boxFragment));return s.update(e),t.addOverlay(s),s};var s=n.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],d=(e[2]-l[0])*(c[2]-c[0])/(l[2]-l[0])+c[0],p=(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]),d=Math.min(d,c[2]),p=Math.min(p,c[3]),!(d&lt;f||p&lt;h)){o.bind();var m=s[2]-s[0],g=s[3]-s[1];if(this.outerFill&amp;&amp;(o.drawBox(0,0,m,h,i),o.drawBox(0,h,f,p,i),o.drawBox(0,p,m,g,i),o.drawBox(d,h,m,p,i)),this.innerFill&amp;&amp;o.drawBox(f,h,d,p,n),r&gt;0){var v=r*u;o.drawBox(f-v,h-v,d+v,h+v,a),o.drawBox(f-v,p-v,d+v,p+v,a),o.drawBox(f-v,h-v,f+v,p+v,a),o.drawBox(d-v,h-v,d+v,p+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)}},{&quot;./lib/shaders&quot;:240,&quot;gl-buffer&quot;:165,&quot;gl-shader&quot;:243}],242:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r){this.gl=t,this.fbo=e,this.buffer=r,this._readTimeout=null;var n=this;this._readCallback=function(){n.gl&amp;&amp;(e.bind(),t.readPixels(0,0,e.shape[0],e.shape[1],t.RGBA,t.UNSIGNED_BYTE,n.buffer),n._readTimeout=null)}}e.exports=function(t,e){return new n(t,i(t,e),a.mallocUint8(e[0]*e[1]*4))};var i=t(&quot;gl-fbo&quot;),a=t(&quot;typedarray-pool&quot;),o=t(&quot;ndarray&quot;),s=t(&quot;bit-twiddle&quot;).nextPow2,l=t(&quot;cwise/lib/wrapper&quot;)({args:[&quot;array&quot;,{offset:[0,0,1],array:0},{offset:[0,0,2],array:0},{offset:[0,0,3],array:0},&quot;scalar&quot;,&quot;scalar&quot;,&quot;index&quot;],pre:{body:&quot;{this_closestD2=1e8,this_closestX=-1,this_closestY=-1}&quot;,args:[],thisVars:[&quot;this_closestD2&quot;,&quot;this_closestX&quot;,&quot;this_closestY&quot;],localVars:[]},body:{body:&quot;{if(_inline_46_arg0_&lt;255||_inline_46_arg1_&lt;255||_inline_46_arg2_&lt;255||_inline_46_arg3_&lt;255){var _inline_46_l=_inline_46_arg4_-_inline_46_arg6_[0],_inline_46_a=_inline_46_arg5_-_inline_46_arg6_[1],_inline_46_f=_inline_46_l*_inline_46_l+_inline_46_a*_inline_46_a;_inline_46_f&lt;this_closestD2&amp;&amp;(this_closestD2=_inline_46_f,this_closestX=_inline_46_arg6_[0],this_closestY=_inline_46_arg6_[1])}}&quot;,args:[{name:&quot;_inline_46_arg0_&quot;,lvalue:!1,rvalue:!0,count:1},{name:&quot;_inline_46_arg1_&quot;,lvalue:!1,rvalue:!0,count:1},{name:&quot;_inline_46_arg2_&quot;,lvalue:!1,rvalue:!0,count:1},{name:&quot;_inline_46_arg3_&quot;,lvalue:!1,rvalue:!0,count:1},{name:&quot;_inline_46_arg4_&quot;,lvalue:!1,rvalue:!0,count:1},{name:&quot;_inline_46_arg5_&quot;,lvalue:!1,rvalue:!0,count:1},{name:&quot;_inline_46_arg6_&quot;,lvalue:!1,rvalue:!0,count:4}],thisVars:[&quot;this_closestD2&quot;,&quot;this_closestX&quot;,&quot;this_closestY&quot;],localVars:[&quot;_inline_46_a&quot;,&quot;_inline_46_f&quot;,&quot;_inline_46_l&quot;]},post:{body:&quot;{return[this_closestX,this_closestY,this_closestD2]}&quot;,args:[],thisVars:[&quot;this_closestD2&quot;,&quot;this_closestX&quot;,&quot;this_closestY&quot;],localVars:[]},debug:!1,funcName:&quot;cwise&quot;,blockSize:64}),c=n.prototype;Object.defineProperty(c,&quot;shape&quot;,{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&gt;this.buffer.length){a.free(this.buffer);for(var n=this.buffer=a.mallocUint8(s(r*e*4)),i=0;i&lt;r*e*4;++i)n[i]=255}return t}}}),c.begin=function(){var t=this.gl;this.shape;t&amp;&amp;(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&amp;&amp;(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,&quot;number&quot;!=typeof r&amp;&amp;(r=1);var i=0|Math.min(Math.max(t-r,0),n[0]),a=0|Math.min(Math.max(t+r,0),n[0]),s=0|Math.min(Math.max(e-r,0),n[1]),c=0|Math.min(Math.max(e+r,0),n[1]);if(a&lt;=i||c&lt;=s)return null;var u=[a-i,c-s],f=o(this.buffer,[u[0],u[1],4],[4,4*n[0],1],4*(i+n[0]*s)),h=l(f.hi(u[0],u[1],1),r,r),d=h[0],p=h[1];if(d&lt;0||Math.pow(this.radius,2)&lt;h[2])return null;return new function(t,e,r,n,i){this.coord=[t,e],this.id=r,this.value=n,this.distance=i}(d+i|0,p+s|0,f.get(d,p,0),[f.get(d,p,1),f.get(d,p,2),f.get(d,p,3)],Math.sqrt(h[2]))},c.dispose=function(){this.gl&amp;&amp;(this.fbo.dispose(),a.free(this.buffer),this.gl=null,this._readTimeout&amp;&amp;clearTimeout(this._readTimeout))}},{&quot;bit-twiddle&quot;:71,&quot;cwise/lib/wrapper&quot;:119,&quot;gl-fbo&quot;:171,ndarray:458,&quot;typedarray-pool&quot;:554}],243:[function(t,e,r){&quot;use strict&quot;;function n(t){this.gl=t,this._vref=this._fref=this._relink=this.vertShader=this.fragShader=this.program=this.attributes=this.uniforms=this.types=null}function i(t,e){return t.name&lt;e.name?-1:1}var a=t(&quot;./lib/create-uniforms&quot;),o=t(&quot;./lib/create-attributes&quot;),s=t(&quot;./lib/reflect&quot;),l=t(&quot;./lib/shader-cache&quot;),c=t(&quot;./lib/runtime-reflect&quot;),u=t(&quot;./lib/GLError&quot;),f=n.prototype;f.bind=function(){this.program||this._relink(),this.gl.useProgram(this.program)},f.dispose=function(){this._fref&amp;&amp;this._fref.dispose(),this._vref&amp;&amp;this._vref.dispose(),this.attributes=this.types=this.vertShader=this.fragShader=this.program=this._relink=this._fref=this._vref=null},f.update=function(t,e,r,n){function f(){d.program=l.program(p,d._vref,d._fref,b,_);for(var t=0;t&lt;r.length;++t)E[t]=p.getUniformLocation(d.program,r[t].name)}if(!e||1===arguments.length){var h=t;t=h.vertex,e=h.fragment,r=h.uniforms,n=h.attributes}var d=this,p=d.gl,m=d._vref;d._vref=l.shader(p,p.VERTEX_SHADER,t),m&amp;&amp;m.dispose(),d.vertShader=d._vref.shader;var g=this._fref;if(d._fref=l.shader(p,p.FRAGMENT_SHADER,e),g&amp;&amp;g.dispose(),d.fragShader=d._fref.shader,!r||!n){var v=p.createProgram();if(p.attachShader(v,d.fragShader),p.attachShader(v,d.vertShader),p.linkProgram(v),!p.getProgramParameter(v,p.LINK_STATUS)){var y=p.getProgramInfoLog(v);throw new u(y,&quot;Error linking program:&quot;+y)}r=r||c.uniforms(p,v),n=n||c.attributes(p,v),p.deleteProgram(v)}(n=n.slice()).sort(i);for(var x=[],b=[],_=[],w=0;w&lt;n.length;++w){var M=n[w];if(M.type.indexOf(&quot;mat&quot;)&gt;=0){for(var k=0|M.type.charAt(M.type.length-1),A=new Array(k),T=0;T&lt;k;++T)A[T]=_.length,b.push(M.name+&quot;[&quot;+T+&quot;]&quot;),&quot;number&quot;==typeof M.location?_.push(M.location+T):Array.isArray(M.location)&amp;&amp;M.location.length===k&amp;&amp;&quot;number&quot;==typeof M.location[T]?_.push(0|M.location[T]):_.push(-1);x.push({name:M.name,type:M.type,locations:A})}else x.push({name:M.name,type:M.type,locations:[_.length]}),b.push(M.name),&quot;number&quot;==typeof M.location?_.push(0|M.location):_.push(-1)}var S=0;for(w=0;w&lt;_.length;++w)if(_[w]&lt;0){for(;_.indexOf(S)&gt;=0;)S+=1;_[w]=S}var E=new Array(r.length);f(),d._relink=f,d.types={uniforms:s(r),attributes:s(n)},d.attributes=o(p,d,x,_),Object.defineProperty(d,&quot;uniforms&quot;,a(p,d,r,E))},e.exports=function(t,e,r,i,a){var o=new n(t);return o.update(e,r,i,a),o}},{&quot;./lib/GLError&quot;:244,&quot;./lib/create-attributes&quot;:245,&quot;./lib/create-uniforms&quot;:246,&quot;./lib/reflect&quot;:247,&quot;./lib/runtime-reflect&quot;:248,&quot;./lib/shader-cache&quot;:249}],244:[function(t,e,r){arguments[4][218][0].apply(r,arguments)},{dup:218}],245:[function(t,e,r){arguments[4][219][0].apply(r,arguments)},{&quot;./GLError&quot;:244,dup:219}],246:[function(t,e,r){arguments[4][220][0].apply(r,arguments)},{&quot;./GLError&quot;:244,&quot;./reflect&quot;:247,dup:220}],247:[function(t,e,r){arguments[4][221][0].apply(r,arguments)},{dup:221}],248:[function(t,e,r){arguments[4][222][0].apply(r,arguments)},{dup:222}],249:[function(t,e,r){arguments[4][223][0].apply(r,arguments)},{&quot;./GLError&quot;:244,dup:223,&quot;gl-format-compiler-error&quot;:172,&quot;weakmap-shim&quot;:576}],250:[function(t,e,r){&quot;use strict&quot;;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]&lt;=n[0]&amp;&amp;n[0]&lt;=o[2]&amp;&amp;o[1]&lt;=n[1]&amp;&amp;n[1]&lt;=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]&amp;&amp;a.drawLine(l,c,s[0],c,e[0],r[0]),t[1]&amp;&amp;a.drawLine(l,c,l,s[1],e[1],r[1]),t[2]&amp;&amp;a.drawLine(l,c,s[2],c,e[2],r[2]),t[3]&amp;&amp;a.drawLine(l,c,l,s[3],e[3],r[3])}},i.dispose=function(){this.plot.removeOverlay(this)}},{}],251:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;gl-shader&quot;);e.exports=function(t){return n(t,&quot;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&quot;,&quot;precision mediump float;\n#define GLSLIFY 1\n\nvarying vec4 fragColor;\n\nvoid main() {\n  gl_FragColor = fragColor;\n}&quot;,null,[{name:&quot;position&quot;,type:&quot;vec3&quot;},{name:&quot;color&quot;,type:&quot;vec3&quot;},{name:&quot;weight&quot;,type:&quot;float&quot;}])}},{&quot;gl-shader&quot;:243}],252:[function(t,e,r){&quot;use strict&quot;;function n(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 i=t(&quot;gl-buffer&quot;),a=t(&quot;gl-vao&quot;),o=t(&quot;./shaders/index&quot;);e.exports=function(t,e){function r(t,e,r,n,i,a){var o=[t,e,r,0,0,0,1];o[n+3]=1,o[n]=i,s.push.apply(s,o),o[6]=-1,s.push.apply(s,o),o[n]=a,s.push.apply(s,o),s.push.apply(s,o),o[6]=1,s.push.apply(s,o),o[n]=i,s.push.apply(s,o)}var s=[];r(0,0,0,0,0,1),r(0,0,0,1,0,1),r(0,0,0,2,0,1),r(1,0,0,1,-1,1),r(1,0,0,2,-1,1),r(0,1,0,0,-1,1),r(0,1,0,2,-1,1),r(0,0,1,0,-1,1),r(0,0,1,1,-1,1);var l=i(t,s),c=a(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=o(t);u.attributes.position.location=0,u.attributes.color.location=1,u.attributes.weight.location=2;var f=new n(t,l,c,u);return f.update(e),f};var s=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],l=n.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||s,o=t.view||s,l=t.projection||s;this.axes&amp;&amp;(i=this.axes.lastCubeProps.axis);for(var h=c,d=u,p=0;p&lt;3;++p)i&amp;&amp;i[p]&lt;0?(h[p]=this.bounds[0][p],d[p]=this.bounds[1][p]):(h[p]=this.bounds[1][p],d[p]=this.bounds[0][p]);f[0]=e.drawingBufferWidth,f[1]=e.drawingBufferHeight,n.uniforms.model=a,n.uniforms.view=o,n.uniforms.projection=l,n.uniforms.coordinates=[this.position,h,d],n.uniforms.colors=this.colors,n.uniforms.screenShape=f;for(p=0;p&lt;3;++p)n.uniforms.lineWidth=this.lineWidth[p]*this.pixelRatio,this.enabled[p]&amp;&amp;(r.draw(e.TRIANGLES,6,6*p),this.drawSides[p]&amp;&amp;r.draw(e.TRIANGLES,12,18+12*p));r.unbind()},l.update=function(t){t&amp;&amp;(&quot;bounds&quot;in t&amp;&amp;(this.bounds=t.bounds),&quot;position&quot;in t&amp;&amp;(this.position=t.position),&quot;lineWidth&quot;in t&amp;&amp;(this.lineWidth=t.lineWidth),&quot;colors&quot;in t&amp;&amp;(this.colors=t.colors),&quot;enabled&quot;in t&amp;&amp;(this.enabled=t.enabled),&quot;drawSides&quot;in t&amp;&amp;(this.drawSides=t.drawSides))},l.dispose=function(){this.vao.dispose(),this.buffer.dispose(),this.shader.dispose()}},{&quot;./shaders/index&quot;:251,&quot;gl-buffer&quot;:165,&quot;gl-vao&quot;:259}],253:[function(t,e,r){var n=t(&quot;gl-shader&quot;),i=&quot;precision mediump float;\n#define GLSLIFY 1\n\nattribute vec4 uv;\nattribute vec3 f;\nattribute vec3 normal;\n\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  worldCoordinate = vec3(uv.zw, f.x);\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&quot;,a=&quot;precision mediump float;\n#define GLSLIFY 1\n\nfloat beckmannDistribution_2_0(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\n\n\nfloat beckmannSpecular_1_1(\n  vec3 lightDirection,\n  vec3 viewDirection,\n  vec3 surfaceNormal,\n  float roughness) {\n  return beckmannDistribution_2_0(dot(surfaceNormal, normalize(lightDirection + viewDirection)), roughness);\n}\n\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 (kill &gt; 0.0 ||\n    any(lessThan(worldCoordinate, clipBounds[0])) || any(greaterThan(worldCoordinate, clipBounds[1]))) {\n    discard;\n  }\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_1_1(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 = step(vertexColor, .5) * texture2D(colormap, vec2(value, value)) + 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&quot;,o=&quot;precision mediump float;\n#define GLSLIFY 1\n\nattribute vec4 uv;\nattribute float f;\n\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  vec4 worldPosition = model * vec4(dataCoordinate, 1.0);\n\n  vec4 clipPosition = projection * view * worldPosition;\n  clipPosition.z = clipPosition.z + zOffset;\n\n  gl_Position = clipPosition;\n  value = f;\n  kill = -1.0;\n  worldCoordinate = dataCoordinate;\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&quot;,s=&quot;precision mediump float;\n#define GLSLIFY 1\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 &gt; 0.0 ||\n    any(lessThan(worldCoordinate, clipBounds[0])) || any(greaterThan(worldCoordinate, clipBounds[1]))) {\n    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&quot;;r.createShader=function(t){var e=n(t,i,a,null,[{name:&quot;uv&quot;,type:&quot;vec4&quot;},{name:&quot;f&quot;,type:&quot;vec3&quot;},{name:&quot;normal&quot;,type:&quot;vec3&quot;}]);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,i,s,null,[{name:&quot;uv&quot;,type:&quot;vec4&quot;},{name:&quot;f&quot;,type:&quot;vec3&quot;},{name:&quot;normal&quot;,type:&quot;vec3&quot;}]);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,o,a,null,[{name:&quot;uv&quot;,type:&quot;vec4&quot;},{name:&quot;f&quot;,type:&quot;float&quot;}]);return e.attributes.uv.location=0,e.attributes.f.location=1,e},r.createPickContourShader=function(t){var e=n(t,o,s,null,[{name:&quot;uv&quot;,type:&quot;vec4&quot;},{name:&quot;f&quot;,type:&quot;float&quot;}]);return e.attributes.uv.location=0,e.attributes.f.location=1,e}},{&quot;gl-shader&quot;:243}],254:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,n,i,a,o,s,l,c,u,f,h,d){this.gl=t,this.shape=e,this.bounds=r,this.intensityBounds=[],this._shader=n,this._pickShader=i,this._coordinateBuffer=a,this._vao=o,this._colorMap=s,this._contourShader=l,this._contourPickShader=c,this._contourBuffer=u,this._contourVAO=f,this._contourOffsets=[[],[],[]],this._contourCounts=[[],[],[]],this._vertexCount=0,this._pickResult=new function(t,e,r,n,i){this.position=t,this.index=e,this.uv=r,this.level=n,this.dataCoordinate=i}([0,0,0],[0,0],[0,0],[0,0,0],[0,0,0]),this._dynamicBuffer=h,this._dynamicVAO=d,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=[y(p.mallocFloat(1024),[0,0]),y(p.mallocFloat(1024),[0,0]),y(p.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.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}function i(t,e){var r,n,i,a=e.axes&amp;&amp;e.axes.lastCubeProps.axis||O,o=e.showSurface,s=e.showContour;for(r=0;r&lt;3;++r)for(o=o||e.surfaceProject[r],n=0;n&lt;3;++n)s=s||e.contourProject[r][n];for(r=0;r&lt;3;++r){var l=F.projections[r];for(n=0;n&lt;16;++n)l[n]=0;for(n=0;n&lt;4;++n)l[5*n]=1;l[5*r]=0,l[12+r]=e.axesBounds[+(a[r]&gt;0)][r],b(l,t.model,l);var c=F.clipBounds[r];for(i=0;i&lt;2;++i)for(n=0;n&lt;3;++n)c[i][n]=t.clipBounds[i][n];c[0][r]=-1e8,c[1][r]=1e8}return F.showSurface=o,F.showContour=s,F}function a(t,e){t=t||{};var r=this.gl;r.disable(r.CULL_FACE),this._colorMap.bind(0);var n=R;n.model=t.model||C,n.view=t.view||C,n.projection=t.projection||C,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.contourColor=this.contourColor[0],n.inverseModel=_(n.inverseModel,n.model);for(var a=0;a&lt;2;++a)for(var o=n.clipBounds[a],s=0;s&lt;3;++s)o[s]=Math.min(Math.max(this.clipBounds[a][s],-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=j,n.vertexColor=this.vertexColor;var l=N;for(b(l,n.view,n.model),b(l,n.projection,l),_(l,l),a=0;a&lt;3;++a)n.eyePosition[a]=l[12+a]/l[15];var c=l[15];for(a=0;a&lt;3;++a)c+=this.lightPosition[a]*l[4*a+3];for(a=0;a&lt;3;++a){var u=l[12+a];for(s=0;s&lt;3;++s)u+=l[4*s+a]*this.lightPosition[s];n.lightPosition[a]=u/c}var f=i(n,this);if(f.showSurface&amp;&amp;e===this.opacity&lt;1){for(this._shader.bind(),this._shader.uniforms=n,this._vao.bind(),this.showSurface&amp;&amp;this._vertexCount&amp;&amp;this._vao.draw(r.TRIANGLES,this._vertexCount),a=0;a&lt;3;++a)this.surfaceProject[a]&amp;&amp;this.vertexCount&amp;&amp;(this._shader.uniforms.model=f.projections[a],this._shader.uniforms.clipBounds=f.clipBounds[a],this._vao.draw(r.TRIANGLES,this._vertexCount));this._vao.unbind()}if(f.showContour&amp;&amp;!e){var h=this._contourShader;n.kambient=1,n.kdiffuse=0,n.kspecular=0,n.opacity=1,h.bind(),h.uniforms=n;var d=this._contourVAO;for(d.bind(),a=0;a&lt;3;++a)for(h.uniforms.permutation=D[a],r.lineWidth(this.contourWidth[a]),s=0;s&lt;this.contourLevels[a].length;++s)this._contourCounts[a][s]&amp;&amp;(s===this.highlightLevel[a]?(h.uniforms.contourColor=this.highlightColor[a],h.uniforms.contourTint=this.highlightTint[a]):0!==s&amp;&amp;s-1!==this.highlightLevel[a]||(h.uniforms.contourColor=this.contourColor[a],h.uniforms.contourTint=this.contourTint[a]),h.uniforms.height=this.contourLevels[a][s],d.draw(r.LINES,this._contourCounts[a][s],this._contourOffsets[a][s]));for(a=0;a&lt;3;++a)for(h.uniforms.model=f.projections[a],h.uniforms.clipBounds=f.clipBounds[a],s=0;s&lt;3;++s)if(this.contourProject[a][s]){h.uniforms.permutation=D[s],r.lineWidth(this.contourWidth[s]);for(var p=0;p&lt;this.contourLevels[s].length;++p)p===this.highlightLevel[s]?(h.uniforms.contourColor=this.highlightColor[s],h.uniforms.contourTint=this.highlightTint[s]):0!==p&amp;&amp;p-1!==this.highlightLevel[s]||(h.uniforms.contourColor=this.contourColor[s],h.uniforms.contourTint=this.contourTint[s]),h.uniforms.height=this.contourLevels[s][p],d.draw(r.LINES,this._contourCounts[s][p],this._contourOffsets[s][p])}for((d=this._dynamicVAO).bind(),a=0;a&lt;3;++a)if(0!==this._dynamicCounts[a])for(h.uniforms.model=n.model,h.uniforms.clipBounds=n.clipBounds,h.uniforms.permutation=D[a],r.lineWidth(this.dynamicWidth[a]),h.uniforms.contourColor=this.dynamicColor[a],h.uniforms.contourTint=this.dynamicTint[a],h.uniforms.height=this.dynamicLevel[a],d.draw(r.LINES,this._dynamicCounts[a],this._dynamicOffsets[a]),s=0;s&lt;3;++s)this.contourProject[s][a]&amp;&amp;(h.uniforms.model=f.projections[s],h.uniforms.clipBounds=f.clipBounds[s],d.draw(r.LINES,this._dynamicCounts[a],this._dynamicOffsets[a]));d.unbind()}}function o(t,e){var r=e.shape.slice(),n=t.shape.slice();g.assign(t.lo(1,1).hi(r[0],r[1]),e),g.assign(t.lo(1).hi(r[0],1),e.hi(r[0],1)),g.assign(t.lo(1,n[1]-1).hi(r[0],1),e.lo(0,r[1]-1).hi(r[0],1)),g.assign(t.lo(0,1).hi(1,r[1]),e.hi(1)),g.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))}function s(t,e){return Array.isArray(t)?[e(t[0]),e(t[1]),e(t[2])]:[e(t),e(t),e(t)]}function l(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 c(t){if(Array.isArray(t)){if(Array.isArray(t))return[l(t[0]),l(t[1]),l(t[2])];var e=l(t);return[e.slice(),e.slice(),e.slice()]}}e.exports=function(t){var e=t.gl,r=A(e),i=S(e),a=T(e),o=E(e),s=f(e),l=h(e,[{buffer:s,size:4,stride:L,offset:0},{buffer:s,size:3,stride:L,offset:16},{buffer:s,size:3,stride:L,offset:28}]),c=f(e),u=h(e,[{buffer:c,size:4,stride:20,offset:0},{buffer:c,size:1,stride:20,offset:16}]),p=f(e),m=h(e,[{buffer:p,size:2,type:e.FLOAT}]),g=d(e,1,I,e.RGBA,e.UNSIGNED_BYTE);g.minFilter=e.LINEAR,g.magFilter=e.LINEAR;var v=new n(e,[0,0],[[0,0,0],[0,0,0]],r,i,s,l,g,a,o,c,u,p,m),y={levels:[[],[],[]]};for(var x in t)y[x]=t[x];return y.colormap=y.colormap||&quot;jet&quot;,v.update(y),v};var u=t(&quot;bit-twiddle&quot;),f=t(&quot;gl-buffer&quot;),h=t(&quot;gl-vao&quot;),d=t(&quot;gl-texture2d&quot;),p=t(&quot;typedarray-pool&quot;),m=t(&quot;colormap&quot;),g=t(&quot;ndarray-ops&quot;),v=t(&quot;ndarray-pack&quot;),y=t(&quot;ndarray&quot;),x=t(&quot;surface-nets&quot;),b=t(&quot;gl-mat4/multiply&quot;),_=t(&quot;gl-mat4/invert&quot;),w=t(&quot;binary-search-bounds&quot;),M=t(&quot;ndarray-gradient&quot;),k=t(&quot;./lib/shaders&quot;),A=k.createShader,T=k.createContourShader,S=k.createPickShader,E=k.createPickContourShader,L=40,C=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],z=[[0,0],[0,1],[1,0],[1,1],[1,0],[0,1]],D=[[0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0]];!function(){for(var t=0;t&lt;3;++t){var e=D[t],r=(t+2)%3;e[(t+1)%3+0]=1,e[r+3]=1,e[t+6]=1}}();var I=256,P=n.prototype;P.isTransparent=function(){return this.opacity&lt;1},P.isOpaque=function(){if(this.opacity&gt;=1)return!0;for(var t=0;t&lt;3;++t)if(this._contourCounts[t].length&gt;0||this._dynamicCounts[t]&gt;0)return!0;return!1},P.pickSlots=1,P.setPickBase=function(t){this.pickId=t};var O=[0,0,0],F={showSurface:!1,showContour:!1,projections:[C.slice(),C.slice(),C.slice()],clipBounds:[[[0,0,0],[0,0,0]],[[0,0,0],[0,0,0]],[[0,0,0],[0,0,0]]]},R={model:C,view:C,projection:C,inverseModel:C.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,kambient:1,kdiffuse:1,kspecular:1,lightPosition:[1e3,1e3,1e3],eyePosition:[0,0,0],roughness:1,fresnel:1,opacity:1,vertexColor:0},N=C.slice(),j=[1,0,0,0,1,0,0,0,1];P.draw=function(t){return a.call(this,t,!1)},P.drawTransparent=function(t){return a.call(this,t,!0)};var B={model:C,view:C,projection:C,inverseModel:C,clipBounds:[[0,0,0],[0,0,0]],height:0,shape:[0,0],pickId:0,lowerBound:[0,0,0],upperBound:[0,0,0],zOffset:0,permutation:[1,0,0,0,1,0,0,0,1],lightPosition:[0,0,0],eyePosition:[0,0,0]};P.drawPick=function(t){t=t||{};var e=this.gl;e.disable(e.CULL_FACE);var r=B;r.model=t.model||C,r.view=t.view||C,r.projection=t.projection||C,r.shape=this._field[2].shape,r.pickId=this.pickId/255,r.lowerBound=this.bounds[0],r.upperBound=this.bounds[1],r.permutation=j;for(var n=0;n&lt;2;++n)for(var a=r.clipBounds[n],o=0;o&lt;3;++o)a[o]=Math.min(Math.max(this.clipBounds[n][o],-1e8),1e8);var s=i(r,this);if(s.showSurface){for(this._pickShader.bind(),this._pickShader.uniforms=r,this._vao.bind(),this._vao.draw(e.TRIANGLES,this._vertexCount),n=0;n&lt;3;++n)this.surfaceProject[n]&amp;&amp;(this._pickShader.uniforms.model=s.projections[n],this._pickShader.uniforms.clipBounds=s.clipBounds[n],this._vao.draw(e.TRIANGLES,this._vertexCount));this._vao.unbind()}if(s.showContour){var l=this._contourPickShader;l.bind(),l.uniforms=r;var c=this._contourVAO;for(c.bind(),o=0;o&lt;3;++o)for(e.lineWidth(this.contourWidth[o]),l.uniforms.permutation=D[o],n=0;n&lt;this.contourLevels[o].length;++n)this._contourCounts[o][n]&amp;&amp;(l.uniforms.height=this.contourLevels[o][n],c.draw(e.LINES,this._contourCounts[o][n],this._contourOffsets[o][n]));for(n=0;n&lt;3;++n)for(l.uniforms.model=s.projections[n],l.uniforms.clipBounds=s.clipBounds[n],o=0;o&lt;3;++o)if(this.contourProject[n][o]){l.uniforms.permutation=D[o],e.lineWidth(this.contourWidth[o]);for(var u=0;u&lt;this.contourLevels[o].length;++u)this._contourCounts[o][u]&amp;&amp;(l.uniforms.height=this.contourLevels[o][u],c.draw(e.LINES,this._contourCounts[o][u],this._contourOffsets[o][u]))}c.unbind()}},P.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]&gt;&gt;4)/16)/255,i=Math.floor(n),a=n-i,o=e[1]*(t.value[1]+(15&amp;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&lt;2;++u)for(var f=u?a:1-a,h=0;h&lt;2;++h)for(var d=i+u,p=s+h,m=f*(h?l:1-l),g=0;g&lt;3;++g)c[g]+=this._field[g].get(d,p)*m;for(var v=this._pickResult.level,y=0;y&lt;3;++y)if(v[y]=w.le(this.contourLevels[y],c[y]),v[y]&lt;0)this.contourLevels[y].length&gt;0&amp;&amp;(v[y]=0);else if(v[y]&lt;this.contourLevels[y].length-1){var x=this.contourLevels[y][v[y]],b=this.contourLevels[y][v[y]+1];Math.abs(x-c[y])&gt;Math.abs(b-c[y])&amp;&amp;(v[y]+=1)}for(r.index[0]=a&lt;.5?i:i+1,r.index[1]=l&lt;.5?s:s+1,r.uv[0]=n/e[0],r.uv[1]=o/e[1],g=0;g&lt;3;++g)r.dataCoordinate[g]=this._field[g].get(r.index[0],r.index[1]);return r},P.update=function(t){t=t||{},this.dirty=!0,&quot;contourWidth&quot;in t&amp;&amp;(this.contourWidth=s(t.contourWidth,Number)),&quot;showContour&quot;in t&amp;&amp;(this.showContour=s(t.showContour,Boolean)),&quot;showSurface&quot;in t&amp;&amp;(this.showSurface=!!t.showSurface),&quot;contourTint&quot;in t&amp;&amp;(this.contourTint=s(t.contourTint,Boolean)),&quot;contourColor&quot;in t&amp;&amp;(this.contourColor=c(t.contourColor)),&quot;contourProject&quot;in t&amp;&amp;(this.contourProject=s(t.contourProject,function(t){return s(t,Boolean)})),&quot;surfaceProject&quot;in t&amp;&amp;(this.surfaceProject=t.surfaceProject),&quot;dynamicColor&quot;in t&amp;&amp;(this.dynamicColor=c(t.dynamicColor)),&quot;dynamicTint&quot;in t&amp;&amp;(this.dynamicTint=s(t.dynamicTint,Number)),&quot;dynamicWidth&quot;in t&amp;&amp;(this.dynamicWidth=s(t.dynamicWidth,Number)),&quot;opacity&quot;in t&amp;&amp;(this.opacity=t.opacity),&quot;colorBounds&quot;in t&amp;&amp;(this.colorBounds=t.colorBounds),&quot;vertexColor&quot;in t&amp;&amp;(this.vertexColor=t.vertexColor?1:0);var e=t.field||t.coords&amp;&amp;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)),&quot;field&quot;in t||&quot;coords&quot;in t){var n=(e.shape[0]+2)*(e.shape[1]+2);n&gt;this._field[2].data.length&amp;&amp;(p.freeFloat(this._field[2].data),this._field[2].data=p.mallocFloat(u.nextPow2(n))),this._field[2]=y(this._field[2].data,[e.shape[0]+2,e.shape[1]+2]),o(this._field[2],e),this.shape=e.shape.slice();for(var i=this.shape,a=0;a&lt;2;++a)this._field[2].size&gt;this._field[a].data.length&amp;&amp;(p.freeFloat(this._field[a].data),this._field[a].data=p.mallocFloat(this._field[2].size)),this._field[a]=y(this._field[a].data,[i[0]+2,i[1]+2]);if(t.coords){var l=t.coords;if(!Array.isArray(l)||3!==l.length)throw new Error(&quot;gl-surface: invalid coordinates for x/y&quot;);for(a=0;a&lt;2;++a){var f=l[a];for(w=0;w&lt;2;++w)if(f.shape[w]!==i[w])throw new Error(&quot;gl-surface: coords have incorrect shape&quot;);o(this._field[a],f)}}else if(t.ticks){var h=t.ticks;if(!Array.isArray(h)||2!==h.length)throw new Error(&quot;gl-surface: invalid ticks&quot;);for(a=0;a&lt;2;++a){var d=h[a];if((Array.isArray(d)||d.length)&amp;&amp;(d=y(d)),d.shape[0]!==i[a])throw new Error(&quot;gl-surface: invalid tick length&quot;);var b=y(d.data,i);b.stride[a]=d.stride[0],b.stride[1^a]=0,o(this._field[a],b)}}else{for(a=0;a&lt;2;++a){var _=[0,0];_[a]=1,this._field[a]=y(this._field[a].data,[i[0]+2,i[1]+2],_,0)}this._field[0].set(0,0,0);for(var w=0;w&lt;i[0];++w)this._field[0].set(w+1,0,w);for(this._field[0].set(i[0]+1,0,i[0]-1),this._field[1].set(0,0,0),w=0;w&lt;i[1];++w)this._field[1].set(0,w+1,w);this._field[1].set(0,i[1]+1,i[1]-1)}var k=this._field,A=y(p.mallocFloat(3*k[2].size*2),[3,i[0]+2,i[1]+2,2]);for(a=0;a&lt;3;++a)M(A.pick(a),k[a],&quot;mirror&quot;);var T=y(p.mallocFloat(3*k[2].size),[i[0]+2,i[1]+2,3]);for(a=0;a&lt;i[0]+2;++a)for(w=0;w&lt;i[1]+2;++w){var S=A.get(0,a,w,0),E=A.get(0,a,w,1),L=A.get(1,a,w,0),C=A.get(1,a,w,1),D=A.get(2,a,w,0),P=A.get(2,a,w,1),O=L*P-C*D,F=D*E-P*S,R=S*C-E*L,N=Math.sqrt(O*O+F*F+R*R);N&lt;1e-8?(N=Math.max(Math.abs(O),Math.abs(F),Math.abs(R)))&lt;1e-8?(R=1,F=O=0,N=1):N=1/N:N=1/Math.sqrt(N),T.set(a,w,0,O*N),T.set(a,w,1,F*N),T.set(a,w,2,R*N)}p.free(A.data);var j=[1/0,1/0,1/0],B=[-1/0,-1/0,-1/0],U=1/0,V=-1/0,q=(i[0]-1)*(i[1]-1)*6,H=p.mallocFloat(u.nextPow2(10*q)),G=0,Y=0;for(a=0;a&lt;i[0]-1;++a)t:for(w=0;w&lt;i[1]-1;++w){for(var W=0;W&lt;2;++W)for(var X=0;X&lt;2;++X)for(var Z=0;Z&lt;3;++Z){var J=this._field[Z].get(1+a+W,1+w+X);if(isNaN(J)||!isFinite(J))continue t}for(Z=0;Z&lt;6;++Z){var K=a+z[Z][0],Q=w+z[Z][1],$=this._field[0].get(K+1,Q+1),tt=this._field[1].get(K+1,Q+1),et=J=this._field[2].get(K+1,Q+1);O=T.get(K+1,Q+1,0),F=T.get(K+1,Q+1,1),R=T.get(K+1,Q+1,2),t.intensity&amp;&amp;(et=t.intensity.get(K,Q)),H[G++]=K,H[G++]=Q,H[G++]=$,H[G++]=tt,H[G++]=J,H[G++]=0,H[G++]=et,H[G++]=O,H[G++]=F,H[G++]=R,j[0]=Math.min(j[0],$),j[1]=Math.min(j[1],tt),j[2]=Math.min(j[2],J),U=Math.min(U,et),B[0]=Math.max(B[0],$),B[1]=Math.max(B[1],tt),B[2]=Math.max(B[2],J),V=Math.max(V,et),Y+=1}}for(t.intensityBounds&amp;&amp;(U=+t.intensityBounds[0],V=+t.intensityBounds[1]),a=6;a&lt;G;a+=10)H[a]=(H[a]-U)/(V-U);this._vertexCount=Y,this._coordinateBuffer.update(H.subarray(0,G)),p.freeFloat(H),p.free(T.data),this.bounds=[j,B],this.intensity=t.intensity||this._field[2],this.intensityBounds[0]===U&amp;&amp;this.intensityBounds[1]===V||(r=!0),this.intensityBounds=[U,V]}if(&quot;levels&quot;in t){var rt=t.levels;for(rt=Array.isArray(rt[0])?rt.slice():[[],[],rt],a=0;a&lt;3;++a)rt[a]=rt[a].slice(),rt.sort(function(t,e){return t-e});t:for(a=0;a&lt;3;++a){if(rt[a].length!==this.contourLevels[a].length){r=!0;break}for(w=0;w&lt;rt[a].length;++w)if(rt[a][w]!==this.contourLevels[a][w]){r=!0;break t}}this.contourLevels=rt}if(r){k=this._field,i=this.shape;for(var nt=[],it=0;it&lt;3;++it){rt=this.contourLevels[it];var at=[],ot=[],st=[0,0,0];for(a=0;a&lt;rt.length;++a){var lt=x(this._field[it],rt[a]);at.push(nt.length/5|0),Y=0;t:for(w=0;w&lt;lt.cells.length;++w){var ct=lt.cells[w];for(Z=0;Z&lt;2;++Z){var ut=lt.positions[ct[Z]],ft=ut[0],ht=0|Math.floor(ft),dt=ft-ht,pt=ut[1],mt=0|Math.floor(pt),gt=pt-mt,vt=!1;e:for(var yt=0;yt&lt;3;++yt){st[yt]=0;var xt=(it+yt+1)%3;for(W=0;W&lt;2;++W){var bt=W?dt:1-dt;for(K=0|Math.min(Math.max(ht+W,0),i[0]),X=0;X&lt;2;++X){var _t=X?gt:1-gt;if(Q=0|Math.min(Math.max(mt+X,0),i[1]),J=yt&lt;2?this._field[xt].get(K,Q):(this.intensity.get(K,Q)-this.intensityBounds[0])/(this.intensityBounds[1]-this.intensityBounds[0]),!isFinite(J)||isNaN(J)){vt=!0;break e}var wt=bt*_t;st[yt]+=wt*J}}}if(vt){if(Z&gt;0){for(var Mt=0;Mt&lt;5;++Mt)nt.pop();Y-=1}continue t}nt.push(st[0],st[1],ut[0],ut[1],st[2]),Y+=1}}ot.push(Y)}this._contourOffsets[it]=at,this._contourCounts[it]=ot}var kt=p.mallocFloat(nt.length);for(a=0;a&lt;nt.length;++a)kt[a]=nt[a];this._contourBuffer.update(kt),p.freeFloat(kt)}t.colormap&amp;&amp;this._colorMap.setPixels(function(t){var e=v([m({colormap:t,nshades:I,format:&quot;rgba&quot;}).map(function(t){return[t[0],t[1],t[2],255*t[3]]})]);return g.divseq(e,255),e}(t.colormap))},P.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&lt;3;++t)p.freeFloat(this._field[t].data)},P.highlight=function(t){if(!t)return this._dynamicCounts=[0,0,0],this.dyanamicLevel=[NaN,NaN,NaN],void(this.highlightLevel=[-1,-1,-1]);for(var e=0;e&lt;3;++e)this.enableHighlight[e]?this.highlightLevel[e]=t.level[e]:this.highlightLevel[e]=-1;var r;if(r=this.snapToData?t.dataCoordinate:t.position,this.enableDynamic[0]&amp;&amp;r[0]!==this.dynamicLevel[0]||this.enableDynamic[1]&amp;&amp;r[1]!==this.dynamicLevel[1]||this.enableDynamic[2]&amp;&amp;r[2]!==this.dynamicLevel[2]){for(var n=0,i=this.shape,a=p.mallocFloat(12*i[0]*i[1]),o=0;o&lt;3;++o)if(this.enableDynamic[o]){this.dynamicLevel[o]=r[o];var s=(o+1)%3,l=(o+2)%3,c=this._field[o],u=this._field[s],f=this._field[l],h=(this.intensity,x(c,r[o])),d=h.cells,m=h.positions;for(this._dynamicOffsets[o]=n,e=0;e&lt;d.length;++e)for(var g=d[e],v=0;v&lt;2;++v){var y=m[g[v]],b=+y[0],_=0|b,w=0|Math.min(_+1,i[0]),M=b-_,k=1-M,A=+y[1],T=0|A,S=0|Math.min(T+1,i[1]),E=A-T,L=1-E,C=k*L,z=k*E,D=M*L,I=M*E,P=C*u.get(_,T)+z*u.get(_,S)+D*u.get(w,T)+I*u.get(w,S),O=C*f.get(_,T)+z*f.get(_,S)+D*f.get(w,T)+I*f.get(w,S);if(isNaN(P)||isNaN(O)){v&amp;&amp;(n-=1);break}a[2*n+0]=P,a[2*n+1]=O,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)),p.freeFloat(a)}}},{&quot;./lib/shaders&quot;:253,&quot;binary-search-bounds&quot;:70,&quot;bit-twiddle&quot;:71,colormap:105,&quot;gl-buffer&quot;:165,&quot;gl-mat4/invert&quot;:186,&quot;gl-mat4/multiply&quot;:188,&quot;gl-texture2d&quot;:255,&quot;gl-vao&quot;:259,ndarray:458,&quot;ndarray-gradient&quot;:449,&quot;ndarray-ops&quot;:452,&quot;ndarray-pack&quot;:453,&quot;surface-nets&quot;:540,&quot;typedarray-pool&quot;:554}],255:[function(t,e,r){&quot;use strict&quot;;function n(t){return&quot;undefined&quot;!=typeof HTMLCanvasElement&amp;&amp;t instanceof HTMLCanvasElement||&quot;undefined&quot;!=typeof HTMLImageElement&amp;&amp;t instanceof HTMLImageElement||&quot;undefined&quot;!=typeof HTMLVideoElement&amp;&amp;t instanceof HTMLVideoElement||&quot;undefined&quot;!=typeof ImageData&amp;&amp;t instanceof ImageData}function i(t,e,r){var n=t.gl,i=n.getParameter(n.MAX_TEXTURE_SIZE);if(e&lt;0||e&gt;i||r&lt;0||r&gt;i)throw new Error(&quot;gl-texture2d: Invalid texture size&quot;);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 a(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}function o(t,e){return 3===t.length?1===e[2]&amp;&amp;e[1]===t[0]*t[2]&amp;&amp;e[0]===t[2]:1===e[0]&amp;&amp;e[1]===t[0]}function s(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 l(t,e,r,n,i){var o=t.getParameter(t.MAX_TEXTURE_SIZE);if(e&lt;0||e&gt;o||r&lt;0||r&gt;o)throw new Error(&quot;gl-texture2d: Invalid texture shape&quot;);if(i===t.FLOAT&amp;&amp;!t.getExtension(&quot;OES_texture_float&quot;))throw new Error(&quot;gl-texture2d: Floating point textures not supported on this platform&quot;);var l=s(t);return t.texImage2D(t.TEXTURE_2D,0,n,e,r,0,n,i,null),new a(t,l,e,r,n,i)}var c=t(&quot;ndarray&quot;),u=t(&quot;ndarray-ops&quot;),f=t(&quot;typedarray-pool&quot;);e.exports=function(t){if(arguments.length&lt;=1)throw new Error(&quot;gl-texture2d: Missing arguments for texture2d constructor&quot;);if(h||function(t){h=[t.LINEAR,t.NEAREST_MIPMAP_LINEAR,t.LINEAR_MIPMAP_NEAREST,t.LINEAR_MIPMAP_NEAREST],d=[t.NEAREST,t.LINEAR,t.NEAREST_MIPMAP_NEAREST,t.NEAREST_MIPMAP_LINEAR,t.LINEAR_MIPMAP_NEAREST,t.LINEAR_MIPMAP_LINEAR],p=[t.REPEAT,t.CLAMP_TO_EDGE,t.MIRRORED_REPEAT]}(t),&quot;number&quot;==typeof arguments[1])return l(t,arguments[1],arguments[2],arguments[3]||t.RGBA,arguments[4]||t.UNSIGNED_BYTE);if(Array.isArray(arguments[1]))return l(t,0|arguments[1][0],0|arguments[1][1],arguments[2]||t.RGBA,arguments[3]||t.UNSIGNED_BYTE);if(&quot;object&quot;==typeof arguments[1]){var e=arguments[1],r=n(e)?e:e.raw;if(r)return function(t,e,r,n,i,o){var l=s(t);return t.texImage2D(t.TEXTURE_2D,0,i,i,o,e),new a(t,l,r,n,i,o)}(t,r,0|e.width,0|e.height,arguments[2]||t.RGBA,arguments[3]||t.UNSIGNED_BYTE);if(e.shape&amp;&amp;e.data&amp;&amp;e.stride)return function(t,e){var r=e.dtype,n=e.shape.slice(),i=t.getParameter(t.MAX_TEXTURE_SIZE);if(n[0]&lt;0||n[0]&gt;i||n[1]&lt;0||n[1]&gt;i)throw new Error(&quot;gl-texture2d: Invalid texture size&quot;);var l=o(n,e.stride.slice()),h=0;&quot;float32&quot;===r?h=t.FLOAT:&quot;float64&quot;===r?(h=t.FLOAT,l=!1,r=&quot;float32&quot;):&quot;uint8&quot;===r?h=t.UNSIGNED_BYTE:(h=t.UNSIGNED_BYTE,l=!1,r=&quot;uint8&quot;);var d=0;if(2===n.length)d=t.LUMINANCE,n=[n[0],n[1],1],e=c(e.data,n,[e.stride[0],e.stride[1],1],e.offset);else{if(3!==n.length)throw new Error(&quot;gl-texture2d: Invalid shape for texture&quot;);if(1===n[2])d=t.ALPHA;else if(2===n[2])d=t.LUMINANCE_ALPHA;else if(3===n[2])d=t.RGB;else{if(4!==n[2])throw new Error(&quot;gl-texture2d: Invalid shape for pixel coords&quot;);d=t.RGBA}}h!==t.FLOAT||t.getExtension(&quot;OES_texture_float&quot;)||(h=t.UNSIGNED_BYTE,l=!1);var p,g,v=e.size;if(l)p=0===e.offset&amp;&amp;e.data.length===v?e.data:e.data.subarray(e.offset,e.offset+v);else{var y=[n[2],n[2]*n[0],1];g=f.malloc(v,r);var x=c(g,n,y,0);&quot;float32&quot;!==r&amp;&amp;&quot;float64&quot;!==r||h!==t.UNSIGNED_BYTE?u.assign(x,e):m(x,e),p=g.subarray(0,v)}var b=s(t);return t.texImage2D(t.TEXTURE_2D,0,d,n[0],n[1],0,d,h,p),l||f.free(g),new a(t,b,n[0],n[1],d,h)}(t,e)}throw new Error(&quot;gl-texture2d: Invalid arguments for texture2d constructor&quot;)};var h=null,d=null,p=null,m=function(t,e){u.muls(t,e,255)},g=a.prototype;Object.defineProperties(g,{minFilter:{get:function(){return this._minFilter},set:function(t){this.bind();var e=this.gl;if(this.type===e.FLOAT&amp;&amp;h.indexOf(t)&gt;=0&amp;&amp;(e.getExtension(&quot;OES_texture_float_linear&quot;)||(t=e.NEAREST)),d.indexOf(t)&lt;0)throw new Error(&quot;gl-texture2d: Unknown filter mode &quot;+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&amp;&amp;h.indexOf(t)&gt;=0&amp;&amp;(e.getExtension(&quot;OES_texture_float_linear&quot;)||(t=e.NEAREST)),d.indexOf(t)&lt;0)throw new Error(&quot;gl-texture2d: Unknown filter mode &quot;+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(&quot;EXT_texture_filter_anisotropic&quot;);r&amp;&amp;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(),p.indexOf(t)&lt;0)throw new Error(&quot;gl-texture2d: Unknown wrap mode &quot;+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(),p.indexOf(t)&lt;0)throw new Error(&quot;gl-texture2d: Unknown wrap mode &quot;+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(&quot;gl-texture2d: Must specify wrap mode for rows and columns&quot;);for(var e=0;e&lt;2;++e)if(p.indexOf(t[e])&lt;0)throw new Error(&quot;gl-texture2d: Unknown wrap mode &quot;+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(&quot;gl-texture2d: Invalid texture shape&quot;)}else t=[0|t,0|t];return i(this,0|t[0],0|t[1]),[0|t[0],0|t[1]]}},width:{get:function(){return this._shape[0]},set:function(t){return t|=0,i(this,t,this._shape[1]),t}},height:{get:function(){return this._shape[1]},set:function(t){return t|=0,i(this,this._shape[0],t),t}}}),g.bind=function(t){var e=this.gl;return void 0!==t&amp;&amp;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},g.dispose=function(){this.gl.deleteTexture(this.handle)},g.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&gt;0;++e,t&gt;&gt;&gt;=1)this._mipLevels.indexOf(e)&lt;0&amp;&amp;this._mipLevels.push(e)},g.setPixels=function(t,e,r,i){var a=this.gl;this.bind(),Array.isArray(e)?(i=r,r=0|e[1],e=0|e[0]):(e=e||0,r=r||0),i=i||0;var s=n(t)?t:t.raw;if(s){this._mipLevels.indexOf(i)&lt;0?(a.texImage2D(a.TEXTURE_2D,0,this.format,this.format,this.type,s),this._mipLevels.push(i)):a.texSubImage2D(a.TEXTURE_2D,i,e,r,this.format,this.type,s)}else{if(!(t.shape&amp;&amp;t.stride&amp;&amp;t.data))throw new Error(&quot;gl-texture2d: Unsupported data type&quot;);if(t.shape.length&lt;2||e+t.shape[1]&gt;this._shape[1]&gt;&gt;&gt;i||r+t.shape[0]&gt;this._shape[0]&gt;&gt;&gt;i||e&lt;0||r&lt;0)throw new Error(&quot;gl-texture2d: Texture dimensions are out of bounds&quot;);!function(t,e,r,n,i,a,s,l){var h=l.dtype,d=l.shape.slice();if(d.length&lt;2||d.length&gt;3)throw new Error(&quot;gl-texture2d: Invalid ndarray, must be 2d or 3d&quot;);var p=0,g=0,v=o(d,l.stride.slice());if(&quot;float32&quot;===h?p=t.FLOAT:&quot;float64&quot;===h?(p=t.FLOAT,v=!1,h=&quot;float32&quot;):&quot;uint8&quot;===h?p=t.UNSIGNED_BYTE:(p=t.UNSIGNED_BYTE,v=!1,h=&quot;uint8&quot;),2===d.length)g=t.LUMINANCE,d=[d[0],d[1],1],l=c(l.data,d,[l.stride[0],l.stride[1],1],l.offset);else{if(3!==d.length)throw new Error(&quot;gl-texture2d: Invalid shape for texture&quot;);if(1===d[2])g=t.ALPHA;else if(2===d[2])g=t.LUMINANCE_ALPHA;else if(3===d[2])g=t.RGB;else{if(4!==d[2])throw new Error(&quot;gl-texture2d: Invalid shape for pixel coords&quot;);g=t.RGBA}d[2]}if(g!==t.LUMINANCE&amp;&amp;g!==t.ALPHA||i!==t.LUMINANCE&amp;&amp;i!==t.ALPHA||(g=i),g!==i)throw new Error(&quot;gl-texture2d: Incompatible texture format for setPixels&quot;);var y=l.size,x=s.indexOf(n)&lt;0;if(x&amp;&amp;s.push(n),p===a&amp;&amp;v)0===l.offset&amp;&amp;l.data.length===y?x?t.texImage2D(t.TEXTURE_2D,n,i,d[0],d[1],0,i,a,l.data):t.texSubImage2D(t.TEXTURE_2D,n,e,r,d[0],d[1],i,a,l.data):x?t.texImage2D(t.TEXTURE_2D,n,i,d[0],d[1],0,i,a,l.data.subarray(l.offset,l.offset+y)):t.texSubImage2D(t.TEXTURE_2D,n,e,r,d[0],d[1],i,a,l.data.subarray(l.offset,l.offset+y));else{var b;b=a===t.FLOAT?f.mallocFloat32(y):f.mallocUint8(y);var _=c(b,d,[d[2],d[2]*d[0],1]);p===t.FLOAT&amp;&amp;a===t.UNSIGNED_BYTE?m(_,l):u.assign(_,l),x?t.texImage2D(t.TEXTURE_2D,n,i,d[0],d[1],0,i,a,b.subarray(0,y)):t.texSubImage2D(t.TEXTURE_2D,n,e,r,d[0],d[1],i,a,b.subarray(0,y)),a===t.FLOAT?f.freeFloat32(b):f.freeUint8(b)}}(a,e,r,i,this.format,this.type,this._mipLevels,t)}}},{ndarray:458,&quot;ndarray-ops&quot;:452,&quot;typedarray-pool&quot;:554}],256:[function(t,e,r){&quot;use strict&quot;;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&gt;n)throw new Error(&quot;gl-vao: Too many vertex attributes&quot;);for(var i=0;i&lt;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(&quot;number&quot;==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(&quot;gl-vao: Invalid vertex attribute&quot;);t.vertexAttrib4f(i,a[0],a[1],a[2],a[3])}t.disableVertexAttribArray(i)}}for(;i&lt;n;++i)t.disableVertexAttribArray(i)}else for(t.bindBuffer(t.ARRAY_BUFFER,null),i=0;i&lt;n;++i)t.disableVertexAttribArray(i)}},{}],257:[function(t,e,r){&quot;use strict&quot;;function n(t){this.gl=t,this._elements=null,this._attributes=null,this._elementsType=t.UNSIGNED_SHORT}var i=t(&quot;./do-bind.js&quot;);n.prototype.bind=function(){i(this.gl,this._elements,this._attributes)},n.prototype.update=function(t,e,r){this._elements=e,this._attributes=t,this._elementsType=r||this.gl.UNSIGNED_SHORT},n.prototype.dispose=function(){},n.prototype.unbind=function(){},n.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 n(t)}},{&quot;./do-bind.js&quot;:256}],258:[function(t,e,r){&quot;use strict&quot;;function n(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 i(t,e,r){this.gl=t,this._ext=e,this.handle=r,this._attribs=[],this._useElements=!1,this._elementsType=t.UNSIGNED_SHORT}var a=t(&quot;./do-bind.js&quot;);n.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)}},i.prototype.bind=function(){this._ext.bindVertexArrayOES(this.handle);for(var t=0;t&lt;this._attribs.length;++t)this._attribs[t].bind(this.gl)},i.prototype.unbind=function(){this._ext.bindVertexArrayOES(null)},i.prototype.dispose=function(){this._ext.deleteVertexArrayOES(this.handle)},i.prototype.update=function(t,e,r){if(this.bind(),a(this.gl,e,t),this.unbind(),this._attribs.length=0,t)for(var i=0;i&lt;t.length;++i){var o=t[i];&quot;number&quot;==typeof o?this._attribs.push(new n(i,1,o)):Array.isArray(o)&amp;&amp;this._attribs.push(new n(i,o.length,o[0],o[1],o[2],o[3]))}this._useElements=!!e,this._elementsType=r||this.gl.UNSIGNED_SHORT},i.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 i(t,e,e.createVertexArrayOES())}},{&quot;./do-bind.js&quot;:256}],259:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;./lib/vao-native.js&quot;),i=t(&quot;./lib/vao-emulated.js&quot;);e.exports=function(t,e,r,a){var o,s=t.createVertexArray?new function(t){this.bindVertexArrayOES=t.bindVertexArray.bind(t),this.createVertexArrayOES=t.createVertexArray.bind(t),this.deleteVertexArrayOES=t.deleteVertexArray.bind(t)}(t):t.getExtension(&quot;OES_vertex_array_object&quot;);return(o=s?n(t,s):i(t)).update(e,r,a),o}},{&quot;./lib/vao-emulated.js&quot;:257,&quot;./lib/vao-native.js&quot;:258}],260:[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}},{}],261:[function(t,e,r){e.exports=function(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]}},{}],262:[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)}},{}],263:[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}},{}],264:[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;return a&gt;0&amp;&amp;(a=1/Math.sqrt(a),t[0]=e[0]*a,t[1]=e[1]*a,t[2]=e[2]*a),t}},{}],265:[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}},{}],266:[function(t,e,r){e.exports=function(t,e,r,a){return n[0]=a,n[1]=r,n[2]=e,n[3]=t,i[0]};var n=new Uint8Array(4),i=new Float32Array(n.buffer)},{}],267:[function(t,e,r){var n=t(&quot;glsl-tokenizer&quot;),i=t(&quot;atob-lite&quot;);e.exports=function(t){for(var e=Array.isArray(t)?t:n(t),r=0;r&lt;e.length;r++){var a=e[r];if(&quot;preprocessor&quot;===a.type){var o=a.data.match(/\#define\s+SHADER_NAME(_B64)?\s+(.+)$/);if(o&amp;&amp;o[2]){var s=o[1],l=o[2];return(s?i(l):l).trim()}}}}},{&quot;atob-lite&quot;:52,&quot;glsl-tokenizer&quot;:274}],268:[function(t,e,r){e.exports=function(t){function e(t){t.length&amp;&amp;D.push({type:w[C],data:t,position:O,line:I,column:P})}function r(t){E=0,S=(N+=t).length;for(var r;A=N[E],E&lt;S;){switch(r=E,C){case u:E=&quot;/&quot;===A&amp;&amp;&quot;*&quot;===T?(z.push(A),e(z.join(&quot;&quot;)),C=l,E+1):(z.push(A),T=A,E+1);break;case f:case h:E=M();break;case d:E=function(){if(&quot;.&quot;===T&amp;&amp;/\d/.test(A))return C=m,E;if(&quot;/&quot;===T&amp;&amp;&quot;*&quot;===A)return C=u,E;if(&quot;/&quot;===T&amp;&amp;&quot;/&quot;===A)return C=f,E;if(&quot;.&quot;===A&amp;&amp;z.length){for(;k(z););return C=m,E}if(&quot;;&quot;===A||&quot;)&quot;===A||&quot;(&quot;===A){if(z.length)for(;k(z););return e(A),C=l,E+1}var t=2===z.length&amp;&amp;&quot;=&quot;!==A;if(/[\w_\d\s]/.test(A)||t){for(;k(z););return C=l,E}return z.push(A),T=A,E+1}();break;case p:E=&quot;.&quot;===A?(z.push(A),C=m,T=A,E+1):/[eE]/.test(A)?(z.push(A),C=m,T=A,E+1):&quot;x&quot;===A&amp;&amp;1===z.length&amp;&amp;&quot;0&quot;===z[0]?(C=_,z.push(A),T=A,E+1):/[^\d]/.test(A)?(e(z.join(&quot;&quot;)),C=l,E):(z.push(A),T=A,E+1);break;case _:E=/[^a-fA-F0-9]/.test(A)?(e(z.join(&quot;&quot;)),C=l,E):(z.push(A),T=A,E+1);break;case m:&quot;f&quot;===A&amp;&amp;(z.push(A),T=A,E+=1),E=/[eE]/.test(A)?(z.push(A),T=A,E+1):&quot;-&quot;===A&amp;&amp;/[eE]/.test(T)?(z.push(A),T=A,E+1):/[^\d]/.test(A)?(e(z.join(&quot;&quot;)),C=l,E):(z.push(A),T=A,E+1);break;case c:E=function(){if(/[^\d\w_]/.test(A)){var t=z.join(&quot;&quot;);return C=B.indexOf(t)&gt;-1?y:j.indexOf(t)&gt;-1?v:g,e(z.join(&quot;&quot;)),C=l,E}return z.push(A),T=A,E+1}();break;case x:E=/[^\s]/g.test(A)?(e(z.join(&quot;&quot;)),C=l,E):(z.push(A),T=A,E+1);break;case l:z=z.length?[]:z,E=&quot;/&quot;===T&amp;&amp;&quot;*&quot;===A?(O=L+E-1,C=u,T=A,E+1):&quot;/&quot;===T&amp;&amp;&quot;/&quot;===A?(O=L+E-1,C=f,T=A,E+1):&quot;#&quot;===A?(C=h,O=L+E,E):/\s/.test(A)?(C=x,O=L+E,E):(F=/\d/.test(A),R=/[^\w_]/.test(A),O=L+E,C=F?p:R?d:c,E)}if(r!==E)switch(N[r]){case&quot;\n&quot;:P=0,++I;break;default:++P}}return L+=E,N=N.slice(E),D}function M(){return&quot;\r&quot;!==A&amp;&amp;&quot;\n&quot;!==A||&quot;\\&quot;===T?(z.push(A),T=A,E+1):(e(z.join(&quot;&quot;)),C=l,E)}function k(t){for(var r,n,a=0;;){if(r=i.indexOf(t.slice(0,t.length+a).join(&quot;&quot;)),n=i[r],-1===r){if(a--+t.length&gt;0)continue;n=t.slice(0,1).join(&quot;&quot;)}return e(n),O+=n.length,(z=z.slice(n.length)).length}}var A,T,S,E=0,L=0,C=l,z=[],D=[],I=1,P=0,O=0,F=!1,R=!1,N=&quot;&quot;,j=a,B=n;return&quot;300 es&quot;===(t=t||{}).version&amp;&amp;(j=s,B=o),function(t){return D=[],null!==t?r(t.replace?t.replace(/\r\n/g,&quot;\n&quot;):t):(z.length&amp;&amp;e(z.join(&quot;&quot;)),C=b,e(&quot;(eof)&quot;),D)}};var n=t(&quot;./lib/literals&quot;),i=t(&quot;./lib/operators&quot;),a=t(&quot;./lib/builtins&quot;),o=t(&quot;./lib/literals-300es&quot;),s=t(&quot;./lib/builtins-300es&quot;),l=999,c=9999,u=0,f=1,h=2,d=3,p=4,m=5,g=6,v=7,y=8,x=9,b=10,_=11,w=[&quot;block-comment&quot;,&quot;line-comment&quot;,&quot;preprocessor&quot;,&quot;operator&quot;,&quot;integer&quot;,&quot;float&quot;,&quot;ident&quot;,&quot;builtin&quot;,&quot;keyword&quot;,&quot;whitespace&quot;,&quot;eof&quot;,&quot;integer&quot;]},{&quot;./lib/builtins&quot;:270,&quot;./lib/builtins-300es&quot;:269,&quot;./lib/literals&quot;:272,&quot;./lib/literals-300es&quot;:271,&quot;./lib/operators&quot;:273}],269:[function(t,e,r){var n=t(&quot;./builtins&quot;);n=n.slice().filter(function(t){return!/^(gl\_|texture)/.test(t)}),e.exports=n.concat([&quot;gl_VertexID&quot;,&quot;gl_InstanceID&quot;,&quot;gl_Position&quot;,&quot;gl_PointSize&quot;,&quot;gl_FragCoord&quot;,&quot;gl_FrontFacing&quot;,&quot;gl_FragDepth&quot;,&quot;gl_PointCoord&quot;,&quot;gl_MaxVertexAttribs&quot;,&quot;gl_MaxVertexUniformVectors&quot;,&quot;gl_MaxVertexOutputVectors&quot;,&quot;gl_MaxFragmentInputVectors&quot;,&quot;gl_MaxVertexTextureImageUnits&quot;,&quot;gl_MaxCombinedTextureImageUnits&quot;,&quot;gl_MaxTextureImageUnits&quot;,&quot;gl_MaxFragmentUniformVectors&quot;,&quot;gl_MaxDrawBuffers&quot;,&quot;gl_MinProgramTexelOffset&quot;,&quot;gl_MaxProgramTexelOffset&quot;,&quot;gl_DepthRangeParameters&quot;,&quot;gl_DepthRange&quot;,&quot;trunc&quot;,&quot;round&quot;,&quot;roundEven&quot;,&quot;isnan&quot;,&quot;isinf&quot;,&quot;floatBitsToInt&quot;,&quot;floatBitsToUint&quot;,&quot;intBitsToFloat&quot;,&quot;uintBitsToFloat&quot;,&quot;packSnorm2x16&quot;,&quot;unpackSnorm2x16&quot;,&quot;packUnorm2x16&quot;,&quot;unpackUnorm2x16&quot;,&quot;packHalf2x16&quot;,&quot;unpackHalf2x16&quot;,&quot;outerProduct&quot;,&quot;transpose&quot;,&quot;determinant&quot;,&quot;inverse&quot;,&quot;texture&quot;,&quot;textureSize&quot;,&quot;textureProj&quot;,&quot;textureLod&quot;,&quot;textureOffset&quot;,&quot;texelFetch&quot;,&quot;texelFetchOffset&quot;,&quot;textureProjOffset&quot;,&quot;textureLodOffset&quot;,&quot;textureProjLod&quot;,&quot;textureProjLodOffset&quot;,&quot;textureGrad&quot;,&quot;textureGradOffset&quot;,&quot;textureProjGrad&quot;,&quot;textureProjGradOffset&quot;])},{&quot;./builtins&quot;:270}],270:[function(t,e,r){e.exports=[&quot;abs&quot;,&quot;acos&quot;,&quot;all&quot;,&quot;any&quot;,&quot;asin&quot;,&quot;atan&quot;,&quot;ceil&quot;,&quot;clamp&quot;,&quot;cos&quot;,&quot;cross&quot;,&quot;dFdx&quot;,&quot;dFdy&quot;,&quot;degrees&quot;,&quot;distance&quot;,&quot;dot&quot;,&quot;equal&quot;,&quot;exp&quot;,&quot;exp2&quot;,&quot;faceforward&quot;,&quot;floor&quot;,&quot;fract&quot;,&quot;gl_BackColor&quot;,&quot;gl_BackLightModelProduct&quot;,&quot;gl_BackLightProduct&quot;,&quot;gl_BackMaterial&quot;,&quot;gl_BackSecondaryColor&quot;,&quot;gl_ClipPlane&quot;,&quot;gl_ClipVertex&quot;,&quot;gl_Color&quot;,&quot;gl_DepthRange&quot;,&quot;gl_DepthRangeParameters&quot;,&quot;gl_EyePlaneQ&quot;,&quot;gl_EyePlaneR&quot;,&quot;gl_EyePlaneS&quot;,&quot;gl_EyePlaneT&quot;,&quot;gl_Fog&quot;,&quot;gl_FogCoord&quot;,&quot;gl_FogFragCoord&quot;,&quot;gl_FogParameters&quot;,&quot;gl_FragColor&quot;,&quot;gl_FragCoord&quot;,&quot;gl_FragData&quot;,&quot;gl_FragDepth&quot;,&quot;gl_FragDepthEXT&quot;,&quot;gl_FrontColor&quot;,&quot;gl_FrontFacing&quot;,&quot;gl_FrontLightModelProduct&quot;,&quot;gl_FrontLightProduct&quot;,&quot;gl_FrontMaterial&quot;,&quot;gl_FrontSecondaryColor&quot;,&quot;gl_LightModel&quot;,&quot;gl_LightModelParameters&quot;,&quot;gl_LightModelProducts&quot;,&quot;gl_LightProducts&quot;,&quot;gl_LightSource&quot;,&quot;gl_LightSourceParameters&quot;,&quot;gl_MaterialParameters&quot;,&quot;gl_MaxClipPlanes&quot;,&quot;gl_MaxCombinedTextureImageUnits&quot;,&quot;gl_MaxDrawBuffers&quot;,&quot;gl_MaxFragmentUniformComponents&quot;,&quot;gl_MaxLights&quot;,&quot;gl_MaxTextureCoords&quot;,&quot;gl_MaxTextureImageUnits&quot;,&quot;gl_MaxTextureUnits&quot;,&quot;gl_MaxVaryingFloats&quot;,&quot;gl_MaxVertexAttribs&quot;,&quot;gl_MaxVertexTextureImageUnits&quot;,&quot;gl_MaxVertexUniformComponents&quot;,&quot;gl_ModelViewMatrix&quot;,&quot;gl_ModelViewMatrixInverse&quot;,&quot;gl_ModelViewMatrixInverseTranspose&quot;,&quot;gl_ModelViewMatrixTranspose&quot;,&quot;gl_ModelViewProjectionMatrix&quot;,&quot;gl_ModelViewProjectionMatrixInverse&quot;,&quot;gl_ModelViewProjectionMatrixInverseTranspose&quot;,&quot;gl_ModelViewProjectionMatrixTranspose&quot;,&quot;gl_MultiTexCoord0&quot;,&quot;gl_MultiTexCoord1&quot;,&quot;gl_MultiTexCoord2&quot;,&quot;gl_MultiTexCoord3&quot;,&quot;gl_MultiTexCoord4&quot;,&quot;gl_MultiTexCoord5&quot;,&quot;gl_MultiTexCoord6&quot;,&quot;gl_MultiTexCoord7&quot;,&quot;gl_Normal&quot;,&quot;gl_NormalMatrix&quot;,&quot;gl_NormalScale&quot;,&quot;gl_ObjectPlaneQ&quot;,&quot;gl_ObjectPlaneR&quot;,&quot;gl_ObjectPlaneS&quot;,&quot;gl_ObjectPlaneT&quot;,&quot;gl_Point&quot;,&quot;gl_PointCoord&quot;,&quot;gl_PointParameters&quot;,&quot;gl_PointSize&quot;,&quot;gl_Position&quot;,&quot;gl_ProjectionMatrix&quot;,&quot;gl_ProjectionMatrixInverse&quot;,&quot;gl_ProjectionMatrixInverseTranspose&quot;,&quot;gl_ProjectionMatrixTranspose&quot;,&quot;gl_SecondaryColor&quot;,&quot;gl_TexCoord&quot;,&quot;gl_TextureEnvColor&quot;,&quot;gl_TextureMatrix&quot;,&quot;gl_TextureMatrixInverse&quot;,&quot;gl_TextureMatrixInverseTranspose&quot;,&quot;gl_TextureMatrixTranspose&quot;,&quot;gl_Vertex&quot;,&quot;greaterThan&quot;,&quot;greaterThanEqual&quot;,&quot;inversesqrt&quot;,&quot;length&quot;,&quot;lessThan&quot;,&quot;lessThanEqual&quot;,&quot;log&quot;,&quot;log2&quot;,&quot;matrixCompMult&quot;,&quot;max&quot;,&quot;min&quot;,&quot;mix&quot;,&quot;mod&quot;,&quot;normalize&quot;,&quot;not&quot;,&quot;notEqual&quot;,&quot;pow&quot;,&quot;radians&quot;,&quot;reflect&quot;,&quot;refract&quot;,&quot;sign&quot;,&quot;sin&quot;,&quot;smoothstep&quot;,&quot;sqrt&quot;,&quot;step&quot;,&quot;tan&quot;,&quot;texture2D&quot;,&quot;texture2DLod&quot;,&quot;texture2DProj&quot;,&quot;texture2DProjLod&quot;,&quot;textureCube&quot;,&quot;textureCubeLod&quot;,&quot;texture2DLodEXT&quot;,&quot;texture2DProjLodEXT&quot;,&quot;textureCubeLodEXT&quot;,&quot;texture2DGradEXT&quot;,&quot;texture2DProjGradEXT&quot;,&quot;textureCubeGradEXT&quot;]},{}],271:[function(t,e,r){var n=t(&quot;./literals&quot;);e.exports=n.slice().concat([&quot;layout&quot;,&quot;centroid&quot;,&quot;smooth&quot;,&quot;case&quot;,&quot;mat2x2&quot;,&quot;mat2x3&quot;,&quot;mat2x4&quot;,&quot;mat3x2&quot;,&quot;mat3x3&quot;,&quot;mat3x4&quot;,&quot;mat4x2&quot;,&quot;mat4x3&quot;,&quot;mat4x4&quot;,&quot;uint&quot;,&quot;uvec2&quot;,&quot;uvec3&quot;,&quot;uvec4&quot;,&quot;samplerCubeShadow&quot;,&quot;sampler2DArray&quot;,&quot;sampler2DArrayShadow&quot;,&quot;isampler2D&quot;,&quot;isampler3D&quot;,&quot;isamplerCube&quot;,&quot;isampler2DArray&quot;,&quot;usampler2D&quot;,&quot;usampler3D&quot;,&quot;usamplerCube&quot;,&quot;usampler2DArray&quot;,&quot;coherent&quot;,&quot;restrict&quot;,&quot;readonly&quot;,&quot;writeonly&quot;,&quot;resource&quot;,&quot;atomic_uint&quot;,&quot;noperspective&quot;,&quot;patch&quot;,&quot;sample&quot;,&quot;subroutine&quot;,&quot;common&quot;,&quot;partition&quot;,&quot;active&quot;,&quot;filter&quot;,&quot;image1D&quot;,&quot;image2D&quot;,&quot;image3D&quot;,&quot;imageCube&quot;,&quot;iimage1D&quot;,&quot;iimage2D&quot;,&quot;iimage3D&quot;,&quot;iimageCube&quot;,&quot;uimage1D&quot;,&quot;uimage2D&quot;,&quot;uimage3D&quot;,&quot;uimageCube&quot;,&quot;image1DArray&quot;,&quot;image2DArray&quot;,&quot;iimage1DArray&quot;,&quot;iimage2DArray&quot;,&quot;uimage1DArray&quot;,&quot;uimage2DArray&quot;,&quot;image1DShadow&quot;,&quot;image2DShadow&quot;,&quot;image1DArrayShadow&quot;,&quot;image2DArrayShadow&quot;,&quot;imageBuffer&quot;,&quot;iimageBuffer&quot;,&quot;uimageBuffer&quot;,&quot;sampler1DArray&quot;,&quot;sampler1DArrayShadow&quot;,&quot;isampler1D&quot;,&quot;isampler1DArray&quot;,&quot;usampler1D&quot;,&quot;usampler1DArray&quot;,&quot;isampler2DRect&quot;,&quot;usampler2DRect&quot;,&quot;samplerBuffer&quot;,&quot;isamplerBuffer&quot;,&quot;usamplerBuffer&quot;,&quot;sampler2DMS&quot;,&quot;isampler2DMS&quot;,&quot;usampler2DMS&quot;,&quot;sampler2DMSArray&quot;,&quot;isampler2DMSArray&quot;,&quot;usampler2DMSArray&quot;])},{&quot;./literals&quot;:272}],272:[function(t,e,r){e.exports=[&quot;precision&quot;,&quot;highp&quot;,&quot;mediump&quot;,&quot;lowp&quot;,&quot;attribute&quot;,&quot;const&quot;,&quot;uniform&quot;,&quot;varying&quot;,&quot;break&quot;,&quot;continue&quot;,&quot;do&quot;,&quot;for&quot;,&quot;while&quot;,&quot;if&quot;,&quot;else&quot;,&quot;in&quot;,&quot;out&quot;,&quot;inout&quot;,&quot;float&quot;,&quot;int&quot;,&quot;void&quot;,&quot;bool&quot;,&quot;true&quot;,&quot;false&quot;,&quot;discard&quot;,&quot;return&quot;,&quot;mat2&quot;,&quot;mat3&quot;,&quot;mat4&quot;,&quot;vec2&quot;,&quot;vec3&quot;,&quot;vec4&quot;,&quot;ivec2&quot;,&quot;ivec3&quot;,&quot;ivec4&quot;,&quot;bvec2&quot;,&quot;bvec3&quot;,&quot;bvec4&quot;,&quot;sampler1D&quot;,&quot;sampler2D&quot;,&quot;sampler3D&quot;,&quot;samplerCube&quot;,&quot;sampler1DShadow&quot;,&quot;sampler2DShadow&quot;,&quot;struct&quot;,&quot;asm&quot;,&quot;class&quot;,&quot;union&quot;,&quot;enum&quot;,&quot;typedef&quot;,&quot;template&quot;,&quot;this&quot;,&quot;packed&quot;,&quot;goto&quot;,&quot;switch&quot;,&quot;default&quot;,&quot;inline&quot;,&quot;noinline&quot;,&quot;volatile&quot;,&quot;public&quot;,&quot;static&quot;,&quot;extern&quot;,&quot;external&quot;,&quot;interface&quot;,&quot;long&quot;,&quot;short&quot;,&quot;double&quot;,&quot;half&quot;,&quot;fixed&quot;,&quot;unsigned&quot;,&quot;input&quot;,&quot;output&quot;,&quot;hvec2&quot;,&quot;hvec3&quot;,&quot;hvec4&quot;,&quot;dvec2&quot;,&quot;dvec3&quot;,&quot;dvec4&quot;,&quot;fvec2&quot;,&quot;fvec3&quot;,&quot;fvec4&quot;,&quot;sampler2DRect&quot;,&quot;sampler3DRect&quot;,&quot;sampler2DRectShadow&quot;,&quot;sizeof&quot;,&quot;cast&quot;,&quot;namespace&quot;,&quot;using&quot;]},{}],273:[function(t,e,r){e.exports=[&quot;&lt;&lt;=&quot;,&quot;&gt;&gt;=&quot;,&quot;++&quot;,&quot;--&quot;,&quot;&lt;&lt;&quot;,&quot;&gt;&gt;&quot;,&quot;&lt;=&quot;,&quot;&gt;=&quot;,&quot;==&quot;,&quot;!=&quot;,&quot;&amp;&amp;&quot;,&quot;||&quot;,&quot;+=&quot;,&quot;-=&quot;,&quot;*=&quot;,&quot;/=&quot;,&quot;%=&quot;,&quot;&amp;=&quot;,&quot;^^&quot;,&quot;^=&quot;,&quot;|=&quot;,&quot;(&quot;,&quot;)&quot;,&quot;[&quot;,&quot;]&quot;,&quot;.&quot;,&quot;!&quot;,&quot;~&quot;,&quot;*&quot;,&quot;/&quot;,&quot;%&quot;,&quot;+&quot;,&quot;-&quot;,&quot;&lt;&quot;,&quot;&gt;&quot;,&quot;&amp;&quot;,&quot;^&quot;,&quot;|&quot;,&quot;?&quot;,&quot;:&quot;,&quot;=&quot;,&quot;,&quot;,&quot;;&quot;,&quot;{&quot;,&quot;}&quot;]},{}],274:[function(t,e,r){var n=t(&quot;./index&quot;);e.exports=function(t,e){var r=n(e),i=[];return i=i.concat(r(t)),i=i.concat(r(null))}},{&quot;./index&quot;:268}],275:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r){var n=this.cells=[];if(t instanceof ArrayBuffer){this.arrayBuffer=t;var a=new Int32Array(this.arrayBuffer);t=a[0],e=a[1],r=a[2],this.d=e+2*r;for(var o=0;o&lt;this.d*this.d;o++){var s=a[i+o],l=a[i+o+1];n.push(s===l?null:a.subarray(s,l))}var c=a[i+n.length],u=a[i+n.length+1];this.keys=a.subarray(c,u),this.bboxes=a.subarray(u),this.insert=this._insertReadonly}else{this.d=e+2*r;for(var f=0;f&lt;this.d*this.d;f++)n.push([]);this.keys=[],this.bboxes=[]}this.n=e,this.extent=t,this.padding=r,this.scale=e/t,this.uid=0;var h=r/e*t;this.min=-h,this.max=t+h}e.exports=n;var i=3;n.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)},n.prototype._insertReadonly=function(){throw&quot;Cannot insert into a GridIndex created from an ArrayBuffer.&quot;},n.prototype._insertCell=function(t,e,r,n,i,a){this.cells[i].push(a)},n.prototype.query=function(t,e,r,n){var i=this.min,a=this.max;if(t&lt;=i&amp;&amp;e&lt;=i&amp;&amp;a&lt;=r&amp;&amp;a&lt;=n)return Array.prototype.slice.call(this.keys);var o=[],s={};return this._forEachCell(t,e,r,n,this._queryCell,o,s),o},n.prototype._queryCell=function(t,e,r,n,i,a,o){var s=this.cells[i];if(null!==s)for(var l=this.keys,c=this.bboxes,u=0;u&lt;s.length;u++){var f=s[u];if(void 0===o[f]){var h=4*f;t&lt;=c[h+2]&amp;&amp;e&lt;=c[h+3]&amp;&amp;r&gt;=c[h+0]&amp;&amp;n&gt;=c[h+1]?(o[f]=!0,a.push(l[f])):o[f]=!1}}},n.prototype._forEachCell=function(t,e,r,n,i,a,o){for(var s=this._convertToCellCoord(t),l=this._convertToCellCoord(e),c=this._convertToCellCoord(r),u=this._convertToCellCoord(n),f=s;f&lt;=c;f++)for(var h=l;h&lt;=u;h++){var d=this.d*h+f;if(i.call(this,t,e,r,n,d,a,o))return}},n.prototype._convertToCellCoord=function(t){return Math.max(0,Math.min(this.d-1,Math.floor(t*this.scale)+this.padding))},n.prototype.toArrayBuffer=function(){if(this.arrayBuffer)return this.arrayBuffer;for(var t=this.cells,e=i+this.cells.length+1+1,r=0,n=0;n&lt;this.cells.length;n++)r+=this.cells[n].length;var a=new Int32Array(e+r+this.keys.length+this.bboxes.length);a[0]=this.extent,a[1]=this.n,a[2]=this.padding;for(var o=e,s=0;s&lt;t.length;s++){var l=t[s];a[i+s]=o,a.set(l,o),o+=l.length}return a[i+t.length]=o,a.set(this.keys,o),o+=this.keys.length,a[i+t.length+1]=o,a.set(this.bboxes,o),o+=this.bboxes.length,a.buffer}},{}],276:[function(t,e,r){(function(r){&quot;use strict&quot;;var n,i=t(&quot;is-browser&quot;);n=&quot;function&quot;==typeof r.matchMedia?!r.matchMedia(&quot;(hover: none)&quot;).matches:i,e.exports=n}).call(this,&quot;undefined&quot;!=typeof global?global:&quot;undefined&quot;!=typeof self?self:&quot;undefined&quot;!=typeof window?window:{})},{&quot;is-browser&quot;:282}],277:[function(t,e,r){r.read=function(t,e,r,n,i){var a,o,s=8*i-n-1,l=(1&lt;&lt;s)-1,c=l&gt;&gt;1,u=-7,f=r?i-1:0,h=r?-1:1,d=t[e+f];for(f+=h,a=d&amp;(1&lt;&lt;-u)-1,d&gt;&gt;=-u,u+=s;u&gt;0;a=256*a+t[e+f],f+=h,u-=8);for(o=a&amp;(1&lt;&lt;-u)-1,a&gt;&gt;=-u,u+=n;u&gt;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*(d?-1:1);o+=Math.pow(2,n),a-=c}return(d?-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&lt;&lt;c)-1,f=u&gt;&gt;1,h=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,d=n?0:a-1,p=n?1:-1,m=e&lt;0||0===e&amp;&amp;1/e&lt;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))&lt;1&amp;&amp;(o--,l*=2),(e+=o+f&gt;=1?h/l:h*Math.pow(2,1-f))*l&gt;=2&amp;&amp;(o++,l/=2),o+f&gt;=u?(s=0,o=u):o+f&gt;=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&gt;=8;t[r+d]=255&amp;s,d+=p,s/=256,i-=8);for(o=o&lt;&lt;i|s,c+=i;c&gt;0;t[r+d]=255&amp;o,d+=p,o/=256,c-=8);t[r+d-p]|=128*m}},{}],278:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r){this.vertices=t,this.adjacent=e,this.boundary=r,this.lastVisited=-1}function i(t,e,r){this.vertices=t,this.cell=e,this.index=r}function a(t,e){return l(t.vertices,e.vertices)}function o(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 n=0;n&lt;=t;++n)this.tuple[n]=this.vertices[n];var i=c[t];i||(i=c[t]=function(t){for(var e=[&quot;function orient(){var tuple=this.tuple;return test(&quot;],r=0;r&lt;=t;++r)r&gt;0&amp;&amp;e.push(&quot;,&quot;),e.push(&quot;tuple[&quot;,r,&quot;]&quot;);e.push(&quot;)}return orient&quot;);var n=new Function(&quot;test&quot;,e.join(&quot;&quot;)),i=s[t+1];return i||(i=s),n(i)}(t)),this.orient=i}e.exports=function(t,e){var r=t.length;if(0===r)throw new Error(&quot;Must have at least d+1 points&quot;);var i=t[0].length;if(r&lt;=i)throw new Error(&quot;Must input at least d+1 points&quot;);var a=t.slice(0,i+1),l=s.apply(void 0,a);if(0===l)throw new Error(&quot;Input not in general position&quot;);for(var c=new Array(i+1),u=0;u&lt;=i;++u)c[u]=u;l&lt;0&amp;&amp;(c[0]=1,c[1]=0);var f=new n(c,new Array(i+1),!1),h=f.adjacent,d=new Array(i+2);for(u=0;u&lt;=i;++u){for(var p=c.slice(),m=0;m&lt;=i;++m)m===u&amp;&amp;(p[m]=-1);var g=p[0];p[0]=p[1],p[1]=g;var v=new n(p,new Array(i+1),!0);h[u]=v,d[u]=v}for(d[i+1]=f,u=0;u&lt;=i;++u){p=h[u].vertices;var y=h[u].adjacent;for(m=0;m&lt;=i;++m){var x=p[m];if(x&lt;0)y[m]=f;else for(var b=0;b&lt;=i;++b)h[b].vertices.indexOf(x)&lt;0&amp;&amp;(y[m]=h[b])}}var _=new o(i,a,d),w=!!e;for(u=i+1;u&lt;r;++u)_.insert(t[u],w);return _.boundary()};var s=t(&quot;robust-orientation&quot;),l=t(&quot;simplicial-complex&quot;).compareCells;n.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 c=[],u=o.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&gt;0;){(t=o.pop()).vertices;for(var s=t.adjacent,l=0;l&lt;=r;++l){var c=s[l];if(c.boundary&amp;&amp;!(c.lastVisited&lt;=-n)){for(var u=c.vertices,f=0;f&lt;=r;++f){var h=u[f];i[f]=h&lt;0?e:a[h]}var d=this.orient();if(d&gt;0)return c;c.lastVisited=-n,0===d&amp;&amp;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&lt;=n;++u)a[u]=i[l[u]];s.lastVisited=r;for(u=0;u&lt;=n;++u){var f=c[u];if(!(f.lastVisited&gt;=r)){var h=a[u];a[u]=t;var d=this.orient();if(a[u]=h,d&lt;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,o=this.dimension,s=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&gt;0;){var d=(e=f.pop()).vertices,p=e.adjacent,m=d.indexOf(r);if(!(m&lt;0))for(var g=0;g&lt;=o;++g)if(g!==m){var v=p[g];if(v.boundary&amp;&amp;!(v.lastVisited&gt;=r)){var y=v.vertices;if(v.lastVisited!==-r){for(var x=0,b=0;b&lt;=o;++b)y[b]&lt;0?(x=b,l[b]=t):l[b]=s[y[b]];if(this.orient()&gt;0){y[x]=r,v.boundary=!1,c.push(v),f.push(v),v.lastVisited=r;continue}v.lastVisited=-r}var _=v.adjacent,w=d.slice(),M=p.slice(),k=new n(w,M,!0);u.push(k);var A=_.indexOf(e);if(!(A&lt;0)){_[A]=k,M[m]=v,w[g]=-1,M[g]=e,p[g]=k,k.flip();for(b=0;b&lt;=o;++b){var T=w[b];if(!(T&lt;0||T===r)){for(var S=new Array(o-1),E=0,L=0;L&lt;=o;++L){var C=w[L];C&lt;0||L===b||(S[E++]=C)}h.push(new i(S,k,b))}}}}}}h.sort(a);for(g=0;g+1&lt;h.length;g+=2){var z=h[g],D=h[g+1],I=z.index,P=D.index;I&lt;0||P&lt;0||(z.cell.adjacent[z.index]=D.cell,D.cell.adjacent[D.index]=z.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&lt;=i;++o){var s=n.vertices[o];a[o]=s&lt;0?t:r[s]}var l=this.orient(a);l&lt;0||(0!==l||(n=this.handleBoundaryDegeneracy(n,t)))&amp;&amp;this.addPeaks(t,n)}},u.boundary=function(){for(var t=this.dimension,e=[],r=this.simplices,n=r.length,i=0;i&lt;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&lt;=t;++u)s[u]&gt;=0?o[l++]=s[u]:c=1&amp;u;if(c===(1&amp;t)){var f=o[0];o[0]=o[1],o[1]=f}e.push(o)}}return e}},{&quot;robust-orientation&quot;:515,&quot;simplicial-complex&quot;:526}],279:[function(t,e,r){&quot;use strict&quot;;function n(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}function i(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 a(t,e){var r=p(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 o(t,e){var r=t.intervals([]);r.push(e),a(t,r)}function s(t,e){var r=t.intervals([]),n=r.indexOf(e);return n&lt;0?v:(r.splice(n,1),a(t,r),y)}function l(t,e,r){for(var n=0;n&lt;t.length&amp;&amp;t[n][0]&lt;=e;++n){var i=r(t[n]);if(i)return i}}function c(t,e,r){for(var n=t.length-1;n&gt;=0&amp;&amp;t[n][1]&gt;=e;--n){var i=r(t[n]);if(i)return i}}function u(t,e){for(var r=0;r&lt;t.length;++r){var n=e(t[r]);if(n)return n}}function f(t,e){return t-e}function h(t,e){var r=t[0]-e[0];return r||t[1]-e[1]}function d(t,e){var r=t[1]-e[1];return r||t[0]-e[0]}function p(t){if(0===t.length)return null;for(var e=[],r=0;r&lt;t.length;++r)e.push(t[r][0],t[r][1]);e.sort(f);var i=e[e.length&gt;&gt;1],a=[],o=[],s=[];for(r=0;r&lt;t.length;++r){var l=t[r];l[1]&lt;i?a.push(l):i&lt;l[0]?o.push(l):s.push(l)}var c=s,u=s.slice();return c.sort(h),u.sort(d),new n(i,p(a),p(o),c,u)}function m(t){this.root=t}var g=t(&quot;binary-search-bounds&quot;),v=0,y=1;e.exports=function(t){return new m(t&amp;&amp;0!==t.length?p(t):null)};var x=n.prototype;x.intervals=function(t){return t.push.apply(t,this.leftPoints),this.left&amp;&amp;this.left.intervals(t),this.right&amp;&amp;this.right.intervals(t),t},x.insert=function(t){var e=this.count-this.leftPoints.length;if(this.count+=1,t[1]&lt;this.mid)this.left?4*(this.left.count+1)&gt;3*(e+1)?o(this,t):this.left.insert(t):this.left=p([t]);else if(t[0]&gt;this.mid)this.right?4*(this.right.count+1)&gt;3*(e+1)?o(this,t):this.right.insert(t):this.right=p([t]);else{var r=g.ge(this.leftPoints,t,h),n=g.ge(this.rightPoints,t,d);this.leftPoints.splice(r,0,t),this.rightPoints.splice(n,0,t)}},x.remove=function(t){var e=this.count-this.leftPoints;if(t[1]&lt;this.mid){if(!this.left)return v;if(4*(this.right?this.right.count:0)&gt;3*(e-1))return s(this,t);return 2===(o=this.left.remove(t))?(this.left=null,this.count-=1,y):(o===y&amp;&amp;(this.count-=1),o)}if(t[0]&gt;this.mid){if(!this.right)return v;if(4*(this.left?this.left.count:0)&gt;3*(e-1))return s(this,t);return 2===(o=this.right.remove(t))?(this.right=null,this.count-=1,y):(o===y&amp;&amp;(this.count-=1),o)}if(1===this.count)return this.leftPoints[0]===t?2:v;if(1===this.leftPoints.length&amp;&amp;this.leftPoints[0]===t){if(this.left&amp;&amp;this.right){for(var r=this,n=this.left;n.right;)r=n,n=n.right;if(r===this)n.right=this.right;else{var a=this.left,o=this.right;r.count-=n.count,r.right=n.left,n.left=a,n.right=o}i(this,n),this.count=(this.left?this.left.count:0)+(this.right?this.right.count:0)+this.leftPoints.length}else this.left?i(this,this.left):i(this,this.right);return y}for(a=g.ge(this.leftPoints,t,h);a&lt;this.leftPoints.length&amp;&amp;this.leftPoints[a][0]===t[0];++a)if(this.leftPoints[a]===t){this.count-=1,this.leftPoints.splice(a,1);for(o=g.ge(this.rightPoints,t,d);o&lt;this.rightPoints.length&amp;&amp;this.rightPoints[o][1]===t[1];++o)if(this.rightPoints[o]===t)return this.rightPoints.splice(o,1),y}return v},x.queryPoint=function(t,e){if(t&lt;this.mid){if(this.left){if(r=this.left.queryPoint(t,e))return r}return l(this.leftPoints,t,e)}if(t&gt;this.mid){if(this.right){var r;if(r=this.right.queryPoint(t,e))return r}return c(this.rightPoints,t,e)}return u(this.leftPoints,e)},x.queryInterval=function(t,e,r){if(t&lt;this.mid&amp;&amp;this.left){if(n=this.left.queryInterval(t,e,r))return n}if(e&gt;this.mid&amp;&amp;this.right){var n;if(n=this.right.queryInterval(t,e,r))return n}return e&lt;this.mid?l(this.leftPoints,e,r):t&gt;this.mid?c(this.rightPoints,t,r):u(this.leftPoints,r)};var b=m.prototype;b.insert=function(t){this.root?this.root.insert(t):this.root=new n(t[0],null,null,[t],[t])},b.remove=function(t){if(this.root){var e=this.root.remove(t);return 2===e&amp;&amp;(this.root=null),e!==v}return!1},b.queryPoint=function(t,e){if(this.root)return this.root.queryPoint(t,e)},b.queryInterval=function(t,e,r){if(t&lt;=e&amp;&amp;this.root)return this.root.queryInterval(t,e,r)},Object.defineProperty(b,&quot;count&quot;,{get:function(){return this.root?this.root.count:0}}),Object.defineProperty(b,&quot;intervals&quot;,{get:function(){return this.root?this.root.intervals([]):[]}})},{&quot;binary-search-bounds&quot;:70}],280:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t,e){e=e||new Array(t.length);for(var r=0;r&lt;t.length;++r)e[t[r]]=r;return e}},{}],281:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t){for(var e=new Array(t),r=0;r&lt;t;++r)e[r]=r;return e}},{}],282:[function(t,e,r){e.exports=!0},{}],283:[function(t,e,r){function n(t){return!!t.constructor&amp;&amp;&quot;function&quot;==typeof t.constructor.isBuffer&amp;&amp;t.constructor.isBuffer(t)}e.exports=function(t){return null!=t&amp;&amp;(n(t)||function(t){return&quot;function&quot;==typeof t.readFloatLE&amp;&amp;&quot;function&quot;==typeof t.slice&amp;&amp;n(t.slice(0,0))}(t)||!!t._isBuffer)}},{}],284:[function(t,e,r){&quot;use strict&quot;;e.exports=&quot;undefined&quot;!=typeof navigator&amp;&amp;(/MSIE/.test(navigator.userAgent)||/Trident\//.test(navigator.appVersion))},{}],285:[function(t,e,r){e.exports=function(t){return t||&quot;undefined&quot;==typeof navigator||(t=navigator.userAgent),t&amp;&amp;t.headers&amp;&amp;&quot;string&quot;==typeof t.headers[&quot;user-agent&quot;]&amp;&amp;(t=t.headers[&quot;user-agent&quot;]),&quot;string&quot;==typeof t&amp;&amp;(/(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(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i.test(t)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(t.substr(0,4)))}},{}],286:[function(t,e,r){&quot;use strict&quot;;var n=Object.prototype.toString;e.exports=function(t){var e;return&quot;[object Object]&quot;===n.call(t)&amp;&amp;(null===(e=Object.getPrototypeOf(t))||e===Object.getPrototypeOf({}))}},{}],287:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t){return&quot;string&quot;==typeof t&amp;&amp;(t=t.trim(),!!(/^[mzlhvcsqta]\s*[-+.0-9][^mlhvzcsqta]+/i.test(t)&amp;&amp;/[\dz]$/i.test(t)&amp;&amp;t.length&gt;4))}},{}],288:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,n,a){e=e||function(t){return t[0]},r=r||function(t){return t[1]},a=a||Array,this.nodeSize=n||64,this.points=t,this.ids=new a(t.length),this.coords=new a(2*t.length);for(var o=0;o&lt;t.length;o++)this.ids[o]=o,this.coords[2*o]=e(t[o]),this.coords[2*o+1]=r(t[o]);i(this.ids,this.coords,this.nodeSize,0,this.ids.length-1,0)}var i=t(&quot;./sort&quot;),a=t(&quot;./range&quot;),o=t(&quot;./within&quot;);e.exports=function(t,e,r,i,a){return new n(t,e,r,i,a)},n.prototype={range:function(t,e,r,n){return a(this.ids,this.coords,t,e,r,n,this.nodeSize)},within:function(t,e,r){return o(this.ids,this.coords,t,e,r,this.nodeSize)}}},{&quot;./range&quot;:289,&quot;./sort&quot;:290,&quot;./within&quot;:291}],289:[function(t,e,r){&quot;use strict&quot;;e.exports=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(),d=c.pop();if(h-d&lt;=o)for(var p=d;p&lt;=h;p++)s=e[2*p],l=e[2*p+1],s&gt;=r&amp;&amp;s&lt;=i&amp;&amp;l&gt;=n&amp;&amp;l&lt;=a&amp;&amp;u.push(t[p]);else{var m=Math.floor((d+h)/2);s=e[2*m],l=e[2*m+1],s&gt;=r&amp;&amp;s&lt;=i&amp;&amp;l&gt;=n&amp;&amp;l&lt;=a&amp;&amp;u.push(t[m]);var g=(f+1)%2;(0===f?r&lt;=s:n&lt;=l)&amp;&amp;(c.push(d),c.push(m-1),c.push(g)),(0===f?i&gt;=s:a&gt;=l)&amp;&amp;(c.push(m+1),c.push(h),c.push(g))}}return u}},{}],290:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,a,o,s){if(!(o-a&lt;=r)){var l=Math.floor((a+o)/2);i(t,e,l,a,o,s%2),n(t,e,r,a,l-1,s+1),n(t,e,r,l+1,o,s+1)}}function i(t,e,r,n,o,s){for(;o&gt;n;){if(o-n&gt;600){var l=o-n+1,c=r-n+1,u=Math.log(l),f=.5*Math.exp(2*u/3),h=.5*Math.sqrt(u*f*(l-f)/l)*(c-l/2&lt;0?-1:1);i(t,e,r,Math.max(n,Math.floor(r-c*f/l+h)),Math.min(o,Math.floor(r+(l-c)*f/l+h)),s)}var d=e[2*r+s],p=n,m=o;for(a(t,e,n,r),e[2*o+s]&gt;d&amp;&amp;a(t,e,n,o);p&lt;m;){for(a(t,e,p,m),p++,m--;e[2*p+s]&lt;d;)p++;for(;e[2*m+s]&gt;d;)m--}e[2*n+s]===d?a(t,e,n,m):a(t,e,++m,o),m&lt;=r&amp;&amp;(n=m+1),r&lt;=m&amp;&amp;(o=m-1)}}function a(t,e,r,n){o(t,r,n),o(e,2*r,2*n),o(e,2*r+1,2*n+1)}function o(t,e,r){var n=t[e];t[e]=t[r],t[r]=n}e.exports=n},{}],291:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,n){var i=t-r,a=e-n;return i*i+a*a}e.exports=function(t,e,r,i,a,o){for(var s=[0,t.length-1,0],l=[],c=a*a;s.length;){var u=s.pop(),f=s.pop(),h=s.pop();if(f-h&lt;=o)for(var d=h;d&lt;=f;d++)n(e[2*d],e[2*d+1],r,i)&lt;=c&amp;&amp;l.push(t[d]);else{var p=Math.floor((h+f)/2),m=e[2*p],g=e[2*p+1];n(m,g,r,i)&lt;=c&amp;&amp;l.push(t[p]);var v=(u+1)%2;(0===u?r-a&lt;=m:i-a&lt;=g)&amp;&amp;(s.push(h),s.push(p-1),s.push(v)),(0===u?r+a&gt;=m:i+a&gt;=g)&amp;&amp;(s.push(p+1),s.push(f),s.push(v))}}return l}},{}],292:[function(t,e,r){&quot;use strict&quot;;function n(t,e){if(!(this instanceof n))return new n(t,e);this.nodeSize=e||64,this.coords=t.slice();var r=Math.floor(t.length/2);this.ids=Array(r);for(var i=0;i&lt;r;i++)this.ids[i]=i;a(this.ids,this.coords,this.nodeSize,0,this.ids.length-1,0)}function i(t,e,r,n){var i=t-r,a=e-n;return i*i+a*a}function a(t,e,r,n,i,s){if(!(i-n&lt;=r)){var l=Math.floor((n+i)/2);o(t,e,l,n,i,s%2),a(t,e,r,n,l-1,s+1),a(t,e,r,l+1,i,s+1)}}function o(t,e,r,n,i,a){for(;i&gt;n;){if(i-n&gt;600){var l=i-n+1,c=r-n+1,u=Math.log(l),f=.5*Math.exp(2*u/3),h=.5*Math.sqrt(u*f*(l-f)/l)*(c-l/2&lt;0?-1:1);o(t,e,r,Math.max(n,Math.floor(r-c*f/l+h)),Math.min(i,Math.floor(r+(l-c)*f/l+h)),a)}var d=e[2*r+a],p=n,m=i;for(s(t,e,n,r),e[2*i+a]&gt;d&amp;&amp;s(t,e,n,i);p&lt;m;){for(s(t,e,p,m),p++,m--;e[2*p+a]&lt;d;)p++;for(;e[2*m+a]&gt;d;)m--}e[2*n+a]===d?s(t,e,n,m):s(t,e,++m,i),m&lt;=r&amp;&amp;(n=m+1),r&lt;=m&amp;&amp;(i=m-1)}}function s(t,e,r,n){l(t,r,n),l(e,2*r,2*n),l(e,2*r+1,2*n+1)}function l(t,e,r){var n=t[e];t[e]=t[r],t[r]=n}e.exports=n,n.prototype.range=function(t,e,r,n){for(var i,a,o=this.ids,s=this.coords,l=this.nodeSize,c=[0,o.length-1,0],u=[];c.length;){var f=c.pop(),h=c.pop(),d=c.pop();if(h-d&lt;=l)for(var p=d;p&lt;=h;p++)i=s[2*p],a=s[2*p+1],i&gt;=t&amp;&amp;i&lt;=r&amp;&amp;a&gt;=e&amp;&amp;a&lt;=n&amp;&amp;u.push(o[p]);else{var m=Math.floor((d+h)/2);i=s[2*m],a=s[2*m+1],i&gt;=t&amp;&amp;i&lt;=r&amp;&amp;a&gt;=e&amp;&amp;a&lt;=n&amp;&amp;u.push(o[m]);var g=(f+1)%2;(0===f?t&lt;=i:e&lt;=a)&amp;&amp;(c.push(d),c.push(m-1),c.push(g)),(0===f?r&gt;=i:n&gt;=a)&amp;&amp;(c.push(m+1),c.push(h),c.push(g))}}return u},n.prototype.within=function(t,e,r){for(var n=this.ids,a=this.coords,o=this.nodeSize,s=[0,n.length-1,0],l=[],c=r*r;s.length;){var u=s.pop(),f=s.pop(),h=s.pop();if(f-h&lt;=o)for(var d=h;d&lt;=f;d++)i(a[2*d],a[2*d+1],t,e)&lt;=c&amp;&amp;l.push(n[d]);else{var p=Math.floor((h+f)/2),m=a[2*p],g=a[2*p+1];i(m,g,t,e)&lt;=c&amp;&amp;l.push(n[p]);var v=(u+1)%2;(0===u?t-r&lt;=m:e-r&lt;=g)&amp;&amp;(s.push(h),s.push(p-1),s.push(v)),(0===u?t+r&gt;=m:e+r&gt;=g)&amp;&amp;(s.push(p+1),s.push(f),s.push(v))}}return l}},{}],293:[function(t,e,r){&quot;use strict&quot;;function n(t,e){var r;if(u(t)){var l,c=t.stops&amp;&amp;&quot;object&quot;==typeof t.stops[0][0],f=c||void 0!==t.property,h=c||!f,d=t.type||e||&quot;exponential&quot;;if(&quot;exponential&quot;===d)l=o;else if(&quot;interval&quot;===d)l=a;else if(&quot;categorical&quot;===d)l=i;else{if(&quot;identity&quot;!==d)throw new Error('Unknown function type &quot;'+d+'&quot;');l=s}if(c){for(var p={},m=[],g=0;g&lt;t.stops.length;g++){var v=t.stops[g];void 0===p[v[0].zoom]&amp;&amp;(p[v[0].zoom]={zoom:v[0].zoom,type:t.type,property:t.property,stops:[]}),p[v[0].zoom].stops.push([v[0].value,v[1]])}for(var y in p)m.push([p[y].zoom,n(p[y])]);(r=function(e,r){return o({stops:m,base:t.base},e)(e,r)}).isFeatureConstant=!1,r.isZoomConstant=!1}else h?((r=function(e){return l(t,e)}).isFeatureConstant=!0,r.isZoomConstant=!1):((r=function(e,r){return l(t,r[t.property])}).isFeatureConstant=!1,r.isZoomConstant=!0)}else(r=function(){return t}).isFeatureConstant=!0,r.isZoomConstant=!0;return r}function i(t,e){for(var r=0;r&lt;t.stops.length;r++)if(e===t.stops[r][0])return t.stops[r][1];return t.stops[0][1]}function a(t,e){for(var r=0;r&lt;t.stops.length&amp;&amp;!(e&lt;t.stops[r][0]);r++);return t.stops[Math.max(r-1,0)][1]}function o(t,e){for(var r=void 0!==t.base?t.base:1,n=0;!(n&gt;=t.stops.length||e&lt;=t.stops[n][0]);)n++;return 0===n?t.stops[n][1]:n===t.stops.length?t.stops[n-1][1]:l(e,r,t.stops[n-1][0],t.stops[n][0],t.stops[n-1][1],t.stops[n][1])}function s(t,e){return e}function l(t,e,r,n,i,a){return&quot;function&quot;==typeof i?function(){var o=i.apply(void 0,arguments),s=a.apply(void 0,arguments);return l(t,e,r,n,o,s)}:i.length?function(t,e,r,n,i,a){for(var o=[],s=0;s&lt;i.length;s++)o[s]=c(t,e,r,n,i[s],a[s]);return o}(t,e,r,n,i,a):c(t,e,r,n,i,a)}function c(t,e,r,n,i,a){var o,s=n-r,l=t-r;return o=1===e?l/s:(Math.pow(e,l)-1)/(Math.pow(e,s)-1),i*(1-o)+a*o}function u(t){return&quot;object&quot;==typeof t&amp;&amp;(t.stops||&quot;identity&quot;===t.type)}e.exports.isFunctionDefinition=u,e.exports.interpolated=function(t){return n(t,&quot;exponential&quot;)},e.exports[&quot;piecewise-constant&quot;]=function(t){return n(t,&quot;interval&quot;)}},{}],294:[function(t,e,r){t(&quot;path&quot;);e.exports={debug:{fragmentSource:&quot;#ifdef GL_ES\nprecision mediump float;\n#else\n#define lowp\n#define mediump\n#define highp\n#endif\n\nuniform lowp vec4 u_color;\n\nvoid main() {\n    gl_FragColor = u_color;\n}\n&quot;,vertexSource:&quot;#ifdef GL_ES\nprecision highp float;\n#else\n#define lowp\n#define mediump\n#define highp\n#endif\n\nattribute vec2 a_pos;\n\nuniform mat4 u_matrix;\n\nvoid main() {\n    gl_Position = u_matrix * vec4(a_pos, step(32767.0, a_pos.x), 1);\n}\n&quot;},fill:{fragmentSource:&quot;#ifdef GL_ES\nprecision mediump float;\n#else\n#define lowp\n#define mediump\n#define highp\n#endif\n\n#pragma mapbox: define lowp vec4 color\n#pragma mapbox: define lowp float opacity\n\nvoid main() {\n    #pragma mapbox: initialize lowp vec4 color\n    #pragma mapbox: initialize lowp float opacity\n\n    gl_FragColor = color * opacity;\n\n#ifdef OVERDRAW_INSPECTOR\n    gl_FragColor = vec4(1.0);\n#endif\n}\n&quot;,vertexSource:&quot;#ifdef GL_ES\nprecision highp float;\n#else\n#define lowp\n#define mediump\n#define highp\n#endif\n\nattribute vec2 a_pos;\n\nuniform mat4 u_matrix;\n\n#pragma mapbox: define lowp vec4 color\n#pragma mapbox: define lowp float opacity\n\nvoid main() {\n    #pragma mapbox: initialize lowp vec4 color\n    #pragma mapbox: initialize lowp float opacity\n\n    gl_Position = u_matrix * vec4(a_pos, 0, 1);\n}\n&quot;},circle:{fragmentSource:&quot;#ifdef GL_ES\nprecision mediump float;\n#else\n#define lowp\n#define mediump\n#define highp\n#endif\n\n#pragma mapbox: define lowp vec4 color\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n\nvarying vec2 v_extrude;\nvarying lowp float v_antialiasblur;\n\nvoid main() {\n    #pragma mapbox: initialize lowp vec4 color\n    #pragma mapbox: initialize lowp float blur\n    #pragma mapbox: initialize lowp float opacity\n\n    float t = smoothstep(1.0 - max(blur, v_antialiasblur), 1.0, length(v_extrude));\n    gl_FragColor = color * (1.0 - t) * opacity;\n\n#ifdef OVERDRAW_INSPECTOR\n    gl_FragColor = vec4(1.0);\n#endif\n}\n&quot;,vertexSource:&quot;#ifdef GL_ES\nprecision highp float;\n#else\n#define lowp\n#define mediump\n#define highp\n#endif\n\nuniform mat4 u_matrix;\nuniform bool u_scale_with_map;\nuniform vec2 u_extrude_scale;\nuniform float u_devicepixelratio;\n\nattribute vec2 a_pos;\n\n#pragma mapbox: define lowp vec4 color\n#pragma mapbox: define mediump float radius\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n\nvarying vec2 v_extrude;\nvarying lowp float v_antialiasblur;\n\nvoid main(void) {\n    #pragma mapbox: initialize lowp vec4 color\n    #pragma mapbox: initialize mediump float radius\n    #pragma mapbox: initialize lowp float blur\n    #pragma mapbox: initialize lowp float opacity\n\n    // unencode the extrusion vector that we snuck into the a_pos vector\n    v_extrude = vec2(mod(a_pos, 2.0) * 2.0 - 1.0);\n\n    vec2 extrude = v_extrude * radius * u_extrude_scale;\n    // multiply a_pos by 0.5, since we had it * 2 in order to sneak\n    // in extrusion data\n    gl_Position = u_matrix * vec4(floor(a_pos * 0.5), 0, 1);\n\n    if (u_scale_with_map) {\n        gl_Position.xy += extrude;\n    } else {\n        gl_Position.xy += extrude * gl_Position.w;\n    }\n\n    // This is a minimum blur distance that serves as a faux-antialiasing for\n    // the circle. since blur is a ratio of the circle's size and the intent is\n    // to keep the blur at roughly 1px, the two are inversely related.\n    v_antialiasblur = 1.0 / u_devicepixelratio / radius;\n}\n&quot;},line:{fragmentSource:&quot;#ifdef GL_ES\nprecision mediump float;\n#else\n#define lowp\n#define mediump\n#define highp\n#endif\n\nuniform lowp vec4 u_color;\nuniform lowp float u_opacity;\nuniform float u_blur;\n\nvarying vec2 v_linewidth;\nvarying vec2 v_normal;\nvarying float v_gamma_scale;\n\nvoid main() {\n    // Calculate the distance of the pixel from the line in pixels.\n    float dist = length(v_normal) * v_linewidth.s;\n\n    // Calculate the antialiasing fade factor. This is either when fading in\n    // the line in case of an offset line (v_linewidth.t) or when fading out\n    // (v_linewidth.s)\n    float blur = u_blur * v_gamma_scale;\n    float alpha = clamp(min(dist - (v_linewidth.t - blur), v_linewidth.s - dist) / blur, 0.0, 1.0);\n\n    gl_FragColor = u_color * (alpha * u_opacity);\n\n#ifdef OVERDRAW_INSPECTOR\n    gl_FragColor = vec4(1.0);\n#endif\n}\n&quot;,vertexSource:&quot;#ifdef GL_ES\nprecision highp float;\n#else\n#define lowp\n#define mediump\n#define highp\n#endif\n\n// floor(127 / 2) == 63.0\n// the maximum allowed miter limit is 2.0 at the moment. the extrude normal is\n// stored in a byte (-128..127). we scale regular normals up to length 63, but\n// there are also \&quot;special\&quot; normals that have a bigger length (of up to 126 in\n// this case).\n// #define scale 63.0\n#define scale 0.015873016\n\nattribute vec2 a_pos;\nattribute vec4 a_data;\n\nuniform mat4 u_matrix;\nuniform mediump float u_ratio;\nuniform mediump float u_linewidth;\nuniform mediump float u_gapwidth;\nuniform mediump float u_antialiasing;\nuniform mediump float u_extra;\nuniform mat2 u_antialiasingmatrix;\nuniform mediump float u_offset;\nuniform mediump float u_blur;\n\nvarying vec2 v_normal;\nvarying vec2 v_linewidth;\nvarying float v_gamma_scale;\n\nvoid main() {\n    vec2 a_extrude = a_data.xy - 128.0;\n    float a_direction = mod(a_data.z, 4.0) - 1.0;\n\n    // We store the texture normals in the most insignificant bit\n    // transform y so that 0 =&gt; -1 and 1 =&gt; 1\n    // In the texture normal, x is 0 if the normal points straight up/down and 1 if it's a round cap\n    // y is 1 if the normal points up, and -1 if it points down\n    mediump vec2 normal = mod(a_pos, 2.0);\n    normal.y = sign(normal.y - 0.5);\n    v_normal = normal;\n\n    float inset = u_gapwidth + (u_gapwidth &gt; 0.0 ? u_antialiasing : 0.0);\n    float outset = u_gapwidth + u_linewidth * (u_gapwidth &gt; 0.0 ? 2.0 : 1.0) + u_antialiasing;\n\n    // Scale the extrusion vector down to a normal and then up by the line width\n    // of this vertex.\n    mediump vec2 dist = outset * a_extrude * scale;\n\n    // Calculate the offset when drawing a line that is to the side of the actual line.\n    // We do this by creating a vector that points towards the extrude, but rotate\n    // it when we're drawing round end points (a_direction = -1 or 1) since their\n    // extrude vector points in another direction.\n    mediump float u = 0.5 * a_direction;\n    mediump float t = 1.0 - abs(u);\n    mediump vec2 offset = u_offset * a_extrude * scale * normal.y * mat2(t, -u, u, t);\n\n    // Remove the texture normal bit of the position before scaling it with the\n    // model/view matrix.\n    gl_Position = u_matrix * vec4(floor(a_pos * 0.5) + (offset + dist) / u_ratio, 0.0, 1.0);\n\n    // position of y on the screen\n    float y = gl_Position.y / gl_Position.w;\n\n    // how much features are squished in the y direction by the tilt\n    float squish_scale = length(a_extrude) / length(u_antialiasingmatrix * a_extrude);\n\n    // how much features are squished in all directions by the perspectiveness\n    float perspective_scale = 1.0 / (1.0 - min(y * u_extra, 0.9));\n\n    v_linewidth = vec2(outset, inset);\n    v_gamma_scale = perspective_scale * squish_scale;\n}\n&quot;},linepattern:{fragmentSource:&quot;#ifdef GL_ES\nprecision mediump float;\n#else\n#define lowp\n#define mediump\n#define highp\n#endif\n\nuniform float u_blur;\n\nuniform vec2 u_pattern_size_a;\nuniform vec2 u_pattern_size_b;\nuniform vec2 u_pattern_tl_a;\nuniform vec2 u_pattern_br_a;\nuniform vec2 u_pattern_tl_b;\nuniform vec2 u_pattern_br_b;\nuniform float u_fade;\nuniform float u_opacity;\n\nuniform sampler2D u_image;\n\nvarying vec2 v_normal;\nvarying vec2 v_linewidth;\nvarying float v_linesofar;\nvarying float v_gamma_scale;\n\nvoid main() {\n    // Calculate the distance of the pixel from the line in pixels.\n    float dist = length(v_normal) * v_linewidth.s;\n\n    // Calculate the antialiasing fade factor. This is either when fading in\n    // the line in case of an offset line (v_linewidth.t) or when fading out\n    // (v_linewidth.s)\n    float blur = u_blur * v_gamma_scale;\n    float alpha = clamp(min(dist - (v_linewidth.t - blur), v_linewidth.s - dist) / blur, 0.0, 1.0);\n\n    float x_a = mod(v_linesofar / u_pattern_size_a.x, 1.0);\n    float x_b = mod(v_linesofar / u_pattern_size_b.x, 1.0);\n    float y_a = 0.5 + (v_normal.y * v_linewidth.s / u_pattern_size_a.y);\n    float y_b = 0.5 + (v_normal.y * v_linewidth.s / u_pattern_size_b.y);\n    vec2 pos_a = mix(u_pattern_tl_a, u_pattern_br_a, vec2(x_a, y_a));\n    vec2 pos_b = mix(u_pattern_tl_b, u_pattern_br_b, vec2(x_b, y_b));\n\n    vec4 color = mix(texture2D(u_image, pos_a), texture2D(u_image, pos_b), u_fade);\n\n    alpha *= u_opacity;\n\n    gl_FragColor = color * alpha;\n\n#ifdef OVERDRAW_INSPECTOR\n    gl_FragColor = vec4(1.0);\n#endif\n}\n&quot;,vertexSource:&quot;#ifdef GL_ES\nprecision highp float;\n#else\n#define lowp\n#define mediump\n#define highp\n#endif\n\n// floor(127 / 2) == 63.0\n// the maximum allowed miter limit is 2.0 at the moment. the extrude normal is\n// stored in a byte (-128..127). we scale regular normals up to length 63, but\n// there are also \&quot;special\&quot; normals that have a bigger length (of up to 126 in\n// this case).\n// #define scale 63.0\n#define scale 0.015873016\n\n// We scale the distance before adding it to the buffers so that we can store\n// long distances for long segments. Use this value to unscale the distance.\n#define LINE_DISTANCE_SCALE 2.0\n\nattribute vec2 a_pos;\nattribute vec4 a_data;\n\nuniform mat4 u_matrix;\nuniform mediump float u_ratio;\nuniform mediump float u_linewidth;\nuniform mediump float u_gapwidth;\nuniform mediump float u_antialiasing;\nuniform mediump float u_extra;\nuniform mat2 u_antialiasingmatrix;\nuniform mediump float u_offset;\n\nvarying vec2 v_normal;\nvarying vec2 v_linewidth;\nvarying float v_linesofar;\nvarying float v_gamma_scale;\n\nvoid main() {\n    vec2 a_extrude = a_data.xy - 128.0;\n    float a_direction = mod(a_data.z, 4.0) - 1.0;\n    float a_linesofar = (floor(a_data.z / 4.0) + a_data.w * 64.0) * LINE_DISTANCE_SCALE;\n\n    // We store the texture normals in the most insignificant bit\n    // transform y so that 0 =&gt; -1 and 1 =&gt; 1\n    // In the texture normal, x is 0 if the normal points straight up/down and 1 if it's a round cap\n    // y is 1 if the normal points up, and -1 if it points down\n    mediump vec2 normal = mod(a_pos, 2.0);\n    normal.y = sign(normal.y - 0.5);\n    v_normal = normal;\n\n    float inset = u_gapwidth + (u_gapwidth &gt; 0.0 ? u_antialiasing : 0.0);\n    float outset = u_gapwidth + u_linewidth * (u_gapwidth &gt; 0.0 ? 2.0 : 1.0) + u_antialiasing;\n\n    // Scale the extrusion vector down to a normal and then up by the line width\n    // of this vertex.\n    mediump vec2 dist = outset * a_extrude * scale;\n\n    // Calculate the offset when drawing a line that is to the side of the actual line.\n    // We do this by creating a vector that points towards the extrude, but rotate\n    // it when we're drawing round end points (a_direction = -1 or 1) since their\n    // extrude vector points in another direction.\n    mediump float u = 0.5 * a_direction;\n    mediump float t = 1.0 - abs(u);\n    mediump vec2 offset = u_offset * a_extrude * scale * normal.y * mat2(t, -u, u, t);\n\n    // Remove the texture normal bit of the position before scaling it with the\n    // model/view matrix.\n    gl_Position = u_matrix * vec4(floor(a_pos * 0.5) + (offset + dist) / u_ratio, 0.0, 1.0);\n    v_linesofar = a_linesofar;\n\n    // position of y on the screen\n    float y = gl_Position.y / gl_Position.w;\n\n    // how much features are squished in the y direction by the tilt\n    float squish_scale = length(a_extrude) / length(u_antialiasingmatrix * a_extrude);\n\n    // how much features are squished in all directions by the perspectiveness\n    float perspective_scale = 1.0 / (1.0 - min(y * u_extra, 0.9));\n\n    v_linewidth = vec2(outset, inset);\n    v_gamma_scale = perspective_scale * squish_scale;\n}\n&quot;},linesdfpattern:{fragmentSource:&quot;#ifdef GL_ES\nprecision mediump float;\n#else\n#define lowp\n#define mediump\n#define highp\n#endif\n\nuniform lowp vec4 u_color;\nuniform lowp float u_opacity;\n\nuniform float u_blur;\nuniform sampler2D u_image;\nuniform float u_sdfgamma;\nuniform float u_mix;\n\nvarying vec2 v_normal;\nvarying vec2 v_linewidth;\nvarying vec2 v_tex_a;\nvarying vec2 v_tex_b;\nvarying float v_gamma_scale;\n\nvoid main() {\n    // Calculate the distance of the pixel from the line in pixels.\n    float dist = length(v_normal) * v_linewidth.s;\n\n    // Calculate the antialiasing fade factor. This is either when fading in\n    // the line in case of an offset line (v_linewidth.t) or when fading out\n    // (v_linewidth.s)\n    float blur = u_blur * v_gamma_scale;\n    float alpha = clamp(min(dist - (v_linewidth.t - blur), v_linewidth.s - dist) / blur, 0.0, 1.0);\n\n    float sdfdist_a = texture2D(u_image, v_tex_a).a;\n    float sdfdist_b = texture2D(u_image, v_tex_b).a;\n    float sdfdist = mix(sdfdist_a, sdfdist_b, u_mix);\n    alpha *= smoothstep(0.5 - u_sdfgamma, 0.5 + u_sdfgamma, sdfdist);\n\n    gl_FragColor = u_color * (alpha * u_opacity);\n\n#ifdef OVERDRAW_INSPECTOR\n    gl_FragColor = vec4(1.0);\n#endif\n}\n&quot;,vertexSource:&quot;#ifdef GL_ES\nprecision highp float;\n#else\n#define lowp\n#define mediump\n#define highp\n#endif\n\n// floor(127 / 2) == 63.0\n// the maximum allowed miter limit is 2.0 at the moment. the extrude normal is\n// stored in a byte (-128..127). we scale regular normals up to length 63, but\n// there are also \&quot;special\&quot; normals that have a bigger length (of up to 126 in\n// this case).\n// #define scale 63.0\n#define scale 0.015873016\n\n// We scale the distance before adding it to the buffers so that we can store\n// long distances for long segments. Use this value to unscale the distance.\n#define LINE_DISTANCE_SCALE 2.0\n\nattribute vec2 a_pos;\nattribute vec4 a_data;\n\nuniform mat4 u_matrix;\nuniform mediump float u_ratio;\nuniform mediump float u_linewidth;\nuniform mediump float u_gapwidth;\nuniform mediump float u_antialiasing;\nuniform vec2 u_patternscale_a;\nuniform float u_tex_y_a;\nuniform vec2 u_patternscale_b;\nuniform float u_tex_y_b;\nuniform float u_extra;\nuniform mat2 u_antialiasingmatrix;\nuniform mediump float u_offset;\n\nvarying vec2 v_normal;\nvarying vec2 v_linewidth;\nvarying vec2 v_tex_a;\nvarying vec2 v_tex_b;\nvarying float v_gamma_scale;\n\nvoid main() {\n    vec2 a_extrude = a_data.xy - 128.0;\n    float a_direction = mod(a_data.z, 4.0) - 1.0;\n    float a_linesofar = (floor(a_data.z / 4.0) + a_data.w * 64.0) * LINE_DISTANCE_SCALE;\n\n    // We store the texture normals in the most insignificant bit\n    // transform y so that 0 =&gt; -1 and 1 =&gt; 1\n    // In the texture normal, x is 0 if the normal points straight up/down and 1 if it's a round cap\n    // y is 1 if the normal points up, and -1 if it points down\n    mediump vec2 normal = mod(a_pos, 2.0);\n    normal.y = sign(normal.y - 0.5);\n    v_normal = normal;\n\n    float inset = u_gapwidth + (u_gapwidth &gt; 0.0 ? u_antialiasing : 0.0);\n    float outset = u_gapwidth + u_linewidth * (u_gapwidth &gt; 0.0 ? 2.0 : 1.0) + u_antialiasing;\n\n    // Scale the extrusion vector down to a normal and then up by the line width\n    // of this vertex.\n    mediump vec2 dist = outset * a_extrude * scale;\n\n    // Calculate the offset when drawing a line that is to the side of the actual line.\n    // We do this by creating a vector that points towards the extrude, but rotate\n    // it when we're drawing round end points (a_direction = -1 or 1) since their\n    // extrude vector points in another direction.\n    mediump float u = 0.5 * a_direction;\n    mediump float t = 1.0 - abs(u);\n    mediump vec2 offset = u_offset * a_extrude * scale * normal.y * mat2(t, -u, u, t);\n\n    // Remove the texture normal bit of the position before scaling it with the\n    // model/view matrix.\n    gl_Position = u_matrix * vec4(floor(a_pos * 0.5) + (offset + dist) / u_ratio, 0.0, 1.0);\n\n    v_tex_a = vec2(a_linesofar * u_patternscale_a.x, normal.y * u_patternscale_a.y + u_tex_y_a);\n    v_tex_b = vec2(a_linesofar * u_patternscale_b.x, normal.y * u_patternscale_b.y + u_tex_y_b);\n\n    // position of y on the screen\n    float y = gl_Position.y / gl_Position.w;\n\n    // how much features are squished in the y direction by the tilt\n    float squish_scale = length(a_extrude) / length(u_antialiasingmatrix * a_extrude);\n\n    // how much features are squished in all directions by the perspectiveness\n    float perspective_scale = 1.0 / (1.0 - min(y * u_extra, 0.9));\n\n    v_linewidth = vec2(outset, inset);\n    v_gamma_scale = perspective_scale * squish_scale;\n}\n&quot;},outline:{fragmentSource:&quot;#ifdef GL_ES\nprecision mediump float;\n#else\n#define lowp\n#define mediump\n#define highp\n#endif\n\n#pragma mapbox: define lowp vec4 outline_color\n#pragma mapbox: define lowp float opacity\n\nvarying vec2 v_pos;\n\nvoid main() {\n    #pragma mapbox: initialize lowp vec4 outline_color\n    #pragma mapbox: initialize lowp float opacity\n\n    float dist = length(v_pos - gl_FragCoord.xy);\n    float alpha = smoothstep(1.0, 0.0, dist);\n    gl_FragColor = outline_color * (alpha * opacity);\n\n#ifdef OVERDRAW_INSPECTOR\n    gl_FragColor = vec4(1.0);\n#endif\n}\n&quot;,vertexSource:&quot;#ifdef GL_ES\nprecision highp float;\n#else\n#define lowp\n#define mediump\n#define highp\n#endif\n\nattribute vec2 a_pos;\n\nuniform mat4 u_matrix;\nuniform vec2 u_world;\n\nvarying vec2 v_pos;\n\n#pragma mapbox: define lowp vec4 outline_color\n#pragma mapbox: define lowp float opacity\n\nvoid main() {\n    #pragma mapbox: initialize lowp vec4 outline_color\n    #pragma mapbox: initialize lowp float opacity\n\n    gl_Position = u_matrix * vec4(a_pos, 0, 1);\n    v_pos = (gl_Position.xy / gl_Position.w + 1.0) / 2.0 * u_world;\n}\n&quot;},outlinepattern:{fragmentSource:&quot;#ifdef GL_ES\nprecision mediump float;\n#else\n#define lowp\n#define mediump\n#define highp\n#endif\n\nuniform float u_opacity;\nuniform vec2 u_pattern_tl_a;\nuniform vec2 u_pattern_br_a;\nuniform vec2 u_pattern_tl_b;\nuniform vec2 u_pattern_br_b;\nuniform float u_mix;\n\nuniform sampler2D u_image;\n\nvarying vec2 v_pos_a;\nvarying vec2 v_pos_b;\nvarying vec2 v_pos;\n\nvoid main() {\n    vec2 imagecoord = mod(v_pos_a, 1.0);\n    vec2 pos = mix(u_pattern_tl_a, u_pattern_br_a, imagecoord);\n    vec4 color1 = texture2D(u_image, pos);\n\n    vec2 imagecoord_b = mod(v_pos_b, 1.0);\n    vec2 pos2 = mix(u_pattern_tl_b, u_pattern_br_b, imagecoord_b);\n    vec4 color2 = texture2D(u_image, pos2);\n\n    // find distance to outline for alpha interpolation\n\n    float dist = length(v_pos - gl_FragCoord.xy);\n    float alpha = smoothstep(1.0, 0.0, dist);\n    \n\n    gl_FragColor = mix(color1, color2, u_mix) * alpha * u_opacity;\n\n#ifdef OVERDRAW_INSPECTOR\n    gl_FragColor = vec4(1.0);\n#endif\n}\n&quot;,vertexSource:&quot;#ifdef GL_ES\nprecision highp float;\n#else\n#define lowp\n#define mediump\n#define highp\n#endif\n\nuniform vec2 u_pattern_size_a;\nuniform vec2 u_pattern_size_b;\nuniform vec2 u_pixel_coord_upper;\nuniform vec2 u_pixel_coord_lower;\nuniform float u_scale_a;\nuniform float u_scale_b;\nuniform float u_tile_units_to_pixels;\n\nattribute vec2 a_pos;\n\nuniform mat4 u_matrix;\nuniform vec2 u_world;\n\nvarying vec2 v_pos_a;\nvarying vec2 v_pos_b;\nvarying vec2 v_pos;\n\nvoid main() {\n    gl_Position = u_matrix * vec4(a_pos, 0, 1);\n    vec2 scaled_size_a = u_scale_a * u_pattern_size_a;\n    vec2 scaled_size_b = u_scale_b * u_pattern_size_b;\n\n    // the correct offset needs to be calculated.\n    //\n    // The offset depends on how many pixels are between the world origin and\n    // the edge of the tile:\n    // vec2 offset = mod(pixel_coord, size)\n    //\n    // At high zoom levels there are a ton of pixels between the world origin\n    // and the edge of the tile. The glsl spec only guarantees 16 bits of\n    // precision for highp floats. We need more than that.\n    //\n    // The pixel_coord is passed in as two 16 bit values:\n    // pixel_coord_upper = floor(pixel_coord / 2^16)\n    // pixel_coord_lower = mod(pixel_coord, 2^16)\n    //\n    // The offset is calculated in a series of steps that should preserve this precision:\n    vec2 offset_a = mod(mod(mod(u_pixel_coord_upper, scaled_size_a) * 256.0, scaled_size_a) * 256.0 + u_pixel_coord_lower, scaled_size_a);\n    vec2 offset_b = mod(mod(mod(u_pixel_coord_upper, scaled_size_b) * 256.0, scaled_size_b) * 256.0 + u_pixel_coord_lower, scaled_size_b);\n\n    v_pos_a = (u_tile_units_to_pixels * a_pos + offset_a) / scaled_size_a;\n    v_pos_b = (u_tile_units_to_pixels * a_pos + offset_b) / scaled_size_b;\n\n    v_pos = (gl_Position.xy / gl_Position.w + 1.0) / 2.0 * u_world;\n}\n&quot;},pattern:{fragmentSource:&quot;#ifdef GL_ES\nprecision mediump float;\n#else\n#define lowp\n#define mediump\n#define highp\n#endif\n\nuniform float u_opacity;\nuniform vec2 u_pattern_tl_a;\nuniform vec2 u_pattern_br_a;\nuniform vec2 u_pattern_tl_b;\nuniform vec2 u_pattern_br_b;\nuniform float u_mix;\n\nuniform sampler2D u_image;\n\nvarying vec2 v_pos_a;\nvarying vec2 v_pos_b;\n\nvoid main() {\n\n    vec2 imagecoord = mod(v_pos_a, 1.0);\n    vec2 pos = mix(u_pattern_tl_a, u_pattern_br_a, imagecoord);\n    vec4 color1 = texture2D(u_image, pos);\n\n    vec2 imagecoord_b = mod(v_pos_b, 1.0);\n    vec2 pos2 = mix(u_pattern_tl_b, u_pattern_br_b, imagecoord_b);\n    vec4 color2 = texture2D(u_image, pos2);\n\n    gl_FragColor = mix(color1, color2, u_mix) * u_opacity;\n\n#ifdef OVERDRAW_INSPECTOR\n    gl_FragColor = vec4(1.0);\n#endif\n}\n&quot;,vertexSource:&quot;#ifdef GL_ES\nprecision highp float;\n#else\n#define lowp\n#define mediump\n#define highp\n#endif\n\nuniform mat4 u_matrix;\nuniform vec2 u_pattern_size_a;\nuniform vec2 u_pattern_size_b;\nuniform vec2 u_pixel_coord_upper;\nuniform vec2 u_pixel_coord_lower;\nuniform float u_scale_a;\nuniform float u_scale_b;\nuniform float u_tile_units_to_pixels;\n\nattribute vec2 a_pos;\n\nvarying vec2 v_pos_a;\nvarying vec2 v_pos_b;\n\nvoid main() {\n    gl_Position = u_matrix * vec4(a_pos, 0, 1);\n    vec2 scaled_size_a = u_scale_a * u_pattern_size_a;\n    vec2 scaled_size_b = u_scale_b * u_pattern_size_b;\n\n    // the correct offset needs to be calculated.\n    //\n    // The offset depends on how many pixels are between the world origin and\n    // the edge of the tile:\n    // vec2 offset = mod(pixel_coord, size)\n    //\n    // At high zoom levels there are a ton of pixels between the world origin\n    // and the edge of the tile. The glsl spec only guarantees 16 bits of\n    // precision for highp floats. We need more than that.\n    //\n    // The pixel_coord is passed in as two 16 bit values:\n    // pixel_coord_upper = floor(pixel_coord / 2^16)\n    // pixel_coord_lower = mod(pixel_coord, 2^16)\n    //\n    // The offset is calculated in a series of steps that should preserve this precision:\n    vec2 offset_a = mod(mod(mod(u_pixel_coord_upper, scaled_size_a) * 256.0, scaled_size_a) * 256.0 + u_pixel_coord_lower, scaled_size_a);\n    vec2 offset_b = mod(mod(mod(u_pixel_coord_upper, scaled_size_b) * 256.0, scaled_size_b) * 256.0 + u_pixel_coord_lower, scaled_size_b);\n\n    v_pos_a = (u_tile_units_to_pixels * a_pos + offset_a) / scaled_size_a;\n    v_pos_b = (u_tile_units_to_pixels * a_pos + offset_b) / scaled_size_b;\n}\n&quot;},raster:{fragmentSource:&quot;#ifdef GL_ES\nprecision mediump float;\n#else\n#define lowp\n#define mediump\n#define highp\n#endif\n\nuniform float u_opacity0;\nuniform float u_opacity1;\nuniform sampler2D u_image0;\nuniform sampler2D u_image1;\nvarying vec2 v_pos0;\nvarying vec2 v_pos1;\n\nuniform float u_brightness_low;\nuniform float u_brightness_high;\n\nuniform float u_saturation_factor;\nuniform float u_contrast_factor;\nuniform vec3 u_spin_weights;\n\nvoid main() {\n\n    // read and cross-fade colors from the main and parent tiles\n    vec4 color0 = texture2D(u_image0, v_pos0);\n    vec4 color1 = texture2D(u_image1, v_pos1);\n    vec4 color = color0 * u_opacity0 + color1 * u_opacity1;\n    vec3 rgb = color.rgb;\n\n    // spin\n    rgb = vec3(\n        dot(rgb, u_spin_weights.xyz),\n        dot(rgb, u_spin_weights.zxy),\n        dot(rgb, u_spin_weights.yzx));\n\n    // saturation\n    float average = (color.r + color.g + color.b) / 3.0;\n    rgb += (average - rgb) * u_saturation_factor;\n\n    // contrast\n    rgb = (rgb - 0.5) * u_contrast_factor + 0.5;\n\n    // brightness\n    vec3 u_high_vec = vec3(u_brightness_low, u_brightness_low, u_brightness_low);\n    vec3 u_low_vec = vec3(u_brightness_high, u_brightness_high, u_brightness_high);\n\n    gl_FragColor = vec4(mix(u_high_vec, u_low_vec, rgb), color.a);\n\n#ifdef OVERDRAW_INSPECTOR\n    gl_FragColor = vec4(1.0);\n#endif\n}\n&quot;,vertexSource:&quot;#ifdef GL_ES\nprecision highp float;\n#else\n#define lowp\n#define mediump\n#define highp\n#endif\n\nuniform mat4 u_matrix;\nuniform vec2 u_tl_parent;\nuniform float u_scale_parent;\nuniform float u_buffer_scale;\n\nattribute vec2 a_pos;\nattribute vec2 a_texture_pos;\n\nvarying vec2 v_pos0;\nvarying vec2 v_pos1;\n\nvoid main() {\n    gl_Position = u_matrix * vec4(a_pos, 0, 1);\n    v_pos0 = (((a_texture_pos / 32767.0) - 0.5) / u_buffer_scale ) + 0.5;\n    v_pos1 = (v_pos0 * u_scale_parent) + u_tl_parent;\n}\n&quot;},icon:{fragmentSource:&quot;#ifdef GL_ES\nprecision mediump float;\n#else\n#define lowp\n#define mediump\n#define highp\n#endif\n\nuniform sampler2D u_texture;\nuniform sampler2D u_fadetexture;\nuniform lowp float u_opacity;\n\nvarying vec2 v_tex;\nvarying vec2 v_fade_tex;\n\nvoid main() {\n    lowp float alpha = texture2D(u_fadetexture, v_fade_tex).a * u_opacity;\n    gl_FragColor = texture2D(u_texture, v_tex) * alpha;\n\n#ifdef OVERDRAW_INSPECTOR\n    gl_FragColor = vec4(1.0);\n#endif\n}\n&quot;,vertexSource:&quot;#ifdef GL_ES\nprecision highp float;\n#else\n#define lowp\n#define mediump\n#define highp\n#endif\n\nattribute vec2 a_pos;\nattribute vec2 a_offset;\nattribute vec2 a_texture_pos;\nattribute vec4 a_data;\n\n\n// matrix is for the vertex position.\nuniform mat4 u_matrix;\n\nuniform mediump float u_zoom;\nuniform bool u_rotate_with_map;\nuniform vec2 u_extrude_scale;\n\nuniform vec2 u_texsize;\n\nvarying vec2 v_tex;\nvarying vec2 v_fade_tex;\n\nvoid main() {\n    vec2 a_tex = a_texture_pos.xy;\n    mediump float a_labelminzoom = a_data[0];\n    mediump vec2 a_zoom = a_data.pq;\n    mediump float a_minzoom = a_zoom[0];\n    mediump float a_maxzoom = a_zoom[1];\n\n    // u_zoom is the current zoom level adjusted for the change in font size\n    mediump float z = 2.0 - step(a_minzoom, u_zoom) - (1.0 - step(a_maxzoom, u_zoom));\n\n    vec2 extrude = u_extrude_scale * (a_offset / 64.0);\n    if (u_rotate_with_map) {\n        gl_Position = u_matrix * vec4(a_pos + extrude, 0, 1);\n        gl_Position.z += z * gl_Position.w;\n    } else {\n        gl_Position = u_matrix * vec4(a_pos, 0, 1) + vec4(extrude, 0, 0);\n    }\n\n    v_tex = a_tex / u_texsize;\n    v_fade_tex = vec2(a_labelminzoom / 255.0, 0.0);\n}\n&quot;},sdf:{fragmentSource:&quot;#ifdef GL_ES\nprecision mediump float;\n#else\n#define lowp\n#define mediump\n#define highp\n#endif\n\nuniform sampler2D u_texture;\nuniform sampler2D u_fadetexture;\nuniform lowp vec4 u_color;\nuniform lowp float u_opacity;\nuniform lowp float u_buffer;\nuniform lowp float u_gamma;\n\nvarying vec2 v_tex;\nvarying vec2 v_fade_tex;\nvarying float v_gamma_scale;\n\nvoid main() {\n    lowp float dist = texture2D(u_texture, v_tex).a;\n    lowp float fade_alpha = texture2D(u_fadetexture, v_fade_tex).a;\n    lowp float gamma = u_gamma * v_gamma_scale;\n    lowp float alpha = smoothstep(u_buffer - gamma, u_buffer + gamma, dist) * fade_alpha;\n\n    gl_FragColor = u_color * (alpha * u_opacity);\n\n#ifdef OVERDRAW_INSPECTOR\n    gl_FragColor = vec4(1.0);\n#endif\n}\n&quot;,vertexSource:&quot;#ifdef GL_ES\nprecision highp float;\n#else\n#define lowp\n#define mediump\n#define highp\n#endif\n\nconst float PI = 3.141592653589793;\n\nattribute vec2 a_pos;\nattribute vec2 a_offset;\nattribute vec2 a_texture_pos;\nattribute vec4 a_data;\n\n\n// matrix is for the vertex position.\nuniform mat4 u_matrix;\n\nuniform mediump float u_zoom;\nuniform bool u_rotate_with_map;\nuniform bool u_pitch_with_map;\nuniform mediump float u_pitch;\nuniform mediump float u_bearing;\nuniform mediump float u_aspect_ratio;\nuniform vec2 u_extrude_scale;\n\nuniform vec2 u_texsize;\n\nvarying vec2 v_tex;\nvarying vec2 v_fade_tex;\nvarying float v_gamma_scale;\n\nvoid main() {\n    vec2 a_tex = a_texture_pos.xy;\n    mediump float a_labelminzoom = a_data[0];\n    mediump vec2 a_zoom = a_data.pq;\n    mediump float a_minzoom = a_zoom[0];\n    mediump float a_maxzoom = a_zoom[1];\n\n    // u_zoom is the current zoom level adjusted for the change in font size\n    mediump float z = 2.0 - step(a_minzoom, u_zoom) - (1.0 - step(a_maxzoom, u_zoom));\n\n    // pitch-alignment: map\n    // rotation-alignment: map | viewport\n    if (u_pitch_with_map) {\n        lowp float angle = u_rotate_with_map ? (a_data[1] / 256.0 * 2.0 * PI) : u_bearing;\n        lowp float asin = sin(angle);\n        lowp float acos = cos(angle);\n        mat2 RotationMatrix = mat2(acos, asin, -1.0 * asin, acos);\n        vec2 offset = RotationMatrix * a_offset;\n        vec2 extrude = u_extrude_scale * (offset / 64.0);\n        gl_Position = u_matrix * vec4(a_pos + extrude, 0, 1);\n        gl_Position.z += z * gl_Position.w;\n    // pitch-alignment: viewport\n    // rotation-alignment: map\n    } else if (u_rotate_with_map) {\n        // foreshortening factor to apply on pitched maps\n        // as a label goes from horizontal &lt;=&gt; vertical in angle\n        // it goes from 0% foreshortening to up to around 70% foreshortening\n        lowp float pitchfactor = 1.0 - cos(u_pitch * sin(u_pitch * 0.75));\n\n        lowp float lineangle = a_data[1] / 256.0 * 2.0 * PI;\n\n        // use the lineangle to position points a,b along the line\n        // project the points and calculate the label angle in projected space\n        // this calculation allows labels to be rendered unskewed on pitched maps\n        vec4 a = u_matrix * vec4(a_pos, 0, 1);\n        vec4 b = u_matrix * vec4(a_pos + vec2(cos(lineangle),sin(lineangle)), 0, 1);\n        lowp float angle = atan((b[1]/b[3] - a[1]/a[3])/u_aspect_ratio, b[0]/b[3] - a[0]/a[3]);\n        lowp float asin = sin(angle);\n        lowp float acos = cos(angle);\n        mat2 RotationMatrix = mat2(acos, -1.0 * asin, asin, acos);\n\n        vec2 offset = RotationMatrix * (vec2((1.0-pitchfactor)+(pitchfactor*cos(angle*2.0)), 1.0) * a_offset);\n        vec2 extrude = u_extrude_scale * (offset / 64.0);\n        gl_Position = u_matrix * vec4(a_pos, 0, 1) + vec4(extrude, 0, 0);\n        gl_Position.z += z * gl_Position.w;\n    // pitch-alignment: viewport\n    // rotation-alignment: viewport\n    } else {\n        vec2 extrude = u_extrude_scale * (a_offset / 64.0);\n        gl_Position = u_matrix * vec4(a_pos, 0, 1) + vec4(extrude, 0, 0);\n    }\n\n    v_gamma_scale = (gl_Position.w - 0.5);\n\n    v_tex = a_tex / u_texsize;\n    v_fade_tex = vec2(a_labelminzoom / 255.0, 0.0);\n}\n&quot;},collisionbox:{fragmentSource:&quot;#ifdef GL_ES\nprecision mediump float;\n#else\n#define lowp\n#define mediump\n#define highp\n#endif\n\nuniform float u_zoom;\nuniform float u_maxzoom;\n\nvarying float v_max_zoom;\nvarying float v_placement_zoom;\n\nvoid main() {\n\n    float alpha = 0.5;\n\n    gl_FragColor = vec4(0.0, 1.0, 0.0, 1.0) * alpha;\n\n    if (v_placement_zoom &gt; u_zoom) {\n        gl_FragColor = vec4(1.0, 0.0, 0.0, 1.0) * alpha;\n    }\n\n    if (u_zoom &gt;= v_max_zoom) {\n        gl_FragColor = vec4(0.0, 0.0, 0.0, 1.0) * alpha * 0.25;\n    }\n\n    if (v_placement_zoom &gt;= u_maxzoom) {\n        gl_FragColor = vec4(0.0, 0.0, 1.0, 1.0) * alpha * 0.2;\n    }\n}\n&quot;,vertexSource:&quot;#ifdef GL_ES\nprecision highp float;\n#else\n#define lowp\n#define mediump\n#define highp\n#endif\n\nattribute vec2 a_pos;\nattribute vec2 a_extrude;\nattribute vec2 a_data;\n\nuniform mat4 u_matrix;\nuniform float u_scale;\n\nvarying float v_max_zoom;\nvarying float v_placement_zoom;\n\nvoid main() {\n    gl_Position = u_matrix * vec4(a_pos + a_extrude / u_scale, 0.0, 1.0);\n\n    v_max_zoom = a_data.x;\n    v_placement_zoom = a_data.y;\n}\n&quot;}},e.exports.util=&quot;float evaluate_zoom_function_1(const vec4 values, const float t) {\n    if (t &lt; 1.0) {\n        return mix(values[0], values[1], t);\n    } else if (t &lt; 2.0) {\n        return mix(values[1], values[2], t - 1.0);\n    } else {\n        return mix(values[2], values[3], t - 2.0);\n    }\n}\nvec4 evaluate_zoom_function_4(const vec4 value0, const vec4 value1, const vec4 value2, const vec4 value3, const float t) {\n    if (t &lt; 1.0) {\n        return mix(value0, value1, t);\n    } else if (t &lt; 2.0) {\n        return mix(value1, value2, t - 1.0);\n    } else {\n        return mix(value2, value3, t - 2.0);\n    }\n}\n&quot;},{path:468}],295:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;util&quot;).format;e.exports=function(t,e){this.message=(t?t+&quot;: &quot;:&quot;&quot;)+n.apply(n,Array.prototype.slice.call(arguments,2)),null!==e&amp;&amp;void 0!==e&amp;&amp;e.__line__&amp;&amp;(this.line=e.__line__)}},{util:563}],296:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t){for(var e=1;e&lt;arguments.length;e++){var r=arguments[e];for(var n in r)t[n]=r[n]}return t}},{}],297:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t){return t instanceof Number?&quot;number&quot;:t instanceof String?&quot;string&quot;:t instanceof Boolean?&quot;boolean&quot;:Array.isArray(t)?&quot;array&quot;:null===t?&quot;null&quot;:typeof t}},{}],298:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t){return t instanceof Number||t instanceof String||t instanceof Boolean?t.valueOf():t}},{}],299:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../error/validation_error&quot;),i=t(&quot;../util/get_type&quot;),a=t(&quot;../util/extend&quot;);e.exports=function(e){var r=t(&quot;./validate_function&quot;),o=t(&quot;./validate_object&quot;),s={&quot;*&quot;:function(){return[]},array:t(&quot;./validate_array&quot;),boolean:t(&quot;./validate_boolean&quot;),number:t(&quot;./validate_number&quot;),color:t(&quot;./validate_color&quot;),constants:t(&quot;./validate_constants&quot;),enum:t(&quot;./validate_enum&quot;),filter:t(&quot;./validate_filter&quot;),function:t(&quot;./validate_function&quot;),layer:t(&quot;./validate_layer&quot;),object:t(&quot;./validate_object&quot;),source:t(&quot;./validate_source&quot;),string:t(&quot;./validate_string&quot;)},l=e.value,c=e.valueSpec,u=e.key,f=e.styleSpec,h=e.style;if(&quot;string&quot;===i(l)&amp;&amp;&quot;@&quot;===l[0]){if(f.$version&gt;7)return[new n(u,l,&quot;constants have been deprecated as of v8&quot;)];if(!(l in h.constants))return[new n(u,l,'constant &quot;%s&quot; not found',l)];e=a({},e,{value:h.constants[l]})}return c.function&amp;&amp;&quot;object&quot;===i(l)?r(e):c.type&amp;&amp;s[c.type]?s[c.type](e):o(a({},e,{valueSpec:c.type?f[c.type]:c}))}},{&quot;../error/validation_error&quot;:295,&quot;../util/extend&quot;:296,&quot;../util/get_type&quot;:297,&quot;./validate_array&quot;:300,&quot;./validate_boolean&quot;:301,&quot;./validate_color&quot;:302,&quot;./validate_constants&quot;:303,&quot;./validate_enum&quot;:304,&quot;./validate_filter&quot;:305,&quot;./validate_function&quot;:306,&quot;./validate_layer&quot;:308,&quot;./validate_number&quot;:310,&quot;./validate_object&quot;:311,&quot;./validate_source&quot;:313,&quot;./validate_string&quot;:314}],300:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../util/get_type&quot;),i=t(&quot;./validate&quot;),a=t(&quot;../error/validation_error&quot;);e.exports=function(t){var e=t.value,r=t.valueSpec,o=t.style,s=t.styleSpec,l=t.key,c=t.arrayElementValidator||i;if(&quot;array&quot;!==n(e))return[new a(l,e,&quot;array expected, %s found&quot;,n(e))];if(r.length&amp;&amp;e.length!==r.length)return[new a(l,e,&quot;array length %d expected, length %d found&quot;,r.length,e.length)];if(r[&quot;min-length&quot;]&amp;&amp;e.length&lt;r[&quot;min-length&quot;])return[new a(l,e,&quot;array length at least %d expected, length %d found&quot;,r[&quot;min-length&quot;],e.length)];var u={type:r.value};s.$version&lt;7&amp;&amp;(u.function=r.function),&quot;object&quot;===n(r.value)&amp;&amp;(u=r.value);for(var f=[],h=0;h&lt;e.length;h++)f=f.concat(c({array:e,arrayIndex:h,value:e[h],valueSpec:u,style:o,styleSpec:s,key:l+&quot;[&quot;+h+&quot;]&quot;}));return f}},{&quot;../error/validation_error&quot;:295,&quot;../util/get_type&quot;:297,&quot;./validate&quot;:299}],301:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../util/get_type&quot;),i=t(&quot;../error/validation_error&quot;);e.exports=function(t){var e=t.value,r=t.key,a=n(e);return&quot;boolean&quot;!==a?[new i(r,e,&quot;boolean expected, %s found&quot;,a)]:[]}},{&quot;../error/validation_error&quot;:295,&quot;../util/get_type&quot;:297}],302:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../error/validation_error&quot;),i=t(&quot;../util/get_type&quot;),a=t(&quot;csscolorparser&quot;).parseCSSColor;e.exports=function(t){var e=t.key,r=t.value,o=i(r);return&quot;string&quot;!==o?[new n(e,r,&quot;color expected, %s found&quot;,o)]:null===a(r)?[new n(e,r,'color expected, &quot;%s&quot; found',r)]:[]}},{&quot;../error/validation_error&quot;:295,&quot;../util/get_type&quot;:297,csscolorparser:114}],303:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../error/validation_error&quot;),i=t(&quot;../util/get_type&quot;);e.exports=function(t){var e=t.key,r=t.value;if(t.styleSpec.$version&gt;7)return r?[new n(e,r,&quot;constants have been deprecated as of v8&quot;)]:[];var a=i(r);if(&quot;object&quot;!==a)return[new n(e,r,&quot;object expected, %s found&quot;,a)];var o=[];for(var s in r)&quot;@&quot;!==s[0]&amp;&amp;o.push(new n(e+&quot;.&quot;+s,r[s],'constants must start with &quot;@&quot;'));return o}},{&quot;../error/validation_error&quot;:295,&quot;../util/get_type&quot;:297}],304:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../error/validation_error&quot;),i=t(&quot;../util/unbundle_jsonlint&quot;);e.exports=function(t){var e=t.key,r=t.value,a=t.valueSpec,o=[];return-1===a.values.indexOf(i(r))&amp;&amp;o.push(new n(e,r,&quot;expected one of [%s], %s found&quot;,a.values.join(&quot;, &quot;),r)),o}},{&quot;../error/validation_error&quot;:295,&quot;../util/unbundle_jsonlint&quot;:298}],305:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../error/validation_error&quot;),i=t(&quot;./validate_enum&quot;),a=t(&quot;../util/get_type&quot;),o=t(&quot;../util/unbundle_jsonlint&quot;);e.exports=function t(e){var r,s=e.value,l=e.key,c=e.styleSpec,u=[];if(&quot;array&quot;!==a(s))return[new n(l,s,&quot;array expected, %s found&quot;,a(s))];if(s.length&lt;1)return[new n(l,s,&quot;filter array must have at least 1 element&quot;)];switch(u=u.concat(i({key:l+&quot;[0]&quot;,value:s[0],valueSpec:c.filter_operator,style:e.style,styleSpec:e.styleSpec})),o(s[0])){case&quot;&lt;&quot;:case&quot;&lt;=&quot;:case&quot;&gt;&quot;:case&quot;&gt;=&quot;:s.length&gt;=2&amp;&amp;&quot;$type&quot;==s[1]&amp;&amp;u.push(new n(l,s,'&quot;$type&quot; cannot be use with operator &quot;%s&quot;',s[0]));case&quot;==&quot;:case&quot;!=&quot;:3!=s.length&amp;&amp;u.push(new n(l,s,'filter array for operator &quot;%s&quot; must have 3 elements',s[0]));case&quot;in&quot;:case&quot;!in&quot;:s.length&gt;=2&amp;&amp;(&quot;string&quot;!==(r=a(s[1]))?u.push(new n(l+&quot;[1]&quot;,s[1],&quot;string expected, %s found&quot;,r)):&quot;@&quot;===s[1][0]&amp;&amp;u.push(new n(l+&quot;[1]&quot;,s[1],&quot;filter key cannot be a constant&quot;)));for(var f=2;f&lt;s.length;f++)r=a(s[f]),&quot;$type&quot;==s[1]?u=u.concat(i({key:l+&quot;[&quot;+f+&quot;]&quot;,value:s[f],valueSpec:c.geometry_type,style:e.style,styleSpec:e.styleSpec})):&quot;string&quot;===r&amp;&amp;&quot;@&quot;===s[f][0]?u.push(new n(l+&quot;[&quot;+f+&quot;]&quot;,s[f],&quot;filter value cannot be a constant&quot;)):&quot;string&quot;!==r&amp;&amp;&quot;number&quot;!==r&amp;&amp;&quot;boolean&quot;!==r&amp;&amp;u.push(new n(l+&quot;[&quot;+f+&quot;]&quot;,s[f],&quot;string, number, or boolean expected, %s found&quot;,r));break;case&quot;any&quot;:case&quot;all&quot;:case&quot;none&quot;:for(f=1;f&lt;s.length;f++)u=u.concat(t({key:l+&quot;[&quot;+f+&quot;]&quot;,value:s[f],style:e.style,styleSpec:e.styleSpec}));break;case&quot;has&quot;:case&quot;!has&quot;:r=a(s[1]),2!==s.length?u.push(new n(l,s,'filter array for &quot;%s&quot; operator must have 2 elements',s[0])):&quot;string&quot;!==r?u.push(new n(l+&quot;[1]&quot;,s[1],&quot;string expected, %s found&quot;,r)):&quot;@&quot;===s[1][0]&amp;&amp;u.push(new n(l+&quot;[1]&quot;,s[1],&quot;filter key cannot be a constant&quot;))}return u}},{&quot;../error/validation_error&quot;:295,&quot;../util/get_type&quot;:297,&quot;../util/unbundle_jsonlint&quot;:298,&quot;./validate_enum&quot;:304}],306:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../error/validation_error&quot;),i=t(&quot;../util/get_type&quot;),a=t(&quot;./validate&quot;),o=t(&quot;./validate_object&quot;),s=t(&quot;./validate_array&quot;),l=t(&quot;./validate_number&quot;);e.exports=function(t){function e(t){var e=[],s=t.value,f=t.key;if(&quot;array&quot;!==i(s))return[new n(f,s,&quot;array expected, %s found&quot;,i(s))];if(2!==s.length)return[new n(f,s,&quot;array length %d expected, length %d found&quot;,2,s.length)];var d=i(s[0]);if(c||(c=d),d!==c)return[new n(f,s,&quot;%s stop key type must match previous stop key type %s&quot;,d,c)];if(&quot;object&quot;===d){if(void 0===s[0].zoom)return[new n(f,s,&quot;object stop key must have zoom&quot;)];if(void 0===s[0].value)return[new n(f,s,&quot;object stop key must have value&quot;)];e=e.concat(o({key:f+&quot;[0]&quot;,value:s[0],valueSpec:{zoom:{}},style:t.style,styleSpec:t.styleSpec,objectElementValidators:{zoom:l,value:r}}))}else e=e.concat((h?l:r)({key:f+&quot;[0]&quot;,value:s[0],valueSpec:{},style:t.style,styleSpec:t.styleSpec}));return e=e.concat(a({key:f+&quot;[1]&quot;,value:s[1],valueSpec:u,style:t.style,styleSpec:t.styleSpec})),&quot;number&quot;===i(s[0])&amp;&amp;(&quot;piecewise-constant&quot;===u.function&amp;&amp;s[0]%1!=0&amp;&amp;e.push(new n(f+&quot;[0]&quot;,s[0],&quot;zoom level for piecewise-constant functions must be an integer&quot;)),0!==t.arrayIndex&amp;&amp;s[0]&lt;t.array[t.arrayIndex-1][0]&amp;&amp;e.push(new n(f+&quot;[0]&quot;,s[0],&quot;array stops must appear in ascending order&quot;))),e}function r(t){var e=[],r=i(t.value);return&quot;number&quot;!==r&amp;&amp;&quot;string&quot;!==r&amp;&amp;&quot;array&quot;!==r&amp;&amp;e.push(new n(t.key,t.value,&quot;property value must be a number, string or array&quot;)),e}var c,u=t.valueSpec,f=void 0!==t.value.property||&quot;object&quot;===c,h=void 0===t.value.property||&quot;object&quot;===c,d=o({key:t.key,value:t.value,valueSpec:t.styleSpec.function,style:t.style,styleSpec:t.styleSpec,objectElementValidators:{stops:function(t){var r=[],a=t.value;return r=r.concat(s({key:t.key,value:a,valueSpec:t.valueSpec,style:t.style,styleSpec:t.styleSpec,arrayElementValidator:e})),&quot;array&quot;===i(a)&amp;&amp;0===a.length&amp;&amp;r.push(new n(t.key,a,&quot;array must have at least one stop&quot;)),r}}});return t.styleSpec.$version&gt;=8&amp;&amp;(f&amp;&amp;!t.valueSpec[&quot;property-function&quot;]?d.push(new n(t.key,t.value,&quot;property functions not supported&quot;)):h&amp;&amp;!t.valueSpec[&quot;zoom-function&quot;]&amp;&amp;d.push(new n(t.key,t.value,&quot;zoom functions not supported&quot;))),d}},{&quot;../error/validation_error&quot;:295,&quot;../util/get_type&quot;:297,&quot;./validate&quot;:299,&quot;./validate_array&quot;:300,&quot;./validate_number&quot;:310,&quot;./validate_object&quot;:311}],307:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../error/validation_error&quot;),i=t(&quot;./validate_string&quot;);e.exports=function(t){var e=t.value,r=t.key,a=i(t);return a.length?a:(-1===e.indexOf(&quot;{fontstack}&quot;)&amp;&amp;a.push(new n(r,e,'&quot;glyphs&quot; url must include a &quot;{fontstack}&quot; token')),-1===e.indexOf(&quot;{range}&quot;)&amp;&amp;a.push(new n(r,e,'&quot;glyphs&quot; url must include a &quot;{range}&quot; token')),a)}},{&quot;../error/validation_error&quot;:295,&quot;./validate_string&quot;:314}],308:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../error/validation_error&quot;),i=t(&quot;../util/unbundle_jsonlint&quot;),a=t(&quot;./validate_object&quot;),o=t(&quot;./validate_filter&quot;),s=t(&quot;./validate_paint_property&quot;),l=t(&quot;./validate_layout_property&quot;),c=t(&quot;../util/extend&quot;);e.exports=function(t){var e=[],r=t.value,u=t.key,f=t.style,h=t.styleSpec;r.type||r.ref||e.push(new n(u,r,'either &quot;type&quot; or &quot;ref&quot; is required'));var d=i(r.type),p=i(r.ref);if(r.id)for(var m=0;m&lt;t.arrayIndex;m++){var g=f.layers[m];i(g.id)===i(r.id)&amp;&amp;e.push(new n(u,r.id,'duplicate layer id &quot;%s&quot;, previously used at line %d',r.id,g.id.__line__))}if(&quot;ref&quot;in r){[&quot;type&quot;,&quot;source&quot;,&quot;source-layer&quot;,&quot;filter&quot;,&quot;layout&quot;].forEach(function(t){t in r&amp;&amp;e.push(new n(u,r[t],'&quot;%s&quot; is prohibited for ref layers',t))});var v;f.layers.forEach(function(t){t.id==p&amp;&amp;(v=t)}),v?v.ref?e.push(new n(u,r.ref,&quot;ref cannot reference another ref layer&quot;)):d=i(v.type):e.push(new n(u,r.ref,'ref layer &quot;%s&quot; not found',p))}else if(&quot;background&quot;!==d)if(r.source){var y=f.sources&amp;&amp;f.sources[r.source];y?&quot;vector&quot;==y.type&amp;&amp;&quot;raster&quot;==d?e.push(new n(u,r.source,'layer &quot;%s&quot; requires a raster source',r.id)):&quot;raster&quot;==y.type&amp;&amp;&quot;raster&quot;!=d?e.push(new n(u,r.source,'layer &quot;%s&quot; requires a vector source',r.id)):&quot;vector&quot;!=y.type||r[&quot;source-layer&quot;]||e.push(new n(u,r,'layer &quot;%s&quot; must specify a &quot;source-layer&quot;',r.id)):e.push(new n(u,r.source,'source &quot;%s&quot; not found',r.source))}else e.push(new n(u,r,'missing required property &quot;source&quot;'));return e=e.concat(a({key:u,value:r,valueSpec:h.layer,style:t.style,styleSpec:t.styleSpec,objectElementValidators:{filter:o,layout:function(t){return a({layer:r,key:t.key,value:t.value,style:t.style,styleSpec:t.styleSpec,objectElementValidators:{&quot;*&quot;:function(t){return l(c({layerType:d},t))}}})},paint:function(t){return a({layer:r,key:t.key,value:t.value,style:t.style,styleSpec:t.styleSpec,objectElementValidators:{&quot;*&quot;:function(t){return s(c({layerType:d},t))}}})}}}))}},{&quot;../error/validation_error&quot;:295,&quot;../util/extend&quot;:296,&quot;../util/unbundle_jsonlint&quot;:298,&quot;./validate_filter&quot;:305,&quot;./validate_layout_property&quot;:309,&quot;./validate_object&quot;:311,&quot;./validate_paint_property&quot;:312}],309:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;./validate&quot;),i=t(&quot;../error/validation_error&quot;);e.exports=function(t){var e=t.key,r=t.style,a=t.styleSpec,o=t.value,s=t.objectKey,l=a[&quot;layout_&quot;+t.layerType];if(t.valueSpec||l[s]){var c=[];return&quot;symbol&quot;===t.layerType&amp;&amp;(&quot;icon-image&quot;===s&amp;&amp;r&amp;&amp;!r.sprite?c.push(new i(e,o,'use of &quot;icon-image&quot; requires a style &quot;sprite&quot; property')):&quot;text-field&quot;===s&amp;&amp;r&amp;&amp;!r.glyphs&amp;&amp;c.push(new i(e,o,'use of &quot;text-field&quot; requires a style &quot;glyphs&quot; property'))),c.concat(n({key:t.key,value:o,valueSpec:t.valueSpec||l[s],style:r,styleSpec:a}))}return[new i(e,o,'unknown property &quot;%s&quot;',s)]}},{&quot;../error/validation_error&quot;:295,&quot;./validate&quot;:299}],310:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../util/get_type&quot;),i=t(&quot;../error/validation_error&quot;);e.exports=function(t){var e=t.key,r=t.value,a=t.valueSpec,o=n(r);return&quot;number&quot;!==o?[new i(e,r,&quot;number expected, %s found&quot;,o)]:&quot;minimum&quot;in a&amp;&amp;r&lt;a.minimum?[new i(e,r,&quot;%s is less than the minimum value %s&quot;,r,a.minimum)]:&quot;maximum&quot;in a&amp;&amp;r&gt;a.maximum?[new i(e,r,&quot;%s is greater than the maximum value %s&quot;,r,a.maximum)]:[]}},{&quot;../error/validation_error&quot;:295,&quot;../util/get_type&quot;:297}],311:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../error/validation_error&quot;),i=t(&quot;../util/get_type&quot;),a=t(&quot;./validate&quot;);e.exports=function(t){var e=t.key,r=t.value,o=t.valueSpec,s=t.objectElementValidators||{},l=t.style,c=t.styleSpec,u=[],f=i(r);if(&quot;object&quot;!==f)return[new n(e,r,&quot;object expected, %s found&quot;,f)];for(var h in r){var d=h.split(&quot;.&quot;)[0],p=o&amp;&amp;(o[d]||o[&quot;*&quot;]),m=s[d]||s[&quot;*&quot;];p||m?u=u.concat((m||a)({key:(e?e+&quot;.&quot;:e)+h,value:r[h],valueSpec:p,style:l,styleSpec:c,object:r,objectKey:h})):&quot;&quot;!==e&amp;&amp;1!==e.split(&quot;.&quot;).length&amp;&amp;u.push(new n(e,r[h],'unknown property &quot;%s&quot;',h))}for(d in o)o[d].required&amp;&amp;void 0===o[d].default&amp;&amp;void 0===r[d]&amp;&amp;u.push(new n(e,r,'missing required property &quot;%s&quot;',d));return u}},{&quot;../error/validation_error&quot;:295,&quot;../util/get_type&quot;:297,&quot;./validate&quot;:299}],312:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;./validate&quot;),i=t(&quot;../error/validation_error&quot;);e.exports=function(t){var e=t.key,r=t.style,a=t.styleSpec,o=t.value,s=t.objectKey,l=a[&quot;paint_&quot;+t.layerType],c=s.match(/^(.*)-transition$/);return c&amp;&amp;l[c[1]]&amp;&amp;l[c[1]].transition?n({key:e,value:o,valueSpec:a.transition,style:r,styleSpec:a}):t.valueSpec||l[s]?n({key:t.key,value:o,valueSpec:t.valueSpec||l[s],style:r,styleSpec:a}):[new i(e,o,'unknown property &quot;%s&quot;',s)]}},{&quot;../error/validation_error&quot;:295,&quot;./validate&quot;:299}],313:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../error/validation_error&quot;),i=t(&quot;../util/unbundle_jsonlint&quot;),a=t(&quot;./validate_object&quot;),o=t(&quot;./validate_enum&quot;);e.exports=function(t){var e=t.value,r=t.key,s=t.styleSpec,l=t.style;if(!e.type)return[new n(r,e,'&quot;type&quot; is required')];switch(i(e.type)){case&quot;vector&quot;:case&quot;raster&quot;:var c=[];if(c=c.concat(a({key:r,value:e,valueSpec:s.source_tile,style:t.style,styleSpec:s})),&quot;url&quot;in e)for(var u in e)[&quot;type&quot;,&quot;url&quot;,&quot;tileSize&quot;].indexOf(u)&lt;0&amp;&amp;c.push(new n(r+&quot;.&quot;+u,e[u],'a source with a &quot;url&quot; property may not include a &quot;%s&quot; property',u));return c;case&quot;geojson&quot;:return a({key:r,value:e,valueSpec:s.source_geojson,style:l,styleSpec:s});case&quot;video&quot;:return a({key:r,value:e,valueSpec:s.source_video,style:l,styleSpec:s});case&quot;image&quot;:return a({key:r,value:e,valueSpec:s.source_image,style:l,styleSpec:s});default:return o({key:r+&quot;.type&quot;,value:e.type,valueSpec:{values:[&quot;vector&quot;,&quot;raster&quot;,&quot;geojson&quot;,&quot;video&quot;,&quot;image&quot;]},style:l,styleSpec:s})}}},{&quot;../error/validation_error&quot;:295,&quot;../util/unbundle_jsonlint&quot;:298,&quot;./validate_enum&quot;:304,&quot;./validate_object&quot;:311}],314:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../util/get_type&quot;),i=t(&quot;../error/validation_error&quot;);e.exports=function(t){var e=t.value,r=t.key,a=n(e);return&quot;string&quot;!==a?[new i(r,e,&quot;string expected, %s found&quot;,a)]:[]}},{&quot;../error/validation_error&quot;:295,&quot;../util/get_type&quot;:297}],315:[function(t,e,r){&quot;use strict&quot;;function n(t,e){e=e||l;var r=[];return r=r.concat(s({key:&quot;&quot;,value:t,valueSpec:e.$root,styleSpec:e,style:t,objectElementValidators:{glyphs:c}})),e.$version&gt;7&amp;&amp;t.constants&amp;&amp;(r=r.concat(o({key:&quot;constants&quot;,value:t.constants,style:t,styleSpec:e}))),i(r)}function i(t){return[].concat(t).sort(function(t,e){return t.line-e.line})}function a(t){return function(){return i(t.apply(this,arguments))}}var o=t(&quot;./validate/validate_constants&quot;),s=t(&quot;./validate/validate&quot;),l=t(&quot;../reference/latest.min&quot;),c=t(&quot;./validate/validate_glyphs_url&quot;);n.source=a(t(&quot;./validate/validate_source&quot;)),n.layer=a(t(&quot;./validate/validate_layer&quot;)),n.filter=a(t(&quot;./validate/validate_filter&quot;)),n.paintProperty=a(t(&quot;./validate/validate_paint_property&quot;)),n.layoutProperty=a(t(&quot;./validate/validate_layout_property&quot;)),e.exports=n},{&quot;../reference/latest.min&quot;:316,&quot;./validate/validate&quot;:299,&quot;./validate/validate_constants&quot;:303,&quot;./validate/validate_filter&quot;:305,&quot;./validate/validate_glyphs_url&quot;:307,&quot;./validate/validate_layer&quot;:308,&quot;./validate/validate_layout_property&quot;:309,&quot;./validate/validate_paint_property&quot;:312,&quot;./validate/validate_source&quot;:313}],316:[function(t,e,r){e.exports=t(&quot;./v8.min.json&quot;)},{&quot;./v8.min.json&quot;:317}],317:[function(t,e,r){e.exports={$version:8,$root:{version:{required:!0,type:&quot;enum&quot;,values:[8]},name:{type:&quot;string&quot;},metadata:{type:&quot;*&quot;},center:{type:&quot;array&quot;,value:&quot;number&quot;},zoom:{type:&quot;number&quot;},bearing:{type:&quot;number&quot;,default:0,period:360,units:&quot;degrees&quot;},pitch:{type:&quot;number&quot;,default:0,units:&quot;degrees&quot;},sources:{required:!0,type:&quot;sources&quot;},sprite:{type:&quot;string&quot;},glyphs:{type:&quot;string&quot;},transition:{type:&quot;transition&quot;},layers:{required:!0,type:&quot;array&quot;,value:&quot;layer&quot;}},sources:{&quot;*&quot;:{type:&quot;source&quot;}},source:[&quot;source_tile&quot;,&quot;source_geojson&quot;,&quot;source_video&quot;,&quot;source_image&quot;],source_tile:{type:{required:!0,type:&quot;enum&quot;,values:[&quot;vector&quot;,&quot;raster&quot;]},url:{type:&quot;string&quot;},tiles:{type:&quot;array&quot;,value:&quot;string&quot;},minzoom:{type:&quot;number&quot;,default:0},maxzoom:{type:&quot;number&quot;,default:22},tileSize:{type:&quot;number&quot;,default:512,units:&quot;pixels&quot;},&quot;*&quot;:{type:&quot;*&quot;}},source_geojson:{type:{required:!0,type:&quot;enum&quot;,values:[&quot;geojson&quot;]},data:{type:&quot;*&quot;},maxzoom:{type:&quot;number&quot;,default:14},buffer:{type:&quot;number&quot;,default:64},tolerance:{type:&quot;number&quot;,default:3},cluster:{type:&quot;boolean&quot;,default:!1},clusterRadius:{type:&quot;number&quot;,default:400},clusterMaxZoom:{type:&quot;number&quot;}},source_video:{type:{required:!0,type:&quot;enum&quot;,values:[&quot;video&quot;]},urls:{required:!0,type:&quot;array&quot;,value:&quot;string&quot;},coordinates:{required:!0,type:&quot;array&quot;,length:4,value:{type:&quot;array&quot;,length:2,value:&quot;number&quot;}}},source_image:{type:{required:!0,type:&quot;enum&quot;,values:[&quot;image&quot;]},url:{required:!0,type:&quot;string&quot;},coordinates:{required:!0,type:&quot;array&quot;,length:4,value:{type:&quot;array&quot;,length:2,value:&quot;number&quot;}}},layer:{id:{type:&quot;string&quot;,required:!0},type:{type:&quot;enum&quot;,values:[&quot;fill&quot;,&quot;line&quot;,&quot;symbol&quot;,&quot;circle&quot;,&quot;raster&quot;,&quot;background&quot;]},metadata:{type:&quot;*&quot;},ref:{type:&quot;string&quot;},source:{type:&quot;string&quot;},&quot;source-layer&quot;:{type:&quot;string&quot;},minzoom:{type:&quot;number&quot;,minimum:0,maximum:22},maxzoom:{type:&quot;number&quot;,minimum:0,maximum:22},interactive:{type:&quot;boolean&quot;,default:!1},filter:{type:&quot;filter&quot;},layout:{type:&quot;layout&quot;},paint:{type:&quot;paint&quot;},&quot;paint.*&quot;:{type:&quot;paint&quot;}},layout:[&quot;layout_fill&quot;,&quot;layout_line&quot;,&quot;layout_circle&quot;,&quot;layout_symbol&quot;,&quot;layout_raster&quot;,&quot;layout_background&quot;],layout_background:{visibility:{type:&quot;enum&quot;,function:&quot;piecewise-constant&quot;,&quot;zoom-function&quot;:!0,values:[&quot;visible&quot;,&quot;none&quot;],default:&quot;visible&quot;}},layout_fill:{visibility:{type:&quot;enum&quot;,function:&quot;piecewise-constant&quot;,&quot;zoom-function&quot;:!0,values:[&quot;visible&quot;,&quot;none&quot;],default:&quot;visible&quot;}},layout_circle:{visibility:{type:&quot;enum&quot;,function:&quot;piecewise-constant&quot;,&quot;zoom-function&quot;:!0,values:[&quot;visible&quot;,&quot;none&quot;],default:&quot;visible&quot;}},layout_line:{&quot;line-cap&quot;:{type:&quot;enum&quot;,function:&quot;piecewise-constant&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,values:[&quot;butt&quot;,&quot;round&quot;,&quot;square&quot;],default:&quot;butt&quot;},&quot;line-join&quot;:{type:&quot;enum&quot;,function:&quot;piecewise-constant&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,values:[&quot;bevel&quot;,&quot;round&quot;,&quot;miter&quot;],default:&quot;miter&quot;},&quot;line-miter-limit&quot;:{type:&quot;number&quot;,default:2,function:&quot;interpolated&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,requires:[{&quot;line-join&quot;:&quot;miter&quot;}]},&quot;line-round-limit&quot;:{type:&quot;number&quot;,default:1.05,function:&quot;interpolated&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,requires:[{&quot;line-join&quot;:&quot;round&quot;}]},visibility:{type:&quot;enum&quot;,function:&quot;piecewise-constant&quot;,&quot;zoom-function&quot;:!0,values:[&quot;visible&quot;,&quot;none&quot;],default:&quot;visible&quot;}},layout_symbol:{&quot;symbol-placement&quot;:{type:&quot;enum&quot;,function:&quot;piecewise-constant&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,values:[&quot;point&quot;,&quot;line&quot;],default:&quot;point&quot;},&quot;symbol-spacing&quot;:{type:&quot;number&quot;,default:250,minimum:1,function:&quot;interpolated&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,units:&quot;pixels&quot;,requires:[{&quot;symbol-placement&quot;:&quot;line&quot;}]},&quot;symbol-avoid-edges&quot;:{type:&quot;boolean&quot;,function:&quot;piecewise-constant&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,default:!1},&quot;icon-allow-overlap&quot;:{type:&quot;boolean&quot;,function:&quot;piecewise-constant&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,default:!1,requires:[&quot;icon-image&quot;]},&quot;icon-ignore-placement&quot;:{type:&quot;boolean&quot;,function:&quot;piecewise-constant&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,default:!1,requires:[&quot;icon-image&quot;]},&quot;icon-optional&quot;:{type:&quot;boolean&quot;,function:&quot;piecewise-constant&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,default:!1,requires:[&quot;icon-image&quot;,&quot;text-field&quot;]},&quot;icon-rotation-alignment&quot;:{type:&quot;enum&quot;,function:&quot;piecewise-constant&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,values:[&quot;map&quot;,&quot;viewport&quot;],default:&quot;viewport&quot;,requires:[&quot;icon-image&quot;]},&quot;icon-size&quot;:{type:&quot;number&quot;,default:1,minimum:0,function:&quot;interpolated&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,requires:[&quot;icon-image&quot;]},&quot;icon-text-fit&quot;:{type:&quot;enum&quot;,function:&quot;piecewise-constant&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!1,values:[&quot;none&quot;,&quot;both&quot;,&quot;width&quot;,&quot;height&quot;],default:&quot;none&quot;,requires:[&quot;icon-image&quot;,&quot;text-field&quot;]},&quot;icon-text-fit-padding&quot;:{type:&quot;array&quot;,value:&quot;number&quot;,length:4,default:[0,0,0,0],units:&quot;pixels&quot;,function:&quot;interpolated&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,requires:[&quot;icon-image&quot;,&quot;icon-text-fit&quot;,&quot;text-field&quot;]},&quot;icon-image&quot;:{type:&quot;string&quot;,function:&quot;piecewise-constant&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,tokens:!0},&quot;icon-rotate&quot;:{type:&quot;number&quot;,default:0,period:360,function:&quot;interpolated&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,units:&quot;degrees&quot;,requires:[&quot;icon-image&quot;]},&quot;icon-padding&quot;:{type:&quot;number&quot;,default:2,minimum:0,function:&quot;interpolated&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,units:&quot;pixels&quot;,requires:[&quot;icon-image&quot;]},&quot;icon-keep-upright&quot;:{type:&quot;boolean&quot;,function:&quot;piecewise-constant&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,default:!1,requires:[&quot;icon-image&quot;,{&quot;icon-rotation-alignment&quot;:&quot;map&quot;},{&quot;symbol-placement&quot;:&quot;line&quot;}]},&quot;icon-offset&quot;:{type:&quot;array&quot;,value:&quot;number&quot;,length:2,default:[0,0],function:&quot;interpolated&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,requires:[&quot;icon-image&quot;]},&quot;text-pitch-alignment&quot;:{type:&quot;enum&quot;,function:&quot;piecewise-constant&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,values:[&quot;map&quot;,&quot;viewport&quot;],requires:[&quot;text-field&quot;]},&quot;text-rotation-alignment&quot;:{type:&quot;enum&quot;,function:&quot;piecewise-constant&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,values:[&quot;map&quot;,&quot;viewport&quot;],default:&quot;viewport&quot;,requires:[&quot;text-field&quot;]},&quot;text-field&quot;:{type:&quot;string&quot;,function:&quot;piecewise-constant&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,default:&quot;&quot;,tokens:!0},&quot;text-font&quot;:{type:&quot;array&quot;,value:&quot;string&quot;,function:&quot;piecewise-constant&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,default:[&quot;Open Sans Regular&quot;,&quot;Arial Unicode MS Regular&quot;],requires:[&quot;text-field&quot;]},&quot;text-size&quot;:{type:&quot;number&quot;,default:16,minimum:0,units:&quot;pixels&quot;,function:&quot;interpolated&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,requires:[&quot;text-field&quot;]},&quot;text-max-width&quot;:{type:&quot;number&quot;,default:10,minimum:0,units:&quot;em&quot;,function:&quot;interpolated&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,requires:[&quot;text-field&quot;]},&quot;text-line-height&quot;:{type:&quot;number&quot;,default:1.2,units:&quot;em&quot;,function:&quot;interpolated&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,requires:[&quot;text-field&quot;]},&quot;text-letter-spacing&quot;:{type:&quot;number&quot;,default:0,units:&quot;em&quot;,function:&quot;interpolated&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,requires:[&quot;text-field&quot;]},&quot;text-justify&quot;:{type:&quot;enum&quot;,function:&quot;piecewise-constant&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,values:[&quot;left&quot;,&quot;center&quot;,&quot;right&quot;],default:&quot;center&quot;,requires:[&quot;text-field&quot;]},&quot;text-anchor&quot;:{type:&quot;enum&quot;,function:&quot;piecewise-constant&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,values:[&quot;center&quot;,&quot;left&quot;,&quot;right&quot;,&quot;top&quot;,&quot;bottom&quot;,&quot;top-left&quot;,&quot;top-right&quot;,&quot;bottom-left&quot;,&quot;bottom-right&quot;],default:&quot;center&quot;,requires:[&quot;text-field&quot;]},&quot;text-max-angle&quot;:{type:&quot;number&quot;,default:45,units:&quot;degrees&quot;,function:&quot;interpolated&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,requires:[&quot;text-field&quot;,{&quot;symbol-placement&quot;:&quot;line&quot;}]},&quot;text-rotate&quot;:{type:&quot;number&quot;,default:0,period:360,units:&quot;degrees&quot;,function:&quot;interpolated&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,requires:[&quot;text-field&quot;]},&quot;text-padding&quot;:{type:&quot;number&quot;,default:2,minimum:0,units:&quot;pixels&quot;,function:&quot;interpolated&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,requires:[&quot;text-field&quot;]},&quot;text-keep-upright&quot;:{type:&quot;boolean&quot;,function:&quot;piecewise-constant&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,default:!0,requires:[&quot;text-field&quot;,{&quot;text-rotation-alignment&quot;:&quot;map&quot;},{&quot;symbol-placement&quot;:&quot;line&quot;}]},&quot;text-transform&quot;:{type:&quot;enum&quot;,function:&quot;piecewise-constant&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,values:[&quot;none&quot;,&quot;uppercase&quot;,&quot;lowercase&quot;],default:&quot;none&quot;,requires:[&quot;text-field&quot;]},&quot;text-offset&quot;:{type:&quot;array&quot;,value:&quot;number&quot;,units:&quot;ems&quot;,function:&quot;interpolated&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,length:2,default:[0,0],requires:[&quot;text-field&quot;]},&quot;text-allow-overlap&quot;:{type:&quot;boolean&quot;,function:&quot;piecewise-constant&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,default:!1,requires:[&quot;text-field&quot;]},&quot;text-ignore-placement&quot;:{type:&quot;boolean&quot;,function:&quot;piecewise-constant&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,default:!1,requires:[&quot;text-field&quot;]},&quot;text-optional&quot;:{type:&quot;boolean&quot;,function:&quot;piecewise-constant&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,default:!1,requires:[&quot;text-field&quot;,&quot;icon-image&quot;]},visibility:{type:&quot;enum&quot;,function:&quot;piecewise-constant&quot;,&quot;zoom-function&quot;:!0,values:[&quot;visible&quot;,&quot;none&quot;],default:&quot;visible&quot;}},layout_raster:{visibility:{type:&quot;enum&quot;,function:&quot;piecewise-constant&quot;,&quot;zoom-function&quot;:!0,values:[&quot;visible&quot;,&quot;none&quot;],default:&quot;visible&quot;}},filter:{type:&quot;array&quot;,value:&quot;*&quot;},filter_operator:{type:&quot;enum&quot;,values:[&quot;==&quot;,&quot;!=&quot;,&quot;&gt;&quot;,&quot;&gt;=&quot;,&quot;&lt;&quot;,&quot;&lt;=&quot;,&quot;in&quot;,&quot;!in&quot;,&quot;all&quot;,&quot;any&quot;,&quot;none&quot;,&quot;has&quot;,&quot;!has&quot;]},geometry_type:{type:&quot;enum&quot;,values:[&quot;Point&quot;,&quot;LineString&quot;,&quot;Polygon&quot;]},color_operation:{type:&quot;enum&quot;,values:[&quot;lighten&quot;,&quot;saturate&quot;,&quot;spin&quot;,&quot;fade&quot;,&quot;mix&quot;]},function:{stops:{type:&quot;array&quot;,required:!0,value:&quot;function_stop&quot;},base:{type:&quot;number&quot;,default:1,minimum:0},property:{type:&quot;string&quot;,default:&quot;$zoom&quot;},type:{type:&quot;enum&quot;,values:[&quot;exponential&quot;,&quot;interval&quot;,&quot;categorical&quot;],default:&quot;exponential&quot;}},function_stop:{type:&quot;array&quot;,minimum:0,maximum:22,value:[&quot;number&quot;,&quot;color&quot;],length:2},paint:[&quot;paint_fill&quot;,&quot;paint_line&quot;,&quot;paint_circle&quot;,&quot;paint_symbol&quot;,&quot;paint_raster&quot;,&quot;paint_background&quot;],paint_fill:{&quot;fill-antialias&quot;:{type:&quot;boolean&quot;,function:&quot;piecewise-constant&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,default:!0},&quot;fill-opacity&quot;:{type:&quot;number&quot;,function:&quot;interpolated&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,default:1,minimum:0,maximum:1,transition:!0},&quot;fill-color&quot;:{type:&quot;color&quot;,default:&quot;#000000&quot;,function:&quot;interpolated&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,transition:!0,requires:[{&quot;!&quot;:&quot;fill-pattern&quot;}]},&quot;fill-outline-color&quot;:{type:&quot;color&quot;,function:&quot;interpolated&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,transition:!0,requires:[{&quot;!&quot;:&quot;fill-pattern&quot;},{&quot;fill-antialias&quot;:!0}]},&quot;fill-translate&quot;:{type:&quot;array&quot;,value:&quot;number&quot;,length:2,default:[0,0],function:&quot;interpolated&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,transition:!0,units:&quot;pixels&quot;},&quot;fill-translate-anchor&quot;:{type:&quot;enum&quot;,function:&quot;piecewise-constant&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,values:[&quot;map&quot;,&quot;viewport&quot;],default:&quot;map&quot;,requires:[&quot;fill-translate&quot;]},&quot;fill-pattern&quot;:{type:&quot;string&quot;,function:&quot;piecewise-constant&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,transition:!0}},paint_line:{&quot;line-opacity&quot;:{type:&quot;number&quot;,function:&quot;interpolated&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,default:1,minimum:0,maximum:1,transition:!0},&quot;line-color&quot;:{type:&quot;color&quot;,default:&quot;#000000&quot;,function:&quot;interpolated&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,transition:!0,requires:[{&quot;!&quot;:&quot;line-pattern&quot;}]},&quot;line-translate&quot;:{type:&quot;array&quot;,value:&quot;number&quot;,length:2,default:[0,0],function:&quot;interpolated&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,transition:!0,units:&quot;pixels&quot;},&quot;line-translate-anchor&quot;:{type:&quot;enum&quot;,function:&quot;piecewise-constant&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,values:[&quot;map&quot;,&quot;viewport&quot;],default:&quot;map&quot;,requires:[&quot;line-translate&quot;]},&quot;line-width&quot;:{type:&quot;number&quot;,default:1,minimum:0,function:&quot;interpolated&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,transition:!0,units:&quot;pixels&quot;},&quot;line-gap-width&quot;:{type:&quot;number&quot;,default:0,minimum:0,function:&quot;interpolated&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,transition:!0,units:&quot;pixels&quot;},&quot;line-offset&quot;:{type:&quot;number&quot;,default:0,function:&quot;interpolated&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,transition:!0,units:&quot;pixels&quot;},&quot;line-blur&quot;:{type:&quot;number&quot;,default:0,minimum:0,function:&quot;interpolated&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,transition:!0,units:&quot;pixels&quot;},&quot;line-dasharray&quot;:{type:&quot;array&quot;,value:&quot;number&quot;,function:&quot;piecewise-constant&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,minimum:0,transition:!0,units:&quot;line widths&quot;,requires:[{&quot;!&quot;:&quot;line-pattern&quot;}]},&quot;line-pattern&quot;:{type:&quot;string&quot;,function:&quot;piecewise-constant&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,transition:!0}},paint_circle:{&quot;circle-radius&quot;:{type:&quot;number&quot;,default:5,minimum:0,function:&quot;interpolated&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,transition:!0,units:&quot;pixels&quot;},&quot;circle-color&quot;:{type:&quot;color&quot;,default:&quot;#000000&quot;,function:&quot;interpolated&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,transition:!0},&quot;circle-blur&quot;:{type:&quot;number&quot;,default:0,function:&quot;interpolated&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,transition:!0},&quot;circle-opacity&quot;:{type:&quot;number&quot;,default:1,minimum:0,maximum:1,function:&quot;interpolated&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,transition:!0},&quot;circle-translate&quot;:{type:&quot;array&quot;,value:&quot;number&quot;,length:2,default:[0,0],function:&quot;interpolated&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,transition:!0,units:&quot;pixels&quot;},&quot;circle-translate-anchor&quot;:{type:&quot;enum&quot;,function:&quot;piecewise-constant&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,values:[&quot;map&quot;,&quot;viewport&quot;],default:&quot;map&quot;,requires:[&quot;circle-translate&quot;]},&quot;circle-pitch-scale&quot;:{type:&quot;enum&quot;,function:&quot;piecewise-constant&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,values:[&quot;map&quot;,&quot;viewport&quot;],default:&quot;map&quot;}},paint_symbol:{&quot;icon-opacity&quot;:{type:&quot;number&quot;,default:1,minimum:0,maximum:1,function:&quot;interpolated&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,transition:!0,requires:[&quot;icon-image&quot;]},&quot;icon-color&quot;:{type:&quot;color&quot;,default:&quot;#000000&quot;,function:&quot;interpolated&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,transition:!0,requires:[&quot;icon-image&quot;]},&quot;icon-halo-color&quot;:{type:&quot;color&quot;,default:&quot;rgba(0, 0, 0, 0)&quot;,function:&quot;interpolated&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,transition:!0,requires:[&quot;icon-image&quot;]},&quot;icon-halo-width&quot;:{type:&quot;number&quot;,default:0,minimum:0,function:&quot;interpolated&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,transition:!0,units:&quot;pixels&quot;,requires:[&quot;icon-image&quot;]},&quot;icon-halo-blur&quot;:{type:&quot;number&quot;,default:0,minimum:0,function:&quot;interpolated&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,transition:!0,units:&quot;pixels&quot;,requires:[&quot;icon-image&quot;]},&quot;icon-translate&quot;:{type:&quot;array&quot;,value:&quot;number&quot;,length:2,default:[0,0],function:&quot;interpolated&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,transition:!0,units:&quot;pixels&quot;,requires:[&quot;icon-image&quot;]},&quot;icon-translate-anchor&quot;:{type:&quot;enum&quot;,function:&quot;piecewise-constant&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,values:[&quot;map&quot;,&quot;viewport&quot;],default:&quot;map&quot;,requires:[&quot;icon-image&quot;,&quot;icon-translate&quot;]},&quot;text-opacity&quot;:{type:&quot;number&quot;,default:1,minimum:0,maximum:1,function:&quot;interpolated&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,transition:!0,requires:[&quot;text-field&quot;]},&quot;text-color&quot;:{type:&quot;color&quot;,default:&quot;#000000&quot;,function:&quot;interpolated&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,transition:!0,requires:[&quot;text-field&quot;]},&quot;text-halo-color&quot;:{type:&quot;color&quot;,default:&quot;rgba(0, 0, 0, 0)&quot;,function:&quot;interpolated&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,transition:!0,requires:[&quot;text-field&quot;]},&quot;text-halo-width&quot;:{type:&quot;number&quot;,default:0,minimum:0,function:&quot;interpolated&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,transition:!0,units:&quot;pixels&quot;,requires:[&quot;text-field&quot;]},&quot;text-halo-blur&quot;:{type:&quot;number&quot;,default:0,minimum:0,function:&quot;interpolated&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,transition:!0,units:&quot;pixels&quot;,requires:[&quot;text-field&quot;]},&quot;text-translate&quot;:{type:&quot;array&quot;,value:&quot;number&quot;,length:2,default:[0,0],function:&quot;interpolated&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,transition:!0,units:&quot;pixels&quot;,requires:[&quot;text-field&quot;]},&quot;text-translate-anchor&quot;:{type:&quot;enum&quot;,function:&quot;piecewise-constant&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,values:[&quot;map&quot;,&quot;viewport&quot;],default:&quot;map&quot;,requires:[&quot;text-field&quot;,&quot;text-translate&quot;]}},paint_raster:{&quot;raster-opacity&quot;:{type:&quot;number&quot;,default:1,minimum:0,maximum:1,function:&quot;interpolated&quot;,&quot;zoom-function&quot;:!0,transition:!0},&quot;raster-hue-rotate&quot;:{type:&quot;number&quot;,default:0,period:360,function:&quot;interpolated&quot;,&quot;zoom-function&quot;:!0,transition:!0,units:&quot;degrees&quot;},&quot;raster-brightness-min&quot;:{type:&quot;number&quot;,function:&quot;interpolated&quot;,&quot;zoom-function&quot;:!0,default:0,minimum:0,maximum:1,transition:!0},&quot;raster-brightness-max&quot;:{type:&quot;number&quot;,function:&quot;interpolated&quot;,&quot;zoom-function&quot;:!0,default:1,minimum:0,maximum:1,transition:!0},&quot;raster-saturation&quot;:{type:&quot;number&quot;,default:0,minimum:-1,maximum:1,function:&quot;interpolated&quot;,&quot;zoom-function&quot;:!0,transition:!0},&quot;raster-contrast&quot;:{type:&quot;number&quot;,default:0,minimum:-1,maximum:1,function:&quot;interpolated&quot;,&quot;zoom-function&quot;:!0,transition:!0},&quot;raster-fade-duration&quot;:{type:&quot;number&quot;,default:300,minimum:0,function:&quot;interpolated&quot;,&quot;zoom-function&quot;:!0,transition:!0,units:&quot;milliseconds&quot;}},paint_background:{&quot;background-color&quot;:{type:&quot;color&quot;,default:&quot;#000000&quot;,function:&quot;interpolated&quot;,&quot;zoom-function&quot;:!0,transition:!0,requires:[{&quot;!&quot;:&quot;background-pattern&quot;}]},&quot;background-pattern&quot;:{type:&quot;string&quot;,function:&quot;piecewise-constant&quot;,&quot;zoom-function&quot;:!0,transition:!0},&quot;background-opacity&quot;:{type:&quot;number&quot;,default:1,minimum:0,maximum:1,function:&quot;interpolated&quot;,&quot;zoom-function&quot;:!0,transition:!0}},transition:{duration:{type:&quot;number&quot;,default:300,minimum:0,units:&quot;milliseconds&quot;},delay:{type:&quot;number&quot;,default:0,minimum:0,units:&quot;milliseconds&quot;}}}},{}],318:[function(t,e,r){&quot;use strict&quot;;function n(t){return!!(&quot;undefined&quot;!=typeof window&amp;&amp;&quot;undefined&quot;!=typeof document&amp;&amp;Array.prototype&amp;&amp;Array.prototype.every&amp;&amp;Array.prototype.filter&amp;&amp;Array.prototype.forEach&amp;&amp;Array.prototype.indexOf&amp;&amp;Array.prototype.lastIndexOf&amp;&amp;Array.prototype.map&amp;&amp;Array.prototype.some&amp;&amp;Array.prototype.reduce&amp;&amp;Array.prototype.reduceRight&amp;&amp;Array.isArray&amp;&amp;Function.prototype&amp;&amp;Function.prototype.bind&amp;&amp;Object.keys&amp;&amp;Object.create&amp;&amp;Object.getPrototypeOf&amp;&amp;Object.getOwnPropertyNames&amp;&amp;Object.isSealed&amp;&amp;Object.isFrozen&amp;&amp;Object.isExtensible&amp;&amp;Object.getOwnPropertyDescriptor&amp;&amp;Object.defineProperty&amp;&amp;Object.defineProperties&amp;&amp;Object.seal&amp;&amp;Object.freeze&amp;&amp;Object.preventExtensions&amp;&amp;&quot;JSON&quot;in window&amp;&amp;&quot;parse&quot;in JSON&amp;&amp;&quot;stringify&quot;in JSON&amp;&amp;&quot;Worker&quot;in window&amp;&amp;&quot;Uint8ClampedArray&quot;in window&amp;&amp;function(t){void 0===i[t]&amp;&amp;(i[t]=function(t){var e=document.createElement(&quot;canvas&quot;),r=Object.create(n.webGLContextAttributes);return r.failIfMajorPerformanceCaveat=t,e.probablySupportsContext?e.probablySupportsContext(&quot;webgl&quot;,r)||e.probablySupportsContext(&quot;experimental-webgl&quot;,r):e.supportsContext?e.supportsContext(&quot;webgl&quot;,r)||e.supportsContext(&quot;experimental-webgl&quot;,r):e.getContext(&quot;webgl&quot;,r)||e.getContext(&quot;experimental-webgl&quot;,r)}(t));return i[t]}(t&amp;&amp;t.failIfMajorPerformanceCaveat))}void 0!==e&amp;&amp;e.exports?e.exports=n:window&amp;&amp;(window.mapboxgl=window.mapboxgl||{},window.mapboxgl.supported=n);var i={};n.webGLContextAttributes={antialias:!1,alpha:!0,stencil:!0,depth:!0}},{}],319:[function(t,e,r){&quot;use strict&quot;;function n(t){var e=t.layoutVertexArrayType;this.layoutVertexArray=new e;var r=t.elementArrayType;r&amp;&amp;(this.elementArray=new r);var n=t.elementArrayType2;n&amp;&amp;(this.elementArray2=new n),this.paintVertexArrays=i.mapObject(t.paintVertexArrayTypes,function(t){return new t})}var i=t(&quot;../util/util&quot;);e.exports=n,n.MAX_VERTEX_ARRAY_LENGTH=Math.pow(2,16)-1,n.prototype.hasCapacityFor=function(t){return this.layoutVertexArray.length+t&lt;=n.MAX_VERTEX_ARRAY_LENGTH},n.prototype.isEmpty=function(){return 0===this.layoutVertexArray.length},n.prototype.trim=function(){this.layoutVertexArray.trim(),this.elementArray&amp;&amp;this.elementArray.trim(),this.elementArray2&amp;&amp;this.elementArray2.trim();for(var t in this.paintVertexArrays)this.paintVertexArrays[t].trim()},n.prototype.serialize=function(){return{layoutVertexArray:this.layoutVertexArray.serialize(),elementArray:this.elementArray&amp;&amp;this.elementArray.serialize(),elementArray2:this.elementArray2&amp;&amp;this.elementArray2.serialize(),paintVertexArrays:i.mapObject(this.paintVertexArrays,function(t){return t.serialize()})}},n.prototype.getTransferables=function(t){t.push(this.layoutVertexArray.arrayBuffer),this.elementArray&amp;&amp;t.push(this.elementArray.arrayBuffer),this.elementArray2&amp;&amp;t.push(this.elementArray2.arrayBuffer);for(var e in this.paintVertexArrays)t.push(this.paintVertexArrays[e].arrayBuffer)}},{&quot;../util/util&quot;:433}],320:[function(t,e,r){&quot;use strict&quot;;function n(t){if(this.zoom=t.zoom,this.overscaling=t.overscaling,this.layer=t.layer,this.childLayers=t.childLayers,this.type=this.layer.type,this.features=[],this.id=this.layer.id,this.index=t.index,this.sourceLayer=this.layer.sourceLayer,this.sourceLayerIndex=t.sourceLayerIndex,this.minZoom=this.layer.minzoom,this.maxZoom=this.layer.maxzoom,this.paintAttributes=function(t){var e={};for(var r in t.programInterfaces){for(var n=e[r]={},a=0;a&lt;t.childLayers.length;a++){var o=t.childLayers[a];n[o.id]={attributes:[],uniforms:[],defines:[],vertexPragmas:{define:{},initialize:{}},fragmentPragmas:{define:{},initialize:{}}}}var s=t.programInterfaces[r];if(s.paintAttributes)for(var c=&quot;{precision}&quot;,f=&quot;{type}&quot;,h=0;h&lt;s.paintAttributes.length;h++){var d=s.paintAttributes[h];d.multiplier=d.multiplier||1;for(var p=0;p&lt;t.childLayers.length;p++){var m=t.childLayers[p],g=n[m.id],v=d.name;u(&quot;a_&quot;===d.name.slice(0,2));var y,x=d.name.slice(2);if(g.fragmentPragmas.initialize[x]=&quot;&quot;,m.isPaintValueFeatureConstant(d.paintProperty))g.uniforms.push(d),g.fragmentPragmas.define[x]=g.vertexPragmas.define[x]=[&quot;uniform&quot;,c,f,v].join(&quot; &quot;)+&quot;;&quot;,g.fragmentPragmas.initialize[x]=g.vertexPragmas.initialize[x]=[c,f,x,&quot;=&quot;,v].join(&quot; &quot;)+&quot;;\n&quot;;else if(m.isPaintValueZoomConstant(d.paintProperty)){g.attributes.push(l.extend({},d,{name:v})),y=[&quot;varying&quot;,c,f,x].join(&quot; &quot;)+&quot;;\n&quot;;var b=[g.fragmentPragmas.define[x],&quot;attribute&quot;,c,f,v].join(&quot; &quot;)+&quot;;\n&quot;;g.fragmentPragmas.define[x]=y,g.vertexPragmas.define[x]=y+b,g.vertexPragmas.initialize[x]=[x,&quot;=&quot;,v,&quot;/&quot;,d.multiplier.toFixed(1)].join(&quot; &quot;)+&quot;;\n&quot;}else{for(var _=&quot;u_&quot;+v.slice(2)+&quot;_t&quot;,w=m.getPaintValueStopZoomLevels(d.paintProperty),M=0;M&lt;w.length&amp;&amp;w[M]&lt;t.zoom;)M++;for(var k=Math.max(0,Math.min(w.length-4,M-2)),A=[],T=0;T&lt;4;T++)A.push(w[Math.min(k+T,w.length-1)]);y=[&quot;varying&quot;,c,f,x].join(&quot; &quot;)+&quot;;\n&quot;,g.vertexPragmas.define[x]=y+[&quot;uniform&quot;,&quot;lowp&quot;,&quot;float&quot;,_].join(&quot; &quot;)+&quot;;\n&quot;,g.fragmentPragmas.define[x]=y,g.uniforms.push(l.extend({},d,{name:_,getValue:function(t,e){return function(r,n){var i=r.getPaintInterpolationT(t.paintProperty,n.zoom);return[Math.max(0,Math.min(4,i-e))]}}(d,k),components:1}));var S=d.components;if(1===S)g.attributes.push(l.extend({},d,{getValue:i(d,A),isFunction:!0,components:4*S})),g.vertexPragmas.define[x]+=[&quot;attribute&quot;,c,&quot;vec4&quot;,v].join(&quot; &quot;)+&quot;;\n&quot;,g.vertexPragmas.initialize[x]=[x,&quot;=&quot;,&quot;evaluate_zoom_function_1(&quot;+v+&quot;, &quot;+_+&quot;)&quot;,&quot;/&quot;,d.multiplier.toFixed(1)].join(&quot; &quot;)+&quot;;\n&quot;;else{for(var E=[],L=0;L&lt;4;L++)E.push(v+L),g.attributes.push(l.extend({},d,{getValue:i(d,[A[L]]),isFunction:!0,name:v+L})),g.vertexPragmas.define[x]+=[&quot;attribute&quot;,c,f,v+L].join(&quot; &quot;)+&quot;;\n&quot;;g.vertexPragmas.initialize[x]=[x,&quot; = &quot;,&quot;evaluate_zoom_function_4(&quot;+E.join(&quot;, &quot;)+&quot;, &quot;+_+&quot;)&quot;,&quot;/&quot;,d.multiplier.toFixed(1)].join(&quot; &quot;)+&quot;;\n&quot;}}}}}return e}(this),t.arrays){var e=this.programInterfaces;this.bufferGroups=l.mapObject(t.arrays,function(r,n){var i=e[n],a=t.paintVertexArrayTypes[n];return r.map(function(t){return new s(t,{layoutVertexArrayType:i.layoutVertexArrayType.serialize(),elementArrayType:i.elementArrayType&amp;&amp;i.elementArrayType.serialize(),elementArrayType2:i.elementArrayType2&amp;&amp;i.elementArrayType2.serialize(),paintVertexArrayTypes:a})})})}}function i(t,e){return function(r,n,i){if(1===e.length)return t.getValue(r,l.extend({},n,{zoom:e[0]}),i);for(var a=[],o=0;o&lt;e.length;o++){var s=e[o];a.push(t.getValue(r,l.extend({},n,{zoom:s}),i)[0])}return a}}var a=t(&quot;feature-filter&quot;),o=t(&quot;./array_group&quot;),s=t(&quot;./buffer_group&quot;),l=t(&quot;../util/util&quot;),c=t(&quot;../util/struct_array&quot;),u=t(&quot;assert&quot;);e.exports=n,n.create=function(e){return new({fill:t(&quot;./bucket/fill_bucket&quot;),line:t(&quot;./bucket/line_bucket&quot;),circle:t(&quot;./bucket/circle_bucket&quot;),symbol:t(&quot;./bucket/symbol_bucket&quot;)}[e.layer.type])(e)},n.EXTENT=8192,n.prototype.populateArrays=function(){this.createArrays(),this.recalculateStyleLayers();for(var t=0;t&lt;this.features.length;t++)this.addFeature(this.features[t]);this.trimArrays()},n.prototype.prepareArrayGroup=function(t,e){var r=this.arrayGroups[t],n=r.length&amp;&amp;r[r.length-1];return n&amp;&amp;n.hasCapacityFor(e)||((n=new o({layoutVertexArrayType:this.programInterfaces[t].layoutVertexArrayType,elementArrayType:this.programInterfaces[t].elementArrayType,elementArrayType2:this.programInterfaces[t].elementArrayType2,paintVertexArrayTypes:this.paintVertexArrayTypes[t]})).index=r.length,r.push(n)),n},n.prototype.createArrays=function(){this.arrayGroups={},this.paintVertexArrayTypes={};for(var t in this.programInterfaces){this.arrayGroups[t]=[];var e=this.paintVertexArrayTypes[t]={},r=this.paintAttributes[t];for(var i in r)e[i]=new n.VertexArrayType(r[i].attributes)}},n.prototype.destroy=function(t){for(var e in this.bufferGroups)for(var r=this.bufferGroups[e],n=0;n&lt;r.length;n++)r[n].destroy(t)},n.prototype.trimArrays=function(){for(var t in this.arrayGroups)for(var e=this.arrayGroups[t],r=0;r&lt;e.length;r++)e[r].trim()},n.prototype.isEmpty=function(){for(var t in this.arrayGroups)for(var e=this.arrayGroups[t],r=0;r&lt;e.length;r++)if(!e[r].isEmpty())return!1;return!0},n.prototype.getTransferables=function(t){for(var e in this.arrayGroups)for(var r=this.arrayGroups[e],n=0;n&lt;r.length;n++)r[n].getTransferables(t)},n.prototype.setUniforms=function(t,e,r,n,i){for(var a=this.paintAttributes[e][n.id].uniforms,o=0;o&lt;a.length;o++){var s=a[o],l=r[s.name];t[&quot;uniform&quot;+s.components+&quot;fv&quot;](l,s.getValue(n,i))}},n.prototype.serialize=function(){return{layerId:this.layer.id,zoom:this.zoom,arrays:l.mapObject(this.arrayGroups,function(t){return t.map(function(t){return t.serialize()})}),paintVertexArrayTypes:l.mapObject(this.paintVertexArrayTypes,function(t){return l.mapObject(t,function(t){return t.serialize()})}),childLayerIds:this.childLayers.map(function(t){return t.id})}},n.prototype.createFilter=function(){this.filter||(this.filter=a(this.layer.filter))};var f={lastIntegerZoom:1/0,lastIntegerZoomTime:0,lastZoom:0};n.prototype.recalculateStyleLayers=function(){for(var t=0;t&lt;this.childLayers.length;t++)this.childLayers[t].recalculate(this.zoom,f)},n.prototype.populatePaintArrays=function(t,e,r,n,i){for(var a=0;a&lt;this.childLayers.length;a++)for(var o=this.childLayers[a],s=this.arrayGroups[t],l=n.index;l&lt;s.length;l++){var c=s[l],u=c.layoutVertexArray.length,f=c.paintVertexArrays[o.id];f.resize(u);for(var h=this.paintAttributes[t][o.id].attributes,d=0;d&lt;h.length;d++)for(var p=h[d],m=p.getValue(o,e,r),g=p.multiplier||1,v=p.components||1,y=l===n.index?i:0;y&lt;u;y++)for(var x=f.get(y),b=0;b&lt;v;b++){x[v&gt;1?p.name+b:p.name]=m[b]*g}}},n.VertexArrayType=function(t){return new c({members:t,alignment:4})},n.ElementArrayType=function(t){return new c({members:[{type:&quot;Uint16&quot;,name:&quot;vertices&quot;,components:t||3}]})}},{&quot;../util/struct_array&quot;:431,&quot;../util/util&quot;:433,&quot;./array_group&quot;:319,&quot;./bucket/circle_bucket&quot;:321,&quot;./bucket/fill_bucket&quot;:322,&quot;./bucket/line_bucket&quot;:323,&quot;./bucket/symbol_bucket&quot;:324,&quot;./buffer_group&quot;:326,assert:51,&quot;feature-filter&quot;:141}],321:[function(t,e,r){&quot;use strict&quot;;function n(){i.apply(this,arguments)}var i=t(&quot;../bucket&quot;),a=t(&quot;../../util/util&quot;),o=t(&quot;../load_geometry&quot;),s=i.EXTENT;e.exports=n,(n.prototype=a.inherit(i,{})).addCircleVertex=function(t,e,r,n,i){return t.emplaceBack(2*e+(n+1)/2,2*r+(i+1)/2)},n.prototype.programInterfaces={circle:{layoutVertexArrayType:new i.VertexArrayType([{name:&quot;a_pos&quot;,components:2,type:&quot;Int16&quot;}]),elementArrayType:new i.ElementArrayType,paintAttributes:[{name:&quot;a_color&quot;,components:4,type:&quot;Uint8&quot;,getValue:function(t,e,r){return t.getPaintValue(&quot;circle-color&quot;,e,r)},multiplier:255,paintProperty:&quot;circle-color&quot;},{name:&quot;a_radius&quot;,components:1,type:&quot;Uint16&quot;,isLayerConstant:!1,getValue:function(t,e,r){return[t.getPaintValue(&quot;circle-radius&quot;,e,r)]},multiplier:10,paintProperty:&quot;circle-radius&quot;},{name:&quot;a_blur&quot;,components:1,type:&quot;Uint16&quot;,isLayerConstant:!1,getValue:function(t,e,r){return[t.getPaintValue(&quot;circle-blur&quot;,e,r)]},multiplier:10,paintProperty:&quot;circle-blur&quot;},{name:&quot;a_opacity&quot;,components:1,type:&quot;Uint16&quot;,isLayerConstant:!1,getValue:function(t,e,r){return[t.getPaintValue(&quot;circle-opacity&quot;,e,r)]},multiplier:255,paintProperty:&quot;circle-opacity&quot;}]}},n.prototype.addFeature=function(t){for(var e={zoom:this.zoom},r=o(t),n=this.prepareArrayGroup(&quot;circle&quot;,0),i=n.layoutVertexArray.length,a=0;a&lt;r.length;a++)for(var l=0;l&lt;r[a].length;l++){var c=r[a][l].x,u=r[a][l].y;if(!(c&lt;0||c&gt;=s||u&lt;0||u&gt;=s)){var f=this.prepareArrayGroup(&quot;circle&quot;,4),h=f.layoutVertexArray,d=this.addCircleVertex(h,c,u,-1,-1);this.addCircleVertex(h,c,u,1,-1),this.addCircleVertex(h,c,u,1,1),this.addCircleVertex(h,c,u,-1,1),f.elementArray.emplaceBack(d,d+1,d+2),f.elementArray.emplaceBack(d,d+3,d+2)}}this.populatePaintArrays(&quot;circle&quot;,e,t.properties,n,i)}},{&quot;../../util/util&quot;:433,&quot;../bucket&quot;:320,&quot;../load_geometry&quot;:328}],322:[function(t,e,r){&quot;use strict&quot;;function n(){i.apply(this,arguments)}var i=t(&quot;../bucket&quot;),a=t(&quot;../../util/util&quot;),o=t(&quot;../load_geometry&quot;),s=t(&quot;earcut&quot;),l=t(&quot;../../util/classify_rings&quot;);e.exports=n,(n.prototype=a.inherit(i,{})).programInterfaces={fill:{layoutVertexArrayType:new i.VertexArrayType([{name:&quot;a_pos&quot;,components:2,type:&quot;Int16&quot;}]),elementArrayType:new i.ElementArrayType(1),elementArrayType2:new i.ElementArrayType(2),paintAttributes:[{name:&quot;a_color&quot;,components:4,type:&quot;Uint8&quot;,getValue:function(t,e,r){return t.getPaintValue(&quot;fill-color&quot;,e,r)},multiplier:255,paintProperty:&quot;fill-color&quot;},{name:&quot;a_outline_color&quot;,components:4,type:&quot;Uint8&quot;,getValue:function(t,e,r){return t.getPaintValue(&quot;fill-outline-color&quot;,e,r)},multiplier:255,paintProperty:&quot;fill-outline-color&quot;},{name:&quot;a_opacity&quot;,components:1,type:&quot;Uint8&quot;,getValue:function(t,e,r){return[t.getPaintValue(&quot;fill-opacity&quot;,e,r)]},multiplier:255,paintProperty:&quot;fill-opacity&quot;}]}},n.prototype.addFeature=function(t){for(var e=o(t),r=l(e,500),n=this.prepareArrayGroup(&quot;fill&quot;,0),i=n.layoutVertexArray.length,a=0;a&lt;r.length;a++)this.addPolygon(r[a]);this.populatePaintArrays(&quot;fill&quot;,{zoom:this.zoom},t.properties,n,i)},n.prototype.addPolygon=function(t){for(var e=0,r=0;r&lt;t.length;r++)e+=t[r].length;for(var n=this.prepareArrayGroup(&quot;fill&quot;,e),i=[],a=[],o=n.layoutVertexArray.length,l=0;l&lt;t.length;l++){var c=t[l];l&gt;0&amp;&amp;a.push(i.length/2);for(var u=0;u&lt;c.length;u++){var f=c[u],h=n.layoutVertexArray.emplaceBack(f.x,f.y);u&gt;=1&amp;&amp;n.elementArray2.emplaceBack(h-1,h),i.push(f.x),i.push(f.y)}}for(var d=s(i,a),p=0;p&lt;d.length;p++)n.elementArray.emplaceBack(d[p]+o)}},{&quot;../../util/classify_rings&quot;:421,&quot;../../util/util&quot;:433,&quot;../bucket&quot;:320,&quot;../load_geometry&quot;:328,earcut:135}],323:[function(t,e,r){&quot;use strict&quot;;function n(){i.apply(this,arguments)}var i=t(&quot;../bucket&quot;),a=t(&quot;../../util/util&quot;),o=t(&quot;../load_geometry&quot;),s=i.EXTENT,l=Math.cos(Math.PI/180*37.5),c=Math.pow(2,14)/.5;e.exports=n,(n.prototype=a.inherit(i,{})).addLineVertex=function(t,e,r,n,i,a,o){return t.emplaceBack(e.x&lt;&lt;1|n,e.y&lt;&lt;1|i,Math.round(63*r.x)+128,Math.round(63*r.y)+128,1+(0===a?0:a&lt;0?-1:1)|(.5*o&amp;63)&lt;&lt;2,.5*o&gt;&gt;6)},n.prototype.programInterfaces={line:{layoutVertexArrayType:new i.VertexArrayType([{name:&quot;a_pos&quot;,components:2,type:&quot;Int16&quot;},{name:&quot;a_data&quot;,components:4,type:&quot;Uint8&quot;}]),elementArrayType:new i.ElementArrayType}},n.prototype.addFeature=function(t){for(var e=o(t,15),r=0;r&lt;e.length;r++)this.addLine(e[r],this.layer.layout[&quot;line-join&quot;],this.layer.layout[&quot;line-cap&quot;],this.layer.layout[&quot;line-miter-limit&quot;],this.layer.layout[&quot;line-round-limit&quot;])},n.prototype.addLine=function(t,e,r,n,i){for(var a=t.length;a&gt;2&amp;&amp;t[a-1].equals(t[a-2]);)a--;if(!(t.length&lt;2)){&quot;bevel&quot;===e&amp;&amp;(n=1.05);var o=s/(512*this.overscaling)*15,c=t[0],u=t[a-1],f=c.equals(u);if(this.prepareArrayGroup(&quot;line&quot;,10*a),2!==a||!f){this.distance=0;var h,d,p,m,g,v,y,x=r,b=f?&quot;butt&quot;:r,_=!0;this.e1=this.e2=this.e3=-1,f&amp;&amp;(h=t[a-2],g=c.sub(h)._unit()._perp());for(var w=0;w&lt;a;w++)if(!(p=f&amp;&amp;w===a-1?t[1]:t[w+1])||!t[w].equals(p)){g&amp;&amp;(m=g),h&amp;&amp;(d=h),h=t[w],g=p?p.sub(h)._unit()._perp():m;var M=(m=m||g).add(g)._unit(),k=M.x*g.x+M.y*g.y,A=1/k,T=k&lt;l&amp;&amp;d&amp;&amp;p;if(T&amp;&amp;w&gt;0){var S=h.dist(d);if(S&gt;2*o){var E=h.sub(h.sub(d)._mult(o/S)._round());this.distance+=E.dist(d),this.addCurrentVertex(E,this.distance,m.mult(1),0,0,!1),d=E}}var L=d&amp;&amp;p,C=L?e:p?x:b;if(L&amp;&amp;&quot;round&quot;===C&amp;&amp;(A&lt;i?C=&quot;miter&quot;:A&lt;=2&amp;&amp;(C=&quot;fakeround&quot;)),&quot;miter&quot;===C&amp;&amp;A&gt;n&amp;&amp;(C=&quot;bevel&quot;),&quot;bevel&quot;===C&amp;&amp;(A&gt;2&amp;&amp;(C=&quot;flipbevel&quot;),A&lt;n&amp;&amp;(C=&quot;miter&quot;)),d&amp;&amp;(this.distance+=h.dist(d)),&quot;miter&quot;===C)M._mult(A),this.addCurrentVertex(h,this.distance,M,0,0,!1);else if(&quot;flipbevel&quot;===C){if(A&gt;100)M=g.clone();else{var z=m.x*g.y-m.y*g.x&gt;0?-1:1,D=A*m.add(g).mag()/m.sub(g).mag();M._perp()._mult(D*z)}this.addCurrentVertex(h,this.distance,M,0,0,!1),this.addCurrentVertex(h,this.distance,M.mult(-1),0,0,!1)}else if(&quot;bevel&quot;===C||&quot;fakeround&quot;===C){var I=m.x*g.y-m.y*g.x&gt;0,P=-Math.sqrt(A*A-1);if(I?(y=0,v=P):(v=0,y=P),_||this.addCurrentVertex(h,this.distance,m,v,y,!1),&quot;fakeround&quot;===C){for(var O,F=Math.floor(8*(.5-(k-.5))),R=0;R&lt;F;R++)O=g.mult((R+1)/(F+1))._add(m)._unit(),this.addPieSliceVertex(h,this.distance,O,I);this.addPieSliceVertex(h,this.distance,M,I);for(var N=F-1;N&gt;=0;N--)O=m.mult((N+1)/(F+1))._add(g)._unit(),this.addPieSliceVertex(h,this.distance,O,I)}p&amp;&amp;this.addCurrentVertex(h,this.distance,g,-v,-y,!1)}else&quot;butt&quot;===C?(_||this.addCurrentVertex(h,this.distance,m,0,0,!1),p&amp;&amp;this.addCurrentVertex(h,this.distance,g,0,0,!1)):&quot;square&quot;===C?(_||(this.addCurrentVertex(h,this.distance,m,1,1,!1),this.e1=this.e2=-1),p&amp;&amp;this.addCurrentVertex(h,this.distance,g,-1,-1,!1)):&quot;round&quot;===C&amp;&amp;(_||(this.addCurrentVertex(h,this.distance,m,0,0,!1),this.addCurrentVertex(h,this.distance,m,1,1,!0),this.e1=this.e2=-1),p&amp;&amp;(this.addCurrentVertex(h,this.distance,g,-1,-1,!0),this.addCurrentVertex(h,this.distance,g,0,0,!1)));if(T&amp;&amp;w&lt;a-1){var j=h.dist(p);if(j&gt;2*o){var B=h.add(p.sub(h)._mult(o/j)._round());this.distance+=B.dist(h),this.addCurrentVertex(B,this.distance,g.mult(1),0,0,!1),h=B}}_=!1}}}},n.prototype.addCurrentVertex=function(t,e,r,n,i,a){var o,s=a?1:0,l=this.arrayGroups.line[this.arrayGroups.line.length-1],u=l.layoutVertexArray,f=l.elementArray;o=r.clone(),n&amp;&amp;o._sub(r.perp()._mult(n)),this.e3=this.addLineVertex(u,t,o,s,0,n,e),this.e1&gt;=0&amp;&amp;this.e2&gt;=0&amp;&amp;f.emplaceBack(this.e1,this.e2,this.e3),this.e1=this.e2,this.e2=this.e3,o=r.mult(-1),i&amp;&amp;o._sub(r.perp()._mult(i)),this.e3=this.addLineVertex(u,t,o,s,1,-i,e),this.e1&gt;=0&amp;&amp;this.e2&gt;=0&amp;&amp;f.emplaceBack(this.e1,this.e2,this.e3),this.e1=this.e2,this.e2=this.e3,e&gt;c/2&amp;&amp;(this.distance=0,this.addCurrentVertex(t,this.distance,r,n,i,a))},n.prototype.addPieSliceVertex=function(t,e,r,n){var i=n?1:0;r=r.mult(n?-1:1);var a=this.arrayGroups.line[this.arrayGroups.line.length-1],o=a.layoutVertexArray,s=a.elementArray;this.e3=this.addLineVertex(o,t,r,0,i,0,e),this.e1&gt;=0&amp;&amp;this.e2&gt;=0&amp;&amp;s.emplaceBack(this.e1,this.e2,this.e3),n?this.e2=this.e3:this.e1=this.e3}},{&quot;../../util/util&quot;:433,&quot;../bucket&quot;:320,&quot;../load_geometry&quot;:328}],324:[function(t,e,r){&quot;use strict&quot;;function n(t){o.apply(this,arguments),this.showCollisionBoxes=t.showCollisionBoxes,this.overscaling=t.overscaling,this.collisionBoxArray=t.collisionBoxArray,this.symbolQuadsArray=t.symbolQuadsArray,this.symbolInstancesArray=t.symbolInstancesArray,this.sdfIcons=t.sdfIcons,this.iconsNeedLinear=t.iconsNeedLinear,this.adjustedTextSize=t.adjustedTextSize,this.adjustedIconSize=t.adjustedIconSize,this.fontstack=t.fontstack}function i(t,e,r,n,i,a,o,s,l,c,u){return t.emplaceBack(e,r,Math.round(64*n),Math.round(64*i),a/4,o/4,10*(c||0),u,10*(s||0),10*Math.min(l||25,25))}var a=t(&quot;point-geometry&quot;),o=t(&quot;../bucket&quot;),s=t(&quot;../../symbol/anchor&quot;),l=t(&quot;../../symbol/get_anchors&quot;),c=t(&quot;../../util/token&quot;),u=t(&quot;../../symbol/quads&quot;),f=t(&quot;../../symbol/shaping&quot;),h=t(&quot;../../symbol/resolve_text&quot;),d=t(&quot;../../symbol/mergelines&quot;),p=t(&quot;../../symbol/clip_line&quot;),m=t(&quot;../../util/util&quot;),g=t(&quot;../load_geometry&quot;),v=t(&quot;../../symbol/collision_feature&quot;),y=f.shapeText,x=f.shapeIcon,b=u.getGlyphQuads,_=u.getIconQuads,w=o.EXTENT;e.exports=n,n.MAX_QUADS=65535,(n.prototype=m.inherit(o,{})).serialize=function(){var t=o.prototype.serialize.apply(this);return t.sdfIcons=this.sdfIcons,t.iconsNeedLinear=this.iconsNeedLinear,t.adjustedTextSize=this.adjustedTextSize,t.adjustedIconSize=this.adjustedIconSize,t.fontstack=this.fontstack,t};var M=new o.VertexArrayType([{name:&quot;a_pos&quot;,components:2,type:&quot;Int16&quot;},{name:&quot;a_offset&quot;,components:2,type:&quot;Int16&quot;},{name:&quot;a_texture_pos&quot;,components:2,type:&quot;Uint16&quot;},{name:&quot;a_data&quot;,components:4,type:&quot;Uint8&quot;}]),k=new o.ElementArrayType;n.prototype.addCollisionBoxVertex=function(t,e,r,n,i){return t.emplaceBack(e.x,e.y,Math.round(r.x),Math.round(r.y),10*n,10*i)},n.prototype.programInterfaces={glyph:{layoutVertexArrayType:M,elementArrayType:k},icon:{layoutVertexArrayType:M,elementArrayType:k},collisionBox:{layoutVertexArrayType:new o.VertexArrayType([{name:&quot;a_pos&quot;,components:2,type:&quot;Int16&quot;},{name:&quot;a_extrude&quot;,components:2,type:&quot;Int16&quot;},{name:&quot;a_data&quot;,components:2,type:&quot;Uint8&quot;}])}},n.prototype.populateArrays=function(t,e,r){var n={lastIntegerZoom:1/0,lastIntegerZoomTime:0,lastZoom:0};this.adjustedTextMaxSize=this.layer.getLayoutValue(&quot;text-size&quot;,{zoom:18,zoomHistory:n}),this.adjustedTextSize=this.layer.getLayoutValue(&quot;text-size&quot;,{zoom:this.zoom+1,zoomHistory:n}),this.adjustedIconMaxSize=this.layer.getLayoutValue(&quot;icon-size&quot;,{zoom:18,zoomHistory:n}),this.adjustedIconSize=this.layer.getLayoutValue(&quot;icon-size&quot;,{zoom:this.zoom+1,zoomHistory:n});var i=512*this.overscaling;this.tilePixelRatio=w/i,this.compareText={},this.iconsNeedLinear=!1,this.symbolInstancesStartIndex=this.symbolInstancesArray.length;var a=this.layer.layout,o=this.features,s=this.textFeatures,l=.5,u=.5;switch(a[&quot;text-anchor&quot;]){case&quot;right&quot;:case&quot;top-right&quot;:case&quot;bottom-right&quot;:l=1;break;case&quot;left&quot;:case&quot;top-left&quot;:case&quot;bottom-left&quot;:l=0}switch(a[&quot;text-anchor&quot;]){case&quot;bottom&quot;:case&quot;bottom-right&quot;:case&quot;bottom-left&quot;:u=1;break;case&quot;top&quot;:case&quot;top-right&quot;:case&quot;top-left&quot;:u=0}for(var f=&quot;right&quot;===a[&quot;text-justify&quot;]?1:&quot;left&quot;===a[&quot;text-justify&quot;]?0:.5,h=24*a[&quot;text-line-height&quot;],p=&quot;line&quot;!==a[&quot;symbol-placement&quot;]?24*a[&quot;text-max-width&quot;]:0,v=24*a[&quot;text-letter-spacing&quot;],b=[24*a[&quot;text-offset&quot;][0],24*a[&quot;text-offset&quot;][1]],_=this.fontstack=a[&quot;text-font&quot;].join(&quot;,&quot;),M=[],k=0;k&lt;o.length;k++)M.push(g(o[k]));if(&quot;line&quot;===a[&quot;symbol-placement&quot;]){var A=d(o,s,M);M=A.geometries,o=A.features,s=A.textFeatures}for(var T,S,E=0;E&lt;o.length;E++)if(M[E]){if(T=s[E]?y(s[E],e[_],p,h,l,u,f,v,b):null,a[&quot;icon-image&quot;]){var L=r[c(o[E].properties,a[&quot;icon-image&quot;])];S=x(L,a),L&amp;&amp;(void 0===this.sdfIcons?this.sdfIcons=L.sdf:this.sdfIcons!==L.sdf&amp;&amp;m.warnOnce(&quot;Style sheet warning: Cannot mix SDF and non-SDF icons in one buffer&quot;),1!==L.pixelRatio?this.iconsNeedLinear=!0:0===a[&quot;icon-rotate&quot;]&amp;&amp;this.layer.isLayoutValueFeatureConstant(&quot;icon-rotate&quot;)||(this.iconsNeedLinear=!0))}else S=null;(T||S)&amp;&amp;this.addFeature(M[E],T,S,o[E])}this.symbolInstancesEndIndex=this.symbolInstancesArray.length,this.placeFeatures(t,this.showCollisionBoxes),this.trimArrays()},n.prototype.addFeature=function(t,e,r,n){var i=this.layer.layout,a=this.adjustedTextSize/24,o=void 0!==this.adjustedTextMaxSize?this.adjustedTextMaxSize:this.adjustedTextSize,c=this.tilePixelRatio*a,u=this.tilePixelRatio*o/24,f=this.tilePixelRatio*this.adjustedIconSize,h=this.tilePixelRatio*i[&quot;symbol-spacing&quot;],d=i[&quot;symbol-avoid-edges&quot;],m=i[&quot;text-padding&quot;]*this.tilePixelRatio,g=i[&quot;icon-padding&quot;]*this.tilePixelRatio,v=i[&quot;text-max-angle&quot;]/180*Math.PI,y=&quot;map&quot;===i[&quot;text-rotation-alignment&quot;]&amp;&amp;&quot;line&quot;===i[&quot;symbol-placement&quot;],x=&quot;map&quot;===i[&quot;icon-rotation-alignment&quot;]&amp;&amp;&quot;line&quot;===i[&quot;symbol-placement&quot;],b=i[&quot;text-allow-overlap&quot;]||i[&quot;icon-allow-overlap&quot;]||i[&quot;text-ignore-placement&quot;]||i[&quot;icon-ignore-placement&quot;],_=&quot;line&quot;===i[&quot;symbol-placement&quot;],M=h/2;_&amp;&amp;(t=p(t,0,0,w,w));for(var k=0;k&lt;t.length;k++)for(var A,T=t[k],S=0,E=(A=_?l(T,h,v,e,r,24,u,this.overscaling,w):[new s(T[0].x,T[0].y,0)]).length;S&lt;E;S++){var L=A[S];if(!(e&amp;&amp;_&amp;&amp;this.anchorIsTooClose(e.text,M,L))){var C=!(L.x&lt;0||L.x&gt;w||L.y&lt;0||L.y&gt;w);if(!d||C){var z=C||b;this.addSymbolInstance(L,T,e,r,this.layer,z,this.symbolInstancesArray.length,this.collisionBoxArray,n.index,this.sourceLayerIndex,this.index,c,m,y,f,g,x,{zoom:this.zoom},n.properties)}}}},n.prototype.anchorIsTooClose=function(t,e,r){var n=this.compareText;if(t in n){for(var i=n[t],a=i.length-1;a&gt;=0;a--)if(r.dist(i[a])&lt;e)return!0}else n[t]=[];return n[t].push(r),!1},n.prototype.placeFeatures=function(t,e){this.recalculateStyleLayers(),this.createArrays();var r=this.layer.layout,n=t.maxScale,i=&quot;map&quot;===r[&quot;text-rotation-alignment&quot;]&amp;&amp;&quot;line&quot;===r[&quot;symbol-placement&quot;],a=&quot;map&quot;===r[&quot;icon-rotation-alignment&quot;]&amp;&amp;&quot;line&quot;===r[&quot;symbol-placement&quot;];if(r[&quot;text-allow-overlap&quot;]||r[&quot;icon-allow-overlap&quot;]||r[&quot;text-ignore-placement&quot;]||r[&quot;icon-ignore-placement&quot;]){var o=this.symbolInstancesArray.toArray(this.symbolInstancesStartIndex,this.symbolInstancesEndIndex),s=t.angle,l=Math.sin(s),c=Math.cos(s);this.sortedSymbolInstances=o.sort(function(t,e){return(l*t.anchorPointX+c*t.anchorPointY|0)-(l*e.anchorPointX+c*e.anchorPointY|0)||e.index-t.index})}for(var u=this.symbolInstancesStartIndex;u&lt;this.symbolInstancesEndIndex;u++){var f=this.sortedSymbolInstances?this.sortedSymbolInstances[u-this.symbolInstancesStartIndex]:this.symbolInstancesArray.get(u),h={boxStartIndex:f.textBoxStartIndex,boxEndIndex:f.textBoxEndIndex},d={boxStartIndex:f.iconBoxStartIndex,boxEndIndex:f.iconBoxEndIndex},p=!(f.textBoxStartIndex===f.textBoxEndIndex),m=!(f.iconBoxStartIndex===f.iconBoxEndIndex),g=r[&quot;text-optional&quot;]||!p,v=r[&quot;icon-optional&quot;]||!m,y=p?t.placeCollisionFeature(h,r[&quot;text-allow-overlap&quot;],r[&quot;symbol-avoid-edges&quot;]):t.minScale,x=m?t.placeCollisionFeature(d,r[&quot;icon-allow-overlap&quot;],r[&quot;symbol-avoid-edges&quot;]):t.minScale;g||v?!v&amp;&amp;y?y=Math.max(x,y):!g&amp;&amp;x&amp;&amp;(x=Math.max(x,y)):x=y=Math.max(x,y),p&amp;&amp;(t.insertCollisionFeature(h,y,r[&quot;text-ignore-placement&quot;]),y&lt;=n&amp;&amp;this.addSymbols(&quot;glyph&quot;,f.glyphQuadStartIndex,f.glyphQuadEndIndex,y,r[&quot;text-keep-upright&quot;],i,t.angle)),m&amp;&amp;(t.insertCollisionFeature(d,x,r[&quot;icon-ignore-placement&quot;]),x&lt;=n&amp;&amp;this.addSymbols(&quot;icon&quot;,f.iconQuadStartIndex,f.iconQuadEndIndex,x,r[&quot;icon-keep-upright&quot;],a,t.angle))}e&amp;&amp;this.addToDebugBuffers(t)},n.prototype.addSymbols=function(t,e,r,n,a,o,s){for(var l=this.prepareArrayGroup(t,4*(r-e)),c=l.elementArray,u=l.layoutVertexArray,f=this.zoom,h=Math.max(Math.log(n)/Math.LN2+f,0),d=e;d&lt;r;d++){var p=this.symbolQuadsArray.get(d).SymbolQuad,m=(p.anchorAngle+s+Math.PI)%(2*Math.PI);if(!(a&amp;&amp;o&amp;&amp;(m&lt;=Math.PI/2||m&gt;3*Math.PI/2))){var g=p.tl,v=p.tr,y=p.bl,x=p.br,b=p.tex,_=p.anchorPoint,w=Math.max(f+Math.log(p.minScale)/Math.LN2,h),M=Math.min(f+Math.log(p.maxScale)/Math.LN2,25);if(!(M&lt;=w)){w===h&amp;&amp;(w=0);var k=Math.round(p.glyphAngle/(2*Math.PI)*256),A=i(u,_.x,_.y,g.x,g.y,b.x,b.y,w,M,h,k);i(u,_.x,_.y,v.x,v.y,b.x+b.w,b.y,w,M,h,k),i(u,_.x,_.y,y.x,y.y,b.x,b.y+b.h,w,M,h,k),i(u,_.x,_.y,x.x,x.y,b.x+b.w,b.y+b.h,w,M,h,k),c.emplaceBack(A,A+1,A+2),c.emplaceBack(A+1,A+2,A+3)}}}},n.prototype.updateIcons=function(t){this.recalculateStyleLayers();var e=this.layer.layout[&quot;icon-image&quot;];if(e)for(var r=0;r&lt;this.features.length;r++){var n=c(this.features[r].properties,e);n&amp;&amp;(t[n]=!0)}},n.prototype.updateFont=function(t){this.recalculateStyleLayers();var e=this.layer.layout[&quot;text-font&quot;],r=t[e]=t[e]||{};this.textFeatures=h(this.features,this.layer.layout,r)},n.prototype.addToDebugBuffers=function(t){for(var e=this.prepareArrayGroup(&quot;collisionBox&quot;,0).layoutVertexArray,r=-t.angle,n=t.yStretch,i=this.symbolInstancesStartIndex;i&lt;this.symbolInstancesEndIndex;i++){var o=this.symbolInstancesArray.get(i);o.textCollisionFeature={boxStartIndex:o.textBoxStartIndex,boxEndIndex:o.textBoxEndIndex},o.iconCollisionFeature={boxStartIndex:o.iconBoxStartIndex,boxEndIndex:o.iconBoxEndIndex};for(var s=0;s&lt;2;s++){var l=o[0===s?&quot;textCollisionFeature&quot;:&quot;iconCollisionFeature&quot;];if(l)for(var c=l.boxStartIndex;c&lt;l.boxEndIndex;c++){var u=this.collisionBoxArray.get(c),f=u.anchorPoint,h=new a(u.x1,u.y1*n)._rotate(r),d=new a(u.x2,u.y1*n)._rotate(r),p=new a(u.x1,u.y2*n)._rotate(r),m=new a(u.x2,u.y2*n)._rotate(r),g=Math.max(0,Math.min(25,this.zoom+Math.log(u.maxScale)/Math.LN2)),v=Math.max(0,Math.min(25,this.zoom+Math.log(u.placementScale)/Math.LN2));this.addCollisionBoxVertex(e,f,h,g,v),this.addCollisionBoxVertex(e,f,d,g,v),this.addCollisionBoxVertex(e,f,d,g,v),this.addCollisionBoxVertex(e,f,m,g,v),this.addCollisionBoxVertex(e,f,m,g,v),this.addCollisionBoxVertex(e,f,p,g,v),this.addCollisionBoxVertex(e,f,p,g,v),this.addCollisionBoxVertex(e,f,h,g,v)}}}},n.prototype.addSymbolInstance=function(t,e,r,i,a,o,s,l,c,u,f,h,d,p,g,y,x,w,M){var k,A,T,S,E,L,C,z;if(r&amp;&amp;(C=o?b(t,r,h,e,a,p):[],E=new v(l,e,t,c,u,f,r,h,d,p,!1)),k=this.symbolQuadsArray.length,C&amp;&amp;C.length)for(var D=0;D&lt;C.length;D++)this.addSymbolQuad(C[D]);A=this.symbolQuadsArray.length;var I=E?E.boxStartIndex:this.collisionBoxArray.length,P=E?E.boxEndIndex:this.collisionBoxArray.length;i&amp;&amp;(z=o?_(t,i,g,e,a,x,r,w,M):[],L=new v(l,e,t,c,u,f,i,g,y,x,!0)),T=this.symbolQuadsArray.length,z&amp;&amp;1===z.length&amp;&amp;this.addSymbolQuad(z[0]),S=this.symbolQuadsArray.length;var O=L?L.boxStartIndex:this.collisionBoxArray.length,F=L?L.boxEndIndex:this.collisionBoxArray.length;return S&gt;n.MAX_QUADS&amp;&amp;m.warnOnce(&quot;Too many symbols being rendered in a tile. See https://github.com/mapbox/mapbox-gl-js/issues/2907&quot;),A&gt;n.MAX_QUADS&amp;&amp;m.warnOnce(&quot;Too many glyphs being rendered in a tile. See https://github.com/mapbox/mapbox-gl-js/issues/2907&quot;),this.symbolInstancesArray.emplaceBack(I,P,O,F,k,A,T,S,t.x,t.y,s)},n.prototype.addSymbolQuad=function(t){return this.symbolQuadsArray.emplaceBack(t.anchorPoint.x,t.anchorPoint.y,t.tl.x,t.tl.y,t.tr.x,t.tr.y,t.bl.x,t.bl.y,t.br.x,t.br.y,t.tex.h,t.tex.w,t.tex.x,t.tex.y,t.anchorAngle,t.glyphAngle,t.maxScale,t.minScale)}},{&quot;../../symbol/anchor&quot;:382,&quot;../../symbol/clip_line&quot;:384,&quot;../../symbol/collision_feature&quot;:386,&quot;../../symbol/get_anchors&quot;:388,&quot;../../symbol/mergelines&quot;:391,&quot;../../symbol/quads&quot;:392,&quot;../../symbol/resolve_text&quot;:393,&quot;../../symbol/shaping&quot;:394,&quot;../../util/token&quot;:432,&quot;../../util/util&quot;:433,&quot;../bucket&quot;:320,&quot;../load_geometry&quot;:328,&quot;point-geometry&quot;:477}],325:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r){this.arrayBuffer=t.arrayBuffer,this.length=t.length,this.attributes=e.members,this.itemSize=e.bytesPerElement,this.type=r,this.arrayType=e}e.exports=n,n.prototype.bind=function(t){var e=t[this.type];this.buffer?t.bindBuffer(e,this.buffer):(this.buffer=t.createBuffer(),t.bindBuffer(e,this.buffer),t.bufferData(e,this.arrayBuffer,t.STATIC_DRAW),this.arrayBuffer=null)};var i={Int8:&quot;BYTE&quot;,Uint8:&quot;UNSIGNED_BYTE&quot;,Int16:&quot;SHORT&quot;,Uint16:&quot;UNSIGNED_SHORT&quot;};n.prototype.setVertexAttribPointers=function(t,e){for(var r=0;r&lt;this.attributes.length;r++){var n=this.attributes[r],a=e[n.name];void 0!==a&amp;&amp;t.vertexAttribPointer(a,n.components,t[i[n.type]],!1,this.arrayType.bytesPerElement,n.offset)}},n.prototype.destroy=function(t){this.buffer&amp;&amp;t.deleteBuffer(this.buffer)},n.BufferType={VERTEX:&quot;ARRAY_BUFFER&quot;,ELEMENT:&quot;ELEMENT_ARRAY_BUFFER&quot;}},{}],326:[function(t,e,r){&quot;use strict&quot;;function n(t,e){this.layoutVertexBuffer=new a(t.layoutVertexArray,e.layoutVertexArrayType,a.BufferType.VERTEX),t.elementArray&amp;&amp;(this.elementBuffer=new a(t.elementArray,e.elementArrayType,a.BufferType.ELEMENT));var r,n=this.vaos={};t.elementArray2&amp;&amp;(this.elementBuffer2=new a(t.elementArray2,e.elementArrayType2,a.BufferType.ELEMENT),r=this.secondVaos={}),this.paintVertexBuffers=i.mapObject(t.paintVertexArrays,function(i,s){return n[s]=new o,t.elementArray2&amp;&amp;(r[s]=new o),new a(i,e.paintVertexArrayTypes[s],a.BufferType.VERTEX)})}var i=t(&quot;../util/util&quot;),a=t(&quot;./buffer&quot;),o=t(&quot;../render/vertex_array_object&quot;);e.exports=n,n.prototype.destroy=function(t){this.layoutVertexBuffer.destroy(t),this.elementBuffer&amp;&amp;this.elementBuffer.destroy(t),this.elementBuffer2&amp;&amp;this.elementBuffer2.destroy(t);for(var e in this.paintVertexBuffers)this.paintVertexBuffers[e].destroy(t);for(var r in this.vaos)this.vaos[r].destroy(t);for(var n in this.secondVaos)this.secondVaos[n].destroy(t)}},{&quot;../render/vertex_array_object&quot;:348,&quot;../util/util&quot;:433,&quot;./buffer&quot;:325}],327:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r){if(t.grid){var n=t,i=e;t=n.coord,e=n.overscaling,this.grid=new d(n.grid),this.featureIndexArray=new M(n.featureIndexArray),this.rawTileData=i,this.bucketLayerIDs=n.bucketLayerIDs}else this.grid=new d(u,16,0),this.featureIndexArray=new M;this.coord=t,this.overscaling=e,this.x=t.x,this.y=t.y,this.z=t.z-Math.log(e)/Math.LN2,this.setCollisionTile(r)}function i(t){return Math.sqrt(t[0]*t[0]+t[1]*t[1])}function a(t,e){return e-t}function o(t){return t[&quot;line-gap-width&quot;]&gt;0?t[&quot;line-gap-width&quot;]+2*t[&quot;line-width&quot;]:t[&quot;line-width&quot;]}function s(t,e,r,n,i){if(!e[0]&amp;&amp;!e[1])return t;e=l.convert(e),&quot;viewport&quot;===r&amp;&amp;e._rotate(-n);for(var a=[],o=0;o&lt;t.length;o++){for(var s=t[o],c=[],u=0;u&lt;s.length;u++)c.push(s[u].sub(e._mult(i)));a.push(c)}return a}var l=t(&quot;point-geometry&quot;),c=t(&quot;./load_geometry&quot;),u=t(&quot;./bucket&quot;).EXTENT,f=t(&quot;feature-filter&quot;),h=t(&quot;../util/struct_array&quot;),d=t(&quot;grid-index&quot;),p=t(&quot;../util/dictionary_coder&quot;),m=t(&quot;vector-tile&quot;),g=t(&quot;pbf&quot;),v=t(&quot;../util/vectortile_to_geojson&quot;),y=t(&quot;../util/util&quot;).arraysIntersect,x=t(&quot;../util/intersection_tests&quot;),b=x.multiPolygonIntersectsBufferedMultiPoint,_=x.multiPolygonIntersectsMultiPolygon,w=x.multiPolygonIntersectsBufferedMultiLine,M=new h({members:[{type:&quot;Uint32&quot;,name:&quot;featureIndex&quot;},{type:&quot;Uint16&quot;,name:&quot;sourceLayerIndex&quot;},{type:&quot;Uint16&quot;,name:&quot;bucketIndex&quot;}]});e.exports=n,n.prototype.insert=function(t,e,r,n){var i=this.featureIndexArray.length;this.featureIndexArray.emplaceBack(e,r,n);for(var a=c(t),o=0;o&lt;a.length;o++){for(var s=a[o],l=[1/0,1/0,-1/0,-1/0],u=0;u&lt;s.length;u++){var f=s[u];l[0]=Math.min(l[0],f.x),l[1]=Math.min(l[1],f.y),l[2]=Math.max(l[2],f.x),l[3]=Math.max(l[3],f.y)}this.grid.insert(i,l[0],l[1],l[2],l[3])}},n.prototype.setCollisionTile=function(t){this.collisionTile=t},n.prototype.serialize=function(){var t={coord:this.coord,overscaling:this.overscaling,grid:this.grid.toArrayBuffer(),featureIndexArray:this.featureIndexArray.serialize(),bucketLayerIDs:this.bucketLayerIDs};return{data:t,transferables:[t.grid,t.featureIndexArray.arrayBuffer]}},n.prototype.query=function(t,e){this.vtLayers||(this.vtLayers=new m.VectorTile(new g(new Uint8Array(this.rawTileData))).layers,this.sourceLayerCoder=new p(this.vtLayers?Object.keys(this.vtLayers).sort():[&quot;_geojsonTileLayer&quot;]));var r={},n=t.params||{},s=u/t.tileSize/t.scale,c=f(n.filter),h=0;for(var d in e){var v=e[d],y=v.paint,x=0;&quot;line&quot;===v.type?x=o(y)/2+Math.abs(y[&quot;line-offset&quot;])+i(y[&quot;line-translate&quot;]):&quot;fill&quot;===v.type?x=i(y[&quot;fill-translate&quot;]):&quot;circle&quot;===v.type&amp;&amp;(x=y[&quot;circle-radius&quot;]+i(y[&quot;circle-translate&quot;])),h=Math.max(h,x*s)}for(var b=t.queryGeometry.map(function(t){return t.map(function(t){return new l(t.x,t.y)})}),_=1/0,w=1/0,M=-1/0,k=-1/0,A=0;A&lt;b.length;A++)for(var T=b[A],S=0;S&lt;T.length;S++){var E=T[S];_=Math.min(_,E.x),w=Math.min(w,E.y),M=Math.max(M,E.x),k=Math.max(k,E.y)}var L=this.grid.query(_-h,w-h,M+h,k+h);L.sort(a),this.filterMatching(r,L,this.featureIndexArray,b,c,n.layers,e,t.bearing,s);var C=this.collisionTile.queryRenderedSymbols(_,w,M,k,t.scale);return C.sort(),this.filterMatching(r,C,this.collisionTile.collisionBoxArray,b,c,n.layers,e,t.bearing,s),r},n.prototype.filterMatching=function(t,e,r,n,i,a,u,f,h){for(var d,p=0;p&lt;e.length;p++){var m=e[p];if(m!==d){d=m;var g=r.get(m),x=this.bucketLayerIDs[g.bucketIndex];if(!a||y(a,x)){var M=this.sourceLayerCoder.decode(g.sourceLayerIndex),k=this.vtLayers[M].feature(g.featureIndex);if(i(k))for(var A=null,T=0;T&lt;x.length;T++){var S=x[T];if(!(a&amp;&amp;a.indexOf(S)&lt;0)){var E=u[S];if(E){var L;if(&quot;symbol&quot;!==E.type){A||(A=c(k));var C=E.paint;if(&quot;line&quot;===E.type){L=s(n,C[&quot;line-translate&quot;],C[&quot;line-translate-anchor&quot;],f,h);var z=o(C)/2*h;if(C[&quot;line-offset&quot;]&amp;&amp;(A=function(t,e){for(var r=[],n=new l(0,0),i=0;i&lt;t.length;i++){for(var a=t[i],o=[],s=0;s&lt;a.length;s++){var c=a[s-1],u=a[s],f=a[s+1],h=0===s?n:u.sub(c)._unit()._perp(),d=s===a.length-1?n:f.sub(u)._unit()._perp(),p=h._add(d)._unit(),m=p.x*d.x+p.y*d.y;p._mult(1/m),o.push(p._mult(e)._add(u))}r.push(o)}return r}(A,C[&quot;line-offset&quot;]*h)),!w(L,A,z))continue}else if(&quot;fill&quot;===E.type){if(L=s(n,C[&quot;fill-translate&quot;],C[&quot;fill-translate-anchor&quot;],f,h),!_(L,A))continue}else if(&quot;circle&quot;===E.type){L=s(n,C[&quot;circle-translate&quot;],C[&quot;circle-translate-anchor&quot;],f,h);var D=C[&quot;circle-radius&quot;]*h;if(!b(L,A,D))continue}}var I=new v(k,this.z,this.x,this.y);I.layer=E.serialize({includeRefProperties:!0});var P=t[S];void 0===P&amp;&amp;(P=t[S]=[]),P.push(I)}}}}}}}},{&quot;../util/dictionary_coder&quot;:423,&quot;../util/intersection_tests&quot;:428,&quot;../util/struct_array&quot;:431,&quot;../util/util&quot;:433,&quot;../util/vectortile_to_geojson&quot;:434,&quot;./bucket&quot;:320,&quot;./load_geometry&quot;:328,&quot;feature-filter&quot;:141,&quot;grid-index&quot;:275,pbf:470,&quot;point-geometry&quot;:477,&quot;vector-tile&quot;:564}],328:[function(t,e,r){&quot;use strict&quot;;function n(t){return{min:-1*Math.pow(2,t-1),max:Math.pow(2,t-1)-1}}var i=t(&quot;../util/util&quot;),a=t(&quot;./bucket&quot;).EXTENT,o=t(&quot;assert&quot;),s={15:n(15),16:n(16)};e.exports=function(t,e){var r=s[e||16];o(r);for(var n=a/t.extent,l=t.loadGeometry(),c=0;c&lt;l.length;c++)for(var u=l[c],f=0;f&lt;u.length;f++){var h=u[f];h.x=Math.round(h.x*n),h.y=Math.round(h.y*n),(h.x&lt;r.min||h.x&gt;r.max||h.y&lt;r.min||h.y&gt;r.max)&amp;&amp;i.warnOnce(&quot;Geometry exceeds allowed extent, reduce your vector tile buffer size&quot;)}return l}},{&quot;../util/util&quot;:433,&quot;./bucket&quot;:320,assert:51}],329:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r){this.column=t,this.row=e,this.zoom=r}e.exports=n,n.prototype={clone:function(){return new n(this.column,this.row,this.zoom)},zoomTo:function(t){return this.clone()._zoomTo(t)},sub:function(t){return this.clone()._sub(t)},_zoomTo:function(t){var e=Math.pow(2,t-this.zoom);return this.column*=e,this.row*=e,this.zoom=t,this},_sub:function(t){return t=t.zoomTo(this.zoom),this.column-=t.column,this.row-=t.row,this}}},{}],330:[function(t,e,r){&quot;use strict&quot;;function n(t,e){if(isNaN(t)||isNaN(e))throw new Error(&quot;Invalid LngLat object: (&quot;+t+&quot;, &quot;+e+&quot;)&quot;);if(this.lng=+t,this.lat=+e,this.lat&gt;90||this.lat&lt;-90)throw new Error(&quot;Invalid LngLat latitude value: must be between -90 and 90&quot;)}e.exports=n;var i=t(&quot;../util/util&quot;).wrap;n.prototype.wrap=function(){return new n(i(this.lng,-180,180),this.lat)},n.prototype.toArray=function(){return[this.lng,this.lat]},n.prototype.toString=function(){return&quot;LngLat(&quot;+this.lng+&quot;, &quot;+this.lat+&quot;)&quot;},n.convert=function(t){return t instanceof n?t:Array.isArray(t)?new n(t[0],t[1]):t}},{&quot;../util/util&quot;:433}],331:[function(t,e,r){&quot;use strict&quot;;function n(t,e){t&amp;&amp;(e?this.extend(t).extend(e):4===t.length?this.extend([t[0],t[1]]).extend([t[2],t[3]]):this.extend(t[0]).extend(t[1]))}e.exports=n;var i=t(&quot;./lng_lat&quot;);n.prototype={extend:function(t){var e,r,a=this._sw,o=this._ne;if(t instanceof i)e=t,r=t;else{if(!(t instanceof n))return t?this.extend(i.convert(t)||n.convert(t)):this;if(e=t._sw,r=t._ne,!e||!r)return this}return a||o?(a.lng=Math.min(e.lng,a.lng),a.lat=Math.min(e.lat,a.lat),o.lng=Math.max(r.lng,o.lng),o.lat=Math.max(r.lat,o.lat)):(this._sw=new i(e.lng,e.lat),this._ne=new i(r.lng,r.lat)),this},getCenter:function(){return new i((this._sw.lng+this._ne.lng)/2,(this._sw.lat+this._ne.lat)/2)},getSouthWest:function(){return this._sw},getNorthEast:function(){return this._ne},getNorthWest:function(){return new i(this.getWest(),this.getNorth())},getSouthEast:function(){return new i(this.getEast(),this.getSouth())},getWest:function(){return this._sw.lng},getSouth:function(){return this._sw.lat},getEast:function(){return this._ne.lng},getNorth:function(){return this._ne.lat},toArray:function(){return[this._sw.toArray(),this._ne.toArray()]},toString:function(){return&quot;LngLatBounds(&quot;+this._sw.toString()+&quot;, &quot;+this._ne.toString()+&quot;)&quot;}},n.convert=function(t){return!t||t instanceof n?t:new n(t)}},{&quot;./lng_lat&quot;:330}],332:[function(t,e,r){&quot;use strict&quot;;function n(t,e){this.tileSize=512,this._minZoom=t||0,this._maxZoom=e||22,this.latRange=[-85.05113,85.05113],this.width=0,this.height=0,this._center=new i(0,0),this.zoom=0,this.angle=0,this._altitude=1.5,this._pitch=0,this._unmodified=!0}var i=t(&quot;./lng_lat&quot;),a=t(&quot;point-geometry&quot;),o=t(&quot;./coordinate&quot;),s=t(&quot;../util/util&quot;).wrap,l=t(&quot;../util/interpolate&quot;),c=t(&quot;../source/tile_coord&quot;),u=t(&quot;../data/bucket&quot;).EXTENT,f=t(&quot;gl-matrix&quot;),h=f.vec4,d=f.mat4,p=f.mat2;e.exports=n,n.prototype={get minZoom(){return this._minZoom},set minZoom(t){this._minZoom!==t&amp;&amp;(this._minZoom=t,this.zoom=Math.max(this.zoom,t))},get maxZoom(){return this._maxZoom},set maxZoom(t){this._maxZoom!==t&amp;&amp;(this._maxZoom=t,this.zoom=Math.min(this.zoom,t))},get worldSize(){return this.tileSize*this.scale},get centerPoint(){return this.size._div(2)},get size(){return new a(this.width,this.height)},get bearing(){return-this.angle/Math.PI*180},set bearing(t){var e=-s(t,-180,180)*Math.PI/180;this.angle!==e&amp;&amp;(this._unmodified=!1,this.angle=e,this._calcMatrices(),this.rotationMatrix=p.create(),p.rotate(this.rotationMatrix,this.rotationMatrix,this.angle))},get pitch(){return this._pitch/Math.PI*180},set pitch(t){var e=Math.min(60,t)/180*Math.PI;this._pitch!==e&amp;&amp;(this._unmodified=!1,this._pitch=e,this._calcMatrices())},get altitude(){return this._altitude},set altitude(t){var e=Math.max(.75,t);this._altitude!==e&amp;&amp;(this._unmodified=!1,this._altitude=e,this._calcMatrices())},get zoom(){return this._zoom},set zoom(t){var e=Math.min(Math.max(t,this.minZoom),this.maxZoom);this._zoom!==e&amp;&amp;(this._unmodified=!1,this._zoom=e,this.scale=this.zoomScale(e),this.tileZoom=Math.floor(e),this.zoomFraction=e-this.tileZoom,this._calcMatrices(),this._constrain())},get center(){return this._center},set center(t){t.lat===this._center.lat&amp;&amp;t.lng===this._center.lng||(this._unmodified=!1,this._center=t,this._calcMatrices(),this._constrain())},coveringZoomLevel:function(t){return(t.roundZoom?Math.round:Math.floor)(this.zoom+this.scaleZoom(this.tileSize/t.tileSize))},coveringTiles:function(t){var e=this.coveringZoomLevel(t),r=e;if(e&lt;t.minzoom)return[];e&gt;t.maxzoom&amp;&amp;(e=t.maxzoom);var n=this.locationCoordinate(this.center)._zoomTo(e),i=new a(n.column-.5,n.row-.5);return c.cover(e,[this.pointCoordinate(new a(0,0))._zoomTo(e),this.pointCoordinate(new a(this.width,0))._zoomTo(e),this.pointCoordinate(new a(this.width,this.height))._zoomTo(e),this.pointCoordinate(new a(0,this.height))._zoomTo(e)],t.reparseOverscaled?r:e).sort(function(t,e){return i.dist(t)-i.dist(e)})},resize:function(t,e){this.width=t,this.height=e,this.pixelsToGLUnits=[2/t,-2/e],this._calcMatrices(),this._constrain()},get unmodified(){return this._unmodified},zoomScale:function(t){return Math.pow(2,t)},scaleZoom:function(t){return Math.log(t)/Math.LN2},project:function(t,e){return new a(this.lngX(t.lng,e),this.latY(t.lat,e))},unproject:function(t,e){return new i(this.xLng(t.x,e),this.yLat(t.y,e))},get x(){return this.lngX(this.center.lng)},get y(){return this.latY(this.center.lat)},get point(){return new a(this.x,this.y)},lngX:function(t,e){return(180+t)*(e||this.worldSize)/360},latY:function(t,e){return(180-180/Math.PI*Math.log(Math.tan(Math.PI/4+t*Math.PI/360)))*(e||this.worldSize)/360},xLng:function(t,e){return 360*t/(e||this.worldSize)-180},yLat:function(t,e){var r=180-360*t/(e||this.worldSize);return 360/Math.PI*Math.atan(Math.exp(r*Math.PI/180))-90},panBy:function(t){var e=this.centerPoint._add(t);this.center=this.pointLocation(e)},setLocationAtPoint:function(t,e){var r=this.locationCoordinate(t),n=this.pointCoordinate(e),i=this.pointCoordinate(this.centerPoint),a=n._sub(r);this._unmodified=!1,this.center=this.coordinateLocation(i._sub(a))},locationPoint:function(t){return this.coordinatePoint(this.locationCoordinate(t))},pointLocation:function(t){return this.coordinateLocation(this.pointCoordinate(t))},locationCoordinate:function(t){var e=this.zoomScale(this.tileZoom)/this.worldSize,r=i.convert(t);return new o(this.lngX(r.lng)*e,this.latY(r.lat)*e,this.tileZoom)},coordinateLocation:function(t){var e=this.zoomScale(t.zoom);return new i(this.xLng(t.column,e),this.yLat(t.row,e))},pointCoordinate:function(t){var e=[t.x,t.y,0,1],r=[t.x,t.y,1,1];h.transformMat4(e,e,this.pixelMatrixInverse),h.transformMat4(r,r,this.pixelMatrixInverse);var n=e[3],i=r[3],a=e[0]/n,s=r[0]/i,c=e[1]/n,u=r[1]/i,f=e[2]/n,d=r[2]/i,p=f===d?0:(0-f)/(d-f),m=this.worldSize/this.zoomScale(this.tileZoom);return new o(l(a,s,p)/m,l(c,u,p)/m,this.tileZoom)},coordinatePoint:function(t){var e=this.worldSize/this.zoomScale(t.zoom),r=[t.column*e,t.row*e,0,1];return h.transformMat4(r,r,this.pixelMatrix),new a(r[0]/r[3],r[1]/r[3])},calculatePosMatrix:function(t,e){void 0===e&amp;&amp;(e=1/0),t instanceof c&amp;&amp;(t=t.toCoordinate(e));var r=Math.min(t.zoom,e),n=this.worldSize/Math.pow(2,r),i=new Float64Array(16);return d.identity(i),d.translate(i,i,[t.column*n,t.row*n,0]),d.scale(i,i,[n/u,n/u,1]),d.multiply(i,this.projMatrix,i),new Float32Array(i)},_constrain:function(){if(this.center&amp;&amp;this.width&amp;&amp;this.height&amp;&amp;!this._constraining){this._constraining=!0;var t,e,r,n,i,o,s,l,c=this.size,u=this._unmodified;this.latRange&amp;&amp;(t=this.latY(this.latRange[1]),i=(e=this.latY(this.latRange[0]))-t&lt;c.y?c.y/(e-t):0),this.lngRange&amp;&amp;(r=this.lngX(this.lngRange[0]),o=(n=this.lngX(this.lngRange[1]))-r&lt;c.x?c.x/(n-r):0);var f=Math.max(o||0,i||0);if(f)return this.center=this.unproject(new a(o?(n+r)/2:this.x,i?(e+t)/2:this.y)),this.zoom+=this.scaleZoom(f),this._unmodified=u,void(this._constraining=!1);if(this.latRange){var h=this.y,d=c.y/2;h-d&lt;t&amp;&amp;(l=t+d),h+d&gt;e&amp;&amp;(l=e-d)}if(this.lngRange){var p=this.x,m=c.x/2;p-m&lt;r&amp;&amp;(s=r+m),p+m&gt;n&amp;&amp;(s=n-m)}void 0===s&amp;&amp;void 0===l||(this.center=this.unproject(new a(void 0!==s?s:this.x,void 0!==l?l:this.y))),this._unmodified=u,this._constraining=!1}},_calcMatrices:function(){if(this.height){var t=Math.atan(.5/this.altitude),e=Math.sin(t)*this.altitude/Math.sin(Math.PI/2-this._pitch-t),r=Math.cos(Math.PI/2-this._pitch)*e+this.altitude,n=new Float64Array(16);if(d.perspective(n,2*Math.atan(this.height/2/this.altitude),this.width/this.height,.1,r),d.translate(n,n,[0,0,-this.altitude]),d.scale(n,n,[1,-1,1/this.height]),d.rotateX(n,n,this._pitch),d.rotateZ(n,n,this.angle),d.translate(n,n,[-this.x,-this.y,0]),this.projMatrix=n,n=d.create(),d.scale(n,n,[this.width/2,-this.height/2,1]),d.translate(n,n,[1,-1,0]),this.pixelMatrix=d.multiply(new Float64Array(16),n,this.projMatrix),!(n=d.invert(new Float64Array(16),this.pixelMatrix)))throw new Error(&quot;failed to invert matrix&quot;);this.pixelMatrixInverse=n}}}},{&quot;../data/bucket&quot;:320,&quot;../source/tile_coord&quot;:360,&quot;../util/interpolate&quot;:427,&quot;../util/util&quot;:433,&quot;./coordinate&quot;:329,&quot;./lng_lat&quot;:330,&quot;gl-matrix&quot;:198,&quot;point-geometry&quot;:477}],333:[function(t,e,r){&quot;use strict&quot;;var n={&quot; &quot;:[16,[]],&quot;!&quot;:[10,[5,21,5,7,-1,-1,5,2,4,1,5,0,6,1,5,2]],'&quot;':[16,[4,21,4,14,-1,-1,12,21,12,14]],&quot;#&quot;:[21,[11,25,4,-7,-1,-1,17,25,10,-7,-1,-1,4,12,18,12,-1,-1,3,6,17,6]],$:[20,[8,25,8,-4,-1,-1,12,25,12,-4,-1,-1,17,18,15,20,12,21,8,21,5,20,3,18,3,16,4,14,5,13,7,12,13,10,15,9,16,8,17,6,17,3,15,1,12,0,8,0,5,1,3,3]],&quot;%&quot;:[24,[21,21,3,0,-1,-1,8,21,10,19,10,17,9,15,7,14,5,14,3,16,3,18,4,20,6,21,8,21,10,20,13,19,16,19,19,20,21,21,-1,-1,17,7,15,6,14,4,14,2,16,0,18,0,20,1,21,3,21,5,19,7,17,7]],&quot;&amp;&quot;:[26,[23,12,23,13,22,14,21,14,20,13,19,11,17,6,15,3,13,1,11,0,7,0,5,1,4,2,3,4,3,6,4,8,5,9,12,13,13,14,14,16,14,18,13,20,11,21,9,20,8,18,8,16,9,13,11,10,16,3,18,1,20,0,22,0,23,1,23,2]],&quot;'&quot;:[10,[5,19,4,20,5,21,6,20,6,18,5,16,4,15]],&quot;(&quot;:[14,[11,25,9,23,7,20,5,16,4,11,4,7,5,2,7,-2,9,-5,11,-7]],&quot;)&quot;:[14,[3,25,5,23,7,20,9,16,10,11,10,7,9,2,7,-2,5,-5,3,-7]],&quot;*&quot;:[16,[8,21,8,9,-1,-1,3,18,13,12,-1,-1,13,18,3,12]],&quot;+&quot;:[26,[13,18,13,0,-1,-1,4,9,22,9]],&quot;,&quot;:[10,[6,1,5,0,4,1,5,2,6,1,6,-1,5,-3,4,-4]],&quot;-&quot;:[26,[4,9,22,9]],&quot;.&quot;:[10,[5,2,4,1,5,0,6,1,5,2]],&quot;/&quot;:[22,[20,25,2,-7]],0:[20,[9,21,6,20,4,17,3,12,3,9,4,4,6,1,9,0,11,0,14,1,16,4,17,9,17,12,16,17,14,20,11,21,9,21]],1:[20,[6,17,8,18,11,21,11,0]],2:[20,[4,16,4,17,5,19,6,20,8,21,12,21,14,20,15,19,16,17,16,15,15,13,13,10,3,0,17,0]],3:[20,[5,21,16,21,10,13,13,13,15,12,16,11,17,8,17,6,16,3,14,1,11,0,8,0,5,1,4,2,3,4]],4:[20,[13,21,3,7,18,7,-1,-1,13,21,13,0]],5:[20,[15,21,5,21,4,12,5,13,8,14,11,14,14,13,16,11,17,8,17,6,16,3,14,1,11,0,8,0,5,1,4,2,3,4]],6:[20,[16,18,15,20,12,21,10,21,7,20,5,17,4,12,4,7,5,3,7,1,10,0,11,0,14,1,16,3,17,6,17,7,16,10,14,12,11,13,10,13,7,12,5,10,4,7]],7:[20,[17,21,7,0,-1,-1,3,21,17,21]],8:[20,[8,21,5,20,4,18,4,16,5,14,7,13,11,12,14,11,16,9,17,7,17,4,16,2,15,1,12,0,8,0,5,1,4,2,3,4,3,7,4,9,6,11,9,12,13,13,15,14,16,16,16,18,15,20,12,21,8,21]],9:[20,[16,14,15,11,13,9,10,8,9,8,6,9,4,11,3,14,3,15,4,18,6,20,9,21,10,21,13,20,15,18,16,14,16,9,15,4,13,1,10,0,8,0,5,1,4,3]],&quot;:&quot;:[10,[5,14,4,13,5,12,6,13,5,14,-1,-1,5,2,4,1,5,0,6,1,5,2]],&quot;;&quot;:[10,[5,14,4,13,5,12,6,13,5,14,-1,-1,6,1,5,0,4,1,5,2,6,1,6,-1,5,-3,4,-4]],&quot;&lt;&quot;:[24,[20,18,4,9,20,0]],&quot;=&quot;:[26,[4,12,22,12,-1,-1,4,6,22,6]],&quot;&gt;&quot;:[24,[4,18,20,9,4,0]],&quot;?&quot;:[18,[3,16,3,17,4,19,5,20,7,21,11,21,13,20,14,19,15,17,15,15,14,13,13,12,9,10,9,7,-1,-1,9,2,8,1,9,0,10,1,9,2]],&quot;@&quot;:[27,[18,13,17,15,15,16,12,16,10,15,9,14,8,11,8,8,9,6,11,5,14,5,16,6,17,8,-1,-1,12,16,10,14,9,11,9,8,10,6,11,5,-1,-1,18,16,17,8,17,6,19,5,21,5,23,7,24,10,24,12,23,15,22,17,20,19,18,20,15,21,12,21,9,20,7,19,5,17,4,15,3,12,3,9,4,6,5,4,7,2,9,1,12,0,15,0,18,1,20,2,21,3,-1,-1,19,16,18,8,18,6,19,5]],A:[18,[9,21,1,0,-1,-1,9,21,17,0,-1,-1,4,7,14,7]],B:[21,[4,21,4,0,-1,-1,4,21,13,21,16,20,17,19,18,17,18,15,17,13,16,12,13,11,-1,-1,4,11,13,11,16,10,17,9,18,7,18,4,17,2,16,1,13,0,4,0]],C:[21,[18,16,17,18,15,20,13,21,9,21,7,20,5,18,4,16,3,13,3,8,4,5,5,3,7,1,9,0,13,0,15,1,17,3,18,5]],D:[21,[4,21,4,0,-1,-1,4,21,11,21,14,20,16,18,17,16,18,13,18,8,17,5,16,3,14,1,11,0,4,0]],E:[19,[4,21,4,0,-1,-1,4,21,17,21,-1,-1,4,11,12,11,-1,-1,4,0,17,0]],F:[18,[4,21,4,0,-1,-1,4,21,17,21,-1,-1,4,11,12,11]],G:[21,[18,16,17,18,15,20,13,21,9,21,7,20,5,18,4,16,3,13,3,8,4,5,5,3,7,1,9,0,13,0,15,1,17,3,18,5,18,8,-1,-1,13,8,18,8]],H:[22,[4,21,4,0,-1,-1,18,21,18,0,-1,-1,4,11,18,11]],I:[8,[4,21,4,0]],J:[16,[12,21,12,5,11,2,10,1,8,0,6,0,4,1,3,2,2,5,2,7]],K:[21,[4,21,4,0,-1,-1,18,21,4,7,-1,-1,9,12,18,0]],L:[17,[4,21,4,0,-1,-1,4,0,16,0]],M:[24,[4,21,4,0,-1,-1,4,21,12,0,-1,-1,20,21,12,0,-1,-1,20,21,20,0]],N:[22,[4,21,4,0,-1,-1,4,21,18,0,-1,-1,18,21,18,0]],O:[22,[9,21,7,20,5,18,4,16,3,13,3,8,4,5,5,3,7,1,9,0,13,0,15,1,17,3,18,5,19,8,19,13,18,16,17,18,15,20,13,21,9,21]],P:[21,[4,21,4,0,-1,-1,4,21,13,21,16,20,17,19,18,17,18,14,17,12,16,11,13,10,4,10]],Q:[22,[9,21,7,20,5,18,4,16,3,13,3,8,4,5,5,3,7,1,9,0,13,0,15,1,17,3,18,5,19,8,19,13,18,16,17,18,15,20,13,21,9,21,-1,-1,12,4,18,-2]],R:[21,[4,21,4,0,-1,-1,4,21,13,21,16,20,17,19,18,17,18,15,17,13,16,12,13,11,4,11,-1,-1,11,11,18,0]],S:[20,[17,18,15,20,12,21,8,21,5,20,3,18,3,16,4,14,5,13,7,12,13,10,15,9,16,8,17,6,17,3,15,1,12,0,8,0,5,1,3,3]],T:[16,[8,21,8,0,-1,-1,1,21,15,21]],U:[22,[4,21,4,6,5,3,7,1,10,0,12,0,15,1,17,3,18,6,18,21]],V:[18,[1,21,9,0,-1,-1,17,21,9,0]],W:[24,[2,21,7,0,-1,-1,12,21,7,0,-1,-1,12,21,17,0,-1,-1,22,21,17,0]],X:[20,[3,21,17,0,-1,-1,17,21,3,0]],Y:[18,[1,21,9,11,9,0,-1,-1,17,21,9,11]],Z:[20,[17,21,3,0,-1,-1,3,21,17,21,-1,-1,3,0,17,0]],&quot;[&quot;:[14,[4,25,4,-7,-1,-1,5,25,5,-7,-1,-1,4,25,11,25,-1,-1,4,-7,11,-7]],&quot;\\&quot;:[14,[0,21,14,-3]],&quot;]&quot;:[14,[9,25,9,-7,-1,-1,10,25,10,-7,-1,-1,3,25,10,25,-1,-1,3,-7,10,-7]],&quot;^&quot;:[16,[6,15,8,18,10,15,-1,-1,3,12,8,17,13,12,-1,-1,8,17,8,0]],_:[16,[0,-2,16,-2]],&quot;`&quot;:[10,[6,21,5,20,4,18,4,16,5,15,6,16,5,17]],a:[19,[15,14,15,0,-1,-1,15,11,13,13,11,14,8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3]],b:[19,[4,21,4,0,-1,-1,4,11,6,13,8,14,11,14,13,13,15,11,16,8,16,6,15,3,13,1,11,0,8,0,6,1,4,3]],c:[18,[15,11,13,13,11,14,8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3]],d:[19,[15,21,15,0,-1,-1,15,11,13,13,11,14,8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3]],e:[18,[3,8,15,8,15,10,14,12,13,13,11,14,8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3]],f:[12,[10,21,8,21,6,20,5,17,5,0,-1,-1,2,14,9,14]],g:[19,[15,14,15,-2,14,-5,13,-6,11,-7,8,-7,6,-6,-1,-1,15,11,13,13,11,14,8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3]],h:[19,[4,21,4,0,-1,-1,4,10,7,13,9,14,12,14,14,13,15,10,15,0]],i:[8,[3,21,4,20,5,21,4,22,3,21,-1,-1,4,14,4,0]],j:[10,[5,21,6,20,7,21,6,22,5,21,-1,-1,6,14,6,-3,5,-6,3,-7,1,-7]],k:[17,[4,21,4,0,-1,-1,14,14,4,4,-1,-1,8,8,15,0]],l:[8,[4,21,4,0]],m:[30,[4,14,4,0,-1,-1,4,10,7,13,9,14,12,14,14,13,15,10,15,0,-1,-1,15,10,18,13,20,14,23,14,25,13,26,10,26,0]],n:[19,[4,14,4,0,-1,-1,4,10,7,13,9,14,12,14,14,13,15,10,15,0]],o:[19,[8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3,16,6,16,8,15,11,13,13,11,14,8,14]],p:[19,[4,14,4,-7,-1,-1,4,11,6,13,8,14,11,14,13,13,15,11,16,8,16,6,15,3,13,1,11,0,8,0,6,1,4,3]],q:[19,[15,14,15,-7,-1,-1,15,11,13,13,11,14,8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3]],r:[13,[4,14,4,0,-1,-1,4,8,5,11,7,13,9,14,12,14]],s:[17,[14,11,13,13,10,14,7,14,4,13,3,11,4,9,6,8,11,7,13,6,14,4,14,3,13,1,10,0,7,0,4,1,3,3]],t:[12,[5,21,5,4,6,1,8,0,10,0,-1,-1,2,14,9,14]],u:[19,[4,14,4,4,5,1,7,0,10,0,12,1,15,4,-1,-1,15,14,15,0]],v:[16,[2,14,8,0,-1,-1,14,14,8,0]],w:[22,[3,14,7,0,-1,-1,11,14,7,0,-1,-1,11,14,15,0,-1,-1,19,14,15,0]],x:[17,[3,14,14,0,-1,-1,14,14,3,0]],y:[16,[2,14,8,0,-1,-1,14,14,8,0,6,-4,4,-6,2,-7,1,-7]],z:[17,[14,14,3,0,-1,-1,3,14,14,14,-1,-1,3,0,14,0]],&quot;{&quot;:[14,[9,25,7,24,6,23,5,21,5,19,6,17,7,16,8,14,8,12,6,10,-1,-1,7,24,6,22,6,20,7,18,8,17,9,15,9,13,8,11,4,9,8,7,9,5,9,3,8,1,7,0,6,-2,6,-4,7,-6,-1,-1,6,8,8,6,8,4,7,2,6,1,5,-1,5,-3,6,-5,7,-6,9,-7]],&quot;|&quot;:[8,[4,25,4,-7]],&quot;}&quot;:[14,[5,25,7,24,8,23,9,21,9,19,8,17,7,16,6,14,6,12,8,10,-1,-1,7,24,8,22,8,20,7,18,6,17,5,15,5,13,6,11,10,9,6,7,5,5,5,3,6,1,7,0,8,-2,8,-4,7,-6,-1,-1,8,8,6,6,6,4,7,2,8,1,9,-1,9,-3,8,-5,7,-6,5,-7]],&quot;~&quot;:[24,[3,6,3,8,4,11,6,12,8,12,10,11,14,8,16,7,18,7,20,8,21,10,-1,-1,3,8,4,10,6,11,8,11,10,10,14,7,16,6,18,6,20,7,21,10,21,12]]};e.exports=function(t,e,r,i){i=i||1;var a,o,s,l,c,u,f,h,d=[];for(a=0,o=t.length;a&lt;o;a++)if(c=n[t[a]]){for(h=null,s=0,l=c[1].length;s&lt;l;s+=2)-1===c[1][s]&amp;&amp;-1===c[1][s+1]?h=null:(u=e+c[1][s]*i,f=r-c[1][s+1]*i,h&amp;&amp;d.push(h.x,h.y,u,f),h={x:u,y:f});e+=c[0]*i}return d}},{}],334:[function(t,e,r){&quot;use strict&quot;;var n=e.exports={};n.version=t(&quot;../package.json&quot;).version,n.Map=t(&quot;./ui/map&quot;),n.Control=t(&quot;./ui/control/control&quot;),n.Navigation=t(&quot;./ui/control/navigation&quot;),n.Geolocate=t(&quot;./ui/control/geolocate&quot;),n.Attribution=t(&quot;./ui/control/attribution&quot;),n.Popup=t(&quot;./ui/popup&quot;),n.Marker=t(&quot;./ui/marker&quot;),n.Style=t(&quot;./style/style&quot;),n.LngLat=t(&quot;./geo/lng_lat&quot;),n.LngLatBounds=t(&quot;./geo/lng_lat_bounds&quot;),n.Point=t(&quot;point-geometry&quot;),n.Evented=t(&quot;./util/evented&quot;),n.util=t(&quot;./util/util&quot;),n.supported=t(&quot;./util/browser&quot;).supported;var i=t(&quot;./util/ajax&quot;);n.util.getJSON=i.getJSON,n.util.getArrayBuffer=i.getArrayBuffer;var a=t(&quot;./util/config&quot;);n.config=a,Object.defineProperty(n,&quot;accessToken&quot;,{get:function(){return a.ACCESS_TOKEN},set:function(t){a.ACCESS_TOKEN=t}})},{&quot;../package.json&quot;:435,&quot;./geo/lng_lat&quot;:330,&quot;./geo/lng_lat_bounds&quot;:331,&quot;./style/style&quot;:369,&quot;./ui/control/attribution&quot;:400,&quot;./ui/control/control&quot;:401,&quot;./ui/control/geolocate&quot;:402,&quot;./ui/control/navigation&quot;:403,&quot;./ui/map&quot;:412,&quot;./ui/marker&quot;:413,&quot;./ui/popup&quot;:414,&quot;./util/ajax&quot;:416,&quot;./util/browser&quot;:417,&quot;./util/config&quot;:422,&quot;./util/evented&quot;:425,&quot;./util/util&quot;:433,&quot;point-geometry&quot;:477}],335:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;assert&quot;);e.exports=function(t){for(var e={define:{},initialize:{}},r=0;r&lt;t.length;r++){var i=t[r];n(&quot;u_&quot;===i.name.slice(0,2));var a=&quot;{precision} &quot;+(1===i.components?&quot;float&quot;:&quot;vec&quot;+i.components);e.define[i.name.slice(2)]=&quot;uniform &quot;+a+&quot; &quot;+i.name+&quot;;\n&quot;,e.initialize[i.name.slice(2)]=a+&quot; &quot;+i.name.slice(2)+&quot; = &quot;+i.name+&quot;;\n&quot;}return e}},{assert:51}],336:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../source/pixels_to_tile_units&quot;),i=t(&quot;./create_uniform_pragmas&quot;),a=512;e.exports=function(t,e,r){var o,s=t.gl,l=t.transform,c=r.paint[&quot;background-color&quot;],u=r.paint[&quot;background-pattern&quot;],f=r.paint[&quot;background-opacity&quot;],h=u?t.spriteAtlas.getPosition(u.from,!0):null,d=u?t.spriteAtlas.getPosition(u.to,!0):null;if(t.setDepthSublayer(0),h&amp;&amp;d){if(t.isOpaquePass)return;o=t.useProgram(&quot;pattern&quot;),s.uniform1i(o.u_image,0),s.uniform2fv(o.u_pattern_tl_a,h.tl),s.uniform2fv(o.u_pattern_br_a,h.br),s.uniform2fv(o.u_pattern_tl_b,d.tl),s.uniform2fv(o.u_pattern_br_b,d.br),s.uniform1f(o.u_opacity,f),s.uniform1f(o.u_mix,u.t),s.uniform2fv(o.u_pattern_size_a,h.size),s.uniform2fv(o.u_pattern_size_b,d.size),s.uniform1f(o.u_scale_a,u.fromScale),s.uniform1f(o.u_scale_b,u.toScale),s.activeTexture(s.TEXTURE0),t.spriteAtlas.bind(s,!0),t.tileExtentPatternVAO.bind(s,o,t.tileExtentBuffer)}else{if(t.isOpaquePass!==(1===c[3]))return;var p=i([{name:&quot;u_color&quot;,components:4},{name:&quot;u_opacity&quot;,components:1}]);o=t.useProgram(&quot;fill&quot;,[],p,p),s.uniform4fv(o.u_color,c),s.uniform1f(o.u_opacity,f),t.tileExtentVAO.bind(s,o,t.tileExtentBuffer)}s.disable(s.STENCIL_TEST);for(var m=l.coveringTiles({tileSize:a}),g=0;g&lt;m.length;g++){var v=m[g];if(h&amp;&amp;d){var y={coord:v,tileSize:a};s.uniform1f(o.u_tile_units_to_pixels,1/n(y,1,t.transform.tileZoom));var x=y.tileSize*Math.pow(2,t.transform.tileZoom-y.coord.z),b=x*(y.coord.x+v.w*Math.pow(2,y.coord.z)),_=x*y.coord.y;s.uniform2f(o.u_pixel_coord_upper,b&gt;&gt;16,_&gt;&gt;16),s.uniform2f(o.u_pixel_coord_lower,65535&amp;b,65535&amp;_)}s.uniformMatrix4fv(o.u_matrix,!1,t.transform.calculatePosMatrix(v)),s.drawArrays(s.TRIANGLE_STRIP,0,t.tileExtentBuffer.length)}s.stencilMask(0),s.stencilFunc(s.EQUAL,128,128)}},{&quot;../source/pixels_to_tile_units&quot;:354,&quot;./create_uniform_pragmas&quot;:335}],337:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../util/browser&quot;);e.exports=function(t,e,r,i){if(!t.isOpaquePass){var a=t.gl;t.setDepthSublayer(0),t.depthMask(!1),a.disable(a.STENCIL_TEST);for(var o=0;o&lt;i.length;o++){var s=i[o],l=e.getTile(s),c=l.getBucket(r);if(c){var u=c.bufferGroups.circle;if(u){var f=c.paintAttributes.circle[r.id],h=t.useProgram(&quot;circle&quot;,f.defines,f.vertexPragmas,f.fragmentPragmas);&quot;map&quot;===r.paint[&quot;circle-pitch-scale&quot;]?(a.uniform1i(h.u_scale_with_map,!0),a.uniform2f(h.u_extrude_scale,t.transform.pixelsToGLUnits[0]*t.transform.altitude,t.transform.pixelsToGLUnits[1]*t.transform.altitude)):(a.uniform1i(h.u_scale_with_map,!1),a.uniform2fv(h.u_extrude_scale,t.transform.pixelsToGLUnits)),a.uniform1f(h.u_devicepixelratio,n.devicePixelRatio),a.uniformMatrix4fv(h.u_matrix,!1,t.translatePosMatrix(s.posMatrix,l,r.paint[&quot;circle-translate&quot;],r.paint[&quot;circle-translate-anchor&quot;])),c.setUniforms(a,&quot;circle&quot;,h,r,{zoom:t.transform.zoom});for(var d=0;d&lt;u.length;d++){var p=u[d];p.vaos[r.id].bind(a,h,p.layoutVertexBuffer,p.elementBuffer,p.paintVertexBuffers[r.id]),a.drawElements(a.TRIANGLES,3*p.elementBuffer.length,a.UNSIGNED_SHORT,0)}}}}}}},{&quot;../util/browser&quot;:417}],338:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t,e,r,n){var i=t.gl;i.enable(i.STENCIL_TEST);for(var a=t.useProgram(&quot;collisionbox&quot;),o=0;o&lt;n.length;o++){var s=n[o],l=e.getTile(s),c=l.getBucket(r);if(c){var u=c.bufferGroups.collisionBox;if(u&amp;&amp;u.length){var f=u[0];0!==f.layoutVertexBuffer.length&amp;&amp;(i.uniformMatrix4fv(a.u_matrix,!1,s.posMatrix),t.enableTileClippingMask(s),t.lineWidth(1),i.uniform1f(a.u_scale,Math.pow(2,t.transform.zoom-l.coord.z)),i.uniform1f(a.u_zoom,10*t.transform.zoom),i.uniform1f(a.u_maxzoom,10*(l.coord.z+1)),f.vaos[r.id].bind(i,a,f.layoutVertexBuffer),i.drawArrays(i.LINES,0,f.layoutVertexBuffer.length))}}}}},{}],339:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../lib/debugtext&quot;),i=t(&quot;../util/browser&quot;),a=t(&quot;gl-matrix&quot;).mat4,o=t(&quot;../data/bucket&quot;).EXTENT,s=t(&quot;../data/buffer&quot;),l=t(&quot;./vertex_array_object&quot;);e.exports=function(t,e,r){if(!t.isOpaquePass&amp;&amp;t.options.debug)for(var c=0;c&lt;r.length;c++)!function(t,e,r){var c=t.gl;c.disable(c.STENCIL_TEST),t.lineWidth(1*i.devicePixelRatio);var u=r.posMatrix,f=t.useProgram(&quot;debug&quot;);c.uniformMatrix4fv(f.u_matrix,!1,u),c.uniform4f(f.u_color,1,0,0,1),t.debugVAO.bind(c,f,t.debugBuffer),c.drawArrays(c.LINE_STRIP,0,t.debugBuffer.length);for(var h=n(r.toString(),50,200,5),d=new t.PosArray,p=0;p&lt;h.length;p+=2)d.emplaceBack(h[p],h[p+1]);var m=new s(d.serialize(),t.PosArray.serialize(),s.BufferType.VERTEX);(new l).bind(c,f,m),c.uniform4f(f.u_color,1,1,1,1);for(var g=e.getTile(r).tileSize,v=o/(Math.pow(2,t.transform.zoom-r.z)*g),y=[[-1,-1],[-1,1],[1,-1],[1,1]],x=0;x&lt;y.length;x++){var b=y[x];c.uniformMatrix4fv(f.u_matrix,!1,a.translate([],u,[v*b[0],v*b[1],0])),c.drawArrays(c.LINES,0,m.length)}c.uniform4f(f.u_color,0,0,0,1),c.uniformMatrix4fv(f.u_matrix,!1,u),c.drawArrays(c.LINES,0,m.length)}(t,e,r[c])}},{&quot;../data/bucket&quot;:320,&quot;../data/buffer&quot;:325,&quot;../lib/debugtext&quot;:333,&quot;../util/browser&quot;:417,&quot;./vertex_array_object&quot;:348,&quot;gl-matrix&quot;:198}],340:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,n,a,o){var s=a.gl,l=a.spriteAtlas.getPosition(t.from,!0),c=a.spriteAtlas.getPosition(t.to,!0);if(l&amp;&amp;c){s.uniform1i(o.u_image,0),s.uniform2fv(o.u_pattern_tl_a,l.tl),s.uniform2fv(o.u_pattern_br_a,l.br),s.uniform2fv(o.u_pattern_tl_b,c.tl),s.uniform2fv(o.u_pattern_br_b,c.br),s.uniform1f(o.u_opacity,e),s.uniform1f(o.u_mix,t.t),s.uniform1f(o.u_tile_units_to_pixels,1/i(r,1,a.transform.tileZoom)),s.uniform2fv(o.u_pattern_size_a,l.size),s.uniform2fv(o.u_pattern_size_b,c.size),s.uniform1f(o.u_scale_a,t.fromScale),s.uniform1f(o.u_scale_b,t.toScale);var u=r.tileSize*Math.pow(2,a.transform.tileZoom-r.coord.z),f=u*(r.coord.x+n.w*Math.pow(2,r.coord.z)),h=u*r.coord.y;s.uniform2f(o.u_pixel_coord_upper,f&gt;&gt;16,h&gt;&gt;16),s.uniform2f(o.u_pixel_coord_lower,65535&amp;f,65535&amp;h),s.activeTexture(s.TEXTURE0),a.spriteAtlas.bind(s,!0)}}var i=t(&quot;../source/pixels_to_tile_units&quot;);e.exports=function(t,e,r,i){var a=t.gl;a.enable(a.STENCIL_TEST);var o;if(o=!r.paint[&quot;fill-pattern&quot;]&amp;&amp;r.isPaintValueFeatureConstant(&quot;fill-color&quot;)&amp;&amp;r.isPaintValueFeatureConstant(&quot;fill-opacity&quot;)&amp;&amp;1===r.paint[&quot;fill-color&quot;][3]&amp;&amp;1===r.paint[&quot;fill-opacity&quot;],t.isOpaquePass===o){t.setDepthSublayer(1);for(var s=0;s&lt;i.length;s++)!function(t,e,r,i){var a=e.getTile(i),o=a.getBucket(r);if(o){var s=o.bufferGroups.fill;if(s){var l,c=t.gl,u=r.paint[&quot;fill-pattern&quot;];if(u)l=t.useProgram(&quot;pattern&quot;),n(u,r.paint[&quot;fill-opacity&quot;],a,i,t,l),c.activeTexture(c.TEXTURE0),t.spriteAtlas.bind(c,!0);else{var f=o.paintAttributes.fill[r.id];l=t.useProgram(&quot;fill&quot;,f.defines,f.vertexPragmas,f.fragmentPragmas),o.setUniforms(c,&quot;fill&quot;,l,r,{zoom:t.transform.zoom})}c.uniformMatrix4fv(l.u_matrix,!1,t.translatePosMatrix(i.posMatrix,a,r.paint[&quot;fill-translate&quot;],r.paint[&quot;fill-translate-anchor&quot;])),t.enableTileClippingMask(i);for(var h=0;h&lt;s.length;h++){var d=s[h];d.vaos[r.id].bind(c,l,d.layoutVertexBuffer,d.elementBuffer,d.paintVertexBuffers[r.id]),c.drawElements(c.TRIANGLES,d.elementBuffer.length,c.UNSIGNED_SHORT,0)}}}}(t,e,r,i[s])}if(!t.isOpaquePass&amp;&amp;r.paint[&quot;fill-antialias&quot;]){t.lineWidth(2),t.depthMask(!1);var l=r.getPaintProperty(&quot;fill-outline-color&quot;);!l&amp;&amp;r.paint[&quot;fill-pattern&quot;]||!l?t.setDepthSublayer(0):t.setDepthSublayer(2);for(var c=0;c&lt;i.length;c++)!function(t,e,r,i){var a=e.getTile(i),o=a.getBucket(r);if(o){var s,l=t.gl,c=o.bufferGroups.fill,u=r.paint[&quot;fill-pattern&quot;],f=r.paint[&quot;fill-opacity&quot;],h=r.getPaintProperty(&quot;fill-outline-color&quot;);if(u&amp;&amp;!h)s=t.useProgram(&quot;outlinepattern&quot;),l.uniform2f(s.u_world,l.drawingBufferWidth,l.drawingBufferHeight);else{var d=o.paintAttributes.fill[r.id];s=t.useProgram(&quot;outline&quot;,d.defines,d.vertexPragmas,d.fragmentPragmas),l.uniform2f(s.u_world,l.drawingBufferWidth,l.drawingBufferHeight),l.uniform1f(s.u_opacity,f),o.setUniforms(l,&quot;fill&quot;,s,r,{zoom:t.transform.zoom})}l.uniformMatrix4fv(s.u_matrix,!1,t.translatePosMatrix(i.posMatrix,a,r.paint[&quot;fill-translate&quot;],r.paint[&quot;fill-translate-anchor&quot;])),u&amp;&amp;n(u,f,a,i,t,s),t.enableTileClippingMask(i);for(var p=0;p&lt;c.length;p++){var m=c[p];m.secondVaos[r.id].bind(l,s,m.layoutVertexBuffer,m.elementBuffer2,m.paintVertexBuffers[r.id]),l.drawElements(l.LINES,2*m.elementBuffer2.length,l.UNSIGNED_SHORT,0)}}}(t,e,r,i[c])}}},{&quot;../source/pixels_to_tile_units&quot;:354}],341:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../util/browser&quot;),i=t(&quot;gl-matrix&quot;).mat2,a=t(&quot;../source/pixels_to_tile_units&quot;);e.exports=function(t,e,r,o){if(!t.isOpaquePass){t.setDepthSublayer(0),t.depthMask(!1);var s=t.gl;if(s.enable(s.STENCIL_TEST),!(r.paint[&quot;line-width&quot;]&lt;=0)){var l=1/n.devicePixelRatio,c=r.paint[&quot;line-blur&quot;]+l,u=r.paint[&quot;line-color&quot;],f=t.transform,h=i.create();i.scale(h,h,[1,Math.cos(f._pitch)]),i.rotate(h,h,t.transform.angle);var d,p,m,g,v,y=Math.sqrt(f.height*f.height/4*(1+f.altitude*f.altitude)),x=(y+f.height/2*Math.tan(f._pitch))/y-1,b=r.paint[&quot;line-dasharray&quot;],_=r.paint[&quot;line-pattern&quot;];if(b)d=t.useProgram(&quot;linesdfpattern&quot;),s.uniform1f(d.u_linewidth,r.paint[&quot;line-width&quot;]/2),s.uniform1f(d.u_gapwidth,r.paint[&quot;line-gap-width&quot;]/2),s.uniform1f(d.u_antialiasing,l/2),s.uniform1f(d.u_blur,c),s.uniform4fv(d.u_color,u),s.uniform1f(d.u_opacity,r.paint[&quot;line-opacity&quot;]),p=t.lineAtlas.getDash(b.from,&quot;round&quot;===r.layout[&quot;line-cap&quot;]),m=t.lineAtlas.getDash(b.to,&quot;round&quot;===r.layout[&quot;line-cap&quot;]),s.uniform1i(d.u_image,0),s.activeTexture(s.TEXTURE0),t.lineAtlas.bind(s),s.uniform1f(d.u_tex_y_a,p.y),s.uniform1f(d.u_tex_y_b,m.y),s.uniform1f(d.u_mix,b.t),s.uniform1f(d.u_extra,x),s.uniform1f(d.u_offset,-r.paint[&quot;line-offset&quot;]),s.uniformMatrix2fv(d.u_antialiasingmatrix,!1,h);else if(_){if(g=t.spriteAtlas.getPosition(_.from,!0),v=t.spriteAtlas.getPosition(_.to,!0),!g||!v)return;d=t.useProgram(&quot;linepattern&quot;),s.uniform1i(d.u_image,0),s.activeTexture(s.TEXTURE0),t.spriteAtlas.bind(s,!0),s.uniform1f(d.u_linewidth,r.paint[&quot;line-width&quot;]/2),s.uniform1f(d.u_gapwidth,r.paint[&quot;line-gap-width&quot;]/2),s.uniform1f(d.u_antialiasing,l/2),s.uniform1f(d.u_blur,c),s.uniform2fv(d.u_pattern_tl_a,g.tl),s.uniform2fv(d.u_pattern_br_a,g.br),s.uniform2fv(d.u_pattern_tl_b,v.tl),s.uniform2fv(d.u_pattern_br_b,v.br),s.uniform1f(d.u_fade,_.t),s.uniform1f(d.u_opacity,r.paint[&quot;line-opacity&quot;]),s.uniform1f(d.u_extra,x),s.uniform1f(d.u_offset,-r.paint[&quot;line-offset&quot;]),s.uniformMatrix2fv(d.u_antialiasingmatrix,!1,h)}else d=t.useProgram(&quot;line&quot;),s.uniform1f(d.u_linewidth,r.paint[&quot;line-width&quot;]/2),s.uniform1f(d.u_gapwidth,r.paint[&quot;line-gap-width&quot;]/2),s.uniform1f(d.u_antialiasing,l/2),s.uniform1f(d.u_blur,c),s.uniform1f(d.u_extra,x),s.uniform1f(d.u_offset,-r.paint[&quot;line-offset&quot;]),s.uniformMatrix2fv(d.u_antialiasingmatrix,!1,h),s.uniform4fv(d.u_color,u),s.uniform1f(d.u_opacity,r.paint[&quot;line-opacity&quot;]);for(var w=0;w&lt;o.length;w++){var M=o[w],k=e.getTile(M),A=k.getBucket(r);if(A){var T=A.bufferGroups.line;if(T){t.enableTileClippingMask(M);var S=t.translatePosMatrix(M.posMatrix,k,r.paint[&quot;line-translate&quot;],r.paint[&quot;line-translate-anchor&quot;]);s.uniformMatrix4fv(d.u_matrix,!1,S);var E=1/a(k,1,t.transform.zoom);if(b){var L=p.width*b.fromScale,C=m.width*b.toScale,z=[1/a(k,L,t.transform.tileZoom),-p.height/2],D=[1/a(k,C,t.transform.tileZoom),-m.height/2],I=t.lineAtlas.width/(256*Math.min(L,C)*n.devicePixelRatio)/2;s.uniform1f(d.u_ratio,E),s.uniform2fv(d.u_patternscale_a,z),s.uniform2fv(d.u_patternscale_b,D),s.uniform1f(d.u_sdfgamma,I)}else _?(s.uniform1f(d.u_ratio,E),s.uniform2fv(d.u_pattern_size_a,[a(k,g.size[0]*_.fromScale,t.transform.tileZoom),v.size[1]]),s.uniform2fv(d.u_pattern_size_b,[a(k,v.size[0]*_.toScale,t.transform.tileZoom),v.size[1]])):s.uniform1f(d.u_ratio,E);for(var P=0;P&lt;T.length;P++){var O=T[P];O.vaos[r.id].bind(s,d,O.layoutVertexBuffer,O.elementBuffer),s.drawElements(s.TRIANGLES,3*O.elementBuffer.length,s.UNSIGNED_SHORT,0)}}}}}}}},{&quot;../source/pixels_to_tile_units&quot;:354,&quot;../util/browser&quot;:417,&quot;gl-matrix&quot;:198}],342:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,n){if(!t.isOpaquePass){var a=t.gl;a.enable(a.DEPTH_TEST),t.depthMask(!0),a.depthFunc(a.LESS);for(var o=n.length&amp;&amp;n[0].z,s=0;s&lt;n.length;s++){var l=n[s];t.setDepthSublayer(l.z-o),function(t,e,r,n){var a=t.gl;a.disable(a.STENCIL_TEST);var o=e.getTile(n),s=t.transform.calculatePosMatrix(n,e.maxzoom),l=t.useProgram(&quot;raster&quot;);a.uniformMatrix4fv(l.u_matrix,!1,s),a.uniform1f(l.u_brightness_low,r.paint[&quot;raster-brightness-min&quot;]),a.uniform1f(l.u_brightness_high,r.paint[&quot;raster-brightness-max&quot;]),a.uniform1f(l.u_saturation_factor,function(t){return t&gt;0?1-1/(1.001-t):-t}(r.paint[&quot;raster-saturation&quot;])),a.uniform1f(l.u_contrast_factor,function(t){return t&gt;0?1/(1-t):1+t}(r.paint[&quot;raster-contrast&quot;])),a.uniform3fv(l.u_spin_weights,function(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]}(r.paint[&quot;raster-hue-rotate&quot;]));var c,u,f=o.source&amp;&amp;o.source.findLoadedParent(n,0,{}),h=function(t,e,r,n){var a=[1,0],o=r.paint[&quot;raster-fade-duration&quot;];if(t.source&amp;&amp;o&gt;0){var s=(new Date).getTime(),l=(s-t.timeAdded)/o,c=e?(s-e.timeAdded)/o:-1,u=n.coveringZoomLevel(t.source),f=!!e&amp;&amp;Math.abs(e.coord.z-u)&gt;Math.abs(t.coord.z-u);!e||f?(a[0]=i.clamp(l,0,1),a[1]=1-a[0]):(a[0]=i.clamp(1-c,0,1),a[1]=1-a[0])}var h=r.paint[&quot;raster-opacity&quot;];return a[0]*=h,a[1]*=h,a}(o,f,r,t.transform);a.activeTexture(a.TEXTURE0),a.bindTexture(a.TEXTURE_2D,o.texture),a.activeTexture(a.TEXTURE1),f?(a.bindTexture(a.TEXTURE_2D,f.texture),c=Math.pow(2,f.coord.z-o.coord.z),u=[o.coord.x*c%1,o.coord.y*c%1]):(a.bindTexture(a.TEXTURE_2D,o.texture),h[1]=0);a.uniform2fv(l.u_tl_parent,u||[0,0]),a.uniform1f(l.u_scale_parent,c||1),a.uniform1f(l.u_buffer_scale,1),a.uniform1f(l.u_opacity0,h[0]),a.uniform1f(l.u_opacity1,h[1]),a.uniform1i(l.u_image0,0),a.uniform1i(l.u_image1,1);var d=o.boundsBuffer||t.rasterBoundsBuffer;(o.boundsVAO||t.rasterBoundsVAO).bind(a,l,d),a.drawArrays(a.TRIANGLE_STRIP,0,d.length)}(t,e,r,l)}a.depthFunc(a.LEQUAL)}}var i=t(&quot;../util/util&quot;),a=t(&quot;../util/struct_array&quot;);e.exports=n,n.RasterBoundsArray=new a({members:[{name:&quot;a_pos&quot;,type:&quot;Int16&quot;,components:2},{name:&quot;a_texture_pos&quot;,type:&quot;Int16&quot;,components:2}]})},{&quot;../util/struct_array&quot;:431,&quot;../util/util&quot;:433}],343:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,n,a,s,l,c,u,f,h,d,p,m,g){for(var v=0;v&lt;n.length;v++){var y=e.getTile(n[v]),x=y.getBucket(r);if(x){var b=x.bufferGroups,_=a?b.glyph:b.icon;_.length&amp;&amp;(t.enableTileClippingMask(n[v]),function(t,e,r,n,a,s,l,c,u,f,h,d,p,m,g,v,y,x,b,_,w){var M,k,A,T=t.gl,S=t.transform,E=&quot;map&quot;===m,L=&quot;map&quot;===g,C=l?24:1,z=v/C;L?(k=o(n,1,t.transform.zoom)*z,A=1/Math.cos(S._pitch),M=[k,k]):(k=t.transform.altitude*z,A=1,M=[S.pixelsToGLUnits[0]*k,S.pixelsToGLUnits[1]*k]);if(!l&amp;&amp;!t.style.sprite.loaded())return;var D=t.useProgram(c?&quot;sdf&quot;:&quot;icon&quot;);if(T.uniformMatrix4fv(D.u_matrix,!1,t.translatePosMatrix(r,n,d,p)),T.uniform1i(D.u_rotate_with_map,E),T.uniform1i(D.u_pitch_with_map,L),T.uniform2fv(D.u_extrude_scale,M),T.activeTexture(T.TEXTURE0),T.uniform1i(D.u_texture,0),l){var I=h&amp;&amp;t.glyphSource.getGlyphAtlas(h);if(!I)return;I.updateTexture(T),T.uniform2f(D.u_texsize,I.width/4,I.height/4)}else{var P=t.options.rotating||t.options.zooming,O=1!==z||i.devicePixelRatio!==t.spriteAtlas.pixelRatio||u,F=L||t.transform.pitch;t.spriteAtlas.bind(T,c||P||O||F),T.uniform2f(D.u_texsize,t.spriteAtlas.width/4,t.spriteAtlas.height/4)}var R=Math.log(v/f)/Math.LN2||0;T.uniform1f(D.u_zoom,10*(t.transform.zoom-R)),T.activeTexture(T.TEXTURE1),t.frameHistory.bind(T),T.uniform1i(D.u_fadetexture,1);var N;if(c){var j=.105*C/v/i.devicePixelRatio;if(y){T.uniform1f(D.u_gamma,(1.19*b/z/8+j)*A),T.uniform4fv(D.u_color,x),T.uniform1f(D.u_opacity,_),T.uniform1f(D.u_buffer,(6-y/z)/8);for(var B=0;B&lt;s.length;B++)(N=s[B]).vaos[e.id].bind(T,D,N.layoutVertexBuffer,N.elementBuffer),T.drawElements(T.TRIANGLES,3*N.elementBuffer.length,T.UNSIGNED_SHORT,0)}T.uniform1f(D.u_gamma,j*A),T.uniform4fv(D.u_color,w),T.uniform1f(D.u_opacity,_),T.uniform1f(D.u_buffer,.75),T.uniform1f(D.u_pitch,S.pitch/360*2*Math.PI),T.uniform1f(D.u_bearing,S.bearing/360*2*Math.PI),T.uniform1f(D.u_aspect_ratio,S.width/S.height);for(var U=0;U&lt;s.length;U++)(N=s[U]).vaos[e.id].bind(T,D,N.layoutVertexBuffer,N.elementBuffer),T.drawElements(T.TRIANGLES,3*N.elementBuffer.length,T.UNSIGNED_SHORT,0)}else{T.uniform1f(D.u_opacity,_);for(var V=0;V&lt;s.length;V++)(N=s[V]).vaos[e.id].bind(T,D,N.layoutVertexBuffer,N.elementBuffer),T.drawElements(T.TRIANGLES,3*N.elementBuffer.length,T.UNSIGNED_SHORT,0)}}(t,r,n[v].posMatrix,y,0,_,a,a||x.sdfIcons,!a&amp;&amp;x.iconsNeedLinear,a?x.adjustedTextSize:x.adjustedIconSize,x.fontstack,s,l,c,u,f,h,d,p,m,g))}}}var i=t(&quot;../util/browser&quot;),a=t(&quot;./draw_collision_debug&quot;),o=t(&quot;../source/pixels_to_tile_units&quot;);e.exports=function(t,e,r,i){if(!t.isOpaquePass){var o=!(r.layout[&quot;text-allow-overlap&quot;]||r.layout[&quot;icon-allow-overlap&quot;]||r.layout[&quot;text-ignore-placement&quot;]||r.layout[&quot;icon-ignore-placement&quot;]),s=t.gl;o?s.disable(s.STENCIL_TEST):s.enable(s.STENCIL_TEST),t.setDepthSublayer(0),t.depthMask(!1),s.disable(s.DEPTH_TEST),n(t,e,r,i,!1,r.paint[&quot;icon-translate&quot;],r.paint[&quot;icon-translate-anchor&quot;],r.layout[&quot;icon-rotation-alignment&quot;],r.layout[&quot;icon-rotation-alignment&quot;],r.layout[&quot;icon-size&quot;],r.paint[&quot;icon-halo-width&quot;],r.paint[&quot;icon-halo-color&quot;],r.paint[&quot;icon-halo-blur&quot;],r.paint[&quot;icon-opacity&quot;],r.paint[&quot;icon-color&quot;]),n(t,e,r,i,!0,r.paint[&quot;text-translate&quot;],r.paint[&quot;text-translate-anchor&quot;],r.layout[&quot;text-rotation-alignment&quot;],r.layout[&quot;text-pitch-alignment&quot;],r.layout[&quot;text-size&quot;],r.paint[&quot;text-halo-width&quot;],r.paint[&quot;text-halo-color&quot;],r.paint[&quot;text-halo-blur&quot;],r.paint[&quot;text-opacity&quot;],r.paint[&quot;text-color&quot;]),s.enable(s.DEPTH_TEST),e.map.showCollisionBoxes&amp;&amp;a(t,e,r,i)}}},{&quot;../source/pixels_to_tile_units&quot;:354,&quot;../util/browser&quot;:417,&quot;./draw_collision_debug&quot;:338}],344:[function(t,e,r){&quot;use strict&quot;;function n(){this.changeTimes=new Float64Array(256),this.changeOpacities=new Uint8Array(256),this.opacities=new Uint8ClampedArray(256),this.array=new Uint8Array(this.opacities.buffer),this.fadeDuration=300,this.previousZoom=0,this.firstFrame=!0}e.exports=n,n.prototype.record=function(t){var e=Date.now();this.firstFrame&amp;&amp;(e=0,this.firstFrame=!1);var r;if((t=Math.floor(10*t))&lt;this.previousZoom)for(r=t+1;r&lt;=this.previousZoom;r++)this.changeTimes[r]=e,this.changeOpacities[r]=this.opacities[r];else for(r=t;r&gt;this.previousZoom;r--)this.changeTimes[r]=e,this.changeOpacities[r]=this.opacities[r];for(r=0;r&lt;256;r++){var n=(e-this.changeTimes[r])/this.fadeDuration*255;this.opacities[r]=r&lt;=t?this.changeOpacities[r]+n:this.changeOpacities[r]-n}this.changed=!0,this.previousZoom=t},n.prototype.bind=function(t){this.texture?(t.bindTexture(t.TEXTURE_2D,this.texture),this.changed&amp;&amp;(t.texSubImage2D(t.TEXTURE_2D,0,0,0,256,1,t.ALPHA,t.UNSIGNED_BYTE,this.array),this.changed=!1)):(this.texture=t.createTexture(),t.bindTexture(t.TEXTURE_2D,this.texture),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),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MIN_FILTER,t.NEAREST),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MAG_FILTER,t.NEAREST),t.texImage2D(t.TEXTURE_2D,0,t.ALPHA,256,1,0,t.ALPHA,t.UNSIGNED_BYTE,this.array))}},{}],345:[function(t,e,r){&quot;use strict&quot;;function n(t,e){this.width=t,this.height=e,this.nextRow=0,this.bytes=4,this.data=new Uint8Array(this.width*this.height*this.bytes),this.positions={}}var i=t(&quot;../util/util&quot;);e.exports=n,n.prototype.setSprite=function(t){this.sprite=t},n.prototype.getDash=function(t,e){var r=t.join(&quot;,&quot;)+e;return this.positions[r]||(this.positions[r]=this.addDash(t,e)),this.positions[r]},n.prototype.addDash=function(t,e){var r=e?7:0,n=2*r+1;if(this.nextRow+n&gt;this.height)return i.warnOnce(&quot;LineAtlas out of space&quot;),null;for(var a=0,o=0;o&lt;t.length;o++)a+=t[o];for(var s=this.width/a,l=s/2,c=t.length%2==1,u=-r;u&lt;=r;u++)for(var f=this.nextRow+r+u,h=this.width*f,d=c?-t[t.length-1]:0,p=t[0],m=1,g=0;g&lt;this.width;g++){for(;p&lt;g/s;)d=p,p+=t[m],c&amp;&amp;m===t.length-1&amp;&amp;(p+=t[0]),m++;var v,y=Math.abs(g-d*s),x=Math.abs(g-p*s),b=Math.min(y,x),_=m%2==1;if(e){var w=r?u/r*(l+1):0;if(_){var M=l-Math.abs(w);v=Math.sqrt(b*b+M*M)}else v=l-Math.sqrt(b*b+w*w)}else v=(_?1:-1)*b;this.data[3+4*(h+g)]=Math.max(0,Math.min(255,v+128))}var k={y:(this.nextRow+r+.5)/this.height,height:2*r/this.height,width:a};return this.nextRow+=n,this.dirty=!0,k},n.prototype.bind=function(t){this.texture?(t.bindTexture(t.TEXTURE_2D,this.texture),this.dirty&amp;&amp;(this.dirty=!1,t.texSubImage2D(t.TEXTURE_2D,0,0,0,this.width,this.height,t.RGBA,t.UNSIGNED_BYTE,this.data))):(this.texture=t.createTexture(),t.bindTexture(t.TEXTURE_2D,this.texture),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_S,t.REPEAT),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_T,t.REPEAT),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MIN_FILTER,t.LINEAR),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MAG_FILTER,t.LINEAR),t.texImage2D(t.TEXTURE_2D,0,t.RGBA,this.width,this.height,0,t.RGBA,t.UNSIGNED_BYTE,this.data))}},{&quot;../util/util&quot;:433}],346:[function(t,e,r){&quot;use strict&quot;;function n(t,e){this.gl=t,this.transform=e,this.reusableTextures={},this.preFbos={},this.frameHistory=new o,this.setup(),this.numSublayers=s.maxUnderzooming+s.maxOverzooming+1,this.depthEpsilon=1/Math.pow(2,16),this.lineWidthRange=t.getParameter(t.ALIASED_LINE_WIDTH_RANGE)}var i=t(&quot;../util/browser&quot;),a=t(&quot;gl-matrix&quot;).mat4,o=t(&quot;./frame_history&quot;),s=t(&quot;../source/source_cache&quot;),l=t(&quot;../data/bucket&quot;).EXTENT,c=t(&quot;../source/pixels_to_tile_units&quot;),u=t(&quot;../util/util&quot;),f=t(&quot;../util/struct_array&quot;),h=t(&quot;../data/buffer&quot;),d=t(&quot;./vertex_array_object&quot;),p=t(&quot;./draw_raster&quot;).RasterBoundsArray,m=t(&quot;./create_uniform_pragmas&quot;);e.exports=n,u.extend(n.prototype,t(&quot;./painter/use_program&quot;)),n.prototype.resize=function(t,e){var r=this.gl;this.width=t*i.devicePixelRatio,this.height=e*i.devicePixelRatio,r.viewport(0,0,this.width,this.height)},n.prototype.setup=function(){var t=this.gl;t.verbose=!0,t.enable(t.BLEND),t.blendFunc(t.ONE,t.ONE_MINUS_SRC_ALPHA),t.enable(t.STENCIL_TEST),t.enable(t.DEPTH_TEST),t.depthFunc(t.LEQUAL),this._depthMask=!1,t.depthMask(!1);var e=this.PosArray=new f({members:[{name:&quot;a_pos&quot;,type:&quot;Int16&quot;,components:2}]}),r=new e;r.emplaceBack(0,0),r.emplaceBack(l,0),r.emplaceBack(0,l),r.emplaceBack(l,l),this.tileExtentBuffer=new h(r.serialize(),e.serialize(),h.BufferType.VERTEX),this.tileExtentVAO=new d,this.tileExtentPatternVAO=new d;var n=new e;n.emplaceBack(0,0),n.emplaceBack(l,0),n.emplaceBack(l,l),n.emplaceBack(0,l),n.emplaceBack(0,0),this.debugBuffer=new h(n.serialize(),e.serialize(),h.BufferType.VERTEX),this.debugVAO=new d;var i=new p;i.emplaceBack(0,0,0,0),i.emplaceBack(l,0,32767,0),i.emplaceBack(0,l,0,32767),i.emplaceBack(l,l,32767,32767),this.rasterBoundsBuffer=new h(i.serialize(),p.serialize(),h.BufferType.VERTEX),this.rasterBoundsVAO=new d},n.prototype.clearColor=function(){var t=this.gl;t.clearColor(0,0,0,0),t.clear(t.COLOR_BUFFER_BIT)},n.prototype.clearStencil=function(){var t=this.gl;t.clearStencil(0),t.stencilMask(255),t.clear(t.STENCIL_BUFFER_BIT)},n.prototype.clearDepth=function(){var t=this.gl;t.clearDepth(1),this.depthMask(!0),t.clear(t.DEPTH_BUFFER_BIT)},n.prototype._renderTileClippingMasks=function(t){var e=this.gl;e.colorMask(!1,!1,!1,!1),this.depthMask(!1),e.disable(e.DEPTH_TEST),e.enable(e.STENCIL_TEST),e.stencilMask(248),e.stencilOp(e.KEEP,e.KEEP,e.REPLACE);var r=1;this._tileClippingMaskIDs={};for(var n=0;n&lt;t.length;n++){var i=t[n],a=this._tileClippingMaskIDs[i.id]=r++&lt;&lt;3;e.stencilFunc(e.ALWAYS,a,248);var o=m([{name:&quot;u_color&quot;,components:4},{name:&quot;u_opacity&quot;,components:1}]),s=this.useProgram(&quot;fill&quot;,[],o,o);e.uniformMatrix4fv(s.u_matrix,!1,i.posMatrix),this.tileExtentVAO.bind(e,s,this.tileExtentBuffer),e.drawArrays(e.TRIANGLE_STRIP,0,this.tileExtentBuffer.length)}e.stencilMask(0),e.colorMask(!0,!0,!0,!0),this.depthMask(!0),e.enable(e.DEPTH_TEST)},n.prototype.enableTileClippingMask=function(t){var e=this.gl;e.stencilFunc(e.EQUAL,this._tileClippingMaskIDs[t.id],248)},n.prototype.prepareBuffers=function(){},n.prototype.bindDefaultFramebuffer=function(){var t=this.gl;t.bindFramebuffer(t.FRAMEBUFFER,null)};var g={symbol:t(&quot;./draw_symbol&quot;),circle:t(&quot;./draw_circle&quot;),line:t(&quot;./draw_line&quot;),fill:t(&quot;./draw_fill&quot;),raster:t(&quot;./draw_raster&quot;),background:t(&quot;./draw_background&quot;),debug:t(&quot;./draw_debug&quot;)};n.prototype.render=function(t,e){this.style=t,this.options=e,this.lineAtlas=t.lineAtlas,this.spriteAtlas=t.spriteAtlas,this.spriteAtlas.setSprite(t.sprite),this.glyphSource=t.glyphSource,this.frameHistory.record(this.transform.zoom),this.prepareBuffers(),this.clearColor(),this.clearDepth(),this.showOverdrawInspector(e.showOverdrawInspector),this.depthRange=(t._order.length+2)*this.numSublayers*this.depthEpsilon,this.renderPass({isOpaquePass:!0}),this.renderPass({isOpaquePass:!1})},n.prototype.renderPass=function(t){var e=this.style._groups,r=t.isOpaquePass;this.currentLayer=r?this.style._order.length:-1;for(var n=0;n&lt;e.length;n++){var i,a=e[r?e.length-1-n:n],o=this.style.sources[a.source],s=[];if(o){for(s=o.getVisibleCoordinates(),i=0;i&lt;s.length;i++)s[i].posMatrix=this.transform.calculatePosMatrix(s[i],o.maxzoom);this.clearStencil(),o.prepare&amp;&amp;o.prepare(),o.isTileClipped&amp;&amp;this._renderTileClippingMasks(s)}for(r?(this._showOverdrawInspector||this.gl.disable(this.gl.BLEND),this.isOpaquePass=!0):(this.gl.enable(this.gl.BLEND),this.isOpaquePass=!1,s.reverse()),i=0;i&lt;a.length;i++){var l=a[r?a.length-1-i:i];this.currentLayer+=r?-1:1,this.renderLayer(this,o,l,s)}o&amp;&amp;g.debug(this,o,s)}},n.prototype.depthMask=function(t){t!==this._depthMask&amp;&amp;(this._depthMask=t,this.gl.depthMask(t))},n.prototype.renderLayer=function(t,e,r,n){r.isHidden(this.transform.zoom)||(&quot;background&quot;===r.type||n.length)&amp;&amp;(this.id=r.id,g[r.type](t,e,r,n))},n.prototype.setDepthSublayer=function(t){var e=1-((1+this.currentLayer)*this.numSublayers+t)*this.depthEpsilon,r=e-1+this.depthRange;this.gl.depthRange(r,e)},n.prototype.translatePosMatrix=function(t,e,r,n){if(!r[0]&amp;&amp;!r[1])return t;if(&quot;viewport&quot;===n){var i=Math.sin(-this.transform.angle),o=Math.cos(-this.transform.angle);r=[r[0]*o-r[1]*i,r[0]*i+r[1]*o]}var s=[c(e,r[0],this.transform.zoom),c(e,r[1],this.transform.zoom),0],l=new Float32Array(16);return a.translate(l,t,s),l},n.prototype.saveTexture=function(t){var e=this.reusableTextures[t.size];e?e.push(t):this.reusableTextures[t.size]=[t]},n.prototype.getTexture=function(t){var e=this.reusableTextures[t];return e&amp;&amp;e.length&gt;0?e.pop():null},n.prototype.lineWidth=function(t){this.gl.lineWidth(u.clamp(t,this.lineWidthRange[0],this.lineWidthRange[1]))},n.prototype.showOverdrawInspector=function(t){if(t||this._showOverdrawInspector){this._showOverdrawInspector=t;var e=this.gl;if(t){e.blendFunc(e.CONSTANT_COLOR,e.ONE);e.blendColor(1/8,1/8,1/8,0),e.clearColor(0,0,0,1),e.clear(e.COLOR_BUFFER_BIT)}else e.blendFunc(e.ONE,e.ONE_MINUS_SRC_ALPHA)}}},{&quot;../data/bucket&quot;:320,&quot;../data/buffer&quot;:325,&quot;../source/pixels_to_tile_units&quot;:354,&quot;../source/source_cache&quot;:358,&quot;../util/browser&quot;:417,&quot;../util/struct_array&quot;:431,&quot;../util/util&quot;:433,&quot;./create_uniform_pragmas&quot;:335,&quot;./draw_background&quot;:336,&quot;./draw_circle&quot;:337,&quot;./draw_debug&quot;:339,&quot;./draw_fill&quot;:340,&quot;./draw_line&quot;:341,&quot;./draw_raster&quot;:342,&quot;./draw_symbol&quot;:343,&quot;./frame_history&quot;:344,&quot;./painter/use_program&quot;:347,&quot;./vertex_array_object&quot;:348,&quot;gl-matrix&quot;:198}],347:[function(t,e,r){&quot;use strict&quot;;function n(t,e){return t.replace(/#pragma mapbox: ([\w]+) ([\w]+) ([\w]+) ([\w]+)/g,function(t,r,n,i,a){return e[r][a].replace(/{type}/g,i).replace(/{precision}/g,n)})}var i=t(&quot;assert&quot;),a=t(&quot;../../util/util&quot;),o=t(&quot;mapbox-gl-shaders&quot;),s=o.util;e.exports._createProgram=function(t,e,r,l){for(var c=this.gl,u=c.createProgram(),f=o[t],h=&quot;#define MAPBOX_GL_JS;\n&quot;,d=0;d&lt;e.length;d++)h+=&quot;#define &quot;+e[d]+&quot;;\n&quot;;var p=c.createShader(c.FRAGMENT_SHADER);c.shaderSource(p,n(h+f.fragmentSource,l)),c.compileShader(p),i(c.getShaderParameter(p,c.COMPILE_STATUS),c.getShaderInfoLog(p)),c.attachShader(u,p);var m=c.createShader(c.VERTEX_SHADER);c.shaderSource(m,n(h+s+f.vertexSource,r)),c.compileShader(m),i(c.getShaderParameter(m,c.COMPILE_STATUS),c.getShaderInfoLog(m)),c.attachShader(u,m),c.linkProgram(u),i(c.getProgramParameter(u,c.LINK_STATUS),c.getProgramInfoLog(u));for(var g={},v=c.getProgramParameter(u,c.ACTIVE_ATTRIBUTES),y=0;y&lt;v;y++){var x=c.getActiveAttrib(u,y);g[x.name]=c.getAttribLocation(u,x.name)}for(var b={},_=c.getProgramParameter(u,c.ACTIVE_UNIFORMS),w=0;w&lt;_;w++){var M=c.getActiveUniform(u,w);b[M.name]=c.getUniformLocation(u,M.name)}return a.extend({program:u,definition:f,attributes:g,numAttributes:v},g,b)},e.exports._createProgramCached=function(t,e,r,n){this.cache=this.cache||{};var i=JSON.stringify({name:t,defines:e,vertexPragmas:r,fragmentPragmas:n});return this.cache[i]||(this.cache[i]=this._createProgram(t,e,r,n)),this.cache[i]},e.exports.useProgram=function(t,e,r,n){var i=this.gl;e=e||[],this._showOverdrawInspector&amp;&amp;(e=e.concat(&quot;OVERDRAW_INSPECTOR&quot;));var a=this._createProgramCached(t,e,r,n);return this.currentProgram!==a&amp;&amp;(i.useProgram(a.program),this.currentProgram=a),a}},{&quot;../../util/util&quot;:433,assert:51,&quot;mapbox-gl-shaders&quot;:294}],348:[function(t,e,r){&quot;use strict&quot;;function n(){this.boundProgram=null,this.boundVertexBuffer=null,this.boundVertexBuffer2=null,this.boundElementBuffer=null,this.vao=null}var i=t(&quot;assert&quot;);e.exports=n,n.prototype.bind=function(t,e,r,n,i){void 0===t.extVertexArrayObject&amp;&amp;(t.extVertexArrayObject=t.getExtension(&quot;OES_vertex_array_object&quot;));var a=!this.vao||this.boundProgram!==e||this.boundVertexBuffer!==r||this.boundVertexBuffer2!==i||this.boundElementBuffer!==n;!t.extVertexArrayObject||a?this.freshBind(t,e,r,n,i):t.extVertexArrayObject.bindVertexArrayOES(this.vao)},n.prototype.freshBind=function(t,e,r,n,a){var o,s=e.numAttributes;if(t.extVertexArrayObject)this.vao&amp;&amp;this.destroy(t),this.vao=t.extVertexArrayObject.createVertexArrayOES(),t.extVertexArrayObject.bindVertexArrayOES(this.vao),o=0,this.boundProgram=e,this.boundVertexBuffer=r,this.boundVertexBuffer2=a,this.boundElementBuffer=n;else{o=t.currentNumAttributes||0;for(var l=s;l&lt;o;l++)i(0!==l),t.disableVertexAttribArray(l)}for(var c=o;c&lt;s;c++)t.enableVertexAttribArray(c);r.bind(t),r.setVertexAttribPointers(t,e),a&amp;&amp;(a.bind(t),a.setVertexAttribPointers(t,e)),n&amp;&amp;n.bind(t),t.currentNumAttributes=s},n.prototype.unbind=function(t){var e=t.extVertexArrayObject;e&amp;&amp;e.bindVertexArrayOES(null)},n.prototype.destroy=function(t){var e=t.extVertexArrayObject;e&amp;&amp;this.vao&amp;&amp;(e.deleteVertexArrayOES(this.vao),this.vao=null)}},{assert:51}],349:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r){e=e||{},this.id=t,this.dispatcher=r,this._data=e.data,void 0!==e.maxzoom&amp;&amp;(this.maxzoom=e.maxzoom),e.type&amp;&amp;(this.type=e.type);var n=s/this.tileSize;this.workerOptions=a.extend({source:this.id,cluster:e.cluster||!1,geojsonVtOptions:{buffer:(void 0!==e.buffer?e.buffer:128)*n,tolerance:(void 0!==e.tolerance?e.tolerance:.375)*n,extent:s,maxZoom:this.maxzoom},superclusterOptions:{maxZoom:Math.min(e.clusterMaxZoom,this.maxzoom-1)||this.maxzoom-1,extent:s,radius:(e.clusterRadius||50)*n,log:!1}},e.workerOptions),this._updateWorkerData(function(t){t?this.fire(&quot;error&quot;,{error:t}):this.fire(&quot;load&quot;)}.bind(this))}var i=t(&quot;../util/evented&quot;),a=t(&quot;../util/util&quot;),o=t(&quot;resolve-url&quot;),s=t(&quot;../data/bucket&quot;).EXTENT;e.exports=n,n.prototype=a.inherit(i,{type:&quot;geojson&quot;,minzoom:0,maxzoom:18,tileSize:512,isTileClipped:!0,reparseOverscaled:!0,onAdd:function(t){this.map=t},setData:function(t){return this._data=t,this._updateWorkerData(function(t){if(t)return this.fire(&quot;error&quot;,{error:t});this.fire(&quot;change&quot;)}.bind(this)),this},_updateWorkerData:function(t){var e=a.extend({},this.workerOptions),r=this._data;&quot;string&quot;==typeof r?e.url=&quot;undefined&quot;!=typeof window?o(window.location.href,r):r:e.data=JSON.stringify(r),this.workerID=this.dispatcher.send(this.type+&quot;.loadData&quot;,e,function(e){this._loaded=!0,t(e)}.bind(this))},loadTile:function(t,e){var r=t.coord.z&gt;this.maxzoom?Math.pow(2,t.coord.z-this.maxzoom):1,n={type:this.type,uid:t.uid,coord:t.coord,zoom:t.coord.z,maxZoom:this.maxzoom,tileSize:this.tileSize,source:this.id,overscaling:r,angle:this.map.transform.angle,pitch:this.map.transform.pitch,showCollisionBoxes:this.map.showCollisionBoxes};t.workerID=this.dispatcher.send(&quot;load tile&quot;,n,function(r,n){if(t.unloadVectorData(this.map.painter),!t.aborted)return r?e(r):(t.loadVectorData(n,this.map.style),t.redoWhenDone&amp;&amp;(t.redoWhenDone=!1,t.redoPlacement(this)),e(null))}.bind(this),this.workerID)},abortTile:function(t){t.aborted=!0},unloadTile:function(t){t.unloadVectorData(this.map.painter),this.dispatcher.send(&quot;remove tile&quot;,{uid:t.uid,source:this.id},function(){},t.workerID)},serialize:function(){return{type:this.type,data:this._data}}})},{&quot;../data/bucket&quot;:320,&quot;../util/evented&quot;:425,&quot;../util/util&quot;:433,&quot;resolve-url&quot;:508}],350:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r){r&amp;&amp;(this.loadGeoJSON=r),f.call(this,t,e)}var i=t(&quot;../util/util&quot;),a=t(&quot;../util/ajax&quot;),o=t(&quot;geojson-rewind&quot;),s=t(&quot;./geojson_wrapper&quot;),l=t(&quot;vt-pbf&quot;),c=t(&quot;supercluster&quot;),u=t(&quot;geojson-vt&quot;),f=t(&quot;./vector_tile_worker_source&quot;);e.exports=n,n.prototype=i.inherit(f,{_geoJSONIndexes:{},loadVectorData:function(t,e){var r=t.source,n=t.coord;if(!this._geoJSONIndexes[r])return e(null,null);var i=this._geoJSONIndexes[r].getTile(Math.min(n.z,t.maxZoom),n.x,n.y);if(!i)return e(null,null);var a=new s(i.features);a.name=&quot;_geojsonTileLayer&quot;;var o=l({layers:{_geojsonTileLayer:a}});0===o.byteOffset&amp;&amp;o.byteLength===o.buffer.byteLength||(o=new Uint8Array(o)),e(null,{tile:a,rawTileData:o.buffer})},loadData:function(t,e){var r=function(r,n){return r?e(r):&quot;object&quot;!=typeof n?e(new Error(&quot;Input data is not a valid GeoJSON object.&quot;)):(o(n,!0),void this._indexData(n,t,function(r,n){if(r)return e(r);this._geoJSONIndexes[t.source]=n,e(null)}.bind(this)))}.bind(this);this.loadGeoJSON(t,r)},loadGeoJSON:function(t,e){if(t.url)a.getJSON(t.url,e);else{if(&quot;string&quot;!=typeof t.data)return e(new Error(&quot;Input data is not a valid GeoJSON object.&quot;));try{return e(null,JSON.parse(t.data))}catch(t){return e(new Error(&quot;Input data is not a valid GeoJSON object.&quot;))}}},_indexData:function(t,e,r){try{e.cluster?r(null,c(e.superclusterOptions).load(t.features)):r(null,u(t,e.geojsonVtOptions))}catch(t){return r(t)}}})},{&quot;../util/ajax&quot;:416,&quot;../util/util&quot;:433,&quot;./geojson_wrapper&quot;:351,&quot;./vector_tile_worker_source&quot;:362,&quot;geojson-rewind&quot;:147,&quot;geojson-vt&quot;:151,supercluster:538,&quot;vt-pbf&quot;:570}],351:[function(t,e,r){&quot;use strict&quot;;function n(t){this.features=t,this.length=t.length,this.extent=s}function i(t){if(this.type=t.type,1===t.type){this.rawGeometry=[];for(var e=0;e&lt;t.geometry.length;e++)this.rawGeometry.push([t.geometry[e]])}else this.rawGeometry=t.geometry;this.properties=t.tags,this.extent=s}var a=t(&quot;point-geometry&quot;),o=t(&quot;vector-tile&quot;).VectorTileFeature,s=t(&quot;../data/bucket&quot;).EXTENT;e.exports=n,n.prototype.feature=function(t){return new i(this.features[t])},i.prototype.loadGeometry=function(){var t=this.rawGeometry;this.geometry=[];for(var e=0;e&lt;t.length;e++){for(var r=t[e],n=[],i=0;i&lt;r.length;i++)n.push(new a(r[i][0],r[i][1]));this.geometry.push(n)}return this.geometry},i.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&lt;t.length;a++)for(var o=t[a],s=0;s&lt;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]},i.prototype.toGeoJSON=o.prototype.toGeoJSON},{&quot;../data/bucket&quot;:320,&quot;point-geometry&quot;:477,&quot;vector-tile&quot;:564}],352:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r){this.id=t,this.dispatcher=r,this.url=e.url,this.coordinates=e.coordinates,c.getImage(e.url,function(t,r){if(t)return this.fire(&quot;error&quot;,{error:t});this.image=r,this.image.addEventListener(&quot;load&quot;,function(){this.map._rerender()}.bind(this)),this._loaded=!0,this.fire(&quot;load&quot;),this.map&amp;&amp;this.setCoordinates(e.coordinates)}.bind(this))}var i=t(&quot;../util/util&quot;),a=t(&quot;./tile_coord&quot;),o=t(&quot;../geo/lng_lat&quot;),s=t(&quot;point-geometry&quot;),l=t(&quot;../util/evented&quot;),c=t(&quot;../util/ajax&quot;),u=t(&quot;../data/bucket&quot;).EXTENT,f=t(&quot;../render/draw_raster&quot;).RasterBoundsArray,h=t(&quot;../data/buffer&quot;),d=t(&quot;../render/vertex_array_object&quot;);e.exports=n,n.prototype=i.inherit(l,{minzoom:0,maxzoom:22,tileSize:512,onAdd:function(t){this.map=t,this.image&amp;&amp;this.setCoordinates(this.coordinates)},setCoordinates:function(t){this.coordinates=t;var e=this.map,r=t.map(function(t){return e.transform.locationCoordinate(o.convert(t)).zoomTo(0)}),n=this.centerCoord=i.getCoordinatesCenter(r);return n.column=Math.round(n.column),n.row=Math.round(n.row),this.minzoom=this.maxzoom=n.zoom,this._coord=new a(n.zoom,n.column,n.row),this._tileCoords=r.map(function(t){var e=t.zoomTo(n.zoom);return new s(Math.round((e.column-n.column)*u),Math.round((e.row-n.row)*u))}),this.fire(&quot;change&quot;),this},_setTile:function(t){this._prepared=!1,this.tile=t;var e=new f;e.emplaceBack(this._tileCoords[0].x,this._tileCoords[0].y,0,0),e.emplaceBack(this._tileCoords[1].x,this._tileCoords[1].y,32767,0),e.emplaceBack(this._tileCoords[3].x,this._tileCoords[3].y,0,32767),e.emplaceBack(this._tileCoords[2].x,this._tileCoords[2].y,32767,32767),this.tile.buckets={},this.tile.boundsBuffer=new h(e.serialize(),f.serialize(),h.BufferType.VERTEX),this.tile.boundsVAO=new d,this.tile.state=&quot;loaded&quot;},prepare:function(){if(this._loaded&amp;&amp;this.image&amp;&amp;this.image.complete&amp;&amp;this.tile){var t=this.map.painter.gl;this._prepared?(t.bindTexture(t.TEXTURE_2D,this.tile.texture),t.texSubImage2D(t.TEXTURE_2D,0,0,0,t.RGBA,t.UNSIGNED_BYTE,this.image)):(this.tile.texture=t.createTexture(),t.bindTexture(t.TEXTURE_2D,this.tile.texture),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),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MIN_FILTER,t.LINEAR),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MAG_FILTER,t.LINEAR),t.texImage2D(t.TEXTURE_2D,0,t.RGBA,t.RGBA,t.UNSIGNED_BYTE,this.image))}},loadTile:function(t,e){this._coord&amp;&amp;this._coord.toString()===t.coord.toString()?(this._setTile(t),e(null)):(t.state=&quot;errored&quot;,e(null))},serialize:function(){return{type:&quot;image&quot;,urls:this.url,coordinates:this.coordinates}}})},{&quot;../data/bucket&quot;:320,&quot;../data/buffer&quot;:325,&quot;../geo/lng_lat&quot;:330,&quot;../render/draw_raster&quot;:342,&quot;../render/vertex_array_object&quot;:348,&quot;../util/ajax&quot;:416,&quot;../util/evented&quot;:425,&quot;../util/util&quot;:433,&quot;./tile_coord&quot;:360,&quot;point-geometry&quot;:477}],353:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../util/util&quot;),i=t(&quot;../util/ajax&quot;),a=t(&quot;../util/browser&quot;),o=t(&quot;../util/mapbox&quot;).normalizeSourceURL;e.exports=function(t,e){var r=function(t,r){if(t)return e(t);var i=n.pick(r,[&quot;tiles&quot;,&quot;minzoom&quot;,&quot;maxzoom&quot;,&quot;attribution&quot;]);r.vector_layers&amp;&amp;(i.vectorLayers=r.vector_layers,i.vectorLayerIds=i.vectorLayers.map(function(t){return t.id})),e(null,i)};t.url?i.getJSON(o(t.url),r):a.frame(r.bind(null,null,t))}},{&quot;../util/ajax&quot;:416,&quot;../util/browser&quot;:417,&quot;../util/mapbox&quot;:430,&quot;../util/util&quot;:433}],354:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../data/bucket&quot;);e.exports=function(t,e,r){return e*(n.EXTENT/(t.tileSize*Math.pow(2,r-t.coord.z)))}},{&quot;../data/bucket&quot;:320}],355:[function(t,e,r){&quot;use strict&quot;;function n(t,e){var r=t.coord,n=e.coord;return r.z-n.z||r.y-n.y||r.w-n.w||r.x-n.x}var i=t(&quot;./tile_coord&quot;);r.rendered=function(t,e,r,i,a,o){var s=t.tilesIn(r);s.sort(n);for(var l=[],c=0;c&lt;s.length;c++){var u=s[c];u.tile.featureIndex&amp;&amp;l.push(u.tile.featureIndex.query({queryGeometry:u.queryGeometry,scale:u.scale,tileSize:u.tile.tileSize,bearing:o,params:i},e))}return function(t){for(var e=t[0]||{},r=1;r&lt;t.length;r++){var n=t[r];for(var i in n){var a=n[i],o=e[i];if(void 0===o)o=e[i]=a;else for(var s=0;s&lt;a.length;s++)o.push(a[s])}}return e}(l)},r.source=function(t,e){for(var r=t.getRenderableIds().map(function(e){return t.getTileByID(e)}),n=[],a={},o=0;o&lt;r.length;o++){var s=r[o],l=new i(Math.min(s.sourceMaxZoom,s.coord.z),s.coord.x,s.coord.y,0).id;a[l]||(a[l]=!0,s.querySourceFeatures(n,e))}return n}},{&quot;./tile_coord&quot;:360}],356:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r){this.id=t,this.dispatcher=r,i.extend(this,i.pick(e,[&quot;url&quot;,&quot;scheme&quot;,&quot;tileSize&quot;])),s(e,function(t,e){if(t)return this.fire(&quot;error&quot;,t);i.extend(this,e),this.fire(&quot;load&quot;)}.bind(this))}var i=t(&quot;../util/util&quot;),a=t(&quot;../util/ajax&quot;),o=t(&quot;../util/evented&quot;),s=t(&quot;./load_tilejson&quot;),l=t(&quot;../util/mapbox&quot;).normalizeTileURL;e.exports=n,n.prototype=i.inherit(o,{minzoom:0,maxzoom:22,roundZoom:!0,scheme:&quot;xyz&quot;,tileSize:512,_loaded:!1,onAdd:function(t){this.map=t},serialize:function(){return{type:&quot;raster&quot;,url:this.url,tileSize:this.tileSize}},loadTile:function(t,e){var r=l(t.coord.url(this.tiles,null,this.scheme),this.url,this.tileSize);t.request=a.getImage(r,function(r,n){if(delete t.request,!t.aborted){if(r)return e(r);var i=this.map.painter.gl;t.texture=this.map.painter.getTexture(n.width),t.texture?(i.bindTexture(i.TEXTURE_2D,t.texture),i.texSubImage2D(i.TEXTURE_2D,0,0,0,i.RGBA,i.UNSIGNED_BYTE,n)):(t.texture=i.createTexture(),i.bindTexture(i.TEXTURE_2D,t.texture),i.texParameteri(i.TEXTURE_2D,i.TEXTURE_MIN_FILTER,i.LINEAR_MIPMAP_NEAREST),i.texParameteri(i.TEXTURE_2D,i.TEXTURE_MAG_FILTER,i.LINEAR),i.texParameteri(i.TEXTURE_2D,i.TEXTURE_WRAP_S,i.CLAMP_TO_EDGE),i.texParameteri(i.TEXTURE_2D,i.TEXTURE_WRAP_T,i.CLAMP_TO_EDGE),i.pixelStorei(i.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!0),i.texImage2D(i.TEXTURE_2D,0,i.RGBA,i.RGBA,i.UNSIGNED_BYTE,n),t.texture.size=n.width),i.generateMipmap(i.TEXTURE_2D),this.map.animationLoop.set(this.map.style.rasterFadeDuration),t.state=&quot;loaded&quot;,e(null)}}.bind(this))},abortTile:function(t){t.request&amp;&amp;(t.request.abort(),delete t.request)},unloadTile:function(t){t.texture&amp;&amp;this.map.painter.saveTexture(t.texture)}})},{&quot;../util/ajax&quot;:416,&quot;../util/evented&quot;:425,&quot;../util/mapbox&quot;:430,&quot;../util/util&quot;:433,&quot;./load_tilejson&quot;:353}],357:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../util/util&quot;),i={vector:t(&quot;../source/vector_tile_source&quot;),raster:t(&quot;../source/raster_tile_source&quot;),geojson:t(&quot;../source/geojson_source&quot;),video:t(&quot;../source/video_source&quot;),image:t(&quot;../source/image_source&quot;)};r.create=function(t,e,r){if((e=new i[e.type](t,e,r)).id!==t)throw new Error(&quot;Expected Source id to be &quot;+t+&quot; instead of &quot;+e.id);return n.bindAll([&quot;load&quot;,&quot;abort&quot;,&quot;unload&quot;,&quot;serialize&quot;,&quot;prepare&quot;],e),e},r.getType=function(t){return i[t]},r.setType=function(t,e){i[t]=e}},{&quot;../source/geojson_source&quot;:349,&quot;../source/image_source&quot;:352,&quot;../source/raster_tile_source&quot;:356,&quot;../source/vector_tile_source&quot;:361,&quot;../source/video_source&quot;:363,&quot;../util/util&quot;:433}],358:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r){this.id=t,this.dispatcher=r;var n=this._source=o.create(t,e,r).on(&quot;load&quot;,function(){this.map&amp;&amp;this._source.onAdd&amp;&amp;this._source.onAdd(this.map),this._sourceLoaded=!0,this.tileSize=n.tileSize,this.minzoom=n.minzoom,this.maxzoom=n.maxzoom,this.roundZoom=n.roundZoom,this.reparseOverscaled=n.reparseOverscaled,this.isTileClipped=n.isTileClipped,this.attribution=n.attribution,this.vectorLayerIds=n.vectorLayerIds,this.fire(&quot;load&quot;)}.bind(this)).on(&quot;error&quot;,function(t){this._sourceErrored=!0,this.fire(&quot;error&quot;,t)}.bind(this)).on(&quot;change&quot;,function(){this.reload(),this.transform&amp;&amp;this.update(this.transform,this.map&amp;&amp;this.map.style.rasterFadeDuration),this.fire(&quot;change&quot;)}.bind(this));this._tiles={},this._cache=new u(0,this.unloadTile.bind(this)),this._isIdRenderable=this._isIdRenderable.bind(this)}function i(t,e,r){var n=r.zoomTo(Math.min(t.z,e));return{x:(n.column-(t.x+t.w*Math.pow(2,t.z)))*d,y:(n.row-t.y)*d}}function a(t,e){return t%32-e%32}var o=t(&quot;./source&quot;),s=t(&quot;./tile&quot;),l=t(&quot;../util/evented&quot;),c=t(&quot;./tile_coord&quot;),u=t(&quot;../util/lru_cache&quot;),f=t(&quot;../geo/coordinate&quot;),h=t(&quot;../util/util&quot;),d=t(&quot;../data/bucket&quot;).EXTENT;e.exports=n,n.maxOverzooming=10,n.maxUnderzooming=3,n.prototype=h.inherit(l,{onAdd:function(t){this.map=t,this._source&amp;&amp;this._source.onAdd&amp;&amp;this._source.onAdd(t)},loaded:function(){if(this._sourceErrored)return!0;if(!this._sourceLoaded)return!1;for(var t in this._tiles){var e=this._tiles[t];if(&quot;loaded&quot;!==e.state&amp;&amp;&quot;errored&quot;!==e.state)return!1}return!0},getSource:function(){return this._source},loadTile:function(t,e){return this._source.loadTile(t,e)},unloadTile:function(t){if(this._source.unloadTile)return this._source.unloadTile(t)},abortTile:function(t){if(this._source.abortTile)return this._source.abortTile(t)},serialize:function(){return this._source.serialize()},prepare:function(){if(this._sourceLoaded&amp;&amp;this._source.prepare)return this._source.prepare()},getIds:function(){return Object.keys(this._tiles).map(Number).sort(a)},getRenderableIds:function(){return this.getIds().filter(this._isIdRenderable)},_isIdRenderable:function(t){return this._tiles[t].isRenderable()&amp;&amp;!this._coveredTiles[t]},reload:function(){this._cache.reset();for(var t in this._tiles){var e=this._tiles[t];&quot;loading&quot;!==e.state&amp;&amp;(e.state=&quot;reloading&quot;),this.loadTile(this._tiles[t],this._tileLoaded.bind(this,this._tiles[t]))}},_tileLoaded:function(t,e){if(e)return t.state=&quot;errored&quot;,this.fire(&quot;tile.error&quot;,{tile:t,error:e}),void this._source.fire(&quot;tile.error&quot;,{tile:t,error:e});t.source=this,t.timeAdded=(new Date).getTime(),this.fire(&quot;tile.load&quot;,{tile:t}),this._source.fire(&quot;tile.load&quot;,{tile:t})},getTile:function(t){return this.getTileByID(t.id)},getTileByID:function(t){return this._tiles[t]},getZoom:function(t){return t.zoom+t.scaleZoom(t.tileSize/this.tileSize)},findLoadedChildren:function(t,e,r){var n=!1;for(var i in this._tiles){var a=this._tiles[i];if(!(r[i]||!a.isRenderable()||a.coord.z&lt;=t.z||a.coord.z&gt;e)){var o=Math.pow(2,Math.min(a.coord.z,this.maxzoom)-Math.min(t.z,this.maxzoom));if(Math.floor(a.coord.x/o)===t.x&amp;&amp;Math.floor(a.coord.y/o)===t.y)for(r[i]=!0,n=!0;a&amp;&amp;a.coord.z-1&gt;t.z;){var s=a.coord.parent(this.maxzoom).id;(a=this._tiles[s])&amp;&amp;a.isRenderable()&amp;&amp;(delete r[i],r[s]=!0)}}}return n},findLoadedParent:function(t,e,r){for(var n=t.z-1;n&gt;=e;n--){t=t.parent(this.maxzoom);var i=this._tiles[t.id];if(i&amp;&amp;i.isRenderable())return r[t.id]=!0,i;if(this._cache.has(t.id))return this.addTile(t),r[t.id]=!0,this._tiles[t.id]}},updateCacheSize:function(t){var e=(Math.ceil(t.width/t.tileSize)+1)*(Math.ceil(t.height/t.tileSize)+1);this._cache.setMaxSize(Math.floor(5*e))},update:function(t,e){if(this._sourceLoaded){var r,i,a;this.updateCacheSize(t);var o=(this.roundZoom?Math.round:Math.floor)(this.getZoom(t)),s=Math.max(o-n.maxOverzooming,this.minzoom),l=Math.max(o+n.maxUnderzooming,this.minzoom),u={},f=(new Date).getTime();this._coveredTiles={};var d=this.used?t.coveringTiles(this._source):[];for(r=0;r&lt;d.length;r++)i=d[r],a=this.addTile(i),u[i.id]=!0,a.isRenderable()||this.findLoadedChildren(i,l,u)||this.findLoadedParent(i,s,u);for(var p={},m=Object.keys(u),g=0;g&lt;m.length;g++){var v=m[g];i=c.fromID(v),(a=this._tiles[v])&amp;&amp;a.timeAdded&gt;f-(e||0)&amp;&amp;(this.findLoadedChildren(i,l,u)&amp;&amp;(u[v]=!0),this.findLoadedParent(i,s,p))}var y;for(y in p)u[y]||(this._coveredTiles[y]=!0);for(y in p)u[y]=!0;var x=h.keysDifference(this._tiles,u);for(r=0;r&lt;x.length;r++)this.removeTile(+x[r]);this.transform=t}},addTile:function(t){var e=this._tiles[t.id];if(e)return e;var r=t.wrapped();if((e=this._tiles[r.id])||(e=this._cache.get(r.id))&amp;&amp;this._redoPlacement&amp;&amp;this._redoPlacement(e),!e){var n=t.z,i=n&gt;this.maxzoom?Math.pow(2,n-this.maxzoom):1;e=new s(r,this.tileSize*i,this.maxzoom),this.loadTile(e,this._tileLoaded.bind(this,e))}return e.uses++,this._tiles[t.id]=e,this.fire(&quot;tile.add&quot;,{tile:e}),this._source.fire(&quot;tile.add&quot;,{tile:e}),e},removeTile:function(t){var e=this._tiles[t];e&amp;&amp;(e.uses--,delete this._tiles[t],this.fire(&quot;tile.remove&quot;,{tile:e}),this._source.fire(&quot;tile.remove&quot;,{tile:e}),e.uses&gt;0||(e.isRenderable()?this._cache.add(e.coord.wrapped().id,e):(e.aborted=!0,this.abortTile(e),this.unloadTile(e))))},clearTiles:function(){for(var t in this._tiles)this.removeTile(t);this._cache.reset()},tilesIn:function(t){for(var e={},r=this.getIds(),n=1/0,a=1/0,o=-1/0,s=-1/0,l=t[0].zoom,u=0;u&lt;t.length;u++){var h=t[u];n=Math.min(n,h.column),a=Math.min(a,h.row),o=Math.max(o,h.column),s=Math.max(s,h.row)}for(var p=0;p&lt;r.length;p++){var m=this._tiles[r[p]],g=c.fromID(r[p]),v=[i(g,m.sourceMaxZoom,new f(n,a,l)),i(g,m.sourceMaxZoom,new f(o,s,l))];if(v[0].x&lt;d&amp;&amp;v[0].y&lt;d&amp;&amp;v[1].x&gt;=0&amp;&amp;v[1].y&gt;=0){for(var y=[],x=0;x&lt;t.length;x++)y.push(i(g,m.sourceMaxZoom,t[x]));var b=e[m.coord.id];void 0===b&amp;&amp;(b=e[m.coord.id]={tile:m,coord:g,queryGeometry:[],scale:Math.pow(2,this.transform.zoom-m.coord.z)}),b.queryGeometry.push(y)}}var _=[];for(var w in e)_.push(e[w]);return _},redoPlacement:function(){for(var t=this.getIds(),e=0;e&lt;t.length;e++){this.getTileByID(t[e]).redoPlacement(this)}},getVisibleCoordinates:function(){return this.getRenderableIds().map(c.fromID)}})},{&quot;../data/bucket&quot;:320,&quot;../geo/coordinate&quot;:329,&quot;../util/evented&quot;:425,&quot;../util/lru_cache&quot;:429,&quot;../util/util&quot;:433,&quot;./source&quot;:357,&quot;./tile&quot;:359,&quot;./tile_coord&quot;:360}],359:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r){this.coord=t,this.uid=a.uniqueId(),this.uses=0,this.tileSize=e,this.sourceMaxZoom=r,this.buckets={},this.state=&quot;loading&quot;}function i(t,e){if(e){for(var r={},n=0;n&lt;t.length;n++){var i=e.getLayer(t[n].layerId);if(i){var s=o.create(a.extend({layer:i,childLayers:t[n].childLayerIds.map(e.getLayer.bind(e)).filter(function(t){return t})},t[n]));r[s.id]=s}}return r}}var a=t(&quot;../util/util&quot;),o=t(&quot;../data/bucket&quot;),s=t(&quot;../data/feature_index&quot;),l=t(&quot;vector-tile&quot;),c=t(&quot;pbf&quot;),u=t(&quot;../util/vectortile_to_geojson&quot;),f=t(&quot;feature-filter&quot;),h=t(&quot;../symbol/collision_tile&quot;),d=t(&quot;../symbol/collision_box&quot;),p=t(&quot;../symbol/symbol_instances&quot;),m=t(&quot;../symbol/symbol_quads&quot;);e.exports=n,n.prototype={loadVectorData:function(t,e){this.state=&quot;loaded&quot;,t&amp;&amp;(this.collisionBoxArray=new d(t.collisionBoxArray),this.collisionTile=new h(t.collisionTile,this.collisionBoxArray),this.symbolInstancesArray=new p(t.symbolInstancesArray),this.symbolQuadsArray=new m(t.symbolQuadsArray),this.featureIndex=new s(t.featureIndex,t.rawTileData,this.collisionTile),this.rawTileData=t.rawTileData,this.buckets=i(t.buckets,e))},reloadSymbolData:function(t,e,r){if(&quot;unloaded&quot;!==this.state){this.collisionTile=new h(t.collisionTile,this.collisionBoxArray),this.featureIndex.setCollisionTile(this.collisionTile);for(var n in this.buckets){var o=this.buckets[n];&quot;symbol&quot;===o.type&amp;&amp;(o.destroy(e.gl),delete this.buckets[n])}a.extend(this.buckets,i(t.buckets,r))}},unloadVectorData:function(t){for(var e in this.buckets){this.buckets[e].destroy(t.gl)}this.collisionBoxArray=null,this.symbolQuadsArray=null,this.symbolInstancesArray=null,this.collisionTile=null,this.featureIndex=null,this.rawTileData=null,this.buckets=null,this.state=&quot;unloaded&quot;},redoPlacement:function(t){&quot;loaded&quot;===this.state&amp;&amp;&quot;reloading&quot;!==this.state?(this.state=&quot;reloading&quot;,t.dispatcher.send(&quot;redo placement&quot;,{uid:this.uid,source:t.id,angle:t.map.transform.angle,pitch:t.map.transform.pitch,showCollisionBoxes:t.map.showCollisionBoxes},function(e,r){this.reloadSymbolData(r,t.map.painter,t.map.style),t.fire(&quot;tile.load&quot;,{tile:this}),this.state=&quot;loaded&quot;,this.redoWhenDone&amp;&amp;(this.redoPlacement(t),this.redoWhenDone=!1)}.bind(this),this.workerID)):this.redoWhenDone=!0},getBucket:function(t){return this.buckets&amp;&amp;this.buckets[t.ref||t.id]},querySourceFeatures:function(t,e){if(this.rawTileData){this.vtLayers||(this.vtLayers=new l.VectorTile(new c(new Uint8Array(this.rawTileData))).layers);var r=this.vtLayers._geojsonTileLayer||this.vtLayers[e.sourceLayer];if(r)for(var n=f(e.filter),i={z:this.coord.z,x:this.coord.x,y:this.coord.y},a=0;a&lt;r.length;a++){var o=r.feature(a);if(n(o)){var s=new u(o,this.coord.z,this.coord.x,this.coord.y);s.tile=i,t.push(s)}}}},isRenderable:function(){return&quot;loaded&quot;===this.state||&quot;reloading&quot;===this.state}}},{&quot;../data/bucket&quot;:320,&quot;../data/feature_index&quot;:327,&quot;../symbol/collision_box&quot;:385,&quot;../symbol/collision_tile&quot;:387,&quot;../symbol/symbol_instances&quot;:396,&quot;../symbol/symbol_quads&quot;:397,&quot;../util/util&quot;:433,&quot;../util/vectortile_to_geojson&quot;:434,&quot;feature-filter&quot;:141,pbf:470,&quot;vector-tile&quot;:564}],360:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,n){s(!isNaN(t)&amp;&amp;t&gt;=0&amp;&amp;t%1==0),s(!isNaN(e)&amp;&amp;e&gt;=0&amp;&amp;e%1==0),s(!isNaN(r)&amp;&amp;r&gt;=0&amp;&amp;r%1==0),isNaN(n)&amp;&amp;(n=0),this.z=+t,this.x=+e,this.y=+r,this.w=+n,(n*=2)&lt;0&amp;&amp;(n=-1*n-1);var i=1&lt;&lt;this.z;this.id=32*(i*i*n+i*this.y+this.x)+this.z,this.posMatrix=null}function i(t,e){if(t.row&gt;e.row){var r=t;t=e,e=r}return{x0:t.column,y0:t.row,x1:e.column,y1:e.row,dx:e.column-t.column,dy:e.row-t.row}}function a(t,e,r,n,i){var a=Math.max(r,Math.floor(e.y0)),o=Math.min(n,Math.ceil(e.y1));if(t.x0===e.x0&amp;&amp;t.y0===e.y0?t.x0+e.dy/t.dy*t.dx&lt;e.x1:t.x1-e.dy/t.dy*t.dx&lt;e.x0){var s=t;t=e,e=s}for(var l=t.dx/t.dy,c=e.dx/e.dy,u=t.dx&gt;0,f=e.dx&lt;0,h=a;h&lt;o;h++){var d=l*Math.max(0,Math.min(t.dy,h+u-t.y0))+t.x0,p=c*Math.max(0,Math.min(e.dy,h+f-e.y0))+e.x0;i(Math.floor(p),Math.ceil(d),h)}}function o(t,e,r,n,o,s){var l,c=i(t,e),u=i(e,r),f=i(r,t);c.dy&gt;u.dy&amp;&amp;(l=c,c=u,u=l),c.dy&gt;f.dy&amp;&amp;(l=c,c=f,f=l),u.dy&gt;f.dy&amp;&amp;(l=u,u=f,f=l),c.dy&amp;&amp;a(f,c,n,o,s),u.dy&amp;&amp;a(f,u,n,o,s)}var s=t(&quot;assert&quot;),l=t(&quot;whoots-js&quot;),c=t(&quot;../geo/coordinate&quot;);e.exports=n,n.prototype.toString=function(){return this.z+&quot;/&quot;+this.x+&quot;/&quot;+this.y},n.prototype.toCoordinate=function(t){var e=Math.min(this.z,t),r=Math.pow(2,e),n=this.y,i=this.x+r*this.w;return new c(i,n,e)},n.fromID=function(t){var e=t%32,r=1&lt;&lt;e,i=(t-e)/32,a=i%r,o=(i-a)/r%r,s=Math.floor(i/(r*r));return s%2!=0&amp;&amp;(s=-1*s-1),s/=2,new n(e,a,o,s)},n.prototype.url=function(t,e,r){var n=l.getTileBBox(this.x,this.y,this.z),i=function(t,e,r){for(var n,i=&quot;&quot;,a=t;a&gt;0;a--)i+=(e&amp;(n=1&lt;&lt;a-1)?1:0)+(r&amp;n?2:0);return i}(this.z,this.x,this.y);return t[(this.x+this.y)%t.length].replace(&quot;{prefix}&quot;,(this.x%16).toString(16)+(this.y%16).toString(16)).replace(&quot;{z}&quot;,Math.min(this.z,e||this.z)).replace(&quot;{x}&quot;,this.x).replace(&quot;{y}&quot;,&quot;tms&quot;===r?Math.pow(2,this.z)-this.y-1:this.y).replace(&quot;{quadkey}&quot;,i).replace(&quot;{bbox-epsg-3857}&quot;,n)},n.prototype.parent=function(t){return 0===this.z?null:this.z&gt;t?new n(this.z-1,this.x,this.y,this.w):new n(this.z-1,Math.floor(this.x/2),Math.floor(this.y/2),this.w)},n.prototype.wrapped=function(){return new n(this.z,this.x,this.y,0)},n.prototype.children=function(t){if(this.z&gt;=t)return[new n(this.z+1,this.x,this.y,this.w)];var e=this.z+1,r=2*this.x,i=2*this.y;return[new n(e,r,i,this.w),new n(e,r+1,i,this.w),new n(e,r,i+1,this.w),new n(e,r+1,i+1,this.w)]},n.cover=function(t,e,r){function i(t,e,i){var o,l;if(i&gt;=0&amp;&amp;i&lt;=a)for(o=t;o&lt;e;o++)l=new n(r,(o%a+a)%a,i,Math.floor(o/a)),s[l.id]=l}var a=1&lt;&lt;t,s={};return o(e[0],e[1],e[2],0,a,i),o(e[2],e[3],e[0],0,a,i),Object.keys(s).map(function(t){return s[t]})}},{&quot;../geo/coordinate&quot;:329,assert:51,&quot;whoots-js&quot;:580}],361:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r){if(this.id=t,this.dispatcher=r,a.extend(this,a.pick(e,[&quot;url&quot;,&quot;scheme&quot;,&quot;tileSize&quot;])),this._options=a.extend({type:&quot;vector&quot;},e),512!==this.tileSize)throw new Error(&quot;vector tile sources must have a tileSize of 512&quot;);o(e,function(t,e){t?this.fire(&quot;error&quot;,t):(a.extend(this,e),this.fire(&quot;load&quot;))}.bind(this))}var i=t(&quot;../util/evented&quot;),a=t(&quot;../util/util&quot;),o=t(&quot;./load_tilejson&quot;),s=t(&quot;../util/mapbox&quot;).normalizeTileURL;e.exports=n,n.prototype=a.inherit(i,{minzoom:0,maxzoom:22,scheme:&quot;xyz&quot;,tileSize:512,reparseOverscaled:!0,isTileClipped:!0,onAdd:function(t){this.map=t},serialize:function(){return a.extend({},this._options)},loadTile:function(t,e){function r(r,n){if(!t.aborted){if(r)return e(r);t.loadVectorData(n,this.map.style),t.redoWhenDone&amp;&amp;(t.redoWhenDone=!1,t.redoPlacement(this)),e(null),t.reloadCallback&amp;&amp;(this.loadTile(t,t.reloadCallback),t.reloadCallback=null)}}var n=t.coord.z&gt;this.maxzoom?Math.pow(2,t.coord.z-this.maxzoom):1,i={url:s(t.coord.url(this.tiles,this.maxzoom,this.scheme),this.url),uid:t.uid,coord:t.coord,zoom:t.coord.z,tileSize:this.tileSize*n,source:this.id,overscaling:n,angle:this.map.transform.angle,pitch:this.map.transform.pitch,showCollisionBoxes:this.map.showCollisionBoxes};t.workerID?&quot;loading&quot;===t.state?t.reloadCallback=e:(i.rawTileData=t.rawTileData,this.dispatcher.send(&quot;reload tile&quot;,i,r.bind(this),t.workerID)):t.workerID=this.dispatcher.send(&quot;load tile&quot;,i,r.bind(this))},abortTile:function(t){this.dispatcher.send(&quot;abort tile&quot;,{uid:t.uid,source:this.id},null,t.workerID)},unloadTile:function(t){t.unloadVectorData(this.map.painter),this.dispatcher.send(&quot;remove tile&quot;,{uid:t.uid,source:this.id},null,t.workerID)}})},{&quot;../util/evented&quot;:425,&quot;../util/mapbox&quot;:430,&quot;../util/util&quot;:433,&quot;./load_tilejson&quot;:353}],362:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r){this.actor=t,this.styleLayers=e,r&amp;&amp;(this.loadVectorData=r),this.loading={},this.loaded={}}var i=t(&quot;../util/ajax&quot;),a=t(&quot;vector-tile&quot;),o=t(&quot;pbf&quot;),s=t(&quot;./worker_tile&quot;);e.exports=n,n.prototype={loadTile:function(t,e){var r=t.source,n=t.uid;this.loading[r]||(this.loading[r]={});var i=this.loading[r][n]=new s(t);i.abort=this.loadVectorData(t,function(t,a){return delete this.loading[r][n],t?e(t):a?(i.data=a.tile,i.parse(i.data,this.styleLayers.getLayerFamilies(),this.actor,a.rawTileData,e),this.loaded[r]=this.loaded[r]||{},void(this.loaded[r][n]=i)):e(null,null)}.bind(this))},reloadTile:function(t,e){var r=this.loaded[t.source],n=t.uid;if(r&amp;&amp;r[n]){var i=r[n];i.parse(i.data,this.styleLayers.getLayerFamilies(),this.actor,t.rawTileData,e)}},abortTile:function(t){var e=this.loading[t.source],r=t.uid;e&amp;&amp;e[r]&amp;&amp;e[r].abort&amp;&amp;(e[r].abort(),delete e[r])},removeTile:function(t){var e=this.loaded[t.source],r=t.uid;e&amp;&amp;e[r]&amp;&amp;delete e[r]},loadVectorData:function(t,e){var r=i.getArrayBuffer(t.url,function(t,r){if(t)return e(t);var n=new a.VectorTile(new o(new Uint8Array(r)));e(t,{tile:n,rawTileData:r})}.bind(this));return function(){r.abort()}},redoPlacement:function(t,e){var r=this.loaded[t.source],n=this.loading[t.source],i=t.uid;if(r&amp;&amp;r[i]){var a=r[i].redoPlacement(t.angle,t.pitch,t.showCollisionBoxes);a.result&amp;&amp;e(null,a.result,a.transferables)}else n&amp;&amp;n[i]&amp;&amp;(n[i].angle=t.angle)}}},{&quot;../util/ajax&quot;:416,&quot;./worker_tile&quot;:365,pbf:470,&quot;vector-tile&quot;:564}],363:[function(t,e,r){&quot;use strict&quot;;function n(t,e){this.id=t,this.urls=e.urls,this.coordinates=e.coordinates,c.getVideo(e.urls,function(t,r){if(t)return this.fire(&quot;error&quot;,{error:t});this.video=r,this.video.loop=!0;var n;this.video.addEventListener(&quot;playing&quot;,function(){n=this.map.style.animationLoop.set(1/0),this.map._rerender()}.bind(this)),this.video.addEventListener(&quot;pause&quot;,function(){this.map.style.animationLoop.cancel(n)}.bind(this)),this.map&amp;&amp;(this.video.play(),this.setCoordinates(e.coordinates)),this.fire(&quot;load&quot;)}.bind(this))}var i=t(&quot;../util/util&quot;),a=t(&quot;./tile_coord&quot;),o=t(&quot;../geo/lng_lat&quot;),s=t(&quot;point-geometry&quot;),l=t(&quot;../util/evented&quot;),c=t(&quot;../util/ajax&quot;),u=t(&quot;../data/bucket&quot;).EXTENT,f=t(&quot;../render/draw_raster&quot;).RasterBoundsArray,h=t(&quot;../data/buffer&quot;),d=t(&quot;../render/vertex_array_object&quot;);e.exports=n,n.prototype=i.inherit(l,{minzoom:0,maxzoom:22,tileSize:512,roundZoom:!0,getVideo:function(){return this.video},onAdd:function(t){this.map||(this.map=t,this.video&amp;&amp;(this.video.play(),this.setCoordinates(this.coordinates)))},setCoordinates:function(t){this.coordinates=t;var e=this.map,r=t.map(function(t){return e.transform.locationCoordinate(o.convert(t)).zoomTo(0)}),n=this.centerCoord=i.getCoordinatesCenter(r);return n.column=Math.round(n.column),n.row=Math.round(n.row),this.minzoom=this.maxzoom=n.zoom,this._coord=new a(n.zoom,n.column,n.row),this._tileCoords=r.map(function(t){var e=t.zoomTo(n.zoom);return new s(Math.round((e.column-n.column)*u),Math.round((e.row-n.row)*u))}),this.fire(&quot;change&quot;),this},_setTile:function(t){this._prepared=!1,this.tile=t;var e=new f;e.emplaceBack(this._tileCoords[0].x,this._tileCoords[0].y,0,0),e.emplaceBack(this._tileCoords[1].x,this._tileCoords[1].y,32767,0),e.emplaceBack(this._tileCoords[3].x,this._tileCoords[3].y,0,32767),e.emplaceBack(this._tileCoords[2].x,this._tileCoords[2].y,32767,32767),this.tile.buckets={},this.tile.boundsBuffer=new h(e.serialize(),f.serialize(),h.BufferType.VERTEX),this.tile.boundsVAO=new d,this.tile.state=&quot;loaded&quot;},prepare:function(){if(!(this.video.readyState&lt;2)&amp;&amp;this.tile){var t=this.map.painter.gl;this._prepared?(t.bindTexture(t.TEXTURE_2D,this.tile.texture),t.texSubImage2D(t.TEXTURE_2D,0,0,0,t.RGBA,t.UNSIGNED_BYTE,this.video)):(this._prepared=!0,this.tile.texture=t.createTexture(),t.bindTexture(t.TEXTURE_2D,this.tile.texture),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),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MIN_FILTER,t.LINEAR),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MAG_FILTER,t.LINEAR),t.texImage2D(t.TEXTURE_2D,0,t.RGBA,t.RGBA,t.UNSIGNED_BYTE,this.video)),this._currentTime=this.video.currentTime}},loadTile:function(t,e){this._coord&amp;&amp;this._coord.toString()===t.coord.toString()?(this._setTile(t),e(null)):(t.state=&quot;errored&quot;,e(null))},serialize:function(){return{type:&quot;video&quot;,urls:this.urls,coordinates:this.coordinates}}})},{&quot;../data/bucket&quot;:320,&quot;../data/buffer&quot;:325,&quot;../geo/lng_lat&quot;:330,&quot;../render/draw_raster&quot;:342,&quot;../render/vertex_array_object&quot;:348,&quot;../util/ajax&quot;:416,&quot;../util/evented&quot;:425,&quot;../util/util&quot;:433,&quot;./tile_coord&quot;:360,&quot;point-geometry&quot;:477}],364:[function(t,e,r){&quot;use strict&quot;;function n(t){this.self=t,this.actor=new a(t,this);var e={getLayers:function(){return this.layers}.bind(this),getLayerFamilies:function(){return this.layerFamilies}.bind(this)};this.workerSources={vector:new l(this.actor,e),geojson:new c(this.actor,e)},this.self.registerWorkerSource=function(t,r){if(this.workerSources[t])throw new Error('Worker source with name &quot;'+t+'&quot; already registered.');this.workerSources[t]=new r(this.actor,e)}.bind(this)}function i(t){var e={};for(var r in t){var n=t[r],i=n.ref||n.id,a=t[i];a.layout&amp;&amp;&quot;none&quot;===a.layout.visibility||(e[i]=e[i]||[],r===i?e[i].unshift(n):e[i].push(n))}return e}var a=t(&quot;../util/actor&quot;),o=t(&quot;../style/style_layer&quot;),s=t(&quot;../util/util&quot;),l=t(&quot;./vector_tile_worker_source&quot;),c=t(&quot;./geojson_worker_source&quot;);e.exports=function(t){return new n(t)},s.extend(n.prototype,{&quot;set layers&quot;:function(t){function e(t){var e=o.create(t,t.ref&amp;&amp;r.layers[t.ref]);e.updatePaintTransitions({},{transition:!1}),r.layers[e.id]=e}this.layers={};for(var r=this,n=[],a=0;a&lt;t.length;a++){var s=t[a];&quot;fill&quot;!==s.type&amp;&amp;&quot;line&quot;!==s.type&amp;&amp;&quot;circle&quot;!==s.type&amp;&amp;&quot;symbol&quot;!==s.type||(s.ref?n.push(a):e(s))}for(var l=0;l&lt;n.length;l++)e(t[n[l]]);this.layerFamilies=i(this.layers)},&quot;update layers&quot;:function(t){function e(t){var e=a.layers[t.ref];a.layers[t.id]?a.layers[t.id].set(t,e):a.layers[t.id]=o.create(t,e),a.layers[t.id].updatePaintTransitions({},{transition:!1})}var r,n,a=this;for(r in t)(n=t[r]).ref&amp;&amp;e(n);for(r in t)(n=t[r]).ref||e(n);this.layerFamilies=i(this.layers)},&quot;load tile&quot;:function(t,e){var r=t.type||&quot;vector&quot;;this.workerSources[r].loadTile(t,e)},&quot;reload tile&quot;:function(t,e){var r=t.type||&quot;vector&quot;;this.workerSources[r].reloadTile(t,e)},&quot;abort tile&quot;:function(t){var e=t.type||&quot;vector&quot;;this.workerSources[e].abortTile(t)},&quot;remove tile&quot;:function(t){var e=t.type||&quot;vector&quot;;this.workerSources[e].removeTile(t)},&quot;redo placement&quot;:function(t,e){var r=t.type||&quot;vector&quot;;this.workerSources[r].redoPlacement(t,e)},&quot;load worker source&quot;:function(t,e){try{this.self.importScripts(t.url),e()}catch(t){e(t)}}})},{&quot;../style/style_layer&quot;:372,&quot;../util/actor&quot;:415,&quot;../util/util&quot;:433,&quot;./geojson_worker_source&quot;:350,&quot;./vector_tile_worker_source&quot;:362}],365:[function(t,e,r){&quot;use strict&quot;;function n(t){this.coord=t.coord,this.uid=t.uid,this.zoom=t.zoom,this.tileSize=t.tileSize,this.source=t.source,this.overscaling=t.overscaling,this.angle=t.angle,this.pitch=t.pitch,this.showCollisionBoxes=t.showCollisionBoxes}function i(t){return!t.isEmpty()}function a(t){return t.serialize()}function o(t){var e=[];for(var r in t)t[r].getTransferables(e);return e}function s(t){return t.id}var l=t(&quot;../data/feature_index&quot;),c=t(&quot;../symbol/collision_tile&quot;),u=t(&quot;../data/bucket&quot;),f=t(&quot;../symbol/collision_box&quot;),h=t(&quot;../util/dictionary_coder&quot;),d=t(&quot;../util/util&quot;),p=t(&quot;../symbol/symbol_instances&quot;),m=t(&quot;../symbol/symbol_quads&quot;);e.exports=n,n.prototype.parse=function(t,e,r,n,g){function v(t,e){for(var r=0;r&lt;t.length;r++){var n=t.feature(r);n.index=r;for(var i in e)e[i].filter(n)&amp;&amp;e[i].features.push(n)}}function y(t){if(t)return g(t);if(2==++j){for(var e=P.length-1;e&gt;=0;e--)x(E,P[e]);b()}}function x(t,e){if(e.populateArrays(A,N,R),&quot;symbol&quot;!==e.type)for(var r=0;r&lt;e.features.length;r++){var n=e.features[r];T.insert(n,n.index,e.sourceLayerIndex,e.index)}e.features=null}function b(){E.status=&quot;done&quot;,E.redoPlacementAfterDone&amp;&amp;(E.redoPlacement(E.angle,E.pitch,null),E.redoPlacementAfterDone=!1);var t=T.serialize(),e=A.serialize(),r=E.collisionBoxArray.serialize(),s=E.symbolInstancesArray.serialize(),l=E.symbolQuadsArray.serialize(),c=[n].concat(t.transferables).concat(e.transferables),u=I.filter(i);g(null,{buckets:u.map(a),featureIndex:t.data,collisionTile:e.data,collisionBoxArray:r,symbolInstancesArray:s,symbolQuadsArray:l,rawTileData:n},o(u).concat(c))}this.status=&quot;parsing&quot;,this.data=t,this.collisionBoxArray=new f,this.symbolInstancesArray=new p,this.symbolQuadsArray=new m;var _,w,M,k,A=new c(this.angle,this.pitch,this.collisionBoxArray),T=new l(this.coord,this.overscaling,A,t.layers),S=new h(t.layers?Object.keys(t.layers).sort():[&quot;_geojsonTileLayer&quot;]),E=this,L={},C={},z=0;for(var D in e)(w=e[D][0]).source===this.source&amp;&amp;(w.ref||w.minzoom&amp;&amp;this.zoom&lt;w.minzoom||w.maxzoom&amp;&amp;this.zoom&gt;=w.maxzoom||w.layout&amp;&amp;&quot;none&quot;===w.layout.visibility||t.layers&amp;&amp;!t.layers[w.sourceLayer]||((k=u.create({layer:w,index:z++,childLayers:e[D],zoom:this.zoom,overscaling:this.overscaling,showCollisionBoxes:this.showCollisionBoxes,collisionBoxArray:this.collisionBoxArray,symbolQuadsArray:this.symbolQuadsArray,symbolInstancesArray:this.symbolInstancesArray,sourceLayerIndex:S.encode(w.sourceLayer||&quot;_geojsonTileLayer&quot;)})).createFilter(),L[w.id]=k,t.layers&amp;&amp;(C[M=w.sourceLayer]=C[M]||{},C[M][w.id]=k)));if(t.layers)for(M in C)1===w.version&amp;&amp;d.warnOnce('Vector tile source &quot;'+this.source+'&quot; layer &quot;'+M+'&quot; does not use vector tile spec v2 and therefore may have some rendering errors.'),(w=t.layers[M])&amp;&amp;v(w,C[M]);else v(t,L);var I=[],P=this.symbolBuckets=[],O=[];T.bucketLayerIDs={};for(var F in L)0!==(k=L[F]).features.length&amp;&amp;(T.bucketLayerIDs[k.index]=k.childLayers.map(s),I.push(k),&quot;symbol&quot;===k.type?P.push(k):O.push(k));var R={},N={},j=0;if(P.length&gt;0){for(_=P.length-1;_&gt;=0;_--)P[_].updateIcons(R),P[_].updateFont(N);for(var B in N)N[B]=Object.keys(N[B]).map(Number);R=Object.keys(R),r.send(&quot;get glyphs&quot;,{uid:this.uid,stacks:N},function(t,e){N=e,y(t)}),R.length?r.send(&quot;get icons&quot;,{icons:R},function(t,e){R=e,y(t)}):y()}for(_=O.length-1;_&gt;=0;_--)x(0,O[_]);if(0===P.length)return b()},n.prototype.redoPlacement=function(t,e,r){if(&quot;done&quot;!==this.status)return this.redoPlacementAfterDone=!0,this.angle=t,{};for(var n=new c(t,e,this.collisionBoxArray),s=this.symbolBuckets,l=s.length-1;l&gt;=0;l--)s[l].placeFeatures(n,r);var u=n.serialize(),f=s.filter(i);return{result:{buckets:f.map(a),collisionTile:u.data},transferables:o(f).concat(u.transferables)}}},{&quot;../data/bucket&quot;:320,&quot;../data/feature_index&quot;:327,&quot;../symbol/collision_box&quot;:385,&quot;../symbol/collision_tile&quot;:387,&quot;../symbol/symbol_instances&quot;:396,&quot;../symbol/symbol_quads&quot;:397,&quot;../util/dictionary_coder&quot;:423,&quot;../util/util&quot;:433}],366:[function(t,e,r){&quot;use strict&quot;;function n(){this.n=0,this.times=[]}e.exports=n,n.prototype.stopped=function(){return this.times=this.times.filter(function(t){return t.time&gt;=(new Date).getTime()}),!this.times.length},n.prototype.set=function(t){return this.times.push({id:this.n,time:t+(new Date).getTime()}),this.n++},n.prototype.cancel=function(t){this.times=this.times.filter(function(e){return e.id!==t})}},{}],367:[function(t,e,r){&quot;use strict&quot;;function n(t){this.base=t,this.retina=s.devicePixelRatio&gt;1;var e=this.retina?&quot;@2x&quot;:&quot;&quot;;o.getJSON(l(t,e,&quot;.json&quot;),function(t,e){t?this.fire(&quot;error&quot;,{error:t}):(this.data=e,this.img&amp;&amp;this.fire(&quot;load&quot;))}.bind(this)),o.getImage(l(t,e,&quot;.png&quot;),function(t,e){if(t)this.fire(&quot;error&quot;,{error:t});else{for(var r=e.getData(),n=e.data=new Uint8Array(r.length),i=0;i&lt;r.length;i+=4){var a=r[i+3]/255;n[i+0]=r[i+0]*a,n[i+1]=r[i+1]*a,n[i+2]=r[i+2]*a,n[i+3]=r[i+3]}this.img=e,this.data&amp;&amp;this.fire(&quot;load&quot;)}}.bind(this))}function i(){}var a=t(&quot;../util/evented&quot;),o=t(&quot;../util/ajax&quot;),s=t(&quot;../util/browser&quot;),l=t(&quot;../util/mapbox&quot;).normalizeSpriteURL;e.exports=n,(n.prototype=Object.create(a)).toJSON=function(){return this.base},n.prototype.loaded=function(){return!(!this.data||!this.img)},n.prototype.resize=function(){if(s.devicePixelRatio&gt;1!==this.retina){var t=new n(this.base);t.on(&quot;load&quot;,function(){this.img=t.img,this.data=t.data,this.retina=t.retina}.bind(this))}},i.prototype={x:0,y:0,width:0,height:0,pixelRatio:1,sdf:!1},n.prototype.getSpritePosition=function(t){if(!this.loaded())return new i;var e=this.data&amp;&amp;this.data[t];return e&amp;&amp;this.img?e:new i}},{&quot;../util/ajax&quot;:416,&quot;../util/browser&quot;:417,&quot;../util/evented&quot;:425,&quot;../util/mapbox&quot;:430}],368:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;csscolorparser&quot;).parseCSSColor,i=t(&quot;../util/util&quot;),a=t(&quot;./style_function&quot;),o={};e.exports=function t(e){if(a.isFunctionDefinition(e))return i.extend({},e,{stops:e.stops.map(function(e){return[e[0],t(e[1])]})});if(&quot;string&quot;==typeof e){if(!o[e]){var r=n(e);if(!r)throw new Error(&quot;Invalid color &quot;+e);o[e]=[r[0]/255*r[3],r[1]/255*r[3],r[2]/255*r[3],r[3]]}return o[e]}throw new Error(&quot;Invalid color &quot;+e)}},{&quot;../util/util&quot;:433,&quot;./style_function&quot;:371,csscolorparser:114}],369:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r){this.animationLoop=e||new m,this.dispatcher=new p(r||1,this),this.spriteAtlas=new l(1024,1024),this.lineAtlas=new c(256,512),this._layers={},this._order=[],this._groups=[],this.sources={},this.zoomHistory={},u.bindAll([&quot;_forwardSourceEvent&quot;,&quot;_forwardTileEvent&quot;,&quot;_forwardLayerEvent&quot;,&quot;_redoPlacement&quot;],this),this._resetUpdates();var n=function(t,e){if(t)this.fire(&quot;error&quot;,{error:t});else if(!g.emitErrors(this,g(e))){this._loaded=!0,this.stylesheet=e,this.updateClasses();var r=e.sources;for(var n in r)this.addSource(n,r[n]);e.sprite&amp;&amp;(this.sprite=new o(e.sprite),this.sprite.on(&quot;load&quot;,this.fire.bind(this,&quot;change&quot;))),this.glyphSource=new s(e.glyphs),this._resolve(),this.fire(&quot;load&quot;)}}.bind(this);&quot;string&quot;==typeof t?f.getJSON(h(t),n):d.frame(n.bind(this,null,t)),this.on(&quot;source.load&quot;,function(t){var e=t.source;if(e&amp;&amp;e.vectorLayerIds)for(var r in this._layers){var n=this._layers[r];n.source===e.id&amp;&amp;this._validateLayer(n)}})}var i=t(&quot;../util/evented&quot;),a=t(&quot;./style_layer&quot;),o=t(&quot;./image_sprite&quot;),s=t(&quot;../symbol/glyph_source&quot;),l=t(&quot;../symbol/sprite_atlas&quot;),c=t(&quot;../render/line_atlas&quot;),u=t(&quot;../util/util&quot;),f=t(&quot;../util/ajax&quot;),h=t(&quot;../util/mapbox&quot;).normalizeStyleURL,d=t(&quot;../util/browser&quot;),p=t(&quot;../util/dispatcher&quot;),m=t(&quot;./animation_loop&quot;),g=t(&quot;./validate_style&quot;),v=t(&quot;../source/source&quot;),y=t(&quot;../source/query_features&quot;),x=t(&quot;../source/source_cache&quot;),b=t(&quot;./style_spec&quot;),_=t(&quot;./style_function&quot;);e.exports=n,n.prototype=u.inherit(i,{_loaded:!1,_validateLayer:function(t){var e=this.sources[t.source];t.sourceLayer&amp;&amp;e&amp;&amp;e.vectorLayerIds&amp;&amp;-1===e.vectorLayerIds.indexOf(t.sourceLayer)&amp;&amp;this.fire(&quot;error&quot;,{error:new Error('Source layer &quot;'+t.sourceLayer+'&quot; does not exist on source &quot;'+e.id+'&quot; as specified by style layer &quot;'+t.id+'&quot;')})},loaded:function(){if(!this._loaded)return!1;if(Object.keys(this._updates.sources).length)return!1;for(var t in this.sources)if(!this.sources[t].loaded())return!1;return!(this.sprite&amp;&amp;!this.sprite.loaded())},_resolve:function(){var t,e;this._layers={},this._order=this.stylesheet.layers.map(function(t){return t.id});for(var r=0;r&lt;this.stylesheet.layers.length;r++)(e=this.stylesheet.layers[r]).ref||(t=a.create(e),this._layers[t.id]=t,t.on(&quot;error&quot;,this._forwardLayerEvent));for(var n=0;n&lt;this.stylesheet.layers.length;n++)if((e=this.stylesheet.layers[n]).ref){var i=this.getLayer(e.ref);t=a.create(e,i),this._layers[t.id]=t,t.on(&quot;error&quot;,this._forwardLayerEvent)}this._groupLayers(),this._updateWorkerLayers()},_groupLayers:function(){var t;this._groups=[];for(var e=0;e&lt;this._order.length;++e){var r=this._layers[this._order[e]];t&amp;&amp;r.source===t.source||((t=[]).source=r.source,this._groups.push(t)),t.push(r)}},_updateWorkerLayers:function(t){this.dispatcher.broadcast(t?&quot;update layers&quot;:&quot;set layers&quot;,this._serializeLayers(t))},_serializeLayers:function(t){t=t||this._order;for(var e=[],r={includeRefProperties:!0},n=0;n&lt;t.length;n++)e.push(this._layers[t[n]].serialize(r));return e},_applyClasses:function(t,e){if(this._loaded){t=t||[],e=e||{transition:!0};var r=this.stylesheet.transition||{},n=this._updates.allPaintProps?this._layers:this._updates.paintProps;for(var i in n){var a=this._layers[i],o=this._updates.paintProps[i];if(this._updates.allPaintProps||o.all)a.updatePaintTransitions(t,e,r,this.animationLoop);else for(var s in o)this._layers[i].updatePaintTransition(s,t,e,r,this.animationLoop)}}},_recalculate:function(t){for(var e in this.sources)this.sources[e].used=!1;this._updateZoomHistory(t),this.rasterFadeDuration=300;for(var r in this._layers){var n=this._layers[r];n.recalculate(t,this.zoomHistory),!n.isHidden(t)&amp;&amp;n.source&amp;&amp;(this.sources[n.source].used=!0)}Math.floor(this.z)!==Math.floor(t)&amp;&amp;this.animationLoop.set(300),this.z=t,this.fire(&quot;zoom&quot;)},_updateZoomHistory:function(t){var e=this.zoomHistory;void 0===e.lastIntegerZoom&amp;&amp;(e.lastIntegerZoom=Math.floor(t),e.lastIntegerZoomTime=0,e.lastZoom=t),Math.floor(e.lastZoom)&lt;Math.floor(t)?(e.lastIntegerZoom=Math.floor(t),e.lastIntegerZoomTime=Date.now()):Math.floor(e.lastZoom)&gt;Math.floor(t)&amp;&amp;(e.lastIntegerZoom=Math.floor(t+1),e.lastIntegerZoomTime=Date.now()),e.lastZoom=t},_checkLoaded:function(){if(!this._loaded)throw new Error(&quot;Style is not done loading&quot;)},update:function(t,e){if(!this._updates.changed)return this;if(this._updates.allLayers)this._groupLayers(),this._updateWorkerLayers();else{var r=Object.keys(this._updates.layers);r.length&amp;&amp;this._updateWorkerLayers(r)}var n,i=Object.keys(this._updates.sources);for(n=0;n&lt;i.length;n++)this._reloadSource(i[n]);for(n=0;n&lt;this._updates.events.length;n++){var a=this._updates.events[n];this.fire(a[0],a[1])}return this._applyClasses(t,e),this._updates.changed&amp;&amp;this.fire(&quot;change&quot;),this._resetUpdates(),this},_resetUpdates:function(){this._updates={events:[],layers:{},sources:{},paintProps:{}}},addSource:function(t,e){if(this._checkLoaded(),void 0!==this.sources[t])throw new Error(&quot;There is already a source with this ID&quot;);if(!e.type)throw new Error(&quot;The type property must be defined, but the only the following properties were given: &quot;+Object.keys(e)+&quot;.&quot;);return[&quot;vector&quot;,&quot;raster&quot;,&quot;geojson&quot;,&quot;video&quot;,&quot;image&quot;].indexOf(e.type)&gt;=0&amp;&amp;this._handleErrors(g.source,&quot;sources.&quot;+t,e)?this:(e=new x(t,e,this.dispatcher),this.sources[t]=e,e.style=this,e.on(&quot;load&quot;,this._forwardSourceEvent).on(&quot;error&quot;,this._forwardSourceEvent).on(&quot;change&quot;,this._forwardSourceEvent).on(&quot;tile.add&quot;,this._forwardTileEvent).on(&quot;tile.load&quot;,this._forwardTileEvent).on(&quot;tile.error&quot;,this._forwardTileEvent).on(&quot;tile.remove&quot;,this._forwardTileEvent).on(&quot;tile.stats&quot;,this._forwardTileEvent),this._updates.events.push([&quot;source.add&quot;,{source:e}]),this._updates.changed=!0,this)},removeSource:function(t){if(this._checkLoaded(),void 0===this.sources[t])throw new Error(&quot;There is no source with this ID&quot;);var e=this.sources[t];return delete this.sources[t],delete this._updates.sources[t],e.off(&quot;load&quot;,this._forwardSourceEvent).off(&quot;error&quot;,this._forwardSourceEvent).off(&quot;change&quot;,this._forwardSourceEvent).off(&quot;tile.add&quot;,this._forwardTileEvent).off(&quot;tile.load&quot;,this._forwardTileEvent).off(&quot;tile.error&quot;,this._forwardTileEvent).off(&quot;tile.remove&quot;,this._forwardTileEvent).off(&quot;tile.stats&quot;,this._forwardTileEvent),this._updates.events.push([&quot;source.remove&quot;,{source:e}]),this._updates.changed=!0,this},getSource:function(t){return this.sources[t]&amp;&amp;this.sources[t].getSource()},addLayer:function(t,e){if(this._checkLoaded(),!(t instanceof a)){if(this._handleErrors(g.layer,&quot;layers.&quot;+t.id,t,!1,{arrayIndex:-1}))return this;var r=t.ref&amp;&amp;this.getLayer(t.ref);t=a.create(t,r)}return this._validateLayer(t),t.on(&quot;error&quot;,this._forwardLayerEvent),this._layers[t.id]=t,this._order.splice(e?this._order.indexOf(e):1/0,0,t.id),this._updates.allLayers=!0,t.source&amp;&amp;(this._updates.sources[t.source]=!0),this._updates.events.push([&quot;layer.add&quot;,{layer:t}]),this.updateClasses(t.id)},removeLayer:function(t){this._checkLoaded();var e=this._layers[t];if(void 0===e)throw new Error(&quot;There is no layer with this ID&quot;);for(var r in this._layers)this._layers[r].ref===t&amp;&amp;this.removeLayer(r);return e.off(&quot;error&quot;,this._forwardLayerEvent),delete this._layers[t],delete this._updates.layers[t],delete this._updates.paintProps[t],this._order.splice(this._order.indexOf(t),1),this._updates.allLayers=!0,this._updates.events.push([&quot;layer.remove&quot;,{layer:e}]),this._updates.changed=!0,this},getLayer:function(t){return this._layers[t]},getReferentLayer:function(t){var e=this.getLayer(t);return e.ref&amp;&amp;(e=this.getLayer(e.ref)),e},setLayerZoomRange:function(t,e,r){this._checkLoaded();var n=this.getReferentLayer(t);return n.minzoom===e&amp;&amp;n.maxzoom===r?this:(null!=e&amp;&amp;(n.minzoom=e),null!=r&amp;&amp;(n.maxzoom=r),this._updateLayer(n))},setFilter:function(t,e){this._checkLoaded();var r=this.getReferentLayer(t);return null!==e&amp;&amp;this._handleErrors(g.filter,&quot;layers.&quot;+r.id+&quot;.filter&quot;,e)?this:u.deepEqual(r.filter,e)?this:(r.filter=u.clone(e),this._updateLayer(r))},getFilter:function(t){return this.getReferentLayer(t).filter},setLayoutProperty:function(t,e,r){this._checkLoaded();var n=this.getReferentLayer(t);return u.deepEqual(n.getLayoutProperty(e),r)?this:(n.setLayoutProperty(e,r),this._updateLayer(n))},getLayoutProperty:function(t,e){return this.getReferentLayer(t).getLayoutProperty(e)},setPaintProperty:function(t,e,r,n){this._checkLoaded();var i=this.getLayer(t);if(u.deepEqual(i.getPaintProperty(e,n),r))return this;var a=i.isPaintValueFeatureConstant(e);i.setPaintProperty(e,r,n);return!(r&amp;&amp;_.isFunctionDefinition(r)&amp;&amp;&quot;$zoom&quot;!==r.property&amp;&amp;void 0!==r.property)&amp;&amp;a||(this._updates.layers[t]=!0,i.source&amp;&amp;(this._updates.sources[i.source]=!0)),this.updateClasses(t,e)},getPaintProperty:function(t,e,r){return this.getLayer(t).getPaintProperty(e,r)},updateClasses:function(t,e){if(this._updates.changed=!0,t){var r=this._updates.paintProps;r[t]||(r[t]={}),r[t][e||&quot;all&quot;]=!0}else this._updates.allPaintProps=!0;return this},serialize:function(){return u.filterObject({version:this.stylesheet.version,name:this.stylesheet.name,metadata:this.stylesheet.metadata,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:u.mapObject(this.sources,function(t){return t.serialize()}),layers:this._order.map(function(t){return this._layers[t].serialize()},this)},function(t){return void 0!==t})},_updateLayer:function(t){return this._updates.layers[t.id]=!0,t.source&amp;&amp;(this._updates.sources[t.source]=!0),this._updates.changed=!0,this},_flattenRenderedFeatures:function(t){for(var e=[],r=this._order.length-1;r&gt;=0;r--)for(var n=this._order[r],i=0;i&lt;t.length;i++){var a=t[i][n];if(a)for(var o=0;o&lt;a.length;o++)e.push(a[o])}return e},queryRenderedFeatures:function(t,e,r,n){e&amp;&amp;e.filter&amp;&amp;this._handleErrors(g.filter,&quot;queryRenderedFeatures.filter&quot;,e.filter,!0);var i={};if(e&amp;&amp;e.layers)for(var a=0;a&lt;e.layers.length;a++){var o=e.layers[a];i[this._layers[o].source]=!0}var s=[];for(var l in this.sources)if(!e.layers||i[l]){var c=this.sources[l],u=y.rendered(c,this._layers,t,e,r,n);s.push(u)}return this._flattenRenderedFeatures(s)},querySourceFeatures:function(t,e){e&amp;&amp;e.filter&amp;&amp;this._handleErrors(g.filter,&quot;querySourceFeatures.filter&quot;,e.filter,!0);var r=this.sources[t];return r?y.source(r,e):[]},addSourceType:function(t,e,r){return v.getType(t)?r(new Error('A source type called &quot;'+t+'&quot; already exists.')):(v.setType(t,e),e.workerSourceURL?void this.dispatcher.broadcast(&quot;load worker source&quot;,{name:t,url:e.workerSourceURL},r):r(null,null))},_handleErrors:function(t,e,r,n,i){var a=n?g.throwErrors:g.emitErrors,o=t.call(g,u.extend({key:e,style:this.serialize(),value:r,styleSpec:b},i));return a.call(g,this,o)},_remove:function(){this.dispatcher.remove()},_reloadSource:function(t){this.sources[t].reload()},_updateSources:function(t){for(var e in this.sources)this.sources[e].update(t)},_redoPlacement:function(){for(var t in this.sources)this.sources[t].redoPlacement&amp;&amp;this.sources[t].redoPlacement()},_forwardSourceEvent:function(t){this.fire(&quot;source.&quot;+t.type,u.extend({source:t.target.getSource()},t))},_forwardTileEvent:function(t){this.fire(t.type,u.extend({source:t.target},t))},_forwardLayerEvent:function(t){this.fire(&quot;layer.&quot;+t.type,u.extend({layer:{id:t.target.id}},t))},&quot;get sprite json&quot;:function(t,e){var r=this.sprite;r.loaded()?e(null,{sprite:r.data,retina:r.retina}):r.on(&quot;load&quot;,function(){e(null,{sprite:r.data,retina:r.retina})})},&quot;get icons&quot;:function(t,e){var r=this.sprite,n=this.spriteAtlas;r.loaded()?(n.setSprite(r),n.addIcons(t.icons,e)):r.on(&quot;load&quot;,function(){n.setSprite(r),n.addIcons(t.icons,e)})},&quot;get glyphs&quot;:function(t,e){function r(t,r,n){t&amp;&amp;console.error(t),a[n]=r,0===--i&amp;&amp;e(null,a)}var n=t.stacks,i=Object.keys(n).length,a={};for(var o in n)this.glyphSource.getSimpleGlyphs(o,n[o],t.uid,r)}})},{&quot;../render/line_atlas&quot;:345,&quot;../source/query_features&quot;:355,&quot;../source/source&quot;:357,&quot;../source/source_cache&quot;:358,&quot;../symbol/glyph_source&quot;:390,&quot;../symbol/sprite_atlas&quot;:395,&quot;../util/ajax&quot;:416,&quot;../util/browser&quot;:417,&quot;../util/dispatcher&quot;:424,&quot;../util/evented&quot;:425,&quot;../util/mapbox&quot;:430,&quot;../util/util&quot;:433,&quot;./animation_loop&quot;:366,&quot;./image_sprite&quot;:367,&quot;./style_function&quot;:371,&quot;./style_layer&quot;:372,&quot;./style_spec&quot;:379,&quot;./validate_style&quot;:381}],370:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;./style_function&quot;),i=t(&quot;./parse_color&quot;),a=t(&quot;../util/util&quot;);e.exports=function(t,e){this.value=a.clone(e),this.isFunction=n.isFunctionDefinition(e),this.json=JSON.stringify(this.value);var r=&quot;color&quot;===t.type&amp;&amp;this.value?i(this.value):e;if(this.calculate=n[t.function||&quot;piecewise-constant&quot;](r),this.isFeatureConstant=this.calculate.isFeatureConstant,this.isZoomConstant=this.calculate.isZoomConstant,&quot;piecewise-constant&quot;===t.function&amp;&amp;t.transition&amp;&amp;(this.calculate=function(t){return function(e,r){var n,i,a,o=e.zoom,s=e.zoomHistory,l=e.duration,c=o%1,u=Math.min((Date.now()-s.lastIntegerZoomTime)/l,1),f=1;return o&gt;s.lastIntegerZoom?(n=c+(1-c)*u,f*=2,i=t({zoom:o-1},r),a=t({zoom:o},r)):(n=1-(1-u)*c,a=t({zoom:o},r),i=t({zoom:o+1},r),f/=2),void 0===i||void 0===a?void 0:{from:i,fromScale:f,to:a,toScale:1,t:n}}}(this.calculate)),!this.isFeatureConstant&amp;&amp;!this.isZoomConstant){this.stopZoomLevels=[];for(var o=[],s=this.value.stops,l=0;l&lt;this.value.stops.length;l++){var c=s[l][0].zoom;this.stopZoomLevels.indexOf(c)&lt;0&amp;&amp;(this.stopZoomLevels.push(c),o.push([c,o.length]))}this.calculateInterpolationT=n.interpolated({stops:o,base:e.base})}}},{&quot;../util/util&quot;:433,&quot;./parse_color&quot;:368,&quot;./style_function&quot;:371}],371:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;mapbox-gl-function&quot;);r.interpolated=function(t){var e=n.interpolated(t),r=function(t,r){return e(t&amp;&amp;t.zoom,r||{})};return r.isFeatureConstant=e.isFeatureConstant,r.isZoomConstant=e.isZoomConstant,r},r[&quot;piecewise-constant&quot;]=function(t){var e=n[&quot;piecewise-constant&quot;](t),r=function(t,r){return e(t&amp;&amp;t.zoom,r||{})};return r.isFeatureConstant=e.isFeatureConstant,r.isZoomConstant=e.isZoomConstant,r},r.isFunctionDefinition=n.isFunctionDefinition},{&quot;mapbox-gl-function&quot;:293}],372:[function(t,e,r){&quot;use strict&quot;;function n(t,e){this.set(t,e)}function i(t){return t.value}var a=t(&quot;../util/util&quot;),o=t(&quot;./style_transition&quot;),s=t(&quot;./style_declaration&quot;),l=t(&quot;./style_spec&quot;),c=t(&quot;./validate_style&quot;),u=t(&quot;./parse_color&quot;),f=t(&quot;../util/evented&quot;);e.exports=n;n.create=function(e,r){return new({background:t(&quot;./style_layer/background_style_layer&quot;),circle:t(&quot;./style_layer/circle_style_layer&quot;),fill:t(&quot;./style_layer/fill_style_layer&quot;),line:t(&quot;./style_layer/line_style_layer&quot;),raster:t(&quot;./style_layer/raster_style_layer&quot;),symbol:t(&quot;./style_layer/symbol_style_layer&quot;)}[(r||e).type])(e,r)},n.prototype=a.inherit(f,{set:function(t,e){this.id=t.id,this.ref=t.ref,this.metadata=t.metadata,this.type=(e||t).type,this.source=(e||t).source,this.sourceLayer=(e||t)[&quot;source-layer&quot;],this.minzoom=(e||t).minzoom,this.maxzoom=(e||t).maxzoom,this.filter=(e||t).filter,this.paint={},this.layout={},this._paintSpecifications=l[&quot;paint_&quot;+this.type],this._layoutSpecifications=l[&quot;layout_&quot;+this.type],this._paintTransitions={},this._paintTransitionOptions={},this._paintDeclarations={},this._layoutDeclarations={},this._layoutFunctions={};var r,n;for(var i in t){var a=i.match(/^paint(?:\.(.*))?$/);if(a){var o=a[1]||&quot;&quot;;for(r in t[i])this.setPaintProperty(r,t[i][r],o)}}if(this.ref)this._layoutDeclarations=e._layoutDeclarations;else for(n in t.layout)this.setLayoutProperty(n,t.layout[n]);for(r in this._paintSpecifications)this.paint[r]=this.getPaintValue(r);for(n in this._layoutSpecifications)this._updateLayoutValue(n)},setLayoutProperty:function(t,e){if(null==e)delete this._layoutDeclarations[t];else{var r=&quot;layers.&quot;+this.id+&quot;.layout.&quot;+t;if(this._handleErrors(c.layoutProperty,r,t,e))return;this._layoutDeclarations[t]=new s(this._layoutSpecifications[t],e)}this._updateLayoutValue(t)},getLayoutProperty:function(t){return this._layoutDeclarations[t]&amp;&amp;this._layoutDeclarations[t].value},getLayoutValue:function(t,e,r){var n=this._layoutSpecifications[t],i=this._layoutDeclarations[t];return i?i.calculate(e,r):n.default},setPaintProperty:function(t,e,r){var n=&quot;layers.&quot;+this.id+(r?'[&quot;paint.'+r+'&quot;].':&quot;.paint.&quot;)+t;if(a.endsWith(t,&quot;-transition&quot;))if(this._paintTransitionOptions[r||&quot;&quot;]||(this._paintTransitionOptions[r||&quot;&quot;]={}),null===e||void 0===e)delete this._paintTransitionOptions[r||&quot;&quot;][t];else{if(this._handleErrors(c.paintProperty,n,t,e))return;this._paintTransitionOptions[r||&quot;&quot;][t]=e}else if(this._paintDeclarations[r||&quot;&quot;]||(this._paintDeclarations[r||&quot;&quot;]={}),null===e||void 0===e)delete this._paintDeclarations[r||&quot;&quot;][t];else{if(this._handleErrors(c.paintProperty,n,t,e))return;this._paintDeclarations[r||&quot;&quot;][t]=new s(this._paintSpecifications[t],e)}},getPaintProperty:function(t,e){return e=e||&quot;&quot;,a.endsWith(t,&quot;-transition&quot;)?this._paintTransitionOptions[e]&amp;&amp;this._paintTransitionOptions[e][t]:this._paintDeclarations[e]&amp;&amp;this._paintDeclarations[e][t]&amp;&amp;this._paintDeclarations[e][t].value},getPaintValue:function(t,e,r){var n=this._paintSpecifications[t],i=this._paintTransitions[t];return i?i.calculate(e,r):&quot;color&quot;===n.type&amp;&amp;n.default?u(n.default):n.default},getPaintValueStopZoomLevels:function(t){var e=this._paintTransitions[t];return e?e.declaration.stopZoomLevels:[]},getPaintInterpolationT:function(t,e){return this._paintTransitions[t].declaration.calculateInterpolationT({zoom:e})},isPaintValueFeatureConstant:function(t){var e=this._paintTransitions[t];return!e||e.declaration.isFeatureConstant},isLayoutValueFeatureConstant:function(t){var e=this._layoutDeclarations[t];return!e||e.isFeatureConstant},isPaintValueZoomConstant:function(t){var e=this._paintTransitions[t];return!e||e.declaration.isZoomConstant},isHidden:function(t){return!!(this.minzoom&amp;&amp;t&lt;this.minzoom)||(!!(this.maxzoom&amp;&amp;t&gt;=this.maxzoom)||(&quot;none&quot;===this.layout.visibility||0===this.paint[this.type+&quot;-opacity&quot;]))},updatePaintTransitions:function(t,e,r,n){for(var i=a.extend({},this._paintDeclarations[&quot;&quot;]),o=0;o&lt;t.length;o++)a.extend(i,this._paintDeclarations[t[o]]);var s;for(s in i)this._applyPaintDeclaration(s,i[s],e,r,n);for(s in this._paintTransitions)s in i||this._applyPaintDeclaration(s,null,e,r,n)},updatePaintTransition:function(t,e,r,n,i){for(var a=this._paintDeclarations[&quot;&quot;][t],o=0;o&lt;e.length;o++){var s=this._paintDeclarations[e[o]];s&amp;&amp;s[t]&amp;&amp;(a=s[t])}this._applyPaintDeclaration(t,a,r,n,i)},recalculate:function(t,e){for(var r in this._paintTransitions)this.paint[r]=this.getPaintValue(r,{zoom:t,zoomHistory:e});for(var n in this._layoutFunctions)this.layout[n]=this.getLayoutValue(n,{zoom:t,zoomHistory:e})},serialize:function(t){var e={id:this.id,ref:this.ref,metadata:this.metadata,minzoom:this.minzoom,maxzoom:this.maxzoom};for(var r in this._paintDeclarations){e[&quot;&quot;===r?&quot;paint&quot;:&quot;paint.&quot;+r]=a.mapObject(this._paintDeclarations[r],i)}return(!this.ref||t&amp;&amp;t.includeRefProperties)&amp;&amp;a.extend(e,{type:this.type,source:this.source,&quot;source-layer&quot;:this.sourceLayer,filter:this.filter,layout:a.mapObject(this._layoutDeclarations,i)}),a.filterObject(e,function(t,e){return void 0!==t&amp;&amp;!(&quot;layout&quot;===e&amp;&amp;!Object.keys(t).length)})},_applyPaintDeclaration:function(t,e,r,n,i){var l=r.transition?this._paintTransitions[t]:void 0,c=this._paintSpecifications[t];if(null!==e&amp;&amp;void 0!==e||(e=new s(c,c.default)),!l||l.declaration.json!==e.json){var u=a.extend({duration:300,delay:0},n,this.getPaintProperty(t+&quot;-transition&quot;)),f=this._paintTransitions[t]=new o(c,e,l,u);f.instant()||(f.loopID=i.set(f.endTime-Date.now())),l&amp;&amp;i.cancel(l.loopID)}},_updateLayoutValue:function(t){var e=this._layoutDeclarations[t];e&amp;&amp;e.isFunction?this._layoutFunctions[t]=!0:(delete this._layoutFunctions[t],this.layout[t]=this.getLayoutValue(t))},_handleErrors:function(t,e,r,n){return c.emitErrors(this,t.call(c,{key:e,layerType:this.type,objectKey:r,value:n,styleSpec:l,style:{glyphs:!0,sprite:!0}}))}})},{&quot;../util/evented&quot;:425,&quot;../util/util&quot;:433,&quot;./parse_color&quot;:368,&quot;./style_declaration&quot;:370,&quot;./style_layer/background_style_layer&quot;:373,&quot;./style_layer/circle_style_layer&quot;:374,&quot;./style_layer/fill_style_layer&quot;:375,&quot;./style_layer/line_style_layer&quot;:376,&quot;./style_layer/raster_style_layer&quot;:377,&quot;./style_layer/symbol_style_layer&quot;:378,&quot;./style_spec&quot;:379,&quot;./style_transition&quot;:380,&quot;./validate_style&quot;:381}],373:[function(t,e,r){&quot;use strict&quot;;function n(){a.apply(this,arguments)}var i=t(&quot;../../util/util&quot;),a=t(&quot;../style_layer&quot;);e.exports=n,n.prototype=i.inherit(a,{})},{&quot;../../util/util&quot;:433,&quot;../style_layer&quot;:372}],374:[function(t,e,r){&quot;use strict&quot;;function n(){a.apply(this,arguments)}var i=t(&quot;../../util/util&quot;),a=t(&quot;../style_layer&quot;);e.exports=n,n.prototype=i.inherit(a,{})},{&quot;../../util/util&quot;:433,&quot;../style_layer&quot;:372}],375:[function(t,e,r){&quot;use strict&quot;;function n(){a.apply(this,arguments)}var i=t(&quot;../../util/util&quot;),a=t(&quot;../style_layer&quot;);n.prototype=i.inherit(a,{getPaintValue:function(t,e,r){return&quot;fill-outline-color&quot;===t&amp;&amp;void 0===this.getPaintProperty(&quot;fill-outline-color&quot;)?a.prototype.getPaintValue.call(this,&quot;fill-color&quot;,e,r):a.prototype.getPaintValue.call(this,t,e,r)},getPaintValueStopZoomLevels:function(t){return&quot;fill-outline-color&quot;===t&amp;&amp;void 0===this.getPaintProperty(&quot;fill-outline-color&quot;)?a.prototype.getPaintValueStopZoomLevels.call(this,&quot;fill-color&quot;):a.prototype.getPaintValueStopZoomLevels.call(this,arguments)},getPaintInterpolationT:function(t,e){return&quot;fill-outline-color&quot;===t&amp;&amp;void 0===this.getPaintProperty(&quot;fill-outline-color&quot;)?a.prototype.getPaintInterpolationT.call(this,&quot;fill-color&quot;,e):a.prototype.getPaintInterpolationT.call(this,t,e)},isPaintValueFeatureConstant:function(t){return&quot;fill-outline-color&quot;===t&amp;&amp;void 0===this.getPaintProperty(&quot;fill-outline-color&quot;)?a.prototype.isPaintValueFeatureConstant.call(this,&quot;fill-color&quot;):a.prototype.isPaintValueFeatureConstant.call(this,t)},isPaintValueZoomConstant:function(t){return&quot;fill-outline-color&quot;===t&amp;&amp;void 0===this.getPaintProperty(&quot;fill-outline-color&quot;)?a.prototype.isPaintValueZoomConstant.call(this,&quot;fill-color&quot;):a.prototype.isPaintValueZoomConstant.call(this,t)}}),e.exports=n},{&quot;../../util/util&quot;:433,&quot;../style_layer&quot;:372}],376:[function(t,e,r){&quot;use strict&quot;;function n(){a.apply(this,arguments)}var i=t(&quot;../../util/util&quot;),a=t(&quot;../style_layer&quot;);e.exports=n,n.prototype=i.inherit(a,{getPaintValue:function(t,e,r){var n=a.prototype.getPaintValue.apply(this,arguments);if(n&amp;&amp;&quot;line-dasharray&quot;===t){var i=Math.floor(e.zoom);this._flooredZoom!==i&amp;&amp;(this._flooredZoom=i,this._flooredLineWidth=this.getPaintValue(&quot;line-width&quot;,e,r)),n.fromScale*=this._flooredLineWidth,n.toScale*=this._flooredLineWidth}return n}})},{&quot;../../util/util&quot;:433,&quot;../style_layer&quot;:372}],377:[function(t,e,r){&quot;use strict&quot;;function n(){a.apply(this,arguments)}var i=t(&quot;../../util/util&quot;),a=t(&quot;../style_layer&quot;);e.exports=n,n.prototype=i.inherit(a,{})},{&quot;../../util/util&quot;:433,&quot;../style_layer&quot;:372}],378:[function(t,e,r){&quot;use strict&quot;;function n(){a.apply(this,arguments)}var i=t(&quot;../../util/util&quot;),a=t(&quot;../style_layer&quot;);e.exports=n,n.prototype=i.inherit(a,{isHidden:function(){if(a.prototype.isHidden.apply(this,arguments))return!0;var t=0===this.paint[&quot;text-opacity&quot;]||!this.layout[&quot;text-field&quot;],e=0===this.paint[&quot;icon-opacity&quot;]||!this.layout[&quot;icon-image&quot;];return!(!t||!e)},getLayoutValue:function(t,e,r){return(&quot;text-rotation-alignment&quot;!==t||&quot;line&quot;!==this.getLayoutValue(&quot;symbol-placement&quot;,e,r)||this.getLayoutProperty(&quot;text-rotation-alignment&quot;))&amp;&amp;(&quot;icon-rotation-alignment&quot;!==t||&quot;line&quot;!==this.getLayoutValue(&quot;symbol-placement&quot;,e,r)||this.getLayoutProperty(&quot;icon-rotation-alignment&quot;))?&quot;text-pitch-alignment&quot;!==t||this.getLayoutProperty(&quot;text-pitch-alignment&quot;)?a.prototype.getLayoutValue.apply(this,arguments):this.getLayoutValue(&quot;text-rotation-alignment&quot;):&quot;map&quot;}})},{&quot;../../util/util&quot;:433,&quot;../style_layer&quot;:372}],379:[function(t,e,r){&quot;use strict&quot;;e.exports=t(&quot;mapbox-gl-style-spec/reference/latest.min&quot;)},{&quot;mapbox-gl-style-spec/reference/latest.min&quot;:316}],380:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,n){this.declaration=e,this.startTime=this.endTime=(new Date).getTime(),&quot;piecewise-constant&quot;===t.function&amp;&amp;t.transition?this.interp=i:this.interp=o[t.type],this.oldTransition=r,this.duration=n.duration||0,this.delay=n.delay||0,this.instant()||(this.endTime=this.startTime+this.duration+this.delay,this.ease=a.easeCubicInOut),r&amp;&amp;r.endTime&lt;=this.startTime&amp;&amp;delete r.oldTransition}function i(t,e,r){return void 0===(t&amp;&amp;t.to)||void 0===(e&amp;&amp;e.to)?void 0:{from:t.to,fromScale:t.toScale,to:e.to,toScale:e.toScale,t:r}}var a=t(&quot;../util/util&quot;),o=t(&quot;../util/interpolate&quot;);e.exports=n,n.prototype.instant=function(){return!this.oldTransition||!this.interp||0===this.duration&amp;&amp;0===this.delay},n.prototype.calculate=function(t,e){var r=this.declaration.calculate(a.extend({},t,{duration:this.duration}),e);if(this.instant())return r;var n=t.time||Date.now();if(n&lt;this.endTime){var i=this.oldTransition.calculate(a.extend({},t,{time:this.startTime}),e),o=this.ease((n-this.startTime-this.delay)/this.duration);r=this.interp(i,r,o)}return r}},{&quot;../util/interpolate&quot;:427,&quot;../util/util&quot;:433}],381:[function(t,e,r){&quot;use strict&quot;;e.exports=t(&quot;mapbox-gl-style-spec/lib/validate_style.min&quot;),e.exports.emitErrors=function(t,e){if(e&amp;&amp;e.length){for(var r=0;r&lt;e.length;r++)t.fire(&quot;error&quot;,{error:new Error(e[r].message)});return!0}return!1},e.exports.throwErrors=function(t,e){if(e)for(var r=0;r&lt;e.length;r++)throw new Error(e[r].message)}},{&quot;mapbox-gl-style-spec/lib/validate_style.min&quot;:315}],382:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,n){this.x=t,this.y=e,this.angle=r,void 0!==n&amp;&amp;(this.segment=n)}var i=t(&quot;point-geometry&quot;);e.exports=n,(n.prototype=Object.create(i.prototype)).clone=function(){return new n(this.x,this.y,this.angle,this.segment)}},{&quot;point-geometry&quot;:477}],383:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t,e,r,n,i){if(void 0===e.segment)return!0;for(var a=e,o=e.segment+1,s=0;s&gt;-r/2;){if(--o&lt;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&lt;r/2;){var u=t[o-1],f=t[o],h=t[o+1];if(!h)return!1;var d=u.angleTo(f)-f.angleTo(h);for(d=Math.abs((d+3*Math.PI)%(2*Math.PI)-Math.PI),l.push({distance:s,angleDelta:d}),c+=d;s-l[0].distance&gt;n;)c-=l.shift().angleDelta;if(c&gt;i)return!1;o++,s+=f.dist(h)}return!0}},{}],384:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;point-geometry&quot;);e.exports=function(t,e,r,i,a){for(var o=[],s=0;s&lt;t.length;s++)for(var l,c=t[s],u=0;u&lt;c.length-1;u++){var f=c[u],h=c[u+1];f.x&lt;e&amp;&amp;h.x&lt;e||(f.x&lt;e?f=new n(e,f.y+(h.y-f.y)*((e-f.x)/(h.x-f.x)))._round():h.x&lt;e&amp;&amp;(h=new n(e,f.y+(h.y-f.y)*((e-f.x)/(h.x-f.x)))._round()),f.y&lt;r&amp;&amp;h.y&lt;r||(f.y&lt;r?f=new n(f.x+(h.x-f.x)*((r-f.y)/(h.y-f.y)),r)._round():h.y&lt;r&amp;&amp;(h=new n(f.x+(h.x-f.x)*((r-f.y)/(h.y-f.y)),r)._round()),f.x&gt;=i&amp;&amp;h.x&gt;=i||(f.x&gt;=i?f=new n(i,f.y+(h.y-f.y)*((i-f.x)/(h.x-f.x)))._round():h.x&gt;=i&amp;&amp;(h=new n(i,f.y+(h.y-f.y)*((i-f.x)/(h.x-f.x)))._round()),f.y&gt;=a&amp;&amp;h.y&gt;=a||(f.y&gt;=a?f=new n(f.x+(h.x-f.x)*((a-f.y)/(h.y-f.y)),a)._round():h.y&gt;=a&amp;&amp;(h=new n(f.x+(h.x-f.x)*((a-f.y)/(h.y-f.y)),a)._round()),l&amp;&amp;f.equals(l[l.length-1])||(l=[f],o.push(l)),l.push(h)))))}return o}},{&quot;point-geometry&quot;:477}],385:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../util/struct_array&quot;),i=t(&quot;../util/util&quot;),a=t(&quot;point-geometry&quot;),o=e.exports=new n({members:[{type:&quot;Int16&quot;,name:&quot;anchorPointX&quot;},{type:&quot;Int16&quot;,name:&quot;anchorPointY&quot;},{type:&quot;Int16&quot;,name:&quot;x1&quot;},{type:&quot;Int16&quot;,name:&quot;y1&quot;},{type:&quot;Int16&quot;,name:&quot;x2&quot;},{type:&quot;Int16&quot;,name:&quot;y2&quot;},{type:&quot;Float32&quot;,name:&quot;maxScale&quot;},{type:&quot;Uint32&quot;,name:&quot;featureIndex&quot;},{type:&quot;Uint16&quot;,name:&quot;sourceLayerIndex&quot;},{type:&quot;Uint16&quot;,name:&quot;bucketIndex&quot;},{type:&quot;Int16&quot;,name:&quot;bbox0&quot;},{type:&quot;Int16&quot;,name:&quot;bbox1&quot;},{type:&quot;Int16&quot;,name:&quot;bbox2&quot;},{type:&quot;Int16&quot;,name:&quot;bbox3&quot;},{type:&quot;Float32&quot;,name:&quot;placementScale&quot;}]});i.extendAll(o.prototype.StructType.prototype,{get anchorPoint(){return new a(this.anchorPointX,this.anchorPointY)}})},{&quot;../util/struct_array&quot;:431,&quot;../util/util&quot;:433,&quot;point-geometry&quot;:477}],386:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,n,i,a,o,s,l,c,u){var f=o.top*s-l,h=o.bottom*s+l,d=o.left*s-l,p=o.right*s+l;if(this.boxStartIndex=t.length,c){var m=h-f,g=p-d;if(m&gt;0)if(m=Math.max(10*s,m),u){var v=e[r.segment+1].sub(e[r.segment])._unit()._mult(g),y=[r.sub(v),r.add(v)];this._addLineCollisionBoxes(t,y,r,0,g,m,n,i,a)}else this._addLineCollisionBoxes(t,e,r,r.segment,g,m,n,i,a)}else t.emplaceBack(r.x,r.y,d,f,p,h,1/0,n,i,a,0,0,0,0,0);this.boxEndIndex=t.length}e.exports=n,n.prototype._addLineCollisionBoxes=function(t,e,r,n,i,a,o,s,l){var c=a/2,u=Math.floor(i/c),f=-a/2,h=this.boxes,d=r,p=n+1,m=f;do{if(--p&lt;0)return h;m-=e[p].dist(d),d=e[p]}while(m&gt;-i/2);for(var g=e[p].dist(e[p+1]),v=0;v&lt;u;v++){for(var y=-i/2+v*c;m+g&lt;y;){if(m+=g,++p+1&gt;=e.length)return h;g=e[p].dist(e[p+1])}var x=y-m,b=e[p],_=e[p+1].sub(b)._unit()._mult(x)._add(b)._round(),w=i/2/Math.max(Math.abs(y-f)-c/2,0);t.emplaceBack(_.x,_.y,-a/2,-a/2,a/2,a/2,w,o,s,l,0,0,0,0,0)}return h}},{}],387:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r){if(&quot;object&quot;==typeof t){var n=t;r=e,t=n.angle,e=n.pitch,this.grid=new o(n.grid),this.ignoredGrid=new o(n.ignoredGrid)}else this.grid=new o(a,12,6),this.ignoredGrid=new o(a,12,0);this.angle=t,this.pitch=e;var i=Math.sin(t),s=Math.cos(t);if(this.rotationMatrix=[s,-i,i,s],this.reverseRotationMatrix=[s,i,-i,s],this.yStretch=1/Math.cos(e/180*Math.PI),this.yStretch=Math.pow(this.yStretch,1.3),this.collisionBoxArray=r,0===r.length){r.emplaceBack();r.emplaceBack(0,0,0,-32767,0,32767,32767,0,0,0,0,0,0,0,0,0),r.emplaceBack(a,0,0,-32767,0,32767,32767,0,0,0,0,0,0,0,0,0),r.emplaceBack(0,0,-32767,0,32767,0,32767,0,0,0,0,0,0,0,0,0),r.emplaceBack(0,a,-32767,0,32767,0,32767,0,0,0,0,0,0,0,0,0)}this.tempCollisionBox=r.get(0),this.edges=[r.get(1),r.get(2),r.get(3),r.get(4)]}var i=t(&quot;point-geometry&quot;),a=t(&quot;../data/bucket&quot;).EXTENT,o=t(&quot;grid-index&quot;);e.exports=n,n.prototype.serialize=function(){var t={angle:this.angle,pitch:this.pitch,grid:this.grid.toArrayBuffer(),ignoredGrid:this.ignoredGrid.toArrayBuffer()};return{data:t,transferables:[t.grid,t.ignoredGrid]}},n.prototype.minScale=.25,n.prototype.maxScale=2,n.prototype.placeCollisionFeature=function(t,e,r){for(var n=this.collisionBoxArray,a=this.minScale,o=this.rotationMatrix,s=this.yStretch,l=t.boxStartIndex;l&lt;t.boxEndIndex;l++){var c=n.get(l),u=c.anchorPoint._matMult(o),f=u.x,h=u.y,d=f+c.x1,p=h+c.y1*s,m=f+c.x2,g=h+c.y2*s;if(c.bbox0=d,c.bbox1=p,c.bbox2=m,c.bbox3=g,!e)for(var v=this.grid.query(d,p,m,g),y=0;y&lt;v.length;y++){var x=n.get(v[y]),b=x.anchorPoint._matMult(o);if((a=this.getPlacementScale(a,u,c,b,x))&gt;=this.maxScale)return a}if(r){var _;if(this.angle){var w=this.reverseRotationMatrix,M=new i(c.x1,c.y1).matMult(w),k=new i(c.x2,c.y1).matMult(w),A=new i(c.x1,c.y2).matMult(w),T=new i(c.x2,c.y2).matMult(w);(_=this.tempCollisionBox).anchorPointX=c.anchorPoint.x,_.anchorPointY=c.anchorPoint.y,_.x1=Math.min(M.x,k.x,A.x,T.x),_.y1=Math.min(M.y,k.x,A.x,T.x),_.x2=Math.max(M.x,k.x,A.x,T.x),_.y2=Math.max(M.y,k.x,A.x,T.x),_.maxScale=c.maxScale}else _=c;for(var S=0;S&lt;this.edges.length;S++){var E=this.edges[S];if((a=this.getPlacementScale(a,c.anchorPoint,_,E.anchorPoint,E))&gt;=this.maxScale)return a}}}return a},n.prototype.queryRenderedSymbols=function(t,e,r,n,a){var o={},s=[],l=this.collisionBoxArray,c=this.rotationMatrix,u=new i(t,e)._matMult(c),f=this.tempCollisionBox;f.anchorX=u.x,f.anchorY=u.y,f.x1=0,f.y1=0,f.x2=r-t,f.y2=n-e,f.maxScale=a,a=f.maxScale;for(var h=[u.x+f.x1/a,u.y+f.y1/a*this.yStretch,u.x+f.x2/a,u.y+f.y2/a*this.yStretch],d=this.grid.query(h[0],h[1],h[2],h[3]),p=this.ignoredGrid.query(h[0],h[1],h[2],h[3]),m=0;m&lt;p.length;m++)d.push(p[m]);for(var g=0;g&lt;d.length;g++){var v=l.get(d[g]),y=v.sourceLayerIndex,x=v.featureIndex;if(void 0===o[y]&amp;&amp;(o[y]={}),!o[y][x]){var b=v.anchorPoint.matMult(c);this.getPlacementScale(this.minScale,u,f,b,v)&gt;=a&amp;&amp;(o[y][x]=!0,s.push(d[g]))}}return s},n.prototype.getPlacementScale=function(t,e,r,n,i){var a=e.x-n.x,o=e.y-n.y,s=(i.x1-r.x2)/a,l=(i.x2-r.x1)/a,c=(i.y1-r.y2)*this.yStretch/o,u=(i.y2-r.y1)*this.yStretch/o;(isNaN(s)||isNaN(l))&amp;&amp;(s=l=1),(isNaN(c)||isNaN(u))&amp;&amp;(c=u=1);var f=Math.min(Math.max(s,l),Math.max(c,u)),h=i.maxScale,d=r.maxScale;return f&gt;h&amp;&amp;(f=h),f&gt;d&amp;&amp;(f=d),f&gt;t&amp;&amp;f&gt;=i.placementScale&amp;&amp;(t=f),t},n.prototype.insertCollisionFeature=function(t,e,r){for(var n=r?this.ignoredGrid:this.grid,i=this.collisionBoxArray,a=t.boxStartIndex;a&lt;t.boxEndIndex;a++){var o=i.get(a);o.placementScale=e,e&lt;this.maxScale&amp;&amp;n.insert(a,o.bbox0,o.bbox1,o.bbox2,o.bbox3)}}},{&quot;../data/bucket&quot;:320,&quot;grid-index&quot;:275,&quot;point-geometry&quot;:477}],388:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,s,l,c,u,f,h){for(var d=c/2,p=0,m=0;m&lt;t.length-1;m++)p+=t[m].dist(t[m+1]);for(var g=0,v=e-r,y=[],x=0;x&lt;t.length-1;x++){for(var b=t[x],_=t[x+1],w=b.dist(_),M=_.angleTo(b);v+r&lt;g+w;){var k=((v+=r)-g)/w,A=i(b.x,_.x,k),T=i(b.y,_.y,k);if(A&gt;=0&amp;&amp;A&lt;h&amp;&amp;T&gt;=0&amp;&amp;T&lt;h&amp;&amp;v-d&gt;=0&amp;&amp;v+d&lt;=p){var S=new a(A,T,M,x)._round();s&amp;&amp;!o(t,S,c,s,l)||y.push(S)}}g+=w}return f||y.length||u||(y=n(t,g/2,r,s,l,c,u,!0,h)),y}var i=t(&quot;../util/interpolate&quot;),a=t(&quot;../symbol/anchor&quot;),o=t(&quot;./check_max_angle&quot;);e.exports=function(t,e,r,i,a,o,s,l,c){var u=i?.6*o*s:0,f=Math.max(i?i.right-i.left:0,a?a.right-a.left:0),h=0===t[0].x||t[0].x===c||0===t[0].y||t[0].y===c;return e-f*s&lt;e/4&amp;&amp;(e=f*s+e/4),n(t,h?e/2*l%e:(f/2+2*o)*s*l%e,e,u,r,f*s,h,!1,c)}},{&quot;../symbol/anchor&quot;:382,&quot;../util/interpolate&quot;:427,&quot;./check_max_angle&quot;:383}],389:[function(t,e,r){&quot;use strict&quot;;function n(){this.width=o,this.height=o,this.bin=new i(this.width,this.height),this.index={},this.ids={},this.data=new Uint8Array(this.width*this.height)}var i=t(&quot;shelf-pack&quot;),a=t(&quot;../util/util&quot;),o=128;e.exports=n,n.prototype.getGlyphs=function(){var t,e,r,n={};for(var i in this.ids)e=(t=i.split(&quot;#&quot;))[0],r=t[1],n[e]||(n[e]=[]),n[e].push(r);return n},n.prototype.getRects=function(){var t,e,r,n={};for(var i in this.ids)e=(t=i.split(&quot;#&quot;))[0],r=t[1],n[e]||(n[e]={}),n[e][r]=this.index[i];return n},n.prototype.addGlyph=function(t,e,r,n){if(!r)return null;var i=e+&quot;#&quot;+r.id;if(this.index[i])return this.ids[i].indexOf(t)&lt;0&amp;&amp;this.ids[i].push(t),this.index[i];if(!r.bitmap)return null;var o=r.width+2*n,s=r.height+2*n,l=o+2,c=s+2;l+=4-l%4,c+=4-c%4;var u=this.bin.packOne(l,c);if(u||(this.resize(),u=this.bin.packOne(l,c)),!u)return a.warnOnce(&quot;glyph bitmap overflow&quot;),null;this.index[i]=u,this.ids[i]=[t];for(var f=this.data,h=r.bitmap,d=0;d&lt;s;d++)for(var p=this.width*(u.y+d+1)+u.x+1,m=o*d,g=0;g&lt;o;g++)f[p+g]=h[m+g];return this.dirty=!0,u},n.prototype.resize=function(){var t=this.width,e=this.height;if(!(t&gt;=2048||e&gt;=2048)){this.texture&amp;&amp;(this.gl&amp;&amp;this.gl.deleteTexture(this.texture),this.texture=null),this.width*=4,this.height*=4,this.bin.resize(this.width,this.height);for(var r=new ArrayBuffer(this.width*this.height),n=0;n&lt;e;n++){var i=new Uint8Array(this.data.buffer,e*n,t);new Uint8Array(r,e*n*4,t).set(i)}this.data=new Uint8Array(r)}},n.prototype.bind=function(t){this.gl=t,this.texture?t.bindTexture(t.TEXTURE_2D,this.texture):(this.texture=t.createTexture(),t.bindTexture(t.TEXTURE_2D,this.texture),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MAG_FILTER,t.LINEAR),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MIN_FILTER,t.LINEAR),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),t.texImage2D(t.TEXTURE_2D,0,t.ALPHA,this.width,this.height,0,t.ALPHA,t.UNSIGNED_BYTE,null))},n.prototype.updateTexture=function(t){this.bind(t),this.dirty&amp;&amp;(t.texSubImage2D(t.TEXTURE_2D,0,0,0,this.width,this.height,t.ALPHA,t.UNSIGNED_BYTE,this.data),this.dirty=!1)}},{&quot;../util/util&quot;:433,&quot;shelf-pack&quot;:521}],390:[function(t,e,r){&quot;use strict&quot;;function n(t){this.url=t&amp;&amp;a(t),this.atlases={},this.stacks={},this.loading={}}function i(t,e,r){this.advance=t.advance,this.left=t.left-r-1,this.top=t.top+r+1,this.rect=e}var a=t(&quot;../util/mapbox&quot;).normalizeGlyphsURL,o=t(&quot;../util/ajax&quot;).getArrayBuffer,s=t(&quot;../util/glyphs&quot;),l=t(&quot;../symbol/glyph_atlas&quot;),c=t(&quot;pbf&quot;);e.exports=n,n.prototype.getSimpleGlyphs=function(t,e,r,n){void 0===this.stacks[t]&amp;&amp;(this.stacks[t]={}),void 0===this.atlases[t]&amp;&amp;(this.atlases[t]=new l);for(var a,o={},s=this.stacks[t],c=this.atlases[t],u={},f=0,h=0;h&lt;e.length;h++){var d=e[h];if(a=Math.floor(d/256),s[a]){var p=s[a].glyphs[d],m=c.addGlyph(r,t,p,3);p&amp;&amp;(o[d]=new i(p,m,3))}else void 0===u[a]&amp;&amp;(u[a]=[],f++),u[a].push(d)}f||n(void 0,o,t);var g=function(e,a,s){if(!e)for(var l=this.stacks[t][a]=s.stacks[0],h=0;h&lt;u[a].length;h++){var d=u[a][h],p=l.glyphs[d],m=c.addGlyph(r,t,p,3);p&amp;&amp;(o[d]=new i(p,m,3))}--f||n(void 0,o,t)}.bind(this);for(var v in u)this.loadRange(t,v,g)},n.prototype.loadRange=function(t,e,r){if(256*e&gt;65535)return r(&quot;glyphs &gt; 65535 not supported&quot;);void 0===this.loading[t]&amp;&amp;(this.loading[t]={});var n=this.loading[t];if(n[e])n[e].push(r);else{n[e]=[r];var i=function(t,e,r,n){return n=n||&quot;abc&quot;,r.replace(&quot;{s}&quot;,n[t.length%n.length]).replace(&quot;{fontstack}&quot;,t).replace(&quot;{range}&quot;,e)}(t,256*e+&quot;-&quot;+(256*e+255),this.url);o(i,function(t,r){for(var i=!t&amp;&amp;new s(new c(new Uint8Array(r))),a=0;a&lt;n[e].length;a++)n[e][a](t,e,i);delete n[e]})}},n.prototype.getGlyphAtlas=function(t){return this.atlases[t]}},{&quot;../symbol/glyph_atlas&quot;:389,&quot;../util/ajax&quot;:416,&quot;../util/glyphs&quot;:426,&quot;../util/mapbox&quot;:430,pbf:470}],391:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t,e,r){function n(n){u.push(t[n]),f.push(r[n]),h.push(e[n]),d++}function i(t,e,r){var n=c[t];return delete c[t],c[e]=n,f[n][0].pop(),f[n][0]=f[n][0].concat(r[0]),n}function a(t,e,r){var n=l[e];return delete l[e],l[t]=n,f[n][0].shift(),f[n][0]=r[0].concat(f[n][0]),n}function o(t,e,r){var n=r?e[0][e[0].length-1]:e[0][0];return t+&quot;:&quot;+n.x+&quot;:&quot;+n.y}var s,l={},c={},u=[],f=[],h=[],d=0;for(s=0;s&lt;t.length;s++){var p=r[s],m=e[s];if(m){var g=o(m,p),v=o(m,p,!0);if(g in c&amp;&amp;v in l&amp;&amp;c[g]!==l[v]){var y=a(g,v,p),x=i(g,v,f[y]);delete l[g],delete c[v],c[o(m,f[x],!0)]=x,f[y]=null}else g in c?i(g,v,p):v in l?a(g,v,p):(n(s),l[g]=d-1,c[v]=d-1)}else n(s)}return{features:u,textFeatures:h,geometries:f}}},{}],392:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,n,i,a,o,s,l,c){this.anchorPoint=t,this.tl=e,this.tr=r,this.bl=n,this.br=i,this.tex=a,this.anchorAngle=o,this.glyphAngle=s,this.minScale=l,this.maxScale=c}function i(t,e,r,n,i,s){var l=!s;r&lt;0&amp;&amp;(s=!s),s&amp;&amp;i++;var c=new a(e.x,e.y),u=n[i],f=1/0;r=Math.abs(r);for(var h=o;;){var d=c.dist(u),p=r/d,m=Math.atan2(u.y-c.y,u.x-c.x);if(s||(m+=Math.PI),t.push({anchorPoint:c,offset:l?Math.PI:0,minScale:p,maxScale:f,angle:(m+2*Math.PI)%(2*Math.PI)}),p&lt;=h)break;for(c=u;c.equals(u);)if(i+=s?1:-1,!(u=n[i]))return p;var g=u.sub(c)._unit();c=c.sub(g._mult(d)),f=p}return h}var a=t(&quot;point-geometry&quot;);e.exports={getIconQuads:function(t,e,r,i,s,l,c,u,f){var h,d,p,m,g=e.image.rect,v=s.layout,y=e.left-1,x=y+g.w/e.image.pixelRatio,b=e.top-1,_=b+g.h/e.image.pixelRatio;if(&quot;none&quot;!==v[&quot;icon-text-fit&quot;]&amp;&amp;c){var w=x-y,M=_-b,k=v[&quot;text-size&quot;]/24,A=c.left*k,T=c.right*k,S=c.top*k,E=T-A,L=c.bottom*k-S,C=v[&quot;icon-text-fit-padding&quot;][0],z=v[&quot;icon-text-fit-padding&quot;][1],D=v[&quot;icon-text-fit-padding&quot;][2],I=v[&quot;icon-text-fit-padding&quot;][3],P=&quot;width&quot;===v[&quot;icon-text-fit&quot;]?.5*(L-M):0,O=&quot;height&quot;===v[&quot;icon-text-fit&quot;]?.5*(E-w):0,F=&quot;width&quot;===v[&quot;icon-text-fit&quot;]||&quot;both&quot;===v[&quot;icon-text-fit&quot;]?E:w,R=&quot;height&quot;===v[&quot;icon-text-fit&quot;]||&quot;both&quot;===v[&quot;icon-text-fit&quot;]?L:M;h=new a(A+O-I,S+P-C),d=new a(A+O+z+F,S+P-C),p=new a(A+O+z+F,S+P+D+R),m=new a(A+O-I,S+P+D+R)}else h=new a(y,b),d=new a(x,b),p=new a(x,_),m=new a(y,_);var N=s.getLayoutValue(&quot;icon-rotate&quot;,u,f)*Math.PI/180;if(l){var j=i[t.segment];if(t.y===j.y&amp;&amp;t.x===j.x&amp;&amp;t.segment+1&lt;i.length){var B=i[t.segment+1];N+=Math.atan2(t.y-B.y,t.x-B.x)+Math.PI}else N+=Math.atan2(t.y-j.y,t.x-j.x)}if(N){var U=Math.sin(N),V=Math.cos(N),q=[V,-U,U,V];h=h.matMult(q),d=d.matMult(q),m=m.matMult(q),p=p.matMult(q)}return[new n(new a(t.x,t.y),h,d,m,p,e.image.rect,0,0,o,1/0)]},getGlyphQuads:function(t,e,r,s,l,c){for(var u=l.layout[&quot;text-rotate&quot;]*Math.PI/180,f=l.layout[&quot;text-keep-upright&quot;],h=e.positionedGlyphs,d=[],p=0;p&lt;h.length;p++){var m=h[p],g=m.glyph,v=g.rect;if(v){var y,x=(m.x+g.advance/2)*r,b=o;c?(b=i(y=[],t,x,s,t.segment,!0),f&amp;&amp;(b=Math.min(b,i(y,t,x,s,t.segment,!1)))):y=[{anchorPoint:new a(t.x,t.y),offset:0,angle:0,maxScale:1/0,minScale:o}];for(var _=m.x+g.left,w=m.y-g.top,M=_+v.w,k=w+v.h,A=new a(_,w),T=new a(M,w),S=new a(_,k),E=new a(M,k),L=0;L&lt;y.length;L++){var C=y[L],z=A,D=T,I=S,P=E;if(u){var O=Math.sin(u),F=Math.cos(u),R=[F,-O,O,F];z=z.matMult(R),D=D.matMult(R),I=I.matMult(R),P=P.matMult(R)}var N=Math.max(C.minScale,b),j=(t.angle+C.offset+2*Math.PI)%(2*Math.PI),B=(C.angle+C.offset+2*Math.PI)%(2*Math.PI);d.push(new n(C.anchorPoint,z,D,I,P,v,j,B,N,C.maxScale))}}}return d},SymbolQuad:n};var o=.5},{&quot;point-geometry&quot;:477}],393:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../util/token&quot;);e.exports=function(t,e,r){for(var i=[],a=0,o=t.length;a&lt;o;a++){var s=n(t[a].properties,e[&quot;text-field&quot;]);if(s){s=s.toString();var l=e[&quot;text-transform&quot;];&quot;uppercase&quot;===l?s=s.toLocaleUpperCase():&quot;lowercase&quot;===l&amp;&amp;(s=s.toLocaleLowerCase());for(var c=0;c&lt;s.length;c++)r[s.charCodeAt(c)]=!0;i[a]=s}else i[a]=null}return i}},{&quot;../util/token&quot;:432}],394:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,n){this.codePoint=t,this.x=e,this.y=r,this.glyph=n}function i(t,e,r,n,i){for(var a=e[t[n].codePoint].advance,o=(t[n].x+a)*i,s=r;s&lt;=n;s++)t[s].x-=o}e.exports={shapeText:function(t,e,r,s,l,c,u,f,h){for(var d=[],p=new function(t,e,r,n,i,a){this.positionedGlyphs=t,this.text=e,this.top=r,this.bottom=n,this.left=i,this.right=a}(d,t,h[1],h[1],h[0],h[0]),m=0,g=0;g&lt;t.length;g++){var v=t.charCodeAt(g),y=e[v];y&amp;&amp;(d.push(new n(v,m,-17,y)),m+=y.advance+f)}return!!d.length&amp;&amp;(function(t,e,r,n,s,l,c,u){var f=null,h=0,d=0,p=0,m=0,g=t.positionedGlyphs;if(n)for(var v=0;v&lt;g.length;v++){var y=g[v];if(y.x-=h,y.y+=r*p,y.x&gt;n&amp;&amp;null!==f){var x=g[f+1].x;m=Math.max(x,m);for(var b=f+1;b&lt;=v;b++)g[b].y+=r,g[b].x-=x;if(c){var _=f;a[g[f].codePoint]&amp;&amp;_--,i(g,e,d,_,c)}d=f+1,f=null,h+=x,p++}o[y.codePoint]&amp;&amp;(f=v)}var w=g[g.length-1],M=w.x+e[w.codePoint].advance;m=Math.max(m,M);var k=(p+1)*r;i(g,e,d,g.length-1,c),function(t,e,r,n,i,a,o,s){for(var l=(e-r)*i+s[0],c=(-n*(o+1)+.5)*a+s[1],u=0;u&lt;t.length;u++)t[u].x+=l,t[u].y+=c}(g,c,s,l,m,r,p,u),t.top+=-l*k,t.bottom=t.top+k,t.left+=-s*m,t.right=t.left+m}(p,e,s,r,l,c,u,h),p)},shapeIcon:function(t,e){if(!t||!t.rect)return null;var r=e[&quot;icon-offset&quot;][0],n=e[&quot;icon-offset&quot;][1],i=r-t.width/2,a=i+t.width,o=n-t.height/2;return new function(t,e,r,n,i){this.image=t,this.top=e,this.bottom=r,this.left=n,this.right=i}(t,o,o+t.height,i,a)}};var a={32:!0,8203:!0},o={32:!0,38:!0,43:!0,45:!0,47:!0,173:!0,183:!0,8203:!0,8208:!0,8211:!0}},{}],395:[function(t,e,r){&quot;use strict&quot;;function n(t,e){this.width=t,this.height=e,this.bin=new i(t,e),this.images={},this.data=!1,this.texture=0,this.filter=0,this.pixelRatio=1,this.dirty=!0}var i=t(&quot;shelf-pack&quot;),a=t(&quot;../util/browser&quot;),o=t(&quot;../util/util&quot;);e.exports=n,n.prototype.allocateImage=function(t,e){var r=(t/=this.pixelRatio)+2+(4-(t+2)%4),n=(e/=this.pixelRatio)+2+(4-(e+2)%4),i=this.bin.packOne(r,n);return i||(o.warnOnce(&quot;SpriteAtlas out of space.&quot;),null)},n.prototype.getImage=function(t,e){if(this.images[t])return this.images[t];if(!this.sprite)return null;var r=this.sprite.getSpritePosition(t);if(!r.width||!r.height)return null;var n=this.allocateImage(r.width,r.height);if(!n)return null;var i=new function(t,e,r,n,i){this.rect=t,this.width=e,this.height=r,this.sdf=n,this.pixelRatio=i}(n,r.width/r.pixelRatio,r.height/r.pixelRatio,r.sdf,r.pixelRatio/this.pixelRatio);return this.images[t]=i,this.copy(n,r,e),i},n.prototype.getPosition=function(t,e){var r=this.getImage(t,e),n=r&amp;&amp;r.rect;if(!n)return null;var i=r.width*r.pixelRatio,a=r.height*r.pixelRatio;return{size:[r.width,r.height],tl:[(n.x+1)/this.width,(n.y+1)/this.height],br:[(n.x+1+i)/this.width,(n.y+1+a)/this.height]}},n.prototype.allocate=function(){if(!this.data){var t=Math.floor(this.width*this.pixelRatio),e=Math.floor(this.height*this.pixelRatio);this.data=new Uint32Array(t*e);for(var r=0;r&lt;this.data.length;r++)this.data[r]=0}},n.prototype.copy=function(t,e,r){if(this.sprite.img.data){var n=new Uint32Array(this.sprite.img.data.buffer);this.allocate();var i=this.data;!function(t,e,r,n,i,a,o,s,l,c,u){var f,h,d=n*e+r,p=s*a+o;if(u)for(p-=a,h=-1;h&lt;=c;h++,d=((h+c)%c+n)*e+r,p+=a)for(f=-1;f&lt;=l;f++)i[p+f]=t[d+(f+l)%l];else for(h=0;h&lt;c;h++,d+=e,p+=a)for(f=0;f&lt;l;f++)i[p+f]=t[d+f]}(n,this.sprite.img.width,e.x,e.y,i,this.width*this.pixelRatio,(t.x+1)*this.pixelRatio,(t.y+1)*this.pixelRatio,e.width,e.height,r),this.dirty=!0}},n.prototype.setSprite=function(t){t&amp;&amp;(this.pixelRatio=a.devicePixelRatio&gt;1?2:1,this.canvas&amp;&amp;(this.canvas.width=this.width*this.pixelRatio,this.canvas.height=this.height*this.pixelRatio)),this.sprite=t},n.prototype.addIcons=function(t,e){for(var r=0;r&lt;t.length;r++)this.getImage(t[r]);e(null,this.images)},n.prototype.bind=function(t,e){var r=!1;this.texture?t.bindTexture(t.TEXTURE_2D,this.texture):(this.texture=t.createTexture(),t.bindTexture(t.TEXTURE_2D,this.texture),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),r=!0);var n=e?t.LINEAR:t.NEAREST;n!==this.filter&amp;&amp;(t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MIN_FILTER,n),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MAG_FILTER,n),this.filter=n),this.dirty&amp;&amp;(this.allocate(),r?t.texImage2D(t.TEXTURE_2D,0,t.RGBA,this.width*this.pixelRatio,this.height*this.pixelRatio,0,t.RGBA,t.UNSIGNED_BYTE,new Uint8Array(this.data.buffer)):t.texSubImage2D(t.TEXTURE_2D,0,0,0,this.width*this.pixelRatio,this.height*this.pixelRatio,t.RGBA,t.UNSIGNED_BYTE,new Uint8Array(this.data.buffer)),this.dirty=!1)}},{&quot;../util/browser&quot;:417,&quot;../util/util&quot;:433,&quot;shelf-pack&quot;:521}],396:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../util/struct_array&quot;),i=t(&quot;../util/util&quot;),a=t(&quot;point-geometry&quot;),o=e.exports=new n({members:[{type:&quot;Uint16&quot;,name:&quot;textBoxStartIndex&quot;},{type:&quot;Uint16&quot;,name:&quot;textBoxEndIndex&quot;},{type:&quot;Uint16&quot;,name:&quot;iconBoxStartIndex&quot;},{type:&quot;Uint16&quot;,name:&quot;iconBoxEndIndex&quot;},{type:&quot;Uint16&quot;,name:&quot;glyphQuadStartIndex&quot;},{type:&quot;Uint16&quot;,name:&quot;glyphQuadEndIndex&quot;},{type:&quot;Uint16&quot;,name:&quot;iconQuadStartIndex&quot;},{type:&quot;Uint16&quot;,name:&quot;iconQuadEndIndex&quot;},{type:&quot;Int16&quot;,name:&quot;anchorPointX&quot;},{type:&quot;Int16&quot;,name:&quot;anchorPointY&quot;},{type:&quot;Int8&quot;,name:&quot;index&quot;}]});i.extendAll(o.prototype.StructType.prototype,{get anchorPoint(){return new a(this.anchorPointX,this.anchorPointY)}})},{&quot;../util/struct_array&quot;:431,&quot;../util/util&quot;:433,&quot;point-geometry&quot;:477}],397:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../util/struct_array&quot;),i=t(&quot;../util/util&quot;),a=t(&quot;point-geometry&quot;),o=t(&quot;./quads&quot;).SymbolQuad,s=e.exports=new n({members:[{type:&quot;Int16&quot;,name:&quot;anchorPointX&quot;},{type:&quot;Int16&quot;,name:&quot;anchorPointY&quot;},{type:&quot;Float32&quot;,name:&quot;tlX&quot;},{type:&quot;Float32&quot;,name:&quot;tlY&quot;},{type:&quot;Float32&quot;,name:&quot;trX&quot;},{type:&quot;Float32&quot;,name:&quot;trY&quot;},{type:&quot;Float32&quot;,name:&quot;blX&quot;},{type:&quot;Float32&quot;,name:&quot;blY&quot;},{type:&quot;Float32&quot;,name:&quot;brX&quot;},{type:&quot;Float32&quot;,name:&quot;brY&quot;},{type:&quot;Int16&quot;,name:&quot;texH&quot;},{type:&quot;Int16&quot;,name:&quot;texW&quot;},{type:&quot;Int16&quot;,name:&quot;texX&quot;},{type:&quot;Int16&quot;,name:&quot;texY&quot;},{type:&quot;Float32&quot;,name:&quot;anchorAngle&quot;},{type:&quot;Float32&quot;,name:&quot;glyphAngle&quot;},{type:&quot;Float32&quot;,name:&quot;maxScale&quot;},{type:&quot;Float32&quot;,name:&quot;minScale&quot;}]});i.extendAll(s.prototype.StructType.prototype,{get anchorPoint(){return new a(this.anchorPointX,this.anchorPointY)},get SymbolQuad(){return new o(this.anchorPoint,new a(this.tlX,this.tlY),new a(this.trX,this.trY),new a(this.blX,this.blY),new a(this.brX,this.brY),{x:this.texX,y:this.texY,h:this.texH,w:this.texW,height:this.texH,width:this.texW},this.anchorAngle,this.glyphAngle,this.minScale,this.maxScale)}})},{&quot;../util/struct_array&quot;:431,&quot;../util/util&quot;:433,&quot;./quads&quot;:392,&quot;point-geometry&quot;:477}],398:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../util/dom&quot;),i=t(&quot;point-geometry&quot;),a={scrollZoom:t(&quot;./handler/scroll_zoom&quot;),boxZoom:t(&quot;./handler/box_zoom&quot;),dragRotate:t(&quot;./handler/drag_rotate&quot;),dragPan:t(&quot;./handler/drag_pan&quot;),keyboard:t(&quot;./handler/keyboard&quot;),doubleClickZoom:t(&quot;./handler/dblclick_zoom&quot;),touchZoomRotate:t(&quot;./handler/touch_zoom_rotate&quot;)};e.exports=function(t,e){function r(){f=null}function o(e,r){var i=n.mousePos(l,r);return t.fire(e,{lngLat:t.unproject(i),point:i,originalEvent:r})}function s(e,r){var a=n.touchPos(l,r),o=a.reduce(function(t,e,r,n){return t.add(e.div(n.length))},new i(0,0));return t.fire(e,{lngLat:t.unproject(o),point:o,lngLats:a.map(function(e){return t.unproject(e)},this),points:a,originalEvent:r})}var l=t.getCanvasContainer(),c=null,u=null,f=null;for(var h in a)t[h]=new a[h](t,e),e.interactive&amp;&amp;e[h]&amp;&amp;t[h].enable();l.addEventListener(&quot;mouseout&quot;,function(t){o(&quot;mouseout&quot;,t)},!1),l.addEventListener(&quot;mousedown&quot;,function(e){t.stop(),u=n.mousePos(l,e),o(&quot;mousedown&quot;,e)},!1),l.addEventListener(&quot;mouseup&quot;,function(e){var r=t.dragRotate&amp;&amp;t.dragRotate.isActive();c&amp;&amp;!r&amp;&amp;o(&quot;contextmenu&quot;,c),c=null,o(&quot;mouseup&quot;,e)},!1),l.addEventListener(&quot;mousemove&quot;,function(e){if(!(t.dragPan&amp;&amp;t.dragPan.isActive()||t.dragRotate&amp;&amp;t.dragRotate.isActive())){for(var r=e.toElement||e.target;r&amp;&amp;r!==l;)r=r.parentNode;r===l&amp;&amp;o(&quot;mousemove&quot;,e)}},!1),l.addEventListener(&quot;touchstart&quot;,function(e){t.stop(),s(&quot;touchstart&quot;,e),!e.touches||e.touches.length&gt;1||(f?(clearTimeout(f),f=null,o(&quot;dblclick&quot;,e)):f=setTimeout(r,300))},!1),l.addEventListener(&quot;touchend&quot;,function(t){s(&quot;touchend&quot;,t)},!1),l.addEventListener(&quot;touchmove&quot;,function(t){s(&quot;touchmove&quot;,t)},!1),l.addEventListener(&quot;touchcancel&quot;,function(t){s(&quot;touchcancel&quot;,t)},!1),l.addEventListener(&quot;click&quot;,function(t){n.mousePos(l,t).equals(u)&amp;&amp;o(&quot;click&quot;,t)},!1),l.addEventListener(&quot;dblclick&quot;,function(t){o(&quot;dblclick&quot;,t),t.preventDefault()},!1),l.addEventListener(&quot;contextmenu&quot;,function(t){c=t,t.preventDefault()},!1)}},{&quot;../util/dom&quot;:419,&quot;./handler/box_zoom&quot;:404,&quot;./handler/dblclick_zoom&quot;:405,&quot;./handler/drag_pan&quot;:406,&quot;./handler/drag_rotate&quot;:407,&quot;./handler/keyboard&quot;:408,&quot;./handler/scroll_zoom&quot;:409,&quot;./handler/touch_zoom_rotate&quot;:410,&quot;point-geometry&quot;:477}],399:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../util/util&quot;),i=t(&quot;../util/interpolate&quot;),a=t(&quot;../util/browser&quot;),o=t(&quot;../geo/lng_lat&quot;),s=t(&quot;../geo/lng_lat_bounds&quot;),l=t(&quot;point-geometry&quot;),c=e.exports=function(){};n.extend(c.prototype,{getCenter:function(){return this.transform.center},setCenter:function(t,e){return this.jumpTo({center:t},e),this},panBy:function(t,e,r){return this.panTo(this.transform.center,n.extend({offset:l.convert(t).mult(-1)},e),r),this},panTo:function(t,e,r){return this.easeTo(n.extend({center:t},e),r)},getZoom:function(){return this.transform.zoom},setZoom:function(t,e){return this.jumpTo({zoom:t},e),this},zoomTo:function(t,e,r){return this.easeTo(n.extend({zoom:t},e),r)},zoomIn:function(t,e){return this.zoomTo(this.getZoom()+1,t,e),this},zoomOut:function(t,e){return this.zoomTo(this.getZoom()-1,t,e),this},getBearing:function(){return this.transform.bearing},setBearing:function(t,e){return this.jumpTo({bearing:t},e),this},rotateTo:function(t,e,r){return this.easeTo(n.extend({bearing:t},e),r)},resetNorth:function(t,e){return this.rotateTo(0,n.extend({duration:1e3},t),e),this},snapToNorth:function(t,e){return Math.abs(this.getBearing())&lt;this._bearingSnap?this.resetNorth(t,e):this},getPitch:function(){return this.transform.pitch},setPitch:function(t,e){return this.jumpTo({pitch:t},e),this},fitBounds:function(t,e,r){e=n.extend({padding:0,offset:[0,0],maxZoom:1/0},e),t=s.convert(t);var i=l.convert(e.offset),a=this.transform,o=a.project(t.getNorthWest()),c=a.project(t.getSouthEast()),u=c.sub(o),f=(a.width-2*e.padding-2*Math.abs(i.x))/u.x,h=(a.height-2*e.padding-2*Math.abs(i.y))/u.y;return e.center=a.unproject(o.add(c).div(2)),e.zoom=Math.min(a.scaleZoom(a.scale*Math.min(f,h)),e.maxZoom),e.bearing=0,e.linear?this.easeTo(e,r):this.flyTo(e,r)},jumpTo:function(t,e){this.stop();var r=this.transform,n=!1,i=!1,a=!1;return&quot;zoom&quot;in t&amp;&amp;r.zoom!==+t.zoom&amp;&amp;(n=!0,r.zoom=+t.zoom),&quot;center&quot;in t&amp;&amp;(r.center=o.convert(t.center)),&quot;bearing&quot;in t&amp;&amp;r.bearing!==+t.bearing&amp;&amp;(i=!0,r.bearing=+t.bearing),&quot;pitch&quot;in t&amp;&amp;r.pitch!==+t.pitch&amp;&amp;(a=!0,r.pitch=+t.pitch),this.fire(&quot;movestart&quot;,e).fire(&quot;move&quot;,e),n&amp;&amp;this.fire(&quot;zoomstart&quot;,e).fire(&quot;zoom&quot;,e).fire(&quot;zoomend&quot;,e),i&amp;&amp;this.fire(&quot;rotate&quot;,e),a&amp;&amp;this.fire(&quot;pitch&quot;,e),this.fire(&quot;moveend&quot;,e)},easeTo:function(t,e){this.stop(),t=n.extend({offset:[0,0],duration:500,easing:n.ease},t);var r,a,s=this.transform,c=l.convert(t.offset),u=this.getZoom(),f=this.getBearing(),h=this.getPitch(),d=&quot;zoom&quot;in t?+t.zoom:u,p=&quot;bearing&quot;in t?this._normalizeBearing(t.bearing,f):f,m=&quot;pitch&quot;in t?+t.pitch:h;&quot;center&quot;in t?(r=o.convert(t.center),a=s.centerPoint.add(c)):&quot;around&quot;in t?(r=o.convert(t.around),a=s.locationPoint(r)):(a=s.centerPoint.add(c),r=s.pointLocation(a));var g=s.locationPoint(r);return!1===t.animate&amp;&amp;(t.duration=0),this.zooming=d!==u,this.rotating=f!==p,this.pitching=m!==h,t.noMoveStart||this.fire(&quot;movestart&quot;,e),this.zooming&amp;&amp;this.fire(&quot;zoomstart&quot;,e),clearTimeout(this._onEaseEnd),this._ease(function(t){this.zooming&amp;&amp;(s.zoom=i(u,d,t)),this.rotating&amp;&amp;(s.bearing=i(f,p,t)),this.pitching&amp;&amp;(s.pitch=i(h,m,t)),s.setLocationAtPoint(r,g.add(a.sub(g)._mult(t))),this.fire(&quot;move&quot;,e),this.zooming&amp;&amp;this.fire(&quot;zoom&quot;,e),this.rotating&amp;&amp;this.fire(&quot;rotate&quot;,e),this.pitching&amp;&amp;this.fire(&quot;pitch&quot;,e)},function(){t.delayEndEvents?this._onEaseEnd=setTimeout(this._easeToEnd.bind(this,e),t.delayEndEvents):this._easeToEnd(e)}.bind(this),t),this},_easeToEnd:function(t){var e=this.zooming;this.zooming=!1,this.rotating=!1,this.pitching=!1,e&amp;&amp;this.fire(&quot;zoomend&quot;,t),this.fire(&quot;moveend&quot;,t)},flyTo:function(t,e){function r(t){var e=(k*k-M*M+(t?-1:1)*E*E*A*A)/(2*(t?k:M)*E*A);return Math.log(Math.sqrt(e*e+1)-e)}function a(t){return(Math.exp(t)-Math.exp(-t))/2}function s(t){return(Math.exp(t)+Math.exp(-t))/2}this.stop(),t=n.extend({offset:[0,0],speed:1.2,curve:1.42,easing:n.ease},t);var c=this.transform,u=l.convert(t.offset),f=this.getZoom(),h=this.getBearing(),d=this.getPitch(),p=&quot;center&quot;in t?o.convert(t.center):this.getCenter(),m=&quot;zoom&quot;in t?+t.zoom:f,g=&quot;bearing&quot;in t?this._normalizeBearing(t.bearing,h):h,v=&quot;pitch&quot;in t?+t.pitch:d;Math.abs(c.center.lng)+Math.abs(p.lng)&gt;180&amp;&amp;(c.center.lng&gt;0&amp;&amp;p.lng&lt;0?p.lng+=360:c.center.lng&lt;0&amp;&amp;p.lng&gt;0&amp;&amp;(p.lng-=360));var y=c.zoomScale(m-f),x=c.point,b=&quot;center&quot;in t?c.project(p).sub(u.div(y)):x,_=c.worldSize,w=t.curve,M=Math.max(c.width,c.height),k=M/y,A=b.sub(x).mag();if(&quot;minZoom&quot;in t){var T=n.clamp(Math.min(t.minZoom,f,m),c.minZoom,c.maxZoom),S=M/c.zoomScale(T-f);w=Math.sqrt(S/A*2)}var E=w*w,L=r(0),C=function(t){return s(L)/s(L+w*t)},z=function(t){return M*((s(L)*function(t){return a(t)/s(t)}(L+w*t)-a(L))/E)/A},D=(r(1)-L)/w;if(Math.abs(A)&lt;1e-6){if(Math.abs(M-k)&lt;1e-6)return this.easeTo(t);var I=k&lt;M?-1:1;D=Math.abs(Math.log(k/M))/w,z=function(){return 0},C=function(t){return Math.exp(I*w*t)}}if(&quot;duration&quot;in t)t.duration=+t.duration;else{var P=&quot;screenSpeed&quot;in t?+t.screenSpeed/w:+t.speed;t.duration=1e3*D/P}return this.zooming=!0,h!==g&amp;&amp;(this.rotating=!0),d!==v&amp;&amp;(this.pitching=!0),this.fire(&quot;movestart&quot;,e),this.fire(&quot;zoomstart&quot;,e),this._ease(function(t){var r=t*D,n=z(r);c.zoom=f+c.scaleZoom(1/C(r)),c.center=c.unproject(x.add(b.sub(x).mult(n)),_),this.rotating&amp;&amp;(c.bearing=i(h,g,t)),this.pitching&amp;&amp;(c.pitch=i(d,v,t)),this.fire(&quot;move&quot;,e),this.fire(&quot;zoom&quot;,e),this.rotating&amp;&amp;this.fire(&quot;rotate&quot;,e),this.pitching&amp;&amp;this.fire(&quot;pitch&quot;,e)},function(){this.zooming=!1,this.rotating=!1,this.pitching=!1,this.fire(&quot;zoomend&quot;,e),this.fire(&quot;moveend&quot;,e)},t),this},isEasing:function(){return!!this._abortFn},stop:function(){return this._abortFn&amp;&amp;(this._abortFn(),this._finishEase()),this},_ease:function(t,e,r){this._finishFn=e,this._abortFn=a.timed(function(e){t.call(this,r.easing(e)),1===e&amp;&amp;this._finishEase()},!1===r.animate?0:r.duration,this)},_finishEase:function(){delete this._abortFn;var t=this._finishFn;delete this._finishFn,t.call(this)},_normalizeBearing:function(t,e){t=n.wrap(t,-180,180);var r=Math.abs(t-e);return Math.abs(t-360-e)&lt;r&amp;&amp;(t-=360),Math.abs(t+360-e)&lt;r&amp;&amp;(t+=360),t},_updateEasing:function(t,e,r){var i;if(this.ease){var a=this.ease,o=(Date.now()-a.start)/a.duration,s=a.easing(o+.01)-a.easing(o),l=.27/Math.sqrt(s*s+1e-4)*.01,c=Math.sqrt(.0729-l*l);i=n.bezier(l,c,.25,1)}else i=r?n.bezier.apply(n,r):n.ease;return this.ease={start:(new Date).getTime(),to:Math.pow(2,e),duration:t,easing:i},i}})},{&quot;../geo/lng_lat&quot;:330,&quot;../geo/lng_lat_bounds&quot;:331,&quot;../util/browser&quot;:417,&quot;../util/interpolate&quot;:427,&quot;../util/util&quot;:433,&quot;point-geometry&quot;:477}],400:[function(t,e,r){&quot;use strict&quot;;function n(t){o.setOptions(this,t)}var i=t(&quot;./control&quot;),a=t(&quot;../../util/dom&quot;),o=t(&quot;../../util/util&quot;);e.exports=n,n.createAttributionString=function(t){var e=[];for(var r in t){var n=t[r];n.attribution&amp;&amp;e.indexOf(n.attribution)&lt;0&amp;&amp;e.push(n.attribution)}return e.sort(function(t,e){return t.length-e.length}),(e=e.filter(function(t,r){for(var n=r+1;n&lt;e.length;n++)if(e[n].indexOf(t)&gt;=0)return!1;return!0})).join(&quot; | &quot;)},n.prototype=o.inherit(i,{options:{position:&quot;bottom-right&quot;},onAdd:function(t){var e=this._container=a.create(&quot;div&quot;,&quot;mapboxgl-ctrl-attrib&quot;,t.getContainer());return this._update(),t.on(&quot;source.load&quot;,this._update.bind(this)),t.on(&quot;source.change&quot;,this._update.bind(this)),t.on(&quot;source.remove&quot;,this._update.bind(this)),t.on(&quot;moveend&quot;,this._updateEditLink.bind(this)),e},_update:function(){this._map.style&amp;&amp;(this._container.innerHTML=n.createAttributionString(this._map.style.sources)),this._editLink=this._container.getElementsByClassName(&quot;mapbox-improve-map&quot;)[0],this._updateEditLink()},_updateEditLink:function(){if(this._editLink){var t=this._map.getCenter();this._editLink.href=&quot;https://www.mapbox.com/map-feedback/#/&quot;+t.lng+&quot;/&quot;+t.lat+&quot;/&quot;+Math.round(this._map.getZoom()+1)}}})},{&quot;../../util/dom&quot;:419,&quot;../../util/util&quot;:433,&quot;./control&quot;:401}],401:[function(t,e,r){&quot;use strict&quot;;function n(){}var i=t(&quot;../../util/util&quot;),a=t(&quot;../../util/evented&quot;);e.exports=n,n.prototype={addTo:function(t){this._map=t;var e=this._container=this.onAdd(t);if(this.options&amp;&amp;this.options.position){var r=this.options.position,n=t._controlCorners[r];e.className+=&quot; mapboxgl-ctrl&quot;,-1!==r.indexOf(&quot;bottom&quot;)?n.insertBefore(e,n.firstChild):n.appendChild(e)}return this},remove:function(){return this._container.parentNode.removeChild(this._container),this.onRemove&amp;&amp;this.onRemove(this._map),this._map=null,this}},i.extend(n.prototype,a)},{&quot;../../util/evented&quot;:425,&quot;../../util/util&quot;:433}],402:[function(t,e,r){&quot;use strict&quot;;function n(t){s.setOptions(this,t)}var i=t(&quot;./control&quot;),a=t(&quot;../../util/browser&quot;),o=t(&quot;../../util/dom&quot;),s=t(&quot;../../util/util&quot;);e.exports=n;var l={enableHighAccuracy:!1,timeout:6e3};n.prototype=s.inherit(i,{options:{position:&quot;top-right&quot;},onAdd:function(t){var e=this._container=o.create(&quot;div&quot;,&quot;mapboxgl-ctrl-group&quot;,t.getContainer());return a.supportsGeolocation?(this._container.addEventListener(&quot;contextmenu&quot;,this._onContextMenu.bind(this)),this._geolocateButton=o.create(&quot;button&quot;,&quot;mapboxgl-ctrl-icon mapboxgl-ctrl-geolocate&quot;,this._container),this._geolocateButton.type=&quot;button&quot;,this._geolocateButton.addEventListener(&quot;click&quot;,this._onClickGeolocate.bind(this)),e):e},_onContextMenu:function(t){t.preventDefault()},_onClickGeolocate:function(){navigator.geolocation.getCurrentPosition(this._success.bind(this),this._error.bind(this),l),this._timeoutId=setTimeout(this._finish.bind(this),1e4)},_success:function(t){this._map.jumpTo({center:[t.coords.longitude,t.coords.latitude],zoom:17,bearing:0,pitch:0}),this.fire(&quot;geolocate&quot;,t),this._finish()},_error:function(t){this.fire(&quot;error&quot;,t),this._finish()},_finish:function(){this._timeoutId&amp;&amp;clearTimeout(this._timeoutId),this._timeoutId=void 0}})},{&quot;../../util/browser&quot;:417,&quot;../../util/dom&quot;:419,&quot;../../util/util&quot;:433,&quot;./control&quot;:401}],403:[function(t,e,r){&quot;use strict&quot;;function n(t){s.setOptions(this,t)}function i(t){return new MouseEvent(t.type,{button:2,buttons:2,bubbles:!0,cancelable:!0,detail:t.detail,view:t.view,screenX:t.screenX,screenY:t.screenY,clientX:t.clientX,clientY:t.clientY,movementX:t.movementX,movementY:t.movementY,ctrlKey:t.ctrlKey,shiftKey:t.shiftKey,altKey:t.altKey,metaKey:t.metaKey})}var a=t(&quot;./control&quot;),o=t(&quot;../../util/dom&quot;),s=t(&quot;../../util/util&quot;);e.exports=n,n.prototype=s.inherit(a,{options:{position:&quot;top-right&quot;},onAdd:function(t){var e=&quot;mapboxgl-ctrl&quot;,r=this._container=o.create(&quot;div&quot;,e+&quot;-group&quot;,t.getContainer());return this._container.addEventListener(&quot;contextmenu&quot;,this._onContextMenu.bind(this)),this._zoomInButton=this._createButton(e+&quot;-icon &quot;+e+&quot;-zoom-in&quot;,t.zoomIn.bind(t)),this._zoomOutButton=this._createButton(e+&quot;-icon &quot;+e+&quot;-zoom-out&quot;,t.zoomOut.bind(t)),this._compass=this._createButton(e+&quot;-icon &quot;+e+&quot;-compass&quot;,t.resetNorth.bind(t)),this._compassArrow=o.create(&quot;div&quot;,&quot;arrow&quot;,this._compass),this._compass.addEventListener(&quot;mousedown&quot;,this._onCompassDown.bind(this)),this._onCompassMove=this._onCompassMove.bind(this),this._onCompassUp=this._onCompassUp.bind(this),t.on(&quot;rotate&quot;,this._rotateCompassArrow.bind(this)),this._rotateCompassArrow(),this._el=t.getCanvasContainer(),r},_onContextMenu:function(t){t.preventDefault()},_onCompassDown:function(t){0===t.button&amp;&amp;(o.disableDrag(),document.addEventListener(&quot;mousemove&quot;,this._onCompassMove),document.addEventListener(&quot;mouseup&quot;,this._onCompassUp),this._el.dispatchEvent(i(t)),t.stopPropagation())},_onCompassMove:function(t){0===t.button&amp;&amp;(this._el.dispatchEvent(i(t)),t.stopPropagation())},_onCompassUp:function(t){0===t.button&amp;&amp;(document.removeEventListener(&quot;mousemove&quot;,this._onCompassMove),document.removeEventListener(&quot;mouseup&quot;,this._onCompassUp),o.enableDrag(),this._el.dispatchEvent(i(t)),t.stopPropagation())},_createButton:function(t,e){var r=o.create(&quot;button&quot;,t,this._container);return r.type=&quot;button&quot;,r.addEventListener(&quot;click&quot;,function(){e()}),r},_rotateCompassArrow:function(){var t=&quot;rotate(&quot;+this._map.transform.angle*(180/Math.PI)+&quot;deg)&quot;;this._compassArrow.style.transform=t}})},{&quot;../../util/dom&quot;:419,&quot;../../util/util&quot;:433,&quot;./control&quot;:401}],404:[function(t,e,r){&quot;use strict&quot;;function n(t){this._map=t,this._el=t.getCanvasContainer(),this._container=t.getContainer(),o.bindHandlers(this)}var i=t(&quot;../../util/dom&quot;),a=t(&quot;../../geo/lng_lat_bounds&quot;),o=t(&quot;../../util/util&quot;);e.exports=n,n.prototype={_enabled:!1,_active:!1,isEnabled:function(){return this._enabled},isActive:function(){return this._active},enable:function(){this.isEnabled()||(this._el.addEventListener(&quot;mousedown&quot;,this._onMouseDown,!1),this._enabled=!0)},disable:function(){this.isEnabled()&amp;&amp;(this._el.removeEventListener(&quot;mousedown&quot;,this._onMouseDown),this._enabled=!1)},_onMouseDown:function(t){t.shiftKey&amp;&amp;0===t.button&amp;&amp;(document.addEventListener(&quot;mousemove&quot;,this._onMouseMove,!1),document.addEventListener(&quot;keydown&quot;,this._onKeyDown,!1),document.addEventListener(&quot;mouseup&quot;,this._onMouseUp,!1),i.disableDrag(),this._startPos=i.mousePos(this._el,t),this._active=!0)},_onMouseMove:function(t){var e=this._startPos,r=i.mousePos(this._el,t);this._box||(this._box=i.create(&quot;div&quot;,&quot;mapboxgl-boxzoom&quot;,this._container),this._container.classList.add(&quot;mapboxgl-crosshair&quot;),this._fireEvent(&quot;boxzoomstart&quot;,t));var n=Math.min(e.x,r.x),a=Math.max(e.x,r.x),o=Math.min(e.y,r.y),s=Math.max(e.y,r.y);i.setTransform(this._box,&quot;translate(&quot;+n+&quot;px,&quot;+o+&quot;px)&quot;),this._box.style.width=a-n+&quot;px&quot;,this._box.style.height=s-o+&quot;px&quot;},_onMouseUp:function(t){if(0===t.button){var e=this._startPos,r=i.mousePos(this._el,t),n=new a(this._map.unproject(e),this._map.unproject(r));this._finish(),e.x===r.x&amp;&amp;e.y===r.y?this._fireEvent(&quot;boxzoomcancel&quot;,t):this._map.fitBounds(n,{linear:!0}).fire(&quot;boxzoomend&quot;,{originalEvent:t,boxZoomBounds:n})}},_onKeyDown:function(t){27===t.keyCode&amp;&amp;(this._finish(),this._fireEvent(&quot;boxzoomcancel&quot;,t))},_finish:function(){this._active=!1,document.removeEventListener(&quot;mousemove&quot;,this._onMouseMove,!1),document.removeEventListener(&quot;keydown&quot;,this._onKeyDown,!1),document.removeEventListener(&quot;mouseup&quot;,this._onMouseUp,!1),this._container.classList.remove(&quot;mapboxgl-crosshair&quot;),this._box&amp;&amp;(this._box.parentNode.removeChild(this._box),this._box=null),i.enableDrag()},_fireEvent:function(t,e){return this._map.fire(t,{originalEvent:e})}}},{&quot;../../geo/lng_lat_bounds&quot;:331,&quot;../../util/dom&quot;:419,&quot;../../util/util&quot;:433}],405:[function(t,e,r){&quot;use strict&quot;;function n(t){this._map=t,this._onDblClick=this._onDblClick.bind(this)}e.exports=n,n.prototype={_enabled:!1,isEnabled:function(){return this._enabled},enable:function(){this.isEnabled()||(this._map.on(&quot;dblclick&quot;,this._onDblClick),this._enabled=!0)},disable:function(){this.isEnabled()&amp;&amp;(this._map.off(&quot;dblclick&quot;,this._onDblClick),this._enabled=!1)},_onDblClick:function(t){this._map.zoomTo(this._map.getZoom()+(t.originalEvent.shiftKey?-1:1),{around:t.lngLat},t)}}},{}],406:[function(t,e,r){&quot;use strict&quot;;function n(t){this._map=t,this._el=t.getCanvasContainer(),a.bindHandlers(this)}var i=t(&quot;../../util/dom&quot;),a=t(&quot;../../util/util&quot;);e.exports=n;var o=a.bezier(0,0,.3,1);n.prototype={_enabled:!1,_active:!1,isEnabled:function(){return this._enabled},isActive:function(){return this._active},enable:function(){this.isEnabled()||(this._el.addEventListener(&quot;mousedown&quot;,this._onDown),this._el.addEventListener(&quot;touchstart&quot;,this._onDown),this._enabled=!0)},disable:function(){this.isEnabled()&amp;&amp;(this._el.removeEventListener(&quot;mousedown&quot;,this._onDown),this._el.removeEventListener(&quot;touchstart&quot;,this._onDown),this._enabled=!1)},_onDown:function(t){this._ignoreEvent(t)||this.isActive()||(t.touches?(document.addEventListener(&quot;touchmove&quot;,this._onMove),document.addEventListener(&quot;touchend&quot;,this._onTouchEnd)):(document.addEventListener(&quot;mousemove&quot;,this._onMove),document.addEventListener(&quot;mouseup&quot;,this._onMouseUp)),this._active=!1,this._startPos=this._pos=i.mousePos(this._el,t),this._inertia=[[Date.now(),this._pos]])},_onMove:function(t){if(!this._ignoreEvent(t)){this.isActive()||(this._active=!0,this._fireEvent(&quot;dragstart&quot;,t),this._fireEvent(&quot;movestart&quot;,t));var e=i.mousePos(this._el,t),r=this._map;r.stop(),this._drainInertiaBuffer(),this._inertia.push([Date.now(),e]),r.transform.setLocationAtPoint(r.transform.pointLocation(this._pos),e),this._fireEvent(&quot;drag&quot;,t),this._fireEvent(&quot;move&quot;,t),this._pos=e,t.preventDefault()}},_onUp:function(t){if(this.isActive()){this._active=!1,this._fireEvent(&quot;dragend&quot;,t),this._drainInertiaBuffer();var e=function(){this._fireEvent(&quot;moveend&quot;,t)}.bind(this),r=this._inertia;if(r.length&lt;2)e();else{var n=r[r.length-1],i=r[0],a=n[1].sub(i[1]),s=(n[0]-i[0])/1e3;if(0===s||n[1].equals(i[1]))e();else{var l=a.mult(.3/s),c=l.mag();c&gt;1400&amp;&amp;(c=1400,l._unit()._mult(c));var u=c/750,f=l.mult(-u/2);this._map.panBy(f,{duration:1e3*u,easing:o,noMoveStart:!0},{originalEvent:t})}}}},_onMouseUp:function(t){this._ignoreEvent(t)||(this._onUp(t),document.removeEventListener(&quot;mousemove&quot;,this._onMove),document.removeEventListener(&quot;mouseup&quot;,this._onMouseUp))},_onTouchEnd:function(t){this._ignoreEvent(t)||(this._onUp(t),document.removeEventListener(&quot;touchmove&quot;,this._onMove),document.removeEventListener(&quot;touchend&quot;,this._onTouchEnd))},_fireEvent:function(t,e){return this._map.fire(t,{originalEvent:e})},_ignoreEvent:function(t){var e=this._map;if(e.boxZoom&amp;&amp;e.boxZoom.isActive())return!0;if(e.dragRotate&amp;&amp;e.dragRotate.isActive())return!0;if(t.touches)return t.touches.length&gt;1;if(t.ctrlKey)return!0;return&quot;mousemove&quot;===t.type?!1&amp;t.buttons:0!==t.button},_drainInertiaBuffer:function(){for(var t=this._inertia,e=Date.now();t.length&gt;0&amp;&amp;e-t[0][0]&gt;160;)t.shift()}}},{&quot;../../util/dom&quot;:419,&quot;../../util/util&quot;:433}],407:[function(t,e,r){&quot;use strict&quot;;function n(t,e){this._map=t,this._el=t.getCanvasContainer(),this._bearingSnap=e.bearingSnap,o.bindHandlers(this)}var i=t(&quot;../../util/dom&quot;),a=t(&quot;point-geometry&quot;),o=t(&quot;../../util/util&quot;);e.exports=n;var s=o.bezier(0,0,.25,1);n.prototype={_enabled:!1,_active:!1,isEnabled:function(){return this._enabled},isActive:function(){return this._active},enable:function(){this.isEnabled()||(this._el.addEventListener(&quot;mousedown&quot;,this._onDown),this._enabled=!0)},disable:function(){this.isEnabled()&amp;&amp;(this._el.removeEventListener(&quot;mousedown&quot;,this._onDown),this._enabled=!1)},_onDown:function(t){if(!this._ignoreEvent(t)&amp;&amp;!this.isActive()){document.addEventListener(&quot;mousemove&quot;,this._onMove),document.addEventListener(&quot;mouseup&quot;,this._onUp),this._active=!1,this._inertia=[[Date.now(),this._map.getBearing()]],this._startPos=this._pos=i.mousePos(this._el,t),this._center=this._map.transform.centerPoint;var e=this._startPos.sub(this._center);e.mag()&lt;200&amp;&amp;(this._center=this._startPos.add(new a(-200,0)._rotate(e.angle()))),t.preventDefault()}},_onMove:function(t){if(!this._ignoreEvent(t)){this.isActive()||(this._active=!0,this._fireEvent(&quot;rotatestart&quot;,t),this._fireEvent(&quot;movestart&quot;,t));var e=this._map;e.stop();var r=this._pos,n=i.mousePos(this._el,t),a=this._center,o=r.sub(a).angleWith(n.sub(a))/Math.PI*180,s=e.getBearing()-o,l=this._inertia,c=l[l.length-1];this._drainInertiaBuffer(),l.push([Date.now(),e._normalizeBearing(s,c[1])]),e.transform.bearing=s,this._fireEvent(&quot;rotate&quot;,t),this._fireEvent(&quot;move&quot;,t),this._pos=n}},_onUp:function(t){if(!this._ignoreEvent(t)&amp;&amp;(document.removeEventListener(&quot;mousemove&quot;,this._onMove),document.removeEventListener(&quot;mouseup&quot;,this._onUp),this.isActive())){this._active=!1,this._fireEvent(&quot;rotateend&quot;,t),this._drainInertiaBuffer();var e=this._map,r=e.getBearing(),n=this._inertia,i=function(){Math.abs(r)&lt;this._bearingSnap?e.resetNorth({noMoveStart:!0},{originalEvent:t}):this._fireEvent(&quot;moveend&quot;,t)}.bind(this);if(n.length&lt;2)i();else{var a=n[0],o=n[n.length-1],l=n[n.length-2],c=e._normalizeBearing(r,l[1]),u=o[1]-a[1],f=u&lt;0?-1:1,h=(o[0]-a[0])/1e3;if(0!==u&amp;&amp;0!==h){var d=Math.abs(u*(.25/h));d&gt;180&amp;&amp;(d=180);var p=d/180;c+=f*d*(p/2),Math.abs(e._normalizeBearing(c,0))&lt;this._bearingSnap&amp;&amp;(c=e._normalizeBearing(0,c)),e.rotateTo(c,{duration:1e3*p,easing:s,noMoveStart:!0},{originalEvent:t})}else i()}}},_fireEvent:function(t,e){return this._map.fire(t,{originalEvent:e})},_ignoreEvent:function(t){var e=this._map;if(e.boxZoom&amp;&amp;e.boxZoom.isActive())return!0;if(e.dragPan&amp;&amp;e.dragPan.isActive())return!0;if(t.touches)return t.touches.length&gt;1;var r=t.ctrlKey?1:2,n=t.ctrlKey?0:2;return&quot;mousemove&quot;===t.type?t.buttons&amp;0===r:t.button!==n},_drainInertiaBuffer:function(){for(var t=this._inertia,e=Date.now();t.length&gt;0&amp;&amp;e-t[0][0]&gt;160;)t.shift()}}},{&quot;../../util/dom&quot;:419,&quot;../../util/util&quot;:433,&quot;point-geometry&quot;:477}],408:[function(t,e,r){&quot;use strict&quot;;function n(t){this._map=t,this._el=t.getCanvasContainer(),this._onKeyDown=this._onKeyDown.bind(this)}e.exports=n;n.prototype={_enabled:!1,isEnabled:function(){return this._enabled},enable:function(){this.isEnabled()||(this._el.addEventListener(&quot;keydown&quot;,this._onKeyDown,!1),this._enabled=!0)},disable:function(){this.isEnabled()&amp;&amp;(this._el.removeEventListener(&quot;keydown&quot;,this._onKeyDown),this._enabled=!1)},_onKeyDown:function(t){if(!(t.altKey||t.ctrlKey||t.metaKey)){var e=this._map,r={originalEvent:t};if(!e.isEasing())switch(t.keyCode){case 61:case 107:case 171:case 187:e.zoomTo(Math.round(e.getZoom())+(t.shiftKey?2:1),r);break;case 189:case 109:case 173:e.zoomTo(Math.round(e.getZoom())-(t.shiftKey?2:1),r);break;case 37:t.shiftKey?e.easeTo({bearing:e.getBearing()-2},r):(t.preventDefault(),e.panBy([-80,0],r));break;case 39:t.shiftKey?e.easeTo({bearing:e.getBearing()+2},r):(t.preventDefault(),e.panBy([80,0],r));break;case 38:t.shiftKey?e.easeTo({pitch:e.getPitch()+5},r):(t.preventDefault(),e.panBy([0,-80],r));break;case 40:t.shiftKey?e.easeTo({pitch:Math.max(e.getPitch()-5,0)},r):(t.preventDefault(),e.panBy([0,80],r))}}}}},{}],409:[function(t,e,r){&quot;use strict&quot;;function n(t){this._map=t,this._el=t.getCanvasContainer(),o.bindHandlers(this)}var i=t(&quot;../../util/dom&quot;),a=t(&quot;../../util/browser&quot;),o=t(&quot;../../util/util&quot;);e.exports=n;var s=&quot;undefined&quot;!=typeof navigator?navigator.userAgent.toLowerCase():&quot;&quot;,l=-1!==s.indexOf(&quot;firefox&quot;),c=-1!==s.indexOf(&quot;safari&quot;)&amp;&amp;-1===s.indexOf(&quot;chrom&quot;);n.prototype={_enabled:!1,isEnabled:function(){return this._enabled},enable:function(){this.isEnabled()||(this._el.addEventListener(&quot;wheel&quot;,this._onWheel,!1),this._el.addEventListener(&quot;mousewheel&quot;,this._onWheel,!1),this._enabled=!0)},disable:function(){this.isEnabled()&amp;&amp;(this._el.removeEventListener(&quot;wheel&quot;,this._onWheel),this._el.removeEventListener(&quot;mousewheel&quot;,this._onWheel),this._enabled=!1)},_onWheel:function(t){var e;&quot;wheel&quot;===t.type?(e=t.deltaY,l&amp;&amp;t.deltaMode===window.WheelEvent.DOM_DELTA_PIXEL&amp;&amp;(e/=a.devicePixelRatio),t.deltaMode===window.WheelEvent.DOM_DELTA_LINE&amp;&amp;(e*=40)):&quot;mousewheel&quot;===t.type&amp;&amp;(e=-t.wheelDeltaY,c&amp;&amp;(e/=3));var r=a.now(),n=r-(this._time||0);this._pos=i.mousePos(this._el,t),this._time=r,0!==e&amp;&amp;e%4.000244140625==0?(this._type=&quot;wheel&quot;,e=Math.floor(e/4)):0!==e&amp;&amp;Math.abs(e)&lt;4?this._type=&quot;trackpad&quot;:n&gt;400?(this._type=null,this._lastValue=e,this._timeout=setTimeout(this._onTimeout,40)):this._type||(this._type=Math.abs(n*e)&lt;200?&quot;trackpad&quot;:&quot;wheel&quot;,this._timeout&amp;&amp;(clearTimeout(this._timeout),this._timeout=null,e+=this._lastValue)),t.shiftKey&amp;&amp;e&amp;&amp;(e/=4),this._type&amp;&amp;this._zoom(-e,t),t.preventDefault()},_onTimeout:function(){this._type=&quot;wheel&quot;,this._zoom(-this._lastValue)},_zoom:function(t,e){if(0!==t){var r=this._map,n=2/(1+Math.exp(-Math.abs(t/100)));t&lt;0&amp;&amp;0!==n&amp;&amp;(n=1/n);var i=r.ease?r.ease.to:r.transform.scale,a=r.transform.scaleZoom(i*n);r.zoomTo(a,{duration:0,around:r.unproject(this._pos),delayEndEvents:200},{originalEvent:e})}}}},{&quot;../../util/browser&quot;:417,&quot;../../util/dom&quot;:419,&quot;../../util/util&quot;:433}],410:[function(t,e,r){&quot;use strict&quot;;function n(t){this._map=t,this._el=t.getCanvasContainer(),a.bindHandlers(this)}var i=t(&quot;../../util/dom&quot;),a=t(&quot;../../util/util&quot;);e.exports=n;var o=a.bezier(0,0,.15,1);n.prototype={_enabled:!1,isEnabled:function(){return this._enabled},enable:function(){this.isEnabled()||(this._el.addEventListener(&quot;touchstart&quot;,this._onStart,!1),this._enabled=!0)},disable:function(){this.isEnabled()&amp;&amp;(this._el.removeEventListener(&quot;touchstart&quot;,this._onStart),this._enabled=!1)},disableRotation:function(){this._rotationDisabled=!0},enableRotation:function(){this._rotationDisabled=!1},_onStart:function(t){if(2===t.touches.length){var e=i.mousePos(this._el,t.touches[0]),r=i.mousePos(this._el,t.touches[1]);this._startVec=e.sub(r),this._startScale=this._map.transform.scale,this._startBearing=this._map.transform.bearing,this._gestureIntent=void 0,this._inertia=[],document.addEventListener(&quot;touchmove&quot;,this._onMove,!1),document.addEventListener(&quot;touchend&quot;,this._onEnd,!1)}},_onMove:function(t){if(2===t.touches.length){var e=i.mousePos(this._el,t.touches[0]),r=i.mousePos(this._el,t.touches[1]),n=e.add(r).div(2),a=e.sub(r),o=a.mag()/this._startVec.mag(),s=this._rotationDisabled?0:180*a.angleWith(this._startVec)/Math.PI,l=this._map;if(this._gestureIntent){var c={duration:0,around:l.unproject(n)};&quot;rotate&quot;===this._gestureIntent&amp;&amp;(c.bearing=this._startBearing+s),&quot;zoom&quot;!==this._gestureIntent&amp;&amp;&quot;rotate&quot;!==this._gestureIntent||(c.zoom=l.transform.scaleZoom(this._startScale*o)),l.stop(),this._drainInertiaBuffer(),this._inertia.push([Date.now(),o,n]),l.easeTo(c,{originalEvent:t})}else{var u=Math.abs(1-o)&gt;.15;Math.abs(s)&gt;4?this._gestureIntent=&quot;rotate&quot;:u&amp;&amp;(this._gestureIntent=&quot;zoom&quot;),this._gestureIntent&amp;&amp;(this._startVec=a,this._startScale=l.transform.scale,this._startBearing=l.transform.bearing)}t.preventDefault()}},_onEnd:function(t){document.removeEventListener(&quot;touchmove&quot;,this._onMove),document.removeEventListener(&quot;touchend&quot;,this._onEnd),this._drainInertiaBuffer();var e=this._inertia,r=this._map;if(e.length&lt;2)r.snapToNorth({},{originalEvent:t});else{var n=e[e.length-1],i=e[0],a=r.transform.scaleZoom(this._startScale*n[1]),s=r.transform.scaleZoom(this._startScale*i[1]),l=a-s,c=(n[0]-i[0])/1e3,u=n[2];if(0!==c&amp;&amp;a!==s){var f=.15*l/c;Math.abs(f)&gt;2.5&amp;&amp;(f=f&gt;0?2.5:-2.5);var h=1e3*Math.abs(f/(12*.15)),d=a+f*h/2e3;d&lt;0&amp;&amp;(d=0),r.easeTo({zoom:d,duration:h,easing:o,around:r.unproject(u)},{originalEvent:t})}else r.snapToNorth({},{originalEvent:t})}},_drainInertiaBuffer:function(){for(var t=this._inertia,e=Date.now();t.length&gt;2&amp;&amp;e-t[0][0]&gt;160;)t.shift()}}},{&quot;../../util/dom&quot;:419,&quot;../../util/util&quot;:433}],411:[function(t,e,r){&quot;use strict&quot;;function n(){i.bindAll([&quot;_onHashChange&quot;,&quot;_updateHash&quot;],this)}e.exports=n;var i=t(&quot;../util/util&quot;);n.prototype={addTo:function(t){return this._map=t,window.addEventListener(&quot;hashchange&quot;,this._onHashChange,!1),this._map.on(&quot;moveend&quot;,this._updateHash),this},remove:function(){return window.removeEventListener(&quot;hashchange&quot;,this._onHashChange,!1),this._map.off(&quot;moveend&quot;,this._updateHash),delete this._map,this},_onHashChange:function(){var t=location.hash.replace(&quot;#&quot;,&quot;&quot;).split(&quot;/&quot;);return t.length&gt;=3&amp;&amp;(this._map.jumpTo({center:[+t[2],+t[1]],zoom:+t[0],bearing:+(t[3]||0)}),!0)},_updateHash:function(){var t=this._map.getCenter(),e=this._map.getZoom(),r=this._map.getBearing(),n=Math.max(0,Math.ceil(Math.log(e)/Math.LN2)),i=&quot;#&quot;+Math.round(100*e)/100+&quot;/&quot;+t.lat.toFixed(n)+&quot;/&quot;+t.lng.toFixed(n)+(r?&quot;/&quot;+Math.round(10*r)/10:&quot;&quot;);window.history.replaceState(&quot;&quot;,&quot;&quot;,i)}}},{&quot;../util/util&quot;:433}],412:[function(t,e,r){&quot;use strict&quot;;function n(t){t.parentNode&amp;&amp;t.parentNode.removeChild(t)}var i=t(&quot;../util/canvas&quot;),a=t(&quot;../util/util&quot;),o=t(&quot;../util/browser&quot;),s=t(&quot;../util/browser&quot;).window,l=t(&quot;../util/evented&quot;),c=t(&quot;../util/dom&quot;),u=t(&quot;../style/style&quot;),f=t(&quot;../style/animation_loop&quot;),h=t(&quot;../render/painter&quot;),d=t(&quot;../geo/transform&quot;),p=t(&quot;./hash&quot;),m=t(&quot;./bind_handlers&quot;),g=t(&quot;./camera&quot;),v=t(&quot;../geo/lng_lat&quot;),y=t(&quot;../geo/lng_lat_bounds&quot;),x=t(&quot;point-geometry&quot;),b=t(&quot;./control/attribution&quot;),_={center:[0,0],zoom:0,bearing:0,pitch:0,minZoom:0,maxZoom:20,interactive:!0,scrollZoom:!0,boxZoom:!0,dragRotate:!0,dragPan:!0,keyboard:!0,doubleClickZoom:!0,touchZoomRotate:!0,bearingSnap:7,hash:!1,attributionControl:!0,failIfMajorPerformanceCaveat:!1,preserveDrawingBuffer:!1,trackResize:!0,workerCount:Math.max(o.hardwareConcurrency-1,1)},w=e.exports=function(t){if((t=a.extend({},_,t)).workerCount&lt;1)throw new Error(&quot;workerCount must an integer greater than or equal to 1.&quot;);this._interactive=t.interactive,this._failIfMajorPerformanceCaveat=t.failIfMajorPerformanceCaveat,this._preserveDrawingBuffer=t.preserveDrawingBuffer,this._trackResize=t.trackResize,this._workerCount=t.workerCount,this._bearingSnap=t.bearingSnap,&quot;string&quot;==typeof t.container?this._container=document.getElementById(t.container):this._container=t.container,this.animationLoop=new f,this.transform=new d(t.minZoom,t.maxZoom),t.maxBounds&amp;&amp;this.setMaxBounds(t.maxBounds),a.bindAll([&quot;_forwardStyleEvent&quot;,&quot;_forwardSourceEvent&quot;,&quot;_forwardLayerEvent&quot;,&quot;_forwardTileEvent&quot;,&quot;_onStyleLoad&quot;,&quot;_onStyleChange&quot;,&quot;_onSourceAdd&quot;,&quot;_onSourceRemove&quot;,&quot;_onSourceUpdate&quot;,&quot;_onWindowOnline&quot;,&quot;_onWindowResize&quot;,&quot;_update&quot;,&quot;_render&quot;],this),this._setupContainer(),this._setupPainter(),this.on(&quot;move&quot;,this._update.bind(this,!1)),this.on(&quot;zoom&quot;,this._update.bind(this,!0)),this.on(&quot;moveend&quot;,function(){this.animationLoop.set(300),this._rerender()}.bind(this)),void 0!==s&amp;&amp;(s.addEventListener(&quot;online&quot;,this._onWindowOnline,!1),s.addEventListener(&quot;resize&quot;,this._onWindowResize,!1)),m(this,t),this._hash=t.hash&amp;&amp;(new p).addTo(this),this._hash&amp;&amp;this._hash._onHashChange()||this.jumpTo({center:t.center,zoom:t.zoom,bearing:t.bearing,pitch:t.pitch}),this.stacks={},this._classes=[],this.resize(),t.classes&amp;&amp;this.setClasses(t.classes),t.style&amp;&amp;this.setStyle(t.style),t.attributionControl&amp;&amp;this.addControl(new b(t.attributionControl));var e=this.fire.bind(this,&quot;error&quot;);this.on(&quot;style.error&quot;,e),this.on(&quot;source.error&quot;,e),this.on(&quot;tile.error&quot;,e),this.on(&quot;layer.error&quot;,e)};a.extend(w.prototype,l),a.extend(w.prototype,g.prototype),a.extend(w.prototype,{addControl:function(t){return t.addTo(this),this},addClass:function(t,e){return this._classes.indexOf(t)&gt;=0||&quot;&quot;===t?this:(this._classes.push(t),this._classOptions=e,this.style&amp;&amp;this.style.updateClasses(),this._update(!0))},removeClass:function(t,e){var r=this._classes.indexOf(t);return r&lt;0||&quot;&quot;===t?this:(this._classes.splice(r,1),this._classOptions=e,this.style&amp;&amp;this.style.updateClasses(),this._update(!0))},setClasses:function(t,e){for(var r={},n=0;n&lt;t.length;n++)&quot;&quot;!==t[n]&amp;&amp;(r[t[n]]=!0);return this._classes=Object.keys(r),this._classOptions=e,this.style&amp;&amp;this.style.updateClasses(),this._update(!0)},hasClass:function(t){return this._classes.indexOf(t)&gt;=0},getClasses:function(){return this._classes},resize:function(){var t=0,e=0;return this._container&amp;&amp;(t=this._container.offsetWidth||400,e=this._container.offsetHeight||300),this._canvas.resize(t,e),this.transform.resize(t,e),this.painter.resize(t,e),this.fire(&quot;movestart&quot;).fire(&quot;move&quot;).fire(&quot;resize&quot;).fire(&quot;moveend&quot;)},getBounds:function(){var t=new y(this.transform.pointLocation(new x(0,0)),this.transform.pointLocation(this.transform.size));return(this.transform.angle||this.transform.pitch)&amp;&amp;(t.extend(this.transform.pointLocation(new x(this.transform.size.x,0))),t.extend(this.transform.pointLocation(new x(0,this.transform.size.y)))),t},setMaxBounds:function(t){if(t){var e=y.convert(t);this.transform.lngRange=[e.getWest(),e.getEast()],this.transform.latRange=[e.getSouth(),e.getNorth()],this.transform._constrain(),this._update()}else null!==t&amp;&amp;void 0!==t||(this.transform.lngRange=[],this.transform.latRange=[],this._update());return this},setMinZoom:function(t){if((t=null===t||void 0===t?0:t)&gt;=0&amp;&amp;t&lt;=this.transform.maxZoom)return this.transform.minZoom=t,this._update(),this.getZoom()&lt;t&amp;&amp;this.setZoom(t),this;throw new Error(&quot;minZoom must be between 0 and the current maxZoom, inclusive&quot;)},setMaxZoom:function(t){if((t=null===t||void 0===t?20:t)&gt;=this.transform.minZoom&amp;&amp;t&lt;=20)return this.transform.maxZoom=t,this._update(),this.getZoom()&gt;t&amp;&amp;this.setZoom(t),this;throw new Error(&quot;maxZoom must be between the current minZoom and 20, inclusive&quot;)},project:function(t){return this.transform.locationPoint(v.convert(t))},unproject:function(t){return this.transform.pointLocation(x.convert(t))},queryRenderedFeatures:function(){var t,e={};return 2===arguments.length?(t=arguments[0],e=arguments[1]):1===arguments.length&amp;&amp;function(t){return t instanceof x||Array.isArray(t)}(arguments[0])?t=arguments[0]:1===arguments.length&amp;&amp;(e=arguments[0]),this.style.queryRenderedFeatures(this._makeQueryGeometry(t),e,this.transform.zoom,this.transform.angle)},_makeQueryGeometry:function(t){void 0===t&amp;&amp;(t=[x.convert([0,0]),x.convert([this.transform.width,this.transform.height])]);var e;if(t instanceof x||&quot;number&quot;==typeof t[0]){e=[x.convert(t)]}else{var r=[x.convert(t[0]),x.convert(t[1])];e=[r[0],new x(r[1].x,r[0].y),r[1],new x(r[0].x,r[1].y),r[0]]}return e=e.map(function(t){return this.transform.pointCoordinate(t)}.bind(this))},querySourceFeatures:function(t,e){return this.style.querySourceFeatures(t,e)},setStyle:function(t){return this.style&amp;&amp;(this.style.off(&quot;load&quot;,this._onStyleLoad).off(&quot;error&quot;,this._forwardStyleEvent).off(&quot;change&quot;,this._onStyleChange).off(&quot;source.add&quot;,this._onSourceAdd).off(&quot;source.remove&quot;,this._onSourceRemove).off(&quot;source.load&quot;,this._onSourceUpdate).off(&quot;source.error&quot;,this._forwardSourceEvent).off(&quot;source.change&quot;,this._onSourceUpdate).off(&quot;layer.add&quot;,this._forwardLayerEvent).off(&quot;layer.remove&quot;,this._forwardLayerEvent).off(&quot;layer.error&quot;,this._forwardLayerEvent).off(&quot;tile.add&quot;,this._forwardTileEvent).off(&quot;tile.remove&quot;,this._forwardTileEvent).off(&quot;tile.load&quot;,this._update).off(&quot;tile.error&quot;,this._forwardTileEvent).off(&quot;tile.stats&quot;,this._forwardTileEvent)._remove(),this.off(&quot;rotate&quot;,this.style._redoPlacement),this.off(&quot;pitch&quot;,this.style._redoPlacement)),t?(this.style=t instanceof u?t:new u(t,this.animationLoop,this._workerCount),this.style.on(&quot;load&quot;,this._onStyleLoad).on(&quot;error&quot;,this._forwardStyleEvent).on(&quot;change&quot;,this._onStyleChange).on(&quot;source.add&quot;,this._onSourceAdd).on(&quot;source.remove&quot;,this._onSourceRemove).on(&quot;source.load&quot;,this._onSourceUpdate).on(&quot;source.error&quot;,this._forwardSourceEvent).on(&quot;source.change&quot;,this._onSourceUpdate).on(&quot;layer.add&quot;,this._forwardLayerEvent).on(&quot;layer.remove&quot;,this._forwardLayerEvent).on(&quot;layer.error&quot;,this._forwardLayerEvent).on(&quot;tile.add&quot;,this._forwardTileEvent).on(&quot;tile.remove&quot;,this._forwardTileEvent).on(&quot;tile.load&quot;,this._update).on(&quot;tile.error&quot;,this._forwardTileEvent).on(&quot;tile.stats&quot;,this._forwardTileEvent),this.on(&quot;rotate&quot;,this.style._redoPlacement),this.on(&quot;pitch&quot;,this.style._redoPlacement),this):(this.style=null,this)},getStyle:function(){if(this.style)return this.style.serialize()},addSource:function(t,e){return this.style.addSource(t,e),this._update(!0),this},addSourceType:function(t,e,r){return this.style.addSourceType(t,e,r)},removeSource:function(t){return this.style.removeSource(t),this._update(!0),this},getSource:function(t){return this.style.getSource(t)},addLayer:function(t,e){return this.style.addLayer(t,e),this._update(!0),this},removeLayer:function(t){return this.style.removeLayer(t),this._update(!0),this},getLayer:function(t){return this.style.getLayer(t)},setFilter:function(t,e){return this.style.setFilter(t,e),this._update(!0),this},setLayerZoomRange:function(t,e,r){return this.style.setLayerZoomRange(t,e,r),this._update(!0),this},getFilter:function(t){return this.style.getFilter(t)},setPaintProperty:function(t,e,r,n){return this.style.setPaintProperty(t,e,r,n),this._update(!0),this},getPaintProperty:function(t,e,r){return this.style.getPaintProperty(t,e,r)},setLayoutProperty:function(t,e,r){return this.style.setLayoutProperty(t,e,r),this._update(!0),this},getLayoutProperty:function(t,e){return this.style.getLayoutProperty(t,e)},getContainer:function(){return this._container},getCanvasContainer:function(){return this._canvasContainer},getCanvas:function(){return this._canvas.getElement()},_setupContainer:function(){var t=this._container;t.classList.add(&quot;mapboxgl-map&quot;);var e=this._canvasContainer=c.create(&quot;div&quot;,&quot;mapboxgl-canvas-container&quot;,t);this._interactive&amp;&amp;e.classList.add(&quot;mapboxgl-interactive&quot;),this._canvas=new i(this,e);var r=this._controlContainer=c.create(&quot;div&quot;,&quot;mapboxgl-control-container&quot;,t),n=this._controlCorners={};[&quot;top-left&quot;,&quot;top-right&quot;,&quot;bottom-left&quot;,&quot;bottom-right&quot;].forEach(function(t){n[t]=c.create(&quot;div&quot;,&quot;mapboxgl-ctrl-&quot;+t,r)})},_setupPainter:function(){var t=this._canvas.getWebGLContext({failIfMajorPerformanceCaveat:this._failIfMajorPerformanceCaveat,preserveDrawingBuffer:this._preserveDrawingBuffer});t?this.painter=new h(t,this.transform):this.fire(&quot;error&quot;,{error:new Error(&quot;Failed to initialize WebGL&quot;)})},_contextLost:function(t){t.preventDefault(),this._frameId&amp;&amp;o.cancelFrame(this._frameId),this.fire(&quot;webglcontextlost&quot;,{originalEvent:t})},_contextRestored:function(t){this._setupPainter(),this.resize(),this._update(),this.fire(&quot;webglcontextrestored&quot;,{originalEvent:t})},loaded:function(){return!this._styleDirty&amp;&amp;!this._sourcesDirty&amp;&amp;!(!this.style||!this.style.loaded())},_update:function(t){return this.style?(this._styleDirty=this._styleDirty||t,this._sourcesDirty=!0,this._rerender(),this):this},_render:function(){try{this.style&amp;&amp;this._styleDirty&amp;&amp;(this._styleDirty=!1,this.style.update(this._classes,this._classOptions),this._classOptions=null,this.style._recalculate(this.transform.zoom)),this.style&amp;&amp;this._sourcesDirty&amp;&amp;(this._sourcesDirty=!1,this.style._updateSources(this.transform)),this.painter.render(this.style,{debug:this.showTileBoundaries,showOverdrawInspector:this._showOverdrawInspector,vertices:this.vertices,rotating:this.rotating,zooming:this.zooming}),this.fire(&quot;render&quot;),this.loaded()&amp;&amp;!this._loaded&amp;&amp;(this._loaded=!0,this.fire(&quot;load&quot;)),this._frameId=null,this.animationLoop.stopped()||(this._styleDirty=!0),(this._sourcesDirty||this._repaint||this._styleDirty)&amp;&amp;this._rerender()}catch(t){this.fire(&quot;error&quot;,{error:t})}return this},remove:function(){this._hash&amp;&amp;this._hash.remove(),o.cancelFrame(this._frameId),this.setStyle(null),void 0!==s&amp;&amp;s.removeEventListener(&quot;resize&quot;,this._onWindowResize,!1);var t=this.painter.gl.getExtension(&quot;WEBGL_lose_context&quot;);t&amp;&amp;t.loseContext(),n(this._canvasContainer),n(this._controlContainer),this._container.classList.remove(&quot;mapboxgl-map&quot;)},_rerender:function(){this.style&amp;&amp;!this._frameId&amp;&amp;(this._frameId=o.frame(this._render))},_forwardStyleEvent:function(t){this.fire(&quot;style.&quot;+t.type,a.extend({style:t.target},t))},_forwardSourceEvent:function(t){this.fire(t.type,a.extend({style:t.target},t))},_forwardLayerEvent:function(t){this.fire(t.type,a.extend({style:t.target},t))},_forwardTileEvent:function(t){this.fire(t.type,a.extend({style:t.target},t))},_onStyleLoad:function(t){this.transform.unmodified&amp;&amp;this.jumpTo(this.style.stylesheet),this.style.update(this._classes,{transition:!1}),this._forwardStyleEvent(t)},_onStyleChange:function(t){this._update(!0),this._forwardStyleEvent(t)},_onSourceAdd:function(t){var e=t.source;e.onAdd&amp;&amp;e.onAdd(this),this._forwardSourceEvent(t)},_onSourceRemove:function(t){var e=t.source;e.onRemove&amp;&amp;e.onRemove(this),this._forwardSourceEvent(t)},_onSourceUpdate:function(t){this._update(),this._forwardSourceEvent(t)},_onWindowOnline:function(){this._update()},_onWindowResize:function(){this._trackResize&amp;&amp;this.stop().resize()._update()}}),a.extendAll(w.prototype,{_showTileBoundaries:!1,get showTileBoundaries(){return this._showTileBoundaries},set showTileBoundaries(t){this._showTileBoundaries!==t&amp;&amp;(this._showTileBoundaries=t,this._update())},_showCollisionBoxes:!1,get showCollisionBoxes(){return this._showCollisionBoxes},set showCollisionBoxes(t){this._showCollisionBoxes!==t&amp;&amp;(this._showCollisionBoxes=t,this.style._redoPlacement())},_showOverdrawInspector:!1,get showOverdrawInspector(){return this._showOverdrawInspector},set showOverdrawInspector(t){this._showOverdrawInspector!==t&amp;&amp;(this._showOverdrawInspector=t,this._update())},_repaint:!1,get repaint(){return this._repaint},set repaint(t){this._repaint=t,this._update()},_vertices:!1,get vertices(){return this._vertices},set vertices(t){this._vertices=t,this._update()}})},{&quot;../geo/lng_lat&quot;:330,&quot;../geo/lng_lat_bounds&quot;:331,&quot;../geo/transform&quot;:332,&quot;../render/painter&quot;:346,&quot;../style/animation_loop&quot;:366,&quot;../style/style&quot;:369,&quot;../util/browser&quot;:417,&quot;../util/canvas&quot;:418,&quot;../util/dom&quot;:419,&quot;../util/evented&quot;:425,&quot;../util/util&quot;:433,&quot;./bind_handlers&quot;:398,&quot;./camera&quot;:399,&quot;./control/attribution&quot;:400,&quot;./hash&quot;:411,&quot;point-geometry&quot;:477}],413:[function(t,e,r){&quot;use strict&quot;;function n(t,e){t||(t=i.create(&quot;div&quot;)),t.classList.add(&quot;mapboxgl-marker&quot;),this._el=t,this._offset=o.convert(e&amp;&amp;e.offset||[0,0]),this._update=this._update.bind(this)}e.exports=n;var i=t(&quot;../util/dom&quot;),a=t(&quot;../geo/lng_lat&quot;),o=t(&quot;point-geometry&quot;);n.prototype={addTo:function(t){return this.remove(),this._map=t,t.getCanvasContainer().appendChild(this._el),t.on(&quot;move&quot;,this._update),this._update(),this},remove:function(){this._map&amp;&amp;(this._map.off(&quot;move&quot;,this._update),this._map=null);var t=this._el.parentNode;return t&amp;&amp;t.removeChild(this._el),this},getLngLat:function(){return this._lngLat},setLngLat:function(t){return this._lngLat=a.convert(t),this._update(),this},getElement:function(){return this._el},_update:function(){if(this._map){var t=this._map.project(this._lngLat)._add(this._offset);i.setTransform(this._el,&quot;translate(&quot;+t.x+&quot;px,&quot;+t.y+&quot;px)&quot;)}}}},{&quot;../geo/lng_lat&quot;:330,&quot;../util/dom&quot;:419,&quot;point-geometry&quot;:477}],414:[function(t,e,r){&quot;use strict&quot;;function n(t){i.setOptions(this,t),i.bindAll([&quot;_update&quot;,&quot;_onClickClose&quot;],this)}e.exports=n;var i=t(&quot;../util/util&quot;),a=t(&quot;../util/evented&quot;),o=t(&quot;../util/dom&quot;),s=t(&quot;../geo/lng_lat&quot;);n.prototype=i.inherit(a,{options:{closeButton:!0,closeOnClick:!0},addTo:function(t){return this._map=t,this._map.on(&quot;move&quot;,this._update),this.options.closeOnClick&amp;&amp;this._map.on(&quot;click&quot;,this._onClickClose),this._update(),this},remove:function(){return this._content&amp;&amp;this._content.parentNode&amp;&amp;this._content.parentNode.removeChild(this._content),this._container&amp;&amp;(this._container.parentNode.removeChild(this._container),delete this._container),this._map&amp;&amp;(this._map.off(&quot;move&quot;,this._update),this._map.off(&quot;click&quot;,this._onClickClose),delete this._map),this.fire(&quot;close&quot;),this},getLngLat:function(){return this._lngLat},setLngLat:function(t){return this._lngLat=s.convert(t),this._update(),this},setText:function(t){return this.setDOMContent(document.createTextNode(t))},setHTML:function(t){var e,r=document.createDocumentFragment(),n=document.createElement(&quot;body&quot;);for(n.innerHTML=t;e=n.firstChild;)r.appendChild(e);return this.setDOMContent(r)},setDOMContent:function(t){return this._createContent(),this._content.appendChild(t),this._update(),this},_createContent:function(){this._content&amp;&amp;this._content.parentNode&amp;&amp;this._content.parentNode.removeChild(this._content),this._content=o.create(&quot;div&quot;,&quot;mapboxgl-popup-content&quot;,this._container),this.options.closeButton&amp;&amp;(this._closeButton=o.create(&quot;button&quot;,&quot;mapboxgl-popup-close-button&quot;,this._content),this._closeButton.type=&quot;button&quot;,this._closeButton.innerHTML=&quot;&amp;#215;&quot;,this._closeButton.addEventListener(&quot;click&quot;,this._onClickClose))},_update:function(){if(this._map&amp;&amp;this._lngLat&amp;&amp;this._content){this._container||(this._container=o.create(&quot;div&quot;,&quot;mapboxgl-popup&quot;,this._map.getContainer()),this._tip=o.create(&quot;div&quot;,&quot;mapboxgl-popup-tip&quot;,this._container),this._container.appendChild(this._content));var t=this._map.project(this._lngLat).round(),e=this.options.anchor;if(!e){var r=this._container.offsetWidth,n=this._container.offsetHeight;e=t.y&lt;n?[&quot;top&quot;]:t.y&gt;this._map.transform.height-n?[&quot;bottom&quot;]:[],t.x&lt;r/2?e.push(&quot;left&quot;):t.x&gt;this._map.transform.width-r/2&amp;&amp;e.push(&quot;right&quot;),e=0===e.length?&quot;bottom&quot;:e.join(&quot;-&quot;)}var i={top:&quot;translate(-50%,0)&quot;,&quot;top-left&quot;:&quot;translate(0,0)&quot;,&quot;top-right&quot;:&quot;translate(-100%,0)&quot;,bottom:&quot;translate(-50%,-100%)&quot;,&quot;bottom-left&quot;:&quot;translate(0,-100%)&quot;,&quot;bottom-right&quot;:&quot;translate(-100%,-100%)&quot;,left:&quot;translate(0,-50%)&quot;,right:&quot;translate(-100%,-50%)&quot;},a=this._container.classList;for(var s in i)a.remove(&quot;mapboxgl-popup-anchor-&quot;+s);a.add(&quot;mapboxgl-popup-anchor-&quot;+e),o.setTransform(this._container,i[e]+&quot; translate(&quot;+t.x+&quot;px,&quot;+t.y+&quot;px)&quot;)}},_onClickClose:function(){this.remove()}})},{&quot;../geo/lng_lat&quot;:330,&quot;../util/dom&quot;:419,&quot;../util/evented&quot;:425,&quot;../util/util&quot;:433}],415:[function(t,e,r){&quot;use strict&quot;;function n(t,e){this.target=t,this.parent=e,this.callbacks={},this.callbackID=0,this.receive=this.receive.bind(this),this.target.addEventListener(&quot;message&quot;,this.receive,!1)}e.exports=n,n.prototype.receive=function(t){function e(t,e,r){this.postMessage({type:&quot;&lt;response&gt;&quot;,id:String(i),error:t?String(t):null,data:e},r)}var r,n=t.data,i=n.id;if(&quot;&lt;response&gt;&quot;===n.type)r=this.callbacks[n.id],delete this.callbacks[n.id],r&amp;&amp;r(n.error||null,n.data);else if(void 0!==n.id&amp;&amp;this.parent[n.type])this.parent[n.type](n.data,e.bind(this));else if(void 0!==n.id&amp;&amp;this.parent.workerSources){var a=n.type.split(&quot;.&quot;);this.parent.workerSources[a[0]][a[1]](n.data,e.bind(this))}else this.parent[n.type](n.data)},n.prototype.send=function(t,e,r,n){var i=null;r&amp;&amp;(this.callbacks[i=this.callbackID++]=r),this.postMessage({type:t,id:String(i),data:e},n)},n.prototype.postMessage=function(t,e){this.target.postMessage(t,e)}},{}],416:[function(t,e,r){&quot;use strict&quot;;function n(t){var e=document.createElement(&quot;a&quot;);return e.href=t,e.protocol===document.location.protocol&amp;&amp;e.host===document.location.host}r.getJSON=function(t,e){var r=new XMLHttpRequest;return r.open(&quot;GET&quot;,t,!0),r.setRequestHeader(&quot;Accept&quot;,&quot;application/json&quot;),r.onerror=function(t){e(t)},r.onload=function(){if(r.status&gt;=200&amp;&amp;r.status&lt;300&amp;&amp;r.response){var t;try{t=JSON.parse(r.response)}catch(t){return e(t)}e(null,t)}else e(new Error(r.statusText))},r.send(),r},r.getArrayBuffer=function(t,e){var r=new XMLHttpRequest;return r.open(&quot;GET&quot;,t,!0),r.responseType=&quot;arraybuffer&quot;,r.onerror=function(t){e(t)},r.onload=function(){r.status&gt;=200&amp;&amp;r.status&lt;300&amp;&amp;r.response?e(null,r.response):e(new Error(r.statusText))},r.send(),r},r.getImage=function(t,e){return r.getArrayBuffer(t,function(t,r){if(t)return e(t);var n=new Image;n.onload=function(){e(null,n),(window.URL||window.webkitURL).revokeObjectURL(n.src)};var i=new Blob([new Uint8Array(r)],{type:&quot;image/png&quot;});return n.src=(window.URL||window.webkitURL).createObjectURL(i),n.getData=function(){var t=document.createElement(&quot;canvas&quot;),e=t.getContext(&quot;2d&quot;);return t.width=n.width,t.height=n.height,e.drawImage(n,0,0),e.getImageData(0,0,n.width,n.height).data},n})},r.getVideo=function(t,e){var r=document.createElement(&quot;video&quot;);r.onloadstart=function(){e(null,r)};for(var i=0;i&lt;t.length;i++){var a=document.createElement(&quot;source&quot;);n(t[i])||(r.crossOrigin=&quot;Anonymous&quot;),a.src=t[i],r.appendChild(a)}return r.getData=function(){return r},r}},{}],417:[function(t,e,r){&quot;use strict&quot;;r.window=window,e.exports.now=window.performance&amp;&amp;window.performance.now?window.performance.now.bind(window.performance):Date.now.bind(Date);var n=window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||window.msRequestAnimationFrame;r.frame=function(t){return n(t)};var i=window.cancelAnimationFrame||window.mozCancelAnimationFrame||window.webkitCancelAnimationFrame||window.msCancelAnimationFrame;r.cancelFrame=function(t){i(t)},r.timed=function(t,n,i){function a(l){o||((l=e.exports.now())&gt;=s+n?t.call(i,1):(t.call(i,(l-s)/n),r.frame(a)))}if(!n)return t.call(i,1),null;var o=!1,s=e.exports.now();return r.frame(a),function(){o=!0}},r.supported=t(&quot;mapbox-gl-supported&quot;),r.hardwareConcurrency=navigator.hardwareConcurrency||4,Object.defineProperty(r,&quot;devicePixelRatio&quot;,{get:function(){return window.devicePixelRatio}}),r.supportsWebp=!1;var a=document.createElement(&quot;img&quot;);a.onload=function(){r.supportsWebp=!0},a.src=&quot;data:image/webp;base64,UklGRh4AAABXRUJQVlA4TBEAAAAvAQAAAAfQ//73v/+BiOh/AAA=&quot;,r.supportsGeolocation=!!navigator.geolocation},{&quot;mapbox-gl-supported&quot;:318}],418:[function(t,e,r){&quot;use strict&quot;;function n(t,e){this.canvas=document.createElement(&quot;canvas&quot;),t&amp;&amp;e&amp;&amp;(this.canvas.style.position=&quot;absolute&quot;,this.canvas.classList.add(&quot;mapboxgl-canvas&quot;),this.canvas.addEventListener(&quot;webglcontextlost&quot;,t._contextLost.bind(t),!1),this.canvas.addEventListener(&quot;webglcontextrestored&quot;,t._contextRestored.bind(t),!1),this.canvas.setAttribute(&quot;tabindex&quot;,0),e.appendChild(this.canvas))}var i=t(&quot;../util&quot;),a=t(&quot;mapbox-gl-supported&quot;);e.exports=n,n.prototype.resize=function(t,e){var r=window.devicePixelRatio||1;this.canvas.width=r*t,this.canvas.height=r*e,this.canvas.style.width=t+&quot;px&quot;,this.canvas.style.height=e+&quot;px&quot;},n.prototype.getWebGLContext=function(t){return t=i.extend({},t,a.webGLContextAttributes),this.canvas.getContext(&quot;webgl&quot;,t)||this.canvas.getContext(&quot;experimental-webgl&quot;,t)},n.prototype.getElement=function(){return this.canvas}},{&quot;../util&quot;:433,&quot;mapbox-gl-supported&quot;:318}],419:[function(t,e,r){&quot;use strict&quot;;function n(t){for(var e=0;e&lt;t.length;e++)if(t[e]in s)return t[e]}function i(t){t.preventDefault(),t.stopPropagation(),window.removeEventListener(&quot;click&quot;,i,!0)}var a=t(&quot;point-geometry&quot;);r.create=function(t,e,r){var n=document.createElement(t);return e&amp;&amp;(n.className=e),r&amp;&amp;r.appendChild(n),n};var o,s=document.documentElement.style,l=n([&quot;userSelect&quot;,&quot;MozUserSelect&quot;,&quot;WebkitUserSelect&quot;,&quot;msUserSelect&quot;]);r.disableDrag=function(){l&amp;&amp;(o=s[l],s[l]=&quot;none&quot;)},r.enableDrag=function(){l&amp;&amp;(s[l]=o)};var c=n([&quot;transform&quot;,&quot;WebkitTransform&quot;]);r.setTransform=function(t,e){t.style[c]=e},r.suppressClick=function(){window.addEventListener(&quot;click&quot;,i,!0),window.setTimeout(function(){window.removeEventListener(&quot;click&quot;,i,!0)},0)},r.mousePos=function(t,e){var r=t.getBoundingClientRect();return e=e.touches?e.touches[0]:e,new a(e.clientX-r.left-t.clientLeft,e.clientY-r.top-t.clientTop)},r.touchPos=function(t,e){for(var r=t.getBoundingClientRect(),n=[],i=0;i&lt;e.touches.length;i++)n.push(new a(e.touches[i].clientX-r.left-t.clientLeft,e.touches[i].clientY-r.top-t.clientTop));return n}},{&quot;point-geometry&quot;:477}],420:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;webworkify&quot;);e.exports=function(){return new n(t(&quot;../../source/worker&quot;))}},{&quot;../../source/worker&quot;:364,webworkify:578}],421:[function(t,e,r){&quot;use strict&quot;;function n(t,e){return e.area-t.area}var i=t(&quot;quickselect&quot;);e.exports=function(t,e){var r=t.length;if(r&lt;=1)return[t];for(var a,o,s=[],l=0;l&lt;r;l++){var c=function(t){for(var e,r,n=0,i=0,a=t.length,o=a-1;i&lt;a;o=i++)e=t[i],n+=((r=t[o]).x-e.x)*(e.y+r.y);return n}(t[l]);0!==c&amp;&amp;(t[l].area=Math.abs(c),void 0===o&amp;&amp;(o=c&lt;0),o===c&lt;0?(a&amp;&amp;s.push(a),a=[t[l]]):a.push(t[l]))}if(a&amp;&amp;s.push(a),e&gt;1)for(var u=0;u&lt;s.length;u++)s[u].length&lt;=e||(i(s[u],e,1,s[u].length-1,n),s[u]=s[u].slice(0,e));return s}},{quickselect:494}],422:[function(t,e,r){&quot;use strict&quot;;e.exports={API_URL:&quot;https://api.mapbox.com&quot;,REQUIRE_ACCESS_TOKEN:!0}},{}],423:[function(t,e,r){&quot;use strict&quot;;function n(t){this._stringToNumber={},this._numberToString=[];for(var e=0;e&lt;t.length;e++){var r=t[e];this._stringToNumber[r]=e,this._numberToString[e]=r}}var i=t(&quot;assert&quot;);e.exports=n,n.prototype.encode=function(t){return i(t in this._stringToNumber),this._stringToNumber[t]},n.prototype.decode=function(t){return i(t&lt;this._numberToString.length),this._numberToString[t]}},{assert:51}],424:[function(t,e,r){&quot;use strict&quot;;function n(t,e){this.actors=[],this.currentActor=0;for(var r=0;r&lt;t;r++){var n=new o,i=new a(n,e);i.name=&quot;Worker &quot;+r,this.actors.push(i)}}var i=t(&quot;./util&quot;),a=t(&quot;./actor&quot;),o=t(&quot;./web_worker&quot;);e.exports=n,n.prototype={broadcast:function(t,e,r){r=r||function(){},i.asyncAll(this.actors,function(r,n){r.send(t,e,n)},r)},send:function(t,e,r,n,i){return(&quot;number&quot;!=typeof n||isNaN(n))&amp;&amp;(n=this.currentActor=(this.currentActor+1)%this.actors.length),this.actors[n].send(t,e,r,i),n},remove:function(){for(var t=0;t&lt;this.actors.length;t++)this.actors[t].target.terminate();this.actors=[]}}},{&quot;./actor&quot;:415,&quot;./util&quot;:433,&quot;./web_worker&quot;:420}],425:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;./util&quot;),i={on:function(t,e){return this._events=this._events||{},this._events[t]=this._events[t]||[],this._events[t].push(e),this},off:function(t,e){if(!t)return delete this._events,this;if(!this.listens(t))return this;if(e){var r=this._events[t].indexOf(e);r&gt;=0&amp;&amp;this._events[t].splice(r,1),this._events[t].length||delete this._events[t]}else delete this._events[t];return this},once:function(t,e){var r=function(n){this.off(t,r),e.call(this,n)}.bind(this);return this.on(t,r),this},fire:function(t,e){if(!this.listens(t))return n.endsWith(t,&quot;error&quot;)&amp;&amp;console.error(e&amp;&amp;e.error||e||&quot;Empty error event&quot;),this;e=n.extend({},e),n.extend(e,{type:t,target:this});for(var r=this._events[t].slice(),i=0;i&lt;r.length;i++)r[i].call(this,e);return this},listens:function(t){return!(!this._events||!this._events[t])}};e.exports=i},{&quot;./util&quot;:433}],426:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r){if(1===t){var n=r.readMessage(i,{glyphs:{}});e.push(n)}}function i(t,e,r){if(1===t)e.name=r.readString();else if(2===t)e.range=r.readString();else if(3===t){var n=r.readMessage(a,{});e.glyphs[n.id]=n}}function a(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&amp;&amp;(e.advance=r.readVarint())}e.exports=function(t,e){this.stacks=t.readFields(n,[],e)}},{}],427:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r){return t*(1-r)+e*r}e.exports=n,n.number=n,n.vec2=function(t,e,r){return[n(t[0],e[0],r),n(t[1],e[1],r)]},n.color=function(t,e,r){return[n(t[0],e[0],r),n(t[1],e[1],r),n(t[2],e[2],r),n(t[3],e[3],r)]},n.array=function(t,e,r){return t.map(function(t,i){return n(t,e[i],r)})}},{}],428:[function(t,e,r){&quot;use strict&quot;;function n(t,e){for(var r=0;r&lt;t.length-1;r++)for(var n=t[r],a=t[r+1],o=0;o&lt;e.length-1;o++){if(function(t,e,r,n){return i(t,r,n)!==i(e,r,n)&amp;&amp;i(t,e,r)!==i(t,e,n)}(n,a,e[o],e[o+1]))return!0}return!1}function i(t,e,r){return(r.y-t.y)*(e.x-t.x)&gt;(e.y-t.y)*(r.x-t.x)}function a(t,e,r){var n=r*r;if(1===e.length)return t.distSqr(e[0])&lt;n;for(var i=1;i&lt;e.length;i++){if(function(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&lt;0?t.distSqr(e):i&gt;1?t.distSqr(r):t.distSqr(r.sub(e)._mult(i)._add(e))}(t,e[i-1],e[i])&lt;n)return!0}return!1}function o(t,e){for(var r,n,i,a=!1,o=0;o&lt;t.length;o++)for(var s=0,l=(r=t[o]).length-1;s&lt;r.length;l=s++)n=r[s],i=r[l],n.y&gt;e.y!=i.y&gt;e.y&amp;&amp;e.x&lt;(i.x-n.x)*(e.y-n.y)/(i.y-n.y)+n.x&amp;&amp;(a=!a);return a}function s(t,e){for(var r=!1,n=0,i=t.length-1;n&lt;t.length;i=n++){var a=t[n],o=t[i];a.y&gt;e.y!=o.y&gt;e.y&amp;&amp;e.x&lt;(o.x-a.x)*(e.y-a.y)/(o.y-a.y)+a.x&amp;&amp;(r=!r)}return r}e.exports={multiPolygonIntersectsBufferedMultiPoint:function(t,e,r){for(var n=0;n&lt;t.length;n++)for(var i=t[n],o=0;o&lt;e.length;o++)for(var l=e[o],c=0;c&lt;l.length;c++){var u=l[c];if(s(i,u))return!0;if(a(u,i,r))return!0}return!1},multiPolygonIntersectsMultiPolygon:function(t,e){if(1===t.length&amp;&amp;1===t[0].length)return o(e,t[0][0]);for(var r=0;r&lt;e.length;r++)for(var i=e[r],a=0;a&lt;i.length;a++)if(o(t,i[a]))return!0;for(var s=0;s&lt;t.length;s++){for(var l=t[s],c=0;c&lt;l.length;c++)if(o(e,l[c]))return!0;for(var u=0;u&lt;e.length;u++)if(n(l,e[u]))return!0}return!1},multiPolygonIntersectsBufferedMultiLine:function(t,e,r){for(var i=0;i&lt;e.length;i++)for(var o=e[i],l=0;l&lt;t.length;l++){var c=t[l];if(c.length&gt;=3)for(var u=0;u&lt;o.length;u++)if(s(c,o[u]))return!0;if(function(t,e,r){if(t.length&gt;1){if(n(t,e))return!0;for(var i=0;i&lt;e.length;i++)if(a(e[i],t,r))return!0}for(var o=0;o&lt;t.length;o++)if(a(t[o],e,r))return!0;return!1}(c,o,r))return!0}return!1}}},{}],429:[function(t,e,r){&quot;use strict&quot;;function n(t,e){this.max=t,this.onRemove=e,this.reset()}e.exports=n,n.prototype.reset=function(){for(var t in this.data)this.onRemove(this.data[t]);return this.data={},this.order=[],this},n.prototype.add=function(t,e){if(this.has(t))this.order.splice(this.order.indexOf(t),1),this.data[t]=e,this.order.push(t);else if(this.data[t]=e,this.order.push(t),this.order.length&gt;this.max){var r=this.get(this.order[0]);r&amp;&amp;this.onRemove(r)}return this},n.prototype.has=function(t){return t in this.data},n.prototype.keys=function(){return this.order},n.prototype.get=function(t){if(!this.has(t))return null;var e=this.data[t];return delete this.data[t],this.order.splice(this.order.indexOf(t),1),e},n.prototype.setMaxSize=function(t){for(this.max=t;this.order.length&gt;this.max;){var e=this.get(this.order[0]);e&amp;&amp;this.onRemove(e)}return this}},{}],430:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r){if(!(r=r||a.ACCESS_TOKEN)&amp;&amp;a.REQUIRE_ACCESS_TOKEN)throw new Error(&quot;An API access token is required to use Mapbox GL. See https://www.mapbox.com/developers/api/#access-tokens&quot;);if(t=t.replace(/^mapbox:\/\//,a.API_URL+e),t+=-1!==t.indexOf(&quot;?&quot;)?&quot;&amp;access_token=&quot;:&quot;?access_token=&quot;,a.REQUIRE_ACCESS_TOKEN){if(&quot;s&quot;===r[0])throw new Error(&quot;Use a public access token (pk.*) with Mapbox GL JS, not a secret access token (sk.*). See https://www.mapbox.com/developers/api/#access-tokens&quot;);t+=r}return t}function i(t){return t?&quot;?&quot;+t:&quot;&quot;}var a=t(&quot;./config&quot;),o=t(&quot;./browser&quot;),s=t(&quot;url&quot;),l=t(&quot;./util&quot;);e.exports.normalizeStyleURL=function(t,e){var r=s.parse(t);return&quot;mapbox:&quot;!==r.protocol?t:n(&quot;mapbox:/&quot;+r.pathname+i(r.query),&quot;/styles/v1/&quot;,e)},e.exports.normalizeSourceURL=function(t,e){return&quot;mapbox:&quot;!==s.parse(t).protocol?t:n(t+&quot;.json&quot;,&quot;/v4/&quot;,e)+&quot;&amp;secure&quot;},e.exports.normalizeGlyphsURL=function(t,e){var r=s.parse(t);if(&quot;mapbox:&quot;!==r.protocol)return t;return n(&quot;mapbox://&quot;+r.pathname.split(&quot;/&quot;)[1]+&quot;/{fontstack}/{range}.pbf&quot;+i(r.query),&quot;/fonts/v1/&quot;,e)},e.exports.normalizeSpriteURL=function(t,e,r,a){var o=s.parse(t);return&quot;mapbox:&quot;!==o.protocol?(o.pathname+=e+r,s.format(o)):n(&quot;mapbox:/&quot;+o.pathname+&quot;/sprite&quot;+e+r+i(o.query),&quot;/styles/v1/&quot;,a)},e.exports.normalizeTileURL=function(t,e,r){var n=s.parse(t,!0);if(!e)return t;if(&quot;mapbox:&quot;!==s.parse(e).protocol)return t;var i=o.supportsWebp?&quot;.webp&quot;:&quot;$1&quot;,c=o.devicePixelRatio&gt;=2||512===r?&quot;@2x&quot;:&quot;&quot;;return s.format({protocol:n.protocol,hostname:n.hostname,pathname:n.pathname.replace(/(\.(?:png|jpg)\d*)/,c+i),query:function(t){return t.access_token&amp;&amp;&quot;tk.&quot;===t.access_token.slice(0,3)?l.extend({},t,{access_token:a.ACCESS_TOKEN}):t}(n.query)})}},{&quot;./browser&quot;:417,&quot;./config&quot;:422,&quot;./util&quot;:433,url:559}],431:[function(t,e,r){&quot;use strict&quot;;function n(){return{members:this.prototype.StructType.prototype.members,alignment:this.prototype.StructType.prototype.alignment,bytesPerElement:this.prototype.bytesPerElement}}function i(t,e){return Math.ceil(t/e)*e}function a(t){return f[t].BYTES_PER_ELEMENT}function o(t){return t.toLowerCase()}function s(t,e){var r=&quot;this._pos&quot;+a(t.type).toFixed(0)+&quot; + &quot;+(t.offset/a(t.type)+e).toFixed(0);return&quot;this._structArray.&quot;+o(t.type)+&quot;[&quot;+r+&quot;]&quot;}function l(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}function c(t){void 0!==t?(this.arrayBuffer=t.arrayBuffer,this.length=t.length,this.capacity=this.arrayBuffer.byteLength/this.bytesPerElement,this._refreshViews()):(this.capacity=-1,this.resize(0))}var u=t(&quot;assert&quot;);e.exports=function(t){function e(){l.apply(this,arguments)}function r(){c.apply(this,arguments),this.members=e.prototype.members}var d=JSON.stringify(t);if(h[d])return h[d];void 0===t.alignment&amp;&amp;(t.alignment=1);var p=0,m=0,g=[&quot;Uint8&quot;];return(e.prototype=Object.create(l.prototype)).members=t.members.map(function(r){r={name:r.name,type:r.type,components:r.components||1},u(r.name.length),u(r.type in f),g.indexOf(r.type)&lt;0&amp;&amp;g.push(r.type);var n=a(r.type);m=Math.max(m,n),r.offset=p=i(p,Math.max(t.alignment,n));for(var o=0;o&lt;r.components;o++)Object.defineProperty(e.prototype,r.name+(1===r.components?&quot;&quot;:o),{get:function(t,e){return new Function([],&quot;return &quot;+s(t,e)+&quot;;&quot;)}(r,o),set:function(t,e){return new Function([&quot;x&quot;],s(t,e)+&quot; = x;&quot;)}(r,o)});return p+=n*r.components,r}),e.prototype.alignment=t.alignment,e.prototype.size=i(p,Math.max(m,t.alignment)),r.serialize=n,r.prototype=Object.create(c.prototype),r.prototype.StructType=e,r.prototype.bytesPerElement=e.prototype.size,r.prototype.emplaceBack=function(t,e){for(var r=[],n=[],i=&quot;var i = this.length;\nthis.resize(this.length + 1);\n&quot;,s=0;s&lt;t.length;s++){var l=t[s],c=a(l.type);r.indexOf(c)&lt;0&amp;&amp;(r.push(c),i+=&quot;var o&quot;+c.toFixed(0)+&quot; = i * &quot;+(e/c).toFixed(0)+&quot;;\n&quot;);for(var u=0;u&lt;l.components;u++){var f=&quot;v&quot;+n.length,h=&quot;o&quot;+c.toFixed(0)+&quot; + &quot;+(l.offset/c+u).toFixed(0);i+=&quot;this.&quot;+o(l.type)+&quot;[&quot;+h+&quot;] = &quot;+f+&quot;;\n&quot;,n.push(f)}}return i+=&quot;return i;&quot;,new Function(n,i)}(e.prototype.members,e.prototype.size),r.prototype._usedTypes=g,h[d]=r,r};var f={Int8:Int8Array,Uint8:Uint8Array,Uint8Clamped:Uint8ClampedArray,Int16:Int16Array,Uint16:Uint16Array,Int32:Int32Array,Uint32:Uint32Array,Float32:Float32Array,Float64:Float64Array},h={};c.prototype.DEFAULT_CAPACITY=128,c.prototype.RESIZE_MULTIPLIER=5,c.prototype.serialize=function(){return this.trim(),{length:this.length,arrayBuffer:this.arrayBuffer}},c.prototype.get=function(t){return new this.StructType(this,t)},c.prototype.trim=function(){this.length!==this.capacity&amp;&amp;(this.capacity=this.length,this.arrayBuffer=this.arrayBuffer.slice(0,this.length*this.bytesPerElement),this._refreshViews())},c.prototype.resize=function(t){if(this.length=t,t&gt;this.capacity){this.capacity=Math.max(t,Math.floor(this.capacity*this.RESIZE_MULTIPLIER),this.DEFAULT_CAPACITY),this.arrayBuffer=new ArrayBuffer(this.capacity*this.bytesPerElement);var e=this.uint8;this._refreshViews(),e&amp;&amp;this.uint8.set(e)}},c.prototype._refreshViews=function(){for(var t=0;t&lt;this._usedTypes.length;t++){var e=this._usedTypes[t];this[o(e)]=new f[e](this.arrayBuffer)}},c.prototype.toArray=function(t,e){for(var r=[],n=t;n&lt;e;n++){var i=this.get(n);r.push(i)}return r}},{assert:51}],432:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t,e){return e.replace(/{([^{}]+)}/g,function(e,r){return r in t?t[r]:&quot;&quot;})}},{}],433:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;unitbezier&quot;),i=t(&quot;../geo/coordinate&quot;);r.easeCubicInOut=function(t){if(t&lt;=0)return 0;if(t&gt;=1)return 1;var e=t*t,r=e*t;return 4*(t&lt;.5?r:3*(t-e)+r-.75)},r.bezier=function(t,e,r,i){var a=new n(t,e,r,i);return function(t){return a.solve(t)}},r.ease=r.bezier(.25,.1,.25,1),r.clamp=function(t,e,r){return Math.min(r,Math.max(e,t))},r.wrap=function(t,e,r){var n=r-e,i=((t-e)%n+n)%n+e;return i===e?r:i},r.coalesce=function(){for(var t=0;t&lt;arguments.length;t++){var e=arguments[t];if(null!==e&amp;&amp;void 0!==e)return e}},r.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&amp;&amp;(a=t),i[o]=e,0==--n&amp;&amp;r(a,i)})})},r.keysDifference=function(t,e){var r=[];for(var n in t)n in e||r.push(n);return r},r.extend=function(t){for(var e=1;e&lt;arguments.length;e++){var r=arguments[e];for(var n in r)t[n]=r[n]}return t},r.extendAll=function(t,e){for(var r in e)Object.defineProperty(t,r,Object.getOwnPropertyDescriptor(e,r));return t},r.inherit=function(t,e){var n=&quot;function&quot;==typeof t?t.prototype:t,i=Object.create(n);return r.extendAll(i,e),i},r.pick=function(t,e){for(var r={},n=0;n&lt;e.length;n++){var i=e[n];i in t&amp;&amp;(r[i]=t[i])}return r};var a=1;r.uniqueId=function(){return a++},r.debounce=function(t,e){var r,n;return function(){n=arguments,clearTimeout(r),r=setTimeout(function(){t.apply(null,n)},e)}},r.bindAll=function(t,e){t.forEach(function(t){e[t]&amp;&amp;(e[t]=e[t].bind(e))})},r.bindHandlers=function(t){for(var e in t)&quot;function&quot;==typeof t[e]&amp;&amp;0===e.indexOf(&quot;_on&quot;)&amp;&amp;(t[e]=t[e].bind(t))},r.setOptions=function(t,e){t.hasOwnProperty(&quot;options&quot;)||(t.options=t.options?Object.create(t.options):{});for(var r in e)t.options[r]=e[r];return t.options},r.getCoordinatesCenter=function(t){for(var e=1/0,r=1/0,n=-1/0,a=-1/0,o=0;o&lt;t.length;o++)e=Math.min(e,t[o].column),r=Math.min(r,t[o].row),n=Math.max(n,t[o].column),a=Math.max(a,t[o].row);var s=n-e,l=a-r,c=Math.max(s,l);return new i((e+n)/2,(r+a)/2,0).zoomTo(Math.floor(-Math.log(c)/Math.LN2))},r.endsWith=function(t,e){return-1!==t.indexOf(e,t.length-e.length)},r.startsWith=function(t,e){return 0===t.indexOf(e)},r.mapObject=function(t,e,r){var n={};for(var i in t)n[i]=e.call(r||this,t[i],i,t);return n},r.filterObject=function(t,e,r){var n={};for(var i in t)e.call(r||this,t[i],i,t)&amp;&amp;(n[i]=t[i]);return n},r.deepEqual=function t(e,r){if(Array.isArray(e)){if(!Array.isArray(r)||e.length!==r.length)return!1;for(var n=0;n&lt;e.length;n++)if(!t(e[n],r[n]))return!1;return!0}if(&quot;object&quot;==typeof e&amp;&amp;null!==e&amp;&amp;null!==r){if(&quot;object&quot;!=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},r.clone=function(t){return Array.isArray(t)?t.map(r.clone):&quot;object&quot;==typeof t?r.mapObject(t,r.clone):t},r.arraysIntersect=function(t,e){for(var r=0;r&lt;t.length;r++)if(e.indexOf(t[r])&gt;=0)return!0;return!1};var o={};r.warnOnce=function(t){o[t]||(&quot;undefined&quot;!=typeof console&amp;&amp;console.warn(t),o[t]=!0)}},{&quot;../geo/coordinate&quot;:329,unitbezier:557}],434:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,n){this._vectorTileFeature=t,t._z=e,t._x=r,t._y=n,this.properties=t.properties,null!=t.id&amp;&amp;(this.id=t.id)}e.exports=n,n.prototype={type:&quot;Feature&quot;,get geometry(){return void 0===this._geometry&amp;&amp;(this._geometry=this._vectorTileFeature.toGeoJSON(this._vectorTileFeature._x,this._vectorTileFeature._y,this._vectorTileFeature._z).geometry),this._geometry},set geometry(t){this._geometry=t},toJSON:function(){var t={};for(var e in this)&quot;_geometry&quot;!==e&amp;&amp;&quot;_vectorTileFeature&quot;!==e&amp;&amp;&quot;toJSON&quot;!==e&amp;&amp;(t[e]=this[e]);return t}}},{}],435:[function(t,e,r){e.exports={_args:[[&quot;mapbox-gl@0.22.1&quot;,&quot;/Users/alex/plotly/plotly.js&quot;]],_from:&quot;mapbox-gl@0.22.1&quot;,_id:&quot;mapbox-gl@0.22.1&quot;,_inBundle:!1,_integrity:&quot;sha1-kqllVH1MLyTCLLxIfu2khpTLYno=&quot;,_location:&quot;/mapbox-gl&quot;,_phantomChildren:{},_requested:{type:&quot;version&quot;,registry:!0,raw:&quot;mapbox-gl@0.22.1&quot;,name:&quot;mapbox-gl&quot;,escapedName:&quot;mapbox-gl&quot;,rawSpec:&quot;0.22.1&quot;,saveSpec:null,fetchSpec:&quot;0.22.1&quot;},_requiredBy:[&quot;/&quot;],_resolved:&quot;https://registry.npmjs.org/mapbox-gl/-/mapbox-gl-0.22.1.tgz&quot;,_spec:&quot;0.22.1&quot;,_where:&quot;/Users/alex/plotly/plotly.js&quot;,browser:{&quot;./js/util/ajax.js&quot;:&quot;./js/util/browser/ajax.js&quot;,&quot;./js/util/browser.js&quot;:&quot;./js/util/browser/browser.js&quot;,&quot;./js/util/canvas.js&quot;:&quot;./js/util/browser/canvas.js&quot;,&quot;./js/util/dom.js&quot;:&quot;./js/util/browser/dom.js&quot;,&quot;./js/util/web_worker.js&quot;:&quot;./js/util/browser/web_worker.js&quot;},bugs:{url:&quot;https://github.com/mapbox/mapbox-gl-js/issues&quot;},dependencies:{csscolorparser:&quot;^1.0.2&quot;,earcut:&quot;^2.0.3&quot;,&quot;feature-filter&quot;:&quot;^2.2.0&quot;,&quot;geojson-rewind&quot;:&quot;^0.1.0&quot;,&quot;geojson-vt&quot;:&quot;^2.4.0&quot;,&quot;gl-matrix&quot;:&quot;^2.3.1&quot;,&quot;grid-index&quot;:&quot;^1.0.0&quot;,&quot;mapbox-gl-function&quot;:&quot;^1.2.1&quot;,&quot;mapbox-gl-shaders&quot;:&quot;github:mapbox/mapbox-gl-shaders#de2ab007455aa2587c552694c68583f94c9f2747&quot;,&quot;mapbox-gl-style-spec&quot;:&quot;github:mapbox/mapbox-gl-style-spec#83b1a3e5837d785af582efd5ed1a212f2df6a4ae&quot;,&quot;mapbox-gl-supported&quot;:&quot;^1.2.0&quot;,pbf:&quot;^1.3.2&quot;,pngjs:&quot;^2.2.0&quot;,&quot;point-geometry&quot;:&quot;^0.0.0&quot;,quickselect:&quot;^1.0.0&quot;,request:&quot;^2.39.0&quot;,&quot;resolve-url&quot;:&quot;^0.2.1&quot;,&quot;shelf-pack&quot;:&quot;^1.0.0&quot;,supercluster:&quot;^2.0.1&quot;,unassertify:&quot;^2.0.0&quot;,unitbezier:&quot;^0.0.0&quot;,&quot;vector-tile&quot;:&quot;^1.3.0&quot;,&quot;vt-pbf&quot;:&quot;^2.0.2&quot;,webworkify:&quot;^1.3.0&quot;,&quot;whoots-js&quot;:&quot;^2.0.0&quot;},description:&quot;A WebGL interactive maps library&quot;,devDependencies:{&quot;babel-preset-react&quot;:&quot;^6.11.1&quot;,babelify:&quot;^7.3.0&quot;,benchmark:&quot;~2.1.0&quot;,browserify:&quot;^13.0.0&quot;,clipboard:&quot;^1.5.12&quot;,&quot;concat-stream&quot;:&quot;1.5.1&quot;,coveralls:&quot;^2.11.8&quot;,doctrine:&quot;^1.2.1&quot;,documentation:&quot;https://github.com/documentationjs/documentation/archive/bb41619c734e59ef3fbc3648610032efcfdaaace.tar.gz&quot;,&quot;documentation-theme-utils&quot;:&quot;3.0.0&quot;,envify:&quot;^3.4.0&quot;,eslint:&quot;^2.5.3&quot;,&quot;eslint-config-mourner&quot;:&quot;^2.0.0&quot;,&quot;eslint-plugin-html&quot;:&quot;^1.5.1&quot;,gl:&quot;^4.0.1&quot;,handlebars:&quot;4.0.5&quot;,&quot;highlight.js&quot;:&quot;9.3.0&quot;,istanbul:&quot;^0.4.2&quot;,&quot;json-loader&quot;:&quot;^0.5.4&quot;,lodash:&quot;^4.13.1&quot;,&quot;mapbox-gl-test-suite&quot;:&quot;github:mapbox/mapbox-gl-test-suite#7babab52fb02788ebbc38384139bf350e8e38552&quot;,&quot;memory-fs&quot;:&quot;^0.3.0&quot;,minifyify:&quot;^7.0.1&quot;,&quot;npm-run-all&quot;:&quot;^3.0.0&quot;,nyc:&quot;6.4.0&quot;,proxyquire:&quot;^1.7.9&quot;,remark:&quot;4.2.2&quot;,&quot;remark-html&quot;:&quot;3.0.0&quot;,sinon:&quot;^1.15.4&quot;,st:&quot;^1.2.0&quot;,tap:&quot;^5.7.0&quot;,&quot;transform-loader&quot;:&quot;^0.2.3&quot;,&quot;unist-util-visit&quot;:&quot;1.1.0&quot;,vinyl:&quot;1.1.1&quot;,&quot;vinyl-fs&quot;:&quot;2.4.3&quot;,watchify:&quot;^3.7.0&quot;,webpack:&quot;^1.13.1&quot;,&quot;webworkify-webpack&quot;:&quot;^1.1.3&quot;},engines:{node:&quot;&gt;=4.0.0&quot;},homepage:&quot;https://github.com/mapbox/mapbox-gl-js#readme&quot;,license:&quot;BSD-3-Clause&quot;,main:&quot;js/mapbox-gl.js&quot;,name:&quot;mapbox-gl&quot;,repository:{type:&quot;git&quot;,url:&quot;git://github.com/mapbox/mapbox-gl-js.git&quot;},scripts:{build:&quot;npm run build-docs # invoked by publisher when publishing docs on the mb-pages branch&quot;,&quot;build-dev&quot;:&quot;browserify js/mapbox-gl.js --debug --standalone mapboxgl &gt; dist/mapbox-gl-dev.js &amp;&amp; tap --no-coverage test/build/dev.test.js&quot;,&quot;build-docs&quot;:&quot;documentation build --github --format html -c documentation.yml --theme ./docs/_theme --output docs/api/&quot;,&quot;build-min&quot;:&quot;browserify js/mapbox-gl.js --debug -t unassertify --plugin [minifyify --map mapbox-gl.js.map --output dist/mapbox-gl.js.map] --standalone mapboxgl &gt; dist/mapbox-gl.js &amp;&amp; tap --no-coverage test/build/min.test.js&quot;,&quot;build-token&quot;:&quot;browserify debug/access-token-src.js --debug -t envify &gt; debug/access-token.js&quot;,lint:&quot;eslint  --ignore-path .gitignore js test bench docs/_posts/examples/*.html&quot;,&quot;open-changed-examples&quot;:&quot;git diff --name-only mb-pages HEAD -- docs/_posts/examples/*.html | awk '{print \&quot;http://127.0.0.1:4000/mapbox-gl-js/example/\&quot; substr($0,33,length($0)-37)}' | xargs open&quot;,start:&quot;run-p build-token watch-dev watch-bench start-server&quot;,&quot;start-bench&quot;:&quot;run-p build-token watch-bench start-server&quot;,&quot;start-debug&quot;:&quot;run-p build-token watch-dev start-server&quot;,&quot;start-docs&quot;:&quot;npm run build-min &amp;&amp; npm run build-docs &amp;&amp; jekyll serve -w&quot;,&quot;start-server&quot;:&quot;st --no-cache --localhost --port 9966 --index index.html .&quot;,test:&quot;npm run lint &amp;&amp; tap --reporter dot test/js/*/*.js test/build/webpack.test.js&quot;,&quot;test-suite&quot;:&quot;node test/render.test.js &amp;&amp; node test/query.test.js&quot;,&quot;watch-bench&quot;:&quot;node bench/download-data.js &amp;&amp; watchify bench/index.js --plugin [minifyify --no-map] -t [babelify --presets react] -t unassertify -t envify -o bench/bench.js -v&quot;,&quot;watch-dev&quot;:&quot;watchify js/mapbox-gl.js --debug --standalone mapboxgl -o dist/mapbox-gl-dev.js -v&quot;},version:&quot;0.22.1&quot;}},{}],436:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r){for(var n=new Array(t),i=0;i&lt;t;++i)n[i]=0,i===e&amp;&amp;(n[i]+=.5),i===r&amp;&amp;(n[i]+=.5);return n}function i(t,e){if(0===e||e===(1&lt;&lt;t+1)-1)return[];for(var r=[],i=[],o=0;o&lt;=t;++o)if(e&amp;1&lt;&lt;o){r.push(n(t,o-1,o-1)),i.push(null);for(var s=0;s&lt;=t;++s)~e&amp;1&lt;&lt;s&amp;&amp;(r.push(n(t,o-1,s-1)),i.push([o,s]))}var l=a(r),c=[];t:for(o=0;o&lt;l.length;++o){var u=l[o],f=[];for(s=0;s&lt;u.length;++s){if(!i[u[s]])continue t;f.push(i[u[s]].slice())}c.push(f)}return c}e.exports=function(t){for(var e=1&lt;&lt;t+1,r=new Array(e),n=0;n&lt;e;++n)r[n]=i(t,n);return r};var a=t(&quot;convex-hull&quot;)},{&quot;convex-hull&quot;:109}],437:[function(t,e,r){function n(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}var i=t(&quot;./normalize&quot;),a=t(&quot;gl-mat4/create&quot;),o=t(&quot;gl-mat4/clone&quot;),s=t(&quot;gl-mat4/determinant&quot;),l=t(&quot;gl-mat4/invert&quot;),c=t(&quot;gl-mat4/transpose&quot;),u={length:t(&quot;gl-vec3/length&quot;),normalize:t(&quot;gl-vec3/normalize&quot;),dot:t(&quot;gl-vec3/dot&quot;),cross:t(&quot;gl-vec3/cross&quot;)},f=a(),h=a(),d=[0,0,0,0],p=[[0,0,0],[0,0,0],[0,0,0]],m=[0,0,0];e.exports=function(t,e,r,a,g,v){if(e||(e=[0,0,0]),r||(r=[0,0,0]),a||(a=[0,0,0]),g||(g=[0,0,0,1]),v||(v=[0,0,0,1]),!i(f,t))return!1;if(o(h,f),h[3]=0,h[7]=0,h[11]=0,h[15]=1,Math.abs(s(h)&lt;1e-8))return!1;var y=f[3],x=f[7],b=f[11],_=f[12],w=f[13],M=f[14],k=f[15];if(0!==y||0!==x||0!==b){d[0]=y,d[1]=x,d[2]=b,d[3]=k;if(!l(h,h))return!1;c(h,h),function(t,e,r){var n=e[0],i=e[1],a=e[2],o=e[3];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}(g,d,h)}else g[0]=g[1]=g[2]=0,g[3]=1;if(e[0]=_,e[1]=w,e[2]=M,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,f),r[0]=u.length(p[0]),u.normalize(p[0],p[0]),a[0]=u.dot(p[0],p[1]),n(p[1],p[1],p[0],1,-a[0]),r[1]=u.length(p[1]),u.normalize(p[1],p[1]),a[0]/=r[1],a[1]=u.dot(p[0],p[2]),n(p[2],p[2],p[0],1,-a[1]),a[2]=u.dot(p[1],p[2]),n(p[2],p[2],p[1],1,-a[2]),r[2]=u.length(p[2]),u.normalize(p[2],p[2]),a[1]/=r[2],a[2]/=r[2],u.cross(m,p[1],p[2]),u.dot(p[0],m)&lt;0)for(var A=0;A&lt;3;A++)r[A]*=-1,p[A][0]*=-1,p[A][1]*=-1,p[A][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]&gt;p[1][2]&amp;&amp;(v[0]=-v[0]),p[0][2]&gt;p[2][0]&amp;&amp;(v[1]=-v[1]),p[1][0]&gt;p[0][1]&amp;&amp;(v[2]=-v[2]),!0}},{&quot;./normalize&quot;:438,&quot;gl-mat4/clone&quot;:180,&quot;gl-mat4/create&quot;:181,&quot;gl-mat4/determinant&quot;:182,&quot;gl-mat4/invert&quot;:186,&quot;gl-mat4/transpose&quot;:196,&quot;gl-vec3/cross&quot;:260,&quot;gl-vec3/dot&quot;:261,&quot;gl-vec3/length&quot;:262,&quot;gl-vec3/normalize&quot;:264}],438:[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&lt;16;i++)t[i]=e[i]*n;return!0}},{}],439:[function(t,e,r){function n(){return{translate:i(),scale:i(1),skew:i(),perspective:[0,0,0,1],quaternion:[0,0,0,1]}}function i(t){return[t||0,t||0,t||0]}var a=t(&quot;gl-vec3/lerp&quot;),o=t(&quot;mat4-recompose&quot;),s=t(&quot;mat4-decompose&quot;),l=t(&quot;gl-mat4/determinant&quot;),c=t(&quot;quat-slerp&quot;),u=n(),f=n(),h=n();e.exports=function(t,e,r,n){if(0===l(e)||0===l(r))return!1;var i=s(e,u.translate,u.scale,u.skew,u.perspective,u.quaternion),d=s(r,f.translate,f.scale,f.skew,f.perspective,f.quaternion);return!(!i||!d||(a(h.translate,u.translate,f.translate,n),a(h.skew,u.skew,f.skew,n),a(h.scale,u.scale,f.scale,n),a(h.perspective,u.perspective,f.perspective,n),c(h.quaternion,u.quaternion,f.quaternion,n),o(t,h.translate,h.scale,h.skew,h.perspective,h.quaternion),0))}},{&quot;gl-mat4/determinant&quot;:182,&quot;gl-vec3/lerp&quot;:263,&quot;mat4-decompose&quot;:437,&quot;mat4-recompose&quot;:440,&quot;quat-slerp&quot;:490}],440:[function(t,e,r){var n={identity:t(&quot;gl-mat4/identity&quot;),translate:t(&quot;gl-mat4/translate&quot;),multiply:t(&quot;gl-mat4/multiply&quot;),create:t(&quot;gl-mat4/create&quot;),scale:t(&quot;gl-mat4/scale&quot;),fromRotationTranslation:t(&quot;gl-mat4/fromRotationTranslation&quot;)},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]&amp;&amp;(i[9]=a[2],n.multiply(t,t,i)),0!==a[1]&amp;&amp;(i[9]=0,i[8]=a[1],n.multiply(t,t,i)),0!==a[0]&amp;&amp;(i[8]=0,i[4]=a[0],n.multiply(t,t,i)),n.scale(t,t,r),t}},{&quot;gl-mat4/create&quot;:181,&quot;gl-mat4/fromRotationTranslation&quot;:184,&quot;gl-mat4/identity&quot;:185,&quot;gl-mat4/multiply&quot;:188,&quot;gl-mat4/scale&quot;:194,&quot;gl-mat4/translate&quot;:195}],441:[function(t,e,r){&quot;use strict&quot;;function n(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]}var i=t(&quot;binary-search-bounds&quot;),a=t(&quot;mat4-interpolate&quot;),o=t(&quot;gl-mat4/invert&quot;),s=t(&quot;gl-mat4/rotateX&quot;),l=t(&quot;gl-mat4/rotateY&quot;),c=t(&quot;gl-mat4/rotateZ&quot;),u=t(&quot;gl-mat4/lookAt&quot;),f=t(&quot;gl-mat4/translate&quot;),h=(t(&quot;gl-mat4/scale&quot;),t(&quot;gl-vec3/normalize&quot;)),d=[0,0,0];e.exports=function(t){return new n((t=t||{}).matrix||[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1])};var p=n.prototype;p.recalcMatrix=function(t){var e=this._time,r=i.le(e,t),n=this.computedMatrix;if(!(r&lt;0)){var s=this._components;if(r===e.length-1)for(var l=16*r,c=0;c&lt;16;++c)n[c]=s[l++];else{var u=e[r+1]-e[r],f=(l=16*r,this.prevMatrix),d=!0;for(c=0;c&lt;16;++c)f[c]=s[l++];var p=this.nextMatrix;for(c=0;c&lt;16;++c)p[c]=s[l++],d=d&amp;&amp;f[c]===p[c];if(u&lt;1e-6||d)for(c=0;c&lt;16;++c)n[c]=f[c];else a(n,f,p,(t-e[r])/u)}var m=this.computedUp;m[0]=n[1],m[1]=n[5],m[2]=n[9],h(m,m);var g=this.computedInverse;o(g,n);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&lt;3;++c)x[c]=v[c]-n[2+4*c]*b}},p.idle=function(t){if(!(t&lt;this.lastT())){for(var e=this._components,r=e.length-16,n=0;n&lt;16;++n)e.push(e[r++]);this._time.push(t)}},p.flush=function(t){var e=i.gt(this._time,t)-2;e&lt;0||(this._time.splice(0,e),this._components.splice(0,16*e))},p.lastT=function(){return this._time[this._time.length-1]},p.lookAt=function(t,e,r,n){this.recalcMatrix(t),e=e||this.computedEye,r=r||d,n=n||this.computedUp,this.setMatrix(t,u(this.computedMatrix,e,r,n));for(var i=0,a=0;a&lt;3;++a)i+=Math.pow(r[a]-e[a],2);i=Math.log(Math.sqrt(i)),this.computedRadius[0]=i},p.rotate=function(t,e,r,n){this.recalcMatrix(t);var i=this.computedInverse;e&amp;&amp;l(i,i,e),r&amp;&amp;s(i,i,r),n&amp;&amp;c(i,i,n),this.setMatrix(t,o(this.computedMatrix,i))};var m=[0,0,0];p.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;f(i,i,m),this.setMatrix(t,o(i,i))},p.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;f(i,i,m),this.setMatrix(t,i)},p.setMatrix=function(t,e){if(!(t&lt;this.lastT())){this._time.push(t);for(var r=0;r&lt;16;++r)this._components.push(e[r])}},p.setDistance=function(t,e){this.computedRadius[0]=e},p.setDistanceLimits=function(t,e){var r=this._limits;r[0]=t,r[1]=e},p.getDistanceLimits=function(t){var e=this._limits;return t?(t[0]=e[0],t[1]=e[1],t):e}},{&quot;binary-search-bounds&quot;:70,&quot;gl-mat4/invert&quot;:186,&quot;gl-mat4/lookAt&quot;:187,&quot;gl-mat4/rotateX&quot;:191,&quot;gl-mat4/rotateY&quot;:192,&quot;gl-mat4/rotateZ&quot;:193,&quot;gl-mat4/scale&quot;:194,&quot;gl-mat4/translate&quot;:195,&quot;gl-vec3/normalize&quot;:264,&quot;mat4-interpolate&quot;:439}],442:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t){var e=t.length;if(e&lt;3){for(var r=new Array(e),i=0;i&lt;e;++i)r[i]=i;return 2===e&amp;&amp;t[0][0]===t[1][0]&amp;&amp;t[0][1]===t[1][1]?[0]:r}var a=new Array(e);for(i=0;i&lt;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&lt;e;++i){for(var l=a[i],c=t[l],u=o.length;u&gt;1&amp;&amp;n(t[o[u-2]],t[o[u-1]],c)&lt;=0;)u-=1,o.pop();for(o.push(l),u=s.length;u&gt;1&amp;&amp;n(t[s[u-2]],t[s[u-1]],c)&gt;=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&lt;h;++i)r[f++]=o[i];for(var d=s.length-2;d&gt;0;--d)r[f++]=s[d];return r};var n=t(&quot;robust-orientation&quot;)[3]},{&quot;robust-orientation&quot;:515}],443:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t,e){function r(t){var e=!1;return&quot;altKey&quot;in t&amp;&amp;(e=e||t.altKey!==m.alt,m.alt=!!t.altKey),&quot;shiftKey&quot;in t&amp;&amp;(e=e||t.shiftKey!==m.shift,m.shift=!!t.shiftKey),&quot;ctrlKey&quot;in t&amp;&amp;(e=e||t.ctrlKey!==m.control,m.control=!!t.ctrlKey),&quot;metaKey&quot;in t&amp;&amp;(e=e||t.metaKey!==m.meta,m.meta=!!t.metaKey),e}function i(t,i){var a=n.x(i),o=n.y(i);&quot;buttons&quot;in i&amp;&amp;(t=0|i.buttons),(t!==h||a!==d||o!==p||r(i))&amp;&amp;(h=0|t,d=a||0,p=o||0,e&amp;&amp;e(h,d,p,m))}function a(t){i(0,t)}function o(){(h||d||p||m.shift||m.alt||m.meta||m.control)&amp;&amp;(d=p=0,h=0,m.shift=m.alt=m.control=m.meta=!1,e&amp;&amp;e(0,0,0,m))}function s(t){r(t)&amp;&amp;e&amp;&amp;e(h,d,p,m)}function l(t){0===n.buttons(t)?i(0,t):i(h,t)}function c(t){i(h|n.buttons(t),t)}function u(t){i(h&amp;~n.buttons(t),t)}function f(){g||(g=!0,t.addEventListener(&quot;mousemove&quot;,l),t.addEventListener(&quot;mousedown&quot;,c),t.addEventListener(&quot;mouseup&quot;,u),t.addEventListener(&quot;mouseleave&quot;,a),t.addEventListener(&quot;mouseenter&quot;,a),t.addEventListener(&quot;mouseout&quot;,a),t.addEventListener(&quot;mouseover&quot;,a),t.addEventListener(&quot;blur&quot;,o),t.addEventListener(&quot;keyup&quot;,s),t.addEventListener(&quot;keydown&quot;,s),t.addEventListener(&quot;keypress&quot;,s),t!==window&amp;&amp;(window.addEventListener(&quot;blur&quot;,o),window.addEventListener(&quot;keyup&quot;,s),window.addEventListener(&quot;keydown&quot;,s),window.addEventListener(&quot;keypress&quot;,s)))}e||(e=t,t=window);var h=0,d=0,p=0,m={shift:!1,alt:!1,control:!1,meta:!1},g=!1;f();var v={element:t};return Object.defineProperties(v,{enabled:{get:function(){return g},set:function(e){e?f():g&amp;&amp;(g=!1,t.removeEventListener(&quot;mousemove&quot;,l),t.removeEventListener(&quot;mousedown&quot;,c),t.removeEventListener(&quot;mouseup&quot;,u),t.removeEventListener(&quot;mouseleave&quot;,a),t.removeEventListener(&quot;mouseenter&quot;,a),t.removeEventListener(&quot;mouseout&quot;,a),t.removeEventListener(&quot;mouseover&quot;,a),t.removeEventListener(&quot;blur&quot;,o),t.removeEventListener(&quot;keyup&quot;,s),t.removeEventListener(&quot;keydown&quot;,s),t.removeEventListener(&quot;keypress&quot;,s),t!==window&amp;&amp;(window.removeEventListener(&quot;blur&quot;,o),window.removeEventListener(&quot;keyup&quot;,s),window.removeEventListener(&quot;keydown&quot;,s),window.removeEventListener(&quot;keypress&quot;,s)))},enumerable:!0},buttons:{get:function(){return h},enumerable:!0},x:{get:function(){return d},enumerable:!0},y:{get:function(){return p},enumerable:!0},mods:{get:function(){return m},enumerable:!0}}),v};var n=t(&quot;mouse-event&quot;)},{&quot;mouse-event&quot;:445}],444:[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=function(t){return t===window||t===document||t===document.body?n:t.getBoundingClientRect()}(e);return r[0]=i-o.left,r[1]=a-o.top,r}},{}],445:[function(t,e,r){&quot;use strict&quot;;function n(t){return t.target||t.srcElement||window}r.buttons=function(t){if(&quot;object&quot;==typeof t){if(&quot;buttons&quot;in t)return t.buttons;if(&quot;which&quot;in t){if(2===(e=t.which))return 4;if(3===e)return 2;if(e&gt;0)return 1&lt;&lt;e-1}else if(&quot;button&quot;in t){var e;if(1===(e=t.button))return 4;if(2===e)return 2;if(e&gt;=0)return 1&lt;&lt;e}}return 0},r.element=n,r.x=function(t){if(&quot;object&quot;==typeof t){if(&quot;offsetX&quot;in t)return t.offsetX;var e=n(t).getBoundingClientRect();return t.clientX-e.left}return 0},r.y=function(t){if(&quot;object&quot;==typeof t){if(&quot;offsetY&quot;in t)return t.offsetY;var e=n(t).getBoundingClientRect();return t.clientY-e.top}return 0}},{}],446:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;to-px&quot;);e.exports=function(t,e,r){&quot;function&quot;==typeof t&amp;&amp;(r=!!e,e=t,t=window);var i=n(&quot;ex&quot;,t),a=function(t){r&amp;&amp;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(n*=s,a*=s,o*=s,n||a||o)return e(n,a,o,t)};return t.addEventListener(&quot;wheel&quot;,a),a}},{&quot;to-px&quot;:548}],447:[function(t,e,r){&quot;use strict&quot;;function n(t){return&quot;a&quot;+t}function i(t){return&quot;d&quot;+t}function a(t,e){return&quot;c&quot;+t+&quot;_&quot;+e}function o(t){return&quot;s&quot;+t}function s(t,e){return&quot;t&quot;+t+&quot;_&quot;+e}function l(t){return&quot;o&quot;+t}function c(t){return&quot;x&quot;+t}function u(t){return&quot;p&quot;+t}function f(t,e){return&quot;d&quot;+t+&quot;_&quot;+e}function h(t){return&quot;i&quot;+t}function d(t,e){return&quot;u&quot;+t+&quot;_&quot;+e}function p(t){return&quot;b&quot;+t}function m(t){return&quot;y&quot;+t}function g(t){return&quot;e&quot;+t}function v(t){return&quot;v&quot;+t}function y(t,e,r){for(var n=0,i=0;i&lt;t;++i)e&amp;1&lt;&lt;i&amp;&amp;(n|=1&lt;&lt;r[i]);return n}function x(t,e,r,x,S,E){function L(t,e){F.push(&quot;for(&quot;,h(S[t]),&quot;=&quot;,e,&quot;;&quot;,h(S[t]),&quot;&lt;&quot;,o(S[t]),&quot;;&quot;,&quot;++&quot;,h(S[t]),&quot;){&quot;)}function C(t){for(var e=0;e&lt;I;++e)F.push(u(e),&quot;+=&quot;,d(e,S[t]),&quot;;&quot;);F.push(&quot;}&quot;)}function z(){for(var t=1;t&lt;1&lt;&lt;P;++t)F.push(T,&quot;=&quot;,g(t),&quot;;&quot;,g(t),&quot;=&quot;,m(t),&quot;;&quot;,m(t),&quot;=&quot;,T,&quot;;&quot;)}function D(t,e){if(t&lt;0)!function(t){for(var e=0;e&lt;I;++e)E[e]?F.push(a(e,0),&quot;=&quot;,i(e),&quot;.get(&quot;,u(e),&quot;);&quot;):F.push(a(e,0),&quot;=&quot;,i(e),&quot;[&quot;,u(e),&quot;];&quot;);var r=[];for(e=0;e&lt;I;++e)r.push(a(e,0));for(e=0;e&lt;x;++e)r.push(c(e));F.push(p(0),&quot;=&quot;,w,&quot;[&quot;,A,&quot;]=phase(&quot;,r.join(),&quot;);&quot;);for(var n=1;n&lt;1&lt;&lt;P;++n)F.push(p(n),&quot;=&quot;,w,&quot;[&quot;,A,&quot;+&quot;,g(n),&quot;];&quot;);var o=[];for(n=1;n&lt;1&lt;&lt;P;++n)o.push(&quot;(&quot;+p(0)+&quot;!==&quot;+p(n)+&quot;)&quot;);F.push(&quot;if(&quot;,o.join(&quot;||&quot;),&quot;){&quot;);var s=[];for(e=0;e&lt;P;++e)s.push(h(e));for(e=0;e&lt;I;++e)for(s.push(a(e,0)),n=1;n&lt;1&lt;&lt;P;++n)E[e]?F.push(a(e,n),&quot;=&quot;,i(e),&quot;.get(&quot;,u(e),&quot;+&quot;,f(e,n),&quot;);&quot;):F.push(a(e,n),&quot;=&quot;,i(e),&quot;[&quot;,u(e),&quot;+&quot;,f(e,n),&quot;];&quot;),s.push(a(e,n));for(e=0;e&lt;1&lt;&lt;P;++e)s.push(p(e));for(e=0;e&lt;x;++e)s.push(c(e));F.push(&quot;vertex(&quot;,s.join(),&quot;);&quot;,v(0),&quot;=&quot;,_,&quot;[&quot;,A,&quot;]=&quot;,M,&quot;++;&quot;);var l=(1&lt;&lt;P)-1,d=p(l);for(n=0;n&lt;P;++n)if(0==(t&amp;~(1&lt;&lt;n))){for(var m=l^1&lt;&lt;n,y=p(m),b=[],k=m;k&gt;0;k=k-1&amp;m)b.push(_+&quot;[&quot;+A+&quot;+&quot;+g(k)+&quot;]&quot;);for(b.push(v(0)),k=0;k&lt;I;++k)1&amp;n?b.push(a(k,l),a(k,m)):b.push(a(k,m),a(k,l));for(1&amp;n?b.push(d,y):b.push(y,d),k=0;k&lt;x;++k)b.push(c(k));F.push(&quot;if(&quot;,d,&quot;!==&quot;,y,&quot;){&quot;,&quot;face(&quot;,b.join(),&quot;)}&quot;)}F.push(&quot;}&quot;,A,&quot;+=1;&quot;)}(e);else{!function(t){for(var e=t-1;e&gt;=0;--e)L(e,0);var r=[];for(e=0;e&lt;I;++e)E[e]?r.push(i(e)+&quot;.get(&quot;+u(e)+&quot;)&quot;):r.push(i(e)+&quot;[&quot;+u(e)+&quot;]&quot;);for(e=0;e&lt;x;++e)r.push(c(e));for(F.push(w,&quot;[&quot;,A,&quot;++]=phase(&quot;,r.join(),&quot;);&quot;),e=0;e&lt;t;++e)C(e);for(var n=0;n&lt;I;++n)F.push(u(n),&quot;+=&quot;,d(n,S[t]),&quot;;&quot;)}(t),F.push(&quot;if(&quot;,o(S[t]),&quot;&gt;0){&quot;,h(S[t]),&quot;=1;&quot;),D(t-1,e|1&lt;&lt;S[t]);for(var r=0;r&lt;I;++r)F.push(u(r),&quot;+=&quot;,d(r,S[t]),&quot;;&quot;);t===P-1&amp;&amp;(F.push(A,&quot;=0;&quot;),z()),L(t,2),D(t-1,e),t===P-1&amp;&amp;(F.push(&quot;if(&quot;,h(S[P-1]),&quot;&amp;1){&quot;,A,&quot;=0;}&quot;),z()),C(t),F.push(&quot;}&quot;)}}var I=E.length,P=S.length;if(P&lt;2)throw new Error(&quot;ndarray-extract-contour: Dimension must be at least 2&quot;);for(var O=&quot;extractContour&quot;+S.join(&quot;_&quot;),F=[],R=[],N=[],j=0;j&lt;I;++j)N.push(n(j));for(j=0;j&lt;x;++j)N.push(c(j));for(j=0;j&lt;P;++j)R.push(o(j)+&quot;=&quot;+n(0)+&quot;.shape[&quot;+j+&quot;]|0&quot;);for(j=0;j&lt;I;++j){R.push(i(j)+&quot;=&quot;+n(j)+&quot;.data&quot;,l(j)+&quot;=&quot;+n(j)+&quot;.offset|0&quot;);for(var B=0;B&lt;P;++B)R.push(s(j,B)+&quot;=&quot;+n(j)+&quot;.stride[&quot;+B+&quot;]|0&quot;)}for(j=0;j&lt;I;++j){R.push(u(j)+&quot;=&quot;+l(j)),R.push(a(j,0));for(B=1;B&lt;1&lt;&lt;P;++B){for(var U=[],V=0;V&lt;P;++V)B&amp;1&lt;&lt;V&amp;&amp;U.push(&quot;-&quot;+s(j,V));R.push(f(j,B)+&quot;=(&quot;+U.join(&quot;&quot;)+&quot;)|0&quot;),R.push(a(j,B)+&quot;=0&quot;)}}for(j=0;j&lt;I;++j)for(B=0;B&lt;P;++B){var q=[s(j,S[B])];B&gt;0&amp;&amp;q.push(s(j,S[B-1])+&quot;*&quot;+o(S[B-1])),R.push(d(j,S[B])+&quot;=(&quot;+q.join(&quot;-&quot;)+&quot;)|0&quot;)}for(j=0;j&lt;P;++j)R.push(h(j)+&quot;=0&quot;);R.push(M+&quot;=0&quot;);var H=[&quot;2&quot;];for(j=P-2;j&gt;=0;--j)H.push(o(S[j]));R.push(k+&quot;=(&quot;+H.join(&quot;*&quot;)+&quot;)|0&quot;,w+&quot;=mallocUint32(&quot;+k+&quot;)&quot;,_+&quot;=mallocUint32(&quot;+k+&quot;)&quot;,A+&quot;=0&quot;),R.push(p(0)+&quot;=0&quot;);for(B=1;B&lt;1&lt;&lt;P;++B){var G=[],Y=[];for(V=0;V&lt;P;++V)B&amp;1&lt;&lt;V&amp;&amp;(0===Y.length?G.push(&quot;1&quot;):G.unshift(Y.join(&quot;*&quot;))),Y.push(o(S[V]));var W=&quot;&quot;;G[0].indexOf(o(S[P-2]))&lt;0&amp;&amp;(W=&quot;-&quot;);var X=y(P,B,S);R.push(g(X)+&quot;=(-&quot;+G.join(&quot;-&quot;)+&quot;)|0&quot;,m(X)+&quot;=(&quot;+W+G.join(&quot;-&quot;)+&quot;)|0&quot;,p(X)+&quot;=0&quot;)}R.push(v(0)+&quot;=0&quot;,T+&quot;=0&quot;),D(P-1,0),F.push(&quot;freeUint32(&quot;,_,&quot;);freeUint32(&quot;,w,&quot;);&quot;);var Z=[&quot;'use strict';&quot;,&quot;function &quot;,O,&quot;(&quot;,N.join(),&quot;){&quot;,&quot;var &quot;,R.join(),&quot;;&quot;,F.join(&quot;&quot;),&quot;}&quot;,&quot;return &quot;,O].join(&quot;&quot;);return new Function(&quot;vertex&quot;,&quot;face&quot;,&quot;phase&quot;,&quot;mallocUint32&quot;,&quot;freeUint32&quot;,Z)(t,e,r,b.mallocUint32,b.freeUint32)}var b=t(&quot;typedarray-pool&quot;);e.exports=function(t){function e(t){throw new Error(&quot;ndarray-extract-contour: &quot;+t)}&quot;object&quot;!=typeof t&amp;&amp;e(&quot;Must specify arguments&quot;);var r=t.order;Array.isArray(r)||e(&quot;Must specify order&quot;);var n=t.arrayArguments||1;n&lt;1&amp;&amp;e(&quot;Must have at least one array argument&quot;);var i=t.scalarArguments||0;i&lt;0&amp;&amp;e(&quot;Scalar arg count must be &gt; 0&quot;),&quot;function&quot;!=typeof t.vertex&amp;&amp;e(&quot;Must specify vertex creation function&quot;),&quot;function&quot;!=typeof t.cell&amp;&amp;e(&quot;Must specify cell creation function&quot;),&quot;function&quot;!=typeof t.phase&amp;&amp;e(&quot;Must specify phase function&quot;);for(var a=t.getters||[],o=new Array(n),s=0;s&lt;n;++s)a.indexOf(s)&gt;=0?o[s]=!0:o[s]=!1;return x(t.vertex,t.cell,t.phase,i,r,o)};var _=&quot;V&quot;,w=&quot;P&quot;,M=&quot;N&quot;,k=&quot;Q&quot;,A=&quot;X&quot;,T=&quot;T&quot;},{&quot;typedarray-pool&quot;:554}],448:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;cwise/lib/wrapper&quot;)({args:[&quot;index&quot;,&quot;array&quot;,&quot;scalar&quot;],pre:{body:&quot;{}&quot;,args:[],thisVars:[],localVars:[]},body:{body:&quot;{_inline_1_arg1_=_inline_1_arg2_.apply(void 0,_inline_1_arg0_)}&quot;,args:[{name:&quot;_inline_1_arg0_&quot;,lvalue:!1,rvalue:!0,count:1},{name:&quot;_inline_1_arg1_&quot;,lvalue:!0,rvalue:!1,count:1},{name:&quot;_inline_1_arg2_&quot;,lvalue:!1,rvalue:!0,count:1}],thisVars:[],localVars:[]},post:{body:&quot;{}&quot;,args:[],thisVars:[],localVars:[]},debug:!1,funcName:&quot;cwise&quot;,blockSize:64});e.exports=function(t,e){return n(t,e),t}},{&quot;cwise/lib/wrapper&quot;:119}],449:[function(t,e,r){&quot;use strict&quot;;function n(t){if(t in o)return o[t];for(var e=[],r=0;r&lt;t;++r)e.push(&quot;out&quot;,r,&quot;s=0.5*(inp&quot;,r,&quot;l-inp&quot;,r,&quot;r);&quot;);var n=[&quot;array&quot;],s=[&quot;junk&quot;];for(r=0;r&lt;t;++r){n.push(&quot;array&quot;),s.push(&quot;out&quot;+r+&quot;s&quot;);var c=i(t);c[r]=-1,n.push({array:0,offset:c.slice()}),c[r]=1,n.push({array:0,offset:c.slice()}),s.push(&quot;inp&quot;+r+&quot;l&quot;,&quot;inp&quot;+r+&quot;r&quot;)}return o[t]=a({args:n,pre:l,post:l,body:{body:e.join(&quot;&quot;),args:s.map(function(t){return{name:t,lvalue:0===t.indexOf(&quot;out&quot;),rvalue:0===t.indexOf(&quot;inp&quot;),count:&quot;junk&quot;!==t|0}}),thisVars:[],localVars:[]},funcName:&quot;fdTemplate&quot;+t})}e.exports=function(t,e,r){if(Array.isArray(r)){if(r.length!==e.dimension)throw new Error(&quot;ndarray-gradient: invalid boundary conditions&quot;)}else r=&quot;string&quot;==typeof r?i(e.dimension,r):i(e.dimension,&quot;clamp&quot;);if(t.dimension!==e.dimension+1)throw new Error(&quot;ndarray-gradient: output dimension must be +1 input dimension&quot;);if(t.shape[e.dimension]!==e.dimension)throw new Error(&quot;ndarray-gradient: output shape must match input shape&quot;);for(var a=0;a&lt;e.dimension;++a)if(t.shape[a]!==e.shape[a])throw new Error(&quot;ndarray-gradient: shape mismatch&quot;);return 0===e.size?t:e.dimension&lt;=0?(t.set(0),t):function(t){function e(e){for(var r=i-e.length,n=[],o=[],s=[],l=0;l&lt;i;++l)e.indexOf(l+1)&gt;=0?s.push(&quot;0&quot;):e.indexOf(-(l+1))&gt;=0?s.push(&quot;s[&quot;+l+&quot;]-1&quot;):(s.push(&quot;-1&quot;),n.push(&quot;1&quot;),o.push(&quot;s[&quot;+l+&quot;]-2&quot;));var c=&quot;.lo(&quot;+n.join()+&quot;).hi(&quot;+o.join()+&quot;)&quot;;if(0===n.length&amp;&amp;(c=&quot;&quot;),r&gt;0){for(a.push(&quot;if(1&quot;),l=0;l&lt;i;++l)e.indexOf(l+1)&gt;=0||e.indexOf(-(l+1))&gt;=0||a.push(&quot;&amp;&amp;s[&quot;,l,&quot;]&gt;2&quot;);for(a.push(&quot;){grad&quot;,r,&quot;(src.pick(&quot;,s.join(),&quot;)&quot;,c),l=0;l&lt;i;++l)e.indexOf(l+1)&gt;=0||e.indexOf(-(l+1))&gt;=0||a.push(&quot;,dst.pick(&quot;,s.join(),&quot;,&quot;,l,&quot;)&quot;,c);a.push(&quot;);&quot;)}for(l=0;l&lt;e.length;++l){var u=Math.abs(e[l])-1,f=&quot;dst.pick(&quot;+s.join()+&quot;,&quot;+u+&quot;)&quot;+c;switch(t[u]){case&quot;clamp&quot;:var h=s.slice(),d=s.slice();e[l]&lt;0?h[u]=&quot;s[&quot;+u+&quot;]-2&quot;:d[u]=&quot;1&quot;,0===r?a.push(&quot;if(s[&quot;,u,&quot;]&gt;1){dst.set(&quot;,s.join(),&quot;,&quot;,u,&quot;,0.5*(src.get(&quot;,h.join(),&quot;)-src.get(&quot;,d.join(),&quot;)))}else{dst.set(&quot;,s.join(),&quot;,&quot;,u,&quot;,0)};&quot;):a.push(&quot;if(s[&quot;,u,&quot;]&gt;1){diff(&quot;,f,&quot;,src.pick(&quot;,h.join(),&quot;)&quot;,c,&quot;,src.pick(&quot;,d.join(),&quot;)&quot;,c,&quot;);}else{zero(&quot;,f,&quot;);};&quot;);break;case&quot;mirror&quot;:0===r?a.push(&quot;dst.set(&quot;,s.join(),&quot;,&quot;,u,&quot;,0);&quot;):a.push(&quot;zero(&quot;,f,&quot;);&quot;);break;case&quot;wrap&quot;:var p=s.slice(),m=s.slice();e[l]&lt;0?(p[u]=&quot;s[&quot;+u+&quot;]-2&quot;,m[u]=&quot;0&quot;):(p[u]=&quot;s[&quot;+u+&quot;]-1&quot;,m[u]=&quot;1&quot;),0===r?a.push(&quot;if(s[&quot;,u,&quot;]&gt;2){dst.set(&quot;,s.join(),&quot;,&quot;,u,&quot;,0.5*(src.get(&quot;,p.join(),&quot;)-src.get(&quot;,m.join(),&quot;)))}else{dst.set(&quot;,s.join(),&quot;,&quot;,u,&quot;,0)};&quot;):a.push(&quot;if(s[&quot;,u,&quot;]&gt;2){diff(&quot;,f,&quot;,src.pick(&quot;,p.join(),&quot;)&quot;,c,&quot;,src.pick(&quot;,m.join(),&quot;)&quot;,c,&quot;);}else{zero(&quot;,f,&quot;);};&quot;);break;default:throw new Error(&quot;ndarray-gradient: Invalid boundary condition&quot;)}}r&gt;0&amp;&amp;a.push(&quot;};&quot;)}var r=t.join();if(v=s[r])return v;for(var i=t.length,a=[&quot;function gradient(dst,src){var s=src.shape.slice();&quot;],l=0;l&lt;1&lt;&lt;i;++l){for(var f=[],h=0;h&lt;i;++h)l&amp;1&lt;&lt;h&amp;&amp;f.push(h+1);for(var d=0;d&lt;1&lt;&lt;f.length;++d){var p=f.slice();for(h=0;h&lt;f.length;++h)d&amp;1&lt;&lt;h&amp;&amp;(p[h]=-p[h]);e(p)}}a.push(&quot;return dst;};return gradient&quot;);var m=[&quot;diff&quot;,&quot;zero&quot;],g=[c,u];for(l=1;l&lt;=i;++l)m.push(&quot;grad&quot;+l),g.push(n(l));m.push(a.join(&quot;&quot;));var v=Function.apply(void 0,m).apply(void 0,g);return o[r]=v,v}(r)(t,e)};var i=t(&quot;dup&quot;),a=t(&quot;cwise-compiler&quot;),o={},s={},l={body:&quot;&quot;,args:[],thisVars:[],localVars:[]},c=a({args:[&quot;array&quot;,&quot;array&quot;,&quot;array&quot;],pre:l,post:l,body:{args:[{name:&quot;out&quot;,lvalue:!0,rvalue:!1,count:1},{name:&quot;left&quot;,lvalue:!1,rvalue:!0,count:1},{name:&quot;right&quot;,lvalue:!1,rvalue:!0,count:1}],body:&quot;out=0.5*(left-right)&quot;,thisVars:[],localVars:[]},funcName:&quot;cdiff&quot;}),u=a({args:[&quot;array&quot;],pre:l,post:l,body:{args:[{name:&quot;out&quot;,lvalue:!0,rvalue:!1,count:1}],body:&quot;out=0&quot;,thisVars:[],localVars:[]},funcName:&quot;zero&quot;})},{&quot;cwise-compiler&quot;:116,dup:134}],450:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;ndarray-warp&quot;),i=t(&quot;gl-matrix-invert&quot;);e.exports=function(t,e,r){var a=e.dimension,o=i([],r);return n(t,e,function(t,e){for(var r=0;r&lt;a;++r){t[r]=o[(a+1)*a+r];for(var n=0;n&lt;a;++n)t[r]+=o[(a+1)*n+r]*e[n]}var i=o[(a+1)*(a+1)-1];for(n=0;n&lt;a;++n)i+=o[(a+1)*n+a]*e[n];var s=1/i;for(r=0;r&lt;a;++r)t[r]*=s;return t}),t}},{&quot;gl-matrix-invert&quot;:197,&quot;ndarray-warp&quot;:457}],451:[function(t,e,r){&quot;use strict&quot;;function n(t,e){var r=Math.floor(e),n=e-r,i=0&lt;=r&amp;&amp;r&lt;t.shape[0],a=0&lt;=r+1&amp;&amp;r+1&lt;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&lt;=n&amp;&amp;n&lt;t.shape[0],o=0&lt;=n+1&amp;&amp;n+1&lt;t.shape[0],s=Math.floor(r),l=r-s,c=0&lt;=s&amp;&amp;s&lt;t.shape[1],u=0&lt;=s+1&amp;&amp;s+1&lt;t.shape[1],f=a&amp;&amp;c?t.get(n,s):0,h=a&amp;&amp;u?t.get(n,s+1):0;return(1-l)*((1-i)*f+i*(o&amp;&amp;c?t.get(n+1,s):0))+l*((1-i)*h+i*(o&amp;&amp;u?t.get(n+1,s+1):0))}function a(t,e,r,n){var i=Math.floor(e),a=e-i,o=0&lt;=i&amp;&amp;i&lt;t.shape[0],s=0&lt;=i+1&amp;&amp;i+1&lt;t.shape[0],l=Math.floor(r),c=r-l,u=0&lt;=l&amp;&amp;l&lt;t.shape[1],f=0&lt;=l+1&amp;&amp;l+1&lt;t.shape[1],h=Math.floor(n),d=n-h,p=0&lt;=h&amp;&amp;h&lt;t.shape[2],m=0&lt;=h+1&amp;&amp;h+1&lt;t.shape[2],g=o&amp;&amp;u&amp;&amp;p?t.get(i,l,h):0,v=o&amp;&amp;f&amp;&amp;p?t.get(i,l+1,h):0,y=s&amp;&amp;u&amp;&amp;p?t.get(i+1,l,h):0,x=s&amp;&amp;f&amp;&amp;p?t.get(i+1,l+1,h):0,b=o&amp;&amp;u&amp;&amp;m?t.get(i,l,h+1):0,_=o&amp;&amp;f&amp;&amp;m?t.get(i,l+1,h+1):0;return(1-d)*((1-c)*((1-a)*g+a*y)+c*((1-a)*v+a*x))+d*((1-c)*((1-a)*b+a*(s&amp;&amp;u&amp;&amp;m?t.get(i+1,l,h+1):0))+c*((1-a)*_+a*(s&amp;&amp;f&amp;&amp;m?t.get(i+1,l+1,h+1):0)))}e.exports=function(t,e,r,o){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,o);default:return function(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&lt;n;++e)r=+arguments[e+1],i[e]=Math.floor(r),a[e]=r-i[e],o[e]=0&lt;=i[e]&amp;&amp;i[e]&lt;t.shape[e],s[e]=0&lt;=i[e]+1&amp;&amp;i[e]+1&lt;t.shape[e];var l,c,u,f=0;t:for(e=0;e&lt;1&lt;&lt;n;++e){for(c=1,u=t.offset,l=0;l&lt;n;++l)if(e&amp;1&lt;&lt;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}.apply(void 0,arguments)}},e.exports.d1=n,e.exports.d2=i,e.exports.d3=a},{}],452:[function(t,e,r){&quot;use strict&quot;;function n(t){if(!t)return o;for(var e=0;e&lt;t.args.length;++e){var r=t.args[e];t.args[e]=0===e?{name:r,lvalue:!0,rvalue:!!t.rvalue,count:t.count||1}:{name:r,lvalue:!1,rvalue:!0,count:1}}return t.thisVars||(t.thisVars=[]),t.localVars||(t.localVars=[]),t}function i(t){for(var e=[],r=0;r&lt;t.args.length;++r)e.push(&quot;a&quot;+r);return new Function(&quot;P&quot;,[&quot;return function &quot;,t.funcName,&quot;_ndarrayops(&quot;,e.join(&quot;,&quot;),&quot;) {P(&quot;,e.join(&quot;,&quot;),&quot;);return a0}&quot;].join(&quot;&quot;))(function(t){return a({args:t.args,pre:n(t.pre),body:n(t.body),post:n(t.proc),funcName:t.funcName})}(t))}var a=t(&quot;cwise-compiler&quot;),o={body:&quot;&quot;,args:[],thisVars:[],localVars:[]},s={add:&quot;+&quot;,sub:&quot;-&quot;,mul:&quot;*&quot;,div:&quot;/&quot;,mod:&quot;%&quot;,band:&quot;&amp;&quot;,bor:&quot;|&quot;,bxor:&quot;^&quot;,lshift:&quot;&lt;&lt;&quot;,rshift:&quot;&gt;&gt;&quot;,rrshift:&quot;&gt;&gt;&gt;&quot;};!function(){for(var t in s){var e=s[t];r[t]=i({args:[&quot;array&quot;,&quot;array&quot;,&quot;array&quot;],body:{args:[&quot;a&quot;,&quot;b&quot;,&quot;c&quot;],body:&quot;a=b&quot;+e+&quot;c&quot;},funcName:t}),r[t+&quot;eq&quot;]=i({args:[&quot;array&quot;,&quot;array&quot;],body:{args:[&quot;a&quot;,&quot;b&quot;],body:&quot;a&quot;+e+&quot;=b&quot;},rvalue:!0,funcName:t+&quot;eq&quot;}),r[t+&quot;s&quot;]=i({args:[&quot;array&quot;,&quot;array&quot;,&quot;scalar&quot;],body:{args:[&quot;a&quot;,&quot;b&quot;,&quot;s&quot;],body:&quot;a=b&quot;+e+&quot;s&quot;},funcName:t+&quot;s&quot;}),r[t+&quot;seq&quot;]=i({args:[&quot;array&quot;,&quot;scalar&quot;],body:{args:[&quot;a&quot;,&quot;s&quot;],body:&quot;a&quot;+e+&quot;=s&quot;},rvalue:!0,funcName:t+&quot;seq&quot;})}}();var l={not:&quot;!&quot;,bnot:&quot;~&quot;,neg:&quot;-&quot;,recip:&quot;1.0/&quot;};!function(){for(var t in l){var e=l[t];r[t]=i({args:[&quot;array&quot;,&quot;array&quot;],body:{args:[&quot;a&quot;,&quot;b&quot;],body:&quot;a=&quot;+e+&quot;b&quot;},funcName:t}),r[t+&quot;eq&quot;]=i({args:[&quot;array&quot;],body:{args:[&quot;a&quot;],body:&quot;a=&quot;+e+&quot;a&quot;},rvalue:!0,count:2,funcName:t+&quot;eq&quot;})}}();var c={and:&quot;&amp;&amp;&quot;,or:&quot;||&quot;,eq:&quot;===&quot;,neq:&quot;!==&quot;,lt:&quot;&lt;&quot;,gt:&quot;&gt;&quot;,leq:&quot;&lt;=&quot;,geq:&quot;&gt;=&quot;};!function(){for(var t in c){var e=c[t];r[t]=i({args:[&quot;array&quot;,&quot;array&quot;,&quot;array&quot;],body:{args:[&quot;a&quot;,&quot;b&quot;,&quot;c&quot;],body:&quot;a=b&quot;+e+&quot;c&quot;},funcName:t}),r[t+&quot;s&quot;]=i({args:[&quot;array&quot;,&quot;array&quot;,&quot;scalar&quot;],body:{args:[&quot;a&quot;,&quot;b&quot;,&quot;s&quot;],body:&quot;a=b&quot;+e+&quot;s&quot;},funcName:t+&quot;s&quot;}),r[t+&quot;eq&quot;]=i({args:[&quot;array&quot;,&quot;array&quot;],body:{args:[&quot;a&quot;,&quot;b&quot;],body:&quot;a=a&quot;+e+&quot;b&quot;},rvalue:!0,count:2,funcName:t+&quot;eq&quot;}),r[t+&quot;seq&quot;]=i({args:[&quot;array&quot;,&quot;scalar&quot;],body:{args:[&quot;a&quot;,&quot;s&quot;],body:&quot;a=a&quot;+e+&quot;s&quot;},rvalue:!0,count:2,funcName:t+&quot;seq&quot;})}}();var u=[&quot;abs&quot;,&quot;acos&quot;,&quot;asin&quot;,&quot;atan&quot;,&quot;ceil&quot;,&quot;cos&quot;,&quot;exp&quot;,&quot;floor&quot;,&quot;log&quot;,&quot;round&quot;,&quot;sin&quot;,&quot;sqrt&quot;,&quot;tan&quot;];!function(){for(var t=0;t&lt;u.length;++t){var e=u[t];r[e]=i({args:[&quot;array&quot;,&quot;array&quot;],pre:{args:[],body:&quot;this_f=Math.&quot;+e,thisVars:[&quot;this_f&quot;]},body:{args:[&quot;a&quot;,&quot;b&quot;],body:&quot;a=this_f(b)&quot;,thisVars:[&quot;this_f&quot;]},funcName:e}),r[e+&quot;eq&quot;]=i({args:[&quot;array&quot;],pre:{args:[],body:&quot;this_f=Math.&quot;+e,thisVars:[&quot;this_f&quot;]},body:{args:[&quot;a&quot;],body:&quot;a=this_f(a)&quot;,thisVars:[&quot;this_f&quot;]},rvalue:!0,count:2,funcName:e+&quot;eq&quot;})}}();var f=[&quot;max&quot;,&quot;min&quot;,&quot;atan2&quot;,&quot;pow&quot;];!function(){for(var t=0;t&lt;f.length;++t){var e=f[t];r[e]=i({args:[&quot;array&quot;,&quot;array&quot;,&quot;array&quot;],pre:{args:[],body:&quot;this_f=Math.&quot;+e,thisVars:[&quot;this_f&quot;]},body:{args:[&quot;a&quot;,&quot;b&quot;,&quot;c&quot;],body:&quot;a=this_f(b,c)&quot;,thisVars:[&quot;this_f&quot;]},funcName:e}),r[e+&quot;s&quot;]=i({args:[&quot;array&quot;,&quot;array&quot;,&quot;scalar&quot;],pre:{args:[],body:&quot;this_f=Math.&quot;+e,thisVars:[&quot;this_f&quot;]},body:{args:[&quot;a&quot;,&quot;b&quot;,&quot;c&quot;],body:&quot;a=this_f(b,c)&quot;,thisVars:[&quot;this_f&quot;]},funcName:e+&quot;s&quot;}),r[e+&quot;eq&quot;]=i({args:[&quot;array&quot;,&quot;array&quot;],pre:{args:[],body:&quot;this_f=Math.&quot;+e,thisVars:[&quot;this_f&quot;]},body:{args:[&quot;a&quot;,&quot;b&quot;],body:&quot;a=this_f(a,b)&quot;,thisVars:[&quot;this_f&quot;]},rvalue:!0,count:2,funcName:e+&quot;eq&quot;}),r[e+&quot;seq&quot;]=i({args:[&quot;array&quot;,&quot;scalar&quot;],pre:{args:[],body:&quot;this_f=Math.&quot;+e,thisVars:[&quot;this_f&quot;]},body:{args:[&quot;a&quot;,&quot;b&quot;],body:&quot;a=this_f(a,b)&quot;,thisVars:[&quot;this_f&quot;]},rvalue:!0,count:2,funcName:e+&quot;seq&quot;})}}();var h=[&quot;atan2&quot;,&quot;pow&quot;];!function(){for(var t=0;t&lt;h.length;++t){var e=h[t];r[e+&quot;op&quot;]=i({args:[&quot;array&quot;,&quot;array&quot;,&quot;array&quot;],pre:{args:[],body:&quot;this_f=Math.&quot;+e,thisVars:[&quot;this_f&quot;]},body:{args:[&quot;a&quot;,&quot;b&quot;,&quot;c&quot;],body:&quot;a=this_f(c,b)&quot;,thisVars:[&quot;this_f&quot;]},funcName:e+&quot;op&quot;}),r[e+&quot;ops&quot;]=i({args:[&quot;array&quot;,&quot;array&quot;,&quot;scalar&quot;],pre:{args:[],body:&quot;this_f=Math.&quot;+e,thisVars:[&quot;this_f&quot;]},body:{args:[&quot;a&quot;,&quot;b&quot;,&quot;c&quot;],body:&quot;a=this_f(c,b)&quot;,thisVars:[&quot;this_f&quot;]},funcName:e+&quot;ops&quot;}),r[e+&quot;opeq&quot;]=i({args:[&quot;array&quot;,&quot;array&quot;],pre:{args:[],body:&quot;this_f=Math.&quot;+e,thisVars:[&quot;this_f&quot;]},body:{args:[&quot;a&quot;,&quot;b&quot;],body:&quot;a=this_f(b,a)&quot;,thisVars:[&quot;this_f&quot;]},rvalue:!0,count:2,funcName:e+&quot;opeq&quot;}),r[e+&quot;opseq&quot;]=i({args:[&quot;array&quot;,&quot;scalar&quot;],pre:{args:[],body:&quot;this_f=Math.&quot;+e,thisVars:[&quot;this_f&quot;]},body:{args:[&quot;a&quot;,&quot;b&quot;],body:&quot;a=this_f(b,a)&quot;,thisVars:[&quot;this_f&quot;]},rvalue:!0,count:2,funcName:e+&quot;opseq&quot;})}}(),r.any=a({args:[&quot;array&quot;],pre:o,body:{args:[{name:&quot;a&quot;,lvalue:!1,rvalue:!0,count:1}],body:&quot;if(a){return true}&quot;,localVars:[],thisVars:[]},post:{args:[],localVars:[],thisVars:[],body:&quot;return false&quot;},funcName:&quot;any&quot;}),r.all=a({args:[&quot;array&quot;],pre:o,body:{args:[{name:&quot;x&quot;,lvalue:!1,rvalue:!0,count:1}],body:&quot;if(!x){return false}&quot;,localVars:[],thisVars:[]},post:{args:[],localVars:[],thisVars:[],body:&quot;return true&quot;},funcName:&quot;all&quot;}),r.sum=a({args:[&quot;array&quot;],pre:{args:[],localVars:[],thisVars:[&quot;this_s&quot;],body:&quot;this_s=0&quot;},body:{args:[{name:&quot;a&quot;,lvalue:!1,rvalue:!0,count:1}],body:&quot;this_s+=a&quot;,localVars:[],thisVars:[&quot;this_s&quot;]},post:{args:[],localVars:[],thisVars:[&quot;this_s&quot;],body:&quot;return this_s&quot;},funcName:&quot;sum&quot;}),r.prod=a({args:[&quot;array&quot;],pre:{args:[],localVars:[],thisVars:[&quot;this_s&quot;],body:&quot;this_s=1&quot;},body:{args:[{name:&quot;a&quot;,lvalue:!1,rvalue:!0,count:1}],body:&quot;this_s*=a&quot;,localVars:[],thisVars:[&quot;this_s&quot;]},post:{args:[],localVars:[],thisVars:[&quot;this_s&quot;],body:&quot;return this_s&quot;},funcName:&quot;prod&quot;}),r.norm2squared=a({args:[&quot;array&quot;],pre:{args:[],localVars:[],thisVars:[&quot;this_s&quot;],body:&quot;this_s=0&quot;},body:{args:[{name:&quot;a&quot;,lvalue:!1,rvalue:!0,count:2}],body:&quot;this_s+=a*a&quot;,localVars:[],thisVars:[&quot;this_s&quot;]},post:{args:[],localVars:[],thisVars:[&quot;this_s&quot;],body:&quot;return this_s&quot;},funcName:&quot;norm2squared&quot;}),r.norm2=a({args:[&quot;array&quot;],pre:{args:[],localVars:[],thisVars:[&quot;this_s&quot;],body:&quot;this_s=0&quot;},body:{args:[{name:&quot;a&quot;,lvalue:!1,rvalue:!0,count:2}],body:&quot;this_s+=a*a&quot;,localVars:[],thisVars:[&quot;this_s&quot;]},post:{args:[],localVars:[],thisVars:[&quot;this_s&quot;],body:&quot;return Math.sqrt(this_s)&quot;},funcName:&quot;norm2&quot;}),r.norminf=a({args:[&quot;array&quot;],pre:{args:[],localVars:[],thisVars:[&quot;this_s&quot;],body:&quot;this_s=0&quot;},body:{args:[{name:&quot;a&quot;,lvalue:!1,rvalue:!0,count:4}],body:&quot;if(-a&gt;this_s){this_s=-a}else if(a&gt;this_s){this_s=a}&quot;,localVars:[],thisVars:[&quot;this_s&quot;]},post:{args:[],localVars:[],thisVars:[&quot;this_s&quot;],body:&quot;return this_s&quot;},funcName:&quot;norminf&quot;}),r.norm1=a({args:[&quot;array&quot;],pre:{args:[],localVars:[],thisVars:[&quot;this_s&quot;],body:&quot;this_s=0&quot;},body:{args:[{name:&quot;a&quot;,lvalue:!1,rvalue:!0,count:3}],body:&quot;this_s+=a&lt;0?-a:a&quot;,localVars:[],thisVars:[&quot;this_s&quot;]},post:{args:[],localVars:[],thisVars:[&quot;this_s&quot;],body:&quot;return this_s&quot;},funcName:&quot;norm1&quot;}),r.sup=a({args:[&quot;array&quot;],pre:{body:&quot;this_h=-Infinity&quot;,args:[],thisVars:[&quot;this_h&quot;],localVars:[]},body:{body:&quot;if(_inline_1_arg0_&gt;this_h)this_h=_inline_1_arg0_&quot;,args:[{name:&quot;_inline_1_arg0_&quot;,lvalue:!1,rvalue:!0,count:2}],thisVars:[&quot;this_h&quot;],localVars:[]},post:{body:&quot;return this_h&quot;,args:[],thisVars:[&quot;this_h&quot;],localVars:[]}}),r.inf=a({args:[&quot;array&quot;],pre:{body:&quot;this_h=Infinity&quot;,args:[],thisVars:[&quot;this_h&quot;],localVars:[]},body:{body:&quot;if(_inline_1_arg0_&lt;this_h)this_h=_inline_1_arg0_&quot;,args:[{name:&quot;_inline_1_arg0_&quot;,lvalue:!1,rvalue:!0,count:2}],thisVars:[&quot;this_h&quot;],localVars:[]},post:{body:&quot;return this_h&quot;,args:[],thisVars:[&quot;this_h&quot;],localVars:[]}}),r.argmin=a({args:[&quot;index&quot;,&quot;array&quot;,&quot;shape&quot;],pre:{body:&quot;{this_v=Infinity;this_i=_inline_0_arg2_.slice(0)}&quot;,args:[{name:&quot;_inline_0_arg0_&quot;,lvalue:!1,rvalue:!1,count:0},{name:&quot;_inline_0_arg1_&quot;,lvalue:!1,rvalue:!1,count:0},{name:&quot;_inline_0_arg2_&quot;,lvalue:!1,rvalue:!0,count:1}],thisVars:[&quot;this_i&quot;,&quot;this_v&quot;],localVars:[]},body:{body:&quot;{if(_inline_1_arg1_&lt;this_v){this_v=_inline_1_arg1_;for(var _inline_1_k=0;_inline_1_k&lt;_inline_1_arg0_.length;++_inline_1_k){this_i[_inline_1_k]=_inline_1_arg0_[_inline_1_k]}}}&quot;,args:[{name:&quot;_inline_1_arg0_&quot;,lvalue:!1,rvalue:!0,count:2},{name:&quot;_inline_1_arg1_&quot;,lvalue:!1,rvalue:!0,count:2}],thisVars:[&quot;this_i&quot;,&quot;this_v&quot;],localVars:[&quot;_inline_1_k&quot;]},post:{body:&quot;{return this_i}&quot;,args:[],thisVars:[&quot;this_i&quot;],localVars:[]}}),r.argmax=a({args:[&quot;index&quot;,&quot;array&quot;,&quot;shape&quot;],pre:{body:&quot;{this_v=-Infinity;this_i=_inline_0_arg2_.slice(0)}&quot;,args:[{name:&quot;_inline_0_arg0_&quot;,lvalue:!1,rvalue:!1,count:0},{name:&quot;_inline_0_arg1_&quot;,lvalue:!1,rvalue:!1,count:0},{name:&quot;_inline_0_arg2_&quot;,lvalue:!1,rvalue:!0,count:1}],thisVars:[&quot;this_i&quot;,&quot;this_v&quot;],localVars:[]},body:{body:&quot;{if(_inline_1_arg1_&gt;this_v){this_v=_inline_1_arg1_;for(var _inline_1_k=0;_inline_1_k&lt;_inline_1_arg0_.length;++_inline_1_k){this_i[_inline_1_k]=_inline_1_arg0_[_inline_1_k]}}}&quot;,args:[{name:&quot;_inline_1_arg0_&quot;,lvalue:!1,rvalue:!0,count:2},{name:&quot;_inline_1_arg1_&quot;,lvalue:!1,rvalue:!0,count:2}],thisVars:[&quot;this_i&quot;,&quot;this_v&quot;],localVars:[&quot;_inline_1_k&quot;]},post:{body:&quot;{return this_i}&quot;,args:[],thisVars:[&quot;this_i&quot;],localVars:[]}}),r.random=i({args:[&quot;array&quot;],pre:{args:[],body:&quot;this_f=Math.random&quot;,thisVars:[&quot;this_f&quot;]},body:{args:[&quot;a&quot;],body:&quot;a=this_f()&quot;,thisVars:[&quot;this_f&quot;]},funcName:&quot;random&quot;}),r.assign=i({args:[&quot;array&quot;,&quot;array&quot;],body:{args:[&quot;a&quot;,&quot;b&quot;],body:&quot;a=b&quot;},funcName:&quot;assign&quot;}),r.assigns=i({args:[&quot;array&quot;,&quot;scalar&quot;],body:{args:[&quot;a&quot;,&quot;b&quot;],body:&quot;a=b&quot;},funcName:&quot;assigns&quot;}),r.equals=a({args:[&quot;array&quot;,&quot;array&quot;],pre:o,body:{args:[{name:&quot;x&quot;,lvalue:!1,rvalue:!0,count:1},{name:&quot;y&quot;,lvalue:!1,rvalue:!0,count:1}],body:&quot;if(x!==y){return false}&quot;,localVars:[],thisVars:[]},post:{args:[],localVars:[],thisVars:[],body:&quot;return true&quot;},funcName:&quot;equals&quot;})},{&quot;cwise-compiler&quot;:116}],453:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;ndarray&quot;),i=t(&quot;./doConvert.js&quot;);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)}},{&quot;./doConvert.js&quot;:454,ndarray:458}],454:[function(t,e,r){e.exports=t(&quot;cwise-compiler&quot;)({args:[&quot;array&quot;,&quot;scalar&quot;,&quot;index&quot;],pre:{body:&quot;{}&quot;,args:[],thisVars:[],localVars:[]},body:{body:&quot;{\nvar _inline_1_v=_inline_1_arg1_,_inline_1_i\nfor(_inline_1_i=0;_inline_1_i&lt;_inline_1_arg2_.length-1;++_inline_1_i) {\n_inline_1_v=_inline_1_v[_inline_1_arg2_[_inline_1_i]]\n}\n_inline_1_arg0_=_inline_1_v[_inline_1_arg2_[_inline_1_arg2_.length-1]]\n}&quot;,args:[{name:&quot;_inline_1_arg0_&quot;,lvalue:!0,rvalue:!1,count:1},{name:&quot;_inline_1_arg1_&quot;,lvalue:!1,rvalue:!0,count:1},{name:&quot;_inline_1_arg2_&quot;,lvalue:!1,rvalue:!0,count:4}],thisVars:[],localVars:[&quot;_inline_1_i&quot;,&quot;_inline_1_v&quot;]},post:{body:&quot;{}&quot;,args:[],thisVars:[],localVars:[]},funcName:&quot;convert&quot;,blockSize:64})},{&quot;cwise-compiler&quot;:116}],455:[function(t,e,r){&quot;use strict&quot;;function n(t){switch(t){case&quot;uint8&quot;:return[a.mallocUint8,a.freeUint8];case&quot;uint16&quot;:return[a.mallocUint16,a.freeUint16];case&quot;uint32&quot;:return[a.mallocUint32,a.freeUint32];case&quot;int8&quot;:return[a.mallocInt8,a.freeInt8];case&quot;int16&quot;:return[a.mallocInt16,a.freeInt16];case&quot;int32&quot;:return[a.mallocInt32,a.freeInt32];case&quot;float32&quot;:return[a.mallocFloat,a.freeFloat];case&quot;float64&quot;:return[a.mallocDouble,a.freeDouble];default:return null}}function i(t){for(var e=[],r=0;r&lt;t;++r)e.push(&quot;s&quot;+r);for(r=0;r&lt;t;++r)e.push(&quot;n&quot;+r);for(r=1;r&lt;t;++r)e.push(&quot;d&quot;+r);for(r=1;r&lt;t;++r)e.push(&quot;e&quot;+r);for(r=1;r&lt;t;++r)e.push(&quot;f&quot;+r);return e}var a=t(&quot;typedarray-pool&quot;),o=32;e.exports=function(t,e){var r=[&quot;'use strict'&quot;],a=[&quot;ndarraySortWrapper&quot;,t.join(&quot;d&quot;),e].join(&quot;&quot;);r.push([&quot;function &quot;,a,&quot;(&quot;,[&quot;array&quot;].join(&quot;,&quot;),&quot;){&quot;].join(&quot;&quot;));for(var s=[&quot;data=array.data,offset=array.offset|0,shape=array.shape,stride=array.stride&quot;],l=0;l&lt;t.length;++l)s.push([&quot;s&quot;,l,&quot;=stride[&quot;,l,&quot;]|0,n&quot;,l,&quot;=shape[&quot;,l,&quot;]|0&quot;].join(&quot;&quot;));var c=new Array(t.length),u=[];for(l=0;l&lt;t.length;++l)0!==(p=t[l])&amp;&amp;(0===u.length?c[p]=&quot;1&quot;:c[p]=u.join(&quot;*&quot;),u.push(&quot;n&quot;+p));var f=-1,h=-1;for(l=0;l&lt;t.length;++l){var d=t[l];0!==d&amp;&amp;(f&gt;0?s.push([&quot;d&quot;,d,&quot;=s&quot;,d,&quot;-d&quot;,f,&quot;*n&quot;,f].join(&quot;&quot;)):s.push([&quot;d&quot;,d,&quot;=s&quot;,d].join(&quot;&quot;)),f=d);var p;0!=(p=t.length-1-l)&amp;&amp;(h&gt;0?s.push([&quot;e&quot;,p,&quot;=s&quot;,p,&quot;-e&quot;,h,&quot;*n&quot;,h,&quot;,f&quot;,p,&quot;=&quot;,c[p],&quot;-f&quot;,h,&quot;*n&quot;,h].join(&quot;&quot;)):s.push([&quot;e&quot;,p,&quot;=s&quot;,p,&quot;,f&quot;,p,&quot;=&quot;,c[p]].join(&quot;&quot;)),h=p)}r.push(&quot;var &quot;+s.join(&quot;,&quot;));var m=[&quot;0&quot;,&quot;n0-1&quot;,&quot;data&quot;,&quot;offset&quot;].concat(i(t.length));r.push([&quot;if(n0&lt;=&quot;,o,&quot;){&quot;,&quot;insertionSort(&quot;,m.join(&quot;,&quot;),&quot;)}else{&quot;,&quot;quickSort(&quot;,m.join(&quot;,&quot;),&quot;)}&quot;].join(&quot;&quot;)),r.push(&quot;}return &quot;+a);var g=new Function(&quot;insertionSort&quot;,&quot;quickSort&quot;,r.join(&quot;\n&quot;)),v=function(t,e){function r(t){return&quot;generic&quot;===e?[&quot;data.get(&quot;,t,&quot;)&quot;].join(&quot;&quot;):[&quot;data[&quot;,t,&quot;]&quot;].join(&quot;&quot;)}function a(t,r){return&quot;generic&quot;===e?[&quot;data.set(&quot;,t,&quot;,&quot;,r,&quot;)&quot;].join(&quot;&quot;):[&quot;data[&quot;,t,&quot;]=&quot;,r].join(&quot;&quot;)}var o=[&quot;'use strict'&quot;],s=[&quot;ndarrayInsertionSort&quot;,t.join(&quot;d&quot;),e].join(&quot;&quot;),l=[&quot;left&quot;,&quot;right&quot;,&quot;data&quot;,&quot;offset&quot;].concat(i(t.length)),c=n(e),u=[&quot;i,j,cptr,ptr=left*s0+offset&quot;];if(t.length&gt;1){for(var f=[],h=1;h&lt;t.length;++h)u.push(&quot;i&quot;+h),f.push(&quot;n&quot;+h);c?u.push(&quot;scratch=malloc(&quot;+f.join(&quot;*&quot;)+&quot;)&quot;):u.push(&quot;scratch=new Array(&quot;+f.join(&quot;*&quot;)+&quot;)&quot;),u.push(&quot;dptr&quot;,&quot;sptr&quot;,&quot;a&quot;,&quot;b&quot;)}else u.push(&quot;scratch&quot;);if(o.push([&quot;function &quot;,s,&quot;(&quot;,l.join(&quot;,&quot;),&quot;){var &quot;,u.join(&quot;,&quot;)].join(&quot;&quot;),&quot;for(i=left+1;i&lt;=right;++i){&quot;,&quot;j=i;ptr+=s0&quot;,&quot;cptr=ptr&quot;),t.length&gt;1){for(o.push(&quot;dptr=0;sptr=ptr&quot;),h=t.length-1;h&gt;=0;--h)0!==(d=t[h])&amp;&amp;o.push([&quot;for(i&quot;,d,&quot;=0;i&quot;,d,&quot;&lt;n&quot;,d,&quot;;++i&quot;,d,&quot;){&quot;].join(&quot;&quot;));for(o.push(&quot;scratch[dptr++]=&quot;,r(&quot;sptr&quot;)),h=0;h&lt;t.length;++h)0!==(d=t[h])&amp;&amp;o.push(&quot;sptr+=d&quot;+d,&quot;}&quot;);for(o.push(&quot;__g:while(j--\x3eleft){&quot;,&quot;dptr=0&quot;,&quot;sptr=cptr-s0&quot;),h=1;h&lt;t.length;++h)1===h&amp;&amp;o.push(&quot;__l:&quot;),o.push([&quot;for(i&quot;,h,&quot;=0;i&quot;,h,&quot;&lt;n&quot;,h,&quot;;++i&quot;,h,&quot;){&quot;].join(&quot;&quot;));for(o.push([&quot;a=&quot;,r(&quot;sptr&quot;),&quot;\nb=scratch[dptr]\nif(a&lt;b){break __g}\nif(a&gt;b){break __l}&quot;].join(&quot;&quot;)),h=t.length-1;h&gt;=1;--h)o.push(&quot;sptr+=e&quot;+h,&quot;dptr+=f&quot;+h,&quot;}&quot;);for(o.push(&quot;dptr=cptr;sptr=cptr-s0&quot;),h=t.length-1;h&gt;=0;--h)0!==(d=t[h])&amp;&amp;o.push([&quot;for(i&quot;,d,&quot;=0;i&quot;,d,&quot;&lt;n&quot;,d,&quot;;++i&quot;,d,&quot;){&quot;].join(&quot;&quot;));for(o.push(a(&quot;dptr&quot;,r(&quot;sptr&quot;))),h=0;h&lt;t.length;++h)0!==(d=t[h])&amp;&amp;o.push([&quot;dptr+=d&quot;,d,&quot;;sptr+=d&quot;,d].join(&quot;&quot;),&quot;}&quot;);for(o.push(&quot;cptr-=s0\n}&quot;),o.push(&quot;dptr=cptr;sptr=0&quot;),h=t.length-1;h&gt;=0;--h)0!==(d=t[h])&amp;&amp;o.push([&quot;for(i&quot;,d,&quot;=0;i&quot;,d,&quot;&lt;n&quot;,d,&quot;;++i&quot;,d,&quot;){&quot;].join(&quot;&quot;));for(o.push(a(&quot;dptr&quot;,&quot;scratch[sptr++]&quot;)),h=0;h&lt;t.length;++h){var d;0!==(d=t[h])&amp;&amp;o.push(&quot;dptr+=d&quot;+d,&quot;}&quot;)}}else o.push(&quot;scratch=&quot;+r(&quot;ptr&quot;),&quot;while((j--\x3eleft)&amp;&amp;(&quot;+r(&quot;cptr-s0&quot;)+&quot;&gt;scratch)){&quot;,a(&quot;cptr&quot;,r(&quot;cptr-s0&quot;)),&quot;cptr-=s0&quot;,&quot;}&quot;,a(&quot;cptr&quot;,&quot;scratch&quot;));return o.push(&quot;}&quot;),t.length&gt;1&amp;&amp;c&amp;&amp;o.push(&quot;free(scratch)&quot;),o.push(&quot;} return &quot;+s),c?new Function(&quot;malloc&quot;,&quot;free&quot;,o.join(&quot;\n&quot;))(c[0],c[1]):new Function(o.join(&quot;\n&quot;))()}(t,e);return g(v,function(t,e,r){function a(t){return[&quot;(offset+&quot;,t,&quot;*s0)&quot;].join(&quot;&quot;)}function s(t){return&quot;generic&quot;===e?[&quot;data.get(&quot;,t,&quot;)&quot;].join(&quot;&quot;):[&quot;data[&quot;,t,&quot;]&quot;].join(&quot;&quot;)}function l(t,r){return&quot;generic&quot;===e?[&quot;data.set(&quot;,t,&quot;,&quot;,r,&quot;)&quot;].join(&quot;&quot;):[&quot;data[&quot;,t,&quot;]=&quot;,r].join(&quot;&quot;)}function c(e,r,n){if(1===e.length)_.push(&quot;ptr0=&quot;+a(e[0]));else for(var i=0;i&lt;e.length;++i)_.push([&quot;b_ptr&quot;,i,&quot;=s0*&quot;,e[i]].join(&quot;&quot;));for(r&amp;&amp;_.push(&quot;pivot_ptr=0&quot;),_.push(&quot;ptr_shift=offset&quot;),i=t.length-1;i&gt;=0;--i)0!==(o=t[i])&amp;&amp;_.push([&quot;for(i&quot;,o,&quot;=0;i&quot;,o,&quot;&lt;n&quot;,o,&quot;;++i&quot;,o,&quot;){&quot;].join(&quot;&quot;));if(e.length&gt;1)for(i=0;i&lt;e.length;++i)_.push([&quot;ptr&quot;,i,&quot;=b_ptr&quot;,i,&quot;+ptr_shift&quot;].join(&quot;&quot;));for(_.push(n),r&amp;&amp;_.push(&quot;++pivot_ptr&quot;),i=0;i&lt;t.length;++i){var o;0!==(o=t[i])&amp;&amp;(e.length&gt;1?_.push(&quot;ptr_shift+=d&quot;+o):_.push(&quot;ptr0+=d&quot;+o),_.push(&quot;}&quot;))}}function u(e,r,n,i){if(1===r.length)_.push(&quot;ptr0=&quot;+a(r[0]));else{for(var o=0;o&lt;r.length;++o)_.push([&quot;b_ptr&quot;,o,&quot;=s0*&quot;,r[o]].join(&quot;&quot;));_.push(&quot;ptr_shift=offset&quot;)}for(n&amp;&amp;_.push(&quot;pivot_ptr=0&quot;),e&amp;&amp;_.push(e+&quot;:&quot;),o=1;o&lt;t.length;++o)_.push([&quot;for(i&quot;,o,&quot;=0;i&quot;,o,&quot;&lt;n&quot;,o,&quot;;++i&quot;,o,&quot;){&quot;].join(&quot;&quot;));if(r.length&gt;1)for(o=0;o&lt;r.length;++o)_.push([&quot;ptr&quot;,o,&quot;=b_ptr&quot;,o,&quot;+ptr_shift&quot;].join(&quot;&quot;));for(_.push(i),o=t.length-1;o&gt;=1;--o)n&amp;&amp;_.push(&quot;pivot_ptr+=f&quot;+o),r.length&gt;1?_.push(&quot;ptr_shift+=e&quot;+o):_.push(&quot;ptr0+=e&quot;+o),_.push(&quot;}&quot;)}function f(){t.length&gt;1&amp;&amp;k&amp;&amp;_.push(&quot;free(pivot1)&quot;,&quot;free(pivot2)&quot;)}function h(e,r){var n=&quot;el&quot;+e,i=&quot;el&quot;+r;if(t.length&gt;1){var o=&quot;__l&quot;+ ++A;u(o,[n,i],!1,[&quot;comp=&quot;,s(&quot;ptr0&quot;),&quot;-&quot;,s(&quot;ptr1&quot;),&quot;\n&quot;,&quot;if(comp&gt;0){tmp0=&quot;,n,&quot;;&quot;,n,&quot;=&quot;,i,&quot;;&quot;,i,&quot;=tmp0;break &quot;,o,&quot;}\n&quot;,&quot;if(comp&lt;0){break &quot;,o,&quot;}&quot;].join(&quot;&quot;))}else _.push([&quot;if(&quot;,s(a(n)),&quot;&gt;&quot;,s(a(i)),&quot;){tmp0=&quot;,n,&quot;;&quot;,n,&quot;=&quot;,i,&quot;;&quot;,i,&quot;=tmp0}&quot;].join(&quot;&quot;))}function d(e,r){t.length&gt;1?c([e,r],!1,l(&quot;ptr0&quot;,s(&quot;ptr1&quot;))):_.push(l(a(e),s(a(r))))}function p(e,r,n){if(t.length&gt;1){var i=&quot;__l&quot;+ ++A;u(i,[r],!0,[e,&quot;=&quot;,s(&quot;ptr0&quot;),&quot;-pivot&quot;,n,&quot;[pivot_ptr]\n&quot;,&quot;if(&quot;,e,&quot;!==0){break &quot;,i,&quot;}&quot;].join(&quot;&quot;))}else _.push([e,&quot;=&quot;,s(a(r)),&quot;-pivot&quot;,n].join(&quot;&quot;))}function m(e,r){t.length&gt;1?c([e,r],!1,[&quot;tmp=&quot;,s(&quot;ptr0&quot;),&quot;\n&quot;,l(&quot;ptr0&quot;,s(&quot;ptr1&quot;)),&quot;\n&quot;,l(&quot;ptr1&quot;,&quot;tmp&quot;)].join(&quot;&quot;)):_.push([&quot;ptr0=&quot;,a(e),&quot;\n&quot;,&quot;ptr1=&quot;,a(r),&quot;\n&quot;,&quot;tmp=&quot;,s(&quot;ptr0&quot;),&quot;\n&quot;,l(&quot;ptr0&quot;,s(&quot;ptr1&quot;)),&quot;\n&quot;,l(&quot;ptr1&quot;,&quot;tmp&quot;)].join(&quot;&quot;))}function g(e,r,n){t.length&gt;1?(c([e,r,n],!1,[&quot;tmp=&quot;,s(&quot;ptr0&quot;),&quot;\n&quot;,l(&quot;ptr0&quot;,s(&quot;ptr1&quot;)),&quot;\n&quot;,l(&quot;ptr1&quot;,s(&quot;ptr2&quot;)),&quot;\n&quot;,l(&quot;ptr2&quot;,&quot;tmp&quot;)].join(&quot;&quot;)),_.push(&quot;++&quot;+r,&quot;--&quot;+n)):_.push([&quot;ptr0=&quot;,a(e),&quot;\n&quot;,&quot;ptr1=&quot;,a(r),&quot;\n&quot;,&quot;ptr2=&quot;,a(n),&quot;\n&quot;,&quot;++&quot;,r,&quot;\n&quot;,&quot;--&quot;,n,&quot;\n&quot;,&quot;tmp=&quot;,s(&quot;ptr0&quot;),&quot;\n&quot;,l(&quot;ptr0&quot;,s(&quot;ptr1&quot;)),&quot;\n&quot;,l(&quot;ptr1&quot;,s(&quot;ptr2&quot;)),&quot;\n&quot;,l(&quot;ptr2&quot;,&quot;tmp&quot;)].join(&quot;&quot;))}function v(t,e){m(t,e),_.push(&quot;--&quot;+e)}function y(e,r,n){t.length&gt;1?c([e,r],!0,[l(&quot;ptr0&quot;,s(&quot;ptr1&quot;)),&quot;\n&quot;,l(&quot;ptr1&quot;,[&quot;pivot&quot;,n,&quot;[pivot_ptr]&quot;].join(&quot;&quot;))].join(&quot;&quot;)):_.push(l(a(e),s(a(r))),l(a(r),&quot;pivot&quot;+n))}function x(e,r){_.push([&quot;if((&quot;,r,&quot;-&quot;,e,&quot;)&lt;=&quot;,o,&quot;){\n&quot;,&quot;insertionSort(&quot;,e,&quot;,&quot;,r,&quot;,data,offset,&quot;,i(t.length).join(&quot;,&quot;),&quot;)\n&quot;,&quot;}else{\n&quot;,w,&quot;(&quot;,e,&quot;,&quot;,r,&quot;,data,offset,&quot;,i(t.length).join(&quot;,&quot;),&quot;)\n&quot;,&quot;}&quot;].join(&quot;&quot;))}function b(e,r,n){t.length&gt;1?(_.push([&quot;__l&quot;,++A,&quot;:while(true){&quot;].join(&quot;&quot;)),c([e],!0,[&quot;if(&quot;,s(&quot;ptr0&quot;),&quot;!==pivot&quot;,r,&quot;[pivot_ptr]){break __l&quot;,A,&quot;}&quot;].join(&quot;&quot;)),_.push(n,&quot;}&quot;)):_.push([&quot;while(&quot;,s(a(e)),&quot;===pivot&quot;,r,&quot;){&quot;,n,&quot;}&quot;].join(&quot;&quot;))}var _=[&quot;'use strict'&quot;],w=[&quot;ndarrayQuickSort&quot;,t.join(&quot;d&quot;),e].join(&quot;&quot;),M=[&quot;left&quot;,&quot;right&quot;,&quot;data&quot;,&quot;offset&quot;].concat(i(t.length)),k=n(e),A=0;_.push([&quot;function &quot;,w,&quot;(&quot;,M.join(&quot;,&quot;),&quot;){&quot;].join(&quot;&quot;));var T=[&quot;sixth=((right-left+1)/6)|0&quot;,&quot;index1=left+sixth&quot;,&quot;index5=right-sixth&quot;,&quot;index3=(left+right)&gt;&gt;1&quot;,&quot;index2=index3-sixth&quot;,&quot;index4=index3+sixth&quot;,&quot;el1=index1&quot;,&quot;el2=index2&quot;,&quot;el3=index3&quot;,&quot;el4=index4&quot;,&quot;el5=index5&quot;,&quot;less=left+1&quot;,&quot;great=right-1&quot;,&quot;pivots_are_equal=true&quot;,&quot;tmp&quot;,&quot;tmp0&quot;,&quot;x&quot;,&quot;y&quot;,&quot;z&quot;,&quot;k&quot;,&quot;ptr0&quot;,&quot;ptr1&quot;,&quot;ptr2&quot;,&quot;comp_pivot1=0&quot;,&quot;comp_pivot2=0&quot;,&quot;comp=0&quot;];if(t.length&gt;1){for(var S=[],E=1;E&lt;t.length;++E)S.push(&quot;n&quot;+E),T.push(&quot;i&quot;+E);for(E=0;E&lt;8;++E)T.push(&quot;b_ptr&quot;+E);T.push(&quot;ptr3&quot;,&quot;ptr4&quot;,&quot;ptr5&quot;,&quot;ptr6&quot;,&quot;ptr7&quot;,&quot;pivot_ptr&quot;,&quot;ptr_shift&quot;,&quot;elementSize=&quot;+S.join(&quot;*&quot;)),k?T.push(&quot;pivot1=malloc(elementSize)&quot;,&quot;pivot2=malloc(elementSize)&quot;):T.push(&quot;pivot1=new Array(elementSize),pivot2=new Array(elementSize)&quot;)}else T.push(&quot;pivot1&quot;,&quot;pivot2&quot;);return _.push(&quot;var &quot;+T.join(&quot;,&quot;)),h(1,2),h(4,5),h(1,3),h(2,3),h(1,4),h(3,4),h(2,5),h(2,3),h(4,5),t.length&gt;1?c([&quot;el1&quot;,&quot;el2&quot;,&quot;el3&quot;,&quot;el4&quot;,&quot;el5&quot;,&quot;index1&quot;,&quot;index3&quot;,&quot;index5&quot;],!0,[&quot;pivot1[pivot_ptr]=&quot;,s(&quot;ptr1&quot;),&quot;\n&quot;,&quot;pivot2[pivot_ptr]=&quot;,s(&quot;ptr3&quot;),&quot;\n&quot;,&quot;pivots_are_equal=pivots_are_equal&amp;&amp;(pivot1[pivot_ptr]===pivot2[pivot_ptr])\n&quot;,&quot;x=&quot;,s(&quot;ptr0&quot;),&quot;\n&quot;,&quot;y=&quot;,s(&quot;ptr2&quot;),&quot;\n&quot;,&quot;z=&quot;,s(&quot;ptr4&quot;),&quot;\n&quot;,l(&quot;ptr5&quot;,&quot;x&quot;),&quot;\n&quot;,l(&quot;ptr6&quot;,&quot;y&quot;),&quot;\n&quot;,l(&quot;ptr7&quot;,&quot;z&quot;)].join(&quot;&quot;)):_.push([&quot;pivot1=&quot;,s(a(&quot;el2&quot;)),&quot;\n&quot;,&quot;pivot2=&quot;,s(a(&quot;el4&quot;)),&quot;\n&quot;,&quot;pivots_are_equal=pivot1===pivot2\n&quot;,&quot;x=&quot;,s(a(&quot;el1&quot;)),&quot;\n&quot;,&quot;y=&quot;,s(a(&quot;el3&quot;)),&quot;\n&quot;,&quot;z=&quot;,s(a(&quot;el5&quot;)),&quot;\n&quot;,l(a(&quot;index1&quot;),&quot;x&quot;),&quot;\n&quot;,l(a(&quot;index3&quot;),&quot;y&quot;),&quot;\n&quot;,l(a(&quot;index5&quot;),&quot;z&quot;)].join(&quot;&quot;)),d(&quot;index2&quot;,&quot;left&quot;),d(&quot;index4&quot;,&quot;right&quot;),_.push(&quot;if(pivots_are_equal){&quot;),_.push(&quot;for(k=less;k&lt;=great;++k){&quot;),p(&quot;comp&quot;,&quot;k&quot;,1),_.push(&quot;if(comp===0){continue}&quot;),_.push(&quot;if(comp&lt;0){&quot;),_.push(&quot;if(k!==less){&quot;),m(&quot;k&quot;,&quot;less&quot;),_.push(&quot;}&quot;),_.push(&quot;++less&quot;),_.push(&quot;}else{&quot;),_.push(&quot;while(true){&quot;),p(&quot;comp&quot;,&quot;great&quot;,1),_.push(&quot;if(comp&gt;0){&quot;),_.push(&quot;great--&quot;),_.push(&quot;}else if(comp&lt;0){&quot;),g(&quot;k&quot;,&quot;less&quot;,&quot;great&quot;),_.push(&quot;break&quot;),_.push(&quot;}else{&quot;),v(&quot;k&quot;,&quot;great&quot;),_.push(&quot;break&quot;),_.push(&quot;}&quot;),_.push(&quot;}&quot;),_.push(&quot;}&quot;),_.push(&quot;}&quot;),_.push(&quot;}else{&quot;),_.push(&quot;for(k=less;k&lt;=great;++k){&quot;),p(&quot;comp_pivot1&quot;,&quot;k&quot;,1),_.push(&quot;if(comp_pivot1&lt;0){&quot;),_.push(&quot;if(k!==less){&quot;),m(&quot;k&quot;,&quot;less&quot;),_.push(&quot;}&quot;),_.push(&quot;++less&quot;),_.push(&quot;}else{&quot;),p(&quot;comp_pivot2&quot;,&quot;k&quot;,2),_.push(&quot;if(comp_pivot2&gt;0){&quot;),_.push(&quot;while(true){&quot;),p(&quot;comp&quot;,&quot;great&quot;,2),_.push(&quot;if(comp&gt;0){&quot;),_.push(&quot;if(--great&lt;k){break}&quot;),_.push(&quot;continue&quot;),_.push(&quot;}else{&quot;),p(&quot;comp&quot;,&quot;great&quot;,1),_.push(&quot;if(comp&lt;0){&quot;),g(&quot;k&quot;,&quot;less&quot;,&quot;great&quot;),_.push(&quot;}else{&quot;),v(&quot;k&quot;,&quot;great&quot;),_.push(&quot;}&quot;),_.push(&quot;break&quot;),_.push(&quot;}&quot;),_.push(&quot;}&quot;),_.push(&quot;}&quot;),_.push(&quot;}&quot;),_.push(&quot;}&quot;),_.push(&quot;}&quot;),y(&quot;left&quot;,&quot;(less-1)&quot;,1),y(&quot;right&quot;,&quot;(great+1)&quot;,2),x(&quot;left&quot;,&quot;(less-2)&quot;),x(&quot;(great+2)&quot;,&quot;right&quot;),_.push(&quot;if(pivots_are_equal){&quot;),f(),_.push(&quot;return&quot;),_.push(&quot;}&quot;),_.push(&quot;if(less&lt;index1&amp;&amp;great&gt;index5){&quot;),b(&quot;less&quot;,1,&quot;++less&quot;),b(&quot;great&quot;,2,&quot;--great&quot;),_.push(&quot;for(k=less;k&lt;=great;++k){&quot;),p(&quot;comp_pivot1&quot;,&quot;k&quot;,1),_.push(&quot;if(comp_pivot1===0){&quot;),_.push(&quot;if(k!==less){&quot;),m(&quot;k&quot;,&quot;less&quot;),_.push(&quot;}&quot;),_.push(&quot;++less&quot;),_.push(&quot;}else{&quot;),p(&quot;comp_pivot2&quot;,&quot;k&quot;,2),_.push(&quot;if(comp_pivot2===0){&quot;),_.push(&quot;while(true){&quot;),p(&quot;comp&quot;,&quot;great&quot;,2),_.push(&quot;if(comp===0){&quot;),_.push(&quot;if(--great&lt;k){break}&quot;),_.push(&quot;continue&quot;),_.push(&quot;}else{&quot;),p(&quot;comp&quot;,&quot;great&quot;,1),_.push(&quot;if(comp&lt;0){&quot;),g(&quot;k&quot;,&quot;less&quot;,&quot;great&quot;),_.push(&quot;}else{&quot;),v(&quot;k&quot;,&quot;great&quot;),_.push(&quot;}&quot;),_.push(&quot;break&quot;),_.push(&quot;}&quot;),_.push(&quot;}&quot;),_.push(&quot;}&quot;),_.push(&quot;}&quot;),_.push(&quot;}&quot;),_.push(&quot;}&quot;),f(),x(&quot;less&quot;,&quot;great&quot;),_.push(&quot;}return &quot;+w),t.length&gt;1&amp;&amp;k?new Function(&quot;insertionSort&quot;,&quot;malloc&quot;,&quot;free&quot;,_.join(&quot;\n&quot;))(r,k[0],k[1]):new Function(&quot;insertionSort&quot;,_.join(&quot;\n&quot;))(r)}(t,e,v))}},{&quot;typedarray-pool&quot;:554}],456:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;./lib/compile_sort.js&quot;),i={};e.exports=function(t){var e=t.order,r=t.dtype,a=[e,r].join(&quot;:&quot;),o=i[a];return o||(i[a]=o=n(e,r)),o(t),t}},{&quot;./lib/compile_sort.js&quot;:455}],457:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;ndarray-linear-interpolate&quot;),i=t(&quot;cwise/lib/wrapper&quot;)({args:[&quot;index&quot;,&quot;array&quot;,&quot;scalar&quot;,&quot;scalar&quot;,&quot;scalar&quot;],pre:{body:&quot;{this_warped=new Array(_inline_9_arg4_)}&quot;,args:[{name:&quot;_inline_9_arg0_&quot;,lvalue:!1,rvalue:!1,count:0},{name:&quot;_inline_9_arg1_&quot;,lvalue:!1,rvalue:!1,count:0},{name:&quot;_inline_9_arg2_&quot;,lvalue:!1,rvalue:!1,count:0},{name:&quot;_inline_9_arg3_&quot;,lvalue:!1,rvalue:!1,count:0},{name:&quot;_inline_9_arg4_&quot;,lvalue:!1,rvalue:!0,count:1}],thisVars:[&quot;this_warped&quot;],localVars:[]},body:{body:&quot;{_inline_10_arg2_(this_warped,_inline_10_arg0_),_inline_10_arg1_=_inline_10_arg3_.apply(void 0,this_warped)}&quot;,args:[{name:&quot;_inline_10_arg0_&quot;,lvalue:!1,rvalue:!0,count:1},{name:&quot;_inline_10_arg1_&quot;,lvalue:!0,rvalue:!1,count:1},{name:&quot;_inline_10_arg2_&quot;,lvalue:!1,rvalue:!0,count:1},{name:&quot;_inline_10_arg3_&quot;,lvalue:!1,rvalue:!0,count:1},{name:&quot;_inline_10_arg4_&quot;,lvalue:!1,rvalue:!1,count:0}],thisVars:[&quot;this_warped&quot;],localVars:[]},post:{body:&quot;{}&quot;,args:[],thisVars:[],localVars:[]},debug:!1,funcName:&quot;warpND&quot;,blockSize:64}),a=t(&quot;cwise/lib/wrapper&quot;)({args:[&quot;index&quot;,&quot;array&quot;,&quot;scalar&quot;,&quot;scalar&quot;,&quot;scalar&quot;],pre:{body:&quot;{this_warped=[0]}&quot;,args:[],thisVars:[&quot;this_warped&quot;],localVars:[]},body:{body:&quot;{_inline_13_arg2_(this_warped,_inline_13_arg0_),_inline_13_arg1_=_inline_13_arg3_(_inline_13_arg4_,this_warped[0])}&quot;,args:[{name:&quot;_inline_13_arg0_&quot;,lvalue:!1,rvalue:!0,count:1},{name:&quot;_inline_13_arg1_&quot;,lvalue:!0,rvalue:!1,count:1},{name:&quot;_inline_13_arg2_&quot;,lvalue:!1,rvalue:!0,count:1},{name:&quot;_inline_13_arg3_&quot;,lvalue:!1,rvalue:!0,count:1},{name:&quot;_inline_13_arg4_&quot;,lvalue:!1,rvalue:!0,count:1}],thisVars:[&quot;this_warped&quot;],localVars:[]},post:{body:&quot;{}&quot;,args:[],thisVars:[],localVars:[]},debug:!1,funcName:&quot;warp1D&quot;,blockSize:64}),o=t(&quot;cwise/lib/wrapper&quot;)({args:[&quot;index&quot;,&quot;array&quot;,&quot;scalar&quot;,&quot;scalar&quot;,&quot;scalar&quot;],pre:{body:&quot;{this_warped=[0,0]}&quot;,args:[],thisVars:[&quot;this_warped&quot;],localVars:[]},body:{body:&quot;{_inline_16_arg2_(this_warped,_inline_16_arg0_),_inline_16_arg1_=_inline_16_arg3_(_inline_16_arg4_,this_warped[0],this_warped[1])}&quot;,args:[{name:&quot;_inline_16_arg0_&quot;,lvalue:!1,rvalue:!0,count:1},{name:&quot;_inline_16_arg1_&quot;,lvalue:!0,rvalue:!1,count:1},{name:&quot;_inline_16_arg2_&quot;,lvalue:!1,rvalue:!0,count:1},{name:&quot;_inline_16_arg3_&quot;,lvalue:!1,rvalue:!0,count:1},{name:&quot;_inline_16_arg4_&quot;,lvalue:!1,rvalue:!0,count:1}],thisVars:[&quot;this_warped&quot;],localVars:[]},post:{body:&quot;{}&quot;,args:[],thisVars:[],localVars:[]},debug:!1,funcName:&quot;warp2D&quot;,blockSize:64}),s=t(&quot;cwise/lib/wrapper&quot;)({args:[&quot;index&quot;,&quot;array&quot;,&quot;scalar&quot;,&quot;scalar&quot;,&quot;scalar&quot;],pre:{body:&quot;{this_warped=[0,0,0]}&quot;,args:[],thisVars:[&quot;this_warped&quot;],localVars:[]},body:{body:&quot;{_inline_19_arg2_(this_warped,_inline_19_arg0_),_inline_19_arg1_=_inline_19_arg3_(_inline_19_arg4_,this_warped[0],this_warped[1],this_warped[2])}&quot;,args:[{name:&quot;_inline_19_arg0_&quot;,lvalue:!1,rvalue:!0,count:1},{name:&quot;_inline_19_arg1_&quot;,lvalue:!0,rvalue:!1,count:1},{name:&quot;_inline_19_arg2_&quot;,lvalue:!1,rvalue:!0,count:1},{name:&quot;_inline_19_arg3_&quot;,lvalue:!1,rvalue:!0,count:1},{name:&quot;_inline_19_arg4_&quot;,lvalue:!1,rvalue:!0,count:1}],thisVars:[&quot;this_warped&quot;],localVars:[]},post:{body:&quot;{}&quot;,args:[],thisVars:[],localVars:[]},debug:!1,funcName:&quot;warp3D&quot;,blockSize:64});e.exports=function(t,e,r){switch(e.shape.length){case 1:a(t,r,n.d1,e);break;case 2:o(t,r,n.d2,e);break;case 3:s(t,r,n.d3,e);break;default:i(t,r,n.bind(void 0,e),e.shape.length)}return t}},{&quot;cwise/lib/wrapper&quot;:119,&quot;ndarray-linear-interpolate&quot;:451}],458:[function(t,e,r){function n(t,e){return t[0]-e[0]}function i(){var t,e=this.stride,r=new Array(e.length);for(t=0;t&lt;r.length;++t)r[t]=[Math.abs(e[t]),t];r.sort(n);var i=new Array(r.length);for(t=0;t&lt;i.length;++t)i[t]=r[t][1];return i}function a(t,e){var r=[&quot;View&quot;,e,&quot;d&quot;,t].join(&quot;&quot;);e&lt;0&amp;&amp;(r=&quot;View_Nil&quot;+t);var n=&quot;generic&quot;===t;if(-1===e){var a=&quot;function &quot;+r+&quot;(a){this.data=a;};var proto=&quot;+r+&quot;.prototype;proto.dtype='&quot;+t+&quot;';proto.index=function(){return -1};proto.size=0;proto.dimension=-1;proto.shape=proto.stride=proto.order=[];proto.lo=proto.hi=proto.transpose=proto.step=function(){return new &quot;+r+&quot;(this.data);};proto.get=proto.set=function(){};proto.pick=function(){return null};return function construct_&quot;+r+&quot;(a){return new &quot;+r+&quot;(a);}&quot;;return new Function(a)()}if(0===e){a=&quot;function &quot;+r+&quot;(a,d) {this.data = a;this.offset = d};var proto=&quot;+r+&quot;.prototype;proto.dtype='&quot;+t+&quot;';proto.index=function(){return this.offset};proto.dimension=0;proto.size=1;proto.shape=proto.stride=proto.order=[];proto.lo=proto.hi=proto.transpose=proto.step=function &quot;+r+&quot;_copy() {return new &quot;+r+&quot;(this.data,this.offset)};proto.pick=function &quot;+r+&quot;_pick(){return TrivialArray(this.data);};proto.valueOf=proto.get=function &quot;+r+&quot;_get(){return &quot;+(n?&quot;this.data.get(this.offset)&quot;:&quot;this.data[this.offset]&quot;)+&quot;};proto.set=function &quot;+r+&quot;_set(v){return &quot;+(n?&quot;this.data.set(this.offset,v)&quot;:&quot;this.data[this.offset]=v&quot;)+&quot;};return function construct_&quot;+r+&quot;(a,b,c,d){return new &quot;+r+&quot;(a,d)}&quot;;return new Function(&quot;TrivialArray&quot;,a)(c[t][0])}a=[&quot;'use strict'&quot;];var s=o(e),l=s.map(function(t){return&quot;i&quot;+t}),u=&quot;this.offset+&quot;+s.map(function(t){return&quot;this.stride[&quot;+t+&quot;]*i&quot;+t}).join(&quot;+&quot;),f=s.map(function(t){return&quot;b&quot;+t}).join(&quot;,&quot;),h=s.map(function(t){return&quot;c&quot;+t}).join(&quot;,&quot;);a.push(&quot;function &quot;+r+&quot;(a,&quot;+f+&quot;,&quot;+h+&quot;,d){this.data=a&quot;,&quot;this.shape=[&quot;+f+&quot;]&quot;,&quot;this.stride=[&quot;+h+&quot;]&quot;,&quot;this.offset=d|0}&quot;,&quot;var proto=&quot;+r+&quot;.prototype&quot;,&quot;proto.dtype='&quot;+t+&quot;'&quot;,&quot;proto.dimension=&quot;+e),a.push(&quot;Object.defineProperty(proto,'size',{get:function &quot;+r+&quot;_size(){return &quot;+s.map(function(t){return&quot;this.shape[&quot;+t+&quot;]&quot;}).join(&quot;*&quot;),&quot;}})&quot;),1===e?a.push(&quot;proto.order=[0]&quot;):(a.push(&quot;Object.defineProperty(proto,'order',{get:&quot;),e&lt;4?(a.push(&quot;function &quot;+r+&quot;_order(){&quot;),2===e?a.push(&quot;return (Math.abs(this.stride[0])&gt;Math.abs(this.stride[1]))?[1,0]:[0,1]}})&quot;):3===e&amp;&amp;a.push(&quot;var s0=Math.abs(this.stride[0]),s1=Math.abs(this.stride[1]),s2=Math.abs(this.stride[2]);if(s0&gt;s1){if(s1&gt;s2){return [2,1,0];}else if(s0&gt;s2){return [1,2,0];}else{return [1,0,2];}}else if(s0&gt;s2){return [2,0,1];}else if(s2&gt;s1){return [0,1,2];}else{return [0,2,1];}}})&quot;)):a.push(&quot;ORDER})&quot;)),a.push(&quot;proto.set=function &quot;+r+&quot;_set(&quot;+l.join(&quot;,&quot;)+&quot;,v){&quot;),n?a.push(&quot;return this.data.set(&quot;+u+&quot;,v)}&quot;):a.push(&quot;return this.data[&quot;+u+&quot;]=v}&quot;),a.push(&quot;proto.get=function &quot;+r+&quot;_get(&quot;+l.join(&quot;,&quot;)+&quot;){&quot;),n?a.push(&quot;return this.data.get(&quot;+u+&quot;)}&quot;):a.push(&quot;return this.data[&quot;+u+&quot;]}&quot;),a.push(&quot;proto.index=function &quot;+r+&quot;_index(&quot;,l.join(),&quot;){return &quot;+u+&quot;}&quot;),a.push(&quot;proto.hi=function &quot;+r+&quot;_hi(&quot;+l.join(&quot;,&quot;)+&quot;){return new &quot;+r+&quot;(this.data,&quot;+s.map(function(t){return[&quot;(typeof i&quot;,t,&quot;!=='number'||i&quot;,t,&quot;&lt;0)?this.shape[&quot;,t,&quot;]:i&quot;,t,&quot;|0&quot;].join(&quot;&quot;)}).join(&quot;,&quot;)+&quot;,&quot;+s.map(function(t){return&quot;this.stride[&quot;+t+&quot;]&quot;}).join(&quot;,&quot;)+&quot;,this.offset)}&quot;);var d=s.map(function(t){return&quot;a&quot;+t+&quot;=this.shape[&quot;+t+&quot;]&quot;}),p=s.map(function(t){return&quot;c&quot;+t+&quot;=this.stride[&quot;+t+&quot;]&quot;});a.push(&quot;proto.lo=function &quot;+r+&quot;_lo(&quot;+l.join(&quot;,&quot;)+&quot;){var b=this.offset,d=0,&quot;+d.join(&quot;,&quot;)+&quot;,&quot;+p.join(&quot;,&quot;));for(var m=0;m&lt;e;++m)a.push(&quot;if(typeof i&quot;+m+&quot;==='number'&amp;&amp;i&quot;+m+&quot;&gt;=0){d=i&quot;+m+&quot;|0;b+=c&quot;+m+&quot;*d;a&quot;+m+&quot;-=d}&quot;);a.push(&quot;return new &quot;+r+&quot;(this.data,&quot;+s.map(function(t){return&quot;a&quot;+t}).join(&quot;,&quot;)+&quot;,&quot;+s.map(function(t){return&quot;c&quot;+t}).join(&quot;,&quot;)+&quot;,b)}&quot;),a.push(&quot;proto.step=function &quot;+r+&quot;_step(&quot;+l.join(&quot;,&quot;)+&quot;){var &quot;+s.map(function(t){return&quot;a&quot;+t+&quot;=this.shape[&quot;+t+&quot;]&quot;}).join(&quot;,&quot;)+&quot;,&quot;+s.map(function(t){return&quot;b&quot;+t+&quot;=this.stride[&quot;+t+&quot;]&quot;}).join(&quot;,&quot;)+&quot;,c=this.offset,d=0,ceil=Math.ceil&quot;);for(m=0;m&lt;e;++m)a.push(&quot;if(typeof i&quot;+m+&quot;==='number'){d=i&quot;+m+&quot;|0;if(d&lt;0){c+=b&quot;+m+&quot;*(a&quot;+m+&quot;-1);a&quot;+m+&quot;=ceil(-a&quot;+m+&quot;/d)}else{a&quot;+m+&quot;=ceil(a&quot;+m+&quot;/d)}b&quot;+m+&quot;*=d}&quot;);a.push(&quot;return new &quot;+r+&quot;(this.data,&quot;+s.map(function(t){return&quot;a&quot;+t}).join(&quot;,&quot;)+&quot;,&quot;+s.map(function(t){return&quot;b&quot;+t}).join(&quot;,&quot;)+&quot;,c)}&quot;);var g=new Array(e),v=new Array(e);for(m=0;m&lt;e;++m)g[m]=&quot;a[i&quot;+m+&quot;]&quot;,v[m]=&quot;b[i&quot;+m+&quot;]&quot;;a.push(&quot;proto.transpose=function &quot;+r+&quot;_transpose(&quot;+l+&quot;){&quot;+l.map(function(t,e){return t+&quot;=(&quot;+t+&quot;===undefined?&quot;+e+&quot;:&quot;+t+&quot;|0)&quot;}).join(&quot;;&quot;),&quot;var a=this.shape,b=this.stride;return new &quot;+r+&quot;(this.data,&quot;+g.join(&quot;,&quot;)+&quot;,&quot;+v.join(&quot;,&quot;)+&quot;,this.offset)}&quot;),a.push(&quot;proto.pick=function &quot;+r+&quot;_pick(&quot;+l+&quot;){var a=[],b=[],c=this.offset&quot;);for(m=0;m&lt;e;++m)a.push(&quot;if(typeof i&quot;+m+&quot;==='number'&amp;&amp;i&quot;+m+&quot;&gt;=0){c=(c+this.stride[&quot;+m+&quot;]*i&quot;+m+&quot;)|0}else{a.push(this.shape[&quot;+m+&quot;]);b.push(this.stride[&quot;+m+&quot;])}&quot;);a.push(&quot;var ctor=CTOR_LIST[a.length+1];return ctor(this.data,a,b,c)}&quot;),a.push(&quot;return function construct_&quot;+r+&quot;(data,shape,stride,offset){return new &quot;+r+&quot;(data,&quot;+s.map(function(t){return&quot;shape[&quot;+t+&quot;]&quot;}).join(&quot;,&quot;)+&quot;,&quot;+s.map(function(t){return&quot;stride[&quot;+t+&quot;]&quot;}).join(&quot;,&quot;)+&quot;,offset)}&quot;);return new Function(&quot;CTOR_LIST&quot;,&quot;ORDER&quot;,a.join(&quot;\n&quot;))(c[t],i)}var o=t(&quot;iota-array&quot;),s=t(&quot;is-buffer&quot;),l=&quot;undefined&quot;!=typeof Float64Array,c={float32:[],float64:[],int8:[],int16:[],int32:[],uint8:[],uint16:[],uint32:[],array:[],uint8_clamped:[],buffer:[],generic:[]};e.exports=function(t,e,r,n){if(void 0===t)return(0,c.array[0])([]);&quot;number&quot;==typeof t&amp;&amp;(t=[t]),void 0===e&amp;&amp;(e=[t.length]);var i=e.length;if(void 0===r){r=new Array(i);for(var o=i-1,u=1;o&gt;=0;--o)r[o]=u,u*=e[o]}if(void 0===n)for(n=0,o=0;o&lt;i;++o)r[o]&lt;0&amp;&amp;(n-=(e[o]-1)*r[o]);for(var f=function(t){if(s(t))return&quot;buffer&quot;;if(l)switch(Object.prototype.toString.call(t)){case&quot;[object Float64Array]&quot;:return&quot;float64&quot;;case&quot;[object Float32Array]&quot;:return&quot;float32&quot;;case&quot;[object Int8Array]&quot;:return&quot;int8&quot;;case&quot;[object Int16Array]&quot;:return&quot;int16&quot;;case&quot;[object Int32Array]&quot;:return&quot;int32&quot;;case&quot;[object Uint8Array]&quot;:return&quot;uint8&quot;;case&quot;[object Uint16Array]&quot;:return&quot;uint16&quot;;case&quot;[object Uint32Array]&quot;:return&quot;uint32&quot;;case&quot;[object Uint8ClampedArray]&quot;:return&quot;uint8_clamped&quot;}return Array.isArray(t)?&quot;array&quot;:&quot;generic&quot;}(t),h=c[f];h.length&lt;=i+1;)h.push(a(f,h.length-1));return(0,h[i+1])(t,e,r,n)}},{&quot;iota-array&quot;:281,&quot;is-buffer&quot;:283}],459:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;double-bits&quot;),i=Math.pow(2,-1074),a=-1&gt;&gt;&gt;0;e.exports=function(t,e){if(isNaN(t)||isNaN(e))return NaN;if(t===e)return t;if(0===t)return e&lt;0?-i:i;var r=n.hi(t),o=n.lo(t);return e&gt;t==t&gt;0?o===a?(r+=1,o=0):o+=1:0===o?(o=a,r-=1):o-=1,n.pack(o,r)}},{&quot;double-bits&quot;:131}],460:[function(t,e,r){function n(t,e,r,n){return[&quot;C&quot;,t,e,r,n,r,n]}function i(t,e,r,n,i,a){return[&quot;C&quot;,t/3+2/3*r,e/3+2/3*n,i/3+2/3*r,a/3+2/3*n,i,a]}function a(t,e,r,n,i,s,u,f,h,d){if(d)M=d[0],k=d[1],_=d[2],w=d[3];else{var p=o(t,e,-i);t=p.x,e=p.y;var m=(t-(f=(p=o(f,h,-i)).x))/2,g=(e-(h=p.y))/2,v=m*m/(r*r)+g*g/(n*n);v&gt;1&amp;&amp;(r*=v=Math.sqrt(v),n*=v);var y=r*r,x=n*n,b=(s==u?-1:1)*Math.sqrt(Math.abs((y*x-y*g*g-x*m*m)/(y*g*g+x*m*m)));b==1/0&amp;&amp;(b=1);var _=b*r*g/n+(t+f)/2,w=b*-n*m/r+(e+h)/2,M=Math.asin(((e-w)/n).toFixed(9)),k=Math.asin(((h-w)/n).toFixed(9));M=t&lt;_?l-M:M,k=f&lt;_?l-k:k,M&lt;0&amp;&amp;(M=2*l+M),k&lt;0&amp;&amp;(k=2*l+k),u&amp;&amp;M&gt;k&amp;&amp;(M-=2*l),!u&amp;&amp;k&gt;M&amp;&amp;(k-=2*l)}if(Math.abs(k-M)&gt;c){var A=k,T=f,S=h;k=M+c*(u&amp;&amp;k&gt;M?1:-1);var E=a(f=_+r*Math.cos(k),h=w+n*Math.sin(k),r,n,i,0,u,T,S,[k,A,_,w])}var L=Math.tan((k-M)/4),C=4/3*r*L,z=4/3*n*L,D=[2*t-(t+C*Math.sin(M)),2*e-(e-z*Math.cos(M)),f+C*Math.sin(k),h-z*Math.cos(k),f,h];if(d)return D;E&amp;&amp;(D=D.concat(E));for(var I=0;I&lt;D.length;){var P=o(D[I],D[I+1],i);D[I++]=P.x,D[I++]=P.y}return D}function o(t,e,r){return{x:t*Math.cos(r)-e*Math.sin(r),y:t*Math.sin(r)+e*Math.cos(r)}}function s(t){return t*(l/180)}var l=Math.PI,c=s(120);e.exports=function(t){for(var e,r=[],o=0,l=0,c=0,u=0,f=null,h=null,d=0,p=0,m=0,g=t.length;m&lt;g;m++){var v=t[m],y=v[0];switch(y){case&quot;M&quot;:c=v[1],u=v[2];break;case&quot;A&quot;:(v=a(d,p,v[1],v[2],s(v[3]),v[4],v[5],v[6],v[7])).unshift(&quot;C&quot;),v.length&gt;7&amp;&amp;(r.push(v.splice(0,7)),v.unshift(&quot;C&quot;));break;case&quot;S&quot;:var x=d,b=p;&quot;C&quot;!=e&amp;&amp;&quot;S&quot;!=e||(x+=x-o,b+=b-l),v=[&quot;C&quot;,x,b,v[1],v[2],v[3],v[4]];break;case&quot;T&quot;:&quot;Q&quot;==e||&quot;T&quot;==e?(f=2*d-f,h=2*p-h):(f=d,h=p),v=i(d,p,f,h,v[1],v[2]);break;case&quot;Q&quot;:f=v[1],h=v[2],v=i(d,p,v[1],v[2],v[3],v[4]);break;case&quot;L&quot;:v=n(d,p,v[1],v[2]);break;case&quot;H&quot;:v=n(d,p,v[1],p);break;case&quot;V&quot;:v=n(d,p,d,v[1]);break;case&quot;Z&quot;:v=n(d,p,c,u)}e=y,d=v[v.length-2],p=v[v.length-1],v.length&gt;4?(o=v[v.length-4],l=v[v.length-3]):(o=d,l=p),r.push(v)}return r}},{}],461:[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&lt;n;++o)i[o]=[0,0,0];for(o=0;o&lt;t.length;++o)for(var s=t[o],l=0,c=s[s.length-1],u=s[0],f=0;f&lt;s.length;++f){l=c,c=u,u=s[(f+1)%s.length];for(var h=e[l],d=e[c],p=e[u],m=new Array(3),g=0,v=new Array(3),y=0,x=0;x&lt;3;++x)m[x]=h[x]-d[x],g+=m[x]*m[x],v[x]=p[x]-d[x],y+=v[x]*v[x];if(g*y&gt;a){var b=i[c],_=1/Math.sqrt(g*y);for(x=0;x&lt;3;++x){var w=(x+1)%3,M=(x+2)%3;b[x]+=_*(v[w]*m[M]-v[M]*m[w])}}}for(o=0;o&lt;n;++o){b=i[o];var k=0;for(x=0;x&lt;3;++x)k+=b[x]*b[x];if(k&gt;a)for(_=1/Math.sqrt(k),x=0;x&lt;3;++x)b[x]*=_;else for(x=0;x&lt;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&lt;n;++o){for(var s=t[o],l=new Array(3),c=0;c&lt;3;++c)l[c]=e[s[c]];var u=new Array(3),f=new Array(3);for(c=0;c&lt;3;++c)u[c]=l[1][c]-l[0][c],f[c]=l[2][c]-l[0][c];var h=new Array(3),d=0;for(c=0;c&lt;3;++c){var p=(c+1)%3,m=(c+2)%3;h[c]=u[p]*f[m]-u[m]*f[p],d+=h[c]*h[c]}d=d&gt;a?1/Math.sqrt(d):0;for(c=0;c&lt;3;++c)h[c]*=d;i[o]=h}return i}},{}],462:[function(t,e,r){&quot;use strict&quot;;var n=Object.getOwnPropertySymbols,i=Object.prototype.hasOwnProperty,a=Object.prototype.propertyIsEnumerable;e.exports=function(){try{if(!Object.assign)return!1;var t=new String(&quot;abc&quot;);if(t[5]=&quot;de&quot;,&quot;5&quot;===Object.getOwnPropertyNames(t)[0])return!1;for(var e={},r=0;r&lt;10;r++)e[&quot;_&quot;+String.fromCharCode(r)]=r;if(&quot;0123456789&quot;!==Object.getOwnPropertyNames(e).map(function(t){return e[t]}).join(&quot;&quot;))return!1;var n={};return&quot;abcdefghijklmnopqrst&quot;.split(&quot;&quot;).forEach(function(t){n[t]=t}),&quot;abcdefghijklmnopqrst&quot;===Object.keys(Object.assign({},n)).join(&quot;&quot;)}catch(t){return!1}}()?Object.assign:function(t,e){for(var r,o,s=function(t){if(null===t||void 0===t)throw new TypeError(&quot;Object.assign cannot be called with null or undefined&quot;);return Object(t)}(t),l=1;l&lt;arguments.length;l++){r=Object(arguments[l]);for(var c in r)i.call(r,c)&amp;&amp;(s[c]=r[c]);if(n){o=n(r);for(var u=0;u&lt;o.length;u++)a.call(r,o[u])&amp;&amp;(s[o[u]]=r[o[u]])}}return s}},{}],463:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t,e,r,n,i,a,o,s,l,c){var u=e+a+c;if(f&gt;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&gt;=h?(t[0]=.5*f,t[1]=.5*(i+r)/f,t[2]=.5*(s+n)/f,t[3]=.5*(o-l)/f):a&gt;=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}},{}],464:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r){return Math.sqrt(Math.pow(t,2)+Math.pow(e,2)+Math.pow(r,2))}function i(t,e,r,n){return Math.sqrt(Math.pow(t,2)+Math.pow(e,2)+Math.pow(r,2)+Math.pow(n,2))}function a(t,e){var r=e[0],n=e[1],a=e[2],o=e[3],s=i(r,n,a,o);s&gt;1e-6?(t[0]=r/s,t[1]=n/s,t[2]=a/s,t[3]=o/s):(t[0]=t[1]=t[2]=0,t[3]=1)}function o(t,e,r){this.radius=s([r]),this.center=s(e),this.rotation=s(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)}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),a(r=[].slice.call(r,0,4),r);var i=new o(r,e,Math.log(n));return i.setDistanceLimits(t.zoomMin,t.zoomMax),(&quot;eye&quot;in t||&quot;up&quot;in t)&amp;&amp;i.lookAt(0,t.eye,t.center,t.up),i};var s=t(&quot;filtered-vector&quot;),l=t(&quot;gl-mat4/lookAt&quot;),c=t(&quot;gl-mat4/fromQuat&quot;),u=t(&quot;gl-mat4/invert&quot;),f=t(&quot;./lib/quatFromFrame&quot;),h=o.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;a(e,e);var r=this.computedMatrix;c(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&lt;3;++l){for(var u=0,f=0;f&lt;3;++f)u+=r[l+4*f]*i[f];r[12+l]=-u}},h.getMatrix=function(t,e){this.recalcMatrix(t);var r=this.computedMatrix;if(e){for(var n=0;n&lt;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,i){e=e||0,r=r||0,i=i||0,this.recalcMatrix(t);var a=this.computedMatrix,o=a[1],s=a[5],l=a[9],c=n(o,s,l);o/=c,s/=c,l/=c;var u=a[0],f=a[4],h=a[8],d=u*o+f*s+h*l,p=n(u-=o*d,f-=s*d,h-=l*d);u/=p,f/=p,h/=p;var m=a[2],g=a[6],v=a[10],y=m*o+g*s+v*l,x=m*u+g*f+v*h,b=n(m-=y*o+x*u,g-=y*s+x*f,v-=y*l+x*h);m/=b,g/=b,v/=b;var _=u*e+o*r,w=f*e+s*r,M=h*e+l*r;this.center.move(t,_,w,M);var k=Math.exp(this.computedRadius[0]);k=Math.max(1e-4,k+i),this.radius.set(t,Math.log(k))},h.rotate=function(t,e,r,a){this.recalcMatrix(t),e=e||0,r=r||0;var o=this.computedMatrix,s=o[0],l=o[4],c=o[8],u=o[1],f=o[5],h=o[9],d=o[2],p=o[6],m=o[10],g=e*s+r*u,v=e*l+r*f,y=e*c+r*h,x=-(p*y-m*v),b=-(m*g-d*y),_=-(d*v-p*g),w=Math.sqrt(Math.max(0,1-Math.pow(x,2)-Math.pow(b,2)-Math.pow(_,2))),M=i(x,b,_,w);M&gt;1e-6?(x/=M,b/=M,_/=M,w/=M):(x=b=_=0,w=1);var k=this.computedRotation,A=k[0],T=k[1],S=k[2],E=k[3],L=A*w+E*x+T*_-S*b,C=T*w+E*b+S*x-A*_,z=S*w+E*_+A*b-T*x,D=E*w-A*x-T*b-S*_;if(a){x=d,b=p,_=m;var I=Math.sin(a)/n(x,b,_);x*=I,b*=I,_*=I,D=D*(w=Math.cos(e))-(L=L*w+D*x+C*_-z*b)*x-(C=C*w+D*b+z*x-L*_)*b-(z=z*w+D*_+L*b-C*x)*_}var P=i(L,C,z,D);P&gt;1e-6?(L/=P,C/=P,z/=P,D/=P):(L=C=z=0,D=1),this.rotation.set(t,L,C,z,D)},h.lookAt=function(t,e,r,n){this.recalcMatrix(t),r=r||this.computedCenter,e=e||this.computedEye,n=n||this.computedUp;var i=this.computedMatrix;l(i,e,r,n);var o=this.computedRotation;f(o,i[0],i[1],i[2],i[4],i[5],i[6],i[8],i[9],i[10]),a(o,o),this.rotation.set(t,o[0],o[1],o[2],o[3]);for(var s=0,c=0;c&lt;3;++c)s+=Math.pow(r[c]-e[c],2);this.radius.set(t,.5*Math.log(Math.max(s,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;f(r,e[0],e[1],e[2],e[4],e[5],e[6],e[8],e[9],e[10]),a(r,r),this.rotation.set(t,r[0],r[1],r[2],r[3]);var n=this.computedMatrix;u(n,e);var i=n[15];if(Math.abs(i)&gt;1e-6){var o=n[12]/i,s=n[13]/i,l=n[14]/i;this.recalcMatrix(t);var c=Math.exp(this.computedRadius[0]);this.center.set(t,o-n[2]*c,s-n[6]*c,l-n[10]*c),this.radius.idle(t)}else this.center.idle(t),this.radius.idle(t)},h.setDistance=function(t,e){e&gt;0&amp;&amp;this.radius.set(t,Math.log(e))},h.setDistanceLimits=function(t,e){t=t&gt;0?Math.log(t):-1/0,e=e&gt;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&amp;&amp;this.center.set(e,r[0],r[1],r[2]);var n=t.rotation;n&amp;&amp;this.rotation.set(e,n[0],n[1],n[2],n[3]);var i=t.distance;i&amp;&amp;i&gt;0&amp;&amp;this.radius.set(e,Math.log(i)),this.setDistanceLimits(t.zoomMin,t.zoomMax)}},{&quot;./lib/quatFromFrame&quot;:463,&quot;filtered-vector&quot;:142,&quot;gl-mat4/fromQuat&quot;:183,&quot;gl-mat4/invert&quot;:186,&quot;gl-mat4/lookAt&quot;:187}],465:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;repeat-string&quot;);e.exports=function(t,e,r){return r=void 0!==r?r+&quot;&quot;:&quot; &quot;,n(r,e)+t}},{&quot;repeat-string&quot;:507}],466:[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),&quot;m&quot;==o&amp;&amp;i.length&gt;2&amp;&amp;(e.push([r].concat(i.splice(0,2))),o=&quot;l&quot;,r=&quot;m&quot;==r?&quot;l&quot;:&quot;L&quot;);;){if(i.length==n[o])return i.unshift(r),e.push(i);if(i.length&lt;n[o])throw new Error(&quot;malformed path data&quot;);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,a=/-?[0-9]*\.?[0-9]+(?:e[-+]?\d+)?/gi},{}],467:[function(t,e,r){e.exports=function(t,e){e||(e=[0,&quot;&quot;]),t=String(t);var r=parseFloat(t,10);return e[0]=r,e[1]=t.match(/[\d.\-\+]*\s*(.*)/)[1]||&quot;&quot;,e}},{}],468:[function(t,e,r){(function(t){function e(t,e){for(var r=0,n=t.length-1;n&gt;=0;n--){var i=t[n];&quot;.&quot;===i?t.splice(n,1):&quot;..&quot;===i?(t.splice(n,1),r++):r&amp;&amp;(t.splice(n,1),r--)}if(e)for(;r--;r)t.unshift(&quot;..&quot;);return t}function n(t,e){if(t.filter)return t.filter(e);for(var r=[],n=0;n&lt;t.length;n++)e(t[n],n,t)&amp;&amp;r.push(t[n]);return r}var i=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/,a=function(t){return i.exec(t).slice(1)};r.resolve=function(){for(var r=&quot;&quot;,i=!1,a=arguments.length-1;a&gt;=-1&amp;&amp;!i;a--){var o=a&gt;=0?arguments[a]:t.cwd();if(&quot;string&quot;!=typeof o)throw new TypeError(&quot;Arguments to path.resolve must be strings&quot;);o&amp;&amp;(r=o+&quot;/&quot;+r,i=&quot;/&quot;===o.charAt(0))}return r=e(n(r.split(&quot;/&quot;),function(t){return!!t}),!i).join(&quot;/&quot;),(i?&quot;/&quot;:&quot;&quot;)+r||&quot;.&quot;},r.normalize=function(t){var i=r.isAbsolute(t),a=&quot;/&quot;===o(t,-1);return(t=e(n(t.split(&quot;/&quot;),function(t){return!!t}),!i).join(&quot;/&quot;))||i||(t=&quot;.&quot;),t&amp;&amp;a&amp;&amp;(t+=&quot;/&quot;),(i?&quot;/&quot;:&quot;&quot;)+t},r.isAbsolute=function(t){return&quot;/&quot;===t.charAt(0)},r.join=function(){var t=Array.prototype.slice.call(arguments,0);return r.normalize(n(t,function(t,e){if(&quot;string&quot;!=typeof t)throw new TypeError(&quot;Arguments to path.join must be strings&quot;);return t}).join(&quot;/&quot;))},r.relative=function(t,e){function n(t){for(var e=0;e&lt;t.length&amp;&amp;&quot;&quot;===t[e];e++);for(var r=t.length-1;r&gt;=0&amp;&amp;&quot;&quot;===t[r];r--);return e&gt;r?[]:t.slice(e,r-e+1)}t=r.resolve(t).substr(1),e=r.resolve(e).substr(1);for(var i=n(t.split(&quot;/&quot;)),a=n(e.split(&quot;/&quot;)),o=Math.min(i.length,a.length),s=o,l=0;l&lt;o;l++)if(i[l]!==a[l]){s=l;break}var c=[];for(l=s;l&lt;i.length;l++)c.push(&quot;..&quot;);return(c=c.concat(a.slice(s))).join(&quot;/&quot;)},r.sep=&quot;/&quot;,r.delimiter=&quot;:&quot;,r.dirname=function(t){var e=a(t),r=e[0],n=e[1];return r||n?(n&amp;&amp;(n=n.substr(0,n.length-1)),r+n):&quot;.&quot;},r.basename=function(t,e){var r=a(t)[2];return e&amp;&amp;r.substr(-1*e.length)===e&amp;&amp;(r=r.substr(0,r.length-e.length)),r},r.extname=function(t){return a(t)[3]};var o=&quot;b&quot;===&quot;ab&quot;.substr(-1)?function(t,e,r){return t.substr(e,r)}:function(t,e,r){return e&lt;0&amp;&amp;(e=t.length+e),t.substr(e,r)}}).call(this,t(&quot;_process&quot;))},{_process:488}],469:[function(t,e,r){&quot;use strict&quot;;function n(t){var e;t&amp;&amp;t.length&amp;&amp;(t=(e=t).length);var r=new Uint8Array(t||0);return e&amp;&amp;r.set(e),r.readUInt32LE=a.readUInt32LE,r.writeUInt32LE=a.writeUInt32LE,r.readInt32LE=a.readInt32LE,r.writeInt32LE=a.writeInt32LE,r.readFloatLE=a.readFloatLE,r.writeFloatLE=a.writeFloatLE,r.readDoubleLE=a.readDoubleLE,r.writeDoubleLE=a.writeDoubleLE,r.toString=a.toString,r.write=a.write,r.slice=a.slice,r.copy=a.copy,r._isBuffer=!0,r}function i(t){for(var e,r,n=t.length,i=[],a=0;a&lt;n;a++){if((e=t.charCodeAt(a))&gt;55295&amp;&amp;e&lt;57344){if(!r){e&gt;56319||a+1===n?i.push(239,191,189):r=e;continue}if(e&lt;56320){i.push(239,191,189),r=e;continue}e=r-55296&lt;&lt;10|e-56320|65536,r=null}else r&amp;&amp;(i.push(239,191,189),r=null);e&lt;128?i.push(e):e&lt;2048?i.push(e&gt;&gt;6|192,63&amp;e|128):e&lt;65536?i.push(e&gt;&gt;12|224,e&gt;&gt;6&amp;63|128,63&amp;e|128):i.push(e&gt;&gt;18|240,e&gt;&gt;12&amp;63|128,e&gt;&gt;6&amp;63|128,63&amp;e|128)}return i}e.exports=n;var a,o,s,l=t(&quot;ieee754&quot;);(a={readUInt32LE:function(t){return(this[t]|this[t+1]&lt;&lt;8|this[t+2]&lt;&lt;16)+16777216*this[t+3]},writeUInt32LE:function(t,e){this[e]=t,this[e+1]=t&gt;&gt;&gt;8,this[e+2]=t&gt;&gt;&gt;16,this[e+3]=t&gt;&gt;&gt;24},readInt32LE:function(t){return(this[t]|this[t+1]&lt;&lt;8|this[t+2]&lt;&lt;16)+(this[t+3]&lt;&lt;24)},readFloatLE:function(t){return l.read(this,t,!0,23,4)},readDoubleLE:function(t){return l.read(this,t,!0,52,8)},writeFloatLE:function(t,e){return l.write(this,t,e,!0,23,4)},writeDoubleLE:function(t,e){return l.write(this,t,e,!0,52,8)},toString:function(t,e,r){var n=&quot;&quot;,i=&quot;&quot;;e=e||0,r=Math.min(this.length,r||this.length);for(var a=e;a&lt;r;a++){var o=this[a];o&lt;=127?(n+=decodeURIComponent(i)+String.fromCharCode(o),i=&quot;&quot;):i+=&quot;%&quot;+o.toString(16)}return n+=decodeURIComponent(i)},write:function(t,e){for(var r=t===o?s:i(t),n=0;n&lt;r.length;n++)this[e+n]=r[n]},slice:function(t,e){return this.subarray(t,e)},copy:function(t,e){e=e||0;for(var r=0;r&lt;this.length;r++)t[e+r]=this[r]}}).writeInt32LE=a.writeUInt32LE,n.byteLength=function(t){return o=t,(s=i(t)).length},n.isBuffer=function(t){return!(!t||!t._isBuffer)}},{ieee754:277}],470:[function(t,e,r){(function(r){&quot;use strict&quot;;function n(t){this.buf=d.isBuffer(t)?t:new d(t||0),this.pos=0,this.length=this.buf.length}function i(t,e){for(var r=0;r&lt;t.length;r++)e.writeVarint(t[r])}function a(t,e){for(var r=0;r&lt;t.length;r++)e.writeSVarint(t[r])}function o(t,e){for(var r=0;r&lt;t.length;r++)e.writeFloat(t[r])}function s(t,e){for(var r=0;r&lt;t.length;r++)e.writeDouble(t[r])}function l(t,e){for(var r=0;r&lt;t.length;r++)e.writeBoolean(t[r])}function c(t,e){for(var r=0;r&lt;t.length;r++)e.writeFixed32(t[r])}function u(t,e){for(var r=0;r&lt;t.length;r++)e.writeSFixed32(t[r])}function f(t,e){for(var r=0;r&lt;t.length;r++)e.writeFixed64(t[r])}function h(t,e){for(var r=0;r&lt;t.length;r++)e.writeSFixed64(t[r])}e.exports=n;var d=r.Buffer||t(&quot;./buffer&quot;);n.Varint=0,n.Fixed64=1,n.Bytes=2,n.Fixed32=5;var p=Math.pow(2,63);n.prototype={destroy:function(){this.buf=null},readFields:function(t,e,r){for(r=r||this.length;this.pos&lt;r;){var n=this.readVarint(),i=n&gt;&gt;3,a=this.pos;t(i,e,this),this.pos===a&amp;&amp;this.skip(n)}return e},readMessage:function(t,e){return this.readFields(t,e,this.readVarint()+this.pos)},readFixed32:function(){var t=this.buf.readUInt32LE(this.pos);return this.pos+=4,t},readSFixed32:function(){var t=this.buf.readInt32LE(this.pos);return this.pos+=4,t},readFixed64:function(){var t=this.buf.readUInt32LE(this.pos)+4294967296*this.buf.readUInt32LE(this.pos+4);return this.pos+=8,t},readSFixed64:function(){var t=this.buf.readUInt32LE(this.pos)+4294967296*this.buf.readInt32LE(this.pos+4);return this.pos+=8,t},readFloat:function(){var t=this.buf.readFloatLE(this.pos);return this.pos+=4,t},readDouble:function(){var t=this.buf.readDoubleLE(this.pos);return this.pos+=8,t},readVarint:function(){var t,e,r=this.buf;return e=r[this.pos++],t=127&amp;e,e&lt;128?t:(e=r[this.pos++],t|=(127&amp;e)&lt;&lt;7,e&lt;128?t:(e=r[this.pos++],t|=(127&amp;e)&lt;&lt;14,e&lt;128?t:(e=r[this.pos++],t|=(127&amp;e)&lt;&lt;21,e&lt;128?t:function(t,e){var r,n=e.buf;if(r=n[e.pos++],t+=268435456*(127&amp;r),r&lt;128)return t;if(r=n[e.pos++],t+=34359738368*(127&amp;r),r&lt;128)return t;if(r=n[e.pos++],t+=4398046511104*(127&amp;r),r&lt;128)return t;if(r=n[e.pos++],t+=562949953421312*(127&amp;r),r&lt;128)return t;if(r=n[e.pos++],t+=72057594037927940*(127&amp;r),r&lt;128)return t;if(r=n[e.pos++],t+=0x8000000000000000*(127&amp;r),r&lt;128)return t;throw new Error(&quot;Expected varint not more than 10 bytes&quot;)}(t,this))))},readVarint64:function(){var t=this.pos,e=this.readVarint();if(e&lt;p)return e;for(var r=this.pos-2;255===this.buf[r];)r--;r&lt;t&amp;&amp;(r=t),e=0;for(var n=0;n&lt;r-t+1;n++){var i=127&amp;~this.buf[t+n];e+=n&lt;4?i&lt;&lt;7*n:i*Math.pow(2,7*n)}return-e-1},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.buf.toString(&quot;utf8&quot;,this.pos,t);return this.pos=t,e},readBytes:function(){var t=this.readVarint()+this.pos,e=this.buf.slice(this.pos,t);return this.pos=t,e},readPackedVarint:function(){for(var t=this.readVarint()+this.pos,e=[];this.pos&lt;t;)e.push(this.readVarint());return e},readPackedSVarint:function(){for(var t=this.readVarint()+this.pos,e=[];this.pos&lt;t;)e.push(this.readSVarint());return e},readPackedBoolean:function(){for(var t=this.readVarint()+this.pos,e=[];this.pos&lt;t;)e.push(this.readBoolean());return e},readPackedFloat:function(){for(var t=this.readVarint()+this.pos,e=[];this.pos&lt;t;)e.push(this.readFloat());return e},readPackedDouble:function(){for(var t=this.readVarint()+this.pos,e=[];this.pos&lt;t;)e.push(this.readDouble());return e},readPackedFixed32:function(){for(var t=this.readVarint()+this.pos,e=[];this.pos&lt;t;)e.push(this.readFixed32());return e},readPackedSFixed32:function(){for(var t=this.readVarint()+this.pos,e=[];this.pos&lt;t;)e.push(this.readSFixed32());return e},readPackedFixed64:function(){for(var t=this.readVarint()+this.pos,e=[];this.pos&lt;t;)e.push(this.readFixed64());return e},readPackedSFixed64:function(){for(var t=this.readVarint()+this.pos,e=[];this.pos&lt;t;)e.push(this.readSFixed64());return e},skip:function(t){var e=7&amp;t;if(e===n.Varint)for(;this.buf[this.pos++]&gt;127;);else if(e===n.Bytes)this.pos=this.readVarint()+this.pos;else if(e===n.Fixed32)this.pos+=4;else{if(e!==n.Fixed64)throw new Error(&quot;Unimplemented type: &quot;+e);this.pos+=8}},writeTag:function(t,e){this.writeVarint(t&lt;&lt;3|e)},realloc:function(t){for(var e=this.length||16;e&lt;this.pos+t;)e*=2;if(e!==this.length){var r=new d(e);this.buf.copy(r),this.buf=r,this.length=e}},finish:function(){return this.length=this.pos,this.pos=0,this.buf.slice(0,this.length)},writeFixed32:function(t){this.realloc(4),this.buf.writeUInt32LE(t,this.pos),this.pos+=4},writeSFixed32:function(t){this.realloc(4),this.buf.writeInt32LE(t,this.pos),this.pos+=4},writeFixed64:function(t){this.realloc(8),this.buf.writeInt32LE(-1&amp;t,this.pos),this.buf.writeUInt32LE(Math.floor(t*(1/4294967296)),this.pos+4),this.pos+=8},writeSFixed64:function(t){this.realloc(8),this.buf.writeInt32LE(-1&amp;t,this.pos),this.buf.writeInt32LE(Math.floor(t*(1/4294967296)),this.pos+4),this.pos+=8},writeVarint:function(t){(t=+t)&gt;268435455?function(t,e){e.realloc(10);for(var r=e.pos+10;t&gt;=1;){if(e.pos&gt;=r)throw new Error(&quot;Given varint doesn't fit into 10 bytes&quot;);var n=255&amp;t;e.buf[e.pos++]=n|(t&gt;=128?128:0),t/=128}}(t,this):(this.realloc(4),this.buf[this.pos++]=127&amp;t|(t&gt;127?128:0),t&lt;=127||(this.buf[this.pos++]=127&amp;(t&gt;&gt;&gt;=7)|(t&gt;127?128:0),t&lt;=127||(this.buf[this.pos++]=127&amp;(t&gt;&gt;&gt;=7)|(t&gt;127?128:0),t&lt;=127||(this.buf[this.pos++]=t&gt;&gt;&gt;7&amp;127))))},writeSVarint:function(t){this.writeVarint(t&lt;0?2*-t-1:2*t)},writeBoolean:function(t){this.writeVarint(Boolean(t))},writeString:function(t){t=String(t);var e=d.byteLength(t);this.writeVarint(e),this.realloc(e),this.buf.write(t,this.pos),this.pos+=e},writeFloat:function(t){this.realloc(4),this.buf.writeFloatLE(t,this.pos),this.pos+=4},writeDouble:function(t){this.realloc(8),this.buf.writeDoubleLE(t,this.pos),this.pos+=8},writeBytes:function(t){var e=t.length;this.writeVarint(e),this.realloc(e);for(var r=0;r&lt;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&gt;=128&amp;&amp;function(t,e,r){var n=e&lt;=16383?1:e&lt;=2097151?2:e&lt;=268435455?3:Math.ceil(Math.log(e)/(7*Math.LN2));r.realloc(n);for(var i=r.pos-1;i&gt;=t;i--)r.buf[i+n]=r.buf[i]}(r,n,this),this.pos=r-1,this.writeVarint(n),this.pos+=n},writeMessage:function(t,e,r){this.writeTag(t,n.Bytes),this.writeRawMessage(e,r)},writePackedVarint:function(t,e){this.writeMessage(t,i,e)},writePackedSVarint:function(t,e){this.writeMessage(t,a,e)},writePackedBoolean:function(t,e){this.writeMessage(t,l,e)},writePackedFloat:function(t,e){this.writeMessage(t,o,e)},writePackedDouble:function(t,e){this.writeMessage(t,s,e)},writePackedFixed32:function(t,e){this.writeMessage(t,c,e)},writePackedSFixed32:function(t,e){this.writeMessage(t,u,e)},writePackedFixed64:function(t,e){this.writeMessage(t,f,e)},writePackedSFixed64:function(t,e){this.writeMessage(t,h,e)},writeBytesField:function(t,e){this.writeTag(t,n.Bytes),this.writeBytes(e)},writeFixed32Field:function(t,e){this.writeTag(t,n.Fixed32),this.writeFixed32(e)},writeSFixed32Field:function(t,e){this.writeTag(t,n.Fixed32),this.writeSFixed32(e)},writeFixed64Field:function(t,e){this.writeTag(t,n.Fixed64),this.writeFixed64(e)},writeSFixed64Field:function(t,e){this.writeTag(t,n.Fixed64),this.writeSFixed64(e)},writeVarintField:function(t,e){this.writeTag(t,n.Varint),this.writeVarint(e)},writeSVarintField:function(t,e){this.writeTag(t,n.Varint),this.writeSVarint(e)},writeStringField:function(t,e){this.writeTag(t,n.Bytes),this.writeString(e)},writeFloatField:function(t,e){this.writeTag(t,n.Fixed32),this.writeFloat(e)},writeDoubleField:function(t,e){this.writeTag(t,n.Fixed64),this.writeDouble(e)},writeBooleanField:function(t,e){this.writeVarintField(t,Boolean(e))}}}).call(this,&quot;undefined&quot;!=typeof global?global:&quot;undefined&quot;!=typeof self?self:&quot;undefined&quot;!=typeof window?window:{})},{&quot;./buffer&quot;:469}],471:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t){var e=t.length;if(e&lt;n){for(var r=1,a=0;a&lt;e;++a)for(var o=0;o&lt;a;++o)if(t[a]&lt;t[o])r=-r;else if(t[a]===t[o])return 0;return r}var s=i.mallocUint8(e);for(a=0;a&lt;e;++a)s[a]=0;for(r=1,a=0;a&lt;e;++a)if(!s[a]){var l=1;for(s[a]=1,o=t[a];o!==a;o=t[o]){if(s[o])return i.freeUint8(s),0;l+=1,s[o]=1}1&amp;l||(r=-r)}return i.freeUint8(s),r};var n=32,i=t(&quot;typedarray-pool&quot;)},{&quot;typedarray-pool&quot;:554}],472:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;typedarray-pool&quot;),i=t(&quot;invert-permutation&quot;);r.rank=function(t){var e=t.length;switch(e){case 0:case 1:return 0;case 2:return t[1]}var r,a,o,s=n.mallocUint32(e),l=n.mallocUint32(e),c=0;for(i(t,l),o=0;o&lt;e;++o)s[o]=t[o];for(o=e-1;o&gt;0;--o)a=l[o],r=s[o],s[o]=s[a],s[a]=r,l[o]=l[r],l[r]=a,c=(c+r)*o;return n.freeUint32(l),n.freeUint32(s),c},r.unrank=function(t,e,r){switch(t){case 0:return r||[];case 1:return r?(r[0]=0,r):[0];case 2:return r?(e?(r[0]=0,r[1]=1):(r[0]=1,r[1]=0),r):e?[0,1]:[1,0]}var n,i,a,o=1;for((r=r||new Array(t))[0]=0,a=1;a&lt;t;++a)r[a]=a,o=o*a|0;for(a=t-1;a&gt;0;--a)e=e-(n=e/o|0)*o|0,o=o/a|0,i=0|r[a],r[a]=0|r[n],r[n]=0|i;return r}},{&quot;invert-permutation&quot;:280,&quot;typedarray-pool&quot;:554}],473:[function(t,e,r){&quot;use strict&quot;;function n(t){return i[t]?i[t]:(&quot;string&quot;==typeof t&amp;&amp;(t=i[t]=t.split(/\s*,\s*|\s+/)),t)}e.exports=function(t,e,r){var i,a,o={};if(&quot;string&quot;==typeof e&amp;&amp;(e=n(e)),Array.isArray(e)){var s={};for(a=0;a&lt;e.length;a++)s[e[a]]=!0;e=s}for(i in e)e[i]=n(e[i]);var l={};for(i in e){var c=e[i];if(Array.isArray(c))for(a=0;a&lt;c.length;a++){var u=c[a];if(r&amp;&amp;(l[u]=!0),u in t){if(o[i]=t[u],r)for(var f=a;f&lt;c.length;f++)l[c[f]]=!0;break}}else i in t&amp;&amp;(e[i]&amp;&amp;(o[i]=t[i]),r&amp;&amp;(l[i]=!0))}if(r)for(i in t)l[i]||(o[i]=t[i]);return o};var i={}},{}],474:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t,e){function r(t,e){var r=c[e][t[e]];r.splice(r.indexOf(t),1)}function i(t,i,a){for(var o,s,l,u=0;u&lt;2;++u)if(c[u][i].length&gt;0){o=c[u][i][0],l=u;break}s=o[1^l];for(var f=0;f&lt;2;++f)for(var h=c[f][i],d=0;d&lt;h.length;++d){var p=h[d],m=p[1^f];n(e[t],e[i],e[s],e[m])&gt;0&amp;&amp;(o=p,s=m,l=f)}return a?s:(o&amp;&amp;r(o,l),s)}function a(t,a){var o=c[a][t][0],s=[t];r(o,a);for(var l=o[1^a];;){for(;l!==t;)s.push(l),l=i(s[s.length-2],l,!1);if(c[0][t].length+c[1][t].length===0)break;var u=s[s.length-1],f=t,h=s[1],d=i(u,f,!0);if(n(e[u],e[f],e[h],e[d])&lt;0)break;s.push(t),l=i(u,f)}return s}function o(t,e){return e[1]===e[e.length-1]}for(var s=0|e.length,l=t.length,c=[new Array(s),new Array(s)],u=0;u&lt;s;++u)c[0][u]=[],c[1][u]=[];for(u=0;u&lt;l;++u){var f=t[u];c[0][f[0]].push(f),c[1][f[1]].push(f)}var h=[];for(u=0;u&lt;s;++u)c[0][u].length+c[1][u].length===0&amp;&amp;h.push([u]);for(u=0;u&lt;s;++u)for(var d=0;d&lt;2;++d){for(var p=[];c[d][u].length&gt;0;){c[0][u].length;var m=a(u,d);o(0,m)?p.push.apply(p,m):(p.length&gt;0&amp;&amp;h.push(p),p=m)}p.length&gt;0&amp;&amp;h.push(p)}return h};var n=t(&quot;compare-angle&quot;)},{&quot;compare-angle&quot;:106}],475:[function(t,e,r){&quot;use strict&quot;;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&lt;e.length;++s){var l=r[s].length;a[s]=l,i[s]=!0,l&lt;=1&amp;&amp;o.push(s)}for(;o.length&gt;0;){i[d=o.pop()]=!1;var c=r[d];for(s=0;s&lt;c.length;++s){var u=c[s];0==--a[u]&amp;&amp;o.push(u)}}var f=new Array(e.length),h=[];for(s=0;s&lt;e.length;++s)if(i[s]){var d=h.length;f[s]=d,h.push(e[s])}else f[s]=-1;var p=[];for(s=0;s&lt;t.length;++s){var m=t[s];i[m[0]]&amp;&amp;i[m[1]]&amp;&amp;p.push([f[m[0]],f[m[1]]])}return[p,h]};var n=t(&quot;edges-to-adjacency-list&quot;)},{&quot;edges-to-adjacency-list&quot;:136}],476:[function(t,e,r){&quot;use strict&quot;;function n(t,e){for(var r=new Array(t),n=0;n&lt;t;++n)r[n]=e;return r}e.exports=function(t,e){function r(t){for(var e=t.length,r=0;r&lt;e;++r)if(!C[t[r]])return!1;return!0}t=(R=u(t,e))[0];for(var f=(e=R[1]).length,h=(t.length,i(t,e.length)),d=0;d&lt;f;++d)if(h[d].length%2==1)throw new Error(&quot;planar-graph-to-polyline: graph must be manifold&quot;);var p=a(t,e),m=(p=p.filter(function(t){for(var r=t.length,n=[0],i=0;i&lt;r;++i){var a=e[t[i]],o=e[t[(i+1)%r]],c=s(-a[0],a[1]),u=s(-a[0],o[1]),f=s(o[0],a[1]),h=s(o[0],o[1]);n=l(n,l(l(c,u),l(f,h)))}return n[n.length-1]&gt;0})).length,g=new Array(m),v=new Array(m);for(d=0;d&lt;m;++d){g[d]=d;var y=new Array(m),x=p[d].map(function(t){return e[t]}),b=o([x]),_=0;t:for(var w=0;w&lt;m;++w)if(y[w]=0,d!==w){for(var M=(H=p[w]).length,k=0;k&lt;M;++k){var A=b(e[H[k]]);if(0!==A){A&lt;0&amp;&amp;(y[w]=1,_+=1);continue t}}y[w]=1,_+=1}v[d]=[_,d,y]}for(v.sort(function(t,e){return e[0]-t[0]}),d=0;d&lt;m;++d){var T=(y=v[d])[1],S=y[2];for(w=0;w&lt;m;++w)S[w]&amp;&amp;(g[w]=T)}var E=function(t){for(var e=new Array(t),r=0;r&lt;t;++r)e[r]=[];return e}(m);for(d=0;d&lt;m;++d)E[d].push(g[d]),E[g[d]].push(d);var L={},C=n(f,!1);for(d=0;d&lt;m;++d)for(M=(H=p[d]).length,w=0;w&lt;M;++w){var z=H[w],D=H[(w+1)%M],I=Math.min(z,D)+&quot;:&quot;+Math.max(z,D);if(I in L){var P=L[I];E[P].push(d),E[d].push(P),C[z]=C[D]=!0}else L[I]=d}var O=[],F=n(m,-1);for(d=0;d&lt;m;++d)g[d]!==d||r(p[d])?F[d]=-1:(O.push(d),F[d]=0);for(var R=[];O.length&gt;0;){var N=O.pop(),j=E[N];c(j,function(t,e){return t-e});var B,U=j.length,V=F[N];for(0===V&amp;&amp;(B=[H=p[N]]),d=0;d&lt;U;++d){var q=j[d];if(!(F[q]&gt;=0)&amp;&amp;(F[q]=1^V,O.push(q),0===V)){var H;r(H=p[q])||(H.reverse(),B.push(H))}}0===V&amp;&amp;R.push(B)}return R};var i=t(&quot;edges-to-adjacency-list&quot;),a=t(&quot;planar-dual&quot;),o=t(&quot;point-in-big-polygon&quot;),s=t(&quot;two-product&quot;),l=t(&quot;robust-sum&quot;),c=t(&quot;uniq&quot;),u=t(&quot;./lib/trim-leaves&quot;)},{&quot;./lib/trim-leaves&quot;:475,&quot;edges-to-adjacency-list&quot;:136,&quot;planar-dual&quot;:474,&quot;point-in-big-polygon&quot;:478,&quot;robust-sum&quot;:520,&quot;two-product&quot;:552,uniq:556}],477:[function(t,e,r){&quot;use strict&quot;;function n(t,e){this.x=t,this.y=e}e.exports=n,n.prototype={clone:function(){return new n(this.x,this.y)},add:function(t){return this.clone()._add(t)},sub:function(t){return this.clone()._sub(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)},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&amp;&amp;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},_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},_round:function(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this}},n.convert=function(t){return t instanceof n?t:Array.isArray(t)?new n(t[0],t[1]):t}},{}],478:[function(t,e,r){function n(){return!0}function i(t){for(var e={},r=0;r&lt;t.length;++r){var i=t[r],a=i[0][0],o=i[0][1],s=i[1][1],c=[Math.min(o,s),Math.max(o,s)];a in e?e[a].push(c):e[a]=[c]}var u={},f=Object.keys(e);for(r=0;r&lt;f.length;++r){var h=e[f[r]];u[f[r]]=l(h)}return function(t){return function(e,r){var i=t[e];return!!i&amp;&amp;!!i.queryPoint(r,n)}}(u)}function a(t){return 1}e.exports=function(t){for(var e=t.length,r=[],n=[],l=0;l&lt;e;++l)for(var u=t[l],f=u.length,h=f-1,d=0;d&lt;f;h=d++){var p=u[h],m=u[d];p[0]===m[0]?n.push([p,m]):r.push([p,m])}if(0===r.length)return 0===n.length?a:function(t){return function(e){return t(e[0],e[1])?0:1}}(i(n));var g=s(r),v=function(t,e){return function(r){var n=c.le(e,r[0]);if(n&lt;0)return 1;var i=t[n];if(!i){if(!(n&gt;0&amp;&amp;e[n]===r[0]))return 1;i=t[n-1]}for(var a=1;i;){var s=i.key,l=o(r,s[0],s[1]);if(s[0][0]&lt;s[1][0])if(l&lt;0)i=i.left;else{if(!(l&gt;0))return 0;a=-1,i=i.right}else if(l&gt;0)i=i.left;else{if(!(l&lt;0))return 0;a=1,i=i.right}}return a}}(g.slabs,g.coordinates);return 0===n.length?v:function(t,e){return function(r){return t(r[0],r[1])?0:e(r)}}(i(n),v)};var o=t(&quot;robust-orientation&quot;)[3],s=t(&quot;slab-decomposition&quot;),l=t(&quot;interval-tree-1d&quot;),c=t(&quot;binary-search-bounds&quot;)},{&quot;binary-search-bounds&quot;:70,&quot;interval-tree-1d&quot;:279,&quot;robust-orientation&quot;:515,&quot;slab-decomposition&quot;:532}],479:[function(t,e,r){function n(t,e,r){var n=i.segments(t),a=i.segments(e),o=r(i.combine(n,a));return i.polygon(o)}var i,a=t(&quot;./lib/build-log&quot;),o=t(&quot;./lib/epsilon&quot;),s=t(&quot;./lib/intersecter&quot;),l=t(&quot;./lib/segment-chainer&quot;),c=t(&quot;./lib/segment-selector&quot;),u=t(&quot;./lib/geojson&quot;),f=!1,h=o();i={buildLog:function(t){return!0===t?f=a():!1===t&amp;&amp;(f=!1),!1!==f&amp;&amp;f.list},epsilon:function(t){return h.epsilon(t)},segments:function(t){var e=s(!0,h,f);return t.regions.forEach(e.addRegion),{segments:e.calculate(t.inverted),inverted:t.inverted}},combine:function(t,e){return{combined:s(!1,h,f).calculate(t.segments,t.inverted,e.segments,e.inverted),inverted1:t.inverted,inverted2:e.inverted}},selectUnion:function(t){return{segments:c.union(t.combined,f),inverted:t.inverted1||t.inverted2}},selectIntersect:function(t){return{segments:c.intersect(t.combined,f),inverted:t.inverted1&amp;&amp;t.inverted2}},selectDifference:function(t){return{segments:c.difference(t.combined,f),inverted:t.inverted1&amp;&amp;!t.inverted2}},selectDifferenceRev:function(t){return{segments:c.differenceRev(t.combined,f),inverted:!t.inverted1&amp;&amp;t.inverted2}},selectXor:function(t){return{segments:c.xor(t.combined,f),inverted:t.inverted1!==t.inverted2}},polygon:function(t){return{regions:l(t.segments,h,f),inverted:t.inverted}},polygonFromGeoJSON:function(t){return u.toPolygon(i,t)},polygonToGeoJSON:function(t){return u.fromPolygon(i,h,t)},union:function(t,e){return n(t,e,i.selectUnion)},intersect:function(t,e){return n(t,e,i.selectIntersect)},difference:function(t,e){return n(t,e,i.selectDifference)},differenceRev:function(t,e){return n(t,e,i.selectDifferenceRev)},xor:function(t,e){return n(t,e,i.selectXor)}},&quot;object&quot;==typeof window&amp;&amp;(window.PolyBool=i),e.exports=i},{&quot;./lib/build-log&quot;:480,&quot;./lib/epsilon&quot;:481,&quot;./lib/geojson&quot;:482,&quot;./lib/intersecter&quot;:483,&quot;./lib/segment-chainer&quot;:485,&quot;./lib/segment-selector&quot;:486}],480:[function(t,e,r){e.exports=function(){function t(t,r){return e.list.push({type:t,data:r?JSON.parse(JSON.stringify(r)):void 0}),e}var e,r=0,n=!1;return e={list:[],segmentId:function(){return r++},checkIntersection:function(e,r){return t(&quot;check&quot;,{seg1:e,seg2:r})},segmentChop:function(e,r){return t(&quot;div_seg&quot;,{seg:e,pt:r}),t(&quot;chop&quot;,{seg:e,pt:r})},statusRemove:function(e){return t(&quot;pop_seg&quot;,{seg:e})},segmentUpdate:function(e){return t(&quot;seg_update&quot;,{seg:e})},segmentNew:function(e,r){return t(&quot;new_seg&quot;,{seg:e,primary:r})},segmentRemove:function(e){return t(&quot;rem_seg&quot;,{seg:e})},tempStatus:function(e,r,n){return t(&quot;temp_status&quot;,{seg:e,above:r,below:n})},rewind:function(e){return t(&quot;rewind&quot;,{seg:e})},status:function(e,r,n){return t(&quot;status&quot;,{seg:e,above:r,below:n})},vert:function(r){return r===n?e:(n=r,t(&quot;vert&quot;,{x:r}))},log:function(e){return&quot;string&quot;!=typeof e&amp;&amp;(e=JSON.stringify(e,!1,&quot;  &quot;)),t(&quot;log&quot;,{txt:e})},reset:function(){return t(&quot;reset&quot;)},selected:function(e){return t(&quot;selected&quot;,{segs:e})},chainStart:function(e){return t(&quot;chain_start&quot;,{seg:e})},chainRemoveHead:function(e,r){return t(&quot;chain_rem_head&quot;,{index:e,pt:r})},chainRemoveTail:function(e,r){return t(&quot;chain_rem_tail&quot;,{index:e,pt:r})},chainNew:function(e,r){return t(&quot;chain_new&quot;,{pt1:e,pt2:r})},chainMatch:function(e){return t(&quot;chain_match&quot;,{index:e})},chainClose:function(e){return t(&quot;chain_close&quot;,{index:e})},chainAddHead:function(e,r){return t(&quot;chain_add_head&quot;,{index:e,pt:r})},chainAddTail:function(e,r){return t(&quot;chain_add_tail&quot;,{index:e,pt:r})},chainConnect:function(e,r){return t(&quot;chain_con&quot;,{index1:e,index2:r})},chainReverse:function(e){return t(&quot;chain_rev&quot;,{index:e})},chainJoin:function(e,r){return t(&quot;chain_join&quot;,{index1:e,index2:r})},done:function(){return t(&quot;done&quot;)}}}},{}],481:[function(t,e,r){e.exports=function(t){&quot;number&quot;!=typeof t&amp;&amp;(t=1e-10);var e={epsilon:function(e){return&quot;number&quot;==typeof e&amp;&amp;(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)&gt;=-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&lt;t)&amp;&amp;!(l-(a*a+s*s)&gt;-t)},pointsSameX:function(e,r){return Math.abs(e[0]-r[0])&lt;t},pointsSameY:function(e,r){return Math.abs(e[1]-r[1])&lt;t},pointsSame:function(t,r){return e.pointsSameX(t,r)&amp;&amp;e.pointsSameY(t,r)},pointsCompare:function(t,r){return e.pointsSameX(t,r)?e.pointsSameY(t,r)?0:t[1]&lt;r[1]?-1:1:t[0]&lt;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)&lt;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)&lt;t)return!1;var u=e[0]-n[0],f=e[1]-n[1],h=(s*f-l*u)/c,d=(a*f-o*u)/c,p={alongA:0,alongB:0,pt:[e[0]+h*a,e[1]+h*o]};return p.alongA=h&lt;=-t?-2:h&lt;t?-1:h-1&lt;=-t?0:h-1&lt;t?1:2,p.alongB=d&lt;=-t?-2:d&lt;t?-1:d-1&lt;=-t?0:d-1&lt;t?1:2,p},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&lt;r.length;l++){var c=r[l][0],u=r[l][1];u-i&gt;t!=o-i&gt;t&amp;&amp;(a-c)*(i-u)/(o-u)+c-n&gt;t&amp;&amp;(s=!s),a=c,o=u}return s}};return e}},{}],482:[function(t,e,r){var n={toPolygon:function(t,e){function r(e){function r(e){var r=e.slice(0,e.length-1);return t.segments({inverted:!1,regions:[r]})}if(e.length&lt;=0)return t.segments({inverted:!1,regions:[]});for(var n=r(e[0]),i=1;i&lt;e.length;i++)n=t.selectDifference(t.combine(n,r(e[i])));return n}if(&quot;Polygon&quot;===e.type)return t.polygon(r(e.coordinates));if(&quot;MultiPolygon&quot;===e.type){for(var n=t.segments({inverted:!1,regions:[]}),i=0;i&lt;e.coordinates.length;i++)n=t.selectUnion(t.combine(n,r(e.coordinates[i])));return t.polygon(n)}throw new Error(&quot;PolyBool: Cannot convert GeoJSON object to PolyBool polygon&quot;)},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:[]}}function a(t,e){for(var r=0;r&lt;t.children.length;r++){if(n(e,(s=t.children[r]).region))return void a(s,e)}var o=i(e);for(r=0;r&lt;t.children.length;r++){var s;n((s=t.children[r]).region,e)&amp;&amp;(o.children.push(s),t.children.splice(r,1),r--)}t.children.push(o)}function o(t,e){for(var r=0,n=t[t.length-1][0],i=t[t.length-1][1],a=[],o=0;o&lt;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&lt;0!==e&amp;&amp;a.reverse(),a.push([a[0][0],a[0][1]]),a}function s(t){var e=[o(t.region,!1)];f.push(e);for(var r=0;r&lt;t.children.length;r++)e.push(function(t){for(var e=0;e&lt;t.children.length;e++)s(t.children[e]);return o(t.region,!0)}(t.children[r]))}r=t.polygon(t.segments(r));for(var l=i(null),c=0;c&lt;r.regions.length;c++){var u=r.regions[c];u.length&lt;3||a(l,u)}var f=[];for(c=0;c&lt;l.children.length;c++)s(l.children[c]);return f.length&lt;=0?{type:&quot;Polygon&quot;,coordinates:[]}:1==f.length?{type:&quot;Polygon&quot;,coordinates:f[0]}:{type:&quot;MultiPolygon&quot;,coordinates:f}}};e.exports=n},{}],483:[function(t,e,r){var n=t(&quot;./linked-list&quot;);e.exports=function(t,e,r){function i(t,e){return{id:r?r.segmentId():-1,start:t,end:e,myFill:{above:null,below:null},otherFill:null}}function a(t,e,n){return{id:r?r.segmentId():-1,start:t,end:e,myFill:{above:n.myFill.above,below:n.myFill.below},otherFill:null}}function o(t,r){u.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)&lt;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=a(e,t.seg.end,t.seg);return function(t,e){r&amp;&amp;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,a){function o(t){return c.findTransition(function(r){return function(t,r){var n=t.seg.start,i=t.seg.end,a=r.seg.start,o=r.seg.end;return e.pointsCollinear(n,a,o)?e.pointsCollinear(i,a,o)?1:e.pointAboveOrOnLine(i,a,o)?1:-1:e.pointAboveOrOnLine(n,a,o)?1:-1}(t,r.ev)&gt;0})}function s(t,n){var i=t.seg,a=n.seg,o=i.start,s=i.end,c=a.start,u=a.end;r&amp;&amp;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),d=e.pointsSame(s,u);if(h&amp;&amp;d)return n;var p=!h&amp;&amp;e.pointBetween(o,c,u),m=!d&amp;&amp;e.pointBetween(s,c,u);if(h)return m?l(n,s):l(t,u),n;p&amp;&amp;(d||(m?l(n,s):l(t,u)),l(n,o))}else 0===f.alongA&amp;&amp;(-1===f.alongB?l(t,c):0===f.alongB?l(t,f.pt):1===f.alongB&amp;&amp;l(t,u)),0===f.alongB&amp;&amp;(-1===f.alongA?l(n,o):0===f.alongA?l(n,f.pt):1===f.alongA&amp;&amp;l(n,s));return!1}for(var c=n.create(),f=[];!u.isEmpty();){var h=u.getHead();if(r&amp;&amp;r.vert(h.pt[0]),h.isStart){r&amp;&amp;r.segmentNew(h.seg,h.primary);var d=o(h),p=d.before?d.before.ev:null,m=d.after?d.after.ev:null;r&amp;&amp;r.tempStatus(h.seg,!!p&amp;&amp;p.seg,!!m&amp;&amp;m.seg);var g=function(){if(p){var t=s(h,p);if(t)return t}return!!m&amp;&amp;s(h,m)}();if(g&amp;&amp;(t?(v=null===h.seg.myFill.below||h.seg.myFill.above!==h.seg.myFill.below)&amp;&amp;(g.seg.myFill.above=!g.seg.myFill.above):g.seg.otherFill=h.seg.myFill,r&amp;&amp;r.segmentUpdate(g.seg),h.other.remove(),h.remove()),u.getHead()!==h){r&amp;&amp;r.rewind(h.seg);continue}if(t){var v;v=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=v?!h.seg.myFill.below:h.seg.myFill.below}else if(null===h.seg.otherFill){var y;y=m?h.primary===m.primary?m.seg.otherFill.above:m.seg.myFill.above:h.primary?a:i,h.seg.otherFill={above:y,below:y}}r&amp;&amp;r.status(h.seg,!!p&amp;&amp;p.seg,!!m&amp;&amp;m.seg),h.other.status=d.insert(n.node({ev:h}))}else{var x=h.status;if(null===x)throw new Error(&quot;PolyBool: Zero-length segment detected; your epsilon is probably too small or too large&quot;);if(c.exists(x.prev)&amp;&amp;c.exists(x.next)&amp;&amp;s(x.prev.ev,x.next.ev),r&amp;&amp;r.statusRemove(x.ev.seg),x.remove(),!h.primary){var b=h.seg.myFill;h.seg.myFill=h.seg.otherFill,h.seg.otherFill=b}f.push(h.seg)}u.getHead().remove()}return r&amp;&amp;r.done(),f}var u=n.create();return t?{addRegion:function(t){for(var r,n=t[t.length-1],a=0;a&lt;t.length;a++){r=n,n=t[a];var o=e.pointsCompare(r,n);0!==o&amp;&amp;s(i(o&lt;0?r:n,o&lt;0?n:r),!0)}},calculate:function(t){return c(t,!1)}}:{calculate:function(t,e,r,n){return t.forEach(function(t){s(a(t.start,t.end,t),!0)}),r.forEach(function(t){s(a(t.start,t.end,t),!1)}),c(e,n)}}}},{&quot;./linked-list&quot;:484}],484:[function(t,e,r){e.exports={create:function(){var t={root:{root:!0,next:null},exists:function(e){return null!==e&amp;&amp;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&amp;&amp;!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&amp;&amp;(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&amp;&amp;(t.next.prev=t.prev),t.prev=null,t.next=null},t}}},{}],485:[function(t,e,r){e.exports=function(t,e,r){var n=[],i=[];return t.forEach(function(t){function a(t,e,r){return h.index=t,h.matches_head=e,h.matches_pt1=r,h===u?(h=f,!1):(h=null,!0)}function o(t){r&amp;&amp;r.chainReverse(t),n[t].reverse()}function s(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)&amp;&amp;(r&amp;&amp;r.chainRemoveTail(t,s),a.pop(),s=l),e.pointsCollinear(s,c,u)&amp;&amp;(r&amp;&amp;r.chainRemoveHead(i,c),o.shift()),r&amp;&amp;r.chainJoin(t,i),n[t]=a.concat(o),n.splice(i,1)}var l=t.start,c=t.end;if(e.pointsSame(l,c))console.warn(&quot;PolyBool: Warning: Zero-length segment detected; your epsilon is probably too small or too large&quot;);else{r&amp;&amp;r.chainStart(t);for(var u={index:0,matches_head:!1,matches_pt1:!1},f={index:0,matches_head:!1,matches_pt1:!1},h=u,d=0;d&lt;n.length;d++){var p=(x=n[d])[0],m=(x[1],x[x.length-1]);if(x[x.length-2],e.pointsSame(p,l)){if(a(d,!0,!0))break}else if(e.pointsSame(p,c)){if(a(d,!0,!1))break}else if(e.pointsSame(m,l)){if(a(d,!1,!0))break}else if(e.pointsSame(m,c)&amp;&amp;a(d,!1,!1))break}if(h===u)return n.push([l,c]),void(r&amp;&amp;r.chainNew(l,c));if(h===f){r&amp;&amp;r.chainMatch(u.index);var g=u.index,v=u.matches_pt1?c:l,y=u.matches_head,x=n[g],b=y?x[0]:x[x.length-1],_=y?x[1]:x[x.length-2],w=y?x[x.length-1]:x[0],M=y?x[x.length-2]:x[1];return e.pointsCollinear(_,b,v)&amp;&amp;(y?(r&amp;&amp;r.chainRemoveHead(u.index,v),x.shift()):(r&amp;&amp;r.chainRemoveTail(u.index,v),x.pop()),b=_),e.pointsSame(w,v)?(n.splice(g,1),e.pointsCollinear(M,w,b)&amp;&amp;(y?(r&amp;&amp;r.chainRemoveTail(u.index,b),x.pop()):(r&amp;&amp;r.chainRemoveHead(u.index,b),x.shift())),r&amp;&amp;r.chainClose(u.index),void i.push(x)):void(y?(r&amp;&amp;r.chainAddHead(u.index,v),x.unshift(v)):(r&amp;&amp;r.chainAddTail(u.index,v),x.push(v)))}var k=u.index,A=f.index;r&amp;&amp;r.chainConnect(k,A);var T=n[k].length&lt;n[A].length;u.matches_head?f.matches_head?T?(o(k),s(k,A)):(o(A),s(A,k)):s(A,k):f.matches_head?s(k,A):T?(o(k),s(A,k)):(o(A),s(k,A))}}),i}},{}],486:[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&amp;&amp;t.otherFill.above?2:0)+(t.otherFill&amp;&amp;t.otherFill.below?1:0);0!==e[i]&amp;&amp;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&amp;&amp;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},{}],487:[function(t,e,r){&quot;use strict&quot;;var n=new Float64Array(4),i=new Float64Array(4),a=new Float64Array(4);e.exports=function(t,e,r,o,s){n.length&lt;o.length&amp;&amp;(n=new Float64Array(o.length),i=new Float64Array(o.length),a=new Float64Array(o.length));for(var l=0;l&lt;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,d=0,p=0;for(l=0;l&lt;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,d+=v*g,p+=v*v}var y,x=Math.abs(c*f-u*u),b=u*d-f*h,_=u*h-c*d;if(b+_&lt;=x)if(b&lt;0)_&lt;0&amp;&amp;h&lt;0?(_=0,-h&gt;=c?(b=1,y=c+2*h+p):y=h*(b=-h/c)+p):(b=0,d&gt;=0?(_=0,y=p):-d&gt;=f?(_=1,y=f+2*d+p):y=d*(_=-d/f)+p);else if(_&lt;0)_=0,h&gt;=0?(b=0,y=p):-h&gt;=c?(b=1,y=c+2*h+p):y=h*(b=-h/c)+p;else{var w=1/x;y=(b*=w)*(c*b+u*(_*=w)+2*h)+_*(u*b+f*_+2*d)+p}else{var M,k,A,T;b&lt;0?(k=f+d)&gt;(M=u+h)?(A=k-M)&gt;=(T=c-2*u+f)?(b=1,_=0,y=c+2*h+p):y=(b=A/T)*(c*b+u*(_=1-b)+2*h)+_*(u*b+f*_+2*d)+p:(b=0,k&lt;=0?(_=1,y=f+2*d+p):d&gt;=0?(_=0,y=p):y=d*(_=-d/f)+p):_&lt;0?(k=c+h)&gt;(M=u+d)?(A=k-M)&gt;=(T=c-2*u+f)?(_=1,b=0,y=f+2*d+p):y=(b=1-(_=A/T))*(c*b+u*_+2*h)+_*(u*b+f*_+2*d)+p:(_=0,k&lt;=0?(b=1,y=c+2*h+p):h&gt;=0?(b=0,y=p):y=h*(b=-h/c)+p):(A=f+d-u-h)&lt;=0?(b=0,_=1,y=f+2*d+p):A&gt;=(T=c-2*u+f)?(b=1,_=0,y=c+2*h+p):y=(b=A/T)*(c*b+u*(_=1-b)+2*h)+_*(u*b+f*_+2*d)+p}var S=1-b-_;for(l=0;l&lt;o.length;++l)s[l]=S*t[l]+b*e[l]+_*r[l];return y&lt;0?0:y}},{}],488:[function(t,e,r){function n(){throw new Error(&quot;setTimeout has not been defined&quot;)}function i(){throw new Error(&quot;clearTimeout has not been defined&quot;)}function a(t){if(u===setTimeout)return setTimeout(t,0);if((u===n||!u)&amp;&amp;setTimeout)return u=setTimeout,setTimeout(t,0);try{return u(t,0)}catch(e){try{return u.call(null,t,0)}catch(e){return u.call(this,t,0)}}}function o(){m&amp;&amp;d&amp;&amp;(m=!1,d.length?p=d.concat(p):g=-1,p.length&amp;&amp;s())}function s(){if(!m){var t=a(o);m=!0;for(var e=p.length;e;){for(d=p,p=[];++g&lt;e;)d&amp;&amp;d[g].run();g=-1,e=p.length}d=null,m=!1,function(t){if(f===clearTimeout)return clearTimeout(t);if((f===i||!f)&amp;&amp;clearTimeout)return f=clearTimeout,clearTimeout(t);try{f(t)}catch(e){try{return f.call(null,t)}catch(e){return f.call(this,t)}}}(t)}}function l(t,e){this.fun=t,this.array=e}function c(){}var u,f,h=e.exports={};!function(){try{u=&quot;function&quot;==typeof setTimeout?setTimeout:n}catch(t){u=n}try{f=&quot;function&quot;==typeof clearTimeout?clearTimeout:i}catch(t){f=i}}();var d,p=[],m=!1,g=-1;h.nextTick=function(t){var e=new Array(arguments.length-1);if(arguments.length&gt;1)for(var r=1;r&lt;arguments.length;r++)e[r-1]=arguments[r];p.push(new l(t,e)),1!==p.length||m||a(s)},l.prototype.run=function(){this.fun.apply(null,this.array)},h.title=&quot;browser&quot;,h.browser=!0,h.env={},h.argv=[],h.version=&quot;&quot;,h.versions={},h.on=c,h.addListener=c,h.once=c,h.off=c,h.removeListener=c,h.removeAllListeners=c,h.emit=c,h.prependListener=c,h.prependOnceListener=c,h.listeners=function(t){return[]},h.binding=function(t){throw new Error(&quot;process.binding is not supported&quot;)},h.cwd=function(){return&quot;/&quot;},h.chdir=function(t){throw new Error(&quot;process.chdir is not supported&quot;)},h.umask=function(){return 0}},{}],489:[function(t,e,r){(function(t){!function(n){function i(t){throw new RangeError(z[t])}function a(t,e){for(var r=t.length,n=[];r--;)n[r]=e(t[r]);return n}function o(t,e){var r=t.split(&quot;@&quot;),n=&quot;&quot;;r.length&gt;1&amp;&amp;(n=r[0]+&quot;@&quot;,t=r[1]);return n+a((t=t.replace(C,&quot;.&quot;)).split(&quot;.&quot;),e).join(&quot;.&quot;)}function s(t){for(var e,r,n=[],i=0,a=t.length;i&lt;a;)(e=t.charCodeAt(i++))&gt;=55296&amp;&amp;e&lt;=56319&amp;&amp;i&lt;a?56320==(64512&amp;(r=t.charCodeAt(i++)))?n.push(((1023&amp;e)&lt;&lt;10)+(1023&amp;r)+65536):(n.push(e),i--):n.push(e);return n}function l(t){return a(t,function(t){var e=&quot;&quot;;return t&gt;65535&amp;&amp;(e+=P((t-=65536)&gt;&gt;&gt;10&amp;1023|55296),t=56320|1023&amp;t),e+=P(t)}).join(&quot;&quot;)}function c(t){return t-48&lt;10?t-22:t-65&lt;26?t-65:t-97&lt;26?t-97:b}function u(t,e){return t+22+75*(t&lt;26)-((0!=e)&lt;&lt;5)}function f(t,e,r){var n=0;for(t=r?I(t/k):t&gt;&gt;1,t+=I(t/e);t&gt;D*w&gt;&gt;1;n+=b)t=I(t/D);return I(n+(D+1)*t/(t+M))}function h(t){var e,r,n,a,o,s,u,h,d,p,m=[],g=t.length,v=0,y=T,M=A;for((r=t.lastIndexOf(S))&lt;0&amp;&amp;(r=0),n=0;n&lt;r;++n)t.charCodeAt(n)&gt;=128&amp;&amp;i(&quot;not-basic&quot;),m.push(t.charCodeAt(n));for(a=r&gt;0?r+1:0;a&lt;g;){for(o=v,s=1,u=b;a&gt;=g&amp;&amp;i(&quot;invalid-input&quot;),((h=c(t.charCodeAt(a++)))&gt;=b||h&gt;I((x-v)/s))&amp;&amp;i(&quot;overflow&quot;),v+=h*s,d=u&lt;=M?_:u&gt;=M+w?w:u-M,!(h&lt;d);u+=b)s&gt;I(x/(p=b-d))&amp;&amp;i(&quot;overflow&quot;),s*=p;M=f(v-o,e=m.length+1,0==o),I(v/e)&gt;x-y&amp;&amp;i(&quot;overflow&quot;),y+=I(v/e),v%=e,m.splice(v++,0,y)}return l(m)}function d(t){var e,r,n,a,o,l,c,h,d,p,m,g,v,y,M,k=[];for(g=(t=s(t)).length,e=T,r=0,o=A,l=0;l&lt;g;++l)(m=t[l])&lt;128&amp;&amp;k.push(P(m));for(n=a=k.length,a&amp;&amp;k.push(S);n&lt;g;){for(c=x,l=0;l&lt;g;++l)(m=t[l])&gt;=e&amp;&amp;m&lt;c&amp;&amp;(c=m);for(c-e&gt;I((x-r)/(v=n+1))&amp;&amp;i(&quot;overflow&quot;),r+=(c-e)*v,e=c,l=0;l&lt;g;++l)if((m=t[l])&lt;e&amp;&amp;++r&gt;x&amp;&amp;i(&quot;overflow&quot;),m==e){for(h=r,d=b;p=d&lt;=o?_:d&gt;=o+w?w:d-o,!(h&lt;p);d+=b)M=h-p,y=b-p,k.push(P(u(p+M%y,0))),h=I(M/y);k.push(P(u(h,0))),o=f(r,v,n==a),r=0,++n}++r,++e}return k.join(&quot;&quot;)}var p=&quot;object&quot;==typeof r&amp;&amp;r&amp;&amp;!r.nodeType&amp;&amp;r,m=&quot;object&quot;==typeof e&amp;&amp;e&amp;&amp;!e.nodeType&amp;&amp;e,g=&quot;object&quot;==typeof t&amp;&amp;t;g.global!==g&amp;&amp;g.window!==g&amp;&amp;g.self!==g||(n=g);var v,y,x=2147483647,b=36,_=1,w=26,M=38,k=700,A=72,T=128,S=&quot;-&quot;,E=/^xn--/,L=/[^\x20-\x7E]/,C=/[\x2E\u3002\uFF0E\uFF61]/g,z={overflow:&quot;Overflow: input needs wider integers to process&quot;,&quot;not-basic&quot;:&quot;Illegal input &gt;= 0x80 (not a basic code point)&quot;,&quot;invalid-input&quot;:&quot;Invalid input&quot;},D=b-_,I=Math.floor,P=String.fromCharCode;if(v={version:&quot;1.4.1&quot;,ucs2:{decode:s,encode:l},decode:h,encode:d,toASCII:function(t){return o(t,function(t){return L.test(t)?&quot;xn--&quot;+d(t):t})},toUnicode:function(t){return o(t,function(t){return E.test(t)?h(t.slice(4).toLowerCase()):t})}},p&amp;&amp;m)if(e.exports==p)m.exports=v;else for(y in v)v.hasOwnProperty(y)&amp;&amp;(p[y]=v[y]);else n.punycode=v}(this)}).call(this,&quot;undefined&quot;!=typeof global?global:&quot;undefined&quot;!=typeof self?self:&quot;undefined&quot;!=typeof window?window:{})},{}],490:[function(t,e,r){e.exports=t(&quot;gl-quat/slerp&quot;)},{&quot;gl-quat/slerp&quot;:236}],491:[function(t,e,r){&quot;use strict&quot;;function n(t,e){return Object.prototype.hasOwnProperty.call(t,e)}e.exports=function(t,e,r,a){e=e||&quot;&amp;&quot;,r=r||&quot;=&quot;;var o={};if(&quot;string&quot;!=typeof t||0===t.length)return o;var s=/\+/g;t=t.split(e);var l=1e3;a&amp;&amp;&quot;number&quot;==typeof a.maxKeys&amp;&amp;(l=a.maxKeys);var c=t.length;l&gt;0&amp;&amp;c&gt;l&amp;&amp;(c=l);for(var u=0;u&lt;c;++u){var f,h,d,p,m=t[u].replace(s,&quot;%20&quot;),g=m.indexOf(r);g&gt;=0?(f=m.substr(0,g),h=m.substr(g+1)):(f=m,h=&quot;&quot;),d=decodeURIComponent(f),p=decodeURIComponent(h),n(o,d)?i(o[d])?o[d].push(p):o[d]=[o[d],p]:o[d]=p}return o};var i=Array.isArray||function(t){return&quot;[object Array]&quot;===Object.prototype.toString.call(t)}},{}],492:[function(t,e,r){&quot;use strict&quot;;function n(t,e){if(t.map)return t.map(e);for(var r=[],n=0;n&lt;t.length;n++)r.push(e(t[n],n));return r}var i=function(t){switch(typeof t){case&quot;string&quot;:return t;case&quot;boolean&quot;:return t?&quot;true&quot;:&quot;false&quot;;case&quot;number&quot;:return isFinite(t)?t:&quot;&quot;;default:return&quot;&quot;}};e.exports=function(t,e,r,s){return e=e||&quot;&amp;&quot;,r=r||&quot;=&quot;,null===t&amp;&amp;(t=void 0),&quot;object&quot;==typeof t?n(o(t),function(o){var s=encodeURIComponent(i(o))+r;return a(t[o])?n(t[o],function(t){return s+encodeURIComponent(i(t))}).join(e):s+encodeURIComponent(i(t[o]))}).join(e):s?encodeURIComponent(i(s))+r+encodeURIComponent(i(t)):&quot;&quot;};var a=Array.isArray||function(t){return&quot;[object Array]&quot;===Object.prototype.toString.call(t)},o=Object.keys||function(t){var e=[];for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&amp;&amp;e.push(r);return e}},{}],493:[function(t,e,r){&quot;use strict&quot;;r.decode=r.parse=t(&quot;./decode&quot;),r.encode=r.stringify=t(&quot;./encode&quot;)},{&quot;./decode&quot;:491,&quot;./encode&quot;:492}],494:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,a,o){for(r=r||0,a=a||t.length-1,o=o||function(t,e){return t&lt;e?-1:t&gt;e?1:0};a&gt;r;){if(a-r&gt;600){var s=a-r+1,l=e-r+1,c=Math.log(s),u=.5*Math.exp(2*c/3),f=.5*Math.sqrt(c*u*(s-u)/s)*(l-s/2&lt;0?-1:1);n(t,e,Math.max(r,Math.floor(e-l*u/s+f)),Math.min(a,Math.floor(e+(s-l)*u/s+f)),o)}var h=t[e],d=r,p=a;for(i(t,r,e),o(t[a],h)&gt;0&amp;&amp;i(t,r,a);d&lt;p;){for(i(t,d,p),d++,p--;o(t[d],h)&lt;0;)d++;for(;o(t[p],h)&gt;0;)p--}0===o(t[r],h)?i(t,r,p):i(t,++p,a),p&lt;=e&amp;&amp;(r=p+1),e&lt;=p&amp;&amp;(a=p-1)}}function i(t,e,r){var n=t[e];t[e]=t[r],t[r]=n}e.exports=n},{}],495:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;big-rat/add&quot;);e.exports=function(t,e){for(var r=t.length,i=new Array(r),a=0;a&lt;r;++a)i[a]=n(t[a],e[a]);return i}},{&quot;big-rat/add&quot;:54}],496:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t){for(var e=new Array(t.length),r=0;r&lt;t.length;++r)e[r]=n(t[r]);return e};var n=t(&quot;big-rat&quot;)},{&quot;big-rat&quot;:57}],497:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;big-rat&quot;),i=t(&quot;big-rat/mul&quot;);e.exports=function(t,e){for(var r=n(e),a=t.length,o=new Array(a),s=0;s&lt;a;++s)o[s]=i(t[s],r);return o}},{&quot;big-rat&quot;:57,&quot;big-rat/mul&quot;:66}],498:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;big-rat/sub&quot;);e.exports=function(t,e){for(var r=t.length,i=new Array(r),a=0;a&lt;r;++a)i[a]=n(t[a],e[a]);return i}},{&quot;big-rat/sub&quot;:68}],499:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;compare-cell&quot;),i=t(&quot;compare-oriented-cell&quot;),a=t(&quot;cell-orientation&quot;);e.exports=function(t){t.sort(i);for(var e=t.length,r=0,o=0;o&lt;e;++o){var s=t[o],l=a(s);if(0!==l){if(r&gt;0){var c=t[r-1];if(0===n(s,c)&amp;&amp;a(c)!==l){r-=1;continue}}t[r++]=s}}return t.length=r,t}},{&quot;cell-orientation&quot;:90,&quot;compare-cell&quot;:107,&quot;compare-oriented-cell&quot;:108}],500:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;array-bounds&quot;),i=t(&quot;color-normalize&quot;),a=t(&quot;update-diff&quot;),o=t(&quot;pick-by-alias&quot;),s=t(&quot;object-assign&quot;),l=t(&quot;flatten-vertex-data&quot;),c=t(&quot;to-float32&quot;),u=c.float32,f=c.fract32;e.exports=function(t,e){function r(t){t?p(t):null===t&amp;&amp;m(),c()}function c(e){if(&quot;number&quot;==typeof e)return d(e);e&amp;&amp;!Array.isArray(e)&amp;&amp;(e=[e]),t._refresh(),k.forEach(function(t,r){t&amp;&amp;(e&amp;&amp;(e[r]?t.draw=!0:t.draw=!1),t.draw?d(r):t.draw=!0)})}function d(t){&quot;number&quot;==typeof t&amp;&amp;(t=k[t]),null!=t&amp;&amp;t&amp;&amp;t.count&amp;&amp;t.color&amp;&amp;t.opacity&amp;&amp;t.positions&amp;&amp;t.positions.length&gt;1&amp;&amp;(t.scaleRatio=[t.scale[0]*t.viewport.width,t.scale[1]*t.viewport.height],g(t),t.after&amp;&amp;t.after(t))}function p(t){if(t){null!=t.length?&quot;number&quot;==typeof t[0]&amp;&amp;(t=[{positions:t}]):Array.isArray(t)||(t=[t]);var e=0,r=0;if(k=t.map(function(t,c){var u=k[c];return t?(&quot;function&quot;==typeof t?t={after:t}:&quot;number&quot;==typeof t[0]&amp;&amp;(t={positions:t}),t=o(t,{color:&quot;color colors fill&quot;,capSize:&quot;capSize cap capsize cap-size&quot;,lineWidth:&quot;lineWidth line-width width line thickness&quot;,opacity:&quot;opacity alpha&quot;,range:&quot;range dataBox&quot;,viewport:&quot;viewport viewBox&quot;,errors:&quot;errors error&quot;,positions:&quot;positions position data points&quot;}),u||(k[c]=u={id:c,scale:null,translate:null,scaleFract:null,translateFract:null,draw:!0},t=s({},M,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,&quot;float64&quot;),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=&quot;transparent&quot;),!Array.isArray(t)||&quot;number&quot;==typeof t[0]){var n=t;t=Array(r);for(var a=0;a&lt;r;a++)t[a]=n}if(t.length&lt;r)throw Error(&quot;Not enough colors&quot;);for(var o=new Uint8Array(4*r),s=0;s&lt;r;s++){var l=i(t[s],&quot;uint8&quot;);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:w.drawingBufferWidth,height:w.drawingBufferHeight},e}}]),u):u}),e||r){var c=k.reduce(function(t,e,r){return t+(e?e.count:0)},0),h=new Float64Array(2*c),d=new Uint8Array(4*c),p=new Float32Array(4*c);k.forEach(function(t,e){if(t){var r=t.positions,n=t.count,i=t.offset,a=t.color,o=t.errors;n&amp;&amp;(d.set(a,4*i),p.set(o,4*i),h.set(r,2*i))}}),v(u(h)),y(f(h)),x(d),b(p)}}}function m(){v.destroy(),y.destroy(),x.destroy(),b.destroy(),_.destroy()}if(&quot;function&quot;==typeof t?(e||(e={}),e.regl=t):e=t,e.length&amp;&amp;(e.positions=e),!(t=e.regl).hasExtension(&quot;ANGLE_instanced_arrays&quot;))throw Error(&quot;regl-error2d: `ANGLE_instanced_arrays` extension should be enabled&quot;);var g,v,y,x,b,_,w=t._gl,M={color:&quot;black&quot;,capSize:5,lineWidth:1,opacity:1,viewport:null,range:null,offset:0,count:0,bounds:null,positions:[],errors:[]},k=[];return x=t.buffer({usage:&quot;dynamic&quot;,type:&quot;uint8&quot;,data:null}),v=t.buffer({usage:&quot;dynamic&quot;,type:&quot;float&quot;,data:null}),y=t.buffer({usage:&quot;dynamic&quot;,type:&quot;float&quot;,data:null}),b=t.buffer({usage:&quot;dynamic&quot;,type:&quot;float&quot;,data:null}),_=t.buffer({usage:&quot;static&quot;,type:&quot;float&quot;,data:h}),p(e),g=t({vert:&quot;\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&quot;,frag:&quot;\n\t\tprecision mediump 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&quot;,uniforms:{range:t.prop(&quot;range&quot;),lineWidth:t.prop(&quot;lineWidth&quot;),capSize:t.prop(&quot;capSize&quot;),opacity:t.prop(&quot;opacity&quot;),scale:t.prop(&quot;scale&quot;),translate:t.prop(&quot;translate&quot;),scaleFract:t.prop(&quot;scaleFract&quot;),translateFract:t.prop(&quot;translateFract&quot;),viewport:function(t,e){return[e.viewport.x,e.viewport.y,t.viewportWidth,t.viewportHeight]}},attributes:{color:{buffer:x,offset:function(t,e){return 4*e.offset},divisor:1},position:{buffer:v,offset:function(t,e){return 8*e.offset},divisor:1},positionFract:{buffer:y,offset:function(t,e){return 8*e.offset},divisor:1},error:{buffer:b,offset:function(t,e){return 16*e.offset},divisor:1},direction:{buffer:_,stride:24,offset:0},lineOffset:{buffer:_,stride:24,offset:8},capOffset:{buffer:_,stride:24,offset:16}},primitive:&quot;triangles&quot;,blend:{enable:!0,color:[0,0,0,0],equation:{rgb:&quot;add&quot;,alpha:&quot;add&quot;},func:{srcRGB:&quot;src alpha&quot;,dstRGB:&quot;one minus src alpha&quot;,srcAlpha:&quot;one minus dst alpha&quot;,dstAlpha:&quot;one&quot;}},depth:{enable:!1},scissor:{enable:!0,box:t.prop(&quot;viewport&quot;)},viewport:t.prop(&quot;viewport&quot;),stencil:!1,instances:t.prop(&quot;count&quot;),count:h.length}),s(r,{update:p,draw:c,destroy:m,regl:t,gl:w,canvas:w.canvas,groups:k}),r};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]]},{&quot;array-bounds&quot;:48,&quot;color-normalize&quot;:99,&quot;flatten-vertex-data&quot;:143,&quot;object-assign&quot;:462,&quot;pick-by-alias&quot;:473,&quot;to-float32&quot;:547,&quot;update-diff&quot;:558}],501:[function(t,e,r){&quot;use strict&quot;;function n(t){var e=new Float32Array(t.length);e.set(t);for(var r=0,n=e.length;r&lt;n;r++)e[r]=t[r]-e[r];return e}var i=t(&quot;color-normalize&quot;),a=t(&quot;array-bounds&quot;),o=t(&quot;object-assign&quot;),s=t(&quot;glslify&quot;),l=t(&quot;pick-by-alias&quot;),c=t(&quot;update-diff&quot;),u=t(&quot;flatten-vertex-data&quot;),f=t(&quot;earcut&quot;),h=t(&quot;array-normalize&quot;);e.exports=function(t,e){function r(t){t?m(t):null===t&amp;&amp;g(),d()}function d(t){if(&quot;number&quot;==typeof t)return p(t);t&amp;&amp;!Array.isArray(t)&amp;&amp;(t=[t]),S.forEach(function(e,r){t&amp;&amp;(t[r]?e.draw=!0:e.draw=!1),e.draw?p(r):e.draw=!0})}function p(e){&quot;number&quot;==typeof e&amp;&amp;(e=S[e]),e&amp;&amp;e.count&amp;&amp;e.opacity&amp;&amp;e.positions&amp;&amp;e.positions.length&gt;2&amp;&amp;(t._refresh(),e.fill&amp;&amp;e.triangles&amp;&amp;e.triangles.length&gt;2&amp;&amp;x(e),e.thickness&amp;&amp;e.color&amp;&amp;(e.scaleRatio=[e.scale[0]*e.viewport.width,e.scale[1]*e.viewport.height],e.scaleRatio[0]&gt;L||e.scaleRatio[1]&gt;L?y(e):&quot;rect&quot;===e.join||!e.join&amp;&amp;(e.thickness&lt;=2||e.positions.length&gt;=C)?y(e):v(e),e.after&amp;&amp;e.after(e)))}function m(t){if(t){null!=t.length?&quot;number&quot;==typeof t[0]&amp;&amp;(t=[{positions:t}]):Array.isArray(t)||(t=[t]);var e=0;if(S=t.map(function(t,r){var s=S[r];return t?(&quot;function&quot;==typeof t?t={after:t}:&quot;number&quot;==typeof t[0]&amp;&amp;(t={positions:t}),t=l(t,{positions:&quot;positions points data coords&quot;,thickness:&quot;thickness lineWidth lineWidths line-width linewidth width stroke-width strokewidth strokeWidth&quot;,join:&quot;lineJoin linejoin join type mode&quot;,miterLimit:&quot;miterlimit miterLimit&quot;,dashes:&quot;dash dashes dasharray dash-array dashArray&quot;,color:&quot;color stroke colors stroke-color strokeColor&quot;,fill:&quot;fill fill-color fillColor&quot;,opacity:&quot;alpha opacity&quot;,overlay:&quot;overlay crease overlap intersect&quot;,close:&quot;closed close closed-path closePath&quot;,range:&quot;range dataBox&quot;,viewport:&quot;viewport viewBox&quot;,hole:&quot;holes hole hollow&quot;,after:&quot;after callback done pass&quot;}),s||(S[r]=s={id:r,scale:null,scaleFract:null,translate:null,translateFract:null,count:0,offset:0,dashLength:0,hole:!0},t=o({},T,t)),c(s,t,[{thickness:parseFloat,opacity:parseFloat,miterLimit:parseFloat,overlay:Boolean,join:function(t){return t},after:function(t){return t},hole:function(t){return t||[]},positions:function(t,r,n){t=u(t,&quot;float64&quot;);var i=Math.floor(t.length/2),o=a(t,2);return r.range||n.range||(n.range=o),r.count=i,r.bounds=o,e+=i,t},fill:function(t){return t?i(t,&quot;uint8&quot;):null},dashes:function(t,e,r){var n,i=e.dashLength;if(!t||t.length&lt;2)i=1,n=new Uint8Array([255,255,255,255,255,255,255,255]);else{i=0;for(var a=0;a&lt;t.length;++a)i+=t[a];n=new Uint8Array(i*E);for(var o=0,s=255,l=0;l&lt;2;l++)for(var c=0;c&lt;t.length;++c){for(var u=0,f=t[c]*E*.5;u&lt;f;++u)n[o++]=s;s^=255}}return k.subimage({data:n,width:n.length,height:1},0,e.id),e.dashLength=i,n}},{close:function(t,e,r){return null!=t?t:e.positions.length&gt;=4&amp;&amp;e.positions[0]===e.positions[e.positions.length-2]&amp;&amp;e.positions[1]===e.positions[e.positions.length-1]},positions:function(t,e,r){if(e.fill&amp;&amp;t.length){for(var n=[],i={},a=0,o=0,s=0,l=e.count;o&lt;l;o++){var c=e.positions[2*o],u=e.positions[2*o+1];Number.isNaN(c)||Number.isNaN(u)?(c=e.positions[2*a],u=e.positions[2*a+1],i[o]=a):a=o,n[s++]=c,n[s++]=u}for(var h=f(n,e.hole),d=0,p=h.length;d&lt;p;d++)null!=i[h[d]]&amp;&amp;(h[d]=i[h[d]]);e.triangles=h}return e.positions},color:function(t,e,r){var n=e.count;if(t||(t=&quot;transparent&quot;),!Array.isArray(t)||&quot;number&quot;==typeof t[0]){var a=t;t=Array(n);for(var o=0;o&lt;n;o++)t[o]=a}if(t.length&lt;n)throw Error(&quot;Not enough colors&quot;);for(var s=new Uint8Array(4*n+4),l=0;l&lt;n;l++){var c=i(t[l],&quot;uint8&quot;);s.set(c,4*l)}return s},range:function(t,e,r){if(!e.count)return null;var i=e.bounds;t||(t=i);var a=h(t.slice(),2,i);return e.scale=[1/(a[2]-a[0]),1/(a[3]-a[1])],e.translate=[-a[0],-a[1]],e.scaleFract=n(e.scale),e.translateFract=n(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:A.drawingBufferWidth,height:A.drawingBufferHeight},e}}]),s):s}),e){var s=2*e+6*S.length,d=new Float64Array(s),p=0,m=new Uint8Array(2*s);S.forEach(function(t,e){if(t){var r=t.positions,n=t.count,i=t.color;if(t.offset=p,n){var a=new Float64Array(r.length);a.set(r),h(a,2,t.bounds),t.close?r[0]===r[2*n-2]&amp;&amp;r[1]===r[2*n-1]?(d[2*p+0]=a[2*n-4],d[2*p+1]=a[2*n-3]):(d[2*p+0]=a[2*n-2],d[2*p+1]=a[2*n-1]):(d[2*p+0]=a[0],d[2*p+1]=a[1]),m[4*p+0]=i[0],m[4*p+1]=i[1],m[4*p+2]=i[2],m[4*p+3]=i[3],d.set(a,2*p+2),m.set(i,4*p+4),t.close?r[0]===r[2*n-2]&amp;&amp;r[1]===r[2*n-1]?(d[2*p+2*n+2]=a[2],d[2*p+2*n+3]=a[3],p+=n+2,t.count-=1):(d[2*p+2*n+2]=a[0],d[2*p+2*n+3]=a[1],d[2*p+2*n+4]=a[2],d[2*p+2*n+5]=a[3],p+=n+3):(d[2*p+2*n+2]=a[2*n-2],d[2*p+2*n+3]=a[2*n-1],d[2*p+2*n+4]=a[2*n-2],d[2*p+2*n+5]=a[2*n-1],p+=n+3)}}}),b(m),w(function(t){if(t instanceof Float32Array)return t;var e=new Float32Array(t);return e.set(t),e}(d)),M(n(d))}return r}}function g(){S.length=0,b.destroy(),_.destroy(),w.destroy(),k.destroy()}if(&quot;function&quot;==typeof t?(e||(e={}),e.regl=t):e=t,e.length&amp;&amp;(e.positions=e),!(t=e.regl).hasExtension(&quot;ANGLE_instanced_arrays&quot;))throw Error(&quot;regl-error2d: `ANGLE_instanced_arrays` extension should be enabled&quot;);var v,y,x,b,_,w,M,k,A=t._gl,T={positions:[],dashes:null,join:null,miterLimit:1,thickness:10,cap:&quot;square&quot;,color:&quot;black&quot;,opacity:1,overlay:!1,viewport:null,range:null,close:null,fill:null},S=[],E=2,L=3e6,C=1e4;b=t.buffer({usage:&quot;dynamic&quot;,type:&quot;uint8&quot;,data:null}),_=t.buffer({usage:&quot;static&quot;,type:&quot;float&quot;,data:[0,1,0,0,1,1,1,0]}),w=t.buffer({usage:&quot;dynamic&quot;,type:&quot;float&quot;,data:null}),M=t.buffer({usage:&quot;dynamic&quot;,type:&quot;float&quot;,data:null}),k=t.texture({channels:1,data:new Uint8Array(524288),width:256,height:2048,mag:&quot;linear&quot;,min:&quot;linear&quot;}),m(e);var z={primitive:&quot;triangle strip&quot;,instances:t.prop(&quot;count&quot;),count:4,offset:0,uniforms:{miterMode:function(t,e){return&quot;round&quot;===e.join?2:1},miterLimit:t.prop(&quot;miterLimit&quot;),scale:t.prop(&quot;scale&quot;),scaleFract:t.prop(&quot;scaleFract&quot;),translateFract:t.prop(&quot;translateFract&quot;),translate:t.prop(&quot;translate&quot;),thickness:t.prop(&quot;thickness&quot;),dashPattern:k,dashLength:t.prop(&quot;dashLength&quot;),dashShape:[256,2048],opacity:t.prop(&quot;opacity&quot;),pixelRatio:t.context(&quot;pixelRatio&quot;),id:t.prop(&quot;id&quot;),scaleRatio:t.prop(&quot;scaleRatio&quot;),viewport:function(t,e){return[e.viewport.x,e.viewport.y,t.viewportWidth,t.viewportHeight]}},blend:{enable:!0,color:[0,0,0,0],equation:{rgb:&quot;add&quot;,alpha:&quot;add&quot;},func:{srcRGB:&quot;src alpha&quot;,dstRGB:&quot;one minus src alpha&quot;,srcAlpha:&quot;one minus dst alpha&quot;,dstAlpha:&quot;one&quot;}},depth:{enable:function(t,e){return!e.overlay}},scissor:{enable:!0,box:t.prop(&quot;viewport&quot;)},stencil:!1,viewport:t.prop(&quot;viewport&quot;)};return v=t(o({cull:{enable:!0,face:&quot;back&quot;},vert:s([&quot;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, scaleRatio;\nuniform float thickness, pixelRatio, id;\nuniform vec4 viewport;\nuniform float miterLimit, dashLength, miterMode;\n\nvarying vec4 fragColor;\nvarying vec4 startCutoff, endCutoff;\nvarying vec2 tangent;\nvarying vec2 startCoord, endCoord;\nvarying float enableStartMiter, enableEndMiter;\n\nconst float MAX_LINES = 256.;\nconst float REVERSE_THRESHOLD = -.875;\nconst float MIN_DIST = 1.;\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\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 &lt; 0.0 || 0.0 &lt; val || val == 0.0 ) ? false : true;\n}\n\nvoid main() {\n\tvec2 aCoord = aCoord, bCoord = bCoord, prevCoord = prevCoord, nextCoord = nextCoord;\n\tvec2 normalWidth = thickness / scaleRatio;\n\n\tfloat lineStart = 1. - lineEnd;\n\tfloat lineBot = 1. - lineTop;\n\tfloat depth = (MAX_LINES - 1. - id) / MAX_LINES;\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 prevDirection = normalize(prevDiff);\n\tvec2 currDirection = normalize(currDiff);\n\tvec2 nextDirection = normalize(nextDiff);\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\tif (prevDirection == currDirection) {\n\t\tstartJoinDirection = currNormal;\n\t}\n\tif (nextDirection == currDirection) {\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) &lt;= REVERSE_THRESHOLD &amp;&amp; abs(dot(currTangent, prevNormal)) * min(length(prevDiff), length(currDiff)) &lt;  length(normalWidth * currNormal);\n\tbool nextReverse = dot(currTangent, nextTangent) &lt;= REVERSE_THRESHOLD &amp;&amp; abs(dot(currTangent, nextNormal)) * min(length(nextDiff), length(currDiff)) &lt;  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 &amp;&amp; baClipping &gt; 0. &amp;&amp; baClipping &lt; 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 &amp;&amp; abClipping &gt; 0. &amp;&amp; abClipping &lt; 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 + translate) * scale;\n\tvec2 aBotPosition = (aBotCoord + translate) * scale;\n\n\tvec2 bTopPosition = (bTopCoord + translate) * scale;\n\tvec2 bBotPosition = (bBotCoord + translate) * scale;\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 + translate) * scaleRatio + viewport.xy;\n\tendCoord = (bCoord + translate) * scaleRatio + 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 + translate.xyxy) * scaleRatio.xyxy;\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 + translate.xyxy) * scaleRatio.xyxy;\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 + translate.xyxy) * scaleRatio.xyxy;\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 + translate.xyxy) * scaleRatio.xyxy;\n\t\t\tendCutoff += viewport.xyxy;\n\t\t\tendCutoff += endMiterWidth.xyxy;\n\t\t}\n\t}\n}\n&quot;]),frag:s([&quot;precision highp float;\n#define GLSLIFY 1\n\nuniform sampler2D dashPattern;\nuniform vec2 dashShape;\nuniform float dashLength, pixelRatio, thickness, opacity, id, miterMode;\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 &lt; -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 &lt; -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 &lt; 0.) {\n\t\t\t\tfloat radius = length(gl_FragCoord.xy - startCoord);\n\n\t\t\t\tif(radius &gt; 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 &lt; 0.) {\n\t\t\t\tfloat radius = length(gl_FragCoord.xy - endCoord);\n\n\t\t\t\tif(radius &gt; 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(dashPattern, vec2(t * dashLength * 2. / dashShape.x, (id + .5) / dashShape.y)).r;\n\n\tgl_FragColor = fragColor * dash;\n\tgl_FragColor.a *= alpha * opacity * dash;\n}\n&quot;]),attributes:{lineEnd:{buffer:_,divisor:0,stride:8,offset:0},lineTop:{buffer:_,divisor:0,stride:8,offset:4},aColor:{buffer:b,stride:4,offset:function(t,e){return 4*e.offset},divisor:1},bColor:{buffer:b,stride:4,offset:function(t,e){return 4*e.offset+4},divisor:1},prevCoord:{buffer:w,stride:8,offset:function(t,e){return 8*e.offset},divisor:1},aCoord:{buffer:w,stride:8,offset:function(t,e){return 8+8*e.offset},divisor:1},bCoord:{buffer:w,stride:8,offset:function(t,e){return 16+8*e.offset},divisor:1},nextCoord:{buffer:w,stride:8,offset:function(t,e){return 24+8*e.offset},divisor:1}}},z)),y=t(o({vert:s([&quot;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, scaleRatio;\nuniform float thickness, pixelRatio, id;\nuniform vec4 viewport;\n\nvarying vec4 fragColor;\nvarying vec2 tangent;\n\nconst float MAX_LINES = 256.;\n\nvec2 project(vec2 position, vec2 positionFract, vec2 scale, vec2 scaleFract, vec2 translate, vec2 translateFract) {\n  return (position + translate) * scale\n       + (positionFract + translateFract) * scale\n       + (position + translate) * scaleFract\n       + (positionFract + translateFract) * scaleFract;\n}\n\nvoid main() {\n\t// vec2 scaleRatio = scale * viewport.zw;\n\tvec2 normalWidth = thickness / scaleRatio;\n\n\tfloat lineStart = 1. - lineEnd;\n\tfloat lineOffset = lineTop * 2. - 1.;\n\tfloat depth = (MAX_LINES - 1. - id) / (MAX_LINES);\n\n\tvec2 diff = (bCoord + bCoordFract - aCoord - aCoordFract);\n\ttangent = normalize(diff * scaleRatio);\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&quot;]),frag:s([&quot;precision highp float;\n#define GLSLIFY 1\n\nuniform sampler2D dashPattern;\nuniform vec2 dashShape;\nuniform float dashLength, pixelRatio, thickness, opacity, id;\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(dashPattern, vec2(t * dashLength * 2. / dashShape.x, (id + .5) / dashShape.y)).r;\n\n\tgl_FragColor = fragColor * dash;\n\tgl_FragColor.a *= alpha * opacity * dash;\n}\n&quot;]),attributes:{lineEnd:{buffer:_,divisor:0,stride:8,offset:0},lineTop:{buffer:_,divisor:0,stride:8,offset:4},aCoord:{buffer:w,stride:8,offset:function(t,e){return 8+8*e.offset},divisor:1},bCoord:{buffer:w,stride:8,offset:function(t,e){return 16+8*e.offset},divisor:1},aCoordFract:{buffer:M,stride:8,offset:function(t,e){return 8+8*e.offset},divisor:1},bCoordFract:{buffer:M,stride:8,offset:function(t,e){return 16+8*e.offset},divisor:1},color:{buffer:b,stride:4,offset:function(t,e){return 4*e.offset},divisor:1}}},z)),x=t({primitive:&quot;triangle&quot;,elements:function(t,e){return e.triangles},offset:0,vert:s([&quot;precision highp float;\n#define GLSLIFY 1\n\nattribute vec2 position, positionFract;\n\nuniform vec4 color;\nuniform vec2 scale, scaleFract, translate, translateFract, scaleRatio;\nuniform float pixelRatio, id;\nuniform vec4 viewport;\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 + translate) * scale\n       + (positionFract + translateFract) * scale\n       + (position + translate) * scaleFract\n       + (positionFract + translateFract) * scaleFract;\n\n\tgl_Position = vec4(position * 2.0 - 1.0, depth, 1);\n\n\tfragColor = color / 255.;\n}\n&quot;]),frag:s([&quot;precision highp float;\n#define GLSLIFY 1\n\nuniform float opacity;\n\nvarying vec4 fragColor;\n\nvoid main() {\n\tgl_FragColor = fragColor;\n\tgl_FragColor.a *= opacity;\n}\n&quot;]),uniforms:{scale:t.prop(&quot;scale&quot;),color:t.prop(&quot;fill&quot;),scaleFract:t.prop(&quot;scaleFract&quot;),translateFract:t.prop(&quot;translateFract&quot;),translate:t.prop(&quot;translate&quot;),opacity:t.prop(&quot;opacity&quot;),pixelRatio:t.context(&quot;pixelRatio&quot;),id:t.prop(&quot;id&quot;),viewport:function(t,e){return[e.viewport.x,e.viewport.y,t.viewportWidth,t.viewportHeight]}},attributes:{position:{buffer:w,stride:8,offset:function(t,e){return 8+8*e.offset}},positionFract:{buffer:M,stride:8,offset:function(t,e){return 8+8*e.offset}}},blend:z.blend,depth:{enable:!1},scissor:z.scissor,stencil:z.stencil,viewport:z.viewport}),o(r,{update:m,draw:d,destroy:g,regl:t,gl:A,canvas:A.canvas,lines:S}),r}},{&quot;array-bounds&quot;:48,&quot;array-normalize&quot;:49,&quot;color-normalize&quot;:99,earcut:135,&quot;flatten-vertex-data&quot;:143,glslify:502,&quot;object-assign&quot;:462,&quot;pick-by-alias&quot;:473,&quot;update-diff&quot;:558}],502:[function(t,e,r){arguments[4][169][0].apply(r,arguments)},{dup:169}],503:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;color-normalize&quot;),i=t(&quot;array-bounds&quot;),a=t(&quot;color-id&quot;),o=t(&quot;snap-points-2d&quot;),s=t(&quot;object-assign&quot;),l=t(&quot;glslify&quot;),c=t(&quot;binary-search-bounds&quot;),u=t(&quot;pick-by-alias&quot;),f=t(&quot;update-diff&quot;),h=t(&quot;flatten-vertex-data&quot;),d=t(&quot;is-iexplorer&quot;),p=t(&quot;to-float32&quot;),m=p.float32,g=p.fract32;e.exports=function(t,e){function r(t){t?x(t):null===t&amp;&amp;M(),p()}function p(t){if(&quot;number&quot;==typeof t)return v(t);Array.isArray(t)?t.forEach(function(t,e){if(null!=t)return t.length?v(t,e):v(t)}):O.forEach(function(t,e){t&amp;&amp;v(e)})}function v(e,r){&quot;number&quot;==typeof e&amp;&amp;(e=O[e]);var n;if(Array.isArray(e)&amp;&amp;(n=e,e=O[r]),e&amp;&amp;e.count&amp;&amp;e.opacity){var i;if(n){i=Array(e.count);for(var a=0;a&lt;n.length;a++)i[n[a]]=!0}if(e.markerIds[0]){t._refresh();var o=y(e.markerIds[0],e,i);A(o)}for(var s=[],l=1;l&lt;e.markerIds.length;l++){var c=e.markerIds[l];c&amp;&amp;c.length&amp;&amp;[].push.apply(s,y(c,e,i))}s.length&amp;&amp;(t._refresh(),k(s))}}function y(t,e,r){function n(t,e){for(var r=[],n=0,i=t.length;n&lt;i;n++){var o=t[n];e[o-a]&amp;&amp;r.push(o)}return r}var i=e.range,a=e.offset;if(!t.snap){var o=r?n(t.data,r):t.elements;return[s({},e,{elements:o,offset:0,count:r?o.length:t.length,marker:F[t.id]})]}for(var l=[],u=t.lod,f=t.x,h=t.id,d=(i[2]-i[0])/e.viewport.width,p=u.length;p--;){var m=u[p];if(!(m.pixelSize&amp;&amp;m.pixelSize&lt;d&amp;&amp;p&gt;1)){var g=m.offset,v=m.count+g,y=c.ge(f,i[0],g,v-1),x=c.lt(f,i[2],y,v-1)+1;if(!(x&lt;=y))if(r){var b=n(t.data.subarray(y,x),r);l.push(s({},e,{elements:b,marker:F[h],offset:0,count:b.length}))}else l.push(s({},e,{elements:t.elements,marker:F[h],offset:y,count:x-y}))}}return l}function x(e){if(e){null!=e.length?&quot;number&quot;==typeof e[0]&amp;&amp;(e=[{positions:e}]):Array.isArray(e)||(e=[e]);var r=0,n=0,a=0;O=e.map(function(e,l){var c=O[l];return e?(&quot;function&quot;==typeof e?e={after:e}:&quot;number&quot;==typeof e[0]&amp;&amp;(e={positions:e}),e=u(e,{positions:&quot;positions data points&quot;,snap:&quot;snap cluster&quot;,size:&quot;sizes size radius&quot;,borderSize:&quot;borderSizes borderSize stroke-width strokeWidth outline&quot;,color:&quot;colors color fill fill-color fillColor&quot;,borderColor:&quot;borderColors borderColor stroke stroke-color strokeColor&quot;,palette:&quot;palette swatch&quot;,marker:&quot;markers marker shape&quot;,range:&quot;range dataBox&quot;,viewport:&quot;viewport viewBox&quot;,opacity:&quot;opacity alpha&quot;}),c||(O[l]=c={id:l,scale:null,translate:null,scaleFract:null,translateFract:null,markerIds:[]},e=s({},P,e)),!e.positions||&quot;marker&quot;in e||(e.marker=c.marker,delete c.marker),f(c,e,[{snap:!0,size:function(t){return n+=t.length?1:0,t},borderSize:function(t){return n+=t.length?1:0,t},opacity:parseFloat,color:function(t){return t=w(t),a++,t},borderColor:function(t){return t=w(t),a++,t},positions:function(t,e,n){t=h(t,&quot;float64&quot;);var a=e.count=Math.floor(t.length/2),o=e.bounds=a?i(t,2):null;return n.range||e.range||(delete e.range,n.range=o),e.offset=r,r+=a,n.marker||e.marker||(delete e.marker,n.marker=null),t}},{marker:function(t,e,r){if(e.markerIds.length=0,t&amp;&amp;&quot;number&quot;!=typeof t[0])for(var n=0,i=t.length;n&lt;i;n++){var a=_(t[n]);e.markerIds[a]||(e.markerIds[a]=[]),e.markerIds[a].push(n)}else{for(var o=_(t),s=Array(e.count),l=0;l&lt;e.count;l++)s[l]=l;e.markerIds[o]=s}return t}},{positions:function(e,r){for(var n=r.markerIds,i=r.snap,a=r.bounds,s=r.offset,l=0;l&lt;n.length;l++){var c=n[l];if(c&amp;&amp;c.length){var u=c.length,f=void 0;if(c.id=l,i&amp;&amp;(!0===i||u&gt;i)){c.snap=!0;var h=c.x=Array(u),d=c.w=Array(u),p=void 0;if(n.length&gt;1){p=Array(2*u);for(var m=0;m&lt;u;m++){var g=c[m];p[2*m]=e[2*g],p[2*m+1]=e[2*g+1]}}else(p=new Float64Array(e.length)).set(e);var v=new Uint32Array(u);c.lod=o(p,v,d,a),f=new Uint32Array(u);for(var y=0;y&lt;u;y++){var x=c[v[y]];f[y]=x+s,h[y]=e[2*x]}}else{f=new Uint32Array(u);for(var b=0;b&lt;u;b++)f[b]=c[b]+s}c.data=f,c.elements=t.elements({primitive:&quot;points&quot;,type:&quot;uint32&quot;,data:f})}}},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=g(e.scale),e.translateFract=g(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:z.drawingBufferWidth,height:z.drawingBufferHeight},e}}]),c):c}),b({point:r,size:n,color:a})}}function b(t){var e=t.point,r=t.size,n=t.color,i=O.reduce(function(t,e,r){return t+(e?e.count:0)},0);if(e){var a=new Float32Array(2*i),o=new Float32Array(2*i);O.forEach(function(t,e){if(t){var r=t.positions,n=t.count,i=t.offset;n&amp;&amp;(a.set(m(r),2*i),o.set(g(r),2*i))}}),S(a),E(o)}if(r){var s=new Uint8Array(2*i);O.forEach(function(t,e){if(t){var r=t.count,n=t.offset,i=t.size,a=t.borderSize;if(r&amp;&amp;(i.length||a.length)){for(var o=new Uint8Array(2*r),l=0;l&lt;r;l++)o[2*l]=Math.round(255*(null==i[l]?i:i[l])/j),o[2*l+1]=Math.round(255*(null==a[l]?a:a[l])/j);s.set(o,2*n)}}}),T(s)}if(n){var l=new Uint16Array(2*i);O.forEach(function(t,e){if(t){var r=t.count,n=t.offset,i=t.color,a=t.borderColor;if(r&amp;&amp;(i.length||a.length)){for(var o=new Uint16Array(2*r),s=0;s&lt;r;s++)o[2*s]=null==i[s]?i:i[s],o[2*s+1]=null==a[s]?a:a[s];l.set(o,2*n)}}}),L(l)}}function _(e){var r=null==e?0:R.indexOf(e);if(r&gt;=0)return r;var n;if(e instanceof Uint8Array||e instanceof Uint8ClampedArray)n=e;else{n=new Uint8Array(e.length);for(var i=0,a=e.length;i&lt;a;i++)n[i]=255*e[i]}var o=Math.floor(Math.sqrt(n.length));return r=F.length,R.push(e),F.push(t.texture({channels:1,data:n,radius:o,mag:&quot;linear&quot;,min:&quot;linear&quot;})),r}function w(t){Array.isArray(t)||(t=[t]);for(var e=D.length,r=[],i=0;i&lt;t.length;i++){var o=t[i];if(&quot;number&quot;!=typeof o){o=n(o,&quot;uint8&quot;);var s=a(o,!1);if(null==I[s]){var l=D.length;I[s]=Math.floor(l/4),D[l]=o[0],D[l+1]=o[1],D[l+2]=o[2],D[l+3]=o[3]}r[i]=Math.min(I[s],N-1)}else r[i]=o}return e&lt;4*N&amp;&amp;C.subimage({width:Math.min(.25*D.length,N),height:1,data:D.slice(0,4*N)},0,0),1===r.length?r[0]:r}function M(){O.length=0,T.destroy(),S.destroy(),E.destroy(),L.destroy(),C.destroy()}&quot;function&quot;==typeof t?(e||(e={}),e.regl=t):(e=t,t=null),e&amp;&amp;e.length&amp;&amp;(e.positions=e);var k,A,T,S,E,L,C,z=(t=e.regl)._gl,D=[],I={},P={color:&quot;black&quot;,borderColor:&quot;transparent&quot;,borderSize:1,size:12,opacity:1,marker:void 0,viewport:null,range:null,pixelSize:null,offset:0,count:0,bounds:null,positions:[],snap:1e4},O=[],F=[null],R=[null],N=4096,j=100;C=t.texture({data:new Uint8Array(4*N),width:N,height:1,type:&quot;uint8&quot;,format:&quot;rgba&quot;,wrapS:&quot;clamp&quot;,wrapT:&quot;clamp&quot;,mag:&quot;nearest&quot;,min:&quot;nearest&quot;}),T=t.buffer({usage:&quot;dynamic&quot;,type:&quot;float&quot;,data:null}),L=t.buffer({usage:&quot;dynamic&quot;,type:&quot;uint16&quot;,data:null}),S=t.buffer({usage:&quot;dynamic&quot;,type:&quot;float&quot;,data:null}),E=t.buffer({usage:&quot;dynamic&quot;,type:&quot;float&quot;,data:null}),e.clone?(O=e.clone.groups.map(function(e){return(e=s({},e)).markerIds&amp;&amp;(e.markerIds=e.markerIds.map(function(e){var r=e.slice();return r.lod=e.lod,r.snap=e.snap,r.data=e.data,r.id=e.id,r.x=e.x,r.w=e.w,r.elements=t.elements({primitive:&quot;points&quot;,type:&quot;uint32&quot;,data:e.data}),r})),e}),e.clone.markers.forEach(function(t){_(t)}),b({point:!0,color:!0,size:!0})):x(e);var B={uniforms:{pixelRatio:t.context(&quot;pixelRatio&quot;),palette:C,scale:t.prop(&quot;scale&quot;),scaleFract:t.prop(&quot;scaleFract&quot;),translate:t.prop(&quot;translate&quot;),translateFract:t.prop(&quot;translateFract&quot;),opacity:t.prop(&quot;opacity&quot;),marker:t.prop(&quot;marker&quot;)},attributes:{position:S,positionFract:E,size:function(t,e){return e.size.length?{buffer:T,stride:2,offset:0}:{constant:[Math.round(255*e.size/j)]}},borderSize:function(t,e){return e.borderSize.length?{buffer:T,stride:2,offset:1}:{constant:[Math.round(255*e.borderSize/j)]}},colorId:function(t,e){return e.color.length?{buffer:L,stride:4,offset:0}:{constant:[e.color]}},borderColorId:function(t,e){return e.borderColor.length?{buffer:L,stride:4,offset:2}:{constant:[e.borderColor]}}},blend:{enable:!0,color:[0,0,0,1],func:{srcRGB:&quot;src alpha&quot;,dstRGB:&quot;one minus src alpha&quot;,srcAlpha:&quot;one minus dst alpha&quot;,dstAlpha:&quot;one&quot;}},scissor:{enable:!0,box:t.prop(&quot;viewport&quot;)},viewport:t.prop(&quot;viewport&quot;),stencil:{enable:!1},depth:{enable:!1},elements:t.prop(&quot;elements&quot;),count:t.prop(&quot;count&quot;),offset:t.prop(&quot;offset&quot;),primitive:&quot;points&quot;};if(d)A=t(s({},B,{frag:l([&quot;precision mediump float;\n#define GLSLIFY 1\n\nuniform vec4 color, borderColor;\nuniform float opacity;\nvarying float fragBorderRadius, fragWidth, fragBorderSize, fragSize;\n\nfloat smoothStep(float x, float y) {\n  return 1.0 / (1.0 + exp(50.0*(x - y)));\n}\n\nvoid main() {\n  float radius = length(2.0*gl_PointCoord.xy-1.0);\n  if(radius &gt; 1.0) {\n    discard;\n  }\n\n  float centerFraction = fragBorderSize == 0. ? 2. : fragSize / (fragSize + fragBorderSize + 1.25);\n\n  vec4 baseColor = mix(borderColor, color, smoothStep(radius, centerFraction));\n  float alpha = 1.0 - pow(1.0 - baseColor.a, 1.);\n  gl_FragColor = vec4(baseColor.rgb * alpha, alpha);\n}\n&quot;]),vert:l([&quot;precision highp float;\n#define GLSLIFY 1\n\nattribute vec2 position, positionFract;\nattribute float size, borderSize;\n\nuniform vec2 scale, scaleFract, translate, translateFract;\nuniform float pixelRatio;\nuniform sampler2D palette;\n\nconst float paletteSize = 4096., maxSize = 100.;\n\nvarying vec4 fragColor, fragBorderColor;\nvarying float fragBorderRadius, fragWidth, fragBorderSize, fragSize;\n\nvoid main() {\n  float size = size * maxSize / 255.;\n  float borderSize = borderSize * maxSize / 255.;\n  fragBorderSize = borderSize;\n  fragSize = size;\n\n  gl_PointSize = (size + borderSize) * pixelRatio;\n\n  vec2 pos = (position + translate) * scale\n\t\t\t+ (positionFract + translateFract) * scale\n\t\t\t+ (position + translate) * scaleFract\n\t\t\t+ (positionFract + translateFract) * scaleFract;\n\n  gl_Position = vec4(pos * 2. - 1., 0, 1);\n\n  fragBorderRadius = borderSize == 0. ? 2. : 1. - 2. * borderSize / (size + borderSize);\n  fragWidth = 1. / gl_PointSize;\n}\n&quot;]),uniforms:{color:function(t,e){var r=e.color.length?e.color[0]:e.color;return D.slice(4*r,4*r+4).map(function(t){return t/255})},borderColor:function(t,e){var r=e.borderColor.length?e.borderColor[0]:e.borderColor;return D.slice(4*r,4*r+4).map(function(t){return t/255})},pixelRatio:t.context(&quot;pixelRatio&quot;),palette:C,scale:t.prop(&quot;scale&quot;),scaleFract:t.prop(&quot;scaleFract&quot;),translate:t.prop(&quot;translate&quot;),translateFract:t.prop(&quot;translateFract&quot;),opacity:t.prop(&quot;opacity&quot;),marker:t.prop(&quot;marker&quot;)},attributes:{position:S,positionFract:E,size:B.attributes.size,borderSize:B.attributes.borderSize}}));else{var U=s({},B);U.frag=l([&quot;precision mediump float;\n#define GLSLIFY 1\n\nvarying vec4 fragColor, fragBorderColor;\nvarying float fragWidth, fragBorderColorLevel, fragColorLevel;\n\nuniform sampler2D marker;\nuniform float pixelRatio, opacity;\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(marker, gl_PointCoord).r, delta = fragWidth;\n\n  //max-distance alpha\n  if (dist &lt; 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);\n    return;\n  }\n\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&quot;]),U.vert=l([&quot;precision mediump float;\n#define GLSLIFY 1\n\nattribute vec2 position, positionFract;\nattribute float size, borderSize;\nattribute float colorId, borderColorId;\n\nuniform vec2 scale, scaleFract, translate, translateFract;\nuniform float pixelRatio;\nuniform sampler2D palette;\n\nconst float paletteSize = 4096., maxSize = 100.;\nconst float borderLevel = .5;\n\nvarying vec4 fragColor, fragBorderColor;\nvarying float fragPointSize, fragBorderRadius,\n\t\tfragWidth, fragBorderColorLevel, fragColorLevel;\n\nvoid main() {\n  vec4 color = texture2D(palette, vec2((colorId + .5) / paletteSize, 0));\n  vec4 borderColor = texture2D(palette, vec2((borderColorId + .5) / paletteSize, 0));\n\n  float size = size * maxSize / 255.;\n  float borderSize = borderSize * maxSize / 255.;\n\n  gl_PointSize = 2. * size * pixelRatio;\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}\n&quot;]),k=t(U);var V=s({},B);V.frag=l([&quot;precision highp float;\n#define GLSLIFY 1\n\nvarying vec4 fragColor, fragBorderColor;\n\nuniform float opacity;\nvarying float fragBorderRadius, fragWidth;\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 &gt; 1.0 + delta) {\n\t\tdiscard;\n\t\treturn;\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&quot;]),V.vert=l([&quot;precision highp float;\n#define GLSLIFY 1\n\nattribute vec2 position, positionFract;\nattribute float size, borderSize;\nattribute float colorId, borderColorId;\n\nuniform vec2 scale, scaleFract, translate, translateFract;\nuniform float pixelRatio;\nuniform sampler2D palette;\n\nconst float paletteSize = 4096., maxSize = 100.;\n\nvarying vec4 fragColor, fragBorderColor;\nvarying float fragBorderRadius, fragWidth;\n\nvoid main() {\n  vec4 color = texture2D(palette, vec2((colorId + .5) / paletteSize, 0));\n  vec4 borderColor = texture2D(palette, vec2((borderColorId + .5) / paletteSize, 0));\n\n  float size = size * maxSize / 255.;\n  float borderSize = borderSize * maxSize / 255.;\n\n  gl_PointSize = (size + borderSize) * pixelRatio;\n\n  vec2 pos = (position + translate) * scale\n\t\t\t+ (positionFract + translateFract) * scale\n\t\t\t+ (position + translate) * scaleFract\n\t\t\t+ (positionFract + translateFract) * scaleFract;\n\n  gl_Position = vec4(pos * 2. - 1., 0, 1);\n\n  fragBorderRadius = borderSize == 0. ? 2. : 1. - 2. * borderSize / (size + borderSize);\n  fragColor = color;\n  fragBorderColor = borderColor;\n  fragWidth = 1. / gl_PointSize;\n}\n&quot;]),A=t(V)}return s(r,{update:x,draw:p,destroy:M,regl:t,gl:z,canvas:z.canvas,groups:O,markers:R}),r}},{&quot;array-bounds&quot;:48,&quot;binary-search-bounds&quot;:504,&quot;color-id&quot;:97,&quot;color-normalize&quot;:99,&quot;flatten-vertex-data&quot;:143,glslify:505,&quot;is-iexplorer&quot;:284,&quot;object-assign&quot;:462,&quot;pick-by-alias&quot;:473,&quot;snap-points-2d&quot;:534,&quot;to-float32&quot;:547,&quot;update-diff&quot;:558}],504:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,n,i){var a=[&quot;function &quot;,t,&quot;(a,l,h,&quot;,n.join(&quot;,&quot;),&quot;){&quot;,i?&quot;&quot;:&quot;var i=&quot;,r?&quot;l-1&quot;:&quot;h+1&quot;,&quot;;while(l&lt;=h){var m=(l+h)&gt;&gt;&gt;1,x=a[m]&quot;];return i?e.indexOf(&quot;c&quot;)&lt;0?a.push(&quot;;if(x===y){return m}else if(x&lt;=y){&quot;):a.push(&quot;;var p=c(x,y);if(p===0){return m}else if(p&lt;=0){&quot;):a.push(&quot;;if(&quot;,e,&quot;){i=m;&quot;),r?a.push(&quot;l=m+1}else{h=m-1}&quot;):a.push(&quot;h=m-1}else{l=m+1}&quot;),a.push(&quot;}&quot;),i?a.push(&quot;return -1};&quot;):a.push(&quot;return i};&quot;),a.join(&quot;&quot;)}function i(t,e,r,i){return new Function([n(&quot;A&quot;,&quot;x&quot;+t+&quot;y&quot;,e,[&quot;y&quot;],i),n(&quot;P&quot;,&quot;c(x,y)&quot;+t+&quot;0&quot;,e,[&quot;y&quot;,&quot;c&quot;],i),&quot;function dispatchBsearch&quot;,r,&quot;(a,y,c,l,h){if(typeof(c)==='function'){return P(a,(l===void 0)?0:l|0,(h===void 0)?a.length-1:h|0,y,c)}else{return A(a,(c===void 0)?0:c|0,(l===void 0)?a.length-1:l|0,y)}}return dispatchBsearch&quot;,r].join(&quot;&quot;))()}e.exports={ge:i(&quot;&gt;=&quot;,!1,&quot;GE&quot;),gt:i(&quot;&gt;&quot;,!1,&quot;GT&quot;),lt:i(&quot;&lt;&quot;,!0,&quot;LT&quot;),le:i(&quot;&lt;=&quot;,!0,&quot;LE&quot;),eq:i(&quot;-&quot;,!0,&quot;EQ&quot;,!0)}},{}],505:[function(t,e,r){arguments[4][169][0].apply(r,arguments)},{dup:169}],506:[function(t,e,r){!function(t,n){&quot;object&quot;==typeof r&amp;&amp;void 0!==e?e.exports=n():t.createREGL=n()}(this,function(){function t(t,e){this.id=j++,this.type=t,this.data=e}function e(t){if(0===t.length)return[];var r=t.charAt(0),n=t.charAt(t.length-1);if(1&lt;t.length&amp;&amp;r===n&amp;&amp;('&quot;'===r||&quot;'&quot;===r))return['&quot;'+t.substr(1,t.length-2).replace(/\\/g,&quot;\\\\&quot;).replace(/&quot;/g,'\\&quot;')+'&quot;'];if(r=/\[(false|true|null|\d+|'[^']*'|&quot;[^&quot;]*&quot;)\]/.exec(t))return e(t.substr(0,r.index)).concat(e(r[1])).concat(e(t.substr(r.index+r[0].length)));if(1===(r=t.split(&quot;.&quot;)).length)return['&quot;'+t.replace(/\\/g,&quot;\\\\&quot;).replace(/&quot;/g,'\\&quot;')+'&quot;'];for(t=[],n=0;n&lt;r.length;++n)t=t.concat(e(r[n]));return t}function r(t){return&quot;[&quot;+e(t).join(&quot;][&quot;)+&quot;]&quot;}function n(t){return&quot;string&quot;==typeof t?t.split():t}function i(t){return&quot;string&quot;==typeof t?document.querySelector(t):t}function a(t){var e,r,a,o,s=t||{};t={};var l=[],c=[],u=&quot;undefined&quot;==typeof window?1:window.devicePixelRatio,f=!1,h=function(t){},d=function(){};if(&quot;string&quot;==typeof s?e=document.querySelector(s):&quot;object&quot;==typeof s&amp;&amp;(&quot;string&quot;==typeof s.nodeName&amp;&amp;&quot;function&quot;==typeof s.appendChild&amp;&amp;&quot;function&quot;==typeof s.getBoundingClientRect?e=s:&quot;function&quot;==typeof s.drawArrays||&quot;function&quot;==typeof s.drawElements?(o=s,a=o.canvas):(&quot;gl&quot;in s?o=s.gl:&quot;canvas&quot;in s?a=i(s.canvas):&quot;container&quot;in s&amp;&amp;(r=i(s.container)),&quot;attributes&quot;in s&amp;&amp;(t=s.attributes),&quot;extensions&quot;in s&amp;&amp;(l=n(s.extensions)),&quot;optionalExtensions&quot;in s&amp;&amp;(c=n(s.optionalExtensions)),&quot;onDone&quot;in s&amp;&amp;(h=s.onDone),&quot;profile&quot;in s&amp;&amp;(f=!!s.profile),&quot;pixelRatio&quot;in s&amp;&amp;(u=+s.pixelRatio))),e&amp;&amp;(&quot;canvas&quot;===e.nodeName.toLowerCase()?a=e:r=e),!o){if(!a){if(!(e=function(t,e,r){function n(){var e=window.innerWidth,n=window.innerHeight;t!==document.body&amp;&amp;(n=t.getBoundingClientRect(),e=n.right-n.left,n=n.bottom-n.top),i.width=r*e,i.height=r*n,N(i.style,{width:e+&quot;px&quot;,height:n+&quot;px&quot;})}var i=document.createElement(&quot;canvas&quot;);return N(i.style,{border:0,margin:0,padding:0,top:0,left:0}),t.appendChild(i),t===document.body&amp;&amp;(i.style.position=&quot;absolute&quot;,N(t.style,{margin:0,padding:0})),window.addEventListener(&quot;resize&quot;,n,!1),n(),{canvas:i,onDestroy:function(){window.removeEventListener(&quot;resize&quot;,n),t.removeChild(i)}}}(r||document.body,0,u)))return null;a=e.canvas,d=e.onDestroy}o=function(t,e){function r(r){try{return t.getContext(r,e)}catch(t){return null}}return r(&quot;webgl&quot;)||r(&quot;experimental-webgl&quot;)||r(&quot;webgl-experimental&quot;)}(a,t)}return o?{gl:o,canvas:a,container:r,extensions:l,optionalExtensions:c,pixelRatio:u,profile:f,onDone:h,onDestroy:d}:(d(),h(&quot;webgl not supported, try upgrading your browser or graphics drivers http://get.webgl.org&quot;),null)}function o(t){return!!t&amp;&amp;&quot;object&quot;==typeof t&amp;&amp;Array.isArray(t.shape)&amp;&amp;Array.isArray(t.stride)&amp;&amp;&quot;number&quot;==typeof t.offset&amp;&amp;t.shape.length===t.stride.length&amp;&amp;(Array.isArray(t.data)||q(t.data))}function s(t,e){for(var r=Array(t),n=0;n&lt;t;++n)r[n]=e(n);return r}function l(t){var e,r;return e=(65535&lt;t)&lt;&lt;4,t&gt;&gt;&gt;=e,r=(255&lt;t)&lt;&lt;3,t&gt;&gt;&gt;=r,e|=r,r=(15&lt;t)&lt;&lt;2,t&gt;&gt;&gt;=r,e|=r,r=(3&lt;t)&lt;&lt;1,e|r|t&gt;&gt;&gt;r&gt;&gt;1}function c(t){t:{for(var e=16;268435456&gt;=e;e*=16)if(t&lt;=e){t=e;break t}t=0}return 0&lt;(e=G[l(t)&gt;&gt;2]).length?e.pop():new ArrayBuffer(t)}function u(t){G[l(t.byteLength)&gt;&gt;2].push(t)}function f(t,e,r,n,i,a){for(var o=0;o&lt;e;++o)for(var s=t[o],l=0;l&lt;r;++l)for(var c=s[l],u=0;u&lt;n;++u)i[a++]=c[u]}function h(t,e,r,n,i){for(var a=1,o=r+1;o&lt;e.length;++o)a*=e[o];var s=e[r];if(4==e.length-r){var l=e[r+1],c=e[r+2];for(e=e[r+3],o=0;o&lt;s;++o)f(t[o],l,c,e,n,i),i+=a}else for(o=0;o&lt;s;++o)h(t[o],e,r+1,n,i),i+=a}function d(t){return 0|X[Object.prototype.toString.call(t)]}function p(t,e){for(var r=0;r&lt;e.length;++r)t[r]=e[r]}function m(t,e,r,n,i,a,o){for(var s=0,l=0;l&lt;r;++l)for(var c=0;c&lt;n;++c)t[s++]=e[i*l+a*c+o]}function g(t){for(var e=Y.allocType(5123,t.length),r=0;r&lt;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{et[0]=t[r];var n=(a=rt[0])&gt;&gt;&gt;31&lt;&lt;15,i=(a&lt;&lt;1&gt;&gt;&gt;24)-127,a=a&gt;&gt;13&amp;1023;e[r]=-24&gt;i?n:-14&gt;i?n+(a+1024&gt;&gt;-14-i):15&lt;i?n+31744:n+(i+15&lt;&lt;10)+a}return e}function v(t){return Array.isArray(t)||q(t)}function y(t){return Array.isArray(t)&amp;&amp;(0===t.length||&quot;number&quot;==typeof t[0])}function x(t){return!(!Array.isArray(t)||0===t.length||!v(t[0]))}function b(t){return Object.prototype.toString.call(t)}function _(t){if(!t)return!1;var e=b(t);return 0&lt;=ot.indexOf(e)||(y(t)||x(t)||o(t))}function w(t,e){36193===t.type?(t.data=g(e),Y.freeType(e)):t.data=e}function M(t,e,r,n,i,a){if(t=void 0!==lt[t]?lt[t]:at[t]*st[e],a&amp;&amp;(t*=6),i){for(n=0;1&lt;=r;)n+=t*r*r,r/=2;return n}return t*r*n}function k(t,e,r,n,i,a,s){function l(){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(&quot;object&quot;==typeof e&amp;&amp;e){&quot;premultiplyAlpha&quot;in e&amp;&amp;(t.premultiplyAlpha=e.premultiplyAlpha),&quot;flipY&quot;in e&amp;&amp;(t.flipY=e.flipY),&quot;alignment&quot;in e&amp;&amp;(t.unpackAlignment=e.alignment),&quot;colorSpace&quot;in e&amp;&amp;(t.colorSpace=V[e.colorSpace]),&quot;type&quot;in e&amp;&amp;(t.type=G[e.type]);var r=t.width,n=t.height,i=t.channels,a=!1;&quot;shape&quot;in e?(r=e.shape[0],n=e.shape[1],3===e.shape.length&amp;&amp;(i=e.shape[2],a=!0)):(&quot;radius&quot;in e&amp;&amp;(r=n=e.radius),&quot;width&quot;in e&amp;&amp;(r=e.width),&quot;height&quot;in e&amp;&amp;(n=e.height),&quot;channels&quot;in e&amp;&amp;(i=e.channels,a=!0)),t.width=0|r,t.height=0|n,t.channels=0|i,r=!1,&quot;format&quot;in e&amp;&amp;(r=e.format,n=t.internalformat=Z[r],t.format=st[n],r in G&amp;&amp;!(&quot;type&quot;in e)&amp;&amp;(t.type=G[r]),r in J&amp;&amp;(t.compressed=!0),r=!0),!a&amp;&amp;r?t.channels=at[t.format]:a&amp;&amp;!r&amp;&amp;t.channels!==it[t.format]&amp;&amp;(t.format=t.internalformat=it[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(){l.call(this),this.yOffset=this.xOffset=0,this.data=null,this.needsFree=!1,this.element=null,this.needsCopy=!1}function d(t,e){var r=null;if(_(e)?r=e:e&amp;&amp;(u(t,e),&quot;x&quot;in e&amp;&amp;(t.xOffset=0|e.x),&quot;y&quot;in e&amp;&amp;(t.yOffset=0|e.y),_(e.data)&amp;&amp;(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(q(r))t.channels=t.channels||4,t.data=r,&quot;type&quot;in e||5121!==t.type||(t.type=0|X[Object.prototype.toString.call(r)]);else if(y(r)){switch(t.channels=t.channels||4,n=r,a=n.length,t.type){case 5121:case 5123:case 5125:case 5126:(a=Y.allocType(t.type,a)).set(n),t.data=a;break;case 36193:t.data=g(n)}t.alignment=1,t.needsFree=!0}else if(o(r)){n=r.data,Array.isArray(n)||5121!==t.type||(t.type=0|X[Object.prototype.toString.call(n)]);a=r.shape;var s,l,c,f,h=r.stride;3===a.length?(c=a[2],f=h[2]):f=c=1,s=a[0],l=a[1],a=h[0],h=h[1],t.alignment=1,t.width=s,t.height=l,t.channels=c,t.format=t.internalformat=it[c],t.needsFree=!0,s=f,r=r.offset,c=t.width,f=t.height,l=t.channels;for(var d=Y.allocType(36193===t.type?5126:t.type,c*f*l),p=0,m=0;m&lt;f;++m)for(var M=0;M&lt;c;++M)for(var k=0;k&lt;l;++k)d[p++]=n[a*M+h*m+s*k+r];w(t,d)}else if(&quot;[object HTMLCanvasElement]&quot;===b(r)||&quot;[object CanvasRenderingContext2D]&quot;===b(r))&quot;[object HTMLCanvasElement]&quot;===b(r)?t.element=r:t.element=r.canvas,t.width=t.element.width,t.height=t.element.height,t.channels=4;else if(&quot;[object HTMLImageElement]&quot;===b(r))t.element=r,t.width=r.naturalWidth,t.height=r.naturalHeight,t.channels=4;else if(&quot;[object HTMLVideoElement]&quot;===b(r))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=v(r[0][0])?h||r[0][0].length:h||1,s=W.shape(r),c=1,f=0;f&lt;s.length;++f)c*=s[f];c=Y.allocType(36193===t.type?5126:t.type,c),W.flatten(r,s,&quot;&quot;,c),w(t,c),t.alignment=1,t.width=n,t.height=a,t.channels=h,t.format=t.internalformat=it[h],t.needsFree=!0}}else t.width=t.width||1,t.height=t.height||1,t.channels=t.channels||4}function p(e,r,i,a,o){var s=e.element,l=e.data,c=e.internalformat,u=e.format,h=e.type,d=e.width,p=e.height;f(e),s?t.texSubImage2D(r,o,i,a,u,h,s):e.compressed?t.compressedTexSubImage2D(r,o,i,a,c,d,p,l):e.needsCopy?(n(),t.copyTexSubImage2D(r,o,i,a,e.xOffset,e.yOffset,d,p)):t.texSubImage2D(r,o,i,a,d,p,u,h,l)}function m(){return lt.pop()||new h}function k(t){t.needsFree&amp;&amp;Y.freeType(t.data),h.call(t),lt.push(t)}function A(t,e,r){var n=t.images[0]=m();t.mipmask=1,n.width=t.width=e,n.height=t.height=r,n.channels=t.channels=4}function T(t,e){var r=null;if(_(e))r=t.images[0]=m(),c(r,t),d(r,e),t.mipmask=1;else if(u(t,e),Array.isArray(e.mipmap))for(var n=e.mipmap,i=0;i&lt;n.length;++i)r=t.images[i]=m(),c(r,t),r.width&gt;&gt;=i,r.height&gt;&gt;=i,d(r,n[i]),t.mipmask|=1&lt;&lt;i;else r=t.images[0]=m(),c(r,t),d(r,e),t.mipmask=1;c(t,t.images[0])}function S(e,r){for(var i=e.images,a=0;a&lt;i.length&amp;&amp;i[a];++a){var o=i[a],s=r,l=a,c=o.element,u=o.data,h=o.internalformat,d=o.format,p=o.type,m=o.width,g=o.height;f(o),c?t.texImage2D(s,l,d,d,p,c):o.compressed?t.compressedTexImage2D(s,l,h,m,g,0,u):o.needsCopy?(n(),t.copyTexImage2D(s,l,d,o.xOffset,o.yOffset,m,g,0)):t.texImage2D(s,l,d,m,g,0,d,p,u)}}function E(){var t=ct.pop()||new function(){l.call(this),this.genMipmaps=!1,this.mipmapHint=4352,this.mipmask=0,this.images=Array(16)};l.call(t);for(var e=t.mipmask=0;16&gt;e;++e)t.images[e]=null;return t}function L(t){for(var e=t.images,r=0;r&lt;e.length;++r)e[r]&amp;&amp;k(e[r]),e[r]=null;ct.push(t)}function C(){this.magFilter=this.minFilter=9728,this.wrapT=this.wrapS=33071,this.anisotropic=1,this.genMipmaps=!1,this.mipmapHint=4352}function z(t,e){&quot;min&quot;in e&amp;&amp;(t.minFilter=U[e.min],0&lt;=nt.indexOf(t.minFilter)&amp;&amp;(t.genMipmaps=!0)),&quot;mag&quot;in e&amp;&amp;(t.magFilter=B[e.mag]);var r=t.wrapS,n=t.wrapT;if(&quot;wrap&quot;in e){var i=e.wrap;&quot;string&quot;==typeof i?r=n=j[i]:Array.isArray(i)&amp;&amp;(r=j[i[0]],n=j[i[1]])}else&quot;wrapS&quot;in e&amp;&amp;(r=j[e.wrapS]),&quot;wrapT&quot;in e&amp;&amp;(n=j[e.wrapT]);if(t.wrapS=r,t.wrapT=n,&quot;anisotropic&quot;in e&amp;&amp;(t.anisotropic=e.anisotropic),&quot;mipmap&quot;in e){switch(r=!1,typeof e.mipmap){case&quot;string&quot;:t.mipmapHint=R[e.mipmap],r=t.genMipmaps=!0;break;case&quot;boolean&quot;:r=t.genMipmaps=e.mipmap;break;case&quot;object&quot;:t.genMipmaps=!1,r=!0}!r||&quot;min&quot;in e||(t.minFilter=9984)}}function D(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&amp;&amp;t.texParameteri(n,34046,r.anisotropic),r.genMipmaps&amp;&amp;(t.hint(33170,r.mipmapHint),t.generateMipmap(n))}function I(e){l.call(this),this.mipmask=0,this.internalformat=6408,this.id=ut++,this.refCount=1,this.target=e,this.texture=t.createTexture(),this.unit=-1,this.bindCount=0,this.texInfo=new C,s.profile&amp;&amp;(this.stats={size:0})}function P(e){t.activeTexture(33984),t.bindTexture(e.target,e.texture)}function O(){var e=dt[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&lt;=n&amp;&amp;(t.activeTexture(33984+n),t.bindTexture(i,null),dt[n]=null),t.deleteTexture(r),e.texture=null,e.params=null,e.pixels=null,e.refCount=0,delete ft[e.id],a.textureCount--}var R={&quot;don't care&quot;:4352,&quot;dont care&quot;:4352,nice:4354,fast:4353},j={repeat:10497,clamp:33071,mirror:33648},B={nearest:9728,linear:9729},U=N({mipmap:9987,&quot;nearest mipmap nearest&quot;:9984,&quot;linear mipmap nearest&quot;:9985,&quot;nearest mipmap linear&quot;:9986,&quot;linear mipmap linear&quot;:9987},B),V={none:0,browser:37444},G={uint8:5121,rgba4:32819,rgb565:33635,&quot;rgb5 a1&quot;:32820},Z={alpha:6406,luminance:6409,&quot;luminance alpha&quot;:6410,rgb:6407,rgba:6408,rgba4:32854,&quot;rgb5 a1&quot;:32855,rgb565:36194},J={};e.ext_srgb&amp;&amp;(Z.srgb=35904,Z.srgba=35906),e.oes_texture_float&amp;&amp;(G.float32=G.float=5126),e.oes_texture_half_float&amp;&amp;(G.float16=G[&quot;half float&quot;]=36193),e.webgl_depth_texture&amp;&amp;(N(Z,{depth:6402,&quot;depth stencil&quot;:34041}),N(G,{uint16:5123,uint32:5125,&quot;depth stencil&quot;:34042})),e.webgl_compressed_texture_s3tc&amp;&amp;N(J,{&quot;rgb s3tc dxt1&quot;:33776,&quot;rgba s3tc dxt1&quot;:33777,&quot;rgba s3tc dxt3&quot;:33778,&quot;rgba s3tc dxt5&quot;:33779}),e.webgl_compressed_texture_atc&amp;&amp;N(J,{&quot;rgb atc&quot;:35986,&quot;rgba atc explicit alpha&quot;:35987,&quot;rgba atc interpolated alpha&quot;:34798}),e.webgl_compressed_texture_pvrtc&amp;&amp;N(J,{&quot;rgb pvrtc 4bppv1&quot;:35840,&quot;rgb pvrtc 2bppv1&quot;:35841,&quot;rgba pvrtc 4bppv1&quot;:35842,&quot;rgba pvrtc 2bppv1&quot;:35843}),e.webgl_compressed_texture_etc1&amp;&amp;(J[&quot;rgb etc1&quot;]=36196);var K=Array.prototype.slice.call(t.getParameter(34467));Object.keys(J).forEach(function(t){var e=J[t];0&lt;=K.indexOf(e)&amp;&amp;(Z[t]=e)});var Q=Object.keys(Z);r.textureFormats=Q;var $=[];Object.keys(Z).forEach(function(t){$[Z[t]]=t});var tt=[];Object.keys(G).forEach(function(t){tt[G[t]]=t});var et=[];Object.keys(B).forEach(function(t){et[B[t]]=t});var rt=[];Object.keys(U).forEach(function(t){rt[U[t]]=t});var ot=[];Object.keys(j).forEach(function(t){ot[j[t]]=t});var st=Q.reduce(function(t,e){var r=Z[e];return 6409===r||6406===r||6409===r||6410===r||6402===r||34041===r?t[r]=r:32855===r||0&lt;=e.indexOf(&quot;rgba&quot;)?t[r]=6408:t[r]=6407,t},{}),lt=[],ct=[],ut=0,ft={},ht=r.maxTextureUnits,dt=Array(ht).map(function(){return null});return N(I.prototype,{bind:function(){this.bindCount+=1;var e=this.unit;if(0&gt;e){for(var r=0;r&lt;ht;++r){var n=dt[r];if(n){if(0&lt;n.bindCount)continue;n.unit=-1}dt[r]=this,e=r;break}s.profile&amp;&amp;a.maxTextureUnits&lt;e+1&amp;&amp;(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&gt;=--this.refCount&amp;&amp;F(this)}}),s.profile&amp;&amp;(a.getTotalTextureSize=function(){var t=0;return Object.keys(ft).forEach(function(e){t+=ft[e].stats.size}),t}),{create2D:function(e,r){function n(t,e){var r=i.texInfo;C.call(r);var a=E();return&quot;number&quot;==typeof t?&quot;number&quot;==typeof e?A(a,0|t,0|e):A(a,0|t,0|t):t?(z(r,t),T(a,t)):A(a,1,1),r.genMipmaps&amp;&amp;(a.mipmask=(a.width&lt;&lt;1)-1),i.mipmask=a.mipmask,c(i,a),i.internalformat=a.internalformat,n.width=a.width,n.height=a.height,P(i),S(a,3553),D(r,3553),O(),L(a),s.profile&amp;&amp;(i.stats.size=M(i.internalformat,i.type,a.width,a.height,r.genMipmaps,!1)),n.format=$[i.internalformat],n.type=tt[i.type],n.mag=et[r.magFilter],n.min=rt[r.minFilter],n.wrapS=ot[r.wrapS],n.wrapT=ot[r.wrapT],n}var i=new I(3553);return ft[i.id]=i,a.textureCount++,n(e,r),n.subimage=function(t,e,r,a){e|=0,r|=0,a|=0;var o=m();return c(o,i),o.width=0,o.height=0,d(o,t),o.width=o.width||(i.width&gt;&gt;a)-e,o.height=o.height||(i.height&gt;&gt;a)-r,P(i),p(o,3553,e,r,a),O(),k(o),n},n.resize=function(e,r){var a=0|e,o=0|r||a;if(a===i.width&amp;&amp;o===i.height)return n;n.width=i.width=a,n.height=i.height=o,P(i);for(var l=0;i.mipmask&gt;&gt;l;++l)t.texImage2D(3553,l,i.format,a&gt;&gt;l,o&gt;&gt;l,0,i.format,i.type,null);return O(),s.profile&amp;&amp;(i.stats.size=M(i.internalformat,i.type,a,o,!1,!1)),n},n._reglType=&quot;texture2d&quot;,n._texture=i,s.profile&amp;&amp;(n.stats=i.stats),n.destroy=function(){i.decRef()},n},createCube:function(e,r,n,i,o,l){function f(t,e,r,n,i,a){var o,l=h.texInfo;for(C.call(l),o=0;6&gt;o;++o)g[o]=E();if(&quot;number&quot;!=typeof t&amp;&amp;t){if(&quot;object&quot;==typeof t)if(e)T(g[0],t),T(g[1],e),T(g[2],r),T(g[3],n),T(g[4],i),T(g[5],a);else if(z(l,t),u(h,t),&quot;faces&quot;in t)for(t=t.faces,o=0;6&gt;o;++o)c(g[o],h),T(g[o],t[o]);else for(o=0;6&gt;o;++o)T(g[o],t)}else for(t=0|t||1,o=0;6&gt;o;++o)A(g[o],t,t);for(c(h,g[0]),h.mipmask=l.genMipmaps?(g[0].width&lt;&lt;1)-1:g[0].mipmask,h.internalformat=g[0].internalformat,f.width=g[0].width,f.height=g[0].height,P(h),o=0;6&gt;o;++o)S(g[o],34069+o);for(D(l,34067),O(),s.profile&amp;&amp;(h.stats.size=M(h.internalformat,h.type,f.width,f.height,l.genMipmaps,!0)),f.format=$[h.internalformat],f.type=tt[h.type],f.mag=et[l.magFilter],f.min=rt[l.minFilter],f.wrapS=ot[l.wrapS],f.wrapT=ot[l.wrapT],o=0;6&gt;o;++o)L(g[o]);return f}var h=new I(34067);ft[h.id]=h,a.cubeCount++;var g=Array(6);return f(e,r,n,i,o,l),f.subimage=function(t,e,r,n,i){r|=0,n|=0,i|=0;var a=m();return c(a,h),a.width=0,a.height=0,d(a,e),a.width=a.width||(h.width&gt;&gt;i)-r,a.height=a.height||(h.height&gt;&gt;i)-n,P(h),p(a,34069+t,r,n,i),O(),k(a),f},f.resize=function(e){if((e|=0)!==h.width){f.width=h.width=e,f.height=h.height=e,P(h);for(var r=0;6&gt;r;++r)for(var n=0;h.mipmask&gt;&gt;n;++n)t.texImage2D(34069+r,n,h.format,e&gt;&gt;n,e&gt;&gt;n,0,h.format,h.type,null);return O(),s.profile&amp;&amp;(h.stats.size=M(h.internalformat,h.type,f.width,f.height,!1,!0)),f}},f._reglType=&quot;textureCube&quot;,f._texture=h,s.profile&amp;&amp;(f.stats=h.stats),f.destroy=function(){h.decRef()},f},clear:function(){for(var e=0;e&lt;ht;++e)t.activeTexture(33984+e),t.bindTexture(3553,null),dt[e]=null;H(ft).forEach(F),a.cubeCount=0,a.textureCount=0},getTexture:function(t){return null},restore:function(){H(ft).forEach(function(e){e.texture=t.createTexture(),t.bindTexture(e.target,e.texture);for(var r=0;32&gt;r;++r)if(0!=(e.mipmask&amp;1&lt;&lt;r))if(3553===e.target)t.texImage2D(3553,r,e.internalformat,e.width&gt;&gt;r,e.height&gt;&gt;r,0,e.internalformat,e.type,null);else for(var n=0;6&gt;n;++n)t.texImage2D(34069+n,r,e.internalformat,e.width&gt;&gt;r,e.height&gt;&gt;r,0,e.internalformat,e.type,null);D(e.texInfo,e.target)})}}}function A(){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 T(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&lt;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?l:c)[n])){var a=e.str(n),o=t.createShader(r);t.shaderSource(o,a),t.compileShader(o),i[n]=o}return o}function s(r,s){var l,c;l=o(35632,r.fragId),c=o(35633,r.vertId);var u=r.program=t.createProgram();t.attachShader(u,l),t.attachShader(u,c),t.linkProgram(u);var f=t.getProgramParameter(u,35718);n.profile&amp;&amp;(r.stats.uniformsCount=f);var h=r.uniforms;for(l=0;l&lt;f;++l)if(c=t.getActiveUniform(u,l))if(1&lt;c.size)for(var d=0;d&lt;c.size;++d){var p=c.name.replace(&quot;[0]&quot;,&quot;[&quot;+d+&quot;]&quot;);a(h,new i(p,e.id(p),t.getUniformLocation(u,p),c))}else a(h,new i(c.name,e.id(c.name),t.getUniformLocation(u,c.name),c));for(f=t.getProgramParameter(u,35721),n.profile&amp;&amp;(r.stats.attributesCount=f),h=r.attributes,l=0;l&lt;f;++l)(c=t.getActiveAttrib(u,l))&amp;&amp;a(h,new i(c.name,e.id(c.name),t.getAttribLocation(u,c.name),c))}var l={},c={},u={},f=[],h=0;return n.profile&amp;&amp;(r.getMaxUniformsCount=function(){var t=0;return f.forEach(function(e){e.stats.uniformsCount&gt;t&amp;&amp;(t=e.stats.uniformsCount)}),t},r.getMaxAttributesCount=function(){var t=0;return f.forEach(function(e){e.stats.attributesCount&gt;t&amp;&amp;(t=e.stats.attributesCount)}),t}),{clear:function(){var e=t.deleteShader.bind(t);H(l).forEach(e),l={},H(c).forEach(e),c={},f.forEach(function(e){t.deleteProgram(e.program)}),f.length=0,u={},r.shaderCount=0},program:function(t,e,i){var a=u[e];a||(a=u[e]={});var o=a[t];return o||(o=new function(t,e){this.id=h++,this.fragId=t,this.vertId=e,this.program=null,this.uniforms=[],this.attributes=[],n.profile&amp;&amp;(this.stats={uniformsCount:0,attributesCount:0})}(e,t),r.shaderCount++,s(o),a[t]=o,f.push(o)),o},restore:function(){l={},c={};for(var t=0;t&lt;f.length;++t)s(f[t])},shader:o,frag:-1,vert:-1}}function S(t,e,r,n,i,a){function o(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 q(i)?u=i:i&amp;&amp;(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&amp;&amp;(u=u||new Float32Array(i))),t.pixelStorei(3333,4),t.readPixels(o,s,l,c,6408,a,u),u}return function(t){return t&amp;&amp;&quot;framebuffer&quot;in t?function(t){var r;return e.setFBO({framebuffer:t.framebuffer},function(){r=o(t)}),r}(t):o(t)}}function E(t){return Array.prototype.slice.call(t)}function L(t){return E(t).join(&quot;&quot;)}function C(t){return Array.isArray(t)||q(t)||o(t)}function z(t){return t.sort(function(t,e){return&quot;viewport&quot;===t?-1:&quot;viewport&quot;===e?1:t&lt;e?-1:1})}function D(t,e,r,n){this.thisDep=t,this.contextDep=e,this.propDep=r,this.append=n}function I(t){return t&amp;&amp;!(t.thisDep||t.contextDep||t.propDep)}function P(t){return new D(!1,!1,!1,t)}function O(t,e){var r=t.type;return 0===r?(r=t.data.length,new D(!0,1&lt;=r,2&lt;=r,e)):4===r?(r=t.data,new D(r.thisDep,r.contextDep,r.propDep,e)):new D(3===r,2===r,1===r,e)}function F(t,e,r,n,i,a,o,l,c,u,f,h,d,p,m){function g(t){return t.replace(&quot;.&quot;,&quot;_&quot;)}function y(t,e,r){var n=g(t);$.push(t),Q[n]=K[n]=!!r,et[n]=e}function x(t,e,r){var n=g(t);$.push(t),Array.isArray(r)?(K[n]=r.slice(),Q[n]=r.slice()):K[n]=Q[n]=r,rt[n]=e}function b(){var t=function(){function t(){var t=[],e=[];return N(function(){t.push.apply(t,E(arguments))},{def:function(){var n=&quot;v&quot;+r++;return e.push(n),0&lt;arguments.length&amp;&amp;(t.push(n,&quot;=&quot;),t.push.apply(t,E(arguments)),t.push(&quot;;&quot;)),n},toString:function(){return L([0&lt;e.length?&quot;var &quot;+e+&quot;;&quot;:&quot;&quot;,L(t)])}})}function e(){function e(t,e){n(t,e,&quot;=&quot;,r.def(t,e),&quot;;&quot;)}var r=t(),n=t(),i=r.toString,a=n.toString;return N(function(){r.apply(r,E(arguments))},{def:r.def,entry:r,exit:n,save:e,set:function(t,n,i){e(t,n),r(t,n,&quot;=&quot;,i,&quot;;&quot;)},toString:function(){return i()+a()}})}var r=0,n=[],i=[],a=t(),o={};return{global:a,link:function(t){for(var e=0;e&lt;i.length;++e)if(i[e]===t)return n[e];return e=&quot;g&quot;+r++,n.push(e),i.push(t),e},block:t,proc:function(t,r){function n(){var t=&quot;a&quot;+i.length;return i.push(t),t}var i=[];r=r||0;for(var a=0;a&lt;r;++a)n();var s=(a=e()).toString;return o[t]=N(a,{arg:n,toString:function(){return L([&quot;function(&quot;,i.join(),&quot;){&quot;,s(),&quot;}&quot;])}})},scope:e,cond:function(){var t=L(arguments),r=e(),n=e(),i=r.toString,a=n.toString;return N(r,{then:function(){return r.apply(r,E(arguments)),this},else:function(){return n.apply(n,E(arguments)),this},toString:function(){var e=a();return e&amp;&amp;(e=&quot;else{&quot;+e+&quot;}&quot;),L([&quot;if(&quot;,t,&quot;){&quot;,i(),&quot;}&quot;,e])}})},compile:function(){var t=['&quot;use strict&quot;;',a,&quot;return {&quot;];Object.keys(o).forEach(function(e){t.push('&quot;',e,'&quot;:',o[e].toString(),&quot;,&quot;)}),t.push(&quot;}&quot;);var e=L(t).replace(/;/g,&quot;;\n&quot;).replace(/}/g,&quot;}\n&quot;).replace(/{/g,&quot;{\n&quot;);return Function.apply(null,n.concat(e)).apply(null,i)}}}(),r=t.link,n=t.global;t.id=at++,t.batchId=&quot;0&quot;;var i=r(nt),a=t.shared={props:&quot;a0&quot;};Object.keys(nt).forEach(function(t){a[t]=n.def(i,&quot;.&quot;,t)});var o=t.next={},s=t.current={};Object.keys(rt).forEach(function(t){Array.isArray(K[t])&amp;&amp;(o[t]=n.def(a.next,&quot;.&quot;,t),s[t]=n.def(a.current,&quot;.&quot;,t))});var l=t.constants={};Object.keys(it).forEach(function(t){l[t]=n.def(JSON.stringify(it[t]))}),t.invoke=function(e,n){switch(n.type){case 0:var i=[&quot;this&quot;,a.context,a.props,t.batchId];return e.def(r(n.data),&quot;.call(&quot;,i.slice(0,Math.max(n.data.length+1,4)),&quot;)&quot;);case 1:return e.def(a.props,n.data);case 2:return e.def(a.context,n.data);case 3:return e.def(&quot;this&quot;,n.data);case 4:return n.data.append(t,e),n.data.ref}},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 Y),c[t]=r(n)},t}function _(t,r,n,o,c){var u=function(t,e){var r=t.static,n=t.dynamic;if(&quot;framebuffer&quot;in r){var i=r.framebuffer;return i?(i=l.getFramebuffer(i),P(function(t,e){var r=t.link(i),n=t.shared;return e.set(n.framebuffer,&quot;.next&quot;,r),n=n.context,e.set(n,&quot;.framebufferWidth&quot;,r+&quot;.width&quot;),e.set(n,&quot;.framebufferHeight&quot;,r+&quot;.height&quot;),r})):P(function(t,e){var r=t.shared;return e.set(r.framebuffer,&quot;.next&quot;,&quot;null&quot;),r=r.context,e.set(r,&quot;.framebufferWidth&quot;,r+&quot;.drawingBufferWidth&quot;),e.set(r,&quot;.framebufferHeight&quot;,r+&quot;.drawingBufferHeight&quot;),&quot;null&quot;})}if(&quot;framebuffer&quot;in n){var a=n.framebuffer;return O(a,function(t,e){var r=t.invoke(e,a),n=t.shared,i=n.framebuffer;return r=e.def(i,&quot;.getFramebuffer(&quot;,r,&quot;)&quot;),e.set(i,&quot;.next&quot;,r),n=n.context,e.set(n,&quot;.framebufferWidth&quot;,r+&quot;?&quot;+r+&quot;.width:&quot;+n+&quot;.drawingBufferWidth&quot;),e.set(n,&quot;.framebufferHeight&quot;,r+&quot;?&quot;+r+&quot;.height:&quot;+n+&quot;.drawingBufferHeight&quot;),r})}return null}(t),h=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&quot;width&quot;in r?n=0|r.width:t=!1,&quot;height&quot;in r?o=0|r.height:t=!1,new D(!t&amp;&amp;e&amp;&amp;e.thisDep,!t&amp;&amp;e&amp;&amp;e.contextDep,!t&amp;&amp;e&amp;&amp;e.propDep,function(t,e){var i=t.shared.context,a=n;&quot;width&quot;in r||(a=e.def(i,&quot;.&quot;,&quot;framebufferWidth&quot;,&quot;-&quot;,s));var c=o;return&quot;height&quot;in r||(c=e.def(i,&quot;.&quot;,&quot;framebufferHeight&quot;,&quot;-&quot;,l)),[s,l,a,c]})}if(t in a){var c=a[t];return t=O(c,function(t,e){var r=t.invoke(e,c),n=t.shared.context,i=e.def(r,&quot;.x|0&quot;),a=e.def(r,&quot;.y|0&quot;);return[i,a,e.def('&quot;width&quot; in ',r,&quot;?&quot;,r,&quot;.width|0:&quot;,&quot;(&quot;,n,&quot;.&quot;,&quot;framebufferWidth&quot;,&quot;-&quot;,i,&quot;)&quot;),r=e.def('&quot;height&quot; in ',r,&quot;?&quot;,r,&quot;.height|0:&quot;,&quot;(&quot;,n,&quot;.&quot;,&quot;framebufferHeight&quot;,&quot;-&quot;,a,&quot;)&quot;)]}),e&amp;&amp;(t.thisDep=t.thisDep||e.thisDep,t.contextDep=t.contextDep||e.contextDep,t.propDep=t.propDep||e.propDep),t}return e?new D(e.thisDep,e.contextDep,e.propDep,function(t,e){var r=t.shared.context;return[0,0,e.def(r,&quot;.&quot;,&quot;framebufferWidth&quot;),e.def(r,&quot;.&quot;,&quot;framebufferHeight&quot;)]}):null}var i=t.static,a=t.dynamic;if(t=n(&quot;viewport&quot;)){var o=t;t=new D(t.thisDep,t.contextDep,t.propDep,function(t,e){var r=o.append(t,e),n=t.shared.context;return e.set(n,&quot;.viewportWidth&quot;,r[2]),e.set(n,&quot;.viewportHeight&quot;,r[3]),r})}return{viewport:t,scissor_box:n(&quot;scissor.box&quot;)}}(t,u),d=function(t,e){function r(t,e){if(t in n){var r=0|n[t];return P(function(t,n){return e&amp;&amp;(t.OFFSET=r),r})}if(t in i){var a=i[t];return O(a,function(t,r){var n=t.invoke(r,a);return e&amp;&amp;(t.OFFSET=n),n})}return e&amp;&amp;o?P(function(t,e){return t.OFFSET=&quot;0&quot;,0}):null}var n=t.static,i=t.dynamic,o=function(){if(&quot;elements&quot;in n){var t=n.elements;C(t)?t=a.getElements(a.create(t,!0)):t&amp;&amp;(t=a.getElements(t));var e=P(function(e,r){if(t){var n=e.link(t);return e.ELEMENTS=n}return e.ELEMENTS=null});return e.value=t,e}if(&quot;elements&quot;in i){var r=i.elements;return O(r,function(t,e){var n=(i=t.shared).isBufferArgs,i=i.elements,a=t.invoke(e,r),o=e.def(&quot;null&quot;);return n=e.def(n,&quot;(&quot;,a,&quot;)&quot;),a=t.cond(n).then(o,&quot;=&quot;,i,&quot;.createStream(&quot;,a,&quot;);&quot;).else(o,&quot;=&quot;,i,&quot;.getElements(&quot;,a,&quot;);&quot;),e.entry(a),e.exit(t.cond(n).then(i,&quot;.destroyStream(&quot;,o,&quot;);&quot;)),t.ELEMENTS=o})}return null}(),s=r(&quot;offset&quot;,!0);return{elements:o,primitive:function(){if(&quot;primitive&quot;in n){var t=n.primitive;return P(function(e,r){return tt[t]})}if(&quot;primitive&quot;in i){var e=i.primitive;return O(e,function(t,r){var n=t.constants.primTypes,i=t.invoke(r,e);return r.def(n,&quot;[&quot;,i,&quot;]&quot;)})}return o?I(o)?P(o.value?function(t,e){return e.def(t.ELEMENTS,&quot;.primType&quot;)}:function(){return 4}):new D(o.thisDep,o.contextDep,o.propDep,function(t,e){var r=t.ELEMENTS;return e.def(r,&quot;?&quot;,r,&quot;.primType:&quot;,4)}):null}(),count:function(){if(&quot;count&quot;in n){var t=0|n.count;return P(function(){return t})}if(&quot;count&quot;in i){var e=i.count;return O(e,function(t,r){return t.invoke(r,e)})}return o?I(o)?o?s?new D(s.thisDep,s.contextDep,s.propDep,function(t,e){return e.def(t.ELEMENTS,&quot;.vertCount-&quot;,t.OFFSET)}):P(function(t,e){return e.def(t.ELEMENTS,&quot;.vertCount&quot;)}):P(function(){return-1}):new D(o.thisDep||s.thisDep,o.contextDep||s.contextDep,o.propDep||s.propDep,function(t,e){var r=t.ELEMENTS;return t.OFFSET?e.def(r,&quot;?&quot;,r,&quot;.vertCount-&quot;,t.OFFSET,&quot;:-1&quot;):e.def(r,&quot;?&quot;,r,&quot;.vertCount:-1&quot;)}):null}(),instances:r(&quot;instances&quot;,!1),offset:s}}(t),p=function(t,e){var r=t.static,n=t.dynamic,i={};return $.forEach(function(t){function e(e,o){if(t in r){var s=e(r[t]);i[a]=P(function(){return s})}else if(t in n){var l=n[t];i[a]=O(l,function(t,e){return o(t,e,t.invoke(e,l))})}}var a=g(t);switch(t){case&quot;cull.enable&quot;:case&quot;blend.enable&quot;:case&quot;dither&quot;:case&quot;stencil.enable&quot;:case&quot;depth.enable&quot;:case&quot;scissor.enable&quot;:case&quot;polygonOffset.enable&quot;:case&quot;sample.alpha&quot;:case&quot;sample.enable&quot;:case&quot;depth.mask&quot;:return e(function(t){return t},function(t,e,r){return r});case&quot;depth.func&quot;:return e(function(t){return mt[t]},function(t,e,r){return e.def(t.constants.compareFuncs,&quot;[&quot;,r,&quot;]&quot;)});case&quot;depth.range&quot;:return e(function(t){return t},function(t,e,r){return t=e.def(&quot;+&quot;,r,&quot;[0]&quot;),e=e.def(&quot;+&quot;,r,&quot;[1]&quot;),[t,e]});case&quot;blend.func&quot;:return e(function(t){return[pt[&quot;srcRGB&quot;in t?t.srcRGB:t.src],pt[&quot;dstRGB&quot;in t?t.dstRGB:t.dst],pt[&quot;srcAlpha&quot;in t?t.srcAlpha:t.src],pt[&quot;dstAlpha&quot;in t?t.dstAlpha:t.dst]]},function(t,e,r){function n(t,n){return e.def('&quot;',t,n,'&quot; in ',r,&quot;?&quot;,r,&quot;.&quot;,t,n,&quot;:&quot;,r,&quot;.&quot;,t)}t=t.constants.blendFuncs;var i=n(&quot;src&quot;,&quot;RGB&quot;),a=n(&quot;dst&quot;,&quot;RGB&quot;),o=(i=e.def(t,&quot;[&quot;,i,&quot;]&quot;),e.def(t,&quot;[&quot;,n(&quot;src&quot;,&quot;Alpha&quot;),&quot;]&quot;));return a=e.def(t,&quot;[&quot;,a,&quot;]&quot;),t=e.def(t,&quot;[&quot;,n(&quot;dst&quot;,&quot;Alpha&quot;),&quot;]&quot;),[i,a,o,t]});case&quot;blend.equation&quot;:return e(function(t){return&quot;string&quot;==typeof t?[W[t],W[t]]:&quot;object&quot;==typeof t?[W[t.rgb],W[t.alpha]]:void 0},function(t,e,r){var n=t.constants.blendEquations,i=e.def(),a=e.def();return(t=t.cond(&quot;typeof &quot;,r,'===&quot;string&quot;')).then(i,&quot;=&quot;,a,&quot;=&quot;,n,&quot;[&quot;,r,&quot;];&quot;),t.else(i,&quot;=&quot;,n,&quot;[&quot;,r,&quot;.rgb];&quot;,a,&quot;=&quot;,n,&quot;[&quot;,r,&quot;.alpha];&quot;),e(t),[i,a]});case&quot;blend.color&quot;:return e(function(t){return s(4,function(e){return+t[e]})},function(t,e,r){return s(4,function(t){return e.def(&quot;+&quot;,r,&quot;[&quot;,t,&quot;]&quot;)})});case&quot;stencil.mask&quot;:return e(function(t){return 0|t},function(t,e,r){return e.def(r,&quot;|0&quot;)});case&quot;stencil.func&quot;:return e(function(t){return[mt[t.cmp||&quot;keep&quot;],t.ref||0,&quot;mask&quot;in t?t.mask:-1]},function(t,e,r){t=e.def('&quot;cmp&quot; in ',r,&quot;?&quot;,t.constants.compareFuncs,&quot;[&quot;,r,&quot;.cmp]&quot;,&quot;:&quot;,7680);var n=e.def(r,&quot;.ref|0&quot;);return e=e.def('&quot;mask&quot; in ',r,&quot;?&quot;,r,&quot;.mask|0:-1&quot;),[t,n,e]});case&quot;stencil.opFront&quot;:case&quot;stencil.opBack&quot;:return e(function(e){return[&quot;stencil.opBack&quot;===t?1029:1028,gt[e.fail||&quot;keep&quot;],gt[e.zfail||&quot;keep&quot;],gt[e.zpass||&quot;keep&quot;]]},function(e,r,n){function i(t){return r.def('&quot;',t,'&quot; in ',n,&quot;?&quot;,a,&quot;[&quot;,n,&quot;.&quot;,t,&quot;]:&quot;,7680)}var a=e.constants.stencilOps;return[&quot;stencil.opBack&quot;===t?1029:1028,i(&quot;fail&quot;),i(&quot;zfail&quot;),i(&quot;zpass&quot;)]});case&quot;polygonOffset.offset&quot;:return e(function(t){return[0|t.factor,0|t.units]},function(t,e,r){return t=e.def(r,&quot;.factor|0&quot;),e=e.def(r,&quot;.units|0&quot;),[t,e]});case&quot;cull.face&quot;:return e(function(t){var e=0;return&quot;front&quot;===t?e=1028:&quot;back&quot;===t&amp;&amp;(e=1029),e},function(t,e,r){return e.def(r,'===&quot;front&quot;?',1028,&quot;:&quot;,1029)});case&quot;lineWidth&quot;:return e(function(t){return t},function(t,e,r){return r});case&quot;frontFace&quot;:return e(function(t){return vt[t]},function(t,e,r){return e.def(r+'===&quot;cw&quot;?2304:2305')});case&quot;colorMask&quot;:return e(function(t){return t.map(function(t){return!!t})},function(t,e,r){return s(4,function(t){return&quot;!!&quot;+r+&quot;[&quot;+t+&quot;]&quot;})});case&quot;sample.coverage&quot;:return e(function(t){return[&quot;value&quot;in t?t.value:1,!!t.invert]},function(t,e,r){return t=e.def('&quot;value&quot; in ',r,&quot;?+&quot;,r,&quot;.value:1&quot;),e=e.def(&quot;!!&quot;,r,&quot;.invert&quot;),[t,e]})}}),i}(t),m=function(t){function r(t){if(t in n){var r=e.id(n[t]);return t=P(function(){return r}),t.id=r,t}if(t in i){var a=i[t];return O(a,function(t,e){var r=t.invoke(e,a);return e.def(t.shared.strings,&quot;.id(&quot;,r,&quot;)&quot;)})}return null}var n=t.static,i=t.dynamic,a=r(&quot;frag&quot;),o=r(&quot;vert&quot;),s=null;return I(a)&amp;&amp;I(o)?(s=f.program(o.id,a.id),t=P(function(t,e){return t.link(s)})):t=new D(a&amp;&amp;a.thisDep||o&amp;&amp;o.thisDep,a&amp;&amp;a.contextDep||o&amp;&amp;o.contextDep,a&amp;&amp;a.propDep||o&amp;&amp;o.propDep,function(t,e){var r,n=t.shared.shader;r=a?a.append(t,e):e.def(n,&quot;.&quot;,&quot;frag&quot;);var i;return i=o?o.append(t,e):e.def(n,&quot;.&quot;,&quot;vert&quot;),e.def(n+&quot;.program(&quot;+i+&quot;,&quot;+r+&quot;)&quot;)}),{frag:a,vert:o,progVar:t,program:s}}(t),y=h.viewport;return y&amp;&amp;(p.viewport=y),y=g(&quot;scissor.box&quot;),(h=h[y])&amp;&amp;(p[y]=h),h=0&lt;Object.keys(p).length,u={framebuffer:u,draw:d,shader:m,state:p,dirty:h},u.profile=function(t){var e=t.static;t=t.dynamic;var r;if(&quot;profile&quot;in e){var n=!!e.profile;(r=P(function(t,e){return n})).enable=n}else if(&quot;profile&quot;in t){var i=t.profile;r=O(i,function(t,e){return t.invoke(e,i)})}return r}(t),u.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(&quot;number&quot;==typeof n||&quot;boolean&quot;==typeof n)e=P(function(){return n});else if(&quot;function&quot;==typeof n){var a=n._reglType;&quot;texture2d&quot;===a||&quot;textureCube&quot;===a?e=P(function(t){return t.link(n)}):&quot;framebuffer&quot;!==a&amp;&amp;&quot;framebufferCube&quot;!==a||(e=P(function(t){return t.link(n.color[0])}))}else v(n)&amp;&amp;(e=P(function(t){return t.global.def(&quot;[&quot;,s(n.length,function(t){return n[t]}),&quot;]&quot;)}));e.value=n,i[t]=e}),Object.keys(n).forEach(function(t){var e=n[t];i[t]=O(e,function(t,r){return t.invoke(r,e)})}),i}(n),u.attributes=function(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 Y;if(C(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(r.constant){var l=r.constant;s.buffer=&quot;null&quot;,s.state=2,&quot;number&quot;==typeof l?s.x=l:ht.forEach(function(t,e){e&lt;l.length&amp;&amp;(s[t]=l[e])})}else{var c=C(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,d=!!r.normalized,p=0;&quot;type&quot;in r&amp;&amp;(p=Z[r.type]),r=0|r.divisor,s.buffer=c,s.state=1,s.size=h,s.normalized=d,s.type=p||c.dtype,s.offset=u,s.stride=f,s.divisor=r}o[t]=P(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&amp;&amp;(n.buffer=t.link(s.buffer),n.type=n.type||n.buffer+&quot;.dtype&quot;),r[a]=n})}),Object.keys(a).forEach(function(t){var e=a[t];o[t]=O(e,function(t,r){function n(t){r(l[t],&quot;=&quot;,i,&quot;.&quot;,t,&quot;|0;&quot;)}var i=t.invoke(r,e),a=t.shared,o=a.isBufferArgs,s=a.buffer,l={isStream:r.def(!1)},c=new Y;c.state=1,Object.keys(c).forEach(function(t){l[t]=r.def(&quot;&quot;+c[t])});var u=l.buffer,f=l.type;return r(&quot;if(&quot;,o,&quot;(&quot;,i,&quot;)){&quot;,l.isStream,&quot;=true;&quot;,u,&quot;=&quot;,s,&quot;.createStream(&quot;,34962,&quot;,&quot;,i,&quot;);&quot;,f,&quot;=&quot;,u,&quot;.dtype;&quot;,&quot;}else{&quot;,u,&quot;=&quot;,s,&quot;.getBuffer(&quot;,i,&quot;);&quot;,&quot;if(&quot;,u,&quot;){&quot;,f,&quot;=&quot;,u,&quot;.dtype;&quot;,'}else if(&quot;constant&quot; in ',i,&quot;){&quot;,l.state,&quot;=&quot;,2,&quot;;&quot;,&quot;if(typeof &quot;+i+'.constant === &quot;number&quot;){',l[ht[0]],&quot;=&quot;,i,&quot;.constant;&quot;,ht.slice(1).map(function(t){return l[t]}).join(&quot;=&quot;),&quot;=0;&quot;,&quot;}else{&quot;,ht.map(function(t,e){return l[t]+&quot;=&quot;+i+&quot;.constant.length&gt;=&quot;+e+&quot;?&quot;+i+&quot;.constant[&quot;+e+&quot;]:0;&quot;}).join(&quot;&quot;),&quot;}}else{&quot;,&quot;if(&quot;,o,&quot;(&quot;,i,&quot;.buffer)){&quot;,u,&quot;=&quot;,s,&quot;.createStream(&quot;,34962,&quot;,&quot;,i,&quot;.buffer);&quot;,&quot;}else{&quot;,u,&quot;=&quot;,s,&quot;.getBuffer(&quot;,i,&quot;.buffer);&quot;,&quot;}&quot;,f,'=&quot;type&quot; in ',i,&quot;?&quot;,a.glTypes,&quot;[&quot;,i,&quot;.type]:&quot;,u,&quot;.dtype;&quot;,l.normalized,&quot;=!!&quot;,i,&quot;.normalized;&quot;),n(&quot;size&quot;),n(&quot;offset&quot;),n(&quot;stride&quot;),n(&quot;divisor&quot;),r(&quot;}}&quot;),r.exit(&quot;if(&quot;,l.isStream,&quot;){&quot;,s,&quot;.destroyStream(&quot;,u,&quot;);&quot;,&quot;}&quot;),l})}),o}(r),u.context=function(t){var e=t.static,r=t.dynamic,n={};return Object.keys(e).forEach(function(t){var r=e[t];n[t]=P(function(t,e){return&quot;number&quot;==typeof r||&quot;boolean&quot;==typeof r?&quot;&quot;+r:t.link(r)})}),Object.keys(r).forEach(function(t){var e=r[t];n[t]=O(e,function(t,r){return t.invoke(r,e)})}),n}(o),u}function w(t,e,r){var n=t.shared.context,i=t.scope();Object.keys(r).forEach(function(a){e.save(n,&quot;.&quot;+a),i(n,&quot;.&quot;,a,&quot;=&quot;,r[a].append(t,e),&quot;;&quot;)}),e(i)}function M(t,e,r,n){var i,a=(s=t.shared).gl,o=s.framebuffer;J&amp;&amp;(i=e.def(s.extensions,&quot;.webgl_draw_buffers&quot;));var s=(l=t.constants).drawBuffer,l=l.backBuffer;t=r?r.append(t,e):e.def(o,&quot;.next&quot;),n||e(&quot;if(&quot;,t,&quot;!==&quot;,o,&quot;.cur){&quot;),e(&quot;if(&quot;,t,&quot;){&quot;,a,&quot;.bindFramebuffer(&quot;,36160,&quot;,&quot;,t,&quot;.framebuffer);&quot;),J&amp;&amp;e(i,&quot;.drawBuffersWEBGL(&quot;,s,&quot;[&quot;,t,&quot;.colorAttachments.length]);&quot;),e(&quot;}else{&quot;,a,&quot;.bindFramebuffer(&quot;,36160,&quot;,null);&quot;),J&amp;&amp;e(i,&quot;.drawBuffersWEBGL(&quot;,l,&quot;);&quot;),e(&quot;}&quot;,o,&quot;.cur=&quot;,t,&quot;;&quot;),n||e(&quot;}&quot;)}function k(t,e,r){var n=t.shared,i=n.gl,a=t.current,o=t.next,l=n.current,c=n.next,u=t.cond(l,&quot;.dirty&quot;);$.forEach(function(e){if(!((e=g(e))in r.state)){var n,f;if(e in o){n=o[e],f=a[e];var h=s(K[e].length,function(t){return u.def(n,&quot;[&quot;,t,&quot;]&quot;)});u(t.cond(h.map(function(t,e){return t+&quot;!==&quot;+f+&quot;[&quot;+e+&quot;]&quot;}).join(&quot;||&quot;)).then(i,&quot;.&quot;,rt[e],&quot;(&quot;,h,&quot;);&quot;,h.map(function(t,e){return f+&quot;[&quot;+e+&quot;]=&quot;+t}).join(&quot;;&quot;),&quot;;&quot;))}else n=u.def(c,&quot;.&quot;,e),h=t.cond(n,&quot;!==&quot;,l,&quot;.&quot;,e),u(h),e in et?h(t.cond(n).then(i,&quot;.enable(&quot;,et[e],&quot;);&quot;).else(i,&quot;.disable(&quot;,et[e],&quot;);&quot;),l,&quot;.&quot;,e,&quot;=&quot;,n,&quot;;&quot;):h(i,&quot;.&quot;,rt[e],&quot;(&quot;,n,&quot;);&quot;,l,&quot;.&quot;,e,&quot;=&quot;,n,&quot;;&quot;)}}),0===Object.keys(r.state).length&amp;&amp;u(l,&quot;.dirty=false;&quot;),e(u)}function A(t,e,r,n){var i=t.shared,a=t.current,o=i.current,s=i.gl;z(Object.keys(r)).forEach(function(i){var l=r[i];if(!n||n(l)){var c=l.append(t,e);if(et[i]){var u=et[i];I(l)?c?e(s,&quot;.enable(&quot;,u,&quot;);&quot;):e(s,&quot;.disable(&quot;,u,&quot;);&quot;):e(t.cond(c).then(s,&quot;.enable(&quot;,u,&quot;);&quot;).else(s,&quot;.disable(&quot;,u,&quot;);&quot;)),e(o,&quot;.&quot;,i,&quot;=&quot;,c,&quot;;&quot;)}else if(v(c)){var f=a[i];e(s,&quot;.&quot;,rt[i],&quot;(&quot;,c,&quot;);&quot;,c.map(function(t,e){return f+&quot;[&quot;+e+&quot;]=&quot;+t}).join(&quot;;&quot;),&quot;;&quot;)}else e(s,&quot;.&quot;,rt[i],&quot;(&quot;,c,&quot;);&quot;,o,&quot;.&quot;,i,&quot;=&quot;,c,&quot;;&quot;)}})}function T(t,e){X&amp;&amp;(t.instancing=e.def(t.shared.extensions,&quot;.angle_instanced_arrays&quot;))}function S(t,e,r,n,i){function a(){return&quot;undefined&quot;==typeof performance?&quot;Date.now()&quot;:&quot;performance.now()&quot;}function o(t){t(c=e.def(),&quot;=&quot;,a(),&quot;;&quot;),&quot;string&quot;==typeof i?t(h,&quot;.count+=&quot;,i,&quot;;&quot;):t(h,&quot;.count++;&quot;),p&amp;&amp;(n?(u=e.def(),t(u,&quot;=&quot;,m,&quot;.getNumPendingQueries();&quot;)):t(m,&quot;.beginQuery(&quot;,h,&quot;);&quot;))}function s(t){t(h,&quot;.cpuTime+=&quot;,a(),&quot;-&quot;,c,&quot;;&quot;),p&amp;&amp;(n?t(m,&quot;.pushScopeStats(&quot;,u,&quot;,&quot;,m,&quot;.getNumPendingQueries(),&quot;,h,&quot;);&quot;):t(m,&quot;.endQuery();&quot;))}function l(t){var r=e.def(d,&quot;.profile&quot;);e(d,&quot;.profile=&quot;,t,&quot;;&quot;),e.exit(d,&quot;.profile=&quot;,r,&quot;;&quot;)}var c,u,f=t.shared,h=t.stats,d=f.current,m=f.timer;if(r=r.profile){if(I(r))return void(r.enable?(o(e),s(e.exit),l(&quot;true&quot;)):l(&quot;false&quot;));l(r=r.append(t,e))}else r=e.def(d,&quot;.profile&quot;);o(f=t.block()),e(&quot;if(&quot;,r,&quot;){&quot;,f,&quot;}&quot;),s(t=t.block()),e.exit(&quot;if(&quot;,r,&quot;){&quot;,t,&quot;}&quot;)}function F(t,e,r,n,i){var a=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(yt))return;var c=t.scopeAttrib(s);o={},Object.keys(new Y).forEach(function(t){o[t]=e.def(c,&quot;.&quot;,t)})}!function(r,n,i){function o(){e(&quot;if(!&quot;,u,&quot;.buffer){&quot;,l,&quot;.enableVertexAttribArray(&quot;,c,&quot;);}&quot;);var r,a=i.type;r=i.size?e.def(i.size,&quot;||&quot;,n):n,e(&quot;if(&quot;,u,&quot;.type!==&quot;,a,&quot;||&quot;,u,&quot;.size!==&quot;,r,&quot;||&quot;,d.map(function(t){return u+&quot;.&quot;+t+&quot;!==&quot;+i[t]}).join(&quot;||&quot;),&quot;){&quot;,l,&quot;.bindBuffer(&quot;,34962,&quot;,&quot;,f,&quot;.buffer);&quot;,l,&quot;.vertexAttribPointer(&quot;,[c,r,a,i.normalized,i.stride,i.offset],&quot;);&quot;,u,&quot;.type=&quot;,a,&quot;;&quot;,u,&quot;.size=&quot;,r,&quot;;&quot;,d.map(function(t){return u+&quot;.&quot;+t+&quot;=&quot;+i[t]+&quot;;&quot;}).join(&quot;&quot;),&quot;}&quot;),X&amp;&amp;(a=i.divisor,e(&quot;if(&quot;,u,&quot;.divisor!==&quot;,a,&quot;){&quot;,t.instancing,&quot;.vertexAttribDivisorANGLE(&quot;,[c,a],&quot;);&quot;,u,&quot;.divisor=&quot;,a,&quot;;}&quot;))}function s(){e(&quot;if(&quot;,u,&quot;.buffer){&quot;,l,&quot;.disableVertexAttribArray(&quot;,c,&quot;);&quot;,&quot;}if(&quot;,ht.map(function(t,e){return u+&quot;.&quot;+t+&quot;!==&quot;+h[e]}).join(&quot;||&quot;),&quot;){&quot;,l,&quot;.vertexAttrib4f(&quot;,c,&quot;,&quot;,h,&quot;);&quot;,ht.map(function(t,e){return u+&quot;.&quot;+t+&quot;=&quot;+h[e]+&quot;;&quot;}).join(&quot;&quot;),&quot;}&quot;)}var l=a.gl,c=e.def(r,&quot;.location&quot;),u=e.def(a.attributes,&quot;[&quot;,c,&quot;]&quot;);r=i.state;var f=i.buffer,h=[i.x,i.y,i.z,i.w],d=[&quot;buffer&quot;,&quot;normalized&quot;,&quot;offset&quot;,&quot;stride&quot;];1===r?o():2===r?s():(e(&quot;if(&quot;,r,&quot;===&quot;,1,&quot;){&quot;),o(),e(&quot;}else{&quot;),s(),e(&quot;}&quot;))}(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 R(t,r,n,i,a){for(var o,l=t.shared,c=l.gl,u=0;u&lt;i.length;++u){var f,h=(m=i[u]).name,d=m.info.type,p=n.uniforms[h],m=t.link(m)+&quot;.location&quot;;if(p){if(!a(p))continue;if(I(p)){if(h=p.value,35678===d||35680===d)d=t.link(h._texture||h.color[0]._texture),r(c,&quot;.uniform1i(&quot;,m,&quot;,&quot;,d+&quot;.bind());&quot;),r.exit(d,&quot;.unbind();&quot;);else if(35674===d||35675===d||35676===d)h=t.global.def(&quot;new Float32Array([&quot;+Array.prototype.slice.call(h)+&quot;])&quot;),p=2,35675===d?p=3:35676===d&amp;&amp;(p=4),r(c,&quot;.uniformMatrix&quot;,p,&quot;fv(&quot;,m,&quot;,false,&quot;,h,&quot;);&quot;);else{switch(d){case 5126:o=&quot;1f&quot;;break;case 35664:o=&quot;2f&quot;;break;case 35665:o=&quot;3f&quot;;break;case 35666:o=&quot;4f&quot;;break;case 35670:case 5124:o=&quot;1i&quot;;break;case 35671:case 35667:o=&quot;2i&quot;;break;case 35672:case 35668:o=&quot;3i&quot;;break;case 35673:o=&quot;4i&quot;;break;case 35669:o=&quot;4i&quot;}r(c,&quot;.uniform&quot;,o,&quot;(&quot;,m,&quot;,&quot;,v(h)?Array.prototype.slice.call(h):h,&quot;);&quot;)}continue}f=p.append(t,r)}else{if(!a(yt))continue;f=r.def(l.uniforms,&quot;[&quot;,e.id(h),&quot;]&quot;)}switch(35678===d?r(&quot;if(&quot;,f,&quot;&amp;&amp;&quot;,f,'._reglType===&quot;framebuffer&quot;){',f,&quot;=&quot;,f,&quot;.color[0];&quot;,&quot;}&quot;):35680===d&amp;&amp;r(&quot;if(&quot;,f,&quot;&amp;&amp;&quot;,f,'._reglType===&quot;framebufferCube&quot;){',f,&quot;=&quot;,f,&quot;.color[0];&quot;,&quot;}&quot;),h=1,d){case 35678:case 35680:r(c,&quot;.uniform1i(&quot;,m,&quot;,&quot;,d=r.def(f,&quot;._texture&quot;),&quot;.bind());&quot;),r.exit(d,&quot;.unbind();&quot;);continue;case 5124:case 35670:o=&quot;1i&quot;;break;case 35667:case 35671:o=&quot;2i&quot;,h=2;break;case 35668:case 35672:o=&quot;3i&quot;,h=3;break;case 35669:case 35673:o=&quot;4i&quot;,h=4;break;case 5126:o=&quot;1f&quot;;break;case 35664:o=&quot;2f&quot;,h=2;break;case 35665:o=&quot;3f&quot;,h=3;break;case 35666:o=&quot;4f&quot;,h=4;break;case 35674:o=&quot;Matrix2fv&quot;;break;case 35675:o=&quot;Matrix3fv&quot;;break;case 35676:o=&quot;Matrix4fv&quot;}if(r(c,&quot;.uniform&quot;,o,&quot;(&quot;,m,&quot;,&quot;),&quot;M&quot;===o.charAt(0)){m=Math.pow(d-35674+2,2);var g=t.global.def(&quot;new Float32Array(&quot;,m,&quot;)&quot;);r(&quot;false,(Array.isArray(&quot;,f,&quot;)||&quot;,f,&quot; instanceof Float32Array)?&quot;,f,&quot;:(&quot;,s(m,function(t){return g+&quot;[&quot;+t+&quot;]=&quot;+f+&quot;[&quot;+t+&quot;]&quot;}),&quot;,&quot;,g,&quot;)&quot;)}else r(1&lt;h?s(h,function(t){return f+&quot;[&quot;+t+&quot;]&quot;}):f);r(&quot;);&quot;)}}function j(t,e,r,n){function i(i){var a=u[i];return a?a.contextDep&amp;&amp;n.contextDynamic||a.propDep?a.append(t,r):a.append(t,e):e.def(c,&quot;.&quot;,i)}function a(){function t(){r(g,&quot;.drawElementsInstancedANGLE(&quot;,[h,p,v,d+&quot;&lt;&lt;((&quot;+v+&quot;-5121)&gt;&gt;1)&quot;,m],&quot;);&quot;)}function e(){r(g,&quot;.drawArraysInstancedANGLE(&quot;,[h,d,p,m],&quot;);&quot;)}f?y?t():(r(&quot;if(&quot;,f,&quot;){&quot;),t(),r(&quot;}else{&quot;),e(),r(&quot;}&quot;)):e()}function o(){function t(){r(l+&quot;.drawElements(&quot;+[h,p,v,d+&quot;&lt;&lt;((&quot;+v+&quot;-5121)&gt;&gt;1)&quot;]+&quot;);&quot;)}function e(){r(l+&quot;.drawArrays(&quot;+[h,d,p]+&quot;);&quot;)}f?y?t():(r(&quot;if(&quot;,f,&quot;){&quot;),t(),r(&quot;}else{&quot;),e(),r(&quot;}&quot;)):e()}var s=t.shared,l=s.gl,c=s.draw,u=n.draw,f=function(){var i=u.elements,a=e;return i?((i.contextDep&amp;&amp;n.contextDynamic||i.propDep)&amp;&amp;(a=r),i=i.append(t,a)):i=a.def(c,&quot;.&quot;,&quot;elements&quot;),i&amp;&amp;a(&quot;if(&quot;+i+&quot;)&quot;+l+&quot;.bindBuffer(34963,&quot;+i+&quot;.buffer.buffer);&quot;),i}(),h=i(&quot;primitive&quot;),d=i(&quot;offset&quot;),p=function(){var i=u.count,a=e;return i?((i.contextDep&amp;&amp;n.contextDynamic||i.propDep)&amp;&amp;(a=r),i=i.append(t,a)):i=a.def(c,&quot;.&quot;,&quot;count&quot;),i}();if(&quot;number&quot;==typeof p){if(0===p)return}else r(&quot;if(&quot;,p,&quot;){&quot;),r.exit(&quot;}&quot;);var m,g;X&amp;&amp;(m=i(&quot;instances&quot;),g=t.instancing);var v=f+&quot;.type&quot;,y=u.elements&amp;&amp;I(u.elements);X&amp;&amp;(&quot;number&quot;!=typeof m||0&lt;=m)?&quot;string&quot;==typeof m?(r(&quot;if(&quot;,m,&quot;&gt;0){&quot;),a(),r(&quot;}else if(&quot;,m,&quot;&lt;0){&quot;),o(),r(&quot;}&quot;)):a():o()}function U(t,e,r,n,i){return e=b(),i=e.proc(&quot;body&quot;,i),X&amp;&amp;(e.instancing=i.def(e.shared.extensions,&quot;.angle_instanced_arrays&quot;)),t(e,i,r,n),e.compile().body}function V(t,e,r,n){T(t,e),F(t,e,r,n.attributes,function(){return!0}),R(t,e,r,n.uniforms,function(){return!0}),j(t,e,e,r)}function q(t,e,r,n){function i(){return!0}t.batchId=&quot;a1&quot;,T(t,e),F(t,e,r,n.attributes,i),R(t,e,r,n.uniforms,i),j(t,e,e,r)}function H(t,e,r,n){function i(t){return t.contextDep&amp;&amp;o||t.propDep}function a(t){return!i(t)}T(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,&quot;for(&quot;,s,&quot;=0;&quot;,s,&quot;&lt;&quot;,&quot;a1&quot;,&quot;;++&quot;,s,&quot;){&quot;,l,&quot;=&quot;,&quot;a0&quot;,&quot;[&quot;,s,&quot;];&quot;,u,&quot;}&quot;,c.exit),r.needsContext&amp;&amp;w(t,u,r.context),r.needsFramebuffer&amp;&amp;M(t,u,r.framebuffer),A(t,u,r.state,i),r.profile&amp;&amp;i(r.profile)&amp;&amp;S(t,u,r,!1,!0),n?(F(t,c,r,n.attributes,a),F(t,u,r,n.attributes,i),R(t,c,r,n.uniforms,a),R(t,u,r,n.uniforms,i),j(t,c,u,r)):(e=t.global.def(&quot;{}&quot;),n=r.shader.progVar.append(t,u),l=u.def(n,&quot;.id&quot;),c=u.def(e,&quot;[&quot;,l,&quot;]&quot;),u(t.shared.gl,&quot;.useProgram(&quot;,n,&quot;.program);&quot;,&quot;if(!&quot;,c,&quot;){&quot;,c,&quot;=&quot;,e,&quot;[&quot;,l,&quot;]=&quot;,t.link(function(e){return U(q,t,r,e,2)}),&quot;(&quot;,n,&quot;);}&quot;,c,&quot;.call(this,a0[&quot;,s,&quot;],&quot;,s,&quot;);&quot;))}function G(t,e,r){function n(t,e){o.forEach(function(r){var n=i[r];B.isDynamic(n)&amp;&amp;(n=t.invoke(e,n),e(u,&quot;.&quot;,r,&quot;=&quot;,n,&quot;;&quot;))})}var i=e.static[r];if(i&amp;&amp;function(t){if(&quot;object&quot;==typeof t&amp;&amp;!v(t)){for(var e=Object.keys(t),r=0;r&lt;e.length;++r)if(B.isDynamic(t[e[r]]))return!0;return!1}}(i)){var a=t.global,o=Object.keys(i),s=!1,l=!1,c=!1,u=t.global.def(&quot;{}&quot;);o.forEach(function(e){var r=i[e];if(B.isDynamic(r))&quot;function&quot;==typeof r&amp;&amp;(r=i[e]=B.unbox(r)),e=O(r,null),s=s||e.thisDep,c=c||e.propDep,l=l||e.contextDep;else{switch(a(u,&quot;.&quot;,e,&quot;=&quot;),typeof r){case&quot;number&quot;:a(r);break;case&quot;string&quot;:a('&quot;',r,'&quot;');break;case&quot;object&quot;:Array.isArray(r)&amp;&amp;a(&quot;[&quot;,r.join(),&quot;]&quot;);break;default:a(t.link(r))}a(&quot;;&quot;)}}),e.dynamic[r]=new B.DynamicVariable(4,{thisDep:s,contextDep:l,propDep:c,ref:u,append:n}),delete e.static[r]}}var Y=u.Record,W={add:32774,subtract:32778,&quot;reverse subtract&quot;:32779};r.ext_blend_minmax&amp;&amp;(W.min=32775,W.max=32776);var X=r.angle_instanced_arrays,J=r.webgl_draw_buffers,K={dirty:!0,profile:m.profile},Q={},$=[],et={},rt={};y(&quot;dither&quot;,3024),y(&quot;blend.enable&quot;,3042),x(&quot;blend.color&quot;,&quot;blendColor&quot;,[0,0,0,0]),x(&quot;blend.equation&quot;,&quot;blendEquationSeparate&quot;,[32774,32774]),x(&quot;blend.func&quot;,&quot;blendFuncSeparate&quot;,[1,0,1,0]),y(&quot;depth.enable&quot;,2929,!0),x(&quot;depth.func&quot;,&quot;depthFunc&quot;,513),x(&quot;depth.range&quot;,&quot;depthRange&quot;,[0,1]),x(&quot;depth.mask&quot;,&quot;depthMask&quot;,!0),x(&quot;colorMask&quot;,&quot;colorMask&quot;,[!0,!0,!0,!0]),y(&quot;cull.enable&quot;,2884),x(&quot;cull.face&quot;,&quot;cullFace&quot;,1029),x(&quot;frontFace&quot;,&quot;frontFace&quot;,2305),x(&quot;lineWidth&quot;,&quot;lineWidth&quot;,1),y(&quot;polygonOffset.enable&quot;,32823),x(&quot;polygonOffset.offset&quot;,&quot;polygonOffset&quot;,[0,0]),y(&quot;sample.alpha&quot;,32926),y(&quot;sample.enable&quot;,32928),x(&quot;sample.coverage&quot;,&quot;sampleCoverage&quot;,[1,!1]),y(&quot;stencil.enable&quot;,2960),x(&quot;stencil.mask&quot;,&quot;stencilMask&quot;,-1),x(&quot;stencil.func&quot;,&quot;stencilFunc&quot;,[519,0,-1]),x(&quot;stencil.opFront&quot;,&quot;stencilOpSeparate&quot;,[1028,7680,7680,7680]),x(&quot;stencil.opBack&quot;,&quot;stencilOpSeparate&quot;,[1029,7680,7680,7680]),y(&quot;scissor.enable&quot;,3089),x(&quot;scissor.box&quot;,&quot;scissor&quot;,[0,0,t.drawingBufferWidth,t.drawingBufferHeight]),x(&quot;viewport&quot;,&quot;viewport&quot;,[0,0,t.drawingBufferWidth,t.drawingBufferHeight]);var nt={gl:t,context:d,strings:e,next:Q,current:K,draw:h,elements:a,buffer:i,shader:f,attributes:u.state,uniforms:c,framebuffer:l,extensions:r,timer:p,isBufferArgs:C},it={primTypes:tt,compareFuncs:mt,blendFuncs:pt,blendEquations:W,stencilOps:gt,glTypes:Z,orientationType:vt};J&amp;&amp;(it.backBuffer=[1029],it.drawBuffer=s(n.maxDrawbuffers,function(t){return 0===t?[0]:s(t,function(t){return 36064+t})}));var at=0;return{next:Q,current:K,procs:function(){var e=b(),r=e.proc(&quot;poll&quot;),i=e.proc(&quot;refresh&quot;),a=e.block();r(a),i(a);var o=e.shared,l=o.gl,c=o.next,u=o.current;a(u,&quot;.dirty=false;&quot;),M(e,r),M(e,i,null,!0);var f,h=t.getExtension(&quot;angle_instanced_arrays&quot;);h&amp;&amp;(f=e.link(h));for(var d=0;d&lt;n.maxAttributes;++d){var p=i.def(o.attributes,&quot;[&quot;,d,&quot;]&quot;),m=e.cond(p,&quot;.buffer&quot;);m.then(l,&quot;.enableVertexAttribArray(&quot;,d,&quot;);&quot;,l,&quot;.bindBuffer(&quot;,34962,&quot;,&quot;,p,&quot;.buffer.buffer);&quot;,l,&quot;.vertexAttribPointer(&quot;,d,&quot;,&quot;,p,&quot;.size,&quot;,p,&quot;.type,&quot;,p,&quot;.normalized,&quot;,p,&quot;.stride,&quot;,p,&quot;.offset);&quot;).else(l,&quot;.disableVertexAttribArray(&quot;,d,&quot;);&quot;,l,&quot;.vertexAttrib4f(&quot;,d,&quot;,&quot;,p,&quot;.x,&quot;,p,&quot;.y,&quot;,p,&quot;.z,&quot;,p,&quot;.w);&quot;,p,&quot;.buffer=null;&quot;),i(m),h&amp;&amp;i(f,&quot;.vertexAttribDivisorANGLE(&quot;,d,&quot;,&quot;,p,&quot;.divisor);&quot;)}return Object.keys(et).forEach(function(t){var n=et[t],o=a.def(c,&quot;.&quot;,t),s=e.block();s(&quot;if(&quot;,o,&quot;){&quot;,l,&quot;.enable(&quot;,n,&quot;)}else{&quot;,l,&quot;.disable(&quot;,n,&quot;)}&quot;,u,&quot;.&quot;,t,&quot;=&quot;,o,&quot;;&quot;),i(s),r(&quot;if(&quot;,o,&quot;!==&quot;,u,&quot;.&quot;,t,&quot;){&quot;,s,&quot;}&quot;)}),Object.keys(rt).forEach(function(t){var n,o,f=rt[t],h=K[t],d=e.block();d(l,&quot;.&quot;,f,&quot;(&quot;),v(h)?(f=h.length,n=e.global.def(c,&quot;.&quot;,t),o=e.global.def(u,&quot;.&quot;,t),d(s(f,function(t){return n+&quot;[&quot;+t+&quot;]&quot;}),&quot;);&quot;,s(f,function(t){return o+&quot;[&quot;+t+&quot;]=&quot;+n+&quot;[&quot;+t+&quot;];&quot;}).join(&quot;&quot;)),r(&quot;if(&quot;,s(f,function(t){return n+&quot;[&quot;+t+&quot;]!==&quot;+o+&quot;[&quot;+t+&quot;]&quot;}).join(&quot;||&quot;),&quot;){&quot;,d,&quot;}&quot;)):(n=a.def(c,&quot;.&quot;,t),o=a.def(u,&quot;.&quot;,t),d(n,&quot;);&quot;,u,&quot;.&quot;,t,&quot;=&quot;,n,&quot;;&quot;),r(&quot;if(&quot;,n,&quot;!==&quot;,o,&quot;){&quot;,d,&quot;}&quot;)),i(d)}),e.compile()}(),compile:function(t,r,n,i,a){var o=b();return o.stats=o.link(a),Object.keys(r.static).forEach(function(t){G(o,r,t)}),dt.forEach(function(e){G(o,t,e)}),n=_(t,r,n,i),function(t,e){var r=t.proc(&quot;draw&quot;,1);T(t,r),w(t,r,e.context),M(t,r,e.framebuffer),k(t,r,e),A(t,r,e.state),S(t,r,e,!1,!0);var n=e.shader.progVar.append(t,r);if(r(t.shared.gl,&quot;.useProgram(&quot;,n,&quot;.program);&quot;),e.shader.program)V(t,r,e,e.shader.program);else{var i=t.global.def(&quot;{}&quot;),a=r.def(n,&quot;.id&quot;),o=r.def(i,&quot;[&quot;,a,&quot;]&quot;);r(t.cond(o).then(o,&quot;.call(this,a0);&quot;).else(o,&quot;=&quot;,i,&quot;[&quot;,a,&quot;]=&quot;,t.link(function(r){return U(V,t,e,r,1)}),&quot;(&quot;,n,&quot;);&quot;,o,&quot;.call(this,a0);&quot;))}0&lt;Object.keys(e.state).length&amp;&amp;r(t.shared.current,&quot;.dirty=true;&quot;)}(o,n),function(t,r){function n(e){var n=r.shader[e];n&amp;&amp;i.set(a.shader,&quot;.&quot;+e,n.append(t,i))}var i=t.proc(&quot;scope&quot;,3);t.batchId=&quot;a2&quot;;var a=t.shared,o=a.current;w(t,i,r.context),r.framebuffer&amp;&amp;r.framebuffer.append(t,i),z(Object.keys(r.state)).forEach(function(e){var n=r.state[e].append(t,i);v(n)?n.forEach(function(r,n){i.set(t.next[e],&quot;[&quot;+n+&quot;]&quot;,r)}):i.set(a.next,&quot;.&quot;+e,n)}),S(t,i,r,!0,!0),[&quot;elements&quot;,&quot;offset&quot;,&quot;count&quot;,&quot;instances&quot;,&quot;primitive&quot;].forEach(function(e){var n=r.draw[e];n&amp;&amp;i.set(a.draw,&quot;.&quot;+e,&quot;&quot;+n.append(t,i))}),Object.keys(r.uniforms).forEach(function(n){i.set(a.uniforms,&quot;[&quot;+e.id(n)+&quot;]&quot;,r.uniforms[n].append(t,i))}),Object.keys(r.attributes).forEach(function(e){var n=r.attributes[e].append(t,i),a=t.scopeAttrib(e);Object.keys(new Y).forEach(function(t){i.set(a,&quot;.&quot;+t,n[t])})}),n(&quot;vert&quot;),n(&quot;frag&quot;),0&lt;Object.keys(r.state).length&amp;&amp;(i(o,&quot;.dirty=true;&quot;),i.exit(o,&quot;.dirty=true;&quot;)),i(&quot;a1(&quot;,t.shared.context,&quot;,a0,&quot;,t.batchId,&quot;);&quot;)}(o,n),function(t,e){function r(t){return t.contextDep&amp;&amp;i||t.propDep}var n=t.proc(&quot;batch&quot;,2);t.batchId=&quot;0&quot;,T(t,n);var i=!1,a=!0;Object.keys(e.context).forEach(function(t){i=i||e.context[t].propDep}),i||(w(t,n,e.context),a=!1);var o=!1;if((s=e.framebuffer)?(s.propDep?i=o=!0:s.contextDep&amp;&amp;i&amp;&amp;(o=!0),o||M(t,n,s)):M(t,n,null),e.state.viewport&amp;&amp;e.state.viewport.propDep&amp;&amp;(i=!0),k(t,n,e),A(t,n,e.state,function(t){return!r(t)}),e.profile&amp;&amp;r(e.profile)||S(t,n,e,!1,&quot;a1&quot;),e.contextDep=i,e.needsContext=a,e.needsFramebuffer=o,(a=e.shader.progVar).contextDep&amp;&amp;i||a.propDep)H(t,n,e,null);else if(a=a.append(t,n),n(t.shared.gl,&quot;.useProgram(&quot;,a,&quot;.program);&quot;),e.shader.program)H(t,n,e,e.shader.program);else{var s=t.global.def(&quot;{}&quot;),l=(o=n.def(a,&quot;.id&quot;),n.def(s,&quot;[&quot;,o,&quot;]&quot;));n(t.cond(l).then(l,&quot;.call(this,a0,a1);&quot;).else(l,&quot;=&quot;,s,&quot;[&quot;,o,&quot;]=&quot;,t.link(function(r){return U(H,t,e,r,2)}),&quot;(&quot;,a,&quot;);&quot;,l,&quot;.call(this,a0,a1);&quot;))}0&lt;Object.keys(e.state).length&amp;&amp;n(t.shared.current,&quot;.dirty=true;&quot;)}(o,n),o.compile()}}}function R(t,e){for(var r=0;r&lt;t.length;++r)if(t[r]===e)return r;return-1}var N=function(t,e){for(var r=Object.keys(e),n=0;n&lt;r.length;++n)t[r[n]]=e[r[n]];return t},j=0,B={DynamicVariable:t,define:function(e,n){return new t(e,r(n+&quot;&quot;))},isDynamic:function(e){return&quot;function&quot;==typeof e&amp;&amp;!e._reglType||e instanceof t},unbox:function(e,r){return&quot;function&quot;==typeof e?new t(0,e):e},accessor:r},U={next:&quot;function&quot;==typeof requestAnimationFrame?function(t){return requestAnimationFrame(t)}:function(t){return setTimeout(t,16)},cancel:&quot;function&quot;==typeof cancelAnimationFrame?function(t){return cancelAnimationFrame(t)}:clearTimeout},V=&quot;undefined&quot;!=typeof performance&amp;&amp;performance.now?function(){return performance.now()}:function(){return+new Date},q=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},H=function(t){return Object.keys(t).map(function(e){return t[e]})},G=s(8,function(){return[]}),Y={alloc:c,free:u,allocType:function(t,e){var r=null;switch(t){case 5120:r=new Int8Array(c(e),0,e);break;case 5121:r=new Uint8Array(c(e),0,e);break;case 5122:r=new Int16Array(c(2*e),0,e);break;case 5123:r=new Uint16Array(c(2*e),0,e);break;case 5124:r=new Int32Array(c(4*e),0,e);break;case 5125:r=new Uint32Array(c(4*e),0,e);break;case 5126:r=new Float32Array(c(4*e),0,e);break;default:return null}return r.length!==e?r.subarray(0,e):r},freeType:function(t){u(t.buffer)}},W={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&lt;e.length;++a)i*=e[a];else i=0;switch(r=n||Y.allocType(r,i),e.length){case 0:break;case 1:for(n=e[0],e=0;e&lt;n;++e)r[e]=t[e];break;case 2:for(n=e[0],e=e[1],a=i=0;a&lt;n;++a)for(var o=t[a],s=0;s&lt;e;++s)r[i++]=o[s];break;case 3:f(t,e[0],e[1],e[2],r,0);break;default:h(t,e,0,r,0)}return r}},X={&quot;[object Int8Array]&quot;:5120,&quot;[object Int16Array]&quot;:5122,&quot;[object Int32Array]&quot;:5124,&quot;[object Uint8Array]&quot;:5121,&quot;[object Uint8ClampedArray]&quot;:5121,&quot;[object Uint16Array]&quot;:5123,&quot;[object Uint32Array]&quot;:5125,&quot;[object Float32Array]&quot;:5126,&quot;[object Float64Array]&quot;:5121,&quot;[object ArrayBuffer]&quot;:5121},Z={int8:5120,int16:5122,int32:5124,uint8:5121,uint16:5123,uint32:5125,float:5126,float32:5126},J={dynamic:35048,stream:35040,static:35044},K=W.flatten,Q=W.shape,$=[];$[5120]=1,$[5122]=2,$[5124]=4,$[5121]=1,$[5123]=2,$[5125]=4,$[5126]=4;var tt={points:0,point:0,lines:1,line:1,triangles:4,triangle:4,&quot;line loop&quot;:2,&quot;line strip&quot;:3,&quot;triangle strip&quot;:5,&quot;triangle fan&quot;:6},et=new Float32Array(1),rt=new Uint32Array(et.buffer),nt=[9984,9986,9985,9987],it=[0,6409,6410,6407,6408],at={};at[6409]=at[6406]=at[6402]=1,at[34041]=at[6410]=2,at[6407]=at[35904]=3,at[6408]=at[35906]=4;var ot=Object.keys(X).concat([&quot;[object HTMLCanvasElement]&quot;,&quot;[object CanvasRenderingContext2D]&quot;,&quot;[object HTMLImageElement]&quot;,&quot;[object HTMLVideoElement]&quot;]),st=[];st[5121]=1,st[5126]=4,st[36193]=2,st[5123]=2,st[5125]=4;var lt=[];lt[32854]=2,lt[32855]=2,lt[36194]=2,lt[34041]=4,lt[33776]=.5,lt[33777]=.5,lt[33778]=1,lt[33779]=1,lt[35986]=.5,lt[35987]=1,lt[34798]=1,lt[35840]=.5,lt[35841]=.25,lt[35842]=.5,lt[35843]=.25,lt[36196]=.5;var ct=[];ct[32854]=2,ct[32855]=2,ct[36194]=2,ct[33189]=2,ct[36168]=1,ct[34041]=4,ct[35907]=4,ct[34836]=16,ct[34842]=8,ct[34843]=6;var ut=[];ut[6408]=4;var ft=[];ft[5121]=1,ft[5126]=4,ft[36193]=2;var ht=[&quot;x&quot;,&quot;y&quot;,&quot;z&quot;,&quot;w&quot;],dt=&quot;blend.func blend.equation stencil.func stencil.opFront stencil.opBack sample.coverage viewport scissor.box polygonOffset.offset&quot;.split(&quot; &quot;),pt={0:0,1:1,zero:0,one:1,&quot;src color&quot;:768,&quot;one minus src color&quot;:769,&quot;src alpha&quot;:770,&quot;one minus src alpha&quot;:771,&quot;dst color&quot;:774,&quot;one minus dst color&quot;:775,&quot;dst alpha&quot;:772,&quot;one minus dst alpha&quot;:773,&quot;constant color&quot;:32769,&quot;one minus constant color&quot;:32770,&quot;constant alpha&quot;:32771,&quot;one minus constant alpha&quot;:32772,&quot;src alpha saturate&quot;:776},mt={never:512,less:513,&quot;&lt;&quot;:513,equal:514,&quot;=&quot;:514,&quot;==&quot;:514,&quot;===&quot;:514,lequal:515,&quot;&lt;=&quot;:515,greater:516,&quot;&gt;&quot;:516,notequal:517,&quot;!=&quot;:517,&quot;!==&quot;:517,gequal:518,&quot;&gt;=&quot;:518,always:519},gt={0:0,zero:0,keep:7680,replace:7681,increment:7682,decrement:7683,&quot;increment wrap&quot;:34055,&quot;decrement wrap&quot;:34056,invert:5386},vt={cw:2304,ccw:2305},yt=new D(!1,!1,!1,function(){});return function(t){function e(){if(0===it.length)E&amp;&amp;E.update(),lt=null;else{lt=U.next(e),h();for(var t=it.length-1;0&lt;=t;--t){var r=it[t];r&amp;&amp;r(D,null,0)}y.flush(),E&amp;&amp;E.update()}}function r(){!lt&amp;&amp;0&lt;it.length&amp;&amp;(lt=U.next(e))}function n(){lt&amp;&amp;(U.cancel(e),lt=null)}function i(t){t.preventDefault(),n(),at.forEach(function(t){t()})}function s(t){y.getError(),b.restore(),j.restore(),P.restore(),G.restore(),W.restore(),X.restore(),E&amp;&amp;E.restore(),et.procs.refresh(),r(),ot.forEach(function(t){t()})}function l(t){function e(t){var e={},r={};return Object.keys(t).forEach(function(n){var i=t[n];B.isDynamic(i)?r[n]=B.unbox(i,n):e[n]=i}),{dynamic:r,static:e}}var r=e(t.context||{}),n=e(t.uniforms||{}),i=e(t.attributes||{}),a=e(function(e){function r(t){if(t in n){var e=n[t];delete n[t],Object.keys(e).forEach(function(r){n[t+&quot;.&quot;+r]=e[r]})}}var n=N({},t);return delete n.uniforms,delete n.attributes,delete n.context,&quot;stencil&quot;in n&amp;&amp;n.stencil.op&amp;&amp;(n.stencil.opBack=n.stencil.opFront=n.stencil.op,delete n.stencil.op),r(&quot;blend&quot;),r(&quot;depth&quot;),r(&quot;cull&quot;),r(&quot;stencil&quot;),r(&quot;polygonOffset&quot;),r(&quot;scissor&quot;),r(&quot;sample&quot;),n}());t={gpuTime:0,cpuTime:0,count:0};var o=(r=et.compile(a,i,n,r,t)).draw,s=r.batch,l=r.scope,c=[];return N(function(t,e){var r;if(&quot;function&quot;==typeof t)return l.call(this,null,t,0);if(&quot;function&quot;==typeof e)if(&quot;number&quot;==typeof t)for(r=0;r&lt;t;++r)l.call(this,null,e,r);else{if(!Array.isArray(t))return l.call(this,t,e,0);for(r=0;r&lt;t.length;++r)l.call(this,t[r],e,r)}else if(&quot;number&quot;==typeof t){if(0&lt;t)return s.call(this,function(t){for(;c.length&lt;t;)c.push(null);return c}(0|t),0|t)}else{if(!Array.isArray(t))return o.call(this,t);if(t.length)return s.call(this,t,t.length)}},{stats:t})}function c(t,e){var r=0;et.procs.poll();var n=e.color;n&amp;&amp;(y.clearColor(+n[0]||0,+n[1]||0,+n[2]||0,+n[3]||0),r|=16384),&quot;depth&quot;in e&amp;&amp;(y.clearDepth(+e.depth),r|=256),&quot;stencil&quot;in e&amp;&amp;(y.clearStencil(0|e.stencil),r|=1024),y.clear(r)}function u(t){return it.push(t),r(),{cancel:function(){function e(){var t=R(it,e);it[t]=it[it.length-1],--it.length,0&gt;=it.length&amp;&amp;n()}var r=R(it,t);it[r]=e}}}function f(){var t=rt.viewport,e=rt.scissor_box;t[0]=t[1]=e[0]=e[1]=0,D.viewportWidth=D.framebufferWidth=D.drawingBufferWidth=t[2]=e[2]=y.drawingBufferWidth,D.viewportHeight=D.framebufferHeight=D.drawingBufferHeight=t[3]=e[3]=y.drawingBufferHeight}function h(){D.tick+=1,D.time=v(),f(),et.procs.poll()}function g(){f(),et.procs.refresh(),E&amp;&amp;E.update()}function v(){return(V()-L)/1e3}if(!(t=a(t)))return null;var y=t.gl,x=y.getContextAttributes();y.isContextLost();var b=function(t,e){function r(e){e=e.toLowerCase();var r;try{r=n[e]=t.getExtension(e)}catch(t){}return!!r}for(var n={},i=0;i&lt;e.extensions.length;++i){var a=e.extensions[i];if(!r(a))return e.onDestroy(),e.onDone('&quot;'+a+'&quot; 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(!r(t))throw Error(&quot;(regl): error restoring extension &quot;+t)})}}}(y,t);if(!b)return null;var _=function(){var t={&quot;&quot;:0},e=[&quot;&quot;];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]}}}(),w={bufferCount:0,elementsCount:0,framebufferCount:0,shaderCount:0,textureCount:0,cubeCount:0,renderbufferCount:0,maxTextureUnits:0},M=b.extensions,E=function(t,e){function r(t,e,r){var n=o.pop()||new function(){this.endQueryIndex=this.startQueryIndex=-1,this.sum=0,this.stats=null};n.startQueryIndex=t,n.endQueryIndex=e,n.sum=0,n.stats=r,s.push(n)}var n=e.ext_disjoint_timer_query;if(!n)return null;var i=[],a=[],o=[],s=[],l=[],c=[];return{beginQuery:function(t){var e=i.pop()||n.createQueryEXT();n.beginQueryEXT(35007,e),a.push(e),r(a.length-1,a.length,t)},endQuery:function(){n.endQueryEXT(35007)},pushScopeStats:r,update:function(){var t,e;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 r=c[0]=0;for(e=t=0;e&lt;a.length;++e){var u=a[e];n.getQueryObjectEXT(u,34919)?(r+=n.getQueryObjectEXT(u,34918),i.push(u)):a[t++]=u,l[e+1]=r,c[e+1]=t}for(a.length=t,e=t=0;e&lt;s.length;++e){var f=(r=s[e]).startQueryIndex;u=r.endQueryIndex,r.sum+=l[u]-l[f],f=c[f],(u=c[u])===f?(r.stats.gpuTime+=r.sum/1e6,o.push(r)):(r.startQueryIndex=f,r.endQueryIndex=u,s[t++]=r)}s.length=t}},getNumPendingQueries:function(){return a.length},clear:function(){i.push.apply(i,a);for(var t=0;t&lt;i.length;t++)n.deleteQueryEXT(i[t]);a.length=0,i.length=0},restore:function(){a.length=0,i.length=0}}}(0,M),L=V(),C=y.drawingBufferWidth,z=y.drawingBufferHeight,D={tick:0,time:0,viewportWidth:C,viewportHeight:z,framebufferWidth:C,framebufferHeight:z,drawingBufferWidth:C,drawingBufferHeight:z,pixelRatio:t.pixelRatio},I=function(t,e){var r=1;e.ext_texture_filter_anisotropic&amp;&amp;(r=t.getParameter(34047));var n=1,i=1;return e.webgl_draw_buffers&amp;&amp;(n=t.getParameter(34852),i=t.getParameter(36063)),{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)}}(y,M),P=function(t,e,r){function n(e){this.id=l++,this.buffer=t.createBuffer(),this.type=e,this.usage=35044,this.byteLength=0,this.dimension=1,this.dtype=5121,this.persistentData=null,r.profile&amp;&amp;(this.stats={size:0})}function i(e,r,n){e.byteLength=r.byteLength,t.bufferData(e.type,r,n)}function a(t,e,r,n,a,s){if(t.usage=r,Array.isArray(e)){if(t.dtype=n||5126,0&lt;e.length)if(Array.isArray(e[0])){a=Q(e);for(var l=n=1;l&lt;a.length;++l)n*=a[l];t.dimension=n,i(t,e=K(e,a,t.dtype),r),s?t.persistentData=e:Y.freeType(e)}else&quot;number&quot;==typeof e[0]?(t.dimension=a,a=Y.allocType(t.dtype,e.length),p(a,e),i(t,a,r),s?t.persistentData=a:Y.freeType(a)):q(e[0])&amp;&amp;(t.dimension=e[0].length,t.dtype=n||d(e[0])||5126,e=K(e,[e.length,e[0].length],t.dtype),i(t,e,r),s?t.persistentData=e:Y.freeType(e))}else if(q(e))t.dtype=n||d(e),t.dimension=a,i(t,e,r),s&amp;&amp;(t.persistentData=new Uint8Array(new Uint8Array(e.buffer)));else if(o(e)){a=e.shape;var c=e.stride,u=(l=e.offset,0),f=0,h=0,g=0;1===a.length?(u=a[0],f=1,h=c[0],g=0):2===a.length&amp;&amp;(u=a[0],f=a[1],h=c[0],g=c[1]),t.dtype=n||d(e.data)||5126,t.dimension=f,m(a=Y.allocType(t.dtype,u*f),e.data,u,f,h,g,l),i(t,a,r),s?t.persistentData=a:Y.freeType(a)}}function s(r){e.bufferCount--,t.deleteBuffer(r.buffer),r.buffer=null,delete c[r.id]}var l=0,c={};n.prototype.bind=function(){t.bindBuffer(this.type,this.buffer)},n.prototype.destroy=function(){s(this)};var u=[];return r.profile&amp;&amp;(e.getTotalBufferSize=function(){var t=0;return Object.keys(c).forEach(function(e){t+=c[e].stats.size}),t}),{create:function(i,l,u,f){function h(e){var n=35044,i=null,s=0,l=0,c=1;return Array.isArray(e)||q(e)||o(e)?i=e:&quot;number&quot;==typeof e?s=0|e:e&amp;&amp;(&quot;data&quot;in e&amp;&amp;(i=e.data),&quot;usage&quot;in e&amp;&amp;(n=J[e.usage]),&quot;type&quot;in e&amp;&amp;(l=Z[e.type]),&quot;dimension&quot;in e&amp;&amp;(c=0|e.dimension),&quot;length&quot;in e&amp;&amp;(s=0|e.length)),g.bind(),i?a(g,i,n,l,c,f):(t.bufferData(g.type,s,n),g.dtype=l||5121,g.usage=n,g.dimension=c,g.byteLength=s),r.profile&amp;&amp;(g.stats.size=g.byteLength*$[g.dtype]),h}e.bufferCount++;var g=new n(l);return c[g.id]=g,u||h(i),h._reglType=&quot;buffer&quot;,h._buffer=g,h.subdata=function(e,r){var n,i=0|(r||0);if(g.bind(),q(e))t.bufferSubData(g.type,i,e);else if(Array.isArray(e)){if(0&lt;e.length)if(&quot;number&quot;==typeof e[0]){var a=Y.allocType(g.dtype,e.length);p(a,e),t.bufferSubData(g.type,i,a),Y.freeType(a)}else(Array.isArray(e[0])||q(e[0]))&amp;&amp;(n=Q(e),a=K(e,n,g.dtype),t.bufferSubData(g.type,i,a),Y.freeType(a))}else if(o(e)){n=e.shape;var s=e.stride,l=a=0,c=0,u=0;1===n.length?(a=n[0],l=1,c=s[0],u=0):2===n.length&amp;&amp;(a=n[0],l=n[1],c=s[0],u=s[1]),n=Array.isArray(e.data)?g.dtype:d(e.data),m(n=Y.allocType(n,a*l),e.data,a,l,c,u,e.offset),t.bufferSubData(g.type,i,n),Y.freeType(n)}return h},r.profile&amp;&amp;(h.stats=g.stats),h.destroy=function(){s(g)},h},createStream:function(t,e){var r=u.pop();return r||(r=new n(t)),r.bind(),a(r,e,35040,0,1,!1),r},destroyStream:function(t){u.push(t)},clear:function(){H(c).forEach(s),u.forEach(s)},getBuffer:function(t){return t&amp;&amp;t._buffer instanceof n?t._buffer:null},restore:function(){H(c).forEach(function(e){e.buffer=t.createBuffer(),t.bindBuffer(e.type,e.buffer),t.bufferData(e.type,e.persistentData||e.byteLength,e.usage)})},_initBuffer:a}}(y,w,t),O=function(t,e,r,n){function i(t){this.id=c++,l[this.id]=this,this.buffer=t,this.primType=4,this.type=this.vertCount=0}function a(n,i,a,s,l,c,u){if(n.buffer.bind(),i){var f=u;u||q(i)&amp;&amp;(!o(i)||q(i.data))||(f=e.oes_element_index_uint?5125:5123),r._initBuffer(n.buffer,i,a,f,3)}else t.bufferData(34963,c,a),n.buffer.dtype=f||5121,n.buffer.usage=a,n.buffer.dimension=3,n.buffer.byteLength=c;if(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&gt;(i=l)&amp;&amp;(i=n.buffer.byteLength,5123===f?i&gt;&gt;=1:5125===f&amp;&amp;(i&gt;&gt;=2)),n.vertCount=i,i=s,0&gt;s&amp;&amp;(i=4,1===(s=n.buffer.dimension)&amp;&amp;(i=0),2===s&amp;&amp;(i=1),3===s&amp;&amp;(i=4)),n.primType=i}function s(t){n.elementsCount--,delete l[t.id],t.buffer.destroy(),t.buffer=null}var l={},c=0,u={uint8:5121,uint16:5123};e.oes_element_index_uint&amp;&amp;(u.uint32=5125),i.prototype.bind=function(){this.buffer.bind()};var f=[];return{create:function(t,e){function l(t){if(t)if(&quot;number&quot;==typeof t)c(t),f.primType=4,f.vertCount=0|t,f.type=5121;else{var e=null,r=35044,n=-1,i=-1,s=0,h=0;Array.isArray(t)||q(t)||o(t)?e=t:(&quot;data&quot;in t&amp;&amp;(e=t.data),&quot;usage&quot;in t&amp;&amp;(r=J[t.usage]),&quot;primitive&quot;in t&amp;&amp;(n=tt[t.primitive]),&quot;count&quot;in t&amp;&amp;(i=0|t.count),&quot;type&quot;in t&amp;&amp;(h=u[t.type]),&quot;length&quot;in t?s=0|t.length:(s=i,5123===h||5122===h?s*=2:5125!==h&amp;&amp;5124!==h||(s*=4))),a(f,e,r,n,i,s,h)}else c(),f.primType=4,f.vertCount=0,f.type=5121;return l}var c=r.create(null,34963,!0),f=new i(c._buffer);return n.elementsCount++,l(t),l._reglType=&quot;elements&quot;,l._elements=f,l.subdata=function(t,e){return c.subdata(t,e),l},l.destroy=function(){s(f)},l},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&quot;function&quot;==typeof t&amp;&amp;t._elements instanceof i?t._elements:null},clear:function(){H(l).forEach(s)}}}(y,M,P,w),j=(C=function(t,e,r,n,i){for(t=r.maxAttributes,e=Array(t),r=0;r&lt;t;++r)e[r]=new A;return{Record:A,scope:{},state:e}}(y,M,I),T(y,_,w,t)),G=k(y,M,I,function(){et.procs.poll()},D,w,t),W=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&amp;&amp;(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,&quot;rgb5 a1&quot;:32855,depth:33189,stencil:36168,&quot;depth stencil&quot;:34041};e.ext_srgb&amp;&amp;(s.srgba=35907),e.ext_color_buffer_half_float&amp;&amp;(s.rgba16f=34842,s.rgb16f=34843),e.webgl_color_buffer_float&amp;&amp;(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&gt;=--this.refCount&amp;&amp;o(this)},i.profile&amp;&amp;(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(&quot;object&quot;==typeof e&amp;&amp;e?(&quot;shape&quot;in e?(a=e.shape,n=0|a[0],a=0|a[1]):(&quot;radius&quot;in e&amp;&amp;(n=a=0|e.radius),&quot;width&quot;in e&amp;&amp;(n=0|e.width),&quot;height&quot;in e&amp;&amp;(a=0|e.height)),&quot;format&quot;in e&amp;&amp;(u=s[e.format])):&quot;number&quot;==typeof e?(n=0|e,a=&quot;number&quot;==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&amp;&amp;(c.stats.size=ct[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&amp;&amp;a===c.height?o:(o.width=c.width=n,o.height=c.height=a,t.bindRenderbuffer(36161,c.renderbuffer),t.renderbufferStorage(36161,c.format,n,a),i.profile&amp;&amp;(c.stats.size=ct[c.format]*c.width*c.height),o)},o._reglType=&quot;renderbuffer&quot;,o._renderbuffer=c,i.profile&amp;&amp;(o.stats=c.stats),o.destroy=function(){c.decRef()},o},clear:function(){H(u).forEach(o)},restore:function(){H(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)}}}(y,M,0,w,t),X=function(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&amp;&amp;(t=r.width,n=r.height),this.width=t,this.height=n}function s(t){t&amp;&amp;(t.texture&amp;&amp;t.texture._texture.decRef(),t.renderbuffer&amp;&amp;t.renderbuffer._renderbuffer.decRef())}function l(t,e,r){t&amp;&amp;(t.texture?t.texture._texture.refCount+=1:t.renderbuffer._renderbuffer.refCount+=1)}function c(e,r){r&amp;&amp;(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&quot;object&quot;==typeof t&amp;&amp;(i=t.data,&quot;target&quot;in t&amp;&amp;(e=0|t.target)),&quot;texture2d&quot;===(t=i._reglType)?r=i:&quot;textureCube&quot;===t?r=i:&quot;renderbuffer&quot;===t&amp;&amp;(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}),t._texture.refCount=0,new o(3553,t,null)):(t=i.create({width:t,height:e,format:a}),t._renderbuffer.refCount=0,new o(36161,null,t))}function h(t){return t&amp;&amp;(t.texture||t.renderbuffer)}function d(t,e,r){t&amp;&amp;(t.texture?t.texture.resize(e,r):t.renderbuffer&amp;&amp;t.renderbuffer.resize(e,r))}function p(){this.id=M++,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&lt;i.length;++n)c(36064+n,i[n]);for(n=i.length;n&lt;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.bindFramebuffer(36160,x.next),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 d=!0,p=&quot;rgba&quot;,g=&quot;uint8&quot;,y=1,x=null,w=null,M=null,k=!1;&quot;number&quot;==typeof t?(a=0|t,o=0|e||a):t?(&quot;shape&quot;in t?(o=t.shape,a=o[0],o=o[1]):(&quot;radius&quot;in t&amp;&amp;(a=o=t.radius),&quot;width&quot;in t&amp;&amp;(a=t.width),&quot;height&quot;in t&amp;&amp;(o=t.height)),(&quot;color&quot;in t||&quot;colors&quot;in t)&amp;&amp;(i=t.color||t.colors,Array.isArray(i)),i||(&quot;colorCount&quot;in t&amp;&amp;(y=0|t.colorCount),&quot;colorTexture&quot;in t&amp;&amp;(d=!!t.colorTexture,p=&quot;rgba4&quot;),&quot;colorType&quot;in t&amp;&amp;(g=t.colorType,!d)&amp;&amp;(&quot;half float&quot;===g||&quot;float16&quot;===g?p=&quot;rgba16f&quot;:&quot;float&quot;!==g&amp;&amp;&quot;float32&quot;!==g||(p=&quot;rgba32f&quot;)),&quot;colorFormat&quot;in t&amp;&amp;(p=t.colorFormat,0&lt;=b.indexOf(p)?d=!0:0&lt;=_.indexOf(p)&amp;&amp;(d=!1))),(&quot;depthTexture&quot;in t||&quot;depthStencilTexture&quot;in t)&amp;&amp;(k=!(!t.depthTexture&amp;&amp;!t.depthStencilTexture)),&quot;depth&quot;in t&amp;&amp;(&quot;boolean&quot;==typeof t.depth?s=t.depth:(x=t.depth,c=!1)),&quot;stencil&quot;in t&amp;&amp;(&quot;boolean&quot;==typeof t.stencil?c=t.stencil:(w=t.stencil,s=!1)),&quot;depthStencil&quot;in t&amp;&amp;(&quot;boolean&quot;==typeof t.depthStencil?s=c=t.depthStencil:(M=t.depthStencil,c=s=!1))):a=o=1;var A=null,T=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&lt;y;++i)A[i]=f(a,o,d,p,g);for(a=a||A[0].width,o=o||A[0].height,x?T=u(x):s&amp;&amp;!c&amp;&amp;(T=f(a,o,k,&quot;depth&quot;,&quot;uint32&quot;)),w?S=u(w):c&amp;&amp;!s&amp;&amp;(S=f(a,o,!1,&quot;stencil&quot;,&quot;uint8&quot;)),M?E=u(M):!x&amp;&amp;!w&amp;&amp;c&amp;&amp;s&amp;&amp;(E=f(a,o,k,&quot;depth stencil&quot;,&quot;depth stencil&quot;)),s=null,i=0;i&lt;A.length;++i)l(A[i]),A[i]&amp;&amp;A[i].texture&amp;&amp;(c=ut[A[i].texture._texture.format]*ft[A[i].texture._texture.type],null===s&amp;&amp;(s=c));return l(T),l(S),l(E),m(n),n.width=a,n.height=o,n.colorAttachments=A,n.depthAttachment=T,n.stencilAttachment=S,n.depthStencilAttachment=E,r.color=A.map(h),r.depth=h(T),r.stencil=h(S),r.depthStencil=h(E),r.width=n.width,r.height=n.height,v(n),r}var n=new p;return a.framebufferCount++,r(t,e),N(r,{resize:function(t,e){var i=0|t,a=0|e||i;if(i===n.width&amp;&amp;a===n.height)return r;for(var o=n.colorAttachments,s=0;s&lt;o.length;++s)d(o[s],i,a);return d(n.depthAttachment,i,a),d(n.stencilAttachment,i,a),d(n.depthStencilAttachment,i,a),n.width=r.width=i,n.height=r.height=a,v(n),r},_reglType:&quot;framebuffer&quot;,_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=[&quot;rgba&quot;],_=[&quot;rgba4&quot;,&quot;rgb565&quot;,&quot;rgb5 a1&quot;];e.ext_srgb&amp;&amp;_.push(&quot;srgba&quot;),e.ext_color_buffer_half_float&amp;&amp;_.push(&quot;rgba16f&quot;,&quot;rgb16f&quot;),e.webgl_color_buffer_float&amp;&amp;_.push(&quot;rgba32f&quot;);var w=[&quot;uint8&quot;];e.oes_texture_half_float&amp;&amp;w.push(&quot;half float&quot;,&quot;float16&quot;),e.oes_texture_float&amp;&amp;w.push(&quot;float&quot;,&quot;float32&quot;);var M=0,k={};return N(x,{getFramebuffer:function(t){return&quot;function&quot;==typeof t&amp;&amp;&quot;framebuffer&quot;===t._reglType&amp;&amp;(t=t._framebuffer)instanceof p?t:null},create:y,createCube:function(t){function e(t){var i,a={color:null},o=0,s=null;i=&quot;rgba&quot;;var l=&quot;uint8&quot;,c=1;if(&quot;number&quot;==typeof t?o=0|t:t?(&quot;shape&quot;in t?o=t.shape[0]:(&quot;radius&quot;in t&amp;&amp;(o=0|t.radius),&quot;width&quot;in t?o=0|t.width:&quot;height&quot;in t&amp;&amp;(o=0|t.height)),(&quot;color&quot;in t||&quot;colors&quot;in t)&amp;&amp;(s=t.color||t.colors,Array.isArray(s)),s||(&quot;colorCount&quot;in t&amp;&amp;(c=0|t.colorCount),&quot;colorType&quot;in t&amp;&amp;(l=t.colorType),&quot;colorFormat&quot;in t&amp;&amp;(i=t.colorFormat)),&quot;depth&quot;in t&amp;&amp;(a.depth=t.depth),&quot;stencil&quot;in t&amp;&amp;(a.stencil=t.stencil),&quot;depthStencil&quot;in t&amp;&amp;(a.depthStencil=t.depthStencil)):o=1,s)if(Array.isArray(s))for(t=[],i=0;i&lt;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&lt;c;++i)t[i]=n.createCube(s);for(a.color=Array(t.length),i=0;i&lt;t.length;++i)c=t[i],o=o||c.width,a.color[i]={target:34069,data:t[i]};for(i=0;6&gt;i;++i){for(c=0;c&lt;t.length;++c)a.color[c].target=34069+i;0&lt;i&amp;&amp;(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 N(e,{width:o,height:o,color:t})}var r=Array(6);return e(t),N(e,{faces:r,resize:function(t){var n=0|t;if(n===e.width)return e;var i=e.color;for(t=0;t&lt;i.length;++t)i[t].resize(n);for(t=0;6&gt;t;++t)r[t].resize(n);return e.width=e.height=n,e},_reglType:&quot;framebufferCube&quot;,destroy:function(){r.forEach(function(t){t.destroy()})}})},clear:function(){H(k).forEach(g)},restore:function(){H(k).forEach(function(e){e.framebuffer=t.createFramebuffer(),v(e)})}})}(y,M,I,G,W,w),et=F(y,_,M,I,P,O,0,X,{},C,j,{elements:null,primitive:4,count:-1,offset:0,instances:-1},D,E,t),rt=(_=S(y,X,et.procs.poll,D),et.next),nt=y.canvas,it=[],at=[],ot=[],st=[t.onDestroy],lt=null;nt&amp;&amp;(nt.addEventListener(&quot;webglcontextlost&quot;,i,!1),nt.addEventListener(&quot;webglcontextrestored&quot;,s,!1));var ht=X.setFBO=l({framebuffer:B.define.call(null,1,&quot;framebuffer&quot;)});return g(),x=N(l,{clear:function(t){if(&quot;framebuffer&quot;in t)if(t.framebuffer&amp;&amp;&quot;framebufferCube&quot;===t.framebuffer_reglType)for(var e=0;6&gt;e;++e)ht(N({framebuffer:t.framebuffer.faces[e]},t),c);else ht(t,c);else c(0,t)},prop:B.define.bind(null,1),context:B.define.bind(null,2),this:B.define.bind(null,3),draw:l({}),buffer:function(t){return P.create(t,34962,!1,!1)},elements:function(t){return O.create(t,!1)},texture:G.create2D,cube:G.createCube,renderbuffer:W.create,framebuffer:X.create,framebufferCube:X.createCube,attributes:x,frame:u,on:function(t,e){var r;switch(t){case&quot;frame&quot;:return u(e);case&quot;lost&quot;:r=at;break;case&quot;restore&quot;:r=ot;break;case&quot;destroy&quot;:r=st}return r.push(e),{cancel:function(){for(var t=0;t&lt;r.length;++t)if(r[t]===e){r[t]=r[r.length-1],r.pop();break}}}},limits:I,hasExtension:function(t){return 0&lt;=I.extensions.indexOf(t.toLowerCase())},read:_,destroy:function(){it.length=0,n(),nt&amp;&amp;(nt.removeEventListener(&quot;webglcontextlost&quot;,i),nt.removeEventListener(&quot;webglcontextrestored&quot;,s)),j.clear(),X.clear(),W.clear(),G.clear(),O.clear(),P.clear(),E&amp;&amp;E.clear(),st.forEach(function(t){t()})},_gl:y,_refresh:g,poll:function(){h(),E&amp;&amp;E.update()},now:v,stats:w}),t.onDone(null,x),x}})},{}],507:[function(t,e,r){&quot;use strict&quot;;var n,i=&quot;&quot;;e.exports=function(t,e){if(&quot;string&quot;!=typeof t)throw new TypeError(&quot;expected a string&quot;);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=&quot;&quot;;else if(i.length&gt;=r)return i.substr(0,r);for(;r&gt;i.length&amp;&amp;e&gt;1;)1&amp;e&amp;&amp;(i+=t),e&gt;&gt;=1,t+=t;return i+=t,i=i.substr(0,r)}},{}],508:[function(t,e,r){!function(t,n){&quot;object&quot;==typeof r?e.exports=n():t.resolveUrl=n()}(this,function(){return function(){var t=arguments.length;if(0===t)throw new Error(&quot;resolveUrl requires at least one argument; got none.&quot;);var e=document.createElement(&quot;base&quot;);if(e.href=arguments[0],1===t)return e.href;var r=document.getElementsByTagName(&quot;head&quot;)[0];r.insertBefore(e,r.firstChild);for(var n,i=document.createElement(&quot;a&quot;),a=1;a&lt;t;a++)i.href=arguments[a],n=i.href,e.href=n;return r.removeChild(e),n}})},{}],509:[function(t,e,r){(function(t){e.exports=t.performance&amp;&amp;t.performance.now?function(){return performance.now()}:Date.now||function(){return+new Date}}).call(this,&quot;undefined&quot;!=typeof global?global:&quot;undefined&quot;!=typeof self?self:&quot;undefined&quot;!=typeof window?window:{})},{}],510:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t){for(var e=t.length,r=t[t.length-1],n=e,i=e-2;i&gt;=0;--i){var a=r;(l=(s=t[i])-((r=a+s)-a))&amp;&amp;(t[--n]=r,r=l)}var o=0;for(i=n;i&lt;e;++i){var s,l;(l=(s=r)-((r=(a=t[i])+s)-a))&amp;&amp;(t[o++]=l)}return t[o++]=r,t.length=o,t}},{}],511:[function(t,e,r){&quot;use strict&quot;;function n(t,e){for(var r=new Array(t.length-1),n=1;n&lt;t.length;++n)for(var i=r[n-1]=new Array(t.length-1),a=0,o=0;a&lt;t.length;++a)a!==e&amp;&amp;(i[o++]=t[n][a]);return r}function i(t){return 1&amp;t?&quot;-&quot;:&quot;&quot;}function a(t){if(1===t.length)return t[0];if(2===t.length)return[&quot;sum(&quot;,t[0],&quot;,&quot;,t[1],&quot;)&quot;].join(&quot;&quot;);var e=t.length&gt;&gt;1;return[&quot;sum(&quot;,a(t.slice(0,e)),&quot;,&quot;,a(t.slice(e)),&quot;)&quot;].join(&quot;&quot;)}function o(t){if(2===t.length)return[&quot;sum(prod(&quot;,t[0][0],&quot;,&quot;,t[1][1],&quot;),prod(-&quot;,t[0][1],&quot;,&quot;,t[1][0],&quot;))&quot;].join(&quot;&quot;);for(var e=[],r=0;r&lt;t.length;++r)e.push([&quot;scale(&quot;,o(n(t,r)),&quot;,&quot;,i(r),t[0][r],&quot;)&quot;].join(&quot;&quot;));return a(e)}function s(t){return new Function(&quot;sum&quot;,&quot;scale&quot;,&quot;prod&quot;,&quot;compress&quot;,[&quot;function robustDeterminant&quot;,t,&quot;(m){return compress(&quot;,o(function(t){for(var e=new Array(t),r=0;r&lt;t;++r){e[r]=new Array(t);for(var n=0;n&lt;t;++n)e[r][n]=[&quot;m[&quot;,r,&quot;][&quot;,n,&quot;]&quot;].join(&quot;&quot;)}return e}(t)),&quot;)};return robustDeterminant&quot;,t].join(&quot;&quot;))(c,u,l,f)}var l=t(&quot;two-product&quot;),c=t(&quot;robust-sum&quot;),u=t(&quot;robust-scale&quot;),f=t(&quot;robust-compress&quot;),h=6,d=[function(){return[0]},function(t){return[t[0][0]]}];!function(){for(;d.length&lt;h;)d.push(s(d.length));for(var t=[],r=[&quot;function robustDeterminant(m){switch(m.length){&quot;],n=0;n&lt;h;++n)t.push(&quot;det&quot;+n),r.push(&quot;case &quot;,n,&quot;:return det&quot;,n,&quot;(m);&quot;);r.push(&quot;}var det=CACHE[m.length];if(!det)det=CACHE[m.length]=gen(m.length);return det(m);}return robustDeterminant&quot;),t.push(&quot;CACHE&quot;,&quot;gen&quot;,r.join(&quot;&quot;));var i=Function.apply(void 0,t);for(e.exports=i.apply(void 0,d.concat([d,s])),n=0;n&lt;d.length;++n)e.exports[n]=d[n]}()},{&quot;robust-compress&quot;:510,&quot;robust-scale&quot;:517,&quot;robust-sum&quot;:520,&quot;two-product&quot;:552}],512:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;two-product&quot;),i=t(&quot;robust-sum&quot;);e.exports=function(t,e){for(var r=n(t[0],e[0]),a=1;a&lt;t.length;++a)r=i(r,n(t[a],e[a]));return r}},{&quot;robust-sum&quot;:520,&quot;two-product&quot;:552}],513:[function(t,e,r){&quot;use strict&quot;;function n(t,e){for(var r=new Array(t.length-1),n=1;n&lt;t.length;++n)for(var i=r[n-1]=new Array(t.length-1),a=0,o=0;a&lt;t.length;++a)a!==e&amp;&amp;(i[o++]=t[n][a]);return r}function i(t){if(1===t.length)return t[0];if(2===t.length)return[&quot;sum(&quot;,t[0],&quot;,&quot;,t[1],&quot;)&quot;].join(&quot;&quot;);var e=t.length&gt;&gt;1;return[&quot;sum(&quot;,i(t.slice(0,e)),&quot;,&quot;,i(t.slice(e)),&quot;)&quot;].join(&quot;&quot;)}function a(t,e){if(&quot;m&quot;===t.charAt(0)){if(&quot;w&quot;===e.charAt(0)){var r=t.split(&quot;[&quot;);return[&quot;w&quot;,e.substr(1),&quot;m&quot;,r[0].substr(1)].join(&quot;&quot;)}return[&quot;prod(&quot;,t,&quot;,&quot;,e,&quot;)&quot;].join(&quot;&quot;)}return a(e,t)}function o(t){return!0&amp;t?&quot;-&quot;:&quot;&quot;}function s(t){if(2===t.length)return[[&quot;diff(&quot;,a(t[0][0],t[1][1]),&quot;,&quot;,a(t[1][0],t[0][1]),&quot;)&quot;].join(&quot;&quot;)];for(var e=[],r=0;r&lt;t.length;++r)e.push([&quot;scale(&quot;,i(s(n(t,r))),&quot;,&quot;,o(r),t[0][r],&quot;)&quot;].join(&quot;&quot;));return e}function l(t,e){for(var r=[],n=0;n&lt;e-2;++n)r.push([&quot;prod(m&quot;,t,&quot;[&quot;,n,&quot;],m&quot;,t,&quot;[&quot;,n,&quot;])&quot;].join(&quot;&quot;));return i(r)}function c(t){for(var e=[],r=[],a=function(t){for(var e=new Array(t),r=0;r&lt;t;++r){e[r]=new Array(t);for(var n=0;n&lt;t;++n)e[r][n]=[&quot;m&quot;,n,&quot;[&quot;,t-r-2,&quot;]&quot;].join(&quot;&quot;)}return e}(t),o=0;o&lt;t;++o)a[0][o]=&quot;1&quot;,a[t-1][o]=&quot;w&quot;+o;for(o=0;o&lt;t;++o)0==(1&amp;o)?e.push.apply(e,s(n(a,o))):r.push.apply(r,s(n(a,o)));var c=i(e),p=i(r),m=&quot;exactInSphere&quot;+t,g=[];for(o=0;o&lt;t;++o)g.push(&quot;m&quot;+o);var v=[&quot;function &quot;,m,&quot;(&quot;,g.join(),&quot;){&quot;];for(o=0;o&lt;t;++o){v.push(&quot;var w&quot;,o,&quot;=&quot;,l(o,t),&quot;;&quot;);for(var y=0;y&lt;t;++y)y!==o&amp;&amp;v.push(&quot;var w&quot;,o,&quot;m&quot;,y,&quot;=scale(w&quot;,o,&quot;,m&quot;,y,&quot;[0]);&quot;)}v.push(&quot;var p=&quot;,c,&quot;,n=&quot;,p,&quot;,d=diff(p,n);return d[d.length-1];}return &quot;,m);return new Function(&quot;sum&quot;,&quot;diff&quot;,&quot;prod&quot;,&quot;scale&quot;,v.join(&quot;&quot;))(f,h,u,d)}var u=t(&quot;two-product&quot;),f=t(&quot;robust-sum&quot;),h=t(&quot;robust-subtract&quot;),d=t(&quot;robust-scale&quot;),p=6,m=[function(){return 0},function(){return 0},function(){return 0}];!function(){for(;m.length&lt;=p;)m.push(c(m.length));for(var t=[],r=[&quot;slow&quot;],n=0;n&lt;=p;++n)t.push(&quot;a&quot;+n),r.push(&quot;o&quot;+n);var i=[&quot;function testInSphere(&quot;,t.join(),&quot;){switch(arguments.length){case 0:case 1:return 0;&quot;];for(n=2;n&lt;=p;++n)i.push(&quot;case &quot;,n,&quot;:return o&quot;,n,&quot;(&quot;,t.slice(0,n).join(),&quot;);&quot;);i.push(&quot;}var s=new Array(arguments.length);for(var i=0;i&lt;arguments.length;++i){s[i]=arguments[i]};return slow(s);}return testInSphere&quot;),r.push(i.join(&quot;&quot;));var a=Function.apply(void 0,r);for(e.exports=a.apply(void 0,[function(t){var e=m[t.length];return e||(e=m[t.length]=c(t.length)),e.apply(void 0,t)}].concat(m)),n=0;n&lt;=p;++n)e.exports[n]=m[n]}()},{&quot;robust-scale&quot;:517,&quot;robust-subtract&quot;:519,&quot;robust-sum&quot;:520,&quot;two-product&quot;:552}],514:[function(t,e,r){&quot;use strict&quot;;function n(t){for(var e=&quot;robustLinearSolve&quot;+t+&quot;d&quot;,r=[&quot;function &quot;,e,&quot;(A,b){return [&quot;],n=0;n&lt;t;++n){r.push(&quot;det([&quot;);for(var a=0;a&lt;t;++a){a&gt;0&amp;&amp;r.push(&quot;,&quot;),r.push(&quot;[&quot;);for(var o=0;o&lt;t;++o)o&gt;0&amp;&amp;r.push(&quot;,&quot;),o===n?r.push(&quot;+b[&quot;,a,&quot;]&quot;):r.push(&quot;+A[&quot;,a,&quot;][&quot;,o,&quot;]&quot;);r.push(&quot;]&quot;)}r.push(&quot;]),&quot;)}r.push(&quot;det(A)]}return &quot;,e);var s=new Function(&quot;det&quot;,r.join(&quot;&quot;));return s(t&lt;6?i[t]:i)}var i=t(&quot;robust-determinant&quot;),a=6,o=[function(){return[0]},function(t,e){return[[e[0]],[t[0][0]]]}];!function(){for(;o.length&lt;a;)o.push(n(o.length));for(var t=[],r=[&quot;function dispatchLinearSolve(A,b){switch(A.length){&quot;],i=0;i&lt;a;++i)t.push(&quot;s&quot;+i),r.push(&quot;case &quot;,i,&quot;:return s&quot;,i,&quot;(A,b);&quot;);r.push(&quot;}var s=CACHE[A.length];if(!s)s=CACHE[A.length]=g(A.length);return s(A,b)}return dispatchLinearSolve&quot;),t.push(&quot;CACHE&quot;,&quot;g&quot;,r.join(&quot;&quot;));var s=Function.apply(void 0,t);for(e.exports=s.apply(void 0,o.concat([o,n])),i=0;i&lt;a;++i)e.exports[i]=o[i]}()},{&quot;robust-determinant&quot;:511}],515:[function(t,e,r){&quot;use strict&quot;;function n(t,e){for(var r=new Array(t.length-1),n=1;n&lt;t.length;++n)for(var i=r[n-1]=new Array(t.length-1),a=0,o=0;a&lt;t.length;++a)a!==e&amp;&amp;(i[o++]=t[n][a]);return r}function i(t){return 1&amp;t?&quot;-&quot;:&quot;&quot;}function a(t){if(1===t.length)return t[0];if(2===t.length)return[&quot;sum(&quot;,t[0],&quot;,&quot;,t[1],&quot;)&quot;].join(&quot;&quot;);var e=t.length&gt;&gt;1;return[&quot;sum(&quot;,a(t.slice(0,e)),&quot;,&quot;,a(t.slice(e)),&quot;)&quot;].join(&quot;&quot;)}function o(t){if(2===t.length)return[[&quot;sum(prod(&quot;,t[0][0],&quot;,&quot;,t[1][1],&quot;),prod(-&quot;,t[0][1],&quot;,&quot;,t[1][0],&quot;))&quot;].join(&quot;&quot;)];for(var e=[],r=0;r&lt;t.length;++r)e.push([&quot;scale(&quot;,a(o(n(t,r))),&quot;,&quot;,i(r),t[0][r],&quot;)&quot;].join(&quot;&quot;));return e}function s(t){for(var e=[],r=[],i=function(t){for(var e=new Array(t),r=0;r&lt;t;++r){e[r]=new Array(t);for(var n=0;n&lt;t;++n)e[r][n]=[&quot;m&quot;,n,&quot;[&quot;,t-r-1,&quot;]&quot;].join(&quot;&quot;)}return e}(t),s=[],h=0;h&lt;t;++h)0==(1&amp;h)?e.push.apply(e,o(n(i,h))):r.push.apply(r,o(n(i,h))),s.push(&quot;m&quot;+h);var d=a(e),p=a(r),m=&quot;orientation&quot;+t+&quot;Exact&quot;,g=[&quot;function &quot;,m,&quot;(&quot;,s.join(),&quot;){var p=&quot;,d,&quot;,n=&quot;,p,&quot;,d=sub(p,n);return d[d.length-1];};return &quot;,m].join(&quot;&quot;);return new Function(&quot;sum&quot;,&quot;prod&quot;,&quot;scale&quot;,&quot;sub&quot;,g)(c,l,u,f)}var l=t(&quot;two-product&quot;),c=t(&quot;robust-sum&quot;),u=t(&quot;robust-scale&quot;),f=t(&quot;robust-subtract&quot;),h=5,d=s(3),p=s(4),m=[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&gt;0){if(a&lt;=0)return o;n=i+a}else{if(!(i&lt;0))return o;if(a&gt;=0)return o;n=-(i+a)}var s=3.3306690738754716e-16*n;return o&gt;=s||o&lt;=-s?o:d(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],h=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)+h*(y-x),_=7.771561172376103e-16*((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(h));return b&gt;_||-b&gt;_?b:p(t,e,r,n)}];!function(){for(;m.length&lt;=h;)m.push(s(m.length));for(var t=[],r=[&quot;slow&quot;],n=0;n&lt;=h;++n)t.push(&quot;a&quot;+n),r.push(&quot;o&quot;+n);var i=[&quot;function getOrientation(&quot;,t.join(),&quot;){switch(arguments.length){case 0:case 1:return 0;&quot;];for(n=2;n&lt;=h;++n)i.push(&quot;case &quot;,n,&quot;:return o&quot;,n,&quot;(&quot;,t.slice(0,n).join(),&quot;);&quot;);i.push(&quot;}var s=new Array(arguments.length);for(var i=0;i&lt;arguments.length;++i){s[i]=arguments[i]};return slow(s);}return getOrientation&quot;),r.push(i.join(&quot;&quot;));var a=Function.apply(void 0,r);for(e.exports=a.apply(void 0,[function(t){var e=m[t.length];return e||(e=m[t.length]=s(t.length)),e.apply(void 0,t)}].concat(m)),n=0;n&lt;=h;++n)e.exports[n]=m[n]}()},{&quot;robust-scale&quot;:517,&quot;robust-subtract&quot;:519,&quot;robust-sum&quot;:520,&quot;two-product&quot;:552}],516:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;robust-sum&quot;),i=t(&quot;robust-scale&quot;);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&lt;e.length)for(var a=0;a&lt;t.length;++a)r=n(r,i(e,t[a]));else for(a=0;a&lt;e.length;++a)r=n(r,i(t,e[a]));return r}},{&quot;robust-scale&quot;:517,&quot;robust-sum&quot;:520}],517:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;two-product&quot;),i=t(&quot;two-sum&quot;);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]&amp;&amp;(o[c++]=s[0]);for(var u=1;u&lt;r;++u){n(t[u],e,l);var f=s[1];i(f,l[0],s),s[0]&amp;&amp;(o[c++]=s[0]);var h=l[1],d=s[1],p=h+d,m=d-(p-h);s[1]=p,m&amp;&amp;(o[c++]=m)}return s[1]&amp;&amp;(o[c++]=s[1]),0===c&amp;&amp;(o[c++]=0),o.length=c,o}},{&quot;two-product&quot;:552,&quot;two-sum&quot;:553}],518:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t,e,r,i){var a=n(t,r,i),o=n(e,r,i);if(a&gt;0&amp;&amp;o&gt;0||a&lt;0&amp;&amp;o&lt;0)return!1;var s=n(r,t,e),l=n(i,t,e);return!(s&gt;0&amp;&amp;l&gt;0||s&lt;0&amp;&amp;l&lt;0)&amp;&amp;(0!==a||0!==o||0!==s||0!==l||function(t,e,r,n){for(var i=0;i&lt;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)&lt;s||l&lt;f)return!1}return!0}(t,e,r,i))};var n=t(&quot;robust-orientation&quot;)[3]},{&quot;robust-orientation&quot;:515}],519:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t,e){var r=0|t.length,n=0|e.length;if(1===r&amp;&amp;1===n)return function(t,e){var r=t+e,n=r-t,i=t-(r-n)+(e-n);return i?[i,r]:[r]}(t[0],-e[0]);var i,a,o=r+n,s=new Array(o),l=0,c=0,u=0,f=Math.abs,h=t[c],d=f(h),p=-e[u],m=f(p);d&lt;m?(a=h,(c+=1)&lt;r&amp;&amp;(d=f(h=t[c]))):(a=p,(u+=1)&lt;n&amp;&amp;(m=f(p=-e[u]))),c&lt;r&amp;&amp;d&lt;m||u&gt;=n?(i=h,(c+=1)&lt;r&amp;&amp;(d=f(h=t[c]))):(i=p,(u+=1)&lt;n&amp;&amp;(m=f(p=-e[u])));for(var g,v,y=i+a,x=y-i,b=a-x,_=b,w=y;c&lt;r&amp;&amp;u&lt;n;)d&lt;m?(i=h,(c+=1)&lt;r&amp;&amp;(d=f(h=t[c]))):(i=p,(u+=1)&lt;n&amp;&amp;(m=f(p=-e[u]))),(b=(a=_)-(x=(y=i+a)-i))&amp;&amp;(s[l++]=b),_=w-((g=w+y)-(v=g-w))+(y-v),w=g;for(;c&lt;r;)(b=(a=_)-(x=(y=(i=h)+a)-i))&amp;&amp;(s[l++]=b),_=w-((g=w+y)-(v=g-w))+(y-v),w=g,(c+=1)&lt;r&amp;&amp;(h=t[c]);for(;u&lt;n;)(b=(a=_)-(x=(y=(i=p)+a)-i))&amp;&amp;(s[l++]=b),_=w-((g=w+y)-(v=g-w))+(y-v),w=g,(u+=1)&lt;n&amp;&amp;(p=-e[u]);return _&amp;&amp;(s[l++]=_),w&amp;&amp;(s[l++]=w),l||(s[l++]=0),s.length=l,s}},{}],520:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t,e){var r=0|t.length,n=0|e.length;if(1===r&amp;&amp;1===n)return function(t,e){var r=t+e,n=r-t,i=t-(r-n)+(e-n);return i?[i,r]:[r]}(t[0],e[0]);var i,a,o=r+n,s=new Array(o),l=0,c=0,u=0,f=Math.abs,h=t[c],d=f(h),p=e[u],m=f(p);d&lt;m?(a=h,(c+=1)&lt;r&amp;&amp;(d=f(h=t[c]))):(a=p,(u+=1)&lt;n&amp;&amp;(m=f(p=e[u]))),c&lt;r&amp;&amp;d&lt;m||u&gt;=n?(i=h,(c+=1)&lt;r&amp;&amp;(d=f(h=t[c]))):(i=p,(u+=1)&lt;n&amp;&amp;(m=f(p=e[u])));for(var g,v,y=i+a,x=y-i,b=a-x,_=b,w=y;c&lt;r&amp;&amp;u&lt;n;)d&lt;m?(i=h,(c+=1)&lt;r&amp;&amp;(d=f(h=t[c]))):(i=p,(u+=1)&lt;n&amp;&amp;(m=f(p=e[u]))),(b=(a=_)-(x=(y=i+a)-i))&amp;&amp;(s[l++]=b),_=w-((g=w+y)-(v=g-w))+(y-v),w=g;for(;c&lt;r;)(b=(a=_)-(x=(y=(i=h)+a)-i))&amp;&amp;(s[l++]=b),_=w-((g=w+y)-(v=g-w))+(y-v),w=g,(c+=1)&lt;r&amp;&amp;(h=t[c]);for(;u&lt;n;)(b=(a=_)-(x=(y=(i=p)+a)-i))&amp;&amp;(s[l++]=b),_=w-((g=w+y)-(v=g-w))+(y-v),w=g,(u+=1)&lt;n&amp;&amp;(p=e[u]);return _&amp;&amp;(s[l++]=_),w&amp;&amp;(s[l++]=w),l||(s[l++]=0),s.length=l,s}},{}],521:[function(t,e,r){!function(t,n){&quot;object&quot;==typeof r&amp;&amp;void 0!==e?e.exports=n():t.ShelfPack=n()}(this,function(){function t(t,e,r){r=r||{},this.w=t||64,this.h=e||64,this.autoResize=!!r.autoResize,this.shelves=[],this.stats={},this.count=function(t){this.stats[t]=1+(0|this.stats[t])}}function e(t,e,r){this.x=0,this.y=t,this.w=this.free=e,this.h=r}return t.prototype.pack=function(t,e){t=[].concat(t),e=e||{};for(var r,n,i,a=[],o=0;o&lt;t.length;o++)if(r=t[o].w||t[o].width,n=t[o].h||t[o].height,r&amp;&amp;n){if(!(i=this.packOne(r,n)))continue;e.inPlace&amp;&amp;(t[o].x=i.x,t[o].y=i.y),a.push(i)}if(this.shelves.length&gt;0){for(var s=0,l=0,c=0;c&lt;this.shelves.length;c++){var u=this.shelves[c];l+=u.h,s=Math.max(u.w-u.free,s)}this.resize(s,l)}return a},t.prototype.packOne=function(t,r){for(var n,i,a=0,o={shelf:-1,waste:1/0},s=0;s&lt;this.shelves.length;s++){if(n=this.shelves[s],a+=n.h,r===n.h&amp;&amp;t&lt;=n.free)return this.count(r),n.alloc(t,r);r&gt;n.h||t&gt;n.free||r&lt;n.h&amp;&amp;t&lt;=n.free&amp;&amp;(i=n.h-r)&lt;o.waste&amp;&amp;(o.waste=i,o.shelf=s)}if(-1!==o.shelf)return n=this.shelves[o.shelf],this.count(r),n.alloc(t,r);if(r&lt;=this.h-a&amp;&amp;t&lt;=this.w)return n=new e(a,this.w,r),this.shelves.push(n),this.count(r),n.alloc(t,r);if(this.autoResize){var l,c,u,f;return l=c=this.h,((u=f=this.w)&lt;=l||t&gt;u)&amp;&amp;(f=2*Math.max(t,u)),(l&lt;u||r&gt;l)&amp;&amp;(c=2*Math.max(r,l)),this.resize(f,c),this.packOne(t,r)}return null},t.prototype.clear=function(){this.shelves=[],this.stats={}},t.prototype.resize=function(t,e){this.w=t,this.h=e;for(var r=0;r&lt;this.shelves.length;r++)this.shelves[r].resize(t);return!0},e.prototype.alloc=function(t,e){if(t&gt;this.free||e&gt;this.h)return null;var r=this.x;return this.x+=t,this.free-=t,{x:r,y:this.y,w:t,h:e,width:t,height:e}},e.prototype.resize=function(t){return this.free+=t-this.w,this.w=t,!0},t})},{}],522:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t){return t&lt;0?-1:t&gt;0?1:0}},{}],523:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t){return i(n(t))};var n=t(&quot;boundary-cells&quot;),i=t(&quot;reduce-simplicial-complex&quot;)},{&quot;boundary-cells&quot;:74,&quot;reduce-simplicial-complex&quot;:499}],524:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t,e,r,s){if(r=r||0,void 0===s&amp;&amp;(s=function(t){for(var e=t.length,r=0,n=0;n&lt;e;++n)r=0|Math.max(r,t[n].length);return r-1}(t)),0===t.length||s&lt;1)return{cells:[],vertexIds:[],vertexWeights:[]};var l=function(t,e){for(var r=t.length,n=i.mallocUint8(r),a=0;a&lt;r;++a)n[a]=t[a]&lt;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&lt;r;++c)for(var u=t[c],f=(e=u.length,0);f&lt;e;++f)for(var h=0;h&lt;f;++h){var d=u[h],p=u[f];s[l++]=0|Math.min(d,p),s[l++]=0|Math.max(d,p)}a(n(s,[l/2|0,2]));var m=2;for(c=2;c&lt;l;c+=2)s[c-2]===s[c]&amp;&amp;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&lt;s;++u){var f=o[2*u],h=o[2*u+1];if(r[f]!==r[h]){var d=e[f],p=e[h];o[2*c]=f,o[2*c+1]=h,l[c++]=(p-a)/(p-d)}}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&lt;n;++s){var l=a[2*s];if(l!==o){for(r[2*o+1]=s;++o&lt;l;)r[2*o]=s,r[2*o+1]=s;r[2*o]=s}}for(r[2*o+1]=n;++o&lt;e;)r[2*o]=r[2*o+1]=n;return r}(c,0|e.length),h=o(s)(t,c.data,f,l),d=function(t){for(var e=0|t.shape[0],r=t.data,n=new Array(e),i=0;i&lt;e;++i)n[i]=[r[2*i],r[2*i+1]];return n}(c),p=[].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:d,vertexWeights:p}};var n=t(&quot;ndarray&quot;),i=t(&quot;typedarray-pool&quot;),a=t(&quot;ndarray-sort&quot;),o=t(&quot;./lib/codegen&quot;)},{&quot;./lib/codegen&quot;:525,ndarray:458,&quot;ndarray-sort&quot;:456,&quot;typedarray-pool&quot;:554}],525:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t){var e=a[t];return e||(e=a[t]=function(t){function e(t){if(!(t.length&lt;=0)){c.push(&quot;R.push(&quot;);for(var e=0;e&lt;t.length;++e){var r=t[e];e&gt;0&amp;&amp;c.push(&quot;,&quot;),c.push(&quot;[&quot;);for(var n=0;n&lt;r.length;++n){var i=r[n];n&gt;0&amp;&amp;c.push(&quot;,&quot;),c.push(&quot;B(C,E,c[&quot;,i[0],&quot;],c[&quot;,i[1],&quot;])&quot;)}c.push(&quot;]&quot;)}c.push(&quot;);&quot;)}}var r=0,a=new Array(t+1);a[0]=[[]];for(var o=1;o&lt;=t;++o)for(var s=a[o]=i(o),l=0;l&lt;s.length;++l)r=Math.max(r,s[o].length);var c=[&quot;function B(C,E,i,j){&quot;,&quot;var a=Math.min(i,j)|0,b=Math.max(i,j)|0,l=C[2*a],h=C[2*a+1];&quot;,&quot;while(l&lt;h){&quot;,&quot;var m=(l+h)&gt;&gt;1,v=E[2*m+1];&quot;,&quot;if(v===b){return m}&quot;,&quot;if(b&lt;v){h=m}else{l=m+1}&quot;,&quot;}&quot;,&quot;return l;&quot;,&quot;};&quot;,&quot;function getContour&quot;,t,&quot;d(F,E,C,S){&quot;,&quot;var n=F.length,R=[];&quot;,&quot;for(var i=0;i&lt;n;++i){var c=F[i],l=c.length;&quot;];for(o=t+1;o&gt;1;--o){o&lt;t+1&amp;&amp;c.push(&quot;else &quot;),c.push(&quot;if(l===&quot;,o,&quot;){&quot;);var u=[];for(l=0;l&lt;o;++l)u.push(&quot;(S[c[&quot;+l+&quot;]]&lt;&lt;&quot;+l+&quot;)&quot;);for(c.push(&quot;var M=&quot;,u.join(&quot;+&quot;),&quot;;if(M===0||M===&quot;,(1&lt;&lt;o)-1,&quot;){continue}switch(M){&quot;),s=a[o-1],l=0;l&lt;s.length;++l)c.push(&quot;case &quot;,l,&quot;:&quot;),e(s[l]),c.push(&quot;break;&quot;);c.push(&quot;}}&quot;)}return c.push(&quot;}return R;};return getContour&quot;,t,&quot;d&quot;),new Function(&quot;pool&quot;,c.join(&quot;&quot;))(n)}(t)),e};var n=t(&quot;typedarray-pool&quot;),i=t(&quot;marching-simplex-table&quot;),a={}},{&quot;marching-simplex-table&quot;:436,&quot;typedarray-pool&quot;:554}],526:[function(t,e,r){&quot;use strict&quot;;&quot;use restrict&quot;;function n(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&lt;r;++h)if(n=u[h]-f[h])return n;return 0}}function i(t,e){return n(t[0],e[0])}function a(t,e){if(e){for(var r=t.length,a=new Array(r),o=0;o&lt;r;++o)a[o]=[t[o],e[o]];a.sort(i);for(o=0;o&lt;r;++o)t[o]=a[o][0],e[o]=a[o][1];return t}return t.sort(n),t}function o(t){if(0===t.length)return[];for(var e=1,r=t.length,i=1;i&lt;r;++i){var a=t[i];if(n(a,t[i-1])){if(i===e){e++;continue}t[e++]=a}}return t.length=e,t}function s(t,e){for(var r=0,i=t.length-1,a=-1;r&lt;=i;){var o=r+i&gt;&gt;1,s=n(t[o],e);s&lt;=0?(0===s&amp;&amp;(a=o),r=o+1):s&gt;0&amp;&amp;(i=o-1)}return a}function l(t,e){for(var r=new Array(t.length),i=0,a=r.length;i&lt;a;++i)r[i]=[];for(var o=[],l=(i=0,e.length);i&lt;l;++i)for(var c=e[i],f=c.length,h=1,d=1&lt;&lt;f;h&lt;d;++h){o.length=u.popCount(h);for(var p=0,m=0;m&lt;f;++m)h&amp;1&lt;&lt;m&amp;&amp;(o[p++]=c[m]);var g=s(t,o);if(!(g&lt;0))for(;r[g++].push(i),!(g&gt;=t.length||0!==n(t[g],o)););}return r}function c(t,e){if(e&lt;0)return[];for(var r=[],n=(1&lt;&lt;e+1)-1,i=0;i&lt;t.length;++i)for(var o=t[i],s=n;s&lt;1&lt;&lt;o.length;s=u.nextCombination(s)){for(var l=new Array(e+1),c=0,f=0;f&lt;o.length;++f)s&amp;1&lt;&lt;f&amp;&amp;(l[c++]=o[f]);r.push(l)}return a(r)}var u=t(&quot;bit-twiddle&quot;),f=t(&quot;union-find&quot;);r.dimension=function(t){for(var e=0,r=Math.max,n=0,i=t.length;n&lt;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&lt;i;++n)for(var a=t[n],o=0,s=a.length;o&lt;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&lt;n;++r)e[r]=t[r].slice(0);return e},r.compareCells=n,r.normalize=a,r.unique=o,r.findCell=s,r.incidence=l,r.dual=function(t,e){if(!e)return l(o(c(t,0)),t);for(var r=new Array(e),n=0;n&lt;e;++n)r[n]=[];n=0;for(var i=t.length;n&lt;i;++n)for(var a=t[n],s=0,u=a.length;s&lt;u;++s)r[a[s]].push(n);return r},r.explode=function(t){for(var e=[],r=0,n=t.length;r&lt;n;++r)for(var i=t[r],o=0|i.length,s=1,l=1&lt;&lt;o;s&lt;l;++s){for(var c=[],u=0;u&lt;o;++u)s&gt;&gt;&gt;u&amp;1&amp;&amp;c.push(i[u]);e.push(c)}return a(e)},r.skeleton=c,r.boundary=function(t){for(var e=[],r=0,n=t.length;r&lt;n;++r)for(var i=t[r],o=0,s=i.length;o&lt;s;++o){for(var l=new Array(i.length-1),c=0,u=0;c&lt;s;++c)c!==o&amp;&amp;(l[u++]=i[c]);e.push(l)}return a(e)},r.connectedComponents=function(t,e){return e?function(t,e){for(var r=new f(e),n=0;n&lt;t.length;++n)for(var i=t[n],a=0;a&lt;i.length;++a)for(var o=a+1;o&lt;i.length;++o)r.link(i[a],i[o]);var s=[],l=r.ranks;for(n=0;n&lt;l.length;++n)l[n]=-1;for(n=0;n&lt;t.length;++n){var c=r.find(t[n][0]);l[c]&lt;0?(l[c]=s.length,s.push([t[n].slice(0)])):s[l[c]].push(t[n].slice(0))}return s}(t,e):function(t){for(var e=o(a(c(t,0))),r=new f(e.length),n=0;n&lt;t.length;++n)for(var i=t[n],l=0;l&lt;i.length;++l)for(var u=s(e,[i[l]]),h=l+1;h&lt;i.length;++h)r.link(u,s(e,[i[h]]));var d=[],p=r.ranks;for(n=0;n&lt;p.length;++n)p[n]=-1;for(n=0;n&lt;t.length;++n){var m=r.find(s(e,[t[n][0]]));p[m]&lt;0?(p[m]=d.length,d.push([t[n].slice(0)])):d[p[m]].push(t[n].slice(0))}return d}(t)}},{&quot;bit-twiddle&quot;:71,&quot;union-find&quot;:555}],527:[function(t,e,r){arguments[4][71][0].apply(r,arguments)},{dup:71}],528:[function(t,e,r){arguments[4][526][0].apply(r,arguments)},{&quot;bit-twiddle&quot;:527,dup:526,&quot;union-find&quot;:529}],529:[function(t,e,r){&quot;use strict&quot;;&quot;use restrict&quot;;function n(t){this.roots=new Array(t),this.ranks=new Array(t);for(var e=0;e&lt;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&lt;s?a[r]=n:s&lt;o?a[n]=r:(a[n]=r,++i[r])}}},{}],530:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t,e,r){function a(t){if(b[t])return 1/0;var r=v[t],i=y[t];return r&lt;0||i&lt;0?1/0:function(t,e,r){return Math.abs(n(t,e,r))/Math.sqrt(Math.pow(e[0]-r[0],2)+Math.pow(e[1]-r[1],2))}(e[t],e[r],e[i])}function o(t,e){var r=A[t],n=A[e];A[t]=n,A[e]=r,T[r]=e,T[n]=t}function s(t){return x[A[t]]}function l(t){return 1&amp;t?t-1&gt;&gt;1:(t&gt;&gt;1)-1}function c(t){for(var e=s(t);;){var r=e,n=2*t+1,i=2*(t+1),a=t;if(n&lt;S){var l=s(n);l&lt;r&amp;&amp;(a=n,r=l)}if(i&lt;S&amp;&amp;s(i)&lt;r&amp;&amp;(a=i),a===t)return t;o(t,a),t=a}}function u(t){for(var e=s(t);t&gt;0;){var r=l(t);if(!(r&gt;=0&amp;&amp;e&lt;s(r)))return t;o(t,r),t=r}}function f(){if(S&gt;0){var t=A[0];return o(0,S-1),S-=1,c(0),t}return-1}function h(t,e){var r=A[t];return x[r]===e?t:(x[r]=-1/0,u(t),f(),x[r]=e,S+=1,u(S-1))}function d(t){if(!b[t]){b[t]=!0;var e=v[t],r=y[t];v[r]&gt;=0&amp;&amp;(v[r]=e),y[e]&gt;=0&amp;&amp;(y[e]=r),T[e]&gt;=0&amp;&amp;h(T[e],a(e)),T[r]&gt;=0&amp;&amp;h(T[r],a(r))}}function p(t,e){if(t[e]&lt;0)return e;var r=e,n=e;do{var i=t[n];if(!b[n]||i&lt;0||i===n)break;if(n=i,i=t[n],!b[n]||i&lt;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}for(var m=e.length,g=t.length,v=new Array(m),y=new Array(m),x=new Array(m),b=new Array(m),_=0;_&lt;m;++_)v[_]=y[_]=-1,x[_]=1/0,b[_]=!1;for(_=0;_&lt;g;++_){var w=t[_];if(2!==w.length)throw new Error(&quot;Input must be a graph&quot;);var M=w[1],k=w[0];-1!==y[k]?y[k]=-2:y[k]=M,-1!==v[M]?v[M]=-2:v[M]=k}var A=[],T=new Array(m);for(_=0;_&lt;m;++_)(x[_]=a(_))&lt;1/0?(T[_]=A.length,A.push(_)):T[_]=-1;var S=A.length;for(_=S&gt;&gt;1;_&gt;=0;--_)c(_);for(;;){var E=f();if(E&lt;0||x[E]&gt;r)break;d(E)}var L=[];for(_=0;_&lt;m;++_)b[_]||(T[_]=L.length,L.push(e[_].slice()));L.length;var C=[];return t.forEach(function(t){var e=p(v,t[0]),r=p(y,t[1]);if(e&gt;=0&amp;&amp;r&gt;=0&amp;&amp;e!==r){var n=T[e],i=T[r];n!==i&amp;&amp;C.push([n,i])}}),i.unique(i.normalize(C)),{positions:L,edges:C}};var n=t(&quot;robust-orientation&quot;),i=t(&quot;simplicial-complex&quot;)},{&quot;robust-orientation&quot;:515,&quot;simplicial-complex&quot;:528}],531:[function(t,e,r){&quot;use strict&quot;;function n(t,e){var r,n;if(e[0][0]&lt;e[1][0])r=e[0],n=e[1];else{if(!(e[0][0]&gt;e[1][0])){var a=Math.min(t[0][1],t[1][1]),o=Math.max(t[0][1],t[1][1]),s=Math.min(e[0][1],e[1][1]),l=Math.max(e[0][1],e[1][1]);return o&lt;s?o-s:a&gt;l?a-l:o-l}r=e[1],n=e[0]}var c,u;t[0][1]&lt;t[1][1]?(c=t[0],u=t[1]):(c=t[1],u=t[0]);var f=i(n,r,c);return f||((f=i(n,r,u))||u-n)}e.exports=function(t,e){var r,a;if(e[0][0]&lt;e[1][0])r=e[0],a=e[1];else{if(!(e[0][0]&gt;e[1][0]))return n(e,t);r=e[1],a=e[0]}var o,s;if(t[0][0]&lt;t[1][0])o=t[0],s=t[1];else{if(!(t[0][0]&gt;t[1][0]))return-n(t,e);o=t[1],s=t[0]}var l=i(r,a,s),c=i(r,a,o);if(l&lt;0){if(c&lt;=0)return l}else if(l&gt;0){if(c&gt;=0)return l}else if(c)return c;if(l=i(s,o,a),c=i(s,o,r),l&lt;0){if(c&lt;=0)return l}else if(l&gt;0){if(c&gt;=0)return l}else if(c)return c;return a[0]-s[0]};var i=t(&quot;robust-orientation&quot;)},{&quot;robust-orientation&quot;:515}],532:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r){this.slabs=t,this.coordinates=e,this.horizontal=r}function i(t,e){return t.y-e}function a(t,e){for(var r=null;t;){var n,i,o=t.key;o[0][0]&lt;o[1][0]?(n=o[0],i=o[1]):(n=o[1],i=o[0]);var s=u(n,i,e);if(s&lt;0)t=t.left;else if(s&gt;0)if(e[0]!==o[1][0])r=t,t=t.right;else{if(l=a(t.right,e))return l;t=t.left}else{if(e[0]!==o[1][0])return t;var l;if(l=a(t.right,e))return l;t=t.left}}return r}function o(t,e,r,n){this.y=t,this.index=e,this.start=r,this.closed=n}function s(t,e,r,n){this.x=t,this.segment=e,this.create=r,this.index=n}e.exports=function(t){for(var e=t.length,r=2*e,i=new Array(r),a=0;a&lt;e;++a){var l=t[a],u=l[0][0]&lt;l[1][0];i[2*a]=new s(l[0][0],l,u,a),i[2*a+1]=new s(l[1][0],l,!u,a)}i.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=c(f),d=[],p=[],m=[];for(a=0;a&lt;r;){for(var g=i[a].x,v=[];a&lt;r;){var y=i[a];if(y.x!==g)break;a+=1,y.segment[0][0]===y.x&amp;&amp;y.segment[1][0]===y.x?y.create&amp;&amp;(y.segment[0][1]&lt;y.segment[1][1]?(v.push(new o(y.segment[0][1],y.index,!0,!0)),v.push(new o(y.segment[1][1],y.index,!1,!1))):(v.push(new o(y.segment[1][1],y.index,!0,!1)),v.push(new o(y.segment[0][1],y.index,!1,!0)))):h=y.create?h.insert(y.segment,y.index):h.remove(y.segment)}d.push(h.root),p.push(g),m.push(v)}return new n(d,p,m)};var l=t(&quot;binary-search-bounds&quot;),c=t(&quot;functional-red-black-tree&quot;),u=t(&quot;robust-orientation&quot;),f=t(&quot;./lib/order-segments&quot;);n.prototype.castUp=function(t){var e=l.le(this.coordinates,t[0]);if(e&lt;0)return-1;this.slabs[e];var r=a(this.slabs[e],t),n=-1;if(r&amp;&amp;(n=r.value),this.coordinates[e]===t[0]){var o=null;if(r&amp;&amp;(o=r.key),e&gt;0){var s=a(this.slabs[e-1],t);s&amp;&amp;(o?f(s.key,o)&gt;0&amp;&amp;(o=s.key,n=s.value):(n=s.value,o=s.key))}var c=this.horizontal[e];if(c.length&gt;0){var h=l.ge(c,t[1],i);if(h&lt;c.length){var d=c[h];if(t[1]===d.y){if(d.closed)return d.index;for(;h&lt;c.length-1&amp;&amp;c[h+1].y===t[1];)if(h+=1,(d=c[h]).closed)return d.index;if(d.y===t[1]&amp;&amp;!d.start){if((h+=1)&gt;=c.length)return n;d=c[h]}}if(d.start)if(o){var p=u(o[0],o[1],[t[0],d.y]);o[0][0]&gt;o[1][0]&amp;&amp;(p=-p),p&gt;0&amp;&amp;(n=d.index)}else n=d.index;else d.y!==t[1]&amp;&amp;(n=d.index)}}}return n}},{&quot;./lib/order-segments&quot;:531,&quot;binary-search-bounds&quot;:70,&quot;functional-red-black-tree&quot;:144,&quot;robust-orientation&quot;:515}],533:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,n,i,a){for(var o=t+1;o&lt;=e;++o){for(var s=r[o],l=n[2*o],c=n[2*o+1],u=i[o],f=a[o],h=o;h&gt;t;){var d=r[h-1],p=n[2*(h-1)];if((d-s||l-p)&gt;=0)break;r[h]=d,n[2*h]=p,n[2*h+1]=n[2*h-1],i[h]=i[h-1],a[h]=a[h-1],h-=1}r[h]=s,n[2*h]=l,n[2*h+1]=c,i[h]=u,a[h]=f}}function i(t,e,r,n,i,a){var o=r[t],s=n[2*t],l=n[2*t+1],c=i[t],u=a[t];r[t]=r[e],n[2*t]=n[2*e],n[2*t+1]=n[2*e+1],i[t]=i[e],a[t]=a[e],r[e]=o,n[2*e]=s,n[2*e+1]=l,i[e]=c,a[e]=u}function a(t,e,r,n,i,a){r[t]=r[e],n[2*t]=n[2*e],n[2*t+1]=n[2*e+1],i[t]=i[e],a[t]=a[e]}function o(t,e,r,n,i,a,o){var s=n[t],l=i[2*t],c=i[2*t+1],u=a[t],f=o[t];n[t]=n[e],i[2*t]=i[2*e],i[2*t+1]=i[2*e+1],a[t]=a[e],o[t]=o[e],n[e]=n[r],i[2*e]=i[2*r],i[2*e+1]=i[2*r+1],a[e]=a[r],o[e]=o[r],n[r]=s,i[2*r]=l,i[2*r+1]=c,a[r]=u,o[r]=f}function s(t,e,r,n,i,a,o,s,l,c,u){s[t]=s[e],l[2*t]=l[2*e],l[2*t+1]=l[2*e+1],c[t]=c[e],u[t]=u[e],s[e]=r,l[2*e]=n,l[2*e+1]=i,c[e]=a,u[e]=o}function l(t,e,r,n,i){return(r[t]-r[e]||n[2*e]-n[2*t]||i[t]-i[e])&lt;0}function c(t,e,r,n,i,a,o,s){return(e-a[t]||o[2*t]-r||i-s[t])&lt;0}function u(t,e,r,h,d,p){var m=(e-t+1)/6|0,g=t+m,v=e-m,y=t+e&gt;&gt;1,x=y-m,b=y+m,_=g,w=x,M=y,k=b,A=v,T=t+1,S=e-1,E=0;l(_,w,r,h,d)&amp;&amp;(E=_,_=w,w=E),l(k,A,r,h,d)&amp;&amp;(E=k,k=A,A=E),l(_,M,r,h,d)&amp;&amp;(E=_,_=M,M=E),l(w,M,r,h,d)&amp;&amp;(E=w,w=M,M=E),l(_,k,r,h,d)&amp;&amp;(E=_,_=k,k=E),l(M,k,r,h,d)&amp;&amp;(E=M,M=k,k=E),l(w,A,r,h,d)&amp;&amp;(E=w,w=A,A=E),l(w,M,r,h,d)&amp;&amp;(E=w,w=M,M=E),l(k,A,r,h,d)&amp;&amp;(E=k,k=A,A=E);var L=r[w],C=h[2*w],z=h[2*w+1],D=d[w],I=p[w],P=r[k],O=h[2*k],F=h[2*k+1],R=d[k],N=p[k],j=_,B=M,U=A,V=g,q=y,H=v,G=r[j],Y=r[B],W=r[U];r[V]=G,r[q]=Y,r[H]=W;for(var X=0;X&lt;2;++X){var Z=h[2*j+X],J=h[2*B+X],K=h[2*U+X];h[2*V+X]=Z,h[2*q+X]=J,h[2*H+X]=K}var Q=d[j],$=d[B],tt=d[U];d[V]=Q,d[q]=$,d[H]=tt;var et=p[j],rt=p[B],nt=p[U];p[V]=et,p[q]=rt,p[H]=nt,a(x,t,r,h,d,p),a(b,e,r,h,d,p);for(var it=T;it&lt;=S;++it)if(c(it,L,C,0,D,r,h,d))it!==T&amp;&amp;i(it,T,r,h,d,p),++T;else if(!c(it,P,O,0,R,r,h,d))for(;;){if(c(S,P,O,0,R,r,h,d)){c(S,L,C,0,D,r,h,d)?(o(it,T,S,r,h,d,p),++T,--S):(i(it,S,r,h,d,p),--S);break}if(--S&lt;it)break}s(t,T-1,L,C,z,D,I,r,h,d,p),s(e,S+1,P,O,F,R,N,r,h,d,p),T-2-t&lt;=f?n(t,T-2,r,h,d,p):u(t,T-2,r,h,d,p),e-(S+2)&lt;=f?n(S+2,e,r,h,d,p):u(S+2,e,r,h,d,p),S-T&lt;=f?n(T,S,r,h,d,p):u(T,S,r,h,d,p)}e.exports=function(t,e,r,i,a){a&lt;=4*f?n(0,a-1,t,e,r,i):u(0,a-1,t,e,r,i)};var f=32},{}],534:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,n,i,a,o,s){for(var l=r,c=r;c&lt;n;++c){var u=t[2*c],f=t[2*c+1],h=e[c];i&lt;=u&amp;&amp;u&lt;=o&amp;&amp;a&lt;=f&amp;&amp;f&lt;=s&amp;&amp;(c===l?l+=1:(t[2*c]=t[2*l],t[2*c+1]=t[2*l+1],e[c]=e[l],t[2*l]=u,t[2*l+1]=f,e[l]=h,l+=1))}return l}function i(t,e,r){this.pixelSize=t,this.offset=e,this.count=r}var a=t(&quot;./lib/sort&quot;),o=t(&quot;array-bounds&quot;);e.exports=function(t,e,r,s){function l(i,a,o,s,c,u){var f=.5*o,h=s+1,d=c-s;r[b]=d,x[b++]=u;for(var p=0;p&lt;2;++p)for(var m=0;m&lt;2;++m){var g=i+p*f,v=a+m*f,y=n(t,e,h,c,g,v,g+f,v+f);if(y!==h){if(y-h&gt;=Math.max(.9*d,32)){var _=c+s&gt;&gt;&gt;1;l(g,v,f,h,_,u+1),h=_}l(g,v,f,h,y,u+1),h=y}}}var c=t.length&gt;&gt;&gt;1;if(c&lt;1)return[];e||(e=Array(c)),r||(r=Array(c)),s||(s=[]);for(var u=0;u&lt;c;++u)e[u]=u;if(!s.length||s.length&lt;4||s[0]&gt;=s[2]||s[1]&gt;=s[3]){var f=o(t,2);f[0]===f[2]&amp;&amp;(f[2]+=1),f[1]===f[3]&amp;&amp;(f[3]+=1),s[0]=f[0],s[1]=f[1],s[2]=f[2],s[3]=f[3]}var h=s[0],d=s[1],p=s[2],m=s[3],g=1/(p-h),v=1/(m-d),y=Math.max(p-h,m-d),x=new Int32Array(c),b=0;l(h,d,y,0,c,0),a(x,t,e,r,c);var _=[],w=0,M=c;for(b=c-1;b&gt;=0;--b){t[2*b]=(t[2*b]-h)*g,t[2*b+1]=(t[2*b+1]-d)*v;var k=x[b];k!==w&amp;&amp;(_.push(new i(y*Math.pow(.5,k),b+1,M-(b+1))),M=b+1,w=k)}return _.push(new i(y*Math.pow(.5,k+1),0,M)),_}},{&quot;./lib/sort&quot;:533,&quot;array-bounds&quot;:48}],535:[function(t,e,r){&quot;use strict&quot;;function n(t,e){var r=o(a(t,e),[e[e.length-1]]);return r[r.length-1]}function i(t,e,r,n){var i=-e/(n-e);i&lt;0?i=0:i&gt;1&amp;&amp;(i=1);for(var a=1-i,o=t.length,s=new Array(o),l=0;l&lt;o;++l)s[l]=i*t[l]+a*r[l];return s}var a=t(&quot;robust-dot-product&quot;),o=t(&quot;robust-sum&quot;);e.exports=function(t,e){for(var r=[],a=[],o=n(t[t.length-1],e),s=t[t.length-1],l=t[0],c=0;c&lt;t.length;++c,s=l){var u=n(l=t[c],e);if(o&lt;0&amp;&amp;u&gt;0||o&gt;0&amp;&amp;u&lt;0){var f=i(s,u,l,o);r.push(f),a.push(f.slice())}u&lt;0?a.push(l.slice()):u&gt;0?r.push(l.slice()):(r.push(l.slice()),a.push(l.slice())),o=u}return{positive:r,negative:a}},e.exports.positive=function(t,e){for(var r=[],a=n(t[t.length-1],e),o=t[t.length-1],s=t[0],l=0;l&lt;t.length;++l,o=s){var c=n(s=t[l],e);(a&lt;0&amp;&amp;c&gt;0||a&gt;0&amp;&amp;c&lt;0)&amp;&amp;r.push(i(o,c,s,a)),c&gt;=0&amp;&amp;r.push(s.slice()),a=c}return r},e.exports.negative=function(t,e){for(var r=[],a=n(t[t.length-1],e),o=t[t.length-1],s=t[0],l=0;l&lt;t.length;++l,o=s){var c=n(s=t[l],e);(a&lt;0&amp;&amp;c&gt;0||a&gt;0&amp;&amp;c&lt;0)&amp;&amp;r.push(i(o,c,s,a)),c&lt;=0&amp;&amp;r.push(s.slice()),a=c}return r}},{&quot;robust-dot-product&quot;:512,&quot;robust-sum&quot;:520}],536:[function(t,e,r){!function(t){function e(){var t=arguments[0],r=e.cache;return r[t]&amp;&amp;r.hasOwnProperty(t)||(r[t]=e.parse(t)),e.format.call(null,r[t],arguments)}function n(t){return Object.prototype.toString.call(t).slice(8,-1).toLowerCase()}var i={not_string:/[^s]/,number:/[diefg]/,json:/[j]/,not_json:/[^j]/,text:/^[^\x25]+/,modulo:/^\x25{2}/,placeholder:/^\x25(?:([1-9]\d*)\$|\(([^\)]+)\))?(\+)?(0|'[^$])?(-)?(\d+)?(?:\.(\d+))?([b-gijosuxX])/,key:/^([a-z_][a-z_\d]*)/i,key_access:/^\.([a-z_][a-z_\d]*)/i,index_access:/^\[(\d+)\]/,sign:/^[\+\-]/};e.format=function(t,r){var a,o,s,l,c,u,f,h=1,d=t.length,p=&quot;&quot;,m=[],g=!0,v=&quot;&quot;;for(o=0;o&lt;d;o++)if(&quot;string&quot;===(p=n(t[o])))m[m.length]=t[o];else if(&quot;array&quot;===p){if((l=t[o])[2])for(a=r[h],s=0;s&lt;l[2].length;s++){if(!a.hasOwnProperty(l[2][s]))throw new Error(e(&quot;[sprintf] property '%s' does not exist&quot;,l[2][s]));a=a[l[2][s]]}else a=l[1]?r[l[1]]:r[h++];if(&quot;function&quot;==n(a)&amp;&amp;(a=a()),i.not_string.test(l[8])&amp;&amp;i.not_json.test(l[8])&amp;&amp;&quot;number&quot;!=n(a)&amp;&amp;isNaN(a))throw new TypeError(e(&quot;[sprintf] expecting number but found %s&quot;,n(a)));switch(i.number.test(l[8])&amp;&amp;(g=a&gt;=0),l[8]){case&quot;b&quot;:a=a.toString(2);break;case&quot;c&quot;:a=String.fromCharCode(a);break;case&quot;d&quot;:case&quot;i&quot;:a=parseInt(a,10);break;case&quot;j&quot;:a=JSON.stringify(a,null,l[6]?parseInt(l[6]):0);break;case&quot;e&quot;:a=l[7]?a.toExponential(l[7]):a.toExponential();break;case&quot;f&quot;:a=l[7]?parseFloat(a).toFixed(l[7]):parseFloat(a);break;case&quot;g&quot;:a=l[7]?parseFloat(a).toPrecision(l[7]):parseFloat(a);break;case&quot;o&quot;:a=a.toString(8);break;case&quot;s&quot;:a=(a=String(a))&amp;&amp;l[7]?a.substring(0,l[7]):a;break;case&quot;u&quot;:a&gt;&gt;&gt;=0;break;case&quot;x&quot;:a=a.toString(16);break;case&quot;X&quot;:a=a.toString(16).toUpperCase()}i.json.test(l[8])?m[m.length]=a:(!i.number.test(l[8])||g&amp;&amp;!l[3]?v=&quot;&quot;:(v=g?&quot;+&quot;:&quot;-&quot;,a=a.toString().replace(i.sign,&quot;&quot;)),u=l[4]?&quot;0&quot;===l[4]?&quot;0&quot;:l[4].charAt(1):&quot; &quot;,f=l[6]-(v+a).length,c=l[6]&amp;&amp;f&gt;0?function(t,e){return Array(e+1).join(t)}(u,f):&quot;&quot;,m[m.length]=l[5]?v+a+c:&quot;0&quot;===u?v+c+a:c+v+a)}return m.join(&quot;&quot;)},e.cache={},e.parse=function(t){for(var e=t,r=[],n=[],a=0;e;){if(null!==(r=i.text.exec(e)))n[n.length]=r[0];else if(null!==(r=i.modulo.exec(e)))n[n.length]=&quot;%&quot;;else{if(null===(r=i.placeholder.exec(e)))throw new SyntaxError(&quot;[sprintf] unexpected placeholder&quot;);if(r[2]){a|=1;var o=[],s=r[2],l=[];if(null===(l=i.key.exec(s)))throw new SyntaxError(&quot;[sprintf] failed to parse named argument key&quot;);for(o[o.length]=l[1];&quot;&quot;!==(s=s.substring(l[0].length));)if(null!==(l=i.key_access.exec(s)))o[o.length]=l[1];else{if(null===(l=i.index_access.exec(s)))throw new SyntaxError(&quot;[sprintf] failed to parse named argument key&quot;);o[o.length]=l[1]}r[2]=o}else a|=2;if(3===a)throw new Error(&quot;[sprintf] mixing positional and named placeholders is not (yet) supported&quot;);n[n.length]=r}e=e.substring(r[0].length)}return n};var a=function(t,r,n){return(n=(r||[]).slice(0)).splice(0,0,t),e.apply(null,n)};void 0!==r?(r.sprintf=e,r.vsprintf=a):(t.sprintf=e,t.vsprintf=a)}(&quot;undefined&quot;==typeof window?this:window)},{}],537:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t){function e(e){var r=[e],c=[e];for(n[e]=i[e]=u,a[e]=!0,u+=1;c.length&gt;0;){e=c[c.length-1];var d=t[e];if(o[e]&lt;d.length){for(var p=o[e];p&lt;d.length;++p){var m=d[p];if(n[m]&lt;0){n[m]=i[m]=u,a[m]=!0,u+=1,r.push(m),c.push(m);break}a[m]&amp;&amp;(i[e]=0|Math.min(i[e],i[m])),s[m]&gt;=0&amp;&amp;l[e].push(s[m])}o[e]=p}else{if(i[e]===n[e]){var g=[],v=[],y=0;for(p=r.length-1;p&gt;=0;--p){var x=r[p];if(a[x]=!1,g.push(x),v.push(l[x]),y+=l[x].length,s[x]=f.length,x===e){r.length=p;break}}f.push(g);var b=new Array(y);for(p=0;p&lt;v.length;p++)for(var _=0;_&lt;v[p].length;_++)b[--y]=v[p][_];h.push(b)}c.pop()}}}for(var r=t.length,n=new Array(r),i=new Array(r),a=new Array(r),o=new Array(r),s=new Array(r),l=new Array(r),c=0;c&lt;r;++c)n[c]=-1,i[c]=0,a[c]=!1,o[c]=0,s[c]=-1,l[c]=[];var u=0,f=[],h=[];for(c=0;c&lt;r;++c)n[c]&lt;0&amp;&amp;e(c);var d;for(c=0;c&lt;h.length;c++){var p=h[c];if(0!==p.length){p.sort(function(t,e){return t-e}),d=[p[0]];for(var m=1;m&lt;p.length;m++)p[m]!==p[m-1]&amp;&amp;d.push(p[m]);h[c]=d}}return{components:f,adjacencyList:h}}},{}],538:[function(t,e,r){&quot;use strict&quot;;function n(t){this.options=c(Object.create(this.options),t),this.trees=new Array(this.options.maxZoom+1)}function i(t,e){var r=t.geometry.coordinates;return{x:s(r[0]),y:l(r[1]),zoom:1/0,id:e,parentId:-1}}function a(t){return{type:&quot;Feature&quot;,properties:o(t),geometry:{type:&quot;Point&quot;,coordinates:[function(t){return 360*(t-.5)}(t.x),function(t){var e=(180-360*t)*Math.PI/180;return 360*Math.atan(Math.exp(e))/Math.PI-90}(t.y)]}}}function o(t){var e=t.numPoints,r=e&gt;=1e4?Math.round(e/1e3)+&quot;k&quot;:e&gt;=1e3?Math.round(e/100)/10+&quot;k&quot;:e;return c(c({},t.properties),{cluster:!0,cluster_id:t.id,point_count:e,point_count_abbreviated:r})}function s(t){return t/360+.5}function l(t){var e=Math.sin(t*Math.PI/180),r=.5-.25*Math.log((1+e)/(1-e))/Math.PI;return r&lt;0?0:r&gt;1?1:r}function c(t,e){for(var r in e)t[r]=e[r];return t}function u(t){return t.x}function f(t){return t.y}var h=t(&quot;kdbush&quot;);e.exports=function(t){return new n(t)},n.prototype={options:{minZoom:0,maxZoom:16,radius:40,extent:512,nodeSize:64,log:!1,reduce:null,initial:function(){return{}},map:function(t){return t}},load:function(t){var e=this.options.log;e&amp;&amp;console.time(&quot;total time&quot;);var r=&quot;prepare &quot;+t.length+&quot; points&quot;;e&amp;&amp;console.time(r),this.points=t;var n=t.map(i);e&amp;&amp;console.timeEnd(r);for(var a=this.options.maxZoom;a&gt;=this.options.minZoom;a--){var o=+Date.now();this.trees[a+1]=h(n,u,f,this.options.nodeSize,Float32Array),n=this._cluster(n,a),e&amp;&amp;console.log(&quot;z%d: %d clusters in %dms&quot;,a,n.length,+Date.now()-o)}return this.trees[this.options.minZoom]=h(n,u,f,this.options.nodeSize,Float32Array),e&amp;&amp;console.timeEnd(&quot;total time&quot;),this},getClusters:function(t,e){for(var r=this.trees[this._limitZoom(e)],n=r.range(s(t[0]),l(t[3]),s(t[2]),l(t[1])),i=[],o=0;o&lt;n.length;o++){var c=r.points[n[o]];i.push(c.numPoints?a(c):this.points[c.id])}return i},getChildren:function(t,e){for(var r=this.trees[e+1].points[t],n=this.options.radius/(this.options.extent*Math.pow(2,e)),i=this.trees[e+1].within(r.x,r.y,n),o=[],s=0;s&lt;i.length;s++){var l=this.trees[e+1].points[i[s]];l.parentId===t&amp;&amp;o.push(l.numPoints?a(l):this.points[l.id])}return o},getLeaves:function(t,e,r,n){r=r||10,n=n||0;var i=[];return this._appendLeaves(i,t,e,r,n,0),i},getTile:function(t,e,r){var n=this.trees[this._limitZoom(t)],i=Math.pow(2,t),a=this.options.extent,o=this.options.radius/a,s=(r-o)/i,l=(r+1+o)/i,c={features:[]};return this._addTileFeatures(n.range((e-o)/i,s,(e+1+o)/i,l),n.points,e,r,i,c),0===e&amp;&amp;this._addTileFeatures(n.range(1-o/i,s,1,l),n.points,i,r,i,c),e===i-1&amp;&amp;this._addTileFeatures(n.range(0,s,o/i,l),n.points,-1,r,i,c),c.features.length?c:null},getClusterExpansionZoom:function(t,e){for(;e&lt;this.options.maxZoom;){var r=this.getChildren(t,e);if(e++,1!==r.length)break;t=r[0].properties.cluster_id}return e},_appendLeaves:function(t,e,r,n,i,a){for(var o=this.getChildren(e,r),s=0;s&lt;o.length;s++){var l=o[s].properties;if(l.cluster?a+l.point_count&lt;=i?a+=l.point_count:a=this._appendLeaves(t,l.cluster_id,r+1,n,i,a):a&lt;i?a++:t.push(o[s]),t.length===n)break}return a},_addTileFeatures:function(t,e,r,n,i,a){for(var s=0;s&lt;t.length;s++){var l=e[t[s]];a.features.push({type:1,geometry:[[Math.round(this.options.extent*(l.x*i-r)),Math.round(this.options.extent*(l.y*i-n))]],tags:l.numPoints?o(l):this.points[l.id].properties})}},_limitZoom:function(t){return Math.max(this.options.minZoom,Math.min(t,this.options.maxZoom+1))},_cluster:function(t,e){for(var r=[],n=this.options.radius/(this.options.extent*Math.pow(2,e)),i=0;i&lt;t.length;i++){var a=t[i];if(!(a.zoom&lt;=e)){a.zoom=e;var o=this.trees[e+1],s=o.within(a.x,a.y,n),l=a.numPoints||1,c=a.x*l,u=a.y*l,f=null;this.options.reduce&amp;&amp;(f=this.options.initial(),this._accumulate(f,a));for(var h=0;h&lt;s.length;h++){var d=o.points[s[h]];if(e&lt;d.zoom){var p=d.numPoints||1;d.zoom=e,c+=d.x*p,u+=d.y*p,l+=p,d.parentId=i,this.options.reduce&amp;&amp;this._accumulate(f,d)}}1===l?r.push(a):(a.parentId=i,r.push(function(t,e,r,n,i){return{x:t,y:e,zoom:1/0,id:n,properties:i,parentId:-1,numPoints:r}}(c/l,u/l,l,i,f)))}}return r},_accumulate:function(t,e){var r=e.numPoints?e.properties:this.options.map(this.points[e.id].properties);this.options.reduce(t,r)}}},{kdbush:288}],539:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t){return t.split(&quot;&quot;).map(function(t){return t in n?n[t]:&quot;&quot;}).join(&quot;&quot;)};var n={&quot; &quot;:&quot; &quot;,0:&quot;\u2070&quot;,1:&quot;\xb9&quot;,2:&quot;\xb2&quot;,3:&quot;\xb3&quot;,4:&quot;\u2074&quot;,5:&quot;\u2075&quot;,6:&quot;\u2076&quot;,7:&quot;\u2077&quot;,8:&quot;\u2078&quot;,9:&quot;\u2079&quot;,&quot;+&quot;:&quot;\u207a&quot;,&quot;-&quot;:&quot;\u207b&quot;,a:&quot;\u1d43&quot;,b:&quot;\u1d47&quot;,c:&quot;\u1d9c&quot;,d:&quot;\u1d48&quot;,e:&quot;\u1d49&quot;,f:&quot;\u1da0&quot;,g:&quot;\u1d4d&quot;,h:&quot;\u02b0&quot;,i:&quot;\u2071&quot;,j:&quot;\u02b2&quot;,k:&quot;\u1d4f&quot;,l:&quot;\u02e1&quot;,m:&quot;\u1d50&quot;,n:&quot;\u207f&quot;,o:&quot;\u1d52&quot;,p:&quot;\u1d56&quot;,r:&quot;\u02b3&quot;,s:&quot;\u02e2&quot;,t:&quot;\u1d57&quot;,u:&quot;\u1d58&quot;,v:&quot;\u1d5b&quot;,w:&quot;\u02b7&quot;,x:&quot;\u02e3&quot;,y:&quot;\u02b8&quot;,z:&quot;\u1dbb&quot;}},{}],540:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t,e){if(t.dimension&lt;=0)return{positions:[],cells:[]};if(1===t.dimension)return function(t,e){for(var r=a(t,e),n=r.length,i=new Array(n),o=new Array(n),s=0;s&lt;n;++s)i[s]=[r[s]],o[s]=[s];return{positions:i,cells:o}}(t,e);var r=t.order.join()+&quot;-&quot;+t.dtype,s=o[r];return e=+e||0,s||(s=o[r]=function(t,e){var r=t.length,a=[&quot;'use strict';&quot;],o=&quot;surfaceNets&quot;+t.join(&quot;_&quot;)+&quot;d&quot;+e;a.push(&quot;var contour=genContour({&quot;,&quot;order:[&quot;,t.join(),&quot;],&quot;,&quot;scalarArguments: 3,&quot;,&quot;phase:function phaseFunc(p,a,b,c) { return (p &gt; c)|0 },&quot;),&quot;generic&quot;===e&amp;&amp;a.push(&quot;getters:[0],&quot;);for(var s=[],l=[],c=0;c&lt;r;++c)s.push(&quot;d&quot;+c),l.push(&quot;d&quot;+c);for(c=0;c&lt;1&lt;&lt;r;++c)s.push(&quot;v&quot;+c),l.push(&quot;v&quot;+c);for(c=0;c&lt;1&lt;&lt;r;++c)s.push(&quot;p&quot;+c),l.push(&quot;p&quot;+c);s.push(&quot;a&quot;,&quot;b&quot;,&quot;c&quot;),l.push(&quot;a&quot;,&quot;c&quot;),a.push(&quot;vertex:function vertexFunc(&quot;,s.join(),&quot;){&quot;);var u=[];for(c=0;c&lt;1&lt;&lt;r;++c)u.push(&quot;(p&quot;+c+&quot;&lt;&lt;&quot;+c+&quot;)&quot;);a.push(&quot;var m=(&quot;,u.join(&quot;+&quot;),&quot;)|0;if(m===0||m===&quot;,(1&lt;&lt;(1&lt;&lt;r))-1,&quot;){return}&quot;);var f=[],h=[];for(1&lt;&lt;(1&lt;&lt;r)&lt;=128?(a.push(&quot;switch(m){&quot;),h=a):a.push(&quot;switch(m&gt;&gt;&gt;7){&quot;),c=0;c&lt;1&lt;&lt;(1&lt;&lt;r);++c){if(1&lt;&lt;(1&lt;&lt;r)&gt;128&amp;&amp;c%128==0){f.length&gt;0&amp;&amp;h.push(&quot;}}&quot;);var d=&quot;vExtra&quot;+f.length;a.push(&quot;case &quot;,c&gt;&gt;&gt;7,&quot;:&quot;,d,&quot;(m&amp;0x7f,&quot;,l.join(),&quot;);break;&quot;),h=[&quot;function &quot;,d,&quot;(m,&quot;,l.join(),&quot;){switch(m){&quot;],f.push(h)}h.push(&quot;case &quot;,127&amp;c,&quot;:&quot;);for(var p=new Array(r),m=new Array(r),g=new Array(r),v=new Array(r),y=0,x=0;x&lt;r;++x)p[x]=[],m[x]=[],g[x]=0,v[x]=0;for(x=0;x&lt;1&lt;&lt;r;++x)for(var b=0;b&lt;r;++b){var _=x^1&lt;&lt;b;if(!(_&gt;x)&amp;&amp;!(c&amp;1&lt;&lt;_)!=!(c&amp;1&lt;&lt;x)){var w=1;c&amp;1&lt;&lt;_?m[b].push(&quot;v&quot;+_+&quot;-v&quot;+x):(m[b].push(&quot;v&quot;+x+&quot;-v&quot;+_),w=-w),w&lt;0?(p[b].push(&quot;-v&quot;+x+&quot;-v&quot;+_),g[b]+=2):(p[b].push(&quot;v&quot;+x+&quot;+v&quot;+_),g[b]-=2),y+=1;for(var M=0;M&lt;r;++M)M!==b&amp;&amp;(_&amp;1&lt;&lt;M?v[M]+=1:v[M]-=1)}}var k=[];for(b=0;b&lt;r;++b)if(0===p[b].length)k.push(&quot;d&quot;+b+&quot;-0.5&quot;);else{var A=&quot;&quot;;g[b]&lt;0?A=g[b]+&quot;*c&quot;:g[b]&gt;0&amp;&amp;(A=&quot;+&quot;+g[b]+&quot;*c&quot;);var T=p[b].length/y*.5,S=.5+v[b]/y*.5;k.push(&quot;d&quot;+b+&quot;-&quot;+S+&quot;-&quot;+T+&quot;*(&quot;+p[b].join(&quot;+&quot;)+A+&quot;)/(&quot;+m[b].join(&quot;+&quot;)+&quot;)&quot;)}h.push(&quot;a.push([&quot;,k.join(),&quot;]);&quot;,&quot;break;&quot;)}a.push(&quot;}},&quot;),f.length&gt;0&amp;&amp;h.push(&quot;}}&quot;);var E=[];for(c=0;c&lt;1&lt;&lt;r-1;++c)E.push(&quot;v&quot;+c);E.push(&quot;c0&quot;,&quot;c1&quot;,&quot;p0&quot;,&quot;p1&quot;,&quot;a&quot;,&quot;b&quot;,&quot;c&quot;),a.push(&quot;cell:function cellFunc(&quot;,E.join(),&quot;){&quot;);var L=i(r-1);for(a.push(&quot;if(p0){b.push(&quot;,L.map(function(t){return&quot;[&quot;+t.map(function(t){return&quot;v&quot;+t})+&quot;]&quot;}).join(),&quot;)}else{b.push(&quot;,L.map(function(t){var e=t.slice();return e.reverse(),&quot;[&quot;+e.map(function(t){return&quot;v&quot;+t})+&quot;]&quot;}).join(),&quot;)}}});function &quot;,o,&quot;(array,level){var verts=[],cells=[];contour(array,verts,cells,level);return {positions:verts,cells:cells};} return &quot;,o,&quot;;&quot;),c=0;c&lt;f.length;++c)a.push(f[c].join(&quot;&quot;));return new Function(&quot;genContour&quot;,a.join(&quot;&quot;))(n)}(t.order,t.dtype)),s(t,e)};var n=t(&quot;ndarray-extract-contour&quot;),i=t(&quot;triangulate-hypercube&quot;),a=t(&quot;zero-crossings&quot;),o={}},{&quot;ndarray-extract-contour&quot;:447,&quot;triangulate-hypercube&quot;:550,&quot;zero-crossings&quot;:598}],541:[function(t,e,r){&quot;use strict&quot;;Object.defineProperty(r,&quot;__esModule&quot;,{value:!0});var n=function(){return 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)&amp;&amp;(r.push(o.value),!e||r.length!==e);n=!0);}catch(t){i=!0,a=t}finally{try{!n&amp;&amp;s.return&amp;&amp;s.return()}finally{if(i)throw a}}return r}(t,e);throw new TypeError(&quot;Invalid attempt to destructure non-iterable instance&quot;)}}(),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=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*n-e*r&lt;0?-1:1,a=(t*r+e*n)/(Math.sqrt(t*t+e*e)*Math.sqrt(t*t+e*e));return a&gt;1&amp;&amp;(a=1),a&lt;-1&amp;&amp;(a=-1),i*Math.acos(a)};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,d=void 0===h?0:h,p=t.largeArcFlag,m=void 0===p?0:p,g=t.sweepFlag,v=void 0===g?0:g,y=[];if(0===u||0===f)return[];var x=Math.sin(d*i/360),b=Math.cos(d*i/360),_=b*(e-l)/2+x*(r-c)/2,w=-x*(e-l)/2+b*(r-c)/2;if(0===_&amp;&amp;0===w)return[];u=Math.abs(u),f=Math.abs(f);var M=Math.pow(_,2)/Math.pow(u,2)+Math.pow(w,2)/Math.pow(f,2);M&gt;1&amp;&amp;(u*=Math.sqrt(M),f*=Math.sqrt(M));var k=function(t,e,r,n,a,o,l,c,u,f,h,d){var p=Math.pow(a,2),m=Math.pow(o,2),g=Math.pow(h,2),v=Math.pow(d,2),y=p*m-p*v-m*g;y&lt;0&amp;&amp;(y=0),y/=p*v+m*g;var x=(y=Math.sqrt(y)*(l===c?-1:1))*a/o*d,b=y*-o/a*h,_=f*x-u*b+(t+r)/2,w=u*x+f*b+(e+n)/2,M=(h-x)/a,k=(d-b)/o,A=(-h-x)/a,T=(-d-b)/o,S=s(1,0,M,k),E=s(M,k,A,T);return 0===c&amp;&amp;E&gt;0&amp;&amp;(E-=i),1===c&amp;&amp;E&lt;0&amp;&amp;(E+=i),[_,w,S,E]}(e,r,l,c,u,f,m,v,x,b,_,w),A=n(k,4),T=A[0],S=A[1],E=A[2],L=A[3],C=Math.max(Math.ceil(Math.abs(L)/(i/4)),1);L/=C;for(var z=0;z&lt;C;z++)y.push(o(E,L)),E+=L;return y.map(function(t){var e=a(t[0],u,f,b,x,T,S),r=e.x,n=e.y,i=a(t[1],u,f,b,x,T,S),o=i.x,s=i.y,l=a(t[2],u,f,b,x,T,S);return{x1:r,y1:n,x2:o,y2:s,x:l.x,y:l.y}})},e.exports=r.default},{}],542:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;parse-svg-path&quot;),i=t(&quot;abs-svg-path&quot;),a=t(&quot;normalize-svg-path&quot;),o=t(&quot;is-svg-path&quot;),s=t(&quot;assert&quot;);e.exports=function(t){if(Array.isArray(t)&amp;&amp;1===t.length&amp;&amp;&quot;string&quot;==typeof t[0]&amp;&amp;(t=t[0]),&quot;string&quot;==typeof t&amp;&amp;(s(o(t),&quot;String is not an SVG path.&quot;),t=n(t)),s(Array.isArray(t),&quot;Argument should be a string or an array of path segments.&quot;),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&lt;l;r++)for(var c=t[r].slice(1),u=0;u&lt;c.length;u+=2)c[u+0]&lt;e[0]&amp;&amp;(e[0]=c[u+0]),c[u+1]&lt;e[1]&amp;&amp;(e[1]=c[u+1]),c[u+0]&gt;e[2]&amp;&amp;(e[2]=c[u+0]),c[u+1]&gt;e[3]&amp;&amp;(e[3]=c[u+1]);return e}},{&quot;abs-svg-path&quot;:43,assert:51,&quot;is-svg-path&quot;:287,&quot;normalize-svg-path&quot;:543,&quot;parse-svg-path&quot;:466}],543:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,n){return[&quot;C&quot;,t,e,r,n,r,n]}function i(t,e,r,n,i,a){return[&quot;C&quot;,t/3+2/3*r,e/3+2/3*n,i/3+2/3*r,a/3+2/3*n,i,a]}e.exports=function(t){for(var e,r=[],o=0,s=0,l=0,c=0,u=null,f=null,h=0,d=0,p=0,m=t.length;p&lt;m;p++){var g=t[p],v=g[0];switch(v){case&quot;M&quot;:l=g[1],c=g[2];break;case&quot;A&quot;:var y=a({px:h,py:d,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&lt;y.length;b++)g=[&quot;C&quot;,(x=y[b]).x1,x.y1,x.x2,x.y2,x.x,x.y],b&lt;y.length-1&amp;&amp;r.push(g);break;case&quot;S&quot;:var _=h,w=d;&quot;C&quot;!=e&amp;&amp;&quot;S&quot;!=e||(_+=_-o,w+=w-s),g=[&quot;C&quot;,_,w,g[1],g[2],g[3],g[4]];break;case&quot;T&quot;:&quot;Q&quot;==e||&quot;T&quot;==e?(u=2*h-u,f=2*d-f):(u=h,f=d),g=i(h,d,u,f,g[1],g[2]);break;case&quot;Q&quot;:u=g[1],f=g[2],g=i(h,d,g[1],g[2],g[3],g[4]);break;case&quot;L&quot;:g=n(h,d,g[1],g[2]);break;case&quot;H&quot;:g=n(h,d,g[1],d);break;case&quot;V&quot;:g=n(h,d,h,g[1]);break;case&quot;Z&quot;:g=n(h,d,l,c)}e=v,h=g[g.length-2],d=g[g.length-1],g.length&gt;4?(o=g[g.length-4],s=g[g.length-3]):(o=h,s=d),r.push(g)}return r};var a=t(&quot;svg-arc-to-cubic-bezier&quot;)},{&quot;svg-arc-to-cubic-bezier&quot;:541}],544:[function(t,e,r){(function(r){&quot;use strict&quot;;var n=t(&quot;svg-path-bounds&quot;),i=t(&quot;parse-svg-path&quot;),a=t(&quot;draw-svg-path&quot;),o=t(&quot;is-svg-path&quot;),s=t(&quot;bitmap-sdf&quot;),l=document.createElement(&quot;canvas&quot;),c=l.getContext(&quot;2d&quot;);e.exports=function(t,e){if(!o(t))throw Error(&quot;Argument should be valid svg path string&quot;);e||(e={});var u,f;e.shape?(u=e.shape[0],f=e.shape[1]):(u=l.width=e.w||e.width||200,f=l.height=e.h||e.height||200);var h=Math.min(u,f),d=e.stroke||0,p=e.viewbox||e.viewBox||n(t),m=[u/(p[2]-p[0]),f/(p[3]-p[1])],g=Math.min(m[0]||0,m[1]||0)/2;if(c.fillStyle=&quot;black&quot;,c.fillRect(0,0,u,f),c.fillStyle=&quot;white&quot;,d&amp;&amp;(&quot;number&quot;!=typeof d&amp;&amp;(d=1),c.strokeStyle=d&gt;0?&quot;white&quot;:&quot;black&quot;,c.lineWidth=Math.abs(d)),c.translate(.5*u,.5*f),c.scale(g,g),r.Path2D){var v=new Path2D(t);c.fill(v),d&amp;&amp;c.stroke(v)}else{var y=i(t);a(c,y),c.fill(),d&amp;&amp;c.stroke()}return c.setTransform(1,0,0,1,0,0),s(c,{cutoff:null!=e.cutoff?e.cutoff:.5,radius:null!=e.radius?e.radius:.5*h})}}).call(this,&quot;undefined&quot;!=typeof global?global:&quot;undefined&quot;!=typeof self?self:&quot;undefined&quot;!=typeof window?window:{})},{&quot;bitmap-sdf&quot;:72,&quot;draw-svg-path&quot;:132,&quot;is-svg-path&quot;:287,&quot;parse-svg-path&quot;:466,&quot;svg-path-bounds&quot;:542}],545:[function(t,e,r){(function(r){&quot;use strict&quot;;function n(t,e,r){r=r||{};var a=o[t];a||(a=o[t]={&quot; &quot;:{data:new Float32Array(0),shape:.2}});var s=a[e];if(!s)if(e.length&lt;=1||!/\d/.test(e))s=a[e]=function(t){for(var e=t.cells,r=t.positions,n=new Float32Array(6*e.length),i=0,a=0,o=0;o&lt;e.length;++o)for(var s=e[o],l=0;l&lt;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}}(i(e,{triangles:!0,font:t,textAlign:r.textAlign||&quot;left&quot;,textBaseline:&quot;alphabetic&quot;}));else{for(var l=e.split(/(\d|\s)/),c=new Array(l.length),u=0,f=0,h=0;h&lt;l.length;++h)c[h]=n(t,l[h]),u+=c[h].data.length,f+=c[h].shape,h&gt;0&amp;&amp;(f+=.02);var d=new Float32Array(u),p=0,m=-.5*f;for(h=0;h&lt;c.length;++h){for(var g=c[h].data,v=0;v&lt;g.length;v+=2)d[p++]=g[v]+m,d[p++]=g[v+1];m+=c[h].shape+.02}s=a[e]={data:d,shape:f}}return s}e.exports=n;var i=t(&quot;vectorize-text&quot;),a=window||r.global||{},o=a.__TEXT_CACHE||{};a.__TEXT_CACHE={}}).call(this,t(&quot;_process&quot;))},{_process:488,&quot;vectorize-text&quot;:568}],546:[function(t,e,r){!function(t){function r(e,n){if(e=e||&quot;&quot;,n=n||{},e instanceof r)return e;if(!(this instanceof r))return new r(e,n);var i=function(e){var r={r:0,g:0,b:0},n=1,i=null,a=null,o=null,s=!1,l=!1;&quot;string&quot;==typeof e&amp;&amp;(e=function(t){t=t.replace(L,&quot;&quot;).replace(C,&quot;&quot;).toLowerCase();var e=!1;if(F[t])t=F[t],e=!0;else if(&quot;transparent&quot;==t)return{r:0,g:0,b:0,a:0,format:&quot;name&quot;};var r;if(r=N.rgb.exec(t))return{r:r[1],g:r[2],b:r[3]};if(r=N.rgba.exec(t))return{r:r[1],g:r[2],b:r[3],a:r[4]};if(r=N.hsl.exec(t))return{h:r[1],s:r[2],l:r[3]};if(r=N.hsla.exec(t))return{h:r[1],s:r[2],l:r[3],a:r[4]};if(r=N.hsv.exec(t))return{h:r[1],s:r[2],v:r[3]};if(r=N.hsva.exec(t))return{h:r[1],s:r[2],v:r[3],a:r[4]};if(r=N.hex8.exec(t))return{r:M(r[1]),g:M(r[2]),b:M(r[3]),a:S(r[4]),format:e?&quot;name&quot;:&quot;hex8&quot;};if(r=N.hex6.exec(t))return{r:M(r[1]),g:M(r[2]),b:M(r[3]),format:e?&quot;name&quot;:&quot;hex&quot;};if(r=N.hex4.exec(t))return{r:M(r[1]+&quot;&quot;+r[1]),g:M(r[2]+&quot;&quot;+r[2]),b:M(r[3]+&quot;&quot;+r[3]),a:S(r[4]+&quot;&quot;+r[4]),format:e?&quot;name&quot;:&quot;hex8&quot;};if(r=N.hex3.exec(t))return{r:M(r[1]+&quot;&quot;+r[1]),g:M(r[2]+&quot;&quot;+r[2]),b:M(r[3]+&quot;&quot;+r[3]),format:e?&quot;name&quot;:&quot;hex&quot;};return!1}(e));&quot;object&quot;==typeof e&amp;&amp;(E(e.r)&amp;&amp;E(e.g)&amp;&amp;E(e.b)?(r=function(t,e,r){return{r:255*_(t,255),g:255*_(e,255),b:255*_(r,255)}}(e.r,e.g,e.b),s=!0,l=&quot;%&quot;===String(e.r).substr(-1)?&quot;prgb&quot;:&quot;rgb&quot;):E(e.h)&amp;&amp;E(e.s)&amp;&amp;E(e.v)?(i=A(e.s),a=A(e.v),r=function(e,r,n){e=6*_(e,360),r=_(r,100),n=_(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,i,a),s=!0,l=&quot;hsv&quot;):E(e.h)&amp;&amp;E(e.s)&amp;&amp;E(e.l)&amp;&amp;(i=A(e.s),o=A(e.l),r=function(t,e,r){function n(t,e,r){return r&lt;0&amp;&amp;(r+=1),r&gt;1&amp;&amp;(r-=1),r&lt;1/6?t+6*(e-t)*r:r&lt;.5?e:r&lt;2/3?t+(e-t)*(2/3-r)*6:t}var i,a,o;t=_(t,360),e=_(e,100),r=_(r,100);if(0===e)i=a=o=r;else{var s=r&lt;.5?r*(1+e):r+e-r*e,l=2*r-s;i=n(l,s,t+1/3),a=n(l,s,t),o=n(l,s,t-1/3)}return{r:255*i,g:255*a,b:255*o}}(e.h,i,o),s=!0,l=&quot;hsl&quot;),e.hasOwnProperty(&quot;a&quot;)&amp;&amp;(n=e.a));return n=b(n),{ok:s,format:e.format||l,r:I(255,P(r.r,0)),g:I(255,P(r.g,0)),b:I(255,P(r.b,0)),a:n}}(e);this._originalInput=e,this._r=i.r,this._g=i.g,this._b=i.b,this._a=i.a,this._roundA=D(100*this._a)/100,this._format=n.format||i.format,this._gradientType=n.gradientType,this._r&lt;1&amp;&amp;(this._r=D(this._r)),this._g&lt;1&amp;&amp;(this._g=D(this._g)),this._b&lt;1&amp;&amp;(this._b=D(this._b)),this._ok=i.ok,this._tc_id=z++}function n(t,e,r){t=_(t,255),e=_(e,255),r=_(r,255);var n,i,a=P(t,e,r),o=I(t,e,r),s=(a+o)/2;if(a==o)n=i=0;else{var l=a-o;switch(i=s&gt;.5?l/(2-a-o):l/(a+o),a){case t:n=(e-r)/l+(e&lt;r?6:0);break;case e:n=(r-t)/l+2;break;case r:n=(t-e)/l+4}n/=6}return{h:n,s:i,l:s}}function i(t,e,r){t=_(t,255),e=_(e,255),r=_(r,255);var n,i,a=P(t,e,r),o=I(t,e,r),s=a-o;if(i=0===a?0:s/a,a==o)n=0;else{switch(a){case t:n=(e-r)/s+(e&lt;r?6:0);break;case e:n=(r-t)/s+2;break;case r:n=(t-e)/s+4}n/=6}return{h:n,s:i,v:a}}function a(t,e,r,n){var i=[k(D(t).toString(16)),k(D(e).toString(16)),k(D(r).toString(16))];return n&amp;&amp;i[0].charAt(0)==i[0].charAt(1)&amp;&amp;i[1].charAt(0)==i[1].charAt(1)&amp;&amp;i[2].charAt(0)==i[2].charAt(1)?i[0].charAt(0)+i[1].charAt(0)+i[2].charAt(0):i.join(&quot;&quot;)}function o(t,e,r,n){return[k(T(n)),k(D(t).toString(16)),k(D(e).toString(16)),k(D(r).toString(16))].join(&quot;&quot;)}function s(t,e){e=0===e?0:e||10;var n=r(t).toHsl();return n.s-=e/100,n.s=w(n.s),r(n)}function l(t,e){e=0===e?0:e||10;var n=r(t).toHsl();return n.s+=e/100,n.s=w(n.s),r(n)}function c(t){return r(t).desaturate(100)}function u(t,e){e=0===e?0:e||10;var n=r(t).toHsl();return n.l+=e/100,n.l=w(n.l),r(n)}function f(t,e){e=0===e?0:e||10;var n=r(t).toRgb();return n.r=P(0,I(255,n.r-D(-e/100*255))),n.g=P(0,I(255,n.g-D(-e/100*255))),n.b=P(0,I(255,n.b-D(-e/100*255))),r(n)}function h(t,e){e=0===e?0:e||10;var n=r(t).toHsl();return n.l-=e/100,n.l=w(n.l),r(n)}function d(t,e){var n=r(t).toHsl(),i=(n.h+e)%360;return n.h=i&lt;0?360+i:i,r(n)}function p(t){var e=r(t).toHsl();return e.h=(e.h+180)%360,r(e)}function m(t){var e=r(t).toHsl(),n=e.h;return[r(t),r({h:(n+120)%360,s:e.s,l:e.l}),r({h:(n+240)%360,s:e.s,l:e.l})]}function g(t){var e=r(t).toHsl(),n=e.h;return[r(t),r({h:(n+90)%360,s:e.s,l:e.l}),r({h:(n+180)%360,s:e.s,l:e.l}),r({h:(n+270)%360,s:e.s,l:e.l})]}function v(t){var e=r(t).toHsl(),n=e.h;return[r(t),r({h:(n+72)%360,s:e.s,l:e.l}),r({h:(n+216)%360,s:e.s,l:e.l})]}function y(t,e,n){e=e||6,n=n||30;var i=r(t).toHsl(),a=360/n,o=[r(t)];for(i.h=(i.h-(a*e&gt;&gt;1)+720)%360;--e;)i.h=(i.h+a)%360,o.push(r(i));return o}function x(t,e){e=e||6;for(var n=r(t).toHsv(),i=n.h,a=n.s,o=n.v,s=[],l=1/e;e--;)s.push(r({h:i,s:a,v:o})),o=(o+l)%1;return s}function b(t){return t=parseFloat(t),(isNaN(t)||t&lt;0||t&gt;1)&amp;&amp;(t=1),t}function _(e,r){(function(t){return&quot;string&quot;==typeof t&amp;&amp;-1!=t.indexOf(&quot;.&quot;)&amp;&amp;1===parseFloat(t)})(e)&amp;&amp;(e=&quot;100%&quot;);var n=function(t){return&quot;string&quot;==typeof t&amp;&amp;-1!=t.indexOf(&quot;%&quot;)}(e);return e=I(r,P(0,parseFloat(e))),n&amp;&amp;(e=parseInt(e*r,10)/100),t.abs(e-r)&lt;1e-6?1:e%r/parseFloat(r)}function w(t){return I(1,P(0,t))}function M(t){return parseInt(t,16)}function k(t){return 1==t.length?&quot;0&quot;+t:&quot;&quot;+t}function A(t){return t&lt;=1&amp;&amp;(t=100*t+&quot;%&quot;),t}function T(e){return t.round(255*parseFloat(e)).toString(16)}function S(t){return M(t)/255}function E(t){return!!N.CSS_UNIT.exec(t)}var L=/^\s+/,C=/\s+$/,z=0,D=t.round,I=t.min,P=t.max,O=t.random;r.prototype={isDark:function(){return this.getBrightness()&lt;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,a,o,s=this.toRgb();return e=s.r/255,r=s.g/255,n=s.b/255,i=e&lt;=.03928?e/12.92:t.pow((e+.055)/1.055,2.4),a=r&lt;=.03928?r/12.92:t.pow((r+.055)/1.055,2.4),o=n&lt;=.03928?n/12.92:t.pow((n+.055)/1.055,2.4),.2126*i+.7152*a+.0722*o},setAlpha:function(t){return this._a=b(t),this._roundA=D(100*this._a)/100,this},toHsv:function(){var t=i(this._r,this._g,this._b);return{h:360*t.h,s:t.s,v:t.v,a:this._a}},toHsvString:function(){var t=i(this._r,this._g,this._b),e=D(360*t.h),r=D(100*t.s),n=D(100*t.v);return 1==this._a?&quot;hsv(&quot;+e+&quot;, &quot;+r+&quot;%, &quot;+n+&quot;%)&quot;:&quot;hsva(&quot;+e+&quot;, &quot;+r+&quot;%, &quot;+n+&quot;%, &quot;+this._roundA+&quot;)&quot;},toHsl:function(){var t=n(this._r,this._g,this._b);return{h:360*t.h,s:t.s,l:t.l,a:this._a}},toHslString:function(){var t=n(this._r,this._g,this._b),e=D(360*t.h),r=D(100*t.s),i=D(100*t.l);return 1==this._a?&quot;hsl(&quot;+e+&quot;, &quot;+r+&quot;%, &quot;+i+&quot;%)&quot;:&quot;hsla(&quot;+e+&quot;, &quot;+r+&quot;%, &quot;+i+&quot;%, &quot;+this._roundA+&quot;)&quot;},toHex:function(t){return a(this._r,this._g,this._b,t)},toHexString:function(t){return&quot;#&quot;+this.toHex(t)},toHex8:function(t){return function(t,e,r,n,i){var a=[k(D(t).toString(16)),k(D(e).toString(16)),k(D(r).toString(16)),k(T(n))];return i&amp;&amp;a[0].charAt(0)==a[0].charAt(1)&amp;&amp;a[1].charAt(0)==a[1].charAt(1)&amp;&amp;a[2].charAt(0)==a[2].charAt(1)&amp;&amp;a[3].charAt(0)==a[3].charAt(1)?a[0].charAt(0)+a[1].charAt(0)+a[2].charAt(0)+a[3].charAt(0):a.join(&quot;&quot;)}(this._r,this._g,this._b,this._a,t)},toHex8String:function(t){return&quot;#&quot;+this.toHex8(t)},toRgb:function(){return{r:D(this._r),g:D(this._g),b:D(this._b),a:this._a}},toRgbString:function(){return 1==this._a?&quot;rgb(&quot;+D(this._r)+&quot;, &quot;+D(this._g)+&quot;, &quot;+D(this._b)+&quot;)&quot;:&quot;rgba(&quot;+D(this._r)+&quot;, &quot;+D(this._g)+&quot;, &quot;+D(this._b)+&quot;, &quot;+this._roundA+&quot;)&quot;},toPercentageRgb:function(){return{r:D(100*_(this._r,255))+&quot;%&quot;,g:D(100*_(this._g,255))+&quot;%&quot;,b:D(100*_(this._b,255))+&quot;%&quot;,a:this._a}},toPercentageRgbString:function(){return 1==this._a?&quot;rgb(&quot;+D(100*_(this._r,255))+&quot;%, &quot;+D(100*_(this._g,255))+&quot;%, &quot;+D(100*_(this._b,255))+&quot;%)&quot;:&quot;rgba(&quot;+D(100*_(this._r,255))+&quot;%, &quot;+D(100*_(this._g,255))+&quot;%, &quot;+D(100*_(this._b,255))+&quot;%, &quot;+this._roundA+&quot;)&quot;},toName:function(){return 0===this._a?&quot;transparent&quot;:!(this._a&lt;1)&amp;&amp;(R[a(this._r,this._g,this._b,!0)]||!1)},toFilter:function(t){var e=&quot;#&quot;+o(this._r,this._g,this._b,this._a),n=e,i=this._gradientType?&quot;GradientType = 1, &quot;:&quot;&quot;;if(t){var a=r(t);n=&quot;#&quot;+o(a._r,a._g,a._b,a._a)}return&quot;progid:DXImageTransform.Microsoft.gradient(&quot;+i+&quot;startColorstr=&quot;+e+&quot;,endColorstr=&quot;+n+&quot;)&quot;},toString:function(t){var e=!!t;t=t||this._format;var r=!1,n=this._a&lt;1&amp;&amp;this._a&gt;=0;return e||!n||&quot;hex&quot;!==t&amp;&amp;&quot;hex6&quot;!==t&amp;&amp;&quot;hex3&quot;!==t&amp;&amp;&quot;hex4&quot;!==t&amp;&amp;&quot;hex8&quot;!==t&amp;&amp;&quot;name&quot;!==t?(&quot;rgb&quot;===t&amp;&amp;(r=this.toRgbString()),&quot;prgb&quot;===t&amp;&amp;(r=this.toPercentageRgbString()),&quot;hex&quot;!==t&amp;&amp;&quot;hex6&quot;!==t||(r=this.toHexString()),&quot;hex3&quot;===t&amp;&amp;(r=this.toHexString(!0)),&quot;hex4&quot;===t&amp;&amp;(r=this.toHex8String(!0)),&quot;hex8&quot;===t&amp;&amp;(r=this.toHex8String()),&quot;name&quot;===t&amp;&amp;(r=this.toName()),&quot;hsl&quot;===t&amp;&amp;(r=this.toHslString()),&quot;hsv&quot;===t&amp;&amp;(r=this.toHsvString()),r||this.toHexString()):&quot;name&quot;===t&amp;&amp;0===this._a?this.toName():this.toRgbString()},clone:function(){return r(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(u,arguments)},brighten:function(){return this._applyModification(f,arguments)},darken:function(){return this._applyModification(h,arguments)},desaturate:function(){return this._applyModification(s,arguments)},saturate:function(){return this._applyModification(l,arguments)},greyscale:function(){return this._applyModification(c,arguments)},spin:function(){return this._applyModification(d,arguments)},_applyCombination:function(t,e){return t.apply(null,[this].concat([].slice.call(e)))},analogous:function(){return this._applyCombination(y,arguments)},complement:function(){return this._applyCombination(p,arguments)},monochromatic:function(){return this._applyCombination(x,arguments)},splitcomplement:function(){return this._applyCombination(v,arguments)},triad:function(){return this._applyCombination(m,arguments)},tetrad:function(){return this._applyCombination(g,arguments)}},r.fromRatio=function(t,e){if(&quot;object&quot;==typeof t){var n={};for(var i in t)t.hasOwnProperty(i)&amp;&amp;(n[i]=&quot;a&quot;===i?t[i]:A(t[i]));t=n}return r(t,e)},r.equals=function(t,e){return!(!t||!e)&amp;&amp;r(t).toRgbString()==r(e).toRgbString()},r.random=function(){return r.fromRatio({r:O(),g:O(),b:O()})},r.mix=function(t,e,n){n=0===n?0:n||50;var i=r(t).toRgb(),a=r(e).toRgb(),o=n/100;return r({r:(a.r-i.r)*o+i.r,g:(a.g-i.g)*o+i.g,b:(a.b-i.b)*o+i.b,a:(a.a-i.a)*o+i.a})},r.readability=function(e,n){var i=r(e),a=r(n);return(t.max(i.getLuminance(),a.getLuminance())+.05)/(t.min(i.getLuminance(),a.getLuminance())+.05)},r.isReadable=function(t,e,n){var i,a,o=r.readability(t,e);switch(a=!1,(i=function(t){var e,r;return t=t||{level:&quot;AA&quot;,size:&quot;small&quot;},e=(t.level||&quot;AA&quot;).toUpperCase(),r=(t.size||&quot;small&quot;).toLowerCase(),&quot;AA&quot;!==e&amp;&amp;&quot;AAA&quot;!==e&amp;&amp;(e=&quot;AA&quot;),&quot;small&quot;!==r&amp;&amp;&quot;large&quot;!==r&amp;&amp;(r=&quot;small&quot;),{level:e,size:r}}(n)).level+i.size){case&quot;AAsmall&quot;:case&quot;AAAlarge&quot;:a=o&gt;=4.5;break;case&quot;AAlarge&quot;:a=o&gt;=3;break;case&quot;AAAsmall&quot;:a=o&gt;=7}return a},r.mostReadable=function(t,e,n){var i,a,o,s,l=null,c=0;a=(n=n||{}).includeFallbackColors,o=n.level,s=n.size;for(var u=0;u&lt;e.length;u++)(i=r.readability(t,e[u]))&gt;c&amp;&amp;(c=i,l=r(e[u]));return r.isReadable(t,l,{level:o,size:s})||!a?l:(n.includeFallbackColors=!1,r.mostReadable(t,[&quot;#fff&quot;,&quot;#000&quot;],n))};var F=r.names={aliceblue:&quot;f0f8ff&quot;,antiquewhite:&quot;faebd7&quot;,aqua:&quot;0ff&quot;,aquamarine:&quot;7fffd4&quot;,azure:&quot;f0ffff&quot;,beige:&quot;f5f5dc&quot;,bisque:&quot;ffe4c4&quot;,black:&quot;000&quot;,blanchedalmond:&quot;ffebcd&quot;,blue:&quot;00f&quot;,blueviolet:&quot;8a2be2&quot;,brown:&quot;a52a2a&quot;,burlywood:&quot;deb887&quot;,burntsienna:&quot;ea7e5d&quot;,cadetblue:&quot;5f9ea0&quot;,chartreuse:&quot;7fff00&quot;,chocolate:&quot;d2691e&quot;,coral:&quot;ff7f50&quot;,cornflowerblue:&quot;6495ed&quot;,cornsilk:&quot;fff8dc&quot;,crimson:&quot;dc143c&quot;,cyan:&quot;0ff&quot;,darkblue:&quot;00008b&quot;,darkcyan:&quot;008b8b&quot;,darkgoldenrod:&quot;b8860b&quot;,darkgray:&quot;a9a9a9&quot;,darkgreen:&quot;006400&quot;,darkgrey:&quot;a9a9a9&quot;,darkkhaki:&quot;bdb76b&quot;,darkmagenta:&quot;8b008b&quot;,darkolivegreen:&quot;556b2f&quot;,darkorange:&quot;ff8c00&quot;,darkorchid:&quot;9932cc&quot;,darkred:&quot;8b0000&quot;,darksalmon:&quot;e9967a&quot;,darkseagreen:&quot;8fbc8f&quot;,darkslateblue:&quot;483d8b&quot;,darkslategray:&quot;2f4f4f&quot;,darkslategrey:&quot;2f4f4f&quot;,darkturquoise:&quot;00ced1&quot;,darkviolet:&quot;9400d3&quot;,deeppink:&quot;ff1493&quot;,deepskyblue:&quot;00bfff&quot;,dimgray:&quot;696969&quot;,dimgrey:&quot;696969&quot;,dodgerblue:&quot;1e90ff&quot;,firebrick:&quot;b22222&quot;,floralwhite:&quot;fffaf0&quot;,forestgreen:&quot;228b22&quot;,fuchsia:&quot;f0f&quot;,gainsboro:&quot;dcdcdc&quot;,ghostwhite:&quot;f8f8ff&quot;,gold:&quot;ffd700&quot;,goldenrod:&quot;daa520&quot;,gray:&quot;808080&quot;,green:&quot;008000&quot;,greenyellow:&quot;adff2f&quot;,grey:&quot;808080&quot;,honeydew:&quot;f0fff0&quot;,hotpink:&quot;ff69b4&quot;,indianred:&quot;cd5c5c&quot;,indigo:&quot;4b0082&quot;,ivory:&quot;fffff0&quot;,khaki:&quot;f0e68c&quot;,lavender:&quot;e6e6fa&quot;,lavenderblush:&quot;fff0f5&quot;,lawngreen:&quot;7cfc00&quot;,lemonchiffon:&quot;fffacd&quot;,lightblue:&quot;add8e6&quot;,lightcoral:&quot;f08080&quot;,lightcyan:&quot;e0ffff&quot;,lightgoldenrodyellow:&quot;fafad2&quot;,lightgray:&quot;d3d3d3&quot;,lightgreen:&quot;90ee90&quot;,lightgrey:&quot;d3d3d3&quot;,lightpink:&quot;ffb6c1&quot;,lightsalmon:&quot;ffa07a&quot;,lightseagreen:&quot;20b2aa&quot;,lightskyblue:&quot;87cefa&quot;,lightslategray:&quot;789&quot;,lightslategrey:&quot;789&quot;,lightsteelblue:&quot;b0c4de&quot;,lightyellow:&quot;ffffe0&quot;,lime:&quot;0f0&quot;,limegreen:&quot;32cd32&quot;,linen:&quot;faf0e6&quot;,magenta:&quot;f0f&quot;,maroon:&quot;800000&quot;,mediumaquamarine:&quot;66cdaa&quot;,mediumblue:&quot;0000cd&quot;,mediumorchid:&quot;ba55d3&quot;,mediumpurple:&quot;9370db&quot;,mediumseagreen:&quot;3cb371&quot;,mediumslateblue:&quot;7b68ee&quot;,mediumspringgreen:&quot;00fa9a&quot;,mediumturquoise:&quot;48d1cc&quot;,mediumvioletred:&quot;c71585&quot;,midnightblue:&quot;191970&quot;,mintcream:&quot;f5fffa&quot;,mistyrose:&quot;ffe4e1&quot;,moccasin:&quot;ffe4b5&quot;,navajowhite:&quot;ffdead&quot;,navy:&quot;000080&quot;,oldlace:&quot;fdf5e6&quot;,olive:&quot;808000&quot;,olivedrab:&quot;6b8e23&quot;,orange:&quot;ffa500&quot;,orangered:&quot;ff4500&quot;,orchid:&quot;da70d6&quot;,palegoldenrod:&quot;eee8aa&quot;,palegreen:&quot;98fb98&quot;,paleturquoise:&quot;afeeee&quot;,palevioletred:&quot;db7093&quot;,papayawhip:&quot;ffefd5&quot;,peachpuff:&quot;ffdab9&quot;,peru:&quot;cd853f&quot;,pink:&quot;ffc0cb&quot;,plum:&quot;dda0dd&quot;,powderblue:&quot;b0e0e6&quot;,purple:&quot;800080&quot;,rebeccapurple:&quot;663399&quot;,red:&quot;f00&quot;,rosybrown:&quot;bc8f8f&quot;,royalblue:&quot;4169e1&quot;,saddlebrown:&quot;8b4513&quot;,salmon:&quot;fa8072&quot;,sandybrown:&quot;f4a460&quot;,seagreen:&quot;2e8b57&quot;,seashell:&quot;fff5ee&quot;,sienna:&quot;a0522d&quot;,silver:&quot;c0c0c0&quot;,skyblue:&quot;87ceeb&quot;,slateblue:&quot;6a5acd&quot;,slategray:&quot;708090&quot;,slategrey:&quot;708090&quot;,snow:&quot;fffafa&quot;,springgreen:&quot;00ff7f&quot;,steelblue:&quot;4682b4&quot;,tan:&quot;d2b48c&quot;,teal:&quot;008080&quot;,thistle:&quot;d8bfd8&quot;,tomato:&quot;ff6347&quot;,turquoise:&quot;40e0d0&quot;,violet:&quot;ee82ee&quot;,wheat:&quot;f5deb3&quot;,white:&quot;fff&quot;,whitesmoke:&quot;f5f5f5&quot;,yellow:&quot;ff0&quot;,yellowgreen:&quot;9acd32&quot;},R=r.hexNames=function(t){var e={};for(var r in t)t.hasOwnProperty(r)&amp;&amp;(e[t[r]]=r);return e}(F),N=function(){var t=&quot;(?:[-\\+]?\\d*\\.\\d+%?)|(?:[-\\+]?\\d+%?)&quot;,e=&quot;[\\s|\\(]+(&quot;+t+&quot;)[,|\\s]+(&quot;+t+&quot;)[,|\\s]+(&quot;+t+&quot;)\\s*\\)?&quot;,r=&quot;[\\s|\\(]+(&quot;+t+&quot;)[,|\\s]+(&quot;+t+&quot;)[,|\\s]+(&quot;+t+&quot;)[,|\\s]+(&quot;+t+&quot;)\\s*\\)?&quot;;return{CSS_UNIT:new RegExp(t),rgb:new RegExp(&quot;rgb&quot;+e),rgba:new RegExp(&quot;rgba&quot;+r),hsl:new RegExp(&quot;hsl&quot;+e),hsla:new RegExp(&quot;hsla&quot;+r),hsv:new RegExp(&quot;hsv&quot;+e),hsva:new RegExp(&quot;hsva&quot;+r),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})$/}}();void 0!==e&amp;&amp;e.exports?e.exports=r:window.tinycolor=r}(Math)},{}],547:[function(t,e,r){&quot;use strict&quot;;function n(t){if(t instanceof Float32Array)return t;if(&quot;number&quot;==typeof t)return new Float32Array([t])[0];var e=new Float32Array(t);return e.set(t),e}e.exports=n,e.exports.float32=e.exports.float=n,e.exports.fract32=e.exports.fract=function(t){if(&quot;number&quot;==typeof t)return n(t-n(t));for(var e=n(t),r=0,i=e.length;r&lt;i;r++)e[r]=t[r]-e[r];return e}},{}],548:[function(t,e,r){&quot;use strict&quot;;function n(t,e){var r=a(getComputedStyle(t).getPropertyValue(e));return r[0]*i(r[1],t)}function i(t,e){switch(e=e||document.body,t=(t||&quot;px&quot;).trim().toLowerCase(),e!==window&amp;&amp;e!==document||(e=document.body),t){case&quot;%&quot;:return e.clientHeight/100;case&quot;ch&quot;:case&quot;ex&quot;:return function(t,e){var r=document.createElement(&quot;div&quot;);r.style[&quot;font-size&quot;]=&quot;128&quot;+t,e.appendChild(r);var i=n(r,&quot;font-size&quot;)/128;return e.removeChild(r),i}(t,e);case&quot;em&quot;:return n(e,&quot;font-size&quot;);case&quot;rem&quot;:return n(document.body,&quot;font-size&quot;);case&quot;vw&quot;:return window.innerWidth/100;case&quot;vh&quot;:return window.innerHeight/100;case&quot;vmin&quot;:return Math.min(window.innerWidth,window.innerHeight)/100;case&quot;vmax&quot;:return Math.max(window.innerWidth,window.innerHeight)/100;case&quot;in&quot;:return o;case&quot;cm&quot;:return o/2.54;case&quot;mm&quot;:return o/25.4;case&quot;pt&quot;:return o/72;case&quot;pc&quot;:return o/6}return 1}var a=t(&quot;parse-unit&quot;);e.exports=i;var o=96},{&quot;parse-unit&quot;:467}],549:[function(t,e,r){!function(t,n){n(&quot;object&quot;==typeof r&amp;&amp;void 0!==e?r:t.topojson=t.topojson||{})}(this,function(t){&quot;use strict&quot;;function e(t,e){var n=e.id,i=e.bbox,a=null==e.properties?{}:e.properties,o=r(t,e);return null==n&amp;&amp;null==i?{type:&quot;Feature&quot;,properties:a,geometry:o}:null==i?{type:&quot;Feature&quot;,id:n,properties:a,geometry:o}:{type:&quot;Feature&quot;,id:n,bbox:i,properties:a,geometry:o}}function r(t,e){function r(t,e){e.length&amp;&amp;e.pop();for(var r=f[t&lt;0?~t:t],n=0,i=r.length;n&lt;i;++n)e.push(u(r[n].slice(),n));t&lt;0&amp;&amp;l(e,i)}function n(t){return u(t.slice())}function i(t){for(var e=[],n=0,i=t.length;n&lt;i;++n)r(t[n],e);return e.length&lt;2&amp;&amp;e.push(e[0].slice()),e}function a(t){for(var e=i(t);e.length&lt;4;)e.push(e[0].slice());return e}function s(t){return t.map(a)}function c(t){var e,r=t.type;switch(r){case&quot;GeometryCollection&quot;:return{type:r,geometries:t.geometries.map(c)};case&quot;Point&quot;:e=n(t.coordinates);break;case&quot;MultiPoint&quot;:e=t.coordinates.map(n);break;case&quot;LineString&quot;:e=i(t.arcs);break;case&quot;MultiLineString&quot;:e=t.arcs.map(i);break;case&quot;Polygon&quot;:e=s(t.arcs);break;case&quot;MultiPolygon&quot;:e=t.arcs.map(s);break;default:return null}return{type:r,coordinates:e}}var u=o(t),f=t.arcs;return c(e)}function n(t,e,r){var n,i,a;if(arguments.length&gt;1)n=function(t,e,r){function n(t){var e=t&lt;0?~t:t;(c[e]||(c[e]=[])).push({i:t,g:s})}function i(t){t.forEach(n)}function a(t){t.forEach(i)}function o(t){switch(s=t,t.type){case&quot;GeometryCollection&quot;:t.geometries.forEach(o);break;case&quot;LineString&quot;:i(t.arcs);break;case&quot;MultiLineString&quot;:case&quot;Polygon&quot;:a(t.arcs);break;case&quot;MultiPolygon&quot;:!function(t){t.forEach(a)}(t.arcs)}}var s,l=[],c=[];return o(e),c.forEach(null==r?function(t){l.push(t[0].i)}:function(t){r(t[0].g,t[t.length-1].g)&amp;&amp;l.push(t[0].i)}),l}(0,e,r);else for(i=0,n=new Array(a=t.arcs.length);i&lt;a;++i)n[i]=i;return{type:&quot;MultiLineString&quot;,arcs:c(t,n)}}function i(t,e){function n(t){switch(t.type){case&quot;GeometryCollection&quot;:t.geometries.forEach(n);break;case&quot;Polygon&quot;:i(t.arcs);break;case&quot;MultiPolygon&quot;:t.arcs.forEach(i)}}function i(t){t.forEach(function(e){e.forEach(function(e){(o[e=e&lt;0?~e:e]||(o[e]=[])).push(t)})}),s.push(t)}function a(e){return function(t){for(var e,r=-1,n=t.length,i=t[n-1],a=0;++r&lt;n;)e=i,i=t[r],a+=e[0]*i[1]-e[1]*i[0];return Math.abs(a)}(r(t,{type:&quot;Polygon&quot;,arcs:[e]}).coordinates[0])}var o={},s=[],l=[];return e.forEach(n),s.forEach(function(t){if(!t._){var e=[],r=[t];for(t._=1,l.push(e);t=r.pop();)e.push(t),t.forEach(function(t){t.forEach(function(t){o[t&lt;0?~t:t].forEach(function(t){t._||(t._=1,r.push(t))})})})}}),s.forEach(function(t){delete t._}),{type:&quot;MultiPolygon&quot;,arcs:l.map(function(e){var r,n=[];if(e.forEach(function(t){t.forEach(function(t){t.forEach(function(t){o[t&lt;0?~t:t].length&lt;2&amp;&amp;n.push(t)})})}),n=c(t,n),(r=n.length)&gt;1)for(var i,s,l=1,u=a(n[0]);l&lt;r;++l)(i=a(n[l]))&gt;u&amp;&amp;(s=n[0],n[0]=n[l],n[l]=s,u=i);return n})}}var a=function(t){return t},o=function(t){if(null==(e=t.transform))return a;var e,r,n,i=e.scale[0],o=e.scale[1],s=e.translate[0],l=e.translate[1];return function(t,e){return e||(r=n=0),t[0]=(r+=t[0])*i+s,t[1]=(n+=t[1])*o+l,t}},s=function(t){function e(t){l[0]=t[0],l[1]=t[1],s(l),l[0]&lt;c&amp;&amp;(c=l[0]),l[0]&gt;f&amp;&amp;(f=l[0]),l[1]&lt;u&amp;&amp;(u=l[1]),l[1]&gt;h&amp;&amp;(h=l[1])}function r(t){switch(t.type){case&quot;GeometryCollection&quot;:t.geometries.forEach(r);break;case&quot;Point&quot;:e(t.coordinates);break;case&quot;MultiPoint&quot;:t.coordinates.forEach(e)}}var n=t.bbox;if(!n){var i,a,s=o(t),l=new Array(2),c=1/0,u=c,f=-c,h=-c;t.arcs.forEach(function(t){for(var e=-1,r=t.length;++e&lt;r;)i=t[e],l[0]=i[0],l[1]=i[1],s(l,e),l[0]&lt;c&amp;&amp;(c=l[0]),l[0]&gt;f&amp;&amp;(f=l[0]),l[1]&lt;u&amp;&amp;(u=l[1]),l[1]&gt;h&amp;&amp;(h=l[1])});for(a in t.objects)r(t.objects[a]);n=t.bbox=[c,u,f,h]}return n},l=function(t,e){for(var r,n=t.length,i=n-e;i&lt;--n;)r=t[i],t[i++]=t[n],t[n]=r},c=function(t,e){function r(t,e){for(var r in t){var i=t[r];delete e[i.start],delete i.start,delete i.end,i.forEach(function(t){n[t&lt;0?~t:t]=1}),o.push(i)}}var n={},i={},a={},o=[],s=-1;return e.forEach(function(r,n){var i,a=t.arcs[r&lt;0?~r:r];a.length&lt;3&amp;&amp;!a[1][0]&amp;&amp;!a[1][1]&amp;&amp;(i=e[++s],e[s]=r,e[n]=i)}),e.forEach(function(e){var r,n,o=function(e){var r,n=t.arcs[e&lt;0?~e:e],i=n[0];return t.transform?(r=[0,0],n.forEach(function(t){r[0]+=t[0],r[1]+=t[1]})):r=n[n.length-1],e&lt;0?[r,i]:[i,r]}(e),s=o[0],l=o[1];if(r=a[s])if(delete a[r.end],r.push(e),r.end=l,n=i[l]){delete i[n.start];var c=n===r?r:r.concat(n);i[c.start=r.start]=a[c.end=n.end]=c}else i[r.start]=a[r.end]=r;else if(r=i[l])if(delete i[r.start],r.unshift(e),r.start=s,n=a[s]){delete a[n.end];var u=n===r?r:n.concat(r);i[u.start=n.start]=a[u.end=r.end]=u}else i[r.start]=a[r.end]=r;else i[(r=[e]).start=s]=a[r.end=l]=r}),r(a,i),r(i,a),e.forEach(function(t){n[t&lt;0?~t:t]||o.push([t])}),o},u=function(t,e){for(var r=0,n=t.length;r&lt;n;){var i=r+n&gt;&gt;&gt;1;t[i]&lt;e?r=i+1:n=i}return r};t.bbox=s,t.feature=function(t,r){return&quot;GeometryCollection&quot;===r.type?{type:&quot;FeatureCollection&quot;,features:r.geometries.map(function(r){return e(t,r)})}:e(t,r)},t.mesh=function(t){return r(t,n.apply(this,arguments))},t.meshArcs=n,t.merge=function(t){return r(t,i.apply(this,arguments))},t.mergeArcs=i,t.neighbors=function(t){function e(t,e){t.forEach(function(t){t&lt;0&amp;&amp;(t=~t);var r=i[t];r?r.push(e):i[t]=[e]})}function r(t,r){t.forEach(function(t){e(t,r)})}function n(t,e){&quot;GeometryCollection&quot;===t.type?t.geometries.forEach(function(t){n(t,e)}):t.type in o&amp;&amp;o[t.type](t.arcs,e)}var i={},a=t.map(function(){return[]}),o={LineString:e,MultiLineString:r,Polygon:r,MultiPolygon:function(t,e){t.forEach(function(t){r(t,e)})}};t.forEach(n);for(var s in i)for(var l=i[s],c=l.length,f=0;f&lt;c;++f)for(var h=f+1;h&lt;c;++h){var d,p=l[f],m=l[h];(d=a[p])[s=u(d,m)]!==m&amp;&amp;d.splice(s,0,m),(d=a[m])[s=u(d,p)]!==p&amp;&amp;d.splice(s,0,p)}return a},t.quantize=function(t,e){function r(t){t[0]=Math.round((t[0]-o)/l),t[1]=Math.round((t[1]-c)/u)}function n(t){switch(t.type){case&quot;GeometryCollection&quot;:t.geometries.forEach(n);break;case&quot;Point&quot;:r(t.coordinates);break;case&quot;MultiPoint&quot;:t.coordinates.forEach(r)}}if(!((e=Math.floor(e))&gt;=2))throw new Error(&quot;n must be \u22652&quot;);if(t.transform)throw new Error(&quot;already quantized&quot;);var i,a=s(t),o=a[0],l=(a[2]-o)/(e-1)||1,c=a[1],u=(a[3]-c)/(e-1)||1;t.arcs.forEach(function(t){for(var e,r,n,i=1,a=1,s=t.length,f=t[0],h=f[0]=Math.round((f[0]-o)/l),d=f[1]=Math.round((f[1]-c)/u);i&lt;s;++i)f=t[i],r=Math.round((f[0]-o)/l),n=Math.round((f[1]-c)/u),r===h&amp;&amp;n===d||((e=t[a++])[0]=r-h,h=r,e[1]=n-d,d=n);a&lt;2&amp;&amp;((e=t[a++])[0]=0,e[1]=0),t.length=a});for(i in t.objects)n(t.objects[i]);return t.transform={scale:[l,u],translate:[o,c]},t},t.transform=o,t.untransform=function(t){if(null==(e=t.transform))return a;var e,r,n,i=e.scale[0],o=e.scale[1],s=e.translate[0],l=e.translate[1];return function(t,e){e||(r=n=0);var a=Math.round((t[0]-s)/i),c=Math.round((t[1]-l)/o);return t[0]=a-r,r=a,t[1]=c-n,n=c,t}},Object.defineProperty(t,&quot;__esModule&quot;,{value:!0})})},{}],550:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t){if(t&lt;0)return[];if(0===t)return[[0]];for(var e=0|Math.round(a(t+1)),r=[],o=0;o&lt;e;++o){for(var s=n.unrank(t,o),l=[0],c=0,u=0;u&lt;s.length;++u)c+=1&lt;&lt;s[u],l.push(c);i(s)&lt;1&amp;&amp;(l[0]=c,l[t]=0),r.push(l)}return r};var n=t(&quot;permutation-rank&quot;),i=t(&quot;permutation-parity&quot;),a=t(&quot;gamma&quot;)},{gamma:145,&quot;permutation-parity&quot;:471,&quot;permutation-rank&quot;:472}],551:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r){return Math.sqrt(Math.pow(t,2)+Math.pow(e,2)+Math.pow(r,2))}function i(t){return Math.min(1,Math.max(-1,t))}function a(t){var e=Math.abs(t[0]),r=Math.abs(t[1]),n=Math.abs(t[2]),i=[0,0,0];e&gt;Math.max(r,n)?i[2]=1:r&gt;Math.max(e,n)?i[0]=1:i[1]=1;for(var a=0,o=0,s=0;s&lt;3;++s)a+=t[s]*t[s],o+=i[s]*t[s];for(s=0;s&lt;3;++s)i[s]-=o/a*t[s];return f(i,i),i}function o(t,e,r,n,i,a,o,l){this.center=s(r),this.up=s(n),this.right=s(i),this.radius=s([a]),this.angle=s([o,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&lt;16;++c)this.computedMatrix[c]=.5;this.recalcMatrix(0)}e.exports=function(t){var e=(t=t||{}).center||[0,0,0],r=t.up||[0,1,0],i=t.right||a(r),s=t.radius||1,l=t.theta||0,c=t.phi||0;if(e=[].slice.call(e,0,3),r=[].slice.call(r,0,3),f(r,r),i=[].slice.call(i,0,3),f(i,i),&quot;eye&quot;in t){var d=t.eye,p=[d[0]-e[0],d[1]-e[1],d[2]-e[2]];u(i,p,r),n(i[0],i[1],i[2])&lt;1e-6?i=a(r):f(i,i),s=n(p[0],p[1],p[2]);var m=h(r,p)/s,g=h(i,p)/s;c=Math.acos(m),l=Math.acos(g)}return s=Math.log(s),new o(t.zoomMin,t.zoomMax,e,r,i,s,l,c)};var s=t(&quot;filtered-vector&quot;),l=t(&quot;gl-mat4/invert&quot;),c=t(&quot;gl-mat4/rotate&quot;),u=t(&quot;gl-vec3/cross&quot;),f=t(&quot;gl-vec3/normalize&quot;),h=t(&quot;gl-vec3/dot&quot;),d=o.prototype;d.setDistanceLimits=function(t,e){t=t&gt;0?Math.log(t):-1/0,e=e&gt;0?Math.log(e):1/0,e=Math.max(e,t),this.radius.bounds[0][0]=t,this.radius.bounds[1][0]=e},d.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])]},d.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,i=0,a=0,o=0;o&lt;3;++o)a+=e[o]*r[o],i+=e[o]*e[o];var s=Math.sqrt(i),l=0;for(o=0;o&lt;3;++o)r[o]-=e[o]*a/i,l+=r[o]*r[o],e[o]/=s;var c=Math.sqrt(l);for(o=0;o&lt;3;++o)r[o]/=c;var h=this.computedToward;u(h,e,r),f(h,h);var d=Math.exp(this.computedRadius[0]),p=this.computedAngle[0],m=this.computedAngle[1],g=Math.cos(p),v=Math.sin(p),y=Math.cos(m),x=Math.sin(m),b=this.computedCenter,_=g*y,w=v*y,M=x,k=-g*x,A=-v*x,T=y,S=this.computedEye,E=this.computedMatrix;for(o=0;o&lt;3;++o){var L=_*r[o]+w*h[o]+M*e[o];E[4*o+1]=k*r[o]+A*h[o]+T*e[o],E[4*o+2]=L,E[4*o+3]=0}var C=E[1],z=E[5],D=E[9],I=E[2],P=E[6],O=E[10],F=z*O-D*P,R=D*I-C*O,N=C*P-z*I,j=n(F,R,N);F/=j,R/=j,N/=j,E[0]=F,E[4]=R,E[8]=N;for(o=0;o&lt;3;++o)S[o]=b[o]+E[2+4*o]*d;for(o=0;o&lt;3;++o){l=0;for(var B=0;B&lt;3;++B)l+=E[o+4*B]*S[B];E[12+o]=-l}E[15]=1},d.getMatrix=function(t,e){this.recalcMatrix(t);var r=this.computedMatrix;if(e){for(var n=0;n&lt;16;++n)e[n]=r[n];return e}return r};var p=[0,0,0];d.rotate=function(t,e,r,n){if(this.angle.move(t,e,r),n){this.recalcMatrix(t);var i=this.computedMatrix;p[0]=i[2],p[1]=i[6],p[2]=i[10];for(var a=this.computedUp,o=this.computedRight,s=this.computedToward,l=0;l&lt;3;++l)i[4*l]=a[l],i[4*l+1]=o[l],i[4*l+2]=s[l];c(i,i,n,p);for(l=0;l&lt;3;++l)a[l]=i[4*l],o[l]=i[4*l+1];this.up.set(t,a[0],a[1],a[2]),this.right.set(t,o[0],o[1],o[2])}},d.pan=function(t,e,r,i){e=e||0,r=r||0,i=i||0,this.recalcMatrix(t);var a=this.computedMatrix,o=(Math.exp(this.computedRadius[0]),a[1]),s=a[5],l=a[9],c=n(o,s,l);o/=c,s/=c,l/=c;var u=a[0],f=a[4],h=a[8],d=u*o+f*s+h*l,p=n(u-=o*d,f-=s*d,h-=l*d),m=(u/=p)*e+o*r,g=(f/=p)*e+s*r,v=(h/=p)*e+l*r;this.center.move(t,m,g,v);var y=Math.exp(this.computedRadius[0]);y=Math.max(1e-4,y+i),this.radius.set(t,Math.log(y))},d.translate=function(t,e,r,n){this.center.move(t,e||0,r||0,n||0)},d.setMatrix=function(t,e,r,a){var o=1;&quot;number&quot;==typeof r&amp;&amp;(o=0|r),(o&lt;0||o&gt;3)&amp;&amp;(o=1);var s=(o+2)%3;e||(this.recalcMatrix(t),e=this.computedMatrix);var c=e[o],u=e[o+4],f=e[o+8];if(a){var h=Math.abs(c),d=Math.abs(u),p=Math.abs(f),m=Math.max(h,d,p);h===m?(c=c&lt;0?-1:1,u=f=0):p===m?(f=f&lt;0?-1:1,c=u=0):(u=u&lt;0?-1:1,c=f=0)}else{var g=n(c,u,f);c/=g,u/=g,f/=g}var v=e[s],y=e[s+4],x=e[s+8],b=v*c+y*u+x*f,_=n(v-=c*b,y-=u*b,x-=f*b),w=u*(x/=_)-f*(y/=_),M=f*(v/=_)-c*x,k=c*y-u*v,A=n(w,M,k);w/=A,M/=A,k/=A,this.center.jump(t,H,G,Y),this.radius.idle(t),this.up.jump(t,c,u,f),this.right.jump(t,v,y,x);var T,S;if(2===o){var E=e[1],L=e[5],C=e[9],z=E*v+L*y+C*x,D=E*w+L*M+C*k;T=F&lt;0?-Math.PI/2:Math.PI/2,S=Math.atan2(D,z)}else{var I=e[2],P=e[6],O=e[10],F=I*c+P*u+O*f,R=I*v+P*y+O*x,N=I*w+P*M+O*k;T=Math.asin(i(F)),S=Math.atan2(N,R)}this.angle.jump(t,S,T),this.recalcMatrix(t);var j=e[2],B=e[6],U=e[10],V=this.computedMatrix;l(V,e);var q=V[15],H=V[12]/q,G=V[13]/q,Y=V[14]/q,W=Math.exp(this.computedRadius[0]);this.center.jump(t,H-j*W,G-B*W,Y-U*W)},d.lastT=function(){return Math.max(this.center.lastT(),this.up.lastT(),this.right.lastT(),this.radius.lastT(),this.angle.lastT())},d.idle=function(t){this.center.idle(t),this.up.idle(t),this.right.idle(t),this.radius.idle(t),this.angle.idle(t)},d.flush=function(t){this.center.flush(t),this.up.flush(t),this.right.flush(t),this.radius.flush(t),this.angle.flush(t)},d.setDistance=function(t,e){e&gt;0&amp;&amp;this.radius.set(t,Math.log(e))},d.lookAt=function(t,e,r,a){this.recalcMatrix(t),e=e||this.computedEye,r=r||this.computedCenter;var o=(a=a||this.computedUp)[0],s=a[1],l=a[2],c=n(o,s,l);if(!(c&lt;1e-6)){o/=c,s/=c,l/=c;var u=e[0]-r[0],f=e[1]-r[1],h=e[2]-r[2],d=n(u,f,h);if(!(d&lt;1e-6)){u/=d,f/=d,h/=d;var p=this.computedRight,m=p[0],g=p[1],v=p[2],y=o*m+s*g+l*v,x=n(m-=y*o,g-=y*s,v-=y*l);if(!(x&lt;.01&amp;&amp;(m=s*h-l*f,g=l*u-o*h,v=o*f-s*u,(x=n(m,g,v))&lt;1e-6))){m/=x,g/=x,v/=x,this.up.set(t,o,s,l),this.right.set(t,m,g,v),this.center.set(t,r[0],r[1],r[2]),this.radius.set(t,Math.log(d));var b=s*v-l*g,_=l*m-o*v,w=o*g-s*m,M=n(b,_,w),k=o*u+s*f+l*h,A=m*u+g*f+v*h,T=(b/=M)*u+(_/=M)*f+(w/=M)*h,S=Math.asin(i(k)),E=Math.atan2(T,A),L=this.angle._state,C=L[L.length-1],z=L[L.length-2];C%=2*Math.PI;var D=Math.abs(C+2*Math.PI-E),I=Math.abs(C-E),P=Math.abs(C-2*Math.PI-E);D&lt;I&amp;&amp;(C+=2*Math.PI),P&lt;I&amp;&amp;(C-=2*Math.PI),this.angle.jump(this.angle.lastT(),C,z),this.angle.set(t,E,S)}}}}},{&quot;filtered-vector&quot;:142,&quot;gl-mat4/invert&quot;:186,&quot;gl-mat4/rotate&quot;:190,&quot;gl-vec3/cross&quot;:260,&quot;gl-vec3/dot&quot;:261,&quot;gl-vec3/normalize&quot;:264}],552:[function(t,e,r){&quot;use strict&quot;;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);return r?(r[0]=f,r[1]=i,r):[f,i]};var n=+(Math.pow(2,27)+1)},{}],553:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t,e,r){var n=t+e,i=n-t,a=e-i,o=t-(n-i);return r?(r[0]=o+a,r[1]=n,r):[o+a,n]}},{}],554:[function(t,e,r){(function(e,n){&quot;use strict&quot;;function i(t){if(t){var e=t.length||t.byteLength,r=v.log2(e);_[r].push(t)}}function a(t){t=v.nextPow2(t);var e=v.log2(t),r=_[e];return r.length&gt;0?r.pop():new ArrayBuffer(t)}function o(t){return new Uint8Array(a(t),0,t)}function s(t){return new Uint16Array(a(2*t),0,t)}function l(t){return new Uint32Array(a(4*t),0,t)}function c(t){return new Int8Array(a(t),0,t)}function u(t){return new Int16Array(a(2*t),0,t)}function f(t){return new Int32Array(a(4*t),0,t)}function h(t){return new Float32Array(a(4*t),0,t)}function d(t){return new Float64Array(a(8*t),0,t)}function p(t){return x?new Uint8ClampedArray(a(t),0,t):o(t)}function m(t){return new DataView(a(t),0,t)}function g(t){t=v.nextPow2(t);var e=v.log2(t),r=w[e];return r.length&gt;0?r.pop():new n(t)}var v=t(&quot;bit-twiddle&quot;),y=t(&quot;dup&quot;);e.__TYPEDARRAY_POOL||(e.__TYPEDARRAY_POOL={UINT8:y([32,0]),UINT16:y([32,0]),UINT32:y([32,0]),INT8:y([32,0]),INT16:y([32,0]),INT32:y([32,0]),FLOAT:y([32,0]),DOUBLE:y([32,0]),DATA:y([32,0]),UINT8C:y([32,0]),BUFFER:y([32,0])});var x=&quot;undefined&quot;!=typeof Uint8ClampedArray,b=e.__TYPEDARRAY_POOL;b.UINT8C||(b.UINT8C=y([32,0])),b.BUFFER||(b.BUFFER=y([32,0]));var _=b.DATA,w=b.BUFFER;r.free=function(t){if(n.isBuffer(t))w[v.log2(t.length)].push(t);else{if(&quot;[object ArrayBuffer]&quot;!==Object.prototype.toString.call(t)&amp;&amp;(t=t.buffer),!t)return;var e=t.length||t.byteLength,r=0|v.log2(e);_[r].push(t)}},r.freeUint8=r.freeUint16=r.freeUint32=r.freeInt8=r.freeInt16=r.freeInt32=r.freeFloat32=r.freeFloat=r.freeFloat64=r.freeDouble=r.freeUint8Clamped=r.freeDataView=function(t){i(t.buffer)},r.freeArrayBuffer=i,r.freeBuffer=function(t){w[v.log2(t.length)].push(t)},r.malloc=function(t,e){if(void 0===e||&quot;arraybuffer&quot;===e)return a(t);switch(e){case&quot;uint8&quot;:return o(t);case&quot;uint16&quot;:return s(t);case&quot;uint32&quot;:return l(t);case&quot;int8&quot;:return c(t);case&quot;int16&quot;:return u(t);case&quot;int32&quot;:return f(t);case&quot;float&quot;:case&quot;float32&quot;:return h(t);case&quot;double&quot;:case&quot;float64&quot;:return d(t);case&quot;uint8_clamped&quot;:return p(t);case&quot;buffer&quot;:return g(t);case&quot;data&quot;:case&quot;dataview&quot;:return m(t);default:return null}return null},r.mallocArrayBuffer=a,r.mallocUint8=o,r.mallocUint16=s,r.mallocUint32=l,r.mallocInt8=c,r.mallocInt16=u,r.mallocInt32=f,r.mallocFloat32=r.mallocFloat=h,r.mallocFloat64=r.mallocDouble=d,r.mallocUint8Clamped=p,r.mallocDataView=m,r.mallocBuffer=g,r.clearCache=function(){for(var t=0;t&lt;32;++t)b.UINT8[t].length=0,b.UINT16[t].length=0,b.UINT32[t].length=0,b.INT8[t].length=0,b.INT16[t].length=0,b.INT32[t].length=0,b.FLOAT[t].length=0,b.DOUBLE[t].length=0,b.UINT8C[t].length=0,_[t].length=0,w[t].length=0}}).call(this,&quot;undefined&quot;!=typeof global?global:&quot;undefined&quot;!=typeof self?self:&quot;undefined&quot;!=typeof window?window:{},t(&quot;buffer&quot;).Buffer)},{&quot;bit-twiddle&quot;:71,buffer:82,dup:134}],555:[function(t,e,r){&quot;use strict&quot;;&quot;use restrict&quot;;function n(t){this.roots=new Array(t),this.ranks=new Array(t);for(var e=0;e&lt;t;++e)this.roots[e]=e,this.ranks[e]=0}e.exports=n;var i=n.prototype;Object.defineProperty(i,&quot;length&quot;,{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&lt;s?a[r]=n:s&lt;o?a[n]=r:(a[n]=r,++i[r])}}},{}],556:[function(t,e,r){&quot;use strict&quot;;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&lt;n;++o)if(a=i,i=t[o],e(i,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&lt;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))}},{}],557:[function(t,e,r){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}e.exports=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){void 0===e&amp;&amp;(e=1e-6);var r,n,i,a,o;for(i=t,o=0;o&lt;8;o++){if(a=this.sampleCurveX(i)-t,Math.abs(a)&lt;e)return i;var s=this.sampleCurveDerivativeX(i);if(Math.abs(s)&lt;1e-6)break;i-=a/s}if(r=0,n=1,(i=t)&lt;r)return r;if(i&gt;n)return n;for(;r&lt;n;){if(a=this.sampleCurveX(i),Math.abs(a-t)&lt;e)return i;t&gt;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))}},{}],558:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t,e,r){Array.isArray(r)||(r=[].slice.call(arguments,2));for(var n=0,i=r.length;n&lt;i;n++){var a=r[n];for(var o in a)if((void 0===e[o]||Array.isArray(e[o])||t[o]!==e[o])&amp;&amp;o in e){var s;if(!0===a[o])s=e[o];else{if(!1===a[o])continue;if(&quot;function&quot;==typeof a[o]&amp;&amp;void 0===(s=a[o](e[o],t,e)))continue}t[o]=s}}return t}},{}],559:[function(t,e,r){&quot;use strict&quot;;function n(){this.protocol=null,this.slashes=null,this.auth=null,this.host=null,this.port=null,this.hostname=null,this.hash=null,this.search=null,this.query=null,this.pathname=null,this.path=null,this.href=null}function i(t,e,r){if(t&amp;&amp;o.isObject(t)&amp;&amp;t instanceof n)return t;var i=new n;return i.parse(t,e,r),i}var a=t(&quot;punycode&quot;),o=t(&quot;./util&quot;);r.parse=i,r.resolve=function(t,e){return i(t,!1,!0).resolve(e)},r.resolveObject=function(t,e){return t?i(t,!1,!0).resolveObject(e):e},r.format=function(t){return o.isString(t)&amp;&amp;(t=i(t)),t instanceof n?t.format():n.prototype.format.call(t)},r.Url=n;var s=/^([a-z0-9.+-]+:)/i,l=/:[0-9]*$/,c=/^(\/\/?(?!\/)[^\?\s]*)(\?[^\s]*)?$/,u=[&quot;{&quot;,&quot;}&quot;,&quot;|&quot;,&quot;\\&quot;,&quot;^&quot;,&quot;`&quot;].concat([&quot;&lt;&quot;,&quot;&gt;&quot;,'&quot;',&quot;`&quot;,&quot; &quot;,&quot;\r&quot;,&quot;\n&quot;,&quot;\t&quot;]),f=[&quot;'&quot;].concat(u),h=[&quot;%&quot;,&quot;/&quot;,&quot;?&quot;,&quot;;&quot;,&quot;#&quot;].concat(f),d=[&quot;/&quot;,&quot;?&quot;,&quot;#&quot;],p=/^[+a-z0-9A-Z_-]{0,63}$/,m=/^([+a-z0-9A-Z_-]{0,63})(.*)$/,g={javascript:!0,&quot;javascript:&quot;:!0},v={javascript:!0,&quot;javascript:&quot;:!0},y={http:!0,https:!0,ftp:!0,gopher:!0,file:!0,&quot;http:&quot;:!0,&quot;https:&quot;:!0,&quot;ftp:&quot;:!0,&quot;gopher:&quot;:!0,&quot;file:&quot;:!0},x=t(&quot;querystring&quot;);n.prototype.parse=function(t,e,r){if(!o.isString(t))throw new TypeError(&quot;Parameter 'url' must be a string, not &quot;+typeof t);var n=t.indexOf(&quot;?&quot;),i=-1!==n&amp;&amp;n&lt;t.indexOf(&quot;#&quot;)?&quot;?&quot;:&quot;#&quot;,l=t.split(i);l[0]=l[0].replace(/\\/g,&quot;/&quot;);var u=t=l.join(i);if(u=u.trim(),!r&amp;&amp;1===t.split(&quot;#&quot;).length){var b=c.exec(u);if(b)return this.path=u,this.href=u,this.pathname=b[1],b[2]?(this.search=b[2],this.query=e?x.parse(this.search.substr(1)):this.search.substr(1)):e&amp;&amp;(this.search=&quot;&quot;,this.query={}),this}var _=s.exec(u);if(_){var w=(_=_[0]).toLowerCase();this.protocol=w,u=u.substr(_.length)}if(r||_||u.match(/^\/\/[^@\/]+@[^@\/]+/)){var M=&quot;//&quot;===u.substr(0,2);!M||_&amp;&amp;v[_]||(u=u.substr(2),this.slashes=!0)}if(!v[_]&amp;&amp;(M||_&amp;&amp;!y[_])){for(var k=-1,A=0;A&lt;d.length;A++){-1!==(E=u.indexOf(d[A]))&amp;&amp;(-1===k||E&lt;k)&amp;&amp;(k=E)}var T,S;-1!==(S=-1===k?u.lastIndexOf(&quot;@&quot;):u.lastIndexOf(&quot;@&quot;,k))&amp;&amp;(T=u.slice(0,S),u=u.slice(S+1),this.auth=decodeURIComponent(T)),k=-1;for(A=0;A&lt;h.length;A++){var E;-1!==(E=u.indexOf(h[A]))&amp;&amp;(-1===k||E&lt;k)&amp;&amp;(k=E)}-1===k&amp;&amp;(k=u.length),this.host=u.slice(0,k),u=u.slice(k),this.parseHost(),this.hostname=this.hostname||&quot;&quot;;var L=&quot;[&quot;===this.hostname[0]&amp;&amp;&quot;]&quot;===this.hostname[this.hostname.length-1];if(!L)for(var C=this.hostname.split(/\./),z=(A=0,C.length);A&lt;z;A++){var D=C[A];if(D&amp;&amp;!D.match(p)){for(var I=&quot;&quot;,P=0,O=D.length;P&lt;O;P++)D.charCodeAt(P)&gt;127?I+=&quot;x&quot;:I+=D[P];if(!I.match(p)){var F=C.slice(0,A),R=C.slice(A+1),N=D.match(m);N&amp;&amp;(F.push(N[1]),R.unshift(N[2])),R.length&amp;&amp;(u=&quot;/&quot;+R.join(&quot;.&quot;)+u),this.hostname=F.join(&quot;.&quot;);break}}}this.hostname.length&gt;255?this.hostname=&quot;&quot;:this.hostname=this.hostname.toLowerCase(),L||(this.hostname=a.toASCII(this.hostname));var j=this.port?&quot;:&quot;+this.port:&quot;&quot;,B=this.hostname||&quot;&quot;;this.host=B+j,this.href+=this.host,L&amp;&amp;(this.hostname=this.hostname.substr(1,this.hostname.length-2),&quot;/&quot;!==u[0]&amp;&amp;(u=&quot;/&quot;+u))}if(!g[w])for(A=0,z=f.length;A&lt;z;A++){var U=f[A];if(-1!==u.indexOf(U)){var V=encodeURIComponent(U);V===U&amp;&amp;(V=escape(U)),u=u.split(U).join(V)}}var q=u.indexOf(&quot;#&quot;);-1!==q&amp;&amp;(this.hash=u.substr(q),u=u.slice(0,q));var H=u.indexOf(&quot;?&quot;);if(-1!==H?(this.search=u.substr(H),this.query=u.substr(H+1),e&amp;&amp;(this.query=x.parse(this.query)),u=u.slice(0,H)):e&amp;&amp;(this.search=&quot;&quot;,this.query={}),u&amp;&amp;(this.pathname=u),y[w]&amp;&amp;this.hostname&amp;&amp;!this.pathname&amp;&amp;(this.pathname=&quot;/&quot;),this.pathname||this.search){j=this.pathname||&quot;&quot;;var G=this.search||&quot;&quot;;this.path=j+G}return this.href=this.format(),this},n.prototype.format=function(){var t=this.auth||&quot;&quot;;t&amp;&amp;(t=(t=encodeURIComponent(t)).replace(/%3A/i,&quot;:&quot;),t+=&quot;@&quot;);var e=this.protocol||&quot;&quot;,r=this.pathname||&quot;&quot;,n=this.hash||&quot;&quot;,i=!1,a=&quot;&quot;;this.host?i=t+this.host:this.hostname&amp;&amp;(i=t+(-1===this.hostname.indexOf(&quot;:&quot;)?this.hostname:&quot;[&quot;+this.hostname+&quot;]&quot;),this.port&amp;&amp;(i+=&quot;:&quot;+this.port)),this.query&amp;&amp;o.isObject(this.query)&amp;&amp;Object.keys(this.query).length&amp;&amp;(a=x.stringify(this.query));var s=this.search||a&amp;&amp;&quot;?&quot;+a||&quot;&quot;;return e&amp;&amp;&quot;:&quot;!==e.substr(-1)&amp;&amp;(e+=&quot;:&quot;),this.slashes||(!e||y[e])&amp;&amp;!1!==i?(i=&quot;//&quot;+(i||&quot;&quot;),r&amp;&amp;&quot;/&quot;!==r.charAt(0)&amp;&amp;(r=&quot;/&quot;+r)):i||(i=&quot;&quot;),n&amp;&amp;&quot;#&quot;!==n.charAt(0)&amp;&amp;(n=&quot;#&quot;+n),s&amp;&amp;&quot;?&quot;!==s.charAt(0)&amp;&amp;(s=&quot;?&quot;+s),r=r.replace(/[?#]/g,function(t){return encodeURIComponent(t)}),s=s.replace(&quot;#&quot;,&quot;%23&quot;),e+i+r+s+n},n.prototype.resolve=function(t){return this.resolveObject(i(t,!1,!0)).format()},n.prototype.resolveObject=function(t){if(o.isString(t)){var e=new n;e.parse(t,!1,!0),t=e}for(var r=new n,i=Object.keys(this),a=0;a&lt;i.length;a++){var s=i[a];r[s]=this[s]}if(r.hash=t.hash,&quot;&quot;===t.href)return r.href=r.format(),r;if(t.slashes&amp;&amp;!t.protocol){for(var l=Object.keys(t),c=0;c&lt;l.length;c++){var u=l[c];&quot;protocol&quot;!==u&amp;&amp;(r[u]=t[u])}return y[r.protocol]&amp;&amp;r.hostname&amp;&amp;!r.pathname&amp;&amp;(r.path=r.pathname=&quot;/&quot;),r.href=r.format(),r}if(t.protocol&amp;&amp;t.protocol!==r.protocol){if(!y[t.protocol]){for(var f=Object.keys(t),h=0;h&lt;f.length;h++){var d=f[h];r[d]=t[d]}return r.href=r.format(),r}if(r.protocol=t.protocol,t.host||v[t.protocol])r.pathname=t.pathname;else{for(var p=(t.pathname||&quot;&quot;).split(&quot;/&quot;);p.length&amp;&amp;!(t.host=p.shift()););t.host||(t.host=&quot;&quot;),t.hostname||(t.hostname=&quot;&quot;),&quot;&quot;!==p[0]&amp;&amp;p.unshift(&quot;&quot;),p.length&lt;2&amp;&amp;p.unshift(&quot;&quot;),r.pathname=p.join(&quot;/&quot;)}if(r.search=t.search,r.query=t.query,r.host=t.host||&quot;&quot;,r.auth=t.auth,r.hostname=t.hostname||t.host,r.port=t.port,r.pathname||r.search){var m=r.pathname||&quot;&quot;,g=r.search||&quot;&quot;;r.path=m+g}return r.slashes=r.slashes||t.slashes,r.href=r.format(),r}var x=r.pathname&amp;&amp;&quot;/&quot;===r.pathname.charAt(0),b=t.host||t.pathname&amp;&amp;&quot;/&quot;===t.pathname.charAt(0),_=b||x||r.host&amp;&amp;t.pathname,w=_,M=r.pathname&amp;&amp;r.pathname.split(&quot;/&quot;)||[],k=(p=t.pathname&amp;&amp;t.pathname.split(&quot;/&quot;)||[],r.protocol&amp;&amp;!y[r.protocol]);if(k&amp;&amp;(r.hostname=&quot;&quot;,r.port=null,r.host&amp;&amp;(&quot;&quot;===M[0]?M[0]=r.host:M.unshift(r.host)),r.host=&quot;&quot;,t.protocol&amp;&amp;(t.hostname=null,t.port=null,t.host&amp;&amp;(&quot;&quot;===p[0]?p[0]=t.host:p.unshift(t.host)),t.host=null),_=_&amp;&amp;(&quot;&quot;===p[0]||&quot;&quot;===M[0])),b)r.host=t.host||&quot;&quot;===t.host?t.host:r.host,r.hostname=t.hostname||&quot;&quot;===t.hostname?t.hostname:r.hostname,r.search=t.search,r.query=t.query,M=p;else if(p.length)M||(M=[]),M.pop(),M=M.concat(p),r.search=t.search,r.query=t.query;else if(!o.isNullOrUndefined(t.search)){if(k){r.hostname=r.host=M.shift();(C=!!(r.host&amp;&amp;r.host.indexOf(&quot;@&quot;)&gt;0)&amp;&amp;r.host.split(&quot;@&quot;))&amp;&amp;(r.auth=C.shift(),r.host=r.hostname=C.shift())}return r.search=t.search,r.query=t.query,o.isNull(r.pathname)&amp;&amp;o.isNull(r.search)||(r.path=(r.pathname?r.pathname:&quot;&quot;)+(r.search?r.search:&quot;&quot;)),r.href=r.format(),r}if(!M.length)return r.pathname=null,r.search?r.path=&quot;/&quot;+r.search:r.path=null,r.href=r.format(),r;for(var A=M.slice(-1)[0],T=(r.host||t.host||M.length&gt;1)&amp;&amp;(&quot;.&quot;===A||&quot;..&quot;===A)||&quot;&quot;===A,S=0,E=M.length;E&gt;=0;E--)&quot;.&quot;===(A=M[E])?M.splice(E,1):&quot;..&quot;===A?(M.splice(E,1),S++):S&amp;&amp;(M.splice(E,1),S--);if(!_&amp;&amp;!w)for(;S--;S)M.unshift(&quot;..&quot;);!_||&quot;&quot;===M[0]||M[0]&amp;&amp;&quot;/&quot;===M[0].charAt(0)||M.unshift(&quot;&quot;),T&amp;&amp;&quot;/&quot;!==M.join(&quot;/&quot;).substr(-1)&amp;&amp;M.push(&quot;&quot;);var L=&quot;&quot;===M[0]||M[0]&amp;&amp;&quot;/&quot;===M[0].charAt(0);if(k){r.hostname=r.host=L?&quot;&quot;:M.length?M.shift():&quot;&quot;;var C;(C=!!(r.host&amp;&amp;r.host.indexOf(&quot;@&quot;)&gt;0)&amp;&amp;r.host.split(&quot;@&quot;))&amp;&amp;(r.auth=C.shift(),r.host=r.hostname=C.shift())}return(_=_||r.host&amp;&amp;M.length)&amp;&amp;!L&amp;&amp;M.unshift(&quot;&quot;),M.length?r.pathname=M.join(&quot;/&quot;):(r.pathname=null,r.path=null),o.isNull(r.pathname)&amp;&amp;o.isNull(r.search)||(r.path=(r.pathname?r.pathname:&quot;&quot;)+(r.search?r.search:&quot;&quot;)),r.auth=t.auth||r.auth,r.slashes=r.slashes||t.slashes,r.href=r.format(),r},n.prototype.parseHost=function(){var t=this.host,e=l.exec(t);e&amp;&amp;(&quot;:&quot;!==(e=e[0])&amp;&amp;(this.port=e.substr(1)),t=t.substr(0,t.length-e.length)),t&amp;&amp;(this.hostname=t)}},{&quot;./util&quot;:560,punycode:489,querystring:493}],560:[function(t,e,r){&quot;use strict&quot;;e.exports={isString:function(t){return&quot;string&quot;==typeof t},isObject:function(t){return&quot;object&quot;==typeof t&amp;&amp;null!==t},isNull:function(t){return null===t},isNullOrUndefined:function(t){return null==t}}},{}],561:[function(t,e,r){&quot;function&quot;==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}},{}],562:[function(t,e,r){e.exports=function(t){return t&amp;&amp;&quot;object&quot;==typeof t&amp;&amp;&quot;function&quot;==typeof t.copy&amp;&amp;&quot;function&quot;==typeof t.fill&amp;&amp;&quot;function&quot;==typeof t.readUInt8}},{}],563:[function(t,e,r){(function(e,n){function i(t,e){var n={seen:[],stylize:o};return arguments.length&gt;=3&amp;&amp;(n.depth=arguments[2]),arguments.length&gt;=4&amp;&amp;(n.colors=arguments[3]),f(e)?n.showHidden=e:e&amp;&amp;r._extend(n,e),m(n.showHidden)&amp;&amp;(n.showHidden=!1),m(n.depth)&amp;&amp;(n.depth=2),m(n.colors)&amp;&amp;(n.colors=!1),m(n.customInspect)&amp;&amp;(n.customInspect=!0),n.colors&amp;&amp;(n.stylize=a),s(n,t,n.depth)}function a(t,e){var r=i.styles[e];return r?&quot;\x1b[&quot;+i.colors[r][0]+&quot;m&quot;+t+&quot;\x1b[&quot;+i.colors[r][1]+&quot;m&quot;:t}function o(t,e){return t}function s(t,e,n){if(t.customInspect&amp;&amp;e&amp;&amp;b(e.inspect)&amp;&amp;e.inspect!==r.inspect&amp;&amp;(!e.constructor||e.constructor.prototype!==e)){var i=e.inspect(n,t);return p(i)||(i=s(t,i,n)),i}var a=function(t,e){if(m(e))return t.stylize(&quot;undefined&quot;,&quot;undefined&quot;);if(p(e)){var r=&quot;'&quot;+JSON.stringify(e).replace(/^&quot;|&quot;$/g,&quot;&quot;).replace(/'/g,&quot;\\'&quot;).replace(/\\&quot;/g,'&quot;')+&quot;'&quot;;return t.stylize(r,&quot;string&quot;)}if(d(e))return t.stylize(&quot;&quot;+e,&quot;number&quot;);if(f(e))return t.stylize(&quot;&quot;+e,&quot;boolean&quot;);if(h(e))return t.stylize(&quot;null&quot;,&quot;null&quot;)}(t,e);if(a)return a;var o=Object.keys(e),v=function(t){var e={};return t.forEach(function(t,r){e[t]=!0}),e}(o);if(t.showHidden&amp;&amp;(o=Object.getOwnPropertyNames(e)),x(e)&amp;&amp;(o.indexOf(&quot;message&quot;)&gt;=0||o.indexOf(&quot;description&quot;)&gt;=0))return l(e);if(0===o.length){if(b(e)){var _=e.name?&quot;: &quot;+e.name:&quot;&quot;;return t.stylize(&quot;[Function&quot;+_+&quot;]&quot;,&quot;special&quot;)}if(g(e))return t.stylize(RegExp.prototype.toString.call(e),&quot;regexp&quot;);if(y(e))return t.stylize(Date.prototype.toString.call(e),&quot;date&quot;);if(x(e))return l(e)}var w=&quot;&quot;,k=!1,A=[&quot;{&quot;,&quot;}&quot;];if(u(e)&amp;&amp;(k=!0,A=[&quot;[&quot;,&quot;]&quot;]),b(e)){w=&quot; [Function&quot;+(e.name?&quot;: &quot;+e.name:&quot;&quot;)+&quot;]&quot;}if(g(e)&amp;&amp;(w=&quot; &quot;+RegExp.prototype.toString.call(e)),y(e)&amp;&amp;(w=&quot; &quot;+Date.prototype.toUTCString.call(e)),x(e)&amp;&amp;(w=&quot; &quot;+l(e)),0===o.length&amp;&amp;(!k||0==e.length))return A[0]+w+A[1];if(n&lt;0)return g(e)?t.stylize(RegExp.prototype.toString.call(e),&quot;regexp&quot;):t.stylize(&quot;[Object]&quot;,&quot;special&quot;);t.seen.push(e);var T;return T=k?function(t,e,r,n,i){for(var a=[],o=0,s=e.length;o&lt;s;++o)M(e,String(o))?a.push(c(t,e,r,n,String(o),!0)):a.push(&quot;&quot;);return i.forEach(function(i){i.match(/^\d+$/)||a.push(c(t,e,r,n,i,!0))}),a}(t,e,n,v,o):o.map(function(r){return c(t,e,n,v,r,k)}),t.seen.pop(),function(t,e,r){var n=0;if(t.reduce(function(t,e){return n++,e.indexOf(&quot;\n&quot;)&gt;=0&amp;&amp;n++,t+e.replace(/\u001b\[\d\d?m/g,&quot;&quot;).length+1},0)&gt;60)return r[0]+(&quot;&quot;===e?&quot;&quot;:e+&quot;\n &quot;)+&quot; &quot;+t.join(&quot;,\n  &quot;)+&quot; &quot;+r[1];return r[0]+e+&quot; &quot;+t.join(&quot;, &quot;)+&quot; &quot;+r[1]}(T,w,A)}function l(t){return&quot;[&quot;+Error.prototype.toString.call(t)+&quot;]&quot;}function c(t,e,r,n,i,a){var o,l,c;if((c=Object.getOwnPropertyDescriptor(e,i)||{value:e[i]}).get?l=c.set?t.stylize(&quot;[Getter/Setter]&quot;,&quot;special&quot;):t.stylize(&quot;[Getter]&quot;,&quot;special&quot;):c.set&amp;&amp;(l=t.stylize(&quot;[Setter]&quot;,&quot;special&quot;)),M(n,i)||(o=&quot;[&quot;+i+&quot;]&quot;),l||(t.seen.indexOf(c.value)&lt;0?(l=h(r)?s(t,c.value,null):s(t,c.value,r-1)).indexOf(&quot;\n&quot;)&gt;-1&amp;&amp;(l=a?l.split(&quot;\n&quot;).map(function(t){return&quot;  &quot;+t}).join(&quot;\n&quot;).substr(2):&quot;\n&quot;+l.split(&quot;\n&quot;).map(function(t){return&quot;   &quot;+t}).join(&quot;\n&quot;)):l=t.stylize(&quot;[Circular]&quot;,&quot;special&quot;)),m(o)){if(a&amp;&amp;i.match(/^\d+$/))return l;(o=JSON.stringify(&quot;&quot;+i)).match(/^&quot;([a-zA-Z_][a-zA-Z_0-9]*)&quot;$/)?(o=o.substr(1,o.length-2),o=t.stylize(o,&quot;name&quot;)):(o=o.replace(/'/g,&quot;\\'&quot;).replace(/\\&quot;/g,'&quot;').replace(/(^&quot;|&quot;$)/g,&quot;'&quot;),o=t.stylize(o,&quot;string&quot;))}return o+&quot;: &quot;+l}function u(t){return Array.isArray(t)}function f(t){return&quot;boolean&quot;==typeof t}function h(t){return null===t}function d(t){return&quot;number&quot;==typeof t}function p(t){return&quot;string&quot;==typeof t}function m(t){return void 0===t}function g(t){return v(t)&amp;&amp;&quot;[object RegExp]&quot;===_(t)}function v(t){return&quot;object&quot;==typeof t&amp;&amp;null!==t}function y(t){return v(t)&amp;&amp;&quot;[object Date]&quot;===_(t)}function x(t){return v(t)&amp;&amp;(&quot;[object Error]&quot;===_(t)||t instanceof Error)}function b(t){return&quot;function&quot;==typeof t}function _(t){return Object.prototype.toString.call(t)}function w(t){return t&lt;10?&quot;0&quot;+t.toString(10):t.toString(10)}function M(t,e){return Object.prototype.hasOwnProperty.call(t,e)}var k=/%[sdj%]/g;r.format=function(t){if(!p(t)){for(var e=[],r=0;r&lt;arguments.length;r++)e.push(i(arguments[r]));return e.join(&quot; &quot;)}r=1;for(var n=arguments,a=n.length,o=String(t).replace(k,function(t){if(&quot;%%&quot;===t)return&quot;%&quot;;if(r&gt;=a)return t;switch(t){case&quot;%s&quot;:return String(n[r++]);case&quot;%d&quot;:return Number(n[r++]);case&quot;%j&quot;:try{return JSON.stringify(n[r++])}catch(t){return&quot;[Circular]&quot;}default:return t}}),s=n[r];r&lt;a;s=n[++r])h(s)||!v(s)?o+=&quot; &quot;+s:o+=&quot; &quot;+i(s);return o},r.deprecate=function(t,i){if(m(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,T={};r.debuglog=function(t){if(m(A)&amp;&amp;(A=e.env.NODE_DEBUG||&quot;&quot;),t=t.toUpperCase(),!T[t])if(new RegExp(&quot;\\b&quot;+t+&quot;\\b&quot;,&quot;i&quot;).test(A)){var n=e.pid;T[t]=function(){var e=r.format.apply(r,arguments);console.error(&quot;%s %d: %s&quot;,t,n,e)}}else T[t]=function(){};return T[t]},r.inspect=i,i.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]},i.styles={special:&quot;cyan&quot;,number:&quot;yellow&quot;,boolean:&quot;yellow&quot;,undefined:&quot;grey&quot;,null:&quot;bold&quot;,string:&quot;green&quot;,date:&quot;magenta&quot;,regexp:&quot;red&quot;},r.isArray=u,r.isBoolean=f,r.isNull=h,r.isNullOrUndefined=function(t){return null==t},r.isNumber=d,r.isString=p,r.isSymbol=function(t){return&quot;symbol&quot;==typeof t},r.isUndefined=m,r.isRegExp=g,r.isObject=v,r.isDate=y,r.isError=x,r.isFunction=b,r.isPrimitive=function(t){return null===t||&quot;boolean&quot;==typeof t||&quot;number&quot;==typeof t||&quot;string&quot;==typeof t||&quot;symbol&quot;==typeof t||void 0===t},r.isBuffer=t(&quot;./support/isBuffer&quot;);var S=[&quot;Jan&quot;,&quot;Feb&quot;,&quot;Mar&quot;,&quot;Apr&quot;,&quot;May&quot;,&quot;Jun&quot;,&quot;Jul&quot;,&quot;Aug&quot;,&quot;Sep&quot;,&quot;Oct&quot;,&quot;Nov&quot;,&quot;Dec&quot;];r.log=function(){console.log(&quot;%s - %s&quot;,function(){var t=new Date,e=[w(t.getHours()),w(t.getMinutes()),w(t.getSeconds())].join(&quot;:&quot;);return[t.getDate(),S[t.getMonth()],e].join(&quot; &quot;)}(),r.format.apply(r,arguments))},r.inherits=t(&quot;inherits&quot;),r._extend=function(t,e){if(!e||!v(e))return t;for(var r=Object.keys(e),n=r.length;n--;)t[r[n]]=e[r[n]];return t}}).call(this,t(&quot;_process&quot;),&quot;undefined&quot;!=typeof global?global:&quot;undefined&quot;!=typeof self?self:&quot;undefined&quot;!=typeof window?window:{})},{&quot;./support/isBuffer&quot;:562,_process:488,inherits:561}],564:[function(t,e,r){e.exports.VectorTile=t(&quot;./lib/vectortile.js&quot;),e.exports.VectorTileFeature=t(&quot;./lib/vectortilefeature.js&quot;),e.exports.VectorTileLayer=t(&quot;./lib/vectortilelayer.js&quot;)},{&quot;./lib/vectortile.js&quot;:565,&quot;./lib/vectortilefeature.js&quot;:566,&quot;./lib/vectortilelayer.js&quot;:567}],565:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r){if(3===t){var n=new i(r,r.readVarint()+r.pos);n.length&amp;&amp;(e[n.name]=n)}}var i=t(&quot;./vectortilelayer&quot;);e.exports=function(t,e){this.layers=t.readFields(n,{},e)}},{&quot;./vectortilelayer&quot;:567}],566:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,n,a){this.properties={},this.extent=r,this.type=0,this._pbf=t,this._geometry=-1,this._keys=n,this._values=a,t.readFields(i,this,e)}function i(t,e,r){1==t?e.id=r.readVarint():2==t?function(t,e){var r=t.readVarint()+t.pos;for(;t.pos&lt;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&amp;&amp;(e._geometry=r.pos)}var a=t(&quot;point-geometry&quot;);e.exports=n,n.types=[&quot;Unknown&quot;,&quot;Point&quot;,&quot;LineString&quot;,&quot;Polygon&quot;],n.prototype.loadGeometry=function(){var t=this._pbf;t.pos=this._geometry;for(var e,r=t.readVarint()+t.pos,n=1,i=0,o=0,s=0,l=[];t.pos&lt;r;){if(!i){var c=t.readVarint();n=7&amp;c,i=c&gt;&gt;3}if(i--,1===n||2===n)o+=t.readSVarint(),s+=t.readSVarint(),1===n&amp;&amp;(e&amp;&amp;l.push(e),e=[]),e.push(new a(o,s));else{if(7!==n)throw new Error(&quot;unknown command &quot;+n);e&amp;&amp;e.push(e[0].clone())}}return e&amp;&amp;l.push(e),l},n.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&lt;e;){if(!n){var u=t.readVarint();r=7&amp;u,n=u&gt;&gt;3}if(n--,1===r||2===r)i+=t.readSVarint(),a+=t.readSVarint(),i&lt;o&amp;&amp;(o=i),i&gt;s&amp;&amp;(s=i),a&lt;l&amp;&amp;(l=a),a&gt;c&amp;&amp;(c=a);else if(7!==r)throw new Error(&quot;unknown command &quot;+r)}return[o,l,s,c]},n.prototype.toGeoJSON=function(t,e,r){function i(t){for(var e=0;e&lt;t.length;e++){var r=t[e],n=180-360*(r.y+c)/s;t[e]=[360*(r.x+l)/s-180,360/Math.PI*Math.atan(Math.exp(n*Math.PI/180))-90]}}var a,o,s=this.extent*Math.pow(2,r),l=this.extent*t,c=this.extent*e,u=this.loadGeometry(),f=n.types[this.type];switch(this.type){case 1:var h=[];for(a=0;a&lt;u.length;a++)h[a]=u[a][0];i(u=h);break;case 2:for(a=0;a&lt;u.length;a++)i(u[a]);break;case 3:for(u=function(t){var e=t.length;if(e&lt;=1)return[t];for(var r,n,i=[],a=0;a&lt;e;a++){var o=function(t){for(var e,r,n=0,i=0,a=t.length,o=a-1;i&lt;a;o=i++)e=t[i],r=t[o],n+=(r.x-e.x)*(e.y+r.y);return n}(t[a]);0!==o&amp;&amp;(void 0===n&amp;&amp;(n=o&lt;0),n===o&lt;0?(r&amp;&amp;i.push(r),r=[t[a]]):r.push(t[a]))}return r&amp;&amp;i.push(r),i}(u),a=0;a&lt;u.length;a++)for(o=0;o&lt;u[a].length;o++)i(u[a][o])}1===u.length?u=u[0]:f=&quot;Multi&quot;+f;var d={type:&quot;Feature&quot;,geometry:{type:f,coordinates:u},properties:this.properties};return&quot;id&quot;in this&amp;&amp;(d.id=this.id),d}},{&quot;point-geometry&quot;:477}],567:[function(t,e,r){&quot;use strict&quot;;function n(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(i,this,e),this.length=this._features.length}function i(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&amp;&amp;e._values.push(function(t){var e=null,r=t.readVarint()+t.pos;for(;t.pos&lt;r;){var n=t.readVarint()&gt;&gt;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))}var a=t(&quot;./vectortilefeature.js&quot;);e.exports=n,n.prototype.feature=function(t){if(t&lt;0||t&gt;=this._features.length)throw new Error(&quot;feature index out of bounds&quot;);this._pbf.pos=this._features[t];var e=this._pbf.readVarint()+this._pbf.pos;return new a(this._pbf,e,this.extent,this._keys,this._values)}},{&quot;./vectortilefeature.js&quot;:566}],568:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t,e){return&quot;object&quot;==typeof e&amp;&amp;null!==e||(e={}),n(t,e.canvas||i,e.context||a,e)};var n=t(&quot;./lib/vtext&quot;),i=null,a=null;&quot;undefined&quot;!=typeof document&amp;&amp;((i=document.createElement(&quot;canvas&quot;)).width=8192,i.height=1024,a=i.getContext(&quot;2d&quot;))},{&quot;./lib/vtext&quot;:569}],569:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,n){var i=function(t,e){var r=a(t,128);return e?s(r.cells,r.positions,.25):{edges:r.cells,positions:r.positions}}(t,n),o=function(t,e,r){for(var n=e.textAlign||&quot;start&quot;,i=e.textBaseline||&quot;alphabetic&quot;,a=[1&lt;&lt;30,1&lt;&lt;30],o=[0,0],s=t.length,l=0;l&lt;s;++l)for(var c=t[l],u=0;u&lt;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&quot;center&quot;:f=-.5*(a[0]+o[0]);break;case&quot;right&quot;:case&quot;end&quot;:f=-o[0];break;case&quot;left&quot;:case&quot;start&quot;:f=-a[0];break;default:throw new Error(&quot;vectorize-text: Unrecognized textAlign: '&quot;+n+&quot;'&quot;)}var h=0;switch(i){case&quot;hanging&quot;:case&quot;top&quot;:h=-a[1];break;case&quot;middle&quot;:h=-.5*(a[1]+o[1]);break;case&quot;alphabetic&quot;:case&quot;ideographic&quot;:h=-3*r;break;case&quot;bottom&quot;:h=-o[1];break;default:throw new Error(&quot;vectorize-text: Unrecoginized textBaseline: '&quot;+i+&quot;'&quot;)}var d=1/r;return&quot;lineHeight&quot;in e?d*=+e.lineHeight:&quot;width&quot;in e?d=e.width/(o[0]-a[0]):&quot;height&quot;in e&amp;&amp;(d=e.height/(o[1]-a[1])),t.map(function(t){return[d*(t[0]+f),d*(t[1]+h)]})}(i.positions,e,r),f=i.edges,h=&quot;ccw&quot;===e.orientation;if(l(o,f),e.polygons||e.polygon||e.polyline){for(var d=u(f,o),p=new Array(d.length),m=0;m&lt;d.length;++m){for(var g=d[m],v=new Array(g.length),y=0;y&lt;g.length;++y){for(var x=g[y],b=new Array(x.length),_=0;_&lt;x.length;++_)b[_]=o[x[_]].slice();h&amp;&amp;b.reverse(),v[y]=b}p[m]=v}return p}return e.triangles||e.triangulate||e.triangle?{cells:c(o,f,{delaunay:!1,exterior:!1,interior:!0}),positions:o}:{edges:f,positions:o}}function i(t,e,r){try{return n(t,e,r,!0)}catch(t){}try{return n(t,e,r,!1)}catch(t){}return e.polygons||e.polyline||e.polygon?[]:e.triangles||e.triangulate||e.triangle?{cells:[],positions:[]}:{edges:[],positions:[]}}e.exports=function(t,e,r,n){var a=n.size||64,s=n.font||&quot;normal&quot;;return r.font=a+&quot;px &quot;+s,r.textAlign=&quot;start&quot;,r.textBaseline=&quot;alphabetic&quot;,r.direction=&quot;ltr&quot;,i(function(t,e,r,n){var i=0|Math.ceil(e.measureText(r).width+2*n);if(i&gt;8192)throw new Error(&quot;vectorize-text: String too long (sorry, this will get fixed later)&quot;);var a=3*n;t.height&lt;a&amp;&amp;(t.height=a),e.fillStyle=&quot;#000&quot;,e.fillRect(0,0,t.width,t.height),e.fillStyle=&quot;#fff&quot;,e.fillText(r,n,2*n);var s=e.getImageData(0,0,i,a);return o(s.data,[a,i,4]).pick(-1,-1,0).transpose(1,0)}(e,r,t,a),n,a)},e.exports.processPixels=i;var a=t(&quot;surface-nets&quot;),o=t(&quot;ndarray&quot;),s=t(&quot;simplify-planar-graph&quot;),l=t(&quot;clean-pslg&quot;),c=t(&quot;cdt2d&quot;),u=t(&quot;planar-graph-to-polyline&quot;)},{cdt2d:84,&quot;clean-pslg&quot;:94,ndarray:458,&quot;planar-graph-to-polyline&quot;:476,&quot;simplify-planar-graph&quot;:530,&quot;surface-nets&quot;:540}],570:[function(t,e,r){function n(t){var e=[];for(var r in t.layers)e.push(function(t){for(var e={name:t.name||&quot;&quot;,version:t.version||1,extent:t.extent||4096,keys:[],values:[],features:[]},r={},n={},o=0;o&lt;t.length;o++){var s=t.feature(o);s.geometry=function(t){for(var e=[],r=0,n=0,o=t.length,s=0;s&lt;o;s++){var l=t[s];e.push(i(1,1));for(var c=0;c&lt;l.length;c++){1===c&amp;&amp;e.push(i(2,l.length-1));var u=l[c].x-r,f=l[c].y-n;e.push(a(u),a(f)),r+=u,n+=f}}return e}(s.loadGeometry());var l=[];for(var c in s.properties){var u=r[c];void 0===u&amp;&amp;(e.keys.push(c),u=e.keys.length-1,r[c]=u);var f=function(t){var e,r=typeof t;&quot;string&quot;===r?e={string_value:t}:&quot;boolean&quot;===r?e={bool_value:t}:&quot;number&quot;===r?e=t%1!=0?{double_value:t}:t&lt;0?{sint_value:t}:{uint_value:t}:(t=JSON.stringify(t),e={string_value:t});return e.key=r+&quot;:&quot;+t,e}(s.properties[c]),h=n[f.key];void 0===h&amp;&amp;(e.values.push(f),h=e.values.length-1,n[f.key]=h),l.push(u),l.push(h)}s.tags=l,e.features.push(s)}return e}(t.layers[r]));var n=new o;return s.tile.write({layers:e},n),n.finish()}function i(t,e){return(e&lt;&lt;3)+(7&amp;t)}function a(t){return t&lt;&lt;1^t&gt;&gt;31}var o=t(&quot;pbf&quot;),s=t(&quot;./vector-tile-pb&quot;),l=t(&quot;./lib/geojson_wrapper&quot;);e.exports=n,e.exports.fromVectorTileJs=n,e.exports.fromGeojsonVt=function(t){var e={};for(var r in t)e[r]=new l(t[r].features),e[r].name=r;return n({layers:e})},e.exports.GeoJSONWrapper=l},{&quot;./lib/geojson_wrapper&quot;:571,&quot;./vector-tile-pb&quot;:572,pbf:470}],571:[function(t,e,r){&quot;use strict&quot;;function n(t){this.features=t,this.length=t.length}function i(t){this.id=&quot;number&quot;==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=4096}var a=t(&quot;point-geometry&quot;),o=t(&quot;vector-tile&quot;).VectorTileFeature;e.exports=n,n.prototype.feature=function(t){return new i(this.features[t])},i.prototype.loadGeometry=function(){var t=this.rawGeometry;this.geometry=[];for(var e=0;e&lt;t.length;e++){for(var r=t[e],n=[],i=0;i&lt;r.length;i++)n.push(new a(r[i][0],r[i][1]));this.geometry.push(n)}return this.geometry},i.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&lt;t.length;a++)for(var o=t[a],s=0;s&lt;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]},i.prototype.toGeoJSON=o.prototype.toGeoJSON},{&quot;point-geometry&quot;:477,&quot;vector-tile&quot;:564}],572:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r){3===t&amp;&amp;e.layers.push(u(r,r.readVarint()+r.pos))}function i(t,e){return t.readFields(a,{},e)}function a(t,e,r){1===t?e.string_value=r.readString():2===t?e.float_value=r.readFloat():3===t?e.double_value=r.readDouble():4===t?e.int_value=r.readVarint():5===t?e.uint_value=r.readVarint():6===t?e.sint_value=r.readSVarint():7===t&amp;&amp;(e.bool_value=r.readBoolean())}function o(t,e){void 0!==t.string_value&amp;&amp;e.writeStringField(1,t.string_value),void 0!==t.float_value&amp;&amp;e.writeFloatField(2,t.float_value),void 0!==t.double_value&amp;&amp;e.writeDoubleField(3,t.double_value),void 0!==t.int_value&amp;&amp;e.writeVarintField(4,t.int_value),void 0!==t.uint_value&amp;&amp;e.writeVarintField(5,t.uint_value),void 0!==t.sint_value&amp;&amp;e.writeSVarintField(6,t.sint_value),void 0!==t.bool_value&amp;&amp;e.writeBooleanField(7,t.bool_value)}function s(t,e){var r=t.readFields(l,{},e);return void 0===r.type&amp;&amp;(r.type=&quot;Unknown&quot;),r}function l(t,e,r){1===t?e.id=r.readVarint():2===t?e.tags=r.readPackedVarint():3===t?e.type=r.readVarint():4===t&amp;&amp;(e.geometry=r.readPackedVarint())}function c(t,e){void 0!==t.id&amp;&amp;e.writeVarintField(1,t.id),void 0!==t.tags&amp;&amp;e.writePackedVarint(2,t.tags),void 0!==t.type&amp;&amp;e.writeVarintField(3,t.type),void 0!==t.geometry&amp;&amp;e.writePackedVarint(4,t.geometry)}function u(t,e){return t.readFields(f,{features:[],keys:[],values:[]},e)}function f(t,e,r){15===t?e.version=r.readVarint():1===t?e.name=r.readString():2===t?e.features.push(s(r,r.readVarint()+r.pos)):3===t?e.keys.push(r.readString()):4===t?e.values.push(i(r,r.readVarint()+r.pos)):5===t&amp;&amp;(e.extent=r.readVarint())}function h(t,e){void 0!==t.version&amp;&amp;e.writeVarintField(15,t.version),void 0!==t.name&amp;&amp;e.writeStringField(1,t.name);var r;if(void 0!==t.features)for(r=0;r&lt;t.features.length;r++)e.writeMessage(2,c,t.features[r]);if(void 0!==t.keys)for(r=0;r&lt;t.keys.length;r++)e.writeStringField(3,t.keys[r]);if(void 0!==t.values)for(r=0;r&lt;t.values.length;r++)e.writeMessage(4,o,t.values[r]);void 0!==t.extent&amp;&amp;e.writeVarintField(5,t.extent)}var d=r.tile={read:function(t,e){return t.readFields(n,{layers:[]},e)},write:function(t,e){var r;if(void 0!==t.layers)for(r=0;r&lt;t.layers.length;r++)e.writeMessage(3,h,t.layers[r])}};d.GeomType={Unknown:0,Point:1,LineString:2,Polygon:3},d.value={read:i,write:o},d.feature={read:s,write:c},d.layer={read:u,write:h}},{}],573:[function(t,e,r){!function(){&quot;use strict&quot;;function t(e){e.permitHostObjects___&amp;&amp;e.permitHostObjects___(t)}function r(t){return!(t.substr(0,d.length)==d&amp;&amp;&quot;___&quot;===t.substr(t.length-3))}function n(t){if(t!==Object(t))throw new TypeError(&quot;Not an object: &quot;+t);var e=t[p];if(e&amp;&amp;e.key===t)return e;if(h(t)){e={key:t};try{return f(t,p,{value:e,writable:!1,enumerable:!1,configurable:!1}),e}catch(t){return}}}function i(t){return t.prototype=null,Object.freeze(t)}function a(){y||&quot;undefined&quot;==typeof console||(y=!0,console.warn(&quot;WeakMap should be invoked as new WeakMap(), not WeakMap(). This will be an error in the future.&quot;))}if(&quot;undefined&quot;==typeof ses||!ses.ok||ses.ok()){&quot;undefined&quot;!=typeof ses&amp;&amp;(ses.weakMapPermitHostObjects=t);var o=!1;if(&quot;function&quot;==typeof WeakMap){var s=WeakMap;if(&quot;undefined&quot;!=typeof navigator&amp;&amp;/Firefox/.test(navigator.userAgent));else{var l=new s,c=Object.freeze({});if(l.set(c,1),1===l.get(c))return void(e.exports=WeakMap);o=!0}}Object.prototype.hasOwnProperty;var u=Object.getOwnPropertyNames,f=Object.defineProperty,h=Object.isExtensible,d=&quot;weakmap:&quot;,p=d+&quot;ident:&quot;+Math.random()+&quot;___&quot;;if(&quot;undefined&quot;!=typeof crypto&amp;&amp;&quot;function&quot;==typeof crypto.getRandomValues&amp;&amp;&quot;function&quot;==typeof ArrayBuffer&amp;&amp;&quot;function&quot;==typeof Uint8Array){var m=new ArrayBuffer(25),g=new Uint8Array(m);crypto.getRandomValues(g),p=d+&quot;rand:&quot;+Array.prototype.map.call(g,function(t){return(t%36).toString(36)}).join(&quot;&quot;)+&quot;___&quot;}if(f(Object,&quot;getOwnPropertyNames&quot;,{value:function(t){return u(t).filter(r)}}),&quot;getPropertyNames&quot;in Object){var v=Object.getPropertyNames;f(Object,&quot;getPropertyNames&quot;,{value:function(t){return v(t).filter(r)}})}!function(){var t=Object.freeze;f(Object,&quot;freeze&quot;,{value:function(e){return n(e),t(e)}});var e=Object.seal;f(Object,&quot;seal&quot;,{value:function(t){return n(t),e(t)}});var r=Object.preventExtensions;f(Object,&quot;preventExtensions&quot;,{value:function(t){return n(t),r(t)}})}();var y=!1,x=0,b=function(){this instanceof b||a();var t=[],e=[],r=x++;return Object.create(b.prototype,{get___:{value:i(function(i,a){var o,s=n(i);return s?r in s?s[r]:a:(o=t.indexOf(i))&gt;=0?e[o]:a})},has___:{value:i(function(e){var i=n(e);return i?r in i:t.indexOf(e)&gt;=0})},set___:{value:i(function(i,a){var o,s=n(i);return s?s[r]=a:(o=t.indexOf(i))&gt;=0?e[o]=a:(o=t.length,e[o]=a,t[o]=i),this})},delete___:{value:i(function(i){var a,o,s=n(i);return s?r in s&amp;&amp;delete s[r]:!((a=t.indexOf(i))&lt;0||(o=t.length-1,t[a]=void 0,e[a]=e[o],t[a]=t[o],t.length=o,e.length=o,0))})}})};b.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}}),&quot;function&quot;==typeof s?function(){function r(){this instanceof b||a();var e,r=new s,n=void 0,l=!1;return e=o?function(t,e){return r.set(t,e),r.has(t)||(n||(n=new b),n.set(t,e)),this}:function(t,e){if(l)try{r.set(t,e)}catch(r){n||(n=new b),n.set___(t,e)}else r.set(t,e);return this},Object.create(b.prototype,{get___:{value:i(function(t,e){return n?r.has(t)?r.get(t):n.get___(t,e):r.get(t,e)})},has___:{value:i(function(t){return r.has(t)||!!n&amp;&amp;n.has___(t)})},set___:{value:i(e)},delete___:{value:i(function(t){var e=!!r.delete(t);return n?n.delete___(t)||e:e})},permitHostObjects___:{value:i(function(e){if(e!==t)throw new Error(&quot;bogus call to permitHostObjects___&quot;);l=!0})}})}o&amp;&amp;&quot;undefined&quot;!=typeof Proxy&amp;&amp;(Proxy=void 0),r.prototype=b.prototype,e.exports=r,Object.defineProperty(WeakMap.prototype,&quot;constructor&quot;,{value:WeakMap,enumerable:!1,configurable:!0,writable:!0})}():(&quot;undefined&quot;!=typeof Proxy&amp;&amp;(Proxy=void 0),e.exports=b)}}()},{}],574:[function(t,e,r){var n=t(&quot;./hidden-store.js&quot;);e.exports=function(){var t={};return function(e){if((&quot;object&quot;!=typeof e||null===e)&amp;&amp;&quot;function&quot;!=typeof e)throw new Error(&quot;Weakmap-shim: Key must be object&quot;);var r=e.valueOf(t);return r&amp;&amp;r.identity===t?r:n(e,t)}}},{&quot;./hidden-store.js&quot;:575}],575:[function(t,e,r){e.exports=function(t,e){var r={identity:e},n=t.valueOf;return Object.defineProperty(t,&quot;valueOf&quot;,{value:function(t){return t!==e?n.apply(this,arguments):r},writable:!0}),r}},{}],576:[function(t,e,r){var n=t(&quot;./create-store.js&quot;);e.exports=function(){var t=n();return{get:function(e,r){var n=t(e);return n.hasOwnProperty(&quot;value&quot;)?n.value:r},set:function(e,r){return t(e).value=r,this},has:function(e){return&quot;value&quot;in t(e)},delete:function(e){return delete t(e).value}}}},{&quot;./create-store.js&quot;:574}],577:[function(t,e,r){var n=t(&quot;get-canvas-context&quot;);e.exports=function(t){return n(&quot;webgl&quot;,t)}},{&quot;get-canvas-context&quot;:156}],578:[function(t,e,r){var n=arguments[3],i=arguments[4],a=arguments[5],o=JSON.stringify;e.exports=function(t,e){function r(t){g[t]=!0;for(var e in i[t][1]){var n=i[t][1][e];g[n]||r(n)}}for(var s,l=Object.keys(a),c=0,u=l.length;c&lt;u;c++){var f=l[c],h=a[f].exports;if(h===t||h&amp;&amp;h.default===t){s=f;break}}if(!s){s=Math.floor(Math.pow(16,8)*Math.random()).toString(16);var d={};for(c=0,u=l.length;c&lt;u;c++){d[f=l[c]]=f}i[s]=[Function([&quot;require&quot;,&quot;module&quot;,&quot;exports&quot;],&quot;(&quot;+t+&quot;)(self)&quot;),d]}var p=Math.floor(Math.pow(16,8)*Math.random()).toString(16),m={};m[s]=s,i[p]=[Function([&quot;require&quot;],&quot;var f = require(&quot;+o(s)+&quot;);(f.default ? f.default : f)(self);&quot;),m];var g={};r(p);var v=&quot;(&quot;+n+&quot;)({&quot;+Object.keys(g).map(function(t){return o(t)+&quot;:[&quot;+i[t][0]+&quot;,&quot;+o(i[t][1])+&quot;]&quot;}).join(&quot;,&quot;)+&quot;},{},[&quot;+o(p)+&quot;])&quot;,y=window.URL||window.webkitURL||window.mozURL||window.msURL,x=new Blob([v],{type:&quot;text/javascript&quot;});if(e&amp;&amp;e.bare)return x;var b=y.createObjectURL(x),_=new Worker(b);return _.objectURL=b,_}},{}],579:[function(t,e,r){e.exports.RADIUS=6378137,e.exports.FLATTENING=1/298.257223563,e.exports.POLAR_RADIUS=6356752.3142},{}],580:[function(t,e,r){!function(t,n){n(&quot;object&quot;==typeof r&amp;&amp;void 0!==e?r:t.WhooTS=t.WhooTS||{})}(this,function(t){function e(t,e,n){var i=r(256*t,256*(e=Math.pow(2,n)-e-1),n),a=r(256*(t+1),256*(e+1),n);return i[0]+&quot;,&quot;+i[1]+&quot;,&quot;+a[0]+&quot;,&quot;+a[1]}function r(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]}t.getURL=function(t,r,n,i,a,o){return o=o||{},t+&quot;?&quot;+[&quot;bbox=&quot;+e(n,i,a),&quot;format=&quot;+(o.format||&quot;image/png&quot;),&quot;service=&quot;+(o.service||&quot;WMS&quot;),&quot;version=&quot;+(o.version||&quot;1.1.1&quot;),&quot;request=&quot;+(o.request||&quot;GetMap&quot;),&quot;srs=&quot;+(o.srs||&quot;EPSG:3857&quot;),&quot;width=&quot;+(o.width||256),&quot;height=&quot;+(o.height||256),&quot;layers=&quot;+r].join(&quot;&amp;&quot;)},t.getTileBBox=e,t.getMercCoords=r,Object.defineProperty(t,&quot;__esModule&quot;,{value:!0})})},{}],581:[function(t,e,r){function n(t){this.local=this.regionalOptions[t||&quot;&quot;]||this.regionalOptions[&quot;&quot;]}var i=t(&quot;../main&quot;),a=t(&quot;object-assign&quot;),o=i.instance();a(n.prototype=new i.baseCalendar,{name:&quot;Chinese&quot;,jdEpoch:1721425.5,hasYearZero:!1,minMonth:0,firstMonth:0,minDay:1,regionalOptions:{&quot;&quot;:{name:&quot;Chinese&quot;,epochs:[&quot;BEC&quot;,&quot;EC&quot;],monthNumbers:function(t,e){if(&quot;string&quot;==typeof t){var r=t.match(l);return r?r[0]:&quot;&quot;}var n=this._validateYear(t),i=t.month(),a=&quot;&quot;+this.toChineseMonth(n,i);return e&amp;&amp;a.length&lt;2&amp;&amp;(a=&quot;0&quot;+a),this.isIntercalaryMonth(n,i)&amp;&amp;(a+=&quot;i&quot;),a},monthNames:function(t){if(&quot;string&quot;==typeof t){var e=t.match(c);return e?e[0]:&quot;&quot;}var r=this._validateYear(t),n=t.month(),i=[&quot;\u4e00\u6708&quot;,&quot;\u4e8c\u6708&quot;,&quot;\u4e09\u6708&quot;,&quot;\u56db\u6708&quot;,&quot;\u4e94\u6708&quot;,&quot;\u516d\u6708&quot;,&quot;\u4e03\u6708&quot;,&quot;\u516b\u6708&quot;,&quot;\u4e5d\u6708&quot;,&quot;\u5341\u6708&quot;,&quot;\u5341\u4e00\u6708&quot;,&quot;\u5341\u4e8c\u6708&quot;][this.toChineseMonth(r,n)-1];return this.isIntercalaryMonth(r,n)&amp;&amp;(i=&quot;\u95f0&quot;+i),i},monthNamesShort:function(t){if(&quot;string&quot;==typeof t){var e=t.match(u);return e?e[0]:&quot;&quot;}var r=this._validateYear(t),n=t.month(),i=[&quot;\u4e00&quot;,&quot;\u4e8c&quot;,&quot;\u4e09&quot;,&quot;\u56db&quot;,&quot;\u4e94&quot;,&quot;\u516d&quot;,&quot;\u4e03&quot;,&quot;\u516b&quot;,&quot;\u4e5d&quot;,&quot;\u5341&quot;,&quot;\u5341\u4e00&quot;,&quot;\u5341\u4e8c&quot;][this.toChineseMonth(r,n)-1];return this.isIntercalaryMonth(r,n)&amp;&amp;(i=&quot;\u95f0&quot;+i),i},parseMonth:function(t,e){t=this._validateYear(t);var r,n=parseInt(e);if(isNaN(n))&quot;\u95f0&quot;===e[0]&amp;&amp;(r=!0,e=e.substring(1)),&quot;\u6708&quot;===e[e.length-1]&amp;&amp;(e=e.substring(0,e.length-1)),n=1+[&quot;\u4e00&quot;,&quot;\u4e8c&quot;,&quot;\u4e09&quot;,&quot;\u56db&quot;,&quot;\u4e94&quot;,&quot;\u516d&quot;,&quot;\u4e03&quot;,&quot;\u516b&quot;,&quot;\u4e5d&quot;,&quot;\u5341&quot;,&quot;\u5341\u4e00&quot;,&quot;\u5341\u4e8c&quot;].indexOf(e);else{var i=e[e.length-1];r=&quot;i&quot;===i||&quot;I&quot;===i}return this.toMonthIndex(t,n,r)},dayNames:[&quot;Sunday&quot;,&quot;Monday&quot;,&quot;Tuesday&quot;,&quot;Wednesday&quot;,&quot;Thursday&quot;,&quot;Friday&quot;,&quot;Saturday&quot;],dayNamesShort:[&quot;Sun&quot;,&quot;Mon&quot;,&quot;Tue&quot;,&quot;Wed&quot;,&quot;Thu&quot;,&quot;Fri&quot;,&quot;Sat&quot;],dayNamesMin:[&quot;Su&quot;,&quot;Mo&quot;,&quot;Tu&quot;,&quot;We&quot;,&quot;Th&quot;,&quot;Fr&quot;,&quot;Sa&quot;],digits:null,dateFormat:&quot;yyyy/mm/dd&quot;,firstDay:1,isRTL:!1}},_validateYear:function(t,e){if(t.year&amp;&amp;(t=t.year()),&quot;number&quot;!=typeof t||t&lt;1888||t&gt;2111)throw e.replace(/\{0\}/,this.local.name);return t},toMonthIndex:function(t,e,r){var n=this.intercalaryMonth(t);if(r&amp;&amp;e!==n||e&lt;1||e&gt;12)throw i.local.invalidMonth.replace(/\{0\}/,this.local.name);return n?!r&amp;&amp;e&lt;=n?e-1:e:e-1},toChineseMonth:function(t,e){t.year&amp;&amp;(e=(t=t.year()).month());var r=this.intercalaryMonth(t);if(e&lt;0||e&gt;(r?12:11))throw i.local.invalidMonth.replace(/\{0\}/,this.local.name);return r?e&lt;r?e+1:e:e+1},intercalaryMonth:function(t){t=this._validateYear(t);return f[t-f[0]]&gt;&gt;13},isIntercalaryMonth:function(t,e){t.year&amp;&amp;(e=(t=t.year()).month());var r=this.intercalaryMonth(t);return!!r&amp;&amp;r===e},leapYear:function(t){return 0!==this.intercalaryMonth(t)},weekOfYear:function(t,e,r){var n,a=this._validateYear(t,i.local.invalidyear),s=h[a-h[0]],l=s&gt;&gt;9&amp;4095,c=s&gt;&gt;5&amp;15,u=31&amp;s;(n=o.newDate(l,c,u)).add(4-(n.dayOfWeek()||7),&quot;d&quot;);var f=this.toJD(t,e,r)-n.toJD();return 1+Math.floor(f/7)},monthsInYear:function(t){return this.leapYear(t)?13:12},daysInMonth:function(t,e){t.year&amp;&amp;(e=t.month(),t=t.year()),t=this._validateYear(t);var r=f[t-f[0]];if(e&gt;(r&gt;&gt;13?12:11))throw i.local.invalidMonth.replace(/\{0\}/,this.local.name);return r&amp;1&lt;&lt;12-e?30:29},weekDay:function(t,e,r){return(this.dayOfWeek(t,e,r)||7)&lt;6},toJD:function(t,e,r){var n=this._validate(t,s,r,i.local.invalidDate);t=this._validateYear(n.year()),e=n.month(),r=n.day();var a=this.isIntercalaryMonth(t,e),s=this.toChineseMonth(t,e),l=function(t,e,r,n,i){var a,o;if(&quot;object&quot;==typeof t)o=t,a=e||{};else{if(!(&quot;number&quot;==typeof t&amp;&amp;t&gt;=1888&amp;&amp;t&lt;=2111))throw new Error(&quot;Lunar year outside range 1888-2111&quot;);if(!(&quot;number&quot;==typeof e&amp;&amp;e&gt;=1&amp;&amp;e&lt;=12))throw new Error(&quot;Lunar month outside range 1 - 12&quot;);if(!(&quot;number&quot;==typeof r&amp;&amp;r&gt;=1&amp;&amp;r&lt;=30))throw new Error(&quot;Lunar day outside range 1 - 30&quot;);var s;&quot;object&quot;==typeof n?(s=!1,a=n):(s=!!n,a=i||{}),o={year:t,month:e,day:r,isIntercalary:s}}var l;l=o.day-1;var c,u=f[o.year-f[0]],d=u&gt;&gt;13;c=d?o.month&gt;d?o.month:o.isIntercalary?o.month:o.month-1:o.month-1;for(var p=0;p&lt;c;p++)l+=u&amp;1&lt;&lt;12-p?30:29;var m=h[o.year-h[0]],g=m&gt;&gt;9&amp;4095,v=m&gt;&gt;5&amp;15,y=31&amp;m,x=new Date(g,v-1,y+l);return a.year=x.getFullYear(),a.month=1+x.getMonth(),a.day=x.getDate(),a}(t,s,r,a);return o.toJD(l.year,l.month,l.day)},fromJD:function(t){var e=o.fromJD(t),r=function(t,e,r,n){var i,a;if(&quot;object&quot;==typeof t)i=t,a=e||{};else{if(!(&quot;number&quot;==typeof t&amp;&amp;t&gt;=1888&amp;&amp;t&lt;=2111))throw new Error(&quot;Solar year outside range 1888-2111&quot;);if(!(&quot;number&quot;==typeof e&amp;&amp;e&gt;=1&amp;&amp;e&lt;=12))throw new Error(&quot;Solar month outside range 1 - 12&quot;);if(!(&quot;number&quot;==typeof r&amp;&amp;r&gt;=1&amp;&amp;r&lt;=31))throw new Error(&quot;Solar day outside range 1 - 31&quot;);i={year:t,month:e,day:r},a=n||{}}var o=h[i.year-h[0]],s=i.year&lt;&lt;9|i.month&lt;&lt;5|i.day;a.year=s&gt;=o?i.year:i.year-1;var l,c=(o=h[a.year-h[0]])&gt;&gt;9&amp;4095,u=o&gt;&gt;5&amp;15,d=31&amp;o,p=new Date(c,u-1,d),m=new Date(i.year,i.month-1,i.day);l=Math.round((m-p)/864e5);var g,v=f[a.year-f[0]];for(g=0;g&lt;13;g++){var y=v&amp;1&lt;&lt;12-g?30:29;if(l&lt;y)break;l-=y}var x=v&gt;&gt;13;return!x||g&lt;x?(a.isIntercalary=!1,a.month=1+g):g===x?(a.isIntercalary=!0,a.month=g):(a.isIntercalary=!1,a.month=g),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 i=t.year(),a=t.month(),o=this.isIntercalaryMonth(i,a),s=this.toChineseMonth(i,a),l=Object.getPrototypeOf(n.prototype).add.call(this,t,e,r);if(&quot;y&quot;===r){var c=l.year(),u=l.month(),f=this.isIntercalaryMonth(c,s),h=o&amp;&amp;f?this.toMonthIndex(c,s,!0):this.toMonthIndex(c,s,!1);h!==u&amp;&amp;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;i.calendars.chinese=n;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]},{&quot;../main&quot;:595,&quot;object-assign&quot;:462}],582:[function(t,e,r){function n(t){this.local=this.regionalOptions[t||&quot;&quot;]||this.regionalOptions[&quot;&quot;]}var i=t(&quot;../main&quot;);t(&quot;object-assign&quot;)(n.prototype=new i.baseCalendar,{name:&quot;Coptic&quot;,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:{&quot;&quot;:{name:&quot;Coptic&quot;,epochs:[&quot;BAM&quot;,&quot;AM&quot;],monthNames:[&quot;Thout&quot;,&quot;Paopi&quot;,&quot;Hathor&quot;,&quot;Koiak&quot;,&quot;Tobi&quot;,&quot;Meshir&quot;,&quot;Paremhat&quot;,&quot;Paremoude&quot;,&quot;Pashons&quot;,&quot;Paoni&quot;,&quot;Epip&quot;,&quot;Mesori&quot;,&quot;Pi Kogi Enavot&quot;],monthNamesShort:[&quot;Tho&quot;,&quot;Pao&quot;,&quot;Hath&quot;,&quot;Koi&quot;,&quot;Tob&quot;,&quot;Mesh&quot;,&quot;Pat&quot;,&quot;Pad&quot;,&quot;Pash&quot;,&quot;Pao&quot;,&quot;Epi&quot;,&quot;Meso&quot;,&quot;PiK&quot;],dayNames:[&quot;Tkyriaka&quot;,&quot;Pesnau&quot;,&quot;Pshoment&quot;,&quot;Peftoou&quot;,&quot;Ptiou&quot;,&quot;Psoou&quot;,&quot;Psabbaton&quot;],dayNamesShort:[&quot;Tky&quot;,&quot;Pes&quot;,&quot;Psh&quot;,&quot;Pef&quot;,&quot;Pti&quot;,&quot;Pso&quot;,&quot;Psa&quot;],dayNamesMin:[&quot;Tk&quot;,&quot;Pes&quot;,&quot;Psh&quot;,&quot;Pef&quot;,&quot;Pt&quot;,&quot;Pso&quot;,&quot;Psa&quot;],digits:null,dateFormat:&quot;dd/mm/yyyy&quot;,firstDay:0,isRTL:!1}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,i.local.invalidYear);return(t=e.year()+(e.year()&lt;0?1:0))%4==3||t%4==-1},monthsInYear:function(t){return this._validate(t,this.minMonth,this.minDay,i.local.invalidYear||i.regionalOptions[&quot;&quot;].invalidYear),13},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(-n.dayOfWeek(),&quot;d&quot;),Math.floor((n.dayOfYear()-1)/7)+1},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,i.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(13===r.month()&amp;&amp;this.leapYear(r.year())?1:0)},weekDay:function(t,e,r){return(this.dayOfWeek(t,e,r)||7)&lt;6},toJD:function(t,e,r){var n=this._validate(t,e,r,i.local.invalidDate);return(t=n.year())&lt;0&amp;&amp;t++,n.day()+30*(n.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&lt;=0&amp;&amp;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)}}),i.calendars.coptic=n},{&quot;../main&quot;:595,&quot;object-assign&quot;:462}],583:[function(t,e,r){function n(t){this.local=this.regionalOptions[t||&quot;&quot;]||this.regionalOptions[&quot;&quot;]}var i=t(&quot;../main&quot;);t(&quot;object-assign&quot;)(n.prototype=new i.baseCalendar,{name:&quot;Discworld&quot;,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:{&quot;&quot;:{name:&quot;Discworld&quot;,epochs:[&quot;BUC&quot;,&quot;UC&quot;],monthNames:[&quot;Ick&quot;,&quot;Offle&quot;,&quot;February&quot;,&quot;March&quot;,&quot;April&quot;,&quot;May&quot;,&quot;June&quot;,&quot;Grune&quot;,&quot;August&quot;,&quot;Spune&quot;,&quot;Sektober&quot;,&quot;Ember&quot;,&quot;December&quot;],monthNamesShort:[&quot;Ick&quot;,&quot;Off&quot;,&quot;Feb&quot;,&quot;Mar&quot;,&quot;Apr&quot;,&quot;May&quot;,&quot;Jun&quot;,&quot;Gru&quot;,&quot;Aug&quot;,&quot;Spu&quot;,&quot;Sek&quot;,&quot;Emb&quot;,&quot;Dec&quot;],dayNames:[&quot;Sunday&quot;,&quot;Octeday&quot;,&quot;Monday&quot;,&quot;Tuesday&quot;,&quot;Wednesday&quot;,&quot;Thursday&quot;,&quot;Friday&quot;,&quot;Saturday&quot;],dayNamesShort:[&quot;Sun&quot;,&quot;Oct&quot;,&quot;Mon&quot;,&quot;Tue&quot;,&quot;Wed&quot;,&quot;Thu&quot;,&quot;Fri&quot;,&quot;Sat&quot;],dayNamesMin:[&quot;Su&quot;,&quot;Oc&quot;,&quot;Mo&quot;,&quot;Tu&quot;,&quot;We&quot;,&quot;Th&quot;,&quot;Fr&quot;,&quot;Sa&quot;],digits:null,dateFormat:&quot;yyyy/mm/dd&quot;,firstDay:2,isRTL:!1}},leapYear:function(t){return this._validate(t,this.minMonth,this.minDay,i.local.invalidYear),!1},monthsInYear:function(t){return this._validate(t,this.minMonth,this.minDay,i.local.invalidYear),13},daysInYear:function(t){return this._validate(t,this.minMonth,this.minDay,i.local.invalidYear),400},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(-n.dayOfWeek(),&quot;d&quot;),Math.floor((n.dayOfYear()-1)/8)+1},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,i.local.invalidMonth);return this.daysPerMonth[r.month()-1]},daysInWeek:function(){return 8},dayOfWeek:function(t,e,r){return(this._validate(t,e,r,i.local.invalidDate).day()+1)%8},weekDay:function(t,e,r){var n=this.dayOfWeek(t,e,r);return n&gt;=2&amp;&amp;n&lt;=6},extraInfo:function(t,e,r){var n=this._validate(t,e,r,i.local.invalidDate);return{century:a[Math.floor((n.year()-1)/100)+1]||&quot;&quot;}},toJD:function(t,e,r){var n=this._validate(t,e,r,i.local.invalidDate);return t=n.year()+(n.year()&lt;0?1:0),e=n.month(),(r=n.day())+(e&gt;1?16:0)+(e&gt;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&gt;15?16:0;var r=Math.floor(t/32)+1,n=t-32*(r-1)+1;return this.newDate(e&lt;=0?e-1:e,r,n)}});var a={20:&quot;Fruitbat&quot;,21:&quot;Anchovy&quot;};i.calendars.discworld=n},{&quot;../main&quot;:595,&quot;object-assign&quot;:462}],584:[function(t,e,r){function n(t){this.local=this.regionalOptions[t||&quot;&quot;]||this.regionalOptions[&quot;&quot;]}var i=t(&quot;../main&quot;);t(&quot;object-assign&quot;)(n.prototype=new i.baseCalendar,{name:&quot;Ethiopian&quot;,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:{&quot;&quot;:{name:&quot;Ethiopian&quot;,epochs:[&quot;BEE&quot;,&quot;EE&quot;],monthNames:[&quot;Meskerem&quot;,&quot;Tikemet&quot;,&quot;Hidar&quot;,&quot;Tahesas&quot;,&quot;Tir&quot;,&quot;Yekatit&quot;,&quot;Megabit&quot;,&quot;Miazia&quot;,&quot;Genbot&quot;,&quot;Sene&quot;,&quot;Hamle&quot;,&quot;Nehase&quot;,&quot;Pagume&quot;],monthNamesShort:[&quot;Mes&quot;,&quot;Tik&quot;,&quot;Hid&quot;,&quot;Tah&quot;,&quot;Tir&quot;,&quot;Yek&quot;,&quot;Meg&quot;,&quot;Mia&quot;,&quot;Gen&quot;,&quot;Sen&quot;,&quot;Ham&quot;,&quot;Neh&quot;,&quot;Pag&quot;],dayNames:[&quot;Ehud&quot;,&quot;Segno&quot;,&quot;Maksegno&quot;,&quot;Irob&quot;,&quot;Hamus&quot;,&quot;Arb&quot;,&quot;Kidame&quot;],dayNamesShort:[&quot;Ehu&quot;,&quot;Seg&quot;,&quot;Mak&quot;,&quot;Iro&quot;,&quot;Ham&quot;,&quot;Arb&quot;,&quot;Kid&quot;],dayNamesMin:[&quot;Eh&quot;,&quot;Se&quot;,&quot;Ma&quot;,&quot;Ir&quot;,&quot;Ha&quot;,&quot;Ar&quot;,&quot;Ki&quot;],digits:null,dateFormat:&quot;dd/mm/yyyy&quot;,firstDay:0,isRTL:!1}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,i.local.invalidYear);return(t=e.year()+(e.year()&lt;0?1:0))%4==3||t%4==-1},monthsInYear:function(t){return this._validate(t,this.minMonth,this.minDay,i.local.invalidYear||i.regionalOptions[&quot;&quot;].invalidYear),13},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(-n.dayOfWeek(),&quot;d&quot;),Math.floor((n.dayOfYear()-1)/7)+1},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,i.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(13===r.month()&amp;&amp;this.leapYear(r.year())?1:0)},weekDay:function(t,e,r){return(this.dayOfWeek(t,e,r)||7)&lt;6},toJD:function(t,e,r){var n=this._validate(t,e,r,i.local.invalidDate);return(t=n.year())&lt;0&amp;&amp;t++,n.day()+30*(n.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&lt;=0&amp;&amp;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)}}),i.calendars.ethiopian=n},{&quot;../main&quot;:595,&quot;object-assign&quot;:462}],585:[function(t,e,r){function n(t){this.local=this.regionalOptions[t||&quot;&quot;]||this.regionalOptions[&quot;&quot;]}function i(t,e){return t-e*Math.floor(t/e)}var a=t(&quot;../main&quot;);t(&quot;object-assign&quot;)(n.prototype=new a.baseCalendar,{name:&quot;Hebrew&quot;,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:{&quot;&quot;:{name:&quot;Hebrew&quot;,epochs:[&quot;BAM&quot;,&quot;AM&quot;],monthNames:[&quot;Nisan&quot;,&quot;Iyar&quot;,&quot;Sivan&quot;,&quot;Tammuz&quot;,&quot;Av&quot;,&quot;Elul&quot;,&quot;Tishrei&quot;,&quot;Cheshvan&quot;,&quot;Kislev&quot;,&quot;Tevet&quot;,&quot;Shevat&quot;,&quot;Adar&quot;,&quot;Adar II&quot;],monthNamesShort:[&quot;Nis&quot;,&quot;Iya&quot;,&quot;Siv&quot;,&quot;Tam&quot;,&quot;Av&quot;,&quot;Elu&quot;,&quot;Tis&quot;,&quot;Che&quot;,&quot;Kis&quot;,&quot;Tev&quot;,&quot;She&quot;,&quot;Ada&quot;,&quot;Ad2&quot;],dayNames:[&quot;Yom Rishon&quot;,&quot;Yom Sheni&quot;,&quot;Yom Shlishi&quot;,&quot;Yom Revi'i&quot;,&quot;Yom Chamishi&quot;,&quot;Yom Shishi&quot;,&quot;Yom Shabbat&quot;],dayNamesShort:[&quot;Ris&quot;,&quot;She&quot;,&quot;Shl&quot;,&quot;Rev&quot;,&quot;Cha&quot;,&quot;Shi&quot;,&quot;Sha&quot;],dayNamesMin:[&quot;Ri&quot;,&quot;She&quot;,&quot;Shl&quot;,&quot;Re&quot;,&quot;Ch&quot;,&quot;Shi&quot;,&quot;Sha&quot;],digits:null,dateFormat:&quot;dd/mm/yyyy&quot;,firstDay:0,isRTL:!1}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,a.local.invalidYear);return this._leapYear(e.year())},_leapYear:function(t){return t=t&lt;0?t+1:t,i(7*t+1,19)&lt;7},monthsInYear:function(t){return this._validate(t,this.minMonth,this.minDay,a.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(),&quot;d&quot;),Math.floor((n.dayOfYear()-1)/7)+1},daysInYear:function(t){return t=this._validate(t,this.minMonth,this.minDay,a.local.invalidYear).year(),this.toJD(-1===t?1:t+1,7,1)-this.toJD(t,7,1)},daysInMonth:function(t,e){return t.year&amp;&amp;(e=t.month(),t=t.year()),this._validate(t,e,this.minDay,a.local.invalidMonth),12===e&amp;&amp;this.leapYear(t)?30:8===e&amp;&amp;5===i(this.daysInYear(t),10)?30:9===e&amp;&amp;3===i(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 n=this._validate(t,e,r,a.local.invalidDate);return{yearType:(this.leapYear(n)?&quot;embolismic&quot;:&quot;common&quot;)+&quot; &quot;+[&quot;deficient&quot;,&quot;regular&quot;,&quot;complete&quot;][this.daysInYear(n)%10-3]}},toJD:function(t,e,r){var n=this._validate(t,e,r,a.local.invalidDate);t=n.year(),e=n.month(),r=n.day();var i=t&lt;=0?t+1:t,o=this.jdEpoch+this._delay1(i)+this._delay2(i)+r+1;if(e&lt;7){for(var s=7;s&lt;=this.monthsInYear(t);s++)o+=this.daysInMonth(t,s);for(s=1;s&lt;e;s++)o+=this.daysInMonth(t,s)}else for(s=7;s&lt;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 i(3*(n+1),7)&lt;3&amp;&amp;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&gt;=this.toJD(-1===e?1:e+1,7,1);)e++;for(var r=t&lt;this.toJD(e,1,1)?7:1;t&gt;this.toJD(e,r,this.daysInMonth(e,r));)r++;var n=t-this.toJD(e,r,1)+1;return this.newDate(e,r,n)}}),a.calendars.hebrew=n},{&quot;../main&quot;:595,&quot;object-assign&quot;:462}],586:[function(t,e,r){function n(t){this.local=this.regionalOptions[t||&quot;&quot;]||this.regionalOptions[&quot;&quot;]}var i=t(&quot;../main&quot;);t(&quot;object-assign&quot;)(n.prototype=new i.baseCalendar,{name:&quot;Islamic&quot;,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:{&quot;&quot;:{name:&quot;Islamic&quot;,epochs:[&quot;BH&quot;,&quot;AH&quot;],monthNames:[&quot;Muharram&quot;,&quot;Safar&quot;,&quot;Rabi' al-awwal&quot;,&quot;Rabi' al-thani&quot;,&quot;Jumada al-awwal&quot;,&quot;Jumada al-thani&quot;,&quot;Rajab&quot;,&quot;Sha'aban&quot;,&quot;Ramadan&quot;,&quot;Shawwal&quot;,&quot;Dhu al-Qi'dah&quot;,&quot;Dhu al-Hijjah&quot;],monthNamesShort:[&quot;Muh&quot;,&quot;Saf&quot;,&quot;Rab1&quot;,&quot;Rab2&quot;,&quot;Jum1&quot;,&quot;Jum2&quot;,&quot;Raj&quot;,&quot;Sha'&quot;,&quot;Ram&quot;,&quot;Shaw&quot;,&quot;DhuQ&quot;,&quot;DhuH&quot;],dayNames:[&quot;Yawm al-ahad&quot;,&quot;Yawm al-ithnayn&quot;,&quot;Yawm ath-thulaathaa'&quot;,&quot;Yawm al-arbi'aa'&quot;,&quot;Yawm al-kham\u012bs&quot;,&quot;Yawm al-jum'a&quot;,&quot;Yawm as-sabt&quot;],dayNamesShort:[&quot;Aha&quot;,&quot;Ith&quot;,&quot;Thu&quot;,&quot;Arb&quot;,&quot;Kha&quot;,&quot;Jum&quot;,&quot;Sab&quot;],dayNamesMin:[&quot;Ah&quot;,&quot;It&quot;,&quot;Th&quot;,&quot;Ar&quot;,&quot;Kh&quot;,&quot;Ju&quot;,&quot;Sa&quot;],digits:null,dateFormat:&quot;yyyy/mm/dd&quot;,firstDay:6,isRTL:!1}},leapYear:function(t){return(11*this._validate(t,this.minMonth,this.minDay,i.local.invalidYear).year()+14)%30&lt;11},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(-n.dayOfWeek(),&quot;d&quot;),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,i.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(12===r.month()&amp;&amp;this.leapYear(r.year())?1:0)},weekDay:function(t,e,r){return 5!==this.dayOfWeek(t,e,r)},toJD:function(t,e,r){var n=this._validate(t,e,r,i.local.invalidDate);return t=n.year(),e=n.month(),r=n.day(),t=t&lt;=0?t+1:t,r+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&lt;=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)}}),i.calendars.islamic=n},{&quot;../main&quot;:595,&quot;object-assign&quot;:462}],587:[function(t,e,r){function n(t){this.local=this.regionalOptions[t||&quot;&quot;]||this.regionalOptions[&quot;&quot;]}var i=t(&quot;../main&quot;);t(&quot;object-assign&quot;)(n.prototype=new i.baseCalendar,{name:&quot;Julian&quot;,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:{&quot;&quot;:{name:&quot;Julian&quot;,epochs:[&quot;BC&quot;,&quot;AD&quot;],monthNames:[&quot;January&quot;,&quot;February&quot;,&quot;March&quot;,&quot;April&quot;,&quot;May&quot;,&quot;June&quot;,&quot;July&quot;,&quot;August&quot;,&quot;September&quot;,&quot;October&quot;,&quot;November&quot;,&quot;December&quot;],monthNamesShort:[&quot;Jan&quot;,&quot;Feb&quot;,&quot;Mar&quot;,&quot;Apr&quot;,&quot;May&quot;,&quot;Jun&quot;,&quot;Jul&quot;,&quot;Aug&quot;,&quot;Sep&quot;,&quot;Oct&quot;,&quot;Nov&quot;,&quot;Dec&quot;],dayNames:[&quot;Sunday&quot;,&quot;Monday&quot;,&quot;Tuesday&quot;,&quot;Wednesday&quot;,&quot;Thursday&quot;,&quot;Friday&quot;,&quot;Saturday&quot;],dayNamesShort:[&quot;Sun&quot;,&quot;Mon&quot;,&quot;Tue&quot;,&quot;Wed&quot;,&quot;Thu&quot;,&quot;Fri&quot;,&quot;Sat&quot;],dayNamesMin:[&quot;Su&quot;,&quot;Mo&quot;,&quot;Tu&quot;,&quot;We&quot;,&quot;Th&quot;,&quot;Fr&quot;,&quot;Sa&quot;],digits:null,dateFormat:&quot;mm/dd/yyyy&quot;,firstDay:0,isRTL:!1}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,i.local.invalidYear);return(t=e.year()&lt;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),&quot;d&quot;),Math.floor((n.dayOfYear()-1)/7)+1},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,i.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(2===r.month()&amp;&amp;this.leapYear(r.year())?1:0)},weekDay:function(t,e,r){return(this.dayOfWeek(t,e,r)||7)&lt;6},toJD:function(t,e,r){var n=this._validate(t,e,r,i.local.invalidDate);return t=n.year(),e=n.month(),r=n.day(),t&lt;0&amp;&amp;t++,e&lt;=2&amp;&amp;(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&lt;14?1:13),o=r-Math.floor(a&gt;2?4716:4715),s=e-n-Math.floor(30.6001*i);return o&lt;=0&amp;&amp;o--,this.newDate(o,a,s)}}),i.calendars.julian=n},{&quot;../main&quot;:595,&quot;object-assign&quot;:462}],588:[function(t,e,r){function n(t){this.local=this.regionalOptions[t||&quot;&quot;]||this.regionalOptions[&quot;&quot;]}function i(t,e){return t-e*Math.floor(t/e)}function a(t,e){return i(t-1,e)+1}var o=t(&quot;../main&quot;);t(&quot;object-assign&quot;)(n.prototype=new o.baseCalendar,{name:&quot;Mayan&quot;,jdEpoch:584282.5,hasYearZero:!0,minMonth:0,firstMonth:0,minDay:0,regionalOptions:{&quot;&quot;:{name:&quot;Mayan&quot;,epochs:[&quot;&quot;,&quot;&quot;],monthNames:[&quot;0&quot;,&quot;1&quot;,&quot;2&quot;,&quot;3&quot;,&quot;4&quot;,&quot;5&quot;,&quot;6&quot;,&quot;7&quot;,&quot;8&quot;,&quot;9&quot;,&quot;10&quot;,&quot;11&quot;,&quot;12&quot;,&quot;13&quot;,&quot;14&quot;,&quot;15&quot;,&quot;16&quot;,&quot;17&quot;],monthNamesShort:[&quot;0&quot;,&quot;1&quot;,&quot;2&quot;,&quot;3&quot;,&quot;4&quot;,&quot;5&quot;,&quot;6&quot;,&quot;7&quot;,&quot;8&quot;,&quot;9&quot;,&quot;10&quot;,&quot;11&quot;,&quot;12&quot;,&quot;13&quot;,&quot;14&quot;,&quot;15&quot;,&quot;16&quot;,&quot;17&quot;],dayNames:[&quot;0&quot;,&quot;1&quot;,&quot;2&quot;,&quot;3&quot;,&quot;4&quot;,&quot;5&quot;,&quot;6&quot;,&quot;7&quot;,&quot;8&quot;,&quot;9&quot;,&quot;10&quot;,&quot;11&quot;,&quot;12&quot;,&quot;13&quot;,&quot;14&quot;,&quot;15&quot;,&quot;16&quot;,&quot;17&quot;,&quot;18&quot;,&quot;19&quot;],dayNamesShort:[&quot;0&quot;,&quot;1&quot;,&quot;2&quot;,&quot;3&quot;,&quot;4&quot;,&quot;5&quot;,&quot;6&quot;,&quot;7&quot;,&quot;8&quot;,&quot;9&quot;,&quot;10&quot;,&quot;11&quot;,&quot;12&quot;,&quot;13&quot;,&quot;14&quot;,&quot;15&quot;,&quot;16&quot;,&quot;17&quot;,&quot;18&quot;,&quot;19&quot;],dayNamesMin:[&quot;0&quot;,&quot;1&quot;,&quot;2&quot;,&quot;3&quot;,&quot;4&quot;,&quot;5&quot;,&quot;6&quot;,&quot;7&quot;,&quot;8&quot;,&quot;9&quot;,&quot;10&quot;,&quot;11&quot;,&quot;12&quot;,&quot;13&quot;,&quot;14&quot;,&quot;15&quot;,&quot;16&quot;,&quot;17&quot;,&quot;18&quot;,&quot;19&quot;],digits:null,dateFormat:&quot;YYYY.m.d&quot;,firstDay:0,isRTL:!1,haabMonths:[&quot;Pop&quot;,&quot;Uo&quot;,&quot;Zip&quot;,&quot;Zotz&quot;,&quot;Tzec&quot;,&quot;Xul&quot;,&quot;Yaxkin&quot;,&quot;Mol&quot;,&quot;Chen&quot;,&quot;Yax&quot;,&quot;Zac&quot;,&quot;Ceh&quot;,&quot;Mac&quot;,&quot;Kankin&quot;,&quot;Muan&quot;,&quot;Pax&quot;,&quot;Kayab&quot;,&quot;Cumku&quot;,&quot;Uayeb&quot;],tzolkinMonths:[&quot;Imix&quot;,&quot;Ik&quot;,&quot;Akbal&quot;,&quot;Kan&quot;,&quot;Chicchan&quot;,&quot;Cimi&quot;,&quot;Manik&quot;,&quot;Lamat&quot;,&quot;Muluc&quot;,&quot;Oc&quot;,&quot;Chuen&quot;,&quot;Eb&quot;,&quot;Ben&quot;,&quot;Ix&quot;,&quot;Men&quot;,&quot;Cib&quot;,&quot;Caban&quot;,&quot;Etznab&quot;,&quot;Cauac&quot;,&quot;Ahau&quot;]}},leapYear:function(t){return this._validate(t,this.minMonth,this.minDay,o.local.invalidYear),!1},formatYear:function(t){t=this._validate(t,this.minMonth,this.minDay,o.local.invalidYear).year();var e=Math.floor(t/400);t%=400,t+=t&lt;0?400:0;return e+&quot;.&quot;+Math.floor(t/20)+&quot;.&quot;+t%20},forYear:function(t){if((t=t.split(&quot;.&quot;)).length&lt;3)throw&quot;Invalid Mayan year&quot;;for(var e=0,r=0;r&lt;t.length;r++){var n=parseInt(t[r],10);if(Math.abs(n)&gt;19||r&gt;0&amp;&amp;n&lt;0)throw&quot;Invalid Mayan year&quot;;e=20*e+n}return e},monthsInYear:function(t){return this._validate(t,this.minMonth,this.minDay,o.local.invalidYear),18},weekOfYear:function(t,e,r){return this._validate(t,e,r,o.local.invalidDate),0},daysInYear:function(t){return this._validate(t,this.minMonth,this.minDay,o.local.invalidYear),360},daysInMonth:function(t,e){return this._validate(t,e,this.minDay,o.local.invalidMonth),20},daysInWeek:function(){return 5},dayOfWeek:function(t,e,r){return this._validate(t,e,r,o.local.invalidDate).day()},weekDay:function(t,e,r){return this._validate(t,e,r,o.local.invalidDate),!0},extraInfo:function(t,e,r){var n=this._validate(t,e,r,o.local.invalidDate).toJD(),i=this._toHaab(n),a=this._toTzolkin(n);return{haabMonthName:this.local.haabMonths[i[0]-1],haabMonth:i[0],haabDay:i[1],tzolkinDayName:this.local.tzolkinMonths[a[0]-1],tzolkinDay:a[0],tzolkinTrecena:a[1]}},_toHaab:function(t){var e=i((t-=this.jdEpoch)+8+340,365);return[Math.floor(e/20)+1,i(e,20)]},_toTzolkin:function(t){return t-=this.jdEpoch,[a(t+20,20),a(t+4,13)]},toJD:function(t,e,r){var n=this._validate(t,e,r,o.local.invalidDate);return n.day()+20*n.month()+360*n.year()+this.jdEpoch},fromJD:function(t){t=Math.floor(t)+.5-this.jdEpoch;var e=Math.floor(t/360);t%=360,t+=t&lt;0?360:0;var r=Math.floor(t/20),n=t%20;return this.newDate(e,r,n)}}),o.calendars.mayan=n},{&quot;../main&quot;:595,&quot;object-assign&quot;:462}],589:[function(t,e,r){function n(t){this.local=this.regionalOptions[t||&quot;&quot;]||this.regionalOptions[&quot;&quot;]}var i=t(&quot;../main&quot;),a=t(&quot;object-assign&quot;);n.prototype=new i.baseCalendar;var o=i.instance(&quot;gregorian&quot;);a(n.prototype,{name:&quot;Nanakshahi&quot;,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:{&quot;&quot;:{name:&quot;Nanakshahi&quot;,epochs:[&quot;BN&quot;,&quot;AN&quot;],monthNames:[&quot;Chet&quot;,&quot;Vaisakh&quot;,&quot;Jeth&quot;,&quot;Harh&quot;,&quot;Sawan&quot;,&quot;Bhadon&quot;,&quot;Assu&quot;,&quot;Katak&quot;,&quot;Maghar&quot;,&quot;Poh&quot;,&quot;Magh&quot;,&quot;Phagun&quot;],monthNamesShort:[&quot;Che&quot;,&quot;Vai&quot;,&quot;Jet&quot;,&quot;Har&quot;,&quot;Saw&quot;,&quot;Bha&quot;,&quot;Ass&quot;,&quot;Kat&quot;,&quot;Mgr&quot;,&quot;Poh&quot;,&quot;Mgh&quot;,&quot;Pha&quot;],dayNames:[&quot;Somvaar&quot;,&quot;Mangalvar&quot;,&quot;Budhvaar&quot;,&quot;Veervaar&quot;,&quot;Shukarvaar&quot;,&quot;Sanicharvaar&quot;,&quot;Etvaar&quot;],dayNamesShort:[&quot;Som&quot;,&quot;Mangal&quot;,&quot;Budh&quot;,&quot;Veer&quot;,&quot;Shukar&quot;,&quot;Sanichar&quot;,&quot;Et&quot;],dayNamesMin:[&quot;So&quot;,&quot;Ma&quot;,&quot;Bu&quot;,&quot;Ve&quot;,&quot;Sh&quot;,&quot;Sa&quot;,&quot;Et&quot;],digits:null,dateFormat:&quot;dd-mm-yyyy&quot;,firstDay:0,isRTL:!1}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,i.local.invalidYear||i.regionalOptions[&quot;&quot;].invalidYear);return o.leapYear(e.year()+(e.year()&lt;1?1:0)+1469)},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(1-(n.dayOfWeek()||7),&quot;d&quot;),Math.floor((n.dayOfYear()-1)/7)+1},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,i.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(12===r.month()&amp;&amp;this.leapYear(r.year())?1:0)},weekDay:function(t,e,r){return(this.dayOfWeek(t,e,r)||7)&lt;6},toJD:function(t,e,r){var n=this._validate(t,e,r,i.local.invalidMonth);(t=n.year())&lt;0&amp;&amp;t++;for(var a=n.day(),s=1;s&lt;n.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&gt;=this.toJD(e+1,1,1);)e++;for(var r=t-Math.floor(this.toJD(e,1,1)+.5)+1,n=1;r&gt;this.daysInMonth(e,n);)r-=this.daysInMonth(e,n),n++;return this.newDate(e,n,r)}}),i.calendars.nanakshahi=n},{&quot;../main&quot;:595,&quot;object-assign&quot;:462}],590:[function(t,e,r){function n(t){this.local=this.regionalOptions[t||&quot;&quot;]||this.regionalOptions[&quot;&quot;]}var i=t(&quot;../main&quot;);t(&quot;object-assign&quot;)(n.prototype=new i.baseCalendar,{name:&quot;Nepali&quot;,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:{&quot;&quot;:{name:&quot;Nepali&quot;,epochs:[&quot;BBS&quot;,&quot;ABS&quot;],monthNames:[&quot;Baisakh&quot;,&quot;Jestha&quot;,&quot;Ashadh&quot;,&quot;Shrawan&quot;,&quot;Bhadra&quot;,&quot;Ashwin&quot;,&quot;Kartik&quot;,&quot;Mangsir&quot;,&quot;Paush&quot;,&quot;Mangh&quot;,&quot;Falgun&quot;,&quot;Chaitra&quot;],monthNamesShort:[&quot;Bai&quot;,&quot;Je&quot;,&quot;As&quot;,&quot;Shra&quot;,&quot;Bha&quot;,&quot;Ash&quot;,&quot;Kar&quot;,&quot;Mang&quot;,&quot;Pau&quot;,&quot;Ma&quot;,&quot;Fal&quot;,&quot;Chai&quot;],dayNames:[&quot;Aaitabaar&quot;,&quot;Sombaar&quot;,&quot;Manglbaar&quot;,&quot;Budhabaar&quot;,&quot;Bihibaar&quot;,&quot;Shukrabaar&quot;,&quot;Shanibaar&quot;],dayNamesShort:[&quot;Aaita&quot;,&quot;Som&quot;,&quot;Mangl&quot;,&quot;Budha&quot;,&quot;Bihi&quot;,&quot;Shukra&quot;,&quot;Shani&quot;],dayNamesMin:[&quot;Aai&quot;,&quot;So&quot;,&quot;Man&quot;,&quot;Bu&quot;,&quot;Bi&quot;,&quot;Shu&quot;,&quot;Sha&quot;],digits:null,dateFormat:&quot;dd/mm/yyyy&quot;,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(),&quot;d&quot;),Math.floor((n.dayOfYear()-1)/7)+1},daysInYear:function(t){if(t=this._validate(t,this.minMonth,this.minDay,i.local.invalidYear).year(),void 0===this.NEPALI_CALENDAR_DATA[t])return this.daysPerYear;for(var e=0,r=this.minMonth;r&lt;=12;r++)e+=this.NEPALI_CALENDAR_DATA[t][r];return e},daysInMonth:function(t,e){return t.year&amp;&amp;(e=t.month(),t=t.year()),this._validate(t,e,this.minDay,i.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 n=this._validate(t,e,r,i.local.invalidDate);t=n.year(),e=n.month(),r=n.day();var a=i.instance(),o=0,s=e,l=t;this._createMissingCalendarData(t);var c=t-(s&gt;9||9===s&amp;&amp;r&gt;=this.NEPALI_CALENDAR_DATA[l][0]?56:57);for(9!==e&amp;&amp;(o=r,s--);9!==s;)s&lt;=0&amp;&amp;(s=12,l--),o+=this.NEPALI_CALENDAR_DATA[l][s],s--;return 9===e?(o+=r-this.NEPALI_CALENDAR_DATA[l][0])&lt;0&amp;&amp;(o+=a.daysInYear(c)):o+=this.NEPALI_CALENDAR_DATA[l][9]-this.NEPALI_CALENDAR_DATA[l][0],a.newDate(c,1,1).add(o,&quot;d&quot;).toJD()},fromJD:function(t){var e=i.instance().fromJD(t),r=e.year(),n=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;n&gt;l;)++o&gt;12&amp;&amp;(o=1,a++),l+=this.NEPALI_CALENDAR_DATA[a][o];var c=this.NEPALI_CALENDAR_DATA[a][o]-(l-n);return this.newDate(a,o,c)},_createMissingCalendarData:function(t){var e=this.daysPerMonth.slice(0);e.unshift(17);for(var r=t-1;r&lt;t+2;r++)void 0===this.NEPALI_CALENDAR_DATA[r]&amp;&amp;(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]}}),i.calendars.nepali=n},{&quot;../main&quot;:595,&quot;object-assign&quot;:462}],591:[function(t,e,r){function n(t){this.local=this.regionalOptions[t||&quot;&quot;]||this.regionalOptions[&quot;&quot;]}function i(t,e){return t-e*Math.floor(t/e)}var a=t(&quot;../main&quot;);t(&quot;object-assign&quot;)(n.prototype=new a.baseCalendar,{name:&quot;Persian&quot;,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:{&quot;&quot;:{name:&quot;Persian&quot;,epochs:[&quot;BP&quot;,&quot;AP&quot;],monthNames:[&quot;Farvardin&quot;,&quot;Ordibehesht&quot;,&quot;Khordad&quot;,&quot;Tir&quot;,&quot;Mordad&quot;,&quot;Shahrivar&quot;,&quot;Mehr&quot;,&quot;Aban&quot;,&quot;Azar&quot;,&quot;Day&quot;,&quot;Bahman&quot;,&quot;Esfand&quot;],monthNamesShort:[&quot;Far&quot;,&quot;Ord&quot;,&quot;Kho&quot;,&quot;Tir&quot;,&quot;Mor&quot;,&quot;Sha&quot;,&quot;Meh&quot;,&quot;Aba&quot;,&quot;Aza&quot;,&quot;Day&quot;,&quot;Bah&quot;,&quot;Esf&quot;],dayNames:[&quot;Yekshambe&quot;,&quot;Doshambe&quot;,&quot;Seshambe&quot;,&quot;Ch\xe6harshambe&quot;,&quot;Panjshambe&quot;,&quot;Jom'e&quot;,&quot;Shambe&quot;],dayNamesShort:[&quot;Yek&quot;,&quot;Do&quot;,&quot;Se&quot;,&quot;Ch\xe6&quot;,&quot;Panj&quot;,&quot;Jom&quot;,&quot;Sha&quot;],dayNamesMin:[&quot;Ye&quot;,&quot;Do&quot;,&quot;Se&quot;,&quot;Ch&quot;,&quot;Pa&quot;,&quot;Jo&quot;,&quot;Sh&quot;],digits:null,dateFormat:&quot;yyyy/mm/dd&quot;,firstDay:6,isRTL:!1}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,a.local.invalidYear);return 682*((e.year()-(e.year()&gt;0?474:473))%2820+474+38)%2816&lt;682},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(-(n.dayOfWeek()+1)%7,&quot;d&quot;),Math.floor((n.dayOfYear()-1)/7)+1},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,a.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(12===r.month()&amp;&amp;this.leapYear(r.year())?1:0)},weekDay:function(t,e,r){return 5!==this.dayOfWeek(t,e,r)},toJD:function(t,e,r){var n=this._validate(t,e,r,a.local.invalidDate);t=n.year(),e=n.month(),r=n.day();var o=t-(t&gt;=0?474:473),s=474+i(o,2820);return r+(e&lt;=7?31*(e-1):30*(e-1)+6)+Math.floor((682*s-110)/2816)+365*(s-1)+1029983*Math.floor(o/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=i(e,1029983),a=2820;if(1029982!==n){var o=Math.floor(n/366),s=i(n,366);a=Math.floor((2134*o+2816*s+2815)/1028522)+o+1}var l=a+2820*r+474;l=l&lt;=0?l-1:l;var c=t-this.toJD(l,1,1)+1,u=c&lt;=186?Math.ceil(c/31):Math.ceil((c-6)/30),f=t-this.toJD(l,u,1)+1;return this.newDate(l,u,f)}}),a.calendars.persian=n,a.calendars.jalali=n},{&quot;../main&quot;:595,&quot;object-assign&quot;:462}],592:[function(t,e,r){function n(t){this.local=this.regionalOptions[t||&quot;&quot;]||this.regionalOptions[&quot;&quot;]}var i=t(&quot;../main&quot;),a=t(&quot;object-assign&quot;),o=i.instance();a(n.prototype=new i.baseCalendar,{name:&quot;Taiwan&quot;,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:{&quot;&quot;:{name:&quot;Taiwan&quot;,epochs:[&quot;BROC&quot;,&quot;ROC&quot;],monthNames:[&quot;January&quot;,&quot;February&quot;,&quot;March&quot;,&quot;April&quot;,&quot;May&quot;,&quot;June&quot;,&quot;July&quot;,&quot;August&quot;,&quot;September&quot;,&quot;October&quot;,&quot;November&quot;,&quot;December&quot;],monthNamesShort:[&quot;Jan&quot;,&quot;Feb&quot;,&quot;Mar&quot;,&quot;Apr&quot;,&quot;May&quot;,&quot;Jun&quot;,&quot;Jul&quot;,&quot;Aug&quot;,&quot;Sep&quot;,&quot;Oct&quot;,&quot;Nov&quot;,&quot;Dec&quot;],dayNames:[&quot;Sunday&quot;,&quot;Monday&quot;,&quot;Tuesday&quot;,&quot;Wednesday&quot;,&quot;Thursday&quot;,&quot;Friday&quot;,&quot;Saturday&quot;],dayNamesShort:[&quot;Sun&quot;,&quot;Mon&quot;,&quot;Tue&quot;,&quot;Wed&quot;,&quot;Thu&quot;,&quot;Fri&quot;,&quot;Sat&quot;],dayNamesMin:[&quot;Su&quot;,&quot;Mo&quot;,&quot;Tu&quot;,&quot;We&quot;,&quot;Th&quot;,&quot;Fr&quot;,&quot;Sa&quot;],digits:null,dateFormat:&quot;yyyy/mm/dd&quot;,firstDay:1,isRTL:!1}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,i.local.invalidYear);t=this._t2gYear(e.year());return o.leapYear(t)},weekOfYear:function(t,e,r){var n=this._validate(t,this.minMonth,this.minDay,i.local.invalidYear);t=this._t2gYear(n.year());return o.weekOfYear(t,n.month(),n.day())},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,i.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(2===r.month()&amp;&amp;this.leapYear(r.year())?1:0)},weekDay:function(t,e,r){return(this.dayOfWeek(t,e,r)||7)&lt;6},toJD:function(t,e,r){var n=this._validate(t,e,r,i.local.invalidDate);t=this._t2gYear(n.year());return o.toJD(t,n.month(),n.day())},fromJD:function(t){var e=o.fromJD(t),r=this._g2tYear(e.year());return this.newDate(r,e.month(),e.day())},_t2gYear:function(t){return t+this.yearsOffset+(t&gt;=-this.yearsOffset&amp;&amp;t&lt;=-1?1:0)},_g2tYear:function(t){return t-this.yearsOffset-(t&gt;=1&amp;&amp;t&lt;=this.yearsOffset?1:0)}}),i.calendars.taiwan=n},{&quot;../main&quot;:595,&quot;object-assign&quot;:462}],593:[function(t,e,r){function n(t){this.local=this.regionalOptions[t||&quot;&quot;]||this.regionalOptions[&quot;&quot;]}var i=t(&quot;../main&quot;),a=t(&quot;object-assign&quot;),o=i.instance();a(n.prototype=new i.baseCalendar,{name:&quot;Thai&quot;,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:{&quot;&quot;:{name:&quot;Thai&quot;,epochs:[&quot;BBE&quot;,&quot;BE&quot;],monthNames:[&quot;January&quot;,&quot;February&quot;,&quot;March&quot;,&quot;April&quot;,&quot;May&quot;,&quot;June&quot;,&quot;July&quot;,&quot;August&quot;,&quot;September&quot;,&quot;October&quot;,&quot;November&quot;,&quot;December&quot;],monthNamesShort:[&quot;Jan&quot;,&quot;Feb&quot;,&quot;Mar&quot;,&quot;Apr&quot;,&quot;May&quot;,&quot;Jun&quot;,&quot;Jul&quot;,&quot;Aug&quot;,&quot;Sep&quot;,&quot;Oct&quot;,&quot;Nov&quot;,&quot;Dec&quot;],dayNames:[&quot;Sunday&quot;,&quot;Monday&quot;,&quot;Tuesday&quot;,&quot;Wednesday&quot;,&quot;Thursday&quot;,&quot;Friday&quot;,&quot;Saturday&quot;],dayNamesShort:[&quot;Sun&quot;,&quot;Mon&quot;,&quot;Tue&quot;,&quot;Wed&quot;,&quot;Thu&quot;,&quot;Fri&quot;,&quot;Sat&quot;],dayNamesMin:[&quot;Su&quot;,&quot;Mo&quot;,&quot;Tu&quot;,&quot;We&quot;,&quot;Th&quot;,&quot;Fr&quot;,&quot;Sa&quot;],digits:null,dateFormat:&quot;dd/mm/yyyy&quot;,firstDay:0,isRTL:!1}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,i.local.invalidYear);t=this._t2gYear(e.year());return o.leapYear(t)},weekOfYear:function(t,e,r){var n=this._validate(t,this.minMonth,this.minDay,i.local.invalidYear);t=this._t2gYear(n.year());return o.weekOfYear(t,n.month(),n.day())},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,i.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(2===r.month()&amp;&amp;this.leapYear(r.year())?1:0)},weekDay:function(t,e,r){return(this.dayOfWeek(t,e,r)||7)&lt;6},toJD:function(t,e,r){var n=this._validate(t,e,r,i.local.invalidDate);t=this._t2gYear(n.year());return o.toJD(t,n.month(),n.day())},fromJD:function(t){var e=o.fromJD(t),r=this._g2tYear(e.year());return this.newDate(r,e.month(),e.day())},_t2gYear:function(t){return t-this.yearsOffset-(t&gt;=1&amp;&amp;t&lt;=this.yearsOffset?1:0)},_g2tYear:function(t){return t+this.yearsOffset+(t&gt;=-this.yearsOffset&amp;&amp;t&lt;=-1?1:0)}}),i.calendars.thai=n},{&quot;../main&quot;:595,&quot;object-assign&quot;:462}],594:[function(t,e,r){function n(t){this.local=this.regionalOptions[t||&quot;&quot;]||this.regionalOptions[&quot;&quot;]}var i=t(&quot;../main&quot;);t(&quot;object-assign&quot;)(n.prototype=new i.baseCalendar,{name:&quot;UmmAlQura&quot;,hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{&quot;&quot;:{name:&quot;Umm al-Qura&quot;,epochs:[&quot;BH&quot;,&quot;AH&quot;],monthNames:[&quot;Al-Muharram&quot;,&quot;Safar&quot;,&quot;Rabi' al-awwal&quot;,&quot;Rabi' Al-Thani&quot;,&quot;Jumada Al-Awwal&quot;,&quot;Jumada Al-Thani&quot;,&quot;Rajab&quot;,&quot;Sha'aban&quot;,&quot;Ramadan&quot;,&quot;Shawwal&quot;,&quot;Dhu al-Qi'dah&quot;,&quot;Dhu al-Hijjah&quot;],monthNamesShort:[&quot;Muh&quot;,&quot;Saf&quot;,&quot;Rab1&quot;,&quot;Rab2&quot;,&quot;Jum1&quot;,&quot;Jum2&quot;,&quot;Raj&quot;,&quot;Sha'&quot;,&quot;Ram&quot;,&quot;Shaw&quot;,&quot;DhuQ&quot;,&quot;DhuH&quot;],dayNames:[&quot;Yawm al-Ahad&quot;,&quot;Yawm al-Ithnain&quot;,&quot;Yawm al-Thal\u0101th\u0101\u2019&quot;,&quot;Yawm al-Arba\u2018\u0101\u2019&quot;,&quot;Yawm al-Kham\u012bs&quot;,&quot;Yawm al-Jum\u2018a&quot;,&quot;Yawm al-Sabt&quot;],dayNamesMin:[&quot;Ah&quot;,&quot;Ith&quot;,&quot;Th&quot;,&quot;Ar&quot;,&quot;Kh&quot;,&quot;Ju&quot;,&quot;Sa&quot;],digits:null,dateFormat:&quot;yyyy/mm/dd&quot;,firstDay:6,isRTL:!0}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,i.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(),&quot;d&quot;),Math.floor((n.dayOfYear()-1)/7)+1},daysInYear:function(t){for(var e=0,r=1;r&lt;=12;r++)e+=this.daysInMonth(t,r);return e},daysInMonth:function(t,e){for(var r=this._validate(t,e,this.minDay,i.local.invalidMonth).toJD()-24e5+.5,n=0,o=0;o&lt;a.length;o++){if(a[o]&gt;r)return a[n]-a[n-1];n++}return 30},weekDay:function(t,e,r){return 5!==this.dayOfWeek(t,e,r)},toJD:function(t,e,r){var n=this._validate(t,e,r,i.local.invalidDate),o=12*(n.year()-1)+n.month()-15292;return n.day()+a[o-1]-1+24e5-.5},fromJD:function(t){for(var e=t-24e5+.5,r=0,n=0;n&lt;a.length&amp;&amp;!(a[n]&gt;e);n++)r++;var i=r+15292,o=Math.floor((i-1)/12),s=o+1,l=i-12*o,c=e-a[r-1]+1;return this.newDate(s,l,c)},isValid:function(t,e,r){var n=i.baseCalendar.prototype.isValid.apply(this,arguments);return n&amp;&amp;(n=(t=null!=t.year?t.year:t)&gt;=1276&amp;&amp;t&lt;=1500),n},_validate:function(t,e,r,n){var a=i.baseCalendar.prototype._validate.apply(this,arguments);if(a.year&lt;1276||a.year&gt;1500)throw n.replace(/\{0\}/,this.local.name);return a}}),i.calendars.ummalqura=n;var a=[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]},{&quot;../main&quot;:595,&quot;object-assign&quot;:462}],595:[function(t,e,r){function n(){this.regionalOptions=[],this.regionalOptions[&quot;&quot;]={invalidCalendar:&quot;Calendar {0} not found&quot;,invalidDate:&quot;Invalid {0} date&quot;,invalidMonth:&quot;Invalid {0} month&quot;,invalidYear:&quot;Invalid {0} year&quot;,differentCalendars:&quot;Cannot mix {0} and {1} dates&quot;},this.local=this.regionalOptions[&quot;&quot;],this.calendars={},this._localCals={}}function i(t,e,r,n){if(this._calendar=t,this._year=e,this._month=r,this._day=n,0===this._calendar._validateLevel&amp;&amp;!this._calendar.isValid(this._year,this._month,this._day))throw(c.local.invalidDate||c.regionalOptions[&quot;&quot;].invalidDate).replace(/\{0\}/,this._calendar.local.name)}function a(t,e){return t=&quot;&quot;+t,&quot;000000&quot;.substring(0,e-t.length)+t}function o(){this.shortYearCutoff=&quot;+10&quot;}function s(t){this.local=this.regionalOptions[t]||this.regionalOptions[&quot;&quot;]}var l=t(&quot;object-assign&quot;);l(n.prototype,{instance:function(t,e){t=(t||&quot;gregorian&quot;).toLowerCase(),e=e||&quot;&quot;;var r=this._localCals[t+&quot;-&quot;+e];if(!r&amp;&amp;this.calendars[t]&amp;&amp;(r=new this.calendars[t](e),this._localCals[t+&quot;-&quot;+e]=r),!r)throw(this.local.invalidCalendar||this.regionalOptions[&quot;&quot;].invalidCalendar).replace(/\{0\}/,t);return r},newDate:function(t,e,r,n,i){return(n=(null!=t&amp;&amp;t.year?t.calendar():&quot;string&quot;==typeof n?this.instance(n,i):n)||this.instance()).newDate(t,e,r)},substituteDigits:function(t){return function(e){return(e+&quot;&quot;).replace(/[0-9]/g,function(e){return t[e]})}},substituteChineseDigits:function(t,e){return function(r){for(var n=&quot;&quot;,i=0;r&gt;0;){var a=r%10;n=(0===a?&quot;&quot;:t[a]+e[i])+n,i++,r=Math.floor(r/10)}return 0===n.indexOf(t[1]+e[1])&amp;&amp;(n=n.substr(1)),n||t[0]}}}),l(i.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,&quot;y&quot;)},month:function(t){return 0===arguments.length?this._month:this.set(t,&quot;m&quot;)},day:function(t){return 0===arguments.length?this._day:this.set(t,&quot;d&quot;)},date:function(t,e,r){if(!this._calendar.isValid(t,e,r))throw(c.local.invalidDate||c.regionalOptions[&quot;&quot;].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[&quot;&quot;].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&lt;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()&lt;0?&quot;-&quot;:&quot;&quot;)+a(Math.abs(this.year()),4)+&quot;-&quot;+a(this.month(),2)+&quot;-&quot;+a(this.day(),2)}}),l(o.prototype,{_validateLevel:0,newDate:function(t,e,r){return null==t?this.today():(t.year&amp;&amp;(this._validate(t,e,r,c.local.invalidDate||c.regionalOptions[&quot;&quot;].invalidDate),r=t.day(),e=t.month(),t=t.year()),new i(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[&quot;&quot;].invalidYear).year()&lt;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[&quot;&quot;].invalidYear);return(e.year()&lt;0?&quot;-&quot;:&quot;&quot;)+a(Math.abs(e.year()),4)},monthsInYear:function(t){return this._validate(t,this.minMonth,this.minDay,c.local.invalidYear||c.regionalOptions[&quot;&quot;].invalidYear),12},monthOfYear:function(t,e){var r=this._validate(t,e,this.minDay,c.local.invalidMonth||c.regionalOptions[&quot;&quot;].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[&quot;&quot;].invalidMonth),r},daysInYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,c.local.invalidYear||c.regionalOptions[&quot;&quot;].invalidYear);return this.leapYear(e)?366:365},dayOfYear:function(t,e,r){var n=this._validate(t,e,r,c.local.invalidDate||c.regionalOptions[&quot;&quot;].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[&quot;&quot;].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[&quot;&quot;].invalidDate),{}},add:function(t,e,r){return this._validate(t,this.minMonth,this.minDay,c.local.invalidDate||c.regionalOptions[&quot;&quot;].invalidDate),this._correctAdd(t,this._add(t,e,r),e,r)},_add:function(t,e,r){if(this._validateLevel++,&quot;d&quot;===r||&quot;w&quot;===r){var n=t.toJD()+e*(&quot;w&quot;===r?this.daysInWeek():1),i=t.calendar().fromJD(n);return this._validateLevel--,[i.year(),i.month(),i.day()]}try{var a=t.year()+(&quot;y&quot;===r?e:0),o=t.monthOfYear()+(&quot;m&quot;===r?e:0);i=t.day();&quot;y&quot;===r?(t.month()!==this.fromMonthOfYear(a,o)&amp;&amp;(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)))):&quot;m&quot;===r&amp;&amp;(!function(t){for(;o&lt;t.minMonth;)a--,o+=t.monthsInYear(a);for(var e=t.monthsInYear(a);o&gt;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||&quot;y&quot;!==n&amp;&amp;&quot;m&quot;!==n||0!==e[0]&amp;&amp;t.year()&gt;0==e[0]&gt;0)){var i={y:[1,1,&quot;y&quot;],m:[1,this.monthsInYear(-1),&quot;m&quot;],w:[this.daysInWeek(),this.daysInYear(-1),&quot;d&quot;],d:[1,this.daysInYear(-1),&quot;d&quot;]}[n],a=r&lt;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[&quot;&quot;].invalidDate);var n=&quot;y&quot;===r?e:t.year(),i=&quot;m&quot;===r?e:t.month(),a=&quot;d&quot;===r?e:t.day();return&quot;y&quot;!==r&amp;&amp;&quot;m&quot;!==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&gt;=this.minMonth&amp;&amp;e-this.minMonth&lt;this.monthsInYear(i)&amp;&amp;r&gt;=this.minDay&amp;&amp;r-this.minDay&lt;this.daysInMonth(i)}return this._validateLevel--,n},toJSDate:function(t,e,r){var n=this._validate(t,e,r,c.local.invalidDate||c.regionalOptions[&quot;&quot;].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&amp;&amp;this.name!==t.calendar().name)throw(c.local.differentCalendars||c.regionalOptions[&quot;&quot;].differentCalendars).replace(/\{0\}/,this.local.name).replace(/\{1\}/,t.calendar().local.name);return t}try{if(this._validateLevel++,1===this._validateLevel&amp;&amp;!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(s.prototype=new o,{name:&quot;Gregorian&quot;,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:{&quot;&quot;:{name:&quot;Gregorian&quot;,epochs:[&quot;BCE&quot;,&quot;CE&quot;],monthNames:[&quot;January&quot;,&quot;February&quot;,&quot;March&quot;,&quot;April&quot;,&quot;May&quot;,&quot;June&quot;,&quot;July&quot;,&quot;August&quot;,&quot;September&quot;,&quot;October&quot;,&quot;November&quot;,&quot;December&quot;],monthNamesShort:[&quot;Jan&quot;,&quot;Feb&quot;,&quot;Mar&quot;,&quot;Apr&quot;,&quot;May&quot;,&quot;Jun&quot;,&quot;Jul&quot;,&quot;Aug&quot;,&quot;Sep&quot;,&quot;Oct&quot;,&quot;Nov&quot;,&quot;Dec&quot;],dayNames:[&quot;Sunday&quot;,&quot;Monday&quot;,&quot;Tuesday&quot;,&quot;Wednesday&quot;,&quot;Thursday&quot;,&quot;Friday&quot;,&quot;Saturday&quot;],dayNamesShort:[&quot;Sun&quot;,&quot;Mon&quot;,&quot;Tue&quot;,&quot;Wed&quot;,&quot;Thu&quot;,&quot;Fri&quot;,&quot;Sat&quot;],dayNamesMin:[&quot;Su&quot;,&quot;Mo&quot;,&quot;Tu&quot;,&quot;We&quot;,&quot;Th&quot;,&quot;Fr&quot;,&quot;Sa&quot;],digits:null,dateFormat:&quot;mm/dd/yyyy&quot;,firstDay:0,isRTL:!1}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,c.local.invalidYear||c.regionalOptions[&quot;&quot;].invalidYear);return(t=e.year()+(e.year()&lt;0?1:0))%4==0&amp;&amp;(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),&quot;d&quot;),Math.floor((n.dayOfYear()-1)/7)+1},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,c.local.invalidMonth||c.regionalOptions[&quot;&quot;].invalidMonth);return this.daysPerMonth[r.month()-1]+(2===r.month()&amp;&amp;this.leapYear(r.year())?1:0)},weekDay:function(t,e,r){return(this.dayOfWeek(t,e,r)||7)&lt;6},toJD:function(t,e,r){var n=this._validate(t,e,r,c.local.invalidDate||c.regionalOptions[&quot;&quot;].invalidDate);t=n.year(),e=n.month(),r=n.day(),t&lt;0&amp;&amp;t++,e&lt;3&amp;&amp;(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&gt;13.5?13:1),c=i-(l&gt;2.5?4716:4715);return c&lt;=0&amp;&amp;c--,this.newDate(c,l,s)},toJSDate:function(t,e,r){var n=this._validate(t,e,r,c.local.invalidDate||c.regionalOptions[&quot;&quot;].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()&gt;12?i.getHours()+2:0),i},fromJSDate:function(t){return this.newDate(t.getFullYear(),t.getMonth()+1,t.getDate())}});var c=e.exports=new n;c.cdate=i,c.baseCalendar=o,c.calendars.gregorian=s},{&quot;object-assign&quot;:462}],596:[function(t,e,r){var n=t(&quot;object-assign&quot;),i=t(&quot;./main&quot;);n(i.regionalOptions[&quot;&quot;],{invalidArguments:&quot;Invalid arguments&quot;,invalidFormat:&quot;Cannot format a date from another calendar&quot;,missingNumberAt:&quot;Missing number at position {0}&quot;,unknownNameAt:&quot;Unknown name at position {0}&quot;,unexpectedLiteralAt:&quot;Unexpected literal at position {0}&quot;,unexpectedText:&quot;Additional text found at end&quot;}),i.local=i.regionalOptions[&quot;&quot;],n(i.cdate.prototype,{formatDate:function(t,e){return&quot;string&quot;!=typeof t&amp;&amp;(e=t,t=&quot;&quot;),this._calendar.formatDate(t||&quot;&quot;,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:&quot;yyyy-mm-dd&quot;,COOKIE:&quot;D, dd M yyyy&quot;,FULL:&quot;DD, MM d, yyyy&quot;,ISO_8601:&quot;yyyy-mm-dd&quot;,JULIAN:&quot;J&quot;,RFC_822:&quot;D, d M yy&quot;,RFC_850:&quot;DD, dd-M-yy&quot;,RFC_1036:&quot;D, d M yy&quot;,RFC_1123:&quot;D, d M yyyy&quot;,RFC_2822:&quot;D, d M yyyy&quot;,RSS:&quot;D, d M yy&quot;,TICKS:&quot;!&quot;,TIMESTAMP:&quot;@&quot;,W3C:&quot;yyyy-mm-dd&quot;,formatDate:function(t,e,r){if(&quot;string&quot;!=typeof t&amp;&amp;(r=e,e=t,t=&quot;&quot;),!e)return&quot;&quot;;if(e.calendar()!==this)throw i.local.invalidFormat||i.regionalOptions[&quot;&quot;].invalidFormat;t=t||this.local.dateFormat;for(var n=(r=r||{}).dayNamesShort||this.local.dayNamesShort,a=r.dayNames||this.local.dayNames,o=r.monthNumbers||this.local.monthNumbers,s=r.monthNamesShort||this.local.monthNamesShort,l=r.monthNames||this.local.monthNames,c=(r.calculateWeek||this.local.calculateWeek,function(e,r){for(var n=1;x+n&lt;t.length&amp;&amp;t.charAt(x+n)===e;)n++;return x+=n-1,Math.floor(n/(r||1))&gt;1}),u=function(t,e,r,n){var i=&quot;&quot;+e;if(c(t,n))for(;i.length&lt;r;)i=&quot;0&quot;+i;return i},f=function(t,e,r,n){return c(t)?n[e]:r[e]},h=this,d=function(t){return&quot;function&quot;==typeof o?o.call(h,t,c(&quot;m&quot;)):g(u(&quot;m&quot;,t.month(),2))},p=function(t,e){return e?&quot;function&quot;==typeof l?l.call(h,t):l[t.month()-h.minMonth]:&quot;function&quot;==typeof s?s.call(h,t):s[t.month()-h.minMonth]},m=this.local.digits,g=function(t){return r.localNumbers&amp;&amp;m?m(t):t},v=&quot;&quot;,y=!1,x=0;x&lt;t.length;x++)if(y)&quot;'&quot;!==t.charAt(x)||c(&quot;'&quot;)?v+=t.charAt(x):y=!1;else switch(t.charAt(x)){case&quot;d&quot;:v+=g(u(&quot;d&quot;,e.day(),2));break;case&quot;D&quot;:v+=f(&quot;D&quot;,e.dayOfWeek(),n,a);break;case&quot;o&quot;:v+=u(&quot;o&quot;,e.dayOfYear(),3);break;case&quot;w&quot;:v+=u(&quot;w&quot;,e.weekOfYear(),2);break;case&quot;m&quot;:v+=d(e);break;case&quot;M&quot;:v+=p(e,c(&quot;M&quot;));break;case&quot;y&quot;:v+=c(&quot;y&quot;,2)?e.year():(e.year()%100&lt;10?&quot;0&quot;:&quot;&quot;)+e.year()%100;break;case&quot;Y&quot;:c(&quot;Y&quot;,2),v+=e.formatYear();break;case&quot;J&quot;:v+=e.toJD();break;case&quot;@&quot;:v+=(e.toJD()-this.UNIX_EPOCH)*this.SECS_PER_DAY;break;case&quot;!&quot;:v+=(e.toJD()-this.TICKS_EPOCH)*this.TICKS_PER_DAY;break;case&quot;'&quot;:c(&quot;'&quot;)?v+=&quot;'&quot;:y=!0;break;default:v+=t.charAt(x)}return v},parseDate:function(t,e,r){if(null==e)throw i.local.invalidArguments||i.regionalOptions[&quot;&quot;].invalidArguments;if(&quot;&quot;===(e=&quot;object&quot;==typeof e?e.toString():e+&quot;&quot;))return null;t=t||this.local.dateFormat;var n=(r=r||{}).shortYearCutoff||this.shortYearCutoff;n=&quot;string&quot;!=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,d=-1,p=-1,m=-1,g=!1,v=!1,y=function(e,r){for(var n=1;T+n&lt;t.length&amp;&amp;t.charAt(T+n)===e;)n++;return T+=n-1,Math.floor(n/(r||1))&gt;1},x=function(t,r){var n=y(t,r),a=[2,3,n?4:2,n?4:2,10,11,20][&quot;oyYJ@!&quot;.indexOf(t)+1],o=new RegExp(&quot;^-?\\d{1,&quot;+a+&quot;}&quot;),s=e.substring(A).match(o);if(!s)throw(i.local.missingNumberAt||i.regionalOptions[&quot;&quot;].missingNumberAt).replace(/\{0\}/,A);return A+=s[0].length,parseInt(s[0],10)},b=this,_=function(){if(&quot;function&quot;==typeof l){y(&quot;m&quot;);var t=l.call(b,e.substring(A));return A+=t.length,t}return x(&quot;m&quot;)},w=function(t,r,n,a){for(var o=y(t,a)?n:r,s=0;s&lt;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[&quot;&quot;].unknownNameAt).replace(/\{0\}/,A)},M=function(){if(&quot;function&quot;==typeof u){var t=y(&quot;M&quot;)?u.call(b,e.substring(A)):c.call(b,e.substring(A));return A+=t.length,t}return w(&quot;M&quot;,c,u)},k=function(){if(e.charAt(A)!==t.charAt(T))throw(i.local.unexpectedLiteralAt||i.regionalOptions[&quot;&quot;].unexpectedLiteralAt).replace(/\{0\}/,A);A++},A=0,T=0;T&lt;t.length;T++)if(v)&quot;'&quot;!==t.charAt(T)||y(&quot;'&quot;)?k():v=!1;else switch(t.charAt(T)){case&quot;d&quot;:p=x(&quot;d&quot;);break;case&quot;D&quot;:w(&quot;D&quot;,a,o);break;case&quot;o&quot;:m=x(&quot;o&quot;);break;case&quot;w&quot;:x(&quot;w&quot;);break;case&quot;m&quot;:d=_();break;case&quot;M&quot;:d=M();break;case&quot;y&quot;:var S=T;g=!y(&quot;y&quot;,2),T=S,h=x(&quot;y&quot;,2);break;case&quot;Y&quot;:h=x(&quot;Y&quot;,2);break;case&quot;J&quot;:f=x(&quot;J&quot;)+.5,&quot;.&quot;===e.charAt(A)&amp;&amp;(A++,x(&quot;J&quot;));break;case&quot;@&quot;:f=x(&quot;@&quot;)/this.SECS_PER_DAY+this.UNIX_EPOCH;break;case&quot;!&quot;:f=x(&quot;!&quot;)/this.TICKS_PER_DAY+this.TICKS_EPOCH;break;case&quot;*&quot;:A=e.length;break;case&quot;'&quot;:y(&quot;'&quot;)?k():v=!0;break;default:k()}if(A&lt;e.length)throw i.local.unexpectedText||i.regionalOptions[&quot;&quot;].unexpectedText;if(-1===h?h=this.today().year():h&lt;100&amp;&amp;g&amp;&amp;(h+=-1===n?1900:this.today().year()-this.today().year()%100-(h&lt;=n?0:100)),&quot;string&quot;==typeof d&amp;&amp;(d=s.call(this,h,d)),m&gt;-1){d=1,p=m;for(var E=this.daysInMonth(h,d);p&gt;E;E=this.daysInMonth(h,d))d++,p-=E}return f&gt;-1?this.fromJD(f):this.newDate(h,d,p)},determineDate:function(t,e,r,n,i){r&amp;&amp;&quot;object&quot;!=typeof r&amp;&amp;(i=n,n=r,r=null),&quot;string&quot;!=typeof n&amp;&amp;(i=n,n=&quot;&quot;);var a=this;return e=e?e.newDate():null,t=null==t?e:&quot;string&quot;==typeof t?function(t){try{return a.parseDate(n,t,i)}catch(t){}for(var e=((t=t.toLowerCase()).match(/^c/)&amp;&amp;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]||&quot;d&quot;),s=o.exec(t);return e}(t):&quot;number&quot;==typeof t?isNaN(t)||t===1/0||t===-1/0?e:a.today().add(t,&quot;d&quot;):a.newDate(t)}})},{&quot;./main&quot;:595,&quot;object-assign&quot;:462}],597:[function(t,e,r){e.exports=t(&quot;cwise-compiler&quot;)({args:[&quot;array&quot;,{offset:[1],array:0},&quot;scalar&quot;,&quot;scalar&quot;,&quot;index&quot;],pre:{body:&quot;{}&quot;,args:[],thisVars:[],localVars:[]},post:{body:&quot;{}&quot;,args:[],thisVars:[],localVars:[]},body:{body:&quot;{\n        var _inline_1_da = _inline_1_arg0_ - _inline_1_arg3_\n        var _inline_1_db = _inline_1_arg1_ - _inline_1_arg3_\n        if((_inline_1_da &gt;= 0) !== (_inline_1_db &gt;= 0)) {\n          _inline_1_arg2_.push(_inline_1_arg4_[0] + 0.5 + 0.5 * (_inline_1_da + _inline_1_db) / (_inline_1_da - _inline_1_db))\n        }\n      }&quot;,args:[{name:&quot;_inline_1_arg0_&quot;,lvalue:!1,rvalue:!0,count:1},{name:&quot;_inline_1_arg1_&quot;,lvalue:!1,rvalue:!0,count:1},{name:&quot;_inline_1_arg2_&quot;,lvalue:!1,rvalue:!0,count:1},{name:&quot;_inline_1_arg3_&quot;,lvalue:!1,rvalue:!0,count:2},{name:&quot;_inline_1_arg4_&quot;,lvalue:!1,rvalue:!0,count:1}],thisVars:[],localVars:[&quot;_inline_1_da&quot;,&quot;_inline_1_db&quot;]},funcName:&quot;zeroCrossings&quot;})},{&quot;cwise-compiler&quot;:116}],598:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t,e){var r=[];return e=+e||0,n(t.hi(t.shape[0]-1),r,e),r};var n=t(&quot;./lib/zc-core&quot;)},{&quot;./lib/zc-core&quot;:597}],599:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib&quot;),i=t(&quot;../../plots/cartesian/axes&quot;),a=t(&quot;./common_defaults&quot;),o=t(&quot;./attributes&quot;);e.exports=function(t,e,r,s,l){function c(r,i){return n.coerce(t,e,o,r,i)}s=s||{};var u=c(&quot;visible&quot;,!(l=l||{}).itemIsNotPlainObject),f=c(&quot;clicktoshow&quot;);if(!u&amp;&amp;!f)return e;a(t,e,r,c);for(var h=e.showarrow,d=[&quot;x&quot;,&quot;y&quot;],p=[-10,-30],m={_fullLayout:r},g=0;g&lt;2;g++){var v=d[g],y=i.coerceRef(t,e,m,v,&quot;&quot;,&quot;paper&quot;);if(i.coercePosition(e,m,c,y,v,.5),h){var x=&quot;a&quot;+v,b=i.coerceRef(t,e,m,x,&quot;pixel&quot;);&quot;pixel&quot;!==b&amp;&amp;b!==y&amp;&amp;(b=e[x]=&quot;pixel&quot;);var _=&quot;pixel&quot;===b?p[g]:.4;i.coercePosition(e,m,c,b,x,_)}c(v+&quot;anchor&quot;),c(v+&quot;shift&quot;)}if(n.noneOrAll(t,e,[&quot;x&quot;,&quot;y&quot;]),h&amp;&amp;n.noneOrAll(t,e,[&quot;ax&quot;,&quot;ay&quot;]),f){var w=c(&quot;xclick&quot;),M=c(&quot;yclick&quot;);e._xclick=void 0===w?e.x:i.cleanPosition(w,m,e.xref),e._yclick=void 0===M?e.y:i.cleanPosition(M,m,e.yref)}return e}},{&quot;../../lib&quot;:743,&quot;../../plots/cartesian/axes&quot;:789,&quot;./attributes&quot;:601,&quot;./common_defaults&quot;:604}],600:[function(t,e,r){&quot;use strict&quot;;e.exports=[{path:&quot;&quot;,backoff:0},{path:&quot;M-2.4,-3V3L0.6,0Z&quot;,backoff:.6},{path:&quot;M-3.7,-2.5V2.5L1.3,0Z&quot;,backoff:1.3},{path:&quot;M-4.45,-3L-1.65,-0.2V0.2L-4.45,3L1.55,0Z&quot;,backoff:1.55},{path:&quot;M-2.2,-2.2L-0.2,-0.2V0.2L-2.2,2.2L-1.4,3L1.6,0L-1.4,-3Z&quot;,backoff:1.6},{path:&quot;M-4.4,-2.1L-0.6,-0.2V0.2L-4.4,2.1L-4,3L2,0L-4,-3Z&quot;,backoff:2},{path:&quot;M2,0A2,2 0 1,1 0,-2A2,2 0 0,1 2,0Z&quot;,backoff:0,noRotate:!0},{path:&quot;M2,2V-2H-2V2Z&quot;,backoff:0,noRotate:!0}]},{}],601:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;./arrow_paths&quot;),i=t(&quot;../../plots/font_attributes&quot;),a=t(&quot;../../plots/cartesian/constants&quot;);e.exports={_isLinkedToArray:&quot;annotation&quot;,visible:{valType:&quot;boolean&quot;,dflt:!0,editType:&quot;calcIfAutorange&quot;},text:{valType:&quot;string&quot;,editType:&quot;calcIfAutorange&quot;},textangle:{valType:&quot;angle&quot;,dflt:0,editType:&quot;calcIfAutorange&quot;},font:i({editType:&quot;calcIfAutorange&quot;,colorEditType:&quot;arraydraw&quot;}),width:{valType:&quot;number&quot;,min:1,dflt:null,editType:&quot;calcIfAutorange&quot;},height:{valType:&quot;number&quot;,min:1,dflt:null,editType:&quot;calcIfAutorange&quot;},opacity:{valType:&quot;number&quot;,min:0,max:1,dflt:1,editType:&quot;arraydraw&quot;},align:{valType:&quot;enumerated&quot;,values:[&quot;left&quot;,&quot;center&quot;,&quot;right&quot;],dflt:&quot;center&quot;,editType:&quot;arraydraw&quot;},valign:{valType:&quot;enumerated&quot;,values:[&quot;top&quot;,&quot;middle&quot;,&quot;bottom&quot;],dflt:&quot;middle&quot;,editType:&quot;arraydraw&quot;},bgcolor:{valType:&quot;color&quot;,dflt:&quot;rgba(0,0,0,0)&quot;,editType:&quot;arraydraw&quot;},bordercolor:{valType:&quot;color&quot;,dflt:&quot;rgba(0,0,0,0)&quot;,editType:&quot;arraydraw&quot;},borderpad:{valType:&quot;number&quot;,min:0,dflt:1,editType:&quot;calcIfAutorange&quot;},borderwidth:{valType:&quot;number&quot;,min:0,dflt:1,editType:&quot;calcIfAutorange&quot;},showarrow:{valType:&quot;boolean&quot;,dflt:!0,editType:&quot;calcIfAutorange&quot;},arrowcolor:{valType:&quot;color&quot;,editType:&quot;arraydraw&quot;},arrowhead:{valType:&quot;integer&quot;,min:0,max:n.length,dflt:1,editType:&quot;arraydraw&quot;},startarrowhead:{valType:&quot;integer&quot;,min:0,max:n.length,dflt:1,editType:&quot;arraydraw&quot;},arrowside:{valType:&quot;flaglist&quot;,flags:[&quot;end&quot;,&quot;start&quot;],extras:[&quot;none&quot;],dflt:&quot;end&quot;,editType:&quot;arraydraw&quot;},arrowsize:{valType:&quot;number&quot;,min:.3,dflt:1,editType:&quot;calcIfAutorange&quot;},startarrowsize:{valType:&quot;number&quot;,min:.3,dflt:1,editType:&quot;calcIfAutorange&quot;},arrowwidth:{valType:&quot;number&quot;,min:.1,editType:&quot;calcIfAutorange&quot;},standoff:{valType:&quot;number&quot;,min:0,dflt:0,editType:&quot;calcIfAutorange&quot;},startstandoff:{valType:&quot;number&quot;,min:0,dflt:0,editType:&quot;calcIfAutorange&quot;},ax:{valType:&quot;any&quot;,editType:&quot;calcIfAutorange&quot;},ay:{valType:&quot;any&quot;,editType:&quot;calcIfAutorange&quot;},axref:{valType:&quot;enumerated&quot;,dflt:&quot;pixel&quot;,values:[&quot;pixel&quot;,a.idRegex.x.toString()],editType:&quot;calc&quot;},ayref:{valType:&quot;enumerated&quot;,dflt:&quot;pixel&quot;,values:[&quot;pixel&quot;,a.idRegex.y.toString()],editType:&quot;calc&quot;},xref:{valType:&quot;enumerated&quot;,values:[&quot;paper&quot;,a.idRegex.x.toString()],editType:&quot;calc&quot;},x:{valType:&quot;any&quot;,editType:&quot;calcIfAutorange&quot;},xanchor:{valType:&quot;enumerated&quot;,values:[&quot;auto&quot;,&quot;left&quot;,&quot;center&quot;,&quot;right&quot;],dflt:&quot;auto&quot;,editType:&quot;calcIfAutorange&quot;},xshift:{valType:&quot;number&quot;,dflt:0,editType:&quot;calcIfAutorange&quot;},yref:{valType:&quot;enumerated&quot;,values:[&quot;paper&quot;,a.idRegex.y.toString()],editType:&quot;calc&quot;},y:{valType:&quot;any&quot;,editType:&quot;calcIfAutorange&quot;},yanchor:{valType:&quot;enumerated&quot;,values:[&quot;auto&quot;,&quot;top&quot;,&quot;middle&quot;,&quot;bottom&quot;],dflt:&quot;auto&quot;,editType:&quot;calcIfAutorange&quot;},yshift:{valType:&quot;number&quot;,dflt:0,editType:&quot;calcIfAutorange&quot;},clicktoshow:{valType:&quot;enumerated&quot;,values:[!1,&quot;onoff&quot;,&quot;onout&quot;],dflt:!1,editType:&quot;arraydraw&quot;},xclick:{valType:&quot;any&quot;,editType:&quot;arraydraw&quot;},yclick:{valType:&quot;any&quot;,editType:&quot;arraydraw&quot;},hovertext:{valType:&quot;string&quot;,editType:&quot;arraydraw&quot;},hoverlabel:{bgcolor:{valType:&quot;color&quot;,editType:&quot;arraydraw&quot;},bordercolor:{valType:&quot;color&quot;,editType:&quot;arraydraw&quot;},font:i({editType:&quot;arraydraw&quot;}),editType:&quot;arraydraw&quot;},captureevents:{valType:&quot;boolean&quot;,editType:&quot;arraydraw&quot;},editType:&quot;calc&quot;,_deprecated:{ref:{valType:&quot;string&quot;,editType:&quot;calc&quot;}}}},{&quot;../../plots/cartesian/constants&quot;:794,&quot;../../plots/font_attributes&quot;:816,&quot;./arrow_paths&quot;:600}],602:[function(t,e,r){&quot;use strict&quot;;function n(t){var e=t._fullLayout;i.filterVisible(e.annotations).forEach(function(e){var r,n,i,o,s=a.getFromId(t,e.xref),l=a.getFromId(t,e.yref),c=3*e.arrowsize*e.arrowwidth||0,u=3*e.startarrowsize*e.arrowwidth||0;s&amp;&amp;s.autorange&amp;&amp;(r=c+e.xshift,n=c-e.xshift,i=u+e.xshift,o=u-e.xshift,e.axref===e.xref?(a.expand(s,[s.r2c(e.x)],{ppadplus:r,ppadminus:n}),a.expand(s,[s.r2c(e.ax)],{ppadplus:Math.max(e._xpadplus,i),ppadminus:Math.max(e._xpadminus,o)})):(i=e.ax?i+e.ax:i,o=e.ax?o-e.ax:o,a.expand(s,[s.r2c(e.x)],{ppadplus:Math.max(e._xpadplus,r,i),ppadminus:Math.max(e._xpadminus,n,o)}))),l&amp;&amp;l.autorange&amp;&amp;(r=c-e.yshift,n=c+e.yshift,i=u-e.yshift,o=u+e.yshift,e.ayref===e.yref?(a.expand(l,[l.r2c(e.y)],{ppadplus:r,ppadminus:n}),a.expand(l,[l.r2c(e.ay)],{ppadplus:Math.max(e._ypadplus,i),ppadminus:Math.max(e._ypadminus,o)})):(i=e.ay?i+e.ay:i,o=e.ay?o-e.ay:o,a.expand(l,[l.r2c(e.y)],{ppadplus:Math.max(e._ypadplus,r,i),ppadminus:Math.max(e._ypadminus,n,o)})))})}var i=t(&quot;../../lib&quot;),a=t(&quot;../../plots/cartesian/axes&quot;),o=t(&quot;./draw&quot;).draw;e.exports=function(t){var e=t._fullLayout,r=i.filterVisible(e.annotations);if(r.length&amp;&amp;t._fullData.length){var s={};r.forEach(function(t){s[t.xref]=1,s[t.yref]=1});for(var l in s){var c=a.getFromId(t,l);if(c&amp;&amp;c.autorange)return i.syncOrAsync([o,n],t)}}}},{&quot;../../lib&quot;:743,&quot;../../plots/cartesian/axes&quot;:789,&quot;./draw&quot;:607}],603:[function(t,e,r){&quot;use strict&quot;;function n(t,e){var r,n,a,o,s,l,c,u=t._fullLayout.annotations,f=[],h=[],d=[],p=(e||[]).length;for(r=0;r&lt;u.length;r++)if(a=u[r],o=a.clicktoshow){for(n=0;n&lt;p;n++)if(s=e[n],l=s.xaxis,c=s.yaxis,l._id===a.xref&amp;&amp;c._id===a.yref&amp;&amp;l.d2r(s.x)===i(a._xclick,l)&amp;&amp;c.d2r(s.y)===i(a._yclick,c)){(a.visible?&quot;onout&quot;===o?h:d:f).push(r);break}n===p&amp;&amp;a.visible&amp;&amp;&quot;onout&quot;===o&amp;&amp;h.push(r)}return{on:f,off:h,explicitOff:d}}function i(t,e){return&quot;log&quot;===e.type?e.l2r(t):e.d2r(t)}var a=t(&quot;../../plotly&quot;);e.exports={hasClickToShow:function(t,e){var r=n(t,e);return r.on.length&gt;0||r.explicitOff.length&gt;0},onClick:function(t,e){var r,i=n(t,e),o=i.on,s=i.off.concat(i.explicitOff),l={};if(o.length||s.length){for(r=0;r&lt;o.length;r++)l[&quot;annotations[&quot;+o[r]+&quot;].visible&quot;]=!0;for(r=0;r&lt;s.length;r++)l[&quot;annotations[&quot;+s[r]+&quot;].visible&quot;]=!1;return a.update(t,{},l)}}}},{&quot;../../plotly&quot;:784}],604:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib&quot;),i=t(&quot;../color&quot;);e.exports=function(t,e,r,a){a(&quot;opacity&quot;);var o=a(&quot;bgcolor&quot;),s=a(&quot;bordercolor&quot;),l=i.opacity(s);a(&quot;borderpad&quot;);var c=a(&quot;borderwidth&quot;),u=a(&quot;showarrow&quot;);a(&quot;text&quot;,u?&quot; &quot;:r._dfltTitle.annotation),a(&quot;textangle&quot;),n.coerceFont(a,&quot;font&quot;,r.font),a(&quot;width&quot;),a(&quot;align&quot;);if(a(&quot;height&quot;)&amp;&amp;a(&quot;valign&quot;),u){var f,h,d=a(&quot;arrowside&quot;);-1!==d.indexOf(&quot;end&quot;)&amp;&amp;(f=a(&quot;arrowhead&quot;),h=a(&quot;arrowsize&quot;)),-1!==d.indexOf(&quot;start&quot;)&amp;&amp;(a(&quot;startarrowhead&quot;,f),a(&quot;startarrowsize&quot;,h)),a(&quot;arrowcolor&quot;,l?e.bordercolor:i.defaultLine),a(&quot;arrowwidth&quot;,2*(l&amp;&amp;c||1)),a(&quot;standoff&quot;),a(&quot;startstandoff&quot;)}var p=a(&quot;hovertext&quot;),m=r.hoverlabel||{};if(p){var g=a(&quot;hoverlabel.bgcolor&quot;,m.bgcolor||(i.opacity(o)?i.rgb(o):i.defaultLine)),v=a(&quot;hoverlabel.bordercolor&quot;,m.bordercolor||i.contrast(g));n.coerceFont(a,&quot;hoverlabel.font&quot;,{family:m.font.family,size:m.font.size,color:m.font.color||v})}a(&quot;captureevents&quot;,!!p)}},{&quot;../../lib&quot;:743,&quot;../color&quot;:618}],605:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;fast-isnumeric&quot;),i=t(&quot;../../lib/to_log_range&quot;);e.exports=function(t,e,r,a){function o(t){var r=c[t],o=null;o=s?i(r,e.range):Math.pow(10,r),n(o)||(o=null),a(u+t,o)}e=e||{};var s=&quot;log&quot;===r&amp;&amp;&quot;linear&quot;===e.type,l=&quot;linear&quot;===r&amp;&amp;&quot;log&quot;===e.type;if(s||l)for(var c,u,f=t._fullLayout.annotations,h=e._id.charAt(0),d=0;d&lt;f.length;d++)c=f[d],u=&quot;annotations[&quot;+d+&quot;].&quot;,c[h+&quot;ref&quot;]===e._id&amp;&amp;o(h),c[&quot;a&quot;+h+&quot;ref&quot;]===e._id&amp;&amp;o(&quot;a&quot;+h)}},{&quot;../../lib/to_log_range&quot;:768,&quot;fast-isnumeric&quot;:140}],606:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../plots/array_container_defaults&quot;),i=t(&quot;./annotation_defaults&quot;);e.exports=function(t,e){n(t,e,{name:&quot;annotations&quot;,handleItemDefaults:i})}},{&quot;../../plots/array_container_defaults&quot;:786,&quot;./annotation_defaults&quot;:599}],607:[function(t,e,r){&quot;use strict&quot;;function n(t,e){var r=t._fullLayout.annotations[e]||{};i(t,r,e,!1,c.getFromId(t,r.xref),c.getFromId(t,r.yref))}function i(t,e,r,n,i,s){function c(r){return r.call(f.font,R).attr({&quot;text-anchor&quot;:{left:&quot;start&quot;,right:&quot;end&quot;}[e.align]||&quot;middle&quot;}),d.convertToTspans(r,t,v),r}function v(){function r(t,e){return&quot;auto&quot;===e&amp;&amp;(e=t&lt;1/3?&quot;left&quot;:t&gt;2/3?&quot;right&quot;:&quot;center&quot;),{center:0,middle:0,left:.5,bottom:-.5,right:-.5,top:.5}[e]}var a=N.selectAll(&quot;a&quot;);if(1===a.size()&amp;&amp;a.text()===N.text()){C.insert(&quot;a&quot;,&quot;:first-child&quot;).attr({&quot;xlink:xlink:href&quot;:a.attr(&quot;xlink:href&quot;),&quot;xlink:xlink:show&quot;:a.attr(&quot;xlink:show&quot;)}).style({cursor:&quot;pointer&quot;}).node().appendChild(P.node())}var c=C.select(&quot;.annotation-text-math-group&quot;),h=!c.empty(),v=f.bBox((h?c:N).node()),y=v.width,L=v.height,D=e.width||y,R=e.height||L,j=Math.round(D+2*I),B=Math.round(R+2*I);e._w=D,e._h=R;for(var U=!1,V=[&quot;x&quot;,&quot;y&quot;],q=0;q&lt;V.length;q++){var H,G,Y,W,X,Z=V[q],J=e[Z+&quot;ref&quot;]||Z,K=e[&quot;a&quot;+Z+&quot;ref&quot;],Q={x:i,y:s}[Z],$=(A+(&quot;x&quot;===Z?0:-90))*Math.PI/180,tt=j*Math.cos($),et=B*Math.sin($),rt=Math.abs(tt)+Math.abs(et),nt=e[Z+&quot;anchor&quot;],it=e[Z+&quot;shift&quot;]*(&quot;x&quot;===Z?1:-1),at=k[Z];if(Q){var ot=Q.r2fraction(e[Z]);if((t._dragging||!Q.autorange)&amp;&amp;(ot&lt;0||ot&gt;1)&amp;&amp;(K===J?((ot=Q.r2fraction(e[&quot;a&quot;+Z]))&lt;0||ot&gt;1)&amp;&amp;(U=!0):U=!0,U))continue;H=Q._offset+Q.r2p(e[Z]),W=.5}else&quot;x&quot;===Z?(Y=e[Z],H=_.l+_.w*Y):(Y=1-e[Z],H=_.t+_.h*Y),W=e.showarrow?.5:Y;if(e.showarrow){at.head=H;var st=e[&quot;a&quot;+Z];X=tt*r(.5,e.xanchor)-et*r(.5,e.yanchor),K===J?(at.tail=Q._offset+Q.r2p(st),G=X):(at.tail=H+st,G=X+st),at.text=at.tail+X;var lt=b[&quot;x&quot;===Z?&quot;width&quot;:&quot;height&quot;];if(&quot;paper&quot;===J&amp;&amp;(at.head=l.constrain(at.head,1,lt-1)),&quot;pixel&quot;===K){var ct=-Math.max(at.tail-3,at.text),ut=Math.min(at.tail+3,at.text)-lt;ct&gt;0?(at.tail+=ct,at.text+=ct):ut&gt;0&amp;&amp;(at.tail-=ut,at.text-=ut)}at.tail+=it,at.head+=it}else G=X=rt*r(W,nt),at.text=H+X;at.text+=it,X+=it,G+=it,e[&quot;_&quot;+Z+&quot;padplus&quot;]=rt/2+G,e[&quot;_&quot;+Z+&quot;padminus&quot;]=rt/2-G,e[&quot;_&quot;+Z+&quot;size&quot;]=rt,e[&quot;_&quot;+Z+&quot;shift&quot;]=X}if(U)C.remove();else{var ft=0,ht=0;if(&quot;left&quot;!==e.align&amp;&amp;(ft=(D-y)*(&quot;center&quot;===e.align?.5:1)),&quot;top&quot;!==e.valign&amp;&amp;(ht=(R-L)*(&quot;middle&quot;===e.valign?.5:1)),h)c.select(&quot;svg&quot;).attr({x:I+ft-1,y:I+ht}).call(f.setClipUrl,O?M:null);else{var dt=I+ht-v.top,pt=I+ft-v.left;N.call(d.positionText,pt,dt).call(f.setClipUrl,O?M:null)}F.select(&quot;rect&quot;).call(f.setRect,I,I,D,R),P.call(f.setRect,z/2,z/2,j-z,B-z),C.call(f.setTranslate,Math.round(k.x.text-j/2),Math.round(k.y.text-B/2)),S.attr({transform:&quot;rotate(&quot;+A+&quot;,&quot;+k.x.text+&quot;,&quot;+k.y.text+&quot;)&quot;});var mt=function(r,a){T.selectAll(&quot;.annotation-arrow-g&quot;).remove();var c=k.x.head,h=k.y.head,d=k.x.tail+r,p=k.y.tail+a,v=k.x.text+r,y=k.y.text+a,b=l.rotationXYMatrix(A,v,y),M=l.apply2DTransform(b),E=l.apply2DTransform2(b),L=+P.attr(&quot;width&quot;),z=+P.attr(&quot;height&quot;),D=v-.5*L,I=D+L,O=y-.5*z,F=O+z,R=[[D,O,D,F],[D,F,I,F],[I,F,I,O],[I,O,D,O]].map(E);if(!R.reduce(function(t,e){return t^!!l.segmentsIntersect(c,h,c+1e6,h+1e6,e[0],e[1],e[2],e[3])},!1)){R.forEach(function(t){var e=l.segmentsIntersect(d,p,c,h,t[0],t[1],t[2],t[3]);e&amp;&amp;(d=e.x,p=e.y)});var N=e.arrowwidth,j=e.arrowcolor,B=e.arrowside,U=T.append(&quot;g&quot;).style({opacity:u.opacity(j)}).classed(&quot;annotation-arrow-g&quot;,!0),V=U.append(&quot;path&quot;).attr(&quot;d&quot;,&quot;M&quot;+d+&quot;,&quot;+p+&quot;L&quot;+c+&quot;,&quot;+h).style(&quot;stroke-width&quot;,N+&quot;px&quot;).call(u.stroke,u.rgb(j));if(g(V,B,e),w.annotationPosition&amp;&amp;V.node().parentNode&amp;&amp;!n){var q=c,H=h;if(e.standoff){var G=Math.sqrt(Math.pow(c-d,2)+Math.pow(h-p,2));q+=e.standoff*(d-c)/G,H+=e.standoff*(p-h)/G}var Y,W,X,Z=U.append(&quot;path&quot;).classed(&quot;annotation-arrow&quot;,!0).classed(&quot;anndrag&quot;,!0).attr({d:&quot;M3,3H-3V-3H3ZM0,0L&quot;+(d-q)+&quot;,&quot;+(p-H),transform:&quot;translate(&quot;+q+&quot;,&quot;+H+&quot;)&quot;}).style(&quot;stroke-width&quot;,N+6+&quot;px&quot;).call(u.stroke,&quot;rgba(0,0,0,0)&quot;).call(u.fill,&quot;rgba(0,0,0,0)&quot;);m.init({element:Z.node(),gd:t,prepFn:function(){var t=f.getTranslate(C);W=t.x,X=t.y,Y={},i&amp;&amp;i.autorange&amp;&amp;(Y[i._name+&quot;.autorange&quot;]=!0),s&amp;&amp;s.autorange&amp;&amp;(Y[s._name+&quot;.autorange&quot;]=!0)},moveFn:function(t,r){var n=M(W,X),a=n[0]+t,o=n[1]+r;C.call(f.setTranslate,a,o),Y[x+&quot;.x&quot;]=i?i.p2r(i.r2p(e.x)+t):e.x+t/_.w,Y[x+&quot;.y&quot;]=s?s.p2r(s.r2p(e.y)+r):e.y-r/_.h,e.axref===e.xref&amp;&amp;(Y[x+&quot;.ax&quot;]=i.p2r(i.r2p(e.ax)+t)),e.ayref===e.yref&amp;&amp;(Y[x+&quot;.ay&quot;]=s.p2r(s.r2p(e.ay)+r)),U.attr(&quot;transform&quot;,&quot;translate(&quot;+t+&quot;,&quot;+r+&quot;)&quot;),S.attr({transform:&quot;rotate(&quot;+A+&quot;,&quot;+a+&quot;,&quot;+o+&quot;)&quot;})},doneFn:function(){o.relayout(t,Y);var e=document.querySelector(&quot;.js-notes-box-panel&quot;);e&amp;&amp;e.redraw(e.selectedObj)}})}}};if(e.showarrow&amp;&amp;mt(0,0),E){var gt,vt;m.init({element:C.node(),gd:t,prepFn:function(){vt=S.attr(&quot;transform&quot;),gt={}},moveFn:function(t,r){var a=&quot;pointer&quot;;if(e.showarrow)e.axref===e.xref?gt[x+&quot;.ax&quot;]=i.p2r(i.r2p(e.ax)+t):gt[x+&quot;.ax&quot;]=e.ax+t,e.ayref===e.yref?gt[x+&quot;.ay&quot;]=s.p2r(s.r2p(e.ay)+r):gt[x+&quot;.ay&quot;]=e.ay+r,mt(t,r);else{if(n)return;if(i)gt[x+&quot;.x&quot;]=e.x+t/i._m;else{var o=e._xsize/_.w,l=e.x+(e._xshift-e.xshift)/_.w-o/2;gt[x+&quot;.x&quot;]=m.align(l+t/_.w,o,0,1,e.xanchor)}if(s)gt[x+&quot;.y&quot;]=e.y+r/s._m;else{var c=e._ysize/_.h,u=e.y-(e._yshift+e.yshift)/_.h-c/2;gt[x+&quot;.y&quot;]=m.align(u-r/_.h,c,0,1,e.yanchor)}i&amp;&amp;s||(a=m.getCursor(i?.5:gt[x+&quot;.x&quot;],s?.5:gt[x+&quot;.y&quot;],e.xanchor,e.yanchor))}S.attr({transform:&quot;translate(&quot;+t+&quot;,&quot;+r+&quot;)&quot;+vt}),p(C,a)},doneFn:function(){p(C),o.relayout(t,gt);var e=document.querySelector(&quot;.js-notes-box-panel&quot;);e&amp;&amp;e.redraw(e.selectedObj)}})}}}var y,x,b=t._fullLayout,_=t._fullLayout._size,w=t._context.edits;n?(y=&quot;annotation-&quot;+n,x=n+&quot;.annotations[&quot;+r+&quot;]&quot;):(y=&quot;annotation&quot;,x=&quot;annotations[&quot;+r+&quot;]&quot;),b._infolayer.selectAll(&quot;.&quot;+y+'[data-index=&quot;'+r+'&quot;]').remove();var M=&quot;clip&quot;+b._uid+&quot;_ann&quot;+r;if(e._input&amp;&amp;!1!==e.visible){var k={x:{},y:{}},A=+e.textangle||0,T=b._infolayer.append(&quot;g&quot;).classed(y,!0).attr(&quot;data-index&quot;,String(r)).style(&quot;opacity&quot;,e.opacity),S=T.append(&quot;g&quot;).classed(&quot;annotation-text-g&quot;,!0),E=w[e.showarrow?&quot;annotationTail&quot;:&quot;annotationPosition&quot;],L=e.captureevents||w.annotationText||E,C=S.append(&quot;g&quot;).style(&quot;pointer-events&quot;,L?&quot;all&quot;:null).call(p,&quot;default&quot;).on(&quot;click&quot;,function(){t._dragging=!1;var i={index:r,annotation:e._input,fullAnnotation:e,event:a.event};n&amp;&amp;(i.subplotId=n),t.emit(&quot;plotly_clickannotation&quot;,i)});e.hovertext&amp;&amp;C.on(&quot;mouseover&quot;,function(){var r=e.hoverlabel,n=r.font,i=this.getBoundingClientRect(),a=t.getBoundingClientRect();h.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:b._hoverlayer.node(),outerContainer:b._paper.node(),gd:t})}).on(&quot;mouseout&quot;,function(){h.loneUnhover(b._hoverlayer.node())});var z=e.borderwidth,D=e.borderpad,I=z+D,P=C.append(&quot;rect&quot;).attr(&quot;class&quot;,&quot;bg&quot;).style(&quot;stroke-width&quot;,z+&quot;px&quot;).call(u.stroke,e.bordercolor).call(u.fill,e.bgcolor),O=e.width||e.height,F=b._topclips.selectAll(&quot;#&quot;+M).data(O?[0]:[]);F.enter().append(&quot;clipPath&quot;).classed(&quot;annclip&quot;,!0).attr(&quot;id&quot;,M).append(&quot;rect&quot;),F.exit().remove();var R=e.font,N=C.append(&quot;text&quot;).classed(&quot;annotation-text&quot;,!0).text(e.text);w.annotationText?N.call(d.makeEditable,{delegate:C,gd:t}).call(c).on(&quot;edit&quot;,function(r){e.text=r,this.call(c);var n={};n[x+&quot;.text&quot;]=e.text,i&amp;&amp;i.autorange&amp;&amp;(n[i._name+&quot;.autorange&quot;]=!0),s&amp;&amp;s.autorange&amp;&amp;(n[s._name+&quot;.autorange&quot;]=!0),o.relayout(t,n)}):N.call(c)}else a.selectAll(&quot;#&quot;+M).remove()}var a=t(&quot;d3&quot;),o=t(&quot;../../plotly&quot;),s=t(&quot;../../plots/plots&quot;),l=t(&quot;../../lib&quot;),c=t(&quot;../../plots/cartesian/axes&quot;),u=t(&quot;../color&quot;),f=t(&quot;../drawing&quot;),h=t(&quot;../fx&quot;),d=t(&quot;../../lib/svg_text_utils&quot;),p=t(&quot;../../lib/setcursor&quot;),m=t(&quot;../dragelement&quot;),g=t(&quot;./draw_arrow_head&quot;);e.exports={draw:function(t){var e=t._fullLayout;e._infolayer.selectAll(&quot;.annotation&quot;).remove();for(var r=0;r&lt;e.annotations.length;r++)e.annotations[r].visible&amp;&amp;n(t,r);return s.previousPromises(t)},drawOne:n,drawRaw:i}},{&quot;../../lib&quot;:743,&quot;../../lib/setcursor&quot;:762,&quot;../../lib/svg_text_utils&quot;:766,&quot;../../plotly&quot;:784,&quot;../../plots/cartesian/axes&quot;:789,&quot;../../plots/plots&quot;:852,&quot;../color&quot;:618,&quot;../dragelement&quot;:640,&quot;../drawing&quot;:643,&quot;../fx&quot;:660,&quot;./draw_arrow_head&quot;:608,d3:128}],608:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;d3&quot;),i=t(&quot;../color&quot;),a=t(&quot;./arrow_paths&quot;);e.exports=function(t,e,r){function o(){t.style(&quot;stroke-dasharray&quot;,&quot;0px,100px&quot;)}function s(e,a,o,s){e.path&amp;&amp;(e.noRotate&amp;&amp;(o=0),n.select(h.parentNode).append(&quot;path&quot;).attr({class:t.attr(&quot;class&quot;),d:e.path,transform:&quot;translate(&quot;+a.x+&quot;,&quot;+a.y+&quot;)&quot;+(o?&quot;rotate(&quot;+180*o/Math.PI+&quot;)&quot;:&quot;&quot;)+&quot;scale(&quot;+s+&quot;)&quot;}).style({fill:i.rgb(r.arrowcolor),&quot;stroke-width&quot;:0}))}var l,c,u,f,h=t.node(),d=a[r.arrowhead||0],p=a[r.startarrowhead||0],m=(r.arrowwidth||1)*(r.arrowsize||1),g=(r.arrowwidth||1)*(r.startarrowsize||1),v=e.indexOf(&quot;start&quot;)&gt;=0,y=e.indexOf(&quot;end&quot;)&gt;=0,x=d.backoff*m+r.standoff,b=p.backoff*g+r.startstandoff;if(&quot;line&quot;===h.nodeName){l={x:+t.attr(&quot;x1&quot;),y:+t.attr(&quot;y1&quot;)},c={x:+t.attr(&quot;x2&quot;),y:+t.attr(&quot;y2&quot;)};var _=l.x-c.x,w=l.y-c.y;if(u=Math.atan2(w,_),f=u+Math.PI,x&amp;&amp;b&amp;&amp;x+b&gt;Math.sqrt(_*_+w*w))return void o();if(x){if(x*x&gt;_*_+w*w)return void o();var M=x*Math.cos(u),k=x*Math.sin(u);c.x+=M,c.y+=k,t.attr({x2:c.x,y2:c.y})}if(b){if(b*b&gt;_*_+w*w)return void o();var A=b*Math.cos(u),T=b*Math.sin(u);l.x-=A,l.y-=T,t.attr({x1:l.x,y1:l.y})}}else if(&quot;path&quot;===h.nodeName){var S=h.getTotalLength(),E=&quot;&quot;;if(S&lt;x+b)return void o();var L=h.getPointAtLength(0),C=h.getPointAtLength(.1);u=Math.atan2(L.y-C.y,L.x-C.x),l=h.getPointAtLength(Math.min(b,S)),E=&quot;0px,&quot;+b+&quot;px,&quot;;var z=h.getPointAtLength(S),D=h.getPointAtLength(S-.1);f=Math.atan2(z.y-D.y,z.x-D.x),c=h.getPointAtLength(Math.max(0,S-x));E+=S-(E?b+x:x)+&quot;px,&quot;+S+&quot;px&quot;,t.style(&quot;stroke-dasharray&quot;,E)}v&amp;&amp;s(p,l,u,g),y&amp;&amp;s(d,c,f,m)}},{&quot;../color&quot;:618,&quot;./arrow_paths&quot;:600,d3:128}],609:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;./draw&quot;),i=t(&quot;./click&quot;);e.exports={moduleType:&quot;component&quot;,name:&quot;annotations&quot;,layoutAttributes:t(&quot;./attributes&quot;),supplyLayoutDefaults:t(&quot;./defaults&quot;),includeBasePlot:t(&quot;../../plots/cartesian/include_components&quot;)(&quot;annotations&quot;),calcAutorange:t(&quot;./calc_autorange&quot;),draw:n.draw,drawOne:n.drawOne,drawRaw:n.drawRaw,hasClickToShow:i.hasClickToShow,onClick:i.onClick,convertCoords:t(&quot;./convert_coords&quot;)}},{&quot;../../plots/cartesian/include_components&quot;:799,&quot;./attributes&quot;:601,&quot;./calc_autorange&quot;:602,&quot;./click&quot;:603,&quot;./convert_coords&quot;:605,&quot;./defaults&quot;:606,&quot;./draw&quot;:607}],610:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../annotations/attributes&quot;),i=t(&quot;../../plot_api/edit_types&quot;).overrideAll;e.exports=i({_isLinkedToArray:&quot;annotation&quot;,visible:n.visible,x:{valType:&quot;any&quot;},y:{valType:&quot;any&quot;},z:{valType:&quot;any&quot;},ax:{valType:&quot;number&quot;},ay:{valType:&quot;number&quot;},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},&quot;calc&quot;,&quot;from-root&quot;)},{&quot;../../plot_api/edit_types&quot;:773,&quot;../annotations/attributes&quot;:601}],611:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib&quot;),i=t(&quot;../../plots/cartesian/axes&quot;);e.exports=function(t){for(var e=t.fullSceneLayout.annotations,r=0;r&lt;e.length;r++)!function(t,e){var r=e.fullSceneLayout.domain,a=e.fullLayout._size,o={pdata:null,type:&quot;linear&quot;,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[r],t);t.fullLayout._infolayer.selectAll(&quot;.annotation-&quot;+t.id).remove()}},{&quot;../../lib&quot;:743,&quot;../../plots/cartesian/axes&quot;:789}],612:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,n,o){function c(r,n){return i.coerce(t,e,l,r,n)}function u(t){var n=t+&quot;axis&quot;,i={_fullLayout:{}};return i._fullLayout[n]=r[n],a.coercePosition(e,i,c,t,t,.5)}return c(&quot;visible&quot;,!o.itemIsNotPlainObject)?(s(t,e,n.fullLayout,c),u(&quot;x&quot;),u(&quot;y&quot;),u(&quot;z&quot;),i.noneOrAll(t,e,[&quot;x&quot;,&quot;y&quot;,&quot;z&quot;]),e.xref=&quot;x&quot;,e.yref=&quot;y&quot;,e.zref=&quot;z&quot;,c(&quot;xanchor&quot;),c(&quot;yanchor&quot;),c(&quot;xshift&quot;),c(&quot;yshift&quot;),e.showarrow&amp;&amp;(e.axref=&quot;pixel&quot;,e.ayref=&quot;pixel&quot;,c(&quot;ax&quot;,-10),c(&quot;ay&quot;,-30),i.noneOrAll(t,e,[&quot;ax&quot;,&quot;ay&quot;])),e):e}var i=t(&quot;../../lib&quot;),a=t(&quot;../../plots/cartesian/axes&quot;),o=t(&quot;../../plots/array_container_defaults&quot;),s=t(&quot;../annotations/common_defaults&quot;),l=t(&quot;./attributes&quot;);e.exports=function(t,e,r){o(t,e,{name:&quot;annotations&quot;,handleItemDefaults:n,fullLayout:r.fullLayout})}},{&quot;../../lib&quot;:743,&quot;../../plots/array_container_defaults&quot;:786,&quot;../../plots/cartesian/axes&quot;:789,&quot;../annotations/common_defaults&quot;:604,&quot;./attributes&quot;:610}],613:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../annotations/draw&quot;).drawRaw,i=t(&quot;../../plots/gl3d/project&quot;),a=[&quot;x&quot;,&quot;y&quot;,&quot;z&quot;];e.exports=function(t){for(var e=t.fullSceneLayout,r=t.dataScale,o=e.annotations,s=0;s&lt;o.length;s++){for(var l=o[s],c=!1,u=0;u&lt;3;u++){var f=a[u],h=l[f],d=e[f+&quot;axis&quot;].r2fraction(h);if(d&lt;0||d&gt;1){c=!0;break}}c?t.fullLayout._infolayer.select(&quot;.annotation-&quot;+t.id+'[data-index=&quot;'+s+'&quot;]').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))}}},{&quot;../../plots/gl3d/project&quot;:841,&quot;../annotations/draw&quot;:607}],614:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../registry&quot;),i=t(&quot;../../lib&quot;);e.exports={moduleType:&quot;component&quot;,name:&quot;annotations3d&quot;,schema:{subplots:{scene:{annotations:t(&quot;./attributes&quot;)}}},layoutAttributes:t(&quot;./attributes&quot;),handleDefaults:t(&quot;./defaults&quot;),includeBasePlot:function(t,e){var r=n.subplotsRegistry.gl3d;if(r)for(var a=r.attrRegex,o=Object.keys(t),s=0;s&lt;o.length;s++){var l=o[s];a.test(l)&amp;&amp;(t[l].annotations||[]).length&amp;&amp;(i.pushUnique(e._basePlotModules,r),i.pushUnique(e._subplots.gl3d,l))}},convert:t(&quot;./convert&quot;),draw:t(&quot;./draw&quot;)}},{&quot;../../lib&quot;:743,&quot;../../registry&quot;:873,&quot;./attributes&quot;:610,&quot;./convert&quot;:611,&quot;./defaults&quot;:612,&quot;./draw&quot;:613}],615:[function(t,e,r){&quot;use strict&quot;;e.exports=t(&quot;world-calendars/dist/main&quot;),t(&quot;world-calendars/dist/plus&quot;),t(&quot;world-calendars/dist/calendars/chinese&quot;),t(&quot;world-calendars/dist/calendars/coptic&quot;),t(&quot;world-calendars/dist/calendars/discworld&quot;),t(&quot;world-calendars/dist/calendars/ethiopian&quot;),t(&quot;world-calendars/dist/calendars/hebrew&quot;),t(&quot;world-calendars/dist/calendars/islamic&quot;),t(&quot;world-calendars/dist/calendars/julian&quot;),t(&quot;world-calendars/dist/calendars/mayan&quot;),t(&quot;world-calendars/dist/calendars/nanakshahi&quot;),t(&quot;world-calendars/dist/calendars/nepali&quot;),t(&quot;world-calendars/dist/calendars/persian&quot;),t(&quot;world-calendars/dist/calendars/taiwan&quot;),t(&quot;world-calendars/dist/calendars/thai&quot;),t(&quot;world-calendars/dist/calendars/ummalqura&quot;)},{&quot;world-calendars/dist/calendars/chinese&quot;:581,&quot;world-calendars/dist/calendars/coptic&quot;:582,&quot;world-calendars/dist/calendars/discworld&quot;:583,&quot;world-calendars/dist/calendars/ethiopian&quot;:584,&quot;world-calendars/dist/calendars/hebrew&quot;:585,&quot;world-calendars/dist/calendars/islamic&quot;:586,&quot;world-calendars/dist/calendars/julian&quot;:587,&quot;world-calendars/dist/calendars/mayan&quot;:588,&quot;world-calendars/dist/calendars/nanakshahi&quot;:589,&quot;world-calendars/dist/calendars/nepali&quot;:590,&quot;world-calendars/dist/calendars/persian&quot;:591,&quot;world-calendars/dist/calendars/taiwan&quot;:592,&quot;world-calendars/dist/calendars/thai&quot;:593,&quot;world-calendars/dist/calendars/ummalqura&quot;:594,&quot;world-calendars/dist/main&quot;:595,&quot;world-calendars/dist/plus&quot;:596}],616:[function(t,e,r){&quot;use strict&quot;;function n(t){var e=m[t];return e||(e=m[t]=o.instance(t))}function i(t){return s.extendFlat({},f,{description:t})}function a(t){return&quot;Sets the calendar system to use with `&quot;+t+&quot;` date data.&quot;}var o=t(&quot;./calendars&quot;),s=t(&quot;../../lib&quot;),l=t(&quot;../../constants/numerical&quot;),c=l.EPOCHJD,u=l.ONEDAY,f={valType:&quot;enumerated&quot;,values:Object.keys(o.calendars),editType:&quot;calc&quot;,dflt:&quot;gregorian&quot;},h=function(t,e,r,n){var i={};return i[r]=f,s.coerce(t,e,i,r,n)},d=&quot;##&quot;,p={d:{0:&quot;dd&quot;,&quot;-&quot;:&quot;d&quot;},e:{0:&quot;d&quot;,&quot;-&quot;:&quot;d&quot;},a:{0:&quot;D&quot;,&quot;-&quot;:&quot;D&quot;},A:{0:&quot;DD&quot;,&quot;-&quot;:&quot;DD&quot;},j:{0:&quot;oo&quot;,&quot;-&quot;:&quot;o&quot;},W:{0:&quot;ww&quot;,&quot;-&quot;:&quot;w&quot;},m:{0:&quot;mm&quot;,&quot;-&quot;:&quot;m&quot;},b:{0:&quot;M&quot;,&quot;-&quot;:&quot;M&quot;},B:{0:&quot;MM&quot;,&quot;-&quot;:&quot;MM&quot;},y:{0:&quot;yy&quot;,&quot;-&quot;:&quot;yy&quot;},Y:{0:&quot;yyyy&quot;,&quot;-&quot;:&quot;yyyy&quot;},U:d,w:d,c:{0:&quot;D M d %X yyyy&quot;,&quot;-&quot;:&quot;D M d %X yyyy&quot;},x:{0:&quot;mm/dd/yyyy&quot;,&quot;-&quot;:&quot;mm/dd/yyyy&quot;}},m={},g={xcalendar:i(a(&quot;x&quot;))},v=s.extendFlat({},g,{ycalendar:i(a(&quot;y&quot;))}),y=s.extendFlat({},v,{zcalendar:i(a(&quot;z&quot;))}),x=i([&quot;Sets the calendar system to use for `range` and `tick0`&quot;,&quot;if this is a date axis. This does not set the calendar for&quot;,&quot;interpreting data on this axis, that's specified in the trace&quot;,&quot;or via the global `layout.calendar`&quot;].join(&quot; &quot;));e.exports={moduleType:&quot;component&quot;,name:&quot;calendars&quot;,schema:{traces:{scatter:v,bar:v,box:v,heatmap:v,contour:v,histogram:v,histogram2d:v,histogram2dcontour:v,scatter3d:y,surface:y,mesh3d:y,scattergl:v,ohlc:g,candlestick:g},layout:{calendar:i([&quot;Sets the default calendar system to use for interpreting and&quot;,&quot;displaying dates throughout the plot.&quot;].join(&quot; &quot;))},subplots:{xaxis:{calendar:x},yaxis:{calendar:x},scene:{xaxis:{calendar:x},yaxis:{calendar:x},zaxis:{calendar:x}},polar:{radialaxis:{calendar:x}}},transforms:{filter:{valuecalendar:i([&quot;Sets the calendar system to use for `value`, if it is a date.&quot;].join(&quot; &quot;)),targetcalendar:i([&quot;Sets the calendar system to use for `target`, if it is an&quot;,&quot;array of dates. If `target` is a string (eg *x*) we use the&quot;,&quot;corresponding trace attribute (eg `xcalendar`) if it exists,&quot;,&quot;even if `targetcalendar` is provided.&quot;].join(&quot; &quot;))}}},layoutAttributes:f,handleDefaults:h,handleTraceDefaults:function(t,e,r,n){for(var i=0;i&lt;r.length;i++)h(t,e,r[i]+&quot;calendar&quot;,n.calendar)},CANONICAL_SUNDAY:{chinese:&quot;2000-01-02&quot;,coptic:&quot;2000-01-03&quot;,discworld:&quot;2000-01-03&quot;,ethiopian:&quot;2000-01-05&quot;,hebrew:&quot;5000-01-01&quot;,islamic:&quot;1000-01-02&quot;,julian:&quot;2000-01-03&quot;,mayan:&quot;5000-01-01&quot;,nanakshahi:&quot;1000-01-05&quot;,nepali:&quot;2000-01-05&quot;,persian:&quot;1000-01-01&quot;,jalali:&quot;1000-01-01&quot;,taiwan:&quot;1000-01-04&quot;,thai:&quot;2000-01-04&quot;,ummalqura:&quot;1400-01-06&quot;},CANONICAL_TICK:{chinese:&quot;2000-01-01&quot;,coptic:&quot;2000-01-01&quot;,discworld:&quot;2000-01-01&quot;,ethiopian:&quot;2000-01-01&quot;,hebrew:&quot;5000-01-01&quot;,islamic:&quot;1000-01-01&quot;,julian:&quot;2000-01-01&quot;,mayan:&quot;5000-01-01&quot;,nanakshahi:&quot;1000-01-01&quot;,nepali:&quot;2000-01-01&quot;,persian:&quot;1000-01-01&quot;,jalali:&quot;1000-01-01&quot;,taiwan:&quot;1000-01-01&quot;,thai:&quot;2000-01-01&quot;,ummalqura:&quot;1400-01-01&quot;},DFLTRANGE:{chinese:[&quot;2000-01-01&quot;,&quot;2001-01-01&quot;],coptic:[&quot;1700-01-01&quot;,&quot;1701-01-01&quot;],discworld:[&quot;1800-01-01&quot;,&quot;1801-01-01&quot;],ethiopian:[&quot;2000-01-01&quot;,&quot;2001-01-01&quot;],hebrew:[&quot;5700-01-01&quot;,&quot;5701-01-01&quot;],islamic:[&quot;1400-01-01&quot;,&quot;1401-01-01&quot;],julian:[&quot;2000-01-01&quot;,&quot;2001-01-01&quot;],mayan:[&quot;5200-01-01&quot;,&quot;5201-01-01&quot;],nanakshahi:[&quot;0500-01-01&quot;,&quot;0501-01-01&quot;],nepali:[&quot;2000-01-01&quot;,&quot;2001-01-01&quot;],persian:[&quot;1400-01-01&quot;,&quot;1401-01-01&quot;],jalali:[&quot;1400-01-01&quot;,&quot;1401-01-01&quot;],taiwan:[&quot;0100-01-01&quot;,&quot;0101-01-01&quot;],thai:[&quot;2500-01-01&quot;,&quot;2501-01-01&quot;],ummalqura:[&quot;1400-01-01&quot;,&quot;1401-01-01&quot;]},getCal:n,worldCalFmt:function(t,e,r){for(var i,a,o,s,l,f=Math.floor((e+.05)/u)+c,h=n(r).fromJD(f),m=0;-1!==(m=t.indexOf(&quot;%&quot;,m));)&quot;0&quot;===(i=t.charAt(m+1))||&quot;-&quot;===i||&quot;_&quot;===i?(o=3,a=t.charAt(m+2),&quot;_&quot;===i&amp;&amp;(i=&quot;-&quot;)):(a=i,i=&quot;0&quot;,o=2),(s=p[a])?(l=s===d?d:h.formatDate(s[i]),t=t.substr(0,m)+l+t.substr(m+o),m+=l.length):m+=o;return t}}},{&quot;../../constants/numerical&quot;:721,&quot;../../lib&quot;:743,&quot;./calendars&quot;:615}],617:[function(t,e,r){&quot;use strict&quot;;r.defaults=[&quot;#1f77b4&quot;,&quot;#ff7f0e&quot;,&quot;#2ca02c&quot;,&quot;#d62728&quot;,&quot;#9467bd&quot;,&quot;#8c564b&quot;,&quot;#e377c2&quot;,&quot;#7f7f7f&quot;,&quot;#bcbd22&quot;,&quot;#17becf&quot;],r.defaultLine=&quot;#444&quot;,r.lightLine=&quot;#eee&quot;,r.background=&quot;#fff&quot;,r.borderLine=&quot;#BEC8D9&quot;,r.lightFraction=1e3/11},{}],618:[function(t,e,r){&quot;use strict&quot;;function n(t){if(a(t)||&quot;string&quot;!=typeof t)return t;var e=t.trim();if(&quot;rgb&quot;!==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*/),i=&quot;a&quot;===e.charAt(3)&amp;&amp;4===n.length;if(!i&amp;&amp;3!==n.length)return t;for(var o=0;o&lt;n.length;o++){if(!n[o].length)return t;if(n[o]=Number(n[o]),!(n[o]&gt;=0))return t;if(3===o)n[o]&gt;1&amp;&amp;(n[o]=1);else if(n[o]&gt;=1)return t}var s=Math.round(255*n[0])+&quot;, &quot;+Math.round(255*n[1])+&quot;, &quot;+Math.round(255*n[2]);return i?&quot;rgba(&quot;+s+&quot;, &quot;+n[3]+&quot;)&quot;:&quot;rgb(&quot;+s+&quot;)&quot;}var i=t(&quot;tinycolor2&quot;),a=t(&quot;fast-isnumeric&quot;),o=e.exports={},s=t(&quot;./attributes&quot;);o.defaults=s.defaults;var l=o.defaultLine=s.defaultLine;o.lightLine=s.lightLine;var c=o.background=s.background;o.tinyRGB=function(t){var e=t.toRgb();return&quot;rgb(&quot;+Math.round(e.r)+&quot;, &quot;+Math.round(e.g)+&quot;, &quot;+Math.round(e.b)+&quot;)&quot;},o.rgb=function(t){return o.tinyRGB(i(t))},o.opacity=function(t){return t?i(t).getAlpha():0},o.addOpacity=function(t,e){var r=i(t).toRgb();return&quot;rgba(&quot;+Math.round(r.r)+&quot;, &quot;+Math.round(r.g)+&quot;, &quot;+Math.round(r.b)+&quot;, &quot;+e+&quot;)&quot;},o.combine=function(t,e){var r=i(t).toRgb();if(1===r.a)return i(t).toRgbString();var n=i(e||c).toRgb(),a=1===n.a?n:{r:255*(1-n.a)+n.r*n.a,g:255*(1-n.a)+n.g*n.a,b:255*(1-n.a)+n.b*n.a},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 i(o).toRgbString()},o.contrast=function(t,e,r){var n=i(t);1!==n.getAlpha()&amp;&amp;(n=i(o.combine(t,c)));return(n.isDark()?e?n.lighten(e):c:r?n.darken(r):l).toString()},o.stroke=function(t,e){var r=i(e);t.style({stroke:o.tinyRGB(r),&quot;stroke-opacity&quot;:r.getAlpha()})},o.fill=function(t,e){var r=i(e);t.style({fill:o.tinyRGB(r),&quot;fill-opacity&quot;:r.getAlpha()})},o.clean=function(t){if(t&amp;&amp;&quot;object&quot;==typeof t){var e,r,i,a,s=Object.keys(t);for(e=0;e&lt;s.length;e++)if(i=s[e],a=t[i],&quot;color&quot;===i.substr(i.length-5))if(Array.isArray(a))for(r=0;r&lt;a.length;r++)a[r]=n(a[r]);else t[i]=n(a);else if(&quot;colorscale&quot;===i.substr(i.length-10)&amp;&amp;Array.isArray(a))for(r=0;r&lt;a.length;r++)Array.isArray(a[r])&amp;&amp;(a[r][1]=n(a[r][1]));else if(Array.isArray(a)){var l=a[0];if(!Array.isArray(l)&amp;&amp;l&amp;&amp;&quot;object&quot;==typeof l)for(r=0;r&lt;a.length;r++)o.clean(a[r])}else a&amp;&amp;&quot;object&quot;==typeof a&amp;&amp;o.clean(a)}}},{&quot;./attributes&quot;:617,&quot;fast-isnumeric&quot;:140,tinycolor2:546}],619:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../plots/cartesian/layout_attributes&quot;),i=t(&quot;../../plots/font_attributes&quot;),a=t(&quot;../../lib/extend&quot;).extendFlat,o=t(&quot;../../plot_api/edit_types&quot;).overrideAll;e.exports=o({thicknessmode:{valType:&quot;enumerated&quot;,values:[&quot;fraction&quot;,&quot;pixels&quot;],dflt:&quot;pixels&quot;},thickness:{valType:&quot;number&quot;,min:0,dflt:30},lenmode:{valType:&quot;enumerated&quot;,values:[&quot;fraction&quot;,&quot;pixels&quot;],dflt:&quot;fraction&quot;},len:{valType:&quot;number&quot;,min:0,dflt:1},x:{valType:&quot;number&quot;,dflt:1.02,min:-2,max:3},xanchor:{valType:&quot;enumerated&quot;,values:[&quot;left&quot;,&quot;center&quot;,&quot;right&quot;],dflt:&quot;left&quot;},xpad:{valType:&quot;number&quot;,min:0,dflt:10},y:{valType:&quot;number&quot;,dflt:.5,min:-2,max:3},yanchor:{valType:&quot;enumerated&quot;,values:[&quot;top&quot;,&quot;middle&quot;,&quot;bottom&quot;],dflt:&quot;middle&quot;},ypad:{valType:&quot;number&quot;,min:0,dflt:10},outlinecolor:n.linecolor,outlinewidth:n.linewidth,bordercolor:n.linecolor,borderwidth:{valType:&quot;number&quot;,min:0,dflt:0},bgcolor:{valType:&quot;color&quot;,dflt:&quot;rgba(0,0,0,0)&quot;},tickmode:n.tickmode,nticks:n.nticks,tick0:n.tick0,dtick:n.dtick,tickvals:n.tickvals,ticktext:n.ticktext,ticks:a({},n.ticks,{dflt:&quot;&quot;}),ticklen:n.ticklen,tickwidth:n.tickwidth,tickcolor:n.tickcolor,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,showexponent:n.showexponent,title:{valType:&quot;string&quot;},titlefont:i({}),titleside:{valType:&quot;enumerated&quot;,values:[&quot;right&quot;,&quot;top&quot;,&quot;bottom&quot;],dflt:&quot;top&quot;}},&quot;colorbars&quot;,&quot;from-root&quot;)},{&quot;../../lib/extend&quot;:732,&quot;../../plot_api/edit_types&quot;:773,&quot;../../plots/cartesian/layout_attributes&quot;:801,&quot;../../plots/font_attributes&quot;:816}],620:[function(t,e,r){&quot;use strict&quot;;e.exports={cn:{colorbar:&quot;colorbar&quot;,cbbg:&quot;cbbg&quot;,cbfill:&quot;cbfill&quot;,cbfills:&quot;cbfills&quot;,cbline:&quot;cbline&quot;,cblines:&quot;cblines&quot;,cbaxis:&quot;cbaxis&quot;,cbtitleunshift:&quot;cbtitleunshift&quot;,cbtitle:&quot;cbtitle&quot;,cboutline:&quot;cboutline&quot;,crisp:&quot;crisp&quot;,jsPlaceholder:&quot;js-placeholder&quot;}}},{}],621:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib&quot;),i=t(&quot;../../plots/cartesian/tick_value_defaults&quot;),a=t(&quot;../../plots/cartesian/tick_mark_defaults&quot;),o=t(&quot;../../plots/cartesian/tick_label_defaults&quot;),s=t(&quot;./attributes&quot;);e.exports=function(t,e,r){function l(t,e){return n.coerce(u,c,s,t,e)}var c=e.colorbar={},u=t.colorbar||{};l(&quot;thickness&quot;,&quot;fraction&quot;===l(&quot;thicknessmode&quot;)?30/(r.width-r.margin.l-r.margin.r):30);l(&quot;len&quot;,&quot;fraction&quot;===l(&quot;lenmode&quot;)?1:r.height-r.margin.t-r.margin.b),l(&quot;x&quot;),l(&quot;xanchor&quot;),l(&quot;xpad&quot;),l(&quot;y&quot;),l(&quot;yanchor&quot;),l(&quot;ypad&quot;),n.noneOrAll(u,c,[&quot;x&quot;,&quot;y&quot;]),l(&quot;outlinecolor&quot;),l(&quot;outlinewidth&quot;),l(&quot;bordercolor&quot;),l(&quot;borderwidth&quot;),l(&quot;bgcolor&quot;),i(u,c,l,&quot;linear&quot;),o(u,c,l,&quot;linear&quot;,{outerTicks:!1,font:r.font,noHover:!0}),a(u,c,l,&quot;linear&quot;,{outerTicks:!1,font:r.font,noHover:!0}),l(&quot;title&quot;,r._dfltTitle.colorbar),n.coerceFont(l,&quot;titlefont&quot;,r.font),l(&quot;titleside&quot;)}},{&quot;../../lib&quot;:743,&quot;../../plots/cartesian/tick_label_defaults&quot;:809,&quot;../../plots/cartesian/tick_mark_defaults&quot;:810,&quot;../../plots/cartesian/tick_value_defaults&quot;:811,&quot;./attributes&quot;:619}],622:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;d3&quot;),i=t(&quot;tinycolor2&quot;),a=t(&quot;../../plotly&quot;),o=t(&quot;../../plots/plots&quot;),s=t(&quot;../../registry&quot;),l=t(&quot;../../plots/cartesian/axes&quot;),c=t(&quot;../dragelement&quot;),u=t(&quot;../../lib&quot;),f=t(&quot;../../lib/extend&quot;).extendFlat,h=t(&quot;../../lib/setcursor&quot;),d=t(&quot;../drawing&quot;),p=t(&quot;../color&quot;),m=t(&quot;../titles&quot;),g=t(&quot;../../lib/svg_text_utils&quot;),v=t(&quot;../../constants/alignment&quot;).LINE_SPACING,y=t(&quot;../../plots/cartesian/axis_defaults&quot;),x=t(&quot;../../plots/cartesian/position_defaults&quot;),b=t(&quot;../../plots/cartesian/layout_attributes&quot;),_=t(&quot;./attributes&quot;),w=t(&quot;./constants&quot;).cn;e.exports=function(t,e){function r(){function _(t,e){return u.coerce(tt,et,b,t,e)}function A(e,r){var n,i=M();n=s.traceIs(i,&quot;markerColorscale&quot;)?&quot;marker.colorbar.title&quot;:&quot;colorbar.title&quot;;var a={propContainer:et,propName:n,traceIndex:i.index,placeholder:T._dfltTitle.colorbar,containerGroup:st.select(&quot;.cbtitle&quot;)},o=&quot;h&quot;===e.charAt(0)?e.substr(1):&quot;h&quot;+e;st.selectAll(&quot;.&quot;+o+&quot;,.&quot;+o+&quot;-math-group&quot;).remove(),m.draw(t,e,f(a,r||{}))}var T=t._fullLayout,S=T._size;if(&quot;function&quot;==typeof k.fillcolor||&quot;function&quot;==typeof k.line.color){var E,L,C=n.extent((&quot;function&quot;==typeof k.fillcolor?k.fillcolor:k.line.color).domain()),z=[],D=[],I=&quot;function&quot;==typeof k.line.color?k.line.color:function(){return k.line.color},P=&quot;function&quot;==typeof k.fillcolor?k.fillcolor:function(){return k.fillcolor},O=k.levels.end+k.levels.size/100,F=k.levels.size,R=1.001*C[0]-.001*C[1],N=1.001*C[1]-.001*C[0];for(L=0;L&lt;1e5&amp;&amp;(E=k.levels.start+L*F,!(F&gt;0?E&gt;=O:E&lt;=O));L++)E&gt;R&amp;&amp;E&lt;N&amp;&amp;z.push(E);if(&quot;function&quot;==typeof k.fillcolor)if(k.filllevels)for(O=k.filllevels.end+k.filllevels.size/100,F=k.filllevels.size,L=0;L&lt;1e5&amp;&amp;(E=k.filllevels.start+L*F,!(F&gt;0?E&gt;=O:E&lt;=O));L++)E&gt;C[0]&amp;&amp;E&lt;C[1]&amp;&amp;D.push(E);else(D=z.map(function(t){return t-k.levels.size/2})).push(D[D.length-1]+k.levels.size);else k.fillcolor&amp;&amp;&quot;string&quot;==typeof k.fillcolor&amp;&amp;(D=[0]);k.levels.size&lt;0&amp;&amp;(z.reverse(),D.reverse());var j,B=T.height-T.margin.t-T.margin.b,U=T.width-T.margin.l-T.margin.r,V=Math.round(k.thickness*(&quot;fraction&quot;===k.thicknessmode?U:1)),q=V/S.w,H=Math.round(k.len*(&quot;fraction&quot;===k.lenmode?B:1)),G=H/S.h,Y=k.xpad/S.w,W=(k.borderwidth+k.outlinewidth)/2,X=k.ypad/S.h,Z=Math.round(k.x*S.w+k.xpad),J=k.x-q*({middle:.5,right:1}[k.xanchor]||0),K=k.y+G*(({top:-.5,bottom:.5}[k.yanchor]||0)-.5),Q=Math.round(S.h*(1-K)),$=Q-H,tt={type:&quot;linear&quot;,range:C,tickmode:k.tickmode,nticks:k.nticks,tick0:k.tick0,dtick:k.dtick,tickvals:k.tickvals,ticktext:k.ticktext,ticks:k.ticks,ticklen:k.ticklen,tickwidth:k.tickwidth,tickcolor:k.tickcolor,showticklabels:k.showticklabels,tickfont:k.tickfont,tickangle:k.tickangle,tickformat:k.tickformat,exponentformat:k.exponentformat,separatethousands:k.separatethousands,showexponent:k.showexponent,showtickprefix:k.showtickprefix,tickprefix:k.tickprefix,showticksuffix:k.showticksuffix,ticksuffix:k.ticksuffix,title:k.title,titlefont:k.titlefont,showline:!0,anchor:&quot;free&quot;,position:1},et={type:&quot;linear&quot;,_id:&quot;y&quot;+e},rt={letter:&quot;y&quot;,font:T.font,noHover:!0,calendar:T.calendar};if(y(tt,et,_,rt,T),x(tt,et,_,rt),et.position=k.x+Y+q,r.axis=et,-1!==[&quot;top&quot;,&quot;bottom&quot;].indexOf(k.titleside)&amp;&amp;(et.titleside=k.titleside,et.titlex=k.x+Y,et.titley=K+(&quot;top&quot;===k.titleside?G-X:X)),k.line.color&amp;&amp;&quot;auto&quot;===k.tickmode){et.tickmode=&quot;linear&quot;,et.tick0=k.levels.start;var nt=k.levels.size,it=u.constrain((Q-$)/50,4,15)+1,at=(C[1]-C[0])/((k.nticks||it)*nt);if(at&gt;1){var ot=Math.pow(10,Math.floor(Math.log(at)/Math.LN10));nt*=ot*u.roundUp(at/ot,[2,5,10]),(Math.abs(k.levels.start)/k.levels.size+1e-6)%1&lt;2e-6&amp;&amp;(et.tick0=0)}et.dtick=nt}et.domain=[K+X,K+G-X],et.setScale();var st=T._infolayer.selectAll(&quot;g.&quot;+e).data([0]);st.enter().append(&quot;g&quot;).classed(e,!0).classed(w.colorbar,!0).each(function(){var t=n.select(this);t.append(&quot;rect&quot;).classed(w.cbbg,!0),t.append(&quot;g&quot;).classed(w.cbfills,!0),t.append(&quot;g&quot;).classed(w.cblines,!0),t.append(&quot;g&quot;).classed(w.cbaxis,!0).classed(w.crisp,!0),t.append(&quot;g&quot;).classed(w.cbtitleunshift,!0).append(&quot;g&quot;).classed(w.cbtitle,!0),t.append(&quot;rect&quot;).classed(w.cboutline,!0),t.select(&quot;.cbtitle&quot;).datum(0)}),st.attr(&quot;transform&quot;,&quot;translate(&quot;+Math.round(S.l)+&quot;,&quot;+Math.round(S.t)+&quot;)&quot;);var lt=st.select(&quot;.cbtitleunshift&quot;).attr(&quot;transform&quot;,&quot;translate(-&quot;+Math.round(S.l)+&quot;,-&quot;+Math.round(S.t)+&quot;)&quot;);et._axislayer=st.select(&quot;.cbaxis&quot;);var ct=0;if(-1!==[&quot;top&quot;,&quot;bottom&quot;].indexOf(k.titleside)){var ut,ft=S.l+(k.x+Y)*S.w,ht=et.titlefont.size;ut=&quot;top&quot;===k.titleside?(1-(K+G-X))*S.h+S.t+3+.75*ht:(1-(K+X))*S.h+S.t-3-.25*ht,A(et._id+&quot;title&quot;,{attributes:{x:ft,y:ut,&quot;text-anchor&quot;:&quot;start&quot;}})}var dt=u.syncOrAsync([o.previousPromises,function(){if(-1!==[&quot;top&quot;,&quot;bottom&quot;].indexOf(k.titleside)){var e=st.select(&quot;.cbtitle&quot;),r=e.select(&quot;text&quot;),a=[-k.outlinewidth/2,k.outlinewidth/2],o=e.select(&quot;.h&quot;+et._id+&quot;title-math-group&quot;).node(),s=15.6;if(r.node()&amp;&amp;(s=parseInt(r.node().style.fontSize,10)*v),o?(ct=d.bBox(o).height)&gt;s&amp;&amp;(a[1]-=(ct-s)/2):r.node()&amp;&amp;!r.classed(w.jsPlaceholder)&amp;&amp;(ct=d.bBox(r.node()).height),ct){if(ct+=5,&quot;top&quot;===k.titleside)et.domain[1]-=ct/S.h,a[1]*=-1;else{et.domain[0]+=ct/S.h;var c=g.lineCount(r);a[1]+=(1-c)*s}e.attr(&quot;transform&quot;,&quot;translate(&quot;+a+&quot;)&quot;),et.setScale()}}st.selectAll(&quot;.cbfills,.cblines&quot;).attr(&quot;transform&quot;,&quot;translate(0,&quot;+Math.round(S.h*(1-et.domain[1]))+&quot;)&quot;),et._axislayer.attr(&quot;transform&quot;,&quot;translate(0,&quot;+Math.round(-S.t)+&quot;)&quot;);var f=st.select(&quot;.cbfills&quot;).selectAll(&quot;rect.cbfill&quot;).data(D);f.enter().append(&quot;rect&quot;).classed(w.cbfill,!0).style(&quot;stroke&quot;,&quot;none&quot;),f.exit().remove(),f.each(function(t,e){var r=[0===e?C[0]:(D[e]+D[e-1])/2,e===D.length-1?C[1]:(D[e]+D[e+1])/2].map(et.c2p).map(Math.round);e!==D.length-1&amp;&amp;(r[1]+=r[1]&gt;r[0]?1:-1);var a=P(t).replace(&quot;e-&quot;,&quot;&quot;),o=i(a).toHexString();n.select(this).attr({x:Z,width:Math.max(V,2),y:n.min(r),height:Math.max(n.max(r)-n.min(r),2),fill:o})});var h=st.select(&quot;.cblines&quot;).selectAll(&quot;path.cbline&quot;).data(k.line.color&amp;&amp;k.line.width?z:[]);return h.enter().append(&quot;path&quot;).classed(w.cbline,!0),h.exit().remove(),h.each(function(t){n.select(this).attr(&quot;d&quot;,&quot;M&quot;+Z+&quot;,&quot;+(Math.round(et.c2p(t))+k.line.width/2%1)+&quot;h&quot;+V).call(d.lineGroupStyle,k.line.width,I(t),k.line.dash)}),et._axislayer.selectAll(&quot;g.&quot;+et._id+&quot;tick,path&quot;).remove(),et._pos=Z+V+(k.outlinewidth||0)/2-(&quot;outside&quot;===k.ticks?1:0),et.side=&quot;right&quot;,u.syncOrAsync([function(){return l.doTicks(t,et,!0)},function(){if(-1===[&quot;top&quot;,&quot;bottom&quot;].indexOf(k.titleside)){var e=et.titlefont.size,r=et._offset+et._length/2,i=S.l+(et.position||0)*S.w+(&quot;right&quot;===et.side?10+e*(et.showticklabels?1:.5):-10-e*(et.showticklabels?.5:0));A(&quot;h&quot;+et._id+&quot;title&quot;,{avoid:{selection:n.select(t).selectAll(&quot;g.&quot;+et._id+&quot;tick&quot;),side:k.titleside,offsetLeft:S.l,offsetTop:0,maxShift:T.width},attributes:{x:i,y:r,&quot;text-anchor&quot;:&quot;middle&quot;},transform:{rotate:&quot;-90&quot;,offset:0}})}}])},o.previousPromises,function(){var r=V+k.outlinewidth/2+d.bBox(et._axislayer.node()).width;if((j=lt.select(&quot;text&quot;)).node()&amp;&amp;!j.classed(w.jsPlaceholder)){var n,i=lt.select(&quot;.h&quot;+et._id+&quot;title-math-group&quot;).node();n=i&amp;&amp;-1!==[&quot;top&quot;,&quot;bottom&quot;].indexOf(k.titleside)?d.bBox(i).width:d.bBox(lt.node()).right-Z-S.l,r=Math.max(r,n)}var a=2*k.xpad+r+k.borderwidth+k.outlinewidth/2,s=Q-$;st.select(&quot;.cbbg&quot;).attr({x:Z-k.xpad-(k.borderwidth+k.outlinewidth)/2,y:$-W,width:Math.max(a,2),height:Math.max(s+2*W,2)}).call(p.fill,k.bgcolor).call(p.stroke,k.bordercolor).style({&quot;stroke-width&quot;:k.borderwidth}),st.selectAll(&quot;.cboutline&quot;).attr({x:Z,y:$+k.ypad+(&quot;top&quot;===k.titleside?ct:0),width:Math.max(V,2),height:Math.max(s-2*k.ypad-ct,2)}).call(p.stroke,k.outlinecolor).style({fill:&quot;None&quot;,&quot;stroke-width&quot;:k.outlinewidth});var l=({center:.5,right:1}[k.xanchor]||0)*a;st.attr(&quot;transform&quot;,&quot;translate(&quot;+(S.l-l)+&quot;,&quot;+S.t+&quot;)&quot;),o.autoMargin(t,e,{x:k.x,y:k.y,l:a*({right:1,center:.5}[k.xanchor]||0),r:a*({left:1,center:.5}[k.xanchor]||0),t:s*({bottom:1,middle:.5}[k.yanchor]||0),b:s*({top:1,middle:.5}[k.yanchor]||0)})}],t);if(dt&amp;&amp;dt.then&amp;&amp;(t._promises||[]).push(dt),t._context.edits.colorbarPosition){var pt,mt,gt;c.init({element:st.node(),gd:t,prepFn:function(){pt=st.attr(&quot;transform&quot;),h(st)},moveFn:function(t,e){st.attr(&quot;transform&quot;,pt+&quot; translate(&quot;+t+&quot;,&quot;+e+&quot;)&quot;),mt=c.align(J+t/S.w,q,0,1,k.xanchor),gt=c.align(K-e/S.h,G,0,1,k.yanchor);var r=c.getCursor(mt,gt,k.xanchor,k.yanchor);h(st,r)},doneFn:function(){h(st),void 0!==mt&amp;&amp;void 0!==gt&amp;&amp;a.restyle(t,{&quot;colorbar.x&quot;:mt,&quot;colorbar.y&quot;:gt},M().index)}})}return dt}T._infolayer.selectAll(&quot;g.&quot;+e).remove()}function M(){var r,n,i=e.substr(2);for(r=0;r&lt;t._fullData.length;r++)if((n=t._fullData[r]).uid===i)return n}var k={};return Object.keys(_).forEach(function(t){k[t]=null}),k.fillcolor=null,k.line={color:null,width:null,dash:null},k.levels={start:null,end:null,size:null},k.filllevels=null,Object.keys(k).forEach(function(t){r[t]=function(e){return arguments.length?(k[t]=u.isPlainObject(k[t])?u.extendFlat(k[t],e):e,r):k[t]}}),r.options=function(t){return Object.keys(t).forEach(function(e){&quot;function&quot;==typeof r[e]&amp;&amp;r[e](t[e])}),r},r._opts=k,r}},{&quot;../../constants/alignment&quot;:716,&quot;../../lib&quot;:743,&quot;../../lib/extend&quot;:732,&quot;../../lib/setcursor&quot;:762,&quot;../../lib/svg_text_utils&quot;:766,&quot;../../plotly&quot;:784,&quot;../../plots/cartesian/axes&quot;:789,&quot;../../plots/cartesian/axis_defaults&quot;:791,&quot;../../plots/cartesian/layout_attributes&quot;:801,&quot;../../plots/cartesian/position_defaults&quot;:805,&quot;../../plots/plots&quot;:852,&quot;../../registry&quot;:873,&quot;../color&quot;:618,&quot;../dragelement&quot;:640,&quot;../drawing&quot;:643,&quot;../titles&quot;:709,&quot;./attributes&quot;:619,&quot;./constants&quot;:620,d3:128,tinycolor2:546}],623:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib&quot;);e.exports=function(t){return n.isPlainObject(t.colorbar)}},{&quot;../../lib&quot;:743}],624:[function(t,e,r){&quot;use strict&quot;;e.exports={zauto:{valType:&quot;boolean&quot;,dflt:!0,editType:&quot;calc&quot;,impliedEdits:{zmin:void 0,zmax:void 0}},zmin:{valType:&quot;number&quot;,dflt:null,editType:&quot;plot&quot;,impliedEdits:{zauto:!1}},zmax:{valType:&quot;number&quot;,dflt:null,editType:&quot;plot&quot;,impliedEdits:{zauto:!1}},colorscale:{valType:&quot;colorscale&quot;,editType:&quot;calc&quot;,impliedEdits:{autocolorscale:!1}},autocolorscale:{valType:&quot;boolean&quot;,dflt:!0,editType:&quot;calc&quot;,impliedEdits:{colorscale:void 0}},reversescale:{valType:&quot;boolean&quot;,dflt:!1,editType:&quot;calc&quot;},showscale:{valType:&quot;boolean&quot;,dflt:!0,editType:&quot;calc&quot;}}},{}],625:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib&quot;),i=t(&quot;./scales&quot;),a=t(&quot;./flip_scale&quot;);e.exports=function(t,e,r,o){var s,l;r?(s=n.nestedProperty(t,r).get(),l=n.nestedProperty(t._input,r).get()):(s=t,l=t._input);var c=o+&quot;auto&quot;,u=o+&quot;min&quot;,f=o+&quot;max&quot;,h=s[c],d=s[u],p=s[f],m=s.colorscale;!1===h&amp;&amp;void 0!==d||(d=n.aggNums(Math.min,null,e)),!1===h&amp;&amp;void 0!==p||(p=n.aggNums(Math.max,null,e)),d===p&amp;&amp;(d-=.5,p+=.5),s[u]=d,s[f]=p,l[u]=d,l[f]=p,l[c]=!1!==h||void 0===d&amp;&amp;void 0===p,s.autocolorscale&amp;&amp;(m=d*p&lt;0?i.RdBu:d&gt;=0?i.Reds:i.Blues,l.colorscale=m,s.reversescale&amp;&amp;(m=a(m)),s.colorscale=m)}},{&quot;../../lib&quot;:743,&quot;./flip_scale&quot;:630,&quot;./scales&quot;:637}],626:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;./attributes&quot;),i=t(&quot;../../lib/extend&quot;).extendFlat;t(&quot;./scales.js&quot;);e.exports=function(t,e,r){return{color:{valType:&quot;color&quot;,arrayOk:!0,editType:e||&quot;style&quot;},colorscale:i({},n.colorscale,{}),cauto:i({},n.zauto,{impliedEdits:{cmin:void 0,cmax:void 0}}),cmax:i({},n.zmax,{editType:e||n.zmax.editType,impliedEdits:{cauto:!1}}),cmin:i({},n.zmin,{editType:e||n.zmin.editType,impliedEdits:{cauto:!1}}),autocolorscale:i({},n.autocolorscale,{dflt:!1===r?r:n.autocolorscale.dflt}),reversescale:i({},n.reversescale,{})}}},{&quot;../../lib/extend&quot;:732,&quot;./attributes&quot;:624,&quot;./scales.js&quot;:637}],627:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;./scales&quot;);e.exports=n.RdBu},{&quot;./scales&quot;:637}],628:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;fast-isnumeric&quot;),i=t(&quot;../../lib&quot;),a=t(&quot;../colorbar/has_colorbar&quot;),o=t(&quot;../colorbar/defaults&quot;),s=t(&quot;./is_valid_scale&quot;),l=t(&quot;./flip_scale&quot;);e.exports=function(t,e,r,c,u){var f=u.prefix,h=u.cLetter,d=f.slice(0,f.length-1),p=f?i.nestedProperty(t,d).get()||{}:t,m=f?i.nestedProperty(e,d).get()||{}:e,g=p[h+&quot;min&quot;],v=p[h+&quot;max&quot;],y=p.colorscale;c(f+h+&quot;auto&quot;,!(n(g)&amp;&amp;n(v)&amp;&amp;g&lt;v)),c(f+h+&quot;min&quot;),c(f+h+&quot;max&quot;);var x;void 0!==y&amp;&amp;(x=!s(y)),c(f+&quot;autocolorscale&quot;,x);var b=c(f+&quot;colorscale&quot;);if(c(f+&quot;reversescale&quot;)&amp;&amp;(m.colorscale=l(b)),&quot;marker.line.&quot;!==f){var _;f&amp;&amp;(_=a(p));c(f+&quot;showscale&quot;,_)&amp;&amp;o(p,m,r)}}},{&quot;../../lib&quot;:743,&quot;../colorbar/defaults&quot;:621,&quot;../colorbar/has_colorbar&quot;:623,&quot;./flip_scale&quot;:630,&quot;./is_valid_scale&quot;:634,&quot;fast-isnumeric&quot;:140}],629:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t,e,r){for(var n=t.length,i=new Array(n),a=new Array(n),o=0;o&lt;n;o++){var s=t[o];i[o]=e+s[0]*(r-e),a[o]=s[1]}return{domain:i,range:a}}},{}],630:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t){for(var e,r=t.length,n=new Array(r),i=r-1,a=0;i&gt;=0;i--,a++)e=t[i],n[a]=[1-e[0],e[1]];return n}},{}],631:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;./scales&quot;),i=t(&quot;./default_scale&quot;),a=t(&quot;./is_valid_scale_array&quot;);e.exports=function(t,e){function r(){try{t=n[t]||JSON.parse(t)}catch(r){t=e}}return e||(e=i),t?(&quot;string&quot;==typeof t&amp;&amp;(r(),&quot;string&quot;==typeof t&amp;&amp;r()),a(t)?t:e):e}},{&quot;./default_scale&quot;:627,&quot;./is_valid_scale_array&quot;:635,&quot;./scales&quot;:637}],632:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;fast-isnumeric&quot;),i=t(&quot;../../lib&quot;),a=t(&quot;./is_valid_scale&quot;);e.exports=function(t,e){var r=e?i.nestedProperty(t,e).get()||{}:t,o=r.color,s=!1;if(Array.isArray(o))for(var l=0;l&lt;o.length;l++)if(n(o[l])){s=!0;break}return i.isPlainObject(r)&amp;&amp;(s||!0===r.showscale||n(r.cmin)&amp;&amp;n(r.cmax)||a(r.colorscale)||i.isPlainObject(r.colorbar))}},{&quot;../../lib&quot;:743,&quot;./is_valid_scale&quot;:634,&quot;fast-isnumeric&quot;:140}],633:[function(t,e,r){&quot;use strict&quot;;r.scales=t(&quot;./scales&quot;),r.defaultScale=t(&quot;./default_scale&quot;),r.attributes=t(&quot;./attributes&quot;),r.handleDefaults=t(&quot;./defaults&quot;),r.calc=t(&quot;./calc&quot;),r.hasColorscale=t(&quot;./has_colorscale&quot;),r.isValidScale=t(&quot;./is_valid_scale&quot;),r.getScale=t(&quot;./get_scale&quot;),r.flipScale=t(&quot;./flip_scale&quot;),r.extractScale=t(&quot;./extract_scale&quot;),r.makeColorScaleFunc=t(&quot;./make_color_scale_func&quot;)},{&quot;./attributes&quot;:624,&quot;./calc&quot;:625,&quot;./default_scale&quot;:627,&quot;./defaults&quot;:628,&quot;./extract_scale&quot;:629,&quot;./flip_scale&quot;:630,&quot;./get_scale&quot;:631,&quot;./has_colorscale&quot;:632,&quot;./is_valid_scale&quot;:634,&quot;./make_color_scale_func&quot;:636,&quot;./scales&quot;:637}],634:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;./scales&quot;),i=t(&quot;./is_valid_scale_array&quot;);e.exports=function(t){return void 0!==n[t]||i(t)}},{&quot;./is_valid_scale_array&quot;:635,&quot;./scales&quot;:637}],635:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;tinycolor2&quot;);e.exports=function(t){var e=0;if(!Array.isArray(t)||t.length&lt;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&lt;t.length;r++){var i=t[r];if(2!==i.length||+i[0]&lt;e||!n(i[1]).isValid())return!1;e=+i[0]}return!0}},{tinycolor2:546}],636:[function(t,e,r){&quot;use strict&quot;;function n(t){var e={r:t[0],g:t[1],b:t[2],a:t[3]};return a(e).toRgbString()}var i=t(&quot;d3&quot;),a=t(&quot;tinycolor2&quot;),o=t(&quot;fast-isnumeric&quot;),s=t(&quot;../color&quot;);e.exports=function(t,e){e=e||{};for(var r=t.domain,l=t.range,c=l.length,u=new Array(c),f=0;f&lt;c;f++){var h=a(l[f]).toRgb();u[f]=[h.r,h.g,h.b,h.a]}var d,p=i.scale.linear().domain(r).range(u).clamp(!0),m=e.noNumericCheck,g=e.returnArray;return d=m&amp;&amp;g?p:m?function(t){return n(p(t))}:g?function(t){return o(t)?p(t):a(t).isValid()?t:s.defaultLine}:function(t){return o(t)?n(p(t)):a(t).isValid()?t:s.defaultLine},d.domain=p.domain,d.range=function(){return l},d}},{&quot;../color&quot;:618,d3:128,&quot;fast-isnumeric&quot;:140,tinycolor2:546}],637:[function(t,e,r){&quot;use strict&quot;;e.exports={Greys:[[0,&quot;rgb(0,0,0)&quot;],[1,&quot;rgb(255,255,255)&quot;]],YlGnBu:[[0,&quot;rgb(8,29,88)&quot;],[.125,&quot;rgb(37,52,148)&quot;],[.25,&quot;rgb(34,94,168)&quot;],[.375,&quot;rgb(29,145,192)&quot;],[.5,&quot;rgb(65,182,196)&quot;],[.625,&quot;rgb(127,205,187)&quot;],[.75,&quot;rgb(199,233,180)&quot;],[.875,&quot;rgb(237,248,217)&quot;],[1,&quot;rgb(255,255,217)&quot;]],Greens:[[0,&quot;rgb(0,68,27)&quot;],[.125,&quot;rgb(0,109,44)&quot;],[.25,&quot;rgb(35,139,69)&quot;],[.375,&quot;rgb(65,171,93)&quot;],[.5,&quot;rgb(116,196,118)&quot;],[.625,&quot;rgb(161,217,155)&quot;],[.75,&quot;rgb(199,233,192)&quot;],[.875,&quot;rgb(229,245,224)&quot;],[1,&quot;rgb(247,252,245)&quot;]],YlOrRd:[[0,&quot;rgb(128,0,38)&quot;],[.125,&quot;rgb(189,0,38)&quot;],[.25,&quot;rgb(227,26,28)&quot;],[.375,&quot;rgb(252,78,42)&quot;],[.5,&quot;rgb(253,141,60)&quot;],[.625,&quot;rgb(254,178,76)&quot;],[.75,&quot;rgb(254,217,118)&quot;],[.875,&quot;rgb(255,237,160)&quot;],[1,&quot;rgb(255,255,204)&quot;]],Bluered:[[0,&quot;rgb(0,0,255)&quot;],[1,&quot;rgb(255,0,0)&quot;]],RdBu:[[0,&quot;rgb(5,10,172)&quot;],[.35,&quot;rgb(106,137,247)&quot;],[.5,&quot;rgb(190,190,190)&quot;],[.6,&quot;rgb(220,170,132)&quot;],[.7,&quot;rgb(230,145,90)&quot;],[1,&quot;rgb(178,10,28)&quot;]],Reds:[[0,&quot;rgb(220,220,220)&quot;],[.2,&quot;rgb(245,195,157)&quot;],[.4,&quot;rgb(245,160,105)&quot;],[1,&quot;rgb(178,10,28)&quot;]],Blues:[[0,&quot;rgb(5,10,172)&quot;],[.35,&quot;rgb(40,60,190)&quot;],[.5,&quot;rgb(70,100,245)&quot;],[.6,&quot;rgb(90,120,245)&quot;],[.7,&quot;rgb(106,137,247)&quot;],[1,&quot;rgb(220,220,220)&quot;]],Picnic:[[0,&quot;rgb(0,0,255)&quot;],[.1,&quot;rgb(51,153,255)&quot;],[.2,&quot;rgb(102,204,255)&quot;],[.3,&quot;rgb(153,204,255)&quot;],[.4,&quot;rgb(204,204,255)&quot;],[.5,&quot;rgb(255,255,255)&quot;],[.6,&quot;rgb(255,204,255)&quot;],[.7,&quot;rgb(255,153,255)&quot;],[.8,&quot;rgb(255,102,204)&quot;],[.9,&quot;rgb(255,102,102)&quot;],[1,&quot;rgb(255,0,0)&quot;]],Rainbow:[[0,&quot;rgb(150,0,90)&quot;],[.125,&quot;rgb(0,0,200)&quot;],[.25,&quot;rgb(0,25,255)&quot;],[.375,&quot;rgb(0,152,255)&quot;],[.5,&quot;rgb(44,255,150)&quot;],[.625,&quot;rgb(151,255,0)&quot;],[.75,&quot;rgb(255,234,0)&quot;],[.875,&quot;rgb(255,111,0)&quot;],[1,&quot;rgb(255,0,0)&quot;]],Portland:[[0,&quot;rgb(12,51,131)&quot;],[.25,&quot;rgb(10,136,186)&quot;],[.5,&quot;rgb(242,211,56)&quot;],[.75,&quot;rgb(242,143,56)&quot;],[1,&quot;rgb(217,30,30)&quot;]],Jet:[[0,&quot;rgb(0,0,131)&quot;],[.125,&quot;rgb(0,60,170)&quot;],[.375,&quot;rgb(5,255,255)&quot;],[.625,&quot;rgb(255,255,0)&quot;],[.875,&quot;rgb(250,0,0)&quot;],[1,&quot;rgb(128,0,0)&quot;]],Hot:[[0,&quot;rgb(0,0,0)&quot;],[.3,&quot;rgb(230,0,0)&quot;],[.6,&quot;rgb(255,210,0)&quot;],[1,&quot;rgb(255,255,255)&quot;]],Blackbody:[[0,&quot;rgb(0,0,0)&quot;],[.2,&quot;rgb(230,0,0)&quot;],[.4,&quot;rgb(230,210,0)&quot;],[.7,&quot;rgb(255,255,255)&quot;],[1,&quot;rgb(160,200,255)&quot;]],Earth:[[0,&quot;rgb(0,0,130)&quot;],[.1,&quot;rgb(0,180,180)&quot;],[.2,&quot;rgb(40,210,40)&quot;],[.4,&quot;rgb(230,230,50)&quot;],[.6,&quot;rgb(120,70,20)&quot;],[1,&quot;rgb(255,255,255)&quot;]],Electric:[[0,&quot;rgb(0,0,0)&quot;],[.15,&quot;rgb(30,0,100)&quot;],[.4,&quot;rgb(120,0,100)&quot;],[.6,&quot;rgb(160,90,0)&quot;],[.8,&quot;rgb(230,200,0)&quot;],[1,&quot;rgb(255,250,220)&quot;]],Viridis:[[0,&quot;#440154&quot;],[.06274509803921569,&quot;#48186a&quot;],[.12549019607843137,&quot;#472d7b&quot;],[.18823529411764706,&quot;#424086&quot;],[.25098039215686274,&quot;#3b528b&quot;],[.3137254901960784,&quot;#33638d&quot;],[.3764705882352941,&quot;#2c728e&quot;],[.4392156862745098,&quot;#26828e&quot;],[.5019607843137255,&quot;#21918c&quot;],[.5647058823529412,&quot;#1fa088&quot;],[.6274509803921569,&quot;#28ae80&quot;],[.6901960784313725,&quot;#3fbc73&quot;],[.7529411764705882,&quot;#5ec962&quot;],[.8156862745098039,&quot;#84d44b&quot;],[.8784313725490196,&quot;#addc30&quot;],[.9411764705882353,&quot;#d8e219&quot;],[1,&quot;#fde725&quot;]],Cividis:[[0,&quot;rgb(0,32,76)&quot;],[.058824,&quot;rgb(0,42,102)&quot;],[.117647,&quot;rgb(0,52,110)&quot;],[.176471,&quot;rgb(39,63,108)&quot;],[.235294,&quot;rgb(60,74,107)&quot;],[.294118,&quot;rgb(76,85,107)&quot;],[.352941,&quot;rgb(91,95,109)&quot;],[.411765,&quot;rgb(104,106,112)&quot;],[.470588,&quot;rgb(117,117,117)&quot;],[.529412,&quot;rgb(131,129,120)&quot;],[.588235,&quot;rgb(146,140,120)&quot;],[.647059,&quot;rgb(161,152,118)&quot;],[.705882,&quot;rgb(176,165,114)&quot;],[.764706,&quot;rgb(192,177,109)&quot;],[.823529,&quot;rgb(209,191,102)&quot;],[.882353,&quot;rgb(225,204,92)&quot;],[.941176,&quot;rgb(243,219,79)&quot;],[1,&quot;rgb(255,233,69)&quot;]]}},{}],638:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t,e,r,n,i){var a=(t-r)/(n-r),o=a+e/(n-r),s=(a+o)/2;return&quot;left&quot;===i||&quot;bottom&quot;===i?a:&quot;center&quot;===i||&quot;middle&quot;===i?s:&quot;right&quot;===i||&quot;top&quot;===i?o:a&lt;2/3-s?a:o&gt;4/3-s?o:s}},{}],639:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib&quot;),i=[[&quot;sw-resize&quot;,&quot;s-resize&quot;,&quot;se-resize&quot;],[&quot;w-resize&quot;,&quot;move&quot;,&quot;e-resize&quot;],[&quot;nw-resize&quot;,&quot;n-resize&quot;,&quot;ne-resize&quot;]];e.exports=function(t,e,r,a){return t=&quot;left&quot;===r?0:&quot;center&quot;===r?1:&quot;right&quot;===r?2:n.constrain(Math.floor(3*t),0,2),e=&quot;bottom&quot;===a?0:&quot;middle&quot;===a?1:&quot;top&quot;===a?2:n.constrain(Math.floor(3*e),0,2),i[e][t]}},{&quot;../../lib&quot;:743}],640:[function(t,e,r){&quot;use strict&quot;;function n(){var t=document.createElement(&quot;div&quot;);t.className=&quot;dragcover&quot;;var e=t.style;return e.position=&quot;fixed&quot;,e.left=0,e.right=0,e.top=0,e.bottom=0,e.zIndex=999999999,e.background=&quot;none&quot;,document.body.appendChild(t),t}function i(t){return a(t.changedTouches?t.changedTouches[0]:t,document.body)}var a=t(&quot;mouse-event-offset&quot;),o=t(&quot;has-hover&quot;),s=t(&quot;../../plotly&quot;),l=t(&quot;../../lib&quot;),c=t(&quot;../../plots/cartesian/constants&quot;),u=t(&quot;../../constants/interactions&quot;),f=e.exports={};f.align=t(&quot;./align&quot;),f.getCursor=t(&quot;./cursor&quot;);var h=t(&quot;./unhover&quot;);f.unhover=h.wrapped,f.unhoverRaw=h.raw;var d=l.eventListenerOptionsSupported();f.init=function(t){function e(e){_._dragged=!1,_._dragging=!0;var s=i(e);return h=s[0],p=s[1],x=e.target,y=e,b=e.buttons&amp;&amp;2===e.buttons||e.ctrlKey,(m=(new Date).getTime())-_._mouseDownTime&lt;M?w+=1:(w=1,_._mouseDownTime=m),t.prepFn&amp;&amp;t.prepFn(e,h,p),o&amp;&amp;!b?(v=n()).style.cursor=window.getComputedStyle(k).cursor:o||(v=document,g=window.getComputedStyle(document.documentElement).cursor,document.documentElement.style.cursor=window.getComputedStyle(k).cursor),document.addEventListener(&quot;mousemove&quot;,r),document.addEventListener(&quot;mouseup&quot;,a),document.addEventListener(&quot;touchmove&quot;,r),document.addEventListener(&quot;touchend&quot;,a),l.pauseEvent(e)}function r(e){var r=i(e),n=t.minDrag||c.MINDRAG,a=A(r[0]-h,r[1]-p,n),o=a[0],s=a[1];return(o||s)&amp;&amp;(_._dragged=!0,f.unhover(_)),_._dragged&amp;&amp;t.moveFn&amp;&amp;!b&amp;&amp;t.moveFn(o,s),l.pauseEvent(e)}function a(e){if(document.removeEventListener(&quot;mousemove&quot;,r),document.removeEventListener(&quot;mouseup&quot;,a),document.removeEventListener(&quot;touchmove&quot;,r),document.removeEventListener(&quot;touchend&quot;,a),o?l.removeElement(v):g&amp;&amp;(v.documentElement.style.cursor=g,g=null),_._dragging){if(_._dragging=!1,(new Date).getTime()-_._mouseDownTime&gt;M&amp;&amp;(w=Math.max(w-1,1)),_._dragged)t.doneFn&amp;&amp;t.doneFn(e);else if(t.clickFn&amp;&amp;t.clickFn(w,y),!b){var n;try{n=new MouseEvent(&quot;click&quot;,e)}catch(t){var c=i(e);(n=document.createEvent(&quot;MouseEvents&quot;)).initMouseEvent(&quot;click&quot;,e.bubbles,e.cancelable,e.view,e.detail,e.screenX,e.screenY,c[0],c[1],e.ctrlKey,e.altKey,e.shiftKey,e.metaKey,e.button,e.relatedTarget)}x.dispatchEvent(n)}return function(t){t._dragging=!1,t._replotPending&amp;&amp;s.plot(t)}(_),_._dragged=!1,l.pauseEvent(e)}_._dragged=!1}var h,p,m,g,v,y,x,b,_=t.gd,w=1,M=u.DBLCLICKDELAY,k=t.element;_._mouseDownTime||(_._mouseDownTime=0),k.style.pointerEvents=&quot;all&quot;,k.onmousedown=e,d?(k._ontouchstart&amp;&amp;k.removeEventListener(&quot;touchstart&quot;,k._ontouchstart),k._ontouchstart=e,k.addEventListener(&quot;touchstart&quot;,e,{passive:!1})):k.ontouchstart=e;var A=t.clampFn||function(t,e,r){return Math.abs(t)&lt;r&amp;&amp;(t=0),Math.abs(e)&lt;r&amp;&amp;(e=0),[t,e]}},f.coverSlip=n},{&quot;../../constants/interactions&quot;:720,&quot;../../lib&quot;:743,&quot;../../plotly&quot;:784,&quot;../../plots/cartesian/constants&quot;:794,&quot;./align&quot;:638,&quot;./cursor&quot;:639,&quot;./unhover&quot;:641,&quot;has-hover&quot;:276,&quot;mouse-event-offset&quot;:444}],641:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib/events&quot;),i=t(&quot;../../lib/throttle&quot;),a=t(&quot;../../lib/get_graph_div&quot;),o=t(&quot;../fx/constants&quot;),s=e.exports={};s.wrapped=function(t,e,r){(t=a(t))._fullLayout&amp;&amp;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&amp;&amp;!1===n.triggerHandler(t,&quot;plotly_beforehover&quot;,e)||(r._hoverlayer.selectAll(&quot;g&quot;).remove(),r._hoverlayer.selectAll(&quot;line&quot;).remove(),r._hoverlayer.selectAll(&quot;circle&quot;).remove(),t._hoverdata=void 0,e.target&amp;&amp;i&amp;&amp;t.emit(&quot;plotly_unhover&quot;,{event:e,points:i}))}},{&quot;../../lib/events&quot;:731,&quot;../../lib/get_graph_div&quot;:738,&quot;../../lib/throttle&quot;:767,&quot;../fx/constants&quot;:655}],642:[function(t,e,r){&quot;use strict&quot;;r.dash={valType:&quot;string&quot;,values:[&quot;solid&quot;,&quot;dot&quot;,&quot;dash&quot;,&quot;longdash&quot;,&quot;dashdot&quot;,&quot;longdashdot&quot;],dflt:&quot;solid&quot;,editType:&quot;style&quot;}},{}],643:[function(t,e,r){&quot;use strict&quot;;function n(t,e){var r=t%100;return _.symbolFuncs[r](e)+(t&gt;=200?k:&quot;&quot;)}function i(t,e,r,n){var i=l.select(t.node().parentNode),a=-1!==e.indexOf(&quot;top&quot;)?&quot;top&quot;:-1!==e.indexOf(&quot;bottom&quot;)?&quot;bottom&quot;:&quot;middle&quot;,o=-1!==e.indexOf(&quot;left&quot;)?&quot;end&quot;:-1!==e.indexOf(&quot;right&quot;)?&quot;start&quot;:&quot;middle&quot;,s=n?n/.8+1:0,c=(m.lineCount(t)-1)*v+1,u=S[o]*s,f=.75*r+S[a]*s+(S[a]-1)*c*r/2;t.attr(&quot;text-anchor&quot;,o),i.attr(&quot;transform&quot;,&quot;translate(&quot;+u+&quot;,&quot;+f+&quot;)&quot;)}function a(t,e){var r=t.ts||e.textfont.size;return c(r)&amp;&amp;r&gt;0?r:0}function o(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],c=Math.pow(i*i+a*a,E/2),u=Math.pow(o*o+s*s,E/2),f=(u*u*i-c*c*o)*n,h=(u*u*a-c*c*s)*n,d=3*u*(c+u),p=3*c*(c+u);return[[l.round(e[0]+(d&amp;&amp;f/d),2),l.round(e[1]+(d&amp;&amp;h/d),2)],[l.round(e[0]-(p&amp;&amp;f/p),2),l.round(e[1]-(p&amp;&amp;h/p),2)]]}function s(t){var e=t.getAttribute(&quot;data-unformatted&quot;);if(null!==e)return e+t.getAttribute(&quot;data-math&quot;)+t.getAttribute(&quot;text-anchor&quot;)+t.getAttribute(&quot;style&quot;)}var l=t(&quot;d3&quot;),c=t(&quot;fast-isnumeric&quot;),u=t(&quot;tinycolor2&quot;),f=t(&quot;../../registry&quot;),h=t(&quot;../color&quot;),d=t(&quot;../colorscale&quot;),p=t(&quot;../../lib&quot;),m=t(&quot;../../lib/svg_text_utils&quot;),g=t(&quot;../../constants/xmlns_namespaces&quot;),v=t(&quot;../../constants/alignment&quot;).LINE_SPACING,y=t(&quot;../../constants/interactions&quot;).DESELECTDIM,x=t(&quot;../../traces/scatter/subtypes&quot;),b=t(&quot;../../traces/scatter/make_bubble_size_func&quot;),_=e.exports={};_.font=function(t,e,r,n){p.isPlainObject(e)&amp;&amp;(n=e.color,r=e.size,e=e.family),e&amp;&amp;t.style(&quot;font-family&quot;,e),r+1&amp;&amp;t.style(&quot;font-size&quot;,r+&quot;px&quot;),n&amp;&amp;t.call(h.fill,n)},_.setPosition=function(t,e,r){t.attr(&quot;x&quot;,e).attr(&quot;y&quot;,r)},_.setSize=function(t,e,r){t.attr(&quot;width&quot;,e).attr(&quot;height&quot;,r)},_.setRect=function(t,e,r,n,i){t.call(_.setPosition,e,r).call(_.setSize,n,i)},_.translatePoint=function(t,e,r,n){var i=r.c2p(t.x),a=n.c2p(t.y);return!!(c(i)&amp;&amp;c(a)&amp;&amp;e.node())&amp;&amp;(&quot;text&quot;===e.node().nodeName?e.attr(&quot;x&quot;,i).attr(&quot;y&quot;,a):e.attr(&quot;transform&quot;,&quot;translate(&quot;+i+&quot;,&quot;+a+&quot;)&quot;),!0)},_.translatePoints=function(t,e,r){t.each(function(t){var n=l.select(this);_.translatePoint(t,n,e,r)})},_.hideOutsideRangePoint=function(t,e,r,n,i,a){e.attr(&quot;display&quot;,r.isPtWithinRange(t,i)&amp;&amp;n.isPtWithinRange(t,a)?null:&quot;none&quot;)},_.hideOutsideRangePoints=function(t,e){if(e._hasClipOnAxisFalse){var r=e.xaxis,n=e.yaxis;t.each(function(e){var i=e[0].trace,a=i.xcalendar,o=i.ycalendar;t.selectAll(&quot;.point,.textpoint&quot;).each(function(t){_.hideOutsideRangePoint(t,l.select(this),r,n,a,o)})})}},_.crispRound=function(t,e,r){return e&amp;&amp;c(e)?t._context.staticPlot?e:e&lt;1?1:Math.round(e):r||0},_.singleLineStyle=function(t,e,r,n,i){e.style(&quot;fill&quot;,&quot;none&quot;);var a=(((t||[])[0]||{}).trace||{}).line||{},o=r||a.width||0,s=i||a.dash||&quot;&quot;;h.stroke(e,n||a.color),_.dashLine(e,s,o)},_.lineGroupStyle=function(t,e,r,n){t.style(&quot;fill&quot;,&quot;none&quot;).each(function(t){var i=(((t||[])[0]||{}).trace||{}).line||{},a=e||i.width||0,o=n||i.dash||&quot;&quot;;l.select(this).call(h.stroke,r||i.color).call(_.dashLine,o,a)})},_.dashLine=function(t,e,r){r=+r||0,e=_.dashStyle(e,r),t.style({&quot;stroke-dasharray&quot;:e,&quot;stroke-width&quot;:r+&quot;px&quot;})},_.dashStyle=function(t,e){e=+e||1;var r=Math.max(e,3);return&quot;solid&quot;===t?t=&quot;&quot;:&quot;dot&quot;===t?t=r+&quot;px,&quot;+r+&quot;px&quot;:&quot;dash&quot;===t?t=3*r+&quot;px,&quot;+3*r+&quot;px&quot;:&quot;longdash&quot;===t?t=5*r+&quot;px,&quot;+5*r+&quot;px&quot;:&quot;dashdot&quot;===t?t=3*r+&quot;px,&quot;+r+&quot;px,&quot;+r+&quot;px,&quot;+r+&quot;px&quot;:&quot;longdashdot&quot;===t&amp;&amp;(t=5*r+&quot;px,&quot;+2*r+&quot;px,&quot;+r+&quot;px,&quot;+2*r+&quot;px&quot;),t},_.singleFillStyle=function(t){var e=(((l.select(t.node()).data()[0]||[])[0]||{}).trace||{}).fillcolor;e&amp;&amp;t.call(h.fill,e)},_.fillGroupStyle=function(t){t.style(&quot;stroke-width&quot;,0).each(function(e){var r=l.select(this);try{r.call(h.fill,e[0].trace.fillcolor)}catch(e){p.error(e,t),r.remove()}})};var w=t(&quot;./symbol_defs&quot;);_.symbolNames=[],_.symbolFuncs=[],_.symbolNeedLines={},_.symbolNoDot={},_.symbolNoFill={},_.symbolList=[],Object.keys(w).forEach(function(t){var e=w[t];_.symbolList=_.symbolList.concat([e.n,t,e.n+100,t+&quot;-open&quot;]),_.symbolNames[e.n]=t,_.symbolFuncs[e.n]=e.f,e.needLine&amp;&amp;(_.symbolNeedLines[e.n]=!0),e.noDot?_.symbolNoDot[e.n]=!0:_.symbolList=_.symbolList.concat([e.n+200,t+&quot;-dot&quot;,e.n+300,t+&quot;-open-dot&quot;]),e.noFill&amp;&amp;(_.symbolNoFill[e.n]=!0)});var M=_.symbolNames.length,k=&quot;M0,0.5L0.5,0L0,-0.5L-0.5,0Z&quot;;_.symbolNumber=function(t){if(&quot;string&quot;==typeof t){var e=0;t.indexOf(&quot;-open&quot;)&gt;0&amp;&amp;(e=100,t=t.replace(&quot;-open&quot;,&quot;&quot;)),t.indexOf(&quot;-dot&quot;)&gt;0&amp;&amp;(e+=200,t=t.replace(&quot;-dot&quot;,&quot;&quot;)),(t=_.symbolNames.indexOf(t))&gt;=0&amp;&amp;(t+=e)}return t%100&gt;=M||t&gt;=400?0:Math.floor(Math.max(t,0))};var A={x1:1,x2:0,y1:0,y2:0},T={x1:0,x2:0,y1:1,y2:0};_.gradient=function(t,e,r,n,i,a){var o=e._fullLayout._defs.select(&quot;.gradients&quot;).selectAll(&quot;#&quot;+r).data([n+i+a],p.identity);o.exit().remove(),o.enter().append(&quot;radial&quot;===n?&quot;radialGradient&quot;:&quot;linearGradient&quot;).each(function(){var t=l.select(this);&quot;horizontal&quot;===n?t.attr(A):&quot;vertical&quot;===n&amp;&amp;t.attr(T),t.attr(&quot;id&quot;,r);var e=u(i),o=u(a);t.append(&quot;stop&quot;).attr({offset:&quot;0%&quot;,&quot;stop-color&quot;:h.tinyRGB(o),&quot;stop-opacity&quot;:o.getAlpha()}),t.append(&quot;stop&quot;).attr({offset:&quot;100%&quot;,&quot;stop-color&quot;:h.tinyRGB(e),&quot;stop-opacity&quot;:e.getAlpha()})}),t.style({fill:&quot;url(#&quot;+r+&quot;)&quot;,&quot;fill-opacity&quot;:null})},_.initGradients=function(t){var e=t._fullLayout._defs.selectAll(&quot;.gradients&quot;).data([0]);e.enter().append(&quot;g&quot;).classed(&quot;gradients&quot;,!0),e.selectAll(&quot;linearGradient,radialGradient&quot;).remove()},_.singlePointStyle=function(t,e,r,i,a,o){var s=r.marker;!function(t,e,r,i,a,o,s,l){if(f.traceIs(r,&quot;symbols&quot;)){var c=b(r);e.attr(&quot;d&quot;,function(t){var e;e=&quot;various&quot;===t.ms||&quot;various&quot;===o.size?3:x.isBubble(r)?c(t.ms):(o.size||6)/2,t.mrc=e;var i=_.symbolNumber(t.mx||o.symbol)||0;return t.om=i%200&gt;=100,n(i,e)})}e.style(&quot;opacity&quot;,function(t){return(t.mo+1||o.opacity+1)-1});var u,d,p,m=!1;if(t.so?(p=s.outlierwidth,d=s.outliercolor,u=o.outliercolor):(p=(t.mlw+1||s.width+1||(t.trace?t.trace.marker.line.width:0)+1)-1,d=&quot;mlc&quot;in t?t.mlcc=a(t.mlc):Array.isArray(s.color)?h.defaultLine:s.color,Array.isArray(o.color)&amp;&amp;(u=h.defaultLine,m=!0),u=&quot;mc&quot;in t?t.mcc=i(t.mc):o.color||&quot;rgba(0,0,0,0)&quot;),t.om)e.call(h.stroke,u).style({&quot;stroke-width&quot;:(p||1)+&quot;px&quot;,fill:&quot;none&quot;});else{e.style(&quot;stroke-width&quot;,p+&quot;px&quot;);var g=o.gradient,v=t.mgt;if(v?m=!0:v=g&amp;&amp;g.type,v&amp;&amp;&quot;none&quot;!==v){var y=t.mgc;y?m=!0:y=g.color;var w=&quot;g&quot;+l._fullLayout._uid+&quot;-&quot;+r.uid;m&amp;&amp;(w+=&quot;-&quot;+t.i),e.call(_.gradient,l,w,v,u,y)}else e.call(h.fill,u);p&amp;&amp;e.call(h.stroke,d)}}(t,e,r,i,a,s,s.line,o)},_.pointStyle=function(t,e,r){if(t.size()){var n=e.marker,i=_.tryColorscale(n,&quot;&quot;),a=_.tryColorscale(n,&quot;line&quot;);t.each(function(t){_.singlePointStyle(t,l.select(this),e,i,a,r)})}},_.selectedPointStyle=function(t,e){if(t.size()&amp;&amp;e.selectedpoints){var r=e.selected||{},i=e.unselected||{},a=e.marker||{},o=r.marker||{},s=i.marker||{},c=a.opacity,u=o.opacity,d=s.opacity,p=void 0!==u,m=void 0!==d;t.each(function(t){var e,r=l.select(this),n=t.mo,i=void 0!==n;(i||p||m)&amp;&amp;(t.selected?p&amp;&amp;(e=u):e=m?d:y*(i?n:c)),void 0!==e&amp;&amp;r.style(&quot;opacity&quot;,e)});var g=o.color,v=s.color;(g||v)&amp;&amp;t.each(function(t){var e,r=l.select(this);t.selected?g&amp;&amp;(e=g):v&amp;&amp;(e=v),e&amp;&amp;h.fill(r,e)});var x=o.size,b=s.size,w=void 0!==x,M=void 0!==b;f.traceIs(e,&quot;symbols&quot;)&amp;&amp;(w||M)&amp;&amp;t.each(function(t){var e,r=l.select(this),i=t.mrc,o=t.mx||a.symbol||0;e=t.selected?w?x/2:i:M?b/2:i,r.attr(&quot;d&quot;,n(_.symbolNumber(o),e)),t.mrc2=e})}},_.tryColorscale=function(t,e){var r=e?p.nestedProperty(t,e).get():t,n=r.colorscale,i=r.color;return n&amp;&amp;Array.isArray(i)?d.makeColorScaleFunc(d.extractScale(n,r.cmin,r.cmax)):p.identity};var S={start:1,end:-1,middle:0,bottom:1,top:-1};_.textPointStyle=function(t,e,r){t.each(function(t){var n=l.select(this),o=p.extractOption(t,e,&quot;tx&quot;,&quot;text&quot;);if(o){var s=t.tp||e.textposition,c=a(t,e);n.call(_.font,t.tf||e.textfont.family,c,t.tc||e.textfont.color).text(o).call(m.convertToTspans,r).call(i,s,c,t.mrc)}else n.remove()})},_.selectedTextStyle=function(t,e){if(t.size()&amp;&amp;e.selectedpoints){var r=e.selected||{},n=e.unselected||{};t.each(function(t){var o,s=l.select(this),c=t.tc||e.textfont.color,u=t.tp||e.textposition,f=a(t,e),d=(r.textfont||{}).color,p=(n.textfont||{}).color;t.selected?d&amp;&amp;(o=d):p?o=p:d||(o=h.addOpacity(c,y)),o&amp;&amp;h.fill(s,o),i(s,u,f,t.mrc2||t.mrc)})}};var E=.5;_.smoothopen=function(t,e){if(t.length&lt;3)return&quot;M&quot;+t.join(&quot;L&quot;);var r,n=&quot;M&quot;+t[0],i=[];for(r=1;r&lt;t.length-1;r++)i.push(o(t[r-1],t[r],t[r+1],e));for(n+=&quot;Q&quot;+i[0][0]+&quot; &quot;+t[1],r=2;r&lt;t.length-1;r++)n+=&quot;C&quot;+i[r-2][1]+&quot; &quot;+i[r-1][0]+&quot; &quot;+t[r];return n+=&quot;Q&quot;+i[t.length-3][1]+&quot; &quot;+t[t.length-1]},_.smoothclosed=function(t,e){if(t.length&lt;3)return&quot;M&quot;+t.join(&quot;L&quot;)+&quot;Z&quot;;var r,n=&quot;M&quot;+t[0],i=t.length-1,a=[o(t[i],t[0],t[1],e)];for(r=1;r&lt;i;r++)a.push(o(t[r-1],t[r],t[r+1],e));for(a.push(o(t[i-1],t[i],t[0],e)),r=1;r&lt;=i;r++)n+=&quot;C&quot;+a[r-1][1]+&quot; &quot;+a[r][0]+&quot; &quot;+t[r];return n+=&quot;C&quot;+a[i][1]+&quot; &quot;+a[0][0]+&quot; &quot;+t[0]+&quot;Z&quot;};var L={hv:function(t,e){return&quot;H&quot;+l.round(e[0],2)+&quot;V&quot;+l.round(e[1],2)},vh:function(t,e){return&quot;V&quot;+l.round(e[1],2)+&quot;H&quot;+l.round(e[0],2)},hvh:function(t,e){return&quot;H&quot;+l.round((t[0]+e[0])/2,2)+&quot;V&quot;+l.round(e[1],2)+&quot;H&quot;+l.round(e[0],2)},vhv:function(t,e){return&quot;V&quot;+l.round((t[1]+e[1])/2,2)+&quot;H&quot;+l.round(e[0],2)+&quot;V&quot;+l.round(e[1],2)}};_.steps=function(t){var e=L[t]||function(t,e){return&quot;L&quot;+l.round(e[0],2)+&quot;,&quot;+l.round(e[1],2)};return function(t){for(var r=&quot;M&quot;+l.round(t[0][0],2)+&quot;,&quot;+l.round(t[0][1],2),n=1;n&lt;t.length;n++)r+=e(t[n-1],t[n]);return r}},_.makeTester=function(){var t=l.select(&quot;body&quot;).selectAll(&quot;#js-plotly-tester&quot;).data([0]);t.enter().append(&quot;svg&quot;).attr(&quot;id&quot;,&quot;js-plotly-tester&quot;).attr(g.svgAttrs).style({position:&quot;absolute&quot;,left:&quot;-10000px&quot;,top:&quot;-10000px&quot;,width:&quot;9000px&quot;,height:&quot;9000px&quot;,&quot;z-index&quot;:&quot;1&quot;});var e=t.selectAll(&quot;.js-reference-point&quot;).data([0]);e.enter().append(&quot;path&quot;).classed(&quot;js-reference-point&quot;,!0).attr(&quot;d&quot;,&quot;M0,0H1V1H0Z&quot;).style({&quot;stroke-width&quot;:0,fill:&quot;black&quot;}),_.tester=t,_.testref=e},_.savedBBoxes={};var C=0;_.bBox=function(t,e,r){r||(r=s(t));var n;if(r){if(n=_.savedBBoxes[r])return p.extendFlat({},n)}else if(1===t.childNodes.length){var i=t.childNodes[0];if(r=s(i)){var a=+i.getAttribute(&quot;x&quot;)||0,o=+i.getAttribute(&quot;y&quot;)||0,c=i.getAttribute(&quot;transform&quot;);if(!c){var u=_.bBox(i,!1,r);return a&amp;&amp;(u.left+=a,u.right+=a),o&amp;&amp;(u.top+=o,u.bottom+=o),u}if(r+=&quot;~&quot;+a+&quot;~&quot;+o+&quot;~&quot;+c,n=_.savedBBoxes[r])return p.extendFlat({},n)}}var f,h;e?f=t:(h=_.tester.node(),f=t.cloneNode(!0),h.appendChild(f)),l.select(f).attr(&quot;transform&quot;,null).call(m.positionText,0,0);var d=f.getBoundingClientRect(),g=_.testref.node().getBoundingClientRect();e||h.removeChild(f);var v={height:d.height,width:d.width,left:d.left-g.left,top:d.top-g.top,right:d.right-g.left,bottom:d.bottom-g.top};return C&gt;=1e4&amp;&amp;(_.savedBBoxes={},C=0),r&amp;&amp;(_.savedBBoxes[r]=v),C++,p.extendFlat({},v)},_.setClipUrl=function(t,e){if(e){var r=&quot;#&quot;+e,n=l.select(&quot;base&quot;);n.size()&amp;&amp;n.attr(&quot;href&quot;)&amp;&amp;(r=window.location.href.split(&quot;#&quot;)[0]+r),t.attr(&quot;clip-path&quot;,&quot;url(&quot;+r+&quot;)&quot;)}else t.attr(&quot;clip-path&quot;,null)},_.getTranslate=function(t){var e=(t[t.attr?&quot;attr&quot;:&quot;getAttribute&quot;](&quot;transform&quot;)||&quot;&quot;).replace(/.*\btranslate\((-?\d*\.?\d*)[^-\d]*(-?\d*\.?\d*)[^\d].*/,function(t,e,r){return[e,r].join(&quot; &quot;)}).split(&quot; &quot;);return{x:+e[0]||0,y:+e[1]||0}},_.setTranslate=function(t,e,r){var n=t.attr?&quot;attr&quot;:&quot;getAttribute&quot;,i=t.attr?&quot;attr&quot;:&quot;setAttribute&quot;,a=t[n](&quot;transform&quot;)||&quot;&quot;;return e=e||0,r=r||0,a=a.replace(/(\btranslate\(.*?\);?)/,&quot;&quot;).trim(),a+=&quot; translate(&quot;+e+&quot;, &quot;+r+&quot;)&quot;,a=a.trim(),t[i](&quot;transform&quot;,a),a},_.getScale=function(t){var e=(t[t.attr?&quot;attr&quot;:&quot;getAttribute&quot;](&quot;transform&quot;)||&quot;&quot;).replace(/.*\bscale\((\d*\.?\d*)[^\d]*(\d*\.?\d*)[^\d].*/,function(t,e,r){return[e,r].join(&quot; &quot;)}).split(&quot; &quot;);return{x:+e[0]||1,y:+e[1]||1}},_.setScale=function(t,e,r){var n=t.attr?&quot;attr&quot;:&quot;getAttribute&quot;,i=t.attr?&quot;attr&quot;:&quot;setAttribute&quot;,a=t[n](&quot;transform&quot;)||&quot;&quot;;return e=e||1,r=r||1,a=a.replace(/(\bscale\(.*?\);?)/,&quot;&quot;).trim(),a+=&quot; scale(&quot;+e+&quot;, &quot;+r+&quot;)&quot;,a=a.trim(),t[i](&quot;transform&quot;,a),a},_.setPointGroupScale=function(t,e,r){var n,i,a;return e=e||1,r=r||1,i=1===e&amp;&amp;1===r?&quot;&quot;:&quot; scale(&quot;+e+&quot;,&quot;+r+&quot;)&quot;,a=/\s*sc.*/,t.each(function(){n=(this.getAttribute(&quot;transform&quot;)||&quot;&quot;).replace(a,&quot;&quot;),n=(n+=i).trim(),this.setAttribute(&quot;transform&quot;,n)}),i};var z=/translate\([^)]*\)\s*$/;_.setTextPointsScale=function(t,e,r){t.each(function(){var t,n=l.select(this),i=n.select(&quot;text&quot;);if(i.node()){var a=parseFloat(i.attr(&quot;x&quot;)||0),o=parseFloat(i.attr(&quot;y&quot;)||0),s=(n.attr(&quot;transform&quot;)||&quot;&quot;).match(z);t=1===e&amp;&amp;1===r?[]:[&quot;translate(&quot;+a+&quot;,&quot;+o+&quot;)&quot;,&quot;scale(&quot;+e+&quot;,&quot;+r+&quot;)&quot;,&quot;translate(&quot;+-a+&quot;,&quot;+-o+&quot;)&quot;],s&amp;&amp;t.push(s),n.attr(&quot;transform&quot;,t.join(&quot; &quot;))}})}},{&quot;../../constants/alignment&quot;:716,&quot;../../constants/interactions&quot;:720,&quot;../../constants/xmlns_namespaces&quot;:723,&quot;../../lib&quot;:743,&quot;../../lib/svg_text_utils&quot;:766,&quot;../../registry&quot;:873,&quot;../../traces/scatter/make_bubble_size_func&quot;:1083,&quot;../../traces/scatter/subtypes&quot;:1088,&quot;../color&quot;:618,&quot;../colorscale&quot;:633,&quot;./symbol_defs&quot;:644,d3:128,&quot;fast-isnumeric&quot;:140,tinycolor2:546}],644:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;d3&quot;);e.exports={circle:{n:0,f:function(t){var e=n.round(t,2);return&quot;M&quot;+e+&quot;,0A&quot;+e+&quot;,&quot;+e+&quot; 0 1,1 0,-&quot;+e+&quot;A&quot;+e+&quot;,&quot;+e+&quot; 0 0,1 &quot;+e+&quot;,0Z&quot;}},square:{n:1,f:function(t){var e=n.round(t,2);return&quot;M&quot;+e+&quot;,&quot;+e+&quot;H-&quot;+e+&quot;V-&quot;+e+&quot;H&quot;+e+&quot;Z&quot;}},diamond:{n:2,f:function(t){var e=n.round(1.3*t,2);return&quot;M&quot;+e+&quot;,0L0,&quot;+e+&quot;L-&quot;+e+&quot;,0L0,-&quot;+e+&quot;Z&quot;}},cross:{n:3,f:function(t){var e=n.round(.4*t,2),r=n.round(1.2*t,2);return&quot;M&quot;+r+&quot;,&quot;+e+&quot;H&quot;+e+&quot;V&quot;+r+&quot;H-&quot;+e+&quot;V&quot;+e+&quot;H-&quot;+r+&quot;V-&quot;+e+&quot;H-&quot;+e+&quot;V-&quot;+r+&quot;H&quot;+e+&quot;V-&quot;+e+&quot;H&quot;+r+&quot;Z&quot;}},x:{n:4,f:function(t){var e=n.round(.8*t/Math.sqrt(2),2),r=&quot;l&quot;+e+&quot;,&quot;+e,i=&quot;l&quot;+e+&quot;,-&quot;+e,a=&quot;l-&quot;+e+&quot;,-&quot;+e,o=&quot;l-&quot;+e+&quot;,&quot;+e;return&quot;M0,&quot;+e+r+i+a+i+a+o+a+o+r+o+r+&quot;Z&quot;}},&quot;triangle-up&quot;:{n:5,f:function(t){var e=n.round(2*t/Math.sqrt(3),2);return&quot;M-&quot;+e+&quot;,&quot;+n.round(t/2,2)+&quot;H&quot;+e+&quot;L0,-&quot;+n.round(t,2)+&quot;Z&quot;}},&quot;triangle-down&quot;:{n:6,f:function(t){var e=n.round(2*t/Math.sqrt(3),2);return&quot;M-&quot;+e+&quot;,-&quot;+n.round(t/2,2)+&quot;H&quot;+e+&quot;L0,&quot;+n.round(t,2)+&quot;Z&quot;}},&quot;triangle-left&quot;:{n:7,f:function(t){var e=n.round(2*t/Math.sqrt(3),2);return&quot;M&quot;+n.round(t/2,2)+&quot;,-&quot;+e+&quot;V&quot;+e+&quot;L-&quot;+n.round(t,2)+&quot;,0Z&quot;}},&quot;triangle-right&quot;:{n:8,f:function(t){var e=n.round(2*t/Math.sqrt(3),2);return&quot;M-&quot;+n.round(t/2,2)+&quot;,-&quot;+e+&quot;V&quot;+e+&quot;L&quot;+n.round(t,2)+&quot;,0Z&quot;}},&quot;triangle-ne&quot;:{n:9,f:function(t){var e=n.round(.6*t,2),r=n.round(1.2*t,2);return&quot;M-&quot;+r+&quot;,-&quot;+e+&quot;H&quot;+e+&quot;V&quot;+r+&quot;Z&quot;}},&quot;triangle-se&quot;:{n:10,f:function(t){var e=n.round(.6*t,2),r=n.round(1.2*t,2);return&quot;M&quot;+e+&quot;,-&quot;+r+&quot;V&quot;+e+&quot;H-&quot;+r+&quot;Z&quot;}},&quot;triangle-sw&quot;:{n:11,f:function(t){var e=n.round(.6*t,2),r=n.round(1.2*t,2);return&quot;M&quot;+r+&quot;,&quot;+e+&quot;H-&quot;+e+&quot;V-&quot;+r+&quot;Z&quot;}},&quot;triangle-nw&quot;:{n:12,f:function(t){var e=n.round(.6*t,2),r=n.round(1.2*t,2);return&quot;M-&quot;+e+&quot;,&quot;+r+&quot;V-&quot;+e+&quot;H&quot;+r+&quot;Z&quot;}},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&quot;M&quot;+e+&quot;,&quot;+a+&quot;L&quot;+r+&quot;,&quot;+n.round(.809*t,2)+&quot;H-&quot;+r+&quot;L-&quot;+e+&quot;,&quot;+a+&quot;L0,&quot;+i+&quot;Z&quot;}},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&quot;M&quot;+i+&quot;,-&quot;+r+&quot;V&quot;+r+&quot;L0,&quot;+e+&quot;L-&quot;+i+&quot;,&quot;+r+&quot;V-&quot;+r+&quot;L0,-&quot;+e+&quot;Z&quot;}},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&quot;M-&quot;+r+&quot;,&quot;+i+&quot;H&quot;+r+&quot;L&quot;+e+&quot;,0L&quot;+r+&quot;,-&quot;+i+&quot;H-&quot;+r+&quot;L-&quot;+e+&quot;,0Z&quot;}},octagon:{n:16,f:function(t){var e=n.round(.924*t,2),r=n.round(.383*t,2);return&quot;M-&quot;+r+&quot;,-&quot;+e+&quot;H&quot;+r+&quot;L&quot;+e+&quot;,-&quot;+r+&quot;V&quot;+r+&quot;L&quot;+r+&quot;,&quot;+e+&quot;H-&quot;+r+&quot;L-&quot;+e+&quot;,&quot;+r+&quot;V-&quot;+r+&quot;Z&quot;}},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&quot;M&quot;+r+&quot;,&quot;+l+&quot;H&quot;+i+&quot;L&quot;+a+&quot;,&quot;+c+&quot;L&quot;+o+&quot;,&quot;+u+&quot;L0,&quot;+n.round(.382*e,2)+&quot;L-&quot;+o+&quot;,&quot;+u+&quot;L-&quot;+a+&quot;,&quot;+c+&quot;L-&quot;+i+&quot;,&quot;+l+&quot;H-&quot;+r+&quot;L0,&quot;+s+&quot;Z&quot;}},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&quot;M-&quot;+i+&quot;,0l-&quot;+r+&quot;,-&quot;+e+&quot;h&quot;+i+&quot;l&quot;+r+&quot;,-&quot;+e+&quot;l&quot;+r+&quot;,&quot;+e+&quot;h&quot;+i+&quot;l-&quot;+r+&quot;,&quot;+e+&quot;l&quot;+r+&quot;,&quot;+e+&quot;h-&quot;+i+&quot;l-&quot;+r+&quot;,&quot;+e+&quot;l-&quot;+r+&quot;,-&quot;+e+&quot;h-&quot;+i+&quot;Z&quot;}},&quot;star-triangle-up&quot;:{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=&quot;A &quot;+a+&quot;,&quot;+a+&quot; 0 0 1 &quot;;return&quot;M-&quot;+e+&quot;,&quot;+r+o+e+&quot;,&quot;+r+o+&quot;0,-&quot;+i+o+&quot;-&quot;+e+&quot;,&quot;+r+&quot;Z&quot;}},&quot;star-triangle-down&quot;:{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=&quot;A &quot;+a+&quot;,&quot;+a+&quot; 0 0 1 &quot;;return&quot;M&quot;+e+&quot;,-&quot;+r+o+&quot;-&quot;+e+&quot;,-&quot;+r+o+&quot;0,&quot;+i+o+e+&quot;,-&quot;+r+&quot;Z&quot;}},&quot;star-square&quot;:{n:21,f:function(t){var e=n.round(1.1*t,2),r=n.round(2*t,2),i=&quot;A &quot;+r+&quot;,&quot;+r+&quot; 0 0 1 &quot;;return&quot;M-&quot;+e+&quot;,-&quot;+e+i+&quot;-&quot;+e+&quot;,&quot;+e+i+e+&quot;,&quot;+e+i+e+&quot;,-&quot;+e+i+&quot;-&quot;+e+&quot;,-&quot;+e+&quot;Z&quot;}},&quot;star-diamond&quot;:{n:22,f:function(t){var e=n.round(1.4*t,2),r=n.round(1.9*t,2),i=&quot;A &quot;+r+&quot;,&quot;+r+&quot; 0 0 1 &quot;;return&quot;M-&quot;+e+&quot;,0&quot;+i+&quot;0,&quot;+e+i+e+&quot;,0&quot;+i+&quot;0,-&quot;+e+i+&quot;-&quot;+e+&quot;,0Z&quot;}},&quot;diamond-tall&quot;:{n:23,f:function(t){var e=n.round(.7*t,2),r=n.round(1.4*t,2);return&quot;M0,&quot;+r+&quot;L&quot;+e+&quot;,0L0,-&quot;+r+&quot;L-&quot;+e+&quot;,0Z&quot;}},&quot;diamond-wide&quot;:{n:24,f:function(t){var e=n.round(1.4*t,2),r=n.round(.7*t,2);return&quot;M0,&quot;+r+&quot;L&quot;+e+&quot;,0L0,-&quot;+r+&quot;L-&quot;+e+&quot;,0Z&quot;}},hourglass:{n:25,f:function(t){var e=n.round(t,2);return&quot;M&quot;+e+&quot;,&quot;+e+&quot;H-&quot;+e+&quot;L&quot;+e+&quot;,-&quot;+e+&quot;H-&quot;+e+&quot;Z&quot;},noDot:!0},bowtie:{n:26,f:function(t){var e=n.round(t,2);return&quot;M&quot;+e+&quot;,&quot;+e+&quot;V-&quot;+e+&quot;L-&quot;+e+&quot;,&quot;+e+&quot;V-&quot;+e+&quot;Z&quot;},noDot:!0},&quot;circle-cross&quot;:{n:27,f:function(t){var e=n.round(t,2);return&quot;M0,&quot;+e+&quot;V-&quot;+e+&quot;M&quot;+e+&quot;,0H-&quot;+e+&quot;M&quot;+e+&quot;,0A&quot;+e+&quot;,&quot;+e+&quot; 0 1,1 0,-&quot;+e+&quot;A&quot;+e+&quot;,&quot;+e+&quot; 0 0,1 &quot;+e+&quot;,0Z&quot;},needLine:!0,noDot:!0},&quot;circle-x&quot;:{n:28,f:function(t){var e=n.round(t,2),r=n.round(t/Math.sqrt(2),2);return&quot;M&quot;+r+&quot;,&quot;+r+&quot;L-&quot;+r+&quot;,-&quot;+r+&quot;M&quot;+r+&quot;,-&quot;+r+&quot;L-&quot;+r+&quot;,&quot;+r+&quot;M&quot;+e+&quot;,0A&quot;+e+&quot;,&quot;+e+&quot; 0 1,1 0,-&quot;+e+&quot;A&quot;+e+&quot;,&quot;+e+&quot; 0 0,1 &quot;+e+&quot;,0Z&quot;},needLine:!0,noDot:!0},&quot;square-cross&quot;:{n:29,f:function(t){var e=n.round(t,2);return&quot;M0,&quot;+e+&quot;V-&quot;+e+&quot;M&quot;+e+&quot;,0H-&quot;+e+&quot;M&quot;+e+&quot;,&quot;+e+&quot;H-&quot;+e+&quot;V-&quot;+e+&quot;H&quot;+e+&quot;Z&quot;},needLine:!0,noDot:!0},&quot;square-x&quot;:{n:30,f:function(t){var e=n.round(t,2);return&quot;M&quot;+e+&quot;,&quot;+e+&quot;L-&quot;+e+&quot;,-&quot;+e+&quot;M&quot;+e+&quot;,-&quot;+e+&quot;L-&quot;+e+&quot;,&quot;+e+&quot;M&quot;+e+&quot;,&quot;+e+&quot;H-&quot;+e+&quot;V-&quot;+e+&quot;H&quot;+e+&quot;Z&quot;},needLine:!0,noDot:!0},&quot;diamond-cross&quot;:{n:31,f:function(t){var e=n.round(1.3*t,2);return&quot;M&quot;+e+&quot;,0L0,&quot;+e+&quot;L-&quot;+e+&quot;,0L0,-&quot;+e+&quot;ZM0,-&quot;+e+&quot;V&quot;+e+&quot;M-&quot;+e+&quot;,0H&quot;+e},needLine:!0,noDot:!0},&quot;diamond-x&quot;:{n:32,f:function(t){var e=n.round(1.3*t,2),r=n.round(.65*t,2);return&quot;M&quot;+e+&quot;,0L0,&quot;+e+&quot;L-&quot;+e+&quot;,0L0,-&quot;+e+&quot;ZM-&quot;+r+&quot;,-&quot;+r+&quot;L&quot;+r+&quot;,&quot;+r+&quot;M-&quot;+r+&quot;,&quot;+r+&quot;L&quot;+r+&quot;,-&quot;+r},needLine:!0,noDot:!0},&quot;cross-thin&quot;:{n:33,f:function(t){var e=n.round(1.4*t,2);return&quot;M0,&quot;+e+&quot;V-&quot;+e+&quot;M&quot;+e+&quot;,0H-&quot;+e},needLine:!0,noDot:!0,noFill:!0},&quot;x-thin&quot;:{n:34,f:function(t){var e=n.round(t,2);return&quot;M&quot;+e+&quot;,&quot;+e+&quot;L-&quot;+e+&quot;,-&quot;+e+&quot;M&quot;+e+&quot;,-&quot;+e+&quot;L-&quot;+e+&quot;,&quot;+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&quot;M0,&quot;+e+&quot;V-&quot;+e+&quot;M&quot;+e+&quot;,0H-&quot;+e+&quot;M&quot;+r+&quot;,&quot;+r+&quot;L-&quot;+r+&quot;,-&quot;+r+&quot;M&quot;+r+&quot;,-&quot;+r+&quot;L-&quot;+r+&quot;,&quot;+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&quot;M&quot;+e+&quot;,&quot;+r+&quot;V-&quot;+r+&quot;m-&quot;+r+&quot;,0V&quot;+r+&quot;M&quot;+r+&quot;,&quot;+e+&quot;H-&quot;+r+&quot;m0,-&quot;+r+&quot;H&quot;+r},needLine:!0,noFill:!0},&quot;y-up&quot;:{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&quot;M-&quot;+e+&quot;,&quot;+i+&quot;L0,0M&quot;+e+&quot;,&quot;+i+&quot;L0,0M0,-&quot;+r+&quot;L0,0&quot;},needLine:!0,noDot:!0,noFill:!0},&quot;y-down&quot;:{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&quot;M-&quot;+e+&quot;,-&quot;+i+&quot;L0,0M&quot;+e+&quot;,-&quot;+i+&quot;L0,0M0,&quot;+r+&quot;L0,0&quot;},needLine:!0,noDot:!0,noFill:!0},&quot;y-left&quot;:{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&quot;M&quot;+i+&quot;,&quot;+e+&quot;L0,0M&quot;+i+&quot;,-&quot;+e+&quot;L0,0M-&quot;+r+&quot;,0L0,0&quot;},needLine:!0,noDot:!0,noFill:!0},&quot;y-right&quot;:{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&quot;M-&quot;+i+&quot;,&quot;+e+&quot;L0,0M-&quot;+i+&quot;,-&quot;+e+&quot;L0,0M&quot;+r+&quot;,0L0,0&quot;},needLine:!0,noDot:!0,noFill:!0},&quot;line-ew&quot;:{n:41,f:function(t){var e=n.round(1.4*t,2);return&quot;M&quot;+e+&quot;,0H-&quot;+e},needLine:!0,noDot:!0,noFill:!0},&quot;line-ns&quot;:{n:42,f:function(t){var e=n.round(1.4*t,2);return&quot;M0,&quot;+e+&quot;V-&quot;+e},needLine:!0,noDot:!0,noFill:!0},&quot;line-ne&quot;:{n:43,f:function(t){var e=n.round(t,2);return&quot;M&quot;+e+&quot;,-&quot;+e+&quot;L-&quot;+e+&quot;,&quot;+e},needLine:!0,noDot:!0,noFill:!0},&quot;line-nw&quot;:{n:44,f:function(t){var e=n.round(t,2);return&quot;M&quot;+e+&quot;,&quot;+e+&quot;L-&quot;+e+&quot;,-&quot;+e},needLine:!0,noDot:!0,noFill:!0}}},{d3:128}],645:[function(t,e,r){&quot;use strict&quot;;e.exports={visible:{valType:&quot;boolean&quot;,editType:&quot;calc&quot;},type:{valType:&quot;enumerated&quot;,values:[&quot;percent&quot;,&quot;constant&quot;,&quot;sqrt&quot;,&quot;data&quot;],editType:&quot;calc&quot;},symmetric:{valType:&quot;boolean&quot;,editType:&quot;calc&quot;},array:{valType:&quot;data_array&quot;,editType:&quot;calc&quot;},arrayminus:{valType:&quot;data_array&quot;,editType:&quot;calc&quot;},value:{valType:&quot;number&quot;,min:0,dflt:10,editType:&quot;calc&quot;},valueminus:{valType:&quot;number&quot;,min:0,dflt:10,editType:&quot;calc&quot;},traceref:{valType:&quot;integer&quot;,min:0,dflt:0,editType:&quot;style&quot;},tracerefminus:{valType:&quot;integer&quot;,min:0,dflt:0,editType:&quot;style&quot;},copy_ystyle:{valType:&quot;boolean&quot;,editType:&quot;plot&quot;},copy_zstyle:{valType:&quot;boolean&quot;,editType:&quot;style&quot;},color:{valType:&quot;color&quot;,editType:&quot;style&quot;},thickness:{valType:&quot;number&quot;,min:0,dflt:2,editType:&quot;style&quot;},width:{valType:&quot;number&quot;,min:0,editType:&quot;plot&quot;},editType:&quot;calc&quot;,_deprecated:{opacity:{valType:&quot;number&quot;,editType:&quot;style&quot;}}}},{}],646:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,n){var a=e[&quot;error_&quot;+n]||{},l=[];if(a.visible&amp;&amp;-1!==[&quot;linear&quot;,&quot;log&quot;].indexOf(r.type)){for(var c=s(a),u=0;u&lt;t.length;u++){var f=t[u],h=f[n];if(i(r.c2l(h))){var d=c(h,u);if(i(d[0])&amp;&amp;i(d[1])){var p=f[n+&quot;s&quot;]=h-d[0],m=f[n+&quot;h&quot;]=h+d[1];l.push(p,m)}}}o.expand(r,l,{padded:!0})}}var i=t(&quot;fast-isnumeric&quot;),a=t(&quot;../../registry&quot;),o=t(&quot;../../plots/cartesian/axes&quot;),s=t(&quot;./compute_error&quot;);e.exports=function(t){for(var e=t.calcdata,r=0;r&lt;e.length;r++){var i=e[r],s=i[0].trace;if(a.traceIs(s,&quot;errorBarsOK&quot;)){var l=o.getFromId(t,s.xaxis),c=o.getFromId(t,s.yaxis);n(i,s,l,&quot;x&quot;),n(i,s,c,&quot;y&quot;)}}}},{&quot;../../plots/cartesian/axes&quot;:789,&quot;../../registry&quot;:873,&quot;./compute_error&quot;:647,&quot;fast-isnumeric&quot;:140}],647:[function(t,e,r){&quot;use strict&quot;;function n(t,e){return&quot;percent&quot;===t?function(t){return Math.abs(t*e/100)}:&quot;constant&quot;===t?function(){return Math.abs(e)}:&quot;sqrt&quot;===t?function(t){return Math.sqrt(Math.abs(t))}:void 0}e.exports=function(t){var e=t.type,r=t.symmetric;if(&quot;data&quot;===e){var i=t.array,a=t.arrayminus;return r||void 0===a?function(t,e){var r=+i[e];return[r,r]}:function(t,e){return[+a[e],+i[e]]}}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)]}}},{}],648:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;fast-isnumeric&quot;),i=t(&quot;../../registry&quot;),a=t(&quot;../../lib&quot;),o=t(&quot;./attributes&quot;);e.exports=function(t,e,r,s){function l(t,e){return a.coerce(f,u,o,t,e)}var c=&quot;error_&quot;+s.axis,u=e[c]={},f=t[c]||{};if(!1!==l(&quot;visible&quot;,void 0!==f.array||void 0!==f.value||&quot;sqrt&quot;===f.type)){var h=l(&quot;type&quot;,&quot;array&quot;in f?&quot;data&quot;:&quot;percent&quot;),d=!0;if(&quot;sqrt&quot;!==h&amp;&amp;(d=l(&quot;symmetric&quot;,!((&quot;data&quot;===h?&quot;arrayminus&quot;:&quot;valueminus&quot;)in f))),&quot;data&quot;===h){if(l(&quot;array&quot;)||(u.array=[]),l(&quot;traceref&quot;),!d){l(&quot;arrayminus&quot;)||(u.arrayminus=[]),l(&quot;tracerefminus&quot;)}}else&quot;percent&quot;!==h&amp;&amp;&quot;constant&quot;!==h||(l(&quot;value&quot;),d||l(&quot;valueminus&quot;));var p=&quot;copy_&quot;+s.inherit+&quot;style&quot;;if(s.inherit){(e[&quot;error_&quot;+s.inherit]||{}).visible&amp;&amp;l(p,!(f.color||n(f.thickness)||n(f.width)))}s.inherit&amp;&amp;u[p]||(l(&quot;color&quot;,r),l(&quot;thickness&quot;),l(&quot;width&quot;,i.traceIs(e,&quot;gl3d&quot;)?0:4))}}},{&quot;../../lib&quot;:743,&quot;../../registry&quot;:873,&quot;./attributes&quot;:645,&quot;fast-isnumeric&quot;:140}],649:[function(t,e,r){&quot;use strict&quot;;var n=e.exports={};n.attributes=t(&quot;./attributes&quot;),n.supplyDefaults=t(&quot;./defaults&quot;),n.calc=t(&quot;./calc&quot;),n.calcFromTrace=function(t,e){for(var r=t.x||[],i=t.y||[],a=r.length||i.length,o=new Array(a),s=0;s&lt;a;s++)o[s]={x:r[s],y:i[s]};return o[0].trace=t,n.calc({calcdata:[o],_fullLayout:e}),o},n.plot=t(&quot;./plot&quot;),n.style=t(&quot;./style&quot;),n.hoverInfo=function(t,e,r){(e.error_y||{}).visible&amp;&amp;(r.yerr=t.yh-t.y,e.error_y.symmetric||(r.yerrneg=t.y-t.ys)),(e.error_x||{}).visible&amp;&amp;(r.xerr=t.xh-t.x,e.error_x.symmetric||(r.xerrneg=t.x-t.xs))}},{&quot;./attributes&quot;:645,&quot;./calc&quot;:646,&quot;./defaults&quot;:648,&quot;./plot&quot;:650,&quot;./style&quot;:651}],650:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;d3&quot;),i=t(&quot;fast-isnumeric&quot;),a=t(&quot;../drawing&quot;),o=t(&quot;../../traces/scatter/subtypes&quot;);e.exports=function(t,e,r){var s,l=e.xaxis,c=e.yaxis,u=r&amp;&amp;r.duration&gt;0;t.each(function(t){var f,h=t[0].trace,d=h.error_x||{},p=h.error_y||{};h.ids&amp;&amp;(f=function(t){return t.id});var m=o.hasMarkers(h)&amp;&amp;h.marker.maxdisplayed&gt;0;p.visible||d.visible||(t=[]);var g=n.select(this).selectAll(&quot;g.errorbar&quot;).data(t,f);if(g.exit().remove(),t.length){d.visible||g.selectAll(&quot;path.xerror&quot;).remove(),p.visible||g.selectAll(&quot;path.yerror&quot;).remove(),g.style(&quot;opacity&quot;,1);var v=g.enter().append(&quot;g&quot;).classed(&quot;errorbar&quot;,!0);u&amp;&amp;v.style(&quot;opacity&quot;,0).transition().duration(r.duration).style(&quot;opacity&quot;,1),a.setClipUrl(g,e.layerClipId),g.each(function(t){var e=n.select(this),a=function(t,e,r){var n={x:e.c2p(t.x),y:r.c2p(t.y)};return void 0!==t.yh&amp;&amp;(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&amp;&amp;(n.xh=e.c2p(t.xh),n.xs=e.c2p(t.xs),i(n.xs)||(n.noXS=!0,n.xs=e.c2p(t.xs,!0))),n}(t,l,c);if(!m||t.vis){var o;if(p.visible&amp;&amp;i(a.x)&amp;&amp;i(a.yh)&amp;&amp;i(a.ys)){var f=p.width;o=&quot;M&quot;+(a.x-f)+&quot;,&quot;+a.yh+&quot;h&quot;+2*f+&quot;m-&quot;+f+&quot;,0V&quot;+a.ys,a.noYS||(o+=&quot;m-&quot;+f+&quot;,0h&quot;+2*f);var h=e.select(&quot;path.yerror&quot;);(s=!h.size())?h=e.append(&quot;path&quot;).style(&quot;vector-effect&quot;,&quot;non-scaling-stroke&quot;).classed(&quot;yerror&quot;,!0):u&amp;&amp;(h=h.transition().duration(r.duration).ease(r.easing)),h.attr(&quot;d&quot;,o)}if(d.visible&amp;&amp;i(a.y)&amp;&amp;i(a.xh)&amp;&amp;i(a.xs)){var g=(d.copy_ystyle?p:d).width;o=&quot;M&quot;+a.xh+&quot;,&quot;+(a.y-g)+&quot;v&quot;+2*g+&quot;m0,-&quot;+g+&quot;H&quot;+a.xs,a.noXS||(o+=&quot;m0,-&quot;+g+&quot;v&quot;+2*g);var v=e.select(&quot;path.xerror&quot;);(s=!v.size())?v=e.append(&quot;path&quot;).style(&quot;vector-effect&quot;,&quot;non-scaling-stroke&quot;).classed(&quot;xerror&quot;,!0):u&amp;&amp;(v=v.transition().duration(r.duration).ease(r.easing)),v.attr(&quot;d&quot;,o)}}})}})}},{&quot;../../traces/scatter/subtypes&quot;:1088,&quot;../drawing&quot;:643,d3:128,&quot;fast-isnumeric&quot;:140}],651:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;d3&quot;),i=t(&quot;../color&quot;);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(&quot;path.yerror&quot;).style(&quot;stroke-width&quot;,r.thickness+&quot;px&quot;).call(i.stroke,r.color),a.copy_ystyle&amp;&amp;(a=r),o.selectAll(&quot;path.xerror&quot;).style(&quot;stroke-width&quot;,a.thickness+&quot;px&quot;).call(i.stroke,a.color)})}},{&quot;../color&quot;:618,d3:128}],652:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../plots/font_attributes&quot;);e.exports={hoverlabel:{bgcolor:{valType:&quot;color&quot;,arrayOk:!0,editType:&quot;none&quot;},bordercolor:{valType:&quot;color&quot;,arrayOk:!0,editType:&quot;none&quot;},font:n({arrayOk:!0,editType:&quot;none&quot;}),namelength:{valType:&quot;integer&quot;,min:-1,arrayOk:!0,editType:&quot;none&quot;},editType:&quot;calc&quot;}}},{&quot;../../plots/font_attributes&quot;:816}],653:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib&quot;),i=t(&quot;../../registry&quot;);e.exports=function(t){function e(t){return function(e){return n.coerceHoverinfo({hoverinfo:e},{_module:t._module},a)}}for(var r=t.calcdata,a=t._fullLayout,o=0;o&lt;r.length;o++){var s=r[o],l=s[0].trace;if(!i.traceIs(l,&quot;pie&quot;)){var c=i.traceIs(l,&quot;2dMap&quot;)?function(t,e,r,i){i=i||n.identity,Array.isArray(t)&amp;&amp;(e[0][r]=i(t))}:n.fillArray;c(l.hoverinfo,s,&quot;hi&quot;,e(l)),l.hoverlabel&amp;&amp;(c(l.hoverlabel.bgcolor,s,&quot;hbg&quot;),c(l.hoverlabel.bordercolor,s,&quot;hbc&quot;),c(l.hoverlabel.font.size,s,&quot;hts&quot;),c(l.hoverlabel.font.color,s,&quot;htc&quot;),c(l.hoverlabel.font.family,s,&quot;htf&quot;),c(l.hoverlabel.namelength,s,&quot;hnl&quot;))}}}},{&quot;../../lib&quot;:743,&quot;../../registry&quot;:873}],654:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../registry&quot;),i=t(&quot;./hover&quot;).hover;e.exports=function(t,e,r){function a(){t.emit(&quot;plotly_click&quot;,{points:t._hoverdata,event:e})}var o=n.getComponentMethod(&quot;annotations&quot;,&quot;onClick&quot;)(t,t._hoverdata);void 0!==r&amp;&amp;i(t,e,r,!0),t._hoverdata&amp;&amp;e&amp;&amp;e.target&amp;&amp;(o&amp;&amp;o.then?o.then(a):a(),e.stopImmediatePropagation&amp;&amp;e.stopImmediatePropagation())}},{&quot;../../registry&quot;:873,&quot;./hover&quot;:658}],655:[function(t,e,r){&quot;use strict&quot;;e.exports={MAXDIST:20,YANGLE:60,HOVERARROWSIZE:6,HOVERTEXTPAD:3,HOVERFONTSIZE:13,HOVERFONT:&quot;Arial, sans-serif&quot;,HOVERMINTIME:50,HOVERID:&quot;-hover&quot;}},{}],656:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib&quot;),i=t(&quot;./attributes&quot;),a=t(&quot;./hoverlabel_defaults&quot;);e.exports=function(t,e,r,o){a(t,e,function(r,a){return n.coerce(t,e,i,r,a)},o.hoverlabel)}},{&quot;../../lib&quot;:743,&quot;./attributes&quot;:652,&quot;./hoverlabel_defaults&quot;:659}],657:[function(t,e,r){&quot;use strict&quot;;function n(t){return s[t]||t}function i(t,e){return Array.isArray(e)?Array.isArray(t)&amp;&amp;Array.isArray(t[e[0]])?t[e[0]][e[1]]:void 0:t[e]}var a=t(&quot;../../lib&quot;),o=t(&quot;./constants&quot;);r.getSubplot=function(t){return t.subplot||t.xaxis+t.yaxis||t.geo},r.flat=function(t,e){for(var r=new Array(t.length),n=0;n&lt;t.length;n++)r[n]=e;return r},r.p2c=function(t,e){for(var r=new Array(t.length),n=0;n&lt;t.length;n++)r[n]=t[n].p2c(e);return r},r.getDistanceFunction=function(t,e,n,i){return&quot;closest&quot;===t?i||r.quadrature(e,n):&quot;x&quot;===t?e:n},r.getClosest=function(t,e,r){if(!1!==r.index)r.index&gt;=0&amp;&amp;r.index&lt;t.length?r.distance=0:r.index=!1;else for(var n=0;n&lt;t.length;n++){var i=e(t[n]);i&lt;=r.distance&amp;&amp;(r.index=n,r.distance=i)}return r},r.inbox=function(t,e){return t*e&lt;0||0===t?o.MAXDIST*(.6-.3/Math.max(3,Math.abs(t-e))):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=&quot;index&quot;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):(&quot;xVal&quot;in t?a.x=t.xVal:&quot;x&quot;in t&amp;&amp;(a.x=t.x),&quot;yVal&quot;in t?a.y=t.yVal:&quot;y&quot;in t&amp;&amp;(a.y=t.y),t.xa&amp;&amp;(a.xaxis=t.xa),t.ya&amp;&amp;(a.yaxis=t.ya),void 0!==t.zLabelVal&amp;&amp;(a.z=t.zLabelVal)),r.appendArrayPointValue(a,e,i),a},r.appendArrayPointValue=function(t,e,r){var o=e._arrayAttrs;if(o)for(var s=0;s&lt;o.length;s++){var l=o[s],c=n(l);if(void 0===t[c]){var u=i(a.nestedProperty(e,l).get(),r);void 0!==u&amp;&amp;(t[c]=u)}}},r.appendArrayMultiPointValues=function(t,e,r){var o=e._arrayAttrs;if(o)for(var s=0;s&lt;o.length;s++){var l=o[s],c=n(l);if(void 0===t[c]){for(var u=a.nestedProperty(e,l).get(),f=new Array(r.length),h=0;h&lt;r.length;h++)f[h]=i(u,r[h]);t[c]=f}}};var s={ids:&quot;id&quot;,locations:&quot;location&quot;,labels:&quot;label&quot;,values:&quot;value&quot;,&quot;marker.colors&quot;:&quot;color&quot;}},{&quot;../../lib&quot;:743,&quot;./constants&quot;:655}],658:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,n){function u(t,e){if(!t.length)return null;var r=t.map(function(t,e){var r=t.xa,n=t.ya,i=r.c2p(q),a=n.c2p(H);return{distance:function(t){var e=t.kink,r=(t.x1+t.x0)/2-i,n=(t.y1+t.y0)/2-a;return Math.max(Math.sqrt(r*r+n*n)-e,1-3/e)}(t),index:e}});return r=r.filter(function(t){return t.distance&lt;=e}).sort(function(t,e){return t.distance-e.distance}),r.length?t[r[0].index]:null}function d(t){return t?{xa:t.xa,ya:t.ya,x0:t.x0,x1:t.x1,y0:t.y0,y1:t.y1,distance:t.distance,curveNumber:t.trace.index,color:t.color,pointNumber:t.index}:null}r||(r=&quot;xy&quot;);var m=Array.isArray(r)?r:[r],_=t._fullLayout,w=_._plots||[],M=w[r];if(M){var A=M.overlays.map(function(t){return t.id});m=m.concat(A)}for(var T=m.length,S=new Array(T),E=new Array(T),L=0;L&lt;T;L++){var C=m[L],z=w[C];if(z)S[L]=y.getFromId(t,z.xaxis._id),E[L]=y.getFromId(t,z.yaxis._id);else{var D=_[C]._subplot;S[L]=D.xaxis,E[L]=D.yaxis}}var I=e.hovermode||_.hovermode;if(-1===[&quot;x&quot;,&quot;y&quot;,&quot;closest&quot;].indexOf(I)||!t.calcdata||t.querySelector(&quot;.zoombox&quot;)||t._dragging)return v.unhoverRaw(t,e);var P,O,F,R,N,j,B,U,V,q,H,G,Y,W=-1===_.hoverdistance?1/0:_.hoverdistance,X=-1===_.spikedistance?1/0:_.spikedistance,Z=[],J=[],K={hLinePoint:null,vLinePoint:null};if(Array.isArray(e))for(I=&quot;array&quot;,F=0;F&lt;e.length;F++)&quot;skip&quot;!==(N=t.calcdata[e[F].curveNumber||0])[0].trace.hoverinfo&amp;&amp;J.push(N);else{for(R=0;R&lt;t.calcdata.length;R++)&quot;skip&quot;!==(j=(N=t.calcdata[R])[0].trace).hoverinfo&amp;&amp;-1!==m.indexOf(b.getSubplot(j))&amp;&amp;J.push(N);var Q,$;if(!e.target)Q=&quot;xpx&quot;in e?e.xpx:S[0]._length/2,e.pointerX=Q+S[0]._offset,$=&quot;ypx&quot;in e?e.ypx:E[0]._length/2,e.pointerY=$+E[0]._offset;else{if(!1===h.triggerHandler(t,&quot;plotly_beforehover&quot;,e))return;var tt=e.target.getBoundingClientRect();if(Q=e.clientX-tt.left,$=e.clientY-tt.top,Q&lt;0||Q&gt;tt.width||$&lt;0||$&gt;tt.height)return v.unhoverRaw(t,e);e.pointerX=e.offsetX,e.pointerY=e.offsetY}if(P=&quot;xval&quot;in e?b.flat(m,e.xval):b.p2c(S,Q),O=&quot;yval&quot;in e?b.flat(m,e.yval):b.p2c(E,$),!c(P[0])||!c(O[0]))return f.warn(&quot;Fx.hover failed&quot;,e,t),v.unhoverRaw(t,e)}var et=1/0;for(R=0;R&lt;J.length;R++)if((N=J[R])&amp;&amp;N[0]&amp;&amp;N[0].trace&amp;&amp;!0===N[0].trace.visible&amp;&amp;(j=N[0].trace,-1===[&quot;carpet&quot;,&quot;contourcarpet&quot;].indexOf(j._module.name))){if(B=b.getSubplot(j),U=m.indexOf(B),V=I,G={cd:N,trace:j,xa:S[U],ya:E[U],index:!1,distance:Math.min(et,W),color:g.defaultLine,name:j.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},_[B]&amp;&amp;(G.subplot=_[B]._subplot),Y=Z.length,&quot;array&quot;===V){var rt=e[R];&quot;pointNumber&quot;in rt?(G.index=rt.pointNumber,V=&quot;closest&quot;):(V=&quot;&quot;,&quot;xval&quot;in rt&amp;&amp;(q=rt.xval,V=&quot;x&quot;),&quot;yval&quot;in rt&amp;&amp;(H=rt.yval,V=V?&quot;closest&quot;:&quot;y&quot;))}else q=P[U],H=O[U];if(0!==W)if(j._module&amp;&amp;j._module.hoverPoints){var nt=j._module.hoverPoints(G,q,H,V,_._hoverlayer);if(nt)for(var it,at=0;at&lt;nt.length;at++)it=nt[at],c(it.x0)&amp;&amp;c(it.y0)&amp;&amp;Z.push(function(t,e){function r(e,r,n){var i=s(r,n);i&amp;&amp;(t[e]=i)}var n=t.index,i=t.trace||{},a=t.cd[0],o=t.cd[n]||{},s=Array.isArray(n)?function(t,e){return f.castOption(a,n,t)||f.extractOption({},i,&quot;&quot;,e)}:function(t,e){return f.extractOption(o,i,t,e)};r(&quot;hoverinfo&quot;,&quot;hi&quot;,&quot;hoverinfo&quot;),r(&quot;color&quot;,&quot;hbg&quot;,&quot;hoverlabel.bgcolor&quot;),r(&quot;borderColor&quot;,&quot;hbc&quot;,&quot;hoverlabel.bordercolor&quot;),r(&quot;fontFamily&quot;,&quot;htf&quot;,&quot;hoverlabel.font.family&quot;),r(&quot;fontSize&quot;,&quot;hts&quot;,&quot;hoverlabel.font.size&quot;),r(&quot;fontColor&quot;,&quot;htc&quot;,&quot;hoverlabel.font.color&quot;),r(&quot;nameLength&quot;,&quot;hnl&quot;,&quot;hoverlabel.namelength&quot;),t.posref=&quot;y&quot;===e?(t.x0+t.x1)/2:(t.y0+t.y1)/2,t.x0=f.constrain(t.x0,0,t.xa._length),t.x1=f.constrain(t.x1,0,t.xa._length),t.y0=f.constrain(t.y0,0,t.ya._length),t.y1=f.constrain(t.y1,0,t.ya._length),void 0!==t.xLabelVal&amp;&amp;(t.xLabel=&quot;xLabel&quot;in t?t.xLabel:y.hoverLabelText(t.xa,t.xLabelVal),t.xVal=t.xa.c2d(t.xLabelVal));void 0!==t.yLabelVal&amp;&amp;(t.yLabel=&quot;yLabel&quot;in t?t.yLabel:y.hoverLabelText(t.ya,t.yLabelVal),t.yVal=t.ya.c2d(t.yLabelVal));void 0!==t.zLabelVal&amp;&amp;void 0===t.zLabel&amp;&amp;(t.zLabel=String(t.zLabelVal));if(!(isNaN(t.xerr)||&quot;log&quot;===t.xa.type&amp;&amp;t.xerr&lt;=0)){var l=y.tickText(t.xa,t.xa.c2l(t.xerr),&quot;hover&quot;).text;void 0!==t.xerrneg?t.xLabel+=&quot; +&quot;+l+&quot; / -&quot;+y.tickText(t.xa,t.xa.c2l(t.xerrneg),&quot;hover&quot;).text:t.xLabel+=&quot; \xb1 &quot;+l,&quot;x&quot;===e&amp;&amp;(t.distance+=1)}if(!(isNaN(t.yerr)||&quot;log&quot;===t.ya.type&amp;&amp;t.yerr&lt;=0)){var c=y.tickText(t.ya,t.ya.c2l(t.yerr),&quot;hover&quot;).text;void 0!==t.yerrneg?t.yLabel+=&quot; +&quot;+c+&quot; / -&quot;+y.tickText(t.ya,t.ya.c2l(t.yerrneg),&quot;hover&quot;).text:t.yLabel+=&quot; \xb1 &quot;+c,&quot;y&quot;===e&amp;&amp;(t.distance+=1)}var u=t.hoverinfo||t.trace.hoverinfo;&quot;all&quot;!==u&amp;&amp;(-1===(u=Array.isArray(u)?u:u.split(&quot;+&quot;)).indexOf(&quot;x&quot;)&amp;&amp;(t.xLabel=void 0),-1===u.indexOf(&quot;y&quot;)&amp;&amp;(t.yLabel=void 0),-1===u.indexOf(&quot;z&quot;)&amp;&amp;(t.zLabel=void 0),-1===u.indexOf(&quot;text&quot;)&amp;&amp;(t.text=void 0),-1===u.indexOf(&quot;name&quot;)&amp;&amp;(t.name=void 0));return t}(it,I))}else f.log(&quot;Unrecognized trace type in hover:&quot;,j);if(&quot;closest&quot;===I&amp;&amp;Z.length&gt;Y&amp;&amp;(Z.splice(0,Y),et=Z[0].distance),_._has(&quot;cartesian&quot;)&amp;&amp;0!==X&amp;&amp;0===Z.length){G.distance=X,G.index=!1;var ot=j._module.hoverPoints(G,q,H,&quot;closest&quot;,_._hoverlayer);if(ot){var st,lt=ot.filter(function(t){return t.xa.showspikes});if(lt.length){var ct=lt[0];c(ct.x0)&amp;&amp;c(ct.y0)&amp;&amp;(st=d(ct),(!K.vLinePoint||K.vLinePoint.distance&gt;st.distance)&amp;&amp;(K.vLinePoint=st))}var ut=ot.filter(function(t){return t.ya.showspikes});if(ut.length){var ft=ut[0];c(ft.x0)&amp;&amp;c(ft.y0)&amp;&amp;(st=d(ft),(!K.hLinePoint||K.hLinePoint.distance&gt;st.distance)&amp;&amp;(K.hLinePoint=st))}}}}var ht={fullLayout:_,container:_._hoverlayer,outerContainer:_._paperdiv,event:e},dt=t._spikepoints,pt={vLinePoint:K.vLinePoint,hLinePoint:K.hLinePoint};if(t._spikepoints=pt,_._has(&quot;cartesian&quot;)&amp;&amp;0!==X&amp;&amp;0!==Z.length){var mt=u(Z.filter(function(t){return t.ya.showspikes}),X);K.hLinePoint=d(mt);var gt=u(Z.filter(function(t){return t.xa.showspikes}),X);K.vLinePoint=d(gt)}if(0===Z.length){var vt=v.unhoverRaw(t,e);return!_._has(&quot;cartesian&quot;)||null===K.hLinePoint&amp;&amp;null===K.vLinePoint||s(dt)&amp;&amp;o(K,ht),vt}_._has(&quot;cartesian&quot;)&amp;&amp;s(dt)&amp;&amp;o(K,ht),Z.sort(function(t,e){return t.distance-e.distance});var yt=t._hoverdata,xt=[];for(F=0;F&lt;Z.length;F++){var bt=Z[F];xt.push(b.makeEventData(bt,bt.trace,bt.cd))}t._hoverdata=xt;var _t=&quot;y&quot;===I&amp;&amp;J.length&gt;1,wt=i(Z,{hovermode:I,rotateLabels:_t,bgColor:g.combine(_.plot_bgcolor||g.background,_.paper_bgcolor),container:_._hoverlayer,outerContainer:_._paperdiv,commonLabelOpts:_.hoverlabel,hoverdistance:_.hoverdistance},t);if(function(t,e,r){function n(t){var e=t[0],r=t[t.length-1];if(a=e.pmin-e.pos-e.dp+e.size,o=r.pos+r.dp+r.size-e.pmax,a&gt;.01){for(l=t.length-1;l&gt;=0;l--)t[l].dp+=a;i=!1}if(!(o&lt;.01)){if(a&lt;-.01){for(l=t.length-1;l&gt;=0;l--)t[l].dp-=o;i=!1}if(i){var n=0;for(s=0;s&lt;t.length;s++)(c=t[s]).pos+c.dp+c.size&gt;e.pmax&amp;&amp;n++;for(s=t.length-1;s&gt;=0&amp;&amp;!(n&lt;=0);s--)(c=t[s]).pos&gt;e.pmax-1&amp;&amp;(c.del=!0,n--);for(s=0;s&lt;t.length&amp;&amp;!(n&lt;=0);s++)if((c=t[s]).pos&lt;e.pmin+1)for(c.del=!0,n--,o=2*c.size,l=t.length-1;l&gt;=0;l--)t[l].dp-=o;for(s=t.length-1;s&gt;=0&amp;&amp;!(n&lt;=0);s--)(c=t[s]).pos+c.dp+c.size&gt;e.pmax&amp;&amp;(c.del=!0,n--)}}}var i,a,o,s,l,c,u,f=0,h=t.map(function(t,n){var i=t[e];return[{i:n,dp:0,pos:t.pos,posref:t.posref,size:t.by*(&quot;x&quot;===i._id.charAt(0)?k:1)/2,pmin:0,pmax:&quot;x&quot;===i._id.charAt(0)?r.width:r.height}]}).sort(function(t,e){return t[0].posref-e[0].posref});for(;!i&amp;&amp;f&lt;=t.length;){for(f++,i=!0,s=0;s&lt;h.length-1;){var d=h[s],p=h[s+1],m=d[d.length-1],g=p[0];if((a=m.pos+m.dp+m.size-g.pos-g.dp+g.size)&gt;.01&amp;&amp;m.pmin===g.pmin&amp;&amp;m.pmax===g.pmax){for(l=p.length-1;l&gt;=0;l--)p[l].dp+=a;for(d.push.apply(d,p),h.splice(s+1,1),u=0,l=d.length-1;l&gt;=0;l--)u+=d[l].dp;for(o=u/d.length,l=d.length-1;l&gt;=0;l--)d[l].dp-=o;i=!1}else s++}h.forEach(n)}for(s=h.length-1;s&gt;=0;s--){var v=h[s];for(l=v.length-1;l&gt;=0;l--){var y=v[l],x=t[y.i];x.offset=y.dp,x.del=y.del}}}(Z,_t?&quot;xa&quot;:&quot;ya&quot;,_),a(wt,_t),e.target&amp;&amp;e.target.tagName){var Mt=x.getComponentMethod(&quot;annotations&quot;,&quot;hasClickToShow&quot;)(t,xt);p(l.select(e.target),Mt?&quot;pointer&quot;:&quot;&quot;)}e.target&amp;&amp;!n&amp;&amp;function(t,e,r){if(!r||r.length!==t._hoverdata.length)return!0;for(var n=r.length-1;n&gt;=0;n--){var i=r[n],a=t._hoverdata[n];if(i.curveNumber!==a.curveNumber||String(i.pointNumber)!==String(a.pointNumber))return!0}return!1}(t,0,yt)&amp;&amp;(yt&amp;&amp;t.emit(&quot;plotly_unhover&quot;,{event:e,points:yt}),t.emit(&quot;plotly_hover&quot;,{event:e,points:t._hoverdata,xaxes:S,yaxes:E,xvals:P,yvals:O}))}function i(t,e,r){var n,i,a=e.hovermode,o=e.rotateLabels,s=e.bgColor,c=e.container,u=e.outerContainer,f=e.commonLabelOpts||{},h=e.fontFamily||_.HOVERFONT,p=e.fontSize||_.HOVERFONTSIZE,v=t[0],y=v.xa,x=v.ya,b=&quot;y&quot;===a?&quot;yLabel&quot;:&quot;xLabel&quot;,M=v[b],k=(String(M)||&quot;&quot;).split(&quot; &quot;)[0],A=u.node().getBoundingClientRect(),T=A.top,L=A.width,C=A.height,z=v.distance&lt;=e.hoverdistance&amp;&amp;(&quot;x&quot;===a||&quot;y&quot;===a);for(n=0;n&lt;t.length;n++){i=t[n].hoverinfo||t[n].trace.hoverinfo;var D=Array.isArray(i)?i:i.split(&quot;+&quot;);if(-1===D.indexOf(&quot;all&quot;)&amp;&amp;-1===D.indexOf(a)){z=!1;break}}var I=c.selectAll(&quot;g.axistext&quot;).data(z?[0]:[]);I.enter().append(&quot;g&quot;).classed(&quot;axistext&quot;,!0),I.exit().remove(),I.each(function(){var e=l.select(this),n=e.selectAll(&quot;path&quot;).data([0]),i=e.selectAll(&quot;text&quot;).data([0]);n.enter().append(&quot;path&quot;).style({&quot;stroke-width&quot;:&quot;1px&quot;}),n.style({fill:f.bgcolor||g.defaultLine,stroke:f.bordercolor||g.background}),i.enter().append(&quot;text&quot;).attr(&quot;data-notex&quot;,1),i.text(M).call(m.font,f.font.family||h,f.font.size||p,f.font.color||g.background).call(d.positionText,0,0).call(d.convertToTspans,r),e.attr(&quot;transform&quot;,&quot;&quot;);var o=i.node().getBoundingClientRect();if(&quot;x&quot;===a){i.attr(&quot;text-anchor&quot;,&quot;middle&quot;).call(d.positionText,0,&quot;top&quot;===y.side?T-o.bottom-S-E:T-o.top+S+E);var s=&quot;top&quot;===y.side?&quot;-&quot;:&quot;&quot;;n.attr(&quot;d&quot;,&quot;M0,0L&quot;+S+&quot;,&quot;+s+S+&quot;H&quot;+(E+o.width/2)+&quot;v&quot;+s+(2*E+o.height)+&quot;H-&quot;+(E+o.width/2)+&quot;V&quot;+s+S+&quot;H-&quot;+S+&quot;Z&quot;),e.attr(&quot;transform&quot;,&quot;translate(&quot;+(y._offset+(v.x0+v.x1)/2)+&quot;,&quot;+(x._offset+(&quot;top&quot;===y.side?0:x._length))+&quot;)&quot;)}else{i.attr(&quot;text-anchor&quot;,&quot;right&quot;===x.side?&quot;start&quot;:&quot;end&quot;).call(d.positionText,(&quot;right&quot;===x.side?1:-1)*(E+S),T-o.top-o.height/2);var c=&quot;right&quot;===x.side?&quot;&quot;:&quot;-&quot;;n.attr(&quot;d&quot;,&quot;M0,0L&quot;+c+S+&quot;,&quot;+S+&quot;V&quot;+(E+o.height/2)+&quot;h&quot;+c+(2*E+o.width)+&quot;V-&quot;+(E+o.height/2)+&quot;H&quot;+c+S+&quot;V-&quot;+S+&quot;Z&quot;),e.attr(&quot;transform&quot;,&quot;translate(&quot;+(y._offset+(&quot;right&quot;===x.side?y._length:0))+&quot;,&quot;+(x._offset+(v.y0+v.y1)/2)+&quot;)&quot;)}t=t.filter(function(t){return void 0!==t.zLabelVal||(t[b]||&quot;&quot;).split(&quot; &quot;)[0]===k})});var P=c.selectAll(&quot;g.hovertext&quot;).data(t,function(t){return[t.trace.index,t.index,t.x0,t.y0,t.name,t.attr,t.xa,t.ya||&quot;&quot;].join(&quot;,&quot;)});return P.enter().append(&quot;g&quot;).classed(&quot;hovertext&quot;,!0).each(function(){var t=l.select(this);t.append(&quot;rect&quot;).call(g.fill,g.addOpacity(s,.8)),t.append(&quot;text&quot;).classed(&quot;name&quot;,!0),t.append(&quot;path&quot;).style(&quot;stroke-width&quot;,&quot;1px&quot;),t.append(&quot;text&quot;).classed(&quot;nums&quot;,!0).call(m.font,h,p)}),P.exit().remove(),P.each(function(t){var e=l.select(this).attr(&quot;transform&quot;,&quot;&quot;),n=&quot;&quot;,i=&quot;&quot;,c=g.opacity(t.color)?t.color:g.defaultLine,u=g.combine(c,s),f=t.borderColor||g.contrast(u);if(void 0!==t.nameOverride&amp;&amp;(t.name=t.nameOverride),t.name){n=d.plainText(t.name||&quot;&quot;);var v=Math.round(t.nameLength);v&gt;-1&amp;&amp;n.length&gt;v&amp;&amp;(n=v&gt;3?n.substr(0,v-3)+&quot;...&quot;:n.substr(0,v))}void 0!==t.extraText&amp;&amp;(i+=t.extraText),void 0!==t.zLabel?(void 0!==t.xLabel&amp;&amp;(i+=&quot;x: &quot;+t.xLabel+&quot;&lt;br&gt;&quot;),void 0!==t.yLabel&amp;&amp;(i+=&quot;y: &quot;+t.yLabel+&quot;&lt;br&gt;&quot;),i+=(i?&quot;z: &quot;:&quot;&quot;)+t.zLabel):z&amp;&amp;t[a+&quot;Label&quot;]===M?i=t[(&quot;x&quot;===a?&quot;y&quot;:&quot;x&quot;)+&quot;Label&quot;]||&quot;&quot;:void 0===t.xLabel?void 0!==t.yLabel&amp;&amp;(i=t.yLabel):i=void 0===t.yLabel?t.xLabel:&quot;(&quot;+t.xLabel+&quot;, &quot;+t.yLabel+&quot;)&quot;,t.text&amp;&amp;!Array.isArray(t.text)&amp;&amp;(i+=(i?&quot;&lt;br&gt;&quot;:&quot;&quot;)+t.text),&quot;&quot;===i&amp;&amp;(&quot;&quot;===n&amp;&amp;e.remove(),i=n);var y=e.select(&quot;text.nums&quot;).call(m.font,t.fontFamily||h,t.fontSize||p,t.fontColor||f).text(i).attr(&quot;data-notex&quot;,1).call(d.positionText,0,0).call(d.convertToTspans,r),x=e.select(&quot;text.name&quot;),b=0;n&amp;&amp;n!==i?(x.call(m.font,t.fontFamily||h,t.fontSize||p,u).text(n).attr(&quot;data-notex&quot;,1).call(d.positionText,0,0).call(d.convertToTspans,r),b=x.node().getBoundingClientRect().width+2*E):(x.remove(),e.select(&quot;rect&quot;).remove()),e.select(&quot;path&quot;).style({fill:u,stroke:f});var _,k,A=y.node().getBoundingClientRect(),D=t.xa._offset+(t.x0+t.x1)/2,I=t.ya._offset+(t.y0+t.y1)/2,P=Math.abs(t.x1-t.x0),O=Math.abs(t.y1-t.y0),F=A.width+S+E+b;t.ty0=T-A.top,t.bx=A.width+2*E,t.by=A.height+2*E,t.anchor=&quot;start&quot;,t.txwidth=A.width,t.tx2width=b,t.offset=0,o?(t.pos=D,_=I+O/2+F&lt;=C,k=I-O/2-F&gt;=0,&quot;top&quot;!==t.idealAlign&amp;&amp;_||!k?_?(I+=O/2,t.anchor=&quot;start&quot;):t.anchor=&quot;middle&quot;:(I-=O/2,t.anchor=&quot;end&quot;)):(t.pos=I,_=D+P/2+F&lt;=L,k=D-P/2-F&gt;=0,&quot;left&quot;!==t.idealAlign&amp;&amp;_||!k?_?(D+=P/2,t.anchor=&quot;start&quot;):t.anchor=&quot;middle&quot;:(D-=P/2,t.anchor=&quot;end&quot;)),y.attr(&quot;text-anchor&quot;,t.anchor),b&amp;&amp;x.attr(&quot;text-anchor&quot;,t.anchor),e.attr(&quot;transform&quot;,&quot;translate(&quot;+D+&quot;,&quot;+I+&quot;)&quot;+(o?&quot;rotate(&quot;+w+&quot;)&quot;:&quot;&quot;))}),P}function a(t,e){t.each(function(t){var r=l.select(this);if(t.del)r.remove();else{var n=&quot;end&quot;===t.anchor?-1:1,i=r.select(&quot;text.nums&quot;),a={start:1,end:-1,middle:0}[t.anchor],o=a*(S+E),s=o+a*(t.txwidth+E),c=0,u=t.offset;&quot;middle&quot;===t.anchor&amp;&amp;(o-=t.tx2width/2,s-=t.tx2width/2),e&amp;&amp;(u*=-T,c=t.offset*A),r.select(&quot;path&quot;).attr(&quot;d&quot;,&quot;middle&quot;===t.anchor?&quot;M-&quot;+t.bx/2+&quot;,-&quot;+t.by/2+&quot;h&quot;+t.bx+&quot;v&quot;+t.by+&quot;h-&quot;+t.bx+&quot;Z&quot;:&quot;M0,0L&quot;+(n*S+c)+&quot;,&quot;+(S+u)+&quot;v&quot;+(t.by/2-S)+&quot;h&quot;+n*t.bx+&quot;v-&quot;+t.by+&quot;H&quot;+(n*S+c)+&quot;V&quot;+(u-S)+&quot;Z&quot;),i.call(d.positionText,o+c,u+t.ty0-t.by/2+E),t.tx2width&amp;&amp;(r.select(&quot;text.name&quot;).call(d.positionText,s+a*E+c,u+t.ty0-t.by/2+E),r.select(&quot;rect&quot;).call(m.setRect,s+(a-1)*t.tx2width/2+c,u-t.by/2-1,t.tx2width,t.by+2))}})}function o(t,e){var r,n,i=e.container,a=e.fullLayout,o=e.event,s=!!t.hLinePoint,l=!!t.vLinePoint;if(i.selectAll(&quot;.spikeline&quot;).remove(),l||s){var c=g.combine(a.plot_bgcolor,a.paper_bgcolor);if(s){var f,h,d=t.hLinePoint;r=d&amp;&amp;d.xa;&quot;cursor&quot;===(n=d&amp;&amp;d.ya).spikesnap?(f=o.pointerX,h=o.pointerY):(f=r._offset+(d.x0+d.x1)/2,h=n._offset+(d.y0+d.y1)/2);var p,v,y=u.readability(d.color,c)&lt;1.5?g.contrast(c):d.color,x=n.spikemode,b=n.spikethickness,_=n.spikecolor||y,w=n._boundingBox,M=(w.left+w.right)/2&lt;f?w.right:w.left;-1===x.indexOf(&quot;toaxis&quot;)&amp;&amp;-1===x.indexOf(&quot;across&quot;)||(-1!==x.indexOf(&quot;toaxis&quot;)&amp;&amp;(p=M,v=f),-1!==x.indexOf(&quot;across&quot;)&amp;&amp;(p=n._counterSpan[0],v=n._counterSpan[1]),i.insert(&quot;line&quot;,&quot;:first-child&quot;).attr({x1:p,x2:v,y1:h,y2:h,&quot;stroke-width&quot;:b,stroke:_,&quot;stroke-dasharray&quot;:m.dashStyle(n.spikedash,b)}).classed(&quot;spikeline&quot;,!0).classed(&quot;crisp&quot;,!0),i.insert(&quot;line&quot;,&quot;:first-child&quot;).attr({x1:p,x2:v,y1:h,y2:h,&quot;stroke-width&quot;:b+2,stroke:c}).classed(&quot;spikeline&quot;,!0).classed(&quot;crisp&quot;,!0)),-1!==x.indexOf(&quot;marker&quot;)&amp;&amp;i.insert(&quot;circle&quot;,&quot;:first-child&quot;).attr({cx:M+(&quot;right&quot;!==n.side?b:-b),cy:h,r:b,fill:_}).classed(&quot;spikeline&quot;,!0)}if(l){var k,A,T=t.vLinePoint;r=T&amp;&amp;T.xa,n=T&amp;&amp;T.ya;&quot;cursor&quot;===r.spikesnap?(k=o.pointerX,A=o.pointerY):(k=r._offset+(T.x0+T.x1)/2,A=n._offset+(T.y0+T.y1)/2);var S,E,L=u.readability(T.color,c)&lt;1.5?g.contrast(c):T.color,C=r.spikemode,z=r.spikethickness,D=r.spikecolor||L,I=r._boundingBox,P=(I.top+I.bottom)/2&lt;A?I.bottom:I.top;-1===C.indexOf(&quot;toaxis&quot;)&amp;&amp;-1===C.indexOf(&quot;across&quot;)||(-1!==C.indexOf(&quot;toaxis&quot;)&amp;&amp;(S=P,E=A),-1!==C.indexOf(&quot;across&quot;)&amp;&amp;(S=r._counterSpan[0],E=r._counterSpan[1]),i.insert(&quot;line&quot;,&quot;:first-child&quot;).attr({x1:k,x2:k,y1:S,y2:E,&quot;stroke-width&quot;:z,stroke:D,&quot;stroke-dasharray&quot;:m.dashStyle(r.spikedash,z)}).classed(&quot;spikeline&quot;,!0).classed(&quot;crisp&quot;,!0),i.insert(&quot;line&quot;,&quot;:first-child&quot;).attr({x1:k,x2:k,y1:S,y2:E,&quot;stroke-width&quot;:z+2,stroke:c}).classed(&quot;spikeline&quot;,!0).classed(&quot;crisp&quot;,!0)),-1!==C.indexOf(&quot;marker&quot;)&amp;&amp;i.insert(&quot;circle&quot;,&quot;:first-child&quot;).attr({cx:k,cy:P-(&quot;top&quot;!==r.side?z:-z),r:z,fill:D}).classed(&quot;spikeline&quot;,!0)}}}function s(t,e){return!e||(e.vLinePoint!==t._spikepoints.vLinePoint||e.hLinePoint!==t._spikepoints.hLinePoint)}var l=t(&quot;d3&quot;),c=t(&quot;fast-isnumeric&quot;),u=t(&quot;tinycolor2&quot;),f=t(&quot;../../lib&quot;),h=t(&quot;../../lib/events&quot;),d=t(&quot;../../lib/svg_text_utils&quot;),p=t(&quot;../../lib/override_cursor&quot;),m=t(&quot;../drawing&quot;),g=t(&quot;../color&quot;),v=t(&quot;../dragelement&quot;),y=t(&quot;../../plots/cartesian/axes&quot;),x=t(&quot;../../registry&quot;),b=t(&quot;./helpers&quot;),_=t(&quot;./constants&quot;),w=_.YANGLE,M=Math.PI*w/180,k=1/Math.sin(M),A=Math.cos(M),T=Math.sin(M),S=_.HOVERARROWSIZE,E=_.HOVERTEXTPAD;r.hover=function(t,e,r,i){t=f.getGraphDiv(t),f.throttle(t._fullLayout._uid+_.HOVERID,_.HOVERMINTIME,function(){n(t,e,r,i)})},r.loneHover=function(t,e){var r={color:t.color||g.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,trace:{index:0,hoverinfo:&quot;&quot;},xa:{_offset:0},ya:{_offset:0},index:0},n=l.select(e.container),o=e.outerContainer?l.select(e.outerContainer):n,s={hovermode:&quot;closest&quot;,rotateLabels:!1,bgColor:e.bgColor||g.background,container:n,outerContainer:o,hoverdistance:_.MAXDIST},c=i([r],s,e.gd);return a(c,s.rotateLabels),c.node()}},{&quot;../../lib&quot;:743,&quot;../../lib/events&quot;:731,&quot;../../lib/override_cursor&quot;:754,&quot;../../lib/svg_text_utils&quot;:766,&quot;../../plots/cartesian/axes&quot;:789,&quot;../../registry&quot;:873,&quot;../color&quot;:618,&quot;../dragelement&quot;:640,&quot;../drawing&quot;:643,&quot;./constants&quot;:655,&quot;./helpers&quot;:657,d3:128,&quot;fast-isnumeric&quot;:140,tinycolor2:546}],659:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib&quot;);e.exports=function(t,e,r,i){r(&quot;hoverlabel.bgcolor&quot;,(i=i||{}).bgcolor),r(&quot;hoverlabel.bordercolor&quot;,i.bordercolor),r(&quot;hoverlabel.namelength&quot;,i.namelength),n.coerceFont(r,&quot;hoverlabel.font&quot;,i.font)}},{&quot;../../lib&quot;:743}],660:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;d3&quot;),i=t(&quot;../../lib&quot;),a=t(&quot;../dragelement&quot;),o=t(&quot;./helpers&quot;),s=t(&quot;./layout_attributes&quot;);e.exports={moduleType:&quot;component&quot;,name:&quot;fx&quot;,constants:t(&quot;./constants&quot;),schema:{layout:s},attributes:t(&quot;./attributes&quot;),layoutAttributes:s,supplyLayoutGlobalDefaults:t(&quot;./layout_global_defaults&quot;),supplyDefaults:t(&quot;./defaults&quot;),supplyLayoutDefaults:t(&quot;./layout_defaults&quot;),calc:t(&quot;./calc&quot;),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,&quot;hoverlabel.&quot;+r)},castHoverinfo:function(t,e,r){return i.castOption(t,r,&quot;hoverinfo&quot;,function(r){return i.coerceHoverinfo({hoverinfo:r},{_module:t._module},e)})},hover:t(&quot;./hover&quot;).hover,unhover:a.unhover,loneHover:t(&quot;./hover&quot;).loneHover,loneUnhover:function(t){var e=i.isD3Selection(t)?t:n.select(t);e.selectAll(&quot;g.hovertext&quot;).remove(),e.selectAll(&quot;.spikeline&quot;).remove()},click:t(&quot;./click&quot;)}},{&quot;../../lib&quot;:743,&quot;../dragelement&quot;:640,&quot;./attributes&quot;:652,&quot;./calc&quot;:653,&quot;./click&quot;:654,&quot;./constants&quot;:655,&quot;./defaults&quot;:656,&quot;./helpers&quot;:657,&quot;./hover&quot;:658,&quot;./layout_attributes&quot;:661,&quot;./layout_defaults&quot;:662,&quot;./layout_global_defaults&quot;:663,d3:128}],661:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;./constants&quot;),i=t(&quot;../../plots/font_attributes&quot;)({editType:&quot;none&quot;});i.family.dflt=n.HOVERFONT,i.size.dflt=n.HOVERFONTSIZE,e.exports={dragmode:{valType:&quot;enumerated&quot;,values:[&quot;zoom&quot;,&quot;pan&quot;,&quot;select&quot;,&quot;lasso&quot;,&quot;orbit&quot;,&quot;turntable&quot;],dflt:&quot;zoom&quot;,editType:&quot;modebar&quot;},hovermode:{valType:&quot;enumerated&quot;,values:[&quot;x&quot;,&quot;y&quot;,&quot;closest&quot;,!1],editType:&quot;modebar&quot;},hoverdistance:{valType:&quot;integer&quot;,min:-1,dflt:20,editType:&quot;none&quot;},spikedistance:{valType:&quot;integer&quot;,min:-1,dflt:20,editType:&quot;none&quot;},hoverlabel:{bgcolor:{valType:&quot;color&quot;,editType:&quot;none&quot;},bordercolor:{valType:&quot;color&quot;,editType:&quot;none&quot;},font:i,namelength:{valType:&quot;integer&quot;,min:-1,dflt:15,editType:&quot;none&quot;},editType:&quot;none&quot;}}},{&quot;../../plots/font_attributes&quot;:816,&quot;./constants&quot;:655}],662:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib&quot;),i=t(&quot;./layout_attributes&quot;);e.exports=function(t,e,r){function a(r,a){return n.coerce(t,e,i,r,a)}a(&quot;dragmode&quot;);var o;e._has(&quot;cartesian&quot;)?(e._isHoriz=function(t){for(var e=!0,r=0;r&lt;t.length;r++)if(&quot;h&quot;!==t[r].orientation){e=!1;break}return e}(r),o=e._isHoriz?&quot;y&quot;:&quot;x&quot;):o=&quot;closest&quot;;a(&quot;hovermode&quot;,o)&amp;&amp;(a(&quot;hoverdistance&quot;),a(&quot;spikedistance&quot;));var s=e._has(&quot;mapbox&quot;),l=e._has(&quot;geo&quot;),c=e._basePlotModules.length;&quot;zoom&quot;===e.dragmode&amp;&amp;((s||l)&amp;&amp;1===c||s&amp;&amp;l&amp;&amp;2===c)&amp;&amp;(e.dragmode=&quot;pan&quot;)}},{&quot;../../lib&quot;:743,&quot;./layout_attributes&quot;:661}],663:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib&quot;),i=t(&quot;./hoverlabel_defaults&quot;),a=t(&quot;./layout_attributes&quot;);e.exports=function(t,e){i(t,e,function(r,i){return n.coerce(t,e,a,r,i)})}},{&quot;../../lib&quot;:743,&quot;./hoverlabel_defaults&quot;:659,&quot;./layout_attributes&quot;:661}],664:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../plots/cartesian/constants&quot;);e.exports={_isLinkedToArray:&quot;image&quot;,visible:{valType:&quot;boolean&quot;,dflt:!0,editType:&quot;arraydraw&quot;},source:{valType:&quot;string&quot;,editType:&quot;arraydraw&quot;},layer:{valType:&quot;enumerated&quot;,values:[&quot;below&quot;,&quot;above&quot;],dflt:&quot;above&quot;,editType:&quot;arraydraw&quot;},sizex:{valType:&quot;number&quot;,dflt:0,editType:&quot;arraydraw&quot;},sizey:{valType:&quot;number&quot;,dflt:0,editType:&quot;arraydraw&quot;},sizing:{valType:&quot;enumerated&quot;,values:[&quot;fill&quot;,&quot;contain&quot;,&quot;stretch&quot;],dflt:&quot;contain&quot;,editType:&quot;arraydraw&quot;},opacity:{valType:&quot;number&quot;,min:0,max:1,dflt:1,editType:&quot;arraydraw&quot;},x:{valType:&quot;any&quot;,dflt:0,editType:&quot;arraydraw&quot;},y:{valType:&quot;any&quot;,dflt:0,editType:&quot;arraydraw&quot;},xanchor:{valType:&quot;enumerated&quot;,values:[&quot;left&quot;,&quot;center&quot;,&quot;right&quot;],dflt:&quot;left&quot;,editType:&quot;arraydraw&quot;},yanchor:{valType:&quot;enumerated&quot;,values:[&quot;top&quot;,&quot;middle&quot;,&quot;bottom&quot;],dflt:&quot;top&quot;,editType:&quot;arraydraw&quot;},xref:{valType:&quot;enumerated&quot;,values:[&quot;paper&quot;,n.idRegex.x.toString()],dflt:&quot;paper&quot;,editType:&quot;arraydraw&quot;},yref:{valType:&quot;enumerated&quot;,values:[&quot;paper&quot;,n.idRegex.y.toString()],dflt:&quot;paper&quot;,editType:&quot;arraydraw&quot;},editType:&quot;arraydraw&quot;}},{&quot;../../plots/cartesian/constants&quot;:794}],665:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;fast-isnumeric&quot;),i=t(&quot;../../lib/to_log_range&quot;);e.exports=function(t,e,r,a){e=e||{};var o=&quot;log&quot;===r&amp;&amp;&quot;linear&quot;===e.type,s=&quot;linear&quot;===r&amp;&amp;&quot;log&quot;===e.type;if(o||s)for(var l,c,u=t._fullLayout.images,f=e._id.charAt(0),h=0;h&lt;u.length;h++)if(l=u[h],c=&quot;images[&quot;+h+&quot;].&quot;,l[f+&quot;ref&quot;]===e._id){var d=l[f],p=l[&quot;size&quot;+f],m=null,g=null;if(o){m=i(d,e.range);var v=p/Math.pow(10,m)/2;g=2*Math.log(v+Math.sqrt(1+v*v))/Math.LN10}else g=(m=Math.pow(10,d))*(Math.pow(10,p/2)-Math.pow(10,-p/2));n(m)?n(g)||(g=null):(m=null,g=null),a(c+f,m),a(c+&quot;size&quot;+f,g)}}},{&quot;../../lib/to_log_range&quot;:768,&quot;fast-isnumeric&quot;:140}],666:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r){function n(r,n){return i.coerce(t,e,s,r,n)}if(!n(&quot;visible&quot;,!!n(&quot;source&quot;)))return e;n(&quot;layer&quot;),n(&quot;xanchor&quot;),n(&quot;yanchor&quot;),n(&quot;sizex&quot;),n(&quot;sizey&quot;),n(&quot;sizing&quot;),n(&quot;opacity&quot;);for(var o={_fullLayout:r},l=[&quot;x&quot;,&quot;y&quot;],c=0;c&lt;2;c++){var u=l[c],f=a.coerceRef(t,e,o,u,&quot;paper&quot;);a.coercePosition(e,o,n,f,u,0)}return e}var i=t(&quot;../../lib&quot;),a=t(&quot;../../plots/cartesian/axes&quot;),o=t(&quot;../../plots/array_container_defaults&quot;),s=t(&quot;./attributes&quot;);e.exports=function(t,e){o(t,e,{name:&quot;images&quot;,handleItemDefaults:n})}},{&quot;../../lib&quot;:743,&quot;../../plots/array_container_defaults&quot;:786,&quot;../../plots/cartesian/axes&quot;:789,&quot;./attributes&quot;:664}],667:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;d3&quot;),i=t(&quot;../drawing&quot;),a=t(&quot;../../plots/cartesian/axes&quot;),o=t(&quot;../../constants/xmlns_namespaces&quot;);e.exports=function(t){function e(e){var r=n.select(this);if(!this.img||this.img.src!==e.source){r.attr(&quot;xmlns&quot;,o.svg);var i=new Promise(function(t){function n(){r.remove(),t()}var i=new Image;this.img=i,i.setAttribute(&quot;crossOrigin&quot;,&quot;anonymous&quot;),i.onerror=n,i.onload=function(){var e=document.createElement(&quot;canvas&quot;);e.width=this.width,e.height=this.height;e.getContext(&quot;2d&quot;).drawImage(this,0,0);var n=e.toDataURL(&quot;image/png&quot;);r.attr(&quot;xlink:href&quot;,n),t()},r.on(&quot;error&quot;,n),i.src=e.source}.bind(this));t._promises.push(i)}}function r(e){var r=n.select(this),o=a.getFromId(t,e.xref),s=a.getFromId(t,e.yref),l=c._size,u=o?Math.abs(o.l2p(e.sizex)-o.l2p(0)):e.sizex*l.w,f=s?Math.abs(s.l2p(e.sizey)-s.l2p(0)):e.sizey*l.h,h=u*m.x[e.xanchor].offset,d=f*m.y[e.yanchor].offset,p=m.x[e.xanchor].sizing+m.y[e.yanchor].sizing,g=(o?o.r2p(e.x)+o._offset:e.x*l.w+l.l)+h,v=(s?s.r2p(e.y)+s._offset:l.h-e.y*l.h+l.t)+d;switch(e.sizing){case&quot;fill&quot;:p+=&quot; slice&quot;;break;case&quot;stretch&quot;:p=&quot;none&quot;}r.attr({x:g,y:v,width:u,height:f,preserveAspectRatio:p,opacity:e.opacity});var y=(o?o._id:&quot;&quot;)+(s?s._id:&quot;&quot;);r.call(i.setClipUrl,y?&quot;clip&quot;+c._uid+y:null)}var s,l,c=t._fullLayout,u=[],f={},h=[];for(l=0;l&lt;c.images.length;l++){var d=c.images[l];if(d.visible)if(&quot;below&quot;===d.layer&amp;&amp;&quot;paper&quot;!==d.xref&amp;&amp;&quot;paper&quot;!==d.yref){s=d.xref+d.yref;var p=c._plots[s];if(!p){h.push(d);continue}p.mainplot&amp;&amp;(s=p.mainplot.id),f[s]||(f[s]=[]),f[s].push(d)}else&quot;above&quot;===d.layer?u.push(d):h.push(d)}var m={x:{left:{sizing:&quot;xMin&quot;,offset:0},center:{sizing:&quot;xMid&quot;,offset:-.5},right:{sizing:&quot;xMax&quot;,offset:-1}},y:{top:{sizing:&quot;YMin&quot;,offset:0},middle:{sizing:&quot;YMid&quot;,offset:-.5},bottom:{sizing:&quot;YMax&quot;,offset:-1}}},g=c._imageLowerLayer.selectAll(&quot;image&quot;).data(h),v=c._imageUpperLayer.selectAll(&quot;image&quot;).data(u);g.enter().append(&quot;image&quot;),v.enter().append(&quot;image&quot;),g.exit().remove(),v.exit().remove(),g.each(function(t){e.bind(this)(t),r.bind(this)(t)}),v.each(function(t){e.bind(this)(t),r.bind(this)(t)});var y=Object.keys(c._plots);for(l=0;l&lt;y.length;l++){s=y[l];var x=c._plots[s];if(x.imagelayer){var b=x.imagelayer.selectAll(&quot;image&quot;).data(f[s]||[]);b.enter().append(&quot;image&quot;),b.exit().remove(),b.each(function(t){e.bind(this)(t),r.bind(this)(t)})}}}},{&quot;../../constants/xmlns_namespaces&quot;:723,&quot;../../plots/cartesian/axes&quot;:789,&quot;../drawing&quot;:643,d3:128}],668:[function(t,e,r){&quot;use strict&quot;;e.exports={moduleType:&quot;component&quot;,name:&quot;images&quot;,layoutAttributes:t(&quot;./attributes&quot;),supplyLayoutDefaults:t(&quot;./defaults&quot;),includeBasePlot:t(&quot;../../plots/cartesian/include_components&quot;)(&quot;images&quot;),draw:t(&quot;./draw&quot;),convertCoords:t(&quot;./convert_coords&quot;)}},{&quot;../../plots/cartesian/include_components&quot;:799,&quot;./attributes&quot;:664,&quot;./convert_coords&quot;:665,&quot;./defaults&quot;:666,&quot;./draw&quot;:667}],669:[function(t,e,r){&quot;use strict&quot;;r.isRightAnchor=function(t){return&quot;right&quot;===t.xanchor||&quot;auto&quot;===t.xanchor&amp;&amp;t.x&gt;=2/3},r.isCenterAnchor=function(t){return&quot;center&quot;===t.xanchor||&quot;auto&quot;===t.xanchor&amp;&amp;t.x&gt;1/3&amp;&amp;t.x&lt;2/3},r.isBottomAnchor=function(t){return&quot;bottom&quot;===t.yanchor||&quot;auto&quot;===t.yanchor&amp;&amp;t.y&lt;=1/3},r.isMiddleAnchor=function(t){return&quot;middle&quot;===t.yanchor||&quot;auto&quot;===t.yanchor&amp;&amp;t.y&gt;1/3&amp;&amp;t.y&lt;2/3}},{}],670:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../plots/font_attributes&quot;),i=t(&quot;../color/attributes&quot;);e.exports={bgcolor:{valType:&quot;color&quot;,editType:&quot;legend&quot;},bordercolor:{valType:&quot;color&quot;,dflt:i.defaultLine,editType:&quot;legend&quot;},borderwidth:{valType:&quot;number&quot;,min:0,dflt:0,editType:&quot;legend&quot;},font:n({editType:&quot;legend&quot;}),orientation:{valType:&quot;enumerated&quot;,values:[&quot;v&quot;,&quot;h&quot;],dflt:&quot;v&quot;,editType:&quot;legend&quot;},traceorder:{valType:&quot;flaglist&quot;,flags:[&quot;reversed&quot;,&quot;grouped&quot;],extras:[&quot;normal&quot;],editType:&quot;legend&quot;},tracegroupgap:{valType:&quot;number&quot;,min:0,dflt:10,editType:&quot;legend&quot;},x:{valType:&quot;number&quot;,min:-2,max:3,dflt:1.02,editType:&quot;legend&quot;},xanchor:{valType:&quot;enumerated&quot;,values:[&quot;auto&quot;,&quot;left&quot;,&quot;center&quot;,&quot;right&quot;],dflt:&quot;left&quot;,editType:&quot;legend&quot;},y:{valType:&quot;number&quot;,min:-2,max:3,dflt:1,editType:&quot;legend&quot;},yanchor:{valType:&quot;enumerated&quot;,values:[&quot;auto&quot;,&quot;top&quot;,&quot;middle&quot;,&quot;bottom&quot;],dflt:&quot;auto&quot;,editType:&quot;legend&quot;},editType:&quot;legend&quot;}},{&quot;../../plots/font_attributes&quot;:816,&quot;../color/attributes&quot;:617}],671:[function(t,e,r){&quot;use strict&quot;;e.exports={scrollBarWidth:4,scrollBarHeight:20,scrollBarColor:&quot;#808BA4&quot;,scrollBarMargin:4}},{}],672:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../registry&quot;),i=t(&quot;../../lib&quot;),a=t(&quot;./attributes&quot;),o=t(&quot;../../plots/layout_attributes&quot;),s=t(&quot;./helpers&quot;);e.exports=function(t,e,r){function l(t,e){return i.coerce(d,p,a,t,e)}for(var c,u,f,h,d=t.legend||{},p=e.legend={},m=0,g=&quot;normal&quot;,v=0;v&lt;r.length;v++){var y=r[v];s.legendGetsTrace(y)&amp;&amp;(m++,n.traceIs(y,&quot;pie&quot;)&amp;&amp;m++),(n.traceIs(y,&quot;bar&quot;)&amp;&amp;&quot;stack&quot;===e.barmode||-1!==[&quot;tonextx&quot;,&quot;tonexty&quot;].indexOf(y.fill))&amp;&amp;(g=s.isGrouped({traceorder:g})?&quot;grouped+reversed&quot;:&quot;reversed&quot;),void 0!==y.legendgroup&amp;&amp;&quot;&quot;!==y.legendgroup&amp;&amp;(g=s.isReversed({traceorder:g})?&quot;reversed+grouped&quot;:&quot;grouped&quot;)}if(!1!==i.coerce(t,e,o,&quot;showlegend&quot;,m&gt;1)){if(l(&quot;bgcolor&quot;,e.paper_bgcolor),l(&quot;bordercolor&quot;),l(&quot;borderwidth&quot;),i.coerceFont(l,&quot;font&quot;,e.font),l(&quot;orientation&quot;),&quot;h&quot;===p.orientation){var x=t.xaxis;x&amp;&amp;x.rangeslider&amp;&amp;x.rangeslider.visible?(c=0,f=&quot;left&quot;,u=1.1,h=&quot;bottom&quot;):(c=0,f=&quot;left&quot;,u=-.1,h=&quot;top&quot;)}l(&quot;traceorder&quot;,g),s.isGrouped(e.legend)&amp;&amp;l(&quot;tracegroupgap&quot;),l(&quot;x&quot;,c),l(&quot;xanchor&quot;,f),l(&quot;y&quot;,u),l(&quot;yanchor&quot;,h),i.noneOrAll(d,p,[&quot;x&quot;,&quot;y&quot;])}}},{&quot;../../lib&quot;:743,&quot;../../plots/layout_attributes&quot;:843,&quot;../../registry&quot;:873,&quot;./attributes&quot;:670,&quot;./helpers&quot;:676}],673:[function(t,e,r){&quot;use strict&quot;;function n(t,e){function r(r){m.convertToTspans(r,e,function(){!function(t,e){var r=t.data()[0][0];if(!r.trace.showlegend)return void t.remove();var n,i,a=t.select(&quot;g[class*=math-group]&quot;),o=a.node(),s=e._fullLayout.legend.font.size*x;if(o){var l=d.bBox(o);n=l.height,i=l.width,d.setTranslate(a,0,n/4)}else{var c=t.select(&quot;.legendtext&quot;),u=m.lineCount(c),f=c.node();n=s*u,i=f?d.bBox(f).width:0;var h=s*(.3+(1-u)/2);m.positionText(c,40,h)}n=Math.max(n,16)+3,r.height=n,r.width=i}(t,e)})}var n=t.data()[0][0],i=e._fullLayout,a=n.trace,o=f.traceIs(a,&quot;pie&quot;),s=a.index,u=o?n.label:a.name,h=t.selectAll(&quot;text.legendtext&quot;).data([0]);h.enter().append(&quot;text&quot;).classed(&quot;legendtext&quot;,!0),h.attr(&quot;text-anchor&quot;,&quot;start&quot;).classed(&quot;user-select-none&quot;,!0).call(d.font,i.legend.font).text(u),e._context.edits.legendText&amp;&amp;!o?h.call(m.makeEditable,{gd:e}).call(r).on(&quot;edit&quot;,function(t){this.text(t).call(r);var i=t;this.text()||(t=&quot;    &quot;);var a,o=n.trace._fullInput||{},u={};if(-1!==[&quot;ohlc&quot;,&quot;candlestick&quot;].indexOf(o.type))u[(a=n.trace.transforms)[a.length-1].direction+&quot;.name&quot;]=t;else if(f.hasTransform(o,&quot;groupby&quot;)){var h=f.getTransformIndices(o,&quot;groupby&quot;),d=h[h.length-1],p=c.keyedContainer(o,&quot;transforms[&quot;+d+&quot;].styles&quot;,&quot;target&quot;,&quot;value.name&quot;);&quot;&quot;===i?p.remove(n.trace._group):p.set(n.trace._group,t),u=p.constructUpdate()}else u.name=t;return l.restyle(e,u,s)}):h.call(r)}function i(t,e){var r,n=1,i=t.selectAll(&quot;rect&quot;).data([0]);i.enter().append(&quot;rect&quot;).classed(&quot;legendtoggle&quot;,!0).style(&quot;cursor&quot;,&quot;pointer&quot;).attr(&quot;pointer-events&quot;,&quot;all&quot;).call(p.fill,&quot;rgba(0,0,0,0)&quot;),i.on(&quot;mousedown&quot;,function(){(r=(new Date).getTime())-e._legendMouseDownTime&lt;k?n+=1:(n=1,e._legendMouseDownTime=r)}),i.on(&quot;mouseup&quot;,function(){if(!e._dragged&amp;&amp;!e._editing){var r=e._fullLayout.legend;(new Date).getTime()-e._legendMouseDownTime&gt;k&amp;&amp;(n=Math.max(n-1,1)),1===n?r._clickTimeout=setTimeout(function(){g(t,e,n)},k):2===n&amp;&amp;(r._clickTimeout&amp;&amp;clearTimeout(r._clickTimeout),e._legendMouseDownTime=0,g(t,e,n))}})}function a(t,e,r){var n=t._fullLayout,i=n.legend,a=i.borderwidth,o=w.isGrouped(i),l=0;if(i.width=0,i.height=0,w.isVertical(i))o&amp;&amp;e.each(function(t,e){d.setTranslate(this,0,e*i.tracegroupgap)}),r.each(function(t){var e=t[0],r=e.height,n=e.width;d.setTranslate(this,a,5+a+i.height+r/2),i.height+=r,i.width=Math.max(i.width,n)}),i.width+=45+2*a,i.height+=10+2*a,o&amp;&amp;(i.height+=(i._lgroupsLength-1)*i.tracegroupgap),l=40;else if(o){for(var c=[i.width],u=e.data(),f=0,h=u.length;f&lt;h;f++){var p=u[f].map(function(t){return t[0].width}),m=40+Math.max.apply(null,p);i.width+=i.tracegroupgap+m,c.push(i.width)}e.each(function(t,e){d.setTranslate(this,c[e],0)}),e.each(function(){var t=0;s.select(this).selectAll(&quot;g.traces&quot;).each(function(e){var r=e[0].height;d.setTranslate(this,0,5+a+t+r/2),t+=r}),i.height=Math.max(i.height,t)}),i.height+=10+2*a,i.width+=2*a}else{var g,v=0,y=0,x=0,b=0,_=0,M=i.tracegroupgap||5;r.each(function(t){x=Math.max(40+t[0].width,x),_+=40+t[0].width+M}),g=n.width-(n.margin.r+n.margin.l)&gt;a+_-M,r.each(function(t){var e=t[0],r=g?40+t[0].width:x;a+b+M+r&gt;n.width-(n.margin.r+n.margin.l)&amp;&amp;(b=0,v+=y,i.height=i.height+y,y=0),d.setTranslate(this,a+b,5+a+e.height/2+v),i.width+=M+r,i.height=Math.max(i.height,e.height),b+=M+r,y=Math.max(e.height,y)}),i.width+=2*a,i.height+=10+2*a}i.width=Math.ceil(i.width),i.height=Math.ceil(i.height),r.each(function(e){var r=e[0];s.select(this).select(&quot;.legendtoggle&quot;).call(d.setRect,0,-r.height/2,(t._context.edits.legendText?0:i.width)+l,r.height)})}function o(t){var e=t._fullLayout.legend,r=&quot;left&quot;;M.isRightAnchor(e)?r=&quot;right&quot;:M.isCenterAnchor(e)&amp;&amp;(r=&quot;center&quot;);var n=&quot;top&quot;;M.isBottomAnchor(e)?n=&quot;bottom&quot;:M.isMiddleAnchor(e)&amp;&amp;(n=&quot;middle&quot;),u.autoMargin(t,&quot;legend&quot;,{x:e.x,y:e.y,l:e.width*({right:1,center:.5}[r]||0),r:e.width*({left:1,center:.5}[r]||0),b:e.height*({top:1,middle:.5}[n]||0),t:e.height*({bottom:1,middle:.5}[n]||0)})}var s=t(&quot;d3&quot;),l=t(&quot;../../plotly&quot;),c=t(&quot;../../lib&quot;),u=t(&quot;../../plots/plots&quot;),f=t(&quot;../../registry&quot;),h=t(&quot;../dragelement&quot;),d=t(&quot;../drawing&quot;),p=t(&quot;../color&quot;),m=t(&quot;../../lib/svg_text_utils&quot;),g=t(&quot;./handle_click&quot;),v=t(&quot;./constants&quot;),y=t(&quot;../../constants/interactions&quot;),x=t(&quot;../../constants/alignment&quot;).LINE_SPACING,b=t(&quot;./get_legend_data&quot;),_=t(&quot;./style&quot;),w=t(&quot;./helpers&quot;),M=t(&quot;./anchor_utils&quot;),k=y.DBLCLICKDELAY;e.exports=function(t){function e(t,e){E.attr(&quot;data-scroll&quot;,e).call(d.setTranslate,0,e),L.call(d.setRect,N,t,v.scrollBarWidth,v.scrollBarHeight),T.select(&quot;rect&quot;).attr({y:y.borderwidth-e})}var r=t._fullLayout,m=&quot;legend&quot;+r._uid;if(r._infolayer&amp;&amp;t.calcdata){t._legendMouseDownTime||(t._legendMouseDownTime=0);var y=r.legend,x=r.showlegend&amp;&amp;b(t.calcdata,y),w=r.hiddenlabels||[];if(!r.showlegend||!x.length)return r._infolayer.selectAll(&quot;.legend&quot;).remove(),r._topdefs.select(&quot;#&quot;+m).remove(),void u.autoMargin(t,&quot;legend&quot;);var A=r._infolayer.selectAll(&quot;g.legend&quot;).data([0]);A.enter().append(&quot;g&quot;).attr({class:&quot;legend&quot;,&quot;pointer-events&quot;:&quot;all&quot;});var T=r._topdefs.selectAll(&quot;#&quot;+m).data([0]);T.enter().append(&quot;clipPath&quot;).attr(&quot;id&quot;,m).append(&quot;rect&quot;);var S=A.selectAll(&quot;rect.bg&quot;).data([0]);S.enter().append(&quot;rect&quot;).attr({class:&quot;bg&quot;,&quot;shape-rendering&quot;:&quot;crispEdges&quot;}),S.call(p.stroke,y.bordercolor),S.call(p.fill,y.bgcolor),S.style(&quot;stroke-width&quot;,y.borderwidth+&quot;px&quot;);var E=A.selectAll(&quot;g.scrollbox&quot;).data([0]);E.enter().append(&quot;g&quot;).attr(&quot;class&quot;,&quot;scrollbox&quot;);var L=A.selectAll(&quot;rect.scrollbar&quot;).data([0]);L.enter().append(&quot;rect&quot;).attr({class:&quot;scrollbar&quot;,rx:20,ry:2,width:0,height:0}).call(p.fill,&quot;#808BA4&quot;);var C=E.selectAll(&quot;g.groups&quot;).data(x);C.enter().append(&quot;g&quot;).attr(&quot;class&quot;,&quot;groups&quot;),C.exit().remove();var z=C.selectAll(&quot;g.traces&quot;).data(c.identity);z.enter().append(&quot;g&quot;).attr(&quot;class&quot;,&quot;traces&quot;),z.exit().remove(),z.call(_,t).style(&quot;opacity&quot;,function(t){var e=t[0].trace;return f.traceIs(e,&quot;pie&quot;)?-1!==w.indexOf(t[0].label)?.5:1:&quot;legendonly&quot;===e.visible?.5:1}).each(function(){s.select(this).call(n,t).call(i,t)});var D=0!==A.enter().size();D&amp;&amp;(a(t,C,z),o(t));var I=r.width,P=r.height;a(t,C,z),y.height&gt;P?function(t){var e=t._fullLayout.legend,r=&quot;left&quot;;M.isRightAnchor(e)?r=&quot;right&quot;:M.isCenterAnchor(e)&amp;&amp;(r=&quot;center&quot;),u.autoMargin(t,&quot;legend&quot;,{x:e.x,y:.5,l:e.width*({right:1,center:.5}[r]||0),r:e.width*({left:1,center:.5}[r]||0),b:0,t:0})}(t):o(t);var O=r._size,F=O.l+O.w*y.x,R=O.t+O.h*(1-y.y);M.isRightAnchor(y)?F-=y.width:M.isCenterAnchor(y)&amp;&amp;(F-=y.width/2),M.isBottomAnchor(y)?R-=y.height:M.isMiddleAnchor(y)&amp;&amp;(R-=y.height/2);var N=y.width,j=O.w;N&gt;j?(F=O.l,N=j):(F+N&gt;I&amp;&amp;(F=I-N),F&lt;0&amp;&amp;(F=0),N=Math.min(I-F,y.width));var B=y.height,U=O.h;B&gt;U?(R=O.t,B=U):(R+B&gt;P&amp;&amp;(R=P-B),R&lt;0&amp;&amp;(R=0),B=Math.min(P-R,y.height)),d.setTranslate(A,F,R);var V,q,H=B-v.scrollBarHeight-2*v.scrollBarMargin,G=y.height-B;if(y.height&lt;=B||t._context.staticPlot)S.attr({width:N-y.borderwidth,height:B-y.borderwidth,x:y.borderwidth/2,y:y.borderwidth/2}),d.setTranslate(E,0,0),T.select(&quot;rect&quot;).attr({width:N-2*y.borderwidth,height:B-2*y.borderwidth,x:y.borderwidth,y:y.borderwidth}),E.call(d.setClipUrl,m);else{V=v.scrollBarMargin,q=E.attr(&quot;data-scroll&quot;)||0,S.attr({width:N-2*y.borderwidth+v.scrollBarWidth+v.scrollBarMargin,height:B-y.borderwidth,x:y.borderwidth/2,y:y.borderwidth/2}),T.select(&quot;rect&quot;).attr({width:N-2*y.borderwidth+v.scrollBarWidth+v.scrollBarMargin,height:B-2*y.borderwidth,x:y.borderwidth,y:y.borderwidth-q}),E.call(d.setClipUrl,m),D&amp;&amp;e(V,q),A.on(&quot;wheel&quot;,null),A.on(&quot;wheel&quot;,function(){q=c.constrain(E.attr(&quot;data-scroll&quot;)-s.event.deltaY/H*G,-G,0),e(V=v.scrollBarMargin-q/G*H,q),0!==q&amp;&amp;q!==-G&amp;&amp;s.event.preventDefault()}),L.on(&quot;.drag&quot;,null),E.on(&quot;.drag&quot;,null);var Y=s.behavior.drag().on(&quot;drag&quot;,function(){V=c.constrain(s.event.y-v.scrollBarHeight/2,v.scrollBarMargin,v.scrollBarMargin+H),q=-(V-v.scrollBarMargin)/H*G,e(V,q)});L.call(Y),E.call(Y)}if(t._context.edits.legendPosition){var W,X,Z,J;A.classed(&quot;cursor-move&quot;,!0),h.init({element:A.node(),gd:t,prepFn:function(){var t=d.getTranslate(A);Z=t.x,J=t.y},moveFn:function(t,e){var r=Z+t,n=J+e;d.setTranslate(A,r,n),W=h.align(r,0,O.l,O.l+O.w,y.xanchor),X=h.align(n,0,O.t+O.h,O.t,y.yanchor)},doneFn:function(){void 0!==W&amp;&amp;void 0!==X&amp;&amp;l.relayout(t,{&quot;legend.x&quot;:W,&quot;legend.y&quot;:X})},clickFn:function(e,n){var i=r._infolayer.selectAll(&quot;g.traces&quot;).filter(function(){var t=this.getBoundingClientRect();return n.clientX&gt;=t.left&amp;&amp;n.clientX&lt;=t.right&amp;&amp;n.clientY&gt;=t.top&amp;&amp;n.clientY&lt;=t.bottom});i.size()&gt;0&amp;&amp;(1===e?A._clickTimeout=setTimeout(function(){g(i,t,e)},k):2===e&amp;&amp;(A._clickTimeout&amp;&amp;clearTimeout(A._clickTimeout),g(i,t,e)))}})}}}},{&quot;../../constants/alignment&quot;:716,&quot;../../constants/interactions&quot;:720,&quot;../../lib&quot;:743,&quot;../../lib/svg_text_utils&quot;:766,&quot;../../plotly&quot;:784,&quot;../../plots/plots&quot;:852,&quot;../../registry&quot;:873,&quot;../color&quot;:618,&quot;../dragelement&quot;:640,&quot;../drawing&quot;:643,&quot;./anchor_utils&quot;:669,&quot;./constants&quot;:671,&quot;./get_legend_data&quot;:674,&quot;./handle_click&quot;:675,&quot;./helpers&quot;:676,&quot;./style&quot;:678,d3:128}],674:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../registry&quot;),i=t(&quot;./helpers&quot;);e.exports=function(t,e){function r(t,r){if(&quot;&quot;!==t&amp;&amp;i.isGrouped(e))-1===l.indexOf(t)?(l.push(t),c=!0,s[t]=[[r]]):s[t].push([r]);else{var n=&quot;~~i&quot;+f;l.push(n),s[n]=[[r]],f++}}var a,o,s={},l=[],c=!1,u={},f=0;for(a=0;a&lt;t.length;a++){var h=t[a],d=h[0],p=d.trace,m=p.legendgroup;if(i.legendGetsTrace(p)&amp;&amp;p.showlegend)if(n.traceIs(p,&quot;pie&quot;))for(u[m]||(u[m]={}),o=0;o&lt;h.length;o++){var g=h[o].label;u[m][g]||(r(m,{label:g,color:h[o].color,i:h[o].i,trace:p}),u[m][g]=!0)}else r(m,d)}if(!l.length)return[];var v,y,x=l.length;if(c&amp;&amp;i.isGrouped(e))for(y=new Array(x),a=0;a&lt;x;a++)v=s[l[a]],y[a]=i.isReversed(e)?v.reverse():v;else{for(y=[new Array(x)],a=0;a&lt;x;a++)v=s[l[a]][0],y[0][i.isReversed(e)?x-a-1:a]=v;x=1}return e._lgroupsLength=x,y}},{&quot;../../registry&quot;:873,&quot;./helpers&quot;:676}],675:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../plotly&quot;),i=t(&quot;../../lib&quot;),a=t(&quot;../../registry&quot;),o=!0;e.exports=function(t,e,r){function s(t,e,r){var n=b.indexOf(t),i=x[e];return i||(i=x[e]=[]),-1===b.indexOf(t)&amp;&amp;(b.push(t),n=b.length-1),i[n]=r,n}function l(t,e){var r=t._fullInput;if(a.hasTransform(r,&quot;groupby&quot;)){var n=_[r.index];if(!n){var o=a.getTransformIndices(r,&quot;groupby&quot;),l=o[o.length-1];n=i.keyedContainer(r,&quot;transforms[&quot;+l+&quot;].styles&quot;,&quot;target&quot;,&quot;value.visible&quot;),_[r.index]=n}var c=n.get(t._group);void 0===c&amp;&amp;(c=!0),!1!==c&amp;&amp;n.set(t._group,e),w[r.index]=s(r.index,&quot;visible&quot;,!1!==r.visible)}else{var u=!1!==r.visible&amp;&amp;e;s(r.index,&quot;visible&quot;,u)}}if(!e._dragged&amp;&amp;!e._editing){var c,u,f,h,d,p=e._fullLayout.hiddenlabels?e._fullLayout.hiddenlabels.slice():[],m=t.data()[0][0],g=e._fullData,v=m.trace,y=v.legendgroup,x={},b=[],_=[],w=[];if(1===r&amp;&amp;o&amp;&amp;e.data&amp;&amp;e._context.showTips?(i.notifier(i._(e,&quot;Double-click on legend to isolate one trace&quot;),&quot;long&quot;),o=!1):o=!1,a.traceIs(v,&quot;pie&quot;)){var M=m.label,k=p.indexOf(M);1===r?-1===k?p.push(M):p.splice(k,1):2===r&amp;&amp;(p=[],e.calcdata[0].forEach(function(t){M!==t.label&amp;&amp;p.push(t.label)}),e._fullLayout.hiddenlabels&amp;&amp;e._fullLayout.hiddenlabels.length===p.length&amp;&amp;-1===k&amp;&amp;(p=[])),n.relayout(e,&quot;hiddenlabels&quot;,p)}else{var A,T=y&amp;&amp;y.length,S=[];if(T)for(c=0;c&lt;g.length;c++)(A=g[c]).visible&amp;&amp;A.legendgroup===y&amp;&amp;S.push(c);if(1===r){var E;switch(v.visible){case!0:E=&quot;legendonly&quot;;break;case!1:E=!1;break;case&quot;legendonly&quot;:E=!0}if(T)for(c=0;c&lt;g.length;c++)!1!==g[c].visible&amp;&amp;g[c].legendgroup===y&amp;&amp;l(g[c],E);else l(v,E)}else if(2===r){var L,C,z=!0;for(c=0;c&lt;g.length;c++)if(!(g[c]===v)&amp;&amp;!(L=T&amp;&amp;g[c].legendgroup===y)&amp;&amp;!0===g[c].visible&amp;&amp;!a.traceIs(g[c],&quot;notLegendIsolatable&quot;)){z=!1;break}for(c=0;c&lt;g.length;c++)if(!1!==g[c].visible&amp;&amp;!a.traceIs(g[c],&quot;notLegendIsolatable&quot;))switch(v.visible){case&quot;legendonly&quot;:l(g[c],!0);break;case!0:C=!!z||&quot;legendonly&quot;,L=g[c]===v||T&amp;&amp;g[c].legendgroup===y,l(g[c],!!L||C)}}for(c=0;c&lt;_.length;c++)if(f=_[c]){var D=f.constructUpdate(),I=Object.keys(D);for(u=0;u&lt;I.length;u++)h=I[u],(x[h]=x[h]||[])[w[c]]=D[h]}for(d=Object.keys(x),c=0;c&lt;d.length;c++)for(h=d[c],u=0;u&lt;b.length;u++)x[h].hasOwnProperty(u)||(x[h][u]=void 0);n.restyle(e,x,b)}}}},{&quot;../../lib&quot;:743,&quot;../../plotly&quot;:784,&quot;../../registry&quot;:873}],676:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../registry&quot;);r.legendGetsTrace=function(t){return t.visible&amp;&amp;n.traceIs(t,&quot;showLegend&quot;)},r.isGrouped=function(t){return-1!==(t.traceorder||&quot;&quot;).indexOf(&quot;grouped&quot;)},r.isVertical=function(t){return&quot;h&quot;!==t.orientation},r.isReversed=function(t){return-1!==(t.traceorder||&quot;&quot;).indexOf(&quot;reversed&quot;)}},{&quot;../../registry&quot;:873}],677:[function(t,e,r){&quot;use strict&quot;;e.exports={moduleType:&quot;component&quot;,name:&quot;legend&quot;,layoutAttributes:t(&quot;./attributes&quot;),supplyLayoutDefaults:t(&quot;./defaults&quot;),draw:t(&quot;./draw&quot;),style:t(&quot;./style&quot;)}},{&quot;./attributes&quot;:670,&quot;./defaults&quot;:672,&quot;./draw&quot;:673,&quot;./style&quot;:678}],678:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;d3&quot;),i=t(&quot;../../registry&quot;),a=t(&quot;../../lib&quot;),o=t(&quot;../drawing&quot;),s=t(&quot;../color&quot;),l=t(&quot;../../traces/scatter/subtypes&quot;),c=t(&quot;../../traces/pie/style_one&quot;);e.exports=function(t,e){t.each(function(t){var e=n.select(this).selectAll(&quot;g.layers&quot;).data([0]);e.enter().append(&quot;g&quot;).classed(&quot;layers&quot;,!0),e.style(&quot;opacity&quot;,t[0].trace.opacity);e.selectAll(&quot;g.legendfill&quot;).data([t]).enter().append(&quot;g&quot;).classed(&quot;legendfill&quot;,!0);e.selectAll(&quot;g.legendlines&quot;).data([t]).enter().append(&quot;g&quot;).classed(&quot;legendlines&quot;,!0);var r=e.selectAll(&quot;g.legendsymbols&quot;).data([t]);r.enter().append(&quot;g&quot;).classed(&quot;legendsymbols&quot;,!0),r.selectAll(&quot;g.legendpoints&quot;).data([t]).enter().append(&quot;g&quot;).classed(&quot;legendpoints&quot;,!0)}).each(function(t){var e=t[0].trace,r=e.marker||{},a=r.line||{},o=n.select(this).select(&quot;g.legendpoints&quot;).selectAll(&quot;path.legendbar&quot;).data(i.traceIs(e,&quot;bar&quot;)?[t]:[]);o.enter().append(&quot;path&quot;).classed(&quot;legendbar&quot;,!0).attr(&quot;d&quot;,&quot;M6,6H-6V-6H6Z&quot;).attr(&quot;transform&quot;,&quot;translate(20,0)&quot;),o.exit().remove(),o.each(function(t){var e=n.select(this),i=t[0],o=(i.mlw+1||a.width+1)-1;e.style(&quot;stroke-width&quot;,o+&quot;px&quot;).call(s.fill,i.mc||r.color),o&amp;&amp;e.call(s.stroke,i.mlc||a.color)})}).each(function(t){var e=t[0].trace,r=n.select(this).select(&quot;g.legendpoints&quot;).selectAll(&quot;path.legendbox&quot;).data(i.traceIs(e,&quot;box-violin&quot;)&amp;&amp;e.visible?[t]:[]);r.enter().append(&quot;path&quot;).classed(&quot;legendbox&quot;,!0).attr(&quot;d&quot;,&quot;M6,6H-6V-6H6Z&quot;).attr(&quot;transform&quot;,&quot;translate(20,0)&quot;),r.exit().remove(),r.each(function(){var t=e.line.width,r=n.select(this);r.style(&quot;stroke-width&quot;,t+&quot;px&quot;).call(s.fill,e.fillcolor),t&amp;&amp;r.call(s.stroke,e.line.color)})}).each(function(t){var e=t[0].trace,r=n.select(this).select(&quot;g.legendpoints&quot;).selectAll(&quot;path.legendpie&quot;).data(i.traceIs(e,&quot;pie&quot;)&amp;&amp;e.visible?[t]:[]);r.enter().append(&quot;path&quot;).classed(&quot;legendpie&quot;,!0).attr(&quot;d&quot;,&quot;M6,6H-6V-6H6Z&quot;).attr(&quot;transform&quot;,&quot;translate(20,0)&quot;),r.exit().remove(),r.size()&amp;&amp;r.call(c,t[0],e)}).each(function(t){var e=t[0].trace,r=e.visible&amp;&amp;e.fill&amp;&amp;&quot;none&quot;!==e.fill,i=l.hasLines(e);e&amp;&amp;e._module&amp;&amp;&quot;contourcarpet&quot;===e._module.name&amp;&amp;(i=e.contours.showlines,r=&quot;fill&quot;===e.contours.coloring);var a=n.select(this).select(&quot;.legendfill&quot;).selectAll(&quot;path&quot;).data(r?[t]:[]);a.enter().append(&quot;path&quot;).classed(&quot;js-fill&quot;,!0),a.exit().remove(),a.attr(&quot;d&quot;,&quot;M5,0h30v6h-30z&quot;).call(o.fillGroupStyle);var s=n.select(this).select(&quot;.legendlines&quot;).selectAll(&quot;path&quot;).data(i?[t]:[]);s.enter().append(&quot;path&quot;).classed(&quot;js-line&quot;,!0).attr(&quot;d&quot;,&quot;M5,0h30&quot;),s.exit().remove(),s.call(o.lineGroupStyle)}).each(function(t){function r(t,e,r){var n=a.nestedProperty(f,t).get(),i=Array.isArray(n)&amp;&amp;e?e(n):n;if(r){if(i&lt;r[0])return r[0];if(i&gt;r[1])return r[1]}return i}function i(t){return t[0]}var s,c,u=t[0],f=u.trace,h=l.hasMarkers(f),d=l.hasText(f),p=l.hasLines(f);if(h||d||p){var m={},g={};h&amp;&amp;(m.mc=r(&quot;marker.color&quot;,i),m.mo=r(&quot;marker.opacity&quot;,a.mean,[.2,1]),m.ms=r(&quot;marker.size&quot;,a.mean,[2,16]),m.mlc=r(&quot;marker.line.color&quot;,i),m.mlw=r(&quot;marker.line.width&quot;,a.mean,[0,5]),g.marker={sizeref:1,sizemin:1,sizemode:&quot;diameter&quot;}),p&amp;&amp;(g.line={width:r(&quot;line.width&quot;,i,[0,10])}),d&amp;&amp;(m.tx=&quot;Aa&quot;,m.tp=r(&quot;textposition&quot;,i),m.ts=10,m.tc=r(&quot;textfont.color&quot;,i),m.tf=r(&quot;textfont.family&quot;,i)),s=[a.minExtend(u,m)],c=a.minExtend(f,g)}var v=n.select(this).select(&quot;g.legendpoints&quot;),y=v.selectAll(&quot;path.scatterpts&quot;).data(h?s:[]);y.enter().append(&quot;path&quot;).classed(&quot;scatterpts&quot;,!0).attr(&quot;transform&quot;,&quot;translate(20,0)&quot;),y.exit().remove(),y.call(o.pointStyle,c,e),h&amp;&amp;(s[0].mrc=3);var x=v.selectAll(&quot;g.pointtext&quot;).data(d?s:[]);x.enter().append(&quot;g&quot;).classed(&quot;pointtext&quot;,!0).append(&quot;text&quot;).attr(&quot;transform&quot;,&quot;translate(20,0)&quot;),x.exit().remove(),x.selectAll(&quot;text&quot;).call(o.textPointStyle,c,e)})}},{&quot;../../lib&quot;:743,&quot;../../registry&quot;:873,&quot;../../traces/pie/style_one&quot;:1052,&quot;../../traces/scatter/subtypes&quot;:1088,&quot;../color&quot;:618,&quot;../drawing&quot;:643,d3:128}],679:[function(t,e,r){&quot;use strict&quot;;function n(t,e){var r,n,i=e.currentTarget,a=i.getAttribute(&quot;data-attr&quot;),o=i.getAttribute(&quot;data-val&quot;)||!0,s=t._fullLayout,l={},c=h.list(t,null,!0),f=&quot;on&quot;;if(&quot;zoom&quot;===a){var d,p=&quot;in&quot;===o?.5:2,m=(1+p)/2,g=(1-p)/2;for(n=0;n&lt;c.length;n++)if(!(r=c[n]).fixedrange)if(d=r._name,&quot;auto&quot;===o)l[d+&quot;.autorange&quot;]=!0;else if(&quot;reset&quot;===o){if(void 0===r._rangeInitial)l[d+&quot;.autorange&quot;]=!0;else{var v=r._rangeInitial.slice();l[d+&quot;.range[0]&quot;]=v[0],l[d+&quot;.range[1]&quot;]=v[1]}void 0!==r._showSpikeInitial&amp;&amp;(l[d+&quot;.showspikes&quot;]=r._showSpikeInitial,&quot;on&quot;!==f||r._showSpikeInitial||(f=&quot;off&quot;))}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]];l[d+&quot;.range[0]&quot;]=r.l2r(x[0]),l[d+&quot;.range[1]&quot;]=r.l2r(x[1])}s._cartesianSpikesEnabled=f}else{if(&quot;hovermode&quot;!==a||&quot;x&quot;!==o&amp;&amp;&quot;y&quot;!==o){if(&quot;hovermode&quot;===a&amp;&amp;&quot;closest&quot;===o){for(n=0;n&lt;c.length;n++)r=c[n],&quot;on&quot;!==f||r.showspikes||(f=&quot;off&quot;);s._cartesianSpikesEnabled=f}}else o=s._isHoriz?&quot;y&quot;:&quot;x&quot;,i.setAttribute(&quot;data-val&quot;,o);l[a]=o}u.relayout(t,l)}function i(t,e){for(var r=e.currentTarget,n=r.getAttribute(&quot;data-attr&quot;),i=r.getAttribute(&quot;data-val&quot;)||!0,a=t._fullLayout._subplots.gl3d,o={},s=n.split(&quot;.&quot;),l=0;l&lt;a.length;l++)o[a[l]+&quot;.&quot;+s[1]]=i;u.relayout(t,o)}function a(t,e){for(var r=e.currentTarget.getAttribute(&quot;data-attr&quot;),n=t._fullLayout,i=n._subplots.gl3d,a={},o=0;o&lt;i.length;o++){var s=i[o],l=s+&quot;.camera&quot;,c=n[s]._scene;&quot;resetDefault&quot;===r?a[l]=null:&quot;resetLastSave&quot;===r&amp;&amp;(a[l]=d.extendDeep({},c.cameraInitial))}u.relayout(t,a)}function o(t,e){var r=e.currentTarget,n=r._previousVal||!1,i=t.layout,a=t._fullLayout,o=a._subplots.gl3d,s=[&quot;xaxis&quot;,&quot;yaxis&quot;,&quot;zaxis&quot;],l=[&quot;showspikes&quot;,&quot;spikesides&quot;,&quot;spikethickness&quot;,&quot;spikecolor&quot;],c={},f={},h={};if(n)h=d.extendDeep(i,n),r._previousVal=null;else{h={&quot;allaxes.showspikes&quot;:!1};for(var p=0;p&lt;o.length;p++){var m=o[p],g=a[m],v=c[m]={};v.hovermode=g.hovermode,h[m+&quot;.hovermode&quot;]=!1;for(var y=0;y&lt;3;y++){var x=s[y];f=v[x]={};for(var b=0;b&lt;l.length;b++){var _=l[b];f[_]=g[x][_]}}}r._previousVal=d.extendDeep({},c)}u.relayout(t,h)}function s(t,e){for(var r=e.currentTarget,n=r.getAttribute(&quot;data-attr&quot;),i=r.getAttribute(&quot;data-val&quot;)||!0,a=t._fullLayout,o=a._subplots.geo,s=0;s&lt;o.length;s++){var l=o[s],f=a[l];if(&quot;zoom&quot;===n){var h=f.projection.scale,d=&quot;in&quot;===i?2*h:.5*h;u.relayout(t,l+&quot;.projection.scale&quot;,d)}else&quot;reset&quot;===n&amp;&amp;c(t,&quot;geo&quot;)}}function l(t){var e,r=t._fullLayout;e=r._has(&quot;cartesian&quot;)?r._isHoriz?&quot;y&quot;:&quot;x&quot;:&quot;closest&quot;;var n=!t._fullLayout.hovermode&amp;&amp;e;u.relayout(t,&quot;hovermode&quot;,n)}function c(t,e){for(var r=t._fullLayout,n=r._subplots[e],i={},a=0;a&lt;n.length;a++)for(var o=n[a],s=r[o]._subplot.viewInitial,l=Object.keys(s),c=0;c&lt;l.length;c++){var f=l[c];i[o+&quot;.&quot;+f]=s[f]}u.relayout(t,i)}var u=t(&quot;../../plotly&quot;),f=t(&quot;../../plots/plots&quot;),h=t(&quot;../../plots/cartesian/axis_ids&quot;),d=t(&quot;../../lib&quot;),p=t(&quot;../../snapshot/download&quot;),m=t(&quot;../../../build/ploticon&quot;),g=d._,v=e.exports={};v.toImage={name:&quot;toImage&quot;,title:function(t){return g(t,&quot;Download plot as a png&quot;)},icon:m.camera,click:function(t){var e=&quot;png&quot;;d.notifier(g(t,&quot;Taking snapshot - this may take a few seconds&quot;),&quot;long&quot;),d.isIE()&amp;&amp;(d.notifier(g(t,&quot;IE only supports svg.  Changing format to svg.&quot;),&quot;long&quot;),e=&quot;svg&quot;),p(t,{format:e}).then(function(e){d.notifier(g(t,&quot;Snapshot succeeded&quot;)+&quot; - &quot;+e,&quot;long&quot;)}).catch(function(){d.notifier(g(t,&quot;Sorry, there was a problem downloading your snapshot!&quot;),&quot;long&quot;)})}},v.sendDataToCloud={name:&quot;sendDataToCloud&quot;,title:function(t){return g(t,&quot;Edit in Chart Studio&quot;)},icon:m.disk,click:function(t){f.sendDataToCloud(t)}},v.zoom2d={name:&quot;zoom2d&quot;,title:function(t){return g(t,&quot;Zoom&quot;)},attr:&quot;dragmode&quot;,val:&quot;zoom&quot;,icon:m.zoombox,click:n},v.pan2d={name:&quot;pan2d&quot;,title:function(t){return g(t,&quot;Pan&quot;)},attr:&quot;dragmode&quot;,val:&quot;pan&quot;,icon:m.pan,click:n},v.select2d={name:&quot;select2d&quot;,title:function(t){return g(t,&quot;Box Select&quot;)},attr:&quot;dragmode&quot;,val:&quot;select&quot;,icon:m.selectbox,click:n},v.lasso2d={name:&quot;lasso2d&quot;,title:function(t){return g(t,&quot;Lasso Select&quot;)},attr:&quot;dragmode&quot;,val:&quot;lasso&quot;,icon:m.lasso,click:n},v.zoomIn2d={name:&quot;zoomIn2d&quot;,title:function(t){return g(t,&quot;Zoom in&quot;)},attr:&quot;zoom&quot;,val:&quot;in&quot;,icon:m.zoom_plus,click:n},v.zoomOut2d={name:&quot;zoomOut2d&quot;,title:function(t){return g(t,&quot;Zoom out&quot;)},attr:&quot;zoom&quot;,val:&quot;out&quot;,icon:m.zoom_minus,click:n},v.autoScale2d={name:&quot;autoScale2d&quot;,title:function(t){return g(t,&quot;Autoscale&quot;)},attr:&quot;zoom&quot;,val:&quot;auto&quot;,icon:m.autoscale,click:n},v.resetScale2d={name:&quot;resetScale2d&quot;,title:function(t){return g(t,&quot;Reset axes&quot;)},attr:&quot;zoom&quot;,val:&quot;reset&quot;,icon:m.home,click:n},v.hoverClosestCartesian={name:&quot;hoverClosestCartesian&quot;,title:function(t){return g(t,&quot;Show closest data on hover&quot;)},attr:&quot;hovermode&quot;,val:&quot;closest&quot;,icon:m.tooltip_basic,gravity:&quot;ne&quot;,click:n},v.hoverCompareCartesian={name:&quot;hoverCompareCartesian&quot;,title:function(t){return g(t,&quot;Compare data on hover&quot;)},attr:&quot;hovermode&quot;,val:function(t){return t._fullLayout._isHoriz?&quot;y&quot;:&quot;x&quot;},icon:m.tooltip_compare,gravity:&quot;ne&quot;,click:n},v.zoom3d={name:&quot;zoom3d&quot;,title:function(t){return g(t,&quot;Zoom&quot;)},attr:&quot;scene.dragmode&quot;,val:&quot;zoom&quot;,icon:m.zoombox,click:i},v.pan3d={name:&quot;pan3d&quot;,title:function(t){return g(t,&quot;Pan&quot;)},attr:&quot;scene.dragmode&quot;,val:&quot;pan&quot;,icon:m.pan,click:i},v.orbitRotation={name:&quot;orbitRotation&quot;,title:function(t){return g(t,&quot;Orbital rotation&quot;)},attr:&quot;scene.dragmode&quot;,val:&quot;orbit&quot;,icon:m[&quot;3d_rotate&quot;],click:i},v.tableRotation={name:&quot;tableRotation&quot;,title:function(t){return g(t,&quot;Turntable rotation&quot;)},attr:&quot;scene.dragmode&quot;,val:&quot;turntable&quot;,icon:m[&quot;z-axis&quot;],click:i},v.resetCameraDefault3d={name:&quot;resetCameraDefault3d&quot;,title:function(t){return g(t,&quot;Reset camera to default&quot;)},attr:&quot;resetDefault&quot;,icon:m.home,click:a},v.resetCameraLastSave3d={name:&quot;resetCameraLastSave3d&quot;,title:function(t){return g(t,&quot;Reset camera to last save&quot;)},attr:&quot;resetLastSave&quot;,icon:m.movie,click:a},v.hoverClosest3d={name:&quot;hoverClosest3d&quot;,title:function(t){return g(t,&quot;Toggle show closest data on hover&quot;)},attr:&quot;hovermode&quot;,val:null,toggle:!0,icon:m.tooltip_basic,gravity:&quot;ne&quot;,click:o},v.zoomInGeo={name:&quot;zoomInGeo&quot;,title:function(t){return g(t,&quot;Zoom in&quot;)},attr:&quot;zoom&quot;,val:&quot;in&quot;,icon:m.zoom_plus,click:s},v.zoomOutGeo={name:&quot;zoomOutGeo&quot;,title:function(t){return g(t,&quot;Zoom out&quot;)},attr:&quot;zoom&quot;,val:&quot;out&quot;,icon:m.zoom_minus,click:s},v.resetGeo={name:&quot;resetGeo&quot;,title:function(t){return g(t,&quot;Reset&quot;)},attr:&quot;reset&quot;,val:null,icon:m.autoscale,click:s},v.hoverClosestGeo={name:&quot;hoverClosestGeo&quot;,title:function(t){return g(t,&quot;Toggle show closest data on hover&quot;)},attr:&quot;hovermode&quot;,val:null,toggle:!0,icon:m.tooltip_basic,gravity:&quot;ne&quot;,click:l},v.hoverClosestGl2d={name:&quot;hoverClosestGl2d&quot;,title:function(t){return g(t,&quot;Toggle show closest data on hover&quot;)},attr:&quot;hovermode&quot;,val:null,toggle:!0,icon:m.tooltip_basic,gravity:&quot;ne&quot;,click:l},v.hoverClosestPie={name:&quot;hoverClosestPie&quot;,title:function(t){return g(t,&quot;Toggle show closest data on hover&quot;)},attr:&quot;hovermode&quot;,val:&quot;closest&quot;,icon:m.tooltip_basic,gravity:&quot;ne&quot;,click:l},v.toggleHover={name:&quot;toggleHover&quot;,title:function(t){return g(t,&quot;Toggle show closest data on hover&quot;)},attr:&quot;hovermode&quot;,val:null,toggle:!0,icon:m.tooltip_basic,gravity:&quot;ne&quot;,click:function(t,e){l(t),o(t,e)}},v.resetViews={name:&quot;resetViews&quot;,title:function(t){return g(t,&quot;Reset views&quot;)},icon:m.home,click:function(t,e){var r=e.currentTarget;r.setAttribute(&quot;data-attr&quot;,&quot;zoom&quot;),r.setAttribute(&quot;data-val&quot;,&quot;reset&quot;),n(t,e),r.setAttribute(&quot;data-attr&quot;,&quot;resetLastSave&quot;),a(t,e),c(t,&quot;geo&quot;),c(t,&quot;mapbox&quot;)}},v.toggleSpikelines={name:&quot;toggleSpikelines&quot;,title:function(t){return g(t,&quot;Toggle Spike Lines&quot;)},icon:m.spikeline,attr:&quot;_cartesianSpikesEnabled&quot;,val:&quot;on&quot;,click:function(t){var e=t._fullLayout;e._cartesianSpikesEnabled=&quot;on&quot;===e._cartesianSpikesEnabled?&quot;off&quot;:&quot;on&quot;;var r=function(t){for(var e,r=t._fullLayout,n=h.list(t,null,!0),i={},a=0;a&lt;n.length;a++)i[(e=n[a])._name+&quot;.showspikes&quot;]=&quot;on&quot;===r._cartesianSpikesEnabled||e._showSpikeInitial;return i}(t);u.relayout(t,r)}},v.resetViewMapbox={name:&quot;resetViewMapbox&quot;,title:function(t){return g(t,&quot;Reset view&quot;)},attr:&quot;reset&quot;,icon:m.home,click:function(t){c(t,&quot;mapbox&quot;)}}},{&quot;../../../build/ploticon&quot;:2,&quot;../../lib&quot;:743,&quot;../../plotly&quot;:784,&quot;../../plots/cartesian/axis_ids&quot;:792,&quot;../../plots/plots&quot;:852,&quot;../../snapshot/download&quot;:875}],680:[function(t,e,r){&quot;use strict&quot;;r.manage=t(&quot;./manage&quot;)},{&quot;./manage&quot;:681}],681:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r){function n(t){for(var r=[],n=0;n&lt;t.length;n++){var i=t[n];-1===e.indexOf(i)&amp;&amp;r.push(c[i])}x.push(r)}var l=t._fullLayout,u=t._fullData,f=l._has(&quot;cartesian&quot;),h=l._has(&quot;gl3d&quot;),d=l._has(&quot;geo&quot;),p=l._has(&quot;pie&quot;),m=l._has(&quot;gl2d&quot;),g=l._has(&quot;ternary&quot;),v=l._has(&quot;mapbox&quot;),y=l._has(&quot;polar&quot;),x=[];if(n([&quot;toImage&quot;,&quot;sendDataToCloud&quot;]),(f||m||p||g)+d+h&gt;1)return n([&quot;resetViews&quot;,&quot;toggleHover&quot;]),i(x,r);h&amp;&amp;(n([&quot;zoom3d&quot;,&quot;pan3d&quot;,&quot;orbitRotation&quot;,&quot;tableRotation&quot;]),n([&quot;resetCameraDefault3d&quot;,&quot;resetCameraLastSave3d&quot;]),n([&quot;hoverClosest3d&quot;]));var b=function(t){for(var e=a.list({_fullLayout:t},null,!0),r=0;r&lt;e.length;r++)if(!e[r].fixedrange)return!1;return!0}(l),_=[];return((f||m)&amp;&amp;!b||g)&amp;&amp;(_=[&quot;zoom2d&quot;,&quot;pan2d&quot;]),(v||d)&amp;&amp;(_=[&quot;pan2d&quot;]),y&amp;&amp;(_=[&quot;zoom2d&quot;]),function(t){for(var e=!1,r=0;r&lt;t.length&amp;&amp;!e;r++){var n=t[r];n._module&amp;&amp;n._module.selectPoints&amp;&amp;(s.traceIs(n,&quot;scatter-like&quot;)?(o.hasMarkers(n)||o.hasText(n))&amp;&amp;(e=!0):s.traceIs(n,&quot;box-violin&quot;)?&quot;all&quot;!==n.boxpoints&amp;&amp;&quot;all&quot;!==n.points||(e=!0):e=!0)}return e}(u)&amp;&amp;(_.push(&quot;select2d&quot;),_.push(&quot;lasso2d&quot;)),_.length&amp;&amp;n(_),!f&amp;&amp;!m||b||g||n([&quot;zoomIn2d&quot;,&quot;zoomOut2d&quot;,&quot;autoScale2d&quot;,&quot;resetScale2d&quot;]),f&amp;&amp;p?n([&quot;toggleHover&quot;]):m?n([&quot;hoverClosestGl2d&quot;]):f?n([&quot;toggleSpikelines&quot;,&quot;hoverClosestCartesian&quot;,&quot;hoverCompareCartesian&quot;]):p?n([&quot;hoverClosestPie&quot;]):v?n([&quot;resetViewMapbox&quot;,&quot;toggleHover&quot;]):d&amp;&amp;(n([&quot;zoomInGeo&quot;,&quot;zoomOutGeo&quot;,&quot;resetGeo&quot;]),n([&quot;hoverClosestGeo&quot;])),i(x,r)}function i(t,e){if(e.length)if(Array.isArray(e[0]))for(var r=0;r&lt;e.length;r++)t.push(e[r]);else t.push(e);return t}var a=t(&quot;../../plots/cartesian/axis_ids&quot;),o=t(&quot;../../traces/scatter/subtypes&quot;),s=t(&quot;../../registry&quot;),l=t(&quot;./modebar&quot;),c=t(&quot;./buttons&quot;);e.exports=function(t){var e=t._fullLayout,r=t._context,i=e._modeBar;if(r.displayModeBar){if(!Array.isArray(r.modeBarButtonsToRemove))throw new Error([&quot;*modeBarButtonsToRemove* configuration options&quot;,&quot;must be an array.&quot;].join(&quot; &quot;));if(!Array.isArray(r.modeBarButtonsToAdd))throw new Error([&quot;*modeBarButtonsToAdd* configuration options&quot;,&quot;must be an array.&quot;].join(&quot; &quot;));var a,o=r.modeBarButtons;a=Array.isArray(o)&amp;&amp;o.length?function(t){for(var e=0;e&lt;t.length;e++)for(var r=t[e],n=0;n&lt;r.length;n++){var i=r[n];if(&quot;string&quot;==typeof i){if(void 0===c[i])throw new Error([&quot;*modeBarButtons* configuration options&quot;,&quot;invalid button name&quot;].join(&quot; &quot;));t[e][n]=c[i]}}return t}(o):n(t,r.modeBarButtonsToRemove,r.modeBarButtonsToAdd),i?i.update(t,a):e._modeBar=l(t,a)}else i&amp;&amp;(i.destroy(),delete e._modeBar)}},{&quot;../../plots/cartesian/axis_ids&quot;:792,&quot;../../registry&quot;:873,&quot;../../traces/scatter/subtypes&quot;:1088,&quot;./buttons&quot;:679,&quot;./modebar&quot;:682}],682:[function(t,e,r){&quot;use strict&quot;;function n(t){this.container=t.container,this.element=document.createElement(&quot;div&quot;),this.update(t.graphInfo,t.buttons),this.container.appendChild(this.element)}var i=t(&quot;d3&quot;),a=t(&quot;../../lib&quot;),o=t(&quot;../../../build/ploticon&quot;),s=n.prototype;s.update=function(t,e){this.graphInfo=t;var r=this.graphInfo._context;&quot;hover&quot;===r.displayModeBar?this.element.className=&quot;modebar modebar--hover&quot;:this.element.className=&quot;modebar&quot;;var n=!this.hasButtons(e),i=this.hasLogo!==r.displaylogo;(n||i)&amp;&amp;(this.removeAllButtons(),this.updateButtons(e),r.displaylogo&amp;&amp;(this.element.appendChild(this.getLogo()),this.hasLogo=!0)),this.updateActiveButton()},s.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(&quot;must provide button 'name' in button config&quot;);if(-1!==e.buttonsNames.indexOf(n))throw new Error(&quot;button name '&quot;+n+&quot;' is taken&quot;);e.buttonsNames.push(n);var i=e.createButton(t);e.buttonElements.push(i),r.appendChild(i)}),e.element.appendChild(r)})},s.createGroup=function(){var t=document.createElement(&quot;div&quot;);return t.className=&quot;modebar-group&quot;,t},s.createButton=function(t){var e=this,r=document.createElement(&quot;a&quot;);r.setAttribute(&quot;rel&quot;,&quot;tooltip&quot;),r.className=&quot;modebar-btn&quot;;var n=t.title;void 0===n?n=t.name:&quot;function&quot;==typeof n&amp;&amp;(n=n(this.graphInfo)),(n||0===n)&amp;&amp;r.setAttribute(&quot;data-title&quot;,n),void 0!==t.attr&amp;&amp;r.setAttribute(&quot;data-attr&quot;,t.attr);var a=t.val;void 0!==a&amp;&amp;(&quot;function&quot;==typeof a&amp;&amp;(a=a(this.graphInfo)),r.setAttribute(&quot;data-val&quot;,a));if(&quot;function&quot;!=typeof t.click)throw new Error(&quot;must provide button 'click' function in button config&quot;);return r.addEventListener(&quot;click&quot;,function(r){t.click(e.graphInfo,r),e.updateActiveButton(r.currentTarget)}),r.setAttribute(&quot;data-toggle&quot;,t.toggle||!1),t.toggle&amp;&amp;i.select(r).classed(&quot;active&quot;,!0),r.appendChild(this.createIcon(t.icon||o.question,t.name)),r.setAttribute(&quot;data-gravity&quot;,t.gravity||&quot;n&quot;),r},s.createIcon=function(t,e){var r=t.ascent-t.descent,n=&quot;http://www.w3.org/2000/svg&quot;,i=document.createElementNS(n,&quot;svg&quot;),a=document.createElementNS(n,&quot;path&quot;);i.setAttribute(&quot;height&quot;,&quot;1em&quot;),i.setAttribute(&quot;width&quot;,t.width/r+&quot;em&quot;),i.setAttribute(&quot;viewBox&quot;,[0,0,t.width,r].join(&quot; &quot;));var o=&quot;toggleSpikelines&quot;===e?&quot;matrix(1.5 0 0 -1.5 0 &quot;+t.ascent+&quot;)&quot;:&quot;matrix(1 0 0 -1 0 &quot;+t.ascent+&quot;)&quot;;return a.setAttribute(&quot;d&quot;,t.path),a.setAttribute(&quot;transform&quot;,o),i.appendChild(a),i},s.updateActiveButton=function(t){var e=this.graphInfo._fullLayout,r=void 0!==t?t.getAttribute(&quot;data-attr&quot;):null;this.buttonElements.forEach(function(t){var n=t.getAttribute(&quot;data-val&quot;)||!0,o=t.getAttribute(&quot;data-attr&quot;),s=&quot;true&quot;===t.getAttribute(&quot;data-toggle&quot;),l=i.select(t);if(s)o===r&amp;&amp;l.classed(&quot;active&quot;,!l.classed(&quot;active&quot;));else{var c=null===o?o:a.nestedProperty(e,o).get();l.classed(&quot;active&quot;,c===n)}})},s.hasButtons=function(t){var e=this.buttons;if(!e)return!1;if(t.length!==e.length)return!1;for(var r=0;r&lt;t.length;++r){if(t[r].length!==e[r].length)return!1;for(var n=0;n&lt;t[r].length;n++)if(t[r][n].name!==e[r][n].name)return!1}return!0},s.getLogo=function(){var t=this.createGroup(),e=document.createElement(&quot;a&quot;);return e.href=&quot;https://plot.ly/&quot;,e.target=&quot;_blank&quot;,e.setAttribute(&quot;data-title&quot;,a._(this.graphInfo,&quot;Produced with Plotly&quot;)),e.className=&quot;modebar-btn plotlyjsicon modebar-btn--logo&quot;,e.appendChild(this.createIcon(o.plotlylogo)),t.appendChild(e),t},s.removeAllButtons=function(){for(;this.element.firstChild;)this.element.removeChild(this.element.firstChild);this.hasLogo=!1},s.destroy=function(){a.removeElement(this.container.querySelector(&quot;.modebar&quot;))},e.exports=function(t,e){var r=t._fullLayout,a=new n({graphInfo:t,container:r._paperdiv.node(),buttons:e});return r._privateplot&amp;&amp;i.select(a.element).append(&quot;span&quot;).classed(&quot;badge-private float--left&quot;,!0).text(&quot;PRIVATE&quot;),a}},{&quot;../../../build/ploticon&quot;:2,&quot;../../lib&quot;:743,d3:128}],683:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../plots/font_attributes&quot;),i=t(&quot;../color/attributes&quot;),a=t(&quot;../../lib/extend&quot;).extendFlat,o=t(&quot;./button_attributes&quot;);o=a(o,{_isLinkedToArray:&quot;button&quot;}),e.exports={visible:{valType:&quot;boolean&quot;,editType:&quot;plot&quot;},buttons:o,x:{valType:&quot;number&quot;,min:-2,max:3,editType:&quot;plot&quot;},xanchor:{valType:&quot;enumerated&quot;,values:[&quot;auto&quot;,&quot;left&quot;,&quot;center&quot;,&quot;right&quot;],dflt:&quot;left&quot;,editType:&quot;plot&quot;},y:{valType:&quot;number&quot;,min:-2,max:3,editType:&quot;plot&quot;},yanchor:{valType:&quot;enumerated&quot;,values:[&quot;auto&quot;,&quot;top&quot;,&quot;middle&quot;,&quot;bottom&quot;],dflt:&quot;bottom&quot;,editType:&quot;plot&quot;},font:n({editType:&quot;plot&quot;}),bgcolor:{valType:&quot;color&quot;,dflt:i.lightLine,editType:&quot;plot&quot;},activecolor:{valType:&quot;color&quot;,editType:&quot;plot&quot;},bordercolor:{valType:&quot;color&quot;,dflt:i.defaultLine,editType:&quot;plot&quot;},borderwidth:{valType:&quot;number&quot;,min:0,dflt:0,editType:&quot;plot&quot;},editType:&quot;plot&quot;}},{&quot;../../lib/extend&quot;:732,&quot;../../plots/font_attributes&quot;:816,&quot;../color/attributes&quot;:617,&quot;./button_attributes&quot;:684}],684:[function(t,e,r){&quot;use strict&quot;;e.exports={step:{valType:&quot;enumerated&quot;,values:[&quot;month&quot;,&quot;year&quot;,&quot;day&quot;,&quot;hour&quot;,&quot;minute&quot;,&quot;second&quot;,&quot;all&quot;],dflt:&quot;month&quot;,editType:&quot;plot&quot;},stepmode:{valType:&quot;enumerated&quot;,values:[&quot;backward&quot;,&quot;todate&quot;],dflt:&quot;backward&quot;,editType:&quot;plot&quot;},count:{valType:&quot;number&quot;,min:0,dflt:1,editType:&quot;plot&quot;},label:{valType:&quot;string&quot;,editType:&quot;plot&quot;},editType:&quot;plot&quot;}},{}],685:[function(t,e,r){&quot;use strict&quot;;e.exports={yPad:.02,minButtonWidth:30,rx:3,ry:3,lightAmount:25,darkAmount:10}},{}],686:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib&quot;),i=t(&quot;../color&quot;),a=t(&quot;./attributes&quot;),o=t(&quot;./button_attributes&quot;),s=t(&quot;./constants&quot;);e.exports=function(t,e,r,l,c){function u(t,e){return n.coerce(f,h,a,t,e)}var f=t.rangeselector||{},h=e.rangeselector={};if(u(&quot;visible&quot;,function(t,e,r){function i(t,e){return n.coerce(a,s,o,t,e)}for(var a,s,l=t.buttons||[],c=e.buttons=[],u=0;u&lt;l.length;u++)if(a=l[u],s={},n.isPlainObject(a)){var f=i(&quot;step&quot;);&quot;all&quot;!==f&amp;&amp;(!r||&quot;gregorian&quot;===r||&quot;month&quot;!==f&amp;&amp;&quot;year&quot;!==f?i(&quot;stepmode&quot;):s.stepmode=&quot;backward&quot;,i(&quot;count&quot;)),i(&quot;label&quot;),s._index=u,c.push(s)}return c}(f,h,c).length&gt;0)){var d=function(t,e,r){for(var n=r.filter(function(r){return e[r].anchor===t._id}),i=0,a=0;a&lt;n.length;a++){var o=e[n[a]].domain;o&amp;&amp;(i=Math.max(o[1],i))}return[t.domain[0],i+s.yPad]}(e,r,l);u(&quot;x&quot;,d[0]),u(&quot;y&quot;,d[1]),n.noneOrAll(t,e,[&quot;x&quot;,&quot;y&quot;]),u(&quot;xanchor&quot;),u(&quot;yanchor&quot;),n.coerceFont(u,&quot;font&quot;,r.font);var p=u(&quot;bgcolor&quot;);u(&quot;activecolor&quot;,i.contrast(p,s.lightAmount,s.darkAmount)),u(&quot;bordercolor&quot;),u(&quot;borderwidth&quot;)}}},{&quot;../../lib&quot;:743,&quot;../color&quot;:618,&quot;./attributes&quot;:683,&quot;./button_attributes&quot;:684,&quot;./constants&quot;:685}],687:[function(t,e,r){&quot;use strict&quot;;function n(t){return t._id}function i(t,e,r){var n=t.selectAll(&quot;rect&quot;).data([0]);n.enter().append(&quot;rect&quot;).classed(&quot;selector-rect&quot;,!0),n.attr(&quot;shape-rendering&quot;,&quot;crispEdges&quot;),n.attr({rx:m.rx,ry:m.ry}),n.call(c.stroke,e.bordercolor).call(c.fill,function(t,e){return e.isActive||e.isHovered?t.activecolor:t.bgcolor}(e,r)).style(&quot;stroke-width&quot;,e.borderwidth+&quot;px&quot;)}function a(t,e,r,n){var i=t.selectAll(&quot;text&quot;).data([0]);i.enter().append(&quot;text&quot;).classed(&quot;selector-text&quot;,!0).classed(&quot;user-select-none&quot;,!0),i.attr(&quot;text-anchor&quot;,&quot;middle&quot;),i.call(u.font,e.font).text(function(t){return t.label?t.label:&quot;all&quot;===t.step?&quot;all&quot;:t.count+t.step.charAt(0)}(r)).call(function(t){f.convertToTspans(t,n)})}var o=t(&quot;d3&quot;),s=t(&quot;../../plotly&quot;),l=t(&quot;../../plots/plots&quot;),c=t(&quot;../color&quot;),u=t(&quot;../drawing&quot;),f=t(&quot;../../lib/svg_text_utils&quot;),h=t(&quot;../../plots/cartesian/axis_ids&quot;),d=t(&quot;../legend/anchor_utils&quot;),p=t(&quot;../../constants/alignment&quot;).LINE_SPACING,m=t(&quot;./constants&quot;),g=t(&quot;./get_update_object&quot;);e.exports=function(t){var e=t._fullLayout._infolayer.selectAll(&quot;.rangeselector&quot;).data(function(t){for(var e=h.list(t,&quot;x&quot;,!0),r=[],n=0;n&lt;e.length;n++){var i=e[n];i.rangeselector&amp;&amp;i.rangeselector.visible&amp;&amp;r.push(i)}return r}(t),n);e.enter().append(&quot;g&quot;).classed(&quot;rangeselector&quot;,!0),e.exit().remove(),e.style({cursor:&quot;pointer&quot;,&quot;pointer-events&quot;:&quot;all&quot;}),e.each(function(e){var r=o.select(this),n=e,c=n.rangeselector,h=r.selectAll(&quot;g.button&quot;).data(c.buttons);h.enter().append(&quot;g&quot;).classed(&quot;button&quot;,!0),h.exit().remove(),h.each(function(e){var r=o.select(this),l=g(n,e);e.isActive=function(t,e,r){if(&quot;all&quot;===e.step)return!0===t.autorange;var n=Object.keys(r);return t.range[0]===r[n[0]]&amp;&amp;t.range[1]===r[n[1]]}(n,e,l),r.call(i,c,e),r.call(a,c,e,t),r.on(&quot;click&quot;,function(){t._dragged||s.relayout(t,l)}),r.on(&quot;mouseover&quot;,function(){e.isHovered=!0,r.call(i,c,e)}),r.on(&quot;mouseout&quot;,function(){e.isHovered=!1,r.call(i,c,e)})}),function(t,e,r,n){r.width=0,r.height=0;var i=r.borderwidth;e.each(function(){var t=o.select(this).select(&quot;.selector-text&quot;),e=r.font.size*p,n=Math.max(e*f.lineCount(t),16)+3;r.height=Math.max(r.height,n)}),e.each(function(){var t=o.select(this),e=t.select(&quot;.selector-rect&quot;),n=t.select(&quot;.selector-text&quot;),a=n.node()&amp;&amp;u.bBox(n.node()).width,s=r.font.size*p,l=f.lineCount(n),c=Math.max(a+10,m.minButtonWidth);t.attr(&quot;transform&quot;,&quot;translate(&quot;+(i+r.width)+&quot;,&quot;+i+&quot;)&quot;),e.attr({x:0,y:0,width:c,height:r.height}),f.positionText(n,c/2,r.height/2-(l-1)*s/2+3),r.width+=c+5}),e.selectAll(&quot;rect&quot;).attr(&quot;height&quot;,r.height);var a=t._fullLayout._size;r.lx=a.l+a.w*r.x,r.ly=a.t+a.h*(1-r.y);var s=&quot;left&quot;;d.isRightAnchor(r)&amp;&amp;(r.lx-=r.width,s=&quot;right&quot;),d.isCenterAnchor(r)&amp;&amp;(r.lx-=r.width/2,s=&quot;center&quot;);var c=&quot;top&quot;;d.isBottomAnchor(r)&amp;&amp;(r.ly-=r.height,c=&quot;bottom&quot;),d.isMiddleAnchor(r)&amp;&amp;(r.ly-=r.height/2,c=&quot;middle&quot;),r.width=Math.ceil(r.width),r.height=Math.ceil(r.height),r.lx=Math.round(r.lx),r.ly=Math.round(r.ly),l.autoMargin(t,n+&quot;-range-selector&quot;,{x:r.x,y:r.y,l:r.width*({right:1,center:.5}[s]||0),r:r.width*({left:1,center:.5}[s]||0),b:r.height*({top:1,middle:.5}[c]||0),t:r.height*({bottom:1,middle:.5}[c]||0)})}(t,h,c,n._name),r.attr(&quot;transform&quot;,&quot;translate(&quot;+c.lx+&quot;,&quot;+c.ly+&quot;)&quot;)})}},{&quot;../../constants/alignment&quot;:716,&quot;../../lib/svg_text_utils&quot;:766,&quot;../../plotly&quot;:784,&quot;../../plots/cartesian/axis_ids&quot;:792,&quot;../../plots/plots&quot;:852,&quot;../color&quot;:618,&quot;../drawing&quot;:643,&quot;../legend/anchor_utils&quot;:669,&quot;./constants&quot;:685,&quot;./get_update_object&quot;:688,d3:128}],688:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;d3&quot;);e.exports=function(t,e){var r=t._name,i={};if(&quot;all&quot;===e.step)i[r+&quot;.autorange&quot;]=!0;else{var a=function(t,e){var r,i=t.range,a=new Date(t.r2l(i[1])),o=e.step,s=e.count;switch(e.stepmode){case&quot;backward&quot;:r=t.l2r(+n.time[o].utc.offset(a,-s));break;case&quot;todate&quot;:var l=n.time[o].utc.offset(a,-s);r=t.l2r(+n.time[o].utc.ceil(l))}return[r,i[1]]}(t,e);i[r+&quot;.range[0]&quot;]=a[0],i[r+&quot;.range[1]&quot;]=a[1]}return i}},{d3:128}],689:[function(t,e,r){&quot;use strict&quot;;e.exports={moduleType:&quot;component&quot;,name:&quot;rangeselector&quot;,schema:{subplots:{xaxis:{rangeselector:t(&quot;./attributes&quot;)}}},layoutAttributes:t(&quot;./attributes&quot;),handleDefaults:t(&quot;./defaults&quot;),draw:t(&quot;./draw&quot;)}},{&quot;./attributes&quot;:683,&quot;./defaults&quot;:686,&quot;./draw&quot;:687}],690:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../color/attributes&quot;);e.exports={bgcolor:{valType:&quot;color&quot;,dflt:n.background,editType:&quot;calc&quot;},bordercolor:{valType:&quot;color&quot;,dflt:n.defaultLine,editType:&quot;calc&quot;},borderwidth:{valType:&quot;integer&quot;,dflt:0,min:0,editType:&quot;calc&quot;},autorange:{valType:&quot;boolean&quot;,dflt:!0,editType:&quot;calc&quot;},range:{valType:&quot;info_array&quot;,items:[{valType:&quot;any&quot;,editType:&quot;calc&quot;},{valType:&quot;any&quot;,editType:&quot;calc&quot;}],editType:&quot;calc&quot;},thickness:{valType:&quot;number&quot;,dflt:.15,min:0,max:1,editType:&quot;calc&quot;},visible:{valType:&quot;boolean&quot;,dflt:!0,editType:&quot;calc&quot;},editType:&quot;calc&quot;}},{&quot;../color/attributes&quot;:617}],691:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../plots/cartesian/axes&quot;),i=t(&quot;./constants&quot;);e.exports=function(t){for(var e=n.list(t,&quot;x&quot;,!0),r=0;r&lt;e.length;r++){var a=e[r],o=a[i.name];o&amp;&amp;o.visible&amp;&amp;o.autorange&amp;&amp;a._min.length&amp;&amp;a._max.length&amp;&amp;(o._input.autorange=!0,o._input.range=o.range=n.getAutoRange(a))}}},{&quot;../../plots/cartesian/axes&quot;:789,&quot;./constants&quot;:692}],692:[function(t,e,r){&quot;use strict&quot;;e.exports={name:&quot;rangeslider&quot;,containerClassName:&quot;rangeslider-container&quot;,bgClassName:&quot;rangeslider-bg&quot;,rangePlotClassName:&quot;rangeslider-rangeplot&quot;,maskMinClassName:&quot;rangeslider-mask-min&quot;,maskMaxClassName:&quot;rangeslider-mask-max&quot;,slideBoxClassName:&quot;rangeslider-slidebox&quot;,grabberMinClassName:&quot;rangeslider-grabber-min&quot;,grabAreaMinClassName:&quot;rangeslider-grabarea-min&quot;,handleMinClassName:&quot;rangeslider-handle-min&quot;,grabberMaxClassName:&quot;rangeslider-grabber-max&quot;,grabAreaMaxClassName:&quot;rangeslider-grabarea-max&quot;,handleMaxClassName:&quot;rangeslider-handle-max&quot;,maskColor:&quot;rgba(0,0,0,0.4)&quot;,slideBoxFill:&quot;transparent&quot;,slideBoxCursor:&quot;ew-resize&quot;,grabAreaFill:&quot;transparent&quot;,grabAreaCursor:&quot;col-resize&quot;,grabAreaWidth:10,handleWidth:4,handleRadius:1,handleStrokeWidth:1,extraPad:15}},{}],693:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib&quot;),i=t(&quot;./attributes&quot;);e.exports=function(t,e,r){function a(t,e){return n.coerce(o,l,i,t,e)}if(t[r].rangeslider){n.isPlainObject(t[r].rangeslider)||(t[r].rangeslider={});var o=t[r].rangeslider,s=e[r],l=s.rangeslider={};if(a(&quot;visible&quot;)){if(a(&quot;bgcolor&quot;,e.plot_bgcolor),a(&quot;bordercolor&quot;),a(&quot;borderwidth&quot;),a(&quot;thickness&quot;),a(&quot;autorange&quot;,!s.isValidRange(o.range)),a(&quot;range&quot;),l.range){var c=l.range,u=s.range;c[0]=s.l2r(Math.min(s.r2l(c[0]),s.r2l(u[0]))),c[1]=s.l2r(Math.max(s.r2l(c[1]),s.r2l(u[1])))}s.cleanRange(&quot;rangeslider.range&quot;),l._input=o}}}},{&quot;../../lib&quot;:743,&quot;./attributes&quot;:690}],694:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,n){var i=t.select(&quot;rect.&quot;+b.slideBoxClassName).node(),a=t.select(&quot;rect.&quot;+b.grabAreaMinClassName).node(),o=t.select(&quot;rect.&quot;+b.grabAreaMaxClassName).node();t.on(&quot;mousedown&quot;,function(){function s(t){var s,l,c,y=+t.clientX-p;switch(h){case i:c=&quot;ew-resize&quot;,s=g+y,l=v+y;break;case a:c=&quot;col-resize&quot;,s=g+y,l=v;break;case o:c=&quot;col-resize&quot;,s=g,l=v+y;break;default:c=&quot;ew-resize&quot;,s=m,l=m+y}if(l&lt;s){var _=l;l=s,s=_}n._pixelMin=s,n._pixelMax=l,x(u.select(b),c),function(t,e,r,n){function i(t){return r.l2r(d.constrain(t,n._rl[0],n._rl[1]))}var a=i(n.p2d(n._pixelMin)),o=i(n.p2d(n._pixelMax));window.requestAnimationFrame(function(){f.relayout(e,r._name+&quot;.range&quot;,[a,o])})}(0,e,r,n)}function l(){b.removeEventListener(&quot;mousemove&quot;,s),b.removeEventListener(&quot;mouseup&quot;,l),d.removeElement(b)}var c=u.event,h=c.target,p=c.clientX,m=p-t.node().getBoundingClientRect().left,g=n.d2p(r._rl[0]),v=n.d2p(r._rl[1]),b=y.coverSlip();b.addEventListener(&quot;mousemove&quot;,s),b.addEventListener(&quot;mouseup&quot;,l)})}function i(t,e,r,n){var i=t.selectAll(&quot;rect.&quot;+b.bgClassName).data([0]);i.enter().append(&quot;rect&quot;).classed(b.bgClassName,!0).attr({x:0,y:0,&quot;shape-rendering&quot;:&quot;crispEdges&quot;});var a=n.borderwidth%2==0?n.borderwidth:n.borderwidth-1,o=-n._offsetShift,s=p.crispRound(e,n.borderwidth);i.attr({width:n._width+a,height:n._height+a,transform:&quot;translate(&quot;+o+&quot;,&quot;+o+&quot;)&quot;,fill:n.bgcolor,stroke:n.bordercolor,&quot;stroke-width&quot;:s})}function a(t,e,r,n){var i=e._fullLayout._topdefs.selectAll(&quot;#&quot;+n._clipId).data([0]);i.enter().append(&quot;clipPath&quot;).attr(&quot;id&quot;,n._clipId).append(&quot;rect&quot;).attr({x:0,y:0}),i.select(&quot;rect&quot;).attr({width:n._width,height:n._height})}function o(t,e,r,n){var i=v.getSubplots(e,r),a=e.calcdata,o=t.selectAll(&quot;g.&quot;+b.rangePlotClassName).data(i,d.identity);o.enter().append(&quot;g&quot;).attr(&quot;class&quot;,function(t){return b.rangePlotClassName+&quot; &quot;+t}).call(p.setClipUrl,n._clipId),o.order(),o.exit().remove();var s;o.each(function(t,i){var o=u.select(this),l=0===i,c=v.getFromId(e,t,&quot;y&quot;),f=c._name,d={data:[],layout:{xaxis:{type:r.type,domain:[0,1],range:n.range.slice(),calendar:r.calendar},width:n._width,height:n._height,margin:{t:0,b:0,l:0,r:0}},_context:e._context};d.layout[f]={type:c.type,domain:[0,1],range:c.range.slice(),calendar:c.calendar},h.supplyDefaults(d);var p={id:t,plotgroup:o,xaxis:d._fullLayout.xaxis,yaxis:d._fullLayout[f]};l?s=p:(p.mainplot=&quot;xy&quot;,p.mainplotinfo=s),g.rangePlot(e,p,function(t,e){for(var r=[],n=0;n&lt;t.length;n++){var i=t[n],a=i[0].trace;a.xaxis+a.yaxis===e&amp;&amp;r.push(i)}return r}(a,t))})}function s(t,e,r,n){var i=t.selectAll(&quot;rect.&quot;+b.maskMinClassName).data([0]);i.enter().append(&quot;rect&quot;).classed(b.maskMinClassName,!0).attr({x:0,y:0}).attr(&quot;shape-rendering&quot;,&quot;crispEdges&quot;),i.attr(&quot;height&quot;,n._height).call(m.fill,b.maskColor);var a=t.selectAll(&quot;rect.&quot;+b.maskMaxClassName).data([0]);a.enter().append(&quot;rect&quot;).classed(b.maskMaxClassName,!0).attr(&quot;y&quot;,0).attr(&quot;shape-rendering&quot;,&quot;crispEdges&quot;),a.attr(&quot;height&quot;,n._height).call(m.fill,b.maskColor)}function l(t,e,r,n){if(!e._context.staticPlot){var i=t.selectAll(&quot;rect.&quot;+b.slideBoxClassName).data([0]);i.enter().append(&quot;rect&quot;).classed(b.slideBoxClassName,!0).attr(&quot;y&quot;,0).attr(&quot;cursor&quot;,b.slideBoxCursor).attr(&quot;shape-rendering&quot;,&quot;crispEdges&quot;),i.attr({height:n._height,fill:b.slideBoxFill})}}function c(t,e,r,n){var i=t.selectAll(&quot;g.&quot;+b.grabberMinClassName).data([0]);i.enter().append(&quot;g&quot;).classed(b.grabberMinClassName,!0);var a=t.selectAll(&quot;g.&quot;+b.grabberMaxClassName).data([0]);a.enter().append(&quot;g&quot;).classed(b.grabberMaxClassName,!0);var o={x:0,width:b.handleWidth,rx:b.handleRadius,fill:m.background,stroke:m.defaultLine,&quot;stroke-width&quot;:b.handleStrokeWidth,&quot;shape-rendering&quot;:&quot;crispEdges&quot;},s={y:Math.round(n._height/4),height:Math.round(n._height/2)},l=i.selectAll(&quot;rect.&quot;+b.handleMinClassName).data([0]);l.enter().append(&quot;rect&quot;).classed(b.handleMinClassName,!0).attr(o),l.attr(s);var c=a.selectAll(&quot;rect.&quot;+b.handleMaxClassName).data([0]);if(c.enter().append(&quot;rect&quot;).classed(b.handleMaxClassName,!0).attr(o),c.attr(s),!e._context.staticPlot){var u={width:b.grabAreaWidth,x:0,y:0,fill:b.grabAreaFill,cursor:b.grabAreaCursor},f=i.selectAll(&quot;rect.&quot;+b.grabAreaMinClassName).data([0]);f.enter().append(&quot;rect&quot;).classed(b.grabAreaMinClassName,!0).attr(u),f.attr(&quot;height&quot;,n._height);var h=a.selectAll(&quot;rect.&quot;+b.grabAreaMaxClassName).data([0]);h.enter().append(&quot;rect&quot;).classed(b.grabAreaMaxClassName,!0).attr(u),h.attr(&quot;height&quot;,n._height)}}var u=t(&quot;d3&quot;),f=t(&quot;../../plotly&quot;),h=t(&quot;../../plots/plots&quot;),d=t(&quot;../../lib&quot;),p=t(&quot;../drawing&quot;),m=t(&quot;../color&quot;),g=t(&quot;../../plots/cartesian&quot;),v=t(&quot;../../plots/cartesian/axes&quot;),y=t(&quot;../dragelement&quot;),x=t(&quot;../../lib/setcursor&quot;),b=t(&quot;./constants&quot;);e.exports=function(t){var e=t._fullLayout,r=function(t){var e=v.list({_fullLayout:t},&quot;x&quot;,!0),r=b.name,n=[];if(t._has(&quot;gl2d&quot;))return n;for(var i=0;i&lt;e.length;i++){var a=e[i];a[r]&amp;&amp;a[r].visible&amp;&amp;n.push(a)}return n}(e),f=e._infolayer.selectAll(&quot;g.&quot;+b.containerClassName).data(r,function(t){return t._name});f.enter().append(&quot;g&quot;).classed(b.containerClassName,!0).attr(&quot;pointer-events&quot;,&quot;all&quot;),f.exit().each(function(t){var r=u.select(this),n=t[b.name];r.remove(),e._topdefs.select(&quot;#&quot;+n._clipId).remove()}),f.exit().size()&amp;&amp;function(t){for(var e=t._fullLayout._pushmargin||{},r=Object.keys(e),n=0;n&lt;r.length;n++){var i=r[n];-1!==i.indexOf(b.name)&amp;&amp;h.autoMargin(t,i)}}(t),0!==r.length&amp;&amp;f.each(function(r){var f=u.select(this),p=r[b.name],m=e[v.id2name(r.anchor)],g=e.margin,y=e._size,x=r.domain,_=m.domain,w=(r._boundingBox||{}).height||0;p._id=b.name+r._id,p._clipId=p._id+&quot;-&quot;+e._uid,p._width=y.w*(x[1]-x[0]),p._height=(e.height-g.b-g.t)*p.thickness,p._offsetShift=Math.floor(p.borderwidth/2);var M=Math.round(g.l+y.w*x[0]),k=Math.round(g.t+y.h*(1-_[0])+w+p._offsetShift+b.extraPad);f.attr(&quot;transform&quot;,&quot;translate(&quot;+M+&quot;,&quot;+k+&quot;)&quot;);var A=r.r2l(p.range[0]),T=r.r2l(p.range[1]),S=T-A;p.p2d=function(t){return t/p._width*S+A},p.d2p=function(t){return(t-A)/S*p._width},p._rl=[A,T],f.call(i,t,r,p).call(a,t,r,p).call(o,t,r,p).call(s,t,r,p).call(l,t,r,p).call(c,t,r,p),n(f,t,r,p),function(t,e,r,n){function i(t){return d.constrain(t,0,n._width)}function a(t){return d.constrain(t,-o,n._width+o)}var o=b.handleWidth/2,s=i(n.d2p(r._rl[0])),l=i(n.d2p(r._rl[1]));t.select(&quot;rect.&quot;+b.slideBoxClassName).attr(&quot;x&quot;,s).attr(&quot;width&quot;,l-s),t.select(&quot;rect.&quot;+b.maskMinClassName).attr(&quot;width&quot;,s),t.select(&quot;rect.&quot;+b.maskMaxClassName).attr(&quot;x&quot;,l).attr(&quot;width&quot;,n._width-l);var c=Math.round(a(s-o))-.5,u=Math.round(a(l-o))+.5;t.select(&quot;g.&quot;+b.grabberMinClassName).attr(&quot;transform&quot;,&quot;translate(&quot;+c+&quot;,0.5)&quot;),t.select(&quot;g.&quot;+b.grabberMaxClassName).attr(&quot;transform&quot;,&quot;translate(&quot;+u+&quot;,0.5)&quot;)}(f,0,r,p),h.autoMargin(t,p._id,{x:x[0],y:_[0],l:0,r:0,t:0,b:p._height+g.b+w,pad:b.extraPad+2*p._offsetShift})})}},{&quot;../../lib&quot;:743,&quot;../../lib/setcursor&quot;:762,&quot;../../plotly&quot;:784,&quot;../../plots/cartesian&quot;:800,&quot;../../plots/cartesian/axes&quot;:789,&quot;../../plots/plots&quot;:852,&quot;../color&quot;:618,&quot;../dragelement&quot;:640,&quot;../drawing&quot;:643,&quot;./constants&quot;:692,d3:128}],695:[function(t,e,r){&quot;use strict&quot;;e.exports={moduleType:&quot;component&quot;,name:&quot;rangeslider&quot;,schema:{subplots:{xaxis:{rangeslider:t(&quot;./attributes&quot;)}}},layoutAttributes:t(&quot;./attributes&quot;),handleDefaults:t(&quot;./defaults&quot;),calcAutorange:t(&quot;./calc_autorange&quot;),draw:t(&quot;./draw&quot;)}},{&quot;./attributes&quot;:690,&quot;./calc_autorange&quot;:691,&quot;./defaults&quot;:693,&quot;./draw&quot;:694}],696:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../annotations/attributes&quot;),i=t(&quot;../../traces/scatter/attributes&quot;).line,a=t(&quot;../drawing/attributes&quot;).dash,o=t(&quot;../../lib/extend&quot;).extendFlat;e.exports={_isLinkedToArray:&quot;shape&quot;,visible:{valType:&quot;boolean&quot;,dflt:!0,editType:&quot;calcIfAutorange&quot;},type:{valType:&quot;enumerated&quot;,values:[&quot;circle&quot;,&quot;rect&quot;,&quot;path&quot;,&quot;line&quot;],editType:&quot;calcIfAutorange&quot;},layer:{valType:&quot;enumerated&quot;,values:[&quot;below&quot;,&quot;above&quot;],dflt:&quot;above&quot;,editType:&quot;arraydraw&quot;},xref:o({},n.xref,{}),x0:{valType:&quot;any&quot;,editType:&quot;calcIfAutorange&quot;},x1:{valType:&quot;any&quot;,editType:&quot;calcIfAutorange&quot;},yref:o({},n.yref,{}),y0:{valType:&quot;any&quot;,editType:&quot;calcIfAutorange&quot;},y1:{valType:&quot;any&quot;,editType:&quot;calcIfAutorange&quot;},path:{valType:&quot;string&quot;,editType:&quot;calcIfAutorange&quot;},opacity:{valType:&quot;number&quot;,min:0,max:1,dflt:1,editType:&quot;arraydraw&quot;},line:{color:o({},i.color,{editType:&quot;arraydraw&quot;}),width:o({},i.width,{editType:&quot;calcIfAutorange&quot;}),dash:o({},a,{editType:&quot;arraydraw&quot;}),editType:&quot;calcIfAutorange&quot;},fillcolor:{valType:&quot;color&quot;,dflt:&quot;rgba(0,0,0,0)&quot;,editType:&quot;arraydraw&quot;},editType:&quot;arraydraw&quot;}},{&quot;../../lib/extend&quot;:732,&quot;../../traces/scatter/attributes&quot;:1066,&quot;../annotations/attributes&quot;:601,&quot;../drawing/attributes&quot;:642}],697:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,n,i){var a=&quot;category&quot;===t.type?t.r2c:t.d2c;if(void 0!==e)return[a(e),a(r)];if(n){var l,c,u,f,h=1/0,d=-1/0,p=n.match(o.segmentRE);for(&quot;date&quot;===t.type&amp;&amp;(a=s.decodeDate(a)),l=0;l&lt;p.length;l++)void 0!==(c=i[p[l].charAt(0)].drawn)&amp;&amp;(!(u=p[l].substr(1).match(o.paramRE))||u.length&lt;c||((f=a(u[c]))&lt;h&amp;&amp;(h=f),f&gt;d&amp;&amp;(d=f)));return d&gt;=h?[h,d]:void 0}}var i=t(&quot;../../lib&quot;),a=t(&quot;../../plots/cartesian/axes&quot;),o=t(&quot;./constants&quot;),s=t(&quot;./helpers&quot;);e.exports=function(t){var e=t._fullLayout,r=i.filterVisible(e.shapes);if(r.length&amp;&amp;t._fullData.length)for(var s=0;s&lt;r.length;s++){var l,c,u=r[s],f=u.line.width/2;&quot;paper&quot;!==u.xref&amp;&amp;(c=n(l=a.getFromId(t,u.xref),u.x0,u.x1,u.path,o.paramIsX))&amp;&amp;a.expand(l,c,{ppad:f}),&quot;paper&quot;!==u.yref&amp;&amp;(c=n(l=a.getFromId(t,u.yref),u.y0,u.y1,u.path,o.paramIsY))&amp;&amp;a.expand(l,c,{ppad:f})}}},{&quot;../../lib&quot;:743,&quot;../../plots/cartesian/axes&quot;:789,&quot;./constants&quot;:698,&quot;./helpers&quot;:701}],698:[function(t,e,r){&quot;use strict&quot;;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}}},{}],699:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../plots/array_container_defaults&quot;),i=t(&quot;./shape_defaults&quot;);e.exports=function(t,e){n(t,e,{name:&quot;shapes&quot;,handleItemDefaults:i})}},{&quot;../../plots/array_container_defaults&quot;:786,&quot;./shape_defaults&quot;:703}],700:[function(t,e,r){&quot;use strict&quot;;function n(t,e){function r(r){var n={&quot;data-index&quot;:e,&quot;fill-rule&quot;:&quot;evenodd&quot;,d:i(t,s)},d=s.line.width?s.line.color:&quot;rgba(0,0,0,0)&quot;,m=r.append(&quot;path&quot;).attr(n).style(&quot;opacity&quot;,s.opacity).call(c.stroke,d).call(c.fill,s.fillcolor).call(u.dashLine,s.line.dash,s.line.width),g=(s.xref+s.yref).replace(/paper/g,&quot;&quot;);m.call(u.setClipUrl,g?&quot;clip&quot;+t._fullLayout._uid+g:null),t._context.edits.shapePosition&amp;&amp;function(t,e,r,n){function s(t){var r=G.right-G.left,n=G.bottom-G.top,i=t.clientX-G.left,a=t.clientY-G.top,o=r&gt;V&amp;&amp;n&gt;q&amp;&amp;!t.shiftKey?f.getCursor(i/r,1-a/n):&quot;move&quot;;h(e,o),U=o.split(&quot;-&quot;)[0]}var c,u,d,m,g,v,y,x,b,_,w,M,k,A,T,S,E,L,C,z,D,I,P,O,F,R,N,j,B,U,V=10,q=10,H={element:e.node(),gd:t,prepFn:function(o){O=l.getFromId(t,r.xref),F=l.getFromId(t,r.yref),R=p.getDataToPixel(t,O),N=p.getDataToPixel(t,F,!0),j=p.getPixelToData(t,O),B=p.getPixelToData(t,F,!0);var f=&quot;shapes[&quot;+n+&quot;]&quot;;&quot;path&quot;===r.type?(I=r.path,P=f+&quot;.path&quot;):(u=R(r.x0),d=N(r.y0),m=R(r.x1),g=N(r.y1),v=f+&quot;.x0&quot;,y=f+&quot;.y0&quot;,x=f+&quot;.x1&quot;,b=f+&quot;.y1&quot;);u&lt;m?(M=u,S=f+&quot;.x0&quot;,z=&quot;x0&quot;,k=m,E=f+&quot;.x1&quot;,D=&quot;x1&quot;):(M=m,S=f+&quot;.x1&quot;,z=&quot;x1&quot;,k=u,E=f+&quot;.x0&quot;,D=&quot;x0&quot;);d&lt;g?(_=d,A=f+&quot;.y0&quot;,L=&quot;y0&quot;,w=g,T=f+&quot;.y1&quot;,C=&quot;y1&quot;):(_=g,A=f+&quot;.y1&quot;,L=&quot;y1&quot;,w=d,T=f+&quot;.y0&quot;,C=&quot;y0&quot;);c={},s(o),H.moveFn=&quot;move&quot;===U?function(n,o){if(&quot;path&quot;===r.type){var s=function(t){return j(R(t)+n)};O&amp;&amp;&quot;date&quot;===O.type&amp;&amp;(s=p.encodeDate(s));var l=function(t){return B(N(t)+o)};F&amp;&amp;&quot;date&quot;===F.type&amp;&amp;(l=p.encodeDate(l)),r.path=a(I,s,l),c[P]=r.path}else c[v]=r.x0=j(u+n),c[y]=r.y0=B(d+o),c[x]=r.x1=j(m+n),c[b]=r.y1=B(g+o);e.attr(&quot;d&quot;,i(t,r))}:function(n,o){if(&quot;path&quot;===r.type){var s=function(t){return j(R(t)+n)};O&amp;&amp;&quot;date&quot;===O.type&amp;&amp;(s=p.encodeDate(s));var l=function(t){return B(N(t)+o)};F&amp;&amp;&quot;date&quot;===F.type&amp;&amp;(l=p.encodeDate(l)),r.path=a(I,s,l),c[P]=r.path}else{var u=~U.indexOf(&quot;n&quot;)?_+o:_,f=~U.indexOf(&quot;s&quot;)?w+o:w,h=~U.indexOf(&quot;w&quot;)?M+n:M,d=~U.indexOf(&quot;e&quot;)?k+n:k;f-u&gt;q&amp;&amp;(c[A]=r[L]=B(u),c[T]=r[C]=B(f)),d-h&gt;V&amp;&amp;(c[S]=r[z]=j(h),c[E]=r[D]=j(d))}e.attr(&quot;d&quot;,i(t,r))}},doneFn:function(){h(e),o.relayout(t,c)}},G=H.element.getBoundingClientRect();f.init(H),e.node().onmousemove=s}(t,m,s,e)}t._fullLayout._paperdiv.selectAll('.shapelayer [data-index=&quot;'+e+'&quot;]').remove();var n=(t.layout.shapes||[])[e],s=t._fullLayout.shapes[e];if(n&amp;&amp;!1!==s.visible)if(&quot;below&quot;!==s.layer)r(t._fullLayout._shapeUpperLayer);else if(&quot;paper&quot;===s.xref||&quot;paper&quot;===s.yref)r(t._fullLayout._shapeLowerLayer);else{var d=t._fullLayout._plots[s.xref+s.yref];if(d){r((d.mainplotinfo||d).shapelayer)}else r(t._fullLayout._shapeLowerLayer)}}function i(t,e){var r,n,i,a,o=e.type,c=l.getFromId(t,e.xref),u=l.getFromId(t,e.yref),f=t._fullLayout._size;if(c?(r=p.shapePositionToRange(c),n=function(t){return c._offset+c.r2p(r(t,!0))}):n=function(t){return f.l+f.w*t},u?(i=p.shapePositionToRange(u),a=function(t){return u._offset+u.r2p(i(t,!0))}):a=function(t){return f.t+f.h*(1-t)},&quot;path&quot;===o)return c&amp;&amp;&quot;date&quot;===c.type&amp;&amp;(n=p.decodeDate(n)),u&amp;&amp;&quot;date&quot;===u.type&amp;&amp;(a=p.decodeDate(a)),function(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],l=d.numParams[i],c=t.substr(1).replace(d.paramRE,function(t){return a[n]?t=e(t):o[n]&amp;&amp;(t=r(t)),++n&gt;l&amp;&amp;(t=&quot;X&quot;),t});return n&gt;l&amp;&amp;(c=c.replace(/[\s,]*X.*/,&quot;&quot;),s.log(&quot;Ignoring extra params in segment &quot;+t)),i+c})}(e.path,n,a);var h=n(e.x0),m=n(e.x1),g=a(e.y0),v=a(e.y1);if(&quot;line&quot;===o)return&quot;M&quot;+h+&quot;,&quot;+g+&quot;L&quot;+m+&quot;,&quot;+v;if(&quot;rect&quot;===o)return&quot;M&quot;+h+&quot;,&quot;+g+&quot;H&quot;+m+&quot;V&quot;+v+&quot;H&quot;+h+&quot;Z&quot;;var y=(h+m)/2,x=(g+v)/2,b=Math.abs(y-h),_=Math.abs(x-g),w=&quot;A&quot;+b+&quot;,&quot;+_,M=y+b+&quot;,&quot;+x;return&quot;M&quot;+M+w+&quot; 0 1,1 &quot;+(y+&quot;,&quot;+(x-_))+w+&quot; 0 0,1 &quot;+M+&quot;Z&quot;}function a(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&gt;=s?t:(a[n]?t=e(t):o[n]&amp;&amp;(t=r(t)),n++,t)})})}var o=t(&quot;../../plotly&quot;),s=t(&quot;../../lib&quot;),l=t(&quot;../../plots/cartesian/axes&quot;),c=t(&quot;../color&quot;),u=t(&quot;../drawing&quot;),f=t(&quot;../dragelement&quot;),h=t(&quot;../../lib/setcursor&quot;),d=t(&quot;./constants&quot;),p=t(&quot;./helpers&quot;);e.exports={draw:function(t){var e=t._fullLayout;e._shapeUpperLayer.selectAll(&quot;path&quot;).remove(),e._shapeLowerLayer.selectAll(&quot;path&quot;).remove(),e._shapeSubplotLayers.selectAll(&quot;path&quot;).remove();for(var r=0;r&lt;e.shapes.length;r++)e.shapes[r].visible&amp;&amp;n(t,r)},drawOne:n}},{&quot;../../lib&quot;:743,&quot;../../lib/setcursor&quot;:762,&quot;../../plotly&quot;:784,&quot;../../plots/cartesian/axes&quot;:789,&quot;../color&quot;:618,&quot;../dragelement&quot;:640,&quot;../drawing&quot;:643,&quot;./constants&quot;:698,&quot;./helpers&quot;:701}],701:[function(t,e,r){&quot;use strict&quot;;r.rangeToShapePosition=function(t){return&quot;log&quot;===t.type?t.r2d:function(t){return t}},r.shapePositionToRange=function(t){return&quot;log&quot;===t.type?t.d2r:function(t){return t}},r.decodeDate=function(t){return function(e){return e.replace&amp;&amp;(e=e.replace(&quot;_&quot;,&quot; &quot;)),t(e)}},r.encodeDate=function(t){return function(e){return t(e).replace(&quot; &quot;,&quot;_&quot;)}},r.getDataToPixel=function(t,e,n){var i,a=t._fullLayout._size;if(e){var o=r.shapePositionToRange(e);i=function(t){return e._offset+e.r2p(o(t,!0))},&quot;date&quot;===e.type&amp;&amp;(i=r.decodeDate(i))}else i=n?function(t){return a.t+a.h*(1-t)}:function(t){return a.l+a.w*t};return i},r.getPixelToData=function(t,e,n){var i,a=t._fullLayout._size;if(e){var o=r.rangeToShapePosition(e);i=function(t){return o(e.p2r(t-e._offset))}}else i=n?function(t){return 1-(t-a.t)/a.h}:function(t){return(t-a.l)/a.w};return i}},{}],702:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;./draw&quot;);e.exports={moduleType:&quot;component&quot;,name:&quot;shapes&quot;,layoutAttributes:t(&quot;./attributes&quot;),supplyLayoutDefaults:t(&quot;./defaults&quot;),includeBasePlot:t(&quot;../../plots/cartesian/include_components&quot;)(&quot;shapes&quot;),calcAutorange:t(&quot;./calc_autorange&quot;),draw:n.draw,drawOne:n.drawOne}},{&quot;../../plots/cartesian/include_components&quot;:799,&quot;./attributes&quot;:696,&quot;./calc_autorange&quot;:697,&quot;./defaults&quot;:699,&quot;./draw&quot;:700}],703:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib&quot;),i=t(&quot;../../plots/cartesian/axes&quot;),a=t(&quot;./attributes&quot;),o=t(&quot;./helpers&quot;);e.exports=function(t,e,r,s,l){function c(r,i){return n.coerce(t,e,a,r,i)}s=s||{};if(!c(&quot;visible&quot;,!(l=l||{}).itemIsNotPlainObject))return e;c(&quot;layer&quot;),c(&quot;opacity&quot;),c(&quot;fillcolor&quot;),c(&quot;line.color&quot;),c(&quot;line.width&quot;),c(&quot;line.dash&quot;);for(var u=c(&quot;type&quot;,t.path?&quot;path&quot;:&quot;rect&quot;),f=[&quot;x&quot;,&quot;y&quot;],h=0;h&lt;2;h++){var d=f[h],p={_fullLayout:r},m=i.coerceRef(t,e,p,d,&quot;&quot;,&quot;paper&quot;);if(&quot;path&quot;!==u){var g,v,y;&quot;paper&quot;!==m?(g=i.getFromId(p,m),y=o.rangeToShapePosition(g),v=o.shapePositionToRange(g)):v=y=n.identity;var x=d+&quot;0&quot;,b=d+&quot;1&quot;,_=t[x],w=t[b];t[x]=v(t[x],!0),t[b]=v(t[b],!0),i.coercePosition(e,p,c,m,x,.25),i.coercePosition(e,p,c,m,b,.75),e[x]=y(e[x]),e[b]=y(e[b]),t[x]=_,t[b]=w}}return&quot;path&quot;===u?c(&quot;path&quot;):n.noneOrAll(t,e,[&quot;x0&quot;,&quot;x1&quot;,&quot;y0&quot;,&quot;y1&quot;]),e}},{&quot;../../lib&quot;:743,&quot;../../plots/cartesian/axes&quot;:789,&quot;./attributes&quot;:696,&quot;./helpers&quot;:701}],704:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../plots/font_attributes&quot;),i=t(&quot;../../plots/pad_attributes&quot;),a=t(&quot;../../lib/extend&quot;).extendDeepAll,o=t(&quot;../../plot_api/edit_types&quot;).overrideAll,s=t(&quot;../../plots/animation_attributes&quot;),l=t(&quot;./constants&quot;);e.exports=o({_isLinkedToArray:&quot;slider&quot;,visible:{valType:&quot;boolean&quot;,dflt:!0},active:{valType:&quot;number&quot;,min:0,dflt:0},steps:{_isLinkedToArray:&quot;step&quot;,method:{valType:&quot;enumerated&quot;,values:[&quot;restyle&quot;,&quot;relayout&quot;,&quot;animate&quot;,&quot;update&quot;,&quot;skip&quot;],dflt:&quot;restyle&quot;},args:{valType:&quot;info_array&quot;,freeLength:!0,items:[{valType:&quot;any&quot;},{valType:&quot;any&quot;},{valType:&quot;any&quot;}]},label:{valType:&quot;string&quot;},value:{valType:&quot;string&quot;},execute:{valType:&quot;boolean&quot;,dflt:!0}},lenmode:{valType:&quot;enumerated&quot;,values:[&quot;fraction&quot;,&quot;pixels&quot;],dflt:&quot;fraction&quot;},len:{valType:&quot;number&quot;,min:0,dflt:1},x:{valType:&quot;number&quot;,min:-2,max:3,dflt:0},pad:a({},i,{},{t:{dflt:20}}),xanchor:{valType:&quot;enumerated&quot;,values:[&quot;auto&quot;,&quot;left&quot;,&quot;center&quot;,&quot;right&quot;],dflt:&quot;left&quot;},y:{valType:&quot;number&quot;,min:-2,max:3,dflt:0},yanchor:{valType:&quot;enumerated&quot;,values:[&quot;auto&quot;,&quot;top&quot;,&quot;middle&quot;,&quot;bottom&quot;],dflt:&quot;top&quot;},transition:{duration:{valType:&quot;number&quot;,min:0,dflt:150},easing:{valType:&quot;enumerated&quot;,values:s.transition.easing.values,dflt:&quot;cubic-in-out&quot;}},currentvalue:{visible:{valType:&quot;boolean&quot;,dflt:!0},xanchor:{valType:&quot;enumerated&quot;,values:[&quot;left&quot;,&quot;center&quot;,&quot;right&quot;],dflt:&quot;left&quot;},offset:{valType:&quot;number&quot;,dflt:10},prefix:{valType:&quot;string&quot;},suffix:{valType:&quot;string&quot;},font:n({})},font:n({}),activebgcolor:{valType:&quot;color&quot;,dflt:l.gripBgActiveColor},bgcolor:{valType:&quot;color&quot;,dflt:l.railBgColor},bordercolor:{valType:&quot;color&quot;,dflt:l.railBorderColor},borderwidth:{valType:&quot;number&quot;,min:0,dflt:l.railBorderWidth},ticklen:{valType:&quot;number&quot;,min:0,dflt:l.tickLength},tickcolor:{valType:&quot;color&quot;,dflt:l.tickColor},tickwidth:{valType:&quot;number&quot;,min:0,dflt:1},minorticklen:{valType:&quot;number&quot;,min:0,dflt:l.minorTickLength}},&quot;arraydraw&quot;,&quot;from-root&quot;)},{&quot;../../lib/extend&quot;:732,&quot;../../plot_api/edit_types&quot;:773,&quot;../../plots/animation_attributes&quot;:785,&quot;../../plots/font_attributes&quot;:816,&quot;../../plots/pad_attributes&quot;:851,&quot;./constants&quot;:705}],705:[function(t,e,r){&quot;use strict&quot;;e.exports={name:&quot;sliders&quot;,containerClassName:&quot;slider-container&quot;,groupClassName:&quot;slider-group&quot;,inputAreaClass:&quot;slider-input-area&quot;,railRectClass:&quot;slider-rail-rect&quot;,railTouchRectClass:&quot;slider-rail-touch-rect&quot;,gripRectClass:&quot;slider-grip-rect&quot;,tickRectClass:&quot;slider-tick-rect&quot;,inputProxyClass:&quot;slider-input-proxy&quot;,labelsClass:&quot;slider-labels&quot;,labelGroupClass:&quot;slider-label-group&quot;,labelClass:&quot;slider-label&quot;,currentValueClass:&quot;slider-current-value&quot;,railHeight:5,menuIndexAttrName:&quot;slider-active-index&quot;,autoMarginIdRoot:&quot;slider-&quot;,minWidth:30,minHeight:30,textPadX:40,arrowOffsetX:4,railRadius:2,railWidth:5,railBorder:4,railBorderWidth:1,railBorderColor:&quot;#bec8d9&quot;,railBgColor:&quot;#f8fafc&quot;,railInset:8,stepInset:10,gripRadius:10,gripWidth:20,gripHeight:20,gripBorder:20,gripBorderWidth:1,gripBorderColor:&quot;#bec8d9&quot;,gripBgColor:&quot;#f6f8fa&quot;,gripBgActiveColor:&quot;#dbdde0&quot;,labelPadding:8,labelOffset:0,tickWidth:1,tickColor:&quot;#333&quot;,tickOffset:25,tickLength:7,minorTickOffset:25,minorTickColor:&quot;#333&quot;,minorTickLength:4,currentValuePadding:8,currentValueInset:0}},{}],706:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r){function n(r,n){return i.coerce(t,e,o,r,n)}if(n(&quot;visible&quot;,function(t,e){function r(t,e){return i.coerce(n,a,l,t,e)}var n,a,o=t.steps||[],s=e.steps=[];for(var c=0;c&lt;o.length;c++)n=o[c],a={},r(&quot;method&quot;),i.isPlainObject(n)&amp;&amp;(&quot;skip&quot;===a.method||Array.isArray(n.args))&amp;&amp;(r(&quot;args&quot;),r(&quot;label&quot;,&quot;step-&quot;+c),r(&quot;value&quot;,a.label),r(&quot;execute&quot;),s.push(a));return s}(t,e).length&gt;0)){n(&quot;active&quot;),n(&quot;x&quot;),n(&quot;y&quot;),i.noneOrAll(t,e,[&quot;x&quot;,&quot;y&quot;]),n(&quot;xanchor&quot;),n(&quot;yanchor&quot;),n(&quot;len&quot;),n(&quot;lenmode&quot;),n(&quot;pad.t&quot;),n(&quot;pad.r&quot;),n(&quot;pad.b&quot;),n(&quot;pad.l&quot;),i.coerceFont(n,&quot;font&quot;,r.font);n(&quot;currentvalue.visible&quot;)&amp;&amp;(n(&quot;currentvalue.xanchor&quot;),n(&quot;currentvalue.prefix&quot;),n(&quot;currentvalue.suffix&quot;),n(&quot;currentvalue.offset&quot;),i.coerceFont(n,&quot;currentvalue.font&quot;,e.font)),n(&quot;transition.duration&quot;),n(&quot;transition.easing&quot;),n(&quot;bgcolor&quot;),n(&quot;activebgcolor&quot;),n(&quot;bordercolor&quot;),n(&quot;borderwidth&quot;),n(&quot;ticklen&quot;),n(&quot;tickwidth&quot;),n(&quot;tickcolor&quot;),n(&quot;minorticklen&quot;)}}var i=t(&quot;../../lib&quot;),a=t(&quot;../../plots/array_container_defaults&quot;),o=t(&quot;./attributes&quot;),s=t(&quot;./constants&quot;).name,l=o.steps;e.exports=function(t,e){a(t,e,{name:s,handleItemDefaults:n})}},{&quot;../../lib&quot;:743,&quot;../../plots/array_container_defaults&quot;:786,&quot;./attributes&quot;:704,&quot;./constants&quot;:705}],707:[function(t,e,r){&quot;use strict&quot;;function n(t){return t._index}function i(t,e,r){if(e.currentvalue.visible){var n,i,a=t.selectAll(&quot;text&quot;).data([0]);switch(e.currentvalue.xanchor){case&quot;right&quot;:n=e.inputAreaLength-M.currentValueInset-e.currentValueMaxWidth,i=&quot;left&quot;;break;case&quot;center&quot;:n=.5*e.inputAreaLength,i=&quot;middle&quot;;break;default:n=M.currentValueInset,i=&quot;left&quot;}a.enter().append(&quot;text&quot;).classed(M.labelClass,!0).classed(&quot;user-select-none&quot;,!0).attr({&quot;text-anchor&quot;:i,&quot;data-notex&quot;:1});var o=e.currentvalue.prefix?e.currentvalue.prefix:&quot;&quot;;if(&quot;string&quot;==typeof r)o+=r;else{o+=e.steps[e.active].label}e.currentvalue.suffix&amp;&amp;(o+=e.currentvalue.suffix),a.call(b.font,e.currentvalue.font).text(o).call(_.convertToTspans,e.gd);var s=_.lineCount(a),l=(e.currentValueMaxLines+1-s)*e.currentvalue.font.size*k;return _.positionText(a,n,l),a}}function a(t,e,r){var n=t.selectAll(&quot;rect.&quot;+M.gripRectClass).data([0]);n.enter().append(&quot;rect&quot;).classed(M.gripRectClass,!0).call(u,e,t,r).style(&quot;pointer-events&quot;,&quot;all&quot;),n.attr({width:M.gripWidth,height:M.gripHeight,rx:M.gripRadius,ry:M.gripRadius}).call(x.stroke,r.bordercolor).call(x.fill,r.bgcolor).style(&quot;stroke-width&quot;,r.borderwidth+&quot;px&quot;)}function o(t,e,r){var n=t.selectAll(&quot;text&quot;).data([0]);return n.enter().append(&quot;text&quot;).classed(M.labelClass,!0).classed(&quot;user-select-none&quot;,!0).attr({&quot;text-anchor&quot;:&quot;middle&quot;,&quot;data-notex&quot;:1}),n.call(b.font,r.font).text(e.step.label).call(_.convertToTspans,r.gd),n}function s(t,e){var r=t.selectAll(&quot;g.&quot;+M.labelsClass).data([0]);r.enter().append(&quot;g&quot;).classed(M.labelsClass,!0);var n=r.selectAll(&quot;g.&quot;+M.labelGroupClass).data(e.labelSteps);n.enter().append(&quot;g&quot;).classed(M.labelGroupClass,!0),n.exit().remove(),n.each(function(t){var r=v.select(this);r.call(o,t,e),b.setTranslate(r,d(e,t.fraction),M.tickOffset+e.ticklen+e.font.size*k+M.labelOffset+e.currentValueTotalHeight)})}function l(t,e,r,n,i){var a=Math.round(n*(r.steps.length-1));a!==r.active&amp;&amp;c(t,e,r,a,!0,i)}function c(t,e,r,n,a,o){var s=r.active;r._input.active=r.active=n;var l=r.steps[r.active];e.call(h,r,r.active/(r.steps.length-1),o),e.call(i,r),t.emit(&quot;plotly_sliderchange&quot;,{slider:r,step:r.steps[r.active],interaction:a,previousActive:s}),l&amp;&amp;l.method&amp;&amp;a&amp;&amp;(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&amp;&amp;(r.execute&amp;&amp;y.executeAPICommand(t,r.method,r.args),e._nextMethod=null,e._nextMethodRaf=null)})))}function u(t,e,r){function n(){return r.data()[0]}var i=r.node(),a=v.select(e);t.on(&quot;mousedown&quot;,function(){var t=n();e.emit(&quot;plotly_sliderstart&quot;,{slider:t});var o=r.select(&quot;.&quot;+M.gripRectClass);v.event.stopPropagation(),v.event.preventDefault(),o.call(x.fill,t.activebgcolor);var s=p(t,v.mouse(i)[0]);l(e,r,t,s,!0),t._dragging=!0,a.on(&quot;mousemove&quot;,function(){var t=n(),a=p(t,v.mouse(i)[0]);l(e,r,t,a,!1)}),a.on(&quot;mouseup&quot;,function(){var t=n();t._dragging=!1,o.call(x.fill,t.bgcolor),a.on(&quot;mouseup&quot;,null),a.on(&quot;mousemove&quot;,null),e.emit(&quot;plotly_sliderend&quot;,{slider:t,step:t.steps[t.active]})})})}function f(t,e){var r=t.selectAll(&quot;rect.&quot;+M.tickRectClass).data(e.steps);r.enter().append(&quot;rect&quot;).classed(M.tickRectClass,!0),r.exit().remove(),r.attr({width:e.tickwidth+&quot;px&quot;,&quot;shape-rendering&quot;:&quot;crispEdges&quot;}),r.each(function(t,r){var n=r%e.labelStride==0,i=v.select(this);i.attr({height:n?e.ticklen:e.minorticklen}).call(x.fill,e.tickcolor),b.setTranslate(i,d(e,r/(e.steps.length-1))-.5*e.tickwidth,(n?M.tickOffset:M.minorTickOffset)+e.currentValueTotalHeight)})}function h(t,e,r,n){var i=t.select(&quot;rect.&quot;+M.gripRectClass),a=d(e,r);if(!e._invokingCommand){var o=i;n&amp;&amp;e.transition.duration&gt;0&amp;&amp;(o=o.transition().duration(e.transition.duration).ease(e.transition.easing)),o.attr(&quot;transform&quot;,&quot;translate(&quot;+(a-.5*M.gripWidth)+&quot;,&quot;+e.currentValueTotalHeight+&quot;)&quot;)}}function d(t,e){return t.inputAreaStart+M.stepInset+(t.inputAreaLength-2*M.stepInset)*Math.min(1,Math.max(0,e))}function p(t,e){return Math.min(1,Math.max(0,(e-M.stepInset-t.inputAreaStart)/(t.inputAreaLength-2*M.stepInset-2*t.inputAreaStart)))}function m(t,e,r){var n=t.selectAll(&quot;rect.&quot;+M.railTouchRectClass).data([0]);n.enter().append(&quot;rect&quot;).classed(M.railTouchRectClass,!0).call(u,e,t,r).style(&quot;pointer-events&quot;,&quot;all&quot;),n.attr({width:r.inputAreaLength,height:Math.max(r.inputAreaWidth,M.tickOffset+r.ticklen+r.labelHeight)}).call(x.fill,r.bgcolor).attr(&quot;opacity&quot;,0),b.setTranslate(n,0,r.currentValueTotalHeight)}function g(t,e){var r=t.selectAll(&quot;rect.&quot;+M.railRectClass).data([0]);r.enter().append(&quot;rect&quot;).classed(M.railRectClass,!0);var n=e.inputAreaLength-2*M.railInset;r.attr({width:n,height:M.railWidth,rx:M.railRadius,ry:M.railRadius,&quot;shape-rendering&quot;:&quot;crispEdges&quot;}).call(x.stroke,e.bordercolor).call(x.fill,e.bgcolor).style(&quot;stroke-width&quot;,e.borderwidth+&quot;px&quot;),b.setTranslate(r,M.railInset,.5*(e.inputAreaWidth-M.railWidth)+e.currentValueTotalHeight)}var v=t(&quot;d3&quot;),y=t(&quot;../../plots/plots&quot;),x=t(&quot;../color&quot;),b=t(&quot;../drawing&quot;),_=t(&quot;../../lib/svg_text_utils&quot;),w=t(&quot;../legend/anchor_utils&quot;),M=t(&quot;./constants&quot;),k=t(&quot;../../constants/alignment&quot;).LINE_SPACING;e.exports=function(t){var e=t._fullLayout,r=function(t,e){for(var r=t[M.name],n=[],i=0;i&lt;r.length;i++){var a=r[i];a.visible&amp;&amp;a.steps.length&amp;&amp;(a.gd=e,n.push(a))}return n}(e,t),l=e._infolayer.selectAll(&quot;g.&quot;+M.containerClassName).data(r.length&gt;0?[0]:[]);if(l.enter().append(&quot;g&quot;).classed(M.containerClassName,!0).style(&quot;cursor&quot;,&quot;ew-resize&quot;),l.exit().remove(),l.exit().size()&amp;&amp;function(t){for(var e=t._fullLayout._pushmargin||{},r=Object.keys(e),n=0;n&lt;r.length;n++){var i=r[n];-1!==i.indexOf(M.autoMarginIdRoot)&amp;&amp;y.autoMargin(t,i)}}(t),0!==r.length){var u=l.selectAll(&quot;g.&quot;+M.groupClassName).data(r,n);u.enter().append(&quot;g&quot;).classed(M.groupClassName,!0),u.exit().each(function(e){v.select(this).remove(),e._commandObserver.remove(),delete e._commandObserver,y.autoMargin(t,M.autoMarginIdRoot+e._index)});for(var d=0;d&lt;r.length;d++){var p=r[d];!function(t,e){var r=b.tester.selectAll(&quot;g.&quot;+M.labelGroupClass).data(e.steps);r.enter().append(&quot;g&quot;).classed(M.labelGroupClass,!0);var n=0,a=0;r.each(function(t){var r=o(v.select(this),{step:t},e).node();if(r){var i=b.bBox(r);a=Math.max(a,i.height),n=Math.max(n,i.width)}}),r.remove(),e.inputAreaWidth=Math.max(M.railWidth,M.gripHeight);var s=t._fullLayout._size;e.lx=s.l+s.w*e.x,e.ly=s.t+s.h*(1-e.y),&quot;fraction&quot;===e.lenmode?e.outerLength=Math.round(s.w*e.len):e.outerLength=e.len,e.lenPad=Math.round(.5*M.gripWidth),e.inputAreaStart=0,e.inputAreaLength=Math.round(e.outerLength-e.pad.l-e.pad.r);var l=(e.inputAreaLength-2*M.stepInset)/(e.steps.length-1),c=n+M.labelPadding;if(e.labelStride=Math.max(1,Math.ceil(c/l)),e.labelHeight=a,e.currentValueMaxWidth=0,e.currentValueHeight=0,e.currentValueTotalHeight=0,e.currentValueMaxLines=1,e.currentvalue.visible){var u=b.tester.append(&quot;g&quot;);r.each(function(t){var r=i(u,e,t.label),n=r.node()&amp;&amp;b.bBox(r.node())||{width:0,height:0},a=_.lineCount(r);e.currentValueMaxWidth=Math.max(e.currentValueMaxWidth,Math.ceil(n.width)),e.currentValueHeight=Math.max(e.currentValueHeight,Math.ceil(n.height)),e.currentValueMaxLines=Math.max(e.currentValueMaxLines,a)}),e.currentValueTotalHeight=e.currentValueHeight+e.currentvalue.offset,u.remove()}e.height=e.currentValueTotalHeight+M.tickOffset+e.ticklen+M.labelOffset+e.labelHeight+e.pad.t+e.pad.b;var f=&quot;left&quot;;w.isRightAnchor(e)&amp;&amp;(e.lx-=e.outerLength,f=&quot;right&quot;),w.isCenterAnchor(e)&amp;&amp;(e.lx-=e.outerLength/2,f=&quot;center&quot;);var h=&quot;top&quot;;w.isBottomAnchor(e)&amp;&amp;(e.ly-=e.height,h=&quot;bottom&quot;),w.isMiddleAnchor(e)&amp;&amp;(e.ly-=e.height/2,h=&quot;middle&quot;),e.outerLength=Math.ceil(e.outerLength),e.height=Math.ceil(e.height),e.lx=Math.round(e.lx),e.ly=Math.round(e.ly),y.autoMargin(t,M.autoMarginIdRoot+e._index,{x:e.x,y:e.y,l:e.outerLength*({right:1,center:.5}[f]||0),r:e.outerLength*({left:1,center:.5}[f]||0),b:e.height*({top:1,middle:.5}[h]||0),t:e.height*({bottom:1,middle:.5}[h]||0)})}(t,p)}u.each(function(e){if(!(e.steps.length&lt;2)){var r=v.select(this);!function(t){t.labelSteps=[];for(var e=t.steps.length,r=0;r&lt;e;r+=t.labelStride)t.labelSteps.push({fraction:r/(e-1),step:t.steps[r]})}(e),y.manageCommandObserver(t,e,e.steps,function(e){var n=r.data()[0];n.active!==e.index&amp;&amp;(n._dragging||c(t,r,n,e.index,!1,!0))}),function(t,e,r){r.active&gt;=r.steps.length&amp;&amp;(r.active=0),e.call(i,r).call(g,r).call(s,r).call(f,r).call(m,t,r).call(a,t,r),b.setTranslate(e,r.lx+r.pad.l,r.ly+r.pad.t),e.call(h,r,r.active/(r.steps.length-1),!1),e.call(i,r)}(t,v.select(this),e)}})}}},{&quot;../../constants/alignment&quot;:716,&quot;../../lib/svg_text_utils&quot;:766,&quot;../../plots/plots&quot;:852,&quot;../color&quot;:618,&quot;../drawing&quot;:643,&quot;../legend/anchor_utils&quot;:669,&quot;./constants&quot;:705,d3:128}],708:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;./constants&quot;);e.exports={moduleType:&quot;component&quot;,name:n.name,layoutAttributes:t(&quot;./attributes&quot;),supplyLayoutDefaults:t(&quot;./defaults&quot;),draw:t(&quot;./draw&quot;)}},{&quot;./attributes&quot;:704,&quot;./constants&quot;:705,&quot;./defaults&quot;:706,&quot;./draw&quot;:707}],709:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;d3&quot;),i=t(&quot;fast-isnumeric&quot;),a=t(&quot;../../plotly&quot;),o=t(&quot;../../plots/plots&quot;),s=t(&quot;../../lib&quot;),l=t(&quot;../drawing&quot;),c=t(&quot;../color&quot;),u=t(&quot;../../lib/svg_text_utils&quot;),f=t(&quot;../../constants/interactions&quot;),h=/ [XY][0-9]* /;(e.exports={}).draw=function(t,e,r){function d(t){s.syncOrAsync([p,m],t)}function p(e){var r;return M?(r=&quot;&quot;,M.rotate&amp;&amp;(r+=&quot;rotate(&quot;+[M.rotate,w.x,w.y]+&quot;)&quot;),M.offset&amp;&amp;(r+=&quot;translate(0, &quot;+M.offset+&quot;)&quot;)):r=null,e.attr(&quot;transform&quot;,r),e.style({&quot;font-family&quot;:S,&quot;font-size&quot;:n.round(E,2)+&quot;px&quot;,fill:c.rgb(L),opacity:C*c.opacity(L),&quot;font-weight&quot;:o.fontWeight}).attr(w).call(u.convertToTspans,t),o.previousPromises(t)}function m(t){var e=n.select(t.node().parentNode);if(_&amp;&amp;_.selection&amp;&amp;_.side&amp;&amp;D){e.attr(&quot;transform&quot;,null);var r=0,a={left:&quot;right&quot;,right:&quot;left&quot;,top:&quot;bottom&quot;,bottom:&quot;top&quot;}[_.side],o=-1!==[&quot;left&quot;,&quot;top&quot;].indexOf(_.side)?-1:1,c=i(_.pad)?_.pad:2,u=l.bBox(e.node()),f={left:0,top:0,right:A.width,bottom:A.height},h=_.maxShift||(f[_.side]-u[_.side])*(&quot;left&quot;===_.side||&quot;top&quot;===_.side?-1:1);if(h&lt;0)r=h;else{var d=_.offsetLeft||0,p=_.offsetTop||0;u.left-=d,u.right-=d,u.top-=p,u.bottom-=p,_.selection.each(function(){var t=l.bBox(this);s.bBoxIntersect(u,t,c)&amp;&amp;(r=Math.max(r,o*(t[_.side]-u[a])+c))}),r=Math.min(h,r)}if(r&gt;0||h&lt;0){var m={left:[-r,0],right:[r,0],top:[0,-r],bottom:[0,r]}[_.side];e.attr(&quot;transform&quot;,&quot;translate(&quot;+m+&quot;)&quot;)}}}var g,v=r.propContainer,y=r.propName,x=r.placeholder,b=r.traceIndex,_=r.avoid||{},w=r.attributes,M=r.transform,k=r.containerGroup,A=t._fullLayout,T=v.titlefont||{},S=T.family,E=T.size,L=T.color,C=1,z=!1,D=(v.title||&quot;&quot;).trim();&quot;title&quot;===y?g=&quot;titleText&quot;:-1!==y.indexOf(&quot;axis&quot;)?g=&quot;axisTitleText&quot;:y.indexOf(!0)&amp;&amp;(g=&quot;colorbarTitleText&quot;);var I=t._context.edits[g];&quot;&quot;===D?C=0:D.replace(h,&quot; % &quot;)===x.replace(h,&quot; % &quot;)&amp;&amp;(C=.2,z=!0,I||(D=&quot;&quot;));var P=D||I;k||(k=A._infolayer.selectAll(&quot;.g-&quot;+e).data([0])).enter().append(&quot;g&quot;).classed(&quot;g-&quot;+e,!0);var O=k.selectAll(&quot;text&quot;).data(P?[0]:[]);return O.enter().append(&quot;text&quot;),O.text(D).attr(&quot;class&quot;,e),O.exit().remove(),P?(O.call(d),I&amp;&amp;(D?O.on(&quot;.opacity&quot;,null):(C=0,z=!0,O.text(x).on(&quot;mouseover.opacity&quot;,function(){n.select(this).transition().duration(f.SHOW_PLACEHOLDER).style(&quot;opacity&quot;,1)}).on(&quot;mouseout.opacity&quot;,function(){n.select(this).transition().duration(f.HIDE_PLACEHOLDER).style(&quot;opacity&quot;,0)})),O.call(u.makeEditable,{gd:t}).on(&quot;edit&quot;,function(e){void 0!==b?a.restyle(t,y,e,b):a.relayout(t,y,e)}).on(&quot;cancel&quot;,function(){this.text(this.attr(&quot;data-unformatted&quot;)).call(d)}).on(&quot;input&quot;,function(t){this.text(t||&quot; &quot;).call(u.positionText,w.x,w.y)})),O.classed(&quot;js-placeholder&quot;,z),k):k}},{&quot;../../constants/interactions&quot;:720,&quot;../../lib&quot;:743,&quot;../../lib/svg_text_utils&quot;:766,&quot;../../plotly&quot;:784,&quot;../../plots/plots&quot;:852,&quot;../color&quot;:618,&quot;../drawing&quot;:643,d3:128,&quot;fast-isnumeric&quot;:140}],710:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../plots/font_attributes&quot;),i=t(&quot;../color/attributes&quot;),a=t(&quot;../../lib/extend&quot;).extendFlat,o=t(&quot;../../plot_api/edit_types&quot;).overrideAll,s=t(&quot;../../plots/pad_attributes&quot;);e.exports=o({_isLinkedToArray:&quot;updatemenu&quot;,_arrayAttrRegexps:[/^updatemenus\[(0|[1-9][0-9]+)\]\.buttons/],visible:{valType:&quot;boolean&quot;},type:{valType:&quot;enumerated&quot;,values:[&quot;dropdown&quot;,&quot;buttons&quot;],dflt:&quot;dropdown&quot;},direction:{valType:&quot;enumerated&quot;,values:[&quot;left&quot;,&quot;right&quot;,&quot;up&quot;,&quot;down&quot;],dflt:&quot;down&quot;},active:{valType:&quot;integer&quot;,min:-1,dflt:0},showactive:{valType:&quot;boolean&quot;,dflt:!0},buttons:{_isLinkedToArray:&quot;button&quot;,method:{valType:&quot;enumerated&quot;,values:[&quot;restyle&quot;,&quot;relayout&quot;,&quot;animate&quot;,&quot;update&quot;,&quot;skip&quot;],dflt:&quot;restyle&quot;},args:{valType:&quot;info_array&quot;,freeLength:!0,items:[{valType:&quot;any&quot;},{valType:&quot;any&quot;},{valType:&quot;any&quot;}]},label:{valType:&quot;string&quot;,dflt:&quot;&quot;},execute:{valType:&quot;boolean&quot;,dflt:!0}},x:{valType:&quot;number&quot;,min:-2,max:3,dflt:-.05},xanchor:{valType:&quot;enumerated&quot;,values:[&quot;auto&quot;,&quot;left&quot;,&quot;center&quot;,&quot;right&quot;],dflt:&quot;right&quot;},y:{valType:&quot;number&quot;,min:-2,max:3,dflt:1},yanchor:{valType:&quot;enumerated&quot;,values:[&quot;auto&quot;,&quot;top&quot;,&quot;middle&quot;,&quot;bottom&quot;],dflt:&quot;top&quot;},pad:a({},s,{}),font:n({}),bgcolor:{valType:&quot;color&quot;},bordercolor:{valType:&quot;color&quot;,dflt:i.borderLine},borderwidth:{valType:&quot;number&quot;,min:0,dflt:1,editType:&quot;arraydraw&quot;}},&quot;arraydraw&quot;,&quot;from-root&quot;)},{&quot;../../lib/extend&quot;:732,&quot;../../plot_api/edit_types&quot;:773,&quot;../../plots/font_attributes&quot;:816,&quot;../../plots/pad_attributes&quot;:851,&quot;../color/attributes&quot;:617}],711:[function(t,e,r){&quot;use strict&quot;;e.exports={name:&quot;updatemenus&quot;,containerClassName:&quot;updatemenu-container&quot;,headerGroupClassName:&quot;updatemenu-header-group&quot;,headerClassName:&quot;updatemenu-header&quot;,headerArrowClassName:&quot;updatemenu-header-arrow&quot;,dropdownButtonGroupClassName:&quot;updatemenu-dropdown-button-group&quot;,dropdownButtonClassName:&quot;updatemenu-dropdown-button&quot;,buttonClassName:&quot;updatemenu-button&quot;,itemRectClassName:&quot;updatemenu-item-rect&quot;,itemTextClassName:&quot;updatemenu-item-text&quot;,menuIndexAttrName:&quot;updatemenu-active-index&quot;,autoMarginIdRoot:&quot;updatemenu-&quot;,blankHeaderOpts:{label:&quot;  &quot;},minWidth:30,minHeight:30,textPadX:24,arrowPadX:16,rx:2,ry:2,textOffsetX:12,textOffsetY:3,arrowOffsetX:4,gapButtonHeader:5,gapButton:2,activeColor:&quot;#F4FAFF&quot;,hoverColor:&quot;#F4FAFF&quot;,arrowSymbol:{left:&quot;\u25c4&quot;,right:&quot;\u25ba&quot;,up:&quot;\u25b2&quot;,down:&quot;\u25bc&quot;}}},{}],712:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r){function n(r,n){return i.coerce(t,e,o,r,n)}n(&quot;visible&quot;,function(t,e){function r(t,e){return i.coerce(n,a,l,t,e)}var n,a,o=t.buttons||[],s=e.buttons=[];for(var c=0;c&lt;o.length;c++)n=o[c],a={},r(&quot;method&quot;),i.isPlainObject(n)&amp;&amp;(&quot;skip&quot;===a.method||Array.isArray(n.args))&amp;&amp;(r(&quot;args&quot;),r(&quot;label&quot;),r(&quot;execute&quot;),a._index=c,s.push(a));return s}(t,e).length&gt;0)&amp;&amp;(n(&quot;active&quot;),n(&quot;direction&quot;),n(&quot;type&quot;),n(&quot;showactive&quot;),n(&quot;x&quot;),n(&quot;y&quot;),i.noneOrAll(t,e,[&quot;x&quot;,&quot;y&quot;]),n(&quot;xanchor&quot;),n(&quot;yanchor&quot;),n(&quot;pad.t&quot;),n(&quot;pad.r&quot;),n(&quot;pad.b&quot;),n(&quot;pad.l&quot;),i.coerceFont(n,&quot;font&quot;,r.font),n(&quot;bgcolor&quot;,r.paper_bgcolor),n(&quot;bordercolor&quot;),n(&quot;borderwidth&quot;))}var i=t(&quot;../../lib&quot;),a=t(&quot;../../plots/array_container_defaults&quot;),o=t(&quot;./attributes&quot;),s=t(&quot;./constants&quot;).name,l=o.buttons;e.exports=function(t,e){a(t,e,{name:s,handleItemDefaults:n})}},{&quot;../../lib&quot;:743,&quot;../../plots/array_container_defaults&quot;:786,&quot;./attributes&quot;:710,&quot;./constants&quot;:711}],713:[function(t,e,r){&quot;use strict&quot;;function n(t){return t._index}function i(t,e){return+t.attr(M.menuIndexAttrName)===e._index}function a(t,e,r,n,i,a,l,c){e._input.active=e.active=l,&quot;buttons&quot;===e.type?s(t,n,null,null,e):&quot;dropdown&quot;===e.type&amp;&amp;(i.attr(M.menuIndexAttrName,&quot;-1&quot;),o(t,n,i,a,e),c||s(t,n,i,a,e))}function o(t,e,r,n,a){var o=e.selectAll(&quot;g.&quot;+M.headerClassName).data([0]);o.enter().append(&quot;g&quot;).classed(M.headerClassName,!0).style(&quot;pointer-events&quot;,&quot;all&quot;);var c=a.active,u=a.buttons[c]||M.blankHeaderOpts,f={y:a.pad.t,yPad:0,x:a.pad.l,xPad:0,index:0},g={width:a.headerWidth,height:a.headerHeight};o.call(l,a,u,t).call(p,a,f,g);var v=e.selectAll(&quot;text.&quot;+M.headerArrowClassName).data([0]);v.enter().append(&quot;text&quot;).classed(M.headerArrowClassName,!0).classed(&quot;user-select-none&quot;,!0).attr(&quot;text-anchor&quot;,&quot;end&quot;).call(x.font,a.font).text(M.arrowSymbol[a.direction]),v.attr({x:a.headerWidth-M.arrowOffsetX+a.pad.l,y:a.headerHeight/2+M.textOffsetY+a.pad.t}),o.on(&quot;click&quot;,function(){r.call(m),r.attr(M.menuIndexAttrName,i(r,a)?-1:String(a._index)),s(t,e,r,n,a)}),o.on(&quot;mouseover&quot;,function(){o.call(h)}),o.on(&quot;mouseout&quot;,function(){o.call(d,a)}),x.setTranslate(e,a.lx,a.ly)}function s(t,e,r,n,i){r||(r=e).attr(&quot;pointer-events&quot;,&quot;all&quot;);var o=function(t){return-1==+t.attr(M.menuIndexAttrName)}(r)&amp;&amp;&quot;buttons&quot;!==i.type?[]:i.buttons,s=&quot;dropdown&quot;===i.type?M.dropdownButtonClassName:M.buttonClassName,c=r.selectAll(&quot;g.&quot;+s).data(o),u=c.enter().append(&quot;g&quot;).classed(s,!0),m=c.exit();&quot;dropdown&quot;===i.type?(u.attr(&quot;opacity&quot;,&quot;0&quot;).transition().attr(&quot;opacity&quot;,&quot;1&quot;),m.transition().attr(&quot;opacity&quot;,&quot;0&quot;).remove()):m.remove();var y=0,x=0,b=-1!==[&quot;up&quot;,&quot;down&quot;].indexOf(i.direction);&quot;dropdown&quot;===i.type&amp;&amp;(b?x=i.headerHeight+M.gapButtonHeader:y=i.headerWidth+M.gapButtonHeader),&quot;dropdown&quot;===i.type&amp;&amp;&quot;up&quot;===i.direction&amp;&amp;(x=-M.gapButtonHeader+M.gapButton-i.openHeight),&quot;dropdown&quot;===i.type&amp;&amp;&quot;left&quot;===i.direction&amp;&amp;(y=-M.gapButtonHeader+M.gapButton-i.openWidth);var _={x:i.lx+y+i.pad.l,y:i.ly+x+i.pad.t,yPad:M.gapButton,xPad:M.gapButton,index:0},w={l:_.x+i.borderwidth,t:_.y+i.borderwidth};c.each(function(o,s){var u=g.select(this);u.call(l,i,o,t).call(p,i,_),u.on(&quot;click&quot;,function(){g.event.defaultPrevented||(a(t,i,0,e,r,n,s),o.execute&amp;&amp;v.executeAPICommand(t,o.method,o.args),t.emit(&quot;plotly_buttonclicked&quot;,{menu:i,button:o,active:i.active}))}),u.on(&quot;mouseover&quot;,function(){u.call(h)}),u.on(&quot;mouseout&quot;,function(){u.call(d,i),c.call(f,i)})}),c.call(f,i),b?(w.w=Math.max(i.openWidth,i.headerWidth),w.h=_.y-w.t):(w.w=_.x-w.l,w.h=Math.max(i.openHeight,i.headerHeight)),w.direction=i.direction,n&amp;&amp;(c.size()?function(t,e,r,n,i,a){var o,s,l,c=i.direction,u=&quot;up&quot;===c||&quot;down&quot;===c,f=i.active;if(u)for(s=0,l=0;l&lt;f;l++)s+=i.heights[l]+M.gapButton;else for(o=0,l=0;l&lt;f;l++)o+=i.widths[l]+M.gapButton;n.enable(a,o,s),n.hbar&amp;&amp;n.hbar.attr(&quot;opacity&quot;,&quot;0&quot;).transition().attr(&quot;opacity&quot;,&quot;1&quot;);n.vbar&amp;&amp;n.vbar.attr(&quot;opacity&quot;,&quot;0&quot;).transition().attr(&quot;opacity&quot;,&quot;1&quot;)}(0,0,0,n,i,w):function(t){var e=!!t.hbar,r=!!t.vbar;e&amp;&amp;t.hbar.transition().attr(&quot;opacity&quot;,&quot;0&quot;).each(&quot;end&quot;,function(){e=!1,r||t.disable()});r&amp;&amp;t.vbar.transition().attr(&quot;opacity&quot;,&quot;0&quot;).each(&quot;end&quot;,function(){r=!1,e||t.disable()})}(n))}function l(t,e,r,n){t.call(c,e).call(u,e,r,n)}function c(t,e){var r=t.selectAll(&quot;rect&quot;).data([0]);r.enter().append(&quot;rect&quot;).classed(M.itemRectClassName,!0).attr({rx:M.rx,ry:M.ry,&quot;shape-rendering&quot;:&quot;crispEdges&quot;}),r.call(y.stroke,e.bordercolor).call(y.fill,e.bgcolor).style(&quot;stroke-width&quot;,e.borderwidth+&quot;px&quot;)}function u(t,e,r,n){var i=t.selectAll(&quot;text&quot;).data([0]);i.enter().append(&quot;text&quot;).classed(M.itemTextClassName,!0).classed(&quot;user-select-none&quot;,!0).attr({&quot;text-anchor&quot;:&quot;start&quot;,&quot;data-notex&quot;:1}),i.call(x.font,e.font).text(r.label).call(b.convertToTspans,n)}function f(t,e){var r=e.active;t.each(function(t,n){var i=g.select(this);n===r&amp;&amp;e.showactive&amp;&amp;i.select(&quot;rect.&quot;+M.itemRectClassName).call(y.fill,M.activeColor)})}function h(t){t.select(&quot;rect.&quot;+M.itemRectClassName).call(y.fill,M.hoverColor)}function d(t,e){t.select(&quot;rect.&quot;+M.itemRectClassName).call(y.fill,e.bgcolor)}function p(t,e,r,n){n=n||{};var i=t.select(&quot;.&quot;+M.itemRectClassName),a=t.select(&quot;.&quot;+M.itemTextClassName),o=e.borderwidth,s=r.index;x.setTranslate(t,o+r.x,o+r.y);var l=-1!==[&quot;up&quot;,&quot;down&quot;].indexOf(e.direction),c=n.height||(l?e.heights[s]:e.height1);i.attr({x:0,y:0,width:n.width||(l?e.width1:e.widths[s]),height:c});var u=e.font.size*w,f=(b.lineCount(a)-1)*u/2;b.positionText(a,M.textOffsetX,c/2-f+M.textOffsetY),l?r.y+=e.heights[s]+r.yPad:r.x+=e.widths[s]+r.xPad,r.index++}function m(t){t.selectAll(&quot;g.&quot;+M.dropdownButtonClassName).remove()}var g=t(&quot;d3&quot;),v=t(&quot;../../plots/plots&quot;),y=t(&quot;../color&quot;),x=t(&quot;../drawing&quot;),b=t(&quot;../../lib/svg_text_utils&quot;),_=t(&quot;../legend/anchor_utils&quot;),w=t(&quot;../../constants/alignment&quot;).LINE_SPACING,M=t(&quot;./constants&quot;),k=t(&quot;./scrollbox&quot;);e.exports=function(t){var e=t._fullLayout,r=function(t){for(var e=t[M.name],r=[],n=0;n&lt;e.length;n++){var i=e[n];i.visible&amp;&amp;r.push(i)}return r}(e),c=e._menulayer.selectAll(&quot;g.&quot;+M.containerClassName).data(r.length&gt;0?[0]:[]);if(c.enter().append(&quot;g&quot;).classed(M.containerClassName,!0).style(&quot;cursor&quot;,&quot;pointer&quot;),c.exit().remove(),c.exit().size()&amp;&amp;function(t){for(var e=t._fullLayout._pushmargin||{},r=Object.keys(e),n=0;n&lt;r.length;n++){var i=r[n];-1!==i.indexOf(M.autoMarginIdRoot)&amp;&amp;v.autoMargin(t,i)}}(t),0!==r.length){var u=c.selectAll(&quot;g.&quot;+M.headerGroupClassName).data(r,n);u.enter().append(&quot;g&quot;).classed(M.headerGroupClassName,!0);var f=c.selectAll(&quot;g.&quot;+M.dropdownButtonGroupClassName).data([0]);f.enter().append(&quot;g&quot;).classed(M.dropdownButtonGroupClassName,!0).style(&quot;pointer-events&quot;,&quot;all&quot;);for(var h=0;h&lt;r.length;h++){var d=r[h];!function(t,e){e.width1=0,e.height1=0,e.heights=[],e.widths=[],e.totalWidth=0,e.totalHeight=0,e.openWidth=0,e.openHeight=0,e.lx=0,e.ly=0;var r=x.tester.selectAll(&quot;g.&quot;+M.dropdownButtonClassName).data(e.buttons);r.enter().append(&quot;g&quot;).classed(M.dropdownButtonClassName,!0);var n=-1!==[&quot;up&quot;,&quot;down&quot;].indexOf(e.direction);r.each(function(r,i){var a=g.select(this);a.call(l,e,r,t);var o=a.select(&quot;.&quot;+M.itemTextClassName),s=o.node()&amp;&amp;x.bBox(o.node()).width,c=Math.max(s+M.textPadX,M.minWidth),u=e.font.size*w,f=b.lineCount(o),h=Math.max(u*f,M.minHeight)+M.textOffsetY;h=Math.ceil(h),c=Math.ceil(c),e.widths[i]=c,e.heights[i]=h,e.height1=Math.max(e.height1,h),e.width1=Math.max(e.width1,c),n?(e.totalWidth=Math.max(e.totalWidth,c),e.openWidth=e.totalWidth,e.totalHeight+=h+M.gapButton,e.openHeight+=h+M.gapButton):(e.totalWidth+=c+M.gapButton,e.openWidth+=c+M.gapButton,e.totalHeight=Math.max(e.totalHeight,h),e.openHeight=e.totalHeight)}),n?e.totalHeight-=M.gapButton:e.totalWidth-=M.gapButton,e.headerWidth=e.width1+M.arrowPadX,e.headerHeight=e.height1,&quot;dropdown&quot;===e.type&amp;&amp;(n?(e.width1+=M.arrowPadX,e.totalHeight=e.height1):e.totalWidth=e.width1,e.totalWidth+=M.arrowPadX),r.remove();var i=e.totalWidth+e.pad.l+e.pad.r,a=e.totalHeight+e.pad.t+e.pad.b,o=t._fullLayout._size;e.lx=o.l+o.w*e.x,e.ly=o.t+o.h*(1-e.y);var s=&quot;left&quot;;_.isRightAnchor(e)&amp;&amp;(e.lx-=i,s=&quot;right&quot;),_.isCenterAnchor(e)&amp;&amp;(e.lx-=i/2,s=&quot;center&quot;);var c=&quot;top&quot;;_.isBottomAnchor(e)&amp;&amp;(e.ly-=a,c=&quot;bottom&quot;),_.isMiddleAnchor(e)&amp;&amp;(e.ly-=a/2,c=&quot;middle&quot;),e.totalWidth=Math.ceil(e.totalWidth),e.totalHeight=Math.ceil(e.totalHeight),e.lx=Math.round(e.lx),e.ly=Math.round(e.ly),v.autoMargin(t,M.autoMarginIdRoot+e._index,{x:e.x,y:e.y,l:i*({right:1,center:.5}[s]||0),r:i*({left:1,center:.5}[s]||0),b:a*({top:1,middle:.5}[c]||0),t:a*({bottom:1,middle:.5}[c]||0)})}(t,d)}var p=&quot;updatemenus&quot;+e._uid,y=new k(t,f,p);u.enter().size()&amp;&amp;(f.node().parentNode.appendChild(f.node()),f.call(m).attr(M.menuIndexAttrName,&quot;-1&quot;)),u.exit().each(function(e){g.select(this).remove(),f.call(m).attr(M.menuIndexAttrName,&quot;-1&quot;),v.autoMargin(t,M.autoMarginIdRoot+e._index)}),u.each(function(e){var r=g.select(this),n=&quot;dropdown&quot;===e.type?f:null;v.manageCommandObserver(t,e,e.buttons,function(i){a(t,e,e.buttons[i.index],r,n,y,i.index,!0)}),&quot;dropdown&quot;===e.type?(o(t,r,f,y,e),i(f,e)&amp;&amp;s(t,r,f,y,e)):s(t,r,null,null,e)})}}},{&quot;../../constants/alignment&quot;:716,&quot;../../lib/svg_text_utils&quot;:766,&quot;../../plots/plots&quot;:852,&quot;../color&quot;:618,&quot;../drawing&quot;:643,&quot;../legend/anchor_utils&quot;:669,&quot;./constants&quot;:711,&quot;./scrollbox&quot;:715,d3:128}],714:[function(t,e,r){arguments[4][708][0].apply(r,arguments)},{&quot;./attributes&quot;:710,&quot;./constants&quot;:711,&quot;./defaults&quot;:712,&quot;./draw&quot;:713,dup:708}],715:[function(t,e,r){&quot;use strict&quot;;function n(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(&quot;rect.scrollbox-bg&quot;).data([0]),this.bg.exit().on(&quot;.drag&quot;,null).on(&quot;wheel&quot;,null).remove(),this.bg.enter().append(&quot;rect&quot;).classed(&quot;scrollbox-bg&quot;,!0).style(&quot;pointer-events&quot;,&quot;all&quot;).attr({opacity:0,x:0,y:0,width:0,height:0})}e.exports=n;var i=t(&quot;d3&quot;),a=t(&quot;../color&quot;),o=t(&quot;../drawing&quot;),s=t(&quot;../../lib&quot;);n.barWidth=2,n.barLength=20,n.barRadius=2,n.barPad=1,n.barColor=&quot;#808BA4&quot;,n.prototype.enable=function(t,e,r){var s=this.gd._fullLayout,l=s.width,c=s.height;this.position=t;var u,f,h,d,p=this.position.l,m=this.position.w,g=this.position.t,v=this.position.h,y=this.position.direction,x=&quot;down&quot;===y,b=&quot;left&quot;===y,_=&quot;up&quot;===y,w=m,M=v;x||b||&quot;right&quot;===y||_||(this.position.direction=&quot;down&quot;,x=!0);x||_?(f=(u=p)+w,x?(h=g,M=(d=Math.min(h+M,c))-h):M=(d=g+M)-(h=Math.max(d-M,0))):(d=(h=g)+M,b?w=(f=p+w)-(u=Math.max(f-w,0)):(u=p,w=(f=Math.min(u+w,l))-u)),this._box={l:u,t:h,w:w,h:M};var k=m&gt;w,A=n.barLength+2*n.barPad,T=n.barWidth+2*n.barPad,S=p,E=g+v;E+T&gt;c&amp;&amp;(E=c-T);var L=this.container.selectAll(&quot;rect.scrollbar-horizontal&quot;).data(k?[0]:[]);L.exit().on(&quot;.drag&quot;,null).remove(),L.enter().append(&quot;rect&quot;).classed(&quot;scrollbar-horizontal&quot;,!0).call(a.fill,n.barColor),k?(this.hbar=L.attr({rx:n.barRadius,ry:n.barRadius,x:S,y:E,width:A,height:T}),this._hbarXMin=S+A/2,this._hbarTranslateMax=w-A):(delete this.hbar,delete this._hbarXMin,delete this._hbarTranslateMax);var C=v&gt;M,z=n.barWidth+2*n.barPad,D=n.barLength+2*n.barPad,I=p+m,P=g;I+z&gt;l&amp;&amp;(I=l-z);var O=this.container.selectAll(&quot;rect.scrollbar-vertical&quot;).data(C?[0]:[]);O.exit().on(&quot;.drag&quot;,null).remove(),O.enter().append(&quot;rect&quot;).classed(&quot;scrollbar-vertical&quot;,!0).call(a.fill,n.barColor),C?(this.vbar=O.attr({rx:n.barRadius,ry:n.barRadius,x:I,y:P,width:z,height:D}),this._vbarYMin=P+D/2,this._vbarTranslateMax=M-D):(delete this.vbar,delete this._vbarYMin,delete this._vbarTranslateMax);var F=this.id,R=u-.5,N=C?f+z+.5:f+.5,j=h-.5,B=k?d+T+.5:d+.5,U=s._topdefs.selectAll(&quot;#&quot;+F).data(k||C?[0]:[]);if(U.exit().remove(),U.enter().append(&quot;clipPath&quot;).attr(&quot;id&quot;,F).append(&quot;rect&quot;),k||C?(this._clipRect=U.select(&quot;rect&quot;).attr({x:Math.floor(R),y:Math.floor(j),width:Math.ceil(N)-Math.floor(R),height:Math.ceil(B)-Math.floor(j)}),this.container.call(o.setClipUrl,F),this.bg.attr({x:p,y:g,width:m,height:v})):(this.bg.attr({width:0,height:0}),this.container.on(&quot;wheel&quot;,null).on(&quot;.drag&quot;,null).call(o.setClipUrl,null),delete this._clipRect),k||C){var V=i.behavior.drag().on(&quot;dragstart&quot;,function(){i.event.sourceEvent.preventDefault()}).on(&quot;drag&quot;,this._onBoxDrag.bind(this));this.container.on(&quot;wheel&quot;,null).on(&quot;wheel&quot;,this._onBoxWheel.bind(this)).on(&quot;.drag&quot;,null).call(V);var q=i.behavior.drag().on(&quot;dragstart&quot;,function(){i.event.sourceEvent.preventDefault(),i.event.sourceEvent.stopPropagation()}).on(&quot;drag&quot;,this._onBarDrag.bind(this));k&amp;&amp;this.hbar.on(&quot;.drag&quot;,null).call(q),C&amp;&amp;this.vbar.on(&quot;.drag&quot;,null).call(q)}this.setTranslate(e,r)},n.prototype.disable=function(){(this.hbar||this.vbar)&amp;&amp;(this.bg.attr({width:0,height:0}),this.container.on(&quot;wheel&quot;,null).on(&quot;.drag&quot;,null).call(o.setClipUrl,null),delete this._clipRect),this.hbar&amp;&amp;(this.hbar.on(&quot;.drag&quot;,null),this.hbar.remove(),delete this.hbar,delete this._hbarXMin,delete this._hbarTranslateMax),this.vbar&amp;&amp;(this.vbar.on(&quot;.drag&quot;,null),this.vbar.remove(),delete this.vbar,delete this._vbarYMin,delete this._vbarTranslateMax)},n.prototype._onBoxDrag=function(){var t=this.translateX,e=this.translateY;this.hbar&amp;&amp;(t-=i.event.dx),this.vbar&amp;&amp;(e-=i.event.dy),this.setTranslate(t,e)},n.prototype._onBoxWheel=function(){var t=this.translateX,e=this.translateY;this.hbar&amp;&amp;(t+=i.event.deltaY),this.vbar&amp;&amp;(e+=i.event.deltaY),this.setTranslate(t,e)},n.prototype._onBarDrag=function(){var t=this.translateX,e=this.translateY;if(this.hbar){var r=t+this._hbarXMin,n=r+this._hbarTranslateMax;t=(s.constrain(i.event.x,r,n)-r)/(n-r)*(this.position.w-this._box.w)}if(this.vbar){var a=e+this._vbarYMin,o=a+this._vbarTranslateMax;e=(s.constrain(i.event.y,a,o)-a)/(o-a)*(this.position.h-this._box.h)}this.setTranslate(t,e)},n.prototype.setTranslate=function(t,e){var r=this.position.w-this._box.w,n=this.position.h-this._box.h;if(t=s.constrain(t||0,0,r),e=s.constrain(e||0,0,n),this.translateX=t,this.translateY=e,this.container.call(o.setTranslate,this._box.l-this.position.l-t,this._box.t-this.position.t-e),this._clipRect&amp;&amp;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(o.setTranslate,t+i*this._hbarTranslateMax,e)}if(this.vbar){var a=e/n;this.vbar.call(o.setTranslate,t,e+a*this._vbarTranslateMax)}}},{&quot;../../lib&quot;:743,&quot;../color&quot;:618,&quot;../drawing&quot;:643,d3:128}],716:[function(t,e,r){&quot;use strict&quot;;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},LINE_SPACING:1.3,MID_SHIFT:.35,OPPOSITE_SIDE:{left:&quot;right&quot;,right:&quot;left&quot;,top:&quot;bottom&quot;,bottom:&quot;top&quot;}}},{}],717:[function(t,e,r){&quot;use strict&quot;;e.exports={solid:[1],dot:[1,1],dash:[4,1],longdash:[8,1],dashdot:[4,1,1,1],longdashdot:[8,1,1,1]}},{}],718:[function(t,e,r){&quot;use strict&quot;;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]}},{}],719:[function(t,e,r){&quot;use strict&quot;;e.exports={circle:&quot;\u25cf&quot;,&quot;circle-open&quot;:&quot;\u25cb&quot;,square:&quot;\u25a0&quot;,&quot;square-open&quot;:&quot;\u25a1&quot;,diamond:&quot;\u25c6&quot;,&quot;diamond-open&quot;:&quot;\u25c7&quot;,cross:&quot;+&quot;,x:&quot;\u274c&quot;}},{}],720:[function(t,e,r){&quot;use strict&quot;;e.exports={SHOW_PLACEHOLDER:100,HIDE_PLACEHOLDER:1e3,DBLCLICKDELAY:300,DESELECTDIM:.2}},{}],721:[function(t,e,r){&quot;use strict&quot;;e.exports={BADNUM:void 0,FP_SAFE:Number.MAX_VALUE/1e4,ONEAVGYEAR:315576e5,ONEAVGMONTH:26298e5,ONEDAY:864e5,ONEHOUR:36e5,ONEMIN:6e4,ONESEC:1e3,EPOCHJD:2440587.5,ALMOST_EQUAL:1-1e-6,MINUS_SIGN:&quot;\u2212&quot;}},{}],722:[function(t,e,r){&quot;use strict&quot;;e.exports={entityToUnicode:{mu:&quot;\u03bc&quot;,&quot;#956&quot;:&quot;\u03bc&quot;,amp:&quot;&amp;&quot;,&quot;#28&quot;:&quot;&amp;&quot;,lt:&quot;&lt;&quot;,&quot;#60&quot;:&quot;&lt;&quot;,gt:&quot;&gt;&quot;,&quot;#62&quot;:&quot;&gt;&quot;,nbsp:&quot;\xa0&quot;,&quot;#160&quot;:&quot;\xa0&quot;,times:&quot;\xd7&quot;,&quot;#215&quot;:&quot;\xd7&quot;,plusmn:&quot;\xb1&quot;,&quot;#177&quot;:&quot;\xb1&quot;,deg:&quot;\xb0&quot;,&quot;#176&quot;:&quot;\xb0&quot;}}},{}],723:[function(t,e,r){&quot;use strict&quot;;r.xmlns=&quot;http://www.w3.org/2000/xmlns/&quot;,r.svg=&quot;http://www.w3.org/2000/svg&quot;,r.xlink=&quot;http://www.w3.org/1999/xlink&quot;,r.svgAttrs={xmlns:r.svg,&quot;xmlns:xlink&quot;:r.xlink}},{}],724:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;./plotly&quot;);r.version=&quot;1.33.1&quot;,t(&quot;es6-promise&quot;).polyfill(),t(&quot;../build/plotcss&quot;),t(&quot;./fonts/mathjax_config&quot;),r.plot=n.plot,r.newPlot=n.newPlot,r.restyle=n.restyle,r.relayout=n.relayout,r.redraw=n.redraw,r.update=n.update,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.setPlotConfig=t(&quot;./plot_api/set_plot_config&quot;),r.register=t(&quot;./plot_api/register&quot;),r.toImage=t(&quot;./plot_api/to_image&quot;),r.downloadImage=t(&quot;./snapshot/download&quot;),r.validate=t(&quot;./plot_api/validate&quot;),r.addFrames=n.addFrames,r.deleteFrames=n.deleteFrames,r.animate=n.animate,r.register(t(&quot;./traces/scatter&quot;)),r.register([t(&quot;./components/fx&quot;),t(&quot;./components/legend&quot;),t(&quot;./components/annotations&quot;),t(&quot;./components/annotations3d&quot;),t(&quot;./components/shapes&quot;),t(&quot;./components/images&quot;),t(&quot;./components/updatemenus&quot;),t(&quot;./components/sliders&quot;),t(&quot;./components/rangeslider&quot;),t(&quot;./components/rangeselector&quot;)]),r.register([t(&quot;./locale-en&quot;),t(&quot;./locale-en-us&quot;)]),r.Icons=t(&quot;../build/ploticon&quot;),r.Plots=n.Plots,r.Fx=t(&quot;./components/fx&quot;),r.Snapshot=t(&quot;./snapshot&quot;),r.PlotSchema=t(&quot;./plot_api/plot_schema&quot;),r.Queue=t(&quot;./lib/queue&quot;),r.d3=t(&quot;d3&quot;)},{&quot;../build/plotcss&quot;:1,&quot;../build/ploticon&quot;:2,&quot;./components/annotations&quot;:609,&quot;./components/annotations3d&quot;:614,&quot;./components/fx&quot;:660,&quot;./components/images&quot;:668,&quot;./components/legend&quot;:677,&quot;./components/rangeselector&quot;:689,&quot;./components/rangeslider&quot;:695,&quot;./components/shapes&quot;:702,&quot;./components/sliders&quot;:708,&quot;./components/updatemenus&quot;:714,&quot;./fonts/mathjax_config&quot;:725,&quot;./lib/queue&quot;:757,&quot;./locale-en&quot;:771,&quot;./locale-en-us&quot;:770,&quot;./plot_api/plot_schema&quot;:778,&quot;./plot_api/register&quot;:779,&quot;./plot_api/set_plot_config&quot;:780,&quot;./plot_api/to_image&quot;:782,&quot;./plot_api/validate&quot;:783,&quot;./plotly&quot;:784,&quot;./snapshot&quot;:878,&quot;./snapshot/download&quot;:875,&quot;./traces/scatter&quot;:1078,d3:128,&quot;es6-promise&quot;:137}],725:[function(t,e,r){&quot;use strict&quot;;&quot;undefined&quot;!=typeof MathJax?(r.MathJax=!0,MathJax.Hub.Config({messageStyle:&quot;none&quot;,skipStartupTypeset:!0,displayAlign:&quot;left&quot;,tex2jax:{inlineMath:[[&quot;$&quot;,&quot;$&quot;],[&quot;\\(&quot;,&quot;\\)&quot;]]}}),MathJax.Hub.Configured()):r.MathJax=!1},{}],726:[function(t,e,r){&quot;use strict&quot;;var n=Math.PI;r.deg2rad=function(t){return t/180*n},r.rad2deg=function(t){return t/n*180},r.wrap360=function(t){var e=t%360;return e&lt;0?e+360:e},r.wrap180=function(t){return Math.abs(t)&gt;180&amp;&amp;(t-=360*Math.round(t/360)),t}},{}],727:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;fast-isnumeric&quot;),i=t(&quot;../constants/numerical&quot;).BADNUM,a=/^['&quot;%,$#\s']+|[, ]|['&quot;%,$#\s']+$/g;e.exports=function(t){return&quot;string&quot;==typeof t&amp;&amp;(t=t.replace(a,&quot;&quot;)),n(t)?Number(t):i}},{&quot;../constants/numerical&quot;:721,&quot;fast-isnumeric&quot;:140}],728:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;fast-isnumeric&quot;),i=t(&quot;tinycolor2&quot;),a=t(&quot;../plots/attributes&quot;),o=t(&quot;../components/colorscale/get_scale&quot;),s=(Object.keys(t(&quot;../components/colorscale/scales&quot;)),t(&quot;./nested_property&quot;)),l=t(&quot;./regex&quot;).counter,c=t(&quot;../constants/interactions&quot;).DESELECTDIM,u=t(&quot;./angles&quot;).wrap180;r.valObjectMeta={data_array:{coerceFunction:function(t,e,r){Array.isArray(t)?e.set(t):void 0!==r&amp;&amp;e.set(r)}},enumerated:{coerceFunction:function(t,e,r,n){n.coerceNumber&amp;&amp;(t=+t),-1===n.values.indexOf(t)?e.set(r):e.set(t)},validateFunction:function(t,e){e.coerceNumber&amp;&amp;(t=+t);for(var r=e.values,n=0;n&lt;r.length;n++){var i=String(r[n]);if(&quot;/&quot;===i.charAt(0)&amp;&amp;&quot;/&quot;===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&amp;&amp;t&lt;i.min||void 0!==i.max&amp;&amp;t&gt;i.max?e.set(r):e.set(+t)}},integer:{coerceFunction:function(t,e,r,i){t%1||!n(t)||void 0!==i.min&amp;&amp;t&lt;i.min||void 0!==i.max&amp;&amp;t&gt;i.max?e.set(r):e.set(+t)}},string:{coerceFunction:function(t,e,r,n){if(&quot;string&quot;!=typeof t){var i=&quot;number&quot;==typeof t;!0!==n.strict&amp;&amp;i?e.set(String(t)):e.set(r)}else n.noBlank&amp;&amp;!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)&amp;&amp;t.length&amp;&amp;t.every(function(t){return i(t).isValid()})?e.set(t):e.set(r)}},colorscale:{coerceFunction:function(t,e,r){e.set(o(t,r))}},angle:{coerceFunction:function(t,e,r){&quot;auto&quot;===t?e.set(&quot;auto&quot;):n(t)?e.set(u(+t)):e.set(r)}},subplotid:{coerceFunction:function(t,e,r){&quot;string&quot;==typeof t&amp;&amp;l(r).test(t)?e.set(t):e.set(r)},validateFunction:function(t,e){var r=e.dflt;return t===r||&quot;string&quot;==typeof t&amp;&amp;!!l(r).test(t)}},flaglist:{coerceFunction:function(t,e,r,n){if(&quot;string&quot;==typeof t)if(-1===(n.extras||[]).indexOf(t)){for(var i=t.split(&quot;+&quot;),a=0;a&lt;i.length;){var o=i[a];-1===n.flags.indexOf(o)||i.indexOf(o)&lt;a?i.splice(a,1):a++}i.length?e.set(i.join(&quot;+&quot;)):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){if(Array.isArray(t)){var a=i.items,o=[];n=Array.isArray(n)?n:[];for(var s=0;s&lt;a.length;s++)r.coerce(t,o,a,&quot;[&quot;+s+&quot;]&quot;,n[s]);e.set(o)}else e.set(n)},validateFunction:function(t,e){if(!Array.isArray(t))return!1;var n=e.items;if(!e.freeLength&amp;&amp;t.length!==n.length)return!1;for(var i=0;i&lt;t.length;i++){if(!r.validate(t[i],e.items[i]))return!1}return!0}}},r.coerce=function(t,e,n,i,a){var o=s(n,i).get(),l=s(t,i),c=s(e,i),u=l.get();return void 0===a&amp;&amp;(a=o.dflt),o.arrayOk&amp;&amp;Array.isArray(u)?(c.set(u),u):(r.valObjectMeta[o.valType].coerceFunction(u,c,a,o),c.get())},r.coerce2=function(t,e,n,i,a){var o=s(t,i),l=r.coerce(t,e,n,i,a),c=o.get();return void 0!==c&amp;&amp;null!==c&amp;&amp;l},r.coerceFont=function(t,e,r){var n={};return r=r||{},n.family=t(e+&quot;.family&quot;,r.family),n.size=t(e+&quot;.size&quot;,r.size),n.color=t(e+&quot;.color&quot;,r.color),n},r.coerceHoverinfo=function(t,e,n){var i,o=e._module.attributes,s=o.hoverinfo?{hoverinfo:o.hoverinfo}:a,l=s.hoverinfo;if(1===n._dataLength){var c=&quot;all&quot;===l.dflt?l.flags.slice():l.dflt.split(&quot;+&quot;);c.splice(c.indexOf(&quot;name&quot;),1),i=c.join(&quot;+&quot;)}return r.coerce(t,e,s,&quot;hoverinfo&quot;,i)},r.coerceSelectionMarkerOpacity=function(t,e){if(t.marker){var r,n,i=t.marker.opacity;Array.isArray(i)||t.selected||t.unselected||(r=i,n=c*i),e(&quot;selected.marker.opacity&quot;,r),e(&quot;unselected.marker.opacity&quot;,n)}},r.validate=function(t,e){var n=r.valObjectMeta[e.valType];if(e.arrayOk&amp;&amp;Array.isArray(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}},{&quot;../components/colorscale/get_scale&quot;:631,&quot;../components/colorscale/scales&quot;:637,&quot;../constants/interactions&quot;:720,&quot;../plots/attributes&quot;:787,&quot;./angles&quot;:726,&quot;./nested_property&quot;:751,&quot;./regex&quot;:758,&quot;fast-isnumeric&quot;:140,tinycolor2:546}],729:[function(t,e,r){&quot;use strict&quot;;function n(t){return t&amp;&amp;x.componentsRegistry.calendars&amp;&amp;&quot;string&quot;==typeof t&amp;&amp;&quot;gregorian&quot;!==t}function i(t,e){return String(t+Math.pow(10,e)).substr(1)}function a(t,e,r,n,a){if((e||r||n||a)&amp;&amp;(t+=&quot; &quot;+i(e,2)+&quot;:&quot;+i(r,2),(n||a)&amp;&amp;(t+=&quot;:&quot;+i(n,2),a))){for(var o=4;a%10==0;)o-=1,a/=10;t+=&quot;.&quot;+i(a,o)}return t}function o(t,e){var r=f(t+.05,p),n=i(Math.floor(r/m),2)+&quot;:&quot;+i(f(Math.floor(r/g),60),2);if(&quot;M&quot;!==e){c(e)||(e=0);var a=(100+Math.min(f(t/v,60),C[e])).toFixed(e).substr(1);e&gt;0&amp;&amp;(a=a.replace(/0+$/,&quot;&quot;).replace(/[\.]$/,&quot;&quot;)),n+=&quot;:&quot;+a}return n}function s(t){return t.formatDate(&quot;yyyy&quot;)}var l=t(&quot;d3&quot;),c=t(&quot;fast-isnumeric&quot;),u=t(&quot;./loggers&quot;),f=t(&quot;./mod&quot;),h=t(&quot;../constants/numerical&quot;),d=h.BADNUM,p=h.ONEDAY,m=h.ONEHOUR,g=h.ONEMIN,v=h.ONESEC,y=h.EPOCHJD,x=t(&quot;../registry&quot;),b=l.time.format.utc,_=/^\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,w=/^\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,M=(new Date).getFullYear()-70;r.dateTick0=function(t,e){return n(t)?e?x.getComponentMethod(&quot;calendars&quot;,&quot;CANONICAL_SUNDAY&quot;)[t]:x.getComponentMethod(&quot;calendars&quot;,&quot;CANONICAL_TICK&quot;)[t]:e?&quot;2000-01-02&quot;:&quot;2000-01-01&quot;},r.dfltRange=function(t){return n(t)?x.getComponentMethod(&quot;calendars&quot;,&quot;DFLTRANGE&quot;)[t]:[&quot;2000-01-01&quot;,&quot;2001-01-01&quot;]},r.isJSDate=function(t){return&quot;object&quot;==typeof t&amp;&amp;null!==t&amp;&amp;&quot;function&quot;==typeof t.getTime};var k,A;r.dateTime2ms=function(t,e){if(r.isJSDate(t))return(t=Number(t)-t.getTimezoneOffset()*g)&gt;=k&amp;&amp;t&lt;=A?t:d;if(&quot;string&quot;!=typeof t&amp;&amp;&quot;number&quot;!=typeof t)return d;t=String(t);var i=n(e),a=t.charAt(0);!i||&quot;G&quot;!==a&amp;&amp;&quot;g&quot;!==a||(t=t.substr(1),e=&quot;&quot;);var o=i&amp;&amp;&quot;chinese&quot;===e.substr(0,7),s=t.match(o?w:_);if(!s)return d;var l=s[1],c=s[3]||&quot;1&quot;,u=Number(s[5]||1),f=Number(s[7]||0),h=Number(s[9]||0),b=Number(s[11]||0);if(i){if(2===l.length)return d;l=Number(l);var T;try{var S=x.getComponentMethod(&quot;calendars&quot;,&quot;getCal&quot;)(e);if(o){var E=&quot;i&quot;===c.charAt(c.length-1);c=parseInt(c,10),T=S.newDate(l,S.toMonthIndex(l,c,E),u)}else T=S.newDate(l,Number(c),u)}catch(t){return d}return T?(T.toJD()-y)*p+f*m+h*g+b*v:d}l=2===l.length?(Number(l)+2e3-M)%100+M:Number(l),c-=1;var L=new Date(Date.UTC(2e3,c,u,f,h));return L.setUTCFullYear(l),L.getUTCMonth()!==c?d:L.getUTCDate()!==u?d:L.getTime()+b*v},k=r.MIN_MS=r.dateTime2ms(&quot;-9999&quot;),A=r.MAX_MS=r.dateTime2ms(&quot;9999-12-31 23:59:59.9999&quot;),r.isDateTime=function(t,e){return r.dateTime2ms(t,e)!==d};var T=90*p,S=3*m,E=5*g;r.ms2DateTime=function(t,e,r){if(&quot;number&quot;!=typeof t||!(t&gt;=k&amp;&amp;t&lt;=A))return d;e||(e=0);var i,o,s,l,c,u,h=Math.floor(10*f(t+.05,1)),_=Math.round(t-h/10);if(n(r)){var w=Math.floor(_/p)+y,M=Math.floor(f(t,p));try{i=x.getComponentMethod(&quot;calendars&quot;,&quot;getCal&quot;)(r).fromJD(w).formatDate(&quot;yyyy-mm-dd&quot;)}catch(t){i=b(&quot;G%Y-%m-%d&quot;)(new Date(_))}if(&quot;-&quot;===i.charAt(0))for(;i.length&lt;11;)i=&quot;-0&quot;+i.substr(1);else for(;i.length&lt;10;)i=&quot;0&quot;+i;o=e&lt;T?Math.floor(M/m):0,s=e&lt;T?Math.floor(M%m/g):0,l=e&lt;S?Math.floor(M%g/v):0,c=e&lt;E?M%v*10+h:0}else u=new Date(_),i=b(&quot;%Y-%m-%d&quot;)(u),o=e&lt;T?u.getUTCHours():0,s=e&lt;T?u.getUTCMinutes():0,l=e&lt;S?u.getUTCSeconds():0,c=e&lt;E?10*u.getUTCMilliseconds()+h:0;return a(i,o,s,l,c)},r.ms2DateTimeLocal=function(t){if(!(t&gt;=k+p&amp;&amp;t&lt;=A-p))return d;var e=Math.floor(10*f(t+.05,1)),r=new Date(Math.round(t-e/10));return a(l.time.format(&quot;%Y-%m-%d&quot;)(r),r.getHours(),r.getMinutes(),r.getSeconds(),10*r.getUTCMilliseconds()+e)},r.cleanDate=function(t,e,i){if(r.isJSDate(t)||&quot;number&quot;==typeof t){if(n(i))return u.error(&quot;JS Dates and milliseconds are incompatible with world calendars&quot;,t),e;if(!(t=r.ms2DateTimeLocal(+t))&amp;&amp;void 0!==e)return e}else if(!r.isDateTime(t,i))return u.error(&quot;unrecognized date&quot;,t),e;return t};var L=/%\d?f/g,C=[59,59.9,59.99,59.999,59.9999];r.formatDate=function(t,e,r,i,a){var l,c;if(a=n(a)&amp;&amp;a,e)return function(t,e,r,i){t=t.replace(L,function(t){var r=Math.min(+t.charAt(1)||6,6);return(e/1e3%1+2).toFixed(r).substr(2).replace(/0+$/,&quot;&quot;)||&quot;0&quot;});var a=new Date(Math.floor(e+.05));if(n(i))try{t=x.getComponentMethod(&quot;calendars&quot;,&quot;worldCalFmt&quot;)(t,e,i)}catch(t){return&quot;Invalid&quot;}return r(t)(a)}(e,t,i,a);if(a)try{var u=Math.floor((t+.05)/p)+y,f=x.getComponentMethod(&quot;calendars&quot;,&quot;getCal&quot;)(a).fromJD(u);&quot;y&quot;===r?c=s(f):&quot;m&quot;===r?c=function(t){return t.formatDate(&quot;M yyyy&quot;)}(f):&quot;d&quot;===r?(l=s(f),c=function(t){return t.formatDate(&quot;M d&quot;)}(f)):(l=function(t){return t.formatDate(&quot;M d, yyyy&quot;)}(f),c=o(t,r))}catch(t){return&quot;Invalid&quot;}else{var h=new Date(Math.floor(t+.05));&quot;y&quot;===r?c=i(&quot;%Y&quot;)(h):&quot;m&quot;===r?c=i(&quot;%b %Y&quot;)(h):&quot;d&quot;===r?(l=i(&quot;%Y&quot;)(h),c=i(&quot;%b %-d&quot;)(h)):(l=i(&quot;%b %-d, %Y&quot;)(h),c=o(t,r))}return c+(l?&quot;\n&quot;+l:&quot;&quot;)};var z=3*p;r.incrementMonth=function(t,e,r){r=n(r)&amp;&amp;r;var i=f(t,p);if(t=Math.round(t-i),r)try{var a=Math.round(t/p)+y,o=x.getComponentMethod(&quot;calendars&quot;,&quot;getCal&quot;)(r),s=o.fromJD(a);return e%12?o.add(s,e,&quot;m&quot;):o.add(s,e/12,&quot;y&quot;),(s.toJD()-y)*p+i}catch(e){u.error(&quot;invalid ms &quot;+t+&quot; in calendar &quot;+r)}var l=new Date(t+z);return l.setUTCMonth(l.getUTCMonth()+e)+i-z},r.findExactDates=function(t,e){for(var r,i,a=0,o=0,s=0,l=0,u=n(e)&amp;&amp;x.getComponentMethod(&quot;calendars&quot;,&quot;getCal&quot;)(e),f=0;f&lt;t.length;f++)if(i=t[f],c(i)){if(!(i%p))if(u)try{1===(r=u.fromJD(i/p+y)).day()?1===r.month()?a++:o++:s++}catch(t){}else 1===(r=new Date(i)).getUTCDate()?0===r.getUTCMonth()?a++:o++:s++}else l++;s+=o+=a;var h=t.length-l;return{exactYears:a/h,exactMonths:o/h,exactDays:s/h}}},{&quot;../constants/numerical&quot;:721,&quot;../registry&quot;:873,&quot;./loggers&quot;:748,&quot;./mod&quot;:750,d3:128,&quot;fast-isnumeric&quot;:140}],730:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t,e){return Array.isArray(t)||(t=[]),t.length=e,t}},{}],731:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;events&quot;).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){&quot;undefined&quot;!=typeof jQuery&amp;&amp;jQuery(t).trigger(n,i),e.emit(n,i),r.emit(n,i)},t},triggerHandler:function(t,e,r){var n,i;&quot;undefined&quot;!=typeof jQuery&amp;&amp;(n=jQuery(t).triggerHandler(e,r));var a=t._ev;if(!a)return n;var o=a._events[e];if(!o)return n;&quot;function&quot;==typeof o&amp;&amp;(o=[o]);for(var s=o.pop(),l=0;l&lt;o.length;l++)o[l](r);return i=s(r),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:138}],732:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,o){var s,l,c,u,f,h,d=t[0],p=t.length;if(2===p&amp;&amp;a(d)&amp;&amp;a(t[1])&amp;&amp;0===d.length){if(function(t,e){var r,n;for(r=0;r&lt;t.length;r++){if(null!==(n=t[r])&amp;&amp;&quot;object&quot;==typeof n)return!1;void 0!==n&amp;&amp;(e[r]=n)}return!0}(t[1],d))return d;d.splice(0,d.length)}for(var m=1;m&lt;p;m++){s=t[m];for(l in s)c=d[l],u=s[l],o&amp;&amp;a(u)?d[l]=u:e&amp;&amp;u&amp;&amp;(i(u)||(f=a(u)))?(f?(f=!1,h=c&amp;&amp;a(c)?c:[]):h=c&amp;&amp;i(c)?c:{},d[l]=n([h,u],e,r,o)):(void 0!==u||r)&amp;&amp;(d[l]=u)}return d}var i=t(&quot;./is_plain_object.js&quot;),a=Array.isArray;r.extendFlat=function(){return n(arguments,!1,!1,!1)},r.extendDeep=function(){return n(arguments,!0,!1,!1)},r.extendDeepAll=function(){return n(arguments,!0,!0,!1)},r.extendDeepNoArrays=function(){return n(arguments,!0,!1,!0)}},{&quot;./is_plain_object.js&quot;:745}],733:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t){for(var e={},r=[],n=0,i=0;i&lt;t.length;i++){var a=t[i];1!==e[a]&amp;&amp;(e[a]=1,r[n++]=a)}return r}},{}],734:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t){for(var e=function(t){return Array.isArray(t)&amp;&amp;Array.isArray(t[0])&amp;&amp;t[0][0]&amp;&amp;t[0][0].trace}(t)?function(t){return!0===t[0].trace.visible}:function(t){return!0===t.visible},r=[],n=0;n&lt;t.length;n++){var i=t[n];e(i)&amp;&amp;r.push(i)}return r}},{}],735:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;country-regex&quot;),i=t(&quot;../lib&quot;),a=Object.keys(n),o={&quot;ISO-3&quot;:i.identity,&quot;USA-states&quot;:i.identity,&quot;country names&quot;:function(t){for(var e=0;e&lt;a.length;e++){var r=a[e];if(new RegExp(n[r]).test(t.trim().toLowerCase()))return r}return i.log(&quot;Unrecognized country name: &quot;+t+&quot;.&quot;),!1}};r.locationToFeature=function(t,e,r){if(!e||&quot;string&quot;!=typeof e)return!1;var n=function(t,e){return(0,o[t])(e)}(t,e);if(n){for(var a=0;a&lt;r.length;a++){var s=r[a];if(s.id===n)return s}i.log([&quot;Location with id&quot;,n,&quot;does not have a matching topojson feature at this resolution.&quot;].join(&quot; &quot;))}return!1}},{&quot;../lib&quot;:743,&quot;country-regex&quot;:113}],736:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../constants/numerical&quot;).BADNUM;r.calcTraceToLineCoords=function(t){for(var e=t[0].trace.connectgaps,r=[],i=[],a=0;a&lt;t.length;a++){var o=t[a].lonlat;o[0]!==n?i.push(o):!e&amp;&amp;i.length&gt;0&amp;&amp;(r.push(i),i=[])}return i.length&gt;0&amp;&amp;r.push(i),r},r.makeLine=function(t){return 1===t.length?{type:&quot;LineString&quot;,coordinates:t[0]}:{type:&quot;MultiLineString&quot;,coordinates:t}},r.makePolygon=function(t){if(1===t.length)return{type:&quot;Polygon&quot;,coordinates:t};for(var e=new Array(t.length),r=0;r&lt;t.length;r++)e[r]=[t[r]];return{type:&quot;MultiPolygon&quot;,coordinates:e}},r.makeBlank=function(){return{type:&quot;Point&quot;,coordinates:[]}}},{&quot;../constants/numerical&quot;:721}],737:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,n,i,a,o,s){var l=r-t,c=i-t,u=o-i,f=n-e,h=a-e,d=s-a,p=l*d-u*f;if(0===p)return null;var m=(c*d-u*h)/p,g=(c*f-l*h)/p;return g&lt;0||g&gt;1||m&lt;0||m&gt;1?null:{x:t+l*m,y:e+f*m}}function i(t,e,r,n,i){var a=n*t+i*e;if(a&lt;0)return n*n+i*i;if(a&gt;r){var o=n-t,s=i-e;return o*o+s*s}var l=n*e-i*t;return l*l/r}var a=t(&quot;./mod&quot;);r.segmentsIntersect=n,r.segmentDistance=function(t,e,r,a,o,s,l,c){if(n(t,e,r,a,o,s,l,c))return 0;var u=r-t,f=a-e,h=l-o,d=c-s,p=u*u+f*f,m=h*h+d*d,g=Math.min(i(u,f,p,o-t,s-e),i(u,f,p,l-t,c-e),i(h,d,m,t-o,e-s),i(h,d,m,r-o,a-s));return Math.sqrt(g)};var o,s,l;r.getTextLocation=function(t,e,r,n){if(t===s&amp;&amp;n===l||(o={},s=t,l=n),o[r])return o[r];var i=t.getPointAtLength(a(r-n/2,e)),c=t.getPointAtLength(a(r+n/2,e)),u=Math.atan((c.y-i.y)/(c.x-i.x)),f=t.getPointAtLength(a(r,e)),h={x:(4*f.x+i.x+c.x)/6,y:(4*f.y+i.y+c.y)/6,theta:u};return o[r]=h,h},r.clearLocationCache=function(){s=null},r.getVisibleSegment=function(t,e,r){function n(e){var r=t.getPointAtLength(e);0===e?i=r:e===f&amp;&amp;(a=r);var n=r.x&lt;o?o-r.x:r.x&gt;s?r.x-s:0,u=r.y&lt;l?l-r.y:r.y&gt;c?r.y-c:0;return Math.sqrt(n*n+u*u)}for(var i,a,o=e.left,s=e.right,l=e.top,c=e.bottom,u=0,f=t.getTotalLength(),h=f,d=n(u);d;){if((u+=d+r)&gt;h)return;d=n(u)}for(d=n(h);d;){if(h-=d+r,u&gt;h)return;d=n(h)}return{min:u,max:h,len:h-u,total:f,isClosed:0===u&amp;&amp;h===f&amp;&amp;Math.abs(i.x-a.x)&lt;.1&amp;&amp;Math.abs(i.y-a.y)&lt;.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]&gt;t.getPointAtLength(s)[r]?-1:1,f=0,h=0,d=s;f&lt;c;){if(i=(h+d)/2,a=t.getPointAtLength(i),o=a[r]-e,Math.abs(o)&lt;l)return a;u*o&gt;0?d=i:h=i,f++}return a}},{&quot;./mod&quot;:750}],738:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t){var e;if(&quot;string&quot;==typeof t){if(null===(e=document.getElementById(t)))throw new Error(&quot;No DOM element with id '&quot;+t+&quot;' exists on the page.&quot;);return e}if(null===t||void 0===t)throw new Error(&quot;DOM element provided is null or undefined&quot;);return t}},{}],739:[function(t,e,r){&quot;use strict&quot;;function n(t,e){var r=t;return r[3]*=e,r}function i(t){if(o(t))return u;var e=s(t);return e.length?e:u}function a(t){return o(t)?t:f}var o=t(&quot;fast-isnumeric&quot;),s=t(&quot;color-normalize&quot;),l=t(&quot;../components/colorscale&quot;),c=t(&quot;../components/color/attributes&quot;).defaultLine,u=s(c),f=1;e.exports=function(t,e,r){var o,c,h,d,p,m=t.color,g=Array.isArray(m),v=Array.isArray(e),y=[];if(o=void 0!==t.colorscale?l.makeColorScaleFunc(l.extractScale(t.colorscale,t.cmin,t.cmax)):i,c=g?function(t,e){return void 0===t[e]?u:s(o(t[e]))}:i,h=v?function(t,e){return void 0===t[e]?f:a(t[e])}:a,g||v)for(var x=0;x&lt;r;x++)d=c(m,x),p=h(e,x),y[x]=n(d,p);else y=n(s(m),e);return y}},{&quot;../components/color/attributes&quot;:617,&quot;../components/colorscale&quot;:633,&quot;color-normalize&quot;:99,&quot;fast-isnumeric&quot;:140}],740:[function(t,e,r){&quot;use strict&quot;;function n(t){return[t]}var i=t(&quot;./identity&quot;);e.exports={keyFun:function(t){return t.key},repeat:n,descend:i,wrap:n,unwrap:function(t){return t[0]}}},{&quot;./identity&quot;:742}],741:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;superscript-text&quot;),i=t(&quot;../constants/string_mappings&quot;);e.exports=function(t){return&quot;&quot;+function(t){for(var e=i.entityToUnicode,r=0;(r=t.indexOf(&quot;&amp;&quot;,r))&gt;=0;){var n=t.indexOf(&quot;;&quot;,r);if(n&lt;r)r+=1;else{var a=e[t.slice(r+1,n)];t=a?t.slice(0,r)+a+t.slice(n+1):t.slice(0,r)+t.slice(n+1)}}return t}(function(t){return t.replace(/\&lt;.*\&gt;/g,&quot;&quot;)}(function(t){for(var e=0;(e=t.indexOf(&quot;&lt;sup&gt;&quot;,e))&gt;=0;){var r=t.indexOf(&quot;&lt;/sup&gt;&quot;,e);if(r&lt;e)break;t=t.slice(0,e)+n(t.slice(e+5,r))+t.slice(r+6)}return t}(function(t){return t.replace(/\&lt;br\&gt;/g,&quot;\n&quot;)}(t))))}},{&quot;../constants/string_mappings&quot;:722,&quot;superscript-text&quot;:539}],742:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t){return t}},{}],743:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;d3&quot;),i=t(&quot;fast-isnumeric&quot;),a=t(&quot;../constants/numerical&quot;),o=a.FP_SAFE,s=a.BADNUM,l=e.exports={};l.nestedProperty=t(&quot;./nested_property&quot;),l.keyedContainer=t(&quot;./keyed_container&quot;),l.relativeAttr=t(&quot;./relative_attr&quot;),l.isPlainObject=t(&quot;./is_plain_object&quot;),l.isArray=t(&quot;./is_array&quot;),l.mod=t(&quot;./mod&quot;),l.toLogRange=t(&quot;./to_log_range&quot;),l.relinkPrivateKeys=t(&quot;./relink_private&quot;),l.ensureArray=t(&quot;./ensure_array&quot;);var c=t(&quot;./coerce&quot;);l.valObjectMeta=c.valObjectMeta,l.coerce=c.coerce,l.coerce2=c.coerce2,l.coerceFont=c.coerceFont,l.coerceHoverinfo=c.coerceHoverinfo,l.coerceSelectionMarkerOpacity=c.coerceSelectionMarkerOpacity,l.validate=c.validate;var u=t(&quot;./dates&quot;);l.dateTime2ms=u.dateTime2ms,l.isDateTime=u.isDateTime,l.ms2DateTime=u.ms2DateTime,l.ms2DateTimeLocal=u.ms2DateTimeLocal,l.cleanDate=u.cleanDate,l.isJSDate=u.isJSDate,l.formatDate=u.formatDate,l.incrementMonth=u.incrementMonth,l.dateTick0=u.dateTick0,l.dfltRange=u.dfltRange,l.findExactDates=u.findExactDates,l.MIN_MS=u.MIN_MS,l.MAX_MS=u.MAX_MS;var f=t(&quot;./search&quot;);l.findBin=f.findBin,l.sorterAsc=f.sorterAsc,l.sorterDes=f.sorterDes,l.distinctVals=f.distinctVals,l.roundUp=f.roundUp;var h=t(&quot;./stats&quot;);l.aggNums=h.aggNums,l.len=h.len,l.mean=h.mean,l.variance=h.variance,l.stdev=h.stdev,l.interp=h.interp;var d=t(&quot;./matrix&quot;);l.init2dArray=d.init2dArray,l.transposeRagged=d.transposeRagged,l.dot=d.dot,l.translationMatrix=d.translationMatrix,l.rotationMatrix=d.rotationMatrix,l.rotationXYMatrix=d.rotationXYMatrix,l.apply2DTransform=d.apply2DTransform,l.apply2DTransform2=d.apply2DTransform2;var p=t(&quot;./angles&quot;);l.deg2rad=p.deg2rad,l.rad2deg=p.rad2deg,l.wrap360=p.wrap360,l.wrap180=p.wrap180;var m=t(&quot;./geometry2d&quot;);l.segmentsIntersect=m.segmentsIntersect,l.segmentDistance=m.segmentDistance,l.getTextLocation=m.getTextLocation,l.clearLocationCache=m.clearLocationCache,l.getVisibleSegment=m.getVisibleSegment,l.findPointOnPath=m.findPointOnPath;var g=t(&quot;./extend&quot;);l.extendFlat=g.extendFlat,l.extendDeep=g.extendDeep,l.extendDeepAll=g.extendDeepAll,l.extendDeepNoArrays=g.extendDeepNoArrays;var v=t(&quot;./loggers&quot;);l.log=v.log,l.warn=v.warn,l.error=v.error;var y=t(&quot;./regex&quot;);l.counterRegex=y.counter;var x=t(&quot;./throttle&quot;);l.throttle=x.throttle,l.throttleDone=x.done,l.clearThrottle=x.clear,l.getGraphDiv=t(&quot;./get_graph_div&quot;),l._=t(&quot;./localize&quot;),l.notifier=t(&quot;./notifier&quot;),l.filterUnique=t(&quot;./filter_unique&quot;),l.filterVisible=t(&quot;./filter_visible&quot;),l.pushUnique=t(&quot;./push_unique&quot;),l.cleanNumber=t(&quot;./clean_number&quot;),l.ensureNumber=function(t){return i(t)?(t=Number(t))&lt;-o||t&gt;o?s:i(t)?Number(t):s:s},l.noop=t(&quot;./noop&quot;),l.identity=t(&quot;./identity&quot;),l.swapAttrs=function(t,e,r,n){r||(r=&quot;x&quot;),n||(n=&quot;y&quot;);for(var i=0;i&lt;e.length;i++){var a=e[i],o=l.nestedProperty(t,a.replace(&quot;?&quot;,r)),s=l.nestedProperty(t,a.replace(&quot;?&quot;,n)),c=o.get();o.set(s.get()),s.set(c)}},l.pauseEvent=function(t){return t.stopPropagation&amp;&amp;t.stopPropagation(),t.preventDefault&amp;&amp;t.preventDefault(),t.cancelBubble=!0,!1},l.raiseToTop=function(t){t.parentNode.appendChild(t)},l.cancelTransition=function(t){return t.transition().duration(0)},l.constrain=function(t,e,r){return e&gt;r?Math.max(r,Math.min(e,t)):Math.max(e,Math.min(r,t))},l.bBoxIntersect=function(t,e,r){return r=r||0,t.left&lt;=e.right+r&amp;&amp;e.left&lt;=t.right+r&amp;&amp;t.top&lt;=e.bottom+r&amp;&amp;e.top&lt;=t.bottom+r},l.simpleMap=function(t,e,r,n){for(var i=t.length,a=new Array(i),o=0;o&lt;i;o++)a[o]=e(t[o],r,n);return a},l.randstr=function t(e,r,n){if(n||(n=16),void 0===r&amp;&amp;(r=24),r&lt;=0)return&quot;0&quot;;var i,a,o=Math.log(Math.pow(2,r))/Math.log(n),s=&quot;&quot;;for(i=2;o===1/0;i*=2)o=Math.log(Math.pow(2,r/i))/Math.log(n)*i;var l=o-Math.floor(o);for(i=0;i&lt;Math.floor(o);i++)s=Math.floor(Math.random()*n).toString(n)+s;l&amp;&amp;(a=Math.pow(n,l),s=Math.floor(Math.random()*a).toString(n)+s);var c=parseInt(s,n);return e&amp;&amp;e.indexOf(s)&gt;-1||c!==1/0&amp;&amp;c&gt;=Math.pow(2,r)?t(e,r,n):s},l.OptionControl=function(t,e){t||(t={}),e||(e=&quot;opt&quot;);var r={};return r.optionList=[],r._newoption=function(n){n[e]=t,r[n.name]=n,r.optionList.push(n)},r[&quot;_&quot;+e]=t,r},l.smooth=function(t,e){if((e=Math.round(e)||0)&lt;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&lt;l;r++)c[r]=(1-Math.cos(Math.PI*(r+1)/e))/(2*e);for(r=0;r&lt;o;r++){for(a=0,n=0;n&lt;l;n++)(i=r+n+1-e)&lt;-o?i-=s*Math.round(i/s):i&gt;=s&amp;&amp;(i-=s*Math.floor(i/s)),i&lt;0?i=-1-i:i&gt;=o&amp;&amp;(i=s-1-i),a+=t[i]*c[n];u[r]=a}return u},l.syncOrAsync=function(t,e,r){function n(){return l.syncOrAsync(t,e,r)}for(var i,a;t.length;)if(a=t.splice(0,1)[0],(i=a(e))&amp;&amp;i.then)return i.then(n).then(void 0,l.promiseError);return r&amp;&amp;r(e)},l.stripTrailingSlash=function(t){return&quot;/&quot;===t.substr(-1)?t.substr(0,t.length-1):t},l.noneOrAll=function(t,e,r){if(t){var n,i,a=!1,o=!0;for(n=0;n&lt;r.length;n++)void 0!==(i=t[r[n]])&amp;&amp;null!==i?a=!0:o=!1;if(a&amp;&amp;!o)for(n=0;n&lt;r.length;n++)t[r[n]]=e[r[n]]}},l.mergeArray=function(t,e,r){if(Array.isArray(t))for(var n=Math.min(t.length,e.length),i=0;i&lt;n;i++)e[i][r]=t[i]},l.fillArray=function(t,e,r,n){if(n=n||l.identity,Array.isArray(t))for(var i=0;i&lt;e.length;i++)e[i][r]=n(t[i])},l.castOption=function(t,e,r,n){n=n||l.identity;var i=l.nestedProperty(t,r).get();return Array.isArray(i)?n(Array.isArray(e)&amp;&amp;Array.isArray(i[e[0]])?i[e[0]][e[1]]:i[e]):i},l.extractOption=function(t,e,r,n){if(r in t)return t[r];var i=l.nestedProperty(e,n).get();return Array.isArray(i)?void 0:i},l.tagSelected=function(t,e,r){function n(t){return i(t)&amp;&amp;t&gt;=0&amp;&amp;t%1==0}function a(e){return void 0!==e&amp;&amp;e&lt;t.length}var o,s=e.selectedpoints,l=e._indexToPoints;if(l){o={};for(var c in l)for(var u=l[c],f=0;f&lt;u.length;f++)o[u[f]]=c}for(var h=0;h&lt;s.length;h++){var d=s[h];if(n(d)){var p=o?o[d]:d,m=r?r[p]:p;a(m)&amp;&amp;(t[m].selected=1)}}},l.getTargetArray=function(t,e){var r=e.target;if(&quot;string&quot;==typeof r&amp;&amp;r){var n=l.nestedProperty(t,r).get();return!!Array.isArray(n)&amp;&amp;n}return!!Array.isArray(r)&amp;&amp;r},l.minExtend=function(t,e){var r={};&quot;object&quot;!=typeof e&amp;&amp;(e={});var n,i,a,o=Object.keys(t);for(n=0;n&lt;o.length;n++)a=t[i=o[n]],&quot;_&quot;!==i.charAt(0)&amp;&amp;&quot;function&quot;!=typeof a&amp;&amp;(&quot;module&quot;===i?r[i]=a:Array.isArray(a)?r[i]=a.slice(0,3):r[i]=a&amp;&amp;&quot;object&quot;==typeof a?l.minExtend(t[i],e[i]):a);for(o=Object.keys(e),n=0;n&lt;o.length;n++)&quot;object&quot;==typeof(a=e[i=o[n]])&amp;&amp;i in r&amp;&amp;&quot;object&quot;==typeof r[i]||(r[i]=a);return r},l.titleCase=function(t){return t.charAt(0).toUpperCase()+t.substr(1)},l.containsAny=function(t,e){for(var r=0;r&lt;e.length;r++)if(-1!==t.indexOf(e[r]))return!0;return!1},l.isPlotDiv=function(t){var e=n.select(t);return e.node()instanceof HTMLElement&amp;&amp;e.size()&amp;&amp;e.classed(&quot;js-plotly-plot&quot;)},l.removeElement=function(t){var e=t&amp;&amp;t.parentNode;e&amp;&amp;e.removeChild(t)},l.addStyleRule=function(t,e){if(!l.styleSheet){var r=document.createElement(&quot;style&quot;);r.appendChild(document.createTextNode(&quot;&quot;)),document.head.appendChild(r),l.styleSheet=r.sheet}var n=l.styleSheet;n.insertRule?n.insertRule(t+&quot;{&quot;+e+&quot;}&quot;,0):n.addRule?n.addRule(t,e,0):l.warn(&quot;addStyleRule failed&quot;)},l.isIE=function(){return void 0!==window.navigator.msSaveBlob},l.isD3Selection=function(t){return t&amp;&amp;&quot;function&quot;==typeof t.classed},l.objectFromPath=function(t,e){for(var r,n=t.split(&quot;.&quot;),i=r={},a=0;a&lt;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 b=/^([^\[\.]+)\.(.+)?/,_=/^([^\.]+)\[([0-9]+)\](\.)?(.+)?/;l.expandObjectPaths=function(t){var e,r,n,i,a,o,s;if(&quot;object&quot;==typeof t&amp;&amp;!Array.isArray(t))for(r in t)t.hasOwnProperty(r)&amp;&amp;((e=r.match(b))?(i=t[r],n=e[1],delete t[r],t[n]=l.extendDeepNoArrays(t[n]||{},l.objectFromPath(r,l.expandObjectPaths(i))[n])):(e=r.match(_))?(i=t[r],n=e[1],a=parseInt(e[2]),delete t[r],t[n]=t[n]||[],&quot;.&quot;===e[3]?(s=e[4],o=t[n][a]=t[n][a]||{},l.extendDeepNoArrays(o,l.objectFromPath(s,l.expandObjectPaths(i)))):t[n][a]=l.expandObjectPaths(i)):t[r]=l.expandObjectPaths(t[r]));return t},l.numSeparate=function(t,e,r){if(r||(r=!1),&quot;string&quot;!=typeof e||0===e.length)throw new Error(&quot;Separator string required for formatting!&quot;);&quot;number&quot;==typeof t&amp;&amp;(t=String(t));var n=/(\d+)(\d{3})/,i=e.charAt(0),a=e.charAt(1),o=t.split(&quot;.&quot;),s=o[0],l=o.length&gt;1?i+o[1]:&quot;&quot;;if(a&amp;&amp;(o.length&gt;1||s.length&gt;4||r))for(;n.test(s);)s=s.replace(n,&quot;$1&quot;+a+&quot;$2&quot;);return s+l};var w=/%{([^\s%{}]*)}/g,M=/^\w*$/;l.templateString=function(t,e){var r={};return t.replace(w,function(t,n){return M.test(n)?e[n]||&quot;&quot;:(r[n]=r[n]||l.nestedProperty(e,n).get,r[n]()||&quot;&quot;)})};l.subplotSort=function(t,e){for(var r=Math.min(t.length,e.length)+1,n=0,i=0,a=0;a&lt;r;a++){var o=t.charCodeAt(a)||0,s=e.charCodeAt(a)||0,l=o&gt;=48&amp;&amp;o&lt;=57,c=s&gt;=48&amp;&amp;s&lt;=57;if(l&amp;&amp;(n=10*n+o-48),c&amp;&amp;(i=10*i+s-48),!l||!c){if(n!==i)return n-i;if(o!==s)return o-s}}return i-n},l.eventListenerOptionsSupported=function(){var t=!1;try{var e=Object.defineProperty({},&quot;passive&quot;,{get:function(){t=!0}});window.addEventListener(&quot;test&quot;,null,e),window.removeEventListener(&quot;test&quot;,null,e)}catch(e){t=!1}return t}},{&quot;../constants/numerical&quot;:721,&quot;./angles&quot;:726,&quot;./clean_number&quot;:727,&quot;./coerce&quot;:728,&quot;./dates&quot;:729,&quot;./ensure_array&quot;:730,&quot;./extend&quot;:732,&quot;./filter_unique&quot;:733,&quot;./filter_visible&quot;:734,&quot;./geometry2d&quot;:737,&quot;./get_graph_div&quot;:738,&quot;./identity&quot;:742,&quot;./is_array&quot;:744,&quot;./is_plain_object&quot;:745,&quot;./keyed_container&quot;:746,&quot;./localize&quot;:747,&quot;./loggers&quot;:748,&quot;./matrix&quot;:749,&quot;./mod&quot;:750,&quot;./nested_property&quot;:751,&quot;./noop&quot;:752,&quot;./notifier&quot;:753,&quot;./push_unique&quot;:756,&quot;./regex&quot;:758,&quot;./relative_attr&quot;:759,&quot;./relink_private&quot;:760,&quot;./search&quot;:761,&quot;./stats&quot;:764,&quot;./throttle&quot;:767,&quot;./to_log_range&quot;:768,d3:128,&quot;fast-isnumeric&quot;:140}],744:[function(t,e,r){&quot;use strict&quot;;var n=&quot;undefined&quot;!=typeof ArrayBuffer&amp;&amp;ArrayBuffer.isView?ArrayBuffer:{isView:function(){return!1}};e.exports=function(t){return Array.isArray(t)||n.isView(t)}},{}],745:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t){return window&amp;&amp;window.process&amp;&amp;window.process.versions?&quot;[object Object]&quot;===Object.prototype.toString.call(t):&quot;[object Object]&quot;===Object.prototype.toString.call(t)&amp;&amp;Object.getPrototypeOf(t)===Object.prototype}},{}],746:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;./nested_property&quot;),i=/^\w*$/;e.exports=function(t,e,r,a){r=r||&quot;name&quot;,a=a||&quot;value&quot;;var o,s,l={};s=e&amp;&amp;e.length?n(t,e).get():t,e=e||&quot;&quot;,s=s||[];var c={};for(o=0;o&lt;s.length;o++)c[s[o][r]]=o;var u=i.test(a),f={set:function(t,e){var i=null===e?4:0,o=c[t];void 0===o?(i|=3,o=s.length,c[t]=o):e!==(u?s[o][a]:n(s[o],a).get())&amp;&amp;(i|=2);var h=s[o]=s[o]||{};return h[r]=t,u?h[a]=e:n(h,a).set(e),null!==e&amp;&amp;(i&amp;=-5),l[o]=l[o]|i,f},get:function(t){var e=c[t];return void 0===e?void 0:u?s[e][a]:n(s[e],a).get()},rename:function(t,e){var n=c[t];return void 0===n?f:(l[n]=1|l[n],c[e]=n,delete c[t],s[n][r]=e,f)},remove:function(t){var e=c[t];if(void 0===e)return f;var i=s[e];if(Object.keys(i).length&gt;2)return l[e]=2|l[e],f.set(t,null);if(u){for(o=e;o&lt;s.length;o++)l[o]=3|l[o];for(o=e;o&lt;s.length;o++)c[s[o][r]]--;s.splice(e,1),delete c[t]}else n(i,a).set(null),l[e]=6|l[e];return f},constructUpdate:function(){for(var t,i,o={},c=Object.keys(l),f=0;f&lt;c.length;f++)i=c[f],t=e+&quot;[&quot;+i+&quot;]&quot;,s[i]?(1&amp;l[i]&amp;&amp;(o[t+&quot;.&quot;+r]=s[i][r]),2&amp;l[i]&amp;&amp;(o[t+&quot;.&quot;+a]=u?4&amp;l[i]?null:s[i][a]:4&amp;l[i]?null:n(s[i],a).get())):o[t]=null;return o}};return f}},{&quot;./nested_property&quot;:751}],747:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../registry&quot;);e.exports=function(t,e){for(var r=t._context.locale,i=0;i&lt;2;i++){for(var a=t._context.locales,o=0;o&lt;2;o++){var s=(a[r]||{}).dictionary;if(s){var l=s[e];if(l)return l}a=n.localeRegistry}var c=r.split(&quot;-&quot;)[0];if(c===r)break;r=c}return e}},{&quot;../registry&quot;:873}],748:[function(t,e,r){&quot;use strict&quot;;function n(t,e){if(t.apply)t.apply(t,e);else for(var r=0;r&lt;e.length;r++)t(e[r])}var i=t(&quot;../plot_api/plot_config&quot;),a=e.exports={};a.log=function(){if(i.logging&gt;1){for(var t=[&quot;LOG:&quot;],e=0;e&lt;arguments.length;e++)t.push(arguments[e]);n(console.trace||console.log,t)}},a.warn=function(){if(i.logging&gt;0){for(var t=[&quot;WARN:&quot;],e=0;e&lt;arguments.length;e++)t.push(arguments[e]);n(console.trace||console.log,t)}},a.error=function(){if(i.logging&gt;0){for(var t=[&quot;ERROR:&quot;],e=0;e&lt;arguments.length;e++)t.push(arguments[e]);n(console.error,t)}}},{&quot;../plot_api/plot_config&quot;:777}],749:[function(t,e,r){&quot;use strict&quot;;r.init2dArray=function(t,e){for(var r=new Array(t),n=0;n&lt;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&lt;i;e++)n=Math.max(n,t[e].length);var a=new Array(n);for(e=0;e&lt;n;e++)for(a[e]=new Array(i),r=0;r&lt;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&lt;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&lt;o.length;i++)n[i]=r.dot(t,o[i])}else for(n=0,i=0;i&lt;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.apply2DTransform=function(t){return function(){var e=arguments;3===e.length&amp;&amp;(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)))}}},{}],750:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t,e){var r=t%e;return r&lt;0?r+e:r}},{}],751:[function(t,e,r){&quot;use strict&quot;;function n(t,e){return function(){var r,i,a,o,s,l=t;for(o=0;o&lt;e.length-1;o++){if(-1===(r=e[o])){for(i=!0,a=[],s=0;s&lt;l.length;s++)a[s]=n(l[s],e.slice(o+1))(),a[s]!==a[0]&amp;&amp;(i=!1);return i?a[0]:a}if(&quot;number&quot;==typeof r&amp;&amp;!c(l))return;if(&quot;object&quot;!=typeof(l=l[r])||null===l)return}if(&quot;object&quot;==typeof l&amp;&amp;null!==l&amp;&amp;null!==(a=l[e[o]]))return a}}function i(t,e){if(!function(t){return void 0===t||null===t||&quot;object&quot;==typeof t&amp;&amp;(c(t)?!t.length:!Object.keys(t).length)}(t)||u(t)&amp;&amp;&quot;]&quot;===e.charAt(e.length-1)||e.match(d)&amp;&amp;void 0!==t)return!1;if(!c(t))return!0;if(e.match(h))return!0;var r=f(e);return r&amp;&amp;&quot;&quot;===r.index}function a(t,e,r){return function(n){var l,u,f=t,h=&quot;&quot;,d=[[t,h]],p=i(n,r);for(u=0;u&lt;e.length-1;u++){if(&quot;number&quot;==typeof(l=e[u])&amp;&amp;!c(f))throw&quot;array index but container is not an array&quot;;if(-1===l){if(p=!function(t,e,r,n){var o,l=c(r),u=!0,f=r,h=n.replace(&quot;-1&quot;,0),d=!l&amp;&amp;i(r,h),p=e[0];for(o=0;o&lt;t.length;o++)h=n.replace(&quot;-1&quot;,o),l&amp;&amp;(f=r[o%r.length],d=i(f,h)),d&amp;&amp;(u=!1),s(t,o,p,d)&amp;&amp;a(t[o],e,n.replace(&quot;-1&quot;,o))(f);return u}(f,e.slice(u+1),n,r))break;return}if(!s(f,l,e[u+1],p))break;if(&quot;object&quot;!=typeof(f=f[l])||null===f)throw&quot;container is not an object&quot;;h=o(h,l),d.push([f,h])}p?(u===e.length-1&amp;&amp;delete f[e[u]],function(t){var e,r,n,a,s,l;for(e=t.length-1;e&gt;=0;e--){if(n=t[e][0],a=t[e][1],l=!1,c(n))for(r=n.length-1;r&gt;=0;r--)i(n[r],o(a,r))?l?n[r]=void 0:n.pop():l=!0;else if(&quot;object&quot;==typeof n&amp;&amp;null!==n)for(s=Object.keys(n),l=!1,r=s.length-1;r&gt;=0;r--)i(n[s[r]],o(a,s[r]))?delete n[s[r]]:l=!0;if(l)return}}(d)):f[e[u]]=n}}function o(t,e){var r=e;return l(e)?r=&quot;[&quot;+e+&quot;]&quot;:t&amp;&amp;(r=&quot;.&quot;+e),t+r}function s(t,e,r,n){if(void 0===t[e]){if(n)return!1;t[e]=&quot;number&quot;==typeof r?[]:{}}return!0}var l=t(&quot;fast-isnumeric&quot;),c=t(&quot;./is_array&quot;),u=t(&quot;./is_plain_object&quot;),f=t(&quot;../plot_api/container_array_match&quot;);e.exports=function(t,e){if(l(e))e=String(e);else if(&quot;string&quot;!=typeof e||&quot;[-1]&quot;===e.substr(e.length-4))throw&quot;bad property string&quot;;for(var r,i,o,s=0,c=e.split(&quot;.&quot;);s&lt;c.length;){if(r=String(c[s]).match(/^([^\[\]]*)((\[\-?[0-9]*\])+)$/)){if(r[1])c[s]=r[1];else{if(0!==s)throw&quot;bad property string&quot;;c.splice(0,1)}for(i=r[2].substr(1,r[2].length-2).split(&quot;][&quot;),o=0;o&lt;i.length;o++)s++,c.splice(s,0,Number(i[o]))}s++}return&quot;object&quot;!=typeof t?function(t,e,r){return{set:function(){throw&quot;bad container&quot;},get:function(){},astr:e,parts:r,obj:t}}(t,e,c):{set:a(t,c,e),get:n(t,c),astr:e,parts:c,obj:t}};var h=/(^|\.)((domain|range)(\.[xy])?|args|parallels)$/,d=/(^|\.)args\[/},{&quot;../plot_api/container_array_match&quot;:772,&quot;./is_array&quot;:744,&quot;./is_plain_object&quot;:745,&quot;fast-isnumeric&quot;:140}],752:[function(t,e,r){&quot;use strict&quot;;e.exports=function(){}},{}],753:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;d3&quot;),i=t(&quot;fast-isnumeric&quot;),a=[];e.exports=function(t,e){function r(t){t.duration(700).style(&quot;opacity&quot;,0).each(&quot;end&quot;,function(t){var e=a.indexOf(t);-1!==e&amp;&amp;a.splice(e,1),n.select(this).remove()})}if(-1===a.indexOf(t)){a.push(t);var o=1e3;i(e)?o=e:&quot;long&quot;===e&amp;&amp;(o=3e3);var s=n.select(&quot;body&quot;).selectAll(&quot;.plotly-notifier&quot;).data([0]);s.enter().append(&quot;div&quot;).classed(&quot;plotly-notifier&quot;,!0);s.selectAll(&quot;.notifier-note&quot;).data(a).enter().append(&quot;div&quot;).classed(&quot;notifier-note&quot;,!0).style(&quot;opacity&quot;,0).each(function(t){var e=n.select(this);e.append(&quot;button&quot;).classed(&quot;notifier-close&quot;,!0).html(&quot;&amp;times;&quot;).on(&quot;click&quot;,function(){e.transition().call(r)});for(var i=e.append(&quot;p&quot;),a=t.split(/&lt;br\s*\/?&gt;/g),s=0;s&lt;a.length;s++)s&amp;&amp;i.append(&quot;br&quot;),i.append(&quot;span&quot;).text(a[s]);e.transition().duration(700).style(&quot;opacity&quot;,1).transition().delay(o).call(r)})}}},{d3:128,&quot;fast-isnumeric&quot;:140}],754:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;./setcursor&quot;),i=&quot;data-savedcursor&quot;;e.exports=function(t,e){var r=t.attr(i);if(e){if(!r){for(var a=(t.attr(&quot;class&quot;)||&quot;&quot;).split(&quot; &quot;),o=0;o&lt;a.length;o++){var s=a[o];0===s.indexOf(&quot;cursor-&quot;)&amp;&amp;t.attr(i,s.substr(7)).classed(s,!1)}t.attr(i)||t.attr(i,&quot;!!&quot;)}n(t,e)}else r&amp;&amp;(t.attr(i,null),&quot;!!&quot;===r?n(t):n(t,r))}},{&quot;./setcursor&quot;:762}],755:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;./matrix&quot;).dot,i=t(&quot;../constants/numerical&quot;).BADNUM,a=e.exports={};a.tester=function(t){if(Array.isArray(t[0][0]))return a.multitester(t);var e,r=t.slice(),n=r[0][0],o=n,s=r[0][1],l=s;for(r.push(r[0]),e=1;e&lt;r.length;e++)n=Math.min(n,r[e][0]),o=Math.max(o,r[e][0]),s=Math.min(s,r[e][1]),l=Math.max(l,r[e][1]);var c,u=!1;5===r.length&amp;&amp;(r[0][0]===r[1][0]?r[2][0]===r[3][0]&amp;&amp;r[0][1]===r[3][1]&amp;&amp;r[1][1]===r[2][1]&amp;&amp;(u=!0,c=function(t){return t[0]===r[0][0]}):r[0][1]===r[1][1]&amp;&amp;r[2][1]===r[3][1]&amp;&amp;r[0][0]===r[3][0]&amp;&amp;r[1][0]===r[2][0]&amp;&amp;(u=!0,c=function(t){return t[1]===r[0][1]}));var f=!0,h=r[0];for(e=1;e&lt;r.length;e++)if(h[0]!==r[e][0]||h[1]!==r[e][1]){f=!1;break}return{xmin:n,xmax:o,ymin:s,ymax:l,pts:r,contains:u?function(t,e){var r=t[0],a=t[1];return!(r===i||r&lt;n||r&gt;o||a===i||a&lt;s||a&gt;l||e&amp;&amp;c(t))}:function(t,e){var a=t[0],c=t[1];if(a===i||a&lt;n||a&gt;o||c===i||c&lt;s||c&gt;l)return!1;var u,f,h,d,p,m=r.length,g=r[0][0],v=r[0][1],y=0;for(u=1;u&lt;m;u++)if(f=g,h=v,g=r[u][0],v=r[u][1],d=Math.min(f,g),!(a&lt;d||a&gt;Math.max(f,g)||c&gt;Math.max(h,v)))if(c&lt;Math.min(h,v))a!==d&amp;&amp;y++;else{if(p=g===f?c:h+(a-f)*(v-h)/(g-f),c===p)return 1!==u||!e;c&lt;=p&amp;&amp;a!==d&amp;&amp;y++}return y%2==1},isRect:u,degenerate:f}},a.multitester=function(t){for(var e=[],r=t[0][0][0],n=r,i=t[0][0][1],o=i,s=0;s&lt;t.length;s++){var l=a.tester(t[s]);l.subtract=t[s].subtract,e.push(l),r=Math.min(r,l.xmin),n=Math.max(n,l.xmax),i=Math.min(i,l.ymin),o=Math.max(o,l.ymax)}return{xmin:r,xmax:n,ymin:i,ymax:o,pts:[],contains:function(t,r){for(var n=!1,i=0;i&lt;e.length;i++)e[i].contains(t,r)&amp;&amp;(n=!1===e[i].subtract);return n},isRect:!1,degenerate:!1}};var o=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&lt;r;a++)if(o=[t[a][0]-l[0],t[a][1]-l[1]],(s=n(o,c))&lt;0||s&gt;u||Math.abs(n(o,h))&gt;i)return!0;return!1};a.filter=function(t,e){function r(r){t.push(r);var s=n.length,l=i;n.splice(a+1);for(var c=l+1;c&lt;t.length;c++)(c===t.length-1||o(t,l,c+1,e))&amp;&amp;(n.push(t[c]),n.length&lt;s-2&amp;&amp;(i=c,a=n.length-1),l=c)}var n=[t[0]],i=0,a=0;if(t.length&gt;1){r(t.pop())}return{addPt:r,raw:t,filtered:n}}},{&quot;../constants/numerical&quot;:721,&quot;./matrix&quot;:749}],756:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t,e){if(e instanceof RegExp){var r,n=e.toString();for(r=0;r&lt;t.length;r++)if(t[r]instanceof RegExp&amp;&amp;t[r].toString()===n)return t;t.push(e)}else e&amp;&amp;-1===t.indexOf(e)&amp;&amp;t.push(e);return t}},{}],757:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../lib&quot;),i=t(&quot;../plot_api/plot_config&quot;),a={};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&amp;&amp;(o.undo.calls.unshift(e),o.undo.args.unshift(r),o.redo.calls.push(n),o.redo.args.push(a)),t.undoQueue.queue.length&gt;i.queueLength&amp;&amp;(t.undoQueue.queue.shift(),t.undoQueue.index--))},a.startSequence=function(t){t.undoQueue=t.undoQueue||{index:0,queue:[],sequence:!1},t.undoQueue.sequence=!0,t.undoQueue.beginSequence=!0},a.stopSequence=function(t){t.undoQueue=t.undoQueue||{index:0,queue:[],sequence:!1},t.undoQueue.sequence=!1,t.undoQueue.beginSequence=!1},a.undo=function(t){var e,r;if(t.framework&amp;&amp;t.framework.isPolar)t.framework.undo();else if(!(void 0===t.undoQueue||isNaN(t.undoQueue.index)||t.undoQueue.index&lt;=0)){for(t.undoQueue.index--,e=t.undoQueue.queue[t.undoQueue.index],t.undoQueue.inSequence=!0,r=0;r&lt;e.undo.calls.length;r++)a.plotDo(t,e.undo.calls[r],e.undo.args[r]);t.undoQueue.inSequence=!1,t.autoplay=!1}},a.redo=function(t){var e,r;if(t.framework&amp;&amp;t.framework.isPolar)t.framework.redo();else if(!(void 0===t.undoQueue||isNaN(t.undoQueue.index)||t.undoQueue.index&gt;=t.undoQueue.queue.length)){for(e=t.undoQueue.queue[t.undoQueue.index],t.undoQueue.inSequence=!0,r=0;r&lt;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&lt;e.length;a++)r=e[a],i[a]=r===t?r:&quot;object&quot;==typeof r?Array.isArray(r)?n.extendDeep([],r):n.extendDeepAll({},r):r;return i}(t,r),e.apply(null,r)},e.exports=a},{&quot;../lib&quot;:743,&quot;../plot_api/plot_config&quot;:777}],758:[function(t,e,r){&quot;use strict&quot;;r.counter=function(t,e,r){return new RegExp(&quot;^&quot;+t+&quot;([2-9]|[1-9][0-9]+)?&quot;+(e||&quot;&quot;)+(r?&quot;&quot;:&quot;$&quot;))}},{}],759:[function(t,e,r){&quot;use strict&quot;;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(&quot;bad relativeAttr call:&quot;+[t,e]);t=&quot;&quot;}if(&quot;^&quot;!==e.charAt(0))break;e=e.slice(1)}return t&amp;&amp;&quot;[&quot;!==e.charAt(0)?t+&quot;.&quot;+e:t+e}},{}],760:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;./is_array&quot;),i=t(&quot;./is_plain_object&quot;);e.exports=function t(e,r){for(var a=Object.keys(r||{}),o=0;o&lt;a.length;o++){var s=a[o],l=r[s],c=e[s];if(&quot;_&quot;===s.charAt(0)||&quot;function&quot;==typeof l){if(s in e)continue;e[s]=l}else if(n(l)&amp;&amp;n(c)&amp;&amp;i(l[0]))for(var u=0;u&lt;l.length;u++)i(l[u])&amp;&amp;i(c[u])&amp;&amp;t(c[u],l[u]);else i(l)&amp;&amp;i(c)&amp;&amp;(t(c,l),Object.keys(c).length||delete e[s])}}},{&quot;./is_array&quot;:744,&quot;./is_plain_object&quot;:745}],761:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;fast-isnumeric&quot;),i=t(&quot;./loggers&quot;);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,s=0,l=e.length,c=0,u=l&gt;1?(e[l-1]-e[0])/(l-1):1;for(o=u&gt;=0?r?function(t,e){return t&lt;e}:function(t,e){return t&lt;=e}:r?function(t,e){return t&gt;=e}:function(t,e){return t&gt;e},t+=1e-9*u*(r?-1:1)*(u&gt;=0?1:-1);s&lt;l&amp;&amp;c++&lt;100;)o(e[a=Math.floor((s+l)/2)],t)?s=a+1:l=a;return c&gt;90&amp;&amp;i.log(&quot;Long binary search...&quot;),s-1},r.sorterAsc=function(t,e){return t-e},r.sorterDes=function(t,e){return e-t},r.distinctVals=function(t){var e=t.slice();e.sort(r.sorterAsc);for(var n=e.length-1,i=e[n]-e[0]||1,a=i/(n||1)/1e4,o=[e[0]],s=0;s&lt;n;s++)e[s+1]&gt;e[s]+a&amp;&amp;(i=Math.min(i,e[s+1]-e[s]),o.push(e[s+1]));return{vals:o,minDiff:i}},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&lt;a&amp;&amp;o++&lt;100;)e[n=c((i+a)/2)]&lt;=t?i=n+s:a=n-l;return e[i]}},{&quot;./loggers&quot;:748,&quot;fast-isnumeric&quot;:140}],762:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t,e){(t.attr(&quot;class&quot;)||&quot;&quot;).split(&quot; &quot;).forEach(function(e){0===e.indexOf(&quot;cursor-&quot;)&amp;&amp;t.classed(e,!1)}),e&amp;&amp;t.classed(&quot;cursor-&quot;+e,!0)}},{}],763:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../components/color&quot;),i=function(){};e.exports=function(t){for(var e in t)&quot;function&quot;==typeof t[e]&amp;&amp;(t[e]=i);t.destroy=function(){t.container.parentNode.removeChild(t.container)};var r=document.createElement(&quot;div&quot;);return r.textContent=&quot;Webgl is not supported by your browser - visit http://get.webgl.org for more info&quot;,r.style.cursor=&quot;pointer&quot;,r.style.fontSize=&quot;24px&quot;,r.style.color=n.defaults[0],t.container.appendChild(r),t.container.style.background=&quot;#FFFFFF&quot;,t.container.onclick=function(){window.open(&quot;http://get.webgl.org&quot;)},!1}},{&quot;../components/color&quot;:618}],764:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;fast-isnumeric&quot;);r.aggNums=function(t,e,i,a){var o,s;if(a||(a=i.length),n(e)||(e=!1),Array.isArray(i[0])){for(s=new Array(a),o=0;o&lt;a;o++)s[o]=r.aggNums(t,e,i[o]);i=s}for(o=0;o&lt;a;o++)n(e)?n(i[o])&amp;&amp;(e=t(+e,+i[o])):e=i[o];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.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.interp=function(t,e){if(!n(e))throw&quot;n should be a finite number&quot;;if((e=e*t.length-.5)&lt;0)return t[0];if(e&gt;t.length-1)return t[t.length-1];var r=e%1;return r*t[Math.ceil(e)]+(1-r)*t[Math.floor(e)]}},{&quot;fast-isnumeric&quot;:140}],765:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;color-normalize&quot;);e.exports=function(t){return t?n(t):[0,0,0,1]}},{&quot;color-normalize&quot;:99}],766:[function(t,e,r){&quot;use strict&quot;;function n(t,e){return t.node().getBoundingClientRect()[e]}function i(t,e,r){var n=&quot;math-output-&quot;+c.randstr([],64),i=l.select(&quot;body&quot;).append(&quot;div&quot;).attr({id:n}).style({visibility:&quot;hidden&quot;,position:&quot;absolute&quot;}).style({&quot;font-size&quot;:e.fontSize+&quot;px&quot;}).text(function(t){return t.replace(p,&quot;\\lt &quot;).replace(m,&quot;\\gt &quot;)}(t));MathJax.Hub.Queue([&quot;Typeset&quot;,MathJax.Hub,i.node()],function(){var e=l.select(&quot;body&quot;).select(&quot;#MathJax_SVG_glyphs&quot;);if(i.select(&quot;.MathJax_SVG&quot;).empty()||!i.select(&quot;svg&quot;).node())c.log(&quot;There was an error in the tex syntax.&quot;,t),r();else{var n=i.select(&quot;svg&quot;).node().getBoundingClientRect();r(i.select(&quot;.MathJax_SVG&quot;),e,n)}i.remove()})}function a(t,e){if(!t)return null;var r=t.match(e);return r&amp;&amp;(r[3]||r[4])}function o(t,e){function r(){p++;var e=document.createElementNS(u.svg,&quot;tspan&quot;);l.select(e).attr({class:&quot;line&quot;,dy:p*h+&quot;em&quot;}),t.appendChild(e),s=e;var r=d;if(d=[{node:e}],r.length&gt;1)for(var i=1;i&lt;r.length;i++)n(r[i])}function n(t){var e,r=t.type,n={};if(&quot;a&quot;===r){e=&quot;a&quot;;var a=t.target,o=t.href,c=t.popup;o&amp;&amp;(n={&quot;xlink:xlink:show&quot;:&quot;_blank&quot;===a||&quot;_&quot;!==a.charAt(0)?&quot;new&quot;:&quot;replace&quot;,target:a,&quot;xlink:xlink:href&quot;:o},c&amp;&amp;(n.onclick='window.open(this.href.baseVal,this.target.baseVal,&quot;'+c+'&quot;);return false;'))}else e=&quot;tspan&quot;;t.style&amp;&amp;(n.style=t.style);var f=document.createElementNS(u.svg,e);if(&quot;sup&quot;===r||&quot;sub&quot;===r){i(s,x),s.appendChild(f);var h=document.createElementNS(u.svg,&quot;tspan&quot;);i(h,x),l.select(h).attr(&quot;dy&quot;,y[r]),n.dy=v[r],s.appendChild(f),s.appendChild(h)}else s.appendChild(f);l.select(f).attr(n),s=t.node=f,d.push(t)}function i(t,e){t.appendChild(document.createTextNode(e))}function o(t){if(1!==d.length){var r=d.pop();t!==r.type&amp;&amp;c.log(&quot;Start tag &lt;&quot;+r.type+&quot;&gt; doesnt match end tag &lt;&quot;+t+&quot;&gt;. Pretending it did match.&quot;,e),s=d[d.length-1].node}else c.log(&quot;Ignoring unexpected end tag &lt;/&quot;+t+&quot;&gt;.&quot;,e)}e=function(t){return function(t,e){if(!t)return&quot;&quot;;for(var r=0;r&lt;e.length;r++){var n=e[r];t=t.replace(n.regExp,n.sub)}return t}(t,w)}(e).replace(M,&quot; &quot;);var s,f=!1,d=[],p=-1;T.test(e)?r():(s=t,d=[{node:t}]);for(var m=e.split(k),_=0;_&lt;m.length;_++){var D=m[_],I=D.match(A),P=I&amp;&amp;I[2].toLowerCase(),O=g[P];if(&quot;br&quot;===P)r();else if(void 0===O)i(s,D);else if(I[1])o(P);else{var F=I[4],R={type:P},N=a(F,S);if(N?(N=N.replace(z,&quot;$1 fill:&quot;),O&amp;&amp;(N+=&quot;;&quot;+O)):O&amp;&amp;(N=O),N&amp;&amp;(R.style=N),&quot;a&quot;===P){f=!0;var j=a(F,E);if(j){var B=document.createElement(&quot;a&quot;);B.href=j,-1!==b.indexOf(B.protocol)&amp;&amp;(R.href=encodeURI(j),R.target=a(F,L)||&quot;_blank&quot;,R.popup=a(F,C))}}n(R)}}return f}function s(t,e,r){var n,i,a,o=r.horizontalAlign,s=r.verticalAlign||&quot;top&quot;,l=t.node().getBoundingClientRect(),c=e.node().getBoundingClientRect();return i=&quot;bottom&quot;===s?function(){return l.bottom-n.height}:&quot;middle&quot;===s?function(){return l.top+(l.height-n.height)/2}:function(){return l.top},a=&quot;right&quot;===o?function(){return l.right-n.width}:&quot;center&quot;===o?function(){return l.left+(l.width-n.width)/2}:function(){return l.left},function(){return n=this.node().getBoundingClientRect(),this.style({top:i()-c.top+&quot;px&quot;,left:a()-c.left+&quot;px&quot;,&quot;z-index&quot;:1e3}),this}}var l=t(&quot;d3&quot;),c=t(&quot;../lib&quot;),u=t(&quot;../constants/xmlns_namespaces&quot;),f=t(&quot;../constants/string_mappings&quot;),h=t(&quot;../constants/alignment&quot;).LINE_SPACING,d=/([^$]*)([$]+[^$]*[$]+)([^$]*)/;r.convertToTspans=function(t,e,a){function s(){f.empty()||(h=t.attr(&quot;class&quot;)+&quot;-math&quot;,f.select(&quot;svg.&quot;+h).remove()),t.text(&quot;&quot;).style(&quot;white-space&quot;,&quot;pre&quot;);o(t.node(),c)&amp;&amp;t.style(&quot;pointer-events&quot;,&quot;all&quot;),r.positionText(t),a&amp;&amp;a.call(t)}var c=t.text(),u=!t.attr(&quot;data-notex&quot;)&amp;&amp;&quot;undefined&quot;!=typeof MathJax&amp;&amp;c.match(d),f=l.select(t.node().parentNode);if(!f.empty()){var h=t.attr(&quot;class&quot;)?t.attr(&quot;class&quot;).split(&quot; &quot;)[0]:&quot;text&quot;;return h+=&quot;-math&quot;,f.selectAll(&quot;svg.&quot;+h).remove(),f.selectAll(&quot;g.&quot;+h+&quot;-group&quot;).remove(),t.style(&quot;display&quot;,null).attr({&quot;data-unformatted&quot;:c,&quot;data-math&quot;:&quot;N&quot;}),u?(e&amp;&amp;e._promises||[]).push(new Promise(function(e){t.style(&quot;display&quot;,&quot;none&quot;);var r=parseInt(t.node().style.fontSize,10);i(u[2],{fontSize:r},function(i,o,l){f.selectAll(&quot;svg.&quot;+h).remove(),f.selectAll(&quot;g.&quot;+h+&quot;-group&quot;).remove();var u=i&amp;&amp;i.select(&quot;svg&quot;);if(!u||!u.node())return s(),void e();var d=f.append(&quot;g&quot;).classed(h+&quot;-group&quot;,!0).attr({&quot;pointer-events&quot;:&quot;none&quot;,&quot;data-unformatted&quot;:c,&quot;data-math&quot;:&quot;Y&quot;});d.node().appendChild(u.node()),o&amp;&amp;o.node()&amp;&amp;u.node().insertBefore(o.node().cloneNode(!0),u.node().firstChild),u.attr({class:h,height:l.height,preserveAspectRatio:&quot;xMinYMin meet&quot;}).style({overflow:&quot;visible&quot;,&quot;pointer-events&quot;:&quot;none&quot;});var p=t.node().style.fill||&quot;black&quot;;u.select(&quot;g&quot;).attr({fill:p,stroke:p});var m=n(u,&quot;width&quot;),g=n(u,&quot;height&quot;),v=+t.attr(&quot;x&quot;)-m*{start:0,middle:.5,end:1}[t.attr(&quot;text-anchor&quot;)||&quot;start&quot;],y=-(r||n(t,&quot;height&quot;))/4;&quot;y&quot;===h[0]?(d.attr({transform:&quot;rotate(&quot;+[-90,+t.attr(&quot;x&quot;),+t.attr(&quot;y&quot;)]+&quot;) translate(&quot;+[-m/2,y-g/2]+&quot;)&quot;}),u.attr({x:+t.attr(&quot;x&quot;),y:+t.attr(&quot;y&quot;)})):&quot;l&quot;===h[0]?u.attr({x:t.attr(&quot;x&quot;),y:y-g/2}):&quot;a&quot;===h[0]?u.attr({x:0,y:y}):u.attr({x:v,y:+t.attr(&quot;y&quot;)+y-g/2}),a&amp;&amp;a.call(t,d),e(d)})})):s(),t}};var p=/(&lt;|&amp;lt;|&amp;#60;)/g,m=/(&gt;|&amp;gt;|&amp;#62;)/g,g={sup:&quot;font-size:70%&quot;,sub:&quot;font-size:70%&quot;,b:&quot;font-weight:bold&quot;,i:&quot;font-style:italic&quot;,a:&quot;cursor:pointer&quot;,span:&quot;&quot;,em:&quot;font-style:italic;font-weight:bold&quot;},v={sub:&quot;0.3em&quot;,sup:&quot;-0.6em&quot;},y={sub:&quot;-0.21em&quot;,sup:&quot;0.42em&quot;},x=&quot;\u200b&quot;,b=[&quot;http:&quot;,&quot;https:&quot;,&quot;mailto:&quot;,&quot;&quot;,void 0,&quot;:&quot;],_=new RegExp(&quot;&lt;/?(&quot;+Object.keys(g).join(&quot;|&quot;)+&quot;)( [^&gt;]*)?/?&gt;&quot;,&quot;g&quot;),w=Object.keys(f.entityToUnicode).map(function(t){return{regExp:new RegExp(&quot;&amp;&quot;+t+&quot;;&quot;,&quot;g&quot;),sub:f.entityToUnicode[t]}}),M=/(\r\n?|\n)/g,k=/(&lt;[^&lt;&gt;]*&gt;)/,A=/&lt;(\/?)([^ &gt;]*)(\s+(.*))?&gt;/i,T=/&lt;br(\s+.*)?&gt;/i,S=/(^|[\s&quot;'])style\s*=\s*(&quot;([^&quot;]*);?&quot;|'([^']*);?')/i,E=/(^|[\s&quot;'])href\s*=\s*(&quot;([^&quot;]*)&quot;|'([^']*)')/i,L=/(^|[\s&quot;'])target\s*=\s*(&quot;([^&quot;\s]*)&quot;|'([^'\s]*)')/i,C=/(^|[\s&quot;'])popup\s*=\s*(&quot;([\w=,]*)&quot;|'([\w=,]*)')/i,z=/(^|;)\s*color:/;r.plainText=function(t){return(t||&quot;&quot;).replace(_,&quot; &quot;)},r.lineCount=function(t){return t.selectAll(&quot;tspan.line&quot;).size()||1},r.positionText=function(t,e,r){return t.each(function(){function t(t,e){return void 0===e?null===(e=n.attr(t))&amp;&amp;(n.attr(t,0),e=0):n.attr(t,e),e}var n=l.select(this),i=t(&quot;x&quot;,e),a=t(&quot;y&quot;,r);&quot;text&quot;===this.nodeName&amp;&amp;n.selectAll(&quot;tspan.line&quot;).attr({x:i,y:a})})},r.makeEditable=function(t,e){function r(){!function(){var r=l.select(i).select(&quot;.svg-container&quot;),a=r.append(&quot;div&quot;),c=t.node().style,u=parseFloat(c.fontSize||12);a.classed(&quot;plugin-editable editable&quot;,!0).style({position:&quot;absolute&quot;,&quot;font-family&quot;:c.fontFamily||&quot;Arial&quot;,&quot;font-size&quot;:u,color:e.fill||c.fill||&quot;black&quot;,opacity:1,&quot;background-color&quot;:e.background||&quot;transparent&quot;,outline:&quot;#ffffff33 1px solid&quot;,margin:[-u/8+1,0,0,-1].join(&quot;px &quot;)+&quot;px&quot;,padding:&quot;0&quot;,&quot;box-sizing&quot;:&quot;border-box&quot;}).attr({contenteditable:!0}).text(e.text||t.attr(&quot;data-unformatted&quot;)).call(s(t,r,e)).on(&quot;blur&quot;,function(){i._editing=!1,t.text(this.textContent).style({opacity:1});var e,r=l.select(this).attr(&quot;class&quot;);(e=r?&quot;.&quot;+r.split(&quot; &quot;)[0]+&quot;-math-group&quot;:&quot;[class*=-math-group]&quot;)&amp;&amp;l.select(t.node().parentNode).select(e).style({opacity:0});var n=this.textContent;l.select(this).transition().duration(0).remove(),l.select(document).on(&quot;mouseup&quot;,null),o.edit.call(t,n)}).on(&quot;focus&quot;,function(){var t=this;i._editing=!0,l.select(document).on(&quot;mouseup&quot;,function(){if(l.event.target===t)return!1;document.activeElement===a.node()&amp;&amp;a.node().blur()})}).on(&quot;keyup&quot;,function(){27===l.event.which?(i._editing=!1,t.style({opacity:1}),l.select(this).style({opacity:0}).on(&quot;blur&quot;,function(){return!1}).transition().remove(),o.cancel.call(t,this.textContent)):(o.input.call(t,this.textContent),l.select(this).call(s(t,r,e)))}).on(&quot;keydown&quot;,function(){13===l.event.which&amp;&amp;this.blur()}).call(n)}(),t.style({opacity:0});var r,a=c.attr(&quot;class&quot;);(r=a?&quot;.&quot;+a.split(&quot; &quot;)[0]+&quot;-math-group&quot;:&quot;[class*=-math-group]&quot;)&amp;&amp;l.select(t.node().parentNode).select(r).style({opacity:0})}function n(t){var e=t.node(),r=document.createRange();r.selectNodeContents(e);var n=window.getSelection();n.removeAllRanges(),n.addRange(r),e.focus()}var i=e.gd,a=e.delegate,o=l.dispatch(&quot;edit&quot;,&quot;input&quot;,&quot;cancel&quot;),c=a||t;if(t.style({&quot;pointer-events&quot;:a?&quot;none&quot;:&quot;all&quot;}),1!==t.size())throw new Error(&quot;boo&quot;);return e.immediate?r():c.on(&quot;click&quot;,r),l.rebind(t,o,&quot;on&quot;)}},{&quot;../constants/alignment&quot;:716,&quot;../constants/string_mappings&quot;:722,&quot;../constants/xmlns_namespaces&quot;:723,&quot;../lib&quot;:743,d3:128}],767:[function(t,e,r){&quot;use strict&quot;;function n(t){t&amp;&amp;null!==t.timer&amp;&amp;(clearTimeout(t.timer),t.timer=null)}var i={};r.throttle=function(t,e,r){function a(){r(),o.ts=Date.now(),o.onDone&amp;&amp;(o.onDone(),o.onDone=null)}var o=i[t],s=Date.now();if(!o){for(var l in i)i[l].ts&lt;s-6e4&amp;&amp;delete i[l];o=i[t]={ts:0,timer:null}}n(o),s&gt;o.ts+e?a():o.timer=setTimeout(function(){a(),o.timer=null},e)},r.done=function(t){var e=i[t];return e&amp;&amp;e.timer?new Promise(function(t){var r=e.onDone;e.onDone=function(){r&amp;&amp;r(),t(),e.onDone=null}}):Promise.resolve()},r.clear=function(t){if(t)n(i[t]),delete i[t];else for(var e in i)r.clear(e)}},{}],768:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;fast-isnumeric&quot;);e.exports=function(t,e){if(t&gt;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}},{&quot;fast-isnumeric&quot;:140}],769:[function(t,e,r){&quot;use strict&quot;;var n=e.exports={},i=t(&quot;../plots/geo/constants&quot;).locationmodeToLayer,a=t(&quot;topojson-client&quot;).feature;n.getTopojsonName=function(t){return[t.scope.replace(/ /g,&quot;-&quot;),&quot;_&quot;,t.resolution.toString(),&quot;m&quot;].join(&quot;&quot;)},n.getTopojsonPath=function(t,e){return t+e+&quot;.json&quot;},n.getTopojsonFeatures=function(t,e){var r=i[t.locationmode],n=e.objects[r];return a(e,n).features}},{&quot;../plots/geo/constants&quot;:818,&quot;topojson-client&quot;:549}],770:[function(t,e,r){&quot;use strict&quot;;e.exports={moduleType:&quot;locale&quot;,name:&quot;en-US&quot;,dictionary:{&quot;Click to enter Colorscale title&quot;:&quot;Click to enter Colorscale title&quot;},format:{date:&quot;%m/%d/%Y&quot;}}},{}],771:[function(t,e,r){&quot;use strict&quot;;e.exports={moduleType:&quot;locale&quot;,name:&quot;en&quot;,dictionary:{&quot;Click to enter Colorscale title&quot;:&quot;Click to enter Colourscale title&quot;},format:{days:[&quot;Sunday&quot;,&quot;Monday&quot;,&quot;Tuesday&quot;,&quot;Wednesday&quot;,&quot;Thursday&quot;,&quot;Friday&quot;],shortDays:[&quot;Sun&quot;,&quot;Mon&quot;,&quot;Tue&quot;,&quot;Wed&quot;,&quot;Thu&quot;,&quot;Fri&quot;,&quot;Sat&quot;],months:[&quot;January&quot;,&quot;February&quot;,&quot;March&quot;,&quot;April&quot;,&quot;May&quot;,&quot;June&quot;,&quot;July&quot;,&quot;August&quot;,&quot;September&quot;,&quot;October&quot;,&quot;November&quot;,&quot;December&quot;],shortMonths:[&quot;Jan&quot;,&quot;Feb&quot;,&quot;Mar&quot;,&quot;Apr&quot;,&quot;May&quot;,&quot;Jun&quot;,&quot;Jul&quot;,&quot;Aug&quot;,&quot;Sep&quot;,&quot;Oct&quot;,&quot;Nov&quot;,&quot;Dec&quot;],periods:[&quot;AM&quot;,&quot;PM&quot;],dateTime:&quot;%a %b %e %X %Y&quot;,date:&quot;%d/%m/%Y&quot;,time:&quot;%H:%M:%S&quot;,decimal:&quot;.&quot;,thousands:&quot;,&quot;,grouping:[3],currency:[&quot;$&quot;,&quot;&quot;]}}},{}],772:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../registry&quot;);e.exports=function(t){for(var e,r,i=n.layoutArrayContainers,a=n.layoutArrayRegexes,o=t.split(&quot;[&quot;)[0],s=0;s&lt;a.length;s++)if((r=t.match(a[s]))&amp;&amp;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]*)\](\.(.+))?$/))&amp;&amp;{array:e,index:Number(r[1]),property:r[3]||&quot;&quot;}:{array:e,index:&quot;&quot;,property:&quot;&quot;}}},{&quot;../registry&quot;:873}],773:[function(t,e,r){&quot;use strict&quot;;function n(t){for(var e={},r=0;r&lt;t.length;r++)e[t[r]]=!1;return e}function i(t,e,r){var n=s({},t);for(var i in n){var o=n[i];l(o)&amp;&amp;(n[i]=a(o,e,r,i))}return&quot;from-root&quot;===r&amp;&amp;(n.editType=e),n}function a(t,e,r,n){if(t.valType){var o=s({},t);if(o.editType=e,Array.isArray(t.items)){o.items=new Array(t.items.length);for(var l=0;l&lt;t.items.length;l++)o.items[l]=a(t.items[l],e,&quot;from-root&quot;)}return o}return i(t,e,&quot;_&quot;===n.charAt(0)?&quot;nested&quot;:&quot;from-root&quot;)}var o=t(&quot;../lib&quot;),s=o.extendFlat,l=o.isPlainObject,c={valType:&quot;flaglist&quot;,extras:[&quot;none&quot;],flags:[&quot;calc&quot;,&quot;calcIfAutorange&quot;,&quot;clearAxisTypes&quot;,&quot;plot&quot;,&quot;style&quot;,&quot;colorbars&quot;]},u={valType:&quot;flaglist&quot;,extras:[&quot;none&quot;],flags:[&quot;calc&quot;,&quot;calcIfAutorange&quot;,&quot;plot&quot;,&quot;legend&quot;,&quot;ticks&quot;,&quot;layoutstyle&quot;,&quot;modebar&quot;,&quot;camera&quot;,&quot;arraydraw&quot;]},f=c.flags.slice().concat([&quot;clearCalc&quot;,&quot;fullReplot&quot;]),h=u.flags.slice().concat(&quot;layoutReplot&quot;);e.exports={traces:c,layout:u,traceFlags:function(){return n(f)},layoutFlags:function(){return n(h)},update:function(t,e){var r=e.editType;if(r&amp;&amp;&quot;none&quot;!==r)for(var n=r.split(&quot;+&quot;),i=0;i&lt;n.length;i++)t[n[i]]=!0},overrideAll:i}},{&quot;../lib&quot;:743}],774:[function(t,e,r){&quot;use strict&quot;;function n(t,e){var r=t[e],n=e.charAt(0);r&amp;&amp;&quot;paper&quot;!==r&amp;&amp;(t[e]=d(r,n))}function i(t){var e=&quot;middle&quot;,r=&quot;center&quot;;return-1!==t.indexOf(&quot;top&quot;)?e=&quot;top&quot;:-1!==t.indexOf(&quot;bottom&quot;)&amp;&amp;(e=&quot;bottom&quot;),-1!==t.indexOf(&quot;left&quot;)?r=&quot;left&quot;:-1!==t.indexOf(&quot;right&quot;)&amp;&amp;(r=&quot;right&quot;),e+&quot; &quot;+r}function a(t,e){return e in t&amp;&amp;&quot;object&quot;==typeof t[e]&amp;&amp;0===Object.keys(t[e]).length}function o(t){var e=t.search(g);if(e&gt;0)return t.substr(0,e)}var s=t(&quot;fast-isnumeric&quot;),l=t(&quot;gl-mat4/fromQuat&quot;),c=t(&quot;../registry&quot;),u=t(&quot;../lib&quot;),f=t(&quot;../plots/plots&quot;),h=t(&quot;../plots/cartesian/axis_ids&quot;),d=h.cleanId,p=h.getFromTrace,m=t(&quot;../components/color&quot;);r.clearPromiseQueue=function(t){Array.isArray(t._promises)&amp;&amp;t._promises.length&gt;0&amp;&amp;u.log(&quot;Clearing previous rejected promises from queue.&quot;),t._promises=[]},r.cleanLayout=function(t){var e,r;t||(t={}),t.xaxis1&amp;&amp;(t.xaxis||(t.xaxis=t.xaxis1),delete t.xaxis1),t.yaxis1&amp;&amp;(t.yaxis||(t.yaxis=t.yaxis1),delete t.yaxis1),t.scene1&amp;&amp;(t.scene||(t.scene=t.scene1),delete t.scene1);var i=(f.subplotsRegistry.cartesian||{}).attrRegex,o=(f.subplotsRegistry.gl3d||{}).attrRegex,s=Object.keys(t);for(e=0;e&lt;s.length;e++){var c=s[e];if(i&amp;&amp;i.test(c)){var h=t[c];h.anchor&amp;&amp;&quot;free&quot;!==h.anchor&amp;&amp;(h.anchor=d(h.anchor)),h.overlaying&amp;&amp;(h.overlaying=d(h.overlaying)),h.type||(h.isdate?h.type=&quot;date&quot;:h.islog?h.type=&quot;log&quot;:!1===h.isdate&amp;&amp;!1===h.islog&amp;&amp;(h.type=&quot;linear&quot;)),&quot;withzero&quot;!==h.autorange&amp;&amp;&quot;tozero&quot;!==h.autorange||(h.autorange=!0,h.rangemode=&quot;tozero&quot;),delete h.islog,delete h.isdate,delete h.categories,a(h,&quot;domain&quot;)&amp;&amp;delete h.domain,void 0!==h.autotick&amp;&amp;(void 0===h.tickmode&amp;&amp;(h.tickmode=h.autotick?&quot;auto&quot;:&quot;linear&quot;),delete h.autotick)}else if(o&amp;&amp;o.test(c)){var p=t[c],g=p.cameraposition;if(Array.isArray(g)&amp;&amp;4===g[0].length){var v=g[0],y=g[1],x=g[2],b=l([],v),_=[];for(r=0;r&lt;3;++r)_[r]=y[r]+x*b[2+4*r];p.camera={eye:{x:_[0],y:_[1],z:_[2]},center:{x:y[0],y:y[1],z:y[2]},up:{x:b[1],y:b[5],z:b[9]}},delete p.cameraposition}}}var w=Array.isArray(t.annotations)?t.annotations.length:0;for(e=0;e&lt;w;e++){var M=t.annotations[e];u.isPlainObject(M)&amp;&amp;(M.ref&amp;&amp;(&quot;paper&quot;===M.ref?(M.xref=&quot;paper&quot;,M.yref=&quot;paper&quot;):&quot;data&quot;===M.ref&amp;&amp;(M.xref=&quot;x&quot;,M.yref=&quot;y&quot;),delete M.ref),n(M,&quot;xref&quot;),n(M,&quot;yref&quot;))}var k=Array.isArray(t.shapes)?t.shapes.length:0;for(e=0;e&lt;k;e++){var A=t.shapes[e];u.isPlainObject(A)&amp;&amp;(n(A,&quot;xref&quot;),n(A,&quot;yref&quot;))}var T=t.legend;return T&amp;&amp;(T.x&gt;3?(T.x=1.02,T.xanchor=&quot;left&quot;):T.x&lt;-2&amp;&amp;(T.x=-.02,T.xanchor=&quot;right&quot;),T.y&gt;3?(T.y=1.02,T.yanchor=&quot;bottom&quot;):T.y&lt;-2&amp;&amp;(T.y=-.02,T.yanchor=&quot;top&quot;)),&quot;rotate&quot;===t.dragmode&amp;&amp;(t.dragmode=&quot;orbit&quot;),m.clean(t),t},r.cleanData=function(t,e){for(var n=[],o=t.concat(Array.isArray(e)?e:[]).filter(function(t){return&quot;uid&quot;in t}).map(function(t){return t.uid}),s=0;s&lt;t.length;s++){var l,h=t[s];if(!(&quot;uid&quot;in h)||-1!==n.indexOf(h.uid)){var p;for(l=0;l&lt;100&amp;&amp;(p=u.randstr(o),-1!==n.indexOf(p));l++);h.uid=u.randstr(o),o.push(h.uid)}if(n.push(h.uid),&quot;histogramy&quot;===h.type&amp;&amp;&quot;xbins&quot;in h&amp;&amp;!(&quot;ybins&quot;in h)&amp;&amp;(h.ybins=h.xbins,delete h.xbins),h.error_y&amp;&amp;&quot;opacity&quot;in h.error_y){var g=m.defaults,v=h.error_y.color||(c.traceIs(h,&quot;bar&quot;)?m.defaultLine:g[s%g.length]);h.error_y.color=m.addOpacity(m.rgb(v),m.opacity(v)*h.error_y.opacity),delete h.error_y.opacity}if(&quot;bardir&quot;in h&amp;&amp;(&quot;h&quot;!==h.bardir||!c.traceIs(h,&quot;bar&quot;)&amp;&amp;&quot;histogram&quot;!==h.type.substr(0,9)||(h.orientation=&quot;h&quot;,r.swapXYData(h)),delete h.bardir),&quot;histogramy&quot;===h.type&amp;&amp;r.swapXYData(h),&quot;histogramx&quot;!==h.type&amp;&amp;&quot;histogramy&quot;!==h.type||(h.type=&quot;histogram&quot;),&quot;scl&quot;in h&amp;&amp;(h.colorscale=h.scl,delete h.scl),&quot;reversescl&quot;in h&amp;&amp;(h.reversescale=h.reversescl,delete h.reversescl),h.xaxis&amp;&amp;(h.xaxis=d(h.xaxis,&quot;x&quot;)),h.yaxis&amp;&amp;(h.yaxis=d(h.yaxis,&quot;y&quot;)),c.traceIs(h,&quot;gl3d&quot;)&amp;&amp;h.scene&amp;&amp;(h.scene=f.subplotsRegistry.gl3d.cleanId(h.scene)),c.traceIs(h,&quot;pie&quot;)||c.traceIs(h,&quot;bar&quot;)||(Array.isArray(h.textposition)?h.textposition=h.textposition.map(i):h.textposition&amp;&amp;(h.textposition=i(h.textposition))),c.traceIs(h,&quot;2dMap&quot;)&amp;&amp;(&quot;YIGnBu&quot;===h.colorscale&amp;&amp;(h.colorscale=&quot;YlGnBu&quot;),&quot;YIOrRd&quot;===h.colorscale&amp;&amp;(h.colorscale=&quot;YlOrRd&quot;)),c.traceIs(h,&quot;markerColorscale&quot;)&amp;&amp;h.marker){var y=h.marker;&quot;YIGnBu&quot;===y.colorscale&amp;&amp;(y.colorscale=&quot;YlGnBu&quot;),&quot;YIOrRd&quot;===y.colorscale&amp;&amp;(y.colorscale=&quot;YlOrRd&quot;)}if(&quot;surface&quot;===h.type&amp;&amp;u.isPlainObject(h.contours)){var x=[&quot;x&quot;,&quot;y&quot;,&quot;z&quot;];for(l=0;l&lt;x.length;l++){var b=h.contours[x[l]];u.isPlainObject(b)&amp;&amp;(b.highlightColor&amp;&amp;(b.highlightcolor=b.highlightColor,delete b.highlightColor),b.highlightWidth&amp;&amp;(b.highlightwidth=b.highlightWidth,delete b.highlightWidth))}}if(Array.isArray(h.transforms)){var _=h.transforms;for(l=0;l&lt;_.length;l++){var w=_[l];if(u.isPlainObject(w))switch(w.type){case&quot;filter&quot;:w.filtersrc&amp;&amp;(w.target=w.filtersrc,delete w.filtersrc),w.calendar&amp;&amp;(w.valuecalendar||(w.valuecalendar=w.calendar),delete w.calendar);break;case&quot;groupby&quot;:if(w.styles=w.styles||w.style,w.styles&amp;&amp;!Array.isArray(w.styles)){var M=w.styles,k=Object.keys(M);w.styles=[];for(var A=0;A&lt;k.length;A++)w.styles.push({target:k[A],value:M[k[A]]})}}}}a(h,&quot;line&quot;)&amp;&amp;delete h.line,&quot;marker&quot;in h&amp;&amp;(a(h.marker,&quot;line&quot;)&amp;&amp;delete h.marker.line,a(h,&quot;marker&quot;)&amp;&amp;delete h.marker),m.clean(h)}},r.swapXYData=function(t){var e;if(u.swapAttrs(t,[&quot;?&quot;,&quot;?0&quot;,&quot;d?&quot;,&quot;?bins&quot;,&quot;nbins?&quot;,&quot;autobin?&quot;,&quot;?src&quot;,&quot;error_?&quot;]),Array.isArray(t.z)&amp;&amp;Array.isArray(t.z[0])&amp;&amp;(t.transpose?delete t.transpose:t.transpose=!0),t.error_x&amp;&amp;t.error_y){var r=t.error_y,n=&quot;copy_ystyle&quot;in r?r.copy_ystyle:!(r.color||r.thickness||r.width);u.swapAttrs(t,[&quot;error_?.copy_ystyle&quot;]),n&amp;&amp;u.swapAttrs(t,[&quot;error_?.color&quot;,&quot;error_?.thickness&quot;,&quot;error_?.width&quot;])}if(&quot;string&quot;==typeof t.hoverinfo){var i=t.hoverinfo.split(&quot;+&quot;);for(e=0;e&lt;i.length;e++)&quot;x&quot;===i[e]?i[e]=&quot;y&quot;:&quot;y&quot;===i[e]&amp;&amp;(i[e]=&quot;x&quot;);t.hoverinfo=i.join(&quot;+&quot;)}},r.coerceTraceIndices=function(t,e){return s(e)?[e]:Array.isArray(e)&amp;&amp;e.length?e:t.data.map(function(t,e){return e})},r.manageArrayContainers=function(t,e,r){var n=t.obj,i=t.parts,a=i.length,o=i[a-1],l=s(o);if(l&amp;&amp;null===e){var c=i.slice(0,a-1).join(&quot;.&quot;);u.nestedProperty(n,c).get().splice(o,1)}else l&amp;&amp;void 0===t.get()?(void 0===t.get()&amp;&amp;(r[t.astr]=null),t.set(e)):t.set(e)};var g=/(\.[^\[\]\.]+|\[[^\[\]\.]+\])$/;r.hasParent=function(t,e){for(var r=o(e);r;){if(r in t)return!0;r=o(r)}return!1};var v=[&quot;x&quot;,&quot;y&quot;,&quot;z&quot;];r.clearAxisTypes=function(t,e,r){for(var n=0;n&lt;e.length;n++)for(var i=t._fullData[n],a=0;a&lt;3;a++){var o=p(t,i,v[a]);if(o&amp;&amp;&quot;log&quot;!==o.type){var s=o._name,l=o._id.substr(1);if(&quot;scene&quot;===l.substr(0,5)){if(void 0!==r[l])continue;s=l+&quot;.&quot;+s}var c=s+&quot;.type&quot;;void 0===r[s]&amp;&amp;void 0===r[c]&amp;&amp;u.nestedProperty(t.layout,c).set(null)}}}},{&quot;../components/color&quot;:618,&quot;../lib&quot;:743,&quot;../plots/cartesian/axis_ids&quot;:792,&quot;../plots/plots&quot;:852,&quot;../registry&quot;:873,&quot;fast-isnumeric&quot;:140,&quot;gl-mat4/fromQuat&quot;:183}],775:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../lib/nested_property&quot;),i=t(&quot;../lib/is_plain_object&quot;),a=t(&quot;../lib/noop&quot;),o=t(&quot;../lib/loggers&quot;),s=t(&quot;../lib/search&quot;).sorterAsc,l=t(&quot;../registry&quot;);r.containerArrayMatch=t(&quot;./container_array_match&quot;);var c=r.isAddVal=function(t){return&quot;add&quot;===t||i(t)},u=r.isRemoveVal=function(t){return null===t||&quot;remove&quot;===t};r.applyContainerArrayChanges=function(t,e,r,i){var f=e.astr,h=l.getComponentMethod(f,&quot;supplyLayoutDefaults&quot;),d=l.getComponentMethod(f,&quot;draw&quot;),p=l.getComponentMethod(f,&quot;drawOne&quot;),m=i.replot||i.recalc||h===a||d===a,g=t.layout,v=t._fullLayout;if(r[&quot;&quot;]){Object.keys(r).length&gt;1&amp;&amp;o.warn(&quot;Full array edits are incompatible with other edits&quot;,f);var y=r[&quot;&quot;][&quot;&quot;];if(u(y))e.set(null);else{if(!Array.isArray(y))return o.warn(&quot;Unrecognized full array edit value&quot;,f,y),!0;e.set(y)}return!m&amp;&amp;(h(g,v),d(t),!0)}var x,b,_,w,M,k,A,T=Object.keys(r).map(Number).sort(s),S=e.get(),E=S||[],L=n(v,f).get(),C=[],z=-1,D=E.length;for(x=0;x&lt;T.length;x++)if(_=T[x],w=r[_],M=Object.keys(w),k=w[&quot;&quot;],A=c(k),_&lt;0||_&gt;E.length-(A?0:1))o.warn(&quot;index out of range&quot;,f,_);else if(void 0!==k)M.length&gt;1&amp;&amp;o.warn(&quot;Insertion &amp; removal are incompatible with edits to the same index.&quot;,f,_),u(k)?C.push(_):A?(&quot;add&quot;===k&amp;&amp;(k={}),E.splice(_,0,k),L&amp;&amp;L.splice(_,0,{})):o.warn(&quot;Unrecognized full object edit value&quot;,f,_,k),-1===z&amp;&amp;(z=_);else for(b=0;b&lt;M.length;b++)n(E[_],M[b]).set(w[M[b]]);for(x=C.length-1;x&gt;=0;x--)E.splice(C[x],1),L&amp;&amp;L.splice(C[x],1);if(E.length?S||e.set(E):e.set(null),m)return!1;if(h(g,v),p!==a){var I;if(-1===z)I=T;else{for(D=Math.max(E.length,D),I=[],x=0;x&lt;T.length&amp;&amp;!((_=T[x])&gt;=z);x++)I.push(_);for(x=z;x&lt;D;x++)I.push(x)}for(x=0;x&lt;I.length;x++)p(t,I[x])}else d(t);return!0}},{&quot;../lib/is_plain_object&quot;:745,&quot;../lib/loggers&quot;:748,&quot;../lib/nested_property&quot;:751,&quot;../lib/noop&quot;:752,&quot;../lib/search&quot;:761,&quot;../registry&quot;:873,&quot;./container_array_match&quot;:772}],776:[function(t,e,r){&quot;use strict&quot;;function n(t,e){try{t._fullLayout._paper.style(&quot;background&quot;,e)}catch(t){v.error(t)}}function i(t,e){n(t,T.combine(e,&quot;white&quot;))}function a(t,e){var r,n,i=e+1,a=[];for(r=0;r&lt;t.length;r++)(n=t[r])&lt;0?a.push(i+n):a.push(n);return a}function o(t,e,r){var n,i;for(n=0;n&lt;e.length;n++){if((i=e[n])!==parseInt(i,10))throw new Error(&quot;all values in &quot;+r+&quot; must be integers&quot;);if(i&gt;=t.data.length||i&lt;-t.data.length)throw new Error(r+&quot; must be valid indices for gd.data.&quot;);if(e.indexOf(i,n+1)&gt;-1||i&gt;=0&amp;&amp;e.indexOf(-t.data.length+i)&gt;-1||i&lt;0&amp;&amp;e.indexOf(t.data.length+i)&gt;-1)throw new Error(&quot;each index in &quot;+r+&quot; must be unique.&quot;)}}function s(t,e,r){if(!Array.isArray(t.data))throw new Error(&quot;gd.data must be an array.&quot;);if(void 0===e)throw new Error(&quot;currentIndices is a required argument.&quot;);if(Array.isArray(e)||(e=[e]),o(t,e,&quot;currentIndices&quot;),void 0===r||Array.isArray(r)||(r=[r]),void 0!==r&amp;&amp;o(t,r,&quot;newIndices&quot;),void 0!==r&amp;&amp;e.length!==r.length)throw new Error(&quot;current and new indices must be of equal length.&quot;)}function l(t,e,r,n,i,s){!function(t,e,r,n){var i=v.isPlainObject(n);if(!Array.isArray(t.data))throw new Error(&quot;gd.data must be an array&quot;);if(!v.isPlainObject(e))throw new Error(&quot;update must be a key:value object&quot;);if(void 0===r)throw new Error(&quot;indices must be an integer or array of integers&quot;);o(t,r,&quot;indices&quot;);for(var a in e){if(!Array.isArray(e[a])||e[a].length!==r.length)throw new Error(&quot;attribute &quot;+a+&quot; must be an array of length equal to indices array length&quot;);if(i&amp;&amp;(!(a in n)||!Array.isArray(n[a])||n[a].length!==e[a].length))throw new Error(&quot;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&quot;)}}(t,e,r,n);for(var l,c,u,f=function(t,e,r,n){var i,o,s,l,c,u=v.isPlainObject(n),f=[];Array.isArray(r)||(r=[r]),r=a(r,t.data.length-1);for(var h in e)for(var d=0;d&lt;r.length;d++){if(i=t.data[r[d]],s=v.nestedProperty(i,h),o=s.get(),l=e[h][d],!Array.isArray(l))throw new Error(&quot;attribute: &quot;+h+&quot; index: &quot;+d+&quot; must be an array&quot;);if(!Array.isArray(o))throw new Error(&quot;cannot extend missing or non-array attribute: &quot;+h);c=u?n[h][d]:n,p(c)||(c=-1),f.push({prop:s,target:o,insert:l,maxp:Math.floor(c)})}return f}(t,e,r,n),h=[],d={},m={},g=0;g&lt;f.length;g++)c=f[g].prop,u=f[g].maxp,l=i(f[g].target,f[g].insert),u&gt;=0&amp;&amp;u&lt;l.length&amp;&amp;(h=s(l,u)),u=f[g].target.length,c.set(l),Array.isArray(d[c.astr])||(d[c.astr]=[]),Array.isArray(m[c.astr])||(m[c.astr]=[]),d[c.astr].push(h),m[c.astr].push(u);return{update:d,maxPoints:m}}function c(t){return void 0===t?null:t}function u(t,e,r){function n(){return r.map(function(){})}function i(t){var e=g.Axes.id2name(t);-1===u.indexOf(e)&amp;&amp;u.push(e)}function a(t){return&quot;LAYOUT&quot;+t+&quot;.autorange&quot;}function o(t){return&quot;LAYOUT&quot;+t+&quot;.range&quot;}function s(i,a,o){if(Array.isArray(i))i.forEach(function(t){s(t,a,o)});else if(!(i in e||z.hasParent(e,i))){var l;l=&quot;LAYOUT&quot;===i.substr(0,6)?v.nestedProperty(t.layout,i.replace(&quot;LAYOUT&quot;,&quot;&quot;)):v.nestedProperty(d[r[o]],i),i in y||(y[i]=n()),void 0===y[i][o]&amp;&amp;(y[i][o]=c(l.get())),void 0!==a&amp;&amp;l.set(a)}}var l,u,f=t._fullLayout,h=t._fullData,d=t.data,p=I.traceFlags(),m={},y={},x={};for(var M in e){if(z.hasParent(e,M))throw new Error(&quot;cannot set &quot;+M+&quot;and a parent attribute simultaneously&quot;);var k,A,T,S,E,L,C=e[M];if(m[M]=C,&quot;LAYOUT&quot;!==M.substr(0,6)){for(y[M]=n(),l=0;l&lt;r.length;l++)if(k=d[r[l]],A=h[r[l]],T=v.nestedProperty(k,M),S=T.get(),void 0!==(E=Array.isArray(C)?C[l%C.length]:C)){if((L=_.getTraceValObject(A,T.parts))&amp;&amp;L.impliedEdits&amp;&amp;null!==E)for(var D in L.impliedEdits)s(v.relativeAttr(M,D),L.impliedEdits[D],l);else if(&quot;colorbar.thicknessmode&quot;===M&amp;&amp;T.get()!==E&amp;&amp;-1!==[&quot;fraction&quot;,&quot;pixels&quot;].indexOf(E)&amp;&amp;A.colorbar){var P=-1!==[&quot;top&quot;,&quot;bottom&quot;].indexOf(A.colorbar.orient)?f.height-f.margin.t-f.margin.b:f.width-f.margin.l-f.margin.r;s(&quot;colorbar.thickness&quot;,A.colorbar.thickness*(&quot;fraction&quot;===E?1/P:P),l)}else if(&quot;colorbar.lenmode&quot;===M&amp;&amp;T.get()!==E&amp;&amp;-1!==[&quot;fraction&quot;,&quot;pixels&quot;].indexOf(E)&amp;&amp;A.colorbar){var O=-1!==[&quot;top&quot;,&quot;bottom&quot;].indexOf(A.colorbar.orient)?f.width-f.margin.l-f.margin.r:f.height-f.margin.t-f.margin.b;s(&quot;colorbar.len&quot;,A.colorbar.len*(&quot;fraction&quot;===E?1/O:O),l)}else&quot;colorbar.tick0&quot;!==M&amp;&amp;&quot;colorbar.dtick&quot;!==M||s(&quot;colorbar.tickmode&quot;,&quot;linear&quot;,l);if(&quot;type&quot;===M&amp;&amp;&quot;pie&quot;===E!=(&quot;pie&quot;===S)){var F=&quot;x&quot;,R=&quot;y&quot;;&quot;bar&quot;!==E&amp;&amp;&quot;bar&quot;!==S||&quot;h&quot;!==k.orientation||(F=&quot;y&quot;,R=&quot;x&quot;),v.swapAttrs(k,[&quot;?&quot;,&quot;?src&quot;],&quot;labels&quot;,F),v.swapAttrs(k,[&quot;d?&quot;,&quot;?0&quot;],&quot;label&quot;,F),v.swapAttrs(k,[&quot;?&quot;,&quot;?src&quot;],&quot;values&quot;,R),&quot;pie&quot;===S?(v.nestedProperty(k,&quot;marker.color&quot;).set(v.nestedProperty(k,&quot;marker.colors&quot;).get()),f._pielayer.selectAll(&quot;g.trace&quot;).remove()):b.traceIs(k,&quot;cartesian&quot;)&amp;&amp;(v.nestedProperty(k,&quot;marker.colors&quot;).set(v.nestedProperty(k,&quot;marker.color&quot;).get()),x[k.xaxis||&quot;x&quot;]=!0,x[k.yaxis||&quot;y&quot;]=!0)}y[M][l]=c(S);if(-1!==[&quot;swapxy&quot;,&quot;swapxyaxes&quot;,&quot;orientation&quot;,&quot;orientationaxes&quot;].indexOf(M)){if(&quot;orientation&quot;===M){T.set(E);var N=k.x&amp;&amp;!k.y?&quot;h&quot;:&quot;v&quot;;if((T.get()||N)===A.orientation)continue}else&quot;orientationaxes&quot;===M&amp;&amp;(k.orientation={v:&quot;h&quot;,h:&quot;v&quot;}[A.orientation]);z.swapXYData(k),p.calc=p.clearAxisTypes=!0}else-1!==w.dataArrayContainers.indexOf(T.parts[0])?(z.manageArrayContainers(T,E,y),p.calc=!0):(L?L.arrayOk&amp;&amp;(Array.isArray(E)||Array.isArray(S))?p.calc=!0:I.update(p,L):p.calc=!0,T.set(E))}if(-1!==[&quot;swapxyaxes&quot;,&quot;orientationaxes&quot;].indexOf(M)&amp;&amp;g.Axes.swap(t,r),&quot;orientationaxes&quot;===M){var j=v.nestedProperty(t.layout,&quot;hovermode&quot;);&quot;x&quot;===j.get()?j.set(&quot;y&quot;):&quot;y&quot;===j.get()&amp;&amp;j.set(&quot;x&quot;)}if(-1!==[&quot;orientation&quot;,&quot;type&quot;].indexOf(M)){for(u=[],l=0;l&lt;r.length;l++){var B=d[r[l]];b.traceIs(B,&quot;cartesian&quot;)&amp;&amp;(i(B.xaxis||&quot;x&quot;),i(B.yaxis||&quot;y&quot;),&quot;type&quot;===M&amp;&amp;s([&quot;autobinx&quot;,&quot;autobiny&quot;],!0,l))}s(u.map(a),!0,0),s(u.map(o),[0,1],0)}}else T=v.nestedProperty(t.layout,M.replace(&quot;LAYOUT&quot;,&quot;&quot;)),y[M]=[c(T.get())],T.set(Array.isArray(C)?C[0]:C),p.calc=!0}var U=!1,V=g.Axes.list(t);for(l=0;l&lt;V.length;l++)if(V[l].autorange){U=!0;break}var q=Object.keys(x);t:for(l=0;l&lt;q.length;l++){for(var H=q[l],G=H.charAt(0),Y=G+&quot;axis&quot;,W=0;W&lt;d.length;W++)if(b.traceIs(d[W],&quot;cartesian&quot;)&amp;&amp;(d[W][Y]||G)===H)continue t;s(&quot;LAYOUT&quot;+g.Axes.id2name(H),null,0)}return(p.calc||p.calcIfAutorange&amp;&amp;U)&amp;&amp;(p.clearCalc=!0),(p.calc||p.plot||p.calcIfAutorange)&amp;&amp;(p.fullReplot=!0),{flags:p,undoit:y,redoit:m,traces:r,eventData:v.extendDeepNoArrays([],[m,r])}}function f(t,e){function r(t,n){if(Array.isArray(t))t.forEach(function(t){r(t,n)});else if(!(t in e||z.hasParent(e,t))){var i=v.nestedProperty(l,t);t in A||(A[t]=c(i.get())),void 0!==n&amp;&amp;i.set(n)}}function n(e,r){if(!v.isPlainObject(e))return!1;var n=e[r+&quot;ref&quot;]||r,i=g.Axes.getFromId(t,n);return i||n.charAt(0)!==r||(i=g.Axes.getFromId(t,r)),(i||{}).autorange}function i(t){var e=N.name2id(t.split(&quot;.&quot;)[0]);return T[e]=1,e}var a,o,s,l=t.layout,u=t._fullLayout,f=Object.keys(e),h=g.Axes.list(t),d={};for(o=0;o&lt;f.length;o++)if(0===f[o].indexOf(&quot;allaxes&quot;)){for(s=0;s&lt;h.length;s++){var p=h[s]._id.substr(1),m=-1!==p.indexOf(&quot;scene&quot;)?p+&quot;.&quot;:&quot;&quot;,y=f[o].replace(&quot;allaxes&quot;,m+h[s]._name);e[y]||(e[y]=e[f[o]])}delete e[f[o]]}var x,M=I.layoutFlags(),k={},A={},T={};for(var S in e){if(z.hasParent(e,S))throw new Error(&quot;cannot set &quot;+S+&quot;and a parent attribute simultaneously&quot;);var E=v.nestedProperty(l,S),L=e[S],D=E.parts.length,O=&quot;string&quot;==typeof E.parts[D-1]?D-1:D-2,F=E.parts[O],R=E.parts[O-1]+&quot;.&quot;+F,j=E.parts.slice(0,O).join(&quot;.&quot;),B=v.nestedProperty(t.layout,j).get(),U=v.nestedProperty(u,j).get(),V=E.get();if(void 0!==L){k[S]=L,A[S]=&quot;reverse&quot;===F?L:c(V);var q=_.getLayoutValObject(u,E.parts);if(q&amp;&amp;q.impliedEdits&amp;&amp;null!==L)for(var H in q.impliedEdits)r(v.relativeAttr(S,H),q.impliedEdits[H]);if(-1!==[&quot;width&quot;,&quot;height&quot;].indexOf(S)&amp;&amp;null===L)u[S]=t._initialAutoSize[S];else if(R.match(/^[xyz]axis[0-9]*\.range(\[[0|1]\])?$/))i(R),v.nestedProperty(u,j+&quot;._inputRange&quot;).set(null);else if(R.match(/^[xyz]axis[0-9]*\.autorange$/)){i(R),v.nestedProperty(u,j+&quot;._inputRange&quot;).set(null);var G=v.nestedProperty(u,j).get();G._inputDomain&amp;&amp;(G._input.domain=G._inputDomain.slice())}else R.match(/^[xyz]axis[0-9]*\.domain(\[[0|1]\])?$/)&amp;&amp;v.nestedProperty(u,j+&quot;._inputDomain&quot;).set(null);if(&quot;type&quot;===F){var Y=B,W=&quot;linear&quot;===U.type&amp;&amp;&quot;log&quot;===L,X=&quot;log&quot;===U.type&amp;&amp;&quot;linear&quot;===L;if(W||X){if(Y&amp;&amp;Y.range)if(U.autorange)W&amp;&amp;(Y.range=Y.range[1]&gt;Y.range[0]?[1,2]:[2,1]);else{var Z=Y.range[0],J=Y.range[1];W?(Z&lt;=0&amp;&amp;J&lt;=0&amp;&amp;r(j+&quot;.autorange&quot;,!0),Z&lt;=0?Z=J/1e6:J&lt;=0&amp;&amp;(J=Z/1e6),r(j+&quot;.range[0]&quot;,Math.log(Z)/Math.LN10),r(j+&quot;.range[1]&quot;,Math.log(J)/Math.LN10)):(r(j+&quot;.range[0]&quot;,Math.pow(10,Z)),r(j+&quot;.range[1]&quot;,Math.pow(10,J)))}else r(j+&quot;.autorange&quot;,!0);Array.isArray(u._subplots.polar)&amp;&amp;u._subplots.polar.length&amp;&amp;u[E.parts[0]]&amp;&amp;&quot;radialaxis&quot;===E.parts[1]&amp;&amp;delete u[E.parts[0]]._subplot.viewInitial[&quot;radialaxis.range&quot;],b.getComponentMethod(&quot;annotations&quot;,&quot;convertCoords&quot;)(t,U,L,r),b.getComponentMethod(&quot;images&quot;,&quot;convertCoords&quot;)(t,U,L,r)}else r(j+&quot;.autorange&quot;,!0),r(j+&quot;.range&quot;,null);v.nestedProperty(u,j+&quot;._inputRange&quot;).set(null)}else if(F.match(P.AX_NAME_PATTERN)){var K=v.nestedProperty(u,S).get(),Q=(L||{}).type;Q&amp;&amp;&quot;-&quot;!==Q||(Q=&quot;linear&quot;),b.getComponentMethod(&quot;annotations&quot;,&quot;convertCoords&quot;)(t,K,Q,r),b.getComponentMethod(&quot;images&quot;,&quot;convertCoords&quot;)(t,K,Q,r)}var $=C.containerArrayMatch(S);if($){a=$.array,o=$.index;var tt=$.property,et=(v.nestedProperty(l,a)||[])[o]||{},rt=et,nt=q||{editType:&quot;calc&quot;},it=-1!==nt.editType.indexOf(&quot;calcIfAutorange&quot;);&quot;&quot;===o?(it?M.calc=!0:I.update(M,nt),it=!1):&quot;&quot;===tt&amp;&amp;(rt=L,C.isAddVal(L)?A[S]=null:C.isRemoveVal(L)?(A[S]=et,rt=et):v.warn(&quot;unrecognized full object value&quot;,e)),it&amp;&amp;(n(rt,&quot;x&quot;)||n(rt,&quot;y&quot;))?M.calc=!0:I.update(M,nt),d[a]||(d[a]={});var at=d[a][o];at||(at=d[a][o]={}),at[tt]=L,delete e[S]}else&quot;reverse&quot;===F?(B.range?B.range.reverse():(r(j+&quot;.autorange&quot;,!0),B.range=[1,0]),U.autorange?M.calc=!0:M.plot=!0):((!u._has(&quot;gl2d&quot;)&amp;&amp;!u._has(&quot;regl&quot;)||&quot;dragmode&quot;!==S||&quot;lasso&quot;!==L&amp;&amp;&quot;select&quot;!==L||&quot;lasso&quot;===V||&quot;select&quot;===V)&amp;&amp;q?I.update(M,q):M.calc=!0,E.set(L))}}for(a in d){C.applyContainerArrayChanges(t,v.nestedProperty(l,a),d[a],M)||(M.plot=!0)}var ot=u._axisConstraintGroups||[];for(x in T)for(o=0;o&lt;ot.length;o++){var st=ot[o];if(st[x]){M.calc=!0;for(var lt in st)T[lt]||(N.getFromId(t,lt)._constraintShrinkable=!0)}}var ct=u.width,ut=u.height;t.layout.autosize&amp;&amp;w.plotAutoSize(t,t.layout,u);return(e.height||e.width||u.width!==ct||u.height!==ut)&amp;&amp;(M.calc=!0),(M.plot||M.calc)&amp;&amp;(M.layoutReplot=!0),{flags:M,undoit:A,redoit:k,eventData:v.extendDeep({},k)}}function h(t){var e=d.select(t),r=t._fullLayout;if(r._container=e.selectAll(&quot;.plot-container&quot;).data([0]),r._container.enter().insert(&quot;div&quot;,&quot;:first-child&quot;).classed(&quot;plot-container&quot;,!0).classed(&quot;plotly&quot;,!0),r._paperdiv=r._container.selectAll(&quot;.svg-container&quot;).data([0]),r._paperdiv.enter().append(&quot;div&quot;).classed(&quot;svg-container&quot;,!0).style(&quot;position&quot;,&quot;relative&quot;),r._glcontainer=r._paperdiv.selectAll(&quot;.gl-container&quot;).data([{}]),r._glcontainer.enter().append(&quot;div&quot;).classed(&quot;gl-container&quot;,!0),r._glcanvas=null,r._paperdiv.selectAll(&quot;.main-svg&quot;).remove(),r._paper=r._paperdiv.insert(&quot;svg&quot;,&quot;:first-child&quot;).classed(&quot;main-svg&quot;,!0),r._toppaper=r._paperdiv.append(&quot;svg&quot;).classed(&quot;main-svg&quot;,!0),!r._uid){var n=[];d.selectAll(&quot;defs&quot;).each(function(){this.id&amp;&amp;n.push(this.id.split(&quot;-&quot;)[1])}),r._uid=v.randstr(n)}r._paperdiv.selectAll(&quot;.main-svg&quot;).attr(E.svgAttrs),r._defs=r._paper.append(&quot;defs&quot;).attr(&quot;id&quot;,&quot;defs-&quot;+r._uid),r._clips=r._defs.append(&quot;g&quot;).classed(&quot;clips&quot;,!0),r._topdefs=r._toppaper.append(&quot;defs&quot;).attr(&quot;id&quot;,&quot;topdefs-&quot;+r._uid),r._topclips=r._topdefs.append(&quot;g&quot;).classed(&quot;clips&quot;,!0),r._bgLayer=r._paper.append(&quot;g&quot;).classed(&quot;bglayer&quot;,!0),r._draggers=r._paper.append(&quot;g&quot;).classed(&quot;draglayer&quot;,!0);var i=r._paper.append(&quot;g&quot;).classed(&quot;layer-below&quot;,!0);r._imageLowerLayer=i.append(&quot;g&quot;).classed(&quot;imagelayer&quot;,!0),r._shapeLowerLayer=i.append(&quot;g&quot;).classed(&quot;shapelayer&quot;,!0),r._cartesianlayer=r._paper.append(&quot;g&quot;).classed(&quot;cartesianlayer&quot;,!0),r._polarlayer=r._paper.append(&quot;g&quot;).classed(&quot;polarlayer&quot;,!0),r._ternarylayer=r._paper.append(&quot;g&quot;).classed(&quot;ternarylayer&quot;,!0),r._geolayer=r._paper.append(&quot;g&quot;).classed(&quot;geolayer&quot;,!0),r._pielayer=r._paper.append(&quot;g&quot;).classed(&quot;pielayer&quot;,!0),r._glimages=r._paper.append(&quot;g&quot;).classed(&quot;glimages&quot;,!0);var a=r._toppaper.append(&quot;g&quot;).classed(&quot;layer-above&quot;,!0);r._imageUpperLayer=a.append(&quot;g&quot;).classed(&quot;imagelayer&quot;,!0),r._shapeUpperLayer=a.append(&quot;g&quot;).classed(&quot;shapelayer&quot;,!0),r._infolayer=r._toppaper.append(&quot;g&quot;).classed(&quot;infolayer&quot;,!0),r._menulayer=r._toppaper.append(&quot;g&quot;).classed(&quot;menulayer&quot;,!0),r._zoomlayer=r._toppaper.append(&quot;g&quot;).classed(&quot;zoomlayer&quot;,!0),r._hoverlayer=r._toppaper.append(&quot;g&quot;).classed(&quot;hoverlayer&quot;,!0),t.emit(&quot;plotly_framework&quot;)}var d=t(&quot;d3&quot;),p=t(&quot;fast-isnumeric&quot;),m=t(&quot;has-hover&quot;),g=t(&quot;../plotly&quot;),v=t(&quot;../lib&quot;),y=t(&quot;../lib/events&quot;),x=t(&quot;../lib/queue&quot;),b=t(&quot;../registry&quot;),_=t(&quot;./plot_schema&quot;),w=t(&quot;../plots/plots&quot;),M=t(&quot;../plots/polar/legacy&quot;),k=t(&quot;../plots/cartesian/graph_interact&quot;),A=t(&quot;../components/drawing&quot;),T=t(&quot;../components/color&quot;),S=t(&quot;../components/errorbars&quot;),E=t(&quot;../constants/xmlns_namespaces&quot;),L=t(&quot;../lib/svg_text_utils&quot;),C=t(&quot;./manage_arrays&quot;),z=t(&quot;./helpers&quot;),D=t(&quot;./subroutines&quot;),I=t(&quot;./edit_types&quot;),P=t(&quot;../plots/cartesian/constants&quot;),O=t(&quot;../plots/cartesian/constraints&quot;),F=O.enforce,R=O.clean,N=t(&quot;../plots/cartesian/axis_ids&quot;);g.plot=function(t,e,r,a){function o(){var e,r,n,i=t.calcdata;for(b.getComponentMethod(&quot;legend&quot;,&quot;draw&quot;)(t),b.getComponentMethod(&quot;rangeselector&quot;,&quot;draw&quot;)(t),b.getComponentMethod(&quot;sliders&quot;,&quot;draw&quot;)(t),b.getComponentMethod(&quot;updatemenus&quot;,&quot;draw&quot;)(t),e=0;e&lt;i.length;e++)!0===(n=(r=i[e])[0].trace).visible&amp;&amp;n._module.colorbar?n._module.colorbar(t,r):w.autoMargin(t,&quot;cb&quot;+n.uid);return w.doAutoMargin(t),w.previousPromises(t)}function s(){if(!t._transitioning){for(var e=g.Axes.list(t,&quot;&quot;,!0),r=0;r&lt;e.length;r++){var n=e[r];R(t,n),g.Axes.doAutoRange(n)}F(t),u&amp;&amp;g.Axes.saveRangeInitial(t)}}var l;if(t=v.getGraphDiv(t),y.init(t),v.isPlainObject(e)){var c=e;e=c.data,r=c.layout,a=c.config,l=c.frames}if(!1===y.triggerHandler(t,&quot;plotly_beforeplot&quot;,[e,r,a]))return Promise.reject();e||r||v.isPlotDiv(t)||v.warn(&quot;Calling Plotly.plot as if redrawing but this container doesn't yet have a plot.&quot;,t),function(t,e){t._context||(t._context=v.extendDeep({},g.defaultConfig));var r,a,o,s=t._context;if(e){for(a=Object.keys(e),r=0;r&lt;a.length;r++)&quot;editable&quot;!==(o=a[r])&amp;&amp;&quot;edits&quot;!==o&amp;&amp;o in s&amp;&amp;(&quot;setBackground&quot;===o&amp;&amp;&quot;opaque&quot;===e[o]?s[o]=i:s[o]=e[o]);e.plot3dPixelRatio&amp;&amp;!s.plotGlPixelRatio&amp;&amp;(s.plotGlPixelRatio=s.plot3dPixelRatio);var l=e.editable;if(void 0!==l)for(s.editable=l,a=Object.keys(s.edits),r=0;r&lt;a.length;r++)s.edits[a[r]]=l;if(e.edits)for(a=Object.keys(e.edits),r=0;r&lt;a.length;r++)(o=a[r])in s.edits&amp;&amp;(s.edits[o]=e.edits[o])}s.staticPlot&amp;&amp;(s.editable=!1,s.edits={},s.autosizable=!1,s.scrollZoom=!1,s.doubleClick=!1,s.showTips=!1,s.showLink=!1,s.displayModeBar=!1),&quot;hover&quot;!==s.displayModeBar||m||(s.displayModeBar=!0),&quot;transparent&quot;!==s.setBackground&amp;&amp;&quot;function&quot;==typeof s.setBackground||(s.setBackground=n)}(t,a),r||(r={}),d.select(t).classed(&quot;js-plotly-plot&quot;,!0),A.makeTester(),Array.isArray(t._promises)||(t._promises=[]);var u=0===(t.data||[]).length&amp;&amp;Array.isArray(e);if(Array.isArray(e)&amp;&amp;(z.cleanData(e,t.data),u?t.data=e:t.data.push.apply(t.data,e),t.empty=!1),t.layout&amp;&amp;!u||(t.layout=z.cleanLayout(r)),t._dragging&amp;&amp;!t._transitioning)return t._replotPending=!0,Promise.reject();t._replotPending=!1,w.supplyDefaults(t);var f=t._fullLayout;if(!f._has(&quot;polar&quot;)&amp;&amp;e&amp;&amp;e[0]&amp;&amp;e[0].r)return v.log(&quot;Legacy polar charts are deprecated!&quot;),function(t,e,r){var n=d.select(t).selectAll(&quot;.plot-container&quot;).data([0]);n.enter().insert(&quot;div&quot;,&quot;:first-child&quot;).classed(&quot;plot-container plotly&quot;,!0);var i=n.selectAll(&quot;.svg-container&quot;).data([0]);i.enter().append(&quot;div&quot;).classed(&quot;svg-container&quot;,!0).style(&quot;position&quot;,&quot;relative&quot;),i.html(&quot;&quot;),e&amp;&amp;(t.data=e),r&amp;&amp;(t.layout=r),M.manager.fillLayout(t),i.style({width:t._fullLayout.width+&quot;px&quot;,height:t._fullLayout.height+&quot;px&quot;}),t.framework=M.manager.framework(t),t.framework({data:t.data,layout:t.layout},i.node()),t.framework.setUndoPoint();var a=t.framework.svg(),o=1,s=t._fullLayout.title;&quot;&quot;!==s&amp;&amp;s||(o=0);var l=function(){this.call(L.convertToTspans,t)},c=a.select(&quot;.title-group text&quot;).call(l);if(t._context.edits.titleText){var u=v._(t,&quot;Click to enter Plot title&quot;);s&amp;&amp;s!==u||(o=.2,c.attr({&quot;data-unformatted&quot;:u}).text(u).style({opacity:o}).on(&quot;mouseover.opacity&quot;,function(){d.select(this).transition().duration(100).style(&quot;opacity&quot;,1)}).on(&quot;mouseout.opacity&quot;,function(){d.select(this).transition().duration(1e3).style(&quot;opacity&quot;,0)}));var f=function(){this.call(L.makeEditable,{gd:t}).on(&quot;edit&quot;,function(e){t.framework({layout:{title:e}}),this.text(e).call(l),this.call(f)}).on(&quot;cancel&quot;,function(){var t=this.attr(&quot;data-unformatted&quot;);this.text(t).call(l)})};c.call(f)}return t._context.setBackground(t,t._fullLayout.paper_bgcolor),w.addLinks(t),Promise.resolve()}(t,e,r);f._replotting=!0,u&amp;&amp;h(t),t.framework!==h&amp;&amp;(t.framework=h,h(t)),A.initGradients(t),u&amp;&amp;g.Axes.saveShowSpikeInitial(t);var p=!t.calcdata||t.calcdata.length!==(t._fullData||[]).length;p&amp;&amp;w.doCalcdata(t);for(var x=0;x&lt;t.calcdata.length;x++)t.calcdata[x][0].trace=t._fullData[x];var _=JSON.stringify(f._size),T=[w.previousPromises,function(){if(l)return g.addFrames(t,l)},function(){for(var e=f._basePlotModules,r=0;r&lt;e.length;r++)e[r].drawFramework&amp;&amp;e[r].drawFramework(t);return!f._glcanvas&amp;&amp;f._has(&quot;gl&quot;)&amp;&amp;(f._glcanvas=f._glcontainer.selectAll(&quot;.gl-canvas&quot;).data([{key:&quot;contextLayer&quot;,context:!0,pick:!1},{key:&quot;focusLayer&quot;,context:!1,pick:!1},{key:&quot;pickLayer&quot;,context:!1,pick:!0}],function(t){return t.key}),f._glcanvas.enter().append(&quot;canvas&quot;).attr(&quot;class&quot;,function(t){return&quot;gl-canvas gl-canvas-&quot;+t.key.replace(&quot;Layer&quot;,&quot;&quot;)}).style({position:&quot;absolute&quot;,top:0,left:0,width:&quot;100%&quot;,height:&quot;100%&quot;,overflow:&quot;visible&quot;,&quot;pointer-events&quot;:&quot;none&quot;})),f._glcanvas&amp;&amp;f._glcanvas.attr(&quot;width&quot;,f.width).attr(&quot;height&quot;,f.height),v.syncOrAsync([D.layoutStyles],t)},o,function(){if(JSON.stringify(f._size)!==_)return v.syncOrAsync([o,D.layoutStyles],t)},function(){if(p){var e,r,n,i=f._subplots.cartesian,a=f._modules,o=[];for(n=0;n&lt;a.length;n++)v.pushUnique(o,a[n].setPositions);if(o.length)for(r=0;r&lt;i.length;r++)for(e=f._plots[i[r]],n=0;n&lt;o.length;n++)o[n](t,e);return S.calc(t),v.syncOrAsync([b.getComponentMethod(&quot;shapes&quot;,&quot;calcAutorange&quot;),b.getComponentMethod(&quot;annotations&quot;,&quot;calcAutorange&quot;),s,b.getComponentMethod(&quot;rangeslider&quot;,&quot;calcAutorange&quot;)],t)}F(t)},D.layoutStyles,function(){return g.Axes.doTicks(t,&quot;redraw&quot;)},function(){var e,r=t.calcdata,n=f._infolayer.selectAll(&quot;g.rangeslider-container&quot;);for(e=0;e&lt;r.length;e++){var i=r[e][0].trace,a=!0===i.visible,o=i.uid;if(!a||!b.traceIs(i,&quot;2dMap&quot;)){var s=&quot;.hm&quot;+o+&quot;,.contour&quot;+o+&quot;,#clip&quot;+o;f._paper.selectAll(s).remove(),n.selectAll(s).remove()}a&amp;&amp;i._module.colorbar||f._infolayer.selectAll(&quot;.cb&quot;+o).remove()}var l=f._basePlotModules;for(e=0;e&lt;l.length;e++)l[e].plot(t);var c=f._paper.selectAll(&quot;.layer-subplot&quot;);return f._shapeSubplotLayers=c.selectAll(&quot;.shapelayer&quot;),w.style(t),b.getComponentMethod(&quot;shapes&quot;,&quot;draw&quot;)(t),b.getComponentMethod(&quot;annotations&quot;,&quot;draw&quot;)(t),w.addLinks(t),f._replotting=!1,w.previousPromises(t)},function(){b.getComponentMethod(&quot;shapes&quot;,&quot;draw&quot;)(t),b.getComponentMethod(&quot;images&quot;,&quot;draw&quot;)(t),b.getComponentMethod(&quot;annotations&quot;,&quot;draw&quot;)(t),b.getComponentMethod(&quot;legend&quot;,&quot;draw&quot;)(t),b.getComponentMethod(&quot;rangeslider&quot;,&quot;draw&quot;)(t),b.getComponentMethod(&quot;rangeselector&quot;,&quot;draw&quot;)(t),b.getComponentMethod(&quot;sliders&quot;,&quot;draw&quot;)(t),b.getComponentMethod(&quot;updatemenus&quot;,&quot;draw&quot;)(t)},k,w.rehover,w.previousPromises],E=v.syncOrAsync(T,t);return E&amp;&amp;E.then||(E=Promise.resolve()),E.then(function(){return t.emit(&quot;plotly_afterplot&quot;),t})},g.redraw=function(t){if(t=v.getGraphDiv(t),!v.isPlotDiv(t))throw new Error(&quot;This element is not a Plotly plot: &quot;+t);return z.cleanData(t.data,t.data),z.cleanLayout(t.layout),t.calcdata=void 0,g.plot(t).then(function(){return t.emit(&quot;plotly_redraw&quot;),t})},g.newPlot=function(t,e,r,n){return t=v.getGraphDiv(t),w.cleanPlot([],{},t._fullData||{},t._fullLayout||{}),w.purge(t),g.plot(t,e,r,n)},g.extendTraces=function t(e,r,n,i){var a=l(e=v.getGraphDiv(e),r,n,i,function(t,e){return t.concat(e)},function(t,e){return t.splice(0,t.length-e)}),o=g.redraw(e),s=[e,a.update,n,a.maxPoints];return x.add(e,g.prependTraces,s,t,arguments),o},g.prependTraces=function t(e,r,n,i){var a=l(e=v.getGraphDiv(e),r,n,i,function(t,e){return e.concat(t)},function(t,e){return t.splice(e,t.length)}),o=g.redraw(e),s=[e,a.update,n,a.maxPoints];return x.add(e,g.extendTraces,s,t,arguments),o},g.addTraces=function t(e,r,n){e=v.getGraphDiv(e);var i,a,o=[],l=g.deleteTraces,c=t,u=[e,o],f=[e,r];for(function(t,e,r){var n,i;if(!Array.isArray(t.data))throw new Error(&quot;gd.data must be an array.&quot;);if(void 0===e)throw new Error(&quot;traces must be defined.&quot;);for(Array.isArray(e)||(e=[e]),n=0;n&lt;e.length;n++)if(&quot;object&quot;!=typeof(i=e[n])||Array.isArray(i)||null===i)throw new Error(&quot;all values in traces array must be non-array objects&quot;);if(void 0===r||Array.isArray(r)||(r=[r]),void 0!==r&amp;&amp;r.length!==e.length)throw new Error(&quot;if indices is specified, traces.length must equal indices.length&quot;)}(e,r,n),Array.isArray(r)||(r=[r]),r=r.map(function(t){return v.extendFlat({},t)}),z.cleanData(r,e.data),i=0;i&lt;r.length;i++)e.data.push(r[i]);for(i=0;i&lt;r.length;i++)o.push(-r.length+i);if(void 0===n)return a=g.redraw(e),x.add(e,l,u,c,f),a;Array.isArray(n)||(n=[n]);try{s(e,o,n)}catch(t){throw e.data.splice(e.data.length-r.length,r.length),t}return x.startSequence(e),x.add(e,l,u,c,f),a=g.moveTraces(e,o,n),x.stopSequence(e),a},g.deleteTraces=function t(e,r){e=v.getGraphDiv(e);var n,i,s=[],l=g.addTraces,c=t,u=[e,s,r],f=[e,r];if(void 0===r)throw new Error(&quot;indices must be an integer or array of integers.&quot;);for(Array.isArray(r)||(r=[r]),o(e,r,&quot;indices&quot;),(r=a(r,e.data.length-1)).sort(v.sorterDes),n=0;n&lt;r.length;n+=1)i=e.data.splice(r[n],1)[0],s.push(i);var h=g.redraw(e);return x.add(e,l,u,c,f),h},g.moveTraces=function t(e,r,n){var i,o=[],l=[],c=t,u=t,f=[e=v.getGraphDiv(e),n,r],h=[e,r,n];if(s(e,r,n),r=Array.isArray(r)?r:[r],void 0===n)for(n=[],i=0;i&lt;r.length;i++)n.push(-r.length+i);for(n=Array.isArray(n)?n:[n],r=a(r,e.data.length-1),n=a(n,e.data.length-1),i=0;i&lt;e.data.length;i++)-1===r.indexOf(i)&amp;&amp;o.push(e.data[i]);for(i=0;i&lt;r.length;i++)l.push({newIndex:n[i],trace:e.data[r[i]]});for(l.sort(function(t,e){return t.newIndex-e.newIndex}),i=0;i&lt;l.length;i+=1)o.splice(l[i].newIndex,0,l[i].trace);e.data=o;var d=g.redraw(e);return x.add(e,c,f,u,h),d},g.restyle=function t(e,r,n,i){e=v.getGraphDiv(e),z.clearPromiseQueue(e);var a={};if(&quot;string&quot;==typeof r)a[r]=n;else{if(!v.isPlainObject(r))return v.warn(&quot;Restyle fail.&quot;,r,n,i),Promise.reject();a=v.extendFlat({},r),void 0===i&amp;&amp;(i=n)}Object.keys(a).length&amp;&amp;(e.changed=!0);var o=z.coerceTraceIndices(e,i),s=u(e,a,o),l=s.flags;l.clearCalc&amp;&amp;(e.calcdata=void 0),l.clearAxisTypes&amp;&amp;z.clearAxisTypes(e,o,{});var c=[];l.fullReplot?c.push(g.plot):(c.push(w.previousPromises),w.supplyDefaults(e),l.style&amp;&amp;c.push(D.doTraceStyle),l.colorbars&amp;&amp;c.push(D.doColorBars)),c.push(w.rehover),x.add(e,t,[e,s.undoit,s.traces],t,[e,s.redoit,s.traces]);var f=v.syncOrAsync(c,e);return f&amp;&amp;f.then||(f=Promise.resolve()),f.then(function(){return e.emit(&quot;plotly_restyle&quot;,s.eventData),e})},g.relayout=function t(e,r,n){if(e=v.getGraphDiv(e),z.clearPromiseQueue(e),e.framework&amp;&amp;e.framework.isPolar)return Promise.resolve(e);var i={};if(&quot;string&quot;==typeof r)i[r]=n;else{if(!v.isPlainObject(r))return v.warn(&quot;Relayout fail.&quot;,r,n),Promise.reject();i=v.extendFlat({},r)}Object.keys(i).length&amp;&amp;(e.changed=!0);var a=f(e,i),o=a.flags;o.calc&amp;&amp;(e.calcdata=void 0);var s=[w.previousPromises];o.layoutReplot?s.push(D.layoutReplot):Object.keys(i).length&amp;&amp;(w.supplyDefaults(e),o.legend&amp;&amp;s.push(D.doLegend),o.layoutstyle&amp;&amp;s.push(D.layoutStyles),o.ticks&amp;&amp;s.push(D.doTicksRelayout),o.modebar&amp;&amp;s.push(D.doModeBar),o.camera&amp;&amp;s.push(D.doCamera)),s.push(w.rehover),x.add(e,t,[e,a.undoit],t,[e,a.redoit]);var l=v.syncOrAsync(s,e);return l&amp;&amp;l.then||(l=Promise.resolve(e)),l.then(function(){return e.emit(&quot;plotly_relayout&quot;,a.eventData),e})},g.update=function t(e,r,n,i){if(e=v.getGraphDiv(e),z.clearPromiseQueue(e),e.framework&amp;&amp;e.framework.isPolar)return Promise.resolve(e);v.isPlainObject(r)||(r={}),v.isPlainObject(n)||(n={}),Object.keys(r).length&amp;&amp;(e.changed=!0),Object.keys(n).length&amp;&amp;(e.changed=!0);var a=z.coerceTraceIndices(e,i),o=u(e,v.extendFlat({},r),a),s=o.flags,l=f(e,v.extendFlat({},n)),c=l.flags;(s.clearCalc||c.calc)&amp;&amp;(e.calcdata=void 0),s.clearAxisTypes&amp;&amp;z.clearAxisTypes(e,a,n);var h=[];if(s.fullReplot&amp;&amp;c.layoutReplot){var d=e.data,p=e.layout;e.data=void 0,e.layout=void 0,h.push(function(){return g.plot(e,d,p)})}else s.fullReplot?h.push(g.plot):c.layoutReplot?h.push(D.layoutReplot):(h.push(w.previousPromises),w.supplyDefaults(e),s.style&amp;&amp;h.push(D.doTraceStyle),s.colorbars&amp;&amp;h.push(D.doColorBars),c.legend&amp;&amp;h.push(D.doLegend),c.layoutstyle&amp;&amp;h.push(D.layoutStyles),c.ticks&amp;&amp;h.push(D.doTicksRelayout),c.modebar&amp;&amp;h.push(D.doModeBar),c.camera&amp;&amp;h.push(D.doCamera));h.push(w.rehover),x.add(e,t,[e,o.undoit,l.undoit,o.traces],t,[e,o.redoit,l.redoit,o.traces]);var m=v.syncOrAsync(h,e);return m&amp;&amp;m.then||(m=Promise.resolve(e)),m.then(function(){return e.emit(&quot;plotly_update&quot;,{data:o.eventData,layout:l.eventData}),e})},g.animate=function(t,e,r){function n(t){return Array.isArray(s)?t&gt;=s.length?s[0]:s[t]:s}function i(t){return Array.isArray(l)?t&gt;=l.length?l[0]:l[t]:l}function a(t,e){var r=0;return function(){if(t&amp;&amp;++r===e)return t()}}if(t=v.getGraphDiv(t),!v.isPlotDiv(t))throw new Error(&quot;This element is not a Plotly plot: &quot;+t+&quot;. It's likely that you've failed to create a plot before animating it. For more details, see https://plot.ly/javascript/animations/&quot;);var o=t._transitionData;o._frameQueue||(o._frameQueue=[]);var s=(r=w.supplyAnimationDefaults(r)).transition,l=r.frame;return void 0===o._frameWaitingCnt&amp;&amp;(o._frameWaitingCnt=0),new Promise(function(l,c){function u(e){if(0!==e.length){for(var s=0;s&lt;e.length;s++){var u;u=&quot;byname&quot;===e[s].type?w.computeFrame(t,e[s].name):e[s].data;var f=i(s),h=n(s);h.duration=Math.min(h.duration,f.duration);var d={frame:u,name:e[s].name,frameOpts:f,transitionOpts:h};s===e.length-1&amp;&amp;(d.onComplete=a(l,2),d.onInterrupt=c),o._frameQueue.push(d)}&quot;immediate&quot;===r.mode&amp;&amp;(o._lastFrameAt=-1/0),o._animationRaf||function(){t.emit(&quot;plotly_animating&quot;),o._lastFrameAt=-1/0,o._timeToNext=0,o._runningTransitions=0,o._currentFrame=null;var e=function(){o._animationRaf=window.requestAnimationFrame(e),Date.now()-o._lastFrameAt&gt;o._timeToNext&amp;&amp;function(){o._currentFrame&amp;&amp;o._currentFrame.onComplete&amp;&amp;o._currentFrame.onComplete();var e=o._currentFrame=o._frameQueue.shift();if(e){var r=e.name?e.name.toString():null;t._fullLayout._currentFrame=r,o._lastFrameAt=Date.now(),o._timeToNext=e.frameOpts.duration,w.transition(t,e.frame.data,e.frame.layout,z.coerceTraceIndices(t,e.frame.traces),e.frameOpts,e.transitionOpts).then(function(){e.onComplete&amp;&amp;e.onComplete()}),t.emit(&quot;plotly_animatingframe&quot;,{name:r,frame:e.frame,animation:{frame:e.frameOpts,transition:e.transitionOpts}})}else t.emit(&quot;plotly_animated&quot;),window.cancelAnimationFrame(o._animationRaf),o._animationRaf=null}()};e()}()}}function f(t){return Array.isArray(s)?p&gt;=s.length?t.transitionOpts=s[p]:t.transitionOpts=s[0]:t.transitionOpts=s,p++,t}var h,d,p=0,m=[],g=void 0===e||null===e,y=Array.isArray(e);if(!g&amp;&amp;!y&amp;&amp;v.isPlainObject(e))m.push({type:&quot;object&quot;,data:f(v.extendFlat({},e))});else if(g||-1!==[&quot;string&quot;,&quot;number&quot;].indexOf(typeof e))for(h=0;h&lt;o._frames.length;h++)(d=o._frames[h])&amp;&amp;(g||String(d.group)===String(e))&amp;&amp;m.push({type:&quot;byname&quot;,name:String(d.name),data:f({name:d.name})});else if(y)for(h=0;h&lt;e.length;h++){var x=e[h];-1!==[&quot;number&quot;,&quot;string&quot;].indexOf(typeof x)?(x=String(x),m.push({type:&quot;byname&quot;,name:x,data:f({name:x})})):v.isPlainObject(x)&amp;&amp;m.push({type:&quot;object&quot;,data:f(v.extendFlat({},x))})}for(h=0;h&lt;m.length;h++)if(&quot;byname&quot;===(d=m[h]).type&amp;&amp;!o._frameHash[d.data.name])return v.warn('animate failure: frame not found: &quot;'+d.data.name+'&quot;'),void c();-1!==[&quot;next&quot;,&quot;immediate&quot;].indexOf(r.mode)&amp;&amp;function(){if(0!==o._frameQueue.length){for(;o._frameQueue.length;){var e=o._frameQueue.pop();e.onInterrupt&amp;&amp;e.onInterrupt()}t.emit(&quot;plotly_animationinterrupted&quot;,[])}}(),&quot;reverse&quot;===r.direction&amp;&amp;m.reverse();var b=t._fullLayout._currentFrame;if(b&amp;&amp;r.fromcurrent){var _=-1;for(h=0;h&lt;m.length;h++)if(&quot;byname&quot;===(d=m[h]).type&amp;&amp;d.name===b){_=h;break}if(_&gt;0&amp;&amp;_&lt;m.length-1){var M=[];for(h=0;h&lt;m.length;h++)d=m[h],(&quot;byname&quot;!==m[h].type||h&gt;_)&amp;&amp;M.push(d);m=M}}m.length&gt;0?u(m):(t.emit(&quot;plotly_animated&quot;),l())})},g.addFrames=function(t,e,r){t=v.getGraphDiv(t);var n=0;if(null===e||void 0===e)return Promise.resolve();if(!v.isPlotDiv(t))throw new Error(&quot;This element is not a Plotly plot: &quot;+t+&quot;. It's likely that you've failed to create a plot before adding frames. For more details, see https://plot.ly/javascript/animations/&quot;);var i,a,o,s,l=t._transitionData._frames,c=t._transitionData._frameHash;if(!Array.isArray(e))throw new Error(&quot;addFrames failure: frameList must be an Array of frame definitions&quot;+e);var u=l.length+2*e.length,f=[];for(i=e.length-1;i&gt;=0;i--)if(v.isPlainObject(e[i])){var h=(c[e[i].name]||{}).name,d=e[i].name;h&amp;&amp;d&amp;&amp;&quot;number&quot;==typeof d&amp;&amp;c[h]&amp;&amp;(n++,v.warn('addFrames: overwriting frame &quot;'+c[h].name+'&quot; with a frame whose name of type &quot;number&quot; also equates to &quot;'+h+'&quot;. This is valid but may potentially lead to unexpected behavior since all plotly.js frame names are stored internally as strings.'),n&gt;5&amp;&amp;v.warn(&quot;addFrames: This API call has yielded too many warnings. For the rest of this call, further warnings about numeric frame names will be suppressed.&quot;)),f.push({frame:w.supplyFrameDefaults(e[i]),index:r&amp;&amp;void 0!==r[i]&amp;&amp;null!==r[i]?r[i]:u+i})}f.sort(function(t,e){return t.index&gt;e.index?-1:t.index&lt;e.index?1:0});var p=[],m=[],g=l.length;for(i=f.length-1;i&gt;=0;i--){if(&quot;number&quot;==typeof(a=f[i].frame).name&amp;&amp;v.warn(&quot;Warning: addFrames accepts frames with numeric names, but the numbers areimplicitly cast to strings&quot;),!a.name)for(;c[a.name=&quot;frame &quot;+t._transitionData._counter++];);if(c[a.name]){for(o=0;o&lt;l.length&amp;&amp;(l[o]||{}).name!==a.name;o++);p.push({type:&quot;replace&quot;,index:o,value:a}),m.unshift({type:&quot;replace&quot;,index:o,value:l[o]})}else s=Math.max(0,Math.min(f[i].index,g)),p.push({type:&quot;insert&quot;,index:s,value:a}),m.unshift({type:&quot;delete&quot;,index:s}),g++}var y=w.modifyFrames,b=w.modifyFrames,_=[t,m],M=[t,p];return x&amp;&amp;x.add(t,y,_,b,M),w.modifyFrames(t,p)},g.deleteFrames=function(t,e){if(t=v.getGraphDiv(t),!v.isPlotDiv(t))throw new Error(&quot;This element is not a Plotly plot: &quot;+t);var r,n,i=t._transitionData._frames,a=[],o=[];if(!e)for(e=[],r=0;r&lt;i.length;r++)e.push(r);for((e=e.slice(0)).sort(),r=e.length-1;r&gt;=0;r--)n=e[r],a.push({type:&quot;delete&quot;,index:n}),o.unshift({type:&quot;insert&quot;,index:n,value:i[n]});var s=w.modifyFrames,l=w.modifyFrames,c=[t,o],u=[t,a];return x&amp;&amp;x.add(t,s,c,l,u),w.modifyFrames(t,a)},g.purge=function(t){var e=(t=v.getGraphDiv(t))._fullLayout||{},r=t._fullData||[];return w.cleanPlot([],{},r,e),w.purge(t),y.purge(t),e._container&amp;&amp;e._container.remove(),delete t._context,t}},{&quot;../components/color&quot;:618,&quot;../components/drawing&quot;:643,&quot;../components/errorbars&quot;:649,&quot;../constants/xmlns_namespaces&quot;:723,&quot;../lib&quot;:743,&quot;../lib/events&quot;:731,&quot;../lib/queue&quot;:757,&quot;../lib/svg_text_utils&quot;:766,&quot;../plotly&quot;:784,&quot;../plots/cartesian/axis_ids&quot;:792,&quot;../plots/cartesian/constants&quot;:794,&quot;../plots/cartesian/constraints&quot;:796,&quot;../plots/cartesian/graph_interact&quot;:798,&quot;../plots/plots&quot;:852,&quot;../plots/polar/legacy&quot;:860,&quot;../registry&quot;:873,&quot;./edit_types&quot;:773,&quot;./helpers&quot;:774,&quot;./manage_arrays&quot;:775,&quot;./plot_schema&quot;:778,&quot;./subroutines&quot;:781,d3:128,&quot;fast-isnumeric&quot;:140,&quot;has-hover&quot;:276}],777:[function(t,e,r){&quot;use strict&quot;;e.exports={staticPlot:!1,editable:!1,edits:{annotationPosition:!1,annotationTail:!1,annotationText:!1,axisTitleText:!1,colorbarPosition:!1,colorbarTitleText:!1,legendPosition:!1,legendText:!1,shapePosition:!1,titleText:!1},autosizable:!1,queueLength:0,fillFrame:!1,frameMargins:0,scrollZoom:!1,doubleClick:&quot;reset+autosize&quot;,showTips:!0,showAxisDragHandles:!0,showAxisRangeEntryBoxes:!0,showLink:!1,sendData:!0,linkText:&quot;Edit chart&quot;,showSources:!1,displayModeBar:&quot;hover&quot;,modeBarButtonsToRemove:[],modeBarButtonsToAdd:[],modeBarButtons:!1,displaylogo:!0,plotGlPixelRatio:2,setBackground:&quot;transparent&quot;,topojsonURL:&quot;https://cdn.plot.ly/&quot;,mapboxAccessToken:null,logging:1,globalTransforms:[],locale:&quot;en-US&quot;,locales:{}}},{}],778:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r){if(!t)return!1;if(t._isLinkedToArray)if(i(e[r]))r++;else if(r&lt;e.length)return!1;for(;r&lt;e.length;r++){var n=t[e[r]];if(!u.isPlainObject(n))break;if(t=n,r===e.length-1)break;if(t._isLinkedToArray){if(r++,!i(e[r]))return!1}else if(&quot;info_array&quot;===t.valType){var a=e[++r];if(!i(a)||a&gt;=t.items.length)return!1;t=t.items[a]}}return t}function i(t){return t===Math.round(t)&amp;&amp;t&gt;=0}function a(){var t,e,r={};x(r,h);for(t in c.subplotsRegistry)if((e=c.subplotsRegistry[t]).layoutAttributes)if(&quot;cartesian&quot;===e.name)s(r,e,&quot;xaxis&quot;),s(r,e,&quot;yaxis&quot;);else{s(r,e,&quot;subplot&quot;===e.attr?e.name:e.attr)}r=function(t){return y(t,{radialaxis:g.radialaxis,angularaxis:g.angularaxis}),y(t,g.layout),t}(r);for(t in c.componentsRegistry){var n=(e=c.componentsRegistry[t]).schema;if(n&amp;&amp;(n.subplots||n.layout)){var i=n.subplots;if(i&amp;&amp;i.xaxis&amp;&amp;!i.yaxis)for(var a in i.xaxis)delete r.yaxis[a]}else e.layoutAttributes&amp;&amp;l(r,e.layoutAttributes,e.name)}return{layoutAttributes:o(r)}}function o(t){return function(t){r.crawl(t,function(t,e,n){r.isValObject(t)?&quot;data_array&quot;===t.valType?(t.role=&quot;data&quot;,n[e+&quot;src&quot;]={valType:&quot;string&quot;,editType:&quot;none&quot;}):!0===t.arrayOk&amp;&amp;(n[e+&quot;src&quot;]={valType:&quot;string&quot;,editType:&quot;none&quot;}):u.isPlainObject(t)&amp;&amp;(t.role=&quot;object&quot;)})}(t),function(t){r.crawl(t,function(t,e,r){if(!t)return;var n=t[_];if(!n)return;delete t[_],r[e]={items:{}},r[e].items[n]=t,r[e].role=&quot;object&quot;})}(t),t}function s(t,e,r){var n=u.nestedProperty(t,r),i=x({},e.layoutAttributes);i[b]=!0,n.set(i)}function l(t,e,r){var n=u.nestedProperty(t,r);n.set(x(n.get()||{},e))}var c=t(&quot;../registry&quot;),u=t(&quot;../lib&quot;),f=t(&quot;../plots/attributes&quot;),h=t(&quot;../plots/layout_attributes&quot;),d=t(&quot;../plots/frame_attributes&quot;),p=t(&quot;../plots/animation_attributes&quot;),m=t(&quot;../plots/polar/legacy/area_attributes&quot;),g=t(&quot;../plots/polar/legacy/axis_attributes&quot;),v=t(&quot;./edit_types&quot;),y=u.extendFlat,x=u.extendDeepAll,b=&quot;_isSubplotObj&quot;,_=&quot;_isLinkedToArray&quot;,w=[b,_,&quot;_arrayAttrRegexps&quot;,&quot;_deprecated&quot;];r.IS_SUBPLOT_OBJ=b,r.IS_LINKED_TO_ARRAY=_,r.DEPRECATED=&quot;_deprecated&quot;,r.UNDERSCORE_ATTRS=w,r.get=function(){var t={};c.allTypes.concat(&quot;area&quot;).forEach(function(e){t[e]=function(t){var e,r;&quot;area&quot;===t?(e={attributes:m},r={}):r=(e=c.modules[t]._module).basePlotModule;var n={};n.type=null,x(n,f),x(n,e.attributes),r.attributes&amp;&amp;x(n,r.attributes),n.type=t;var i={meta:e.meta||{},attributes:o(n)};if(e.layoutAttributes){var a={};x(a,e.layoutAttributes),i.layoutAttributes=o(a)}return i}(e)});var e={};return Object.keys(c.transformsRegistry).forEach(function(t){e[t]=function(t){var e=c.transformsRegistry[t],r=x({},e.attributes);return Object.keys(c.componentsRegistry).forEach(function(e){var n=c.componentsRegistry[e];n.schema&amp;&amp;n.schema.transforms&amp;&amp;n.schema.transforms[t]&amp;&amp;Object.keys(n.schema.transforms[t]).forEach(function(e){l(r,n.schema.transforms[t][e],e)})}),{attributes:o(r)}}(t)}),{defs:{valObjects:u.valObjectMeta,metaKeys:w.concat([&quot;description&quot;,&quot;role&quot;,&quot;editType&quot;,&quot;impliedEdits&quot;]),editType:{traces:v.traces,layout:v.layout},impliedEdits:{}},traces:t,layout:a(),transforms:e,frames:function(){var t={frames:u.extendDeepAll({},d)};return o(t),t.frames}(),animation:o(p)}},r.crawl=function(t,e,n,i){var a=n||0;i=i||&quot;&quot;,Object.keys(t).forEach(function(n){var o=t[n];if(-1===w.indexOf(n)){var s=(i?i+&quot;.&quot;:&quot;&quot;)+n;e(o,n,t,a,s),r.isValObject(o)||u.isPlainObject(o)&amp;&amp;&quot;impliedEdits&quot;!==n&amp;&amp;r.crawl(o,e,a+1,s)}})},r.isValObject=function(t){return t&amp;&amp;void 0!==t.valType},r.findArrayAttributes=function(t){function e(e,r,a,o){i=i.slice(0,o).concat([r]);if(e&amp;&amp;(&quot;data_array&quot;===e.valType||!0===e.arrayOk)&amp;&amp;!(&quot;colorbar&quot;===i[o-1]&amp;&amp;(&quot;ticktext&quot;===r||&quot;tickvals&quot;===r))){var s=function(t){return t.join(&quot;.&quot;)}(i),l=u.nestedProperty(t,s).get();Array.isArray(l)&amp;&amp;n.push(s)}}var n=[],i=[];if(r.crawl(f,e),t._module&amp;&amp;t._module.attributes&amp;&amp;r.crawl(t._module.attributes,e),t.transforms)for(var a=t.transforms,o=0;o&lt;a.length;o++){var s=a[o]._module;s&amp;&amp;(i=[&quot;transforms[&quot;+o+&quot;]&quot;],r.crawl(s.attributes,e,1))}return t._fullInput&amp;&amp;t._fullInput._module&amp;&amp;t._fullInput._module.attributes&amp;&amp;(r.crawl(t._fullInput._module.attributes,e),n=u.filterUnique(n)),n},r.getTraceValObject=function(t,e){var r,a,o=e[0],s=1;if(&quot;transforms&quot;===o){if(!Array.isArray(t.transforms))return!1;var l=e[1];if(!i(l)||l&gt;=t.transforms.length)return!1;a=(r=(c.transformsRegistry[t.transforms[l].type]||{}).attributes)&amp;&amp;r[e[2]],s=3}else if(&quot;area&quot;===t.type)a=m[o];else{var u=t._module;if(u||(u=(c.modules[t.type||f.type.dflt]||{})._module),!u)return!1;if(r=u.attributes,!(a=r&amp;&amp;r[o])){var h=u.basePlotModule;h&amp;&amp;h.attributes&amp;&amp;(a=h.attributes[o])}a||(a=f[o])}return n(a,e,s)},r.getLayoutValObject=function(t,e){return n(function(t,e){var r,n,i,a,o=t._basePlotModules;if(o){var s;for(r=0;r&lt;o.length;r++){if((i=o[r]).attrRegex&amp;&amp;i.attrRegex.test(e)){if(i.layoutAttrOverrides)return i.layoutAttrOverrides;!s&amp;&amp;i.layoutAttributes&amp;&amp;(s=i.layoutAttributes)}var l=i.baseLayoutAttrOverrides;if(l&amp;&amp;e in l)return l[e]}if(s)return s}var u=t._modules;if(u)for(r=0;r&lt;u.length;r++)if((a=u[r].layoutAttributes)&amp;&amp;e in a)return a[e];for(n in c.componentsRegistry)if(!(i=c.componentsRegistry[n]).schema&amp;&amp;e===i.name)return i.layoutAttributes;return e in h?h[e]:&quot;radialaxis&quot;===e||&quot;angularaxis&quot;===e?g[e]:g.layout[e]||!1}(t,e[0]),e,1)}},{&quot;../lib&quot;:743,&quot;../plots/animation_attributes&quot;:785,&quot;../plots/attributes&quot;:787,&quot;../plots/frame_attributes&quot;:817,&quot;../plots/layout_attributes&quot;:843,&quot;../plots/polar/legacy/area_attributes&quot;:858,&quot;../plots/polar/legacy/axis_attributes&quot;:859,&quot;../registry&quot;:873,&quot;./edit_types&quot;:773}],779:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../registry&quot;),i=t(&quot;../lib&quot;);e.exports=function(t){if(!t)throw new Error(&quot;No argument passed to Plotly.register.&quot;);t&amp;&amp;!Array.isArray(t)&amp;&amp;(t=[t]);for(var e=0;e&lt;t.length;e++){var r=t[e];if(!r)throw new Error(&quot;Invalid module was attempted to be registered!&quot;);switch(r.moduleType){case&quot;trace&quot;:!function(t){n.register(t,t.name,t.categories,t.meta),n.subplotsRegistry[t.basePlotModule.name]||n.registerSubplot(t.basePlotModule)}(r);break;case&quot;transform&quot;:!function(t){if(&quot;string&quot;!=typeof t.name)throw new Error(&quot;Transform module *name* must be a string.&quot;);var e=&quot;Transform module &quot;+t.name,r=&quot;function&quot;==typeof t.transform,a=&quot;function&quot;==typeof t.calcTransform;if(!r&amp;&amp;!a)throw new Error(e+&quot; is missing a *transform* or *calcTransform* method.&quot;);r&amp;&amp;a&amp;&amp;i.log([e+&quot; has both a *transform* and *calcTransform* methods.&quot;,&quot;Please note that all *transform* methods are executed&quot;,&quot;before all *calcTransform* methods.&quot;].join(&quot; &quot;)),i.isPlainObject(t.attributes)||i.log(e+&quot; registered without an *attributes* object.&quot;),&quot;function&quot;!=typeof t.supplyDefaults&amp;&amp;i.log(e+&quot; registered without a *supplyDefaults* method.&quot;),n.registerTransform(t)}(r);break;case&quot;component&quot;:!function(t){if(&quot;string&quot;!=typeof t.name)throw new Error(&quot;Component module *name* must be a string.&quot;);n.registerComponent(t)}(r);break;case&quot;locale&quot;:n.registerLocale(r);break;default:throw new Error(&quot;Invalid module was attempted to be registered!&quot;)}}}},{&quot;../lib&quot;:743,&quot;../registry&quot;:873}],780:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../plotly&quot;),i=t(&quot;../lib&quot;);e.exports=function(t){return i.extendFlat(n.defaultConfig,t)}},{&quot;../lib&quot;:743,&quot;../plotly&quot;:784}],781:[function(t,e,r){&quot;use strict&quot;;function n(t,e){return(t.ticks||t.showline)&amp;&amp;(e===t._mainSubplot||&quot;all&quot;===t.mirror||&quot;allticks&quot;===t.mirror)}function i(t,e,r){if(!r.showline||!r._lw)return!1;if(&quot;all&quot;===r.mirror||&quot;allticks&quot;===r.mirror)return!0;var n=r._anchorAxis;if(!n)return!1;var i=v.FROM_BL[e];return r.side===e?n.domain[i]===t.domain[i]:r.mirror&amp;&amp;n.domain[1-i]===t.domain[1-i]}function a(t,e,r,n){if(i(t,e,r))return r._lw;for(var a=0;a&lt;n.length;a++){var o=n[a];if(o._mainAxis===r._mainAxis&amp;&amp;i(t,e,o))return o._lw}return 0}var o=t(&quot;d3&quot;),s=t(&quot;../plotly&quot;),l=t(&quot;../registry&quot;),c=t(&quot;../plots/plots&quot;),u=t(&quot;../lib&quot;),f=t(&quot;../components/color&quot;),h=t(&quot;../components/drawing&quot;),d=t(&quot;../components/titles&quot;),p=t(&quot;../components/modebar&quot;),m=t(&quot;../plots/cartesian/graph_interact&quot;),g=t(&quot;../plots/cartesian/constants&quot;),v=t(&quot;../constants/alignment&quot;);r.layoutStyles=function(t){return u.syncOrAsync([c.doAutoMargin,r.lsInner],t)},r.lsInner=function(t){function e(t,e,r){var n=t._lw/2;return&quot;x&quot;===t._id.charAt(0)?e?&quot;top&quot;===r?e._offset-u-n:e._offset+e._length+u+n:c.t+c.h*(1-(t.position||0))+n%1:e?&quot;right&quot;===r?e._offset+e._length+u+n:e._offset-u-n:c.l+c.w*(t.position||0)+n%1}var i,l=t._fullLayout,c=l._size,u=c.p,d=s.Axes.list(t),m=l._has(&quot;cartesian&quot;);for(i=0;i&lt;d.length;i++){var y=d[i];y.setScale();var x=y._anchorAxis;y._linepositions={},y._lw=h.crispRound(t,y.linewidth,1),y._mainLinePosition=e(y,x,y.side),y._mainMirrorPosition=y.mirror&amp;&amp;x?e(y,x,v.OPPOSITE_SIDE[y.side]):null}l._paperdiv.style({width:l.width+&quot;px&quot;,height:l.height+&quot;px&quot;}).selectAll(&quot;.main-svg&quot;).call(h.setSize,l.width,l.height),t._context.setBackground(t,l.paper_bgcolor);var b=l._paper.selectAll(&quot;g.subplot&quot;),_=[],w=[];b.each(function(t){var e=l._plots[t];if(e.mainplot)return e.bg&amp;&amp;e.bg.remove(),void(e.bg=void 0);var r=e.xaxis.domain,n=e.yaxis.domain,i=[];!function(t,e,r){for(var n=0;n&lt;r.length;n++){var i=r[n][0],a=r[n][1];if(!(i[0]&gt;=t[1]||i[1]&lt;=t[0])&amp;&amp;a[0]&lt;e[1]&amp;&amp;a[1]&gt;e[0])return!0}return!1}(r,n,w)?(_.push(t),w.push([r,n])):i=[0];var a=e.plotgroup.selectAll(&quot;.bg&quot;).data(i);a.enter().append(&quot;rect&quot;).classed(&quot;bg&quot;,!0),a.exit().remove(),a.each(function(){e.bg=a;var t=e.plotgroup.node();t.insertBefore(this,t.childNodes[0])})});var M=l._bgLayer.selectAll(&quot;.bg&quot;).data(_);return M.enter().append(&quot;rect&quot;).classed(&quot;bg&quot;,!0),M.exit().remove(),M.each(function(t){l._plots[t].bg=o.select(this)}),b.each(function(t){function r(t){return&quot;M&quot;+k+&quot;,&quot;+t+&quot;H&quot;+A}function o(t){return&quot;M&quot;+y._offset+&quot;,&quot;+t+&quot;h&quot;+y._length}function s(t){return&quot;M&quot;+t+&quot;,&quot;+z+&quot;V&quot;+C}function c(t){return&quot;M&quot;+t+&quot;,&quot;+x._offset+&quot;v&quot;+x._length}function p(e,r,n){if(!e.showline||t!==e._mainSubplot)return&quot;&quot;;if(!e._anchorAxis)return n(e._mainLinePosition);var i=r(e._mainLinePosition);return e.mirror&amp;&amp;(i+=r(e._mainMirrorPosition)),i}var v=l._plots[t],y=v.xaxis,x=v.yaxis;v.bg&amp;&amp;m&amp;&amp;v.bg.call(h.setRect,y._offset-u,x._offset-u,y._length+2*u,x._length+2*u).call(f.fill,l.plot_bgcolor).style(&quot;stroke-width&quot;,0),v.clipId=&quot;clip&quot;+l._uid+t+&quot;plot&quot;;var b=l._clips.selectAll(&quot;#&quot;+v.clipId).data([0]);b.enter().append(&quot;clipPath&quot;).attr({class:&quot;plotclip&quot;,id:v.clipId}).append(&quot;rect&quot;),b.selectAll(&quot;rect&quot;).attr({width:y._length,height:x._length}),h.setTranslate(v.plot,y._offset,x._offset);var _,w;for(v._hasClipOnAxisFalse?(_=null,w=v.clipId):(_=v.clipId,w=null),h.setClipUrl(v.plot,_),i=0;i&lt;g.traceLayerClasses.length;i++){var M=g.traceLayerClasses[i];&quot;scatterlayer&quot;!==M&amp;&amp;v.plot.selectAll(&quot;g.&quot;+M).call(h.setClipUrl,w)}if(v.layerClipId=w,m){var k,A,T,S,E,L,C,z,D,I,P,O,F;if(n(y,t)){E=a(y,&quot;left&quot;,x,d),k=y._offset-(E?u+E:0),L=a(y,&quot;right&quot;,x,d),A=y._offset+y._length+(L?u+L:0),T=e(y,x,&quot;bottom&quot;),S=e(y,x,&quot;top&quot;),(F=!y._anchorAxis||t!==y._mainSubplot)&amp;&amp;y.ticks&amp;&amp;&quot;allticks&quot;===y.mirror&amp;&amp;(y._linepositions[t]=[T,S]);var R=p(y,r,o);F&amp;&amp;y.showline&amp;&amp;(&quot;all&quot;===y.mirror||&quot;allticks&quot;===y.mirror)&amp;&amp;(R+=r(T)+r(S)),v.xlines.attr(&quot;d&quot;,R||&quot;M0,0&quot;).style(&quot;stroke-width&quot;,y._lw+&quot;px&quot;).call(f.stroke,y.showline?y.linecolor:&quot;rgba(0,0,0,0)&quot;)}if(n(x,t)){P=a(x,&quot;bottom&quot;,y,d),C=x._offset+x._length+(P?u:0),O=a(x,&quot;top&quot;,y,d),z=x._offset-(O?u:0),D=e(x,y,&quot;left&quot;),I=e(x,y,&quot;right&quot;),(F=!x._anchorAxis||t!==y._mainSubplot)&amp;&amp;x.ticks&amp;&amp;&quot;allticks&quot;===x.mirror&amp;&amp;(x._linepositions[t]=[D,I]);var N=p(x,s,c);F&amp;&amp;x.showline&amp;&amp;(&quot;all&quot;===x.mirror||&quot;allticks&quot;===x.mirror)&amp;&amp;(N+=s(D)+s(I)),v.ylines.attr(&quot;d&quot;,N||&quot;M0,0&quot;).style(&quot;stroke-width&quot;,x._lw+&quot;px&quot;).call(f.stroke,x.showline?x.linecolor:&quot;rgba(0,0,0,0)&quot;)}}}),s.Axes.makeClipPaths(t),r.drawMainTitle(t),p.manage(t),t._promises.length&amp;&amp;Promise.all(t._promises)},r.drawMainTitle=function(t){var e=t._fullLayout;d.draw(t,&quot;gtitle&quot;,{propContainer:e,propName:&quot;title&quot;,placeholder:e._dfltTitle.plot,attributes:{x:e.width/2,y:e._size.t/2,&quot;text-anchor&quot;:&quot;middle&quot;}})},r.doTraceStyle=function(t){for(var e=0;e&lt;t.calcdata.length;e++){var r=t.calcdata[e],n=(((r[0]||{}).trace||{})._module||{}).arraysToCalcdata;n&amp;&amp;n(r,r[0].trace)}return c.style(t),l.getComponentMethod(&quot;legend&quot;,&quot;draw&quot;)(t),c.previousPromises(t)},r.doColorBars=function(t){for(var e=0;e&lt;t.calcdata.length;e++){var r=t.calcdata[e][0];if((r.t||{}).cb){var n=r.trace,i=r.t.cb;l.traceIs(n,&quot;contour&quot;)&amp;&amp;i.line({width:!1!==n.contours.showlines?n.line.width:0,dash:n.line.dash,color:&quot;line&quot;===n.contours.coloring?i._opts.line.color:n.line.color}),l.traceIs(n,&quot;markerColorscale&quot;)?i.options(n.marker.colorbar)():i.options(n.colorbar)()}}return c.previousPromises(t)},r.layoutReplot=function(t){var e=t.layout;return t.layout=void 0,s.plot(t,&quot;&quot;,e)},r.doLegend=function(t){return l.getComponentMethod(&quot;legend&quot;,&quot;draw&quot;)(t),c.previousPromises(t)},r.doTicksRelayout=function(t){return s.Axes.doTicks(t,&quot;redraw&quot;),r.drawMainTitle(t),c.previousPromises(t)},r.doModeBar=function(t){var e=t._fullLayout;p.manage(t),m(t);for(var r=0;r&lt;e._basePlotModules.length;r++){var n=e._basePlotModules[r].updateFx;n&amp;&amp;n(e)}return c.previousPromises(t)},r.doCamera=function(t){for(var e=t._fullLayout,r=e._subplots.gl3d,n=0;n&lt;r.length;n++){var i=e[r[n]];i._scene.setCamera(i.camera)}}},{&quot;../components/color&quot;:618,&quot;../components/drawing&quot;:643,&quot;../components/modebar&quot;:680,&quot;../components/titles&quot;:709,&quot;../constants/alignment&quot;:716,&quot;../lib&quot;:743,&quot;../plotly&quot;:784,&quot;../plots/cartesian/constants&quot;:794,&quot;../plots/cartesian/graph_interact&quot;:798,&quot;../plots/plots&quot;:852,&quot;../registry&quot;:873,d3:128}],782:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../plotly&quot;),i=t(&quot;../lib&quot;),a=t(&quot;../snapshot/helpers&quot;),o=t(&quot;../snapshot/tosvg&quot;),s=t(&quot;../snapshot/svgtoimg&quot;),l={format:{valType:&quot;enumerated&quot;,values:[&quot;png&quot;,&quot;jpeg&quot;,&quot;webp&quot;,&quot;svg&quot;],dflt:&quot;png&quot;},width:{valType:&quot;number&quot;,min:1},height:{valType:&quot;number&quot;,min:1},scale:{valType:&quot;number&quot;,min:0,dflt:1},setBackground:{valType:&quot;any&quot;,dflt:!1},imageDataOnly:{valType:&quot;boolean&quot;,dflt:!1}},c=/^data:image\/\w+;base64,/;e.exports=function(t,e){function r(t){return!(t in e)||i.validate(e[t],l[t])}function u(t,r){return i.coerce(e,g,l,t,r)}function f(){return new Promise(function(t){setTimeout(t,a.getDelay(M._fullLayout))})}function h(){return new Promise(function(t,e){var r=o(M,v,b),a=M._fullLayout.width,l=M._fullLayout.height;if(n.purge(M),document.body.removeChild(M),&quot;svg&quot;===v)return t(w?r:&quot;data:image/svg+xml,&quot;+encodeURIComponent(r));var c=document.createElement(&quot;canvas&quot;);c.id=i.randstr(),s({format:v,width:a,height:l,scale:b,canvas:c,svg:r,promise:!0}).then(t).catch(e)})}e=e||{};var d,p,m;if(i.isPlainObject(t)?(d=t.data||[],p=t.layout||{},m=t.config||{}):(t=i.getGraphDiv(t),d=i.extendDeep([],t.data),p=i.extendDeep({},t.layout),m=t._context),!r(&quot;width&quot;)||!r(&quot;height&quot;))throw new Error(&quot;Height and width should be pixel values.&quot;);if(!r(&quot;format&quot;))throw new Error(&quot;Image format is not jpeg, png, svg or webp.&quot;);var g={},v=u(&quot;format&quot;),y=u(&quot;width&quot;),x=u(&quot;height&quot;),b=u(&quot;scale&quot;),_=u(&quot;setBackground&quot;),w=u(&quot;imageDataOnly&quot;),M=document.createElement(&quot;div&quot;);M.style.position=&quot;absolute&quot;,M.style.left=&quot;-5000px&quot;,document.body.appendChild(M);var k=i.extendFlat({},p);y&amp;&amp;(k.width=y),x&amp;&amp;(k.height=x);var A=i.extendFlat({},m,{staticPlot:!0,setBackground:_}),T=a.getRedrawFunc(M);return new Promise(function(t,e){n.plot(M,d,k,A).then(T).then(f).then(h).then(function(e){t(function(t){return w?t.replace(c,&quot;&quot;):t}(e))}).catch(function(t){e(t)})})}},{&quot;../lib&quot;:743,&quot;../plotly&quot;:784,&quot;../snapshot/helpers&quot;:877,&quot;../snapshot/svgtoimg&quot;:879,&quot;../snapshot/tosvg&quot;:881}],783:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,i,l,c){c=c||[];for(var u=Object.keys(t),d=0;d&lt;u.length;d++){var p=u[d];if(&quot;transforms&quot;!==p){var m=c.slice();m.push(p);var g=t[p],v=e[p],y=function(t,e){var r=o(e);return t[r.keyMinusId]}(r,p),x=&quot;info_array&quot;===(y||{}).valType,b=&quot;colorscale&quot;===(y||{}).valType;if(function(t,e){var r=o(e),n=r.keyMinusId,i=r.id;if(n in t&amp;&amp;t[n]._isSubplotObj&amp;&amp;i)return!0;return e in t}(r,p))if(f(g)&amp;&amp;f(v))n(g,v,y,i,l,m);else if(y.items&amp;&amp;!x&amp;&amp;h(g)){var _,w,M=y.items,k=M[Object.keys(M)[0]],A=[];for(_=0;_&lt;v.length;_++){var T=v[_]._index||_;(w=m.slice()).push(T),f(g[T])&amp;&amp;f(v[_])&amp;&amp;(A.push(T),n(g[T],v[_],k,i,l,w))}for(_=0;_&lt;g.length;_++)(w=m.slice()).push(_),f(g[_])?-1===A.indexOf(_)&amp;&amp;i.push(a(&quot;unused&quot;,l,w)):i.push(a(&quot;object&quot;,l,w,g[_]))}else!f(g)&amp;&amp;f(v)?i.push(a(&quot;object&quot;,l,m,g)):h(g)||!h(v)||x||b?p in e?s.validate(g,y)?&quot;enumerated&quot;===y.valType&amp;&amp;(y.coerceNumber&amp;&amp;g!==+v||g!==v)&amp;&amp;i.push(a(&quot;dynamic&quot;,l,m,g,v)):i.push(a(&quot;value&quot;,l,m,g)):i.push(a(&quot;unused&quot;,l,m,g)):i.push(a(&quot;array&quot;,l,m,g));else i.push(a(&quot;schema&quot;,l,m))}}return i}function i(t){return h(t)?&quot;In data trace &quot;+t[1]+&quot;, &quot;:&quot;In &quot;+t+&quot;, &quot;}function a(t,e,r,n,i){r=r||&quot;&quot;;var a,o;h(e)?(a=e[0],o=e[1]):(a=e,o=null);var l=function(t){if(!h(t))return String(t);for(var e=&quot;&quot;,r=0;r&lt;t.length;r++){var n=t[r];&quot;number&quot;==typeof n?e=e.substr(0,e.length-1)+&quot;[&quot;+n+&quot;]&quot;:e+=n,r&lt;t.length-1&amp;&amp;(e+=&quot;.&quot;)}return e}(r),c=d[t](e,l,n,i);return s.log(c),{code:t,container:a,trace:o,path:r,astr:l,msg:c}}function o(t){var e=t.match(p);return{keyMinusId:e&amp;&amp;e[1],id:e&amp;&amp;e[2]}}var s=t(&quot;../lib&quot;),l=t(&quot;../plots/plots&quot;),c=t(&quot;./plot_schema&quot;),u=t(&quot;./plot_config&quot;),f=s.isPlainObject,h=Array.isArray;e.exports=function(t,e){var r,i,o=c.get(),d=[],p={_context:s.extendFlat({},u)};h(t)?(p.data=s.extendDeep([],t),r=t):(p.data=[],r=[],d.push(a(&quot;array&quot;,&quot;data&quot;))),f(e)?(p.layout=s.extendDeep({},e),i=e):(p.layout={},i={},arguments.length&gt;1&amp;&amp;d.push(a(&quot;object&quot;,&quot;layout&quot;))),l.supplyDefaults(p);for(var m=p._fullData,g=r.length,v=0;v&lt;g;v++){var y=r[v],x=[&quot;data&quot;,v];if(f(y)){var b=m[v],_=b.type,w=o.traces[_].attributes;w.type={valType:&quot;enumerated&quot;,values:[_]},!1===b.visible&amp;&amp;!1!==y.visible&amp;&amp;d.push(a(&quot;invisible&quot;,x)),n(y,b,w,d,x);var M=y.transforms,k=b.transforms;if(M){h(M)||d.push(a(&quot;array&quot;,x,[&quot;transforms&quot;])),x.push(&quot;transforms&quot;);for(var A=0;A&lt;M.length;A++){var T=[&quot;transforms&quot;,A],S=M[A].type;if(f(M[A])){var E=o.transforms[S]?o.transforms[S].attributes:{};E.type={valType:&quot;enumerated&quot;,values:Object.keys(o.transforms)},n(M[A],k[A],E,d,x,T)}else d.push(a(&quot;object&quot;,x,T))}}}else d.push(a(&quot;object&quot;,x))}return n(i,p._fullLayout,function(t,e){for(var r=0;r&lt;e.length;r++){var n=e[r].type,i=t.traces[n].layoutAttributes;i&amp;&amp;s.extendFlat(t.layout.layoutAttributes,i)}return t.layout.layoutAttributes}(o,m),d,&quot;layout&quot;),0===d.length?void 0:d};var d={object:function(t,e){return(&quot;layout&quot;===t&amp;&amp;&quot;&quot;===e?&quot;The layout argument&quot;:&quot;data&quot;===t[0]&amp;&amp;&quot;&quot;===e?&quot;Trace &quot;+t[1]+&quot; in the data argument&quot;:i(t)+&quot;key &quot;+e)+&quot; must be linked to an object container&quot;},array:function(t,e){return(&quot;data&quot;===t?&quot;The data argument&quot;:i(t)+&quot;key &quot;+e)+&quot; must be linked to an array container&quot;},schema:function(t,e){return i(t)+&quot;key &quot;+e+&quot; is not part of the schema&quot;},unused:function(t,e,r){var n=f(r)?&quot;container&quot;:&quot;key&quot;;return i(t)+n+&quot; &quot;+e+&quot; did not get coerced&quot;},dynamic:function(t,e,r,n){return[i(t)+&quot;key&quot;,e,&quot;(set to '&quot;+r+&quot;')&quot;,&quot;got reset to&quot;,&quot;'&quot;+n+&quot;'&quot;,&quot;during defaults.&quot;].join(&quot; &quot;)},invisible:function(t){return&quot;Trace &quot;+t[1]+&quot; got defaulted to be not visible&quot;},value:function(t,e,r){return[i(t)+&quot;key &quot;+e,&quot;is set to an invalid value (&quot;+r+&quot;)&quot;].join(&quot; &quot;)}},p=s.counterRegex(&quot;([a-z]+)&quot;)},{&quot;../lib&quot;:743,&quot;../plots/plots&quot;:852,&quot;./plot_config&quot;:777,&quot;./plot_schema&quot;:778}],784:[function(t,e,r){&quot;use strict&quot;;r.defaultConfig=t(&quot;./plot_api/plot_config&quot;),r.Plots=t(&quot;./plots/plots&quot;),r.Axes=t(&quot;./plots/cartesian/axes&quot;),r.ModeBar=t(&quot;./components/modebar&quot;),t(&quot;./plot_api/plot_api&quot;)},{&quot;./components/modebar&quot;:680,&quot;./plot_api/plot_api&quot;:776,&quot;./plot_api/plot_config&quot;:777,&quot;./plots/cartesian/axes&quot;:789,&quot;./plots/plots&quot;:852}],785:[function(t,e,r){&quot;use strict&quot;;e.exports={mode:{valType:&quot;enumerated&quot;,dflt:&quot;afterall&quot;,values:[&quot;immediate&quot;,&quot;next&quot;,&quot;afterall&quot;]},direction:{valType:&quot;enumerated&quot;,values:[&quot;forward&quot;,&quot;reverse&quot;],dflt:&quot;forward&quot;},fromcurrent:{valType:&quot;boolean&quot;,dflt:!1},frame:{duration:{valType:&quot;number&quot;,min:0,dflt:500},redraw:{valType:&quot;boolean&quot;,dflt:!0}},transition:{duration:{valType:&quot;number&quot;,min:0,dflt:500},easing:{valType:&quot;enumerated&quot;,dflt:&quot;cubic-in-out&quot;,values:[&quot;linear&quot;,&quot;quad&quot;,&quot;cubic&quot;,&quot;sin&quot;,&quot;exp&quot;,&quot;circle&quot;,&quot;elastic&quot;,&quot;back&quot;,&quot;bounce&quot;,&quot;linear-in&quot;,&quot;quad-in&quot;,&quot;cubic-in&quot;,&quot;sin-in&quot;,&quot;exp-in&quot;,&quot;circle-in&quot;,&quot;elastic-in&quot;,&quot;back-in&quot;,&quot;bounce-in&quot;,&quot;linear-out&quot;,&quot;quad-out&quot;,&quot;cubic-out&quot;,&quot;sin-out&quot;,&quot;exp-out&quot;,&quot;circle-out&quot;,&quot;elastic-out&quot;,&quot;back-out&quot;,&quot;bounce-out&quot;,&quot;linear-in-out&quot;,&quot;quad-in-out&quot;,&quot;cubic-in-out&quot;,&quot;sin-in-out&quot;,&quot;exp-in-out&quot;,&quot;circle-in-out&quot;,&quot;elastic-in-out&quot;,&quot;back-in-out&quot;,&quot;bounce-in-out&quot;]}}}},{}],786:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../lib&quot;);e.exports=function(t,e,r){var i,a=r.name,o=e[a],s=n.isArray(t[a])?t[a]:[],l=e[a]=[];for(i=0;i&lt;s.length;i++){var c=s[i],u={},f={};n.isPlainObject(c)||(f.itemIsNotPlainObject=!0,c={}),r.handleItemDefaults(c,u,e,r,f),u._input=c,u._index=i,l.push(u)}if(n.isArray(o)){var h=Math.min(o.length,l.length);for(i=0;i&lt;h;i++)n.relinkPrivateKeys(l[i],o[i])}}},{&quot;../lib&quot;:743}],787:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../components/fx/attributes&quot;);e.exports={type:{valType:&quot;enumerated&quot;,values:[],dflt:&quot;scatter&quot;,editType:&quot;calc+clearAxisTypes&quot;},visible:{valType:&quot;enumerated&quot;,values:[!0,!1,&quot;legendonly&quot;],dflt:!0,editType:&quot;calc&quot;},showlegend:{valType:&quot;boolean&quot;,dflt:!0,editType:&quot;style&quot;},legendgroup:{valType:&quot;string&quot;,dflt:&quot;&quot;,editType:&quot;style&quot;},opacity:{valType:&quot;number&quot;,min:0,max:1,dflt:1,editType:&quot;style&quot;},name:{valType:&quot;string&quot;,editType:&quot;style&quot;},uid:{valType:&quot;string&quot;,dflt:&quot;&quot;,editType:&quot;calc&quot;},ids:{valType:&quot;data_array&quot;,editType:&quot;calc&quot;},customdata:{valType:&quot;data_array&quot;,editType:&quot;calc&quot;},selectedpoints:{valType:&quot;any&quot;,editType:&quot;calc&quot;},hoverinfo:{valType:&quot;flaglist&quot;,flags:[&quot;x&quot;,&quot;y&quot;,&quot;z&quot;,&quot;text&quot;,&quot;name&quot;],extras:[&quot;all&quot;,&quot;none&quot;,&quot;skip&quot;],arrayOk:!0,dflt:&quot;all&quot;,editType:&quot;none&quot;},hoverlabel:n.hoverlabel,stream:{token:{valType:&quot;string&quot;,noBlank:!0,strict:!0,editType:&quot;calc&quot;},maxpoints:{valType:&quot;number&quot;,min:0,max:1e4,dflt:500,editType:&quot;calc&quot;},editType:&quot;calc&quot;}}},{&quot;../components/fx/attributes&quot;:652}],788:[function(t,e,r){&quot;use strict&quot;;e.exports={xaxis:{valType:&quot;subplotid&quot;,dflt:&quot;x&quot;,editType:&quot;calc+clearAxisTypes&quot;},yaxis:{valType:&quot;subplotid&quot;,dflt:&quot;y&quot;,editType:&quot;calc+clearAxisTypes&quot;}}},{}],789:[function(t,e,r){&quot;use strict&quot;;function n(t){return+t}function i(t){return String(t)}function a(t,e,r){return e*v.roundUp(t/e,r)}function o(t){var e=t.dtick;if(t._tickexponent=0,m(e)||&quot;string&quot;==typeof e||(e=1),&quot;category&quot;===t.type&amp;&amp;(t._tickround=null),&quot;date&quot;===t.type){var r=t.r2l(t.tick0),n=t.l2r(r).replace(/(^-|i)/g,&quot;&quot;),i=n.length;if(&quot;M&quot;===String(e).charAt(0))i&gt;10||&quot;01-01&quot;!==n.substr(5)?t._tickround=&quot;d&quot;:t._tickround=+e.substr(1)%12==0?&quot;y&quot;:&quot;m&quot;;else if(e&gt;=T&amp;&amp;i&lt;=10||e&gt;=15*T)t._tickround=&quot;d&quot;;else if(e&gt;=E&amp;&amp;i&lt;=16||e&gt;=S)t._tickround=&quot;M&quot;;else if(e&gt;=L&amp;&amp;i&lt;=19||e&gt;=E)t._tickround=&quot;S&quot;;else{var a=t.l2r(r+e).replace(/^-/,&quot;&quot;).length;t._tickround=Math.max(i,a)-20}}else if(m(e)||&quot;L&quot;===e.charAt(0)){var o=t.range.map(t.r2d||Number);m(e)||(e=Number(e.substr(1))),t._tickround=2-Math.floor(Math.log(e)/Math.LN10+.01);var s=Math.max(Math.abs(o[0]),Math.abs(o[1])),l=Math.floor(Math.log(s)/Math.LN10+.01);Math.abs(l)&gt;3&amp;&amp;(c(t.exponentformat)&amp;&amp;!u(l)?t._tickexponent=3*Math.round((l-1)/3):t._tickexponent=l)}else t._tickround=null}function s(t,e,r){var n=t.tickfont||{};return{x:e,dx:0,dy:0,text:r||&quot;&quot;,fontSize:n.size,font:n.family,fontColor:n.color}}function l(t,e,r,n,i){if(&quot;radians&quot;!==t.thetaunit||r)e.text=f(e.x,t,i,n);else{var a=e.x/180;if(0===a)e.text=&quot;0&quot;;else{var o=function(t){function e(t,e){return Math.abs(t-e)&lt;=1e-6}function r(t,n){return e(n,0)?t:r(n,t%n)}var n=function(t){var r=1;for(;!e(Math.round(t*r)/r,t);)r*=10;return r}(t),i=t*n,a=Math.abs(r(i,n));return[Math.round(i/a),Math.round(n/a)]}(a);if(o[1]&gt;=100)e.text=f(v.deg2rad(e.x),t,i,n);else{var s=e.x&lt;0;1===o[1]?1===o[0]?e.text=&quot;\u03c0&quot;:e.text=o[0]+&quot;\u03c0&quot;:e.text=[&quot;&lt;sup&gt;&quot;,o[0],&quot;&lt;/sup&gt;&quot;,&quot;\u2044&quot;,&quot;&lt;sub&gt;&quot;,o[1],&quot;&lt;/sub&gt;&quot;,&quot;\u03c0&quot;].join(&quot;&quot;),s&amp;&amp;(e.text=C+e.text)}}}}function c(t){return&quot;SI&quot;===t||&quot;B&quot;===t}function u(t){return t&gt;14||t&lt;-15}function f(t,e,r,n){var i=t&lt;0,a=e._tickround,s=r||e.exponentformat||&quot;B&quot;,l=e._tickexponent,f=I.getTickFormat(e),h=e.separatethousands;if(n){var d={exponentformat:e.exponentformat,dtick:&quot;none&quot;===e.showexponent?e.dtick:m(t)?Math.abs(t)||1:1,range:&quot;none&quot;===e.showexponent?e.range.map(e.r2d):[0,t||1]};o(d),a=(Number(d._tickround)||0)+4,l=d._tickexponent,e.hoverformat&amp;&amp;(f=e.hoverformat)}if(f)return e._numFormat(f)(t).replace(/-/g,C);var p=Math.pow(10,-a)/2;if(&quot;none&quot;===s&amp;&amp;(l=0),(t=Math.abs(t))&lt;p)t=&quot;0&quot;,i=!1;else{if(t+=p,l&amp;&amp;(t*=Math.pow(10,-l),a+=l),0===a)t=String(Math.floor(t));else if(a&lt;0){t=(t=String(Math.round(t))).substr(0,t.length+a);for(var g=a;g&lt;0;g++)t+=&quot;0&quot;}else{var y=(t=String(t)).indexOf(&quot;.&quot;)+1;y&amp;&amp;(t=t.substr(0,y+a).replace(/\.?0+$/,&quot;&quot;))}t=v.numSeparate(t,e._separators,h)}if(l&amp;&amp;&quot;hide&quot;!==s){c(s)&amp;&amp;u(l)&amp;&amp;(s=&quot;power&quot;);var x;x=l&lt;0?C+-l:&quot;power&quot;!==s?&quot;+&quot;+l:String(l),&quot;e&quot;===s?t+=&quot;e&quot;+x:&quot;E&quot;===s?t+=&quot;E&quot;+x:&quot;power&quot;===s?t+=&quot;\xd710&lt;sup&gt;&quot;+x+&quot;&lt;/sup&gt;&quot;:&quot;B&quot;===s&amp;&amp;9===l?t+=&quot;B&quot;:c(s)&amp;&amp;(t+=H[l/3+5])}return i?C+t:t}function h(t,e){for(var r=0;r&lt;e.length;r++)-1===t.indexOf(e[r])&amp;&amp;t.push(e[r])}function d(t,e,r){var n,i,a=[],o=[],s=t.layout;for(n=0;n&lt;e.length;n++)a.push(I.getFromId(t,e[n]));for(n=0;n&lt;r.length;n++)o.push(I.getFromId(t,r[n]));var l=Object.keys(a[0]),c=[&quot;anchor&quot;,&quot;domain&quot;,&quot;overlaying&quot;,&quot;position&quot;,&quot;side&quot;,&quot;tickangle&quot;],u=[&quot;linear&quot;,&quot;log&quot;];for(n=0;n&lt;l.length;n++){var f=l[n],h=a[0][f],d=o[0][f],p=!0,m=!1,g=!1;if(&quot;_&quot;!==f.charAt(0)&amp;&amp;&quot;function&quot;!=typeof h&amp;&amp;-1===c.indexOf(f)){for(i=1;i&lt;a.length&amp;&amp;p;i++){var y=a[i][f];&quot;type&quot;===f&amp;&amp;-1!==u.indexOf(h)&amp;&amp;-1!==u.indexOf(y)&amp;&amp;h!==y?m=!0:y!==h&amp;&amp;(p=!1)}for(i=1;i&lt;o.length&amp;&amp;p;i++){var x=o[i][f];&quot;type&quot;===f&amp;&amp;-1!==u.indexOf(d)&amp;&amp;-1!==u.indexOf(x)&amp;&amp;d!==x?g=!0:o[i][f]!==d&amp;&amp;(p=!1)}p&amp;&amp;(m&amp;&amp;(s[a[0]._name].type=&quot;linear&quot;),g&amp;&amp;(s[o[0]._name].type=&quot;linear&quot;),function(t,e,r,n,i){var a,o=v.nestedProperty,s=o(t[r[0]._name],e).get(),l=o(t[n[0]._name],e).get();&quot;title&quot;===e&amp;&amp;(s===i.x&amp;&amp;(s=i.y),l===i.y&amp;&amp;(l=i.x));for(a=0;a&lt;r.length;a++)o(t,r[a]._name+&quot;.&quot;+e).set(l);for(a=0;a&lt;n.length;a++)o(t,n[a]._name+&quot;.&quot;+e).set(s)}(s,f,a,o,t._fullLayout._dfltTitle))}}for(n=0;n&lt;t._fullLayout.annotations.length;n++){var b=t._fullLayout.annotations[n];-1!==e.indexOf(b.xref)&amp;&amp;-1!==r.indexOf(b.yref)&amp;&amp;v.swapAttrs(s.annotations[n],[&quot;?&quot;])}}var p=t(&quot;d3&quot;),m=t(&quot;fast-isnumeric&quot;),g=t(&quot;../../registry&quot;),v=t(&quot;../../lib&quot;),y=t(&quot;../../lib/svg_text_utils&quot;),x=t(&quot;../../components/titles&quot;),b=t(&quot;../../components/color&quot;),_=t(&quot;../../components/drawing&quot;),w=t(&quot;../../constants/numerical&quot;),M=w.FP_SAFE,k=w.ONEAVGYEAR,A=w.ONEAVGMONTH,T=w.ONEDAY,S=w.ONEHOUR,E=w.ONEMIN,L=w.ONESEC,C=w.MINUS_SIGN,z=w.BADNUM,D=t(&quot;../../constants/alignment&quot;).MID_SHIFT,I=e.exports={};I.setConvert=t(&quot;./set_convert&quot;);var P=t(&quot;./axis_autotype&quot;),O=t(&quot;./axis_ids&quot;);I.id2name=O.id2name,I.cleanId=O.cleanId,I.list=O.list,I.listIds=O.listIds,I.getFromId=O.getFromId,I.getFromTrace=O.getFromTrace,I.coerceRef=function(t,e,r,n,i,a){var o=n.charAt(n.length-1),s=r._fullLayout._subplots[o+&quot;axis&quot;],l=n+&quot;ref&quot;,c={};return i||(i=s[0]||a),a||(a=i),c[l]={valType:&quot;enumerated&quot;,values:s.concat(a?[a]:[]),dflt:i},v.coerce(t,e,c,l)},I.coercePosition=function(t,e,r,n,i,a){var o,s;if(&quot;paper&quot;===n||&quot;pixel&quot;===n)o=v.ensureNumber,s=r(i,a);else{var l=I.getFromId(e,n);s=r(i,a=l.fraction2r(a)),o=l.cleanPos}t[i]=o(s)},I.cleanPosition=function(t,e,r){return(&quot;paper&quot;===r||&quot;pixel&quot;===r?v.ensureNumber:I.getFromId(e,r).cleanPos)(t)};var F=I.getDataConversions=function(t,e,r,a){var o,s=&quot;x&quot;===r||&quot;y&quot;===r||&quot;z&quot;===r?r:a;if(Array.isArray(s)){if(o={type:P(a),_categories:[]},I.setConvert(o),&quot;category&quot;===o.type)for(var l=0;l&lt;a.length;l++)o.d2c(a[l])}else o=I.getFromTrace(t,e,s);return o?{d2c:o.d2c,c2d:o.c2d}:&quot;ids&quot;===s?{d2c:i,c2d:i}:{d2c:n,c2d:n}};I.getDataToCoordFunc=function(t,e,r,n){return F(t,e,r,n).d2c},I.counterLetter=function(t){var e=t.charAt(0);return&quot;x&quot;===e?&quot;y&quot;:&quot;y&quot;===e?&quot;x&quot;:void 0},I.minDtick=function(t,e,r,n){-1===[&quot;log&quot;,&quot;category&quot;].indexOf(t.type)&amp;&amp;n?void 0===t._minDtick?(t._minDtick=e,t._forceTick0=r):t._minDtick&amp;&amp;((t._minDtick/e+1e-6)%1&lt;2e-6&amp;&amp;((r-t._forceTick0)/e%1+1.000001)%1&lt;2e-6?(t._minDtick=e,t._forceTick0=r):((e/t._minDtick+1e-6)%1&gt;2e-6||((r-t._forceTick0)/t._minDtick%1+1.000001)%1&gt;2e-6)&amp;&amp;(t._minDtick=0)):t._minDtick=0},I.getAutoRange=function(t){var e,r=[],n=t._min[0].val,i=t._max[0].val;for(e=1;e&lt;t._min.length&amp;&amp;n===i;e++)n=Math.min(n,t._min[e].val);for(e=1;e&lt;t._max.length&amp;&amp;n===i;e++)i=Math.max(i,t._max[e].val);var a,o,s,l,c,u,f,h=0,d=!1;if(t.range){var p=v.simpleMap(t.range,t.r2l);d=p[1]&lt;p[0]}for(&quot;reversed&quot;===t.autorange&amp;&amp;(d=!0,t.autorange=!0),e=0;e&lt;t._min.length;e++)for(o=t._min[e],a=0;a&lt;t._max.length;a++)f=(s=t._max[a]).val-o.val,u=t._length-o.pad-s.pad,f&gt;0&amp;&amp;u&gt;0&amp;&amp;f/u&gt;h&amp;&amp;(l=o,c=s,h=f/u);if(n===i){var m=n-1,g=n+1;r=&quot;tozero&quot;===t.rangemode?n&lt;0?[m,0]:[0,g]:&quot;nonnegative&quot;===t.rangemode?[Math.max(0,m),Math.max(0,g)]:[m,g]}else h&amp;&amp;(&quot;linear&quot;!==t.type&amp;&amp;&quot;-&quot;!==t.type||(&quot;tozero&quot;===t.rangemode?(l.val&gt;=0&amp;&amp;(l={val:0,pad:0}),c.val&lt;=0&amp;&amp;(c={val:0,pad:0})):&quot;nonnegative&quot;===t.rangemode&amp;&amp;(l.val-h*l.pad&lt;0&amp;&amp;(l={val:0,pad:0}),c.val&lt;0&amp;&amp;(c={val:1,pad:0})),h=(c.val-l.val)/(t._length-l.pad-c.pad)),r=[l.val-h*l.pad,c.val+h*c.pad]);return r[0]===r[1]&amp;&amp;(&quot;tozero&quot;===t.rangemode?r=r[0]&lt;0?[r[0],0]:r[0]&gt;0?[0,r[0]]:[0,1]:(r=[r[0]-1,r[0]+1],&quot;nonnegative&quot;===t.rangemode&amp;&amp;(r[0]=Math.max(0,r[0])))),d&amp;&amp;r.reverse(),v.simpleMap(r,t.l2r||Number)},I.doAutoRange=function(t){t._length||t.setScale();var e=t._min&amp;&amp;t._max&amp;&amp;t._min.length&amp;&amp;t._max.length;if(t.autorange&amp;&amp;e){t.range=I.getAutoRange(t),t._r=t.range.slice(),t._rl=v.simpleMap(t._r,t.r2l);var r=t._input;r.range=t.range.slice(),r.autorange=t.autorange}},I.saveRangeInitial=function(t,e){for(var r=I.list(t,&quot;&quot;,!0),n=!1,i=0;i&lt;r.length;i++){var a=r[i],o=void 0===a._rangeInitial,s=o||!(a.range[0]===a._rangeInitial[0]&amp;&amp;a.range[1]===a._rangeInitial[1]);(o&amp;&amp;!1===a.autorange||e&amp;&amp;s)&amp;&amp;(a._rangeInitial=a.range.slice(),n=!0)}return n},I.saveShowSpikeInitial=function(t,e){for(var r=I.list(t,&quot;&quot;,!0),n=!1,i=&quot;on&quot;,a=0;a&lt;r.length;a++){var o=r[a],s=void 0===o._showSpikeInitial,l=s||!(o.showspikes===o._showspikes);(s||e&amp;&amp;l)&amp;&amp;(o._showSpikeInitial=o.showspikes,n=!0),&quot;on&quot;!==i||o.showspikes||(i=&quot;off&quot;)}return t._fullLayout._cartesianSpikesEnabled=i,n},I.expand=function(t,e,r){function n(t){if(Array.isArray(t))return function(e){return Math.max(Number(t[e]||0),0)};var e=Math.max(Number(t||0),0);return function(){return e}}function i(r){function n(t){return m(t)&amp;&amp;Math.abs(t)&lt;M}if(l=e[r],m(l)){if(f=_(r)+x,h=w(r)+x,p=l-A(r),g=l+k(r),&quot;log&quot;===t.type&amp;&amp;p&lt;g/10&amp;&amp;(p=g/10),c=t.c2l(p),u=t.c2l(g),b&amp;&amp;(c=Math.min(0,c),u=Math.max(0,u)),n(c)){for(d=!0,o=0;o&lt;t._min.length&amp;&amp;d;o++)(s=t._min[o]).val&lt;=c&amp;&amp;s.pad&gt;=h?d=!1:s.val&gt;=c&amp;&amp;s.pad&lt;=h&amp;&amp;(t._min.splice(o,1),o--);d&amp;&amp;t._min.push({val:c,pad:b&amp;&amp;0===c?0:h})}if(n(u)){for(d=!0,o=0;o&lt;t._max.length&amp;&amp;d;o++)(s=t._max[o]).val&gt;=u&amp;&amp;s.pad&gt;=f?d=!1:s.val&lt;=u&amp;&amp;s.pad&lt;=f&amp;&amp;(t._max.splice(o,1),o--);d&amp;&amp;t._max.push({val:u,pad:b&amp;&amp;0===u?0:f})}}}if((t.autorange||!!v.nestedProperty(t,&quot;rangeslider.autorange&quot;).get())&amp;&amp;e){t._min||(t._min=[]),t._max||(t._max=[]),r||(r={}),t._m||t.setScale();var a,o,s,l,c,u,f,h,d,p,g,y=e.length,x=r.padded?.05*t._length:0,b=r.tozero&amp;&amp;(&quot;linear&quot;===t.type||&quot;-&quot;===t.type);x&amp;&amp;&quot;domain&quot;===t.constrain&amp;&amp;t._inputDomain&amp;&amp;(x*=(t._inputDomain[1]-t._inputDomain[0])/(t.domain[1]-t.domain[0]));var _=n((t._m&gt;0?r.ppadplus:r.ppadminus)||r.ppad||0),w=n((t._m&gt;0?r.ppadminus:r.ppadplus)||r.ppad||0),k=n(r.vpadplus||r.vpad),A=n(r.vpadminus||r.vpad);for(a=0;a&lt;6;a++)i(a);for(a=y-1;a&gt;5;a--)i(a)}},I.autoBin=function(t,e,r,n,i){var a=v.aggNums(Math.min,null,t),o=v.aggNums(Math.max,null,t);if(i||(i=e.calendar),&quot;category&quot;===e.type)return{start:a-.5,end:o+.5,size:1,_count:o-a+1};var s;if(r)s=(o-a)/r;else{var l=v.distinctVals(t),c=Math.pow(10,Math.floor(Math.log(l.minDiff)/Math.LN10)),u=c*v.roundUp(l.minDiff/c,[.9,1.9,4.9,9.9],!0);s=Math.max(u,2*v.stdev(t)/Math.pow(t.length,n?.25:.4)),m(s)||(s=1)}var f;f=&quot;log&quot;===e.type?{type:&quot;linear&quot;,range:[a,o]}:{type:e.type,range:v.simpleMap([a,o],e.c2r,0,i),calendar:i},I.setConvert(f),I.autoTicks(f,s);var h,d,p=I.tickIncrement(I.tickFirst(f),f.dtick,&quot;reverse&quot;,i);if(&quot;number&quot;==typeof f.dtick)h=(p=function(t,e,r,n,i){function a(e){return(1+100*(e-t)/r.dtick)%100&lt;2}for(var o=0,s=0,l=0,c=0,u=0;u&lt;e.length;u++)e[u]%1==0?l++:m(e[u])||c++,a(e[u])&amp;&amp;o++,a(e[u]+r.dtick/2)&amp;&amp;s++;var f=e.length-c;if(l===f&amp;&amp;&quot;date&quot;!==r.type)r.dtick&lt;1?t=n-.5*r.dtick:(t-=.5)+r.dtick&lt;n&amp;&amp;(t+=r.dtick);else if(s&lt;.1*f&amp;&amp;(o&gt;.3*f||a(n)||a(i))){var h=r.dtick/2;t+=t+h&lt;n?h:-h}return t}(p,t,f,a,o))+(d=1+Math.floor((o-p)/f.dtick))*f.dtick;else for(&quot;M&quot;===f.dtick.charAt(0)&amp;&amp;(p=function(t,e,r,n,i){var a=v.findExactDates(e,i);if(a.exactDays&gt;.8){var o=Number(r.substr(1));a.exactYears&gt;.8&amp;&amp;o%12==0?t=I.tickIncrement(t,&quot;M6&quot;,&quot;reverse&quot;)+1.5*T:a.exactMonths&gt;.8?t=I.tickIncrement(t,&quot;M1&quot;,&quot;reverse&quot;)+15.5*T:t-=T/2;var s=I.tickIncrement(t,r);if(s&lt;=n)return s}return t}(p,t,f.dtick,a,i)),h=p,d=0;h&lt;=o;)h=I.tickIncrement(h,f.dtick,!1,i),d++;return{start:e.c2r(p,0,i),end:e.c2r(h,0,i),size:f.dtick,_count:d}},I.calcTicks=function(t){var e=v.simpleMap(t.range,t.r2l);if(&quot;auto&quot;===t.tickmode||!t.dtick){var r,n=t.nticks;n||(&quot;category&quot;===t.type?(r=t.tickfont?1.2*(t.tickfont.size||12):15,n=t._length/r):(r=&quot;y&quot;===t._id.charAt(0)?40:80,n=v.constrain(t._length/r,4,9)+1),&quot;radialaxis&quot;===t._name&amp;&amp;(n*=2)),&quot;array&quot;===t.tickmode&amp;&amp;(n*=100),I.autoTicks(t,Math.abs(e[1]-e[0])/n),t._minDtick&gt;0&amp;&amp;t.dtick&lt;2*t._minDtick&amp;&amp;(t.dtick=t._minDtick,t.tick0=t.l2r(t._forceTick0))}if(t.tick0||(t.tick0=&quot;date&quot;===t.type?&quot;2000-01-01&quot;:0),o(t),&quot;array&quot;===t.tickmode)return function(t){var e,r,n=t.tickvals,i=t.ticktext,a=new Array(n.length),o=v.simpleMap(t.range,t.r2l),l=1.0001*o[0]-1e-4*o[1],c=1.0001*o[1]-1e-4*o[0],u=Math.min(l,c),f=Math.max(l,c),h=0;Array.isArray(i)||(i=[]);var d=&quot;category&quot;===t.type?t.d2l_noadd:t.d2l;for(&quot;log&quot;===t.type&amp;&amp;&quot;L&quot;!==String(t.dtick).charAt(0)&amp;&amp;(t.dtick=&quot;L&quot;+Math.pow(10,Math.floor(Math.min(t.range[0],t.range[1]))-1)),r=0;r&lt;n.length;r++)(e=d(n[r]))&gt;u&amp;&amp;e&lt;f&amp;&amp;(void 0===i[r]?a[h]=I.tickText(t,e):a[h]=s(t,e,String(i[r])),h++);return h&lt;n.length&amp;&amp;a.splice(h,n.length-h),a}(t);t._tmin=I.tickFirst(t);var i=e[1]&lt;e[0],a=[],l=1.0001*e[1]-1e-4*e[0];&quot;category&quot;===t.type&amp;&amp;(l=i?Math.max(-.5,l):Math.min(t._categories.length-.5,l));for(var c=null,u=Math.max(1e3,t._length||0),f=t._tmin;(i?f&gt;=l:f&lt;=l)&amp;&amp;!(a.length&gt;u||f===c);f=I.tickIncrement(f,t.dtick,i,t.calendar))c=f,a.push(f);&quot;angular&quot;===t._id&amp;&amp;360===Math.abs(e[1]-e[0])&amp;&amp;a.pop(),t._tmax=a[a.length-1],t._prevDateHead=&quot;&quot;,t._inCalcTicks=!0;for(var h=new Array(a.length),d=0;d&lt;a.length;d++)h[d]=I.tickText(t,a[d]);return t._inCalcTicks=!1,h};var R=[2,5,10],N=[1,2,3,6,12],j=[1,2,5,10,15,30],B=[1,2,3,7,14],U=[-.046,0,.301,.477,.602,.699,.778,.845,.903,.954,1],V=[-.301,0,.301,.699,1],q=[15,30,45,90,180];I.autoTicks=function(t,e){function r(t){return Math.pow(t,Math.floor(Math.log(e)/Math.LN10))}var n;if(&quot;date&quot;===t.type){t.tick0=v.dateTick0(t.calendar);var i=2*e;i&gt;k?(e/=k,n=r(10),t.dtick=&quot;M&quot;+12*a(e,n,R)):i&gt;A?(e/=A,t.dtick=&quot;M&quot;+a(e,1,N)):i&gt;T?(t.dtick=a(e,T,B),t.tick0=v.dateTick0(t.calendar,!0)):i&gt;S?t.dtick=a(e,S,N):i&gt;E?t.dtick=a(e,E,j):i&gt;L?t.dtick=a(e,L,j):(n=r(10),t.dtick=a(e,n,R))}else if(&quot;log&quot;===t.type){t.tick0=0;var o=v.simpleMap(t.range,t.r2l);if(e&gt;.7)t.dtick=Math.ceil(e);else if(Math.abs(o[1]-o[0])&lt;1){var s=1.5*Math.abs((o[1]-o[0])/e);e=Math.abs(Math.pow(10,o[1])-Math.pow(10,o[0]))/s,n=r(10),t.dtick=&quot;L&quot;+a(e,n,R)}else t.dtick=e&gt;.3?&quot;D2&quot;:&quot;D1&quot;}else&quot;category&quot;===t.type?(t.tick0=0,t.dtick=Math.ceil(Math.max(e,1))):&quot;angular&quot;===t._id?(t.tick0=0,n=1,t.dtick=a(e,n,q)):(t.tick0=0,n=r(10),t.dtick=a(e,n,R));if(0===t.dtick&amp;&amp;(t.dtick=1),!m(t.dtick)&amp;&amp;&quot;string&quot;!=typeof t.dtick){var l=t.dtick;throw t.dtick=1,&quot;ax.dtick error: &quot;+String(l)}},I.tickIncrement=function(t,e,r,n){var i=r?-1:1;if(m(e))return t+i*e;var a=e.charAt(0),o=i*Number(e.substr(1));if(&quot;M&quot;===a)return v.incrementMonth(t,o,n);if(&quot;L&quot;===a)return Math.log(Math.pow(10,t)+o)/Math.LN10;if(&quot;D&quot;===a){var s=&quot;D2&quot;===e?V:U,l=t+.01*i,c=v.roundUp(v.mod(l,1),s,r);return Math.floor(l)+Math.log(p.round(Math.pow(10,c),1))/Math.LN10}throw&quot;unrecognized dtick &quot;+String(e)},I.tickFirst=function(t){var e=t.r2l||Number,r=v.simpleMap(t.range,e),n=r[1]&lt;r[0],i=n?Math.floor:Math.ceil,a=1.0001*r[0]-1e-4*r[1],o=t.dtick,s=e(t.tick0);if(m(o)){var l=i((a-s)/o)*o+s;return&quot;category&quot;===t.type&amp;&amp;(l=v.constrain(l,0,t._categories.length-1)),l}var c=o.charAt(0),u=Number(o.substr(1));if(&quot;M&quot;===c){for(var f,h,d,g=0,y=s;g&lt;10;){if(((f=I.tickIncrement(y,o,n,t.calendar))-a)*(y-a)&lt;=0)return n?Math.min(y,f):Math.max(y,f);h=(a-(y+f)/2)/(f-y),d=c+(Math.abs(Math.round(h))||1)*u,y=I.tickIncrement(y,d,h&lt;0?!n:n,t.calendar),g++}return v.error(&quot;tickFirst did not converge&quot;,t),y}if(&quot;L&quot;===c)return Math.log(i((Math.pow(10,a)-s)/u)*u+s)/Math.LN10;if(&quot;D&quot;===c){var x=&quot;D2&quot;===o?V:U,b=v.roundUp(v.mod(a,1),x,n);return Math.floor(a)+Math.log(p.round(Math.pow(10,b),1))/Math.LN10}throw&quot;unrecognized dtick &quot;+String(o)},I.tickText=function(t,e,r){function n(n){var i;return void 0===n||(r?&quot;none&quot;===n:(i={first:t._tmin,last:t._tmax}[n],&quot;all&quot;!==n&amp;&amp;e!==i))}var i,a,o=s(t,e),h=&quot;array&quot;===t.tickmode,d=r||h,p=&quot;category&quot;===t.type?t.d2l_noadd:t.d2l;if(h&amp;&amp;Array.isArray(t.ticktext)){var g=v.simpleMap(t.range,t.r2l),y=Math.abs(g[1]-g[0])/1e4;for(a=0;a&lt;t.ticktext.length&amp;&amp;!(Math.abs(e-p(t.tickvals[a]))&lt;y);a++);if(a&lt;t.ticktext.length)return o.text=String(t.ticktext[a]),o}return i=r?&quot;never&quot;:&quot;none&quot;!==t.exponentformat&amp;&amp;n(t.showexponent)?&quot;hide&quot;:&quot;&quot;,&quot;date&quot;===t.type?function(t,e,r,n){var i=t._tickround,a=r&amp;&amp;t.hoverformat||I.getTickFormat(t);n&amp;&amp;(i=m(i)?4:{y:&quot;m&quot;,m:&quot;d&quot;,d:&quot;M&quot;,M:&quot;S&quot;,S:4}[i]);var o,s=v.formatDate(e.x,a,i,t._dateFormat,t.calendar),l=s.indexOf(&quot;\n&quot;);-1!==l&amp;&amp;(o=s.substr(l+1),s=s.substr(0,l)),n&amp;&amp;(&quot;00:00:00&quot;===s||&quot;00:00&quot;===s?(s=o,o=&quot;&quot;):8===s.length&amp;&amp;(s=s.replace(/:00$/,&quot;&quot;))),o&amp;&amp;(r?&quot;d&quot;===i?s+=&quot;, &quot;+o:s=o+(s?&quot;, &quot;+s:&quot;&quot;):t._inCalcTicks&amp;&amp;o===t._prevDateHead||(s+=&quot;&lt;br&gt;&quot;+o,t._prevDateHead=o)),e.text=s}(t,o,r,d):&quot;log&quot;===t.type?function(t,e,r,n,i){var a=t.dtick,o=e.x,s=t.tickformat;if(&quot;never&quot;===i&amp;&amp;(i=&quot;&quot;),!n||&quot;string&quot;==typeof a&amp;&amp;&quot;L&quot;===a.charAt(0)||(a=&quot;L3&quot;),s||&quot;string&quot;==typeof a&amp;&amp;&quot;L&quot;===a.charAt(0))e.text=f(Math.pow(10,o),t,i,n);else if(m(a)||&quot;D&quot;===a.charAt(0)&amp;&amp;v.mod(o+.01,1)&lt;.1){var l=Math.round(o);-1!==[&quot;e&quot;,&quot;E&quot;,&quot;power&quot;].indexOf(t.exponentformat)||c(t.exponentformat)&amp;&amp;u(l)?(e.text=0===l?1:1===l?&quot;10&quot;:l&gt;1?&quot;10&lt;sup&gt;&quot;+l+&quot;&lt;/sup&gt;&quot;:&quot;10&lt;sup&gt;&quot;+C+-l+&quot;&lt;/sup&gt;&quot;,e.fontSize*=1.25):(e.text=f(Math.pow(10,o),t,&quot;&quot;,&quot;fakehover&quot;),&quot;D1&quot;===a&amp;&amp;&quot;y&quot;===t._id.charAt(0)&amp;&amp;(e.dy-=e.fontSize/6))}else{if(&quot;D&quot;!==a.charAt(0))throw&quot;unrecognized dtick &quot;+String(a);e.text=String(Math.round(Math.pow(10,v.mod(o,1)))),e.fontSize*=.75}if(&quot;D1&quot;===t.dtick){var h=String(e.text).charAt(0);&quot;0&quot;!==h&amp;&amp;&quot;1&quot;!==h||(&quot;y&quot;===t._id.charAt(0)?e.dx-=e.fontSize/4:(e.dy+=e.fontSize/2,e.dx+=(t.range[1]&gt;t.range[0]?1:-1)*e.fontSize*(o&lt;0?.5:.25)))}}(t,o,0,d,i):&quot;category&quot;===t.type?function(t,e){var r=t._categories[Math.round(e.x)];void 0===r&amp;&amp;(r=&quot;&quot;),e.text=String(r)}(t,o):&quot;angular&quot;===t._id?l(t,o,r,d,i):function(t,e,r,n,i){&quot;never&quot;===i?i=&quot;&quot;:&quot;all&quot;===t.showexponent&amp;&amp;Math.abs(e.x/t.dtick)&lt;1e-6&amp;&amp;(i=&quot;hide&quot;),e.text=f(e.x,t,i,n)}(t,o,0,d,i),t.tickprefix&amp;&amp;!n(t.showtickprefix)&amp;&amp;(o.text=t.tickprefix+o.text),t.ticksuffix&amp;&amp;!n(t.showticksuffix)&amp;&amp;(o.text+=t.ticksuffix),o},I.hoverLabelText=function(t,e,r){if(r!==z&amp;&amp;r!==e)return I.hoverLabelText(t,e)+&quot; - &quot;+I.hoverLabelText(t,r);var n=&quot;log&quot;===t.type&amp;&amp;e&lt;=0,i=I.tickText(t,t.c2l(n?-e:e),&quot;hover&quot;).text;return n?0===e?&quot;0&quot;:C+i:i};var H=[&quot;f&quot;,&quot;p&quot;,&quot;n&quot;,&quot;\u03bc&quot;,&quot;m&quot;,&quot;&quot;,&quot;k&quot;,&quot;M&quot;,&quot;G&quot;,&quot;T&quot;];I.getTickFormat=function(t){function e(t){return&quot;string&quot;!=typeof t?t:Number(t.replace(&quot;M&quot;,&quot;&quot;))*A}function r(t,e){var r=[&quot;L&quot;,&quot;D&quot;];if(typeof t==typeof e){if(&quot;number&quot;==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,&quot;&quot;))-Number(e.replace(/(L|D)/g,&quot;&quot;)):n-i}return&quot;number&quot;==typeof t?1:-1}function n(t,e,r){var n=r||function(t){return t},i=e[0],a=e[1];return(!i&amp;&amp;&quot;number&quot;!=typeof i||n(i)&lt;=n(t))&amp;&amp;(!a&amp;&amp;&quot;number&quot;!=typeof a||n(a)&gt;=n(t))}function i(t,e){var n=null===e[0],i=null===e[1],a=r(t,e[0])&gt;=0,o=r(t,e[1])&lt;=0;return(n||a)&amp;&amp;(i||o)}var a,o;if(t.tickformatstops&amp;&amp;t.tickformatstops.length&gt;0)switch(t.type){case&quot;date&quot;:case&quot;linear&quot;:for(a=0;a&lt;t.tickformatstops.length;a++)if(n(t.dtick,t.tickformatstops[a].dtickrange,e)){o=t.tickformatstops[a];break}break;case&quot;log&quot;:for(a=0;a&lt;t.tickformatstops.length;a++)if(i(t.dtick,t.tickformatstops[a].dtickrange)){o=t.tickformatstops[a];break}}return o?o.value:t.tickformat},I.getSubplots=function(t,e){var r=t._fullLayout._subplots,n=r.cartesian.concat(r.gl2d||[]),i=e?I.findSubplotsWithAxis(n,e):n;return i.sort(function(t,e){var r=t.substr(1).split(&quot;y&quot;),n=e.substr(1).split(&quot;y&quot;);return r[0]===n[0]?+r[1]-+n[1]:+r[0]-+n[0]}),i},I.findSubplotsWithAxis=function(t,e){for(var r=new RegExp(&quot;x&quot;===e._id.charAt(0)?&quot;^&quot;+e._id+&quot;y&quot;:e._id+&quot;$&quot;),n=[],i=0;i&lt;t.length;i++){var a=t[i];r.test(a)&amp;&amp;n.push(a)}return n},I.makeClipPaths=function(t){var e,r,n=t._fullLayout,i={_offset:0,_length:n.width,_id:&quot;&quot;},a={_offset:0,_length:n.height,_id:&quot;&quot;},o=I.list(t,&quot;x&quot;,!0),s=I.list(t,&quot;y&quot;,!0),l=[];for(e=0;e&lt;o.length;e++)for(l.push({x:o[e],y:a}),r=0;r&lt;s.length;r++)0===e&amp;&amp;l.push({x:i,y:s[r]}),l.push({x:o[e],y:s[r]});var c=n._clips.selectAll(&quot;.axesclip&quot;).data(l,function(t){return t.x._id+t.y._id});c.enter().append(&quot;clipPath&quot;).classed(&quot;axesclip&quot;,!0).attr(&quot;id&quot;,function(t){return&quot;clip&quot;+n._uid+t.x._id+t.y._id}).append(&quot;rect&quot;),c.exit().remove(),c.each(function(t){p.select(this).select(&quot;rect&quot;).attr({x:t.x._offset||0,y:t.y._offset||0,width:t.x._length||1,height:t.y._length||1})})},I.doTicks=function(t,e,r){function n(t){var e=c.l2p(t.x);return e&gt;1&amp;&amp;e&lt;c._length-1}function i(t,e){var r=t.selectAll(&quot;path.&quot;+L).data(&quot;inside&quot;===c.ticks?H:S,E);e&amp;&amp;c.ticks?(r.enter().append(&quot;path&quot;).classed(L,1).classed(&quot;ticks&quot;,1).classed(&quot;crisp&quot;,1).call(b.stroke,c.tickcolor).style(&quot;stroke-width&quot;,B+&quot;px&quot;).attr(&quot;d&quot;,e),r.attr(&quot;transform&quot;,d),r.exit().remove()):r.remove()}function a(r,n){function i(t,e){t.each(function(t){var r=h(e,t),n=p.select(this),i=n.select(&quot;.text-math-group&quot;),a=d(t)+(m(e)&amp;&amp;0!=+e?&quot; rotate(&quot;+e+&quot;,&quot;+l(t)+&quot;,&quot;+(f(t)-t.fontSize/2)+&quot;)&quot;:&quot;&quot;);if(i.empty())n.select(&quot;text&quot;).attr({transform:a,&quot;text-anchor&quot;:r});else{var o=_.bBox(i.node()).width*{end:-.5,start:.5}[r];i.attr(&quot;transform&quot;,a+(o?&quot;translate(&quot;+o+&quot;,0)&quot;:&quot;&quot;))}})}function a(){function e(t,e){t[0]=Math.min(t[0],e[0]),t[1]=Math.max(t[1],e[1])}if(c.showticklabels){var n=t.getBoundingClientRect(),i=r.node().getBoundingClientRect();c._boundingBox={width:i.width,height:i.height,left:i.left-n.left,right:i.right-n.left,top:i.top-n.top,bottom:i.bottom-n.top}}else{var a,o=u._size;&quot;x&quot;===A?(a=&quot;free&quot;===c.anchor?o.t+o.h*(1-c.position):o.t+o.h*(1-c._anchorAxis.domain[{bottom:0,top:1}[c.side]]),c._boundingBox={top:a,bottom:a,left:c._offset,right:c._offset+c._length,width:c._length,height:0}):(a=&quot;free&quot;===c.anchor?o.l+o.w*c.position:o.l+o.w*c._anchorAxis.domain[{left:0,right:1}[c.side]],c._boundingBox={left:a,right:a,bottom:c._offset+c._length,top:c._offset,height:c._length,width:0})}if(M){var s=c._counterSpan=[1/0,-1/0];for(k=0;k&lt;M.length;k++){var l=u._plots[M[k]][&quot;x&quot;===A?&quot;yaxis&quot;:&quot;xaxis&quot;];e(s,[l._offset,l._offset+l._length])}&quot;free&quot;===c.anchor&amp;&amp;e(s,&quot;x&quot;===A?[c._boundingBox.bottom,c._boundingBox.top]:[c._boundingBox.right,c._boundingBox.left])}}var s=r.selectAll(&quot;g.&quot;+L).data(S,E);if(!m(n))return s.remove(),void o();if(!c.showticklabels)return s.remove(),o(),void a();var l,f,h,g,x;&quot;x&quot;===A?(l=function(t){return t.dx+R*x},g=n+(F+P)*(x=&quot;bottom&quot;===V?1:-1),f=function(t){return t.dy+g+t.fontSize*(&quot;bottom&quot;===V?1:-.2)},h=function(t){return m(t)&amp;&amp;0!==t&amp;&amp;180!==t?t*x&lt;0?&quot;end&quot;:&quot;start&quot;:&quot;middle&quot;}):&quot;y&quot;===A?(x=&quot;right&quot;===V?1:-1,f=function(t){return t.dy+t.fontSize*D-R*x},l=function(t){return t.dx+n+(F+P+(90===Math.abs(c.tickangle)?t.fontSize/2:0))*x},h=function(t){return m(t)&amp;&amp;90===Math.abs(t)?&quot;middle&quot;:&quot;right&quot;===V?&quot;start&quot;:&quot;end&quot;}):&quot;angular&quot;===e&amp;&amp;(c._labelShift=R,c._labelStandoff=F,c._pad=P,l=c._labelx,f=c._labely,h=c._labelanchor);var b=0,w=0,T=[];s.enter().append(&quot;g&quot;).classed(L,1).append(&quot;text&quot;).attr(&quot;text-anchor&quot;,&quot;middle&quot;).each(function(e){var r=p.select(this),n=t._promises.length;r.call(y.positionText,l(e),f(e)).call(_.font,e.font,e.fontSize,e.fontColor).text(e.text).call(y.convertToTspans,t),(n=t._promises[n])?T.push(t._promises.pop().then(function(){i(r,c.tickangle)})):i(r,c.tickangle)}),s.exit().remove(),s.each(function(t){b=Math.max(b,t.fontSize)}),&quot;angular&quot;===e&amp;&amp;s.each(function(t){p.select(this).select(&quot;text&quot;).call(y.positionText,l(t),f(t))}),i(s,c._lastangle||c.tickangle);var C=v.syncOrAsync([function(){return T.length&amp;&amp;Promise.all(T)},function(){if(i(s,c.tickangle),&quot;x&quot;===A&amp;&amp;!m(c.tickangle)&amp;&amp;(&quot;log&quot;!==c.type||&quot;D&quot;!==String(c.dtick).charAt(0))){var t=[];for(s.each(function(e){var r=p.select(this),n=r.select(&quot;.text-math-group&quot;),i=c.l2p(e.x);n.empty()&amp;&amp;(n=r.select(&quot;text&quot;));var a=_.bBox(n.node());t.push({top:0,bottom:10,height:10,left:i-a.width/2,right:i+a.width/2+2,width:a.width+2})}),k=0;k&lt;t.length-1;k++)if(v.bBoxIntersect(t[k],t[k+1])){w=30;break}w&amp;&amp;(Math.abs((S[S.length-1].x-S[0].x)*c._m)/(S.length-1)&lt;2.5*b&amp;&amp;(w=90),i(s,w)),c._lastangle=w}return o(),e+&quot; done&quot;},a]);return C&amp;&amp;C.then&amp;&amp;t._promises.push(C),C}function o(){if(!r){var n,i,a,o,s=O.getFromId(t,e),l=p.select(t).selectAll(&quot;g.&quot;+e+&quot;tick&quot;),c={selection:l,side:s.side},f=e.charAt(0),h=t._fullLayout._size,d=s.titlefont.size;if(l.size()){var m=_.getTranslate(l.node().parentNode);c.offsetLeft=m.x,c.offsetTop=m.y}var g=10+1.5*d+(s.linewidth?s.linewidth-1:0);&quot;x&quot;===f?(i=&quot;free&quot;===s.anchor?{_offset:h.t+(1-(s.position||0))*h.h,_length:0}:O.getFromId(t,s.anchor),a=s._offset+s._length/2,o=&quot;top&quot;===s.side?-g-d*(s.showticklabels?1:0):i._length+g+d*(s.showticklabels?1.5:.5),o+=i._offset,s.rangeslider&amp;&amp;s.rangeslider.visible&amp;&amp;s._boundingBox&amp;&amp;(o+=(u.height-u.margin.b-u.margin.t)*s.rangeslider.thickness+s._boundingBox.height),c.side||(c.side=&quot;bottom&quot;)):(i=&quot;free&quot;===s.anchor?{_offset:h.l+(s.position||0)*h.w,_length:0}:O.getFromId(t,s.anchor),o=s._offset+s._length/2,a=&quot;right&quot;===s.side?i._length+g+d*(s.showticklabels?1:.5):-g-d*(s.showticklabels?.5:0),a+=i._offset,n={rotate:&quot;-90&quot;,offset:0},c.side||(c.side=&quot;left&quot;)),x.draw(t,e+&quot;title&quot;,{propContainer:s,propName:s._name+&quot;.title&quot;,placeholder:u._dfltTitle[f],avoid:c,transform:n,attributes:{x:a,y:o,&quot;text-anchor&quot;:&quot;middle&quot;}})}}function s(t,e){return!0===t.visible&amp;&amp;t.xaxis+t.yaxis===e&amp;&amp;(!(!g.traceIs(t,&quot;bar&quot;)||t.orientation!=={x:&quot;h&quot;,y:&quot;v&quot;}[A])||t.fill&amp;&amp;t.fill.charAt(t.fill.length-1)===A)}function l(r,i,a){var o=r.gridlayer.selectAll(&quot;.&quot;+e),l=r.zerolinelayer,u=r[&quot;hidegrid&quot;+A]?[]:H,f=c._gridpath||(&quot;x&quot;===A?&quot;M0,&quot;+i._offset+&quot;v&quot;:&quot;M&quot;+i._offset+&quot;,0h&quot;)+i._length,h=o.selectAll(&quot;path.&quot;+C).data(!1===c.showgrid?[]:u,E);if(h.enter().append(&quot;path&quot;).classed(C,1).classed(&quot;crisp&quot;,1).attr(&quot;d&quot;,f).each(function(t){c.zeroline&amp;&amp;(&quot;linear&quot;===c.type||&quot;-&quot;===c.type)&amp;&amp;Math.abs(t.x)&lt;c.dtick/100&amp;&amp;p.select(this).remove()}),h.attr(&quot;transform&quot;,d).call(b.stroke,c.gridcolor||&quot;#ddd&quot;).style(&quot;stroke-width&quot;,N+&quot;px&quot;),&quot;function&quot;==typeof f&amp;&amp;h.attr(&quot;d&quot;,f),h.exit().remove(),l){for(var m=!1,g=0;g&lt;t._fullData.length;g++)if(s(t._fullData[g],a)){m=!0;break}var y=v.simpleMap(c.range,c.r2l),x=y[0]*y[1]&lt;=0&amp;&amp;c.zeroline&amp;&amp;(&quot;linear&quot;===c.type||&quot;-&quot;===c.type)&amp;&amp;u.length&amp;&amp;(m||n({x:0})||!c.showline),_=l.selectAll(&quot;path.&quot;+z).data(x?[{x:0,id:e}]:[]);_.enter().append(&quot;path&quot;).classed(z,1).classed(&quot;zl&quot;,1).classed(&quot;crisp&quot;,1).attr(&quot;d&quot;,f).each(function(){l.selectAll(&quot;path&quot;).sort(function(t,e){return O.idSort(t.id,e.id)})}),_.attr(&quot;transform&quot;,d).call(b.stroke,c.zerolinecolor||b.defaultLine).style(&quot;stroke-width&quot;,j+&quot;px&quot;),_.exit().remove()}}var c,u=t._fullLayout,f=!1;if(&quot;object&quot;==typeof e)e=(c=e)._id,f=!0;else if(c=I.getFromId(t,e),&quot;redraw&quot;===e&amp;&amp;u._paper.selectAll(&quot;g.subplot&quot;).each(function(t){var e=u._plots[t],r=e.xaxis,n=e.yaxis;e.xaxislayer.selectAll(&quot;.&quot;+r._id+&quot;tick&quot;).remove(),e.yaxislayer.selectAll(&quot;.&quot;+n._id+&quot;tick&quot;).remove(),e.gridlayer.selectAll(&quot;path&quot;).remove(),e.zerolinelayer.selectAll(&quot;path&quot;).remove(),u._infolayer.select(&quot;.g-&quot;+r._id+&quot;title&quot;).remove(),u._infolayer.select(&quot;.g-&quot;+n._id+&quot;title&quot;).remove()}),!e||&quot;redraw&quot;===e)return v.syncOrAsync(I.list(t,&quot;&quot;,!0).map(function(r){return function(){if(r._id){var n=I.doTicks(t,r._id);return&quot;redraw&quot;===e&amp;&amp;(r._r=r.range.slice(),r._rl=v.simpleMap(r._r,r.r2l)),n}}}));c.tickformat||(-1===[&quot;none&quot;,&quot;e&quot;,&quot;E&quot;,&quot;power&quot;,&quot;SI&quot;,&quot;B&quot;].indexOf(c.exponentformat)&amp;&amp;(c.exponentformat=&quot;e&quot;),-1===[&quot;all&quot;,&quot;first&quot;,&quot;last&quot;,&quot;none&quot;].indexOf(c.showexponent)&amp;&amp;(c.showexponent=&quot;all&quot;)),c.setScale();var h,d,w,M,k,A=e.charAt(0),T=I.counterLetter(e),S=I.calcTicks(c),E=function(t){return[t.text,t.x,c.mirror,t.font,t.fontSize,t.fontColor].join(&quot;_&quot;)},L=e+&quot;tick&quot;,C=e+&quot;grid&quot;,z=e+&quot;zl&quot;,P=(c.linewidth||1)/2,F=&quot;outside&quot;===c.ticks?c.ticklen:0,R=0,N=_.crispRound(t,c.gridwidth,1),j=_.crispRound(t,c.zerolinewidth,N),B=_.crispRound(t,c.tickwidth,1);if(c._counterangle&amp;&amp;&quot;outside&quot;===c.ticks){var U=c._counterangle*Math.PI/180;F=c.ticklen*Math.cos(U)+1,R=c.ticklen*Math.sin(U)}if(c.showticklabels&amp;&amp;(&quot;outside&quot;===c.ticks||c.showline)&amp;&amp;(F+=.2*c.tickfont.size),&quot;x&quot;===A)h=[&quot;bottom&quot;,&quot;top&quot;],d=c._transfn||function(t){return&quot;translate(&quot;+(c._offset+c.l2p(t.x))+&quot;,0)&quot;},w=function(t,e){if(c._counterangle){var r=c._counterangle*Math.PI/180;return&quot;M0,&quot;+t+&quot;l&quot;+Math.sin(r)*e+&quot;,&quot;+Math.cos(r)*e}return&quot;M0,&quot;+t+&quot;v&quot;+e};else if(&quot;y&quot;===A)h=[&quot;left&quot;,&quot;right&quot;],d=c._transfn||function(t){return&quot;translate(0,&quot;+(c._offset+c.l2p(t.x))+&quot;)&quot;},w=function(t,e){if(c._counterangle){var r=c._counterangle*Math.PI/180;return&quot;M&quot;+t+&quot;,0l&quot;+Math.cos(r)*e+&quot;,&quot;+-Math.sin(r)*e}return&quot;M&quot;+t+&quot;,0h&quot;+e};else{if(&quot;angular&quot;!==e)return void v.warn(&quot;Unrecognized doTicks axis:&quot;,e);h=[&quot;left&quot;,&quot;right&quot;],d=c._transfn,w=function(t,e){return&quot;M&quot;+t+&quot;,0h&quot;+e}}var V=c.side||h[0],q=[-1,1,V===h[1]?1:-1];if(&quot;inside&quot;!==c.ticks==(&quot;x&quot;===A)&amp;&amp;(q=q.map(function(t){return-t})),c.visible){c._tickFilter&amp;&amp;(S=S.filter(c._tickFilter));var H=S.filter(n);if(&quot;angular&quot;===c._id&amp;&amp;(H=S),f){if(i(c._axislayer,w(c._pos+P*q[2],q[2]*c.ticklen)),c._counteraxis){l({gridlayer:c._gridlayer,zerolinelayer:c._zerolinelayer},c._counteraxis)}return a(c._axislayer,c._pos)}if(u._has(&quot;cartesian&quot;)){var G={};(M=I.getSubplots(t,c)).map(function(t){var e=u._plots[t],r=e[T+&quot;axis&quot;],n=r._mainAxis._id;G[n]||(G[n]=1,l(e,r,t))});var Y=c._mainSubplot,W=u._plots[Y],X=[];if(c.ticks){var Z=q[2],J=w(c._mainLinePosition+P*Z,Z*c.ticklen);c._anchorAxis&amp;&amp;c.mirror&amp;&amp;!0!==c.mirror&amp;&amp;(J+=w(c._mainMirrorPosition-P*Z,-Z*c.ticklen)),i(W[A+&quot;axislayer&quot;],J),X=Object.keys(c._linepositions)}X.map(function(t){function e(t){var e=q[t];return w(n[t]+P*e,e*c.ticklen)}var r=u._plots[t][A+&quot;axislayer&quot;],n=c._linepositions[t]||[];i(r,e(0)+e(1))});return a(W[A+&quot;axislayer&quot;],c._mainLinePosition)}}},I.swap=function(t,e){for(var r=function(t,e){var r,n,i=[];for(r=0;r&lt;e.length;r++){var a=[],o=t._fullData[e[r]].xaxis,s=t._fullData[e[r]].yaxis;if(o&amp;&amp;s){for(n=0;n&lt;i.length;n++)-1===i[n].x.indexOf(o)&amp;&amp;-1===i[n].y.indexOf(s)||a.push(n);if(a.length){var l,c=i[a[0]];if(a.length&gt;1)for(n=1;n&lt;a.length;n++)l=i[a[n]],h(c.x,l.x),h(c.y,l.y);h(c.x,[o]),h(c.y,[s])}else i.push({x:[o],y:[s]})}}return i}(t,e),n=0;n&lt;r.length;n++)d(t,r[n].x,r[n].y)}},{&quot;../../components/color&quot;:618,&quot;../../components/drawing&quot;:643,&quot;../../components/titles&quot;:709,&quot;../../constants/alignment&quot;:716,&quot;../../constants/numerical&quot;:721,&quot;../../lib&quot;:743,&quot;../../lib/svg_text_utils&quot;:766,&quot;../../registry&quot;:873,&quot;./axis_autotype&quot;:790,&quot;./axis_ids&quot;:792,&quot;./set_convert&quot;:808,d3:128,&quot;fast-isnumeric&quot;:140}],790:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;fast-isnumeric&quot;),i=t(&quot;../../lib&quot;),a=t(&quot;../../constants/numerical&quot;).BADNUM;e.exports=function(t,e){return function(t,e){for(var r,a=0,o=0,s=Math.max(1,(t.length-1)/1e3),l=0;l&lt;t.length;l+=s)r=t[Math.round(l)],i.isDateTime(r,e)&amp;&amp;(a+=1),n(r)&amp;&amp;(o+=1);return a&gt;2*o}(t,e)?&quot;date&quot;:function(t){for(var e,r=Math.max(1,(t.length-1)/1e3),n=0,o=0,s=0;s&lt;t.length;s+=r)e=t[Math.round(s)],i.cleanNumber(e)!==a?n++:&quot;string&quot;==typeof e&amp;&amp;&quot;&quot;!==e&amp;&amp;&quot;None&quot;!==e&amp;&amp;o++;return o&gt;2*n}(t)?&quot;category&quot;:function(t){if(!t)return!1;for(var e=0;e&lt;t.length;e++)if(n(t[e]))return!0;return!1}(t)?&quot;linear&quot;:&quot;-&quot;}},{&quot;../../constants/numerical&quot;:721,&quot;../../lib&quot;:743,&quot;fast-isnumeric&quot;:140}],791:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../registry&quot;),i=t(&quot;../../lib&quot;),a=t(&quot;./layout_attributes&quot;),o=t(&quot;./tick_value_defaults&quot;),s=t(&quot;./tick_mark_defaults&quot;),l=t(&quot;./tick_label_defaults&quot;),c=t(&quot;./category_order_defaults&quot;),u=t(&quot;./line_grid_defaults&quot;),f=t(&quot;./set_convert&quot;),h=t(&quot;./ordered_categories&quot;);e.exports=function(t,e,r,d,p){var m=d.letter,g=d.font||{},v=r(&quot;visible&quot;,!d.cheateronly),y=e.type;if(&quot;date&quot;===y){n.getComponentMethod(&quot;calendars&quot;,&quot;handleDefaults&quot;)(t,e,&quot;calendar&quot;,d.calendar)}f(e,p);if(r(&quot;autorange&quot;,!e.isValidRange(t.range))&amp;&amp;r(&quot;rangemode&quot;),r(&quot;range&quot;),e.cleanRange(),c(t,e,r),e._initialCategories=&quot;category&quot;===y?h(m,e.categoryorder,e.categoryarray,d.data):[],!v)return e;var x=r(&quot;color&quot;),b=x===t.color?x:g.color;return r(&quot;title&quot;,p._dfltTitle[m]),i.coerceFont(r,&quot;titlefont&quot;,{family:g.family,size:Math.round(1.2*g.size),color:b}),o(t,e,r,y),l(t,e,r,y,d),s(t,e,r,d),u(t,e,r,{dfltColor:x,bgColor:d.bgColor,showGrid:d.showGrid,attributes:a}),(e.showline||e.ticks)&amp;&amp;r(&quot;mirror&quot;),e}},{&quot;../../lib&quot;:743,&quot;../../registry&quot;:873,&quot;./category_order_defaults&quot;:793,&quot;./layout_attributes&quot;:801,&quot;./line_grid_defaults&quot;:803,&quot;./ordered_categories&quot;:804,&quot;./set_convert&quot;:808,&quot;./tick_label_defaults&quot;:809,&quot;./tick_mark_defaults&quot;:810,&quot;./tick_value_defaults&quot;:811}],792:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../registry&quot;),i=t(&quot;./constants&quot;);r.id2name=function(t){if(&quot;string&quot;==typeof t&amp;&amp;t.match(i.AX_ID_PATTERN)){var e=t.substr(1);return&quot;1&quot;===e&amp;&amp;(e=&quot;&quot;),t.charAt(0)+&quot;axis&quot;+e}},r.name2id=function(t){if(t.match(i.AX_NAME_PATTERN)){var e=t.substr(5);return&quot;1&quot;===e&amp;&amp;(e=&quot;&quot;),t.charAt(0)+e}},r.cleanId=function(t,e){if(t.match(i.AX_ID_PATTERN)&amp;&amp;(!e||t.charAt(0)===e)){var r=t.substr(1).replace(/^0+/,&quot;&quot;);return&quot;1&quot;===r&amp;&amp;(r=&quot;&quot;),t.charAt(0)+r}},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&lt;o.length;a++){var l=o[a];s[a]=i[l.charAt(0)+&quot;axis&quot;+l.substr(1)]}if(!n){var c=i._subplots.gl3d||[];for(a=0;a&lt;c.length;a++){var u=i[c[a]];e?s.push(u[e+&quot;axis&quot;]):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+&quot;axis&quot;]:n.xaxis.concat(n.yaxis)},r.getFromId=function(t,e,n){var i=t._fullLayout;return&quot;x&quot;===n?e=e.replace(/y[0-9]*/,&quot;&quot;):&quot;y&quot;===n&amp;&amp;(e=e.replace(/x[0-9]*/,&quot;&quot;)),i[r.id2name(e)]},r.getFromTrace=function(t,e,i){var a=t._fullLayout,o=null;if(n.traceIs(e,&quot;gl3d&quot;)){var s=e.scene;&quot;scene&quot;===s.substr(0,5)&amp;&amp;(o=a[s][i+&quot;axis&quot;])}else o=r.getFromId(t,e[i+&quot;axis&quot;]||i);return o},r.idSort=function(t,e){var r=t.charAt(0),n=e.charAt(0);return r!==n?r&gt;n?1:-1:+(t.substr(1)||1)-+(e.substr(1)||1)}},{&quot;../../registry&quot;:873,&quot;./constants&quot;:794}],793:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t,e,r){if(&quot;category&quot;===e.type){var n,i=t.categoryarray,a=Array.isArray(i)&amp;&amp;i.length&gt;0;a&amp;&amp;(n=&quot;array&quot;);var o=r(&quot;categoryorder&quot;,n);&quot;array&quot;===o&amp;&amp;r(&quot;categoryarray&quot;),a||&quot;array&quot;!==o||(e.categoryorder=&quot;trace&quot;)}}},{}],794:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib&quot;).counterRegex;e.exports={idRegex:{x:n(&quot;x&quot;),y:n(&quot;y&quot;)},attrRegex:n(&quot;[xy]axis&quot;),xAxisMatch:n(&quot;xaxis&quot;),yAxisMatch:n(&quot;yaxis&quot;),AX_ID_PATTERN:/^[xyz][0-9]*$/,AX_NAME_PATTERN:/^[xyz]axis[0-9]*$/,SUBPLOT_PATTERN:/^x([0-9]*)y([0-9]*)$/,MINDRAG:8,MINSELECT:12,MINZOOM:20,DRAGGERSIZE:20,BENDPX:1.5,REDRAWDELAY:50,SELECTDELAY:100,SELECTID:&quot;-select&quot;,DFLTRANGEX:[-1,6],DFLTRANGEY:[-1,4],traceLayerClasses:[&quot;imagelayer&quot;,&quot;maplayer&quot;,&quot;barlayer&quot;,&quot;carpetlayer&quot;,&quot;violinlayer&quot;,&quot;boxlayer&quot;,&quot;scatterlayer&quot;],layerValue2layerClass:{&quot;above traces&quot;:&quot;above&quot;,&quot;below traces&quot;:&quot;below&quot;}}},{&quot;../../lib&quot;:743}],795:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib&quot;),i=t(&quot;./axis_ids&quot;).id2name;e.exports=function(t,e,r,a,o){var s=o._axisConstraintGroups,l=e._id,c=l.charAt(0);if(!e.fixedrange&amp;&amp;(r(&quot;constrain&quot;),n.coerce(t,e,{constraintoward:{valType:&quot;enumerated&quot;,values:&quot;x&quot;===c?[&quot;left&quot;,&quot;center&quot;,&quot;right&quot;]:[&quot;bottom&quot;,&quot;middle&quot;,&quot;top&quot;],dflt:&quot;x&quot;===c?&quot;center&quot;:&quot;middle&quot;}},&quot;constraintoward&quot;),t.scaleanchor)){var u=function(t,e,r,n){var a,o,s,l,c=n[i(e)].type,u=[];for(o=0;o&lt;r.length;o++)(s=r[o])!==e&amp;&amp;((l=n[i(s)]).type!==c||l.fixedrange||u.push(s));for(a=0;a&lt;t.length;a++)if(t[a][e]){var f=t[a],h=[];for(o=0;o&lt;u.length;o++)f[s=u[o]]||h.push(s);return{linkableAxes:h,thisGroup:f}}return{linkableAxes:u,thisGroup:null}}(s,l,a,o),f=n.coerce(t,e,{scaleanchor:{valType:&quot;enumerated&quot;,values:u.linkableAxes}},&quot;scaleanchor&quot;);if(f){var h=r(&quot;scaleratio&quot;);h||(h=e.scaleratio=1),function(t,e,r,n,i){var a,o,s,l,c;null===e?((e={})[r]=1,c=t.length,t.push(e)):c=t.indexOf(e);var u=Object.keys(e);for(a=0;a&lt;t.length;a++)if(s=t[a],a!==c&amp;&amp;s[n]){var f=s[n];for(o=0;o&lt;u.length;o++)s[l=u[o]]=f*i*e[l];return void t.splice(c,1)}if(1!==i)for(o=0;o&lt;u.length;o++)e[u[o]]*=i;e[n]=1}(s,u.thisGroup,l,f,h)}else-1!==a.indexOf(t.scaleanchor)&amp;&amp;n.warn(&quot;ignored &quot;+e._name+'.scaleanchor: &quot;'+t.scaleanchor+'&quot; to avoid either an infinite loop and possibly inconsistent scaleratios, or because the targetaxis has fixed range.')}}},{&quot;../../lib&quot;:743,&quot;./axis_ids&quot;:792}],796:[function(t,e,r){&quot;use strict&quot;;function n(t,e){var r=t._inputDomain,n=s[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]}var i=t(&quot;./axis_ids&quot;).id2name,a=t(&quot;./scale_zoom&quot;),o=t(&quot;../../constants/numerical&quot;).ALMOST_EQUAL,s=t(&quot;../../constants/alignment&quot;).FROM_BL;r.enforce=function(t){var e,r,s,l,c,u,f,h=t._fullLayout,d=h._axisConstraintGroups||[];for(e=0;e&lt;d.length;e++){var p=d[e],m=Object.keys(p),g=1/0,v=0,y=1/0,x={},b={},_=!1;for(r=0;r&lt;m.length;r++)b[s=m[r]]=l=h[i(s)],l._inputDomain?l.domain=l._inputDomain.slice():l._inputDomain=l.domain.slice(),l._inputRange||(l._inputRange=l.range.slice()),l.setScale(),x[s]=c=Math.abs(l._m)/p[s],g=Math.min(g,c),&quot;domain&quot;!==l.constrain&amp;&amp;l._constraintShrinkable||(y=Math.min(y,c)),delete l._constraintShrinkable,v=Math.max(v,c),&quot;domain&quot;===l.constrain&amp;&amp;(_=!0);if(!(g&gt;o*v)||_)for(r=0;r&lt;m.length;r++)if(s=m[r],c=x[s],l=b[s],u=l.constrain,c!==y||&quot;domain&quot;===u)if(f=c/y,&quot;range&quot;===u)a(l,f);else{var w=l._inputDomain,M=(l.domain[1]-l.domain[0])/(w[1]-w[0]),k=(l.r2l(l.range[1])-l.r2l(l.range[0]))/(l.r2l(l._inputRange[1])-l.r2l(l._inputRange[0]));if((f/=M)*k&lt;1){l.domain=l._input.domain=w.slice(),a(l,f);continue}if(k&lt;1&amp;&amp;(l.range=l._input.range=l._inputRange.slice(),f*=k),l.autorange&amp;&amp;l._min.length&amp;&amp;l._max.length){var A=l.r2l(l.range[0]),T=l.r2l(l.range[1]),S=(A+T)/2,E=S,L=S,C=Math.abs(T-S),z=S-C*f*1.0001,D=S+C*f*1.0001;n(l,f),l.setScale();var I,P,O=Math.abs(l._m);for(P=0;P&lt;l._min.length;P++)(I=l._min[P].val-l._min[P].pad/O)&gt;z&amp;&amp;I&lt;E&amp;&amp;(E=I);for(P=0;P&lt;l._max.length;P++)(I=l._max[P].val+l._max[P].pad/O)&lt;D&amp;&amp;I&gt;L&amp;&amp;(L=I);f/=(L-E)/(2*C),E=l.l2r(E),L=l.l2r(L),l.range=l._input.range=A&lt;T?[E,L]:[L,E]}n(l,f)}}},r.clean=function(t,e){if(e._inputDomain){for(var r=!1,n=e._id,i=t._fullLayout._axisConstraintGroups,a=0;a&lt;i.length;a++)if(i[a][n]){r=!0;break}r&amp;&amp;&quot;domain&quot;===e.constrain||(e._input.domain=e.domain=e._inputDomain,delete e._inputDomain)}}},{&quot;../../constants/alignment&quot;:716,&quot;../../constants/numerical&quot;:721,&quot;./axis_ids&quot;:792,&quot;./scale_zoom&quot;:806}],797:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,n){var i=t.draglayer.selectAll(&quot;.&quot;+r).data([0]);return i.enter().append(e).classed(&quot;drag&quot;,!0).classed(r,!0).style({fill:&quot;transparent&quot;,&quot;stroke-width&quot;:0}).attr(&quot;data-subplot&quot;,t.id),i.call(S,n),i.node()}function i(t,e,r,i,a,o,s){var l=n(t,&quot;rect&quot;,e,r);return y.select(l).call(A.setRect,i,a,o,s),l}function a(t,e){for(var r=0;r&lt;t.length;r++)if(!t[r].fixedrange)return e;return&quot;&quot;}function o(t,e,r,n,i){var a,s,l,c;for(a=0;a&lt;t.length;a++)(s=t[a]).fixedrange||(l=s._rl[0],c=s._rl[1]-l,s.range=[s.l2r(l+c*e),s.l2r(l+c*r)],n[s._name+&quot;.range[0]&quot;]=s.range[0],n[s._name+&quot;.range[1]&quot;]=s.range[1]);if(i&amp;&amp;i.length){var u=(e+(1-r))/2;o(i,u,1-u,n)}}function s(t,e){for(var r=0;r&lt;t.length;r++){var n=t[r];n.fixedrange||(n.range=[n.l2r(n._rl[0]-e/n._m),n.l2r(n._rl[1]-e/n._m)])}}function l(t,e,r,n,i){return t.append(&quot;path&quot;).attr(&quot;class&quot;,&quot;zoombox&quot;).style({fill:e&gt;.2?&quot;rgba(0,0,0,0)&quot;:&quot;rgba(255,255,255,0)&quot;,&quot;stroke-width&quot;:0}).attr(&quot;transform&quot;,&quot;translate(&quot;+r+&quot;, &quot;+n+&quot;)&quot;).attr(&quot;d&quot;,i+&quot;Z&quot;)}function c(t,e,r){return t.append(&quot;path&quot;).attr(&quot;class&quot;,&quot;zoombox-corners&quot;).style({fill:k.background,stroke:k.defaultLine,&quot;stroke-width&quot;:1,opacity:0}).attr(&quot;transform&quot;,&quot;translate(&quot;+e+&quot;, &quot;+r+&quot;)&quot;).attr(&quot;d&quot;,&quot;M0,0Z&quot;)}function u(t){t.selectAll(&quot;.select-outline&quot;).remove()}function f(t,e,r,n,i,a){t.attr(&quot;d&quot;,n+&quot;M&quot;+r.l+&quot;,&quot;+r.t+&quot;v&quot;+r.h+&quot;h&quot;+r.w+&quot;v-&quot;+r.h+&quot;h-&quot;+r.w+&quot;Z&quot;),h(t,e,i,a)}function h(t,e,r,n){r||(t.transition().style(&quot;fill&quot;,n&gt;.2?&quot;rgba(0,0,0,0.4)&quot;:&quot;rgba(255,255,255,0.3)&quot;).duration(200),e.transition().style(&quot;opacity&quot;,1).duration(200))}function d(t){y.select(t).selectAll(&quot;.zoombox,.js-zoombox-backdrop,.js-zoombox-menu,.zoombox-corners&quot;).remove()}function p(t){j&amp;&amp;t.data&amp;&amp;t._context.showTips&amp;&amp;(w.notifier(w._(t,&quot;Double-click to zoom back out&quot;),&quot;long&quot;),j=!1)}function m(t){return&quot;lasso&quot;===t||&quot;select&quot;===t}function g(t){var e=Math.floor(Math.min(t.b-t.t,t.r-t.l,R)/2);return&quot;M&quot;+(t.l-3.5)+&quot;,&quot;+(t.t-.5+e)+&quot;h3v&quot;+-e+&quot;h&quot;+e+&quot;v-3h-&quot;+(e+3)+&quot;ZM&quot;+(t.r+3.5)+&quot;,&quot;+(t.t-.5+e)+&quot;h-3v&quot;+-e+&quot;h&quot;+-e+&quot;v-3h&quot;+(e+3)+&quot;ZM&quot;+(t.r+3.5)+&quot;,&quot;+(t.b+.5-e)+&quot;h-3v&quot;+e+&quot;h&quot;+-e+&quot;v3h&quot;+(e+3)+&quot;ZM&quot;+(t.l-3.5)+&quot;,&quot;+(t.b+.5-e)+&quot;h3v&quot;+e+&quot;h&quot;+e+&quot;v3h-&quot;+(e+3)+&quot;Z&quot;}function v(t,e){if(N){var r=void 0!==t.onwheel?&quot;wheel&quot;:&quot;mousewheel&quot;;t._onwheel&amp;&amp;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&amp;&amp;(t.onmousewheel=e)}var y=t(&quot;d3&quot;),x=t(&quot;tinycolor2&quot;),b=t(&quot;../../plotly&quot;),_=t(&quot;../../registry&quot;),w=t(&quot;../../lib&quot;),M=t(&quot;../../lib/svg_text_utils&quot;),k=t(&quot;../../components/color&quot;),A=t(&quot;../../components/drawing&quot;),T=t(&quot;../../components/fx&quot;),S=t(&quot;../../lib/setcursor&quot;),E=t(&quot;../../components/dragelement&quot;),L=t(&quot;../../constants/alignment&quot;).FROM_TL,C=t(&quot;../plots&quot;),z=t(&quot;./axes&quot;).doTicks,D=t(&quot;./axis_ids&quot;).getFromId,I=t(&quot;./select&quot;),P=t(&quot;./scale_zoom&quot;),O=t(&quot;./constants&quot;),F=O.MINDRAG,R=O.MINZOOM,N=w.eventListenerOptionsSupported(),j=!0;e.exports={makeDragBox:function(t,e,r,n,h,k,S,N){function j(){X=[e.xaxis],Z=[e.yaxis];var r=X[0],n=Z[0];Q=r._length,$=n._length;var i=ot._axisConstraintGroups,o=[r._id],s=[n._id];W=[e].concat(S&amp;&amp;N?e.overlays:[]);for(var l=1;l&lt;W.length;l++){var c=W[l].xaxis,u=W[l].yaxis;-1===X.indexOf(c)&amp;&amp;(X.push(c),o.push(c._id)),-1===Z.indexOf(u)&amp;&amp;(Z.push(u),s.push(u._id))}tt=a(X,N),et=a(Z,S),rt=function(t,e){return t?&quot;nsew&quot;===t?&quot;pan&quot;===e?&quot;move&quot;:&quot;crosshair&quot;:t.toLowerCase()+&quot;-resize&quot;:&quot;pointer&quot;}(et+tt,ot.dragmode),J=r._offset,K=n._offset;var f=function(t,e,r){var n,i,a,o,s,l,c=!1,u={},f={};for(n=0;n&lt;t.length;n++){for(o=t[n],i=0;i&lt;e.length;i++)if(o[e[i]]){for(s in o)-1===(&quot;x&quot;===s.charAt(0)?e:r).indexOf(s)&amp;&amp;(u[s]=1);for(a=0;a&lt;r.length;a++)o[r[a]]&amp;&amp;(c=!0)}for(i=0;i&lt;r.length;i++)if(o[r[i]])for(l in o)-1===(&quot;x&quot;===l.charAt(0)?e:r).indexOf(l)&amp;&amp;(f[l]=1)}return c&amp;&amp;(w.extendFlat(u,f),f={}),{x:u,y:f,xy:c}}(i,o,s);nt=f.xy,it=[];for(var h in f.x)it.push(D(t,h));at=[];for(var d in f.y)at.push(D(t,d))}function B(e,r){function n(){xt=&quot;&quot;,mt.r=mt.l,mt.t=mt.b,_t.attr(&quot;d&quot;,&quot;M0,0Z&quot;)}if(t._transitioningWithDuration)return!1;var i=Math.max(0,Math.min(Q,e+dt)),a=Math.max(0,Math.min($,r+pt)),o=Math.abs(i-dt),s=Math.abs(a-pt);mt.l=Math.min(dt,i),mt.r=Math.max(dt,i),mt.t=Math.min(pt,a),mt.b=Math.max(pt,a),nt?o&gt;R||s&gt;R?(xt=&quot;xy&quot;,o/Q&gt;s/$?(s=o*$/Q,pt&gt;a?mt.t=pt-s:mt.b=pt+s):(o=s*Q/$,dt&gt;i?mt.l=dt-o:mt.r=dt+o),_t.attr(&quot;d&quot;,g(mt))):n():!et||s&lt;Math.min(Math.max(.6*o,F),R)?o&lt;F?n():(mt.t=0,mt.b=$,xt=&quot;x&quot;,_t.attr(&quot;d&quot;,function(t,e){return&quot;M&quot;+(t.l-.5)+&quot;,&quot;+(e-R-.5)+&quot;h-3v&quot;+(2*R+1)+&quot;h3ZM&quot;+(t.r+.5)+&quot;,&quot;+(e-R-.5)+&quot;h3v&quot;+(2*R+1)+&quot;h-3Z&quot;}(mt,pt))):!tt||o&lt;Math.min(.6*s,R)?(mt.l=0,mt.r=Q,xt=&quot;y&quot;,_t.attr(&quot;d&quot;,function(t,e){return&quot;M&quot;+(e-R-.5)+&quot;,&quot;+(t.t-.5)+&quot;v-3h&quot;+(2*R+1)+&quot;v3ZM&quot;+(e-R-.5)+&quot;,&quot;+(t.b+.5)+&quot;v3h&quot;+(2*R+1)+&quot;v-3Z&quot;}(mt,dt))):(xt=&quot;xy&quot;,_t.attr(&quot;d&quot;,g(mt))),mt.w=mt.r-mt.l,mt.h=mt.b-mt.t,f(bt,_t,mt,vt,yt,gt),yt=!0}function U(){if(Math.min(mt.h,mt.w)&lt;2*F)return d(t);&quot;xy&quot;!==xt&amp;&amp;&quot;x&quot;!==xt||o(X,mt.l/Q,mt.r/Q,wt,it),&quot;xy&quot;!==xt&amp;&amp;&quot;y&quot;!==xt||o(Z,($-mt.b)/$,($-mt.t)/$,wt,at),d(t),G(),p(t)}function V(e){function r(t,e,r){if(!t.fixedrange){var n=w.simpleMap(t.range,t.r2l),i=n[0]+(n[1]-n[0])*e;t.range=n.map(function(e){return t.l2r(i+(e-i)*r)})}}if(t._context.scrollZoom||ot._enablescrollzoom){if(t._transitioningWithDuration)return w.pauseEvent(e);var n=t.querySelector(&quot;.plotly&quot;);if(j(),!(n.scrollHeight-n.clientHeight&gt;10||n.scrollWidth-n.clientWidth&gt;10)){clearTimeout(kt);var i=-e.deltaY;if(isFinite(i)||(i=e.wheelDelta/10),isFinite(i)){var a,o=Math.exp(-Math.min(Math.max(i,-20),20)/200),s=Tt.draglayer.select(&quot;.nsewdrag&quot;).node().getBoundingClientRect(),l=(e.clientX-s.left)/s.width,c=(s.bottom-e.clientY)/s.height;if(N||nt){for(N||(l=.5),a=0;a&lt;X.length;a++)r(X[a],l,o);Mt[2]*=o,Mt[0]+=Mt[2]*l*(1/o-1)}if(S||nt){for(S||(c=.5),a=0;a&lt;Z.length;a++)r(Z[a],c,o);Mt[3]*=o,Mt[1]+=Mt[3]*(1-c)*(1/o-1)}return Y(Mt),H(S,N),kt=setTimeout(function(){Mt=[0,0,Q,$],G()},At),w.pauseEvent(e)}w.log(&quot;Did not find wheel motion attributes: &quot;,e)}}}function q(e,r){function n(t,e,r){for(var n,i,a=1-e,o=0;o&lt;t.length;o++){var s=t[o];if(!s.fixedrange){n=s,i=s._rl[a]+(s._rl[e]-s._rl[a])/function(t){return 1-(t&gt;=0?Math.min(t,.9):1/(1/Math.max(t,-.3)+3.222))}(r/s._length);var l=s.l2r(i);!1!==l&amp;&amp;void 0!==l&amp;&amp;(s.range[e]=l)}}return n._length*(n._rl[e]-i)/(n._rl[e]-n._rl[a])}if(!t._transitioningWithDuration){if(j(),&quot;ew&quot;===tt||&quot;ns&quot;===et)return tt&amp;&amp;s(X,e),et&amp;&amp;s(Z,r),Y([tt?-e:0,et?-r:0,Q,$]),void H(et,tt);if(nt&amp;&amp;tt&amp;&amp;et){var i=&quot;w&quot;===tt==(&quot;n&quot;===et)?1:-1,a=(e/Q+i*r/$)/2;e=a*Q,r=i*a*$}&quot;w&quot;===tt?e=n(X,0,e):&quot;e&quot;===tt?e=n(X,1,-e):tt||(e=0),&quot;n&quot;===et?r=n(Z,1,r):&quot;s&quot;===et?r=n(Z,0,-r):et||(r=0);var o=&quot;w&quot;===tt?e:0,l=&quot;n&quot;===et?r:0;if(nt){var c;if(!tt&amp;&amp;1===et.length){for(c=0;c&lt;X.length;c++)X[c].range=X[c]._r.slice(),P(X[c],1-r/$);o=(e=r*Q/$)/2}if(!et&amp;&amp;1===tt.length){for(c=0;c&lt;Z.length;c++)Z[c].range=Z[c]._r.slice(),P(Z[c],1-e/Q);l=(r=e*$/Q)/2}}Y([o,l,Q-e,$-r]),H(et,tt)}}function H(e,r){function n(t){for(a=0;a&lt;t.length;a++)t[a].fixedrange||o.push(t[a]._id)}function i(n,i,s){for(a=0;a&lt;n.length;a++){var l=n[a];if((r&amp;&amp;-1!==o.indexOf(l.xref)||e&amp;&amp;-1!==o.indexOf(l.yref))&amp;&amp;(i(t,a),s))return}}var a,o=[];for((r||nt)&amp;&amp;(n(X),n(it)),(e||nt)&amp;&amp;(n(Z),n(at)),wt={},a=0;a&lt;o.length;a++){var s=o[a];z(t,s,!0);var l=D(t,s);wt[l._name+&quot;.range[0]&quot;]=l.range[0],wt[l._name+&quot;.range[1]&quot;]=l.range[1]}i(ot.annotations||[],_.getComponentMethod(&quot;annotations&quot;,&quot;drawOne&quot;)),i(ot.shapes||[],_.getComponentMethod(&quot;shapes&quot;,&quot;drawOne&quot;)),i(ot.images||[],_.getComponentMethod(&quot;images&quot;,&quot;draw&quot;),!0)}function G(){Y([0,0,Q,$]),w.syncOrAsync([C.previousPromises,function(){b.relayout(t,wt)}],t)}function Y(t){function e(t){return t.fixedrange?0:d&amp;&amp;-1!==it.indexOf(t)?f:p&amp;&amp;-1!==(nt?it:at).indexOf(t)?h:0}function r(t,e){return e?(t.range=t._r.slice(),P(t,e),n(t,e)):0}function n(t,e){return t._length*(1-e)*L[t.constraintoward||&quot;middle&quot;]}var i,a,o,s,l,c=ot._plots,u=Object.keys(c),f=t[2]/X[0]._length,h=t[3]/Z[0]._length,d=N||nt,p=S||nt;for(ot._glcanvas&amp;&amp;ot._glcanvas.size()&amp;&amp;ot._glcanvas.each(function(t){t.regl&amp;&amp;t.regl.clear({color:!0})}),i=0;i&lt;u.length;i++){var m=c[u[i]],g=m.xaxis,v=m.yaxis,y=d&amp;&amp;!g.fixedrange&amp;&amp;-1!==X.indexOf(g),x=p&amp;&amp;!v.fixedrange&amp;&amp;-1!==Z.indexOf(v);if(m._scene&amp;&amp;m._scene.update){var b=w.simpleMap(g.range,g.r2l),_=w.simpleMap(v.range,v.r2l);m._scene.update({range:[b[0],_[0],b[1],_[1]]})}if(y?(a=f,s=N?t[0]:n(g,a)):s=r(g,a=e(g)),x?(o=h,l=S?t[1]:n(v,o)):l=r(v,o=e(v)),a||o){a||(a=1),o||(o=1);var M=g._offset-s/a,k=v._offset-l/o;ot._defs.select(&quot;#&quot;+m.clipId+&quot;&gt; rect&quot;).call(A.setTranslate,s,l).call(A.setScale,a,o);var T=m.plot.selectAll(&quot;.scatterlayer .trace, .boxlayer .trace, .violinlayer .trace&quot;);m.plot.call(A.setTranslate,M,k).call(A.setScale,1/a,1/o),T.selectAll(&quot;.point&quot;).call(A.setPointGroupScale,a,o),T.selectAll(&quot;.textpoint&quot;).call(A.setTextPointsScale,a,o),T.call(A.hideOutsideRangePoints,m)}}}var W,X,Z,J,K,Q,$,tt,et,rt,nt,it,at,ot=t._fullLayout,st=t._fullLayout._zoomlayer,lt=S+N===&quot;nsew&quot;,ct=1===(S+N).length;j();var ut=i(e,S+N+&quot;drag&quot;,rt,r,n,h,k),ft=!et&amp;&amp;!tt;if(ft&amp;&amp;!lt)return ut.onmousedown=null,ut.style.pointerEvents=&quot;none&quot;,ut;var ht={element:ut,gd:t,plotinfo:e,prepFn:function(e,r,n){var i=t._fullLayout.dragmode;ft||(lt?e.shiftKey?&quot;pan&quot;===i?i=&quot;zoom&quot;:m(i)||(i=&quot;pan&quot;):e.ctrlKey&amp;&amp;(i=&quot;pan&quot;):i=&quot;pan&quot;),ht.minDrag=&quot;lasso&quot;===i?1:void 0,m(i)?(ht.xaxes=X,ht.yaxes=Z,I(e,r,n,ht,i)):ft?u(st):&quot;zoom&quot;===i?(ht.moveFn=B,ht.doneFn=U,ht.minDrag=1,function(e,r,n){var i=ut.getBoundingClientRect();dt=r-i.left,pt=n-i.top,mt={l:dt,r:dt,w:0,t:pt,b:pt,h:0},gt=t._hmpixcount?t._hmlumcount/t._hmpixcount:x(t._fullLayout.plot_bgcolor).getLuminance(),yt=!1,xt=&quot;xy&quot;,bt=l(st,gt,J,K,vt=&quot;M0,0H&quot;+Q+&quot;V&quot;+$+&quot;H0V0&quot;),_t=c(st,J,K),u(st)}(0,r,n)):&quot;pan&quot;===i&amp;&amp;(ht.moveFn=q,ht.doneFn=G,u(st))},clickFn:function(r,n){if(d(t),2!==r||ct||function(){if(!t._transitioningWithDuration){var e,r,n,i=t._context.doubleClick,a=(tt?X:[]).concat(et?Z:[]),o={};if(&quot;reset+autosize&quot;===i)for(i=&quot;autosize&quot;,r=0;r&lt;a.length;r++)if((e=a[r])._rangeInitial&amp;&amp;(e.range[0]!==e._rangeInitial[0]||e.range[1]!==e._rangeInitial[1])||!e._rangeInitial&amp;&amp;!e.autorange){i=&quot;reset&quot;;break}if(&quot;autosize&quot;===i)for(r=0;r&lt;a.length;r++)(e=a[r]).fixedrange||(o[e._name+&quot;.autorange&quot;]=!0);else if(&quot;reset&quot;===i)for((tt||nt)&amp;&amp;(a=a.concat(it)),et&amp;&amp;!nt&amp;&amp;(a=a.concat(at)),nt&amp;&amp;(tt?et||(a=a.concat(Z)):a=a.concat(X)),r=0;r&lt;a.length;r++)(e=a[r])._rangeInitial?(n=e._rangeInitial,o[e._name+&quot;.range[0]&quot;]=n[0],o[e._name+&quot;.range[1]&quot;]=n[1]):o[e._name+&quot;.autorange&quot;]=!0;t.emit(&quot;plotly_doubleclick&quot;,null),b.relayout(t,o)}}(),lt)T.click(t,n,e.id);else if(1===r&amp;&amp;ct){var i=S?Z[0]:X[0],a=&quot;s&quot;===S||&quot;w&quot;===N?0:1,o=i._name+&quot;.range[&quot;+a+&quot;]&quot;,s=function(t,e){var r,n=t.range[e],i=Math.abs(n-t.range[1-e]);return&quot;date&quot;===t.type?n:&quot;log&quot;===t.type?(r=Math.ceil(Math.max(0,-Math.log(i)/Math.LN10))+3,y.format(&quot;.&quot;+r+&quot;g&quot;)(Math.pow(10,n))):(r=Math.floor(Math.log(Math.abs(n))/Math.LN10)-Math.floor(Math.log(i)/Math.LN10)+4,y.format(&quot;.&quot;+String(r)+&quot;g&quot;)(n))}(i,a),l=&quot;left&quot;,c=&quot;middle&quot;;if(i.fixedrange)return;S?(c=&quot;n&quot;===S?&quot;top&quot;:&quot;bottom&quot;,&quot;right&quot;===i.side&amp;&amp;(l=&quot;right&quot;)):&quot;e&quot;===N&amp;&amp;(l=&quot;right&quot;),t._context.showAxisRangeEntryBoxes&amp;&amp;y.select(ut).call(M.makeEditable,{gd:t,immediate:!0,background:ot.paper_bgcolor,text:String(s),fill:i.tickfont?i.tickfont.color:&quot;#444&quot;,horizontalAlign:l,verticalAlign:c}).on(&quot;edit&quot;,function(e){var r=i.d2r(e);void 0!==r&amp;&amp;b.relayout(t,o,r)})}}};E.init(ht);var dt,pt,mt,gt,vt,yt,xt,bt,_t,wt={},Mt=[0,0,Q,$],kt=null,At=O.REDRAWDELAY,Tt=e.mainplot?ot._plots[e.mainplot]:e;return S.length*N.length!=1&amp;&amp;v(ut,V),ut},makeDragger:n,makeRectDragger:i,makeZoombox:l,makeCorners:c,updateZoombox:f,xyCorners:g,transitionZoombox:h,removeZoombox:d,clearSelect:u,showDoubleClickNotifier:p,attachWheelEventHandler:v}},{&quot;../../components/color&quot;:618,&quot;../../components/dragelement&quot;:640,&quot;../../components/drawing&quot;:643,&quot;../../components/fx&quot;:660,&quot;../../constants/alignment&quot;:716,&quot;../../lib&quot;:743,&quot;../../lib/setcursor&quot;:762,&quot;../../lib/svg_text_utils&quot;:766,&quot;../../plotly&quot;:784,&quot;../../registry&quot;:873,&quot;../plots&quot;:852,&quot;./axes&quot;:789,&quot;./axis_ids&quot;:792,&quot;./constants&quot;:794,&quot;./scale_zoom&quot;:806,&quot;./select&quot;:807,d3:128,tinycolor2:546}],798:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../components/fx&quot;),i=t(&quot;../../components/dragelement&quot;),a=t(&quot;./constants&quot;),o=t(&quot;./dragbox&quot;).makeDragBox;e.exports=function(t){var e=t._fullLayout;if((e._has(&quot;cartesian&quot;)||e._has(&quot;gl2d&quot;))&amp;&amp;!t._context.staticPlot){Object.keys(e._plots||{}).sort(function(t,r){if((e._plots[t].mainplot&amp;&amp;!0)===(e._plots[r].mainplot&amp;&amp;!0)){var n=t.split(&quot;y&quot;),i=r.split(&quot;y&quot;);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 s=e._plots[r],l=s.xaxis,c=s.yaxis,u=a.DRAGGERSIZE;if(!s.mainplot){var f=o(t,s,l._offset,c._offset,l._length,c._length,&quot;ns&quot;,&quot;ew&quot;);f.onmousemove=function(e){t._fullLayout._rehover=function(){t._fullLayout._hoversubplot===r&amp;&amp;n.hover(t,e,r)},n.hover(t,e,r),t._fullLayout._lasthover=f,t._fullLayout._hoversubplot=r},f.onmouseout=function(e){t._dragging||(t._fullLayout._hoversubplot=null,i.unhover(t,e))},t._context.showAxisDragHandles&amp;&amp;(o(t,s,l._offset-u,c._offset-u,u,u,&quot;n&quot;,&quot;w&quot;),o(t,s,l._offset+l._length,c._offset-u,u,u,&quot;n&quot;,&quot;e&quot;),o(t,s,l._offset-u,c._offset+c._length,u,u,&quot;s&quot;,&quot;w&quot;),o(t,s,l._offset+l._length,c._offset+c._length,u,u,&quot;s&quot;,&quot;e&quot;))}if(t._context.showAxisDragHandles){if(r===l._mainSubplot){var h=l._mainLinePosition;&quot;top&quot;===l.side&amp;&amp;(h-=u),o(t,s,l._offset+.1*l._length,h,.8*l._length,u,&quot;&quot;,&quot;ew&quot;),o(t,s,l._offset,h,.1*l._length,u,&quot;&quot;,&quot;w&quot;),o(t,s,l._offset+.9*l._length,h,.1*l._length,u,&quot;&quot;,&quot;e&quot;)}if(r===c._mainSubplot){var d=c._mainLinePosition;&quot;right&quot;!==c.side&amp;&amp;(d-=u),o(t,s,d,c._offset+.1*c._length,u,.8*c._length,&quot;ns&quot;,&quot;&quot;),o(t,s,d,c._offset+.9*c._length,u,.1*c._length,&quot;s&quot;,&quot;&quot;),o(t,s,d,c._offset,u,.1*c._length,&quot;n&quot;,&quot;&quot;)}}});var r=e._hoverlayer.node();r.onmousemove=function(r){r.target=e._lasthover,n.hover(t,r,e._hoversubplot)},r.onclick=function(r){r.target=e._lasthover,n.click(t,r)},r.onmousedown=function(t){e._lasthover.onmousedown(t)}}}},{&quot;../../components/dragelement&quot;:640,&quot;../../components/fx&quot;:660,&quot;./constants&quot;:794,&quot;./dragbox&quot;:797}],799:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../registry&quot;),i=t(&quot;../../lib&quot;);e.exports=function(t){return function(e,r){var a=e[t];if(Array.isArray(a))for(var o=n.subplotsRegistry.cartesian,s=o.idRegex,l=r._subplots,c=l.xaxis,u=l.yaxis,f=l.cartesian,h=r._has(&quot;cartesian&quot;)||r._has(&quot;gl2d&quot;),d=0;d&lt;a.length;d++){var p=a[d];if(i.isPlainObject(p)){var m=p.xref,g=p.yref,v=s.x.test(m),y=s.y.test(g);if(v||y){h||i.pushUnique(r._basePlotModules,o);var x=!1;v&amp;&amp;-1===c.indexOf(m)&amp;&amp;(c.push(m),x=!0),y&amp;&amp;-1===u.indexOf(g)&amp;&amp;(u.push(g),x=!0),x&amp;&amp;v&amp;&amp;y&amp;&amp;f.push(m+g)}}}}}},{&quot;../../lib&quot;:743,&quot;../../registry&quot;:873}],800:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,n,i){var a=t._fullLayout._modules;e.plot&amp;&amp;e.plot.selectAll(&quot;g:not(.scatterlayer)&quot;).selectAll(&quot;g.trace&quot;).remove();for(var o=0;o&lt;a.length;o++){var s=a[o];if(&quot;cartesian&quot;===s.basePlotModule.name){var l=u(r,s);s.plot&amp;&amp;s.plot(t,e,l,n,i)}}}function i(t){var e=t.plotgroup,r=t.id,n=h.layerValue2layerClass[t.xaxis.layer],i=h.layerValue2layerClass[t.yaxis.layer];if(t.mainplot){var a=t.mainplotinfo,s=a.plotgroup,l=r+&quot;-x&quot;,c=r+&quot;-y&quot;;t.gridlayer=a.gridlayer,t.zerolinelayer=a.zerolinelayer,o(a.overlinesBelow,&quot;path&quot;,l),o(a.overlinesBelow,&quot;path&quot;,c),o(a.overaxesBelow,&quot;g&quot;,l),o(a.overaxesBelow,&quot;g&quot;,c),t.plot=o(a.overplot,&quot;g&quot;,r),o(a.overlinesAbove,&quot;path&quot;,l),o(a.overlinesAbove,&quot;path&quot;,c),o(a.overaxesAbove,&quot;g&quot;,l),o(a.overaxesAbove,&quot;g&quot;,c),t.xlines=s.select(&quot;.overlines-&quot;+n).select(&quot;.&quot;+l),t.ylines=s.select(&quot;.overlines-&quot;+i).select(&quot;.&quot;+c),t.xaxislayer=s.select(&quot;.overaxes-&quot;+n).select(&quot;.&quot;+l),t.yaxislayer=s.select(&quot;.overaxes-&quot;+i).select(&quot;.&quot;+c)}else{var u=o(e,&quot;g&quot;,&quot;layer-subplot&quot;);t.shapelayer=o(u,&quot;g&quot;,&quot;shapelayer&quot;),t.imagelayer=o(u,&quot;g&quot;,&quot;imagelayer&quot;),t.gridlayer=o(e,&quot;g&quot;,&quot;gridlayer&quot;),t.zerolinelayer=o(e,&quot;g&quot;,&quot;zerolinelayer&quot;),o(e,&quot;path&quot;,&quot;xlines-below&quot;),o(e,&quot;path&quot;,&quot;ylines-below&quot;),t.overlinesBelow=o(e,&quot;g&quot;,&quot;overlines-below&quot;),o(e,&quot;g&quot;,&quot;xaxislayer-below&quot;),o(e,&quot;g&quot;,&quot;yaxislayer-below&quot;),t.overaxesBelow=o(e,&quot;g&quot;,&quot;overaxes-below&quot;),t.plot=o(e,&quot;g&quot;,&quot;plot&quot;),t.overplot=o(e,&quot;g&quot;,&quot;overplot&quot;),o(e,&quot;path&quot;,&quot;xlines-above&quot;),o(e,&quot;path&quot;,&quot;ylines-above&quot;),t.overlinesAbove=o(e,&quot;g&quot;,&quot;overlines-above&quot;),o(e,&quot;g&quot;,&quot;xaxislayer-above&quot;),o(e,&quot;g&quot;,&quot;yaxislayer-above&quot;),t.overaxesAbove=o(e,&quot;g&quot;,&quot;overaxes-above&quot;),t.xlines=e.select(&quot;.xlines-&quot;+n),t.ylines=e.select(&quot;.ylines-&quot;+i),t.xaxislayer=e.select(&quot;.xaxislayer-&quot;+n),t.yaxislayer=e.select(&quot;.yaxislayer-&quot;+i)}o(t.gridlayer,&quot;g&quot;,t.xaxis._id,t.xaxis._id),o(t.gridlayer,&quot;g&quot;,t.yaxis._id,t.yaxis._id),t.gridlayer.selectAll(&quot;g&quot;).sort(f.idSort);for(var d=0;d&lt;h.traceLayerClasses.length;d++)o(t.plot,&quot;g&quot;,h.traceLayerClasses[d]);t.xlines.style(&quot;fill&quot;,&quot;none&quot;).classed(&quot;crisp&quot;,!0),t.ylines.style(&quot;fill&quot;,&quot;none&quot;).classed(&quot;crisp&quot;,!0)}function a(t,e){if(t){var r={};t.each(function(t){var n=s.select(this),i=&quot;clip&quot;+e._uid+t+&quot;plot&quot;;n.remove(),e._draggers.selectAll(&quot;g.&quot;+t).remove(),e._defs.select(&quot;#&quot;+i).remove(),r[t]=!0});for(var n=e._plots,i=Object.keys(n),a=0;a&lt;i.length;a++)for(var o=n[i[a]].overlays||[],l=0;l&lt;o.length;l++){var c=o[l];r[c.id]&amp;&amp;c.plot.selectAll(&quot;.trace&quot;).remove()}}}function o(t,e,r,n){var i=t.selectAll(&quot;.&quot;+r).data([n||0]);return i.enter().append(e).classed(r,!0),i}var s=t(&quot;d3&quot;),l=t(&quot;../../lib&quot;),c=t(&quot;../plots&quot;),u=t(&quot;../get_data&quot;).getModuleCalcData,f=t(&quot;./axis_ids&quot;),h=t(&quot;./constants&quot;),d=t(&quot;../../constants/xmlns_namespaces&quot;);r.name=&quot;cartesian&quot;,r.attr=[&quot;xaxis&quot;,&quot;yaxis&quot;],r.idRoot=[&quot;x&quot;,&quot;y&quot;],r.idRegex=h.idRegex,r.attrRegex=h.attrRegex,r.attributes=t(&quot;./attributes&quot;),r.layoutAttributes=t(&quot;./layout_attributes&quot;),r.supplyLayoutDefaults=t(&quot;./layout_defaults&quot;),r.transitionAxes=t(&quot;./transition_axes&quot;),r.finalizeSubplots=function(t,e){var r,n,i,a=e._subplots,o=a.xaxis,s=a.yaxis,c=a.cartesian,u=c.concat(a.gl2d||[]),d={},p={};for(r=0;r&lt;u.length;r++){var m=u[r].split(&quot;y&quot;);d[m[0]]=1,p[&quot;y&quot;+m[1]]=1}for(r=0;r&lt;o.length;r++)d[n=o[r]]||(i=(t[f.id2name(n)]||{}).anchor,h.idRegex.y.test(i)||(i=&quot;y&quot;),c.push(n+i),u.push(n+i),p[i]||(p[i]=1,l.pushUnique(s,i)));for(r=0;r&lt;s.length;r++)p[i=s[r]]||(n=(t[f.id2name(i)]||{}).anchor,h.idRegex.x.test(n)||(n=&quot;x&quot;),c.push(n+i),u.push(n+i),d[n]||(d[n]=1,l.pushUnique(o,n)));if(!u.length){var g=Object.keys(t);for(n=&quot;&quot;,i=&quot;&quot;,r=0;r&lt;g.length;r++){var v=g[r];if(h.attrRegex.test(v)){&quot;x&quot;===v.charAt(0)?(!n||+v.substr(5)&lt;+n.substr(5))&amp;&amp;(n=v):(!i||+v.substr(5)&lt;+i.substr(5))&amp;&amp;(i=v)}}n=n?f.name2id(n):&quot;x&quot;,i=i?f.name2id(i):&quot;y&quot;,o.push(n),s.push(i),c.push(n+i)}},r.plot=function(t,e,r,i){var a,o=t._fullLayout,s=o._subplots.cartesian,l=t.calcdata;if(!Array.isArray(e))for(e=[],a=0;a&lt;l.length;a++)e.push(a);for(o._glcanvas&amp;&amp;o._glcanvas.size()&amp;&amp;o._glcanvas.each(function(t){t.regl&amp;&amp;t.regl.clear({color:!0})}),a=0;a&lt;s.length;a++){for(var c,u=s[a],f=o._plots[u],h=[],d=0;d&lt;l.length;d++){var p=l[d],m=p[0].trace;m.xaxis+m.yaxis===u&amp;&amp;((-1!==e.indexOf(m.index)||m.carpet)&amp;&amp;(c&amp;&amp;c[0].trace.xaxis+c[0].trace.yaxis===u&amp;&amp;-1!==[&quot;tonextx&quot;,&quot;tonexty&quot;,&quot;tonext&quot;].indexOf(m.fill)&amp;&amp;-1===h.indexOf(c)&amp;&amp;h.push(c),h.push(p)),c=p)}n(t,f,h,r,i)}},r.clean=function(t,e,r,n){var i,o,s,l,c,u,f,h,d=n._modules||[],p=e._modules||[];for(c=0;c&lt;d.length;c++){&quot;scatter&quot;===d[c].name&amp;&amp;(i=!0);break}for(c=0;c&lt;p.length;c++)if(&quot;scatter&quot;===p[c].name){o=!0;break}for(c=0;c&lt;d.length;c++){&quot;scattergl&quot;===d[c].name&amp;&amp;(s=!0);break}for(c=0;c&lt;p.length;c++)if(&quot;scattergl&quot;===p[c].name){l=!0;break}if(i&amp;&amp;!o){for(u=n._plots,f=Object.keys(u||{}),c=0;c&lt;f.length;c++)(h=u[f[c]]).plot&amp;&amp;h.plot.select(&quot;g.scatterlayer&quot;).selectAll(&quot;g.trace&quot;).remove();n._infolayer.selectAll(&quot;g.rangeslider-container&quot;).select(&quot;g.scatterlayer&quot;).selectAll(&quot;g.trace&quot;).remove()}if(s&amp;&amp;!l)for(u=n._plots,f=Object.keys(u||{}),c=0;c&lt;f.length;c++)(h=u[f[c]])._scene&amp;&amp;h._scene.destroy();var m=n._subplots||{},g=e._subplots||{xaxis:[],yaxis:[]};if(m.xaxis&amp;&amp;m.yaxis){var v=m.xaxis.concat(m.yaxis),y=g.xaxis.concat(g.yaxis);for(c=0;c&lt;v.length;c++)-1===y.indexOf(v[c])&amp;&amp;n._infolayer.selectAll(&quot;.g-&quot;+v[c]+&quot;title&quot;).remove()}var x=n._has&amp;&amp;n._has(&quot;cartesian&quot;),b=e._has&amp;&amp;e._has(&quot;cartesian&quot;);x&amp;&amp;!b&amp;&amp;(a(n._cartesianlayer.selectAll(&quot;.subplot&quot;),n),n._defs.selectAll(&quot;.axesclip&quot;).remove())},r.drawFramework=function(t){var e=t._fullLayout,r=function(t){for(var e=t._fullLayout,r=Object.keys(e._plots),n=[],i=[],a=0;a&lt;r.length;a++){var o=r[a],s=e._plots[o],l=s.xaxis,c=s.yaxis,u=l._mainAxis,f=c._mainAxis,h=u._id+f._id;h!==o&amp;&amp;-1!==r.indexOf(h)?(s.mainplot=h,s.mainplotinfo=e._plots[h],i.push(o)):n.push(o)}return n=n.concat(i)}(t),n=e._cartesianlayer.selectAll(&quot;.subplot&quot;).data(r,l.identity);n.enter().append(&quot;g&quot;).attr(&quot;class&quot;,function(t){return&quot;subplot &quot;+t}),n.order(),n.exit().call(a,e),n.each(function(t){var r=e._plots[t];if(r.plotgroup=s.select(this),r.overlays=[],i(r),r.mainplot){e._plots[r.mainplot].overlays.push(r)}r.draglayer=o(e._draggers,&quot;g&quot;,t)})},r.rangePlot=function(t,e,r){i(e),n(t,e,r),c.style(t)},r.toSVG=function(t){var e=t._fullLayout._glimages,r=s.select(t).selectAll(&quot;.svg-container&quot;);r.filter(function(t,e){return e===r.size()-1}).selectAll(&quot;.gl-canvas-context, .gl-canvas-focus&quot;).each(function(){var t=this.toDataURL(&quot;image/png&quot;);e.append(&quot;svg:image&quot;).attr({xmlns:d.svg,&quot;xlink:href&quot;:t,preserveAspectRatio:&quot;none&quot;,x:0,y:0,width:this.width,height:this.height})})}},{&quot;../../constants/xmlns_namespaces&quot;:723,&quot;../../lib&quot;:743,&quot;../get_data&quot;:826,&quot;../plots&quot;:852,&quot;./attributes&quot;:788,&quot;./axis_ids&quot;:792,&quot;./constants&quot;:794,&quot;./layout_attributes&quot;:801,&quot;./layout_defaults&quot;:802,&quot;./transition_axes&quot;:812,d3:128}],801:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../font_attributes&quot;),i=t(&quot;../../components/color/attributes&quot;),a=t(&quot;../../components/drawing/attributes&quot;).dash,o=t(&quot;../../lib/extend&quot;).extendFlat,s=t(&quot;./constants&quot;);e.exports={visible:{valType:&quot;boolean&quot;,editType:&quot;plot&quot;},color:{valType:&quot;color&quot;,dflt:i.defaultLine,editType:&quot;ticks&quot;},title:{valType:&quot;string&quot;,editType:&quot;ticks&quot;},titlefont:n({editType:&quot;ticks&quot;}),type:{valType:&quot;enumerated&quot;,values:[&quot;-&quot;,&quot;linear&quot;,&quot;log&quot;,&quot;date&quot;,&quot;category&quot;],dflt:&quot;-&quot;,editType:&quot;calc&quot;},autorange:{valType:&quot;enumerated&quot;,values:[!0,!1,&quot;reversed&quot;],dflt:!0,editType:&quot;calc&quot;,impliedEdits:{&quot;range[0]&quot;:void 0,&quot;range[1]&quot;:void 0}},rangemode:{valType:&quot;enumerated&quot;,values:[&quot;normal&quot;,&quot;tozero&quot;,&quot;nonnegative&quot;],dflt:&quot;normal&quot;,editType:&quot;calc&quot;},range:{valType:&quot;info_array&quot;,items:[{valType:&quot;any&quot;,editType:&quot;plot&quot;,impliedEdits:{&quot;^autorange&quot;:!1}},{valType:&quot;any&quot;,editType:&quot;plot&quot;,impliedEdits:{&quot;^autorange&quot;:!1}}],editType:&quot;plot&quot;,impliedEdits:{autorange:!1}},fixedrange:{valType:&quot;boolean&quot;,dflt:!1,editType:&quot;calc&quot;},scaleanchor:{valType:&quot;enumerated&quot;,values:[s.idRegex.x.toString(),s.idRegex.y.toString()],editType:&quot;calc&quot;},scaleratio:{valType:&quot;number&quot;,min:0,dflt:1,editType:&quot;calc&quot;},constrain:{valType:&quot;enumerated&quot;,values:[&quot;range&quot;,&quot;domain&quot;],dflt:&quot;range&quot;,editType:&quot;calc&quot;},constraintoward:{valType:&quot;enumerated&quot;,values:[&quot;left&quot;,&quot;center&quot;,&quot;right&quot;,&quot;top&quot;,&quot;middle&quot;,&quot;bottom&quot;],editType:&quot;calc&quot;},tickmode:{valType:&quot;enumerated&quot;,values:[&quot;auto&quot;,&quot;linear&quot;,&quot;array&quot;],editType:&quot;ticks&quot;,impliedEdits:{tick0:void 0,dtick:void 0}},nticks:{valType:&quot;integer&quot;,min:0,dflt:0,editType:&quot;ticks&quot;},tick0:{valType:&quot;any&quot;,editType:&quot;ticks&quot;,impliedEdits:{tickmode:&quot;linear&quot;}},dtick:{valType:&quot;any&quot;,editType:&quot;ticks&quot;,impliedEdits:{tickmode:&quot;linear&quot;}},tickvals:{valType:&quot;data_array&quot;,editType:&quot;ticks&quot;},ticktext:{valType:&quot;data_array&quot;,editType:&quot;ticks&quot;},ticks:{valType:&quot;enumerated&quot;,values:[&quot;outside&quot;,&quot;inside&quot;,&quot;&quot;],editType:&quot;ticks&quot;},mirror:{valType:&quot;enumerated&quot;,values:[!0,&quot;ticks&quot;,!1,&quot;all&quot;,&quot;allticks&quot;],dflt:!1,editType:&quot;ticks+layoutstyle&quot;},ticklen:{valType:&quot;number&quot;,min:0,dflt:5,editType:&quot;ticks&quot;},tickwidth:{valType:&quot;number&quot;,min:0,dflt:1,editType:&quot;ticks&quot;},tickcolor:{valType:&quot;color&quot;,dflt:i.defaultLine,editType:&quot;ticks&quot;},showticklabels:{valType:&quot;boolean&quot;,dflt:!0,editType:&quot;ticks&quot;},showspikes:{valType:&quot;boolean&quot;,dflt:!1,editType:&quot;modebar&quot;},spikecolor:{valType:&quot;color&quot;,dflt:null,editType:&quot;none&quot;},spikethickness:{valType:&quot;number&quot;,dflt:3,editType:&quot;none&quot;},spikedash:o({},a,{dflt:&quot;dash&quot;,editType:&quot;none&quot;}),spikemode:{valType:&quot;flaglist&quot;,flags:[&quot;toaxis&quot;,&quot;across&quot;,&quot;marker&quot;],dflt:&quot;toaxis&quot;,editType:&quot;none&quot;},spikesnap:{valType:&quot;enumerated&quot;,values:[&quot;data&quot;,&quot;cursor&quot;],dflt:&quot;data&quot;,editType:&quot;none&quot;},tickfont:n({editType:&quot;ticks&quot;}),tickangle:{valType:&quot;angle&quot;,dflt:&quot;auto&quot;,editType:&quot;ticks&quot;},tickprefix:{valType:&quot;string&quot;,dflt:&quot;&quot;,editType:&quot;ticks&quot;},showtickprefix:{valType:&quot;enumerated&quot;,values:[&quot;all&quot;,&quot;first&quot;,&quot;last&quot;,&quot;none&quot;],dflt:&quot;all&quot;,editType:&quot;ticks&quot;},ticksuffix:{valType:&quot;string&quot;,dflt:&quot;&quot;,editType:&quot;ticks&quot;},showticksuffix:{valType:&quot;enumerated&quot;,values:[&quot;all&quot;,&quot;first&quot;,&quot;last&quot;,&quot;none&quot;],dflt:&quot;all&quot;,editType:&quot;ticks&quot;},showexponent:{valType:&quot;enumerated&quot;,values:[&quot;all&quot;,&quot;first&quot;,&quot;last&quot;,&quot;none&quot;],dflt:&quot;all&quot;,editType:&quot;ticks&quot;},exponentformat:{valType:&quot;enumerated&quot;,values:[&quot;none&quot;,&quot;e&quot;,&quot;E&quot;,&quot;power&quot;,&quot;SI&quot;,&quot;B&quot;],dflt:&quot;B&quot;,editType:&quot;ticks&quot;},separatethousands:{valType:&quot;boolean&quot;,dflt:!1,editType:&quot;ticks&quot;},tickformat:{valType:&quot;string&quot;,dflt:&quot;&quot;,editType:&quot;ticks&quot;},tickformatstops:{_isLinkedToArray:&quot;tickformatstop&quot;,dtickrange:{valType:&quot;info_array&quot;,items:[{valType:&quot;any&quot;,editType:&quot;ticks&quot;},{valType:&quot;any&quot;,editType:&quot;ticks&quot;}],editType:&quot;ticks&quot;},value:{valType:&quot;string&quot;,dflt:&quot;&quot;,editType:&quot;ticks&quot;},editType:&quot;ticks&quot;},hoverformat:{valType:&quot;string&quot;,dflt:&quot;&quot;,editType:&quot;none&quot;},showline:{valType:&quot;boolean&quot;,dflt:!1,editType:&quot;layoutstyle&quot;},linecolor:{valType:&quot;color&quot;,dflt:i.defaultLine,editType:&quot;layoutstyle&quot;},linewidth:{valType:&quot;number&quot;,min:0,dflt:1,editType:&quot;ticks+layoutstyle&quot;},showgrid:{valType:&quot;boolean&quot;,editType:&quot;ticks&quot;},gridcolor:{valType:&quot;color&quot;,dflt:i.lightLine,editType:&quot;ticks&quot;},gridwidth:{valType:&quot;number&quot;,min:0,dflt:1,editType:&quot;ticks&quot;},zeroline:{valType:&quot;boolean&quot;,editType:&quot;ticks&quot;},zerolinecolor:{valType:&quot;color&quot;,dflt:i.defaultLine,editType:&quot;ticks&quot;},zerolinewidth:{valType:&quot;number&quot;,dflt:1,editType:&quot;ticks&quot;},anchor:{valType:&quot;enumerated&quot;,values:[&quot;free&quot;,s.idRegex.x.toString(),s.idRegex.y.toString()],editType:&quot;plot&quot;},side:{valType:&quot;enumerated&quot;,values:[&quot;top&quot;,&quot;bottom&quot;,&quot;left&quot;,&quot;right&quot;],editType:&quot;plot&quot;},overlaying:{valType:&quot;enumerated&quot;,values:[&quot;free&quot;,s.idRegex.x.toString(),s.idRegex.y.toString()],editType:&quot;calc&quot;},layer:{valType:&quot;enumerated&quot;,values:[&quot;above traces&quot;,&quot;below traces&quot;],dflt:&quot;above traces&quot;,editType:&quot;plot&quot;},domain:{valType:&quot;info_array&quot;,items:[{valType:&quot;number&quot;,min:0,max:1,editType:&quot;calc&quot;},{valType:&quot;number&quot;,min:0,max:1,editType:&quot;calc&quot;}],dflt:[0,1],editType:&quot;calc&quot;},position:{valType:&quot;number&quot;,min:0,max:1,dflt:0,editType:&quot;plot&quot;},categoryorder:{valType:&quot;enumerated&quot;,values:[&quot;trace&quot;,&quot;category ascending&quot;,&quot;category descending&quot;,&quot;array&quot;],dflt:&quot;trace&quot;,editType:&quot;calc&quot;},categoryarray:{valType:&quot;data_array&quot;,editType:&quot;calc&quot;},editType:&quot;calc&quot;,_deprecated:{autotick:{valType:&quot;boolean&quot;,editType:&quot;ticks&quot;}}}},{&quot;../../components/color/attributes&quot;:617,&quot;../../components/drawing/attributes&quot;:642,&quot;../../lib/extend&quot;:732,&quot;../font_attributes&quot;:816,&quot;./constants&quot;:794}],802:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../registry&quot;),i=t(&quot;../../lib&quot;),a=t(&quot;../../components/color&quot;),o=t(&quot;../layout_attributes&quot;),s=t(&quot;./layout_attributes&quot;),l=t(&quot;./type_defaults&quot;),c=t(&quot;./axis_defaults&quot;),u=t(&quot;./constraint_defaults&quot;),f=t(&quot;./position_defaults&quot;),h=t(&quot;./axis_ids&quot;);e.exports=function(t,e,r){function d(t,e){return i.coerce(P,O,s,t,e)}function p(t,e){return i.coerce2(P,O,s,t,e)}function m(t){return&quot;x&quot;===t?S:T}function g(e,r){for(var n=&quot;x&quot;===e?E:L,i=[],a=0;a&lt;n.length;a++){var o=n[a];o===r||(t[o]||{}).overlaying||i.push(h.name2id(o))}return i}var v,y={},x={},b={},_={};for(v=0;v&lt;r.length;v++){var w=r[v];if(n.traceIs(w,&quot;cartesian&quot;)||n.traceIs(w,&quot;gl2d&quot;)){var M=h.id2name(w.xaxis),k=h.id2name(w.yaxis);if(n.traceIs(w,&quot;carpet&quot;)&amp;&amp;(&quot;carpet&quot;!==w.type||w._cheater)||M&amp;&amp;(x[M]=1),&quot;carpet&quot;===w.type&amp;&amp;w._cheater&amp;&amp;M&amp;&amp;(y[M]=1),n.traceIs(w,&quot;2dMap&quot;)&amp;&amp;(b[M]=!0,b[k]=!0),n.traceIs(w,&quot;oriented&quot;)){_[&quot;h&quot;===w.orientation?k:M]=!0}}}var A=e._subplots,T=A.xaxis,S=A.yaxis,E=i.simpleMap(T,h.id2name),L=i.simpleMap(S,h.id2name),C=E.concat(L),z=a.background;T.length&amp;&amp;S.length&amp;&amp;(z=i.coerce(t,e,o,&quot;plot_bgcolor&quot;));var D,I,P,O,F=a.combine(z,e.paper_bgcolor),R={x:m(&quot;x&quot;),y:m(&quot;y&quot;)};for(v=0;v&lt;C.length;v++){D=C[v],i.isPlainObject(t[D])||(t[D]={}),P=t[D],O=e[D]={},l(P,O,d,r,D);var N=g(I=D.charAt(0),D),j={letter:I,font:e.font,outerTicks:b[D],showGrid:!_[D],data:r,bgColor:F,calendar:e.calendar,cheateronly:&quot;x&quot;===I&amp;&amp;y[D]&amp;&amp;!x[D]};c(P,O,d,j,e);var B=p(&quot;spikecolor&quot;),U=p(&quot;spikethickness&quot;),V=p(&quot;spikedash&quot;),q=p(&quot;spikemode&quot;),H=p(&quot;spikesnap&quot;);d(&quot;showspikes&quot;,!!(B||U||V||q||H))||(delete O.spikecolor,delete O.spikethickness,delete O.spikedash,delete O.spikemode,delete O.spikesnap);var G={letter:I,counterAxes:R[I],overlayableAxes:N};f(P,O,d,G),O._input=P}var Y=n.getComponentMethod(&quot;rangeslider&quot;,&quot;handleDefaults&quot;),W=n.getComponentMethod(&quot;rangeselector&quot;,&quot;handleDefaults&quot;);for(v=0;v&lt;E.length;v++)D=E[v],P=t[D],O=e[D],Y(t,e,D),&quot;date&quot;===O.type&amp;&amp;W(P,O,e,L,O.calendar),d(&quot;fixedrange&quot;);for(v=0;v&lt;L.length;v++){D=L[v],P=t[D],O=e[D];var X=e[h.id2name(O.anchor)];d(&quot;fixedrange&quot;,X&amp;&amp;X.rangeslider&amp;&amp;X.rangeslider.visible)}e._axisConstraintGroups=[];var Z=R.x.concat(R.y);for(v=0;v&lt;C.length;v++)I=(D=C[v]).charAt(0),P=t[D],O=e[D],u(P,O,d,Z,e)}},{&quot;../../components/color&quot;:618,&quot;../../lib&quot;:743,&quot;../../registry&quot;:873,&quot;../layout_attributes&quot;:843,&quot;./axis_defaults&quot;:791,&quot;./axis_ids&quot;:792,&quot;./constraint_defaults&quot;:795,&quot;./layout_attributes&quot;:801,&quot;./position_defaults&quot;:805,&quot;./type_defaults&quot;:813}],803:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;tinycolor2&quot;).mix,i=t(&quot;../../components/color/attributes&quot;).lightFraction,a=t(&quot;../../lib&quot;);e.exports=function(t,e,r,o){function s(r,n){return a.coerce2(t,e,o.attributes,r,n)}var l=(o=o||{}).dfltColor,c=s(&quot;linecolor&quot;,l),u=s(&quot;linewidth&quot;);r(&quot;showline&quot;,o.showLine||!!c||!!u)||(delete e.linecolor,delete e.linewidth);var f=s(&quot;gridcolor&quot;,n(l,o.bgColor,o.blend||i).toRgbString()),h=s(&quot;gridwidth&quot;);if(r(&quot;showgrid&quot;,o.showGrid||!!f||!!h)||(delete e.gridcolor,delete e.gridwidth),!o.noZeroLine){var d=s(&quot;zerolinecolor&quot;,l),p=s(&quot;zerolinewidth&quot;);r(&quot;zeroline&quot;,o.showGrid||!!d||!!p)||(delete e.zerolinecolor,delete e.zerolinewidth)}}},{&quot;../../components/color/attributes&quot;:617,&quot;../../lib&quot;:743,tinycolor2:546}],804:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r){var n,a,o,s,l,c=[],u=r.map(function(e){return e[t]}),f=i.bisector(e).left;for(n=0;n&lt;u.length;n++)for(o=u[n],a=0;a&lt;o.length;a++)null!==(s=o[a])&amp;&amp;void 0!==s&amp;&amp;((l=f(c,s))&lt;c.length&amp;&amp;c[l]===s||c.splice(l,0,s));return c}var i=t(&quot;d3&quot;);e.exports=function(t,e,r,a){switch(e){case&quot;array&quot;:return Array.isArray(r)?r.slice():[];case&quot;category ascending&quot;:return n(t,i.ascending,a);case&quot;category descending&quot;:return n(t,i.descending,a);case&quot;trace&quot;:default:return[]}}},{d3:128}],805:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;fast-isnumeric&quot;),i=t(&quot;../../lib&quot;);e.exports=function(t,e,r,a){var o=a.counterAxes||[],s=a.overlayableAxes||[],l=a.letter;&quot;free&quot;===i.coerce(t,e,{anchor:{valType:&quot;enumerated&quot;,values:[&quot;free&quot;].concat(o),dflt:n(t.position)?&quot;free&quot;:o[0]||&quot;free&quot;}},&quot;anchor&quot;)&amp;&amp;r(&quot;position&quot;),i.coerce(t,e,{side:{valType:&quot;enumerated&quot;,values:&quot;x&quot;===l?[&quot;bottom&quot;,&quot;top&quot;]:[&quot;left&quot;,&quot;right&quot;],dflt:&quot;x&quot;===l?&quot;bottom&quot;:&quot;left&quot;}},&quot;side&quot;);var c=!1;if(s.length&amp;&amp;(c=i.coerce(t,e,{overlaying:{valType:&quot;enumerated&quot;,values:[!1].concat(s),dflt:!1}},&quot;overlaying&quot;)),!c){var u=r(&quot;domain&quot;);u[0]&gt;u[1]-.01&amp;&amp;(e.domain=[0,1]),i.noneOrAll(t.domain,e.domain,[0,1])}return r(&quot;layer&quot;),e}},{&quot;../../lib&quot;:743,&quot;fast-isnumeric&quot;:140}],806:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../constants/alignment&quot;).FROM_BL;e.exports=function(t,e,r){void 0===r&amp;&amp;(r=n[t.constraintoward||&quot;center&quot;]);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)]}},{&quot;../../constants/alignment&quot;:716}],807:[function(t,e,r){&quot;use strict&quot;;function n(t){return t._id}function i(t,e,r){var n,i,a;if(r){var o=r.points||[];for(n=0;n&lt;e.length;n++)(a=e[n].cd[0].trace).selectedpoints=[],a._input.selectedpoints=[];for(n=0;n&lt;o.length;n++){var s=o[n],l=s.data,c=s.fullData;s.pointIndices?([].push.apply(l.selectedpoints,s.pointIndices),[].push.apply(c.selectedpoints,s.pointIndices)):(l.selectedpoints.push(s.pointIndex),c.selectedpoints.push(s.pointIndex))}}else for(n=0;n&lt;e.length;n++)delete(a=e[n].cd[0].trace).selectedpoints,delete a._input.selectedpoints,e[n].cd[0].t&amp;&amp;e[n].cd[0].t.scene&amp;&amp;e[n].cd[0].t.scene.clearSelect();for(n=0;n&lt;e.length;n++)(i=e[n]).style&amp;&amp;i.style(t,i.cd)}var a=t(&quot;polybooljs&quot;),o=t(&quot;../../lib/polygon&quot;),s=t(&quot;../../lib/throttle&quot;),l=t(&quot;../../components/color&quot;),c=t(&quot;../../components/fx/helpers&quot;).makeEventData,u=t(&quot;../../components/fx&quot;),f=t(&quot;./axes&quot;),h=t(&quot;./constants&quot;),d=o.filter,p=o.tester,m=o.multitester,g=h.MINSELECT;e.exports=function(t,e,r,o,v){function y(t){var e=&quot;y&quot;===t._id.charAt(0)?1:0;return function(r){return t.p2d(r[e])}}function x(t,e){return t-e}var b,_,w,M,k=o.gd,A=k._fullLayout,T=A._zoomlayer,S=o.element.getBoundingClientRect(),E=o.plotinfo,L=E.xaxis._offset,C=E.yaxis._offset,z=e-S.left,D=r-S.top,I=z,P=D,O=&quot;M&quot;+z+&quot;,&quot;+D,F=o.xaxes[0]._length,R=o.yaxes[0]._length,N=o.xaxes.map(n),j=o.yaxes.map(n),B=o.xaxes.concat(o.yaxes),U=t.altKey;(t.shiftKey||t.altKey)&amp;&amp;E.selection&amp;&amp;E.selection.polygons&amp;&amp;!o.polygons?(o.polygons=E.selection.polygons,o.mergedPolygons=E.selection.mergedPolygons):(!t.shiftKey&amp;&amp;!t.altKey||(t.shiftKey||t.altKey)&amp;&amp;!E.selection)&amp;&amp;(E.selection={},E.selection.polygons=o.polygons=[],E.selection.mergedPolygons=o.mergedPolygons=[]),&quot;lasso&quot;===v&amp;&amp;(b=d([[z,D]],h.BENDPX));var V=T.selectAll(&quot;path.select-outline-&quot;+E.id).data([1,2]);V.enter().append(&quot;path&quot;).attr(&quot;class&quot;,function(t){return&quot;select-outline select-outline-&quot;+t+&quot; select-outline-&quot;+E.id}).attr(&quot;transform&quot;,&quot;translate(&quot;+L+&quot;, &quot;+C+&quot;)&quot;).attr(&quot;d&quot;,O+&quot;Z&quot;);var q,H,G,Y,W,X=T.append(&quot;path&quot;).attr(&quot;class&quot;,&quot;zoombox-corners&quot;).style({fill:l.background,stroke:l.defaultLine,&quot;stroke-width&quot;:1}).attr(&quot;transform&quot;,&quot;translate(&quot;+L+&quot;, &quot;+C+&quot;)&quot;).attr(&quot;d&quot;,&quot;M0,0Z&quot;),Z=[],J=A._uid+h.SELECTID,K=[];for(q=0;q&lt;k.calcdata.length;q++)if(H=k.calcdata[q],!0===(G=H[0].trace).visible&amp;&amp;G._module&amp;&amp;G._module.selectPoints)if(o.subplot)G.subplot!==o.subplot&amp;&amp;G.geo!==o.subplot||Z.push({selectPoints:G._module.selectPoints,style:G._module.style,cd:H,xaxis:o.xaxes[0],yaxis:o.yaxes[0]});else{if(-1===N.indexOf(G.xaxis))continue;if(-1===j.indexOf(G.yaxis))continue;Z.push({selectPoints:G._module.selectPoints,style:G._module.style,cd:H,xaxis:f.getFromId(k,G.xaxis),yaxis:f.getFromId(k,G.yaxis)})}var Q;Q=E.fillRangeItems?E.fillRangeItems:&quot;select&quot;===v?function(t,e){var r=t.range={};for(q=0;q&lt;B.length;q++){var n=B[q],i=n._id.charAt(0);r[n._id]=[n.p2d(e[i+&quot;min&quot;]),n.p2d(e[i+&quot;max&quot;])].sort(x)}}:function(t,e,r){var n=t.lassoPoints={};for(q=0;q&lt;B.length;q++){var i=B[q];n[i._id]=r.filtered.map(y(i))}},o.moveFn=function(t,e){I=Math.max(0,Math.min(F,t+z)),P=Math.max(0,Math.min(R,e+D));var r=Math.abs(I-z),n=Math.abs(P-D);&quot;select&quot;===v?n&lt;Math.min(.6*r,g)?((M=[[z,0],[z,R],[I,R],[I,0]]).xmin=Math.min(z,I),M.xmax=Math.max(z,I),M.ymin=Math.min(0,R),M.ymax=Math.max(0,R),X.attr(&quot;d&quot;,&quot;M&quot;+M.xmin+&quot;,&quot;+(D-g)+&quot;h-4v&quot;+2*g+&quot;h4ZM&quot;+(M.xmax-1)+&quot;,&quot;+(D-g)+&quot;h4v&quot;+2*g+&quot;h-4Z&quot;)):r&lt;Math.min(.6*n,g)?((M=[[0,D],[0,P],[F,P],[F,D]]).xmin=Math.min(0,F),M.xmax=Math.max(0,F),M.ymin=Math.min(D,P),M.ymax=Math.max(D,P),X.attr(&quot;d&quot;,&quot;M&quot;+(z-g)+&quot;,&quot;+M.ymin+&quot;v-4h&quot;+2*g+&quot;v4ZM&quot;+(z-g)+&quot;,&quot;+(M.ymax-1)+&quot;v4h&quot;+2*g+&quot;v-4Z&quot;)):((M=[[z,D],[z,P],[I,P],[I,D]]).xmin=Math.min(z,I),M.xmax=Math.max(z,I),M.ymin=Math.min(D,P),M.ymax=Math.max(D,P),X.attr(&quot;d&quot;,&quot;M0,0Z&quot;)):&quot;lasso&quot;===v&amp;&amp;(b.addPt([I,P]),M=b.filtered),o.polygons&amp;&amp;o.polygons.length?(w=function(t,e,r){return r?a.difference({regions:t,inverted:!1},{regions:[e],inverted:!1}).regions:a.union({regions:t,inverted:!1},{regions:[e],inverted:!1}).regions}(o.mergedPolygons,M,U),M.subtract=U,_=m(o.polygons.concat([M]))):(w=[M],_=p(M));var l=[];for(q=0;q&lt;w.length;q++){var u=w[q];l.push(u.join(&quot;L&quot;)+&quot;L&quot;+u[0])}V.attr(&quot;d&quot;,&quot;M&quot;+l.join(&quot;M&quot;)+&quot;Z&quot;),s.throttle(J,h.SELECTDELAY,function(){K=[];var t,e,r=[];for(q=0;q&lt;Z.length;q++)if(Y=Z[q],e=Y.selectPoints(Y,_),r.push(e),t=function(t,e){if(Array.isArray(t))for(var r=e.cd,n=e.cd[0].trace,i=0;i&lt;t.length;i++)t[i]=c(t[i],n,r);return t}(e,Y),K.length)for(var n=0;n&lt;t.length;n++)K.push(t[n]);else K=t;i(k,Z,W={points:K}),Q(W,M,b),o.gd.emit(&quot;plotly_selecting&quot;,W)})},o.clickFn=function(t,e){X.remove(),s.done(J).then(function(){if(s.clear(J),2===t){for(V.remove(),q=0;q&lt;Z.length;q++)(Y=Z[q]).selectPoints(Y,!1);i(k,Z),k.emit(&quot;plotly_deselect&quot;,null)}else k.emit(&quot;plotly_selected&quot;,void 0);u.click(k,e)})},o.doneFn=function(){X.remove(),s.done(J).then(function(){s.clear(J),o.gd.emit(&quot;plotly_selected&quot;,W),M&amp;&amp;o.polygons&amp;&amp;(M.subtract=U,o.polygons.push(M),o.mergedPolygons.length=0,[].push.apply(o.mergedPolygons,w))})}}},{&quot;../../components/color&quot;:618,&quot;../../components/fx&quot;:660,&quot;../../components/fx/helpers&quot;:657,&quot;../../lib/polygon&quot;:755,&quot;../../lib/throttle&quot;:767,&quot;./axes&quot;:789,&quot;./constants&quot;:794,polybooljs:479}],808:[function(t,e,r){&quot;use strict&quot;;function n(t){return Math.pow(10,t)}var i=t(&quot;d3&quot;),a=t(&quot;fast-isnumeric&quot;),o=t(&quot;../../lib&quot;),s=o.cleanNumber,l=o.ms2DateTime,c=o.dateTime2ms,u=o.ensureNumber,f=t(&quot;../../constants/numerical&quot;),h=f.FP_SAFE,d=f.BADNUM,p=t(&quot;./constants&quot;),m=t(&quot;./axis_ids&quot;);e.exports=function(t,e){function r(e,r){if(e&gt;0)return Math.log(e)/Math.LN10;if(e&lt;=0&amp;&amp;r&amp;&amp;t.range&amp;&amp;2===t.range.length){var n=t.range[0],i=t.range[1];return.5*(n+i-3*M*Math.abs(n-i))}return d}function f(e,r,n){var i=c(e,n||t.calendar);if(i===d){if(!a(e))return d;i=c(new Date(+e))}return i}function g(e,r,n){return l(e,r,n||t.calendar)}function v(e){return t._categories[Math.round(e)]}function y(e){if(null!==e&amp;&amp;void 0!==e){if(void 0===t._categoriesMap&amp;&amp;(t._categoriesMap={}),void 0!==t._categoriesMap[e])return t._categoriesMap[e];t._categories.push(e);var r=t._categories.length-1;return t._categoriesMap[e]=r,r}return d}function x(e){if(t._categoriesMap){var r=t._categoriesMap[e];if(void 0!==r)return r}if(a(e))return+e}function b(e){return a(e)?i.round(t._b+t._m*e,2):d}function _(e){return(e-t._b)/t._m}e=e||{};var w=(t._id||&quot;x&quot;).charAt(0),M=10;t.c2l=&quot;log&quot;===t.type?r:u,t.l2c=&quot;log&quot;===t.type?n:u,t.l2p=b,t.p2l=_,t.c2p=&quot;log&quot;===t.type?function(t,e){return b(r(t,e))}:b,t.p2c=&quot;log&quot;===t.type?function(t){return n(_(t))}:_,-1!==[&quot;linear&quot;,&quot;-&quot;].indexOf(t.type)?(t.d2r=t.r2d=t.d2c=t.r2c=t.d2l=t.r2l=s,t.c2d=t.c2r=t.l2d=t.l2r=u,t.d2p=t.r2p=function(e){return t.l2p(s(e))},t.p2d=t.p2r=_,t.cleanPos=u):&quot;log&quot;===t.type?(t.d2r=t.d2l=function(t,e){return r(s(t),e)},t.r2d=t.r2c=function(t){return n(s(t))},t.d2c=t.r2l=s,t.c2d=t.l2r=u,t.c2r=r,t.l2d=n,t.d2p=function(e,r){return t.l2p(t.d2r(e,r))},t.p2d=function(t){return n(_(t))},t.r2p=function(e){return t.l2p(s(e))},t.p2r=_,t.cleanPos=u):&quot;date&quot;===t.type?(t.d2r=t.r2d=o.identity,t.d2c=t.r2c=t.d2l=t.r2l=f,t.c2d=t.c2r=t.l2d=t.l2r=g,t.d2p=t.r2p=function(e,r,n){return t.l2p(f(e,0,n))},t.p2d=t.p2r=function(t,e,r){return g(_(t),e,r)},t.cleanPos=function(e){return o.cleanDate(e,d,t.calendar)}):&quot;category&quot;===t.type&amp;&amp;(t.d2c=t.d2l=y,t.r2d=t.c2d=t.l2d=v,t.d2r=t.d2l_noadd=x,t.r2c=function(e){var r=x(e);return void 0!==r?r:t.fraction2r(.5)},t.l2r=t.c2r=u,t.r2l=x,t.d2p=function(e){return t.l2p(t.r2c(e))},t.p2d=function(t){return v(_(t))},t.r2p=t.d2p,t.p2r=_,t.cleanPos=function(t){return&quot;string&quot;==typeof t&amp;&amp;&quot;&quot;!==t?t:u(t)}),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=&quot;range&quot;);var n,i,s=o.nestedProperty(t,e).get();if(i=&quot;date&quot;===t.type?o.dfltRange(t.calendar):&quot;y&quot;===w?p.DFLTRANGEY:r.dfltRange||p.DFLTRANGEX,i=i.slice(),s&amp;&amp;2===s.length)for(&quot;date&quot;===t.type&amp;&amp;(s[0]=o.cleanDate(s[0],d,t.calendar),s[1]=o.cleanDate(s[1],d,t.calendar)),n=0;n&lt;2;n++)if(&quot;date&quot;===t.type){if(!o.isDateTime(s[n],t.calendar)){t[e]=i;break}if(t.r2l(s[0])===t.r2l(s[1])){var l=o.constrain(t.r2l(s[0]),o.MIN_MS+1e3,o.MAX_MS-1e3);s[0]=t.l2r(l-1e3),s[1]=t.l2r(l+1e3);break}}else{if(!a(s[n])){if(!a(s[1-n])){t[e]=i;break}s[n]=s[1-n]*(n?10:.1)}if(s[n]&lt;-h?s[n]=-h:s[n]&gt;h&amp;&amp;(s[n]=h),s[0]===s[1]){var c=Math.max(1,Math.abs(1e-6*s[0]));s[0]-=c,s[1]+=c}}else o.nestedProperty(t,e).set(i)},t.setScale=function(r){var n=e._size;if(t._categories||(t._categories=[]),t._categoriesMap||(t._categoriesMap={}),t.overlaying){var i=m.getFromId({_fullLayout:e},t.overlaying);t.domain=i.domain}var a=r&amp;&amp;t._r?&quot;_r&quot;:&quot;range&quot;,o=t.calendar;t.cleanRange(a);var s=t.r2l(t[a][0],o),l=t.r2l(t[a][1],o);if(&quot;y&quot;===w?(t._offset=n.t+(1-t.domain[1])*n.h,t._length=n.h*(t.domain[1]-t.domain[0]),t._m=t._length/(s-l),t._b=-t._m*l):(t._offset=n.l+t.domain[0]*n.w,t._length=n.w*(t.domain[1]-t.domain[0]),t._m=t._length/(l-s),t._b=-t._m*s),!isFinite(t._m)||!isFinite(t._b))throw e._replotting=!1,new Error(&quot;Something went wrong with axis scaling&quot;)},t.makeCalcdata=function(e,r){var n,i,a,o=&quot;date&quot;===t.type&amp;&amp;e[r+&quot;calendar&quot;];if(r in e)for(n=e[r],i=new Array(n.length),a=0;a&lt;n.length;a++)i[a]=t.d2c(n[a],0,o);else{var s=r+&quot;0&quot;in e?t.d2c(e[r+&quot;0&quot;],0,o):0,l=e[&quot;d&quot;+r]?Number(e[&quot;d&quot;+r]):1;for(n=e[{x:&quot;y&quot;,y:&quot;x&quot;}[r]],i=new Array(n.length),a=0;a&lt;n.length;a++)i[a]=s+a*l}return i},t.isValidRange=function(e){return Array.isArray(e)&amp;&amp;2===e.length&amp;&amp;a(t.r2l(e[0]))&amp;&amp;a(t.r2l(e[1]))},t.isPtWithinRange=function(e,r){var n=t.c2l(e[w],null,r);return n&gt;=t.r2l(t.range[0])&amp;&amp;n&lt;=t.r2l(t.range[1])},t._min=[],t._max=[];var k=e._d3locale;&quot;date&quot;===t.type&amp;&amp;(t._dateFormat=k?k.timeFormat.utc:i.time.format.utc),t._separators=e.separators,t._numFormat=k?k.numberFormat:i.format,delete t._minDtick,delete t._forceTick0}},{&quot;../../constants/numerical&quot;:721,&quot;../../lib&quot;:743,&quot;./axis_ids&quot;:792,&quot;./constants&quot;:794,d3:128,&quot;fast-isnumeric&quot;:140}],809:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib&quot;),i=t(&quot;./layout_attributes&quot;);e.exports=function(t,e,r,a,o){var s=function(t){var e=[&quot;showexponent&quot;,&quot;showtickprefix&quot;,&quot;showticksuffix&quot;].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]]}(t);r(&quot;tickprefix&quot;)&amp;&amp;r(&quot;showtickprefix&quot;,s);r(&quot;ticksuffix&quot;,o.tickSuffixDflt)&amp;&amp;r(&quot;showticksuffix&quot;,s);if(r(&quot;showticklabels&quot;)){var l=o.font||{},c=e.color===t.color?e.color:l.color;if(n.coerceFont(r,&quot;tickfont&quot;,{family:l.family,size:l.size,color:c}),r(&quot;tickangle&quot;),&quot;category&quot;!==a){var u=r(&quot;tickformat&quot;);!function(t,e){function r(t,e){return n.coerce(s,l,i.tickformatstops,t,e)}var a=t.tickformatstops,o=e.tickformatstops=[];if(Array.isArray(a))for(var s,l,c=0;c&lt;a.length;c++)s=a[c],l={},r(&quot;dtickrange&quot;),r(&quot;value&quot;),o.push(l)}(t,e),u||&quot;date&quot;===a||(r(&quot;showexponent&quot;,s),r(&quot;exponentformat&quot;),r(&quot;separatethousands&quot;))}}&quot;category&quot;===a||o.noHover||r(&quot;hoverformat&quot;)}},{&quot;../../lib&quot;:743,&quot;./layout_attributes&quot;:801}],810:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib&quot;),i=t(&quot;./layout_attributes&quot;);e.exports=function(t,e,r,a){var o=n.coerce2(t,e,i,&quot;ticklen&quot;),s=n.coerce2(t,e,i,&quot;tickwidth&quot;),l=n.coerce2(t,e,i,&quot;tickcolor&quot;,e.color);r(&quot;ticks&quot;,a.outerTicks||o||s||l?&quot;outside&quot;:&quot;&quot;)||(delete e.ticklen,delete e.tickwidth,delete e.tickcolor)}},{&quot;../../lib&quot;:743,&quot;./layout_attributes&quot;:801}],811:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;fast-isnumeric&quot;),i=t(&quot;../../lib&quot;),a=t(&quot;../../constants/numerical&quot;).ONEDAY;e.exports=function(t,e,r,o){var s=&quot;auto&quot;;&quot;array&quot;!==t.tickmode||&quot;log&quot;!==o&amp;&amp;&quot;date&quot;!==o||(t.tickmode=&quot;auto&quot;),Array.isArray(t.tickvals)?s=&quot;array&quot;:t.dtick&amp;&amp;(s=&quot;linear&quot;);var l=r(&quot;tickmode&quot;,s);if(&quot;auto&quot;===l)r(&quot;nticks&quot;);else if(&quot;linear&quot;===l){var c=&quot;date&quot;===o?a:1,u=r(&quot;dtick&quot;,c);if(n(u))e.dtick=u&gt;0?Number(u):c;else if(&quot;string&quot;!=typeof u)e.dtick=c;else{var f=u.charAt(0),h=u.substr(1);((h=n(h)?Number(h):0)&lt;=0||!(&quot;date&quot;===o&amp;&amp;&quot;M&quot;===f&amp;&amp;h===Math.round(h)||&quot;log&quot;===o&amp;&amp;&quot;L&quot;===f||&quot;log&quot;===o&amp;&amp;&quot;D&quot;===f&amp;&amp;(1===h||2===h)))&amp;&amp;(e.dtick=c)}var d=&quot;date&quot;===o?i.dateTick0(e.calendar):0,p=r(&quot;tick0&quot;,d);&quot;date&quot;===o?e.tick0=i.cleanDate(p,d):n(p)&amp;&amp;&quot;D1&quot;!==u&amp;&amp;&quot;D2&quot;!==u?e.tick0=Number(p):e.tick0=d}else{void 0===r(&quot;tickvals&quot;)?e.tickmode=&quot;auto&quot;:r(&quot;ticktext&quot;)}}},{&quot;../../constants/numerical&quot;:721,&quot;../../lib&quot;:743,&quot;fast-isnumeric&quot;:140}],812:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;d3&quot;),i=t(&quot;../../plotly&quot;),a=t(&quot;../../registry&quot;),o=t(&quot;../../components/drawing&quot;),s=t(&quot;./axes&quot;),l=t(&quot;./constants&quot;).attrRegex;e.exports=function(t,e,r,c){function u(t){var e=t.xaxis,r=t.yaxis;d._defs.select(&quot;#&quot;+t.clipId+&quot;&gt; rect&quot;).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(&quot;.scatterlayer .trace&quot;);n.selectAll(&quot;.point&quot;).call(o.setPointGroupScale,1,1),n.selectAll(&quot;.textpoint&quot;).call(o.setTextPointsScale,1,1),n.call(o.hideOutsideRangePoints,t)}function f(e,r){var n,i,l,c=m[e.xaxis._id],u=m[e.yaxis._id],f=[];if(c){i=(n=t._fullLayout[c.axisName])._r,l=c.to,f[0]=(i[0]*(1-r)+r*l[0]-i[0])/(i[1]-i[0])*e.xaxis._length;var h=i[1]-i[0],p=l[1]-l[0];n.range[0]=i[0]*(1-r)+r*l[0],n.range[1]=i[1]*(1-r)+r*l[1],f[2]=e.xaxis._length*(1-r+r*p/h)}else f[0]=0,f[2]=e.xaxis._length;if(u){i=(n=t._fullLayout[u.axisName])._r,l=u.to,f[1]=(i[1]*(1-r)+r*l[1]-i[1])/(i[0]-i[1])*e.yaxis._length;var g=i[1]-i[0],v=l[1]-l[0];n.range[0]=i[0]*(1-r)+r*l[0],n.range[1]=i[1]*(1-r)+r*l[1],f[3]=e.yaxis._length*(1-r+r*v/g)}else f[1]=0,f[3]=e.yaxis._length;!function(e,r){function n(e,r,n){for(i=0;i&lt;e.length;i++){var a=e[i];if(-1===o.indexOf(a.xref)&amp;&amp;-1===o.indexOf(a.yref)||r(t,i),n)return}}var i,o=[];for(o=[e._id,r._id],i=0;i&lt;o.length;i++)s.doTicks(t,o[i],!0);n(d.annotations||[],a.getComponentMethod(&quot;annotations&quot;,&quot;drawOne&quot;)),n(d.shapes||[],a.getComponentMethod(&quot;shapes&quot;,&quot;drawOne&quot;)),n(d.images||[],a.getComponentMethod(&quot;images&quot;,&quot;draw&quot;),!0)}(e.xaxis,e.yaxis);var y=e.xaxis,x=e.yaxis,b=!!c,_=!!u,w=b?y._length/f[2]:1,M=_?x._length/f[3]:1,k=b?f[0]:0,A=_?f[1]:0,T=b?f[0]/f[2]*y._length:0,S=_?f[1]/f[3]*x._length:0,E=y._offset-T,L=x._offset-S;d._defs.select(&quot;#&quot;+e.clipId+&quot;&gt; rect&quot;).call(o.setTranslate,k,A).call(o.setScale,1/w,1/M),e.plot.call(o.setTranslate,E,L).call(o.setScale,w,M).selectAll(&quot;.points&quot;).selectAll(&quot;.point&quot;).call(o.setPointGroupScale,1/w,1/M),e.plot.selectAll(&quot;.points&quot;).selectAll(&quot;.textpoint&quot;).call(o.setTextPointsScale,1/w,1/M)}function h(){b=Date.now();for(var e=Math.min(1,(b-x)/r.duration),n=w(e),a=0;a&lt;v.length;a++)f(v[a],n);b-x&gt;r.duration?(!function(){for(var e={},r=0;r&lt;g.length;r++){var n=t._fullLayout[m[g[r]].axisName],a=m[g[r]].to;e[n._name+&quot;.range[0]&quot;]=a[0],e[n._name+&quot;.range[1]&quot;]=a[1],n.range=a.slice()}y&amp;&amp;y(),i.relayout(t,e).then(function(){for(var t=0;t&lt;v.length;t++)u(v[t])})}(),_=window.cancelAnimationFrame(h)):_=window.requestAnimationFrame(h)}var d=t._fullLayout,p=[],m=function(t){var e,r,n,i,a={};for(e in t)if((r=e.split(&quot;.&quot;))[0].match(l)){var o=e.charAt(0),s=r[0];if(n=d[s],i={},Array.isArray(t[e])?i.to=t[e].slice(0):Array.isArray(t[e].range)&amp;&amp;(i.to=t[e].range.slice(0)),!i.to)continue;i.axisName=s,i.length=n._length,p.push(o),a[o]=i}return a}(e),g=Object.keys(m),v=function(t,e,r){var n,i,a,o=t._plots,s=[];for(n in o){var l=o[n];if(-1===s.indexOf(l)){var c=l.xaxis._id,u=l.yaxis._id,f=l.xaxis.range,h=l.yaxis.range;l.xaxis._r=l.xaxis.range.slice(),l.yaxis._r=l.yaxis.range.slice(),i=r[c]?r[c].to:f,a=r[u]?r[u].to:h,f[0]===i[0]&amp;&amp;f[1]===i[1]&amp;&amp;h[0]===a[0]&amp;&amp;h[1]===a[1]||-1===e.indexOf(c)&amp;&amp;-1===e.indexOf(u)||s.push(l)}}return s}(d,g,m);if(!v.length)return function(){function e(e,r,n){for(var i=0;i&lt;e.length;i++)if(r(t,i),n)return}e(d.annotations||[],a.getComponentMethod(&quot;annotations&quot;,&quot;drawOne&quot;)),e(d.shapes||[],a.getComponentMethod(&quot;shapes&quot;,&quot;drawOne&quot;)),e(d.images||[],a.getComponentMethod(&quot;images&quot;,&quot;draw&quot;),!0)}(),!1;var y;c&amp;&amp;(y=c());var x,b,_,w=n.ease(r.easing);return t._transitionData._interruptCallbacks.push(function(){return window.cancelAnimationFrame(_),_=null,function(){for(var e={},r=0;r&lt;g.length;r++){var n=t._fullLayout[g[r]+&quot;axis&quot;];e[n._name+&quot;.range[0]&quot;]=n.range[0],e[n._name+&quot;.range[1]&quot;]=n.range[1],n.range=n._r.slice()}return i.relayout(t,e).then(function(){for(var t=0;t&lt;v.length;t++)u(v[t])})}()}),x=Date.now(),_=window.requestAnimationFrame(h),Promise.resolve()}},{&quot;../../components/drawing&quot;:643,&quot;../../plotly&quot;:784,&quot;../../registry&quot;:873,&quot;./axes&quot;:789,&quot;./constants&quot;:794,d3:128}],813:[function(t,e,r){&quot;use strict&quot;;function n(t,e){if(&quot;-&quot;===t.type){var r=t._id,n=r.charAt(0);-1!==r.indexOf(&quot;scene&quot;)&amp;&amp;(r=n);var l=function(t,e,r){for(var n=0;n&lt;t.length;n++){var i=t[n];if((i[r+&quot;axis&quot;]||r)===e){if(a(i,r))return i;if((i[r]||[]).length||i[r+&quot;0&quot;])return i}}}(e,r,n);if(l)if(&quot;histogram&quot;!==l.type||n!=={v:&quot;y&quot;,h:&quot;x&quot;}[l.orientation||&quot;v&quot;]){var c=n+&quot;calendar&quot;,u=l[c];if(a(l,n)){for(var f,h=i(l),d=[],p=0;p&lt;e.length;p++)f=e[p],o.traceIs(f,&quot;box-violin&quot;)&amp;&amp;(f[n+&quot;axis&quot;]||n)===r&amp;&amp;(void 0!==f[h]?d.push(f[h][0]):void 0!==f.name?d.push(f.name):d.push(&quot;text&quot;),f[c]!==u&amp;&amp;(u=void 0));t.type=s(d,u)}else t.type=s(l[n]||[l[n+&quot;0&quot;]],u)}else t.type=&quot;linear&quot;}}function i(t){return{v:&quot;x&quot;,h:&quot;y&quot;}[t.orientation||&quot;v&quot;]}function a(t,e){var r=i(t),n=o.traceIs(t,&quot;box-violin&quot;),a=o.traceIs(t._fullInput||{},&quot;candlestick&quot;);return n&amp;&amp;!a&amp;&amp;e===r&amp;&amp;void 0===t[r]&amp;&amp;void 0===t[r+&quot;0&quot;]}var o=t(&quot;../../registry&quot;),s=t(&quot;./axis_autotype&quot;),l=t(&quot;./axis_ids&quot;).name2id;e.exports=function(t,e,r,i,a){a&amp;&amp;(e._name=a,e._id=l(a));&quot;-&quot;===r(&quot;type&quot;)&amp;&amp;(n(e,i),&quot;-&quot;===e.type?e.type=&quot;linear&quot;:t.type=e.type)}},{&quot;../../registry&quot;:873,&quot;./axis_autotype&quot;:790,&quot;./axis_ids&quot;:792}],814:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r){var n,i,a,o=!1;if(&quot;data&quot;===e.type)n=t._fullData[null!==e.traces?e.traces[0]:0];else{if(&quot;layout&quot;!==e.type)return!1;n=t._fullLayout}return i=l.nestedProperty(n,e.prop).get(),(a=r[e.type]=r[e.type]||{}).hasOwnProperty(e.prop)&amp;&amp;a[e.prop]!==i&amp;&amp;(o=!0),a[e.prop]=i,{changed:o,value:i}}function i(t,e){var r=[],n=e[0],i={};if(&quot;string&quot;==typeof n)i[n]=e[1];else{if(!l.isPlainObject(n))return r;i=n}return o(i,function(t,e,n){r.push({type:&quot;layout&quot;,prop:t,value:n})},&quot;&quot;,0),r}function a(t,e){var r,n,i,a,s=[];if(n=e[0],i=e[1],r=e[2],a={},&quot;string&quot;==typeof n)a[n]=i;else{if(!l.isPlainObject(n))return s;a=n,void 0===r&amp;&amp;(r=i)}return void 0===r&amp;&amp;(r=null),o(a,function(e,n,i){var a;if(Array.isArray(i)){var o=Math.min(i.length,t.data.length);r&amp;&amp;(o=Math.min(o,r.length)),a=[];for(var l=0;l&lt;o;l++)a[l]=r?r[l]:l}else a=r?r.slice(0):null;if(null===a)Array.isArray(i)&amp;&amp;(i=i[0]);else if(Array.isArray(a)){if(!Array.isArray(i)){var c=i;i=[];for(var u=0;u&lt;a.length;u++)i[u]=c}i.length=Math.min(a.length,i.length)}s.push({type:&quot;data&quot;,prop:e,traces:a,value:i})},&quot;&quot;,0),s}function o(t,e,r,n){Object.keys(t).forEach(function(i){var a=t[i];if(&quot;_&quot;!==i[0]){var s=r+(n&gt;0?&quot;.&quot;:&quot;&quot;)+i;l.isPlainObject(a)?o(a,e,s,n+1):e(s,i,a)}})}var s=t(&quot;../plotly&quot;),l=t(&quot;../lib&quot;);r.manageCommandObserver=function(t,e,i,a){var o={},s=!0;e&amp;&amp;e._commandObserver&amp;&amp;(o=e._commandObserver),o.cache||(o.cache={}),o.lookupTable={};var c=r.hasSimpleAPICommandBindings(t,i,o.lookupTable);if(e&amp;&amp;e._commandObserver){if(c)return o;if(e._commandObserver.remove)return e._commandObserver.remove(),e._commandObserver=null,o}if(c){n(t,c,o.cache),o.check=function(){if(s){var e=n(t,c,o.cache);return e.changed&amp;&amp;a&amp;&amp;void 0!==o.lookupTable[e.value]&amp;&amp;(o.disable(),Promise.resolve(a({value:e.value,type:c.type,prop:c.prop,traces:c.traces,index:o.lookupTable[e.value]})).then(o.enable,o.enable)),e.changed}};for(var u=[&quot;plotly_relayout&quot;,&quot;plotly_redraw&quot;,&quot;plotly_restyle&quot;,&quot;plotly_update&quot;,&quot;plotly_animatingframe&quot;,&quot;plotly_afterplot&quot;],f=0;f&lt;u.length;f++)t._internalOn(u[f],o.check);o.remove=function(){for(var e=0;e&lt;u.length;e++)t._removeInternalListener(u[e],o.check)}}else l.log(&quot;Unable to automatically bind plot updates to API command&quot;),o.lookupTable={},o.remove=function(){};return o.disable=function(){s=!1},o.enable=function(){s=!0},e&amp;&amp;(e._commandObserver=o),o},r.hasSimpleAPICommandBindings=function(t,e,n){var i,a,o=e.length;for(i=0;i&lt;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&lt;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)&amp;&amp;a.traces.sort();var d=(s=f[0]).value;if(Array.isArray(d)){if(1!==d.length)return!1;d=d[0]}n&amp;&amp;(n[d]=i)}return a},r.executeAPICommand=function(t,e,r){if(&quot;skip&quot;===e)return Promise.resolve();var n=s[e],i=[t];Array.isArray(r)||(r=[]);for(var a=0;a&lt;r.length;a++)i.push(r[a]);return n.apply(null,i).catch(function(t){return l.warn(&quot;API call to Plotly.&quot;+e+&quot; rejected.&quot;,t),Promise.reject(t)})},r.computeAPICommandBindings=function(t,e,r){var n;switch(Array.isArray(r)||(r=[]),e){case&quot;restyle&quot;:n=a(t,r);break;case&quot;relayout&quot;:n=i(0,r);break;case&quot;update&quot;:n=a(t,[r[0],r[2]]).concat(i(0,[r[1]]));break;case&quot;animate&quot;:n=function(t,e){return Array.isArray(e[0])&amp;&amp;1===e[0].length&amp;&amp;-1!==[&quot;string&quot;,&quot;number&quot;].indexOf(typeof e[0][0])?[{type:&quot;layout&quot;,prop:&quot;_currentFrame&quot;,value:e[0][0].toString()}]:[]}(0,r);break;default:n=[]}return n}},{&quot;../lib&quot;:743,&quot;../plotly&quot;:784}],815:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../lib/extend&quot;).extendFlat;e.exports=function(t,e){t=t||{},e=e||{};var r={valType:&quot;info_array&quot;,editType:t.editType,items:[{valType:&quot;number&quot;,min:0,max:1},{valType:&quot;number&quot;,min:0,max:1}],dflt:[0,1]};t.name&amp;&amp;t.name,t.trace,e.description&amp;&amp;e.description;return{x:n({},r,{}),y:n({},r,{}),editType:t.editType}}},{&quot;../lib/extend&quot;:732}],816:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t){var e=t.editType,r=t.colorEditType;void 0===r&amp;&amp;(r=e);var n={family:{valType:&quot;string&quot;,noBlank:!0,strict:!0,editType:e},size:{valType:&quot;number&quot;,min:1,editType:e},color:{valType:&quot;color&quot;,editType:r},editType:e};return t.arrayOk&amp;&amp;(n.family.arrayOk=!0,n.size.arrayOk=!0,n.color.arrayOk=!0),n}},{}],817:[function(t,e,r){&quot;use strict&quot;;e.exports={_isLinkedToArray:&quot;frames_entry&quot;,group:{valType:&quot;string&quot;},name:{valType:&quot;string&quot;},traces:{valType:&quot;any&quot;},baseframe:{valType:&quot;string&quot;},data:{valType:&quot;any&quot;},layout:{valType:&quot;any&quot;}}},{}],818:[function(t,e,r){&quot;use strict&quot;;r.projNames={equirectangular:&quot;equirectangular&quot;,mercator:&quot;mercator&quot;,orthographic:&quot;orthographic&quot;,&quot;natural earth&quot;:&quot;naturalEarth&quot;,kavrayskiy7:&quot;kavrayskiy7&quot;,miller:&quot;miller&quot;,robinson:&quot;robinson&quot;,eckert4:&quot;eckert4&quot;,&quot;azimuthal equal area&quot;:&quot;azimuthalEqualArea&quot;,&quot;azimuthal equidistant&quot;:&quot;azimuthalEquidistant&quot;,&quot;conic equal area&quot;:&quot;conicEqualArea&quot;,&quot;conic conformal&quot;:&quot;conicConformal&quot;,&quot;conic equidistant&quot;:&quot;conicEquidistant&quot;,gnomonic:&quot;gnomonic&quot;,stereographic:&quot;stereographic&quot;,mollweide:&quot;mollweide&quot;,hammer:&quot;hammer&quot;,&quot;transverse mercator&quot;:&quot;transverseMercator&quot;,&quot;albers usa&quot;:&quot;albersUsa&quot;,&quot;winkel tripel&quot;:&quot;winkel3&quot;,aitoff:&quot;aitoff&quot;,sinusoidal:&quot;sinusoidal&quot;},r.axesNames=[&quot;lonaxis&quot;,&quot;lataxis&quot;],r.lonaxisSpan={orthographic:180,&quot;azimuthal equal area&quot;:360,&quot;azimuthal equidistant&quot;:360,&quot;conic conformal&quot;:180,gnomonic:160,stereographic:180,&quot;transverse mercator&quot;:180,&quot;*&quot;:360},r.lataxisSpan={&quot;conic conformal&quot;:150,stereographic:179.5,&quot;*&quot;:180},r.scopeDefaults={world:{lonaxisRange:[-180,180],lataxisRange:[-90,90],projType:&quot;equirectangular&quot;,projRotate:[0,0,0]},usa:{lonaxisRange:[-180,-50],lataxisRange:[15,80],projType:&quot;albers usa&quot;},europe:{lonaxisRange:[-30,60],lataxisRange:[30,85],projType:&quot;conic conformal&quot;,projRotate:[15,0,0],projParallels:[0,60]},asia:{lonaxisRange:[22,160],lataxisRange:[-15,55],projType:&quot;mercator&quot;,projRotate:[0,0,0]},africa:{lonaxisRange:[-30,60],lataxisRange:[-40,40],projType:&quot;mercator&quot;,projRotate:[0,0,0]},&quot;north america&quot;:{lonaxisRange:[-180,-45],lataxisRange:[5,85],projType:&quot;conic conformal&quot;,projRotate:[-100,0,0],projParallels:[29.5,45.5]},&quot;south america&quot;:{lonaxisRange:[-100,-30],lataxisRange:[-60,15],projType:&quot;mercator&quot;,projRotate:[0,0,0]}},r.clipPad=.001,r.precision=.1,r.landColor=&quot;#F0DC82&quot;,r.waterColor=&quot;#3399FF&quot;,r.locationmodeToLayer={&quot;ISO-3&quot;:&quot;countries&quot;,&quot;USA-states&quot;:&quot;subunits&quot;,&quot;country names&quot;:&quot;countries&quot;},r.sphereSVG={type:&quot;Sphere&quot;},r.fillLayers={ocean:1,land:1,lakes:1},r.lineLayers={subunits:1,countries:1,coastlines:1,rivers:1,frame:1},r.layers=[&quot;bg&quot;,&quot;ocean&quot;,&quot;land&quot;,&quot;lakes&quot;,&quot;subunits&quot;,&quot;countries&quot;,&quot;coastlines&quot;,&quot;rivers&quot;,&quot;lataxis&quot;,&quot;lonaxis&quot;,&quot;frame&quot;,&quot;backplot&quot;,&quot;frontplot&quot;],r.layersForChoropleth=[&quot;bg&quot;,&quot;ocean&quot;,&quot;land&quot;,&quot;subunits&quot;,&quot;countries&quot;,&quot;coastlines&quot;,&quot;lataxis&quot;,&quot;lonaxis&quot;,&quot;frame&quot;,&quot;backplot&quot;,&quot;rivers&quot;,&quot;lakes&quot;,&quot;frontplot&quot;],r.layerNameToAdjective={ocean:&quot;ocean&quot;,land:&quot;land&quot;,lakes:&quot;lake&quot;,subunits:&quot;subunit&quot;,countries:&quot;country&quot;,coastlines:&quot;coastline&quot;,rivers:&quot;river&quot;,frame:&quot;frame&quot;}},{}],819:[function(t,e,r){&quot;use strict&quot;;function n(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.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 i=t(&quot;d3&quot;),a=t(&quot;../../plotly&quot;),o=t(&quot;../../lib&quot;),s=t(&quot;../../components/color&quot;),l=t(&quot;../../components/drawing&quot;),c=t(&quot;../../components/fx&quot;),u=t(&quot;../plots&quot;),f=t(&quot;../cartesian/axes&quot;),h=t(&quot;../../components/dragelement&quot;),d=t(&quot;../cartesian/select&quot;),p=t(&quot;./zoom&quot;),m=t(&quot;./constants&quot;),g=t(&quot;../../lib/topojson_utils&quot;),v=t(&quot;topojson-client&quot;).feature;t(&quot;./projections&quot;)(i);var y=n.prototype;e.exports=function(t){return new n(t)},y.plot=function(t,e,r){var n=this,i=e[this.id],a=g.getTopojsonName(i);null===n.topojson||a!==n.topojsonName?(n.topojsonName=a,void 0===PlotlyGeoAssets.topojson[n.topojsonName]?r.push(n.fetchTopojson().then(function(r){PlotlyGeoAssets.topojson[n.topojsonName]=r,n.topojson=r,n.update(t,e)})):(n.topojson=PlotlyGeoAssets.topojson[n.topojsonName],n.update(t,e))):n.update(t,e)},y.fetchTopojson=function(){var t=g.getTopojsonPath(this.topojsonURL,this.topojsonName);return new Promise(function(e,r){i.json(t,function(n,i){if(n)return r(404===n.status?new Error([&quot;plotly.js could not find topojson file at&quot;,t,&quot;.&quot;,&quot;Make sure the *topojsonURL* plot config option&quot;,&quot;is set properly.&quot;].join(&quot; &quot;)):new Error([&quot;unexpected error while fetching topojson file at&quot;,t].join(&quot; &quot;)));e(i)})})},y.update=function(t,e){var r=e[this.id];if(!this.updateProjection(e,r)){this.hasChoropleth=!1;for(var n=0;n&lt;t.length;n++)if(&quot;choropleth&quot;===t[n][0].trace.type){this.hasChoropleth=!0;break}this.viewInitial||this.saveViewInitial(r),this.updateBaseLayers(e,r),this.updateDims(e,r),this.updateFx(e,r),u.generalUpdatePerTraceModule(this.graphDiv,this,t,r);var i=this.layers.frontplot.select(&quot;.scatterlayer&quot;);this.dataPoints.point=i.selectAll(&quot;.point&quot;),this.dataPoints.text=i.selectAll(&quot;text&quot;),this.dataPaths.line=i.selectAll(&quot;.js-line&quot;);var a=this.layers.backplot.select(&quot;.choroplethlayer&quot;);this.dataPaths.choropleth=a.selectAll(&quot;path&quot;),this.render()}},y.updateProjection=function(t,e){var r=t._size,n=e.domain,s=e.projection,l=s.rotation||{},c=e.center||{},u=this.projection=function(t){for(var e=t.projection.type,r=i.geo[m.projNames[e]](),n=t._isClipped?m.lonaxisSpan[e]/2:null,a=[&quot;center&quot;,&quot;rotate&quot;,&quot;parallels&quot;,&quot;clipExtent&quot;],o=function(t){return t?r:[]},s=0;s&lt;a.length;s++){var l=a[s];&quot;function&quot;!=typeof r[l]&amp;&amp;(r[l]=o)}return r.isLonLatOverEdges=function(t){if(null===r(t))return!0;if(n){var e=r.rotate();return i.geo.distance(t,[-e[0],-e[1]])&gt;n*Math.PI/180}return!1},r.getPath=function(){return i.geo.path().projection(r)},r.getBounds=function(t){return r.getPath().bounds(t)},r.fitExtent=function(t,e){var n=t[1][0]-t[0][0],i=t[1][1]-t[0][1],a=r.clipExtent&amp;&amp;r.clipExtent();r.scale(150).translate([0,0]),a&amp;&amp;r.clipExtent(null);var o=r.getBounds(e),s=Math.min(n/(o[1][0]-o[0][0]),i/(o[1][1]-o[0][1])),l=+t[0][0]+(n-s*(o[1][0]+o[0][0]))/2,c=+t[0][1]+(i-s*(o[1][1]+o[0][1]))/2;return a&amp;&amp;r.clipExtent(a),r.scale(150*s).translate([l,c])},r.precision(m.precision),n&amp;&amp;r.clipAngle(n-m.clipPad),r}(e);u.center([c.lon-l.lon,c.lat-l.lat]).rotate([-l.lon,-l.lat,l.roll]).parallels(s.parallels);var f=[[r.l+r.w*n.x[0],r.t+r.h*(1-n.y[1])],[r.l+r.w*n.x[1],r.t+r.h*(1-n.y[0])]],h=e.lonaxis,d=e.lataxis,p=function(t,e){var r=m.clipPad,n=t[0]+r,i=t[1]-r,a=e[0]+r,o=e[1]-r;n&gt;0&amp;&amp;i&lt;0&amp;&amp;(i+=360);var s=(i-n)/4;return{type:&quot;Polygon&quot;,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]]]}}(h.range,d.range);u.fitExtent(f,p);var g=this.bounds=u.getBounds(p),v=this.fitScale=u.scale(),y=u.translate();if(!isFinite(g[0][0])||!isFinite(g[0][1])||!isFinite(g[1][0])||!isFinite(g[1][1])||isNaN(y[0])||isNaN(y[0])){for(var x=this.graphDiv,b=[&quot;projection.rotation&quot;,&quot;center&quot;,&quot;lonaxis.range&quot;,&quot;lataxis.range&quot;],_=&quot;Invalid geo settings, relayout'ing to default view.&quot;,w={},M=0;M&lt;b.length;M++)w[this.id+&quot;.&quot;+b[M]]=null;return this.viewInitial=null,o.warn(_),x._promises.push(a.relayout(x,w)),_}var k=this.midPt=[(g[0][0]+g[1][0])/2,(g[0][1]+g[1][1])/2];if(u.scale(s.scale*v).translate([y[0]+(k[0]-y[0]),y[1]+(k[1]-y[1])]).clipExtent(g),e._isAlbersUsa){var A=u([c.lon,c.lat]),T=u.translate();u.translate([T[0]-(A[0]-T[0]),T[1]-(A[1]-T[1])])}},y.updateBaseLayers=function(t,e){function r(t){return&quot;lonaxis&quot;===t||&quot;lataxis&quot;===t}function n(t){return Boolean(m.lineLayers[t])}function a(t){return Boolean(m.fillLayers[t])}var o=this,c=o.topojson,u=o.layers,f=o.basePaths,h=(this.hasChoropleth?m.layersForChoropleth:m.layers).filter(function(t){return n(t)||a(t)?e[&quot;show&quot;+t]:!r(t)||e[t].showgrid}),d=o.framework.selectAll(&quot;.layer&quot;).data(h,String);d.exit().each(function(t){delete u[t],delete f[t],i.select(this).remove()}),d.enter().append(&quot;g&quot;).attr(&quot;class&quot;,function(t){return&quot;layer &quot;+t}).each(function(t){var e=u[t]=i.select(this);&quot;bg&quot;===t?o.bgRect=e.append(&quot;rect&quot;).style(&quot;pointer-events&quot;,&quot;all&quot;):r(t)?f[t]=e.append(&quot;path&quot;).style(&quot;fill&quot;,&quot;none&quot;):&quot;backplot&quot;===t?e.append(&quot;g&quot;).classed(&quot;choroplethlayer&quot;,!0):&quot;frontplot&quot;===t?e.append(&quot;g&quot;).classed(&quot;scatterlayer&quot;,!0):n(t)?f[t]=e.append(&quot;path&quot;).style(&quot;fill&quot;,&quot;none&quot;).style(&quot;stroke-miterlimit&quot;,2):a(t)&amp;&amp;(f[t]=e.append(&quot;path&quot;).style(&quot;stroke&quot;,&quot;none&quot;))}),d.order(),d.each(function(t){var o=f[t],u=m.layerNameToAdjective[t];&quot;frame&quot;===t?o.datum(m.sphereSVG):n(t)||a(t)?o.datum(v(c,c.objects[t])):r(t)&amp;&amp;o.datum(function(t,e){var r=e[t].dtick,n=m.scopeDefaults[e.scope],a=n.lonaxisRange,o=n.lataxisRange,s=&quot;lonaxis&quot;===t?[r]:[0,r];return i.geo.graticule().extent([[a[0],o[0]],[a[1],o[1]]]).step(s)}(t,e)).call(s.stroke,e[t].gridcolor).call(l.dashLine,&quot;&quot;,e[t].gridwidth),n(t)?o.call(s.stroke,e[u+&quot;color&quot;]).call(l.dashLine,&quot;&quot;,e[u+&quot;width&quot;]):a(t)&amp;&amp;o.call(s.fill,e[u+&quot;color&quot;])})},y.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,c=r[1][1]-a+n;l.setRect(this.clipRect,i,a,o,c),this.bgRect.call(l.setRect,i,a,o,c).call(s.fill,e.bgcolor),this.xaxis._offset=i,this.xaxis._length=o,this.yaxis._offset=a,this.yaxis._length=c},y.updateFx=function(t,e){function r(){var t=o.viewInitial,e={};for(var r in t)e[o.id+&quot;.&quot;+r]=t[r];a.relayout(s,e),s.emit(&quot;plotly_doubleclick&quot;,null)}function n(t){return o.projection.invert([t[0]+o.xaxis._offset,t[1]+o.yaxis._offset])}var o=this,s=o.graphDiv,l=o.bgRect,u=t.dragmode;if(!o.isStatic){if(&quot;pan&quot;===u)l.node().onmousedown=null,l.call(p(o,e)),l.on(&quot;dblclick.zoom&quot;,r);else if(&quot;select&quot;===u||&quot;lasso&quot;===u){l.on(&quot;.zoom&quot;,null);var f;&quot;select&quot;===u?f=function(t,e){(t.range={})[o.id]=[n([e.xmin,e.ymin]),n([e.xmax,e.ymax])]}:&quot;lasso&quot;===u&amp;&amp;(f=function(t,e,r){(t.lassoPoints={})[o.id]=r.filtered.map(n)});var m={element:o.bgRect.node(),gd:s,plotinfo:{xaxis:o.xaxis,yaxis:o.yaxis,fillRangeItems:f},xaxes:[o.xaxis],yaxes:[o.yaxis],subplot:o.id,clickFn:function(e){2===e&amp;&amp;t._zoomlayer.selectAll(&quot;.select-outline&quot;).remove()}};m.prepFn=function(t,e,r){d(t,e,r,m,u)},h.init(m)}l.on(&quot;mousemove&quot;,function(){var t=o.projection.invert(i.mouse(this));if(!t||isNaN(t[0])||isNaN(t[1]))return h.unhover(s,i.event);o.xaxis.p2c=function(){return t[0]},o.yaxis.p2c=function(){return t[1]},c.hover(s,i.event,o.id)}),l.on(&quot;mouseout&quot;,function(){h.unhover(s,i.event)}),l.on(&quot;click&quot;,function(){c.click(s,i.event)})}},y.makeFramework=function(){var t=this,e=t.graphDiv._fullLayout,r=&quot;clip&quot;+e._uid+t.id;t.clipDef=e._clips.append(&quot;clipPath&quot;).attr(&quot;id&quot;,r),t.clipRect=t.clipDef.append(&quot;rect&quot;),t.framework=i.select(t.container).append(&quot;g&quot;).attr(&quot;class&quot;,&quot;geo &quot;+t.id).call(l.setClipUrl,r),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:&quot;x&quot;,c2p:function(e){return t.project(e)[0]}},t.yaxis={_id:&quot;y&quot;,c2p:function(e){return t.project(e)[1]}},t.mockAxis={type:&quot;linear&quot;,showexponent:&quot;all&quot;,exponentformat:&quot;B&quot;},f.setConvert(t.mockAxis,e)},y.saveViewInitial=function(t){var e=t.center||{},r=t.projection,n=r.rotation||{};t._isScoped?this.viewInitial={&quot;center.lon&quot;:e.lon,&quot;center.lat&quot;:e.lat,&quot;projection.scale&quot;:r.scale}:t._isClipped?this.viewInitial={&quot;projection.scale&quot;:r.scale,&quot;projection.rotation.lon&quot;:n.lon,&quot;projection.rotation.lat&quot;:n.lat}:this.viewInitial={&quot;center.lon&quot;:e.lon,&quot;center.lat&quot;:e.lat,&quot;projection.scale&quot;:r.scale,&quot;projection.rotation.lon&quot;:n.lon}},y.render=function(){function t(t){var e=n(t.lonlat);return e?&quot;translate(&quot;+e[0]+&quot;,&quot;+e[1]+&quot;)&quot;:null}function e(t){return n.isLonLatOverEdges(t.lonlat)?&quot;none&quot;:null}var r,n=this.projection,i=n.getPath();for(r in this.basePaths)this.basePaths[r].attr(&quot;d&quot;,i);for(r in this.dataPaths)this.dataPaths[r].attr(&quot;d&quot;,function(t){return i(t.geojson)});for(r in this.dataPoints)this.dataPoints[r].attr(&quot;display&quot;,e).attr(&quot;transform&quot;,t)}},{&quot;../../components/color&quot;:618,&quot;../../components/dragelement&quot;:640,&quot;../../components/drawing&quot;:643,&quot;../../components/fx&quot;:660,&quot;../../lib&quot;:743,&quot;../../lib/topojson_utils&quot;:769,&quot;../../plotly&quot;:784,&quot;../cartesian/axes&quot;:789,&quot;../cartesian/select&quot;:807,&quot;../plots&quot;:852,&quot;./constants&quot;:818,&quot;./projections&quot;:824,&quot;./zoom&quot;:825,d3:128,&quot;topojson-client&quot;:549}],820:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;./geo&quot;),i=t(&quot;../../plots/get_data&quot;).getSubplotCalcData,a=t(&quot;../../lib&quot;).counterRegex;r.name=&quot;geo&quot;,r.attr=&quot;geo&quot;,r.idRoot=&quot;geo&quot;,r.idRegex=r.attrRegex=a(&quot;geo&quot;),r.attributes=t(&quot;./layout/attributes&quot;),r.layoutAttributes=t(&quot;./layout/layout_attributes&quot;),r.supplyLayoutDefaults=t(&quot;./layout/defaults&quot;),r.plot=function(t){var e=t._fullLayout,r=t.calcdata,a=e._subplots.geo;void 0===window.PlotlyGeoAssets&amp;&amp;(window.PlotlyGeoAssets={topojson:{}});for(var o=0;o&lt;a.length;o++){var s=a[o],l=i(r,&quot;geo&quot;,s),c=e[s]._subplot;c||(c=n({id:s,graphDiv:t,container:e._geolayer.node(),topojsonURL:t._context.topojsonURL,staticPlot:t._context.staticPlot}),e[s]._subplot=c),c.plot(l,e,t._promises)}},r.clean=function(t,e,r,n){for(var i=n._subplots.geo||[],a=0;a&lt;i.length;a++){var o=i[a],s=n[o]._subplot;!e[o]&amp;&amp;s&amp;&amp;(s.framework.remove(),s.clipDef.remove())}},r.updateFx=function(t){for(var e=t._subplots.geo,r=0;r&lt;e.length;r++){var n=t[e[r]];n._subplot.updateFx(t,n)}}},{&quot;../../lib&quot;:743,&quot;../../plots/get_data&quot;:826,&quot;./geo&quot;:819,&quot;./layout/attributes&quot;:821,&quot;./layout/defaults&quot;:822,&quot;./layout/layout_attributes&quot;:823}],821:[function(t,e,r){&quot;use strict&quot;;e.exports={geo:{valType:&quot;subplotid&quot;,dflt:&quot;geo&quot;,editType:&quot;calc&quot;}}},{}],822:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r){var n=r(&quot;resolution&quot;),i=r(&quot;scope&quot;),o=a.scopeDefaults[i],l=r(&quot;projection.type&quot;,o.projType),c=e._isAlbersUsa=&quot;albers usa&quot;===l;c&amp;&amp;(i=e.scope=&quot;usa&quot;);var u=e._isScoped=&quot;world&quot;!==i,f=e._isConic=-1!==l.indexOf(&quot;conic&quot;);e._isClipped=!!a.lonaxisSpan[l];for(var h=0;h&lt;s.length;h++){var d,p=s[h],m=[30,10][h];if(u)d=o[p+&quot;Range&quot;];else{var g=a[p+&quot;Span&quot;],v=(g[l]||g[&quot;*&quot;])/2,y=r(&quot;projection.rotation.&quot;+p.substr(0,3),o.projRotate[h]);d=[y-v,y+v]}r(p+&quot;.tick0&quot;,r(p+&quot;.range&quot;,d)[0]),r(p+&quot;.dtick&quot;,m),r(p+&quot;.showgrid&quot;)&amp;&amp;(r(p+&quot;.gridcolor&quot;),r(p+&quot;.gridwidth&quot;))}var x=e.lonaxis.range,b=e.lataxis.range,_=x[0],w=x[1];_&gt;0&amp;&amp;w&lt;0&amp;&amp;(w+=360);var M,k=(_+w)/2;if(!c){var A=u?o.projRotate:[k,0,0];M=r(&quot;projection.rotation.lon&quot;,A[0]),r(&quot;projection.rotation.lat&quot;,A[1]),r(&quot;projection.rotation.roll&quot;,A[2]),r(&quot;showcoastlines&quot;,!u)&amp;&amp;(r(&quot;coastlinecolor&quot;),r(&quot;coastlinewidth&quot;)),r(&quot;showocean&quot;)&amp;&amp;r(&quot;oceancolor&quot;)}var T,S;if(c?(T=-96.6,S=38.7):(T=u?k:M,S=(b[0]+b[1])/2),r(&quot;center.lon&quot;,T),r(&quot;center.lat&quot;,S),f){r(&quot;projection.parallels&quot;,o.projParallels||[0,60])}r(&quot;projection.scale&quot;),r(&quot;showland&quot;)&amp;&amp;r(&quot;landcolor&quot;),r(&quot;showlakes&quot;)&amp;&amp;r(&quot;lakecolor&quot;),r(&quot;showrivers&quot;)&amp;&amp;(r(&quot;rivercolor&quot;),r(&quot;riverwidth&quot;)),r(&quot;showcountries&quot;,u&amp;&amp;&quot;usa&quot;!==i)&amp;&amp;(r(&quot;countrycolor&quot;),r(&quot;countrywidth&quot;)),(&quot;usa&quot;===i||&quot;north america&quot;===i&amp;&amp;50===n)&amp;&amp;(r(&quot;showsubunits&quot;,!0),r(&quot;subunitcolor&quot;),r(&quot;subunitwidth&quot;)),u||r(&quot;showframe&quot;,!0)&amp;&amp;(r(&quot;framecolor&quot;),r(&quot;framewidth&quot;)),r(&quot;bgcolor&quot;)}var i=t(&quot;../../subplot_defaults&quot;),a=t(&quot;../constants&quot;),o=t(&quot;./layout_attributes&quot;),s=a.axesNames;e.exports=function(t,e,r){i(t,e,r,{type:&quot;geo&quot;,attributes:o,handleDefaults:n,partition:&quot;y&quot;})}},{&quot;../../subplot_defaults&quot;:865,&quot;../constants&quot;:818,&quot;./layout_attributes&quot;:823}],823:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../../components/color/attributes&quot;),i=t(&quot;../../domain_attributes&quot;),a=t(&quot;../constants&quot;),o=t(&quot;../../../plot_api/edit_types&quot;).overrideAll,s={range:{valType:&quot;info_array&quot;,items:[{valType:&quot;number&quot;},{valType:&quot;number&quot;}]},showgrid:{valType:&quot;boolean&quot;,dflt:!1},tick0:{valType:&quot;number&quot;},dtick:{valType:&quot;number&quot;},gridcolor:{valType:&quot;color&quot;,dflt:n.lightLine},gridwidth:{valType:&quot;number&quot;,min:0,dflt:1}};e.exports=o({domain:i({name:&quot;geo&quot;},{}),resolution:{valType:&quot;enumerated&quot;,values:[110,50],dflt:110,coerceNumber:!0},scope:{valType:&quot;enumerated&quot;,values:Object.keys(a.scopeDefaults),dflt:&quot;world&quot;},projection:{type:{valType:&quot;enumerated&quot;,values:Object.keys(a.projNames)},rotation:{lon:{valType:&quot;number&quot;},lat:{valType:&quot;number&quot;},roll:{valType:&quot;number&quot;}},parallels:{valType:&quot;info_array&quot;,items:[{valType:&quot;number&quot;},{valType:&quot;number&quot;}]},scale:{valType:&quot;number&quot;,min:0,dflt:1}},center:{lon:{valType:&quot;number&quot;},lat:{valType:&quot;number&quot;}},showcoastlines:{valType:&quot;boolean&quot;},coastlinecolor:{valType:&quot;color&quot;,dflt:n.defaultLine},coastlinewidth:{valType:&quot;number&quot;,min:0,dflt:1},showland:{valType:&quot;boolean&quot;,dflt:!1},landcolor:{valType:&quot;color&quot;,dflt:a.landColor},showocean:{valType:&quot;boolean&quot;,dflt:!1},oceancolor:{valType:&quot;color&quot;,dflt:a.waterColor},showlakes:{valType:&quot;boolean&quot;,dflt:!1},lakecolor:{valType:&quot;color&quot;,dflt:a.waterColor},showrivers:{valType:&quot;boolean&quot;,dflt:!1},rivercolor:{valType:&quot;color&quot;,dflt:a.waterColor},riverwidth:{valType:&quot;number&quot;,min:0,dflt:1},showcountries:{valType:&quot;boolean&quot;},countrycolor:{valType:&quot;color&quot;,dflt:n.defaultLine},countrywidth:{valType:&quot;number&quot;,min:0,dflt:1},showsubunits:{valType:&quot;boolean&quot;},subunitcolor:{valType:&quot;color&quot;,dflt:n.defaultLine},subunitwidth:{valType:&quot;number&quot;,min:0,dflt:1},showframe:{valType:&quot;boolean&quot;},framecolor:{valType:&quot;color&quot;,dflt:n.defaultLine},framewidth:{valType:&quot;number&quot;,min:0,dflt:1},bgcolor:{valType:&quot;color&quot;,dflt:n.background},lonaxis:s,lataxis:s},&quot;plot&quot;,&quot;from-root&quot;)},{&quot;../../../components/color/attributes&quot;:617,&quot;../../../plot_api/edit_types&quot;:773,&quot;../../domain_attributes&quot;:815,&quot;../constants&quot;:818}],824:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t){function e(t,e){return{type:&quot;Feature&quot;,id:t.id,properties:t.properties,geometry:r(t.geometry,e)}}function r(e,n){if(!e)return null;if(&quot;GeometryCollection&quot;===e.type)return{type:&quot;GeometryCollection&quot;,geometries:object.geometries.map(function(t){return r(t,n)})};if(!M.hasOwnProperty(e.type))return null;var i=M[e.type];return t.geo.stream(e,n(i)),i.result()}function n(){}function i(t){return t&gt;1?S:t&lt;-1?-S:Math.asin(t)}function a(t){return t&gt;1?0:t&lt;-1?T:Math.acos(t)}function o(t,e){var r=(2+S)*Math.sin(e);e/=2;for(var n=0,i=1/0;n&lt;10&amp;&amp;Math.abs(i)&gt;k;n++){var a=Math.cos(e);e-=i=(e+Math.sin(e)*(a+2)-r)/(2*a*(1+a))}return[2/Math.sqrt(T*(4+T))*t*(1+Math.cos(e)),2*Math.sqrt(T/(4+T))*Math.sin(e)]}function s(t,e){function r(r,n){var i=D(r/e,n);return i[0]*=t,i}return arguments.length&lt;2&amp;&amp;(e=t),1===e?D:e===1/0?l:(r.invert=function(r,n){var i=D.invert(r/t,n);return i[0]*=e,i},r)}function l(t,e){return[t*Math.cos(e)/Math.cos(e/=2),2*Math.sin(e)]}function c(t,e){return[3*t/(2*T)*Math.sqrt(T*T/3-e*e),e]}function u(t,e){return[t,1.25*Math.log(Math.tan(T/4+.4*e))]}function f(t){return function(e){var r,n=t*Math.sin(e),i=30;do{e-=r=(e+Math.sin(e)-n)/(1+Math.cos(e))}while(Math.abs(r)&gt;k&amp;&amp;--i&gt;0);return e/2}}function h(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 d(t,e){var r,n=Math.min(18,36*Math.abs(e)/T),i=Math.floor(n),a=n-i,o=(r=P[i])[0],s=r[1],l=(r=P[++i])[0],c=r[1],u=(r=P[Math.min(19,++i)])[0],f=r[1];return[t*(l+a*(u-o)/2+a*a*(u-2*l+o)/2),(e&gt;0?S:-S)*(c+a*(f-s)/2+a*a*(f-2*c+s)/2)]}function p(t,e){return[t*Math.cos(e),e]}function m(t,e){var r=Math.cos(e),n=function(t){return t?t/Math.sin(t):1}(a(r*Math.cos(t/=2)));return[2*r*Math.sin(t)*n,Math.sin(e)*n]}function g(t,e){var r=m(t,e);return[(r[0]+t/S)/2,(r[1]+e)/2]}t.geo.project=function(t,e){var n=e.stream;if(!n)throw new Error(&quot;not yet supported&quot;);return(t&amp;&amp;v.hasOwnProperty(t.type)?v[t.type]:r)(t,n)};var v={Feature:e,FeatureCollection:function(t,r){return{type:&quot;FeatureCollection&quot;,features:t.features.map(function(t){return e(t,r)})}}},y=[],x=[],b={point:function(t,e){y.push([t,e])},result:function(){var t=y.length?y.length&lt;2?{type:&quot;Point&quot;,coordinates:y[0]}:{type:&quot;MultiPoint&quot;,coordinates:y}:null;return y=[],t}},_={lineStart:n,point:function(t,e){y.push([t,e])},lineEnd:function(){y.length&amp;&amp;(x.push(y),y=[])},result:function(){var t=x.length?x.length&lt;2?{type:&quot;LineString&quot;,coordinates:x[0]}:{type:&quot;MultiLineString&quot;,coordinates:x}:null;return x=[],t}},w={polygonStart:n,lineStart:n,point:function(t,e){y.push([t,e])},lineEnd:function(){var t=y.length;if(t){do{y.push(y[0].slice())}while(++t&lt;4);x.push(y),y=[]}},polygonEnd:n,result:function(){if(!x.length)return null;var t=[],e=[];return x.forEach(function(r){!function(t){if((e=t.length)&lt;4)return!1;for(var e,r=0,n=t[e-1][1]*t[0][0]-t[e-1][0]*t[0][1];++r&lt;e;)n+=t[r-1][1]*t[r][0]-t[r-1][0]*t[r][1];return n&lt;=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&lt;o;s=a++){var l=t[a],c=l[0],u=l[1],f=t[s],h=f[0],d=f[1];u&gt;n^d&gt;n&amp;&amp;r&lt;(h-c)*(n-u)/(d-u)+c&amp;&amp;(i=!i)}return i}(t[0],r))return t.push(e),!0})||t.push([e])}),x=[],t.length?t.length&gt;1?{type:&quot;MultiPolygon&quot;,coordinates:t}:{type:&quot;Polygon&quot;,coordinates:t[0]}:null}},M={Point:b,MultiPoint:b,LineString:_,MultiLineString:_,Polygon:w,MultiPolygon:w,Sphere:w},k=1e-6,A=k*k,T=Math.PI,S=T/2,E=(Math.sqrt(T),T/180),L=180/T,C=t.geo.projection,z=t.geo.projectionMutator;t.geo.interrupt=function(e){function r(t,r){for(var n=r&lt;0?-1:1,i=a[+(r&lt;0)],o=0,s=i.length-1;o&lt;s&amp;&amp;t&gt;i[o][2][0];++o);var l=e(t-i[o][1][0],r);return l[0]+=e(i[o][1][0],n*r&gt;n*i[o][0][1]?i[o][0][1]:r)[0],l}function n(t,e){for(var r,n,i,a=-1,o=t.length,s=t[0],l=[];++a&lt;o;){n=((r=t[a])[0]-s[0])/e,i=(r[1]-s[1])/e;for(var c=0;c&lt;e;++c)l.push([s[0]+c*n,s[1]+c*i]);s=r}return l.push(r),l}var i,a=[[[[-T,0],[0,S],[T,0]]],[[[-T,0],[0,-S],[T,0]]]];e.invert&amp;&amp;(r.invert=function(t,n){for(var o=i[+(n&lt;0)],s=a[+(n&lt;0)],l=0,c=o.length;l&lt;c;++l){var u=o[l];if(u[0][0]&lt;=t&amp;&amp;t&lt;u[1][0]&amp;&amp;u[0][1]&lt;=n&amp;&amp;n&lt;u[1][1]){var f=e.invert(t-e(s[l][1][0],0)[0],n);return f[0]+=s[l][1][0],function(t,e){return Math.abs(t[0]-e[0])&lt;k&amp;&amp;Math.abs(t[1]-e[1])&lt;k}(r(f[0],f[1]),[t,n])?f:null}}});var o=t.geo.projection(r),s=o.stream;return o.stream=function(e){var r=o.rotate(),i=s(e),l=(o.rotate([0,0]),s(e));return o.rotate(r),i.sphere=function(){t.geo.stream(function(){for(var e=[],r=0,i=a[0].length;r&lt;i;++r){var o=180*(f=a[0][r])[0][0]/T,s=180*f[0][1]/T,l=180*f[1][1]/T,c=180*f[2][0]/T,u=180*f[2][1]/T;e.push(n([[o+1e-6,s+1e-6],[o+1e-6,l-1e-6],[c-1e-6,l-1e-6],[c-1e-6,u+1e-6]],30))}for(r=a[1].length-1;r&gt;=0;--r){var f;o=180*(f=a[1][r])[0][0]/T,s=180*f[0][1]/T,l=180*f[1][1]/T,c=180*f[2][0]/T,u=180*f[2][1]/T,e.push(n([[c-1e-6,u-1e-6],[c-1e-6,l+1e-6],[o+1e-6,l+1e-6],[o+1e-6,s-1e-6]],30))}return{type:&quot;Polygon&quot;,coordinates:[t.merge(e)]}}(),l)},i},o.lobes=function(t){return arguments.length?(a=t.map(function(t){return t.map(function(t){return[[t[0][0]*T/180,t[0][1]*T/180],[t[1][0]*T/180,t[1][1]*T/180],[t[2][0]*T/180,t[2][1]*T/180]]})}),i=a.map(function(t){return t.map(function(t){var r,n=e(t[0][0],t[0][1])[0],i=e(t[2][0],t[2][1])[0],a=e(t[1][0],t[0][1])[1],o=e(t[1][0],t[1][1])[1];return a&gt;o&amp;&amp;(r=a,a=o,o=r),[[n,a],[i,o]]})}),o):a.map(function(t){return t.map(function(t){return[[180*t[0][0]/T,180*t[0][1]/T],[180*t[1][0]/T,180*t[1][1]/T],[180*t[2][0]/T,180*t[2][1]/T]]})})},o},o.invert=function(t,e){var r=.5*e*Math.sqrt((4+T)/T),n=i(r),a=Math.cos(n);return[t/(2/Math.sqrt(T*(4+T))*(1+a)),i((n+r*(a+2))/(2+S))]},(t.geo.eckert4=function(){return C(o)}).raw=o;var D=t.geo.azimuthalEqualArea.raw;l.invert=function(t,e){var r=2*i(e/2);return[t*Math.cos(r/2)/Math.cos(r),r]},(t.geo.hammer=function(){var t=2,e=z(s),r=e(t);return r.coefficient=function(r){return arguments.length?e(t=+r):t},r}).raw=s,c.invert=function(t,e){return[2/3*T*t/Math.sqrt(T*T/3-e*e),e]},(t.geo.kavrayskiy7=function(){return C(c)}).raw=c,u.invert=function(t,e){return[t,2.5*Math.atan(Math.exp(.8*e))-.625*T]},(t.geo.miller=function(){return C(u)}).raw=u,f(T);var I=function(t,e,r){function n(r,n){return[t*r*Math.cos(n=a(n)),e*Math.sin(n)]}var a=f(r);return n.invert=function(n,a){var o=i(a/e);return[n/(t*Math.cos(o)),i((2*o+Math.sin(2*o))/r)]},n}(Math.SQRT2/S,Math.SQRT2,T);(t.geo.mollweide=function(){return C(I)}).raw=I,h.invert=function(t,e){var r,n=e,i=25;do{var a=n*n,o=a*a;n-=r=(n*(1.007226+a*(.015085+o*(.028874*a-.044475-.005916*o)))-e)/(1.007226+a*(.045255+o*(.259866*a-.311325-.005916*11*o)))}while(Math.abs(r)&gt;k&amp;&amp;--i&gt;0);return[t/(.8707+(a=n*n)*(a*(a*a*a*(.003971-.001529*a)-.013791)-.131979)),n]},(t.geo.naturalEarth=function(){return C(h)}).raw=h;var P=[[.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]];P.forEach(function(t){t[1]*=1.0144}),d.invert=function(t,e){var r=e/S,n=90*r,i=Math.min(18,Math.abs(n/5)),a=Math.max(0,Math.floor(i));do{var o=P[a][1],s=P[a+1][1],l=P[Math.min(19,a+2)][1],c=l-o,u=l-2*s+o,f=2*(Math.abs(r)-s)/c,h=u/c,d=f*(1-h*f*(1-2*h*f));if(d&gt;=0||1===a){n=(e&gt;=0?5:-5)*(d+i);var p,m=50;do{d=(i=Math.min(18,Math.abs(n)/5))-(a=Math.floor(i)),o=P[a][1],s=P[a+1][1],l=P[Math.min(19,a+2)][1],n-=(p=(e&gt;=0?S:-S)*(s+d*(l-o)/2+d*d*(l-2*s+o)/2)-e)*L}while(Math.abs(p)&gt;A&amp;&amp;--m&gt;0);break}}while(--a&gt;=0);var g=P[a][0],v=P[a+1][0],y=P[Math.min(19,a+2)][0];return[t/(v+d*(y-g)/2+d*d*(y-2*v+g)/2),n*E]},(t.geo.robinson=function(){return C(d)}).raw=d,p.invert=function(t,e){return[t/Math.cos(e),e]},(t.geo.sinusoidal=function(){return C(p)}).raw=p,m.invert=function(t,e){if(!(t*t+4*e*e&gt;T*T+k)){var r=t,n=e,i=25;do{var o,s=Math.sin(r),l=Math.sin(r/2),c=Math.cos(r/2),u=Math.sin(n),f=Math.cos(n),h=Math.sin(2*n),d=u*u,p=f*f,m=l*l,g=1-p*c*c,v=g?a(f*c)*Math.sqrt(o=1/g):o=0,y=2*v*f*l-t,x=v*u-e,b=o*(p*m+v*f*c*d),_=o*(.5*s*h-2*v*u*l),w=.25*o*(h*l-v*u*p*s),M=o*(d*c+v*m*f),A=_*w-M*b;if(!A)break;var S=(x*_-y*M)/A,E=(y*w-x*b)/A;r-=S,n-=E}while((Math.abs(S)&gt;k||Math.abs(E)&gt;k)&amp;&amp;--i&gt;0);return[r,n]}},(t.geo.aitoff=function(){return C(m)}).raw=m,g.invert=function(t,e){var r=t,n=e,i=25;do{var o,s=Math.cos(n),l=Math.sin(n),c=Math.sin(2*n),u=l*l,f=s*s,h=Math.sin(r),d=Math.cos(r/2),p=Math.sin(r/2),m=p*p,g=1-f*d*d,v=g?a(s*d)*Math.sqrt(o=1/g):o=0,y=.5*(2*v*s*p+r/S)-t,x=.5*(v*l+n)-e,b=.5*o*(f*m+v*s*d*u)+.5/S,_=o*(h*c/4-v*l*p),w=.125*o*(c*p-v*l*f*h),M=.5*o*(u*d+v*m*s)+.5,A=_*w-M*b,T=(x*_-y*M)/A,E=(y*w-x*b)/A;r-=T,n-=E}while((Math.abs(T)&gt;k||Math.abs(E)&gt;k)&amp;&amp;--i&gt;0);return[r,n]},(t.geo.winkel3=function(){return C(g)}).raw=g}},{}],825:[function(t,e,r){&quot;use strict&quot;;function n(t,e){return d.behavior.zoom().translate(e.translate()).scale(e.scale())}function i(t,e,r){function n(t,e){var r=p.nestedProperty(s,t);r.get()!==e&amp;&amp;(r.set(e),p.nestedProperty(o,t).set(e),l[i+&quot;.&quot;+t]=e)}var i=t.id,a=t.graphDiv,o=a.layout[i],s=a._fullLayout[i],l={};r(n),n(&quot;projection.scale&quot;,e.scale()/t.fitScale),a.emit(&quot;plotly_relayout&quot;,l)}function a(t,e){function r(r){var n=e.invert(t.midPt);r(&quot;center.lon&quot;,n[0]),r(&quot;center.lat&quot;,n[1])}var a=n(0,e);return a.on(&quot;zoomstart&quot;,function(){d.select(this).style(v)}).on(&quot;zoom&quot;,function(){e.scale(d.event.scale).translate(d.event.translate),t.render()}).on(&quot;zoomend&quot;,function(){d.select(this).style(y),i(t,e,r)}),a}function o(t,e){function r(t){return e.invert(t)}function a(r){var n=e.rotate(),i=e.invert(t.midPt);r(&quot;projection.rotation.lon&quot;,-n[0]),r(&quot;center.lon&quot;,i[0]),r(&quot;center.lat&quot;,i[1])}var o,s,l,c,u,f,h,p,m=n(0,e),g=2;return m.on(&quot;zoomstart&quot;,function(){d.select(this).style(v),o=d.mouse(this),s=e.rotate(),l=e.translate(),c=s,u=r(o)}).on(&quot;zoom&quot;,function(){if(f=d.mouse(this),function(t){var n=e(r(t));return Math.abs(n[0]-t[0])&gt;g||Math.abs(n[1]-t[1])&gt;g}(o))return m.scale(e.scale()),void m.translate(e.translate());e.scale(d.event.scale),e.translate([l[0],d.event.translate[1]]),u?r(f)&amp;&amp;(p=r(f),h=[c[0]+(p[0]-u[0]),s[1],s[2]],e.rotate(h),c=h):u=r(o=f),t.render()}).on(&quot;zoomend&quot;,function(){d.select(this).style(y),i(t,e,a)}),m}function s(t,e){function r(t){var r=e.rotate();t(&quot;projection.rotation.lon&quot;,-r[0]),t(&quot;projection.rotation.lat&quot;,-r[1])}var a,o={r:e.rotate(),k:e.scale()},s=n(0,e),u=function(t){var e=0,r=arguments.length,n=[];for(;++e&lt;r;)n.push(arguments[e]);var i=d.dispatch.apply(null,n);return i.of=function(e,r){return function(n){var a;try{a=n.sourceEvent=d.event,n.target=t,d.event=n,i[n.type].apply(e,r)}finally{d.event=a}}},i}(s,&quot;zoomstart&quot;,&quot;zoom&quot;,&quot;zoomend&quot;),p=0,x=s.on;return s.on(&quot;zoomstart&quot;,function(){d.select(this).style(v);var t=d.mouse(this),r=e.rotate(),n=r,i=e.translate(),y=function(t){var e=.5*t[0]*m,r=.5*t[1]*m,n=.5*t[2]*m,i=Math.sin(e),a=Math.cos(e),o=Math.sin(r),s=Math.cos(r),l=Math.sin(n),c=Math.cos(n);return[a*s*c+i*o*l,i*s*c-a*o*l,a*o*c+i*s*l,a*s*l-i*o*c]}(r);a=l(e,t),x.call(s,&quot;zoom&quot;,function(){var s=d.mouse(this);if(e.scale(o.k=d.event.scale),a){if(l(e,s)){e.rotate(r).translate(i);var p=l(e,s),m=function(t,e){if(!t||!e)return;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(h(r,r)),i=.5*Math.acos(Math.max(-1,Math.min(1,h(t,e)))),a=Math.sin(i)/n;return n&amp;&amp;[Math.cos(i),r[2]*a,-r[1]*a,r[0]*a]}(a,p),v=function(t){return[Math.atan2(2*(t[0]*t[1]+t[2]*t[3]),1-2*(t[1]*t[1]+t[2]*t[2]))*g,Math.asin(Math.max(-1,Math.min(1,2*(t[0]*t[2]-t[3]*t[1]))))*g,Math.atan2(2*(t[0]*t[3]+t[1]*t[2]),1-2*(t[2]*t[2]+t[3]*t[3]))*g]}(function(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]}(y,m)),x=o.r=function(t,e,r){var n=f(e,2,t[0]);n=f(n=f(n,1,t[1]),0,t[2]-r[2]);var i,a,o=e[0],s=e[1],l=e[2],u=n[0],h=n[1],d=n[2],p=Math.atan2(s,o)*g,m=Math.sqrt(o*o+s*s);Math.abs(h)&gt;m?(a=(h&gt;0?90:-90)-p,i=0):(a=Math.asin(h/m)*g-p,i=Math.sqrt(m*m-h*h));var v=180-a-2*p,y=(Math.atan2(d,u)-Math.atan2(l,i))*g,x=(Math.atan2(d,u)-Math.atan2(l,-i))*g,b=c(r[0],r[1],a,y),_=c(r[0],r[1],v,x);return b&lt;=_?[a,y,r[2]]:[v,x,r[2]]}(v,a,n);isFinite(x[0])&amp;&amp;isFinite(x[1])&amp;&amp;isFinite(x[2])||(x=n),e.rotate(x),n=x}}else a=l(e,t=s);!function(t){t({type:&quot;zoom&quot;})}(u.of(this,arguments))}),function(t){p++||t({type:&quot;zoomstart&quot;})}(u.of(this,arguments))}).on(&quot;zoomend&quot;,function(){d.select(this).style(y),x.call(s,&quot;zoom&quot;,null),function(t){--p||t({type:&quot;zoomend&quot;})}(u.of(this,arguments)),i(t,e,r)}).on(&quot;zoom.redraw&quot;,function(){t.render()}),d.rebind(s,u,&quot;on&quot;)}function l(t,e){var r=t.invert(e);return r&amp;&amp;isFinite(r[0])&amp;&amp;isFinite(r[1])&amp;&amp;function(t){var e=t[0]*m,r=t[1]*m,n=Math.cos(r);return[n*Math.cos(e),n*Math.sin(e),Math.sin(r)]}(r)}function c(t,e,r,n){var i=u(r-t),a=u(n-e);return Math.sqrt(i*i+a*a)}function u(t){return(t%360+540)%360-180}function f(t,e,r){var n=r*m,i=t.slice(),a=0===e?1:0,o=2===e?1:2,s=Math.cos(n),l=Math.sin(n);return i[a]=t[a]*s-t[o]*l,i[o]=t[o]*s+t[a]*l,i}function h(t,e){for(var r=0,n=0,i=t.length;n&lt;i;++n)r+=t[n]*e[n];return r}var d=t(&quot;d3&quot;),p=t(&quot;../../lib&quot;),m=Math.PI/180,g=180/Math.PI,v={cursor:&quot;pointer&quot;},y={cursor:&quot;auto&quot;};e.exports=function(t,e){var r=t.projection;return(e._isScoped?a:e._isClipped?s:o)(t,r)}},{&quot;../../lib&quot;:743,d3:128}],826:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../registry&quot;),i=t(&quot;./cartesian/constants&quot;).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&lt;t.length;s++){var l=t[s];l[0].trace[a]===r&amp;&amp;o.push(l)}return o},r.getModuleCalcData=function(t,e){var r=[],i=&quot;string&quot;==typeof e?n.getModule(e):e;if(!i)return r;for(var a=0;a&lt;t.length;a++){var o=t[a],s=o[0].trace;s._module===i&amp;&amp;!0===s.visible&amp;&amp;r.push(o)}return r},r.getSubplotData=function(t,e,r){if(!n.subplotsRegistry[e])return[];var a,o,s,l=n.subplotsRegistry[e].attr,c=[];if(&quot;gl2d&quot;===e){var u=r.match(i);o=&quot;x&quot;+u[1],s=&quot;y&quot;+u[2]}for(var f=0;f&lt;t.length;f++)a=t[f],&quot;gl2d&quot;===e&amp;&amp;n.traceIs(a,&quot;gl2d&quot;)?a[l[0]]===o&amp;&amp;a[l[1]]===s&amp;&amp;c.push(a):a[l]===r&amp;&amp;c.push(a);return c}},{&quot;../registry&quot;:873,&quot;./cartesian/constants&quot;:794}],827:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;mouse-change&quot;),i=t(&quot;mouse-wheel&quot;),a=t(&quot;mouse-event-offset&quot;),o=t(&quot;../cartesian/constants&quot;);e.exports=function(t){function e(){t.xaxis.autorange=!1,t.yaxis.autorange=!1}function r(r,n,i){function a(e,r,n){var i=Math.min(r,n),a=Math.max(r,n);i!==a?(f[e]=i,f[e+2]=a,c.dataBox=f,t.setRanges(f)):(t.selectBox.selectBox=[0,0,1,1],t.glplot.setDirty())}var s,u,f=t.calcDataBox(),h=l.viewBox,d=c.lastPos[0],p=c.lastPos[1],m=o.MINDRAG*l.pixelRatio,g=o.MINZOOM*l.pixelRatio;switch(n*=l.pixelRatio,i*=l.pixelRatio,i=h[3]-h[1]-i,t.fullLayout.dragmode){case&quot;zoom&quot;:if(r){var v=n/(h[2]-h[0])*(f[2]-f[0])+f[0],y=i/(h[3]-h[1])*(f[3]-f[1])+f[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]&amp;&amp;c.boxStart[1]===c.boxEnd[1]||(c.boxEnabled=!0);var x=Math.abs(c.dragStart[0]-n)&lt;g,b=Math.abs(c.dragStart[1]-i)&lt;g;if(!function(){for(var e=t.graphDiv._fullLayout._axisConstraintGroups,r=t.xaxis._id,n=t.yaxis._id,i=0;i&lt;e.length;i++)if(-1!==e[i][r]){if(-1!==e[i][n])return!0;break}return!1}()||x&amp;&amp;b)x&amp;&amp;(c.boxEnd[0]=c.boxStart[0]),b&amp;&amp;(c.boxEnd[1]=c.boxStart[1]);else{s=c.boxEnd[0]-c.boxStart[0],u=c.boxEnd[1]-c.boxStart[1];var _=(f[3]-f[1])/(f[2]-f[0]);Math.abs(s*_)&gt;Math.abs(u)?(c.boxEnd[1]=c.boxStart[1]+Math.abs(s)*_*(u&gt;=0?1:-1),c.boxEnd[1]&lt;f[1]?(c.boxEnd[1]=f[1],c.boxEnd[0]=c.boxStart[0]+(f[1]-c.boxStart[1])/Math.abs(_)):c.boxEnd[1]&gt;f[3]&amp;&amp;(c.boxEnd[1]=f[3],c.boxEnd[0]=c.boxStart[0]+(f[3]-c.boxStart[1])/Math.abs(_))):(c.boxEnd[0]=c.boxStart[0]+Math.abs(u)/_*(s&gt;=0?1:-1),c.boxEnd[0]&lt;f[0]?(c.boxEnd[0]=f[0],c.boxEnd[1]=c.boxStart[1]+(f[0]-c.boxStart[0])*Math.abs(_)):c.boxEnd[0]&gt;f[2]&amp;&amp;(c.boxEnd[0]=f[2],c.boxEnd[1]=c.boxStart[1]+(f[2]-c.boxStart[0])*Math.abs(_)))}}else c.boxEnabled?(s=c.boxStart[0]!==c.boxEnd[0],u=c.boxStart[1]!==c.boxEnd[1],s||u?(s&amp;&amp;(a(0,c.boxStart[0],c.boxEnd[0]),t.xaxis.autorange=!1),u&amp;&amp;(a(1,c.boxStart[1],c.boxEnd[1]),t.yaxis.autorange=!1),t.relayoutCallback()):t.glplot.setDirty(),c.boxEnabled=!1,c.boxInited=!1):c.boxInited&amp;&amp;(c.boxInited=!1);break;case&quot;pan&quot;:c.boxEnabled=!1,c.boxInited=!1,r?(c.panning||(c.dragStart[0]=n,c.dragStart[1]=i),Math.abs(c.dragStart[0]-n)&lt;m&amp;&amp;(n=c.dragStart[0]),Math.abs(c.dragStart[1]-i)&lt;m&amp;&amp;(i=c.dragStart[1]),s=(d-n)*(f[2]-f[0])/(l.viewBox[2]-l.viewBox[0]),u=(p-i)*(f[3]-f[1])/(l.viewBox[3]-l.viewBox[1]),f[0]+=s,f[2]+=s,f[1]+=u,f[3]+=u,t.setRanges(f),c.panning=!0,c.lastInputTime=Date.now(),e(),t.cameraChanged(),t.handleAnnotations()):c.panning&amp;&amp;(c.panning=!1,t.relayoutCallback())}c.lastPos[0]=n,c.lastPos[1]=i}var s=t.mouseContainer,l=t.glplot,c=new function(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]}(s,l);return c.mouseListener=n(s,r),s.addEventListener(&quot;touchstart&quot;,function(t){var e=a(t.changedTouches[0],s);r(0,e[0],e[1]),r(1,e[0],e[1])}),s.addEventListener(&quot;touchmove&quot;,function(t){t.preventDefault();var e=a(t.changedTouches[0],s);r(1,e[0],e[1])}),s.addEventListener(&quot;touchend&quot;,function(){r(0,c.lastPos[0],c.lastPos[1])}),c.wheelListener=i(s,function(r,n){if(!t.scrollZoom)return!1;var i=t.calcDataBox(),a=l.viewBox,o=c.lastPos[0],s=c.lastPos[1],u=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)*u+f,i[2]=(i[2]-f)*u+f,i[1]=(i[1]-h)*u+h,i[3]=(i[3]-h)*u+h,t.setRanges(i),c.lastInputTime=Date.now(),e(),t.cameraChanged(),t.handleAnnotations(),t.relayoutCallback(),!0}),c}},{&quot;../cartesian/constants&quot;:794,&quot;mouse-change&quot;:443,&quot;mouse-event-offset&quot;:444,&quot;mouse-wheel&quot;:446}],828:[function(t,e,r){&quot;use strict&quot;;function n(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=[&quot;x&quot;,&quot;y&quot;],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=[&quot;sans-serif&quot;,&quot;sans-serif&quot;],this.labelColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.title=&quot;&quot;,this.titleEnable=!0,this.titleCenter=[0,0,0,0],this.titleAngle=0,this.titleColor=[0,0,0,1],this.titleFont=&quot;sans-serif&quot;,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=!1,this.backgroundColor=[0,0,0,0],this.static=this.scene.staticPlot}var i=t(&quot;../cartesian/axes&quot;),a=t(&quot;../../lib/html2unicode&quot;),o=t(&quot;../../lib/str2rgbarray&quot;),s=n.prototype,l=[&quot;xaxis&quot;,&quot;yaxis&quot;];s.merge=function(t){this.titleEnable=!1,this.backgroundColor=o(t.plot_bgcolor);var e,r,n,i,s,c,u,f,h,d,p;for(d=0;d&lt;2;++d){var m=(e=l[d]).charAt(0);for(n=(r=t[this.scene[e]._name]).title===this.scene.fullLayout._dfltTitle[m]?&quot;&quot;:r.title,p=0;p&lt;=2;p+=2)this.labelEnable[d+p]=!1,this.labels[d+p]=a(n),this.labelColor[d+p]=o(r.titlefont.color),this.labelFont[d+p]=r.titlefont.family,this.labelSize[d+p]=r.titlefont.size,this.labelPad[d+p]=this.getLabelPad(e,r),this.tickEnable[d+p]=!1,this.tickColor[d+p]=o((r.tickfont||{}).color),this.tickAngle[d+p]=&quot;auto&quot;===r.tickangle?0:Math.PI*-r.tickangle/180,this.tickPad[d+p]=this.getTickPad(r),this.tickMarkLength[d+p]=0,this.tickMarkWidth[d+p]=r.tickwidth||0,this.tickMarkColor[d+p]=o(r.tickcolor),this.borderLineEnable[d+p]=!1,this.borderLineColor[d+p]=o(r.linecolor),this.borderLineWidth[d+p]=r.linewidth||0;u=this.hasSharedAxis(r),s=this.hasAxisInDfltPos(e,r)&amp;&amp;!u,c=this.hasAxisInAltrPos(e,r)&amp;&amp;!u,i=r.mirror||!1,f=u?-1!==String(i).indexOf(&quot;all&quot;):!!i,h=u?&quot;allticks&quot;===i:-1!==String(i).indexOf(&quot;ticks&quot;),s?this.labelEnable[d]=!0:c&amp;&amp;(this.labelEnable[d+2]=!0),s?this.tickEnable[d]=r.showticklabels:c&amp;&amp;(this.tickEnable[d+2]=r.showticklabels),(s||f)&amp;&amp;(this.borderLineEnable[d]=r.showline),(c||f)&amp;&amp;(this.borderLineEnable[d+2]=r.showline),(s||h)&amp;&amp;(this.tickMarkLength[d]=this.getTickMarkLength(r)),(c||h)&amp;&amp;(this.tickMarkLength[d+2]=this.getTickMarkLength(r)),this.gridLineEnable[d]=r.showgrid,this.gridLineColor[d]=o(r.gridcolor),this.gridLineWidth[d]=r.gridwidth,this.zeroLineEnable[d]=r.zeroline,this.zeroLineColor[d]=o(r.zerolinecolor),this.zeroLineWidth[d]=r.zerolinewidth}},s.hasSharedAxis=function(t){var e=this.scene,r=e.fullLayout._subplots.gl2d;return 0!==i.findSubplotsWithAxis(r,t).indexOf(e.id)},s.hasAxisInDfltPos=function(t,e){var r=e.side;return&quot;xaxis&quot;===t?&quot;bottom&quot;===r:&quot;yaxis&quot;===t?&quot;left&quot;===r:void 0},s.hasAxisInAltrPos=function(t,e){var r=e.side;return&quot;xaxis&quot;===t?&quot;top&quot;===r:&quot;yaxis&quot;===t?&quot;right&quot;===r:void 0},s.getLabelPad=function(t,e){var r=e.titlefont.size,n=e.showticklabels;return&quot;xaxis&quot;===t?&quot;top&quot;===e.side?r*(1.5+(n?1:0))-10:r*(1.5+(n?.5:0))-10:&quot;yaxis&quot;===t?&quot;right&quot;===e.side?10+r*(1.5+(n?1:.5)):10+r*(1.5+(n?.5:0)):void 0},s.getTickPad=function(t){return&quot;outside&quot;===t.ticks?10+t.ticklen:15},s.getTickMarkLength=function(t){if(!t.ticks)return 0;var e=t.ticklen;return&quot;inside&quot;===t.ticks?-e:e},e.exports=function(t){return new n(t)}},{&quot;../../lib/html2unicode&quot;:741,&quot;../../lib/str2rgbarray&quot;:765,&quot;../cartesian/axes&quot;:789}],829:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../plot_api/edit_types&quot;).overrideAll,i=t(&quot;./scene2d&quot;),a=t(&quot;../layout_attributes&quot;),o=t(&quot;../../constants/xmlns_namespaces&quot;),s=t(&quot;../cartesian/constants&quot;),l=t(&quot;../cartesian&quot;),c=t(&quot;../../components/fx/layout_attributes&quot;),u=t(&quot;../get_data&quot;).getSubplotData;r.name=&quot;gl2d&quot;,r.attr=[&quot;xaxis&quot;,&quot;yaxis&quot;],r.idRoot=[&quot;x&quot;,&quot;y&quot;],r.idRegex=s.idRegex,r.attrRegex=s.attrRegex,r.attributes=t(&quot;../cartesian/attributes&quot;),r.supplyLayoutDefaults=function(t,e,r){e._has(&quot;cartesian&quot;)||l.supplyLayoutDefaults(t,e,r)},r.layoutAttrOverrides=n(l.layoutAttributes,&quot;plot&quot;,&quot;from-root&quot;),r.baseLayoutAttrOverrides=n({plot_bgcolor:a.plot_bgcolor,hoverlabel:c.hoverlabel},&quot;plot&quot;,&quot;nested&quot;),r.plot=function(t){for(var e=t._fullLayout,r=t._fullData,n=e._subplots.gl2d,a=0;a&lt;n.length;a++){var o=n[a],s=e._plots[o],l=u(r,&quot;gl2d&quot;,o),c=s._scene2d;void 0===c&amp;&amp;(c=new i({id:o,graphDiv:t,container:t.querySelector(&quot;.gl-container&quot;),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&lt;i.length;a++){var o=i[a],s=n._plots[o];if(s._scene2d){0===u(t,&quot;gl2d&quot;,o).length&amp;&amp;(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&lt;r.length;n++){var i=e._plots[r[n]]._scene2d,a=i.toImage(&quot;png&quot;);e._glimages.append(&quot;svg:image&quot;).attr({xmlns:o.svg,&quot;xlink:href&quot;:a,x:0,y:0,width:&quot;100%&quot;,height:&quot;100%&quot;,preserveAspectRatio:&quot;none&quot;}),i.destroy()}},r.updateFx=function(t){for(var e=t._subplots.gl2d,r=0;r&lt;e.length;r++){t._plots[e[r]]._scene2d.updateFx(t.dragmode)}}},{&quot;../../components/fx/layout_attributes&quot;:661,&quot;../../constants/xmlns_namespaces&quot;:723,&quot;../../plot_api/edit_types&quot;:773,&quot;../cartesian&quot;:800,&quot;../cartesian/attributes&quot;:788,&quot;../cartesian/constants&quot;:794,&quot;../get_data&quot;:826,&quot;../layout_attributes&quot;:843,&quot;./scene2d&quot;:830}],830:[function(t,e,r){&quot;use strict&quot;;function n(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,this.fullData=null,this.updateRefs(e),this.makeFramework(),this.glplotOptions=d(this),this.glplotOptions.merge(e),this.glplot=c(this.glplotOptions),this.camera=p(this),this.traces={},this.spikes=u(this.glplot),this.selectBox=f(this.glplot,{innerFill:!1,outerFill:!0}),this.lastButtonState=0,this.pickResult=null,this.isMouseOver=!0,this.bounds=[1/0,1/0,-1/0,-1/0],this.stopped=!1,this.redraw=this.draw.bind(this),this.redraw()}var i,a,o=t(&quot;../../registry&quot;),s=t(&quot;../../plots/cartesian/axes&quot;),l=t(&quot;../../components/fx&quot;),c=t(&quot;gl-plot2d&quot;),u=t(&quot;gl-spikes2d&quot;),f=t(&quot;gl-select-box&quot;),h=t(&quot;webgl-context&quot;),d=t(&quot;./convert&quot;),p=t(&quot;./camera&quot;),m=t(&quot;../../lib/html2unicode&quot;),g=t(&quot;../../lib/show_no_webgl_msg&quot;),v=t(&quot;../cartesian/constraints&quot;),y=v.enforce,x=v.clean,b=[&quot;xaxis&quot;,&quot;yaxis&quot;],_=t(&quot;../cartesian/constants&quot;).SUBPLOT_PATTERN;e.exports=n;var w=n.prototype;w.makeFramework=function(){if(this.staticPlot){if(!(a||(i=document.createElement(&quot;canvas&quot;),a=h({canvas:i,preserveDrawingBuffer:!1,premultipliedAlpha:!0,antialias:!0}))))throw new Error(&quot;Error creating static canvas/context for image server&quot;);this.canvas=i,this.gl=a}else{var t=this.container.querySelector(&quot;.gl-canvas-focus&quot;),e=h({canvas:t,preserveDrawingBuffer:!0,premultipliedAlpha:!0});e||g(this),this.canvas=t,this.gl=e}var r=this.canvas;r.style.width=&quot;100%&quot;,r.style.height=&quot;100%&quot;,r.style.position=&quot;absolute&quot;,r.style.top=&quot;0px&quot;,r.style.left=&quot;0px&quot;,r.style[&quot;pointer-events&quot;]=&quot;none&quot;,this.updateSize(r),r.className+=&quot; user-select-none&quot;;var n=this.svgContainer=document.createElementNS(&quot;http://www.w3.org/2000/svg&quot;,&quot;svg&quot;);n.style.position=&quot;absolute&quot;,n.style.top=n.style.left=&quot;0px&quot;,n.style.width=n.style.height=&quot;100%&quot;,n.style[&quot;z-index&quot;]=20,n.style[&quot;pointer-events&quot;]=&quot;none&quot;;var o=this.mouseContainer=document.createElement(&quot;div&quot;);o.style.position=&quot;absolute&quot;,o.style[&quot;pointer-events&quot;]=&quot;auto&quot;,this.pickCanvas=this.container.querySelector(&quot;.gl-canvas-pick&quot;);var s=this.container;s.appendChild(n),s.appendChild(o);var l=this;o.addEventListener(&quot;mouseout&quot;,function(){l.isMouseOver=!1,l.unhover()}),o.addEventListener(&quot;mouseover&quot;,function(){l.isMouseOver=!0})},w.toImage=function(t){t||(t=&quot;png&quot;),this.stopped=!0,this.staticPlot&amp;&amp;this.container.appendChild(i),this.updateSize(this.canvas);var e=this.glplot.gl,r=e.drawingBufferWidth,n=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*n*4);e.readPixels(0,0,r,n,e.RGBA,e.UNSIGNED_BYTE,a);for(var o=0,s=n-1;o&lt;s;++o,--s)for(var l=0;l&lt;r;++l)for(var c=0;c&lt;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(&quot;canvas&quot;);f.width=r,f.height=n;var h=f.getContext(&quot;2d&quot;),d=h.createImageData(r,n);d.data.set(a),h.putImageData(d,0,0);var p;switch(t){case&quot;jpeg&quot;:p=f.toDataURL(&quot;image/jpeg&quot;);break;case&quot;webp&quot;:p=f.toDataURL(&quot;image/webp&quot;);break;default:p=f.toDataURL(&quot;image/png&quot;)}return this.staticPlot&amp;&amp;this.container.removeChild(i),p},w.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&amp;&amp;t.height===o||(t.width=a,t.height=o),this.redraw&amp;&amp;this.redraw(),t},w.computeTickMarks=function(){this.xaxis.setScale(),this.yaxis.setScale();for(var t=[s.calcTicks(this.xaxis),s.calcTicks(this.yaxis)],e=0;e&lt;2;++e)for(var r=0;r&lt;t[e].length;++r)t[e][r].text=m(t[e][r].text+&quot;&quot;);return t},w.updateRefs=function(t){this.fullLayout=t;var e=this.id.match(_),r=&quot;xaxis&quot;+e[1],n=&quot;yaxis&quot;+e[2];this.xaxis=this.fullLayout[r],this.yaxis=this.fullLayout[n]},w.relayoutCallback=function(){var t=this.graphDiv,e=this.xaxis,r=this.yaxis,n=t.layout;n.xaxis.autorange=e.autorange,n.xaxis.range=e.range.slice(0),n.yaxis.autorange=r.autorange,n.yaxis.range=r.range.slice(0);var i={lastInputTime:this.camera.lastInputTime};i[e._name]=e.range.slice(0),i[r._name]=r.range.slice(0),t.emit(&quot;plotly_relayout&quot;,i)},w.cameraChanged=function(){var t=this.camera;this.glplot.setDataBox(this.calcDataBox());var e=this.computeTickMarks();(function(t,e){for(var r=0;r&lt;2;++r){var n=t[r],i=e[r];if(n.length!==i.length)return!0;for(var a=0;a&lt;n.length;++a)if(n[a].x!==i[a].x)return!0}return!1})(e,this.glplotOptions.ticks)&amp;&amp;(this.glplotOptions.ticks=e,this.glplotOptions.dataBox=t.dataBox,this.glplot.update(this.glplotOptions),this.handleAnnotations())},w.handleAnnotations=function(){for(var t=this.graphDiv,e=this.fullLayout.annotations,r=0;r&lt;e.length;r++){var n=e[r];n.xref===this.xaxis._id&amp;&amp;n.yref===this.yaxis._id&amp;&amp;o.getComponentMethod(&quot;annotations&quot;,&quot;drawOne&quot;)(t,r)}},w.destroy=function(){if(this.glplot){var t=this.traces;t&amp;&amp;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(&quot;wheel&quot;,this.camera.wheelListener),this.camera=null}},w.plot=function(t,e,r){var n=this.glplot;this.updateRefs(r),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 l={_fullLayout:{_axisConstraintGroups:this.graphDiv._fullLayout._axisConstraintGroups,xaxis:this.xaxis,yaxis:this.yaxis}};x(l,this.xaxis),x(l,this.yaxis);var c=r._size,u=this.xaxis.domain,f=this.yaxis.domain;o.viewBox=[c.l+u[0]*c.w,c.b+f[0]*c.h,i-c.r-(1-u[1])*c.w,a-c.t-(1-f[1])*c.h],this.mouseContainer.style.width=c.w*(u[1]-u[0])+&quot;px&quot;,this.mouseContainer.style.height=c.h*(f[1]-f[0])+&quot;px&quot;,this.mouseContainer.height=c.h*(f[1]-f[0]),this.mouseContainer.style.left=c.l+u[0]*c.w+&quot;px&quot;,this.mouseContainer.style.top=c.t+(1-f[1])*c.h+&quot;px&quot;;var h=this.bounds;h[0]=h[1]=1/0,h[2]=h[3]=-1/0;var d,p,m=Object.keys(this.traces);for(p=0;p&lt;m.length;++p)for(var g=this.traces[m[p]],v=0;v&lt;2;++v)h[v]=Math.min(h[v],g.bounds[v]),h[v+2]=Math.max(h[v+2],g.bounds[v+2]);for(p=0;p&lt;2;++p)h[p]&gt;h[p+2]&amp;&amp;(h[p]=-1,h[p+2]=1),(d=this[b[p]])._length=o.viewBox[p+2]-o.viewBox[p],s.doAutoRange(d),d.setScale();y(l),o.ticks=this.computeTickMarks(),o.dataBox=this.calcDataBox(),o.merge(r),n.update(o),this.glplot.draw()},w.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])]},w.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])]},w.updateTraces=function(t,e){var r,n,i,a=Object.keys(this.traces);this.fullData=t;t:for(r=0;r&lt;a.length;r++){var o=a[r],s=this.traces[o];for(n=0;n&lt;t.length;n++)if((i=t[n]).uid===o&amp;&amp;i.type===s.type)continue t;s.dispose(),delete this.traces[o]}for(r=0;r&lt;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})},w.updateFx=function(t){&quot;lasso&quot;===t||&quot;select&quot;===t?(this.pickCanvas.style[&quot;pointer-events&quot;]=&quot;none&quot;,this.mouseContainer.style[&quot;pointer-events&quot;]=&quot;none&quot;):(this.pickCanvas.style[&quot;pointer-events&quot;]=&quot;auto&quot;,this.mouseContainer.style[&quot;pointer-events&quot;]=&quot;auto&quot;),this.mouseContainer.style.cursor=&quot;pan&quot;===t?&quot;move&quot;:&quot;zoom&quot;===t?&quot;crosshair&quot;:null},w.emitPointAction=function(t,e){for(var r,n=t.trace.uid,i=t.pointIndex,a=0;a&lt;this.fullData.length;a++)this.fullData[a].uid===n&amp;&amp;(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};l.appendArrayPointValue(o,r,i),this.graphDiv.emit(e,{points:[o]})},w.draw=function(){if(!this.stopped){requestAnimationFrame(this.redraw);var t=this.glplot,e=this.camera,r=e.mouseListener,n=1===this.lastButtonState&amp;&amp;0===r.buttons,i=this.fullLayout;this.lastButtonState=r.buttons,this.cameraChanged();var a,o=r.x*t.pixelRatio,s=this.canvas.height-t.pixelRatio*r.y;if(e.boxEnabled&amp;&amp;&quot;zoom&quot;===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&lt;2;u++)e.boxStart[u]===e.boxEnd[u]&amp;&amp;(c[u]=t.dataBox[u],c[u+2]=t.dataBox[u+2]);t.setDirty()}else if(!e.panning&amp;&amp;this.isMouseOver){this.selectBox.enabled=!1;var f=i._size,h=this.xaxis.domain,d=this.yaxis.domain,p=(a=t.pick(o/t.pixelRatio+f.l+h[0]*f.w,s/t.pixelRatio-(f.t+(1-d[1])*f.h)))&amp;&amp;a.object._trace.handlePick(a);if(p&amp;&amp;n&amp;&amp;this.emitPointAction(p,&quot;plotly_click&quot;),a&amp;&amp;&quot;skip&quot;!==a.object._trace.hoverinfo&amp;&amp;i.hovermode&amp;&amp;p&amp;&amp;(!this.lastPickResult||this.lastPickResult.traceUid!==p.trace.uid||this.lastPickResult.dataCoord[0]!==p.dataCoord[0]||this.lastPickResult.dataCoord[1]!==p.dataCoord[1])){var m=p;this.lastPickResult={traceUid:p.trace?p.trace.uid:null,dataCoord:p.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(p,&quot;plotly_hover&quot;);var g=this.fullData[m.trace.index]||{},v=m.pointIndex,y=l.castHoverinfo(g,i,v);if(y&amp;&amp;&quot;all&quot;!==y){var x=y.split(&quot;+&quot;);-1===x.indexOf(&quot;x&quot;)&amp;&amp;(m.traceCoord[0]=void 0),-1===x.indexOf(&quot;y&quot;)&amp;&amp;(m.traceCoord[1]=void 0),-1===x.indexOf(&quot;z&quot;)&amp;&amp;(m.traceCoord[2]=void 0),-1===x.indexOf(&quot;text&quot;)&amp;&amp;(m.textLabel=void 0),-1===x.indexOf(&quot;name&quot;)&amp;&amp;(m.name=void 0)}l.loneHover({x:m.screenCoord[0],y:m.screenCoord[1],xLabel:this.hoverFormatter(&quot;xaxis&quot;,m.traceCoord[0]),yLabel:this.hoverFormatter(&quot;yaxis&quot;,m.traceCoord[1]),zLabel:m.traceCoord[2],text:m.textLabel,name:m.name,color:l.castHoverOption(g,v,&quot;bgcolor&quot;)||m.color,borderColor:l.castHoverOption(g,v,&quot;bordercolor&quot;),fontFamily:l.castHoverOption(g,v,&quot;font.family&quot;),fontSize:l.castHoverOption(g,v,&quot;font.size&quot;),fontColor:l.castHoverOption(g,v,&quot;font.color&quot;)},{container:this.svgContainer,gd:this.graphDiv})}}a||this.unhover(),t.draw()}},w.unhover=function(){this.lastPickResult&amp;&amp;(this.spikes.update({}),this.lastPickResult=null,this.graphDiv.emit(&quot;plotly_unhover&quot;),l.loneUnhover(this.svgContainer))},w.hoverFormatter=function(t,e){if(void 0!==e){var r=this[t];return s.tickText(r,r.c2l(e),&quot;hover&quot;).text}}},{&quot;../../components/fx&quot;:660,&quot;../../lib/html2unicode&quot;:741,&quot;../../lib/show_no_webgl_msg&quot;:763,&quot;../../plots/cartesian/axes&quot;:789,&quot;../../registry&quot;:873,&quot;../cartesian/constants&quot;:794,&quot;../cartesian/constraints&quot;:796,&quot;./camera&quot;:827,&quot;./convert&quot;:828,&quot;gl-plot2d&quot;:224,&quot;gl-select-box&quot;:241,&quot;gl-spikes2d&quot;:250,&quot;webgl-context&quot;:577}],831:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t,e){function r(e,r,i,a){var o=p.keyBindingMode;if(!1!==o){var s=&quot;rotate&quot;===o,l=&quot;pan&quot;===o,u=&quot;zoom&quot;===o,h=!!a.control,d=!!a.alt,y=!!a.shift,x=!!(1&amp;e),b=!!(2&amp;e),_=!!(4&amp;e),w=1/t.clientHeight,M=w*(r-m),k=w*(i-g),A=p.flipX?1:-1,T=p.flipY?1:-1,S=n(),E=Math.PI*p.rotateSpeed;if((s&amp;&amp;x&amp;&amp;!h&amp;&amp;!d&amp;&amp;!y||x&amp;&amp;!h&amp;&amp;!d&amp;&amp;y)&amp;&amp;c.rotate(S,A*E*M,-T*E*k,0),(l&amp;&amp;x&amp;&amp;!h&amp;&amp;!d&amp;&amp;!y||b||x&amp;&amp;h&amp;&amp;!d&amp;&amp;!y)&amp;&amp;c.pan(S,-p.translateSpeed*M*f,p.translateSpeed*k*f,0),u&amp;&amp;x&amp;&amp;!h&amp;&amp;!d&amp;&amp;!y||_||x&amp;&amp;!h&amp;&amp;d&amp;&amp;!y){var L=-p.zoomSpeed*k/window.innerHeight*(S-c.lastT())*100;c.pan(S,0,0,f*(Math.exp(L)-1))}return m=r,g=i,v=a,!0}}t=t||document.body;var l=[.01,1/0];&quot;distanceLimits&quot;in(e=e||{})&amp;&amp;(l[0]=e.distanceLimits[0],l[1]=e.distanceLimits[1]),&quot;zoomMin&quot;in e&amp;&amp;(l[0]=e.zoomMin),&quot;zoomMax&quot;in e&amp;&amp;(l[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||&quot;orbit&quot;,distanceLimits:l}),u=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],f=0,h=t.clientWidth,d=t.clientHeight,p={keyBindingMode:&quot;rotate&quot;,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,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&lt;16;++s)a=a&amp;&amp;u[s]===o[s],u[s]=o[s];var l=t.clientWidth===h&amp;&amp;t.clientHeight===d;return h=t.clientWidth,d=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)}};Object.defineProperties(p,{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),&quot;turntable&quot;===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(l)},set:function(t){return c.setDistanceLimits(t),t},enumerable:!0}}),t.addEventListener(&quot;contextmenu&quot;,function(t){return t.preventDefault(),!1});var m=0,g=0,v={shift:!1,control:!1,alt:!1,meta:!1};return p.mouseListener=a(t,r),t.addEventListener(&quot;touchstart&quot;,function(e){var n=s(e.changedTouches[0],t);r(0,n[0],n[1],v),r(1,n[0],n[1],v)}),t.addEventListener(&quot;touchmove&quot;,function(e){var n=s(e.changedTouches[0],t);r(1,n[0],n[1],v)}),t.addEventListener(&quot;touchend&quot;,function(){r(0,m,g,v)}),p.wheelListener=o(t,function(t,e){if(!1!==p.keyBindingMode){var r=p.flipX?1:-1,i=p.flipY?1:-1,a=n();if(Math.abs(t)&gt;Math.abs(e))c.rotate(a,0,0,-t*r*Math.PI*p.rotateSpeed/window.innerWidth);else{var o=-p.zoomSpeed*i*e/window.innerHeight*(a-c.lastT())/20;c.pan(a,0,0,f*(Math.exp(o)-1))}}},!0),p};var n=t(&quot;right-now&quot;),i=t(&quot;3d-view&quot;),a=t(&quot;mouse-change&quot;),o=t(&quot;mouse-wheel&quot;),s=t(&quot;mouse-event-offset&quot;)},{&quot;3d-view&quot;:40,&quot;mouse-change&quot;:443,&quot;mouse-event-offset&quot;:444,&quot;mouse-wheel&quot;:446,&quot;right-now&quot;:509}],832:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../plot_api/edit_types&quot;).overrideAll,i=t(&quot;../../components/fx/layout_attributes&quot;),a=t(&quot;./scene&quot;),o=t(&quot;../get_data&quot;).getSubplotData,s=t(&quot;../../lib&quot;),l=t(&quot;../../constants/xmlns_namespaces&quot;);r.name=&quot;gl3d&quot;,r.attr=&quot;scene&quot;,r.idRoot=&quot;scene&quot;,r.idRegex=r.attrRegex=s.counterRegex(&quot;scene&quot;),r.attributes=t(&quot;./layout/attributes&quot;),r.layoutAttributes=t(&quot;./layout/layout_attributes&quot;),r.baseLayoutAttrOverrides=n({hoverlabel:i.hoverlabel},&quot;plot&quot;,&quot;nested&quot;),r.supplyLayoutDefaults=t(&quot;./layout/defaults&quot;),r.plot=function(t){for(var e=t._fullLayout,r=t._fullData,n=e._subplots.gl3d,i=0;i&lt;n.length;i++){var l=n[i],c=o(r,&quot;gl3d&quot;,l),u=e[l],f=u._scene;f||(f=new a({id:l,graphDiv:t,container:t.querySelector(&quot;.gl-container&quot;),staticPlot:t._context.staticPlot,plotGlPixelRatio:t._context.plotGlPixelRatio},e),u._scene=f),f.cameraInitial||(f.cameraInitial=s.extendDeep({},u.camera)),f.plot(c,e,t.layout)}},r.clean=function(t,e,r,n){for(var i=n._subplots.gl3d||[],a=0;a&lt;i.length;a++){var o=i[a];!e[o]&amp;&amp;n[o]._scene&amp;&amp;(n[o]._scene.destroy(),n._infolayer&amp;&amp;n._infolayer.selectAll(&quot;.annotation-&quot;+o).remove())}},r.toSVG=function(t){for(var e=t._fullLayout,r=e._subplots.gl3d,n=e._size,i=0;i&lt;r.length;i++){var a=e[r[i]],o=a.domain,s=a._scene,c=s.toImage(&quot;png&quot;);e._glimages.append(&quot;svg:image&quot;).attr({xmlns:l.svg,&quot;xlink:href&quot;: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:&quot;none&quot;}),s.destroy()}},r.cleanId=function(t){if(t.match(/^scene[0-9]*$/)){var e=t.substr(5);return&quot;1&quot;===e&amp;&amp;(e=&quot;&quot;),&quot;scene&quot;+e}},r.updateFx=function(t){for(var e=t._subplots.gl3d,r=0;r&lt;e.length;r++){t[e[r]]._scene.updateFx(t.dragmode,t.hovermode)}}},{&quot;../../components/fx/layout_attributes&quot;:661,&quot;../../constants/xmlns_namespaces&quot;:723,&quot;../../lib&quot;:743,&quot;../../plot_api/edit_types&quot;:773,&quot;../get_data&quot;:826,&quot;./layout/attributes&quot;:833,&quot;./layout/defaults&quot;:837,&quot;./layout/layout_attributes&quot;:838,&quot;./scene&quot;:842}],833:[function(t,e,r){&quot;use strict&quot;;e.exports={scene:{valType:&quot;subplotid&quot;,dflt:&quot;scene&quot;,editType:&quot;calc+clearAxisTypes&quot;}}},{}],834:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../../components/color&quot;),i=t(&quot;../../cartesian/layout_attributes&quot;),a=t(&quot;../../../lib/extend&quot;).extendFlat,o=t(&quot;../../../plot_api/edit_types&quot;).overrideAll;e.exports=o({visible:i.visible,showspikes:{valType:&quot;boolean&quot;,dflt:!0},spikesides:{valType:&quot;boolean&quot;,dflt:!0},spikethickness:{valType:&quot;number&quot;,min:0,dflt:2},spikecolor:{valType:&quot;color&quot;,dflt:n.defaultLine},showbackground:{valType:&quot;boolean&quot;,dflt:!1},backgroundcolor:{valType:&quot;color&quot;,dflt:&quot;rgba(204, 204, 204, 0.5)&quot;},showaxeslabels:{valType:&quot;boolean&quot;,dflt:!0},color:i.color,categoryorder:i.categoryorder,categoryarray:i.categoryarray,title:i.title,titlefont:i.titlefont,type:i.type,autorange:i.autorange,rangemode:i.rangemode,range:i.range,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,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:&quot;rgb(204, 204, 204)&quot;}),gridwidth:i.gridwidth,zeroline:i.zeroline,zerolinecolor:i.zerolinecolor,zerolinewidth:i.zerolinewidth},&quot;plot&quot;,&quot;from-root&quot;)},{&quot;../../../components/color&quot;:618,&quot;../../../lib/extend&quot;:732,&quot;../../../plot_api/edit_types&quot;:773,&quot;../../cartesian/layout_attributes&quot;:801}],835:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;tinycolor2&quot;).mix,i=t(&quot;../../../lib&quot;),a=t(&quot;./axis_attributes&quot;),o=t(&quot;../../cartesian/type_defaults&quot;),s=t(&quot;../../cartesian/axis_defaults&quot;),l=[&quot;xaxis&quot;,&quot;yaxis&quot;,&quot;zaxis&quot;];e.exports=function(t,e,r){function c(t,e){return i.coerce(u,f,a,t,e)}for(var u,f,h=0;h&lt;l.length;h++){var d=l[h];u=t[d]||{},f=e[d]={_id:d[0]+r.scene,_name:d},o(u,f,c,r.data),s(u,f,c,{font:r.font,letter:d[0],data:r.data,showGrid:!0,bgColor:r.bgColor,calendar:r.calendar},r.fullLayout),c(&quot;gridcolor&quot;,n(f.color,r.bgColor,13600/187).toRgbString()),c(&quot;title&quot;,d[0]),f.setScale=i.noop,c(&quot;showspikes&quot;)&amp;&amp;(c(&quot;spikesides&quot;),c(&quot;spikethickness&quot;),c(&quot;spikecolor&quot;,f.color)),c(&quot;showaxeslabels&quot;),c(&quot;showbackground&quot;)&amp;&amp;c(&quot;backgroundcolor&quot;)}}},{&quot;../../../lib&quot;:743,&quot;../../cartesian/axis_defaults&quot;:791,&quot;../../cartesian/type_defaults&quot;:813,&quot;./axis_attributes&quot;:834,tinycolor2:546}],836:[function(t,e,r){&quot;use strict&quot;;function n(){this.bounds=[[-10,-10,-10],[10,10,10]],this.ticks=[[],[],[]],this.tickEnable=[!0,!0,!0],this.tickFont=[&quot;sans-serif&quot;,&quot;sans-serif&quot;,&quot;sans-serif&quot;],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=[&quot;x&quot;,&quot;y&quot;,&quot;z&quot;],this.labelEnable=[!0,!0,!0],this.labelFont=[&quot;Open Sans&quot;,&quot;Open Sans&quot;,&quot;Open Sans&quot;],this.labelSize=[20,20,20],this.labelAngle=[0,0,0],this.labelColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.labelPad=[30,30,30],this.lineEnable=[!0,!0,!0],this.lineMirror=[!1,!1,!1],this.lineWidth=[1,1,1],this.lineColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.lineTickEnable=[!0,!0,!0],this.lineTickMirror=[!1,!1,!1],this.lineTickLength=[10,10,10],this.lineTickWidth=[1,1,1],this.lineTickColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.gridEnable=[!0,!0,!0],this.gridWidth=[1,1,1],this.gridColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.zeroEnable=[!0,!0,!0],this.zeroLineColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.zeroLineWidth=[2,2,2],this.backgroundEnable=[!0,!0,!0],this.backgroundColor=[[.8,.8,.8,.5],[.8,.8,.8,.5],[.8,.8,.8,.5]],this._defaultTickPad=this.tickPad.slice(),this._defaultLabelPad=this.labelPad.slice(),this._defaultLineTickLength=this.lineTickLength.slice()}var i=t(&quot;../../../lib/html2unicode&quot;),a=t(&quot;../../../lib/str2rgbarray&quot;),o=[&quot;xaxis&quot;,&quot;yaxis&quot;,&quot;zaxis&quot;];n.prototype.merge=function(t){for(var e=0;e&lt;3;++e){var r=t[o[e]];r.visible?(this.labels[e]=i(r.title),&quot;titlefont&quot;in r&amp;&amp;(r.titlefont.color&amp;&amp;(this.labelColor[e]=a(r.titlefont.color)),r.titlefont.family&amp;&amp;(this.labelFont[e]=r.titlefont.family),r.titlefont.size&amp;&amp;(this.labelSize[e]=r.titlefont.size)),&quot;showline&quot;in r&amp;&amp;(this.lineEnable[e]=r.showline),&quot;linecolor&quot;in r&amp;&amp;(this.lineColor[e]=a(r.linecolor)),&quot;linewidth&quot;in r&amp;&amp;(this.lineWidth[e]=r.linewidth),&quot;showgrid&quot;in r&amp;&amp;(this.gridEnable[e]=r.showgrid),&quot;gridcolor&quot;in r&amp;&amp;(this.gridColor[e]=a(r.gridcolor)),&quot;gridwidth&quot;in r&amp;&amp;(this.gridWidth[e]=r.gridwidth),&quot;log&quot;===r.type?this.zeroEnable[e]=!1:&quot;zeroline&quot;in r&amp;&amp;(this.zeroEnable[e]=r.zeroline),&quot;zerolinecolor&quot;in r&amp;&amp;(this.zeroLineColor[e]=a(r.zerolinecolor)),&quot;zerolinewidth&quot;in r&amp;&amp;(this.zeroLineWidth[e]=r.zerolinewidth),&quot;ticks&quot;in r&amp;&amp;r.ticks?this.lineTickEnable[e]=!0:this.lineTickEnable[e]=!1,&quot;ticklen&quot;in r&amp;&amp;(this.lineTickLength[e]=this._defaultLineTickLength[e]=r.ticklen),&quot;tickcolor&quot;in r&amp;&amp;(this.lineTickColor[e]=a(r.tickcolor)),&quot;tickwidth&quot;in r&amp;&amp;(this.lineTickWidth[e]=r.tickwidth),&quot;tickangle&quot;in r&amp;&amp;(this.tickAngle[e]=&quot;auto&quot;===r.tickangle?0:Math.PI*-r.tickangle/180),&quot;showticklabels&quot;in r&amp;&amp;(this.tickEnable[e]=r.showticklabels),&quot;tickfont&quot;in r&amp;&amp;(r.tickfont.color&amp;&amp;(this.tickColor[e]=a(r.tickfont.color)),r.tickfont.family&amp;&amp;(this.tickFont[e]=r.tickfont.family),r.tickfont.size&amp;&amp;(this.tickSize[e]=r.tickfont.size)),&quot;mirror&quot;in r?-1!==[&quot;ticks&quot;,&quot;all&quot;,&quot;allticks&quot;].indexOf(r.mirror)?(this.lineTickMirror[e]=!0,this.lineMirror[e]=!0):!0===r.mirror?(this.lineTickMirror[e]=!1,this.lineMirror[e]=!0):(this.lineTickMirror[e]=!1,this.lineMirror[e]=!1):this.lineMirror[e]=!1,&quot;showbackground&quot;in r&amp;&amp;!1!==r.showbackground?(this.backgroundEnable[e]=!0,this.backgroundColor[e]=a(r.backgroundcolor)):this.backgroundEnable[e]=!1):(this.tickEnable[e]=!1,this.labelEnable[e]=!1,this.lineEnable[e]=!1,this.lineTickEnable[e]=!1,this.gridEnable[e]=!1,this.zeroEnable[e]=!1,this.backgroundEnable[e]=!1)}},e.exports=function(t){var e=new n;return e.merge(t),e}},{&quot;../../../lib/html2unicode&quot;:741,&quot;../../../lib/str2rgbarray&quot;:765}],837:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,n){for(var i=r(&quot;bgcolor&quot;),s=a.combine(i,n.paper_bgcolor),c=[&quot;up&quot;,&quot;center&quot;,&quot;eye&quot;],u=0;u&lt;c.length;u++)r(&quot;camera.&quot;+c[u]+&quot;.x&quot;),r(&quot;camera.&quot;+c[u]+&quot;.y&quot;),r(&quot;camera.&quot;+c[u]+&quot;.z&quot;);var f=!!r(&quot;aspectratio.x&quot;)&amp;&amp;!!r(&quot;aspectratio.y&quot;)&amp;&amp;!!r(&quot;aspectratio.z&quot;),h=r(&quot;aspectmode&quot;,f?&quot;manual&quot;:&quot;auto&quot;);f||(t.aspectratio=e.aspectratio={x:1,y:1,z:1},&quot;manual&quot;===h&amp;&amp;(e.aspectmode=&quot;auto&quot;),t.aspectmode=e.aspectmode),l(t,e,{font:n.font,scene:n.id,data:n.fullData,bgColor:s,calendar:n.calendar,fullLayout:n.fullLayout}),o.getComponentMethod(&quot;annotations3d&quot;,&quot;handleDefaults&quot;)(t,e,n),r(&quot;dragmode&quot;,n.getDfltFromLayout(&quot;dragmode&quot;)),r(&quot;hovermode&quot;,n.getDfltFromLayout(&quot;hovermode&quot;))}var i=t(&quot;../../../lib&quot;),a=t(&quot;../../../components/color&quot;),o=t(&quot;../../../registry&quot;),s=t(&quot;../../subplot_defaults&quot;),l=t(&quot;./axis_defaults&quot;),c=t(&quot;./layout_attributes&quot;);e.exports=function(t,e,r){var a=e._basePlotModules.length&gt;1;s(t,e,r,{type:&quot;gl3d&quot;,attributes:c,handleDefaults:n,fullLayout:e,font:e.font,fullData:r,getDfltFromLayout:function(e){if(!a)return i.validate(t[e],c[e])?t[e]:void 0},paper_bgcolor:e.paper_bgcolor,calendar:e.calendar})}},{&quot;../../../components/color&quot;:618,&quot;../../../lib&quot;:743,&quot;../../../registry&quot;:873,&quot;../../subplot_defaults&quot;:865,&quot;./axis_defaults&quot;:835,&quot;./layout_attributes&quot;:838}],838:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r){return{x:{valType:&quot;number&quot;,dflt:t,editType:&quot;camera&quot;},y:{valType:&quot;number&quot;,dflt:e,editType:&quot;camera&quot;},z:{valType:&quot;number&quot;,dflt:r,editType:&quot;camera&quot;},editType:&quot;camera&quot;}}var i=t(&quot;./axis_attributes&quot;),a=t(&quot;../../domain_attributes&quot;),o=t(&quot;../../../lib/extend&quot;).extendFlat,s=t(&quot;../../../lib&quot;).counterRegex;e.exports={_arrayAttrRegexps:[s(&quot;scene&quot;,&quot;.annotations&quot;,!0)],bgcolor:{valType:&quot;color&quot;,dflt:&quot;rgba(0,0,0,0)&quot;,editType:&quot;plot&quot;},camera:{up:o(n(0,0,1),{}),center:o(n(0,0,0),{}),eye:o(n(1.25,1.25,1.25),{}),editType:&quot;camera&quot;},domain:a({name:&quot;scene&quot;,editType:&quot;plot&quot;}),aspectmode:{valType:&quot;enumerated&quot;,values:[&quot;auto&quot;,&quot;cube&quot;,&quot;data&quot;,&quot;manual&quot;],dflt:&quot;auto&quot;,editType:&quot;plot&quot;,impliedEdits:{&quot;aspectratio.x&quot;:void 0,&quot;aspectratio.y&quot;:void 0,&quot;aspectratio.z&quot;:void 0}},aspectratio:{x:{valType:&quot;number&quot;,min:0,editType:&quot;plot&quot;,impliedEdits:{&quot;^aspectmode&quot;:&quot;manual&quot;}},y:{valType:&quot;number&quot;,min:0,editType:&quot;plot&quot;,impliedEdits:{&quot;^aspectmode&quot;:&quot;manual&quot;}},z:{valType:&quot;number&quot;,min:0,editType:&quot;plot&quot;,impliedEdits:{&quot;^aspectmode&quot;:&quot;manual&quot;}},editType:&quot;plot&quot;,impliedEdits:{aspectmode:&quot;manual&quot;}},xaxis:i,yaxis:i,zaxis:i,dragmode:{valType:&quot;enumerated&quot;,values:[&quot;orbit&quot;,&quot;turntable&quot;,&quot;zoom&quot;,&quot;pan&quot;,!1],dflt:&quot;turntable&quot;,editType:&quot;plot&quot;},hovermode:{valType:&quot;enumerated&quot;,values:[&quot;closest&quot;,!1],dflt:&quot;closest&quot;,editType:&quot;modebar&quot;},editType:&quot;plot&quot;,_deprecated:{cameraposition:{valType:&quot;info_array&quot;,editType:&quot;camera&quot;}}}},{&quot;../../../lib&quot;:743,&quot;../../../lib/extend&quot;:732,&quot;../../domain_attributes&quot;:815,&quot;./axis_attributes&quot;:834}],839:[function(t,e,r){&quot;use strict&quot;;function n(){this.enabled=[!0,!0,!0],this.colors=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.drawSides=[!0,!0,!0],this.lineWidth=[1,1,1]}var i=t(&quot;../../../lib/str2rgbarray&quot;),a=[&quot;xaxis&quot;,&quot;yaxis&quot;,&quot;zaxis&quot;];n.prototype.merge=function(t){for(var e=0;e&lt;3;++e){var r=t[a[e]];r.visible?(this.enabled[e]=r.showspikes,this.colors[e]=i(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 n;return e.merge(t),e}},{&quot;../../../lib/str2rgbarray&quot;:765}],840:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t){for(var e=t.axesOptions,r=t.glplot.axesPixels,l=t.fullSceneLayout,c=[[],[],[]],u=0;u&lt;3;++u){var f=l[o[u]];if(f._length=(r[u].hi-r[u].lo)*r[u].pixelsPerDataUnit/t.dataScale[u],Math.abs(f._length)===1/0)c[u]=[];else{f.range[0]=r[u].lo/t.dataScale[u],f.range[1]=r[u].hi/t.dataScale[u],f._m=1/(t.dataScale[u]*r[u].pixelsPerDataUnit),f.range[0]===f.range[1]&amp;&amp;(f.range[0]-=1,f.range[1]+=1);var h=f.tickmode;if(&quot;auto&quot;===f.tickmode){f.tickmode=&quot;linear&quot;;var d=f.nticks||i.constrain(f._length/40,4,9);n.autoTicks(f,Math.abs(f.range[1]-f.range[0])/d)}for(var p=n.calcTicks(f),m=0;m&lt;p.length;++m)p[m].x=p[m].x*t.dataScale[u],p[m].text=a(p[m].text);c[u]=p,f.tickmode=h}}for(e.ticks=c,u=0;u&lt;3;++u)for(s[u]=.5*(t.glplot.bounds[0][u]+t.glplot.bounds[1][u]),m=0;m&lt;2;++m)e.bounds[m][u]=t.glplot.bounds[m][u];t.contourLevels=function(t){for(var e=new Array(3),r=0;r&lt;3;++r){for(var n=t[r],i=new Array(n.length),a=0;a&lt;n.length;++a)i[a]=n[a].x;e[r]=i}return e}(c)};var n=t(&quot;../../cartesian/axes&quot;),i=t(&quot;../../../lib&quot;),a=t(&quot;../../../lib/html2unicode&quot;),o=[&quot;xaxis&quot;,&quot;yaxis&quot;,&quot;zaxis&quot;],s=[0,0,0]},{&quot;../../../lib&quot;:743,&quot;../../../lib/html2unicode&quot;:741,&quot;../../cartesian/axes&quot;:789}],841:[function(t,e,r){&quot;use strict&quot;;function n(t,e){var r,n,i=[0,0,0,0];for(r=0;r&lt;4;++r)for(n=0;n&lt;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])))}},{}],842:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,n){var i={canvas:r,gl:n,container:t.container,axes:t.axesOptions,spikes:t.spikeOptions,pickRadius:10,snapToData:!0,autoScale:!0,autoBounds:!1};if(t.staticMode){if(!(c||(l=document.createElement(&quot;canvas&quot;),c=f({canvas:l,preserveDrawingBuffer:!0,premultipliedAlpha:!0,antialias:!0}))))throw new Error(&quot;error creating static canvas/context for image server&quot;);i.pixelRatio=t.pixelRatio,i.gl=c,i.canvas=l}try{t.glplot=u(i)}catch(e){v(t)}var a=function(t){if(!1!==t.fullSceneLayout.dragmode){var e={};e[t.id+&quot;.camera&quot;]=s(t.camera),t.saveCamera(t.graphDiv.layout),t.graphDiv.emit(&quot;plotly_relayout&quot;,e)}};if(t.glplot.canvas.addEventListener(&quot;mouseup&quot;,a.bind(null,t)),t.glplot.canvas.addEventListener(&quot;wheel&quot;,a.bind(null,t)),t.staticMode||t.glplot.canvas.addEventListener(&quot;webglcontextlost&quot;,function(t){d.warn(&quot;Lost WebGL context.&quot;),t.preventDefault()}),!t.camera){var o=t.fullSceneLayout.camera;t.camera=y(t.container,{center:[o.center.x,o.center.y,o.center.z],eye:[o.eye.x,o.eye.y,o.eye.z],up:[o.up.x,o.up.y,o.up.z],zoomMin:.1,zoomMax:100,mode:&quot;orbit&quot;})}return t.glplot.camera=t.camera,t.glplot.oncontextloss=function(){t.recoverContext()},t.glplot.onrender=function(t){function e(e,r){var n=t.fullSceneLayout[e];return p.tickText(n,n.d2l(r),&quot;hover&quot;).text}var r,n=t.svgContainer,i=t.container.getBoundingClientRect(),a=i.width,o=i.height;n.setAttributeNS(null,&quot;viewBox&quot;,&quot;0 0 &quot;+a+&quot; &quot;+o),n.setAttributeNS(null,&quot;width&quot;,a),n.setAttributeNS(null,&quot;height&quot;,o),w(t),t.glplot.axes.update(t.axesOptions);for(var s=Object.keys(t.traces),l=null,c=t.glplot.selection,u=0;u&lt;s.length;++u)&quot;skip&quot;!==(r=t.traces[s[u]]).data.hoverinfo&amp;&amp;r.handlePick(c)&amp;&amp;(l=r),r.setContourLevels&amp;&amp;r.setContourLevels();var f;if(null!==l){var h=x(t.glplot.cameraParams,c.dataCoordinate);r=l.data;var d=c.index,g=m.castHoverinfo(r,t.fullLayout,d),v=e(&quot;xaxis&quot;,c.traceCoordinate[0]),y=e(&quot;yaxis&quot;,c.traceCoordinate[1]),b=e(&quot;zaxis&quot;,c.traceCoordinate[2]);if(&quot;all&quot;!==g){var _=g.split(&quot;+&quot;);-1===_.indexOf(&quot;x&quot;)&amp;&amp;(v=void 0),-1===_.indexOf(&quot;y&quot;)&amp;&amp;(y=void 0),-1===_.indexOf(&quot;z&quot;)&amp;&amp;(b=void 0),-1===_.indexOf(&quot;text&quot;)&amp;&amp;(c.textLabel=void 0),-1===_.indexOf(&quot;name&quot;)&amp;&amp;(l.name=void 0)}t.fullSceneLayout.hovermode&amp;&amp;m.loneHover({x:(.5+.5*h[0]/h[3])*a,y:(.5-.5*h[1]/h[3])*o,xLabel:v,yLabel:y,zLabel:b,text:c.textLabel,name:l.name,color:m.castHoverOption(r,d,&quot;bgcolor&quot;)||l.color,borderColor:m.castHoverOption(r,d,&quot;bordercolor&quot;),fontFamily:m.castHoverOption(r,d,&quot;font.family&quot;),fontSize:m.castHoverOption(r,d,&quot;font.size&quot;),fontColor:m.castHoverOption(r,d,&quot;font.color&quot;)},{container:n,gd:t.graphDiv});var M={x:c.traceCoordinate[0],y:c.traceCoordinate[1],z:c.traceCoordinate[2],data:r._input,fullData:r,curveNumber:r.index,pointNumber:d};m.appendArrayPointValue(M,r,d);var k={points:[M]};c.buttons&amp;&amp;c.distance&lt;5?t.graphDiv.emit(&quot;plotly_click&quot;,k):t.graphDiv.emit(&quot;plotly_hover&quot;,k),f=k}else m.loneUnhover(n),t.graphDiv.emit(&quot;plotly_unhover&quot;,f);t.drawAnnotations(t)}.bind(null,t),t.traces={},!0}function i(t,e){var r=document.createElement(&quot;div&quot;),i=t.container;this.graphDiv=t.graphDiv;var a=document.createElementNS(&quot;http://www.w3.org/2000/svg&quot;,&quot;svg&quot;);a.style.position=&quot;absolute&quot;,a.style.top=a.style.left=&quot;0px&quot;,a.style.width=a.style.height=&quot;100%&quot;,a.style[&quot;z-index&quot;]=20,a.style[&quot;pointer-events&quot;]=&quot;none&quot;,r.appendChild(a),this.svgContainer=a,r.id=t.id,r.style.position=&quot;absolute&quot;,r.style.top=r.style.left=&quot;0px&quot;,r.style.width=r.style.height=&quot;100%&quot;,i.appendChild(r),this.fullLayout=e,this.id=t.id||&quot;scene&quot;,this.fullSceneLayout=e[this.id],this.plotArgs=[[],{},{}],this.axesOptions=b(e[this.id]),this.spikeOptions=_(e[this.id]),this.container=r,this.staticMode=!!t.staticPlot,this.pixelRatio=t.plotGlPixelRatio||2,this.dataScale=[1,1,1],this.contourLevels=[[],[],[]],this.convertAnnotations=h.getComponentMethod(&quot;annotations3d&quot;,&quot;convert&quot;),this.drawAnnotations=h.getComponentMethod(&quot;annotations3d&quot;,&quot;draw&quot;),n(this)}function a(t,e,r,n,i){for(var a,o=0;o&lt;e.length;++o)if(Array.isArray(e[o]))for(var s=0;s&lt;e[o].length;++s)a=t.d2l(e[o][s],0,i),!isNaN(a)&amp;&amp;isFinite(a)&amp;&amp;(n[0][r]=Math.min(n[0][r],a),n[1][r]=Math.max(n[1][r],a));else a=t.d2l(e[o],0,i),!isNaN(a)&amp;&amp;isFinite(a)&amp;&amp;(n[0][r]=Math.min(n[0][r],a),n[1][r]=Math.max(n[1][r],a))}function o(t,e,r){var n=t.fullSceneLayout;a(n.xaxis,e.x,0,r,e.xcalendar),a(n.yaxis,e.y,1,r,e.ycalendar),a(n.zaxis,e.z,2,r,e.zcalendar)}function s(t){return{up:{x:t.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]}}}var l,c,u=t(&quot;gl-plot3d&quot;),f=t(&quot;webgl-context&quot;),h=t(&quot;../../registry&quot;),d=t(&quot;../../lib&quot;),p=t(&quot;../../plots/cartesian/axes&quot;),m=t(&quot;../../components/fx&quot;),g=t(&quot;../../lib/str2rgbarray&quot;),v=t(&quot;../../lib/show_no_webgl_msg&quot;),y=t(&quot;./camera&quot;),x=t(&quot;./project&quot;),b=t(&quot;./layout/convert&quot;),_=t(&quot;./layout/spikes&quot;),w=t(&quot;./layout/tick_marks&quot;),M=i.prototype;M.recoverContext=function(){function t(){r.isContextLost()?requestAnimationFrame(t):n(e,e.fullLayout,i,r)?e.plot.apply(e,e.plotArgs):d.error(&quot;Catastrophic and unrecoverable WebGL error. Context lost.&quot;)}var e=this,r=this.glplot.gl,i=this.glplot.canvas;this.glplot.dispose(),requestAnimationFrame(t)};var k=[&quot;xaxis&quot;,&quot;yaxis&quot;,&quot;zaxis&quot;];M.plot=function(t,e,r){if(this.plotArgs=[t,e,r],!this.glplot.contextLost){var n,i,a,s,l,c,u=e[this.id],f=r[this.id];u.bgcolor?this.glplot.clearColor=g(u.bgcolor):this.glplot.clearColor=[0,0,0,0],this.glplot.snapToData=!0,this.fullLayout=e,this.fullSceneLayout=u,this.glplotLayout=u,this.axesOptions.merge(u),this.spikeOptions.merge(u),this.setCamera(u.camera),this.updateFx(u.dragmode,u.hovermode),this.glplot.update({}),this.setConvert(l),t?Array.isArray(t)||(t=[t]):t=[];var h=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]];for(a=0;a&lt;t.length;++a)!0===(n=t[a]).visible&amp;&amp;o(this,n,h);var d=[1,1,1];for(s=0;s&lt;3;++s)h[0][s]&gt;h[1][s]?d[s]=1:h[1][s]===h[0][s]?d[s]=1:d[s]=1/(h[1][s]-h[0][s]);for(this.dataScale=d,this.convertAnnotations(this),a=0;a&lt;t.length;++a)!0===(n=t[a]).visible&amp;&amp;((i=this.traces[n.uid])?i.update(n):(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&lt;p.length;++a){for(s=0;s&lt;t.length;++s)if(t[s].uid===p[a]&amp;&amp;!0===t[s].visible)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 m=[[0,0,0],[0,0,0]],v=[],y={};for(a=0;a&lt;3;++a){if(l=u[k[a]],(c=l.type)in y?(y[c].acc*=d[a],y[c].count+=1):y[c]={acc:d[a],count:1},l.autorange){m[0][a]=1/0,m[1][a]=-1/0;var x=this.glplot.objects,b=this.fullSceneLayout.annotations||[],_=l._name.charAt(0);for(s=0;s&lt;x.length;s++){var w=x[s].bounds;m[0][a]=Math.min(m[0][a],w[0][a]/d[a]),m[1][a]=Math.max(m[1][a],w[1][a]/d[a])}for(s=0;s&lt;b.length;s++){var M=b[s];if(M.visible){var A=l.r2l(M[_]);m[0][a]=Math.min(m[0][a],A),m[1][a]=Math.max(m[1][a],A)}}if(&quot;rangemode&quot;in l&amp;&amp;&quot;tozero&quot;===l.rangemode&amp;&amp;(m[0][a]=Math.min(m[0][a],0),m[1][a]=Math.max(m[1][a],0)),m[0][a]&gt;m[1][a])m[0][a]=-1,m[1][a]=1;else{var T=m[1][a]-m[0][a];m[0][a]-=T/32,m[1][a]+=T/32}}else{var S=l.range;m[0][a]=l.r2l(S[0]),m[1][a]=l.r2l(S[1])}m[0][a]===m[1][a]&amp;&amp;(m[0][a]-=1,m[1][a]+=1),v[a]=m[1][a]-m[0][a],this.glplot.bounds[0][a]=m[0][a]*d[a],this.glplot.bounds[1][a]=m[1][a]*d[a]}var E=[1,1,1];for(a=0;a&lt;3;++a){var L=y[c=(l=u[k[a]]).type];E[a]=Math.pow(L.acc,1/L.count)/d[a]}var C;if(&quot;auto&quot;===u.aspectmode)C=Math.max.apply(null,E)/Math.min.apply(null,E)&lt;=4?E:[1,1,1];else if(&quot;cube&quot;===u.aspectmode)C=[1,1,1];else if(&quot;data&quot;===u.aspectmode)C=E;else{if(&quot;manual&quot;!==u.aspectmode)throw new Error(&quot;scene.js aspectRatio was not one of the enumerated types&quot;);var z=u.aspectratio;C=[z.x,z.y,z.z]}u.aspectratio.x=f.aspectratio.x=C[0],u.aspectratio.y=f.aspectratio.y=C[1],u.aspectratio.z=f.aspectratio.z=C[2],this.glplot.aspect=C;var D=u.domain||null,I=e._size||null;if(D&amp;&amp;I){var P=this.container.style;P.position=&quot;absolute&quot;,P.left=I.l+D.x[0]*I.w+&quot;px&quot;,P.top=I.t+(1-D.y[1])*I.h+&quot;px&quot;,P.width=I.w*(D.x[1]-D.x[0])+&quot;px&quot;,P.height=I.h*(D.y[1]-D.y[0])+&quot;px&quot;}this.glplot.redraw()}},M.destroy=function(){this.glplot&amp;&amp;(this.camera.mouseListener.enabled=!1,this.container.removeEventListener(&quot;wheel&quot;,this.camera.wheelListener),this.camera=this.glplot.camera=null,this.glplot.dispose(),this.container.parentNode.removeChild(this.container),this.glplot=null)},M.getCamera=function(){return this.glplot.camera.view.recalcMatrix(this.camera.view.lastT()),s(this.glplot.camera)},M.setCamera=function(t){this.glplot.camera.lookAt.apply(this,function(t){return[[t.eye.x,t.eye.y,t.eye.z],[t.center.x,t.center.y,t.center.z],[t.up.x,t.up.y,t.up.z]]}(t))},M.saveCamera=function(t){function e(t,e,r,n){var i=[&quot;up&quot;,&quot;center&quot;,&quot;eye&quot;],a=[&quot;x&quot;,&quot;y&quot;,&quot;z&quot;];return e[i[r]]&amp;&amp;t[i[r]][a[n]]===e[i[r]][a[n]]}var r=this.getCamera(),n=d.nestedProperty(t,this.id+&quot;.camera&quot;),i=n.get(),a=!1;if(void 0===i)a=!0;else for(var o=0;o&lt;3;o++)for(var s=0;s&lt;3;s++)if(!e(r,i,o,s)){a=!0;break}return a&amp;&amp;n.set(r),a},M.updateFx=function(t,e){var r=this.camera;r&amp;&amp;(&quot;orbit&quot;===t?(r.mode=&quot;orbit&quot;,r.keyBindingMode=&quot;rotate&quot;):&quot;turntable&quot;===t?(r.up=[0,0,1],r.mode=&quot;turntable&quot;,r.keyBindingMode=&quot;rotate&quot;):r.keyBindingMode=t),this.fullSceneLayout.hovermode=e},M.toImage=function(t){t||(t=&quot;png&quot;),this.staticMode&amp;&amp;this.container.appendChild(l),this.glplot.redraw();var e=this.glplot.gl,r=e.drawingBufferWidth,n=e.drawingBufferHeight;e.bindFramebuffer(e.FRAMEBUFFER,null);var i=new Uint8Array(r*n*4);e.readPixels(0,0,r,n,e.RGBA,e.UNSIGNED_BYTE,i);for(var a=0,o=n-1;a&lt;o;++a,--o)for(var s=0;s&lt;r;++s)for(var c=0;c&lt;4;++c){var u=i[4*(r*a+s)+c];i[4*(r*a+s)+c]=i[4*(r*o+s)+c],i[4*(r*o+s)+c]=u}var f=document.createElement(&quot;canvas&quot;);f.width=r,f.height=n;var h=f.getContext(&quot;2d&quot;),d=h.createImageData(r,n);d.data.set(i),h.putImageData(d,0,0);var p;switch(t){case&quot;jpeg&quot;:p=f.toDataURL(&quot;image/jpeg&quot;);break;case&quot;webp&quot;:p=f.toDataURL(&quot;image/webp&quot;);break;default:p=f.toDataURL(&quot;image/png&quot;)}return this.staticMode&amp;&amp;this.container.removeChild(l),p},M.setConvert=function(){for(var t=0;t&lt;3;t++){var e=this.fullSceneLayout[k[t]];p.setConvert(e,this.fullLayout),e.setScale=d.noop}},e.exports=i},{&quot;../../components/fx&quot;:660,&quot;../../lib&quot;:743,&quot;../../lib/show_no_webgl_msg&quot;:763,&quot;../../lib/str2rgbarray&quot;:765,&quot;../../plots/cartesian/axes&quot;:789,&quot;../../registry&quot;:873,&quot;./camera&quot;:831,&quot;./layout/convert&quot;:836,&quot;./layout/spikes&quot;:839,&quot;./layout/tick_marks&quot;:840,&quot;./project&quot;:841,&quot;gl-plot3d&quot;:226,&quot;webgl-context&quot;:577}],843:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;./font_attributes&quot;),i=t(&quot;../components/color/attributes&quot;),a=n({editType:&quot;calc&quot;});a.family.dflt='&quot;Open Sans&quot;, verdana, arial, sans-serif',a.size.dflt=12,a.color.dflt=i.defaultLine,e.exports={font:a,title:{valType:&quot;string&quot;,editType:&quot;layoutstyle&quot;},titlefont:n({editType:&quot;layoutstyle&quot;}),autosize:{valType:&quot;boolean&quot;,dflt:!1,editType:&quot;none&quot;},width:{valType:&quot;number&quot;,min:10,dflt:700,editType:&quot;none&quot;},height:{valType:&quot;number&quot;,min:10,dflt:450,editType:&quot;none&quot;},margin:{l:{valType:&quot;number&quot;,min:0,dflt:80,editType:&quot;calc&quot;},r:{valType:&quot;number&quot;,min:0,dflt:80,editType:&quot;calc&quot;},t:{valType:&quot;number&quot;,min:0,dflt:100,editType:&quot;calc&quot;},b:{valType:&quot;number&quot;,min:0,dflt:80,editType:&quot;calc&quot;},pad:{valType:&quot;number&quot;,min:0,dflt:0,editType:&quot;calc&quot;},autoexpand:{valType:&quot;boolean&quot;,dflt:!0,editType:&quot;calc&quot;},editType:&quot;calc&quot;},paper_bgcolor:{valType:&quot;color&quot;,dflt:i.background,editType:&quot;plot&quot;},plot_bgcolor:{valType:&quot;color&quot;,dflt:i.background,editType:&quot;layoutstyle&quot;},separators:{valType:&quot;string&quot;,editType:&quot;plot&quot;},hidesources:{valType:&quot;boolean&quot;,dflt:!1,editType:&quot;plot&quot;},showlegend:{valType:&quot;boolean&quot;,editType:&quot;legend&quot;},colorway:{valType:&quot;colorlist&quot;,dflt:i.defaults,editType:&quot;calc&quot;}}},{&quot;../components/color/attributes&quot;:617,&quot;./font_attributes&quot;:816}],844:[function(t,e,r){&quot;use strict&quot;;e.exports={styleUrlPrefix:&quot;mapbox://styles/mapbox/&quot;,styleUrlSuffix:&quot;v9&quot;,controlContainerClassName:&quot;mapboxgl-control-container&quot;,noAccessTokenErrorMsg:[&quot;Missing Mapbox access token.&quot;,&quot;Mapbox trace type require a Mapbox access token to be registered.&quot;,&quot;For example:&quot;,&quot;  Plotly.plot(gd, data, layout, { mapboxAccessToken: 'my-access-token' });&quot;,&quot;More info here: https://www.mapbox.com/help/define-access-token/&quot;].join(&quot;\n&quot;),mapOnErrorMsg:&quot;Mapbox error.&quot;}},{}],845:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib&quot;);e.exports=function(t,e){var r=t.split(&quot; &quot;),i=r[0],a=r[1],o=Array.isArray(e)?n.mean(e):e,s=.5+o/100,l=1.5+o/100,c=[&quot;&quot;,&quot;&quot;],u=[0,0];switch(i){case&quot;top&quot;:c[0]=&quot;top&quot;,u[1]=-l;break;case&quot;bottom&quot;:c[0]=&quot;bottom&quot;,u[1]=l}switch(a){case&quot;left&quot;:c[1]=&quot;right&quot;,u[0]=-s;break;case&quot;right&quot;:c[1]=&quot;left&quot;,u[0]=s}var f;return f=c[0]&amp;&amp;c[1]?c.join(&quot;-&quot;):c[0]?c[0]:c[1]?c[1]:&quot;center&quot;,{anchor:f,offset:u}}},{&quot;../../lib&quot;:743}],846:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;mapbox-gl&quot;),i=t(&quot;../../lib&quot;),a=t(&quot;../../plots/get_data&quot;).getSubplotCalcData,o=t(&quot;../../constants/xmlns_namespaces&quot;),s=t(&quot;./mapbox&quot;),l=t(&quot;./constants&quot;);r.name=&quot;mapbox&quot;,r.attr=&quot;subplot&quot;,r.idRoot=&quot;mapbox&quot;,r.idRegex=r.attrRegex=i.counterRegex(&quot;mapbox&quot;),r.attributes={subplot:{valType:&quot;subplotid&quot;,dflt:&quot;mapbox&quot;,editType:&quot;calc&quot;}},r.layoutAttributes=t(&quot;./layout_attributes&quot;),r.supplyLayoutDefaults=t(&quot;./layout_defaults&quot;),r.plot=function(t){var e=t._fullLayout,r=t.calcdata,o=e._subplots.mapbox,c=function(t,e){var r=t._fullLayout,n=t._context;if(&quot;&quot;===n.mapboxAccessToken)return&quot;&quot;;for(var i=n.mapboxAccessToken,a=0;a&lt;e.length;a++){var o=r[e[a]];if(o.accesstoken){i=o.accesstoken;break}}if(!i)throw new Error(l.noAccessTokenErrorMsg);return i}(t,o);n.accessToken=c;for(var u=0;u&lt;o.length;u++){var f=o[u],h=a(r,&quot;mapbox&quot;,f),d=e[f],p=d._subplot;d.accesstoken=c,p||(p=s({gd:t,container:e._glcontainer.node(),id:f,fullLayout:e,staticPlot:t._context.staticPlot}),e[f]._subplot=p),p.viewInitial||(p.viewInitial={center:i.extendFlat({},d.center),zoom:d.zoom,bearing:d.bearing,pitch:d.pitch}),p.plot(h,e,t._promises)}},r.clean=function(t,e,r,n){for(var i=n._subplots.mapbox||[],a=0;a&lt;i.length;a++){var o=i[a];!e[o]&amp;&amp;n[o]._subplot&amp;&amp;n[o]._subplot.destroy()}},r.toSVG=function(t){for(var e=t._fullLayout,r=e._subplots.mapbox,n=e._size,i=0;i&lt;r.length;i++){var a=e[r[i]],s=a.domain,l=a._subplot,c=l.toImage(&quot;png&quot;);e._glimages.append(&quot;svg:image&quot;).attr({xmlns:o.svg,&quot;xlink:href&quot;:c,x:n.l+n.w*s.x[0],y:n.t+n.h*(1-s.y[1]),width:n.w*(s.x[1]-s.x[0]),height:n.h*(s.y[1]-s.y[0]),preserveAspectRatio:&quot;none&quot;}),l.destroy()}},r.updateFx=function(t){for(var e=t._subplots.mapbox,r=0;r&lt;e.length;r++){t[e[r]]._subplot.updateFx(t)}}},{&quot;../../constants/xmlns_namespaces&quot;:723,&quot;../../lib&quot;:743,&quot;../../plots/get_data&quot;:826,&quot;./constants&quot;:844,&quot;./layout_attributes&quot;:848,&quot;./layout_defaults&quot;:849,&quot;./mapbox&quot;:850,&quot;mapbox-gl&quot;:334}],847:[function(t,e,r){&quot;use strict&quot;;function n(t,e){this.mapbox=t,this.map=t.map,this.uid=t.uid+&quot;-layer&quot;+e,this.idSource=this.uid+&quot;-source&quot;,this.idLayer=this.uid+&quot;-layer&quot;,this.sourceType=null,this.source=null,this.layerType=null,this.below=null,this.visible=!1}function i(t){var e=t.source;return a.isPlainObject(e)||&quot;string&quot;==typeof e&amp;&amp;e.length&gt;0}var a=t(&quot;../../lib&quot;),o=t(&quot;./convert_text_opts&quot;),s=n.prototype;s.update=function(t){this.visible?this.needsNewSource(t)?(this.updateLayer(t),this.updateSource(t)):this.needsNewLayer(t)&amp;&amp;this.updateLayer(t):(this.updateSource(t),this.updateLayer(t)),this.updateStyle(t),this.visible=i(t)},s.needsNewSource=function(t){return this.sourceType!==t.sourcetype||this.source!==t.source||this.layerType!==t.type},s.needsNewLayer=function(t){return this.layerType!==t.type||this.below!==t.below},s.updateSource=function(t){var e=this.map;if(e.getSource(this.idSource)&amp;&amp;e.removeSource(this.idSource),this.sourceType=t.sourcetype,this.source=t.source,i(t)){var r=function(t){var e,r=t.sourcetype,n=t.source,i={type:r};return&quot;geojson&quot;===r?e=&quot;data&quot;:&quot;vector&quot;===r&amp;&amp;(e=&quot;string&quot;==typeof n?&quot;url&quot;:&quot;tiles&quot;),i[e]=n,i}(t);e.addSource(this.idSource,r)}},s.updateLayer=function(t){var e=this.map;if(e.getLayer(this.idLayer)&amp;&amp;e.removeLayer(this.idLayer),this.layerType=t.type,i(t)){e.addLayer({id:this.idLayer,source:this.idSource,&quot;source-layer&quot;:t.sourcelayer||&quot;&quot;,type:t.type},t.below);this.mapbox.setOptions(this.idLayer,&quot;setLayoutProperty&quot;,{visibility:&quot;visible&quot;})}},s.updateStyle=function(t){var e=function(t){var e={},r={};switch(t.type){case&quot;circle&quot;:a.extendFlat(r,{&quot;circle-radius&quot;:t.circle.radius,&quot;circle-color&quot;:t.color,&quot;circle-opacity&quot;:t.opacity});break;case&quot;line&quot;:a.extendFlat(r,{&quot;line-width&quot;:t.line.width,&quot;line-color&quot;:t.color,&quot;line-opacity&quot;:t.opacity});break;case&quot;fill&quot;:a.extendFlat(r,{&quot;fill-color&quot;:t.color,&quot;fill-outline-color&quot;:t.fill.outlinecolor,&quot;fill-opacity&quot;:t.opacity});break;case&quot;symbol&quot;:var n=t.symbol,i=o(n.textposition,n.iconsize);a.extendFlat(e,{&quot;icon-image&quot;:n.icon+&quot;-15&quot;,&quot;icon-size&quot;:n.iconsize/10,&quot;text-field&quot;:n.text,&quot;text-size&quot;:n.textfont.size,&quot;text-anchor&quot;:i.anchor,&quot;text-offset&quot;:i.offset}),a.extendFlat(r,{&quot;icon-color&quot;:t.color,&quot;text-color&quot;:n.textfont.color,&quot;text-opacity&quot;:t.opacity})}return{layout:e,paint:r}}(t);i(t)&amp;&amp;(this.mapbox.setOptions(this.idLayer,&quot;setLayoutProperty&quot;,e.layout),this.mapbox.setOptions(this.idLayer,&quot;setPaintProperty&quot;,e.paint))},s.dispose=function(){var t=this.map;t.removeLayer(this.idLayer),t.removeSource(this.idSource)},e.exports=function(t,e,r){var i=new n(t,e);return i.update(r),i}},{&quot;../../lib&quot;:743,&quot;./convert_text_opts&quot;:845}],848:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib&quot;),i=t(&quot;../../components/color&quot;).defaultLine,a=t(&quot;../domain_attributes&quot;),o=t(&quot;../font_attributes&quot;),s=t(&quot;../../traces/scatter/attributes&quot;).textposition,l=t(&quot;../../plot_api/edit_types&quot;).overrideAll,c=o({});c.family.dflt=&quot;Open Sans Regular, Arial Unicode MS Regular&quot;,e.exports=l({_arrayAttrRegexps:[n.counterRegex(&quot;mapbox&quot;,&quot;.layers&quot;,!0)],domain:a({name:&quot;mapbox&quot;}),accesstoken:{valType:&quot;string&quot;,noBlank:!0,strict:!0},style:{valType:&quot;any&quot;,values:[&quot;basic&quot;,&quot;streets&quot;,&quot;outdoors&quot;,&quot;light&quot;,&quot;dark&quot;,&quot;satellite&quot;,&quot;satellite-streets&quot;],dflt:&quot;basic&quot;},center:{lon:{valType:&quot;number&quot;,dflt:0},lat:{valType:&quot;number&quot;,dflt:0}},zoom:{valType:&quot;number&quot;,dflt:1},bearing:{valType:&quot;number&quot;,dflt:0},pitch:{valType:&quot;number&quot;,dflt:0},layers:{_isLinkedToArray:&quot;layer&quot;,sourcetype:{valType:&quot;enumerated&quot;,values:[&quot;geojson&quot;,&quot;vector&quot;],dflt:&quot;geojson&quot;},source:{valType:&quot;any&quot;},sourcelayer:{valType:&quot;string&quot;,dflt:&quot;&quot;},type:{valType:&quot;enumerated&quot;,values:[&quot;circle&quot;,&quot;line&quot;,&quot;fill&quot;,&quot;symbol&quot;],dflt:&quot;circle&quot;},below:{valType:&quot;string&quot;,dflt:&quot;&quot;},color:{valType:&quot;color&quot;,dflt:i},opacity:{valType:&quot;number&quot;,min:0,max:1,dflt:1},circle:{radius:{valType:&quot;number&quot;,dflt:15}},line:{width:{valType:&quot;number&quot;,dflt:2}},fill:{outlinecolor:{valType:&quot;color&quot;,dflt:i}},symbol:{icon:{valType:&quot;string&quot;,dflt:&quot;marker&quot;},iconsize:{valType:&quot;number&quot;,dflt:10},text:{valType:&quot;string&quot;,dflt:&quot;&quot;},textfont:c,textposition:n.extendFlat({},s,{arrayOk:!1})}}},&quot;plot&quot;,&quot;from-root&quot;)},{&quot;../../components/color&quot;:618,&quot;../../lib&quot;:743,&quot;../../plot_api/edit_types&quot;:773,&quot;../../traces/scatter/attributes&quot;:1066,&quot;../domain_attributes&quot;:815,&quot;../font_attributes&quot;:816}],849:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r){r(&quot;accesstoken&quot;),r(&quot;style&quot;),r(&quot;center.lon&quot;),r(&quot;center.lat&quot;),r(&quot;zoom&quot;),r(&quot;bearing&quot;),r(&quot;pitch&quot;),function(t,e){function r(t,e){return i.coerce(n,a,o.layers,t,e)}var n,a,s=t.layers||[],l=e.layers=[];for(var c=0;c&lt;s.length;c++)if(n=s[c],a={},i.isPlainObject(n)){var u=r(&quot;sourcetype&quot;);r(&quot;source&quot;),&quot;vector&quot;===u&amp;&amp;r(&quot;sourcelayer&quot;);var f=r(&quot;type&quot;);r(&quot;below&quot;),r(&quot;color&quot;),r(&quot;opacity&quot;),&quot;circle&quot;===f&amp;&amp;r(&quot;circle.radius&quot;),&quot;line&quot;===f&amp;&amp;r(&quot;line.width&quot;),&quot;fill&quot;===f&amp;&amp;r(&quot;fill.outlinecolor&quot;),&quot;symbol&quot;===f&amp;&amp;(r(&quot;symbol.icon&quot;),r(&quot;symbol.iconsize&quot;),r(&quot;symbol.text&quot;),i.coerceFont(r,&quot;symbol.textfont&quot;),r(&quot;symbol.textposition&quot;)),a._index=c,l.push(a)}}(t,e),e._input=t}var i=t(&quot;../../lib&quot;),a=t(&quot;../subplot_defaults&quot;),o=t(&quot;./layout_attributes&quot;);e.exports=function(t,e,r){a(t,e,r,{type:&quot;mapbox&quot;,attributes:o,handleDefaults:n,partition:&quot;y&quot;})}},{&quot;../../lib&quot;:743,&quot;../subplot_defaults&quot;:865,&quot;./layout_attributes&quot;:848}],850:[function(t,e,r){&quot;use strict&quot;;function n(t){this.id=t.id,this.gd=t.gd,this.container=t.container,this.isStatic=t.staticPlot;var e=t.fullLayout;this.uid=e._uid+&quot;-&quot;+this.id,this.opts=e[this.id],this.div=null,this.xaxis=null,this.yaxis=null,this.createFramework(e),this.map=null,this.accessToken=null,this.styleObj=null,this.traceHash={},this.layerList=[]}function i(t){var e=d.style.values,r=d.style.dflt,n={};return c.isPlainObject(t)?(n.id=t.id,n.style=t):&quot;string&quot;==typeof t?(n.id=t,n.style=-1!==e.indexOf(t)?a(t):t):(n.id=r,n.style=a(r)),n}function a(t){return h.styleUrlPrefix+t+&quot;-&quot;+h.styleUrlSuffix}function o(t){return[t.lon,t.lat]}var s=t(&quot;mapbox-gl&quot;),l=t(&quot;../../components/fx&quot;),c=t(&quot;../../lib&quot;),u=t(&quot;../../components/dragelement&quot;),f=t(&quot;../cartesian/select&quot;),h=t(&quot;./constants&quot;),d=t(&quot;./layout_attributes&quot;),p=t(&quot;./layers&quot;),m=n.prototype;e.exports=function(t){return new n(t)},m.plot=function(t,e,r){var n=this,i=n.opts=e[this.id];n.map&amp;&amp;i.accesstoken!==n.accessToken&amp;&amp;(n.map.remove(),n.map=null,n.styleObj=null,n.traceHash=[],n.layerList={});var a;a=n.map?new Promise(function(r,i){n.updateMap(t,e,r,i)}):new Promise(function(r,i){n.createMap(t,e,r,i)}),r.push(a)},m.createMap=function(t,e,r,n){function a(){l.loneUnhover(e._toppaper)}var u=this,f=u.gd,d=u.opts,p=u.styleObj=i(d.style);u.accessToken=d.accesstoken;var m=u.map=new s.Map({container:u.div,style:p.style,center:o(d.center),zoom:d.zoom,bearing:d.bearing,pitch:d.pitch,interactive:!u.isStatic,preserveDrawingBuffer:u.isStatic,doubleClickZoom:!1,boxZoom:!1}),g=h.controlContainerClassName,v=u.div.getElementsByClassName(g)[0];u.div.removeChild(v),m._canvas.canvas.style.left=&quot;0px&quot;,m._canvas.canvas.style.top=&quot;0px&quot;,u.rejectOnError(n),m.once(&quot;load&quot;,function(){u.updateData(t),u.updateLayout(e),u.resolveOnRender(r)}),u.isStatic||(m.on(&quot;moveend&quot;,function(t){if(u.map){var e=u.getView();if(d._input.center=d.center=e.center,d._input.zoom=d.zoom=e.zoom,d._input.bearing=d.bearing=e.bearing,d._input.pitch=d.pitch=e.pitch,t.originalEvent){var r={};r[u.id]=c.extendFlat({},e),f.emit(&quot;plotly_relayout&quot;,r)}}}),m.on(&quot;mousemove&quot;,function(t){var e=u.div.getBoundingClientRect();t.clientX=t.point.x+e.left,t.clientY=t.point.y+e.top,t.target.getBoundingClientRect=function(){return e},u.xaxis.p2c=function(){return t.lngLat.lng},u.yaxis.p2c=function(){return t.lngLat.lat},l.hover(f,t,u.id)}),m.on(&quot;click&quot;,function(t){l.click(f,t.originalEvent)}),m.on(&quot;dragstart&quot;,a),m.on(&quot;zoomstart&quot;,a),m.on(&quot;dblclick&quot;,function(){var t=u.viewInitial;m.setCenter(o(t.center)),m.setZoom(t.zoom),m.setBearing(t.bearing),m.setPitch(t.pitch);var e=u.getView();d._input.center=d.center=e.center,d._input.zoom=d.zoom=e.zoom,d._input.bearing=d.bearing=e.bearing,d._input.pitch=d.pitch=e.pitch,f.emit(&quot;plotly_doubleclick&quot;,null)}))},m.updateMap=function(t,e,r,n){var a=this,o=a.map;a.rejectOnError(n);var s=i(a.opts.style);a.styleObj.id!==s.id?(a.styleObj=s,o.setStyle(s.style),o.style.once(&quot;load&quot;,function(){a.traceHash={},a.updateData(t),a.updateLayout(e),a.resolveOnRender(r)})):(a.updateData(t),a.updateLayout(e),a.resolveOnRender(r))},m.updateData=function(t){var e,r,n,i,a=this.traceHash;for(n=0;n&lt;t.length;n++){var o=t[n];(e=a[(r=o[0].trace).uid])?e.update(o):r._module&amp;&amp;(a[r.uid]=r._module.plot(this,o))}var s=Object.keys(a);t:for(n=0;n&lt;s.length;n++){var l=s[n];for(i=0;i&lt;t.length;i++)if(r=t[i][0].trace,l===r.uid)continue t;(e=a[l]).dispose(),delete a[l]}},m.updateLayout=function(t){var e=this.map,r=this.opts;e.setCenter(o(r.center)),e.setZoom(r.zoom),e.setBearing(r.bearing),e.setPitch(r.pitch),this.updateLayers(),this.updateFramework(t),this.updateFx(t),this.map.resize()},m.resolveOnRender=function(t){var e=this.map;e.on(&quot;render&quot;,function r(){e.loaded()&amp;&amp;(e.off(&quot;render&quot;,r),t())})},m.rejectOnError=function(t){function e(){t(new Error(h.mapOnErrorMsg))}var r=this.map;r.once(&quot;error&quot;,e),r.once(&quot;style.error&quot;,e),r.once(&quot;source.error&quot;,e),r.once(&quot;tile.error&quot;,e),r.once(&quot;layer.error&quot;,e)},m.createFramework=function(t){var e=this,r=e.div=document.createElement(&quot;div&quot;);r.id=e.uid,r.style.position=&quot;absolute&quot;,e.container.appendChild(r),e.xaxis={_id:&quot;x&quot;,c2p:function(t){return e.project(t).x}},e.yaxis={_id:&quot;y&quot;,c2p:function(t){return e.project(t).y}},e.updateFramework(t)},m.updateFx=function(t){function e(t){var e=r.map.unproject(t);return[e.lng,e.lat]}var r=this,n=r.map,i=r.gd;if(!r.isStatic){var a,o=t.dragmode;if(a=&quot;select&quot;===o?function(t,n){(t.range={})[r.id]=[e([n.xmin,n.ymin]),e([n.xmax,n.ymax])]}:function(t,n,i){(t.lassoPoints={})[r.id]=i.filtered.map(e)},&quot;select&quot;===o||&quot;lasso&quot;===o){n.dragPan.disable();var s={element:r.div,gd:i,plotinfo:{xaxis:r.xaxis,yaxis:r.yaxis,fillRangeItems:a},xaxes:[r.xaxis],yaxes:[r.yaxis],subplot:r.id};s.prepFn=function(t,e,r){f(t,e,r,s,o)},u.init(s)}else n.dragPan.enable(),r.div.onmousedown=null}},m.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])+&quot;px&quot;,n.height=r.h*(e.y[1]-e.y[0])+&quot;px&quot;,n.left=r.l+e.x[0]*r.w+&quot;px&quot;,n.top=r.t+(1-e.y[1])*r.h+&quot;px&quot;,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])},m.updateLayers=function(){var t,e=this.opts.layers,r=this.layerList;if(e.length!==r.length){for(t=0;t&lt;r.length;t++)r[t].dispose();for(r=this.layerList=[],t=0;t&lt;e.length;t++)r.push(p(this,t,e[t]))}else for(t=0;t&lt;e.length;t++)r[t].update(e[t])},m.destroy=function(){this.map&amp;&amp;(this.map.remove(),this.map=null,this.container.removeChild(this.div))},m.toImage=function(){return this.map.getCanvas().toDataURL()},m.initSource=function(t){return this.map.addSource(t,{type:&quot;geojson&quot;,data:{type:&quot;Feature&quot;,geometry:{type:&quot;Point&quot;,coordinates:[]}}})},m.setSourceData=function(t,e){this.map.getSource(t).setData(e)},m.setOptions=function(t,e,r){for(var n=this.map,i=Object.keys(r),a=0;a&lt;i.length;a++){var o=i[a];n[e](t,o,r[o])}},m.project=function(t){return this.map.project(new s.LngLat(t[0],t[1]))},m.getView=function(){var t=this.map,e=t.getCenter();return{center:{lon:e.lng,lat:e.lat},zoom:t.getZoom(),bearing:t.getBearing(),pitch:t.getPitch()}}},{&quot;../../components/dragelement&quot;:640,&quot;../../components/fx&quot;:660,&quot;../../lib&quot;:743,&quot;../cartesian/select&quot;:807,&quot;./constants&quot;:844,&quot;./layers&quot;:847,&quot;./layout_attributes&quot;:848,&quot;mapbox-gl&quot;:334}],851:[function(t,e,r){&quot;use strict&quot;;e.exports={t:{valType:&quot;number&quot;,dflt:0,editType:&quot;arraydraw&quot;},r:{valType:&quot;number&quot;,dflt:0,editType:&quot;arraydraw&quot;},b:{valType:&quot;number&quot;,dflt:0,editType:&quot;arraydraw&quot;},l:{valType:&quot;number&quot;,dflt:0,editType:&quot;arraydraw&quot;},editType:&quot;arraydraw&quot;}},{}],852:[function(t,e,r){&quot;use strict&quot;;function n(t){for(var e=0;e&lt;t.length;e++){t[e]._categories=t[e]._initialCategories.slice(),t[e]._categoriesMap={};for(var r=0;r&lt;t[e]._categories.length;r++)t[e]._categoriesMap[t[e]._categories[r]]=r}}var i=t(&quot;d3&quot;),a=t(&quot;fast-isnumeric&quot;),o=t(&quot;../plotly&quot;),s=t(&quot;../plot_api/plot_schema&quot;),l=t(&quot;../registry&quot;),c=t(&quot;../plots/cartesian/axis_ids&quot;),u=t(&quot;../lib&quot;),f=u._,h=t(&quot;../components/color&quot;),d=t(&quot;../constants/numerical&quot;).BADNUM,p=e.exports={},m=t(&quot;./animation_attributes&quot;),g=t(&quot;./frame_attributes&quot;),v=u.relinkPrivateKeys;u.extendFlat(p,l),p.attributes=t(&quot;./attributes&quot;),p.attributes.type.values=p.allTypes,p.fontAttrs=t(&quot;./font_attributes&quot;),p.layoutAttributes=t(&quot;./layout_attributes&quot;),p.fontWeight=&quot;normal&quot;;var y=p.transformsRegistry,x=t(&quot;../components/errorbars&quot;),b=t(&quot;./command&quot;);p.executeAPICommand=b.executeAPICommand,p.computeAPICommandBindings=b.computeAPICommandBindings,p.manageCommandObserver=b.manageCommandObserver,p.hasSimpleAPICommandBindings=b.hasSimpleAPICommandBindings,p.redrawText=function(t){if(!((t=u.getGraphDiv(t)).data&amp;&amp;t.data[0]&amp;&amp;t.data[0].r))return new Promise(function(e){setTimeout(function(){l.getComponentMethod(&quot;annotations&quot;,&quot;draw&quot;)(t),l.getComponentMethod(&quot;legend&quot;,&quot;draw&quot;)(t),(t.calcdata||[]).forEach(function(t){t[0]&amp;&amp;t[0].t&amp;&amp;t[0].t.cb&amp;&amp;t[0].t.cb()}),e(p.previousPromises(t))},300)})},p.resize=function(t){return t=u.getGraphDiv(t),new Promise(function(e,r){t&amp;&amp;!function(t){var e=window.getComputedStyle(t).display;return!e||&quot;none&quot;===e}(t)||r(new Error(&quot;Resize must be passed a displayed plot div element.&quot;)),t._redrawTimer&amp;&amp;clearTimeout(t._redrawTimer),t._redrawTimer=setTimeout(function(){if(t.layout.width&amp;&amp;t.layout.height)e(t);else{delete t.layout.width,delete t.layout.height;var r=t.changed;t.autoplay=!0,o.relayout(t,{autosize:!0}).then(function(){t.changed=r,e(t)})}},100)})},p.previousPromises=function(t){if((t._promises||[]).length)return Promise.all(t._promises).then(function(){t._promises=[]})},p.addLinks=function(t){if(t._context.showLink||t._context.showSources){var e=t._fullLayout,r=e._paper.selectAll(&quot;text.js-plot-link-container&quot;).data([0]);r.enter().append(&quot;text&quot;).classed(&quot;js-plot-link-container&quot;,!0).style({&quot;font-family&quot;:'&quot;Open Sans&quot;, Arial, sans-serif',&quot;font-size&quot;:&quot;12px&quot;,fill:h.defaultLine,&quot;pointer-events&quot;:&quot;all&quot;}).each(function(){var t=i.select(this);t.append(&quot;tspan&quot;).classed(&quot;js-link-to-tool&quot;,!0),t.append(&quot;tspan&quot;).classed(&quot;js-link-spacer&quot;,!0),t.append(&quot;tspan&quot;).classed(&quot;js-sourcelinks&quot;,!0)});var n=r.node(),a={y:e._paper.attr(&quot;height&quot;)-9};document.body.contains(n)&amp;&amp;n.getComputedTextLength()&gt;=e.width-20?(a[&quot;text-anchor&quot;]=&quot;start&quot;,a.x=5):(a[&quot;text-anchor&quot;]=&quot;end&quot;,a.x=e._paper.attr(&quot;width&quot;)-7),r.attr(a);var o=r.select(&quot;.js-link-to-tool&quot;),s=r.select(&quot;.js-link-spacer&quot;),l=r.select(&quot;.js-sourcelinks&quot;);t._context.showSources&amp;&amp;t._context.showSources(t),t._context.showLink&amp;&amp;function(t,e){e.text(&quot;&quot;);var r=e.append(&quot;a&quot;).attr({&quot;xlink:xlink:href&quot;:&quot;#&quot;,class:&quot;link--impt link--embedview&quot;,&quot;font-weight&quot;:&quot;bold&quot;}).text(t._context.linkText+&quot; &quot;+String.fromCharCode(187));if(t._context.sendData)r.on(&quot;click&quot;,function(){p.sendDataToCloud(t)});else{var n=window.location.pathname.split(&quot;/&quot;),i=window.location.search;r.attr({&quot;xlink:xlink:show&quot;:&quot;new&quot;,&quot;xlink:xlink:href&quot;:&quot;/&quot;+n[2].split(&quot;.&quot;)[0]+&quot;/&quot;+n[1]+i})}}(t,o),s.text(o.text()&amp;&amp;l.text()?&quot; - &quot;:&quot;&quot;)}},p.sendDataToCloud=function(t){t.emit(&quot;plotly_beforeexport&quot;);var e=window.PLOTLYENV&amp;&amp;window.PLOTLYENV.BASE_URL||&quot;https://plot.ly&quot;,r=i.select(t).append(&quot;div&quot;).attr(&quot;id&quot;,&quot;hiddenform&quot;).style(&quot;display&quot;,&quot;none&quot;),n=r.append(&quot;form&quot;).attr({action:e+&quot;/external&quot;,method:&quot;post&quot;,target:&quot;_blank&quot;});return n.append(&quot;input&quot;).attr({type:&quot;text&quot;,name:&quot;data&quot;}).node().value=p.graphJson(t,!1,&quot;keepdata&quot;),n.node().submit(),r.remove(),t.emit(&quot;plotly_afterexport&quot;),!1},p.supplyDefaults=function(t){var e,r=t._fullLayout||{},n=t._fullLayout={},a=t.layout||{},o=t._fullData||[],s=t._fullData=[],h=t.data||[];t._transitionData||p.createTransitionData(t),n._dfltTitle={plot:f(t,&quot;Click to enter Plot title&quot;),x:f(t,&quot;Click to enter X axis title&quot;),y:f(t,&quot;Click to enter Y axis title&quot;),colorbar:f(t,&quot;Click to enter Colorscale title&quot;),annotation:f(t,&quot;new text&quot;)},n._traceWord=f(t,&quot;trace&quot;);var d=function(t){function e(t){for(var e=!0,r=0;r&lt;w.length;r++){var a=w[r];i[a]||(t[a]?i[a]=t[a]:e=!1)}e&amp;&amp;(n=!0)}for(var r=t._context.locale,n=!1,i={},a=0;a&lt;2;a++){for(var o=t._context.locales,s=0;s&lt;2;s++){var c=(o[r]||{}).format;if(c&amp;&amp;(e(c),n))break;o=l.localeRegistry}var u=r.split(&quot;-&quot;)[0];if(n||u===r)break;r=u}return n||e(l.localeRegistry.en.format),i}(t);if(r._initialAutoSizeIsDone){var m=r.width,g=r.height;p.supplyLayoutGlobalDefaults(a,n,d),a.width||(n.width=m),a.height||(n.height=g)}else{p.supplyLayoutGlobalDefaults(a,n,d);var y=!a.width||!a.height,x=n.autosize,b=t._context&amp;&amp;t._context.autosizable;y&amp;&amp;(x||b)?p.plotAutoSize(t,a,n):y&amp;&amp;p.sanitizeMargins(t),!x&amp;&amp;y&amp;&amp;(a.width=n.width,a.height=n.height)}n._d3locale=function(t,e){return t.decimal=e.charAt(0),t.thousands=e.charAt(1),i.locale(t)}(d,n.separators),n._initialAutoSizeIsDone=!0,n._dataLength=h.length,n._modules=[],n._basePlotModules=[],n._subplots=function(){var t,e,r={};if(!_){_=[];var n=l.subplotsRegistry;for(var i in n){var a=n[i].attr;if(a&amp;&amp;(_.push(i),Array.isArray(a)))for(e=0;e&lt;a.length;e++)u.pushUnique(_,a[e])}}for(t=0;t&lt;_.length;t++)r[_[t]]=[];return r}(),n._globalTransforms=(t._context||{}).globalTransforms,p.supplyDataDefaults(h,s,a,n),n._has=p._hasPlotType.bind(n);var M=n._modules;for(e=0;e&lt;M.length;e++){var k=M[e];k.cleanData&amp;&amp;k.cleanData(s)}if(o.length===h.length)for(e=0;e&lt;s.length;e++)v(s[e],o[e]);p.supplyLayoutModuleDefaults(a,n,s,t._transitionData),n._hasCartesian=n._has(&quot;cartesian&quot;),n._hasGeo=n._has(&quot;geo&quot;),n._hasGL3D=n._has(&quot;gl3d&quot;),n._hasGL2D=n._has(&quot;gl2d&quot;),n._hasTernary=n._has(&quot;ternary&quot;),n._hasPie=n._has(&quot;pie&quot;),p.cleanPlot(s,n,o,r),p.linkSubplots(s,n,o,r),v(n,r),p.doAutoMargin(t);var A=c.list(t);for(e=0;e&lt;A.length;e++){A[e].setScale()}if((t.calcdata||[]).length===s.length)for(e=0;e&lt;s.length;e++){var T=s[e],S=t.calcdata[e][0];S&amp;&amp;S.trace&amp;&amp;(S.trace._hasCalcTransform?function(t,e){var r,n,i=t.trace,a=i._arrayAttrs,o={};for(r=0;r&lt;a.length;r++)o[n=a[r]]=u.nestedProperty(i,n).get().slice();for(t.trace=e,r=0;r&lt;a.length;r++)n=a[r],u.nestedProperty(t.trace,n).set(o[n])}(S,T):S.trace=T)}};var _,w=[&quot;days&quot;,&quot;shortDays&quot;,&quot;months&quot;,&quot;shortMonths&quot;,&quot;periods&quot;,&quot;dateTime&quot;,&quot;date&quot;,&quot;time&quot;,&quot;decimal&quot;,&quot;thousands&quot;,&quot;grouping&quot;,&quot;currency&quot;];p.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=[])},p._hasPlotType=function(t){var e,r=this._basePlotModules||[];for(e=0;e&lt;r.length;e++){if(r[e].name===t)return!0}var n=this._modules||[];for(e=0;e&lt;n.length;e++){var i=n[e];if(i.categories&amp;&amp;i.categories.indexOf(t)&gt;=0)return!0}return!1},p.cleanPlot=function(t,e,r,n){var i,a,o=n._basePlotModules||[];for(i=0;i&lt;o.length;i++){var s=o[i];s.clean&amp;&amp;s.clean(t,e,r,n)}var l=!!n._paper,c=!!n._infolayer,u=n._has&amp;&amp;n._has(&quot;gl&quot;),f=e._has&amp;&amp;e._has(&quot;gl&quot;);u&amp;&amp;!f&amp;&amp;void 0!==n._glcontainer&amp;&amp;(n._glcontainer.selectAll(&quot;.gl-canvas&quot;).remove(),n._glcanvas=null);t:for(i=0;i&lt;r.length;i++){var h=r[i].uid;for(a=0;a&lt;t.length;a++){if(h===t[a].uid)continue t}var d=&quot;.hm&quot;+h+&quot;,.contour&quot;+h+&quot;,.carpet&quot;+h+&quot;,#clip&quot;+h+&quot;,.trace&quot;+h;l&amp;&amp;n._paper.selectAll(d).remove(),c&amp;&amp;(n._infolayer.selectAll(&quot;.cb&quot;+h).remove(),n._infolayer.selectAll(&quot;g.rangeslider-container&quot;).selectAll(d).remove())}n._zoomlayer&amp;&amp;n._zoomlayer.selectAll(&quot;.select-outline&quot;).remove()},p.linkSubplots=function(t,e,r,n){var i,a,o,s,l=n._plots||{},f=e._plots={},h=e._subplots,d={_fullData:t,_fullLayout:e},p=h.cartesian.concat(h.gl2d||[]);for(var m in h)h[m].sort(u.subplotSort);for(i=0;i&lt;p.length;i++){var g,v=l[o=p[i]],y=c.getFromId(d,o,&quot;x&quot;),x=c.getFromId(d,o,&quot;y&quot;);for(v?((g=f[o]=v).xaxis.layer!==y.layer&amp;&amp;(g.xlines.attr(&quot;d&quot;,null),g.xaxislayer.selectAll(&quot;*&quot;).remove()),g.yaxis.layer!==x.layer&amp;&amp;(g.ylines.attr(&quot;d&quot;,null),g.yaxislayer.selectAll(&quot;*&quot;).remove())):(g=f[o]={}).id=o,g.xaxis=y,g.yaxis=x,g._hasClipOnAxisFalse=!1,a=0;a&lt;t.length;a++){var b=t[a];if(b.xaxis===g.xaxis._id&amp;&amp;b.yaxis===g.yaxis._id&amp;&amp;!1===b.cliponaxis){g._hasClipOnAxisFalse=!0;break}}}var _=c.list(d,null,!0);for(i=0;i&lt;_.length;i++){var w=null;(s=_[i]).overlaying&amp;&amp;(w=c.getFromId(d,s.overlaying))&amp;&amp;w.overlaying&amp;&amp;(s.overlaying=!1,w=null),s._mainAxis=w||s,w&amp;&amp;(s.domain=w.domain.slice()),s._anchorAxis=&quot;free&quot;===s.anchor?null:c.getFromId(d,s.anchor)}for(i=0;i&lt;_.length;i++){var M=&quot;x&quot;===(s=_[i])._id.charAt(0),k=s._mainAxis._anchorAxis,A=&quot;&quot;,T=&quot;&quot;,S=&quot;&quot;;if(k&amp;&amp;(S=k._mainAxis._id,A=M?s._id+S:S+s._id),!A||-1===p.indexOf(A))for(A=&quot;&quot;,a=0;a&lt;p.length;a++){var E=(o=p[a]).indexOf(&quot;y&quot;),L=M?o.substr(0,E):o.substr(E),C=M?o.substr(E):o.substr(0,E);if(L===s._id){T||(T=o);var z=c.getFromId(d,C);if(S&amp;&amp;z.overlaying===S){A=o;break}}}s._mainSubplot=A||T}},p.clearExpandedTraceDefaultColors=function(t){function e(t,e,i,a){n[a]=e,n.length=a+1,&quot;color&quot;===t.valType&amp;&amp;void 0===t.dflt&amp;&amp;r.push(n.join(&quot;.&quot;))}var r,n,i;for(n=[],(r=t._module._colorAttrs)||(t._module._colorAttrs=r=[],s.crawl(t._module.attributes,e)),i=0;i&lt;r.length;i++){u.nestedProperty(t,&quot;_input.&quot;+r[i]).get()||u.nestedProperty(t,r[i]).set(null)}},p.supplyDataDefaults=function(t,e,r,n){function i(t){e.push(t);var r=t._module;r&amp;&amp;(!0===t.visible&amp;&amp;u.pushUnique(c,r),u.pushUnique(f,t._module.basePlotModule),h++,!1!==t._input.visible&amp;&amp;d++)}var a,o,s,c=n._modules,f=n._basePlotModules,h=0,d=0;n._transformModules=[];var m={},g=[];for(a=0;a&lt;t.length;a++){if(s=t[a],o=p.supplyTraceDefaults(s,d,n,a),o.index=a,o._input=s,o._expandedIndex=h,o.transforms&amp;&amp;o.transforms.length)for(var x=function(t,e,r,n){for(var i=t.transforms,a=[t],o=0;o&lt;i.length;o++){var s=i[o],l=y[s.type];l&amp;&amp;l.transform&amp;&amp;(a=l.transform(a,{transform:s,fullTrace:t,fullData:e,layout:r,fullLayout:n,transformIndex:o}))}return a}(o,e,r,n),b=0;b&lt;x.length;b++){var _=x[b],w=p.supplyTraceDefaults(_,h,n,a);v(w,_),_.uid=w.uid=o.uid+b,w.index=a,w._input=s,w._fullInput=o,w._expandedIndex=h,w._expandedInput=_,i(w)}else o._fullInput=o,o._expandedInput=o,i(o);l.traceIs(o,&quot;carpetAxis&quot;)&amp;&amp;(m[o.carpet]=o),l.traceIs(o,&quot;carpetDependent&quot;)&amp;&amp;g.push(a)}for(a=0;a&lt;g.length;a++)if((o=e[g[a]]).visible){var M=m[o.carpet];o._carpet=M,M&amp;&amp;M.visible?(o.xaxis=M.xaxis,o.yaxis=M.yaxis):o.visible=!1}},p.supplyAnimationDefaults=function(t){function e(e,r){return u.coerce(t||{},n,m,e,r)}t=t||{};var r,n={};if(e(&quot;mode&quot;),e(&quot;direction&quot;),e(&quot;fromcurrent&quot;),Array.isArray(t.frame))for(n.frame=[],r=0;r&lt;t.frame.length;r++)n.frame[r]=p.supplyAnimationFrameDefaults(t.frame[r]||{});else n.frame=p.supplyAnimationFrameDefaults(t.frame||{});if(Array.isArray(t.transition))for(n.transition=[],r=0;r&lt;t.transition.length;r++)n.transition[r]=p.supplyAnimationTransitionDefaults(t.transition[r]||{});else n.transition=p.supplyAnimationTransitionDefaults(t.transition||{});return n},p.supplyAnimationFrameDefaults=function(t){function e(e,n){return u.coerce(t||{},r,m.frame,e,n)}var r={};return e(&quot;duration&quot;),e(&quot;redraw&quot;),r},p.supplyAnimationTransitionDefaults=function(t){function e(e,n){return u.coerce(t||{},r,m.transition,e,n)}var r={};return e(&quot;duration&quot;),e(&quot;easing&quot;),r},p.supplyFrameDefaults=function(t){function e(e,n){return u.coerce(t,r,g,e,n)}var r={};return e(&quot;group&quot;),e(&quot;name&quot;),e(&quot;traces&quot;),e(&quot;baseframe&quot;),e(&quot;data&quot;),e(&quot;layout&quot;),r},p.supplyTraceDefaults=function(t,e,r,n){function i(e,r){return u.coerce(t,s,p.attributes,e,r)}var a,o=r.colorway||h.defaults,s={},c=o[e%o.length],f=i(&quot;visible&quot;);i(&quot;type&quot;),i(&quot;uid&quot;),i(&quot;name&quot;,r._traceWord+&quot; &quot;+n);var d=p.getModule(s);if(s._module=d,d){var m=d.basePlotModule,g=m.attr;if(g){var v=r._subplots,y=m.attributes,x=&quot;&quot;;if(&quot;gl2d&quot;!==m.name||f){if(Array.isArray(g))for(a=0;a&lt;g.length;a++){var b=g[a],_=u.coerce(t,s,y,b);v[b]&amp;&amp;u.pushUnique(v[b],_),x+=_}else x=u.coerce(t,s,y,g);v[m.name]&amp;&amp;u.pushUnique(v[m.name],x)}}}return f&amp;&amp;(i(&quot;customdata&quot;),i(&quot;ids&quot;),p.traceIs(s,&quot;showLegend&quot;)&amp;&amp;(i(&quot;showlegend&quot;),i(&quot;legendgroup&quot;)),l.getComponentMethod(&quot;fx&quot;,&quot;supplyDefaults&quot;)(t,s,c,r),d&amp;&amp;(d.supplyDefaults(t,s,c,r),u.coerceHoverinfo(t,s,r)),p.traceIs(s,&quot;noOpacity&quot;)||i(&quot;opacity&quot;),p.traceIs(s,&quot;notLegendIsolatable&quot;)&amp;&amp;(s.visible=!!s.visible),d&amp;&amp;d.selectPoints&amp;&amp;i(&quot;selectedpoints&quot;),p.supplyTransformDefaults(t,s,r)),s},p.supplyTransformDefaults=function(t,e,r){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&lt;o.length;l++){var c,f=o[l],h=f.type,d=y[h],p=!(f._module&amp;&amp;f._module===d),m=d&amp;&amp;&quot;function&quot;==typeof d.transform;d||u.warn(&quot;Unrecognized transform type &quot;+h+&quot;.&quot;),d&amp;&amp;d.supplyDefaults&amp;&amp;(p||m)?((c=d.supplyDefaults(f,e,r,t)).type=h,c._module=d,u.pushUnique(i,d)):c=u.extendFlat({},f),s.push(c)}},p.supplyLayoutGlobalDefaults=function(t,e,r){function n(r,n){return u.coerce(t,e,p.layoutAttributes,r,n)}var i=u.coerceFont(n,&quot;font&quot;);n(&quot;title&quot;,e._dfltTitle.plot),u.coerceFont(n,&quot;titlefont&quot;,{family:i.family,size:Math.round(1.4*i.size),color:i.color}),n(&quot;autosize&quot;,!(t.width&amp;&amp;t.height)),n(&quot;width&quot;),n(&quot;height&quot;),n(&quot;margin.l&quot;),n(&quot;margin.r&quot;),n(&quot;margin.t&quot;),n(&quot;margin.b&quot;),n(&quot;margin.pad&quot;),n(&quot;margin.autoexpand&quot;),t.width&amp;&amp;t.height&amp;&amp;p.sanitizeMargins(e),n(&quot;paper_bgcolor&quot;),n(&quot;separators&quot;,r.decimal+r.thousands),n(&quot;hidesources&quot;),n(&quot;colorway&quot;),l.getComponentMethod(&quot;calendars&quot;,&quot;handleDefaults&quot;)(t,e,&quot;calendar&quot;),l.getComponentMethod(&quot;fx&quot;,&quot;supplyLayoutGlobalDefaults&quot;)(t,e,n)},p.plotAutoSize=function(t,e,r){var n,i,o=t._context||{},s=o.frameMargins,l=u.isPlotDiv(t);if(l&amp;&amp;t.emit(&quot;plotly_autosize&quot;),o.fillFrame)n=window.innerWidth,i=window.innerHeight,document.body.style.overflow=&quot;hidden&quot;;else if(a(s)&amp;&amp;s&gt;0){var c=function(t){var e,r={left:0,right:0,bottom:0,top:0};if(t)for(e in t)t.hasOwnProperty(e)&amp;&amp;(r.left+=t[e].left||0,r.right+=t[e].right||0,r.bottom+=t[e].bottom||0,r.top+=t[e].top||0);return r}(t._boundingBoxMargins),f=c.left+c.right,h=c.bottom+c.top,d=1-2*s,m=r._container&amp;&amp;r._container.node?r._container.node().getBoundingClientRect():{width:r.width,height:r.height};n=Math.round(d*(m.width-f)),i=Math.round(d*(m.height-h))}else{var g=l?window.getComputedStyle(t):{};n=parseFloat(g.width)||r.width,i=parseFloat(g.height)||r.height}var v=p.layoutAttributes.width.min,y=p.layoutAttributes.height.min;n&lt;v&amp;&amp;(n=v),i&lt;y&amp;&amp;(i=y);var x=!e.width&amp;&amp;Math.abs(r.width-n)&gt;1,b=!e.height&amp;&amp;Math.abs(r.height-i)&gt;1;(b||x)&amp;&amp;(x&amp;&amp;(r.width=n),b&amp;&amp;(r.height=i)),t._initialAutoSize||(t._initialAutoSize={width:n,height:i}),p.sanitizeMargins(r)},p.supplyLayoutModuleDefaults=function(t,e,r,n){var i,a,o,s=l.componentsRegistry,c=e._basePlotModules,u=l.subplotsRegistry.cartesian;for(i in s)(o=s[i]).includeBasePlot&amp;&amp;o.includeBasePlot(t,e);for(c.length||c.push(u),e._has(&quot;cartesian&quot;)&amp;&amp;u.finalizeSubplots(t,e),a=0;a&lt;c.length;a++)(o=c[a]).supplyLayoutDefaults&amp;&amp;o.supplyLayoutDefaults(t,e,r);var f=e._modules;for(a=0;a&lt;f.length;a++)(o=f[a]).supplyLayoutDefaults&amp;&amp;o.supplyLayoutDefaults(t,e,r);var h=e._transformModules;for(a=0;a&lt;h.length;a++)(o=h[a]).supplyLayoutDefaults&amp;&amp;o.supplyLayoutDefaults(t,e,r,n);for(i in s)(o=s[i]).supplyLayoutDefaults&amp;&amp;o.supplyLayoutDefaults(t,e,r)},p.purge=function(t){var e=t._fullLayout||{};void 0!==e._glcontainer&amp;&amp;(e._glcontainer.selectAll(&quot;.gl-canvas&quot;).remove(),e._glcontainer.remove(),e._glcanvas=null),void 0!==e._geocontainer&amp;&amp;e._geocontainer.remove(),e._modeBar&amp;&amp;e._modeBar.destroy(),t._transitionData&amp;&amp;(t._transitionData._interruptCallbacks&amp;&amp;(t._transitionData._interruptCallbacks.length=0),t._transitionData._animationRaf&amp;&amp;window.cancelAnimationFrame(t._transitionData._animationRaf)),u.clearThrottle(),delete t.data,delete t.layout,delete t._fullData,delete t._fullLayout,delete t.calcdata,delete t.framework,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.firstscatter,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._hoverdata,delete t._snapshotInProgress,delete t._editing,delete t._replotPending,delete t._mouseDownTime,delete t._legendMouseDownTime,t.removeAllListeners&amp;&amp;t.removeAllListeners()},p.style=function(t){var e,r=t._fullLayout._modules,n=[];for(e=0;e&lt;r.length;e++){var i=r[e];i.style&amp;&amp;u.pushUnique(n,i.style)}for(e=0;e&lt;n.length;e++)n[e](t)},p.sanitizeMargins=function(t){if(t&amp;&amp;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&lt;0&amp;&amp;(e=(r-1)/(i.l+i.r),i.l=Math.floor(e*i.l),i.r=Math.floor(e*i.r)),o&lt;0&amp;&amp;(e=(n-1)/(i.t+i.b),i.t=Math.floor(e*i.t),i.b=Math.floor(e*i.b))}},p.autoMargin=function(t,e,r){var n=t._fullLayout;if(n._pushmargin||(n._pushmargin={}),!1!==n.margin.autoexpand){if(r){var i=void 0===r.pad?12:r.pad;r.l+r.r&gt;.5*n.width&amp;&amp;(r.l=r.r=0),r.b+r.t&gt;.5*n.height&amp;&amp;(r.b=r.t=0),n._pushmargin[e]={l:{val:r.x,size:r.l+i},r:{val:r.x,size:r.r+i},b:{val:r.y,size:r.b+i},t:{val:r.y,size:r.t+i}}}else delete n._pushmargin[e];n._replotting||p.doAutoMargin(t)}},p.doAutoMargin=function(t){var e=t._fullLayout;e._size||(e._size={}),e._pushmargin||(e._pushmargin={});var r=e._size,n=JSON.stringify(r),i=Math.max(e.margin.l||0,0),s=Math.max(e.margin.r||0,0),l=Math.max(e.margin.t||0,0),c=Math.max(e.margin.b||0,0),u=e._pushmargin;if(!1!==e.margin.autoexpand){u.base={l:{val:0,size:i},r:{val:1,size:s},t:{val:1,size:l},b:{val:0,size:c}};for(var f in u){var h=u[f].l||{},d=u[f].b||{},p=h.val,m=h.size,g=d.val,v=d.size;for(var y in u){if(a(m)&amp;&amp;u[y].r){var x=u[y].r.val,b=u[y].r.size;if(x&gt;p){var _=(m*x+(b-e.width)*p)/(x-p),w=(b*(1-p)+(m-e.width)*(1-x))/(x-p);_&gt;=0&amp;&amp;w&gt;=0&amp;&amp;_+w&gt;i+s&amp;&amp;(i=_,s=w)}}if(a(v)&amp;&amp;u[y].t){var M=u[y].t.val,k=u[y].t.size;if(M&gt;g){var A=(v*M+(k-e.height)*g)/(M-g),T=(k*(1-g)+(v-e.height)*(1-M))/(M-g);A&gt;=0&amp;&amp;T&gt;=0&amp;&amp;A+T&gt;c+l&amp;&amp;(c=A,l=T)}}}}}if(r.l=Math.round(i),r.r=Math.round(s),r.t=Math.round(l),r.b=Math.round(c),r.p=Math.round(e.margin.pad),r.w=Math.round(e.width)-r.l-r.r,r.h=Math.round(e.height)-r.t-r.b,!e._replotting&amp;&amp;&quot;{}&quot;!==n&amp;&amp;n!==JSON.stringify(e._size))return o.plot(t)},p.graphJson=function(t,e,r,n,i){function a(t){if(&quot;function&quot;==typeof t)return null;if(u.isPlainObject(t)){var e,n,i={};for(e in t)if(&quot;function&quot;!=typeof t[e]&amp;&amp;-1===[&quot;_&quot;,&quot;[&quot;].indexOf(e.charAt(0))){if(&quot;keepdata&quot;===r){if(&quot;src&quot;===e.substr(e.length-3))continue}else if(&quot;keepstream&quot;===r){if(&quot;string&quot;==typeof(n=t[e+&quot;src&quot;])&amp;&amp;n.indexOf(&quot;:&quot;)&gt;0&amp;&amp;!u.isPlainObject(t.stream))continue}else if(&quot;keepall&quot;!==r&amp;&amp;&quot;string&quot;==typeof(n=t[e+&quot;src&quot;])&amp;&amp;n.indexOf(&quot;:&quot;)&gt;0)continue;i[e]=a(t[e])}return i}return Array.isArray(t)?t.map(a):u.isJSDate(t)?u.ms2DateTimeLocal(+t):t}(i&amp;&amp;e&amp;&amp;!t._fullData||i&amp;&amp;!e&amp;&amp;!t._fullLayout)&amp;&amp;p.supplyDefaults(t);var o=i?t._fullData:t.data,s=i?t._fullLayout:t.layout,l=(t._transitionData||{})._frames,c={data:(o||[]).map(function(t){var r=a(t);return e&amp;&amp;delete r.fit,r})};return e||(c.layout=a(s)),t.framework&amp;&amp;t.framework.isPolar&amp;&amp;(c=t.framework.getConfig()),l&amp;&amp;(c.frames=a(l)),&quot;object&quot;===n?c:JSON.stringify(c)},p.modifyFrames=function(t,e){var r,n,i,a=t._transitionData._frames,o=t._transitionData._frameHash;for(r=0;r&lt;e.length;r++)switch((n=e[r]).type){case&quot;replace&quot;:i=n.value;var s=(a[n.index]||{}).name,l=i.name;a[n.index]=o[l]=i,l!==s&amp;&amp;(delete o[s],o[l]=i);break;case&quot;insert&quot;:o[(i=n.value).name]=i,a.splice(n.index,0,i);break;case&quot;delete&quot;:delete o[(i=a[n.index]).name],a.splice(n.index,1)}return Promise.resolve()},p.computeFrame=function(t,e){var r,n,i,a,o=t._transitionData._frameHash;if(!e)throw new Error(&quot;computeFrame must be given a string frame name&quot;);var s=o[e.toString()];if(!s)return!1;for(var l=[s],c=[s.name];s.baseframe&amp;&amp;(s=o[s.baseframe.toString()])&amp;&amp;-1===c.indexOf(s.name);)l.push(s),c.push(s.name);for(var u={};s=l.pop();)if(s.layout&amp;&amp;(u.layout=p.extendLayout(u.layout,s.layout)),s.data){if(u.data||(u.data=[]),!(n=s.traces))for(n=[],r=0;r&lt;s.data.length;r++)n[r]=r;for(u.traces||(u.traces=[]),r=0;r&lt;s.data.length;r++)void 0!==(i=n[r])&amp;&amp;null!==i&amp;&amp;(-1===(a=u.traces.indexOf(i))&amp;&amp;(a=u.data.length,u.traces[a]=i),u.data[a]=p.extendTrace(u.data[a],s.data[r]))}return u},p.recomputeFrameHash=function(t){for(var e=t._transitionData._frameHash={},r=t._transitionData._frames,n=0;n&lt;r.length;n++){var i=r[n];i&amp;&amp;i.name&amp;&amp;(e[i.name]=i)}},p.extendObjectWithContainers=function(t,e,r){var n,i,a,o,s,l,c,f,h=u.extendDeepNoArrays({},e||{}),d=u.expandObjectPaths(h),m={};if(r&amp;&amp;r.length)for(a=0;a&lt;r.length;a++)void 0===(i=(n=u.nestedProperty(d,r[a])).get())?u.nestedProperty(m,r[a]).set(null):(n.set(null),u.nestedProperty(m,r[a]).set(i));if(t=u.extendDeepNoArrays(t||{},d),r&amp;&amp;r.length)for(a=0;a&lt;r.length;a++)if(s=u.nestedProperty(m,r[a]),c=s.get()){for(f=(l=u.nestedProperty(t,r[a])).get(),Array.isArray(f)||(f=[],l.set(f)),o=0;o&lt;c.length;o++){var g=c[o];f[o]=null===g?null:p.extendObjectWithContainers(f[o],g)}l.set(f)}return t},p.dataArrayContainers=[&quot;transforms&quot;],p.layoutArrayContainers=l.layoutArrayContainers,p.extendTrace=function(t,e){return p.extendObjectWithContainers(t,e,p.dataArrayContainers)},p.extendLayout=function(t,e){return p.extendObjectWithContainers(t,e,p.layoutArrayContainers)},p.transition=function(t,e,r,n,i,a){var s,l,c=Array.isArray(e)?e.length:0,f=n.slice(0,c),h=[],d=!1;for(s=0;s&lt;f.length;s++){l=f[s];var m=t._fullData[l]._module;if(m&amp;&amp;!m.animatable){var g={};for(var v in e[s])g[v]=[e[s][v]]}}var y=[p.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)},function(){var n;for(n=0;n&lt;f.length;n++){var i=f[n],a=t._fullData[i]._module;a&amp;&amp;(a.animatable&amp;&amp;h.push(i),t.data[f[n]]=p.extendTrace(t.data[f[n]],e[n]))}var o=u.expandObjectPaths(u.extendDeepNoArrays({},r)),s=/^[xy]axis[0-9]*$/;for(var l in o)s.test(l)&amp;&amp;delete o[l].range;return p.extendLayout(t.layout,o),delete t.calcdata,p.supplyDefaults(t),p.doCalcdata(t),x.calc(t),Promise.resolve()},p.rehover,function(){return t.emit(&quot;plotly_transitioning&quot;,[]),new Promise(function(e){function n(){return c++,function(){f++,d||f!==c||function(e){t._transitionData&amp;&amp;(function(t){if(t)for(;t.length;)t.shift()}(t._transitionData._interruptCallbacks),Promise.resolve().then(function(){if(i.redraw)return o.redraw(t)}).then(function(){t._transitioning=!1,t._transitioningWithDuration=!1,t.emit(&quot;plotly_transitioned&quot;,[])}).then(e))}(e)}}t._transitioning=!0,a.duration&gt;0&amp;&amp;(t._transitioningWithDuration=!0),t._transitionData._interruptCallbacks.push(function(){d=!0}),i.redraw&amp;&amp;t._transitionData._interruptCallbacks.push(function(){return o.redraw(t)}),t._transitionData._interruptCallbacks.push(function(){t.emit(&quot;plotly_transitioninterrupted&quot;,[])});var s,l,c=0,f=0,p=t._fullLayout._basePlotModules,m=!1;if(r)for(l=0;l&lt;p.length;l++)if(p[l].transitionAxes){var g=u.expandObjectPaths(r);m=p[l].transitionAxes(t,g,a,n)||m}for(m?(s=u.extendFlat({},a)).duration=0:s=a,l=0;l&lt;p.length;l++)p[l].plot(t,h,s,n);setTimeout(n())})}],b=u.syncOrAsync(y,t);return b&amp;&amp;b.then||(b=Promise.resolve()),b.then(function(){return t})},p.doCalcdata=function(t,e){var r,i,a,o,u=c.list(t),f=t._fullData,h=t._fullLayout,p=new Array(f.length),m=(t.calcdata||[]).slice(0);for(t.calcdata=p,t.firstscatter=!0,h._numBoxes=0,h._numViolins=0,h._violinScaleGroupStats={},t._hmpixcount=0,t._hmlumcount=0,h._piecolormap={},h._piecolorway=null,h._piedefaultcolorcount=0,a=0;a&lt;f.length;a++)Array.isArray(e)&amp;&amp;-1===e.indexOf(a)&amp;&amp;(p[a]=m[a]);for(a=0;a&lt;f.length;a++)(r=f[a])._arrayAttrs=s.findArrayAttributes(r);var g=h._subplots.polar||[];for(a=0;a&lt;g.length;a++)u.push(h[g[a]].radialaxis,h[g[a]].angularaxis);n(u);var v=!1;for(a=0;a&lt;f.length;a++)if(!0===(r=f[a]).visible&amp;&amp;r.transforms)for((i=r._module)&amp;&amp;i.calc&amp;&amp;i.calc(t,r),o=0;o&lt;r.transforms.length;o++){var x=r.transforms[o];(i=y[x.type])&amp;&amp;i.calcTransform&amp;&amp;(r._hasCalcTransform=!0,v=!0,i.calcTransform(t,r,x))}if(v){for(a=0;a&lt;u.length;a++)u[a]._min=[],u[a]._max=[],u[a]._categories=[],u[a]._categoriesMap={};n(u)}for(a=0;a&lt;f.length;a++){var b=[];if(!0===(r=f[a]).visible){i=r._module;var _=r.transforms||[];for(o=_.length-1;o&gt;=0;o--)if(_[o].enabled){r._indexToPoints=_[o]._indexToPoints;break}i&amp;&amp;i.calc&amp;&amp;(b=i.calc(t,r))}Array.isArray(b)&amp;&amp;b[0]||(b=[{x:d,y:d}]),b[0].t||(b[0].t={}),b[0].trace=r,p[a]=b}l.getComponentMethod(&quot;fx&quot;,&quot;calc&quot;)(t)},p.rehover=function(t){t._fullLayout._rehover&amp;&amp;t._fullLayout._rehover()},p.generalUpdatePerTraceModule=function(t,e,r,n){var i,a=e.traceHash,o={};for(i=0;i&lt;r.length;i++){var s=r[i],l=s[0].trace;l.visible&amp;&amp;(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 d=o[h];d[0][0].trace._module.plot(t,e,u.filterVisible(d),n)}e.traceHash=o}},{&quot;../components/color&quot;:618,&quot;../components/errorbars&quot;:649,&quot;../constants/numerical&quot;:721,&quot;../lib&quot;:743,&quot;../plot_api/plot_schema&quot;:778,&quot;../plotly&quot;:784,&quot;../plots/cartesian/axis_ids&quot;:792,&quot;../registry&quot;:873,&quot;./animation_attributes&quot;:785,&quot;./attributes&quot;:787,&quot;./command&quot;:814,&quot;./font_attributes&quot;:816,&quot;./frame_attributes&quot;:817,&quot;./layout_attributes&quot;:843,d3:128,&quot;fast-isnumeric&quot;:140}],853:[function(t,e,r){&quot;use strict&quot;;e.exports={attr:&quot;subplot&quot;,name:&quot;polar&quot;,axisNames:[&quot;angularaxis&quot;,&quot;radialaxis&quot;],axisName2dataArray:{angularaxis:&quot;theta&quot;,radialaxis:&quot;r&quot;},layerNames:[&quot;draglayer&quot;,&quot;plotbg&quot;,&quot;backplot&quot;,&quot;angular-grid&quot;,&quot;radial-grid&quot;,&quot;frontplot&quot;,&quot;angular-axis&quot;,&quot;radial-axis&quot;,&quot;angular-line&quot;,&quot;radial-line&quot;],radialDragBoxSize:50,angularDragBoxSize:30,cornerLen:25,cornerHalfWidth:2,MINDRAG:8,MINZOOM:20,OFFEDGE:20}},{}],854:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib&quot;);r.setConvertAngular=function(t){function e(){return t.period?Math.max(t.period,t._categories.length):t._categories.length}function r(t){return(t-s)/o}var i,a,o={clockwise:-1,counterclockwise:1}[t.direction],s=n.deg2rad(t.rotation);&quot;linear&quot;===t.type?(i=function(t,e){return&quot;degrees&quot;===e?n.deg2rad(t):t},a=function(t,e){return&quot;degrees&quot;===e?n.rad2deg(t):t}):&quot;category&quot;===t.type&amp;&amp;(i=function(t){var r=e();return 2*t*Math.PI/r},a=function(t){return t*e()/Math.PI/2}),t.unTransformRad=r,t._c2rad=i,t.c2rad=function(t,e){return function(t){return o*t+s}(i(t,e))},t.rad2c=function(t,e){return a(r(t),e)},t.c2deg=function(e,r){return n.rad2deg(t.c2rad(e,r))},t.deg2c=function(e,r){return t.rad2c(n.deg2rad(e),r)}}},{&quot;../../lib&quot;:743}],855:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../get_data&quot;).getSubplotCalcData,i=t(&quot;../../lib&quot;).counterRegex,a=t(&quot;./polar&quot;),o=t(&quot;./constants&quot;),s=o.attr,l=o.name,c=i(l),u={};u[s]={valType:&quot;subplotid&quot;,dflt:l,editType:&quot;calc&quot;},e.exports={attr:s,name:l,idRoot:l,idRegex:c,attrRegex:c,attributes:u,layoutAttributes:t(&quot;./layout_attributes&quot;),supplyLayoutDefaults:t(&quot;./layout_defaults&quot;),plot:function(t){for(var e=t._fullLayout,r=t.calcdata,i=e._subplots[l],o=0;o&lt;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=0;a&lt;i.length;a++){var o=i[a],s=n[o]._subplot;if(!e[o]&amp;&amp;s){s.framework.remove(),s.layers[&quot;radial-axis-title&quot;].remove();for(var c in s.clipPaths)s.clipPaths[c].remove()}}},toSVG:t(&quot;../cartesian&quot;).toSVG}},{&quot;../../lib&quot;:743,&quot;../cartesian&quot;:800,&quot;../get_data&quot;:826,&quot;./constants&quot;:853,&quot;./layout_attributes&quot;:856,&quot;./layout_defaults&quot;:857,&quot;./polar&quot;:864}],856:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../components/color/attributes&quot;),i=t(&quot;../cartesian/layout_attributes&quot;),a=t(&quot;../domain_attributes&quot;),o=t(&quot;../../lib&quot;).extendFlat,s=t(&quot;../../plot_api/edit_types&quot;).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},&quot;plot&quot;,&quot;from-root&quot;),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,showticklabels:i.showticklabels,showtickprefix:i.showtickprefix,tickprefix:i.tickprefix,showticksuffix:i.showticksuffix,ticksuffix:i.ticksuffix,showexponent:i.showexponent,exponentformat:i.exponentformat,separatethousands:i.separatethousands,tickfont:i.tickfont,tickangle:i.tickangle,tickformat:i.tickformat,tickformatstops:i.tickformatstops,layer:i.layer},&quot;plot&quot;,&quot;from-root&quot;),u={visible:o({},i.visible,{dflt:!0}),type:i.type,autorange:i.autorange,rangemode:{valType:&quot;enumerated&quot;,values:[&quot;tozero&quot;,&quot;nonnegative&quot;,&quot;normal&quot;],dflt:&quot;tozero&quot;,editType:&quot;calc&quot;},range:i.range,categoryorder:i.categoryorder,categoryarray:i.categoryarray,angle:{valType:&quot;angle&quot;,editType:&quot;plot&quot;},side:{valType:&quot;enumerated&quot;,values:[&quot;clockwise&quot;,&quot;counterclockwise&quot;],dflt:&quot;clockwise&quot;,editType:&quot;plot&quot;},title:o({},i.title,{editType:&quot;plot&quot;,dflt:&quot;&quot;}),titlefont:s(i.titlefont,&quot;plot&quot;,&quot;from-root&quot;),hoverformat:i.hoverformat,editType:&quot;calc&quot;};o(u,l,c);var f={visible:o({},i.visible,{dflt:!0}),type:{valType:&quot;enumerated&quot;,values:[&quot;-&quot;,&quot;linear&quot;,&quot;category&quot;],dflt:&quot;-&quot;,editType:&quot;calc&quot;},categoryorder:i.categoryorder,categoryarray:i.categoryarray,thetaunit:{valType:&quot;enumerated&quot;,values:[&quot;radians&quot;,&quot;degrees&quot;],dflt:&quot;degrees&quot;,editType:&quot;calc&quot;},period:{valType:&quot;number&quot;,editType:&quot;calc&quot;,min:0},direction:{valType:&quot;enumerated&quot;,values:[&quot;counterclockwise&quot;,&quot;clockwise&quot;],dflt:&quot;counterclockwise&quot;,editType:&quot;calc&quot;},rotation:{valType:&quot;angle&quot;,editType:&quot;calc&quot;},hoverformat:i.hoverformat,editType:&quot;calc&quot;};o(f,l,c),e.exports={domain:a({name:&quot;polar&quot;,editType:&quot;plot&quot;}),sector:{valType:&quot;info_array&quot;,items:[{valType:&quot;number&quot;,editType:&quot;plot&quot;},{valType:&quot;number&quot;,editType:&quot;plot&quot;}],dflt:[0,360],editType:&quot;plot&quot;},bgcolor:{valType:&quot;color&quot;,editType:&quot;plot&quot;,dflt:n.background},radialaxis:u,angularaxis:f,editType:&quot;calc&quot;}},{&quot;../../components/color/attributes&quot;:617,&quot;../../lib&quot;:743,&quot;../../plot_api/edit_types&quot;:773,&quot;../cartesian/layout_attributes&quot;:801,&quot;../domain_attributes&quot;:815}],857:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,n){function o(t,e){return r(_+&quot;.&quot;+t,e)}var b=r(&quot;bgcolor&quot;);n.bgColor=a.combine(b,n.paper_bgcolor);for(var _,w=r(&quot;sector&quot;),M=s(n.fullData,y.name,n.id),k=n.layoutOut,A=0;A&lt;x.length;A++){_=x[A],i.isPlainObject(t[_])||(t[_]={});var T=t[_],S=e[_]={};S._id=S._name=_;var E=y.axisName2dataArray[_],L=function(t,e,r,n,i){if(&quot;-&quot;===r(&quot;type&quot;)){for(var a,o=0;o&lt;n.length;o++)if(n[o].visible){a=n[o];break}a&amp;&amp;(e.type=d(a[i],&quot;gregorian&quot;)),&quot;-&quot;===e.type?e.type=&quot;linear&quot;:t.type=e.type}return e.type}(T,S,o,M,E);f(T,S,o),S._initialCategories=&quot;category&quot;===L?p(E,S.categoryorder,S.categoryarray,M):[];var C=o(&quot;visible&quot;);m(S,k);var z,D;switch(C&amp;&amp;(D=(z=o(&quot;color&quot;))===T.color?z:n.font.color),S._m=1,_){case&quot;radialaxis&quot;:var I=o(&quot;autorange&quot;,!S.isValidRange(T.range));I&amp;&amp;o(&quot;rangemode&quot;),&quot;reversed&quot;===I&amp;&amp;(S._m=-1),o(&quot;range&quot;),S.cleanRange(&quot;range&quot;,{dfltRange:[0,1]}),C&amp;&amp;(o(&quot;side&quot;),o(&quot;angle&quot;,w[0]),o(&quot;title&quot;),i.coerceFont(o,&quot;titlefont&quot;,{family:n.font.family,size:Math.round(1.2*n.font.size),color:D}));break;case&quot;angularaxis&quot;:if(&quot;date&quot;===L){i.log(&quot;Polar plots do not support date angular axes yet.&quot;);for(var P=0;P&lt;M.length;P++)M[P].visible=!1;L=T.type=S.type=&quot;linear&quot;}o(&quot;linear&quot;===L?&quot;thetaunit&quot;:&quot;period&quot;);o(&quot;rotation&quot;,{counterclockwise:0,clockwise:90}[o(&quot;direction&quot;)]),g(S)}if(C){l(T,S,o,S.type),u(T,S,o,S.type,{noHover:!1,tickSuffixDflt:&quot;degrees&quot;===S.thetaunit?&quot;\xb0&quot;:void 0}),c(T,S,o,{outerTicks:!0});o(&quot;showticklabels&quot;)&amp;&amp;(i.coerceFont(o,&quot;tickfont&quot;,{family:n.font.family,size:n.font.size,color:D}),o(&quot;tickangle&quot;),o(&quot;tickformat&quot;)),h(T,S,o,{dfltColor:z,bgColor:n.bgColor,blend:60,showLine:!0,showGrid:!0,noZeroLine:!0,attributes:v[_]}),o(&quot;layer&quot;)}o(&quot;hoverformat&quot;),S._input=T}}var i=t(&quot;../../lib&quot;),a=t(&quot;../../components/color&quot;),o=t(&quot;../subplot_defaults&quot;),s=t(&quot;../get_data&quot;).getSubplotData,l=t(&quot;../cartesian/tick_value_defaults&quot;),c=t(&quot;../cartesian/tick_mark_defaults&quot;),u=t(&quot;../cartesian/tick_label_defaults&quot;),f=t(&quot;../cartesian/category_order_defaults&quot;),h=t(&quot;../cartesian/line_grid_defaults&quot;),d=t(&quot;../cartesian/axis_autotype&quot;),p=t(&quot;../cartesian/ordered_categories&quot;),m=t(&quot;../cartesian/set_convert&quot;),g=t(&quot;./helpers&quot;).setConvertAngular,v=t(&quot;./layout_attributes&quot;),y=t(&quot;./constants&quot;),x=y.axisNames;e.exports=function(t,e,r){o(t,e,r,{type:y.name,attributes:v,handleDefaults:n,font:e.font,paper_bgcolor:e.paper_bgcolor,fullData:r,layoutOut:e})}},{&quot;../../components/color&quot;:618,&quot;../../lib&quot;:743,&quot;../cartesian/axis_autotype&quot;:790,&quot;../cartesian/category_order_defaults&quot;:793,&quot;../cartesian/line_grid_defaults&quot;:803,&quot;../cartesian/ordered_categories&quot;:804,&quot;../cartesian/set_convert&quot;:808,&quot;../cartesian/tick_label_defaults&quot;:809,&quot;../cartesian/tick_mark_defaults&quot;:810,&quot;../cartesian/tick_value_defaults&quot;:811,&quot;../get_data&quot;:826,&quot;../subplot_defaults&quot;:865,&quot;./constants&quot;:853,&quot;./helpers&quot;:854,&quot;./layout_attributes&quot;:856}],858:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../../traces/scatter/attributes&quot;),i=n.marker;e.exports={r:n.r,t:n.t,marker:{color:i.color,size:i.size,symbol:i.symbol,opacity:i.opacity,editType:&quot;calc&quot;}}},{&quot;../../../traces/scatter/attributes&quot;:1066}],859:[function(t,e,r){&quot;use strict&quot;;function n(t,e){return a({},e,{showline:{valType:&quot;boolean&quot;},showticklabels:{valType:&quot;boolean&quot;},tickorientation:{valType:&quot;enumerated&quot;,values:[&quot;horizontal&quot;,&quot;vertical&quot;]},ticklen:{valType:&quot;number&quot;,min:0},tickcolor:{valType:&quot;color&quot;},ticksuffix:{valType:&quot;string&quot;},endpadding:{valType:&quot;number&quot;},visible:{valType:&quot;boolean&quot;}})}var i=t(&quot;../../cartesian/layout_attributes&quot;),a=t(&quot;../../../lib/extend&quot;).extendFlat,o=t(&quot;../../../plot_api/edit_types&quot;).overrideAll,s=a({},i.domain,{});e.exports=o({radialaxis:n(0,{range:{valType:&quot;info_array&quot;,items:[{valType:&quot;number&quot;},{valType:&quot;number&quot;}]},domain:s,orientation:{valType:&quot;number&quot;}}),angularaxis:n(0,{range:{valType:&quot;info_array&quot;,items:[{valType:&quot;number&quot;,dflt:0},{valType:&quot;number&quot;,dflt:360}]},domain:s}),layout:{direction:{valType:&quot;enumerated&quot;,values:[&quot;clockwise&quot;,&quot;counterclockwise&quot;]},orientation:{valType:&quot;angle&quot;}}},&quot;plot&quot;,&quot;nested&quot;)},{&quot;../../../lib/extend&quot;:732,&quot;../../../plot_api/edit_types&quot;:773,&quot;../../cartesian/layout_attributes&quot;:801}],860:[function(t,e,r){&quot;use strict&quot;;(e.exports=t(&quot;./micropolar&quot;)).manager=t(&quot;./micropolar_manager&quot;)},{&quot;./micropolar&quot;:861,&quot;./micropolar_manager&quot;:862}],861:[function(t,e,r){var n=t(&quot;d3&quot;),i=t(&quot;../../../lib&quot;).extendDeepAll,a=t(&quot;../../../constants/alignment&quot;).MID_SHIFT,o=e.exports={version:&quot;0.2.2&quot;};o.Axis=function(){var t,e,r,s,l={data:[],layout:{}},c={},u={},f=n.dispatch(&quot;hover&quot;),h={};return h.render=function(c){return function(c){e=c||e;var f=l.data,h=l.layout;(&quot;string&quot;==typeof e||e.nodeName)&amp;&amp;(e=n.select(e)),e.datum(f).each(function(e,l){function c(t,e){return s(t)%360+h.orientation}var f=e.slice();u={data:o.util.cloneJson(f),layout:o.util.cloneJson(h)};var d=0;f.forEach(function(t,e){t.color||(t.color=h.defaultColorRange[d],d=(d+1)%h.defaultColorRange.length),t.strokeColor||(t.strokeColor=&quot;LinePlot&quot;===t.geometry?t.color:n.rgb(t.color).darker().toString()),u.data[e].color=t.color,u.data[e].strokeColor=t.strokeColor,u.data[e].strokeDash=t.strokeDash,u.data[e].strokeSize=t.strokeSize});var p=f.filter(function(t,e){var r=t.visible;return void 0===r||!0===r}),m=!1,g=p.map(function(t,e){return m=m||void 0!==t.groupId,t});if(m){var v=[],y=n.nest().key(function(t,e){return void 0!==t.groupId?t.groupId:&quot;unstacked&quot;}).entries(g).map(function(t,e){if(&quot;unstacked&quot;===t.key)return t.values;var r=t.values[0].r.map(function(t,e){return 0});return t.values.forEach(function(t,e,n){t.yStack=[r],v.push(r),r=o.util.sumArrays(t.r,r)}),t.values});p=n.merge(y)}p.forEach(function(t,e){t.t=Array.isArray(t.t[0])?t.t:[t.t],t.r=Array.isArray(t.r[0])?t.r:[t.r]});var x=Math.min(h.width-h.margin.left-h.margin.right,h.height-h.margin.top-h.margin.bottom)/2;x=Math.max(10,x);var b,_=[h.margin.left+x,h.margin.top+x];b=m?[0,n.max(o.util.sumArrays(o.util.arrayLast(p).r[0],o.util.arrayLast(v)))]:n.extent(o.util.flattenArray(p.map(function(t,e){return t.r}))),h.radialAxis.domain!=o.DATAEXTENT&amp;&amp;(b[0]=0),r=n.scale.linear().domain(h.radialAxis.domain!=o.DATAEXTENT&amp;&amp;h.radialAxis.domain?h.radialAxis.domain:b).range([0,x]),u.layout.radialAxis.domain=r.domain();var w,M=o.util.flattenArray(p.map(function(t,e){return t.t})),k=&quot;string&quot;==typeof M[0];k&amp;&amp;(M=o.util.deduplicate(M),w=M.slice(),M=n.range(M.length),p=p.map(function(t,e){var r=t;return t.t=[M],m&amp;&amp;(r.yStack=t.yStack),r}));var A=p.filter(function(t,e){return&quot;LinePlot&quot;===t.geometry||&quot;DotPlot&quot;===t.geometry}).length===p.length,T=null===h.needsEndSpacing?k||!A:h.needsEndSpacing,S=h.angularAxis.domain&amp;&amp;h.angularAxis.domain!=o.DATAEXTENT&amp;&amp;!k&amp;&amp;h.angularAxis.domain[0]&gt;=0?h.angularAxis.domain:n.extent(M),E=Math.abs(M[1]-M[0]);A&amp;&amp;!k&amp;&amp;(E=0);var L=S.slice();T&amp;&amp;k&amp;&amp;(L[1]+=E);var C=h.angularAxis.ticksCount||4;C&gt;8&amp;&amp;(C=C/(C/8)+C%8),h.angularAxis.ticksStep&amp;&amp;(C=(L[1]-L[0])/C);var z=h.angularAxis.ticksStep||(L[1]-L[0])/(C*(h.minorTicks+1));w&amp;&amp;(z=Math.max(Math.round(z),1)),L[2]||(L[2]=z);var D=n.range.apply(this,L);if(D=D.map(function(t,e){return parseFloat(t.toPrecision(12))}),s=n.scale.linear().domain(L.slice(0,2)).range(&quot;clockwise&quot;===h.direction?[0,360]:[360,0]),u.layout.angularAxis.domain=s.domain(),u.layout.angularAxis.endPadding=T?E:0,void 0===(t=n.select(this).select(&quot;svg.chart-root&quot;))||t.empty()){var I=(new DOMParser).parseFromString(&quot;&lt;svg xmlns='http://www.w3.org/2000/svg' class='chart-root'&gt;' + '&lt;g class='outer-group'&gt;' + '&lt;g class='chart-group'&gt;' + '&lt;circle class='background-circle'&gt;&lt;/circle&gt;' + '&lt;g class='geometry-group'&gt;&lt;/g&gt;' + '&lt;g class='radial axis-group'&gt;' + '&lt;circle class='outside-circle'&gt;&lt;/circle&gt;' + '&lt;/g&gt;' + '&lt;g class='angular axis-group'&gt;&lt;/g&gt;' + '&lt;g class='guides-group'&gt;&lt;line&gt;&lt;/line&gt;&lt;circle r='0'&gt;&lt;/circle&gt;&lt;/g&gt;' + '&lt;/g&gt;' + '&lt;g class='legend-group'&gt;&lt;/g&gt;' + '&lt;g class='tooltips-group'&gt;&lt;/g&gt;' + '&lt;g class='title-group'&gt;&lt;text&gt;&lt;/text&gt;&lt;/g&gt;' + '&lt;/g&gt;' + '&lt;/svg&gt;&quot;,&quot;application/xml&quot;),P=this.appendChild(this.ownerDocument.importNode(I.documentElement,!0));t=n.select(P)}t.select(&quot;.guides-group&quot;).style({&quot;pointer-events&quot;:&quot;none&quot;}),t.select(&quot;.angular.axis-group&quot;).style({&quot;pointer-events&quot;:&quot;none&quot;}),t.select(&quot;.radial.axis-group&quot;).style({&quot;pointer-events&quot;:&quot;none&quot;});var O,F=t.select(&quot;.chart-group&quot;),R={fill:&quot;none&quot;,stroke:h.tickColor},N={&quot;font-size&quot;:h.font.size,&quot;font-family&quot;:h.font.family,fill:h.font.color,&quot;text-shadow&quot;:[&quot;-1px 0px&quot;,&quot;1px -1px&quot;,&quot;-1px 1px&quot;,&quot;1px 1px&quot;].map(function(t,e){return&quot; &quot;+t+&quot; 0 &quot;+h.font.outlineColor}).join(&quot;,&quot;)};if(h.showLegend){O=t.select(&quot;.legend-group&quot;).attr({transform:&quot;translate(&quot;+[x,h.margin.top]+&quot;)&quot;}).style({display:&quot;block&quot;});var j=p.map(function(t,e){var r=o.util.cloneJson(t);return r.symbol=&quot;DotPlot&quot;===t.geometry?t.dotType||&quot;circle&quot;:&quot;LinePlot&quot;!=t.geometry?&quot;square&quot;:&quot;line&quot;,r.visibleInLegend=void 0===t.visibleInLegend||t.visibleInLegend,r.color=&quot;LinePlot&quot;===t.geometry?t.strokeColor:t.color,r});o.Legend().config({data:p.map(function(t,e){return t.name||&quot;Element&quot;+e}),legendConfig:i({},o.Legend.defaultConfig().legendConfig,{container:O,elements:j,reverseOrder:h.legend.reverseOrder})})();var B=O.node().getBBox();x=Math.min(h.width-B.width-h.margin.left-h.margin.right,h.height-h.margin.top-h.margin.bottom)/2,x=Math.max(10,x),_=[h.margin.left+x,h.margin.top+x],r.range([0,x]),u.layout.radialAxis.domain=r.domain(),O.attr(&quot;transform&quot;,&quot;translate(&quot;+[_[0]+x,_[1]-x]+&quot;)&quot;)}else O=t.select(&quot;.legend-group&quot;).style({display:&quot;none&quot;});t.attr({width:h.width,height:h.height}).style({opacity:h.opacity}),F.attr(&quot;transform&quot;,&quot;translate(&quot;+_+&quot;)&quot;).style({cursor:&quot;crosshair&quot;});var U=[(h.width-(h.margin.left+h.margin.right+2*x+(B?B.width:0)))/2,(h.height-(h.margin.top+h.margin.bottom+2*x))/2];if(U[0]=Math.max(0,U[0]),U[1]=Math.max(0,U[1]),t.select(&quot;.outer-group&quot;).attr(&quot;transform&quot;,&quot;translate(&quot;+U+&quot;)&quot;),h.title){var V=t.select(&quot;g.title-group text&quot;).style(N).text(h.title),q=V.node().getBBox();V.attr({x:_[0]-q.width/2,y:_[1]-x-20})}var H=t.select(&quot;.radial.axis-group&quot;);if(h.radialAxis.gridLinesVisible){var G=H.selectAll(&quot;circle.grid-circle&quot;).data(r.ticks(5));G.enter().append(&quot;circle&quot;).attr({class:&quot;grid-circle&quot;}).style(R),G.attr(&quot;r&quot;,r),G.exit().remove()}H.select(&quot;circle.outside-circle&quot;).attr({r:x}).style(R);var Y=t.select(&quot;circle.background-circle&quot;).attr({r:x}).style({fill:h.backgroundColor,stroke:h.stroke});if(h.radialAxis.visible){var W=n.svg.axis().scale(r).ticks(5).tickSize(5);H.call(W).attr({transform:&quot;rotate(&quot;+h.radialAxis.orientation+&quot;)&quot;}),H.selectAll(&quot;.domain&quot;).style(R),H.selectAll(&quot;g&gt;text&quot;).text(function(t,e){return this.textContent+h.radialAxis.ticksSuffix}).style(N).style({&quot;text-anchor&quot;:&quot;start&quot;}).attr({x:0,y:0,dx:0,dy:0,transform:function(t,e){return&quot;horizontal&quot;===h.radialAxis.tickOrientation?&quot;rotate(&quot;+-h.radialAxis.orientation+&quot;) translate(&quot;+[0,N[&quot;font-size&quot;]]+&quot;)&quot;:&quot;translate(&quot;+[0,N[&quot;font-size&quot;]]+&quot;)&quot;}}),H.selectAll(&quot;g&gt;line&quot;).style({stroke:&quot;black&quot;})}var X=t.select(&quot;.angular.axis-group&quot;).selectAll(&quot;g.angular-tick&quot;).data(D),Z=X.enter().append(&quot;g&quot;).classed(&quot;angular-tick&quot;,!0);X.attr({transform:function(t,e){return&quot;rotate(&quot;+c(t)+&quot;)&quot;}}).style({display:h.angularAxis.visible?&quot;block&quot;:&quot;none&quot;}),X.exit().remove(),Z.append(&quot;line&quot;).classed(&quot;grid-line&quot;,!0).classed(&quot;major&quot;,function(t,e){return e%(h.minorTicks+1)==0}).classed(&quot;minor&quot;,function(t,e){return!(e%(h.minorTicks+1)==0)}).style(R),Z.selectAll(&quot;.minor&quot;).style({stroke:h.minorTickColor}),X.select(&quot;line.grid-line&quot;).attr({x1:h.tickLength?x-h.tickLength:0,x2:x}).style({display:h.angularAxis.gridLinesVisible?&quot;block&quot;:&quot;none&quot;}),Z.append(&quot;text&quot;).classed(&quot;axis-text&quot;,!0).style(N);var J=X.select(&quot;text.axis-text&quot;).attr({x:x+h.labelOffset,dy:a+&quot;em&quot;,transform:function(t,e){var r=c(t),n=x+h.labelOffset,i=h.angularAxis.tickOrientation;return&quot;horizontal&quot;==i?&quot;rotate(&quot;+-r+&quot; &quot;+n+&quot; 0)&quot;:&quot;radial&quot;==i?r&lt;270&amp;&amp;r&gt;90?&quot;rotate(180 &quot;+n+&quot; 0)&quot;:null:&quot;rotate(&quot;+(r&lt;=180&amp;&amp;r&gt;0?-90:90)+&quot; &quot;+n+&quot; 0)&quot;}}).style({&quot;text-anchor&quot;:&quot;middle&quot;,display:h.angularAxis.labelsVisible?&quot;block&quot;:&quot;none&quot;}).text(function(t,e){return e%(h.minorTicks+1)!=0?&quot;&quot;:w?w[t]+h.angularAxis.ticksSuffix:t+h.angularAxis.ticksSuffix}).style(N);h.angularAxis.rewriteTicks&amp;&amp;J.text(function(t,e){return e%(h.minorTicks+1)!=0?&quot;&quot;:h.angularAxis.rewriteTicks(this.textContent,e)});var K=n.max(F.selectAll(&quot;.angular-tick text&quot;)[0].map(function(t,e){return t.getCTM().e+t.getBBox().width}));O.attr({transform:&quot;translate(&quot;+[x+K,h.margin.top]+&quot;)&quot;});var Q=t.select(&quot;g.geometry-group&quot;).selectAll(&quot;g&quot;).size()&gt;0,$=t.select(&quot;g.geometry-group&quot;).selectAll(&quot;g.geometry&quot;).data(p);if($.enter().append(&quot;g&quot;).attr({class:function(t,e){return&quot;geometry geometry&quot;+e}}),$.exit().remove(),p[0]||Q){var tt=[];p.forEach(function(t,e){var n={};n.radialScale=r,n.angularScale=s,n.container=$.filter(function(t,r){return r==e}),n.geometry=t.geometry,n.orientation=h.orientation,n.direction=h.direction,n.index=e,tt.push({data:t,geometryConfig:n})});var et=[];n.nest().key(function(t,e){return void 0!==t.data.groupId||&quot;unstacked&quot;}).entries(tt).forEach(function(t,e){&quot;unstacked&quot;===t.key?et=et.concat(t.values.map(function(t,e){return[t]})):et.push(t.values)}),et.forEach(function(t,e){var r;r=Array.isArray(t)?t[0].geometryConfig.geometry:t.geometryConfig.geometry;var n=t.map(function(t,e){return i(o[r].defaultConfig(),t)});o[r]().config(n)()})}var rt,nt,it=t.select(&quot;.guides-group&quot;),at=t.select(&quot;.tooltips-group&quot;),ot=o.tooltipPanel().config({container:at,fontSize:8})(),st=o.tooltipPanel().config({container:at,fontSize:8})(),lt=o.tooltipPanel().config({container:at,hasTick:!0})();if(!k){var ct=it.select(&quot;line&quot;).attr({x1:0,y1:0,y2:0}).style({stroke:&quot;grey&quot;,&quot;pointer-events&quot;:&quot;none&quot;});F.on(&quot;mousemove.angular-guide&quot;,function(t,e){var r=o.util.getMousePos(Y).angle;ct.attr({x2:-x,transform:&quot;rotate(&quot;+r+&quot;)&quot;}).style({opacity:.5});var n=(r+180+360-h.orientation)%360;rt=s.invert(n);var i=o.util.convertToCartesian(x+12,r+180);ot.text(o.util.round(rt)).move([i[0]+_[0],i[1]+_[1]])}).on(&quot;mouseout.angular-guide&quot;,function(t,e){it.select(&quot;line&quot;).style({opacity:0})})}var ut=it.select(&quot;circle&quot;).style({stroke:&quot;grey&quot;,fill:&quot;none&quot;});F.on(&quot;mousemove.radial-guide&quot;,function(t,e){var n=o.util.getMousePos(Y).radius;ut.attr({r:n}).style({opacity:.5}),nt=r.invert(o.util.getMousePos(Y).radius);var i=o.util.convertToCartesian(n,h.radialAxis.orientation);st.text(o.util.round(nt)).move([i[0]+_[0],i[1]+_[1]])}).on(&quot;mouseout.radial-guide&quot;,function(t,e){ut.style({opacity:0}),lt.hide(),ot.hide(),st.hide()}),t.selectAll(&quot;.geometry-group .mark&quot;).on(&quot;mouseover.tooltip&quot;,function(e,r){var i=n.select(this),a=this.style.fill,s=&quot;black&quot;,l=this.style.opacity||1;if(i.attr({&quot;data-opacity&quot;:l}),a&amp;&amp;&quot;none&quot;!==a){i.attr({&quot;data-fill&quot;:a}),s=n.hsl(a).darker().toString(),i.style({fill:s,opacity:1});var c={t:o.util.round(e[0]),r:o.util.round(e[1])};k&amp;&amp;(c.t=w[e[0]]);var u=&quot;t: &quot;+c.t+&quot;, r: &quot;+c.r,f=this.getBoundingClientRect(),h=t.node().getBoundingClientRect(),d=[f.left+f.width/2-U[0]-h.left,f.top+f.height/2-U[1]-h.top];lt.config({color:s}).text(u),lt.move(d)}else a=this.style.stroke||&quot;black&quot;,i.attr({&quot;data-stroke&quot;:a}),s=n.hsl(a).darker().toString(),i.style({stroke:s,opacity:1})}).on(&quot;mousemove.tooltip&quot;,function(t,e){if(0!=n.event.which)return!1;n.select(this).attr(&quot;data-fill&quot;)&amp;&amp;lt.show()}).on(&quot;mouseout.tooltip&quot;,function(t,e){lt.hide();var r=n.select(this),i=r.attr(&quot;data-fill&quot;);i?r.style({fill:i,opacity:r.attr(&quot;data-opacity&quot;)}):r.style({stroke:r.attr(&quot;data-stroke&quot;),opacity:r.attr(&quot;data-opacity&quot;)})})})}(c),this},h.config=function(t){if(!arguments.length)return l;var e=o.util.cloneJson(t);return e.data.forEach(function(t,e){l.data[e]||(l.data[e]={}),i(l.data[e],o.Axis.defaultConfig().data[0]),i(l.data[e],t)}),i(l.layout,o.Axis.defaultConfig().layout),i(l.layout,e.layout),this},h.getLiveConfig=function(){return u},h.getinputConfig=function(){return c},h.radialScale=function(t){return r},h.angularScale=function(t){return s},h.svg=function(){return t},n.rebind(h,f,&quot;on&quot;),h},o.Axis.defaultConfig=function(t,e){return{data:[{t:[1,2,3,4],r:[10,11,12,13],name:&quot;Line1&quot;,geometry:&quot;LinePlot&quot;,color:null,strokeDash:&quot;solid&quot;,strokeColor:null,strokeSize:&quot;1&quot;,visibleInLegend:!0,opacity:1}],layout:{defaultColorRange:n.scale.category10().range(),title:null,height:450,width:500,margin:{top:40,right:40,bottom:40,left:40},font:{size:12,color:&quot;gray&quot;,outlineColor:&quot;white&quot;,family:&quot;Tahoma, sans-serif&quot;},direction:&quot;clockwise&quot;,orientation:0,labelOffset:10,radialAxis:{domain:null,orientation:-45,ticksSuffix:&quot;&quot;,visible:!0,gridLinesVisible:!0,tickOrientation:&quot;horizontal&quot;,rewriteTicks:null},angularAxis:{domain:[0,360],ticksSuffix:&quot;&quot;,visible:!0,gridLinesVisible:!0,labelsVisible:!0,tickOrientation:&quot;horizontal&quot;,rewriteTicks:null,ticksCount:null,ticksStep:null},minorTicks:0,tickLength:null,tickColor:&quot;silver&quot;,minorTickColor:&quot;#eee&quot;,backgroundColor:&quot;none&quot;,needsEndSpacing:null,showLegend:!0,legend:{reverseOrder:!1},opacity:1}}},o.util={},o.DATAEXTENT=&quot;dataExtent&quot;,o.AREA=&quot;AreaChart&quot;,o.LINE=&quot;LinePlot&quot;,o.DOT=&quot;DotPlot&quot;,o.BAR=&quot;BarChart&quot;,o.util._override=function(t,e){for(var r in t)r in e&amp;&amp;(e[r]=t[r])},o.util._extend=function(t,e){for(var r in t)e[r]=t[r]},o.util._rndSnd=function(){return 2*Math.random()-1+(2*Math.random()-1)+(2*Math.random()-1)},o.util.dataFromEquation2=function(t,e){var r=e||6;return n.range(0,360+r,r).map(function(e,r){var n=e*Math.PI/180;return[e,t(n)]})},o.util.dataFromEquation=function(t,e,r){var i=e||6,a=[],o=[];n.range(0,360+i,i).forEach(function(e,r){var n=e*Math.PI/180,i=t(n);a.push(e),o.push(i)});var s={t:a,r:o};return r&amp;&amp;(s.name=r),s},o.util.ensureArray=function(t,e){if(void 0===t)return null;var r=[].concat(t);return n.range(e).map(function(t,e){return r[e]||r[0]})},o.util.fillArrays=function(t,e,r){return e.forEach(function(e,n){t[e]=o.util.ensureArray(t[e],r)}),t},o.util.cloneJson=function(t){return JSON.parse(JSON.stringify(t))},o.util.validateKeys=function(t,e){&quot;string&quot;==typeof e&amp;&amp;(e=e.split(&quot;.&quot;));var r=e.shift();return t[r]&amp;&amp;(!e.length||objHasKeys(t[r],e))},o.util.sumArrays=function(t,e){return n.zip(t,e).map(function(t,e){return n.sum(t)})},o.util.arrayLast=function(t){return t[t.length-1]},o.util.arrayEqual=function(t,e){for(var r=Math.max(t.length,e.length,1);r-- &gt;=0&amp;&amp;t[r]===e[r];);return-2===r},o.util.flattenArray=function(t){for(var e=[];!o.util.arrayEqual(e,t);)e=t,t=[].concat.apply([],t);return t},o.util.deduplicate=function(t){return t.filter(function(t,e,r){return r.indexOf(t)==e})},o.util.convertToCartesian=function(t,e){var r=e*Math.PI/180;return[t*Math.cos(r),t*Math.sin(r)]},o.util.round=function(t,e){var r=e||2,n=Math.pow(10,r);return Math.round(t*n)/n},o.util.getMousePos=function(t){var e=n.mouse(t.node()),r=e[0],i=e[1],a={};return a.x=r,a.y=i,a.pos=e,a.angle=180*(Math.atan2(i,r)+Math.PI)/Math.PI,a.radius=Math.sqrt(r*r+i*i),a},o.util.duplicatesCount=function(t){for(var e,r={},n={},i=0,a=t.length;i&lt;a;i++)(e=t[i])in r?(r[e]++,n[e]=r[e]):r[e]=1;return n},o.util.duplicates=function(t){return Object.keys(o.util.duplicatesCount(t))},o.util.translator=function(t,e,r,n){if(n){var i=r.slice();r=e,e=i}var a=e.reduce(function(t,e){if(void 0!==t)return t[e]},t);void 0!==a&amp;&amp;(e.reduce(function(t,r,n){if(void 0!==t)return n===e.length-1&amp;&amp;delete t[r],t[r]},t),r.reduce(function(t,e,n){return void 0===t[e]&amp;&amp;(t[e]={}),n===r.length-1&amp;&amp;(t[e]=a),t[e]},t))},o.PolyChart=function(){function t(){var t=e[0].geometryConfig,r=t.container;&quot;string&quot;==typeof r&amp;&amp;(r=n.select(r)),r.datum(e).each(function(e,r){var i=!!e[0].data.yStack,o=e.map(function(t,e){return i?n.zip(t.data.t[0],t.data.r[0],t.data.yStack[0]):n.zip(t.data.t[0],t.data.r[0])}),s=t.angularScale,l=t.radialScale.domain()[0],c={};c.bar=function(r,i,a){var o=e[a].data,l=t.radialScale(r[1])-t.radialScale(0),c=t.radialScale(r[2]||0),u=o.barWidth;n.select(this).attr({class:&quot;mark bar&quot;,d:&quot;M&quot;+[[l+c,-u/2],[l+c,u/2],[c,u/2],[c,-u/2]].join(&quot;L&quot;)+&quot;Z&quot;,transform:function(e,r){return&quot;rotate(&quot;+(t.orientation+s(e[0]))+&quot;)&quot;}})},c.dot=function(r,i,a){var o=r[2]?[r[0],r[1]+r[2]]:r,s=n.svg.symbol().size(e[a].data.dotSize).type(e[a].data.dotType)(r,i);n.select(this).attr({class:&quot;mark dot&quot;,d:s,transform:function(e,r){var n=function(t){return{x:t.r*Math.cos(t.t),y:t.r*Math.sin(t.t)}}(function(e,r){return{r:t.radialScale(e[1]),t:(t.angularScale(e[0])+t.orientation)*Math.PI/180}}(o));return&quot;translate(&quot;+[n.x,n.y]+&quot;)&quot;}})};var u=n.svg.line.radial().interpolate(e[0].data.lineInterpolation).radius(function(e){return t.radialScale(e[1])}).angle(function(e){return t.angularScale(e[0])*Math.PI/180});c.line=function(r,i,a){var s=r[2]?o[a].map(function(t,e){return[t[0],t[1]+t[2]]}):o[a];if(n.select(this).each(c.dot).style({opacity:function(t,r){return+e[a].data.dotVisible},fill:p.stroke(r,i,a)}).attr({class:&quot;mark dot&quot;}),!(i&gt;0)){var l=n.select(this.parentNode).selectAll(&quot;path.line&quot;).data([0]);l.enter().insert(&quot;path&quot;),l.attr({class:&quot;line&quot;,d:u(s),transform:function(e,r){return&quot;rotate(&quot;+(t.orientation+90)+&quot;)&quot;},&quot;pointer-events&quot;:&quot;none&quot;}).style({fill:function(t,e){return p.fill(r,i,a)},&quot;fill-opacity&quot;:0,stroke:function(t,e){return p.stroke(r,i,a)},&quot;stroke-width&quot;:function(t,e){return p[&quot;stroke-width&quot;](r,i,a)},&quot;stroke-dasharray&quot;:function(t,e){return p[&quot;stroke-dasharray&quot;](r,i,a)},opacity:function(t,e){return p.opacity(r,i,a)},display:function(t,e){return p.display(r,i,a)}})}};var f=t.angularScale.range(),h=Math.abs(f[1]-f[0])/o[0].length*Math.PI/180,d=n.svg.arc().startAngle(function(t){return-h/2}).endAngle(function(t){return h/2}).innerRadius(function(e){return t.radialScale(l+(e[2]||0))}).outerRadius(function(e){return t.radialScale(l+(e[2]||0))+t.radialScale(e[1])});c.arc=function(e,r,i){n.select(this).attr({class:&quot;mark arc&quot;,d:d,transform:function(e,r){return&quot;rotate(&quot;+(t.orientation+s(e[0])+90)+&quot;)&quot;}})};var p={fill:function(t,r,n){return e[n].data.color},stroke:function(t,r,n){return e[n].data.strokeColor},&quot;stroke-width&quot;:function(t,r,n){return e[n].data.strokeSize+&quot;px&quot;},&quot;stroke-dasharray&quot;:function(t,r,n){return a[e[n].data.strokeDash]},opacity:function(t,r,n){return e[n].data.opacity},display:function(t,r,n){return void 0===e[n].data.visible||e[n].data.visible?&quot;block&quot;:&quot;none&quot;}},m=n.select(this).selectAll(&quot;g.layer&quot;).data(o);m.enter().append(&quot;g&quot;).attr({class:&quot;layer&quot;});var g=m.selectAll(&quot;path.mark&quot;).data(function(t,e){return t});g.enter().append(&quot;path&quot;).attr({class:&quot;mark&quot;}),g.style(p).each(c[t.geometryType]),g.exit().remove(),m.exit().remove()})}var e=[o.PolyChart.defaultConfig()],r=n.dispatch(&quot;hover&quot;),a={solid:&quot;none&quot;,dash:[5,2],dot:[2,5]};return t.config=function(t){return arguments.length?(t.forEach(function(t,r){e[r]||(e[r]={}),i(e[r],o.PolyChart.defaultConfig()),i(e[r],t)}),this):e},t.getColorScale=function(){},n.rebind(t,r,&quot;on&quot;),t},o.PolyChart.defaultConfig=function(){return{data:{name:&quot;geom1&quot;,t:[[1,2,3,4]],r:[[1,2,3,4]],dotType:&quot;circle&quot;,dotSize:64,dotVisible:!1,barWidth:20,color:&quot;#ffa500&quot;,strokeSize:1,strokeColor:&quot;silver&quot;,strokeDash:&quot;solid&quot;,opacity:1,index:0,visible:!0,visibleInLegend:!0},geometryConfig:{geometry:&quot;LinePlot&quot;,geometryType:&quot;arc&quot;,direction:&quot;clockwise&quot;,orientation:0,container:&quot;body&quot;,radialScale:null,angularScale:null,colorScale:n.scale.category20()}}},o.BarChart=function(){return o.PolyChart()},o.BarChart.defaultConfig=function(){return{geometryConfig:{geometryType:&quot;bar&quot;}}},o.AreaChart=function(){return o.PolyChart()},o.AreaChart.defaultConfig=function(){return{geometryConfig:{geometryType:&quot;arc&quot;}}},o.DotPlot=function(){return o.PolyChart()},o.DotPlot.defaultConfig=function(){return{geometryConfig:{geometryType:&quot;dot&quot;,dotType:&quot;circle&quot;}}},o.LinePlot=function(){return o.PolyChart()},o.LinePlot.defaultConfig=function(){return{geometryConfig:{geometryType:&quot;line&quot;}}},o.Legend=function(){function t(){var r=e.legendConfig,a=e.data.map(function(t,e){return[].concat(t).map(function(t,n){var a=i({},r.elements[e]);return a.name=t,a.color=[].concat(r.elements[e].color)[n],a})}),o=n.merge(a);o=o.filter(function(t,e){return r.elements[e]&amp;&amp;(r.elements[e].visibleInLegend||void 0===r.elements[e].visibleInLegend)}),r.reverseOrder&amp;&amp;(o=o.reverse());var s=r.container;(&quot;string&quot;==typeof s||s.nodeName)&amp;&amp;(s=n.select(s));var l=o.map(function(t,e){return t.color}),c=r.fontSize,u=null==r.isContinuous?&quot;number&quot;==typeof o[0]:r.isContinuous,f=u?r.height:c*o.length,h=s.classed(&quot;legend-group&quot;,!0).selectAll(&quot;svg&quot;).data([0]),d=h.enter().append(&quot;svg&quot;).attr({width:300,height:f+c,xmlns:&quot;http://www.w3.org/2000/svg&quot;,&quot;xmlns:xlink&quot;:&quot;http://www.w3.org/1999/xlink&quot;,version:&quot;1.1&quot;});d.append(&quot;g&quot;).classed(&quot;legend-axis&quot;,!0),d.append(&quot;g&quot;).classed(&quot;legend-marks&quot;,!0);var p=n.range(o.length),m=n.scale[u?&quot;linear&quot;:&quot;ordinal&quot;]().domain(p).range(l),g=n.scale[u?&quot;linear&quot;:&quot;ordinal&quot;]().domain(p)[u?&quot;range&quot;:&quot;rangePoints&quot;]([0,f]);if(u){var v=h.select(&quot;.legend-marks&quot;).append(&quot;defs&quot;).append(&quot;linearGradient&quot;).attr({id:&quot;grad1&quot;,x1:&quot;0%&quot;,y1:&quot;0%&quot;,x2:&quot;0%&quot;,y2:&quot;100%&quot;}).selectAll(&quot;stop&quot;).data(l);v.enter().append(&quot;stop&quot;),v.attr({offset:function(t,e){return e/(l.length-1)*100+&quot;%&quot;}}).style({&quot;stop-color&quot;:function(t,e){return t}}),h.append(&quot;rect&quot;).classed(&quot;legend-mark&quot;,!0).attr({height:r.height,width:r.colorBandWidth,fill:&quot;url(#grad1)&quot;})}else{var y=h.select(&quot;.legend-marks&quot;).selectAll(&quot;path.legend-mark&quot;).data(o);y.enter().append(&quot;path&quot;).classed(&quot;legend-mark&quot;,!0),y.attr({transform:function(t,e){return&quot;translate(&quot;+[c/2,g(e)+c/2]+&quot;)&quot;},d:function(t,e){return function(t,e){var r=3*e;return&quot;line&quot;===t?&quot;M&quot;+[[-e/2,-e/12],[e/2,-e/12],[e/2,e/12],[-e/2,e/12]]+&quot;Z&quot;:-1!=n.svg.symbolTypes.indexOf(t)?n.svg.symbol().type(t).size(r)():n.svg.symbol().type(&quot;square&quot;).size(r)()}(t.symbol,c)},fill:function(t,e){return m(e)}}),y.exit().remove()}var x=n.svg.axis().scale(g).orient(&quot;right&quot;),b=h.select(&quot;g.legend-axis&quot;).attr({transform:&quot;translate(&quot;+[u?r.colorBandWidth:c,c/2]+&quot;)&quot;}).call(x);return b.selectAll(&quot;.domain&quot;).style({fill:&quot;none&quot;,stroke:&quot;none&quot;}),b.selectAll(&quot;line&quot;).style({fill:&quot;none&quot;,stroke:u?r.textColor:&quot;none&quot;}),b.selectAll(&quot;text&quot;).style({fill:r.textColor,&quot;font-size&quot;:r.fontSize}).text(function(t,e){return o[e].name}),t}var e=o.Legend.defaultConfig(),r=n.dispatch(&quot;hover&quot;);return t.config=function(t){return arguments.length?(i(e,t),this):e},n.rebind(t,r,&quot;on&quot;),t},o.Legend.defaultConfig=function(t,e){return{data:[&quot;a&quot;,&quot;b&quot;,&quot;c&quot;],legendConfig:{elements:[{symbol:&quot;line&quot;,color:&quot;red&quot;},{symbol:&quot;square&quot;,color:&quot;yellow&quot;},{symbol:&quot;diamond&quot;,color:&quot;limegreen&quot;}],height:150,colorBandWidth:30,fontSize:12,container:&quot;body&quot;,isContinuous:null,textColor:&quot;grey&quot;,reverseOrder:!1}}},o.tooltipPanel=function(){var t,e,r,a={container:null,hasTick:!1,fontSize:12,color:&quot;white&quot;,padding:5},s=&quot;tooltip-&quot;+o.tooltipPanel.uid++,l=10,c=function(){var n=(t=a.container.selectAll(&quot;g.&quot;+s).data([0])).enter().append(&quot;g&quot;).classed(s,!0).style({&quot;pointer-events&quot;:&quot;none&quot;,display:&quot;none&quot;});return r=n.append(&quot;path&quot;).style({fill:&quot;white&quot;,&quot;fill-opacity&quot;:.9}).attr({d:&quot;M0 0&quot;}),e=n.append(&quot;text&quot;).attr({dx:a.padding+l,dy:.3*+a.fontSize}),c};return c.text=function(i){var o=n.hsl(a.color).l,s=o&gt;=.5?&quot;#aaa&quot;:&quot;white&quot;,u=o&gt;=.5?&quot;black&quot;:&quot;white&quot;,f=i||&quot;&quot;;e.style({fill:u,&quot;font-size&quot;:a.fontSize+&quot;px&quot;}).text(f);var h=a.padding,d=e.node().getBBox(),p={fill:a.color,stroke:s,&quot;stroke-width&quot;:&quot;2px&quot;},m=d.width+2*h+l,g=d.height+2*h;return r.attr({d:&quot;M&quot;+[[l,-g/2],[l,-g/4],[a.hasTick?0:l,0],[l,g/4],[l,g/2],[m,g/2],[m,-g/2]].join(&quot;L&quot;)+&quot;Z&quot;}).style(p),t.attr({transform:&quot;translate(&quot;+[l,-g/2+2*h]+&quot;)&quot;}),t.style({display:&quot;block&quot;}),c},c.move=function(e){if(t)return t.attr({transform:&quot;translate(&quot;+[e[0],e[1]]+&quot;)&quot;}).style({display:&quot;block&quot;}),c},c.hide=function(){if(t)return t.style({display:&quot;none&quot;}),c},c.show=function(){if(t)return t.style({display:&quot;block&quot;}),c},c.config=function(t){return i(a,t),c},c},o.tooltipPanel.uid=1,o.adapter={},o.adapter.plotly=function(){var t={};return t.convert=function(t,e){var r={};if(t.data&amp;&amp;(r.data=t.data.map(function(t,r){var n=i({},t);return[[n,[&quot;marker&quot;,&quot;color&quot;],[&quot;color&quot;]],[n,[&quot;marker&quot;,&quot;opacity&quot;],[&quot;opacity&quot;]],[n,[&quot;marker&quot;,&quot;line&quot;,&quot;color&quot;],[&quot;strokeColor&quot;]],[n,[&quot;marker&quot;,&quot;line&quot;,&quot;dash&quot;],[&quot;strokeDash&quot;]],[n,[&quot;marker&quot;,&quot;line&quot;,&quot;width&quot;],[&quot;strokeSize&quot;]],[n,[&quot;marker&quot;,&quot;symbol&quot;],[&quot;dotType&quot;]],[n,[&quot;marker&quot;,&quot;size&quot;],[&quot;dotSize&quot;]],[n,[&quot;marker&quot;,&quot;barWidth&quot;],[&quot;barWidth&quot;]],[n,[&quot;line&quot;,&quot;interpolation&quot;],[&quot;lineInterpolation&quot;]],[n,[&quot;showlegend&quot;],[&quot;visibleInLegend&quot;]]].forEach(function(t,r){o.util.translator.apply(null,t.concat(e))}),e||delete n.marker,e&amp;&amp;delete n.groupId,e?(&quot;LinePlot&quot;===n.geometry?(n.type=&quot;scatter&quot;,!0===n.dotVisible?(delete n.dotVisible,n.mode=&quot;lines+markers&quot;):n.mode=&quot;lines&quot;):&quot;DotPlot&quot;===n.geometry?(n.type=&quot;scatter&quot;,n.mode=&quot;markers&quot;):&quot;AreaChart&quot;===n.geometry?n.type=&quot;area&quot;:&quot;BarChart&quot;===n.geometry&amp;&amp;(n.type=&quot;bar&quot;),delete n.geometry):(&quot;scatter&quot;===n.type?&quot;lines&quot;===n.mode?n.geometry=&quot;LinePlot&quot;:&quot;markers&quot;===n.mode?n.geometry=&quot;DotPlot&quot;:&quot;lines+markers&quot;===n.mode&amp;&amp;(n.geometry=&quot;LinePlot&quot;,n.dotVisible=!0):&quot;area&quot;===n.type?n.geometry=&quot;AreaChart&quot;:&quot;bar&quot;===n.type&amp;&amp;(n.geometry=&quot;BarChart&quot;),delete n.mode,delete n.type),n}),!e&amp;&amp;t.layout&amp;&amp;&quot;stack&quot;===t.layout.barmode)){var a=o.util.duplicates(r.data.map(function(t,e){return t.geometry}));r.data.forEach(function(t,e){var n=a.indexOf(t.geometry);-1!=n&amp;&amp;(r.data[e].groupId=n)})}if(t.layout){var s=i({},t.layout);if([[s,[&quot;plot_bgcolor&quot;],[&quot;backgroundColor&quot;]],[s,[&quot;showlegend&quot;],[&quot;showLegend&quot;]],[s,[&quot;radialaxis&quot;],[&quot;radialAxis&quot;]],[s,[&quot;angularaxis&quot;],[&quot;angularAxis&quot;]],[s.angularaxis,[&quot;showline&quot;],[&quot;gridLinesVisible&quot;]],[s.angularaxis,[&quot;showticklabels&quot;],[&quot;labelsVisible&quot;]],[s.angularaxis,[&quot;nticks&quot;],[&quot;ticksCount&quot;]],[s.angularaxis,[&quot;tickorientation&quot;],[&quot;tickOrientation&quot;]],[s.angularaxis,[&quot;ticksuffix&quot;],[&quot;ticksSuffix&quot;]],[s.angularaxis,[&quot;range&quot;],[&quot;domain&quot;]],[s.angularaxis,[&quot;endpadding&quot;],[&quot;endPadding&quot;]],[s.radialaxis,[&quot;showline&quot;],[&quot;gridLinesVisible&quot;]],[s.radialaxis,[&quot;tickorientation&quot;],[&quot;tickOrientation&quot;]],[s.radialaxis,[&quot;ticksuffix&quot;],[&quot;ticksSuffix&quot;]],[s.radialaxis,[&quot;range&quot;],[&quot;domain&quot;]],[s.angularAxis,[&quot;showline&quot;],[&quot;gridLinesVisible&quot;]],[s.angularAxis,[&quot;showticklabels&quot;],[&quot;labelsVisible&quot;]],[s.angularAxis,[&quot;nticks&quot;],[&quot;ticksCount&quot;]],[s.angularAxis,[&quot;tickorientation&quot;],[&quot;tickOrientation&quot;]],[s.angularAxis,[&quot;ticksuffix&quot;],[&quot;ticksSuffix&quot;]],[s.angularAxis,[&quot;range&quot;],[&quot;domain&quot;]],[s.angularAxis,[&quot;endpadding&quot;],[&quot;endPadding&quot;]],[s.radialAxis,[&quot;showline&quot;],[&quot;gridLinesVisible&quot;]],[s.radialAxis,[&quot;tickorientation&quot;],[&quot;tickOrientation&quot;]],[s.radialAxis,[&quot;ticksuffix&quot;],[&quot;ticksSuffix&quot;]],[s.radialAxis,[&quot;range&quot;],[&quot;domain&quot;]],[s.font,[&quot;outlinecolor&quot;],[&quot;outlineColor&quot;]],[s.legend,[&quot;traceorder&quot;],[&quot;reverseOrder&quot;]],[s,[&quot;labeloffset&quot;],[&quot;labelOffset&quot;]],[s,[&quot;defaultcolorrange&quot;],[&quot;defaultColorRange&quot;]]].forEach(function(t,r){o.util.translator.apply(null,t.concat(e))}),e?(void 0!==s.tickLength&amp;&amp;(s.angularaxis.ticklen=s.tickLength,delete s.tickLength),s.tickColor&amp;&amp;(s.angularaxis.tickcolor=s.tickColor,delete s.tickColor)):(s.angularAxis&amp;&amp;void 0!==s.angularAxis.ticklen&amp;&amp;(s.tickLength=s.angularAxis.ticklen),s.angularAxis&amp;&amp;void 0!==s.angularAxis.tickcolor&amp;&amp;(s.tickColor=s.angularAxis.tickcolor)),s.legend&amp;&amp;&quot;boolean&quot;!=typeof s.legend.reverseOrder&amp;&amp;(s.legend.reverseOrder=&quot;normal&quot;!=s.legend.reverseOrder),s.legend&amp;&amp;&quot;boolean&quot;==typeof s.legend.traceorder&amp;&amp;(s.legend.traceorder=s.legend.traceorder?&quot;reversed&quot;:&quot;normal&quot;,delete s.legend.reverseOrder),s.margin&amp;&amp;void 0!==s.margin.t){var l=[&quot;t&quot;,&quot;r&quot;,&quot;b&quot;,&quot;l&quot;,&quot;pad&quot;],c=[&quot;top&quot;,&quot;right&quot;,&quot;bottom&quot;,&quot;left&quot;,&quot;pad&quot;],u={};n.entries(s.margin).forEach(function(t,e){u[c[l.indexOf(t.key)]]=t.value}),s.margin=u}e&amp;&amp;(delete s.needsEndSpacing,delete s.minorTickColor,delete s.minorTicks,delete s.angularaxis.ticksCount,delete s.angularaxis.ticksCount,delete s.angularaxis.ticksStep,delete s.angularaxis.rewriteTicks,delete s.angularaxis.nticks,delete s.radialaxis.ticksCount,delete s.radialaxis.ticksCount,delete s.radialaxis.ticksStep,delete s.radialaxis.rewriteTicks,delete s.radialaxis.nticks),r.layout=s}return r},t}},{&quot;../../../constants/alignment&quot;:716,&quot;../../../lib&quot;:743,d3:128}],862:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;d3&quot;),i=t(&quot;../../../lib&quot;),a=t(&quot;../../../components/color&quot;),o=t(&quot;./micropolar&quot;),s=t(&quot;./undo_manager&quot;),l=i.extendDeepAll,c=e.exports={};c.framework=function(t){function e(e,i){return i&amp;&amp;(f=i),n.select(n.select(f).node().parentNode).selectAll(&quot;.svg-container&gt;*:not(.chart-root)&quot;).remove(),r=r?l(r,e):e,a||(a=o.Axis()),u=o.adapter.plotly().convert(r),a.config(u).render(f),t.data=r.data,t.layout=r.layout,c.fillLayout(t),r}var r,i,a,u,f,h=new s;return e.isPolar=!0,e.svg=function(){return a.svg()},e.getConfig=function(){return r},e.getLiveConfig=function(){return o.adapter.plotly().convert(a.getLiveConfig(),!0)},e.getLiveScales=function(){return{t:a.angularScale(),r:a.radialScale()}},e.setUndoPoint=function(){var t=this,e=o.util.cloneJson(r);!function(e,r){h.add({undo:function(){r&amp;&amp;t(r)},redo:function(){t(e)}})}(e,i),i=o.util.cloneJson(e)},e.undo=function(){h.undo()},e.redo=function(){h.redo()},e},c.fillLayout=function(t){var e=n.select(t).selectAll(&quot;.plot-container&quot;),r=e.selectAll(&quot;.svg-container&quot;),i=t.framework&amp;&amp;t.framework.svg&amp;&amp;t.framework.svg(),o={width:800,height:600,paper_bgcolor:a.background,_container:e,_paperdiv:r,_paper:i};t._fullLayout=l(o,t.layout)}},{&quot;../../../components/color&quot;:618,&quot;../../../lib&quot;:743,&quot;./micropolar&quot;:861,&quot;./undo_manager&quot;:863,d3:128}],863:[function(t,e,r){&quot;use strict&quot;;e.exports=function(){function t(t,e){return t?(i=!0,t[e](),i=!1,this):this}var e,r=[],n=-1,i=!1;return{add:function(t){return i?this:(r.splice(n+1,r.length-n),r.push(t),n=r.length-1,this)},setCallback:function(t){e=t},undo:function(){var i=r[n];return i?(t(i,&quot;undo&quot;),n-=1,e&amp;&amp;e(i.undo),this):this},redo:function(){var i=r[n+1];return i?(t(i,&quot;redo&quot;),n+=1,e&amp;&amp;e(i.redo),this):this},clear:function(){r=[],n=-1},hasUndo:function(){return-1!==n},hasRedo:function(){return n&lt;r.length-1},getCommands:function(){return r},getPreviousCommand:function(){return r[n-1]},getIndex:function(){return n}}}},{}],864:[function(t,e,r){&quot;use strict&quot;;function n(t,e){this.id=e,this.gd=t,this._hasClipOnAxisFalse=null,this.traceHash={},this.layers={},this.clipPaths={},this.clipIds={},this.viewInitial={};var r=t._fullLayout,n=&quot;clip&quot;+r._uid+e;this.clipIds.circle=n+&quot;-circle&quot;,this.clipPaths.circle=r._clips.append(&quot;clipPath&quot;).attr(&quot;id&quot;,this.clipIds.circle),this.clipPaths.circle.append(&quot;path&quot;),this.framework=r._polarlayer.append(&quot;g&quot;).attr(&quot;class&quot;,e),this.radialTickLayout=null,this.angularTickLayout=null}function i(t,e,r){M.setConvert(t,r),t._min=e._min,t._max=e._max,t.setScale()}function a(t){var e=t.ticks+String(t.ticklen)+String(t.showticklabels);return&quot;side&quot;in t&amp;&amp;(e+=t.side),e}function o(t,e){if(l(e))return _.symbolFuncs[0](t);var r=t*Math.cos(D(e[0])),n=-t*Math.sin(D(e[0])),i=t*Math.cos(D(e[1])),a=-t*Math.sin(D(e[1]));return&quot;M&quot;+[r,n]+&quot;A&quot;+[t,t]+&quot; &quot;+(Math.abs(e[1]-e[0])&lt;=180?[0,0,0]:[0,1,0])+&quot; &quot;+[i,a]}function s(t,e){return o(t,e)+(l(e)?&quot;&quot;:&quot;L0,0Z&quot;)}function l(t){return 360===Math.abs(t[1]-t[0])}function c(t,e,r){return e?(t.attr(&quot;display&quot;,null),t.attr(r)):t&amp;&amp;t.attr(&quot;display&quot;,&quot;none&quot;),t}function u(t,e){return&quot;translate(&quot;+t+&quot;,&quot;+e+&quot;)&quot;}function f(t){return&quot;rotate(&quot;+t+&quot;)&quot;}function h(t){return Math.abs(t)&lt;1e-10?0:t&gt;0?1:-1}function d(t){return h(Math.cos(t))}function p(t){return h(Math.sin(t))}var m=t(&quot;d3&quot;),g=t(&quot;tinycolor2&quot;),v=t(&quot;../../plotly&quot;),y=t(&quot;../../registry&quot;),x=t(&quot;../../lib&quot;),b=t(&quot;../../components/color&quot;),_=t(&quot;../../components/drawing&quot;),w=t(&quot;../plots&quot;),M=t(&quot;../cartesian/axes&quot;),k=t(&quot;../../components/dragelement&quot;),A=t(&quot;../cartesian/dragbox&quot;),T=t(&quot;../../components/fx&quot;),S=t(&quot;../../components/titles&quot;),E=t(&quot;../cartesian/select&quot;),L=t(&quot;../../lib/setcursor&quot;),C=t(&quot;../../constants/alignment&quot;).MID_SHIFT,z=x._,D=x.deg2rad,I=x.rad2deg,P=x.wrap360,O=x.wrap180,F=t(&quot;./helpers&quot;).setConvertAngular,R=t(&quot;./constants&quot;),N=n.prototype;e.exports=function(t,e){return new n(t,e)},N.plot=function(t,e){var r=e[this.id];this._hasClipOnAxisFalse=!1;for(var n=0;n&lt;t.length;n++){if(!1===t[n][0].trace.cliponaxis){this._hasClipOnAxisFalse=!0;break}}this.updateLayers(e,r),this.updateLayout(e,r),w.generalUpdatePerTraceModule(this.gd,this,t,r),this.updateFx(e,r)},N.updateLayers=function(t,e){var r=this.layers,n=e.radialaxis,i=e.angularaxis,a=R.layerNames,o=a.indexOf(&quot;frontplot&quot;),s=a.slice(0,o),l=&quot;below traces&quot;===i.layer,c=&quot;below traces&quot;===n.layer;l&amp;&amp;s.push(&quot;angular-axis&quot;),c&amp;&amp;s.push(&quot;radial-axis&quot;),l&amp;&amp;s.push(&quot;angular-line&quot;),c&amp;&amp;s.push(&quot;radial-line&quot;),s.push(&quot;frontplot&quot;),l||s.push(&quot;angular-axis&quot;),c||s.push(&quot;radial-axis&quot;),l||s.push(&quot;angular-line&quot;),c||s.push(&quot;radial-line&quot;);var u=this.framework.selectAll(&quot;.polarsublayer&quot;).data(s,String);u.enter().append(&quot;g&quot;).attr(&quot;class&quot;,function(t){return&quot;polarsublayer &quot;+t}).each(function(t){var e=r[t]=m.select(this);switch(t){case&quot;frontplot&quot;:e.append(&quot;g&quot;).classed(&quot;scatterlayer&quot;,!0);break;case&quot;backplot&quot;:e.append(&quot;g&quot;).classed(&quot;maplayer&quot;,!0);break;case&quot;plotbg&quot;:r.bgcircle=e.append(&quot;path&quot;);break;case&quot;radial-grid&quot;:e.style(&quot;fill&quot;,&quot;none&quot;),e.append(&quot;g&quot;).classed(&quot;x&quot;,1);break;case&quot;angular-grid&quot;:e.style(&quot;fill&quot;,&quot;none&quot;),e.append(&quot;g&quot;).classed(&quot;angular&quot;,1);break;case&quot;radial-line&quot;:e.append(&quot;line&quot;).style(&quot;fill&quot;,&quot;none&quot;);break;case&quot;angular-line&quot;:e.append(&quot;path&quot;).style(&quot;fill&quot;,&quot;none&quot;)}}),u.order()},N.updateLayout=function(t,e){var r=this,n=r.layers,i=t._size,a=e.domain.x,o=e.domain.y;r.xOffset=i.l+i.w*a[0],r.yOffset=i.t+i.h*(1-o[1]);var l,c,f,h,d,p=r.xLength=i.w*(a[1]-a[0]),m=r.yLength=i.h*(o[1]-o[0]),g=r.sector=e.sector,v=r.sectorBBox=function(t){var e,r,n,i,a=t[0],o=t[1]-a,s=P(a),l=s+o,c=Math.cos(D(s)),u=Math.sin(D(s)),f=Math.cos(D(l)),h=Math.sin(D(l));return i=s&lt;=90&amp;&amp;l&gt;=90||s&gt;90&amp;&amp;l&gt;=450?1:u&lt;=0&amp;&amp;h&lt;=0?0:Math.max(u,h),e=s&lt;=180&amp;&amp;l&gt;=180||s&gt;180&amp;&amp;l&gt;=540?-1:c&gt;=0&amp;&amp;f&gt;=0?0:Math.min(c,f),r=s&lt;=270&amp;&amp;l&gt;=270||s&gt;270&amp;&amp;l&gt;=630?-1:u&gt;=0&amp;&amp;h&gt;=0?0:Math.min(u,h),n=l&gt;=360?1:c&lt;=0&amp;&amp;f&lt;=0?0:Math.max(c,f),[e,r,n,i]}(g),y=v[2]-v[0],x=v[3]-v[1],w=m/p,k=Math.abs(x/y);w&gt;k?(l=p,d=(m-(c=p*k))/i.h/2,f=[a[0],a[1]],h=[o[0]+d,o[1]-d]):(c=m,d=(p-(l=m/k))/i.w/2,f=[a[0]+d,a[1]-d],h=[o[0],o[1]]),r.xLength2=l,r.yLength2=c,r.xDomain2=f,r.yDomain2=h;var A=r.xOffset2=i.l+i.w*f[0],T=r.yOffset2=i.t+i.h*(1-h[1]),S=r.radius=l/y,E=r.cx=A-S*v[0],L=r.cy=T+S*v[3],C=r.cxx=E-A,z=r.cyy=L-T;r.updateRadialAxis(t,e),r.updateRadialAxisTitle(t,e),r.updateAngularAxis(t,e);var I=r.radialAxis.range,O=I[1]-I[0],F=r.xaxis={type:&quot;linear&quot;,_id:&quot;x&quot;,range:[v[0]*O,v[2]*O],domain:f};M.setConvert(F,t),F.setScale();var R=r.yaxis={type:&quot;linear&quot;,_id:&quot;y&quot;,range:[v[1]*O,v[3]*O],domain:h};M.setConvert(R,t),R.setScale(),F.isPtWithinRange=function(t){return r.isPtWithinSector(t)},R.isPtWithinRange=function(){return!0},n.frontplot.attr(&quot;transform&quot;,u(A,T)).call(_.setClipUrl,r._hasClipOnAxisFalse?null:r.clipIds.circle),n.bgcircle.attr({d:s(S,g),transform:u(E,L)}).call(b.fill,e.bgcolor),r.clipPaths.circle.select(&quot;path&quot;).attr(&quot;d&quot;,s(S,g)).attr(&quot;transform&quot;,u(C,z)),r.framework.selectAll(&quot;.crisp&quot;).classed(&quot;crisp&quot;,0)},N.updateRadialAxis=function(t,e){var r=this.gd,n=this.layers,s=this.radius,l=this.cx,h=this.cy,d=t._size,p=e.radialaxis,m=e.sector,g=P(m[0]);this.fillViewInitialKey(&quot;radialaxis.angle&quot;,p.angle);var v=this.radialAxis=x.extendFlat({},p,{_axislayer:n[&quot;radial-axis&quot;],_gridlayer:n[&quot;radial-grid&quot;],_id:&quot;x&quot;,_pos:0,side:{counterclockwise:&quot;top&quot;,clockwise:&quot;bottom&quot;}[p.side],domain:[0,s/d.w],anchor:&quot;free&quot;,position:0,_counteraxis:!0});i(v,p,t),M.doAutoRange(v),p.range=v.range.slice(),p._input.range=v.range.slice(),this.fillViewInitialKey(&quot;radialaxis.range&quot;,v.range.slice()),&quot;auto&quot;===v.tickangle&amp;&amp;g&gt;90&amp;&amp;g&lt;=270&amp;&amp;(v.tickangle=180),v._transfn=function(t){return&quot;translate(&quot;+v.l2p(t.x)+&quot;,0)&quot;},v._gridpath=function(t){return o(v.r2p(t.x),m)};var y=a(p);this.radialTickLayout!==y&amp;&amp;(n[&quot;radial-axis&quot;].selectAll(&quot;.xtick&quot;).remove(),this.radialTickLayout=y),M.doTicks(r,v,!0),c(n[&quot;radial-axis&quot;],p.showticklabels||p.ticks,{transform:u(l,h)+f(-p.angle)}),c(n[&quot;radial-grid&quot;],p.showgrid,{transform:u(l,h)}).selectAll(&quot;path&quot;).attr(&quot;transform&quot;,null),c(n[&quot;radial-line&quot;].select(&quot;line&quot;),p.showline,{x1:0,y1:0,x2:s,y2:0,transform:u(l,h)+f(-p.angle)}).attr(&quot;stroke-width&quot;,p.linewidth).call(b.stroke,p.linecolor)},N.updateRadialAxisTitle=function(t,e,r){var n=this.gd,i=this.radius,a=this.cx,o=this.cy,s=e.radialaxis,l=this.id+&quot;title&quot;,c=void 0!==r?r:s.angle,u=D(c),f=Math.cos(u),h=Math.sin(u),d=0;if(s.title){var p=_.bBox(this.layers[&quot;radial-axis&quot;].node()).height,m=s.titlefont.size;d=&quot;counterclockwise&quot;===s.side?-p-.4*m:p+.8*m}this.layers[&quot;radial-axis-title&quot;]=S.draw(n,l,{propContainer:s,propName:this.id+&quot;.radialaxis.title&quot;,placeholder:z(n,&quot;Click to enter radial axis title&quot;),attributes:{x:a+i/2*f+d*h,y:o-i/2*h+d*f,&quot;text-anchor&quot;:&quot;middle&quot;},transform:{rotate:-c}})},N.updateAngularAxis=function(t,e){function r(t){return T.c2rad(t.x,&quot;degrees&quot;)}function n(t){return[v*Math.cos(t),v*Math.sin(t)]}var o=this,h=o.gd,g=o.layers,v=o.radius,y=o.cx,_=o.cy,w=e.angularaxis,k=e.sector,A=k.map(D);o.fillViewInitialKey(&quot;angularaxis.rotation&quot;,w.rotation);var T=o.angularAxis=x.extendFlat({},w,{_axislayer:g[&quot;angular-axis&quot;],_gridlayer:g[&quot;angular-grid&quot;],_id:&quot;angular&quot;,_pos:0,side:&quot;right&quot;,domain:[0,Math.PI],anchor:&quot;free&quot;,position:0,_counteraxis:!0});&quot;linear&quot;===T.type?(T.autorange=!1,l(k)?T.range=k.slice():T.range=A.map(T.unTransformRad).map(I),&quot;radians&quot;===T.thetaunit&amp;&amp;(T.tick0=I(T.tick0),T.dtick=I(T.dtick))):&quot;category&quot;===T.type&amp;&amp;(T._tickFilter=function(t){return o.isPtWithinSector({r:o.radialAxis.range[1],rad:T.c2rad(t.x)})}),i(T,w,t),M.doAutoRange(T),T._transfn=function(t){var e=r(t),i=n(e),a=u(y+i[0],_-i[1]),o=m.select(this);return o&amp;&amp;o.node()&amp;&amp;o.classed(&quot;ticks&quot;)&amp;&amp;(a+=f(-I(e))),a},T._gridpath=function(t){var e=n(r(t));return&quot;M0,0L&quot;+-e[0]+&quot;,&quot;+e[1]};var S=&quot;outside&quot;!==w.ticks?.7:.5;T._labelx=function(t){var e=r(t),n=T._labelStandoff,i=T._pad;return(0===p(e)?0:Math.cos(e)*(n+i+S*t.fontSize))+d(e)*(t.dx+n+i)},T._labely=function(t){var e=r(t),n=T._labelStandoff,i=T._labelShift,a=T._pad;return t.dy+t.fontSize*C-i+-Math.sin(e)*(n+a+S*t.fontSize)},T._labelanchor=function(t,e){var n=r(e);return 0===p(n)?d(n)&gt;0?&quot;start&quot;:&quot;end&quot;:&quot;middle&quot;};var E=a(w);o.angularTickLayout!==E&amp;&amp;(g[&quot;angular-axis&quot;].selectAll(&quot;.angulartick&quot;).remove(),o.angularTickLayout=E),M.doTicks(h,T,!0),c(g[&quot;angular-line&quot;].select(&quot;path&quot;),w.showline,{d:s(v,k),transform:u(y,_)}).attr(&quot;stroke-width&quot;,w.linewidth).call(b.stroke,w.linecolor)},N.updateFx=function(t,e){this.gd._context.staticPlot||(this.updateAngularDrag(t,e),this.updateRadialDrag(t,e),this.updateMainDrag(t,e))},N.updateMainDrag=function(t,e){function r(t,e){var r=t-w,n=e-M;return Math.sqrt(r*r+n*n)}function n(t,e){return Math.atan2(M-e,t-w)}function i(t,e){return[t*Math.cos(e),t*Math.sin(-e)]}function a(t,e){var r=R.cornerLen,n=R.cornerHalfWidth;if(0===t)return s(2*n,S);var a=r/t/2,o=e-a,l=e+a,c=Math.max(0,Math.min(t,x)),u=c-n,f=c+n;return&quot;M&quot;+i(u,o)+&quot;A&quot;+[u,u]+&quot; 0,0,0 &quot;+i(u,l)+&quot;L&quot;+i(f,l)+&quot;A&quot;+[f,f]+&quot; 0,0,1 &quot;+i(f,o)+&quot;Z&quot;}function o(t,e){var i=C+t,o=z+e,l=r(C,z),c=Math.min(r(i,o),x),u=n(C,z),f=n(i,o);l&lt;y?l=0:x-l&lt;y?l=x:c&lt;y?c=0:x-c&lt;y&amp;&amp;(c=x);var h,d;Math.abs(c-l)&gt;p?(l&lt;c?(D=l,I=c):(D=c,I=l,f=[u,u=f][0]),h=P+s(I,S)+s(D,S),d=a(D,u)+a(I,f)):(D=null,I=null,h=P,d=&quot;M0,0Z&quot;),N.attr(&quot;d&quot;,h),j.attr(&quot;d&quot;,d),A.transitionZoombox(N,j,O,F),O=!0}function l(){if(A.removeZoombox(f),null!==D&amp;&amp;null!==I){A.showDoubleClickNotifier(f);var t=c.radialAxis.range,e=t[1]-t[0],r={};r[c.id+&quot;.radialaxis.range&quot;]=[t[0]+D*e/x,t[0]+I*e/x],v.relayout(f,r)}}var c=this,f=c.gd,h=c.layers,d=t._zoomlayer,p=R.MINZOOM,y=R.OFFEDGE,x=c.radius,b=c.cx,_=c.cy,w=c.cxx,M=c.cyy,S=e.sector,L=A.makeDragger(h,&quot;path&quot;,&quot;maindrag&quot;,&quot;crosshair&quot;);m.select(L).attr(&quot;d&quot;,s(x,S)).attr(&quot;transform&quot;,u(b,_));var C,z,D,I,P,O,F,N,j,B={element:L,gd:f,subplot:c.id,plotinfo:{xaxis:c.xaxis,yaxis:c.yaxis},xaxes:[c.xaxis],yaxes:[c.yaxis]};B.prepFn=function(t,e,r){var n=f._fullLayout.dragmode,i=L.getBoundingClientRect();switch(C=e-i.left,z=r-i.top,n){case&quot;zoom&quot;:B.moveFn=o,B.doneFn=l,function(){D=null,I=null,P=s(x,S),O=!1;var t=f._fullLayout[c.id];F=g(t.bgcolor).getLuminance(),(N=A.makeZoombox(d,F,b,_,P)).attr(&quot;fill-rule&quot;,&quot;evenodd&quot;),j=A.makeCorners(d,b,_),A.clearSelect(d)}();break;case&quot;select&quot;:case&quot;lasso&quot;:E(t,e,r,B,n)}},B.clickFn=function(t,e){if(A.removeZoombox(f),2===t){var r={};for(var n in c.viewInitial)r[c.id+&quot;.&quot;+n]=c.viewInitial[n];f.emit(&quot;plotly_doubleclick&quot;,null),v.relayout(f,r)}T.click(f,e,c.id)},L.onmousemove=function(t){T.hover(f,t,c.id),f._fullLayout._lasthover=L,f._fullLayout._hoversubplot=c.id},L.onmouseout=function(t){f._dragging||k.unhover(f,t)},k.init(B)},N.updateRadialDrag=function(t,e){function r(t,e){if(C)C(t,e);else{var r=[t,-e],n=[Math.cos(p),Math.sin(p)],d=Math.abs(x.dot(r,n)/Math.sqrt(x.dot(r,r)));isNaN(d)||(C=d&lt;.5?function(t,e){var r=E+t,n=L+e;z=I(Math.atan2(c-n,r-l));var a=u(l,c)+f(-z);o[&quot;radial-axis&quot;].attr(&quot;transform&quot;,a),o[&quot;radial-line&quot;].select(&quot;line&quot;).attr(&quot;transform&quot;,a);var s=i.gd._fullLayout,h=s[i.id];i.updateRadialAxisTitle(s,h,z)}:function(t,e){var r=x.dot([t,-e],[Math.cos(p),Math.sin(p)]),n=g[1]-b*r/s*.75;if(b&gt;0!=n&gt;g[0])return;P=h.range[1]=n,M.doTicks(a,i.radialAxis,!0),o[&quot;radial-grid&quot;].attr(&quot;transform&quot;,u(l,c)).selectAll(&quot;path&quot;).attr(&quot;transform&quot;,null);var f=P-g[0],d=i.sectorBBox;i.xaxis.range=[d[0]*f,d[2]*f],i.yaxis.range=[d[1]*f,d[3]*f],i.xaxis.setScale(),i.yaxis.setScale();for(var m in i.traceHash){var v=i.traceHash[m],_=x.filterVisible(v),w=v[0][0].trace._module,k=a._fullLayout[i.id];if(w.plot(a,i,_,k),!y.traceIs(m,&quot;gl&quot;))for(var A=0;A&lt;_.length;A++)w.style(a,_[A])}})}}function n(){null!==z?v.relayout(a,i.id+&quot;.radialaxis.angle&quot;,z):null!==P&amp;&amp;v.relayout(a,i.id+&quot;.radialaxis.range[1]&quot;,P)}var i=this,a=i.gd,o=i.layers,s=i.radius,l=i.cx,c=i.cy,h=i.radialAxis,d=e.radialaxis,p=D(d.angle),g=h.range.slice(),b=g[1]-g[0],_=R.radialDragBoxSize,w=_/2;if(d.visible){var T=A.makeRectDragger(o,&quot;radialdrag&quot;,&quot;crosshair&quot;,-w,-w,_,_),S={element:T,gd:a},E=l+(s+w)*Math.cos(p),L=c-(s+w)*Math.sin(p);m.select(T).attr(&quot;transform&quot;,u(E,L));var C,z,P;S.prepFn=function(){C=null,z=null,P=null,S.moveFn=r,S.doneFn=n,A.clearSelect(t._zoomlayer)},S.clampFn=function(t,e){return Math.sqrt(t*t+e*e)&lt;R.MINDRAG&amp;&amp;(t=0,e=0),[t,e]},k.init(S)}},N.updateAngularDrag=function(t,e){function r(t,e){return Math.atan2(g+w-e,t-p-w)}function n(t,e){var n=r(E+t,C+e),i=I(n-j);P=z+i,s.frontplot.attr(&quot;transform&quot;,u(a.xOffset2,a.yOffset2)+f([-i,p,g])),a.clipPaths.circle.select(&quot;path&quot;).attr(&quot;transform&quot;,u(p,g)+f(i)),U.each(function(){var t=m.select(this),e=_.getTranslate(t);t.attr(&quot;transform&quot;,u(e.x,e.y)+f([i]))}),V.each(function(){var t=m.select(this),e=t.select(&quot;text&quot;),r=_.getTranslate(t);t.attr(&quot;transform&quot;,f([i,e.attr(&quot;x&quot;),e.attr(&quot;y&quot;)])+u(r.x,r.y))});var c=a.angularAxis;c.rotation=O(P),&quot;linear&quot;!==c.type||l(b)||(c.range=N.map(D).map(c.unTransformRad).map(I)),F(c),M.doTicks(o,c,!0),a._hasClipOnAxisFalse&amp;&amp;!l(b)&amp;&amp;(a.sector=[N[0]-i,N[1]-i],B.call(_.hideOutsideRangePoints,a));for(var h in a.traceHash)if(y.traceIs(h,&quot;gl&quot;)){var d=a.traceHash[h],v=x.filterVisible(d),w=d[0][0].trace._module,k=o._fullLayout[a.id];w.plot(o,a,v,k)}}function i(){V.select(&quot;text&quot;).attr(&quot;transform&quot;,null);var t={};t[a.id+&quot;.angularaxis.rotation&quot;]=P,v.relayout(o,t)}var a=this,o=a.gd,s=a.layers,c=a.radius,h=a.cx,d=a.cy,p=a.cxx,g=a.cyy,b=e.sector,w=R.angularDragBoxSize,T=A.makeDragger(s,&quot;path&quot;,&quot;angulardrag&quot;,&quot;move&quot;),S={element:T,gd:o};m.select(T).attr(&quot;d&quot;,function(t,e,r){function n(t,e){return[t*Math.cos(e),-t*Math.sin(e)]}function i(t,e,r){return&quot;A&quot;+[t,t]+&quot; &quot;+[0,c,r]+&quot; &quot;+n(t,e)}var a,o,s,c=Math.abs(r[1]-r[0])&lt;=180?0:1;return l(r)?(a=0,s=2*Math.PI,o=Math.PI,&quot;M&quot;+n(t,a)+i(t,o,0)+i(t,s,0)+&quot;ZM&quot;+n(e,a)+i(e,o,1)+i(e,s,1)+&quot;Z&quot;):(a=D(r[0]),s=D(r[1]),&quot;M&quot;+n(t,a)+&quot;L&quot;+n(e,a)+i(e,s,0)+&quot;L&quot;+n(t,s)+i(t,a,1)+&quot;Z&quot;)}(c,c+w,b)).attr(&quot;transform&quot;,u(h,d)).call(L,&quot;move&quot;);var E,C,z,P,N,j,B=s.frontplot.select(&quot;.scatterlayer&quot;).selectAll(&quot;.trace&quot;),U=B.selectAll(&quot;.point&quot;),V=B.selectAll(&quot;.textpoint&quot;);S.prepFn=function(e,o,s){var l=t[a.id];N=l.sector.slice(),z=l.angularaxis.rotation;var c=T.getBoundingClientRect();E=o-c.left,C=s-c.top,j=r(E,C),S.moveFn=n,S.doneFn=i,A.clearSelect(t._zoomlayer)},k.init(S)},N.isPtWithinSector=function(t){var e=this.sector,r=this.radialAxis,n=r.range,i=r.c2r(t.r),a=P(e[0]),o=P(e[1]);a&gt;o&amp;&amp;(o+=360);var s,c,u=P(I(t.rad)),f=u+360;return n[1]&gt;=n[0]?(s=n[0],c=n[1]):(s=n[1],c=n[0]),i&gt;=s&amp;&amp;i&lt;=c&amp;&amp;(l(e)||u&gt;=a&amp;&amp;u&lt;=o||f&gt;=a&amp;&amp;f&lt;=o)},N.fillViewInitialKey=function(t,e){t in this.viewInitial||(this.viewInitial[t]=e)}},{&quot;../../components/color&quot;:618,&quot;../../components/dragelement&quot;:640,&quot;../../components/drawing&quot;:643,&quot;../../components/fx&quot;:660,&quot;../../components/titles&quot;:709,&quot;../../constants/alignment&quot;:716,&quot;../../lib&quot;:743,&quot;../../lib/setcursor&quot;:762,&quot;../../plotly&quot;:784,&quot;../../registry&quot;:873,&quot;../cartesian/axes&quot;:789,&quot;../cartesian/dragbox&quot;:797,&quot;../cartesian/select&quot;:807,&quot;../plots&quot;:852,&quot;./constants&quot;:853,&quot;./helpers&quot;:854,d3:128,tinycolor2:546}],865:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../lib&quot;);e.exports=function(t,e,r,i){function a(t,e){return n.coerce(o,s,c,t,e)}for(var o,s,l=i.type,c=i.attributes,u=i.handleDefaults,f=i.partition||&quot;x&quot;,h=e._subplots[l],d=h.length,p=0;p&lt;d;p++){var m=h[p];o=t[m]?t[m]:t[m]={},e[m]=s={},a(&quot;domain.&quot;+f,[p/d,(p+1)/d]),a(&quot;domain.&quot;+{x:&quot;y&quot;,y:&quot;x&quot;}[f]),i.id=m,u(o,s,a,i)}}},{&quot;../lib&quot;:743}],866:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;./ternary&quot;),i=t(&quot;../../plots/get_data&quot;).getSubplotCalcData,a=t(&quot;../../lib&quot;).counterRegex;r.name=&quot;ternary&quot;,r.attr=&quot;subplot&quot;,r.idRoot=&quot;ternary&quot;,r.idRegex=r.attrRegex=a(&quot;ternary&quot;),r.attributes=t(&quot;./layout/attributes&quot;),r.layoutAttributes=t(&quot;./layout/layout_attributes&quot;),r.supplyLayoutDefaults=t(&quot;./layout/defaults&quot;),r.plot=function(t){for(var e=t._fullLayout,r=t.calcdata,a=e._subplots.ternary,o=0;o&lt;a.length;o++){var s=a[o],l=i(r,&quot;ternary&quot;,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&lt;i.length;a++){var o=i[a],s=n[o]._subplot;!e[o]&amp;&amp;s&amp;&amp;(s.plotContainer.remove(),s.clipDef.remove(),s.clipDefRelative.remove(),s.layers[&quot;a-title&quot;].remove(),s.layers[&quot;b-title&quot;].remove(),s.layers[&quot;c-title&quot;].remove())}}},{&quot;../../lib&quot;:743,&quot;../../plots/get_data&quot;:826,&quot;./layout/attributes&quot;:867,&quot;./layout/defaults&quot;:870,&quot;./layout/layout_attributes&quot;:871,&quot;./ternary&quot;:872}],867:[function(t,e,r){&quot;use strict&quot;;e.exports={subplot:{valType:&quot;subplotid&quot;,dflt:&quot;ternary&quot;,editType:&quot;calc&quot;}}},{}],868:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../cartesian/layout_attributes&quot;),i=t(&quot;../../../lib/extend&quot;).extendFlat;e.exports={title:n.title,titlefont:n.titlefont,color:n.color,tickmode:n.tickmode,nticks:i({},n.nticks,{dflt:6,min:1}),tick0:n.tick0,dtick:n.dtick,tickvals:n.tickvals,ticktext:n.ticktext,ticks:n.ticks,ticklen:n.ticklen,tickwidth:n.tickwidth,tickcolor:n.tickcolor,showticklabels:n.showticklabels,showtickprefix:n.showtickprefix,tickprefix:n.tickprefix,showticksuffix:n.showticksuffix,ticksuffix:n.ticksuffix,showexponent:n.showexponent,exponentformat:n.exponentformat,separatethousands:n.separatethousands,tickfont:n.tickfont,tickangle:n.tickangle,tickformat:n.tickformat,tickformatstops:n.tickformatstops,hoverformat:n.hoverformat,showline:i({},n.showline,{dflt:!0}),linecolor:n.linecolor,linewidth:n.linewidth,showgrid:i({},n.showgrid,{dflt:!0}),gridcolor:n.gridcolor,gridwidth:n.gridwidth,layer:n.layer,min:{valType:&quot;number&quot;,dflt:0,min:0}}},{&quot;../../../lib/extend&quot;:732,&quot;../../cartesian/layout_attributes&quot;:801}],869:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../../lib&quot;),i=t(&quot;./axis_attributes&quot;),a=t(&quot;../../cartesian/tick_label_defaults&quot;),o=t(&quot;../../cartesian/tick_mark_defaults&quot;),s=t(&quot;../../cartesian/tick_value_defaults&quot;),l=t(&quot;../../cartesian/line_grid_defaults&quot;);e.exports=function(t,e,r){function c(r,a){return n.coerce(t,e,i,r,a)}e.type=&quot;linear&quot;;var u=c(&quot;color&quot;),f=u===t.color?u:r.font.color,h=e._name.charAt(0).toUpperCase(),d=&quot;Component &quot;+h,p=c(&quot;title&quot;,d);e._hovertitle=p===d?p:h,n.coerceFont(c,&quot;titlefont&quot;,{family:r.font.family,size:Math.round(1.2*r.font.size),color:f}),c(&quot;min&quot;),s(t,e,c,&quot;linear&quot;),a(t,e,c,&quot;linear&quot;,{noHover:!1}),o(t,e,c,{outerTicks:!0});c(&quot;showticklabels&quot;)&amp;&amp;(n.coerceFont(c,&quot;tickfont&quot;,{family:r.font.family,size:r.font.size,color:f}),c(&quot;tickangle&quot;),c(&quot;tickformat&quot;)),l(t,e,c,{dfltColor:u,bgColor:r.bgColor,blend:60,showLine:!0,showGrid:!0,noZeroLine:!0,attributes:i}),c(&quot;hoverformat&quot;),c(&quot;layer&quot;)}},{&quot;../../../lib&quot;:743,&quot;../../cartesian/line_grid_defaults&quot;:803,&quot;../../cartesian/tick_label_defaults&quot;:809,&quot;../../cartesian/tick_mark_defaults&quot;:810,&quot;../../cartesian/tick_value_defaults&quot;:811,&quot;./axis_attributes&quot;:868}],870:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,n){var a=r(&quot;bgcolor&quot;),o=r(&quot;sum&quot;);n.bgColor=i.combine(a,n.paper_bgcolor);for(var c,u,f,h=0;h&lt;l.length;h++)u=t[c=l[h]]||{},f=e[c]={_name:c,type:&quot;linear&quot;},s(u,f,n);var d=e.aaxis,p=e.baxis,m=e.caxis;d.min+p.min+m.min&gt;=o&amp;&amp;(d.min=0,p.min=0,m.min=0,t.aaxis&amp;&amp;delete t.aaxis.min,t.baxis&amp;&amp;delete t.baxis.min,t.caxis&amp;&amp;delete t.caxis.min)}var i=t(&quot;../../../components/color&quot;),a=t(&quot;../../subplot_defaults&quot;),o=t(&quot;./layout_attributes&quot;),s=t(&quot;./axis_defaults&quot;),l=[&quot;aaxis&quot;,&quot;baxis&quot;,&quot;caxis&quot;];e.exports=function(t,e,r){a(t,e,r,{type:&quot;ternary&quot;,attributes:o,handleDefaults:n,font:e.font,paper_bgcolor:e.paper_bgcolor})}},{&quot;../../../components/color&quot;:618,&quot;../../subplot_defaults&quot;:865,&quot;./axis_defaults&quot;:869,&quot;./layout_attributes&quot;:871}],871:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../../components/color/attributes&quot;),i=t(&quot;../../domain_attributes&quot;),a=t(&quot;./axis_attributes&quot;),o=t(&quot;../../../plot_api/edit_types&quot;).overrideAll;e.exports=o({domain:i({name:&quot;ternary&quot;}),bgcolor:{valType:&quot;color&quot;,dflt:n.background},sum:{valType:&quot;number&quot;,dflt:1,min:0},aaxis:a,baxis:a,caxis:a},&quot;plot&quot;,&quot;from-root&quot;)},{&quot;../../../components/color/attributes&quot;:617,&quot;../../../plot_api/edit_types&quot;:773,&quot;../../domain_attributes&quot;:815,&quot;./axis_attributes&quot;:868}],872:[function(t,e,r){&quot;use strict&quot;;function n(t,e){this.id=t.id,this.graphDiv=t.graphDiv,this.init(e),this.makeFramework(e)}function i(t){a.select(t).selectAll(&quot;.zoombox,.js-zoombox-backdrop,.js-zoombox-menu,.zoombox-corners&quot;).remove()}var a=t(&quot;d3&quot;),o=t(&quot;tinycolor2&quot;),s=t(&quot;../../plotly&quot;),l=t(&quot;../../lib&quot;),c=l._,u=t(&quot;../../components/color&quot;),f=t(&quot;../../components/drawing&quot;),h=t(&quot;../cartesian/set_convert&quot;),d=t(&quot;../../lib/extend&quot;).extendFlat,p=t(&quot;../plots&quot;),m=t(&quot;../cartesian/axes&quot;),g=t(&quot;../../components/dragelement&quot;),v=t(&quot;../../components/fx&quot;),y=t(&quot;../../components/titles&quot;),x=t(&quot;../cartesian/select&quot;),b=t(&quot;../cartesian/constants&quot;);e.exports=n;var _=n.prototype;_.init=function(t){this.container=t._ternarylayer,this.defs=t._defs,this.layoutId=t._uid,this.traceHash={},this.layers={}},_.plot=function(t,e){var r=e[this.id],n=e._size;this._hasClipOnAxisFalse=!1;for(var i=0;i&lt;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(&quot;path&quot;).call(u.fill,r.bgcolor)},_.makeFramework=function(t){var e=t[this.id],r=this.clipId=&quot;clip&quot;+this.layoutId+this.id;this.clipDef=t._clips.selectAll(&quot;#&quot;+r).data([0]),this.clipDef.enter().append(&quot;clipPath&quot;).attr(&quot;id&quot;,r).append(&quot;path&quot;).attr(&quot;d&quot;,&quot;M0,0Z&quot;);var n=this.clipIdRelative=&quot;clip-relative&quot;+this.layoutId+this.id;this.clipDefRelative=t._clips.selectAll(&quot;#&quot;+n).data([0]),this.clipDefRelative.enter().append(&quot;clipPath&quot;).attr(&quot;id&quot;,n).append(&quot;path&quot;).attr(&quot;d&quot;,&quot;M0,0Z&quot;),this.plotContainer=this.container.selectAll(&quot;g.&quot;+this.id).data([0]),this.plotContainer.enter().append(&quot;g&quot;).classed(this.id,!0),this.updateLayers(e),f.setClipUrl(this.layers.backplot,r),f.setClipUrl(this.layers.grids,r)},_.updateLayers=function(t){var e=this.layers,r=[&quot;draglayer&quot;,&quot;plotbg&quot;,&quot;backplot&quot;,&quot;grids&quot;];&quot;below traces&quot;===t.aaxis.layer&amp;&amp;r.push(&quot;aaxis&quot;,&quot;aline&quot;),&quot;below traces&quot;===t.baxis.layer&amp;&amp;r.push(&quot;baxis&quot;,&quot;bline&quot;),&quot;below traces&quot;===t.caxis.layer&amp;&amp;r.push(&quot;caxis&quot;,&quot;cline&quot;),r.push(&quot;frontplot&quot;),&quot;above traces&quot;===t.aaxis.layer&amp;&amp;r.push(&quot;aaxis&quot;,&quot;aline&quot;),&quot;above traces&quot;===t.baxis.layer&amp;&amp;r.push(&quot;baxis&quot;,&quot;bline&quot;),&quot;above traces&quot;===t.caxis.layer&amp;&amp;r.push(&quot;caxis&quot;,&quot;cline&quot;);var n=this.plotContainer.selectAll(&quot;g.toplevel&quot;).data(r,String),i=[&quot;agrid&quot;,&quot;bgrid&quot;,&quot;cgrid&quot;];n.enter().append(&quot;g&quot;).attr(&quot;class&quot;,function(t){return&quot;toplevel &quot;+t}).each(function(t){var r=a.select(this);e[t]=r,&quot;frontplot&quot;===t?r.append(&quot;g&quot;).classed(&quot;scatterlayer&quot;,!0):&quot;backplot&quot;===t?r.append(&quot;g&quot;).classed(&quot;maplayer&quot;,!0):&quot;plotbg&quot;===t?r.append(&quot;path&quot;).attr(&quot;d&quot;,&quot;M0,0Z&quot;):&quot;aline&quot;===t||&quot;bline&quot;===t||&quot;cline&quot;===t?r.append(&quot;path&quot;):&quot;grids&quot;===t&amp;&amp;i.forEach(function(t){e[t]=r.append(&quot;g&quot;).classed(&quot;grid &quot;+t,!0);var n=&quot;bgrid&quot;===t?&quot;x&quot;:&quot;y&quot;;e[t].append(&quot;g&quot;).classed(n,!0)})}),n.order()};var w=Math.sqrt(4/3);_.adjustLayout=function(t,e){var r,n,i,a,o,s,l=this,c=t.domain,p=(c.x[0]+c.x[1])/2,m=(c.y[0]+c.y[1])/2,g=c.x[1]-c.x[0],v=c.y[1]-c.y[0],y=g*e.w,x=v*e.h,b=t.sum,_=t.aaxis.min,M=t.baxis.min,k=t.caxis.min;y&gt;w*x?i=(a=x)*w:a=(i=y)/w,o=g*i/y,s=v*a/x,r=e.l+e.w*p-i/2,n=e.t+e.h*(1-m)-a/2,l.x0=r,l.y0=n,l.w=i,l.h=a,l.sum=b,l.xaxis={type:&quot;linear&quot;,range:[_+2*k-b,b-_-2*M],domain:[p-o/2,p+o/2],_id:&quot;x&quot;},h(l.xaxis,l.graphDiv._fullLayout),l.xaxis.setScale(),l.xaxis.isPtWithinRange=function(t){return t.a&gt;=l.aaxis.range[0]&amp;&amp;t.a&lt;=l.aaxis.range[1]&amp;&amp;t.b&gt;=l.baxis.range[1]&amp;&amp;t.b&lt;=l.baxis.range[0]&amp;&amp;t.c&gt;=l.caxis.range[1]&amp;&amp;t.c&lt;=l.caxis.range[0]},l.yaxis={type:&quot;linear&quot;,range:[_,b-M-k],domain:[m-s/2,m+s/2],_id:&quot;y&quot;},h(l.yaxis,l.graphDiv._fullLayout),l.yaxis.setScale(),l.yaxis.isPtWithinRange=function(){return!0};var A=l.yaxis.domain[0],T=l.aaxis=d({},t.aaxis,{visible:!0,range:[_,b-M-k],side:&quot;left&quot;,_counterangle:30,tickangle:(+t.aaxis.tickangle||0)-30,domain:[A,A+s*w],_axislayer:l.layers.aaxis,_gridlayer:l.layers.agrid,_pos:0,_id:&quot;y&quot;,_length:i,_gridpath:&quot;M0,0l&quot;+a+&quot;,-&quot;+i/2});h(T,l.graphDiv._fullLayout),T.setScale();var S=l.baxis=d({},t.baxis,{visible:!0,range:[b-_-k,M],side:&quot;bottom&quot;,_counterangle:30,domain:l.xaxis.domain,_axislayer:l.layers.baxis,_gridlayer:l.layers.bgrid,_counteraxis:l.aaxis,_pos:0,_id:&quot;x&quot;,_length:i,_gridpath:&quot;M0,0l-&quot;+i/2+&quot;,-&quot;+a});h(S,l.graphDiv._fullLayout),S.setScale(),T._counteraxis=S;var E=l.caxis=d({},t.caxis,{visible:!0,range:[b-_-M,k],side:&quot;right&quot;,_counterangle:30,tickangle:(+t.caxis.tickangle||0)+30,domain:[A,A+s*w],_axislayer:l.layers.caxis,_gridlayer:l.layers.cgrid,_counteraxis:l.baxis,_pos:0,_id:&quot;y&quot;,_length:i,_gridpath:&quot;M0,0l-&quot;+a+&quot;,&quot;+i/2});h(E,l.graphDiv._fullLayout),E.setScale();var L=&quot;M&quot;+r+&quot;,&quot;+(n+a)+&quot;h&quot;+i+&quot;l-&quot;+i/2+&quot;,-&quot;+a+&quot;Z&quot;;l.clipDef.select(&quot;path&quot;).attr(&quot;d&quot;,L),l.layers.plotbg.select(&quot;path&quot;).attr(&quot;d&quot;,L);var C=&quot;M0,&quot;+a+&quot;h&quot;+i+&quot;l-&quot;+i/2+&quot;,-&quot;+a+&quot;Z&quot;;l.clipDefRelative.select(&quot;path&quot;).attr(&quot;d&quot;,C);var z=&quot;translate(&quot;+r+&quot;,&quot;+n+&quot;)&quot;;l.plotContainer.selectAll(&quot;.scatterlayer,.maplayer&quot;).attr(&quot;transform&quot;,z),l.clipDefRelative.select(&quot;path&quot;).attr(&quot;transform&quot;,null);var D=&quot;translate(&quot;+(r-S._offset)+&quot;,&quot;+(n+a)+&quot;)&quot;;l.layers.baxis.attr(&quot;transform&quot;,D),l.layers.bgrid.attr(&quot;transform&quot;,D);var I=&quot;translate(&quot;+(r+i/2)+&quot;,&quot;+n+&quot;)rotate(30)translate(0,-&quot;+T._offset+&quot;)&quot;;l.layers.aaxis.attr(&quot;transform&quot;,I),l.layers.agrid.attr(&quot;transform&quot;,I);var P=&quot;translate(&quot;+(r+i/2)+&quot;,&quot;+n+&quot;)rotate(-30)translate(0,-&quot;+E._offset+&quot;)&quot;;l.layers.caxis.attr(&quot;transform&quot;,P),l.layers.cgrid.attr(&quot;transform&quot;,P),l.drawAxes(!0),l.plotContainer.selectAll(&quot;.crisp&quot;).classed(&quot;crisp&quot;,!1),l.layers.aline.select(&quot;path&quot;).attr(&quot;d&quot;,T.showline?&quot;M&quot;+r+&quot;,&quot;+(n+a)+&quot;l&quot;+i/2+&quot;,-&quot;+a:&quot;M0,0&quot;).call(u.stroke,T.linecolor||&quot;#000&quot;).style(&quot;stroke-width&quot;,(T.linewidth||0)+&quot;px&quot;),l.layers.bline.select(&quot;path&quot;).attr(&quot;d&quot;,S.showline?&quot;M&quot;+r+&quot;,&quot;+(n+a)+&quot;h&quot;+i:&quot;M0,0&quot;).call(u.stroke,S.linecolor||&quot;#000&quot;).style(&quot;stroke-width&quot;,(S.linewidth||0)+&quot;px&quot;),l.layers.cline.select(&quot;path&quot;).attr(&quot;d&quot;,E.showline?&quot;M&quot;+(r+i/2)+&quot;,&quot;+n+&quot;l&quot;+i/2+&quot;,&quot;+a:&quot;M0,0&quot;).call(u.stroke,E.linecolor||&quot;#000&quot;).style(&quot;stroke-width&quot;,(E.linewidth||0)+&quot;px&quot;),l.graphDiv._context.staticPlot||l.initInteractions(),f.setClipUrl(l.layers.frontplot,l._hasClipOnAxisFalse?null:l.clipId)},_.drawAxes=function(t){var e=this.graphDiv,r=this.id.substr(7)+&quot;title&quot;,n=this.aaxis,i=this.baxis,a=this.caxis;if(m.doTicks(e,n,!0),m.doTicks(e,i,!0),m.doTicks(e,a,!0),t){var o=Math.max(n.showticklabels?n.tickfont.size/2:0,(a.showticklabels?.75*a.tickfont.size:0)+(&quot;outside&quot;===a.ticks?.87*a.ticklen:0));this.layers[&quot;a-title&quot;]=y.draw(e,&quot;a&quot;+r,{propContainer:n,propName:this.id+&quot;.aaxis.title&quot;,placeholder:c(e,&quot;Click to enter Component A title&quot;),attributes:{x:this.x0+this.w/2,y:this.y0-n.titlefont.size/3-o,&quot;text-anchor&quot;:&quot;middle&quot;}});var s=(i.showticklabels?i.tickfont.size:0)+(&quot;outside&quot;===i.ticks?i.ticklen:0)+3;this.layers[&quot;b-title&quot;]=y.draw(e,&quot;b&quot;+r,{propContainer:i,propName:this.id+&quot;.baxis.title&quot;,placeholder:c(e,&quot;Click to enter Component B title&quot;),attributes:{x:this.x0-s,y:this.y0+this.h+.83*i.titlefont.size+s,&quot;text-anchor&quot;:&quot;middle&quot;}}),this.layers[&quot;c-title&quot;]=y.draw(e,&quot;c&quot;+r,{propContainer:a,propName:this.id+&quot;.caxis.title&quot;,placeholder:c(e,&quot;Click to enter Component C title&quot;),attributes:{x:this.x0+this.w+s,y:this.y0+this.h+.83*a.titlefont.size+s,&quot;text-anchor&quot;:&quot;middle&quot;}})}};var M=b.MINZOOM/2+.87,k=&quot;m-0.87,.5h&quot;+M+&quot;v3h-&quot;+(M+5.2)+&quot;l&quot;+(M/2+2.6)+&quot;,-&quot;+(.87*M+4.5)+&quot;l2.6,1.5l-&quot;+M/2+&quot;,&quot;+.87*M+&quot;Z&quot;,A=&quot;m0.87,.5h-&quot;+M+&quot;v3h&quot;+(M+5.2)+&quot;l-&quot;+(M/2+2.6)+&quot;,-&quot;+(.87*M+4.5)+&quot;l-2.6,1.5l&quot;+M/2+&quot;,&quot;+.87*M+&quot;Z&quot;,T=&quot;m0,1l&quot;+M/2+&quot;,&quot;+.87*M+&quot;l2.6,-1.5l-&quot;+(M/2+2.6)+&quot;,-&quot;+(.87*M+4.5)+&quot;l-&quot;+(M/2+2.6)+&quot;,&quot;+(.87*M+4.5)+&quot;l2.6,1.5l&quot;+M/2+&quot;,-&quot;+.87*M+&quot;Z&quot;,S=&quot;m0.5,0.5h5v-2h-5v-5h-2v5h-5v2h5v5h2Z&quot;,E=!0;_.initInteractions=function(){function t(t,e){return 1-e/O.h}function e(t,e){return 1-(t+(O.h-e)/Math.sqrt(3))/O.w}function r(t,e){return(t-(O.h-e)/Math.sqrt(3))/O.w}function n(n,i){var a=m+n,o=y+i,s=Math.max(0,Math.min(1,t(0,y),t(0,o))),l=Math.max(0,Math.min(1,e(m,y),e(a,o))),c=Math.max(0,Math.min(1,r(m,y),r(a,o))),u=(s/2+c)*O.w,f=(1-s/2-l)*O.w,h=(u+f)/2,d=f-u,p=(1-s)*O.h,g=p-d/w;d&lt;b.MINZOOM?(L=_,I.attr(&quot;d&quot;,z),P.attr(&quot;d&quot;,&quot;M0,0Z&quot;)):(L={a:_.a+s*M,b:_.b+l*M,c:_.c+c*M},I.attr(&quot;d&quot;,z+&quot;M&quot;+u+&quot;,&quot;+p+&quot;H&quot;+f+&quot;L&quot;+h+&quot;,&quot;+g+&quot;L&quot;+u+&quot;,&quot;+p+&quot;Z&quot;),P.attr(&quot;d&quot;,&quot;M&quot;+m+&quot;,&quot;+y+S+&quot;M&quot;+u+&quot;,&quot;+p+k+&quot;M&quot;+f+&quot;,&quot;+p+A+&quot;M&quot;+h+&quot;,&quot;+g+T)),D||(I.transition().style(&quot;fill&quot;,C&gt;.2?&quot;rgba(0,0,0,0.4)&quot;:&quot;rgba(255,255,255,0.3)&quot;).duration(200),P.transition().style(&quot;opacity&quot;,1).duration(200),D=!0)}function a(){if(i(R),L!==_){var t={};t[O.id+&quot;.aaxis.min&quot;]=L.a,t[O.id+&quot;.baxis.min&quot;]=L.b,t[O.id+&quot;.caxis.min&quot;]=L.c,s.relayout(R,t),E&amp;&amp;R.data&amp;&amp;R._context.showTips&amp;&amp;(l.notifier(c(R,&quot;Double-click to zoom back out&quot;),&quot;long&quot;),E=!1)}}function h(t,e){var r=t/O.xaxis._m,n=e/O.yaxis._m,i=[(L={a:_.a-n,b:_.b+(r+n)/2,c:_.c-(r-n)/2}).a,L.b,L.c].sort(),a=i.indexOf(L.a),o=i.indexOf(L.b),s=i.indexOf(L.c);i[0]&lt;0&amp;&amp;(i[1]+i[0]/2&lt;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),L={a:i[a],b:i[o],c:i[s]},e=(_.a-L.a)*O.yaxis._m,t=(_.c-L.c-_.b+L.b)*O.xaxis._m);var l=&quot;translate(&quot;+(O.x0+t)+&quot;,&quot;+(O.y0+e)+&quot;)&quot;;O.plotContainer.selectAll(&quot;.scatterlayer,.maplayer&quot;).attr(&quot;transform&quot;,l);var c=&quot;translate(&quot;+-t+&quot;,&quot;+-e+&quot;)&quot;;O.clipDefRelative.select(&quot;path&quot;).attr(&quot;transform&quot;,c),O.aaxis.range=[L.a,O.sum-L.b-L.c],O.baxis.range=[O.sum-L.a-L.c,L.b],O.caxis.range=[O.sum-L.a-L.b,L.c],O.drawAxes(!1),O.plotContainer.selectAll(&quot;.crisp&quot;).classed(&quot;crisp&quot;,!1),O._hasClipOnAxisFalse&amp;&amp;O.plotContainer.select(&quot;.scatterlayer&quot;).selectAll(&quot;.trace&quot;).call(f.hideOutsideRangePoints,O)}function d(){var t={};t[O.id+&quot;.aaxis.min&quot;]=L.a,t[O.id+&quot;.baxis.min&quot;]=L.b,t[O.id+&quot;.caxis.min&quot;]=L.c,s.relayout(R,t)}function p(){N.selectAll(&quot;.select-outline&quot;).remove()}var m,y,_,M,L,C,z,D,I,P,O=this,F=O.layers.plotbg.select(&quot;path&quot;).node(),R=O.graphDiv,N=R._fullLayout._zoomlayer,j={element:F,gd:R,plotinfo:{xaxis:O.xaxis,yaxis:O.yaxis},subplot:O.id,prepFn:function(t,e,r){j.xaxes=[O.xaxis],j.yaxes=[O.yaxis];var i=R._fullLayout.dragmode;t.shiftKey&amp;&amp;(i=&quot;pan&quot;===i?&quot;zoom&quot;:&quot;pan&quot;),j.minDrag=&quot;lasso&quot;===i?1:void 0,&quot;zoom&quot;===i?(j.moveFn=n,j.doneFn=a,function(t,e,r){var n=F.getBoundingClientRect();m=e-n.left,y=r-n.top,_={a:O.aaxis.range[0],b:O.baxis.range[1],c:O.caxis.range[1]},L=_,M=O.aaxis.range[1]-_.a,C=o(O.graphDiv._fullLayout[O.id].bgcolor).getLuminance(),z=&quot;M0,&quot;+O.h+&quot;L&quot;+O.w/2+&quot;, 0L&quot;+O.w+&quot;,&quot;+O.h+&quot;Z&quot;,D=!1,I=N.append(&quot;path&quot;).attr(&quot;class&quot;,&quot;zoombox&quot;).attr(&quot;transform&quot;,&quot;translate(&quot;+O.x0+&quot;, &quot;+O.y0+&quot;)&quot;).style({fill:C&gt;.2?&quot;rgba(0,0,0,0)&quot;:&quot;rgba(255,255,255,0)&quot;,&quot;stroke-width&quot;:0}).attr(&quot;d&quot;,z),P=N.append(&quot;path&quot;).attr(&quot;class&quot;,&quot;zoombox-corners&quot;).attr(&quot;transform&quot;,&quot;translate(&quot;+O.x0+&quot;, &quot;+O.y0+&quot;)&quot;).style({fill:u.background,stroke:u.defaultLine,&quot;stroke-width&quot;:1,opacity:0}).attr(&quot;d&quot;,&quot;M0,0Z&quot;),p()}(0,e,r)):&quot;pan&quot;===i?(j.moveFn=h,j.doneFn=d,_={a:O.aaxis.range[0],b:O.baxis.range[1],c:O.caxis.range[1]},L=_,p()):&quot;select&quot;!==i&amp;&amp;&quot;lasso&quot;!==i||x(t,e,r,j,i)},clickFn:function(t,e){if(i(R),2===t){var r={};r[O.id+&quot;.aaxis.min&quot;]=0,r[O.id+&quot;.baxis.min&quot;]=0,r[O.id+&quot;.caxis.min&quot;]=0,R.emit(&quot;plotly_doubleclick&quot;,null),s.relayout(R,r)}v.click(R,e,O.id)}};F.onmousemove=function(t){v.hover(R,t,O.id),R._fullLayout._lasthover=F,R._fullLayout._hoversubplot=O.id},F.onmouseout=function(t){R._dragging||g.unhover(R,t)},g.init(j)}},{&quot;../../components/color&quot;:618,&quot;../../components/dragelement&quot;:640,&quot;../../components/drawing&quot;:643,&quot;../../components/fx&quot;:660,&quot;../../components/titles&quot;:709,&quot;../../lib&quot;:743,&quot;../../lib/extend&quot;:732,&quot;../../plotly&quot;:784,&quot;../cartesian/axes&quot;:789,&quot;../cartesian/constants&quot;:794,&quot;../cartesian/select&quot;:807,&quot;../cartesian/set_convert&quot;:808,&quot;../plots&quot;:852,d3:128,tinycolor2:546}],873:[function(t,e,r){&quot;use strict&quot;;function n(t){if(t.layoutAttributes){var e=t.layoutAttributes._arrayAttrRegexps;if(e)for(var n=0;n&lt;e.length;n++)u(r.layoutArrayRegexes,e[n])}}function i(t,e){var n=r.componentsRegistry[t].schema;if(n&amp;&amp;n.traces){var i=n.traces[e];i&amp;&amp;d(r.modules[e]._module.attributes,i)}}function a(t,e){var n=r.componentsRegistry[t].schema;if(n&amp;&amp;n.transforms){var i=n.transforms[e];i&amp;&amp;d(r.transformsRegistry[e].attributes,i)}}function o(t,e){var n=r.componentsRegistry[t].schema;if(n&amp;&amp;n.subplots){var i=r.subplotsRegistry[e],a=i.layoutAttributes,o=&quot;subplot&quot;===i.attr?i.name:i.attr;Array.isArray(o)&amp;&amp;(o=o[0]);var s=n.subplots[o];a&amp;&amp;s&amp;&amp;d(a,s)}}function s(t){return&quot;object&quot;==typeof t&amp;&amp;(t=t.type),t}var l=t(&quot;./lib/loggers&quot;),c=t(&quot;./lib/noop&quot;),u=t(&quot;./lib/push_unique&quot;),f=t(&quot;./lib/extend&quot;),h=f.extendFlat,d=f.extendDeepAll,p=t(&quot;./plots/attributes&quot;),m=t(&quot;./plots/layout_attributes&quot;);r.modules={},r.allCategories={},r.allTypes=[],r.subplotsRegistry={},r.transformsRegistry={},r.componentsRegistry={},r.layoutArrayContainers=[],r.layoutArrayRegexes=[],r.traceLayoutAttributes={},r.localeRegistry={},r.register=function(t,e,n,a){if(r.modules[e])l.log(&quot;Type &quot;+e+&quot; already registered&quot;);else{for(var o={},s=0;s&lt;n.length;s++)o[n[s]]=!0,r.allCategories[n[s]]=!0;r.modules[e]={_module:t,categories:o},a&amp;&amp;Object.keys(a).length&amp;&amp;(r.modules[e].meta=a),r.allTypes.push(e);for(var c in r.componentsRegistry)i(c,e);t.layoutAttributes&amp;&amp;h(r.traceLayoutAttributes,t.layoutAttributes)}},r.registerSubplot=function(t){var e=t.name;if(r.subplotsRegistry[e])l.log(&quot;Plot type &quot;+e+&quot; already registered.&quot;);else{n(t),r.subplotsRegistry[e]=t;for(var i in r.componentsRegistry)o(i,t.name)}},r.registerComponent=function(t){var e=t.name;r.componentsRegistry[e]=t,t.layoutAttributes&amp;&amp;(t.layoutAttributes._isLinkedToArray&amp;&amp;u(r.layoutArrayContainers,e),n(t));for(var s in r.modules)i(e,s);for(var l in r.subplotsRegistry)o(e,l);for(var c in r.transformsRegistry)a(e,c);t.schema&amp;&amp;t.schema.layout&amp;&amp;d(m,t.schema.layout)},r.registerTransform=function(t){r.transformsRegistry[t.name]=t;for(var e in r.componentsRegistry)a(e,t.name)},r.getModule=function(t){var e=r.modules[s(t)];return!!e&amp;&amp;e._module},r.traceIs=function(t,e){if(&quot;various&quot;===(t=s(t)))return!1;var n=r.modules[t];return n||(t&amp;&amp;&quot;area&quot;!==t&amp;&amp;l.log(&quot;Unrecognized trace type &quot;+t+&quot;.&quot;),n=r.modules[p.type.dflt]),!!n.categories[e]},r.getTransformIndices=function(t,e){for(var r=[],n=t.transforms||[],i=0;i&lt;n.length;i++)n[i].type===e&amp;&amp;r.push(i);return r},r.hasTransform=function(t,e){for(var r=t.transforms||[],n=0;n&lt;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]||c:c},r.registerLocale=function(t){var e=t.name,n=e.split(&quot;-&quot;)[0],i=t.dictionary,a=t.format,o=i&amp;&amp;Object.keys(i).length,s=a&amp;&amp;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&amp;&amp;u.dictionary===c.dictionary&amp;&amp;(u.dictionary=i),s&amp;&amp;u.format===c.format&amp;&amp;(u.format=a)}o&amp;&amp;(c.dictionary=i),s&amp;&amp;(c.format=a)}},{&quot;./lib/extend&quot;:732,&quot;./lib/loggers&quot;:748,&quot;./lib/noop&quot;:752,&quot;./lib/push_unique&quot;:756,&quot;./plots/attributes&quot;:787,&quot;./plots/layout_attributes&quot;:843}],874:[function(t,e,r){&quot;use strict&quot;;function n(t){var e;switch(t){case&quot;themes__thumb&quot;:e={autosize:!0,width:150,height:150,title:&quot;&quot;,showlegend:!1,margin:{l:5,r:5,t:5,b:5,pad:0},annotations:[]};break;case&quot;thumbnail&quot;:e={title:&quot;&quot;,hidesources:!0,showlegend:!1,borderwidth:0,bordercolor:&quot;&quot;,margin:{l:1,r:1,t:1,b:1,pad:0},annotations:[]};break;default:e={}}return e}function i(t){return[&quot;xaxis&quot;,&quot;yaxis&quot;,&quot;zaxis&quot;].indexOf(t.slice(0,5))&gt;-1}var a=t(&quot;../lib&quot;),o=a.extendFlat,s=a.extendDeep;e.exports=function(t,e){t.framework&amp;&amp;t.framework.isPolar&amp;&amp;(t=t.framework.getConfig());var r,a=t.data,l=t.layout,c=s([],a),u=s({},l,n(e.tileClass)),f=t._context||{};if(e.width&amp;&amp;(u.width=e.width),e.height&amp;&amp;(u.height=e.height),&quot;thumbnail&quot;===e.tileClass||&quot;themes__thumb&quot;===e.tileClass){u.annotations=[];var h=Object.keys(u);for(r=0;r&lt;h.length;r++)i(h[r])&amp;&amp;(u[h[r]].title=&quot;&quot;);for(r=0;r&lt;c.length;r++){var d=c[r];d.showscale=!1,d.marker&amp;&amp;(d.marker.showscale=!1),&quot;pie&quot;===d.type&amp;&amp;(d.textposition=&quot;none&quot;)}}if(Array.isArray(e.annotations))for(r=0;r&lt;e.annotations.length;r++)u.annotations.push(e.annotations[r]);var p=Object.keys(u).filter(function(t){return t.match(/^scene\d*$/)});if(p.length){var m={};for(&quot;thumbnail&quot;===e.tileClass&amp;&amp;(m={title:&quot;&quot;,showaxeslabels:!1,showticklabels:!1,linetickenable:!1}),r=0;r&lt;p.length;r++){var g=u[p[r]];g.xaxis||(g.xaxis={}),g.yaxis||(g.yaxis={}),g.zaxis||(g.zaxis={}),o(g.xaxis,m),o(g.yaxis,m),o(g.zaxis,m),g._scene=null}}var v=document.createElement(&quot;div&quot;);e.tileClass&amp;&amp;(v.className=e.tileClass);var y={gd:v,td:v,layout:u,data:c,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:f.mapboxAccessToken}};return&quot;transparent&quot;!==e.setBackground&amp;&amp;(y.config.setBackground=e.setBackground||&quot;opaque&quot;),y.gd.defaultLayout=n(e.tileClass),y}},{&quot;../lib&quot;:743}],875:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../plot_api/to_image&quot;),i=t(&quot;../lib&quot;),a=t(&quot;./filesaver&quot;);e.exports=function(t,e){return e=e||{},e.format=e.format||&quot;png&quot;,new Promise(function(r,o){t._snapshotInProgress&amp;&amp;o(new Error(&quot;Snapshotting already in progress.&quot;)),i.isIE()&amp;&amp;&quot;svg&quot;!==e.format&amp;&amp;o(new Error(&quot;Sorry IE does not support downloading from canvas. Try {format:'svg'} instead.&quot;)),t._snapshotInProgress=!0;var s=n(t,e),l=e.filename||t.fn||&quot;newplot&quot;;l+=&quot;.&quot;+e.format,s.then(function(e){return t._snapshotInProgress=!1,a(e,l)}).then(function(t){r(t)}).catch(function(e){t._snapshotInProgress=!1,o(e)})})}},{&quot;../lib&quot;:743,&quot;../plot_api/to_image&quot;:782,&quot;./filesaver&quot;:876}],876:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t,e){var r=document.createElement(&quot;a&quot;),n=&quot;download&quot;in r,i=/Version\/[\d\.]+.*Safari/.test(navigator.userAgent);return new Promise(function(a,o){if(&quot;undefined&quot;!=typeof navigator&amp;&amp;/MSIE [1-9]\./.test(navigator.userAgent)&amp;&amp;o(new Error(&quot;IE &lt; 10 unsupported&quot;)),i&amp;&amp;(document.location.href=&quot;data:application/octet-stream&quot;+t.slice(t.search(/[,;]/)),a(e)),e||(e=&quot;download&quot;),n&amp;&amp;(r.href=t,r.download=e,document.body.appendChild(r),r.click(),document.body.removeChild(r),a(e)),&quot;undefined&quot;!=typeof navigator&amp;&amp;navigator.msSaveBlob){var s=t.split(/^data:image\/svg\+xml,/)[1],l=decodeURIComponent(s);navigator.msSaveBlob(new Blob([l]),e),a(e)}o(new Error(&quot;download error&quot;))})}},{}],877:[function(t,e,r){&quot;use strict&quot;;r.getDelay=function(t){return t._has&amp;&amp;(t._has(&quot;gl3d&quot;)||t._has(&quot;gl2d&quot;))?500:0},r.getRedrawFunc=function(t){var e=t._fullLayout||{};if(!(!(e._has&amp;&amp;e._has(&quot;polar&quot;))&amp;&amp;t.data&amp;&amp;t.data[0]&amp;&amp;t.data[0].r))return function(){(t.calcdata||[]).forEach(function(t){t[0]&amp;&amp;t[0].t&amp;&amp;t[0].t.cb&amp;&amp;t[0].t.cb()})}}},{}],878:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;./helpers&quot;),i={getDelay:n.getDelay,getRedrawFunc:n.getRedrawFunc,clone:t(&quot;./cloneplot&quot;),toSVG:t(&quot;./tosvg&quot;),svgToImg:t(&quot;./svgtoimg&quot;),toImage:t(&quot;./toimage&quot;),downloadImage:t(&quot;./download&quot;)};e.exports=i},{&quot;./cloneplot&quot;:874,&quot;./download&quot;:875,&quot;./helpers&quot;:877,&quot;./svgtoimg&quot;:879,&quot;./toimage&quot;:880,&quot;./tosvg&quot;:881}],879:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../lib&quot;),i=t(&quot;events&quot;).EventEmitter;e.exports=function(t){var e=t.emitter||new i,r=new Promise(function(i,a){var o=window.Image,s=t.svg,l=t.format||&quot;png&quot;;if(n.isIE()&amp;&amp;&quot;svg&quot;!==l){var c=new Error(&quot;Sorry IE does not support downloading from canvas. Try {format:'svg'} instead.&quot;);return a(c),t.promise?r:e.emit(&quot;error&quot;,c)}var u=t.canvas,f=t.scale||1,h=f*(t.width||300),d=f*(t.height||150),p=u.getContext(&quot;2d&quot;),m=new o,g=&quot;data:image/svg+xml,&quot;+encodeURIComponent(s);u.width=h,u.height=d,m.onload=function(){var r;switch(&quot;svg&quot;!==l&amp;&amp;p.drawImage(m,0,0,h,d),l){case&quot;jpeg&quot;:r=u.toDataURL(&quot;image/jpeg&quot;);break;case&quot;png&quot;:r=u.toDataURL(&quot;image/png&quot;);break;case&quot;webp&quot;:r=u.toDataURL(&quot;image/webp&quot;);break;case&quot;svg&quot;:r=g;break;default:var n=&quot;Image format is not jpeg, png, svg or webp.&quot;;if(a(new Error(n)),!t.promise)return e.emit(&quot;error&quot;,n)}i(r),t.promise||e.emit(&quot;success&quot;,r)},m.onerror=function(r){if(a(r),!t.promise)return e.emit(&quot;error&quot;,r)},m.src=g});return t.promise?r:e}},{&quot;../lib&quot;:743,events:138}],880:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;events&quot;).EventEmitter,i=t(&quot;../plotly&quot;),a=t(&quot;../lib&quot;),o=t(&quot;./helpers&quot;),s=t(&quot;./cloneplot&quot;),l=t(&quot;./tosvg&quot;),c=t(&quot;./svgtoimg&quot;);e.exports=function(t,e){var r=new n,u=s(t,{format:&quot;png&quot;}),f=u.gd;f.style.position=&quot;absolute&quot;,f.style.left=&quot;-5000px&quot;,document.body.appendChild(f);var h=o.getRedrawFunc(f);return i.plot(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(&quot;canvas&quot;);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&amp;&amp;document.body.removeChild(f)}},t)}).catch(function(t){r.emit(&quot;error&quot;,t)}),r}},{&quot;../lib&quot;:743,&quot;../plotly&quot;:784,&quot;./cloneplot&quot;:874,&quot;./helpers&quot;:877,&quot;./svgtoimg&quot;:879,&quot;./tosvg&quot;:881,events:138}],881:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;d3&quot;),i=t(&quot;../lib&quot;),a=t(&quot;../components/drawing&quot;),o=t(&quot;../components/color&quot;),s=t(&quot;../constants/xmlns_namespaces&quot;),l=/&quot;/g,c=&quot;TOBESTRIPPED&quot;,u=new RegExp('(&quot;'+c+&quot;)|(&quot;+c+'&quot;)',&quot;g&quot;);e.exports=function(t,e,r){var f,h=t._fullLayout,d=h._paper,p=h._toppaper,m=h.width,g=h.height;d.insert(&quot;rect&quot;,&quot;:first-child&quot;).call(a.setRect,0,0,m,g).call(o.fill,h.paper_bgcolor);var v=h._basePlotModules||[];for(f=0;f&lt;v.length;f++){var y=v[f];y.toSVG&amp;&amp;y.toSVG(t)}if(p){var x=p.node().childNodes,b=Array.prototype.slice.call(x);for(f=0;f&lt;b.length;f++){var _=b[f];_.childNodes.length&amp;&amp;d.node().appendChild(_)}}h._draggers&amp;&amp;h._draggers.remove(),d.node().style.background=&quot;&quot;,d.selectAll(&quot;text&quot;).attr({&quot;data-unformatted&quot;:null,&quot;data-math&quot;:null}).each(function(){var t=n.select(this);if(&quot;hidden&quot;!==this.style.visibility&amp;&amp;&quot;none&quot;!==this.style.display){t.style({visibility:null,display:null});var e=this.style.fontFamily;e&amp;&amp;-1!==e.indexOf('&quot;')&amp;&amp;t.style(&quot;font-family&quot;,e.replace(l,c))}else t.remove()}),d.selectAll(&quot;.point,.scatterpts&quot;).each(function(){var t=n.select(this),e=this.style.fill;e&amp;&amp;-1!==e.indexOf(&quot;url(&quot;)&amp;&amp;t.style(&quot;fill&quot;,e.replace(l,c))}),&quot;pdf&quot;!==e&amp;&amp;&quot;eps&quot;!==e||d.selectAll(&quot;#MathJax_SVG_glyphs path&quot;).attr(&quot;stroke-width&quot;,0),d.node().setAttributeNS(s.xmlns,&quot;xmlns&quot;,s.svg),d.node().setAttributeNS(s.xmlns,&quot;xmlns:xlink&quot;,s.xlink),&quot;svg&quot;===e&amp;&amp;r&amp;&amp;(d.attr(&quot;width&quot;,r*m),d.attr(&quot;height&quot;,r*g),d.attr(&quot;viewBox&quot;,&quot;0 0 &quot;+m+&quot; &quot;+g));var w=(new window.XMLSerializer).serializeToString(d.node());return w=function(t){var e=n.select(&quot;body&quot;).append(&quot;div&quot;).style({display:&quot;none&quot;}).html(&quot;&quot;),r=t.replace(/(&amp;[^;]*;)/gi,function(t){return&quot;&amp;lt;&quot;===t?&quot;&amp;#60;&quot;:&quot;&amp;rt;&quot;===t?&quot;&amp;#62;&quot;:-1!==t.indexOf(&quot;&lt;&quot;)||-1!==t.indexOf(&quot;&gt;&quot;)?&quot;&quot;:e.html(t).text()});return e.remove(),r}(w),w=function(t){return t.replace(/&amp;(?!\w+;|\#[0-9]+;| \#x[0-9A-F]+;)/g,&quot;&amp;amp;&quot;)}(w),w=w.replace(u,&quot;'&quot;),i.isIE()&amp;&amp;(w=(w=(w=w.replace(/&quot;/gi,&quot;'&quot;)).replace(/(\('#)([^']*)('\))/gi,'(&quot;#$2&quot;)')).replace(/(\\')/gi,'&quot;')),w}},{&quot;../components/color&quot;:618,&quot;../components/drawing&quot;:643,&quot;../constants/xmlns_namespaces&quot;:723,&quot;../lib&quot;:743,d3:128}],882:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib&quot;).mergeArray;e.exports=function(t,e){for(var r=0;r&lt;t.length;r++)t[r].i=r;n(e.text,t,&quot;tx&quot;),n(e.hovertext,t,&quot;htx&quot;);var i=e.marker;if(i){n(i.opacity,t,&quot;mo&quot;),n(i.color,t,&quot;mc&quot;);var a=i.line;a&amp;&amp;(n(a.color,t,&quot;mlc&quot;),n(a.width,t,&quot;mlw&quot;))}}},{&quot;../../lib&quot;:743}],883:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../scatter/attributes&quot;),i=t(&quot;../../components/colorscale/color_attributes&quot;),a=t(&quot;../../components/errorbars/attributes&quot;),o=t(&quot;../../components/colorbar/attributes&quot;),s=t(&quot;../../plots/font_attributes&quot;),l=t(&quot;../../lib/extend&quot;).extendFlat,c=s({editType:&quot;calc&quot;,arrayOk:!0}),u=n.marker,f=l({line:l({width:l({},u.line.width,{dflt:0}),editType:&quot;calc&quot;},i(&quot;marker.line&quot;)),editType:&quot;calc&quot;},i(&quot;marker&quot;),{showscale:u.showscale,colorbar:o,opacity:{valType:&quot;number&quot;,arrayOk:!0,dflt:1,min:0,max:1,editType:&quot;style&quot;}});e.exports={x:n.x,x0:n.x0,dx:n.dx,y:n.y,y0:n.y0,dy:n.dy,text:n.text,hovertext:n.hovertext,textposition:{valType:&quot;enumerated&quot;,values:[&quot;inside&quot;,&quot;outside&quot;,&quot;auto&quot;,&quot;none&quot;],dflt:&quot;none&quot;,arrayOk:!0,editType:&quot;calc&quot;},textfont:l({},c,{}),insidetextfont:l({},c,{}),outsidetextfont:l({},c,{}),constraintext:{valType:&quot;enumerated&quot;,values:[&quot;inside&quot;,&quot;outside&quot;,&quot;both&quot;,&quot;none&quot;],dflt:&quot;both&quot;,editType:&quot;calc&quot;},orientation:{valType:&quot;enumerated&quot;,values:[&quot;v&quot;,&quot;h&quot;],editType:&quot;calc+clearAxisTypes&quot;},base:{valType:&quot;any&quot;,dflt:null,arrayOk:!0,editType:&quot;calc&quot;},offset:{valType:&quot;number&quot;,dflt:null,arrayOk:!0,editType:&quot;calc&quot;},width:{valType:&quot;number&quot;,dflt:null,min:0,arrayOk:!0,editType:&quot;calc&quot;},marker:f,selected:{marker:{opacity:n.selected.marker.opacity,color:n.selected.marker.color,editType:&quot;style&quot;},textfont:n.selected.textfont,editType:&quot;style&quot;},unselected:{marker:{opacity:n.unselected.marker.opacity,color:n.unselected.marker.color,editType:&quot;style&quot;},textfont:n.unselected.textfont,editType:&quot;style&quot;},r:n.r,t:n.t,error_y:a,error_x:a,_deprecated:{bardir:{valType:&quot;enumerated&quot;,editType:&quot;calc&quot;,values:[&quot;v&quot;,&quot;h&quot;]}}}},{&quot;../../components/colorbar/attributes&quot;:619,&quot;../../components/colorscale/color_attributes&quot;:626,&quot;../../components/errorbars/attributes&quot;:645,&quot;../../lib/extend&quot;:732,&quot;../../plots/font_attributes&quot;:816,&quot;../scatter/attributes&quot;:1066}],884:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;fast-isnumeric&quot;),i=t(&quot;../../plots/cartesian/axes&quot;),a=t(&quot;../../components/colorscale/has_colorscale&quot;),o=t(&quot;../../components/colorscale/calc&quot;),s=t(&quot;./arrays_to_calcdata&quot;),l=t(&quot;../scatter/calc_selection&quot;);e.exports=function(t,e){var r,c,u,f,h,d=i.getFromId(t,e.xaxis||&quot;x&quot;),p=i.getFromId(t,e.yaxis||&quot;y&quot;);&quot;h&quot;===(e.orientation||(e.x&amp;&amp;!e.y?&quot;h&quot;:&quot;v&quot;))?(r=d,u=d.makeCalcdata(e,&quot;x&quot;),c=p.makeCalcdata(e,&quot;y&quot;),h=e.xcalendar):(r=p,u=p.makeCalcdata(e,&quot;y&quot;),c=d.makeCalcdata(e,&quot;x&quot;),h=e.ycalendar);var m=Math.min(c.length,u.length),g=new Array(m);for(f=0;f&lt;m;f++)g[f]={p:c[f],s:u[f]},e.ids&amp;&amp;(g[f].id=String(e.ids[f]));var v,y=e.base;if(Array.isArray(y)){for(f=0;f&lt;Math.min(y.length,g.length);f++)v=r.d2c(y[f],0,h),n(v)?(g[f].b=+v,g[f].hasB=1):g[f].b=0;for(;f&lt;g.length;f++)g[f].b=0}else{v=r.d2c(y,0,h);var x=n(v);for(v=x?v:0,f=0;f&lt;g.length;f++)g[f].b=v,x&amp;&amp;(g[f].hasB=1)}return a(e,&quot;marker&quot;)&amp;&amp;o(e,e.marker.color,&quot;marker&quot;,&quot;c&quot;),a(e,&quot;marker.line&quot;)&amp;&amp;o(e,e.marker.line.color,&quot;marker.line&quot;,&quot;c&quot;),s(g,e),l(g,e),g}},{&quot;../../components/colorscale/calc&quot;:625,&quot;../../components/colorscale/has_colorscale&quot;:632,&quot;../../plots/cartesian/axes&quot;:789,&quot;../scatter/calc_selection&quot;:1068,&quot;./arrays_to_calcdata&quot;:882,&quot;fast-isnumeric&quot;:140}],885:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib&quot;),i=t(&quot;../../components/color&quot;),a=t(&quot;../scatter/xy_defaults&quot;),o=t(&quot;../bar/style_defaults&quot;),s=t(&quot;../../components/errorbars/defaults&quot;),l=t(&quot;./attributes&quot;);e.exports=function(t,e,r,c){function u(r,i){return n.coerce(t,e,l,r,i)}var f=n.coerceFont;if(a(t,e,c,u)){u(&quot;orientation&quot;,e.x&amp;&amp;!e.y?&quot;h&quot;:&quot;v&quot;),u(&quot;base&quot;),u(&quot;offset&quot;),u(&quot;width&quot;),u(&quot;text&quot;),u(&quot;hovertext&quot;);var h=u(&quot;textposition&quot;),d=Array.isArray(h)||&quot;auto&quot;===h,p=d||&quot;inside&quot;===h,m=d||&quot;outside&quot;===h;if(p||m){var g=f(u,&quot;textfont&quot;,c.font);p&amp;&amp;f(u,&quot;insidetextfont&quot;,g),m&amp;&amp;f(u,&quot;outsidetextfont&quot;,g),u(&quot;constraintext&quot;),u(&quot;selected.textfont.color&quot;),u(&quot;unselected.textfont.color&quot;)}o(t,e,u,r,c),s(t,e,i.defaultLine,{axis:&quot;y&quot;}),s(t,e,i.defaultLine,{axis:&quot;x&quot;,inherit:&quot;y&quot;}),n.coerceSelectionMarkerOpacity(e,u)}else e.visible=!1}},{&quot;../../components/color&quot;:618,&quot;../../components/errorbars/defaults&quot;:648,&quot;../../lib&quot;:743,&quot;../bar/style_defaults&quot;:895,&quot;../scatter/xy_defaults&quot;:1090,&quot;./attributes&quot;:883}],886:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../components/fx&quot;),i=t(&quot;../../components/errorbars&quot;),a=t(&quot;../../components/color&quot;),o=t(&quot;../scatter/fill_hover_text&quot;);e.exports=function(t,e,r,s){function l(t){return t[p]-t.w/2}function c(t){return t[p]+t.w/2}function u(t){return n.inbox(w(t)-h,M(t)-h)}function f(t){return n.inbox(t.b-d,t[m]-d)+(t[m]-d)/(t[m]-t.b)}var h,d,p,m,g,v,y=t.cd,x=y[0].trace,b=y[0].t,_=&quot;closest&quot;===s,w=_?l:function(t){return Math.min(l(t),t.p-b.bardelta/2)},M=_?c:function(t){return Math.max(c(t),t.p+b.bardelta/2)};&quot;h&quot;===x.orientation?(h=r,d=e,p=&quot;y&quot;,m=&quot;x&quot;,g=f,v=u):(h=e,d=r,p=&quot;x&quot;,m=&quot;y&quot;,v=f,g=u);var k=t[p+&quot;a&quot;],A=t[m+&quot;a&quot;],T=n.getDistanceFunction(s,g,v);if(n.getClosest(y,T,t),!1!==t.index){_||(w=function(t){return Math.min(l(t),t.p-b.bargroupwidth/2)},M=function(t){return Math.max(c(t),t.p+b.bargroupwidth/2)});var S=y[t.index],E=S.mcc||x.marker.color,L=S.mlcc||x.marker.line.color,C=S.mlw||x.marker.line.width;a.opacity(E)?t.color=E:a.opacity(L)&amp;&amp;C&amp;&amp;(t.color=L);var z=x.base?S.b+S.s:S.s;return t[m+&quot;0&quot;]=t[m+&quot;1&quot;]=A.c2p(S[m],!0),t[m+&quot;LabelVal&quot;]=z,t[p+&quot;0&quot;]=k.c2p(w(S),!0),t[p+&quot;1&quot;]=k.c2p(M(S),!0),t[p+&quot;LabelVal&quot;]=S.p,o(S,x,t),i.hoverInfo(S,x,t),[t]}}},{&quot;../../components/color&quot;:618,&quot;../../components/errorbars&quot;:649,&quot;../../components/fx&quot;:660,&quot;../scatter/fill_hover_text&quot;:1074}],887:[function(t,e,r){&quot;use strict&quot;;var n={};n.attributes=t(&quot;./attributes&quot;),n.layoutAttributes=t(&quot;./layout_attributes&quot;),n.supplyDefaults=t(&quot;./defaults&quot;),n.supplyLayoutDefaults=t(&quot;./layout_defaults&quot;),n.calc=t(&quot;./calc&quot;),n.setPositions=t(&quot;./set_positions&quot;),n.colorbar=t(&quot;../scatter/colorbar&quot;),n.arraysToCalcdata=t(&quot;./arrays_to_calcdata&quot;),n.plot=t(&quot;./plot&quot;),n.style=t(&quot;./style&quot;),n.hoverPoints=t(&quot;./hover&quot;),n.selectPoints=t(&quot;./select&quot;),n.moduleType=&quot;trace&quot;,n.name=&quot;bar&quot;,n.basePlotModule=t(&quot;../../plots/cartesian&quot;),n.categories=[&quot;cartesian&quot;,&quot;bar&quot;,&quot;oriented&quot;,&quot;markerColorscale&quot;,&quot;errorBarsOK&quot;,&quot;showLegend&quot;],n.meta={},e.exports=n},{&quot;../../plots/cartesian&quot;:800,&quot;../scatter/colorbar&quot;:1070,&quot;./arrays_to_calcdata&quot;:882,&quot;./attributes&quot;:883,&quot;./calc&quot;:884,&quot;./defaults&quot;:885,&quot;./hover&quot;:886,&quot;./layout_attributes&quot;:888,&quot;./layout_defaults&quot;:889,&quot;./plot&quot;:890,&quot;./select&quot;:891,&quot;./set_positions&quot;:892,&quot;./style&quot;:894}],888:[function(t,e,r){&quot;use strict&quot;;e.exports={barmode:{valType:&quot;enumerated&quot;,values:[&quot;stack&quot;,&quot;group&quot;,&quot;overlay&quot;,&quot;relative&quot;],dflt:&quot;group&quot;,editType:&quot;calc&quot;},barnorm:{valType:&quot;enumerated&quot;,values:[&quot;&quot;,&quot;fraction&quot;,&quot;percent&quot;],dflt:&quot;&quot;,editType:&quot;calc&quot;},bargap:{valType:&quot;number&quot;,min:0,max:1,editType:&quot;calc&quot;},bargroupgap:{valType:&quot;number&quot;,min:0,max:1,dflt:0,editType:&quot;calc&quot;}}},{}],889:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../registry&quot;),i=t(&quot;../../plots/cartesian/axes&quot;),a=t(&quot;../../lib&quot;),o=t(&quot;./layout_attributes&quot;);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=0;h&lt;r.length;h++){var d=r[h];if(n.traceIs(d,&quot;bar&quot;)){if(l=!0,&quot;overlay&quot;!==t.barmode&amp;&amp;&quot;stack&quot;!==t.barmode){var p=d.xaxis+d.yaxis;f[p]&amp;&amp;(u=!0),f[p]=!0}if(d.visible&amp;&amp;&quot;histogram&quot;===d.type){&quot;category&quot;!==i.getFromId({_fullLayout:e},d[&quot;v&quot;===d.orientation?&quot;xaxis&quot;:&quot;yaxis&quot;]).type&amp;&amp;(c=!0)}}}if(l){&quot;overlay&quot;!==s(&quot;barmode&quot;)&amp;&amp;s(&quot;barnorm&quot;),s(&quot;bargap&quot;,c&amp;&amp;!u?0:.2),s(&quot;bargroupgap&quot;)}}},{&quot;../../lib&quot;:743,&quot;../../plots/cartesian/axes&quot;:789,&quot;../../registry&quot;:873,&quot;./layout_attributes&quot;:888}],890:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,n,l,c,u,f){function d(e,r,n){return e.append(&quot;text&quot;).text(r).attr({class:&quot;bartext bartext-&quot;+m,transform:&quot;&quot;,&quot;text-anchor&quot;:&quot;middle&quot;,&quot;data-notex&quot;:1}).call(p.font,n).call(h.convertToTspans,t)}var m,g=r[0].trace,M=g.orientation,k=function(t,e){var r=o(t.text,e);return s(v,r)}(g,n);if(k&amp;&amp;&quot;none&quot;!==(m=function(t,e){var r=o(t.textposition,e);return function(t,e,r){t.coerceNumber&amp;&amp;(e=+e);return-1!==t.values.indexOf(e)?e:void 0!==r?r:t.dflt}(y,r)}(g,n))){var A,T,S,E,L=function(t,e,r){return a(x,t.textfont,e,r)}(g,n,t._fullLayout.font),C=function(t,e,r){return a(b,t.insidetextfont,e,r)}(g,n,L),z=function(t,e,r){return a(_,t.outsidetextfont,e,r)}(g,n,L),D=t._fullLayout.barmode,I=&quot;stack&quot;===D||&quot;relative&quot;===D,P=r[n],O=!I||P._outmost,F=Math.abs(c-l)-2*w,R=Math.abs(f-u)-2*w;if(&quot;outside&quot;===m&amp;&amp;(O||(m=&quot;inside&quot;)),&quot;auto&quot;===m)if(O){m=&quot;inside&quot;,A=d(e,k,C),S=(T=p.bBox(A.node())).width,E=T.height;S&gt;0&amp;&amp;E&gt;0&amp;&amp;(S&lt;=F&amp;&amp;E&lt;=R||S&lt;=R&amp;&amp;E&lt;=F||(&quot;h&quot;===M?F&gt;=S*(R/E):R&gt;=E*(F/S)))?m=&quot;inside&quot;:(m=&quot;outside&quot;,A.remove(),A=null)}else m=&quot;inside&quot;;if(!A&amp;&amp;(A=d(e,k,&quot;outside&quot;===m?z:C),T=p.bBox(A.node()),S=T.width,E=T.height,S&lt;=0||E&lt;=0))A.remove();else{var N;N=&quot;outside&quot;===m?function(t,e,r,n,a,o,s){var l,c=&quot;h&quot;===o?Math.abs(n-r):Math.abs(e-t);c&gt;2*w&amp;&amp;(l=w);var u=1;s&amp;&amp;(u=&quot;h&quot;===o?Math.min(1,c/a.height):Math.min(1,c/a.width));var f,h,d,p,m=(a.left+a.right)/2,g=(a.top+a.bottom)/2;f=u*a.width,h=u*a.height,&quot;h&quot;===o?e&lt;t?(d=e-l-f/2,p=(r+n)/2):(d=e+l+f/2,p=(r+n)/2):n&gt;r?(d=(t+e)/2,p=n+l+h/2):(d=(t+e)/2,p=n-l-h/2);return i(m,g,d,p,u,!1)}(l,c,u,f,T,M,&quot;both&quot;===g.constraintext||&quot;outside&quot;===g.constraintext):function(t,e,r,n,a,o,s){var l,c,u,f,h,d=a.width,p=a.height,m=(a.left+a.right)/2,g=(a.top+a.bottom)/2,v=Math.abs(e-t),y=Math.abs(n-r);v&gt;2*w&amp;&amp;y&gt;2*w?(v-=2*(h=w),y-=2*h):h=0;var x,b;d&lt;=v&amp;&amp;p&lt;=y?(x=!1,b=1):d&lt;=y&amp;&amp;p&lt;=v?(x=!0,b=1):d&lt;p==v&lt;y?(x=!1,b=s?Math.min(v/d,y/p):1):(x=!0,b=s?Math.min(y/d,v/p):1);x&amp;&amp;(x=90);x?(l=b*p,c=b*d):(l=b*d,c=b*p);&quot;h&quot;===o?e&lt;t?(u=e+h+l/2,f=(r+n)/2):(u=e-h-l/2,f=(r+n)/2):n&gt;r?(u=(t+e)/2,f=n-h-c/2):(u=(t+e)/2,f=n+h+c/2);return i(m,g,u,f,b,x)}(l,c,u,f,T,M,&quot;both&quot;===g.constraintext||&quot;inside&quot;===g.constraintext),A.attr(&quot;transform&quot;,N)}}}function i(t,e,r,n,i,a){var o;i&lt;1?o=&quot;scale(&quot;+i+&quot;) &quot;:(i=1,o=&quot;&quot;);return&quot;translate(&quot;+(r-i*t)+&quot; &quot;+(n-i*e)+&quot;)&quot;+o+(a?&quot;rotate(&quot;+a+&quot; &quot;+t+&quot; &quot;+e+&quot;) &quot;:&quot;&quot;)}function a(t,e,r,n){var i=o((e=e||{}).family,r),a=o(e.size,r),l=o(e.color,r);return{family:s(t.family,i,n.family),size:function(t,e,r){if(c(e)){e=+e;var n=t.min,i=t.max,a=void 0!==n&amp;&amp;e&lt;n||void 0!==i&amp;&amp;e&gt;i;if(!a)return e}return void 0!==r?r:t.dflt}(t.size,a,n.size),color:function(t,e,r){return u(e).isValid()?e:void 0!==r?r:t.dflt}(t.color,l,n.color)}}function o(t,e){var r;return Array.isArray(t)?e&lt;t.length&amp;&amp;(r=t[e]):r=t,r}function s(t,e,r){if(&quot;string&quot;==typeof e){if(e||!t.noBlank)return e}else if(&quot;number&quot;==typeof e&amp;&amp;!t.strict)return String(e);return void 0!==r?r:t.dflt}var l=t(&quot;d3&quot;),c=t(&quot;fast-isnumeric&quot;),u=t(&quot;tinycolor2&quot;),f=t(&quot;../../lib&quot;),h=t(&quot;../../lib/svg_text_utils&quot;),d=t(&quot;../../components/color&quot;),p=t(&quot;../../components/drawing&quot;),m=t(&quot;../../components/errorbars&quot;),g=t(&quot;./attributes&quot;),v=g.text,y=g.textposition,x=g.textfont,b=g.insidetextfont,_=g.outsidetextfont,w=3;e.exports=function(t,e,r){var i=e.xaxis,a=e.yaxis,o=t._fullLayout,s=e.plot.select(&quot;.barlayer&quot;).selectAll(&quot;g.trace.bars&quot;).data(r);s.enter().append(&quot;g&quot;).attr(&quot;class&quot;,&quot;trace bars&quot;),s.each(function(t){t[0].node3=l.select(this)}),s.append(&quot;g&quot;).attr(&quot;class&quot;,&quot;points&quot;).each(function(e){var r=l.select(this),s=e[0].t,u=e[0].trace,h=s.poffset,p=Array.isArray(h);r.selectAll(&quot;g.point&quot;).data(f.identity).enter().append(&quot;g&quot;).classed(&quot;point&quot;,!0).each(function(r,s){function f(t){return 0===o.bargap&amp;&amp;0===o.bargroupgap?l.round(Math.round(t)-k,2):t}var m,g,v,y,x=r.p+(p?h[s]:h),b=x+r.w,_=r.b,w=_+r.s;if(&quot;h&quot;===u.orientation?(v=a.c2p(x,!0),y=a.c2p(b,!0),m=i.c2p(_,!0),g=i.c2p(w,!0),r.ct=[g,(v+y)/2]):(m=i.c2p(x,!0),g=i.c2p(b,!0),v=a.c2p(_,!0),y=a.c2p(w,!0),r.ct=[(m+g)/2,y]),c(m)&amp;&amp;c(g)&amp;&amp;c(v)&amp;&amp;c(y)&amp;&amp;m!==g&amp;&amp;v!==y){var M=(r.mlw+1||u.marker.line.width+1||(r.trace?r.trace.marker.line.width:0)+1)-1,k=l.round(M/2%1,2);if(!t._context.staticPlot){var A=d.opacity(r.mc||u.marker.color)&lt;1||M&gt;.01?f:function(t,e){return Math.abs(t-e)&gt;=2?f(t):t&gt;e?Math.ceil(t):Math.floor(t)};g=A(g,m=A(m,g)),y=A(y,v=A(v,y))}var T=l.select(this);T.append(&quot;path&quot;).style(&quot;vector-effect&quot;,&quot;non-scaling-stroke&quot;).attr(&quot;d&quot;,&quot;M&quot;+m+&quot;,&quot;+v+&quot;V&quot;+y+&quot;H&quot;+g+&quot;V&quot;+v+&quot;Z&quot;),n(t,T,e,s,m,g,v,y)}else l.select(this).remove()})}),s.call(m.plot,e)}},{&quot;../../components/color&quot;:618,&quot;../../components/drawing&quot;:643,&quot;../../components/errorbars&quot;:649,&quot;../../lib&quot;:743,&quot;../../lib/svg_text_utils&quot;:766,&quot;./attributes&quot;:883,d3:128,&quot;fast-isnumeric&quot;:140,tinycolor2:546}],891:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t,e){var r,n=t.cd,i=t.xaxis,a=t.yaxis,o=[];if(!1===e)for(r=0;r&lt;n.length;r++)n[r].selected=0;else for(r=0;r&lt;n.length;r++){var s=n[r];e.contains(s.ct)?(o.push({pointNumber:r,x:i.c2d(s.x),y:a.c2d(s.y)}),s.selected=1):s.selected=0}return o}},{}],892:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,n){if(n.length){var g,x,b,_,w=t._fullLayout.barmode,M=&quot;group&quot;===w;if(&quot;overlay&quot;===w)i(t,e,r,n);else if(M){for(g=[],x=[],b=0;b&lt;n.length;b++)void 0===(_=n[b])[0].trace.offset?x.push(_):g.push(_);x.length&amp;&amp;function(t,e,r,n){var i=t._fullLayout.barnorm,a=new y(n,!1,!i);(function(t,e,r){var n,i,a,c,u=t._fullLayout,f=u.bargap,h=u.bargroupgap,d=r.positions,p=r.distinctPositions,m=r.minDiff,g=r.traces,v=d.length!==p.length,y=g.length,x=m*(1-f),b=v?x/y:x,_=b*(1-h);for(n=0;n&lt;y;n++){i=g[n],a=i[0];var w=v?((2*n+1-y)*b-_)/2:-_/2;(c=a.t).barwidth=_,c.poffset=w,c.bargroupwidth=x,c.bardelta=m}r.binWidth=g[0][0].t.barwidth/100,o(r),s(t,e,r),l(t,e,r,v)})(t,e,a),i?(f(t,r,a),h(t,r,a)):u(t,r,a)}(t,e,r,x),g.length&amp;&amp;i(t,e,r,g)}else{for(g=[],x=[],b=0;b&lt;n.length;b++)void 0===(_=n[b])[0].trace.base?x.push(_):g.push(_);x.length&amp;&amp;function(t,e,r,n){var i=t._fullLayout.barmode,o=&quot;stack&quot;===i,s=&quot;relative&quot;===i,l=t._fullLayout.barnorm,u=new y(n,s,!(l||o||s));a(t,e,u),function(t,e,r){var n,i,a,o,s=t._fullLayout.barnorm,l=d(e),u=r.traces,f=[null,null];for(n=0;n&lt;u.length;n++)for(i=u[n],a=0;a&lt;i.length;a++)if((o=i[a]).s!==m){var h=r.put(o.p,o.b+o.s),g=h+o.b+o.s;o.b=h,o[l]=g,s||(p(e.c2l(g))&amp;&amp;c(f,g),o.hasB&amp;&amp;p(e.c2l(h))&amp;&amp;c(f,h))}s||v.expand(e,f,{tozero:!0,padded:!0})}(t,r,u);for(var f=0;f&lt;n.length;f++)for(var g=n[f],x=0;x&lt;g.length;x++){var b=g[x];if(b.s!==m){var _=b.b+b.s===u.get(b.p,b.s);_&amp;&amp;(b._outmost=!0)}}l&amp;&amp;h(t,r,u)}(t,e,r,x),g.length&amp;&amp;i(t,e,r,g)}}}function i(t,e,r,n){for(var i=t._fullLayout.barnorm,o=!i,s=0;s&lt;n.length;s++){var l=n[s],c=new y([l],!1,o);a(t,e,c),i?(f(t,r,c),h(t,r,c)):u(t,r,c)}}function a(t,e,r){var n,i,a=t._fullLayout,c=a.bargap,u=a.bargroupgap,f=r.minDiff,h=r.traces,d=f*(1-c),p=d*(1-u),m=-p/2;for(n=0;n&lt;h.length;n++)(i=h[n][0].t).barwidth=p,i.poffset=m,i.bargroupwidth=d,i.bardelta=f;r.binWidth=h[0][0].t.barwidth/100,o(r),s(t,e,r),l(t,e,r)}function o(t){var e,r,n,i,a,o,s=t.traces;for(e=0;e&lt;s.length;e++){i=(n=(r=s[e])[0]).trace,o=n.t;var l,c=i.offset,u=o.poffset;if(Array.isArray(c)){for(l=c.slice(0,r.length),a=0;a&lt;l.length;a++)p(l[a])||(l[a]=u);for(a=l.length;a&lt;r.length;a++)l.push(u);o.poffset=l}else void 0!==c&amp;&amp;(o.poffset=c);var f=i.width,h=o.barwidth;if(Array.isArray(f)){var d=f.slice(0,r.length);for(a=0;a&lt;d.length;a++)p(d[a])||(d[a]=h);for(a=d.length;a&lt;r.length;a++)d.push(h);if(o.barwidth=d,void 0===c){for(l=[],a=0;a&lt;r.length;a++)l.push(u+(h-d[a])/2);o.poffset=l}}else void 0!==f&amp;&amp;(o.barwidth=f,void 0===c&amp;&amp;(o.poffset=u+(h-f)/2))}}function s(t,e,r){for(var n=r.traces,i=d(e),a=0;a&lt;n.length;a++)for(var o=n[a],s=o[0].t,l=s.poffset,c=Array.isArray(l),u=s.barwidth,f=Array.isArray(u),h=0;h&lt;o.length;h++){var p=o[h],m=p.w=f?u[h]:u;p[i]=p.p+(c?l[h]:l)+m/2}}function l(t,e,r,n){var i=r.traces,a=r.distinctPositions,o=a[0],s=r.minDiff,l=s/2;v.minDtick(e,s,o,n);for(var c=Math.min.apply(Math,a)-l,u=Math.max.apply(Math,a)+l,f=0;f&lt;i.length;f++){var h=i[f],d=h[0],p=d.trace;if(void 0!==p.width||void 0!==p.offset)for(var m=d.t,g=m.poffset,y=m.barwidth,x=Array.isArray(g),b=Array.isArray(y),_=0;_&lt;h.length;_++){var w=h[_],M=x?g[_]:g,k=b?y[_]:y,A=w.p+M,T=A+k;c=Math.min(c,A),u=Math.max(u,T)}}v.expand(e,[c,u],{padded:!1})}function c(t,e){p(t[0])?t[0]=Math.min(t[0],e):t[0]=e,p(t[1])?t[1]=Math.max(t[1],e):t[1]=e}function u(t,e,r){for(var n=r.traces,i=d(e),a=[null,null],o=0;o&lt;n.length;o++)for(var s=n[o],l=0;l&lt;s.length;l++){var u=s[l],f=u.b,h=f+u.s;u[i]=h,p(e.c2l(h))&amp;&amp;c(a,h),u.hasB&amp;&amp;p(e.c2l(f))&amp;&amp;c(a,f)}v.expand(e,a,{tozero:!0,padded:!0})}function f(t,e,r){for(var n=r.traces,i=0;i&lt;n.length;i++)for(var a=n[i],o=0;o&lt;a.length;o++){var s=a[o];s.s!==m&amp;&amp;r.put(s.p,s.b+s.s)}}function h(t,e,r){function n(t){p(e.c2l(t))&amp;&amp;(t&lt;l-s||t&gt;u+s||!p(l))&amp;&amp;(h=!0,c(f,t))}for(var i=r.traces,a=d(e),o=&quot;fraction&quot;===t._fullLayout.barnorm?1:100,s=o/1e9,l=e.l2c(e.c2l(0)),u=&quot;stack&quot;===t._fullLayout.barmode?o:l,f=[l,u],h=!1,g=0;g&lt;i.length;g++)for(var y=i[g],x=0;x&lt;y.length;x++){var b=y[x];if(b.s!==m){var _=Math.abs(o/r.get(b.p,b.s));b.b*=_,b.s*=_;var w=b.b,M=w+b.s;b[a]=M,n(M),b.hasB&amp;&amp;n(w)}}v.expand(e,f,{tozero:!0,padded:h})}function d(t){return t._id.charAt(0)}var p=t(&quot;fast-isnumeric&quot;),m=t(&quot;../../constants/numerical&quot;).BADNUM,g=t(&quot;../../registry&quot;),v=t(&quot;../../plots/cartesian/axes&quot;),y=t(&quot;./sieve.js&quot;);e.exports=function(t,e){var r,i=e.xaxis,a=e.yaxis,o=t._fullData,s=t.calcdata,l=[],c=[];for(r=0;r&lt;o.length;r++){var u=o[r];!0===u.visible&amp;&amp;g.traceIs(u,&quot;bar&quot;)&amp;&amp;u.xaxis===i._id&amp;&amp;u.yaxis===a._id&amp;&amp;(&quot;h&quot;===u.orientation?l.push(s[r]):c.push(s[r]))}n(t,i,a,c),n(t,a,i,l)}},{&quot;../../constants/numerical&quot;:721,&quot;../../plots/cartesian/axes&quot;:789,&quot;../../registry&quot;:873,&quot;./sieve.js&quot;:893,&quot;fast-isnumeric&quot;:140}],893:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r){this.traces=t,this.separateNegativeValues=e,this.dontMergeOverlappingData=r;for(var n=1/0,o=[],s=0;s&lt;t.length;s++){for(var l=t[s],c=0;c&lt;l.length;c++){var u=l[c];u.p!==a&amp;&amp;o.push(u.p)}l[0]&amp;&amp;l[0].width1&amp;&amp;(n=Math.min(l[0].width1,n))}this.positions=o;var f=i.distinctVals(o);this.distinctPositions=f.vals,1===f.vals.length&amp;&amp;n!==1/0?this.minDiff=n:this.minDiff=Math.min(f.minDiff,n),this.binWidth=this.minDiff,this.bins={}}e.exports=n;var i=t(&quot;../../lib&quot;),a=t(&quot;../../constants/numerical&quot;).BADNUM;n.prototype.put=function(t,e){var r=this.getLabel(t,e),n=this.bins[r]||0;return this.bins[r]=n+e,n},n.prototype.get=function(t,e){var r=this.getLabel(t,e);return this.bins[r]||0},n.prototype.getLabel=function(t,e){return(e&lt;0&amp;&amp;this.separateNegativeValues?&quot;v&quot;:&quot;^&quot;)+(this.dontMergeOverlappingData?t:Math.round(t/this.binWidth))}},{&quot;../../constants/numerical&quot;:721,&quot;../../lib&quot;:743}],894:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;d3&quot;),i=t(&quot;../../components/drawing&quot;),a=t(&quot;../../components/errorbars&quot;);e.exports=function(t,e){var r=e?e[0].node3:n.select(t).selectAll(&quot;g.trace.bars&quot;),o=r.size(),s=t._fullLayout;r.style(&quot;opacity&quot;,function(t){return t[0].trace.opacity}).each(function(t){(&quot;stack&quot;===s.barmode&amp;&amp;o&gt;1||0===s.bargap&amp;&amp;0===s.bargroupgap&amp;&amp;!t[0].trace.marker.line.width)&amp;&amp;n.select(this).attr(&quot;shape-rendering&quot;,&quot;crispEdges&quot;)}),r.selectAll(&quot;g.points&quot;).each(function(e){var r=n.select(this),a=r.selectAll(&quot;path&quot;),o=r.selectAll(&quot;text&quot;),s=e[0].trace;i.pointStyle(a,s,t),i.selectedPointStyle(a,s),o.each(function(t){function e(e){var n=r[e];return Array.isArray(n)?n[t.i]:n}var r,a=n.select(this);a.classed(&quot;bartext-inside&quot;)?r=s.insidetextfont:a.classed(&quot;bartext-outside&quot;)&amp;&amp;(r=s.outsidetextfont),r||(r=s.textfont),i.font(a,e(&quot;family&quot;),e(&quot;size&quot;),e(&quot;color&quot;))}),i.selectedTextStyle(o,s)}),a.style(r)}},{&quot;../../components/drawing&quot;:643,&quot;../../components/errorbars&quot;:649,d3:128}],895:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../components/color&quot;),i=t(&quot;../../components/colorscale/has_colorscale&quot;),a=t(&quot;../../components/colorscale/defaults&quot;);e.exports=function(t,e,r,o,s){r(&quot;marker.color&quot;,o),i(t,&quot;marker&quot;)&amp;&amp;a(t,e,s,r,{prefix:&quot;marker.&quot;,cLetter:&quot;c&quot;}),r(&quot;marker.line.color&quot;,n.defaultLine),i(t,&quot;marker.line&quot;)&amp;&amp;a(t,e,s,r,{prefix:&quot;marker.line.&quot;,cLetter:&quot;c&quot;}),r(&quot;marker.line.width&quot;),r(&quot;marker.opacity&quot;),r(&quot;selected.marker.color&quot;),r(&quot;unselected.marker.color&quot;)}},{&quot;../../components/color&quot;:618,&quot;../../components/colorscale/defaults&quot;:628,&quot;../../components/colorscale/has_colorscale&quot;:632}],896:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../scatter/attributes&quot;),i=t(&quot;../../components/color/attributes&quot;),a=t(&quot;../../lib/extend&quot;).extendFlat,o=n.marker,s=o.line;e.exports={y:{valType:&quot;data_array&quot;,editType:&quot;calc+clearAxisTypes&quot;},x:{valType:&quot;data_array&quot;,editType:&quot;calc+clearAxisTypes&quot;},x0:{valType:&quot;any&quot;,editType:&quot;calc+clearAxisTypes&quot;},y0:{valType:&quot;any&quot;,editType:&quot;calc+clearAxisTypes&quot;},name:{valType:&quot;string&quot;,editType:&quot;calc+clearAxisTypes&quot;},text:a({},n.text,{}),whiskerwidth:{valType:&quot;number&quot;,min:0,max:1,dflt:.5,editType:&quot;calcIfAutorange&quot;},boxpoints:{valType:&quot;enumerated&quot;,values:[&quot;all&quot;,&quot;outliers&quot;,&quot;suspectedoutliers&quot;,!1],dflt:&quot;outliers&quot;,editType:&quot;calcIfAutorange&quot;},boxmean:{valType:&quot;enumerated&quot;,values:[!0,&quot;sd&quot;,!1],dflt:!1,editType:&quot;calcIfAutorange&quot;},jitter:{valType:&quot;number&quot;,min:0,max:1,editType:&quot;calcIfAutorange&quot;},pointpos:{valType:&quot;number&quot;,min:-2,max:2,editType:&quot;calcIfAutorange&quot;},orientation:{valType:&quot;enumerated&quot;,values:[&quot;v&quot;,&quot;h&quot;],editType:&quot;calc+clearAxisTypes&quot;},marker:{outliercolor:{valType:&quot;color&quot;,dflt:&quot;rgba(0, 0, 0, 0)&quot;,editType:&quot;style&quot;},symbol:a({},o.symbol,{arrayOk:!1,editType:&quot;plot&quot;}),opacity:a({},o.opacity,{arrayOk:!1,dflt:1,editType:&quot;style&quot;}),size:a({},o.size,{arrayOk:!1,editType:&quot;calcIfAutorange&quot;}),color:a({},o.color,{arrayOk:!1,editType:&quot;style&quot;}),line:{color:a({},s.color,{arrayOk:!1,dflt:i.defaultLine,editType:&quot;style&quot;}),width:a({},s.width,{arrayOk:!1,dflt:0,editType:&quot;style&quot;}),outliercolor:{valType:&quot;color&quot;,editType:&quot;style&quot;},outlierwidth:{valType:&quot;number&quot;,min:0,dflt:1,editType:&quot;style&quot;},editType:&quot;style&quot;},editType:&quot;plot&quot;},line:{color:{valType:&quot;color&quot;,editType:&quot;style&quot;},width:{valType:&quot;number&quot;,min:0,dflt:2,editType:&quot;style&quot;},editType:&quot;plot&quot;},fillcolor:n.fillcolor,selected:{marker:n.selected.marker,editType:&quot;style&quot;},unselected:{marker:n.unselected.marker,editType:&quot;style&quot;},hoveron:{valType:&quot;flaglist&quot;,flags:[&quot;boxes&quot;,&quot;points&quot;],dflt:&quot;boxes+points&quot;,editType:&quot;style&quot;}}},{&quot;../../components/color/attributes&quot;:617,&quot;../../lib/extend&quot;:732,&quot;../scatter/attributes&quot;:1066}],897:[function(t,e,r){&quot;use strict&quot;;function n(t,e){return t.v-e.v}function i(t){return t.v}var a=t(&quot;fast-isnumeric&quot;),o=t(&quot;../../lib&quot;),s=o._,l=t(&quot;../../plots/cartesian/axes&quot;);e.exports=function(t,e){var r,c,u,f,h,d=t._fullLayout,p=l.getFromId(t,e.xaxis||&quot;x&quot;),m=l.getFromId(t,e.yaxis||&quot;y&quot;),g=[],v=&quot;violin&quot;===e.type?&quot;_numViolins&quot;:&quot;_numBoxes&quot;;&quot;h&quot;===e.orientation?(c=p,u=&quot;x&quot;,f=m,h=&quot;y&quot;):(c=m,u=&quot;y&quot;,f=p,h=&quot;x&quot;);var y=c.makeCalcdata(e,u),x=function(t,e,r,n,i){if(e in t)return r.makeCalcdata(t,e);var s;s=e+&quot;0&quot;in t?t[e+&quot;0&quot;]:&quot;name&quot;in t&amp;&amp;(&quot;category&quot;===r.type||a(t.name)&amp;&amp;-1!==[&quot;linear&quot;,&quot;log&quot;].indexOf(r.type)||o.isDateTime(t.name)&amp;&amp;&quot;date&quot;===r.type)?t.name:i;var l=r.d2c(s,0,t[e+&quot;calendar&quot;]);return n.map(function(){return l})}(e,h,f,y,d[v]),b=o.distinctVals(x),_=b.vals,w=b.minDiff/2,M=function(t,e){for(var r=t.length,n=new Array(r+1),i=0;i&lt;r;i++)n[i]=t[i]-e;return n[r]=t[r-1]+e,n}(_,w),k=y.length,A=_.length,T=function(t){for(var e=new Array(t),r=0;r&lt;t;r++)e[r]=[];return e}(A);for(r=0;r&lt;k;r++){var S=y[r];if(a(S)){var E=o.findBin(x[r],M);if(E&gt;=0&amp;&amp;E&lt;A){var L={v:S,i:r};!function(t,e,r){var n={text:&quot;tx&quot;};for(var i in n)Array.isArray(e[i])&amp;&amp;(t[n[i]]=e[i][r])}(L,e,r),T[E].push(L)}}}for(r=0;r&lt;A;r++)if(T[r].length&gt;0){var C=T[r].sort(n),z=C.map(i),D=z.length,I={pos:_[r],pts:C};I.min=z[0],I.max=z[D-1],I.mean=o.mean(z,D),I.sd=o.stdev(z,D,I.mean),I.q1=o.interp(z,.25),I.med=o.interp(z,.5),I.q3=o.interp(z,.75),I.lf=Math.min(I.q1,z[Math.min(o.findBin(2.5*I.q1-1.5*I.q3,z,!0)+1,D-1)]),I.uf=Math.max(I.q3,z[Math.max(o.findBin(2.5*I.q3-1.5*I.q1,z),0)]),I.lo=4*I.q1-3*I.q3,I.uo=4*I.q3-3*I.q1,g.push(I)}return function(t,e){if(Array.isArray(e.selectedpoints))for(var r=0;r&lt;t.length;r++){for(var n=t[r].pts||[],i={},a=0;a&lt;n.length;a++)i[n[a].i]=a;o.tagSelected(n,e,i)}}(g,e),l.expand(c,y,{padded:!0}),g.length&gt;0?(g[0].t={num:d[v],dPos:w,posLetter:h,valLetter:u,labels:{med:s(t,&quot;median:&quot;),min:s(t,&quot;min:&quot;),q1:s(t,&quot;q1:&quot;),q3:s(t,&quot;q3:&quot;),max:s(t,&quot;max:&quot;),mean:&quot;sd&quot;===e.boxmean?s(t,&quot;mean \xb1 \u03c3:&quot;):s(t,&quot;mean:&quot;),lf:s(t,&quot;lower fence:&quot;),uf:s(t,&quot;upper fence:&quot;)}},e._fullInput&amp;&amp;&quot;candlestick&quot;===e._fullInput.type&amp;&amp;delete g[0].t.labels,d[v]++,g):[{t:{empty:!0}}]}},{&quot;../../lib&quot;:743,&quot;../../plots/cartesian/axes&quot;:789,&quot;fast-isnumeric&quot;:140}],898:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,n){var i,a=r(&quot;y&quot;),s=r(&quot;x&quot;);if(a&amp;&amp;a.length)i=&quot;v&quot;,s||r(&quot;x0&quot;);else{if(!s||!s.length)return void(e.visible=!1);i=&quot;h&quot;,r(&quot;y0&quot;)}o.getComponentMethod(&quot;calendars&quot;,&quot;handleTraceDefaults&quot;)(t,e,[&quot;x&quot;,&quot;y&quot;],n),r(&quot;orientation&quot;,i)}function i(t,e,r,n){var i=n.prefix,o=a.coerce2(t,e,l,&quot;marker.outliercolor&quot;),s=r(&quot;marker.line.outliercolor&quot;),c=r(i+&quot;points&quot;,o||s?&quot;suspectedoutliers&quot;:void 0);c?(r(&quot;jitter&quot;,&quot;all&quot;===c?.3:0),r(&quot;pointpos&quot;,&quot;all&quot;===c?-1.5:0),r(&quot;marker.symbol&quot;),r(&quot;marker.opacity&quot;),r(&quot;marker.size&quot;),r(&quot;marker.color&quot;,e.line.color),r(&quot;marker.line.color&quot;),r(&quot;marker.line.width&quot;),&quot;suspectedoutliers&quot;===c&amp;&amp;(r(&quot;marker.line.outliercolor&quot;,e.marker.color),r(&quot;marker.line.outlierwidth&quot;)),r(&quot;selected.marker.color&quot;),r(&quot;unselected.marker.color&quot;),r(&quot;selected.marker.size&quot;),r(&quot;unselected.marker.size&quot;),r(&quot;text&quot;)):delete e.marker,r(&quot;hoveron&quot;),a.coerceSelectionMarkerOpacity(e,r)}var a=t(&quot;../../lib&quot;),o=t(&quot;../../registry&quot;),s=t(&quot;../../components/color&quot;),l=t(&quot;./attributes&quot;);e.exports={supplyDefaults:function(t,e,r,o){function c(r,n){return a.coerce(t,e,l,r,n)}n(t,e,c,o),!1!==e.visible&amp;&amp;(c(&quot;line.color&quot;,(t.marker||{}).color||r),c(&quot;line.width&quot;),c(&quot;fillcolor&quot;,s.addOpacity(e.line.color,.5)),c(&quot;whiskerwidth&quot;),c(&quot;boxmean&quot;),i(t,e,c,{prefix:&quot;box&quot;}))},handleSampleDefaults:n,handlePointsDefaults:i}},{&quot;../../components/color&quot;:618,&quot;../../lib&quot;:743,&quot;../../registry&quot;:873,&quot;./attributes&quot;:896}],899:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,n){var i,c,u,f,h,d,p,m,g,v=t.cd,y=t.xa,x=t.ya,b=v[0].trace,_=v[0].t,w=&quot;violin&quot;===b.type,M=[],k=&quot;closest&quot;!==n||w?_.bdPos:2.5*_.bdPos,A=function(t){return t.pos+_.bPos-d};w&amp;&amp;&quot;both&quot;!==b.side?(&quot;positive&quot;===b.side&amp;&amp;(g=function(t){var e=A(t);return s.inbox(e,e+k)}),&quot;negative&quot;===b.side&amp;&amp;(g=function(t){var e=A(t);return s.inbox(e-k,e)})):g=function(t){var e=A(t);return s.inbox(e-k,e+k)};var T;T=w?function(t){return s.inbox(t.span[0]-h,t.span[1]-h)}:function(t){return s.inbox(t.min-h,t.max-h)},&quot;h&quot;===b.orientation?(h=e,d=r,p=T,m=g,i=&quot;y&quot;,u=x,c=&quot;x&quot;,f=y):(h=r,d=e,p=g,m=T,i=&quot;x&quot;,u=y,c=&quot;y&quot;,f=x);var S=s.getDistanceFunction(n,p,m);if(s.getClosest(v,S,t),!1===t.index)return[];var E=v[t.index],L=b.line.color,C=(b.marker||{}).color;l.opacity(L)&amp;&amp;b.line.width?t.color=L:l.opacity(C)&amp;&amp;b.boxpoints?t.color=C:t.color=b.fillcolor,t[i+&quot;0&quot;]=u.c2p(E.pos+_.bPos-_.bdPos,!0),t[i+&quot;1&quot;]=u.c2p(E.pos+_.bPos+_.bdPos,!0),a.tickText(u,u.c2l(E.pos),&quot;hover&quot;).text,t[i+&quot;LabelVal&quot;]=E.pos;var z={},D=[&quot;med&quot;,&quot;min&quot;,&quot;q1&quot;,&quot;q3&quot;,&quot;max&quot;];(b.boxmean||(b.meanline||{}).visible)&amp;&amp;D.push(&quot;mean&quot;),(b.boxpoints||b.points)&amp;&amp;D.push(&quot;lf&quot;,&quot;uf&quot;);for(var I=0;I&lt;D.length;I++){var P=D[I];if(P in E&amp;&amp;!(E[P]in z)){z[E[P]]=!0;var O=E[P],F=f.c2p(O,!0),R=o.extendFlat({},t);R[c+&quot;0&quot;]=R[c+&quot;1&quot;]=F,R[c+&quot;LabelVal&quot;]=O,R[c+&quot;Label&quot;]=(_.labels?_.labels[P]+&quot; &quot;:&quot;&quot;)+a.hoverLabelText(f,O),&quot;mean&quot;===P&amp;&amp;&quot;sd&quot;in E&amp;&amp;&quot;sd&quot;===b.boxmean&amp;&amp;(R[c+&quot;err&quot;]=E.sd),t.name=&quot;&quot;,M.push(R)}}return M}function i(t,e,r){for(var n,i,a,l=t.cd,u=t.xa,f=t.ya,h=l[0].trace,d=u.c2p(e),p=f.c2p(r),m=s.quadrature(function(t){var e=Math.max(3,t.mrc||0);return Math.max(Math.abs(u.c2p(t.x)-d)-e,1-3/e)},function(t){var e=Math.max(3,t.mrc||0);return Math.max(Math.abs(f.c2p(t.y)-p)-e,1-3/e)}),g=!1,v=0;v&lt;l.length;v++){i=l[v];for(var y=0;y&lt;(i.pts||[]).length;y++){var x=m(a=i.pts[y]);x&lt;=t.distance&amp;&amp;(t.distance=x,g=[v,y])}}if(!g)return!1;a=(i=l[g[0]]).pts[g[1]];var b=u.c2p(a.x,!0),_=f.c2p(a.y,!0),w=a.mrc||1;return n=o.extendFlat({},t,{index:a.i,color:(h.marker||{}).color,name:h.name,x0:b-w,x1:b+w,xLabelVal:a.x,y0:_-w,y1:_+w,yLabelVal:a.y}),c(a,h,n),n}var a=t(&quot;../../plots/cartesian/axes&quot;),o=t(&quot;../../lib&quot;),s=t(&quot;../../components/fx&quot;),l=t(&quot;../../components/color&quot;),c=t(&quot;../scatter/fill_hover_text&quot;);e.exports={hoverPoints:function(t,e,r,a){var o,s=t.cd[0].trace.hoveron,l=[];return-1!==s.indexOf(&quot;boxes&quot;)&amp;&amp;(l=l.concat(n(t,e,r,a))),-1!==s.indexOf(&quot;points&quot;)&amp;&amp;(o=i(t,e,r)),&quot;closest&quot;===a?o?[o]:l:o?(l.push(o),l):l},hoverOnBoxes:n,hoverOnPoints:i}},{&quot;../../components/color&quot;:618,&quot;../../components/fx&quot;:660,&quot;../../lib&quot;:743,&quot;../../plots/cartesian/axes&quot;:789,&quot;../scatter/fill_hover_text&quot;:1074}],900:[function(t,e,r){&quot;use strict&quot;;var n={};n.attributes=t(&quot;./attributes&quot;),n.layoutAttributes=t(&quot;./layout_attributes&quot;),n.supplyDefaults=t(&quot;./defaults&quot;).supplyDefaults,n.supplyLayoutDefaults=t(&quot;./layout_defaults&quot;).supplyLayoutDefaults,n.calc=t(&quot;./calc&quot;),n.setPositions=t(&quot;./set_positions&quot;).setPositions,n.plot=t(&quot;./plot&quot;).plot,n.style=t(&quot;./style&quot;),n.hoverPoints=t(&quot;./hover&quot;).hoverPoints,n.selectPoints=t(&quot;./select&quot;),n.moduleType=&quot;trace&quot;,n.name=&quot;box&quot;,n.basePlotModule=t(&quot;../../plots/cartesian&quot;),n.categories=[&quot;cartesian&quot;,&quot;symbols&quot;,&quot;oriented&quot;,&quot;box-violin&quot;,&quot;showLegend&quot;],n.meta={},e.exports=n},{&quot;../../plots/cartesian&quot;:800,&quot;./attributes&quot;:896,&quot;./calc&quot;:897,&quot;./defaults&quot;:898,&quot;./hover&quot;:899,&quot;./layout_attributes&quot;:901,&quot;./layout_defaults&quot;:902,&quot;./plot&quot;:903,&quot;./select&quot;:904,&quot;./set_positions&quot;:905,&quot;./style&quot;:906}],901:[function(t,e,r){&quot;use strict&quot;;e.exports={boxmode:{valType:&quot;enumerated&quot;,values:[&quot;group&quot;,&quot;overlay&quot;],dflt:&quot;overlay&quot;,editType:&quot;calc&quot;},boxgap:{valType:&quot;number&quot;,min:0,max:1,dflt:.3,editType:&quot;calc&quot;},boxgroupgap:{valType:&quot;number&quot;,min:0,max:1,dflt:.3,editType:&quot;calc&quot;}}},{}],902:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,n,i){for(var a,o=0;o&lt;r.length;o++)if(r[o].type===i){a=!0;break}a&amp;&amp;(n(i+&quot;mode&quot;),n(i+&quot;gap&quot;),n(i+&quot;groupgap&quot;))}var i=t(&quot;../../lib&quot;),a=t(&quot;./layout_attributes&quot;);e.exports={supplyLayoutDefaults:function(t,e,r){n(0,0,r,function(r,n){return i.coerce(t,e,a,r,n)},&quot;box&quot;)},_supply:n}},{&quot;../../lib&quot;:743,&quot;./layout_attributes&quot;:901}],903:[function(t,e,r){&quot;use strict&quot;;function n(){var t=u;return u=(69069*u+1)%4294967296,Math.abs(u-t)&lt;429496729?n():u/4294967296}function i(t,e,r,n){var i,a,o=e.pos,c=e.val,u=n.bPos,f=n.wdPos||0,h=n.bPosPxOffset||0,d=r.whiskerwidth||0;Array.isArray(n.bdPos)?(i=n.bdPos[0],a=n.bdPos[1]):(i=n.bdPos,a=n.bdPos),t.selectAll(&quot;path.box&quot;).data(l.identity).enter().append(&quot;path&quot;).style(&quot;vector-effect&quot;,&quot;non-scaling-stroke&quot;).attr(&quot;class&quot;,&quot;box&quot;).each(function(t){var e=t.pos,n=o.c2p(e+u,!0)+h,p=o.c2p(e+u-i,!0)+h,m=o.c2p(e+u+a,!0)+h,g=o.c2p(e+u-f,!0)+h,v=o.c2p(e+u+f,!0)+h,y=c.c2p(t.q1,!0),x=c.c2p(t.q3,!0),b=l.constrain(c.c2p(t.med,!0),Math.min(y,x)+1,Math.max(y,x)-1),_=c.c2p(!1===r.boxpoints?t.min:t.lf,!0),w=c.c2p(!1===r.boxpoints?t.max:t.uf,!0);&quot;h&quot;===r.orientation?s.select(this).attr(&quot;d&quot;,&quot;M&quot;+b+&quot;,&quot;+p+&quot;V&quot;+m+&quot;M&quot;+y+&quot;,&quot;+p+&quot;V&quot;+m+&quot;H&quot;+x+&quot;V&quot;+p+&quot;ZM&quot;+y+&quot;,&quot;+n+&quot;H&quot;+_+&quot;M&quot;+x+&quot;,&quot;+n+&quot;H&quot;+w+(0===d?&quot;&quot;:&quot;M&quot;+_+&quot;,&quot;+g+&quot;V&quot;+v+&quot;M&quot;+w+&quot;,&quot;+g+&quot;V&quot;+v)):s.select(this).attr(&quot;d&quot;,&quot;M&quot;+p+&quot;,&quot;+b+&quot;H&quot;+m+&quot;M&quot;+p+&quot;,&quot;+y+&quot;H&quot;+m+&quot;V&quot;+x+&quot;H&quot;+p+&quot;ZM&quot;+n+&quot;,&quot;+y+&quot;V&quot;+_+&quot;M&quot;+n+&quot;,&quot;+x+&quot;V&quot;+w+(0===d?&quot;&quot;:&quot;M&quot;+g+&quot;,&quot;+_+&quot;H&quot;+v+&quot;M&quot;+g+&quot;,&quot;+w+&quot;H&quot;+v))})}function a(t,e,r,i){var a=e.x,o=e.y,s=i.bdPos,d=i.bPos,p=r.boxpoints||r.points;u=2e9,t.selectAll(&quot;g.points&quot;).data(function(t){return t.forEach(function(t){t.t=i,t.trace=r}),t}).enter().append(&quot;g&quot;).attr(&quot;class&quot;,&quot;points&quot;).selectAll(&quot;path&quot;).data(function(t){var e,i,a=&quot;all&quot;===p?t.pts:t.pts.filter(function(e){return e.v&lt;t.lf||e.v&gt;t.uf}),o=Math.max((t.max-t.min)/10,t.q3-t.q1),c=1e-9*o,u=o*h,m=[],g=0;if(r.jitter){if(0===o)for(g=1,m=new Array(a.length),e=0;e&lt;a.length;e++)m[e]=1;else for(e=0;e&lt;a.length;e++){var v=Math.max(0,e-f),y=a[v].v,x=Math.min(a.length-1,e+f),b=a[x].v;&quot;all&quot;!==p&amp;&amp;(a[e].v&lt;t.lf?b=Math.min(b,t.lf):y=Math.max(y,t.uf));var _=Math.sqrt(u*(x-v)/(b-y+c))||0;_=l.constrain(Math.abs(_),0,1),m.push(_),g=Math.max(_,g)}i=2*r.jitter/g}for(e=0;e&lt;a.length;e++){var w=a[e],M=w.v,k=r.jitter?i*m[e]*(n()-.5):0,A=t.pos+d+s*(r.pointpos+k);&quot;h&quot;===r.orientation?(w.y=A,w.x=M):(w.x=A,w.y=M),&quot;suspectedoutliers&quot;===p&amp;&amp;M&lt;t.uo&amp;&amp;M&gt;t.lo&amp;&amp;(w.so=!0)}return a}).enter().append(&quot;path&quot;).classed(&quot;point&quot;,!0).call(c.translatePoints,a,o)}function o(t,e,r,n){var i,a,o=e.pos,c=e.val,u=n.bPos,f=n.bPosPxOffset||0;Array.isArray(n.bdPos)?(i=n.bdPos[0],a=n.bdPos[1]):(i=n.bdPos,a=n.bdPos),t.selectAll(&quot;path.mean&quot;).data(l.identity).enter().append(&quot;path&quot;).attr(&quot;class&quot;,&quot;mean&quot;).style({fill:&quot;none&quot;,&quot;vector-effect&quot;:&quot;non-scaling-stroke&quot;}).each(function(t){var e=o.c2p(t.pos+u,!0)+f,n=o.c2p(t.pos+u-i,!0)+f,l=o.c2p(t.pos+u+a,!0)+f,h=c.c2p(t.mean,!0),d=c.c2p(t.mean-t.sd,!0),p=c.c2p(t.mean+t.sd,!0);&quot;h&quot;===r.orientation?s.select(this).attr(&quot;d&quot;,&quot;M&quot;+h+&quot;,&quot;+n+&quot;V&quot;+l+(&quot;sd&quot;===r.boxmean?&quot;m0,0L&quot;+d+&quot;,&quot;+e+&quot;L&quot;+h+&quot;,&quot;+n+&quot;L&quot;+p+&quot;,&quot;+e+&quot;Z&quot;:&quot;&quot;)):s.select(this).attr(&quot;d&quot;,&quot;M&quot;+n+&quot;,&quot;+h+&quot;H&quot;+l+(&quot;sd&quot;===r.boxmean?&quot;m0,0L&quot;+e+&quot;,&quot;+d+&quot;L&quot;+n+&quot;,&quot;+h+&quot;L&quot;+e+&quot;,&quot;+p+&quot;Z&quot;:&quot;&quot;))})}var s=t(&quot;d3&quot;),l=t(&quot;../../lib&quot;),c=t(&quot;../../components/drawing&quot;),u=2e9,f=5,h=.01;e.exports={plot:function(t,e,r){var n=t._fullLayout,l=e.xaxis,c=e.yaxis;e.plot.select(&quot;.boxlayer&quot;).selectAll(&quot;g.trace.boxes&quot;).data(r).enter().append(&quot;g&quot;).attr(&quot;class&quot;,&quot;trace boxes&quot;).each(function(t){var e=t[0],r=e.t,u=e.trace,f=e.node3=s.select(this),h=n._numBoxes,d=&quot;group&quot;===n.boxmode&amp;&amp;h&gt;1,p=r.dPos*(1-n.boxgap)*(1-n.boxgroupgap)/(d?h:1),m=d?2*r.dPos*((r.num+.5)/h-.5)*(1-n.boxgap):0,g=p*u.whiskerwidth;if(!0!==u.visible||r.empty)s.select(this).remove();else{var v,y;&quot;h&quot;===u.orientation?(v=c,y=l):(v=l,y=c),r.bPos=m,r.bdPos=p,r.wdPos=g,i(f,{pos:v,val:y},u,r),u.boxpoints&amp;&amp;a(f,{x:l,y:c},u,r),u.boxmean&amp;&amp;o(f,{pos:v,val:y},u,r)}})},plotBoxAndWhiskers:i,plotPoints:a,plotBoxMean:o}},{&quot;../../components/drawing&quot;:643,&quot;../../lib&quot;:743,d3:128}],904:[function(t,e,r){&quot;use strict&quot;;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&lt;i.length;r++)for(n=0;n&lt;(i[r].pts||[]).length;n++)i[r].pts[n].selected=0;else for(r=0;r&lt;i.length;r++)for(n=0;n&lt;(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])?(s.push({pointNumber:l.i,x:a.c2d(l.x),y:o.c2d(l.y)}),l.selected=1):l.selected=0}return s}},{}],905:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,n,o){var s,l,c,u=e.calcdata,f=e._fullLayout,h=[],d=&quot;violin&quot;===t?&quot;_numViolins&quot;:&quot;_numBoxes&quot;;for(s=0;s&lt;r.length;s++)for(c=u[r[s]],l=0;l&lt;c.length;l++)h.push(c[l].pos);if(h.length){var p=a.distinctVals(h),m=p.minDiff/2;for(h.length===p.vals.length&amp;&amp;(f[d]=1),i.minDtick(n,p.minDiff,p.vals[0],!0),s=0;s&lt;r.length;s++)(c=u[r[s]])[0].t.dPos=m;var g=(1-f[t+&quot;gap&quot;])*(1-f[t+&quot;groupgap&quot;])*m/f[d];i.expand(n,p.vals,{vpadminus:m+o[0]*g,vpadplus:m+o[1]*g})}}var i=t(&quot;../../plots/cartesian/axes&quot;),a=t(&quot;../../lib&quot;),o=[&quot;v&quot;,&quot;h&quot;];e.exports={setPositions:function(t,e){for(var r=t.calcdata,i=e.xaxis,a=e.yaxis,s=0;s&lt;o.length;s++){for(var l=o[s],c=&quot;h&quot;===l?a:i,u=[],f=0,h=0,d=0;d&lt;r.length;d++){var p=r[d],m=p[0].t,g=p[0].trace;!0!==g.visible||&quot;box&quot;!==g.type||m.empty||g.orientation!==l||g.xaxis!==i._id||g.yaxis!==a._id||(u.push(d),!1!==g.boxpoints&amp;&amp;(f=Math.max(f,g.jitter-g.pointpos-1),h=Math.max(h,g.jitter+g.pointpos-1)))}n(&quot;box&quot;,t,u,c,[f,h])}},setPositionOffset:n}},{&quot;../../lib&quot;:743,&quot;../../plots/cartesian/axes&quot;:789}],906:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;d3&quot;),i=t(&quot;../../components/color&quot;),a=t(&quot;../../components/drawing&quot;);e.exports=function(t,e){var r=e?e[0].node3:n.select(t).selectAll(&quot;g.trace.boxes&quot;);r.style(&quot;opacity&quot;,function(t){return t[0].trace.opacity}),r.each(function(e){var r=n.select(this),o=e[0].trace,s=o.line.width;r.selectAll(&quot;path.box&quot;).style(&quot;stroke-width&quot;,s+&quot;px&quot;).call(i.stroke,o.line.color).call(i.fill,o.fillcolor),r.selectAll(&quot;path.mean&quot;).style({&quot;stroke-width&quot;:s,&quot;stroke-dasharray&quot;:2*s+&quot;px,&quot;+s+&quot;px&quot;}).call(i.stroke,o.line.color);var l=r.selectAll(&quot;path.point&quot;);a.pointStyle(l,o,t),a.selectedPointStyle(l,o)})}},{&quot;../../components/color&quot;:618,&quot;../../components/drawing&quot;:643,d3:128}],907:[function(t,e,r){&quot;use strict&quot;;function n(t){return{name:a.increasing.name,showlegend:a.increasing.showlegend,line:{color:i({},o.line.color,{dflt:t}),width:o.line.width,editType:&quot;style&quot;},fillcolor:o.fillcolor,editType:&quot;style&quot;}}var i=t(&quot;../../lib&quot;).extendFlat,a=t(&quot;../ohlc/attributes&quot;),o=t(&quot;../box/attributes&quot;);e.exports={x:a.x,open:a.open,high:a.high,low:a.low,close:a.close,line:{width:i({},o.line.width,{}),editType:&quot;style&quot;},increasing:n(a.increasing.line.color.dflt),decreasing:n(a.decreasing.line.color.dflt),text:a.text,whiskerwidth:i({},o.whiskerwidth,{dflt:0})}},{&quot;../../lib&quot;:743,&quot;../box/attributes&quot;:896,&quot;../ohlc/attributes&quot;:1024}],908:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,n){o(t,e,r,n),r(n+&quot;.line.color&quot;),r(n+&quot;.line.width&quot;,e.line.width),r(n+&quot;.fillcolor&quot;)}var i=t(&quot;../../lib&quot;),a=t(&quot;../ohlc/ohlc_defaults&quot;),o=t(&quot;../ohlc/direction_defaults&quot;),s=t(&quot;../ohlc/helpers&quot;),l=t(&quot;./attributes&quot;);e.exports=function(t,e,r,o){function c(r,n){return i.coerce(t,e,l,r,n)}s.pushDummyTransformOpts(t,e);0!==a(t,e,c,o)?(c(&quot;line.width&quot;),n(t,e,c,&quot;increasing&quot;),n(t,e,c,&quot;decreasing&quot;),c(&quot;text&quot;),c(&quot;whiskerwidth&quot;)):e.visible=!1}},{&quot;../../lib&quot;:743,&quot;../ohlc/direction_defaults&quot;:1026,&quot;../ohlc/helpers&quot;:1027,&quot;../ohlc/ohlc_defaults&quot;:1029,&quot;./attributes&quot;:907}],909:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../plot_api/register&quot;);e.exports={moduleType:&quot;trace&quot;,name:&quot;candlestick&quot;,basePlotModule:t(&quot;../../plots/cartesian&quot;),categories:[&quot;cartesian&quot;,&quot;showLegend&quot;,&quot;candlestick&quot;],meta:{},attributes:t(&quot;./attributes&quot;),supplyDefaults:t(&quot;./defaults&quot;)},n(t(&quot;../box&quot;)),n(t(&quot;./transform&quot;))},{&quot;../../plot_api/register&quot;:779,&quot;../../plots/cartesian&quot;:800,&quot;../box&quot;:900,&quot;./attributes&quot;:907,&quot;./defaults&quot;:908,&quot;./transform&quot;:910}],910:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r){var n={type:&quot;box&quot;,boxpoints:!1,visible:t.visible,hoverinfo:t.hoverinfo,opacity:t.opacity,xaxis:t.xaxis,yaxis:t.yaxis,transforms:o.makeTransform(t,e,r)},i=t[r];return i&amp;&amp;a.extendFlat(n,{x:t.x||[0],xcalendar:t.xcalendar,y:[].concat(t.low).concat(t.high),whiskerwidth:t.whiskerwidth,text:t.text,name:i.name,showlegend:i.showlegend,line:i.line,fillcolor:i.fillcolor}),n}var i=t(&quot;fast-isnumeric&quot;),a=t(&quot;../../lib&quot;),o=t(&quot;../ohlc/helpers&quot;);r.moduleType=&quot;transform&quot;,r.name=&quot;candlestick&quot;,r.attributes={},r.supplyDefaults=function(t,e,r,n){return o.clearEphemeralTransformOpts(n),o.copyOHLC(t,e),t},r.transform=function(t,e){for(var r=[],i=0;i&lt;t.length;i++){var a=t[i];&quot;candlestick&quot;===a.type?r.push(n(a,e,&quot;increasing&quot;),n(a,e,&quot;decreasing&quot;)):r.push(a)}return o.addRangeSlider(r,e.layout),r},r.calcTransform=function(t,e,r){for(var n=r.direction,a=o.getFilterFn(n),s=e.open,l=e.high,c=e.low,u=e.close,f=s.length,h=[],d=[],p=e._fullInput.x?function(t){var r=e.x[t];h.push(r,r,r,r,r,r)}:function(t){h.push(t,t,t,t,t,t)},m=function(t,e,r,n){d.push(r,t,n,n,n,e)},g=0;g&lt;f;g++)a(s[g],u[g])&amp;&amp;i(l[g])&amp;&amp;i(c[g])&amp;&amp;(p(g),m(s[g],l[g],c[g],u[g]));e.x=h,e.y=d}},{&quot;../../lib&quot;:743,&quot;../ohlc/helpers&quot;:1027,&quot;fast-isnumeric&quot;:140}],911:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;./axis_defaults&quot;);e.exports=function(t,e,r,i,a){i(&quot;a&quot;)||(i(&quot;da&quot;),i(&quot;a0&quot;));i(&quot;b&quot;)||(i(&quot;db&quot;),i(&quot;b0&quot;)),function(t,e,r,i){[&quot;aaxis&quot;,&quot;baxis&quot;].forEach(function(a){var o=a.charAt(0),s=t[a]||{},l={},c={tickfont:&quot;x&quot;,id:o+&quot;axis&quot;,letter:o,font:e.font,name:a,data:t[o],calendar:e.calendar,dfltColor:i,bgColor:r.paper_bgcolor,fullLayout:r};n(s,l,c),l._categories=l._categories||[],e[a]=l,t[a]||&quot;-&quot;===s.type||(t[a]={type:s.type})})}(t,e,r,a)}},{&quot;./axis_defaults&quot;:916}],912:[function(t,e,r){&quot;use strict&quot;;function n(t,e){if(!Array.isArray(t)||e&gt;=10)return null;for(var r=1/0,i=-1/0,a=t.length,o=0;o&lt;a;o++){var s=t[o];if(Array.isArray(s)){var l=n(s,e+1);l&amp;&amp;(r=Math.min(l[0],r),i=Math.max(l[1],i))}else r=Math.min(s,r),i=Math.max(s,i)}return[r,i]}e.exports=function(t){return n(t,0)}},{}],913:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../plots/font_attributes&quot;),i=t(&quot;./axis_attributes&quot;),a=t(&quot;../../components/color/attributes&quot;),o=n({editType:&quot;calc&quot;});o.family.dflt='&quot;Open Sans&quot;, verdana, arial, sans-serif',o.size.dflt=12,o.color.dflt=a.defaultLine,e.exports={carpet:{valType:&quot;string&quot;,editType:&quot;calc&quot;},x:{valType:&quot;data_array&quot;,editType:&quot;calc+clearAxisTypes&quot;},y:{valType:&quot;data_array&quot;,editType:&quot;calc+clearAxisTypes&quot;},a:{valType:&quot;data_array&quot;,editType:&quot;calc&quot;},a0:{valType:&quot;number&quot;,dflt:0,editType:&quot;calc&quot;},da:{valType:&quot;number&quot;,dflt:1,editType:&quot;calc&quot;},b:{valType:&quot;data_array&quot;,editType:&quot;calc&quot;},b0:{valType:&quot;number&quot;,dflt:0,editType:&quot;calc&quot;},db:{valType:&quot;number&quot;,dflt:1,editType:&quot;calc&quot;},cheaterslope:{valType:&quot;number&quot;,dflt:1,editType:&quot;calc&quot;},aaxis:i,baxis:i,font:o,color:{valType:&quot;color&quot;,dflt:a.defaultLine,editType:&quot;plot&quot;}}},{&quot;../../components/color/attributes&quot;:617,&quot;../../plots/font_attributes&quot;:816,&quot;./axis_attributes&quot;:915}],914:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t,e,r,n){var i,a,o,s,l,c,u,f,h,d,p,m,g,v=Array.isArray(r)?&quot;a&quot;:&quot;b&quot;,y=(&quot;a&quot;===v?t.aaxis:t.baxis).smoothing,x=&quot;a&quot;===v?t.a2i:t.b2j,b=&quot;a&quot;===v?r:n,_=&quot;a&quot;===v?n:r,w=&quot;a&quot;===v?e.a.length:e.b.length,M=&quot;a&quot;===v?e.b.length:e.a.length,k=Math.floor(&quot;a&quot;===v?t.b2j(_):t.a2i(_)),A=&quot;a&quot;===v?function(e){return t.evalxy([],e,k)}:function(e){return t.evalxy([],k,e)};y&amp;&amp;(o=Math.max(0,Math.min(M-2,k)),s=k-o,a=&quot;a&quot;===v?function(e,r){return t.dxydi([],e,o,r,s)}:function(e,r){return t.dxydj([],o,e,s,r)});var T=x(b[0]),S=x(b[1]),E=T&lt;S?1:-1,L=1e-8*(S-T),C=E&gt;0?Math.floor:Math.ceil,z=E&gt;0?Math.ceil:Math.floor,D=E&gt;0?Math.min:Math.max,I=E&gt;0?Math.max:Math.min,P=C(T+L),O=z(S-L),F=[[u=A(T)]];for(i=P;i*E&lt;O*E;i+=E)l=[],p=I(T,i),g=(m=D(S,i+E))-p,c=Math.max(0,Math.min(w-2,Math.floor(.5*(p+m)))),f=A(m),y&amp;&amp;(h=a(c,p-c),d=a(c,m-c),l.push([u[0]+h[0]/3*g,u[1]+h[1]/3*g]),l.push([f[0]-d[0]/3*g,f[1]-d[1]/3*g])),l.push(f),F.push(l),u=f;return F}},{}],915:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../plots/font_attributes&quot;),i=t(&quot;../../components/color/attributes&quot;),a=t(&quot;../../plots/cartesian/layout_attributes&quot;),o=t(&quot;../../plot_api/edit_types&quot;).overrideAll;e.exports={color:{valType:&quot;color&quot;,editType:&quot;calc&quot;},smoothing:{valType:&quot;number&quot;,dflt:1,min:0,max:1.3,editType:&quot;calc&quot;},title:{valType:&quot;string&quot;,editType:&quot;calc&quot;},titlefont:n({editType:&quot;calc&quot;}),titleoffset:{valType:&quot;number&quot;,dflt:10,editType:&quot;calc&quot;},type:{valType:&quot;enumerated&quot;,values:[&quot;-&quot;,&quot;linear&quot;,&quot;date&quot;,&quot;category&quot;],dflt:&quot;-&quot;,editType:&quot;calc&quot;},autorange:{valType:&quot;enumerated&quot;,values:[!0,!1,&quot;reversed&quot;],dflt:!0,editType:&quot;calc&quot;},rangemode:{valType:&quot;enumerated&quot;,values:[&quot;normal&quot;,&quot;tozero&quot;,&quot;nonnegative&quot;],dflt:&quot;normal&quot;,editType:&quot;calc&quot;},range:{valType:&quot;info_array&quot;,editType:&quot;calc&quot;,items:[{valType:&quot;any&quot;,editType:&quot;calc&quot;},{valType:&quot;any&quot;,editType:&quot;calc&quot;}]},fixedrange:{valType:&quot;boolean&quot;,dflt:!1,editType:&quot;calc&quot;},cheatertype:{valType:&quot;enumerated&quot;,values:[&quot;index&quot;,&quot;value&quot;],dflt:&quot;value&quot;,editType:&quot;calc&quot;},tickmode:{valType:&quot;enumerated&quot;,values:[&quot;linear&quot;,&quot;array&quot;],dflt:&quot;array&quot;,editType:&quot;calc&quot;},nticks:{valType:&quot;integer&quot;,min:0,dflt:0,editType:&quot;calc&quot;},tickvals:{valType:&quot;data_array&quot;,editType:&quot;calc&quot;},ticktext:{valType:&quot;data_array&quot;,editType:&quot;calc&quot;},showticklabels:{valType:&quot;enumerated&quot;,values:[&quot;start&quot;,&quot;end&quot;,&quot;both&quot;,&quot;none&quot;],dflt:&quot;start&quot;,editType:&quot;calc&quot;},tickfont:n({editType:&quot;calc&quot;}),tickangle:{valType:&quot;angle&quot;,dflt:&quot;auto&quot;,editType:&quot;calc&quot;},tickprefix:{valType:&quot;string&quot;,dflt:&quot;&quot;,editType:&quot;calc&quot;},showtickprefix:{valType:&quot;enumerated&quot;,values:[&quot;all&quot;,&quot;first&quot;,&quot;last&quot;,&quot;none&quot;],dflt:&quot;all&quot;,editType:&quot;calc&quot;},ticksuffix:{valType:&quot;string&quot;,dflt:&quot;&quot;,editType:&quot;calc&quot;},showticksuffix:{valType:&quot;enumerated&quot;,values:[&quot;all&quot;,&quot;first&quot;,&quot;last&quot;,&quot;none&quot;],dflt:&quot;all&quot;,editType:&quot;calc&quot;},showexponent:{valType:&quot;enumerated&quot;,values:[&quot;all&quot;,&quot;first&quot;,&quot;last&quot;,&quot;none&quot;],dflt:&quot;all&quot;,editType:&quot;calc&quot;},exponentformat:{valType:&quot;enumerated&quot;,values:[&quot;none&quot;,&quot;e&quot;,&quot;E&quot;,&quot;power&quot;,&quot;SI&quot;,&quot;B&quot;],dflt:&quot;B&quot;,editType:&quot;calc&quot;},separatethousands:{valType:&quot;boolean&quot;,dflt:!1,editType:&quot;calc&quot;},tickformat:{valType:&quot;string&quot;,dflt:&quot;&quot;,editType:&quot;calc&quot;},tickformatstops:o(a.tickformatstops,&quot;calc&quot;,&quot;from-root&quot;),categoryorder:{valType:&quot;enumerated&quot;,values:[&quot;trace&quot;,&quot;category ascending&quot;,&quot;category descending&quot;,&quot;array&quot;],dflt:&quot;trace&quot;,editType:&quot;calc&quot;},categoryarray:{valType:&quot;data_array&quot;,editType:&quot;calc&quot;},labelpadding:{valType:&quot;integer&quot;,dflt:10,editType:&quot;calc&quot;},labelprefix:{valType:&quot;string&quot;,editType:&quot;calc&quot;},labelsuffix:{valType:&quot;string&quot;,dflt:&quot;&quot;,editType:&quot;calc&quot;},showline:{valType:&quot;boolean&quot;,dflt:!1,editType:&quot;calc&quot;},linecolor:{valType:&quot;color&quot;,dflt:i.defaultLine,editType:&quot;calc&quot;},linewidth:{valType:&quot;number&quot;,min:0,dflt:1,editType:&quot;calc&quot;},gridcolor:{valType:&quot;color&quot;,editType:&quot;calc&quot;},gridwidth:{valType:&quot;number&quot;,min:0,dflt:1,editType:&quot;calc&quot;},showgrid:{valType:&quot;boolean&quot;,dflt:!0,editType:&quot;calc&quot;},minorgridcount:{valType:&quot;integer&quot;,min:0,dflt:0,editType:&quot;calc&quot;},minorgridwidth:{valType:&quot;number&quot;,min:0,dflt:1,editType:&quot;calc&quot;},minorgridcolor:{valType:&quot;color&quot;,dflt:i.lightLine,editType:&quot;calc&quot;},startline:{valType:&quot;boolean&quot;,editType:&quot;calc&quot;},startlinecolor:{valType:&quot;color&quot;,editType:&quot;calc&quot;},startlinewidth:{valType:&quot;number&quot;,dflt:1,editType:&quot;calc&quot;},endline:{valType:&quot;boolean&quot;,editType:&quot;calc&quot;},endlinewidth:{valType:&quot;number&quot;,dflt:1,editType:&quot;calc&quot;},endlinecolor:{valType:&quot;color&quot;,editType:&quot;calc&quot;},tick0:{valType:&quot;number&quot;,min:0,dflt:0,editType:&quot;calc&quot;},dtick:{valType:&quot;number&quot;,min:0,dflt:1,editType:&quot;calc&quot;},arraytick0:{valType:&quot;integer&quot;,min:0,dflt:0,editType:&quot;calc&quot;},arraydtick:{valType:&quot;integer&quot;,min:1,dflt:1,editType:&quot;calc&quot;},editType:&quot;calc&quot;}},{&quot;../../components/color/attributes&quot;:617,&quot;../../plot_api/edit_types&quot;:773,&quot;../../plots/cartesian/layout_attributes&quot;:801,&quot;../../plots/font_attributes&quot;:816}],916:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;./attributes&quot;),i=t(&quot;../../components/color&quot;).addOpacity,a=t(&quot;../../registry&quot;),o=t(&quot;../../lib&quot;),s=t(&quot;../../plots/cartesian/tick_value_defaults&quot;),l=t(&quot;../../plots/cartesian/tick_label_defaults&quot;),c=t(&quot;../../plots/cartesian/category_order_defaults&quot;),u=t(&quot;../../plots/cartesian/set_convert&quot;),f=t(&quot;../../plots/cartesian/ordered_categories&quot;),h=t(&quot;../../plots/cartesian/axis_autotype&quot;);e.exports=function(t,e,r){function d(r,n){return o.coerce(t,e,v,r,n)}function p(r,n){return o.coerce2(t,e,v,r,n)}var m=r.letter,g=r.font||{},v=n[m+&quot;axis&quot;];r.noHover=!0,r.name&amp;&amp;(e._name=r.name,e._id=r.name);var y=d(&quot;type&quot;);if(&quot;-&quot;===y&amp;&amp;(r.data&amp;&amp;function(t,e){if(&quot;-&quot;===t.type){var r=t[t._id.charAt(0)+&quot;calendar&quot;];t.type=h(e,r)}}(e,r.data),&quot;-&quot;===e.type?e.type=&quot;linear&quot;:y=t.type=e.type),d(&quot;smoothing&quot;),d(&quot;cheatertype&quot;),d(&quot;showticklabels&quot;),d(&quot;labelprefix&quot;,m+&quot; = &quot;),d(&quot;labelsuffix&quot;),d(&quot;showtickprefix&quot;),d(&quot;showticksuffix&quot;),d(&quot;separatethousands&quot;),d(&quot;tickformat&quot;),d(&quot;exponentformat&quot;),d(&quot;showexponent&quot;),d(&quot;categoryorder&quot;),d(&quot;tickmode&quot;),d(&quot;tickvals&quot;),d(&quot;ticktext&quot;),d(&quot;tick0&quot;),d(&quot;dtick&quot;),&quot;array&quot;===e.tickmode&amp;&amp;(d(&quot;arraytick0&quot;),d(&quot;arraydtick&quot;)),d(&quot;labelpadding&quot;),e._hovertitle=m,&quot;date&quot;===y){a.getComponentMethod(&quot;calendars&quot;,&quot;handleDefaults&quot;)(t,e,&quot;calendar&quot;,r.calendar)}u(e,r.fullLayout);var x=d(&quot;color&quot;,r.dfltColor),b=x===t.color?x:g.color;d(&quot;title&quot;),o.coerceFont(d,&quot;titlefont&quot;,{family:g.family,size:Math.round(1.2*g.size),color:b}),d(&quot;titleoffset&quot;),d(&quot;tickangle&quot;);d(&quot;autorange&quot;,!e.isValidRange(t.range))&amp;&amp;d(&quot;rangemode&quot;),d(&quot;range&quot;),e.cleanRange(),d(&quot;fixedrange&quot;),s(t,e,d,y),l(t,e,d,y,r),c(t,e,d);var _=p(&quot;gridcolor&quot;,i(x,.3)),w=p(&quot;gridwidth&quot;),M=d(&quot;showgrid&quot;);M||(delete e.gridcolor,delete e.gridwidth);var k=p(&quot;startlinecolor&quot;,x),A=p(&quot;startlinewidth&quot;,w);d(&quot;startline&quot;,e.showgrid||!!k||!!A)||(delete e.startlinecolor,delete e.startlinewidth);var T=p(&quot;endlinecolor&quot;,x),S=p(&quot;endlinewidth&quot;,w);return d(&quot;endline&quot;,e.showgrid||!!T||!!S)||(delete e.endlinecolor,delete e.endlinewidth),M?(d(&quot;minorgridcount&quot;),d(&quot;minorgridwidth&quot;,w),d(&quot;minorgridcolor&quot;,i(_,.06)),e.minorgridcount||(delete e.minorgridwidth,delete e.minorgridcolor)):(delete e.gridcolor,delete e.gridWidth),e._initialCategories=&quot;category&quot;===y?f(m,e.categoryorder,e.categoryarray,r.data):[],&quot;none&quot;===e.showticklabels&amp;&amp;(delete e.tickfont,delete e.tickangle,delete e.showexponent,delete e.exponentformat,delete e.tickformat,delete e.showticksuffix,delete e.showtickprefix),e.showticksuffix||delete e.ticksuffix,e.showtickprefix||delete e.tickprefix,d(&quot;tickmode&quot;),(!e.title||e.title&amp;&amp;0===e.title.length)&amp;&amp;(delete e.titlefont,delete e.titleoffset),e}},{&quot;../../components/color&quot;:618,&quot;../../lib&quot;:743,&quot;../../plots/cartesian/axis_autotype&quot;:790,&quot;../../plots/cartesian/category_order_defaults&quot;:793,&quot;../../plots/cartesian/ordered_categories&quot;:804,&quot;../../plots/cartesian/set_convert&quot;:808,&quot;../../plots/cartesian/tick_label_defaults&quot;:809,&quot;../../plots/cartesian/tick_value_defaults&quot;:811,&quot;../../registry&quot;:873,&quot;./attributes&quot;:913}],917:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../plots/cartesian/axes&quot;),i=t(&quot;./cheater_basis&quot;),a=t(&quot;./array_minmax&quot;),o=t(&quot;./map_2d_array&quot;),s=t(&quot;./calc_gridlines&quot;),l=t(&quot;./calc_labels&quot;),c=t(&quot;./calc_clippath&quot;),u=t(&quot;../heatmap/clean_2d_array&quot;),f=t(&quot;./smooth_fill_2d_array&quot;);e.exports=function(t,e){var r,h=n.getFromId(t,e.xaxis||&quot;x&quot;),d=n.getFromId(t,e.yaxis||&quot;y&quot;),p=e.aaxis,m=e.baxis,g=e._a=e.a,v=e._b=e.b,y={},x=e.y;if(e._cheater){var b=&quot;index&quot;===p.cheatertype?g.length:g,_=&quot;index&quot;===m.cheatertype?v.length:v;e.x=r=i(b,_,e.cheaterslope)}else r=e.x;e._x=e.x=r=u(r),e._y=e.y=x=u(x),f(r,g,v),f(x,g,v),e.setScale(),y.xp=e.xp=o(e.xp,r,h.c2p),y.yp=e.yp=o(e.yp,x,d.c2p);var w=a(r),M=a(x),k=.5*(w[1]-w[0]),A=.5*(w[1]+w[0]),T=.5*(M[1]-M[0]),S=.5*(M[1]+M[0]);return w=[A-1.3*k,A+1.3*k],M=[S-1.3*T,S+1.3*T],n.expand(h,w,{padded:!0}),n.expand(d,M,{padded:!0}),s(e,y,&quot;a&quot;,&quot;b&quot;),s(e,y,&quot;b&quot;,&quot;a&quot;),l(e,p),l(e,m),y.clipsegments=c(e.xctrl,e.yctrl,p,m),y.x=r,y.y=x,y.a=g,y.b=v,[y]}},{&quot;../../plots/cartesian/axes&quot;:789,&quot;../heatmap/clean_2d_array&quot;:979,&quot;./array_minmax&quot;:912,&quot;./calc_clippath&quot;:918,&quot;./calc_gridlines&quot;:919,&quot;./calc_labels&quot;:920,&quot;./cheater_basis&quot;:922,&quot;./map_2d_array&quot;:934,&quot;./smooth_fill_2d_array&quot;:938}],918:[function(t,e,r){&quot;use strict&quot;;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&lt;=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&lt;=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&gt;=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&gt;=0;i--)a[f-i]=t[i][0],o[f-i]=e[i][0];return s.push({x:a,y:o,bicubic:c}),s}},{}],919:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../plots/cartesian/axes&quot;),i=t(&quot;../../lib/extend&quot;).extendFlat;e.exports=function(t,e,r,a){function o(e){var n,i,o,s,l,c,u,f,h,d,p,g,v=[],y=[],x={};if(&quot;b&quot;===r)for(i=t.b2j(e),o=Math.floor(Math.max(0,Math.min(P-2,i))),s=i-o,x.length=P,x.crossLength=I,x.xy=function(e){return t.evalxy([],e,i)},x.dxy=function(e,r){return t.dxydi([],e,o,r,s)},n=0;n&lt;I;n++)c=Math.min(I-2,n),u=n-c,f=t.evalxy([],n,i),E.smoothing&amp;&amp;n&gt;0&amp;&amp;(h=t.dxydi([],n-1,o,0,s),v.push(l[0]+h[0]/3),y.push(l[1]+h[1]/3),d=t.dxydi([],n-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(n=t.a2i(e),c=Math.floor(Math.max(0,Math.min(I-2,n))),u=n-c,x.length=I,x.crossLength=P,x.xy=function(e){return t.evalxy([],n,e)},x.dxy=function(e,r){return t.dxydj([],c,e,u,r)},i=0;i&lt;P;i++)o=Math.min(P-2,i),s=i-o,f=t.evalxy([],n,i),E.smoothing&amp;&amp;i&gt;0&amp;&amp;(p=t.dxydj([],c,i-1,u,0),v.push(l[0]+p[0]/3),y.push(l[1]+p[1]/3),g=t.dxydj([],c,i-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=r,x.axis=M,x.crossAxis=E,x.value=e,x.constvar=a,x.index=m,x.x=v,x.y=y,x.smoothing=E.smoothing,x}function s(e){var n,i,o,s,l,c=[],u=[],f={};if(f.length=w.length,f.crossLength=S.length,&quot;b&quot;===r)for(o=Math.max(0,Math.min(P-2,e)),l=Math.min(1,Math.max(0,e-o)),f.xy=function(r){return t.evalxy([],r,e)},f.dxy=function(e,r){return t.dxydi([],e,o,r,l)},n=0;n&lt;z;n++)c[n]=L[e*O][n],u[n]=C[e*O][n];else for(i=Math.max(0,Math.min(I-2,e)),s=Math.min(1,Math.max(0,e-i)),f.xy=function(r){return t.evalxy([],e,r)},f.dxy=function(e,r){return t.dxydj([],i,e,s,r)},n=0;n&lt;D;n++)c[n]=L[n][e*O],u[n]=C[n][e*O];return f.axisLetter=r,f.axis=M,f.crossAxis=E,f.value=w[e],f.constvar=a,f.index=e,f.x=c,f.y=u,f.smoothing=E.smoothing,f}var l,c,u,f,h,d,p,m,g,v,y,x,b,_,w=t[r],M=t[r+&quot;axis&quot;],k=M._gridlines=[],A=M._minorgridlines=[],T=M._boundarylines=[],S=t[a],E=t[a+&quot;axis&quot;];if(&quot;array&quot;===M.tickmode)for(M.tickvals=[],l=0;l&lt;w.length;l++)M.tickvals.push(w[l]);var L=t.xctrl,C=t.yctrl,z=L[0].length,D=L.length,I=t.a.length,P=t.b.length;n.calcTicks(M);var O=M.smoothing?3:1;if(&quot;array&quot;===M.tickmode){for(f=5e-15,d=(h=[Math.floor((w.length-1-M.arraytick0)/M.arraydtick*(1+f)),Math.ceil(-M.arraytick0/M.arraydtick/(1+f))].sort(function(t,e){return t-e}))[0]-1,p=h[1]+1,m=d;m&lt;p;m++)(c=M.arraytick0+M.arraydtick*m)&lt;0||c&gt;w.length-1||k.push(i(s(c),{color:M.gridcolor,width:M.gridwidth}));for(m=d;m&lt;p;m++)if(u=M.arraytick0+M.arraydtick*m,y=Math.min(u+M.arraydtick,w.length-1),!(u&lt;0||u&gt;w.length-1||y&lt;0||y&gt;w.length-1))for(x=w[u],b=w[y],l=0;l&lt;M.minorgridcount;l++)(_=y-u)&lt;=0||(v=x+(b-x)*(l+1)/(M.minorgridcount+1)*(M.arraydtick/_))&lt;w[0]||v&gt;w[w.length-1]||A.push(i(o(v),{color:M.minorgridcolor,width:M.minorgridwidth}));M.startline&amp;&amp;T.push(i(s(0),{color:M.startlinecolor,width:M.startlinewidth})),M.endline&amp;&amp;T.push(i(s(w.length-1),{color:M.endlinecolor,width:M.endlinewidth}))}else{for(f=5e-15,d=(h=[Math.floor((w[w.length-1]-M.tick0)/M.dtick*(1+f)),Math.ceil((w[0]-M.tick0)/M.dtick/(1+f))].sort(function(t,e){return t-e}))[0],p=h[1],m=d;m&lt;=p;m++)g=M.tick0+M.dtick*m,k.push(i(o(g),{color:M.gridcolor,width:M.gridwidth}));for(m=d-1;m&lt;p+1;m++)for(g=M.tick0+M.dtick*m,l=0;l&lt;M.minorgridcount;l++)(v=g+M.dtick*(l+1)/(M.minorgridcount+1))&lt;w[0]||v&gt;w[w.length-1]||A.push(i(o(v),{color:M.minorgridcolor,width:M.minorgridwidth}));M.startline&amp;&amp;T.push(i(o(w[0]),{color:M.startlinecolor,width:M.startlinewidth})),M.endline&amp;&amp;T.push(i(o(w[w.length-1]),{color:M.endlinecolor,width:M.endlinewidth}))}}},{&quot;../../lib/extend&quot;:732,&quot;../../plots/cartesian/axes&quot;:789}],920:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../plots/cartesian/axes&quot;),i=t(&quot;../../lib/extend&quot;).extendFlat;e.exports=function(t,e){var r,a,o,s=e._labels=[],l=e._gridlines;for(r=0;r&lt;l.length;r++)o=l[r],-1!==[&quot;start&quot;,&quot;both&quot;].indexOf(e.showticklabels)&amp;&amp;(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!==[&quot;end&quot;,&quot;both&quot;].indexOf(e.showticklabels)&amp;&amp;(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))}},{&quot;../../lib/extend&quot;:732,&quot;../../plots/cartesian/axes&quot;:789}],921:[function(t,e,r){&quot;use strict&quot;;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,d=l*(l+c)*3;return[[e[0]+(h&amp;&amp;u/h),e[1]+(h&amp;&amp;f/h)],[e[0]-(d&amp;&amp;u/d),e[1]-(d&amp;&amp;f/d)]]}},{}],922:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib&quot;).isArray;e.exports=function(t,e,r){var i,a,o,s,l,c=[],u=n(t)?t.length:t,f=n(e)?e.length:e,h=n(t)?t:null,d=n(e)?e:null;h&amp;&amp;(o=(h.length-1)/(h[h.length-1]-h[0])/(u-1)),d&amp;&amp;(s=(d.length-1)/(d[d.length-1]-d[0])/(f-1));var p,m=1/0,g=-1/0;for(a=0;a&lt;f;a++)for(c[a]=[],l=d?(d[a]-d[0])*s:a/(f-1),i=0;i&lt;u;i++)p=(h?(h[i]-h[0])*o:i/(u-1))-l*r,m=Math.min(p,m),g=Math.max(p,g),c[a][i]=p;var v=1/(g-m),y=-m*v;for(a=0;a&lt;f;a++)for(i=0;i&lt;u;i++)c[a][i]=v*c[a][i]+y;return c}},{&quot;../../lib&quot;:743}],923:[function(t,e,r){&quot;use strict&quot;;function n(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]}var i=t(&quot;./catmull_rom&quot;),a=t(&quot;../../lib&quot;).ensureArray;e.exports=function(t,e,r,o,s,l){var c,u,f,h,d,p,m,g,v,y,x=r[0].length,b=r.length,_=s?3*x-2:x,w=l?3*b-2:b;for(t=a(t,w),e=a(e,w),f=0;f&lt;w;f++)t[f]=a(t[f],_),e[f]=a(e[f],_);for(u=0,h=0;u&lt;b;u++,h+=l?3:1)for(d=t[h],p=e[h],m=r[u],g=o[u],c=0,f=0;c&lt;x;c++,f+=s?3:1)d[f]=m[c],p[f]=g[c];if(s)for(u=0,h=0;u&lt;b;u++,h+=l?3:1){for(c=1,f=3;c&lt;x-1;c++,f+=3)v=i([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=n([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=n([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&lt;_;f++){for(h=3;h&lt;w-3;h+=3)v=i([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=n([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=n([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&amp;&amp;l)for(h=1;h&lt;w;h+=(h+1)%3==0?2:1){for(f=3;f&lt;_-3;f+=3)v=i([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=n([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=n([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]}},{&quot;../../lib&quot;:743,&quot;./catmull_rom&quot;:921}],924:[function(t,e,r){&quot;use strict&quot;;e.exports={RELATIVE_CULL_TOLERANCE:1e-6}},{}],925:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t,e,r){return e&amp;&amp;r?function(e,r,n,i,a){e||(e=[]);var o,s,l,c,u,f;r*=3,n*=3;var h=i*i,d=1-i,p=d*d,m=d*i*2,g=-3*p,v=3*(p-m),y=3*(m-h),x=3*h,b=a*a,_=b*a,w=1-a,M=w*w,k=M*w;for(f=0;f&lt;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*(M*a*s+w*b*l)+_*c;return e}:e?function(e,r,n,i,a){e||(e=[]);var o,s,l,c;r*=3;var u=i*i,f=1-i,h=f*f,d=f*i*2,p=-3*h,m=3*(h-d),g=3*(d-u),v=3*u,y=1-a;for(l=0;l&lt;t.length;l++)o=p*(c=t[l])[n][r]+m*c[n][r+1]+g*c[n][r+2]+v*c[n][r+3],s=p*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){e||(e=[]);var o,s,l,c,u,f;n*=3;var h=a*a,d=h*a,p=1-a,m=p*p,g=m*p;for(u=0;u&lt;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+p*h*l)+d*c;return e}:function(e,r,n,i,a){e||(e=[]);var o,s,l,c,u=1-a;for(l=0;l&lt;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}}},{}],926:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t,e,r){return e&amp;&amp;r?function(e,r,n,i,a){e||(e=[]);var o,s,l,c,u,f;r*=3,n*=3;var h=i*i,d=h*i,p=1-i,m=p*p,g=m*p,v=a*a,y=1-a,x=y*y,b=y*a*2,_=-3*x,w=3*(x-b),M=3*(b-v),k=3*v;for(f=0;f&lt;t.length;f++)o=_*(u=t[f])[n][r]+w*u[n+1][r]+M*u[n+2][r]+k*u[n+3][r],s=_*u[n][r+1]+w*u[n+1][r+1]+M*u[n+2][r+1]+k*u[n+3][r+1],l=_*u[n][r+2]+w*u[n+1][r+2]+M*u[n+2][r+2]+k*u[n+3][r+2],c=_*u[n][r+3]+w*u[n+1][r+3]+M*u[n+2][r+3]+k*u[n+3][r+3],e[f]=g*o+3*(m*i*s+p*h*l)+d*c;return e}:e?function(e,r,n,i,a){e||(e=[]);var o,s,l,c,u,f;r*=3;var h=a*a,d=h*a,p=1-a,m=p*p,g=m*p;for(u=0;u&lt;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+p*h*l)+d*c;return e}:r?function(e,r,n,i,a){e||(e=[]);var o,s,l,c;n*=3;var u=1-i,f=a*a,h=1-a,d=h*h,p=h*a*2,m=-3*d,g=3*(d-p),v=3*(p-f),y=3*f;for(l=0;l&lt;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){e||(e=[]);var o,s,l,c,u=1-i;for(l=0;l&lt;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}}},{}],927:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t,e,r,n,i){var a=e-2,o=r-2;return n&amp;&amp;i?function(e,r,n){e||(e=[]);var i,s,l,c,u,f,h=Math.max(0,Math.min(Math.floor(r),a)),d=Math.max(0,Math.min(Math.floor(n),o)),p=Math.max(0,Math.min(1,r-h)),m=Math.max(0,Math.min(1,n-d));h*=3,d*=3;var g=p*p,v=g*p,y=1-p,x=y*y,b=x*y,_=m*m,w=_*m,M=1-m,k=M*M,A=k*M;for(f=0;f&lt;t.length;f++)i=b*(u=t[f])[d][h]+3*(x*p*u[d][h+1]+y*g*u[d][h+2])+v*u[d][h+3],s=b*u[d+1][h]+3*(x*p*u[d+1][h+1]+y*g*u[d+1][h+2])+v*u[d+1][h+3],l=b*u[d+2][h]+3*(x*p*u[d+2][h+1]+y*g*u[d+2][h+2])+v*u[d+2][h+3],c=b*u[d+3][h]+3*(x*p*u[d+3][h+1]+y*g*u[d+3][h+2])+v*u[d+3][h+3],e[f]=A*i+3*(k*m*s+M*_*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)),d=Math.max(0,Math.min(Math.floor(n),o)),p=Math.max(0,Math.min(1,r-h)),m=Math.max(0,Math.min(1,n-d));h*=3;var g=p*p,v=g*p,y=1-p,x=y*y,b=x*y,_=1-m;for(u=0;u&lt;t.length;u++)i=_*(f=t[u])[d][h]+m*f[d+1][h],s=_*f[d][h+1]+m*f[d+1][h+1],l=_*f[d][h+2]+m*f[d+1][h+1],c=_*f[d][h+3]+m*f[d+1][h+1],e[u]=b*i+3*(x*p*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)),d=Math.max(0,Math.min(Math.floor(n),o)),p=Math.max(0,Math.min(1,r-h)),m=Math.max(0,Math.min(1,n-d));d*=3;var g=m*m,v=g*m,y=1-m,x=y*y,b=x*y,_=1-p;for(u=0;u&lt;t.length;u++)i=_*(f=t[u])[d][h]+p*f[d][h+1],s=_*f[d+1][h]+p*f[d+1][h+1],l=_*f[d+2][h]+p*f[d+2][h+1],c=_*f[d+3][h]+p*f[d+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)),d=Math.max(0,Math.min(1,n-f)),p=1-d,m=1-h;for(l=0;l&lt;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]=p*i+d*s;return e}}},{}],928:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib&quot;),i=t(&quot;./xy_defaults&quot;),a=t(&quot;./ab_defaults&quot;),o=t(&quot;./set_convert&quot;),s=t(&quot;./attributes&quot;),l=t(&quot;../../components/color/attributes&quot;);e.exports=function(t,e,r,c){function u(r,i){return n.coerce(t,e,s,r,i)}e._clipPathId=&quot;clip&quot;+e.uid+&quot;carpet&quot;;var f=u(&quot;color&quot;,l.defaultLine);if(n.coerceFont(u,&quot;font&quot;),u(&quot;carpet&quot;),a(t,e,c,u,f),e.a&amp;&amp;e.b){e.a.length&lt;3&amp;&amp;(e.aaxis.smoothing=0),e.b.length&lt;3&amp;&amp;(e.baxis.smoothing=0);var h=i(t,e,u);o(e),e._cheater&amp;&amp;u(&quot;cheaterslope&quot;),h||(e.visible=!1)}else e.visible=!1}},{&quot;../../components/color/attributes&quot;:617,&quot;../../lib&quot;:743,&quot;./ab_defaults&quot;:911,&quot;./attributes&quot;:913,&quot;./set_convert&quot;:937,&quot;./xy_defaults&quot;:939}],929:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t){return Array.isArray(t[0])}},{}],930:[function(t,e,r){&quot;use strict&quot;;var n={};n.attributes=t(&quot;./attributes&quot;),n.supplyDefaults=t(&quot;./defaults&quot;),n.plot=t(&quot;./plot&quot;),n.calc=t(&quot;./calc&quot;),n.animatable=!0,n.moduleType=&quot;trace&quot;,n.name=&quot;carpet&quot;,n.basePlotModule=t(&quot;../../plots/cartesian&quot;),n.categories=[&quot;cartesian&quot;,&quot;carpet&quot;,&quot;carpetAxis&quot;,&quot;notLegendIsolatable&quot;],n.meta={},e.exports=n},{&quot;../../plots/cartesian&quot;:800,&quot;./attributes&quot;:913,&quot;./calc&quot;:917,&quot;./defaults&quot;:928,&quot;./plot&quot;:936}],931:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t,e){for(var r,n=t._fullData.length,i=0;i&lt;n;i++){var a=t._fullData[i];if(a.index!==e.index&amp;&amp;(&quot;carpet&quot;===a.type&amp;&amp;(r||(r=a),a.carpet===e.carpet)))return a}return r}},{}],932:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t,e,r){if(0===t.length)return&quot;&quot;;var n,i=[],a=r?3:1;for(n=0;n&lt;t.length;n+=a)i.push(t[n]+&quot;,&quot;+e[n]),r&amp;&amp;n&lt;t.length-a&amp;&amp;(i.push(&quot;C&quot;),i.push([t[n+1]+&quot;,&quot;+e[n+1],t[n+2]+&quot;,&quot;+e[n+2]+&quot; &quot;].join(&quot; &quot;)));return i.join(r?&quot;&quot;:&quot;L&quot;)}},{}],933:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t,e,r){var n;for(Array.isArray(t)?t.length&gt;e.length&amp;&amp;(t=t.slice(0,e.length)):t=[],n=0;n&lt;e.length;n++)t[n]=r(e[n]);return t}},{}],934:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t,e,r){var n,i;for(Array.isArray(t)?t.length&gt;e.length&amp;&amp;(t=t.slice(0,e.length)):t=[],n=0;n&lt;e.length;n++)for(Array.isArray(t[n])?t[n].length&gt;e.length&amp;&amp;(t[n]=t[n].slice(0,e.length)):t[n]=[],i=0;i&lt;e[0].length;i++)t[n][i]=r(e[n][i]);return t}},{}],935:[function(t,e,r){&quot;use strict&quot;;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 d=180*Math.atan2(s,o)/Math.PI;return d&lt;-90?(d+=180,l=-l):d&gt;90&amp;&amp;(d-=180,l=-l),{angle:d,flip:l,p:t.c2p(n,e,r),offsetMultplier:c}}},{}],936:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r){var n=t.selectAll(e+&quot;.&quot;+r).data([0]);return n.enter().append(e).classed(r,!0),n}function i(t,e,r){var i=r[0],l=r[0].trace,c=e.xaxis,d=e.yaxis,m=l.aaxis,g=l.baxis,v=t._fullLayout,y=e.plot.selectAll(&quot;.carpetlayer&quot;),x=v._clips,b=n(y,&quot;g&quot;,&quot;carpet&quot;+l.uid).classed(&quot;trace&quot;,!0),_=n(b,&quot;g&quot;,&quot;minorlayer&quot;),w=n(b,&quot;g&quot;,&quot;majorlayer&quot;),M=n(b,&quot;g&quot;,&quot;boundarylayer&quot;),k=n(b,&quot;g&quot;,&quot;labellayer&quot;);b.style(&quot;opacity&quot;,l.opacity),a(c,d,w,m,&quot;a&quot;,m._gridlines),a(c,d,w,g,&quot;b&quot;,g._gridlines),a(c,d,_,m,&quot;a&quot;,m._minorgridlines),a(c,d,_,g,&quot;b&quot;,g._minorgridlines),a(c,d,M,m,&quot;a-boundary&quot;,m._boundarylines),a(c,d,M,g,&quot;b-boundary&quot;,g._boundarylines);!function(t,e,r,n,i,a,o,l){var c,u,f,d;c=.5*(r.a[0]+r.a[r.a.length-1]),u=r.b[0],f=r.ab2xy(c,u,!0),d=r.dxyda_rough(c,u),void 0===o.angle&amp;&amp;p.extendFlat(o,h(r,i,a,f,r.dxydb_rough(c,u)));s(t,e,r,n,f,d,r.aaxis,i,a,o,&quot;a-title&quot;),c=r.a[0],u=.5*(r.b[0]+r.b[r.b.length-1]),f=r.ab2xy(c,u,!0),d=r.dxydb_rough(c,u),void 0===l.angle&amp;&amp;p.extendFlat(l,h(r,i,a,f,r.dxyda_rough(c,u)));s(t,e,r,n,f,d,r.baxis,i,a,l,&quot;b-title&quot;)}(t,k,l,i,c,d,o(t,c,d,l,i,k,m._labels,&quot;a-label&quot;),o(t,c,d,l,i,k,g._labels,&quot;b-label&quot;)),function(t,e,r,i,a){var o,s,l,c,h=r.select(&quot;#&quot;+t._clipPathId);h.size()||(h=r.append(&quot;clipPath&quot;).classed(&quot;carpetclip&quot;,!0));var d=n(h,&quot;path&quot;,&quot;carpetboundary&quot;),p=e.clipsegments,m=[];for(c=0;c&lt;p.length;c++)o=p[c],s=u([],o.x,i.c2p),l=u([],o.y,a.c2p),m.push(f(s,l,o.bicubic));var g=&quot;M&quot;+m.join(&quot;L&quot;)+&quot;Z&quot;;h.attr(&quot;id&quot;,t._clipPathId),d.attr(&quot;d&quot;,g)}(l,i,x,c,d)}function a(t,e,r,n,i,a){var o=&quot;const-&quot;+i+&quot;-lines&quot;,s=r.selectAll(&quot;.&quot;+o).data(a);s.enter().append(&quot;path&quot;).classed(o,!0).style(&quot;vector-effect&quot;,&quot;non-scaling-stroke&quot;),s.each(function(r){var n=r,i=n.x,a=n.y,o=u([],i,t.c2p),s=u([],a,e.c2p),c=&quot;M&quot;+f(o,s,n.smoothing);l.select(this).attr(&quot;d&quot;,c).style(&quot;stroke-width&quot;,n.width).style(&quot;stroke&quot;,n.color).style(&quot;fill&quot;,&quot;none&quot;)}),s.exit().remove()}function o(t,e,r,n,i,a,o,s){var u=a.selectAll(&quot;text.&quot;+s).data(o);u.enter().append(&quot;text&quot;).classed(s,!0);var f=0,p={};return u.each(function(i,a){var o;if(&quot;auto&quot;===i.axis.tickangle)o=h(n,e,r,i.xy,i.dxy);else{var s=(i.axis.tickangle+180)*Math.PI/180;o=h(n,e,r,i.xy,[Math.cos(s),Math.sin(s)])}a||(p={angle:o.angle,flip:o.flip});var u=(i.endAnchor?-1:1)*o.flip,m=l.select(this).attr({&quot;text-anchor&quot;:u&gt;0?&quot;start&quot;:&quot;end&quot;,&quot;data-notex&quot;:1}).call(c.font,i.font).text(i.text).call(d.convertToTspans,t),g=c.bBox(this);m.attr(&quot;transform&quot;,&quot;translate(&quot;+o.p[0]+&quot;,&quot;+o.p[1]+&quot;) rotate(&quot;+o.angle+&quot;)translate(&quot;+i.axis.labelpadding*u+&quot;,&quot;+.3*g.height+&quot;)&quot;),f=Math.max(f,g.width+i.axis.labelpadding)}),u.exit().remove(),p.maxExtent=f,p}function s(t,e,r,n,i,a,o,s,u,f,p){var m=[];o.title&amp;&amp;m.push(o.title);var y=e.selectAll(&quot;text.&quot;+p).data(m),x=f.maxExtent;y.enter().append(&quot;text&quot;).classed(p,!0),y.each(function(){var e=h(r,s,u,i,a);-1===[&quot;start&quot;,&quot;both&quot;].indexOf(o.showticklabels)&amp;&amp;(x=0);var n=o.titlefont.size;x+=n+o.titleoffset;var p=(f.angle+(f.flip&lt;0?180:0)-e.angle+450)%360,m=p&gt;90&amp;&amp;p&lt;270,y=l.select(this);y.text(o.title||&quot;&quot;).call(d.convertToTspans,t),m&amp;&amp;(x=(-d.lineCount(y)+v)*g*n-x),y.attr(&quot;transform&quot;,&quot;translate(&quot;+e.p[0]+&quot;,&quot;+e.p[1]+&quot;) rotate(&quot;+e.angle+&quot;) translate(0,&quot;+x+&quot;)&quot;).classed(&quot;user-select-none&quot;,!0).attr(&quot;text-anchor&quot;,&quot;middle&quot;).call(c.font,o.titlefont)}),y.exit().remove()}var l=t(&quot;d3&quot;),c=t(&quot;../../components/drawing&quot;),u=t(&quot;./map_1d_array&quot;),f=t(&quot;./makepath&quot;),h=t(&quot;./orient_text&quot;),d=t(&quot;../../lib/svg_text_utils&quot;),p=t(&quot;../../lib&quot;),m=t(&quot;../../constants/alignment&quot;);e.exports=function(t,e,r){for(var n=0;n&lt;r.length;n++)i(t,e,r[n])};var g=m.LINE_SPACING,v=(1-m.MID_SHIFT)/g+1},{&quot;../../components/drawing&quot;:643,&quot;../../constants/alignment&quot;:716,&quot;../../lib&quot;:743,&quot;../../lib/svg_text_utils&quot;:766,&quot;./makepath&quot;:932,&quot;./map_1d_array&quot;:933,&quot;./orient_text&quot;:935,d3:128}],937:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;./constants&quot;),i=t(&quot;../../lib/search&quot;).findBin,a=t(&quot;./compute_control_points&quot;),o=t(&quot;./create_spline_evaluator&quot;),s=t(&quot;./create_i_derivative_evaluator&quot;),l=t(&quot;./create_j_derivative_evaluator&quot;);e.exports=function(t){var e=t.a,r=t.b,c=t.a.length,u=t.b.length,f=t.aaxis,h=t.baxis,d=e[0],p=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;d-=x,p+=x,m-=b,g+=b,t.isVisible=function(t,e){return t&gt;d&amp;&amp;t&lt;p&amp;&amp;e&gt;m&amp;&amp;e&lt;g},t.isOccluded=function(t,e){return t&lt;d||t&gt;p||e&lt;m||e&gt;g},f.c2p=function(t){return t},h.c2p=function(t){return t},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&amp;&amp;(n&lt;e[0]||n&gt;e[c-1]|i&lt;r[0]||i&gt;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,d,p,m=0,g=0,v=[];n&lt;e[0]?(f=0,h=0,m=(n-e[0])/(e[1]-e[0])):n&gt;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&lt;r[0]?(d=0,p=0,g=(i-r[0])/(r[1]-r[0])):i&gt;r[u-1]?(d=u-2,p=1,g=(i-r[u-1])/(r[u-1]-r[u-2])):p=s-(d=Math.max(0,Math.min(u-2,Math.floor(s)))),m&amp;&amp;(t.dxydi(v,f,d,h,p),l[0]+=v[0]*m,l[1]+=v[1]*m),g&amp;&amp;(t.dxydj(v,f,d,h,p),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}}},{&quot;../../lib/search&quot;:761,&quot;./compute_control_points&quot;:923,&quot;./constants&quot;:924,&quot;./create_i_derivative_evaluator&quot;:925,&quot;./create_j_derivative_evaluator&quot;:926,&quot;./create_spline_evaluator&quot;:927}],938:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib&quot;);e.exports=function(t,e,r){function i(e,r){var n,i=0,a=0;return e&gt;0&amp;&amp;void 0!==(n=t[r][e-1])&amp;&amp;(a++,i+=n),e&lt;u-1&amp;&amp;void 0!==(n=t[r][e+1])&amp;&amp;(a++,i+=n),r&gt;0&amp;&amp;void 0!==(n=t[r-1][e])&amp;&amp;(a++,i+=n),r&lt;f-1&amp;&amp;void 0!==(n=t[r+1][e])&amp;&amp;(a++,i+=n),i/Math.max(1,a)}var a,o,s,l=[],c=[],u=t[0].length,f=t.length,h=0;for(a=0;a&lt;u;a++)for(o=0;o&lt;f;o++)void 0===t[o][a]&amp;&amp;(l.push(a),c.push(o),t[o][a]=i(a,o)),h=Math.max(h,Math.abs(t[o][a]));if(!l.length)return t;var d,p,m,g,v,y,x,b,_,w,M,k=0,A=0,T=l.length;do{for(k=0,s=0;s&lt;T;s++){a=l[s],o=c[s];var S,E,L,C,z,D,I=0,P=0;0===a?(L=e[z=Math.min(u-1,2)],C=e[1],S=t[o][z],P+=(E=t[o][1])+(E-S)*(e[0]-C)/(C-L),I++):a===u-1&amp;&amp;(L=e[z=Math.max(0,u-3)],C=e[u-2],S=t[o][z],P+=(E=t[o][u-2])+(E-S)*(e[u-1]-C)/(C-L),I++),(0===a||a===u-1)&amp;&amp;o&gt;0&amp;&amp;o&lt;f-1&amp;&amp;(d=r[o+1]-r[o],P+=((p=r[o]-r[o-1])*t[o+1][a]+d*t[o-1][a])/(p+d),I++),0===o?(L=r[D=Math.min(f-1,2)],C=r[1],S=t[D][a],P+=(E=t[1][a])+(E-S)*(r[0]-C)/(C-L),I++):o===f-1&amp;&amp;(L=r[D=Math.max(0,f-3)],C=r[f-2],S=t[D][a],P+=(E=t[f-2][a])+(E-S)*(r[f-1]-C)/(C-L),I++),(0===o||o===f-1)&amp;&amp;a&gt;0&amp;&amp;a&lt;u-1&amp;&amp;(d=e[a+1]-e[a],P+=((p=e[a]-e[a-1])*t[o][a+1]+d*t[o][a-1])/(p+d),I++),I?P/=I:(m=e[a+1]-e[a],g=e[a]-e[a-1],b=(v=r[o+1]-r[o])*(y=r[o]-r[o-1])*(v+y),P=((x=m*g*(m+g))*(y*t[o+1][a]+v*t[o-1][a])+b*(g*t[o][a+1]+m*t[o][a-1]))/(b*(g+m)+x*(y+v))),k+=(w=(_=P-t[o][a])/h)*w,M=I?0:.85,t[o][a]+=_*(1+M)}k=Math.sqrt(k)}while(A++&lt;100&amp;&amp;k&gt;1e-5);return n.log(&quot;Smoother converged to&quot;,k,&quot;after&quot;,A,&quot;iterations&quot;),t}},{&quot;../../lib&quot;:743}],939:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;./has_columns&quot;),i=t(&quot;../heatmap/convert_column_xyz&quot;);e.exports=function(t,e,r){var a=[],o=r(&quot;x&quot;);o&amp;&amp;!n(o)&amp;&amp;a.push(&quot;x&quot;),e._cheater=!o;var s=r(&quot;y&quot;);if(s&amp;&amp;!n(s)&amp;&amp;a.push(&quot;y&quot;),o||s)return a.length&amp;&amp;i(e,e.aaxis,e.baxis,&quot;a&quot;,&quot;b&quot;,a),!0}},{&quot;../heatmap/convert_column_xyz&quot;:981,&quot;./has_columns&quot;:929}],940:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../scattergeo/attributes&quot;),i=t(&quot;../../components/colorscale/attributes&quot;),a=t(&quot;../../components/colorbar/attributes&quot;),o=t(&quot;../../plots/attributes&quot;),s=t(&quot;../../lib/extend&quot;),l=s.extendFlat,c=s.extendDeepAll,u=n.marker.line;e.exports=l({locations:{valType:&quot;data_array&quot;,editType:&quot;calc&quot;},locationmode:n.locationmode,z:{valType:&quot;data_array&quot;,editType:&quot;calc&quot;},text:l({},n.text,{}),marker:{line:{color:u.color,width:l({},u.width,{dflt:1}),editType:&quot;calc&quot;},opacity:{valType:&quot;number&quot;,arrayOk:!0,min:0,max:1,dflt:1,editType:&quot;style&quot;},editType:&quot;calc&quot;},selected:{marker:{opacity:n.selected.marker.opacity,editType:&quot;plot&quot;},editType:&quot;plot&quot;},unselected:{marker:{opacity:n.unselected.marker.opacity,editType:&quot;plot&quot;},editType:&quot;plot&quot;},hoverinfo:l({},o.hoverinfo,{editType:&quot;calc&quot;,flags:[&quot;location&quot;,&quot;z&quot;,&quot;text&quot;,&quot;name&quot;]})},c({},i,{zmax:{editType:&quot;calc&quot;},zmin:{editType:&quot;calc&quot;}}),{colorbar:a})},{&quot;../../components/colorbar/attributes&quot;:619,&quot;../../components/colorscale/attributes&quot;:624,&quot;../../lib/extend&quot;:732,&quot;../../plots/attributes&quot;:787,&quot;../scattergeo/attributes&quot;:1104}],941:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;fast-isnumeric&quot;),i=t(&quot;../../constants/numerical&quot;).BADNUM,a=t(&quot;../../components/colorscale/calc&quot;),o=t(&quot;../scatter/arrays_to_calcdata&quot;),s=t(&quot;../scatter/calc_selection&quot;);e.exports=function(t,e){for(var r=e.locations.length,l=new Array(r),c=0;c&lt;r;c++){var u=l[c]={},f=e.locations[c],h=e.z[c];u.loc=&quot;string&quot;==typeof f?f:null,u.z=n(h)?h:i}return o(l,e),a(e,e.z,&quot;&quot;,&quot;z&quot;),s(l,e),l}},{&quot;../../components/colorscale/calc&quot;:625,&quot;../../constants/numerical&quot;:721,&quot;../scatter/arrays_to_calcdata&quot;:1065,&quot;../scatter/calc_selection&quot;:1068,&quot;fast-isnumeric&quot;:140}],942:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib&quot;),i=t(&quot;../../components/colorscale/defaults&quot;),a=t(&quot;./attributes&quot;);e.exports=function(t,e,r,o){function s(r,i){return n.coerce(t,e,a,r,i)}var l,c=s(&quot;locations&quot;);if(c&amp;&amp;(l=c.length),c&amp;&amp;l){var u=s(&quot;z&quot;);Array.isArray(u)?(u.length&gt;l&amp;&amp;(e.z=u.slice(0,l)),s(&quot;locationmode&quot;),s(&quot;text&quot;),s(&quot;marker.line.color&quot;),s(&quot;marker.line.width&quot;),s(&quot;marker.opacity&quot;),i(t,e,o,s,{prefix:&quot;&quot;,cLetter:&quot;z&quot;}),n.coerceSelectionMarkerOpacity(e,s)):e.visible=!1}else e.visible=!1}},{&quot;../../components/colorscale/defaults&quot;:628,&quot;../../lib&quot;:743,&quot;./attributes&quot;:940}],943:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t,e){return t.location=e.location,t.z=e.z,t}},{}],944:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../plots/cartesian/axes&quot;),i=t(&quot;./attributes&quot;),a=t(&quot;../scatter/fill_hover_text&quot;);e.exports=function(t,e,r){var o,s,l,c,u=t.cd,f=u[0].trace,h=t.subplot;for(s=0;s&lt;u.length;s++)if(o=u[s],c=!1,o._polygons){for(l=0;l&lt;o._polygons.length;l++)o._polygons[l].contains([e,r])&amp;&amp;(c=!c),o._polygons[l].contains([e+360,r])&amp;&amp;(c=!c);if(c)break}if(c&amp;&amp;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,function(t,e,r,o){var s=r.hi||e.hoverinfo,l=&quot;all&quot;===s?i.hoverinfo.flags:s.split(&quot;+&quot;),c=-1!==l.indexOf(&quot;name&quot;),u=-1!==l.indexOf(&quot;location&quot;),f=-1!==l.indexOf(&quot;z&quot;),h=-1!==l.indexOf(&quot;text&quot;),d=[];!c&amp;&amp;u?t.nameOverride=r.loc:(c&amp;&amp;(t.nameOverride=e.name),u&amp;&amp;d.push(r.loc)),f&amp;&amp;d.push(function(t){return n.tickText(o,o.c2l(t),&quot;hover&quot;).text}(r.z)),h&amp;&amp;a(r,e,d),t.extraText=d.join(&quot;&lt;br&gt;&quot;)}(t,f,o,h.mockAxis),[t]}},{&quot;../../plots/cartesian/axes&quot;:789,&quot;../scatter/fill_hover_text&quot;:1074,&quot;./attributes&quot;:940}],945:[function(t,e,r){&quot;use strict&quot;;var n={};n.attributes=t(&quot;./attributes&quot;),n.supplyDefaults=t(&quot;./defaults&quot;),n.colorbar=t(&quot;../heatmap/colorbar&quot;),n.calc=t(&quot;./calc&quot;),n.plot=t(&quot;./plot&quot;),n.style=t(&quot;./style&quot;),n.hoverPoints=t(&quot;./hover&quot;),n.eventData=t(&quot;./event_data&quot;),n.selectPoints=t(&quot;./select&quot;),n.moduleType=&quot;trace&quot;,n.name=&quot;choropleth&quot;,n.basePlotModule=t(&quot;../../plots/geo&quot;),n.categories=[&quot;geo&quot;,&quot;noOpacity&quot;],n.meta={},e.exports=n},{&quot;../../plots/geo&quot;:820,&quot;../heatmap/colorbar&quot;:980,&quot;./attributes&quot;:940,&quot;./calc&quot;:941,&quot;./defaults&quot;:942,&quot;./event_data&quot;:943,&quot;./hover&quot;:944,&quot;./plot&quot;:946,&quot;./select&quot;:947,&quot;./style&quot;:948}],946:[function(t,e,r){&quot;use strict&quot;;function n(t,e){for(var r=t[0].trace,n=t.length,i=s(r,e),a=0;a&lt;n;a++){var c=t[a],u=l(r.locationmode,c.loc,i);u?(c.geojson=u,c.ct=u.properties.ct,c.index=a,c._polygons=function(t){function e(t){for(var e=0;e&lt;t.length-1;e++)if(t[e][0]&gt;0&amp;&amp;t[e+1][0]&lt;0)return e;return null}var r,n,i,a,s=t.geometry,l=s.coordinates,c=t.id,u=[];r=&quot;RUS&quot;===c||&quot;FJI&quot;===c?function(t){var r;if(null===e(t))r=t;else for(r=new Array(t.length),a=0;a&lt;t.length;a++)r[a]=[t[a][0]&lt;0?t[a][0]+360:t[a][0],t[a][1]];u.push(o.tester(r))}:&quot;ATA&quot;===c?function(t){var r=e(t);if(null===r)return u.push(o.tester(t));var n=new Array(t.length+1),i=0;for(a=0;a&lt;t.length;a++)a&gt;r?n[i++]=[t[a][0]+360,t[a][1]]:a===r?(n[i++]=t[a],n[i++]=[t[a][0],-90]):n[i++]=t[a];var s=o.tester(n);s.pts.pop(),u.push(s)}:function(t){u.push(o.tester(t))};switch(s.type){case&quot;MultiPolygon&quot;:for(n=0;n&lt;l.length;n++)for(i=0;i&lt;l[n].length;i++)r(l[n][i]);break;case&quot;Polygon&quot;:for(n=0;n&lt;l.length;n++)r(l[n])}return u}(u)):c.geojson=null}}var i=t(&quot;d3&quot;),a=t(&quot;../../lib&quot;),o=t(&quot;../../lib/polygon&quot;),s=t(&quot;../../lib/topojson_utils&quot;).getTopojsonFeatures,l=t(&quot;../../lib/geo_location_utils&quot;).locationToFeature,c=t(&quot;./style&quot;);e.exports=function(t,e,r){for(var o=0;o&lt;r.length;o++)n(r[o],e.topojson);var s=e.layers.backplot.select(&quot;.choroplethlayer&quot;).selectAll(&quot;g.trace.choropleth&quot;).data(r,function(t){return t[0].trace.uid});s.enter().append(&quot;g&quot;).attr(&quot;class&quot;,&quot;trace choropleth&quot;),s.exit().remove(),s.each(function(e){var r=(e[0].node3=i.select(this)).selectAll(&quot;path.choroplethlocation&quot;).data(a.identity);r.enter().append(&quot;path&quot;).classed(&quot;choroplethlocation&quot;,!0),r.exit().remove(),c(t,e)})}},{&quot;../../lib&quot;:743,&quot;../../lib/geo_location_utils&quot;:735,&quot;../../lib/polygon&quot;:755,&quot;../../lib/topojson_utils&quot;:769,&quot;./style&quot;:948,d3:128}],947:[function(t,e,r){&quot;use strict&quot;;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&lt;s.length;r++)s[r].selected=0;else for(r=0;r&lt;s.length;r++)(i=(n=s[r]).ct)&amp;&amp;(a=l.c2p(i),o=c.c2p(i),e.contains([a,o])?(u.push({pointNumber:r,lon:i[0],lat:i[1]}),n.selected=1):n.selected=0);return u}},{}],948:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;d3&quot;),i=t(&quot;../../components/color&quot;),a=t(&quot;../../components/drawing&quot;),o=t(&quot;../../components/colorscale&quot;);e.exports=function(t,e){e&amp;&amp;function(t,e){var r=e[0].trace,s=e[0].node3.selectAll(&quot;.choroplethlocation&quot;),l=r.marker||{},c=l.line||{},u=o.makeColorScaleFunc(o.extractScale(r.colorscale,r.zmin,r.zmax));s.each(function(t){n.select(this).attr(&quot;fill&quot;,u(t.z)).call(i.stroke,t.mlc||c.color).call(a.dashLine,&quot;&quot;,t.mlw||c.width||0).style(&quot;opacity&quot;,l.opacity)}),a.selectedPointStyle(s,r)}(0,e)}},{&quot;../../components/color&quot;:618,&quot;../../components/colorscale&quot;:633,&quot;../../components/drawing&quot;:643,d3:128}],949:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../heatmap/attributes&quot;),i=t(&quot;../scatter/attributes&quot;),a=t(&quot;../../components/colorscale/attributes&quot;),o=t(&quot;../../components/colorbar/attributes&quot;),s=t(&quot;../../components/drawing/attributes&quot;).dash,l=t(&quot;../../plots/font_attributes&quot;),c=t(&quot;../../lib/extend&quot;).extendFlat,u=i.line;e.exports=c({z:n.z,x:n.x,x0:n.x0,dx:n.dx,y:n.y,y0:n.y0,dy:n.dy,text:n.text,transpose:n.transpose,xtype:n.xtype,ytype:n.ytype,zhoverformat:n.zhoverformat,connectgaps:n.connectgaps,autocontour:{valType:&quot;boolean&quot;,dflt:!0,editType:&quot;calc&quot;,impliedEdits:{&quot;contours.start&quot;:void 0,&quot;contours.end&quot;:void 0,&quot;contours.size&quot;:void 0}},ncontours:{valType:&quot;integer&quot;,dflt:15,min:1,editType:&quot;calc&quot;},contours:{start:{valType:&quot;number&quot;,dflt:null,editType:&quot;plot&quot;,impliedEdits:{&quot;^autocontour&quot;:!1}},end:{valType:&quot;number&quot;,dflt:null,editType:&quot;plot&quot;,impliedEdits:{&quot;^autocontour&quot;:!1}},size:{valType:&quot;number&quot;,dflt:null,min:0,editType:&quot;plot&quot;,impliedEdits:{&quot;^autocontour&quot;:!1}},coloring:{valType:&quot;enumerated&quot;,values:[&quot;fill&quot;,&quot;heatmap&quot;,&quot;lines&quot;,&quot;none&quot;],dflt:&quot;fill&quot;,editType:&quot;calc&quot;},showlines:{valType:&quot;boolean&quot;,dflt:!0,editType:&quot;plot&quot;},showlabels:{valType:&quot;boolean&quot;,dflt:!1,editType:&quot;plot&quot;},labelfont:l({editType:&quot;plot&quot;,colorEditType:&quot;style&quot;}),labelformat:{valType:&quot;string&quot;,dflt:&quot;&quot;,editType:&quot;plot&quot;},editType:&quot;calc&quot;,impliedEdits:{autocontour:!1}},line:{color:c({},u.color,{editType:&quot;style+colorbars&quot;}),width:c({},u.width,{editType:&quot;style+colorbars&quot;}),dash:s,smoothing:c({},u.smoothing,{}),editType:&quot;plot&quot;}},a,{autocolorscale:c({},a.autocolorscale,{dflt:!1}),zmin:c({},a.zmin,{editType:&quot;calc&quot;}),zmax:c({},a.zmax,{editType:&quot;calc&quot;})},{colorbar:o})},{&quot;../../components/colorbar/attributes&quot;:619,&quot;../../components/colorscale/attributes&quot;:624,&quot;../../components/drawing/attributes&quot;:642,&quot;../../lib/extend&quot;:732,&quot;../../plots/font_attributes&quot;:816,&quot;../heatmap/attributes&quot;:977,&quot;../scatter/attributes&quot;:1066}],950:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r){var n={type:&quot;linear&quot;,range:[t,e]};return i.autoTicks(n,(e-t)/(r||15)),n}var i=t(&quot;../../plots/cartesian/axes&quot;),a=t(&quot;../../lib&quot;).extendFlat,o=t(&quot;../heatmap/calc&quot;);e.exports=function(t,e){var r=o(t,e),s=e.contours;if(!1!==e.autocontour){var l=n(e.zmin,e.zmax,e.ncontours);s.size=l.dtick,s.start=i.tickFirst(l),l.range.reverse(),s.end=i.tickFirst(l),s.start===e.zmin&amp;&amp;(s.start+=s.size),s.end===e.zmax&amp;&amp;(s.end-=s.size),s.start&gt;s.end&amp;&amp;(s.start=s.end=(s.start+s.end)/2),e._input.contours||(e._input.contours={}),a(e._input.contours,{start:s.start,end:s.end,size:s.size}),e._input.autocontour=!0}else{var c=s.start,u=s.end,f=e._input.contours;if(c&gt;u&amp;&amp;(s.start=f.start=u,u=s.end=f.end=c,c=s.start),!(s.size&gt;0)){var h;h=c===u?1:n(c,u,e.ncontours).dtick,f.size=s.size=h}}return r}},{&quot;../../lib&quot;:743,&quot;../../plots/cartesian/axes&quot;:789,&quot;../heatmap/calc&quot;:978}],951:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../plots/plots&quot;),i=t(&quot;../../components/colorbar/draw&quot;),a=t(&quot;./make_color_map&quot;),o=t(&quot;./end_plus&quot;);e.exports=function(t,e){var r=e[0].trace,s=&quot;cb&quot;+r.uid;if(t._fullLayout._infolayer.selectAll(&quot;.&quot;+s).remove(),r.showscale){var l=i(t,s);e[0].t.cb=l;var c=r.contours,u=r.line,f=c.size||1,h=c.coloring,d=a(r,{isColorbar:!0});&quot;heatmap&quot;===h&amp;&amp;l.filllevels({start:r.zmin,end:r.zmax,size:(r.zmax-r.zmin)/254}),l.fillcolor(&quot;fill&quot;===h||&quot;heatmap&quot;===h?d:&quot;&quot;).line({color:&quot;lines&quot;===h?d:u.color,width:!1!==c.showlines?u.width:0,dash:u.dash}).levels({start:c.start,end:o(c),size:f}).options(r.colorbar)()}else n.autoMargin(t,s)}},{&quot;../../components/colorbar/draw&quot;:622,&quot;../../plots/plots&quot;:852,&quot;./end_plus&quot;:955,&quot;./make_color_map&quot;:959}],952:[function(t,e,r){&quot;use strict&quot;;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}}},{}],953:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib&quot;),i=t(&quot;./attributes&quot;);e.exports=function(t,e,r){var a=n.coerce2(t,e,i,&quot;contours.start&quot;),o=n.coerce2(t,e,i,&quot;contours.end&quot;),s=!1===a||!1===o,l=r(&quot;contours.size&quot;);!(s?e.autocontour=!0:r(&quot;autocontour&quot;,!1))&amp;&amp;l||r(&quot;ncontours&quot;)}},{&quot;../../lib&quot;:743,&quot;./attributes&quot;:949}],954:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib&quot;),i=t(&quot;../heatmap/has_columns&quot;),a=t(&quot;../heatmap/xyz_defaults&quot;),o=t(&quot;./contours_defaults&quot;),s=t(&quot;./style_defaults&quot;),l=t(&quot;./attributes&quot;);e.exports=function(t,e,r,c){function u(r,i){return n.coerce(t,e,l,r,i)}a(t,e,u,c)?(u(&quot;text&quot;),u(&quot;connectgaps&quot;,i(e)),o(t,e,u),s(t,e,u,c)):e.visible=!1}},{&quot;../../lib&quot;:743,&quot;../heatmap/has_columns&quot;:984,&quot;../heatmap/xyz_defaults&quot;:993,&quot;./attributes&quot;:949,&quot;./contours_defaults&quot;:953,&quot;./style_defaults&quot;:963}],955:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t){return t.end+t.size/1e6}},{}],956:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,n){return Math.abs(t[0]-e[0])&lt;r&amp;&amp;Math.abs(t[1]-e[1])&lt;n}function i(t,e){var r=t[2]-e[2],n=t[3]-e[3];return Math.sqrt(r*r+n*n)}function a(t,e,r,a,c){function u(t){return g[t%g.length]}var f,h=e.join(&quot;,&quot;),d=h,p=t.crossings[d],m=function(t,e,r){var n=0,i=0;t&gt;20&amp;&amp;e?208===t||1114===t?n=0===r[0]?1:-1:i=0===r[1]?1:-1:-1!==l.BOTTOMSTART.indexOf(t)?i=1:-1!==l.LEFTSTART.indexOf(t)?n=1:-1!==l.TOPSTART.indexOf(t)?i=-1:n=-1;return[n,i]}(p,r,e),g=[o(t,e,[-m[0],-m[1]])],v=m.join(&quot;,&quot;),y=t.z.length,x=t.z[0].length;for(f=0;f&lt;1e4;f++){if(p&gt;20?(p=l.CHOOSESADDLE[p][(m[0]||m[1])&lt;0?0:1],t.crossings[d]=l.SADDLEREMAINDER[p]):delete t.crossings[d],!(m=l.NEWDELTA[p])){s.log(&quot;Found bad marching index:&quot;,p,e,t.level);break}g.push(o(t,e,m)),e[0]+=m[0],e[1]+=m[1],n(g[g.length-1],g[g.length-2],a,c)&amp;&amp;g.pop(),d=e.join(&quot;,&quot;);var b=m[0]&amp;&amp;(e[0]&lt;0||e[0]&gt;x-2)||m[1]&amp;&amp;(e[1]&lt;0||e[1]&gt;y-2);if(d===h&amp;&amp;m.join(&quot;,&quot;)===v||r&amp;&amp;b)break;p=t.crossings[d]}1e4===f&amp;&amp;s.log(&quot;Infinite loop in contour?&quot;);var _,w,M,k,A,T,S,E,L,C,z,D=n(g[0],g[g.length-1],a,c),I=0,P=.2*t.smoothing,O=[],F=0;for(f=1;f&lt;g.length;f++)I+=S=i(g[f],g[f-1]),O.push(S);var R=I/O.length*P;for(f=g.length-2;f&gt;=F;f--)if((_=O[f])&lt;R){for(M=0,w=f-1;w&gt;=F&amp;&amp;_+O[w]&lt;R;w--)_+=O[w];if(D&amp;&amp;f===g.length-2)for(M=0;M&lt;w&amp;&amp;_+O[M]&lt;R;M++)_+=O[M];A=f-w+M+1,T=Math.floor((f+w+M+2)/2),k=D||f!==g.length-2?D||-1!==w?A%2?u(T):[(u(T)[0]+u(T+1)[0])/2,(u(T)[1]+u(T+1)[1])/2]:g[0]:g[g.length-1],g.splice(w+1,f-w+1,k),f=w+1,M&amp;&amp;(F=M),D&amp;&amp;(f===g.length-2?g[M]=g[g.length-1]:0===f&amp;&amp;(g[g.length-1]=g[0]))}for(g.splice(0,F),f=0;f&lt;g.length;f++)g[f].length=2;if(!(g.length&lt;2))if(D)g.pop(),t.paths.push(g);else{r||s.log(&quot;Unclosed interior contour?&quot;,t.level,h,g.join(&quot;L&quot;));var N=!1;for(E=0;E&lt;t.edgepaths.length;E++)if(C=t.edgepaths[E],!N&amp;&amp;n(C[0],g[g.length-1],a,c)){g.pop(),N=!0;var j=!1;for(L=0;L&lt;t.edgepaths.length;L++)if(z=t.edgepaths[L],n(z[z.length-1],g[0],a,c)){j=!0,g.shift(),t.edgepaths.splice(E,1),L===E?t.paths.push(g.concat(z)):(L&gt;E&amp;&amp;L--,t.edgepaths[L]=z.concat(g,C));break}j||(t.edgepaths[E]=g.concat(C))}for(E=0;E&lt;t.edgepaths.length&amp;&amp;!N;E++)n((C=t.edgepaths[E])[C.length-1],g[0],a,c)&amp;&amp;(g.shift(),t.edgepaths[E]=C.concat(g),N=!0);N||t.edgepaths.push(g)}}function o(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);return[o.c2p((1-l)*t.x[n]+l*t.x[n+1],!0),s.c2p(t.y[i],!0),n+l,i]}var c=(t.level-a)/(t.z[i+1][n]-a);return[o.c2p(t.x[n],!0),s.c2p((1-c)*t.y[i]+c*t.y[i+1],!0),n,i+c]}var s=t(&quot;../../lib&quot;),l=t(&quot;./constants&quot;);e.exports=function(t,e,r){var n,i,o,l;for(e=e||.01,r=r||.01,i=0;i&lt;t.length;i++){for(o=t[i],l=0;l&lt;o.starts.length;l++)a(o,o.starts[l],&quot;edge&quot;,e,r);for(n=0;Object.keys(o.crossings).length&amp;&amp;n&lt;1e4;)n++,a(o,Object.keys(o.crossings)[0].split(&quot;,&quot;).map(Number),void 0,e,r);1e4===n&amp;&amp;s.log(&quot;Infinite loop in contour?&quot;)}}},{&quot;../../lib&quot;:743,&quot;./constants&quot;:952}],957:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../heatmap/hover&quot;);e.exports=function(t,e,r,i,a){return n(t,e,r,i,a,!0)}},{&quot;../heatmap/hover&quot;:985}],958:[function(t,e,r){&quot;use strict&quot;;var n={};n.attributes=t(&quot;./attributes&quot;),n.supplyDefaults=t(&quot;./defaults&quot;),n.calc=t(&quot;./calc&quot;),n.plot=t(&quot;./plot&quot;).plot,n.style=t(&quot;./style&quot;),n.colorbar=t(&quot;./colorbar&quot;),n.hoverPoints=t(&quot;./hover&quot;),n.moduleType=&quot;trace&quot;,n.name=&quot;contour&quot;,n.basePlotModule=t(&quot;../../plots/cartesian&quot;),n.categories=[&quot;cartesian&quot;,&quot;2dMap&quot;,&quot;contour&quot;],n.meta={},e.exports=n},{&quot;../../plots/cartesian&quot;:800,&quot;./attributes&quot;:949,&quot;./calc&quot;:950,&quot;./colorbar&quot;:951,&quot;./defaults&quot;:954,&quot;./hover&quot;:957,&quot;./plot&quot;:961,&quot;./style&quot;:962}],959:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;d3&quot;),i=t(&quot;../../components/colorscale&quot;),a=t(&quot;./end_plus&quot;);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=&quot;lines&quot;===e.coloring?0:1;isFinite(s)||(s=1,l=1);var u,f,h=t.colorscale,d=h.length,p=new Array(d),m=new Array(d);if(&quot;heatmap&quot;===e.coloring){for(t.zauto&amp;&amp;!1===t.autocontour&amp;&amp;(t.zmin=r-s/2,t.zmax=t.zmin+l*s),f=0;f&lt;d;f++)u=h[f],p[f]=u[0]*(t.zmax-t.zmin)+t.zmin,m[f]=u[1];var g=n.extent([t.zmin,t.zmax,e.start,e.start+s*(l-1)]),v=g[t.zmin&lt;t.zmax?0:1],y=g[t.zmin&lt;t.zmax?1:0];v!==t.zmin&amp;&amp;(p.splice(0,0,v),m.splice(0,0,Range[0])),y!==t.zmax&amp;&amp;(p.push(y),m.push(m[m.length-1]))}else for(f=0;f&lt;d;f++)u=h[f],p[f]=(u[0]*(l+c-1)-c/2)*s+r,m[f]=u[1];return i.makeColorScaleFunc({domain:p,range:m},{noNumericCheck:!0})}},{&quot;../../components/colorscale&quot;:633,&quot;./end_plus&quot;:955,d3:128}],960:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;./constants&quot;);e.exports=function(t){var e,r,i,a,o,s,l,c,u,f=t[0].z,h=f.length,d=f[0].length,p=2===h||2===d;for(r=0;r&lt;h-1;r++)for(a=[],0===r&amp;&amp;(a=a.concat(n.BOTTOMSTART)),r===h-2&amp;&amp;(a=a.concat(n.TOPSTART)),e=0;e&lt;d-1;e++)for(i=a.slice(),0===e&amp;&amp;(i=i.concat(n.LEFTSTART)),e===d-2&amp;&amp;(i=i.concat(n.RIGHTSTART)),o=e+&quot;,&quot;+r,s=[[f[r][e],f[r][e+1]],[f[r+1][e],f[r+1][e+1]]],u=0;u&lt;t.length;u++)(l=function(t,e){var r=(e[0][0]&gt;t?0:1)+(e[0][1]&gt;t?0:2)+(e[1][1]&gt;t?0:4)+(e[1][0]&gt;t?0:8);if(5===r||10===r)return t&gt;(e[0][0]+e[0][1]+e[1][0]+e[1][1])/4?5===r?713:1114:5===r?104:208;return 15===r?0:r}((c=t[u]).level,s))&amp;&amp;(c.crossings[o]=l,-1!==i.indexOf(l)&amp;&amp;(c.starts.push([e,r]),p&amp;&amp;-1!==i.indexOf(l,i.indexOf(l)+1)&amp;&amp;c.starts.push([e,r])))}},{&quot;./constants&quot;:952}],961:[function(t,e,r){&quot;use strict&quot;;function n(t,e,n){var l=n[0].trace,c=n[0].x,u=n[0].y,g=l.contours,v=l.uid,y=e.xaxis,x=e.yaxis,b=t._fullLayout,_=&quot;contour&quot;+v,w=function(t,e,r){for(var n=t.size,i=[],a=p(t),s=t.start;s&lt;a;s+=n)if(i.push({level:s,crossings:{},starts:[],edgepaths:[],paths:[],xaxis:e.xaxis,yaxis:e.yaxis,x:r.x,y:r.y,z:r.z,smoothing:r.trace.line.smoothing}),i.length&gt;1e3){o.warn(&quot;Too many contours, clipping at 1000&quot;,t);break}return i}(g,e,n[0]);if(!0!==l.visible)return b._paper.selectAll(&quot;.&quot;+_+&quot;,.hm&quot;+v).remove(),void b._infolayer.selectAll(&quot;.cb&quot;+v).remove();&quot;heatmap&quot;===g.coloring?(l.zauto&amp;&amp;!1===l.autocontour&amp;&amp;(l._input.zmin=l.zmin=g.start-g.size/2,l._input.zmax=l.zmax=l.zmin+w.length*g.size),f(t,e,[n])):(b._paper.selectAll(&quot;.hm&quot;+v).remove(),b._infolayer.selectAll(&quot;g.rangeslider-container&quot;).selectAll(&quot;.hm&quot;+v).remove()),h(w),d(w);var M=y.c2p(c[0],!0),k=y.c2p(c[c.length-1],!0),A=x.c2p(u[0],!0),T=x.c2p(u[u.length-1],!0),S=[[M,T],[k,T],[k,A],[M,A]],E=r.makeContourGroup(e,n,_);!function(t,e,r){var n=t.selectAll(&quot;g.contourbg&quot;).data([0]);n.enter().append(&quot;g&quot;).classed(&quot;contourbg&quot;,!0);var i=n.selectAll(&quot;path&quot;).data(&quot;fill&quot;===r.coloring?[0]:[]);i.enter().append(&quot;path&quot;),i.exit().remove(),i.attr(&quot;d&quot;,&quot;M&quot;+e.join(&quot;L&quot;)+&quot;Z&quot;).style(&quot;stroke&quot;,&quot;none&quot;)}(E,S,g),function(t,e,r,n){var o=t.selectAll(&quot;g.contourfill&quot;).data([0]);o.enter().append(&quot;g&quot;).classed(&quot;contourfill&quot;,!0);var s=o.selectAll(&quot;path&quot;).data(&quot;fill&quot;===n.coloring?e:[]);s.enter().append(&quot;path&quot;),s.exit().remove(),s.each(function(t){var e=i(t,r);e?a.select(this).attr(&quot;d&quot;,e).style(&quot;stroke&quot;,&quot;none&quot;):a.select(this).remove()})}(E,w,S,g),function(t,e,n,i,l,c){var u=t.selectAll(&quot;g.contourlines&quot;).data([0]);u.enter().append(&quot;g&quot;).classed(&quot;contourlines&quot;,!0);var f=!1!==l.showlines,h=l.showlabels,d=f&amp;&amp;h,p=r.createLines(u,f||h,e),g=r.createLineClip(u,d,n._fullLayout._clips,i.trace.uid),v=t.selectAll(&quot;g.contourlabels&quot;).data(h?[0]:[]);if(v.exit().remove(),v.enter().append(&quot;g&quot;).classed(&quot;contourlabels&quot;,!0),h){var y=[c],x=[];o.clearLocationCache();var b=r.labelFormatter(l,i.t.cb,n._fullLayout),_=s.tester.append(&quot;text&quot;).attr(&quot;data-notex&quot;,1).call(s.font,l.labelfont),w=e[0].xaxis._length,M=e[0].yaxis._length,k={left:Math.max(c[0][0],0),right:Math.min(c[2][0],w),top:Math.max(c[0][1],0),bottom:Math.min(c[2][1],M)};k.middle=(k.top+k.bottom)/2,k.center=(k.left+k.right)/2;var A=Math.sqrt(w*w+M*M),T=m.LABELDISTANCE*A/Math.max(1,e.length/m.LABELINCREASE);p.each(function(t){var e=r.calcTextOpts(t.level,b,_,n);a.select(this).selectAll(&quot;path&quot;).each(function(){var t=o.getVisibleSegment(this,k,e.height/2);if(t&amp;&amp;!(t.len&lt;(e.width+e.height)*m.LABELMIN))for(var n=Math.min(Math.ceil(t.len/T),m.LABELMAX),i=0;i&lt;n;i++){var a=r.findBestTextLocation(this,t,e,x,k);if(!a)break;r.addLabelData(a,e,x,y)}})}),_.remove(),r.drawLabels(v,x,n,g,d?y:null)}h&amp;&amp;!f&amp;&amp;p.remove()}(E,w,t,n[0],g,S),function(t,e,r,n,a){var o=&quot;clip&quot;+n.trace.uid,l=r.selectAll(&quot;#&quot;+o).data(n.trace.connectgaps?[]:[0]);if(l.enter().append(&quot;clipPath&quot;).classed(&quot;contourclip&quot;,!0).attr(&quot;id&quot;,o),l.exit().remove(),!1===n.trace.connectgaps){var c={level:.9,crossings:{},starts:[],edgepaths:[],paths:[],xaxis:e.xaxis,yaxis:e.yaxis,x:n.x,y:n.y,z:function(t){var e,r,n=t.trace._emptypoints,i=[],a=t.z.length,o=t.z[0].length,s=[];for(e=0;e&lt;o;e++)s.push(1);for(e=0;e&lt;a;e++)i.push(s.slice());for(e=0;e&lt;n.length;e++)r=n[e],i[r[0]][r[1]]=0;return t.zmask=i,i}(n),smoothing:0};h([c]),d([c]);var u=i(c,a),f=l.selectAll(&quot;path&quot;).data([0]);f.enter().append(&quot;path&quot;),f.attr(&quot;d&quot;,u)}else o=null;t.call(s.setClipUrl,o),e.plot.selectAll(&quot;.hm&quot;+n.trace.uid).call(s.setClipUrl,o)}(E,e,b._clips,n[0],S)}function i(t,e){function r(t){return Math.abs(t[1]-e[0][1])&lt;.01}function n(t){return Math.abs(t[1]-e[2][1])&lt;.01}function i(t){return Math.abs(t[0]-e[0][0])&lt;.01}function a(t){return Math.abs(t[0]-e[2][0])&lt;.01}for(var l,c,u,f,h,d,p=Math.min(t.z[0][0],t.z[0][1]),m=t.edgepaths.length||p&lt;=t.level?&quot;&quot;:&quot;M&quot;+e.join(&quot;L&quot;)+&quot;Z&quot;,g=0,v=t.edgepaths.map(function(t,e){return e}),y=!0;v.length;){for(d=s.smoothopen(t.edgepaths[g],t.smoothing),m+=y?d:d.replace(/^M/,&quot;L&quot;),v.splice(v.indexOf(g),1),l=t.edgepaths[g][t.edgepaths[g].length-1],f=-1,u=0;u&lt;4;u++){if(!l){o.log(&quot;Missing end?&quot;,g,t);break}for(r(l)&amp;&amp;!a(l)?c=e[1]:i(l)?c=e[0]:n(l)?c=e[3]:a(l)&amp;&amp;(c=e[2]),h=0;h&lt;t.edgepaths.length;h++){var x=t.edgepaths[h][0];Math.abs(l[0]-c[0])&lt;.01?Math.abs(l[0]-x[0])&lt;.01&amp;&amp;(x[1]-l[1])*(c[1]-x[1])&gt;=0&amp;&amp;(c=x,f=h):Math.abs(l[1]-c[1])&lt;.01?Math.abs(l[1]-x[1])&lt;.01&amp;&amp;(x[0]-l[0])*(c[0]-x[0])&gt;=0&amp;&amp;(c=x,f=h):o.log(&quot;endpt to newendpt is not vert. or horz.&quot;,l,c,x)}if(l=c,f&gt;=0)break;m+=&quot;L&quot;+c}if(f===t.edgepaths.length){o.log(&quot;unclosed perimeter path&quot;);break}g=f,(y=-1===v.indexOf(g))&amp;&amp;(g=v[0],m+=&quot;Z&quot;)}for(g=0;g&lt;t.paths.length;g++)m+=s.smoothclosed(t.paths[g],t.smoothing);return m}var a=t(&quot;d3&quot;),o=t(&quot;../../lib&quot;),s=t(&quot;../../components/drawing&quot;),l=t(&quot;../../lib/svg_text_utils&quot;),c=t(&quot;../../plots/cartesian/axes&quot;),u=t(&quot;../../plots/cartesian/set_convert&quot;),f=t(&quot;../heatmap/plot&quot;),h=t(&quot;./make_crossings&quot;),d=t(&quot;./find_all_paths&quot;),p=t(&quot;./end_plus&quot;),m=t(&quot;./constants&quot;),g=m.LABELOPTIMIZER;r.plot=function(t,e,r){for(var i=0;i&lt;r.length;i++)n(t,e,r[i])},r.makeContourGroup=function(t,e,r){var n=t.plot.select(&quot;.maplayer&quot;).selectAll(&quot;g.contour.&quot;+r).data(e);return n.enter().append(&quot;g&quot;).classed(&quot;contour&quot;,!0).classed(r,!0),n.exit().remove(),n},r.createLines=function(t,e,r){var n=r[0].smoothing,i=t.selectAll(&quot;g.contourlevel&quot;).data(e?r:[]);if(i.exit().remove(),i.enter().append(&quot;g&quot;).classed(&quot;contourlevel&quot;,!0),e){var a=i.selectAll(&quot;path.openline&quot;).data(function(t){return t.pedgepaths||t.edgepaths});a.exit().remove(),a.enter().append(&quot;path&quot;).classed(&quot;openline&quot;,!0),a.attr(&quot;d&quot;,function(t){return s.smoothopen(t,n)}).style(&quot;stroke-miterlimit&quot;,1).style(&quot;vector-effect&quot;,&quot;non-scaling-stroke&quot;);var o=i.selectAll(&quot;path.closedline&quot;).data(function(t){return t.ppaths||t.paths});o.exit().remove(),o.enter().append(&quot;path&quot;).classed(&quot;closedline&quot;,!0),o.attr(&quot;d&quot;,function(t){return s.smoothclosed(t,n)}).style(&quot;stroke-miterlimit&quot;,1).style(&quot;vector-effect&quot;,&quot;non-scaling-stroke&quot;)}return i},r.createLineClip=function(t,e,r,n){var i=e?&quot;clipline&quot;+n:null,a=r.selectAll(&quot;#&quot;+i).data(e?[0]:[]);return a.exit().remove(),a.enter().append(&quot;clipPath&quot;).classed(&quot;contourlineclip&quot;,!0).attr(&quot;id&quot;,i),s.setClipUrl(t,i),a},r.labelFormatter=function(t,e,r){if(t.labelformat)return r._d3locale.numberFormat(t.labelformat);var n;return e?n=e.axis:(n={type:&quot;linear&quot;,_id:&quot;ycontour&quot;,nticks:(t.end-t.start)/t.size,showexponent:&quot;all&quot;,range:[t.start,t.end]},u(n,r),c.calcTicks(n),n._tmin=null,n._tmax=null),function(t){return c.tickText(n,t).text}},r.calcTextOpts=function(t,e,r,n){var i=e(t);r.text(i).call(l.convertToTspans,n);var a=s.bBox(r.node(),!0);return{text:i,width:a.width,height:a.height,level:t,dy:(a.top+a.bottom)/2}},r.findBestTextLocation=function(t,e,r,n,i){var a,s,l,c,u,f=r.width;e.isClosed?(s=e.len/g.INITIALSEARCHPOINTS,a=e.min+s/2,l=e.max):(s=(e.len-f)/(g.INITIALSEARCHPOINTS+1),a=e.min+s+f/2,l=e.max-(s+f)/2);for(var h=1/0,d=0;d&lt;g.ITERATIONS;d++){for(var p=a;p&lt;l;p+=s){var m=o.getTextLocation(t,e.total,p,f),v=function(t,e,r,n){var i=e.width/2,a=e.height/2,s=t.x,l=t.y,c=t.theta,u=Math.cos(c)*i,f=Math.sin(c)*i,h=(s&gt;n.center?n.right-s:s-n.left)/(u+Math.abs(Math.sin(c)*a)),d=(l&gt;n.middle?n.bottom-l:l-n.top)/(Math.abs(f)+Math.cos(c)*a);if(h&lt;1||d&lt;1)return 1/0;var p=g.EDGECOST*(1/(h-1)+1/(d-1));p+=g.ANGLECOST*c*c;for(var m=s-u,v=l-f,y=s+u,x=l+f,b=0;b&lt;r.length;b++){var _=r[b],w=Math.cos(_.theta)*_.width/2,M=Math.sin(_.theta)*_.width/2,k=2*o.segmentDistance(m,v,y,x,_.x-w,_.y-M,_.x+w,_.y+M)/(e.height+_.height),A=_.level===e.level,T=A?g.SAMELEVELDISTANCE:1;if(k&lt;=T)return 1/0;p+=g.NEIGHBORCOST*(A?g.SAMELEVELFACTOR:1)/(k-T)}return p}(m,r,n,i);v&lt;h&amp;&amp;(h=v,u=m,c=p)}if(h&gt;2*g.MAXCOST)break;d&amp;&amp;(s/=2),l=(a=c-s/2)+1.5*s}if(h&lt;=g.MAXCOST)return u},r.addLabelData=function(t,e,r,n){var i=e.width/2,a=e.height/2,o=t.x,s=t.y,l=t.theta,c=Math.sin(l),u=Math.cos(l),f=i*u,h=a*c,d=i*c,p=-a*u,m=[[o-f-h,s-d-p],[o+f-h,s+d-p],[o+f+h,s+d+p],[o-f+h,s-d+p]];r.push({text:e.text,x:o,y:s,dy:e.dy,theta:l,level:e.level,width:e.width,height:e.height}),n.push(m)},r.drawLabels=function(t,e,r,n,i){var o=t.selectAll(&quot;text&quot;).data(e,function(t){return t.text+&quot;,&quot;+t.x+&quot;,&quot;+t.y+&quot;,&quot;+t.theta});if(o.exit().remove(),o.enter().append(&quot;text&quot;).attr({&quot;data-notex&quot;:1,&quot;text-anchor&quot;:&quot;middle&quot;}).each(function(t){var e=t.x+Math.sin(t.theta)*t.dy,n=t.y-Math.cos(t.theta)*t.dy;a.select(this).text(t.text).attr({x:e,y:n,transform:&quot;rotate(&quot;+180*t.theta/Math.PI+&quot; &quot;+e+&quot; &quot;+n+&quot;)&quot;}).call(l.convertToTspans,r)}),i){for(var s=&quot;&quot;,c=0;c&lt;i.length;c++)s+=&quot;M&quot;+i[c].join(&quot;L&quot;)+&quot;Z&quot;;var u=n.selectAll(&quot;path&quot;).data([0]);u.enter().append(&quot;path&quot;),u.attr(&quot;d&quot;,s)}}},{&quot;../../components/drawing&quot;:643,&quot;../../lib&quot;:743,&quot;../../lib/svg_text_utils&quot;:766,&quot;../../plots/cartesian/axes&quot;:789,&quot;../../plots/cartesian/set_convert&quot;:808,&quot;../heatmap/plot&quot;:990,&quot;./constants&quot;:952,&quot;./end_plus&quot;:955,&quot;./find_all_paths&quot;:956,&quot;./make_crossings&quot;:960,d3:128}],962:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;d3&quot;),i=t(&quot;../../components/drawing&quot;),a=t(&quot;../heatmap/style&quot;),o=t(&quot;./make_color_map&quot;);e.exports=function(t){var e=n.select(t).selectAll(&quot;g.contour&quot;);e.style(&quot;opacity&quot;,function(t){return t.trace.opacity}),e.each(function(t){var e=n.select(this),r=t.trace,a=r.contours,s=r.line,l=a.size||1,c=a.start,u=&quot;constraint&quot;===a.type,f=!u&amp;&amp;&quot;lines&quot;===a.coloring,h=!u&amp;&amp;&quot;fill&quot;===a.coloring,d=f||h?o(r):null;e.selectAll(&quot;g.contourlevel&quot;).each(function(t){n.select(this).selectAll(&quot;path&quot;).call(i.lineGroupStyle,s.width,f?d(t.level):s.color,s.dash)});var p=a.labelfont;if(e.selectAll(&quot;g.contourlabels text&quot;).each(function(t){i.font(n.select(this),{family:p.family,size:p.size,color:p.color||(f?d(t.level):s.color)})}),u)e.selectAll(&quot;g.contourfill path&quot;).style(&quot;fill&quot;,r.fillcolor);else if(h){var m;e.selectAll(&quot;g.contourfill path&quot;).style(&quot;fill&quot;,function(t){return void 0===m&amp;&amp;(m=t.level),d(t.level+.5*l)}),void 0===m&amp;&amp;(m=c),e.selectAll(&quot;g.contourbg path&quot;).style(&quot;fill&quot;,d(m-.5*l))}}),a(t)}},{&quot;../../components/drawing&quot;:643,&quot;../heatmap/style&quot;:991,&quot;./make_color_map&quot;:959,d3:128}],963:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../components/colorscale/defaults&quot;),i=t(&quot;../../lib&quot;);e.exports=function(t,e,r,a,o){o||(o={});var s,l=r(&quot;contours.coloring&quot;),c=&quot;&quot;;&quot;fill&quot;===l&amp;&amp;(s=r(&quot;contours.showlines&quot;)),!1!==s&amp;&amp;(&quot;lines&quot;!==l&amp;&amp;(c=r(&quot;line.color&quot;,o.defaultColor||&quot;#000&quot;)),r(&quot;line.width&quot;,void 0===o.defaultWidth?.5:o.defaultWidth),r(&quot;line.dash&quot;)),r(&quot;line.smoothing&quot;),&quot;none&quot;!==l&amp;&amp;n(t,e,a,r,{prefix:&quot;&quot;,cLetter:&quot;z&quot;});if(r(&quot;contours.showlabels&quot;)){var u=a.font;i.coerceFont(r,&quot;contours.labelfont&quot;,{family:u.family,size:u.size,color:c}),r(&quot;contours.labelformat&quot;)}!1!==o.hasHover&amp;&amp;r(&quot;zhoverformat&quot;)}},{&quot;../../components/colorscale/defaults&quot;:628,&quot;../../lib&quot;:743}],964:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../heatmap/attributes&quot;),i=t(&quot;../contour/attributes&quot;),a=i.contours,o=t(&quot;../scatter/attributes&quot;),s=t(&quot;../../components/colorscale/attributes&quot;),l=t(&quot;../../components/colorbar/attributes&quot;),c=t(&quot;../../lib/extend&quot;).extendFlat,u=o.line,f=t(&quot;./constants&quot;);e.exports=c({},{carpet:{valType:&quot;string&quot;,editType:&quot;calc&quot;},z:n.z,a:n.x,a0:n.x0,da:n.dx,b:n.y,b0:n.y0,db:n.dy,text:n.text,transpose:n.transpose,atype:n.xtype,btype:n.ytype,mode:{valType:&quot;flaglist&quot;,flags:[&quot;lines&quot;,&quot;fill&quot;],extras:[&quot;none&quot;],editType:&quot;calc&quot;},connectgaps:n.connectgaps,fillcolor:{valType:&quot;color&quot;,editType:&quot;calc&quot;},autocontour:i.autocontour,ncontours:i.ncontours,contours:{type:{valType:&quot;enumerated&quot;,values:[&quot;levels&quot;,&quot;constraint&quot;],dflt:&quot;levels&quot;,editType:&quot;calc&quot;},start:a.start,end:a.end,size:a.size,coloring:{valType:&quot;enumerated&quot;,values:[&quot;fill&quot;,&quot;lines&quot;,&quot;none&quot;],dflt:&quot;fill&quot;,editType:&quot;calc&quot;},showlines:a.showlines,showlabels:a.showlabels,labelfont:a.labelfont,labelformat:a.labelformat,operation:{valType:&quot;enumerated&quot;,values:[].concat(f.INEQUALITY_OPS).concat(f.INTERVAL_OPS).concat(f.SET_OPS),dflt:&quot;=&quot;,editType:&quot;calc&quot;},value:{valType:&quot;any&quot;,dflt:0,editType:&quot;calc&quot;},editType:&quot;calc&quot;},line:{color:c({},u.color,{}),width:u.width,dash:u.dash,smoothing:c({},u.smoothing,{}),editType:&quot;plot&quot;}},s,{autocolorscale:c({},s.autocolorscale,{dflt:!1})},{colorbar:l})},{&quot;../../components/colorbar/attributes&quot;:619,&quot;../../components/colorscale/attributes&quot;:624,&quot;../../lib/extend&quot;:732,&quot;../contour/attributes&quot;:949,&quot;../heatmap/attributes&quot;:977,&quot;../scatter/attributes&quot;:1066,&quot;./constants&quot;:967}],965:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r){var n={type:&quot;linear&quot;,range:[t,e]};return i.autoTicks(n,(e-t)/(r||15)),n}var i=t(&quot;../../plots/cartesian/axes&quot;),a=t(&quot;../../lib&quot;).extendFlat,o=t(&quot;../../components/colorscale/calc&quot;),s=t(&quot;../heatmap/has_columns&quot;),l=t(&quot;../heatmap/convert_column_xyz&quot;),c=t(&quot;../heatmap/clean_2d_array&quot;),u=t(&quot;../heatmap/max_row_length&quot;),f=t(&quot;../heatmap/interp2d&quot;),h=t(&quot;../heatmap/find_empties&quot;),d=t(&quot;../heatmap/make_bound_array&quot;),p=t(&quot;./defaults&quot;),m=t(&quot;../carpet/lookup_carpetid&quot;);e.exports=function(t,e){var r=e.carpetTrace=m(t,e);if(r&amp;&amp;r.visible&amp;&amp;&quot;legendonly&quot;!==r.visible){if(!e.a||!e.b){var g=t.data[r.index],v=t.data[e.index];v.a||(v.a=g.a),v.b||(v.b=g.b),p(v,e,e._defaultColor,t._fullLayout)}var y=function(t,e){var r,n,i,a,p,m,g,v=e.carpetTrace,y=v.aaxis,x=v.baxis;y._minDtick=0,x._minDtick=0,s(e)&amp;&amp;l(e,y,x,&quot;a&quot;,&quot;b&quot;,[&quot;z&quot;]),r=e.a?y.makeCalcdata(e,&quot;a&quot;):[],a=e.b?x.makeCalcdata(e,&quot;b&quot;):[],n=e.a0||0,i=e.da||1,p=e.b0||0,m=e.db||1,g=c(e.z,e.transpose),e._emptypoints=h(g),e._interpz=f(g,e._emptypoints,e._interpz);var b=u(g),_=&quot;scaled&quot;===e.xtype?&quot;&quot;:r,w=d(e,_,n,i,b,y),M=&quot;scaled&quot;===e.ytype?&quot;&quot;:a,k={a:w,b:d(e,M,p,m,g.length,x),z:g};return&quot;levels&quot;===e.contours.type&amp;&amp;o(e,g,&quot;&quot;,&quot;z&quot;),[k]}(0,e),x=e.contours;if(!0===e.autocontour){var b=n(e.zmin,e.zmax,e.ncontours);x.size=b.dtick,x.start=i.tickFirst(b),b.range.reverse(),x.end=i.tickFirst(b),x.start===e.zmin&amp;&amp;(x.start+=x.size),x.end===e.zmax&amp;&amp;(x.end-=x.size),x.start&gt;x.end&amp;&amp;(x.start=x.end=(x.start+x.end)/2),e._input.contours=a({},x)}else{var _=x.start,w=x.end,M=e._input.contours;if(_&gt;w&amp;&amp;(x.start=M.start=w,w=x.end=M.end=_,_=x.start),!(x.size&gt;0)){var k;k=_===w?1:n(_,w,e.ncontours).dtick,M.size=x.size=k}}return y}}},{&quot;../../components/colorscale/calc&quot;:625,&quot;../../lib&quot;:743,&quot;../../plots/cartesian/axes&quot;:789,&quot;../carpet/lookup_carpetid&quot;:931,&quot;../heatmap/clean_2d_array&quot;:979,&quot;../heatmap/convert_column_xyz&quot;:981,&quot;../heatmap/find_empties&quot;:983,&quot;../heatmap/has_columns&quot;:984,&quot;../heatmap/interp2d&quot;:987,&quot;../heatmap/make_bound_array&quot;:988,&quot;../heatmap/max_row_length&quot;:989,&quot;./defaults&quot;:971}],966:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t,e,r,n){var i,a,o,s=n.a.length,l=n.b.length,c=n.z,u=-1/0,f=1/0;for(i=0;i&lt;l;i++)f=Math.min(f,c[i][0]),f=Math.min(f,c[i][s-1]),u=Math.max(u,c[i][0]),u=Math.max(u,c[i][s-1]);for(i=1;i&lt;s-1;i++)f=Math.min(f,c[0][i]),f=Math.min(f,c[l-1][i]),u=Math.max(u,c[0][i]),u=Math.max(u,c[l-1][i]);switch(e){case&quot;&gt;&quot;:case&quot;&gt;=&quot;:n.contours.value&gt;u&amp;&amp;(t[0].prefixBoundary=!0);break;case&quot;&lt;&quot;:case&quot;&lt;=&quot;:n.contours.value&lt;f&amp;&amp;(t[0].prefixBoundary=!0);break;case&quot;[]&quot;:case&quot;()&quot;:a=Math.min.apply(null,n.contours.value),(o=Math.max.apply(null,n.contours.value))&lt;f&amp;&amp;(t[0].prefixBoundary=!0),a&gt;u&amp;&amp;(t[0].prefixBoundary=!0);break;case&quot;][&quot;:case&quot;)(&quot;:a=Math.min.apply(null,n.contours.value),o=Math.max.apply(null,n.contours.value),a&lt;f&amp;&amp;o&gt;u&amp;&amp;(t[0].prefixBoundary=!0)}}},{}],967:[function(t,e,r){&quot;use strict&quot;;e.exports={INEQUALITY_OPS:[&quot;=&quot;,&quot;&lt;&quot;,&quot;&gt;=&quot;,&quot;&gt;&quot;,&quot;&lt;=&quot;],INTERVAL_OPS:[&quot;[]&quot;,&quot;()&quot;,&quot;[)&quot;,&quot;(]&quot;,&quot;][&quot;,&quot;)(&quot;,&quot;](&quot;,&quot;)[&quot;],SET_OPS:[&quot;{}&quot;,&quot;}{&quot;]}},{}],968:[function(t,e,r){&quot;use strict&quot;;function n(t,e){function r(t){return s(t)?+t:null}var n,i=Array.isArray(e);return-1!==o.INEQUALITY_OPS.indexOf(t)?n=r(i?e[0]:e):-1!==o.INTERVAL_OPS.indexOf(t)?n=i?[r(e[0]),r(e[1])]:[r(e),r(e)]:-1!==o.SET_OPS.indexOf(t)&amp;&amp;(n=i?e.map(r):[r(e)]),n}function i(t){return function(e){e=n(t,e);var r=Math.min(e[0],e[1]),i=Math.max(e[0],e[1]);return{start:r,end:i,size:i-r}}}function a(t){return function(e){return e=n(t,e),{start:e,end:1/0,size:1/0}}}var o=t(&quot;./constants&quot;),s=t(&quot;fast-isnumeric&quot;);e.exports[&quot;[]&quot;]=i(&quot;[]&quot;),e.exports[&quot;()&quot;]=i(&quot;()&quot;),e.exports[&quot;[)&quot;]=i(&quot;[)&quot;),e.exports[&quot;(]&quot;]=i(&quot;(]&quot;),e.exports[&quot;][&quot;]=i(&quot;][&quot;),e.exports[&quot;)(&quot;]=i(&quot;)(&quot;),e.exports[&quot;)[&quot;]=i(&quot;)[&quot;),e.exports[&quot;](&quot;]=i(&quot;](&quot;),e.exports[&quot;&gt;&quot;]=a(&quot;&gt;&quot;),e.exports[&quot;&gt;=&quot;]=a(&quot;&gt;=&quot;),e.exports[&quot;&lt;&quot;]=a(&quot;&lt;&quot;),e.exports[&quot;&lt;=&quot;]=a(&quot;&lt;=&quot;),e.exports[&quot;=&quot;]=a(&quot;=&quot;)},{&quot;./constants&quot;:967,&quot;fast-isnumeric&quot;:140}],969:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;./constraint_mapping&quot;),i=t(&quot;fast-isnumeric&quot;);e.exports=function(t,e){var r;-1===[&quot;=&quot;,&quot;&lt;&quot;,&quot;&lt;=&quot;,&quot;&gt;&quot;,&quot;&gt;=&quot;].indexOf(e.operation)?(t(&quot;contours.value&quot;,[0,1]),Array.isArray(e.value)?e.value.length&gt;2?e.value=e.value.slice(2):0===e.length?e.value=[0,1]:e.length&lt;2?(r=parseFloat(e.value[0]),e.value=[r,r+1]):e.value=[parseFloat(e.value[0]),parseFloat(e.value[1])]:i(e.value)&amp;&amp;(r=parseFloat(e.value),e.value=[r,r+1])):(t(&quot;contours.value&quot;,0),i(e.value)||(Array.isArray(e.value)?e.value=parseFloat(e.value[0]):e.value=0));var a=n[e.operation](e.value);e.start=a.start,e.end=a.end,e.size=a.size}},{&quot;./constraint_mapping&quot;:968,&quot;fast-isnumeric&quot;:140}],970:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib&quot;);e.exports=function(t,e){var r,i,a,o=function(t){return t.reverse()},s=function(t){return t};switch(e){case&quot;][&quot;:case&quot;)[&quot;:case&quot;](&quot;:case&quot;)(&quot;:var l=o;o=s,s=l;case&quot;[]&quot;:case&quot;[)&quot;:case&quot;(]&quot;:case&quot;()&quot;:if(2!==t.length)return void n.warn(&quot;Contour data invalid for the specified inequality range operation.&quot;);for(i=t[0],a=t[1],r=0;r&lt;i.edgepaths.length;r++)i.edgepaths[r]=o(i.edgepaths[r]);for(r=0;r&lt;i.paths.length;r++)i.paths[r]=o(i.paths[r]);for(;a.edgepaths.length;)i.edgepaths.push(s(a.edgepaths.shift()));for(;a.paths.length;)i.paths.push(s(a.paths.shift()));t.pop();break;case&quot;&gt;=&quot;:case&quot;&gt;&quot;:if(1!==t.length)return void n.warn(&quot;Contour data invalid for the specified inequality operation.&quot;);for(i=t[0],r=0;r&lt;i.edgepaths.length;r++)i.edgepaths[r]=o(i.edgepaths[r]);for(r=0;r&lt;i.paths.length;r++)i.paths[r]=o(i.paths[r])}}},{&quot;../../lib&quot;:743}],971:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib&quot;),i=t(&quot;../heatmap/xyz_defaults&quot;),a=t(&quot;./attributes&quot;),o=t(&quot;../contour/style_defaults&quot;),s=t(&quot;../scatter/fillcolor_defaults&quot;),l=t(&quot;../../plots/attributes&quot;),c=t(&quot;./constraint_value_defaults&quot;),u=t(&quot;../../components/color&quot;).addOpacity;e.exports=function(t,e,r,f){function h(r,i){return n.coerce(t,e,a,r,i)}if(h(&quot;carpet&quot;),t.a&amp;&amp;t.b){var d,p,m;if(!i(t,e,h,f,&quot;a&quot;,&quot;b&quot;))return void(e.visible=!1);h(&quot;text&quot;),h(&quot;contours.type&quot;);var g=e.contours;if(&quot;constraint&quot;===g.type){h(&quot;contours.operation&quot;),c(h,g),n.coerce(t,e,l,&quot;showlegend&quot;,!0),h(&quot;contours.coloring&quot;,&quot;=&quot;===g.operation?&quot;lines&quot;:&quot;fill&quot;),h(&quot;contours.showlines&quot;,!0),&quot;=&quot;===g.operation&amp;&amp;(g.coloring=&quot;lines&quot;),s(t,e,r,h);var v=e.fillcolor?u(e.fillcolor,1):r;o(t,e,h,f,{hasHover:!1,defaultColor:v,defaultWidth:2}),&quot;=&quot;===g.operation&amp;&amp;(h(&quot;line.color&quot;,r),&quot;fill&quot;===g.coloring&amp;&amp;(g.coloring=&quot;lines&quot;),&quot;lines&quot;===g.coloring&amp;&amp;delete e.fillcolor),delete e.showscale,delete e.autocontour,delete e.autocolorscale,delete e.colorscale,delete e.ncontours,delete e.colorbar,e.line&amp;&amp;(delete e.line.autocolorscale,delete e.line.colorscale,delete e.line.mincolor,delete e.line.maxcolor)}else n.coerce(t,e,l,&quot;showlegend&quot;,!1),p=n.coerce2(t,e,a,&quot;contours.start&quot;),m=n.coerce2(t,e,a,&quot;contours.end&quot;),d=h(&quot;contours.size&quot;),h(&quot;contours.coloring&quot;),!(!1===p||!1===m?e.autocontour=!0:h(&quot;autocontour&quot;,!1))&amp;&amp;d||h(&quot;ncontours&quot;),o(t,e,h,f,{hasHover:!1}),delete e.value,delete e.operation}else e._defaultColor=r}},{&quot;../../components/color&quot;:618,&quot;../../lib&quot;:743,&quot;../../plots/attributes&quot;:787,&quot;../contour/style_defaults&quot;:963,&quot;../heatmap/xyz_defaults&quot;:993,&quot;../scatter/fillcolor_defaults&quot;:1075,&quot;./attributes&quot;:964,&quot;./constraint_value_defaults&quot;:969}],972:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib&quot;);e.exports=function(t,e,r){for(var i=t.size,a=[],o=r.trace.carpetTrace,s=t.start;s&lt;t.end+i/10;s+=i)if(a.push({level:s,crossings:{},starts:[],edgepaths:[],paths:[],xaxis:o.aaxis,yaxis:o.baxis,x:r.a,y:r.b,z:r.z,smoothing:r.trace.line.smoothing}),a.length&gt;1e3){n.warn(&quot;Too many contours, clipping at 1000&quot;,t);break}return a}},{&quot;../../lib&quot;:743}],973:[function(t,e,r){&quot;use strict&quot;;var n={};n.attributes=t(&quot;./attributes&quot;),n.supplyDefaults=t(&quot;./defaults&quot;),n.colorbar=t(&quot;../contour/colorbar&quot;),n.calc=t(&quot;./calc&quot;),n.plot=t(&quot;./plot&quot;),n.style=t(&quot;../contour/style&quot;),n.moduleType=&quot;trace&quot;,n.name=&quot;contourcarpet&quot;,n.basePlotModule=t(&quot;../../plots/cartesian&quot;),n.categories=[&quot;cartesian&quot;,&quot;carpet&quot;,&quot;contour&quot;,&quot;symbols&quot;,&quot;showLegend&quot;,&quot;hasLines&quot;,&quot;carpetDependent&quot;],n.meta={},e.exports=n},{&quot;../../plots/cartesian&quot;:800,&quot;../contour/colorbar&quot;:951,&quot;../contour/style&quot;:962,&quot;./attributes&quot;:964,&quot;./calc&quot;:965,&quot;./defaults&quot;:971,&quot;./plot&quot;:976}],974:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../components/drawing&quot;),i=t(&quot;../carpet/axis_aligned_line&quot;),a=t(&quot;../../lib&quot;);e.exports=function(t,e,r,o,s,l,c,u){function f(t){return Math.abs(t[1]-r[0][1])&lt;S}function h(t){return Math.abs(t[1]-r[2][1])&lt;S}function d(t){return Math.abs(t[0]-r[0][0])&lt;T}function p(t){return Math.abs(t[0]-r[2][0])&lt;T}function m(t,e){var r,n,a,o,m=&quot;&quot;;for(f(t)&amp;&amp;!p(t)||h(t)&amp;&amp;!d(t)?(o=s.aaxis,a=i(s,l,[t[0],e[0]],.5*(t[1]+e[1]))):(o=s.baxis,a=i(s,l,.5*(t[0]+e[0]),[t[1],e[1]])),r=1;r&lt;a.length;r++)for(m+=o.smoothing?&quot;C&quot;:&quot;L&quot;,n=0;n&lt;a[r].length;n++){var g=a[r][n];m+=[c.c2p(g[0]),u.c2p(g[1])]+&quot; &quot;}return m}var g,v,y,x,b,_,w,M=&quot;&quot;,k=e.edgepaths.map(function(t,e){return e}),A=!0,T=1e-4*Math.abs(r[0][0]-r[2][0]),S=1e-4*Math.abs(r[0][1]-r[2][1]);for(g=0,v=null;k.length;){var E=e.edgepaths[g][0];for(v&amp;&amp;(M+=m(v,E)),w=n.smoothopen(e.edgepaths[g].map(o),e.smoothing),M+=A?w:w.replace(/^M/,&quot;L&quot;),k.splice(k.indexOf(g),1),v=e.edgepaths[g][e.edgepaths[g].length-1],b=-1,x=0;x&lt;4;x++){if(!v){a.log(&quot;Missing end?&quot;,g,e);break}for(f(v)&amp;&amp;!p(v)?y=r[1]:d(v)?y=r[0]:h(v)?y=r[3]:p(v)&amp;&amp;(y=r[2]),_=0;_&lt;e.edgepaths.length;_++){var L=e.edgepaths[_][0];Math.abs(v[0]-y[0])&lt;T?Math.abs(v[0]-L[0])&lt;T&amp;&amp;(L[1]-v[1])*(y[1]-L[1])&gt;=0&amp;&amp;(y=L,b=_):Math.abs(v[1]-y[1])&lt;S?Math.abs(v[1]-L[1])&lt;S&amp;&amp;(L[0]-v[0])*(y[0]-L[0])&gt;=0&amp;&amp;(y=L,b=_):a.log(&quot;endpt to newendpt is not vert. or horz.&quot;,v,y,L)}if(b&gt;=0)break;M+=m(v,y),v=y}if(b===e.edgepaths.length){a.log(&quot;unclosed perimeter path&quot;);break}g=b,(A=-1===k.indexOf(g))&amp;&amp;(g=k[0],M+=m(v,y)+&quot;Z&quot;,v=null)}for(g=0;g&lt;e.paths.length;g++)M+=n.smoothclosed(e.paths[g].map(o),e.smoothing);return M}},{&quot;../../components/drawing&quot;:643,&quot;../../lib&quot;:743,&quot;../carpet/axis_aligned_line&quot;:914}],975:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t,e){var r,n,i,a,o,s,l,c,u;for(r=0;r&lt;t.length;r++){for(o=(a=t[r]).pedgepaths=[],s=a.ppaths=[],n=0;n&lt;a.edgepaths.length;n++){for(u=a.edgepaths[n],l=[],i=0;i&lt;u.length;i++)l[i]=e(u[i]);o.push(l)}for(n=0;n&lt;a.paths.length;n++){for(u=a.paths[n],c=[],i=0;i&lt;u.length;i++)c[i]=e(u[i]);s.push(c)}}}},{}],976:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r){function n(t){var e=M.ab2xy(t[0],t[1],!0);return[L.c2p(e[0]),C.c2p(e[1])]}var w=r[0].trace,M=w.carpetTrace=b(t,w),k=t.calcdata[M.index][0];if(M.visible&amp;&amp;&quot;legendonly&quot;!==M.visible){var A=r[0].a,T=r[0].b,S=w.contours,E=w.uid,L=e.xaxis,C=e.yaxis,z=t._fullLayout,D=&quot;contour&quot;+E,I=y(S,e,r[0]),P=&quot;constraint&quot;===w.contours.type;if(!0===w.visible){var O=[[A[0],T[T.length-1]],[A[A.length-1],T[T.length-1]],[A[A.length-1],T[0]],[A[0],T[0]]];h(I);var F=1e-8*(A[A.length-1]-A[0]),R=1e-8*(T[T.length-1]-T[0]);d(I,F,R),&quot;constraint&quot;===w.contours.type&amp;&amp;(g(I,w.contours.operation),_(I,w.contours.operation,O,w)),x(I,n);var N,j,B,U,V=p.makeContourGroup(e,r,D),q=[];for(U=k.clipsegments.length-1;U&gt;=0;U--)N=k.clipsegments[U],j=l([],N.x,L.c2p),B=l([],N.y,C.c2p),j.reverse(),B.reverse(),q.push(c(j,B,N.bicubic));var H=&quot;M&quot;+q.join(&quot;L&quot;)+&quot;Z&quot;;!function(t,e,r,n,i,a){var o,s,u,f,h=t.selectAll(&quot;g.contourbg&quot;).data([0]);h.enter().append(&quot;g&quot;).classed(&quot;contourbg&quot;,!0);var d=h.selectAll(&quot;path&quot;).data(&quot;fill&quot;!==a||i?[]:[0]);d.enter().append(&quot;path&quot;),d.exit().remove();var p=[];for(f=0;f&lt;e.length;f++)o=e[f],s=l([],o.x,r.c2p),u=l([],o.y,n.c2p),p.push(c(s,u,o.bicubic));d.attr(&quot;d&quot;,&quot;M&quot;+p.join(&quot;L&quot;)+&quot;Z&quot;).style(&quot;stroke&quot;,&quot;none&quot;)}(V,k.clipsegments,L,C,P,S.coloring),function(t,e,r,n,i,a,o,l,c,u,f){var h=e.selectAll(&quot;g.contourfill&quot;).data([0]);h.enter().append(&quot;g&quot;).classed(&quot;contourfill&quot;,!0);var d=h.selectAll(&quot;path&quot;).data(&quot;fill&quot;===u?i:[]);d.enter().append(&quot;path&quot;),d.exit().remove(),d.each(function(e){var i=v(t,e,a,o,l,c,r,n);e.prefixBoundary&amp;&amp;(i=f+i),i?s.select(this).attr(&quot;d&quot;,i).style(&quot;stroke&quot;,&quot;none&quot;):s.select(this).remove()})}(w,V,L,C,I,O,n,M,k,S.coloring,H),function(t,e,r,n,l,c,h){var d=t.selectAll(&quot;g.contourlines&quot;).data([0]);d.enter().append(&quot;g&quot;).classed(&quot;contourlines&quot;,!0);var g=!1!==l.showlines,v=l.showlabels,y=g&amp;&amp;v,x=p.createLines(d,g||v,e),b=p.createLineClip(d,y,r._fullLayout._defs,n.trace.uid),_=t.selectAll(&quot;g.contourlabels&quot;).data(v?[0]:[]);if(_.exit().remove(),_.enter().append(&quot;g&quot;).classed(&quot;contourlabels&quot;,!0),v){var w=c.xaxis,M=c.yaxis,k=w._length,A=M._length,T=[[[0,0],[k,0],[k,A],[0,A]]],S=[];f.clearLocationCache();var E=p.labelFormatter(l,n.t.cb,r._fullLayout),L=u.tester.append(&quot;text&quot;).attr(&quot;data-notex&quot;,1).call(u.font,l.labelfont),C={left:0,right:k,center:k/2,top:0,bottom:A,middle:A/2},z=Math.sqrt(k*k+A*A),D=m.LABELDISTANCE*z/Math.max(1,e.length/m.LABELINCREASE);x.each(function(t){var e=p.calcTextOpts(t.level,E,L,r);s.select(this).selectAll(&quot;path&quot;).each(function(r){var n=f.getVisibleSegment(this,C,e.height/2);if(n&amp;&amp;(function(t,e,r,n,s,l){function c(t,e){var r,n=0;return(Math.abs(t[0]-h)&lt;.1||Math.abs(t[0]-d)&lt;.1)&amp;&amp;(r=a(s.dxydb_rough(t[0],t[1],.1)),n=Math.max(n,l*o(e,r)/2)),(Math.abs(t[1]-p)&lt;.1||Math.abs(t[1]-m)&lt;.1)&amp;&amp;(r=a(s.dxyda_rough(t[0],t[1],.1)),n=Math.max(n,l*o(e,r)/2)),n}for(var u,f=0;f&lt;r.pedgepaths.length;f++)e===r.pedgepaths[f]&amp;&amp;(u=r.edgepaths[f]);if(!u)return;var h=s.a[0],d=s.a[s.a.length-1],p=s.b[0],m=s.b[s.b.length-1];var g=i(t,0,1),v=i(t,n.total,n.total-1),y=c(u[0],g),x=n.total-c(u[u.length-1],v);n.min&lt;y&amp;&amp;(n.min=y);n.max&gt;x&amp;&amp;(n.max=x);n.len=n.max-n.min}(this,r,t,n,h,e.height),!(n.len&lt;(e.width+e.height)*m.LABELMIN)))for(var s=Math.min(Math.ceil(n.len/D),m.LABELMAX),l=0;l&lt;s;l++){var c=p.findBestTextLocation(this,n,e,S,C);if(!c)break;p.addLabelData(c,e,S,T)}})}),L.remove(),p.drawLabels(_,S,r,b,y?T:null)}v&amp;&amp;!g&amp;&amp;x.remove()}(V,I,t,r[0],S,e,M),u.setClipUrl(V,M._clipPathId)}else z._infolayer.selectAll(&quot;.cb&quot;+E).remove()}}function i(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 a(t){var e=Math.sqrt(t[0]*t[0]+t[1]*t[1]);return[t[0]/e,t[1]/e]}function o(t,e){var r=Math.abs(t[0]*e[0]+t[1]*e[1]);return Math.sqrt(1-r*r)/r}var s=t(&quot;d3&quot;),l=t(&quot;../carpet/map_1d_array&quot;),c=t(&quot;../carpet/makepath&quot;),u=t(&quot;../../components/drawing&quot;),f=t(&quot;../../lib&quot;),h=t(&quot;../contour/make_crossings&quot;),d=t(&quot;../contour/find_all_paths&quot;),p=t(&quot;../contour/plot&quot;),m=t(&quot;../contour/constants&quot;),g=t(&quot;./convert_to_constraints&quot;),v=t(&quot;./join_all_paths&quot;),y=t(&quot;./empty_pathinfo&quot;),x=t(&quot;./map_pathinfo&quot;),b=t(&quot;../carpet/lookup_carpetid&quot;),_=t(&quot;./close_boundaries&quot;);e.exports=function(t,e,r){for(var i=0;i&lt;r.length;i++)n(t,e,r[i])}},{&quot;../../components/drawing&quot;:643,&quot;../../lib&quot;:743,&quot;../carpet/lookup_carpetid&quot;:931,&quot;../carpet/makepath&quot;:932,&quot;../carpet/map_1d_array&quot;:933,&quot;../contour/constants&quot;:952,&quot;../contour/find_all_paths&quot;:956,&quot;../contour/make_crossings&quot;:960,&quot;../contour/plot&quot;:961,&quot;./close_boundaries&quot;:966,&quot;./convert_to_constraints&quot;:970,&quot;./empty_pathinfo&quot;:972,&quot;./join_all_paths&quot;:974,&quot;./map_pathinfo&quot;:975,d3:128}],977:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../scatter/attributes&quot;),i=t(&quot;../../components/colorscale/attributes&quot;),a=t(&quot;../../components/colorbar/attributes&quot;),o=t(&quot;../../lib/extend&quot;).extendFlat;e.exports=o({},{z:{valType:&quot;data_array&quot;,editType:&quot;calc&quot;},x:o({},n.x,{impliedEdits:{xtype:&quot;array&quot;}}),x0:o({},n.x0,{impliedEdits:{xtype:&quot;scaled&quot;}}),dx:o({},n.dx,{impliedEdits:{xtype:&quot;scaled&quot;}}),y:o({},n.y,{impliedEdits:{ytype:&quot;array&quot;}}),y0:o({},n.y0,{impliedEdits:{ytype:&quot;scaled&quot;}}),dy:o({},n.dy,{impliedEdits:{ytype:&quot;scaled&quot;}}),text:{valType:&quot;data_array&quot;,editType:&quot;calc&quot;},transpose:{valType:&quot;boolean&quot;,dflt:!1,editType:&quot;calc&quot;},xtype:{valType:&quot;enumerated&quot;,values:[&quot;array&quot;,&quot;scaled&quot;],editType:&quot;calc+clearAxisTypes&quot;},ytype:{valType:&quot;enumerated&quot;,values:[&quot;array&quot;,&quot;scaled&quot;],editType:&quot;calc+clearAxisTypes&quot;},zsmooth:{valType:&quot;enumerated&quot;,values:[&quot;fast&quot;,&quot;best&quot;,!1],dflt:!1,editType:&quot;calc&quot;},connectgaps:{valType:&quot;boolean&quot;,dflt:!1,editType:&quot;calc&quot;},xgap:{valType:&quot;number&quot;,dflt:0,min:0,editType:&quot;plot&quot;},ygap:{valType:&quot;number&quot;,dflt:0,min:0,editType:&quot;plot&quot;},zhoverformat:{valType:&quot;string&quot;,dflt:&quot;&quot;,editType:&quot;none&quot;}},i,{autocolorscale:o({},i.autocolorscale,{dflt:!1})},{colorbar:a})},{&quot;../../components/colorbar/attributes&quot;:619,&quot;../../components/colorscale/attributes&quot;:624,&quot;../../lib/extend&quot;:732,&quot;../scatter/attributes&quot;:1066}],978:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../registry&quot;),i=t(&quot;../../lib&quot;),a=t(&quot;../../plots/cartesian/axes&quot;),o=t(&quot;../histogram2d/calc&quot;),s=t(&quot;../../components/colorscale/calc&quot;),l=t(&quot;./has_columns&quot;),c=t(&quot;./convert_column_xyz&quot;),u=t(&quot;./max_row_length&quot;),f=t(&quot;./clean_2d_array&quot;),h=t(&quot;./interp2d&quot;),d=t(&quot;./find_empties&quot;),p=t(&quot;./make_bound_array&quot;);e.exports=function(t,e){function r(t){L=e._input.zsmooth=e.zsmooth=!1,i.warn('cannot use zsmooth: &quot;fast&quot;: '+t)}var m,g,v,y,x,b,_,w,M,k=a.getFromId(t,e.xaxis||&quot;x&quot;),A=a.getFromId(t,e.yaxis||&quot;y&quot;),T=n.traceIs(e,&quot;contour&quot;),S=n.traceIs(e,&quot;histogram&quot;),E=n.traceIs(e,&quot;gl2d&quot;),L=T?&quot;best&quot;:e.zsmooth;if(k._minDtick=0,A._minDtick=0,S?(m=(M=o(t,e)).x,g=M.x0,v=M.dx,y=M.y,x=M.y0,b=M.dy,_=M.z):(l(e)?(c(e,k,A,&quot;x&quot;,&quot;y&quot;,[&quot;z&quot;]),m=e.x,y=e.y):(m=e.x?k.makeCalcdata(e,&quot;x&quot;):[],y=e.y?A.makeCalcdata(e,&quot;y&quot;):[]),g=e.x0||0,v=e.dx||1,x=e.y0||0,b=e.dy||1,_=f(e.z,e.transpose),(T||e.connectgaps)&amp;&amp;(e._emptypoints=d(_),e._interpz=h(_,e._emptypoints,e._interpz))),&quot;fast&quot;===L)if(&quot;log&quot;===k.type||&quot;log&quot;===A.type)r(&quot;log axis found&quot;);else if(!S){if(m.length){var C=(m[m.length-1]-m[0])/(m.length-1),z=Math.abs(C/100);for(w=0;w&lt;m.length-1;w++)if(Math.abs(m[w+1]-m[w]-C)&gt;z){r(&quot;x scale is not linear&quot;);break}}if(y.length&amp;&amp;&quot;fast&quot;===L){var D=(y[y.length-1]-y[0])/(y.length-1),I=Math.abs(D/100);for(w=0;w&lt;y.length-1;w++)if(Math.abs(y[w+1]-y[w]-D)&gt;I){r(&quot;y scale is not linear&quot;);break}}}var P=u(_),O=&quot;scaled&quot;===e.xtype?&quot;&quot;:m,F=p(e,O,g,v,P,k),R=&quot;scaled&quot;===e.ytype?&quot;&quot;:y,N=p(e,R,x,b,_.length,A);E||(a.expand(k,F),a.expand(A,N));var j={x:F,y:N,z:_,text:e.text};if(O&amp;&amp;O.length===F.length-1&amp;&amp;(j.xCenter=O),R&amp;&amp;R.length===N.length-1&amp;&amp;(j.yCenter=R),S&amp;&amp;(j.xRanges=M.xRanges,j.yRanges=M.yRanges,j.pts=M.pts),s(e,_,&quot;&quot;,&quot;z&quot;),T&amp;&amp;e.contours&amp;&amp;&quot;heatmap&quot;===e.contours.coloring){var B={type:&quot;contour&quot;===e.type?&quot;heatmap&quot;:&quot;histogram2d&quot;,xcalendar:e.xcalendar,ycalendar:e.ycalendar};j.xfill=p(B,O,g,v,P,k),j.yfill=p(B,R,x,b,_.length,A)}return[j]}},{&quot;../../components/colorscale/calc&quot;:625,&quot;../../lib&quot;:743,&quot;../../plots/cartesian/axes&quot;:789,&quot;../../registry&quot;:873,&quot;../histogram2d/calc&quot;:1010,&quot;./clean_2d_array&quot;:979,&quot;./convert_column_xyz&quot;:981,&quot;./find_empties&quot;:983,&quot;./has_columns&quot;:984,&quot;./interp2d&quot;:987,&quot;./make_bound_array&quot;:988,&quot;./max_row_length&quot;:989}],979:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;fast-isnumeric&quot;);e.exports=function(t,e){function r(t){if(n(t))return+t}var i,a,o,s,l,c;if(e){for(i=0,l=0;l&lt;t.length;l++)i=Math.max(i,t[l].length);if(0===i)return!1;o=function(t){return t.length},s=function(t,e,r){return t[r][e]}}else i=t.length,o=function(t,e){return t[e].length},s=function(t,e,r){return t[e][r]};var u=new Array(i);for(l=0;l&lt;i;l++)for(a=o(t,l),u[l]=new Array(a),c=0;c&lt;a;c++)u[l][c]=r(s(t,l,c));return u}},{&quot;fast-isnumeric&quot;:140}],980:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;fast-isnumeric&quot;),i=t(&quot;../../lib&quot;),a=t(&quot;../../plots/plots&quot;),o=t(&quot;../../components/colorscale&quot;),s=t(&quot;../../components/colorbar/draw&quot;);e.exports=function(t,e){var r=e[0].trace,l=&quot;cb&quot;+r.uid,c=r.zmin,u=r.zmax;if(n(c)||(c=i.aggNums(Math.min,null,r.z)),n(u)||(u=i.aggNums(Math.max,null,r.z)),t._fullLayout._infolayer.selectAll(&quot;.&quot;+l).remove(),r.showscale){var f=e[0].t.cb=s(t,l),h=o.makeColorScaleFunc(o.extractScale(r.colorscale,c,u),{noNumericCheck:!0});f.fillcolor(h).filllevels({start:c,end:u,size:(u-c)/254}).options(r.colorbar)()}else a.autoMargin(t,l)}},{&quot;../../components/colorbar/draw&quot;:622,&quot;../../components/colorscale&quot;:633,&quot;../../lib&quot;:743,&quot;../../plots/plots&quot;:852,&quot;fast-isnumeric&quot;:140}],981:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib&quot;),i=t(&quot;../../constants/numerical&quot;).BADNUM;e.exports=function(t,e,r,a,o,s){a=a||&quot;x&quot;,o=o||&quot;y&quot;,s=s||[&quot;z&quot;];var l,c,u,f=t[a].slice(),h=t[o].slice(),d=t.text,p=Math.min(f.length,h.length),m=void 0!==d&amp;&amp;!Array.isArray(d[0]),g=t[a+&quot;calendar&quot;],v=t[o+&quot;calendar&quot;];for(l=0;l&lt;s.length;l++)(u=t[s[l]])&amp;&amp;(p=Math.min(p,u.length));for(p&lt;f.length&amp;&amp;(f=f.slice(0,p)),p&lt;h.length&amp;&amp;(h=h.slice(0,p)),l=0;l&lt;p;l++)f[l]=e.d2c(f[l],0,g),h[l]=r.d2c(h[l],0,v);var y=n.distinctVals(f),x=y.vals,b=n.distinctVals(h),_=b.vals,w=[];for(l=0;l&lt;s.length;l++)w[l]=n.init2dArray(_.length,x.length);var M,k,A;for(m&amp;&amp;(A=n.init2dArray(_.length,x.length)),l=0;l&lt;p;l++)if(f[l]!==i&amp;&amp;h[l]!==i){for(M=n.findBin(f[l]+y.minDiff/2,x),k=n.findBin(h[l]+b.minDiff/2,_),c=0;c&lt;s.length;c++)u=t[s[c]],w[c][k][M]=u[l];m&amp;&amp;(A[k][M]=d[l])}for(t[a]=x,t[o]=_,c=0;c&lt;s.length;c++)t[s[c]]=w[c];m&amp;&amp;(t.text=A)}},{&quot;../../constants/numerical&quot;:721,&quot;../../lib&quot;:743}],982:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib&quot;),i=t(&quot;./has_columns&quot;),a=t(&quot;./xyz_defaults&quot;),o=t(&quot;./style_defaults&quot;),s=t(&quot;../../components/colorscale/defaults&quot;),l=t(&quot;./attributes&quot;);e.exports=function(t,e,r,c){function u(r,i){return n.coerce(t,e,l,r,i)}a(t,e,u,c)?(u(&quot;text&quot;),o(t,e,u,c),u(&quot;connectgaps&quot;,i(e)&amp;&amp;!1!==e.zsmooth),s(t,e,c,u,{prefix:&quot;&quot;,cLetter:&quot;z&quot;})):e.visible=!1}},{&quot;../../components/colorscale/defaults&quot;:628,&quot;../../lib&quot;:743,&quot;./attributes&quot;:977,&quot;./has_columns&quot;:984,&quot;./style_defaults&quot;:992,&quot;./xyz_defaults&quot;:993}],983:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;./max_row_length&quot;);e.exports=function(t){var e,r,i,a,o,s,l,c,u=[],f={},h=[],d=t[0],p=[],m=[0,0,0],g=n(t);for(r=0;r&lt;t.length;r++)for(e=p,p=d,d=t[r+1]||[],i=0;i&lt;g;i++)void 0===p[i]&amp;&amp;((s=(void 0!==p[i-1]?1:0)+(void 0!==p[i+1]?1:0)+(void 0!==e[i]?1:0)+(void 0!==d[i]?1:0))?(0===r&amp;&amp;s++,0===i&amp;&amp;s++,r===t.length-1&amp;&amp;s++,i===p.length-1&amp;&amp;s++,s&lt;4&amp;&amp;(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&gt;=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)&amp;&amp;(l[a]=[r,i,s],h.splice(o,1),c=!0);if(!c)throw&quot;findEmpties iterated with no new neighbors&quot;;for(a in l)f[a]=l[a],u.push(l[a])}return u.sort(function(t,e){return e[2]-t[2]})}},{&quot;./max_row_length&quot;:989}],984:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t){return!Array.isArray(t.z[0])}},{}],985:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../components/fx&quot;),i=t(&quot;../../lib&quot;),a=t(&quot;../../plots/cartesian/axes&quot;),o=n.constants.MAXDIST;e.exports=function(t,e,r,s,l,c){if(!(t.distance&lt;o)){var u,f,h,d,p=t.cd[0],m=p.trace,g=t.xa,v=t.ya,y=p.x,x=p.y,b=p.z,_=p.xCenter,w=p.yCenter,M=p.zmask,k=[m.zmin,m.zmax],A=m.zhoverformat,T=y,S=x;if(!1!==t.index){try{h=Math.round(t.index[1]),d=Math.round(t.index[0])}catch(e){return void i.error(&quot;Error hovering on heatmap, pointNumber must be [row,col], found:&quot;,t.index)}if(h&lt;0||h&gt;=b[0].length||d&lt;0||d&gt;b.length)return}else{if(n.inbox(e-y[0],e-y[y.length-1])&gt;o||n.inbox(r-x[0],r-x[x.length-1])&gt;o)return;if(c){var E;for(T=[2*y[0]-y[1]],E=1;E&lt;y.length;E++)T.push((y[E]+y[E-1])/2);for(T.push([2*y[y.length-1]-y[y.length-2]]),S=[2*x[0]-x[1]],E=1;E&lt;x.length;E++)S.push((x[E]+x[E-1])/2);S.push([2*x[x.length-1]-x[x.length-2]])}h=Math.max(0,Math.min(T.length-2,i.findBin(e,T))),d=Math.max(0,Math.min(S.length-2,i.findBin(r,S)))}var L=g.c2p(y[h]),C=g.c2p(y[h+1]),z=v.c2p(x[d]),D=v.c2p(x[d+1]);c?(C=L,u=y[h],D=z,f=x[d]):(u=_?_[h]:(y[h]+y[h+1])/2,f=w?w[d]:(x[d]+x[d+1])/2,m.zsmooth&amp;&amp;(L=C=g.c2p(u),z=D=v.c2p(f)));var I=b[d][h];M&amp;&amp;!M[d][h]&amp;&amp;(I=void 0);var P;Array.isArray(p.text)&amp;&amp;Array.isArray(p.text[d])&amp;&amp;(P=p.text[d][h]);var O,F={type:&quot;linear&quot;,range:k,hoverformat:A,_separators:g._separators,_numFormat:g._numFormat};return O=a.tickText(F,I,&quot;hover&quot;).text,[i.extendFlat(t,{index:[d,h],distance:o+10,x0:L,x1:C,y0:z,y1:D,xLabelVal:u,yLabelVal:f,zLabelVal:I,zLabel:O,text:P})]}}},{&quot;../../components/fx&quot;:660,&quot;../../lib&quot;:743,&quot;../../plots/cartesian/axes&quot;:789}],986:[function(t,e,r){&quot;use strict&quot;;var n={};n.attributes=t(&quot;./attributes&quot;),n.supplyDefaults=t(&quot;./defaults&quot;),n.calc=t(&quot;./calc&quot;),n.plot=t(&quot;./plot&quot;),n.colorbar=t(&quot;./colorbar&quot;),n.style=t(&quot;./style&quot;),n.hoverPoints=t(&quot;./hover&quot;),n.moduleType=&quot;trace&quot;,n.name=&quot;heatmap&quot;,n.basePlotModule=t(&quot;../../plots/cartesian&quot;),n.categories=[&quot;cartesian&quot;,&quot;2dMap&quot;],n.meta={},e.exports=n},{&quot;../../plots/cartesian&quot;:800,&quot;./attributes&quot;:977,&quot;./calc&quot;:978,&quot;./colorbar&quot;:980,&quot;./defaults&quot;:982,&quot;./hover&quot;:985,&quot;./plot&quot;:990,&quot;./style&quot;:991}],987:[function(t,e,r){&quot;use strict&quot;;function n(t){return.5-.25*Math.min(1,.5*t)}function i(t,e,r){var n,i,a,s,l,c,u,f,h,d,p,m,g,v=0;for(s=0;s&lt;e.length;s++){for(i=(n=e[s])[0],a=n[1],p=t[i][a],d=0,h=0,l=0;l&lt;4;l++)(u=t[i+(c=o[l])[0]])&amp;&amp;void 0!==(f=u[a+c[1]])&amp;&amp;(0===d?m=g=f:(m=Math.min(m,f),g=Math.max(g,f)),h++,d+=f);if(0===h)throw&quot;iterateInterp2d order is wrong: no defined neighbors&quot;;t[i][a]=d/h,void 0===p?h&lt;4&amp;&amp;(v=1):(t[i][a]=(1+r)*t[i][a]-r*p,g&gt;m&amp;&amp;(v=Math.max(v,Math.abs(t[i][a]-p)/(g-m))))}return v}var a=t(&quot;../../lib&quot;),o=[[-1,0],[1,0],[0,-1],[0,1]];e.exports=function(t,e,r){var o,s,l=1;if(Array.isArray(r))for(o=0;o&lt;e.length;o++)t[(s=e[o])[0]][s[1]]=r[s[0]][s[1]];else i(t,e);for(o=0;o&lt;e.length&amp;&amp;!(e[o][2]&lt;4);o++);for(e=e.slice(o),o=0;o&lt;100&amp;&amp;l&gt;.01;o++)l=i(t,e,n(l));return l&gt;.01&amp;&amp;a.log(&quot;interp2d didn't converge quickly&quot;,l),t}},{&quot;../../lib&quot;:743}],988:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../registry&quot;);e.exports=function(t,e,r,i,a,o){var s,l,c,u=[],f=n.traceIs(t,&quot;contour&quot;),h=n.traceIs(t,&quot;histogram&quot;),d=n.traceIs(t,&quot;gl2d&quot;);if(Array.isArray(e)&amp;&amp;e.length&gt;1&amp;&amp;!h&amp;&amp;&quot;category&quot;!==o.type){var p=e.length;if(!(p&lt;=a))return f?e.slice(0,a):e.slice(0,a+1);if(f||d)u=e.slice(0,a);else if(1===a)u=[e[0]-.5,e[0]+.5];else{for(u=[1.5*e[0]-.5*e[1]],c=1;c&lt;p;c++)u.push(.5*(e[c-1]+e[c]));u.push(1.5*e[p-1]-.5*e[p-2])}if(p&lt;a){var m=u[u.length-1],g=m-u[u.length-2];for(c=p;c&lt;a;c++)m+=g,u.push(m)}}else{l=i||1;var v=t[o._id.charAt(0)+&quot;calendar&quot;];for(s=h||&quot;category&quot;===o.type?o.r2c(r,0,v)||0:Array.isArray(e)&amp;&amp;1===e.length?e[0]:void 0===r?0:o.d2c(r,0,v),c=f||d?0:-.5;c&lt;a;c++)u.push(s+l*c)}return u}},{&quot;../../registry&quot;:873}],989:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t){for(var e=0,r=0;r&lt;t.length;r++)e=Math.max(e,t[r].length);return e}},{}],990:[function(t,e,r){&quot;use strict&quot;;function n(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&amp;&amp;o!==r&amp;&amp;c?{bin0:s,frac:c,bin1:Math.round(s+c/(o-s))}:{bin0:s,bin1:s,frac:0}}function i(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&lt;=0?{bin0:n,bin1:n,frac:0}:a&lt;.5?{bin0:n,bin1:n+1,frac:a}:{bin0:n+1,bin1:n,frac:1-a}}function a(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])}var o=t(&quot;tinycolor2&quot;),s=t(&quot;../../registry&quot;),l=t(&quot;../../lib&quot;),c=t(&quot;../../components/colorscale&quot;),u=t(&quot;../../constants/xmlns_namespaces&quot;),f=t(&quot;./max_row_length&quot;);e.exports=function(t,e,r){for(var h=0;h&lt;r.length;h++)!function(t,e,r){function h(t,e){if(void 0!==t){var r=Z(t);return r[0]=Math.round(r[0]),r[1]=Math.round(r[1]),r[2]=Math.round(r[2]),at+=e,ot+=r[0]*e,st+=r[1]*e,lt+=r[2]*e,r}return[0,0,0,0]}function d(t,e,r,n){var i=t[r.bin0];if(void 0===i)return h(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,h(i+r.frac*c+n.frac*(u+r.frac*a))}var p=r[0],m=p.trace,g=m.uid,v=e.xaxis,y=e.yaxis,x=t._fullLayout,b=&quot;hm&quot;+g;if(x._paper.selectAll(&quot;.contour&quot;+g).remove(),x._infolayer.selectAll(&quot;g.rangeslider-container&quot;).selectAll(&quot;.contour&quot;+g).remove(),!0!==m.visible)return x._paper.selectAll(&quot;.&quot;+b).remove(),void x._infolayer.selectAll(&quot;.cb&quot;+g).remove();var _,w,M,k,A,T,S=p.z,E=p.x,L=p.y,C=p.xCenter,z=p.yCenter,D=s.traceIs(m,&quot;contour&quot;),I=D?&quot;best&quot;:m.zsmooth,P=S.length,O=f(S),F=!1,R=!1;for(T=0;void 0===_&amp;&amp;T&lt;E.length-1;)_=v.c2p(E[T]),T++;for(T=E.length-1;void 0===w&amp;&amp;T&gt;0;)w=v.c2p(E[T]),T--;for(w&lt;_&amp;&amp;(M=w,w=_,_=M,F=!0),T=0;void 0===k&amp;&amp;T&lt;L.length-1;)k=y.c2p(L[T]),T++;for(T=L.length-1;void 0===A&amp;&amp;T&gt;0;)A=y.c2p(L[T]),T--;if(A&lt;k&amp;&amp;(M=k,k=A,A=M,R=!0),D&amp;&amp;(C=E,z=L,E=p.xfill,L=p.yfill),&quot;fast&quot;!==I){var N=&quot;best&quot;===I?0:.5;_=Math.max(-N*v._length,_),w=Math.min((1+N)*v._length,w),k=Math.max(-N*y._length,k),A=Math.min((1+N)*y._length,A)}var j=Math.round(w-_),B=Math.round(A-k),U=j&lt;=0||B&lt;=0,V=e.plot.select(&quot;.imagelayer&quot;).selectAll(&quot;g.hm.&quot;+b).data(U?[]:[0]);if(V.enter().append(&quot;g&quot;).classed(&quot;hm&quot;,!0).classed(b,!0),V.exit().remove(),!U){var q,H;&quot;fast&quot;===I?(q=O,H=P):(q=j,H=B);var G=document.createElement(&quot;canvas&quot;);G.width=q,G.height=H;var Y,W,X=G.getContext(&quot;2d&quot;),Z=c.makeColorScaleFunc(c.extractScale(m.colorscale,m.zmin,m.zmax),{noNumericCheck:!0,returnArray:!0});&quot;fast&quot;===I?(Y=F?function(t){return O-1-t}:l.identity,W=R?function(t){return P-1-t}:l.identity):(Y=function(t){return l.constrain(Math.round(v.c2p(E[t])-_),0,j)},W=function(t){return l.constrain(Math.round(y.c2p(L[t])-k),0,B)});var J,K,Q,$,tt,et=W(0),rt=[et,et],nt=F?0:1,it=R?0:1,at=0,ot=0,st=0,lt=0;if(I){var ct,ut=0;try{ct=new Uint8Array(j*B*4)}catch(t){ct=new Array(j*B*4)}if(&quot;best&quot;===I){var ft,ht,dt,pt=C||E,mt=z||L,gt=new Array(pt.length),vt=new Array(mt.length),yt=new Array(j),xt=C?i:n,bt=z?i:n;for(T=0;T&lt;pt.length;T++)gt[T]=Math.round(v.c2p(pt[T])-_);for(T=0;T&lt;mt.length;T++)vt[T]=Math.round(y.c2p(mt[T])-k);for(T=0;T&lt;j;T++)yt[T]=xt(T,gt);for(K=0;K&lt;B;K++)for(ht=S[(ft=bt(K,vt)).bin0],dt=S[ft.bin1],T=0;T&lt;j;T++,ut+=4)a(ct,ut,tt=d(ht,dt,yt[T],ft))}else for(K=0;K&lt;P;K++)for($=S[K],rt=W(K),T=0;T&lt;j;T++)tt=h($[T],1),a(ct,ut=4*(rt*j+Y(T)),tt);var _t=X.createImageData(j,B);try{_t.data.set(ct)}catch(t){var wt=_t.data,Mt=wt.length;for(K=0;K&lt;Mt;K++)wt[K]=ct[K]}X.putImageData(_t,0,0)}else{var kt=m.xgap,At=m.ygap,Tt=Math.floor(kt/2),St=Math.floor(At/2);for(K=0;K&lt;P;K++)if($=S[K],rt.reverse(),rt[it]=W(K+1),rt[0]!==rt[1]&amp;&amp;void 0!==rt[0]&amp;&amp;void 0!==rt[1])for(J=[Q=Y(0),Q],T=0;T&lt;O;T++)J.reverse(),J[nt]=Y(T+1),J[0]!==J[1]&amp;&amp;void 0!==J[0]&amp;&amp;void 0!==J[1]&amp;&amp;(tt=h($[T],(J[1]-J[0])*(rt[1]-rt[0])),X.fillStyle=&quot;rgba(&quot;+tt.join(&quot;,&quot;)+&quot;)&quot;,X.fillRect(J[0]+Tt,rt[0]+St,J[1]-J[0]-kt,rt[1]-rt[0]-At))}ot=Math.round(ot/at),st=Math.round(st/at),lt=Math.round(lt/at);var Et=o(&quot;rgb(&quot;+ot+&quot;,&quot;+st+&quot;,&quot;+lt+&quot;)&quot;);t._hmpixcount=(t._hmpixcount||0)+at,t._hmlumcount=(t._hmlumcount||0)+at*Et.getLuminance();var Lt=V.selectAll(&quot;image&quot;).data(r);Lt.enter().append(&quot;svg:image&quot;).attr({xmlns:u.svg,preserveAspectRatio:&quot;none&quot;}),Lt.attr({height:B,width:j,x:_,y:k,&quot;xlink:href&quot;:G.toDataURL(&quot;image/png&quot;)}),Lt.exit().remove()}}(t,e,r[h])}},{&quot;../../components/colorscale&quot;:633,&quot;../../constants/xmlns_namespaces&quot;:723,&quot;../../lib&quot;:743,&quot;../../registry&quot;:873,&quot;./max_row_length&quot;:989,tinycolor2:546}],991:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;d3&quot;);e.exports=function(t){n.select(t).selectAll(&quot;.hm image&quot;).style(&quot;opacity&quot;,function(t){return t.trace.opacity})}},{d3:128}],992:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t,e,r){!1===r(&quot;zsmooth&quot;)&amp;&amp;(r(&quot;xgap&quot;),r(&quot;ygap&quot;)),r(&quot;zhoverformat&quot;)}},{}],993:[function(t,e,r){&quot;use strict&quot;;function n(t,e){var r=e(t);return&quot;scaled&quot;===(r?e(t+&quot;type&quot;,&quot;array&quot;):&quot;scaled&quot;)&amp;&amp;(e(t+&quot;0&quot;),e(&quot;d&quot;+t)),r}var i=t(&quot;fast-isnumeric&quot;),a=t(&quot;../../registry&quot;),o=t(&quot;./has_columns&quot;);e.exports=function(t,e,r,s,l,c){var u=r(&quot;z&quot;);l=l||&quot;x&quot;,c=c||&quot;y&quot;;var f,h;if(void 0===u||!u.length)return 0;if(o(t)){if(f=r(l),h=r(c),!f||!h)return 0}else{if(f=n(l,r),h=n(c,r),!function(t){for(var e,r=!0,n=!1,a=!1,o=0;o&lt;t.length;o++){if(e=t[o],!Array.isArray(e)){r=!1;break}e.length&gt;0&amp;&amp;(n=!0);for(var s=0;s&lt;e.length;s++)if(i(e[s])){a=!0;break}}return r&amp;&amp;n&amp;&amp;a}(u))return 0;r(&quot;transpose&quot;)}return a.getComponentMethod(&quot;calendars&quot;,&quot;handleTraceDefaults&quot;)(t,e,[l,c],s),e.z.length}},{&quot;../../registry&quot;:873,&quot;./has_columns&quot;:984,&quot;fast-isnumeric&quot;:140}],994:[function(t,e,r){&quot;use strict&quot;;for(var n=t(&quot;../heatmap/attributes&quot;),i=t(&quot;../../components/colorscale/attributes&quot;),a=t(&quot;../../components/colorbar/attributes&quot;),o=t(&quot;../../lib/extend&quot;).extendFlat,s=t(&quot;../../plot_api/edit_types&quot;).overrideAll,l=[&quot;z&quot;,&quot;x&quot;,&quot;x0&quot;,&quot;dx&quot;,&quot;y&quot;,&quot;y0&quot;,&quot;dy&quot;,&quot;text&quot;,&quot;transpose&quot;,&quot;xtype&quot;,&quot;ytype&quot;],c={},u=0;u&lt;l.length;u++){var f=l[u];c[f]=n[f]}o(c,i,{autocolorscale:o({},i.autocolorscale,{dflt:!1})},{colorbar:a}),e.exports=s(c,&quot;calc&quot;,&quot;nested&quot;)},{&quot;../../components/colorbar/attributes&quot;:619,&quot;../../components/colorscale/attributes&quot;:624,&quot;../../lib/extend&quot;:732,&quot;../../plot_api/edit_types&quot;:773,&quot;../heatmap/attributes&quot;:977}],995:[function(t,e,r){&quot;use strict&quot;;function n(t,e){this.scene=t,this.uid=e,this.type=&quot;heatmapgl&quot;,this.name=&quot;&quot;,this.hoverinfo=&quot;all&quot;,this.xData=[],this.yData=[],this.zData=[],this.textLabels=[],this.idToIndex=[],this.bounds=[0,0,0,0],this.options={z:[],x:[],y:[],shape:[0,0],colorLevels:[0],colorValues:[0,0,0,1]},this.heatmap=i(t.glplot,this.options),this.heatmap._trace=this}var i=t(&quot;gl-heatmap2d&quot;),a=t(&quot;../../plots/cartesian/axes&quot;),o=t(&quot;../../lib/str2rgbarray&quot;),s=n.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 i=n[0].length,s=n.length;this.options.shape=[i,s],this.options.x=r.x,this.options.y=r.y;var l=function(t){for(var e=t.colorscale,r=t.zmin,n=t.zmax,i=e.length,a=new Array(i),s=new Array(4*i),l=0;l&lt;i;l++){var c=e[l],u=o(c[1]);a[l]=r+c[0]*(n-r);for(var f=0;f&lt;4;f++)s[4*l+f]=u[f]}return{colorLevels:a,colorValues:s}}(t);this.options.colorLevels=l.colorLevels,this.options.colorValues=l.colorValues,this.textLabels=[].concat.apply([],t.text),this.heatmap.update(this.options),a.expand(this.scene.xaxis,r.x),a.expand(this.scene.yaxis,r.y)},s.dispose=function(){this.heatmap.dispose()},e.exports=function(t,e,r){var i=new n(t,e.uid);return i.update(e,r),i}},{&quot;../../lib/str2rgbarray&quot;:765,&quot;../../plots/cartesian/axes&quot;:789,&quot;gl-heatmap2d&quot;:173}],996:[function(t,e,r){&quot;use strict&quot;;var n={};n.attributes=t(&quot;./attributes&quot;),n.supplyDefaults=t(&quot;../heatmap/defaults&quot;),n.colorbar=t(&quot;../heatmap/colorbar&quot;),n.calc=t(&quot;../heatmap/calc&quot;),n.plot=t(&quot;./convert&quot;),n.moduleType=&quot;trace&quot;,n.name=&quot;heatmapgl&quot;,n.basePlotModule=t(&quot;../../plots/gl2d&quot;),n.categories=[&quot;gl&quot;,&quot;gl2d&quot;,&quot;2dMap&quot;],n.meta={},e.exports=n},{&quot;../../plots/gl2d&quot;:829,&quot;../heatmap/calc&quot;:978,&quot;../heatmap/colorbar&quot;:980,&quot;../heatmap/defaults&quot;:982,&quot;./attributes&quot;:994,&quot;./convert&quot;:995}],997:[function(t,e,r){&quot;use strict&quot;;function n(t){var e={};e[&quot;autobin&quot;+t]=!1;var r={};return r[&quot;^autobin&quot;+t]=!1,{start:{valType:&quot;any&quot;,dflt:null,editType:&quot;calc&quot;,impliedEdits:r},end:{valType:&quot;any&quot;,dflt:null,editType:&quot;calc&quot;,impliedEdits:r},size:{valType:&quot;any&quot;,dflt:null,editType:&quot;calc&quot;,impliedEdits:r},editType:&quot;calc&quot;,impliedEdits:e}}var i=t(&quot;../bar/attributes&quot;);e.exports={x:{valType:&quot;data_array&quot;,editType:&quot;calc+clearAxisTypes&quot;},y:{valType:&quot;data_array&quot;,editType:&quot;calc+clearAxisTypes&quot;},text:i.text,orientation:i.orientation,histfunc:{valType:&quot;enumerated&quot;,values:[&quot;count&quot;,&quot;sum&quot;,&quot;avg&quot;,&quot;min&quot;,&quot;max&quot;],dflt:&quot;count&quot;,editType:&quot;calc&quot;},histnorm:{valType:&quot;enumerated&quot;,values:[&quot;&quot;,&quot;percent&quot;,&quot;probability&quot;,&quot;density&quot;,&quot;probability density&quot;],dflt:&quot;&quot;,editType:&quot;calc&quot;},cumulative:{enabled:{valType:&quot;boolean&quot;,dflt:!1,editType:&quot;calc&quot;},direction:{valType:&quot;enumerated&quot;,values:[&quot;increasing&quot;,&quot;decreasing&quot;],dflt:&quot;increasing&quot;,editType:&quot;calc&quot;},currentbin:{valType:&quot;enumerated&quot;,values:[&quot;include&quot;,&quot;exclude&quot;,&quot;half&quot;],dflt:&quot;include&quot;,editType:&quot;calc&quot;},editType:&quot;calc&quot;},autobinx:{valType:&quot;boolean&quot;,dflt:null,editType:&quot;calc&quot;,impliedEdits:{&quot;xbins.start&quot;:void 0,&quot;xbins.end&quot;:void 0,&quot;xbins.size&quot;:void 0}},nbinsx:{valType:&quot;integer&quot;,min:0,dflt:0,editType:&quot;calc&quot;},xbins:n(&quot;x&quot;),autobiny:{valType:&quot;boolean&quot;,dflt:null,editType:&quot;calc&quot;,impliedEdits:{&quot;ybins.start&quot;:void 0,&quot;ybins.end&quot;:void 0,&quot;ybins.size&quot;:void 0}},nbinsy:{valType:&quot;integer&quot;,min:0,dflt:0,editType:&quot;calc&quot;},ybins:n(&quot;y&quot;),marker:i.marker,selected:i.selected,unselected:i.unselected,error_y:i.error_y,error_x:i.error_x,_deprecated:{bardir:i._deprecated.bardir}}},{&quot;../bar/attributes&quot;:883}],998:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t,e){for(var r=t.length,n=0,i=0;i&lt;r;i++)e[i]?(t[i]/=e[i],n+=t[i]):t[i]=null;return n}},{}],999:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t,e,r,n){return r(&quot;histnorm&quot;),n.forEach(function(t){r(t+&quot;bins.start&quot;),r(t+&quot;bins.end&quot;),r(t+&quot;bins.size&quot;),r(&quot;autobin&quot;+t),r(&quot;nbins&quot;+t)}),e}},{}],1e3:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;fast-isnumeric&quot;);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)&amp;&amp;(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]&gt;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]&lt;a){var o=a-r[t];return r[t]=a,o}}return 0}}},{&quot;fast-isnumeric&quot;:140}],1001:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,n){if(t*e&lt;=0)return 1/0;for(var o=Math.abs(e-t),l=&quot;date&quot;===r.type,u=i(o,l),f=0;f&lt;10;f++){var h=i(80*u,l);if(u===h)break;if(!function(t,e,r,n,i,o){if(n&amp;&amp;t&gt;c){var l=a(e,i,o),u=a(r,i,o),f=t===s?0:1;return l[f]!==u[f]}return Math.floor(r/t)-Math.floor(e/t)&gt;.1}(h,t,e,l,r,n))break;u=h}return u}function i(t,e){return e&amp;&amp;t&gt;h?t&gt;c?t&gt;1.1*s?s:t&gt;1.1*l?l:c:t&gt;u?u:t&gt;f?f:h:Math.pow(10,Math.floor(Math.log(t)/Math.LN10))}function a(t,e,r){var n=e.c2d(t,s,r).split(&quot;-&quot;);return&quot;&quot;===n[0]&amp;&amp;(n.unshift(),n[0]=&quot;-&quot;+n[0]),n}var o=t(&quot;../../constants/numerical&quot;),s=o.ONEAVGYEAR,l=o.ONEAVGMONTH,c=o.ONEDAY,u=o.ONEHOUR,f=o.ONEMIN,h=o.ONESEC,d=t(&quot;../../plots/cartesian/axes&quot;).tickIncrement;e.exports=function(t,e,r,i,a){var o,l,u=-1.1*e,f=-.1*e,h=t-f,p=r[0],m=r[1],g=Math.min(n(p+f,p+h,i,a),n(m+f,m+h,i,a)),v=Math.min(n(p+u,p+f,i,a),n(m+u,m+f,i,a));if(g&gt;v&amp;&amp;v&lt;Math.abs(m-p)/4e3?(o=g,l=!1):(o=Math.min(g,v),l=!0),&quot;date&quot;===i.type&amp;&amp;o&gt;c){var y=o===s?1:6,x=o===s?&quot;M12&quot;:&quot;M1&quot;;return function(e,r){var n=i.c2d(e,s,a),o=n.indexOf(&quot;-&quot;,y);o&gt;0&amp;&amp;(n=n.substr(0,o));var c=i.d2c(n,0,a);if(c&lt;e){var u=d(c,x,!1,a);(c+u)/2&lt;e+t&amp;&amp;(c=u)}return r&amp;&amp;l?d(c,x,!0,a):c}}return function(e,r){var n=o*Math.round(e/o);return n+o/10&lt;e&amp;&amp;n+.9*o&lt;e+t&amp;&amp;(n+=o),r&amp;&amp;l&amp;&amp;(n-=o),n}}},{&quot;../../constants/numerical&quot;:721,&quot;../../plots/cartesian/axes&quot;:789}],1002:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,c,u){var f,h,d,p,m,g=c+&quot;bins&quot;,v=&quot;overlay&quot;===t._fullLayout.barmode;if(e._autoBinFinished)delete e._autoBinFinished;else{var y=v?[e]:i(t,e),x=[],b=1/0,_=1/0,w=-1/0,M=&quot;autobin&quot;+c;for(f=0;f&lt;y.length;f++){m=(h=y[f])._pos0=r.makeCalcdata(h,c);var k=h[g];if(h[M]||!k||null===k.start||null===k.end){d=h[c+&quot;calendar&quot;];var A=h.cumulative;if(k=l.autoBin(m,r,h[&quot;nbins&quot;+c],!1,d),v&amp;&amp;1===k._count&amp;&amp;&quot;category&quot;!==r.type){if(u)return[k,m,!0];k=function(t,e,r,a,o){var l,c,u=i(t,e),f=!1,h=1/0,d=[e];for(l=0;l&lt;u.length;l++)if((c=u[l])===e)f=!0;else if(f){var p=n(t,c,r,a,!0),m=p[0],g=p[2];c._autoBinFinished=1,c._pos0=p[1],g?d.push(c):h=Math.min(h,m.size)}else h=Math.min(h,c[o].size);var v=new Array(d.length);for(l=0;l&lt;d.length;l++)for(var y=d[l]._pos0,x=0;x&lt;y.length;x++)if(void 0!==y[x]){v[l]=y[x];break}isFinite(h)||(h=s.distinctVals(v).minDiff);for(l=0;l&lt;d.length;l++){var b=(c=d[l])[a+&quot;calendar&quot;];c._input[o]=c[o]={start:r.c2r(v[l]-h/2,0,b),end:r.c2r(v[l]+h/2,0,b),size:h}}return e[o]}(t,e,r,c,g)}A.enabled&amp;&amp;&quot;include&quot;!==A.currentbin&amp;&amp;(&quot;decreasing&quot;===A.direction?_=Math.min(_,r.r2c(k.start,0,d)-k.size):w=Math.max(w,r.r2c(k.end,0,d)+k.size)),x.push(h)}else p||(p={size:k.size,start:r.r2c(k.start,0,d),end:r.r2c(k.end,0,d)});b=function(t,e){if(t===1/0)return e;var r=a(t);return a(e)&lt;r?e:t}(b,k.size),_=Math.min(_,r.r2c(k.start,0,d)),w=Math.max(w,r.r2c(k.end,0,d)),f&amp;&amp;(h._autoBinFinished=1)}if(p&amp;&amp;o(p.size)&amp;&amp;o(b)){b=b&gt;p.size/1.9?p.size:p.size/Math.ceil(p.size/b);var T=p.start+(p.size-b)/2;_=T-b*Math.ceil((T-_)/b)}for(f=0;f&lt;x.length;f++)d=(h=x[f])[c+&quot;calendar&quot;],h._input[g]=h[g]={start:r.c2r(_,0,d),end:r.c2r(w,0,d),size:b},h._input[M]=h[M]}return m=e._pos0,delete e._pos0,[e[g],m]}function i(t,e){for(var r=e.xaxis,n=e.yaxis,i=e.orientation,a=[],o=t._fullData,s=0;s&lt;o.length;s++){var l=o[s];&quot;histogram&quot;===l.type&amp;&amp;l.orientation===i&amp;&amp;l.xaxis===r&amp;&amp;l.yaxis===n&amp;&amp;a.push(l)}return a}function a(t){return o(t)?t:&quot;string&quot;==typeof t&amp;&amp;&quot;M&quot;===t.charAt(0)?p*+t.substr(1):1/0}var o=t(&quot;fast-isnumeric&quot;),s=t(&quot;../../lib&quot;),l=t(&quot;../../plots/cartesian/axes&quot;),c=t(&quot;../bar/arrays_to_calcdata&quot;),u=t(&quot;./bin_functions&quot;),f=t(&quot;./norm_functions&quot;),h=t(&quot;./average&quot;),d=t(&quot;./clean_bins&quot;),p=t(&quot;../../constants/numerical&quot;).ONEAVGMONTH,m=t(&quot;./bin_label_vals&quot;);e.exports=function(t,e){if(!0===e.visible){var r,i=[],a=[],p=l.getFromId(t,&quot;h&quot;===e.orientation?e.yaxis||&quot;y&quot;:e.xaxis||&quot;x&quot;),g=&quot;h&quot;===e.orientation?&quot;y&quot;:&quot;x&quot;,v={x:&quot;y&quot;,y:&quot;x&quot;}[g],y=e[g+&quot;calendar&quot;],x=e.cumulative;d(e,p,g);var b,_,w,M=n(t,e,p,g),k=M[0],A=M[1],T=&quot;string&quot;==typeof k.size,S=[],E=T?S:k,L=[],C=[],z=[],D=0,I=e.histnorm,P=e.histfunc,O=-1!==I.indexOf(&quot;density&quot;);x.enabled&amp;&amp;O&amp;&amp;(I=I.replace(/ ?density$/,&quot;&quot;),O=!1);var F,R=&quot;max&quot;===P||&quot;min&quot;===P?null:0,N=u.count,j=f[I],B=!1,U=function(t){return p.r2c(t,0,y)};for(Array.isArray(e[v])&amp;&amp;&quot;count&quot;!==P&amp;&amp;(F=e[v],B=&quot;avg&quot;===P,N=u[P]),r=U(k.start),_=U(k.end)+(r-l.tickIncrement(r,k.size,!1,y))/1e6;r&lt;_&amp;&amp;i.length&lt;1e6&amp;&amp;(b=l.tickIncrement(r,k.size,!1,y),i.push((r+b)/2),a.push(R),z.push([]),S.push(r),O&amp;&amp;L.push(1/(b-r)),B&amp;&amp;C.push(0),!(b&lt;=r));)r=b;S.push(r),T||&quot;date&quot;!==p.type||(E={start:U(E.start),end:U(E.end),size:E.size});var V=a.length,q=!0,H=1/0,G=1/0,Y={};for(r=0;r&lt;A.length;r++){var W=A[r];(w=s.findBin(W,E))&gt;=0&amp;&amp;w&lt;V&amp;&amp;(D+=N(w,r,a,F,C),q&amp;&amp;z[w].length&amp;&amp;W!==A[z[w][0]]&amp;&amp;(q=!1),z[w].push(r),Y[r]=w,H=Math.min(H,W-S[w]),G=Math.min(G,S[w+1]-W))}var X;q||(X=m(H,G,S,p,y)),B&amp;&amp;(D=h(a,C)),j&amp;&amp;j(a,D,L),x.enabled&amp;&amp;function(t,e,r){function n(e){s=t[e],t[e]/=2}function i(e){o=t[e],t[e]=s+o/2,s+=o}var a,o,s;if(&quot;half&quot;===r)if(&quot;increasing&quot;===e)for(n(0),a=1;a&lt;t.length;a++)i(a);else for(n(t.length-1),a=t.length-2;a&gt;=0;a--)i(a);else if(&quot;increasing&quot;===e){for(a=1;a&lt;t.length;a++)t[a]+=t[a-1];&quot;exclude&quot;===r&amp;&amp;(t.unshift(0),t.pop())}else{for(a=t.length-2;a&gt;=0;a--)t[a]+=t[a+1];&quot;exclude&quot;===r&amp;&amp;(t.push(0),t.shift())}}(a,x.direction,x.currentbin);var Z=Math.min(i.length,a.length),J=[],K=0,Q=Z-1;for(r=0;r&lt;Z;r++)if(a[r]){K=r;break}for(r=Z-1;r&gt;=K;r--)if(a[r]){Q=r;break}for(r=K;r&lt;=Q;r++)if(o(i[r])&amp;&amp;o(a[r])){var $={p:i[r],s:a[r],b:0};x.enabled||($.pts=z[r],q?$.p0=$.p1=z[r].length?A[z[r][0]]:i[r]:($.p0=X(S[r]),$.p1=X(S[r+1],!0))),J.push($)}return 1===J.length&amp;&amp;(J[0].width1=l.tickIncrement(J[0].p,k.size,!1,y)-J[0].p),c(J,e),Array.isArray(e.selectedpoints)&amp;&amp;s.tagSelected(J,e,Y),J}}},{&quot;../../constants/numerical&quot;:721,&quot;../../lib&quot;:743,&quot;../../plots/cartesian/axes&quot;:789,&quot;../bar/arrays_to_calcdata&quot;:882,&quot;./average&quot;:998,&quot;./bin_functions&quot;:1e3,&quot;./bin_label_vals&quot;:1001,&quot;./clean_bins&quot;:1003,&quot;./norm_functions&quot;:1008,&quot;fast-isnumeric&quot;:140}],1003:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;fast-isnumeric&quot;),i=t(&quot;../../lib&quot;).cleanDate,a=t(&quot;../../constants/numerical&quot;),o=a.ONEDAY,s=a.BADNUM;e.exports=function(t,e,r){var a=e.type,l=r+&quot;bins&quot;,c=t[l];c||(c=t[l]={});var u=&quot;date&quot;===a?function(t){return t||0===t?i(t,s,c.calendar):null}:function(t){return n(t)?Number(t):null};c.start=u(c.start),c.end=u(c.end);var f=&quot;date&quot;===a?o:1,h=c.size;if(n(h))c.size=h&gt;0?Number(h):f;else if(&quot;string&quot;!=typeof h)c.size=f;else{var d=h.charAt(0),p=h.substr(1);((p=n(p)?Number(p):0)&lt;=0||&quot;date&quot;!==a||&quot;M&quot;!==d||p!==Math.round(p))&amp;&amp;(c.size=f)}var m=&quot;autobin&quot;+r;&quot;boolean&quot;!=typeof t[m]&amp;&amp;(t[m]=!((c.start||0===c.start)&amp;&amp;(c.end||0===c.end))),t[m]||delete t[&quot;nbins&quot;+r]}},{&quot;../../constants/numerical&quot;:721,&quot;../../lib&quot;:743,&quot;fast-isnumeric&quot;:140}],1004:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../registry&quot;),i=t(&quot;../../lib&quot;),a=t(&quot;../../components/color&quot;),o=t(&quot;./bin_defaults&quot;),s=t(&quot;../bar/style_defaults&quot;),l=t(&quot;../../components/errorbars/defaults&quot;),c=t(&quot;./attributes&quot;);e.exports=function(t,e,r,u){function f(r,n){return i.coerce(t,e,c,r,n)}var h=f(&quot;x&quot;),d=f(&quot;y&quot;);f(&quot;cumulative.enabled&quot;)&amp;&amp;(f(&quot;cumulative.direction&quot;),f(&quot;cumulative.currentbin&quot;)),f(&quot;text&quot;);var p=f(&quot;orientation&quot;,d&amp;&amp;!h?&quot;h&quot;:&quot;v&quot;),m=e[&quot;v&quot;===p?&quot;x&quot;:&quot;y&quot;];if(m&amp;&amp;m.length){n.getComponentMethod(&quot;calendars&quot;,&quot;handleTraceDefaults&quot;)(t,e,[&quot;x&quot;,&quot;y&quot;],u);e[&quot;h&quot;===p?&quot;x&quot;:&quot;y&quot;]&amp;&amp;f(&quot;histfunc&quot;);o(t,e,f,&quot;h&quot;===p?[&quot;y&quot;]:[&quot;x&quot;]),s(t,e,f,r,u),l(t,e,a.defaultLine,{axis:&quot;y&quot;}),l(t,e,a.defaultLine,{axis:&quot;x&quot;,inherit:&quot;y&quot;}),i.coerceSelectionMarkerOpacity(e,f)}else e.visible=!1}},{&quot;../../components/color&quot;:618,&quot;../../components/errorbars/defaults&quot;:648,&quot;../../lib&quot;:743,&quot;../../registry&quot;:873,&quot;../bar/style_defaults&quot;:895,&quot;./attributes&quot;:997,&quot;./bin_defaults&quot;:999}],1005:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t,e,r,n,i){if(t.x=&quot;xVal&quot;in e?e.xVal:e.x,t.y=&quot;yVal&quot;in e?e.yVal:e.y,e.xa&amp;&amp;(t.xaxis=e.xa),e.ya&amp;&amp;(t.yaxis=e.ya),!(r.cumulative||{}).enabled){var a=Array.isArray(i)?n[0].pts[i[0]][i[1]]:n[i].pts;t.pointNumbers=a,t.binNumber=t.pointNumber,delete t.pointNumber,delete t.pointIndex;var o;if(r._indexToPoints){o=[];for(var s=0;s&lt;a.length;s++)o=o.concat(r._indexToPoints[a[s]])}else o=a;t.pointIndices=o}return t}},{}],1006:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../bar/hover&quot;),i=t(&quot;../../plots/cartesian/axes&quot;).hoverLabelText;e.exports=function(t,e,r,a){var o=n(t,e,r,a);if(o){var s=(t=o[0]).cd[t.index],l=t.cd[0].trace;if(!l.cumulative.enabled){var c=&quot;h&quot;===l.orientation?&quot;y&quot;:&quot;x&quot;;t[c+&quot;Label&quot;]=i(t[c+&quot;a&quot;],s.p0,s.p1)}return o}}},{&quot;../../plots/cartesian/axes&quot;:789,&quot;../bar/hover&quot;:886}],1007:[function(t,e,r){&quot;use strict&quot;;var n={};n.attributes=t(&quot;./attributes&quot;),n.layoutAttributes=t(&quot;../bar/layout_attributes&quot;),n.supplyDefaults=t(&quot;./defaults&quot;),n.supplyLayoutDefaults=t(&quot;../bar/layout_defaults&quot;),n.calc=t(&quot;./calc&quot;),n.setPositions=t(&quot;../bar/set_positions&quot;),n.plot=t(&quot;../bar/plot&quot;),n.style=t(&quot;../bar/style&quot;),n.colorbar=t(&quot;../scatter/colorbar&quot;),n.hoverPoints=t(&quot;./hover&quot;),n.selectPoints=t(&quot;../bar/select&quot;),n.eventData=t(&quot;./event_data&quot;),n.moduleType=&quot;trace&quot;,n.name=&quot;histogram&quot;,n.basePlotModule=t(&quot;../../plots/cartesian&quot;),n.categories=[&quot;cartesian&quot;,&quot;bar&quot;,&quot;histogram&quot;,&quot;oriented&quot;,&quot;errorBarsOK&quot;,&quot;showLegend&quot;],n.meta={},e.exports=n},{&quot;../../plots/cartesian&quot;:800,&quot;../bar/layout_attributes&quot;:888,&quot;../bar/layout_defaults&quot;:889,&quot;../bar/plot&quot;:890,&quot;../bar/select&quot;:891,&quot;../bar/set_positions&quot;:892,&quot;../bar/style&quot;:894,&quot;../scatter/colorbar&quot;:1070,&quot;./attributes&quot;:997,&quot;./calc&quot;:1002,&quot;./defaults&quot;:1004,&quot;./event_data&quot;:1005,&quot;./hover&quot;:1006}],1008:[function(t,e,r){&quot;use strict&quot;;e.exports={percent:function(t,e){for(var r=t.length,n=100/e,i=0;i&lt;r;i++)t[i]*=n},probability:function(t,e){for(var r=t.length,n=0;n&lt;r;n++)t[n]/=e},density:function(t,e,r,n){var i=t.length;n=n||1;for(var a=0;a&lt;i;a++)t[a]*=r[a]*n},&quot;probability density&quot;:function(t,e,r,n){var i=t.length;n&amp;&amp;(e/=n);for(var a=0;a&lt;i;a++)t[a]*=r[a]/e}}},{}],1009:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../histogram/attributes&quot;),i=t(&quot;../heatmap/attributes&quot;),a=t(&quot;../../components/colorscale/attributes&quot;),o=t(&quot;../../components/colorbar/attributes&quot;),s=t(&quot;../../lib/extend&quot;).extendFlat;e.exports=s({},{x:n.x,y:n.y,z:{valType:&quot;data_array&quot;,editType:&quot;calc&quot;},marker:{color:{valType:&quot;data_array&quot;,editType:&quot;calc&quot;},editType:&quot;calc&quot;},histnorm:n.histnorm,histfunc:n.histfunc,autobinx:n.autobinx,nbinsx:n.nbinsx,xbins:n.xbins,autobiny:n.autobiny,nbinsy:n.nbinsy,ybins:n.ybins,xgap:i.xgap,ygap:i.ygap,zsmooth:i.zsmooth,zhoverformat:i.zhoverformat},a,{autocolorscale:s({},a.autocolorscale,{dflt:!1})},{colorbar:o})},{&quot;../../components/colorbar/attributes&quot;:619,&quot;../../components/colorscale/attributes&quot;:624,&quot;../../lib/extend&quot;:732,&quot;../heatmap/attributes&quot;:977,&quot;../histogram/attributes&quot;:997}],1010:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,n,i,a,o){var s=e+&quot;bins&quot;,c=&quot;autobin&quot;+e,u=t[s];h(t,n,e),!t[c]&amp;&amp;u&amp;&amp;null!==u.start&amp;&amp;null!==u.end||(u=l.autoBin(r,n,t[&quot;nbins&quot;+e],&quot;2d&quot;,o),&quot;histogram2dcontour&quot;===t.type&amp;&amp;(u.start=a(l.tickIncrement(i(u.start),u.size,!0,o)),u.end=a(l.tickIncrement(i(u.end),u.size,!1,o))),t._input[s]=t[s]=u,t._input[c]=t[c])}function i(t,e,r,n){var i,a=new Array(t);if(n)for(i=0;i&lt;t;i++)a[i]=1/(e[i+1]-e[i]);else{var o=1/r;for(i=0;i&lt;t;i++)a[i]=o}return a}function a(t,e){return{start:t(e.start),end:t(e.end),size:e.size}}function o(t,e,r,n,i,a){var o,s=t.length-1,l=new Array(s);if(e)for(o=0;o&lt;s;o++)l[o]=[e[o],e[o]];else{var c=d(r,n,t,i,a);for(o=0;o&lt;s;o++)l[o]=[c(t[o]),c(t[o+1],!0)]}return l}var s=t(&quot;../../lib&quot;),l=t(&quot;../../plots/cartesian/axes&quot;),c=t(&quot;../histogram/bin_functions&quot;),u=t(&quot;../histogram/norm_functions&quot;),f=t(&quot;../histogram/average&quot;),h=t(&quot;../histogram/clean_bins&quot;),d=t(&quot;../histogram/bin_label_vals&quot;);e.exports=function(t,e){var r,h,d,p,m=l.getFromId(t,e.xaxis||&quot;x&quot;),g=e.x?m.makeCalcdata(e,&quot;x&quot;):[],v=l.getFromId(t,e.yaxis||&quot;y&quot;),y=e.y?v.makeCalcdata(e,&quot;y&quot;):[],x=e.xcalendar,b=e.ycalendar,_=function(t){return m.r2c(t,0,x)},w=function(t){return v.r2c(t,0,b)},M=function(t){return m.c2r(t,0,x)},k=function(t){return v.c2r(t,0,b)},A=Math.min(g.length,y.length);g.length&gt;A&amp;&amp;g.splice(A,g.length-A),y.length&gt;A&amp;&amp;y.splice(A,y.length-A),n(e,&quot;x&quot;,g,m,_,M,x),n(e,&quot;y&quot;,y,v,w,k,b);var T=[],S=[],E=[],L=&quot;string&quot;==typeof e.xbins.size,C=&quot;string&quot;==typeof e.ybins.size,z=[],D=[],I=L?z:e.xbins,P=C?D:e.ybins,O=0,F=[],R=[],N=e.histnorm,j=e.histfunc,B=-1!==N.indexOf(&quot;density&quot;),U=&quot;max&quot;===j||&quot;min&quot;===j?null:0,V=c.count,q=u[N],H=!1,G=[],Y=[],W=&quot;z&quot;in e?e.z:&quot;marker&quot;in e&amp;&amp;Array.isArray(e.marker.color)?e.marker.color:&quot;&quot;;W&amp;&amp;&quot;count&quot;!==j&amp;&amp;(H=&quot;avg&quot;===j,V=c[j]);var X=e.xbins,Z=_(X.start),J=_(X.end)+(Z-l.tickIncrement(Z,X.size,!1,x))/1e6;for(r=Z;r&lt;J;r=l.tickIncrement(r,X.size,!1,x))S.push(U),z.push(r),H&amp;&amp;E.push(0);z.push(r);var K=S.length,Q=_(e.xbins.start),$=(r-Q)/K,tt=M(Q+$/2);for(Z=w((X=e.ybins).start),J=w(X.end)+(Z-l.tickIncrement(Z,X.size,!1,b))/1e6,r=Z;r&lt;J;r=l.tickIncrement(r,X.size,!1,b)){T.push(S.slice()),D.push(r);var et=new Array(K);for(h=0;h&lt;K;h++)et[h]=[];R.push(et),H&amp;&amp;F.push(E.slice())}D.push(r);var rt=T.length,nt=w(e.ybins.start),it=(r-nt)/rt,at=k(nt+it/2);B&amp;&amp;(G=i(S.length,I,$,L),Y=i(T.length,P,it,C)),L||&quot;date&quot;!==m.type||(I=a(_,I)),C||&quot;date&quot;!==v.type||(P=a(w,P));var ot=!0,st=!0,lt=new Array(K),ct=new Array(rt),ut=1/0,ft=1/0,ht=1/0,dt=1/0;for(r=0;r&lt;A;r++){var pt=g[r],mt=y[r];d=s.findBin(pt,I),p=s.findBin(mt,P),d&gt;=0&amp;&amp;d&lt;K&amp;&amp;p&gt;=0&amp;&amp;p&lt;rt&amp;&amp;(O+=V(d,r,T[p],W,F[p]),R[p][d].push(r),ot&amp;&amp;(void 0===lt[d]?lt[d]=pt:lt[d]!==pt&amp;&amp;(ot=!1)),st&amp;&amp;(void 0===ct[d]?ct[d]=mt:ct[d]!==mt&amp;&amp;(st=!1)),ut=Math.min(ut,pt-z[d]),ft=Math.min(ft,z[d+1]-pt),ht=Math.min(ht,mt-D[p]),dt=Math.min(dt,D[p+1]-mt))}if(H)for(p=0;p&lt;rt;p++)O+=f(T[p],F[p]);if(q)for(p=0;p&lt;rt;p++)q(T[p],O,G,Y[p]);return{x:g,xRanges:o(z,ot&amp;&amp;lt,ut,ft,m,x),x0:tt,dx:$,y:y,yRanges:o(D,st&amp;&amp;ct,ht,dt,v,b),y0:at,dy:it,z:T,pts:R}}},{&quot;../../lib&quot;:743,&quot;../../plots/cartesian/axes&quot;:789,&quot;../histogram/average&quot;:998,&quot;../histogram/bin_functions&quot;:1e3,&quot;../histogram/bin_label_vals&quot;:1001,&quot;../histogram/clean_bins&quot;:1003,&quot;../histogram/norm_functions&quot;:1008}],1011:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib&quot;),i=t(&quot;./sample_defaults&quot;),a=t(&quot;../heatmap/style_defaults&quot;),o=t(&quot;../../components/colorscale/defaults&quot;),s=t(&quot;./attributes&quot;);e.exports=function(t,e,r,l){function c(r,i){return n.coerce(t,e,s,r,i)}i(t,e,c,l),!1!==e.visible&amp;&amp;(a(t,e,c,l),o(t,e,l,c,{prefix:&quot;&quot;,cLetter:&quot;z&quot;}))}},{&quot;../../components/colorscale/defaults&quot;:628,&quot;../../lib&quot;:743,&quot;../heatmap/style_defaults&quot;:992,&quot;./attributes&quot;:1009,&quot;./sample_defaults&quot;:1014}],1012:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../heatmap/hover&quot;),i=t(&quot;../../plots/cartesian/axes&quot;).hoverLabelText;e.exports=function(t,e,r,a,o,s){var l=n(t,e,r,a,o,s);if(l){var c=(t=l[0]).index,u=c[0],f=c[1],h=t.cd[0],d=h.xRanges[f],p=h.yRanges[u];return t.xLabel=i(t.xa,d[0],d[1]),t.yLabel=i(t.ya,p[0],p[1]),l}}},{&quot;../../plots/cartesian/axes&quot;:789,&quot;../heatmap/hover&quot;:985}],1013:[function(t,e,r){&quot;use strict&quot;;var n={};n.attributes=t(&quot;./attributes&quot;),n.supplyDefaults=t(&quot;./defaults&quot;),n.calc=t(&quot;../heatmap/calc&quot;),n.plot=t(&quot;../heatmap/plot&quot;),n.colorbar=t(&quot;../heatmap/colorbar&quot;),n.style=t(&quot;../heatmap/style&quot;),n.hoverPoints=t(&quot;./hover&quot;),n.eventData=t(&quot;../histogram/event_data&quot;),n.moduleType=&quot;trace&quot;,n.name=&quot;histogram2d&quot;,n.basePlotModule=t(&quot;../../plots/cartesian&quot;),n.categories=[&quot;cartesian&quot;,&quot;2dMap&quot;,&quot;histogram&quot;],n.meta={},e.exports=n},{&quot;../../plots/cartesian&quot;:800,&quot;../heatmap/calc&quot;:978,&quot;../heatmap/colorbar&quot;:980,&quot;../heatmap/plot&quot;:990,&quot;../heatmap/style&quot;:991,&quot;../histogram/event_data&quot;:1005,&quot;./attributes&quot;:1009,&quot;./defaults&quot;:1011,&quot;./hover&quot;:1012}],1014:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../registry&quot;),i=t(&quot;../histogram/bin_defaults&quot;);e.exports=function(t,e,r,a){var o=r(&quot;x&quot;),s=r(&quot;y&quot;);if(o&amp;&amp;o.length&amp;&amp;s&amp;&amp;s.length){n.getComponentMethod(&quot;calendars&quot;,&quot;handleTraceDefaults&quot;)(t,e,[&quot;x&quot;,&quot;y&quot;],a);(r(&quot;z&quot;)||r(&quot;marker.color&quot;))&amp;&amp;r(&quot;histfunc&quot;);i(t,e,r,[&quot;x&quot;,&quot;y&quot;])}else e.visible=!1}},{&quot;../../registry&quot;:873,&quot;../histogram/bin_defaults&quot;:999}],1015:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../histogram2d/attributes&quot;),i=t(&quot;../contour/attributes&quot;),a=t(&quot;../../components/colorscale/attributes&quot;),o=t(&quot;../../components/colorbar/attributes&quot;),s=t(&quot;../../lib/extend&quot;).extendFlat;e.exports=s({x:n.x,y:n.y,z:n.z,marker:n.marker,histnorm:n.histnorm,histfunc:n.histfunc,autobinx:n.autobinx,nbinsx:n.nbinsx,xbins:n.xbins,autobiny:n.autobiny,nbinsy:n.nbinsy,ybins:n.ybins,autocontour:i.autocontour,ncontours:i.ncontours,contours:i.contours,line:i.line,zhoverformat:n.zhoverformat},a,{zmin:s({},a.zmin,{editType:&quot;calc&quot;}),zmax:s({},a.zmax,{editType:&quot;calc&quot;})},{colorbar:o})},{&quot;../../components/colorbar/attributes&quot;:619,&quot;../../components/colorscale/attributes&quot;:624,&quot;../../lib/extend&quot;:732,&quot;../contour/attributes&quot;:949,&quot;../histogram2d/attributes&quot;:1009}],1016:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib&quot;),i=t(&quot;../histogram2d/sample_defaults&quot;),a=t(&quot;../contour/contours_defaults&quot;),o=t(&quot;../contour/style_defaults&quot;),s=t(&quot;./attributes&quot;);e.exports=function(t,e,r,l){function c(r,i){return n.coerce(t,e,s,r,i)}i(t,e,c,l),!1!==e.visible&amp;&amp;(a(t,e,c),o(t,e,c,l))}},{&quot;../../lib&quot;:743,&quot;../contour/contours_defaults&quot;:953,&quot;../contour/style_defaults&quot;:963,&quot;../histogram2d/sample_defaults&quot;:1014,&quot;./attributes&quot;:1015}],1017:[function(t,e,r){&quot;use strict&quot;;var n={};n.attributes=t(&quot;./attributes&quot;),n.supplyDefaults=t(&quot;./defaults&quot;),n.calc=t(&quot;../contour/calc&quot;),n.plot=t(&quot;../contour/plot&quot;).plot,n.style=t(&quot;../contour/style&quot;),n.colorbar=t(&quot;../contour/colorbar&quot;),n.hoverPoints=t(&quot;../contour/hover&quot;),n.moduleType=&quot;trace&quot;,n.name=&quot;histogram2dcontour&quot;,n.basePlotModule=t(&quot;../../plots/cartesian&quot;),n.categories=[&quot;cartesian&quot;,&quot;2dMap&quot;,&quot;contour&quot;,&quot;histogram&quot;],n.meta={},e.exports=n},{&quot;../../plots/cartesian&quot;:800,&quot;../contour/calc&quot;:950,&quot;../contour/colorbar&quot;:951,&quot;../contour/hover&quot;:957,&quot;../contour/plot&quot;:961,&quot;../contour/style&quot;:962,&quot;./attributes&quot;:1015,&quot;./defaults&quot;:1016}],1018:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../components/colorscale/color_attributes&quot;),i=t(&quot;../../components/colorscale/attributes&quot;),a=t(&quot;../../components/colorbar/attributes&quot;),o=t(&quot;../surface/attributes&quot;),s=t(&quot;../../lib/extend&quot;).extendFlat;e.exports=s(n(&quot;&quot;,&quot;calc&quot;,!1),{x:{valType:&quot;data_array&quot;,editType:&quot;calc+clearAxisTypes&quot;},y:{valType:&quot;data_array&quot;,editType:&quot;calc+clearAxisTypes&quot;},z:{valType:&quot;data_array&quot;,editType:&quot;calc+clearAxisTypes&quot;},i:{valType:&quot;data_array&quot;,editType:&quot;calc&quot;},j:{valType:&quot;data_array&quot;,editType:&quot;calc&quot;},k:{valType:&quot;data_array&quot;,editType:&quot;calc&quot;},delaunayaxis:{valType:&quot;enumerated&quot;,values:[&quot;x&quot;,&quot;y&quot;,&quot;z&quot;],dflt:&quot;z&quot;,editType:&quot;calc&quot;},alphahull:{valType:&quot;number&quot;,dflt:-1,editType:&quot;calc&quot;},intensity:{valType:&quot;data_array&quot;,editType:&quot;calc&quot;},color:{valType:&quot;color&quot;,editType:&quot;calc&quot;},vertexcolor:{valType:&quot;data_array&quot;,editType:&quot;calc&quot;},facecolor:{valType:&quot;data_array&quot;,editType:&quot;calc&quot;},opacity:o.opacity,flatshading:{valType:&quot;boolean&quot;,dflt:!1,editType:&quot;calc&quot;},contour:{show:s({},o.contours.x.show,{}),color:o.contours.x.color,width:o.contours.x.width,editType:&quot;calc&quot;},showscale:i.showscale,colorbar:a,lightposition:{x:s({},o.lightposition.x,{dflt:1e5}),y:s({},o.lightposition.y,{dflt:1e5}),z:s({},o.lightposition.z,{dflt:0}),editType:&quot;calc&quot;},lighting:s({vertexnormalsepsilon:{valType:&quot;number&quot;,min:0,max:1,dflt:1e-12,editType:&quot;calc&quot;},facenormalsepsilon:{valType:&quot;number&quot;,min:0,max:1,dflt:1e-6,editType:&quot;calc&quot;},editType:&quot;calc&quot;},o.lighting)})},{&quot;../../components/colorbar/attributes&quot;:619,&quot;../../components/colorscale/attributes&quot;:624,&quot;../../components/colorscale/color_attributes&quot;:626,&quot;../../lib/extend&quot;:732,&quot;../surface/attributes&quot;:1140}],1019:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../components/colorscale/calc&quot;);e.exports=function(t,e){e.intensity&amp;&amp;n(e,e.intensity,&quot;&quot;,&quot;c&quot;)}},{&quot;../../components/colorscale/calc&quot;:625}],1020:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;fast-isnumeric&quot;),i=t(&quot;../../lib&quot;),a=t(&quot;../../plots/plots&quot;),o=t(&quot;../../components/colorscale&quot;),s=t(&quot;../../components/colorbar/draw&quot;);e.exports=function(t,e){var r=e[0].trace,l=&quot;cb&quot;+r.uid,c=r.cmin,u=r.cmax,f=r.intensity||[];if(n(c)||(c=i.aggNums(Math.min,null,f)),n(u)||(u=i.aggNums(Math.max,null,f)),t._fullLayout._infolayer.selectAll(&quot;.&quot;+l).remove(),r.showscale){var h=e[0].t.cb=s(t,l),d=o.makeColorScaleFunc(o.extractScale(r.colorscale,c,u),{noNumericCheck:!0});h.fillcolor(d).filllevels({start:c,end:u,size:(u-c)/254}).options(r.colorbar)()}else a.autoMargin(t,l)}},{&quot;../../components/colorbar/draw&quot;:622,&quot;../../components/colorscale&quot;:633,&quot;../../lib&quot;:743,&quot;../../plots/plots&quot;:852,&quot;fast-isnumeric&quot;:140}],1021:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r){this.scene=t,this.uid=r,this.mesh=e,this.name=&quot;&quot;,this.color=&quot;#fff&quot;,this.data=null,this.showContour=!1}function i(t){return t.map(f)}function a(t,e,r){for(var n=new Array(t.length),i=0;i&lt;t.length;++i)n[i]=[t[i],e[i],r[i]];return n}var o=t(&quot;gl-mesh3d&quot;),s=t(&quot;tinycolor2&quot;),l=t(&quot;delaunay-triangulate&quot;),c=t(&quot;alpha-shape&quot;),u=t(&quot;convex-hull&quot;),f=t(&quot;../../lib/str2rgbarray&quot;),h=n.prototype;h.handlePick=function(t){if(t.object===this.mesh){var e=t.index=t.data.index;return t.traceCoordinate=[this.data.x[e],this.data.y[e],this.data.z[e]],!0}},h.update=function(t){function e(t,e,r,n){return e.map(function(e){return t.d2l(e,0,n)*r})}var r=this.scene,n=r.fullSceneLayout;this.data=t;var o,h=a(e(n.xaxis,t.x,r.dataScale[0],t.xcalendar),e(n.yaxis,t.y,r.dataScale[1],t.ycalendar),e(n.zaxis,t.z,r.dataScale[2],t.zcalendar));if(t.i&amp;&amp;t.j&amp;&amp;t.k)o=a(t.i,t.j,t.k);else if(0===t.alphahull)o=u(h);else if(t.alphahull&gt;0)o=c(t.alphahull,h);else{var d=[&quot;x&quot;,&quot;y&quot;,&quot;z&quot;].indexOf(t.delaunayaxis);o=l(h.map(function(t){return[t[(d+1)%3],t[(d+2)%3]]}))}var p={positions:h,cells:o,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:f(t.contour.color).slice(0,3),contourWidth:t.contour.width,useFacetNormals:t.flatshading};t.intensity?(this.color=&quot;#fff&quot;,p.vertexIntensity=t.intensity,p.vertexIntensityBounds=[t.cmin,t.cmax],p.colormap=function(t){return t.map(function(t){var e=t[0],r=s(t[1]).toRgb();return{index:e,rgb:[r.r,r.g,r.b,1]}})}(t.colorscale)):t.vertexcolor?(this.color=t.vertexcolor[0],p.vertexColors=i(t.vertexcolor)):t.facecolor?(this.color=t.facecolor[0],p.cellColors=i(t.facecolor)):(this.color=t.color,p.meshColor=f(t.color)),this.mesh.update(p)},h.dispose=function(){this.scene.glplot.remove(this.mesh),this.mesh.dispose()},e.exports=function(t,e){var r=t.glplot.gl,i=o({gl:r}),a=new n(t,i,e.uid);return i._trace=a,a.update(e),t.glplot.add(i),a}},{&quot;../../lib/str2rgbarray&quot;:765,&quot;alpha-shape&quot;:47,&quot;convex-hull&quot;:109,&quot;delaunay-triangulate&quot;:130,&quot;gl-mesh3d&quot;:210,tinycolor2:546}],1022:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../registry&quot;),i=t(&quot;../../lib&quot;),a=t(&quot;../../components/colorscale/defaults&quot;),o=t(&quot;./attributes&quot;);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&amp;&amp;Array.isArray(e)?e:null});return e.every(function(t){return t&amp;&amp;t.length===e[0].length})&amp;&amp;e}var u=c([&quot;x&quot;,&quot;y&quot;,&quot;z&quot;]),f=c([&quot;i&quot;,&quot;j&quot;,&quot;k&quot;]);if(u){f&amp;&amp;f.forEach(function(t){for(var e=0;e&lt;t.length;++e)t[e]|=0});n.getComponentMethod(&quot;calendars&quot;,&quot;handleTraceDefaults&quot;)(t,e,[&quot;x&quot;,&quot;y&quot;,&quot;z&quot;],s),[&quot;lighting.ambient&quot;,&quot;lighting.diffuse&quot;,&quot;lighting.specular&quot;,&quot;lighting.roughness&quot;,&quot;lighting.fresnel&quot;,&quot;lighting.vertexnormalsepsilon&quot;,&quot;lighting.facenormalsepsilon&quot;,&quot;lightposition.x&quot;,&quot;lightposition.y&quot;,&quot;lightposition.z&quot;,&quot;contour.show&quot;,&quot;contour.color&quot;,&quot;contour.width&quot;,&quot;colorscale&quot;,&quot;reversescale&quot;,&quot;flatshading&quot;,&quot;alphahull&quot;,&quot;delaunayaxis&quot;,&quot;opacity&quot;].forEach(function(t){l(t)}),&quot;intensity&quot;in t?(l(&quot;intensity&quot;),a(t,e,s,l,{prefix:&quot;&quot;,cLetter:&quot;c&quot;})):(e.showscale=!1,&quot;facecolor&quot;in t?l(&quot;facecolor&quot;):&quot;vertexcolor&quot;in t?l(&quot;vertexcolor&quot;):l(&quot;color&quot;,r))}else e.visible=!1}},{&quot;../../components/colorscale/defaults&quot;:628,&quot;../../lib&quot;:743,&quot;../../registry&quot;:873,&quot;./attributes&quot;:1018}],1023:[function(t,e,r){&quot;use strict&quot;;var n={};n.attributes=t(&quot;./attributes&quot;),n.supplyDefaults=t(&quot;./defaults&quot;),n.calc=t(&quot;./calc&quot;),n.colorbar=t(&quot;./colorbar&quot;),n.plot=t(&quot;./convert&quot;),n.moduleType=&quot;trace&quot;,n.name=&quot;mesh3d&quot;,n.basePlotModule=t(&quot;../../plots/gl3d&quot;),n.categories=[&quot;gl3d&quot;],n.meta={},e.exports=n},{&quot;../../plots/gl3d&quot;:832,&quot;./attributes&quot;:1018,&quot;./calc&quot;:1019,&quot;./colorbar&quot;:1020,&quot;./convert&quot;:1021,&quot;./defaults&quot;:1022}],1024:[function(t,e,r){&quot;use strict&quot;;function n(t){return{name:{valType:&quot;string&quot;,editType:&quot;style&quot;},showlegend:{valType:&quot;boolean&quot;,dflt:!0,editType:&quot;style&quot;},line:{color:i({},s.color,{dflt:t}),width:s.width,dash:o,editType:&quot;style&quot;},editType:&quot;style&quot;}}var i=t(&quot;../../lib&quot;).extendFlat,a=t(&quot;../scatter/attributes&quot;),o=t(&quot;../../components/drawing/attributes&quot;).dash,s=a.line;e.exports={x:{valType:&quot;data_array&quot;,editType:&quot;calc+clearAxisTypes&quot;},open:{valType:&quot;data_array&quot;,dflt:[],editType:&quot;calc&quot;},high:{valType:&quot;data_array&quot;,dflt:[],editType:&quot;calc&quot;},low:{valType:&quot;data_array&quot;,dflt:[],editType:&quot;calc&quot;},close:{valType:&quot;data_array&quot;,dflt:[],editType:&quot;calc&quot;},line:{width:i({},s.width,{}),dash:i({},o,{}),editType:&quot;style&quot;},increasing:n(&quot;#3D9970&quot;),decreasing:n(&quot;#FF4136&quot;),text:{valType:&quot;string&quot;,dflt:&quot;&quot;,arrayOk:!0,editType:&quot;calc&quot;},tickwidth:{valType:&quot;number&quot;,min:0,max:.5,dflt:.3,editType:&quot;calcIfAutorange&quot;}}},{&quot;../../components/drawing/attributes&quot;:642,&quot;../../lib&quot;:743,&quot;../scatter/attributes&quot;:1066}],1025:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,n){o(t,e,r,n),r(n+&quot;.line.color&quot;),r(n+&quot;.line.width&quot;,e.line.width),r(n+&quot;.line.dash&quot;,e.line.dash)}var i=t(&quot;../../lib&quot;),a=t(&quot;./ohlc_defaults&quot;),o=t(&quot;./direction_defaults&quot;),s=t(&quot;./attributes&quot;),l=t(&quot;./helpers&quot;);e.exports=function(t,e,r,o){function c(r,n){return i.coerce(t,e,s,r,n)}l.pushDummyTransformOpts(t,e);0!==a(t,e,c,o)?(c(&quot;line.width&quot;),c(&quot;line.dash&quot;),n(t,e,c,&quot;increasing&quot;),n(t,e,c,&quot;decreasing&quot;),c(&quot;text&quot;),c(&quot;tickwidth&quot;)):e.visible=!1}},{&quot;../../lib&quot;:743,&quot;./attributes&quot;:1024,&quot;./direction_defaults&quot;:1026,&quot;./helpers&quot;:1027,&quot;./ohlc_defaults&quot;:1029}],1026:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t,e,r,n){r(n+&quot;.showlegend&quot;),!1===t.showlegend&amp;&amp;(e[n].showlegend=!1);r(n+&quot;.name&quot;,e.name+&quot; - &quot;+n)}},{}],1027:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;fast-isnumeric&quot;),i=t(&quot;../../lib&quot;);r.pushDummyTransformOpts=function(t,e){var r={type:e.type,_ephemeral:!0};Array.isArray(t.transforms)?t.transforms.push(r):t.transforms=[r]},r.clearEphemeralTransformOpts=function(t){var e=t.transforms;if(Array.isArray(e)){for(var r=0;r&lt;e.length;r++)e[r]._ephemeral&amp;&amp;e.splice(r,1);0===e.length&amp;&amp;delete t.transforms}},r.copyOHLC=function(t,e){t.open&amp;&amp;(e.open=t.open),t.high&amp;&amp;(e.high=t.high),t.low&amp;&amp;(e.low=t.low),t.close&amp;&amp;(e.close=t.close)},r.makeTransform=function(t,e,r){var n=i.extendFlat([],t.transforms);return n[e.transformIndex]={type:t.type,direction:r,open:t.open,high:t.high,low:t.low,close:t.close},n},r.getFilterFn=function(t){return new function(t){function e(t,e){return t===e?e&gt;i?r=!0:e&lt;i&amp;&amp;(r=!1):r=t&lt;e,i=e,r}var r=!0,i=null;return&quot;increasing&quot;===t?function(t,r){return n(t)&amp;&amp;n(r)&amp;&amp;e(+t,+r)}:function(t,r){return n(t)&amp;&amp;n(r)&amp;&amp;!e(+t,+r)}}(t)},r.addRangeSlider=function(t,e){for(var r=!1,n=0;n&lt;t.length;n++)if(!0===t[n].visible){r=!0;break}r&amp;&amp;(e.xaxis||(e.xaxis={}),e.xaxis.rangeslider||(e.xaxis.rangeslider={}))}},{&quot;../../lib&quot;:743,&quot;fast-isnumeric&quot;:140}],1028:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../plot_api/register&quot;);e.exports={moduleType:&quot;trace&quot;,name:&quot;ohlc&quot;,basePlotModule:t(&quot;../../plots/cartesian&quot;),categories:[&quot;cartesian&quot;,&quot;showLegend&quot;],meta:{},attributes:t(&quot;./attributes&quot;),supplyDefaults:t(&quot;./defaults&quot;)},n(t(&quot;../scatter&quot;)),n(t(&quot;./transform&quot;))},{&quot;../../plot_api/register&quot;:779,&quot;../../plots/cartesian&quot;:800,&quot;../scatter&quot;:1078,&quot;./attributes&quot;:1024,&quot;./defaults&quot;:1025,&quot;./transform&quot;:1030}],1029:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../registry&quot;);e.exports=function(t,e,r,i){var a,o=r(&quot;x&quot;),s=r(&quot;open&quot;),l=r(&quot;high&quot;),c=r(&quot;low&quot;),u=r(&quot;close&quot;);return n.getComponentMethod(&quot;calendars&quot;,&quot;handleTraceDefaults&quot;)(t,e,[&quot;x&quot;],i),a=Math.min(s.length,l.length,c.length,u.length),o&amp;&amp;(a=Math.min(a,o.length))&lt;o.length&amp;&amp;(e.x=o.slice(0,a)),a&lt;s.length&amp;&amp;(e.open=s.slice(0,a)),a&lt;l.length&amp;&amp;(e.high=l.slice(0,a)),a&lt;c.length&amp;&amp;(e.low=c.slice(0,a)),a&lt;u.length&amp;&amp;(e.close=u.slice(0,a)),a}},{&quot;../../registry&quot;:873}],1030:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r){var n={type:&quot;scatter&quot;,mode:&quot;lines&quot;,connectgaps:!1,visible:t.visible,opacity:t.opacity,xaxis:t.xaxis,yaxis:t.yaxis,hoverinfo:function(t){var e=t.hoverinfo;if(&quot;all&quot;===e)return&quot;x+text+name&quot;;var r=e.split(&quot;+&quot;),n=r.indexOf(&quot;y&quot;),i=r.indexOf(&quot;text&quot;);-1!==n&amp;&amp;(r.splice(n,1),-1===i&amp;&amp;r.push(&quot;text&quot;));return r.join(&quot;+&quot;)}(t),transforms:s.makeTransform(t,e,r)},i=t[r];return i&amp;&amp;a.extendFlat(n,{x:t.x||[0],xcalendar:t.xcalendar,y:[].concat(t.low).concat(t.high),text:t.text,name:i.name,showlegend:i.showlegend,line:i.line}),n}var i=t(&quot;fast-isnumeric&quot;),a=t(&quot;../../lib&quot;),o=a._,s=t(&quot;./helpers&quot;),l=t(&quot;../../plots/cartesian/axes&quot;),c=t(&quot;../../plots/cartesian/axis_ids&quot;);r.moduleType=&quot;transform&quot;,r.name=&quot;ohlc&quot;,r.attributes={},r.supplyDefaults=function(t,e,r,n){return s.clearEphemeralTransformOpts(n),s.copyOHLC(t,e),t},r.transform=function(t,e){for(var r=[],i=0;i&lt;t.length;i++){var a=t[i];&quot;ohlc&quot;===a.type?r.push(n(a,e,&quot;increasing&quot;),n(a,e,&quot;decreasing&quot;)):r.push(a)}return s.addRangeSlider(r,e.layout),r},r.calcTransform=function(t,e,r){var n,u=r.direction,f=s.getFilterFn(u),h=c.getFromTrace(t,e,&quot;x&quot;),d=c.getFromTrace(t,e,&quot;y&quot;),p=function(t,e,r){var n=r._fullInput,i=n.tickwidth,o=n._minDiff;if(!o){var s=t._fullData,l=[];o=1/0;var c;for(c=0;c&lt;s.length;c++){var u=s[c]._fullInput;if(&quot;ohlc&quot;===u.type&amp;&amp;!0===u.visible&amp;&amp;u.xaxis===e._id&amp;&amp;(l.push(u),u.x&amp;&amp;u.x.length&gt;1)){var f=a.simpleMap(u.x,e.d2c,0,r.xcalendar),h=a.distinctVals(f).minDiff;o=Math.min(o,h)}}for(o===1/0&amp;&amp;(o=1),c=0;c&lt;l.length;c++)l[c]._minDiff=o}return o*i}(t,h,e),m=e.open,g=e.high,v=e.low,y=e.close,x=e.text,b=o(t,&quot;open:&quot;)+&quot; &quot;,_=o(t,&quot;high:&quot;)+&quot; &quot;,w=o(t,&quot;low:&quot;)+&quot; &quot;,M=o(t,&quot;close:&quot;)+&quot; &quot;,k=m.length,A=[],T=[],S=[];n=e._fullInput.x?function(t){var r=e.x[t],n=e.xcalendar,i=h.d2c(r,0,n);A.push(h.c2d(i-p,0,n),r,r,r,r,h.c2d(i+p,0,n),null)}:function(t){A.push(t-p,t,t,t,t,t+p,null)};for(var E=function(t,e,r,n){T.push(t,t,e,r,n,n,null)},L=function(t,e){return l.tickText(t,t.c2l(e),&quot;hover&quot;).text},C=e._fullInput.hoverinfo,z=C.split(&quot;+&quot;),D=&quot;all&quot;===C,I=D||-1!==z.indexOf(&quot;y&quot;),P=D||-1!==z.indexOf(&quot;text&quot;),O=Array.isArray(x)?function(t){return x[t]||&quot;&quot;}:function(){return x},F=function(t,e,r,n,i){var a=[];I&amp;&amp;(a.push(b+L(d,e)),a.push(_+L(d,r)),a.push(w+L(d,n)),a.push(M+L(d,i))),P&amp;&amp;a.push(O(t));var o=a.join(&quot;&lt;br&gt;&quot;);S.push(o,o,o,o,o,o,null)},R=0;R&lt;k;R++)f(m[R],y[R])&amp;&amp;i(g[R])&amp;&amp;i(v[R])&amp;&amp;(n(R),E(m[R],g[R],v[R],y[R]),F(R,m[R],g[R],v[R],y[R]));e.x=A,e.y=T,e.text=S}},{&quot;../../lib&quot;:743,&quot;../../plots/cartesian/axes&quot;:789,&quot;../../plots/cartesian/axis_ids&quot;:792,&quot;./helpers&quot;:1027,&quot;fast-isnumeric&quot;:140}],1031:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../components/colorscale/color_attributes&quot;),i=t(&quot;../../components/colorbar/attributes&quot;),a=t(&quot;../../components/colorscale/scales&quot;),o=t(&quot;../../plots/cartesian/layout_attributes&quot;),s=t(&quot;../../plots/font_attributes&quot;),l=t(&quot;../../plots/domain_attributes&quot;),c=t(&quot;../../lib/extend&quot;),u=c.extendDeepAll,f=c.extendFlat;e.exports={domain:l({name:&quot;parcoords&quot;,trace:!0,editType:&quot;calc&quot;}),labelfont:s({editType:&quot;calc&quot;}),tickfont:s({editType:&quot;calc&quot;}),rangefont:s({editType:&quot;calc&quot;}),dimensions:{_isLinkedToArray:&quot;dimension&quot;,label:{valType:&quot;string&quot;,editType:&quot;calc&quot;},tickvals:f({},o.tickvals,{editType:&quot;calc&quot;}),ticktext:f({},o.ticktext,{editType:&quot;calc&quot;}),tickformat:{valType:&quot;string&quot;,dflt:&quot;3s&quot;,editType:&quot;calc&quot;},visible:{valType:&quot;boolean&quot;,dflt:!0,editType:&quot;calc&quot;},range:{valType:&quot;info_array&quot;,items:[{valType:&quot;number&quot;,editType:&quot;calc&quot;},{valType:&quot;number&quot;,editType:&quot;calc&quot;}],editType:&quot;calc&quot;},constraintrange:{valType:&quot;info_array&quot;,items:[{valType:&quot;number&quot;,editType:&quot;calc&quot;},{valType:&quot;number&quot;,editType:&quot;calc&quot;}],editType:&quot;calc&quot;},values:{valType:&quot;data_array&quot;,dflt:[],editType:&quot;calc&quot;},editType:&quot;calc&quot;},line:f(u(n(&quot;line&quot;,&quot;calc&quot;),{colorscale:{dflt:a.Viridis},autocolorscale:{dflt:!1}}),{showscale:{valType:&quot;boolean&quot;,dflt:!1,editType:&quot;calc&quot;},colorbar:i,editType:&quot;calc&quot;})}},{&quot;../../components/colorbar/attributes&quot;:619,&quot;../../components/colorscale/color_attributes&quot;:626,&quot;../../components/colorscale/scales&quot;:637,&quot;../../lib/extend&quot;:732,&quot;../../plots/cartesian/layout_attributes&quot;:801,&quot;../../plots/domain_attributes&quot;:815,&quot;../../plots/font_attributes&quot;:816}],1032:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;d3&quot;),i=t(&quot;../../plots/get_data&quot;).getModuleCalcData,a=t(&quot;./plot&quot;),o=t(&quot;../../constants/xmlns_namespaces&quot;);r.name=&quot;parcoords&quot;,r.plot=function(t){var e=i(t.calcdata,&quot;parcoords&quot;);e.length&amp;&amp;a(t,e)},r.clean=function(t,e,r,n){var i=n._has&amp;&amp;n._has(&quot;parcoords&quot;),a=e._has&amp;&amp;e._has(&quot;parcoords&quot;);i&amp;&amp;!a&amp;&amp;(n._paperdiv.selectAll(&quot;.parcoords&quot;).remove(),n._glimages.selectAll(&quot;*&quot;).remove())},r.toSVG=function(t){var e=t._fullLayout._glimages,r=n.select(t).selectAll(&quot;.svg-container&quot;);r.filter(function(t,e){return e===r.size()-1}).selectAll(&quot;.gl-canvas-context, .gl-canvas-focus&quot;).each(function(){var t=this.toDataURL(&quot;image/png&quot;);e.append(&quot;svg:image&quot;).attr({xmlns:o.svg,&quot;xlink:href&quot;:t,preserveAspectRatio:&quot;none&quot;,x:0,y:0,width:this.width,height:this.height})}),window.setTimeout(function(){n.selectAll(&quot;#filterBarPattern&quot;).attr(&quot;id&quot;,&quot;filterBarPattern&quot;)},60)}},{&quot;../../constants/xmlns_namespaces&quot;:723,&quot;../../plots/get_data&quot;:826,&quot;./plot&quot;:1040,d3:128}],1033:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../components/colorscale/has_colorscale&quot;),i=t(&quot;../../components/colorscale/calc&quot;),a=t(&quot;../../lib&quot;),o=t(&quot;../../lib/gup&quot;).wrap;e.exports=function(t,e){var r=!!e.line.colorscale&amp;&amp;a.isArray(e.line.color),s=r?e.line.color:Array.apply(0,Array(e.dimensions.reduce(function(t,e){return Math.max(t,e.values.length)},0))).map(function(){return.5}),l=r?e.line.colorscale:[[0,e.line.color],[1,e.line.color]];return n(e,&quot;line&quot;)&amp;&amp;i(e,e.line.color,&quot;line&quot;,&quot;c&quot;),o({lineColor:s,cscale:l})}},{&quot;../../components/colorscale/calc&quot;:625,&quot;../../components/colorscale/has_colorscale&quot;:632,&quot;../../lib&quot;:743,&quot;../../lib/gup&quot;:740}],1034:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;fast-isnumeric&quot;),i=t(&quot;../../lib&quot;),a=t(&quot;../../plots/plots&quot;),o=t(&quot;../../components/colorscale&quot;),s=t(&quot;../../components/colorbar/draw&quot;);e.exports=function(t,e){var r=e[0].trace,l=r.line,c=&quot;cb&quot;+r.uid;if(t._fullLayout._infolayer.selectAll(&quot;.&quot;+c).remove(),void 0!==l&amp;&amp;l.showscale){var u=l.color,f=l.cmin,h=l.cmax;n(f)||(f=i.aggNums(Math.min,null,u)),n(h)||(h=i.aggNums(Math.max,null,u));var d=e[0].t.cb=s(t,c),p=o.makeColorScaleFunc(o.extractScale(l.colorscale,f,h),{noNumericCheck:!0});d.fillcolor(p).filllevels({start:f,end:h,size:(h-f)/254}).options(l.colorbar)()}else a.autoMargin(t,c)}},{&quot;../../components/colorbar/draw&quot;:622,&quot;../../components/colorscale&quot;:633,&quot;../../lib&quot;:743,&quot;../../plots/plots&quot;:852,&quot;fast-isnumeric&quot;:140}],1035:[function(t,e,r){&quot;use strict&quot;;e.exports={maxDimensionCount:60,overdrag:45,verticalPadding:2,tickDistance:50,canvasPixelRatio:1,blockLineCount:5e3,scatter:!1,layers:[&quot;contextLineLayer&quot;,&quot;focusLineLayer&quot;,&quot;pickLineLayer&quot;],axisTitleOffset:28,axisExtentOffset:10,bar:{width:4,capturewidth:10,fillcolor:&quot;magenta&quot;,fillopacity:1,strokecolor:&quot;white&quot;,strokeopacity:1,strokewidth:1,handleheight:16,handleopacity:1,handleoverlap:0},cn:{axisExtentText:&quot;axis-extent-text&quot;,parcoordsLineLayers:&quot;parcoords-line-layers&quot;,parcoordsLineLayer:&quot;parcoords-lines&quot;,parcoords:&quot;parcoords&quot;,parcoordsControlView:&quot;parcoords-control-view&quot;,yAxis:&quot;y-axis&quot;,axisOverlays:&quot;axis-overlays&quot;,axis:&quot;axis&quot;,axisHeading:&quot;axis-heading&quot;,axisTitle:&quot;axis-title&quot;,axisExtent:&quot;axis-extent&quot;,axisExtentTop:&quot;axis-extent-top&quot;,axisExtentTopText:&quot;axis-extent-top-text&quot;,axisExtentBottom:&quot;axis-extent-bottom&quot;,axisExtentBottomText:&quot;axis-extent-bottom-text&quot;,axisBrush:&quot;axis-brush&quot;},id:{filterBarPattern:&quot;filter-bar-pattern&quot;}}},{}],1036:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib&quot;),i=t(&quot;./attributes&quot;),a=t(&quot;../../components/colorscale/has_colorscale&quot;),o=t(&quot;../../components/colorscale/defaults&quot;),s=t(&quot;./constants&quot;).maxDimensionCount;e.exports=function(t,e,r,l){function c(r,a){return n.coerce(t,e,i,r,a)}var u=function(t,e){function r(t,e){return n.coerce(a,o,i.dimensions,t,e)}var a,o,l,c=t.dimensions||[],u=e.dimensions=[],f=1/0;for(c.length&gt;s&amp;&amp;(n.log(&quot;parcoords traces support up to &quot;+s+&quot; dimensions at the moment&quot;),c.splice(s)),l=0;l&lt;c.length;l++)a=c[l],o={},n.isPlainObject(a)&amp;&amp;(r(&quot;visible&quot;,r(&quot;values&quot;).length&gt;0)&amp;&amp;(r(&quot;label&quot;),r(&quot;tickvals&quot;),r(&quot;ticktext&quot;),r(&quot;tickformat&quot;),r(&quot;range&quot;),r(&quot;constraintrange&quot;),f=Math.min(f,o.values.length)),o._index=l,u.push(o));if(isFinite(f))for(l=0;l&lt;u.length;l++)(o=u[l]).visible&amp;&amp;o.values.length&gt;f&amp;&amp;(o.values=o.values.slice(0,f));return u}(t,e);!function(t,e,r,i,s){s(&quot;line.color&quot;,r),a(t,&quot;line&quot;)&amp;&amp;n.isArray(t.line.color)?(s(&quot;line.colorscale&quot;),o(t,e,i,s,{prefix:&quot;line.&quot;,cLetter:&quot;c&quot;})):s(&quot;line.color&quot;,r)}(t,e,r,l,c),c(&quot;domain.x&quot;),c(&quot;domain.y&quot;),Array.isArray(u)&amp;&amp;u.length||(e.visible=!1);var f={family:l.font.family,size:Math.round(l.font.size*(10/12)),color:l.font.color};n.coerceFont(c,&quot;labelfont&quot;,f),n.coerceFont(c,&quot;tickfont&quot;,f),n.coerceFont(c,&quot;rangefont&quot;,f)}},{&quot;../../components/colorscale/defaults&quot;:628,&quot;../../components/colorscale/has_colorscale&quot;:632,&quot;../../lib&quot;:743,&quot;./attributes&quot;:1031,&quot;./constants&quot;:1035}],1037:[function(t,e,r){&quot;use strict&quot;;var n={};n.attributes=t(&quot;./attributes&quot;),n.supplyDefaults=t(&quot;./defaults&quot;),n.calc=t(&quot;./calc&quot;),n.plot=t(&quot;./plot&quot;),n.colorbar=t(&quot;./colorbar&quot;),n.moduleType=&quot;trace&quot;,n.name=&quot;parcoords&quot;,n.basePlotModule=t(&quot;./base_plot&quot;),n.categories=[&quot;gl&quot;,&quot;regl&quot;,&quot;noOpacity&quot;],n.meta={},e.exports=n},{&quot;./attributes&quot;:1031,&quot;./base_plot&quot;:1032,&quot;./calc&quot;:1033,&quot;./colorbar&quot;:1034,&quot;./defaults&quot;:1036,&quot;./plot&quot;:1040}],1038:[function(t,e,r){&quot;use strict&quot;;function n(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 i(t,e,r,i,a,o){function s(c){var u;u=Math.min(i,a-c*i),o.offset=h*c*i,o.count=h*u,0===c&amp;&amp;(window.cancelAnimationFrame(r.currentRafs[l]),delete r.currentRafs[l],n(t,o.scissorX,o.scissorY,o.scissorWidth,o.viewBoxSize[1])),r.clearOnly||(e(o),c*i+u&lt;a&amp;&amp;(r.currentRafs[l]=window.requestAnimationFrame(function(){s(c+1)})),r.drawCompleted=!1)}var l=o.key;r.drawCompleted||(!function(t){t.read({x:0,y:0,width:1,height:1,data:m})}(t),r.drawCompleted=!0),s(0)}function a(t){return Math.max(u,Math.min(1-u,t))}function o(t,e){return(t&gt;&gt;&gt;8*e)%256/255}function s(t,e){var r={};return[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15].map(function(r){return function(t,e,r){var n,i,a,o=[];for(i=0;i&lt;t;i++)for(a=0;a&lt;h;a++)for(n=0;n&lt;d;n++)o.push(e[i*f+r*d+n]),r*d+n===f-1&amp;&amp;a%2==0&amp;&amp;(o[o.length-1]*=-1);return o}(t,e,r)}).forEach(function(t,e){r[&quot;p&quot;+e.toString(16)]=t}),r}function l(t,e,r){return t+e&lt;=r}var c=t(&quot;./constants&quot;),u=1e-6,f=64,h=2,d=4,p=[119,119,119],m=new Uint8Array(4),g=new Uint8Array(4);e.exports=function(t,e,r){function u(t,e,r,n,i,a,o,s,u,f,d){var p,g,v,b,_=[t,e],w=c.verticalPadding/a,k=[0,1].map(function(){return[0,1,2,3].map(function(){return new Float32Array(16)})}),A=[0,1].map(function(){return[0,1,2,3].map(function(){return new Float32Array(16)})});for(p=0;p&lt;2;p++)for(b=_[p],g=0;g&lt;4;g++)for(v=0;v&lt;16;v++){var S=v+16*g;k[p][g][v]=v+16*g===b?1:0,A[p][g][v]=(!M&amp;&amp;l(v,16*g,I)?T[0===S?0:1+(S-1)%(T.length-1)].filter[p]:p)+(2*p-1)*w}return{key:o,resolution:[y,x],viewBoxPosition:[r+D,n],viewBoxSize:[i,a],i:t,ii:e,dim1A:k[0][0],dim1B:k[0][1],dim1C:k[0][2],dim1D:k[0][3],dim2A:k[1][0],dim2B:k[1][1],dim2C:k[1][2],dim2D:k[1][3],loA:A[0][0],loB:A[0][1],loC:A[0][2],loD:A[0][3],hiA:A[1][0],hiB:A[1][1],hiC:A[1][2],hiD:A[1][3],colorClamp:j,scatter:s||0,scissorX:(u===f?0:r+D)+(h.pad.l-D)+h.layoutWidth*m.x[0],scissorWidth:(u===d?y-r+D:i+.5)+(u===f?r+D:0),scissorY:n+h.pad.b+h.layoutHeight*m.y[0],scissorHeight:a,viewportX:h.pad.l-D+h.layoutWidth*m.x[0],viewportY:h.pad.b+h.layoutHeight*m.y[0],viewportWidth:y,viewportHeight:x}}var h=e.model,d=e.viewModel,m=h.domain,v=h.lines,y=h.canvasWidth,x=h.canvasHeight,b=d.dimensions,_=d.panels,w=h.unitToColor,M=e.context,k=e.pick,A={currentRafs:{},drawCompleted:!0,clearOnly:!1},T=b.slice(),S=T.length,E=T[0]?T[0].values.length:0,L=M,C=k?v.color.map(function(t,e){return e/v.color.length}):v.color,z=Math.max(1/255,Math.pow(1/C.length,1/3)),D=v.canvasOverdrag,I=_.length,P=function(t,e,r,n){for(var i=[],s=0;s&lt;t;s++)for(var l=0;l&lt;f;l++)i.push(l&lt;e?r[l].paddedUnitValues[s]:l===f-1?a(n[s]):l&gt;=f-4?o(s,f-2-l):.5);return i}(E,S,T,C),O=s(E,P),F=e.regl,R=F.texture({shape:[256,1],format:&quot;rgba&quot;,type:&quot;uint8&quot;,mag:&quot;nearest&quot;,min:&quot;nearest&quot;,data:function(t,e,r){for(var n=[],i=0;i&lt;256;i++){var a=t(i/255);n.push((e?p:a).concat(r))}return n}(w,M,Math.round(255*(M?z:1)))}),N=F({profile:!1,blend:{enable:L,func:{srcRGB:&quot;src alpha&quot;,dstRGB:&quot;one minus src alpha&quot;,srcAlpha:1,dstAlpha:1},equation:{rgb:&quot;add&quot;,alpha:&quot;add&quot;},color:[0,0,0,0]},depth:{enable:!L,mask:!0,func:&quot;less&quot;,range:[0,1]},cull:{enable:!0,face:&quot;back&quot;},scissor:{enable:!0,box:{x:F.prop(&quot;scissorX&quot;),y:F.prop(&quot;scissorY&quot;),width:F.prop(&quot;scissorWidth&quot;),height:F.prop(&quot;scissorHeight&quot;)}},viewport:{x:F.prop(&quot;viewportX&quot;),y:F.prop(&quot;viewportY&quot;),width:F.prop(&quot;viewportWidth&quot;),height:F.prop(&quot;viewportHeight&quot;)},dither:!1,vert:k?&quot;precision highp float;\n#define GLSLIFY 1\n\nattribute vec4 p0, p1, p2, p3,\n               p4, p5, p6, p7,\n               p8, p9, pa, pb,\n               pc, pd, pe;\n\nattribute vec4 pf;\n\nuniform mat4 dim1A, dim2A, dim1B, dim2B, dim1C, dim2C, dim1D, dim2D,\n             loA, hiA, loB, hiB, loC, hiC, loD, hiD;\n\nuniform vec2 resolution,\n             viewBoxPosition,\n             viewBoxSize;\n\nuniform sampler2D palette;\n\nuniform vec2 colorClamp;\n\nuniform float scatter;\n\nvarying vec4 fragColor;\n\nvec4 zero = vec4(0, 0, 0, 0);\nvec4 unit = vec4(1, 1, 1, 1);\nvec2 xyProjection = vec2(1, 1);\n\nmat4 mclamp(mat4 m, mat4 lo, mat4 hi) {\n    return mat4(clamp(m[0], lo[0], hi[0]),\n                clamp(m[1], lo[1], hi[1]),\n                clamp(m[2], lo[2], hi[2]),\n                clamp(m[3], lo[3], hi[3]));\n}\n\nbool mshow(mat4 p, mat4 lo, mat4 hi) {\n    return mclamp(p, lo, hi) == p;\n}\n\nfloat val(mat4 p, mat4 v) {\n    return dot(matrixCompMult(p, v) * unit, unit);\n}\n\nvoid main() {\n\n    float x = 0.5 * sign(pf[3]) + 0.5;\n    float prominence = abs(pf[3]);\n    float depth = 1.0 - prominence;\n\n    mat4 pA = mat4(p0, p1, p2, p3);\n    mat4 pB = mat4(p4, p5, p6, p7);\n    mat4 pC = mat4(p8, p9, pa, pb);\n    mat4 pD = mat4(pc, pd, pe, abs(pf));\n\n    float show = float(mshow(pA, loA, hiA) &amp;&amp;\n                       mshow(pB, loB, hiB) &amp;&amp;\n                       mshow(pC, loC, hiC) &amp;&amp;\n                       mshow(pD, loD, hiD));\n\n    vec2 yy = show * vec2(val(pA, dim2A) + val(pB, dim2B) + val(pC, dim2C) + val(pD, dim2D),\n                          val(pA, dim1A) + val(pB, dim1B) + val(pC, dim1C) + val(pD, dim1D));\n\n    vec2 dimensionToggle = vec2(x, 1.0 - x);\n\n    vec2 scatterToggle = vec2(scatter, 1.0 - scatter);\n\n    float y = dot(yy, dimensionToggle);\n    mat2 xy = mat2(viewBoxSize * yy + dimensionToggle, viewBoxSize * vec2(x, y));\n\n    vec2 viewBoxXY = viewBoxPosition + xy * scatterToggle;\n\n    float depthOrHide = depth + 2.0 * (1.0 - show);\n\n    gl_Position = vec4(\n        xyProjection * (2.0 * viewBoxXY / resolution - 1.0),\n        depthOrHide,\n        1.0\n    );\n\n    // pick coloring\n    fragColor = vec4(pf.rgb, 1.0);\n}\n&quot;:&quot;precision highp float;\n#define GLSLIFY 1\n\nattribute vec4 p0, p1, p2, p3,\n               p4, p5, p6, p7,\n               p8, p9, pa, pb,\n               pc, pd, pe;\n\nattribute vec4 pf;\n\nuniform mat4 dim1A, dim2A, dim1B, dim2B, dim1C, dim2C, dim1D, dim2D,\n             loA, hiA, loB, hiB, loC, hiC, loD, hiD;\n\nuniform vec2 resolution,\n             viewBoxPosition,\n             viewBoxSize;\n\nuniform sampler2D palette;\n\nuniform vec2 colorClamp;\n\nuniform float scatter;\n\nvarying vec4 fragColor;\n\nvec4 zero = vec4(0, 0, 0, 0);\nvec4 unit = vec4(1, 1, 1, 1);\nvec2 xyProjection = vec2(1, 1);\n\nmat4 mclamp(mat4 m, mat4 lo, mat4 hi) {\n    return mat4(clamp(m[0], lo[0], hi[0]),\n                clamp(m[1], lo[1], hi[1]),\n                clamp(m[2], lo[2], hi[2]),\n                clamp(m[3], lo[3], hi[3]));\n}\n\nbool mshow(mat4 p, mat4 lo, mat4 hi) {\n    return mclamp(p, lo, hi) == p;\n}\n\nfloat val(mat4 p, mat4 v) {\n    return dot(matrixCompMult(p, v) * unit, unit);\n}\n\nvoid main() {\n\n    float x = 0.5 * sign(pf[3]) + 0.5;\n    float prominence = abs(pf[3]);\n    float depth = 1.0 - prominence;\n\n    mat4 pA = mat4(p0, p1, p2, p3);\n    mat4 pB = mat4(p4, p5, p6, p7);\n    mat4 pC = mat4(p8, p9, pa, pb);\n    mat4 pD = mat4(pc, pd, pe, abs(pf));\n\n    float show = float(mshow(pA, loA, hiA) &amp;&amp;\n                       mshow(pB, loB, hiB) &amp;&amp;\n                       mshow(pC, loC, hiC) &amp;&amp;\n                       mshow(pD, loD, hiD));\n\n    vec2 yy = show * vec2(val(pA, dim2A) + val(pB, dim2B) + val(pC, dim2C) + val(pD, dim2D),\n                          val(pA, dim1A) + val(pB, dim1B) + val(pC, dim1C) + val(pD, dim1D));\n\n    vec2 dimensionToggle = vec2(x, 1.0 - x);\n\n    vec2 scatterToggle = vec2(scatter, 1.0 - scatter);\n\n    float y = dot(yy, dimensionToggle);\n    mat2 xy = mat2(viewBoxSize * yy + dimensionToggle, viewBoxSize * vec2(x, y));\n\n    vec2 viewBoxXY = viewBoxPosition + xy * scatterToggle;\n\n    float depthOrHide = depth + 2.0 * (1.0 - show);\n\n    gl_Position = vec4(\n        xyProjection * (2.0 * viewBoxXY / resolution - 1.0),\n        depthOrHide,\n        1.0\n    );\n\n    // visible coloring\n    float clampedColorIndex = clamp((prominence - colorClamp[0]) / (colorClamp[1] - colorClamp[0]), 0.0, 1.0);\n    fragColor = texture2D(palette, vec2((clampedColorIndex * 255.0 + 0.5) / 256.0, 0.5));\n}\n&quot;,frag:&quot;precision lowp float;\n#define GLSLIFY 1\n\nvarying vec4 fragColor;\n\nvoid main() {\n    gl_FragColor = fragColor;\n}\n&quot;,primitive:&quot;lines&quot;,lineWidth:1,attributes:O,uniforms:{resolution:F.prop(&quot;resolution&quot;),viewBoxPosition:F.prop(&quot;viewBoxPosition&quot;),viewBoxSize:F.prop(&quot;viewBoxSize&quot;),dim1A:F.prop(&quot;dim1A&quot;),dim2A:F.prop(&quot;dim2A&quot;),dim1B:F.prop(&quot;dim1B&quot;),dim2B:F.prop(&quot;dim2B&quot;),dim1C:F.prop(&quot;dim1C&quot;),dim2C:F.prop(&quot;dim2C&quot;),dim1D:F.prop(&quot;dim1D&quot;),dim2D:F.prop(&quot;dim2D&quot;),loA:F.prop(&quot;loA&quot;),hiA:F.prop(&quot;hiA&quot;),loB:F.prop(&quot;loB&quot;),hiB:F.prop(&quot;hiB&quot;),loC:F.prop(&quot;loC&quot;),hiC:F.prop(&quot;hiC&quot;),loD:F.prop(&quot;loD&quot;),hiD:F.prop(&quot;hiD&quot;),palette:R,colorClamp:F.prop(&quot;colorClamp&quot;),scatter:F.prop(&quot;scatter&quot;)},offset:F.prop(&quot;offset&quot;),count:F.prop(&quot;count&quot;)}),j=[0,1],B=[];return{setColorDomain:function(t){j[0]=t[0],j[1]=t[1]},render:function(t,e,a){var o,s,l,c=1/0,f=-1/0;for(o=0;o&lt;I;o++)t[o].dim2.canvasX&gt;f&amp;&amp;(f=t[o].dim2.canvasX,l=o),t[o].dim1.canvasX&lt;c&amp;&amp;(c=t[o].dim1.canvasX,s=o);for(0===I&amp;&amp;n(F,0,0,y,x),o=0;o&lt;I;o++){var h=t[o],d=h.dim1,p=d.crossfilterDimensionIndex,m=h.canvasX,g=h.canvasY,b=h.dim2.crossfilterDimensionIndex,_=h.panelSizeX,w=h.panelSizeY,M=m+_;if(e||!B[p]||B[p][0]!==m||B[p][1]!==M){B[p]=[m,M];var k=u(p,b,m,g,_,w,d.crossfilterDimensionIndex,r||d.scatter?1:0,o,s,l);A.clearOnly=a,i(F,N,A,e?v.blockLineCount:E,E,k)}}},readPixel:function(t,e){return F.read({x:t,y:e,width:1,height:1,data:g}),g},readPixels:function(t,e,r,n){var i=new Uint8Array(4*r*n);return F.read({x:t,y:e,width:r,height:n,data:i}),i},destroy:function(){t.style[&quot;pointer-events&quot;]=&quot;none&quot;,R.destroy()}}}},{&quot;./constants&quot;:1035}],1039:[function(t,e,r){&quot;use strict&quot;;function n(t){return!(&quot;visible&quot;in t)||t.visible}function i(t){var e=t.range?t.range[0]:d.min(t.values),r=t.range?t.range[1]:d.max(t.values);return!isNaN(e)&amp;&amp;isFinite(e)||(e=0),!isNaN(r)&amp;&amp;isFinite(r)||(r=0),e===r&amp;&amp;(void 0===e?(e=0,r=1):0===e?(e-=1,r+=1):(e*=.9,r*=1.1)),[e,r]}function a(t,e){var r,n,i,a,o;for(r=0,i=1/0,a=(n=t.range())[0];r&lt;n.length;r++){if((o=Math.abs(n[r]-e))&gt;i)return a;i=o,a=n[r]}return n[n.length-1]}function o(t){return d.scale.linear().domain(i(t))}function s(t,e,r){var i=v(e),a=i.trace,s=i.lineColor,l=i.cscale,c=a.line,u=a.domain,p=a.dimensions,m=t.width,g=a.labelfont,y=a.tickfont,x=a.rangefont,b=h.extendDeep({},c,{color:s.map(o({values:s,range:[c.cmin,c.cmax]})),blockLineCount:f.blockLineCount,canvasOverdrag:f.overdrag*f.canvasPixelRatio}),_=Math.floor(m*(u.x[1]-u.x[0])),w=Math.floor(t.height*(u.y[1]-u.y[0])),M=t.margin||{l:80,r:80,t:100,b:80},k=_,A=w;return{key:r,colCount:p.filter(n).length,dimensions:p,tickDistance:f.tickDistance,unitToColor:function(t){var e=t.map(function(t){return t[0]}),r=t.map(function(t){return t[1]}).map(function(t){return d.rgb(t)}),n=&quot;rgb&quot;.split(&quot;&quot;).map(function(t){return d.scale.linear().clamp(!0).domain(e).range(r.map(function(t){return function(e){return e[t]}}(t)))});return function(t){return n.map(function(e){return e(t)})}}(l),lines:b,labelFont:g,tickFont:y,rangeFont:x,layoutWidth:m,layoutHeight:t.height,domain:u,translateX:u.x[0]*m,translateY:t.height-u.y[1]*t.height,pad:M,canvasWidth:k*f.canvasPixelRatio+2*b.canvasOverdrag,canvasHeight:A*f.canvasPixelRatio,width:k,height:A,canvasPixelRatio:f.canvasPixelRatio}}function l(t){var e=t.width,r=t.height,a=t.dimensions,s=t.canvasPixelRatio,l=function(r){return e*r/Math.max(1,t.colCount-1)},c=f.verticalPadding/(r*s),u=1-2*c,h=function(t){return c+u*t},p={key:t.key,xScale:l,model:t},m={};return p.dimensions=a.filter(n).map(function(e,n){var a=o(e),c=m[e.label];m[e.label]=(c||0)+1;return{key:e.label+(c?&quot;__&quot;+c:&quot;&quot;),label:e.label,tickFormat:e.tickformat,tickvals:e.tickvals,ticktext:e.ticktext,ordinal:!!e.tickvals,scatter:f.scatter||e.scatter,xIndex:n,crossfilterDimensionIndex:n,visibleIndex:e._index,height:r,values:e.values,paddedUnitValues:e.values.map(a).map(h),xScale:l,x:l(n),canvasX:l(n)*s,unitScale:function(t,e){return d.scale.linear().range([t-e,e])}(r,f.verticalPadding),domainScale:function(t,e,r){var n=i(r),a=r.ticktext;return r.tickvals?d.scale.ordinal().domain(r.tickvals.map(function(t,e){return function(r,n){if(e){var i=e[n];return null===i||void 0===i?t(r):i}return t(r)}}(d.format(r.tickformat),a))).range(r.tickvals.map(function(t){return(t-n[0])/(n[1]-n[0])}).map(function(r){return t-e+r*(e-(t-e))})):d.scale.linear().domain(n).range([t-e,e])}(r,f.verticalPadding,e),ordinalScale:function(t){var e=i(t);return t.tickvals&amp;&amp;d.scale.ordinal().domain(t.tickvals).range(t.tickvals.map(function(t){return(t-e[0])/(e[1]-e[0])}))}(e),domainToUnitScale:a,filter:e.constraintrange?e.constraintrange.map(a):[0,1],parent:p,model:t}}),p}function c(t){t.classed(f.cn.axisExtentText,!0).attr(&quot;text-anchor&quot;,&quot;middle&quot;).style(&quot;cursor&quot;,&quot;default&quot;).style(&quot;user-select&quot;,&quot;none&quot;)}var u=t(&quot;./lines&quot;),f=t(&quot;./constants&quot;),h=t(&quot;../../lib&quot;),d=t(&quot;d3&quot;),p=t(&quot;../../components/drawing&quot;),m=t(&quot;../../lib/gup&quot;).keyFun,g=t(&quot;../../lib/gup&quot;).repeat,v=t(&quot;../../lib/gup&quot;).unwrap;e.exports=function(t,e,r,n,i,o){function y(t){return t.dimensions.some(function(t){return 0!==t.filter[0]||1!==t.filter[1]})}function x(t,e){return(f.scatter?function(t,e){for(var r=e.panels||(e.panels=[]),n=t.each(function(t){return t})[e.key].map(function(t){return t.__data__}),i=n.length-1,a=i,o=0;o&lt;i;o++)for(var s=0;s&lt;i;s++){var l=r[s+o*i]||(r[s+o*i]={}),c=n[s],u=n[s+1];l.dim1=n[o+1],l.dim2=u,l.canvasX=c.canvasX,l.panelSizeX=u.canvasX-c.canvasX,l.panelSizeY=e.model.canvasHeight/a,l.y=o*l.panelSizeY,l.canvasY=e.model.canvasHeight-l.y-l.panelSizeY}}:function(t,e){for(var r=e.panels||(e.panels=[]),n=t.each(function(t){return t})[e.key].map(function(t){return t.__data__}),i=n.length-1,a=0;a&lt;1;a++)for(var o=0;o&lt;i;o++){var s=r[o+a*i]||(r[o+a*i]={}),l=n[o],c=n[o+1];s.dim1=l,s.dim2=c,s.canvasX=l.canvasX,s.panelSizeX=c.canvasX-l.canvasX,s.panelSizeY=e.model.canvasHeight/1,s.y=a*s.panelSizeY,s.canvasY=e.model.canvasHeight-s.y-s.panelSizeY}})(t,e)}function b(t){return t.ordinal?function(){return&quot;&quot;}:d.format(t.tickFormat)}function _(){H=!0,k=!0}function w(t){A=!1;var e=t.parent,r=t.brush.extent(),n=e.dimensions,i=n[t.xIndex].filter,a=H&amp;&amp;r[0]===r[1];a&amp;&amp;(t.brush.clear(),d.select(this).select(&quot;rect.extent&quot;).attr(&quot;y&quot;,-100));var o=a?[0,1]:r.slice();if(o[0]!==i[0]||o[1]!==i[1]){n[t.xIndex].filter=o,e.focusLayer&amp;&amp;e.focusLayer.render(e.panels,!0);var s=y(e);!G&amp;&amp;s?(e.contextLayer&amp;&amp;e.contextLayer.render(e.panels,!0),G=!0):G&amp;&amp;!s&amp;&amp;(e.contextLayer&amp;&amp;e.contextLayer.render(e.panels,!0,!0),G=!1)}H=!1}function M(t){var e=t.parent,r=t.brush.extent(),n=r[0]===r[1],i=e.dimensions[t.xIndex].filter;if(!n&amp;&amp;t.ordinal&amp;&amp;(i[0]=a(t.ordinalScale,i[0]),i[1]=a(t.ordinalScale,i[1]),i[0]===i[1]&amp;&amp;(i[0]=Math.max(0,i[0]-.05),i[1]=Math.min(1,i[1]+.05)),d.select(this).transition().duration(150).call(t.brush.extent(i)),e.focusLayer.render(e.panels,!0)),e.pickLayer&amp;&amp;e.pickLayer.render(e.panels,!0),A=!0,k=&quot;ending&quot;,o&amp;&amp;o.filterChanged){var s=t.domainToUnitScale.invert,l=i.map(s);o.filterChanged(e.key,t.visibleIndex,l)}}var k=!1,A=!0,T=n.filter(function(t){return v(t).trace.visible}).map(s.bind(0,i)).map(l);r.each(function(t,e){return h.extendFlat(t,T[e])});var S=r.selectAll(&quot;.gl-canvas&quot;).each(function(t){t.viewModel=T[0],t.model=t.viewModel?t.viewModel.model:null}),E={renderers:[],dimensions:[]},L=null;S.filter(function(t){return t.pick}).style(&quot;pointer-events&quot;,&quot;auto&quot;).on(&quot;mousemove&quot;,function(t){if(A&amp;&amp;t.lineLayer&amp;&amp;o&amp;&amp;o.hover){var e=d.event,r=this.width,n=this.height,i=d.mouse(this),a=i[0],s=i[1];if(a&lt;0||s&lt;0||a&gt;=r||s&gt;=n)return;var l=t.lineLayer.readPixel(a,n-1-s),c=0!==l[3],u=c?l[2]+256*(l[1]+256*l[0]):null,f={x:a,y:s,clientX:e.clientX,clientY:e.clientY,dataIndex:t.model.key,curveNumber:u};u!==L&amp;&amp;(c?o.hover(f):o.unhover&amp;&amp;o.unhover(f),L=u)}}),S.style(&quot;opacity&quot;,function(t){return t.pick?.01:1}),e.style(&quot;background&quot;,&quot;rgba(255, 255, 255, 0)&quot;);var C=e.selectAll(&quot;.&quot;+f.cn.parcoords).data(T,m);C.exit().remove(),C.enter().append(&quot;g&quot;).classed(f.cn.parcoords,!0).attr(&quot;overflow&quot;,&quot;visible&quot;).style(&quot;box-sizing&quot;,&quot;content-box&quot;).style(&quot;position&quot;,&quot;absolute&quot;).style(&quot;left&quot;,0).style(&quot;overflow&quot;,&quot;visible&quot;).style(&quot;shape-rendering&quot;,&quot;crispEdges&quot;).style(&quot;pointer-events&quot;,&quot;none&quot;).call(function(t){var e=t.selectAll(&quot;defs&quot;).data(g,m);e.enter().append(&quot;defs&quot;);var r=e.selectAll(&quot;#&quot;+f.id.filterBarPattern).data(g,m);r.enter().append(&quot;pattern&quot;).attr(&quot;id&quot;,f.id.filterBarPattern).attr(&quot;patternUnits&quot;,&quot;userSpaceOnUse&quot;),r.attr(&quot;x&quot;,-f.bar.width).attr(&quot;width&quot;,f.bar.capturewidth).attr(&quot;height&quot;,function(t){return t.model.height});var n=r.selectAll(&quot;rect&quot;).data(g,m);n.enter().append(&quot;rect&quot;).attr(&quot;shape-rendering&quot;,&quot;crispEdges&quot;),n.attr(&quot;height&quot;,function(t){return t.model.height}).attr(&quot;width&quot;,f.bar.width).attr(&quot;x&quot;,f.bar.width/2).attr(&quot;fill&quot;,f.bar.fillcolor).attr(&quot;fill-opacity&quot;,f.bar.fillopacity).attr(&quot;stroke&quot;,f.bar.strokecolor).attr(&quot;stroke-opacity&quot;,f.bar.strokeopacity).attr(&quot;stroke-width&quot;,f.bar.strokewidth)}),C.attr(&quot;width&quot;,function(t){return t.model.width+t.model.pad.l+t.model.pad.r}).attr(&quot;height&quot;,function(t){return t.model.height+t.model.pad.t+t.model.pad.b}).attr(&quot;transform&quot;,function(t){return&quot;translate(&quot;+t.model.translateX+&quot;,&quot;+t.model.translateY+&quot;)&quot;});var z=C.selectAll(&quot;.&quot;+f.cn.parcoordsControlView).data(g,m);z.enter().append(&quot;g&quot;).classed(f.cn.parcoordsControlView,!0).style(&quot;box-sizing&quot;,&quot;content-box&quot;),z.attr(&quot;transform&quot;,function(t){return&quot;translate(&quot;+t.model.pad.l+&quot;,&quot;+t.model.pad.t+&quot;)&quot;});var D=z.selectAll(&quot;.&quot;+f.cn.yAxis).data(function(t){return t.dimensions},m);D.enter().append(&quot;g&quot;).classed(f.cn.yAxis,!0).each(function(t){E.dimensions.push(t)}),z.each(function(t){x(D,t)}),S.filter(function(t){return!!t.viewModel}).each(function(t){t.lineLayer=u(this,t,f.scatter),t.viewModel[t.key]=t.lineLayer,E.renderers.push(function(){t.lineLayer.render(t.viewModel.panels,!0)}),t.lineLayer.render(t.viewModel.panels,!t.context)}),D.attr(&quot;transform&quot;,function(t){return&quot;translate(&quot;+t.xScale(t.xIndex)+&quot;, 0)&quot;}),D.call(d.behavior.drag().origin(function(t){return t}).on(&quot;drag&quot;,function(t){var e=t.parent;A=!1,k||(t.x=Math.max(-f.overdrag,Math.min(t.model.width+f.overdrag,d.event.x)),t.canvasX=t.x*t.model.canvasPixelRatio,D.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}),x(D,e),D.filter(function(e){return 0!==Math.abs(t.xIndex-e.xIndex)}).attr(&quot;transform&quot;,function(t){return&quot;translate(&quot;+t.xScale(t.xIndex)+&quot;, 0)&quot;}),d.select(this).attr(&quot;transform&quot;,&quot;translate(&quot;+t.x+&quot;, 0)&quot;),D.each(function(r,n,i){i===t.parent.key&amp;&amp;(e.dimensions[n]=r)}),e.contextLayer&amp;&amp;e.contextLayer.render(e.panels,!1,!y(e)),e.focusLayer.render&amp;&amp;e.focusLayer.render(e.panels))}).on(&quot;dragend&quot;,function(t){var e=t.parent;k?&quot;ending&quot;===k&amp;&amp;(k=!1):(t.x=t.xScale(t.xIndex),t.canvasX=t.x*t.model.canvasPixelRatio,x(D,e),d.select(this).attr(&quot;transform&quot;,function(t){return&quot;translate(&quot;+t.x+&quot;, 0)&quot;}),e.contextLayer&amp;&amp;e.contextLayer.render(e.panels,!1,!y(e)),e.focusLayer&amp;&amp;e.focusLayer.render(e.panels),e.pickLayer&amp;&amp;e.pickLayer.render(e.panels,!0),A=!0,o&amp;&amp;o.axesMoved&amp;&amp;o.axesMoved(e.key,e.dimensions.map(function(t){return t.crossfilterDimensionIndex})))})),D.exit().remove();var I=D.selectAll(&quot;.&quot;+f.cn.axisOverlays).data(g,m);I.enter().append(&quot;g&quot;).classed(f.cn.axisOverlays,!0),I.selectAll(&quot;.&quot;+f.cn.axis).remove();var P=I.selectAll(&quot;.&quot;+f.cn.axis).data(g,m);P.enter().append(&quot;g&quot;).classed(f.cn.axis,!0),P.each(function(t){var e=t.model.height/t.model.tickDistance,r=t.domainScale,n=r.domain();d.select(this).call(d.svg.axis().orient(&quot;left&quot;).tickSize(4).outerTickSize(2).ticks(e,t.tickFormat).tickValues(t.ordinal?n:null).tickFormat(t.ordinal?function(t){return t}:null).scale(r)),p.font(P.selectAll(&quot;text&quot;),t.model.tickFont)}),P.selectAll(&quot;.domain, .tick&gt;line&quot;).attr(&quot;fill&quot;,&quot;none&quot;).attr(&quot;stroke&quot;,&quot;black&quot;).attr(&quot;stroke-opacity&quot;,.25).attr(&quot;stroke-width&quot;,&quot;1px&quot;),P.selectAll(&quot;text&quot;).style(&quot;text-shadow&quot;,&quot;1px 1px 1px #fff, -1px -1px 1px #fff, 1px -1px 1px #fff, -1px 1px 1px #fff&quot;).style(&quot;cursor&quot;,&quot;default&quot;).style(&quot;user-select&quot;,&quot;none&quot;);var O=I.selectAll(&quot;.&quot;+f.cn.axisHeading).data(g,m);O.enter().append(&quot;g&quot;).classed(f.cn.axisHeading,!0);var F=O.selectAll(&quot;.&quot;+f.cn.axisTitle).data(g,m);F.enter().append(&quot;text&quot;).classed(f.cn.axisTitle,!0).attr(&quot;text-anchor&quot;,&quot;middle&quot;).style(&quot;cursor&quot;,&quot;ew-resize&quot;).style(&quot;user-select&quot;,&quot;none&quot;).style(&quot;pointer-events&quot;,&quot;auto&quot;),F.attr(&quot;transform&quot;,&quot;translate(0,&quot;+-f.axisTitleOffset+&quot;)&quot;).text(function(t){return t.label}).each(function(t){p.font(F,t.model.labelFont)});var R=I.selectAll(&quot;.&quot;+f.cn.axisExtent).data(g,m);R.enter().append(&quot;g&quot;).classed(f.cn.axisExtent,!0);var N=R.selectAll(&quot;.&quot;+f.cn.axisExtentTop).data(g,m);N.enter().append(&quot;g&quot;).classed(f.cn.axisExtentTop,!0),N.attr(&quot;transform&quot;,&quot;translate(0,&quot;+-f.axisExtentOffset+&quot;)&quot;);var j=N.selectAll(&quot;.&quot;+f.cn.axisExtentTopText).data(g,m);j.enter().append(&quot;text&quot;).classed(f.cn.axisExtentTopText,!0).call(c),j.text(function(t){return b(t)(t.domainScale.domain().slice(-1)[0])}).each(function(t){p.font(j,t.model.rangeFont)});var B=R.selectAll(&quot;.&quot;+f.cn.axisExtentBottom).data(g,m);B.enter().append(&quot;g&quot;).classed(f.cn.axisExtentBottom,!0),B.attr(&quot;transform&quot;,function(t){return&quot;translate(0,&quot;+(t.model.height+f.axisExtentOffset)+&quot;)&quot;});var U=B.selectAll(&quot;.&quot;+f.cn.axisExtentBottomText).data(g,m);U.enter().append(&quot;text&quot;).classed(f.cn.axisExtentBottomText,!0).attr(&quot;dy&quot;,&quot;0.75em&quot;).call(c),U.text(function(t){return b(t)(t.domainScale.domain()[0])}).each(function(t){p.font(U,t.model.rangeFont)});var V=I.selectAll(&quot;.&quot;+f.cn.axisBrush).data(g,m),q=V.enter().append(&quot;g&quot;).classed(f.cn.axisBrush,!0);V.each(function(t){t.brush||(t.brush=d.svg.brush().y(t.unitScale).on(&quot;brushstart&quot;,_).on(&quot;brush&quot;,w).on(&quot;brushend&quot;,M),0===t.filter[0]&amp;&amp;1===t.filter[1]||t.brush.extent(t.filter),d.select(this).call(t.brush))}),q.selectAll(&quot;rect&quot;).attr(&quot;x&quot;,-f.bar.capturewidth/2).attr(&quot;width&quot;,f.bar.capturewidth),q.selectAll(&quot;rect.extent&quot;).attr(&quot;fill&quot;,&quot;url(#&quot;+f.id.filterBarPattern+&quot;)&quot;).style(&quot;cursor&quot;,&quot;ns-resize&quot;).filter(function(t){return 0===t.filter[0]&amp;&amp;1===t.filter[1]}).attr(&quot;y&quot;,-100),q.selectAll(&quot;.resize rect&quot;).attr(&quot;height&quot;,f.bar.handleheight).attr(&quot;opacity&quot;,0).style(&quot;visibility&quot;,&quot;visible&quot;),q.selectAll(&quot;.resize.n rect&quot;).style(&quot;cursor&quot;,&quot;n-resize&quot;).attr(&quot;y&quot;,f.bar.handleoverlap-f.bar.handleheight),q.selectAll(&quot;.resize.s rect&quot;).style(&quot;cursor&quot;,&quot;s-resize&quot;).attr(&quot;y&quot;,f.bar.handleoverlap);var H=!1,G=!1;return E}},{&quot;../../components/drawing&quot;:643,&quot;../../lib&quot;:743,&quot;../../lib/gup&quot;:740,&quot;./constants&quot;:1035,&quot;./lines&quot;:1038,d3:128}],1040:[function(t,e,r){(function(r){&quot;use strict&quot;;var n=t(&quot;./parcoords&quot;),i=t(&quot;regl&quot;);e.exports=function(t,e){var a=t._fullLayout,o=a._toppaper,s=a._paperdiv,l=a._glcontainer;a._glcanvas.each(function(e){e.regl||(e.regl=i({canvas:this,attributes:{antialias:!e.pick,preserveDrawingBuffer:!0},pixelRatio:t._context.plotGlPixelRatio||r.devicePixelRatio}))});var c={},u={},f=a._size;e.forEach(function(e,r){c[r]=t.data[r].dimensions,u[r]=t.data[r].dimensions.slice()});n(s,o,l,e,{width:f.w,height:f.h,margin:{t:f.t,r:f.r,b:f.b,l:f.l}},{filterChanged:function(e,r,n){var i=u[e][r],a=i.constraintrange;a&amp;&amp;2===a.length||(a=i.constraintrange=[]),a[0]=n[0],a[1]=n[1],t.emit(&quot;plotly_restyle&quot;)},hover:function(e){t.emit(&quot;plotly_hover&quot;,e)},unhover:function(e){t.emit(&quot;plotly_unhover&quot;,e)},axesMoved:function(e,r){function n(t){return!(&quot;visible&quot;in t)||t.visible}function i(t,e,r){var n=e.indexOf(r),i=t.indexOf(n);return-1===i&amp;&amp;(i+=e.length),i}var a=function(t){return function(e,n){return i(r,t,e)-i(r,t,n)}}(u[e].filter(n));c[e].sort(a),u[e].filter(function(t){return!n(t)}).sort(function(t){return u[e].indexOf(t)}).forEach(function(t){c[e].splice(c[e].indexOf(t),1),c[e].splice(u[e].indexOf(t),0,t)}),t.emit(&quot;plotly_restyle&quot;)}})}}).call(this,&quot;undefined&quot;!=typeof global?global:&quot;undefined&quot;!=typeof self?self:&quot;undefined&quot;!=typeof window?window:{})},{&quot;./parcoords&quot;:1039,regl:506}],1041:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../components/color/attributes&quot;),i=t(&quot;../../plots/font_attributes&quot;),a=t(&quot;../../plots/attributes&quot;),o=t(&quot;../../plots/domain_attributes&quot;),s=t(&quot;../../lib/extend&quot;).extendFlat,l=i({editType:&quot;calc&quot;,colorEditType:&quot;style&quot;});e.exports={labels:{valType:&quot;data_array&quot;,editType:&quot;calc&quot;},label0:{valType:&quot;number&quot;,dflt:0,editType:&quot;calc&quot;},dlabel:{valType:&quot;number&quot;,dflt:1,editType:&quot;calc&quot;},values:{valType:&quot;data_array&quot;,editType:&quot;calc&quot;},marker:{colors:{valType:&quot;data_array&quot;,editType:&quot;calc&quot;},line:{color:{valType:&quot;color&quot;,dflt:n.defaultLine,arrayOk:!0,editType:&quot;style&quot;},width:{valType:&quot;number&quot;,min:0,dflt:0,arrayOk:!0,editType:&quot;style&quot;},editType:&quot;calc&quot;},editType:&quot;calc&quot;},text:{valType:&quot;data_array&quot;,editType:&quot;calc&quot;},hovertext:{valType:&quot;string&quot;,dflt:&quot;&quot;,arrayOk:!0,editType:&quot;style&quot;},scalegroup:{valType:&quot;string&quot;,dflt:&quot;&quot;,editType:&quot;calc&quot;},textinfo:{valType:&quot;flaglist&quot;,flags:[&quot;label&quot;,&quot;text&quot;,&quot;value&quot;,&quot;percent&quot;],extras:[&quot;none&quot;],editType:&quot;calc&quot;},hoverinfo:s({},a.hoverinfo,{flags:[&quot;label&quot;,&quot;text&quot;,&quot;value&quot;,&quot;percent&quot;,&quot;name&quot;]}),textposition:{valType:&quot;enumerated&quot;,values:[&quot;inside&quot;,&quot;outside&quot;,&quot;auto&quot;,&quot;none&quot;],dflt:&quot;auto&quot;,arrayOk:!0,editType:&quot;calc&quot;},textfont:s({},l,{}),insidetextfont:s({},l,{}),outsidetextfont:s({},l,{}),domain:o({name:&quot;pie&quot;,trace:!0,editType:&quot;calc&quot;}),hole:{valType:&quot;number&quot;,min:0,max:1,dflt:0,editType:&quot;calc&quot;},sort:{valType:&quot;boolean&quot;,dflt:!0,editType:&quot;calc&quot;},direction:{valType:&quot;enumerated&quot;,values:[&quot;clockwise&quot;,&quot;counterclockwise&quot;],dflt:&quot;counterclockwise&quot;,editType:&quot;calc&quot;},rotation:{valType:&quot;number&quot;,min:-360,max:360,dflt:0,editType:&quot;calc&quot;},pull:{valType:&quot;number&quot;,min:0,max:1,dflt:0,arrayOk:!0,editType:&quot;calc&quot;}}},{&quot;../../components/color/attributes&quot;:617,&quot;../../lib/extend&quot;:732,&quot;../../plots/attributes&quot;:787,&quot;../../plots/domain_attributes&quot;:815,&quot;../../plots/font_attributes&quot;:816}],1042:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../registry&quot;);r.name=&quot;pie&quot;,r.plot=function(t){var e=n.getModule(&quot;pie&quot;),r=function(t,e){for(var r=[],n=0;n&lt;t.length;n++){var i=t[n],a=i[0].trace;a._module===e&amp;&amp;!0===a.visible&amp;&amp;r.push(i)}return r}(t.calcdata,e);r.length&amp;&amp;e.plot(t,r)},r.clean=function(t,e,r,n){var i=n._has&amp;&amp;n._has(&quot;pie&quot;),a=e._has&amp;&amp;e._has(&quot;pie&quot;);i&amp;&amp;!a&amp;&amp;n._pielayer.selectAll(&quot;g.trace&quot;).remove()}},{&quot;../../registry&quot;:873}],1043:[function(t,e,r){&quot;use strict&quot;;function n(t){var e,r=t.slice();for(e=0;e&lt;t.length;e++)r.push(a(t[e]).lighten(20).toHexString());for(e=0;e&lt;t.length;e++)r.push(a(t[e]).darken(20).toHexString());return r}var i=t(&quot;fast-isnumeric&quot;),a=t(&quot;tinycolor2&quot;),o=t(&quot;../../components/color&quot;),s=t(&quot;./helpers&quot;);e.exports=function(t,e){function r(t,e){return!!t&amp;&amp;(!!(t=a(t)).isValid()&amp;&amp;(t=o.addOpacity(t,t.getAlpha()),_[e]||(_[e]=t),t))}var c,u,f,h,d,p=e.values,m=Array.isArray(p)&amp;&amp;p.length,g=e.labels,v=e.marker.colors,y=[],x=t._fullLayout,b=x.colorway,_=x._piecolormap,w={},M=0,k=x.hiddenlabels||[];if(x._piecolorway||b===o.defaults||(x._piecolorway=n(b)),e.dlabel)for(g=new Array(p.length),c=0;c&lt;p.length;c++)g[c]=String(e.label0+c*e.dlabel);var A=(m?p:g).length;for(c=0;c&lt;A;c++){if(m){if(u=p[c],!i(u))continue;if((u=+u)&lt;0)continue}else u=1;void 0!==(f=g[c])&amp;&amp;&quot;&quot;!==f||(f=c);var T=w[f=String(f)];void 0===T?(w[f]=y.length,(h=-1!==k.indexOf(f))||(M+=u),y.push({v:u,label:f,color:r(v[c]),i:c,pts:[c],hidden:h})):((d=y[T]).v+=u,d.pts.push(c),d.hidden||(M+=u),!1===d.color&amp;&amp;v[c]&amp;&amp;(d.color=r(v[c],f)))}for(e.sort&amp;&amp;y.sort(function(t,e){return e.v-t.v}),c=0;c&lt;y.length;c++)!1===(d=y[c]).color&amp;&amp;(_[d.label]?d.color=_[d.label]:(_[d.label]=d.color=function(t,e){if(!l){var r=o.defaults;l=n(r)}var i=e||l;return i[t%i.length]}(x._piedefaultcolorcount,x._piecolorway),x._piedefaultcolorcount++));if(y[0]&amp;&amp;(y[0].vTotal=M),e.textinfo&amp;&amp;&quot;none&quot;!==e.textinfo){var S,E=-1!==e.textinfo.indexOf(&quot;label&quot;),L=-1!==e.textinfo.indexOf(&quot;text&quot;),C=-1!==e.textinfo.indexOf(&quot;value&quot;),z=-1!==e.textinfo.indexOf(&quot;percent&quot;),D=x.separators;for(c=0;c&lt;y.length;c++){if(d=y[c],S=E?[d.label]:[],L){var I=s.getFirstFilled(e.text,d.pts);I&amp;&amp;S.push(I)}C&amp;&amp;S.push(s.formatPieValue(d.v,D)),z&amp;&amp;S.push(s.formatPiePercent(d.v/M,D)),d.text=S.join(&quot;&lt;br&gt;&quot;)}}return y};var l},{&quot;../../components/color&quot;:618,&quot;./helpers&quot;:1046,&quot;fast-isnumeric&quot;:140,tinycolor2:546}],1044:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib&quot;),i=t(&quot;./attributes&quot;);e.exports=function(t,e,r,a){function o(r,a){return n.coerce(t,e,i,r,a)}var s=n.coerceFont,l=o(&quot;values&quot;),c=o(&quot;labels&quot;);if(!Array.isArray(c)){if(!Array.isArray(l)||!l.length)return void(e.visible=!1);o(&quot;label0&quot;),o(&quot;dlabel&quot;)}o(&quot;marker.line.width&quot;)&amp;&amp;o(&quot;marker.line.color&quot;);var u=o(&quot;marker.colors&quot;);Array.isArray(u)||(e.marker.colors=[]),o(&quot;scalegroup&quot;);var f=o(&quot;text&quot;),h=o(&quot;textinfo&quot;,Array.isArray(f)?&quot;text+percent&quot;:&quot;percent&quot;);if(o(&quot;hovertext&quot;),h&amp;&amp;&quot;none&quot;!==h){var d=o(&quot;textposition&quot;),p=Array.isArray(d)||&quot;auto&quot;===d,m=p||&quot;inside&quot;===d,g=p||&quot;outside&quot;===d;if(m||g){var v=s(o,&quot;textfont&quot;,a.font);m&amp;&amp;s(o,&quot;insidetextfont&quot;,v),g&amp;&amp;s(o,&quot;outsidetextfont&quot;,v)}}o(&quot;domain.x&quot;),o(&quot;domain.y&quot;),o(&quot;hole&quot;),o(&quot;sort&quot;),o(&quot;direction&quot;),o(&quot;rotation&quot;),o(&quot;pull&quot;)}},{&quot;../../lib&quot;:743,&quot;./attributes&quot;:1041}],1045:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../components/fx/helpers&quot;).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,v:t.v};return 1===t.pts.length&amp;&amp;(r.pointNumber=r.i=t.pts[0]),n(r,e,t.pts),r}},{&quot;../../components/fx/helpers&quot;:657}],1046:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib&quot;);r.formatPiePercent=function(t,e){var r=(100*t).toPrecision(3);return-1!==r.lastIndexOf(&quot;.&quot;)&amp;&amp;(r=r.replace(/[.]?0+$/,&quot;&quot;)),n.numSeparate(r,e)+&quot;%&quot;},r.formatPieValue=function(t,e){var r=t.toPrecision(10);return-1!==r.lastIndexOf(&quot;.&quot;)&amp;&amp;(r=r.replace(/[.]?0+$/,&quot;&quot;)),n.numSeparate(r,e)},r.getFirstFilled=function(t,e){if(Array.isArray(t))for(var r=0;r&lt;e.length;r++){var n=t[e[r]];if(n||0===n)return n}},r.castOption=function(t,e){return Array.isArray(t)?r.getFirstFilled(t,e):t||void 0}},{&quot;../../lib&quot;:743}],1047:[function(t,e,r){&quot;use strict&quot;;var n={};n.attributes=t(&quot;./attributes&quot;),n.supplyDefaults=t(&quot;./defaults&quot;),n.supplyLayoutDefaults=t(&quot;./layout_defaults&quot;),n.layoutAttributes=t(&quot;./layout_attributes&quot;),n.calc=t(&quot;./calc&quot;),n.plot=t(&quot;./plot&quot;),n.style=t(&quot;./style&quot;),n.styleOne=t(&quot;./style_one&quot;),n.moduleType=&quot;trace&quot;,n.name=&quot;pie&quot;,n.basePlotModule=t(&quot;./base_plot&quot;),n.categories=[&quot;pie&quot;,&quot;showLegend&quot;],n.meta={},e.exports=n},{&quot;./attributes&quot;:1041,&quot;./base_plot&quot;:1042,&quot;./calc&quot;:1043,&quot;./defaults&quot;:1044,&quot;./layout_attributes&quot;:1048,&quot;./layout_defaults&quot;:1049,&quot;./plot&quot;:1050,&quot;./style&quot;:1051,&quot;./style_one&quot;:1052}],1048:[function(t,e,r){&quot;use strict&quot;;e.exports={hiddenlabels:{valType:&quot;data_array&quot;,editType:&quot;calc&quot;}}},{}],1049:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib&quot;),i=t(&quot;./layout_attributes&quot;);e.exports=function(t,e){!function(r,a){n.coerce(t,e,i,r,a)}(&quot;hiddenlabels&quot;)}},{&quot;../../lib&quot;:743,&quot;./layout_attributes&quot;:1048}],1050:[function(t,e,r){&quot;use strict&quot;;function n(t,e){if(t.v===e.vTotal&amp;&amp;!e.trace.hole)return 1;var r=Math.PI*Math.min(t.v/e.vTotal,.5);return Math.min(1/(1+1/Math.sin(r)),(1-e.trace.hole)/2)}function i(t,e){var r=e.pxmid[0],n=e.pxmid[1],i=t.width/2,a=t.height/2;return r&lt;0&amp;&amp;(i*=-1),n&lt;0&amp;&amp;(a*=-1),{scale:1,rCenter:1,rotate:0,x:i+Math.abs(a)*(i&gt;0?1:-1)/2,y:a/(1+r*r/(n*n)),outside:!0}}var a=t(&quot;d3&quot;),o=t(&quot;../../components/fx&quot;),s=t(&quot;../../components/color&quot;),l=t(&quot;../../components/drawing&quot;),c=t(&quot;../../lib/svg_text_utils&quot;),u=t(&quot;./helpers&quot;),f=t(&quot;./event_data&quot;);e.exports=function(t,e){var r=t._fullLayout;!function(t,e){var r,n,i,a,o,s,l,c,u,f=[];for(i=0;i&lt;t.length;i++){if(o=t[i][0],s=o.trace,r=e.w*(s.domain.x[1]-s.domain.x[0]),n=e.h*(s.domain.y[1]-s.domain.y[0]),l=s.pull,Array.isArray(l))for(l=0,a=0;a&lt;s.pull.length;a++)s.pull[a]&gt;l&amp;&amp;(l=s.pull[a]);o.r=Math.min(r,n)/(2+2*l),o.cx=e.l+e.w*(s.domain.x[1]+s.domain.x[0])/2,o.cy=e.t+e.h*(2-s.domain.y[1]-s.domain.y[0])/2,s.scalegroup&amp;&amp;-1===f.indexOf(s.scalegroup)&amp;&amp;f.push(s.scalegroup)}for(a=0;a&lt;f.length;a++){for(u=1/0,c=f[a],i=0;i&lt;t.length;i++)(o=t[i][0]).trace.scalegroup===c&amp;&amp;(u=Math.min(u,o.r*o.r/o.vTotal));for(i=0;i&lt;t.length;i++)(o=t[i][0]).trace.scalegroup===c&amp;&amp;(o.r=Math.sqrt(u*o.vTotal))}}(e,r._size);var h=r._pielayer.selectAll(&quot;g.trace&quot;).data(e);h.enter().append(&quot;g&quot;).attr({&quot;stroke-linejoin&quot;:&quot;round&quot;,class:&quot;trace&quot;}),h.exit().remove(),h.order(),h.each(function(e){var h=a.select(this),d=e[0],p=d.trace;!function(t){function e(t){return[a.r*Math.sin(t),-a.r*Math.cos(t)]}var r,n,i,a=t[0],o=a.trace,s=o.rotation*Math.PI/180,l=2*Math.PI/a.vTotal,c=&quot;px0&quot;,u=&quot;px1&quot;;if(&quot;counterclockwise&quot;===o.direction){for(r=0;r&lt;t.length&amp;&amp;t[r].hidden;r++);if(r===t.length)return;s+=l*t[r].v,l*=-1,c=&quot;px1&quot;,u=&quot;px0&quot;}for(i=e(s),r=0;r&lt;t.length;r++)(n=t[r]).hidden||(n[c]=i,s+=l*n.v/2,n.pxmid=e(s),n.midangle=s,i=e(s+=l*n.v/2),n[u]=i,n.largeArc=n.v&gt;a.vTotal/2?1:0)}(e),h.each(function(){var h=a.select(this).selectAll(&quot;g.slice&quot;).data(e);h.enter().append(&quot;g&quot;).classed(&quot;slice&quot;,!0),h.exit().remove();var m=[[[],[]],[[],[]]],g=!1;h.each(function(e){function s(t,r,n,i){return&quot;a&quot;+i*d.r+&quot;,&quot;+i*d.r+&quot; 0 &quot;+e.largeArc+(n?&quot; 1 &quot;:&quot; 0 &quot;)+i*(r[0]-t[0])+&quot;,&quot;+i*(r[1]-t[1])}if(e.hidden)a.select(this).selectAll(&quot;path,g&quot;).remove();else{e.pointNumber=e.i,e.curveNumber=p.index,m[e.pxmid[1]&lt;0?0:1][e.pxmid[0]&lt;0?0:1].push(e);var h=d.cx,v=d.cy,y=a.select(this),x=y.selectAll(&quot;path.surface&quot;).data([e]),b=!1,_=!1;if(x.enter().append(&quot;path&quot;).classed(&quot;surface&quot;,!0).style({&quot;pointer-events&quot;:&quot;all&quot;}),y.select(&quot;path.textline&quot;).remove(),y.on(&quot;mouseover&quot;,function(){var i=t._fullLayout,s=t._fullData[p.index];if(!t._dragging&amp;&amp;!1!==i.hovermode){var l=s.hoverinfo;if(Array.isArray(l)&amp;&amp;(l=o.castHoverinfo({hoverinfo:[u.castOption(l,e.pts)],_module:p._module},i,0)),&quot;all&quot;===l&amp;&amp;(l=&quot;label+text+value+percent+name&quot;),&quot;none&quot;!==l&amp;&amp;&quot;skip&quot;!==l&amp;&amp;l){var c=n(e,d),m=h+e.pxmid[0]*(1-c),g=v+e.pxmid[1]*(1-c),y=r.separators,x=[];if(-1!==l.indexOf(&quot;label&quot;)&amp;&amp;x.push(e.label),-1!==l.indexOf(&quot;text&quot;)){var w=u.castOption(s.hovertext||s.text,e.pts);w&amp;&amp;x.push(w)}-1!==l.indexOf(&quot;value&quot;)&amp;&amp;x.push(u.formatPieValue(e.v,y)),-1!==l.indexOf(&quot;percent&quot;)&amp;&amp;x.push(u.formatPiePercent(e.v/d.vTotal,y));var M=p.hoverlabel,k=M.font;o.loneHover({x0:m-c*d.r,x1:m+c*d.r,y:g,text:x.join(&quot;&lt;br&gt;&quot;),name:-1!==l.indexOf(&quot;name&quot;)?s.name:void 0,idealAlign:e.pxmid[0]&lt;0?&quot;left&quot;:&quot;right&quot;,color:u.castOption(M.bgcolor,e.pts)||e.color,borderColor:u.castOption(M.bordercolor,e.pts),fontFamily:u.castOption(k.family,e.pts),fontSize:u.castOption(k.size,e.pts),fontColor:u.castOption(k.color,e.pts)},{container:i._hoverlayer.node(),outerContainer:i._paper.node(),gd:t}),b=!0}t.emit(&quot;plotly_hover&quot;,{points:[f(e,s)],event:a.event}),_=!0}}).on(&quot;mouseout&quot;,function(r){var n=t._fullLayout,i=t._fullData[p.index];_&amp;&amp;(r.originalEvent=a.event,t.emit(&quot;plotly_unhover&quot;,{points:[f(e,i)],event:a.event}),_=!1),b&amp;&amp;(o.loneUnhover(n._hoverlayer.node()),b=!1)}).on(&quot;click&quot;,function(){var r=t._fullLayout,n=t._fullData[p.index];t._dragging||!1===r.hovermode||(t._hoverdata=[f(e,n)],o.click(t,a.event))}),p.pull){var w=+u.castOption(p.pull,e.pts)||0;w&gt;0&amp;&amp;(h+=w*e.pxmid[0],v+=w*e.pxmid[1])}e.cxFinal=h,e.cyFinal=v;var M=p.hole;if(e.v===d.vTotal){var k=&quot;M&quot;+(h+e.px0[0])+&quot;,&quot;+(v+e.px0[1])+s(e.px0,e.pxmid,!0,1)+s(e.pxmid,e.px0,!0,1)+&quot;Z&quot;;M?x.attr(&quot;d&quot;,&quot;M&quot;+(h+M*e.px0[0])+&quot;,&quot;+(v+M*e.px0[1])+s(e.px0,e.pxmid,!1,M)+s(e.pxmid,e.px0,!1,M)+&quot;Z&quot;+k):x.attr(&quot;d&quot;,k)}else{var A=s(e.px0,e.px1,!0,1);if(M){var T=1-M;x.attr(&quot;d&quot;,&quot;M&quot;+(h+M*e.px1[0])+&quot;,&quot;+(v+M*e.px1[1])+s(e.px1,e.px0,!1,M)+&quot;l&quot;+T*e.px0[0]+&quot;,&quot;+T*e.px0[1]+A+&quot;Z&quot;)}else x.attr(&quot;d&quot;,&quot;M&quot;+h+&quot;,&quot;+v+&quot;l&quot;+e.px0[0]+&quot;,&quot;+e.px0[1]+A+&quot;Z&quot;)}var S=u.castOption(p.textposition,e.pts),E=y.selectAll(&quot;g.slicetext&quot;).data(e.text&amp;&amp;&quot;none&quot;!==S?[0]:[]);E.enter().append(&quot;g&quot;).classed(&quot;slicetext&quot;,!0),E.exit().remove(),E.each(function(){var r=a.select(this).selectAll(&quot;text&quot;).data([0]);r.enter().append(&quot;text&quot;).attr(&quot;data-notex&quot;,1),r.exit().remove(),r.text(e.text).attr({class:&quot;slicetext&quot;,transform:&quot;&quot;,&quot;text-anchor&quot;:&quot;middle&quot;}).call(l.font,&quot;outside&quot;===S?p.outsidetextfont:p.insidetextfont).call(c.convertToTspans,t);var o,s=l.bBox(r.node());&quot;outside&quot;===S?o=i(s,e):(o=function(t,e,r){var i=Math.sqrt(t.width*t.width+t.height*t.height),a=t.width/t.height,o=Math.PI*Math.min(e.v/r.vTotal,.5),s=1-r.trace.hole,l=n(e,r),c={scale:l*r.r*2/i,rCenter:1-l,rotate:0};if(c.scale&gt;=1)return c;var u=a+1/(2*Math.tan(o)),f=r.r*Math.min(1/(Math.sqrt(u*u+.5)+u),s/(Math.sqrt(a*a+s/2)+a)),h={scale:2*f/t.height,rCenter:Math.cos(f/r.r)-f*a/r.r,rotate:(180/Math.PI*e.midangle+720)%180-90},d=1/a,p=d+1/(2*Math.tan(o)),m=r.r*Math.min(1/(Math.sqrt(p*p+.5)+p),s/(Math.sqrt(d*d+s/2)+d)),g={scale:2*m/t.width,rCenter:Math.cos(m/r.r)-m/a/r.r,rotate:(180/Math.PI*e.midangle+810)%180-90},v=g.scale&gt;h.scale?g:h;return c.scale&lt;1&amp;&amp;v.scale&gt;c.scale?v:c}(s,e,d),&quot;auto&quot;===S&amp;&amp;o.scale&lt;1&amp;&amp;(r.call(l.font,p.outsidetextfont),p.outsidetextfont.family===p.insidetextfont.family&amp;&amp;p.outsidetextfont.size===p.insidetextfont.size||(s=l.bBox(r.node())),o=i(s,e)));var u=h+e.pxmid[0]*o.rCenter+(o.x||0),f=v+e.pxmid[1]*o.rCenter+(o.y||0);o.outside&amp;&amp;(e.yLabelMin=f-s.height/2,e.yLabelMid=f,e.yLabelMax=f+s.height/2,e.labelExtraX=0,e.labelExtraY=0,g=!0),r.attr(&quot;transform&quot;,&quot;translate(&quot;+u+&quot;,&quot;+f+&quot;)&quot;+(o.scale&lt;1?&quot;scale(&quot;+o.scale+&quot;)&quot;:&quot;&quot;)+(o.rotate?&quot;rotate(&quot;+o.rotate+&quot;)&quot;:&quot;&quot;)+&quot;translate(&quot;+-(s.left+s.right)/2+&quot;,&quot;+-(s.top+s.bottom)/2+&quot;)&quot;)})}}),g&amp;&amp;function(t,e){function r(t,e){return t.pxmid[1]-e.pxmid[1]}function n(t,e){return e.pxmid[1]-t.pxmid[1]}function i(t,r){r||(r={});var n,i,a,s,d=r.labelExtraY+(o?r.yLabelMax:r.yLabelMin),p=o?t.yLabelMin:t.yLabelMax,g=o?t.yLabelMax:t.yLabelMin,v=t.cyFinal+c(t.px0[1],t.px1[1]),y=d-p;if(y*h&gt;0&amp;&amp;(t.labelExtraY=y),Array.isArray(e.pull))for(i=0;i&lt;m.length;i++)(a=m[i])===t||(u.castOption(e.pull,t.pts)||0)&gt;=(u.castOption(e.pull,a.pts)||0)||((t.pxmid[1]-a.pxmid[1])*h&gt;0?(y=a.cyFinal+c(a.px0[1],a.px1[1])-p-t.labelExtraY)*h&gt;0&amp;&amp;(t.labelExtraY+=y):(g+t.labelExtraY-v)*h&gt;0&amp;&amp;(n=3*f*Math.abs(i-m.indexOf(t)),(s=a.cxFinal+l(a.px0[0],a.px1[0])+n-(t.cxFinal+t.pxmid[0])-t.labelExtraX)*f&gt;0&amp;&amp;(t.labelExtraX+=s)))}var a,o,s,l,c,f,h,d,p,m,g,v,y;for(o=0;o&lt;2;o++)for(s=o?r:n,c=o?Math.max:Math.min,h=o?1:-1,a=0;a&lt;2;a++){for(l=a?Math.max:Math.min,f=a?1:-1,(d=t[o][a]).sort(s),p=t[1-o][a],m=p.concat(d),v=[],g=0;g&lt;d.length;g++)void 0!==d[g].yLabelMid&amp;&amp;v.push(d[g]);for(y=!1,g=0;o&amp;&amp;g&lt;p.length;g++)if(void 0!==p[g].yLabelMid){y=p[g];break}for(g=0;g&lt;v.length;g++){var x=g&amp;&amp;v[g-1];y&amp;&amp;!g&amp;&amp;(x=y),i(v[g],x)}}}(m,p),h.each(function(t){if(t.labelExtraX||t.labelExtraY){var e=a.select(this),r=e.select(&quot;g.slicetext text&quot;);r.attr(&quot;transform&quot;,&quot;translate(&quot;+t.labelExtraX+&quot;,&quot;+t.labelExtraY+&quot;)&quot;+r.attr(&quot;transform&quot;));var n=t.cxFinal+t.pxmid[0],i=&quot;M&quot;+n+&quot;,&quot;+(t.cyFinal+t.pxmid[1]),o=(t.yLabelMax-t.yLabelMin)*(t.pxmid[0]&lt;0?-1:1)/4;if(t.labelExtraX){var l=t.labelExtraX*t.pxmid[1]/t.pxmid[0],c=t.yLabelMid+t.labelExtraY-(t.cyFinal+t.pxmid[1]);Math.abs(l)&gt;Math.abs(c)?i+=&quot;l&quot;+c*t.pxmid[0]/t.pxmid[1]+&quot;,&quot;+c+&quot;H&quot;+(n+t.labelExtraX+o):i+=&quot;l&quot;+t.labelExtraX+&quot;,&quot;+l+&quot;v&quot;+(c-l)+&quot;h&quot;+o}else i+=&quot;V&quot;+(t.yLabelMid+t.labelExtraY)+&quot;h&quot;+o;e.append(&quot;path&quot;).classed(&quot;textline&quot;,!0).call(s.stroke,p.outsidetextfont.color).attr({&quot;stroke-width&quot;:Math.min(2,p.outsidetextfont.size/8),d:i,fill:&quot;none&quot;})}})})}),setTimeout(function(){h.selectAll(&quot;tspan&quot;).each(function(){var t=a.select(this);t.attr(&quot;dy&quot;)&amp;&amp;t.attr(&quot;dy&quot;,t.attr(&quot;dy&quot;))})},0)}},{&quot;../../components/color&quot;:618,&quot;../../components/drawing&quot;:643,&quot;../../components/fx&quot;:660,&quot;../../lib/svg_text_utils&quot;:766,&quot;./event_data&quot;:1045,&quot;./helpers&quot;:1046,d3:128}],1051:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;d3&quot;),i=t(&quot;./style_one&quot;);e.exports=function(t){t._fullLayout._pielayer.selectAll(&quot;.trace&quot;).each(function(t){var e=t[0].trace,r=n.select(this);r.style({opacity:e.opacity}),r.selectAll(&quot;path.surface&quot;).each(function(t){n.select(this).call(i,t,e)})})}},{&quot;./style_one&quot;:1052,d3:128}],1052:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../components/color&quot;),i=t(&quot;./helpers&quot;).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({&quot;stroke-width&quot;:s}).call(n.fill,e.color).call(n.stroke,o)}},{&quot;../../components/color&quot;:618,&quot;./helpers&quot;:1046}],1053:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../scatter/attributes&quot;);e.exports={x:n.x,y:n.y,xy:{valType:&quot;data_array&quot;,editType:&quot;calc&quot;},indices:{valType:&quot;data_array&quot;,editType:&quot;calc&quot;},xbounds:{valType:&quot;data_array&quot;,editType:&quot;calc&quot;},ybounds:{valType:&quot;data_array&quot;,editType:&quot;calc&quot;},text:n.text,marker:{color:{valType:&quot;color&quot;,arrayOk:!1,editType:&quot;calc&quot;},opacity:{valType:&quot;number&quot;,min:0,max:1,dflt:1,arrayOk:!1,editType:&quot;calc&quot;},blend:{valType:&quot;boolean&quot;,dflt:null,editType:&quot;calc&quot;},sizemin:{valType:&quot;number&quot;,min:.1,max:2,dflt:.5,editType:&quot;calc&quot;},sizemax:{valType:&quot;number&quot;,min:.1,dflt:20,editType:&quot;calc&quot;},border:{color:{valType:&quot;color&quot;,arrayOk:!1,editType:&quot;calc&quot;},arearatio:{valType:&quot;number&quot;,min:0,max:1,dflt:0,editType:&quot;calc&quot;},editType:&quot;calc&quot;},editType:&quot;calc&quot;}}},{&quot;../scatter/attributes&quot;:1066}],1054:[function(t,e,r){&quot;use strict&quot;;function n(t,e){this.scene=t,this.uid=e,this.type=&quot;pointcloud&quot;,this.pickXData=[],this.pickYData=[],this.xData=[],this.yData=[],this.textLabels=[],this.color=&quot;rgb(0, 0, 0)&quot;,this.name=&quot;&quot;,this.hoverinfo=&quot;all&quot;,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=i(t.glplot,this.pointcloudOptions),this.pointcloud._trace=this}var i=t(&quot;gl-pointcloud2d&quot;),a=t(&quot;../../lib/str2rgbarray&quot;),o=t(&quot;../scatter/get_trace_color&quot;),s=[&quot;xaxis&quot;,&quot;yaxis&quot;],l=n.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,i,o,s,l=this.xData=this.pickXData=t.x,c=this.yData=this.pickYData=t.y,u=this.pickXYData=t.xy,f=t.xbounds&amp;&amp;t.ybounds,h=t.indices,d=this.bounds;if(u){if(n=u,e=u.length&gt;&gt;&gt;1,f)d[0]=t.xbounds[0],d[2]=t.xbounds[1],d[1]=t.ybounds[0],d[3]=t.ybounds[1];else for(s=0;s&lt;e;s++)i=n[2*s],o=n[2*s+1],i&lt;d[0]&amp;&amp;(d[0]=i),i&gt;d[2]&amp;&amp;(d[2]=i),o&lt;d[1]&amp;&amp;(d[1]=o),o&gt;d[3]&amp;&amp;(d[3]=o);if(h)r=h;else for(r=new Int32Array(e),s=0;s&lt;e;s++)r[s]=s}else for(e=l.length,n=new Float32Array(2*e),r=new Int32Array(e),s=0;s&lt;e;s++)i=l[s],o=c[s],r[s]=s,n[2*s]=i,n[2*s+1]=o,i&lt;d[0]&amp;&amp;(d[0]=i),i&gt;d[2]&amp;&amp;(d[2]=i),o&lt;d[1]&amp;&amp;(d[1]=o),o&gt;d[3]&amp;&amp;(d[3]=o);this.idToIndex=r,this.pointcloudOptions.idToIndex=r,this.pointcloudOptions.positions=n;var p=a(t.marker.color),m=a(t.marker.border.color),g=t.opacity*t.marker.opacity;p[3]*=g,this.pointcloudOptions.color=p;var v=t.marker.blend;if(null===v){v=l.length&lt;100||c.length&lt;100}this.pointcloudOptions.blend=v,m[3]*=g,this.pointcloudOptions.borderColor=m;var y=t.marker.sizemin,x=Math.max(t.marker.sizemax,t.marker.sizemin);this.pointcloudOptions.sizeMin=y,this.pointcloudOptions.sizeMax=x,this.pointcloudOptions.areaRatio=t.marker.border.arearatio,this.pointcloud.update(this.pointcloudOptions),this.expandAxesFast(d,x/2)},l.expandAxesFast=function(t,e){for(var r,n,i,a=e||.5,o=0;o&lt;2;o++)(n=(r=this.scene[s[o]])._min)||(n=[]),n.push({val:t[o],pad:a}),(i=r._max)||(i=[]),i.push({val:t[o+2],pad:a})},l.dispose=function(){this.pointcloud.dispose()},e.exports=function(t,e){var r=new n(t,e.uid);return r.update(e),r}},{&quot;../../lib/str2rgbarray&quot;:765,&quot;../scatter/get_trace_color&quot;:1076,&quot;gl-pointcloud2d&quot;:235}],1055:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib&quot;),i=t(&quot;./attributes&quot;);e.exports=function(t,e,r){function a(r,a){return n.coerce(t,e,i,r,a)}a(&quot;x&quot;),a(&quot;y&quot;),a(&quot;xbounds&quot;),a(&quot;ybounds&quot;),t.xy&amp;&amp;t.xy instanceof Float32Array&amp;&amp;(e.xy=t.xy),t.indices&amp;&amp;t.indices instanceof Int32Array&amp;&amp;(e.indices=t.indices),a(&quot;text&quot;),a(&quot;marker.color&quot;,r),a(&quot;marker.opacity&quot;),a(&quot;marker.blend&quot;),a(&quot;marker.sizemin&quot;),a(&quot;marker.sizemax&quot;),a(&quot;marker.border.color&quot;,r),a(&quot;marker.border.arearatio&quot;)}},{&quot;../../lib&quot;:743,&quot;./attributes&quot;:1053}],1056:[function(t,e,r){&quot;use strict&quot;;var n={};n.attributes=t(&quot;./attributes&quot;),n.supplyDefaults=t(&quot;./defaults&quot;),n.calc=t(&quot;../scatter3d/calc&quot;),n.plot=t(&quot;./convert&quot;),n.moduleType=&quot;trace&quot;,n.name=&quot;pointcloud&quot;,n.basePlotModule=t(&quot;../../plots/gl2d&quot;),n.categories=[&quot;gl&quot;,&quot;gl2d&quot;,&quot;showLegend&quot;],n.meta={},e.exports=n},{&quot;../../plots/gl2d&quot;:829,&quot;../scatter3d/calc&quot;:1092,&quot;./attributes&quot;:1053,&quot;./convert&quot;:1054,&quot;./defaults&quot;:1055}],1057:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../plots/font_attributes&quot;),i=t(&quot;../../plots/attributes&quot;),a=t(&quot;../../components/color/attributes&quot;),o=t(&quot;../../components/fx/attributes&quot;),s=t(&quot;../../plots/domain_attributes&quot;),l=t(&quot;../../lib/extend&quot;).extendFlat,c=t(&quot;../../plot_api/edit_types&quot;).overrideAll;e.exports=c({hoverinfo:l({},i.hoverinfo,{flags:[&quot;label&quot;,&quot;text&quot;,&quot;value&quot;,&quot;percent&quot;,&quot;name&quot;]}),hoverlabel:o.hoverlabel,domain:s({name:&quot;sankey&quot;,trace:!0}),orientation:{valType:&quot;enumerated&quot;,values:[&quot;v&quot;,&quot;h&quot;],dflt:&quot;h&quot;},valueformat:{valType:&quot;string&quot;,dflt:&quot;.3s&quot;},valuesuffix:{valType:&quot;string&quot;,dflt:&quot;&quot;},arrangement:{valType:&quot;enumerated&quot;,values:[&quot;snap&quot;,&quot;perpendicular&quot;,&quot;freeform&quot;,&quot;fixed&quot;],dflt:&quot;snap&quot;},textfont:n({}),node:{label:{valType:&quot;data_array&quot;,dflt:[]},color:{valType:&quot;color&quot;,arrayOk:!0},line:{color:{valType:&quot;color&quot;,dflt:a.defaultLine,arrayOk:!0},width:{valType:&quot;number&quot;,min:0,dflt:.5,arrayOk:!0}},pad:{valType:&quot;number&quot;,arrayOk:!1,min:0,dflt:20},thickness:{valType:&quot;number&quot;,arrayOk:!1,min:1,dflt:20}},link:{label:{valType:&quot;data_array&quot;,dflt:[]},color:{valType:&quot;color&quot;,arrayOk:!0},line:{color:{valType:&quot;color&quot;,dflt:a.defaultLine,arrayOk:!0},width:{valType:&quot;number&quot;,min:0,dflt:0,arrayOk:!0}},source:{valType:&quot;data_array&quot;,dflt:[]},target:{valType:&quot;data_array&quot;,dflt:[]},value:{valType:&quot;data_array&quot;,dflt:[]}}},&quot;calc&quot;,&quot;nested&quot;)},{&quot;../../components/color/attributes&quot;:617,&quot;../../components/fx/attributes&quot;:652,&quot;../../lib/extend&quot;:732,&quot;../../plot_api/edit_types&quot;:773,&quot;../../plots/attributes&quot;:787,&quot;../../plots/domain_attributes&quot;:815,&quot;../../plots/font_attributes&quot;:816}],1058:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../plot_api/edit_types&quot;).overrideAll,i=t(&quot;../../plots/get_data&quot;).getModuleCalcData,a=t(&quot;./plot&quot;),o=t(&quot;../../components/fx/layout_attributes&quot;);r.name=&quot;sankey&quot;,r.baseLayoutAttrOverrides=n({hoverlabel:o.hoverlabel},&quot;plot&quot;,&quot;nested&quot;),r.plot=function(t){var e=i(t.calcdata,&quot;sankey&quot;);a(t,e)},r.clean=function(t,e,r,n){var i=n._has&amp;&amp;n._has(&quot;sankey&quot;),a=e._has&amp;&amp;e._has(&quot;sankey&quot;);i&amp;&amp;!a&amp;&amp;n._paperdiv.selectAll(&quot;.sankey&quot;).remove()}},{&quot;../../components/fx/layout_attributes&quot;:661,&quot;../../plot_api/edit_types&quot;:773,&quot;../../plots/get_data&quot;:826,&quot;./plot&quot;:1063}],1059:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;strongly-connected-components&quot;),i=t(&quot;../../lib&quot;),a=t(&quot;../../lib/gup&quot;).wrap;e.exports=function(t,e){return function(t,e,r){for(var i=t.map(function(){return[]}),a=0;a&lt;Math.min(e.length,r.length);a++){if(e[a]===r[a])return!0;i[e[a]].push(r[a])}return n(i).components.some(function(t){return t.length&gt;1})}(e.node.label,e.link.source,e.link.target)&amp;&amp;(i.error(&quot;Circularity is present in the Sankey data. Removing all nodes and links.&quot;),e.link.label=[],e.link.source=[],e.link.target=[],e.link.value=[],e.link.color=[],e.node.label=[],e.node.color=[]),a({link:e.link,node:e.node})}},{&quot;../../lib&quot;:743,&quot;../../lib/gup&quot;:740,&quot;strongly-connected-components&quot;:537}],1060:[function(t,e,r){&quot;use strict&quot;;e.exports={nodeTextOffsetHorizontal:4,nodeTextOffsetVertical:3,nodePadAcross:10,sankeyIterations:50,forceIterations:5,forceTicksPerFrame:10,duration:500,ease:&quot;cubic-in-out&quot;,cn:{sankey:&quot;sankey&quot;,sankeyLinks:&quot;sankey-links&quot;,sankeyLink:&quot;sankey-link&quot;,sankeyNodeSet:&quot;sankey-node-set&quot;,sankeyNode:&quot;sankey-node&quot;,nodeRect:&quot;node-rect&quot;,nodeCapture:&quot;node-capture&quot;,nodeCentered:&quot;node-entered&quot;,nodeLabelGuide:&quot;node-label-guide&quot;,nodeLabel:&quot;node-label&quot;,nodeLabelTextPath:&quot;node-label-text-path&quot;}}},{}],1061:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib&quot;),i=t(&quot;./attributes&quot;),a=t(&quot;../../components/color&quot;),o=t(&quot;tinycolor2&quot;);e.exports=function(t,e,r,s){function l(r,a){return n.coerce(t,e,i,r,a)}l(&quot;node.label&quot;),l(&quot;node.pad&quot;),l(&quot;node.thickness&quot;),l(&quot;node.line.color&quot;),l(&quot;node.line.width&quot;);var c=s.colorway;l(&quot;node.color&quot;,e.node.label.map(function(t,e){return a.addOpacity(function(t){return c[t%c.length]}(e),.8)})),l(&quot;link.label&quot;),l(&quot;link.source&quot;),l(&quot;link.target&quot;),l(&quot;link.value&quot;),l(&quot;link.line.color&quot;),l(&quot;link.line.width&quot;),l(&quot;link.color&quot;,e.link.value.map(function(){return o(s.paper_bgcolor).getLuminance()&lt;.333?&quot;rgba(255, 255, 255, 0.6)&quot;:&quot;rgba(0, 0, 0, 0.2)&quot;})),l(&quot;domain.x&quot;),l(&quot;domain.y&quot;),l(&quot;orientation&quot;),l(&quot;valueformat&quot;),l(&quot;valuesuffix&quot;),l(&quot;arrangement&quot;),n.coerceFont(l,&quot;textfont&quot;,n.extendFlat({},s.font));e.node.label.some(function(t,r){return-1===e.link.source.indexOf(r)&amp;&amp;-1===e.link.target.indexOf(r)})&amp;&amp;n.warn(&quot;Some of the nodes are neither sources nor targets, they will not be displayed.&quot;)}},{&quot;../../components/color&quot;:618,&quot;../../lib&quot;:743,&quot;./attributes&quot;:1057,tinycolor2:546}],1062:[function(t,e,r){&quot;use strict&quot;;var n={};n.attributes=t(&quot;./attributes&quot;),n.supplyDefaults=t(&quot;./defaults&quot;),n.calc=t(&quot;./calc&quot;),n.plot=t(&quot;./plot&quot;),n.moduleType=&quot;trace&quot;,n.name=&quot;sankey&quot;,n.basePlotModule=t(&quot;./base_plot&quot;),n.categories=[&quot;noOpacity&quot;],n.meta={},e.exports=n},{&quot;./attributes&quot;:1057,&quot;./base_plot&quot;:1058,&quot;./calc&quot;:1059,&quot;./defaults&quot;:1061,&quot;./plot&quot;:1063}],1063:[function(t,e,r){&quot;use strict&quot;;function n(t){return&quot;&quot;!==t}function i(t,e){return t.filter(function(t){return t.key===e.traceId})}function a(t,e){p.select(t).select(&quot;path&quot;).style(&quot;fill-opacity&quot;,e),p.select(t).select(&quot;rect&quot;).style(&quot;fill-opacity&quot;,e)}function o(t){p.select(t).select(&quot;text.name&quot;).style(&quot;fill&quot;,&quot;black&quot;)}function s(t){return function(e){return-1!==t.node.sourceLinks.indexOf(e.link)||-1!==t.node.targetLinks.indexOf(e.link)}}function l(t){return function(e){return-1!==e.node.sourceLinks.indexOf(t.link)||-1!==e.node.targetLinks.indexOf(t.link)}}function c(t,e,r){e&amp;&amp;r&amp;&amp;i(r,e).selectAll(&quot;.&quot;+x.sankeyLink).filter(s(e)).call(f.bind(0,e,r,!1))}function u(t,e,r){e&amp;&amp;r&amp;&amp;i(r,e).selectAll(&quot;.&quot;+x.sankeyLink).filter(s(e)).call(h.bind(0,e,r,!1))}function f(t,e,r,n){var a=n.datum().link.label;n.style(&quot;fill-opacity&quot;,.4),a&amp;&amp;i(e,t).selectAll(&quot;.&quot;+x.sankeyLink).filter(function(t){return t.link.label===a}).style(&quot;fill-opacity&quot;,.4),r&amp;&amp;i(e,t).selectAll(&quot;.&quot;+x.sankeyNode).filter(l(t)).call(c)}function h(t,e,r,n){var a=n.datum().link.label;n.style(&quot;fill-opacity&quot;,function(t){return t.tinyColorAlpha}),a&amp;&amp;i(e,t).selectAll(&quot;.&quot;+x.sankeyLink).filter(function(t){return t.link.label===a}).style(&quot;fill-opacity&quot;,function(t){return t.tinyColorAlpha}),r&amp;&amp;i(e,t).selectAll(x.sankeyNode).filter(l(t)).call(u)}function d(t,e){var r=t.hoverlabel||{},n=y.nestedProperty(r,e).get();return!Array.isArray(n)&amp;&amp;n}var p=t(&quot;d3&quot;),m=t(&quot;./render&quot;),g=t(&quot;../../components/fx&quot;),v=t(&quot;../../components/color&quot;),y=t(&quot;../../lib&quot;),x=t(&quot;./constants&quot;).cn,b=y._;e.exports=function(t,e){var r=t._fullLayout,i=r._paper,s=r._size,l=b(t,&quot;source:&quot;)+&quot; &quot;,y=b(t,&quot;target:&quot;)+&quot; &quot;,_=b(t,&quot;incoming flow count:&quot;)+&quot; &quot;,w=b(t,&quot;outgoing flow count:&quot;)+&quot; &quot;;m(i,e,{width:s.w,height:s.h,margin:{t:s.t,r:s.r,b:s.b,l:s.l}},{linkEvents:{hover:function(e,r,n){p.select(e).call(f.bind(0,r,n,!0)),t.emit(&quot;plotly_hover&quot;,{event:p.event,points:[r.link]})},follow:function(e,i){var s=i.link.trace,c=t._fullLayout._paperdiv.node().getBoundingClientRect(),u=e.getBoundingClientRect(),f=u.left+u.width/2,h=u.top+u.height/2,m=g.loneHover({x:f-c.left,y:h-c.top,name:p.format(i.valueFormat)(i.link.value)+i.valueSuffix,text:[i.link.label||&quot;&quot;,l+i.link.source.label,y+i.link.target.label].filter(n).join(&quot;&lt;br&gt;&quot;),color:d(s,&quot;bgcolor&quot;)||v.addOpacity(i.tinyColorHue,1),borderColor:d(s,&quot;bordercolor&quot;),fontFamily:d(s,&quot;font.family&quot;),fontSize:d(s,&quot;font.size&quot;),fontColor:d(s,&quot;font.color&quot;),idealAlign:p.event.x&lt;f?&quot;right&quot;:&quot;left&quot;},{container:r._hoverlayer.node(),outerContainer:r._paper.node(),gd:t});a(m,.65),o(m)},unhover:function(e,n,i){p.select(e).call(h.bind(0,n,i,!0)),t.emit(&quot;plotly_unhover&quot;,{event:p.event,points:[n.link]}),g.loneUnhover(r._hoverlayer.node())},select:function(e,r){var n=r.link;n.originalEvent=p.event,t._hoverdata=[n],g.click(t,{target:!0})}},nodeEvents:{hover:function(e,r,n){p.select(e).call(c,r,n),t.emit(&quot;plotly_hover&quot;,{event:p.event,points:[r.node]})},follow:function(e,i){var s=i.node.trace,l=p.select(e).select(&quot;.&quot;+x.nodeRect),c=t._fullLayout._paperdiv.node().getBoundingClientRect(),u=l.node().getBoundingClientRect(),f=u.left-2-c.left,h=u.right+2-c.left,m=u.top+u.height/4-c.top,v=g.loneHover({x0:f,x1:h,y:m,name:p.format(i.valueFormat)(i.node.value)+i.valueSuffix,text:[i.node.label,_+i.node.targetLinks.length,w+i.node.sourceLinks.length].filter(n).join(&quot;&lt;br&gt;&quot;),color:d(s,&quot;bgcolor&quot;)||i.tinyColorHue,borderColor:d(s,&quot;bordercolor&quot;),fontFamily:d(s,&quot;font.family&quot;),fontSize:d(s,&quot;font.size&quot;),fontColor:d(s,&quot;font.color&quot;),idealAlign:&quot;left&quot;},{container:r._hoverlayer.node(),outerContainer:r._paper.node(),gd:t});a(v,.85),o(v)},unhover:function(e,n,i){p.select(e).call(u,n,i),t.emit(&quot;plotly_unhover&quot;,{event:p.event,points:[n.node]}),g.loneUnhover(r._hoverlayer.node())},select:function(e,r,n){var i=r.node;i.originalEvent=p.event,t._hoverdata=[i],p.select(e).call(u,r,n),g.click(t,{target:!0})}}})}},{&quot;../../components/color&quot;:618,&quot;../../components/fx&quot;:660,&quot;../../lib&quot;:743,&quot;./constants&quot;:1060,&quot;./render&quot;:1064,d3:128}],1064:[function(t,e,r){&quot;use strict&quot;;function n(t){t.lastDraggedX=t.x,t.lastDraggedY=t.y}function i(t){return function(e){return e.node.originalX===t.node.originalX}}function a(t){for(var e=0;e&lt;t.length;e++)t[e].y=t[e].y+t[e].dy/2}function o(t){t.attr(&quot;transform&quot;,function(t){return&quot;translate(&quot;+t.node.x.toFixed(3)+&quot;, &quot;+(t.node.y-t.node.dy/2).toFixed(3)+&quot;)&quot;})}function s(t){var e=t.sankey.nodes();!function(t){for(var e=0;e&lt;t.length;e++)t[e].y=t[e].y-t[e].dy/2}(e);var r=t.sankey.link()(t.link);return a(e),r}function l(t){t.call(o)}function c(t,e){t.call(l),e.attr(&quot;d&quot;,s)}function u(t){t.attr(&quot;width&quot;,function(t){return t.visibleWidth}).attr(&quot;height&quot;,function(t){return t.visibleHeight})}function f(t){return t.link.dy&gt;1||t.linkLineWidth&gt;0}function h(t){return&quot;translate(&quot;+t.translateX+&quot;,&quot;+t.translateY+&quot;)&quot;+(t.horizontal?&quot;matrix(1 0 0 1 0 0)&quot;:&quot;matrix(0 1 1 0 0 0)&quot;)}function d(t){return&quot;translate(&quot;+(t.horizontal?0:t.labelY)+&quot; &quot;+(t.horizontal?t.labelY:0)+&quot;)&quot;}function p(t){return w.svg.line()([[t.horizontal?t.left?-t.sizeAcross:t.visibleWidth+_.nodeTextOffsetHorizontal:_.nodeTextOffsetHorizontal,0],[t.horizontal?t.left?-_.nodeTextOffsetHorizontal:t.sizeAcross:t.visibleHeight-_.nodeTextOffsetHorizontal,0]])}function m(t){return t.horizontal?&quot;matrix(1 0 0 1 0 0)&quot;:&quot;matrix(0 1 1 0 0 0)&quot;}function g(t){return t.horizontal?&quot;scale(1 1)&quot;:&quot;scale(-1 1)&quot;}function v(t){return t.darkBackground&amp;&amp;!t.horizontal?&quot;rgb(255,255,255)&quot;:&quot;rgb(0,0,0)&quot;}function y(t){return t.horizontal&amp;&amp;t.left?&quot;100%&quot;:&quot;0%&quot;}function x(t,e,r){t.on(&quot;.basic&quot;,null).on(&quot;mouseover.basic&quot;,function(t){t.interactionState.dragInProgress||(r.hover(this,t,e),t.interactionState.hovered=[this,t])}).on(&quot;mousemove.basic&quot;,function(t){t.interactionState.dragInProgress||(r.follow(this,t),t.interactionState.hovered=[this,t])}).on(&quot;mouseout.basic&quot;,function(t){t.interactionState.dragInProgress||(r.unhover(this,t,e),t.interactionState.hovered=!1)}).on(&quot;click.basic&quot;,function(t){t.interactionState.hovered&amp;&amp;(r.unhover(this,t,e),t.interactionState.hovered=!1),t.interactionState.dragInProgress||r.select(this,t,e)})}function b(t,e,r){var a=w.behavior.drag().origin(function(t){return t.node}).on(&quot;dragstart&quot;,function(a){if(&quot;fixed&quot;!==a.arrangement&amp;&amp;(E.raiseToTop(this),a.interactionState.dragInProgress=a.node,n(a.node),a.interactionState.hovered&amp;&amp;(r.nodeEvents.unhover.apply(0,a.interactionState.hovered),a.interactionState.hovered=!1),&quot;snap&quot;===a.arrangement)){var o=a.traceId+&quot;|&quot;+Math.floor(a.node.originalX);a.forceLayouts[o]?a.forceLayouts[o].alpha(1):function(t,e,r){var n=r.sankey.nodes().filter(function(t){return t.originalX===r.node.originalX});r.forceLayouts[e]=S.forceSimulation(n).alphaDecay(0).force(&quot;collide&quot;,S.forceCollide().radius(function(t){return t.dy/2+r.nodePad/2}).strength(1).iterations(_.forceIterations)).force(&quot;constrain&quot;,function(t,e,r,n){return function(){for(var t=0,i=0;i&lt;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)/_.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&amp;&amp;t&lt;.1&amp;&amp;n.forceLayouts[e].alpha()&gt;0&amp;&amp;n.forceLayouts[e].alpha(0)}}(0,e,n,r)).stop()}(0,o,a),function(t,e,r,n){window.requestAnimationFrame(function a(){for(var o=0;o&lt;_.forceTicksPerFrame;o++)r.forceLayouts[n].tick();r.sankey.relayout(),c(t.filter(i(r)),e),r.forceLayouts[n].alpha()&gt;0&amp;&amp;window.requestAnimationFrame(a)})}(t,e,a,o)}}).on(&quot;drag&quot;,function(r){if(&quot;fixed&quot;!==r.arrangement){var a=w.event.x,o=w.event.y;&quot;snap&quot;===r.arrangement?(r.node.x=a,r.node.y=o):(&quot;freeform&quot;===r.arrangement&amp;&amp;(r.node.x=a),r.node.y=Math.max(r.node.dy/2,Math.min(r.size-r.node.dy/2,o))),n(r.node),&quot;snap&quot;!==r.arrangement&amp;&amp;(r.sankey.relayout(),c(t.filter(i(r)),e))}}).on(&quot;dragend&quot;,function(t){t.interactionState.dragInProgress=!1});t.on(&quot;.drag&quot;,null).call(a)}var _=t(&quot;./constants&quot;),w=t(&quot;d3&quot;),M=t(&quot;tinycolor2&quot;),k=t(&quot;../../components/color&quot;),A=t(&quot;../../components/drawing&quot;),T=t(&quot;@plotly/d3-sankey&quot;).sankey,S=t(&quot;d3-force&quot;),E=t(&quot;../../lib&quot;),L=t(&quot;../../lib/gup&quot;).keyFun,C=t(&quot;../../lib/gup&quot;).repeat,z=t(&quot;../../lib/gup&quot;).unwrap;e.exports=function(t,e,r,n){var i=t.selectAll(&quot;.&quot;+_.cn.sankey).data(e.filter(function(t){return z(t).trace.visible}).map(function(t,e,r){for(var n,i=z(e).trace,o=i.domain,s=i.node,l=i.link,c=i.arrangement,u=&quot;h&quot;===i.orientation,f=i.node.pad,h=i.node.thickness,d=i.node.line.color,p=i.node.line.width,m=i.link.line.color,g=i.link.line.width,v=i.valueformat,y=i.valuesuffix,x=i.textfont,b=t.width*(o.x[1]-o.x[0]),w=t.height*(o.y[1]-o.y[0]),M=s.label.map(function(t,e){return{pointNumber:e,label:t,color:E.isArray(s.color)?s.color[e]:s.color}}),k=l.value.map(function(t,e){return{pointNumber:e,label:l.label[e],color:E.isArray(l.color)?l.color[e]:l.color,source:l.source[e],target:l.target[e],value:t}}),A=T().size(u?[b,w]:[w,b]).nodeWidth(h).nodePadding(f).nodes(M).links(k).layout(_.sankeyIterations),S=A.nodes(),L=0;L&lt;S.length;L++)(n=S[L]).width=b,n.height=w;return a(M),{key:r,trace:i,guid:Math.floor(1e12*(1+Math.random())),horizontal:u,width:b,height:w,nodePad:f,nodeLineColor:d,nodeLineWidth:p,linkLineColor:m,linkLineWidth:g,valueFormat:v,valueSuffix:y,textFont:x,translateX:o.x[0]*b+t.margin.l,translateY:t.height-o.y[1]*t.height+t.margin.t,dragParallel:u?w:b,dragPerpendicular:u?b:w,nodes:M,links:k,arrangement:c,sankey:A,forceLayouts:{},interactionState:{dragInProgress:!1,hovered:!1}}}.bind(null,r)),L);i.exit().remove(),i.enter().append(&quot;g&quot;).classed(_.cn.sankey,!0).style(&quot;box-sizing&quot;,&quot;content-box&quot;).style(&quot;position&quot;,&quot;absolute&quot;).style(&quot;left&quot;,0).style(&quot;shape-rendering&quot;,&quot;geometricPrecision&quot;).style(&quot;pointer-events&quot;,&quot;auto&quot;).style(&quot;box-sizing&quot;,&quot;content-box&quot;).attr(&quot;transform&quot;,h),i.transition().ease(_.ease).duration(_.duration).attr(&quot;transform&quot;,h);var l=i.selectAll(&quot;.&quot;+_.cn.sankeyLinks).data(C,L);l.enter().append(&quot;g&quot;).classed(_.cn.sankeyLinks,!0).style(&quot;fill&quot;,&quot;none&quot;);var c=l.selectAll(&quot;.&quot;+_.cn.sankeyLink).data(function(t){return t.sankey.links().filter(function(t){return t.value}).map(function(t,e,r){var n=M(r.color),i=r.source.label+&quot;|&quot;+r.target.label,a=t[i];t[i]=(a||0)+1;var o=i+&quot;__&quot;+t[i];return r.trace=e.trace,r.curveNumber=e.trace.index,{key:o,traceId:e.key,link:r,tinyColorHue:k.tinyRGB(n),tinyColorAlpha:n.getAlpha(),linkLineColor:e.linkLineColor,linkLineWidth:e.linkLineWidth,valueFormat:e.valueFormat,valueSuffix:e.valueSuffix,sankey:e.sankey,interactionState:e.interactionState}}.bind(null,{},t))},L);c.enter().append(&quot;path&quot;).classed(_.cn.sankeyLink,!0).attr(&quot;d&quot;,s).call(x,i,n.linkEvents),c.style(&quot;stroke&quot;,function(t){return f(t)?k.tinyRGB(M(t.linkLineColor)):t.tinyColorHue}).style(&quot;stroke-opacity&quot;,function(t){return f(t)?k.opacity(t.linkLineColor):t.tinyColorAlpha}).style(&quot;stroke-width&quot;,function(t){return f(t)?t.linkLineWidth:1}).style(&quot;fill&quot;,function(t){return t.tinyColorHue}).style(&quot;fill-opacity&quot;,function(t){return t.tinyColorAlpha}),c.transition().ease(_.ease).duration(_.duration).attr(&quot;d&quot;,s),c.exit().transition().ease(_.ease).duration(_.duration).style(&quot;opacity&quot;,0).remove();var w=i.selectAll(&quot;.&quot;+_.cn.sankeyNodeSet).data(C,L);w.enter().append(&quot;g&quot;).classed(_.cn.sankeyNodeSet,!0),w.style(&quot;cursor&quot;,function(t){switch(t.arrangement){case&quot;fixed&quot;:return&quot;default&quot;;case&quot;perpendicular&quot;:return&quot;ns-resize&quot;;default:return&quot;move&quot;}});var S=w.selectAll(&quot;.&quot;+_.cn.sankeyNode).data(function(t){var e=t.sankey.nodes();return function(t){var e,r=[];for(e=0;e&lt;t.length;e++)t[e].originalX=t[e].x,t[e].originalY=t[e].y,-1===r.indexOf(t[e].x)&amp;&amp;r.push(t[e].x);for(r.sort(function(t,e){return t-e}),e=0;e&lt;t.length;e++)t[e].originalLayerIndex=r.indexOf(t[e].originalX),t[e].originalLayer=t[e].originalLayerIndex/(r.length-1)}(e),e.filter(function(t){return t.value}).map(function(t,e,r){var n=M(r.color),i=_.nodePadAcross,a=e.nodePad/2,o=r.dx,s=Math.max(.5,r.dy),l=r.label,c=t[l];t[l]=(c||0)+1;var u=l+&quot;__&quot;+t[l];return r.trace=e.trace,r.curveNumber=e.trace.index,{key:u,traceId:e.key,node:r,nodePad:e.nodePad,nodeLineColor:e.nodeLineColor,nodeLineWidth:e.nodeLineWidth,textFont:e.textFont,size:e.horizontal?e.height:e.width,visibleWidth:Math.ceil(o),visibleHeight:s,zoneX:-i,zoneY:-a,zoneWidth:o+2*i,zoneHeight:s+2*a,labelY:e.horizontal?r.dy/2+1:r.dx/2+1,left:1===r.originalLayer,sizeAcross:e.width,forceLayouts:e.forceLayouts,horizontal:e.horizontal,darkBackground:n.getBrightness()&lt;=128,tinyColorHue:k.tinyRGB(n),tinyColorAlpha:n.getAlpha(),valueFormat:e.valueFormat,valueSuffix:e.valueSuffix,sankey:e.sankey,arrangement:e.arrangement,uniqueNodeLabelPathId:[e.guid,e.key,u].join(&quot; &quot;),interactionState:e.interactionState}}.bind(null,{},t))},L);S.enter().append(&quot;g&quot;).classed(_.cn.sankeyNode,!0).call(o).call(x,i,n.nodeEvents),S.call(b,c,n),S.transition().ease(_.ease).duration(_.duration).call(o),S.exit().transition().ease(_.ease).duration(_.duration).style(&quot;opacity&quot;,0).remove();var D=S.selectAll(&quot;.&quot;+_.cn.nodeRect).data(C);D.enter().append(&quot;rect&quot;).classed(_.cn.nodeRect,!0).call(u),D.style(&quot;stroke-width&quot;,function(t){return t.nodeLineWidth}).style(&quot;stroke&quot;,function(t){return k.tinyRGB(M(t.nodeLineColor))}).style(&quot;stroke-opacity&quot;,function(t){return k.opacity(t.nodeLineColor)}).style(&quot;fill&quot;,function(t){return t.tinyColorHue}).style(&quot;fill-opacity&quot;,function(t){return t.tinyColorAlpha}),D.transition().ease(_.ease).duration(_.duration).call(u);var I=S.selectAll(&quot;.&quot;+_.cn.nodeCapture).data(C);I.enter().append(&quot;rect&quot;).classed(_.cn.nodeCapture,!0).style(&quot;fill-opacity&quot;,0),I.attr(&quot;x&quot;,function(t){return t.zoneX}).attr(&quot;y&quot;,function(t){return t.zoneY}).attr(&quot;width&quot;,function(t){return t.zoneWidth}).attr(&quot;height&quot;,function(t){return t.zoneHeight});var P=S.selectAll(&quot;.&quot;+_.cn.nodeCentered).data(C);P.enter().append(&quot;g&quot;).classed(_.cn.nodeCentered,!0).attr(&quot;transform&quot;,d),P.transition().ease(_.ease).duration(_.duration).attr(&quot;transform&quot;,d);var O=P.selectAll(&quot;.&quot;+_.cn.nodeLabelGuide).data(C);O.enter().append(&quot;path&quot;).classed(_.cn.nodeLabelGuide,!0).attr(&quot;id&quot;,function(t){return t.uniqueNodeLabelPathId}).attr(&quot;d&quot;,p).attr(&quot;transform&quot;,m),O.transition().ease(_.ease).duration(_.duration).attr(&quot;d&quot;,p).attr(&quot;transform&quot;,m);var F=P.selectAll(&quot;.&quot;+_.cn.nodeLabel).data(C);F.enter().append(&quot;text&quot;).classed(_.cn.nodeLabel,!0).attr(&quot;transform&quot;,g).style(&quot;user-select&quot;,&quot;none&quot;).style(&quot;cursor&quot;,&quot;default&quot;).style(&quot;fill&quot;,&quot;black&quot;),F.style(&quot;text-shadow&quot;,function(t){return t.horizontal?&quot;-1px 1px 1px #fff, 1px 1px 1px #fff, 1px -1px 1px #fff, -1px -1px 1px #fff&quot;:&quot;none&quot;}).each(function(t){A.font(F,t.textFont)}),F.transition().ease(_.ease).duration(_.duration).attr(&quot;transform&quot;,g);var R=F.selectAll(&quot;.&quot;+_.cn.nodeLabelTextPath).data(C);R.enter().append(&quot;textPath&quot;).classed(_.cn.nodeLabelTextPath,!0).attr(&quot;alignment-baseline&quot;,&quot;middle&quot;).attr(&quot;xlink:href&quot;,function(t){return&quot;#&quot;+t.uniqueNodeLabelPathId}).attr(&quot;startOffset&quot;,y).style(&quot;fill&quot;,v),R.text(function(t){return t.horizontal||t.node.dy&gt;5?t.node.label:&quot;&quot;}).attr(&quot;text-anchor&quot;,function(t){return t.horizontal&amp;&amp;t.left?&quot;end&quot;:&quot;start&quot;}),R.transition().ease(_.ease).duration(_.duration).attr(&quot;startOffset&quot;,y).style(&quot;fill&quot;,v)}},{&quot;../../components/color&quot;:618,&quot;../../components/drawing&quot;:643,&quot;../../lib&quot;:743,&quot;../../lib/gup&quot;:740,&quot;./constants&quot;:1060,&quot;@plotly/d3-sankey&quot;:41,d3:128,&quot;d3-force&quot;:124,tinycolor2:546}],1065:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib&quot;);e.exports=function(t,e){for(var r=0;r&lt;t.length;r++)t[r].i=r;n.mergeArray(e.text,t,&quot;tx&quot;),n.mergeArray(e.hovertext,t,&quot;htx&quot;),n.mergeArray(e.customdata,t,&quot;data&quot;),n.mergeArray(e.textposition,t,&quot;tp&quot;),e.textfont&amp;&amp;(n.mergeArray(e.textfont.size,t,&quot;ts&quot;),n.mergeArray(e.textfont.color,t,&quot;tc&quot;),n.mergeArray(e.textfont.family,t,&quot;tf&quot;));var i=e.marker;if(i){n.mergeArray(i.size,t,&quot;ms&quot;),n.mergeArray(i.opacity,t,&quot;mo&quot;),n.mergeArray(i.symbol,t,&quot;mx&quot;),n.mergeArray(i.color,t,&quot;mc&quot;);var a=i.line;i.line&amp;&amp;(n.mergeArray(a.color,t,&quot;mlc&quot;),n.mergeArray(a.width,t,&quot;mlw&quot;));var o=i.gradient;o&amp;&amp;&quot;none&quot;!==o.type&amp;&amp;(n.mergeArray(o.type,t,&quot;mgt&quot;),n.mergeArray(o.color,t,&quot;mgc&quot;))}}},{&quot;../../lib&quot;:743}],1066:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../components/colorscale/color_attributes&quot;),i=t(&quot;../../components/errorbars/attributes&quot;),a=t(&quot;../../components/colorbar/attributes&quot;),o=t(&quot;../../plots/font_attributes&quot;),s=t(&quot;../../components/drawing/attributes&quot;).dash,l=t(&quot;../../components/drawing&quot;),c=(t(&quot;./constants&quot;),t(&quot;../../lib/extend&quot;).extendFlat);e.exports={x:{valType:&quot;data_array&quot;,editType:&quot;calc+clearAxisTypes&quot;},x0:{valType:&quot;any&quot;,dflt:0,editType:&quot;calc+clearAxisTypes&quot;},dx:{valType:&quot;number&quot;,dflt:1,editType:&quot;calc&quot;},y:{valType:&quot;data_array&quot;,editType:&quot;calc+clearAxisTypes&quot;},y0:{valType:&quot;any&quot;,dflt:0,editType:&quot;calc+clearAxisTypes&quot;},dy:{valType:&quot;number&quot;,dflt:1,editType:&quot;calc&quot;},text:{valType:&quot;string&quot;,dflt:&quot;&quot;,arrayOk:!0,editType:&quot;calc&quot;},hovertext:{valType:&quot;string&quot;,dflt:&quot;&quot;,arrayOk:!0,editType:&quot;style&quot;},mode:{valType:&quot;flaglist&quot;,flags:[&quot;lines&quot;,&quot;markers&quot;,&quot;text&quot;],extras:[&quot;none&quot;],editType:&quot;calc&quot;},hoveron:{valType:&quot;flaglist&quot;,flags:[&quot;points&quot;,&quot;fills&quot;],editType:&quot;style&quot;},line:{color:{valType:&quot;color&quot;,editType:&quot;style&quot;},width:{valType:&quot;number&quot;,min:0,dflt:2,editType:&quot;style&quot;},shape:{valType:&quot;enumerated&quot;,values:[&quot;linear&quot;,&quot;spline&quot;,&quot;hv&quot;,&quot;vh&quot;,&quot;hvh&quot;,&quot;vhv&quot;],dflt:&quot;linear&quot;,editType:&quot;plot&quot;},smoothing:{valType:&quot;number&quot;,min:0,max:1.3,dflt:1,editType:&quot;plot&quot;},dash:c({},s,{editType:&quot;style&quot;}),simplify:{valType:&quot;boolean&quot;,dflt:!0,editType:&quot;plot&quot;},editType:&quot;plot&quot;},connectgaps:{valType:&quot;boolean&quot;,dflt:!1,editType:&quot;calc&quot;},cliponaxis:{valType:&quot;boolean&quot;,dflt:!0,editType:&quot;plot&quot;},fill:{valType:&quot;enumerated&quot;,values:[&quot;none&quot;,&quot;tozeroy&quot;,&quot;tozerox&quot;,&quot;tonexty&quot;,&quot;tonextx&quot;,&quot;toself&quot;,&quot;tonext&quot;],dflt:&quot;none&quot;,editType:&quot;calc&quot;},fillcolor:{valType:&quot;color&quot;,editType:&quot;style&quot;},marker:c({symbol:{valType:&quot;enumerated&quot;,values:l.symbolList,dflt:&quot;circle&quot;,arrayOk:!0,editType:&quot;style&quot;},opacity:{valType:&quot;number&quot;,min:0,max:1,arrayOk:!0,editType:&quot;style&quot;},size:{valType:&quot;number&quot;,min:0,dflt:6,arrayOk:!0,editType:&quot;calcIfAutorange&quot;},maxdisplayed:{valType:&quot;number&quot;,min:0,dflt:0,editType:&quot;plot&quot;},sizeref:{valType:&quot;number&quot;,dflt:1,editType:&quot;calc&quot;},sizemin:{valType:&quot;number&quot;,min:0,dflt:0,editType:&quot;calc&quot;},sizemode:{valType:&quot;enumerated&quot;,values:[&quot;diameter&quot;,&quot;area&quot;],dflt:&quot;diameter&quot;,editType:&quot;calc&quot;},showscale:{valType:&quot;boolean&quot;,dflt:!1,editType:&quot;calc&quot;},colorbar:a,line:c({width:{valType:&quot;number&quot;,min:0,arrayOk:!0,editType:&quot;style&quot;},editType:&quot;calc&quot;},n(&quot;marker.line&quot;)),gradient:{type:{valType:&quot;enumerated&quot;,values:[&quot;radial&quot;,&quot;horizontal&quot;,&quot;vertical&quot;,&quot;none&quot;],arrayOk:!0,dflt:&quot;none&quot;,editType:&quot;calc&quot;},color:{valType:&quot;color&quot;,arrayOk:!0,editType:&quot;calc&quot;},editType:&quot;calc&quot;},editType:&quot;calc&quot;},n(&quot;marker&quot;)),selected:{marker:{opacity:{valType:&quot;number&quot;,min:0,max:1,editType:&quot;style&quot;},color:{valType:&quot;color&quot;,editType:&quot;style&quot;},size:{valType:&quot;number&quot;,min:0,editType:&quot;style&quot;},editType:&quot;style&quot;},textfont:{color:{valType:&quot;color&quot;,editType:&quot;style&quot;},editType:&quot;style&quot;},editType:&quot;style&quot;},unselected:{marker:{opacity:{valType:&quot;number&quot;,min:0,max:1,editType:&quot;style&quot;},color:{valType:&quot;color&quot;,editType:&quot;style&quot;},size:{valType:&quot;number&quot;,min:0,editType:&quot;style&quot;},editType:&quot;style&quot;},textfont:{color:{valType:&quot;color&quot;,editType:&quot;style&quot;},editType:&quot;style&quot;},editType:&quot;style&quot;},textposition:{valType:&quot;enumerated&quot;,values:[&quot;top left&quot;,&quot;top center&quot;,&quot;top right&quot;,&quot;middle left&quot;,&quot;middle center&quot;,&quot;middle right&quot;,&quot;bottom left&quot;,&quot;bottom center&quot;,&quot;bottom right&quot;],dflt:&quot;middle center&quot;,arrayOk:!0,editType:&quot;calc&quot;},textfont:o({editType:&quot;calc&quot;,colorEditType:&quot;style&quot;,arrayOk:!0}),r:{valType:&quot;data_array&quot;,editType:&quot;calc&quot;},t:{valType:&quot;data_array&quot;,editType:&quot;calc&quot;},error_y:i,error_x:i}},{&quot;../../components/colorbar/attributes&quot;:619,&quot;../../components/colorscale/color_attributes&quot;:626,&quot;../../components/drawing&quot;:643,&quot;../../components/drawing/attributes&quot;:642,&quot;../../components/errorbars/attributes&quot;:645,&quot;../../lib/extend&quot;:732,&quot;../../plots/font_attributes&quot;:816,&quot;./constants&quot;:1072}],1067:[function(t,e,r){&quot;use strict&quot;;function n(t,e){if(s.hasMarkers(t)){var r,n=t.marker,i=1.6*(t.marker.sizeref||1);if(r=&quot;area&quot;===t.marker.sizemode?function(t){return Math.max(Math.sqrt((t||0)/i),3)}:function(t){return Math.max((t||0)/i,3)},Array.isArray(n.size)){var o={type:&quot;linear&quot;};a.setConvert(o);var l=o.makeCalcdata(t.marker,&quot;size&quot;);return l.length&gt;e&amp;&amp;l.splice(e,l.length-e),l.map(r)}return r(n.size)}}var i=t(&quot;fast-isnumeric&quot;),a=t(&quot;../../plots/cartesian/axes&quot;),o=t(&quot;../../constants/numerical&quot;).BADNUM,s=t(&quot;./subtypes&quot;),l=t(&quot;./colorscale_calc&quot;),c=t(&quot;./arrays_to_calcdata&quot;),u=t(&quot;./calc_selection&quot;);e.exports={calc:function(t,e){var r=a.getFromId(t,e.xaxis||&quot;x&quot;),f=a.getFromId(t,e.yaxis||&quot;y&quot;),h=r.makeCalcdata(e,&quot;x&quot;),d=f.makeCalcdata(e,&quot;y&quot;),p=Math.min(h.length,d.length);r._minDtick=0,f._minDtick=0,h.length&gt;p&amp;&amp;h.splice(p,h.length-p),d.length&gt;p&amp;&amp;d.splice(p,d.length-p);var m={padded:!0},g={padded:!0},v=n(e,p);v&amp;&amp;(m.ppad=g.ppad=v),!(&quot;tozerox&quot;===e.fill||&quot;tonextx&quot;===e.fill&amp;&amp;t.firstscatter)||h[0]===h[p-1]&amp;&amp;d[0]===d[p-1]?e.error_y.visible||-1===[&quot;tonexty&quot;,&quot;tozeroy&quot;].indexOf(e.fill)&amp;&amp;(s.hasMarkers(e)||s.hasText(e))||(m.padded=!1,m.ppad=0):m.tozero=!0,!(&quot;tozeroy&quot;===e.fill||&quot;tonexty&quot;===e.fill&amp;&amp;t.firstscatter)||h[0]===h[p-1]&amp;&amp;d[0]===d[p-1]?-1!==[&quot;tonextx&quot;,&quot;tozerox&quot;].indexOf(e.fill)&amp;&amp;(g.padded=!1):g.tozero=!0,a.expand(r,h,m),a.expand(f,d,g);for(var y=new Array(p),x=0;x&lt;p;x++)y[x]=i(h[x])&amp;&amp;i(d[x])?{x:h[x],y:d[x]}:{x:o,y:o},e.ids&amp;&amp;(y[x].id=String(e.ids[x]));return c(y,e),l(e),u(y,e),t.firstscatter=!1,y},calcMarkerSize:n}},{&quot;../../constants/numerical&quot;:721,&quot;../../plots/cartesian/axes&quot;:789,&quot;./arrays_to_calcdata&quot;:1065,&quot;./calc_selection&quot;:1068,&quot;./colorscale_calc&quot;:1071,&quot;./subtypes&quot;:1088,&quot;fast-isnumeric&quot;:140}],1068:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib&quot;);e.exports=function(t,e){Array.isArray(e.selectedpoints)&amp;&amp;n.tagSelected(t,e)}},{&quot;../../lib&quot;:743}],1069:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t){for(var e=0;e&lt;t.length;e++){var r=t[e];if(&quot;scatter&quot;===r.type){var n=r.fill;if(&quot;none&quot;!==n&amp;&amp;&quot;toself&quot;!==n&amp;&amp;(r.opacity=void 0,&quot;tonexty&quot;===n||&quot;tonextx&quot;===n))for(var i=e-1;i&gt;=0;i--){var a=t[i];if(&quot;scatter&quot;===a.type&amp;&amp;a.xaxis===r.xaxis&amp;&amp;a.yaxis===r.yaxis){a.opacity=void 0;break}}}}}},{}],1070:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;fast-isnumeric&quot;),i=t(&quot;../../lib&quot;),a=t(&quot;../../plots/plots&quot;),o=t(&quot;../../components/colorscale&quot;),s=t(&quot;../../components/colorbar/draw&quot;);e.exports=function(t,e){var r=e[0].trace,l=r.marker,c=&quot;cb&quot;+r.uid;if(t._fullLayout._infolayer.selectAll(&quot;.&quot;+c).remove(),void 0!==l&amp;&amp;l.showscale){var u=l.color,f=l.cmin,h=l.cmax;n(f)||(f=i.aggNums(Math.min,null,u)),n(h)||(h=i.aggNums(Math.max,null,u));var d=e[0].t.cb=s(t,c),p=o.makeColorScaleFunc(o.extractScale(l.colorscale,f,h),{noNumericCheck:!0});d.fillcolor(p).filllevels({start:f,end:h,size:(h-f)/254}).options(l.colorbar)()}else a.autoMargin(t,c)}},{&quot;../../components/colorbar/draw&quot;:622,&quot;../../components/colorscale&quot;:633,&quot;../../lib&quot;:743,&quot;../../plots/plots&quot;:852,&quot;fast-isnumeric&quot;:140}],1071:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../components/colorscale/has_colorscale&quot;),i=t(&quot;../../components/colorscale/calc&quot;),a=t(&quot;./subtypes&quot;);e.exports=function(t){a.hasLines(t)&amp;&amp;n(t,&quot;line&quot;)&amp;&amp;i(t,t.line.color,&quot;line&quot;,&quot;c&quot;),a.hasMarkers(t)&amp;&amp;(n(t,&quot;marker&quot;)&amp;&amp;i(t,t.marker.color,&quot;marker&quot;,&quot;c&quot;),n(t,&quot;marker.line&quot;)&amp;&amp;i(t,t.marker.line.color,&quot;marker.line&quot;,&quot;c&quot;))}},{&quot;../../components/colorscale/calc&quot;:625,&quot;../../components/colorscale/has_colorscale&quot;:632,&quot;./subtypes&quot;:1088}],1072:[function(t,e,r){&quot;use strict&quot;;e.exports={PTS_LINESONLY:20,minTolerance:.2,toleranceGrowth:10,maxScreensAway:20}},{}],1073:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib&quot;),i=t(&quot;./attributes&quot;),a=t(&quot;./constants&quot;),o=t(&quot;./subtypes&quot;),s=t(&quot;./xy_defaults&quot;),l=t(&quot;./marker_defaults&quot;),c=t(&quot;./line_defaults&quot;),u=t(&quot;./line_shape_defaults&quot;),f=t(&quot;./text_defaults&quot;),h=t(&quot;./fillcolor_defaults&quot;),d=t(&quot;../../components/errorbars/defaults&quot;);e.exports=function(t,e,r,p){function m(r,a){return n.coerce(t,e,i,r,a)}var g=s(t,e,p,m),v=g&lt;a.PTS_LINESONLY?&quot;lines+markers&quot;:&quot;lines&quot;;if(g){m(&quot;text&quot;),m(&quot;hovertext&quot;),m(&quot;mode&quot;,v),o.hasLines(e)&amp;&amp;(c(t,e,r,p,m),u(t,e,m),m(&quot;connectgaps&quot;),m(&quot;line.simplify&quot;)),o.hasMarkers(e)&amp;&amp;l(t,e,r,p,m,{gradient:!0}),o.hasText(e)&amp;&amp;f(t,e,p,m);var y=[];(o.hasMarkers(e)||o.hasText(e))&amp;&amp;(m(&quot;cliponaxis&quot;),m(&quot;marker.maxdisplayed&quot;),y.push(&quot;points&quot;)),m(&quot;fill&quot;),&quot;none&quot;!==e.fill&amp;&amp;(h(t,e,r,m),o.hasLines(e)||u(t,e,m)),&quot;tonext&quot;!==e.fill&amp;&amp;&quot;toself&quot;!==e.fill||y.push(&quot;fills&quot;),m(&quot;hoveron&quot;,y.join(&quot;+&quot;)||&quot;points&quot;),d(t,e,r,{axis:&quot;y&quot;}),d(t,e,r,{axis:&quot;x&quot;,inherit:&quot;y&quot;}),n.coerceSelectionMarkerOpacity(e,m)}else e.visible=!1}},{&quot;../../components/errorbars/defaults&quot;:648,&quot;../../lib&quot;:743,&quot;./attributes&quot;:1066,&quot;./constants&quot;:1072,&quot;./fillcolor_defaults&quot;:1075,&quot;./line_defaults&quot;:1079,&quot;./line_shape_defaults&quot;:1081,&quot;./marker_defaults&quot;:1084,&quot;./subtypes&quot;:1088,&quot;./text_defaults&quot;:1089,&quot;./xy_defaults&quot;:1090}],1074:[function(t,e,r){&quot;use strict&quot;;function n(t){return t||0===t}var i=t(&quot;../../lib&quot;);e.exports=function(t,e,r){var a=Array.isArray(r)?function(t){r.push(t)}:function(t){r.text=t},o=i.extractOption(t,e,&quot;htx&quot;,&quot;hovertext&quot;);if(n(o))return a(o);var s=i.extractOption(t,e,&quot;tx&quot;,&quot;text&quot;);return n(s)?a(s):void 0}},{&quot;../../lib&quot;:743}],1075:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../components/color&quot;);e.exports=function(t,e,r,i){var a=!1;if(e.marker){var o=e.marker.color,s=(e.marker.line||{}).color;o&amp;&amp;!Array.isArray(o)?a=o:s&amp;&amp;!Array.isArray(s)&amp;&amp;(a=s)}i(&quot;fillcolor&quot;,n.addOpacity((e.line||{}).color||a||r,.5))}},{&quot;../../components/color&quot;:618}],1076:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../components/color&quot;),i=t(&quot;./subtypes&quot;);e.exports=function(t,e){var r,a;if(&quot;lines&quot;===t.mode)return(r=t.line.color)&amp;&amp;n.opacity(r)?r:t.fillcolor;if(&quot;none&quot;===t.mode)return t.fill?t.fillcolor:&quot;&quot;;var o=e.mcc||(t.marker||{}).color,s=e.mlcc||((t.marker||{}).line||{}).color;return(a=o&amp;&amp;n.opacity(o)?o:s&amp;&amp;n.opacity(s)&amp;&amp;(e.mlw||((t.marker||{}).line||{}).width)?s:&quot;&quot;)?n.opacity(a)&lt;.3?n.addOpacity(a,.3):a:(r=(t.line||{}).color)&amp;&amp;n.opacity(r)&amp;&amp;i.hasLines(t)&amp;&amp;t.line.width?r:t.fillcolor}},{&quot;../../components/color&quot;:618,&quot;./subtypes&quot;:1088}],1077:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib&quot;),i=t(&quot;../../components/fx&quot;),a=t(&quot;../../components/errorbars&quot;),o=t(&quot;./get_trace_color&quot;),s=t(&quot;../../components/color&quot;),l=t(&quot;./fill_hover_text&quot;),c=i.constants.MAXDIST;e.exports=function(t,e,r,u){var f=t.cd,h=f[0].trace,d=t.xa,p=t.ya,m=d.c2p(e),g=p.c2p(r),v=[m,g],y=h.hoveron||&quot;&quot;,x=-1!==h.mode.indexOf(&quot;markers&quot;)?3:.5;if(-1!==y.indexOf(&quot;points&quot;)){var b=function(t){var e=Math.max(3,t.mrc||0),r=1-1/e,n=Math.abs(d.c2p(t.x)-m);return n&lt;e?r*n/e:n-e+r},_=function(t){var e=Math.max(3,t.mrc||0),r=1-1/e,n=Math.abs(p.c2p(t.y)-g);return n&lt;e?r*n/e:n-e+r},w=function(t){var e=Math.max(x,t.mrc||0),r=d.c2p(t.x)-m,n=p.c2p(t.y)-g;return Math.max(Math.sqrt(r*r+n*n)-e,1-x/e)},M=i.getDistanceFunction(u,b,_,w);if(i.getClosest(f,M,t),!1!==t.index){var k=f[t.index],A=d.c2p(k.x,!0),T=p.c2p(k.y,!0),S=k.mrc||1;return n.extendFlat(t,{color:o(h,k),x0:A-S,x1:A+S,xLabelVal:k.x,y0:T-S,y1:T+S,yLabelVal:k.y,kink:Math.max(x,k.mrc||0)}),l(k,h,t),a.hoverInfo(k,h,t),[t]}}if(-1!==y.indexOf(&quot;fills&quot;)&amp;&amp;h._polygons){var E,L,C,z,D,I,P,O,F,R=h._polygons,N=[],j=!1,B=1/0,U=-1/0,V=1/0,q=-1/0;for(E=0;E&lt;R.length;E++)(C=R[E]).contains(v)&amp;&amp;(j=!j,N.push(C),V=Math.min(V,C.ymin),q=Math.max(q,C.ymax));if(j){var H=((V=Math.max(V,0))+(q=Math.min(q,p._length)))/2;for(E=0;E&lt;N.length;E++)for(z=N[E].pts,L=1;L&lt;z.length;L++)(O=z[L-1][1])&gt;H!=(F=z[L][1])&gt;=H&amp;&amp;(I=z[L-1][0],P=z[L][0],F-O&amp;&amp;(D=I+(P-I)*(H-O)/(F-O),B=Math.min(B,D),U=Math.max(U,D)));B=Math.max(B,0),U=Math.min(U,d._length);var G=s.defaultLine;return s.opacity(h.fillcolor)?G=h.fillcolor:s.opacity((h.line||{}).color)&amp;&amp;(G=h.line.color),n.extendFlat(t,{distance:c+10,x0:B,x1:U,y0:H,y1:H,color:G}),delete t.index,h.text&amp;&amp;!Array.isArray(h.text)?t.text=String(h.text):t.text=h.name,[t]}}}},{&quot;../../components/color&quot;:618,&quot;../../components/errorbars&quot;:649,&quot;../../components/fx&quot;:660,&quot;../../lib&quot;:743,&quot;./fill_hover_text&quot;:1074,&quot;./get_trace_color&quot;:1076}],1078:[function(t,e,r){&quot;use strict&quot;;var n={},i=t(&quot;./subtypes&quot;);n.hasLines=i.hasLines,n.hasMarkers=i.hasMarkers,n.hasText=i.hasText,n.isBubble=i.isBubble,n.attributes=t(&quot;./attributes&quot;),n.supplyDefaults=t(&quot;./defaults&quot;),n.cleanData=t(&quot;./clean_data&quot;),n.calc=t(&quot;./calc&quot;).calc,n.arraysToCalcdata=t(&quot;./arrays_to_calcdata&quot;),n.plot=t(&quot;./plot&quot;),n.colorbar=t(&quot;./colorbar&quot;),n.style=t(&quot;./style&quot;).style,n.hoverPoints=t(&quot;./hover&quot;),n.selectPoints=t(&quot;./select&quot;),n.animatable=!0,n.moduleType=&quot;trace&quot;,n.name=&quot;scatter&quot;,n.basePlotModule=t(&quot;../../plots/cartesian&quot;),n.categories=[&quot;cartesian&quot;,&quot;symbols&quot;,&quot;markerColorscale&quot;,&quot;errorBarsOK&quot;,&quot;showLegend&quot;,&quot;scatter-like&quot;],n.meta={},e.exports=n},{&quot;../../plots/cartesian&quot;:800,&quot;./arrays_to_calcdata&quot;:1065,&quot;./attributes&quot;:1066,&quot;./calc&quot;:1067,&quot;./clean_data&quot;:1069,&quot;./colorbar&quot;:1070,&quot;./defaults&quot;:1073,&quot;./hover&quot;:1077,&quot;./plot&quot;:1085,&quot;./select&quot;:1086,&quot;./style&quot;:1087,&quot;./subtypes&quot;:1088}],1079:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../components/colorscale/has_colorscale&quot;),i=t(&quot;../../components/colorscale/defaults&quot;);e.exports=function(t,e,r,a,o,s){var l=(t.marker||{}).color;if(o(&quot;line.color&quot;,r),n(t,&quot;line&quot;))i(t,e,a,o,{prefix:&quot;line.&quot;,cLetter:&quot;c&quot;});else{o(&quot;line.color&quot;,!Array.isArray(l)&amp;&amp;l||r)}o(&quot;line.width&quot;),(s||{}).noDash||o(&quot;line.dash&quot;)}},{&quot;../../components/colorscale/defaults&quot;:628,&quot;../../components/colorscale/has_colorscale&quot;:632}],1080:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../constants/numerical&quot;).BADNUM,i=t(&quot;../../lib&quot;),a=i.segmentsIntersect,o=i.constrain,s=t(&quot;./constants&quot;);e.exports=function(t,e){function r(e){var r=t[e],i=P.c2p(r.x),a=O.c2p(r.y);return i===n||a===n?r.intoCenter||!1:[i,a]}function l(t){var e=t[0]/P._length,r=t[1]/O._length;return(1+s.toleranceGrowth*Math.max(0,-e,e-1,-r,r-1))*N}function c(t,e){var r=t[0]-e[0],n=t[1]-e[1];return Math.sqrt(r*r+n*n)}function u(t,e){for(var r=[],n=0,i=0;i&lt;4;i++){var o=nt[i],s=a(t[0],t[1],e[0],e[1],o[0],o[1],o[2],o[3]);s&amp;&amp;(!n||Math.abs(s.x-r[0][0])&gt;1||Math.abs(s.y-r[0][1])&gt;1)&amp;&amp;(s=[s.x,s.y],n&amp;&amp;c(s,t)&lt;c(r[0],t)?r.unshift(s):r.push(s),n++)}return r}function f(t){if(t[0]&lt;$||t[0]&gt;tt||t[1]&lt;et||t[1]&gt;rt)return[o(t[0],$,tt),o(t[1],et,rt)]}function h(t,e){return t[0]===e[0]&amp;&amp;(t[0]===$||t[0]===tt)||(t[1]===e[1]&amp;&amp;(t[1]===et||t[1]===rt)||void 0)}function d(t,e){var r=[],n=f(t),i=f(e);return n&amp;&amp;i&amp;&amp;h(n,i)?r:(n&amp;&amp;r.push(n),i&amp;&amp;r.push(i),r)}function p(t,e,r){return function(n,a){var o=f(n),s=f(a),l=[];if(o&amp;&amp;s&amp;&amp;h(o,s))return l;o&amp;&amp;l.push(o),s&amp;&amp;l.push(s);var c=2*i.constrain((n[t]+a[t])/2,e,r)-((o||n)[t]+(s||a)[t]);if(c){(o&amp;&amp;s?c&gt;0==o[t]&gt;s[t]?o:s:o||s)[t]+=c}return l}}function m(t){var e=t[0],r=t[1],n=e===q[H-1][0],i=r===q[H-1][1];if(!n||!i)if(H&gt;1){var a=e===q[H-2][0],o=r===q[H-2][1];n&amp;&amp;(e===$||e===tt)&amp;&amp;a?o?H--:q[H-1]=t:i&amp;&amp;(r===et||r===rt)&amp;&amp;o?a?H--:q[H-1]=t:q[H++]=t}else q[H++]=t}function g(t){q[H-1][0]!==t[0]&amp;&amp;q[H-1][1]!==t[1]&amp;&amp;m([W,X]),m(t),Z=null,W=X=0}function v(t){if(G=t[0]&lt;$?$:t[0]&gt;tt?tt:0,Y=t[1]&lt;et?et:t[1]&gt;rt?rt:0,G||Y){if(H)if(Z){var e=K(Z,t);e.length&gt;1&amp;&amp;(g(e[0]),q[H++]=e[1])}else J=K(q[H-1],t)[0],q[H++]=J;else q[H++]=[G||t[0],Y||t[1]];var r=q[H-1];G&amp;&amp;Y&amp;&amp;(r[0]!==G||r[1]!==Y)?(Z&amp;&amp;(W!==G&amp;&amp;X!==Y?m(W&amp;&amp;X?function(t,e){var r=e[0]-t[0],n=(e[1]-t[1])/r;return(t[1]*e[0]-e[1]*t[0])/r&gt;0?[n&gt;0?$:tt,rt]:[n&gt;0?tt:$,et]}(Z,t):[W||G,X||Y]):W&amp;&amp;X&amp;&amp;m([W,X])),m([G,Y])):W-G&amp;&amp;X-Y&amp;&amp;m([G||W,Y||X]),Z=t,W=G,X=Y}else Z&amp;&amp;g(K(Z,t)[0]),q[H++]=t}var y,x,b,_,w,M,k,A,T,S,E,L,C,z,D,I,P=e.xaxis,O=e.yaxis,F=e.simplify,R=e.connectGaps,N=e.baseTolerance,j=e.shape,B=&quot;linear&quot;===j,U=[],V=s.minTolerance,q=new Array(t.length),H=0;F||(N=V=-1);var G,Y,W,X,Z,J,K,Q=s.maxScreensAway,$=-P._length*Q,tt=P._length*(1+Q),et=-O._length*Q,rt=O._length*(1+Q),nt=[[$,et,tt,et],[tt,et,tt,rt],[tt,rt,$,rt],[$,rt,$,et]];for(&quot;linear&quot;===j||&quot;spline&quot;===j?K=u:&quot;hv&quot;===j||&quot;vh&quot;===j?K=d:&quot;hvh&quot;===j?K=p(0,$,tt):&quot;vhv&quot;===j&amp;&amp;(K=p(1,et,rt)),y=0;y&lt;t.length;y++)if(x=r(y)){for(H=0,Z=null,v(x),y++;y&lt;t.length;y++){if(!(_=r(y))){if(R)continue;break}if(B){if(!((S=c(_,x))&lt;l(_)*V)){for(A=[(_[0]-x[0])/S,(_[1]-x[1])/S],w=x,E=S,L=z=D=0,k=!1,b=_,y++;y&lt;t.length;y++){if(!(M=r(y))){if(R)continue;break}if(T=[M[0]-x[0],M[1]-x[1]],I=T[0]*A[1]-T[1]*A[0],z=Math.min(z,I),(D=Math.max(D,I))-z&gt;l(M))break;b=M,(C=T[0]*A[0]+T[1]*A[1])&gt;E?(E=C,_=M,k=!1):C&lt;L&amp;&amp;(L=C,w=M,k=!0)}if(k?(v(_),b!==w&amp;&amp;v(w)):(w!==x&amp;&amp;v(w),b!==_&amp;&amp;v(_)),v(b),y&gt;=t.length||!M)break;v(M),x=M}}else v(_)}Z&amp;&amp;m([W||Z[0],X||Z[1]]),U.push(q.slice(0,H))}return U}},{&quot;../../constants/numerical&quot;:721,&quot;../../lib&quot;:743,&quot;./constants&quot;:1072}],1081:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t,e,r){&quot;spline&quot;===r(&quot;line.shape&quot;)&amp;&amp;r(&quot;line.smoothing&quot;)}},{}],1082:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t,e,r){var n,i,a=null;for(i=0;i&lt;r.length;++i)!0===(n=r[i][0].trace).visible?(n._nexttrace=null,-1!==[&quot;tonextx&quot;,&quot;tonexty&quot;,&quot;tonext&quot;].indexOf(n.fill)&amp;&amp;(n._prevtrace=a,a&amp;&amp;(a._nexttrace=n)),a=n):n._prevtrace=n._nexttrace=null}},{}],1083:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;fast-isnumeric&quot;);e.exports=function(t){var e=t.marker,r=e.sizeref||1,i=e.sizemin||0,a=&quot;area&quot;===e.sizemode?function(t){return Math.sqrt(t/r)}:function(t){return t/r};return function(t){var e=a(t/2);return n(e)&amp;&amp;e&gt;0?Math.max(e,i):0}}},{&quot;fast-isnumeric&quot;:140}],1084:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../components/color&quot;),i=t(&quot;../../components/colorscale/has_colorscale&quot;),a=t(&quot;../../components/colorscale/defaults&quot;),o=t(&quot;./subtypes&quot;);e.exports=function(t,e,r,s,l,c){var u=o.isBubble(t),f=(t.line||{}).color;if(c=c||{},f&amp;&amp;(r=f),l(&quot;marker.symbol&quot;),l(&quot;marker.opacity&quot;,u?.7:1),l(&quot;marker.size&quot;),l(&quot;marker.color&quot;,r),i(t,&quot;marker&quot;)&amp;&amp;a(t,e,s,l,{prefix:&quot;marker.&quot;,cLetter:&quot;c&quot;}),c.noSelect||(l(&quot;selected.marker.color&quot;),l(&quot;unselected.marker.color&quot;),l(&quot;selected.marker.size&quot;),l(&quot;unselected.marker.size&quot;)),c.noLine||(l(&quot;marker.line.color&quot;,f&amp;&amp;!Array.isArray(f)&amp;&amp;e.marker.color!==f?f:u?n.background:n.defaultLine),i(t,&quot;marker.line&quot;)&amp;&amp;a(t,e,s,l,{prefix:&quot;marker.line.&quot;,cLetter:&quot;c&quot;}),l(&quot;marker.line.width&quot;,u?1:0)),u&amp;&amp;(l(&quot;marker.sizeref&quot;),l(&quot;marker.sizemin&quot;),l(&quot;marker.sizemode&quot;)),c.gradient){&quot;none&quot;!==l(&quot;marker.gradient.type&quot;)&amp;&amp;l(&quot;marker.gradient.color&quot;)}}},{&quot;../../components/color&quot;:618,&quot;../../components/colorscale/defaults&quot;:628,&quot;../../components/colorscale/has_colorscale&quot;:632,&quot;./subtypes&quot;:1088}],1085:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,n,u,h,d){function p(t){return w?t.transition():t}function m(t){p(t).attr(&quot;d&quot;,&quot;M0,0Z&quot;)}function g(t){return t.filter(function(t){return t.vis})}function v(t){return t.id}function y(){return!1}function x(e){var n,s,c=e[0].trace,u=i.select(this),f=l.hasMarkers(c),h=l.hasText(c),d=function(t){if(t.ids)return v}(c),m=y,x=y;f&amp;&amp;(m=c.marker.maxdisplayed||c._needsCull?g:a.identity),h&amp;&amp;(x=c.marker.maxdisplayed||c._needsCull?g:a.identity);var b=(n=u.selectAll(&quot;path.point&quot;).data(m,d)).enter().append(&quot;path&quot;).classed(&quot;point&quot;,!0);w&amp;&amp;b.call(o.pointStyle,c,t).call(o.translatePoints,M,k).style(&quot;opacity&quot;,0).transition().style(&quot;opacity&quot;,1);var _=f&amp;&amp;o.tryColorscale(c.marker,&quot;&quot;),A=f&amp;&amp;o.tryColorscale(c.marker,&quot;line&quot;);n.order(),n.each(function(e){var n=i.select(this),a=p(n);(s=o.translatePoint(e,a,M,k))?(o.singlePointStyle(e,a,c,_,A,t),r.layerClipId&amp;&amp;o.hideOutsideRangePoint(e,a,M,k,c.xcalendar,c.ycalendar),c.customdata&amp;&amp;n.classed(&quot;plotly-customdata&quot;,null!==e.data&amp;&amp;void 0!==e.data)):a.remove()}),w?n.exit().transition().style(&quot;opacity&quot;,0).remove():n.exit().remove(),(n=u.selectAll(&quot;g&quot;).data(x,d)).enter().append(&quot;g&quot;).classed(&quot;textpoint&quot;,!0).append(&quot;text&quot;),n.order(),n.each(function(t){var e=i.select(this),n=p(e.select(&quot;text&quot;));(s=o.translatePoint(t,n,M,k))?r.layerClipId&amp;&amp;o.hideOutsideRangePoint(t,e,M,k,c.xcalendar,c.ycalendar):e.remove()}),n.selectAll(&quot;text&quot;).call(o.textPointStyle,c,t).each(function(t){var e=M.c2p(t.x),r=k.c2p(t.y);i.select(this).selectAll(&quot;tspan.line&quot;).each(function(){p(i.select(this)).attr({x:e,y:r})})}),n.exit().remove()}var b,_;!function(t,e,r,n,o){var s=r.xaxis,c=r.yaxis,u=i.extent(a.simpleMap(s.range,s.r2c)),f=i.extent(a.simpleMap(c.range,c.r2c)),h=n[0].trace;if(!l.hasMarkers(h))return;var d=h.marker.maxdisplayed;if(0===d)return;var p=n.filter(function(t){return t.x&gt;=u[0]&amp;&amp;t.x&lt;=u[1]&amp;&amp;t.y&gt;=f[0]&amp;&amp;t.y&lt;=f[1]}),m=Math.ceil(p.length/d),g=0;o.forEach(function(t,r){var n=t[0].trace;l.hasMarkers(n)&amp;&amp;n.marker.maxdisplayed&gt;0&amp;&amp;r&lt;e&amp;&amp;g++});var v=Math.round(g*m/3+Math.floor(g/3)*m/7.1);n.forEach(function(t){delete t.vis}),p.forEach(function(t,e){0===Math.round((e+v)%m)&amp;&amp;(t.vis=!0)})}(0,e,r,n,u);var w=!!d&amp;&amp;d.duration&gt;0,M=r.xaxis,k=r.yaxis,A=n[0].trace,T=A.line,S=i.select(h);if(S.call(s.plot,r,d),!0===A.visible){p(S).style(&quot;opacity&quot;,A.opacity);var E,L,C=A.fill.charAt(A.fill.length-1);&quot;x&quot;!==C&amp;&amp;&quot;y&quot;!==C&amp;&amp;(C=&quot;&quot;),n[0].node3=S;var z=&quot;&quot;,D=[],I=A._prevtrace;I&amp;&amp;(z=I._prevRevpath||&quot;&quot;,L=I._nextFill,D=I._polygons);var P,O,F,R,N,j,B,U,V,q=&quot;&quot;,H=&quot;&quot;,G=[],Y=a.noop;if(E=A._ownFill,l.hasLines(A)||&quot;none&quot;!==A.fill){for(L&amp;&amp;L.datum(n),-1!==[&quot;hv&quot;,&quot;vh&quot;,&quot;hvh&quot;,&quot;vhv&quot;].indexOf(T.shape)?(F=o.steps(T.shape),R=o.steps(T.shape.split(&quot;&quot;).reverse().join(&quot;&quot;))):F=R=&quot;spline&quot;===T.shape?function(t){var e=t[t.length-1];return t.length&gt;1&amp;&amp;t[0][0]===e[0]&amp;&amp;t[0][1]===e[1]?o.smoothclosed(t.slice(1),T.smoothing):o.smoothopen(t,T.smoothing)}:function(t){return&quot;M&quot;+t.join(&quot;L&quot;)},N=function(t){return R(t.reverse())},G=c(n,{xaxis:M,yaxis:k,connectGaps:A.connectgaps,baseTolerance:Math.max(T.width||1,3)/4,shape:T.shape,simplify:T.simplify}),V=A._polygons=new Array(G.length),_=0;_&lt;G.length;_++)A._polygons[_]=f(G[_]);G.length&amp;&amp;(j=G[0][0],U=(B=G[G.length-1])[B.length-1]),Y=function(t){return function(e){if(P=F(e),O=N(e),q?C?(q+=&quot;L&quot;+P.substr(1),H=O+&quot;L&quot;+H.substr(1)):(q+=&quot;Z&quot;+P,H=O+&quot;Z&quot;+H):(q=P,H=O),l.hasLines(A)&amp;&amp;e.length&gt;1){var r=i.select(this);if(r.datum(n),t)p(r.style(&quot;opacity&quot;,0).attr(&quot;d&quot;,P).call(o.lineGroupStyle)).style(&quot;opacity&quot;,1);else{var a=p(r);a.attr(&quot;d&quot;,P),o.singleLineStyle(n,a)}}}}}var W=S.selectAll(&quot;.js-line&quot;).data(G);p(W.exit()).style(&quot;opacity&quot;,0).remove(),W.each(Y(!1)),W.enter().append(&quot;path&quot;).classed(&quot;js-line&quot;,!0).style(&quot;vector-effect&quot;,&quot;non-scaling-stroke&quot;).call(o.lineGroupStyle).each(Y(!0)),o.setClipUrl(W,r.layerClipId),G.length?(E?j&amp;&amp;U&amp;&amp;(C?(&quot;y&quot;===C?j[1]=U[1]=k.c2p(0,!0):&quot;x&quot;===C&amp;&amp;(j[0]=U[0]=M.c2p(0,!0)),p(E).attr(&quot;d&quot;,&quot;M&quot;+U+&quot;L&quot;+j+&quot;L&quot;+q.substr(1)).call(o.singleFillStyle)):p(E).attr(&quot;d&quot;,q+&quot;Z&quot;).call(o.singleFillStyle)):L&amp;&amp;(&quot;tonext&quot;===A.fill.substr(0,6)&amp;&amp;q&amp;&amp;z?(&quot;tonext&quot;===A.fill?p(L).attr(&quot;d&quot;,q+&quot;Z&quot;+z+&quot;Z&quot;).call(o.singleFillStyle):p(L).attr(&quot;d&quot;,q+&quot;L&quot;+z.substr(1)+&quot;Z&quot;).call(o.singleFillStyle),A._polygons=A._polygons.concat(D)):(m(L),A._polygons=null)),A._prevRevpath=H,A._prevPolygons=V):(E?m(E):L&amp;&amp;m(L),A._polygons=A._prevRevpath=A._prevPolygons=null);var X=S.selectAll(&quot;.points&quot;);b=X.data([n]),X.each(x),b.enter().append(&quot;g&quot;).classed(&quot;points&quot;,!0).each(x),b.exit().remove(),b.each(function(t){var e=!1===t[0].trace.cliponaxis;o.setClipUrl(i.select(this),e?null:r.layerClipId)})}}var i=t(&quot;d3&quot;),a=t(&quot;../../lib&quot;),o=t(&quot;../../components/drawing&quot;),s=t(&quot;../../components/errorbars&quot;),l=t(&quot;./subtypes&quot;),c=t(&quot;./line_points&quot;),u=t(&quot;./link_traces&quot;),f=t(&quot;../../lib/polygon&quot;).tester;e.exports=function(t,e,r,a,s){var l,c,f,h,d=e.plot.select(&quot;g.scatterlayer&quot;),p=!a,m=!!a&amp;&amp;a.duration&gt;0;for((f=d.selectAll(&quot;g.trace&quot;).data(r,function(t){return t[0].trace.uid})).enter().append(&quot;g&quot;).attr(&quot;class&quot;,function(t){return&quot;trace scatter trace&quot;+t[0].trace.uid}).style(&quot;stroke-miterlimit&quot;,2),u(t,e,r),function(t,e,r){var n;e.selectAll(&quot;g.trace&quot;).each(function(t){var e=i.select(this);if((n=t[0].trace)._nexttrace){if(n._nextFill=e.select(&quot;.js-fill.js-tonext&quot;),!n._nextFill.size()){var a=&quot;:first-child&quot;;e.select(&quot;.js-fill.js-tozero&quot;).size()&amp;&amp;(a+=&quot; + *&quot;),n._nextFill=e.insert(&quot;path&quot;,a).attr(&quot;class&quot;,&quot;js-fill js-tonext&quot;)}}else e.selectAll(&quot;.js-fill.js-tonext&quot;).remove(),n._nextFill=null;n.fill&amp;&amp;(&quot;tozero&quot;===n.fill.substr(0,6)||&quot;toself&quot;===n.fill||&quot;to&quot;===n.fill.substr(0,2)&amp;&amp;!n._prevtrace)?(n._ownFill=e.select(&quot;.js-fill.js-tozero&quot;),n._ownFill.size()||(n._ownFill=e.insert(&quot;path&quot;,&quot;:first-child&quot;).attr(&quot;class&quot;,&quot;js-fill js-tozero&quot;))):(e.selectAll(&quot;.js-fill.js-tozero&quot;).remove(),n._ownFill=null),e.selectAll(&quot;.js-fill&quot;).call(o.setClipUrl,r.layerClipId)})}(0,d,e),l=0,c={};l&lt;r.length;l++)c[r[l][0].trace.uid]=l;if(d.selectAll(&quot;g.trace&quot;).sort(function(t,e){return c[t[0].trace.uid]&gt;c[e[0].trace.uid]?1:-1}),m){s&amp;&amp;(h=s());i.transition().duration(a.duration).ease(a.easing).each(&quot;end&quot;,function(){h&amp;&amp;h()}).each(&quot;interrupt&quot;,function(){h&amp;&amp;h()}).each(function(){d.selectAll(&quot;g.trace&quot;).each(function(i,o){n(t,o,e,i,r,this,a)})})}else d.selectAll(&quot;g.trace&quot;).each(function(i,o){n(t,o,e,i,r,this,a)});p&amp;&amp;f.exit().remove(),d.selectAll(&quot;path:not([d])&quot;).remove()}},{&quot;../../components/drawing&quot;:643,&quot;../../components/errorbars&quot;:649,&quot;../../lib&quot;:743,&quot;../../lib/polygon&quot;:755,&quot;./line_points&quot;:1080,&quot;./link_traces&quot;:1082,&quot;./subtypes&quot;:1088,d3:128}],1086:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;./subtypes&quot;);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)&amp;&amp;!n.hasText(f))return[];if(!1===e)for(r=0;r&lt;s.length;r++)s[r].selected=0;else for(r=0;r&lt;s.length;r++)i=s[r],a=l.c2p(i.x),o=c.c2p(i.y),e.contains([a,o])?(u.push({pointNumber:r,x:l.c2d(i.x),y:c.c2d(i.y)}),i.selected=1):i.selected=0;return u}},{&quot;./subtypes&quot;:1088}],1087:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r){var n=t.selectAll(&quot;path.point&quot;),i=t.selectAll(&quot;text&quot;);a.pointStyle(n,e,r),a.textPointStyle(i,e,r),a.selectedPointStyle(n,e),a.selectedTextStyle(i,e)}var i=t(&quot;d3&quot;),a=t(&quot;../../components/drawing&quot;),o=t(&quot;../../components/errorbars&quot;);e.exports={style:function(t,e){var r=e?e[0].node3:i.select(t).selectAll(&quot;g.trace.scatter&quot;);r.style(&quot;opacity&quot;,function(t){return t[0].trace.opacity}),r.selectAll(&quot;g.points&quot;).each(function(e){n(i.select(this),e.trace||e[0].trace,t)}),r.selectAll(&quot;g.trace path.js-line&quot;).call(a.lineGroupStyle),r.selectAll(&quot;g.trace path.js-fill&quot;).call(a.fillGroupStyle),r.call(o.style)},stylePoints:n}},{&quot;../../components/drawing&quot;:643,&quot;../../components/errorbars&quot;:649,d3:128}],1088:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib&quot;);e.exports={hasLines:function(t){return t.visible&amp;&amp;t.mode&amp;&amp;-1!==t.mode.indexOf(&quot;lines&quot;)},hasMarkers:function(t){return t.visible&amp;&amp;t.mode&amp;&amp;-1!==t.mode.indexOf(&quot;markers&quot;)},hasText:function(t){return t.visible&amp;&amp;t.mode&amp;&amp;-1!==t.mode.indexOf(&quot;text&quot;)},isBubble:function(t){return n.isPlainObject(t.marker)&amp;&amp;Array.isArray(t.marker.size)}}},{&quot;../../lib&quot;:743}],1089:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib&quot;);e.exports=function(t,e,r,i,a){a=a||{},i(&quot;textposition&quot;),n.coerceFont(i,&quot;textfont&quot;,r.font),a.noSelect||(i(&quot;selected.textfont.color&quot;),i(&quot;unselected.textfont.color&quot;))}},{&quot;../../lib&quot;:743}],1090:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../registry&quot;);e.exports=function(t,e,r,i){var a,o=i(&quot;x&quot;),s=i(&quot;y&quot;);if(n.getComponentMethod(&quot;calendars&quot;,&quot;handleTraceDefaults&quot;)(t,e,[&quot;x&quot;,&quot;y&quot;],r),o)s?((a=Math.min(o.length,s.length))&lt;o.length&amp;&amp;(e.x=o.slice(0,a)),a&lt;s.length&amp;&amp;(e.y=s.slice(0,a))):(a=o.length,i(&quot;y0&quot;),i(&quot;dy&quot;));else{if(!s)return 0;a=e.y.length,i(&quot;x0&quot;),i(&quot;dx&quot;)}return a}},{&quot;../../registry&quot;:873}],1091:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../scatter/attributes&quot;),i=t(&quot;../../components/colorscale/color_attributes&quot;),a=t(&quot;../../components/errorbars/attributes&quot;),o=t(&quot;../../constants/gl3d_dashes&quot;),s=t(&quot;../../constants/gl3d_markers&quot;),l=t(&quot;../../lib/extend&quot;).extendFlat,c=t(&quot;../../plot_api/edit_types&quot;).overrideAll,u=n.line,f=n.marker,h=f.line,d=e.exports=c({x:n.x,y:n.y,z:{valType:&quot;data_array&quot;},text:l({},n.text,{}),hovertext:l({},n.hovertext,{}),mode:l({},n.mode,{dflt:&quot;lines+markers&quot;}),surfaceaxis:{valType:&quot;enumerated&quot;,values:[-1,0,1,2],dflt:-1},surfacecolor:{valType:&quot;color&quot;},projection:{x:{show:{valType:&quot;boolean&quot;,dflt:!1},opacity:{valType:&quot;number&quot;,min:0,max:1,dflt:1},scale:{valType:&quot;number&quot;,min:0,max:10,dflt:2/3}},y:{show:{valType:&quot;boolean&quot;,dflt:!1},opacity:{valType:&quot;number&quot;,min:0,max:1,dflt:1},scale:{valType:&quot;number&quot;,min:0,max:10,dflt:2/3}},z:{show:{valType:&quot;boolean&quot;,dflt:!1},opacity:{valType:&quot;number&quot;,min:0,max:1,dflt:1},scale:{valType:&quot;number&quot;,min:0,max:10,dflt:2/3}}},connectgaps:n.connectgaps,line:l({width:u.width,dash:{valType:&quot;enumerated&quot;,values:Object.keys(o),dflt:&quot;solid&quot;},showscale:{valType:&quot;boolean&quot;,dflt:!1}},i(&quot;line&quot;)),marker:l({symbol:{valType:&quot;enumerated&quot;,values:Object.keys(s),dflt:&quot;circle&quot;,arrayOk:!0},size:l({},f.size,{dflt:8}),sizeref:f.sizeref,sizemin:f.sizemin,sizemode:f.sizemode,opacity:l({},f.opacity,{arrayOk:!1}),showscale:f.showscale,colorbar:f.colorbar,line:l({width:l({},h.width,{arrayOk:!1})},i(&quot;marker.line&quot;))},i(&quot;marker&quot;)),textposition:l({},n.textposition,{dflt:&quot;top center&quot;}),textfont:n.textfont,error_x:a,error_y:a,error_z:a},&quot;calc&quot;,&quot;nested&quot;);d.x.editType=d.y.editType=d.z.editType=&quot;calc+clearAxisTypes&quot;},{&quot;../../components/colorscale/color_attributes&quot;:626,&quot;../../components/errorbars/attributes&quot;:645,&quot;../../constants/gl3d_dashes&quot;:718,&quot;../../constants/gl3d_markers&quot;:719,&quot;../../lib/extend&quot;:732,&quot;../../plot_api/edit_types&quot;:773,&quot;../scatter/attributes&quot;:1066}],1092:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../scatter/arrays_to_calcdata&quot;),i=t(&quot;../scatter/colorscale_calc&quot;);e.exports=function(t,e){var r=[{x:!1,y:!1,trace:e,t:{}}];return n(r,e),i(e),r}},{&quot;../scatter/arrays_to_calcdata&quot;:1065,&quot;../scatter/colorscale_calc&quot;:1071}],1093:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r){if(!e||!e.visible)return null;for(var n=i(e),a=new Array(t.length),o=0;o&lt;t.length;o++){var s=n(+t[o],o);a[o]=[-s[0]*r,s[1]*r]}return a}var i=t(&quot;../../components/errorbars/compute_error&quot;);e.exports=function(t,e){var r=[n(t.x,t.error_x,e[0]),n(t.y,t.error_y,e[1]),n(t.z,t.error_z,e[2])],i=function(t){for(var e=0;e&lt;t.length;e++)if(t[e])return t[e].length;return 0}(r);if(0===i)return null;for(var a=new Array(i),o=0;o&lt;i;o++){for(var s=[[0,0,0],[0,0,0]],l=0;l&lt;3;l++)if(r[l])for(var c=0;c&lt;2;c++)s[c][l]=r[l][o][c];a[o]=s}return a}},{&quot;../../components/errorbars/compute_error&quot;:647}],1094:[function(t,e,r){&quot;use strict&quot;;function n(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=&quot;&quot;,this.dataPoints=[],this.axesBounds=[[-1/0,-1/0,-1/0],[1/0,1/0,1/0]],this.textLabels=null,this.data=null}function i(t,e){return e(4*t)}function a(t){return x[t]}function o(t,e,r,n,i){var a=null;if(Array.isArray(t)){a=[];for(var o=0;o&lt;e;o++)void 0===t[o]?a[o]=n:a[o]=r(t[o],i)}else a=r(t,p.identity);return a}function s(t,e){var r,n,s,l,c,u,f=[],h=t.fullSceneLayout,d=t.dataScale,y=h.xaxis,x=h.yaxis,_=h.zaxis,w=e.marker,M=e.line,k=e.x||[],A=e.y||[],T=e.z||[],S=k.length,E=e.xcalendar,L=e.ycalendar,C=e.zcalendar;for(n=0;n&lt;S;n++)s=y.d2l(k[n],0,E)*d[0],l=x.d2l(A[n],0,L)*d[1],c=_.d2l(T[n],0,C)*d[2],f[n]=[s,l,c];if(Array.isArray(e.text))u=e.text;else if(void 0!==e.text)for(u=new Array(S),n=0;n&lt;S;n++)u[n]=e.text;if(r={position:f,mode:e.mode,text:u},&quot;line&quot;in e&amp;&amp;(r.lineColor=g(M,1,S),r.lineWidth=M.width,r.lineDashes=M.dash),&quot;marker&quot;in e){var z=v(e);r.scatterColor=g(w,1,S),r.scatterSize=o(w.size,S,i,20,z),r.scatterMarker=o(w.symbol,S,a,&quot;\u25cf&quot;),r.scatterLineWidth=w.line.width,r.scatterLineColor=g(w.line,1,S),r.scatterAngle=0}&quot;textposition&quot;in e&amp;&amp;(r.textOffset=function(t){var e=[0,0];return Array.isArray(t)?[0,-1]:(t.indexOf(&quot;bottom&quot;)&gt;=0&amp;&amp;(e[1]+=1),t.indexOf(&quot;top&quot;)&gt;=0&amp;&amp;(e[1]-=1),t.indexOf(&quot;left&quot;)&gt;=0&amp;&amp;(e[0]-=1),t.indexOf(&quot;right&quot;)&gt;=0&amp;&amp;(e[0]+=1),e)}(e.textposition),r.textColor=g(e.textfont,1,S),r.textSize=o(e.textfont.size,S,p.identity,12),r.textFont=e.textfont.family,r.textAngle=0);var D=[&quot;x&quot;,&quot;y&quot;,&quot;z&quot;];for(r.project=[!1,!1,!1],r.projectScale=[1,1,1],r.projectOpacity=[1,1,1],n=0;n&lt;3;++n){var I=e.projection[D[n]];(r.project[n]=I.show)&amp;&amp;(r.projectOpacity[n]=I.opacity,r.projectScale[n]=I.scale)}r.errorBounds=b(e,d);var P=function(t){for(var e=[0,0,0],r=[[0,0,0],[0,0,0],[0,0,0]],n=[0,0,0],i=0;i&lt;3;i++){var a=t[i];a&amp;&amp;!1!==a.copy_zstyle&amp;&amp;(a=t[2]),a&amp;&amp;(e[i]=a.width/2,r[i]=m(a.color),n=a.thickness)}return{capSize:e,color:r,lineWidth:n}}([e.error_x,e.error_y,e.error_z]);return r.errorColor=P.color,r.errorLineWidth=P.lineWidth,r.errorCapSize=P.capSize,r.delaunayAxis=e.surfaceaxis,r.delaunayColor=m(e.surfacecolor),r}function l(t){if(Array.isArray(t)){var e=t[0];return Array.isArray(e)&amp;&amp;(t=e),&quot;rgb(&quot;+t.slice(0,3).map(function(t){return Math.round(255*t)})+&quot;)&quot;}return null}var c=t(&quot;gl-line3d&quot;),u=t(&quot;gl-scatter3d&quot;),f=t(&quot;gl-error3d&quot;),h=t(&quot;gl-mesh3d&quot;),d=t(&quot;delaunay-triangulate&quot;),p=t(&quot;../../lib&quot;),m=t(&quot;../../lib/str2rgbarray&quot;),g=t(&quot;../../lib/gl_format_color&quot;),v=t(&quot;../scatter/make_bubble_size_func&quot;),y=t(&quot;../../constants/gl3d_dashes&quot;),x=t(&quot;../../constants/gl3d_markers&quot;),b=t(&quot;./calc_errors&quot;),_=n.prototype;_.handlePick=function(t){if(t.object&amp;&amp;(t.object===this.linePlot||t.object===this.delaunayMesh||t.object===this.textMarkers||t.object===this.scatterPlot)){t.object.highlight&amp;&amp;t.object.highlight(null),this.scatterPlot&amp;&amp;(t.object=this.scatterPlot,this.scatterPlot.highlight(t.data)),this.textLabels?void 0!==this.textLabels[t.data.index]?t.textLabel=this.textLabels[t.data.index]:t.textLabel=this.textLabels:t.textLabel=&quot;&quot;;var e=t.index=t.data.index;return t.traceCoordinate=[this.data.x[e],this.data.y[e],this.data.z[e]],!0}},_.update=function(t){var e,r,n,i,a=this.scene.glplot.gl,o=y.solid;this.data=t;var p=s(this.scene,t);&quot;mode&quot;in p&amp;&amp;(this.mode=p.mode),&quot;lineDashes&quot;in p&amp;&amp;p.lineDashes in y&amp;&amp;(o=y[p.lineDashes]),this.color=l(p.scatterColor)||l(p.lineColor),this.dataPoints=p.position,e={gl:a,position:p.position,color:p.lineColor,lineWidth:p.lineWidth||1,dashes:o[0],dashScale:o[1],opacity:t.opacity,connectGaps:t.connectgaps},-1!==this.mode.indexOf(&quot;lines&quot;)?this.linePlot?this.linePlot.update(e):(this.linePlot=c(e),this.linePlot._trace=this,this.scene.glplot.add(this.linePlot)):this.linePlot&amp;&amp;(this.scene.glplot.remove(this.linePlot),this.linePlot.dispose(),this.linePlot=null);var m=t.opacity;if(t.marker&amp;&amp;t.marker.opacity&amp;&amp;(m*=t.marker.opacity),r={gl:a,position:p.position,color:p.scatterColor,size:p.scatterSize,glyph:p.scatterMarker,opacity:m,orthographic:!0,lineWidth:p.scatterLineWidth,lineColor:p.scatterLineColor,project:p.project,projectScale:p.projectScale,projectOpacity:p.projectOpacity},-1!==this.mode.indexOf(&quot;markers&quot;)?this.scatterPlot?this.scatterPlot.update(r):(this.scatterPlot=u(r),this.scatterPlot._trace=this,this.scatterPlot.highlightScale=1,this.scene.glplot.add(this.scatterPlot)):this.scatterPlot&amp;&amp;(this.scene.glplot.remove(this.scatterPlot),this.scatterPlot.dispose(),this.scatterPlot=null),i={gl:a,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(&quot;text&quot;)?this.textMarkers?this.textMarkers.update(i):(this.textMarkers=u(i),this.textMarkers._trace=this,this.textMarkers.highlightScale=1,this.scene.glplot.add(this.textMarkers)):this.textMarkers&amp;&amp;(this.scene.glplot.remove(this.textMarkers),this.textMarkers.dispose(),this.textMarkers=null),n={gl:a,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(n):(this.scene.glplot.remove(this.errorBars),this.errorBars.dispose(),this.errorBars=null):p.errorBounds&amp;&amp;(this.errorBars=f(n),this.errorBars._trace=this,this.scene.glplot.add(this.errorBars)),p.delaunayAxis&gt;=0){var g=function(t,e,r){var n,i=(r+1)%3,a=(r+2)%3,o=[],s=[];for(n=0;n&lt;t.length;++n){var l=t[n];!isNaN(l[i])&amp;&amp;isFinite(l[i])&amp;&amp;!isNaN(l[a])&amp;&amp;isFinite(l[a])&amp;&amp;(o.push([l[i],l[a]]),s.push(n))}var c=d(o);for(n=0;n&lt;c.length;++n)for(var u=c[n],f=0;f&lt;u.length;++f)u[f]=s[u[f]];return{positions:t,cells:c,meshColor:e}}(p.position,p.delaunayColor,p.delaunayAxis);g.opacity=t.opacity,this.delaunayMesh?this.delaunayMesh.update(g):(g.gl=a,this.delaunayMesh=h(g),this.delaunayMesh._trace=this,this.scene.glplot.add(this.delaunayMesh))}else this.delaunayMesh&amp;&amp;(this.scene.glplot.remove(this.delaunayMesh),this.delaunayMesh.dispose(),this.delaunayMesh=null)},_.dispose=function(){this.linePlot&amp;&amp;(this.scene.glplot.remove(this.linePlot),this.linePlot.dispose()),this.scatterPlot&amp;&amp;(this.scene.glplot.remove(this.scatterPlot),this.scatterPlot.dispose()),this.errorBars&amp;&amp;(this.scene.glplot.remove(this.errorBars),this.errorBars.dispose()),this.textMarkers&amp;&amp;(this.scene.glplot.remove(this.textMarkers),this.textMarkers.dispose()),this.delaunayMesh&amp;&amp;(this.scene.glplot.remove(this.delaunayMesh),this.delaunayMesh.dispose())},e.exports=function(t,e){var r=new n(t,e.uid);return r.update(e),r}},{&quot;../../constants/gl3d_dashes&quot;:718,&quot;../../constants/gl3d_markers&quot;:719,&quot;../../lib&quot;:743,&quot;../../lib/gl_format_color&quot;:739,&quot;../../lib/str2rgbarray&quot;:765,&quot;../scatter/make_bubble_size_func&quot;:1083,&quot;./calc_errors&quot;:1093,&quot;delaunay-triangulate&quot;:130,&quot;gl-error3d&quot;:168,&quot;gl-line3d&quot;:177,&quot;gl-mesh3d&quot;:210,&quot;gl-scatter3d&quot;:239}],1095:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../registry&quot;),i=t(&quot;../../lib&quot;),a=t(&quot;../scatter/subtypes&quot;),o=t(&quot;../scatter/marker_defaults&quot;),s=t(&quot;../scatter/line_defaults&quot;),l=t(&quot;../scatter/text_defaults&quot;),c=t(&quot;../../components/errorbars/defaults&quot;),u=t(&quot;./attributes&quot;);e.exports=function(t,e,r,f){function h(r,n){return i.coerce(t,e,u,r,n)}if(function(t,e,r,i){var a=0,o=r(&quot;x&quot;),s=r(&quot;y&quot;),l=r(&quot;z&quot;);return n.getComponentMethod(&quot;calendars&quot;,&quot;handleTraceDefaults&quot;)(t,e,[&quot;x&quot;,&quot;y&quot;,&quot;z&quot;],i),o&amp;&amp;s&amp;&amp;l&amp;&amp;((a=Math.min(o.length,s.length,l.length))&lt;o.length&amp;&amp;(e.x=o.slice(0,a)),a&lt;s.length&amp;&amp;(e.y=s.slice(0,a)),a&lt;l.length&amp;&amp;(e.z=l.slice(0,a))),a}(t,e,h,f)){h(&quot;text&quot;),h(&quot;hovertext&quot;),h(&quot;mode&quot;),a.hasLines(e)&amp;&amp;(h(&quot;connectgaps&quot;),s(t,e,r,f,h)),a.hasMarkers(e)&amp;&amp;o(t,e,r,f,h,{noSelect:!0}),a.hasText(e)&amp;&amp;l(t,e,f,h,{noSelect:!0});var d=(e.line||{}).color,p=(e.marker||{}).color;h(&quot;surfaceaxis&quot;)&gt;=0&amp;&amp;h(&quot;surfacecolor&quot;,d||p);for(var m=[&quot;x&quot;,&quot;y&quot;,&quot;z&quot;],g=0;g&lt;3;++g){var v=&quot;projection.&quot;+m[g];h(v+&quot;.show&quot;)&amp;&amp;(h(v+&quot;.opacity&quot;),h(v+&quot;.scale&quot;))}c(t,e,r,{axis:&quot;z&quot;}),c(t,e,r,{axis:&quot;y&quot;,inherit:&quot;z&quot;}),c(t,e,r,{axis:&quot;x&quot;,inherit:&quot;z&quot;})}else e.visible=!1}},{&quot;../../components/errorbars/defaults&quot;:648,&quot;../../lib&quot;:743,&quot;../../registry&quot;:873,&quot;../scatter/line_defaults&quot;:1079,&quot;../scatter/marker_defaults&quot;:1084,&quot;../scatter/subtypes&quot;:1088,&quot;../scatter/text_defaults&quot;:1089,&quot;./attributes&quot;:1091}],1096:[function(t,e,r){&quot;use strict&quot;;var n={};n.plot=t(&quot;./convert&quot;),n.attributes=t(&quot;./attributes&quot;),n.markerSymbols=t(&quot;../../constants/gl3d_markers&quot;),n.supplyDefaults=t(&quot;./defaults&quot;),n.colorbar=t(&quot;../scatter/colorbar&quot;),n.calc=t(&quot;./calc&quot;),n.moduleType=&quot;trace&quot;,n.name=&quot;scatter3d&quot;,n.basePlotModule=t(&quot;../../plots/gl3d&quot;),n.categories=[&quot;gl3d&quot;,&quot;symbols&quot;,&quot;markerColorscale&quot;,&quot;showLegend&quot;],n.meta={},e.exports=n},{&quot;../../constants/gl3d_markers&quot;:719,&quot;../../plots/gl3d&quot;:832,&quot;../scatter/colorbar&quot;:1070,&quot;./attributes&quot;:1091,&quot;./calc&quot;:1092,&quot;./convert&quot;:1094,&quot;./defaults&quot;:1095}],1097:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../scatter/attributes&quot;),i=t(&quot;../../plots/attributes&quot;),a=t(&quot;../../components/colorscale/color_attributes&quot;),o=t(&quot;../../components/colorbar/attributes&quot;),s=t(&quot;../../lib/extend&quot;).extendFlat,l=n.marker,c=n.line,u=l.line;e.exports={carpet:{valType:&quot;string&quot;,editType:&quot;calc&quot;},a:{valType:&quot;data_array&quot;,editType:&quot;calc&quot;},b:{valType:&quot;data_array&quot;,editType:&quot;calc&quot;},mode:s({},n.mode,{dflt:&quot;markers&quot;}),text:s({},n.text,{}),line:{color:c.color,width:c.width,dash:c.dash,shape:s({},c.shape,{values:[&quot;linear&quot;,&quot;spline&quot;]}),smoothing:c.smoothing,editType:&quot;calc&quot;},connectgaps:n.connectgaps,fill:s({},n.fill,{values:[&quot;none&quot;,&quot;toself&quot;,&quot;tonext&quot;]}),fillcolor:n.fillcolor,marker:s({symbol:l.symbol,opacity:l.opacity,maxdisplayed:l.maxdisplayed,size:l.size,sizeref:l.sizeref,sizemin:l.sizemin,sizemode:l.sizemode,line:s({width:u.width,editType:&quot;calc&quot;},a(&quot;marker&quot;.line)),gradient:l.gradient,editType:&quot;calc&quot;},a(&quot;marker&quot;),{showscale:l.showscale,colorbar:o}),textfont:n.textfont,textposition:n.textposition,selected:n.selected,unselected:n.unselected,hoverinfo:s({},i.hoverinfo,{flags:[&quot;a&quot;,&quot;b&quot;,&quot;text&quot;,&quot;name&quot;]}),hoveron:n.hoveron}},{&quot;../../components/colorbar/attributes&quot;:619,&quot;../../components/colorscale/color_attributes&quot;:626,&quot;../../lib/extend&quot;:732,&quot;../../plots/attributes&quot;:787,&quot;../scatter/attributes&quot;:1066}],1098:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;fast-isnumeric&quot;),i=t(&quot;../scatter/colorscale_calc&quot;),a=t(&quot;../scatter/arrays_to_calcdata&quot;),o=t(&quot;../scatter/calc_selection&quot;),s=t(&quot;../scatter/calc&quot;).calcMarkerSize,l=t(&quot;../carpet/lookup_carpetid&quot;);e.exports=function(t,e){var r=e.carpetTrace=l(t,e);if(r&amp;&amp;r.visible&amp;&amp;&quot;legendonly&quot;!==r.visible){var c;e.xaxis=r.xaxis,e.yaxis=r.yaxis;var u,f,h=e.a.length,d=new Array(h),p=!1;for(c=0;c&lt;h;c++)if(u=e.a[c],f=e.b[c],n(u)&amp;&amp;n(f)){var m=r.ab2xy(+u,+f,!0),g=r.isVisible(+u,+f);g||(p=!0),d[c]={x:m[0],y:m[1],a:u,b:f,vis:g}}else d[c]={x:!1,y:!1};return e._needsCull=p,d[0].carpet=r,d[0].trace=e,s(e,h),i(e),a(d,e),o(d,e),d}}},{&quot;../carpet/lookup_carpetid&quot;:931,&quot;../scatter/arrays_to_calcdata&quot;:1065,&quot;../scatter/calc&quot;:1067,&quot;../scatter/calc_selection&quot;:1068,&quot;../scatter/colorscale_calc&quot;:1071,&quot;fast-isnumeric&quot;:140}],1099:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib&quot;),i=t(&quot;../scatter/constants&quot;),a=t(&quot;../scatter/subtypes&quot;),o=t(&quot;../scatter/marker_defaults&quot;),s=t(&quot;../scatter/line_defaults&quot;),l=t(&quot;../scatter/line_shape_defaults&quot;),c=t(&quot;../scatter/text_defaults&quot;),u=t(&quot;../scatter/fillcolor_defaults&quot;),f=t(&quot;./attributes&quot;);e.exports=function(t,e,r,h){function d(r,i){return n.coerce(t,e,f,r,i)}d(&quot;carpet&quot;),e.xaxis=&quot;x&quot;,e.yaxis=&quot;y&quot;;var p,m=d(&quot;a&quot;),g=d(&quot;b&quot;);if(p=Math.min(m.length,g.length)){m&amp;&amp;p&lt;m.length&amp;&amp;(e.a=m.slice(0,p)),g&amp;&amp;p&lt;g.length&amp;&amp;(e.b=g.slice(0,p)),d(&quot;text&quot;);d(&quot;mode&quot;,p&lt;i.PTS_LINESONLY?&quot;lines+markers&quot;:&quot;lines&quot;),a.hasLines(e)&amp;&amp;(s(t,e,r,h,d),l(t,e,d),d(&quot;connectgaps&quot;)),a.hasMarkers(e)&amp;&amp;o(t,e,r,h,d,{gradient:!0}),a.hasText(e)&amp;&amp;c(t,e,h,d);var v=[];(a.hasMarkers(e)||a.hasText(e))&amp;&amp;(d(&quot;marker.maxdisplayed&quot;),v.push(&quot;points&quot;)),d(&quot;fill&quot;),&quot;none&quot;!==e.fill&amp;&amp;(u(t,e,r,d),a.hasLines(e)||l(t,e,d)),&quot;tonext&quot;!==e.fill&amp;&amp;&quot;toself&quot;!==e.fill||v.push(&quot;fills&quot;),d(&quot;hoveron&quot;,v.join(&quot;+&quot;)||&quot;points&quot;),n.coerceSelectionMarkerOpacity(e,d)}else e.visible=!1}},{&quot;../../lib&quot;:743,&quot;../scatter/constants&quot;:1072,&quot;../scatter/fillcolor_defaults&quot;:1075,&quot;../scatter/line_defaults&quot;:1079,&quot;../scatter/line_shape_defaults&quot;:1081,&quot;../scatter/marker_defaults&quot;:1084,&quot;../scatter/subtypes&quot;:1088,&quot;../scatter/text_defaults&quot;:1089,&quot;./attributes&quot;:1097}],1100:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t,e,r,n,i){var a=n[i];return t.a=a.a,t.b=a.b,t}},{}],1101:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../scatter/hover&quot;);e.exports=function(t,e,r,i){function a(t,e){var r;r=t.labelprefix&amp;&amp;t.labelprefix.length&gt;0?t.labelprefix.replace(/ = $/,&quot;&quot;):t._hovertitle,g.push(r+&quot;: &quot;+e.toFixed(3)+t.labelsuffix)}var o=n(t,e,r,i);if(o&amp;&amp;!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 d=s.trace,p=d._carpet,m=(h.hi||d.hoverinfo).split(&quot;+&quot;),g=[];-1!==m.indexOf(&quot;all&quot;)&amp;&amp;(m=[&quot;a&quot;,&quot;b&quot;]),-1!==m.indexOf(&quot;a&quot;)&amp;&amp;a(p.aaxis,h.a),-1!==m.indexOf(&quot;b&quot;)&amp;&amp;a(p.baxis,h.b);var v=p.ab2ij([h.a,h.b]),y=Math.floor(v[0]),x=v[0]-y,b=Math.floor(v[1]),_=v[1]-b,w=p.evalxy([],y,b,x,_);return g.push(&quot;y: &quot;+w[1].toFixed(3)),s.extraText=g.join(&quot;&lt;br&gt;&quot;),o}}},{&quot;../scatter/hover&quot;:1077}],1102:[function(t,e,r){&quot;use strict&quot;;var n={};n.attributes=t(&quot;./attributes&quot;),n.supplyDefaults=t(&quot;./defaults&quot;),n.colorbar=t(&quot;../scatter/colorbar&quot;),n.calc=t(&quot;./calc&quot;),n.plot=t(&quot;./plot&quot;),n.style=t(&quot;../scatter/style&quot;).style,n.hoverPoints=t(&quot;./hover&quot;),n.selectPoints=t(&quot;../scatter/select&quot;),n.eventData=t(&quot;./event_data&quot;),n.moduleType=&quot;trace&quot;,n.name=&quot;scattercarpet&quot;,n.basePlotModule=t(&quot;../../plots/cartesian&quot;),n.categories=[&quot;carpet&quot;,&quot;symbols&quot;,&quot;markerColorscale&quot;,&quot;showLegend&quot;,&quot;carpetDependent&quot;],n.meta={},e.exports=n},{&quot;../../plots/cartesian&quot;:800,&quot;../scatter/colorbar&quot;:1070,&quot;../scatter/select&quot;:1086,&quot;../scatter/style&quot;:1087,&quot;./attributes&quot;:1097,&quot;./calc&quot;:1098,&quot;./defaults&quot;:1099,&quot;./event_data&quot;:1100,&quot;./hover&quot;:1101,&quot;./plot&quot;:1103}],1103:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../scatter/plot&quot;),i=t(&quot;../../plots/cartesian/axes&quot;),a=t(&quot;../../components/drawing&quot;);e.exports=function(t,e,r){var o,s,l,c=r[0][0].carpet,u={xaxis:i.getFromId(t,c.xaxis||&quot;x&quot;),yaxis:i.getFromId(t,c.yaxis||&quot;y&quot;),plot:e.plot};for(n(t,u,r),o=0;o&lt;r.length;o++)s=r[o][0].trace,l=u.plot.selectAll(&quot;g.trace&quot;+s.uid+&quot; .js-line&quot;),a.setClipUrl(l,c._clipPathId)}},{&quot;../../components/drawing&quot;:643,&quot;../../plots/cartesian/axes&quot;:789,&quot;../scatter/plot&quot;:1085}],1104:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../scatter/attributes&quot;),i=t(&quot;../../plots/attributes&quot;),a=t(&quot;../../components/colorscale/color_attributes&quot;),o=t(&quot;../../components/drawing/attributes&quot;).dash,s=t(&quot;../../lib/extend&quot;).extendFlat,l=t(&quot;../../plot_api/edit_types&quot;).overrideAll,c=n.marker,u=n.line,f=c.line;e.exports=l({lon:{valType:&quot;data_array&quot;},lat:{valType:&quot;data_array&quot;},locations:{valType:&quot;data_array&quot;},locationmode:{valType:&quot;enumerated&quot;,values:[&quot;ISO-3&quot;,&quot;USA-states&quot;,&quot;country names&quot;],dflt:&quot;ISO-3&quot;},mode:s({},n.mode,{dflt:&quot;markers&quot;}),text:s({},n.text,{}),hovertext:s({},n.hovertext,{}),textfont:n.textfont,textposition:n.textposition,line:{color:u.color,width:u.width,dash:o},connectgaps:n.connectgaps,marker:s({symbol:c.symbol,opacity:c.opacity,size:c.size,sizeref:c.sizeref,sizemin:c.sizemin,sizemode:c.sizemode,showscale:c.showscale,colorbar:c.colorbar,line:s({width:f.width},a(&quot;marker.line&quot;)),gradient:c.gradient},a(&quot;marker&quot;)),fill:{valType:&quot;enumerated&quot;,values:[&quot;none&quot;,&quot;toself&quot;],dflt:&quot;none&quot;},fillcolor:n.fillcolor,selected:n.selected,unselected:n.unselected,hoverinfo:s({},i.hoverinfo,{flags:[&quot;lon&quot;,&quot;lat&quot;,&quot;location&quot;,&quot;text&quot;,&quot;name&quot;]})},&quot;calc&quot;,&quot;nested&quot;)},{&quot;../../components/colorscale/color_attributes&quot;:626,&quot;../../components/drawing/attributes&quot;:642,&quot;../../lib/extend&quot;:732,&quot;../../plot_api/edit_types&quot;:773,&quot;../../plots/attributes&quot;:787,&quot;../scatter/attributes&quot;:1066}],1105:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;fast-isnumeric&quot;),i=t(&quot;../../constants/numerical&quot;).BADNUM,a=t(&quot;../scatter/colorscale_calc&quot;),o=t(&quot;../scatter/arrays_to_calcdata&quot;),s=t(&quot;../scatter/calc_selection&quot;),l=t(&quot;../../lib&quot;)._;e.exports=function(t,e){for(var r=Array.isArray(e.locations),c=r?e.locations.length:e.lon.length,u=new Array(c),f=0;f&lt;c;f++){var h=u[f]={};if(r){var d=e.locations[f];h.loc=&quot;string&quot;==typeof d?d:null}else{var p=e.lon[f],m=e.lat[f];n(p)&amp;&amp;n(m)?h.lonlat=[+p,+m]:h.lonlat=[i,i]}}return o(u,e),a(e),s(u,e),c&amp;&amp;(u[0].t={labels:{lat:l(t,&quot;lat:&quot;)+&quot; &quot;,lon:l(t,&quot;lon:&quot;)+&quot; &quot;}}),u}},{&quot;../../constants/numerical&quot;:721,&quot;../../lib&quot;:743,&quot;../scatter/arrays_to_calcdata&quot;:1065,&quot;../scatter/calc_selection&quot;:1068,&quot;../scatter/colorscale_calc&quot;:1071,&quot;fast-isnumeric&quot;:140}],1106:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib&quot;),i=t(&quot;../scatter/subtypes&quot;),a=t(&quot;../scatter/marker_defaults&quot;),o=t(&quot;../scatter/line_defaults&quot;),s=t(&quot;../scatter/text_defaults&quot;),l=t(&quot;../scatter/fillcolor_defaults&quot;),c=t(&quot;./attributes&quot;);e.exports=function(t,e,r,u){function f(r,i){return n.coerce(t,e,c,r,i)}!function(t,e,r){var n,i,a=0,o=r(&quot;locations&quot;);return o?(r(&quot;locationmode&quot;),a=o.length):(n=r(&quot;lon&quot;)||[],i=r(&quot;lat&quot;)||[],(a=Math.min(n.length,i.length))&lt;n.length&amp;&amp;(e.lon=n.slice(0,a)),a&lt;i.length&amp;&amp;(e.lat=i.slice(0,a)),a)}(0,e,f)?e.visible=!1:(f(&quot;text&quot;),f(&quot;hovertext&quot;),f(&quot;mode&quot;),i.hasLines(e)&amp;&amp;(o(t,e,r,u,f),f(&quot;connectgaps&quot;)),i.hasMarkers(e)&amp;&amp;a(t,e,r,u,f,{gradient:!0}),i.hasText(e)&amp;&amp;s(t,e,u,f),f(&quot;fill&quot;),&quot;none&quot;!==e.fill&amp;&amp;l(t,e,r,f))}},{&quot;../../lib&quot;:743,&quot;../scatter/fillcolor_defaults&quot;:1075,&quot;../scatter/line_defaults&quot;:1079,&quot;../scatter/marker_defaults&quot;:1084,&quot;../scatter/subtypes&quot;:1088,&quot;../scatter/text_defaults&quot;:1089,&quot;./attributes&quot;:1104}],1107:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t,e){return t.lon=e.lon,t.lat=e.lat,t.location=e.loc?e.loc:null,t}},{}],1108:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../components/fx&quot;),i=t(&quot;../../plots/cartesian/axes&quot;),a=t(&quot;../../constants/numerical&quot;).BADNUM,o=t(&quot;../scatter/get_trace_color&quot;),s=t(&quot;../scatter/fill_hover_text&quot;),l=t(&quot;./attributes&quot;);e.exports=function(t,e,r){var c=t.cd,u=c[0].trace,f=t.xa,h=t.ya,d=t.subplot,p=d.projection.isLonLatOverEdges,m=d.project;if(n.getClosest(c,function(t){var n=t.lonlat;if(n[0]===a)return 1/0;if(p(n))return 1/0;var i=m(n),o=m([e,r]),s=Math.abs(i[0]-o[0]),l=Math.abs(i[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 g=c[t.index],v=g.lonlat,y=[f.c2p(v),h.c2p(v)],x=g.mrc||1;return t.x0=y[0]-x,t.x1=y[0]+x,t.y0=y[1]-x,t.y1=y[1]+x,t.loc=g.loc,t.lon=v[0],t.lat=v[1],t.color=o(u,g),t.extraText=function(t,e,r,n){function a(t){return i.tickText(r,r.c2l(t),&quot;hover&quot;).text+&quot;\xb0&quot;}var o=e.hi||t.hoverinfo,c=&quot;all&quot;===o?l.hoverinfo.flags:o.split(&quot;+&quot;),u=-1!==c.indexOf(&quot;location&quot;)&amp;&amp;Array.isArray(t.locations),f=-1!==c.indexOf(&quot;lon&quot;),h=-1!==c.indexOf(&quot;lat&quot;),d=-1!==c.indexOf(&quot;text&quot;),p=[];return u?p.push(e.loc):f&amp;&amp;h?p.push(&quot;(&quot;+a(e.lonlat[0])+&quot;, &quot;+a(e.lonlat[1])+&quot;)&quot;):f?p.push(n.lon+a(e.lonlat[0])):h&amp;&amp;p.push(n.lat+a(e.lonlat[1])),d&amp;&amp;s(e,t,p),p.join(&quot;&lt;br&gt;&quot;)}(u,g,d.mockAxis,c[0].t.labels),[t]}}},{&quot;../../components/fx&quot;:660,&quot;../../constants/numerical&quot;:721,&quot;../../plots/cartesian/axes&quot;:789,&quot;../scatter/fill_hover_text&quot;:1074,&quot;../scatter/get_trace_color&quot;:1076,&quot;./attributes&quot;:1104}],1109:[function(t,e,r){&quot;use strict&quot;;var n={};n.attributes=t(&quot;./attributes&quot;),n.supplyDefaults=t(&quot;./defaults&quot;),n.colorbar=t(&quot;../scatter/colorbar&quot;),n.calc=t(&quot;./calc&quot;),n.plot=t(&quot;./plot&quot;),n.style=t(&quot;./style&quot;),n.hoverPoints=t(&quot;./hover&quot;),n.eventData=t(&quot;./event_data&quot;),n.selectPoints=t(&quot;./select&quot;),n.moduleType=&quot;trace&quot;,n.name=&quot;scattergeo&quot;,n.basePlotModule=t(&quot;../../plots/geo&quot;),n.categories=[&quot;geo&quot;,&quot;symbols&quot;,&quot;markerColorscale&quot;,&quot;showLegend&quot;,&quot;scatter-like&quot;],n.meta={},e.exports=n},{&quot;../../plots/geo&quot;:820,&quot;../scatter/colorbar&quot;:1070,&quot;./attributes&quot;:1104,&quot;./calc&quot;:1105,&quot;./defaults&quot;:1106,&quot;./event_data&quot;:1107,&quot;./hover&quot;:1108,&quot;./plot&quot;:1110,&quot;./select&quot;:1111,&quot;./style&quot;:1112}],1110:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;d3&quot;),i=t(&quot;../../lib&quot;),a=t(&quot;../../constants/numerical&quot;).BADNUM,o=t(&quot;../../lib/topojson_utils&quot;).getTopojsonFeatures,s=t(&quot;../../lib/geo_location_utils&quot;).locationToFeature,l=t(&quot;../../lib/geojson_utils&quot;),c=t(&quot;../scatter/subtypes&quot;),u=t(&quot;./style&quot;);e.exports=function(t,e,r){function f(t,e){t.lonlat[0]===a&amp;&amp;n.select(e).remove()}for(var h=0;h&lt;r.length;h++)!function(t,e){var r=t[0].trace;if(Array.isArray(r.locations))for(var n=o(r,e),i=r.locationmode,l=0;l&lt;t.length;l++){var c=t[l],u=s(i,c.loc,n);c.lonlat=u?u.properties.ct:[a,a]}}(r[h],e.topojson);var d=e.layers.frontplot.select(&quot;.scatterlayer&quot;).selectAll(&quot;g.trace.scattergeo&quot;).data(r,function(t){return t[0].trace.uid});d.enter().append(&quot;g&quot;).attr(&quot;class&quot;,&quot;trace scattergeo&quot;),d.exit().remove(),d.selectAll(&quot;*&quot;).remove(),d.each(function(e){var r=e[0].node3=n.select(this),a=e[0].trace;if(c.hasLines(a)||&quot;none&quot;!==a.fill){var o=l.calcTraceToLineCoords(e),s=&quot;none&quot;!==a.fill?l.makePolygon(o):l.makeLine(o);r.selectAll(&quot;path.js-line&quot;).data([{geojson:s,trace:a}]).enter().append(&quot;path&quot;).classed(&quot;js-line&quot;,!0).style(&quot;stroke-miterlimit&quot;,2)}c.hasMarkers(a)&amp;&amp;r.selectAll(&quot;path.point&quot;).data(i.identity).enter().append(&quot;path&quot;).classed(&quot;point&quot;,!0).each(function(t){f(t,this)}),c.hasText(a)&amp;&amp;r.selectAll(&quot;g&quot;).data(i.identity).enter().append(&quot;g&quot;).append(&quot;text&quot;).each(function(t){f(t,this)}),u(t,e)})}},{&quot;../../constants/numerical&quot;:721,&quot;../../lib&quot;:743,&quot;../../lib/geo_location_utils&quot;:735,&quot;../../lib/geojson_utils&quot;:736,&quot;../../lib/topojson_utils&quot;:769,&quot;../scatter/subtypes&quot;:1088,&quot;./style&quot;:1112,d3:128}],1111:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../scatter/subtypes&quot;);e.exports=function(t,e){var r,i,a,o,s,l=t.cd,c=t.xaxis,u=t.yaxis,f=[],h=l[0].trace;if(!n.hasMarkers(h)&amp;&amp;!n.hasText(h))return[];if(!1===e)for(s=0;s&lt;l.length;s++)l[s].selected=0;else for(s=0;s&lt;l.length;s++)i=(r=l[s]).lonlat,a=c.c2p(i),o=u.c2p(i),e.contains([a,o])?(f.push({pointNumber:s,lon:i[0],lat:i[1]}),r.selected=1):r.selected=0;return f}},{&quot;../scatter/subtypes&quot;:1088}],1112:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;d3&quot;),i=t(&quot;../../components/drawing&quot;),a=t(&quot;../../components/color&quot;),o=t(&quot;../scatter/style&quot;).stylePoints;e.exports=function(t,e){e&amp;&amp;function(t,e){var r=e[0].trace,s=e[0].node3;s.style(&quot;opacity&quot;,e[0].trace.opacity),o(s,r,t),s.selectAll(&quot;path.js-line&quot;).style(&quot;fill&quot;,&quot;none&quot;).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||&quot;&quot;,o.width||0),&quot;none&quot;!==r.fill&amp;&amp;e.call(a.fill,r.fillcolor)})}(t,e)}},{&quot;../../components/color&quot;:618,&quot;../../components/drawing&quot;:643,&quot;../scatter/style&quot;:1087,d3:128}],1113:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../scatter/attributes&quot;),i=t(&quot;../../components/colorscale/color_attributes&quot;),a=t(&quot;../../constants/gl2d_dashes&quot;),o=t(&quot;../../lib/extend&quot;).extendFlat,s=t(&quot;../../plot_api/edit_types&quot;).overrideAll,l=n.line,c=n.marker,u=c.line,f=e.exports=s({x:n.x,x0:n.x0,dx:n.dx,y:n.y,y0:n.y0,dy:n.dy,text:o({},n.text,{}),mode:{valType:&quot;flaglist&quot;,flags:[&quot;lines&quot;,&quot;markers&quot;],extras:[&quot;none&quot;]},line:{color:l.color,width:l.width,dash:{valType:&quot;enumerated&quot;,values:Object.keys(a),dflt:&quot;solid&quot;}},marker:o({},i(&quot;marker&quot;),{symbol:c.symbol,size:c.size,sizeref:c.sizeref,sizemin:c.sizemin,sizemode:c.sizemode,opacity:c.opacity,showscale:c.showscale,colorbar:c.colorbar,line:o({},i(&quot;marker.line&quot;),{width:u.width})}),connectgaps:n.connectgaps,fill:n.fill,fillcolor:n.fillcolor,hoveron:n.hoveron,selected:{marker:n.selected.marker},unselected:{marker:n.unselected.marker},error_y:n.error_y,error_x:n.error_x},&quot;calc&quot;,&quot;nested&quot;);f.x.editType=f.y.editType=f.x0.editType=f.y0.editType=&quot;calc+clearAxisTypes&quot;},{&quot;../../components/colorscale/color_attributes&quot;:626,&quot;../../constants/gl2d_dashes&quot;:717,&quot;../../lib/extend&quot;:732,&quot;../../plot_api/edit_types&quot;:773,&quot;../scatter/attributes&quot;:1066}],1114:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib&quot;),i=t(&quot;../scatter/constants&quot;),a=t(&quot;../scatter/subtypes&quot;),o=t(&quot;../scatter/xy_defaults&quot;),s=t(&quot;../scatter/marker_defaults&quot;),l=t(&quot;../scatter/line_defaults&quot;),c=t(&quot;../scatter/fillcolor_defaults&quot;),u=t(&quot;../../components/errorbars/defaults&quot;),f=t(&quot;./attributes&quot;);e.exports=function(t,e,r,h){function d(r,i){return n.coerce(t,e,f,r,i)}var p=!!t.marker&amp;&amp;/-open/.test(t.marker.symbol),m=a.isBubble(t),g=o(t,e,h,d);if(g){d(&quot;text&quot;),d(&quot;mode&quot;,g&lt;i.PTS_LINESONLY?&quot;lines+markers&quot;:&quot;lines&quot;),a.hasLines(e)&amp;&amp;(d(&quot;connectgaps&quot;),l(t,e,r,h,d));var v=[];a.hasMarkers(e)&amp;&amp;(s(t,e,r,h,d),d(&quot;marker.line.width&quot;,p||m?1:0),v.push(&quot;points&quot;)),d(&quot;fill&quot;),&quot;none&quot;!==e.fill&amp;&amp;c(t,e,r,d),&quot;tonext&quot;!==e.fill&amp;&amp;&quot;toself&quot;!==e.fill||v.push(&quot;fills&quot;),d(&quot;hoveron&quot;,v.join(&quot;+&quot;)||&quot;points&quot;),u(t,e,r,{axis:&quot;y&quot;}),u(t,e,r,{axis:&quot;x&quot;,inherit:&quot;y&quot;}),n.coerceSelectionMarkerOpacity(e,d)}else e.visible=!1}},{&quot;../../components/errorbars/defaults&quot;:648,&quot;../../lib&quot;:743,&quot;../scatter/constants&quot;:1072,&quot;../scatter/fillcolor_defaults&quot;:1075,&quot;../scatter/line_defaults&quot;:1079,&quot;../scatter/marker_defaults&quot;:1084,&quot;../scatter/subtypes&quot;:1088,&quot;../scatter/xy_defaults&quot;:1090,&quot;./attributes&quot;:1113}],1115:[function(t,e,r){(function(r){&quot;use strict&quot;;function n(t,e,r,n){function i(t){var e,n,i,o={},s=Array.isArray(t.symbol);if(s||(n=/-open/.test(t.symbol)),s||Array.isArray(t.color)||Array.isArray(t.line.color)||Array.isArray(t.line)||Array.isArray(t.opacity)){o.colors=new Array(_),o.borderColors=new Array(_);var l=y(t,t.opacity,_),c=y(t.line,t.opacity,_);if(!Array.isArray(c[0])){var u=c;for(c=Array(_),e=0;e&lt;_;e++)c[e]=u}if(!Array.isArray(l[0])){var f=l;for(l=Array(_),e=0;e&lt;_;e++)l[e]=f}for(o.colors=l,o.borderColors=c,e=0;e&lt;_;e++)s&amp;&amp;(i=t.symbol[e],n=/-open/.test(i)),n&amp;&amp;(c[e]=l[e].slice(),l[e]=l[e].slice(),l[e][3]=0);o.opacity=r.opacity}else n?(o.color=M(t.color,&quot;uint8&quot;),o.color[3]=0,o.borderColor=M(t.color,&quot;uint8&quot;)):(o.color=M(t.color,&quot;uint8&quot;),o.borderColor=M(t.line.color,&quot;uint8&quot;)),o.opacity=r.opacity*t.opacity;if(Array.isArray(t.symbol))for(o.markers=new Array(_),e=0;e&lt;_;++e)o.markers[e]=a(t.symbol[e]);else o.marker=a(t.symbol);var h,d,p=t&amp;&amp;(Array.isArray(t.size)||Array.isArray(t.line.width)),m=g(r);if(p){d=o.sizes=new Array(_);var v=o.borderSizes=new Array(_);if(Array.isArray(t.size))for(e=0;e&lt;_;++e)d[e]=m(t.size[e]);else for(h=m(t.size),e=0;e&lt;_;++e)d[e]=h;if(Array.isArray(t.line.width))for(e=0;e&lt;_;++e)v[e]=m(t.line.width[e]);else for(h=m(t.line.width),e=0;e&lt;_;++e)v[e]=h}else h=o.size=m(t&amp;&amp;t.size||10),o.borderSizes=m(t.line.width);return o}var o,s,f,h,p,m,x,b=t._fullLayout,_=n.length/2,w=r.marker,k=0,A=0,T=u.getFromId(t,r.xaxis),S=u.getFromId(t,r.yaxis);!0!==r.visible?(s=!1,f=!1,h=!1,m=!1,x=!1):(s=d.hasLines(r)&amp;&amp;n.length&gt;1,f=r.error_x&amp;&amp;!0===r.error_x.visible,h=r.error_y&amp;&amp;!0===r.error_y.visible,p=f||h,m=d.hasMarkers(r),x=!!r.fill&amp;&amp;&quot;none&quot;!==r.fill);var E,L,C,z,D,I,O,F,R=p?l.calcFromTrace(r,b):null;if(f){(C={}).positions=n;var N=new Float64Array(4*_);if(&quot;log&quot;===T.type)for(o=0;o&lt;_;++o)N[k++]=n[2*o]-T.d2l(R[o].xs)||0,N[k++]=T.d2l(R[o].xh)-n[2*o]||0,N[k++]=0,N[k++]=0;else for(o=0;o&lt;_;++o)N[k++]=n[2*o]-R[o].xs||0,N[k++]=R[o].xh-n[2*o]||0,N[k++]=0,N[k++]=0;r.error_x.copy_ystyle&amp;&amp;(r.error_x=r.error_y),C.errors=N,C.capSize=2*r.error_x.width,C.lineWidth=r.error_x.thickness,C.color=r.error_x.color}if(h){(z={}).positions=n;var j=new Float64Array(4*_);if(&quot;log&quot;===S.type)for(o=0;o&lt;_;++o)j[A++]=0,j[A++]=0,j[A++]=n[2*o+1]-S.d2l(R[o].ys)||0,j[A++]=S.d2l(R[o].yh)-n[2*o+1]||0;else for(o=0;o&lt;_;++o)j[A++]=0,j[A++]=0,j[A++]=n[2*o+1]-R[o].ys||0,j[A++]=R[o].yh-n[2*o+1]||0;z.errors=j,z.capSize=2*r.error_y.width,z.lineWidth=r.error_y.thickness,z.color=r.error_y.color}if(s){(E={}).thickness=r.line.width,E.color=r.line.color,E.opacity=r.opacity,E.overlay=!0;var B=(v[r.line.dash]||[1]).slice();for(o=0;o&lt;B.length;++o)B[o]*=E.thickness;if(E.dashes=B,&quot;hv&quot;===r.line.shape){for(F=[],o=0;o&lt;Math.floor(n.length/2)-1;o++)isNaN(n[2*o])||isNaN(n[2*o+1])?(F.push(NaN),F.push(NaN),F.push(NaN),F.push(NaN)):(F.push(n[2*o]),F.push(n[2*o+1]),F.push(n[2*o+2]),F.push(n[2*o+1]));F.push(n[n.length-2]),F.push(n[n.length-1])}else if(&quot;vh&quot;===r.line.shape){for(F=[],o=0;o&lt;Math.floor(n.length/2)-1;o++)isNaN(n[2*o])||isNaN(n[2*o+1])?(F.push(NaN),F.push(NaN),F.push(NaN),F.push(NaN)):(F.push(n[2*o]),F.push(n[2*o+1]),F.push(n[2*o]),F.push(n[2*o+3]));F.push(n[n.length-2]),F.push(n[n.length-1])}else F=n;var U=!1;for(o=0;o&lt;F.length;o++)if(isNaN(F[o])){U=!0;break}if(E.join=U||F.length&gt;P?&quot;rect&quot;:m?&quot;rect&quot;:&quot;round&quot;,U&amp;&amp;r.connectgaps){var V=F[0],q=F[1];for(o=0;o&lt;F.length;o+=2)isNaN(F[o])||isNaN(F[o+1])?(F[o]=V,F[o+1]=q):(V=F[o],q=F[o+1])}E.positions=F}return x&amp;&amp;((D={}).fill=r.fillcolor,D.thickness=0,D.closed=!0),m&amp;&amp;(L=i(w),I=r.selected?i(c({},w,r.selected.marker)):L,O=r.unselected?i(c({},w,r.unselected.marker)):L,L.positions=n),{line:E,marker:L,errorX:C,errorY:z,fill:D,selected:I,unselected:O}}function i(t,e){var r=e._scene,n=t._fullLayout;return e._scene||((r=e._scene={count:0,dirty:!0,lineOptions:[],fillOptions:[],markerOptions:[],selectedOptions:[],unselectedOptions:[],errorXOptions:[],errorYOptions:[],selectBatch:null,unselectBatch:null,fill2d:!1,scatter2d:!1,error2d:!1,line2d:!1,select2d:null}).update=function(t){for(var e=Array(r.count),n=0;n&lt;r.count;n++)e[n]=t;r.fill2d&amp;&amp;r.fill2d.update(e),r.scatter2d&amp;&amp;r.scatter2d.update(e),r.line2d&amp;&amp;r.line2d.update(e),r.error2d&amp;&amp;r.error2d.update(e.concat(e)),r.select2d&amp;&amp;r.select2d.update(e),r.draw()},r.draw=function(){var t;for(t=0;t&lt;r.count;t++)r.fill2d&amp;&amp;r.fill2d.draw(t);for(t=0;t&lt;r.count;t++)r.line2d&amp;&amp;r.line2d.draw(t),r.error2d&amp;&amp;(r.error2d.draw(t),r.error2d.draw(t+r.count)),r.scatter2d&amp;&amp;!r.selectBatch&amp;&amp;r.scatter2d.draw(t);r.select2d&amp;&amp;r.selectBatch&amp;&amp;(r.select2d.draw(r.selectBatch),r.scatter2d.draw(r.unselectBatch)),r.dirty=!1},r.clear=function(){var t,i,a=n._size,o=n.width,s=n.height,l=e.xaxis,c=e.yaxis;t=l&amp;&amp;l.domain&amp;&amp;c&amp;&amp;c.domain?[a.l+l.domain[0]*a.w,a.b+c.domain[0]*a.h,o-a.r-(1-l.domain[1])*a.w,s-a.t-(1-c.domain[1])*a.h]:[a.l,a.b,o-a.r,s-a.t],r.select2d&amp;&amp;((i=r.select2d.regl._gl).enable(i.SCISSOR_TEST),i.scissor(t[0],t[1],t[2]-t[0],t[3]-t[1]),i.clearColor(0,0,0,0),i.clear(i.COLOR_BUFFER_BIT)),r.scatter2d&amp;&amp;((i=r.scatter2d.regl._gl).enable(i.SCISSOR_TEST),i.scissor(t[0],t[1],t[2]-t[0],t[3]-t[1]),i.clearColor(0,0,0,0),i.clear(i.COLOR_BUFFER_BIT))},r.clearSelect=function(){r.selectBatch&amp;&amp;(r.selectBatch=null,r.unselectBatch=null,r.scatter2d.update(r.markerOptions),r.clear(),r.draw())},r.destroy=function(){r.fill2d&amp;&amp;r.fill2d.destroy(),r.scatter2d&amp;&amp;r.scatter2d.destroy(),r.error2d&amp;&amp;r.error2d.destroy(),r.line2d&amp;&amp;r.line2d.destroy(),r.select2d&amp;&amp;r.select2d.destroy(),r.lineOptions=null,r.fillOptions=null,r.markerOptions=null,r.selectedOptions=null,r.unselectedOptions=null,r.errorXOptions=null,r.errorYOptions=null,r.selectBatch=null,r.unselectBatch=null,delete e._scene}),r.dirty||(r.dirty=!0,r.count=0,r.lineOptions=[],r.fillOptions=[],r.markerOptions=[],r.selectedOptions=[],r.unselectedOptions=[],r.errorXOptions=[],r.errorYOptions=[]),r}function a(t){if(&quot;circle&quot;===t)return null;var e,r,n=m.symbolNumber(t),i=m.symbolFuncs[n%100],a=!!m.symbolNoDot[n%100],o=!!m.symbolNoFill[n%100],s=O.test(t);return D[t]?D[t]:(e=s&amp;&amp;!a?i(1.1*C)+I:i(C),r=k(e,{w:L,h:L,viewBox:[-C,-C,C,C],stroke:o?z:-z}),D[t]=r,r||null)}var o=t(&quot;../../lib&quot;),s=t(&quot;../scatter/get_trace_color&quot;),l=t(&quot;../../components/errorbars&quot;),c=t(&quot;object-assign&quot;),u=t(&quot;../../plots/cartesian/axes&quot;),f=t(&quot;kdgrass&quot;),h=t(&quot;../../components/fx&quot;),d=t(&quot;../scatter/subtypes&quot;),p=t(&quot;../scatter/colorscale_calc&quot;),m=t(&quot;../../components/drawing&quot;),g=t(&quot;../scatter/make_bubble_size_func&quot;),v=t(&quot;../../constants/gl2d_dashes&quot;),y=t(&quot;../../lib/gl_format_color&quot;),x=t(&quot;../scatter/link_traces&quot;),b=t(&quot;regl-scatter2d&quot;),_=t(&quot;regl-line2d&quot;),w=t(&quot;regl-error2d&quot;),M=t(&quot;color-normalize&quot;),k=t(&quot;svg-path-sdf&quot;),A=t(&quot;regl&quot;),T=t(&quot;../scatter/fill_hover_text&quot;),S=t(&quot;fast-isnumeric&quot;),E=h.constants.MAXDIST,L=200,C=20,z=C/20,D={},I=m.symbolFuncs[0](.05*C),P=1e5,O=/-dot/;e.exports={moduleType:&quot;trace&quot;,name:&quot;scattergl&quot;,basePlotModule:t(&quot;../../plots/cartesian&quot;),categories:[&quot;gl&quot;,&quot;regl&quot;,&quot;cartesian&quot;,&quot;symbols&quot;,&quot;errorBarsOK&quot;,&quot;markerColorscale&quot;,&quot;showLegend&quot;,&quot;scatter-like&quot;],attributes:t(&quot;./attributes&quot;),supplyDefaults:t(&quot;./defaults&quot;),cleanData:t(&quot;../scatter/clean_data&quot;),colorbar:t(&quot;../scatter/colorbar&quot;),calc:function(t,e){var r,a,o,s,l,c=t._fullLayout,h={},d=u.getFromId(t,e.xaxis),m=u.getFromId(t,e.yaxis),g=c._plots[e.xaxis+e.yaxis],v=&quot;linear&quot;===d.type?e.x:d.makeCalcdata(e,&quot;x&quot;),y=&quot;linear&quot;===m.type?e.y:m.makeCalcdata(e,&quot;y&quot;),x=(v||y).length;if(!v)for(v=Array(x),a=0;a&lt;x;a++)v[a]=a;if(!y)for(y=Array(x),a=0;a&lt;x;a++)y[a]=a;var b,_;if(&quot;log&quot;===d.type)for(b=Array(v.length),a=0,o=v.length;a&lt;o;a++)b[a]=v[a],v[a]=d.d2l(v[a]);else for(b=v,a=0,o=v.length;a&lt;o;a++)v[a]=parseFloat(v[a]);if(&quot;log&quot;===m.type)for(_=Array(y.length),a=0,o=y.length;a&lt;o;a++)_[a]=y[a],y[a]=m.d2l(y[a]);else for(_=y,a=0,o=y.length;a&lt;o;a++)y[a]=parseFloat(y[a]);for(r=new Array(2*x),a=0;a&lt;x;a++)s=S(v[a])?+v[a]:NaN,l=S(y[a])?+y[a]:NaN,r[2*a]=s,r[2*a+1]=l;if(&quot;log&quot;!==d.type&amp;&amp;&quot;log&quot;!==m.type)h.tree=f(r,512);else{var w=h.ids=Array(x);for(a=0;a&lt;x;a++)w[a]=a}p(e);var M=n(t,0,e,r);if(M.markers)if(Array.isArray(M.markers.sizes)){var k=M.markers.sizes;u.expand(d,b,{padded:!0,ppad:k}),u.expand(m,_,{padded:!0,ppad:k})}else{var A=[1/0,-1/0],T=[1/0,-1/0],E=M.markers.size;for(a=0;a&lt;x;a++)s=v[a],l=y[a],A[0]&gt;s&amp;&amp;(A[0]=s),A[1]&lt;s&amp;&amp;(A[1]=s),T[0]&gt;l&amp;&amp;(T[0]=l),T[1]&lt;l&amp;&amp;(T[1]=l);x&lt;P?(u.expand(d,b,{padded:!0,ppad:E}),u.expand(m,_,{padded:!0,ppad:E})):(d._min&amp;&amp;d._min.push({val:A[0],pad:E}),d._max&amp;&amp;d._max.push({val:A[1],pad:E}),m._min&amp;&amp;m._min.push({val:T[0],pad:E}),m._max&amp;&amp;m._max.push({val:T[1],pad:E}))}else u.expand(d,b,{padded:!0}),u.expand(m,_,{padded:!0});var L=i(t,g);return M.fill&amp;&amp;!L.fill2d&amp;&amp;(L.fill2d=!0),M.marker&amp;&amp;!L.scatter2d&amp;&amp;(L.scatter2d=!0),M.line&amp;&amp;!L.line2d&amp;&amp;(L.line2d=!0),!M.errorX&amp;&amp;!M.errorY||L.error2d||(L.error2d=!0),L.lineOptions.push(M.line),L.errorXOptions.push(M.errorX),L.errorYOptions.push(M.errorY),L.fillOptions.push(M.fill),L.markerOptions.push(M.marker),L.selectedOptions.push(M.selected),L.unselectedOptions.push(M.unselected),L.count++,h.scene=L,h.index=L.count-1,h.x=v,h.y=y,h.rawx=b,h.rawy=_,h.positions=r,h.count=x,[{x:!1,y:!1,t:h,trace:e}]},plot:function(t,e,n){if(n.length){var i=t._fullLayout,a=n[0][0].t.scene;if(a){var o=i._size,s=i.width,l=i.height;i._glcanvas.each(function(e){e.regl||e.pick||(e.regl=A({canvas:this,attributes:{antialias:!e.pick,preserveDrawingBuffer:!0},extensions:[&quot;ANGLE_instanced_arrays&quot;,&quot;OES_element_index_uint&quot;],pixelRatio:t._context.plotGlPixelRatio||r.devicePixelRatio}))});var c=i._glcanvas.data()[0].regl;if(x(t,e,n),a.dirty){if(!0===a.error2d&amp;&amp;(a.error2d=w(c)),!0===a.line2d&amp;&amp;(a.line2d=_(c)),!0===a.scatter2d&amp;&amp;(a.scatter2d=b(c)),!0===a.fill2d&amp;&amp;(a.fill2d=_(c)),a.line2d&amp;&amp;a.line2d.update(a.lineOptions),a.error2d){var f=(a.errorXOptions||[]).concat(a.errorYOptions||[]);a.error2d.update(f)}a.scatter2d&amp;&amp;(a.selectBatch?(a.scatter2d.update(a.unselectedOptions),a.select2d.update(a.selectedOptions)):a.scatter2d.update(a.markerOptions)),a.fill2d&amp;&amp;(a.fillOptions.forEach(function(t,e){var r=n[e];if(t&amp;&amp;r&amp;&amp;r[0]&amp;&amp;r[0].trace){var i,o,s=r[0],l=s.trace,c=s.t,u=a.lineOptions[e],f=[],h=u&amp;&amp;u.positions||c.positions;if(&quot;tozeroy&quot;===l.fill)(f=(f=[h[0],0]).concat(h)).push(h[h.length-2]),f.push(0);else if(&quot;tozerox&quot;===l.fill)(f=(f=[0,h[1]]).concat(h)).push(0),f.push(h[h.length-1]);else if(&quot;toself&quot;===l.fill||&quot;tonext&quot;===l.fill){for(f=[],i=0,o=0;o&lt;h.length;o+=2)(isNaN(h[o])||isNaN(h[o+1]))&amp;&amp;((f=f.concat(h.slice(i,o))).push(h[i],h[i+1]),i=o+2);f=f.concat(h.slice(i)),i&amp;&amp;f.push(h[i],h[i+1])}else{var d=l._nexttrace;if(d){var p=a.lineOptions[e+1];if(p){var m=p.positions;if(&quot;tonexty&quot;===l.fill){for(f=h.slice(),e=Math.floor(m.length/2);e--;){var g=m[2*e],v=m[2*e+1];isNaN(g)||isNaN(v)||(f.push(g),f.push(v))}t.fill=d.fillcolor}}}}if(l._prevtrace&amp;&amp;&quot;tonext&quot;===l._prevtrace.fill){var y=a.lineOptions[e-1].positions,x=f.length/2,b=[i=x];for(o=0;o&lt;y.length;o+=2)(isNaN(y[o])||isNaN(y[o+1]))&amp;&amp;(b.push(o/2+x+1),i=o+2);f=f.concat(y),t.hole=b}t.opacity=l.opacity,t.positions=f}}),a.fill2d.update(a.fillOptions))}var h=i.dragmode;&quot;lasso&quot;!==h&amp;&amp;&quot;select&quot;!==h||a.select2d&amp;&amp;a.selectBatch&amp;&amp;a.scatter2d.update(a.unselectedOptions);var d=n.map(function(r){if(r&amp;&amp;r[0]&amp;&amp;r[0].trace){var n,c=r[0],f=c.trace,d=c.t,p=d.rawx,m=d.rawy,g=e.xaxis||u.getFromId(t,f.xaxis||&quot;x&quot;),v=e.yaxis||u.getFromId(t,f.yaxis||&quot;y&quot;),y=[(g._rl||g.range)[0],(v._rl||v.range)[0],(g._rl||g.range)[1],(v._rl||v.range)[1]],x=[o.l+g.domain[0]*o.w,o.b+v.domain[0]*o.h,s-o.r-(1-g.domain[1])*o.w,l-o.t-(1-v.domain[1])*o.h];if(f.selectedpoints||&quot;lasso&quot;===h||&quot;select&quot;===h){if(!a.select2d&amp;&amp;a.scatter2d){var _=i._glcanvas.data()[1].regl;a.select2d=b(_,{clone:a.scatter2d}),a.select2d.update(a.selectedOptions),f.selectedpoints&amp;&amp;!a.selectBatch&amp;&amp;(a.selectBatch=Array(a.count),a.unselectBatch=Array(a.count),a.scatter2d.update(a.unselectedOptions))}else a.select2d.update(a.selectedOptions);if(f.selectedpoints&amp;&amp;!a.unselectBatch[d.index]){a.selectBatch[d.index]=f.selectedpoints;var w=f.selectedpoints,M={};for(n=0;n&lt;w.length;n++)M[w[n]]=!0;var k=[];for(n=0;n&lt;d.count;n++)M[n]||k.push(n);a.unselectBatch[d.index]=k}var A=Array(d.count),T=Array(d.count);for(n=0;n&lt;d.count;n++)A[n]=g.c2p(p[n]),T[n]=v.c2p(m[n]);d.xpx=A,d.ypx=T}else d.xpx=d.ypx=null;return f.visible?{viewport:x,range:y}:null}});a.fill2d&amp;&amp;a.fill2d.update(d),a.line2d&amp;&amp;a.line2d.update(d),a.error2d&amp;&amp;a.error2d.update(d.concat(d)),a.scatter2d&amp;&amp;a.scatter2d.update(d),a.select2d&amp;&amp;a.select2d.update(d),a.draw()}}},hoverPoints:function(t,e,r,n){var i,a=t.cd,c=a[0].t,u=a[0].trace,f=t.xa,h=t.ya,d=c.rawx,p=c.rawy,m=f.c2p(e),g=h.c2p(r);if(c.tree){var v=f.p2c(m-E),y=f.p2c(m+E),x=h.p2c(g-E),b=h.p2c(g+E);i=&quot;x&quot;===n?c.tree.range(Math.min(v,y),Math.min(h._rl[0],h._rl[1]),Math.max(v,y),Math.max(h._rl[0],h._rl[1])):c.tree.range(Math.min(v,y),Math.min(x,b),Math.max(v,y),Math.max(x,b))}else{if(!c.ids)return[t];i=c.ids}var _,w,M,k,A,S,L,C=E;if(&quot;x&quot;===n)for(k=0;k&lt;i.length;k++)w=d[i[k]],(A=Math.abs(f.c2p(w)-m))&lt;C&amp;&amp;(C=A,_=i[k]);else for(k=0;k&lt;i.length;k++)w=d[i[k]],M=p[i[k]],A=f.c2p(w)-m,S=h.c2p(M)-g,(L=Math.sqrt(A*A+S*S))&lt;C&amp;&amp;(C=L,_=i[k]);if(t.index=_,void 0===_)return[t];var z={pointNumber:_,x:d[_],y:p[_]};z.tx=Array.isArray(u.text)?u.text[_]:u.text,z.htx=Array.isArray(u.hovertext)?u.hovertext[_]:u.hovertext,z.data=Array.isArray(u.customdata)?u.customdata[_]:u.customdata,z.tp=Array.isArray(u.textposition)?u.textposition[_]:u.textposition;var D=u.textfont;D&amp;&amp;(z.ts=Array.isArray(D.size)?D.size[_]:D.size,z.tc=Array.isArray(D.color)?D.color[_]:D.color,z.tf=Array.isArray(D.family)?D.family[_]:D.family);var I=u.marker;I&amp;&amp;(z.ms=Array.isArray(I.size)?I.size[_]:I.size,z.mo=Array.isArray(I.opacity)?I.opacity[_]:I.opacity,z.mx=Array.isArray(I.symbol)?I.symbol[_]:I.symbol,z.mc=Array.isArray(I.color)?I.color[_]:I.color);var P=I&amp;&amp;I.line;P&amp;&amp;(z.mlc=Array.isArray(P.color)?P.color[_]:P.color,z.mlw=Array.isArray(P.width)?P.width[_]:P.width);var O=I&amp;&amp;I.gradient;O&amp;&amp;&quot;none&quot;!==O.type&amp;&amp;(z.mgt=Array.isArray(O.type)?O.type[_]:O.type,z.mgc=Array.isArray(O.color)?O.color[_]:O.color);var F=f.c2p(z.x,!0),R=h.c2p(z.y,!0),N=z.mrc||1,j=u.hoverlabel;j&amp;&amp;(z.hbg=Array.isArray(j.bgcolor)?j.bgcolor[_]:j.bgcolor,z.hbc=Array.isArray(j.bordercolor)?j.bordercolor[_]:j.bordercolor,z.hts=Array.isArray(j.font.size)?j.font.size[_]:j.font.size,z.htc=Array.isArray(j.font.color)?j.font.color[_]:j.font.color,z.htf=Array.isArray(j.font.family)?j.font.family[_]:j.font.family,z.hnl=Array.isArray(j.namelength)?j.namelength[_]:j.namelength);var B=u.hoverinfo;B&amp;&amp;(z.hi=Array.isArray(B)?B[_]:B);var U={};return U[t.index]=z,o.extendFlat(t,{color:s(u,z),x0:F-N,x1:F+N,xLabelVal:z.x,y0:R-N,y1:R+N,yLabelVal:z.y,cd:U}),z.htx?t.text=z.htx:z.tx?t.text=z.tx:u.text&amp;&amp;(t.text=u.text),T(z,u,t),l.hoverInfo(z,u,t),[t]},style:function(t,e){if(e){var r=e[0].t.scene;r.clear(),r.draw()}},selectPoints:function(t,e){var r=t.cd,n=[],i=r[0].trace,a=r[0].t,o=a.x,s=a.y,l=a.rawx,c=a.rawy,u=a.scene;if(!u)return n;var f=!d.hasMarkers(i)&amp;&amp;!d.hasText(i);if(!0!==i.visible||f)return n;var h,p=null,m=null;if(!1===e||e.degenerate)for(m=Array(a.count),h=0;h&lt;a.count;h++)m[h]=h;else for(p=[],m=[],h=0;h&lt;a.count;h++)e.contains([a.xpx[h],a.ypx[h]])?(p.push(h),n.push({pointNumber:h,x:l?l[h]:o[h],y:c?c[h]:s[h]})):m.push(h);return u.selectBatch||(u.selectBatch=Array(u.count),u.unselectBatch=Array(u.count),u.scatter2d.update(u.unselectedOptions)),u.selectBatch[a.index]=p,u.unselectBatch[a.index]=m,n},sceneOptions:n,sceneUpdate:i,meta:{}}}).call(this,&quot;undefined&quot;!=typeof global?global:&quot;undefined&quot;!=typeof self?self:&quot;undefined&quot;!=typeof window?window:{})},{&quot;../../components/drawing&quot;:643,&quot;../../components/errorbars&quot;:649,&quot;../../components/fx&quot;:660,&quot;../../constants/gl2d_dashes&quot;:717,&quot;../../lib&quot;:743,&quot;../../lib/gl_format_color&quot;:739,&quot;../../plots/cartesian&quot;:800,&quot;../../plots/cartesian/axes&quot;:789,&quot;../scatter/clean_data&quot;:1069,&quot;../scatter/colorbar&quot;:1070,&quot;../scatter/colorscale_calc&quot;:1071,&quot;../scatter/fill_hover_text&quot;:1074,&quot;../scatter/get_trace_color&quot;:1076,&quot;../scatter/link_traces&quot;:1082,&quot;../scatter/make_bubble_size_func&quot;:1083,&quot;../scatter/subtypes&quot;:1088,&quot;./attributes&quot;:1113,&quot;./defaults&quot;:1114,&quot;color-normalize&quot;:99,&quot;fast-isnumeric&quot;:140,kdgrass:292,&quot;object-assign&quot;:462,regl:506,&quot;regl-error2d&quot;:500,&quot;regl-line2d&quot;:501,&quot;regl-scatter2d&quot;:503,&quot;svg-path-sdf&quot;:544}],1116:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../scattergeo/attributes&quot;),i=t(&quot;../scatter/attributes&quot;),a=t(&quot;../../plots/mapbox/layout_attributes&quot;),o=t(&quot;../../plots/attributes&quot;),s=t(&quot;../../components/colorbar/attributes&quot;),l=t(&quot;../../lib/extend&quot;).extendFlat,c=t(&quot;../../plot_api/edit_types&quot;).overrideAll,u=n.line,f=n.marker;e.exports=c({lon:n.lon,lat:n.lat,mode:l({},i.mode,{dflt:&quot;markers&quot;}),text:l({},i.text,{}),hovertext:l({},i.hovertext,{}),line:{color:u.color,width:u.width},connectgaps:i.connectgaps,marker:{symbol:{valType:&quot;string&quot;,dflt:&quot;circle&quot;,arrayOk:!0},opacity:f.opacity,size:f.size,sizeref:f.sizeref,sizemin:f.sizemin,sizemode:f.sizemode,color:f.color,colorscale:f.colorscale,cauto:f.cauto,cmax:f.cmax,cmin:f.cmin,autocolorscale:f.autocolorscale,reversescale:f.reversescale,showscale:f.showscale,colorbar:s},fill:n.fill,fillcolor:i.fillcolor,textfont:a.layers.symbol.textfont,textposition:a.layers.symbol.textposition,selected:{marker:{opacity:i.selected.marker.opacity}},unselected:{marker:{opacity:i.unselected.marker.opacity}},hoverinfo:l({},o.hoverinfo,{flags:[&quot;lon&quot;,&quot;lat&quot;,&quot;text&quot;,&quot;name&quot;]})},&quot;calc&quot;,&quot;nested&quot;)},{&quot;../../components/colorbar/attributes&quot;:619,&quot;../../lib/extend&quot;:732,&quot;../../plot_api/edit_types&quot;:773,&quot;../../plots/attributes&quot;:787,&quot;../../plots/mapbox/layout_attributes&quot;:848,&quot;../scatter/attributes&quot;:1066,&quot;../scattergeo/attributes&quot;:1104}],1117:[function(t,e,r){&quot;use strict&quot;;function n(){return{geojson:f.makeBlank(),layout:{visibility:&quot;none&quot;},paint:{}}}function i(t){return Array.isArray(t)?function(t){return t}:t?function(){return t}:a}function a(){return&quot;&quot;}function o(t,e){return t[0]-e[0]}function s(t){return t[0]===u}var l=t(&quot;fast-isnumeric&quot;),c=t(&quot;../../lib&quot;),u=t(&quot;../../constants/numerical&quot;).BADNUM,f=t(&quot;../../lib/geojson_utils&quot;),h=t(&quot;../../components/colorscale&quot;),d=t(&quot;../scatter/make_bubble_size_func&quot;),p=t(&quot;../scatter/subtypes&quot;),m=t(&quot;../../plots/mapbox/convert_text_opts&quot;),g=t(&quot;../../constants/interactions&quot;).DESELECTDIM,v=&quot;circle-color&quot;,y=&quot;circle-radius&quot;,x=&quot;circle-opacity&quot;;e.exports=function(t){var e=t[0].trace,r=!0===e.visible,u=&quot;none&quot;!==e.fill,b=p.hasLines(e),_=p.hasMarkers(e),w=p.hasText(e),M=_&amp;&amp;&quot;circle&quot;===e.marker.symbol,k=_&amp;&amp;&quot;circle&quot;!==e.marker.symbol,A=n(),T=n(),S=n(),E=n(),L={fill:A,line:T,circle:S,symbol:E};if(!r)return L;var C;if((u||b)&amp;&amp;(C=f.calcTraceToLineCoords(t)),u&amp;&amp;(A.geojson=f.makePolygon(C),A.layout.visibility=&quot;visible&quot;,c.extendFlat(A.paint,{&quot;fill-color&quot;:e.fillcolor})),b&amp;&amp;(T.geojson=f.makeLine(C),T.layout.visibility=&quot;visible&quot;,c.extendFlat(T.paint,{&quot;line-width&quot;:e.line.width,&quot;line-color&quot;:e.line.color,&quot;line-opacity&quot;:e.opacity})),M){var z={};z[v]={},z[y]={},z[x]={},S.geojson=function(t,e){function r(t,r,n,i){void 0===e[r][n]&amp;&amp;(e[r][n]=i),t[r]=e[r][n]}var n,i=t[0].trace,a=i.marker;h.hasColorscale(i,&quot;marker&quot;)?n=h.makeColorScaleFunc(h.extractScale(a.colorscale,a.cmin,a.cmax)):Array.isArray(a.color)&amp;&amp;(n=c.identity);var o;p.isBubble(i)&amp;&amp;(o=d(i));var u;u=i.selectedpoints?function(t,e){return i.opacity*e*(t.selected?1:g)}:function(t,e){return i.opacity*e};var f;Array.isArray(a.opacity)?f=function(t){var e=l(t.mo)?+c.constrain(t.mo,0,1):0;return u(t,e)}:i.selectedpoints&amp;&amp;(f=function(t){return u(t,a.opacity)});for(var m=[],b=0;b&lt;t.length;b++){var _=t[b],w=_.lonlat;if(!s(w)){var M={};if(n){var k=_.mcc=n(_.mc);r(M,v,k,b)}o&amp;&amp;r(M,y,o(_.ms),b),f&amp;&amp;r(M,x,f(_),b),m.push({type:&quot;Feature&quot;,geometry:{type:&quot;Point&quot;,coordinates:w},properties:M})}}return{type:&quot;FeatureCollection&quot;,features:m}}(t,z),S.layout.visibility=&quot;visible&quot;,c.extendFlat(S.paint,{&quot;circle-opacity&quot;:function(t,e){var r,n=t.marker;if(Array.isArray(n.opacity)||t.selectedpoints){for(var i=Object.keys(e[x]),a=[],s=0;s&lt;i.length;s++){var l=i[s];a.push([e[x][l],+l])}r={property:x,stops:a.sort(o)}}else r=t.opacity*n.opacity;return r}(e,z),&quot;circle-color&quot;:function(t,e){var r,n=t.marker;if(Array.isArray(n.color)){for(var i=Object.keys(e[v]),a=[],o=0;o&lt;i.length;o++){var s=i[o];a.push([e[v][s],s])}r={property:v,stops:a}}else r=n.color;return r}(e,z),&quot;circle-radius&quot;:function(t,e){var r,n=t.marker;if(Array.isArray(n.size)){for(var i=Object.keys(e[y]),a=[],s=0;s&lt;i.length;s++){var l=i[s];a.push([e[y][l],+l])}r={property:y,stops:a.sort(o)}}else r=n.size/2;return r}(e,z)})}if((k||w)&amp;&amp;(E.geojson=function(t){for(var e=t[0].trace,r=(e.marker||{}).symbol,n=e.text,o=&quot;circle&quot;!==r?i(r):a,l=p.hasText(e)?i(n):a,c=[],u=0;u&lt;t.length;u++){var f=t[u];s(f.lonlat)||c.push({type:&quot;Feature&quot;,geometry:{type:&quot;Point&quot;,coordinates:f.lonlat},properties:{symbol:o(f.mx),text:l(f.tx)}})}return{type:&quot;FeatureCollection&quot;,features:c}}(t),c.extendFlat(E.layout,{visibility:&quot;visible&quot;,&quot;icon-image&quot;:&quot;{symbol}-15&quot;,&quot;text-field&quot;:&quot;{text}&quot;}),k&amp;&amp;(c.extendFlat(E.layout,{&quot;icon-size&quot;:e.marker.size/10}),c.extendFlat(E.paint,{&quot;icon-opacity&quot;:e.opacity*e.marker.opacity,&quot;icon-color&quot;:e.marker.color})),w)){var D=(e.marker||{}).size,I=m(e.textposition,D);c.extendFlat(E.layout,{&quot;text-size&quot;:e.textfont.size,&quot;text-anchor&quot;:I.anchor,&quot;text-offset&quot;:I.offset}),c.extendFlat(E.paint,{&quot;text-color&quot;:e.textfont.color,&quot;text-opacity&quot;:e.opacity})}return L}},{&quot;../../components/colorscale&quot;:633,&quot;../../constants/interactions&quot;:720,&quot;../../constants/numerical&quot;:721,&quot;../../lib&quot;:743,&quot;../../lib/geojson_utils&quot;:736,&quot;../../plots/mapbox/convert_text_opts&quot;:845,&quot;../scatter/make_bubble_size_func&quot;:1083,&quot;../scatter/subtypes&quot;:1088,&quot;fast-isnumeric&quot;:140}],1118:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib&quot;),i=t(&quot;../scatter/subtypes&quot;),a=t(&quot;../scatter/marker_defaults&quot;),o=t(&quot;../scatter/line_defaults&quot;),s=t(&quot;../scatter/text_defaults&quot;),l=t(&quot;../scatter/fillcolor_defaults&quot;),c=t(&quot;./attributes&quot;);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(&quot;lon&quot;)||[],i=r(&quot;lat&quot;)||[],a=Math.min(n.length,i.length);return a&lt;n.length&amp;&amp;(e.lon=n.slice(0,a)),a&lt;i.length&amp;&amp;(e.lat=i.slice(0,a)),a}(0,e,f)){if(f(&quot;text&quot;),f(&quot;hovertext&quot;),f(&quot;mode&quot;),i.hasLines(e)&amp;&amp;(o(t,e,r,u,f,{noDash:!0}),f(&quot;connectgaps&quot;)),i.hasMarkers(e)){a(t,e,r,u,f,{noLine:!0,noSelect:!0});var h=e.marker;h.line={width:0},&quot;circle&quot;!==h.symbol&amp;&amp;(Array.isArray(h.size)&amp;&amp;(h.size=h.size[0]),Array.isArray(h.color)&amp;&amp;(h.color=h.color[0]))}i.hasText(e)&amp;&amp;s(t,e,u,f,{noSelect:!0}),f(&quot;fill&quot;),&quot;none&quot;!==e.fill&amp;&amp;l(t,e,r,f),n.coerceSelectionMarkerOpacity(e,f)}else e.visible=!1}},{&quot;../../lib&quot;:743,&quot;../scatter/fillcolor_defaults&quot;:1075,&quot;../scatter/line_defaults&quot;:1079,&quot;../scatter/marker_defaults&quot;:1084,&quot;../scatter/subtypes&quot;:1088,&quot;../scatter/text_defaults&quot;:1089,&quot;./attributes&quot;:1116}],1119:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t,e){return t.lon=e.lon,t.lat=e.lat,t}},{}],1120:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../components/fx&quot;),i=t(&quot;../scatter/get_trace_color&quot;),a=t(&quot;../scatter/fill_hover_text&quot;),o=t(&quot;../../constants/numerical&quot;).BADNUM;e.exports=function(t,e,r){var s=t.cd,l=s[0].trace,c=t.xa,u=t.ya,f=360*(e&gt;=0?Math.floor((e+180)/360):Math.ceil((e-180)/360)),h=e-f;if(n.getClosest(s,function(t){var e=t.lonlat;if(e[0]===o)return 1/0;var n=Math.abs(c.c2p(e)-c.c2p([h,e[1]])),i=Math.abs(u.c2p(e)-u.c2p([e[0],r])),a=Math.max(3,t.mrc||0);return Math.max(Math.sqrt(n*n+i*i)-a,1-3/a)},t),!1!==t.index){var d=s[t.index],p=d.lonlat,m=[p[0]+f,p[1]],g=c.c2p(m),v=u.c2p(m),y=d.mrc||1;return t.x0=g-y,t.x1=g+y,t.y0=v-y,t.y1=v+y,t.color=i(l,d),t.extraText=function(t,e,r){function n(t){return t+&quot;\xb0&quot;}var i=(e.hi||t.hoverinfo).split(&quot;+&quot;),o=-1!==i.indexOf(&quot;all&quot;),s=-1!==i.indexOf(&quot;lon&quot;),l=-1!==i.indexOf(&quot;lat&quot;),c=e.lonlat,u=[];return o||s&amp;&amp;l?u.push(&quot;(&quot;+n(c[0])+&quot;, &quot;+n(c[1])+&quot;)&quot;):s?u.push(r.lon+n(c[0])):l&amp;&amp;u.push(r.lat+n(c[1])),(o||-1!==i.indexOf(&quot;text&quot;))&amp;&amp;a(e,t,u),u.join(&quot;&lt;br&gt;&quot;)}(l,d,s[0].t.labels),[t]}}},{&quot;../../components/fx&quot;:660,&quot;../../constants/numerical&quot;:721,&quot;../scatter/fill_hover_text&quot;:1074,&quot;../scatter/get_trace_color&quot;:1076}],1121:[function(t,e,r){&quot;use strict&quot;;var n={};n.attributes=t(&quot;./attributes&quot;),n.supplyDefaults=t(&quot;./defaults&quot;),n.colorbar=t(&quot;../scatter/colorbar&quot;),n.calc=t(&quot;../scattergeo/calc&quot;),n.plot=t(&quot;./plot&quot;),n.hoverPoints=t(&quot;./hover&quot;),n.eventData=t(&quot;./event_data&quot;),n.selectPoints=t(&quot;./select&quot;),n.style=function(t,e){if(e){e[0].trace._glTrace.update(e)}},n.moduleType=&quot;trace&quot;,n.name=&quot;scattermapbox&quot;,n.basePlotModule=t(&quot;../../plots/mapbox&quot;),n.categories=[&quot;mapbox&quot;,&quot;gl&quot;,&quot;symbols&quot;,&quot;markerColorscale&quot;,&quot;showLegend&quot;,&quot;scatterlike&quot;],n.meta={},e.exports=n},{&quot;../../plots/mapbox&quot;:846,&quot;../scatter/colorbar&quot;:1070,&quot;../scattergeo/calc&quot;:1105,&quot;./attributes&quot;:1116,&quot;./defaults&quot;:1118,&quot;./event_data&quot;:1119,&quot;./hover&quot;:1120,&quot;./plot&quot;:1122,&quot;./select&quot;:1123}],1122:[function(t,e,r){&quot;use strict&quot;;function n(t,e){this.mapbox=t,this.map=t.map,this.uid=e,this.idSourceFill=e+&quot;-source-fill&quot;,this.idSourceLine=e+&quot;-source-line&quot;,this.idSourceCircle=e+&quot;-source-circle&quot;,this.idSourceSymbol=e+&quot;-source-symbol&quot;,this.idLayerFill=e+&quot;-layer-fill&quot;,this.idLayerLine=e+&quot;-layer-line&quot;,this.idLayerCircle=e+&quot;-layer-circle&quot;,this.idLayerSymbol=e+&quot;-layer-symbol&quot;,this.mapbox.initSource(this.idSourceFill),this.mapbox.initSource(this.idSourceLine),this.mapbox.initSource(this.idSourceCircle),this.mapbox.initSource(this.idSourceSymbol),this.map.addLayer({id:this.idLayerFill,source:this.idSourceFill,type:&quot;fill&quot;}),this.map.addLayer({id:this.idLayerLine,source:this.idSourceLine,type:&quot;line&quot;}),this.map.addLayer({id:this.idLayerCircle,source:this.idSourceCircle,type:&quot;circle&quot;}),this.map.addLayer({id:this.idLayerSymbol,source:this.idSourceSymbol,type:&quot;symbol&quot;})}function i(t){return&quot;visible&quot;===t.layout.visibility}var a=t(&quot;./convert&quot;),o=n.prototype;o.update=function(t){var e=this.mapbox,r=a(t);e.setOptions(this.idLayerFill,&quot;setLayoutProperty&quot;,r.fill.layout),e.setOptions(this.idLayerLine,&quot;setLayoutProperty&quot;,r.line.layout),e.setOptions(this.idLayerCircle,&quot;setLayoutProperty&quot;,r.circle.layout),e.setOptions(this.idLayerSymbol,&quot;setLayoutProperty&quot;,r.symbol.layout),i(r.fill)&amp;&amp;(e.setSourceData(this.idSourceFill,r.fill.geojson),e.setOptions(this.idLayerFill,&quot;setPaintProperty&quot;,r.fill.paint)),i(r.line)&amp;&amp;(e.setSourceData(this.idSourceLine,r.line.geojson),e.setOptions(this.idLayerLine,&quot;setPaintProperty&quot;,r.line.paint)),i(r.circle)&amp;&amp;(e.setSourceData(this.idSourceCircle,r.circle.geojson),e.setOptions(this.idLayerCircle,&quot;setPaintProperty&quot;,r.circle.paint)),i(r.symbol)&amp;&amp;(e.setSourceData(this.idSourceSymbol,r.symbol.geojson),e.setOptions(this.idLayerSymbol,&quot;setPaintProperty&quot;,r.symbol.paint)),t[0].trace._glTrace=this},o.dispose=function(){var t=this.map;t.removeLayer(this.idLayerFill),t.removeLayer(this.idLayerLine),t.removeLayer(this.idLayerCircle),t.removeLayer(this.idLayerSymbol),t.removeSource(this.idSourceFill),t.removeSource(this.idSourceLine),t.removeSource(this.idSourceCircle),t.removeSource(this.idSourceSymbol)},e.exports=function(t,e){var r=new n(t,e[0].trace.uid);return r.update(e),r}},{&quot;./convert&quot;:1117}],1123:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../scatter/subtypes&quot;);e.exports=function(t,e){var r,i,a,o,s,l=t.cd,c=t.xaxis,u=t.yaxis,f=[],h=l[0].trace;if(!n.hasMarkers(h))return[];if(!1===e)for(s=0;s&lt;l.length;s++)l[s].selected=0;else for(s=0;s&lt;l.length;s++)i=(r=l[s]).lonlat,a=c.c2p(i),o=u.c2p(i),e.contains([a,o])?(f.push({pointNumber:s,lon:i[0],lat:i[1]}),r.selected=1):r.selected=0;return f}},{&quot;../scatter/subtypes&quot;:1088}],1124:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib/extend&quot;).extendFlat,i=t(&quot;../scatter/attributes&quot;),a=t(&quot;../../plots/attributes&quot;),o=i.line;e.exports={mode:i.mode,r:{valType:&quot;data_array&quot;,editType:&quot;calc+clearAxisTypes&quot;},theta:{valType:&quot;data_array&quot;,editType:&quot;calc+clearAxisTypes&quot;},thetaunit:{valType:&quot;enumerated&quot;,values:[&quot;radians&quot;,&quot;degrees&quot;,&quot;gradians&quot;],dflt:&quot;degrees&quot;,editType:&quot;calc+clearAxisTypes&quot;},text:i.text,hovertext:i.hovertext,line:{color:o.color,width:o.width,dash:o.dash,shape:n({},o.shape,{values:[&quot;linear&quot;,&quot;spline&quot;]}),smoothing:o.smoothing,editType:&quot;calc&quot;},connectgaps:i.connectgaps,marker:i.marker,cliponaxis:n({},i.cliponaxis,{dflt:!1}),textposition:i.textposition,textfont:i.textfont,fill:n({},i.fill,{values:[&quot;none&quot;,&quot;toself&quot;,&quot;tonext&quot;]}),fillcolor:i.fillcolor,hoverinfo:n({},a.hoverinfo,{flags:[&quot;r&quot;,&quot;theta&quot;,&quot;text&quot;,&quot;name&quot;]}),hoveron:i.hoveron,selected:i.selected,unselected:i.unselected}},{&quot;../../lib/extend&quot;:732,&quot;../../plots/attributes&quot;:787,&quot;../scatter/attributes&quot;:1066}],1125:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;fast-isnumeric&quot;),i=t(&quot;../../constants/numerical&quot;).BADNUM,a=t(&quot;../../plots/cartesian/axes&quot;),o=t(&quot;../scatter/colorscale_calc&quot;),s=t(&quot;../scatter/arrays_to_calcdata&quot;),l=t(&quot;../scatter/calc_selection&quot;),c=t(&quot;../scatter/calc&quot;).calcMarkerSize;e.exports=function(t,e){function r(t){return d.c2rad(t,e.thetaunit)}for(var u=t._fullLayout,f=e.subplot,h=u[f].radialaxis,d=u[f].angularaxis,p=h.makeCalcdata(e,&quot;r&quot;),m=d.makeCalcdata(e,&quot;theta&quot;),g=p.length,v=new Array(g),y=0;y&lt;g;y++){var x=p[y],b=m[y],_=v[y]={};n(x)&amp;&amp;n(b)?(_.r=x,_.theta=b,_.rad=r(b)):_.r=i}var w=c(e,g);return a.expand(h,p,{ppad:w}),&quot;linear&quot;!==d.type&amp;&amp;(d.autorange=!0,a.expand(d,m)),o(e),s(v,e),l(v,e),v}},{&quot;../../constants/numerical&quot;:721,&quot;../../plots/cartesian/axes&quot;:789,&quot;../scatter/arrays_to_calcdata&quot;:1065,&quot;../scatter/calc&quot;:1067,&quot;../scatter/calc_selection&quot;:1068,&quot;../scatter/colorscale_calc&quot;:1071,&quot;fast-isnumeric&quot;:140}],1126:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib&quot;),i=t(&quot;../scatter/subtypes&quot;),a=t(&quot;../scatter/marker_defaults&quot;),o=t(&quot;../scatter/line_defaults&quot;),s=t(&quot;../scatter/line_shape_defaults&quot;),l=t(&quot;../scatter/text_defaults&quot;),c=t(&quot;../scatter/fillcolor_defaults&quot;),u=t(&quot;../scatter/constants&quot;).PTS_LINESONLY,f=t(&quot;./attributes&quot;);e.exports=function(t,e,r,h){function d(r,i){return n.coerce(t,e,f,r,i)}var p=d(&quot;r&quot;),m=d(&quot;theta&quot;),g=p&amp;&amp;m?Math.min(p.length,m.length):0;if(g){g&lt;p.length&amp;&amp;(e.r=p.slice(0,g)),g&lt;m.length&amp;&amp;(e.theta=m.slice(0,g)),d(&quot;thetaunit&quot;),d(&quot;mode&quot;,g&lt;u?&quot;lines+markers&quot;:&quot;lines&quot;),d(&quot;text&quot;),d(&quot;hovertext&quot;),i.hasLines(e)&amp;&amp;(o(t,e,r,h,d),s(t,e,d),d(&quot;connectgaps&quot;)),i.hasMarkers(e)&amp;&amp;a(t,e,r,h,d,{gradient:!0}),i.hasText(e)&amp;&amp;l(t,e,h,d);var v=[];(i.hasMarkers(e)||i.hasText(e))&amp;&amp;(d(&quot;cliponaxis&quot;),d(&quot;marker.maxdisplayed&quot;),v.push(&quot;points&quot;)),d(&quot;fill&quot;),&quot;none&quot;!==e.fill&amp;&amp;(c(t,e,r,d),i.hasLines(e)||s(t,e,d)),&quot;tonext&quot;!==e.fill&amp;&amp;&quot;toself&quot;!==e.fill||v.push(&quot;fills&quot;),d(&quot;hoveron&quot;,v.join(&quot;+&quot;)||&quot;points&quot;),n.coerceSelectionMarkerOpacity(e,d)}else e.visible=!1}},{&quot;../../lib&quot;:743,&quot;../scatter/constants&quot;:1072,&quot;../scatter/fillcolor_defaults&quot;:1075,&quot;../scatter/line_defaults&quot;:1079,&quot;../scatter/line_shape_defaults&quot;:1081,&quot;../scatter/marker_defaults&quot;:1084,&quot;../scatter/subtypes&quot;:1088,&quot;../scatter/text_defaults&quot;:1089,&quot;./attributes&quot;:1124}],1127:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r){function n(t,e){c.push(t._hovertitle+&quot;: &quot;+a.tickText(t,e,&quot;hover&quot;).text)}var i=r.radialAxis,s=r.angularAxis,l=(t.hi||e.hoverinfo).split(&quot;+&quot;),c=[];i._hovertitle=&quot;r&quot;,s._hovertitle=&quot;\u03b8&quot;;var u,f=s._c2rad(t.theta,e.thetaunit);return u=&quot;linear&quot;===s.type&amp;&amp;e.thetaunit!==s.thetaunit?&quot;degrees&quot;===s.thetaunit?o.rad2deg(f):f:t.theta,-1!==l.indexOf(&quot;all&quot;)&amp;&amp;(l=[&quot;r&quot;,&quot;theta&quot;]),-1!==l.indexOf(&quot;r&quot;)&amp;&amp;n(i,i.c2r(t.r)),-1!==l.indexOf(&quot;theta&quot;)&amp;&amp;n(s,u),c.join(&quot;&lt;br&gt;&quot;)}var i=t(&quot;../scatter/hover&quot;),a=t(&quot;../../plots/cartesian/axes&quot;),o=t(&quot;../../lib&quot;);e.exports={hoverPoints:function(t,e,r,a){var o=i(t,e,r,a);if(o&amp;&amp;!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.isPtWithinSector(c))return s.xLabelVal=void 0,s.yLabelVal=void 0,s.extraText=n(c,u,l),o}},makeHoverPointText:n}},{&quot;../../lib&quot;:743,&quot;../../plots/cartesian/axes&quot;:789,&quot;../scatter/hover&quot;:1077}],1128:[function(t,e,r){&quot;use strict&quot;;e.exports={moduleType:&quot;trace&quot;,name:&quot;scatterpolar&quot;,basePlotModule:t(&quot;../../plots/polar&quot;),categories:[&quot;polar&quot;,&quot;symbols&quot;,&quot;markerColorscale&quot;,&quot;showLegend&quot;,&quot;scatter-like&quot;],attributes:t(&quot;./attributes&quot;),supplyDefaults:t(&quot;./defaults&quot;),calc:t(&quot;./calc&quot;),plot:t(&quot;./plot&quot;),style:t(&quot;../scatter/style&quot;).style,hoverPoints:t(&quot;./hover&quot;).hoverPoints,selectPoints:t(&quot;../scatter/select&quot;),meta:{}}},{&quot;../../plots/polar&quot;:855,&quot;../scatter/select&quot;:1086,&quot;../scatter/style&quot;:1087,&quot;./attributes&quot;:1124,&quot;./calc&quot;:1125,&quot;./defaults&quot;:1126,&quot;./hover&quot;:1127,&quot;./plot&quot;:1129}],1129:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../scatter/plot&quot;),i=t(&quot;../../constants/numerical&quot;).BADNUM;e.exports=function(t,e,r){var a,o,s,l={xaxis:e.xaxis,yaxis:e.yaxis,plot:e.framework,layerClipId:e._hasClipOnAxisFalse?e.clipIds.circle:null},c=e.radialAxis,u=c.range;for(s=u[0]&gt;u[1]?function(t){return t&lt;=0}:function(t){return t&gt;=0},a=0;a&lt;r.length;a++)for(o=0;o&lt;r[a].length;o++){var f=r[a][o],h=f.r;if(h!==i){var d=c.c2r(h)-u[0];if(s(d)){var p=f.rad;f.x=d*Math.cos(p),f.y=d*Math.sin(p);continue}f.intoCenter=[e.cxx,e.cyy]}f.x=i,f.y=i}n(t,l,r)}},{&quot;../../constants/numerical&quot;:721,&quot;../scatter/plot&quot;:1085}],1130:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../scatterpolar/attributes&quot;),i=t(&quot;../scattergl/attributes&quot;);e.exports={mode:n.mode,r:n.r,theta:n.theta,thetaunit:n.thetaunit,text:n.text,line:i.line,connectgaps:i.connectgaps,marker:i.marker,fill:i.fill,fillcolor:i.fillcolor,hoverinfo:n.hoverinfo,hoveron:n.hoveron,selected:n.selected,unselected:n.unselected}},{&quot;../scattergl/attributes&quot;:1113,&quot;../scatterpolar/attributes&quot;:1124}],1131:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib&quot;),i=t(&quot;../scatter/subtypes&quot;),a=t(&quot;../scatter/marker_defaults&quot;),o=t(&quot;../scatter/line_defaults&quot;),s=t(&quot;../scatter/fillcolor_defaults&quot;),l=t(&quot;../scatter/constants&quot;).PTS_LINESONLY,c=t(&quot;./attributes&quot;);e.exports=function(t,e,r,u){function f(r,i){return n.coerce(t,e,c,r,i)}var h=f(&quot;r&quot;),d=f(&quot;theta&quot;),p=h&amp;&amp;d?Math.min(h.length,d.length):0;if(p){p&lt;h.length&amp;&amp;(e.r=h.slice(0,p)),p&lt;d.length&amp;&amp;(e.theta=d.slice(0,p)),f(&quot;thetaunit&quot;),f(&quot;mode&quot;,p&lt;l?&quot;lines+markers&quot;:&quot;lines&quot;),f(&quot;text&quot;),i.hasLines(e)&amp;&amp;(o(t,e,r,u,f),f(&quot;connectgaps&quot;));var m=[];i.hasMarkers(e)&amp;&amp;(a(t,e,r,u,f),m.push(&quot;points&quot;)),f(&quot;fill&quot;),&quot;none&quot;!==e.fill&amp;&amp;s(t,e,r,f),&quot;tonext&quot;!==e.fill&amp;&amp;&quot;toself&quot;!==e.fill||m.push(&quot;fills&quot;),f(&quot;hoveron&quot;,m.join(&quot;+&quot;)||&quot;points&quot;),n.coerceSelectionMarkerOpacity(e,f)}else e.visible=!1}},{&quot;../../lib&quot;:743,&quot;../scatter/constants&quot;:1072,&quot;../scatter/fillcolor_defaults&quot;:1075,&quot;../scatter/line_defaults&quot;:1079,&quot;../scatter/marker_defaults&quot;:1084,&quot;../scatter/subtypes&quot;:1088,&quot;./attributes&quot;:1130}],1132:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;kdgrass&quot;),i=t(&quot;fast-isnumeric&quot;),a=t(&quot;../scattergl&quot;),o=t(&quot;../scatter/colorscale_calc&quot;),s=t(&quot;../../plots/cartesian/axes&quot;),l=t(&quot;../scatterpolar/hover&quot;).makeHoverPointText,c=t(&quot;../scatter/subtypes&quot;);e.exports={moduleType:&quot;trace&quot;,name:&quot;scatterpolargl&quot;,basePlotModule:t(&quot;../../plots/polar&quot;),categories:[&quot;gl&quot;,&quot;regl&quot;,&quot;polar&quot;,&quot;symbols&quot;,&quot;markerColorscale&quot;,&quot;showLegend&quot;,&quot;scatter-like&quot;],attributes:t(&quot;./attributes&quot;),supplyDefaults:t(&quot;./defaults&quot;),calc:function(t,e){var r=t._fullLayout,n=e.subplot,i=r[n].radialaxis,a=r[n].angularaxis,l=i.makeCalcdata(e,&quot;r&quot;),c=a.makeCalcdata(e,&quot;theta&quot;),u={};return o(e),u.r=l,u.theta=c,s.expand(i,l,{tozero:!0}),&quot;linear&quot;!==a.type&amp;&amp;(a.autorange=!0,s.expand(a,c)),[{x:!1,y:!1,t:u,trace:e}]},plot:function(t,e,r){var o=e.radialAxis,s=e.angularAxis,l=o.range,u=a.sceneUpdate(t,e);return u.clear(),r.forEach(function(f,h){function d(t){return s.c2rad(t,b.thetaunit)}if(f&amp;&amp;f[0]&amp;&amp;f[0].trace){var p,m,g,v,y,x=f[0],b=x.trace,_=x.t,w=_.r,M=_.theta,k=w.slice(),A=M.slice();for(p=0;p&lt;w.length;p++)m=w[p],v=M[p],y=s.c2rad(v,b.thetaunit),e.isPtWithinSector({r:m,rad:y})||(k[p]=NaN,A[p]=NaN);var T=w.length,S=new Array(2*T),E=Array(T),L=Array(T);for(p=0;p&lt;T;p++)m=k[p],v=A[p],i(m)&amp;&amp;i(v)&amp;&amp;m&gt;=0?(g=o.c2r(m)-l[0],y=d(v),E[p]=S[2*p]=g*Math.cos(y),L[p]=S[2*p+1]=g*Math.sin(y)):E[p]=L[p]=S[2*p]=S[2*p+1]=NaN;var C=a.sceneOptions(t,e,b,S);C.fill&amp;&amp;!u.fill2d&amp;&amp;(u.fill2d=!0),C.marker&amp;&amp;!u.scatter2d&amp;&amp;(u.scatter2d=!0),C.line&amp;&amp;!u.line2d&amp;&amp;(u.line2d=!0),!C.errorX&amp;&amp;!C.errorY||u.error2d||(u.error2d=!0),c.hasMarkers(b)&amp;&amp;(C.selected.positions=C.unselected.positions=C.marker.positions),u.lineOptions.push(C.line),u.errorXOptions.push(C.errorX),u.errorYOptions.push(C.errorY),u.fillOptions.push(C.fill),u.markerOptions.push(C.marker),u.selectedOptions.push(C.selected),u.unselectedOptions.push(C.unselected),u.count=r.length,_.scene=u,_.index=h,_.x=E,_.y=L,_.rawx=E,_.rawy=L,_.r=w,_.theta=M,_.positions=S,_.count=T,_.tree=n(S,512)}}),a.plot(t,e,r)},hoverPoints:function(t,e,r,n){var i=t.cd[0].t,o=i.r,s=i.theta,c=a.hoverPoints(t,e,r,n);if(c&amp;&amp;!1!==c[0].index){var u=c[0];if(void 0===u.index)return c;var f=t.subplot,h=f.angularAxis,d=u.cd[u.index],p=u.trace;if(d.r=o[u.index],d.theta=s[u.index],d.rad=h.c2rad(d.theta,p.thetaunit),f.isPtWithinSector(d))return u.xLabelVal=void 0,u.yLabelVal=void 0,u.extraText=l(d,p,f),c}},style:a.style,selectPoints:a.selectPoints,meta:{}}},{&quot;../../plots/cartesian/axes&quot;:789,&quot;../../plots/polar&quot;:855,&quot;../scatter/colorscale_calc&quot;:1071,&quot;../scatter/subtypes&quot;:1088,&quot;../scattergl&quot;:1115,&quot;../scatterpolar/hover&quot;:1127,&quot;./attributes&quot;:1130,&quot;./defaults&quot;:1131,&quot;fast-isnumeric&quot;:140,kdgrass:292}],1133:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../scatter/attributes&quot;),i=t(&quot;../../plots/attributes&quot;),a=t(&quot;../../components/colorscale/color_attributes&quot;),o=t(&quot;../../components/colorbar/attributes&quot;),s=t(&quot;../../components/drawing/attributes&quot;).dash,l=t(&quot;../../lib/extend&quot;).extendFlat,c=n.marker,u=n.line,f=c.line;e.exports={a:{valType:&quot;data_array&quot;,editType:&quot;calc&quot;},b:{valType:&quot;data_array&quot;,editType:&quot;calc&quot;},c:{valType:&quot;data_array&quot;,editType:&quot;calc&quot;},sum:{valType:&quot;number&quot;,dflt:0,min:0,editType:&quot;calc&quot;},mode:l({},n.mode,{dflt:&quot;markers&quot;}),text:l({},n.text,{}),hovertext:l({},n.hovertext,{}),line:{color:u.color,width:u.width,dash:s,shape:l({},u.shape,{values:[&quot;linear&quot;,&quot;spline&quot;]}),smoothing:u.smoothing,editType:&quot;calc&quot;},connectgaps:n.connectgaps,cliponaxis:n.cliponaxis,fill:l({},n.fill,{values:[&quot;none&quot;,&quot;toself&quot;,&quot;tonext&quot;]}),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:&quot;calc&quot;},a(&quot;marker.line&quot;)),gradient:c.gradient,editType:&quot;calc&quot;},a(&quot;marker&quot;),{showscale:c.showscale,colorbar:o}),textfont:n.textfont,textposition:n.textposition,selected:n.selected,unselected:n.unselected,hoverinfo:l({},i.hoverinfo,{flags:[&quot;a&quot;,&quot;b&quot;,&quot;c&quot;,&quot;text&quot;,&quot;name&quot;]}),hoveron:n.hoveron}},{&quot;../../components/colorbar/attributes&quot;:619,&quot;../../components/colorscale/color_attributes&quot;:626,&quot;../../components/drawing/attributes&quot;:642,&quot;../../lib/extend&quot;:732,&quot;../../plots/attributes&quot;:787,&quot;../scatter/attributes&quot;:1066}],1134:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;fast-isnumeric&quot;),i=t(&quot;../scatter/colorscale_calc&quot;),a=t(&quot;../scatter/arrays_to_calcdata&quot;),o=t(&quot;../scatter/calc_selection&quot;),s=t(&quot;../scatter/calc&quot;).calcMarkerSize,l=[&quot;a&quot;,&quot;b&quot;,&quot;c&quot;],c={a:[&quot;b&quot;,&quot;c&quot;],b:[&quot;a&quot;,&quot;c&quot;],c:[&quot;a&quot;,&quot;b&quot;]};e.exports=function(t,e){var r,u,f,h,d,p,m=t._fullLayout[e.subplot].sum,g=e.sum||m;for(r=0;r&lt;l.length;r++)if(f=l[r],!e[f]){for(d=e[c[f][0]],p=e[c[f][1]],h=new Array(d.length),u=0;u&lt;d.length;u++)h[u]=g-d[u]-p[u];e[f]=h}var v,y,x,b,_,w,M=e.a.length,k=new Array(M);for(r=0;r&lt;M;r++)v=e.a[r],y=e.b[r],x=e.c[r],n(v)&amp;&amp;n(y)&amp;&amp;n(x)?(1!==(b=m/((v=+v)+(y=+y)+(x=+x)))&amp;&amp;(v*=b,y*=b,x*=b),w=v,_=x-y,k[r]={x:_,y:w,a:v,b:y,c:x}):k[r]={x:!1,y:!1};return s(e,M),i(e),a(k,e),o(k,e),k}},{&quot;../scatter/arrays_to_calcdata&quot;:1065,&quot;../scatter/calc&quot;:1067,&quot;../scatter/calc_selection&quot;:1068,&quot;../scatter/colorscale_calc&quot;:1071,&quot;fast-isnumeric&quot;:140}],1135:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib&quot;),i=t(&quot;../scatter/constants&quot;),a=t(&quot;../scatter/subtypes&quot;),o=t(&quot;../scatter/marker_defaults&quot;),s=t(&quot;../scatter/line_defaults&quot;),l=t(&quot;../scatter/line_shape_defaults&quot;),c=t(&quot;../scatter/text_defaults&quot;),u=t(&quot;../scatter/fillcolor_defaults&quot;),f=t(&quot;./attributes&quot;);e.exports=function(t,e,r,h){function d(r,i){return n.coerce(t,e,f,r,i)}var p,m=d(&quot;a&quot;),g=d(&quot;b&quot;),v=d(&quot;c&quot;);if(m?(p=m.length,g?(p=Math.min(p,g.length),v&amp;&amp;(p=Math.min(p,v.length))):p=v?Math.min(p,v.length):0):g&amp;&amp;v&amp;&amp;(p=Math.min(g.length,v.length)),p){m&amp;&amp;p&lt;m.length&amp;&amp;(e.a=m.slice(0,p)),g&amp;&amp;p&lt;g.length&amp;&amp;(e.b=g.slice(0,p)),v&amp;&amp;p&lt;v.length&amp;&amp;(e.c=v.slice(0,p)),d(&quot;sum&quot;),d(&quot;text&quot;),d(&quot;hovertext&quot;);d(&quot;mode&quot;,p&lt;i.PTS_LINESONLY?&quot;lines+markers&quot;:&quot;lines&quot;),a.hasLines(e)&amp;&amp;(s(t,e,r,h,d),l(t,e,d),d(&quot;connectgaps&quot;)),a.hasMarkers(e)&amp;&amp;o(t,e,r,h,d,{gradient:!0}),a.hasText(e)&amp;&amp;c(t,e,h,d);var y=[];(a.hasMarkers(e)||a.hasText(e))&amp;&amp;(d(&quot;cliponaxis&quot;),d(&quot;marker.maxdisplayed&quot;),y.push(&quot;points&quot;)),d(&quot;fill&quot;),&quot;none&quot;!==e.fill&amp;&amp;(u(t,e,r,d),a.hasLines(e)||l(t,e,d)),&quot;tonext&quot;!==e.fill&amp;&amp;&quot;toself&quot;!==e.fill||y.push(&quot;fills&quot;),d(&quot;hoveron&quot;,y.join(&quot;+&quot;)||&quot;points&quot;),n.coerceSelectionMarkerOpacity(e,d)}else e.visible=!1}},{&quot;../../lib&quot;:743,&quot;../scatter/constants&quot;:1072,&quot;../scatter/fillcolor_defaults&quot;:1075,&quot;../scatter/line_defaults&quot;:1079,&quot;../scatter/line_shape_defaults&quot;:1081,&quot;../scatter/marker_defaults&quot;:1084,&quot;../scatter/subtypes&quot;:1088,&quot;../scatter/text_defaults&quot;:1089,&quot;./attributes&quot;:1133}],1136:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t,e,r,n,i){if(e.xa&amp;&amp;(t.xaxis=e.xa),e.ya&amp;&amp;(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}},{}],1137:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../scatter/hover&quot;),i=t(&quot;../../plots/cartesian/axes&quot;);e.exports=function(t,e,r,a){function o(t,e){v.push(t._hovertitle+&quot;: &quot;+i.tickText(t,e,&quot;hover&quot;).text)}var s=n(t,e,r,a);if(s&amp;&amp;!1!==s[0].index){var l=s[0];if(void 0===l.index){var c=1-l.y0/t.ya._length,u=t.xa._length,f=u*c/2,h=u-f;return l.x0=Math.max(Math.min(l.x0,h),f),l.x1=Math.max(Math.min(l.x1,h),f),s}var d=l.cd[l.index];l.a=d.a,l.b=d.b,l.c=d.c,l.xLabelVal=void 0,l.yLabelVal=void 0;var p=l.trace,m=l.subplot,g=(d.hi||p.hoverinfo).split(&quot;+&quot;),v=[];return-1!==g.indexOf(&quot;all&quot;)&amp;&amp;(g=[&quot;a&quot;,&quot;b&quot;,&quot;c&quot;]),-1!==g.indexOf(&quot;a&quot;)&amp;&amp;o(m.aaxis,d.a),-1!==g.indexOf(&quot;b&quot;)&amp;&amp;o(m.baxis,d.b),-1!==g.indexOf(&quot;c&quot;)&amp;&amp;o(m.caxis,d.c),l.extraText=v.join(&quot;&lt;br&gt;&quot;),s}}},{&quot;../../plots/cartesian/axes&quot;:789,&quot;../scatter/hover&quot;:1077}],1138:[function(t,e,r){&quot;use strict&quot;;var n={};n.attributes=t(&quot;./attributes&quot;),n.supplyDefaults=t(&quot;./defaults&quot;),n.colorbar=t(&quot;../scatter/colorbar&quot;),n.calc=t(&quot;./calc&quot;),n.plot=t(&quot;./plot&quot;),n.style=t(&quot;../scatter/style&quot;).style,n.hoverPoints=t(&quot;./hover&quot;),n.selectPoints=t(&quot;../scatter/select&quot;),n.eventData=t(&quot;./event_data&quot;),n.moduleType=&quot;trace&quot;,n.name=&quot;scatterternary&quot;,n.basePlotModule=t(&quot;../../plots/ternary&quot;),n.categories=[&quot;ternary&quot;,&quot;symbols&quot;,&quot;markerColorscale&quot;,&quot;showLegend&quot;,&quot;scatter-like&quot;],n.meta={},e.exports=n},{&quot;../../plots/ternary&quot;:866,&quot;../scatter/colorbar&quot;:1070,&quot;../scatter/select&quot;:1086,&quot;../scatter/style&quot;:1087,&quot;./attributes&quot;:1133,&quot;./calc&quot;:1134,&quot;./defaults&quot;:1135,&quot;./event_data&quot;:1136,&quot;./hover&quot;:1137,&quot;./plot&quot;:1139}],1139:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../scatter/plot&quot;);e.exports=function(t,e,r){var i=e.plotContainer;i.select(&quot;.scatterlayer&quot;).selectAll(&quot;*&quot;).remove();var a={xaxis:e.xaxis,yaxis:e.yaxis,plot:i,layerClipId:e._hasClipOnAxisFalse?e.clipIdRelative:null};n(t,a,r)}},{&quot;../scatter/plot&quot;:1085}],1140:[function(t,e,r){&quot;use strict&quot;;function n(t){return{show:{valType:&quot;boolean&quot;,dflt:!1},project:{x:{valType:&quot;boolean&quot;,dflt:!1},y:{valType:&quot;boolean&quot;,dflt:!1},z:{valType:&quot;boolean&quot;,dflt:!1}},color:{valType:&quot;color&quot;,dflt:i.defaultLine},usecolormap:{valType:&quot;boolean&quot;,dflt:!1},width:{valType:&quot;number&quot;,min:1,max:16,dflt:2},highlight:{valType:&quot;boolean&quot;,dflt:!0},highlightcolor:{valType:&quot;color&quot;,dflt:i.defaultLine},highlightwidth:{valType:&quot;number&quot;,min:1,max:16,dflt:2}}}var i=t(&quot;../../components/color&quot;),a=t(&quot;../../components/colorscale/attributes&quot;),o=t(&quot;../../components/colorbar/attributes&quot;),s=t(&quot;../../lib/extend&quot;).extendFlat,l=t(&quot;../../plot_api/edit_types&quot;).overrideAll,c=e.exports=l({z:{valType:&quot;data_array&quot;},x:{valType:&quot;data_array&quot;},y:{valType:&quot;data_array&quot;},text:{valType:&quot;data_array&quot;},surfacecolor:{valType:&quot;data_array&quot;},cauto:a.zauto,cmin:a.zmin,cmax:a.zmax,colorscale:a.colorscale,autocolorscale:s({},a.autocolorscale,{dflt:!1}),reversescale:a.reversescale,showscale:a.showscale,colorbar:o,contours:{x:n(),y:n(),z:n()},hidesurface:{valType:&quot;boolean&quot;,dflt:!1},lightposition:{x:{valType:&quot;number&quot;,min:-1e5,max:1e5,dflt:10},y:{valType:&quot;number&quot;,min:-1e5,max:1e5,dflt:1e4},z:{valType:&quot;number&quot;,min:-1e5,max:1e5,dflt:0}},lighting:{ambient:{valType:&quot;number&quot;,min:0,max:1,dflt:.8},diffuse:{valType:&quot;number&quot;,min:0,max:1,dflt:.8},specular:{valType:&quot;number&quot;,min:0,max:2,dflt:.05},roughness:{valType:&quot;number&quot;,min:0,max:1,dflt:.5},fresnel:{valType:&quot;number&quot;,min:0,max:5,dflt:.2}},opacity:{valType:&quot;number&quot;,min:0,max:1,dflt:1},_deprecated:{zauto:s({},a.zauto,{}),zmin:s({},a.zmin,{}),zmax:s({},a.zmax,{})}},&quot;calc&quot;,&quot;nested&quot;);c.x.editType=c.y.editType=c.z.editType=&quot;calc+clearAxisTypes&quot;},{&quot;../../components/color&quot;:618,&quot;../../components/colorbar/attributes&quot;:619,&quot;../../components/colorscale/attributes&quot;:624,&quot;../../lib/extend&quot;:732,&quot;../../plot_api/edit_types&quot;:773}],1141:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../components/colorscale/calc&quot;);e.exports=function(t,e){e.surfacecolor?n(e,e.surfacecolor,&quot;&quot;,&quot;c&quot;):n(e,e.z,&quot;&quot;,&quot;c&quot;)}},{&quot;../../components/colorscale/calc&quot;:625}],1142:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;fast-isnumeric&quot;),i=t(&quot;../../lib&quot;),a=t(&quot;../../plots/plots&quot;),o=t(&quot;../../components/colorscale&quot;),s=t(&quot;../../components/colorbar/draw&quot;);e.exports=function(t,e){var r=e[0].trace,l=&quot;cb&quot;+r.uid,c=r.cmin,u=r.cmax,f=r.surfacecolor||r.z;if(n(c)||(c=i.aggNums(Math.min,null,f)),n(u)||(u=i.aggNums(Math.max,null,f)),t._fullLayout._infolayer.selectAll(&quot;.&quot;+l).remove(),r.showscale){var h=e[0].t.cb=s(t,l),d=o.makeColorScaleFunc(o.extractScale(r.colorscale,c,u),{noNumericCheck:!0});h.fillcolor(d).filllevels({start:c,end:u,size:(u-c)/254}).options(r.colorbar)()}else a.autoMargin(t,l)}},{&quot;../../components/colorbar/draw&quot;:622,&quot;../../components/colorscale&quot;:633,&quot;../../lib&quot;:743,&quot;../../plots/plots&quot;:852,&quot;fast-isnumeric&quot;:140}],1143:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r){this.scene=t,this.uid=r,this.surface=e,this.data=null,this.showContour=[!1,!1,!1],this.dataScale=1}function i(t){var e=t.shape,r=[e[0]+2,e[1]+2],n=o(new Float32Array(r[0]*r[1]),r);return c.assign(n.lo(1,1).hi(e[0],e[1]),t),c.assign(n.lo(1).hi(e[0],1),t.hi(e[0],1)),c.assign(n.lo(1,r[1]-1).hi(e[0],1),t.lo(0,e[1]-1).hi(e[0],1)),c.assign(n.lo(0,1).hi(1,e[1]),t.hi(1)),c.assign(n.lo(r[0]-1,1).hi(1,e[1]),t.lo(e[0]-1)),n.set(0,0,t.get(0,0)),n.set(0,r[1]-1,t.get(0,e[1]-1)),n.set(r[0]-1,0,t.get(e[0]-1,0)),n.set(r[0]-1,r[1]-1,t.get(e[0]-1,e[1]-1)),n}var a=t(&quot;gl-surface3d&quot;),o=t(&quot;ndarray&quot;),s=t(&quot;ndarray-homography&quot;),l=t(&quot;ndarray-fill&quot;),c=t(&quot;ndarray-ops&quot;),u=t(&quot;tinycolor2&quot;),f=t(&quot;../../lib/str2rgbarray&quot;),h=128,d=n.prototype;d.handlePick=function(t){if(t.object===this.surface){var e=t.index=[Math.min(0|Math.round(t.data.index[0]/this.dataScale-1),this.data.z[0].length-1),Math.min(0|Math.round(t.data.index[1]/this.dataScale-1),this.data.z.length-1)],r=[0,0,0];Array.isArray(this.data.x[0])?r[0]=this.data.x[e[1]][e[0]]:r[0]=this.data.x[e[0]],Array.isArray(this.data.y[0])?r[1]=this.data.y[e[1]][e[0]]:r[1]=this.data.y[e[1]],r[2]=this.data.z[e[1]][e[0]],t.traceCoordinate=r;var n=this.scene.fullSceneLayout;t.dataCoordinate=[n.xaxis.d2l(r[0],0,this.data.xcalendar)*this.scene.dataScale[0],n.yaxis.d2l(r[1],0,this.data.ycalendar)*this.scene.dataScale[1],n.zaxis.d2l(r[2],0,this.data.zcalendar)*this.scene.dataScale[2]];var i=this.data.text;return i&amp;&amp;i[e[1]]&amp;&amp;void 0!==i[e[1]][e[0]]?t.textLabel=i[e[1]][e[0]]:t.textLabel=&quot;&quot;,t.data.dataCoordinate=t.dataCoordinate.slice(),this.surface.highlight(t.data),this.scene.glplot.spikes.position=t.dataCoordinate,!0}},d.setContourLevels=function(){for(var t=[[],[],[]],e=!1,r=0;r&lt;3;++r)this.showContour[r]&amp;&amp;(e=!0,t[r]=this.scene.contourLevels[r]);e&amp;&amp;this.surface.update({levels:t})},d.update=function(t){var e,r=this.scene,n=r.fullSceneLayout,a=this.surface,c=t.opacity,d=function(t,e){return void 0===e&amp;&amp;(e=1),t.map(function(t){var r=t[0],n=u(t[1]).toRgb();return{index:r,rgb:[n.r,n.g,n.b,e]}})}(t.colorscale,c),p=t.z,m=t.x,g=t.y,v=n.xaxis,y=n.yaxis,x=n.zaxis,b=r.dataScale,_=p[0].length,w=p.length,M=[o(new Float32Array(_*w),[_,w]),o(new Float32Array(_*w),[_,w]),o(new Float32Array(_*w),[_,w])],k=M[0],A=M[1],T=r.contourLevels;this.data=t;var S=t.xcalendar,E=t.ycalendar,L=t.zcalendar;l(M[2],function(t,e){return x.d2l(p[e][t],0,L)*b[2]}),Array.isArray(m[0])?l(k,function(t,e){return v.d2l(m[e][t],0,S)*b[0]}):l(k,function(t){return v.d2l(m[t],0,S)*b[0]}),Array.isArray(g[0])?l(A,function(t,e){return y.d2l(g[e][t],0,E)*b[1]}):l(A,function(t,e){return y.d2l(g[e],0,E)*b[1]});var C={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],opacity:t.opacity};if(C.intensityBounds=[t.cmin,t.cmax],t.surfacecolor){var z=o(new Float32Array(_*w),[_,w]);l(z,function(e,r){return t.surfacecolor[r][e]}),M.push(z)}else C.intensityBounds[0]*=b[2],C.intensityBounds[1]*=b[2];this.dataScale=function(t){var e=Math.max(t[0].shape[0],t[0].shape[1]);if(e&lt;h){for(var r=h/e,n=[0|Math.floor(t[0].shape[0]*r+1),0|Math.floor(t[0].shape[1]*r+1)],a=n[0]*n[1],l=0;l&lt;t.length;++l){var c=i(t[l]),u=o(new Float32Array(a),n);s(u,c,[r,0,0,0,r,0,0,0,1]),t[l]=u}return r}return 1}(M),t.surfacecolor&amp;&amp;(C.intensity=M.pop());var D=[!0,!0,!0],I=[&quot;x&quot;,&quot;y&quot;,&quot;z&quot;];for(e=0;e&lt;3;++e){var P=t.contours[I[e]];D[e]=P.highlight,C.showContour[e]=P.show||P.highlight,C.showContour[e]&amp;&amp;(C.contourProject[e]=[P.project.x,P.project.y,P.project.z],P.show?(this.showContour[e]=!0,C.levels[e]=T[e],a.highlightColor[e]=C.contourColor[e]=f(P.color),P.usecolormap?a.highlightTint[e]=C.contourTint[e]=0:a.highlightTint[e]=C.contourTint[e]=1,C.contourWidth[e]=P.width):this.showContour[e]=!1,P.highlight&amp;&amp;(C.dynamicColor[e]=f(P.highlightcolor),C.dynamicWidth[e]=P.highlightwidth))}(function(t){var e=t[0].rgb,r=t[t.length-1].rgb;return e[0]===r[0]&amp;&amp;e[1]===r[1]&amp;&amp;e[2]===r[2]&amp;&amp;e[3]===r[3]})(d)&amp;&amp;(C.vertexColor=!0),C.coords=M,a.update(C),a.visible=t.visible,a.enableDynamic=D,a.snapToData=!0,&quot;lighting&quot;in t&amp;&amp;(a.ambientLight=t.lighting.ambient,a.diffuseLight=t.lighting.diffuse,a.specularLight=t.lighting.specular,a.roughness=t.lighting.roughness,a.fresnel=t.lighting.fresnel),&quot;lightposition&quot;in t&amp;&amp;(a.lightPosition=[t.lightposition.x,t.lightposition.y,t.lightposition.z]),c&amp;&amp;c&lt;1&amp;&amp;(a.supportsTransparency=!0)},d.dispose=function(){this.scene.glplot.remove(this.surface),this.surface.dispose()},e.exports=function(t,e){var r=t.glplot.gl,i=a({gl:r}),o=new n(t,i,e.uid);return i._trace=o,o.update(e),t.glplot.add(i),o}},{&quot;../../lib/str2rgbarray&quot;:765,&quot;gl-surface3d&quot;:254,ndarray:458,&quot;ndarray-fill&quot;:448,&quot;ndarray-homography&quot;:450,&quot;ndarray-ops&quot;:452,tinycolor2:546}],1144:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r){e in t&amp;&amp;!(r in t)&amp;&amp;(t[r]=t[e])}var i=t(&quot;../../registry&quot;),a=t(&quot;../../lib&quot;),o=t(&quot;../../components/colorscale/defaults&quot;),s=t(&quot;./attributes&quot;);e.exports=function(t,e,r,l){function c(r,n){return a.coerce(t,e,s,r,n)}var u,f,h=c(&quot;z&quot;);if(h){var d=h[0].length,p=h.length;c(&quot;x&quot;),c(&quot;y&quot;);if(i.getComponentMethod(&quot;calendars&quot;,&quot;handleTraceDefaults&quot;)(t,e,[&quot;x&quot;,&quot;y&quot;,&quot;z&quot;],l),!Array.isArray(e.x))for(e.x=[],u=0;u&lt;d;++u)e.x[u]=u;if(c(&quot;text&quot;),!Array.isArray(e.y))for(e.y=[],u=0;u&lt;p;++u)e.y[u]=u;[&quot;lighting.ambient&quot;,&quot;lighting.diffuse&quot;,&quot;lighting.specular&quot;,&quot;lighting.roughness&quot;,&quot;lighting.fresnel&quot;,&quot;lightposition.x&quot;,&quot;lightposition.y&quot;,&quot;lightposition.z&quot;,&quot;hidesurface&quot;,&quot;opacity&quot;].forEach(function(t){c(t)});var m=c(&quot;surfacecolor&quot;);c(&quot;colorscale&quot;);var g=[&quot;x&quot;,&quot;y&quot;,&quot;z&quot;];for(u=0;u&lt;3;++u){var v=&quot;contours.&quot;+g[u],y=c(v+&quot;.show&quot;),x=c(v+&quot;.highlight&quot;);if(y||x)for(f=0;f&lt;3;++f)c(v+&quot;.project.&quot;+g[f]);y&amp;&amp;(c(v+&quot;.color&quot;),c(v+&quot;.width&quot;),c(v+&quot;.usecolormap&quot;)),x&amp;&amp;(c(v+&quot;.highlightcolor&quot;),c(v+&quot;.highlightwidth&quot;))}m||(n(t,&quot;zmin&quot;,&quot;cmin&quot;),n(t,&quot;zmax&quot;,&quot;cmax&quot;),n(t,&quot;zauto&quot;,&quot;cauto&quot;)),o(t,e,l,c,{prefix:&quot;&quot;,cLetter:&quot;c&quot;})}else e.visible=!1}},{&quot;../../components/colorscale/defaults&quot;:628,&quot;../../lib&quot;:743,&quot;../../registry&quot;:873,&quot;./attributes&quot;:1140}],1145:[function(t,e,r){&quot;use strict&quot;;var n={};n.attributes=t(&quot;./attributes&quot;),n.supplyDefaults=t(&quot;./defaults&quot;),n.colorbar=t(&quot;./colorbar&quot;),n.calc=t(&quot;./calc&quot;),n.plot=t(&quot;./convert&quot;),n.moduleType=&quot;trace&quot;,n.name=&quot;surface&quot;,n.basePlotModule=t(&quot;../../plots/gl3d&quot;),n.categories=[&quot;gl3d&quot;,&quot;2dMap&quot;,&quot;noOpacity&quot;],n.meta={},e.exports=n},{&quot;../../plots/gl3d&quot;:832,&quot;./attributes&quot;:1140,&quot;./calc&quot;:1141,&quot;./colorbar&quot;:1142,&quot;./convert&quot;:1143,&quot;./defaults&quot;:1144}],1146:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../components/annotations/attributes&quot;),i=t(&quot;../../lib/extend&quot;).extendFlat,a=t(&quot;../../plot_api/edit_types&quot;).overrideAll,o=t(&quot;../../plots/font_attributes&quot;),s=t(&quot;../../plots/domain_attributes&quot;);e.exports=a({domain:s({name:&quot;table&quot;,trace:!0}),columnwidth:{valType:&quot;number&quot;,arrayOk:!0,dflt:null},columnorder:{valType:&quot;data_array&quot;},header:{values:{valType:&quot;data_array&quot;,dflt:[]},format:{valType:&quot;data_array&quot;,dflt:[]},prefix:{valType:&quot;string&quot;,arrayOk:!0,dflt:null},suffix:{valType:&quot;string&quot;,arrayOk:!0,dflt:null},height:{valType:&quot;number&quot;,dflt:28},align:i({},n.align,{arrayOk:!0}),line:{width:{valType:&quot;number&quot;,arrayOk:!0,dflt:1},color:{valType:&quot;color&quot;,arrayOk:!0,dflt:&quot;grey&quot;}},fill:{color:{valType:&quot;color&quot;,arrayOk:!0,dflt:&quot;white&quot;}},font:i({},o({arrayOk:!0}))},cells:{values:{valType:&quot;data_array&quot;,dflt:[]},format:{valType:&quot;data_array&quot;,dflt:[]},prefix:{valType:&quot;string&quot;,arrayOk:!0,dflt:null},suffix:{valType:&quot;string&quot;,arrayOk:!0,dflt:null},height:{valType:&quot;number&quot;,dflt:20},align:i({},n.align,{arrayOk:!0}),line:{width:{valType:&quot;number&quot;,arrayOk:!0,dflt:1},color:{valType:&quot;color&quot;,arrayOk:!0,dflt:&quot;grey&quot;}},fill:{color:{valType:&quot;color&quot;,arrayOk:!0,dflt:&quot;white&quot;}},font:i({},o({arrayOk:!0}))}},&quot;calc&quot;,&quot;from-root&quot;)},{&quot;../../components/annotations/attributes&quot;:601,&quot;../../lib/extend&quot;:732,&quot;../../plot_api/edit_types&quot;:773,&quot;../../plots/domain_attributes&quot;:815,&quot;../../plots/font_attributes&quot;:816}],1147:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../plots/get_data&quot;).getModuleCalcData,i=t(&quot;./plot&quot;);r.name=&quot;table&quot;,r.plot=function(t){var e=n(t.calcdata,&quot;table&quot;);e.length&amp;&amp;i(t,e)},r.clean=function(t,e,r,n){var i=n._has&amp;&amp;n._has(&quot;table&quot;),a=e._has&amp;&amp;e._has(&quot;table&quot;);i&amp;&amp;!a&amp;&amp;n._paperdiv.selectAll(&quot;.table&quot;).remove()}},{&quot;../../plots/get_data&quot;:826,&quot;./plot&quot;:1154}],1148:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib/gup&quot;).wrap;e.exports=function(t,e){return n(e)}},{&quot;../../lib/gup&quot;:740}],1149:[function(t,e,r){&quot;use strict&quot;;e.exports={maxDimensionCount:60,overdrag:45,cellPad:8,latexCheck:/^\$.*\$$/,wrapSplitCharacter:&quot; &quot;,wrapSpacer:&quot; &quot;,lineBreaker:&quot;&lt;br&gt;&quot;,uplift:5,goldenRatio:1.618,columnTitleOffset:28,columnExtentOffset:10,transitionEase:&quot;cubic-out&quot;,transitionDuration:100,releaseTransitionEase:&quot;cubic-out&quot;,releaseTransitionDuration:120,scrollbarWidth:8,scrollbarCaptureWidth:18,scrollbarOffset:5,scrollbarHideDelay:1e3,scrollbarHideDuration:1e3,cn:{table:&quot;table&quot;,tableControlView:&quot;table-control-view&quot;,scrollBackground:&quot;scroll-background&quot;,yColumn:&quot;y-column&quot;,columnBlock:&quot;column-block&quot;,scrollAreaClip:&quot;scroll-area-clip&quot;,scrollAreaClipRect:&quot;scroll-area-clip-rect&quot;,columnBoundary:&quot;column-boundary&quot;,columnBoundaryClippath:&quot;column-boundary-clippath&quot;,columnBoundaryRect:&quot;column-boundary-rect&quot;,columnCells:&quot;column-cells&quot;,columnCell:&quot;column-cell&quot;,cellRect:&quot;cell-rect&quot;,cellText:&quot;cell-text&quot;,cellTextHolder:&quot;cell-text-holder&quot;,scrollbarKit:&quot;scrollbar-kit&quot;,scrollbar:&quot;scrollbar&quot;,scrollbarSlider:&quot;scrollbar-slider&quot;,scrollbarGlyph:&quot;scrollbar-glyph&quot;,scrollbarCaptureZone:&quot;scrollbar-capture-zone&quot;}}},{}],1150:[function(t,e,r){&quot;use strict&quot;;function n(t){return t.calcdata.columns.reduce(function(e,r){return r.xIndex&lt;t.xIndex?e+r.columnWidth:e},0)}function i(t,e){return Object.keys(t).map(function(r){return s({},t[r],{auxiliaryBlocks:e})})}function a(t,e){for(var r,n={},i=0,a=0,o={firstRowIndex:null,lastRowIndex:null,rows:[]},s=0,l=0,c=0;c&lt;t.length;c++)r=t[c],o.rows.push({rowIndex:c,rowHeight:r}),((a+=r)&gt;=e||c===t.length-1)&amp;&amp;(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}var o=t(&quot;./constants&quot;),s=t(&quot;../../lib/extend&quot;).extendFlat,l=t(&quot;fast-isnumeric&quot;);e.exports=function(t,e){var r=e.header.values.map(function(t){return Array.isArray(t)?t:[t]}),c=e.cells.values,u=e.domain,f=Math.floor(t._fullLayout._size.w*(u.x[1]-u.x[0])),h=Math.floor(t._fullLayout._size.h*(u.y[1]-u.y[0])),d=r.length?r[0].map(function(){return e.header.height}):[],p=c.length?c[0].map(function(){return e.cells.height}):[],m=d.reduce(function(t,e){return t+e},0),g=a(p,h-m+o.uplift),v=i(a(d,m),[]),y=i(g,v),x={},b=e._fullInput.columnorder,_=r.map(function(t,r){var n=Array.isArray(e.columnwidth)?e.columnwidth[Math.min(r,e.columnwidth.length-1)]:e.columnwidth;return l(n)?Number(n):1}),w=_.reduce(function(t,e){return t+e},0);_=_.map(function(t){return t/w*f});var M={key:e.index,translateX:u.x[0]*t._fullLayout._size.w,translateY:t._fullLayout._size.h*(1-u.y[1]),size:t._fullLayout._size,width:f,height:h,columnOrder:b,groupHeight:h,rowBlocks:y,headerRowBlocks:v,scrollY:0,cells:e.cells,headerCells:s({},e.header,{values:r}),gdColumns:r.map(function(t){return t[0]}),gdColumnsOriginalOrder:r.map(function(t){return t[0]}),prevPages:[0,0],scrollbarState:{scrollbarScrollInProgress:!1},columns:r.map(function(t,e){var r=x[t];x[t]=(r||0)+1;return{key:t+&quot;__&quot;+x[t],label:t,specIndex:e,xIndex:b[e],xScale:n,x:void 0,calcdata:void 0,columnWidth:_[e]}})};return M.columns.forEach(function(t){t.calcdata=M,t.x=n(t)}),M}},{&quot;../../lib/extend&quot;:732,&quot;./constants&quot;:1149,&quot;fast-isnumeric&quot;:140}],1151:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib/extend&quot;).extendFlat;r.splitToPanels=function(t){var e=[0,0],r=n({},t,{key:&quot;header&quot;,type:&quot;header&quot;,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:&quot;cells1&quot;,type:&quot;cells&quot;,page:0,prevPages:e,currentRepaint:[null,null],dragHandle:!1,values:t.calcdata.cells.values[t.specIndex],rowBlocks:t.calcdata.rowBlocks}),n({},t,{key:&quot;cells2&quot;,type:&quot;cells&quot;,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;return[r,e?r+e.rows.length:0]}(t);return t.values.slice(e[0],e[1]).map(function(r,n){return{keyWithinBlock:n+(&quot;string&quot;==typeof r&amp;&amp;r.match(/[&lt;$&amp;&gt; ]/)?&quot;_keybuster_&quot;+Math.random():&quot;&quot;),key:e[0]+n,column:t,calcdata:t.calcdata,page:t.page,rowBlocks:t.rowBlocks,value:r}})}},{&quot;../../lib/extend&quot;:732}],1152:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib&quot;),i=t(&quot;./attributes&quot;);e.exports=function(t,e,r,a){function o(r,a){return n.coerce(t,e,i,r,a)}o(&quot;domain.x&quot;),o(&quot;domain.y&quot;),o(&quot;columnwidth&quot;),o(&quot;header.values&quot;),o(&quot;header.format&quot;),o(&quot;header.align&quot;),o(&quot;header.prefix&quot;),o(&quot;header.suffix&quot;),o(&quot;header.height&quot;),o(&quot;header.line.width&quot;),o(&quot;header.line.color&quot;),o(&quot;header.fill.color&quot;),n.coerceFont(o,&quot;header.font&quot;,n.extendFlat({},a.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&lt;n;s++)o.push(s);e(&quot;columnorder&quot;,o)}(e,o),o(&quot;cells.values&quot;),o(&quot;cells.format&quot;),o(&quot;cells.align&quot;),o(&quot;cells.prefix&quot;),o(&quot;cells.suffix&quot;),o(&quot;cells.height&quot;),o(&quot;cells.line.width&quot;),o(&quot;cells.line.color&quot;),o(&quot;cells.fill.color&quot;),n.coerceFont(o,&quot;cells.font&quot;,n.extendFlat({},a.font))}},{&quot;../../lib&quot;:743,&quot;./attributes&quot;:1146}],1153:[function(t,e,r){&quot;use strict&quot;;var n={};n.attributes=t(&quot;./attributes&quot;),n.supplyDefaults=t(&quot;./defaults&quot;),n.calc=t(&quot;./calc&quot;),n.plot=t(&quot;./plot&quot;),n.moduleType=&quot;trace&quot;,n.name=&quot;table&quot;,n.basePlotModule=t(&quot;./base_plot&quot;),n.categories=[&quot;noOpacity&quot;],n.meta={},e.exports=n},{&quot;./attributes&quot;:1146,&quot;./base_plot&quot;:1147,&quot;./calc&quot;:1148,&quot;./defaults&quot;:1152,&quot;./plot&quot;:1154}],1154:[function(t,e,r){&quot;use strict&quot;;function n(t,e){return&quot;clip&quot;+t._fullLayout._uid+&quot;_scrollAreaBottomClip_&quot;+e.key}function i(t,e){return&quot;clip&quot;+t._fullLayout._uid+&quot;_columnBoundaryClippath_&quot;+e.calcdata.key+&quot;_&quot;+e.specIndex}function a(t){return[].concat.apply([],t.map(function(t){return t})).map(function(t){return t.__data__})}function o(t,e,r){var n=t.selectAll(&quot;.&quot;+M.cn.scrollbarKit).data(A.repeat,A.keyFun);n.enter().append(&quot;g&quot;).classed(M.cn.scrollbarKit,!0).style(&quot;shape-rendering&quot;,&quot;geometricPrecision&quot;),n.each(function(t){var e=t.scrollbarState;e.totalHeight=function(t){var e=t.rowBlocks;return b(e,e.length-1)+(e.length?_(e[e.length-1],1/0):1)}(t),e.scrollableAreaHeight=t.groupHeight-p(t),e.currentlyVisibleHeight=Math.min(e.totalHeight,e.scrollableAreaHeight),e.ratio=e.currentlyVisibleHeight/e.totalHeight,e.barLength=Math.max(e.ratio*e.currentlyVisibleHeight,M.goldenRatio*M.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(&quot;transform&quot;,function(t){return&quot;translate(&quot;+(t.width+M.scrollbarWidth/2+M.scrollbarOffset)+&quot; &quot;+p(t)+&quot;)&quot;});var i=n.selectAll(&quot;.&quot;+M.cn.scrollbar).data(A.repeat,A.keyFun);i.enter().append(&quot;g&quot;).classed(M.cn.scrollbar,!0);var a=i.selectAll(&quot;.&quot;+M.cn.scrollbarSlider).data(A.repeat,A.keyFun);a.enter().append(&quot;g&quot;).classed(M.cn.scrollbarSlider,!0),a.attr(&quot;transform&quot;,function(t){return&quot;translate(0 &quot;+(t.scrollbarState.topY||0)+&quot;)&quot;});var o=a.selectAll(&quot;.&quot;+M.cn.scrollbarGlyph).data(A.repeat,A.keyFun);o.enter().append(&quot;line&quot;).classed(M.cn.scrollbarGlyph,!0).attr(&quot;stroke&quot;,&quot;black&quot;).attr(&quot;stroke-width&quot;,M.scrollbarWidth).attr(&quot;stroke-linecap&quot;,&quot;round&quot;).attr(&quot;y1&quot;,M.scrollbarWidth/2),o.attr(&quot;y2&quot;,function(t){return t.scrollbarState.barLength-M.scrollbarWidth/2}).attr(&quot;stroke-opacity&quot;,function(t){return t.columnDragInProgress||!t.scrollbarState.barWiggleRoom||r?0:.4}),o.transition().delay(0).duration(0),o.transition().delay(M.scrollbarHideDelay).duration(M.scrollbarHideDuration).attr(&quot;stroke-opacity&quot;,0);var s=i.selectAll(&quot;.&quot;+M.cn.scrollbarCaptureZone).data(A.repeat,A.keyFun);s.enter().append(&quot;line&quot;).classed(M.cn.scrollbarCaptureZone,!0).attr(&quot;stroke&quot;,&quot;white&quot;).attr(&quot;stroke-opacity&quot;,.01).attr(&quot;stroke-width&quot;,M.scrollbarCaptureWidth).attr(&quot;stroke-linecap&quot;,&quot;butt&quot;).attr(&quot;y1&quot;,0).on(&quot;mousedown&quot;,function(r){var n=k.event.y,i=this.getBoundingClientRect(),a=r.scrollbarState,o=n-i.top,s=k.scale.linear().domain([0,a.scrollableAreaHeight]).range([0,a.totalHeight]).clamp(!0);a.topY&lt;=o&amp;&amp;o&lt;=a.bottomY||g(e,t,null,s(o-a.barLength/2))(r)}).call(k.behavior.drag().origin(function(t){return k.event.stopPropagation(),t.scrollbarState.scrollbarScrollInProgress=!0,t}).on(&quot;drag&quot;,g(e,t)).on(&quot;dragend&quot;,function(){})),s.attr(&quot;y2&quot;,function(t){return t.scrollbarState.scrollableAreaHeight})}function s(t,e,r,n){var i=function(t){var e=t.selectAll(&quot;.&quot;+M.cn.columnCell).data(z.splitToCells,function(t){return t.keyWithinBlock});return e.enter().append(&quot;g&quot;).classed(M.cn.columnCell,!0),e.exit().remove(),e}(function(t){var e=t.selectAll(&quot;.&quot;+M.cn.columnCells).data(A.repeat,A.keyFun);return e.enter().append(&quot;g&quot;).classed(M.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:u(r.size,n,e),color:u(r.color,n,e),family:u(r.family,n,e)};t.rowNumber=t.key,t.align=u(t.calcdata.cells.align,n,e),t.cellBorderWidth=u(t.calcdata.cells.line.width,n,e),t.font=i})}(i);!function(t){t.attr(&quot;width&quot;,function(t){return t.column.columnWidth}).attr(&quot;stroke-width&quot;,function(t){return t.cellBorderWidth}).each(function(t){var e=k.select(this);D.stroke(e,u(t.calcdata.cells.line.color,t.column.specIndex,t.rowNumber)),D.fill(e,u(t.calcdata.cells.fill.color,t.column.specIndex,t.rowNumber))})}(function(t){var e=t.selectAll(&quot;.&quot;+M.cn.cellRect).data(A.repeat,function(t){return t.keyWithinBlock});return e.enter().append(&quot;rect&quot;).classed(M.cn.cellRect,!0),e}(i));var a=function(t){var e=t.selectAll(&quot;.&quot;+M.cn.cellText).data(A.repeat,function(t){return t.keyWithinBlock});return e.enter().append(&quot;text&quot;).classed(M.cn.cellText,!0).style(&quot;cursor&quot;,function(){return&quot;auto&quot;}).on(&quot;mousedown&quot;,function(){k.event.stopPropagation()}),e}(function(t){var e=t.selectAll(&quot;.&quot;+M.cn.cellTextHolder).data(A.repeat,function(t){return t.keyWithinBlock});return e.enter().append(&quot;g&quot;).classed(M.cn.cellTextHolder,!0).style(&quot;shape-rendering&quot;,&quot;geometricPrecision&quot;),e}(i));!function(t){t.each(function(t){T.font(k.select(this),t.font)})}(a),l(a,e,n,t),x(i)}function l(t,e,r,n){t.text(function(t){var e=t.column.specIndex,r=t.rowNumber,n=t.value,i=&quot;string&quot;==typeof n,a=i&amp;&amp;n.match(/&lt;br&gt;/i),o=!i||a;t.mayHaveMarkup=i&amp;&amp;n.match(/[&lt;&amp;&gt;]/);var s=function(t){return&quot;string&quot;==typeof t&amp;&amp;t.match(M.latexCheck)}(n);t.latex=s;var l,f=s?&quot;&quot;:u(t.calcdata.cells.prefix,e,r)||&quot;&quot;,h=s?&quot;&quot;:u(t.calcdata.cells.suffix,e,r)||&quot;&quot;,d=s?null:u(t.calcdata.cells.format,e,r)||null,p=f+(d?k.format(d)(t.value):t.value)+h;t.wrappingNeeded=!t.wrapped&amp;&amp;!o&amp;&amp;!s&amp;&amp;(l=c(p)),t.cellHeightMayIncrease=a||s||t.mayHaveMarkup||(void 0===l?c(p):l),t.needsConvertToTspans=t.mayHaveMarkup||t.wrappingNeeded||t.latex;var m;if(t.wrappingNeeded){var g=(&quot; &quot;===M.wrapSplitCharacter?p.replace(/&lt;a href=/gi,&quot;&lt;a_href=&quot;):p).split(M.wrapSplitCharacter),v=&quot; &quot;===M.wrapSplitCharacter?g.map(function(t){return t.replace(/&lt;a_href=/gi,&quot;&lt;a href=&quot;)}):g;t.fragments=v.map(function(t){return{text:t,width:null}}),t.fragments.push({fragment:M.wrapSpacer,width:null}),m=v.join(M.lineBreaker)+M.lineBreaker+M.wrapSpacer}else delete t.fragments,m=p;return m}).attr(&quot;dy&quot;,function(t){return t.needsConvertToTspans?0:&quot;0.75em&quot;}).each(function(t){var i=k.select(this),a=t.wrappingNeeded?function(t,e,r){return function(){var n=k.select(e.parentNode);n.each(function(t){var e=t.fragments;n.selectAll(&quot;tspan.line&quot;).each(function(t,r){e[r].width=this.getComputedTextLength()});var r,i,a=e[e.length-1].width,o=e.slice(0,-1),s=[],l=0,c=t.column.columnWidth-2*M.cellPad;for(t.value=&quot;&quot;;o.length;)r=o.shift(),i=r.width+a,l+i&gt;c&amp;&amp;(t.value+=s.join(M.wrapSpacer)+M.lineBreaker,s=[],l=0),s.push(r.text),l+=i;l&amp;&amp;(t.value+=s.join(M.wrapSpacer)),t.wrapped=!0}),n.selectAll(&quot;tspan.line&quot;).remove(),l(n.select(&quot;.&quot;+M.cn.cellText),r,t),k.select(e.parentNode.parentNode).call(x)}}:function(t,e,r,n,i){return function(){if(!i.settledY){var a=k.select(e.parentNode),s=w(i),l=i.key-s.firstRowIndex,c=s.rows[l].rowHeight,u=i.cellHeightMayIncrease?e.parentNode.getBoundingClientRect().height+2*M.cellPad:c,f=Math.max(u,c),d=f-s.rows[l].rowHeight;d&amp;&amp;(s.rows[l].rowHeight=f,t.selectAll(&quot;.&quot;+M.cn.columnCell).call(x),m(null,t.filter(h),0),o(r,n,!0)),a.attr(&quot;transform&quot;,function(){var t=this.parentNode,e=t.getBoundingClientRect(),r=k.select(this.parentNode).select(&quot;.&quot;+M.cn.cellRect).node().getBoundingClientRect(),n=this.transform.baseVal.consolidate(),a=r.top-e.top+(n?n.matrix.f:M.cellPad);return&quot;translate(&quot;+y(i,k.select(this.parentNode).select(&quot;.&quot;+M.cn.cellTextHolder).node().getBoundingClientRect().width)+&quot; &quot;+a+&quot;)&quot;}),i.settledY=!0}}};t.needsConvertToTspans?S.convertToTspans(i,n,a(r,this,e,n,t)):k.select(this.parentNode).attr(&quot;transform&quot;,function(t){return&quot;translate(&quot;+y(t)+&quot; &quot;+M.cellPad+&quot;)&quot;}).attr(&quot;text-anchor&quot;,function(t){return{left:&quot;start&quot;,center:&quot;middle&quot;,right:&quot;end&quot;}[t.align]})})}function c(t){return-1!==t.indexOf(M.wrapSplitCharacter)}function u(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 f(t,e,r){t.transition().ease(M.releaseTransitionEase).duration(M.releaseTransitionDuration).attr(&quot;transform&quot;,&quot;translate(&quot;+e.x+&quot; &quot;+r+&quot;)&quot;)}function h(t){return&quot;cells&quot;===t.type}function d(t){return&quot;header&quot;===t.type}function p(t){return(t.rowBlocks.length?t.rowBlocks[0].auxiliaryBlocks:[]).reduce(function(t,e){return t+_(e,1/0)},0)}function m(t,e,r){var n=a(e)[0];if(void 0!==n){var i=n.rowBlocks,s=n.calcdata,l=b(i,i.length),c=n.calcdata.groupHeight-p(n),u=s.scrollY=Math.max(0,Math.min(l-c,s.scrollY)),f=function(t,e,r){for(var n=[],i=0,a=0;a&lt;t.length;a++){for(var o=t[a],s=o.rows,l=0,c=0;c&lt;s.length;c++)l+=s[c].rowHeight;o.allRowsHeight=l,e&lt;i+l&amp;&amp;e+r&gt;i&amp;&amp;n.push(a),i+=l}return n}(i,u,c);1===f.length&amp;&amp;(f[0]===i.length-1?f.unshift(f[0]-1):f.push(f[0]+1)),f[0]%2&amp;&amp;f.reverse(),e.each(function(t,e){t.page=f[e],t.scrollY=u}),e.attr(&quot;transform&quot;,function(t){return&quot;translate(0 &quot;+(b(t.rowBlocks,t.page)-t.scrollY)+&quot;)&quot;}),t&amp;&amp;(v(t,r,e,f,n.prevPages,n,0),v(t,r,e,f,n.prevPages,n,1),o(r,t))}}function g(t,e,r,n){return function(i){var a=i.calcdata?i.calcdata:i,o=e.filter(function(t){return a.key===t.key}),s=r||a.scrollbarState.dragMultiplier;a.scrollY=void 0===n?a.scrollY+s*k.event.dy:n;var l=o.selectAll(&quot;.&quot;+M.cn.yColumn).selectAll(&quot;.&quot;+M.cn.columnBlock).filter(h);m(t,l,o)}}function v(t,e,r,n,i,a,o){n[o]!==i[o]&amp;&amp;(clearTimeout(a.currentRepaint[o]),a.currentRepaint[o]=setTimeout(function(){var a=r.filter(function(t,e){return e===o&amp;&amp;n[e]!==i[e]});s(t,e,a,r),i[o]=n[o]}))}function y(t,e){switch(t.align){case&quot;left&quot;:return M.cellPad;case&quot;right&quot;:return t.column.columnWidth-(e||0)-M.cellPad;case&quot;center&quot;:return(t.column.columnWidth-(e||0))/2;default:return M.cellPad}}function x(t){t.attr(&quot;transform&quot;,function(t){var e=t.rowBlocks[0].auxiliaryBlocks.reduce(function(t,e){return t+_(e,1/0)},0);return&quot;translate(0 &quot;+(_(w(t),t.key)+e)+&quot;)&quot;}).selectAll(&quot;.&quot;+M.cn.cellRect).attr(&quot;height&quot;,function(t){return function(t,e){return t.rows[e-t.firstRowIndex]}(w(t),t.key).rowHeight})}function b(t,e){for(var r=0,n=e-1;n&gt;=0;n--)r+=function(t){var e=t.allRowsHeight;if(void 0!==e)return e;for(var r=0,n=0;n&lt;t.rows.length;n++)r+=t.rows[n].rowHeight;return t.allRowsHeight=r,r}(t[n]);return r}function _(t,e){for(var r=0,n=0;n&lt;t.rows.length&amp;&amp;t.rows[n].rowIndex&lt;e;n++)r+=t.rows[n].rowHeight;return r}function w(t){return t.rowBlocks[t.page]}var M=t(&quot;./constants&quot;),k=t(&quot;d3&quot;),A=t(&quot;../../lib/gup&quot;),T=t(&quot;../../components/drawing&quot;),S=t(&quot;../../lib/svg_text_utils&quot;),E=t(&quot;../../lib&quot;).raiseToTop,L=t(&quot;../../lib&quot;).cancelTransition,C=t(&quot;./data_preparation_helper&quot;),z=t(&quot;./data_split_helpers&quot;),D=t(&quot;../../components/color&quot;);e.exports=function(t,e){var r=t._fullLayout._paper.selectAll(&quot;.&quot;+M.cn.table).data(e.map(function(e){var r=A.unwrap(e).trace;return C(t,r)}),A.keyFun);r.exit().remove(),r.enter().append(&quot;g&quot;).classed(M.cn.table,!0).attr(&quot;overflow&quot;,&quot;visible&quot;).style(&quot;box-sizing&quot;,&quot;content-box&quot;).style(&quot;position&quot;,&quot;absolute&quot;).style(&quot;left&quot;,0).style(&quot;overflow&quot;,&quot;visible&quot;).style(&quot;shape-rendering&quot;,&quot;crispEdges&quot;).style(&quot;pointer-events&quot;,&quot;all&quot;),r.attr(&quot;width&quot;,function(t){return t.width+t.size.l+t.size.r}).attr(&quot;height&quot;,function(t){return t.height+t.size.t+t.size.b}).attr(&quot;transform&quot;,function(t){return&quot;translate(&quot;+t.translateX+&quot;,&quot;+t.translateY+&quot;)&quot;});var l=r.selectAll(&quot;.&quot;+M.cn.tableControlView).data(A.repeat,A.keyFun);l.enter().append(&quot;g&quot;).classed(M.cn.tableControlView,!0).style(&quot;box-sizing&quot;,&quot;content-box&quot;).on(&quot;mousemove&quot;,function(e){l.filter(function(t){return e===t}).call(o,t)}).on(&quot;mousewheel&quot;,function(e){e.scrollbarState.wheeling||(e.scrollbarState.wheeling=!0,k.event.stopPropagation(),k.event.preventDefault(),g(t,l,null,e.scrollY+k.event.deltaY)(e),e.scrollbarState.wheeling=!1)}).call(o,t,!0),l.attr(&quot;transform&quot;,function(t){return&quot;translate(&quot;+t.size.l+&quot; &quot;+t.size.t+&quot;)&quot;});var c=l.selectAll(&quot;.&quot;+M.cn.scrollBackground).data(A.repeat,A.keyFun);c.enter().append(&quot;rect&quot;).classed(M.cn.scrollBackground,!0).attr(&quot;fill&quot;,&quot;none&quot;),c.attr(&quot;width&quot;,function(t){return t.width}).attr(&quot;height&quot;,function(t){return t.height}),l.each(function(e){T.setClipUrl(k.select(this),n(t,e))});var u=l.selectAll(&quot;.&quot;+M.cn.yColumn).data(function(t){return t.columns},A.keyFun);u.enter().append(&quot;g&quot;).classed(M.cn.yColumn,!0),u.exit().remove(),u.attr(&quot;transform&quot;,function(t){return&quot;translate(&quot;+t.x+&quot; 0)&quot;}).call(k.behavior.drag().origin(function(e){return f(k.select(this),e,-M.uplift),E(this),e.calcdata.columnDragInProgress=!0,o(l.filter(function(t){return e.calcdata.key===t.key}),t),e}).on(&quot;drag&quot;,function(t){var e=k.select(this),r=function(e){return(t===e?k.event.x:e.x)+e.columnWidth/2};t.x=Math.max(-M.overdrag,Math.min(t.calcdata.width+M.overdrag-t.columnWidth,k.event.x));a(u).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)}),u.filter(function(e){return t!==e}).transition().ease(M.transitionEase).duration(M.transitionDuration).attr(&quot;transform&quot;,function(t){return&quot;translate(&quot;+t.x+&quot; 0)&quot;}),e.call(L).attr(&quot;transform&quot;,&quot;translate(&quot;+t.x+&quot; -&quot;+M.uplift+&quot; )&quot;)}).on(&quot;dragend&quot;,function(e){var r=k.select(this),n=e.calcdata;e.x=e.xScale(e),e.calcdata.columnDragInProgress=!1,f(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(&quot;plotly_restyle&quot;)}(t,n,n.columns.map(function(t){return t.xIndex}))})),u.each(function(e){T.setClipUrl(k.select(this),i(t,e))});var p=u.selectAll(&quot;.&quot;+M.cn.columnBlock).data(z.splitToPanels,A.keyFun);p.enter().append(&quot;g&quot;).classed(M.cn.columnBlock,!0).attr(&quot;id&quot;,function(t){return t.key}),p.style(&quot;cursor&quot;,function(t){return t.dragHandle?&quot;ew-resize&quot;:t.calcdata.scrollbarState.barWiggleRoom?&quot;ns-resize&quot;:&quot;default&quot;});var v=p.filter(d),y=p.filter(h);y.call(k.behavior.drag().origin(function(t){return k.event.stopPropagation(),t}).on(&quot;drag&quot;,g(t,l,-1)).on(&quot;dragend&quot;,function(){})),s(t,l,v,p),s(t,l,y,p);var x=l.selectAll(&quot;.&quot;+M.cn.scrollAreaClip).data(A.repeat,A.keyFun);x.enter().append(&quot;clipPath&quot;).classed(M.cn.scrollAreaClip,!0).attr(&quot;id&quot;,function(e){return n(t,e)});var b=x.selectAll(&quot;.&quot;+M.cn.scrollAreaClipRect).data(A.repeat,A.keyFun);b.enter().append(&quot;rect&quot;).classed(M.cn.scrollAreaClipRect,!0).attr(&quot;x&quot;,-M.overdrag).attr(&quot;y&quot;,-M.uplift).attr(&quot;fill&quot;,&quot;none&quot;),b.attr(&quot;width&quot;,function(t){return t.width+2*M.overdrag}).attr(&quot;height&quot;,function(t){return t.height+M.uplift});u.selectAll(&quot;.&quot;+M.cn.columnBoundary).data(A.repeat,A.keyFun).enter().append(&quot;g&quot;).classed(M.cn.columnBoundary,!0);var _=u.selectAll(&quot;.&quot;+M.cn.columnBoundaryClippath).data(A.repeat,A.keyFun);_.enter().append(&quot;clipPath&quot;).classed(M.cn.columnBoundaryClippath,!0),_.attr(&quot;id&quot;,function(e){return i(t,e)});var w=_.selectAll(&quot;.&quot;+M.cn.columnBoundaryRect).data(A.repeat,A.keyFun);w.enter().append(&quot;rect&quot;).classed(M.cn.columnBoundaryRect,!0).attr(&quot;fill&quot;,&quot;none&quot;),w.attr(&quot;width&quot;,function(t){return t.columnWidth}).attr(&quot;height&quot;,function(t){return t.calcdata.height+M.uplift}),m(null,y,l)}},{&quot;../../components/color&quot;:618,&quot;../../components/drawing&quot;:643,&quot;../../lib&quot;:743,&quot;../../lib/gup&quot;:740,&quot;../../lib/svg_text_utils&quot;:766,&quot;./constants&quot;:1149,&quot;./data_preparation_helper&quot;:1150,&quot;./data_split_helpers&quot;:1151,d3:128}],1155:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../box/attributes&quot;),i=t(&quot;../../lib/extend&quot;).extendFlat;e.exports={y:n.y,x:n.x,x0:n.x0,y0:n.y0,name:n.name,orientation:i({},n.orientation,{}),bandwidth:{valType:&quot;number&quot;,min:0,editType:&quot;calc&quot;},scalegroup:{valType:&quot;string&quot;,dflt:&quot;&quot;,editType:&quot;calc&quot;},scalemode:{valType:&quot;enumerated&quot;,values:[&quot;width&quot;,&quot;count&quot;],dflt:&quot;width&quot;,editType:&quot;calc&quot;},spanmode:{valType:&quot;enumerated&quot;,values:[&quot;soft&quot;,&quot;hard&quot;,&quot;manual&quot;],dflt:&quot;soft&quot;,editType:&quot;calc&quot;},span:{valType:&quot;info_array&quot;,items:[{valType:&quot;any&quot;,editType:&quot;calc&quot;},{valType:&quot;any&quot;,editType:&quot;calc&quot;}],editType:&quot;calc&quot;},line:{color:{valType:&quot;color&quot;,editType:&quot;style&quot;},width:{valType:&quot;number&quot;,min:0,dflt:2,editType:&quot;style&quot;},editType:&quot;plot&quot;},fillcolor:n.fillcolor,points:i({},n.boxpoints,{}),jitter:i({},n.jitter,{}),pointpos:i({},n.pointpos,{}),marker:n.marker,text:n.text,box:{visible:{valType:&quot;boolean&quot;,dflt:!1,editType:&quot;plot&quot;},width:{valType:&quot;number&quot;,min:0,max:1,dflt:.25,editType:&quot;plot&quot;},fillcolor:{valType:&quot;color&quot;,editType:&quot;style&quot;},line:{color:{valType:&quot;color&quot;,editType:&quot;style&quot;},width:{valType:&quot;number&quot;,min:0,editType:&quot;style&quot;},editType:&quot;style&quot;},editType:&quot;plot&quot;},meanline:{visible:{valType:&quot;boolean&quot;,dflt:!1,editType:&quot;plot&quot;},color:{valType:&quot;color&quot;,editType:&quot;style&quot;},width:{valType:&quot;number&quot;,min:0,editType:&quot;style&quot;},editType:&quot;plot&quot;},side:{valType:&quot;enumerated&quot;,values:[&quot;both&quot;,&quot;positive&quot;,&quot;negative&quot;],dflt:&quot;both&quot;,editType:&quot;plot&quot;},selected:n.selected,unselected:n.unselected,hoveron:{valType:&quot;flaglist&quot;,flags:[&quot;violins&quot;,&quot;points&quot;,&quot;kde&quot;],dflt:&quot;violins+points+kde&quot;,extras:[&quot;all&quot;],editType:&quot;style&quot;}}},{&quot;../../lib/extend&quot;:732,&quot;../box/attributes&quot;:896}],1156:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib&quot;),i=t(&quot;../../plots/cartesian/axes&quot;),a=t(&quot;../box/calc&quot;),o=t(&quot;./helpers&quot;),s=t(&quot;../../constants/numerical&quot;).BADNUM;e.exports=function(t,e){var r=a(t,e);if(r[0].t.empty)return r;var l=t._fullLayout,c=i.getFromId(t,e[&quot;h&quot;===e.orientation?&quot;xaxis&quot;:&quot;yaxis&quot;]),u=l._violinScaleGroupStats,f=e.scalegroup,h=u[f];h||(h=u[f]={maxWidth:0,maxCount:0});for(var d=0;d&lt;r.length;d++){var p=r[d],m=p.pts.map(o.extractVal),g=m.length,v=function(t,e,r){return 1.059*Math.min(e,r/1.349)*Math.pow(t.length,-.2)}(m,n.stdev(m,g-1,p.mean),p.q3-p.q1),y=p.bandwidth=e.bandwidth||v,x=p.span=function(t,e,r,n){function a(n){var i=c[n],a=r.d2c(i,0,t[e.valLetter+&quot;calendar&quot;]);return a===s?f[n]:a}var o,l=t.spanmode,c=t.span||[],u=[e.min,e.max],f=[e.min-2*n,e.max+2*n],h={type:&quot;linear&quot;,range:o=&quot;soft&quot;===l?f:&quot;hard&quot;===l?u:[a(0),a(1)]};return i.setConvert(h),h.cleanRange(),o}(e,p,c,y),b=x[1]-x[0],_=Math.ceil(b/(Math.min(v,y)/3)),w=b/_;if(!isFinite(w)||!isFinite(_))return n.error(&quot;Something went wrong with computing the violin span&quot;),r[0].t.empty=!0,r;var M=o.makeKDE(p,e,m);p.density=new Array(_);for(var k=0,A=x[0];A&lt;x[1]+w/2;k++,A+=w){var T=M(A);h.maxWidth=Math.max(h.maxWidth,T),p.density[k]={v:T,t:A}}i.expand(c,x,{padded:!0}),h.maxCount=Math.max(h.maxCount,m.length)}return r[0].t.labels.kde=n._(t,&quot;kde:&quot;),r}},{&quot;../../constants/numerical&quot;:721,&quot;../../lib&quot;:743,&quot;../../plots/cartesian/axes&quot;:789,&quot;../box/calc&quot;:897,&quot;./helpers&quot;:1158}],1157:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib&quot;),i=t(&quot;../../components/color&quot;),a=t(&quot;../box/defaults&quot;),o=t(&quot;./attributes&quot;);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(&quot;bandwidth&quot;),l(&quot;scalegroup&quot;,e.name),l(&quot;scalemode&quot;),l(&quot;side&quot;);var u,f=l(&quot;span&quot;);Array.isArray(f)&amp;&amp;(u=&quot;manual&quot;),l(&quot;spanmode&quot;,u);var h=l(&quot;line.color&quot;,(t.marker||{}).color||r),d=l(&quot;line.width&quot;),p=l(&quot;fillcolor&quot;,i.addOpacity(e.line.color,.5));a.handlePointsDefaults(t,e,l,{prefix:&quot;&quot;});var m=c(&quot;box.width&quot;),g=c(&quot;box.fillcolor&quot;,p),v=c(&quot;box.line.color&quot;,h),y=c(&quot;box.line.width&quot;,d);l(&quot;box.visible&quot;,Boolean(m||g||v||y))||delete e.box;var x=c(&quot;meanline.color&quot;,h),b=c(&quot;meanline.width&quot;,d);l(&quot;meanline.visible&quot;,Boolean(x||b))||delete e.meanline}}},{&quot;../../components/color&quot;:618,&quot;../../lib&quot;:743,&quot;../box/defaults&quot;:898,&quot;./attributes&quot;:1155}],1158:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib&quot;),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&lt;n;i++)e+=a((t-r[i])/o);return s*e}},r.getPositionOnKdePath=function(t,e,r){var i,a;&quot;h&quot;===e.orientation?(i=&quot;y&quot;,a=&quot;x&quot;):(i=&quot;x&quot;,a=&quot;y&quot;);var o=n.findPointOnPath(t.path,r,a,{pathLength:t.pathLength}),s=t.posCenterPx,l=o[i];return[l,&quot;both&quot;===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}},{&quot;../../lib&quot;:743}],1159:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib&quot;),i=t(&quot;../../plots/cartesian/axes&quot;),a=t(&quot;../box/hover&quot;),o=t(&quot;./helpers&quot;);e.exports=function(t,e,r,s,l){var c,u,f=t.cd,h=f[0].trace,d=h.hoveron,p=-1!==d.indexOf(&quot;violins&quot;),m=-1!==d.indexOf(&quot;kde&quot;),g=[];if(p||m){var v=a.hoverOnBoxes(t,e,r,s);if(p&amp;&amp;(g=g.concat(v)),m&amp;&amp;v.length&gt;0){var y,x,b,_,w,M=t.xa,k=t.ya;&quot;h&quot;===h.orientation?(w=e,y=&quot;y&quot;,b=k,x=&quot;x&quot;,_=M):(w=r,y=&quot;x&quot;,b=M,x=&quot;y&quot;,_=k);var A=f[t.index];if(w&gt;=A.span[0]&amp;&amp;w&lt;=A.span[1]){var T=n.extendFlat({},t),S=_.c2p(w,!0),E=o.getKdeValue(A,h,w),L=o.getPositionOnKdePath(A,h,S),C=b._offset,z=b._length;T[y+&quot;0&quot;]=L[0],T[y+&quot;1&quot;]=L[1],T[x+&quot;0&quot;]=T[x+&quot;1&quot;]=S,T[x+&quot;Label&quot;]=x+&quot;: &quot;+i.hoverLabelText(_,w)+&quot;, &quot;+f[0].t.labels.kde+&quot; &quot;+E.toFixed(3),g.push(T),(u={stroke:t.color})[y+&quot;1&quot;]=n.constrain(C+L[0],C,C+z),u[y+&quot;2&quot;]=n.constrain(C+L[1],C,C+z),u[x+&quot;1&quot;]=u[x+&quot;2&quot;]=_._offset+S}}}-1!==d.indexOf(&quot;points&quot;)&amp;&amp;(c=a.hoverOnPoints(t,e,r));var D=l.selectAll(&quot;.violinline-&quot;+h.uid).data(u?[0]:[]);return D.enter().append(&quot;line&quot;).classed(&quot;violinline-&quot;+h.uid,!0).attr(&quot;stroke-width&quot;,1.5),D.exit().remove(),D.attr(u),&quot;closest&quot;===s?c?[c]:g:c?(g.push(c),g):g}},{&quot;../../lib&quot;:743,&quot;../../plots/cartesian/axes&quot;:789,&quot;../box/hover&quot;:899,&quot;./helpers&quot;:1158}],1160:[function(t,e,r){&quot;use strict&quot;;e.exports={attributes:t(&quot;./attributes&quot;),layoutAttributes:t(&quot;./layout_attributes&quot;),supplyDefaults:t(&quot;./defaults&quot;),supplyLayoutDefaults:t(&quot;./layout_defaults&quot;),calc:t(&quot;./calc&quot;),setPositions:t(&quot;./set_positions&quot;),plot:t(&quot;./plot&quot;),style:t(&quot;./style&quot;),hoverPoints:t(&quot;./hover&quot;),selectPoints:t(&quot;../box/select&quot;),moduleType:&quot;trace&quot;,name:&quot;violin&quot;,basePlotModule:t(&quot;../../plots/cartesian&quot;),categories:[&quot;cartesian&quot;,&quot;symbols&quot;,&quot;oriented&quot;,&quot;box-violin&quot;,&quot;showLegend&quot;],meta:{}}},{&quot;../../plots/cartesian&quot;:800,&quot;../box/select&quot;:904,&quot;./attributes&quot;:1155,&quot;./calc&quot;:1156,&quot;./defaults&quot;:1157,&quot;./hover&quot;:1159,&quot;./layout_attributes&quot;:1161,&quot;./layout_defaults&quot;:1162,&quot;./plot&quot;:1163,&quot;./set_positions&quot;:1164,&quot;./style&quot;:1165}],1161:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../box/layout_attributes&quot;),i=t(&quot;../../lib&quot;).extendFlat;e.exports={violinmode:i({},n.boxmode,{}),violingap:i({},n.boxgap,{}),violingroupgap:i({},n.boxgroupgap,{})}},{&quot;../../lib&quot;:743,&quot;../box/layout_attributes&quot;:901}],1162:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib&quot;),i=t(&quot;./layout_attributes&quot;),a=t(&quot;../box/layout_defaults&quot;);e.exports=function(t,e,r){a._supply(t,e,r,function(r,a){return n.coerce(t,e,i,r,a)},&quot;violin&quot;)}},{&quot;../../lib&quot;:743,&quot;../box/layout_defaults&quot;:902,&quot;./layout_attributes&quot;:1161}],1163:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;d3&quot;),i=t(&quot;../../lib&quot;),a=t(&quot;../../components/drawing&quot;),o=t(&quot;../box/plot&quot;),s=t(&quot;../scatter/line_points&quot;),l=t(&quot;./helpers&quot;);e.exports=function(t,e,r){function c(t){var e=s(t,{xaxis:f,yaxis:h,connectGaps:!0,baseTolerance:.75,shape:&quot;spline&quot;,simplify:!0});return a.smoothopen(e[0],1)}var u=t._fullLayout,f=e.xaxis,h=e.yaxis;e.plot.select(&quot;.violinlayer&quot;).selectAll(&quot;g.trace.violins&quot;).data(r).enter().append(&quot;g&quot;).attr(&quot;class&quot;,&quot;trace violins&quot;).each(function(t){var r=t[0],a=r.t,s=r.trace,d=r.node3=n.select(this),p=u._numViolins,m=&quot;group&quot;===u.violinmode&amp;&amp;p&gt;1,g=a.bdPos=a.dPos*(1-u.violingap)*(1-u.violingroupgap)/(m?p:1),v=a.bPos=m?2*a.dPos*((a.num+.5)/p-.5)*(1-u.violingap):0;if(!0!==s.visible||a.empty)n.select(this).remove();else{var y=e[a.valLetter+&quot;axis&quot;],x=e[a.posLetter+&quot;axis&quot;],b=&quot;both&quot;===s.side,_=b||&quot;positive&quot;===s.side,w=b||&quot;negative&quot;===s.side,M=s.box&amp;&amp;s.box.visible,k=s.meanline&amp;&amp;s.meanline.visible,A=u._violinScaleGroupStats[s.scalegroup];if(d.selectAll(&quot;path.violin&quot;).data(i.identity).enter().append(&quot;path&quot;).style(&quot;vector-effect&quot;,&quot;non-scaling-stroke&quot;).attr(&quot;class&quot;,&quot;violin&quot;).each(function(t){var e,r=n.select(this),i=t.density,o=i.length,l=t.pos+v,u=x.c2p(l);switch(s.scalemode){case&quot;width&quot;:e=A.maxWidth/g;break;case&quot;count&quot;:e=A.maxWidth/g*(A.maxCount/t.pts.length)}var f,h,d,p,m,M,k;if(_){for(M=new Array(o),p=0;p&lt;o;p++)(k=M[p]={})[a.posLetter]=l+i[p].v/e,k[a.valLetter]=i[p].t;f=c(M)}if(w){for(M=new Array(o),m=0,p=o-1;m&lt;o;m++,p--)(k=M[m]={})[a.posLetter]=l-i[p].v/e,k[a.valLetter]=i[p].t;h=c(M)}if(b)d=f+&quot;L&quot;+h.substr(1)+&quot;Z&quot;;else{var T=[u,y.c2p(i[0].t)],S=[u,y.c2p(i[o-1].t)];&quot;h&quot;===s.orientation&amp;&amp;(T.reverse(),S.reverse()),d=_?&quot;M&quot;+T+&quot;L&quot;+f.substr(1)+&quot;L&quot;+S:&quot;M&quot;+S+&quot;L&quot;+h.substr(1)+&quot;L&quot;+T}r.attr(&quot;d&quot;,d),t.posCenterPx=u,t.posDensityScale=e*g,t.path=r.node(),t.pathLength=t.path.getTotalLength()/(b?2:1)}),M){var T,S,E=s.box.width,L=s.box.line.width;b?(T=g*E,S=0):_?(T=[0,g*E/2],S=-L):(T=[g*E/2,0],S=L),s.whiskerwidth=0,o.plotBoxAndWhiskers(d,{pos:x,val:y},s,{bPos:v,bdPos:T,bPosPxOffset:S}),k&amp;&amp;o.plotBoxMean(d,{pos:x,val:y},s,{bPos:v,bdPos:T,bPosPxOffset:S})}else k&amp;&amp;d.selectAll(&quot;path.mean&quot;).data(i.identity).enter().append(&quot;path&quot;).attr(&quot;class&quot;,&quot;mean&quot;).style({fill:&quot;none&quot;,&quot;vector-effect&quot;:&quot;non-scaling-stroke&quot;}).each(function(t){var e=y.c2p(t.mean,!0),r=l.getPositionOnKdePath(t,s,e);n.select(this).attr(&quot;d&quot;,&quot;h&quot;===s.orientation?&quot;M&quot;+e+&quot;,&quot;+r[0]+&quot;V&quot;+r[1]:&quot;M&quot;+r[0]+&quot;,&quot;+e+&quot;H&quot;+r[1])});s.points&amp;&amp;o.plotPoints(d,{x:f,y:h},s,a)}})}},{&quot;../../components/drawing&quot;:643,&quot;../../lib&quot;:743,&quot;../box/plot&quot;:903,&quot;../scatter/line_points&quot;:1080,&quot;./helpers&quot;:1158,d3:128}],1164:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../box/set_positions&quot;).setPositionOffset,i=[&quot;v&quot;,&quot;h&quot;];e.exports=function(t,e){for(var r=t.calcdata,a=e.xaxis,o=e.yaxis,s=0;s&lt;i.length;s++){for(var l=i[s],c=&quot;h&quot;===l?o:a,u=[],f=0,h=0,d=0;d&lt;r.length;d++){var p=r[d],m=p[0].t,g=p[0].trace;!0!==g.visible||&quot;violin&quot;!==g.type||m.empty||g.orientation!==l||g.xaxis!==a._id||g.yaxis!==o._id||(u.push(d),!1!==g.points&amp;&amp;(f=Math.max(f,g.jitter-g.pointpos-1),h=Math.max(h,g.jitter+g.pointpos-1)))}n(&quot;violin&quot;,t,u,c,[f,h])}}},{&quot;../box/set_positions&quot;:905}],1165:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;d3&quot;),i=t(&quot;../../components/color&quot;),a=t(&quot;../scatter/style&quot;).stylePoints;e.exports=function(t,e){var r=e?e[0].node3:n.select(t).selectAll(&quot;g.trace.violins&quot;);r.style(&quot;opacity&quot;,function(t){return t[0].trace.opacity}),r.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(&quot;path.violin&quot;).style(&quot;stroke-width&quot;,r.line.width+&quot;px&quot;).call(i.stroke,r.line.color).call(i.fill,r.fillcolor),o.selectAll(&quot;path.box&quot;).style(&quot;stroke-width&quot;,l.width+&quot;px&quot;).call(i.stroke,l.color).call(i.fill,s.fillcolor),o.selectAll(&quot;path.mean&quot;).style({&quot;stroke-width&quot;:u+&quot;px&quot;,&quot;stroke-dasharray&quot;:2*u+&quot;px,&quot;+u+&quot;px&quot;}).call(i.stroke,c.color),a(o,r,t)})}},{&quot;../../components/color&quot;:618,&quot;../scatter/style&quot;:1087,d3:128}],1166:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,n){if(n.enabled){for(var c=n.target,u=l.nestedProperty(e,c),h=u.get(),d=function(t,e){var r=t.func,n=e.d2c,s=e.c2d;switch(r){case&quot;count&quot;:return i;case&quot;first&quot;:return a;case&quot;last&quot;:return o;case&quot;sum&quot;:return function(t,e){for(var r=0,i=0;i&lt;e.length;i++){var a=n(t[e[i]]);a!==f&amp;&amp;(r+=a)}return s(r)};case&quot;avg&quot;:return function(t,e){for(var r=0,i=0,a=0;a&lt;e.length;a++){var o=n(t[e[a]]);o!==f&amp;&amp;(r+=o,i++)}return i?s(r/i):f};case&quot;min&quot;:return function(t,e){for(var r=1/0,i=0;i&lt;e.length;i++){var a=n(t[e[i]]);a!==f&amp;&amp;(r=Math.min(r,a))}return r===1/0?f:s(r)};case&quot;max&quot;:return function(t,e){for(var r=-1/0,i=0;i&lt;e.length;i++){var a=n(t[e[i]]);a!==f&amp;&amp;(r=Math.max(r,a))}return r===-1/0?f:s(r)};case&quot;median&quot;:return function(t,e){for(var r=[],i=0;i&lt;e.length;i++){var a=n(t[e[i]]);a!==f&amp;&amp;r.push(a)}if(!r.length)return f;r.sort();var o=(r.length-1)/2;return s((r[Math.floor(o)]+r[Math.ceil(o)])/2)};case&quot;mode&quot;:return function(t,e){for(var r={},i=0,a=f,o=0;o&lt;e.length;o++){var l=n(t[e[o]]);if(l!==f){var c=r[l]=(r[l]||0)+1;c&gt;i&amp;&amp;(i=c,a=l)}}return i?s(a):f};case&quot;rms&quot;:return function(t,e){for(var r=0,i=0,a=0;a&lt;e.length;a++){var o=n(t[e[a]]);o!==f&amp;&amp;(r+=o*o,i++)}return i?s(Math.sqrt(r/i)):f};case&quot;stddev&quot;:return function(e,r){var i,a=0,o=0,s=1,l=f;for(i=0;i&lt;r.length&amp;&amp;l===f;i++)l=n(e[r[i]]);if(l===f)return f;for(;i&lt;r.length;i++){var c=n(e[r[i]]);if(c!==f){var u=c-l;a+=u,o+=u*u,s++}}var h=&quot;sample&quot;===t.funcmode?s-1:s;return h?Math.sqrt((o-a*a/s)/h):0}}}(n,s.getDataConversions(t,e,c,h)),p=new Array(r.length),m=0;m&lt;r.length;m++)p[m]=d(h,r[m]);u.set(p)}}function i(t,e){return e.length}function a(t,e){return t[e[0]]}function o(t,e){return t[e[e.length-1]]}var s=t(&quot;../plots/cartesian/axes&quot;),l=t(&quot;../lib&quot;),c=t(&quot;../plot_api/plot_schema&quot;),u=t(&quot;./helpers&quot;).pointsAccessorFunction,f=t(&quot;../constants/numerical&quot;).BADNUM;r.moduleType=&quot;transform&quot;,r.name=&quot;aggregate&quot;;var h=r.attributes={enabled:{valType:&quot;boolean&quot;,dflt:!0,editType:&quot;calc&quot;},groups:{valType:&quot;string&quot;,strict:!0,noBlank:!0,arrayOk:!0,dflt:&quot;x&quot;,editType:&quot;calc&quot;},aggregations:{_isLinkedToArray:&quot;aggregation&quot;,target:{valType:&quot;string&quot;,editType:&quot;calc&quot;},func:{valType:&quot;enumerated&quot;,values:[&quot;count&quot;,&quot;sum&quot;,&quot;avg&quot;,&quot;median&quot;,&quot;mode&quot;,&quot;rms&quot;,&quot;stddev&quot;,&quot;min&quot;,&quot;max&quot;,&quot;first&quot;,&quot;last&quot;],dflt:&quot;first&quot;,editType:&quot;calc&quot;},funcmode:{valType:&quot;enumerated&quot;,values:[&quot;sample&quot;,&quot;population&quot;],dflt:&quot;sample&quot;,editType:&quot;calc&quot;},enabled:{valType:&quot;boolean&quot;,dflt:!0,editType:&quot;calc&quot;},editType:&quot;calc&quot;},editType:&quot;calc&quot;},d=h.aggregations;r.supplyDefaults=function(t,e){function r(e,r){return l.coerce(t,a,h,e,r)}function n(t,e){return l.coerce(p[i],f,d,t,e)}var i,a={};if(!r(&quot;enabled&quot;))return a;var o=c.findArrayAttributes(e),s={};for(i=0;i&lt;o.length;i++)s[o[i]]=1;var u=r(&quot;groups&quot;);if(!Array.isArray(u)){if(!s[u])return void(a.enabled=!1);s[u]=0}var f,p=t.aggregations||[],m=a.aggregations=new Array(p.length);for(i=0;i&lt;p.length;i++){f={_index:i};var g=n(&quot;target&quot;),v=n(&quot;func&quot;);n(&quot;enabled&quot;)&amp;&amp;g&amp;&amp;(s[g]||&quot;count&quot;===v&amp;&amp;void 0===s[g])?(&quot;stddev&quot;===v&amp;&amp;n(&quot;funcmode&quot;),s[g]=0,m[i]=f):m[i]={enabled:!1,_index:i}}for(i=0;i&lt;o.length;i++)s[o[i]]&amp;&amp;m.push({target:o[i],func:d.func.dflt,enabled:!0,_index:-1});return a},r.calcTransform=function(t,e,r){if(r.enabled){var i=r.groups,a=l.getTargetArray(e,{target:i});if(a){var o,s,c,f,h={},d={},p=[],m=u(e.transforms,r);for(o=0;o&lt;a.length;o++)void 0===(c=h[s=a[o]])?(h[s]=p.length,f=[o],p.push(f),d[h[s]]=m(o)):(p[c].push(o),d[h[s]]=(d[h[s]]||[]).concat(m(o)));r._indexToPoints=d;var g=r.aggregations;for(o=0;o&lt;g.length;o++)n(t,e,p,g[o]);&quot;string&quot;==typeof i&amp;&amp;n(t,e,p,{target:i,func:&quot;first&quot;,enabled:!0})}}}},{&quot;../constants/numerical&quot;:721,&quot;../lib&quot;:743,&quot;../plot_api/plot_schema&quot;:778,&quot;../plots/cartesian/axes&quot;:789,&quot;./helpers&quot;:1169}],1167:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../lib&quot;),i=t(&quot;../registry&quot;),a=t(&quot;../plots/cartesian/axes&quot;),o=t(&quot;./helpers&quot;).pointsAccessorFunction,s=[&quot;=&quot;,&quot;!=&quot;,&quot;&lt;&quot;,&quot;&gt;=&quot;,&quot;&gt;&quot;,&quot;&lt;=&quot;],l=[&quot;[]&quot;,&quot;()&quot;,&quot;[)&quot;,&quot;(]&quot;,&quot;][&quot;,&quot;)(&quot;,&quot;](&quot;,&quot;)[&quot;],c=[&quot;{}&quot;,&quot;}{&quot;];r.moduleType=&quot;transform&quot;,r.name=&quot;filter&quot;,r.attributes={enabled:{valType:&quot;boolean&quot;,dflt:!0,editType:&quot;calc&quot;},target:{valType:&quot;string&quot;,strict:!0,noBlank:!0,arrayOk:!0,dflt:&quot;x&quot;,editType:&quot;calc&quot;},operation:{valType:&quot;enumerated&quot;,values:[].concat(s).concat(l).concat(c),dflt:&quot;=&quot;,editType:&quot;calc&quot;},value:{valType:&quot;any&quot;,dflt:0,editType:&quot;calc&quot;},preservegaps:{valType:&quot;boolean&quot;,dflt:!1,editType:&quot;calc&quot;},editType:&quot;calc&quot;},r.supplyDefaults=function(t){function e(e,i){return n.coerce(t,a,r.attributes,e,i)}var a={};if(e(&quot;enabled&quot;)){e(&quot;preservegaps&quot;),e(&quot;operation&quot;),e(&quot;value&quot;),e(&quot;target&quot;);var o=i.getComponentMethod(&quot;calendars&quot;,&quot;handleDefaults&quot;);o(t,a,&quot;valuecalendar&quot;,null),o(t,a,&quot;targetcalendar&quot;,null)}return a},r.calcTransform=function(t,e,r){function i(t,r){for(var i=0;i&lt;p.length;i++){t(n.nestedProperty(e,p[i]),r)}}if(r.enabled){var u=n.getTargetArray(e,r);if(u){var f=r.target,h=u.length,d=r.targetcalendar,p=e._arrayAttrs;if(&quot;string&quot;==typeof f){var m=n.nestedProperty(e,f+&quot;calendar&quot;).get();m&amp;&amp;(d=m)}var g,v,y=function(t,e,r){function n(t){return-1!==t.indexOf(a)}var i,a=t.operation,o=t.value,u=Array.isArray(o),f=function(r){return e(r,0,t.valuecalendar)},h=function(t){return e(t,0,r)};switch(n(s)?i=f(u?o[0]:o):n(l)?i=u?[f(o[0]),f(o[1])]:[f(o),f(o)]:n(c)&amp;&amp;(i=u?o.map(f):[f(o)]),a){case&quot;=&quot;:return function(t){return h(t)===i};case&quot;!=&quot;:return function(t){return h(t)!==i};case&quot;&lt;&quot;:return function(t){return h(t)&lt;i};case&quot;&lt;=&quot;:return function(t){return h(t)&lt;=i};case&quot;&gt;&quot;:return function(t){return h(t)&gt;i};case&quot;&gt;=&quot;:return function(t){return h(t)&gt;=i};case&quot;[]&quot;:return function(t){var e=h(t);return e&gt;=i[0]&amp;&amp;e&lt;=i[1]};case&quot;()&quot;:return function(t){var e=h(t);return e&gt;i[0]&amp;&amp;e&lt;i[1]};case&quot;[)&quot;:return function(t){var e=h(t);return e&gt;=i[0]&amp;&amp;e&lt;i[1]};case&quot;(]&quot;:return function(t){var e=h(t);return e&gt;i[0]&amp;&amp;e&lt;=i[1]};case&quot;][&quot;:return function(t){var e=h(t);return e&lt;=i[0]||e&gt;=i[1]};case&quot;)(&quot;:return function(t){var e=h(t);return e&lt;i[0]||e&gt;i[1]};case&quot;](&quot;:return function(t){var e=h(t);return e&lt;=i[0]||e&gt;i[1]};case&quot;)[&quot;:return function(t){var e=h(t);return e&lt;i[0]||e&gt;=i[1]};case&quot;{}&quot;:return function(t){return-1!==i.indexOf(h(t))};case&quot;}{&quot;:return function(t){return-1===i.indexOf(h(t))}}}(r,a.getDataToCoordFunc(t,e,f,u),d),x={},b={},_=0;r.preservegaps?(g=function(t){x[t.astr]=n.extendDeep([],t.get()),t.set(new Array(h))},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)}),i(g);for(var w=o(e.transforms,r),M=0;M&lt;h;M++){y(u[M])&amp;&amp;(i(v,M),b[_++]=w(M))}r._indexToPoints=b}}}},{&quot;../lib&quot;:743,&quot;../plots/cartesian/axes&quot;:789,&quot;../registry&quot;:873,&quot;./helpers&quot;:1169}],1168:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../lib&quot;),i=t(&quot;../plot_api/plot_schema&quot;),a=t(&quot;../plots/plots&quot;),o=t(&quot;./helpers&quot;).pointsAccessorFunction;r.moduleType=&quot;transform&quot;,r.name=&quot;groupby&quot;,r.attributes={enabled:{valType:&quot;boolean&quot;,dflt:!0,editType:&quot;calc&quot;},groups:{valType:&quot;data_array&quot;,dflt:[],editType:&quot;calc&quot;},nameformat:{valType:&quot;string&quot;,editType:&quot;calc&quot;},styles:{_isLinkedToArray:&quot;style&quot;,target:{valType:&quot;string&quot;,editType:&quot;calc&quot;},value:{valType:&quot;any&quot;,dflt:{},editType:&quot;calc&quot;},editType:&quot;calc&quot;},editType:&quot;calc&quot;},r.supplyDefaults=function(t,e,i){function a(e,i){return n.coerce(t,s,r.attributes,e,i)}var o,s={};if(!a(&quot;enabled&quot;))return s;a(&quot;groups&quot;),a(&quot;nameformat&quot;,i._dataLength&gt;1?&quot;%{group} (%{trace})&quot;:&quot;%{group}&quot;);var l=t.styles,c=s.styles=[];if(l)for(o=0;o&lt;l.length;o++)c[o]={},n.coerce(l[o],c[o],r.attributes.styles,&quot;target&quot;),n.coerce(l[o],c[o],r.attributes.styles,&quot;value&quot;);return s},r.transform=function(t,e){var r,s,l,c=[];for(s=0;s&lt;t.length;s++)for(r=function(t,e){var r,s,l,c,u,f,h,d,p,m,g=e.transform,v=t.transforms[e.transformIndex].groups,y=o(t.transforms,g);if(!Array.isArray(v)||0===v.length)return[t];var x=n.filterUnique(v),b=new Array(x.length),_=v.length,w=i.findArrayAttributes(t),M=g.styles||[],k={};for(r=0;r&lt;M.length;r++)k[M[r].target]=M[r].value;g.styles&amp;&amp;(m=n.keyedContainer(g,&quot;styles&quot;,&quot;target&quot;,&quot;value.name&quot;));var A={},T={};for(r=0;r&lt;x.length;r++){A[f=x[r]]=r,T[f]=0,(h=b[r]=n.extendDeepNoArrays({},t))._group=f,h.transforms[e.transformIndex]._indexToPoints={};var S=null;for(m&amp;&amp;(S=m.get(f)),h.name=S||n.templateString(g.nameformat,{trace:t.name,group:f}),d=h.transforms,h.transforms=[],s=0;s&lt;d.length;s++)h.transforms[s]=n.extendDeepNoArrays({},d[s]);for(s=0;s&lt;w.length;s++)n.nestedProperty(h,w[s]).set([])}for(l=0;l&lt;w.length;l++){for(c=w[l],s=0,p=[];s&lt;x.length;s++)p[s]=n.nestedProperty(b[s],c).get();for(u=n.nestedProperty(t,c).get(),s=0;s&lt;_;s++)p[A[v[s]]].push(u[s])}for(s=0;s&lt;_;s++)(h=b[A[v[s]]]).transforms[e.transformIndex]._indexToPoints[T[v[s]]]=y(s),T[v[s]]++;for(r=0;r&lt;x.length;r++)f=x[r],h=b[r],a.clearExpandedTraceDefaultColors(h),h=n.extendDeepNoArrays(h,k[f]||{});return b}(t[s],e),l=0;l&lt;r.length;l++)c.push(r[l]);return c}},{&quot;../lib&quot;:743,&quot;../plot_api/plot_schema&quot;:778,&quot;../plots/plots&quot;:852,&quot;./helpers&quot;:1169}],1169:[function(t,e,r){&quot;use strict&quot;;r.pointsAccessorFunction=function(t,e){for(var r,n,i=0;i&lt;t.length&amp;&amp;(r=t[i])!==e;i++)r._indexToPoints&amp;&amp;!1!==r.enabled&amp;&amp;(n=r._indexToPoints);return n?function(t){return n[t]}:function(t){return[t]}}},{}],1170:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../lib&quot;),i=t(&quot;../plots/cartesian/axes&quot;),a=t(&quot;./helpers&quot;).pointsAccessorFunction;r.moduleType=&quot;transform&quot;,r.name=&quot;sort&quot;,r.attributes={enabled:{valType:&quot;boolean&quot;,dflt:!0,editType:&quot;calc&quot;},target:{valType:&quot;string&quot;,strict:!0,noBlank:!0,arrayOk:!0,dflt:&quot;x&quot;,editType:&quot;calc&quot;},order:{valType:&quot;enumerated&quot;,values:[&quot;ascending&quot;,&quot;descending&quot;],dflt:&quot;ascending&quot;,editType:&quot;calc&quot;},editType:&quot;calc&quot;},r.supplyDefaults=function(t){function e(e,a){return n.coerce(t,i,r.attributes,e,a)}var i={};return e(&quot;enabled&quot;)&amp;&amp;(e(&quot;target&quot;),e(&quot;order&quot;)),i},r.calcTransform=function(t,e,r){if(r.enabled){var o=n.getTargetArray(e,r);if(o){var s,l,c=r.target,u=o.length,f=e._arrayAttrs,h=function(t,e,r){for(var n=e.length,i=new Array(n),a=e.slice().sort(function(t,e){switch(t.order){case&quot;ascending&quot;:return function(t,r){return e(t)-e(r)};case&quot;descending&quot;:return function(t,r){return e(r)-e(t)}}}(t,r)),o=0;o&lt;n;o++)for(var s=e[o],l=0;l&lt;n;l++)if(s===a[l]){i[l]=o,a[l]=null;break}return i}(r,o,i.getDataToCoordFunc(t,e,c,o)),d=a(e.transforms,r),p={};for(s=0;s&lt;f.length;s++){var m=n.nestedProperty(e,f[s]),g=m.get(),v=new Array(u);for(l=0;l&lt;u;l++)v[l]=g[h[l]];m.set(v)}for(l=0;l&lt;u;l++)p[l]=d(h[l]);r._indexToPoints=p}}}},{&quot;../lib&quot;:743,&quot;../plots/cartesian/axes&quot;:789,&quot;./helpers&quot;:1169}]},{},[20])(20)});
&lt;/script&gt;
&lt;div id=&quot;498c4dde-b2fe-424c-bacf-78b98110c2e7&quot; style=&quot;height: 100%; width: 100%;&quot; class=&quot;plotly-graph-div&quot;&gt;&lt;/div&gt;
&lt;script type=&quot;text/javascript&quot;&gt;window.PLOTLYENV=window.PLOTLYENV || {};window.PLOTLYENV.BASE_URL=&quot;https://plot.ly&quot;;Plotly.newPlot(&quot;498c4dde-b2fe-424c-bacf-78b98110c2e7&quot;, [{&quot;type&quot;: &quot;bar&quot;, &quot;y&quot;: [37776, 24618, 19185, 12814, 11908, 11905, 11199, 10937, 7798], &quot;x&quot;: [&quot;El Grecoyqnnis&quot;, &quot;Adrien Derridé&quot;, &quot;Vincent Loutret&quot;, &quot;Ward Fromwhen&quot;, &quot;Ex-Girlfriend&quot;, &quot;Bahn Mi&quot;, &quot;Nina Cohen&quot;, &quot;Josselin Prud'hom&quot;, &quot;J\u00e9r\u00e9my Faivre&quot;], &quot;marker&quot;: {&quot;colorscale&quot;: &quot;RdYlBu&quot;, &quot;color&quot;: [37776, 24618, 19185, 12814, 11908, 11905, 11199, 10937, 7798]}}], {}, {&quot;showLink&quot;: true, &quot;linkText&quot;: &quot;Export to plot.ly&quot;})&lt;/script&gt;
&lt;script type=&quot;text/javascript&quot;&gt;window.addEventListener(&quot;resize&quot;, function(){Plotly.Plots.resize(document.getElementById(&quot;498c4dde-b2fe-424c-bacf-78b98110c2e7&quot;));});&lt;/script&gt;

&lt;p&gt;I’m  not too surprised here, everyone on this list is ( or was ) a significant part of my life. Extra features will allow the creation of the same histogram for each year and month to allow more precise analysis of this data.&lt;/p&gt;

&lt;h2 id=&quot;lets-get-personal&quot;&gt;Let’s get personal&lt;/h2&gt;

&lt;p&gt;So far I kept this analysis on a pretty “wide-scale”, I didn’t focus on how or when I talked to people but more on how many people were my Facebook friends and when that happenned.&lt;/p&gt;

&lt;p&gt;Let’s change that, I decided to create a function that will plot the number of messages sent by each party of a conversation over time.&lt;/p&gt;

&lt;p&gt;Then again, as I tried to keep it simple, the function became :&lt;/p&gt;

&lt;p&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;plot_hist_conversation()&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Here’s what it looks like when running this on a good friend of mine :&lt;/p&gt;

&lt;script type=&quot;text/javascript&quot;&gt;
!function(t){if(&quot;object&quot;==typeof exports&amp;&amp;&quot;undefined&quot;!=typeof module)module.exports=t();else if(&quot;function&quot;==typeof define&amp;&amp;define.amd)define([],t);else{(&quot;undefined&quot;!=typeof window?window:&quot;undefined&quot;!=typeof global?global:&quot;undefined&quot;!=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=&quot;function&quot;==typeof require&amp;&amp;require;if(!s&amp;&amp;l)return l(o,!0);if(a)return a(o,!0);var c=new Error(&quot;Cannot find module '&quot;+o+&quot;'&quot;);throw c.code=&quot;MODULE_NOT_FOUND&quot;,c}var u=r[o]={exports:{}};e[o][0].call(u.exports,function(t){var r=e[o][1][t];return i(r||t)},u,u.exports,t,e,r,n)}return r[o].exports}for(var a=&quot;function&quot;==typeof require&amp;&amp;require,o=0;o&lt;n.length;o++)i(n[o]);return i}({1:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../src/lib&quot;),i={&quot;X,X div&quot;:&quot;font-family:'Open Sans', verdana, arial, sans-serif;margin:0;padding:0;&quot;,&quot;X input,X button&quot;:&quot;font-family:'Open Sans', verdana, arial, sans-serif;&quot;,&quot;X input:focus,X button:focus&quot;:&quot;outline:none;&quot;,&quot;X a&quot;:&quot;text-decoration:none;&quot;,&quot;X a:hover&quot;:&quot;text-decoration:none;&quot;,&quot;X .crisp&quot;:&quot;shape-rendering:crispEdges;&quot;,&quot;X .user-select-none&quot;:&quot;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;&quot;,&quot;X svg&quot;:&quot;overflow:hidden;&quot;,&quot;X svg a&quot;:&quot;fill:#447adb;&quot;,&quot;X svg a:hover&quot;:&quot;fill:#3c6dc5;&quot;,&quot;X .main-svg&quot;:&quot;position:absolute;top:0;left:0;pointer-events:none;&quot;,&quot;X .main-svg .draglayer&quot;:&quot;pointer-events:all;&quot;,&quot;X .cursor-default&quot;:&quot;cursor:default;&quot;,&quot;X .cursor-pointer&quot;:&quot;cursor:pointer;&quot;,&quot;X .cursor-crosshair&quot;:&quot;cursor:crosshair;&quot;,&quot;X .cursor-move&quot;:&quot;cursor:move;&quot;,&quot;X .cursor-col-resize&quot;:&quot;cursor:col-resize;&quot;,&quot;X .cursor-row-resize&quot;:&quot;cursor:row-resize;&quot;,&quot;X .cursor-ns-resize&quot;:&quot;cursor:ns-resize;&quot;,&quot;X .cursor-ew-resize&quot;:&quot;cursor:ew-resize;&quot;,&quot;X .cursor-sw-resize&quot;:&quot;cursor:sw-resize;&quot;,&quot;X .cursor-s-resize&quot;:&quot;cursor:s-resize;&quot;,&quot;X .cursor-se-resize&quot;:&quot;cursor:se-resize;&quot;,&quot;X .cursor-w-resize&quot;:&quot;cursor:w-resize;&quot;,&quot;X .cursor-e-resize&quot;:&quot;cursor:e-resize;&quot;,&quot;X .cursor-nw-resize&quot;:&quot;cursor:nw-resize;&quot;,&quot;X .cursor-n-resize&quot;:&quot;cursor:n-resize;&quot;,&quot;X .cursor-ne-resize&quot;:&quot;cursor:ne-resize;&quot;,&quot;X .modebar&quot;:&quot;position:absolute;top:2px;right:2px;z-index:1001;background:rgba(255,255,255,0.7);&quot;,&quot;X .modebar--hover&quot;:&quot;opacity:0;-webkit-transition:opacity 0.3s ease 0s;-moz-transition:opacity 0.3s ease 0s;-ms-transition:opacity 0.3s ease 0s;-o-transition:opacity 0.3s ease 0s;transition:opacity 0.3s ease 0s;&quot;,&quot;X:hover .modebar--hover&quot;:&quot;opacity:1;&quot;,&quot;X .modebar-group&quot;:&quot;float:left;display:inline-block;box-sizing:border-box;margin-left:8px;position:relative;vertical-align:middle;white-space:nowrap;&quot;,&quot;X .modebar-group:first-child&quot;:&quot;margin-left:0px;&quot;,&quot;X .modebar-btn&quot;:&quot;position:relative;font-size:16px;padding:3px 4px;cursor:pointer;line-height:normal;box-sizing:border-box;&quot;,&quot;X .modebar-btn svg&quot;:&quot;position:relative;top:2px;&quot;,&quot;X .modebar-btn path&quot;:&quot;fill:rgba(0,31,95,0.3);&quot;,&quot;X .modebar-btn.active path,X .modebar-btn:hover path&quot;:&quot;fill:rgba(0,22,72,0.5);&quot;,&quot;X .modebar-btn.modebar-btn--logo&quot;:&quot;padding:3px 1px;&quot;,&quot;X .modebar-btn.modebar-btn--logo path&quot;:&quot;fill:#447adb !important;&quot;,&quot;X [data-title]:before,X [data-title]:after&quot;:&quot;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%;&quot;,&quot;X [data-title]:hover:before,X [data-title]:hover:after&quot;:&quot;display:block;opacity:1;&quot;,&quot;X [data-title]:before&quot;:&quot;content:'';position:absolute;background:transparent;border:6px solid transparent;z-index:1002;margin-top:-12px;border-bottom-color:#69738a;margin-right:-6px;&quot;,&quot;X [data-title]:after&quot;:&quot;content:attr(data-title);background:#69738a;color:white;padding:8px 10px;font-size:12px;line-height:12px;white-space:nowrap;margin-right:-18px;border-radius:2px;&quot;,&quot;X .select-outline&quot;:&quot;fill:none;stroke-width:1;shape-rendering:crispEdges;&quot;,&quot;X .select-outline-1&quot;:&quot;stroke:white;&quot;,&quot;X .select-outline-2&quot;:&quot;stroke:black;stroke-dasharray:2px 2px;&quot;,Y:&quot;font-family:'Open Sans';position:fixed;top:50px;right:20px;z-index:10000;font-size:10pt;max-width:180px;&quot;,&quot;Y p&quot;:&quot;margin:0;&quot;,&quot;Y .notifier-note&quot;:&quot;min-width:180px;max-width:250px;border:1px solid #fff;z-index:3000;margin:0;background-color:#8c97af;background-color:rgba(140,151,175,0.9);color:#fff;padding:10px;overflow-wrap:break-word;word-wrap:break-word;-ms-hyphens:auto;-webkit-hyphens:auto;hyphens:auto;&quot;,&quot;Y .notifier-close&quot;:&quot;color:#fff;opacity:0.8;float:right;padding:0 5px;background:none;border:none;font-size:20px;font-weight:bold;line-height:20px;&quot;,&quot;Y .notifier-close:hover&quot;:&quot;color:#444;text-decoration:none;cursor:pointer;&quot;};for(var a in i){var o=a.replace(/^,/,&quot; ,&quot;).replace(/X/g,&quot;.js-plotly-plot .plotly&quot;).replace(/Y/g,&quot;.plotly-notifier&quot;);n.addStyleRule(o,i[a])}},{&quot;../src/lib&quot;:743}],2:[function(t,e,r){&quot;use strict&quot;;e.exports={undo:{width:857.1,path:&quot;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&quot;,ascent:850,descent:-150},home:{width:928.6,path:&quot;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&quot;,ascent:850,descent:-150},&quot;camera-retro&quot;:{width:1e3,path:&quot;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&quot;,ascent:850,descent:-150},zoombox:{width:1e3,path:&quot;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&quot;,ascent:850,descent:-150},pan:{width:1e3,path:&quot;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&quot;,ascent:850,descent:-150},zoom_plus:{width:1e3,path:&quot;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&quot;,ascent:850,descent:-150},zoom_minus:{width:1e3,path:&quot;m0 788l0-876 875 0 0 876-875 0z m688-500l-500 0 0 125 500 0 0-125z&quot;,ascent:850,descent:-150},autoscale:{width:1e3,path:&quot;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&quot;,ascent:850,descent:-150},tooltip_basic:{width:1500,path:&quot;m375 725l0 0-375-375 375-374 0-1 1125 0 0 750-1125 0z&quot;,ascent:850,descent:-150},tooltip_compare:{width:1125,path:&quot;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&quot;,ascent:850,descent:-150},plotlylogo:{width:1542,path:&quot;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&quot;,ascent:850,descent:-150},&quot;z-axis&quot;:{width:1e3,path:&quot;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&quot;,ascent:850,descent:-150},&quot;3d_rotate&quot;:{width:1e3,path:&quot;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&quot;,ascent:850,descent:-150},camera:{width:1e3,path:&quot;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&quot;,ascent:850,descent:-150},movie:{width:1e3,path:&quot;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&quot;,ascent:850,descent:-150},question:{width:857.1,path:&quot;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&quot;,ascent:850,descent:-150},disk:{width:857.1,path:&quot;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&quot;,ascent:850,descent:-150},lasso:{width:1031,path:&quot;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&quot;,ascent:850,descent:-150},selectbox:{width:1e3,path:&quot;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&quot;,ascent:850,descent:-150},spikeline:{width:1e3,path:&quot;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&quot;,ascent:850,descent:-150}}},{}],3:[function(t,e,r){&quot;use strict&quot;;e.exports=t(&quot;../src/transforms/aggregate&quot;)},{&quot;../src/transforms/aggregate&quot;:1166}],4:[function(t,e,r){&quot;use strict&quot;;e.exports=t(&quot;../src/traces/bar&quot;)},{&quot;../src/traces/bar&quot;:887}],5:[function(t,e,r){&quot;use strict&quot;;e.exports=t(&quot;../src/traces/box&quot;)},{&quot;../src/traces/box&quot;:900}],6:[function(t,e,r){&quot;use strict&quot;;e.exports=t(&quot;../src/components/calendars&quot;)},{&quot;../src/components/calendars&quot;:616}],7:[function(t,e,r){&quot;use strict&quot;;e.exports=t(&quot;../src/traces/candlestick&quot;)},{&quot;../src/traces/candlestick&quot;:909}],8:[function(t,e,r){&quot;use strict&quot;;e.exports=t(&quot;../src/traces/carpet&quot;)},{&quot;../src/traces/carpet&quot;:930}],9:[function(t,e,r){&quot;use strict&quot;;e.exports=t(&quot;../src/traces/choropleth&quot;)},{&quot;../src/traces/choropleth&quot;:945}],10:[function(t,e,r){&quot;use strict&quot;;e.exports=t(&quot;../src/traces/contour&quot;)},{&quot;../src/traces/contour&quot;:958}],11:[function(t,e,r){&quot;use strict&quot;;e.exports=t(&quot;../src/traces/contourcarpet&quot;)},{&quot;../src/traces/contourcarpet&quot;:973}],12:[function(t,e,r){&quot;use strict&quot;;e.exports=t(&quot;../src/core&quot;)},{&quot;../src/core&quot;:724}],13:[function(t,e,r){&quot;use strict&quot;;e.exports=t(&quot;../src/transforms/filter&quot;)},{&quot;../src/transforms/filter&quot;:1167}],14:[function(t,e,r){&quot;use strict&quot;;e.exports=t(&quot;../src/transforms/groupby&quot;)},{&quot;../src/transforms/groupby&quot;:1168}],15:[function(t,e,r){&quot;use strict&quot;;e.exports=t(&quot;../src/traces/heatmap&quot;)},{&quot;../src/traces/heatmap&quot;:986}],16:[function(t,e,r){&quot;use strict&quot;;e.exports=t(&quot;../src/traces/heatmapgl&quot;)},{&quot;../src/traces/heatmapgl&quot;:996}],17:[function(t,e,r){&quot;use strict&quot;;e.exports=t(&quot;../src/traces/histogram&quot;)},{&quot;../src/traces/histogram&quot;:1007}],18:[function(t,e,r){&quot;use strict&quot;;e.exports=t(&quot;../src/traces/histogram2d&quot;)},{&quot;../src/traces/histogram2d&quot;:1013}],19:[function(t,e,r){&quot;use strict&quot;;e.exports=t(&quot;../src/traces/histogram2dcontour&quot;)},{&quot;../src/traces/histogram2dcontour&quot;:1017}],20:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;./core&quot;);n.register([t(&quot;./bar&quot;),t(&quot;./box&quot;),t(&quot;./heatmap&quot;),t(&quot;./histogram&quot;),t(&quot;./histogram2d&quot;),t(&quot;./histogram2dcontour&quot;),t(&quot;./pie&quot;),t(&quot;./contour&quot;),t(&quot;./scatterternary&quot;),t(&quot;./violin&quot;),t(&quot;./scatter3d&quot;),t(&quot;./surface&quot;),t(&quot;./mesh3d&quot;),t(&quot;./scattergeo&quot;),t(&quot;./choropleth&quot;),t(&quot;./scattergl&quot;),t(&quot;./pointcloud&quot;),t(&quot;./heatmapgl&quot;),t(&quot;./parcoords&quot;),t(&quot;./scattermapbox&quot;),t(&quot;./sankey&quot;),t(&quot;./table&quot;),t(&quot;./carpet&quot;),t(&quot;./scattercarpet&quot;),t(&quot;./contourcarpet&quot;),t(&quot;./ohlc&quot;),t(&quot;./candlestick&quot;),t(&quot;./scatterpolar&quot;),t(&quot;./scatterpolargl&quot;)]),n.register([t(&quot;./aggregate&quot;),t(&quot;./filter&quot;),t(&quot;./groupby&quot;),t(&quot;./sort&quot;)]),n.register([t(&quot;./calendars&quot;)]),e.exports=n},{&quot;./aggregate&quot;:3,&quot;./bar&quot;:4,&quot;./box&quot;:5,&quot;./calendars&quot;:6,&quot;./candlestick&quot;:7,&quot;./carpet&quot;:8,&quot;./choropleth&quot;:9,&quot;./contour&quot;:10,&quot;./contourcarpet&quot;:11,&quot;./core&quot;:12,&quot;./filter&quot;:13,&quot;./groupby&quot;:14,&quot;./heatmap&quot;:15,&quot;./heatmapgl&quot;:16,&quot;./histogram&quot;:17,&quot;./histogram2d&quot;:18,&quot;./histogram2dcontour&quot;:19,&quot;./mesh3d&quot;:21,&quot;./ohlc&quot;:22,&quot;./parcoords&quot;:23,&quot;./pie&quot;:24,&quot;./pointcloud&quot;:25,&quot;./sankey&quot;:26,&quot;./scatter3d&quot;:27,&quot;./scattercarpet&quot;:28,&quot;./scattergeo&quot;:29,&quot;./scattergl&quot;:30,&quot;./scattermapbox&quot;:31,&quot;./scatterpolar&quot;:32,&quot;./scatterpolargl&quot;:33,&quot;./scatterternary&quot;:34,&quot;./sort&quot;:35,&quot;./surface&quot;:36,&quot;./table&quot;:37,&quot;./violin&quot;:38}],21:[function(t,e,r){&quot;use strict&quot;;e.exports=t(&quot;../src/traces/mesh3d&quot;)},{&quot;../src/traces/mesh3d&quot;:1023}],22:[function(t,e,r){&quot;use strict&quot;;e.exports=t(&quot;../src/traces/ohlc&quot;)},{&quot;../src/traces/ohlc&quot;:1028}],23:[function(t,e,r){&quot;use strict&quot;;e.exports=t(&quot;../src/traces/parcoords&quot;)},{&quot;../src/traces/parcoords&quot;:1037}],24:[function(t,e,r){&quot;use strict&quot;;e.exports=t(&quot;../src/traces/pie&quot;)},{&quot;../src/traces/pie&quot;:1047}],25:[function(t,e,r){&quot;use strict&quot;;e.exports=t(&quot;../src/traces/pointcloud&quot;)},{&quot;../src/traces/pointcloud&quot;:1056}],26:[function(t,e,r){&quot;use strict&quot;;e.exports=t(&quot;../src/traces/sankey&quot;)},{&quot;../src/traces/sankey&quot;:1062}],27:[function(t,e,r){&quot;use strict&quot;;e.exports=t(&quot;../src/traces/scatter3d&quot;)},{&quot;../src/traces/scatter3d&quot;:1096}],28:[function(t,e,r){&quot;use strict&quot;;e.exports=t(&quot;../src/traces/scattercarpet&quot;)},{&quot;../src/traces/scattercarpet&quot;:1102}],29:[function(t,e,r){&quot;use strict&quot;;e.exports=t(&quot;../src/traces/scattergeo&quot;)},{&quot;../src/traces/scattergeo&quot;:1109}],30:[function(t,e,r){&quot;use strict&quot;;e.exports=t(&quot;../src/traces/scattergl&quot;)},{&quot;../src/traces/scattergl&quot;:1115}],31:[function(t,e,r){&quot;use strict&quot;;e.exports=t(&quot;../src/traces/scattermapbox&quot;)},{&quot;../src/traces/scattermapbox&quot;:1121}],32:[function(t,e,r){&quot;use strict&quot;;e.exports=t(&quot;../src/traces/scatterpolar&quot;)},{&quot;../src/traces/scatterpolar&quot;:1128}],33:[function(t,e,r){&quot;use strict&quot;;e.exports=t(&quot;../src/traces/scatterpolargl&quot;)},{&quot;../src/traces/scatterpolargl&quot;:1132}],34:[function(t,e,r){&quot;use strict&quot;;e.exports=t(&quot;../src/traces/scatterternary&quot;)},{&quot;../src/traces/scatterternary&quot;:1138}],35:[function(t,e,r){&quot;use strict&quot;;e.exports=t(&quot;../src/transforms/sort&quot;)},{&quot;../src/transforms/sort&quot;:1170}],36:[function(t,e,r){&quot;use strict&quot;;e.exports=t(&quot;../src/traces/surface&quot;)},{&quot;../src/traces/surface&quot;:1145}],37:[function(t,e,r){&quot;use strict&quot;;e.exports=t(&quot;../src/traces/table&quot;)},{&quot;../src/traces/table&quot;:1153}],38:[function(t,e,r){&quot;use strict&quot;;e.exports=t(&quot;../src/traces/violin&quot;)},{&quot;../src/traces/violin&quot;:1160}],39:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t,e){function r(e,r,i,a){var o=1/t.clientHeight,s=o*(r-m),l=o*(i-g),u=p.flipX?1:-1,h=p.flipY?1:-1,d=Math.PI*p.rotateSpeed,y=n();if(1&amp;e)a.shift?c.rotate(y,0,0,-s*d):c.rotate(y,u*d*s,-h*d*l,0);else if(2&amp;e)c.pan(y,-p.translateSpeed*s*f,p.translateSpeed*l*f,0);else if(4&amp;e){var x=p.zoomSpeed*l/window.innerHeight*(y-c.lastT())*50;c.pan(y,0,0,f*(Math.exp(x)-1))}m=r,g=i,v=a}t=t||document.body;var l=[.01,1/0];&quot;distanceLimits&quot;in(e=e||{})&amp;&amp;(l[0]=e.distanceLimits[0],l[1]=e.distanceLimits[1]),&quot;zoomMin&quot;in e&amp;&amp;(l[0]=e.zoomMin),&quot;zoomMax&quot;in e&amp;&amp;(l[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||&quot;orbit&quot;,distanceLimits:l}),u=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],f=0,h=t.clientWidth,d=t.clientHeight,p={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,tick:function(){var e=n(),r=this.delay;c.idle(e-r),c.flush(e-(100+2*r));var i=e-2*r;c.recalcMatrix(i);for(var a=!0,o=c.computedMatrix,s=0;s&lt;16;++s)a=a&amp;&amp;u[s]===o[s],u[s]=o[s];var l=t.clientWidth===h&amp;&amp;t.clientHeight===d;return h=t.clientWidth,d=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)}};Object.defineProperties(p,{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){return c.setMode(t),c.getMode()},enumerable:!0},center:{get:function(){return c.computedCenter},set:function(t){return c.lookAt(c.lastT(),t),c.computedCenter},enumerable:!0},eye:{get:function(){return c.computedEye},set:function(t){return c.lookAt(c.lastT(),null,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(l)},set:function(t){return c.setDistanceLimits(t),t},enumerable:!0}}),t.addEventListener(&quot;contextmenu&quot;,function(t){return t.preventDefault(),!1});var m=0,g=0,v={shift:!1,control:!1,alt:!1,meta:!1};return a(t,r),t.addEventListener(&quot;touchstart&quot;,function(e){var n=s(e.changedTouches[0],t);r(0,n[0],n[1],v),r(1,n[0],n[1],v)}),t.addEventListener(&quot;touchmove&quot;,function(e){var n=s(e.changedTouches[0],t);r(1,n[0],n[1],v)}),t.addEventListener(&quot;touchend&quot;,function(e){s(e.changedTouches[0],t),r(0,m,g,v)}),o(t,function(t,e,r){var i=p.flipX?1:-1,a=p.flipY?1:-1,o=n();if(Math.abs(t)&gt;Math.abs(e))c.rotate(o,0,0,-t*i*Math.PI*p.rotateSpeed/window.innerWidth);else{var s=p.zoomSpeed*a*e/window.innerHeight*(o-c.lastT())/100;c.pan(o,0,0,f*(Math.exp(s)-1))}},!0),p};var n=t(&quot;right-now&quot;),i=t(&quot;3d-view&quot;),a=t(&quot;mouse-change&quot;),o=t(&quot;mouse-wheel&quot;),s=t(&quot;mouse-event-offset&quot;)},{&quot;3d-view&quot;:40,&quot;mouse-change&quot;:443,&quot;mouse-event-offset&quot;:444,&quot;mouse-wheel&quot;:446,&quot;right-now&quot;:509}],40:[function(t,e,r){&quot;use strict&quot;;function n(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=&quot;turntable&quot;,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}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||&quot;turntable&quot;,u=i(),f=a(),h=o();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 n({turntable:u,orbit:f,matrix:h},c)};var i=t(&quot;turntable-camera-controller&quot;),a=t(&quot;orbit-camera-controller&quot;),o=t(&quot;matrix-camera-controller&quot;),s=n.prototype;[[&quot;flush&quot;,1],[&quot;idle&quot;,1],[&quot;lookAt&quot;,4],[&quot;rotate&quot;,4],[&quot;pan&quot;,4],[&quot;translate&quot;,4],[&quot;setMatrix&quot;,2],[&quot;setDistanceLimits&quot;,2],[&quot;setDistance&quot;,2]].forEach(function(t){for(var e=t[0],r=[],n=0;n&lt;t[1];++n)r.push(&quot;a&quot;+n);var i=&quot;var cc=this._controllerList;for(var i=0;i&lt;cc.length;++i){cc[i].&quot;+t[0]+&quot;(&quot;+r.join()+&quot;)}&quot;;s[e]=Function.apply(null,r.concat(i))}),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&lt;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}},{&quot;matrix-camera-controller&quot;:441,&quot;orbit-camera-controller&quot;:464,&quot;turntable-camera-controller&quot;:551}],41:[function(t,e,r){!function(n,i){&quot;object&quot;==typeof r&amp;&amp;void 0!==e?i(r,t(&quot;d3-array&quot;),t(&quot;d3-collection&quot;),t(&quot;d3-interpolate&quot;)):i(n.d3=n.d3||{},n.d3,n.d3,n.d3)}(this,function(t,e,r,n){&quot;use strict&quot;;t.sankey=function(){function t(){for(var t,e=h,r=0;e.length;)t=[],e.forEach(function(e){e.x=r,e.dx=c,e.sourceLinks.forEach(function(e){t.indexOf(e.target)&lt;0&amp;&amp;t.push(e.target)})}),e=t,++r;!function(t){h.forEach(function(e){e.sourceLinks.length||(e.x=t-1)})}(r),function(t){h.forEach(function(e){e.x*=t})}((f[0]-c)/(r-1))}function i(t){function n(){a.forEach(function(t){var e,r,n,a=0,o=t.length;for(t.sort(i),n=0;n&lt;o;++n)(r=a-(e=t[n]).y)&gt;0&amp;&amp;(e.y+=r),a=e.y+e.dy+u;if((r=a-u-f[1])&gt;0)for(a=e.y-=r,n=o-2;n&gt;=0;--n)(r=(e=t[n]).y+e.dy+u-a)&gt;0&amp;&amp;(e.y-=r),a=e.y})}function i(t,e){return t.y-e.y}var a=r.nest().key(function(t){return t.x}).sortKeys(e.ascending).entries(h).map(function(t){return t.values});!function(){var t=e.min(a,function(t){return(f[1]-(t.length-1)*u)/e.sum(t,s)});a.forEach(function(e){e.forEach(function(e,r){e.y=r,e.dy=e.value*t})}),d.forEach(function(e){e.dy=e.value*t})}(),n();for(var l=1;t&gt;0;--t)!function(t){function r(t){return o(t.target)*t.value}a.slice().reverse().forEach(function(n){n.forEach(function(n){if(n.sourceLinks.length){var i=e.sum(n.sourceLinks,r)/e.sum(n.sourceLinks,s);n.y+=(i-o(n))*t}})})}(l*=.99),n(),function(t){function r(t){return o(t.source)*t.value}a.forEach(function(n){n.forEach(function(n){if(n.targetLinks.length){var i=e.sum(n.targetLinks,r)/e.sum(n.targetLinks,s);n.y+=(i-o(n))*t}})})}(l),n()}function a(){function t(t,e){return t.source.y-e.source.y||t.originalIndex-e.originalIndex}function e(t,e){return t.target.y-e.target.y||t.originalIndex-e.originalIndex}h.forEach(function(r){r.sourceLinks.sort(e),r.targetLinks.sort(t)}),h.forEach(function(t){var e=0,r=0;t.sourceLinks.forEach(function(t){t.sy=e,e+=t.dy}),t.targetLinks.forEach(function(t){t.ty=r,r+=t.dy})})}function o(t){return t.y+t.dy/2}function s(t){return t.value}var l={},c=24,u=8,f=[1,1],h=[],d=[];return l.nodeWidth=function(t){return arguments.length?(c=+t,l):c},l.nodePadding=function(t){return arguments.length?(u=+t,l):u},l.nodes=function(t){return arguments.length?(h=t,l):h},l.links=function(t){return arguments.length?(d=t,l):d},l.size=function(t){return arguments.length?(f=t,l):f},l.layout=function(r){return h.forEach(function(t){t.sourceLinks=[],t.targetLinks=[]}),d.forEach(function(t,e){var r=t.source,n=t.target;&quot;number&quot;==typeof r&amp;&amp;(r=t.source=h[t.source]),&quot;number&quot;==typeof n&amp;&amp;(n=t.target=h[t.target]),t.originalIndex=e,r.sourceLinks.push(t),n.targetLinks.push(t)}),h.forEach(function(t){t.value=Math.max(e.sum(t.sourceLinks,s),e.sum(t.targetLinks,s))}),t(),i(r),a(),l},l.relayout=function(){return a(),l},l.link=function(){function t(t){var r=t.source.x+t.source.dx,i=t.target.x,a=n.interpolateNumber(r,i),o=a(e),s=a(1-e),l=t.source.y+t.sy,c=l+t.dy,u=t.target.y+t.ty,f=u+t.dy;return&quot;M&quot;+r+&quot;,&quot;+l+&quot;C&quot;+o+&quot;,&quot;+l+&quot; &quot;+s+&quot;,&quot;+u+&quot; &quot;+i+&quot;,&quot;+u+&quot;L&quot;+i+&quot;,&quot;+f+&quot;C&quot;+s+&quot;,&quot;+f+&quot; &quot;+o+&quot;,&quot;+c+&quot; &quot;+r+&quot;,&quot;+c+&quot;Z&quot;}var e=.5;return t.curvature=function(r){return arguments.length?(e=+r,t):e},t},l},Object.defineProperty(t,&quot;__esModule&quot;,{value:!0})})},{&quot;d3-array&quot;:120,&quot;d3-collection&quot;:121,&quot;d3-interpolate&quot;:125}],42:[function(t,e,r){&quot;use strict&quot;;var n=&quot;undefined&quot;==typeof WeakMap?t(&quot;weak-map&quot;):WeakMap,i=t(&quot;gl-buffer&quot;),a=t(&quot;gl-vao&quot;),o=new n;e.exports=function(t){var e=o.get(t),r=e&amp;&amp;(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()}},{&quot;gl-buffer&quot;:165,&quot;gl-vao&quot;:259,&quot;weak-map&quot;:573}],43:[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&quot;a&quot;:t[6]+=n,t[7]+=i;break;case&quot;v&quot;:t[1]+=i;break;case&quot;h&quot;:t[1]+=n;break;default:for(var s=1;s&lt;t.length;)t[s++]+=n,t[s++]+=i}switch(o){case&quot;Z&quot;:n=e,i=r;break;case&quot;H&quot;:n=t[1];break;case&quot;V&quot;:i=t[1];break;case&quot;M&quot;:n=e=t[1],i=r=t[2];break;default:n=t[t.length-2],i=t[t.length-1]}return t})}},{}],44:[function(t,e,r){var n=t(&quot;pad-left&quot;);e.exports=function(t,e,r){e=&quot;number&quot;==typeof e?e:1,r=r||&quot;: &quot;;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(&quot;\n&quot;)}},{&quot;pad-left&quot;:465}],45:[function(t,e,r){&quot;use strict&quot;;function n(t,e){for(var r=new Array(e+1),n=0;n&lt;t.length;++n)r[n]=t[n];for(n=0;n&lt;=t.length;++n){for(var a=t.length;a&lt;=e;++a){for(var o=new Array(e),s=0;s&lt;e;++s)o[s]=Math.pow(a+1-n,s);r[a]=o}if(i.apply(void 0,r))return!0}return!1}e.exports=function(t){var e=t.length;if(0===e)return[];if(1===e)return[0];for(var r=t[0].length,i=[t[0]],a=[0],o=1;o&lt;e;++o)if(i.push(t[o]),n(i,r)){if(a.push(o),a.length===r+1)return a}else i.pop();return a};var i=t(&quot;robust-orientation&quot;)},{&quot;robust-orientation&quot;:515}],46:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t,e){return n(e).filter(function(r){for(var n=new Array(r.length),a=0;a&lt;r.length;++a)n[a]=e[r[a]];return i(n)*t&lt;1})};var n=t(&quot;delaunay-triangulate&quot;),i=t(&quot;circumradius&quot;)},{circumradius:92,&quot;delaunay-triangulate&quot;:130}],47:[function(t,e,r){e.exports=function(t,e){return i(n(t,e))};var n=t(&quot;alpha-complex&quot;),i=t(&quot;simplicial-complex-boundary&quot;)},{&quot;alpha-complex&quot;:46,&quot;simplicial-complex-boundary&quot;:523}],48:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t,e){if(!t||null==t.length)throw Error(&quot;Argument should be an array&quot;);e=null==e?1:Math.floor(e);for(var r=Array(2*e),n=0;n&lt;e;n++){for(var i=-1/0,a=1/0,o=n,s=t.length;o&lt;s;o+=e)t[o]&gt;i&amp;&amp;(i=t[o]),t[o]&lt;a&amp;&amp;(a=t[o]);r[n]=a,r[e+n]=i}return r}},{}],49:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;array-bounds&quot;);e.exports=function(t,e,r){if(!t||null==t.length)throw Error(&quot;Argument should be an array&quot;);null==e&amp;&amp;(e=1),null==r&amp;&amp;(r=n(t,e));for(var i=0;i&lt;e;i++){var a=r[e+i],o=r[i],s=i,l=t.length;if(a===1/0&amp;&amp;o===-1/0)for(s=i;s&lt;l;s+=e)t[s]=t[s]===a?1:t[s]===o?0:.5;else if(a===1/0)for(s=i;s&lt;l;s+=e)t[s]=t[s]===a?1:0;else if(o===-1/0)for(s=i;s&lt;l;s+=e)t[s]=t[s]===o?0:1;else{var c=a-o;for(s=i;s&lt;l;s+=e)t[s]=0===c?.5:(t[s]-o)/c}}return t}},{&quot;array-bounds&quot;:48}],50:[function(t,e,r){&quot;use strict&quot;;e.exports=function(){var t={},e=/^rgba?\(\s*\d{1,3}\s*,\s*\d{1,3}\s*,\s*\d{1,3}\s*(,.*)?\)$/,r=/^rgba?\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,?\s*(.*)?\)$/;return t.isPlainObject=function(t){return!Array.isArray(t)&amp;&amp;null!==t&amp;&amp;&quot;object&quot;==typeof t},t.linspace=function(t,e,r){for(var n=(e-t)/Math.max(r-1,1),i=[],a=0;a&lt;r;a++)i.push(t+a*n);return i},t.zip3=function(t,e,r){for(var n=Math.min.apply(null,[t.length,e.length,r.length]),i=[],a=0;a&lt;n;a++)i.push([t[a],e[a],r[a]]);return i},t.sum=function(t){function e(t){for(var n=0;n&lt;t.length;n++)Array.isArray(t[n])?e(t[n]):r+=t[n]}var r=0;return e(t),r},t.zip=function(){for(var t=[].slice.call(arguments),e=t.map(function(t){return t.length}),r=Math.min.apply(null,e),n=[],i=0;i&lt;r;i++){n[i]=[];for(var a=0;a&lt;t.length;++a)n[i][a]=t[a][i]}return n},t.isEqual=function(t,e){if(t.length!==e.length)return!1;for(var r=t.length;r--;)if(t[r]!==e[r])return!1;return!0},t.copy2D=function(t){for(var e=[],r=0;r&lt;t.length;++r){e[r]=[];for(var n=0;n&lt;t[r].length;++n)e[r][n]=t[r][n]}return e},t.copy1D=function(t){for(var e=[],r=0;r&lt;t.length;++r)e[r]=t[r];return e},t.str2RgbArray=function(t,n){var i,a;if(&quot;string&quot;!=typeof t)return t;if(i=[],&quot;#&quot;===t[0]?(3===(t=t.substr(1)).length&amp;&amp;(t+=t),a=parseInt(t,16),i[0]=a&gt;&gt;16&amp;255,i[1]=a&gt;&gt;8&amp;255,i[2]=255&amp;a):e.test(t)&amp;&amp;(a=t.match(r),i[0]=parseInt(a[1]),i[1]=parseInt(a[2]),i[2]=parseInt(a[3])),!n)for(var o=0;o&lt;3;++o)i[o]=i[o]/255;return i},t.str2RgbaArray=function(t,n){var i,a;if(&quot;string&quot;!=typeof t)return t;if(i=[],&quot;#&quot;===t[0]?(3===(t=t.substr(1)).length&amp;&amp;(t+=t),a=parseInt(t,16),i[0]=a&gt;&gt;16&amp;255,i[1]=a&gt;&gt;8&amp;255,i[2]=255&amp;a):e.test(t)&amp;&amp;(a=t.match(r),i[0]=parseInt(a[1]),i[1]=parseInt(a[2]),i[2]=parseInt(a[3]),a[4]?i[3]=parseFloat(a[4]):i[3]=1),!n)for(var o=0;o&lt;3;++o)i[o]=i[o]/255;return i},t}()},{}],51:[function(t,e,r){(function(r){&quot;use strict&quot;;function n(t,e){if(t===e)return 0;for(var r=t.length,n=e.length,i=0,a=Math.min(r,n);i&lt;a;++i)if(t[i]!==e[i]){r=t[i],n=e[i];break}return r&lt;n?-1:n&lt;r?1:0}function i(t){return r.Buffer&amp;&amp;&quot;function&quot;==typeof r.Buffer.isBuffer?r.Buffer.isBuffer(t):!(null==t||!t._isBuffer)}function a(t){return Object.prototype.toString.call(t)}function o(t){return!i(t)&amp;&amp;(&quot;function&quot;==typeof r.ArrayBuffer&amp;&amp;(&quot;function&quot;==typeof ArrayBuffer.isView?ArrayBuffer.isView(t):!!t&amp;&amp;(t instanceof DataView||!!(t.buffer&amp;&amp;t.buffer instanceof ArrayBuffer))))}function s(t){if(v.isFunction(t)){if(b)return t.name;var e=t.toString().match(w);return e&amp;&amp;e[1]}}function l(t,e){return&quot;string&quot;==typeof t?t.length&lt;e?t:t.slice(0,e):t}function c(t){if(b||!v.isFunction(t))return v.inspect(t);var e=s(t);return&quot;[Function&quot;+(e?&quot;: &quot;+e:&quot;&quot;)+&quot;]&quot;}function u(t,e,r,n,i){throw new _.AssertionError({message:r,actual:t,expected:e,operator:n,stackStartFunction:i})}function f(t,e){t||u(t,!0,e,&quot;==&quot;,_.ok)}function h(t,e,r,s){if(t===e)return!0;if(i(t)&amp;&amp;i(e))return 0===n(t,e);if(v.isDate(t)&amp;&amp;v.isDate(e))return t.getTime()===e.getTime();if(v.isRegExp(t)&amp;&amp;v.isRegExp(e))return t.source===e.source&amp;&amp;t.global===e.global&amp;&amp;t.multiline===e.multiline&amp;&amp;t.lastIndex===e.lastIndex&amp;&amp;t.ignoreCase===e.ignoreCase;if(null!==t&amp;&amp;&quot;object&quot;==typeof t||null!==e&amp;&amp;&quot;object&quot;==typeof e){if(o(t)&amp;&amp;o(e)&amp;&amp;a(t)===a(e)&amp;&amp;!(t instanceof Float32Array||t instanceof Float64Array))return 0===n(new Uint8Array(t.buffer),new Uint8Array(e.buffer));if(i(t)!==i(e))return!1;var l=(s=s||{actual:[],expected:[]}).actual.indexOf(t);return-1!==l&amp;&amp;l===s.expected.indexOf(e)||(s.actual.push(t),s.expected.push(e),function(t,e,r,n){if(null===t||void 0===t||null===e||void 0===e)return!1;if(v.isPrimitive(t)||v.isPrimitive(e))return t===e;if(r&amp;&amp;Object.getPrototypeOf(t)!==Object.getPrototypeOf(e))return!1;var i=d(t),a=d(e);if(i&amp;&amp;!a||!i&amp;&amp;a)return!1;if(i)return t=x.call(t),e=x.call(e),h(t,e,r);var o,s,l=M(t),c=M(e);if(l.length!==c.length)return!1;for(l.sort(),c.sort(),s=l.length-1;s&gt;=0;s--)if(l[s]!==c[s])return!1;for(s=l.length-1;s&gt;=0;s--)if(o=l[s],!h(t[o],e[o],r,n))return!1;return!0}(t,e,r,s))}return r?t===e:t==e}function d(t){return&quot;[object Arguments]&quot;==Object.prototype.toString.call(t)}function p(t,e,r){h(t,e,!0)&amp;&amp;u(t,e,r,&quot;notDeepStrictEqual&quot;,p)}function m(t,e){if(!t||!e)return!1;if(&quot;[object RegExp]&quot;==Object.prototype.toString.call(e))return e.test(t);try{if(t instanceof e)return!0}catch(t){}return!Error.isPrototypeOf(e)&amp;&amp;!0===e.call({},t)}function g(t,e,r,n){var i;if(&quot;function&quot;!=typeof e)throw new TypeError('&quot;block&quot; argument must be a function');&quot;string&quot;==typeof r&amp;&amp;(n=r,r=null),i=function(t){var e;try{t()}catch(t){e=t}return e}(e),n=(r&amp;&amp;r.name?&quot; (&quot;+r.name+&quot;).&quot;:&quot;.&quot;)+(n?&quot; &quot;+n:&quot;.&quot;),t&amp;&amp;!i&amp;&amp;u(i,r,&quot;Missing expected exception&quot;+n);var a=&quot;string&quot;==typeof n,o=!t&amp;&amp;v.isError(i),s=!t&amp;&amp;i&amp;&amp;!r;if((o&amp;&amp;a&amp;&amp;m(i,r)||s)&amp;&amp;u(i,r,&quot;Got unwanted exception&quot;+n),t&amp;&amp;i&amp;&amp;r&amp;&amp;!m(i,r)||!t&amp;&amp;i)throw i}var v=t(&quot;util/&quot;),y=Object.prototype.hasOwnProperty,x=Array.prototype.slice,b=&quot;foo&quot;===function(){}.name,_=e.exports=f,w=/\s*function\s+([^\(\s]*)\s*/;_.AssertionError=function(t){this.name=&quot;AssertionError&quot;,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 l(c(t.actual),128)+&quot; &quot;+t.operator+&quot; &quot;+l(c(t.expected),128)}(this),this.generatedMessage=!0);var e=t.stackStartFunction||u;if(Error.captureStackTrace)Error.captureStackTrace(this,e);else{var r=new Error;if(r.stack){var n=r.stack,i=s(e),a=n.indexOf(&quot;\n&quot;+i);if(a&gt;=0){var o=n.indexOf(&quot;\n&quot;,a+1);n=n.substring(o+1)}this.stack=n}}},v.inherits(_.AssertionError,Error),_.fail=u,_.ok=f,_.equal=function(t,e,r){t!=e&amp;&amp;u(t,e,r,&quot;==&quot;,_.equal)},_.notEqual=function(t,e,r){t==e&amp;&amp;u(t,e,r,&quot;!=&quot;,_.notEqual)},_.deepEqual=function(t,e,r){h(t,e,!1)||u(t,e,r,&quot;deepEqual&quot;,_.deepEqual)},_.deepStrictEqual=function(t,e,r){h(t,e,!0)||u(t,e,r,&quot;deepStrictEqual&quot;,_.deepStrictEqual)},_.notDeepEqual=function(t,e,r){h(t,e,!1)&amp;&amp;u(t,e,r,&quot;notDeepEqual&quot;,_.notDeepEqual)},_.notDeepStrictEqual=p,_.strictEqual=function(t,e,r){t!==e&amp;&amp;u(t,e,r,&quot;===&quot;,_.strictEqual)},_.notStrictEqual=function(t,e,r){t===e&amp;&amp;u(t,e,r,&quot;!==&quot;,_.notStrictEqual)},_.throws=function(t,e,r){g(!0,t,e,r)},_.doesNotThrow=function(t,e,r){g(!1,t,e,r)},_.ifError=function(t){if(t)throw t};var M=Object.keys||function(t){var e=[];for(var r in t)y.call(t,r)&amp;&amp;e.push(r);return e}}).call(this,&quot;undefined&quot;!=typeof global?global:&quot;undefined&quot;!=typeof self?self:&quot;undefined&quot;!=typeof window?window:{})},{&quot;util/&quot;:563}],52:[function(t,e,r){e.exports=function(t){return atob(t)}},{}],53:[function(t,e,r){&quot;use strict&quot;;function n(t){for(var e=0,r=0;r&lt;t.length;++r)e+=t[r];return e}e.exports=function(t,e){for(var r=e.length,a=new Array(r+1),o=0;o&lt;r;++o){for(var s=new Array(r+1),l=0;l&lt;=r;++l)s[l]=t[l][o];a[o]=s}for(a[r]=new Array(r+1),o=0;o&lt;=r;++o)a[r][o]=1;var c=new Array(r+1);for(o=0;o&lt;r;++o)c[o]=e[o];c[r]=1;var u=i(a,c),f=n(u[r+1]);0===f&amp;&amp;(f=1);var h=new Array(r+1);for(o=0;o&lt;=r;++o)h[o]=n(u[o])/f;return h};var i=t(&quot;robust-linear-solve&quot;)},{&quot;robust-linear-solve&quot;:514}],54:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;./lib/rationalize&quot;);e.exports=function(t,e){return n(t[0].mul(e[1]).add(e[0].mul(t[1])),t[1].mul(e[1]))}},{&quot;./lib/rationalize&quot;:64}],55:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t,e){return t[0].mul(e[1]).cmp(e[0].mul(t[1]))}},{}],56:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;./lib/rationalize&quot;);e.exports=function(t,e){return n(t[0].mul(e[1]),t[1].mul(e[0]))}},{&quot;./lib/rationalize&quot;:64}],57:[function(t,e,r){&quot;use strict&quot;;function n(t,e){if(i(t))return e?c(t,n(e)):[t[0].clone(),t[1].clone()];var r,u,f=0;if(a(t))r=t.clone();else if(&quot;string&quot;==typeof t)r=s(t);else{if(0===t)return[o(0),o(1)];if(t===Math.floor(t))r=o(t);else{for(;t!==Math.floor(t);)t*=Math.pow(2,256),f-=256;r=o(t)}}if(i(e))r.mul(e[1]),u=e[0].clone();else if(a(e))u=e.clone();else if(&quot;string&quot;==typeof e)u=s(e);else if(e)if(e===Math.floor(e))u=o(e);else{for(;e!==Math.floor(e);)e*=Math.pow(2,256),f+=256;u=o(e)}else u=o(1);return f&gt;0?r=r.ushln(f):f&lt;0&amp;&amp;(u=u.ushln(-f)),l(r,u)}var i=t(&quot;./is-rat&quot;),a=t(&quot;./lib/is-bn&quot;),o=t(&quot;./lib/num-to-bn&quot;),s=t(&quot;./lib/str-to-bn&quot;),l=t(&quot;./lib/rationalize&quot;),c=t(&quot;./div&quot;);e.exports=n},{&quot;./div&quot;:56,&quot;./is-rat&quot;:58,&quot;./lib/is-bn&quot;:62,&quot;./lib/num-to-bn&quot;:63,&quot;./lib/rationalize&quot;:64,&quot;./lib/str-to-bn&quot;:65}],58:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;./lib/is-bn&quot;);e.exports=function(t){return Array.isArray(t)&amp;&amp;2===t.length&amp;&amp;n(t[0])&amp;&amp;n(t[1])}},{&quot;./lib/is-bn&quot;:62}],59:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;bn.js&quot;);e.exports=function(t){return t.cmp(new n(0))}},{&quot;bn.js&quot;:73}],60:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;./bn-sign&quot;);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&lt;e;a++)i+=r[a]*Math.pow(67108864,a);return n(t)*i}},{&quot;./bn-sign&quot;:59}],61:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;double-bits&quot;),i=t(&quot;bit-twiddle&quot;).countTrailingZeros;e.exports=function(t){var e=i(n.lo(t));if(e&lt;32)return e;var r=i(n.hi(t));return r&gt;20?52:r+32}},{&quot;bit-twiddle&quot;:71,&quot;double-bits&quot;:131}],62:[function(t,e,r){&quot;use strict&quot;;t(&quot;bn.js&quot;);e.exports=function(t){return t&amp;&amp;&quot;object&quot;==typeof t&amp;&amp;Boolean(t.words)}},{&quot;bn.js&quot;:73}],63:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;bn.js&quot;),i=t(&quot;double-bits&quot;);e.exports=function(t){var e=i.exponent(t);return e&lt;52?new n(t):new n(t*Math.pow(2,52-e)).ushln(e-52)}},{&quot;bn.js&quot;:73,&quot;double-bits&quot;:131}],64:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;./num-to-bn&quot;),i=t(&quot;./bn-sign&quot;);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&lt;0&amp;&amp;(t=t.neg(),e=e.neg());var o=t.gcd(e);return o.cmpn(1)?[t.div(o),e.div(o)]:[t,e]}},{&quot;./bn-sign&quot;:59,&quot;./num-to-bn&quot;:63}],65:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;bn.js&quot;);e.exports=function(t){return new n(t)}},{&quot;bn.js&quot;:73}],66:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;./lib/rationalize&quot;);e.exports=function(t,e){return n(t[0].mul(e[0]),t[1].mul(e[1]))}},{&quot;./lib/rationalize&quot;:64}],67:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;./lib/bn-sign&quot;);e.exports=function(t){return n(t[0])*n(t[1])}},{&quot;./lib/bn-sign&quot;:59}],68:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;./lib/rationalize&quot;);e.exports=function(t,e){return n(t[0].mul(e[1]).sub(t[1].mul(e[0])),t[1].mul(e[1]))}},{&quot;./lib/rationalize&quot;:64}],69:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;./lib/bn-to-num&quot;),i=t(&quot;./lib/ctz&quot;);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;return c*(s+(h=n(l.ushln(u).divRound(r)))*Math.pow(2,-u))}var f=r.bitLength()-l.bitLength()+53,h=n(l.ushln(f).divRound(r));return f&lt;1023?c*h*Math.pow(2,-f):(h*=Math.pow(2,-1023),c*h*Math.pow(2,1023-f))}},{&quot;./lib/bn-to-num&quot;:60,&quot;./lib/ctz&quot;:61}],70:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,n,i,a){var o=[&quot;function &quot;,t,&quot;(a,l,h,&quot;,n.join(&quot;,&quot;),&quot;){&quot;,a?&quot;&quot;:&quot;var i=&quot;,r?&quot;l-1&quot;:&quot;h+1&quot;,&quot;;while(l&lt;=h){var m=(l+h)&gt;&gt;&gt;1,x=a&quot;,i?&quot;.get(m)&quot;:&quot;[m]&quot;];return a?e.indexOf(&quot;c&quot;)&lt;0?o.push(&quot;;if(x===y){return m}else if(x&lt;=y){&quot;):o.push(&quot;;var p=c(x,y);if(p===0){return m}else if(p&lt;=0){&quot;):o.push(&quot;;if(&quot;,e,&quot;){i=m;&quot;),r?o.push(&quot;l=m+1}else{h=m-1}&quot;):o.push(&quot;h=m-1}else{l=m+1}&quot;),o.push(&quot;}&quot;),a?o.push(&quot;return -1};&quot;):o.push(&quot;return i};&quot;),o.join(&quot;&quot;)}function i(t,e,r,i){return new Function([n(&quot;A&quot;,&quot;x&quot;+t+&quot;y&quot;,e,[&quot;y&quot;],!1,i),n(&quot;B&quot;,&quot;x&quot;+t+&quot;y&quot;,e,[&quot;y&quot;],!0,i),n(&quot;P&quot;,&quot;c(x,y)&quot;+t+&quot;0&quot;,e,[&quot;y&quot;,&quot;c&quot;],!1,i),n(&quot;Q&quot;,&quot;c(x,y)&quot;+t+&quot;0&quot;,e,[&quot;y&quot;,&quot;c&quot;],!0,i),&quot;function dispatchBsearch&quot;,r,&quot;(a,y,c,l,h){if(a.shape){if(typeof(c)==='function'){return Q(a,(l===undefined)?0:l|0,(h===undefined)?a.shape[0]-1:h|0,y,c)}else{return B(a,(c===undefined)?0:c|0,(l===undefined)?a.shape[0]-1:l|0,y)}}else{if(typeof(c)==='function'){return P(a,(l===undefined)?0:l|0,(h===undefined)?a.length-1:h|0,y,c)}else{return A(a,(c===undefined)?0:c|0,(l===undefined)?a.length-1:l|0,y)}}}return dispatchBsearch&quot;,r].join(&quot;&quot;))()}e.exports={ge:i(&quot;&gt;=&quot;,!1,&quot;GE&quot;),gt:i(&quot;&gt;&quot;,!1,&quot;GT&quot;),lt:i(&quot;&lt;&quot;,!0,&quot;LT&quot;),le:i(&quot;&lt;=&quot;,!0,&quot;LE&quot;),eq:i(&quot;-&quot;,!0,&quot;EQ&quot;,!0)}},{}],71:[function(t,e,r){&quot;use strict&quot;;&quot;use restrict&quot;;function n(t){var e=32;return(t&amp;=-t)&amp;&amp;e--,65535&amp;t&amp;&amp;(e-=16),16711935&amp;t&amp;&amp;(e-=8),252645135&amp;t&amp;&amp;(e-=4),858993459&amp;t&amp;&amp;(e-=2),1431655765&amp;t&amp;&amp;(e-=1),e}r.INT_BITS=32,r.INT_MAX=2147483647,r.INT_MIN=-1&lt;&lt;31,r.sign=function(t){return(t&gt;0)-(t&lt;0)},r.abs=function(t){var e=t&gt;&gt;31;return(t^e)-e},r.min=function(t,e){return e^(t^e)&amp;-(t&lt;e)},r.max=function(t,e){return t^(t^e)&amp;-(t&lt;e)},r.isPow2=function(t){return!(t&amp;t-1||!t)},r.log2=function(t){var e,r;return e=(t&gt;65535)&lt;&lt;4,t&gt;&gt;&gt;=e,r=(t&gt;255)&lt;&lt;3,t&gt;&gt;&gt;=r,e|=r,r=(t&gt;15)&lt;&lt;2,t&gt;&gt;&gt;=r,e|=r,r=(t&gt;3)&lt;&lt;1,t&gt;&gt;&gt;=r,(e|=r)|t&gt;&gt;1},r.log10=function(t){return t&gt;=1e9?9:t&gt;=1e8?8:t&gt;=1e7?7:t&gt;=1e6?6:t&gt;=1e5?5:t&gt;=1e4?4:t&gt;=1e3?3:t&gt;=100?2:t&gt;=10?1:0},r.popCount=function(t){return t-=t&gt;&gt;&gt;1&amp;1431655765,16843009*((t=(858993459&amp;t)+(t&gt;&gt;&gt;2&amp;858993459))+(t&gt;&gt;&gt;4)&amp;252645135)&gt;&gt;&gt;24},r.countTrailingZeros=n,r.nextPow2=function(t){return t+=0===t,--t,t|=t&gt;&gt;&gt;1,t|=t&gt;&gt;&gt;2,t|=t&gt;&gt;&gt;4,t|=t&gt;&gt;&gt;8,(t|=t&gt;&gt;&gt;16)+1},r.prevPow2=function(t){return t|=t&gt;&gt;&gt;1,t|=t&gt;&gt;&gt;2,t|=t&gt;&gt;&gt;4,t|=t&gt;&gt;&gt;8,(t|=t&gt;&gt;&gt;16)-(t&gt;&gt;&gt;1)},r.parity=function(t){return t^=t&gt;&gt;&gt;16,t^=t&gt;&gt;&gt;8,t^=t&gt;&gt;&gt;4,27030&gt;&gt;&gt;(t&amp;=15)&amp;1};var i=new Array(256);!function(t){for(var e=0;e&lt;256;++e){var r=e,n=e,i=7;for(r&gt;&gt;&gt;=1;r;r&gt;&gt;&gt;=1)n&lt;&lt;=1,n|=1&amp;r,--i;t[e]=n&lt;&lt;i&amp;255}}(i),r.reverse=function(t){return i[255&amp;t]&lt;&lt;24|i[t&gt;&gt;&gt;8&amp;255]&lt;&lt;16|i[t&gt;&gt;&gt;16&amp;255]&lt;&lt;8|i[t&gt;&gt;&gt;24&amp;255]},r.interleave2=function(t,e){return t&amp;=65535,t=16711935&amp;(t|t&lt;&lt;8),t=252645135&amp;(t|t&lt;&lt;4),t=858993459&amp;(t|t&lt;&lt;2),t=1431655765&amp;(t|t&lt;&lt;1),e&amp;=65535,e=16711935&amp;(e|e&lt;&lt;8),e=252645135&amp;(e|e&lt;&lt;4),e=858993459&amp;(e|e&lt;&lt;2),e=1431655765&amp;(e|e&lt;&lt;1),t|e&lt;&lt;1},r.deinterleave2=function(t,e){return t=t&gt;&gt;&gt;e&amp;1431655765,t=858993459&amp;(t|t&gt;&gt;&gt;1),t=252645135&amp;(t|t&gt;&gt;&gt;2),t=16711935&amp;(t|t&gt;&gt;&gt;4),(t=65535&amp;(t|t&gt;&gt;&gt;16))&lt;&lt;16&gt;&gt;16},r.interleave3=function(t,e,r){return t&amp;=1023,t=4278190335&amp;(t|t&lt;&lt;16),t=251719695&amp;(t|t&lt;&lt;8),t=3272356035&amp;(t|t&lt;&lt;4),t=1227133513&amp;(t|t&lt;&lt;2),e&amp;=1023,e=4278190335&amp;(e|e&lt;&lt;16),e=251719695&amp;(e|e&lt;&lt;8),e=3272356035&amp;(e|e&lt;&lt;4),e=1227133513&amp;(e|e&lt;&lt;2),t|=e&lt;&lt;1,r&amp;=1023,r=4278190335&amp;(r|r&lt;&lt;16),r=251719695&amp;(r|r&lt;&lt;8),r=3272356035&amp;(r|r&lt;&lt;4),r=1227133513&amp;(r|r&lt;&lt;2),t|r&lt;&lt;2},r.deinterleave3=function(t,e){return t=t&gt;&gt;&gt;e&amp;1227133513,t=3272356035&amp;(t|t&gt;&gt;&gt;2),t=251719695&amp;(t|t&gt;&gt;&gt;4),t=4278190335&amp;(t|t&gt;&gt;&gt;8),(t=1023&amp;(t|t&gt;&gt;&gt;16))&lt;&lt;22&gt;&gt;22},r.nextCombination=function(t){var e=t|t-1;return e+1|(~e&amp;-~e)-1&gt;&gt;&gt;n(t)+1}},{}],72:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,n,a,o,s){for(var l=0;l&lt;e;l++){for(var c=0;c&lt;r;c++)n[c]=t[c*e+l];for(i(n,a,o,s,r),c=0;c&lt;r;c++)t[c*e+l]=a[c]}for(c=0;c&lt;r;c++){for(l=0;l&lt;e;l++)n[l]=t[c*e+l];for(i(n,a,o,s,e),l=0;l&lt;e;l++)t[c*e+l]=Math.sqrt(a[l])}}function i(t,e,r,n,i){r[0]=0,n[0]=-o,n[1]=+o;for(var a=1,s=0;a&lt;i;a++){for(var l=(t[a]+a*a-(t[r[s]]+r[s]*r[s]))/(2*a-2*r[s]);l&lt;=n[s];)s--,l=(t[a]+a*a-(t[r[s]]+r[s]*r[s]))/(2*a-2*r[s]);r[++s]=a,n[s]=l,n[s+1]=+o}for(a=0,s=0;a&lt;i;a++){for(;n[s+1]&lt;a;)s++;e[a]=(a-r[s])*(a-r[s])+t[r[s]]}}var a=t(&quot;clamp&quot;);e.exports=function(t,e){e||(e={});var r,i,s,l,c,u,f,h,d,p,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(&quot;For raw data width and height should be provided by options&quot;);r=e.width,i=e.height,l=t,u=e.stride?e.stride:Math.floor(t.length/r/i)}else window.HTMLCanvasElement&amp;&amp;t instanceof window.HTMLCanvasElement?(f=(h=t).getContext(&quot;2d&quot;),r=h.width,i=h.height,l=(d=f.getImageData(0,0,r,i)).data,u=4):window.CanvasRenderingContext2D&amp;&amp;t instanceof window.CanvasRenderingContext2D?(f=t,r=(h=t.canvas).width,i=h.height,l=(d=f.getImageData(0,0,r,i)).data,u=4):window.ImageData&amp;&amp;t instanceof window.ImageData&amp;&amp;(d=t,r=t.width,i=t.height,l=d.data,u=4);if(s=Math.max(r,i),window.Uint8ClampedArray&amp;&amp;l instanceof window.Uint8ClampedArray||window.Uint8Array&amp;&amp;l instanceof window.Uint8Array)for(c=l,l=Array(r*i),p=0,m=c.length;p&lt;m;p++)l[p]=c[p*u+y]/255;else if(1!==u)throw Error(&quot;Raw data can have only 1 value per pixel&quot;);var x=Array(r*i),b=Array(r*i),_=Array(s),w=Array(s),M=Array(s+1),k=Array(s);for(p=0,m=r*i;p&lt;m;p++){var A=l[p];x[p]=1===A?0:0===A?o:Math.pow(Math.max(0,.5-A),2),b[p]=1===A?o:0===A?0:Math.pow(Math.max(0,A-.5),2)}n(x,r,i,_,w,k,M),n(b,r,i,_,w,k,M);var T=window.Float32Array?new Float32Array(r*i):new Array(r*i);for(p=0,m=r*i;p&lt;m;p++)T[p]=a(1-((x[p]-b[p])/v+g),0,1);return T};var o=1e20},{clamp:93}],73:[function(t,e,r){!function(e,r){&quot;use strict&quot;;function n(t,e){if(!t)throw new Error(e||&quot;Assertion failed&quot;)}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&amp;&amp;(&quot;le&quot;!==e&amp;&amp;&quot;be&quot;!==e||(r=e,e=10),this._init(t||0,e||10,r||&quot;be&quot;))}function o(t,e,r){for(var n=0,i=Math.min(t.length,r),a=e;a&lt;i;a++){var o=t.charCodeAt(a)-48;n&lt;&lt;=4,n|=o&gt;=49&amp;&amp;o&lt;=54?o-49+10:o&gt;=17&amp;&amp;o&lt;=22?o-17+10:15&amp;o}return n}function s(t,e,r,n){for(var i=0,a=Math.min(t.length,r),o=e;o&lt;a;o++){var s=t.charCodeAt(o)-48;i*=n,i+=s&gt;=49?s-49+10:s&gt;=17?s-17+10:s}return i}function l(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&amp;o,l=o/67108864|0;r.words[0]=s;for(var c=1;c&lt;n;c++){for(var u=l&gt;&gt;&gt;26,f=67108863&amp;l,h=Math.min(c,e.length-1),d=Math.max(0,c-t.length+1);d&lt;=h;d++){var p=c-d|0;u+=(o=(i=0|t.words[p])*(a=0|e.words[d])+f)/67108864|0,f=67108863&amp;o}r.words[c]=0|f,l=0|u}return 0!==l?r.words[c]=0|l:r.length--,r.strip()}function c(t,e,r){return(new u).mulp(t,e,r)}function u(t,e){this.x=t,this.y=e}function f(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 h(){f.call(this,&quot;k256&quot;,&quot;ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f&quot;)}function d(){f.call(this,&quot;p224&quot;,&quot;ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001&quot;)}function p(){f.call(this,&quot;p192&quot;,&quot;ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff&quot;)}function m(){f.call(this,&quot;25519&quot;,&quot;7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed&quot;)}function g(t){if(&quot;string&quot;==typeof t){var e=a._prime(t);this.m=e.p,this.prime=e}else n(t.gtn(1),&quot;modulus must be greater than 1&quot;),this.m=t,this.prime=null}function v(t){g.call(this,t),this.shift=this.m.bitLength(),this.shift%26!=0&amp;&amp;(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)}&quot;object&quot;==typeof e?e.exports=a:r.BN=a,a.BN=a,a.wordSize=26;var y;try{y=t(&quot;buffer&quot;).Buffer}catch(t){}a.isBN=function(t){return t instanceof a||null!==t&amp;&amp;&quot;object&quot;==typeof t&amp;&amp;t.constructor.wordSize===a.wordSize&amp;&amp;Array.isArray(t.words)},a.max=function(t,e){return t.cmp(e)&gt;0?t:e},a.min=function(t,e){return t.cmp(e)&lt;0?t:e},a.prototype._init=function(t,e,r){if(&quot;number&quot;==typeof t)return this._initNumber(t,e,r);if(&quot;object&quot;==typeof t)return this._initArray(t,e,r);&quot;hex&quot;===e&amp;&amp;(e=16),n(e===(0|e)&amp;&amp;e&gt;=2&amp;&amp;e&lt;=36);var i=0;&quot;-&quot;===(t=t.toString().replace(/\s+/g,&quot;&quot;))[0]&amp;&amp;i++,16===e?this._parseHex(t,i):this._parseBase(t,e,i),&quot;-&quot;===t[0]&amp;&amp;(this.negative=1),this.strip(),&quot;le&quot;===r&amp;&amp;this._initArray(this.toArray(),e,r)},a.prototype._initNumber=function(t,e,r){t&lt;0&amp;&amp;(this.negative=1,t=-t),t&lt;67108864?(this.words=[67108863&amp;t],this.length=1):t&lt;4503599627370496?(this.words=[67108863&amp;t,t/67108864&amp;67108863],this.length=2):(n(t&lt;9007199254740992),this.words=[67108863&amp;t,t/67108864&amp;67108863,1],this.length=3),&quot;le&quot;===r&amp;&amp;this._initArray(this.toArray(),e,r)},a.prototype._initArray=function(t,e,r){if(n(&quot;number&quot;==typeof t.length),t.length&lt;=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&lt;this.length;i++)this.words[i]=0;var a,o,s=0;if(&quot;be&quot;===r)for(i=t.length-1,a=0;i&gt;=0;i-=3)o=t[i]|t[i-1]&lt;&lt;8|t[i-2]&lt;&lt;16,this.words[a]|=o&lt;&lt;s&amp;67108863,this.words[a+1]=o&gt;&gt;&gt;26-s&amp;67108863,(s+=24)&gt;=26&amp;&amp;(s-=26,a++);else if(&quot;le&quot;===r)for(i=0,a=0;i&lt;t.length;i+=3)o=t[i]|t[i+1]&lt;&lt;8|t[i+2]&lt;&lt;16,this.words[a]|=o&lt;&lt;s&amp;67108863,this.words[a+1]=o&gt;&gt;&gt;26-s&amp;67108863,(s+=24)&gt;=26&amp;&amp;(s-=26,a++);return this.strip()},a.prototype._parseHex=function(t,e){this.length=Math.ceil((t.length-e)/6),this.words=new Array(this.length);for(var r=0;r&lt;this.length;r++)this.words[r]=0;var n,i,a=0;for(r=t.length-6,n=0;r&gt;=e;r-=6)i=o(t,r,r+6),this.words[n]|=i&lt;&lt;a&amp;67108863,this.words[n+1]|=i&gt;&gt;&gt;26-a&amp;4194303,(a+=24)&gt;=26&amp;&amp;(a-=26,n++);r+6!==e&amp;&amp;(i=o(t,e,r+6),this.words[n]|=i&lt;&lt;a&amp;67108863,this.words[n+1]|=i&gt;&gt;&gt;26-a&amp;4194303),this.strip()},a.prototype._parseBase=function(t,e,r){this.words=[0],this.length=1;for(var n=0,i=1;i&lt;=67108863;i*=e)n++;n--,i=i/e|0;for(var a=t.length-r,o=a%n,l=Math.min(a,a-o)+r,c=0,u=r;u&lt;l;u+=n)c=s(t,u,u+n,e),this.imuln(i),this.words[0]+c&lt;67108864?this.words[0]+=c:this._iaddn(c);if(0!==o){var f=1;for(c=s(t,u,t.length,e),u=0;u&lt;o;u++)f*=e;this.imuln(f),this.words[0]+c&lt;67108864?this.words[0]+=c:this._iaddn(c)}},a.prototype.copy=function(t){t.words=new Array(this.length);for(var e=0;e&lt;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&lt;t;)this.words[this.length++]=0;return this},a.prototype.strip=function(){for(;this.length&gt;1&amp;&amp;0===this.words[this.length-1];)this.length--;return this._normSign()},a.prototype._normSign=function(){return 1===this.length&amp;&amp;0===this.words[0]&amp;&amp;(this.negative=0),this},a.prototype.inspect=function(){return(this.red?&quot;&lt;BN-R: &quot;:&quot;&lt;BN: &quot;)+this.toString(16)+&quot;&gt;&quot;};var x=[&quot;&quot;,&quot;0&quot;,&quot;00&quot;,&quot;000&quot;,&quot;0000&quot;,&quot;00000&quot;,&quot;000000&quot;,&quot;0000000&quot;,&quot;00000000&quot;,&quot;000000000&quot;,&quot;0000000000&quot;,&quot;00000000000&quot;,&quot;000000000000&quot;,&quot;0000000000000&quot;,&quot;00000000000000&quot;,&quot;000000000000000&quot;,&quot;0000000000000000&quot;,&quot;00000000000000000&quot;,&quot;000000000000000000&quot;,&quot;0000000000000000000&quot;,&quot;00000000000000000000&quot;,&quot;000000000000000000000&quot;,&quot;0000000000000000000000&quot;,&quot;00000000000000000000000&quot;,&quot;000000000000000000000000&quot;,&quot;0000000000000000000000000&quot;],b=[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],_=[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];a.prototype.toString=function(t,e){t=t||10,e=0|e||1;var r;if(16===t||&quot;hex&quot;===t){r=&quot;&quot;;for(var i=0,a=0,o=0;o&lt;this.length;o++){var s=this.words[o],l=(16777215&amp;(s&lt;&lt;i|a)).toString(16);r=0!==(a=s&gt;&gt;&gt;24-i&amp;16777215)||o!==this.length-1?x[6-l.length]+l+r:l+r,(i+=2)&gt;=26&amp;&amp;(i-=26,o--)}for(0!==a&amp;&amp;(r=a.toString(16)+r);r.length%e!=0;)r=&quot;0&quot;+r;return 0!==this.negative&amp;&amp;(r=&quot;-&quot;+r),r}if(t===(0|t)&amp;&amp;t&gt;=2&amp;&amp;t&lt;=36){var c=b[t],u=_[t];r=&quot;&quot;;var f=this.clone();for(f.negative=0;!f.isZero();){var h=f.modn(u).toString(t);r=(f=f.idivn(u)).isZero()?h+r:x[c-h.length]+h+r}for(this.isZero()&amp;&amp;(r=&quot;0&quot;+r);r.length%e!=0;)r=&quot;0&quot;+r;return 0!==this.negative&amp;&amp;(r=&quot;-&quot;+r),r}n(!1,&quot;Base should be between 2 and 36&quot;)},a.prototype.toNumber=function(){var t=this.words[0];return 2===this.length?t+=67108864*this.words[1]:3===this.length&amp;&amp;1===this.words[2]?t+=4503599627370496+67108864*this.words[1]:this.length&gt;2&amp;&amp;n(!1,&quot;Number can only safely store up to 53 bits&quot;),0!==this.negative?-t:t},a.prototype.toJSON=function(){return this.toString(16)},a.prototype.toBuffer=function(t,e){return n(void 0!==y),this.toArrayLike(y,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&lt;=a,&quot;byte array longer than desired length&quot;),n(a&gt;0,&quot;Requested array length &lt;= 0&quot;),this.strip();var o,s,l=&quot;le&quot;===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&lt;a;s++)c[s]=0}else{for(s=0;s&lt;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&gt;=4096&amp;&amp;(r+=13,e&gt;&gt;&gt;=13),e&gt;=64&amp;&amp;(r+=7,e&gt;&gt;&gt;=7),e&gt;=8&amp;&amp;(r+=4,e&gt;&gt;&gt;=4),e&gt;=2&amp;&amp;(r+=2,e&gt;&gt;&gt;=2),r+e},a.prototype._zeroBits=function(t){if(0===t)return 26;var e=t,r=0;return 0==(8191&amp;e)&amp;&amp;(r+=13,e&gt;&gt;&gt;=13),0==(127&amp;e)&amp;&amp;(r+=7,e&gt;&gt;&gt;=7),0==(15&amp;e)&amp;&amp;(r+=4,e&gt;&gt;&gt;=4),0==(3&amp;e)&amp;&amp;(r+=2,e&gt;&gt;&gt;=2),0==(1&amp;e)&amp;&amp;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&lt;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&lt;t.length;)this.words[this.length++]=0;for(var e=0;e&lt;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&gt;t.length?this.clone().ior(t):t.clone().ior(this)},a.prototype.uor=function(t){return this.length&gt;t.length?this.clone().iuor(t):t.clone().iuor(this)},a.prototype.iuand=function(t){var e;e=this.length&gt;t.length?t:this;for(var r=0;r&lt;e.length;r++)this.words[r]=this.words[r]&amp;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&gt;t.length?this.clone().iand(t):t.clone().iand(this)},a.prototype.uand=function(t){return this.length&gt;t.length?this.clone().iuand(t):t.clone().iuand(this)},a.prototype.iuxor=function(t){var e,r;this.length&gt;t.length?(e=this,r=t):(e=t,r=this);for(var n=0;n&lt;r.length;n++)this.words[n]=e.words[n]^r.words[n];if(this!==e)for(;n&lt;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&gt;t.length?this.clone().ixor(t):t.clone().ixor(this)},a.prototype.uxor=function(t){return this.length&gt;t.length?this.clone().iuxor(t):t.clone().iuxor(this)},a.prototype.inotn=function(t){n(&quot;number&quot;==typeof t&amp;&amp;t&gt;=0);var e=0|Math.ceil(t/26),r=t%26;this._expand(e),r&gt;0&amp;&amp;e--;for(var i=0;i&lt;e;i++)this.words[i]=67108863&amp;~this.words[i];return r&gt;0&amp;&amp;(this.words[i]=~this.words[i]&amp;67108863&gt;&gt;26-r),this.strip()},a.prototype.notn=function(t){return this.clone().inotn(t)},a.prototype.setn=function(t,e){n(&quot;number&quot;==typeof t&amp;&amp;t&gt;=0);var r=t/26|0,i=t%26;return this._expand(r+1),this.words[r]=e?this.words[r]|1&lt;&lt;i:this.words[r]&amp;~(1&lt;&lt;i),this.strip()},a.prototype.iadd=function(t){var e;if(0!==this.negative&amp;&amp;0===t.negative)return this.negative=0,e=this.isub(t),this.negative^=1,this._normSign();if(0===this.negative&amp;&amp;0!==t.negative)return t.negative=0,e=this.isub(t),t.negative=1,e._normSign();var r,n;this.length&gt;t.length?(r=this,n=t):(r=t,n=this);for(var i=0,a=0;a&lt;n.length;a++)e=(0|r.words[a])+(0|n.words[a])+i,this.words[a]=67108863&amp;e,i=e&gt;&gt;&gt;26;for(;0!==i&amp;&amp;a&lt;r.length;a++)e=(0|r.words[a])+i,this.words[a]=67108863&amp;e,i=e&gt;&gt;&gt;26;if(this.length=r.length,0!==i)this.words[this.length]=i,this.length++;else if(r!==this)for(;a&lt;r.length;a++)this.words[a]=r.words[a];return this},a.prototype.add=function(t){var e;return 0!==t.negative&amp;&amp;0===this.negative?(t.negative=0,e=this.sub(t),t.negative^=1,e):0===t.negative&amp;&amp;0!==this.negative?(this.negative=0,e=t.sub(this),this.negative=1,e):this.length&gt;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=this.cmp(t);if(0===r)return this.negative=0,this.length=1,this.words[0]=0,this;var n,i;r&gt;0?(n=this,i=t):(n=t,i=this);for(var a=0,o=0;o&lt;i.length;o++)a=(e=(0|n.words[o])-(0|i.words[o])+a)&gt;&gt;26,this.words[o]=67108863&amp;e;for(;0!==a&amp;&amp;o&lt;n.length;o++)a=(e=(0|n.words[o])+a)&gt;&gt;26,this.words[o]=67108863&amp;e;if(0===a&amp;&amp;o&lt;n.length&amp;&amp;n!==this)for(;o&lt;n.length;o++)this.words[o]=n.words[o];return this.length=Math.max(this.length,o),n!==this&amp;&amp;(this.negative=1),this.strip()},a.prototype.sub=function(t){return this.clone().isub(t)};var w=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&amp;u,h=u&gt;&gt;&gt;13,d=0|o[1],p=8191&amp;d,m=d&gt;&gt;&gt;13,g=0|o[2],v=8191&amp;g,y=g&gt;&gt;&gt;13,x=0|o[3],b=8191&amp;x,_=x&gt;&gt;&gt;13,w=0|o[4],M=8191&amp;w,k=w&gt;&gt;&gt;13,A=0|o[5],T=8191&amp;A,S=A&gt;&gt;&gt;13,E=0|o[6],L=8191&amp;E,C=E&gt;&gt;&gt;13,z=0|o[7],D=8191&amp;z,I=z&gt;&gt;&gt;13,P=0|o[8],O=8191&amp;P,F=P&gt;&gt;&gt;13,R=0|o[9],N=8191&amp;R,j=R&gt;&gt;&gt;13,B=0|s[0],U=8191&amp;B,V=B&gt;&gt;&gt;13,q=0|s[1],H=8191&amp;q,G=q&gt;&gt;&gt;13,Y=0|s[2],W=8191&amp;Y,X=Y&gt;&gt;&gt;13,Z=0|s[3],J=8191&amp;Z,K=Z&gt;&gt;&gt;13,Q=0|s[4],$=8191&amp;Q,tt=Q&gt;&gt;&gt;13,et=0|s[5],rt=8191&amp;et,nt=et&gt;&gt;&gt;13,it=0|s[6],at=8191&amp;it,ot=it&gt;&gt;&gt;13,st=0|s[7],lt=8191&amp;st,ct=st&gt;&gt;&gt;13,ut=0|s[8],ft=8191&amp;ut,ht=ut&gt;&gt;&gt;13,dt=0|s[9],pt=8191&amp;dt,mt=dt&gt;&gt;&gt;13;r.negative=t.negative^e.negative,r.length=19;var gt=(c+(n=Math.imul(f,U))|0)+((8191&amp;(i=(i=Math.imul(f,V))+Math.imul(h,U)|0))&lt;&lt;13)|0;c=((a=Math.imul(h,V))+(i&gt;&gt;&gt;13)|0)+(gt&gt;&gt;&gt;26)|0,gt&amp;=67108863,n=Math.imul(p,U),i=(i=Math.imul(p,V))+Math.imul(m,U)|0,a=Math.imul(m,V);var vt=(c+(n=n+Math.imul(f,H)|0)|0)+((8191&amp;(i=(i=i+Math.imul(f,G)|0)+Math.imul(h,H)|0))&lt;&lt;13)|0;c=((a=a+Math.imul(h,G)|0)+(i&gt;&gt;&gt;13)|0)+(vt&gt;&gt;&gt;26)|0,vt&amp;=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(p,H)|0,i=(i=i+Math.imul(p,G)|0)+Math.imul(m,H)|0,a=a+Math.imul(m,G)|0;var yt=(c+(n=n+Math.imul(f,W)|0)|0)+((8191&amp;(i=(i=i+Math.imul(f,X)|0)+Math.imul(h,W)|0))&lt;&lt;13)|0;c=((a=a+Math.imul(h,X)|0)+(i&gt;&gt;&gt;13)|0)+(yt&gt;&gt;&gt;26)|0,yt&amp;=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,H)|0,i=(i=i+Math.imul(v,G)|0)+Math.imul(y,H)|0,a=a+Math.imul(y,G)|0,n=n+Math.imul(p,W)|0,i=(i=i+Math.imul(p,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&amp;(i=(i=i+Math.imul(f,K)|0)+Math.imul(h,J)|0))&lt;&lt;13)|0;c=((a=a+Math.imul(h,K)|0)+(i&gt;&gt;&gt;13)|0)+(xt&gt;&gt;&gt;26)|0,xt&amp;=67108863,n=Math.imul(M,U),i=(i=Math.imul(M,V))+Math.imul(k,U)|0,a=Math.imul(k,V),n=n+Math.imul(b,H)|0,i=(i=i+Math.imul(b,G)|0)+Math.imul(_,H)|0,a=a+Math.imul(_,G)|0,n=n+Math.imul(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(p,J)|0,i=(i=i+Math.imul(p,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&amp;(i=(i=i+Math.imul(f,tt)|0)+Math.imul(h,$)|0))&lt;&lt;13)|0;c=((a=a+Math.imul(h,tt)|0)+(i&gt;&gt;&gt;13)|0)+(bt&gt;&gt;&gt;26)|0,bt&amp;=67108863,n=Math.imul(T,U),i=(i=Math.imul(T,V))+Math.imul(S,U)|0,a=Math.imul(S,V),n=n+Math.imul(M,H)|0,i=(i=i+Math.imul(M,G)|0)+Math.imul(k,H)|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(p,$)|0,i=(i=i+Math.imul(p,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&amp;(i=(i=i+Math.imul(f,nt)|0)+Math.imul(h,rt)|0))&lt;&lt;13)|0;c=((a=a+Math.imul(h,nt)|0)+(i&gt;&gt;&gt;13)|0)+(_t&gt;&gt;&gt;26)|0,_t&amp;=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(T,H)|0,i=(i=i+Math.imul(T,G)|0)+Math.imul(S,H)|0,a=a+Math.imul(S,G)|0,n=n+Math.imul(M,W)|0,i=(i=i+Math.imul(M,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(p,rt)|0,i=(i=i+Math.imul(p,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&amp;(i=(i=i+Math.imul(f,ot)|0)+Math.imul(h,at)|0))&lt;&lt;13)|0;c=((a=a+Math.imul(h,ot)|0)+(i&gt;&gt;&gt;13)|0)+(wt&gt;&gt;&gt;26)|0,wt&amp;=67108863,n=Math.imul(D,U),i=(i=Math.imul(D,V))+Math.imul(I,U)|0,a=Math.imul(I,V),n=n+Math.imul(L,H)|0,i=(i=i+Math.imul(L,G)|0)+Math.imul(C,H)|0,a=a+Math.imul(C,G)|0,n=n+Math.imul(T,W)|0,i=(i=i+Math.imul(T,X)|0)+Math.imul(S,W)|0,a=a+Math.imul(S,X)|0,n=n+Math.imul(M,J)|0,i=(i=i+Math.imul(M,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(p,at)|0,i=(i=i+Math.imul(p,ot)|0)+Math.imul(m,at)|0,a=a+Math.imul(m,ot)|0;var Mt=(c+(n=n+Math.imul(f,lt)|0)|0)+((8191&amp;(i=(i=i+Math.imul(f,ct)|0)+Math.imul(h,lt)|0))&lt;&lt;13)|0;c=((a=a+Math.imul(h,ct)|0)+(i&gt;&gt;&gt;13)|0)+(Mt&gt;&gt;&gt;26)|0,Mt&amp;=67108863,n=Math.imul(O,U),i=(i=Math.imul(O,V))+Math.imul(F,U)|0,a=Math.imul(F,V),n=n+Math.imul(D,H)|0,i=(i=i+Math.imul(D,G)|0)+Math.imul(I,H)|0,a=a+Math.imul(I,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(T,J)|0,i=(i=i+Math.imul(T,K)|0)+Math.imul(S,J)|0,a=a+Math.imul(S,K)|0,n=n+Math.imul(M,$)|0,i=(i=i+Math.imul(M,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(p,lt)|0,i=(i=i+Math.imul(p,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&amp;(i=(i=i+Math.imul(f,ht)|0)+Math.imul(h,ft)|0))&lt;&lt;13)|0;c=((a=a+Math.imul(h,ht)|0)+(i&gt;&gt;&gt;13)|0)+(kt&gt;&gt;&gt;26)|0,kt&amp;=67108863,n=Math.imul(N,U),i=(i=Math.imul(N,V))+Math.imul(j,U)|0,a=Math.imul(j,V),n=n+Math.imul(O,H)|0,i=(i=i+Math.imul(O,G)|0)+Math.imul(F,H)|0,a=a+Math.imul(F,G)|0,n=n+Math.imul(D,W)|0,i=(i=i+Math.imul(D,X)|0)+Math.imul(I,W)|0,a=a+Math.imul(I,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(T,$)|0,i=(i=i+Math.imul(T,tt)|0)+Math.imul(S,$)|0,a=a+Math.imul(S,tt)|0,n=n+Math.imul(M,rt)|0,i=(i=i+Math.imul(M,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(p,ft)|0,i=(i=i+Math.imul(p,ht)|0)+Math.imul(m,ft)|0,a=a+Math.imul(m,ht)|0;var At=(c+(n=n+Math.imul(f,pt)|0)|0)+((8191&amp;(i=(i=i+Math.imul(f,mt)|0)+Math.imul(h,pt)|0))&lt;&lt;13)|0;c=((a=a+Math.imul(h,mt)|0)+(i&gt;&gt;&gt;13)|0)+(At&gt;&gt;&gt;26)|0,At&amp;=67108863,n=Math.imul(N,H),i=(i=Math.imul(N,G))+Math.imul(j,H)|0,a=Math.imul(j,G),n=n+Math.imul(O,W)|0,i=(i=i+Math.imul(O,X)|0)+Math.imul(F,W)|0,a=a+Math.imul(F,X)|0,n=n+Math.imul(D,J)|0,i=(i=i+Math.imul(D,K)|0)+Math.imul(I,J)|0,a=a+Math.imul(I,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(T,rt)|0,i=(i=i+Math.imul(T,nt)|0)+Math.imul(S,rt)|0,a=a+Math.imul(S,nt)|0,n=n+Math.imul(M,at)|0,i=(i=i+Math.imul(M,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 Tt=(c+(n=n+Math.imul(p,pt)|0)|0)+((8191&amp;(i=(i=i+Math.imul(p,mt)|0)+Math.imul(m,pt)|0))&lt;&lt;13)|0;c=((a=a+Math.imul(m,mt)|0)+(i&gt;&gt;&gt;13)|0)+(Tt&gt;&gt;&gt;26)|0,Tt&amp;=67108863,n=Math.imul(N,W),i=(i=Math.imul(N,X))+Math.imul(j,W)|0,a=Math.imul(j,X),n=n+Math.imul(O,J)|0,i=(i=i+Math.imul(O,K)|0)+Math.imul(F,J)|0,a=a+Math.imul(F,K)|0,n=n+Math.imul(D,$)|0,i=(i=i+Math.imul(D,tt)|0)+Math.imul(I,$)|0,a=a+Math.imul(I,tt)|0,n=n+Math.imul(L,rt)|0,i=(i=i+Math.imul(L,nt)|0)+Math.imul(C,rt)|0,a=a+Math.imul(C,nt)|0,n=n+Math.imul(T,at)|0,i=(i=i+Math.imul(T,ot)|0)+Math.imul(S,at)|0,a=a+Math.imul(S,ot)|0,n=n+Math.imul(M,lt)|0,i=(i=i+Math.imul(M,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,pt)|0)|0)+((8191&amp;(i=(i=i+Math.imul(v,mt)|0)+Math.imul(y,pt)|0))&lt;&lt;13)|0;c=((a=a+Math.imul(y,mt)|0)+(i&gt;&gt;&gt;13)|0)+(St&gt;&gt;&gt;26)|0,St&amp;=67108863,n=Math.imul(N,J),i=(i=Math.imul(N,K))+Math.imul(j,J)|0,a=Math.imul(j,K),n=n+Math.imul(O,$)|0,i=(i=i+Math.imul(O,tt)|0)+Math.imul(F,$)|0,a=a+Math.imul(F,tt)|0,n=n+Math.imul(D,rt)|0,i=(i=i+Math.imul(D,nt)|0)+Math.imul(I,rt)|0,a=a+Math.imul(I,nt)|0,n=n+Math.imul(L,at)|0,i=(i=i+Math.imul(L,ot)|0)+Math.imul(C,at)|0,a=a+Math.imul(C,ot)|0,n=n+Math.imul(T,lt)|0,i=(i=i+Math.imul(T,ct)|0)+Math.imul(S,lt)|0,a=a+Math.imul(S,ct)|0,n=n+Math.imul(M,ft)|0,i=(i=i+Math.imul(M,ht)|0)+Math.imul(k,ft)|0,a=a+Math.imul(k,ht)|0;var Et=(c+(n=n+Math.imul(b,pt)|0)|0)+((8191&amp;(i=(i=i+Math.imul(b,mt)|0)+Math.imul(_,pt)|0))&lt;&lt;13)|0;c=((a=a+Math.imul(_,mt)|0)+(i&gt;&gt;&gt;13)|0)+(Et&gt;&gt;&gt;26)|0,Et&amp;=67108863,n=Math.imul(N,$),i=(i=Math.imul(N,tt))+Math.imul(j,$)|0,a=Math.imul(j,tt),n=n+Math.imul(O,rt)|0,i=(i=i+Math.imul(O,nt)|0)+Math.imul(F,rt)|0,a=a+Math.imul(F,nt)|0,n=n+Math.imul(D,at)|0,i=(i=i+Math.imul(D,ot)|0)+Math.imul(I,at)|0,a=a+Math.imul(I,ot)|0,n=n+Math.imul(L,lt)|0,i=(i=i+Math.imul(L,ct)|0)+Math.imul(C,lt)|0,a=a+Math.imul(C,ct)|0,n=n+Math.imul(T,ft)|0,i=(i=i+Math.imul(T,ht)|0)+Math.imul(S,ft)|0,a=a+Math.imul(S,ht)|0;var Lt=(c+(n=n+Math.imul(M,pt)|0)|0)+((8191&amp;(i=(i=i+Math.imul(M,mt)|0)+Math.imul(k,pt)|0))&lt;&lt;13)|0;c=((a=a+Math.imul(k,mt)|0)+(i&gt;&gt;&gt;13)|0)+(Lt&gt;&gt;&gt;26)|0,Lt&amp;=67108863,n=Math.imul(N,rt),i=(i=Math.imul(N,nt))+Math.imul(j,rt)|0,a=Math.imul(j,nt),n=n+Math.imul(O,at)|0,i=(i=i+Math.imul(O,ot)|0)+Math.imul(F,at)|0,a=a+Math.imul(F,ot)|0,n=n+Math.imul(D,lt)|0,i=(i=i+Math.imul(D,ct)|0)+Math.imul(I,lt)|0,a=a+Math.imul(I,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(T,pt)|0)|0)+((8191&amp;(i=(i=i+Math.imul(T,mt)|0)+Math.imul(S,pt)|0))&lt;&lt;13)|0;c=((a=a+Math.imul(S,mt)|0)+(i&gt;&gt;&gt;13)|0)+(Ct&gt;&gt;&gt;26)|0,Ct&amp;=67108863,n=Math.imul(N,at),i=(i=Math.imul(N,ot))+Math.imul(j,at)|0,a=Math.imul(j,ot),n=n+Math.imul(O,lt)|0,i=(i=i+Math.imul(O,ct)|0)+Math.imul(F,lt)|0,a=a+Math.imul(F,ct)|0,n=n+Math.imul(D,ft)|0,i=(i=i+Math.imul(D,ht)|0)+Math.imul(I,ft)|0,a=a+Math.imul(I,ht)|0;var zt=(c+(n=n+Math.imul(L,pt)|0)|0)+((8191&amp;(i=(i=i+Math.imul(L,mt)|0)+Math.imul(C,pt)|0))&lt;&lt;13)|0;c=((a=a+Math.imul(C,mt)|0)+(i&gt;&gt;&gt;13)|0)+(zt&gt;&gt;&gt;26)|0,zt&amp;=67108863,n=Math.imul(N,lt),i=(i=Math.imul(N,ct))+Math.imul(j,lt)|0,a=Math.imul(j,ct),n=n+Math.imul(O,ft)|0,i=(i=i+Math.imul(O,ht)|0)+Math.imul(F,ft)|0,a=a+Math.imul(F,ht)|0;var Dt=(c+(n=n+Math.imul(D,pt)|0)|0)+((8191&amp;(i=(i=i+Math.imul(D,mt)|0)+Math.imul(I,pt)|0))&lt;&lt;13)|0;c=((a=a+Math.imul(I,mt)|0)+(i&gt;&gt;&gt;13)|0)+(Dt&gt;&gt;&gt;26)|0,Dt&amp;=67108863,n=Math.imul(N,ft),i=(i=Math.imul(N,ht))+Math.imul(j,ft)|0,a=Math.imul(j,ht);var It=(c+(n=n+Math.imul(O,pt)|0)|0)+((8191&amp;(i=(i=i+Math.imul(O,mt)|0)+Math.imul(F,pt)|0))&lt;&lt;13)|0;c=((a=a+Math.imul(F,mt)|0)+(i&gt;&gt;&gt;13)|0)+(It&gt;&gt;&gt;26)|0,It&amp;=67108863;var Pt=(c+(n=Math.imul(N,pt))|0)+((8191&amp;(i=(i=Math.imul(N,mt))+Math.imul(j,pt)|0))&lt;&lt;13)|0;return c=((a=Math.imul(j,mt))+(i&gt;&gt;&gt;13)|0)+(Pt&gt;&gt;&gt;26)|0,Pt&amp;=67108863,l[0]=gt,l[1]=vt,l[2]=yt,l[3]=xt,l[4]=bt,l[5]=_t,l[6]=wt,l[7]=Mt,l[8]=kt,l[9]=At,l[10]=Tt,l[11]=St,l[12]=Et,l[13]=Lt,l[14]=Ct,l[15]=zt,l[16]=Dt,l[17]=It,l[18]=Pt,0!==c&amp;&amp;(l[19]=c,r.length++),r};Math.imul||(w=l),a.prototype.mulTo=function(t,e){var r=this.length+t.length;return 10===this.length&amp;&amp;10===t.length?w(this,t,e):r&lt;63?l(this,t,e):r&lt;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&lt;r.length-1;a++){var o=i;i=0;for(var s=67108863&amp;n,l=Math.min(a,e.length-1),c=Math.max(0,a-t.length+1);c&lt;=l;c++){var u=a-c,f=(0|t.words[u])*(0|e.words[c]),h=67108863&amp;f;s=67108863&amp;(h=h+s|0),i+=(o=(o=o+(f/67108864|0)|0)+(h&gt;&gt;&gt;26)|0)&gt;&gt;&gt;26,o&amp;=67108863}r.words[a]=s,n=o,o=i}return 0!==n?r.words[a]=n:r.length--,r.strip()}(this,t,e):c(this,t,e)},u.prototype.makeRBT=function(t){for(var e=new Array(t),r=a.prototype._countBits(t)-1,n=0;n&lt;t;n++)e[n]=this.revBin(n,r,t);return e},u.prototype.revBin=function(t,e,r){if(0===t||t===r-1)return t;for(var n=0,i=0;i&lt;e;i++)n|=(1&amp;t)&lt;&lt;e-i-1,t&gt;&gt;=1;return n},u.prototype.permute=function(t,e,r,n,i,a){for(var o=0;o&lt;a;o++)n[o]=e[t[o]],i[o]=r[t[o]]},u.prototype.transform=function(t,e,r,n,i,a){this.permute(a,t,e,r,n,i);for(var o=1;o&lt;i;o&lt;&lt;=1)for(var s=o&lt;&lt;1,l=Math.cos(2*Math.PI/s),c=Math.sin(2*Math.PI/s),u=0;u&lt;i;u+=s)for(var f=l,h=c,d=0;d&lt;o;d++){var p=r[u+d],m=n[u+d],g=r[u+d+o],v=n[u+d+o],y=f*g-h*v;v=f*v+h*g,g=y,r[u+d]=p+g,n[u+d]=m+v,r[u+d+o]=p-g,n[u+d+o]=m-v,d!==s&amp;&amp;(y=l*f-c*h,h=l*h+c*f,f=y)}},u.prototype.guessLen13b=function(t,e){var r=1|Math.max(e,t),n=1&amp;r,i=0;for(r=r/2|0;r;r&gt;&gt;&gt;=1)i++;return 1&lt;&lt;i+1+n},u.prototype.conjugate=function(t,e,r){if(!(r&lt;=1))for(var n=0;n&lt;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}},u.prototype.normalize13b=function(t,e){for(var r=0,n=0;n&lt;e/2;n++){var i=8192*Math.round(t[2*n+1]/e)+Math.round(t[2*n]/e)+r;t[n]=67108863&amp;i,r=i&lt;67108864?0:i/67108864|0}return t},u.prototype.convert13b=function(t,e,r,i){for(var a=0,o=0;o&lt;e;o++)a+=0|t[o],r[2*o]=8191&amp;a,a&gt;&gt;&gt;=13,r[2*o+1]=8191&amp;a,a&gt;&gt;&gt;=13;for(o=2*e;o&lt;i;++o)r[o]=0;n(0===a),n(0==(-8192&amp;a))},u.prototype.stub=function(t){for(var e=new Array(t),r=0;r&lt;t;r++)e[r]=0;return e},u.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 d=0;d&lt;n;d++){var p=s[d]*u[d]-l[d]*f[d];l[d]=s[d]*f[d]+l[d]*u[d],s[d]=p}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),c(this,t,e)},a.prototype.imul=function(t){return this.clone().mulTo(t,this)},a.prototype.imuln=function(t){n(&quot;number&quot;==typeof t),n(t&lt;67108864);for(var e=0,r=0;r&lt;this.length;r++){var i=(0|this.words[r])*t,a=(67108863&amp;i)+(67108863&amp;e);e&gt;&gt;=26,e+=i/67108864|0,e+=a&gt;&gt;&gt;26,this.words[r]=67108863&amp;a}return 0!==e&amp;&amp;(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&lt;e.length;r++){var n=r/26|0,i=r%26;e[r]=(t.words[n]&amp;1&lt;&lt;i)&gt;&gt;&gt;i}return e}(t);if(0===e.length)return new a(1);for(var r=this,n=0;n&lt;e.length&amp;&amp;0===e[n];n++,r=r.sqr());if(++n&lt;e.length)for(var i=r.sqr();n&lt;e.length;n++,i=i.sqr())0!==e[n]&amp;&amp;(r=r.mul(i));return r},a.prototype.iushln=function(t){n(&quot;number&quot;==typeof t&amp;&amp;t&gt;=0);var e,r=t%26,i=(t-r)/26,a=67108863&gt;&gt;&gt;26-r&lt;&lt;26-r;if(0!==r){var o=0;for(e=0;e&lt;this.length;e++){var s=this.words[e]&amp;a,l=(0|this.words[e])-s&lt;&lt;r;this.words[e]=l|o,o=s&gt;&gt;&gt;26-r}o&amp;&amp;(this.words[e]=o,this.length++)}if(0!==i){for(e=this.length-1;e&gt;=0;e--)this.words[e+i]=this.words[e];for(e=0;e&lt;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){n(&quot;number&quot;==typeof t&amp;&amp;t&gt;=0);var i;i=e?(e-e%26)/26:0;var a=t%26,o=Math.min((t-a)/26,this.length),s=67108863^67108863&gt;&gt;&gt;a&lt;&lt;a,l=r;if(i-=o,i=Math.max(0,i),l){for(var c=0;c&lt;o;c++)l.words[c]=this.words[c];l.length=o}if(0===o);else if(this.length&gt;o)for(this.length-=o,c=0;c&lt;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&gt;=0&amp;&amp;(0!==u||c&gt;=i);c--){var f=0|this.words[c];this.words[c]=u&lt;&lt;26-a|f&gt;&gt;&gt;a,u=f&amp;s}return l&amp;&amp;0!==u&amp;&amp;(l.words[l.length++]=u),0===this.length&amp;&amp;(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(&quot;number&quot;==typeof t&amp;&amp;t&gt;=0);var e=t%26,r=(t-e)/26,i=1&lt;&lt;e;if(this.length&lt;=r)return!1;return!!(this.words[r]&amp;i)},a.prototype.imaskn=function(t){n(&quot;number&quot;==typeof t&amp;&amp;t&gt;=0);var e=t%26,r=(t-e)/26;if(n(0===this.negative,&quot;imaskn works only with positive numbers&quot;),this.length&lt;=r)return this;if(0!==e&amp;&amp;r++,this.length=Math.min(r,this.length),0!==e){var i=67108863^67108863&gt;&gt;&gt;e&lt;&lt;e;this.words[this.length-1]&amp;=i}return this.strip()},a.prototype.maskn=function(t){return this.clone().imaskn(t)},a.prototype.iaddn=function(t){return n(&quot;number&quot;==typeof t),n(t&lt;67108864),t&lt;0?this.isubn(-t):0!==this.negative?1===this.length&amp;&amp;(0|this.words[0])&lt;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&lt;this.length&amp;&amp;this.words[e]&gt;=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(&quot;number&quot;==typeof t),n(t&lt;67108864),t&lt;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&amp;&amp;this.words[0]&lt;0)this.words[0]=-this.words[0],this.negative=1;else for(var e=0;e&lt;this.length&amp;&amp;this.words[e]&lt;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=t.length+r;this._expand(a);var o,s=0;for(i=0;i&lt;t.length;i++){o=(0|this.words[i+r])+s;var l=(0|t.words[i])*e;s=((o-=67108863&amp;l)&gt;&gt;26)-(l/67108864|0),this.words[i+r]=67108863&amp;o}for(;i&lt;this.length-r;i++)s=(o=(0|this.words[i+r])+s)&gt;&gt;26,this.words[i+r]=67108863&amp;o;if(0===s)return this.strip();for(n(-1===s),s=0,i=0;i&lt;this.length;i++)s=(o=-(0|this.words[i])+s)&gt;&gt;26,this.words[i]=67108863&amp;o;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))&amp;&amp;(i=i.ushln(r),n.iushln(r),o=0|i.words[i.length-1]);var s,l=n.length-i.length;if(&quot;mod&quot;!==e){(s=new a(null)).length=l+1,s.words=new Array(s.length);for(var c=0;c&lt;s.length;c++)s.words[c]=0}var u=n.clone()._ishlnsubmul(i,1,l);0===u.negative&amp;&amp;(n=u,s&amp;&amp;(s.words[l]=1));for(var f=l-1;f&gt;=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&amp;&amp;(s.words[f]=h)}return s&amp;&amp;s.strip(),n.strip(),&quot;div&quot;!==e&amp;&amp;0!==r&amp;&amp;n.iushrn(r),{div:s||null,mod:n}},a.prototype.divmod=function(t,e,r){if(n(!t.isZero()),this.isZero())return{div:new a(0),mod:new a(0)};var i,o,s;return 0!==this.negative&amp;&amp;0===t.negative?(s=this.neg().divmod(t,e),&quot;mod&quot;!==e&amp;&amp;(i=s.div.neg()),&quot;div&quot;!==e&amp;&amp;(o=s.mod.neg(),r&amp;&amp;0!==o.negative&amp;&amp;o.iadd(t)),{div:i,mod:o}):0===this.negative&amp;&amp;0!==t.negative?(s=this.divmod(t.neg(),e),&quot;mod&quot;!==e&amp;&amp;(i=s.div.neg()),{div:i,mod:s.mod}):0!=(this.negative&amp;t.negative)?(s=this.neg().divmod(t.neg(),e),&quot;div&quot;!==e&amp;&amp;(o=s.mod.neg(),r&amp;&amp;0!==o.negative&amp;&amp;o.isub(t)),{div:s.div,mod:o}):t.length&gt;this.length||this.cmp(t)&lt;0?{div:new a(0),mod:this}:1===t.length?&quot;div&quot;===e?{div:this.divn(t.words[0]),mod:null}:&quot;mod&quot;===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)},a.prototype.div=function(t){return this.divmod(t,&quot;div&quot;,!1).div},a.prototype.mod=function(t){return this.divmod(t,&quot;mod&quot;,!1).mod},a.prototype.umod=function(t){return this.divmod(t,&quot;mod&quot;,!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&lt;0||1===i&amp;&amp;0===a?e.div:0!==e.div.negative?e.div.isubn(1):e.div.iaddn(1)},a.prototype.modn=function(t){n(t&lt;=67108863);for(var e=(1&lt;&lt;26)%t,r=0,i=this.length-1;i&gt;=0;i--)r=(e*r+(0|this.words[i]))%t;return r},a.prototype.idivn=function(t){n(t&lt;=67108863);for(var e=0,r=this.length-1;r&gt;=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()&amp;&amp;r.isEven();)e.iushrn(1),r.iushrn(1),++c;for(var u=r.clone(),f=e.clone();!e.isZero();){for(var h=0,d=1;0==(e.words[0]&amp;d)&amp;&amp;h&lt;26;++h,d&lt;&lt;=1);if(h&gt;0)for(e.iushrn(h);h-- &gt;0;)(i.isOdd()||o.isOdd())&amp;&amp;(i.iadd(u),o.isub(f)),i.iushrn(1),o.iushrn(1);for(var p=0,m=1;0==(r.words[0]&amp;m)&amp;&amp;p&lt;26;++p,m&lt;&lt;=1);if(p&gt;0)for(r.iushrn(p);p-- &gt;0;)(s.isOdd()||l.isOdd())&amp;&amp;(s.iadd(u),l.isub(f)),s.iushrn(1),l.iushrn(1);e.cmp(r)&gt;=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=new a(1),o=new a(0),s=r.clone();e.cmpn(1)&gt;0&amp;&amp;r.cmpn(1)&gt;0;){for(var l=0,c=1;0==(e.words[0]&amp;c)&amp;&amp;l&lt;26;++l,c&lt;&lt;=1);if(l&gt;0)for(e.iushrn(l);l-- &gt;0;)i.isOdd()&amp;&amp;i.iadd(s),i.iushrn(1);for(var u=0,f=1;0==(r.words[0]&amp;f)&amp;&amp;u&lt;26;++u,f&lt;&lt;=1);if(u&gt;0)for(r.iushrn(u);u-- &gt;0;)o.isOdd()&amp;&amp;o.iadd(s),o.iushrn(1);e.cmp(r)&gt;=0?(e.isub(r),i.isub(o)):(r.isub(e),o.isub(i))}var h;return(h=0===e.cmpn(1)?i:o).cmpn(0)&lt;0&amp;&amp;h.iadd(t),h},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()&amp;&amp;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&lt;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&amp;this.words[0])},a.prototype.isOdd=function(){return 1==(1&amp;this.words[0])},a.prototype.andln=function(t){return this.words[0]&amp;t},a.prototype.bincn=function(t){n(&quot;number&quot;==typeof t);var e=t%26,r=(t-e)/26,i=1&lt;&lt;e;if(this.length&lt;=r)return this._expand(r+1),this.words[r]|=i,this;for(var a=i,o=r;0!==a&amp;&amp;o&lt;this.length;o++){var s=0|this.words[o];a=(s+=a)&gt;&gt;&gt;26,s&amp;=67108863,this.words[o]=s}return 0!==a&amp;&amp;(this.words[o]=a,this.length++),this},a.prototype.isZero=function(){return 1===this.length&amp;&amp;0===this.words[0]},a.prototype.cmpn=function(t){var e=t&lt;0;if(0!==this.negative&amp;&amp;!e)return-1;if(0===this.negative&amp;&amp;e)return 1;this.strip();var r;if(this.length&gt;1)r=1;else{e&amp;&amp;(t=-t),n(t&lt;=67108863,&quot;Number is too big&quot;);var i=0|this.words[0];r=i===t?0:i&lt;t?-1:1}return 0!==this.negative?0|-r:r},a.prototype.cmp=function(t){if(0!==this.negative&amp;&amp;0===t.negative)return-1;if(0===this.negative&amp;&amp;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&gt;t.length)return 1;if(this.length&lt;t.length)return-1;for(var e=0,r=this.length-1;r&gt;=0;r--){var n=0|this.words[r],i=0|t.words[r];if(n!==i){n&lt;i?e=-1:n&gt;i&amp;&amp;(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)&gt;=0},a.prototype.gte=function(t){return this.cmp(t)&gt;=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)&lt;=0},a.prototype.lte=function(t){return this.cmp(t)&lt;=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 g(t)},a.prototype.toRed=function(t){return n(!this.red,&quot;Already a number in reduction context&quot;),n(0===this.negative,&quot;red works only with positives&quot;),t.convertTo(this)._forceRed(t)},a.prototype.fromRed=function(){return n(this.red,&quot;fromRed works only with numbers in reduction context&quot;),this.red.convertFrom(this)},a.prototype._forceRed=function(t){return this.red=t,this},a.prototype.forceRed=function(t){return n(!this.red,&quot;Already a number in reduction context&quot;),this._forceRed(t)},a.prototype.redAdd=function(t){return n(this.red,&quot;redAdd works only with red numbers&quot;),this.red.add(this,t)},a.prototype.redIAdd=function(t){return n(this.red,&quot;redIAdd works only with red numbers&quot;),this.red.iadd(this,t)},a.prototype.redSub=function(t){return n(this.red,&quot;redSub works only with red numbers&quot;),this.red.sub(this,t)},a.prototype.redISub=function(t){return n(this.red,&quot;redISub works only with red numbers&quot;),this.red.isub(this,t)},a.prototype.redShl=function(t){return n(this.red,&quot;redShl works only with red numbers&quot;),this.red.shl(this,t)},a.prototype.redMul=function(t){return n(this.red,&quot;redMul works only with red numbers&quot;),this.red._verify2(this,t),this.red.mul(this,t)},a.prototype.redIMul=function(t){return n(this.red,&quot;redMul works only with red numbers&quot;),this.red._verify2(this,t),this.red.imul(this,t)},a.prototype.redSqr=function(){return n(this.red,&quot;redSqr works only with red numbers&quot;),this.red._verify1(this),this.red.sqr(this)},a.prototype.redISqr=function(){return n(this.red,&quot;redISqr works only with red numbers&quot;),this.red._verify1(this),this.red.isqr(this)},a.prototype.redSqrt=function(){return n(this.red,&quot;redSqrt works only with red numbers&quot;),this.red._verify1(this),this.red.sqrt(this)},a.prototype.redInvm=function(){return n(this.red,&quot;redInvm works only with red numbers&quot;),this.red._verify1(this),this.red.invm(this)},a.prototype.redNeg=function(){return n(this.red,&quot;redNeg works only with red numbers&quot;),this.red._verify1(this),this.red.neg(this)},a.prototype.redPow=function(t){return n(this.red&amp;&amp;!t.red,&quot;redPow(normalNum)&quot;),this.red._verify1(this),this.red.pow(this,t)};var M={k256:null,p224:null,p192:null,p25519:null};f.prototype._tmp=function(){var t=new a(null);return t.words=new Array(Math.ceil(this.n/13)),t},f.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&gt;this.n);var n=e&lt;this.n?-1:r.ucmp(this.p);return 0===n?(r.words[0]=0,r.length=1):n&gt;0?r.isub(this.p):r.strip(),r},f.prototype.split=function(t,e){t.iushrn(this.n,0,e)},f.prototype.imulK=function(t){return t.imul(this.k)},i(h,f),h.prototype.split=function(t,e){for(var r=Math.min(t.length,9),n=0;n&lt;r;n++)e.words[n]=t.words[n];if(e.length=r,t.length&lt;=9)return t.words[0]=0,void(t.length=1);var i=t.words[9];for(e.words[e.length++]=4194303&amp;i,n=10;n&lt;t.length;n++){var a=0|t.words[n];t.words[n-10]=(4194303&amp;a)&lt;&lt;4|i&gt;&gt;&gt;22,i=a}i&gt;&gt;&gt;=22,t.words[n-10]=i,0===i&amp;&amp;t.length&gt;10?t.length-=10:t.length-=9},h.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&lt;t.length;r++){var n=0|t.words[r];e+=977*n,t.words[r]=67108863&amp;e,e=64*n+(e/67108864|0)}return 0===t.words[t.length-1]&amp;&amp;(t.length--,0===t.words[t.length-1]&amp;&amp;t.length--),t},i(d,f),i(p,f),i(m,f),m.prototype.imulK=function(t){for(var e=0,r=0;r&lt;t.length;r++){var n=19*(0|t.words[r])+e,i=67108863&amp;n;n&gt;&gt;&gt;=26,t.words[r]=i,e=n}return 0!==e&amp;&amp;(t.words[t.length++]=e),t},a._prime=function(t){if(M[t])return M[t];var e;if(&quot;k256&quot;===t)e=new h;else if(&quot;p224&quot;===t)e=new d;else if(&quot;p192&quot;===t)e=new p;else{if(&quot;p25519&quot;!==t)throw new Error(&quot;Unknown prime &quot;+t);e=new m}return M[t]=e,e},g.prototype._verify1=function(t){n(0===t.negative,&quot;red works only with positives&quot;),n(t.red,&quot;red works only with red numbers&quot;)},g.prototype._verify2=function(t,e){n(0==(t.negative|e.negative),&quot;red works only with positives&quot;),n(t.red&amp;&amp;t.red===e.red,&quot;red works only with red numbers&quot;)},g.prototype.imod=function(t){return this.prime?this.prime.ireduce(t)._forceRed(this):t.umod(this.m)._forceRed(this)},g.prototype.neg=function(t){return t.isZero()?t.clone():this.m.sub(t)._forceRed(this)},g.prototype.add=function(t,e){this._verify2(t,e);var r=t.add(e);return r.cmp(this.m)&gt;=0&amp;&amp;r.isub(this.m),r._forceRed(this)},g.prototype.iadd=function(t,e){this._verify2(t,e);var r=t.iadd(e);return r.cmp(this.m)&gt;=0&amp;&amp;r.isub(this.m),r},g.prototype.sub=function(t,e){this._verify2(t,e);var r=t.sub(e);return r.cmpn(0)&lt;0&amp;&amp;r.iadd(this.m),r._forceRed(this)},g.prototype.isub=function(t,e){this._verify2(t,e);var r=t.isub(e);return r.cmpn(0)&lt;0&amp;&amp;r.iadd(this.m),r},g.prototype.shl=function(t,e){return this._verify1(t),this.imod(t.ushln(e))},g.prototype.imul=function(t,e){return this._verify2(t,e),this.imod(t.imul(e))},g.prototype.mul=function(t,e){return this._verify2(t,e),this.imod(t.mul(e))},g.prototype.isqr=function(t){return this.imul(t,t.clone())},g.prototype.sqr=function(t){return this.mul(t,t)},g.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()&amp;&amp;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)),d=this.pow(t,i),p=o;0!==d.cmp(s);){for(var m=d,g=0;0!==m.cmp(s);g++)m=m.redSqr();n(g&lt;p);var v=this.pow(f,new a(1).iushln(p-g-1));h=h.redMul(v),f=v.redSqr(),d=d.redMul(f),p=g}return h},g.prototype.invm=function(t){var e=t._invmp(this.m);return 0!==e.negative?(e.negative=0,this.imod(e).redNeg()):this.imod(e)},g.prototype.pow=function(t,e){if(e.isZero())return new a(1);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&lt;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&amp;&amp;(l=26),n=e.length-1;n&gt;=0;n--){for(var c=e.words[n],u=l-1;u&gt;=0;u--){var f=c&gt;&gt;u&amp;1;i!==r[0]&amp;&amp;(i=this.sqr(i)),0!==f||0!==o?(o&lt;&lt;=1,o|=f,(4===++s||0===n&amp;&amp;0===u)&amp;&amp;(i=this.mul(i,r[o]),s=0,o=0)):s=0}l=26}return i},g.prototype.convertTo=function(t){var e=t.umod(this.m);return e===t?e.clone():e},g.prototype.convertFrom=function(t){var e=t.clone();return e.red=null,e},a.mont=function(t){return new v(t)},i(v,g),v.prototype.convertTo=function(t){return this.imod(t.ushln(this.shift))},v.prototype.convertFrom=function(t){var e=this.imod(t.mul(this.rinv));return e.red=null,e},v.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)&gt;=0?a=i.isub(this.m):i.cmpn(0)&lt;0&amp;&amp;(a=i.iadd(this.m)),a._forceRed(this)},v.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)&gt;=0?o=i.isub(this.m):i.cmpn(0)&lt;0&amp;&amp;(o=i.iadd(this.m)),o._forceRed(this)},v.prototype.invm=function(t){return this.imod(t._invmp(this.m).mul(this.r2))._forceRed(this)}}(void 0===e||e,this)},{}],74:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t){var e,r,n,i=t.length,a=0;for(e=0;e&lt;i;++e)a+=t[e].length;var o=new Array(a),s=0;for(e=0;e&lt;i;++e){var l=t[e],c=l.length;for(r=0;r&lt;c;++r){var u=o[s++]=new Array(c-1),f=0;for(n=0;n&lt;c;++n)n!==r&amp;&amp;(u[f++]=l[n]);if(1&amp;r){var h=u[1];u[1]=u[0],u[0]=h}}}return o}},{}],75:[function(t,e,r){&quot;use strict&quot;;function n(t,e){for(var r=0;r&lt;t;++r)if(!(e[r]&lt;=e[r+t]))return!0;return!1}function i(t,e,r,i){for(var a=0,o=0,s=0,l=t.length;s&lt;l;++s){var c=t[s];if(!n(e,c)){for(var u=0;u&lt;2*e;++u)r[a++]=c[u];i[o++]=s}}return o}function a(t,e,r,n){var a=t.length,o=e.length;if(!(a&lt;=0||o&lt;=0)){var s=t[0].length&gt;&gt;&gt;1;if(!(s&lt;=0)){var f,h=l.mallocDouble(2*s*a),d=l.mallocInt32(a);if((a=i(t,s,h,d))&gt;0){if(1===s&amp;&amp;n)c.init(a),f=c.sweepComplete(s,r,0,a,h,d,0,a,h,d);else{var p=l.mallocDouble(2*s*o),m=l.mallocInt32(o);(o=i(e,s,p,m))&gt;0&amp;&amp;(c.init(a+o),f=1===s?c.sweepBipartite(s,r,0,a,h,d,0,o,p,m):u(s,r,n,a,h,d,o,p,m),l.free(p),l.free(m))}l.free(h),l.free(d)}return f}}}function o(t,e){s.push([t,e])}e.exports=function(t,e,r){switch(arguments.length){case 1:return function(t){return s=[],a(t,t,o,!0),s}(t);case 2:return&quot;function&quot;==typeof e?a(t,t,e,!0):function(t,e){return s=[],a(t,e,o,!1),s}(t,e);case 3:return a(t,e,r,!1);default:throw new Error(&quot;box-intersect: Invalid arguments&quot;)}};var s,l=t(&quot;typedarray-pool&quot;),c=t(&quot;./lib/sweep&quot;),u=t(&quot;./lib/intersect&quot;)},{&quot;./lib/intersect&quot;:77,&quot;./lib/sweep&quot;:81,&quot;typedarray-pool&quot;:554}],76:[function(t,e,r){&quot;use strict&quot;;function n(t){function e(e,r){var s=function(t,e,r){var n=&quot;bruteForce&quot;+(t?&quot;Red&quot;:&quot;Blue&quot;)+(e?&quot;Flip&quot;:&quot;&quot;)+(r?&quot;Full&quot;:&quot;&quot;),s=[&quot;function &quot;,n,&quot;(&quot;,_.join(),&quot;){&quot;,&quot;var &quot;,l,&quot;=2*&quot;,i,&quot;;&quot;],w=&quot;for(var i=&quot;+c+&quot;,&quot;+d+&quot;=&quot;+l+&quot;*&quot;+c+&quot;;i&lt;&quot;+u+&quot;;++i,&quot;+d+&quot;+=&quot;+l+&quot;){var x0=&quot;+f+&quot;[&quot;+a+&quot;+&quot;+d+&quot;],x1=&quot;+f+&quot;[&quot;+a+&quot;+&quot;+d+&quot;+&quot;+i+&quot;],xi=&quot;+h+&quot;[i];&quot;,M=&quot;for(var j=&quot;+p+&quot;,&quot;+y+&quot;=&quot;+l+&quot;*&quot;+p+&quot;;j&lt;&quot;+m+&quot;;++j,&quot;+y+&quot;+=&quot;+l+&quot;){var y0=&quot;+g+&quot;[&quot;+a+&quot;+&quot;+y+&quot;],&quot;+(r?&quot;y1=&quot;+g+&quot;[&quot;+a+&quot;+&quot;+y+&quot;+&quot;+i+&quot;],&quot;:&quot;&quot;)+&quot;yi=&quot;+v+&quot;[j];&quot;;return t?s.push(w,b,&quot;:&quot;,M):s.push(M,b,&quot;:&quot;,w),r?s.push(&quot;if(y1&lt;x0||x1&lt;y0)continue;&quot;):e?s.push(&quot;if(y0&lt;=x0||x1&lt;y0)continue;&quot;):s.push(&quot;if(y0&lt;x0||x1&lt;y0)continue;&quot;),s.push(&quot;for(var k=&quot;+a+&quot;+1;k&lt;&quot;+i+&quot;;++k){var r0=&quot;+f+&quot;[k+&quot;+d+&quot;],r1=&quot;+f+&quot;[k+&quot;+i+&quot;+&quot;+d+&quot;],b0=&quot;+g+&quot;[k+&quot;+y+&quot;],b1=&quot;+g+&quot;[k+&quot;+i+&quot;+&quot;+y+&quot;];if(r1&lt;b0||b1&lt;r0)continue &quot;+b+&quot;;}var &quot;+x+&quot;=&quot;+o+&quot;(&quot;),e?s.push(&quot;yi,xi&quot;):s.push(&quot;xi,yi&quot;),s.push(&quot;);if(&quot;+x+&quot;!==void 0)return &quot;+x+&quot;;}}}&quot;),{name:n,code:s.join(&quot;&quot;)}}(e,r,t);n.push(s.code),M.push(&quot;return &quot;+s.name+&quot;(&quot;+_.join()+&quot;);&quot;)}var r=&quot;bruteForce&quot;+(t?&quot;Full&quot;:&quot;Partial&quot;),n=[],w=_.slice();t||w.splice(3,0,s);var M=[&quot;function &quot;+r+&quot;(&quot;+w.join()+&quot;){&quot;];M.push(&quot;if(&quot;+u+&quot;-&quot;+c+&quot;&gt;&quot;+m+&quot;-&quot;+p+&quot;){&quot;),t?(e(!0,!1),M.push(&quot;}else{&quot;),e(!1,!1)):(M.push(&quot;if(&quot;+s+&quot;){&quot;),e(!0,!0),M.push(&quot;}else{&quot;),e(!0,!1),M.push(&quot;}}else{if(&quot;+s+&quot;){&quot;),e(!1,!0),M.push(&quot;}else{&quot;),e(!1,!1),M.push(&quot;}&quot;)),M.push(&quot;}}return &quot;+r);var k=n.join(&quot;&quot;)+M.join(&quot;&quot;);return new Function(k)()}var i=&quot;d&quot;,a=&quot;ax&quot;,o=&quot;vv&quot;,s=&quot;fp&quot;,l=&quot;es&quot;,c=&quot;rs&quot;,u=&quot;re&quot;,f=&quot;rb&quot;,h=&quot;ri&quot;,d=&quot;rp&quot;,p=&quot;bs&quot;,m=&quot;be&quot;,g=&quot;bb&quot;,v=&quot;bi&quot;,y=&quot;bp&quot;,x=&quot;rv&quot;,b=&quot;Q&quot;,_=[i,a,o,c,u,f,h,p,m,g,v];r.partial=n(!1),r.full=n(!0)},{}],77:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,n,i,a,o,s,l){var c=M*t;A[c]=e,A[c+1]=r,A[c+2]=n,A[c+3]=i,A[c+4]=a,A[c+5]=o;var u=k*t;T[u]=s,T[u+1]=l}function i(t,e,r,n,i,a,o,s,l,c,u){var f=2*t,h=l*f,d=c[h+e];t:for(var p=i,m=i*f;p&lt;a;++p,m+=f){var g=o[m+e],v=o[m+e+t];if(!(d&lt;g||v&lt;d)&amp;&amp;(!n||d!==g)){for(var y=s[p],x=e+1;x&lt;t;++x){g=o[m+x],v=o[m+x+t];var b=c[h+x],_=c[h+x+t];if(v&lt;b||_&lt;g)continue t}var w;if(void 0!==(w=n?r(u,y):r(y,u)))return w}}}function a(t,e,r,n,i,a,o,s,l,c){var u=2*t,f=s*u,h=l[f+e];t:for(var d=n,p=n*u;d&lt;i;++d,p+=u){var m=o[d];if(m!==c){var g=a[p+e],v=a[p+e+t];if(!(h&lt;g||v&lt;h)){for(var y=e+1;y&lt;t;++y){g=a[p+y],v=a[p+y+t];var x=l[f+y],b=l[f+y+t];if(v&lt;x||b&lt;g)continue t}var _=r(m,c);if(void 0!==_)return _}}}}e.exports=function(t,e,r,l,d,S,E,L,C){!function(t,e){var r=8*s.log2(e+1)*(t+1)|0,n=s.nextPow2(M*r);A.length&lt;n&amp;&amp;(o.free(A),A=o.mallocInt32(n));var i=s.nextPow2(k*r);T&lt;i&amp;&amp;(o.free(T),T=o.mallocDouble(i))}(t,l+E);var z,D=0,I=2*t;for(n(D++,0,0,l,0,E,r?16:0,-1/0,1/0),r||n(D++,0,0,E,0,l,1,-1/0,1/0);D&gt;0;){var P=(D-=1)*M,O=A[P],F=A[P+1],R=A[P+2],N=A[P+3],j=A[P+4],B=A[P+5],U=D*k,V=T[U],q=T[U+1],H=1&amp;B,G=!!(16&amp;B),Y=d,W=S,X=L,Z=C;if(H&amp;&amp;(Y=L,W=C,X=d,Z=S),!(2&amp;B&amp;&amp;(R=x(t,O,F,R,Y,W,q),F&gt;=R)||4&amp;B&amp;&amp;(F=b(t,O,F,R,Y,W,V))&gt;=R)){var J=R-F,K=j-N;if(G){if(t*J*(J+K)&lt;g){if(void 0!==(z=f.scanComplete(t,O,e,F,R,Y,W,N,j,X,Z)))return z;continue}}else{if(t*Math.min(J,K)&lt;p){if(void 0!==(z=c(t,O,e,H,F,R,Y,W,N,j,X,Z)))return z;continue}if(t*J*K&lt;m){if(void 0!==(z=f.scanBipartite(t,O,e,H,F,R,Y,W,N,j,X,Z)))return z;continue}}var Q=v(t,O,F,R,Y,W,V,q);if(F&lt;Q)if(t*(Q-F)&lt;p){if(void 0!==(z=u(t,O+1,e,F,Q,Y,W,N,j,X,Z)))return z}else if(O===t-2){if(void 0!==(z=H?f.sweepBipartite(t,e,N,j,X,Z,F,Q,Y,W):f.sweepBipartite(t,e,F,Q,Y,W,N,j,X,Z)))return z}else n(D++,O+1,F,Q,N,j,H,-1/0,1/0),n(D++,O+1,N,j,F,Q,1^H,-1/0,1/0);if(Q&lt;R){var $=h(t,O,N,j,X,Z),tt=X[I*$+O],et=y(t,O,$,j,X,Z,tt);if(et&lt;j&amp;&amp;n(D++,O,Q,R,et,j,(4|H)+(G?16:0),tt,q),N&lt;$&amp;&amp;n(D++,O,Q,R,N,$,(2|H)+(G?16:0),V,tt),$+1===et){if(void 0!==(z=G?a(t,O,e,Q,R,Y,W,$,X,Z[$]):i(t,O,e,H,Q,R,Y,W,$,X,Z[$])))return z}else if($&lt;et){var rt;if(G){if(rt=_(t,O,Q,R,Y,W,tt),Q&lt;rt){var nt=y(t,O,Q,rt,Y,W,tt);if(O===t-2){if(Q&lt;nt&amp;&amp;void 0!==(z=f.sweepComplete(t,e,Q,nt,Y,W,$,et,X,Z)))return z;if(nt&lt;rt&amp;&amp;void 0!==(z=f.sweepBipartite(t,e,nt,rt,Y,W,$,et,X,Z)))return z}else Q&lt;nt&amp;&amp;n(D++,O+1,Q,nt,$,et,16,-1/0,1/0),nt&lt;rt&amp;&amp;(n(D++,O+1,nt,rt,$,et,0,-1/0,1/0),n(D++,O+1,$,et,nt,rt,1,-1/0,1/0))}}else Q&lt;(rt=H?w(t,O,Q,R,Y,W,tt):_(t,O,Q,R,Y,W,tt))&amp;&amp;(O===t-2?z=H?f.sweepBipartite(t,e,$,et,X,Z,Q,rt,Y,W):f.sweepBipartite(t,e,Q,rt,Y,W,$,et,X,Z):(n(D++,O+1,Q,rt,$,et,H,-1/0,1/0),n(D++,O+1,$,et,Q,rt,1^H,-1/0,1/0)))}}}}};var o=t(&quot;typedarray-pool&quot;),s=t(&quot;bit-twiddle&quot;),l=t(&quot;./brute&quot;),c=l.partial,u=l.full,f=t(&quot;./sweep&quot;),h=t(&quot;./median&quot;),d=t(&quot;./partition&quot;),p=128,m=1&lt;&lt;22,g=1&lt;&lt;22,v=d(&quot;!(lo&gt;=p0)&amp;&amp;!(p1&gt;=hi)&quot;,[&quot;p0&quot;,&quot;p1&quot;]),y=d(&quot;lo===p0&quot;,[&quot;p0&quot;]),x=d(&quot;lo&lt;p0&quot;,[&quot;p0&quot;]),b=d(&quot;hi&lt;=p0&quot;,[&quot;p0&quot;]),_=d(&quot;lo&lt;=p0&amp;&amp;p0&lt;=hi&quot;,[&quot;p0&quot;]),w=d(&quot;lo&lt;p0&amp;&amp;p0&lt;=hi&quot;,[&quot;p0&quot;]),M=6,k=2,A=o.mallocInt32(1024),T=o.mallocDouble(1024)},{&quot;./brute&quot;:76,&quot;./median&quot;:78,&quot;./partition&quot;:79,&quot;./sweep&quot;:81,&quot;bit-twiddle&quot;:71,&quot;typedarray-pool&quot;:554}],78:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,n,i,a){for(var o=2*t,s=o*(r+1)+e,l=r+1;l&lt;n;++l,s+=o)for(var c=i[s],u=l,f=o*(l-1);u&gt;r&amp;&amp;i[f+e]&gt;c;--u,f-=o){for(var h=f,d=f+o,p=0;p&lt;o;++p,++h,++d){var m=i[h];i[h]=i[d],i[d]=m}var g=a[u];a[u]=a[u-1],a[u-1]=g}}e.exports=function(t,e,r,o,s,l){if(o&lt;=r+1)return r;for(var c=r,u=o,f=o+r&gt;&gt;&gt;1,h=2*t,d=f,p=s[h*f+e];c&lt;u;){if(u-c&lt;a){n(t,e,c,u,s,l),p=s[h*f+e];break}var m=u-c,g=Math.random()*m+c|0,v=s[h*g+e],y=Math.random()*m+c|0,x=s[h*y+e],b=Math.random()*m+c|0,_=s[h*b+e];v&lt;=x?_&gt;=x?(d=y,p=x):v&gt;=_?(d=g,p=v):(d=b,p=_):x&gt;=_?(d=y,p=x):_&gt;=v?(d=g,p=v):(d=b,p=_);for(var w=h*(u-1),M=h*d,k=0;k&lt;h;++k,++w,++M){var A=s[w];s[w]=s[M],s[M]=A}var T=l[u-1];for(l[u-1]=l[d],l[d]=T,w=h*(u-1),M=h*(d=i(t,e,c,u-1,s,l,p)),k=0;k&lt;h;++k,++w,++M)A=s[w],s[w]=s[M],s[M]=A;if(T=l[u-1],l[u-1]=l[d],l[d]=T,f&lt;d){for(u=d-1;c&lt;u&amp;&amp;s[h*(u-1)+e]===p;)u-=1;u+=1}else{if(!(d&lt;f))break;for(c=d+1;c&lt;u&amp;&amp;s[h*c+e]===p;)c+=1}}return i(t,e,r,f,s,l,s[h*f+e])};var i=t(&quot;./partition&quot;)(&quot;lo&lt;p0&quot;,[&quot;p0&quot;]),a=8},{&quot;./partition&quot;:79}],79:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t,e){var r=&quot;abcdef&quot;.split(&quot;&quot;).concat(e),i=[];return t.indexOf(&quot;lo&quot;)&gt;=0&amp;&amp;i.push(&quot;lo=e[k+n]&quot;),t.indexOf(&quot;hi&quot;)&gt;=0&amp;&amp;i.push(&quot;hi=e[k+o]&quot;),r.push(n.replace(&quot;_&quot;,i.join()).replace(&quot;$&quot;,t)),Function.apply(void 0,r)};var n=&quot;for(var j=2*a,k=j*c,l=k,m=c,n=b,o=a+b,p=c;d&gt;p;++p,k+=j){var _;if($)if(m===p)m+=1,l+=j;else{for(var s=0;j&gt;s;++s){var t=e[k+s];e[k+s]=e[l],e[l++]=t}var u=f[p];f[p]=f[m],f[m++]=u}}return m&quot;},{}],80:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r){for(var n=2*(t+1),i=t+1;i&lt;=e;++i){for(var a=r[n++],o=r[n++],s=i,l=n-2;s-- &gt;t;){var c=r[l-2],u=r[l-1];if(c&lt;a)break;if(c===a&amp;&amp;u&lt;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&lt;i)&amp;&amp;(n!==i||r[t+1]&gt;r[e+1])}function c(t,e,r,n){var i=n[t*=2];return i&lt;e||i===e&amp;&amp;n[t+1]&lt;r}function u(t,e,r){var h=(e-t+1)/6|0,d=t+h,p=e-h,m=t+e&gt;&gt;1,g=m-h,v=m+h,y=d,x=g,b=m,_=v,w=p,M=t+1,k=e-1,A=0;l(y,x,r)&amp;&amp;(A=y,y=x,x=A),l(_,w,r)&amp;&amp;(A=_,_=w,w=A),l(y,b,r)&amp;&amp;(A=y,y=b,b=A),l(x,b,r)&amp;&amp;(A=x,x=b,b=A),l(y,_,r)&amp;&amp;(A=y,y=_,_=A),l(b,_,r)&amp;&amp;(A=b,b=_,_=A),l(x,w,r)&amp;&amp;(A=x,x=w,w=A),l(x,b,r)&amp;&amp;(A=x,x=b,b=A),l(_,w,r)&amp;&amp;(A=_,_=w,w=A);for(var T=r[2*x],S=r[2*x+1],E=r[2*_],L=r[2*_+1],C=2*y,z=2*b,D=2*w,I=2*d,P=2*m,O=2*p,F=0;F&lt;2;++F){var R=r[C+F],N=r[z+F],j=r[D+F];r[I+F]=R,r[P+F]=N,r[O+F]=j}a(g,t,r),a(v,e,r);for(var B=M;B&lt;=k;++B)if(c(B,T,S,r))B!==M&amp;&amp;i(B,M,r),++M;else if(!c(B,E,L,r))for(;;){if(c(k,E,L,r)){c(k,T,S,r)?(o(B,M,k,r),++M,--k):(i(B,k,r),--k);break}if(--k&lt;B)break}s(t,M-1,T,S,r),s(e,k+1,E,L,r),M-2-t&lt;=f?n(t,M-2,r):u(t,M-2,r),e-(k+2)&lt;=f?n(k+2,e,r):u(k+2,e,r),k-M&lt;=f?n(M,k,r):u(M,k,r)}e.exports=function(t,e){e&lt;=4*f?n(0,e-1,t):u(0,e-1,t)};var f=32},{}],81:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,n){var i=e[n],a=t[r-1];t[i]=a,e[a]=i}function i(t,e,r,n){t[r]=n,e[n]=r}e.exports={init:function(t){var e=o.nextPow2(t);c.length&lt;e&amp;&amp;(a.free(c),c=a.mallocInt32(e)),u.length&lt;e&amp;&amp;(a.free(u),u=a.mallocInt32(e)),f.length&lt;e&amp;&amp;(a.free(f),f=a.mallocInt32(e)),h.length&lt;e&amp;&amp;(a.free(h),h=a.mallocInt32(e)),d.length&lt;e&amp;&amp;(a.free(d),d=a.mallocInt32(e)),p.length&lt;e&amp;&amp;(a.free(p),p=a.mallocInt32(e));var r=8*e;m.length&lt;r&amp;&amp;(a.free(m),m=a.mallocDouble(r))},sweepBipartite:function(t,e,r,a,o,d,p,g,v,y){for(var x=0,b=2*t,_=t-1,w=b-1,M=r;M&lt;a;++M){var k=d[M],A=b*M;m[x++]=o[A+_],m[x++]=-(k+1),m[x++]=o[A+w],m[x++]=k}for(M=p;M&lt;g;++M){k=y[M]+l;var T=b*M;m[x++]=v[T+_],m[x++]=-k,m[x++]=v[T+w],m[x++]=k}var S=x&gt;&gt;&gt;1;s(m,S);var E=0,L=0;for(M=0;M&lt;S;++M){var C=0|m[2*M+1];if(C&gt;=l)n(f,h,L--,C=C-l|0);else if(C&gt;=0)n(c,u,E--,C);else if(C&lt;=-l){C=-C-l|0;for(var z=0;z&lt;E;++z)if(void 0!==(D=e(c[z],C)))return D;i(f,h,L++,C)}else{for(C=-C-1|0,z=0;z&lt;L;++z){var D;if(void 0!==(D=e(C,f[z])))return D}i(c,u,E++,C)}}},sweepComplete:function(t,e,r,a,o,l,g,v,y,x){for(var b=0,_=2*t,w=t-1,M=_-1,k=r;k&lt;a;++k){var A=l[k]+1&lt;&lt;1,T=_*k;m[b++]=o[T+w],m[b++]=-A,m[b++]=o[T+M],m[b++]=A}for(k=g;k&lt;v;++k){A=x[k]+1&lt;&lt;1;var S=_*k;m[b++]=y[S+w],m[b++]=1|-A,m[b++]=y[S+M],m[b++]=1|A}var E=b&gt;&gt;&gt;1;s(m,E);var L=0,C=0,z=0;for(k=0;k&lt;E;++k){var D=0|m[2*k+1],I=1&amp;D;if(k&lt;E-1&amp;&amp;D&gt;&gt;1==m[2*k+3]&gt;&gt;1&amp;&amp;(I=2,k+=1),D&lt;0){for(var P=-(D&gt;&gt;1)-1,O=0;O&lt;z;++O)if(void 0!==(F=e(d[O],P)))return F;if(0!==I)for(O=0;O&lt;L;++O)if(void 0!==(F=e(c[O],P)))return F;if(1!==I)for(O=0;O&lt;C;++O){var F;if(void 0!==(F=e(f[O],P)))return F}0===I?i(c,u,L++,P):1===I?i(f,h,C++,P):2===I&amp;&amp;i(d,p,z++,P)}else P=(D&gt;&gt;1)-1,0===I?n(c,u,L--,P):1===I?n(f,h,C--,P):2===I&amp;&amp;n(d,p,z--,P)}},scanBipartite:function(t,e,r,a,o,f,h,d,p,g,v,y){var x=0,b=2*t,_=e,w=e+t,M=1,k=1;a?k=l:M=l;for(var A=o;A&lt;f;++A){var T=A+M,S=b*A;m[x++]=h[S+_],m[x++]=-T,m[x++]=h[S+w],m[x++]=T}for(A=p;A&lt;g;++A){T=A+k;var E=b*A;m[x++]=v[E+_],m[x++]=-T}var L=x&gt;&gt;&gt;1;s(m,L);var C=0;for(A=0;A&lt;L;++A){var z=0|m[2*A+1];if(z&lt;0){var D=!1;if((T=-z)&gt;=l?(D=!a,T-=l):(D=!!a,T-=1),D)i(c,u,C++,T);else{var I=y[T],P=b*T,O=v[P+e+1],F=v[P+e+1+t];t:for(var R=0;R&lt;C;++R){var N=c[R],j=b*N;if(!(F&lt;h[j+e+1]||h[j+e+1+t]&lt;O)){for(var B=e+2;B&lt;t;++B)if(v[P+B+t]&lt;h[j+B]||h[j+B+t]&lt;v[P+B])continue t;var U,V=d[N];if(void 0!==(U=a?r(I,V):r(V,I)))return U}}}}else n(c,u,C--,z-M)}},scanComplete:function(t,e,r,n,i,a,o,u,f,h,d){for(var p=0,g=2*t,v=e,y=e+t,x=n;x&lt;i;++x){var b=x+l,_=g*x;m[p++]=a[_+v],m[p++]=-b,m[p++]=a[_+y],m[p++]=b}for(x=u;x&lt;f;++x){b=x+1;var w=g*x;m[p++]=h[w+v],m[p++]=-b}var M=p&gt;&gt;&gt;1;s(m,M);var k=0;for(x=0;x&lt;M;++x){var A=0|m[2*x+1];if(A&lt;0)if((b=-A)&gt;=l)c[k++]=b-l;else{var T=d[b-=1],S=g*b,E=h[S+e+1],L=h[S+e+1+t];t:for(var C=0;C&lt;k;++C){var z=c[C],D=o[z];if(D===T)break;var I=g*z;if(!(L&lt;a[I+e+1]||a[I+e+1+t]&lt;E)){for(var P=e+2;P&lt;t;++P)if(h[S+P+t]&lt;a[I+P]||a[I+P+t]&lt;h[S+P])continue t;var O=r(D,T);if(void 0!==O)return O}}}else{for(b=A-l,C=k-1;C&gt;=0;--C)if(c[C]===b){for(P=C+1;P&lt;k;++P)c[P-1]=c[P];break}--k}}}};var a=t(&quot;typedarray-pool&quot;),o=t(&quot;bit-twiddle&quot;),s=t(&quot;./sort&quot;),l=1&lt;&lt;28,c=a.mallocInt32(1024),u=a.mallocInt32(1024),f=a.mallocInt32(1024),h=a.mallocInt32(1024),d=a.mallocInt32(1024),p=a.mallocInt32(1024),m=a.mallocDouble(8192)},{&quot;./sort&quot;:80,&quot;bit-twiddle&quot;:71,&quot;typedarray-pool&quot;:554}],82:[function(t,e,r){&quot;use strict&quot;;function n(t){if(t&gt;P)throw new RangeError(&quot;Invalid typed array length&quot;);var e=new Uint8Array(t);return e.__proto__=i.prototype,e}function i(t,e,r){if(&quot;number&quot;==typeof t){if(&quot;string&quot;==typeof e)throw new Error(&quot;If encoding is specified then the first argument must be a string&quot;);return s(t)}return a(t,e,r)}function a(t,e,r){if(&quot;number&quot;==typeof t)throw new TypeError('&quot;value&quot; argument must not be a number');return t instanceof ArrayBuffer?function(t,e,r){if(e&lt;0||t.byteLength&lt;e)throw new RangeError(&quot;'offset' is out of bounds&quot;);if(t.byteLength&lt;e+(r||0))throw new RangeError(&quot;'length' is out of bounds&quot;);var n;n=void 0===e&amp;&amp;void 0===r?new Uint8Array(t):void 0===r?new Uint8Array(t,e):new Uint8Array(t,e,r);return n.__proto__=i.prototype,n}(t,e,r):&quot;string&quot;==typeof t?function(t,e){&quot;string&quot;==typeof e&amp;&amp;&quot;&quot;!==e||(e=&quot;utf8&quot;);if(!i.isEncoding(e))throw new TypeError('&quot;encoding&quot; must be a valid string encoding');var r=0|u(t,e),a=n(r),o=a.write(t,e);o!==r&amp;&amp;(a=a.slice(0,o));return a}(t,e):function(t){if(i.isBuffer(t)){var e=0|c(t.length),r=n(e);return 0===r.length?r:(t.copy(r,0,0,e),r)}if(t){if(C(t)||&quot;length&quot;in t)return&quot;number&quot;!=typeof t.length||z(t.length)?n(0):l(t);if(&quot;Buffer&quot;===t.type&amp;&amp;Array.isArray(t.data))return l(t.data)}throw new TypeError(&quot;First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.&quot;)}(t)}function o(t){if(&quot;number&quot;!=typeof t)throw new TypeError('&quot;size&quot; argument must be a number');if(t&lt;0)throw new RangeError('&quot;size&quot; argument must not be negative')}function s(t){return o(t),n(t&lt;0?0:0|c(t))}function l(t){for(var e=t.length&lt;0?0:0|c(t.length),r=n(e),i=0;i&lt;e;i+=1)r[i]=255&amp;t[i];return r}function c(t){if(t&gt;=P)throw new RangeError(&quot;Attempt to allocate Buffer larger than maximum size: 0x&quot;+P.toString(16)+&quot; bytes&quot;);return 0|t}function u(t,e){if(i.isBuffer(t))return t.length;if(C(t)||t instanceof ArrayBuffer)return t.byteLength;&quot;string&quot;!=typeof t&amp;&amp;(t=&quot;&quot;+t);var r=t.length;if(0===r)return 0;for(var n=!1;;)switch(e){case&quot;ascii&quot;:case&quot;latin1&quot;:case&quot;binary&quot;:return r;case&quot;utf8&quot;:case&quot;utf-8&quot;:case void 0:return S(t).length;case&quot;ucs2&quot;:case&quot;ucs-2&quot;:case&quot;utf16le&quot;:case&quot;utf-16le&quot;:return 2*r;case&quot;hex&quot;:return r&gt;&gt;&gt;1;case&quot;base64&quot;:return E(t).length;default:if(n)return S(t).length;e=(&quot;&quot;+e).toLowerCase(),n=!0}}function f(t,e,r){var n=!1;if((void 0===e||e&lt;0)&amp;&amp;(e=0),e&gt;this.length)return&quot;&quot;;if((void 0===r||r&gt;this.length)&amp;&amp;(r=this.length),r&lt;=0)return&quot;&quot;;if(r&gt;&gt;&gt;=0,e&gt;&gt;&gt;=0,r&lt;=e)return&quot;&quot;;for(t||(t=&quot;utf8&quot;);;)switch(t){case&quot;hex&quot;:return function(t,e,r){var n=t.length;(!e||e&lt;0)&amp;&amp;(e=0);(!r||r&lt;0||r&gt;n)&amp;&amp;(r=n);for(var i=&quot;&quot;,a=e;a&lt;r;++a)i+=function(t){return t&lt;16?&quot;0&quot;+t.toString(16):t.toString(16)}(t[a]);return i}(this,e,r);case&quot;utf8&quot;:case&quot;utf-8&quot;:return _(this,e,r);case&quot;ascii&quot;:return function(t,e,r){var n=&quot;&quot;;r=Math.min(t.length,r);for(var i=e;i&lt;r;++i)n+=String.fromCharCode(127&amp;t[i]);return n}(this,e,r);case&quot;latin1&quot;:case&quot;binary&quot;:return function(t,e,r){var n=&quot;&quot;;r=Math.min(t.length,r);for(var i=e;i&lt;r;++i)n+=String.fromCharCode(t[i]);return n}(this,e,r);case&quot;base64&quot;:return function(t,e,r){return 0===e&amp;&amp;r===t.length?D.fromByteArray(t):D.fromByteArray(t.slice(e,r))}(this,e,r);case&quot;ucs2&quot;:case&quot;ucs-2&quot;:case&quot;utf16le&quot;:case&quot;utf-16le&quot;:return function(t,e,r){for(var n=t.slice(e,r),i=&quot;&quot;,a=0;a&lt;n.length;a+=2)i+=String.fromCharCode(n[a]+256*n[a+1]);return i}(this,e,r);default:if(n)throw new TypeError(&quot;Unknown encoding: &quot;+t);t=(t+&quot;&quot;).toLowerCase(),n=!0}}function h(t,e,r){var n=t[e];t[e]=t[r],t[r]=n}function d(t,e,r,n,a){if(0===t.length)return-1;if(&quot;string&quot;==typeof r?(n=r,r=0):r&gt;2147483647?r=2147483647:r&lt;-2147483648&amp;&amp;(r=-2147483648),r=+r,z(r)&amp;&amp;(r=a?0:t.length-1),r&lt;0&amp;&amp;(r=t.length+r),r&gt;=t.length){if(a)return-1;r=t.length-1}else if(r&lt;0){if(!a)return-1;r=0}if(&quot;string&quot;==typeof e&amp;&amp;(e=i.from(e,n)),i.isBuffer(e))return 0===e.length?-1:p(t,e,r,n,a);if(&quot;number&quot;==typeof e)return e&amp;=255,&quot;function&quot;==typeof Uint8Array.prototype.indexOf?a?Uint8Array.prototype.indexOf.call(t,e,r):Uint8Array.prototype.lastIndexOf.call(t,e,r):p(t,[e],r,n,a);throw new TypeError(&quot;val must be string, number or Buffer&quot;)}function p(t,e,r,n,i){function a(t,e){return 1===o?t[e]:t.readUInt16BE(e*o)}var o=1,s=t.length,l=e.length;if(void 0!==n&amp;&amp;(&quot;ucs2&quot;===(n=String(n).toLowerCase())||&quot;ucs-2&quot;===n||&quot;utf16le&quot;===n||&quot;utf-16le&quot;===n)){if(t.length&lt;2||e.length&lt;2)return-1;o=2,s/=2,l/=2,r/=2}var c;if(i){var u=-1;for(c=r;c&lt;s;c++)if(a(t,c)===a(e,-1===u?0:c-u)){if(-1===u&amp;&amp;(u=c),c-u+1===l)return u*o}else-1!==u&amp;&amp;(c-=c-u),u=-1}else for(r+l&gt;s&amp;&amp;(r=s-l),c=r;c&gt;=0;c--){for(var f=!0,h=0;h&lt;l;h++)if(a(t,c+h)!==a(e,h)){f=!1;break}if(f)return c}return-1}function m(t,e,r,n){r=Number(r)||0;var i=t.length-r;n?(n=Number(n))&gt;i&amp;&amp;(n=i):n=i;var a=e.length;if(a%2!=0)throw new TypeError(&quot;Invalid hex string&quot;);n&gt;a/2&amp;&amp;(n=a/2);for(var o=0;o&lt;n;++o){var s=parseInt(e.substr(2*o,2),16);if(z(s))return o;t[r+o]=s}return o}function g(t,e,r,n){return L(S(e,t.length-r),t,r,n)}function v(t,e,r,n){return L(function(t){for(var e=[],r=0;r&lt;t.length;++r)e.push(255&amp;t.charCodeAt(r));return e}(e),t,r,n)}function y(t,e,r,n){return v(t,e,r,n)}function x(t,e,r,n){return L(E(e),t,r,n)}function b(t,e,r,n){return L(function(t,e){for(var r,n,i,a=[],o=0;o&lt;t.length&amp;&amp;!((e-=2)&lt;0);++o)r=t.charCodeAt(o),n=r&gt;&gt;8,i=r%256,a.push(i),a.push(n);return a}(e,t.length-r),t,r,n)}function _(t,e,r){r=Math.min(t.length,r);for(var n=[],i=e;i&lt;r;){var a=t[i],o=null,s=a&gt;239?4:a&gt;223?3:a&gt;191?2:1;if(i+s&lt;=r){var l,c,u,f;switch(s){case 1:a&lt;128&amp;&amp;(o=a);break;case 2:128==(192&amp;(l=t[i+1]))&amp;&amp;(f=(31&amp;a)&lt;&lt;6|63&amp;l)&gt;127&amp;&amp;(o=f);break;case 3:l=t[i+1],c=t[i+2],128==(192&amp;l)&amp;&amp;128==(192&amp;c)&amp;&amp;(f=(15&amp;a)&lt;&lt;12|(63&amp;l)&lt;&lt;6|63&amp;c)&gt;2047&amp;&amp;(f&lt;55296||f&gt;57343)&amp;&amp;(o=f);break;case 4:l=t[i+1],c=t[i+2],u=t[i+3],128==(192&amp;l)&amp;&amp;128==(192&amp;c)&amp;&amp;128==(192&amp;u)&amp;&amp;(f=(15&amp;a)&lt;&lt;18|(63&amp;l)&lt;&lt;12|(63&amp;c)&lt;&lt;6|63&amp;u)&gt;65535&amp;&amp;f&lt;1114112&amp;&amp;(o=f)}}null===o?(o=65533,s=1):o&gt;65535&amp;&amp;(o-=65536,n.push(o&gt;&gt;&gt;10&amp;1023|55296),o=56320|1023&amp;o),n.push(o),i+=s}return function(t){var e=t.length;if(e&lt;=O)return String.fromCharCode.apply(String,t);var r=&quot;&quot;,n=0;for(;n&lt;e;)r+=String.fromCharCode.apply(String,t.slice(n,n+=O));return r}(n)}function w(t,e,r){if(t%1!=0||t&lt;0)throw new RangeError(&quot;offset is not uint&quot;);if(t+e&gt;r)throw new RangeError(&quot;Trying to access beyond buffer length&quot;)}function M(t,e,r,n,a,o){if(!i.isBuffer(t))throw new TypeError('&quot;buffer&quot; argument must be a Buffer instance');if(e&gt;a||e&lt;o)throw new RangeError('&quot;value&quot; argument is out of bounds');if(r+n&gt;t.length)throw new RangeError(&quot;Index out of range&quot;)}function k(t,e,r,n,i,a){if(r+n&gt;t.length)throw new RangeError(&quot;Index out of range&quot;);if(r&lt;0)throw new RangeError(&quot;Index out of range&quot;)}function A(t,e,r,n,i){return e=+e,r&gt;&gt;&gt;=0,i||k(t,0,r,4),I.write(t,e,r,n,23,4),r+4}function T(t,e,r,n,i){return e=+e,r&gt;&gt;&gt;=0,i||k(t,0,r,8),I.write(t,e,r,n,52,8),r+8}function S(t,e){e=e||1/0;for(var r,n=t.length,i=null,a=[],o=0;o&lt;n;++o){if((r=t.charCodeAt(o))&gt;55295&amp;&amp;r&lt;57344){if(!i){if(r&gt;56319){(e-=3)&gt;-1&amp;&amp;a.push(239,191,189);continue}if(o+1===n){(e-=3)&gt;-1&amp;&amp;a.push(239,191,189);continue}i=r;continue}if(r&lt;56320){(e-=3)&gt;-1&amp;&amp;a.push(239,191,189),i=r;continue}r=65536+(i-55296&lt;&lt;10|r-56320)}else i&amp;&amp;(e-=3)&gt;-1&amp;&amp;a.push(239,191,189);if(i=null,r&lt;128){if((e-=1)&lt;0)break;a.push(r)}else if(r&lt;2048){if((e-=2)&lt;0)break;a.push(r&gt;&gt;6|192,63&amp;r|128)}else if(r&lt;65536){if((e-=3)&lt;0)break;a.push(r&gt;&gt;12|224,r&gt;&gt;6&amp;63|128,63&amp;r|128)}else{if(!(r&lt;1114112))throw new Error(&quot;Invalid code point&quot;);if((e-=4)&lt;0)break;a.push(r&gt;&gt;18|240,r&gt;&gt;12&amp;63|128,r&gt;&gt;6&amp;63|128,63&amp;r|128)}}return a}function E(t){return D.toByteArray(function(t){if((t=t.trim().replace(F,&quot;&quot;)).length&lt;2)return&quot;&quot;;for(;t.length%4!=0;)t+=&quot;=&quot;;return t}(t))}function L(t,e,r,n){for(var i=0;i&lt;n&amp;&amp;!(i+r&gt;=e.length||i&gt;=t.length);++i)e[i+r]=t[i];return i}function C(t){return&quot;function&quot;==typeof ArrayBuffer.isView&amp;&amp;ArrayBuffer.isView(t)}function z(t){return t!=t}var D=t(&quot;base64-js&quot;),I=t(&quot;ieee754&quot;);r.Buffer=i,r.SlowBuffer=function(t){return+t!=t&amp;&amp;(t=0),i.alloc(+t)},r.INSPECT_MAX_BYTES=50;var P=2147483647;r.kMaxLength=P,(i.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}}())||&quot;undefined&quot;==typeof console||&quot;function&quot;!=typeof console.error||console.error(&quot;This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support.&quot;),&quot;undefined&quot;!=typeof Symbol&amp;&amp;Symbol.species&amp;&amp;i[Symbol.species]===i&amp;&amp;Object.defineProperty(i,Symbol.species,{value:null,configurable:!0,enumerable:!1,writable:!1}),i.poolSize=8192,i.from=function(t,e,r){return a(t,e,r)},i.prototype.__proto__=Uint8Array.prototype,i.__proto__=Uint8Array,i.alloc=function(t,e,r){return function(t,e,r){return o(t),t&lt;=0?n(t):void 0!==e?&quot;string&quot;==typeof r?n(t).fill(e,r):n(t).fill(e):n(t)}(t,e,r)},i.allocUnsafe=function(t){return s(t)},i.allocUnsafeSlow=function(t){return s(t)},i.isBuffer=function(t){return null!=t&amp;&amp;!0===t._isBuffer},i.compare=function(t,e){if(!i.isBuffer(t)||!i.isBuffer(e))throw new TypeError(&quot;Arguments must be Buffers&quot;);if(t===e)return 0;for(var r=t.length,n=e.length,a=0,o=Math.min(r,n);a&lt;o;++a)if(t[a]!==e[a]){r=t[a],n=e[a];break}return r&lt;n?-1:n&lt;r?1:0},i.isEncoding=function(t){switch(String(t).toLowerCase()){case&quot;hex&quot;:case&quot;utf8&quot;:case&quot;utf-8&quot;:case&quot;ascii&quot;:case&quot;latin1&quot;:case&quot;binary&quot;:case&quot;base64&quot;:case&quot;ucs2&quot;:case&quot;ucs-2&quot;:case&quot;utf16le&quot;:case&quot;utf-16le&quot;:return!0;default:return!1}},i.concat=function(t,e){if(!Array.isArray(t))throw new TypeError('&quot;list&quot; argument must be an Array of Buffers');if(0===t.length)return i.alloc(0);var r;if(void 0===e)for(e=0,r=0;r&lt;t.length;++r)e+=t[r].length;var n=i.allocUnsafe(e),a=0;for(r=0;r&lt;t.length;++r){var o=t[r];if(!i.isBuffer(o))throw new TypeError('&quot;list&quot; argument must be an Array of Buffers');o.copy(n,a),a+=o.length}return n},i.byteLength=u,i.prototype._isBuffer=!0,i.prototype.swap16=function(){var t=this.length;if(t%2!=0)throw new RangeError(&quot;Buffer size must be a multiple of 16-bits&quot;);for(var e=0;e&lt;t;e+=2)h(this,e,e+1);return this},i.prototype.swap32=function(){var t=this.length;if(t%4!=0)throw new RangeError(&quot;Buffer size must be a multiple of 32-bits&quot;);for(var e=0;e&lt;t;e+=4)h(this,e,e+3),h(this,e+1,e+2);return this},i.prototype.swap64=function(){var t=this.length;if(t%8!=0)throw new RangeError(&quot;Buffer size must be a multiple of 64-bits&quot;);for(var e=0;e&lt;t;e+=8)h(this,e,e+7),h(this,e+1,e+6),h(this,e+2,e+5),h(this,e+3,e+4);return this},i.prototype.toString=function(){var t=this.length;return 0===t?&quot;&quot;:0===arguments.length?_(this,0,t):f.apply(this,arguments)},i.prototype.equals=function(t){if(!i.isBuffer(t))throw new TypeError(&quot;Argument must be a Buffer&quot;);return this===t||0===i.compare(this,t)},i.prototype.inspect=function(){var t=&quot;&quot;,e=r.INSPECT_MAX_BYTES;return this.length&gt;0&amp;&amp;(t=this.toString(&quot;hex&quot;,0,e).match(/.{2}/g).join(&quot; &quot;),this.length&gt;e&amp;&amp;(t+=&quot; ... &quot;)),&quot;&lt;Buffer &quot;+t+&quot;&gt;&quot;},i.prototype.compare=function(t,e,r,n,a){if(!i.isBuffer(t))throw new TypeError(&quot;Argument must be a Buffer&quot;);if(void 0===e&amp;&amp;(e=0),void 0===r&amp;&amp;(r=t?t.length:0),void 0===n&amp;&amp;(n=0),void 0===a&amp;&amp;(a=this.length),e&lt;0||r&gt;t.length||n&lt;0||a&gt;this.length)throw new RangeError(&quot;out of range index&quot;);if(n&gt;=a&amp;&amp;e&gt;=r)return 0;if(n&gt;=a)return-1;if(e&gt;=r)return 1;if(e&gt;&gt;&gt;=0,r&gt;&gt;&gt;=0,n&gt;&gt;&gt;=0,a&gt;&gt;&gt;=0,this===t)return 0;for(var o=a-n,s=r-e,l=Math.min(o,s),c=this.slice(n,a),u=t.slice(e,r),f=0;f&lt;l;++f)if(c[f]!==u[f]){o=c[f],s=u[f];break}return o&lt;s?-1:s&lt;o?1:0},i.prototype.includes=function(t,e,r){return-1!==this.indexOf(t,e,r)},i.prototype.indexOf=function(t,e,r){return d(this,t,e,r,!0)},i.prototype.lastIndexOf=function(t,e,r){return d(this,t,e,r,!1)},i.prototype.write=function(t,e,r,n){if(void 0===e)n=&quot;utf8&quot;,r=this.length,e=0;else if(void 0===r&amp;&amp;&quot;string&quot;==typeof e)n=e,r=this.length,e=0;else{if(!isFinite(e))throw new Error(&quot;Buffer.write(string, encoding, offset[, length]) is no longer supported&quot;);e&gt;&gt;&gt;=0,isFinite(r)?(r&gt;&gt;&gt;=0,void 0===n&amp;&amp;(n=&quot;utf8&quot;)):(n=r,r=void 0)}var i=this.length-e;if((void 0===r||r&gt;i)&amp;&amp;(r=i),t.length&gt;0&amp;&amp;(r&lt;0||e&lt;0)||e&gt;this.length)throw new RangeError(&quot;Attempt to write outside buffer bounds&quot;);n||(n=&quot;utf8&quot;);for(var a=!1;;)switch(n){case&quot;hex&quot;:return m(this,t,e,r);case&quot;utf8&quot;:case&quot;utf-8&quot;:return g(this,t,e,r);case&quot;ascii&quot;:return v(this,t,e,r);case&quot;latin1&quot;:case&quot;binary&quot;:return y(this,t,e,r);case&quot;base64&quot;:return x(this,t,e,r);case&quot;ucs2&quot;:case&quot;ucs-2&quot;:case&quot;utf16le&quot;:case&quot;utf-16le&quot;:return b(this,t,e,r);default:if(a)throw new TypeError(&quot;Unknown encoding: &quot;+n);n=(&quot;&quot;+n).toLowerCase(),a=!0}},i.prototype.toJSON=function(){return{type:&quot;Buffer&quot;,data:Array.prototype.slice.call(this._arr||this,0)}};var O=4096;i.prototype.slice=function(t,e){var r=this.length;t=~~t,e=void 0===e?r:~~e,t&lt;0?(t+=r)&lt;0&amp;&amp;(t=0):t&gt;r&amp;&amp;(t=r),e&lt;0?(e+=r)&lt;0&amp;&amp;(e=0):e&gt;r&amp;&amp;(e=r),e&lt;t&amp;&amp;(e=t);var n=this.subarray(t,e);return n.__proto__=i.prototype,n},i.prototype.readUIntLE=function(t,e,r){t&gt;&gt;&gt;=0,e&gt;&gt;&gt;=0,r||w(t,e,this.length);for(var n=this[t],i=1,a=0;++a&lt;e&amp;&amp;(i*=256);)n+=this[t+a]*i;return n},i.prototype.readUIntBE=function(t,e,r){t&gt;&gt;&gt;=0,e&gt;&gt;&gt;=0,r||w(t,e,this.length);for(var n=this[t+--e],i=1;e&gt;0&amp;&amp;(i*=256);)n+=this[t+--e]*i;return n},i.prototype.readUInt8=function(t,e){return t&gt;&gt;&gt;=0,e||w(t,1,this.length),this[t]},i.prototype.readUInt16LE=function(t,e){return t&gt;&gt;&gt;=0,e||w(t,2,this.length),this[t]|this[t+1]&lt;&lt;8},i.prototype.readUInt16BE=function(t,e){return t&gt;&gt;&gt;=0,e||w(t,2,this.length),this[t]&lt;&lt;8|this[t+1]},i.prototype.readUInt32LE=function(t,e){return t&gt;&gt;&gt;=0,e||w(t,4,this.length),(this[t]|this[t+1]&lt;&lt;8|this[t+2]&lt;&lt;16)+16777216*this[t+3]},i.prototype.readUInt32BE=function(t,e){return t&gt;&gt;&gt;=0,e||w(t,4,this.length),16777216*this[t]+(this[t+1]&lt;&lt;16|this[t+2]&lt;&lt;8|this[t+3])},i.prototype.readIntLE=function(t,e,r){t&gt;&gt;&gt;=0,e&gt;&gt;&gt;=0,r||w(t,e,this.length);for(var n=this[t],i=1,a=0;++a&lt;e&amp;&amp;(i*=256);)n+=this[t+a]*i;return i*=128,n&gt;=i&amp;&amp;(n-=Math.pow(2,8*e)),n},i.prototype.readIntBE=function(t,e,r){t&gt;&gt;&gt;=0,e&gt;&gt;&gt;=0,r||w(t,e,this.length);for(var n=e,i=1,a=this[t+--n];n&gt;0&amp;&amp;(i*=256);)a+=this[t+--n]*i;return i*=128,a&gt;=i&amp;&amp;(a-=Math.pow(2,8*e)),a},i.prototype.readInt8=function(t,e){return t&gt;&gt;&gt;=0,e||w(t,1,this.length),128&amp;this[t]?-1*(255-this[t]+1):this[t]},i.prototype.readInt16LE=function(t,e){t&gt;&gt;&gt;=0,e||w(t,2,this.length);var r=this[t]|this[t+1]&lt;&lt;8;return 32768&amp;r?4294901760|r:r},i.prototype.readInt16BE=function(t,e){t&gt;&gt;&gt;=0,e||w(t,2,this.length);var r=this[t+1]|this[t]&lt;&lt;8;return 32768&amp;r?4294901760|r:r},i.prototype.readInt32LE=function(t,e){return t&gt;&gt;&gt;=0,e||w(t,4,this.length),this[t]|this[t+1]&lt;&lt;8|this[t+2]&lt;&lt;16|this[t+3]&lt;&lt;24},i.prototype.readInt32BE=function(t,e){return t&gt;&gt;&gt;=0,e||w(t,4,this.length),this[t]&lt;&lt;24|this[t+1]&lt;&lt;16|this[t+2]&lt;&lt;8|this[t+3]},i.prototype.readFloatLE=function(t,e){return t&gt;&gt;&gt;=0,e||w(t,4,this.length),I.read(this,t,!0,23,4)},i.prototype.readFloatBE=function(t,e){return t&gt;&gt;&gt;=0,e||w(t,4,this.length),I.read(this,t,!1,23,4)},i.prototype.readDoubleLE=function(t,e){return t&gt;&gt;&gt;=0,e||w(t,8,this.length),I.read(this,t,!0,52,8)},i.prototype.readDoubleBE=function(t,e){return t&gt;&gt;&gt;=0,e||w(t,8,this.length),I.read(this,t,!1,52,8)},i.prototype.writeUIntLE=function(t,e,r,n){if(t=+t,e&gt;&gt;&gt;=0,r&gt;&gt;&gt;=0,!n){M(this,t,e,r,Math.pow(2,8*r)-1,0)}var i=1,a=0;for(this[e]=255&amp;t;++a&lt;r&amp;&amp;(i*=256);)this[e+a]=t/i&amp;255;return e+r},i.prototype.writeUIntBE=function(t,e,r,n){if(t=+t,e&gt;&gt;&gt;=0,r&gt;&gt;&gt;=0,!n){M(this,t,e,r,Math.pow(2,8*r)-1,0)}var i=r-1,a=1;for(this[e+i]=255&amp;t;--i&gt;=0&amp;&amp;(a*=256);)this[e+i]=t/a&amp;255;return e+r},i.prototype.writeUInt8=function(t,e,r){return t=+t,e&gt;&gt;&gt;=0,r||M(this,t,e,1,255,0),this[e]=255&amp;t,e+1},i.prototype.writeUInt16LE=function(t,e,r){return t=+t,e&gt;&gt;&gt;=0,r||M(this,t,e,2,65535,0),this[e]=255&amp;t,this[e+1]=t&gt;&gt;&gt;8,e+2},i.prototype.writeUInt16BE=function(t,e,r){return t=+t,e&gt;&gt;&gt;=0,r||M(this,t,e,2,65535,0),this[e]=t&gt;&gt;&gt;8,this[e+1]=255&amp;t,e+2},i.prototype.writeUInt32LE=function(t,e,r){return t=+t,e&gt;&gt;&gt;=0,r||M(this,t,e,4,4294967295,0),this[e+3]=t&gt;&gt;&gt;24,this[e+2]=t&gt;&gt;&gt;16,this[e+1]=t&gt;&gt;&gt;8,this[e]=255&amp;t,e+4},i.prototype.writeUInt32BE=function(t,e,r){return t=+t,e&gt;&gt;&gt;=0,r||M(this,t,e,4,4294967295,0),this[e]=t&gt;&gt;&gt;24,this[e+1]=t&gt;&gt;&gt;16,this[e+2]=t&gt;&gt;&gt;8,this[e+3]=255&amp;t,e+4},i.prototype.writeIntLE=function(t,e,r,n){if(t=+t,e&gt;&gt;&gt;=0,!n){var i=Math.pow(2,8*r-1);M(this,t,e,r,i-1,-i)}var a=0,o=1,s=0;for(this[e]=255&amp;t;++a&lt;r&amp;&amp;(o*=256);)t&lt;0&amp;&amp;0===s&amp;&amp;0!==this[e+a-1]&amp;&amp;(s=1),this[e+a]=(t/o&gt;&gt;0)-s&amp;255;return e+r},i.prototype.writeIntBE=function(t,e,r,n){if(t=+t,e&gt;&gt;&gt;=0,!n){var i=Math.pow(2,8*r-1);M(this,t,e,r,i-1,-i)}var a=r-1,o=1,s=0;for(this[e+a]=255&amp;t;--a&gt;=0&amp;&amp;(o*=256);)t&lt;0&amp;&amp;0===s&amp;&amp;0!==this[e+a+1]&amp;&amp;(s=1),this[e+a]=(t/o&gt;&gt;0)-s&amp;255;return e+r},i.prototype.writeInt8=function(t,e,r){return t=+t,e&gt;&gt;&gt;=0,r||M(this,t,e,1,127,-128),t&lt;0&amp;&amp;(t=255+t+1),this[e]=255&amp;t,e+1},i.prototype.writeInt16LE=function(t,e,r){return t=+t,e&gt;&gt;&gt;=0,r||M(this,t,e,2,32767,-32768),this[e]=255&amp;t,this[e+1]=t&gt;&gt;&gt;8,e+2},i.prototype.writeInt16BE=function(t,e,r){return t=+t,e&gt;&gt;&gt;=0,r||M(this,t,e,2,32767,-32768),this[e]=t&gt;&gt;&gt;8,this[e+1]=255&amp;t,e+2},i.prototype.writeInt32LE=function(t,e,r){return t=+t,e&gt;&gt;&gt;=0,r||M(this,t,e,4,2147483647,-2147483648),this[e]=255&amp;t,this[e+1]=t&gt;&gt;&gt;8,this[e+2]=t&gt;&gt;&gt;16,this[e+3]=t&gt;&gt;&gt;24,e+4},i.prototype.writeInt32BE=function(t,e,r){return t=+t,e&gt;&gt;&gt;=0,r||M(this,t,e,4,2147483647,-2147483648),t&lt;0&amp;&amp;(t=4294967295+t+1),this[e]=t&gt;&gt;&gt;24,this[e+1]=t&gt;&gt;&gt;16,this[e+2]=t&gt;&gt;&gt;8,this[e+3]=255&amp;t,e+4},i.prototype.writeFloatLE=function(t,e,r){return A(this,t,e,!0,r)},i.prototype.writeFloatBE=function(t,e,r){return A(this,t,e,!1,r)},i.prototype.writeDoubleLE=function(t,e,r){return T(this,t,e,!0,r)},i.prototype.writeDoubleBE=function(t,e,r){return T(this,t,e,!1,r)},i.prototype.copy=function(t,e,r,n){if(r||(r=0),n||0===n||(n=this.length),e&gt;=t.length&amp;&amp;(e=t.length),e||(e=0),n&gt;0&amp;&amp;n&lt;r&amp;&amp;(n=r),n===r)return 0;if(0===t.length||0===this.length)return 0;if(e&lt;0)throw new RangeError(&quot;targetStart out of bounds&quot;);if(r&lt;0||r&gt;=this.length)throw new RangeError(&quot;sourceStart out of bounds&quot;);if(n&lt;0)throw new RangeError(&quot;sourceEnd out of bounds&quot;);n&gt;this.length&amp;&amp;(n=this.length),t.length-e&lt;n-r&amp;&amp;(n=t.length-e+r);var i,a=n-r;if(this===t&amp;&amp;r&lt;e&amp;&amp;e&lt;n)for(i=a-1;i&gt;=0;--i)t[i+e]=this[i+r];else if(a&lt;1e3)for(i=0;i&lt;a;++i)t[i+e]=this[i+r];else Uint8Array.prototype.set.call(t,this.subarray(r,r+a),e);return a},i.prototype.fill=function(t,e,r,n){if(&quot;string&quot;==typeof t){if(&quot;string&quot;==typeof e?(n=e,e=0,r=this.length):&quot;string&quot;==typeof r&amp;&amp;(n=r,r=this.length),1===t.length){var a=t.charCodeAt(0);a&lt;256&amp;&amp;(t=a)}if(void 0!==n&amp;&amp;&quot;string&quot;!=typeof n)throw new TypeError(&quot;encoding must be a string&quot;);if(&quot;string&quot;==typeof n&amp;&amp;!i.isEncoding(n))throw new TypeError(&quot;Unknown encoding: &quot;+n)}else&quot;number&quot;==typeof t&amp;&amp;(t&amp;=255);if(e&lt;0||this.length&lt;e||this.length&lt;r)throw new RangeError(&quot;Out of range index&quot;);if(r&lt;=e)return this;e&gt;&gt;&gt;=0,r=void 0===r?this.length:r&gt;&gt;&gt;0,t||(t=0);var o;if(&quot;number&quot;==typeof t)for(o=e;o&lt;r;++o)this[o]=t;else{var s=i.isBuffer(t)?t:new i(t,n),l=s.length;for(o=0;o&lt;r-e;++o)this[o+e]=s[o%l]}return this};var F=/[^+/0-9A-Za-z-_]/g},{&quot;base64-js&quot;:83,ieee754:277}],83:[function(t,e,r){&quot;use strict&quot;;function n(t){var e=t.length;if(e%4&gt;0)throw new Error(&quot;Invalid string. Length must be a multiple of 4&quot;);return&quot;=&quot;===t[e-2]?2:&quot;=&quot;===t[e-1]?1:0}function i(t){return o[t&gt;&gt;18&amp;63]+o[t&gt;&gt;12&amp;63]+o[t&gt;&gt;6&amp;63]+o[63&amp;t]}function a(t,e,r){for(var n,a=[],o=e;o&lt;r;o+=3)n=(t[o]&lt;&lt;16)+(t[o+1]&lt;&lt;8)+t[o+2],a.push(i(n));return a.join(&quot;&quot;)}r.byteLength=function(t){return 3*t.length/4-n(t)},r.toByteArray=function(t){var e,r,i,a,o,c,u=t.length;o=n(t),c=new l(3*u/4-o),i=o&gt;0?u-4:u;var f=0;for(e=0,r=0;e&lt;i;e+=4,r+=3)a=s[t.charCodeAt(e)]&lt;&lt;18|s[t.charCodeAt(e+1)]&lt;&lt;12|s[t.charCodeAt(e+2)]&lt;&lt;6|s[t.charCodeAt(e+3)],c[f++]=a&gt;&gt;16&amp;255,c[f++]=a&gt;&gt;8&amp;255,c[f++]=255&amp;a;return 2===o?(a=s[t.charCodeAt(e)]&lt;&lt;2|s[t.charCodeAt(e+1)]&gt;&gt;4,c[f++]=255&amp;a):1===o&amp;&amp;(a=s[t.charCodeAt(e)]&lt;&lt;10|s[t.charCodeAt(e+1)]&lt;&lt;4|s[t.charCodeAt(e+2)]&gt;&gt;2,c[f++]=a&gt;&gt;8&amp;255,c[f++]=255&amp;a),c},r.fromByteArray=function(t){for(var e,r=t.length,n=r%3,i=&quot;&quot;,s=[],l=0,c=r-n;l&lt;c;l+=16383)s.push(a(t,l,l+16383&gt;c?c:l+16383));return 1===n?(e=t[r-1],i+=o[e&gt;&gt;2],i+=o[e&lt;&lt;4&amp;63],i+=&quot;==&quot;):2===n&amp;&amp;(e=(t[r-2]&lt;&lt;8)+t[r-1],i+=o[e&gt;&gt;10],i+=o[e&gt;&gt;4&amp;63],i+=o[e&lt;&lt;2&amp;63],i+=&quot;=&quot;),s.push(i),s.join(&quot;&quot;)};for(var o=[],s=[],l=&quot;undefined&quot;!=typeof Uint8Array?Uint8Array:Array,c=&quot;ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/&quot;,u=0,f=c.length;u&lt;f;++u)o[u]=c[u],s[c.charCodeAt(u)]=u;s[&quot;-&quot;.charCodeAt(0)]=62,s[&quot;_&quot;.charCodeAt(0)]=63},{}],84:[function(t,e,r){&quot;use strict&quot;;function n(t){return[Math.min(t[0],t[1]),Math.max(t[0],t[1])]}function i(t,e){return t[0]-e[0]||t[1]-e[1]}function a(t,e,r){return e in t?t[e]:r}var o=t(&quot;./lib/monotone&quot;),s=t(&quot;./lib/triangulation&quot;),l=t(&quot;./lib/delaunay&quot;),c=t(&quot;./lib/filter&quot;);e.exports=function(t,e,r){Array.isArray(e)?(r=r||{},e=e||[]):(r=e||{},e=[]);var u=!!a(r,&quot;delaunay&quot;,!0),f=!!a(r,&quot;interior&quot;,!0),h=!!a(r,&quot;exterior&quot;,!0),d=!!a(r,&quot;infinity&quot;,!1);if(!f&amp;&amp;!h||0===t.length)return[];var p=o(t,e);if(u||f!==h||d){for(var m=s(t.length,function(t){return t.map(n).sort(i)}(e)),g=0;g&lt;p.length;++g){var v=p[g];m.addTriangle(v[0],v[1],v[2])}return u&amp;&amp;l(t,m),h?f?d?c(m,0,d):m.cells():c(m,1,d):c(m,-1)}return p}},{&quot;./lib/delaunay&quot;:85,&quot;./lib/filter&quot;:86,&quot;./lib/monotone&quot;:87,&quot;./lib/triangulation&quot;:88}],85:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,n,a,o){var s=e.opposite(n,a);if(!(s&lt;0)){if(a&lt;n){var l=n;n=a,a=l,l=o,o=s,s=l}e.isConstraint(n,a)||i(t[n],t[a],t[o],t[s])&lt;0&amp;&amp;r.push(n,a)}}var i=t(&quot;robust-in-sphere&quot;)[4];t(&quot;binary-search-bounds&quot;);e.exports=function(t,e){for(var r=[],a=t.length,o=e.stars,s=0;s&lt;a;++s)for(var l=o[s],c=1;c&lt;l.length;c+=2)if(!((d=l[c])&lt;s||e.isConstraint(s,d))){for(var u=l[c-1],f=-1,h=1;h&lt;l.length;h+=2)if(l[h-1]===d){f=l[h];break}f&lt;0||i(t[s],t[d],t[u],t[f])&lt;0&amp;&amp;r.push(s,d)}for(;r.length&gt;0;){for(var d=r.pop(),p=(u=-1,f=-1,l=o[s=r.pop()],1);p&lt;l.length;p+=2){var m=l[p-1],g=l[p];m===d?f=g:g===d&amp;&amp;(u=m)}u&lt;0||f&lt;0||i(t[s],t[d],t[u],t[f])&gt;=0||(e.flip(s,d),n(t,e,r,u,s,f),n(t,e,r,s,f,u),n(t,e,r,f,d,u),n(t,e,r,d,u,f))}}},{&quot;binary-search-bounds&quot;:89,&quot;robust-in-sphere&quot;:513}],86:[function(t,e,r){&quot;use strict&quot;;function n(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 i(t,e){return t[0]-e[0]||t[1]-e[1]||t[2]-e[2]}var a=t(&quot;binary-search-bounds&quot;);e.exports=function(t,e,r){var a=function(t,e){for(var r=t.cells(),a=r.length,o=0;o&lt;a;++o){var s=(v=r[o])[0],l=v[1],c=v[2];l&lt;c?l&lt;s&amp;&amp;(v[0]=l,v[1]=c,v[2]=s):c&lt;s&amp;&amp;(v[0]=c,v[1]=s,v[2]=l)}r.sort(i);var u=new Array(a);for(o=0;o&lt;u.length;++o)u[o]=0;var f=[],h=[],d=new Array(3*a),p=new Array(3*a),m=null;e&amp;&amp;(m=[]);var g=new n(r,d,p,u,f,h,m);for(o=0;o&lt;a;++o)for(var v=r[o],y=0;y&lt;3;++y){s=v[y],l=v[(y+1)%3];var x=d[3*o+y]=g.locate(l,s,t.opposite(l,s)),b=p[3*o+y]=t.isConstraint(s,l);x&lt;0&amp;&amp;(b?h.push(o):(f.push(o),u[o]=1),e&amp;&amp;m.push([l,s,-1]))}return g}(t,r);if(0===e)return r?a.cells.concat(a.boundary):a.cells;for(var o=1,s=a.active,l=a.next,c=a.flags,u=a.cells,f=a.constraint,h=a.neighbor;s.length&gt;0||l.length&gt;0;){for(;s.length&gt;0;){var d=s.pop();if(c[d]!==-o){c[d]=o,u[d];for(var p=0;p&lt;3;++p){var m=h[3*d+p];m&gt;=0&amp;&amp;0===c[m]&amp;&amp;(f[3*d+p]?l.push(m):(s.push(m),c[m]=o))}}}var g=l;l=s,s=g,l.length=0,o=-o}var v=function(t,e,r){for(var n=0,i=0;i&lt;t.length;++i)e[i]===r&amp;&amp;(t[n++]=t[i]);return t.length=n,t}(u,c,e);return r?v.concat(a.boundary):v};n.prototype.locate=function(){var t=[0,0,0];return function(e,r,n){var o=e,s=r,l=n;return r&lt;n?r&lt;e&amp;&amp;(o=r,s=n,l=e):n&lt;e&amp;&amp;(o=n,s=e,l=r),o&lt;0?-1:(t[0]=o,t[1]=s,t[2]=l,a.eq(this.cells,t,i))}}()},{&quot;binary-search-bounds&quot;:89}],87:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,n,i){this.a=t,this.b=e,this.idx=r,this.lowerIds=n,this.upperIds=i}function i(t,e,r,n){this.a=t,this.b=e,this.type=r,this.idx=n}function a(t,e){var r=t.a[0]-e.a[0]||t.a[1]-e.a[1]||t.type-e.type;return r||(t.type!==d&amp;&amp;(r=h(t.a,t.b,e.b))?r:t.idx-e.idx)}function o(t,e){return h(t.a,t.b,e)}function s(t,e,r,n,i){for(var a=f.lt(e,n,o),s=f.gt(e,n,o),l=a;l&lt;s;++l){for(var c=e[l],u=c.lowerIds,d=u.length;d&gt;1&amp;&amp;h(r[u[d-2]],r[u[d-1]],n)&gt;0;)t.push([u[d-1],u[d-2],i]),d-=1;u.length=d,u.push(i);var p=c.upperIds;for(d=p.length;d&gt;1&amp;&amp;h(r[p[d-2]],r[p[d-1]],n)&lt;0;)t.push([p[d-2],p[d-1],i]),d-=1;p.length=d,p.push(i)}}function l(t,e){var r;return(r=t.a[0]&lt;e.a[0]?h(t.a,t.b,e.a):h(e.b,e.a,t.a))?r:(r=e.b[0]&lt;t.b[0]?h(t.a,t.b,e.b):h(e.b,e.a,t.b))||t.idx-e.idx}function c(t,e,r){var i=f.le(t,r,l),a=t[i],o=a.upperIds,s=o[o.length-1];a.upperIds=[s],t.splice(i+1,0,new n(r.a,r.b,r.idx,[s],o))}function u(t,e,r){var n=r.a;r.a=r.b,r.b=n;var i=f.eq(t,r,l),a=t[i];t[i-1].upperIds=a.upperIds,t.splice(i,1)}var f=t(&quot;binary-search-bounds&quot;),h=t(&quot;robust-orientation&quot;)[3],d=0,p=1,m=2;e.exports=function(t,e){for(var r=t.length,o=e.length,l=[],f=0;f&lt;r;++f)l.push(new i(t[f],null,d,f));for(f=0;f&lt;o;++f){var h=e[f],g=t[h[0]],v=t[h[1]];g[0]&lt;v[0]?l.push(new i(g,v,m,f),new i(v,g,p,f)):g[0]&gt;v[0]&amp;&amp;l.push(new i(v,g,m,f),new i(g,v,p,f))}l.sort(a);for(var y=l[0].a[0]-(1+Math.abs(l[0].a[0]))*Math.pow(2,-52),x=[new n([y,1],[y,0],-1,[],[],[],[])],b=[],_=(f=0,l.length);f&lt;_;++f){var w=l[f],M=w.type;M===d?s(b,x,t,w.a,w.idx):M===m?c(x,0,w):u(x,0,w)}return b}},{&quot;binary-search-bounds&quot;:89,&quot;robust-orientation&quot;:515}],88:[function(t,e,r){&quot;use strict&quot;;function n(t,e){this.stars=t,this.edges=e}function i(t,e,r){for(var n=1,i=t.length;n&lt;i;n+=2)if(t[n-1]===e&amp;&amp;t[n]===r)return t[n-1]=t[i-2],t[n]=t[i-1],void(t.length=i-2)}var a=t(&quot;binary-search-bounds&quot;);e.exports=function(t,e){for(var r=new Array(t),i=0;i&lt;t;++i)r[i]=[];return new n(r,e)};var o=n.prototype;o.isConstraint=function(){function t(t,e){return t[0]-e[0]||t[1]-e[1]}var e=[0,0];return function(r,n){return e[0]=Math.min(r,n),e[1]=Math.max(r,n),a.eq(this.edges,e,t)&gt;=0}}(),o.removeTriangle=function(t,e,r){var n=this.stars;i(n[t],e,r),i(n[e],r,t),i(n[r],t,e)},o.addTriangle=function(t,e,r){var n=this.stars;n[t].push(e,r),n[e].push(r,t),n[r].push(t,e)},o.opposite=function(t,e){for(var r=this.stars[e],n=1,i=r.length;n&lt;i;n+=2)if(r[n]===t)return r[n-1];return-1},o.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)},o.edges=function(){for(var t=this.stars,e=[],r=0,n=t.length;r&lt;n;++r)for(var i=t[r],a=0,o=i.length;a&lt;o;a+=2)e.push([i[a],i[a+1]]);return e},o.cells=function(){for(var t=this.stars,e=[],r=0,n=t.length;r&lt;n;++r)for(var i=t[r],a=0,o=i.length;a&lt;o;a+=2){var s=i[a],l=i[a+1];r&lt;Math.min(s,l)&amp;&amp;e.push([r,s,l])}return e}},{&quot;binary-search-bounds&quot;:89}],89:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,n,i){var a=[&quot;function &quot;,t,&quot;(a,l,h,&quot;,n.join(&quot;,&quot;),&quot;){&quot;,i?&quot;&quot;:&quot;var i=&quot;,r?&quot;l-1&quot;:&quot;h+1&quot;,&quot;;while(l&lt;=h){var m=(l+h)&gt;&gt;&gt;1,x=a[m]&quot;];return i?e.indexOf(&quot;c&quot;)&lt;0?a.push(&quot;;if(x===y){return m}else if(x&lt;=y){&quot;):a.push(&quot;;var p=c(x,y);if(p===0){return m}else if(p&lt;=0){&quot;):a.push(&quot;;if(&quot;,e,&quot;){i=m;&quot;),r?a.push(&quot;l=m+1}else{h=m-1}&quot;):a.push(&quot;h=m-1}else{l=m+1}&quot;),a.push(&quot;}&quot;),i?a.push(&quot;return -1};&quot;):a.push(&quot;return i};&quot;),a.join(&quot;&quot;)}function i(t,e,r,i){return new Function([n(&quot;A&quot;,&quot;x&quot;+t+&quot;y&quot;,e,[&quot;y&quot;],i),n(&quot;P&quot;,&quot;c(x,y)&quot;+t+&quot;0&quot;,e,[&quot;y&quot;,&quot;c&quot;],i),&quot;function dispatchBsearch&quot;,r,&quot;(a,y,c,l,h){if(typeof(c)==='function'){return P(a,(l===void 0)?0:l|0,(h===void 0)?a.length-1:h|0,y,c)}else{return A(a,(c===void 0)?0:c|0,(l===void 0)?a.length-1:l|0,y)}}return dispatchBsearch&quot;,r].join(&quot;&quot;))()}e.exports={ge:i(&quot;&gt;=&quot;,!1,&quot;GE&quot;),gt:i(&quot;&gt;&quot;,!1,&quot;GT&quot;),lt:i(&quot;&lt;&quot;,!0,&quot;LT&quot;),le:i(&quot;&lt;=&quot;,!0,&quot;LE&quot;),eq:i(&quot;-&quot;,!0,&quot;EQ&quot;,!0)}},{}],90:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t){for(var e=1,r=1;r&lt;t.length;++r)for(var n=0;n&lt;r;++n)if(t[r]&lt;t[n])e=-e;else if(t[n]===t[r])return 0;return e}},{}],91:[function(t,e,r){&quot;use strict&quot;;function n(t,e){for(var r=0,n=t.length,i=0;i&lt;n;++i)r+=t[i]*e[i];return r}function i(t){var e=t.length;if(0===e)return[];t[0].length;var r=o([t.length+1,t.length+1],1),i=o([t.length+1],1);r[e][e]=0;for(var a=0;a&lt;e;++a){for(var l=0;l&lt;=a;++l)r[l][a]=r[a][l]=2*n(t[a],t[l]);i[a]=n(t[a],t[a])}var c=s(r,i),u=0,f=c[e+1];for(a=0;a&lt;f.length;++a)u+=f[a];var h=new Array(e);for(a=0;a&lt;e;++a){f=c[a];var d=0;for(l=0;l&lt;f.length;++l)d+=f[l];h[a]=d/u}return h}function a(t){if(0===t.length)return[];for(var e=t[0].length,r=o([e]),n=i(t),a=0;a&lt;t.length;++a)for(var s=0;s&lt;e;++s)r[s]+=t[a][s]*n[a];return r}var o=t(&quot;dup&quot;),s=t(&quot;robust-linear-solve&quot;);a.barycenetric=i,e.exports=a},{dup:134,&quot;robust-linear-solve&quot;:514}],92:[function(t,e,r){e.exports=function(t){for(var e=n(t),r=0,i=0;i&lt;t.length;++i)for(var a=t[i],o=0;o&lt;e.length;++o)r+=Math.pow(a[o]-e[o],2);return Math.sqrt(r/t.length)};var n=t(&quot;circumcenter&quot;)},{circumcenter:91}],93:[function(t,e,r){e.exports=function(t,e,r){return e&lt;r?t&lt;e?e:t&gt;r?r:t:t&lt;r?r:t&gt;e?e:t}},{}],94:[function(t,e,r){&quot;use strict&quot;;function n(t){var e=m(t);return[v(e,-1/0),v(e,1/0)]}function i(t){for(var e=new Array(t.length),r=0;r&lt;t.length;++r){var n=t[r];e[r]=[v(n[0],-1/0),v(n[1],-1/0),v(n[0],1/0),v(n[1],1/0)]}return e}function a(t,e,r){for(var i=e.length,a=new u(i),o=[],s=0;s&lt;e.length;++s){var l=e[s],c=n(l[0]),h=n(l[1]);o.push([v(c[0],-1/0),v(h[0],-1/0),v(c[1],1/0),v(h[1],1/0)])}f(o,function(t,e){a.link(t,e)});var d=!0,p=new Array(i);for(s=0;s&lt;i;++s){(g=a.find(s))!==s&amp;&amp;(d=!1,t[g]=[Math.min(t[s][0],t[g][0]),Math.min(t[s][1],t[g][1])])}if(d)return null;var m=0;for(s=0;s&lt;i;++s){var g;(g=a.find(s))===s?(p[s]=m,t[m++]=t[s]):p[s]=-1}t.length=m;for(s=0;s&lt;i;++s)p[s]&lt;0&amp;&amp;(p[s]=p[a.find(s)]);return p}function o(t,e){return t[0]-e[0]||t[1]-e[1]}function s(t,e){var r=t[0]-e[0]||t[1]-e[1];return r||(t[2]&lt;e[2]?-1:t[2]&gt;e[2]?1:0)}function l(t,e,r){if(0!==t.length){if(e)for(var n=0;n&lt;t.length;++n){var i=e[(l=t[n])[0]],a=e[l[1]];l[0]=Math.min(i,a),l[1]=Math.max(i,a)}else for(n=0;n&lt;t.length;++n){var l;i=(l=t[n])[0],a=l[1];l[0]=Math.min(i,a),l[1]=Math.max(i,a)}r?t.sort(s):t.sort(o);var c=1;for(n=1;n&lt;t.length;++n){var u=t[n-1],f=t[n];(f[0]!==u[0]||f[1]!==u[1]||r&amp;&amp;f[2]!==u[2])&amp;&amp;(t[c++]=f)}t.length=c}}function c(t,e,r){var n=function(t,e){for(var r=new Array(e.length),n=0;n&lt;e.length;++n){var i=e[n],a=t[i[0]],o=t[i[1]];r[n]=[v(Math.min(a[0],o[0]),-1/0),v(Math.min(a[1],o[1]),-1/0),v(Math.max(a[0],o[0]),1/0),v(Math.max(a[1],o[1]),1/0)]}return r}(t,e),o=function(t,e,r){var n=[];return f(r,function(r,i){var a=e[r],o=e[i];if(a[0]!==o[0]&amp;&amp;a[0]!==o[1]&amp;&amp;a[1]!==o[0]&amp;&amp;a[1]!==o[1]){var s=t[a[0]],l=t[a[1]],c=t[o[0]],u=t[o[1]];h(s,l,c,u)&amp;&amp;n.push([r,i])}}),n}(t,e,n),s=i(t),c=function(t,e,r,n){var i=[];return f(r,n,function(r,n){var a=e[r];if(a[0]!==n&amp;&amp;a[1]!==n){var o=t[n],s=t[a[0]],l=t[a[1]];h(s,l,o,o)&amp;&amp;i.push([r,n])}}),i}(t,e,n,s),u=a(t,function(t,e,r,n,i){var a,o,s=t.map(function(t){return[d(t[0]),d(t[1])]});for(a=0;a&lt;r.length;++a){var l=r[a];o=l[0];var c=l[1],u=e[o],f=e[c],h=y(g(t[u[0]]),g(t[u[1]]),g(t[f[0]]),g(t[f[1]]));if(h){var v=t.length;t.push([m(h[0]),m(h[1])]),s.push(h),n.push([o,v],[c,v])}}for(n.sort(function(t,e){if(t[0]!==e[0])return t[0]-e[0];var r=s[t[1]],n=s[e[1]];return p(r[0],n[0])||p(r[1],n[1])}),a=n.length-1;a&gt;=0;--a){var x=e[o=(S=n[a])[0]],b=x[0],_=x[1],w=t[b],M=t[_];if((w[0]-M[0]||w[1]-M[1])&lt;0){var k=b;b=_,_=k}x[0]=b;var A,T=x[1]=S[1];for(i&amp;&amp;(A=x[2]);a&gt;0&amp;&amp;n[a-1][0]===o;){var S,E=(S=n[--a])[1];i?e.push([T,E,A]):e.push([T,E]),T=E}i?e.push([T,_,A]):e.push([T,_])}return s}(t,e,o,c,r));return l(e,u,r),!!u||(o.length&gt;0||c.length&gt;0)}e.exports=function(t,e,r){var n;if(r){n=e;for(var o=new Array(e.length),s=0;s&lt;e.length;++s){var u=e[s];o[s]=[u[0],u[1],r[s]]}e=o}for(var f=function(t,e,r){var n=a(t,[],i(t));return l(e,n,r),!!n}(t,e,!!r);c(t,e,!!r);)f=!0;if(r&amp;&amp;f)for(n.length=0,r.length=0,s=0;s&lt;e.length;++s)u=e[s],n.push([u[0],u[1]]),r.push(u[2]);return f};var u=t(&quot;union-find&quot;),f=t(&quot;box-intersect&quot;),h=t(&quot;robust-segment-intersect&quot;),d=t(&quot;big-rat&quot;),p=t(&quot;big-rat/cmp&quot;),m=t(&quot;big-rat/to-float&quot;),g=t(&quot;rat-vec&quot;),v=t(&quot;nextafter&quot;),y=t(&quot;./lib/rat-seg-intersect&quot;)},{&quot;./lib/rat-seg-intersect&quot;:95,&quot;big-rat&quot;:57,&quot;big-rat/cmp&quot;:55,&quot;big-rat/to-float&quot;:69,&quot;box-intersect&quot;:75,nextafter:459,&quot;rat-vec&quot;:496,&quot;robust-segment-intersect&quot;:518,&quot;union-find&quot;:555}],95:[function(t,e,r){&quot;use strict&quot;;function n(t,e){return o(i(t[0],e[1]),i(t[1],e[0]))}e.exports=function(t,e,r,i){var o=l(e,t),f=l(i,r),h=n(o,f);if(0===s(h))return null;var d=n(f,l(t,r)),p=a(d,h),m=u(o,p);return c(t,m)};var i=t(&quot;big-rat/mul&quot;),a=t(&quot;big-rat/div&quot;),o=t(&quot;big-rat/sub&quot;),s=t(&quot;big-rat/sign&quot;),l=t(&quot;rat-vec/sub&quot;),c=t(&quot;rat-vec/add&quot;),u=t(&quot;rat-vec/muls&quot;)},{&quot;big-rat/div&quot;:56,&quot;big-rat/mul&quot;:66,&quot;big-rat/sign&quot;:67,&quot;big-rat/sub&quot;:68,&quot;rat-vec/add&quot;:495,&quot;rat-vec/muls&quot;:497,&quot;rat-vec/sub&quot;:498}],96:[function(t,e,r){(function(t){var r=function(){&quot;use strict&quot;;function e(r,i,a,o){function s(r,a){if(null===r)return null;if(0==a)return r;var f,h;if(&quot;object&quot;!=typeof r)return r;if(e.__isArray(r))f=[];else if(e.__isRegExp(r))f=new RegExp(r.source,n(r)),r.lastIndex&amp;&amp;(f.lastIndex=r.lastIndex);else if(e.__isDate(r))f=new Date(r.getTime());else{if(u&amp;&amp;t.isBuffer(r))return f=new t(r.length),r.copy(f),f;void 0===o?(h=Object.getPrototypeOf(r),f=Object.create(h)):(f=Object.create(o),h=o)}if(i){var d=l.indexOf(r);if(-1!=d)return c[d];l.push(r),c.push(f)}for(var p in r){var m;h&amp;&amp;(m=Object.getOwnPropertyDescriptor(h,p)),m&amp;&amp;null==m.set||(f[p]=s(r[p],a-1))}return f}&quot;object&quot;==typeof i&amp;&amp;(a=i.depth,o=i.prototype,i.filter,i=i.circular);var l=[],c=[],u=void 0!==t;return void 0===i&amp;&amp;(i=!0),void 0===a&amp;&amp;(a=1/0),s(r,a)}function r(t){return Object.prototype.toString.call(t)}function n(t){var e=&quot;&quot;;return t.global&amp;&amp;(e+=&quot;g&quot;),t.ignoreCase&amp;&amp;(e+=&quot;i&quot;),t.multiline&amp;&amp;(e+=&quot;m&quot;),e}return e.clonePrototype=function(t){if(null===t)return null;var e=function(){};return e.prototype=t,new e},e.__objToStr=r,e.__isDate=function(t){return&quot;object&quot;==typeof t&amp;&amp;&quot;[object Date]&quot;===r(t)},e.__isArray=function(t){return&quot;object&quot;==typeof t&amp;&amp;&quot;[object Array]&quot;===r(t)},e.__isRegExp=function(t){return&quot;object&quot;==typeof t&amp;&amp;&quot;[object RegExp]&quot;===r(t)},e.__getRegExpFlags=n,e}();&quot;object&quot;==typeof e&amp;&amp;e.exports&amp;&amp;(e.exports=r)}).call(this,t(&quot;buffer&quot;).Buffer)},{buffer:82}],97:[function(t,e,r){&quot;use strict&quot;;function n(t,e){null==e&amp;&amp;(e=!0);var r=t[0],n=t[1],a=t[2],o=t[3];null==o&amp;&amp;(o=e?1:255),e&amp;&amp;(r*=255,n*=255,a*=255,o*=255);return 16777216*(r=255&amp;i(r,0,255))+((n=255&amp;i(n,0,255))&lt;&lt;16)+((a=255&amp;i(a,0,255))&lt;&lt;8)+(o=255&amp;i(o,0,255))}var i=t(&quot;clamp&quot;);e.exports=n,e.exports.to=n,e.exports.from=function(t,e){var r=(t=+t)&gt;&gt;&gt;24,n=(16711680&amp;t)&gt;&gt;&gt;16,i=(65280&amp;t)&gt;&gt;&gt;8,a=255&amp;t;return!1===e?[r,n,i,a]:[r/255,n/255,i/255,a/255]}},{clamp:93}],98:[function(t,e,r){&quot;use strict&quot;;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]}},{}],99:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;color-rgba&quot;),i=t(&quot;clamp&quot;),a=t(&quot;dtype&quot;);e.exports=function(t,e){&quot;float&quot;!==e&amp;&amp;e||(e=&quot;array&quot;),&quot;uint&quot;===e&amp;&amp;(e=&quot;uint8&quot;),&quot;uint_clamped&quot;===e&amp;&amp;(e=&quot;uint8_clamped&quot;);var r=a(e),o=new r(4);if(t instanceof r)return Array.isArray(t)?t.slice():(o.set(t),o);var s=&quot;uint8&quot;!==e&amp;&amp;&quot;uint8_clamped&quot;!==e;return t instanceof Uint8Array||t instanceof Uint8ClampedArray?(o[0]=t[0],o[1]=t[1],o[2]=t[2],o[3]=null!=t[3]?t[3]:255,s&amp;&amp;(o[0]/=255,o[1]/=255,o[2]/=255,o[3]/=255),o):(t.length&amp;&amp;&quot;string&quot;!=typeof t||((t=n(t))[0]/=255,t[1]/=255,t[2]/=255),s?(o[0]=t[0],o[1]=t[1],o[2]=t[2],o[3]=null!=t[3]?t[3]:1):(o[0]=i(Math.round(255*t[0]),0,255),o[1]=i(Math.round(255*t[1]),0,255),o[2]=i(Math.round(255*t[2]),0,255),o[3]=null==t[3]?255:i(Math.floor(255*t[3]),0,255)),o)}},{clamp:93,&quot;color-rgba&quot;:101,dtype:133}],100:[function(t,e,r){(function(r){&quot;use strict&quot;;var n=t(&quot;color-name&quot;),i=t(&quot;is-plain-obj&quot;),a=t(&quot;defined&quot;);e.exports=function(t){var e,s,l=[],c=1;if(&quot;string&quot;==typeof t)if(n[t])l=n[t].slice(),s=&quot;rgb&quot;;else if(&quot;transparent&quot;===t)c=0,s=&quot;rgb&quot;,l=[0,0,0];else if(/^#[A-Fa-f0-9]+$/.test(t)){var u=t.slice(1);c=1,(h=u.length)&lt;=4?(l=[parseInt(u[0]+u[0],16),parseInt(u[1]+u[1],16),parseInt(u[2]+u[2],16)],4===h&amp;&amp;(c=parseInt(u[3]+u[3],16)/255)):(l=[parseInt(u[0]+u[1],16),parseInt(u[2]+u[3],16),parseInt(u[4]+u[5],16)],8===h&amp;&amp;(c=parseInt(u[6]+u[7],16)/255)),l[0]||(l[0]=0),l[1]||(l[1]=0),l[2]||(l[2]=0),s=&quot;rgb&quot;}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];s=u=f.replace(/a$/,&quot;&quot;);var h=&quot;cmyk&quot;===u?4:&quot;gray&quot;===u?1:3;l=e[2].trim().split(/\s*,\s*/).map(function(t,e){if(/%$/.test(t))return e===h?parseFloat(t)/100:&quot;rgb&quot;===u?255*parseFloat(t)/100:parseFloat(t);if(&quot;h&quot;===u[e]){if(/deg$/.test(t))return parseFloat(t);if(void 0!==o[t])return o[t]}return parseFloat(t)}),f===u&amp;&amp;l.push(1),c=void 0===l[h]?1:l[h],l=l.slice(0,h)}else t.length&gt;10&amp;&amp;/[0-9](?:\s|\/)/.test(t)&amp;&amp;(l=t.match(/([0-9]+)/g).map(function(t){return parseFloat(t)}),s=t.match(/([a-z])/gi).join(&quot;&quot;).toLowerCase());else if(&quot;number&quot;==typeof t)s=&quot;rgb&quot;,l=[t&gt;&gt;&gt;16,(65280&amp;t)&gt;&gt;&gt;8,255&amp;t];else if(i(t)){var d=a(t.r,t.red,t.R,null);null!==d?(s=&quot;rgb&quot;,l=[d,a(t.g,t.green,t.G),a(t.b,t.blue,t.B)]):(s=&quot;hsl&quot;,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&amp;&amp;(c/=100)}else(Array.isArray(t)||r.ArrayBuffer&amp;&amp;ArrayBuffer.isView&amp;&amp;ArrayBuffer.isView(t))&amp;&amp;(l=[t[0],t[1],t[2]],s=&quot;rgb&quot;,c=4===t.length?t[3]:1);return{space:s,values:l,alpha:c}};var o={red:0,orange:60,yellow:120,green:180,blue:240,purple:300}}).call(this,&quot;undefined&quot;!=typeof global?global:&quot;undefined&quot;!=typeof self?self:&quot;undefined&quot;!=typeof window?window:{})},{&quot;color-name&quot;:98,defined:129,&quot;is-plain-obj&quot;:286}],101:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;color-parse&quot;),i=t(&quot;color-space/hsl&quot;),a=t(&quot;clamp&quot;);e.exports=function(t){var e;if(&quot;string&quot;!=typeof t)throw Error(&quot;Argument should be a string&quot;);var r=n(t);return r.space?(e=Array(3),e[0]=a(r.values[0],0,255),e[1]=a(r.values[1],0,255),e[2]=a(r.values[2],0,255),&quot;h&quot;===r.space[0]&amp;&amp;(e=i.rgb(e)),e.push(a(r.alpha,0,1)),e):[]}},{clamp:93,&quot;color-parse&quot;:100,&quot;color-space/hsl&quot;:102}],102:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;./rgb&quot;);e.exports={name:&quot;hsl&quot;,min:[0,0,0],max:[360,100,100],channel:[&quot;hue&quot;,&quot;saturation&quot;,&quot;lightness&quot;],alias:[&quot;HSL&quot;],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,a];e=2*l-(r=l&lt;.5?l*(1+s):l+s-l*s),i=[0,0,0];for(var c=0;c&lt;3;c++)(n=o+1/3*-(c-1))&lt;0?n++:n&gt;1&amp;&amp;n--,a=6*n&lt;1?e+6*(r-e)*n:2*n&lt;1?r:3*n&lt;2?e+(r-e)*(2/3-n)*6:e,i[c]=255*a;return i}},n.hsl=function(t){var e,r,n,i=t[0]/255,a=t[1]/255,o=t[2]/255,s=Math.min(i,a,o),l=Math.max(i,a,o),c=l-s;return l===s?e=0:i===l?e=(a-o)/c:a===l?e=2+(o-i)/c:o===l&amp;&amp;(e=4+(i-a)/c),(e=Math.min(60*e,360))&lt;0&amp;&amp;(e+=360),n=(s+l)/2,r=l===s?0:n&lt;=.5?c/(l+s):c/(2-l-s),[e,100*r,100*n]}},{&quot;./rgb&quot;:103}],103:[function(t,e,r){&quot;use strict&quot;;e.exports={name:&quot;rgb&quot;,min:[0,0,0],max:[255,255,255],channel:[&quot;red&quot;,&quot;green&quot;,&quot;blue&quot;],alias:[&quot;RGB&quot;]}},{}],104:[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]}],cool:[{index:0,rgb:[0,255,255]},{index:1,rgb:[255,0,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:0,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]}],&quot;rainbow-soft&quot;:[{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]}],&quot;freesurface-blue&quot;:[{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]}],&quot;freesurface-red&quot;:[{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]}],&quot;velocity-blue&quot;:[{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]}],&quot;velocity-green&quot;:[{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]}]}},{}],105:[function(t,e,r){&quot;use strict&quot;;function n(t){for(var e,r=&quot;#&quot;,n=0;n&lt;3;++n)r+=(&quot;00&quot;+(e=(e=t[n]).toString(16))).substr(e.length);return r}function i(t){return&quot;rgba(&quot;+t.join(&quot;,&quot;)+&quot;)&quot;}var a=t(&quot;arraytools&quot;),o=t(&quot;clone&quot;),s=t(&quot;./colorScales&quot;);e.exports=function(t){var e,r,l,c,u,f,h,d,p,m,g,v,y,x=[],b=[],_=[],w=[];if(a.isPlainObject(t)||(t={}),p=t.nshades||72,d=t.format||&quot;hex&quot;,(h=t.colormap)||(h=&quot;jet&quot;),&quot;string&quot;==typeof h){if(h=h.toLowerCase(),!s[h])throw Error(h+&quot; not a supported colorscale&quot;);f=o(s[h])}else{if(!Array.isArray(h))throw Error(&quot;unsupported colormap option&quot;,h);f=o(h)}if(f.length&gt;p)throw new Error(h+&quot; map requires nshades to be at least size &quot;+f.length);for(g=Array.isArray(t.alpha)?2!==t.alpha.length?[1,1]:o(t.alpha):&quot;number&quot;==typeof t.alpha?[t.alpha,t.alpha]:[1,1],e=f.map(function(t){return Math.round(t.index*p)}),g[0]&lt;0&amp;&amp;(g[0]=0),g[1]&lt;0&amp;&amp;(g[0]=0),g[0]&gt;1&amp;&amp;(g[0]=1),g[1]&gt;1&amp;&amp;(g[0]=1),y=0;y&lt;e.length;++y)v=f[y].index,4===(r=f[y].rgb).length&amp;&amp;r[3]&gt;=0&amp;&amp;r[3]&lt;=1||(r[3]=g[0]+(g[1]-g[0])*v);for(y=0;y&lt;e.length-1;++y)u=e[y+1]-e[y],l=f[y].rgb,c=f[y+1].rgb,x=x.concat(a.linspace(l[0],c[0],u)),b=b.concat(a.linspace(l[1],c[1],u)),_=_.concat(a.linspace(l[2],c[2],u)),w=w.concat(a.linspace(l[3],c[3],u));return x=x.map(Math.round),b=b.map(Math.round),_=_.map(Math.round),m=a.zip(x,b,_,w),&quot;hex&quot;===d&amp;&amp;(m=m.map(n)),&quot;rgbaString&quot;===d&amp;&amp;(m=m.map(i)),m}},{&quot;./colorScales&quot;:104,arraytools:50,clone:96}],106:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r){var n=o(t[0],-e[0]),i=o(t[1],-e[1]),a=o(r[0],-e[0]),c=o(r[1],-e[1]),u=l(s(n,a),s(i,c));return u[u.length-1]&gt;=0}e.exports=function(t,e,r,o){var s=i(e,r,o);if(0===s){var l=a(i(t,e,r)),c=a(i(t,e,o));if(l===c){if(0===l){var u=n(t,e,r);return u===n(t,e,o)?0:u?1:-1}return 0}return 0===c?l&gt;0?-1:n(t,e,o)?-1:1:0===l?c&gt;0?1:n(t,e,r)?1:-1:a(c-l)}var f=i(t,e,r);return f&gt;0?s&gt;0&amp;&amp;i(t,e,o)&gt;0?1:-1:f&lt;0?s&gt;0||i(t,e,o)&gt;0?1:-1:i(t,e,o)&gt;0?1:n(t,e,r)?1:-1};var i=t(&quot;robust-orientation&quot;),a=t(&quot;signum&quot;),o=t(&quot;two-sum&quot;),s=t(&quot;robust-product&quot;),l=t(&quot;robust-sum&quot;)},{&quot;robust-orientation&quot;:515,&quot;robust-product&quot;:516,&quot;robust-sum&quot;:520,signum:522,&quot;two-sum&quot;:553}],107:[function(t,e,r){function n(t,e){return t-e}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]||i(t[0],t[1])-i(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=i(t[0],t[1]),c=i(e[0],e[1]);return i(l,t[2])-i(c,e[2])||i(l+t[2],o)-i(c+e[2],s);case 4:var u=t[0],f=t[1],h=t[2],d=t[3],p=e[0],m=e[1],g=e[2],v=e[3];return u+f+h+d-(p+m+g+v)||i(u,f,h,d)-i(p,m,g,v,p)||i(u+f,u+h,u+d,f+h,f+d,h+d)-i(p+m,p+g,p+v,m+g,m+v,g+v)||i(u+f+h,u+f+d,u+h+d,f+h+d)-i(p+m+g,p+m+v,p+g+v,m+g+v);default:for(var y=t.slice().sort(n),x=e.slice().sort(n),b=0;b&lt;r;++b)if(a=y[b]-x[b])return a;return 0}};var i=Math.min},{}],108:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;compare-cell&quot;),i=t(&quot;cell-orientation&quot;);e.exports=function(t,e){return n(t,e)||i(t)-i(e)}},{&quot;cell-orientation&quot;:90,&quot;compare-cell&quot;:107}],109:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;./lib/ch1d&quot;),i=t(&quot;./lib/ch2d&quot;),a=t(&quot;./lib/chnd&quot;);e.exports=function(t){var e=t.length;if(0===e)return[];if(1===e)return[[0]];var r=t[0].length;return 0===r?[]:1===r?n(t):2===r?i(t):a(t,r)}},{&quot;./lib/ch1d&quot;:110,&quot;./lib/ch2d&quot;:111,&quot;./lib/chnd&quot;:112}],110:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t){for(var e=0,r=0,n=1;n&lt;t.length;++n)t[n][0]&lt;t[e][0]&amp;&amp;(e=n),t[n][0]&gt;t[r][0]&amp;&amp;(r=n);return e&lt;r?[[e],[r]]:e&gt;r?[[r],[e]]:[[e]]}},{}],111:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t){var e=n(t),r=e.length;if(r&lt;=2)return[];for(var i=new Array(r),a=e[r-1],o=0;o&lt;r;++o){var s=e[o];i[o]=[a,s],a=s}return i};var n=t(&quot;monotone-convex-hull-2d&quot;)},{&quot;monotone-convex-hull-2d&quot;:442}],112:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t,e){try{return n(t,!0)}catch(o){var r=i(t);if(r.length&lt;=e)return[];var a=function(t,e){for(var r=t.length,n=new Array(r),i=0;i&lt;e.length;++i)n[i]=t[e[i]];var a=e.length;for(i=0;i&lt;r;++i)e.indexOf(i)&lt;0&amp;&amp;(n[a++]=t[i]);return n}(t,r);return function(t,e){for(var r=t.length,n=e.length,i=0;i&lt;r;++i)for(var a=t[i],o=0;o&lt;a.length;++o){var s=a[o];if(s&lt;n)a[o]=e[s];else{s-=n;for(var l=0;l&lt;n;++l)s&gt;=e[l]&amp;&amp;(s+=1);a[o]=s}}return t}(n(a,!0),r)}};var n=t(&quot;incremental-convex-hull&quot;),i=t(&quot;affine-hull&quot;)},{&quot;affine-hull&quot;:45,&quot;incremental-convex-hull&quot;:278}],113:[function(t,e,r){e.exports={AFG:&quot;afghan&quot;,ALA:&quot;\\b\\wland&quot;,ALB:&quot;albania&quot;,DZA:&quot;algeria&quot;,ASM:&quot;^(?=.*americ).*samoa&quot;,AND:&quot;andorra&quot;,AGO:&quot;angola&quot;,AIA:&quot;anguill?a&quot;,ATA:&quot;antarctica&quot;,ATG:&quot;antigua&quot;,ARG:&quot;argentin&quot;,ARM:&quot;armenia&quot;,ABW:&quot;^(?!.*bonaire).*\\baruba&quot;,AUS:&quot;australia&quot;,AUT:&quot;^(?!.*hungary).*austria|\\baustri.*\\bemp&quot;,AZE:&quot;azerbaijan&quot;,BHS:&quot;bahamas&quot;,BHR:&quot;bahrain&quot;,BGD:&quot;bangladesh|^(?=.*east).*paki?stan&quot;,BRB:&quot;barbados&quot;,BLR:&quot;belarus|byelo&quot;,BEL:&quot;^(?!.*luxem).*belgium&quot;,BLZ:&quot;belize|^(?=.*british).*honduras&quot;,BEN:&quot;benin|dahome&quot;,BMU:&quot;bermuda&quot;,BTN:&quot;bhutan&quot;,BOL:&quot;bolivia&quot;,BES:&quot;^(?=.*bonaire).*eustatius|^(?=.*carib).*netherlands|\\bbes.?islands&quot;,BIH:&quot;herzegovina|bosnia&quot;,BWA:&quot;botswana|bechuana&quot;,BVT:&quot;bouvet&quot;,BRA:&quot;brazil&quot;,IOT:&quot;british.?indian.?ocean&quot;,BRN:&quot;brunei&quot;,BGR:&quot;bulgaria&quot;,BFA:&quot;burkina|\\bfaso|upper.?volta&quot;,BDI:&quot;burundi&quot;,CPV:&quot;verde&quot;,KHM:&quot;cambodia|kampuchea|khmer&quot;,CMR:&quot;cameroon&quot;,CAN:&quot;canada&quot;,CYM:&quot;cayman&quot;,CAF:&quot;\\bcentral.african.republic&quot;,TCD:&quot;\\bchad&quot;,CHL:&quot;\\bchile&quot;,CHN:&quot;^(?!.*\\bmac)(?!.*\\bhong)(?!.*\\btai)(?!.*\\brep).*china|^(?=.*peo)(?=.*rep).*china&quot;,CXR:&quot;christmas&quot;,CCK:&quot;\\bcocos|keeling&quot;,COL:&quot;colombia&quot;,COM:&quot;comoro&quot;,COG:&quot;^(?!.*\\bdem)(?!.*\\bd[\\.]?r)(?!.*kinshasa)(?!.*zaire)(?!.*belg)(?!.*l.opoldville)(?!.*free).*\\bcongo&quot;,COK:&quot;\\bcook&quot;,CRI:&quot;costa.?rica&quot;,CIV:&quot;ivoire|ivory&quot;,HRV:&quot;croatia&quot;,CUB:&quot;\\bcuba&quot;,CUW:&quot;^(?!.*bonaire).*\\bcura(c|\xe7)ao&quot;,CYP:&quot;cyprus&quot;,CSK:&quot;czechoslovakia&quot;,CZE:&quot;^(?=.*rep).*czech|czechia|bohemia&quot;,COD:&quot;\\bdem.*congo|congo.*\\bdem|congo.*\\bd[\\.]?r|\\bd[\\.]?r.*congo|belgian.?congo|congo.?free.?state|kinshasa|zaire|l.opoldville|drc|droc|rdc&quot;,DNK:&quot;denmark&quot;,DJI:&quot;djibouti&quot;,DMA:&quot;dominica(?!n)&quot;,DOM:&quot;dominican.rep&quot;,ECU:&quot;ecuador&quot;,EGY:&quot;egypt&quot;,SLV:&quot;el.?salvador&quot;,GNQ:&quot;guine.*eq|eq.*guine|^(?=.*span).*guinea&quot;,ERI:&quot;eritrea&quot;,EST:&quot;estonia&quot;,ETH:&quot;ethiopia|abyssinia&quot;,FLK:&quot;falkland|malvinas&quot;,FRO:&quot;faroe|faeroe&quot;,FJI:&quot;fiji&quot;,FIN:&quot;finland&quot;,FRA:&quot;^(?!.*\\bdep)(?!.*martinique).*france|french.?republic|\\bgaul&quot;,GUF:&quot;^(?=.*french).*guiana&quot;,PYF:&quot;french.?polynesia|tahiti&quot;,ATF:&quot;french.?southern&quot;,GAB:&quot;gabon&quot;,GMB:&quot;gambia&quot;,GEO:&quot;^(?!.*south).*georgia&quot;,DDR:&quot;german.?democratic.?republic|democratic.?republic.*germany|east.germany&quot;,DEU:&quot;^(?!.*east).*germany|^(?=.*\\bfed.*\\brep).*german&quot;,GHA:&quot;ghana|gold.?coast&quot;,GIB:&quot;gibraltar&quot;,GRC:&quot;greece|hellenic|hellas&quot;,GRL:&quot;greenland&quot;,GRD:&quot;grenada&quot;,GLP:&quot;guadeloupe&quot;,GUM:&quot;\\bguam&quot;,GTM:&quot;guatemala&quot;,GGY:&quot;guernsey&quot;,GIN:&quot;^(?!.*eq)(?!.*span)(?!.*bissau)(?!.*portu)(?!.*new).*guinea&quot;,GNB:&quot;bissau|^(?=.*portu).*guinea&quot;,GUY:&quot;guyana|british.?guiana&quot;,HTI:&quot;haiti&quot;,HMD:&quot;heard.*mcdonald&quot;,VAT:&quot;holy.?see|vatican|papal.?st&quot;,HND:&quot;^(?!.*brit).*honduras&quot;,HKG:&quot;hong.?kong&quot;,HUN:&quot;^(?!.*austr).*hungary&quot;,ISL:&quot;iceland&quot;,IND:&quot;india(?!.*ocea)&quot;,IDN:&quot;indonesia&quot;,IRN:&quot;\\biran|persia&quot;,IRQ:&quot;\\biraq|mesopotamia&quot;,IRL:&quot;(^ireland)|(^republic.*ireland)&quot;,IMN:&quot;^(?=.*isle).*\\bman&quot;,ISR:&quot;israel&quot;,ITA:&quot;italy&quot;,JAM:&quot;jamaica&quot;,JPN:&quot;japan&quot;,JEY:&quot;jersey&quot;,JOR:&quot;jordan&quot;,KAZ:&quot;kazak&quot;,KEN:&quot;kenya|british.?east.?africa|east.?africa.?prot&quot;,KIR:&quot;kiribati&quot;,PRK:&quot;^(?=.*democrat|people|north|d.*p.*.r).*\\bkorea|dprk|korea.*(d.*p.*r)&quot;,KWT:&quot;kuwait&quot;,KGZ:&quot;kyrgyz|kirghiz&quot;,LAO:&quot;\\blaos?\\b&quot;,LVA:&quot;latvia&quot;,LBN:&quot;lebanon&quot;,LSO:&quot;lesotho|basuto&quot;,LBR:&quot;liberia&quot;,LBY:&quot;libya&quot;,LIE:&quot;liechtenstein&quot;,LTU:&quot;lithuania&quot;,LUX:&quot;^(?!.*belg).*luxem&quot;,MAC:&quot;maca(o|u)&quot;,MDG:&quot;madagascar|malagasy&quot;,MWI:&quot;malawi|nyasa&quot;,MYS:&quot;malaysia&quot;,MDV:&quot;maldive&quot;,MLI:&quot;\\bmali\\b&quot;,MLT:&quot;\\bmalta&quot;,MHL:&quot;marshall&quot;,MTQ:&quot;martinique&quot;,MRT:&quot;mauritania&quot;,MUS:&quot;mauritius&quot;,MYT:&quot;\\bmayotte&quot;,MEX:&quot;\\bmexic&quot;,FSM:&quot;fed.*micronesia|micronesia.*fed&quot;,MCO:&quot;monaco&quot;,MNG:&quot;mongolia&quot;,MNE:&quot;^(?!.*serbia).*montenegro&quot;,MSR:&quot;montserrat&quot;,MAR:&quot;morocco|\\bmaroc&quot;,MOZ:&quot;mozambique&quot;,MMR:&quot;myanmar|burma&quot;,NAM:&quot;namibia&quot;,NRU:&quot;nauru&quot;,NPL:&quot;nepal&quot;,NLD:&quot;^(?!.*\\bant)(?!.*\\bcarib).*netherlands&quot;,ANT:&quot;^(?=.*\\bant).*(nether|dutch)&quot;,NCL:&quot;new.?caledonia&quot;,NZL:&quot;new.?zealand&quot;,NIC:&quot;nicaragua&quot;,NER:&quot;\\bniger(?!ia)&quot;,NGA:&quot;nigeria&quot;,NIU:&quot;niue&quot;,NFK:&quot;norfolk&quot;,MNP:&quot;mariana&quot;,NOR:&quot;norway&quot;,OMN:&quot;\\boman|trucial&quot;,PAK:&quot;^(?!.*east).*paki?stan&quot;,PLW:&quot;palau&quot;,PSE:&quot;palestin|\\bgaza|west.?bank&quot;,PAN:&quot;panama&quot;,PNG:&quot;papua|new.?guinea&quot;,PRY:&quot;paraguay&quot;,PER:&quot;peru&quot;,PHL:&quot;philippines&quot;,PCN:&quot;pitcairn&quot;,POL:&quot;poland&quot;,PRT:&quot;portugal&quot;,PRI:&quot;puerto.?rico&quot;,QAT:&quot;qatar&quot;,KOR:&quot;^(?!.*d.*p.*r)(?!.*democrat)(?!.*people)(?!.*north).*\\bkorea(?!.*d.*p.*r)&quot;,MDA:&quot;moldov|b(a|e)ssarabia&quot;,REU:&quot;r(e|\xe9)union&quot;,ROU:&quot;r(o|u|ou)mania&quot;,RUS:&quot;\\brussia|soviet.?union|u\\.?s\\.?s\\.?r|socialist.?republics&quot;,RWA:&quot;rwanda&quot;,BLM:&quot;barth(e|\xe9)lemy&quot;,SHN:&quot;helena&quot;,KNA:&quot;kitts|\\bnevis&quot;,LCA:&quot;\\blucia&quot;,MAF:&quot;^(?=.*collectivity).*martin|^(?=.*france).*martin(?!ique)|^(?=.*french).*martin(?!ique)&quot;,SPM:&quot;miquelon&quot;,VCT:&quot;vincent&quot;,WSM:&quot;^(?!.*amer).*samoa&quot;,SMR:&quot;san.?marino&quot;,STP:&quot;\\bs(a|\xe3)o.?tom(e|\xe9)&quot;,SAU:&quot;\\bsa\\w*.?arabia&quot;,SEN:&quot;senegal&quot;,SRB:&quot;^(?!.*monte).*serbia&quot;,SYC:&quot;seychell&quot;,SLE:&quot;sierra&quot;,SGP:&quot;singapore&quot;,SXM:&quot;^(?!.*martin)(?!.*saba).*maarten&quot;,SVK:&quot;^(?!.*cze).*slovak&quot;,SVN:&quot;slovenia&quot;,SLB:&quot;solomon&quot;,SOM:&quot;somali&quot;,ZAF:&quot;south.africa|s\\\\..?africa&quot;,SGS:&quot;south.?georgia|sandwich&quot;,SSD:&quot;\\bs\\w*.?sudan&quot;,ESP:&quot;spain&quot;,LKA:&quot;sri.?lanka|ceylon&quot;,SDN:&quot;^(?!.*\\bs(?!u)).*sudan&quot;,SUR:&quot;surinam|dutch.?guiana&quot;,SJM:&quot;svalbard&quot;,SWZ:&quot;swaziland&quot;,SWE:&quot;sweden&quot;,CHE:&quot;switz|swiss&quot;,SYR:&quot;syria&quot;,TWN:&quot;taiwan|taipei|formosa|^(?!.*peo)(?=.*rep).*china&quot;,TJK:&quot;tajik&quot;,THA:&quot;thailand|\\bsiam&quot;,MKD:&quot;macedonia|fyrom&quot;,TLS:&quot;^(?=.*leste).*timor|^(?=.*east).*timor&quot;,TGO:&quot;togo&quot;,TKL:&quot;tokelau&quot;,TON:&quot;tonga&quot;,TTO:&quot;trinidad|tobago&quot;,TUN:&quot;tunisia&quot;,TUR:&quot;turkey&quot;,TKM:&quot;turkmen&quot;,TCA:&quot;turks&quot;,TUV:&quot;tuvalu&quot;,UGA:&quot;uganda&quot;,UKR:&quot;ukrain&quot;,ARE:&quot;emirates|^u\\.?a\\.?e\\.?$|united.?arab.?em&quot;,GBR:&quot;united.?kingdom|britain|^u\\.?k\\.?$&quot;,TZA:&quot;tanzania&quot;,USA:&quot;united.?states\\b(?!.*islands)|\\bu\\.?s\\.?a\\.?\\b|^\\s*u\\.?s\\.?\\b(?!.*islands)&quot;,UMI:&quot;minor.?outlying.?is&quot;,URY:&quot;uruguay&quot;,UZB:&quot;uzbek&quot;,VUT:&quot;vanuatu|new.?hebrides&quot;,VEN:&quot;venezuela&quot;,VNM:&quot;^(?!.*republic).*viet.?nam|^(?=.*socialist).*viet.?nam&quot;,VGB:&quot;^(?=.*\\bu\\.?\\s?k).*virgin|^(?=.*brit).*virgin|^(?=.*kingdom).*virgin&quot;,VIR:&quot;^(?=.*\\bu\\.?\\s?s).*virgin|^(?=.*states).*virgin&quot;,WLF:&quot;futuna|wallis&quot;,ESH:&quot;western.sahara&quot;,YEM:&quot;^(?!.*arab)(?!.*north)(?!.*sana)(?!.*peo)(?!.*dem)(?!.*south)(?!.*aden)(?!.*\\bp\\.?d\\.?r).*yemen&quot;,YMD:&quot;^(?=.*peo).*yemen|^(?!.*rep)(?=.*dem).*yemen|^(?=.*south).*yemen|^(?=.*aden).*yemen|^(?=.*\\bp\\.?d\\.?r).*yemen&quot;,YUG:&quot;yugoslavia&quot;,ZMB:&quot;zambia|northern.?rhodesia&quot;,EAZ:&quot;zanzibar&quot;,ZWE:&quot;zimbabwe|^(?!.*northern).*rhodesia&quot;}},{}],114:[function(t,e,r){function n(t){return(t=Math.round(t))&lt;0?0:t&gt;255?255:t}function i(t){return t&lt;0?0:t&gt;1?1:t}function a(t){return n(&quot;%&quot;===t[t.length-1]?parseFloat(t)/100*255:parseInt(t))}function o(t){return i(&quot;%&quot;===t[t.length-1]?parseFloat(t)/100:parseFloat(t))}function s(t,e,r){return r&lt;0?r+=1:r&gt;1&amp;&amp;(r-=1),6*r&lt;1?t+(e-t)*r*6:2*r&lt;1?e:3*r&lt;2?t+(e-t)*(2/3-r)*6:t}function l(t){var e=t.replace(/ /g,&quot;&quot;).toLowerCase();if(e in c)return c[e].slice();if(&quot;#&quot;===e[0]){if(4===e.length){return(r=parseInt(e.substr(1),16))&gt;=0&amp;&amp;r&lt;=4095?[(3840&amp;r)&gt;&gt;4|(3840&amp;r)&gt;&gt;8,240&amp;r|(240&amp;r)&gt;&gt;4,15&amp;r|(15&amp;r)&lt;&lt;4,1]:null}if(7===e.length){var r;return(r=parseInt(e.substr(1),16))&gt;=0&amp;&amp;r&lt;=16777215?[(16711680&amp;r)&gt;&gt;16,(65280&amp;r)&gt;&gt;8,255&amp;r,1]:null}return null}var i=e.indexOf(&quot;(&quot;),l=e.indexOf(&quot;)&quot;);if(-1!==i&amp;&amp;l+1===e.length){var u=e.substr(0,i),f=e.substr(i+1,l-(i+1)).split(&quot;,&quot;),h=1;switch(u){case&quot;rgba&quot;:if(4!==f.length)return null;h=o(f.pop());case&quot;rgb&quot;:return 3!==f.length?null:[a(f[0]),a(f[1]),a(f[2]),h];case&quot;hsla&quot;:if(4!==f.length)return null;h=o(f.pop());case&quot;hsl&quot;:if(3!==f.length)return null;var d=(parseFloat(f[0])%360+360)%360/360,p=o(f[1]),m=o(f[2]),g=m&lt;=.5?m*(p+1):m+p-m*p,v=2*m-g;return[n(255*s(v,g,d+1/3)),n(255*s(v,g,d)),n(255*s(v,g,d-1/3)),h];default:return null}}return null}var c={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]};try{r.parseCSSColor=l}catch(t){}},{}],115:[function(t,e,r){&quot;use strict&quot;;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 d=t.length-1;d&gt;=0;--d)a[d]=c*t[d]+u*e[d]+f*r[d]+h*n[d];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&gt;=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}},{}],116:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;./lib/thunk.js&quot;);e.exports=function(t){var e=new function(){this.argTypes=[],this.shimArgs=[],this.arrayArgs=[],this.arrayBlockIndices=[],this.scalarArgs=[],this.offsetArgs=[],this.offsetArgIndex=[],this.indexArgs=[],this.shapeArgs=[],this.funcName=&quot;&quot;,this.pre=null,this.body=null,this.post=null,this.debug=!1};e.pre=t.pre,e.body=t.body,e.post=t.post;var r=t.args.slice(0);e.argTypes=r;for(var i=0;i&lt;r.length;++i){var a=r[i];if(&quot;array&quot;===a||&quot;object&quot;==typeof a&amp;&amp;a.blockIndices){if(e.argTypes[i]=&quot;array&quot;,e.arrayArgs.push(i),e.arrayBlockIndices.push(a.blockIndices?a.blockIndices:0),e.shimArgs.push(&quot;array&quot;+i),i&lt;e.pre.args.length&amp;&amp;e.pre.args[i].count&gt;0)throw new Error(&quot;cwise: pre() block may not reference array args&quot;);if(i&lt;e.post.args.length&amp;&amp;e.post.args[i].count&gt;0)throw new Error(&quot;cwise: post() block may not reference array args&quot;)}else if(&quot;scalar&quot;===a)e.scalarArgs.push(i),e.shimArgs.push(&quot;scalar&quot;+i);else if(&quot;index&quot;===a){if(e.indexArgs.push(i),i&lt;e.pre.args.length&amp;&amp;e.pre.args[i].count&gt;0)throw new Error(&quot;cwise: pre() block may not reference array index&quot;);if(i&lt;e.body.args.length&amp;&amp;e.body.args[i].lvalue)throw new Error(&quot;cwise: body() block may not write to array index&quot;);if(i&lt;e.post.args.length&amp;&amp;e.post.args[i].count&gt;0)throw new Error(&quot;cwise: post() block may not reference array index&quot;)}else if(&quot;shape&quot;===a){if(e.shapeArgs.push(i),i&lt;e.pre.args.length&amp;&amp;e.pre.args[i].lvalue)throw new Error(&quot;cwise: pre() block may not write to array shape&quot;);if(i&lt;e.body.args.length&amp;&amp;e.body.args[i].lvalue)throw new Error(&quot;cwise: body() block may not write to array shape&quot;);if(i&lt;e.post.args.length&amp;&amp;e.post.args[i].lvalue)throw new Error(&quot;cwise: post() block may not write to array shape&quot;)}else{if(&quot;object&quot;!=typeof a||!a.offset)throw new Error(&quot;cwise: Unknown argument type &quot;+r[i]);e.argTypes[i]=&quot;offset&quot;,e.offsetArgs.push({array:a.array,offset:a.offset}),e.offsetArgIndex.push(i)}}if(e.arrayArgs.length&lt;=0)throw new Error(&quot;cwise: No array arguments specified&quot;);if(e.pre.args.length&gt;r.length)throw new Error(&quot;cwise: Too many arguments in pre() block&quot;);if(e.body.args.length&gt;r.length)throw new Error(&quot;cwise: Too many arguments in body() block&quot;);if(e.post.args.length&gt;r.length)throw new Error(&quot;cwise: Too many arguments in post() block&quot;);return e.debug=!!t.printCode||!!t.debug,e.funcName=t.funcName||&quot;cwise&quot;,e.blockSize=t.blockSize||64,n(e)}},{&quot;./lib/thunk.js&quot;:118}],117:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r){var n,i,a=t.length,o=e.arrayArgs.length,s=e.indexArgs.length&gt;0,l=[],c=[],u=0,f=0;for(n=0;n&lt;a;++n)c.push([&quot;i&quot;,n,&quot;=0&quot;].join(&quot;&quot;));for(i=0;i&lt;o;++i)for(n=0;n&lt;a;++n)f=u,u=t[n],0===n?c.push([&quot;d&quot;,i,&quot;s&quot;,n,&quot;=t&quot;,i,&quot;p&quot;,u].join(&quot;&quot;)):c.push([&quot;d&quot;,i,&quot;s&quot;,n,&quot;=(t&quot;,i,&quot;p&quot;,u,&quot;-s&quot;,f,&quot;*t&quot;,i,&quot;p&quot;,f,&quot;)&quot;].join(&quot;&quot;));for(l.push(&quot;var &quot;+c.join(&quot;,&quot;)),n=a-1;n&gt;=0;--n)u=t[n],l.push([&quot;for(i&quot;,n,&quot;=0;i&quot;,n,&quot;&lt;s&quot;,u,&quot;;++i&quot;,n,&quot;){&quot;].join(&quot;&quot;));for(l.push(r),n=0;n&lt;a;++n){for(f=u,u=t[n],i=0;i&lt;o;++i)l.push([&quot;p&quot;,i,&quot;+=d&quot;,i,&quot;s&quot;,n].join(&quot;&quot;));s&amp;&amp;(n&gt;0&amp;&amp;l.push([&quot;index[&quot;,f,&quot;]-=s&quot;,f].join(&quot;&quot;)),l.push([&quot;++index[&quot;,u,&quot;]&quot;].join(&quot;&quot;))),l.push(&quot;}&quot;)}return l.join(&quot;\n&quot;)}function i(t,e,r){for(var n=t.body,i=[],a=[],o=0;o&lt;t.args.length;++o){var s=t.args[o];if(!(s.count&lt;=0)){var l=new RegExp(s.name,&quot;g&quot;),c=&quot;&quot;,u=e.arrayArgs.indexOf(o);switch(e.argTypes[o]){case&quot;offset&quot;:var f=e.offsetArgIndex.indexOf(o);u=e.offsetArgs[f].array,c=&quot;+q&quot;+f;case&quot;array&quot;:c=&quot;p&quot;+u+c;var h=&quot;l&quot;+o,d=&quot;a&quot;+u;if(0===e.arrayBlockIndices[u])1===s.count?&quot;generic&quot;===r[u]?s.lvalue?(i.push([&quot;var &quot;,h,&quot;=&quot;,d,&quot;.get(&quot;,c,&quot;)&quot;].join(&quot;&quot;)),n=n.replace(l,h),a.push([d,&quot;.set(&quot;,c,&quot;,&quot;,h,&quot;)&quot;].join(&quot;&quot;))):n=n.replace(l,[d,&quot;.get(&quot;,c,&quot;)&quot;].join(&quot;&quot;)):n=n.replace(l,[d,&quot;[&quot;,c,&quot;]&quot;].join(&quot;&quot;)):&quot;generic&quot;===r[u]?(i.push([&quot;var &quot;,h,&quot;=&quot;,d,&quot;.get(&quot;,c,&quot;)&quot;].join(&quot;&quot;)),n=n.replace(l,h),s.lvalue&amp;&amp;a.push([d,&quot;.set(&quot;,c,&quot;,&quot;,h,&quot;)&quot;].join(&quot;&quot;))):(i.push([&quot;var &quot;,h,&quot;=&quot;,d,&quot;[&quot;,c,&quot;]&quot;].join(&quot;&quot;)),n=n.replace(l,h),s.lvalue&amp;&amp;a.push([d,&quot;[&quot;,c,&quot;]=&quot;,h].join(&quot;&quot;)));else{for(var p=[s.name],m=[c],g=0;g&lt;Math.abs(e.arrayBlockIndices[u]);g++)p.push(&quot;\\s*\\[([^\\]]+)\\]&quot;),m.push(&quot;$&quot;+(g+1)+&quot;*t&quot;+u+&quot;b&quot;+g);if(l=new RegExp(p.join(&quot;&quot;),&quot;g&quot;),c=m.join(&quot;+&quot;),&quot;generic&quot;===r[u])throw new Error(&quot;cwise: Generic arrays not supported in combination with blocks!&quot;);n=n.replace(l,[d,&quot;[&quot;,c,&quot;]&quot;].join(&quot;&quot;))}break;case&quot;scalar&quot;:n=n.replace(l,&quot;Y&quot;+e.scalarArgs.indexOf(o));break;case&quot;index&quot;:n=n.replace(l,&quot;index&quot;);break;case&quot;shape&quot;:n=n.replace(l,&quot;shape&quot;)}}}return[i.join(&quot;\n&quot;),n,a.join(&quot;\n&quot;)].join(&quot;\n&quot;).trim()}var a=t(&quot;uniq&quot;);e.exports=function(t,e){for(var r=e[1].length-Math.abs(t.arrayBlockIndices[0])|0,o=new Array(t.arrayArgs.length),s=new Array(t.arrayArgs.length),l=0;l&lt;t.arrayArgs.length;++l)s[l]=e[2*l],o[l]=e[2*l+1];var c=[],u=[],f=[],h=[],d=[];for(l=0;l&lt;t.arrayArgs.length;++l){t.arrayBlockIndices[l]&lt;0?(f.push(0),h.push(r),c.push(r),u.push(r+t.arrayBlockIndices[l])):(f.push(t.arrayBlockIndices[l]),h.push(t.arrayBlockIndices[l]+r),c.push(0),u.push(t.arrayBlockIndices[l]));for(var p=[],m=0;m&lt;o[l].length;m++)f[l]&lt;=o[l][m]&amp;&amp;o[l][m]&lt;h[l]&amp;&amp;p.push(o[l][m]-f[l]);d.push(p)}var g=[&quot;SS&quot;],v=[&quot;'use strict'&quot;],y=[];for(m=0;m&lt;r;++m)y.push([&quot;s&quot;,m,&quot;=SS[&quot;,m,&quot;]&quot;].join(&quot;&quot;));for(l=0;l&lt;t.arrayArgs.length;++l){for(g.push(&quot;a&quot;+l),g.push(&quot;t&quot;+l),g.push(&quot;p&quot;+l),m=0;m&lt;r;++m)y.push([&quot;t&quot;,l,&quot;p&quot;,m,&quot;=t&quot;,l,&quot;[&quot;,f[l]+m,&quot;]&quot;].join(&quot;&quot;));for(m=0;m&lt;Math.abs(t.arrayBlockIndices[l]);++m)y.push([&quot;t&quot;,l,&quot;b&quot;,m,&quot;=t&quot;,l,&quot;[&quot;,c[l]+m,&quot;]&quot;].join(&quot;&quot;))}for(l=0;l&lt;t.scalarArgs.length;++l)g.push(&quot;Y&quot;+l);if(t.shapeArgs.length&gt;0&amp;&amp;y.push(&quot;shape=SS.slice(0)&quot;),t.indexArgs.length&gt;0){var x=new Array(r);for(l=0;l&lt;r;++l)x[l]=&quot;0&quot;;y.push([&quot;index=[&quot;,x.join(&quot;,&quot;),&quot;]&quot;].join(&quot;&quot;))}for(l=0;l&lt;t.offsetArgs.length;++l){var b=t.offsetArgs[l],_=[];for(m=0;m&lt;b.offset.length;++m)0!==b.offset[m]&amp;&amp;(1===b.offset[m]?_.push([&quot;t&quot;,b.array,&quot;p&quot;,m].join(&quot;&quot;)):_.push([b.offset[m],&quot;*t&quot;,b.array,&quot;p&quot;,m].join(&quot;&quot;)));0===_.length?y.push(&quot;q&quot;+l+&quot;=0&quot;):y.push([&quot;q&quot;,l,&quot;=&quot;,_.join(&quot;+&quot;)].join(&quot;&quot;))}var w=a([].concat(t.pre.thisVars).concat(t.body.thisVars).concat(t.post.thisVars));for(y=y.concat(w),v.push(&quot;var &quot;+y.join(&quot;,&quot;)),l=0;l&lt;t.arrayArgs.length;++l)v.push(&quot;p&quot;+l+&quot;|=0&quot;);t.pre.body.length&gt;3&amp;&amp;v.push(i(t.pre,t,s));var M=i(t.body,t,s),k=function(t){for(var e=0,r=t[0].length;e&lt;r;){for(var n=1;n&lt;t.length;++n)if(t[n][e]!==t[0][e])return e;++e}return e}(d);k&lt;r?v.push(function(t,e,r,i){for(var a=e.length,o=r.arrayArgs.length,s=r.blockSize,l=r.indexArgs.length&gt;0,c=[],u=0;u&lt;o;++u)c.push([&quot;var offset&quot;,u,&quot;=p&quot;,u].join(&quot;&quot;));for(u=t;u&lt;a;++u)c.push([&quot;for(var j&quot;+u+&quot;=SS[&quot;,e[u],&quot;]|0;j&quot;,u,&quot;&gt;0;){&quot;].join(&quot;&quot;)),c.push([&quot;if(j&quot;,u,&quot;&lt;&quot;,s,&quot;){&quot;].join(&quot;&quot;)),c.push([&quot;s&quot;,e[u],&quot;=j&quot;,u].join(&quot;&quot;)),c.push([&quot;j&quot;,u,&quot;=0&quot;].join(&quot;&quot;)),c.push([&quot;}else{s&quot;,e[u],&quot;=&quot;,s].join(&quot;&quot;)),c.push([&quot;j&quot;,u,&quot;-=&quot;,s,&quot;}&quot;].join(&quot;&quot;)),l&amp;&amp;c.push([&quot;index[&quot;,e[u],&quot;]=j&quot;,u].join(&quot;&quot;));for(u=0;u&lt;o;++u){for(var f=[&quot;offset&quot;+u],h=t;h&lt;a;++h)f.push([&quot;j&quot;,h,&quot;*t&quot;,u,&quot;p&quot;,e[h]].join(&quot;&quot;));c.push([&quot;p&quot;,u,&quot;=(&quot;,f.join(&quot;+&quot;),&quot;)&quot;].join(&quot;&quot;))}for(c.push(n(e,r,i)),u=t;u&lt;a;++u)c.push(&quot;}&quot;);return c.join(&quot;\n&quot;)}(k,d[0],t,M)):v.push(n(d[0],t,M)),t.post.body.length&gt;3&amp;&amp;v.push(i(t.post,t,s)),t.debug&amp;&amp;console.log(&quot;-----Generated cwise routine for &quot;,e,&quot;:\n&quot;+v.join(&quot;\n&quot;)+&quot;\n----------&quot;);var A=[t.funcName||&quot;unnamed&quot;,&quot;_cwise_loop_&quot;,o[0].join(&quot;s&quot;),&quot;m&quot;,k,function(t){for(var e=new Array(t.length),r=!0,n=0;n&lt;t.length;++n){var i=t[n],a=i.match(/\d+/);a=a?a[0]:&quot;&quot;,0===i.charAt(0)?e[n]=&quot;u&quot;+i.charAt(1)+a:e[n]=i.charAt(0)+a,n&gt;0&amp;&amp;(r=r&amp;&amp;e[n]===e[n-1])}return r?e[0]:e.join(&quot;&quot;)}(s)].join(&quot;&quot;);return new Function([&quot;function &quot;,A,&quot;(&quot;,g.join(&quot;,&quot;),&quot;){&quot;,v.join(&quot;\n&quot;),&quot;} return &quot;,A].join(&quot;&quot;))()}},{uniq:556}],118:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;./compile.js&quot;);e.exports=function(t){var e=[&quot;'use strict'&quot;,&quot;var CACHED={}&quot;],r=[],i=t.funcName+&quot;_cwise_thunk&quot;;e.push([&quot;return function &quot;,i,&quot;(&quot;,t.shimArgs.join(&quot;,&quot;),&quot;){&quot;].join(&quot;&quot;));for(var a=[],o=[],s=[[&quot;array&quot;,t.arrayArgs[0],&quot;.shape.slice(&quot;,Math.max(0,t.arrayBlockIndices[0]),t.arrayBlockIndices[0]&lt;0?&quot;,&quot;+t.arrayBlockIndices[0]+&quot;)&quot;:&quot;)&quot;].join(&quot;&quot;)],l=[],c=[],u=0;u&lt;t.arrayArgs.length;++u){var f=t.arrayArgs[u];r.push([&quot;t&quot;,f,&quot;=array&quot;,f,&quot;.dtype,&quot;,&quot;r&quot;,f,&quot;=array&quot;,f,&quot;.order&quot;].join(&quot;&quot;)),a.push(&quot;t&quot;+f),a.push(&quot;r&quot;+f),o.push(&quot;t&quot;+f),o.push(&quot;r&quot;+f+&quot;.join()&quot;),s.push(&quot;array&quot;+f+&quot;.data&quot;),s.push(&quot;array&quot;+f+&quot;.stride&quot;),s.push(&quot;array&quot;+f+&quot;.offset|0&quot;),u&gt;0&amp;&amp;(l.push(&quot;array&quot;+t.arrayArgs[0]+&quot;.shape.length===array&quot;+f+&quot;.shape.length+&quot;+(Math.abs(t.arrayBlockIndices[0])-Math.abs(t.arrayBlockIndices[u]))),c.push(&quot;array&quot;+t.arrayArgs[0]+&quot;.shape[shapeIndex+&quot;+Math.max(0,t.arrayBlockIndices[0])+&quot;]===array&quot;+f+&quot;.shape[shapeIndex+&quot;+Math.max(0,t.arrayBlockIndices[u])+&quot;]&quot;))}for(t.arrayArgs.length&gt;1&amp;&amp;(e.push(&quot;if (!(&quot;+l.join(&quot; &amp;&amp; &quot;)+&quot;)) throw new Error('cwise: Arrays do not all have the same dimensionality!')&quot;),e.push(&quot;for(var shapeIndex=array&quot;+t.arrayArgs[0]+&quot;.shape.length-&quot;+Math.abs(t.arrayBlockIndices[0])+&quot;; shapeIndex--\x3e0;) {&quot;),e.push(&quot;if (!(&quot;+c.join(&quot; &amp;&amp; &quot;)+&quot;)) throw new Error('cwise: Arrays do not all have the same shape!')&quot;),e.push(&quot;}&quot;)),u=0;u&lt;t.scalarArgs.length;++u)s.push(&quot;scalar&quot;+t.scalarArgs[u]);return r.push([&quot;type=[&quot;,o.join(&quot;,&quot;),&quot;].join()&quot;].join(&quot;&quot;)),r.push(&quot;proc=CACHED[type]&quot;),e.push(&quot;var &quot;+r.join(&quot;,&quot;)),e.push([&quot;if(!proc){&quot;,&quot;CACHED[type]=proc=compile([&quot;,a.join(&quot;,&quot;),&quot;])}&quot;,&quot;return proc(&quot;,s.join(&quot;,&quot;),&quot;)}&quot;].join(&quot;&quot;)),t.debug&amp;&amp;console.log(&quot;-----Generated thunk:\n&quot;+e.join(&quot;\n&quot;)+&quot;\n----------&quot;),new Function(&quot;compile&quot;,e.join(&quot;\n&quot;))(n.bind(void 0,t))}},{&quot;./compile.js&quot;:117}],119:[function(t,e,r){e.exports=t(&quot;cwise-compiler&quot;)},{&quot;cwise-compiler&quot;:116}],120:[function(t,e,r){!function(t,n){n(&quot;object&quot;==typeof r&amp;&amp;void 0!==e?r:t.d3=t.d3||{})}(this,function(t){&quot;use strict&quot;;function e(t,e){return[t,e]}function r(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&gt;=0?(a&gt;=b?10:a&gt;=_?5:a&gt;=w?2:1)*Math.pow(10,i):-Math.pow(10,-i)/(a&gt;=b?10:a&gt;=_?5:a&gt;=w?2:1)}function n(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&gt;=b?i*=10:a&gt;=_?i*=5:a&gt;=w&amp;&amp;(i*=2),e&lt;t?-i:i}function i(t){return t.length}var a=function(t,e){return t&lt;e?-1:t&gt;e?1:t&gt;=e?0:NaN},o=function(t){return 1===t.length&amp;&amp;(t=function(t){return function(e,r){return a(t(e),r)}}(t)),{left:function(e,r,n,i){for(null==n&amp;&amp;(n=0),null==i&amp;&amp;(i=e.length);n&lt;i;){var a=n+i&gt;&gt;&gt;1;t(e[a],r)&lt;0?n=a+1:i=a}return n},right:function(e,r,n,i){for(null==n&amp;&amp;(n=0),null==i&amp;&amp;(i=e.length);n&lt;i;){var a=n+i&gt;&gt;&gt;1;t(e[a],r)&gt;0?i=a:n=a+1}return n}}},s=o(a),l=s.right,c=s.left,u=function(t){return null===t?NaN:+t},f=function(t,e){var r,n,i=t.length,a=0,o=-1,s=0,l=0;if(null==e)for(;++o&lt;i;)isNaN(r=u(t[o]))||(l+=(n=r-s)*(r-(s+=n/++a)));else for(;++o&lt;i;)isNaN(r=u(e(t[o],o,t)))||(l+=(n=r-s)*(r-(s+=n/++a)));if(a&gt;1)return l/(a-1)},h=function(t,e){var r=f(t,e);return r?Math.sqrt(r):r},d=function(t,e){var r,n,i,a=t.length,o=-1;if(null==e){for(;++o&lt;a;)if(null!=(r=t[o])&amp;&amp;r&gt;=r)for(n=i=r;++o&lt;a;)null!=(r=t[o])&amp;&amp;(n&gt;r&amp;&amp;(n=r),i&lt;r&amp;&amp;(i=r))}else for(;++o&lt;a;)if(null!=(r=e(t[o],o,t))&amp;&amp;r&gt;=r)for(n=i=r;++o&lt;a;)null!=(r=e(t[o],o,t))&amp;&amp;(n&gt;r&amp;&amp;(n=r),i&lt;r&amp;&amp;(i=r));return[n,i]},p=Array.prototype,m=p.slice,g=p.map,v=function(t){return function(){return t}},y=function(t){return t},x=function(t,e,r){t=+t,e=+e,r=(i=arguments.length)&lt;2?(e=t,t=0,1):i&lt;3?1:+r;for(var n=-1,i=0|Math.max(0,Math.ceil((e-t)/r)),a=new Array(i);++n&lt;i;)a[n]=t+n*r;return a},b=Math.sqrt(50),_=Math.sqrt(10),w=Math.sqrt(2),M=function(t){return Math.ceil(Math.log(t.length)/Math.LN2)+1},k=function(t,e,r){if(null==r&amp;&amp;(r=u),n=t.length){if((e=+e)&lt;=0||n&lt;2)return+r(t[0],0,t);if(e&gt;=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)}},A=function(t,e){var r,n,i=t.length,a=-1;if(null==e){for(;++a&lt;i;)if(null!=(r=t[a])&amp;&amp;r&gt;=r)for(n=r;++a&lt;i;)null!=(r=t[a])&amp;&amp;n&gt;r&amp;&amp;(n=r)}else for(;++a&lt;i;)if(null!=(r=e(t[a],a,t))&amp;&amp;r&gt;=r)for(n=r;++a&lt;i;)null!=(r=e(t[a],a,t))&amp;&amp;n&gt;r&amp;&amp;(n=r);return n},T=function(t){if(!(a=t.length))return[];for(var e=-1,r=A(t,i),n=new Array(r);++e&lt;r;)for(var a,o=-1,s=n[e]=new Array(a);++o&lt;a;)s[o]=t[o][e];return n};t.bisect=l,t.bisectRight=l,t.bisectLeft=c,t.ascending=a,t.bisector=o,t.cross=function(t,r,n){var i,a,o,s,l=t.length,c=r.length,u=new Array(l*c);for(null==n&amp;&amp;(n=e),i=o=0;i&lt;l;++i)for(s=t[i],a=0;a&lt;c;++a,++o)u[o]=n(s,r[a]);return u},t.descending=function(t,e){return e&lt;t?-1:e&gt;t?1:e&gt;=t?0:NaN},t.deviation=h,t.extent=d,t.histogram=function(){function t(t){var a,o,s=t.length,c=new Array(s);for(a=0;a&lt;s;++a)c[a]=e(t[a],a,t);var u=r(c),f=u[0],h=u[1],d=i(c,f,h);Array.isArray(d)||(d=n(f,h,d),d=x(Math.ceil(f/d)*d,Math.floor(h/d)*d,d));for(var p=d.length;d[0]&lt;=f;)d.shift(),--p;for(;d[p-1]&gt;h;)d.pop(),--p;var m,g=new Array(p+1);for(a=0;a&lt;=p;++a)(m=g[a]=[]).x0=a&gt;0?d[a-1]:f,m.x1=a&lt;p?d[a]:h;for(a=0;a&lt;s;++a)f&lt;=(o=c[a])&amp;&amp;o&lt;=h&amp;&amp;g[l(d,o,0,p)].push(t[a]);return g}var e=y,r=d,i=M;return t.value=function(r){return arguments.length?(e=&quot;function&quot;==typeof r?r:v(r),t):e},t.domain=function(e){return arguments.length?(r=&quot;function&quot;==typeof e?e:v([e[0],e[1]]),t):r},t.thresholds=function(e){return arguments.length?(i=&quot;function&quot;==typeof e?e:v(Array.isArray(e)?m.call(e):e),t):i},t},t.thresholdFreedmanDiaconis=function(t,e,r){return t=g.call(t,u).sort(a),Math.ceil((r-e)/(2*(k(t,.75)-k(t,.25))*Math.pow(t.length,-1/3)))},t.thresholdScott=function(t,e,r){return Math.ceil((r-e)/(3.5*h(t)*Math.pow(t.length,-1/3)))},t.thresholdSturges=M,t.max=function(t,e){var r,n,i=t.length,a=-1;if(null==e){for(;++a&lt;i;)if(null!=(r=t[a])&amp;&amp;r&gt;=r)for(n=r;++a&lt;i;)null!=(r=t[a])&amp;&amp;r&gt;n&amp;&amp;(n=r)}else for(;++a&lt;i;)if(null!=(r=e(t[a],a,t))&amp;&amp;r&gt;=r)for(n=r;++a&lt;i;)null!=(r=e(t[a],a,t))&amp;&amp;r&gt;n&amp;&amp;(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&lt;n;)isNaN(r=u(t[a]))?--i:o+=r;else for(;++a&lt;n;)isNaN(r=u(e(t[a],a,t)))?--i:o+=r;if(i)return o/i},t.median=function(t,e){var r,n=t.length,i=-1,o=[];if(null==e)for(;++i&lt;n;)isNaN(r=u(t[i]))||o.push(r);else for(;++i&lt;n;)isNaN(r=u(e(t[i],i,t)))||o.push(r);return k(o.sort(a),.5)},t.merge=function(t){for(var e,r,n,i=t.length,a=-1,o=0;++a&lt;i;)o+=t[a].length;for(r=new Array(o);--i&gt;=0;)for(e=(n=t[i]).length;--e&gt;=0;)r[--o]=n[e];return r},t.min=A,t.pairs=function(t,r){null==r&amp;&amp;(r=e);for(var n=0,i=t.length-1,a=t[0],o=new Array(i&lt;0?0:i);n&lt;i;)o[n]=r(a,a=t[++n]);return o},t.permute=function(t,e){for(var r=e.length,n=new Array(r);r--;)n[r]=t[e[r]];return n},t.quantile=k,t.range=x,t.scan=function(t,e){if(r=t.length){var r,n,i=0,o=0,s=t[o];for(null==e&amp;&amp;(e=a);++i&lt;r;)(e(n=t[i],s)&lt;0||0!==e(s,s))&amp;&amp;(s=n,o=i);return 0===e(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&lt;n;)(r=+t[i])&amp;&amp;(a+=r);else for(;++i&lt;n;)(r=+e(t[i],i,t))&amp;&amp;(a+=r);return a},t.ticks=function(t,e,n){var i,a,o,s=e&lt;t,l=-1;if(s&amp;&amp;(i=t,t=e,e=i),0===(o=r(t,e,n))||!isFinite(o))return[];if(o&gt;0)for(t=Math.ceil(t/o),e=Math.floor(e/o),a=new Array(i=Math.ceil(e-t+1));++l&lt;i;)a[l]=(t+l)*o;else for(t=Math.floor(t*o),e=Math.ceil(e*o),a=new Array(i=Math.ceil(t-e+1));++l&lt;i;)a[l]=(t-l)/o;return s&amp;&amp;a.reverse(),a},t.tickIncrement=r,t.tickStep=n,t.transpose=T,t.variance=f,t.zip=function(){return T(arguments)},Object.defineProperty(t,&quot;__esModule&quot;,{value:!0})})},{}],121:[function(t,e,r){!function(t,n){n(&quot;object&quot;==typeof r&amp;&amp;void 0!==e?r:t.d3=t.d3||{})}(this,function(t){&quot;use strict&quot;;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&lt;o;)n.set(a,t[a]);else for(;++a&lt;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(){}function l(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&lt;i;)r.add(t[n]);else for(;++n&lt;i;)r.add(e(t[n],n,t))}return r}e.prototype=r.prototype={constructor:e,has:function(t){return&quot;$&quot;+t in this},get:function(t){return this[&quot;$&quot;+t]},set:function(t,e){return this[&quot;$&quot;+t]=e,this},remove:function(t){var e=&quot;$&quot;+t;return e in this&amp;&amp;delete this[e]},clear:function(){for(var t in this)&quot;$&quot;===t[0]&amp;&amp;delete this[t]},keys:function(){var t=[];for(var e in this)&quot;$&quot;===e[0]&amp;&amp;t.push(e.slice(1));return t},values:function(){var t=[];for(var e in this)&quot;$&quot;===e[0]&amp;&amp;t.push(this[e]);return t},entries:function(){var t=[];for(var e in this)&quot;$&quot;===e[0]&amp;&amp;t.push({key:e.slice(1),value:this[e]});return t},size:function(){var t=0;for(var e in this)&quot;$&quot;===e[0]&amp;&amp;++t;return t},empty:function(){for(var t in this)if(&quot;$&quot;===t[0])return!1;return!0},each:function(t){for(var e in this)&quot;$&quot;===e[0]&amp;&amp;t(this[e],e.slice(1),this)}};var c=r.prototype;s.prototype=l.prototype={constructor:s,has:c.has,add:function(t){return t+=&quot;&quot;,this[&quot;$&quot;+t]=t,this},remove:c.remove,clear:c.clear,values:c.keys,size:c.size,empty:c.empty,each:c.each};t.nest=function(){function t(e,n,i,a){if(n&gt;=u.length)return null!=l?l(e):null!=s?e.sort(s):e;for(var o,c,f,h=-1,d=e.length,p=u[n++],m=r(),g=i();++h&lt;d;)(f=m.get(o=p(c=e[h])+&quot;&quot;))?f.push(c):m.set(o,[c]);return m.each(function(e,r){a(g,r,t(e,n,i,a))}),g}function e(t,r){if(++r&gt;u.length)return t;var n,i=f[r-1];return null!=l&amp;&amp;r&gt;=u.length?n=t.entries():(n=[],t.each(function(t,i){n.push({key:i,values:e(t,r)})})),null!=i?n.sort(function(t,e){return i(t.key,e.key)}):n}var s,l,c,u=[],f=[];return c={object:function(e){return t(e,0,n,i)},map:function(e){return t(e,0,a,o)},entries:function(r){return e(t(r,0,a,o),0)},key:function(t){return u.push(t),c},sortKeys:function(t){return f[u.length-1]=t,c},sortValues:function(t){return s=t,c},rollup:function(t){return l=t,c}}},t.set=l,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,&quot;__esModule&quot;,{value:!0})})},{}],122:[function(t,e,r){!function(t,n){n(&quot;object&quot;==typeof r&amp;&amp;void 0!==e?r:t.d3=t.d3||{})}(this,function(t){&quot;use strict&quot;;function e(t,e){var r=Object.create(t.prototype);for(var n in e)r[n]=e[n];return r}function r(){}function n(t){var e;return t=(t+&quot;&quot;).trim().toLowerCase(),(e=E.exec(t))?(e=parseInt(e[1],16),new l(e&gt;&gt;8&amp;15|e&gt;&gt;4&amp;240,e&gt;&gt;4&amp;15|240&amp;e,(15&amp;e)&lt;&lt;4|15&amp;e,1)):(e=L.exec(t))?i(parseInt(e[1],16)):(e=C.exec(t))?new l(e[1],e[2],e[3],1):(e=z.exec(t))?new l(255*e[1]/100,255*e[2]/100,255*e[3]/100,1):(e=D.exec(t))?a(e[1],e[2],e[3],e[4]):(e=I.exec(t))?a(255*e[1]/100,255*e[2]/100,255*e[3]/100,e[4]):(e=P.exec(t))?c(e[1],e[2]/100,e[3]/100,1):(e=O.exec(t))?c(e[1],e[2]/100,e[3]/100,e[4]):F.hasOwnProperty(t)?i(F[t]):&quot;transparent&quot;===t?new l(NaN,NaN,NaN,0):null}function i(t){return new l(t&gt;&gt;16&amp;255,t&gt;&gt;8&amp;255,255&amp;t,1)}function a(t,e,r,n){return n&lt;=0&amp;&amp;(t=e=r=NaN),new l(t,e,r,n)}function o(t){return t instanceof r||(t=n(t)),t?(t=t.rgb(),new l(t.r,t.g,t.b,t.opacity)):new l}function s(t,e,r,n){return 1===arguments.length?o(t):new l(t,e,r,null==n?1:n)}function l(t,e,r,n){this.r=+t,this.g=+e,this.b=+r,this.opacity=+n}function c(t,e,r,n){return n&lt;=0?t=e=r=NaN:r&lt;=0||r&gt;=1?t=e=NaN:e&lt;=0&amp;&amp;(t=NaN),new f(t,e,r,n)}function u(t,e,i,a){return 1===arguments.length?function(t){if(t instanceof f)return new f(t.h,t.s,t.l,t.opacity);if(t instanceof r||(t=n(t)),!t)return new f;if(t instanceof f)return t;var e=(t=t.rgb()).r/255,i=t.g/255,a=t.b/255,o=Math.min(e,i,a),s=Math.max(e,i,a),l=NaN,c=s-o,u=(s+o)/2;return c?(l=e===s?(i-a)/c+6*(i&lt;a):i===s?(a-e)/c+2:(e-i)/c+4,c/=u&lt;.5?s+o:2-s-o,l*=60):c=u&gt;0&amp;&amp;u&lt;1?0:l,new f(l,c,u,t.opacity)}(t):new f(t,e,i,null==a?1:a)}function f(t,e,r,n){this.h=+t,this.s=+e,this.l=+r,this.opacity=+n}function h(t,e,r){return 255*(t&lt;60?e+(r-e)*t/60:t&lt;180?r:t&lt;240?e+(r-e)*(240-t)/60:e)}function d(t){if(t instanceof m)return new m(t.l,t.a,t.b,t.opacity);if(t instanceof _){var e=t.h*R;return new m(t.l,Math.cos(e)*t.c,Math.sin(e)*t.c,t.opacity)}t instanceof l||(t=o(t));var r=x(t.r),n=x(t.g),i=x(t.b),a=g((.4124564*r+.3575761*n+.1804375*i)/j),s=g((.2126729*r+.7151522*n+.072175*i)/B);return new m(116*s-16,500*(a-s),200*(s-g((.0193339*r+.119192*n+.9503041*i)/U)),t.opacity)}function p(t,e,r,n){return 1===arguments.length?d(t):new m(t,e,r,null==n?1:n)}function m(t,e,r,n){this.l=+t,this.a=+e,this.b=+r,this.opacity=+n}function g(t){return t&gt;G?Math.pow(t,1/3):t/H+V}function v(t){return t&gt;q?t*t*t:H*(t-V)}function y(t){return 255*(t&lt;=.0031308?12.92*t:1.055*Math.pow(t,1/2.4)-.055)}function x(t){return(t/=255)&lt;=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function b(t,e,r,n){return 1===arguments.length?function(t){if(t instanceof _)return new _(t.h,t.c,t.l,t.opacity);t instanceof m||(t=d(t));var e=Math.atan2(t.b,t.a)*N;return new _(e&lt;0?e+360:e,Math.sqrt(t.a*t.a+t.b*t.b),t.l,t.opacity)}(t):new _(t,e,r,null==n?1:n)}function _(t,e,r,n){this.h=+t,this.c=+e,this.l=+r,this.opacity=+n}function w(t,e,r,n){return 1===arguments.length?function(t){if(t instanceof M)return new M(t.h,t.s,t.l,t.opacity);t instanceof l||(t=o(t));var e=t.r/255,r=t.g/255,n=t.b/255,i=(K*n+Z*e-J*r)/(K+Z-J),a=n-i,s=(X*(r-i)-Y*a)/W,c=Math.sqrt(s*s+a*a)/(X*i*(1-i)),u=c?Math.atan2(s,a)*N-120:NaN;return new M(u&lt;0?u+360:u,c,i,t.opacity)}(t):new M(t,e,r,null==n?1:n)}function M(t,e,r,n){this.h=+t,this.s=+e,this.l=+r,this.opacity=+n}var k=function(t,e,r){t.prototype=e.prototype=r,r.constructor=t},A=&quot;\\s*([+-]?\\d+)\\s*&quot;,T=&quot;\\s*([+-]?\\d*\\.?\\d+(?:[eE][+-]?\\d+)?)\\s*&quot;,S=&quot;\\s*([+-]?\\d*\\.?\\d+(?:[eE][+-]?\\d+)?)%\\s*&quot;,E=/^#([0-9a-f]{3})$/,L=/^#([0-9a-f]{6})$/,C=new RegExp(&quot;^rgb\\(&quot;+[A,A,A]+&quot;\\)$&quot;),z=new RegExp(&quot;^rgb\\(&quot;+[S,S,S]+&quot;\\)$&quot;),D=new RegExp(&quot;^rgba\\(&quot;+[A,A,A,T]+&quot;\\)$&quot;),I=new RegExp(&quot;^rgba\\(&quot;+[S,S,S,T]+&quot;\\)$&quot;),P=new RegExp(&quot;^hsl\\(&quot;+[T,S,S]+&quot;\\)$&quot;),O=new RegExp(&quot;^hsla\\(&quot;+[T,S,S,T]+&quot;\\)$&quot;),F={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};k(r,n,{displayable:function(){return this.rgb().displayable()},toString:function(){return this.rgb()+&quot;&quot;}}),k(l,s,e(r,{brighter:function(t){return t=null==t?1/.7:Math.pow(1/.7,t),new l(this.r*t,this.g*t,this.b*t,this.opacity)},darker:function(t){return t=null==t?.7:Math.pow(.7,t),new l(this.r*t,this.g*t,this.b*t,this.opacity)},rgb:function(){return this},displayable:function(){return 0&lt;=this.r&amp;&amp;this.r&lt;=255&amp;&amp;0&lt;=this.g&amp;&amp;this.g&lt;=255&amp;&amp;0&lt;=this.b&amp;&amp;this.b&lt;=255&amp;&amp;0&lt;=this.opacity&amp;&amp;this.opacity&lt;=1},toString:function(){var t=this.opacity;return(1===(t=isNaN(t)?1:Math.max(0,Math.min(1,t)))?&quot;rgb(&quot;:&quot;rgba(&quot;)+Math.max(0,Math.min(255,Math.round(this.r)||0))+&quot;, &quot;+Math.max(0,Math.min(255,Math.round(this.g)||0))+&quot;, &quot;+Math.max(0,Math.min(255,Math.round(this.b)||0))+(1===t?&quot;)&quot;:&quot;, &quot;+t+&quot;)&quot;)}})),k(f,u,e(r,{brighter:function(t){return t=null==t?1/.7:Math.pow(1/.7,t),new f(this.h,this.s,this.l*t,this.opacity)},darker:function(t){return t=null==t?.7:Math.pow(.7,t),new f(this.h,this.s,this.l*t,this.opacity)},rgb:function(){var t=this.h%360+360*(this.h&lt;0),e=isNaN(t)||isNaN(this.s)?0:this.s,r=this.l,n=r+(r&lt;.5?r:1-r)*e,i=2*r-n;return new l(h(t&gt;=240?t-240:t+120,i,n),h(t,i,n),h(t&lt;120?t+240:t-120,i,n),this.opacity)},displayable:function(){return(0&lt;=this.s&amp;&amp;this.s&lt;=1||isNaN(this.s))&amp;&amp;0&lt;=this.l&amp;&amp;this.l&lt;=1&amp;&amp;0&lt;=this.opacity&amp;&amp;this.opacity&lt;=1}}));var R=Math.PI/180,N=180/Math.PI,j=.95047,B=1,U=1.08883,V=4/29,q=6/29,H=3*q*q,G=q*q*q;k(m,p,e(r,{brighter:function(t){return new m(this.l+18*(null==t?1:t),this.a,this.b,this.opacity)},darker:function(t){return new m(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 t=B*v(t),e=j*v(e),r=U*v(r),new l(y(3.2404542*e-1.5371385*t-.4985314*r),y(-.969266*e+1.8760108*t+.041556*r),y(.0556434*e-.2040259*t+1.0572252*r),this.opacity)}})),k(_,b,e(r,{brighter:function(t){return new _(this.h,this.c,this.l+18*(null==t?1:t),this.opacity)},darker:function(t){return new _(this.h,this.c,this.l-18*(null==t?1:t),this.opacity)},rgb:function(){return d(this).rgb()}}));var Y=-.29227,W=-.90649,X=1.97294,Z=X*W,J=1.78277*X,K=1.78277*Y- -.14861*W;k(M,w,e(r,{brighter:function(t){return t=null==t?1/.7:Math.pow(1/.7,t),new M(this.h,this.s,this.l*t,this.opacity)},darker:function(t){return t=null==t?.7:Math.pow(.7,t),new M(this.h,this.s,this.l*t,this.opacity)},rgb:function(){var t=isNaN(this.h)?0:(this.h+120)*R,e=+this.l,r=isNaN(this.s)?0:this.s*e*(1-e),n=Math.cos(t),i=Math.sin(t);return new l(255*(e+r*(-.14861*n+1.78277*i)),255*(e+r*(Y*n+W*i)),255*(e+r*(X*n)),this.opacity)}})),t.color=n,t.rgb=s,t.hsl=u,t.lab=p,t.hcl=b,t.cubehelix=w,Object.defineProperty(t,&quot;__esModule&quot;,{value:!0})})},{}],123:[function(t,e,r){!function(t,n){n(&quot;object&quot;==typeof r&amp;&amp;void 0!==e?r:t.d3=t.d3||{})}(this,function(t){&quot;use strict&quot;;function e(){for(var t,e=0,n=arguments.length,i={};e&lt;n;++e){if(!(t=arguments[e]+&quot;&quot;)||t in i)throw new Error(&quot;illegal type: &quot;+t);i[t]=[]}return new r(i)}function r(t){this._=t}function n(t,e,r){for(var n=0,a=t.length;n&lt;a;++n)if(t[n].name===e){t[n]=i,t=t.slice(0,n).concat(t.slice(n+1));break}return null!=r&amp;&amp;t.push({name:e,value:r}),t}var i={value:function(){}};r.prototype=e.prototype={constructor:r,on:function(t,e){var r,i=this._,a=function(t,e){return t.trim().split(/^|\s+/).map(function(t){var r=&quot;&quot;,n=t.indexOf(&quot;.&quot;);if(n&gt;=0&amp;&amp;(r=t.slice(n+1),t=t.slice(0,n)),t&amp;&amp;!e.hasOwnProperty(t))throw new Error(&quot;unknown type: &quot;+t);return{type:t,name:r}})}(t+&quot;&quot;,i),o=-1,s=a.length;if(!(arguments.length&lt;2)){if(null!=e&amp;&amp;&quot;function&quot;!=typeof e)throw new Error(&quot;invalid callback: &quot;+e);for(;++o&lt;s;)if(r=(t=a[o]).type)i[r]=n(i[r],t.name,e);else if(null==e)for(r in i)i[r]=n(i[r],t.name,null);return this}for(;++o&lt;s;)if((r=(t=a[o]).type)&amp;&amp;(r=function(t,e){for(var r,n=0,i=t.length;n&lt;i;++n)if((r=t[n]).name===e)return r.value}(i[r],t.name)))return r},copy:function(){var t={},e=this._;for(var n in e)t[n]=e[n].slice();return new r(t)},call:function(t,e){if((r=arguments.length-2)&gt;0)for(var r,n,i=new Array(r),a=0;a&lt;r;++a)i[a]=arguments[a+2];if(!this._.hasOwnProperty(t))throw new Error(&quot;unknown type: &quot;+t);for(a=0,r=(n=this._[t]).length;a&lt;r;++a)n[a].value.apply(e,i)},apply:function(t,e,r){if(!this._.hasOwnProperty(t))throw new Error(&quot;unknown type: &quot;+t);for(var n=this._[t],i=0,a=n.length;i&lt;a;++i)n[i].value.apply(e,r)}},t.dispatch=e,Object.defineProperty(t,&quot;__esModule&quot;,{value:!0})})},{}],124:[function(t,e,r){!function(n,i){&quot;object&quot;==typeof r&amp;&amp;void 0!==e?i(r,t(&quot;d3-quadtree&quot;),t(&quot;d3-collection&quot;),t(&quot;d3-dispatch&quot;),t(&quot;d3-timer&quot;)):i(n.d3=n.d3||{},n.d3,n.d3,n.d3,n.d3)}(this,function(t,e,r,n,i){&quot;use strict&quot;;function a(t){return t.x+t.vx}function o(t){return t.y+t.vy}function s(t){return t.index}function l(t,e){var r=t.get(e);if(!r)throw new Error(&quot;missing: &quot;+e);return r}function c(t){return t.x}function u(t){return t.y}var f=function(t){return function(){return t}},h=function(){return 1e-6*(Math.random()-.5)},d=10,p=Math.PI*(3-Math.sqrt(5));t.forceCenter=function(t,e){function r(){var r,i,a=n.length,o=0,s=0;for(r=0;r&lt;a;++r)o+=(i=n[r]).x,s+=i.y;for(o=o/a-t,s=s/a-e,r=0;r&lt;a;++r)(i=n[r]).x-=o,i.y-=s}var n;return null==t&amp;&amp;(t=0),null==e&amp;&amp;(e=0),r.initialize=function(t){n=t},r.x=function(e){return arguments.length?(t=+e,r):t},r.y=function(t){return arguments.length?(e=+t,r):e},r},t.forceCollide=function(t){function r(){function t(t,e,r,n,i){var a=t.data,o=t.r,s=m+o;if(!a)return e&gt;d+s||n&lt;d-s||r&gt;p+s||i&lt;p-s;if(a.index&gt;f.index){var l=d-a.x-a.vx,u=p-a.y-a.vy,v=l*l+u*u;v&lt;s*s&amp;&amp;(0===l&amp;&amp;(l=h(),v+=l*l),0===u&amp;&amp;(u=h(),v+=u*u),v=(s-(v=Math.sqrt(v)))/v*c,f.vx+=(l*=v)*(s=(o*=o)/(g+o)),f.vy+=(u*=v)*s,a.vx-=l*(s=1-s),a.vy-=u*s)}}for(var r,i,f,d,p,m,g,v=s.length,y=0;y&lt;u;++y)for(i=e.quadtree(s,a,o).visitAfter(n),r=0;r&lt;v;++r)f=s[r],m=l[f.index],g=m*m,d=f.x+f.vx,p=f.y+f.vy,i.visit(t)}function n(t){if(t.data)return t.r=l[t.data.index];for(var e=t.r=0;e&lt;4;++e)t[e]&amp;&amp;t[e].r&gt;t.r&amp;&amp;(t.r=t[e].r)}function i(){if(s){var e,r,n=s.length;for(l=new Array(n),e=0;e&lt;n;++e)r=s[e],l[r.index]=+t(r,e,s)}}var s,l,c=1,u=1;return&quot;function&quot;!=typeof t&amp;&amp;(t=f(null==t?1:+t)),r.initialize=function(t){s=t,i()},r.iterations=function(t){return arguments.length?(u=+t,r):u},r.strength=function(t){return arguments.length?(c=+t,r):c},r.radius=function(e){return arguments.length?(t=&quot;function&quot;==typeof e?e:f(+e),i(),r):t},r},t.forceLink=function(t){function e(e){for(var r=0,n=t.length;r&lt;y;++r)for(var i,a,s,l,u,f,d,m=0;m&lt;n;++m)a=(i=t[m]).source,l=(s=i.target).x+s.vx-a.x-a.vx||h(),u=s.y+s.vy-a.y-a.vy||h(),l*=f=((f=Math.sqrt(l*l+u*u))-c[m])/f*e*o[m],u*=f,s.vx-=l*(d=p[m]),s.vy-=u*d,a.vx+=l*(d=1-d),a.vy+=u*d}function n(){if(u){var e,n,s=u.length,f=t.length,h=r.map(u,m);for(e=0,d=new Array(s);e&lt;f;++e)(n=t[e]).index=e,&quot;object&quot;!=typeof n.source&amp;&amp;(n.source=l(h,n.source)),&quot;object&quot;!=typeof n.target&amp;&amp;(n.target=l(h,n.target)),d[n.source.index]=(d[n.source.index]||0)+1,d[n.target.index]=(d[n.target.index]||0)+1;for(e=0,p=new Array(f);e&lt;f;++e)n=t[e],p[e]=d[n.source.index]/(d[n.source.index]+d[n.target.index]);o=new Array(f),i(),c=new Array(f),a()}}function i(){if(u)for(var e=0,r=t.length;e&lt;r;++e)o[e]=+g(t[e],e,t)}function a(){if(u)for(var e=0,r=t.length;e&lt;r;++e)c[e]=+v(t[e],e,t)}var o,c,u,d,p,m=s,g=function(t){return 1/Math.min(d[t.source.index],d[t.target.index])},v=f(30),y=1;return null==t&amp;&amp;(t=[]),e.initialize=function(t){u=t,n()},e.links=function(r){return arguments.length?(t=r,n(),e):t},e.id=function(t){return arguments.length?(m=t,e):m},e.iterations=function(t){return arguments.length?(y=+t,e):y},e.strength=function(t){return arguments.length?(g=&quot;function&quot;==typeof t?t:f(+t),i(),e):g},e.distance=function(t){return arguments.length?(v=&quot;function&quot;==typeof t?t:f(+t),a(),e):v},e},t.forceManyBody=function(){function t(t){var r,l=a.length,f=e.quadtree(a,c,u).visitAfter(n);for(s=t,r=0;r&lt;l;++r)o=a[r],f.visit(i)}function r(){if(a){var t,e,r=a.length;for(l=new Array(r),t=0;t&lt;r;++t)e=a[t],l[e.index]=+d(e,t,a)}}function n(t){var e,r,n,i,a,o=0;if(t.length){for(n=i=a=0;a&lt;4;++a)(e=t[a])&amp;&amp;(r=e.value)&amp;&amp;(o+=r,n+=r*e.x,i+=r*e.y);t.x=n/o,t.y=i/o}else{(e=t).x=e.data.x,e.y=e.data.y;do{o+=l[e.data.index]}while(e=e.next)}t.value=o}function i(t,e,r,n){if(!t.value)return!0;var i=t.x-o.x,a=t.y-o.y,c=n-e,u=i*i+a*a;if(c*c/g&lt;u)return u&lt;m&amp;&amp;(0===i&amp;&amp;(i=h(),u+=i*i),0===a&amp;&amp;(a=h(),u+=a*a),u&lt;p&amp;&amp;(u=Math.sqrt(p*u)),o.vx+=i*t.value*s/u,o.vy+=a*t.value*s/u),!0;if(!(t.length||u&gt;=m)){(t.data!==o||t.next)&amp;&amp;(0===i&amp;&amp;(i=h(),u+=i*i),0===a&amp;&amp;(a=h(),u+=a*a),u&lt;p&amp;&amp;(u=Math.sqrt(p*u)));do{t.data!==o&amp;&amp;(c=l[t.data.index]*s/u,o.vx+=i*c,o.vy+=a*c)}while(t=t.next)}}var a,o,s,l,d=f(-30),p=1,m=1/0,g=.81;return t.initialize=function(t){a=t,r()},t.strength=function(e){return arguments.length?(d=&quot;function&quot;==typeof e?e:f(+e),r(),t):d},t.distanceMin=function(e){return arguments.length?(p=e*e,t):Math.sqrt(p)},t.distanceMax=function(e){return arguments.length?(m=e*e,t):Math.sqrt(m)},t.theta=function(e){return arguments.length?(g=e*e,t):Math.sqrt(g)},t},t.forceSimulation=function(t){function e(){a(),y.call(&quot;tick&quot;,l),c&lt;u&amp;&amp;(v.stop(),y.call(&quot;end&quot;,l))}function a(){var e,r,n=t.length;for(c+=(h-c)*f,g.each(function(t){t(c)}),e=0;e&lt;n;++e)null==(r=t[e]).fx?r.x+=r.vx*=m:(r.x=r.fx,r.vx=0),null==r.fy?r.y+=r.vy*=m:(r.y=r.fy,r.vy=0)}function o(){for(var e,r=0,n=t.length;r&lt;n;++r){if(e=t[r],e.index=r,isNaN(e.x)||isNaN(e.y)){var i=d*Math.sqrt(r),a=r*p;e.x=i*Math.cos(a),e.y=i*Math.sin(a)}(isNaN(e.vx)||isNaN(e.vy))&amp;&amp;(e.vx=e.vy=0)}}function s(e){return e.initialize&amp;&amp;e.initialize(t),e}var l,c=1,u=.001,f=1-Math.pow(u,1/300),h=0,m=.6,g=r.map(),v=i.timer(e),y=n.dispatch(&quot;tick&quot;,&quot;end&quot;);return null==t&amp;&amp;(t=[]),o(),l={tick:a,restart:function(){return v.restart(e),l},stop:function(){return v.stop(),l},nodes:function(e){return arguments.length?(t=e,o(),g.each(s),l):t},alpha:function(t){return arguments.length?(c=+t,l):c},alphaMin:function(t){return arguments.length?(u=+t,l):u},alphaDecay:function(t){return arguments.length?(f=+t,l):+f},alphaTarget:function(t){return arguments.length?(h=+t,l):h},velocityDecay:function(t){return arguments.length?(m=1-t,l):1-m},force:function(t,e){return arguments.length&gt;1?(null==e?g.remove(t):g.set(t,s(e)),l):g.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&lt;u;++c)(o=(i=e-(s=t[c]).x)*i+(a=r-s.y)*a)&lt;n&amp;&amp;(l=s,n=o);return l},on:function(t,e){return arguments.length&gt;1?(y.on(t,e),l):y.on(t)}}},t.forceX=function(t){function e(t){for(var e,r=0,o=n.length;r&lt;o;++r)(e=n[r]).vx+=(a[r]-e.x)*i[r]*t}function r(){if(n){var e,r=n.length;for(i=new Array(r),a=new Array(r),e=0;e&lt;r;++e)i[e]=isNaN(a[e]=+t(n[e],e,n))?0:+o(n[e],e,n)}}var n,i,a,o=f(.1);return&quot;function&quot;!=typeof t&amp;&amp;(t=f(null==t?0:+t)),e.initialize=function(t){n=t,r()},e.strength=function(t){return arguments.length?(o=&quot;function&quot;==typeof t?t:f(+t),r(),e):o},e.x=function(n){return arguments.length?(t=&quot;function&quot;==typeof n?n:f(+n),r(),e):t},e},t.forceY=function(t){function e(t){for(var e,r=0,o=n.length;r&lt;o;++r)(e=n[r]).vy+=(a[r]-e.y)*i[r]*t}function r(){if(n){var e,r=n.length;for(i=new Array(r),a=new Array(r),e=0;e&lt;r;++e)i[e]=isNaN(a[e]=+t(n[e],e,n))?0:+o(n[e],e,n)}}var n,i,a,o=f(.1);return&quot;function&quot;!=typeof t&amp;&amp;(t=f(null==t?0:+t)),e.initialize=function(t){n=t,r()},e.strength=function(t){return arguments.length?(o=&quot;function&quot;==typeof t?t:f(+t),r(),e):o},e.y=function(n){return arguments.length?(t=&quot;function&quot;==typeof n?n:f(+n),r(),e):t},e},Object.defineProperty(t,&quot;__esModule&quot;,{value:!0})})},{&quot;d3-collection&quot;:121,&quot;d3-dispatch&quot;:123,&quot;d3-quadtree&quot;:126,&quot;d3-timer&quot;:127}],125:[function(t,e,r){!function(n,i){&quot;object&quot;==typeof r&amp;&amp;void 0!==e?i(r,t(&quot;d3-color&quot;)):i(n.d3=n.d3||{},n.d3)}(this,function(t,e){&quot;use strict&quot;;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,e){return function(r){return t+r*e}}function i(t,e){var r=e-t;return r?n(t,r&gt;180||r&lt;-180?r-360*Math.round(r/360):r):x(isNaN(t)?e:t)}function a(t){return 1==(t=+t)?o: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):x(isNaN(e)?r:e)}}function o(t,e){var r=e-t;return r?n(t,r):x(isNaN(t)?e:t)}function s(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&lt;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+&quot;&quot;}}}function l(t,e,r,n){function i(t){return t.length?t.pop()+&quot; &quot;:&quot;&quot;}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(&quot;translate(&quot;,null,e,null,r);s.push({i:l-4,x:A(t,i)},{i:l-2,x:A(n,a)})}else(i||a)&amp;&amp;o.push(&quot;translate(&quot;+i+e+a+r)}(a.translateX,a.translateY,o.translateX,o.translateY,s,l),function(t,e,r,a){t!==e?(t-e&gt;180?e+=360:e-t&gt;180&amp;&amp;(t+=360),a.push({i:r.push(i(r)+&quot;rotate(&quot;,null,n)-2,x:A(t,e)})):e&amp;&amp;r.push(i(r)+&quot;rotate(&quot;+e+n)}(a.rotate,o.rotate,s,l),function(t,e,r,a){t!==e?a.push({i:r.push(i(r)+&quot;skewX(&quot;,null,n)-2,x:A(t,e)}):e&amp;&amp;r.push(i(r)+&quot;skewX(&quot;+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)+&quot;scale(&quot;,null,&quot;,&quot;,null,&quot;)&quot;);o.push({i:s-4,x:A(t,r)},{i:s-2,x:A(e,n)})}else 1===r&amp;&amp;1===n||a.push(i(a)+&quot;scale(&quot;+r+&quot;,&quot;+n+&quot;)&quot;)}(a.scaleX,a.scaleY,o.scaleX,o.scaleY,s,l),a=o=null,function(t){for(var e,r=-1,n=l.length;++r&lt;n;)s[(e=l[r]).i]=e.x(t);return s.join(&quot;&quot;)}}}function c(t){return((t=Math.exp(t))+1/t)/2}function u(t){return function(r,n){var i=t((r=e.hsl(r)).h,(n=e.hsl(n)).h),a=o(r.s,n.s),s=o(r.l,n.l),l=o(r.opacity,n.opacity);return function(t){return r.h=i(t),r.s=a(t),r.l=s(t),r.opacity=l(t),r+&quot;&quot;}}}function f(t){return function(r,n){var i=t((r=e.hcl(r)).h,(n=e.hcl(n)).h),a=o(r.c,n.c),s=o(r.l,n.l),l=o(r.opacity,n.opacity);return function(t){return r.h=i(t),r.c=a(t),r.l=s(t),r.opacity=l(t),r+&quot;&quot;}}}function h(t){return function r(n){function i(r,i){var a=t((r=e.cubehelix(r)).h,(i=e.cubehelix(i)).h),s=o(r.s,i.s),l=o(r.l,i.l),c=o(r.opacity,i.opacity);return function(t){return r.h=a(t),r.s=s(t),r.l=l(Math.pow(t,n)),r.opacity=c(t),r+&quot;&quot;}}return n=+n,i.gamma=r,i}(1)}var d,p,m,g,v=function(t){var e=t.length-1;return function(n){var i=n&lt;=0?n=0:n&gt;=1?(n=1,e-1):Math.floor(n*e),a=t[i],o=t[i+1],s=i&gt;0?t[i-1]:2*a-o,l=i&lt;e-1?t[i+2]:2*o-a;return r((n-i/e)*e,s,a,o,l)}},y=function(t){var e=t.length;return function(n){var i=Math.floor(((n%=1)&lt;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)}},x=function(t){return function(){return t}},b=function t(r){function n(t,r){var n=i((t=e.rgb(t)).r,(r=e.rgb(r)).r),a=i(t.g,r.g),s=i(t.b,r.b),l=o(t.opacity,r.opacity);return function(e){return t.r=n(e),t.g=a(e),t.b=s(e),t.opacity=l(e),t+&quot;&quot;}}var i=a(r);return n.gamma=t,n}(1),_=s(v),w=s(y),M=function(t,e){var r,n=e?e.length:0,i=t?Math.min(n,t.length):0,a=new Array(n),o=new Array(n);for(r=0;r&lt;i;++r)a[r]=C(t[r],e[r]);for(;r&lt;n;++r)o[r]=e[r];return function(t){for(r=0;r&lt;i;++r)o[r]=a[r](t);return o}},k=function(t,e){var r=new Date;return t=+t,e-=t,function(n){return r.setTime(t+e*n),r}},A=function(t,e){return t=+t,e-=t,function(r){return t+e*r}},T=function(t,e){var r,n={},i={};null!==t&amp;&amp;&quot;object&quot;==typeof t||(t={}),null!==e&amp;&amp;&quot;object&quot;==typeof e||(e={});for(r in e)r in t?n[r]=C(t[r],e[r]):i[r]=e[r];return function(t){for(r in n)i[r]=n[r](t);return i}},S=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,E=new RegExp(S.source,&quot;g&quot;),L=function(t,e){var r,n,i,a=S.lastIndex=E.lastIndex=0,o=-1,s=[],l=[];for(t+=&quot;&quot;,e+=&quot;&quot;;(r=S.exec(t))&amp;&amp;(n=E.exec(e));)(i=n.index)&gt;a&amp;&amp;(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:A(r,n)})),a=E.lastIndex;return a&lt;e.length&amp;&amp;(i=e.slice(a),s[o]?s[o]+=i:s[++o]=i),s.length&lt;2?l[0]?function(t){return function(e){return t(e)+&quot;&quot;}}(l[0].x):function(t){return function(){return t}}(e):(e=l.length,function(t){for(var r,n=0;n&lt;e;++n)s[(r=l[n]).i]=r.x(t);return s.join(&quot;&quot;)})},C=function(t,r){var n,i=typeof r;return null==r||&quot;boolean&quot;===i?x(r):(&quot;number&quot;===i?A:&quot;string&quot;===i?(n=e.color(r))?(r=n,b):L:r instanceof e.color?b:r instanceof Date?k:Array.isArray(r)?M:isNaN(r)?T:A)(t,r)},z=180/Math.PI,D={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1},I=function(t,e,r,n,i,a){var o,s,l;return(o=Math.sqrt(t*t+e*e))&amp;&amp;(t/=o,e/=o),(l=t*r+e*n)&amp;&amp;(r-=t*l,n-=e*l),(s=Math.sqrt(r*r+n*n))&amp;&amp;(r/=s,n/=s,l/=s),t*n&lt;e*r&amp;&amp;(t=-t,e=-e,l=-l,o=-o),{translateX:i,translateY:a,rotate:Math.atan2(e,t)*z,skewX:Math.atan(l)*z,scaleX:o,scaleY:s}},P=l(function(t){return&quot;none&quot;===t?D:(d||(d=document.createElement(&quot;DIV&quot;),p=document.documentElement,m=document.defaultView),d.style.transform=t,t=m.getComputedStyle(p.appendChild(d),null).getPropertyValue(&quot;transform&quot;),p.removeChild(d),t=t.slice(7,-1).split(&quot;,&quot;),I(+t[0],+t[1],+t[2],+t[3],+t[4],+t[5]))},&quot;px, &quot;,&quot;px)&quot;,&quot;deg)&quot;),O=l(function(t){return null==t?D:(g||(g=document.createElementNS(&quot;http://www.w3.org/2000/svg&quot;,&quot;g&quot;)),g.setAttribute(&quot;transform&quot;,t),(t=g.transform.baseVal.consolidate())?(t=t.matrix,I(t.a,t.b,t.c,t.d,t.e,t.f)):D)},&quot;, &quot;,&quot;)&quot;,&quot;)&quot;),F=Math.SQRT2,R=u(i),N=u(o),j=f(i),B=f(o),U=h(i),V=h(o);t.interpolate=C,t.interpolateArray=M,t.interpolateBasis=v,t.interpolateBasisClosed=y,t.interpolateDate=k,t.interpolateNumber=A,t.interpolateObject=T,t.interpolateRound=function(t,e){return t=+t,e-=t,function(r){return Math.round(t+e*r)}},t.interpolateString=L,t.interpolateTransformCss=P,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],u=e[2],f=s-i,h=l-a,d=f*f+h*h;if(d&lt;1e-12)n=Math.log(u/o)/F,r=function(t){return[i+t*f,a+t*h,o*Math.exp(F*t*n)]};else{var p=Math.sqrt(d),m=(u*u-o*o+4*d)/(2*o*2*p),g=(u*u-o*o-4*d)/(2*u*2*p),v=Math.log(Math.sqrt(m*m+1)-m),y=Math.log(Math.sqrt(g*g+1)-g);n=(y-v)/F,r=function(t){var e=t*n,r=c(v),s=o/(2*p)*(r*function(t){return((t=Math.exp(2*t))-1)/(t+1)}(F*e+v)-function(t){return((t=Math.exp(t))-1/t)/2}(v));return[i+s*f,a+s*h,o*r/c(F*e+v)]}}return r.duration=1e3*n,r},t.interpolateRgb=b,t.interpolateRgbBasis=_,t.interpolateRgbBasisClosed=w,t.interpolateHsl=R,t.interpolateHslLong=N,t.interpolateLab=function(t,r){var n=o((t=e.lab(t)).l,(r=e.lab(r)).l),i=o(t.a,r.a),a=o(t.b,r.b),s=o(t.opacity,r.opacity);return function(e){return t.l=n(e),t.a=i(e),t.b=a(e),t.opacity=s(e),t+&quot;&quot;}},t.interpolateHcl=j,t.interpolateHclLong=B,t.interpolateCubehelix=U,t.interpolateCubehelixLong=V,t.quantize=function(t,e){for(var r=new Array(e),n=0;n&lt;e;++n)r[n]=t(n/(e-1));return r},Object.defineProperty(t,&quot;__esModule&quot;,{value:!0})})},{&quot;d3-color&quot;:122}],126:[function(t,e,r){!function(t,n){n(&quot;object&quot;==typeof r&amp;&amp;void 0!==e?r:t.d3=t.d3||{})}(this,function(t){&quot;use strict&quot;;function e(t,e,r,n){if(isNaN(e)||isNaN(r))return t;var i,a,o,s,l,c,u,f,h,d=t._root,p={data:n},m=t._x0,g=t._y0,v=t._x1,y=t._y1;if(!d)return t._root=p,t;for(;d.length;)if((c=e&gt;=(a=(m+v)/2))?m=a:v=a,(u=r&gt;=(o=(g+y)/2))?g=o:y=o,i=d,!(d=d[f=u&lt;&lt;1|c]))return i[f]=p,t;if(s=+t._x.call(null,d.data),l=+t._y.call(null,d.data),e===s&amp;&amp;r===l)return p.next=d,i?i[f]=p:t._root=p,t;do{i=i?i[f]=new Array(4):t._root=new Array(4),(c=e&gt;=(a=(m+v)/2))?m=a:v=a,(u=r&gt;=(o=(g+y)/2))?g=o:y=o}while((f=u&lt;&lt;1|c)==(h=(l&gt;=o)&lt;&lt;1|s&gt;=a));return i[h]=d,i[f]=p,t}function r(t,e,r){var i=new n(null==e?function(t){return t[0]}:e,null==r?function(t){return t[1]}:r,NaN,NaN,NaN,NaN);return null==t?i:i.addAll(t)}function n(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 i(t){for(var e={data:t.data},r=e;t=t.next;)r=r.next={data:t.data};return e}var a=function(t,e,r,n,i){this.node=t,this.x0=e,this.y0=r,this.x1=n,this.y1=i},o=r.prototype=n.prototype;o.copy=function(){var t,e,r=new n(this._x,this._y,this._x0,this._y0,this._x1,this._y1),a=this._root;if(!a)return r;if(!a.length)return r._root=i(a),r;for(t=[{source:a,target:r._root=new Array(4)}];a=t.pop();)for(var o=0;o&lt;4;++o)(e=a.source[o])&amp;&amp;(e.length?t.push({source:e,target:a.target[o]=new Array(4)}):a.target[o]=i(e));return r},o.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)},o.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&lt;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&lt;c&amp;&amp;(c=i),i&gt;f&amp;&amp;(f=i),a&lt;u&amp;&amp;(u=a),a&gt;h&amp;&amp;(h=a));for(f&lt;c&amp;&amp;(c=this._x0,f=this._x1),h&lt;u&amp;&amp;(u=this._y0,h=this._y1),this.cover(c,u).cover(f,h),n=0;n&lt;o;++n)e(this,s[n],l[n],t[n]);return this},o.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{if(!(r&gt;t||t&gt;i||n&gt;e||e&gt;a))return this;var o,s,l=i-r,c=this._root;switch(s=(e&lt;(n+a)/2)&lt;&lt;1|t&lt;(r+i)/2){case 0:do{o=new Array(4),o[s]=c,c=o}while(l*=2,i=r+l,a=n+l,t&gt;i||e&gt;a);break;case 1:do{o=new Array(4),o[s]=c,c=o}while(l*=2,r=i-l,a=n+l,r&gt;t||e&gt;a);break;case 2:do{o=new Array(4),o[s]=c,c=o}while(l*=2,i=r+l,n=a-l,t&gt;i||n&gt;e);break;case 3:do{o=new Array(4),o[s]=c,c=o}while(l*=2,r=i-l,n=a-l,r&gt;t||n&gt;e)}this._root&amp;&amp;this._root.length&amp;&amp;(this._root=c)}return this._x0=r,this._y0=n,this._x1=i,this._y1=a,this},o.data=function(){var t=[];return this.visit(function(e){if(!e.length)do{t.push(e.data)}while(e=e.next)}),t},o.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]]},o.find=function(t,e,r){var n,i,o,s,l,c,u,f=this._x0,h=this._y0,d=this._x1,p=this._y1,m=[],g=this._root;for(g&amp;&amp;m.push(new a(g,f,h,d,p)),null==r?r=1/0:(f=t-r,h=e-r,d=t+r,p=e+r,r*=r);c=m.pop();)if(!(!(g=c.node)||(i=c.x0)&gt;d||(o=c.y0)&gt;p||(s=c.x1)&lt;f||(l=c.y1)&lt;h))if(g.length){var v=(i+s)/2,y=(o+l)/2;m.push(new a(g[3],v,y,s,l),new a(g[2],i,y,v,l),new a(g[1],v,o,s,y),new a(g[0],i,o,v,y)),(u=(e&gt;=y)&lt;&lt;1|t&gt;=v)&amp;&amp;(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(_&lt;r){var w=Math.sqrt(r=_);f=t-w,h=e-w,d=t+w,p=e+w,n=g.data}}return n},o.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,d=this._root,p=this._x0,m=this._y0,g=this._x1,v=this._y1;if(!d)return this;if(d.length)for(;;){if((c=a&gt;=(s=(p+g)/2))?p=s:g=s,(u=o&gt;=(l=(m+v)/2))?m=l:v=l,e=d,!(d=d[f=u&lt;&lt;1|c]))return this;if(!d.length)break;(e[f+1&amp;3]||e[f+2&amp;3]||e[f+3&amp;3])&amp;&amp;(r=e,h=f)}for(;d.data!==t;)if(n=d,!(d=d.next))return this;return(i=d.next)&amp;&amp;delete d.next,n?(i?n.next=i:delete n.next,this):e?(i?e[f]=i:delete e[f],(d=e[0]||e[1]||e[2]||e[3])&amp;&amp;d===(e[3]||e[2]||e[1]||e[0])&amp;&amp;!d.length&amp;&amp;(r?r[h]=d:this._root=d),this):(this._root=i,this)},o.removeAll=function(t){for(var e=0,r=t.length;e&lt;r;++e)this.remove(t[e]);return this},o.root=function(){return this._root},o.size=function(){var t=0;return this.visit(function(e){if(!e.length)do{++t}while(e=e.next)}),t},o.visit=function(t){var e,r,n,i,o,s,l=[],c=this._root;for(c&amp;&amp;l.push(new a(c,this._x0,this._y0,this._x1,this._y1));e=l.pop();)if(!t(c=e.node,n=e.x0,i=e.y0,o=e.x1,s=e.y1)&amp;&amp;c.length){var u=(n+o)/2,f=(i+s)/2;(r=c[3])&amp;&amp;l.push(new a(r,u,f,o,s)),(r=c[2])&amp;&amp;l.push(new a(r,n,f,u,s)),(r=c[1])&amp;&amp;l.push(new a(r,u,i,o,f)),(r=c[0])&amp;&amp;l.push(new a(r,n,i,u,f))}return this},o.visitAfter=function(t){var e,r=[],n=[];for(this._root&amp;&amp;r.push(new a(this._root,this._x0,this._y0,this._x1,this._y1));e=r.pop();){var i=e.node;if(i.length){var o,s=e.x0,l=e.y0,c=e.x1,u=e.y1,f=(s+c)/2,h=(l+u)/2;(o=i[0])&amp;&amp;r.push(new a(o,s,l,f,h)),(o=i[1])&amp;&amp;r.push(new a(o,f,l,c,h)),(o=i[2])&amp;&amp;r.push(new a(o,s,h,f,u)),(o=i[3])&amp;&amp;r.push(new a(o,f,h,c,u))}n.push(e)}for(;e=n.pop();)t(e.node,e.x0,e.y0,e.x1,e.y1);return this},o.x=function(t){return arguments.length?(this._x=t,this):this._x},o.y=function(t){return arguments.length?(this._y=t,this):this._y},t.quadtree=r,Object.defineProperty(t,&quot;__esModule&quot;,{value:!0})})},{}],127:[function(t,e,r){!function(t,n){n(&quot;object&quot;==typeof r&amp;&amp;void 0!==e?r:t.d3=t.d3||{})}(this,function(t){&quot;use strict&quot;;function e(){return g||(x(r),g=y.now()+v)}function r(){g=0}function n(){this._call=this._time=this._next=null}function i(t,e,r){var i=new n;return i.restart(t,e,r),i}function a(){e(),++f;for(var t,r=c;r;)(t=g-r._time)&gt;=0&amp;&amp;r._call.call(null,t),r=r._next;--f}function o(){g=(m=y.now())+v,f=h=0;try{a()}finally{f=0,function(){var t,e,r=c,n=1/0;for(;r;)r._call?(n&gt;r._time&amp;&amp;(n=r._time),t=r,r=r._next):(e=r._next,r._next=null,r=t?t._next=e:c=e);u=t,l(n)}(),g=0}}function s(){var t=y.now(),e=t-m;e&gt;p&amp;&amp;(v-=e,m=t)}function l(t){if(!f){h&amp;&amp;(h=clearTimeout(h));var e=t-g;e&gt;24?(t&lt;1/0&amp;&amp;(h=setTimeout(o,e)),d&amp;&amp;(d=clearInterval(d))):(d||(m=g,d=setInterval(s,p)),f=1,x(o))}}var c,u,f=0,h=0,d=0,p=1e3,m=0,g=0,v=0,y=&quot;object&quot;==typeof performance&amp;&amp;performance.now?performance:Date,x=&quot;function&quot;==typeof requestAnimationFrame?requestAnimationFrame:function(t){setTimeout(t,17)};n.prototype=i.prototype={constructor:n,restart:function(t,r,n){if(&quot;function&quot;!=typeof t)throw new TypeError(&quot;callback is not a function&quot;);n=(null==n?e():+n)+(null==r?0:+r),this._next||u===this||(u?u._next=this:c=this,u=this),this._call=t,this._time=n,l()},stop:function(){this._call&amp;&amp;(this._call=null,this._time=1/0,l())}};t.now=e,t.timer=i,t.timerFlush=a,t.timeout=function(t,e,r){var i=new n;return e=null==e?0:+e,i.restart(function(r){i.stop(),t(r+e)},e,r),i},t.interval=function(t,r,i){var a=new n,o=r;return null==r?(a.restart(t,r,i),a):(r=+r,i=null==i?e():+i,a.restart(function e(n){n+=o,a.restart(e,o+=r,i),t(n)},r,i),a)},Object.defineProperty(t,&quot;__esModule&quot;,{value:!0})})},{}],128:[function(t,e,r){!function(){function t(t){return t&amp;&amp;(t.ownerDocument||t.document||t).documentElement}function r(t){return t&amp;&amp;(t.ownerDocument&amp;&amp;t.ownerDocument.defaultView||t.document&amp;&amp;t||t.defaultView)}function n(t,e){return t&lt;e?-1:t&gt;e?1:t&gt;=e?0:NaN}function i(t){return null===t?NaN:+t}function a(t){return!isNaN(t)}function o(t){return{left:function(e,r,n,i){for(arguments.length&lt;3&amp;&amp;(n=0),arguments.length&lt;4&amp;&amp;(i=e.length);n&lt;i;){var a=n+i&gt;&gt;&gt;1;t(e[a],r)&lt;0?n=a+1:i=a}return n},right:function(e,r,n,i){for(arguments.length&lt;3&amp;&amp;(n=0),arguments.length&lt;4&amp;&amp;(i=e.length);n&lt;i;){var a=n+i&gt;&gt;&gt;1;t(e[a],r)&gt;0?i=a:n=a+1}return n}}}function s(t){return t.length}function l(t,e){for(var r in e)Object.defineProperty(t.prototype,r,{value:e[r],enumerable:!1})}function c(){this._=Object.create(null)}function u(t){return(t+=&quot;&quot;)===oa||t[0]===sa?sa+t:t}function f(t){return(t+=&quot;&quot;)[0]===sa?t.slice(1):t}function h(t){return u(t)in this._}function d(t){return(t=u(t))in this._&amp;&amp;delete this._[t]}function p(){var t=[];for(var e in this._)t.push(f(e));return t}function m(){var t=0;for(var e in this._)++t;return t}function g(){for(var t in this._)return!1;return!0}function v(){this._=Object.create(null)}function y(t){return t}function x(t,e){if(e in t)return e;e=e.charAt(0).toUpperCase()+e.slice(1);for(var r=0,n=la.length;r&lt;n;++r){var i=la[r]+e;if(i in t)return i}}function b(){}function _(){}function w(t){function e(){for(var e,n=r,i=-1,a=n.length;++i&lt;a;)(e=n[i].on)&amp;&amp;e.apply(this,arguments);return t}var r=[],n=new c;return e.on=function(e,i){var a,o=n.get(e);return arguments.length&lt;2?o&amp;&amp;o.on:(o&amp;&amp;(o.on=null,r=r.slice(0,a=r.indexOf(o)).concat(r.slice(a+1)),n.remove(e)),i&amp;&amp;r.push(n.set(e,{on:i})),t)},e}function M(){Zi.event.preventDefault()}function k(){for(var t,e=Zi.event;t=e.sourceEvent;)e=t;return e}function A(t){for(var e=new _,r=0,n=arguments.length;++r&lt;n;)e[arguments[r]]=w(e);return e.of=function(r,n){return function(i){try{var a=i.sourceEvent=Zi.event;i.target=t,Zi.event=i,e[i.type].apply(r,n)}finally{Zi.event=a}}},e}function T(t){return ua(t,pa),t}function S(t){return&quot;function&quot;==typeof t?t:function(){return fa(t,this)}}function E(t){return&quot;function&quot;==typeof t?t:function(){return ha(t,this)}}function L(t,e){return t=Zi.ns.qualify(t),null==e?t.local?function(){this.removeAttributeNS(t.space,t.local)}:function(){this.removeAttribute(t)}:&quot;function&quot;==typeof e?t.local?function(){var r=e.apply(this,arguments);null==r?this.removeAttributeNS(t.space,t.local):this.setAttributeNS(t.space,t.local,r)}:function(){var r=e.apply(this,arguments);null==r?this.removeAttribute(t):this.setAttribute(t,r)}:t.local?function(){this.setAttributeNS(t.space,t.local,e)}:function(){this.setAttribute(t,e)}}function C(t){return t.trim().replace(/\s+/g,&quot; &quot;)}function z(t){return new RegExp(&quot;(?:^|\\s+)&quot;+Zi.requote(t)+&quot;(?:\\s+|$)&quot;,&quot;g&quot;)}function D(t){return(t+&quot;&quot;).trim().split(/^|\s+/)}function I(t,e){var r=(t=D(t).map(P)).length;return&quot;function&quot;==typeof e?function(){for(var n=-1,i=e.apply(this,arguments);++n&lt;r;)t[n](this,i)}:function(){for(var n=-1;++n&lt;r;)t[n](this,e)}}function P(t){var e=z(t);return function(r,n){if(i=r.classList)return n?i.add(t):i.remove(t);var i=r.getAttribute(&quot;class&quot;)||&quot;&quot;;n?(e.lastIndex=0,e.test(i)||r.setAttribute(&quot;class&quot;,C(i+&quot; &quot;+t))):r.setAttribute(&quot;class&quot;,C(i.replace(e,&quot; &quot;)))}}function O(t,e,r){return null==e?function(){this.style.removeProperty(t)}:&quot;function&quot;==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 F(t,e){return null==e?function(){delete this[t]}:&quot;function&quot;==typeof e?function(){var r=e.apply(this,arguments);null==r?delete this[t]:this[t]=r}:function(){this[t]=e}}function R(t){return&quot;function&quot;==typeof t?t:(t=Zi.ns.qualify(t)).local?function(){return this.ownerDocument.createElementNS(t.space,t.local)}:function(){var e=this.ownerDocument,r=this.namespaceURI;return r===ma&amp;&amp;e.documentElement.namespaceURI===ma?e.createElement(t):e.createElementNS(r,t)}}function N(){var t=this.parentNode;t&amp;&amp;t.removeChild(this)}function j(t){return{__data__:t}}function B(t){return function(){return da(this,t)}}function U(t,e){for(var r=0,n=t.length;r&lt;n;r++)for(var i,a=t[r],o=0,s=a.length;o&lt;s;o++)(i=a[o])&amp;&amp;e(i,o,r);return t}function V(t){return ua(t,va),t}function q(t,e,r){function n(){var e=this[i];e&amp;&amp;(this.removeEventListener(t,e,e.$),delete this[i])}var i=&quot;__on&quot;+t,a=t.indexOf(&quot;.&quot;),o=H;a&gt;0&amp;&amp;(t=t.slice(0,a));var s=ya.get(t);return s&amp;&amp;(t=s,o=G),a?e?function(){var a=o(e,Ki(arguments));n.call(this),this.addEventListener(t,this[i]=a,a.$=r),a._=e}:n:e?b:function(){var e,r=new RegExp(&quot;^__on([^.]+)&quot;+Zi.requote(t)+&quot;$&quot;);for(var n in this)if(e=n.match(r)){var i=this[n];this.removeEventListener(e[1],i,i.$),delete this[n]}}}function H(t,e){return function(r){var n=Zi.event;Zi.event=r,e[0]=this.__data__;try{t.apply(this,e)}finally{Zi.event=n}}}function G(t,e){var r=H(t,e);return function(t){var e=t.relatedTarget;e&amp;&amp;(e===this||8&amp;e.compareDocumentPosition(this))||r.call(this,t)}}function Y(e){var n=&quot;.dragsuppress-&quot;+ ++ba,i=&quot;click&quot;+n,a=Zi.select(r(e)).on(&quot;touchmove&quot;+n,M).on(&quot;dragstart&quot;+n,M).on(&quot;selectstart&quot;+n,M);if(null==xa&amp;&amp;(xa=!(&quot;onselectstart&quot;in e)&amp;&amp;x(e.style,&quot;userSelect&quot;)),xa){var o=t(e).style,s=o[xa];o[xa]=&quot;none&quot;}return function(t){if(a.on(n,null),xa&amp;&amp;(o[xa]=s),t){var e=function(){a.on(i,null)};a.on(i,function(){M(),e()},!0),setTimeout(e,0)}}}function W(t,e){e.changedTouches&amp;&amp;(e=e.changedTouches[0]);var n=t.ownerSVGElement||t;if(n.createSVGPoint){var i=n.createSVGPoint();if(_a&lt;0){var a=r(t);if(a.scrollX||a.scrollY){var o=(n=Zi.select(&quot;body&quot;).append(&quot;svg&quot;).style({position:&quot;absolute&quot;,top:0,left:0,margin:0,padding:0,border:&quot;none&quot;},&quot;important&quot;))[0][0].getScreenCTM();_a=!(o.f||o.e),n.remove()}}return _a?(i.x=e.pageX,i.y=e.pageY):(i.x=e.clientX,i.y=e.clientY),i=i.matrixTransform(t.getScreenCTM().inverse()),[i.x,i.y]}var s=t.getBoundingClientRect();return[e.clientX-s.left-t.clientLeft,e.clientY-s.top-t.clientTop]}function X(){return Zi.event.changedTouches[0].identifier}function Z(t){return t&gt;0?1:t&lt;0?-1:0}function J(t,e,r){return(e[0]-t[0])*(r[1]-t[1])-(e[1]-t[1])*(r[0]-t[0])}function K(t){return t&gt;1?0:t&lt;-1?ka:Math.acos(t)}function Q(t){return t&gt;1?Sa:t&lt;-1?-Sa:Math.asin(t)}function $(t){return((t=Math.exp(t))+1/t)/2}function tt(t){return(t=Math.sin(t/2))*t}function et(){}function rt(t,e,r){return this instanceof rt?(this.h=+t,this.s=+e,void(this.l=+r)):arguments.length&lt;2?t instanceof rt?new rt(t.h,t.s,t.l):gt(&quot;&quot;+t,vt,rt):new rt(t,e,r)}function nt(t,e,r){function n(t){return Math.round(255*function(t){return t&gt;360?t-=360:t&lt;0&amp;&amp;(t+=360),t&lt;60?i+(a-i)*t/60:t&lt;180?a:t&lt;240?i+(a-i)*(240-t)/60:i}(t))}var i,a;return t=isNaN(t)?0:(t%=360)&lt;0?t+360:t,e=isNaN(e)?0:e&lt;0?0:e&gt;1?1:e,r=r&lt;0?0:r&gt;1?1:r,a=r&lt;=.5?r*(1+e):r+e-r*e,i=2*r-a,new ht(n(t+120),n(t),n(t-120))}function it(t,e,r){return this instanceof it?(this.h=+t,this.c=+e,void(this.l=+r)):arguments.length&lt;2?t instanceof it?new it(t.h,t.c,t.l):t instanceof ot?lt(t.l,t.a,t.b):lt((t=yt((t=Zi.rgb(t)).r,t.g,t.b)).l,t.a,t.b):new it(t,e,r)}function at(t,e,r){return isNaN(t)&amp;&amp;(t=0),isNaN(e)&amp;&amp;(e=0),new ot(r,Math.cos(t*=Ea)*e,Math.sin(t)*e)}function ot(t,e,r){return this instanceof ot?(this.l=+t,this.a=+e,void(this.b=+r)):arguments.length&lt;2?t instanceof ot?new ot(t.l,t.a,t.b):t instanceof it?at(t.h,t.c,t.l):yt((t=ht(t)).r,t.g,t.b):new ot(t,e,r)}function st(t,e,r){var n=(t+16)/116,i=n+e/500,a=n-r/200;return i=ct(i)*Ra,n=ct(n)*Na,a=ct(a)*ja,new ht(ft(3.2404542*i-1.5371385*n-.4985314*a),ft(-.969266*i+1.8760108*n+.041556*a),ft(.0556434*i-.2040259*n+1.0572252*a))}function lt(t,e,r){return t&gt;0?new it(Math.atan2(r,e)*La,Math.sqrt(e*e+r*r),t):new it(NaN,NaN,t)}function ct(t){return t&gt;.206893034?t*t*t:(t-4/29)/7.787037}function ut(t){return t&gt;.008856?Math.pow(t,1/3):7.787037*t+4/29}function ft(t){return Math.round(255*(t&lt;=.00304?12.92*t:1.055*Math.pow(t,1/2.4)-.055))}function ht(t,e,r){return this instanceof ht?(this.r=~~t,this.g=~~e,void(this.b=~~r)):arguments.length&lt;2?t instanceof ht?new ht(t.r,t.g,t.b):gt(&quot;&quot;+t,ht,nt):new ht(t,e,r)}function dt(t){return new ht(t&gt;&gt;16,t&gt;&gt;8&amp;255,255&amp;t)}function pt(t){return dt(t)+&quot;&quot;}function mt(t){return t&lt;16?&quot;0&quot;+Math.max(0,t).toString(16):Math.min(255,t).toString(16)}function gt(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(&quot;,&quot;),n[1]){case&quot;hsl&quot;:return r(parseFloat(i[0]),parseFloat(i[1])/100,parseFloat(i[2])/100);case&quot;rgb&quot;:return e(bt(i[0]),bt(i[1]),bt(i[2]))}return(a=Va.get(t))?e(a.r,a.g,a.b):(null==t||&quot;#&quot;!==t.charAt(0)||isNaN(a=parseInt(t.slice(1),16))||(4===t.length?(o=(3840&amp;a)&gt;&gt;4,o|=o&gt;&gt;4,s=240&amp;a,s|=s&gt;&gt;4,l=15&amp;a,l|=l&lt;&lt;4):7===t.length&amp;&amp;(o=(16711680&amp;a)&gt;&gt;16,s=(65280&amp;a)&gt;&gt;8,l=255&amp;a)),e(o,s,l))}function vt(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&lt;.5?s/(o+a):s/(2-o-a),n=t==o?(e-r)/s+(e&lt;r?6:0):e==o?(r-t)/s+2:(t-e)/s+4,n*=60):(n=NaN,i=l&gt;0&amp;&amp;l&lt;1?0:n),new rt(n,i,l)}function yt(t,e,r){var n=ut((.4124564*(t=xt(t))+.3575761*(e=xt(e))+.1804375*(r=xt(r)))/Ra),i=ut((.2126729*t+.7151522*e+.072175*r)/Na);return ot(116*i-16,500*(n-i),200*(i-ut((.0193339*t+.119192*e+.9503041*r)/ja)))}function xt(t){return(t/=255)&lt;=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function bt(t){var e=parseFloat(t);return&quot;%&quot;===t.charAt(t.length-1)?Math.round(2.55*e):e}function _t(t){return&quot;function&quot;==typeof t?t:function(){return t}}function wt(t){return function(e,r,n){return 2===arguments.length&amp;&amp;&quot;function&quot;==typeof r&amp;&amp;(n=r,r=null),Mt(e,r,t,n)}}function Mt(t,e,r,n){function i(){var t,e=l.status;if(!e&amp;&amp;function(t){var e=t.responseType;return e&amp;&amp;&quot;text&quot;!==e?t.response:t.responseText}(l)||e&gt;=200&amp;&amp;e&lt;300||304===e){try{t=r.call(a,l)}catch(t){return void o.error.call(a,t)}o.load.call(a,t)}else o.error.call(a,l)}var a={},o=Zi.dispatch(&quot;beforesend&quot;,&quot;progress&quot;,&quot;load&quot;,&quot;error&quot;),s={},l=new XMLHttpRequest,c=null;return!this.XDomainRequest||&quot;withCredentials&quot;in l||!/^(http(s)?:)?\/\//.test(t)||(l=new XDomainRequest),&quot;onload&quot;in l?l.onload=l.onerror=i:l.onreadystatechange=function(){l.readyState&gt;3&amp;&amp;i()},l.onprogress=function(t){var e=Zi.event;Zi.event=t;try{o.progress.call(a,l)}finally{Zi.event=e}},a.header=function(t,e){return t=(t+&quot;&quot;).toLowerCase(),arguments.length&lt;2?s[t]:(null==e?delete s[t]:s[t]=e+&quot;&quot;,a)},a.mimeType=function(t){return arguments.length?(e=null==t?null:t+&quot;&quot;,a):e},a.responseType=function(t){return arguments.length?(c=t,a):c},a.response=function(t){return r=t,a},[&quot;get&quot;,&quot;post&quot;].forEach(function(t){a[t]=function(){return a.send.apply(a,[t].concat(Ki(arguments)))}}),a.send=function(r,n,i){if(2===arguments.length&amp;&amp;&quot;function&quot;==typeof n&amp;&amp;(i=n,n=null),l.open(r,t,!0),null==e||&quot;accept&quot;in s||(s.accept=e+&quot;,*/*&quot;),l.setRequestHeader)for(var u in s)l.setRequestHeader(u,s[u]);return null!=e&amp;&amp;l.overrideMimeType&amp;&amp;l.overrideMimeType(e),null!=c&amp;&amp;(l.responseType=c),null!=i&amp;&amp;a.on(&quot;error&quot;,i).on(&quot;load&quot;,function(t){i(null,t)}),o.beforesend.call(a,l),l.send(null==n?null:n),a},a.abort=function(){return l.abort(),a},Zi.rebind(a,o,&quot;on&quot;),null==n?a:a.get(function(t){return 1===t.length?function(e,r){t(null==e?r:null)}:t}(n))}function kt(t,e,r){var n=arguments.length;n&lt;2&amp;&amp;(e=0),n&lt;3&amp;&amp;(r=Date.now());var i={c:t,t:r+e,n:null};return Ha?Ha.n=i:qa=i,Ha=i,Ga||(Ya=clearTimeout(Ya),Ga=1,Wa(At)),i}function At(){var t=Tt(),e=St()-t;e&gt;24?(isFinite(e)&amp;&amp;(clearTimeout(Ya),Ya=setTimeout(At,e)),Ga=0):(Ga=1,Wa(At))}function Tt(){for(var t=Date.now(),e=qa;e;)t&gt;=e.t&amp;&amp;e.c(t-e.t)&amp;&amp;(e.c=null),e=e.n;return t}function St(){for(var t,e=qa,r=1/0;e;)e.c?(e.t&lt;r&amp;&amp;(r=e.t),e=(t=e).n):e=t?t.n=e.n:qa=e.n;return Ha=t,r}function Et(t,e){return e-(t?Math.ceil(Math.log(t)/Math.LN10):1)}function Lt(){this._=new Date(arguments.length&gt;1?Date.UTC.apply(this,arguments):arguments[0])}function Ct(t,e,r){function n(e){var r=t(e),n=a(r,1);return e-r&lt;n-e?r:n}function i(r){return e(r=t(new Qa(r-1)),1),r}function a(t,r){return e(t=new Qa(+t),r),t}function o(t,n,a){var o=i(t),s=[];if(a&gt;1)for(;o&lt;n;)r(o)%a||s.push(new Date(+o)),e(o,1);else for(;o&lt;n;)s.push(new Date(+o)),e(o,1);return s}t.floor=t,t.round=n,t.ceil=i,t.offset=a,t.range=o;var s=t.utc=zt(t);return s.floor=s,s.round=zt(n),s.ceil=zt(i),s.offset=zt(a),s.range=function(t,e,r){try{Qa=Lt;var n=new Lt;return n._=t,o(n,e,r)}finally{Qa=Date}},t}function zt(t){return function(e,r){try{Qa=Lt;var n=new Lt;return n._=e,t(n,r)._}finally{Qa=Date}}}function Dt(t,e,r){var n=t&lt;0?&quot;-&quot;:&quot;&quot;,i=(n?-t:t)+&quot;&quot;,a=i.length;return n+(a&lt;r?new Array(r-a+1).join(e)+i:i)}function It(t){return new RegExp(&quot;^(?:&quot;+t.map(Zi.requote).join(&quot;|&quot;)+&quot;)&quot;,&quot;i&quot;)}function Pt(t){for(var e=new c,r=-1,n=t.length;++r&lt;n;)e.set(t[r].toLowerCase(),r);return e}function Ot(t,e,r){eo.lastIndex=0;var n=eo.exec(e.slice(r,r+1));return n?(t.w=+n[0],r+n[0].length):-1}function Ft(t,e,r){eo.lastIndex=0;var n=eo.exec(e.slice(r));return n?(t.U=+n[0],r+n[0].length):-1}function Rt(t,e,r){eo.lastIndex=0;var n=eo.exec(e.slice(r));return n?(t.W=+n[0],r+n[0].length):-1}function Nt(t,e,r){eo.lastIndex=0;var n=eo.exec(e.slice(r,r+4));return n?(t.y=+n[0],r+n[0].length):-1}function jt(t,e,r){eo.lastIndex=0;var n=eo.exec(e.slice(r,r+2));return n?(t.y=function(t){return t+(t&gt;68?1900:2e3)}(+n[0]),r+n[0].length):-1}function Bt(t,e,r){return/^[+-]\d{4}$/.test(e=e.slice(r,r+5))?(t.Z=-e,r+5):-1}function Ut(t,e,r){eo.lastIndex=0;var n=eo.exec(e.slice(r,r+2));return n?(t.m=n[0]-1,r+n[0].length):-1}function Vt(t,e,r){eo.lastIndex=0;var n=eo.exec(e.slice(r,r+2));return n?(t.d=+n[0],r+n[0].length):-1}function qt(t,e,r){eo.lastIndex=0;var n=eo.exec(e.slice(r,r+3));return n?(t.j=+n[0],r+n[0].length):-1}function Ht(t,e,r){eo.lastIndex=0;var n=eo.exec(e.slice(r,r+2));return n?(t.H=+n[0],r+n[0].length):-1}function Gt(t,e,r){eo.lastIndex=0;var n=eo.exec(e.slice(r,r+2));return n?(t.M=+n[0],r+n[0].length):-1}function Yt(t,e,r){eo.lastIndex=0;var n=eo.exec(e.slice(r,r+2));return n?(t.S=+n[0],r+n[0].length):-1}function Wt(t,e,r){eo.lastIndex=0;var n=eo.exec(e.slice(r,r+3));return n?(t.L=+n[0],r+n[0].length):-1}function Xt(t){var e=t.getTimezoneOffset(),r=e&gt;0?&quot;-&quot;:&quot;+&quot;,n=aa(e)/60|0,i=aa(e)%60;return r+Dt(n,&quot;0&quot;,2)+Dt(i,&quot;0&quot;,2)}function Zt(t,e,r){ro.lastIndex=0;var n=ro.exec(e.slice(r,r+1));return n?r+n[0].length:-1}function Jt(t){for(var e=t.length,r=-1;++r&lt;e;)t[r][0]=this(t[r][0]);return function(e){for(var r=0,n=t[r];!n[1](e);)n=t[++r];return n[0](e)}}function Kt(){}function Qt(t,e,r){var n=r.s=t+e,i=n-t,a=n-i;r.t=t-a+(e-i)}function $t(t,e){t&amp;&amp;oo.hasOwnProperty(t.type)&amp;&amp;oo[t.type](t,e)}function te(t,e,r){var n,i=-1,a=t.length-r;for(e.lineStart();++i&lt;a;)n=t[i],e.point(n[0],n[1],n[2]);e.lineEnd()}function ee(t,e){var r=-1,n=t.length;for(e.polygonStart();++r&lt;n;)te(t[r],e,1);e.polygonEnd()}function re(){function t(t,e){e=e*Ea/2+ka/4;var r=(t*=Ea)-n,o=r&gt;=0?1:-1,s=o*r,l=Math.cos(e),c=Math.sin(e),u=a*c,f=i*l+u*Math.cos(s),h=u*o*Math.sin(s);lo.add(Math.atan2(h,f)),n=t,i=l,a=c}var e,r,n,i,a;co.point=function(o,s){co.point=t,n=(e=o)*Ea,i=Math.cos(s=(r=s)*Ea/2+ka/4),a=Math.sin(s)},co.lineEnd=function(){t(e,r)}}function ne(t){var e=t[0],r=t[1],n=Math.cos(r);return[n*Math.cos(e),n*Math.sin(e),Math.sin(r)]}function ie(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]}function ae(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 oe(t,e){t[0]+=e[0],t[1]+=e[1],t[2]+=e[2]}function se(t,e){return[t[0]*e,t[1]*e,t[2]*e]}function le(t){var e=Math.sqrt(t[0]*t[0]+t[1]*t[1]+t[2]*t[2]);t[0]/=e,t[1]/=e,t[2]/=e}function ce(t){return[Math.atan2(t[1],t[0]),Q(t[2])]}function ue(t,e){return aa(t[0]-e[0])&lt;wa&amp;&amp;aa(t[1]-e[1])&lt;wa}function fe(t,e){t*=Ea;var r=Math.cos(e*=Ea);he(r*Math.cos(t),r*Math.sin(t),Math.sin(e))}function he(t,e,r){ho+=(t-ho)/++uo,po+=(e-po)/uo,mo+=(r-mo)/uo}function de(){function t(t,i){t*=Ea;var a=Math.cos(i*=Ea),o=a*Math.cos(t),s=a*Math.sin(t),l=Math.sin(i),c=Math.atan2(Math.sqrt((c=r*l-n*s)*c+(c=n*o-e*l)*c+(c=e*s-r*o)*c),e*o+r*s+n*l);fo+=c,go+=c*(e+(e=o)),vo+=c*(r+(r=s)),yo+=c*(n+(n=l)),he(e,r,n)}var e,r,n;wo.point=function(i,a){i*=Ea;var o=Math.cos(a*=Ea);e=o*Math.cos(i),r=o*Math.sin(i),n=Math.sin(a),wo.point=t,he(e,r,n)}}function pe(){wo.point=fe}function me(){function t(t,e){t*=Ea;var r=Math.cos(e*=Ea),o=r*Math.cos(t),s=r*Math.sin(t),l=Math.sin(e),c=i*l-a*s,u=a*o-n*l,f=n*s-i*o,h=Math.sqrt(c*c+u*u+f*f),d=n*o+i*s+a*l,p=h&amp;&amp;-K(d)/h,m=Math.atan2(h,d);xo+=p*c,bo+=p*u,_o+=p*f,fo+=m,go+=m*(n+(n=o)),vo+=m*(i+(i=s)),yo+=m*(a+(a=l)),he(n,i,a)}var e,r,n,i,a;wo.point=function(o,s){e=o,r=s,wo.point=t,o*=Ea;var l=Math.cos(s*=Ea);n=l*Math.cos(o),i=l*Math.sin(o),a=Math.sin(s),he(n,i,a)},wo.lineEnd=function(){t(e,r),wo.lineEnd=pe,wo.point=fe}}function ge(t,e){function r(r,n){return r=t(r,n),e(r[0],r[1])}return t.invert&amp;&amp;e.invert&amp;&amp;(r.invert=function(r,n){return(r=e.invert(r,n))&amp;&amp;t.invert(r[0],r[1])}),r}function ve(){return!0}function ye(t,e,r,n,i){var a=[],o=[];if(t.forEach(function(t){if(!((e=t.length-1)&lt;=0)){var e,r=t[0],n=t[e];if(ue(r,n)){i.lineStart();for(var s=0;s&lt;e;++s)i.point((r=t[s])[0],r[1]);i.lineEnd()}else{var l=new be(r,t,null,!0),c=new be(r,null,l,!1);l.o=c,a.push(l),o.push(c),c=new be(n,null,l=new be(n,t,null,!1),!0),l.o=c,a.push(l),o.push(c)}}}),o.sort(e),xe(a),xe(o),a.length){for(var s=0,l=r,c=o.length;s&lt;c;++s)o[s].e=l=!l;for(var u,f,h=a[0];;){for(var d=h,p=!0;d.v;)if((d=d.n)===h)return;u=d.z,i.lineStart();do{if(d.v=d.o.v=!0,d.e){if(p)for(s=0,c=u.length;s&lt;c;++s)i.point((f=u[s])[0],f[1]);else n(d.x,d.n.x,1,i);d=d.n}else{if(p)for(s=(u=d.p.z).length-1;s&gt;=0;--s)i.point((f=u[s])[0],f[1]);else n(d.x,d.p.x,-1,i);d=d.p}u=(d=d.o).z,p=!p}while(!d.v);i.lineEnd()}}}function xe(t){if(e=t.length){for(var e,r,n=0,i=t[0];++n&lt;e;)i.n=r=t[n],r.p=i,i=r;i.n=r=t[0],r.p=i}}function be(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 _e(t,e,r,n){return function(i,a){function o(e,r){var n=i(e,r);t(e=n[0],r=n[1])&amp;&amp;a.point(e,r)}function s(t,e){var r=i(t,e);g.point(r[0],r[1])}function l(){y.point=s,g.lineStart()}function c(){y.point=o,g.lineEnd()}function u(t,e){m.push([t,e]);var r=i(t,e);b.point(r[0],r[1])}function f(){b.lineStart(),m=[]}function h(){u(m[0][0],m[0][1]),b.lineEnd();var t,e=b.clean(),r=x.buffer(),n=r.length;if(m.pop(),p.push(m),m=null,n)if(1&amp;e){var i,o=-1;if((n=(t=r[0]).length-1)&gt;0){for(_||(a.polygonStart(),_=!0),a.lineStart();++o&lt;n;)a.point((i=t[o])[0],i[1]);a.lineEnd()}}else n&gt;1&amp;&amp;2&amp;e&amp;&amp;r.push(r.pop().concat(r.shift())),d.push(r.filter(we))}var d,p,m,g=e(a),v=i.invert(n[0],n[1]),y={point:o,lineStart:l,lineEnd:c,polygonStart:function(){y.point=u,y.lineStart=f,y.lineEnd=h,d=[],p=[]},polygonEnd:function(){y.point=o,y.lineStart=l,y.lineEnd=c,d=Zi.merge(d);var t=function(t,e){var r=t[0],n=t[1],i=[Math.sin(r),-Math.cos(r),0],a=0,o=0;lo.reset();for(var s=0,l=e.length;s&lt;l;++s){var c=e[s],u=c.length;if(u)for(var f=c[0],h=f[0],d=f[1]/2+ka/4,p=Math.sin(d),m=Math.cos(d),g=1;;){g===u&amp;&amp;(g=0);var v=(t=c[g])[0],y=t[1]/2+ka/4,x=Math.sin(y),b=Math.cos(y),_=v-h,w=_&gt;=0?1:-1,M=w*_,k=M&gt;ka,A=p*x;if(lo.add(Math.atan2(A*w*Math.sin(M),m*b+A*Math.cos(M))),a+=k?_+w*Aa:_,k^h&gt;=r^v&gt;=r){var T=ae(ne(f),ne(t));le(T);var S=ae(i,T);le(S);var E=(k^_&gt;=0?-1:1)*Q(S[2]);(n&gt;E||n===E&amp;&amp;(T[0]||T[1]))&amp;&amp;(o+=k^_&gt;=0?1:-1)}if(!g++)break;h=v,p=x,m=b,f=t}}return(a&lt;-wa||a&lt;wa&amp;&amp;lo&lt;-wa)^1&amp;o}(v,p);d.length?(_||(a.polygonStart(),_=!0),ye(d,ke,t,r,a)):t&amp;&amp;(_||(a.polygonStart(),_=!0),a.lineStart(),r(null,null,1,a),a.lineEnd()),_&amp;&amp;(a.polygonEnd(),_=!1),d=p=null},sphere:function(){a.polygonStart(),a.lineStart(),r(null,null,1,a),a.lineEnd(),a.polygonEnd()}},x=Me(),b=e(x),_=!1;return y}}function we(t){return t.length&gt;1}function Me(){var t,e=[];return{lineStart:function(){e.push(t=[])},point:function(e,r){t.push([e,r])},lineEnd:b,buffer:function(){var r=e;return e=[],t=null,r},rejoin:function(){e.length&gt;1&amp;&amp;e.push(e.pop().concat(e.shift()))}}}function ke(t,e){return((t=t.x)[0]&lt;0?t[1]-Sa-wa:Sa-t[1])-((e=e.x)[0]&lt;0?e[1]-Sa-wa:Sa-e[1])}function Ae(t,e,r,n){return function(i){var a,o=i.a,s=i.b,l=o.x,c=o.y,u=0,f=1,h=s.x-l,d=s.y-c;if(a=t-l,h||!(a&gt;0)){if(a/=h,h&lt;0){if(a&lt;u)return;a&lt;f&amp;&amp;(f=a)}else if(h&gt;0){if(a&gt;f)return;a&gt;u&amp;&amp;(u=a)}if(a=r-l,h||!(a&lt;0)){if(a/=h,h&lt;0){if(a&gt;f)return;a&gt;u&amp;&amp;(u=a)}else if(h&gt;0){if(a&lt;u)return;a&lt;f&amp;&amp;(f=a)}if(a=e-c,d||!(a&gt;0)){if(a/=d,d&lt;0){if(a&lt;u)return;a&lt;f&amp;&amp;(f=a)}else if(d&gt;0){if(a&gt;f)return;a&gt;u&amp;&amp;(u=a)}if(a=n-c,d||!(a&lt;0)){if(a/=d,d&lt;0){if(a&gt;f)return;a&gt;u&amp;&amp;(u=a)}else if(d&gt;0){if(a&lt;u)return;a&lt;f&amp;&amp;(f=a)}return u&gt;0&amp;&amp;(i.a={x:l+u*h,y:c+u*d}),f&lt;1&amp;&amp;(i.b={x:l+f*h,y:c+f*d}),i}}}}}}function Te(t,e,r,n){function i(n,i){return aa(n[0]-t)&lt;wa?i&gt;0?0:3:aa(n[0]-r)&lt;wa?i&gt;0?2:1:aa(n[1]-e)&lt;wa?i&gt;0?1:0:i&gt;0?3:2}function a(t,e){return o(t.x,e.x)}function o(t,e){var r=i(t,1),n=i(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(s){function l(a,s,l,c){var u=0,f=0;if(null==a||(u=i(a,l))!==(f=i(s,l))||o(a,s)&lt;0^l&gt;0)do{c.point(0===u||3===u?t:r,u&gt;1?n:e)}while((u=(u+l+4)%4)!==f);else c.point(s[0],s[1])}function c(i,a){return t&lt;=i&amp;&amp;i&lt;=r&amp;&amp;e&lt;=a&amp;&amp;a&lt;=n}function u(t,e){c(t,e)&amp;&amp;s.point(t,e)}function f(t,e){var r=c(t=Math.max(-ko,Math.min(ko,t)),e=Math.max(-ko,Math.min(ko,e)));if(d&amp;&amp;p.push([t,e]),_)m=t,g=e,v=r,_=!1,r&amp;&amp;(s.lineStart(),s.point(t,e));else if(r&amp;&amp;b)s.point(t,e);else{var n={a:{x:y,y:x},b:{x:t,y:e}};A(n)?(b||(s.lineStart(),s.point(n.a.x,n.a.y)),s.point(n.b.x,n.b.y),r||s.lineEnd(),w=!1):r&amp;&amp;(s.lineStart(),s.point(t,e),w=!1)}y=t,x=e,b=r}var h,d,p,m,g,v,y,x,b,_,w,M=s,k=Me(),A=Ae(t,e,r,n),T={point:u,lineStart:function(){T.point=f,d&amp;&amp;d.push(p=[]),_=!0,b=!1,y=x=NaN},lineEnd:function(){h&amp;&amp;(f(m,g),v&amp;&amp;b&amp;&amp;k.rejoin(),h.push(k.buffer())),T.point=u,b&amp;&amp;s.lineEnd()},polygonStart:function(){s=k,h=[],d=[],w=!0},polygonEnd:function(){s=M,h=Zi.merge(h);var e=function(t){for(var e=0,r=d.length,n=t[1],i=0;i&lt;r;++i)for(var a,o=1,s=d[i],l=s.length,c=s[0];o&lt;l;++o)a=s[o],c[1]&lt;=n?a[1]&gt;n&amp;&amp;J(c,a,t)&gt;0&amp;&amp;++e:a[1]&lt;=n&amp;&amp;J(c,a,t)&lt;0&amp;&amp;--e,c=a;return 0!==e}([t,n]),r=w&amp;&amp;e,i=h.length;(r||i)&amp;&amp;(s.polygonStart(),r&amp;&amp;(s.lineStart(),l(null,null,1,s),s.lineEnd()),i&amp;&amp;ye(h,a,e,l,s),s.polygonEnd()),h=d=p=null}};return T}}function Se(t){var e=0,r=ka/3,n=je(t),i=n(e,r);return i.parallels=function(t){return arguments.length?n(e=t[0]*ka/180,r=t[1]*ka/180):[e/ka*180,r/ka*180]},i}function Ee(t,e){function r(t,e){var r=Math.sqrt(a-2*i*Math.sin(e))/i;return[r*Math.sin(t*=i),o-r*Math.cos(t)]}var n=Math.sin(t),i=(n+Math.sin(e))/2,a=1+n*(2*i-n),o=Math.sqrt(a)/i;return r.invert=function(t,e){var r=o-e;return[Math.atan2(t,r)/i,Q((a-(t*t+r*r)*i*i)/(2*i))]},r}function Le(){function t(t,e){To+=i*t-n*e,n=t,i=e}var e,r,n,i;zo.point=function(a,o){zo.point=t,e=n=a,r=i=o},zo.lineEnd=function(){t(e,r)}}function Ce(t){return&quot;m0,&quot;+t+&quot;a&quot;+t+&quot;,&quot;+t+&quot; 0 1,1 0,&quot;+-2*t+&quot;a&quot;+t+&quot;,&quot;+t+&quot; 0 1,1 0,&quot;+2*t+&quot;z&quot;}function ze(t,e){ho+=t,po+=e,++mo}function De(){function t(t,n){var i=t-e,a=n-r,o=Math.sqrt(i*i+a*a);go+=o*(e+t)/2,vo+=o*(r+n)/2,yo+=o,ze(e=t,r=n)}var e,r;Io.point=function(n,i){Io.point=t,ze(e=n,r=i)}}function Ie(){Io.point=ze}function Pe(){function t(t,e){var r=t-n,a=e-i,o=Math.sqrt(r*r+a*a);go+=o*(n+t)/2,vo+=o*(i+e)/2,yo+=o,xo+=(o=i*t-n*e)*(n+t),bo+=o*(i+e),_o+=3*o,ze(n=t,i=e)}var e,r,n,i;Io.point=function(a,o){Io.point=t,ze(e=n=a,r=i=o)},Io.lineEnd=function(){t(e,r)}}function Oe(t){function e(e){return(a?function(e){function n(r,n){r=t(r,n),e.point(r[0],r[1])}function i(){x=NaN,k.point=o,e.lineStart()}function o(n,i){var o=ne([n,i]),s=t(n,i);r(x,b,y,_,w,M,x=s[0],b=s[1],y=n,_=o[0],w=o[1],M=o[2],a,e),e.point(x,b)}function s(){k.point=n,e.lineEnd()}function l(){i(),k.point=c,k.lineEnd=u}function c(t,e){o(f=t,h=e),d=x,p=b,m=_,g=w,v=M,k.point=o}function u(){r(x,b,y,_,w,M,d,p,f,m,g,v,a,e),k.lineEnd=s,s()}var f,h,d,p,m,g,v,y,x,b,_,w,M,k={point:n,lineStart:i,lineEnd:s,polygonStart:function(){e.polygonStart(),k.lineStart=l},polygonEnd:function(){e.polygonEnd(),k.lineStart=i}};return k}:function(e){return Re(e,function(r,n){r=t(r,n),e.point(r[0],r[1])})})(e)}function r(e,a,o,s,l,c,u,f,h,d,p,m,g,v){var y=u-e,x=f-a,b=y*y+x*x;if(b&gt;4*n&amp;&amp;g--){var _=s+d,w=l+p,M=c+m,k=Math.sqrt(_*_+w*w+M*M),A=Math.asin(M/=k),T=aa(aa(M)-1)&lt;wa||aa(o-h)&lt;wa?(o+h)/2:Math.atan2(w,_),S=t(T,A),E=S[0],L=S[1],C=E-e,z=L-a,D=x*C-y*z;(D*D/b&gt;n||aa((y*C+x*z)/b-.5)&gt;.3||s*d+l*p+c*m&lt;i)&amp;&amp;(r(e,a,o,s,l,c,E,L,T,_/=k,w/=k,M,g,v),v.point(E,L),r(E,L,T,_,w,M,u,f,h,d,p,m,g,v))}}var n=.5,i=Math.cos(30*Ea),a=16;return e.precision=function(t){return arguments.length?(a=(n=t*t)&gt;0&amp;&amp;16,e):Math.sqrt(n)},e}function Fe(t){this.stream=t}function Re(t,e){return{point:e,sphere:function(){t.sphere()},lineStart:function(){t.lineStart()},lineEnd:function(){t.lineEnd()},polygonStart:function(){t.polygonStart()},polygonEnd:function(){t.polygonEnd()}}}function Ne(t){return je(function(){return t})()}function je(t){function e(t){return t=o(t[0]*Ea,t[1]*Ea),[t[0]*f+s,l-t[1]*f]}function r(){o=ge(a=qe(g,v,x),i);var t=i(p,m);return s=h-t[0]*f,l=d+t[1]*f,n()}function n(){return c&amp;&amp;(c.valid=!1,c=null),e}var i,a,o,s,l,c,u=Oe(function(t,e){return t=i(t,e),[t[0]*f+s,l-t[1]*f]}),f=150,h=480,d=250,p=0,m=0,g=0,v=0,x=0,b=Mo,_=y,w=null,M=null;return e.stream=function(t){return c&amp;&amp;(c.valid=!1),c=Be(b(a,u(_(t)))),c.valid=!0,c},e.clipAngle=function(t){return arguments.length?(b=null==t?(w=t,Mo):function(t){function e(t,e){return Math.cos(t)*Math.cos(e)&gt;i}function r(t,e,r){var n=[1,0,0],a=ae(ne(t),ne(e)),o=ie(a,a),s=a[0],l=o-s*s;if(!l)return!r&amp;&amp;t;var c=i*o/l,u=-i*s/l,f=ae(n,a),h=se(n,c);oe(h,se(a,u));var d=f,p=ie(h,d),m=ie(d,d),g=p*p-m*(ie(h,h)-1);if(!(g&lt;0)){var v=Math.sqrt(g),y=se(d,(-p-v)/m);if(oe(y,h),y=ce(y),!r)return y;var x,b=t[0],_=e[0],w=t[1],M=e[1];_&lt;b&amp;&amp;(x=b,b=_,_=x);var k=_-b,A=aa(k-ka)&lt;wa;if(!A&amp;&amp;M&lt;w&amp;&amp;(x=w,w=M,M=x),A||k&lt;wa?A?w+M&gt;0^y[1]&lt;(aa(y[0]-b)&lt;wa?w:M):w&lt;=y[1]&amp;&amp;y[1]&lt;=M:k&gt;ka^(b&lt;=y[0]&amp;&amp;y[0]&lt;=_)){var T=se(d,(-p+v)/m);return oe(T,h),[y,ce(T)]}}}function n(e,r){var n=a?t:ka-t,i=0;return e&lt;-n?i|=1:e&gt;n&amp;&amp;(i|=2),r&lt;-n?i|=4:r&gt;n&amp;&amp;(i|=8),i}var i=Math.cos(t),a=i&gt;0,o=aa(i)&gt;wa;return _e(e,function(t){var i,s,l,c,u;return{lineStart:function(){c=l=!1,u=1},point:function(f,h){var d,p=[f,h],m=e(f,h),g=a?m?0:n(f,h):m?n(f+(f&lt;0?ka:-ka),h):0;if(!i&amp;&amp;(c=l=m)&amp;&amp;t.lineStart(),m!==l&amp;&amp;(d=r(i,p),(ue(i,d)||ue(p,d))&amp;&amp;(p[0]+=wa,p[1]+=wa,m=e(p[0],p[1]))),m!==l)u=0,m?(t.lineStart(),d=r(p,i),t.point(d[0],d[1])):(d=r(i,p),t.point(d[0],d[1]),t.lineEnd()),i=d;else if(o&amp;&amp;i&amp;&amp;a^m){var v;g&amp;s||!(v=r(p,i,!0))||(u=0,a?(t.lineStart(),t.point(v[0][0],v[0][1]),t.point(v[1][0],v[1][1]),t.lineEnd()):(t.point(v[1][0],v[1][1]),t.lineEnd(),t.lineStart(),t.point(v[0][0],v[0][1])))}!m||i&amp;&amp;ue(i,p)||t.point(p[0],p[1]),i=p,l=m,s=g},lineEnd:function(){l&amp;&amp;t.lineEnd(),i=null},clean:function(){return u|(c&amp;&amp;l)&lt;&lt;1}}},We(t,6*Ea),a?[0,-t]:[-ka,t-ka])}((w=+t)*Ea),n()):w},e.clipExtent=function(t){return arguments.length?(M=t,_=t?Te(t[0][0],t[0][1],t[1][0],t[1][1]):y,n()):M},e.scale=function(t){return arguments.length?(f=+t,r()):f},e.translate=function(t){return arguments.length?(h=+t[0],d=+t[1],r()):[h,d]},e.center=function(t){return arguments.length?(p=t[0]%360*Ea,m=t[1]%360*Ea,r()):[p*La,m*La]},e.rotate=function(t){return arguments.length?(g=t[0]%360*Ea,v=t[1]%360*Ea,x=t.length&gt;2?t[2]%360*Ea:0,r()):[g*La,v*La,x*La]},Zi.rebind(e,u,&quot;precision&quot;),function(){return i=t.apply(this,arguments),e.invert=i.invert&amp;&amp;function(t){return(t=o.invert((t[0]-s)/f,(l-t[1])/f))&amp;&amp;[t[0]*La,t[1]*La]},r()}}function Be(t){return Re(t,function(e,r){t.point(e*Ea,r*Ea)})}function Ue(t,e){return[t,e]}function Ve(t,e){return[t&gt;ka?t-Aa:t&lt;-ka?t+Aa:t,e]}function qe(t,e,r){return t?e||r?ge(Ge(t),Ye(e,r)):Ge(t):e||r?Ye(e,r):Ve}function He(t){return function(e,r){return e+=t,[e&gt;ka?e-Aa:e&lt;-ka?e+Aa:e,r]}}function Ge(t){var e=He(t);return e.invert=He(-t),e}function Ye(t,e){function r(t,e){var r=Math.cos(e),s=Math.cos(t)*r,l=Math.sin(t)*r,c=Math.sin(e),u=c*n+s*i;return[Math.atan2(l*a-u*o,s*n-c*i),Q(u*a+l*o)]}var n=Math.cos(t),i=Math.sin(t),a=Math.cos(e),o=Math.sin(e);return r.invert=function(t,e){var r=Math.cos(e),s=Math.cos(t)*r,l=Math.sin(t)*r,c=Math.sin(e),u=c*a-l*o;return[Math.atan2(l*a+c*o,s*n+u*i),Q(u*n-s*i)]},r}function We(t,e){var r=Math.cos(t),n=Math.sin(t);return function(i,a,o,s){var l=o*e;null!=i?(i=Xe(r,i),a=Xe(r,a),(o&gt;0?i&lt;a:i&gt;a)&amp;&amp;(i+=o*Aa)):(i=t+o*Aa,a=t-.5*l);for(var c,u=i;o&gt;0?u&gt;a:u&lt;a;u-=l)s.point((c=ce([r,-n*Math.cos(u),-n*Math.sin(u)]))[0],c[1])}}function Xe(t,e){var r=ne(e);r[0]-=t,le(r);var n=K(-r[1]);return((-r[2]&lt;0?-n:n)+2*Math.PI-wa)%(2*Math.PI)}function Ze(t,e,r){var n=Zi.range(t,e-wa,r).concat(e);return function(t){return n.map(function(e){return[t,e]})}}function Je(t,e,r){var n=Zi.range(t,e-wa,r).concat(e);return function(t){return n.map(function(e){return[e,t]})}}function Ke(t){return t.source}function Qe(t){return t.target}function $e(t,e){function r(e,r){var n=Math.cos(e),i=Math.cos(r),a=t(n*i);return[a*i*Math.sin(e),a*Math.sin(r)]}return r.invert=function(t,r){var n=Math.sqrt(t*t+r*r),i=e(n),a=Math.sin(i),o=Math.cos(i);return[Math.atan2(t*a,n*o),Math.asin(n&amp;&amp;r*a/n)]},r}function tr(t,e){function r(t,e){o&gt;0?e&lt;-Sa+wa&amp;&amp;(e=-Sa+wa):e&gt;Sa-wa&amp;&amp;(e=Sa-wa);var r=o/Math.pow(i(e),a);return[r*Math.sin(a*t),o-r*Math.cos(a*t)]}var n=Math.cos(t),i=function(t){return Math.tan(ka/4+t/2)},a=t===e?Math.sin(t):Math.log(n/Math.cos(e))/Math.log(i(e)/i(t)),o=n*Math.pow(i(t),a)/a;return a?(r.invert=function(t,e){var r=o-e,n=Z(a)*Math.sqrt(t*t+r*r);return[Math.atan2(t,r)/a,2*Math.atan(Math.pow(o/n,1/a))-Sa]},r):rr}function er(t,e){function r(t,e){var r=a-e;return[r*Math.sin(i*t),a-r*Math.cos(i*t)]}var n=Math.cos(t),i=t===e?Math.sin(t):(n-Math.cos(e))/(e-t),a=n/i+t;return aa(i)&lt;wa?Ue:(r.invert=function(t,e){var r=a-e;return[Math.atan2(t,r)/i,a-Z(i)*Math.sqrt(t*t+r*r)]},r)}function rr(t,e){return[t,Math.log(Math.tan(ka/4+e/2))]}function nr(t){var e,r=Ne(t),n=r.scale,i=r.translate,a=r.clipExtent;return r.scale=function(){var t=n.apply(r,arguments);return t===r?e?r.clipExtent(null):r:t},r.translate=function(){var t=i.apply(r,arguments);return t===r?e?r.clipExtent(null):r:t},r.clipExtent=function(t){var o=a.apply(r,arguments);if(o===r){if(e=null==t){var s=ka*n(),l=i();a([[l[0]-s,l[1]-s],[l[0]+s,l[1]+s]])}}else e&amp;&amp;(o=null);return o},r.clipExtent(null)}function ir(t,e){return[Math.log(Math.tan(ka/4+e/2)),-t]}function ar(t){return t[0]}function or(t){return t[1]}function sr(t){for(var e=t.length,r=[0,1],n=2,i=2;i&lt;e;i++){for(;n&gt;1&amp;&amp;J(t[r[n-2]],t[r[n-1]],t[i])&lt;=0;)--n;r[n++]=i}return r.slice(0,n)}function lr(t,e){return t[0]-e[0]||t[1]-e[1]}function cr(t,e,r){return(r[0]-e[0])*(t[1]-e[1])&lt;(r[1]-e[1])*(t[0]-e[0])}function ur(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 fr(t){var e=t[0],r=t[t.length-1];return!(e[0]-r[0]||e[1]-r[1])}function hr(t){var e=Wo.pop()||new function(){Sr(this),this.edge=this.site=this.circle=null};return e.site=t,e}function dr(t){_r(t),Ho.remove(t),Wo.push(t),Sr(t)}function pr(t){var e=t.circle,r=e.x,n=e.cy,i={x:r,y:n},a=t.P,o=t.N,s=[t];dr(t);for(var l=a;l.circle&amp;&amp;aa(r-l.circle.x)&lt;wa&amp;&amp;aa(n-l.circle.cy)&lt;wa;)a=l.P,s.unshift(l),dr(l),l=a;s.unshift(l),_r(l);for(var c=o;c.circle&amp;&amp;aa(r-c.circle.x)&lt;wa&amp;&amp;aa(n-c.circle.cy)&lt;wa;)o=c.N,s.push(c),dr(c),c=o;s.push(c),_r(c);var u,f=s.length;for(u=1;u&lt;f;++u)c=s[u],l=s[u-1],kr(c.edge,l.site,c.site,i);l=s[0],(c=s[f-1]).edge=Mr(l.site,c.site,null,i),br(l),br(c)}function mr(t){for(var e,r,n,i,a=t.x,o=t.y,s=Ho._;s;)if((n=gr(s,o)-a)&gt;wa)s=s.L;else{if(!((i=a-function(t,e){var r=t.N;if(r)return gr(r,e);var n=t.site;return n.y===e?n.x:1/0}(s,o))&gt;wa)){n&gt;-wa?(e=s.P,r=s):i&gt;-wa?(e=s,r=s.N):e=r=s;break}if(!s.R){e=s;break}s=s.R}var l=hr(t);if(Ho.insert(e,l),e||r){if(e===r)return _r(e),r=hr(e.site),Ho.insert(l,r),l.edge=r.edge=Mr(e.site,l.site),br(e),void br(r);if(r){_r(e),_r(r);var c=e.site,u=c.x,f=c.y,h=t.x-u,d=t.y-f,p=r.site,m=p.x-u,g=p.y-f,v=2*(h*g-d*m),y=h*h+d*d,x=m*m+g*g,b={x:(g*y-d*x)/v+u,y:(h*x-m*y)/v+f};kr(r.edge,c,p,b),l.edge=Mr(c,t,null,b),r.edge=Mr(t,p,null,b),br(e),br(r)}else l.edge=Mr(e.site,l.site)}}function gr(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 vr(t){this.site=t,this.edges=[]}function yr(t){for(var e,r,n,i,a,o,s,l,c,u,f=t[0][0],h=t[1][0],d=t[0][1],p=t[1][1],m=qo,g=m.length;g--;)if((a=m[g])&amp;&amp;a.prepare())for(l=(s=a.edges).length,o=0;o&lt;l;)n=(u=s[o].end()).x,i=u.y,e=(c=s[++o%l].start()).x,r=c.y,(aa(n-e)&gt;wa||aa(i-r)&gt;wa)&amp;&amp;(s.splice(o,0,new Ar(function(t,e,r){var n=new wr(t,null);return n.a=e,n.b=r,Vo.push(n),n}(a.site,u,aa(n-f)&lt;wa&amp;&amp;p-i&gt;wa?{x:f,y:aa(e-f)&lt;wa?r:p}:aa(i-p)&lt;wa&amp;&amp;h-n&gt;wa?{x:aa(r-p)&lt;wa?e:h,y:p}:aa(n-h)&lt;wa&amp;&amp;i-d&gt;wa?{x:h,y:aa(e-h)&lt;wa?r:d}:aa(i-d)&lt;wa&amp;&amp;n-f&gt;wa?{x:aa(r-d)&lt;wa?e:f,y:d}:null),a.site,null)),++l)}function xr(t,e){return e.angle-t.angle}function br(t){var e=t.P,r=t.N;if(e&amp;&amp;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&gt;=-Ma)){var h=l*l+c*c,d=u*u+g*g,p=(g*h-c*d)/f,m=(l*d-u*h)/f,g=m+s,v=Xo.pop()||new function(){Sr(this),this.x=this.y=this.arc=this.site=this.cy=null};v.arc=t,v.site=i,v.x=p+o,v.y=g+Math.sqrt(p*p+m*m),v.cy=g,t.circle=v;for(var y=null,x=Yo._;x;)if(v.y&lt;x.y||v.y===x.y&amp;&amp;v.x&lt;=x.x){if(!x.L){y=x.P;break}x=x.L}else{if(!x.R){y=x;break}x=x.R}Yo.insert(y,v),y||(Go=v)}}}}function _r(t){var e=t.circle;e&amp;&amp;(e.P||(Go=e.N),Yo.remove(e),Xo.push(e),Sr(e),t.circle=null)}function wr(t,e){this.l=t,this.r=e,this.a=this.b=null}function Mr(t,e,r,n){var i=new wr(t,e);return Vo.push(i),r&amp;&amp;kr(i,t,e,r),n&amp;&amp;kr(i,e,t,n),qo[t.i].edges.push(new Ar(i,t,e)),qo[e.i].edges.push(new Ar(i,e,t)),i}function kr(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 Ar(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 Sr(t){t.U=t.C=t.L=t.R=t.P=t.N=null}function Er(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&amp;&amp;(r.R.U=r),n.L=r}function Lr(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&amp;&amp;(r.L.U=r),n.R=r}function Cr(t){for(;t.L;)t=t.L;return t}function zr(t,e){var r,n,i,a=t.sort(Dr).pop();for(Vo=[],qo=new Array(t.length),Ho=new Tr,Yo=new Tr;;)if(i=Go,a&amp;&amp;(!i||a.y&lt;i.y||a.y===i.y&amp;&amp;a.x&lt;i.x))a.x===r&amp;&amp;a.y===n||(qo[a.i]=new vr(a),mr(a),r=a.x,n=a.y),a=t.pop();else{if(!i)break;pr(i.arc)}e&amp;&amp;(function(t){for(var e,r=Vo,n=Ae(t[0][0],t[0][1],t[1][0],t[1][1]),i=r.length;i--;)(!function(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,d=u.y,p=f.x,m=f.y,g=(h+p)/2,v=(d+m)/2;if(m===d){if(g&lt;o||g&gt;=s)return;if(h&gt;p){if(a){if(a.y&gt;=c)return}else a={x:g,y:l};r={x:g,y:c}}else{if(a){if(a.y&lt;l)return}else a={x:g,y:c};r={x:g,y:l}}}else if(n=(h-p)/(m-d),i=v-n*g,n&lt;-1||n&gt;1)if(h&gt;p){if(a){if(a.y&gt;=c)return}else a={x:(l-i)/n,y:l};r={x:(c-i)/n,y:c}}else{if(a){if(a.y&lt;l)return}else a={x:(c-i)/n,y:c};r={x:(l-i)/n,y:l}}else if(d&lt;m){if(a){if(a.x&gt;=s)return}else a={x:o,y:n*o+i};r={x:s,y:n*s+i}}else{if(a){if(a.x&lt;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}(e=r[i],t)||!n(e)||aa(e.a.x-e.b.x)&lt;wa&amp;&amp;aa(e.a.y-e.b.y)&lt;wa)&amp;&amp;(e.a=e.b=null,r.splice(i,1))}(e),yr(e));var o={cells:qo,edges:Vo};return Ho=Yo=Vo=qo=null,o}function Dr(t,e){return e.y-t.y||e.x-t.x}function Ir(t){return t.x}function Pr(t){return t.y}function Or(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]&amp;&amp;Or(t,l[0],r,n,o,s),l[1]&amp;&amp;Or(t,l[1],o,n,i,s),l[2]&amp;&amp;Or(t,l[2],r,s,o,a),l[3]&amp;&amp;Or(t,l[3],o,s,i,a)}}function Fr(t,e){t=Zi.rgb(t),e=Zi.rgb(e);var r=t.r,n=t.g,i=t.b,a=e.r-r,o=e.g-n,s=e.b-i;return function(t){return&quot;#&quot;+mt(Math.round(r+a*t))+mt(Math.round(n+o*t))+mt(Math.round(i+s*t))}}function Rr(t,e){var r,n={},i={};for(r in t)r in e?n[r]=Br(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 Nr(t,e){return t=+t,e=+e,function(r){return t*(1-r)+e*r}}function jr(t,e){var r,n,i,a=Jo.lastIndex=Ko.lastIndex=0,o=-1,s=[],l=[];for(t+=&quot;&quot;,e+=&quot;&quot;;(r=Jo.exec(t))&amp;&amp;(n=Ko.exec(e));)(i=n.index)&gt;a&amp;&amp;(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:Nr(r,n)})),a=Ko.lastIndex;return a&lt;e.length&amp;&amp;(i=e.slice(a),s[o]?s[o]+=i:s[++o]=i),s.length&lt;2?l[0]?(e=l[0].x,function(t){return e(t)+&quot;&quot;}):function(){return e}:(e=l.length,function(t){for(var r,n=0;n&lt;e;++n)s[(r=l[n]).i]=r.x(t);return s.join(&quot;&quot;)})}function Br(t,e){for(var r,n=Zi.interpolators.length;--n&gt;=0&amp;&amp;!(r=Zi.interpolators[n](t,e)););return r}function Ur(t,e){var r,n=[],i=[],a=t.length,o=e.length,s=Math.min(t.length,e.length);for(r=0;r&lt;s;++r)n.push(Br(t[r],e[r]));for(;r&lt;a;++r)i[r]=t[r];for(;r&lt;o;++r)i[r]=e[r];return function(t){for(r=0;r&lt;s;++r)i[r]=n[r](t);return i}}function Vr(t){return function(e){return 1-t(1-e)}}function qr(t){return function(e){return.5*(e&lt;.5?t(2*e):2-t(2-2*e))}}function Hr(t){return t*t}function Gr(t){return t*t*t}function Yr(t){return 1-Math.cos(t*Sa)}function Wr(t){return Math.pow(2,10*(t-1))}function Xr(t){return 1-Math.sqrt(1-t*t)}function Zr(t){return t&lt;1/2.75?7.5625*t*t:t&lt;2/2.75?7.5625*(t-=1.5/2.75)*t+.75:t&lt;2.5/2.75?7.5625*(t-=2.25/2.75)*t+.9375:7.5625*(t-=2.625/2.75)*t+.984375}function Jr(t,e){return e-=t,function(r){return Math.round(t+e*r)}}function Kr(t){var e=[t.a,t.b],r=[t.c,t.d],n=$r(e),i=Qr(e,r),a=$r(function(t,e,r){return t[0]+=r*e[0],t[1]+=r*e[1],t}(r,e,-i))||0;e[0]*r[1]&lt;r[0]*e[1]&amp;&amp;(e[0]*=-1,e[1]*=-1,n*=-1,i*=-1),this.rotate=(n?Math.atan2(e[1],e[0]):Math.atan2(-r[0],r[1]))*La,this.translate=[t.e,t.f],this.scale=[n,a],this.skew=a?Math.atan2(i,a)*La:0}function Qr(t,e){return t[0]*e[0]+t[1]*e[1]}function $r(t){var e=Math.sqrt(Qr(t,t));return e&amp;&amp;(t[0]/=e,t[1]/=e),e}function tn(t){return t.length?t.pop()+&quot;,&quot;:&quot;&quot;}function en(t,e){var r=[],n=[];return t=Zi.transform(t),e=Zi.transform(e),function(t,e,r,n){if(t[0]!==e[0]||t[1]!==e[1]){var i=r.push(&quot;translate(&quot;,null,&quot;,&quot;,null,&quot;)&quot;);n.push({i:i-4,x:Nr(t[0],e[0])},{i:i-2,x:Nr(t[1],e[1])})}else(e[0]||e[1])&amp;&amp;r.push(&quot;translate(&quot;+e+&quot;)&quot;)}(t.translate,e.translate,r,n),function(t,e,r,n){t!==e?(t-e&gt;180?e+=360:e-t&gt;180&amp;&amp;(t+=360),n.push({i:r.push(tn(r)+&quot;rotate(&quot;,null,&quot;)&quot;)-2,x:Nr(t,e)})):e&amp;&amp;r.push(tn(r)+&quot;rotate(&quot;+e+&quot;)&quot;)}(t.rotate,e.rotate,r,n),function(t,e,r,n){t!==e?n.push({i:r.push(tn(r)+&quot;skewX(&quot;,null,&quot;)&quot;)-2,x:Nr(t,e)}):e&amp;&amp;r.push(tn(r)+&quot;skewX(&quot;+e+&quot;)&quot;)}(t.skew,e.skew,r,n),function(t,e,r,n){if(t[0]!==e[0]||t[1]!==e[1]){var i=r.push(tn(r)+&quot;scale(&quot;,null,&quot;,&quot;,null,&quot;)&quot;);n.push({i:i-4,x:Nr(t[0],e[0])},{i:i-2,x:Nr(t[1],e[1])})}else 1===e[0]&amp;&amp;1===e[1]||r.push(tn(r)+&quot;scale(&quot;+e+&quot;)&quot;)}(t.scale,e.scale,r,n),t=e=null,function(t){for(var e,i=-1,a=n.length;++i&lt;a;)r[(e=n[i]).i]=e.x(t);return r.join(&quot;&quot;)}}function rn(t){for(var e=t.source,r=t.target,n=function(t,e){if(t===e)return t;var r=nn(t),n=nn(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 nn(t){for(var e=[],r=t.parent;null!=r;)e.push(t),t=r,r=r.parent;return e.push(t),e}function an(t){t.fixed|=2}function on(t){t.fixed&amp;=-7}function sn(t){t.fixed|=4,t.px=t.x,t.py=t.y}function ln(t){t.fixed&amp;=-5}function cn(t,e,r){var n=0,i=0;if(t.charge=0,!t.leaf)for(var a,o=t.nodes,s=o.length,l=-1;++l&lt;s;)null!=(a=o[l])&amp;&amp;(cn(a,e,r),t.charge+=a.charge,n+=a.charge*a.cx,i+=a.charge*a.cy);if(t.point){t.leaf||(t.point.x+=Math.random()-.5,t.point.y+=Math.random()-.5);var c=e*r[t.point.index];t.charge+=t.pointCharge=c,n+=c*t.point.x,i+=c*t.point.y}t.cx=n/t.charge,t.cy=i/t.charge}function un(t,e){return Zi.rebind(t,e,&quot;sort&quot;,&quot;children&quot;,&quot;value&quot;),t.nodes=t,t.links=gn,t}function fn(t,e){for(var r=[t];null!=(t=r.pop());)if(e(t),(i=t.children)&amp;&amp;(n=i.length))for(var n,i;--n&gt;=0;)r.push(i[n])}function hn(t,e){for(var r=[t],n=[];null!=(t=r.pop());)if(n.push(t),(a=t.children)&amp;&amp;(i=a.length))for(var i,a,o=-1;++o&lt;i;)r.push(a[o]);for(;null!=(t=n.pop());)e(t)}function dn(t){return t.children}function pn(t){return t.value}function mn(t,e){return e.value-t.value}function gn(t){return Zi.merge(t.map(function(t){return(t.children||[]).map(function(e){return{source:t,target:e}})}))}function vn(t){return t.x}function yn(t){return t.y}function xn(t,e,r){t.y0=e,t.y=r}function bn(t){return Zi.range(t.length)}function _n(t){for(var e=-1,r=t[0].length,n=[];++e&lt;r;)n[e]=0;return n}function wn(t){for(var e,r=1,n=0,i=t[0][1],a=t.length;r&lt;a;++r)(e=t[r][1])&gt;i&amp;&amp;(n=r,i=e);return n}function Mn(t){return t.reduce(kn,0)}function kn(t,e){return t+e[1]}function An(t,e){return Tn(t,Math.ceil(Math.log(e.length)/Math.LN2+1))}function Tn(t,e){for(var r=-1,n=+t[0],i=(t[1]-n)/e,a=[];++r&lt;=e;)a[r]=i*r+n;return a}function Sn(t){return[Zi.min(t),Zi.max(t)]}function En(t,e){return t.value-e.value}function Ln(t,e){var r=t._pack_next;t._pack_next=e,e._pack_prev=t,e._pack_next=r,r._pack_prev=e}function Cn(t,e){t._pack_next=e,e._pack_prev=t}function zn(t,e){var r=e.x-t.x,n=e.y-t.y,i=t.r+e.r;return.999*i*i&gt;r*r+n*n}function Dn(t){function e(t){u=Math.min(t.x-t.r,u),f=Math.max(t.x+t.r,f),h=Math.min(t.y-t.r,h),d=Math.max(t.y+t.r,d)}if((r=t.children)&amp;&amp;(c=r.length)){var r,n,i,a,o,s,l,c,u=1/0,f=-1/0,h=1/0,d=-1/0;if(r.forEach(In),n=r[0],n.x=-n.r,n.y=0,e(n),c&gt;1&amp;&amp;(i=r[1],i.x=i.r,i.y=0,e(i),c&gt;2))for(Fn(n,i,a=r[2]),e(a),Ln(n,a),n._pack_prev=a,Ln(a,i),i=n._pack_next,o=3;o&lt;c;o++){Fn(n,i,a=r[o]);var p=0,m=1,g=1;for(s=i._pack_next;s!==i;s=s._pack_next,m++)if(zn(s,a)){p=1;break}if(1==p)for(l=n._pack_prev;l!==s._pack_prev&amp;&amp;!zn(l,a);l=l._pack_prev,g++);p?(m&lt;g||m==g&amp;&amp;i.r&lt;n.r?Cn(n,i=s):Cn(n=l,i),o--):(Ln(n,a),i=a,e(a))}var v=(u+f)/2,y=(h+d)/2,x=0;for(o=0;o&lt;c;o++)(a=r[o]).x-=v,a.y-=y,x=Math.max(x,a.r+Math.sqrt(a.x*a.x+a.y*a.y));t.r=x,r.forEach(Pn)}}function In(t){t._pack_next=t._pack_prev=t}function Pn(t){delete t._pack_next,delete t._pack_prev}function On(t,e,r,n){var i=t.children;if(t.x=e+=n*t.x,t.y=r+=n*t.y,t.r*=n,i)for(var a=-1,o=i.length;++a&lt;o;)On(i[a],e,r,n)}function Fn(t,e,r){var n=t.r+r.r,i=e.x-t.x,a=e.y-t.y;if(n&amp;&amp;(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 Rn(t,e){return t.parent==e.parent?1:2}function Nn(t){var e=t.children;return e.length?e[0]:t.t}function jn(t){var e,r=t.children;return(e=r.length)?r[e-1]:t.t}function Bn(t){var e=t.children;return e&amp;&amp;e.length?Bn(e[0]):t}function Un(t){var e,r=t.children;return r&amp;&amp;(e=r.length)?Un(r[e-1]):t}function Vn(t){return{x:t.x,y:t.y,dx:t.dx,dy:t.dy}}function qn(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&lt;0&amp;&amp;(r+=i/2,i=0),a&lt;0&amp;&amp;(n+=a/2,a=0),{x:r,y:n,dx:i,dy:a}}function Hn(t){var e=t[0],r=t[t.length-1];return e&lt;r?[e,r]:[r,e]}function Gn(t){return t.rangeExtent?t.rangeExtent():Hn(t.range())}function Yn(t,e){var r,n=0,i=t.length-1,a=t[n],o=t[i];return o&lt;a&amp;&amp;(r=n,n=i,i=r,r=a,a=o,o=r),t[n]=e.floor(a),t[i]=e.ceil(o),t}function Wn(t){return t?{floor:function(e){return Math.floor(e/t)*t},ceil:function(e){return Math.ceil(e/t)*t}}:ls}function Xn(t,e,r,n){function i(){var i=Math.min(t.length,e.length)&gt;2?function(t,e,r,n){var i=[],a=[],o=0,s=Math.min(t.length,e.length)-1;for(t[s]&lt;t[0]&amp;&amp;(t=t.slice().reverse(),e=e.slice().reverse());++o&lt;=s;)i.push(r(t[o-1],t[o])),a.push(n(e[o-1],e[o]));return function(e){var r=Zi.bisect(t,e,1,s)-1;return a[r](i[r](e))}}:function(t,e,r,n){var i=r(t[0],t[1]),a=n(e[0],e[1]);return function(t){return a(i(t))}},l=n?function(t,e){return e=(e-=t=+t)||1/e,function(r){return Math.max(0,Math.min(1,(r-t)/e))}}:function(t,e){return e=(e-=t=+t)||1/e,function(r){return(r-t)/e}};return o=i(t,e,l,r),s=i(e,t,l,Br),a}function a(t){return o(t)}var o,s;return a.invert=function(t){return s(t)},a.domain=function(e){return arguments.length?(t=e.map(Number),i()):t},a.range=function(t){return arguments.length?(e=t,i()):e},a.rangeRound=function(t){return a.range(t).interpolate(Jr)},a.clamp=function(t){return arguments.length?(n=t,i()):n},a.interpolate=function(t){return arguments.length?(r=t,i()):r},a.ticks=function(e){return Qn(t,e)},a.tickFormat=function(e,r){return $n(t,e,r)},a.nice=function(e){return Jn(t,e),i()},a.copy=function(){return Xn(t,e,r,n)},i()}function Zn(t,e){return Zi.rebind(t,e,&quot;range&quot;,&quot;rangeRound&quot;,&quot;interpolate&quot;,&quot;clamp&quot;)}function Jn(t,e){return Yn(t,Wn(Kn(t,e)[2])),Yn(t,Wn(Kn(t,e)[2])),t}function Kn(t,e){null==e&amp;&amp;(e=10);var r=Hn(t),n=r[1]-r[0],i=Math.pow(10,Math.floor(Math.log(n/e)/Math.LN10)),a=e/n*i;return a&lt;=.15?i*=10:a&lt;=.35?i*=5:a&lt;=.75&amp;&amp;(i*=2),r[0]=Math.ceil(r[0]/i)*i,r[1]=Math.floor(r[1]/i)*i+.5*i,r[2]=i,r}function Qn(t,e){return Zi.range.apply(Zi,Kn(t,e))}function $n(t,e,r){var n=Kn(t,e);if(r){var i=Za.exec(r);if(i.shift(),&quot;s&quot;===i[8]){var a=Zi.formatPrefix(Math.max(aa(n[0]),aa(n[1])));return i[7]||(i[7]=&quot;.&quot;+ti(a.scale(n[2]))),i[8]=&quot;f&quot;,r=Zi.format(i.join(&quot;&quot;)),function(t){return r(a.scale(t))+a.symbol}}i[7]||(i[7]=&quot;.&quot;+function(t,e){var r=ti(e[2]);return t in cs?Math.abs(r-ti(Math.max(aa(e[0]),aa(e[1]))))+ +(&quot;e&quot;!==t):r-2*(&quot;%&quot;===t)}(i[8],n)),r=i.join(&quot;&quot;)}else r=&quot;,.&quot;+ti(n[2])+&quot;f&quot;;return Zi.format(r)}function ti(t){return-Math.floor(Math.log(t)/Math.LN10+.01)}function ei(t,e,r,n){function i(t){return(r?Math.log(t&lt;0?0:t):-Math.log(t&gt;0?0:-t))/Math.log(e)}function a(t){return r?Math.pow(e,t):-Math.pow(e,-t)}function o(e){return t(i(e))}return o.invert=function(e){return a(t.invert(e))},o.domain=function(e){return arguments.length?(r=e[0]&gt;=0,t.domain((n=e.map(Number)).map(i)),o):n},o.base=function(r){return arguments.length?(e=+r,t.domain(n.map(i)),o):e},o.nice=function(){var e=Yn(n.map(i),r?Math:fs);return t.domain(e),n=e.map(a),o},o.ticks=function(){var t=Hn(n),o=[],s=t[0],l=t[1],c=Math.floor(i(s)),u=Math.ceil(i(l)),f=e%1?2:e;if(isFinite(u-c)){if(r){for(;c&lt;u;c++)for(var h=1;h&lt;f;h++)o.push(a(c)*h);o.push(a(c))}else for(o.push(a(c));c++&lt;u;)for(h=f-1;h&gt;0;h--)o.push(a(c)*h);for(c=0;o[c]&lt;s;c++);for(u=o.length;o[u-1]&gt;l;u--);o=o.slice(c,u)}return o},o.tickFormat=function(t,r){if(!arguments.length)return us;arguments.length&lt;2?r=us:&quot;function&quot;!=typeof r&amp;&amp;(r=Zi.format(r));var n=Math.max(1,e*t/o.ticks().length);return function(t){var o=t/a(Math.round(i(t)));return o*e&lt;e-.5&amp;&amp;(o*=e),o&lt;=n?r(t):&quot;&quot;}},o.copy=function(){return ei(t.copy(),e,r,n)},Zn(o,t)}function ri(t,e,r){function n(e){return t(i(e))}var i=ni(e),a=ni(1/e);return n.invert=function(e){return a(t.invert(e))},n.domain=function(e){return arguments.length?(t.domain((r=e.map(Number)).map(i)),n):r},n.ticks=function(t){return Qn(r,t)},n.tickFormat=function(t,e){return $n(r,t,e)},n.nice=function(t){return n.domain(Jn(r,t))},n.exponent=function(o){return arguments.length?(i=ni(e=o),a=ni(1/e),t.domain(r.map(i)),n):e},n.copy=function(){return ri(t.copy(),e,r)},Zn(n,t)}function ni(t){return function(e){return e&lt;0?-Math.pow(-e,t):Math.pow(e,t)}}function ii(t,e){function r(r){return a[((i.get(r)||(&quot;range&quot;===e.t?i.set(r,t.push(r)):NaN))-1)%a.length]}function n(e,r){return Zi.range(t.length).map(function(t){return e+r*t})}var i,a,o;return r.domain=function(n){if(!arguments.length)return t;t=[],i=new c;for(var a,o=-1,s=n.length;++o&lt;s;)i.has(a=n[o])||i.set(a,t.push(a));return r[e.t].apply(r,e.a)},r.range=function(t){return arguments.length?(a=t,o=0,e={t:&quot;range&quot;,a:arguments},r):a},r.rangePoints=function(i,s){arguments.length&lt;2&amp;&amp;(s=0);var l=i[0],c=i[1],u=t.length&lt;2?(l=(l+c)/2,0):(c-l)/(t.length-1+s);return a=n(l+u*s/2,u),o=0,e={t:&quot;rangePoints&quot;,a:arguments},r},r.rangeRoundPoints=function(i,s){arguments.length&lt;2&amp;&amp;(s=0);var l=i[0],c=i[1],u=t.length&lt;2?(l=c=Math.round((l+c)/2),0):(c-l)/(t.length-1+s)|0;return a=n(l+Math.round(u*s/2+(c-l-(t.length-1+s)*u)/2),u),o=0,e={t:&quot;rangeRoundPoints&quot;,a:arguments},r},r.rangeBands=function(i,s,l){arguments.length&lt;2&amp;&amp;(s=0),arguments.length&lt;3&amp;&amp;(l=s);var c=i[1]&lt;i[0],u=i[c-0],f=(i[1-c]-u)/(t.length-s+2*l);return a=n(u+f*l,f),c&amp;&amp;a.reverse(),o=f*(1-s),e={t:&quot;rangeBands&quot;,a:arguments},r},r.rangeRoundBands=function(i,s,l){arguments.length&lt;2&amp;&amp;(s=0),arguments.length&lt;3&amp;&amp;(l=s);var c=i[1]&lt;i[0],u=i[c-0],f=i[1-c],h=Math.floor((f-u)/(t.length-s+2*l));return a=n(u+Math.round((f-u-(t.length-s)*h)/2),h),c&amp;&amp;a.reverse(),o=Math.round(h*(1-s)),e={t:&quot;rangeRoundBands&quot;,a:arguments},r},r.rangeBand=function(){return o},r.rangeExtent=function(){return Hn(e.a[0])},r.copy=function(){return ii(t,e)},r.domain(t)}function ai(t,e){function r(){var r=0,n=e.length;for(s=[];++r&lt;n;)s[r-1]=Zi.quantile(t,r/n);return o}function o(t){if(!isNaN(t=+t))return e[Zi.bisect(s,t)]}var s;return o.domain=function(e){return arguments.length?(t=e.map(i).filter(a).sort(n),r()):t},o.range=function(t){return arguments.length?(e=t,r()):e},o.quantiles=function(){return s},o.invertExtent=function(r){return(r=e.indexOf(r))&lt;0?[NaN,NaN]:[r&gt;0?s[r-1]:t[0],r&lt;s.length?s[r]:t[t.length-1]]},o.copy=function(){return ai(t,e)},r()}function oi(t,e,r){function n(e){return r[Math.max(0,Math.min(o,Math.floor(a*(e-t))))]}function i(){return a=r.length/(e-t),o=r.length-1,n}var a,o;return n.domain=function(r){return arguments.length?(t=+r[0],e=+r[r.length-1],i()):[t,e]},n.range=function(t){return arguments.length?(r=t,i()):r},n.invertExtent=function(e){return e=r.indexOf(e),e=e&lt;0?NaN:e/a+t,[e,e+1/a]},n.copy=function(){return oi(t,e,r)},i()}function si(t,e){function r(r){if(r&lt;=r)return e[Zi.bisect(t,r)]}return r.domain=function(e){return arguments.length?(t=e,r):t},r.range=function(t){return arguments.length?(e=t,r):e},r.invertExtent=function(r){return r=e.indexOf(r),[t[r-1],t[r]]},r.copy=function(){return si(t,e)},r}function li(t){function e(t){return+t}return e.invert=e,e.domain=e.range=function(r){return arguments.length?(t=r.map(e),e):t},e.ticks=function(e){return Qn(t,e)},e.tickFormat=function(e,r){return $n(t,e,r)},e.copy=function(){return li(t)},e}function ci(){return 0}function ui(t){return t.innerRadius}function fi(t){return t.outerRadius}function hi(t){return t.startAngle}function di(t){return t.endAngle}function pi(t){return t&amp;&amp;t.padAngle}function mi(t,e,r,n){return(t-r)*e-(e-n)*t&gt;0?0:1}function gi(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,d=e[1]+c,p=(u+h)/2,m=(f+d)/2,g=h-u,v=d-f,y=g*g+v*v,x=r-n,b=u*d-h*f,_=(v&lt;0?-1:1)*Math.sqrt(Math.max(0,x*x*y-b*b)),w=(b*v-g*_)/y,M=(-b*g-v*_)/y,k=(b*v+g*_)/y,A=(-b*g+v*_)/y,T=w-p,S=M-m,E=k-p,L=A-m;return T*T+S*S&gt;E*E+L*L&amp;&amp;(w=k,M=A),[[w-l,M-c],[w*r/x,M*r/x]]}function vi(t){function e(e){function o(){c.push(&quot;M&quot;,a(t(u),s))}for(var l,c=[],u=[],f=-1,h=e.length,d=_t(r),p=_t(n);++f&lt;h;)i.call(this,l=e[f],f)?u.push([+d.call(this,l,f),+p.call(this,l,f)]):u.length&amp;&amp;(o(),u=[]);return u.length&amp;&amp;o(),c.length?c.join(&quot;&quot;):null}var r=ar,n=or,i=ve,a=yi,o=a.key,s=.7;return e.x=function(t){return arguments.length?(r=t,e):r},e.y=function(t){return arguments.length?(n=t,e):n},e.defined=function(t){return arguments.length?(i=t,e):i},e.interpolate=function(t){return arguments.length?(o=&quot;function&quot;==typeof t?a=t:(a=vs.get(t)||yi).key,e):o},e.tension=function(t){return arguments.length?(s=t,e):s},e}function yi(t){return t.length&gt;1?t.join(&quot;L&quot;):t+&quot;Z&quot;}function xi(t){return t.join(&quot;L&quot;)+&quot;Z&quot;}function bi(t){for(var e=0,r=t.length,n=t[0],i=[n[0],&quot;,&quot;,n[1]];++e&lt;r;)i.push(&quot;V&quot;,(n=t[e])[1],&quot;H&quot;,n[0]);return i.join(&quot;&quot;)}function _i(t){for(var e=0,r=t.length,n=t[0],i=[n[0],&quot;,&quot;,n[1]];++e&lt;r;)i.push(&quot;H&quot;,(n=t[e])[0],&quot;V&quot;,n[1]);return i.join(&quot;&quot;)}function wi(t,e){if(e.length&lt;1||t.length!=e.length&amp;&amp;t.length!=e.length+2)return yi(t);var r=t.length!=e.length,n=&quot;&quot;,i=t[0],a=t[1],o=e[0],s=o,l=1;if(r&amp;&amp;(n+=&quot;Q&quot;+(a[0]-2*o[0]/3)+&quot;,&quot;+(a[1]-2*o[1]/3)+&quot;,&quot;+a[0]+&quot;,&quot;+a[1],i=t[1],l=2),e.length&gt;1){s=e[1],a=t[l],l++,n+=&quot;C&quot;+(i[0]+o[0])+&quot;,&quot;+(i[1]+o[1])+&quot;,&quot;+(a[0]-s[0])+&quot;,&quot;+(a[1]-s[1])+&quot;,&quot;+a[0]+&quot;,&quot;+a[1];for(var c=2;c&lt;e.length;c++,l++)a=t[l],s=e[c],n+=&quot;S&quot;+(a[0]-s[0])+&quot;,&quot;+(a[1]-s[1])+&quot;,&quot;+a[0]+&quot;,&quot;+a[1]}if(r){var u=t[l];n+=&quot;Q&quot;+(a[0]+2*s[0]/3)+&quot;,&quot;+(a[1]+2*s[1]/3)+&quot;,&quot;+u[0]+&quot;,&quot;+u[1]}return n}function Mi(t,e){for(var r,n=[],i=(1-e)/2,a=t[0],o=t[1],s=1,l=t.length;++s&lt;l;)r=a,a=o,o=t[s],n.push([i*(o[0]-r[0]),i*(o[1]-r[1])]);return n}function ki(t){if(t.length&lt;3)return yi(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,&quot;,&quot;,a,&quot;L&quot;,Ai(bs,o),&quot;,&quot;,Ai(bs,s)];for(t.push(t[r-1]);++e&lt;=r;)n=t[e],o.shift(),o.push(n[0]),s.shift(),s.push(n[1]),Ti(l,o,s);return t.pop(),l.push(&quot;L&quot;,n),l.join(&quot;&quot;)}function Ai(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]+t[3]*e[3]}function Ti(t,e,r){t.push(&quot;C&quot;,Ai(ys,e),&quot;,&quot;,Ai(ys,r),&quot;,&quot;,Ai(xs,e),&quot;,&quot;,Ai(xs,r),&quot;,&quot;,Ai(bs,e),&quot;,&quot;,Ai(bs,r))}function Si(t,e){return(e[1]-t[1])/(e[0]-t[0])}function Ei(t){for(var e,r,n,i,a=[],o=function(t){for(var e=0,r=t.length-1,n=[],i=t[0],a=t[1],o=n[0]=Si(i,a);++e&lt;r;)n[e]=(o+(o=Si(i=a,a=t[e+1])))/2;return n[e]=o,n}(t),s=-1,l=t.length-1;++s&lt;l;)e=Si(t[s],t[s+1]),aa(e)&lt;wa?o[s]=o[s+1]=0:(i=(r=o[s]/e)*r+(n=o[s+1]/e)*n)&gt;9&amp;&amp;(i=3*e/Math.sqrt(i),o[s]=i*r,o[s+1]=i*n);for(s=-1;++s&lt;=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}function Li(t){for(var e,r,n,i=-1,a=t.length;++i&lt;a;)r=(e=t[i])[0],n=e[1]-Sa,e[0]=r*Math.cos(n),e[1]=r*Math.sin(n);return t}function Ci(t){function e(e){function l(){m.push(&quot;M&quot;,s(t(v),f),u,c(t(g.reverse()),f),&quot;Z&quot;)}for(var h,d,p,m=[],g=[],v=[],y=-1,x=e.length,b=_t(r),_=_t(i),w=r===n?function(){return d}:_t(n),M=i===a?function(){return p}:_t(a);++y&lt;x;)o.call(this,h=e[y],y)?(g.push([d=+b.call(this,h,y),p=+_.call(this,h,y)]),v.push([+w.call(this,h,y),+M.call(this,h,y)])):g.length&amp;&amp;(l(),g=[],v=[]);return g.length&amp;&amp;l(),m.length?m.join(&quot;&quot;):null}var r=ar,n=ar,i=0,a=or,o=ve,s=yi,l=s.key,c=s,u=&quot;L&quot;,f=.7;return e.x=function(t){return arguments.length?(r=n=t,e):n},e.x0=function(t){return arguments.length?(r=t,e):r},e.x1=function(t){return arguments.length?(n=t,e):n},e.y=function(t){return arguments.length?(i=a=t,e):a},e.y0=function(t){return arguments.length?(i=t,e):i},e.y1=function(t){return arguments.length?(a=t,e):a},e.defined=function(t){return arguments.length?(o=t,e):o},e.interpolate=function(t){return arguments.length?(l=&quot;function&quot;==typeof t?s=t:(s=vs.get(t)||yi).key,c=s.reverse||s,u=s.closed?&quot;M&quot;:&quot;L&quot;,e):l},e.tension=function(t){return arguments.length?(f=t,e):f},e}function zi(t){return t.radius}function Di(t){return[t.x,t.y]}function Ii(){return 64}function Pi(){return&quot;circle&quot;}function Oi(t){var e=Math.sqrt(t/ka);return&quot;M0,&quot;+e+&quot;A&quot;+e+&quot;,&quot;+e+&quot; 0 1,1 0,&quot;+-e+&quot;A&quot;+e+&quot;,&quot;+e+&quot; 0 1,1 0,&quot;+e+&quot;Z&quot;}function Fi(t){return function(){var e,r,n;(e=this[t])&amp;&amp;(n=e[r=e.active])&amp;&amp;(n.timer.c=null,n.timer.t=NaN,--e.count?delete e[r]:delete this[t],e.active+=.5,n.event&amp;&amp;n.event.interrupt.call(this,this.__data__,n.index))}}function Ri(t,e,r){return ua(t,Ss),t.namespace=e,t.id=r,t}function Ni(t,e,r,n){var i=t.id,a=t.namespace;return U(t,&quot;function&quot;==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 ji(t){return null==t&amp;&amp;(t=&quot;&quot;),function(){this.textContent=t}}function Bi(t){return null==t?&quot;__transition__&quot;:&quot;__transition_&quot;+t+&quot;__&quot;}function Ui(t,e,r,n,i){function a(t){var e=m.delay;if(u.t=e+l,e&lt;=t)return o(t-e);u.c=o}function o(r){var i=p.active,a=p[i];a&amp;&amp;(a.timer.c=null,a.timer.t=NaN,--p.count,delete p[i],a.event&amp;&amp;a.event.interrupt.call(t,t.__data__,a.index));for(var o in p)if(+o&lt;n){var c=p[o];c.timer.c=null,c.timer.t=NaN,--p.count,delete p[o]}u.c=s,kt(function(){return u.c&amp;&amp;s(r||1)&amp;&amp;(u.c=null,u.t=NaN),1},0,l),p.active=n,m.event&amp;&amp;m.event.start.call(t,t.__data__,e),d=[],m.tween.forEach(function(r,n){(n=n.call(t,t.__data__,e))&amp;&amp;d.push(n)}),h=m.ease,f=m.duration}function s(i){for(var a=i/f,o=h(a),s=d.length;s&gt;0;)d[--s].call(t,o);if(a&gt;=1)return m.event&amp;&amp;m.event.end.call(t,t.__data__,e),--p.count?delete p[n]:delete t[r],1}var l,u,f,h,d,p=t[r]||(t[r]={active:0,count:0}),m=p[n];m||(l=i.time,u=kt(a,0,l),m=p[n]={tween:new c,time:l,timer:u,delay:i.delay,duration:i.duration,ease:i.ease,index:e},i=null,++p.count)}function Vi(t,e,r){t.attr(&quot;transform&quot;,function(t){var n=e(t);return&quot;translate(&quot;+(isFinite(n)?n:r(t))+&quot;,0)&quot;})}function qi(t,e,r){t.attr(&quot;transform&quot;,function(t){var n=e(t);return&quot;translate(0,&quot;+(isFinite(n)?n:r(t))+&quot;)&quot;})}function Hi(t){return t.toISOString()}function Gi(t,e,r){function n(e){return t(e)}function i(t,r){var n=(t[1]-t[0])/r,i=Zi.bisect(Fs,n);return i==Fs.length?[e.year,Kn(t.map(function(t){return t/31536e6}),r)[2]]:i?e[n/Fs[i-1]&lt;Fs[i]/n?i-1:i]:[js,Kn(t,r)[2]]}return n.invert=function(e){return Yi(t.invert(e))},n.domain=function(e){return arguments.length?(t.domain(e),n):t.domain().map(Yi)},n.nice=function(t,e){function r(r){return!isNaN(r)&amp;&amp;!t.range(r,Yi(+r+1),e).length}var a=n.domain(),o=Hn(a),s=null==t?i(o,10):&quot;number&quot;==typeof t&amp;&amp;i(o,t);return s&amp;&amp;(t=s[0],e=s[1]),n.domain(Yn(a,e&gt;1?{floor:function(e){for(;r(e=t.floor(e));)e=Yi(e-1);return e},ceil:function(e){for(;r(e=t.ceil(e));)e=Yi(+e+1);return e}}:t))},n.ticks=function(t,e){var r=Hn(n.domain()),a=null==t?i(r,10):&quot;number&quot;==typeof t?i(r,t):!t.range&amp;&amp;[{range:t},e];return a&amp;&amp;(t=a[0],e=a[1]),t.range(r[0],Yi(+r[1]+1),e&lt;1?1:e)},n.tickFormat=function(){return r},n.copy=function(){return Gi(t.copy(),e,r)},Zn(n,t)}function Yi(t){return new Date(t)}function Wi(t){return JSON.parse(t.responseText)}function Xi(t){var e=Qi.createRange();return e.selectNode(Qi.body),e.createContextualFragment(t.responseText)}var Zi={version:&quot;3.5.17&quot;},Ji=[].slice,Ki=function(t){return Ji.call(t)},Qi=this.document;if(Qi)try{Ki(Qi.documentElement.childNodes)[0].nodeType}catch(t){Ki=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}),Qi)try{Qi.createElement(&quot;DIV&quot;).style.setProperty(&quot;opacity&quot;,0,&quot;&quot;)}catch(t){var $i=this.Element.prototype,ta=$i.setAttribute,ea=$i.setAttributeNS,ra=this.CSSStyleDeclaration.prototype,na=ra.setProperty;$i.setAttribute=function(t,e){ta.call(this,t,e+&quot;&quot;)},$i.setAttributeNS=function(t,e,r){ea.call(this,t,e,r+&quot;&quot;)},ra.setProperty=function(t,e,r){na.call(this,t,e+&quot;&quot;,r)}}Zi.ascending=n,Zi.descending=function(t,e){return e&lt;t?-1:e&gt;t?1:e&gt;=t?0:NaN},Zi.min=function(t,e){var r,n,i=-1,a=t.length;if(1===arguments.length){for(;++i&lt;a;)if(null!=(n=t[i])&amp;&amp;n&gt;=n){r=n;break}for(;++i&lt;a;)null!=(n=t[i])&amp;&amp;r&gt;n&amp;&amp;(r=n)}else{for(;++i&lt;a;)if(null!=(n=e.call(t,t[i],i))&amp;&amp;n&gt;=n){r=n;break}for(;++i&lt;a;)null!=(n=e.call(t,t[i],i))&amp;&amp;r&gt;n&amp;&amp;(r=n)}return r},Zi.max=function(t,e){var r,n,i=-1,a=t.length;if(1===arguments.length){for(;++i&lt;a;)if(null!=(n=t[i])&amp;&amp;n&gt;=n){r=n;break}for(;++i&lt;a;)null!=(n=t[i])&amp;&amp;n&gt;r&amp;&amp;(r=n)}else{for(;++i&lt;a;)if(null!=(n=e.call(t,t[i],i))&amp;&amp;n&gt;=n){r=n;break}for(;++i&lt;a;)null!=(n=e.call(t,t[i],i))&amp;&amp;n&gt;r&amp;&amp;(r=n)}return r},Zi.extent=function(t,e){var r,n,i,a=-1,o=t.length;if(1===arguments.length){for(;++a&lt;o;)if(null!=(n=t[a])&amp;&amp;n&gt;=n){r=i=n;break}for(;++a&lt;o;)null!=(n=t[a])&amp;&amp;(r&gt;n&amp;&amp;(r=n),i&lt;n&amp;&amp;(i=n))}else{for(;++a&lt;o;)if(null!=(n=e.call(t,t[a],a))&amp;&amp;n&gt;=n){r=i=n;break}for(;++a&lt;o;)null!=(n=e.call(t,t[a],a))&amp;&amp;(r&gt;n&amp;&amp;(r=n),i&lt;n&amp;&amp;(i=n))}return[r,i]},Zi.sum=function(t,e){var r,n=0,i=t.length,o=-1;if(1===arguments.length)for(;++o&lt;i;)a(r=+t[o])&amp;&amp;(n+=r);else for(;++o&lt;i;)a(r=+e.call(t,t[o],o))&amp;&amp;(n+=r);return n},Zi.mean=function(t,e){var r,n=0,o=t.length,s=-1,l=o;if(1===arguments.length)for(;++s&lt;o;)a(r=i(t[s]))?n+=r:--l;else for(;++s&lt;o;)a(r=i(e.call(t,t[s],s)))?n+=r:--l;if(l)return n/l},Zi.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},Zi.median=function(t,e){var r,o=[],s=t.length,l=-1;if(1===arguments.length)for(;++l&lt;s;)a(r=i(t[l]))&amp;&amp;o.push(r);else for(;++l&lt;s;)a(r=i(e.call(t,t[l],l)))&amp;&amp;o.push(r);if(o.length)return Zi.quantile(o.sort(n),.5)},Zi.variance=function(t,e){var r,n,o=t.length,s=0,l=0,c=-1,u=0;if(1===arguments.length)for(;++c&lt;o;)a(r=i(t[c]))&amp;&amp;(l+=(n=r-s)*(r-(s+=n/++u)));else for(;++c&lt;o;)a(r=i(e.call(t,t[c],c)))&amp;&amp;(l+=(n=r-s)*(r-(s+=n/++u)));if(u&gt;1)return l/(u-1)},Zi.deviation=function(){var t=Zi.variance.apply(this,arguments);return t?Math.sqrt(t):t};var ia=o(n);Zi.bisectLeft=ia.left,Zi.bisect=Zi.bisectRight=ia.right,Zi.bisector=function(t){return o(1===t.length?function(e,r){return n(t(e),r)}:t)},Zi.shuffle=function(t,e,r){(a=arguments.length)&lt;3&amp;&amp;(r=t.length,a&lt;2&amp;&amp;(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},Zi.permute=function(t,e){for(var r=e.length,n=new Array(r);r--;)n[r]=t[e[r]];return n},Zi.pairs=function(t){for(var e=0,r=t.length-1,n=t[0],i=new Array(r&lt;0?0:r);e&lt;r;)i[e]=[n,n=t[++e]];return i},Zi.transpose=function(t){if(!(i=t.length))return[];for(var e=-1,r=Zi.min(t,s),n=new Array(r);++e&lt;r;)for(var i,a=-1,o=n[e]=new Array(i);++a&lt;i;)o[a]=t[a][e];return n},Zi.zip=function(){return Zi.transpose(arguments)},Zi.keys=function(t){var e=[];for(var r in t)e.push(r);return e},Zi.values=function(t){var e=[];for(var r in t)e.push(t[r]);return e},Zi.entries=function(t){var e=[];for(var r in t)e.push({key:r,value:t[r]});return e},Zi.merge=function(t){for(var e,r,n,i=t.length,a=-1,o=0;++a&lt;i;)o+=t[a].length;for(r=new Array(o);--i&gt;=0;)for(e=(n=t[i]).length;--e&gt;=0;)r[--o]=n[e];return r};var aa=Math.abs;Zi.range=function(t,e,r){if(arguments.length&lt;3&amp;&amp;(r=1,arguments.length&lt;2&amp;&amp;(e=t,t=0)),(e-t)/r==1/0)throw new Error(&quot;infinite range&quot;);var n,i=[],a=function(t){for(var e=1;t*e%1;)e*=10;return e}(aa(r)),o=-1;if(t*=a,e*=a,(r*=a)&lt;0)for(;(n=t+r*++o)&gt;e;)i.push(n/a);else for(;(n=t+r*++o)&lt;e;)i.push(n/a);return i},Zi.map=function(t,e){var r=new c;if(t instanceof c)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&lt;a;)r.set(i,t[i]);else for(;++i&lt;a;)r.set(e.call(t,n=t[i],i),n)}else for(var o in t)r.set(o,t[o]);return r};var oa=&quot;__proto__&quot;,sa=&quot;\0&quot;;l(c,{has:h,get:function(t){return this._[u(t)]},set:function(t,e){return this._[u(t)]=e},remove:d,keys:p,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:f(e),value:this._[e]});return t},size:m,empty:g,forEach:function(t){for(var e in this._)t.call(this,f(e),this._[e])}}),Zi.nest=function(){function t(e,o,s){if(s&gt;=a.length)return n?n.call(i,o):r?o.sort(r):o;for(var l,u,f,h,d=-1,p=o.length,m=a[s++],g=new c;++d&lt;p;)(h=g.get(l=m(u=o[d])))?h.push(u):g.set(l,[u]);return e?(u=e(),f=function(r,n){u.set(r,t(e,n,s))}):(u={},f=function(r,n){u[r]=t(e,n,s)}),g.forEach(f),u}function e(t,r){if(r&gt;=a.length)return t;var n=[],i=o[r++];return t.forEach(function(t,i){n.push({key:t,values:e(i,r)})}),i?n.sort(function(t,e){return i(t.key,e.key)}):n}var r,n,i={},a=[],o=[];return i.map=function(e,r){return t(r,e,0)},i.entries=function(r){return e(t(Zi.map,r,0),0)},i.key=function(t){return a.push(t),i},i.sortKeys=function(t){return o[a.length-1]=t,i},i.sortValues=function(t){return r=t,i},i.rollup=function(t){return n=t,i},i},Zi.set=function(t){var e=new v;if(t)for(var r=0,n=t.length;r&lt;n;++r)e.add(t[r]);return e},l(v,{has:h,add:function(t){return this._[u(t+=&quot;&quot;)]=!0,t},remove:d,values:p,size:m,empty:g,forEach:function(t){for(var e in this._)t.call(this,f(e))}}),Zi.behavior={},Zi.rebind=function(t,e){for(var r,n=1,i=arguments.length;++n&lt;i;)t[r=arguments[n]]=function(t,e,r){return function(){var n=r.apply(e,arguments);return n===e?t:n}}(t,e,e[r]);return t};var la=[&quot;webkit&quot;,&quot;ms&quot;,&quot;moz&quot;,&quot;Moz&quot;,&quot;o&quot;,&quot;O&quot;];Zi.dispatch=function(){for(var t=new _,e=-1,r=arguments.length;++e&lt;r;)t[arguments[e]]=w(t);return t},_.prototype.on=function(t,e){var r=t.indexOf(&quot;.&quot;),n=&quot;&quot;;if(r&gt;=0&amp;&amp;(n=t.slice(r+1),t=t.slice(0,r)),t)return arguments.length&lt;2?this[t].on(n):this[t].on(n,e);if(2===arguments.length){if(null==e)for(t in this)this.hasOwnProperty(t)&amp;&amp;this[t].on(n,null);return this}},Zi.event=null,Zi.requote=function(t){return t.replace(ca,&quot;\\$&amp;&quot;)};var ca=/[\\\^\$\*\+\?\|\[\]\(\)\.\{\}]/g,ua={}.__proto__?function(t,e){t.__proto__=e}:function(t,e){for(var r in e)t[r]=e[r]},fa=function(t,e){return e.querySelector(t)},ha=function(t,e){return e.querySelectorAll(t)},da=function(t,e){var r=t.matches||t[x(t,&quot;matchesSelector&quot;)];return(da=function(t,e){return r.call(t,e)})(t,e)};&quot;function&quot;==typeof Sizzle&amp;&amp;(fa=function(t,e){return Sizzle(t,e)[0]||null},ha=Sizzle,da=Sizzle.matchesSelector),Zi.selection=function(){return Zi.select(Qi.documentElement)};var pa=Zi.selection.prototype=[];pa.select=function(t){var e,r,n,i,a=[];t=S(t);for(var o=-1,s=this.length;++o&lt;s;){a.push(e=[]),e.parentNode=(n=this[o]).parentNode;for(var l=-1,c=n.length;++l&lt;c;)(i=n[l])?(e.push(r=t.call(i,i.__data__,l,o)),r&amp;&amp;&quot;__data__&quot;in i&amp;&amp;(r.__data__=i.__data__)):e.push(null)}return T(a)},pa.selectAll=function(t){var e,r,n=[];t=E(t);for(var i=-1,a=this.length;++i&lt;a;)for(var o=this[i],s=-1,l=o.length;++s&lt;l;)(r=o[s])&amp;&amp;(n.push(e=Ki(t.call(r,r.__data__,s,i))),e.parentNode=r);return T(n)};var ma=&quot;http://www.w3.org/1999/xhtml&quot;,ga={svg:&quot;http://www.w3.org/2000/svg&quot;,xhtml:ma,xlink:&quot;http://www.w3.org/1999/xlink&quot;,xml:&quot;http://www.w3.org/XML/1998/namespace&quot;,xmlns:&quot;http://www.w3.org/2000/xmlns/&quot;};Zi.ns={prefix:ga,qualify:function(t){var e=t.indexOf(&quot;:&quot;),r=t;return e&gt;=0&amp;&amp;&quot;xmlns&quot;!==(r=t.slice(0,e))&amp;&amp;(t=t.slice(e+1)),ga.hasOwnProperty(r)?{space:ga[r],local:t}:t}},pa.attr=function(t,e){if(arguments.length&lt;2){if(&quot;string&quot;==typeof t){var r=this.node();return(t=Zi.ns.qualify(t)).local?r.getAttributeNS(t.space,t.local):r.getAttribute(t)}for(e in t)this.each(L(e,t[e]));return this}return this.each(L(t,e))},pa.classed=function(t,e){if(arguments.length&lt;2){if(&quot;string&quot;==typeof t){var r=this.node(),n=(t=D(t)).length,i=-1;if(e=r.classList){for(;++i&lt;n;)if(!e.contains(t[i]))return!1}else for(e=r.getAttribute(&quot;class&quot;);++i&lt;n;)if(!z(t[i]).test(e))return!1;return!0}for(e in t)this.each(I(e,t[e]));return this}return this.each(I(t,e))},pa.style=function(t,e,n){var i=arguments.length;if(i&lt;3){if(&quot;string&quot;!=typeof t){i&lt;2&amp;&amp;(e=&quot;&quot;);for(n in t)this.each(O(n,t[n],e));return this}if(i&lt;2){var a=this.node();return r(a).getComputedStyle(a,null).getPropertyValue(t)}n=&quot;&quot;}return this.each(O(t,e,n))},pa.property=function(t,e){if(arguments.length&lt;2){if(&quot;string&quot;==typeof t)return this.node()[t];for(e in t)this.each(F(e,t[e]));return this}return this.each(F(t,e))},pa.text=function(t){return arguments.length?this.each(&quot;function&quot;==typeof t?function(){var e=t.apply(this,arguments);this.textContent=null==e?&quot;&quot;:e}:null==t?function(){this.textContent=&quot;&quot;}:function(){this.textContent=t}):this.node().textContent},pa.html=function(t){return arguments.length?this.each(&quot;function&quot;==typeof t?function(){var e=t.apply(this,arguments);this.innerHTML=null==e?&quot;&quot;:e}:null==t?function(){this.innerHTML=&quot;&quot;}:function(){this.innerHTML=t}):this.node().innerHTML},pa.append=function(t){return t=R(t),this.select(function(){return this.appendChild(t.apply(this,arguments))})},pa.insert=function(t,e){return t=R(t),e=S(e),this.select(function(){return this.insertBefore(t.apply(this,arguments),e.apply(this,arguments)||null)})},pa.remove=function(){return this.each(N)},pa.data=function(t,e){function r(t,r){var n,i,a,o=t.length,f=r.length,h=Math.min(o,f),d=new Array(f),p=new Array(f),m=new Array(o);if(e){var g,v=new c,y=new Array(o);for(n=-1;++n&lt;o;)(i=t[n])&amp;&amp;(v.has(g=e.call(i,i.__data__,n))?m[n]=i:v.set(g,i),y[n]=g);for(n=-1;++n&lt;f;)(i=v.get(g=e.call(r,a=r[n],n)))?!0!==i&amp;&amp;(d[n]=i,i.__data__=a):p[n]=j(a),v.set(g,!0);for(n=-1;++n&lt;o;)n in y&amp;&amp;!0!==v.get(y[n])&amp;&amp;(m[n]=t[n])}else{for(n=-1;++n&lt;h;)i=t[n],a=r[n],i?(i.__data__=a,d[n]=i):p[n]=j(a);for(;n&lt;f;++n)p[n]=j(r[n]);for(;n&lt;o;++n)m[n]=t[n]}p.update=d,p.parentNode=d.parentNode=m.parentNode=t.parentNode,s.push(p),l.push(d),u.push(m)}var n,i,a=-1,o=this.length;if(!arguments.length){for(t=new Array(o=(n=this[0]).length);++a&lt;o;)(i=n[a])&amp;&amp;(t[a]=i.__data__);return t}var s=V([]),l=T([]),u=T([]);if(&quot;function&quot;==typeof t)for(;++a&lt;o;)r(n=this[a],t.call(n,n.parentNode.__data__,a));else for(;++a&lt;o;)r(n=this[a],t);return l.enter=function(){return s},l.exit=function(){return u},l},pa.datum=function(t){return arguments.length?this.property(&quot;__data__&quot;,t):this.property(&quot;__data__&quot;)},pa.filter=function(t){var e,r,n,i=[];&quot;function&quot;!=typeof t&amp;&amp;(t=B(t));for(var a=0,o=this.length;a&lt;o;a++){i.push(e=[]),e.parentNode=(r=this[a]).parentNode;for(var s=0,l=r.length;s&lt;l;s++)(n=r[s])&amp;&amp;t.call(n,n.__data__,s,a)&amp;&amp;e.push(n)}return T(i)},pa.order=function(){for(var t=-1,e=this.length;++t&lt;e;)for(var r,n=this[t],i=n.length-1,a=n[i];--i&gt;=0;)(r=n[i])&amp;&amp;(a&amp;&amp;a!==r.nextSibling&amp;&amp;a.parentNode.insertBefore(r,a),a=r);return this},pa.sort=function(t){t=function(t){return arguments.length||(t=n),function(e,r){return e&amp;&amp;r?t(e.__data__,r.__data__):!e-!r}}.apply(this,arguments);for(var e=-1,r=this.length;++e&lt;r;)this[e].sort(t);return this.order()},pa.each=function(t){return U(this,function(e,r,n){t.call(e,e.__data__,r,n)})},pa.call=function(t){var e=Ki(arguments);return t.apply(e[0]=this,e),this},pa.empty=function(){return!this.node()},pa.node=function(){for(var t=0,e=this.length;t&lt;e;t++)for(var r=this[t],n=0,i=r.length;n&lt;i;n++){var a=r[n];if(a)return a}return null},pa.size=function(){var t=0;return U(this,function(){++t}),t};var va=[];Zi.selection.enter=V,Zi.selection.enter.prototype=va,va.append=pa.append,va.empty=pa.empty,va.node=pa.node,va.call=pa.call,va.size=pa.size,va.select=function(t){for(var e,r,n,i,a,o=[],s=-1,l=this.length;++s&lt;l;){n=(i=this[s]).update,o.push(e=[]),e.parentNode=i.parentNode;for(var c=-1,u=i.length;++c&lt;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 T(o)},va.insert=function(t,e){return arguments.length&lt;2&amp;&amp;(e=function(t){var e,r;return function(n,i,a){var o,s=t[a].update,l=s.length;for(a!=r&amp;&amp;(r=a,e=0),i&gt;=e&amp;&amp;(e=i+1);!(o=s[e])&amp;&amp;++e&lt;l;);return o}}(this)),pa.insert.call(this,t,e)},Zi.select=function(e){var r;return&quot;string&quot;==typeof e?(r=[fa(e,Qi)]).parentNode=Qi.documentElement:(r=[e]).parentNode=t(e),T([r])},Zi.selectAll=function(t){var e;return&quot;string&quot;==typeof t?(e=Ki(ha(t,Qi))).parentNode=Qi.documentElement:(e=Ki(t)).parentNode=null,T([e])},pa.on=function(t,e,r){var n=arguments.length;if(n&lt;3){if(&quot;string&quot;!=typeof t){n&lt;2&amp;&amp;(e=!1);for(r in t)this.each(q(r,t[r],e));return this}if(n&lt;2)return(n=this.node()[&quot;__on&quot;+t])&amp;&amp;n._;r=!1}return this.each(q(t,e,r))};var ya=Zi.map({mouseenter:&quot;mouseover&quot;,mouseleave:&quot;mouseout&quot;});Qi&amp;&amp;ya.forEach(function(t){&quot;on&quot;+t in Qi&amp;&amp;ya.remove(t)});var xa,ba=0;Zi.mouse=function(t){return W(t,k())};var _a=this.navigator&amp;&amp;/WebKit/.test(this.navigator.userAgent)?-1:0;Zi.touch=function(t,e,r){if(arguments.length&lt;3&amp;&amp;(r=e,e=k().changedTouches),e)for(var n,i=0,a=e.length;i&lt;a;++i)if((n=e[i]).identifier===r)return W(t,n)},Zi.behavior.drag=function(){function t(){this.on(&quot;mousedown.drag&quot;,a).on(&quot;touchstart.drag&quot;,o)}function e(t,e,r,a,o){return function(){var s,l=Zi.event.target.correspondingElement||Zi.event.target,c=this.parentNode,u=n.of(this,arguments),f=0,h=t(),d=&quot;.drag&quot;+(null==h?&quot;&quot;:&quot;-&quot;+h),p=Zi.select(r(l)).on(a+d,function(){var t,r,n=e(c,h);n&amp;&amp;(t=n[0]-g[0],r=n[1]-g[1],f|=t|r,g=n,u({type:&quot;drag&quot;,x:n[0]+s[0],y:n[1]+s[1],dx:t,dy:r}))}).on(o+d,function(){e(c,h)&amp;&amp;(p.on(a+d,null).on(o+d,null),m(f),u({type:&quot;dragend&quot;}))}),m=Y(l),g=e(c,h);s=i?[(s=i.apply(this,arguments)).x-g[0],s.y-g[1]]:[0,0],u({type:&quot;dragstart&quot;})}}var n=A(t,&quot;drag&quot;,&quot;dragstart&quot;,&quot;dragend&quot;),i=null,a=e(b,Zi.mouse,r,&quot;mousemove&quot;,&quot;mouseup&quot;),o=e(X,Zi.touch,y,&quot;touchmove&quot;,&quot;touchend&quot;);return t.origin=function(e){return arguments.length?(i=e,t):i},Zi.rebind(t,n,&quot;on&quot;)},Zi.touches=function(t,e){return arguments.length&lt;2&amp;&amp;(e=k().touches),e?Ki(e).map(function(e){var r=W(t,e);return r.identifier=e.identifier,r}):[]};var wa=1e-6,Ma=wa*wa,ka=Math.PI,Aa=2*ka,Ta=Aa-wa,Sa=ka/2,Ea=ka/180,La=180/ka,Ca=Math.SQRT2;Zi.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&lt;Ma)n=Math.log(c/o)/Ca,r=function(t){return[i+t*u,a+t*f,o*Math.exp(Ca*t*n)]};else{var d=Math.sqrt(h),p=(c*c-o*o+4*h)/(2*o*2*d),m=(c*c-o*o-4*h)/(2*c*2*d),g=Math.log(Math.sqrt(p*p+1)-p),v=Math.log(Math.sqrt(m*m+1)-m);n=(v-g)/Ca,r=function(t){var e=t*n,r=$(g),s=o/(2*d)*(r*function(t){return((t=Math.exp(2*t))-1)/(t+1)}(Ca*e+g)-function(t){return((t=Math.exp(t))-1/t)/2}(g));return[i+s*u,a+s*f,o*r/$(Ca*e+g)]}}return r.duration=1e3*n,r},Zi.behavior.zoom=function(){function t(t){t.on(C,u).on(Da+&quot;.zoom&quot;,h).on(&quot;dblclick.zoom&quot;,d).on(I,f)}function e(t){return[(t[0]-k.x)/k.k,(t[1]-k.y)/k.k]}function n(t){k.k=Math.max(S[0],Math.min(S[1],t))}function i(t,e){e=function(t){return[t[0]*k.k+k.x,t[1]*k.k+k.y]}(e),k.x+=t[0]-e[0],k.y+=t[1]-e[1]}function a(e,r,a,o){e.__chart__={x:k.x,y:k.y,k:k.k},n(Math.pow(2,o)),i(m=r,a),e=Zi.select(e),E&gt;0&amp;&amp;(e=e.transition().duration(E)),e.call(t.event)}function o(){b&amp;&amp;b.domain(x.range().map(function(t){return(t-k.x)/k.k}).map(x.invert)),w&amp;&amp;w.domain(_.range().map(function(t){return(t-k.y)/k.k}).map(_.invert))}function s(t){L++||t({type:&quot;zoomstart&quot;})}function l(t){o(),t({type:&quot;zoom&quot;,scale:k.k,translate:[k.x,k.y]})}function c(t){--L||(t({type:&quot;zoomend&quot;}),m=null)}function u(){var t=this,n=P.of(t,arguments),a=0,o=Zi.select(r(t)).on(z,function(){a=1,i(Zi.mouse(t),u),l(n)}).on(D,function(){o.on(z,null).on(D,null),f(a),c(n)}),u=e(Zi.mouse(t)),f=Y(t);Ts.call(t),s(n)}function f(){function t(){var t=Zi.touches(p);return d=k.k,t.forEach(function(t){t.identifier in g&amp;&amp;(g[t.identifier]=e(t))}),t}function r(){var e=Zi.event.target;Zi.select(e).on(b,o).on(_,h),w.push(e);for(var r=Zi.event.changedTouches,n=0,i=r.length;n&lt;i;++n)g[r[n].identifier]=null;var s=t(),l=Date.now();if(1===s.length){if(l-y&lt;500){var c=s[0];a(p,c,g[c.identifier],Math.floor(Math.log(k.k)/Math.LN2)+1),M()}y=l}else if(s.length&gt;1){c=s[0];var u=s[1],f=c[0]-u[0],d=c[1]-u[1];v=f*f+d*d}}function o(){var t,e,r,a,o=Zi.touches(p);Ts.call(p);for(var s=0,c=o.length;s&lt;c;++s,a=null)if(r=o[s],a=g[r.identifier]){if(e)break;t=r,e=a}if(a){var u=(u=r[0]-t[0])*u+(u=r[1]-t[1])*u,f=v&amp;&amp;Math.sqrt(u/v);t=[(t[0]+r[0])/2,(t[1]+r[1])/2],e=[(e[0]+a[0])/2,(e[1]+a[1])/2],n(f*d)}y=null,i(t,e),l(m)}function h(){if(Zi.event.touches.length){for(var e=Zi.event.changedTouches,r=0,n=e.length;r&lt;n;++r)delete g[e[r].identifier];for(var i in g)return void t()}Zi.selectAll(w).on(x,null),A.on(C,u).on(I,f),T(),c(m)}var d,p=this,m=P.of(p,arguments),g={},v=0,x=&quot;.zoom-&quot;+Zi.event.changedTouches[0].identifier,b=&quot;touchmove&quot;+x,_=&quot;touchend&quot;+x,w=[],A=Zi.select(p),T=Y(p);r(),s(m),A.on(C,null).on(I,r)}function h(){var t=P.of(this,arguments);v?clearTimeout(v):(Ts.call(this),p=e(m=g||Zi.mouse(this)),s(t)),v=setTimeout(function(){v=null,c(t)},50),M(),n(Math.pow(2,.002*za())*k.k),i(m,p),l(t)}function d(){var t=Zi.mouse(this),r=Math.log(k.k)/Math.LN2;a(this,t,e(t),Zi.event.shiftKey?Math.ceil(r)-1:Math.floor(r)+1)}var p,m,g,v,y,x,b,_,w,k={x:0,y:0,k:1},T=[960,500],S=Ia,E=250,L=0,C=&quot;mousedown.zoom&quot;,z=&quot;mousemove.zoom&quot;,D=&quot;mouseup.zoom&quot;,I=&quot;touchstart.zoom&quot;,P=A(t,&quot;zoomstart&quot;,&quot;zoom&quot;,&quot;zoomend&quot;);return Da||(Da=&quot;onwheel&quot;in Qi?(za=function(){return-Zi.event.deltaY*(Zi.event.deltaMode?120:1)},&quot;wheel&quot;):&quot;onmousewheel&quot;in Qi?(za=function(){return Zi.event.wheelDelta},&quot;mousewheel&quot;):(za=function(){return-Zi.event.detail},&quot;MozMousePixelScroll&quot;)),t.event=function(t){t.each(function(){var t=P.of(this,arguments),e=k;ks?Zi.select(this).transition().each(&quot;start.zoom&quot;,function(){k=this.__chart__||{x:0,y:0,k:1},s(t)}).tween(&quot;zoom:zoom&quot;,function(){var r=T[0],n=T[1],i=m?m[0]:r/2,a=m?m[1]:n/2,o=Zi.interpolateZoom([(i-k.x)/k.k,(a-k.y)/k.k,r/k.k],[(i-e.x)/e.k,(a-e.y)/e.k,r/e.k]);return function(e){var n=o(e),s=r/n[2];this.__chart__=k={x:i-n[0]*s,y:a-n[1]*s,k:s},l(t)}}).each(&quot;interrupt.zoom&quot;,function(){c(t)}).each(&quot;end.zoom&quot;,function(){c(t)}):(this.__chart__=k,s(t),l(t),c(t))})},t.translate=function(e){return arguments.length?(k={x:+e[0],y:+e[1],k:k.k},o(),t):[k.x,k.y]},t.scale=function(e){return arguments.length?(k={x:k.x,y:k.y,k:null},n(+e),o(),t):k.k},t.scaleExtent=function(e){return arguments.length?(S=null==e?Ia:[+e[0],+e[1]],t):S},t.center=function(e){return arguments.length?(g=e&amp;&amp;[+e[0],+e[1]],t):g},t.size=function(e){return arguments.length?(T=e&amp;&amp;[+e[0],+e[1]],t):T},t.duration=function(e){return arguments.length?(E=+e,t):E},t.x=function(e){return arguments.length?(b=e,x=e.copy(),k={x:0,y:0,k:1},t):b},t.y=function(e){return arguments.length?(w=e,_=e.copy(),k={x:0,y:0,k:1},t):w},Zi.rebind(t,P,&quot;on&quot;)};var za,Da,Ia=[0,1/0];Zi.color=et,et.prototype.toString=function(){return this.rgb()+&quot;&quot;},Zi.hsl=rt;var Pa=rt.prototype=new et;Pa.brighter=function(t){return t=Math.pow(.7,arguments.length?t:1),new rt(this.h,this.s,this.l/t)},Pa.darker=function(t){return t=Math.pow(.7,arguments.length?t:1),new rt(this.h,this.s,t*this.l)},Pa.rgb=function(){return nt(this.h,this.s,this.l)},Zi.hcl=it;var Oa=it.prototype=new et;Oa.brighter=function(t){return new it(this.h,this.c,Math.min(100,this.l+Fa*(arguments.length?t:1)))},Oa.darker=function(t){return new it(this.h,this.c,Math.max(0,this.l-Fa*(arguments.length?t:1)))},Oa.rgb=function(){return at(this.h,this.c,this.l).rgb()},Zi.lab=ot;var Fa=18,Ra=.95047,Na=1,ja=1.08883,Ba=ot.prototype=new et;Ba.brighter=function(t){return new ot(Math.min(100,this.l+Fa*(arguments.length?t:1)),this.a,this.b)},Ba.darker=function(t){return new ot(Math.max(0,this.l-Fa*(arguments.length?t:1)),this.a,this.b)},Ba.rgb=function(){return st(this.l,this.a,this.b)},Zi.rgb=ht;var Ua=ht.prototype=new et;Ua.brighter=function(t){t=Math.pow(.7,arguments.length?t:1);var e=this.r,r=this.g,n=this.b;return e||r||n?(e&amp;&amp;e&lt;30&amp;&amp;(e=30),r&amp;&amp;r&lt;30&amp;&amp;(r=30),n&amp;&amp;n&lt;30&amp;&amp;(n=30),new ht(Math.min(255,e/t),Math.min(255,r/t),Math.min(255,n/t))):new ht(30,30,30)},Ua.darker=function(t){return t=Math.pow(.7,arguments.length?t:1),new ht(t*this.r,t*this.g,t*this.b)},Ua.hsl=function(){return vt(this.r,this.g,this.b)},Ua.toString=function(){return&quot;#&quot;+mt(this.r)+mt(this.g)+mt(this.b)};var Va=Zi.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});Va.forEach(function(t,e){Va.set(t,dt(e))}),Zi.functor=_t,Zi.xhr=wt(y),Zi.dsv=function(t,e){function r(t,r,a){arguments.length&lt;3&amp;&amp;(a=r,r=null);var o=Mt(t,e,null==r?n:i(r),a);return o.row=function(t){return arguments.length?o.response(null==(r=t)?n:i(t)):r},o}function n(t){return r.parse(t.responseText)}function i(t){return function(e){return r.parse(e.responseText,t)}}function a(e){return e.map(o).join(t)}function o(t){return s.test(t)?'&quot;'+t.replace(/\&quot;/g,'&quot;&quot;')+'&quot;':t}var s=new RegExp('[&quot;'+t+&quot;\n]&quot;),l=t.charCodeAt(0);return r.parse=function(t,e){var n;return r.parseRows(t,function(t,r){if(n)return n(t,r-1);var i=new Function(&quot;d&quot;,&quot;return {&quot;+t.map(function(t,e){return JSON.stringify(t)+&quot;: d[&quot;+e+&quot;]&quot;}).join(&quot;,&quot;)+&quot;}&quot;);n=e?function(t,r){return e(i(t),r)}:i})},r.parseRows=function(t,e){function r(){if(u&gt;=c)return o;if(i)return i=!1,a;var e=u;if(34===t.charCodeAt(e)){for(var r=e;r++&lt;c;)if(34===t.charCodeAt(r)){if(34!==t.charCodeAt(r+1))break;++r}u=r+2;return 13===(n=t.charCodeAt(r+1))?(i=!0,10===t.charCodeAt(r+2)&amp;&amp;++u):10===n&amp;&amp;(i=!0),t.slice(e+1,r).replace(/&quot;&quot;/g,'&quot;')}for(;u&lt;c;){var n,s=1;if(10===(n=t.charCodeAt(u++)))i=!0;else if(13===n)i=!0,10===t.charCodeAt(u)&amp;&amp;(++u,++s);else if(n!==l)continue;return t.slice(e,u-s)}return t.slice(e)}for(var n,i,a={},o={},s=[],c=t.length,u=0,f=0;(n=r())!==o;){for(var h=[];n!==a&amp;&amp;n!==o;)h.push(n),n=r();e&amp;&amp;null==(h=e(h,f++))||s.push(h)}return s},r.format=function(e){if(Array.isArray(e[0]))return r.formatRows(e);var n=new v,i=[];return e.forEach(function(t){for(var e in t)n.has(e)||i.push(n.add(e))}),[i.map(o).join(t)].concat(e.map(function(e){return i.map(function(t){return o(e[t])}).join(t)})).join(&quot;\n&quot;)},r.formatRows=function(t){return t.map(a).join(&quot;\n&quot;)},r},Zi.csv=Zi.dsv(&quot;,&quot;,&quot;text/csv&quot;),Zi.tsv=Zi.dsv(&quot;\t&quot;,&quot;text/tab-separated-values&quot;);var qa,Ha,Ga,Ya,Wa=this[x(this,&quot;requestAnimationFrame&quot;)]||function(t){setTimeout(t,17)};Zi.timer=function(){kt.apply(this,arguments)},Zi.timer.flush=function(){Tt(),St()},Zi.round=function(t,e){return e?Math.round(t*(e=Math.pow(10,e)))/e:Math.round(t)};var Xa=[&quot;y&quot;,&quot;z&quot;,&quot;a&quot;,&quot;f&quot;,&quot;p&quot;,&quot;n&quot;,&quot;\xb5&quot;,&quot;m&quot;,&quot;&quot;,&quot;k&quot;,&quot;M&quot;,&quot;G&quot;,&quot;T&quot;,&quot;P&quot;,&quot;E&quot;,&quot;Z&quot;,&quot;Y&quot;].map(function(t,e){var r=Math.pow(10,3*aa(8-e));return{scale:e&gt;8?function(t){return t/r}:function(t){return t*r},symbol:t}});Zi.formatPrefix=function(t,e){var r=0;return(t=+t)&amp;&amp;(t&lt;0&amp;&amp;(t*=-1),e&amp;&amp;(t=Zi.round(t,Et(t,e))),r=1+Math.floor(1e-12+Math.log(t)/Math.LN10),r=Math.max(-24,Math.min(24,3*Math.floor((r-1)/3)))),Xa[8+r/3]};var Za=/(?:([^{])?([&lt;&gt;=^]))?([+\- ])?([$#])?(0)?(\d+)?(,)?(\.-?\d+)?([a-z%])?/i,Ja=Zi.map({b:function(t){return t.toString(2)},c:function(t){return String.fromCharCode(t)},o:function(t){return t.toString(8)},x:function(t){return t.toString(16)},X:function(t){return t.toString(16).toUpperCase()},g:function(t,e){return t.toPrecision(e)},e:function(t,e){return t.toExponential(e)},f:function(t,e){return t.toFixed(e)},r:function(t,e){return(t=Zi.round(t,Et(t,e))).toFixed(Math.max(0,Math.min(20,Et(t*(1+1e-15),e))))}}),Ka=Zi.time={},Qa=Date;Lt.prototype={getDate:function(){return this._.getUTCDate()},getDay:function(){return this._.getUTCDay()},getFullYear:function(){return this._.getUTCFullYear()},getHours:function(){return this._.getUTCHours()},getMilliseconds:function(){return this._.getUTCMilliseconds()},getMinutes:function(){return this._.getUTCMinutes()},getMonth:function(){return this._.getUTCMonth()},getSeconds:function(){return this._.getUTCSeconds()},getTime:function(){return this._.getTime()},getTimezoneOffset:function(){return 0},valueOf:function(){return this._.valueOf()},setDate:function(){$a.setUTCDate.apply(this._,arguments)},setDay:function(){$a.setUTCDay.apply(this._,arguments)},setFullYear:function(){$a.setUTCFullYear.apply(this._,arguments)},setHours:function(){$a.setUTCHours.apply(this._,arguments)},setMilliseconds:function(){$a.setUTCMilliseconds.apply(this._,arguments)},setMinutes:function(){$a.setUTCMinutes.apply(this._,arguments)},setMonth:function(){$a.setUTCMonth.apply(this._,arguments)},setSeconds:function(){$a.setUTCSeconds.apply(this._,arguments)},setTime:function(){$a.setTime.apply(this._,arguments)}};var $a=Date.prototype;Ka.year=Ct(function(t){return(t=Ka.day(t)).setMonth(0,1),t},function(t,e){t.setFullYear(t.getFullYear()+e)},function(t){return t.getFullYear()}),Ka.years=Ka.year.range,Ka.years.utc=Ka.year.utc.range,Ka.day=Ct(function(t){var e=new Qa(2e3,0);return e.setFullYear(t.getFullYear(),t.getMonth(),t.getDate()),e},function(t,e){t.setDate(t.getDate()+e)},function(t){return t.getDate()-1}),Ka.days=Ka.day.range,Ka.days.utc=Ka.day.utc.range,Ka.dayOfYear=function(t){var e=Ka.year(t);return Math.floor((t-e-6e4*(t.getTimezoneOffset()-e.getTimezoneOffset()))/864e5)},[&quot;sunday&quot;,&quot;monday&quot;,&quot;tuesday&quot;,&quot;wednesday&quot;,&quot;thursday&quot;,&quot;friday&quot;,&quot;saturday&quot;].forEach(function(t,e){e=7-e;var r=Ka[t]=Ct(function(t){return(t=Ka.day(t)).setDate(t.getDate()-(t.getDay()+e)%7),t},function(t,e){t.setDate(t.getDate()+7*Math.floor(e))},function(t){var r=Ka.year(t).getDay();return Math.floor((Ka.dayOfYear(t)+(r+e)%7)/7)-(r!==e)});Ka[t+&quot;s&quot;]=r.range,Ka[t+&quot;s&quot;].utc=r.utc.range,Ka[t+&quot;OfYear&quot;]=function(t){var r=Ka.year(t).getDay();return Math.floor((Ka.dayOfYear(t)+(r+e)%7)/7)}}),Ka.week=Ka.sunday,Ka.weeks=Ka.sunday.range,Ka.weeks.utc=Ka.sunday.utc.range,Ka.weekOfYear=Ka.sundayOfYear;var to={&quot;-&quot;:&quot;&quot;,_:&quot; &quot;,0:&quot;0&quot;},eo=/^\s*\d+/,ro=/^%/;Zi.locale=function(t){return{numberFormat:function(t){var e=t.decimal,r=t.thousands,n=t.grouping,i=t.currency,a=n&amp;&amp;r?function(t,e){for(var i=t.length,a=[],o=0,s=n[0],l=0;i&gt;0&amp;&amp;s&gt;0&amp;&amp;(l+s+1&gt;e&amp;&amp;(s=Math.max(1,e-l)),a.push(t.substring(i-=s,i+s)),!((l+=s+1)&gt;e));)s=n[o=(o+1)%n.length];return a.reverse().join(r)}:y;return function(t){var r=Za.exec(t),n=r[1]||&quot; &quot;,o=r[2]||&quot;&gt;&quot;,s=r[3]||&quot;-&quot;,l=r[4]||&quot;&quot;,c=r[5],u=+r[6],f=r[7],h=r[8],d=r[9],p=1,m=&quot;&quot;,g=&quot;&quot;,v=!1,y=!0;switch(h&amp;&amp;(h=+h.substring(1)),(c||&quot;0&quot;===n&amp;&amp;&quot;=&quot;===o)&amp;&amp;(c=n=&quot;0&quot;,o=&quot;=&quot;),d){case&quot;n&quot;:f=!0,d=&quot;g&quot;;break;case&quot;%&quot;:p=100,g=&quot;%&quot;,d=&quot;f&quot;;break;case&quot;p&quot;:p=100,g=&quot;%&quot;,d=&quot;r&quot;;break;case&quot;b&quot;:case&quot;o&quot;:case&quot;x&quot;:case&quot;X&quot;:&quot;#&quot;===l&amp;&amp;(m=&quot;0&quot;+d.toLowerCase());case&quot;c&quot;:y=!1;case&quot;d&quot;:v=!0,h=0;break;case&quot;s&quot;:p=-1,d=&quot;r&quot;}&quot;$&quot;===l&amp;&amp;(m=i[0],g=i[1]),&quot;r&quot;!=d||h||(d=&quot;g&quot;),null!=h&amp;&amp;(&quot;g&quot;==d?h=Math.max(1,Math.min(21,h)):&quot;e&quot;!=d&amp;&amp;&quot;f&quot;!=d||(h=Math.max(0,Math.min(20,h)))),d=Ja.get(d)||function(t){return t+&quot;&quot;};var x=c&amp;&amp;f;return function(t){var r=g;if(v&amp;&amp;t%1)return&quot;&quot;;var i=t&lt;0||0===t&amp;&amp;1/t&lt;0?(t=-t,&quot;-&quot;):&quot;-&quot;===s?&quot;&quot;:s;if(p&lt;0){var l=Zi.formatPrefix(t,h);t=l.scale(t),r=l.symbol+g}else t*=p;var b,_,w=(t=d(t,h)).lastIndexOf(&quot;.&quot;);if(w&lt;0){var M=y?t.lastIndexOf(&quot;e&quot;):-1;M&lt;0?(b=t,_=&quot;&quot;):(b=t.substring(0,M),_=t.substring(M))}else b=t.substring(0,w),_=e+t.substring(w+1);!c&amp;&amp;f&amp;&amp;(b=a(b,1/0));var k=m.length+b.length+_.length+(x?0:i.length),A=k&lt;u?new Array(k=u-k+1).join(n):&quot;&quot;;return x&amp;&amp;(b=a(A+b,A.length?u-_.length:1/0)),i+=m,t=b+_,(&quot;&lt;&quot;===o?i+t+A:&quot;&gt;&quot;===o?A+i+t:&quot;^&quot;===o?A.substring(0,k&gt;&gt;=1)+i+t+A.substring(k):i+(x?t:A+t))+r}}}(t),timeFormat:function(t){function e(t){function e(e){for(var r,i,a,o=[],s=-1,l=0;++s&lt;n;)37===t.charCodeAt(s)&amp;&amp;(o.push(t.slice(l,s)),null!=(i=to[r=t.charAt(++s)])&amp;&amp;(r=t.charAt(++s)),(a=b[r])&amp;&amp;(r=a(e,null==i?&quot;e&quot;===r?&quot; &quot;:&quot;0&quot;:i)),o.push(r),l=s+1);return o.push(t.slice(l,s)),o.join(&quot;&quot;)}var n=t.length;return e.parse=function(e){var n={y:1900,m:0,d:1,H:0,M:0,S:0,L:0,Z:null};if(r(n,t,e,0)!=e.length)return null;&quot;p&quot;in n&amp;&amp;(n.H=n.H%12+12*n.p);var i=null!=n.Z&amp;&amp;Qa!==Lt,a=new(i?Lt:Qa);return&quot;j&quot;in n?a.setFullYear(n.y,0,n.j):&quot;W&quot;in n||&quot;U&quot;in n?(&quot;w&quot;in n||(n.w=&quot;W&quot;in n?1:0),a.setFullYear(n.y,0,1),a.setFullYear(n.y,0,&quot;W&quot;in n?(n.w+6)%7+7*n.W-(a.getDay()+5)%7:n.w+7*n.U-(a.getDay()+6)%7)):a.setFullYear(n.y,n.m,n.d),a.setHours(n.H+(n.Z/100|0),n.M+n.Z%100,n.S,n.L),i?a._:a},e.toString=function(){return t},e}function r(t,e,r,n){for(var i,a,o,s=0,l=e.length,c=r.length;s&lt;l;){if(n&gt;=c)return-1;if(37===(i=e.charCodeAt(s++))){if(o=e.charAt(s++),!(a=_[o in to?e.charAt(s++):o])||(n=a(t,r,n))&lt;0)return-1}else if(i!=r.charCodeAt(n++))return-1}return n}var n=t.dateTime,i=t.date,a=t.time,o=t.periods,s=t.days,l=t.shortDays,c=t.months,u=t.shortMonths;e.multi=(e.utc=function(t){function r(t){try{var e=new(Qa=Lt);return e._=t,n(e)}finally{Qa=Date}}var n=e(t);return r.parse=function(t){try{Qa=Lt;var e=n.parse(t);return e&amp;&amp;e._}finally{Qa=Date}},r.toString=n.toString,r}).multi=Jt;var f=Zi.map(),h=It(s),d=Pt(s),p=It(l),m=Pt(l),g=It(c),v=Pt(c),y=It(u),x=Pt(u);o.forEach(function(t,e){f.set(t.toLowerCase(),e)});var b={a:function(t){return l[t.getDay()]},A:function(t){return s[t.getDay()]},b:function(t){return u[t.getMonth()]},B:function(t){return c[t.getMonth()]},c:e(n),d:function(t,e){return Dt(t.getDate(),e,2)},e:function(t,e){return Dt(t.getDate(),e,2)},H:function(t,e){return Dt(t.getHours(),e,2)},I:function(t,e){return Dt(t.getHours()%12||12,e,2)},j:function(t,e){return Dt(1+Ka.dayOfYear(t),e,3)},L:function(t,e){return Dt(t.getMilliseconds(),e,3)},m:function(t,e){return Dt(t.getMonth()+1,e,2)},M:function(t,e){return Dt(t.getMinutes(),e,2)},p:function(t){return o[+(t.getHours()&gt;=12)]},S:function(t,e){return Dt(t.getSeconds(),e,2)},U:function(t,e){return Dt(Ka.sundayOfYear(t),e,2)},w:function(t){return t.getDay()},W:function(t,e){return Dt(Ka.mondayOfYear(t),e,2)},x:e(i),X:e(a),y:function(t,e){return Dt(t.getFullYear()%100,e,2)},Y:function(t,e){return Dt(t.getFullYear()%1e4,e,4)},Z:Xt,&quot;%&quot;:function(){return&quot;%&quot;}},_={a:function(t,e,r){p.lastIndex=0;var n=p.exec(e.slice(r));return n?(t.w=m.get(n[0].toLowerCase()),r+n[0].length):-1},A:function(t,e,r){h.lastIndex=0;var n=h.exec(e.slice(r));return n?(t.w=d.get(n[0].toLowerCase()),r+n[0].length):-1},b:function(t,e,r){y.lastIndex=0;var n=y.exec(e.slice(r));return n?(t.m=x.get(n[0].toLowerCase()),r+n[0].length):-1},B:function(t,e,r){g.lastIndex=0;var n=g.exec(e.slice(r));return n?(t.m=v.get(n[0].toLowerCase()),r+n[0].length):-1},c:function(t,e,n){return r(t,b.c.toString(),e,n)},d:Vt,e:Vt,H:Ht,I:Ht,j:qt,L:Wt,m:Ut,M:Gt,p:function(t,e,r){var n=f.get(e.slice(r,r+=2).toLowerCase());return null==n?-1:(t.p=n,r)},S:Yt,U:Ft,w:Ot,W:Rt,x:function(t,e,n){return r(t,b.x.toString(),e,n)},X:function(t,e,n){return r(t,b.X.toString(),e,n)},y:jt,Y:Nt,Z:Bt,&quot;%&quot;:Zt};return e}(t)}};var no=Zi.locale({decimal:&quot;.&quot;,thousands:&quot;,&quot;,grouping:[3],currency:[&quot;$&quot;,&quot;&quot;],dateTime:&quot;%a %b %e %X %Y&quot;,date:&quot;%m/%d/%Y&quot;,time:&quot;%H:%M:%S&quot;,periods:[&quot;AM&quot;,&quot;PM&quot;],days:[&quot;Sunday&quot;,&quot;Monday&quot;,&quot;Tuesday&quot;,&quot;Wednesday&quot;,&quot;Thursday&quot;,&quot;Friday&quot;,&quot;Saturday&quot;],shortDays:[&quot;Sun&quot;,&quot;Mon&quot;,&quot;Tue&quot;,&quot;Wed&quot;,&quot;Thu&quot;,&quot;Fri&quot;,&quot;Sat&quot;],months:[&quot;January&quot;,&quot;February&quot;,&quot;March&quot;,&quot;April&quot;,&quot;May&quot;,&quot;June&quot;,&quot;July&quot;,&quot;August&quot;,&quot;September&quot;,&quot;October&quot;,&quot;November&quot;,&quot;December&quot;],shortMonths:[&quot;Jan&quot;,&quot;Feb&quot;,&quot;Mar&quot;,&quot;Apr&quot;,&quot;May&quot;,&quot;Jun&quot;,&quot;Jul&quot;,&quot;Aug&quot;,&quot;Sep&quot;,&quot;Oct&quot;,&quot;Nov&quot;,&quot;Dec&quot;]});Zi.format=no.numberFormat,Zi.geo={},Kt.prototype={s:0,t:0,add:function(t){Qt(t,this.t,io),Qt(io.s,this.s,this),this.s?this.t+=io.t:this.s=io.t},reset:function(){this.s=this.t=0},valueOf:function(){return this.s}};var io=new Kt;Zi.geo.stream=function(t,e){t&amp;&amp;ao.hasOwnProperty(t.type)?ao[t.type](t,e):$t(t,e)};var ao={Feature:function(t,e){$t(t.geometry,e)},FeatureCollection:function(t,e){for(var r=t.features,n=-1,i=r.length;++n&lt;i;)$t(r[n].geometry,e)}},oo={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&lt;i;)t=r[n],e.point(t[0],t[1],t[2])},LineString:function(t,e){te(t.coordinates,e,0)},MultiLineString:function(t,e){for(var r=t.coordinates,n=-1,i=r.length;++n&lt;i;)te(r[n],e,0)},Polygon:function(t,e){ee(t.coordinates,e)},MultiPolygon:function(t,e){for(var r=t.coordinates,n=-1,i=r.length;++n&lt;i;)ee(r[n],e)},GeometryCollection:function(t,e){for(var r=t.geometries,n=-1,i=r.length;++n&lt;i;)$t(r[n],e)}};Zi.geo.area=function(t){return so=0,Zi.geo.stream(t,co),so};var so,lo=new Kt,co={sphere:function(){so+=4*ka},point:b,lineStart:b,lineEnd:b,polygonStart:function(){lo.reset(),co.lineStart=re},polygonEnd:function(){var t=2*lo;so+=t&lt;0?4*ka+t:t,co.lineStart=co.lineEnd=co.point=b}};Zi.geo.bounds=function(){function t(t,e){x.push(b=[u=t,h=t]),e&lt;f&amp;&amp;(f=e),e&gt;d&amp;&amp;(d=e)}function e(e,r){var n=ne([e*Ea,r*Ea]);if(v){var i=ae(v,n),a=ae([i[1],-i[0],0],i);le(a),a=ce(a);var o=e-p,l=o&gt;0?1:-1,c=a[0]*La*l,m=aa(o)&gt;180;if(m^(l*p&lt;c&amp;&amp;c&lt;l*e)){(g=a[1]*La)&gt;d&amp;&amp;(d=g)}else if(c=(c+360)%360-180,m^(l*p&lt;c&amp;&amp;c&lt;l*e)){var g;(g=-a[1]*La)&lt;f&amp;&amp;(f=g)}else r&lt;f&amp;&amp;(f=r),r&gt;d&amp;&amp;(d=r);m?e&lt;p?s(u,e)&gt;s(u,h)&amp;&amp;(h=e):s(e,h)&gt;s(u,h)&amp;&amp;(u=e):h&gt;=u?(e&lt;u&amp;&amp;(u=e),e&gt;h&amp;&amp;(h=e)):e&gt;p?s(u,e)&gt;s(u,h)&amp;&amp;(h=e):s(e,h)&gt;s(u,h)&amp;&amp;(u=e)}else t(e,r);v=n,p=e}function r(){_.point=e}function n(){b[0]=u,b[1]=h,_.point=t,v=null}function i(t,r){if(v){var n=t-p;y+=aa(n)&gt;180?n+(n&gt;0?360:-360):n}else m=t,g=r;co.point(t,r),e(t,r)}function a(){co.lineStart()}function o(){i(m,g),co.lineEnd(),aa(y)&gt;wa&amp;&amp;(u=-(h=180)),b[0]=u,b[1]=h,v=null}function s(t,e){return(e-=t)&lt;0?e+360:e}function l(t,e){return t[0]-e[0]}function c(t,e){return e[0]&lt;=e[1]?e[0]&lt;=t&amp;&amp;t&lt;=e[1]:t&lt;e[0]||e[1]&lt;t}var u,f,h,d,p,m,g,v,y,x,b,_={point:t,lineStart:r,lineEnd:n,polygonStart:function(){_.point=i,_.lineStart=a,_.lineEnd=o,y=0,co.polygonStart()},polygonEnd:function(){co.polygonEnd(),_.point=t,_.lineStart=r,_.lineEnd=n,lo&lt;0?(u=-(h=180),f=-(d=90)):y&gt;wa?d=90:y&lt;-wa&amp;&amp;(f=-90),b[0]=u,b[1]=h}};return function(t){d=h=-(u=f=1/0),x=[],Zi.geo.stream(t,_);if(i=x.length){x.sort(l);for(var e=1,r=[p=x[0]];e&lt;i;++e)c((a=x[e])[0],p)||c(a[1],p)?(s(p[0],a[1])&gt;s(p[0],p[1])&amp;&amp;(p[1]=a[1]),s(a[0],p[1])&gt;s(p[0],p[1])&amp;&amp;(p[0]=a[0])):r.push(p=a);for(var n,i,a,o=-1/0,p=(e=0,r[i=r.length-1]);e&lt;=i;p=a,++e)a=r[e],(n=s(p[1],a[0]))&gt;o&amp;&amp;(o=n,u=a[0],h=p[1])}return x=b=null,u===1/0||f===1/0?[[NaN,NaN],[NaN,NaN]]:[[u,f],[h,d]]}}(),Zi.geo.centroid=function(t){uo=fo=ho=po=mo=go=vo=yo=xo=bo=_o=0,Zi.geo.stream(t,wo);var e=xo,r=bo,n=_o,i=e*e+r*r+n*n;return i&lt;Ma&amp;&amp;(e=go,r=vo,n=yo,fo&lt;wa&amp;&amp;(e=ho,r=po,n=mo),(i=e*e+r*r+n*n)&lt;Ma)?[NaN,NaN]:[Math.atan2(r,e)*La,Q(n/Math.sqrt(i))*La]};var uo,fo,ho,po,mo,go,vo,yo,xo,bo,_o,wo={sphere:b,point:fe,lineStart:de,lineEnd:pe,polygonStart:function(){wo.lineStart=me},polygonEnd:function(){wo.lineStart=de}},Mo=_e(ve,function(t){var e,r=NaN,n=NaN,i=NaN;return{lineStart:function(){t.lineStart(),e=1},point:function(a,o){var s=a&gt;0?ka:-ka,l=aa(a-r);aa(l-ka)&lt;wa?(t.point(r,n=(n+o)/2&gt;0?Sa:-Sa),t.point(i,n),t.lineEnd(),t.lineStart(),t.point(s,n),t.point(a,n),e=0):i!==s&amp;&amp;l&gt;=ka&amp;&amp;(aa(r-i)&lt;wa&amp;&amp;(r-=i*wa),aa(a-s)&lt;wa&amp;&amp;(a-=s*wa),n=function(t,e,r,n){var i,a,o=Math.sin(t-r);return aa(o)&gt;wa?Math.atan((Math.sin(e)*(a=Math.cos(n))*Math.sin(r)-Math.sin(n)*(i=Math.cos(e))*Math.sin(t))/(i*a*o)):(e+n)/2}(r,n,a,o),t.point(i,n),t.lineEnd(),t.lineStart(),t.point(s,n),e=0),t.point(r=a,n=o),i=s},lineEnd:function(){t.lineEnd(),r=n=NaN},clean:function(){return 2-e}}},function(t,e,r,n){var i;if(null==t)i=r*Sa,n.point(-ka,i),n.point(0,i),n.point(ka,i),n.point(ka,0),n.point(ka,-i),n.point(0,-i),n.point(-ka,-i),n.point(-ka,0),n.point(-ka,i);else if(aa(t[0]-e[0])&gt;wa){var a=t[0]&lt;e[0]?ka:-ka;i=r*a/2,n.point(-a,i),n.point(0,i),n.point(a,i)}else n.point(e[0],e[1])},[-ka,-ka/2]),ko=1e9;Zi.geo.clipExtent=function(){var t,e,r,n,i,a,o={stream:function(t){return i&amp;&amp;(i.valid=!1),i=a(t),i.valid=!0,i},extent:function(s){return arguments.length?(a=Te(t=+s[0][0],e=+s[0][1],r=+s[1][0],n=+s[1][1]),i&amp;&amp;(i.valid=!1,i=null),o):[[t,e],[r,n]]}};return o.extent([[0,0],[960,500]])},(Zi.geo.conicEqualArea=function(){return Se(Ee)}).raw=Ee,Zi.geo.albers=function(){return Zi.geo.conicEqualArea().rotate([96,0]).center([-.6,38.7]).parallels([29.5,45.5]).scale(1070)},Zi.geo.albersUsa=function(){function t(t){var a=t[0],o=t[1];return e=null,r(a,o),e||(n(a,o),e)||i(a,o),e}var e,r,n,i,a=Zi.geo.albers(),o=Zi.geo.conicEqualArea().rotate([154,0]).center([-2,58.5]).parallels([55,65]),s=Zi.geo.conicEqualArea().rotate([157,0]).center([-3,19.9]).parallels([8,18]),l={point:function(t,r){e=[t,r]}};return t.invert=function(t){var e=a.scale(),r=a.translate(),n=(t[0]-r[0])/e,i=(t[1]-r[1])/e;return(i&gt;=.12&amp;&amp;i&lt;.234&amp;&amp;n&gt;=-.425&amp;&amp;n&lt;-.214?o:i&gt;=.166&amp;&amp;i&lt;.234&amp;&amp;n&gt;=-.214&amp;&amp;n&lt;-.115?s:a).invert(t)},t.stream=function(t){var e=a.stream(t),r=o.stream(t),n=s.stream(t);return{point:function(t,i){e.point(t,i),r.point(t,i),n.point(t,i)},sphere:function(){e.sphere(),r.sphere(),n.sphere()},lineStart:function(){e.lineStart(),r.lineStart(),n.lineStart()},lineEnd:function(){e.lineEnd(),r.lineEnd(),n.lineEnd()},polygonStart:function(){e.polygonStart(),r.polygonStart(),n.polygonStart()},polygonEnd:function(){e.polygonEnd(),r.polygonEnd(),n.polygonEnd()}}},t.precision=function(e){return arguments.length?(a.precision(e),o.precision(e),s.precision(e),t):a.precision()},t.scale=function(e){return arguments.length?(a.scale(e),o.scale(.35*e),s.scale(e),t.translate(a.translate())):a.scale()},t.translate=function(e){if(!arguments.length)return a.translate();var c=a.scale(),u=+e[0],f=+e[1];return r=a.translate(e).clipExtent([[u-.455*c,f-.238*c],[u+.455*c,f+.238*c]]).stream(l).point,n=o.translate([u-.307*c,f+.201*c]).clipExtent([[u-.425*c+wa,f+.12*c+wa],[u-.214*c-wa,f+.234*c-wa]]).stream(l).point,i=s.translate([u-.205*c,f+.212*c]).clipExtent([[u-.214*c+wa,f+.166*c+wa],[u-.115*c-wa,f+.234*c-wa]]).stream(l).point,t},t.scale(1070)};var Ao,To,So,Eo,Lo,Co,zo={point:b,lineStart:b,lineEnd:b,polygonStart:function(){To=0,zo.lineStart=Le},polygonEnd:function(){zo.lineStart=zo.lineEnd=zo.point=b,Ao+=aa(To/2)}},Do={point:function(t,e){t&lt;So&amp;&amp;(So=t),t&gt;Lo&amp;&amp;(Lo=t),e&lt;Eo&amp;&amp;(Eo=e),e&gt;Co&amp;&amp;(Co=e)},lineStart:b,lineEnd:b,polygonStart:b,polygonEnd:b},Io={point:ze,lineStart:De,lineEnd:Ie,polygonStart:function(){Io.lineStart=Pe},polygonEnd:function(){Io.point=ze,Io.lineStart=De,Io.lineEnd=Ie}};Zi.geo.path=function(){function t(t){return t&amp;&amp;(&quot;function&quot;==typeof s&amp;&amp;a.pointRadius(+s.apply(this,arguments)),o&amp;&amp;o.valid||(o=i(a)),Zi.geo.stream(t,o)),a.result()}function e(){return o=null,t}var r,n,i,a,o,s=4.5;return t.area=function(t){return Ao=0,Zi.geo.stream(t,i(zo)),Ao},t.centroid=function(t){return ho=po=mo=go=vo=yo=xo=bo=_o=0,Zi.geo.stream(t,i(Io)),_o?[xo/_o,bo/_o]:yo?[go/yo,vo/yo]:mo?[ho/mo,po/mo]:[NaN,NaN]},t.bounds=function(t){return Lo=Co=-(So=Eo=1/0),Zi.geo.stream(t,i(Do)),[[So,Eo],[Lo,Co]]},t.projection=function(t){return arguments.length?(i=(r=t)?t.stream||function(t){var e=Oe(function(e,r){return t([e*La,r*La])});return function(t){return Be(e(t))}}(t):y,e()):r},t.context=function(t){return arguments.length?(a=null==(n=t)?new function(){function t(t,e){o.push(&quot;M&quot;,t,&quot;,&quot;,e,a)}function e(t,e){o.push(&quot;M&quot;,t,&quot;,&quot;,e),s.point=r}function r(t,e){o.push(&quot;L&quot;,t,&quot;,&quot;,e)}function n(){s.point=t}function i(){o.push(&quot;Z&quot;)}var a=Ce(4.5),o=[],s={point:t,lineStart:function(){s.point=e},lineEnd:n,polygonStart:function(){s.lineEnd=i},polygonEnd:function(){s.lineEnd=n,s.point=t},pointRadius:function(t){return a=Ce(t),s},result:function(){if(o.length){var t=o.join(&quot;&quot;);return o=[],t}}};return s}:new function(t){function e(e,r){t.moveTo(e+o,r),t.arc(e,r,o,0,Aa)}function r(e,r){t.moveTo(e,r),s.point=n}function n(e,r){t.lineTo(e,r)}function i(){s.point=e}function a(){t.closePath()}var o=4.5,s={point:e,lineStart:function(){s.point=r},lineEnd:i,polygonStart:function(){s.lineEnd=a},polygonEnd:function(){s.lineEnd=i,s.point=e},pointRadius:function(t){return o=t,s},result:b};return s}(t),&quot;function&quot;!=typeof s&amp;&amp;a.pointRadius(s),e()):n},t.pointRadius=function(e){return arguments.length?(s=&quot;function&quot;==typeof e?e:(a.pointRadius(+e),+e),t):s},t.projection(Zi.geo.albersUsa()).context(null)},Zi.geo.transform=function(t){return{stream:function(e){var r=new Fe(e);for(var n in t)r[n]=t[n];return r}}},Fe.prototype={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()}},Zi.geo.projection=Ne,Zi.geo.projectionMutator=je,(Zi.geo.equirectangular=function(){return Ne(Ue)}).raw=Ue.invert=Ue,Zi.geo.rotation=function(t){function e(e){return e=t(e[0]*Ea,e[1]*Ea),e[0]*=La,e[1]*=La,e}return t=qe(t[0]%360*Ea,t[1]*Ea,t.length&gt;2?t[2]*Ea:0),e.invert=function(e){return e=t.invert(e[0]*Ea,e[1]*Ea),e[0]*=La,e[1]*=La,e},e},Ve.invert=Ue,Zi.geo.circle=function(){function t(){var t=&quot;function&quot;==typeof n?n.apply(this,arguments):n,e=qe(-t[0]*Ea,-t[1]*Ea,0).invert,i=[];return r(null,null,1,{point:function(t,r){i.push(t=e(t,r)),t[0]*=La,t[1]*=La}}),{type:&quot;Polygon&quot;,coordinates:[i]}}var e,r,n=[0,0],i=6;return t.origin=function(e){return arguments.length?(n=e,t):n},t.angle=function(n){return arguments.length?(r=We((e=+n)*Ea,i*Ea),t):e},t.precision=function(n){return arguments.length?(r=We(e*Ea,(i=+n)*Ea),t):i},t.angle(90)},Zi.geo.distance=function(t,e){var r,n=(e[0]-t[0])*Ea,i=t[1]*Ea,a=e[1]*Ea,o=Math.sin(n),s=Math.cos(n),l=Math.sin(i),c=Math.cos(i),u=Math.sin(a),f=Math.cos(a);return Math.atan2(Math.sqrt((r=f*o)*r+(r=c*u-l*f*s)*r),l*u+c*f*s)},Zi.geo.graticule=function(){function t(){return{type:&quot;MultiLineString&quot;,coordinates:e()}}function e(){return Zi.range(Math.ceil(a/g)*g,i,g).map(h).concat(Zi.range(Math.ceil(c/v)*v,l,v).map(d)).concat(Zi.range(Math.ceil(n/p)*p,r,p).filter(function(t){return aa(t%g)&gt;wa}).map(u)).concat(Zi.range(Math.ceil(s/m)*m,o,m).filter(function(t){return aa(t%v)&gt;wa}).map(f))}var r,n,i,a,o,s,l,c,u,f,h,d,p=10,m=p,g=90,v=360,y=2.5;return t.lines=function(){return e().map(function(t){return{type:&quot;LineString&quot;,coordinates:t}})},t.outline=function(){return{type:&quot;Polygon&quot;,coordinates:[h(a).concat(d(l).slice(1),h(i).reverse().slice(1),d(c).reverse().slice(1))]}},t.extent=function(e){return arguments.length?t.majorExtent(e).minorExtent(e):t.minorExtent()},t.majorExtent=function(e){return arguments.length?(a=+e[0][0],i=+e[1][0],c=+e[0][1],l=+e[1][1],a&gt;i&amp;&amp;(e=a,a=i,i=e),c&gt;l&amp;&amp;(e=c,c=l,l=e),t.precision(y)):[[a,c],[i,l]]},t.minorExtent=function(e){return arguments.length?(n=+e[0][0],r=+e[1][0],s=+e[0][1],o=+e[1][1],n&gt;r&amp;&amp;(e=n,n=r,r=e),s&gt;o&amp;&amp;(e=s,s=o,o=e),t.precision(y)):[[n,s],[r,o]]},t.step=function(e){return arguments.length?t.majorStep(e).minorStep(e):t.minorStep()},t.majorStep=function(e){return arguments.length?(g=+e[0],v=+e[1],t):[g,v]},t.minorStep=function(e){return arguments.length?(p=+e[0],m=+e[1],t):[p,m]},t.precision=function(e){return arguments.length?(y=+e,u=Ze(s,o,90),f=Je(n,r,y),h=Ze(c,l,90),d=Je(a,i,y),t):y},t.majorExtent([[-180,-90+wa],[180,90-wa]]).minorExtent([[-180,-80-wa],[180,80+wa]])},Zi.geo.greatArc=function(){function t(){return{type:&quot;LineString&quot;,coordinates:[e||n.apply(this,arguments),r||i.apply(this,arguments)]}}var e,r,n=Ke,i=Qe;return t.distance=function(){return Zi.geo.distance(e||n.apply(this,arguments),r||i.apply(this,arguments))},t.source=function(r){return arguments.length?(n=r,e=&quot;function&quot;==typeof r?null:r,t):n},t.target=function(e){return arguments.length?(i=e,r=&quot;function&quot;==typeof e?null:e,t):i},t.precision=function(){return arguments.length?t:0},t},Zi.geo.interpolate=function(t,e){return function(t,e,r,n){var i=Math.cos(e),a=Math.sin(e),o=Math.cos(n),s=Math.sin(n),l=i*Math.cos(t),c=i*Math.sin(t),u=o*Math.cos(r),f=o*Math.sin(r),h=2*Math.asin(Math.sqrt(tt(n-e)+i*o*tt(r-t))),d=1/Math.sin(h),p=h?function(t){var e=Math.sin(t*=h)*d,r=Math.sin(h-t)*d,n=r*l+e*u,i=r*c+e*f,o=r*a+e*s;return[Math.atan2(i,n)*La,Math.atan2(o,Math.sqrt(n*n+i*i))*La]}:function(){return[t*La,e*La]};return p.distance=h,p}(t[0]*Ea,t[1]*Ea,e[0]*Ea,e[1]*Ea)},Zi.geo.length=function(t){return Po=0,Zi.geo.stream(t,Oo),Po};var Po,Oo={sphere:b,point:b,lineStart:function(){function t(t,i){var a=Math.sin(i*=Ea),o=Math.cos(i),s=aa((t*=Ea)-e),l=Math.cos(s);Po+=Math.atan2(Math.sqrt((s=o*Math.sin(s))*s+(s=n*a-r*o*l)*s),r*a+n*o*l),e=t,r=a,n=o}var e,r,n;Oo.point=function(i,a){e=i*Ea,r=Math.sin(a*=Ea),n=Math.cos(a),Oo.point=t},Oo.lineEnd=function(){Oo.point=Oo.lineEnd=b}},lineEnd:b,polygonStart:b,polygonEnd:b},Fo=$e(function(t){return Math.sqrt(2/(1+t))},function(t){return 2*Math.asin(t/2)});(Zi.geo.azimuthalEqualArea=function(){return Ne(Fo)}).raw=Fo;var Ro=$e(function(t){var e=Math.acos(t);return e&amp;&amp;e/Math.sin(e)},y);(Zi.geo.azimuthalEquidistant=function(){return Ne(Ro)}).raw=Ro,(Zi.geo.conicConformal=function(){return Se(tr)}).raw=tr,(Zi.geo.conicEquidistant=function(){return Se(er)}).raw=er;var No=$e(function(t){return 1/t},Math.atan);(Zi.geo.gnomonic=function(){return Ne(No)}).raw=No,rr.invert=function(t,e){return[t,2*Math.atan(Math.exp(e))-Sa]},(Zi.geo.mercator=function(){return nr(rr)}).raw=rr;var jo=$e(function(){return 1},Math.asin);(Zi.geo.orthographic=function(){return Ne(jo)}).raw=jo;var Bo=$e(function(t){return 1/(1+t)},function(t){return 2*Math.atan(t)});(Zi.geo.stereographic=function(){return Ne(Bo)}).raw=Bo,ir.invert=function(t,e){return[-e,2*Math.atan(Math.exp(t))-Sa]},(Zi.geo.transverseMercator=function(){var t=nr(ir),e=t.center,r=t.rotate;return t.center=function(t){return t?e([-t[1],t[0]]):(t=e(),[t[1],-t[0]])},t.rotate=function(t){return t?r([t[0],t[1],t.length&gt;2?t[2]+90:90]):(t=r(),[t[0],t[1],t[2]-90])},r([0,0,90])}).raw=ir,Zi.geom={},Zi.geom.hull=function(t){function e(t){if(t.length&lt;3)return[];var e,i=_t(r),a=_t(n),o=t.length,s=[],l=[];for(e=0;e&lt;o;e++)s.push([+i.call(this,t[e],e),+a.call(this,t[e],e),e]);for(s.sort(lr),e=0;e&lt;o;e++)l.push([s[e][0],-s[e][1]]);var c=sr(s),u=sr(l),f=u[0]===c[0],h=u[u.length-1]===c[c.length-1],d=[];for(e=c.length-1;e&gt;=0;--e)d.push(t[s[c[e]][2]]);for(e=+f;e&lt;u.length-h;++e)d.push(t[s[u[e]][2]]);return d}var r=ar,n=or;return arguments.length?e(t):(e.x=function(t){return arguments.length?(r=t,e):r},e.y=function(t){return arguments.length?(n=t,e):n},e)},Zi.geom.polygon=function(t){return ua(t,Uo),t};var Uo=Zi.geom.polygon.prototype=[];Uo.area=function(){for(var t,e=-1,r=this.length,n=this[r-1],i=0;++e&lt;r;)t=n,n=this[e],i+=t[1]*n[0]-t[0]*n[1];return.5*i},Uo.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&lt;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]},Uo.clip=function(t){for(var e,r,n,i,a,o,s=fr(t),l=-1,c=this.length-fr(this),u=this[c-1];++l&lt;c;){for(e=t.slice(),t.length=0,i=this[l],a=e[(n=e.length-s)-1],r=-1;++r&lt;n;)cr(o=e[r],u,i)?(cr(a,u,i)||t.push(ur(a,o,u,i)),t.push(o)):cr(a,u,i)&amp;&amp;t.push(ur(a,o,u,i)),a=o;s&amp;&amp;t.push(t[0]),u=i}return t};var Vo,qo,Ho,Go,Yo,Wo=[],Xo=[];vr.prototype.prepare=function(){for(var t,e=this.edges,r=e.length;r--;)(t=e[r].edge).b&amp;&amp;t.a||e.splice(r,1);return e.sort(xr),e.length},Ar.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&amp;&amp;(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=Cr(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&amp;&amp;r.C;)r===(n=r.U).L?(i=n.R)&amp;&amp;i.C?(r.C=i.C=!1,n.C=!0,t=n):(t===r.R&amp;&amp;(Er(this,r),r=(t=r).U),r.C=!1,n.C=!0,Lr(this,n)):(i=n.L)&amp;&amp;i.C?(r.C=i.C=!1,n.C=!0,t=n):(t===r.L&amp;&amp;(Lr(this,r),r=(t=r).U),r.C=!1,n.C=!0,Er(this,n)),r=t.U;this._.C=!1},remove:function(t){t.N&amp;&amp;(t.N.P=t.P),t.P&amp;&amp;(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?Cr(o):a:o,i?i.L===t?i.L=r:i.R=r:this._=r,a&amp;&amp;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&amp;&amp;(t.U=i),!n)if(t&amp;&amp;t.C)t.C=!1;else{do{if(t===this._)break;if(t===i.L){if((e=i.R).C&amp;&amp;(e.C=!1,i.C=!0,Er(this,i),e=i.R),e.L&amp;&amp;e.L.C||e.R&amp;&amp;e.R.C){e.R&amp;&amp;e.R.C||(e.L.C=!1,e.C=!0,Lr(this,e),e=i.R),e.C=i.C,i.C=e.R.C=!1,Er(this,i),t=this._;break}}else if((e=i.L).C&amp;&amp;(e.C=!1,i.C=!0,Lr(this,i),e=i.L),e.L&amp;&amp;e.L.C||e.R&amp;&amp;e.R.C){e.L&amp;&amp;e.L.C||(e.R.C=!1,e.C=!0,Er(this,e),e=i.L),e.C=i.C,i.C=e.L.C=!1,Lr(this,i),t=this._;break}e.C=!0,t=i,i=i.U}while(!t.C);t&amp;&amp;(t.C=!1)}}},Zi.geom.voronoi=function(t){function e(t){var e=new Array(t.length),n=s[0][0],i=s[0][1],a=s[1][0],o=s[1][1];return zr(r(t),s).cells.forEach(function(r,s){var l=r.edges,c=r.site;(e[s]=l.length?l.map(function(t){var e=t.start();return[e.x,e.y]}):c.x&gt;=n&amp;&amp;c.x&lt;=a&amp;&amp;c.y&gt;=i&amp;&amp;c.y&lt;=o?[[n,o],[a,o],[a,i],[n,i]]:[]).point=t[s]}),e}function r(t){return t.map(function(t,e){return{x:Math.round(a(t,e)/wa)*wa,y:Math.round(o(t,e)/wa)*wa,i:e}})}var n=ar,i=or,a=n,o=i,s=Zo;return t?e(t):(e.links=function(t){return zr(r(t)).edges.filter(function(t){return t.l&amp;&amp;t.r}).map(function(e){return{source:t[e.l.i],target:t[e.r.i]}})},e.triangles=function(t){var e=[];return zr(r(t)).cells.forEach(function(r,n){for(var i,a=r.site,o=r.edges.sort(xr),s=-1,l=o.length,c=o[l-1].edge,u=c.l===a?c.r:c.l;++s&lt;l;)c,i=u,u=(c=o[s].edge).l===a?c.r:c.l,n&lt;i.i&amp;&amp;n&lt;u.i&amp;&amp;function(t,e,r){return(t.x-r.x)*(e.y-t.y)-(t.x-e.x)*(r.y-t.y)}(a,i,u)&lt;0&amp;&amp;e.push([t[n],t[i.i],t[u.i]])}),e},e.x=function(t){return arguments.length?(a=_t(n=t),e):n},e.y=function(t){return arguments.length?(o=_t(i=t),e):i},e.clipExtent=function(t){return arguments.length?(s=null==t?Zo:t,e):s===Zo?null:s},e.size=function(t){return arguments.length?e.clipExtent(t&amp;&amp;[[0,0],t]):s===Zo?null:s&amp;&amp;s[1]},e)};var Zo=[[-1e6,-1e6],[1e6,1e6]];Zi.geom.delaunay=function(t){return Zi.geom.voronoi().triangles(t)},Zi.geom.quadtree=function(t,e,r,n,i){function a(t){function a(t,e,r,n,i,a,o,s){if(!isNaN(r)&amp;&amp;!isNaN(n))if(t.leaf){var l=t.x,u=t.y;if(null!=l)if(aa(l-r)+aa(u-n)&lt;.01)c(t,e,r,n,i,a,o,s);else{var f=t.point;t.x=t.y=t.point=null,c(t,f,l,u,i,a,o,s),c(t,e,r,n,i,a,o,s)}else t.x=r,t.y=n,t.point=e}else c(t,e,r,n,i,a,o,s)}function c(t,e,r,n,i,o,s,l){var c=.5*(i+s),u=.5*(o+l),f=r&gt;=c,h=n&gt;=u,d=h&lt;&lt;1|f;t.leaf=!1,t=t.nodes[d]||(t.nodes[d]={leaf:!0,nodes:[],point:null,x:null,y:null}),f?i=c:s=c,h?o=u:l=u,a(t,e,r,n,i,o,s,l)}var u,f,h,d,p,m,g,v,y,x=_t(s),b=_t(l);if(null!=e)m=e,g=r,v=n,y=i;else if(v=y=-(m=g=1/0),f=[],h=[],p=t.length,o)for(d=0;d&lt;p;++d)(u=t[d]).x&lt;m&amp;&amp;(m=u.x),u.y&lt;g&amp;&amp;(g=u.y),u.x&gt;v&amp;&amp;(v=u.x),u.y&gt;y&amp;&amp;(y=u.y),f.push(u.x),h.push(u.y);else for(d=0;d&lt;p;++d){var _=+x(u=t[d],d),w=+b(u,d);_&lt;m&amp;&amp;(m=_),w&lt;g&amp;&amp;(g=w),_&gt;v&amp;&amp;(v=_),w&gt;y&amp;&amp;(y=w),f.push(_),h.push(w)}var M=v-m,k=y-g;M&gt;k?y=g+M:v=m+k;var A={leaf:!0,nodes:[],point:null,x:null,y:null};if(A.add=function(t){a(A,t,+x(t,++d),+b(t,d),m,g,v,y)},A.visit=function(t){Or(t,A,m,g,v,y)},A.find=function(t){return function(t,e,r,n,i,a,o){var s,l=1/0;return function t(c,u,f,h,d){if(!(u&gt;a||f&gt;o||h&lt;n||d&lt;i)){if(p=c.point){var p,m=e-c.x,g=r-c.y,v=m*m+g*g;if(v&lt;l){var y=Math.sqrt(l=v);n=e-y,i=r-y,a=e+y,o=r+y,s=p}}for(var x=c.nodes,b=.5*(u+h),_=.5*(f+d),w=(r&gt;=_)&lt;&lt;1|e&gt;=b,M=w+4;w&lt;M;++w)if(c=x[3&amp;w])switch(3&amp;w){case 0:t(c,u,f,b,_);break;case 1:t(c,b,f,h,_);break;case 2:t(c,u,_,b,d);break;case 3:t(c,b,_,h,d)}}}(t,n,i,a,o),s}(A,t[0],t[1],m,g,v,y)},d=-1,null==e){for(;++d&lt;p;)a(A,t[d],f[d],h[d],m,g,v,y);--d}else t.forEach(A.add);return f=h=t=u=null,A}var o,s=ar,l=or;return(o=arguments.length)?(s=Ir,l=Pr,3===o&amp;&amp;(i=r,n=e,r=e=0),a(t)):(a.x=function(t){return arguments.length?(s=t,a):s},a.y=function(t){return arguments.length?(l=t,a):l},a.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]),a):null==e?null:[[e,r],[n,i]]},a.size=function(t){return arguments.length?(null==t?e=r=n=i=null:(e=r=0,n=+t[0],i=+t[1]),a):null==e?null:[n-e,i-r]},a)},Zi.interpolateRgb=Fr,Zi.interpolateObject=Rr,Zi.interpolateNumber=Nr,Zi.interpolateString=jr;var Jo=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,Ko=new RegExp(Jo.source,&quot;g&quot;);Zi.interpolate=Br,Zi.interpolators=[function(t,e){var r=typeof e;return(&quot;string&quot;===r?Va.has(e.toLowerCase())||/^(#|rgb\(|hsl\()/i.test(e)?Fr:jr:e instanceof et?Fr:Array.isArray(e)?Ur:&quot;object&quot;===r&amp;&amp;isNaN(e)?Rr:Nr)(t,e)}],Zi.interpolateArray=Ur;var Qo=function(){return y},$o=Zi.map({linear:Qo,poly:function(t){return function(e){return Math.pow(e,t)}},quad:function(){return Hr},cubic:function(){return Gr},sin:function(){return Yr},exp:function(){return Wr},circle:function(){return Xr},elastic:function(t,e){var r;return arguments.length&lt;2&amp;&amp;(e=.45),arguments.length?r=e/Aa*Math.asin(1/t):(t=1,r=e/4),function(n){return 1+t*Math.pow(2,-10*n)*Math.sin((n-r)*Aa/e)}},back:function(t){return t||(t=1.70158),function(e){return e*e*((t+1)*e-t)}},bounce:function(){return Zr}}),ts=Zi.map({in:y,out:Vr,&quot;in-out&quot;:qr,&quot;out-in&quot;:function(t){return qr(Vr(t))}});Zi.ease=function(t){var e=t.indexOf(&quot;-&quot;),r=e&gt;=0?t.slice(0,e):t,n=e&gt;=0?t.slice(e+1):&quot;in&quot;;return r=$o.get(r)||Qo,n=ts.get(n)||y,function(t){return function(e){return e&lt;=0?0:e&gt;=1?1:t(e)}}(n(r.apply(null,Ji.call(arguments,1))))},Zi.interpolateHcl=function(t,e){t=Zi.hcl(t),e=Zi.hcl(e);var r=t.h,n=t.c,i=t.l,a=e.h-r,o=e.c-n,s=e.l-i;return isNaN(o)&amp;&amp;(o=0,n=isNaN(n)?e.c:n),isNaN(a)?(a=0,r=isNaN(r)?e.h:r):a&gt;180?a-=360:a&lt;-180&amp;&amp;(a+=360),function(t){return at(r+a*t,n+o*t,i+s*t)+&quot;&quot;}},Zi.interpolateHsl=function(t,e){t=Zi.hsl(t),e=Zi.hsl(e);var r=t.h,n=t.s,i=t.l,a=e.h-r,o=e.s-n,s=e.l-i;return isNaN(o)&amp;&amp;(o=0,n=isNaN(n)?e.s:n),isNaN(a)?(a=0,r=isNaN(r)?e.h:r):a&gt;180?a-=360:a&lt;-180&amp;&amp;(a+=360),function(t){return nt(r+a*t,n+o*t,i+s*t)+&quot;&quot;}},Zi.interpolateLab=function(t,e){t=Zi.lab(t),e=Zi.lab(e);var r=t.l,n=t.a,i=t.b,a=e.l-r,o=e.a-n,s=e.b-i;return function(t){return st(r+a*t,n+o*t,i+s*t)+&quot;&quot;}},Zi.interpolateRound=Jr,Zi.transform=function(t){var e=Qi.createElementNS(Zi.ns.prefix.svg,&quot;g&quot;);return(Zi.transform=function(t){if(null!=t){e.setAttribute(&quot;transform&quot;,t);var r=e.transform.baseVal.consolidate()}return new Kr(r?r.matrix:es)})(t)},Kr.prototype.toString=function(){return&quot;translate(&quot;+this.translate+&quot;)rotate(&quot;+this.rotate+&quot;)skewX(&quot;+this.skew+&quot;)scale(&quot;+this.scale+&quot;)&quot;};var es={a:1,b:0,c:0,d:1,e:0,f:0};Zi.interpolateTransform=en,Zi.layout={},Zi.layout.bundle=function(){return function(t){for(var e=[],r=-1,n=t.length;++r&lt;n;)e.push(rn(t[r]));return e}},Zi.layout.chord=function(){function t(){var t,c,f,h,d,p={},m=[],g=Zi.range(a),v=[];for(r=[],n=[],t=0,h=-1;++h&lt;a;){for(c=0,d=-1;++d&lt;a;)c+=i[h][d];m.push(c),v.push(Zi.range(a)),t+=c}for(o&amp;&amp;g.sort(function(t,e){return o(m[t],m[e])}),s&amp;&amp;v.forEach(function(t,e){t.sort(function(t,r){return s(i[e][t],i[e][r])})}),t=(Aa-u*a)/t,c=0,h=-1;++h&lt;a;){for(f=c,d=-1;++d&lt;a;){var y=g[h],x=v[y][d],b=i[y][x],_=c,w=c+=b*t;p[y+&quot;-&quot;+x]={index:y,subindex:x,startAngle:_,endAngle:w,value:b}}n[y]={index:y,startAngle:f,endAngle:c,value:m[y]},c+=u}for(h=-1;++h&lt;a;)for(d=h-1;++d&lt;a;){var M=p[h+&quot;-&quot;+d],k=p[d+&quot;-&quot;+h];(M.value||k.value)&amp;&amp;r.push(M.value&lt;k.value?{source:k,target:M}:{source:M,target:k})}l&amp;&amp;e()}function e(){r.sort(function(t,e){return l((t.source.value+t.target.value)/2,(e.source.value+e.target.value)/2)})}var r,n,i,a,o,s,l,c={},u=0;return c.matrix=function(t){return arguments.length?(a=(i=t)&amp;&amp;i.length,r=n=null,c):i},c.padding=function(t){return arguments.length?(u=t,r=n=null,c):u},c.sortGroups=function(t){return arguments.length?(o=t,r=n=null,c):o},c.sortSubgroups=function(t){return arguments.length?(s=t,r=null,c):s},c.sortChords=function(t){return arguments.length?(l=t,r&amp;&amp;e(),c):l},c.chords=function(){return r||t(),r},c.groups=function(){return n||t(),n},c},Zi.layout.force=function(){function t(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/v&lt;l){if(l&lt;m){var c=e.charge/l;t.px-=a*c,t.py-=o*c}return!0}if(e.point&amp;&amp;l&amp;&amp;l&lt;m){c=e.pointCharge/l;t.px-=a*c,t.py-=o*c}}return!e.charge}}function e(t){t.px=Zi.event.x,t.py=Zi.event.y,l.resume()}var r,n,i,a,o,s,l={},c=Zi.dispatch(&quot;start&quot;,&quot;tick&quot;,&quot;end&quot;),u=[1,1],f=.9,h=rs,d=ns,p=-30,m=is,g=.1,v=.64,x=[],b=[];return l.tick=function(){if((i*=.99)&lt;.005)return r=null,c.end({type:&quot;end&quot;,alpha:i=0}),!0;var e,n,l,h,d,m,v,y,_,w=x.length,M=b.length;for(n=0;n&lt;M;++n)h=(l=b[n]).source,(m=(y=(d=l.target).x-h.x)*y+(_=d.y-h.y)*_)&amp;&amp;(y*=m=i*o[n]*((m=Math.sqrt(m))-a[n])/m,_*=m,d.x-=y*(v=h.weight+d.weight?h.weight/(h.weight+d.weight):.5),d.y-=_*v,h.x+=y*(v=1-v),h.y+=_*v);if((v=i*g)&amp;&amp;(y=u[0]/2,_=u[1]/2,n=-1,v))for(;++n&lt;w;)(l=x[n]).x+=(y-l.x)*v,l.y+=(_-l.y)*v;if(p)for(cn(e=Zi.geom.quadtree(x),i,s),n=-1;++n&lt;w;)(l=x[n]).fixed||e.visit(t(l));for(n=-1;++n&lt;w;)(l=x[n]).fixed?(l.x=l.px,l.y=l.py):(l.x-=(l.px-(l.px=l.x))*f,l.y-=(l.py-(l.py=l.y))*f);c.tick({type:&quot;tick&quot;,alpha:i})},l.nodes=function(t){return arguments.length?(x=t,l):x},l.links=function(t){return arguments.length?(b=t,l):b},l.size=function(t){return arguments.length?(u=t,l):u},l.linkDistance=function(t){return arguments.length?(h=&quot;function&quot;==typeof t?t:+t,l):h},l.distance=l.linkDistance,l.linkStrength=function(t){return arguments.length?(d=&quot;function&quot;==typeof t?t:+t,l):d},l.friction=function(t){return arguments.length?(f=+t,l):f},l.charge=function(t){return arguments.length?(p=&quot;function&quot;==typeof t?t:+t,l):p},l.chargeDistance=function(t){return arguments.length?(m=t*t,l):Math.sqrt(m)},l.gravity=function(t){return arguments.length?(g=+t,l):g},l.theta=function(t){return arguments.length?(v=t*t,l):Math.sqrt(v)},l.alpha=function(t){return arguments.length?(t=+t,i?t&gt;0?i=t:(r.c=null,r.t=NaN,r=null,c.end({type:&quot;end&quot;,alpha:i=0})):t&gt;0&amp;&amp;(c.start({type:&quot;start&quot;,alpha:i=t}),r=kt(l.tick)),l):i},l.start=function(){function t(t,n){if(!r){for(r=new Array(i),l=0;l&lt;i;++l)r[l]=[];for(l=0;l&lt;c;++l){var a=b[l];r[a.source.index].push(a.target),r[a.target.index].push(a.source)}}for(var o,s=r[e],l=-1,u=s.length;++l&lt;u;)if(!isNaN(o=s[l][t]))return o;return Math.random()*n}var e,r,n,i=x.length,c=b.length,f=u[0],m=u[1];for(e=0;e&lt;i;++e)(n=x[e]).index=e,n.weight=0;for(e=0;e&lt;c;++e)&quot;number&quot;==typeof(n=b[e]).source&amp;&amp;(n.source=x[n.source]),&quot;number&quot;==typeof n.target&amp;&amp;(n.target=x[n.target]),++n.source.weight,++n.target.weight;for(e=0;e&lt;i;++e)n=x[e],isNaN(n.x)&amp;&amp;(n.x=t(&quot;x&quot;,f)),isNaN(n.y)&amp;&amp;(n.y=t(&quot;y&quot;,m)),isNaN(n.px)&amp;&amp;(n.px=n.x),isNaN(n.py)&amp;&amp;(n.py=n.y);if(a=[],&quot;function&quot;==typeof h)for(e=0;e&lt;c;++e)a[e]=+h.call(this,b[e],e);else for(e=0;e&lt;c;++e)a[e]=h;if(o=[],&quot;function&quot;==typeof d)for(e=0;e&lt;c;++e)o[e]=+d.call(this,b[e],e);else for(e=0;e&lt;c;++e)o[e]=d;if(s=[],&quot;function&quot;==typeof p)for(e=0;e&lt;i;++e)s[e]=+p.call(this,x[e],e);else for(e=0;e&lt;i;++e)s[e]=p;return l.resume()},l.resume=function(){return l.alpha(.1)},l.stop=function(){return l.alpha(0)},l.drag=function(){if(n||(n=Zi.behavior.drag().origin(y).on(&quot;dragstart.force&quot;,an).on(&quot;drag.force&quot;,e).on(&quot;dragend.force&quot;,on)),!arguments.length)return n;this.on(&quot;mouseover.force&quot;,sn).on(&quot;mouseout.force&quot;,ln).call(n)},Zi.rebind(l,c,&quot;on&quot;)};var rs=20,ns=1,is=1/0;Zi.layout.hierarchy=function(){function t(i){var a,o=[i],s=[];for(i.depth=0;null!=(a=o.pop());)if(s.push(a),(c=r.call(t,a,a.depth))&amp;&amp;(l=c.length)){for(var l,c,u;--l&gt;=0;)o.push(u=c[l]),u.parent=a,u.depth=a.depth+1;n&amp;&amp;(a.value=0),a.children=c}else n&amp;&amp;(a.value=+n.call(t,a,a.depth)||0),delete a.children;return hn(i,function(t){var r,i;e&amp;&amp;(r=t.children)&amp;&amp;r.sort(e),n&amp;&amp;(i=t.parent)&amp;&amp;(i.value+=t.value)}),s}var e=mn,r=dn,n=pn;return t.sort=function(r){return arguments.length?(e=r,t):e},t.children=function(e){return arguments.length?(r=e,t):r},t.value=function(e){return arguments.length?(n=e,t):n},t.revalue=function(e){return n&amp;&amp;(fn(e,function(t){t.children&amp;&amp;(t.value=0)}),hn(e,function(e){var r;e.children||(e.value=+n.call(t,e,e.depth)||0),(r=e.parent)&amp;&amp;(r.value+=e.value)})),e},t},Zi.layout.partition=function(){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&amp;&amp;(o=a.length)){var o,s,l,c=-1;for(n=e.value?n/e.value:0;++c&lt;o;)t(s=a[c],r,l=s.value*n,i),r+=l}}function e(t){var r=t.children,n=0;if(r&amp;&amp;(i=r.length))for(var i,a=-1;++a&lt;i;)n=Math.max(n,e(r[a]));return 1+n}function r(r,a){var o=n.call(this,r,a);return t(o[0],0,i[0],i[1]/e(o[0])),o}var n=Zi.layout.hierarchy(),i=[1,1];return r.size=function(t){return arguments.length?(i=t,r):i},un(r,n)},Zi.layout.pie=function(){function t(o){var s,l=o.length,c=o.map(function(r,n){return+e.call(t,r,n)}),u=+(&quot;function&quot;==typeof n?n.apply(this,arguments):n),f=(&quot;function&quot;==typeof i?i.apply(this,arguments):i)-u,h=Math.min(Math.abs(f)/l,+(&quot;function&quot;==typeof a?a.apply(this,arguments):a)),d=h*(f&lt;0?-1:1),p=Zi.sum(c),m=p?(f-l*d)/p:0,g=Zi.range(l),v=[];return null!=r&amp;&amp;g.sort(r===as?function(t,e){return c[e]-c[t]}:function(t,e){return r(o[t],o[e])}),g.forEach(function(t){v[t]={data:o[t],value:s=c[t],startAngle:u,endAngle:u+=s*m+d,padAngle:h}}),v}var e=Number,r=as,n=0,i=Aa,a=0;return t.value=function(r){return arguments.length?(e=r,t):e},t.sort=function(e){return arguments.length?(r=e,t):r},t.startAngle=function(e){return arguments.length?(n=e,t):n},t.endAngle=function(e){return arguments.length?(i=e,t):i},t.padAngle=function(e){return arguments.length?(a=e,t):a},t};var as={};Zi.layout.stack=function(){function t(s,l){if(!(h=s.length))return s;var c=s.map(function(r,n){return e.call(t,r,n)}),u=c.map(function(e){return e.map(function(e,r){return[a.call(t,e,r),o.call(t,e,r)]})}),f=r.call(t,u,l);c=Zi.permute(c,f),u=Zi.permute(u,f);var h,d,p,m,g=n.call(t,u,l),v=c[0].length;for(p=0;p&lt;v;++p)for(i.call(t,c[0][p],m=g[p],u[0][p][1]),d=1;d&lt;h;++d)i.call(t,c[d][p],m+=u[d-1][p][1],u[d][p][1]);return s}var e=y,r=bn,n=_n,i=xn,a=vn,o=yn;return t.values=function(r){return arguments.length?(e=r,t):e},t.order=function(e){return arguments.length?(r=&quot;function&quot;==typeof e?e:os.get(e)||bn,t):r},t.offset=function(e){return arguments.length?(n=&quot;function&quot;==typeof e?e:ss.get(e)||_n,t):n},t.x=function(e){return arguments.length?(a=e,t):a},t.y=function(e){return arguments.length?(o=e,t):o},t.out=function(e){return arguments.length?(i=e,t):i},t};var os=Zi.map({&quot;inside-out&quot;:function(t){var e,r,n=t.length,i=t.map(wn),a=t.map(Mn),o=Zi.range(n).sort(function(t,e){return i[t]-i[e]}),s=0,l=0,c=[],u=[];for(e=0;e&lt;n;++e)r=o[e],s&lt;l?(s+=a[r],c.push(r)):(l+=a[r],u.push(r));return u.reverse().concat(c)},reverse:function(t){return Zi.range(t.length).reverse()},default:bn}),ss=Zi.map({silhouette:function(t){var e,r,n,i=t.length,a=t[0].length,o=[],s=0,l=[];for(r=0;r&lt;a;++r){for(e=0,n=0;e&lt;i;e++)n+=t[e][r][1];n&gt;s&amp;&amp;(s=n),o.push(n)}for(r=0;r&lt;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,d=[];for(d[0]=l=c=0,r=1;r&lt;h;++r){for(e=0,i=0;e&lt;u;++e)i+=t[e][r][1];for(e=0,a=0,s=f[r][0]-f[r-1][0];e&lt;u;++e){for(n=0,o=(t[e][r][1]-t[e][r-1][1])/(2*s);n&lt;e;++n)o+=(t[n][r][1]-t[n][r-1][1])/s;a+=o*t[e][r][1]}d[r]=l-=i?a/i*s:0,l&lt;c&amp;&amp;(c=l)}for(r=0;r&lt;h;++r)d[r]-=c;return d},expand:function(t){var e,r,n,i=t.length,a=t[0].length,o=1/i,s=[];for(r=0;r&lt;a;++r){for(e=0,n=0;e&lt;i;e++)n+=t[e][r][1];if(n)for(e=0;e&lt;i;e++)t[e][r][1]/=n;else for(e=0;e&lt;i;e++)t[e][r][1]=o}for(r=0;r&lt;a;++r)s[r]=0;return s},zero:_n});Zi.layout.histogram=function(){function t(t,a){for(var o,s,l=[],c=t.map(r,this),u=n.call(this,c,a),f=i.call(this,u,c,a),h=(a=-1,c.length),d=f.length-1,p=e?1:1/h;++a&lt;d;)(o=l[a]=[]).dx=f[a+1]-(o.x=f[a]),o.y=0;if(d&gt;0)for(a=-1;++a&lt;h;)(s=c[a])&gt;=u[0]&amp;&amp;s&lt;=u[1]&amp;&amp;((o=l[Zi.bisect(f,s,1,d)-1]).y+=p,o.push(t[a]));return l}var e=!0,r=Number,n=Sn,i=An;return t.value=function(e){return arguments.length?(r=e,t):r},t.range=function(e){return arguments.length?(n=_t(e),t):n},t.bins=function(e){return arguments.length?(i=&quot;number&quot;==typeof e?function(t){return Tn(t,e)}:_t(e),t):i},t.frequency=function(r){return arguments.length?(e=!!r,t):e},t},Zi.layout.pack=function(){function t(t,a){var o=r.call(this,t,a),s=o[0],l=i[0],c=i[1],u=null==e?Math.sqrt:&quot;function&quot;==typeof e?e:function(){return e};if(s.x=s.y=0,hn(s,function(t){t.r=+u(t.value)}),hn(s,Dn),n){var f=n*(e?1:Math.max(2*s.r/l,2*s.r/c))/2;hn(s,function(t){t.r+=f}),hn(s,Dn),hn(s,function(t){t.r-=f})}return On(s,l/2,c/2,e?1:1/Math.max(2*s.r/l,2*s.r/c)),o}var e,r=Zi.layout.hierarchy().sort(En),n=0,i=[1,1];return t.size=function(e){return arguments.length?(i=e,t):i},t.radius=function(r){return arguments.length?(e=null==r||&quot;function&quot;==typeof r?r:+r,t):e},t.padding=function(e){return arguments.length?(n=+e,t):n},un(t,r)},Zi.layout.tree=function(){function t(t,l){var c=i.call(this,t,l),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&lt;s;++o)n.push((a[o]=i={_:a[o],parent:e,children:(i=a[o].children)&amp;&amp;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(hn(f,e),f.parent.m=-f.z,fn(f,r),s)fn(u,n);else{var h=u,d=u,p=u;fn(u,function(t){t.x&lt;h.x&amp;&amp;(h=t),t.x&gt;d.x&amp;&amp;(d=t),t.depth&gt;p.depth&amp;&amp;(p=t)});var m=a(h,d)/2-h.x,g=o[0]/(d.x+a(d,h)/2+m),v=o[1]/(p.depth||1);fn(u,function(t){t.x=(t.x+m)*g,t.y=t.depth*v})}return c}function e(t){var e=t.children,r=t.parent.children,n=t.i?r[t.i-1]:null;if(e.length){!function(t){for(var e,r=0,n=0,i=t.children,a=i.length;--a&gt;=0;)(e=i[a]).z+=r,e.m+=r,r+=e.s+(n+=e.c)}(t);var i=(e[0].z+e[e.length-1].z)/2;n?(t.z=n.z+a(t._,n._),t.m=t.z-i):t.z=i}else n&amp;&amp;(t.z=n.z+a(t._,n._));t.parent.A=function(t,e,r){if(e){for(var n,i=t,o=t,s=e,l=i.parent.children[0],c=i.m,u=o.m,f=s.m,h=l.m;s=jn(s),i=Nn(i),s&amp;&amp;i;)l=Nn(l),(o=jn(o)).a=t,(n=s.z+f-i.z-c+a(s._,i._))&gt;0&amp;&amp;(!function(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(t,e,r){return t.a.parent===e.parent?t.a:r}(s,t,r),t,n),c+=n,u+=n),f+=s.m,c+=i.m,h+=l.m,u+=o.m;s&amp;&amp;!jn(o)&amp;&amp;(o.t=s,o.m+=f-u),i&amp;&amp;!Nn(l)&amp;&amp;(l.t=i,l.m+=c-h,r=t)}return r}(t,n,t.parent.A||r[0])}function r(t){t._.x=t.z+t.parent.m,t.m+=t.parent.m}function n(t){t.x*=o[0],t.y=t.depth*o[1]}var i=Zi.layout.hierarchy().sort(null).value(null),a=Rn,o=[1,1],s=null;return t.separation=function(e){return arguments.length?(a=e,t):a},t.size=function(e){return arguments.length?(s=null==(o=e)?n:null,t):s?null:o},t.nodeSize=function(e){return arguments.length?(s=null==(o=e)?null:n,t):s?o:null},un(t,i)},Zi.layout.cluster=function(){function t(t,a){var o,s=e.call(this,t,a),l=s[0],c=0;hn(l,function(t){var e=t.children;e&amp;&amp;e.length?(t.x=function(t){return t.reduce(function(t,e){return t+e.x},0)/t.length}(e),t.y=function(t){return 1+Zi.max(t,function(t){return t.y})}(e)):(t.x=o?c+=r(t,o):0,t.y=0,o=t)});var u=Bn(l),f=Un(l),h=u.x-r(u,f)/2,d=f.x+r(f,u)/2;return hn(l,i?function(t){t.x=(t.x-l.x)*n[0],t.y=(l.y-t.y)*n[1]}:function(t){t.x=(t.x-h)/(d-h)*n[0],t.y=(1-(l.y?t.y/l.y:1))*n[1]}),s}var e=Zi.layout.hierarchy().sort(null).value(null),r=Rn,n=[1,1],i=!1;return t.separation=function(e){return arguments.length?(r=e,t):r},t.size=function(e){return arguments.length?(i=null==(n=e),t):i?null:n},t.nodeSize=function(e){return arguments.length?(i=null!=(n=e),t):i?n:null},un(t,e)},Zi.layout.treemap=function(){function t(t,e){for(var r,n,i=-1,a=t.length;++i&lt;a;)n=(r=t[i]).value*(e&lt;0?0:e),r.area=isNaN(n)||n&lt;=0?0:n}function e(r){var i=r.children;if(i&amp;&amp;i.length){var a,o,s,l=u(r),c=[],f=i.slice(),p=1/0,m=&quot;slice&quot;===h?l.dx:&quot;dice&quot;===h?l.dy:&quot;slice-dice&quot;===h?1&amp;r.depth?l.dy:l.dx:Math.min(l.dx,l.dy);for(t(f,l.dx*l.dy/r.value),c.area=0;(s=f.length)&gt;0;)c.push(a=f[s-1]),c.area+=a.area,&quot;squarify&quot;!==h||(o=function(t,e){var r,n=t.area,i=0,a=1/0,o=-1,s=t.length;for(;++o&lt;s;)(r=t[o].area)&amp;&amp;(r&lt;a&amp;&amp;(a=r),r&gt;i&amp;&amp;(i=r));return n*=n,e*=e,n?Math.max(e*i*d/n,n/(e*a*d)):1/0}(c,m))&lt;=p?(f.pop(),p=o):(c.area-=c.pop().area,n(c,m,l,!1),m=Math.min(l.dx,l.dy),c.length=c.area=0,p=1/0);c.length&amp;&amp;(n(c,m,l,!0),c.length=c.area=0),i.forEach(e)}}function r(e){var i=e.children;if(i&amp;&amp;i.length){var a,o=u(e),s=i.slice(),l=[];for(t(s,o.dx*o.dy/e.value),l.area=0;a=s.pop();)l.push(a),l.area+=a.area,null!=a.z&amp;&amp;(n(l,a.z?o.dx:o.dy,o,!s.length),l.length=l.area=0);i.forEach(r)}}function n(t,e,r,n){var i,a=-1,o=t.length,l=r.x,c=r.y,u=e?s(t.area/e):0;if(e==r.dx){for((n||u&gt;r.dy)&amp;&amp;(u=r.dy);++a&lt;o;)(i=t[a]).x=l,i.y=c,i.dy=u,l+=i.dx=Math.min(r.x+r.dx-l,u?s(i.area/u):0);i.z=!0,i.dx+=r.x+r.dx-l,r.y+=u,r.dy-=u}else{for((n||u&gt;r.dx)&amp;&amp;(u=r.dx);++a&lt;o;)(i=t[a]).x=l,i.y=c,i.dx=u,c+=i.dy=Math.min(r.y+r.dy-c,u?s(i.area/u):0);i.z=!1,i.dy+=r.y+r.dy-c,r.x+=u,r.dx-=u}}function i(n){var i=a||o(n),s=i[0];return s.x=s.y=0,s.value?(s.dx=l[0],s.dy=l[1]):s.dx=s.dy=0,a&amp;&amp;o.revalue(s),t([s],s.dx*s.dy/s.value),(a?r:e)(s),f&amp;&amp;(a=i),i}var a,o=Zi.layout.hierarchy(),s=Math.round,l=[1,1],c=null,u=Vn,f=!1,h=&quot;squarify&quot;,d=.5*(1+Math.sqrt(5));return i.size=function(t){return arguments.length?(l=t,i):l},i.padding=function(t){function e(e){return qn(e,t)}if(!arguments.length)return c;var r;return u=null==(c=t)?Vn:&quot;function&quot;==(r=typeof t)?function(e){var r=t.call(i,e,e.depth);return null==r?Vn(e):qn(e,&quot;number&quot;==typeof r?[r,r,r,r]:r)}:&quot;number&quot;===r?(t=[t,t,t,t],e):e,i},i.round=function(t){return arguments.length?(s=t?Math.round:Number,i):s!=Number},i.sticky=function(t){return arguments.length?(f=t,a=null,i):f},i.ratio=function(t){return arguments.length?(d=t,i):d},i.mode=function(t){return arguments.length?(h=t+&quot;&quot;,i):h},un(i,o)},Zi.random={normal:function(t,e){var r=arguments.length;return r&lt;2&amp;&amp;(e=1),r&lt;1&amp;&amp;(t=0),function(){var r,n,i;do{i=(r=2*Math.random()-1)*r+(n=2*Math.random()-1)*n}while(!i||i&gt;1);return t+e*r*Math.sqrt(-2*Math.log(i)/i)}},logNormal:function(){var t=Zi.random.normal.apply(Zi,arguments);return function(){return Math.exp(t())}},bates:function(t){var e=Zi.random.irwinHall(t);return function(){return e()/t}},irwinHall:function(t){return function(){for(var e=0,r=0;r&lt;t;r++)e+=Math.random();return e}}},Zi.scale={};var ls={floor:y,ceil:y};Zi.scale.linear=function(){return Xn([0,1],[0,1],Br,!1)};var cs={s:1,g:1,p:1,r:1,e:1};Zi.scale.log=function(){return ei(Zi.scale.linear().domain([0,1]),10,!0,[1,10])};var us=Zi.format(&quot;.0e&quot;),fs={floor:function(t){return-Math.ceil(-t)},ceil:function(t){return-Math.floor(-t)}};Zi.scale.pow=function(){return ri(Zi.scale.linear(),1,[0,1])},Zi.scale.sqrt=function(){return Zi.scale.pow().exponent(.5)},Zi.scale.ordinal=function(){return ii([],{t:&quot;range&quot;,a:[[]]})},Zi.scale.category10=function(){return Zi.scale.ordinal().range(hs)},Zi.scale.category20=function(){return Zi.scale.ordinal().range(ds)},Zi.scale.category20b=function(){return Zi.scale.ordinal().range(ps)},Zi.scale.category20c=function(){return Zi.scale.ordinal().range(ms)};var hs=[2062260,16744206,2924588,14034728,9725885,9197131,14907330,8355711,12369186,1556175].map(pt),ds=[2062260,11454440,16744206,16759672,2924588,10018698,14034728,16750742,9725885,12955861,9197131,12885140,14907330,16234194,8355711,13092807,12369186,14408589,1556175,10410725].map(pt),ps=[3750777,5395619,7040719,10264286,6519097,9216594,11915115,13556636,9202993,12426809,15186514,15190932,8666169,11356490,14049643,15177372,8077683,10834324,13528509,14589654].map(pt),ms=[3244733,7057110,10406625,13032431,15095053,16616764,16625259,16634018,3253076,7652470,10607003,13101504,7695281,10394312,12369372,14342891,6513507,9868950,12434877,14277081].map(pt);Zi.scale.quantile=function(){return ai([],[])},Zi.scale.quantize=function(){return oi(0,1,[0,1])},Zi.scale.threshold=function(){return si([.5],[0,1])},Zi.scale.identity=function(){return li([0,1])},Zi.svg={},Zi.svg.arc=function(){function t(){var t=Math.max(0,+r.apply(this,arguments)),c=Math.max(0,+n.apply(this,arguments)),u=o.apply(this,arguments)-Sa,f=s.apply(this,arguments)-Sa,h=Math.abs(f-u),d=u&gt;f?0:1;if(c&lt;t&amp;&amp;(p=c,c=t,t=p),h&gt;=Ta)return e(c,d)+(t?e(t,1-d):&quot;&quot;)+&quot;Z&quot;;var p,m,g,v,y,x,b,_,w,M,k,A,T=0,S=0,E=[];if((v=(+l.apply(this,arguments)||0)/2)&amp;&amp;(g=a===gs?Math.sqrt(t*t+c*c):+a.apply(this,arguments),d||(S*=-1),c&amp;&amp;(S=Q(g/c*Math.sin(v))),t&amp;&amp;(T=Q(g/t*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)&lt;=ka?0:1;if(S&amp;&amp;mi(y,x,b,_)===d^L){var C=(u+f)/2;y=c*Math.cos(C),x=c*Math.sin(C),b=_=null}}else y=x=0;if(t){w=t*Math.cos(f-T),M=t*Math.sin(f-T),k=t*Math.cos(u+T),A=t*Math.sin(u+T);var z=Math.abs(u-f+2*T)&lt;=ka?0:1;if(T&amp;&amp;mi(w,M,k,A)===1-d^z){var D=(u+f)/2;w=t*Math.cos(D),M=t*Math.sin(D),k=A=null}}else w=M=0;if(h&gt;wa&amp;&amp;(p=Math.min(Math.abs(c-t)/2,+i.apply(this,arguments)))&gt;.001){m=t&lt;c^d?0:1;var I=p,P=p;if(h&lt;ka){var O=null==k?[w,M]:null==b?[y,x]:ur([y,x],[k,A],[b,_],[w,M]),F=y-O[0],R=x-O[1],N=b-O[0],j=_-O[1],B=1/Math.sin(Math.acos((F*N+R*j)/(Math.sqrt(F*F+R*R)*Math.sqrt(N*N+j*j)))/2),U=Math.sqrt(O[0]*O[0]+O[1]*O[1]);P=Math.min(p,(t-U)/(B-1)),I=Math.min(p,(c-U)/(B+1))}if(null!=b){var V=gi(null==k?[w,M]:[k,A],[y,x],c,I,d),q=gi([b,_],[w,M],c,I,d);p===I?E.push(&quot;M&quot;,V[0],&quot;A&quot;,I,&quot;,&quot;,I,&quot; 0 0,&quot;,m,&quot; &quot;,V[1],&quot;A&quot;,c,&quot;,&quot;,c,&quot; 0 &quot;,1-d^mi(V[1][0],V[1][1],q[1][0],q[1][1]),&quot;,&quot;,d,&quot; &quot;,q[1],&quot;A&quot;,I,&quot;,&quot;,I,&quot; 0 0,&quot;,m,&quot; &quot;,q[0]):E.push(&quot;M&quot;,V[0],&quot;A&quot;,I,&quot;,&quot;,I,&quot; 0 1,&quot;,m,&quot; &quot;,q[0])}else E.push(&quot;M&quot;,y,&quot;,&quot;,x);if(null!=k){var H=gi([y,x],[k,A],t,-P,d),G=gi([w,M],null==b?[y,x]:[b,_],t,-P,d);p===P?E.push(&quot;L&quot;,G[0],&quot;A&quot;,P,&quot;,&quot;,P,&quot; 0 0,&quot;,m,&quot; &quot;,G[1],&quot;A&quot;,t,&quot;,&quot;,t,&quot; 0 &quot;,d^mi(G[1][0],G[1][1],H[1][0],H[1][1]),&quot;,&quot;,1-d,&quot; &quot;,H[1],&quot;A&quot;,P,&quot;,&quot;,P,&quot; 0 0,&quot;,m,&quot; &quot;,H[0]):E.push(&quot;L&quot;,G[0],&quot;A&quot;,P,&quot;,&quot;,P,&quot; 0 0,&quot;,m,&quot; &quot;,H[0])}else E.push(&quot;L&quot;,w,&quot;,&quot;,M)}else E.push(&quot;M&quot;,y,&quot;,&quot;,x),null!=b&amp;&amp;E.push(&quot;A&quot;,c,&quot;,&quot;,c,&quot; 0 &quot;,L,&quot;,&quot;,d,&quot; &quot;,b,&quot;,&quot;,_),E.push(&quot;L&quot;,w,&quot;,&quot;,M),null!=k&amp;&amp;E.push(&quot;A&quot;,t,&quot;,&quot;,t,&quot; 0 &quot;,z,&quot;,&quot;,1-d,&quot; &quot;,k,&quot;,&quot;,A);return E.push(&quot;Z&quot;),E.join(&quot;&quot;)}function e(t,e){return&quot;M0,&quot;+t+&quot;A&quot;+t+&quot;,&quot;+t+&quot; 0 1,&quot;+e+&quot; 0,&quot;+-t+&quot;A&quot;+t+&quot;,&quot;+t+&quot; 0 1,&quot;+e+&quot; 0,&quot;+t}var r=ui,n=fi,i=ci,a=gs,o=hi,s=di,l=pi;return t.innerRadius=function(e){return arguments.length?(r=_t(e),t):r},t.outerRadius=function(e){return arguments.length?(n=_t(e),t):n},t.cornerRadius=function(e){return arguments.length?(i=_t(e),t):i},t.padRadius=function(e){return arguments.length?(a=e==gs?gs:_t(e),t):a},t.startAngle=function(e){return arguments.length?(o=_t(e),t):o},t.endAngle=function(e){return arguments.length?(s=_t(e),t):s},t.padAngle=function(e){return arguments.length?(l=_t(e),t):l},t.centroid=function(){var t=(+r.apply(this,arguments)+ +n.apply(this,arguments))/2,e=(+o.apply(this,arguments)+ +s.apply(this,arguments))/2-Sa;return[Math.cos(e)*t,Math.sin(e)*t]},t};var gs=&quot;auto&quot;;Zi.svg.line=function(){return vi(y)};var vs=Zi.map({linear:yi,&quot;linear-closed&quot;:xi,step:function(t){for(var e=0,r=t.length,n=t[0],i=[n[0],&quot;,&quot;,n[1]];++e&lt;r;)i.push(&quot;H&quot;,(n[0]+(n=t[e])[0])/2,&quot;V&quot;,n[1]);return r&gt;1&amp;&amp;i.push(&quot;H&quot;,n[0]),i.join(&quot;&quot;)},&quot;step-before&quot;:bi,&quot;step-after&quot;:_i,basis:ki,&quot;basis-open&quot;:function(t){if(t.length&lt;4)return yi(t);for(var e,r=[],n=-1,i=t.length,a=[0],o=[0];++n&lt;3;)e=t[n],a.push(e[0]),o.push(e[1]);for(r.push(Ai(bs,a)+&quot;,&quot;+Ai(bs,o)),--n;++n&lt;i;)e=t[n],a.shift(),a.push(e[0]),o.shift(),o.push(e[1]),Ti(r,a,o);return r.join(&quot;&quot;)},&quot;basis-closed&quot;:function(t){for(var e,r,n=-1,i=t.length,a=i+4,o=[],s=[];++n&lt;4;)r=t[n%i],o.push(r[0]),s.push(r[1]);for(e=[Ai(bs,o),&quot;,&quot;,Ai(bs,s)],--n;++n&lt;a;)r=t[n%i],o.shift(),o.push(r[0]),s.shift(),s.push(r[1]),Ti(e,o,s);return e.join(&quot;&quot;)},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&lt;=r;)i=c/r,(n=t[c])[0]=e*n[0]+(1-e)*(a+i*s),n[1]=e*n[1]+(1-e)*(o+i*l);return ki(t)},cardinal:function(t,e){return t.length&lt;3?yi(t):t[0]+wi(t,Mi(t,e))},&quot;cardinal-open&quot;:function(t,e){return t.length&lt;4?yi(t):t[1]+wi(t.slice(1,-1),Mi(t,e))},&quot;cardinal-closed&quot;:function(t,e){return t.length&lt;3?xi(t):t[0]+wi((t.push(t[0]),t),Mi([t[t.length-2]].concat(t,[t[1]]),e))},monotone:function(t){return t.length&lt;3?yi(t):t[0]+wi(t,Ei(t))}});vs.forEach(function(t,e){e.key=t,e.closed=/-closed$/.test(t)});var ys=[0,2/3,1/3,0],xs=[0,1/3,2/3,0],bs=[0,1/6,2/3,1/6];Zi.svg.line.radial=function(){var t=vi(Li);return t.radius=t.x,delete t.x,t.angle=t.y,delete t.y,t},bi.reverse=_i,_i.reverse=bi,Zi.svg.area=function(){return Ci(y)},Zi.svg.area.radial=function(){var t=Ci(Li);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},Zi.svg.chord=function(){function t(t,o){var s=e(this,i,t,o),l=e(this,a,t,o);return&quot;M&quot;+s.p0+r(s.r,s.p1,s.a1-s.a0)+(function(t,e){return t.a0==e.a0&amp;&amp;t.a1==e.a1}(s,l)?n(s.r,s.p1,s.r,s.p0):n(s.r,s.p1,l.r,l.p0)+r(l.r,l.p1,l.a1-l.a0)+n(l.r,l.p1,s.r,s.p0))+&quot;Z&quot;}function e(t,e,r,n){var i=e.call(t,r,n),a=o.call(t,i,n),c=s.call(t,i,n)-Sa,u=l.call(t,i,n)-Sa;return{r:a,a0:c,a1:u,p0:[a*Math.cos(c),a*Math.sin(c)],p1:[a*Math.cos(u),a*Math.sin(u)]}}function r(t,e,r){return&quot;A&quot;+t+&quot;,&quot;+t+&quot; 0 &quot;+ +(r&gt;ka)+&quot;,1 &quot;+e}function n(t,e,r,n){return&quot;Q 0,0 &quot;+n}var i=Ke,a=Qe,o=zi,s=hi,l=di;return t.radius=function(e){return arguments.length?(o=_t(e),t):o},t.source=function(e){return arguments.length?(i=_t(e),t):i},t.target=function(e){return arguments.length?(a=_t(e),t):a},t.startAngle=function(e){return arguments.length?(s=_t(e),t):s},t.endAngle=function(e){return arguments.length?(l=_t(e),t):l},t},Zi.svg.diagonal=function(){function t(t,i){var a=e.call(this,t,i),o=r.call(this,t,i),s=(a.y+o.y)/2,l=[a,{x:a.x,y:s},{x:o.x,y:s},o];return&quot;M&quot;+(l=l.map(n))[0]+&quot;C&quot;+l[1]+&quot; &quot;+l[2]+&quot; &quot;+l[3]}var e=Ke,r=Qe,n=Di;return t.source=function(r){return arguments.length?(e=_t(r),t):e},t.target=function(e){return arguments.length?(r=_t(e),t):r},t.projection=function(e){return arguments.length?(n=e,t):n},t},Zi.svg.diagonal.radial=function(){var t=Zi.svg.diagonal(),e=Di,r=t.projection;return t.projection=function(t){return arguments.length?r(function(t){return function(){var e=t.apply(this,arguments),r=e[0],n=e[1]-Sa;return[r*Math.cos(n),r*Math.sin(n)]}}(e=t)):e},t},Zi.svg.symbol=function(){function t(t,n){return(_s.get(e.call(this,t,n))||Oi)(r.call(this,t,n))}var e=Pi,r=Ii;return t.type=function(r){return arguments.length?(e=_t(r),t):e},t.size=function(e){return arguments.length?(r=_t(e),t):r},t};var _s=Zi.map({circle:Oi,cross:function(t){var e=Math.sqrt(t/5)/2;return&quot;M&quot;+-3*e+&quot;,&quot;+-e+&quot;H&quot;+-e+&quot;V&quot;+-3*e+&quot;H&quot;+e+&quot;V&quot;+-e+&quot;H&quot;+3*e+&quot;V&quot;+e+&quot;H&quot;+e+&quot;V&quot;+3*e+&quot;H&quot;+-e+&quot;V&quot;+e+&quot;H&quot;+-3*e+&quot;Z&quot;},diamond:function(t){var e=Math.sqrt(t/(2*Ms)),r=e*Ms;return&quot;M0,&quot;+-e+&quot;L&quot;+r+&quot;,0 0,&quot;+e+&quot; &quot;+-r+&quot;,0Z&quot;},square:function(t){var e=Math.sqrt(t)/2;return&quot;M&quot;+-e+&quot;,&quot;+-e+&quot;L&quot;+e+&quot;,&quot;+-e+&quot; &quot;+e+&quot;,&quot;+e+&quot; &quot;+-e+&quot;,&quot;+e+&quot;Z&quot;},&quot;triangle-down&quot;:function(t){var e=Math.sqrt(t/ws),r=e*ws/2;return&quot;M0,&quot;+r+&quot;L&quot;+e+&quot;,&quot;+-r+&quot; &quot;+-e+&quot;,&quot;+-r+&quot;Z&quot;},&quot;triangle-up&quot;:function(t){var e=Math.sqrt(t/ws),r=e*ws/2;return&quot;M0,&quot;+-r+&quot;L&quot;+e+&quot;,&quot;+r+&quot; &quot;+-e+&quot;,&quot;+r+&quot;Z&quot;}});Zi.svg.symbolTypes=_s.keys();var ws=Math.sqrt(3),Ms=Math.tan(30*Ea);pa.transition=function(t){for(var e,r,n=ks||++Es,i=Bi(t),a=[],o=As||{time:Date.now(),ease:function(t){if(t&lt;=0)return 0;if(t&gt;=1)return 1;var e=t*t,r=e*t;return 4*(t&lt;.5?r:3*(t-e)+r-.75)},delay:0,duration:250},s=-1,l=this.length;++s&lt;l;){a.push(e=[]);for(var c=this[s],u=-1,f=c.length;++u&lt;f;)(r=c[u])&amp;&amp;Ui(r,u,i,n,o),e.push(r)}return Ri(a,i,n)},pa.interrupt=function(t){return this.each(null==t?Ts:Fi(Bi(t)))};var ks,As,Ts=Fi(Bi()),Ss=[],Es=0;Ss.call=pa.call,Ss.empty=pa.empty,Ss.node=pa.node,Ss.size=pa.size,Zi.transition=function(t,e){return t&amp;&amp;t.transition?ks?t.transition(e):t:Zi.selection().transition(t)},Zi.transition.prototype=Ss,Ss.select=function(t){var e,r,n,i=this.id,a=this.namespace,o=[];t=S(t);for(var s=-1,l=this.length;++s&lt;l;){o.push(e=[]);for(var c=this[s],u=-1,f=c.length;++u&lt;f;)(n=c[u])&amp;&amp;(r=t.call(n,n.__data__,u,s))?(&quot;__data__&quot;in n&amp;&amp;(r.__data__=n.__data__),Ui(r,u,a,i,n[a][i]),e.push(r)):e.push(null)}return Ri(o,a,i)},Ss.selectAll=function(t){var e,r,n,i,a,o=this.id,s=this.namespace,l=[];t=E(t);for(var c=-1,u=this.length;++c&lt;u;)for(var f=this[c],h=-1,d=f.length;++h&lt;d;)if(n=f[h]){a=n[s][o],r=t.call(n,n.__data__,h,c),l.push(e=[]);for(var p=-1,m=r.length;++p&lt;m;)(i=r[p])&amp;&amp;Ui(i,p,s,o,a),e.push(i)}return Ri(l,s,o)},Ss.filter=function(t){var e,r,n=[];&quot;function&quot;!=typeof t&amp;&amp;(t=B(t));for(var i=0,a=this.length;i&lt;a;i++){n.push(e=[]);for(var o,s=0,l=(o=this[i]).length;s&lt;l;s++)(r=o[s])&amp;&amp;t.call(r,r.__data__,s,i)&amp;&amp;e.push(r)}return Ri(n,this.namespace,this.id)},Ss.tween=function(t,e){var r=this.id,n=this.namespace;return arguments.length&lt;2?this.node()[n][r].tween.get(t):U(this,null==e?function(e){e[n][r].tween.remove(t)}:function(i){i[n][r].tween.set(t,e)})},Ss.attr=function(t,e){if(arguments.length&lt;2){for(e in t)this.attr(e,t[e]);return this}var r=&quot;transform&quot;==t?en:Br,n=Zi.ns.qualify(t);return Ni(this,&quot;attr.&quot;+t,e,n.local?function(t){return null==t?function(){this.removeAttributeNS(n.space,n.local)}:(t+=&quot;&quot;,function(){var e,i=this.getAttributeNS(n.space,n.local);return i!==t&amp;&amp;(e=r(i,t),function(t){this.setAttributeNS(n.space,n.local,e(t))})})}:function(t){return null==t?function(){this.removeAttribute(n)}:(t+=&quot;&quot;,function(){var e,i=this.getAttribute(n);return i!==t&amp;&amp;(e=r(i,t),function(t){this.setAttribute(n,e(t))})})})},Ss.attrTween=function(t,e){var r=Zi.ns.qualify(t);return this.tween(&quot;attr.&quot;+t,r.local?function(t,n){var i=e.call(this,t,n,this.getAttributeNS(r.space,r.local));return i&amp;&amp;function(t){this.setAttributeNS(r.space,r.local,i(t))}}:function(t,n){var i=e.call(this,t,n,this.getAttribute(r));return i&amp;&amp;function(t){this.setAttribute(r,i(t))}})},Ss.style=function(t,e,n){var i=arguments.length;if(i&lt;3){if(&quot;string&quot;!=typeof t){i&lt;2&amp;&amp;(e=&quot;&quot;);for(n in t)this.style(n,t[n],e);return this}n=&quot;&quot;}return Ni(this,&quot;style.&quot;+t,e,function(e){return null==e?function(){this.style.removeProperty(t)}:(e+=&quot;&quot;,function(){var i,a=r(this).getComputedStyle(this,null).getPropertyValue(t);return a!==e&amp;&amp;(i=Br(a,e),function(e){this.style.setProperty(t,i(e),n)})})})},Ss.styleTween=function(t,e,n){return arguments.length&lt;3&amp;&amp;(n=&quot;&quot;),this.tween(&quot;style.&quot;+t,function(i,a){var o=e.call(this,i,a,r(this).getComputedStyle(this,null).getPropertyValue(t));return o&amp;&amp;function(e){this.style.setProperty(t,o(e),n)}})},Ss.text=function(t){return Ni(this,&quot;text&quot;,t,ji)},Ss.remove=function(){var t=this.namespace;return this.each(&quot;end.transition&quot;,function(){var e;this[t].count&lt;2&amp;&amp;(e=this.parentNode)&amp;&amp;e.removeChild(this)})},Ss.ease=function(t){var e=this.id,r=this.namespace;return arguments.length&lt;1?this.node()[r][e].ease:(&quot;function&quot;!=typeof t&amp;&amp;(t=Zi.ease.apply(Zi,arguments)),U(this,function(n){n[r][e].ease=t}))},Ss.delay=function(t){var e=this.id,r=this.namespace;return arguments.length&lt;1?this.node()[r][e].delay:U(this,&quot;function&quot;==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}))},Ss.duration=function(t){var e=this.id,r=this.namespace;return arguments.length&lt;1?this.node()[r][e].duration:U(this,&quot;function&quot;==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}))},Ss.each=function(t,e){var r=this.id,n=this.namespace;if(arguments.length&lt;2){var i=As,a=ks;try{ks=r,U(this,function(e,i,a){As=e[n][r],t.call(e,e.__data__,i,a)})}finally{As=i,ks=a}}else U(this,function(i){var a=i[n][r];(a.event||(a.event=Zi.dispatch(&quot;start&quot;,&quot;end&quot;,&quot;interrupt&quot;))).on(t,e)});return this},Ss.transition=function(){for(var t,e,r,n=this.id,i=++Es,a=this.namespace,o=[],s=0,l=this.length;s&lt;l;s++){o.push(t=[]);for(var c,u=0,f=(c=this[s]).length;u&lt;f;u++)(e=c[u])&amp;&amp;Ui(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 Ri(o,a,i)},Zi.svg.axis=function(){function t(t){t.each(function(){var t,c=Zi.select(this),u=this.__chart__||r,f=this.__chart__=r.copy(),h=null==l?f.ticks?f.ticks.apply(f,s):f.domain():l,d=null==e?f.tickFormat?f.tickFormat.apply(f,s):y:e,p=c.selectAll(&quot;.tick&quot;).data(h,f),m=p.enter().insert(&quot;g&quot;,&quot;.domain&quot;).attr(&quot;class&quot;,&quot;tick&quot;).style(&quot;opacity&quot;,wa),g=Zi.transition(p.exit()).style(&quot;opacity&quot;,wa).remove(),v=Zi.transition(p.order()).style(&quot;opacity&quot;,1),x=Math.max(i,0)+o,b=Gn(f),_=c.selectAll(&quot;.domain&quot;).data([0]),w=(_.enter().append(&quot;path&quot;).attr(&quot;class&quot;,&quot;domain&quot;),Zi.transition(_));m.append(&quot;line&quot;),m.append(&quot;text&quot;);var M,k,A,T,S=m.select(&quot;line&quot;),E=v.select(&quot;line&quot;),L=p.select(&quot;text&quot;).text(d),C=m.select(&quot;text&quot;),z=v.select(&quot;text&quot;),D=&quot;top&quot;===n||&quot;left&quot;===n?-1:1;if(&quot;bottom&quot;===n||&quot;top&quot;===n?(t=Vi,M=&quot;x&quot;,A=&quot;y&quot;,k=&quot;x2&quot;,T=&quot;y2&quot;,L.attr(&quot;dy&quot;,D&lt;0?&quot;0em&quot;:&quot;.71em&quot;).style(&quot;text-anchor&quot;,&quot;middle&quot;),w.attr(&quot;d&quot;,&quot;M&quot;+b[0]+&quot;,&quot;+D*a+&quot;V0H&quot;+b[1]+&quot;V&quot;+D*a)):(t=qi,M=&quot;y&quot;,A=&quot;x&quot;,k=&quot;y2&quot;,T=&quot;x2&quot;,L.attr(&quot;dy&quot;,&quot;.32em&quot;).style(&quot;text-anchor&quot;,D&lt;0?&quot;end&quot;:&quot;start&quot;),w.attr(&quot;d&quot;,&quot;M&quot;+D*a+&quot;,&quot;+b[0]+&quot;H0V&quot;+b[1]+&quot;H&quot;+D*a)),S.attr(T,D*i),C.attr(A,D*x),E.attr(k,0).attr(T,D*i),z.attr(M,0).attr(A,D*x),f.rangeBand){var I=f,P=I.rangeBand()/2;u=f=function(t){return I(t)+P}}else u.rangeBand?u=f:g.call(t,f,u);m.call(t,u,f),v.call(t,f,f)})}var e,r=Zi.scale.linear(),n=Ls,i=6,a=6,o=3,s=[10],l=null;return t.scale=function(e){return arguments.length?(r=e,t):r},t.orient=function(e){return arguments.length?(n=e in Cs?e+&quot;&quot;:Ls,t):n},t.ticks=function(){return arguments.length?(s=Ki(arguments),t):s},t.tickValues=function(e){return arguments.length?(l=e,t):l},t.tickFormat=function(r){return arguments.length?(e=r,t):e},t.tickSize=function(e){var r=arguments.length;return r?(i=+e,a=+arguments[r-1],t):i},t.innerTickSize=function(e){return arguments.length?(i=+e,t):i},t.outerTickSize=function(e){return arguments.length?(a=+e,t):a},t.tickPadding=function(e){return arguments.length?(o=+e,t):o},t.tickSubdivide=function(){return arguments.length&amp;&amp;t},t};var Ls=&quot;bottom&quot;,Cs={top:1,right:1,bottom:1,left:1};Zi.svg.brush=function(){function t(r){r.each(function(){var r=Zi.select(this).style(&quot;pointer-events&quot;,&quot;all&quot;).style(&quot;-webkit-tap-highlight-color&quot;,&quot;rgba(0,0,0,0)&quot;).on(&quot;mousedown.brush&quot;,a).on(&quot;touchstart.brush&quot;,a),o=r.selectAll(&quot;.background&quot;).data([0]);o.enter().append(&quot;rect&quot;).attr(&quot;class&quot;,&quot;background&quot;).style(&quot;visibility&quot;,&quot;hidden&quot;).style(&quot;cursor&quot;,&quot;crosshair&quot;),r.selectAll(&quot;.extent&quot;).data([0]).enter().append(&quot;rect&quot;).attr(&quot;class&quot;,&quot;extent&quot;).style(&quot;cursor&quot;,&quot;move&quot;);var s=r.selectAll(&quot;.resize&quot;).data(m,y);s.exit().remove(),s.enter().append(&quot;g&quot;).attr(&quot;class&quot;,function(t){return&quot;resize &quot;+t}).style(&quot;cursor&quot;,function(t){return zs[t]}).append(&quot;rect&quot;).attr(&quot;x&quot;,function(t){return/[ew]$/.test(t)?-3:null}).attr(&quot;y&quot;,function(t){return/^[ns]/.test(t)?-3:null}).attr(&quot;width&quot;,6).attr(&quot;height&quot;,6).style(&quot;visibility&quot;,&quot;hidden&quot;),s.style(&quot;display&quot;,t.empty()?&quot;none&quot;:null);var l,f=Zi.transition(r),h=Zi.transition(o);c&amp;&amp;(l=Gn(c),h.attr(&quot;x&quot;,l[0]).attr(&quot;width&quot;,l[1]-l[0]),n(f)),u&amp;&amp;(l=Gn(u),h.attr(&quot;y&quot;,l[0]).attr(&quot;height&quot;,l[1]-l[0]),i(f)),e(f)})}function e(t){t.selectAll(&quot;.resize&quot;).attr(&quot;transform&quot;,function(t){return&quot;translate(&quot;+f[+/e$/.test(t)]+&quot;,&quot;+h[+/^s/.test(t)]+&quot;)&quot;})}function n(t){t.select(&quot;.extent&quot;).attr(&quot;x&quot;,f[0]),t.selectAll(&quot;.extent,.n&gt;rect,.s&gt;rect&quot;).attr(&quot;width&quot;,f[1]-f[0])}function i(t){t.select(&quot;.extent&quot;).attr(&quot;y&quot;,h[0]),t.selectAll(&quot;.extent,.e&gt;rect,.w&gt;rect&quot;).attr(&quot;height&quot;,h[1]-h[0])}function a(){function a(){var t=Zi.mouse(x),r=!1;y&amp;&amp;(t[0]+=y[0],t[1]+=y[1]),S||(Zi.event.altKey?(v||(v=[(f[0]+f[1])/2,(h[0]+h[1])/2]),L[0]=f[+(t[0]&lt;v[0])],L[1]=h[+(t[1]&lt;v[1])]):v=null),A&amp;&amp;m(t,c,0)&amp;&amp;(n(w),r=!0),T&amp;&amp;m(t,u,1)&amp;&amp;(i(w),r=!0),r&amp;&amp;(e(w),_({type:&quot;brush&quot;,mode:S?&quot;move&quot;:&quot;resize&quot;}))}function m(t,e,r){var n,i,a=Gn(e),l=a[0],c=a[1],u=L[r],m=r?h:f,g=m[1]-m[0];if(S&amp;&amp;(l-=u,c-=g+u),n=(r?p:d)?Math.max(l,Math.min(c,t[r])):t[r],S?i=(n+=u)+g:(v&amp;&amp;(u=Math.max(l,Math.min(c,2*v[r]-n))),u&lt;n?(i=n,n=u):i=u),m[0]!=n||m[1]!=i)return r?s=null:o=null,m[0]=n,m[1]=i,!0}function g(){a(),w.style(&quot;pointer-events&quot;,&quot;all&quot;).selectAll(&quot;.resize&quot;).style(&quot;display&quot;,t.empty()?&quot;none&quot;:null),Zi.select(&quot;body&quot;).style(&quot;cursor&quot;,null),C.on(&quot;mousemove.brush&quot;,null).on(&quot;mouseup.brush&quot;,null).on(&quot;touchmove.brush&quot;,null).on(&quot;touchend.brush&quot;,null).on(&quot;keydown.brush&quot;,null).on(&quot;keyup.brush&quot;,null),E(),_({type:&quot;brushend&quot;})}var v,y,x=this,b=Zi.select(Zi.event.target),_=l.of(x,arguments),w=Zi.select(x),k=b.datum(),A=!/^(n|s)$/.test(k)&amp;&amp;c,T=!/^(e|w)$/.test(k)&amp;&amp;u,S=b.classed(&quot;extent&quot;),E=Y(x),L=Zi.mouse(x),C=Zi.select(r(x)).on(&quot;keydown.brush&quot;,function(){32==Zi.event.keyCode&amp;&amp;(S||(v=null,L[0]-=f[1],L[1]-=h[1],S=2),M())}).on(&quot;keyup.brush&quot;,function(){32==Zi.event.keyCode&amp;&amp;2==S&amp;&amp;(L[0]+=f[1],L[1]+=h[1],S=0,M())});if(Zi.event.changedTouches?C.on(&quot;touchmove.brush&quot;,a).on(&quot;touchend.brush&quot;,g):C.on(&quot;mousemove.brush&quot;,a).on(&quot;mouseup.brush&quot;,g),w.interrupt().selectAll(&quot;*&quot;).interrupt(),S)L[0]=f[0]-L[0],L[1]=h[0]-L[1];else if(k){var z=+/w$/.test(k),D=+/^n/.test(k);y=[f[1-z]-L[0],h[1-D]-L[1]],L[0]=f[z],L[1]=h[D]}else Zi.event.altKey&amp;&amp;(v=L.slice());w.style(&quot;pointer-events&quot;,&quot;none&quot;).selectAll(&quot;.resize&quot;).style(&quot;display&quot;,null),Zi.select(&quot;body&quot;).style(&quot;cursor&quot;,b.style(&quot;cursor&quot;)),_({type:&quot;brushstart&quot;}),a()}var o,s,l=A(t,&quot;brushstart&quot;,&quot;brush&quot;,&quot;brushend&quot;),c=null,u=null,f=[0,0],h=[0,0],d=!0,p=!0,m=Ds[0];return t.event=function(t){t.each(function(){var t=l.of(this,arguments),e={x:f,y:h,i:o,j:s},r=this.__chart__||e;this.__chart__=e,ks?Zi.select(this).transition().each(&quot;start.brush&quot;,function(){o=r.i,s=r.j,f=r.x,h=r.y,t({type:&quot;brushstart&quot;})}).tween(&quot;brush:brush&quot;,function(){var r=Ur(f,e.x),n=Ur(h,e.y);return o=s=null,function(i){f=e.x=r(i),h=e.y=n(i),t({type:&quot;brush&quot;,mode:&quot;resize&quot;})}}).each(&quot;end.brush&quot;,function(){o=e.i,s=e.j,t({type:&quot;brush&quot;,mode:&quot;resize&quot;}),t({type:&quot;brushend&quot;})}):(t({type:&quot;brushstart&quot;}),t({type:&quot;brush&quot;,mode:&quot;resize&quot;}),t({type:&quot;brushend&quot;}))})},t.x=function(e){return arguments.length?(c=e,m=Ds[!c&lt;&lt;1|!u],t):c},t.y=function(e){return arguments.length?(u=e,m=Ds[!c&lt;&lt;1|!u],t):u},t.clamp=function(e){return arguments.length?(c&amp;&amp;u?(d=!!e[0],p=!!e[1]):c?d=!!e:u&amp;&amp;(p=!!e),t):c&amp;&amp;u?[d,p]:c?d:u?p:null},t.extent=function(e){var r,n,i,a,l;return arguments.length?(c&amp;&amp;(r=e[0],n=e[1],u&amp;&amp;(r=r[0],n=n[0]),o=[r,n],c.invert&amp;&amp;(r=c(r),n=c(n)),n&lt;r&amp;&amp;(l=r,r=n,n=l),r==f[0]&amp;&amp;n==f[1]||(f=[r,n])),u&amp;&amp;(i=e[0],a=e[1],c&amp;&amp;(i=i[1],a=a[1]),s=[i,a],u.invert&amp;&amp;(i=u(i),a=u(a)),a&lt;i&amp;&amp;(l=i,i=a,a=l),i==h[0]&amp;&amp;a==h[1]||(h=[i,a])),t):(c&amp;&amp;(o?(r=o[0],n=o[1]):(r=f[0],n=f[1],c.invert&amp;&amp;(r=c.invert(r),n=c.invert(n)),n&lt;r&amp;&amp;(l=r,r=n,n=l))),u&amp;&amp;(s?(i=s[0],a=s[1]):(i=h[0],a=h[1],u.invert&amp;&amp;(i=u.invert(i),a=u.invert(a)),a&lt;i&amp;&amp;(l=i,i=a,a=l))),c&amp;&amp;u?[[r,i],[n,a]]:c?[r,n]:u&amp;&amp;[i,a])},t.clear=function(){return t.empty()||(f=[0,0],h=[0,0],o=s=null),t},t.empty=function(){return!!c&amp;&amp;f[0]==f[1]||!!u&amp;&amp;h[0]==h[1]},Zi.rebind(t,l,&quot;on&quot;)};var zs={n:&quot;ns-resize&quot;,e:&quot;ew-resize&quot;,s:&quot;ns-resize&quot;,w:&quot;ew-resize&quot;,nw:&quot;nwse-resize&quot;,ne:&quot;nesw-resize&quot;,se:&quot;nwse-resize&quot;,sw:&quot;nesw-resize&quot;},Ds=[[&quot;n&quot;,&quot;e&quot;,&quot;s&quot;,&quot;w&quot;,&quot;nw&quot;,&quot;ne&quot;,&quot;se&quot;,&quot;sw&quot;],[&quot;e&quot;,&quot;w&quot;],[&quot;n&quot;,&quot;s&quot;],[]],Is=Ka.format=no.timeFormat,Ps=Is.utc,Os=Ps(&quot;%Y-%m-%dT%H:%M:%S.%LZ&quot;);Is.iso=Date.prototype.toISOString&amp;&amp;+new Date(&quot;2000-01-01T00:00:00.000Z&quot;)?Hi:Os,Hi.parse=function(t){var e=new Date(t);return isNaN(e)?null:e},Hi.toString=Os.toString,Ka.second=Ct(function(t){return new Qa(1e3*Math.floor(t/1e3))},function(t,e){t.setTime(t.getTime()+1e3*Math.floor(e))},function(t){return t.getSeconds()}),Ka.seconds=Ka.second.range,Ka.seconds.utc=Ka.second.utc.range,Ka.minute=Ct(function(t){return new Qa(6e4*Math.floor(t/6e4))},function(t,e){t.setTime(t.getTime()+6e4*Math.floor(e))},function(t){return t.getMinutes()}),Ka.minutes=Ka.minute.range,Ka.minutes.utc=Ka.minute.utc.range,Ka.hour=Ct(function(t){var e=t.getTimezoneOffset()/60;return new Qa(36e5*(Math.floor(t/36e5-e)+e))},function(t,e){t.setTime(t.getTime()+36e5*Math.floor(e))},function(t){return t.getHours()}),Ka.hours=Ka.hour.range,Ka.hours.utc=Ka.hour.utc.range,Ka.month=Ct(function(t){return(t=Ka.day(t)).setDate(1),t},function(t,e){t.setMonth(t.getMonth()+e)},function(t){return t.getMonth()}),Ka.months=Ka.month.range,Ka.months.utc=Ka.month.utc.range;var Fs=[1e3,5e3,15e3,3e4,6e4,3e5,9e5,18e5,36e5,108e5,216e5,432e5,864e5,1728e5,6048e5,2592e6,7776e6,31536e6],Rs=[[Ka.second,1],[Ka.second,5],[Ka.second,15],[Ka.second,30],[Ka.minute,1],[Ka.minute,5],[Ka.minute,15],[Ka.minute,30],[Ka.hour,1],[Ka.hour,3],[Ka.hour,6],[Ka.hour,12],[Ka.day,1],[Ka.day,2],[Ka.week,1],[Ka.month,1],[Ka.month,3],[Ka.year,1]],Ns=Is.multi([[&quot;.%L&quot;,function(t){return t.getMilliseconds()}],[&quot;:%S&quot;,function(t){return t.getSeconds()}],[&quot;%I:%M&quot;,function(t){return t.getMinutes()}],[&quot;%I %p&quot;,function(t){return t.getHours()}],[&quot;%a %d&quot;,function(t){return t.getDay()&amp;&amp;1!=t.getDate()}],[&quot;%b %d&quot;,function(t){return 1!=t.getDate()}],[&quot;%B&quot;,function(t){return t.getMonth()}],[&quot;%Y&quot;,ve]]),js={range:function(t,e,r){return Zi.range(Math.ceil(t/r)*r,+e,r).map(Yi)},floor:y,ceil:y};Rs.year=Ka.year,Ka.scale=function(){return Gi(Zi.scale.linear(),Rs,Ns)};var Bs=Rs.map(function(t){return[t[0].utc,t[1]]}),Us=Ps.multi([[&quot;.%L&quot;,function(t){return t.getUTCMilliseconds()}],[&quot;:%S&quot;,function(t){return t.getUTCSeconds()}],[&quot;%I:%M&quot;,function(t){return t.getUTCMinutes()}],[&quot;%I %p&quot;,function(t){return t.getUTCHours()}],[&quot;%a %d&quot;,function(t){return t.getUTCDay()&amp;&amp;1!=t.getUTCDate()}],[&quot;%b %d&quot;,function(t){return 1!=t.getUTCDate()}],[&quot;%B&quot;,function(t){return t.getUTCMonth()}],[&quot;%Y&quot;,ve]]);Bs.year=Ka.year.utc,Ka.scale.utc=function(){return Gi(Zi.scale.linear(),Bs,Us)},Zi.text=wt(function(t){return t.responseText}),Zi.json=function(t,e){return Mt(t,&quot;application/json&quot;,Wi,e)},Zi.html=function(t,e){return Mt(t,&quot;text/html&quot;,Xi,e)},Zi.xml=wt(function(t){return t.responseXML}),&quot;object&quot;==typeof e&amp;&amp;e.exports?e.exports=Zi:this.d3=Zi}()},{}],129:[function(t,e,r){e.exports=function(){for(var t=0;t&lt;arguments.length;t++)if(void 0!==arguments[t])return arguments[t]}},{}],130:[function(t,e,r){&quot;use strict&quot;;function n(t,e){this.point=t,this.index=e}function i(t,e){for(var r=t.point,n=e.point,i=r.length,a=0;a&lt;i;++a){var o=n[a]-r[a];if(o)return o}return 0}var a=t(&quot;incremental-convex-hull&quot;),o=t(&quot;uniq&quot;);e.exports=function(t,e){var r=t.length;if(0===r)return[];var s=t[0].length;if(s&lt;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&lt;t;++a){var o=n[a-1],s=n[a];i[a-1]=[o[1],s[1]]}return r&amp;&amp;i.push([-1,i[0][1]],[i[t-1][1],-1]),i}(r,t,e);for(var l=new Array(r),c=1,u=0;u&lt;r;++u){for(var f=t[u],h=new Array(s+1),d=0,p=0;p&lt;s;++p){var m=f[p];h[p]=m,d+=m*m}h[s]=d,l[u]=new n(h,u),c=Math.max(d,c)}o(l,i),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&lt;=s;++u)x[u]=0;for(x[s]=y,g[0]=x.slice(),v[0]=-1,u=0;u&lt;=s;++u)(h=x.slice())[u]=1,g[u+1]=h,v[u+1]=-1;for(u=0;u&lt;r;++u){var b=l[u];g[u+s+1]=b.point,v[u+s+1]=b.index}var _=a(g,!1);if(_=e?_.filter(function(t){for(var e=0,r=0;r&lt;=s;++r){var n=v[t[r]];if(n&lt;0&amp;&amp;++e&gt;=2)return!1;t[r]=n}return!0}):_.filter(function(t){for(var e=0;e&lt;=s;++e){var r=v[t[e]];if(r&lt;0)return!1;t[e]=r}return!0}),1&amp;s)for(u=0;u&lt;_.length;++u)h=(b=_[u])[0],b[0]=b[1],b[1]=h;return _}},{&quot;incremental-convex-hull&quot;:278,uniq:556}],131:[function(t,e,r){(function(t){var r=!1;if(&quot;undefined&quot;!=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]]};function a(t,e){return i[0]=t,i[1]=e,n[0]}e.exports.pack=a;function o(t){return n[0]=t,i[0]}e.exports.lo=o;function s(t){return n[0]=t,i[1]}e.exports.hi=s}else if(1072693248===i[0]){e.exports=function(t){return n[0]=t,[i[1],i[0]]};function l(t,e){return i[1]=t,i[0]=e,n[0]}e.exports.pack=l;function c(t){return n[0]=t,i[1]}e.exports.lo=c;function u(t){return n[0]=t,i[0]}e.exports.hi=u}else r=!1}if(!r){var f=new t(8);e.exports=function(t){return f.writeDoubleLE(t,0,!0),[f.readUInt32LE(0,!0),f.readUInt32LE(4,!0)]};function h(t,e){return f.writeUInt32LE(t,0,!0),f.writeUInt32LE(e,4,!0),f.readDoubleLE(0,!0)}e.exports.pack=h;function d(t){return f.writeDoubleLE(t,0,!0),f.readUInt32LE(0,!0)}e.exports.lo=d;function p(t){return f.writeDoubleLE(t,0,!0),f.readUInt32LE(4,!0)}e.exports.hi=p}e.exports.sign=function(t){return e.exports.hi(t)&gt;&gt;&gt;31},e.exports.exponent=function(t){return(e.exports.hi(t)&lt;&lt;1&gt;&gt;&gt;21)-1023},e.exports.fraction=function(t){var r=e.exports.lo(t),n=e.exports.hi(t),i=1048575&amp;n;return 2146435072&amp;n&amp;&amp;(i+=1&lt;&lt;20),[r,i]},e.exports.denormalized=function(t){return!(2146435072&amp;e.exports.hi(t))}}).call(this,t(&quot;buffer&quot;).Buffer)},{buffer:82}],132:[function(t,e,r){var n=t(&quot;abs-svg-path&quot;),i=t(&quot;normalize-svg-path&quot;),a={M:&quot;moveTo&quot;,C:&quot;bezierCurveTo&quot;};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()}},{&quot;abs-svg-path&quot;:43,&quot;normalize-svg-path&quot;:460}],133:[function(t,e,r){e.exports=function(t){switch(t){case&quot;int8&quot;:return Int8Array;case&quot;int16&quot;:return Int16Array;case&quot;int32&quot;:return Int32Array;case&quot;uint8&quot;:return Uint8Array;case&quot;uint16&quot;:return Uint16Array;case&quot;uint32&quot;:return Uint32Array;case&quot;float32&quot;:return Float32Array;case&quot;float64&quot;:return Float64Array;case&quot;array&quot;:return Array;case&quot;uint8_clamped&quot;:return Uint8ClampedArray}}},{}],134:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r){var i=0|t[r];if(i&lt;=0)return[];var a,o=new Array(i);if(r===t.length-1)for(a=0;a&lt;i;++a)o[a]=e;else for(a=0;a&lt;i;++a)o[a]=n(t,e,r+1);return o}e.exports=function(t,e){switch(void 0===e&amp;&amp;(e=0),typeof t){case&quot;number&quot;:if(t&gt;0)return function(t,e){var r,n;for(r=new Array(t),n=0;n&lt;t;++n)r[n]=e;return r}(0|t,e);break;case&quot;object&quot;:if(&quot;number&quot;==typeof t.length)return n(t,e,0)}return[]}},{}],135:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r){r=r||2;var n=e&amp;&amp;e.length,l=n?e[0]*r:t.length,u=i(t,0,l,r,!0),f=[];if(!u)return f;var h,m,g,v,y,x,b;if(n&amp;&amp;(u=function(t,e,r,n){var o,l,u,f,h,m=[];for(o=0,l=e.length;o&lt;l;o++)u=e[o]*n,f=o&lt;l-1?e[o+1]*n:t.length,(h=i(t,u,f,n,!1))===h.next&amp;&amp;(h.steiner=!0),m.push(function(t){var e=t,r=t;do{e.x&lt;r.x&amp;&amp;(r=e),e=e.next}while(e!==t);return r}(h));for(m.sort(s),o=0;o&lt;m.length;o++)!function(t,e){if(e=function(t,e){var r,n=e,i=t.x,a=t.y,o=-1/0;do{if(a&lt;=n.y&amp;&amp;a&gt;=n.next.y){var s=n.x+(a-n.y)*(n.next.x-n.x)/(n.next.y-n.y);if(s&lt;=i&amp;&amp;s&gt;o){if(o=s,s===i){if(a===n.y)return n;if(a===n.next.y)return n.next}r=n.x&lt;n.next.x?n:n.next}}n=n.next}while(n!==e);if(!r)return null;if(i===o)return r.prev;var l,u=r,f=r.x,h=r.y,p=1/0;for(n=r.next;n!==u;)i&gt;=n.x&amp;&amp;n.x&gt;=f&amp;&amp;c(a&lt;h?i:o,a,f,h,a&lt;h?o:i,a,n.x,n.y)&amp;&amp;((l=Math.abs(a-n.y)/(i-n.x))&lt;p||l===p&amp;&amp;n.x&gt;r.x)&amp;&amp;d(n,t)&amp;&amp;(r=n,p=l),n=n.next;return r}(t,e)){var r=p(e,t);a(r,r.next)}}(m[o],r),r=a(r,r.next);return r}(t,e,u,r)),t.length&gt;80*r){h=g=t[0],m=v=t[1];for(var _=r;_&lt;l;_+=r)y=t[_],x=t[_+1],y&lt;h&amp;&amp;(h=y),x&lt;m&amp;&amp;(m=x),y&gt;g&amp;&amp;(g=y),x&gt;v&amp;&amp;(v=x);b=Math.max(g-h,v-m)}return o(u,f,r,h,m,b),f}function i(t,e,r,n,i){var a,o;if(i===y(t,e,r,n)&gt;0)for(a=e;a&lt;r;a+=n)o=m(a,t[a],t[a+1],o);else for(a=r-n;a&gt;=e;a-=n)o=m(a,t[a],t[a+1],o);return o&amp;&amp;f(o,o.next)&amp;&amp;(g(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||!f(n,n.next)&amp;&amp;0!==u(n.prev,n,n.next))n=n.next;else{if(g(n),(n=e=n.prev)===n.next)return null;r=!0}}while(r||n!==e);return e}function o(t,e,r,n,i,s,m){if(t){!m&amp;&amp;s&amp;&amp;function(t,e,r,n){var i=t;do{null===i.z&amp;&amp;(i.z=l(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&lt;c&amp;&amp;(s++,n=n.nextZ);e++);for(l=c;s&gt;0||l&gt;0&amp;&amp;n;)0===s?(i=n,n=n.nextZ,l--):0!==l&amp;&amp;n?r.z&lt;=n.z?(i=r,r=r.nextZ,s--):(i=n,n=n.nextZ,l--):(i=r,r=r.nextZ,s--),a?a.nextZ=i:t=i,i.prevZ=a,a=i;r=n}a.nextZ=null,c*=2}while(o&gt;1)}(i)}(t,n,i,s);for(var v,y,x=t;t.prev!==t.next;)if(v=t.prev,y=t.next,s?function(t,e,r,n){var i=t.prev,a=t,o=t.next;if(u(i,a,o)&gt;=0)return!1;var s=i.x&lt;a.x?i.x&lt;o.x?i.x:o.x:a.x&lt;o.x?a.x:o.x,f=i.y&lt;a.y?i.y&lt;o.y?i.y:o.y:a.y&lt;o.y?a.y:o.y,h=i.x&gt;a.x?i.x&gt;o.x?i.x:o.x:a.x&gt;o.x?a.x:o.x,d=i.y&gt;a.y?i.y&gt;o.y?i.y:o.y:a.y&gt;o.y?a.y:o.y,p=l(s,f,e,r,n),m=l(h,d,e,r,n),g=t.nextZ;for(;g&amp;&amp;g.z&lt;=m;){if(g!==t.prev&amp;&amp;g!==t.next&amp;&amp;c(i.x,i.y,a.x,a.y,o.x,o.y,g.x,g.y)&amp;&amp;u(g.prev,g,g.next)&gt;=0)return!1;g=g.nextZ}g=t.prevZ;for(;g&amp;&amp;g.z&gt;=p;){if(g!==t.prev&amp;&amp;g!==t.next&amp;&amp;c(i.x,i.y,a.x,a.y,o.x,o.y,g.x,g.y)&amp;&amp;u(g.prev,g,g.next)&gt;=0)return!1;g=g.prevZ}return!0}(t,n,i,s):function(t){var e=t.prev,r=t,n=t.next;if(u(e,r,n)&gt;=0)return!1;var i=t.next.next;for(;i!==t.prev;){if(c(e.x,e.y,r.x,r.y,n.x,n.y,i.x,i.y)&amp;&amp;u(i.prev,i,i.next)&gt;=0)return!1;i=i.next}return!0}(t))e.push(v.i/r),e.push(t.i/r),e.push(y.i/r),g(t),t=y.next,x=y.next;else if((t=y)===x){m?1===m?o(t=function(t,e,r){var n=t;do{var i=n.prev,a=n.next.next;!f(i,a)&amp;&amp;h(i,n,n.next,a)&amp;&amp;d(i,a)&amp;&amp;d(a,i)&amp;&amp;(e.push(i.i/r),e.push(n.i/r),e.push(a.i/r),g(n),g(n.next),n=t=a),n=n.next}while(n!==t);return n}(t,e,r),e,r,n,i,s,2):2===m&amp;&amp;function(t,e,r,n,i,s){var l=t;do{for(var c=l.next.next;c!==l.prev;){if(l.i!==c.i&amp;&amp;function(t,e){return t.next.i!==e.i&amp;&amp;t.prev.i!==e.i&amp;&amp;!function(t,e){var r=t;do{if(r.i!==t.i&amp;&amp;r.next.i!==t.i&amp;&amp;r.i!==e.i&amp;&amp;r.next.i!==e.i&amp;&amp;h(r,r.next,t,e))return!0;r=r.next}while(r!==t);return!1}(t,e)&amp;&amp;d(t,e)&amp;&amp;d(e,t)&amp;&amp;function(t,e){var r=t,n=!1,i=(t.x+e.x)/2,a=(t.y+e.y)/2;do{r.y&gt;a!=r.next.y&gt;a&amp;&amp;i&lt;(r.next.x-r.x)*(a-r.y)/(r.next.y-r.y)+r.x&amp;&amp;(n=!n),r=r.next}while(r!==t);return n}(t,e)}(l,c)){var u=p(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)}(t,e,r,n,i,s):o(a(t),e,r,n,i,s,1);break}}}function s(t,e){return t.x-e.x}function l(t,e,r,n,i){return t=32767*(t-r)/i,e=32767*(e-n)/i,t=16711935&amp;(t|t&lt;&lt;8),t=252645135&amp;(t|t&lt;&lt;4),t=858993459&amp;(t|t&lt;&lt;2),t=1431655765&amp;(t|t&lt;&lt;1),e=16711935&amp;(e|e&lt;&lt;8),e=252645135&amp;(e|e&lt;&lt;4),e=858993459&amp;(e|e&lt;&lt;2),e=1431655765&amp;(e|e&lt;&lt;1),t|e&lt;&lt;1}function c(t,e,r,n,i,a,o,s){return(i-o)*(e-s)-(t-o)*(a-s)&gt;=0&amp;&amp;(t-o)*(n-s)-(r-o)*(e-s)&gt;=0&amp;&amp;(r-o)*(a-s)-(i-o)*(n-s)&gt;=0}function u(t,e,r){return(e.y-t.y)*(r.x-e.x)-(e.x-t.x)*(r.y-e.y)}function f(t,e){return t.x===e.x&amp;&amp;t.y===e.y}function h(t,e,r,n){return!!(f(t,e)&amp;&amp;f(r,n)||f(t,n)&amp;&amp;f(r,e))||u(t,e,r)&gt;0!=u(t,e,n)&gt;0&amp;&amp;u(r,n,t)&gt;0!=u(r,n,e)&gt;0}function d(t,e){return u(t.prev,t,t.next)&lt;0?u(t,e,t.next)&gt;=0&amp;&amp;u(t,t.prev,e)&gt;=0:u(t,e,t.prev)&lt;0||u(t,t.next,e)&lt;0}function p(t,e){var r=new v(t.i,t.x,t.y),n=new v(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 m(t,e,r,n){var i=new v(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 g(t){t.next.prev=t.prev,t.prev.next=t.next,t.prevZ&amp;&amp;(t.prevZ.nextZ=t.nextZ),t.nextZ&amp;&amp;(t.nextZ.prevZ=t.prevZ)}function v(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 y(t,e,r,n){for(var i=0,a=e,o=r-n;a&lt;r;a+=n)i+=(t[o]-t[a])*(t[a+1]+t[o+1]),o=a;return i}e.exports=n,n.deviation=function(t,e,r,n){var i=e&amp;&amp;e.length,a=i?e[0]*r:t.length,o=Math.abs(y(t,0,a,r));if(i)for(var s=0,l=e.length;s&lt;l;s++){var c=e[s]*r,u=s&lt;l-1?e[s+1]*r:t.length;o-=Math.abs(y(t,c,u,r))}var f=0;for(s=0;s&lt;n.length;s+=3){var h=n[s]*r,d=n[s+1]*r,p=n[s+2]*r;f+=Math.abs((t[h]-t[p])*(t[d+1]-t[h+1])-(t[h]-t[d])*(t[p+1]-t[h+1]))}return 0===o&amp;&amp;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&lt;t.length;i++){for(var a=0;a&lt;t[i].length;a++)for(var o=0;o&lt;e;o++)r.vertices.push(t[i][a][o]);i&gt;0&amp;&amp;(n+=t[i-1].length,r.holes.push(n))}return r}},{}],136:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t,e){var r=t.length;if(&quot;number&quot;!=typeof e){e=0;for(var i=0;i&lt;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&lt;e;++i)o[i]=[];for(i=0;i&lt;r;++i)o[(a=t[i])[0]].push(a[1]),o[a[1]].push(a[0]);for(var s=0;s&lt;e;++s)n(o[s],function(t,e){return t-e});return o};var n=t(&quot;uniq&quot;)},{uniq:556}],137:[function(t,e,r){(function(n,i){!function(t,n){&quot;object&quot;==typeof r&amp;&amp;void 0!==e?e.exports=n():t.ES6Promise=n()}(this,function(){&quot;use strict&quot;;function e(t){return&quot;function&quot;==typeof t}function r(){var t=setTimeout;return function(){return t(a,1)}}function a(){for(var t=0;t&lt;A;t+=2){(0,P[t])(P[t+1]),P[t]=void 0,P[t+1]=void 0}A=0}function o(){try{var e=t(&quot;vertx&quot;);return T=e.runOnLoop||e.runOnContext,function(){T(a)}}catch(t){return r()}}function s(t,e){var r=arguments,n=this,i=new this.constructor(c);void 0===i[F]&amp;&amp;b(i);var a=n._state;return a?function(){var t=r[a-1];E(function(){return x(a,i,t,n._result)})}():g(n,i,t,e),i}function l(t){if(t&amp;&amp;&quot;object&quot;==typeof t&amp;&amp;t.constructor===this)return t;var e=new this(c);return h(e,t),e}function c(){}function u(t){try{return t.then}catch(t){return B.error=t,B}}function f(t,r,n){r.constructor===t.constructor&amp;&amp;n===s&amp;&amp;r.constructor.resolve===l?function(t,e){e._state===N?p(t,e._result):e._state===j?m(t,e._result):g(e,void 0,function(e){return h(t,e)},function(e){return m(t,e)})}(t,r):n===B?m(t,B.error):void 0===n?p(t,r):e(n)?function(t,e,r){E(function(t){var n=!1,i=function(t,e,r,n){try{t.call(e,r,n)}catch(t){return t}}(r,e,function(r){n||(n=!0,e!==r?h(t,r):p(t,r))},function(e){n||(n=!0,m(t,e))},t._label);!n&amp;&amp;i&amp;&amp;(n=!0,m(t,i))},t)}(t,r,n):p(t,r)}function h(t,e){t===e?m(t,new TypeError(&quot;You cannot resolve a promise with itself&quot;)):!function(t){return&quot;function&quot;==typeof t||&quot;object&quot;==typeof t&amp;&amp;null!==t}(e)?p(t,e):f(t,e,u(e))}function d(t){t._onerror&amp;&amp;t._onerror(t._result),v(t)}function p(t,e){t._state===R&amp;&amp;(t._result=e,t._state=N,0!==t._subscribers.length&amp;&amp;E(v,t))}function m(t,e){t._state===R&amp;&amp;(t._state=j,t._result=e,E(d,t))}function g(t,e,r,n){var i=t._subscribers,a=i.length;t._onerror=null,i[a]=e,i[a+N]=r,i[a+j]=n,0===a&amp;&amp;t._state&amp;&amp;E(v,t)}function v(t){var e=t._subscribers,r=t._state;if(0!==e.length){for(var n=void 0,i=void 0,a=t._result,o=0;o&lt;e.length;o+=3)n=e[o],i=e[o+r],n?x(r,n,i,a):i(a);t._subscribers.length=0}}function y(){this.error=null}function x(t,r,n,i){var a=e(n),o=void 0,s=void 0,l=void 0,c=void 0;if(a){if((o=function(t,e){try{return t(e)}catch(t){return U.error=t,U}}(n,i))===U?(c=!0,s=o.error,o=null):l=!0,r===o)return void m(r,new TypeError(&quot;A promises callback cannot return that same promise.&quot;))}else o=i,l=!0;r._state!==R||(a&amp;&amp;l?h(r,o):c?m(r,s):t===N?p(r,o):t===j&amp;&amp;m(r,o))}function b(t){t[F]=V++,t._state=void 0,t._result=void 0,t._subscribers=[]}function _(t,e){this._instanceConstructor=t,this.promise=new t(c),this.promise[F]||b(this.promise),k(e)?(this._input=e,this.length=e.length,this._remaining=e.length,this._result=new Array(this.length),0===this.length?p(this.promise,this._result):(this.length=this.length||0,this._enumerate(),0===this._remaining&amp;&amp;p(this.promise,this._result))):m(this.promise,new Error(&quot;Array Methods must be provided an Array&quot;))}function w(t){this[F]=V++,this._result=this._state=void 0,this._subscribers=[],c!==t&amp;&amp;(&quot;function&quot;!=typeof t&amp;&amp;function(){throw new TypeError(&quot;You must pass a resolver function as the first argument to the promise constructor&quot;)}(),this instanceof w?function(t,e){try{e(function(e){h(t,e)},function(e){m(t,e)})}catch(e){m(t,e)}}(this,t):function(){throw new TypeError(&quot;Failed to construct 'Promise': Please use the 'new' operator, this object constructor cannot be called as a function.&quot;)}())}function M(){var t=void 0;if(void 0!==i)t=i;else if(&quot;undefined&quot;!=typeof self)t=self;else try{t=Function(&quot;return this&quot;)()}catch(t){throw new Error(&quot;polyfill failed because global object is unavailable in this environment&quot;)}var e=t.Promise;if(e){var r=null;try{r=Object.prototype.toString.call(e.resolve())}catch(t){}if(&quot;[object Promise]&quot;===r&amp;&amp;!e.cast)return}t.Promise=w}var k=Array.isArray?Array.isArray:function(t){return&quot;[object Array]&quot;===Object.prototype.toString.call(t)},A=0,T=void 0,S=void 0,E=function(t,e){P[A]=t,P[A+1]=e,2===(A+=2)&amp;&amp;(S?S(a):O())},L=&quot;undefined&quot;!=typeof window?window:void 0,C=L||{},z=C.MutationObserver||C.WebKitMutationObserver,D=&quot;undefined&quot;==typeof self&amp;&amp;void 0!==n&amp;&amp;&quot;[object process]&quot;==={}.toString.call(n),I=&quot;undefined&quot;!=typeof Uint8ClampedArray&amp;&amp;&quot;undefined&quot;!=typeof importScripts&amp;&amp;&quot;undefined&quot;!=typeof MessageChannel,P=new Array(1e3),O=void 0;O=D?function(){return n.nextTick(a)}:z?function(){var t=0,e=new z(a),r=document.createTextNode(&quot;&quot;);return e.observe(r,{characterData:!0}),function(){r.data=t=++t%2}}():I?function(){var t=new MessageChannel;return t.port1.onmessage=a,function(){return t.port2.postMessage(0)}}():void 0===L&amp;&amp;&quot;function&quot;==typeof t?o():r();var F=Math.random().toString(36).substring(16),R=void 0,N=1,j=2,B=new y,U=new y,V=0;return _.prototype._enumerate=function(){for(var t=this.length,e=this._input,r=0;this._state===R&amp;&amp;r&lt;t;r++)this._eachEntry(e[r],r)},_.prototype._eachEntry=function(t,e){var r=this._instanceConstructor,n=r.resolve;if(n===l){var i=u(t);if(i===s&amp;&amp;t._state!==R)this._settledAt(t._state,e,t._result);else if(&quot;function&quot;!=typeof i)this._remaining--,this._result[e]=t;else if(r===w){var a=new r(c);f(a,t,i),this._willSettleAt(a,e)}else this._willSettleAt(new r(function(e){return e(t)}),e)}else this._willSettleAt(n(t),e)},_.prototype._settledAt=function(t,e,r){var n=this.promise;n._state===R&amp;&amp;(this._remaining--,t===j?m(n,r):this._result[e]=r),0===this._remaining&amp;&amp;p(n,this._result)},_.prototype._willSettleAt=function(t,e){var r=this;g(t,void 0,function(t){return r._settledAt(N,e,t)},function(t){return r._settledAt(j,e,t)})},w.all=function(t){return new _(this,t).promise},w.race=function(t){var e=this;return new e(k(t)?function(r,n){for(var i=t.length,a=0;a&lt;i;a++)e.resolve(t[a]).then(r,n)}:function(t,e){return e(new TypeError(&quot;You must pass an array to race.&quot;))})},w.resolve=l,w.reject=function(t){var e=new this(c);return m(e,t),e},w._setScheduler=function(t){S=t},w._setAsap=function(t){E=t},w._asap=E,w.prototype={constructor:w,then:s,catch:function(t){return this.then(null,t)}},M(),w.polyfill=M,w.Promise=w,w})}).call(this,t(&quot;_process&quot;),&quot;undefined&quot;!=typeof global?global:&quot;undefined&quot;!=typeof self?self:&quot;undefined&quot;!=typeof window?window:{})},{_process:488}],138:[function(t,e,r){function n(){this._events=this._events||{},this._maxListeners=this._maxListeners||void 0}function i(t){return&quot;function&quot;==typeof t}function a(t){return&quot;object&quot;==typeof t&amp;&amp;null!==t}function o(t){return void 0===t}e.exports=n,n.EventEmitter=n,n.prototype._events=void 0,n.prototype._maxListeners=void 0,n.defaultMaxListeners=10,n.prototype.setMaxListeners=function(t){if(!function(t){return&quot;number&quot;==typeof t}(t)||t&lt;0||isNaN(t))throw TypeError(&quot;n must be a positive number&quot;);return this._maxListeners=t,this},n.prototype.emit=function(t){var e,r,n,s,l,c;if(this._events||(this._events={}),&quot;error&quot;===t&amp;&amp;(!this._events.error||a(this._events.error)&amp;&amp;!this._events.error.length)){if((e=arguments[1])instanceof Error)throw e;var u=new Error('Uncaught, unspecified &quot;error&quot; event. ('+e+&quot;)&quot;);throw u.context=e,u}if(r=this._events[t],o(r))return!1;if(i(r))switch(arguments.length){case 1:r.call(this);break;case 2:r.call(this,arguments[1]);break;case 3:r.call(this,arguments[1],arguments[2]);break;default:s=Array.prototype.slice.call(arguments,1),r.apply(this,s)}else if(a(r))for(s=Array.prototype.slice.call(arguments,1),n=(c=r.slice()).length,l=0;l&lt;n;l++)c[l].apply(this,s);return!0},n.prototype.addListener=function(t,e){var r;if(!i(e))throw TypeError(&quot;listener must be a function&quot;);return this._events||(this._events={}),this._events.newListener&amp;&amp;this.emit(&quot;newListener&quot;,t,i(e.listener)?e.listener:e),this._events[t]?a(this._events[t])?this._events[t].push(e):this._events[t]=[this._events[t],e]:this._events[t]=e,a(this._events[t])&amp;&amp;!this._events[t].warned&amp;&amp;(r=o(this._maxListeners)?n.defaultMaxListeners:this._maxListeners)&amp;&amp;r&gt;0&amp;&amp;this._events[t].length&gt;r&amp;&amp;(this._events[t].warned=!0,console.error(&quot;(node) warning: possible EventEmitter memory leak detected. %d listeners added. Use emitter.setMaxListeners() to increase limit.&quot;,this._events[t].length),&quot;function&quot;==typeof console.trace&amp;&amp;console.trace()),this},n.prototype.on=n.prototype.addListener,n.prototype.once=function(t,e){function r(){this.removeListener(t,r),n||(n=!0,e.apply(this,arguments))}if(!i(e))throw TypeError(&quot;listener must be a function&quot;);var n=!1;return r.listener=e,this.on(t,r),this},n.prototype.removeListener=function(t,e){var r,n,o,s;if(!i(e))throw TypeError(&quot;listener must be a function&quot;);if(!this._events||!this._events[t])return this;if(r=this._events[t],o=r.length,n=-1,r===e||i(r.listener)&amp;&amp;r.listener===e)delete this._events[t],this._events.removeListener&amp;&amp;this.emit(&quot;removeListener&quot;,t,e);else if(a(r)){for(s=o;s-- &gt;0;)if(r[s]===e||r[s].listener&amp;&amp;r[s].listener===e){n=s;break}if(n&lt;0)return this;1===r.length?(r.length=0,delete this._events[t]):r.splice(n,1),this._events.removeListener&amp;&amp;this.emit(&quot;removeListener&quot;,t,e)}return this},n.prototype.removeAllListeners=function(t){var e,r;if(!this._events)return this;if(!this._events.removeListener)return 0===arguments.length?this._events={}:this._events[t]&amp;&amp;delete this._events[t],this;if(0===arguments.length){for(e in this._events)&quot;removeListener&quot;!==e&amp;&amp;this.removeAllListeners(e);return this.removeAllListeners(&quot;removeListener&quot;),this._events={},this}if(r=this._events[t],i(r))this.removeListener(t,r);else if(r)for(;r.length;)this.removeListener(t,r[r.length-1]);return delete this._events[t],this},n.prototype.listeners=function(t){return this._events&amp;&amp;this._events[t]?i(this._events[t])?[this._events[t]]:this._events[t].slice():[]},n.prototype.listenerCount=function(t){if(this._events){var e=this._events[t];if(i(e))return 1;if(e)return e.length}return 0},n.listenerCount=function(t,e){return t.listenerCount(e)}},{}],139:[function(t,e,r){&quot;use strict&quot;;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]]]}},{}],140:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t){var e=typeof t;if(&quot;string&quot;===e){var r=t;if(0===(t=+t)&amp;&amp;function(t){for(var e,r=t.length,n=0;n&lt;r;n++)if(((e=t.charCodeAt(n))&lt;9||e&gt;13)&amp;&amp;32!==e&amp;&amp;133!==e&amp;&amp;160!==e&amp;&amp;5760!==e&amp;&amp;6158!==e&amp;&amp;(e&lt;8192||e&gt;8205)&amp;&amp;8232!==e&amp;&amp;8233!==e&amp;&amp;8239!==e&amp;&amp;8287!==e&amp;&amp;8288!==e&amp;&amp;12288!==e&amp;&amp;65279!==e)return!1;return!0}(r))return!1}else if(&quot;number&quot;!==e)return!1;return t-t&lt;1}},{}],141:[function(t,e,r){&quot;use strict&quot;;function n(t){if(!t)return&quot;true&quot;;var e=t[0];if(t.length&lt;=1)return&quot;any&quot;===e?&quot;false&quot;:&quot;true&quot;;return&quot;(&quot;+(&quot;==&quot;===e?a(t[1],t[2],&quot;===&quot;,!1):&quot;!=&quot;===e?a(t[1],t[2],&quot;!==&quot;,!1):&quot;&lt;&quot;===e||&quot;&gt;&quot;===e||&quot;&lt;=&quot;===e||&quot;&gt;=&quot;===e?a(t[1],t[2],e,!0):&quot;any&quot;===e?o(t.slice(1),&quot;||&quot;):&quot;all&quot;===e?o(t.slice(1),&quot;&amp;&amp;&quot;):&quot;none&quot;===e?c(o(t.slice(1),&quot;||&quot;)):&quot;in&quot;===e?s(t[1],t.slice(2)):&quot;!in&quot;===e?c(s(t[1],t.slice(2))):&quot;has&quot;===e?l(t[1]):&quot;!has&quot;===e?c(l([t[1]])):&quot;true&quot;)+&quot;)&quot;}function i(t){return&quot;$type&quot;===t?&quot;f.type&quot;:&quot;$id&quot;===t?&quot;f.id&quot;:&quot;p[&quot;+JSON.stringify(t)+&quot;]&quot;}function a(t,e,r,n){var a=i(t),o=&quot;$type&quot;===t?f.indexOf(e):JSON.stringify(e);return(n?&quot;typeof &quot;+a+&quot;=== typeof &quot;+o+&quot;&amp;&amp;&quot;:&quot;&quot;)+a+r+o}function o(t,e){return t.map(n).join(e)}function s(t,e){&quot;$type&quot;===t&amp;&amp;(e=e.map(function(t){return f.indexOf(t)}));var r=JSON.stringify(e.sort(u)),n=i(t);return e.length&lt;=200?r+&quot;.indexOf(&quot;+n+&quot;) !== -1&quot;:&quot;function(v, a, i, j) {while (i &lt;= j) { var m = (i + j) &gt;&gt; 1;    if (a[m] === v) return true; if (a[m] &gt; v) j = m - 1; else i = m + 1;}return false; }(&quot;+n+&quot;, &quot;+r+&quot;,0,&quot;+(e.length-1)+&quot;)&quot;}function l(t){return JSON.stringify(t)+&quot; in p&quot;}function c(t){return&quot;!(&quot;+t+&quot;)&quot;}function u(t,e){return t&lt;e?-1:t&gt;e?1:0}e.exports=function(t){return new Function(&quot;f&quot;,&quot;var p = (f &amp;&amp; f.properties || {}); return &quot;+n(t))};var f=[&quot;Unknown&quot;,&quot;Point&quot;,&quot;LineString&quot;,&quot;Polygon&quot;]},{}],142:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r){return Math.min(e,Math.max(t,r))}function i(t,e,r){this.dimension=t.length,this.bounds=[new Array(this.dimension),new Array(this.dimension)];for(var n=0;n&lt;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()]}function a(t){for(var e=new Array(t),r=0;r&lt;t;++r)e[r]=0;return e}e.exports=function(t,e,r){switch(arguments.length){case 0:return new i([0],[0],0);case 1:return&quot;number&quot;==typeof t?new i(n=a(t),n,0):new i(t,a(t.length),0);case 2:if(&quot;number&quot;==typeof e){var n;return new i(t,n=a(t.length),+e)}r=0;case 3:if(t.length!==e.length)throw new Error(&quot;state and velocity lengths must match&quot;);return new i(t,e,r)}};var o=t(&quot;cubic-hermite&quot;),s=t(&quot;binary-search-bounds&quot;),l=i.prototype;l.flush=function(t){var e=s.gt(this._time,t)-1;e&lt;=0||(this._time.splice(0,e),this._state.splice(0,e*this.dimension),this._velocity.splice(0,e*this.dimension))},l.curve=function(t){var e=this._time,r=e.length,i=s.le(e,t),a=this._scratch[0],l=this._state,c=this._velocity,u=this.dimension,f=this.bounds;if(i&lt;0)for(var h=u-1,d=0;d&lt;u;++d,--h)a[d]=l[h];else if(i&gt;=r-1){h=l.length-1;var p=t-e[r-1];for(d=0;d&lt;u;++d,--h)a[d]=l[h]+p*c[h]}else{h=u*(i+1)-1;var m=e[i],g=e[i+1]-m||1,v=this._scratch[1],y=this._scratch[2],x=this._scratch[3],b=this._scratch[4],_=!0;for(d=0;d&lt;u;++d,--h)v[d]=l[h],x[d]=c[h]*g,y[d]=l[h+u],b[d]=c[h+u]*g,_=_&amp;&amp;v[d]===y[d]&amp;&amp;x[d]===b[d]&amp;&amp;0===x[d];if(_)for(d=0;d&lt;u;++d)a[d]=v[d];else o(v,x,y,b,(t-m)/g,a)}var w=f[0],M=f[1];for(d=0;d&lt;u;++d)a[d]=n(w[d],M[d],a[d]);return a},l.dcurve=function(t){var e=this._time,r=e.length,n=s.le(e,t),i=this._scratch[0],a=this._state,l=this._velocity,c=this.dimension;if(n&gt;=r-1)for(var u=a.length-1,f=(e[r-1],0);f&lt;c;++f,--u)i[f]=l[u];else{u=c*(n+1)-1;var h=e[n],d=e[n+1]-h||1,p=this._scratch[1],m=this._scratch[2],g=this._scratch[3],v=this._scratch[4],y=!0;for(f=0;f&lt;c;++f,--u)p[f]=a[u],g[f]=l[u]*d,m[f]=a[u+c],v[f]=l[u+c]*d,y=y&amp;&amp;p[f]===m[f]&amp;&amp;g[f]===v[f]&amp;&amp;0===g[f];if(y)for(f=0;f&lt;c;++f)i[f]=0;else{o.derivative(p,g,m,v,(t-h)/d,i);for(f=0;f&lt;c;++f)i[f]/=d}}return i},l.lastT=function(){var t=this._time;return t[t.length-1]},l.stable=function(){for(var t=this._velocity,e=t.length,r=this.dimension-1;r&gt;=0;--r)if(t[--e])return!1;return!0},l.jump=function(t){var e=this.lastT(),r=this.dimension;if(!(t&lt;e||arguments.length!==r+1)){var i=this._state,a=this._velocity,o=i.length-this.dimension,s=this.bounds,l=s[0],c=s[1];this._time.push(e,t);for(var u=0;u&lt;2;++u)for(var f=0;f&lt;r;++f)i.push(i[o++]),a.push(0);this._time.push(t);for(f=r;f&gt;0;--f)i.push(n(l[f-1],c[f-1],arguments[f])),a.push(0)}},l.push=function(t){var e=this.lastT(),r=this.dimension;if(!(t&lt;e||arguments.length!==r+1)){var i=this._state,a=this._velocity,o=i.length-this.dimension,s=t-e,l=this.bounds,c=l[0],u=l[1],f=s&gt;1e-6?1/s:0;this._time.push(t);for(var h=r;h&gt;0;--h){var d=n(c[h-1],u[h-1],arguments[h]);i.push(d),a.push((d-i[o++])*f)}}},l.set=function(t){var e=this.dimension;if(!(t&lt;this.lastT()||arguments.length!==e+1)){var r=this._state,i=this._velocity,a=this.bounds,o=a[0],s=a[1];this._time.push(t);for(var l=e;l&gt;0;--l)r.push(n(o[l-1],s[l-1],arguments[l])),i.push(0)}},l.move=function(t){var e=this.lastT(),r=this.dimension;if(!(t&lt;=e||arguments.length!==r+1)){var i=this._state,a=this._velocity,o=i.length-this.dimension,s=this.bounds,l=s[0],c=s[1],u=t-e,f=u&gt;1e-6?1/u:0;this._time.push(t);for(var h=r;h&gt;0;--h){var d=arguments[h];i.push(n(l[h-1],c[h-1],i[o++]+d)),a.push(d*f)}}},l.idle=function(t){var e=this.lastT();if(!(t&lt;e)){var r=this.dimension,i=this._state,a=this._velocity,o=i.length-r,s=this.bounds,l=s[0],c=s[1],u=t-e;this._time.push(t);for(var f=r-1;f&gt;=0;--f)i.push(n(l[f],c[f],i[o]+u*a[o])),a.push(0),o+=1}}},{&quot;binary-search-bounds&quot;:70,&quot;cubic-hermite&quot;:115}],143:[function(t,e,r){var n=t(&quot;dtype&quot;);e.exports=function(t,e,r){if(!t)throw new TypeError(&quot;must specify data as first parameter&quot;);if(r=0|+(r||0),Array.isArray(t)&amp;&amp;Array.isArray(t[0])){var i=t[0].length,a=t.length*i;e&amp;&amp;&quot;string&quot;!=typeof e||(e=new(n(e||&quot;float32&quot;))(a+r));var o=e.length-r;if(a!==o)throw new Error(&quot;source length &quot;+a+&quot; (&quot;+i+&quot;x&quot;+t.length+&quot;) does not match destination length &quot;+o);for(var s=0,l=r;s&lt;t.length;s++)for(var c=0;c&lt;i;c++)e[l++]=t[s][c]}else if(e&amp;&amp;&quot;string&quot;!=typeof e)e.set(t,r);else{var u=n(e||&quot;float32&quot;);0===r?e=new u(t):(e=new u(t.length+r)).set(t,r)}return e}},{dtype:133}],144:[function(t,e,r){&quot;use strict&quot;;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}function l(t,e){if(e.left){if(r=l(t,e.left))return r}var r;return(r=t(e.key,e.value))||(e.right?l(t,e.right):void 0)}function c(t,e,r,n){if(e(t,n.key)&lt;=0){if(n.left){if(i=c(t,e,r,n.left))return i}var i;if(i=r(n.key,n.value))return i}if(n.right)return c(t,e,r,n.right)}function u(t,e,r,n,i){var a,o=r(t,i.key),s=r(e,i.key);if(o&lt;=0){if(i.left&amp;&amp;(a=u(t,e,r,n,i.left)))return a;if(s&gt;0&amp;&amp;(a=n(i.key,i.value)))return a}if(s&gt;0&amp;&amp;i.right)return u(t,e,r,n,i.right)}function f(t,e){this.tree=t,this._stack=e}function h(t,e){t.key=e.key,t.value=e.value,t.left=e.left,t.right=e.right,t._color=e._color,t._count=e._count}e.exports=function(t){return new s(t||function(t,e){return t&lt;e?-1:t&gt;e?1:0},null)};var d=0,p=1,m=s.prototype;Object.defineProperty(m,&quot;keys&quot;,{get:function(){var t=[];return this.forEach(function(e,r){t.push(e)}),t}}),Object.defineProperty(m,&quot;values&quot;,{get:function(){var t=[];return this.forEach(function(e,r){t.push(r)}),t}}),Object.defineProperty(m,&quot;length&quot;,{get:function(){return this.root?this.root._count:0}}),m.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&lt;=0?i.left:i.right}l.push(new n(d,t,e,null,null,1));for(var f=l.length-2;f&gt;=0;--f){i=l[f];c[f]&lt;=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&gt;1;--f){var h=l[f-1];i=l[f];if(h._color===p||i._color===p)break;var m=l[f-2];if(m.left===h)if(h.left===i){if(!(g=m.right)||g._color!==d){if(m._color=d,m.left=h.right,h._color=p,h.right=m,l[f-2]=h,l[f-1]=i,o(m),o(h),f&gt;=3){(v=l[f-3]).left===m?v.left=h:v.right=h}break}h._color=p,m.right=a(p,g),m._color=d,f-=1}else{if(!(g=m.right)||g._color!==d){if(h.right=i.left,m._color=d,m.left=i.right,i._color=p,i.left=h,i.right=m,l[f-2]=i,l[f-1]=h,o(m),o(h),o(i),f&gt;=3){(v=l[f-3]).left===m?v.left=i:v.right=i}break}h._color=p,m.right=a(p,g),m._color=d,f-=1}else if(h.right===i){if(!(g=m.left)||g._color!==d){if(m._color=d,m.right=h.left,h._color=p,h.left=m,l[f-2]=h,l[f-1]=i,o(m),o(h),f&gt;=3){(v=l[f-3]).right===m?v.right=h:v.left=h}break}h._color=p,m.left=a(p,g),m._color=d,f-=1}else{var g;if(!(g=m.left)||g._color!==d){if(h.left=i.right,m._color=d,m.right=i.left,i._color=p,i.right=h,i.left=m,l[f-2]=i,l[f-1]=h,o(m),o(h),o(i),f&gt;=3){var v;(v=l[f-3]).right===m?v.right=i:v.left=i}break}h._color=p,m.left=a(p,g),m._color=d,f-=1}}return l[0]._color=p,new s(r,l[0])},m.forEach=function(t,e,r){if(this.root)switch(arguments.length){case 1:return l(t,this.root);case 2:return c(e,this._compare,t,this.root);case 3:if(this._compare(e,r)&gt;=0)return;return u(e,r,this._compare,t,this.root)}},Object.defineProperty(m,&quot;begin&quot;,{get:function(){for(var t=[],e=this.root;e;)t.push(e),e=e.left;return new f(this,t)}}),Object.defineProperty(m,&quot;end&quot;,{get:function(){for(var t=[],e=this.root;e;)t.push(e),e=e.right;return new f(this,t)}}),m.at=function(t){if(t&lt;0)return new f(this,[]);for(var e=this.root,r=[];;){if(r.push(e),e.left){if(t&lt;e.left._count){e=e.left;continue}t-=e.left._count}if(!t)return new f(this,r);if(t-=1,!e.right)break;if(t&gt;=e.right._count)break;e=e.right}return new f(this,[])},m.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&lt;=0&amp;&amp;(i=n.length),r=a&lt;=0?r.left:r.right}return n.length=i,new f(this,n)},m.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&lt;0&amp;&amp;(i=n.length),r=a&lt;0?r.left:r.right}return n.length=i,new f(this,n)},m.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&gt;0&amp;&amp;(i=n.length),r=a&lt;=0?r.left:r.right}return n.length=i,new f(this,n)},m.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&gt;=0&amp;&amp;(i=n.length),r=a&lt;0?r.left:r.right}return n.length=i,new f(this,n)},m.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 f(this,n);r=i&lt;=0?r.left:r.right}return new f(this,[])},m.remove=function(t){var e=this.find(t);return e?e.remove():this},m.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&lt;=0?r.left:r.right}};var g=f.prototype;Object.defineProperty(g,&quot;valid&quot;,{get:function(){return this._stack.length&gt;0}}),Object.defineProperty(g,&quot;node&quot;,{get:function(){return this._stack.length&gt;0?this._stack[this._stack.length-1]:null},enumerable:!0}),g.clone=function(){return new f(this.tree,this._stack.slice())},g.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&gt;=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&amp;&amp;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&gt;=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((r=e[e.length-1])._color===d){var f=e[e.length-2];f.left===r?f.left=null:f.right===r&amp;&amp;(f.right=null),e.pop();for(l=0;l&lt;e.length;++l)e[l]._count--;return new s(this.tree._compare,e[0])}if(r.left||r.right){r.left?h(r,r.left):r.right&amp;&amp;h(r,r.right),r._color=p;for(l=0;l&lt;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&lt;e.length;++l)e[l]._count--;var m=e[e.length-2];return function(t){for(var e,r,n,s,l=t.length-1;l&gt;=0;--l){if(e=t[l],0===l)return void(e._color=p);if((r=t[l-1]).left===e){if((n=r.right).right&amp;&amp;n.right._color===d)return n=r.right=i(n),s=n.right=i(n.right),r.right=n.left,n.left=r,n.right=s,n._color=r._color,e._color=p,r._color=p,s._color=p,o(r),o(n),l&gt;1&amp;&amp;((c=t[l-2]).left===r?c.left=n:c.right=n),void(t[l-1]=n);if(n.left&amp;&amp;n.left._color===d)return n=r.right=i(n),s=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=p,n._color=p,e._color=p,o(r),o(n),o(s),l&gt;1&amp;&amp;((c=t[l-2]).left===r?c.left=s:c.right=s),void(t[l-1]=s);if(n._color===p){if(r._color===d)return r._color=p,void(r.right=a(d,n));r.right=a(d,n);continue}n=i(n),r.right=n.left,n.left=r,n._color=r._color,r._color=d,o(r),o(n),l&gt;1&amp;&amp;((c=t[l-2]).left===r?c.left=n:c.right=n),t[l-1]=n,t[l]=r,l+1&lt;t.length?t[l+1]=e:t.push(e),l+=2}else{if((n=r.left).left&amp;&amp;n.left._color===d)return n=r.left=i(n),s=n.left=i(n.left),r.left=n.right,n.right=r,n.left=s,n._color=r._color,e._color=p,r._color=p,s._color=p,o(r),o(n),l&gt;1&amp;&amp;((c=t[l-2]).right===r?c.right=n:c.left=n),void(t[l-1]=n);if(n.right&amp;&amp;n.right._color===d)return n=r.left=i(n),s=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=p,n._color=p,e._color=p,o(r),o(n),o(s),l&gt;1&amp;&amp;((c=t[l-2]).right===r?c.right=s:c.left=s),void(t[l-1]=s);if(n._color===p){if(r._color===d)return r._color=p,void(r.left=a(d,n));r.left=a(d,n);continue}if(n=i(n),r.left=n.right,n.right=r,n._color=r._color,r._color=d,o(r),o(n),l&gt;1){var c;(c=t[l-2]).right===r?c.right=n:c.left=n}t[l-1]=n,t[l]=r,l+1&lt;t.length?t[l+1]=e:t.push(e),l+=2}}}(e),m.left===r?m.left=null:m.right=null,new s(this.tree._compare,e[0])},Object.defineProperty(g,&quot;key&quot;,{get:function(){if(this._stack.length&gt;0)return this._stack[this._stack.length-1].key},enumerable:!0}),Object.defineProperty(g,&quot;value&quot;,{get:function(){if(this._stack.length&gt;0)return this._stack[this._stack.length-1].value},enumerable:!0}),Object.defineProperty(g,&quot;index&quot;,{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&amp;&amp;(t=e[e.length-1].left._count);for(var n=e.length-2;n&gt;=0;--n)e[n+1]===e[n].right&amp;&amp;(++t,e[n].left&amp;&amp;(t+=e[n].left._count));return t},enumerable:!0}),g.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&gt;0&amp;&amp;t[t.length-1].right===e;)e=t[t.length-1],t.pop()}},Object.defineProperty(g,&quot;hasNext&quot;,{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&gt;0;--e)if(t[e-1].left===t[e])return!0;return!1}}),g.update=function(t){var e=this._stack;if(0===e.length)throw new Error(&quot;Can't update empty node!&quot;);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&gt;=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])},g.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&gt;0&amp;&amp;t[t.length-1].left===e;)e=t[t.length-1],t.pop()}},Object.defineProperty(g,&quot;hasPrev&quot;,{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&gt;0;--e)if(t[e-1].right===t[e])return!0;return!1}})},{}],145:[function(t,e,r){function n(t){if(t&lt;0)return Number(&quot;0/0&quot;);for(var e=o[0],r=o.length-1;r&gt;0;--r)e+=o[r]/(t+r);var n=t+a+.5;return.5*Math.log(2*Math.PI)+(t+.5)*Math.log(n)-n+Math.log(e)-Math.log(t)}var i=[.9999999999998099,676.5203681218851,-1259.1392167224028,771.3234287776531,-176.6150291621406,12.507343278686905,-.13857109526572012,9984369578019572e-21,1.5056327351493116e-7],a=607/128,o=[.9999999999999971,57.15623566586292,-59.59796035547549,14.136097974741746,-.4919138160976202,3399464998481189e-20,4652362892704858e-20,-9837447530487956e-20,.0001580887032249125,-.00021026444172410488,.00021743961811521265,-.0001643181065367639,8441822398385275e-20,-26190838401581408e-21,36899182659531625e-22];e.exports=function t(e){if(e&lt;.5)return Math.PI/(Math.sin(Math.PI*e)*t(1-e));if(e&gt;100)return Math.exp(n(e));e-=1;for(var r=i[0],a=1;a&lt;9;a++)r+=i[a]/(e+a);var o=e+7+.5;return Math.sqrt(2*Math.PI)*Math.pow(o,e+.5)*Math.exp(-o)*r},e.exports.log=n},{}],146:[function(t,e,r){function n(t){var e=0;if(t&amp;&amp;t.length&gt;0){e+=Math.abs(i(t[0]));for(var r=1;r&lt;t.length;r++)e-=Math.abs(i(t[r]))}return e}function i(t){var e=0;if(t.length&gt;2){for(var r,n,i=0;i&lt;t.length-1;i++)r=t[i],e+=a((n=t[i+1])[0]-r[0])*(2+Math.sin(a(r[1]))+Math.sin(a(n[1])));e=e*o.RADIUS*o.RADIUS/2}return e}function a(t){return t*Math.PI/180}var o=t(&quot;wgs84&quot;);e.exports.geometry=function(t){if(&quot;Polygon&quot;===t.type)return n(t.coordinates);if(&quot;MultiPolygon&quot;===t.type){for(var e=0,r=0;r&lt;t.coordinates.length;r++)e+=n(t.coordinates[r]);return e}return null},e.exports.ring=i},{wgs84:579}],147:[function(t,e,r){function n(t,e){switch(t&amp;&amp;t.type||null){case&quot;FeatureCollection&quot;:return t.features=t.features.map(i(n,e)),t;case&quot;Feature&quot;:return t.geometry=n(t.geometry,e),t;case&quot;Polygon&quot;:case&quot;MultiPolygon&quot;:return function(t,e){&quot;Polygon&quot;===t.type?t.coordinates=a(t.coordinates,e):&quot;MultiPolygon&quot;===t.type&amp;&amp;(t.coordinates=t.coordinates.map(i(a,e)));return t}(t,e);default:return t}}function i(t,e){return function(r){return t(r,e)}}function a(t,e){e=!!e,t[0]=o(t[0],!e);for(var r=1;r&lt;t.length;r++)t[r]=o(t[r],e);return t}function o(t,e){return function(t){return s.ring(t)&gt;=0}(t)===e?t:t.reverse()}var s=t(&quot;geojson-area&quot;);e.exports=n},{&quot;geojson-area&quot;:146}],148:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,n,i){return e.length&amp;&amp;(e.area=r,e.dist=n,void 0!==i&amp;&amp;(e.outer=i),t.push(e)),[]}e.exports=function(t,e,r,a,o,s,l,c){if(r/=e,a/=e,l&gt;=r&amp;&amp;c&lt;=a)return t;if(l&gt;a||c&lt;r)return null;for(var u=[],f=0;f&lt;t.length;f++){var h,d,p=t[f],m=p.geometry,g=p.type;if(h=p.min[o],d=p.max[o],h&gt;=r&amp;&amp;d&lt;=a)u.push(p);else if(!(h&gt;a||d&lt;r)){var v=1===g?function(t,e,r,n){for(var i=[],a=0;a&lt;t.length;a++){var o=t[a],s=o[n];s&gt;=e&amp;&amp;s&lt;=r&amp;&amp;i.push(o)}return i}(m,r,a,o):function(t,e,r,i,a,o){for(var s=[],l=0;l&lt;t.length;l++){var c,u,f,h=0,d=0,p=null,m=t[l],g=m.area,v=m.dist,y=m.outer,x=m.length,b=[];for(u=0;u&lt;x-1;u++)c=p||m[u],p=m[u+1],h=d||c[i],d=p[i],h&lt;e?d&gt;r?(b.push(a(c,p,e),a(c,p,r)),o||(b=n(s,b,g,v,y))):d&gt;=e&amp;&amp;b.push(a(c,p,e)):h&gt;r?d&lt;e?(b.push(a(c,p,r),a(c,p,e)),o||(b=n(s,b,g,v,y))):d&lt;=r&amp;&amp;b.push(a(c,p,r)):(b.push(c),d&lt;e?(b.push(a(c,p,e)),o||(b=n(s,b,g,v,y))):d&gt;r&amp;&amp;(b.push(a(c,p,r)),o||(b=n(s,b,g,v,y))));c=m[x-1],(h=c[i])&gt;=e&amp;&amp;h&lt;=r&amp;&amp;b.push(c),f=b[b.length-1],o&amp;&amp;f&amp;&amp;(b[0][0]!==f[0]||b[0][1]!==f[1])&amp;&amp;b.push(b[0]),n(s,b,g,v,y)}return s}(m,r,a,o,s,3===g);v.length&amp;&amp;u.push(i(p.tags,g,v,p.id))}}return u.length?u:null};var i=t(&quot;./feature&quot;)},{&quot;./feature&quot;:150}],149:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r){if(null!==e.geometry){var o,l,c,u,f=e.geometry,h=f.type,d=f.coordinates,p=e.properties,m=e.id;if(&quot;Point&quot;===h)t.push(s(p,1,[a(d)],m));else if(&quot;MultiPoint&quot;===h)t.push(s(p,1,i(d),m));else if(&quot;LineString&quot;===h)t.push(s(p,2,[i(d,r)],m));else if(&quot;MultiLineString&quot;===h||&quot;Polygon&quot;===h){for(c=[],o=0;o&lt;d.length;o++)u=i(d[o],r),&quot;Polygon&quot;===h&amp;&amp;(u.outer=0===o),c.push(u);t.push(s(p,&quot;Polygon&quot;===h?3:2,c,m))}else if(&quot;MultiPolygon&quot;===h){for(c=[],o=0;o&lt;d.length;o++)for(l=0;l&lt;d[o].length;l++)(u=i(d[o][l],r)).outer=0===l,c.push(u);t.push(s(p,3,c,m))}else{if(&quot;GeometryCollection&quot;!==h)throw new Error(&quot;Input data is not a valid GeoJSON object.&quot;);for(o=0;o&lt;f.geometries.length;o++)n(t,{geometry:f.geometries[o],properties:p},r)}}}function i(t,e){for(var r=[],n=0;n&lt;t.length;n++)r.push(a(t[n]));return e&amp;&amp;(o(r,e),function(t){for(var e,r,n=0,i=0,a=0;a&lt;t.length-1;a++)e=r||t[a],r=t[a+1],n+=e[0]*r[1]-r[0]*e[1],i+=Math.abs(r[0]-e[0])+Math.abs(r[1]-e[1]);t.area=Math.abs(n/2),t.dist=i}(r)),r}function a(t){var e=Math.sin(t[1]*Math.PI/180),r=t[0]/360+.5,n=.5-.25*Math.log((1+e)/(1-e))/Math.PI;return n=n&lt;0?0:n&gt;1?1:n,[r,n,0]}e.exports=function(t,e){var r=[];if(&quot;FeatureCollection&quot;===t.type)for(var i=0;i&lt;t.features.length;i++)n(r,t.features[i],e);else&quot;Feature&quot;===t.type?n(r,t,e):n(r,{geometry:t},e);return r};var o=t(&quot;./simplify&quot;),s=t(&quot;./feature&quot;)},{&quot;./feature&quot;:150,&quot;./simplify&quot;:152}],150:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r){for(var n,i=0;i&lt;r.length;i++)n=r[i],t[0]=Math.min(n[0],t[0]),e[0]=Math.max(n[0],e[0]),t[1]=Math.min(n[1],t[1]),e[1]=Math.max(n[1],e[1])}e.exports=function(t,e,r,i){var a={id:i||null,type:e,geometry:r,tags:t||null,min:[1/0,1/0],max:[-1/0,-1/0]};return function(t){var e=t.geometry,r=t.min,i=t.max;if(1===t.type)n(r,i,e);else for(var a=0;a&lt;e.length;a++)n(r,i,e[a])}(a),a}},{}],151:[function(t,e,r){&quot;use strict&quot;;function n(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;r&amp;&amp;console.time(&quot;preprocess data&quot;);var n=1&lt;&lt;e.maxZoom,i=l(t,e.tolerance/(n*e.extent));this.tiles={},this.tileCoords=[],r&amp;&amp;(console.timeEnd(&quot;preprocess data&quot;),console.log(&quot;index: maxZoom: %d, maxPoints: %d&quot;,e.indexMaxZoom,e.indexMaxPoints),console.time(&quot;generate tiles&quot;),this.stats={},this.total=0),(i=f(i,e.buffer/e.extent,a)).length&amp;&amp;this.splitTile(i,0,0,0),r&amp;&amp;(i.length&amp;&amp;console.log(&quot;features: %d, points: %d&quot;,this.tiles[0].numFeatures,this.tiles[0].numPoints),console.timeEnd(&quot;generate tiles&quot;),console.log(&quot;tiles generated:&quot;,this.total,JSON.stringify(this.stats)))}function i(t,e,r){return 32*((1&lt;&lt;t)*r+e)+t}function a(t,e,r){return[r,(r-t[0])*(e[1]-t[1])/(e[0]-t[0])+t[1],1]}function o(t,e,r){return[(r-t[1])*(e[0]-t[0])/(e[1]-t[1])+t[0],r,1]}function s(t,e,r){var n=t.source;if(1!==n.length)return!1;var i=n[0];if(3!==i.type||i.geometry.length&gt;1)return!1;var a=i.geometry[0].length;if(5!==a)return!1;for(var o=0;o&lt;a;o++){var s=c.point(i.geometry[0][o],e,t.z2,t.x,t.y);if(s[0]!==-r&amp;&amp;s[0]!==e+r||s[1]!==-r&amp;&amp;s[1]!==e+r)return!1}return!0}e.exports=function(t,e){return new n(t,e)};var l=t(&quot;./convert&quot;),c=t(&quot;./transform&quot;),u=t(&quot;./clip&quot;),f=t(&quot;./wrap&quot;),h=t(&quot;./tile&quot;);n.prototype.options={maxZoom:14,indexMaxZoom:5,indexMaxPoints:1e5,solidChildren:!1,tolerance:3,extent:4096,buffer:64,debug:0},n.prototype.splitTile=function(t,e,r,n,l,c,f){for(var d=[t,e,r,n],p=this.options,m=p.debug,g=null;d.length;){n=d.pop(),r=d.pop(),e=d.pop(),t=d.pop();var v=1&lt;&lt;e,y=i(e,r,n),x=this.tiles[y],b=e===p.maxZoom?0:p.tolerance/(v*p.extent);if(!x&amp;&amp;(m&gt;1&amp;&amp;console.time(&quot;creation&quot;),x=this.tiles[y]=h(t,v,r,n,b,e===p.maxZoom),this.tileCoords.push({z:e,x:r,y:n}),m)){m&gt;1&amp;&amp;(console.log(&quot;tile z%d-%d-%d (features: %d, points: %d, simplified: %d)&quot;,e,r,n,x.numFeatures,x.numPoints,x.numSimplified),console.timeEnd(&quot;creation&quot;));var _=&quot;z&quot;+e;this.stats[_]=(this.stats[_]||0)+1,this.total++}if(x.source=t,l){if(e===p.maxZoom||e===l)continue;var w=1&lt;&lt;l-e;if(r!==Math.floor(c/w)||n!==Math.floor(f/w))continue}else if(e===p.indexMaxZoom||x.numPoints&lt;=p.indexMaxPoints)continue;if(p.solidChildren||!s(x,p.extent,p.buffer)){x.source=null,m&gt;1&amp;&amp;console.time(&quot;clipping&quot;);var M,k,A,T,S,E,L=.5*p.buffer/p.extent,C=.5-L,z=.5+L,D=1+L;M=k=A=T=null,S=u(t,v,r-L,r+z,0,a,x.min[0],x.max[0]),E=u(t,v,r+C,r+D,0,a,x.min[0],x.max[0]),S&amp;&amp;(M=u(S,v,n-L,n+z,1,o,x.min[1],x.max[1]),k=u(S,v,n+C,n+D,1,o,x.min[1],x.max[1])),E&amp;&amp;(A=u(E,v,n-L,n+z,1,o,x.min[1],x.max[1]),T=u(E,v,n+C,n+D,1,o,x.min[1],x.max[1])),m&gt;1&amp;&amp;console.timeEnd(&quot;clipping&quot;),t.length&amp;&amp;(d.push(M||[],e+1,2*r,2*n),d.push(k||[],e+1,2*r,2*n+1),d.push(A||[],e+1,2*r+1,2*n),d.push(T||[],e+1,2*r+1,2*n+1))}else l&amp;&amp;(g=e)}return g},n.prototype.getTile=function(t,e,r){var n=this.options,a=n.extent,o=n.debug,l=1&lt;&lt;t,u=i(t,e=(e%l+l)%l,r);if(this.tiles[u])return c.tile(this.tiles[u],a);o&gt;1&amp;&amp;console.log(&quot;drilling down to z%d-%d-%d&quot;,t,e,r);for(var f,h=t,d=e,p=r;!f&amp;&amp;h&gt;0;)h--,d=Math.floor(d/2),p=Math.floor(p/2),f=this.tiles[i(h,d,p)];if(!f||!f.source)return null;if(o&gt;1&amp;&amp;console.log(&quot;found parent tile z%d-%d-%d&quot;,h,d,p),s(f,a,n.buffer))return c.tile(f,a);o&gt;1&amp;&amp;console.time(&quot;drilling down&quot;);var m=this.splitTile(f.source,h,d,p,t,e,r);if(o&gt;1&amp;&amp;console.timeEnd(&quot;drilling down&quot;),null!==m){var g=1&lt;&lt;t-m;u=i(m,Math.floor(e/g),Math.floor(r/g))}return this.tiles[u]?c.tile(this.tiles[u],a):null}},{&quot;./clip&quot;:148,&quot;./convert&quot;:149,&quot;./tile&quot;:153,&quot;./transform&quot;:154,&quot;./wrap&quot;:155}],152:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t,e){var r,n,i,a,o=e*e,s=0,l=t.length-1,c=[];for(t[s][2]=1,t[l][2]=1;l;){for(n=0,r=s+1;r&lt;l;r++)(i=function(t,e,r){var n=e[0],i=e[1],a=r[0],o=r[1],s=t[0],l=t[1],c=a-n,u=o-i;if(0!==c||0!==u){var f=((s-n)*c+(l-i)*u)/(c*c+u*u);f&gt;1?(n=a,i=o):f&gt;0&amp;&amp;(n+=c*f,i+=u*f)}return c=s-n,u=l-i,c*c+u*u}(t[r],t[s],t[l]))&gt;n&amp;&amp;(a=r,n=i);n&gt;o?(t[a][2]=n,c.push(s),c.push(a),s=a):(l=c.pop(),s=c.pop())}}},{}],153:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t,e,r,n,i,a){for(var o={features:[],numPoints:0,numSimplified:0,numFeatures:0,source:null,x:r,y:n,z2:e,transformed:!1,min:[2,1],max:[-1,0]},s=0;s&lt;t.length;s++){o.numFeatures++,function(t,e,r,n){var i,a,o,s,l=e.geometry,c=e.type,u=[],f=r*r;if(1===c)for(i=0;i&lt;l.length;i++)u.push(l[i]),t.numPoints++,t.numSimplified++;else for(i=0;i&lt;l.length;i++)if(o=l[i],n||!(2===c&amp;&amp;o.dist&lt;r||3===c&amp;&amp;o.area&lt;f)){var h=[];for(a=0;a&lt;o.length;a++)s=o[a],(n||s[2]&gt;f)&amp;&amp;(h.push(s),t.numSimplified++),t.numPoints++;3===c&amp;&amp;function(t,e){(function(t){for(var e,r,n=0,i=0,a=t.length,o=a-1;i&lt;a;o=i++)e=t[i],r=t[o],n+=(r[0]-e[0])*(e[1]+r[1]);return n})(t)&lt;0===e&amp;&amp;t.reverse()}(h,o.outer),u.push(h)}else t.numPoints+=o.length;if(u.length){var d={geometry:u,type:c,tags:e.tags||null};null!==e.id&amp;&amp;(d.id=e.id),t.features.push(d)}}(o,t[s],i,a);var l=t[s].min,c=t[s].max;l[0]&lt;o.min[0]&amp;&amp;(o.min[0]=l[0]),l[1]&lt;o.min[1]&amp;&amp;(o.min[1]=l[1]),c[0]&gt;o.max[0]&amp;&amp;(o.max[0]=c[0]),c[1]&gt;o.max[1]&amp;&amp;(o.max[1]=c[1])}return o}},{}],154:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,n,i){return[Math.round(e*(t[0]*r-n)),Math.round(e*(t[1]*r-i))]}r.tile=function(t,e){if(t.transformed)return t;var r,i,a,o=t.z2,s=t.x,l=t.y;for(r=0;r&lt;t.features.length;r++){var c=t.features[r],u=c.geometry;if(1===c.type)for(i=0;i&lt;u.length;i++)u[i]=n(u[i],e,o,s,l);else for(i=0;i&lt;u.length;i++){var f=u[i];for(a=0;a&lt;f.length;a++)f[a]=n(f[a],e,o,s,l)}}return t.transformed=!0,t},r.point=n},{}],155:[function(t,e,r){&quot;use strict&quot;;function n(t,e){for(var r=[],n=0;n&lt;t.length;n++){var a,s=t[n],l=s.type;if(1===l)a=i(s.geometry,e);else{a=[];for(var c=0;c&lt;s.geometry.length;c++)a.push(i(s.geometry[c],e))}r.push(o(s.tags,l,a,s.id))}return r}function i(t,e){var r=[];r.area=t.area,r.dist=t.dist;for(var n=0;n&lt;t.length;n++)r.push([t[n][0]+e,t[n][1],t[n][2]]);return r}var a=t(&quot;./clip&quot;),o=t(&quot;./feature&quot;);e.exports=function(t,e,r){var i=t,o=a(t,1,-1-e,e,0,r,-1,2),s=a(t,1,1-e,2+e,0,r,-1,2);return(o||s)&amp;&amp;(i=a(t,1,-e,1+e,0,r,-1,2)||[],o&amp;&amp;(i=n(o,1).concat(i)),s&amp;&amp;(i=i.concat(n(s,-1)))),i}},{&quot;./clip&quot;:148,&quot;./feature&quot;:150}],156:[function(t,e,r){e.exports=function(t,e){if(&quot;string&quot;!=typeof t)throw new TypeError(&quot;must specify type string&quot;);if(e=e||{},&quot;undefined&quot;==typeof document&amp;&amp;!e.canvas)return null;var r=e.canvas||document.createElement(&quot;canvas&quot;);&quot;number&quot;==typeof e.width&amp;&amp;(r.width=e.width),&quot;number&quot;==typeof e.height&amp;&amp;(r.height=e.height);var n,i=e;try{var a=[t];0===t.indexOf(&quot;webgl&quot;)&amp;&amp;a.push(&quot;experimental-&quot;+t);for(var o=0;o&lt;a.length;o++)if(n=r.getContext(a[o],i))return n}catch(t){n=null}return n||null}},{}],157:[function(t,e,r){&quot;use strict&quot;;function n(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t}function i(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=[&quot;sans-serif&quot;,&quot;sans-serif&quot;,&quot;sans-serif&quot;],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=[10,10,10],this.lastCubeProps={cubeEdges:[0,0,0],axis:[0,0,0]},this.labels=[&quot;x&quot;,&quot;y&quot;,&quot;z&quot;],this.labelEnable=[!0,!0,!0],this.labelFont=&quot;sans-serif&quot;,this.labelSize=[20,20,20],this.labelAngle=[0,0,0],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=c(t)}function a(){this.primalOffset=[0,0,0],this.primalMinor=[0,0,0],this.mirrorOffset=[0,0,0],this.mirrorMinor=[0,0,0]}function o(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&lt;3;++u)if(e!==u){var f=a,h=s,d=o,p=l;c&amp;1&lt;&lt;u&amp;&amp;(f=s,h=a,d=l,p=o),f[u]=r[0][u],h[u]=r[1][u],i[u]&gt;0?(d[u]=-1,p[u]=0):(d[u]=0,p[u]=1)}}e.exports=function(t,e){var r=new i(t);return r.update(e),r};var s=t(&quot;./lib/text.js&quot;),l=t(&quot;./lib/lines.js&quot;),c=t(&quot;./lib/background.js&quot;),u=t(&quot;./lib/cube.js&quot;),f=t(&quot;./lib/ticks.js&quot;),h=new Float32Array([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]),d=i.prototype;d.update=function(t){function e(e,r,n){if(n in t){var i,a=t[n],o=this[n];(e?Array.isArray(a)&amp;&amp;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&lt;3;++s)if(i[s]!==o[s])return!0}return!1}t=t||{};var r,n=e.bind(this,!1,Number),i=e.bind(this,!1,Boolean),a=e.bind(this,!1,String),o=e.bind(this,!0,function(t){if(Array.isArray(t)){if(3===t.length)return[+t[0],+t[1],+t[2],1];if(4===t.length)return[+t[0],+t[1],+t[2],+t[3]]}return[0,0,0,1]}),c=!1,u=!1;if(&quot;bounds&quot;in t)for(var h=t.bounds,d=0;d&lt;2;++d)for(var p=0;p&lt;3;++p)h[d][p]!==this.bounds[d][p]&amp;&amp;(u=!0),this.bounds[d][p]=h[d][p];if(&quot;ticks&quot;in t){r=t.ticks,c=!0,this.autoTicks=!1;for(d=0;d&lt;3;++d)this.tickSpacing[d]=0}else n(&quot;tickSpacing&quot;)&amp;&amp;(this.autoTicks=!0,u=!0);if(this._firstInit&amp;&amp;(&quot;ticks&quot;in t||&quot;tickSpacing&quot;in t||(this.autoTicks=!0),u=!0,c=!0,this._firstInit=!1),u&amp;&amp;this.autoTicks&amp;&amp;(r=f.create(this.bounds,this.tickSpacing),c=!0),c){for(d=0;d&lt;3;++d)r[d].sort(function(t,e){return t.x-e.x});f.equal(r,this.ticks)?c=!1:this.ticks=r}i(&quot;tickEnable&quot;),a(&quot;tickFont&quot;)&amp;&amp;(c=!0),n(&quot;tickSize&quot;),n(&quot;tickAngle&quot;),n(&quot;tickPad&quot;),o(&quot;tickColor&quot;);var m=a(&quot;labels&quot;);a(&quot;labelFont&quot;)&amp;&amp;(m=!0),i(&quot;labelEnable&quot;),n(&quot;labelSize&quot;),n(&quot;labelPad&quot;),o(&quot;labelColor&quot;),i(&quot;lineEnable&quot;),i(&quot;lineMirror&quot;),n(&quot;lineWidth&quot;),o(&quot;lineColor&quot;),i(&quot;lineTickEnable&quot;),i(&quot;lineTickMirror&quot;),n(&quot;lineTickLength&quot;),n(&quot;lineTickWidth&quot;),o(&quot;lineTickColor&quot;),i(&quot;gridEnable&quot;),n(&quot;gridWidth&quot;),o(&quot;gridColor&quot;),i(&quot;zeroEnable&quot;),o(&quot;zeroLineColor&quot;),n(&quot;zeroLineWidth&quot;),i(&quot;backgroundEnable&quot;),o(&quot;backgroundColor&quot;),this._text?this._text&amp;&amp;(m||c)&amp;&amp;this._text.update(this.bounds,this.labels,this.labelFont,this.ticks,this.tickFont):this._text=s(this.gl,this.bounds,this.labels,this.labelFont,this.ticks,this.tickFont),this._lines&amp;&amp;c&amp;&amp;(this._lines.dispose(),this._lines=null),this._lines||(this._lines=l(this.gl,this.bounds,this.ticks))};var p=[new a,new a,new a],m=[0,0,0],g={model:h,view:h,projection:h};d.isOpaque=function(){return!0},d.isTransparent=function(){return!1},d.drawTransparent=function(t){};var v=[0,0,0],y=[0,0,0],x=[0,0,0];d.draw=function(t){t=t||g;for(var e=this.gl,r=t.model||h,i=t.view||h,a=t.projection||h,s=this.bounds,l=u(r,i,a,s),c=l.cubeEdges,f=l.axis,d=i[12],b=i[13],_=i[14],w=i[15],M=this.pixelRatio*(a[3]*d+a[7]*b+a[11]*_+a[15]*w)/e.drawingBufferHeight,k=0;k&lt;3;++k)this.lastCubeProps.cubeEdges[k]=c[k],this.lastCubeProps.axis[k]=f[k];var A=p;for(k=0;k&lt;3;++k)o(p[k],k,this.bounds,c,f);e=this.gl;var T=m;for(k=0;k&lt;3;++k)this.backgroundEnable[k]?T[k]=f[k]:T[k]=0;this._background.draw(r,i,a,s,T,this.backgroundColor),this._lines.bind(r,i,a,this);for(k=0;k&lt;3;++k){var S=[0,0,0];f[k]&gt;0?S[k]=s[1][k]:S[k]=s[0][k];for(var E=0;E&lt;2;++E){var L=(k+1+E)%3,C=(k+1+(1^E))%3;this.gridEnable[L]&amp;&amp;this._lines.drawGrid(L,C,this.bounds,S,this.gridColor[L],this.gridWidth[L]*this.pixelRatio)}for(E=0;E&lt;2;++E){L=(k+1+E)%3,C=(k+1+(1^E))%3;this.zeroEnable[C]&amp;&amp;s[0][C]&lt;=0&amp;&amp;s[1][C]&gt;=0&amp;&amp;this._lines.drawZero(L,C,this.bounds,S,this.zeroLineColor[C],this.zeroLineWidth[C]*this.pixelRatio)}}for(k=0;k&lt;3;++k){this.lineEnable[k]&amp;&amp;this._lines.drawAxisLine(k,this.bounds,A[k].primalOffset,this.lineColor[k],this.lineWidth[k]*this.pixelRatio),this.lineMirror[k]&amp;&amp;this._lines.drawAxisLine(k,this.bounds,A[k].mirrorOffset,this.lineColor[k],this.lineWidth[k]*this.pixelRatio);var z=n(v,A[k].primalMinor),D=n(y,A[k].mirrorMinor),I=this.lineTickLength;for(E=0;E&lt;3;++E){var P=M/r[5*E];z[E]*=I[E]*P,D[E]*=I[E]*P}this.lineTickEnable[k]&amp;&amp;this._lines.drawAxisTicks(k,A[k].primalOffset,z,this.lineTickColor[k],this.lineTickWidth[k]*this.pixelRatio),this.lineTickMirror[k]&amp;&amp;this._lines.drawAxisTicks(k,A[k].mirrorOffset,D,this.lineTickColor[k],this.lineTickWidth[k]*this.pixelRatio)}this._text.bind(r,i,a,this.pixelRatio);for(k=0;k&lt;3;++k){var O=A[k].primalMinor,F=n(x,A[k].primalOffset);for(E=0;E&lt;3;++E)this.lineTickEnable[k]&amp;&amp;(F[E]+=M*O[E]*Math.max(this.lineTickLength[E],0)/r[5*E]);if(this.tickEnable[k]){for(E=0;E&lt;3;++E)F[E]+=M*O[E]*this.tickPad[E]/r[5*E];this._text.drawTicks(k,this.tickSize[k],this.tickAngle[k],F,this.tickColor[k])}if(this.labelEnable[k]){for(E=0;E&lt;3;++E)F[E]+=M*O[E]*this.labelPad[E]/r[5*E];F[k]+=.5*(s[0][k]+s[1][k]),this._text.drawLabel(k,this.labelSize[k],this.labelAngle[k],F,this.labelColor[k])}}},d.dispose=function(){this._text.dispose(),this._lines.dispose(),this._background.dispose(),this._lines=null,this._text=null,this._background=null,this.gl=null}},{&quot;./lib/background.js&quot;:158,&quot;./lib/cube.js&quot;:159,&quot;./lib/lines.js&quot;:160,&quot;./lib/text.js&quot;:162,&quot;./lib/ticks.js&quot;:163}],158:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,n){this.gl=t,this.buffer=e,this.vao=r,this.shader=n}e.exports=function(t){for(var e=[],r=[],s=0,l=0;l&lt;3;++l)for(var c=(l+1)%3,u=(l+2)%3,f=[0,0,0],h=[0,0,0],d=-1;d&lt;=1;d+=2){r.push(s,s+2,s+1,s+1,s+2,s+3),f[l]=d,h[l]=d;for(var p=-1;p&lt;=1;p+=2){f[c]=p;for(var m=-1;m&lt;=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=i(t,new Float32Array(e)),y=i(t,new Uint16Array(r),t.ELEMENT_ARRAY_BUFFER),x=a(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=o(t);return b.attributes.position.location=0,b.attributes.normal.location=1,new n(t,v,x,b)};var i=t(&quot;gl-buffer&quot;),a=t(&quot;gl-vao&quot;),o=t(&quot;./shaders&quot;).bg,s=n.prototype;s.draw=function(t,e,r,n,i,a){for(var o=!1,s=0;s&lt;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),l.disable(l.POLYGON_OFFSET_FILL)}},s.dispose=function(){this.vao.dispose(),this.buffer.dispose(),this.shader.dispose()}},{&quot;./shaders&quot;:161,&quot;gl-buffer&quot;:165,&quot;gl-vao&quot;:259}],159:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r){for(var n=0;n&lt;4;++n){t[n]=r[12+n];for(var i=0;i&lt;3;++i)t[n]+=e[i]*r[4*i+n]}}function i(t){for(var e=0;e&lt;p.length;++e)if((t=s.positive(t,p[e])).length&lt;3)return 0;var r=t[0],n=r[0]/r[3],i=r[1]/r[3],a=0;for(e=1;e+1&lt;t.length;++e){var o=t[e],l=t[e+1],c=o[0]/o[3]-n,u=o[1]/o[3]-i,f=l[0]/l[3]-n,h=l[1]/l[3]-i;a+=Math.abs(c*h-u*f)}return a}e.exports=function(t,e,r,s){o(c,e,t),o(c,r,c);for(var p=0,y=0;y&lt;2;++y){h[2]=s[y][2];for(var x=0;x&lt;2;++x){h[1]=s[x][1];for(var b=0;b&lt;2;++b)h[0]=s[b][0],n(u[p],h,c),p+=1}}var _=-1;for(y=0;y&lt;8;++y){for(var w=u[y][3],M=0;M&lt;3;++M)f[y][M]=u[y][M]/w;w&lt;0&amp;&amp;(_&lt;0?_=y:f[y][2]&lt;f[_][2]&amp;&amp;(_=y))}if(_&lt;0){_=0;for(var k=0;k&lt;3;++k){for(var A=(k+2)%3,T=(k+1)%3,S=-1,E=-1,L=0;L&lt;2;++L){var C=(D=L&lt;&lt;k)+(L&lt;&lt;A)+(1-L&lt;&lt;T),z=D+(1-L&lt;&lt;A)+(L&lt;&lt;T);l(f[D],f[C],f[z],d)&lt;0||(L?S=1:E=1)}if(S&lt;0||E&lt;0)E&gt;S&amp;&amp;(_|=1&lt;&lt;k);else{for(L=0;L&lt;2;++L){C=(D=L&lt;&lt;k)+(L&lt;&lt;A)+(1-L&lt;&lt;T),z=D+(1-L&lt;&lt;A)+(L&lt;&lt;T);var D,I=i([u[D],u[C],u[z],u[D+(1&lt;&lt;A)+(1&lt;&lt;T)]]);L?S=I:E=I}E&gt;S&amp;&amp;(_|=1&lt;&lt;k)}}}var P=7^_,O=-1;for(y=0;y&lt;8;++y)y!==_&amp;&amp;y!==P&amp;&amp;(O&lt;0?O=y:f[O][1]&gt;f[y][1]&amp;&amp;(O=y));var F=-1;for(y=0;y&lt;3;++y)(N=O^1&lt;&lt;y)!==_&amp;&amp;N!==P&amp;&amp;(F&lt;0&amp;&amp;(F=N),(T=f[N])[0]&lt;f[F][0]&amp;&amp;(F=N));var R=-1;for(y=0;y&lt;3;++y){var N;(N=O^1&lt;&lt;y)!==_&amp;&amp;N!==P&amp;&amp;N!==F&amp;&amp;(R&lt;0&amp;&amp;(R=N),(T=f[N])[0]&gt;f[R][0]&amp;&amp;(R=N))}var j=m;j[0]=j[1]=j[2]=0,j[a.log2(F^O)]=O&amp;F,j[a.log2(O^R)]=O&amp;R;var B=7^R;B===_||B===P?(B=7^F,j[a.log2(R^B)]=B&amp;R):j[a.log2(F^B)]=B&amp;F;var U=g,V=_;for(k=0;k&lt;3;++k)U[k]=V&amp;1&lt;&lt;k?-1:1;return v};var a=t(&quot;bit-twiddle&quot;),o=t(&quot;gl-mat4/multiply&quot;),s=(t(&quot;gl-mat4/invert&quot;),t(&quot;split-polygon&quot;)),l=t(&quot;robust-orientation&quot;),c=new Array(16),u=(new Array(16),new Array(8)),f=new Array(8),h=new Array(3),d=[0,0,0];!function(){for(var t=0;t&lt;8;++t)u[t]=[1,1,1,1],f[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]],m=[1,1,1],g=[0,0,0],v={cubeEdges:m,axis:g}},{&quot;bit-twiddle&quot;:71,&quot;gl-mat4/invert&quot;:186,&quot;gl-mat4/multiply&quot;:188,&quot;robust-orientation&quot;:515,&quot;split-polygon&quot;:535}],160:[function(t,e,r){&quot;use strict&quot;;function n(t){return t[0]=t[1]=t[2]=0,t}function i(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t}function a(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}e.exports=function(t,e,r){var n=[],i=[0,0,0],c=[0,0,0],u=[0,0,0],f=[0,0,0];n.push(0,0,1,0,1,1,0,0,-1,0,0,-1,0,1,1,0,1,-1);for(var h=0;h&lt;3;++h){for(var d=n.length/3|0,p=0;p&lt;r[h].length;++p){var m=+r[h][p].x;n.push(m,0,1,m,1,1,m,0,-1,m,0,-1,m,1,1,m,1,-1)}var g=n.length/3|0;i[h]=d,c[h]=g-d,d=n.length/3|0;for(var v=0;v&lt;r[h].length;++v)m=+r[h][v].x,n.push(m,0,1,m,1,1,m,0,-1,m,0,-1,m,1,1,m,1,-1);g=n.length/3|0,u[h]=d,f[h]=g-d}var y=o(t,new Float32Array(n)),x=s(t,[{buffer:y,type:t.FLOAT,size:3,stride:0,offset:0}]),b=l(t);return b.attributes.position.location=0,new a(t,y,x,b,c,i,f,u)};var o=t(&quot;gl-buffer&quot;),s=t(&quot;gl-vao&quot;),l=t(&quot;./shaders&quot;).line,c=[0,0,0],u=[0,0,0],f=[0,0,0],h=[0,0,0],d=[1,1],p=a.prototype;p.bind=function(t,e,r){this.shader.bind(),this.shader.uniforms.model=t,this.shader.uniforms.view=e,this.shader.uniforms.projection=r,d[0]=this.gl.drawingBufferWidth,d[1]=this.gl.drawingBufferHeight,this.shader.uniforms.screenShape=d,this.vao.bind()},p.drawAxisLine=function(t,e,r,a,o){var s=n(u);this.shader.uniforms.majorAxis=u,s[t]=e[1][t]-e[0][t],this.shader.uniforms.minorAxis=s;var l=i(h,r);l[t]+=e[0][t],this.shader.uniforms.offset=l,this.shader.uniforms.lineWidth=o,this.shader.uniforms.color=a;(c=n(f))[(t+2)%3]=1,this.shader.uniforms.screenAxis=c,this.vao.draw(this.gl.TRIANGLES,6);var c;(c=n(f))[(t+1)%3]=1,this.shader.uniforms.screenAxis=c,this.vao.draw(this.gl.TRIANGLES,6)},p.drawAxisTicks=function(t,e,r,i,a){if(this.tickCount[t]){var o=n(c);o[t]=1,this.shader.uniforms.majorAxis=o,this.shader.uniforms.offset=e,this.shader.uniforms.minorAxis=r,this.shader.uniforms.color=i,this.shader.uniforms.lineWidth=a;var s=n(f);s[t]=1,this.shader.uniforms.screenAxis=s,this.vao.draw(this.gl.TRIANGLES,this.tickCount[t],this.tickOffset[t])}},p.drawGrid=function(t,e,r,a,o,s){if(this.gridCount[t]){var l=n(u);l[e]=r[1][e]-r[0][e],this.shader.uniforms.minorAxis=l;var d=i(h,a);d[e]+=r[0][e],this.shader.uniforms.offset=d;var p=n(c);p[t]=1,this.shader.uniforms.majorAxis=p;var m=n(f);m[t]=1,this.shader.uniforms.screenAxis=m,this.shader.uniforms.lineWidth=s,this.shader.uniforms.color=o,this.vao.draw(this.gl.TRIANGLES,this.gridCount[t],this.gridOffset[t])}},p.drawZero=function(t,e,r,a,o,s){var l=n(u);this.shader.uniforms.majorAxis=l,l[t]=r[1][t]-r[0][t],this.shader.uniforms.minorAxis=l;var c=i(h,a);c[t]+=r[0][t],this.shader.uniforms.offset=c;var d=n(f);d[e]=1,this.shader.uniforms.screenAxis=d,this.shader.uniforms.lineWidth=s,this.shader.uniforms.color=o,this.vao.draw(this.gl.TRIANGLES,6)},p.dispose=function(){this.vao.dispose(),this.vertBuffer.dispose(),this.shader.dispose()}},{&quot;./shaders&quot;:161,&quot;gl-buffer&quot;:165,&quot;gl-vao&quot;:259}],161:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;gl-shader&quot;);r.line=function(t){return n(t,&quot;#define GLSLIFY 1\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&quot;,&quot;precision mediump float;\n#define GLSLIFY 1\nuniform vec4 color;\nvoid main() {\n  gl_FragColor = color;\n}&quot;,null,[{name:&quot;position&quot;,type:&quot;vec3&quot;}])};r.text=function(t){return n(t,&quot;#define GLSLIFY 1\nattribute vec3 position;\n\nuniform mat4 model, view, projection;\nuniform vec3 offset, axis;\nuniform float scale, angle, pixelScale;\nuniform vec2 resolution;\n\nvoid main() {  \n  //Compute plane offset\n  vec2 planeCoord = position.xy * pixelScale;\n  mat2 planeXform = scale * mat2(cos(angle), sin(angle),\n                                -sin(angle), cos(angle));\n  vec2 viewOffset = 2.0 * planeXform * planeCoord / resolution;\n\n  //Compute world offset\n  float axisDistance = position.z;\n  vec3 dataPosition = axisDistance * axis + offset;\n  vec4 worldPosition = model * vec4(dataPosition, 1);\n  \n  //Compute clip position\n  vec4 viewPosition = view * worldPosition;\n  vec4 clipPosition = projection * viewPosition;\n  clipPosition /= clipPosition.w;\n\n  //Apply text offset in clip coordinates\n  clipPosition += vec4(viewOffset, 0, 0);\n\n  //Done\n  gl_Position = clipPosition;\n}&quot;,&quot;precision mediump float;\n#define GLSLIFY 1\nuniform vec4 color;\nvoid main() {\n  gl_FragColor = color;\n}&quot;,null,[{name:&quot;position&quot;,type:&quot;vec3&quot;}])};r.bg=function(t){return n(t,&quot;#define GLSLIFY 1\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  if(dot(normal, enable) &gt; 0.0) {\n    vec3 nPosition = mix(bounds[0], bounds[1], 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  colorChannel = abs(normal);\n}&quot;,&quot;precision mediump 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}&quot;,null,[{name:&quot;position&quot;,type:&quot;vec3&quot;},{name:&quot;normal&quot;,type:&quot;vec3&quot;}])}},{&quot;gl-shader&quot;:243}],162:[function(t,e,r){(function(r){&quot;use strict&quot;;function n(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}e.exports=function(t,e,r,o,l,c){var u=i(t),f=a(t,[{buffer:u,size:3}]),h=s(t);h.attributes.position.location=0;var d=new n(t,h,u,f);return d.update(e,r,o,l,c),d};var i=t(&quot;gl-buffer&quot;),a=t(&quot;gl-vao&quot;),o=t(&quot;vectorize-text&quot;),s=t(&quot;./shaders&quot;).text,l=window||r.global||{},c=l.__TEXT_CACHE||{};l.__TEXT_CACHE={};var u=n.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.update=function(t,e,r,n,i){function a(t,e,r,n){var i=c[r];i||(i=c[r]={});var a=i[e];a||(a=i[e]=function(t,e){try{return o(t,e)}catch(t){return console.warn(&quot;error vectorizing text:&quot;,t),{cells:[],positions:[]}}}(e,{triangles:!0,font:r,textAlign:&quot;center&quot;,textBaseline:&quot;middle&quot;}));for(var l=(n||12)/12,u=a.positions,f=a.cells,h=0,d=f.length;h&lt;d;++h)for(var p=f[h],m=2;m&gt;=0;--m){var g=u[p[m]];s.push(l*g[0],-l*g[1],t)}}this.gl;for(var s=[],l=[0,0,0],u=[0,0,0],f=[0,0,0],h=[0,0,0],d=0;d&lt;3;++d){f[d]=s.length/3|0,a(.5*(t[0][d]+t[1][d]),e[d],r),h[d]=(s.length/3|0)-f[d],l[d]=s.length/3|0;for(var p=0;p&lt;n[d].length;++p)n[d][p].text&amp;&amp;a(n[d][p].x,n[d][p].text,n[d][p].font||i,n[d][p].fontSize||12);u[d]=(s.length/3|0)-l[d]}this.buffer.update(s),this.tickOffset=l,this.tickCount=u,this.labelOffset=f,this.labelCount=h};var h=[0,0,0];u.drawTicks=function(t,e,r,n,i){if(this.tickCount[t]){var a=h;a[0]=a[1]=a[2]=0,a[t]=1,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.vao.draw(this.gl.TRIANGLES,this.tickCount[t],this.tickOffset[t])}};var d=[0,0,0];u.drawLabel=function(t,e,r,n,i){this.labelCount[t]&amp;&amp;(this.shader.uniforms.axis=d,this.shader.uniforms.color=i,this.shader.uniforms.angle=r,this.shader.uniforms.scale=e,this.shader.uniforms.offset=n,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,t(&quot;_process&quot;))},{&quot;./shaders&quot;:161,_process:488,&quot;gl-buffer&quot;:165,&quot;gl-vao&quot;:259,&quot;vectorize-text&quot;:568}],163:[function(t,e,r){&quot;use strict&quot;;function n(t,e){var r=t+&quot;&quot;,n=r.indexOf(&quot;.&quot;),i=0;n&gt;=0&amp;&amp;(i=r.length-n-1);var a=Math.pow(10,i),o=Math.round(t*e*a),s=o+&quot;&quot;;if(s.indexOf(&quot;e&quot;)&gt;=0)return s;var l=o/a,c=o%a;o&lt;0?(l=0|-Math.ceil(l),c=0|-c):(l=0|Math.floor(l),c|=0);var u=&quot;&quot;+l;if(o&lt;0&amp;&amp;(u=&quot;-&quot;+u),i){for(var f=&quot;&quot;+c;f.length&lt;i;)f=&quot;0&quot;+f;return u+&quot;.&quot;+f}return u}r.create=function(t,e){for(var r=[],i=0;i&lt;3;++i){for(var a=[],o=(t[0][i],t[1][i],0);o*e[i]&lt;=t[1][i];++o)a.push({x:o*e[i],text:n(e[i],o)});for(o=-1;o*e[i]&gt;=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&lt;3;++r){if(t[r].length!==e[r].length)return!1;for(var n=0;n&lt;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}},{}],164:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r){this.lo=t,this.hi=e,this.pixelsPerDataUnit=r}function i(t,e,r,n,i){for(var a=0;a&lt;3;++a){for(var o=d,s=p,l=0;l&lt;3;++l)s[l]=o[l]=r[l];s[3]=o[3]=1,s[a]+=1,u(s,s,e),s[3]&lt;0&amp;&amp;(t[a]=1/0),o[a]-=1,u(o,o,e),o[3]&lt;0&amp;&amp;(t[a]=1/0);var c=(o[0]/o[3]-s[0]/s[3])*n,f=(o[1]/o[3]-s[1]/s[3])*i;t[a]=.25*Math.sqrt(c*c+f*f)}return t}e.exports=function(t,e,r,n,u){var d=e.model||f,p=e.view||f,v=e.projection||f,y=t.bounds,x=(u=u||s(d,p,v,y)).axis;u.edges,l(h,p,d),l(h,v,h);for(var b=m,_=0;_&lt;3;++_)b[_].lo=1/0,b[_].hi=-1/0,b[_].pixelsPerDataUnit=1/0;var w=a(c(h,h));c(h,h);for(var M=0;M&lt;3;++M){var k=(M+1)%3,A=(M+2)%3,T=g;t:for(_=0;_&lt;2;++_){var S=[];if(x[M]&lt;0!=!!_){T[M]=y[_][M];for(var E=0;E&lt;2;++E){T[k]=y[E^_][k];for(var L=0;L&lt;2;++L)T[A]=y[L^E^_][A],S.push(T.slice())}for(E=0;E&lt;w.length;++E){if(0===S.length)continue t;S=o.positive(S,w[E])}for(E=0;E&lt;S.length;++E){A=S[E];var C=i(g,h,A,r,n);for(L=0;L&lt;3;++L)b[L].lo=Math.min(b[L].lo,A[L]),b[L].hi=Math.max(b[L].hi,A[L]),L!==M&amp;&amp;(b[L].pixelsPerDataUnit=Math.min(b[L].pixelsPerDataUnit,Math.abs(C[L])))}}}}return b};var a=t(&quot;extract-frustum-planes&quot;),o=t(&quot;split-polygon&quot;),s=t(&quot;./lib/cube.js&quot;),l=t(&quot;gl-mat4/multiply&quot;),c=t(&quot;gl-mat4/transpose&quot;),u=t(&quot;gl-vec4/transformMat4&quot;),f=new Float32Array([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]),h=new Float32Array(16),d=[0,0,0,1],p=[0,0,0,1],m=[new n(1/0,-1/0,1/0),new n(1/0,-1/0,1/0),new n(1/0,-1/0,1/0)],g=[0,0,0]},{&quot;./lib/cube.js&quot;:159,&quot;extract-frustum-planes&quot;:139,&quot;gl-mat4/multiply&quot;:188,&quot;gl-mat4/transpose&quot;:196,&quot;gl-vec4/transformMat4&quot;:265,&quot;split-polygon&quot;:535}],165:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,n,i){this.gl=t,this.type=e,this.handle=r,this.length=n,this.usage=i}function i(t,e,r,n,i,a){var o=i.length*i.BYTES_PER_ELEMENT;if(a&lt;0)return t.bufferData(e,i,n),o;if(o+a&gt;r)throw new Error(&quot;gl-buffer: If resizing buffer, must not specify offset&quot;);return t.bufferSubData(e,a,i),r}function a(t,e){for(var r=o.malloc(t.length,e),n=t.length,i=0;i&lt;n;++i)r[i]=t[i];return r}var o=t(&quot;typedarray-pool&quot;),s=t(&quot;ndarray-ops&quot;),l=t(&quot;ndarray&quot;),c=[&quot;uint8&quot;,&quot;uint8_clamped&quot;,&quot;uint16&quot;,&quot;uint32&quot;,&quot;int8&quot;,&quot;int16&quot;,&quot;int32&quot;,&quot;float32&quot;],u=n.prototype;u.bind=function(){this.gl.bindBuffer(this.type,this.handle)},u.unbind=function(){this.gl.bindBuffer(this.type,null)},u.dispose=function(){this.gl.deleteBuffer(this.handle)},u.update=function(t,e){if(&quot;number&quot;!=typeof e&amp;&amp;(e=-1),this.bind(),&quot;object&quot;==typeof t&amp;&amp;void 0!==t.shape){var r=t.dtype;if(c.indexOf(r)&lt;0&amp;&amp;(r=&quot;float32&quot;),this.type===this.gl.ELEMENT_ARRAY_BUFFER){r=gl.getExtension(&quot;OES_element_index_uint&quot;)&amp;&amp;&quot;uint16&quot;!==r?&quot;uint32&quot;:&quot;uint16&quot;}if(r===t.dtype&amp;&amp;function(t,e){for(var r=1,n=e.length-1;n&gt;=0;--n){if(e[n]!==r)return!1;r*=t[n]}return!0}(t.shape,t.stride))0===t.offset&amp;&amp;t.data.length===t.shape[0]?this.length=i(this.gl,this.type,this.length,this.usage,t.data,e):this.length=i(this.gl,this.type,this.length,this.usage,t.data.subarray(t.offset,t.shape[0]),e);else{var n=o.malloc(t.size,r),u=l(n,t.shape);s.assign(u,t),this.length=e&lt;0?i(this.gl,this.type,this.length,this.usage,n,e):i(this.gl,this.type,this.length,this.usage,n.subarray(0,t.size),e),o.free(n)}}else if(Array.isArray(t)){var f;f=this.type===this.gl.ELEMENT_ARRAY_BUFFER?a(t,&quot;uint16&quot;):a(t,&quot;float32&quot;),this.length=e&lt;0?i(this.gl,this.type,this.length,this.usage,f,e):i(this.gl,this.type,this.length,this.usage,f.subarray(0,t.length),e),o.free(f)}else if(&quot;object&quot;==typeof t&amp;&amp;&quot;number&quot;==typeof t.length)this.length=i(this.gl,this.type,this.length,this.usage,t,e);else{if(&quot;number&quot;!=typeof t&amp;&amp;void 0!==t)throw new Error(&quot;gl-buffer: Invalid data type&quot;);if(e&gt;=0)throw new Error(&quot;gl-buffer: Cannot specify offset when resizing buffer&quot;);(t|=0)&lt;=0&amp;&amp;(t=1),this.gl.bufferData(this.type,0|t,this.usage),this.length=t}},e.exports=function(t,e,r,i){if(r=r||t.ARRAY_BUFFER,i=i||t.DYNAMIC_DRAW,r!==t.ARRAY_BUFFER&amp;&amp;r!==t.ELEMENT_ARRAY_BUFFER)throw new Error(&quot;gl-buffer: Invalid type for webgl buffer, must be either gl.ARRAY_BUFFER or gl.ELEMENT_ARRAY_BUFFER&quot;);if(i!==t.DYNAMIC_DRAW&amp;&amp;i!==t.STATIC_DRAW&amp;&amp;i!==t.STREAM_DRAW)throw new Error(&quot;gl-buffer: Invalid usage for buffer, must be either gl.DYNAMIC_DRAW, gl.STATIC_DRAW or gl.STREAM_DRAW&quot;);var a=new n(t,r,t.createBuffer(),0,i);return a.update(e),a}},{ndarray:458,&quot;ndarray-ops&quot;:452,&quot;typedarray-pool&quot;:554}],166:[function(t,e,r){e.exports={0:&quot;NONE&quot;,1:&quot;ONE&quot;,2:&quot;LINE_LOOP&quot;,3:&quot;LINE_STRIP&quot;,4:&quot;TRIANGLES&quot;,5:&quot;TRIANGLE_STRIP&quot;,6:&quot;TRIANGLE_FAN&quot;,256:&quot;DEPTH_BUFFER_BIT&quot;,512:&quot;NEVER&quot;,513:&quot;LESS&quot;,514:&quot;EQUAL&quot;,515:&quot;LEQUAL&quot;,516:&quot;GREATER&quot;,517:&quot;NOTEQUAL&quot;,518:&quot;GEQUAL&quot;,519:&quot;ALWAYS&quot;,768:&quot;SRC_COLOR&quot;,769:&quot;ONE_MINUS_SRC_COLOR&quot;,770:&quot;SRC_ALPHA&quot;,771:&quot;ONE_MINUS_SRC_ALPHA&quot;,772:&quot;DST_ALPHA&quot;,773:&quot;ONE_MINUS_DST_ALPHA&quot;,774:&quot;DST_COLOR&quot;,775:&quot;ONE_MINUS_DST_COLOR&quot;,776:&quot;SRC_ALPHA_SATURATE&quot;,1024:&quot;STENCIL_BUFFER_BIT&quot;,1028:&quot;FRONT&quot;,1029:&quot;BACK&quot;,1032:&quot;FRONT_AND_BACK&quot;,1280:&quot;INVALID_ENUM&quot;,1281:&quot;INVALID_VALUE&quot;,1282:&quot;INVALID_OPERATION&quot;,1285:&quot;OUT_OF_MEMORY&quot;,1286:&quot;INVALID_FRAMEBUFFER_OPERATION&quot;,2304:&quot;CW&quot;,2305:&quot;CCW&quot;,2849:&quot;LINE_WIDTH&quot;,2884:&quot;CULL_FACE&quot;,2885:&quot;CULL_FACE_MODE&quot;,2886:&quot;FRONT_FACE&quot;,2928:&quot;DEPTH_RANGE&quot;,2929:&quot;DEPTH_TEST&quot;,2930:&quot;DEPTH_WRITEMASK&quot;,2931:&quot;DEPTH_CLEAR_VALUE&quot;,2932:&quot;DEPTH_FUNC&quot;,2960:&quot;STENCIL_TEST&quot;,2961:&quot;STENCIL_CLEAR_VALUE&quot;,2962:&quot;STENCIL_FUNC&quot;,2963:&quot;STENCIL_VALUE_MASK&quot;,2964:&quot;STENCIL_FAIL&quot;,2965:&quot;STENCIL_PASS_DEPTH_FAIL&quot;,2966:&quot;STENCIL_PASS_DEPTH_PASS&quot;,2967:&quot;STENCIL_REF&quot;,2968:&quot;STENCIL_WRITEMASK&quot;,2978:&quot;VIEWPORT&quot;,3024:&quot;DITHER&quot;,3042:&quot;BLEND&quot;,3088:&quot;SCISSOR_BOX&quot;,3089:&quot;SCISSOR_TEST&quot;,3106:&quot;COLOR_CLEAR_VALUE&quot;,3107:&quot;COLOR_WRITEMASK&quot;,3317:&quot;UNPACK_ALIGNMENT&quot;,3333:&quot;PACK_ALIGNMENT&quot;,3379:&quot;MAX_TEXTURE_SIZE&quot;,3386:&quot;MAX_VIEWPORT_DIMS&quot;,3408:&quot;SUBPIXEL_BITS&quot;,3410:&quot;RED_BITS&quot;,3411:&quot;GREEN_BITS&quot;,3412:&quot;BLUE_BITS&quot;,3413:&quot;ALPHA_BITS&quot;,3414:&quot;DEPTH_BITS&quot;,3415:&quot;STENCIL_BITS&quot;,3553:&quot;TEXTURE_2D&quot;,4352:&quot;DONT_CARE&quot;,4353:&quot;FASTEST&quot;,4354:&quot;NICEST&quot;,5120:&quot;BYTE&quot;,5121:&quot;UNSIGNED_BYTE&quot;,5122:&quot;SHORT&quot;,5123:&quot;UNSIGNED_SHORT&quot;,5124:&quot;INT&quot;,5125:&quot;UNSIGNED_INT&quot;,5126:&quot;FLOAT&quot;,5386:&quot;INVERT&quot;,5890:&quot;TEXTURE&quot;,6401:&quot;STENCIL_INDEX&quot;,6402:&quot;DEPTH_COMPONENT&quot;,6406:&quot;ALPHA&quot;,6407:&quot;RGB&quot;,6408:&quot;RGBA&quot;,6409:&quot;LUMINANCE&quot;,6410:&quot;LUMINANCE_ALPHA&quot;,7680:&quot;KEEP&quot;,7681:&quot;REPLACE&quot;,7682:&quot;INCR&quot;,7683:&quot;DECR&quot;,7936:&quot;VENDOR&quot;,7937:&quot;RENDERER&quot;,7938:&quot;VERSION&quot;,9728:&quot;NEAREST&quot;,9729:&quot;LINEAR&quot;,9984:&quot;NEAREST_MIPMAP_NEAREST&quot;,9985:&quot;LINEAR_MIPMAP_NEAREST&quot;,9986:&quot;NEAREST_MIPMAP_LINEAR&quot;,9987:&quot;LINEAR_MIPMAP_LINEAR&quot;,10240:&quot;TEXTURE_MAG_FILTER&quot;,10241:&quot;TEXTURE_MIN_FILTER&quot;,10242:&quot;TEXTURE_WRAP_S&quot;,10243:&quot;TEXTURE_WRAP_T&quot;,10497:&quot;REPEAT&quot;,10752:&quot;POLYGON_OFFSET_UNITS&quot;,16384:&quot;COLOR_BUFFER_BIT&quot;,32769:&quot;CONSTANT_COLOR&quot;,32770:&quot;ONE_MINUS_CONSTANT_COLOR&quot;,32771:&quot;CONSTANT_ALPHA&quot;,32772:&quot;ONE_MINUS_CONSTANT_ALPHA&quot;,32773:&quot;BLEND_COLOR&quot;,32774:&quot;FUNC_ADD&quot;,32777:&quot;BLEND_EQUATION_RGB&quot;,32778:&quot;FUNC_SUBTRACT&quot;,32779:&quot;FUNC_REVERSE_SUBTRACT&quot;,32819:&quot;UNSIGNED_SHORT_4_4_4_4&quot;,32820:&quot;UNSIGNED_SHORT_5_5_5_1&quot;,32823:&quot;POLYGON_OFFSET_FILL&quot;,32824:&quot;POLYGON_OFFSET_FACTOR&quot;,32854:&quot;RGBA4&quot;,32855:&quot;RGB5_A1&quot;,32873:&quot;TEXTURE_BINDING_2D&quot;,32926:&quot;SAMPLE_ALPHA_TO_COVERAGE&quot;,32928:&quot;SAMPLE_COVERAGE&quot;,32936:&quot;SAMPLE_BUFFERS&quot;,32937:&quot;SAMPLES&quot;,32938:&quot;SAMPLE_COVERAGE_VALUE&quot;,32939:&quot;SAMPLE_COVERAGE_INVERT&quot;,32968:&quot;BLEND_DST_RGB&quot;,32969:&quot;BLEND_SRC_RGB&quot;,32970:&quot;BLEND_DST_ALPHA&quot;,32971:&quot;BLEND_SRC_ALPHA&quot;,33071:&quot;CLAMP_TO_EDGE&quot;,33170:&quot;GENERATE_MIPMAP_HINT&quot;,33189:&quot;DEPTH_COMPONENT16&quot;,33306:&quot;DEPTH_STENCIL_ATTACHMENT&quot;,33635:&quot;UNSIGNED_SHORT_5_6_5&quot;,33648:&quot;MIRRORED_REPEAT&quot;,33901:&quot;ALIASED_POINT_SIZE_RANGE&quot;,33902:&quot;ALIASED_LINE_WIDTH_RANGE&quot;,33984:&quot;TEXTURE0&quot;,33985:&quot;TEXTURE1&quot;,33986:&quot;TEXTURE2&quot;,33987:&quot;TEXTURE3&quot;,33988:&quot;TEXTURE4&quot;,33989:&quot;TEXTURE5&quot;,33990:&quot;TEXTURE6&quot;,33991:&quot;TEXTURE7&quot;,33992:&quot;TEXTURE8&quot;,33993:&quot;TEXTURE9&quot;,33994:&quot;TEXTURE10&quot;,33995:&quot;TEXTURE11&quot;,33996:&quot;TEXTURE12&quot;,33997:&quot;TEXTURE13&quot;,33998:&quot;TEXTURE14&quot;,33999:&quot;TEXTURE15&quot;,34e3:&quot;TEXTURE16&quot;,34001:&quot;TEXTURE17&quot;,34002:&quot;TEXTURE18&quot;,34003:&quot;TEXTURE19&quot;,34004:&quot;TEXTURE20&quot;,34005:&quot;TEXTURE21&quot;,34006:&quot;TEXTURE22&quot;,34007:&quot;TEXTURE23&quot;,34008:&quot;TEXTURE24&quot;,34009:&quot;TEXTURE25&quot;,34010:&quot;TEXTURE26&quot;,34011:&quot;TEXTURE27&quot;,34012:&quot;TEXTURE28&quot;,34013:&quot;TEXTURE29&quot;,34014:&quot;TEXTURE30&quot;,34015:&quot;TEXTURE31&quot;,34016:&quot;ACTIVE_TEXTURE&quot;,34024:&quot;MAX_RENDERBUFFER_SIZE&quot;,34041:&quot;DEPTH_STENCIL&quot;,34055:&quot;INCR_WRAP&quot;,34056:&quot;DECR_WRAP&quot;,34067:&quot;TEXTURE_CUBE_MAP&quot;,34068:&quot;TEXTURE_BINDING_CUBE_MAP&quot;,34069:&quot;TEXTURE_CUBE_MAP_POSITIVE_X&quot;,34070:&quot;TEXTURE_CUBE_MAP_NEGATIVE_X&quot;,34071:&quot;TEXTURE_CUBE_MAP_POSITIVE_Y&quot;,34072:&quot;TEXTURE_CUBE_MAP_NEGATIVE_Y&quot;,34073:&quot;TEXTURE_CUBE_MAP_POSITIVE_Z&quot;,34074:&quot;TEXTURE_CUBE_MAP_NEGATIVE_Z&quot;,34076:&quot;MAX_CUBE_MAP_TEXTURE_SIZE&quot;,34338:&quot;VERTEX_ATTRIB_ARRAY_ENABLED&quot;,34339:&quot;VERTEX_ATTRIB_ARRAY_SIZE&quot;,34340:&quot;VERTEX_ATTRIB_ARRAY_STRIDE&quot;,34341:&quot;VERTEX_ATTRIB_ARRAY_TYPE&quot;,34342:&quot;CURRENT_VERTEX_ATTRIB&quot;,34373:&quot;VERTEX_ATTRIB_ARRAY_POINTER&quot;,34466:&quot;NUM_COMPRESSED_TEXTURE_FORMATS&quot;,34467:&quot;COMPRESSED_TEXTURE_FORMATS&quot;,34660:&quot;BUFFER_SIZE&quot;,34661:&quot;BUFFER_USAGE&quot;,34816:&quot;STENCIL_BACK_FUNC&quot;,34817:&quot;STENCIL_BACK_FAIL&quot;,34818:&quot;STENCIL_BACK_PASS_DEPTH_FAIL&quot;,34819:&quot;STENCIL_BACK_PASS_DEPTH_PASS&quot;,34877:&quot;BLEND_EQUATION_ALPHA&quot;,34921:&quot;MAX_VERTEX_ATTRIBS&quot;,34922:&quot;VERTEX_ATTRIB_ARRAY_NORMALIZED&quot;,34930:&quot;MAX_TEXTURE_IMAGE_UNITS&quot;,34962:&quot;ARRAY_BUFFER&quot;,34963:&quot;ELEMENT_ARRAY_BUFFER&quot;,34964:&quot;ARRAY_BUFFER_BINDING&quot;,34965:&quot;ELEMENT_ARRAY_BUFFER_BINDING&quot;,34975:&quot;VERTEX_ATTRIB_ARRAY_BUFFER_BINDING&quot;,35040:&quot;STREAM_DRAW&quot;,35044:&quot;STATIC_DRAW&quot;,35048:&quot;DYNAMIC_DRAW&quot;,35632:&quot;FRAGMENT_SHADER&quot;,35633:&quot;VERTEX_SHADER&quot;,35660:&quot;MAX_VERTEX_TEXTURE_IMAGE_UNITS&quot;,35661:&quot;MAX_COMBINED_TEXTURE_IMAGE_UNITS&quot;,35663:&quot;SHADER_TYPE&quot;,35664:&quot;FLOAT_VEC2&quot;,35665:&quot;FLOAT_VEC3&quot;,35666:&quot;FLOAT_VEC4&quot;,35667:&quot;INT_VEC2&quot;,35668:&quot;INT_VEC3&quot;,35669:&quot;INT_VEC4&quot;,35670:&quot;BOOL&quot;,35671:&quot;BOOL_VEC2&quot;,35672:&quot;BOOL_VEC3&quot;,35673:&quot;BOOL_VEC4&quot;,35674:&quot;FLOAT_MAT2&quot;,35675:&quot;FLOAT_MAT3&quot;,35676:&quot;FLOAT_MAT4&quot;,35678:&quot;SAMPLER_2D&quot;,35680:&quot;SAMPLER_CUBE&quot;,35712:&quot;DELETE_STATUS&quot;,35713:&quot;COMPILE_STATUS&quot;,35714:&quot;LINK_STATUS&quot;,35715:&quot;VALIDATE_STATUS&quot;,35716:&quot;INFO_LOG_LENGTH&quot;,35717:&quot;ATTACHED_SHADERS&quot;,35718:&quot;ACTIVE_UNIFORMS&quot;,35719:&quot;ACTIVE_UNIFORM_MAX_LENGTH&quot;,35720:&quot;SHADER_SOURCE_LENGTH&quot;,35721:&quot;ACTIVE_ATTRIBUTES&quot;,35722:&quot;ACTIVE_ATTRIBUTE_MAX_LENGTH&quot;,35724:&quot;SHADING_LANGUAGE_VERSION&quot;,35725:&quot;CURRENT_PROGRAM&quot;,36003:&quot;STENCIL_BACK_REF&quot;,36004:&quot;STENCIL_BACK_VALUE_MASK&quot;,36005:&quot;STENCIL_BACK_WRITEMASK&quot;,36006:&quot;FRAMEBUFFER_BINDING&quot;,36007:&quot;RENDERBUFFER_BINDING&quot;,36048:&quot;FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE&quot;,36049:&quot;FRAMEBUFFER_ATTACHMENT_OBJECT_NAME&quot;,36050:&quot;FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL&quot;,36051:&quot;FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE&quot;,36053:&quot;FRAMEBUFFER_COMPLETE&quot;,36054:&quot;FRAMEBUFFER_INCOMPLETE_ATTACHMENT&quot;,36055:&quot;FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT&quot;,36057:&quot;FRAMEBUFFER_INCOMPLETE_DIMENSIONS&quot;,36061:&quot;FRAMEBUFFER_UNSUPPORTED&quot;,36064:&quot;COLOR_ATTACHMENT0&quot;,36096:&quot;DEPTH_ATTACHMENT&quot;,36128:&quot;STENCIL_ATTACHMENT&quot;,36160:&quot;FRAMEBUFFER&quot;,36161:&quot;RENDERBUFFER&quot;,36162:&quot;RENDERBUFFER_WIDTH&quot;,36163:&quot;RENDERBUFFER_HEIGHT&quot;,36164:&quot;RENDERBUFFER_INTERNAL_FORMAT&quot;,36168:&quot;STENCIL_INDEX8&quot;,36176:&quot;RENDERBUFFER_RED_SIZE&quot;,36177:&quot;RENDERBUFFER_GREEN_SIZE&quot;,36178:&quot;RENDERBUFFER_BLUE_SIZE&quot;,36179:&quot;RENDERBUFFER_ALPHA_SIZE&quot;,36180:&quot;RENDERBUFFER_DEPTH_SIZE&quot;,36181:&quot;RENDERBUFFER_STENCIL_SIZE&quot;,36194:&quot;RGB565&quot;,36336:&quot;LOW_FLOAT&quot;,36337:&quot;MEDIUM_FLOAT&quot;,36338:&quot;HIGH_FLOAT&quot;,36339:&quot;LOW_INT&quot;,36340:&quot;MEDIUM_INT&quot;,36341:&quot;HIGH_INT&quot;,36346:&quot;SHADER_COMPILER&quot;,36347:&quot;MAX_VERTEX_UNIFORM_VECTORS&quot;,36348:&quot;MAX_VARYING_VECTORS&quot;,36349:&quot;MAX_FRAGMENT_UNIFORM_VECTORS&quot;,37440:&quot;UNPACK_FLIP_Y_WEBGL&quot;,37441:&quot;UNPACK_PREMULTIPLY_ALPHA_WEBGL&quot;,37442:&quot;CONTEXT_LOST_WEBGL&quot;,37443:&quot;UNPACK_COLORSPACE_CONVERSION_WEBGL&quot;,37444:&quot;BROWSER_DEFAULT_WEBGL&quot;}},{}],167:[function(t,e,r){var n=t(&quot;./1.0/numbers&quot;);e.exports=function(t){return n[t]}},{&quot;./1.0/numbers&quot;:166}],168:[function(t,e,r){&quot;use strict&quot;;function n(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}function i(t,e){for(var r=0;r&lt;3;++r)t[0][r]=Math.min(t[0][r],e[r]),t[1][r]=Math.max(t[1][r],e[r])}function a(t,e,r,n){for(var i=f[n],a=0;a&lt;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}e.exports=function(t){var e=t.gl,r=o(e),i=s(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}]),a=l(e);a.attributes.position.location=0,a.attributes.color.location=1,a.attributes.offset.location=2;var c=new n(e,r,i,a);return c.update(t),c};var o=t(&quot;gl-buffer&quot;),s=t(&quot;gl-vao&quot;),l=t(&quot;./shaders/index&quot;),c=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],u=n.prototype;u.isOpaque=function(){return this.opacity&gt;=1},u.isTransparent=function(){return this.opacity&lt;1},u.drawTransparent=u.draw=function(t){var e=this.gl,r=this.shader.uniforms;this.shader.bind();var n=r.view=t.view||c,i=r.projection=t.projection||c;r.model=t.model||c,r.clipBounds=this.clipBounds,r.opacity=this.opacity;var a=n[12],o=n[13],s=n[14],l=n[15],u=this.pixelRatio*(i[3]*a+i[7]*o+i[11]*s+i[15]*l)/e.drawingBufferHeight;this.vao.bind();for(var f=0;f&lt;3;++f)e.lineWidth(this.lineWidth[f]),r.capSize=this.capSize[f]*u,this.lineCount[f]&amp;&amp;e.drawArrays(e.LINES,this.lineOffset[f],this.lineCount[f]);this.vao.unbind()};var f=function(){for(var t=new Array(3),e=0;e&lt;3;++e){for(var r=[],n=1;n&lt;=2;++n)for(var i=-1;i&lt;=1;i+=2){var a=[0,0,0];a[(n+e)%3]=i,r.push(a)}t[e]=r}return t}();u.update=function(t){&quot;lineWidth&quot;in(t=t||{})&amp;&amp;(this.lineWidth=t.lineWidth,Array.isArray(this.lineWidth)||(this.lineWidth=[this.lineWidth,this.lineWidth,this.lineWidth])),&quot;capSize&quot;in t&amp;&amp;(this.capSize=t.capSize,Array.isArray(this.capSize)||(this.capSize=[this.capSize,this.capSize,this.capSize])),&quot;opacity&quot;in t&amp;&amp;(this.opacity=t.opacity);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&amp;&amp;n){var o=[],s=r.length,l=0;this.bounds=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],this.lineCount=[0,0,0];for(var c=0;c&lt;3;++c){this.lineOffset[c]=l;t:for(var u=0;u&lt;s;++u){for(var f=r[u],h=0;h&lt;3;++h)if(isNaN(f[h])||!isFinite(f[h]))continue t;var d=n[u],p=e[c];if(Array.isArray(p[0])&amp;&amp;(p=e[u]),3===p.length&amp;&amp;(p=[p[0],p[1],p[2],1]),!isNaN(d[0][c])&amp;&amp;!isNaN(d[1][c])){if(d[0][c]&lt;0){(m=f.slice())[c]+=d[0][c],o.push(f[0],f[1],f[2],p[0],p[1],p[2],p[3],0,0,0,m[0],m[1],m[2],p[0],p[1],p[2],p[3],0,0,0),i(this.bounds,m),l+=2+a(o,m,p,c)}if(d[1][c]&gt;0){var m;(m=f.slice())[c]+=d[1][c],o.push(f[0],f[1],f[2],p[0],p[1],p[2],p[3],0,0,0,m[0],m[1],m[2],p[0],p[1],p[2],p[3],0,0,0),i(this.bounds,m),l+=2+a(o,m,p,c)}}}this.lineCount[c]=l-this.lineOffset[c]}this.buffer.update(o)}},u.dispose=function(){this.shader.dispose(),this.buffer.dispose(),this.vao.dispose()}},{&quot;./shaders/index&quot;:170,&quot;gl-buffer&quot;:165,&quot;gl-vao&quot;:259}],169:[function(t,e,r){e.exports=function(t){&quot;string&quot;==typeof t&amp;&amp;(t=[t]);for(var e=[].slice.call(arguments,1),r=[],n=0;n&lt;t.length-1;n++)r.push(t[n],e[n]||&quot;&quot;);return r.push(t[n]),r.join(&quot;&quot;)}},{}],170:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;glslify&quot;),i=t(&quot;gl-shader&quot;),a=n([&quot;precision mediump 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}&quot;]),o=n([&quot;precision mediump float;\n#define GLSLIFY 1\nuniform vec3 clipBounds[2];\nuniform float opacity;\nvarying vec3 fragPosition;\nvarying vec4 fragColor;\n\nvoid main() {\n  if(any(lessThan(fragPosition, clipBounds[0])) || any(greaterThan(fragPosition, clipBounds[1]))) {\n    discard;\n  }\n  gl_FragColor = opacity * fragColor;\n}&quot;]);e.exports=function(t){return i(t,a,o,null,[{name:&quot;position&quot;,type:&quot;vec3&quot;},{name:&quot;color&quot;,type:&quot;vec4&quot;},{name:&quot;offset&quot;,type:&quot;vec3&quot;}])}},{&quot;gl-shader&quot;:243,glslify:169}],171:[function(t,e,r){&quot;use strict&quot;;function n(t){return[t.getParameter(t.FRAMEBUFFER_BINDING),t.getParameter(t.RENDERBUFFER_BINDING),t.getParameter(t.TEXTURE_BINDING_2D)]}function i(t,e){t.bindFramebuffer(t.FRAMEBUFFER,e[0]),t.bindRenderbuffer(t.RENDERBUFFER,e[1]),t.bindTexture(t.TEXTURE_2D,e[2])}function a(t){switch(t){case f:throw new Error(&quot;gl-fbo: Framebuffer unsupported&quot;);case h:throw new Error(&quot;gl-fbo: Framebuffer incomplete attachment&quot;);case d:throw new Error(&quot;gl-fbo: Framebuffer incomplete dimensions&quot;);case p:throw new Error(&quot;gl-fbo: Framebuffer incomplete missing attachment&quot;);default:throw new Error(&quot;gl-fbo: Framebuffer failed for unspecified reason&quot;)}}function o(t,e,r,n,i,a){if(!n)return null;var o=u(t,e,r,i,n);return o.magFilter=t.NEAREST,o.minFilter=t.NEAREST,o.mipSamples=1,o.bind(),t.framebufferTexture2D(t.FRAMEBUFFER,a,t.TEXTURE_2D,o.handle,0),o}function s(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 l(t,e,r,l,c,u,f,h){this.gl=t,this._shape=[0|e,0|r],this._destroyed=!1,this._ext=h,this.color=new Array(c);for(var d=0;d&lt;c;++d)this.color[d]=null;this._color_rb=null,this.depth=null,this._depth_rb=null,this._colorType=l,this._useDepth=u,this._useStencil=f;var p=this,g=[0|e,0|r];Object.defineProperties(g,{0:{get:function(){return p._shape[0]},set:function(t){return p.width=t}},1:{get:function(){return p._shape[1]},set:function(t){return p.height=t}}}),this._shapeVector=g,function(t){var e=n(t.gl),r=t.gl,l=t.handle=r.createFramebuffer(),c=t._shape[0],u=t._shape[1],f=t.color.length,h=t._ext,d=t._useStencil,p=t._useDepth,g=t._colorType;r.bindFramebuffer(r.FRAMEBUFFER,l);for(var v=0;v&lt;f;++v)t.color[v]=o(r,c,u,g,r.RGBA,r.COLOR_ATTACHMENT0+v);0===f?(t._color_rb=s(r,c,u,r.RGBA4,r.COLOR_ATTACHMENT0),h&amp;&amp;h.drawBuffersWEBGL(m[0])):f&gt;1&amp;&amp;h.drawBuffersWEBGL(m[f]);var y=r.getExtension(&quot;WEBGL_depth_texture&quot;);y?d?t.depth=o(r,c,u,y.UNSIGNED_INT_24_8_WEBGL,r.DEPTH_STENCIL,r.DEPTH_STENCIL_ATTACHMENT):p&amp;&amp;(t.depth=o(r,c,u,r.UNSIGNED_SHORT,r.DEPTH_COMPONENT,r.DEPTH_ATTACHMENT)):p&amp;&amp;d?t._depth_rb=s(r,c,u,r.DEPTH_STENCIL,r.DEPTH_STENCIL_ATTACHMENT):p?t._depth_rb=s(r,c,u,r.DEPTH_COMPONENT16,r.DEPTH_ATTACHMENT):d&amp;&amp;(t._depth_rb=s(r,c,u,r.STENCIL_INDEX,r.STENCIL_ATTACHMENT));var x=r.checkFramebufferStatus(r.FRAMEBUFFER);if(x!==r.FRAMEBUFFER_COMPLETE){for(t._destroyed=!0,r.bindFramebuffer(r.FRAMEBUFFER,null),r.deleteFramebuffer(t.handle),t.handle=null,t.depth&amp;&amp;(t.depth.dispose(),t.depth=null),t._depth_rb&amp;&amp;(r.deleteRenderbuffer(t._depth_rb),t._depth_rb=null),v=0;v&lt;t.color.length;++v)t.color[v].dispose(),t.color[v]=null;t._color_rb&amp;&amp;(r.deleteRenderbuffer(t._color_rb),t._color_rb=null),i(r,e),a(x)}i(r,e)}(this)}function c(t,e,r){if(t._destroyed)throw new Error(&quot;gl-fbo: Can't resize destroyed FBO&quot;);if(t._shape[0]!==e||t._shape[1]!==r){var o=t.gl,s=o.getParameter(o.MAX_RENDERBUFFER_SIZE);if(e&lt;0||e&gt;s||r&lt;0||r&gt;s)throw new Error(&quot;gl-fbo: Can't resize FBO, invalid dimensions&quot;);t._shape[0]=e,t._shape[1]=r;for(var l=n(o),c=0;c&lt;t.color.length;++c)t.color[c].shape=t._shape;t._color_rb&amp;&amp;(o.bindRenderbuffer(o.RENDERBUFFER,t._color_rb),o.renderbufferStorage(o.RENDERBUFFER,o.RGBA4,t._shape[0],t._shape[1])),t.depth&amp;&amp;(t.depth.shape=t._shape),t._depth_rb&amp;&amp;(o.bindRenderbuffer(o.RENDERBUFFER,t._depth_rb),t._useDepth&amp;&amp;t._useStencil?o.renderbufferStorage(o.RENDERBUFFER,o.DEPTH_STENCIL,t._shape[0],t._shape[1]):t._useDepth?o.renderbufferStorage(o.RENDERBUFFER,o.DEPTH_COMPONENT16,t._shape[0],t._shape[1]):t._useStencil&amp;&amp;o.renderbufferStorage(o.RENDERBUFFER,o.STENCIL_INDEX,t._shape[0],t._shape[1])),o.bindFramebuffer(o.FRAMEBUFFER,t.handle);var u=o.checkFramebufferStatus(o.FRAMEBUFFER);u!==o.FRAMEBUFFER_COMPLETE&amp;&amp;(t.dispose(),i(o,l),a(u)),i(o,l)}}var u=t(&quot;gl-texture2d&quot;);e.exports=function(t,e,r,n){f||(f=t.FRAMEBUFFER_UNSUPPORTED,h=t.FRAMEBUFFER_INCOMPLETE_ATTACHMENT,d=t.FRAMEBUFFER_INCOMPLETE_DIMENSIONS,p=t.FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT);var i=t.getExtension(&quot;WEBGL_draw_buffers&quot;);if(!m&amp;&amp;i&amp;&amp;function(t,e){var r=t.getParameter(e.MAX_COLOR_ATTACHMENTS_WEBGL);m=new Array(r+1);for(var n=0;n&lt;=r;++n){for(var i=new Array(r),a=0;a&lt;n;++a)i[a]=t.COLOR_ATTACHMENT0+a;for(a=n;a&lt;r;++a)i[a]=t.NONE;m[n]=i}}(t,i),Array.isArray(e)&amp;&amp;(n=r,r=0|e[1],e=0|e[0]),&quot;number&quot;!=typeof e)throw new Error(&quot;gl-fbo: Missing shape parameter&quot;);var a=t.getParameter(t.MAX_RENDERBUFFER_SIZE);if(e&lt;0||e&gt;a||r&lt;0||r&gt;a)throw new Error(&quot;gl-fbo: Parameters are too large for FBO&quot;);var o=1;if(&quot;color&quot;in(n=n||{})){if((o=Math.max(0|n.color,0))&lt;0)throw new Error(&quot;gl-fbo: Must specify a nonnegative number of colors&quot;);if(o&gt;1){if(!i)throw new Error(&quot;gl-fbo: Multiple draw buffer extension not supported&quot;);if(o&gt;t.getParameter(i.MAX_COLOR_ATTACHMENTS_WEBGL))throw new Error(&quot;gl-fbo: Context does not support &quot;+o+&quot; draw buffers&quot;)}}var s=t.UNSIGNED_BYTE,c=t.getExtension(&quot;OES_texture_float&quot;);if(n.float&amp;&amp;o&gt;0){if(!c)throw new Error(&quot;gl-fbo: Context does not support floating point textures&quot;);s=t.FLOAT}else n.preferFloat&amp;&amp;o&gt;0&amp;&amp;c&amp;&amp;(s=t.FLOAT);var u=!0;&quot;depth&quot;in n&amp;&amp;(u=!!n.depth);var g=!1;return&quot;stencil&quot;in n&amp;&amp;(g=!!n.stencil),new l(t,e,r,s,o,u,g,i)};var f,h,d,p,m=null,g=l.prototype;Object.defineProperties(g,{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(&quot;gl-fbo: Shape vector must be length 2&quot;);var e=0|t[0],r=0|t[1];return c(this,e,r),[e,r]},enumerable:!1},width:{get:function(){return this._destroyed?0:this._shape[0]},set:function(t){return t|=0,c(this,t,this._shape[1]),t},enumerable:!1},height:{get:function(){return this._destroyed?0:this._shape[1]},set:function(t){return t|=0,c(this,this._shape[0],t),t},enumerable:!1}}),g.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])}},g.dispose=function(){if(!this._destroyed){this._destroyed=!0;var t=this.gl;t.deleteFramebuffer(this.handle),this.handle=null,this.depth&amp;&amp;(this.depth.dispose(),this.depth=null),this._depth_rb&amp;&amp;(t.deleteRenderbuffer(this._depth_rb),this._depth_rb=null);for(var e=0;e&lt;this.color.length;++e)this.color[e].dispose(),this.color[e]=null;this._color_rb&amp;&amp;(t.deleteRenderbuffer(this._color_rb),this._color_rb=null)}}},{&quot;gl-texture2d&quot;:255}],172:[function(t,e,r){var n=t(&quot;sprintf-js&quot;).sprintf,i=t(&quot;gl-constants/lookup&quot;),a=t(&quot;glsl-shader-name&quot;),o=t(&quot;add-line-numbers&quot;);e.exports=function(t,e,r){&quot;use strict&quot;;var s=a(e)||&quot;of unknown name (see npm glsl-shader-name)&quot;,l=&quot;unknown type&quot;;void 0!==r&amp;&amp;(l=r===i.FRAGMENT_SHADER?&quot;fragment&quot;:&quot;vertex&quot;);for(var c=n(&quot;Error compiling %s shader %s:\n&quot;,l,s),u=n(&quot;%s%s&quot;,c,t),f=t.split(&quot;\n&quot;),h={},d=0;d&lt;f.length;d++){var p=f[d];if(&quot;&quot;!==p){var m=parseInt(p.split(&quot;:&quot;)[2]);if(isNaN(m))throw new Error(n(&quot;Could not parse error: %s&quot;,p));h[m]=p}}var g=o(e).split(&quot;\n&quot;);for(d=0;d&lt;g.length;d++)if((h[d+3]||h[d+2]||h[d+1])&amp;&amp;(c+=g[d]+&quot;\n&quot;,h[d+1])){var v=h[d+1];v=v.substr(v.split(&quot;:&quot;,3).join(&quot;:&quot;).length+1).trim(),c+=n(&quot;^^^ %s\n\n&quot;,v)}return{long:c.trim(),short:u.trim()}}},{&quot;add-line-numbers&quot;:44,&quot;gl-constants/lookup&quot;:167,&quot;glsl-shader-name&quot;:267,&quot;sprintf-js&quot;:536}],173:[function(t,e,r){&quot;use strict&quot;;function n(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}e.exports=function(t,e){var r=t.gl,i=new n(t,s(r,c.vertex,c.fragment),s(r,c.pickVertex,c.pickFragment),l(r),l(r),l(r),l(r));return i.update(e),t.addObject(i),i};var i=t(&quot;binary-search-bounds&quot;),a=t(&quot;iota-array&quot;),o=t(&quot;typedarray-pool&quot;),s=t(&quot;gl-shader&quot;),l=t(&quot;gl-buffer&quot;),c=t(&quot;./lib/shaders&quot;),u=n.prototype,f=[0,0,1,0,0,1,1,0,1,1,0,1];u.draw=function(){var t=[1,0,0,0,1,0,0,0,1];return function(){var e=this.plot,r=this.shader,n=this.bounds,i=this.numVertices;if(!(i&lt;=0)){var a=e.gl,o=e.dataBox,s=n[2]-n[0],l=n[3]-n[1],c=o[2]-o[0],u=o[3]-o[1];t[0]=2*s/c,t[4]=2*l/u,t[6]=2*(n[0]-o[0])/c-1,t[7]=2*(n[1]-o[1])/u-1,r.bind();var f=r.uniforms;f.viewTransform=t,f.shape=this.shape;var h=r.attributes;this.positionBuffer.bind(),h.position.pointer(),this.weightBuffer.bind(),h.weight.pointer(a.UNSIGNED_BYTE,!1),this.colorBuffer.bind(),h.color.pointer(a.UNSIGNED_BYTE,!0),a.drawArrays(a.TRIANGLES,0,i)}}}(),u.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&lt;=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 d=0;d&lt;4;++d)e[d]=r&gt;&gt;8*d&amp;255;this.pickOffset=r,i.bind();var p=i.uniforms;p.viewTransform=t,p.pickOffset=e,p.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]}}}(),u.pick=function(t,e,r){var n=this.pickOffset,i=this.shape[0]*this.shape[1];if(r&lt;n||r&gt;=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]]}},u.update=function(t){var e=(t=t||{}).shape||[0,0],r=t.x||a(e[0]),n=t.y||a(e[1]),s=t.z||new Float32Array(e[0]*e[1]);this.xData=r,this.yData=n;var l=t.colorLevels||[0],c=t.colorValues||[0,0,0,1],u=l.length,h=this.bounds,d=h[0]=r[0],p=h[1]=n[0],m=1/((h[2]=r[r.length-1])-d),g=1/((h[3]=n[n.length-1])-p),v=e[0],y=e[1];this.shape=[v,y];var x=(v-1)*(y-1)*(f.length&gt;&gt;&gt;1);this.numVertices=x;for(var b=o.mallocUint8(4*x),_=o.mallocFloat32(2*x),w=o.mallocUint8(2*x),M=o.mallocUint32(x),k=0,A=0;A&lt;y-1;++A)for(var T=g*(n[A]-p),S=g*(n[A+1]-p),E=0;E&lt;v-1;++E)for(var L=m*(r[E]-d),C=m*(r[E+1]-d),z=0;z&lt;f.length;z+=2){var D,I,P,O,F=f[z],R=f[z+1],N=s[(A+R)*v+(E+F)],j=i.le(l,N);if(j&lt;0)D=c[0],I=c[1],P=c[2],O=c[3];else if(j===u-1)D=c[4*u-4],I=c[4*u-3],P=c[4*u-2],O=c[4*u-1];else{var B=(N-l[j])/(l[j+1]-l[j]),U=1-B,V=4*j,q=4*(j+1);D=U*c[V]+B*c[q],I=U*c[V+1]+B*c[q+1],P=U*c[V+2]+B*c[q+2],O=U*c[V+3]+B*c[q+3]}b[4*k]=255*D,b[4*k+1]=255*I,b[4*k+2]=255*P,b[4*k+3]=255*O,_[2*k]=.5*L+.5*C,_[2*k+1]=.5*T+.5*S,w[2*k]=F,w[2*k+1]=R,M[k]=A*v+E,k+=1}this.positionBuffer.update(_),this.weightBuffer.update(w),this.colorBuffer.update(b),this.idBuffer.update(M),o.free(_),o.free(b),o.free(w),o.free(M)},u.dispose=function(){this.shader.dispose(),this.pickShader.dispose(),this.positionBuffer.dispose(),this.weightBuffer.dispose(),this.colorBuffer.dispose(),this.idBuffer.dispose(),this.plot.removeObject(this)}},{&quot;./lib/shaders&quot;:174,&quot;binary-search-bounds&quot;:175,&quot;gl-buffer&quot;:165,&quot;gl-shader&quot;:243,&quot;iota-array&quot;:281,&quot;typedarray-pool&quot;:554}],174:[function(t,e,r){&quot;use strict&quot;;e.exports={fragment:&quot;precision lowp float;\n#define GLSLIFY 1\nvarying vec4 fragColor;\nvoid main() {\n  gl_FragColor = vec4(fragColor.rgb * fragColor.a, fragColor.a);\n}\n&quot;,vertex:&quot;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&quot;,pickFragment:&quot;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&quot;,pickVertex:&quot;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&quot;}},{}],175:[function(t,e,r){arguments[4][89][0].apply(r,arguments)},{dup:89}],176:[function(t,e,r){var n=t(&quot;gl-shader&quot;),i=&quot;precision mediump 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\nvoid main() {\n  vec4 projected = projection * view * model * vec4(position, 1.0);\n  vec4 tangentClip = projection * view * model * vec4(nextPosition - position, 0.0);\n  vec2 tangent = normalize(screenShape * tangentClip.xy);\n  vec2 offset = 0.5 * pixelRatio * lineWidth * vec2(tangent.y, -tangent.x) / screenShape;\n\n  gl_Position = vec4(projected.xy + projected.w * offset, projected.zw);\n\n  worldPosition = position;\n  pixelArcLength = arcLength;\n  fragColor = color;\n}\n&quot;,a=[{name:&quot;position&quot;,type:&quot;vec3&quot;},{name:&quot;nextPosition&quot;,type:&quot;vec3&quot;},{name:&quot;arcLength&quot;,type:&quot;float&quot;},{name:&quot;lineWidth&quot;,type:&quot;float&quot;},{name:&quot;color&quot;,type:&quot;vec4&quot;}];r.createShader=function(t){return n(t,i,&quot;precision mediump float;\n#define GLSLIFY 1\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(any(lessThan(worldPosition, clipBounds[0])) || any(greaterThan(worldPosition, clipBounds[1]))) {\n    discard;\n  }\n  float dashWeight = texture2D(dashTexture, vec2(dashScale * pixelArcLength, 0)).r;\n  if(dashWeight &lt; 0.5) {\n    discard;\n  }\n  gl_FragColor = fragColor * opacity;\n}\n&quot;,null,a)},r.createPickShader=function(t){return n(t,i,&quot;precision mediump float;\n#define GLSLIFY 1\n\n#define FLOAT_MAX  1.70141184e38\n#define FLOAT_MIN  1.17549435e-38\n\nlowp vec4 encode_float_1_0(highp float v) {\n  highp float av = abs(v);\n\n  //Handle special cases\n  if(av &lt; FLOAT_MIN) {\n    return vec4(0.0, 0.0, 0.0, 0.0);\n  } else if(v &gt; FLOAT_MAX) {\n    return vec4(127.0, 128.0, 0.0, 0.0) / 255.0;\n  } else if(v &lt; -FLOAT_MAX) {\n    return vec4(255.0, 128.0, 0.0, 0.0) / 255.0;\n  }\n\n  highp vec4 c = vec4(0,0,0,0);\n\n  //Compute exponent and mantissa\n  highp float e = floor(log2(av));\n  highp 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  highp 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\n\n\nuniform float pickId;\nuniform vec3 clipBounds[2];\n\nvarying vec3 worldPosition;\nvarying float pixelArcLength;\nvarying vec4 fragColor;\n\nvoid main() {\n  if(any(lessThan(worldPosition, clipBounds[0])) || any(greaterThan(worldPosition, clipBounds[1]))) {\n    discard;\n  }\n  gl_FragColor = vec4(pickId/255.0, encode_float_1_0(pixelArcLength).xyz);\n}&quot;,null,a)}},{&quot;gl-shader&quot;:243}],177:[function(t,e,r){&quot;use strict&quot;;function n(t,e){for(var r=0,n=0;n&lt;3;++n){var i=t[n]-e[n];r+=i*i}return Math.sqrt(r)}function i(t){for(var e=[[-1e6,-1e6,-1e6],[1e6,1e6,1e6]],r=0;r&lt;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 a(t,e,r,n){this.arcLength=t,this.position=e,this.index=r,this.dataCoordinate=n}function o(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.dirty=!0,this.pixelRatio=1}e.exports=function(t){var e=t.gl||t.scene&amp;&amp;t.scene.gl,r=p(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 n=m(e);n.attributes.position.location=0,n.attributes.nextPosition.location=1,n.attributes.arcLength.location=2,n.attributes.lineWidth.location=3,n.attributes.color.location=4;for(var i=s(e),a=l(e,[{buffer:i,size:3,offset:0,stride:48},{buffer:i,size:3,offset:12,stride:48},{buffer:i,size:1,offset:24,stride:48},{buffer:i,size:1,offset:28,stride:48},{buffer:i,size:4,offset:32,stride:48}]),u=h(new Array(1024),[256,1,4]),f=0;f&lt;1024;++f)u.data[f]=255;var d=c(e,u);d.wrap=e.REPEAT;var g=new o(e,r,n,i,a,d);return g.update(t),g};var s=t(&quot;gl-buffer&quot;),l=t(&quot;gl-vao&quot;),c=t(&quot;gl-texture2d&quot;),u=t(&quot;glsl-read-float&quot;),f=t(&quot;binary-search-bounds&quot;),h=t(&quot;ndarray&quot;),d=t(&quot;./lib/shaders&quot;),p=d.createShader,m=d.createPickShader,g=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],v=o.prototype;v.isTransparent=function(){return this.opacity&lt;1},v.isOpaque=function(){return this.opacity&gt;=1},v.pickSlots=1,v.setPickBase=function(t){this.pickId=t},v.drawTransparent=v.draw=function(t){var e=this.gl,r=this.shader,n=this.vao;r.bind(),r.uniforms={model:t.model||g,view:t.view||g,projection:t.projection||g,clipBounds:i(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)},v.drawPick=function(t){var e=this.gl,r=this.pickShader,n=this.vao;r.bind(),r.uniforms={model:t.model||g,view:t.view||g,projection:t.projection||g,pickId:this.pickId,clipBounds:i(this.clipBounds),screenShape:[e.drawingBufferWidth,e.drawingBufferHeight],pixelRatio:this.pixelRatio},n.bind(),n.draw(e.TRIANGLE_STRIP,this.vertexCount)},v.update=function(t){var e,r;this.dirty=!0;var i=!!t.connectGaps;&quot;dashScale&quot;in t&amp;&amp;(this.dashScale=t.dashScale),&quot;opacity&quot;in t&amp;&amp;(this.opacity=+t.opacity);var a=t.position||t.positions;if(a){var o=t.color||t.colors||[0,0,0,1],s=t.lineWidth||1,l=[],c=[],u=[],d=0,p=0,m=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],g=!1;t:for(e=1;e&lt;a.length;++e){var v=a[e-1],y=a[e];for(c.push(d),u.push(v.slice()),r=0;r&lt;3;++r){if(isNaN(v[r])||isNaN(y[r])||!isFinite(v[r])||!isFinite(y[r])){if(!i&amp;&amp;l.length&gt;0){for(var x=0;x&lt;24;++x)l.push(l[l.length-12]);p+=2,g=!0}continue t}m[0][r]=Math.min(m[0][r],v[r],y[r]),m[1][r]=Math.max(m[1][r],v[r],y[r])}var b,_;Array.isArray(o[0])?(b=o[e-1],_=o[e]):b=_=o,3===b.length&amp;&amp;(b=[b[0],b[1],b[2],1]),3===_.length&amp;&amp;(_=[_[0],_[1],_[2],1]);var w;w=Array.isArray(s)?s[e-1]:s;var M=d;if(d+=n(v,y),g){for(r=0;r&lt;2;++r)l.push(v[0],v[1],v[2],y[0],y[1],y[2],M,w,b[0],b[1],b[2],b[3]);p+=2,g=!1}l.push(v[0],v[1],v[2],y[0],y[1],y[2],M,w,b[0],b[1],b[2],b[3],v[0],v[1],v[2],y[0],y[1],y[2],M,-w,b[0],b[1],b[2],b[3],y[0],y[1],y[2],v[0],v[1],v[2],d,-w,_[0],_[1],_[2],_[3],y[0],y[1],y[2],v[0],v[1],v[2],d,w,_[0],_[1],_[2],_[3]),p+=4}if(this.buffer.update(l),c.push(d),u.push(a[a.length-1].slice()),this.bounds=m,this.vertexCount=p,this.points=u,this.arcLength=c,&quot;dashes&quot;in t){var k=t.dashes.slice();for(k.unshift(0),e=1;e&lt;k.length;++e)k[e]=k[e-1]+k[e];var A=h(new Array(1024),[256,1,4]);for(e=0;e&lt;256;++e){for(r=0;r&lt;4;++r)A.set(e,0,r,0);1&amp;f.le(k,k[k.length-1]*e/255)?A.set(e,0,0,0):A.set(e,0,0,255)}this.texture.setPixels(A)}}},v.dispose=function(){this.shader.dispose(),this.vao.dispose(),this.buffer.dispose()},v.pick=function(t){if(!t)return null;if(t.id!==this.pickId)return null;var e=u(t.value[0],t.value[1],t.value[2],0),r=f.le(this.arcLength,e);if(r&lt;0)return null;if(r===this.arcLength.length-1)return new a(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)],o=(e-this.arcLength[r])/(this.arcLength[r+1]-this.arcLength[r]),s=1-o,l=[0,0,0],c=0;c&lt;3;++c)l[c]=s*n[c]+o*i[c];var h=Math.min(o&lt;.5?r:r+1,this.points.length-1);return new a(e,l,h,this.points[h])}},{&quot;./lib/shaders&quot;:176,&quot;binary-search-bounds&quot;:70,&quot;gl-buffer&quot;:165,&quot;gl-texture2d&quot;:255,&quot;gl-vao&quot;:259,&quot;glsl-read-float&quot;:266,ndarray:458}],178:[function(t,e,r){e.exports=function(t,e){var r=e[0],n=e[1],i=e[2],a=e[3],o=r*a-i*n;return o?(o=1/o,t[0]=a*o,t[1]=-n*o,t[2]=-i*o,t[3]=r*o,t):null}},{}],179:[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=u*o-s*c,h=-u*a+s*l,d=c*a-o*l,p=r*f+n*h+i*d;return p?(p=1/p,t[0]=f*p,t[1]=(-u*n+i*c)*p,t[2]=(s*n-i*o)*p,t[3]=h*p,t[4]=(u*r-i*l)*p,t[5]=(-s*r+i*a)*p,t[6]=d*p,t[7]=(-c*r+n*l)*p,t[8]=(o*r-n*a)*p,t):null}},{}],180:[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}},{}],181:[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}},{}],182:[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],d=t[12],p=t[13],m=t[14],g=t[15];return(e*o-r*a)*(f*g-h*m)-(e*s-n*a)*(u*g-h*p)+(e*l-i*a)*(u*m-f*p)+(r*s-n*o)*(c*g-h*d)-(r*l-i*o)*(c*m-f*d)+(n*l-i*s)*(c*p-u*d)}},{}],183:[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,d=i*s,p=i*l,m=a*o,g=a*s,v=a*l;return t[0]=1-f-p,t[1]=u+v,t[2]=h-g,t[3]=0,t[4]=u-v,t[5]=1-c-p,t[6]=d+m,t[7]=0,t[8]=h+g,t[9]=d-m,t[10]=1-c-f,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}},{}],184:[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,d=i*l,p=i*c,m=a*c,g=o*s,v=o*l,y=o*c;return t[0]=1-(d+m),t[1]=f+y,t[2]=h-v,t[3]=0,t[4]=f-y,t[5]=1-(u+m),t[6]=p+g,t[7]=0,t[8]=h+v,t[9]=p-g,t[10]=1-(u+d),t[11]=0,t[12]=r[0],t[13]=r[1],t[14]=r[2],t[15]=1,t}},{}],185:[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}},{}],186:[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],d=e[11],p=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,M=i*c-a*l,k=u*m-f*p,A=u*g-h*p,T=u*v-d*p,S=f*g-h*m,E=f*v-d*m,L=h*v-d*g,C=y*L-x*E+b*S+_*T-w*A+M*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*M-g*w+v*_)*C,t[3]=(h*w-f*M-d*_)*C,t[4]=(l*T-o*L-c*A)*C,t[5]=(r*L-i*T+a*A)*C,t[6]=(g*b-p*M-v*x)*C,t[7]=(u*M-h*b+d*x)*C,t[8]=(o*E-s*T+c*k)*C,t[9]=(n*T-r*E-a*k)*C,t[10]=(p*w-m*b+v*y)*C,t[11]=(f*b-u*w-d*y)*C,t[12]=(s*A-o*S-l*k)*C,t[13]=(r*S-n*A+i*k)*C,t[14]=(m*x-p*_-g*y)*C,t[15]=(u*_-f*x+h*y)*C,t):null}},{}],187:[function(t,e,r){var n=t(&quot;./identity&quot;);e.exports=function(t,e,r,i){var a,o,s,l,c,u,f,h,d,p,m=e[0],g=e[1],v=e[2],y=i[0],x=i[1],b=i[2],_=r[0],w=r[1],M=r[2];return Math.abs(m-_)&lt;1e-6&amp;&amp;Math.abs(g-w)&lt;1e-6&amp;&amp;Math.abs(v-M)&lt;1e-6?n(t):(f=m-_,h=g-w,d=v-M,p=1/Math.sqrt(f*f+h*h+d*d),f*=p,h*=p,d*=p,a=x*d-b*h,o=b*f-y*d,s=y*h-x*f,(p=Math.sqrt(a*a+o*o+s*s))?(a*=p=1/p,o*=p,s*=p):(a=0,o=0,s=0),l=h*s-d*o,c=d*a-f*s,u=f*o-h*a,(p=Math.sqrt(l*l+c*c+u*u))?(l*=p=1/p,c*=p,u*=p):(l=0,c=0,u=0),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]=d,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+d*v),t[15]=1,t)}},{&quot;./identity&quot;:185}],188:[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],d=e[10],p=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+_*d+w*v,t[3]=x*o+b*u+_*p+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+_*d+w*v,t[7]=x*o+b*u+_*p+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+_*d+w*v,t[11]=x*o+b*u+_*p+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+_*d+w*v,t[15]=x*o+b*u+_*p+w*y,t}},{}],189:[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}},{}],190:[function(t,e,r){e.exports=function(t,e,r,n){var i,a,o,s,l,c,u,f,h,d,p,m,g,v,y,x,b,_,w,M,k,A,T,S,E=n[0],L=n[1],C=n[2],z=Math.sqrt(E*E+L*L+C*C);return Math.abs(z)&lt;1e-6?null:(z=1/z,E*=z,L*=z,C*=z,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],d=e[6],p=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,M=L*L*o+a,k=C*L*o+E*i,A=E*C*o+L*i,T=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+d*b+v*_,t[3]=u*x+p*b+y*_,t[4]=s*w+f*M+m*k,t[5]=l*w+h*M+g*k,t[6]=c*w+d*M+v*k,t[7]=u*w+p*M+y*k,t[8]=s*A+f*T+m*S,t[9]=l*A+h*T+g*S,t[10]=c*A+d*T+v*S,t[11]=u*A+p*T+y*S,e!==t&amp;&amp;(t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]),t)}},{}],191:[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];return e!==t&amp;&amp;(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}},{}],192:[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];return e!==t&amp;&amp;(t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]),t[0]=a*i-c*n,t[1]=o*i-u*n,t[2]=s*i-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}},{}],193:[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];return e!==t&amp;&amp;(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}},{}],194:[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}},{}],195:[function(t,e,r){e.exports=function(t,e,r){var n,i,a,o,s,l,c,u,f,h,d,p,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],d=e[10],p=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]=d,t[11]=p,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+d*v+e[14],t[15]=o*m+u*g+p*v+e[15]),t}},{}],196:[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}},{}],197:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t,e){switch(e.length){case 0:break;case 1:t[0]=1/e[0];break;case 4:n(t,e);break;case 9:i(t,e);break;case 16:a(t,e);break;default:throw new Error(&quot;currently supports matrices up to 4x4&quot;)}return t};var n=t(&quot;gl-mat2/invert&quot;),i=t(&quot;gl-mat3/invert&quot;),a=t(&quot;gl-mat4/invert&quot;)},{&quot;gl-mat2/invert&quot;:178,&quot;gl-mat3/invert&quot;:179,&quot;gl-mat4/invert&quot;:186}],198:[function(t,e,r){r.glMatrix=t(&quot;./gl-matrix/common.js&quot;),r.mat2=t(&quot;./gl-matrix/mat2.js&quot;),r.mat2d=t(&quot;./gl-matrix/mat2d.js&quot;),r.mat3=t(&quot;./gl-matrix/mat3.js&quot;),r.mat4=t(&quot;./gl-matrix/mat4.js&quot;),r.quat=t(&quot;./gl-matrix/quat.js&quot;),r.vec2=t(&quot;./gl-matrix/vec2.js&quot;),r.vec3=t(&quot;./gl-matrix/vec3.js&quot;),r.vec4=t(&quot;./gl-matrix/vec4.js&quot;)},{&quot;./gl-matrix/common.js&quot;:199,&quot;./gl-matrix/mat2.js&quot;:200,&quot;./gl-matrix/mat2d.js&quot;:201,&quot;./gl-matrix/mat3.js&quot;:202,&quot;./gl-matrix/mat4.js&quot;:203,&quot;./gl-matrix/quat.js&quot;:204,&quot;./gl-matrix/vec2.js&quot;:205,&quot;./gl-matrix/vec3.js&quot;:206,&quot;./gl-matrix/vec4.js&quot;:207}],199:[function(t,e,r){var n={};n.EPSILON=1e-6,n.ARRAY_TYPE=&quot;undefined&quot;!=typeof Float32Array?Float32Array:Array,n.RANDOM=Math.random,n.ENABLE_SIMD=!1,n.SIMD_AVAILABLE=n.ARRAY_TYPE===Float32Array&amp;&amp;&quot;SIMD&quot;in this,n.USE_SIMD=n.ENABLE_SIMD&amp;&amp;n.SIMD_AVAILABLE,n.setMatrixArrayType=function(t){n.ARRAY_TYPE=t};var i=Math.PI/180;n.toRadian=function(t){return t*i},n.equals=function(t,e){return Math.abs(t-e)&lt;=n.EPSILON*Math.max(1,Math.abs(t),Math.abs(e))},e.exports=n},{}],200:[function(t,e,r){var n=t(&quot;./common.js&quot;),i={};i.create=function(){var t=new n.ARRAY_TYPE(4);return t[0]=1,t[1]=0,t[2]=0,t[3]=1,t},i.clone=function(t){var e=new n.ARRAY_TYPE(4);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e},i.copy=function(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t},i.identity=function(t){return t[0]=1,t[1]=0,t[2]=0,t[3]=1,t},i.fromValues=function(t,e,r,i){var a=new n.ARRAY_TYPE(4);return a[0]=t,a[1]=e,a[2]=r,a[3]=i,a},i.set=function(t,e,r,n,i){return t[0]=e,t[1]=r,t[2]=n,t[3]=i,t},i.transpose=function(t,e){if(t===e){var r=e[1];t[1]=e[2],t[2]=r}else t[0]=e[0],t[1]=e[2],t[2]=e[1],t[3]=e[3];return t},i.invert=function(t,e){var r=e[0],n=e[1],i=e[2],a=e[3],o=r*a-i*n;return o?(o=1/o,t[0]=a*o,t[1]=-n*o,t[2]=-i*o,t[3]=r*o,t):null},i.adjoint=function(t,e){var r=e[0];return t[0]=e[3],t[1]=-e[1],t[2]=-e[2],t[3]=r,t},i.determinant=function(t){return t[0]*t[3]-t[2]*t[1]},i.multiply=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=e[3],s=r[0],l=r[1],c=r[2],u=r[3];return t[0]=n*s+a*l,t[1]=i*s+o*l,t[2]=n*c+a*u,t[3]=i*c+o*u,t},i.mul=i.multiply,i.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},i.scale=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=e[3],s=r[0],l=r[1];return t[0]=n*s,t[1]=i*s,t[2]=a*l,t[3]=o*l,t},i.fromRotation=function(t,e){var r=Math.sin(e),n=Math.cos(e);return t[0]=n,t[1]=r,t[2]=-r,t[3]=n,t},i.fromScaling=function(t,e){return t[0]=e[0],t[1]=0,t[2]=0,t[3]=e[1],t},i.str=function(t){return&quot;mat2(&quot;+t[0]+&quot;, &quot;+t[1]+&quot;, &quot;+t[2]+&quot;, &quot;+t[3]+&quot;)&quot;},i.frob=function(t){return Math.sqrt(Math.pow(t[0],2)+Math.pow(t[1],2)+Math.pow(t[2],2)+Math.pow(t[3],2))},i.LDU=function(t,e,r,n){return t[2]=n[2]/n[0],r[0]=n[0],r[1]=n[1],r[3]=n[3]-t[2]*r[1],[t,e,r]},i.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[3]=e[3]+r[3],t},i.subtract=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},i.sub=i.subtract,i.exactEquals=function(t,e){return t[0]===e[0]&amp;&amp;t[1]===e[1]&amp;&amp;t[2]===e[2]&amp;&amp;t[3]===e[3]},i.equals=function(t,e){var r=t[0],i=t[1],a=t[2],o=t[3],s=e[0],l=e[1],c=e[2],u=e[3];return Math.abs(r-s)&lt;=n.EPSILON*Math.max(1,Math.abs(r),Math.abs(s))&amp;&amp;Math.abs(i-l)&lt;=n.EPSILON*Math.max(1,Math.abs(i),Math.abs(l))&amp;&amp;Math.abs(a-c)&lt;=n.EPSILON*Math.max(1,Math.abs(a),Math.abs(c))&amp;&amp;Math.abs(o-u)&lt;=n.EPSILON*Math.max(1,Math.abs(o),Math.abs(u))},i.multiplyScalar=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},i.multiplyScalarAndAdd=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},e.exports=i},{&quot;./common.js&quot;:199}],201:[function(t,e,r){var n=t(&quot;./common.js&quot;),i={};i.create=function(){var t=new n.ARRAY_TYPE(6);return t[0]=1,t[1]=0,t[2]=0,t[3]=1,t[4]=0,t[5]=0,t},i.clone=function(t){var e=new n.ARRAY_TYPE(6);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},i.copy=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},i.identity=function(t){return t[0]=1,t[1]=0,t[2]=0,t[3]=1,t[4]=0,t[5]=0,t},i.fromValues=function(t,e,r,i,a,o){var s=new n.ARRAY_TYPE(6);return s[0]=t,s[1]=e,s[2]=r,s[3]=i,s[4]=a,s[5]=o,s},i.set=function(t,e,r,n,i,a,o){return t[0]=e,t[1]=r,t[2]=n,t[3]=i,t[4]=a,t[5]=o,t},i.invert=function(t,e){var r=e[0],n=e[1],i=e[2],a=e[3],o=e[4],s=e[5],l=r*a-n*i;return l?(l=1/l,t[0]=a*l,t[1]=-n*l,t[2]=-i*l,t[3]=r*l,t[4]=(i*s-a*o)*l,t[5]=(n*o-r*s)*l,t):null},i.determinant=function(t){return t[0]*t[3]-t[1]*t[2]},i.multiply=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=e[3],s=e[4],l=e[5],c=r[0],u=r[1],f=r[2],h=r[3],d=r[4],p=r[5];return t[0]=n*c+a*u,t[1]=i*c+o*u,t[2]=n*f+a*h,t[3]=i*f+o*h,t[4]=n*d+a*p+s,t[5]=i*d+o*p+l,t},i.mul=i.multiply,i.rotate=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=e[3],s=e[4],l=e[5],c=Math.sin(r),u=Math.cos(r);return t[0]=n*u+a*c,t[1]=i*u+o*c,t[2]=n*-c+a*u,t[3]=i*-c+o*u,t[4]=s,t[5]=l,t},i.scale=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=e[3],s=e[4],l=e[5],c=r[0],u=r[1];return t[0]=n*c,t[1]=i*c,t[2]=a*u,t[3]=o*u,t[4]=s,t[5]=l,t},i.translate=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=e[3],s=e[4],l=e[5],c=r[0],u=r[1];return t[0]=n,t[1]=i,t[2]=a,t[3]=o,t[4]=n*c+a*u+s,t[5]=i*c+o*u+l,t},i.fromRotation=function(t,e){var r=Math.sin(e),n=Math.cos(e);return t[0]=n,t[1]=r,t[2]=-r,t[3]=n,t[4]=0,t[5]=0,t},i.fromScaling=function(t,e){return t[0]=e[0],t[1]=0,t[2]=0,t[3]=e[1],t[4]=0,t[5]=0,t},i.fromTranslation=function(t,e){return t[0]=1,t[1]=0,t[2]=0,t[3]=1,t[4]=e[0],t[5]=e[1],t},i.str=function(t){return&quot;mat2d(&quot;+t[0]+&quot;, &quot;+t[1]+&quot;, &quot;+t[2]+&quot;, &quot;+t[3]+&quot;, &quot;+t[4]+&quot;, &quot;+t[5]+&quot;)&quot;},i.frob=function(t){return Math.sqrt(Math.pow(t[0],2)+Math.pow(t[1],2)+Math.pow(t[2],2)+Math.pow(t[3],2)+Math.pow(t[4],2)+Math.pow(t[5],2)+1)},i.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[3]=e[3]+r[3],t[4]=e[4]+r[4],t[5]=e[5]+r[5],t},i.subtract=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[4]=e[4]-r[4],t[5]=e[5]-r[5],t},i.sub=i.subtract,i.multiplyScalar=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[4]=e[4]*r,t[5]=e[5]*r,t},i.multiplyScalarAndAdd=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[4]=e[4]+r[4]*n,t[5]=e[5]+r[5]*n,t},i.exactEquals=function(t,e){return t[0]===e[0]&amp;&amp;t[1]===e[1]&amp;&amp;t[2]===e[2]&amp;&amp;t[3]===e[3]&amp;&amp;t[4]===e[4]&amp;&amp;t[5]===e[5]},i.equals=function(t,e){var r=t[0],i=t[1],a=t[2],o=t[3],s=t[4],l=t[5],c=e[0],u=e[1],f=e[2],h=e[3],d=e[4],p=e[5];return Math.abs(r-c)&lt;=n.EPSILON*Math.max(1,Math.abs(r),Math.abs(c))&amp;&amp;Math.abs(i-u)&lt;=n.EPSILON*Math.max(1,Math.abs(i),Math.abs(u))&amp;&amp;Math.abs(a-f)&lt;=n.EPSILON*Math.max(1,Math.abs(a),Math.abs(f))&amp;&amp;Math.abs(o-h)&lt;=n.EPSILON*Math.max(1,Math.abs(o),Math.abs(h))&amp;&amp;Math.abs(s-d)&lt;=n.EPSILON*Math.max(1,Math.abs(s),Math.abs(d))&amp;&amp;Math.abs(l-p)&lt;=n.EPSILON*Math.max(1,Math.abs(l),Math.abs(p))},e.exports=i},{&quot;./common.js&quot;:199}],202:[function(t,e,r){var n=t(&quot;./common.js&quot;),i={};i.create=function(){var t=new n.ARRAY_TYPE(9);return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=1,t[5]=0,t[6]=0,t[7]=0,t[8]=1,t},i.fromMat4=function(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[4],t[4]=e[5],t[5]=e[6],t[6]=e[8],t[7]=e[9],t[8]=e[10],t},i.clone=function(t){var e=new n.ARRAY_TYPE(9);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},i.copy=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},i.fromValues=function(t,e,r,i,a,o,s,l,c){var u=new n.ARRAY_TYPE(9);return u[0]=t,u[1]=e,u[2]=r,u[3]=i,u[4]=a,u[5]=o,u[6]=s,u[7]=l,u[8]=c,u},i.set=function(t,e,r,n,i,a,o,s,l,c){return t[0]=e,t[1]=r,t[2]=n,t[3]=i,t[4]=a,t[5]=o,t[6]=s,t[7]=l,t[8]=c,t},i.identity=function(t){return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=1,t[5]=0,t[6]=0,t[7]=0,t[8]=1,t},i.transpose=function(t,e){if(t===e){var r=e[1],n=e[2],i=e[5];t[1]=e[3],t[2]=e[6],t[3]=r,t[5]=e[7],t[6]=n,t[7]=i}else t[0]=e[0],t[1]=e[3],t[2]=e[6],t[3]=e[1],t[4]=e[4],t[5]=e[7],t[6]=e[2],t[7]=e[5],t[8]=e[8];return t},i.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=u*o-s*c,h=-u*a+s*l,d=c*a-o*l,p=r*f+n*h+i*d;return p?(p=1/p,t[0]=f*p,t[1]=(-u*n+i*c)*p,t[2]=(s*n-i*o)*p,t[3]=h*p,t[4]=(u*r-i*l)*p,t[5]=(-s*r+i*a)*p,t[6]=d*p,t[7]=(-c*r+n*l)*p,t[8]=(o*r-n*a)*p,t):null},i.adjoint=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];return t[0]=o*u-s*c,t[1]=i*c-n*u,t[2]=n*s-i*o,t[3]=s*l-a*u,t[4]=r*u-i*l,t[5]=i*a-r*s,t[6]=a*c-o*l,t[7]=n*l-r*c,t[8]=r*o-n*a,t},i.determinant=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];return e*(c*a-o*l)+r*(-c*i+o*s)+n*(l*i-a*s)},i.multiply=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=r[0],d=r[1],p=r[2],m=r[3],g=r[4],v=r[5],y=r[6],x=r[7],b=r[8];return t[0]=h*n+d*o+p*c,t[1]=h*i+d*s+p*u,t[2]=h*a+d*l+p*f,t[3]=m*n+g*o+v*c,t[4]=m*i+g*s+v*u,t[5]=m*a+g*l+v*f,t[6]=y*n+x*o+b*c,t[7]=y*i+x*s+b*u,t[8]=y*a+x*l+b*f,t},i.mul=i.multiply,i.translate=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=r[0],d=r[1];return t[0]=n,t[1]=i,t[2]=a,t[3]=o,t[4]=s,t[5]=l,t[6]=h*n+d*o+c,t[7]=h*i+d*s+u,t[8]=h*a+d*l+f,t},i.rotate=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=Math.sin(r),d=Math.cos(r);return t[0]=d*n+h*o,t[1]=d*i+h*s,t[2]=d*a+h*l,t[3]=d*o-h*n,t[4]=d*s-h*i,t[5]=d*l-h*a,t[6]=c,t[7]=u,t[8]=f,t},i.scale=function(t,e,r){var n=r[0],i=r[1];return t[0]=n*e[0],t[1]=n*e[1],t[2]=n*e[2],t[3]=i*e[3],t[4]=i*e[4],t[5]=i*e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t},i.fromTranslation=function(t,e){return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=1,t[5]=0,t[6]=e[0],t[7]=e[1],t[8]=1,t},i.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},i.fromScaling=function(t,e){return t[0]=e[0],t[1]=0,t[2]=0,t[3]=0,t[4]=e[1],t[5]=0,t[6]=0,t[7]=0,t[8]=1,t},i.fromMat2d=function(t,e){return t[0]=e[0],t[1]=e[1],t[2]=0,t[3]=e[2],t[4]=e[3],t[5]=0,t[6]=e[4],t[7]=e[5],t[8]=1,t},i.fromQuat=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,d=i*s,p=i*l,m=a*o,g=a*s,v=a*l;return t[0]=1-f-p,t[3]=u-v,t[6]=h+g,t[1]=u+v,t[4]=1-c-p,t[7]=d-m,t[2]=h-g,t[5]=d+m,t[8]=1-c-f,t},i.normalFromMat4=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],d=e[11],p=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,M=i*c-a*l,k=u*m-f*p,A=u*g-h*p,T=u*v-d*p,S=f*g-h*m,E=f*v-d*m,L=h*v-d*g,C=y*L-x*E+b*S+_*T-w*A+M*k;return C?(C=1/C,t[0]=(s*L-l*E+c*S)*C,t[1]=(l*T-o*L-c*A)*C,t[2]=(o*E-s*T+c*k)*C,t[3]=(i*E-n*L-a*S)*C,t[4]=(r*L-i*T+a*A)*C,t[5]=(n*T-r*E-a*k)*C,t[6]=(m*M-g*w+v*_)*C,t[7]=(g*b-p*M-v*x)*C,t[8]=(p*w-m*b+v*y)*C,t):null},i.str=function(t){return&quot;mat3(&quot;+t[0]+&quot;, &quot;+t[1]+&quot;, &quot;+t[2]+&quot;, &quot;+t[3]+&quot;, &quot;+t[4]+&quot;, &quot;+t[5]+&quot;, &quot;+t[6]+&quot;, &quot;+t[7]+&quot;, &quot;+t[8]+&quot;)&quot;},i.frob=function(t){return Math.sqrt(Math.pow(t[0],2)+Math.pow(t[1],2)+Math.pow(t[2],2)+Math.pow(t[3],2)+Math.pow(t[4],2)+Math.pow(t[5],2)+Math.pow(t[6],2)+Math.pow(t[7],2)+Math.pow(t[8],2))},i.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[3]=e[3]+r[3],t[4]=e[4]+r[4],t[5]=e[5]+r[5],t[6]=e[6]+r[6],t[7]=e[7]+r[7],t[8]=e[8]+r[8],t},i.subtract=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[4]=e[4]-r[4],t[5]=e[5]-r[5],t[6]=e[6]-r[6],t[7]=e[7]-r[7],t[8]=e[8]-r[8],t},i.sub=i.subtract,i.multiplyScalar=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[4]=e[4]*r,t[5]=e[5]*r,t[6]=e[6]*r,t[7]=e[7]*r,t[8]=e[8]*r,t},i.multiplyScalarAndAdd=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[4]=e[4]+r[4]*n,t[5]=e[5]+r[5]*n,t[6]=e[6]+r[6]*n,t[7]=e[7]+r[7]*n,t[8]=e[8]+r[8]*n,t},i.exactEquals=function(t,e){return t[0]===e[0]&amp;&amp;t[1]===e[1]&amp;&amp;t[2]===e[2]&amp;&amp;t[3]===e[3]&amp;&amp;t[4]===e[4]&amp;&amp;t[5]===e[5]&amp;&amp;t[6]===e[6]&amp;&amp;t[7]===e[7]&amp;&amp;t[8]===e[8]},i.equals=function(t,e){var r=t[0],i=t[1],a=t[2],o=t[3],s=t[4],l=t[5],c=t[6],u=t[7],f=t[8],h=e[0],d=e[1],p=e[2],m=e[3],g=e[4],v=e[5],y=t[6],x=e[7],b=e[8];return Math.abs(r-h)&lt;=n.EPSILON*Math.max(1,Math.abs(r),Math.abs(h))&amp;&amp;Math.abs(i-d)&lt;=n.EPSILON*Math.max(1,Math.abs(i),Math.abs(d))&amp;&amp;Math.abs(a-p)&lt;=n.EPSILON*Math.max(1,Math.abs(a),Math.abs(p))&amp;&amp;Math.abs(o-m)&lt;=n.EPSILON*Math.max(1,Math.abs(o),Math.abs(m))&amp;&amp;Math.abs(s-g)&lt;=n.EPSILON*Math.max(1,Math.abs(s),Math.abs(g))&amp;&amp;Math.abs(l-v)&lt;=n.EPSILON*Math.max(1,Math.abs(l),Math.abs(v))&amp;&amp;Math.abs(c-y)&lt;=n.EPSILON*Math.max(1,Math.abs(c),Math.abs(y))&amp;&amp;Math.abs(u-x)&lt;=n.EPSILON*Math.max(1,Math.abs(u),Math.abs(x))&amp;&amp;Math.abs(f-b)&lt;=n.EPSILON*Math.max(1,Math.abs(f),Math.abs(b))},e.exports=i},{&quot;./common.js&quot;:199}],203:[function(t,e,r){var n=t(&quot;./common.js&quot;),i={scalar:{},SIMD:{}};i.create=function(){var t=new n.ARRAY_TYPE(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},i.clone=function(t){var e=new n.ARRAY_TYPE(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},i.copy=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},i.fromValues=function(t,e,r,i,a,o,s,l,c,u,f,h,d,p,m,g){var v=new n.ARRAY_TYPE(16);return v[0]=t,v[1]=e,v[2]=r,v[3]=i,v[4]=a,v[5]=o,v[6]=s,v[7]=l,v[8]=c,v[9]=u,v[10]=f,v[11]=h,v[12]=d,v[13]=p,v[14]=m,v[15]=g,v},i.set=function(t,e,r,n,i,a,o,s,l,c,u,f,h,d,p,m,g){return t[0]=e,t[1]=r,t[2]=n,t[3]=i,t[4]=a,t[5]=o,t[6]=s,t[7]=l,t[8]=c,t[9]=u,t[10]=f,t[11]=h,t[12]=d,t[13]=p,t[14]=m,t[15]=g,t},i.identity=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},i.scalar.transpose=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},i.SIMD.transpose=function(t,e){var r,n,i,a,o,s,l,c,u,f;return r=SIMD.Float32x4.load(e,0),n=SIMD.Float32x4.load(e,4),i=SIMD.Float32x4.load(e,8),a=SIMD.Float32x4.load(e,12),o=SIMD.Float32x4.shuffle(r,n,0,1,4,5),s=SIMD.Float32x4.shuffle(i,a,0,1,4,5),l=SIMD.Float32x4.shuffle(o,s,0,2,4,6),c=SIMD.Float32x4.shuffle(o,s,1,3,5,7),SIMD.Float32x4.store(t,0,l),SIMD.Float32x4.store(t,4,c),o=SIMD.Float32x4.shuffle(r,n,2,3,6,7),s=SIMD.Float32x4.shuffle(i,a,2,3,6,7),u=SIMD.Float32x4.shuffle(o,s,0,2,4,6),f=SIMD.Float32x4.shuffle(o,s,1,3,5,7),SIMD.Float32x4.store(t,8,u),SIMD.Float32x4.store(t,12,f),t},i.transpose=n.USE_SIMD?i.SIMD.transpose:i.scalar.transpose,i.scalar.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],d=e[11],p=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,M=i*c-a*l,k=u*m-f*p,A=u*g-h*p,T=u*v-d*p,S=f*g-h*m,E=f*v-d*m,L=h*v-d*g,C=y*L-x*E+b*S+_*T-w*A+M*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*M-g*w+v*_)*C,t[3]=(h*w-f*M-d*_)*C,t[4]=(l*T-o*L-c*A)*C,t[5]=(r*L-i*T+a*A)*C,t[6]=(g*b-p*M-v*x)*C,t[7]=(u*M-h*b+d*x)*C,t[8]=(o*E-s*T+c*k)*C,t[9]=(n*T-r*E-a*k)*C,t[10]=(p*w-m*b+v*y)*C,t[11]=(f*b-u*w-d*y)*C,t[12]=(s*A-o*S-l*k)*C,t[13]=(r*S-n*A+i*k)*C,t[14]=(m*x-p*_-g*y)*C,t[15]=(u*_-f*x+h*y)*C,t):null},i.SIMD.invert=function(t,e){var r,n,i,a,o,s,l,c,u,f,h=SIMD.Float32x4.load(e,0),d=SIMD.Float32x4.load(e,4),p=SIMD.Float32x4.load(e,8),m=SIMD.Float32x4.load(e,12);return o=SIMD.Float32x4.shuffle(h,d,0,1,4,5),n=SIMD.Float32x4.shuffle(p,m,0,1,4,5),r=SIMD.Float32x4.shuffle(o,n,0,2,4,6),n=SIMD.Float32x4.shuffle(n,o,1,3,5,7),o=SIMD.Float32x4.shuffle(h,d,2,3,6,7),a=SIMD.Float32x4.shuffle(p,m,2,3,6,7),i=SIMD.Float32x4.shuffle(o,a,0,2,4,6),a=SIMD.Float32x4.shuffle(a,o,1,3,5,7),o=SIMD.Float32x4.mul(i,a),o=SIMD.Float32x4.swizzle(o,1,0,3,2),s=SIMD.Float32x4.mul(n,o),l=SIMD.Float32x4.mul(r,o),o=SIMD.Float32x4.swizzle(o,2,3,0,1),s=SIMD.Float32x4.sub(SIMD.Float32x4.mul(n,o),s),l=SIMD.Float32x4.sub(SIMD.Float32x4.mul(r,o),l),l=SIMD.Float32x4.swizzle(l,2,3,0,1),o=SIMD.Float32x4.mul(n,i),o=SIMD.Float32x4.swizzle(o,1,0,3,2),s=SIMD.Float32x4.add(SIMD.Float32x4.mul(a,o),s),u=SIMD.Float32x4.mul(r,o),o=SIMD.Float32x4.swizzle(o,2,3,0,1),s=SIMD.Float32x4.sub(s,SIMD.Float32x4.mul(a,o)),u=SIMD.Float32x4.sub(SIMD.Float32x4.mul(r,o),u),u=SIMD.Float32x4.swizzle(u,2,3,0,1),o=SIMD.Float32x4.mul(SIMD.Float32x4.swizzle(n,2,3,0,1),a),o=SIMD.Float32x4.swizzle(o,1,0,3,2),i=SIMD.Float32x4.swizzle(i,2,3,0,1),s=SIMD.Float32x4.add(SIMD.Float32x4.mul(i,o),s),c=SIMD.Float32x4.mul(r,o),o=SIMD.Float32x4.swizzle(o,2,3,0,1),s=SIMD.Float32x4.sub(s,SIMD.Float32x4.mul(i,o)),c=SIMD.Float32x4.sub(SIMD.Float32x4.mul(r,o),c),c=SIMD.Float32x4.swizzle(c,2,3,0,1),o=SIMD.Float32x4.mul(r,n),o=SIMD.Float32x4.swizzle(o,1,0,3,2),c=SIMD.Float32x4.add(SIMD.Float32x4.mul(a,o),c),u=SIMD.Float32x4.sub(SIMD.Float32x4.mul(i,o),u),o=SIMD.Float32x4.swizzle(o,2,3,0,1),c=SIMD.Float32x4.sub(SIMD.Float32x4.mul(a,o),c),u=SIMD.Float32x4.sub(u,SIMD.Float32x4.mul(i,o)),o=SIMD.Float32x4.mul(r,a),o=SIMD.Float32x4.swizzle(o,1,0,3,2),l=SIMD.Float32x4.sub(l,SIMD.Float32x4.mul(i,o)),c=SIMD.Float32x4.add(SIMD.Float32x4.mul(n,o),c),o=SIMD.Float32x4.swizzle(o,2,3,0,1),l=SIMD.Float32x4.add(SIMD.Float32x4.mul(i,o),l),c=SIMD.Float32x4.sub(c,SIMD.Float32x4.mul(n,o)),o=SIMD.Float32x4.mul(r,i),o=SIMD.Float32x4.swizzle(o,1,0,3,2),l=SIMD.Float32x4.add(SIMD.Float32x4.mul(a,o),l),u=SIMD.Float32x4.sub(u,SIMD.Float32x4.mul(n,o)),o=SIMD.Float32x4.swizzle(o,2,3,0,1),l=SIMD.Float32x4.sub(l,SIMD.Float32x4.mul(a,o)),u=SIMD.Float32x4.add(SIMD.Float32x4.mul(n,o),u),f=SIMD.Float32x4.mul(r,s),f=SIMD.Float32x4.add(SIMD.Float32x4.swizzle(f,2,3,0,1),f),f=SIMD.Float32x4.add(SIMD.Float32x4.swizzle(f,1,0,3,2),f),o=SIMD.Float32x4.reciprocalApproximation(f),f=SIMD.Float32x4.sub(SIMD.Float32x4.add(o,o),SIMD.Float32x4.mul(f,SIMD.Float32x4.mul(o,o))),(f=SIMD.Float32x4.swizzle(f,0,0,0,0))?(SIMD.Float32x4.store(t,0,SIMD.Float32x4.mul(f,s)),SIMD.Float32x4.store(t,4,SIMD.Float32x4.mul(f,l)),SIMD.Float32x4.store(t,8,SIMD.Float32x4.mul(f,c)),SIMD.Float32x4.store(t,12,SIMD.Float32x4.mul(f,u)),t):null},i.invert=n.USE_SIMD?i.SIMD.invert:i.scalar.invert,i.scalar.adjoint=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],d=e[11],p=e[12],m=e[13],g=e[14],v=e[15];return t[0]=s*(h*v-d*g)-f*(l*v-c*g)+m*(l*d-c*h),t[1]=-(n*(h*v-d*g)-f*(i*v-a*g)+m*(i*d-a*h)),t[2]=n*(l*v-c*g)-s*(i*v-a*g)+m*(i*c-a*l),t[3]=-(n*(l*d-c*h)-s*(i*d-a*h)+f*(i*c-a*l)),t[4]=-(o*(h*v-d*g)-u*(l*v-c*g)+p*(l*d-c*h)),t[5]=r*(h*v-d*g)-u*(i*v-a*g)+p*(i*d-a*h),t[6]=-(r*(l*v-c*g)-o*(i*v-a*g)+p*(i*c-a*l)),t[7]=r*(l*d-c*h)-o*(i*d-a*h)+u*(i*c-a*l),t[8]=o*(f*v-d*m)-u*(s*v-c*m)+p*(s*d-c*f),t[9]=-(r*(f*v-d*m)-u*(n*v-a*m)+p*(n*d-a*f)),t[10]=r*(s*v-c*m)-o*(n*v-a*m)+p*(n*c-a*s),t[11]=-(r*(s*d-c*f)-o*(n*d-a*f)+u*(n*c-a*s)),t[12]=-(o*(f*g-h*m)-u*(s*g-l*m)+p*(s*h-l*f)),t[13]=r*(f*g-h*m)-u*(n*g-i*m)+p*(n*h-i*f),t[14]=-(r*(s*g-l*m)-o*(n*g-i*m)+p*(n*l-i*s)),t[15]=r*(s*h-l*f)-o*(n*h-i*f)+u*(n*l-i*s),t},i.SIMD.adjoint=function(t,e){var r,n,i,a,o,s,l,c,u,f=SIMD.Float32x4.load(e,0),h=SIMD.Float32x4.load(e,4),d=SIMD.Float32x4.load(e,8),p=SIMD.Float32x4.load(e,12);return o=SIMD.Float32x4.shuffle(f,h,0,1,4,5),n=SIMD.Float32x4.shuffle(d,p,0,1,4,5),r=SIMD.Float32x4.shuffle(o,n,0,2,4,6),n=SIMD.Float32x4.shuffle(n,o,1,3,5,7),o=SIMD.Float32x4.shuffle(f,h,2,3,6,7),a=SIMD.Float32x4.shuffle(d,p,2,3,6,7),i=SIMD.Float32x4.shuffle(o,a,0,2,4,6),a=SIMD.Float32x4.shuffle(a,o,1,3,5,7),o=SIMD.Float32x4.mul(i,a),o=SIMD.Float32x4.swizzle(o,1,0,3,2),s=SIMD.Float32x4.mul(n,o),l=SIMD.Float32x4.mul(r,o),o=SIMD.Float32x4.swizzle(o,2,3,0,1),s=SIMD.Float32x4.sub(SIMD.Float32x4.mul(n,o),s),l=SIMD.Float32x4.sub(SIMD.Float32x4.mul(r,o),l),l=SIMD.Float32x4.swizzle(l,2,3,0,1),o=SIMD.Float32x4.mul(n,i),o=SIMD.Float32x4.swizzle(o,1,0,3,2),s=SIMD.Float32x4.add(SIMD.Float32x4.mul(a,o),s),u=SIMD.Float32x4.mul(r,o),o=SIMD.Float32x4.swizzle(o,2,3,0,1),s=SIMD.Float32x4.sub(s,SIMD.Float32x4.mul(a,o)),u=SIMD.Float32x4.sub(SIMD.Float32x4.mul(r,o),u),u=SIMD.Float32x4.swizzle(u,2,3,0,1),o=SIMD.Float32x4.mul(SIMD.Float32x4.swizzle(n,2,3,0,1),a),o=SIMD.Float32x4.swizzle(o,1,0,3,2),i=SIMD.Float32x4.swizzle(i,2,3,0,1),s=SIMD.Float32x4.add(SIMD.Float32x4.mul(i,o),s),c=SIMD.Float32x4.mul(r,o),o=SIMD.Float32x4.swizzle(o,2,3,0,1),s=SIMD.Float32x4.sub(s,SIMD.Float32x4.mul(i,o)),c=SIMD.Float32x4.sub(SIMD.Float32x4.mul(r,o),c),c=SIMD.Float32x4.swizzle(c,2,3,0,1),o=SIMD.Float32x4.mul(r,n),o=SIMD.Float32x4.swizzle(o,1,0,3,2),c=SIMD.Float32x4.add(SIMD.Float32x4.mul(a,o),c),u=SIMD.Float32x4.sub(SIMD.Float32x4.mul(i,o),u),o=SIMD.Float32x4.swizzle(o,2,3,0,1),c=SIMD.Float32x4.sub(SIMD.Float32x4.mul(a,o),c),u=SIMD.Float32x4.sub(u,SIMD.Float32x4.mul(i,o)),o=SIMD.Float32x4.mul(r,a),o=SIMD.Float32x4.swizzle(o,1,0,3,2),l=SIMD.Float32x4.sub(l,SIMD.Float32x4.mul(i,o)),c=SIMD.Float32x4.add(SIMD.Float32x4.mul(n,o),c),o=SIMD.Float32x4.swizzle(o,2,3,0,1),l=SIMD.Float32x4.add(SIMD.Float32x4.mul(i,o),l),c=SIMD.Float32x4.sub(c,SIMD.Float32x4.mul(n,o)),o=SIMD.Float32x4.mul(r,i),o=SIMD.Float32x4.swizzle(o,1,0,3,2),l=SIMD.Float32x4.add(SIMD.Float32x4.mul(a,o),l),u=SIMD.Float32x4.sub(u,SIMD.Float32x4.mul(n,o)),o=SIMD.Float32x4.swizzle(o,2,3,0,1),l=SIMD.Float32x4.sub(l,SIMD.Float32x4.mul(a,o)),u=SIMD.Float32x4.add(SIMD.Float32x4.mul(n,o),u),SIMD.Float32x4.store(t,0,s),SIMD.Float32x4.store(t,4,l),SIMD.Float32x4.store(t,8,c),SIMD.Float32x4.store(t,12,u),t},i.adjoint=n.USE_SIMD?i.SIMD.adjoint:i.scalar.adjoint,i.determinant=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],d=t[12],p=t[13],m=t[14],g=t[15];return(e*o-r*a)*(f*g-h*m)-(e*s-n*a)*(u*g-h*p)+(e*l-i*a)*(u*m-f*p)+(r*s-n*o)*(c*g-h*d)-(r*l-i*o)*(c*m-f*d)+(n*l-i*s)*(c*p-u*d)},i.SIMD.multiply=function(t,e,r){var n=SIMD.Float32x4.load(e,0),i=SIMD.Float32x4.load(e,4),a=SIMD.Float32x4.load(e,8),o=SIMD.Float32x4.load(e,12),s=SIMD.Float32x4.load(r,0),l=SIMD.Float32x4.add(SIMD.Float32x4.mul(SIMD.Float32x4.swizzle(s,0,0,0,0),n),SIMD.Float32x4.add(SIMD.Float32x4.mul(SIMD.Float32x4.swizzle(s,1,1,1,1),i),SIMD.Float32x4.add(SIMD.Float32x4.mul(SIMD.Float32x4.swizzle(s,2,2,2,2),a),SIMD.Float32x4.mul(SIMD.Float32x4.swizzle(s,3,3,3,3),o))));SIMD.Float32x4.store(t,0,l);var c=SIMD.Float32x4.load(r,4),u=SIMD.Float32x4.add(SIMD.Float32x4.mul(SIMD.Float32x4.swizzle(c,0,0,0,0),n),SIMD.Float32x4.add(SIMD.Float32x4.mul(SIMD.Float32x4.swizzle(c,1,1,1,1),i),SIMD.Float32x4.add(SIMD.Float32x4.mul(SIMD.Float32x4.swizzle(c,2,2,2,2),a),SIMD.Float32x4.mul(SIMD.Float32x4.swizzle(c,3,3,3,3),o))));SIMD.Float32x4.store(t,4,u);var f=SIMD.Float32x4.load(r,8),h=SIMD.Float32x4.add(SIMD.Float32x4.mul(SIMD.Float32x4.swizzle(f,0,0,0,0),n),SIMD.Float32x4.add(SIMD.Float32x4.mul(SIMD.Float32x4.swizzle(f,1,1,1,1),i),SIMD.Float32x4.add(SIMD.Float32x4.mul(SIMD.Float32x4.swizzle(f,2,2,2,2),a),SIMD.Float32x4.mul(SIMD.Float32x4.swizzle(f,3,3,3,3),o))));SIMD.Float32x4.store(t,8,h);var d=SIMD.Float32x4.load(r,12),p=SIMD.Float32x4.add(SIMD.Float32x4.mul(SIMD.Float32x4.swizzle(d,0,0,0,0),n),SIMD.Float32x4.add(SIMD.Float32x4.mul(SIMD.Float32x4.swizzle(d,1,1,1,1),i),SIMD.Float32x4.add(SIMD.Float32x4.mul(SIMD.Float32x4.swizzle(d,2,2,2,2),a),SIMD.Float32x4.mul(SIMD.Float32x4.swizzle(d,3,3,3,3),o))));return SIMD.Float32x4.store(t,12,p),t},i.scalar.multiply=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],d=e[10],p=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+_*d+w*v,t[3]=x*o+b*u+_*p+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+_*d+w*v,t[7]=x*o+b*u+_*p+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+_*d+w*v,t[11]=x*o+b*u+_*p+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+_*d+w*v,t[15]=x*o+b*u+_*p+w*y,t},i.multiply=n.USE_SIMD?i.SIMD.multiply:i.scalar.multiply,i.mul=i.multiply,i.scalar.translate=function(t,e,r){var n,i,a,o,s,l,c,u,f,h,d,p,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],d=e[10],p=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]=d,t[11]=p,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+d*v+e[14],t[15]=o*m+u*g+p*v+e[15]),t},i.SIMD.translate=function(t,e,r){var n=SIMD.Float32x4.load(e,0),i=SIMD.Float32x4.load(e,4),a=SIMD.Float32x4.load(e,8),o=SIMD.Float32x4.load(e,12),s=SIMD.Float32x4(r[0],r[1],r[2],0);e!==t&amp;&amp;(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]),n=SIMD.Float32x4.mul(n,SIMD.Float32x4.swizzle(s,0,0,0,0)),i=SIMD.Float32x4.mul(i,SIMD.Float32x4.swizzle(s,1,1,1,1)),a=SIMD.Float32x4.mul(a,SIMD.Float32x4.swizzle(s,2,2,2,2));var l=SIMD.Float32x4.add(n,SIMD.Float32x4.add(i,SIMD.Float32x4.add(a,o)));return SIMD.Float32x4.store(t,12,l),t},i.translate=n.USE_SIMD?i.SIMD.translate:i.scalar.translate,i.scalar.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},i.SIMD.scale=function(t,e,r){var n,i,a,o=SIMD.Float32x4(r[0],r[1],r[2],0);return n=SIMD.Float32x4.load(e,0),SIMD.Float32x4.store(t,0,SIMD.Float32x4.mul(n,SIMD.Float32x4.swizzle(o,0,0,0,0))),i=SIMD.Float32x4.load(e,4),SIMD.Float32x4.store(t,4,SIMD.Float32x4.mul(i,SIMD.Float32x4.swizzle(o,1,1,1,1))),a=SIMD.Float32x4.load(e,8),SIMD.Float32x4.store(t,8,SIMD.Float32x4.mul(a,SIMD.Float32x4.swizzle(o,2,2,2,2))),t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t},i.scale=n.USE_SIMD?i.SIMD.scale:i.scalar.scale,i.rotate=function(t,e,r,i){var a,o,s,l,c,u,f,h,d,p,m,g,v,y,x,b,_,w,M,k,A,T,S,E,L=i[0],C=i[1],z=i[2],D=Math.sqrt(L*L+C*C+z*z);return Math.abs(D)&lt;n.EPSILON?null:(D=1/D,L*=D,C*=D,z*=D,a=Math.sin(r),o=Math.cos(r),s=1-o,l=e[0],c=e[1],u=e[2],f=e[3],h=e[4],d=e[5],p=e[6],m=e[7],g=e[8],v=e[9],y=e[10],x=e[11],b=L*L*s+o,_=C*L*s+z*a,w=z*L*s-C*a,M=L*C*s-z*a,k=C*C*s+o,A=z*C*s+L*a,T=L*z*s+C*a,S=C*z*s-L*a,E=z*z*s+o,t[0]=l*b+h*_+g*w,t[1]=c*b+d*_+v*w,t[2]=u*b+p*_+y*w,t[3]=f*b+m*_+x*w,t[4]=l*M+h*k+g*A,t[5]=c*M+d*k+v*A,t[6]=u*M+p*k+y*A,t[7]=f*M+m*k+x*A,t[8]=l*T+h*S+g*E,t[9]=c*T+d*S+v*E,t[10]=u*T+p*S+y*E,t[11]=f*T+m*S+x*E,e!==t&amp;&amp;(t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]),t)},i.scalar.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&amp;&amp;(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},i.SIMD.rotateX=function(t,e,r){var n=SIMD.Float32x4.splat(Math.sin(r)),i=SIMD.Float32x4.splat(Math.cos(r));e!==t&amp;&amp;(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]);var a=SIMD.Float32x4.load(e,4),o=SIMD.Float32x4.load(e,8);return SIMD.Float32x4.store(t,4,SIMD.Float32x4.add(SIMD.Float32x4.mul(a,i),SIMD.Float32x4.mul(o,n))),SIMD.Float32x4.store(t,8,SIMD.Float32x4.sub(SIMD.Float32x4.mul(o,i),SIMD.Float32x4.mul(a,n))),t},i.rotateX=n.USE_SIMD?i.SIMD.rotateX:i.scalar.rotateX,i.scalar.rotateY=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];return e!==t&amp;&amp;(t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]),t[0]=a*i-c*n,t[1]=o*i-u*n,t[2]=s*i-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},i.SIMD.rotateY=function(t,e,r){var n=SIMD.Float32x4.splat(Math.sin(r)),i=SIMD.Float32x4.splat(Math.cos(r));e!==t&amp;&amp;(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]);var a=SIMD.Float32x4.load(e,0),o=SIMD.Float32x4.load(e,8);return SIMD.Float32x4.store(t,0,SIMD.Float32x4.sub(SIMD.Float32x4.mul(a,i),SIMD.Float32x4.mul(o,n))),SIMD.Float32x4.store(t,8,SIMD.Float32x4.add(SIMD.Float32x4.mul(a,n),SIMD.Float32x4.mul(o,i))),t},i.rotateY=n.USE_SIMD?i.SIMD.rotateY:i.scalar.rotateY,i.scalar.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&amp;&amp;(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},i.SIMD.rotateZ=function(t,e,r){var n=SIMD.Float32x4.splat(Math.sin(r)),i=SIMD.Float32x4.splat(Math.cos(r));e!==t&amp;&amp;(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]);var a=SIMD.Float32x4.load(e,0),o=SIMD.Float32x4.load(e,4);return SIMD.Float32x4.store(t,0,SIMD.Float32x4.add(SIMD.Float32x4.mul(a,i),SIMD.Float32x4.mul(o,n))),SIMD.Float32x4.store(t,4,SIMD.Float32x4.sub(SIMD.Float32x4.mul(o,i),SIMD.Float32x4.mul(a,n))),t},i.rotateZ=n.USE_SIMD?i.SIMD.rotateZ:i.scalar.rotateZ,i.fromTranslation=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},i.fromScaling=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},i.fromRotation=function(t,e,r){var i,a,o,s=r[0],l=r[1],c=r[2],u=Math.sqrt(s*s+l*l+c*c);return Math.abs(u)&lt;n.EPSILON?null:(u=1/u,s*=u,l*=u,c*=u,i=Math.sin(e),a=Math.cos(e),o=1-a,t[0]=s*s*o+a,t[1]=l*s*o+c*i,t[2]=c*s*o-l*i,t[3]=0,t[4]=s*l*o-c*i,t[5]=l*l*o+a,t[6]=c*l*o+s*i,t[7]=0,t[8]=s*c*o+l*i,t[9]=l*c*o-s*i,t[10]=c*c*o+a,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t)},i.fromXRotation=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},i.fromYRotation=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},i.fromZRotation=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},i.fromRotationTranslation=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,d=i*l,p=i*c,m=a*c,g=o*s,v=o*l,y=o*c;return t[0]=1-(d+m),t[1]=f+y,t[2]=h-v,t[3]=0,t[4]=f-y,t[5]=1-(u+m),t[6]=p+g,t[7]=0,t[8]=h+v,t[9]=p-g,t[10]=1-(u+d),t[11]=0,t[12]=r[0],t[13]=r[1],t[14]=r[2],t[15]=1,t},i.getTranslation=function(t,e){return t[0]=e[12],t[1]=e[13],t[2]=e[14],t},i.getRotation=function(t,e){var r=e[0]+e[5]+e[10],n=0;return r&gt;0?(n=2*Math.sqrt(r+1),t[3]=.25*n,t[0]=(e[6]-e[9])/n,t[1]=(e[8]-e[2])/n,t[2]=(e[1]-e[4])/n):e[0]&gt;e[5]&amp;e[0]&gt;e[10]?(n=2*Math.sqrt(1+e[0]-e[5]-e[10]),t[3]=(e[6]-e[9])/n,t[0]=.25*n,t[1]=(e[1]+e[4])/n,t[2]=(e[8]+e[2])/n):e[5]&gt;e[10]?(n=2*Math.sqrt(1+e[5]-e[0]-e[10]),t[3]=(e[8]-e[2])/n,t[0]=(e[1]+e[4])/n,t[1]=.25*n,t[2]=(e[6]+e[9])/n):(n=2*Math.sqrt(1+e[10]-e[0]-e[5]),t[3]=(e[1]-e[4])/n,t[0]=(e[8]+e[2])/n,t[1]=(e[6]+e[9])/n,t[2]=.25*n),t},i.fromRotationTranslationScale=function(t,e,r,n){var i=e[0],a=e[1],o=e[2],s=e[3],l=i+i,c=a+a,u=o+o,f=i*l,h=i*c,d=i*u,p=a*c,m=a*u,g=o*u,v=s*l,y=s*c,x=s*u,b=n[0],_=n[1],w=n[2];return t[0]=(1-(p+g))*b,t[1]=(h+x)*b,t[2]=(d-y)*b,t[3]=0,t[4]=(h-x)*_,t[5]=(1-(f+g))*_,t[6]=(m+v)*_,t[7]=0,t[8]=(d+y)*w,t[9]=(m-v)*w,t[10]=(1-(f+p))*w,t[11]=0,t[12]=r[0],t[13]=r[1],t[14]=r[2],t[15]=1,t},i.fromRotationTranslationScaleOrigin=function(t,e,r,n,i){var a=e[0],o=e[1],s=e[2],l=e[3],c=a+a,u=o+o,f=s+s,h=a*c,d=a*u,p=a*f,m=o*u,g=o*f,v=s*f,y=l*c,x=l*u,b=l*f,_=n[0],w=n[1],M=n[2],k=i[0],A=i[1],T=i[2];return t[0]=(1-(m+v))*_,t[1]=(d+b)*_,t[2]=(p-x)*_,t[3]=0,t[4]=(d-b)*w,t[5]=(1-(h+v))*w,t[6]=(g+y)*w,t[7]=0,t[8]=(p+x)*M,t[9]=(g-y)*M,t[10]=(1-(h+m))*M,t[11]=0,t[12]=r[0]+k-(t[0]*k+t[4]*A+t[8]*T),t[13]=r[1]+A-(t[1]*k+t[5]*A+t[9]*T),t[14]=r[2]+T-(t[2]*k+t[6]*A+t[10]*T),t[15]=1,t},i.fromQuat=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,d=i*s,p=i*l,m=a*o,g=a*s,v=a*l;return t[0]=1-f-p,t[1]=u+v,t[2]=h-g,t[3]=0,t[4]=u-v,t[5]=1-c-p,t[6]=d+m,t[7]=0,t[8]=h+g,t[9]=d-m,t[10]=1-c-f,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t},i.frustum=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},i.perspective=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},i.perspectiveFromFieldOfView=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},i.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},i.lookAt=function(t,e,r,a){var o,s,l,c,u,f,h,d,p,m,g=e[0],v=e[1],y=e[2],x=a[0],b=a[1],_=a[2],w=r[0],M=r[1],k=r[2];return Math.abs(g-w)&lt;n.EPSILON&amp;&amp;Math.abs(v-M)&lt;n.EPSILON&amp;&amp;Math.abs(y-k)&lt;n.EPSILON?i.identity(t):(h=g-w,d=v-M,p=y-k,m=1/Math.sqrt(h*h+d*d+p*p),h*=m,d*=m,p*=m,o=b*p-_*d,s=_*h-x*p,l=x*d-b*h,(m=Math.sqrt(o*o+s*s+l*l))?(o*=m=1/m,s*=m,l*=m):(o=0,s=0,l=0),c=d*l-p*s,u=p*o-h*l,f=h*s-d*o,(m=Math.sqrt(c*c+u*u+f*f))?(c*=m=1/m,u*=m,f*=m):(c=0,u=0,f=0),t[0]=o,t[1]=c,t[2]=h,t[3]=0,t[4]=s,t[5]=u,t[6]=d,t[7]=0,t[8]=l,t[9]=f,t[10]=p,t[11]=0,t[12]=-(o*g+s*v+l*y),t[13]=-(c*g+u*v+f*y),t[14]=-(h*g+d*v+p*y),t[15]=1,t)},i.str=function(t){return&quot;mat4(&quot;+t[0]+&quot;, &quot;+t[1]+&quot;, &quot;+t[2]+&quot;, &quot;+t[3]+&quot;, &quot;+t[4]+&quot;, &quot;+t[5]+&quot;, &quot;+t[6]+&quot;, &quot;+t[7]+&quot;, &quot;+t[8]+&quot;, &quot;+t[9]+&quot;, &quot;+t[10]+&quot;, &quot;+t[11]+&quot;, &quot;+t[12]+&quot;, &quot;+t[13]+&quot;, &quot;+t[14]+&quot;, &quot;+t[15]+&quot;)&quot;},i.frob=function(t){return Math.sqrt(Math.pow(t[0],2)+Math.pow(t[1],2)+Math.pow(t[2],2)+Math.pow(t[3],2)+Math.pow(t[4],2)+Math.pow(t[5],2)+Math.pow(t[6],2)+Math.pow(t[7],2)+Math.pow(t[8],2)+Math.pow(t[9],2)+Math.pow(t[10],2)+Math.pow(t[11],2)+Math.pow(t[12],2)+Math.pow(t[13],2)+Math.pow(t[14],2)+Math.pow(t[15],2))},i.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[3]=e[3]+r[3],t[4]=e[4]+r[4],t[5]=e[5]+r[5],t[6]=e[6]+r[6],t[7]=e[7]+r[7],t[8]=e[8]+r[8],t[9]=e[9]+r[9],t[10]=e[10]+r[10],t[11]=e[11]+r[11],t[12]=e[12]+r[12],t[13]=e[13]+r[13],t[14]=e[14]+r[14],t[15]=e[15]+r[15],t},i.subtract=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[4]=e[4]-r[4],t[5]=e[5]-r[5],t[6]=e[6]-r[6],t[7]=e[7]-r[7],t[8]=e[8]-r[8],t[9]=e[9]-r[9],t[10]=e[10]-r[10],t[11]=e[11]-r[11],t[12]=e[12]-r[12],t[13]=e[13]-r[13],t[14]=e[14]-r[14],t[15]=e[15]-r[15],t},i.sub=i.subtract,i.multiplyScalar=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[4]=e[4]*r,t[5]=e[5]*r,t[6]=e[6]*r,t[7]=e[7]*r,t[8]=e[8]*r,t[9]=e[9]*r,t[10]=e[10]*r,t[11]=e[11]*r,t[12]=e[12]*r,t[13]=e[13]*r,t[14]=e[14]*r,t[15]=e[15]*r,t},i.multiplyScalarAndAdd=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[4]=e[4]+r[4]*n,t[5]=e[5]+r[5]*n,t[6]=e[6]+r[6]*n,t[7]=e[7]+r[7]*n,t[8]=e[8]+r[8]*n,t[9]=e[9]+r[9]*n,t[10]=e[10]+r[10]*n,t[11]=e[11]+r[11]*n,t[12]=e[12]+r[12]*n,t[13]=e[13]+r[13]*n,t[14]=e[14]+r[14]*n,t[15]=e[15]+r[15]*n,t},i.exactEquals=function(t,e){return t[0]===e[0]&amp;&amp;t[1]===e[1]&amp;&amp;t[2]===e[2]&amp;&amp;t[3]===e[3]&amp;&amp;t[4]===e[4]&amp;&amp;t[5]===e[5]&amp;&amp;t[6]===e[6]&amp;&amp;t[7]===e[7]&amp;&amp;t[8]===e[8]&amp;&amp;t[9]===e[9]&amp;&amp;t[10]===e[10]&amp;&amp;t[11]===e[11]&amp;&amp;t[12]===e[12]&amp;&amp;t[13]===e[13]&amp;&amp;t[14]===e[14]&amp;&amp;t[15]===e[15]},i.equals=function(t,e){var r=t[0],i=t[1],a=t[2],o=t[3],s=t[4],l=t[5],c=t[6],u=t[7],f=t[8],h=t[9],d=t[10],p=t[11],m=t[12],g=t[13],v=t[14],y=t[15],x=e[0],b=e[1],_=e[2],w=e[3],M=e[4],k=e[5],A=e[6],T=e[7],S=e[8],E=e[9],L=e[10],C=e[11],z=e[12],D=e[13],I=e[14],P=e[15];return Math.abs(r-x)&lt;=n.EPSILON*Math.max(1,Math.abs(r),Math.abs(x))&amp;&amp;Math.abs(i-b)&lt;=n.EPSILON*Math.max(1,Math.abs(i),Math.abs(b))&amp;&amp;Math.abs(a-_)&lt;=n.EPSILON*Math.max(1,Math.abs(a),Math.abs(_))&amp;&amp;Math.abs(o-w)&lt;=n.EPSILON*Math.max(1,Math.abs(o),Math.abs(w))&amp;&amp;Math.abs(s-M)&lt;=n.EPSILON*Math.max(1,Math.abs(s),Math.abs(M))&amp;&amp;Math.abs(l-k)&lt;=n.EPSILON*Math.max(1,Math.abs(l),Math.abs(k))&amp;&amp;Math.abs(c-A)&lt;=n.EPSILON*Math.max(1,Math.abs(c),Math.abs(A))&amp;&amp;Math.abs(u-T)&lt;=n.EPSILON*Math.max(1,Math.abs(u),Math.abs(T))&amp;&amp;Math.abs(f-S)&lt;=n.EPSILON*Math.max(1,Math.abs(f),Math.abs(S))&amp;&amp;Math.abs(h-E)&lt;=n.EPSILON*Math.max(1,Math.abs(h),Math.abs(E))&amp;&amp;Math.abs(d-L)&lt;=n.EPSILON*Math.max(1,Math.abs(d),Math.abs(L))&amp;&amp;Math.abs(p-C)&lt;=n.EPSILON*Math.max(1,Math.abs(p),Math.abs(C))&amp;&amp;Math.abs(m-z)&lt;=n.EPSILON*Math.max(1,Math.abs(m),Math.abs(z))&amp;&amp;Math.abs(g-D)&lt;=n.EPSILON*Math.max(1,Math.abs(g),Math.abs(D))&amp;&amp;Math.abs(v-I)&lt;=n.EPSILON*Math.max(1,Math.abs(v),Math.abs(I))&amp;&amp;Math.abs(y-P)&lt;=n.EPSILON*Math.max(1,Math.abs(y),Math.abs(P))},e.exports=i},{&quot;./common.js&quot;:199}],204:[function(t,e,r){var n=t(&quot;./common.js&quot;),i=t(&quot;./mat3.js&quot;),a=t(&quot;./vec3.js&quot;),o=t(&quot;./vec4.js&quot;),s={};s.create=function(){var t=new n.ARRAY_TYPE(4);return t[0]=0,t[1]=0,t[2]=0,t[3]=1,t},s.rotationTo=function(){var t=a.create(),e=a.fromValues(1,0,0),r=a.fromValues(0,1,0);return function(n,i,o){var l=a.dot(i,o);return l&lt;-.999999?(a.cross(t,e,i),a.length(t)&lt;1e-6&amp;&amp;a.cross(t,r,i),a.normalize(t,t),s.setAxisAngle(n,t,Math.PI),n):l&gt;.999999?(n[0]=0,n[1]=0,n[2]=0,n[3]=1,n):(a.cross(t,i,o),n[0]=t[0],n[1]=t[1],n[2]=t[2],n[3]=1+l,s.normalize(n,n))}}(),s.setAxes=function(){var t=i.create();return function(e,r,n,i){return t[0]=n[0],t[3]=n[1],t[6]=n[2],t[1]=i[0],t[4]=i[1],t[7]=i[2],t[2]=-r[0],t[5]=-r[1],t[8]=-r[2],s.normalize(e,s.fromMat3(e,t))}}(),s.clone=o.clone,s.fromValues=o.fromValues,s.copy=o.copy,s.set=o.set,s.identity=function(t){return t[0]=0,t[1]=0,t[2]=0,t[3]=1,t},s.setAxisAngle=function(t,e,r){r*=.5;var n=Math.sin(r);return t[0]=n*e[0],t[1]=n*e[1],t[2]=n*e[2],t[3]=Math.cos(r),t},s.getAxisAngle=function(t,e){var r=2*Math.acos(e[3]),n=Math.sin(r/2);return 0!=n?(t[0]=e[0]/n,t[1]=e[1]/n,t[2]=e[2]/n):(t[0]=1,t[1]=0,t[2]=0),r},s.add=o.add,s.multiply=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=e[3],s=r[0],l=r[1],c=r[2],u=r[3];return t[0]=n*u+o*s+i*c-a*l,t[1]=i*u+o*l+a*s-n*c,t[2]=a*u+o*c+n*l-i*s,t[3]=o*u-n*s-i*l-a*c,t},s.mul=s.multiply,s.scale=o.scale,s.rotateX=function(t,e,r){r*=.5;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+o*s,t[1]=i*l+a*s,t[2]=a*l-i*s,t[3]=o*l-n*s,t},s.rotateY=function(t,e,r){r*=.5;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]=a*l+n*s,t[3]=o*l-i*s,t},s.rotateZ=function(t,e,r){r*=.5;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+i*s,t[1]=i*l-n*s,t[2]=a*l+o*s,t[3]=o*l-a*s,t},s.calculateW=function(t,e){var r=e[0],n=e[1],i=e[2];return t[0]=r,t[1]=n,t[2]=i,t[3]=Math.sqrt(Math.abs(1-r*r-n*n-i*i)),t},s.dot=o.dot,s.lerp=o.lerp,s.slerp=function(t,e,r,n){var i,a,o,s,l,c=e[0],u=e[1],f=e[2],h=e[3],d=r[0],p=r[1],m=r[2],g=r[3];return(a=c*d+u*p+f*m+h*g)&lt;0&amp;&amp;(a=-a,d=-d,p=-p,m=-m,g=-g),1-a&gt;1e-6?(i=Math.acos(a),o=Math.sin(i),s=Math.sin((1-n)*i)/o,l=Math.sin(n*i)/o):(s=1-n,l=n),t[0]=s*c+l*d,t[1]=s*u+l*p,t[2]=s*f+l*m,t[3]=s*h+l*g,t},s.sqlerp=function(){var t=s.create(),e=s.create();return function(r,n,i,a,o,l){return s.slerp(t,n,o,l),s.slerp(e,i,a,l),s.slerp(r,t,e,2*l*(1-l)),r}}(),s.invert=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,s=o?1/o:0;return t[0]=-r*s,t[1]=-n*s,t[2]=-i*s,t[3]=a*s,t},s.conjugate=function(t,e){return t[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t[3]=e[3],t},s.length=o.length,s.len=s.length,s.squaredLength=o.squaredLength,s.sqrLen=s.squaredLength,s.normalize=o.normalize,s.fromMat3=function(t,e){var r,n=e[0]+e[4]+e[8];if(n&gt;0)r=Math.sqrt(n+1),t[3]=.5*r,r=.5/r,t[0]=(e[5]-e[7])*r,t[1]=(e[6]-e[2])*r,t[2]=(e[1]-e[3])*r;else{var i=0;e[4]&gt;e[0]&amp;&amp;(i=1),e[8]&gt;e[3*i+i]&amp;&amp;(i=2);var a=(i+1)%3,o=(i+2)%3;r=Math.sqrt(e[3*i+i]-e[3*a+a]-e[3*o+o]+1),t[i]=.5*r,r=.5/r,t[3]=(e[3*a+o]-e[3*o+a])*r,t[a]=(e[3*a+i]+e[3*i+a])*r,t[o]=(e[3*o+i]+e[3*i+o])*r}return t},s.str=function(t){return&quot;quat(&quot;+t[0]+&quot;, &quot;+t[1]+&quot;, &quot;+t[2]+&quot;, &quot;+t[3]+&quot;)&quot;},s.exactEquals=o.exactEquals,s.equals=o.equals,e.exports=s},{&quot;./common.js&quot;:199,&quot;./mat3.js&quot;:202,&quot;./vec3.js&quot;:206,&quot;./vec4.js&quot;:207}],205:[function(t,e,r){var n=t(&quot;./common.js&quot;),i={};i.create=function(){var t=new n.ARRAY_TYPE(2);return t[0]=0,t[1]=0,t},i.clone=function(t){var e=new n.ARRAY_TYPE(2);return e[0]=t[0],e[1]=t[1],e},i.fromValues=function(t,e){var r=new n.ARRAY_TYPE(2);return r[0]=t,r[1]=e,r},i.copy=function(t,e){return t[0]=e[0],t[1]=e[1],t},i.set=function(t,e,r){return t[0]=e,t[1]=r,t},i.add=function(t,e,r){return t[0]=e[0]+r[0],t[1]=e[1]+r[1],t},i.subtract=function(t,e,r){return t[0]=e[0]-r[0],t[1]=e[1]-r[1],t},i.sub=i.subtract,i.multiply=function(t,e,r){return t[0]=e[0]*r[0],t[1]=e[1]*r[1],t},i.mul=i.multiply,i.divide=function(t,e,r){return t[0]=e[0]/r[0],t[1]=e[1]/r[1],t},i.div=i.divide,i.ceil=function(t,e){return t[0]=Math.ceil(e[0]),t[1]=Math.ceil(e[1]),t},i.floor=function(t,e){return t[0]=Math.floor(e[0]),t[1]=Math.floor(e[1]),t},i.min=function(t,e,r){return t[0]=Math.min(e[0],r[0]),t[1]=Math.min(e[1],r[1]),t},i.max=function(t,e,r){return t[0]=Math.max(e[0],r[0]),t[1]=Math.max(e[1],r[1]),t},i.round=function(t,e){return t[0]=Math.round(e[0]),t[1]=Math.round(e[1]),t},i.scale=function(t,e,r){return t[0]=e[0]*r,t[1]=e[1]*r,t},i.scaleAndAdd=function(t,e,r,n){return t[0]=e[0]+r[0]*n,t[1]=e[1]+r[1]*n,t},i.distance=function(t,e){var r=e[0]-t[0],n=e[1]-t[1];return Math.sqrt(r*r+n*n)},i.dist=i.distance,i.squaredDistance=function(t,e){var r=e[0]-t[0],n=e[1]-t[1];return r*r+n*n},i.sqrDist=i.squaredDistance,i.length=function(t){var e=t[0],r=t[1];return Math.sqrt(e*e+r*r)},i.len=i.length,i.squaredLength=function(t){var e=t[0],r=t[1];return e*e+r*r},i.sqrLen=i.squaredLength,i.negate=function(t,e){return t[0]=-e[0],t[1]=-e[1],t},i.inverse=function(t,e){return t[0]=1/e[0],t[1]=1/e[1],t},i.normalize=function(t,e){var r=e[0],n=e[1],i=r*r+n*n;return i&gt;0&amp;&amp;(i=1/Math.sqrt(i),t[0]=e[0]*i,t[1]=e[1]*i),t},i.dot=function(t,e){return t[0]*e[0]+t[1]*e[1]},i.cross=function(t,e,r){var n=e[0]*r[1]-e[1]*r[0];return t[0]=t[1]=0,t[2]=n,t},i.lerp=function(t,e,r,n){var i=e[0],a=e[1];return t[0]=i+n*(r[0]-i),t[1]=a+n*(r[1]-a),t},i.random=function(t,e){e=e||1;var r=2*n.RANDOM()*Math.PI;return t[0]=Math.cos(r)*e,t[1]=Math.sin(r)*e,t},i.transformMat2=function(t,e,r){var n=e[0],i=e[1];return t[0]=r[0]*n+r[2]*i,t[1]=r[1]*n+r[3]*i,t},i.transformMat2d=function(t,e,r){var n=e[0],i=e[1];return t[0]=r[0]*n+r[2]*i+r[4],t[1]=r[1]*n+r[3]*i+r[5],t},i.transformMat3=function(t,e,r){var n=e[0],i=e[1];return t[0]=r[0]*n+r[3]*i+r[6],t[1]=r[1]*n+r[4]*i+r[7],t},i.transformMat4=function(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},i.forEach=function(){var t=i.create();return function(e,r,n,i,a,o){var s,l;for(r||(r=2),n||(n=0),l=i?Math.min(i*r+n,e.length):e.length,s=n;s&lt;l;s+=r)t[0]=e[s],t[1]=e[s+1],a(t,t,o),e[s]=t[0],e[s+1]=t[1];return e}}(),i.str=function(t){return&quot;vec2(&quot;+t[0]+&quot;, &quot;+t[1]+&quot;)&quot;},i.exactEquals=function(t,e){return t[0]===e[0]&amp;&amp;t[1]===e[1]},i.equals=function(t,e){var r=t[0],i=t[1],a=e[0],o=e[1];return Math.abs(r-a)&lt;=n.EPSILON*Math.max(1,Math.abs(r),Math.abs(a))&amp;&amp;Math.abs(i-o)&lt;=n.EPSILON*Math.max(1,Math.abs(i),Math.abs(o))},e.exports=i},{&quot;./common.js&quot;:199}],206:[function(t,e,r){var n=t(&quot;./common.js&quot;),i={};i.create=function(){var t=new n.ARRAY_TYPE(3);return t[0]=0,t[1]=0,t[2]=0,t},i.clone=function(t){var e=new n.ARRAY_TYPE(3);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e},i.fromValues=function(t,e,r){var i=new n.ARRAY_TYPE(3);return i[0]=t,i[1]=e,i[2]=r,i},i.copy=function(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t},i.set=function(t,e,r,n){return t[0]=e,t[1]=r,t[2]=n,t},i.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},i.subtract=function(t,e,r){return t[0]=e[0]-r[0],t[1]=e[1]-r[1],t[2]=e[2]-r[2],t},i.sub=i.subtract,i.multiply=function(t,e,r){return t[0]=e[0]*r[0],t[1]=e[1]*r[1],t[2]=e[2]*r[2],t},i.mul=i.multiply,i.divide=function(t,e,r){return t[0]=e[0]/r[0],t[1]=e[1]/r[1],t[2]=e[2]/r[2],t},i.div=i.divide,i.ceil=function(t,e){return t[0]=Math.ceil(e[0]),t[1]=Math.ceil(e[1]),t[2]=Math.ceil(e[2]),t},i.floor=function(t,e){return t[0]=Math.floor(e[0]),t[1]=Math.floor(e[1]),t[2]=Math.floor(e[2]),t},i.min=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},i.max=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},i.round=function(t,e){return t[0]=Math.round(e[0]),t[1]=Math.round(e[1]),t[2]=Math.round(e[2]),t},i.scale=function(t,e,r){return t[0]=e[0]*r,t[1]=e[1]*r,t[2]=e[2]*r,t},i.scaleAndAdd=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},i.distance=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)},i.dist=i.distance,i.squaredDistance=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},i.sqrDist=i.squaredDistance,i.length=function(t){var e=t[0],r=t[1],n=t[2];return Math.sqrt(e*e+r*r+n*n)},i.len=i.length,i.squaredLength=function(t){var e=t[0],r=t[1],n=t[2];return e*e+r*r+n*n},i.sqrLen=i.squaredLength,i.negate=function(t,e){return t[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t},i.inverse=function(t,e){return t[0]=1/e[0],t[1]=1/e[1],t[2]=1/e[2],t},i.normalize=function(t,e){var r=e[0],n=e[1],i=e[2],a=r*r+n*n+i*i;return a&gt;0&amp;&amp;(a=1/Math.sqrt(a),t[0]=e[0]*a,t[1]=e[1]*a,t[2]=e[2]*a),t},i.dot=function(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]},i.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},i.lerp=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},i.hermite=function(t,e,r,n,i,a){var o=a*a,s=o*(2*a-3)+1,l=o*(a-2)+a,c=o*(a-1),u=o*(3-2*a);return t[0]=e[0]*s+r[0]*l+n[0]*c+i[0]*u,t[1]=e[1]*s+r[1]*l+n[1]*c+i[1]*u,t[2]=e[2]*s+r[2]*l+n[2]*c+i[2]*u,t},i.bezier=function(t,e,r,n,i,a){var o=1-a,s=o*o,l=a*a,c=s*o,u=3*a*s,f=3*l*o,h=l*a;return t[0]=e[0]*c+r[0]*u+n[0]*f+i[0]*h,t[1]=e[1]*c+r[1]*u+n[1]*f+i[1]*h,t[2]=e[2]*c+r[2]*u+n[2]*f+i[2]*h,t},i.random=function(t,e){e=e||1;var r=2*n.RANDOM()*Math.PI,i=2*n.RANDOM()-1,a=Math.sqrt(1-i*i)*e;return t[0]=Math.cos(r)*a,t[1]=Math.sin(r)*a,t[2]=i*e,t},i.transformMat4=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},i.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},i.transformQuat=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,d=-o*n-s*i-l*a;return t[0]=u*c+d*-o+f*-l-h*-s,t[1]=f*c+d*-s+h*-o-u*-l,t[2]=h*c+d*-l+u*-s-f*-o,t},i.rotateX=function(t,e,r,n){var i=[],a=[];return i[0]=e[0]-r[0],i[1]=e[1]-r[1],i[2]=e[2]-r[2],a[0]=i[0],a[1]=i[1]*Math.cos(n)-i[2]*Math.sin(n),a[2]=i[1]*Math.sin(n)+i[2]*Math.cos(n),t[0]=a[0]+r[0],t[1]=a[1]+r[1],t[2]=a[2]+r[2],t},i.rotateY=function(t,e,r,n){var i=[],a=[];return i[0]=e[0]-r[0],i[1]=e[1]-r[1],i[2]=e[2]-r[2],a[0]=i[2]*Math.sin(n)+i[0]*Math.cos(n),a[1]=i[1],a[2]=i[2]*Math.cos(n)-i[0]*Math.sin(n),t[0]=a[0]+r[0],t[1]=a[1]+r[1],t[2]=a[2]+r[2],t},i.rotateZ=function(t,e,r,n){var i=[],a=[];return i[0]=e[0]-r[0],i[1]=e[1]-r[1],i[2]=e[2]-r[2],a[0]=i[0]*Math.cos(n)-i[1]*Math.sin(n),a[1]=i[0]*Math.sin(n)+i[1]*Math.cos(n),a[2]=i[2],t[0]=a[0]+r[0],t[1]=a[1]+r[1],t[2]=a[2]+r[2],t},i.forEach=function(){var t=i.create();return function(e,r,n,i,a,o){var s,l;for(r||(r=3),n||(n=0),l=i?Math.min(i*r+n,e.length):e.length,s=n;s&lt;l;s+=r)t[0]=e[s],t[1]=e[s+1],t[2]=e[s+2],a(t,t,o),e[s]=t[0],e[s+1]=t[1],e[s+2]=t[2];return e}}(),i.angle=function(t,e){var r=i.fromValues(t[0],t[1],t[2]),n=i.fromValues(e[0],e[1],e[2]);i.normalize(r,r),i.normalize(n,n);var a=i.dot(r,n);return a&gt;1?0:Math.acos(a)},i.str=function(t){return&quot;vec3(&quot;+t[0]+&quot;, &quot;+t[1]+&quot;, &quot;+t[2]+&quot;)&quot;},i.exactEquals=function(t,e){return t[0]===e[0]&amp;&amp;t[1]===e[1]&amp;&amp;t[2]===e[2]},i.equals=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)&lt;=n.EPSILON*Math.max(1,Math.abs(r),Math.abs(o))&amp;&amp;Math.abs(i-s)&lt;=n.EPSILON*Math.max(1,Math.abs(i),Math.abs(s))&amp;&amp;Math.abs(a-l)&lt;=n.EPSILON*Math.max(1,Math.abs(a),Math.abs(l))},e.exports=i},{&quot;./common.js&quot;:199}],207:[function(t,e,r){var n=t(&quot;./common.js&quot;),i={};i.create=function(){var t=new n.ARRAY_TYPE(4);return t[0]=0,t[1]=0,t[2]=0,t[3]=0,t},i.clone=function(t){var e=new n.ARRAY_TYPE(4);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e},i.fromValues=function(t,e,r,i){var a=new n.ARRAY_TYPE(4);return a[0]=t,a[1]=e,a[2]=r,a[3]=i,a},i.copy=function(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t},i.set=function(t,e,r,n,i){return t[0]=e,t[1]=r,t[2]=n,t[3]=i,t},i.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[3]=e[3]+r[3],t},i.subtract=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},i.sub=i.subtract,i.multiply=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},i.mul=i.multiply,i.divide=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},i.div=i.divide,i.ceil=function(t,e){return t[0]=Math.ceil(e[0]),t[1]=Math.ceil(e[1]),t[2]=Math.ceil(e[2]),t[3]=Math.ceil(e[3]),t},i.floor=function(t,e){return t[0]=Math.floor(e[0]),t[1]=Math.floor(e[1]),t[2]=Math.floor(e[2]),t[3]=Math.floor(e[3]),t},i.min=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},i.max=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},i.round=function(t,e){return t[0]=Math.round(e[0]),t[1]=Math.round(e[1]),t[2]=Math.round(e[2]),t[3]=Math.round(e[3]),t},i.scale=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},i.scaleAndAdd=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},i.distance=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)},i.dist=i.distance,i.squaredDistance=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},i.sqrDist=i.squaredDistance,i.length=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)},i.len=i.length,i.squaredLength=function(t){var e=t[0],r=t[1],n=t[2],i=t[3];return e*e+r*r+n*n+i*i},i.sqrLen=i.squaredLength,i.negate=function(t,e){return t[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t[3]=-e[3],t},i.inverse=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},i.normalize=function(t,e){var r=e[0],n=e[1],i=e[2],a=e[3],o=r*r+n*n+i*i+a*a;return o&gt;0&amp;&amp;(o=1/Math.sqrt(o),t[0]=r*o,t[1]=n*o,t[2]=i*o,t[3]=a*o),t},i.dot=function(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]+t[3]*e[3]},i.lerp=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},i.random=function(t,e){return e=e||1,t[0]=n.RANDOM(),t[1]=n.RANDOM(),t[2]=n.RANDOM(),t[3]=n.RANDOM(),i.normalize(t,t),i.scale(t,t,e),t},i.transformMat4=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},i.transformQuat=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,d=-o*n-s*i-l*a;return t[0]=u*c+d*-o+f*-l-h*-s,t[1]=f*c+d*-s+h*-o-u*-l,t[2]=h*c+d*-l+u*-s-f*-o,t[3]=e[3],t},i.forEach=function(){var t=i.create();return function(e,r,n,i,a,o){var s,l;for(r||(r=4),n||(n=0),l=i?Math.min(i*r+n,e.length):e.length,s=n;s&lt;l;s+=r)t[0]=e[s],t[1]=e[s+1],t[2]=e[s+2],t[3]=e[s+3],a(t,t,o),e[s]=t[0],e[s+1]=t[1],e[s+2]=t[2],e[s+3]=t[3];return e}}(),i.str=function(t){return&quot;vec4(&quot;+t[0]+&quot;, &quot;+t[1]+&quot;, &quot;+t[2]+&quot;, &quot;+t[3]+&quot;)&quot;},i.exactEquals=function(t,e){return t[0]===e[0]&amp;&amp;t[1]===e[1]&amp;&amp;t[2]===e[2]&amp;&amp;t[3]===e[3]},i.equals=function(t,e){var r=t[0],i=t[1],a=t[2],o=t[3],s=e[0],l=e[1],c=e[2],u=e[3];return Math.abs(r-s)&lt;=n.EPSILON*Math.max(1,Math.abs(r),Math.abs(s))&amp;&amp;Math.abs(i-l)&lt;=n.EPSILON*Math.max(1,Math.abs(i),Math.abs(l))&amp;&amp;Math.abs(a-c)&lt;=n.EPSILON*Math.max(1,Math.abs(a),Math.abs(c))&amp;&amp;Math.abs(o-u)&lt;=n.EPSILON*Math.max(1,Math.abs(o),Math.abs(u))},e.exports=i},{&quot;./common.js&quot;:199}],208:[function(t,e,r){&quot;use strict&quot;;function n(t,e){for(var r=[0,0,0,0],n=0;n&lt;4;++n)for(var i=0;i&lt;4;++i)r[i]+=t[4*n+i]*e[n];return r}function i(t,e,r,i,a){for(var o=n(i,n(r,n(e,[t[0],t[1],t[2],1]))),s=0;s&lt;3;++s)o[s]/=o[3];return[.5*a[0]*(1+o[0]),.5*a[1]*(1-o[1])]}var a=t(&quot;barycentric&quot;),o=t(&quot;polytope-closest-point/lib/closest_point_2d.js&quot;);e.exports=function(t,e,r,n,s,l){if(1===t.length)return[0,t[0].slice()];for(var c=new Array(t.length),u=0;u&lt;t.length;++u)c[u]=i(t[u],r,n,s,l);var f=0,h=1/0;for(u=0;u&lt;c.length;++u){for(var d=0,p=0;p&lt;2;++p)d+=Math.pow(c[u][p]-e[p],2);d&lt;h&amp;&amp;(h=d,f=u)}var m=function(t,e){if(2===t.length){for(var r=0,n=0,i=0;i&lt;2;++i)r+=Math.pow(e[i]-t[0][i],2),n+=Math.pow(e[i]-t[1][i],2);return r=Math.sqrt(r),n=Math.sqrt(n),r+n&lt;1e-6?[1,0]:[n/(r+n),r/(n+r)]}if(3===t.length){var s=[0,0];return o(t[0],t[1],t[2],e,s),a(t,s)}return[]}(c,e),g=0;for(u=0;u&lt;3;++u){if(m[u]&lt;-.001||m[u]&gt;1.0001)return null;g+=m[u]}return Math.abs(g-1)&gt;.001?null:[f,function(t,e){for(var r=[0,0,0],n=0;n&lt;t.length;++n)for(var i=t[n],a=e[n],o=0;o&lt;3;++o)r[o]+=a*i[o];return r}(t,m),m]}},{barycentric:53,&quot;polytope-closest-point/lib/closest_point_2d.js&quot;:487}],209:[function(t,e,r){var n=&quot;precision mediump float;\n#define GLSLIFY 1\n\nuniform vec3  clipBounds[2];\nuniform float pickId;\n\nvarying vec3 f_position;\nvarying vec4 f_id;\n\nvoid main() {\n  if(any(lessThan(f_position, clipBounds[0])) || \n     any(greaterThan(f_position, clipBounds[1]))) {\n    discard;\n  }\n  gl_FragColor = vec4(pickId, f_id.xyz);\n}&quot;;r.meshShader={vertex:&quot;precision mediump float;\n#define GLSLIFY 1\n\nattribute vec3 position, normal;\nattribute vec4 color;\nattribute vec2 uv;\n\nuniform mat4 model\n           , view\n           , projection;\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\nvoid main() {\n  vec4 m_position  = model * vec4(position, 1.0);\n  vec4 t_position  = view * m_position;\n  gl_Position      = projection * t_position;\n  f_color          = color;\n  f_normal         = normal;\n  f_data           = position;\n  f_eyeDirection   = eyePosition   - position;\n  f_lightDirection = lightPosition - position;\n  f_uv             = uv;\n}&quot;,fragment:&quot;precision mediump float;\n#define GLSLIFY 1\n\nfloat beckmannDistribution_2_0(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\n\n\nfloat cookTorranceSpecular_1_1(\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_2_0(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\n\nuniform vec3 clipBounds[2];\nuniform float roughness\n            , fresnel\n            , kambient\n            , kdiffuse\n            , kspecular\n            , opacity;\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(any(lessThan(f_data, clipBounds[0])) || \n     any(greaterThan(f_data, clipBounds[1]))) {\n    discard;\n  }\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 = cookTorranceSpecular_1_1(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}&quot;,attributes:[{name:&quot;position&quot;,type:&quot;vec3&quot;},{name:&quot;normal&quot;,type:&quot;vec3&quot;},{name:&quot;color&quot;,type:&quot;vec4&quot;},{name:&quot;uv&quot;,type:&quot;vec2&quot;}]},r.wireShader={vertex:&quot;precision mediump 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}&quot;,fragment:&quot;precision mediump float;\n#define GLSLIFY 1\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(any(lessThan(f_data, clipBounds[0])) || \n     any(greaterThan(f_data, clipBounds[1]))) {\n    discard;\n  }\n\n  gl_FragColor = f_color * texture2D(texture, f_uv) * opacity;\n}&quot;,attributes:[{name:&quot;position&quot;,type:&quot;vec3&quot;},{name:&quot;color&quot;,type:&quot;vec4&quot;},{name:&quot;uv&quot;,type:&quot;vec2&quot;}]},r.pointShader={vertex:&quot;precision mediump float;\n#define GLSLIFY 1\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(any(lessThan(position, clipBounds[0])) || \n     any(greaterThan(position, clipBounds[1]))) {\n    gl_Position = vec4(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}&quot;,fragment:&quot;precision mediump 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) &gt; 0.25) {\n    discard;\n  }\n  gl_FragColor = f_color * texture2D(texture, f_uv) * opacity;\n}&quot;,attributes:[{name:&quot;position&quot;,type:&quot;vec3&quot;},{name:&quot;color&quot;,type:&quot;vec4&quot;},{name:&quot;uv&quot;,type:&quot;vec2&quot;},{name:&quot;pointSize&quot;,type:&quot;float&quot;}]},r.pickShader={vertex:&quot;precision mediump 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}&quot;,fragment:n,attributes:[{name:&quot;position&quot;,type:&quot;vec3&quot;},{name:&quot;id&quot;,type:&quot;vec4&quot;}]},r.pointPickShader={vertex:&quot;precision mediump float;\n#define GLSLIFY 1\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(any(lessThan(position, clipBounds[0])) || \n     any(greaterThan(position, clipBounds[1]))) {\n    gl_Position = vec4(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}&quot;,fragment:n,attributes:[{name:&quot;position&quot;,type:&quot;vec3&quot;},{name:&quot;pointSize&quot;,type:&quot;float&quot;},{name:&quot;id&quot;,type:&quot;vec4&quot;}]},r.contourShader={vertex:&quot;precision mediump 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}&quot;,fragment:&quot;precision mediump float;\n#define GLSLIFY 1\n\nuniform vec3 contourColor;\n\nvoid main() {\n  gl_FragColor = vec4(contourColor,1);\n}\n&quot;,attributes:[{name:&quot;position&quot;,type:&quot;vec3&quot;}]}},{}],210:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,n,i,a,o,s,l,c,u,f,h,d,p,m,g,v,y,x,b,_,w,k,A,T,S){this.gl=t,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=d,this.triangleCount=0,this.lineWidth=1,this.edgePositions=p,this.edgeColors=g,this.edgeUVs=v,this.edgeIds=m,this.edgeVAO=y,this.edgeCount=0,this.pointPositions=x,this.pointColors=_,this.pointUVs=w,this.pointSizes=k,this.pointIds=b,this.pointVAO=A,this.pointCount=0,this.contourLineWidth=1,this.contourPositions=T,this.contourVAO=S,this.contourCount=0,this.contourColor=[0,0,0],this.contourEnable=!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._model=M,this._view=M,this._projection=M,this._resolution=[1,1]}var i=t(&quot;gl-shader&quot;),a=t(&quot;gl-buffer&quot;),o=t(&quot;gl-vao&quot;),s=t(&quot;gl-texture2d&quot;),l=t(&quot;normals&quot;),c=t(&quot;gl-mat4/multiply&quot;),u=t(&quot;gl-mat4/invert&quot;),f=t(&quot;ndarray&quot;),h=t(&quot;colormap&quot;),d=t(&quot;simplicial-complex-contour&quot;),p=t(&quot;typedarray-pool&quot;),m=t(&quot;./lib/shaders&quot;),g=t(&quot;./lib/closest-point&quot;),v=m.meshShader,y=m.wireShader,x=m.pointShader,b=m.pickShader,_=m.pointPickShader,w=m.contourShader,M=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],k=n.prototype;k.isOpaque=function(){return this.opacity&gt;=1},k.isTransparent=function(){return this.opacity&lt;1},k.pickSlots=1,k.setPickBase=function(t){this.pickId=t},k.highlight=function(t){if(t&amp;&amp;this.contourEnable){for(var e=d(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&lt;a;++l)for(var c=r[l],u=0;u&lt;2;++u){var f=c[0];2===c.length&amp;&amp;(f=c[u]);for(var h=n[f][0],m=n[f][1],g=i[f],v=1-g,y=this.positions[h],x=this.positions[m],b=0;b&lt;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,&quot;contourEnable&quot;in t&amp;&amp;(this.contourEnable=t.contourEnable),&quot;contourColor&quot;in t&amp;&amp;(this.contourColor=t.contourColor),&quot;lineWidth&quot;in t&amp;&amp;(this.lineWidth=t.lineWidth),&quot;lightPosition&quot;in t&amp;&amp;(this.lightPosition=t.lightPosition),&quot;opacity&quot;in t&amp;&amp;(this.opacity=t.opacity),&quot;ambient&quot;in t&amp;&amp;(this.ambientLight=t.ambient),&quot;diffuse&quot;in t&amp;&amp;(this.diffuseLight=t.diffuse),&quot;specular&quot;in t&amp;&amp;(this.specularLight=t.specular),&quot;roughness&quot;in t&amp;&amp;(this.roughness=t.roughness),&quot;fresnel&quot;in t&amp;&amp;(this.fresnel=t.fresnel),t.texture?(this.texture.dispose(),this.texture=s(e,t.texture)):t.colormap&amp;&amp;(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=h({colormap:t,nshades:256,format:&quot;rgba&quot;}),r=new Uint8Array(1024),n=0;n&lt;256;++n){for(var i=e[n],a=0;a&lt;3;++a)r[4*n+a]=i[a];r[4*n+3]=255*i[3]}return f(r,[256,256,4],[4,0,1])}(t.colormap)),this.texture.generateMipmap());var r=t.cells,n=t.positions;if(n&amp;&amp;r){var i=[],a=[],o=[],c=[],u=[],d=[],p=[],m=[],g=[],v=[],y=[],x=[],b=[],_=[];this.cells=r,this.positions=n;var w=t.vertexNormals,M=t.cellNormals,k=void 0===t.vertexNormalsEpsilon?1e-6:t.vertexNormalsEpsilon,A=void 0===t.faceNormalsEpsilon?1e-6:t.faceNormalsEpsilon;t.useFacetNormals&amp;&amp;!M&amp;&amp;(M=l.faceNormals(r,n,A)),M||w||(w=l.vertexNormals(r,n,k));var T=t.vertexColors,S=t.cellColors,E=t.meshColor||[1,1,1,1],L=t.vertexUVs,C=t.vertexIntensity,z=t.cellUVs,D=t.cellIntensity,I=1/0,P=-1/0;if(!L&amp;&amp;!z)if(C)if(t.vertexIntensityBounds)I=+t.vertexIntensityBounds[0],P=+t.vertexIntensityBounds[1];else for(var O=0;O&lt;C.length;++O){var F=C[O];I=Math.min(I,F),P=Math.max(P,F)}else if(D)for(O=0;O&lt;D.length;++O){F=D[O];I=Math.min(I,F),P=Math.max(P,F)}else for(O=0;O&lt;n.length;++O){F=n[O][2];I=Math.min(I,F),P=Math.max(P,F)}this.intensity=C||(D?function(t,e,r){for(var n=new Array(e),i=0;i&lt;e;++i)n[i]=0;var a=t.length;for(i=0;i&lt;a;++i)for(var o=t[i],s=0;s&lt;o.length;++s)n[o[s]]=r[i];return n}(r,n.length,D):function(t){for(var e=t.length,r=new Array(e),n=0;n&lt;e;++n)r[n]=t[n][2];return r}(n));var R=t.pointSizes,N=t.pointSize||1;this.bounds=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]];for(O=0;O&lt;n.length;++O)for(var j=n[O],B=0;B&lt;3;++B)!isNaN(j[B])&amp;&amp;isFinite(j[B])&amp;&amp;(this.bounds[0][B]=Math.min(this.bounds[0][B],j[B]),this.bounds[1][B]=Math.max(this.bounds[1][B],j[B]));var U=0,V=0,q=0;t:for(O=0;O&lt;r.length;++O){var H=r[O];switch(H.length){case 1:for(j=n[Y=H[0]],B=0;B&lt;3;++B)if(isNaN(j[B])||!isFinite(j[B]))continue t;v.push(j[0],j[1],j[2]);3===(W=T?T[Y]:S?S[O]:E).length?y.push(W[0],W[1],W[2],1):y.push(W[0],W[1],W[2],W[3]);X=L?L[Y]:C?[(C[Y]-I)/(P-I),0]:z?z[O]:D?[(D[O]-I)/(P-I),0]:[(j[2]-I)/(P-I),0],x.push(X[0],X[1]),R?b.push(R[Y]):b.push(N),_.push(O),q+=1;break;case 2:for(B=0;B&lt;2;++B){j=n[Y=H[B]];for(var G=0;G&lt;3;++G)if(isNaN(j[G])||!isFinite(j[G]))continue t}for(B=0;B&lt;2;++B){j=n[Y=H[B]];d.push(j[0],j[1],j[2]);3===(W=T?T[Y]:S?S[O]:E).length?p.push(W[0],W[1],W[2],1):p.push(W[0],W[1],W[2],W[3]);X=L?L[Y]:C?[(C[Y]-I)/(P-I),0]:z?z[O]:D?[(D[O]-I)/(P-I),0]:[(j[2]-I)/(P-I),0],m.push(X[0],X[1]),g.push(O)}V+=1;break;case 3:for(B=0;B&lt;3;++B)for(j=n[Y=H[B]],G=0;G&lt;3;++G)if(isNaN(j[G])||!isFinite(j[G]))continue t;for(B=0;B&lt;3;++B){var Y;j=n[Y=H[B]];i.push(j[0],j[1],j[2]);var W;3===(W=T?T[Y]:S?S[O]:E).length?a.push(W[0],W[1],W[2],1):a.push(W[0],W[1],W[2],W[3]);var X;X=L?L[Y]:C?[(C[Y]-I)/(P-I),0]:z?z[O]:D?[(D[O]-I)/(P-I),0]:[(j[2]-I)/(P-I),0],c.push(X[0],X[1]);var Z;Z=w?w[Y]:M[O],o.push(Z[0],Z[1],Z[2]),u.push(O)}U+=1}}this.pointCount=q,this.edgeCount=V,this.triangleCount=U,this.pointPositions.update(v),this.pointColors.update(y),this.pointUVs.update(x),this.pointSizes.update(b),this.pointIds.update(new Uint32Array(_)),this.edgePositions.update(d),this.edgeColors.update(p),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(o),this.triangleIds.update(new Uint32Array(u))}},k.drawTransparent=k.draw=function(t){t=t||{};for(var e=this.gl,r=t.model||M,n=t.view||M,i=t.projection||M,a=[[-1e6,-1e6,-1e6],[1e6,1e6,1e6]],o=0;o&lt;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,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,contourColor:this.contourColor,texture:0};this.texture.bind(0);var l=new Array(16);c(l,s.view,s.model),c(l,s.projection,l),u(l,l);for(o=0;o&lt;3;++o)s.eyePosition[o]=l[12+o]/l[15];var f=l[15];for(o=0;o&lt;3;++o)f+=this.lightPosition[o]*l[4*o+3];for(o=0;o&lt;3;++o){for(var h=l[12+o],d=0;d&lt;3;++d)h+=l[4*d+o]*this.lightPosition[d];s.lightPosition[o]=h/f}if(this.triangleCount&gt;0){(p=this.triShader).bind(),p.uniforms=s,this.triangleVAO.bind(),e.drawArrays(e.TRIANGLES,0,3*this.triangleCount),this.triangleVAO.unbind()}if(this.edgeCount&gt;0&amp;&amp;this.lineWidth&gt;0){(p=this.lineShader).bind(),p.uniforms=s,this.edgeVAO.bind(),e.lineWidth(this.lineWidth),e.drawArrays(e.LINES,0,2*this.edgeCount),this.edgeVAO.unbind()}if(this.pointCount&gt;0){(p=this.pointShader).bind(),p.uniforms=s,this.pointVAO.bind(),e.drawArrays(e.POINTS,0,this.pointCount),this.pointVAO.unbind()}if(this.contourEnable&amp;&amp;this.contourCount&gt;0&amp;&amp;this.contourLineWidth&gt;0){var p;(p=this.contourShader).bind(),p.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||M,n=t.view||M,i=t.projection||M,a=[[-1e6,-1e6,-1e6],[1e6,1e6,1e6]],o=0;o&lt;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,pickId:this.pickId/255};if((l=this.pickShader).bind(),l.uniforms=s,this.triangleCount&gt;0&amp;&amp;(this.triangleVAO.bind(),e.drawArrays(e.TRIANGLES,0,3*this.triangleCount),this.triangleVAO.unbind()),this.edgeCount&gt;0&amp;&amp;(this.edgeVAO.bind(),e.lineWidth(this.lineWidth),e.drawArrays(e.LINES,0,2*this.edgeCount),this.edgeVAO.unbind()),this.pointCount&gt;0){var l;(l=this.pointPickShader).bind(),l.uniforms=s,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&lt;r.length;++a)i[a]=n[r[a]];var o=g(i,[t.coord[0],this._resolution[1]-t.coord[1]],this._model,this._view,this._projection,this._resolution);if(!o)return null;var s=o[2],l=0;for(a=0;a&lt;r.length;++a)l+=s[a]*this.intensity[r[a]];return{position:o[1],index:r[o[0]],cell:r,cellId:e,intensity:l,dataCoordinate:this.positions[r[o[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&amp;&amp;(t=(e=t).gl);var r=function(t){var e=i(t,v.vertex,v.fragment);return e.attributes.position.location=0,e.attributes.color.location=2,e.attributes.uv.location=3,e.attributes.normal.location=4,e}(t),l=function(t){var e=i(t,y.vertex,y.fragment);return e.attributes.position.location=0,e.attributes.color.location=2,e.attributes.uv.location=3,e}(t),c=function(t){var e=i(t,x.vertex,x.fragment);return e.attributes.position.location=0,e.attributes.color.location=2,e.attributes.uv.location=3,e.attributes.pointSize.location=4,e}(t),u=function(t){var e=i(t,b.vertex,b.fragment);return e.attributes.position.location=0,e.attributes.id.location=1,e}(t),h=function(t){var e=i(t,_.vertex,_.fragment);return e.attributes.position.location=0,e.attributes.id.location=1,e.attributes.pointSize.location=4,e}(t),d=function(t){var e=i(t,w.vertex,w.fragment);return e.attributes.position.location=0,e}(t),p=s(t,f(new Uint8Array([255,255,255,255]),[1,1,4]));p.generateMipmap(),p.minFilter=t.LINEAR_MIPMAP_LINEAR,p.magFilter=t.LINEAR;var m=a(t),g=a(t),M=a(t),k=a(t),A=a(t),T=o(t,[{buffer:m,type:t.FLOAT,size:3},{buffer:A,type:t.UNSIGNED_BYTE,size:4,normalized:!0},{buffer:g,type:t.FLOAT,size:4},{buffer:M,type:t.FLOAT,size:2},{buffer:k,type:t.FLOAT,size:3}]),S=a(t),E=a(t),L=a(t),C=a(t),z=o(t,[{buffer:S,type:t.FLOAT,size:3},{buffer:C,type:t.UNSIGNED_BYTE,size:4,normalized:!0},{buffer:E,type:t.FLOAT,size:4},{buffer:L,type:t.FLOAT,size:2}]),D=a(t),I=a(t),P=a(t),O=a(t),F=a(t),R=o(t,[{buffer:D,type:t.FLOAT,size:3},{buffer:F,type:t.UNSIGNED_BYTE,size:4,normalized:!0},{buffer:I,type:t.FLOAT,size:4},{buffer:P,type:t.FLOAT,size:2},{buffer:O,type:t.FLOAT,size:1}]),N=a(t),j=new n(t,p,r,l,c,u,h,d,m,A,g,M,k,T,S,C,E,L,z,D,F,I,P,O,R,N,o(t,[{buffer:N,type:t.FLOAT,size:3}]));return j.update(e),j}},{&quot;./lib/closest-point&quot;:208,&quot;./lib/shaders&quot;:209,colormap:105,&quot;gl-buffer&quot;:165,&quot;gl-mat4/invert&quot;:186,&quot;gl-mat4/multiply&quot;:188,&quot;gl-shader&quot;:243,&quot;gl-texture2d&quot;:255,&quot;gl-vao&quot;:259,ndarray:458,normals:461,&quot;simplicial-complex-contour&quot;:524,&quot;typedarray-pool&quot;:554}],211:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r){this.plot=t,this.vbo=e,this.shader=r}e.exports=function(t){var e=t.gl;return new n(t,i(e,[0,0,0,1,1,0,1,1]),a(e,o.boxVert,o.lineFrag))};var i=t(&quot;gl-buffer&quot;),a=t(&quot;gl-shader&quot;),o=t(&quot;./shaders&quot;),s=n.prototype;s.bind=function(){var t=this.shader;this.vbo.bind(),this.shader.bind(),t.attributes.coord.pointer(),t.uniforms.screenBox=this.plot.screenBox},s.drawBox=function(){var t=[0,0],e=[0,0];return function(r,n,i,a,o){var s=this.plot,l=this.shader,c=s.gl;t[0]=r,t[1]=n,e[0]=i,e[1]=a,l.uniforms.lo=t,l.uniforms.hi=e,l.uniforms.color=o,c.drawArrays(c.TRIANGLE_STRIP,0,4)}}(),s.dispose=function(){this.vbo.dispose(),this.shader.dispose()}},{&quot;./shaders&quot;:214,&quot;gl-buffer&quot;:165,&quot;gl-shader&quot;:217}],212:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,n){this.plot=t,this.vbo=e,this.shader=r,this.tickShader=n,this.ticks=[[],[]]}function i(t,e){return t-e}e.exports=function(t){var e=t.gl;return new n(t,a(e),o(e,l.gridVert,l.gridFrag),o(e,l.tickVert,l.gridFrag))};var a=t(&quot;gl-buffer&quot;),o=t(&quot;gl-shader&quot;),s=t(&quot;binary-search-bounds&quot;),l=t(&quot;./shaders&quot;),c=n.prototype;c.draw=function(){var t=[0,0],e=[0,0],r=[0,0];return function(){for(var n=this.plot,i=this.vbo,a=this.shader,o=this.ticks,s=n.gl,l=n._tickBounds,c=n.dataBox,u=n.viewBox,f=n.gridLineWidth,h=n.gridLineColor,d=n.gridLineEnable,p=n.pixelRatio,m=0;m&lt;2;++m){var g=l[m],v=l[m+2]-g,y=.5*(c[m+2]+c[m]),x=c[m+2]-c[m];e[m]=2*v/x,t[m]=2*(g-y)/x}a.bind(),i.bind(),a.attributes.dataCoord.pointer(),a.uniforms.dataShift=t,a.uniforms.dataScale=e;var b=0;for(m=0;m&lt;2;++m){r[0]=r[1]=0,r[m]=1,a.uniforms.dataAxis=r,a.uniforms.lineWidth=f[m]/(u[m+2]-u[m])*p,a.uniforms.color=h[m];var _=6*o[m].length;d[m]&amp;&amp;_&amp;&amp;s.drawArrays(s.TRIANGLES,b,_),b+=_}}}(),c.drawTickMarks=function(){var t=[0,0],e=[0,0],r=[1,0],n=[0,1],a=[0,0],o=[0,0];return function(){for(var l=this.plot,c=this.vbo,u=this.tickShader,f=this.ticks,h=l.gl,d=l._tickBounds,p=l.dataBox,m=l.viewBox,g=l.pixelRatio,v=l.screenBox,y=v[2]-v[0],x=v[3]-v[1],b=m[2]-m[0],_=m[3]-m[1],w=0;w&lt;2;++w){var M=d[w],k=d[w+2]-M,A=.5*(p[w+2]+p[w]),T=p[w+2]-p[w];e[w]=2*k/T,t[w]=2*(M-A)/T}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=l.tickMarkLength,L=l.tickMarkWidth,C=l.tickMarkColor,z=6*f[0].length,D=Math.min(s.ge(f[0],(p[0]-d[0])/(d[2]-d[0]),i),f[0].length),I=Math.min(s.gt(f[0],(p[2]-d[0])/(d[2]-d[0]),i),f[0].length),P=0+6*D,O=6*Math.max(0,I-D),F=Math.min(s.ge(f[1],(p[1]-d[1])/(d[3]-d[1]),i),f[1].length),R=Math.min(s.gt(f[1],(p[3]-d[1])/(d[3]-d[1]),i),f[1].length),N=z+6*F,j=6*Math.max(0,R-F);a[0]=2*(m[0]-E[1])/y-1,a[1]=(m[3]+m[1])/x-1,o[0]=E[1]*g/y,o[1]=L[1]*g/x,j&amp;&amp;(S.color=C[1],S.tickScale=o,S.dataAxis=n,S.screenOffset=a,h.drawArrays(h.TRIANGLES,N,j)),a[0]=(m[2]+m[0])/y-1,a[1]=2*(m[1]-E[0])/x-1,o[0]=L[0]*g/y,o[1]=E[0]*g/x,O&amp;&amp;(S.color=C[0],S.tickScale=o,S.dataAxis=r,S.screenOffset=a,h.drawArrays(h.TRIANGLES,P,O)),a[0]=2*(m[2]+E[3])/y-1,a[1]=(m[3]+m[1])/x-1,o[0]=E[3]*g/y,o[1]=L[3]*g/x,j&amp;&amp;(S.color=C[3],S.tickScale=o,S.dataAxis=n,S.screenOffset=a,h.drawArrays(h.TRIANGLES,N,j)),a[0]=(m[2]+m[0])/y-1,a[1]=2*(m[3]+E[2])/x-1,o[0]=L[2]*g/y,o[1]=E[2]*g/x,O&amp;&amp;(S.color=C[2],S.tickScale=o,S.dataAxis=r,S.screenOffset=a,h.drawArrays(h.TRIANGLES,P,O))}}(),c.update=function(){var t=[1,1,-1,-1,1,-1],e=[1,-1,1,1,-1,-1];return function(r){for(var n=r.ticks,i=r.bounds,a=new Float32Array(18*(n[0].length+n[1].length)),o=(this.plot.zeroLineEnable,0),s=[[],[]],l=0;l&lt;2;++l)for(var c=s[l],u=n[l],f=i[l],h=i[l+2],d=0;d&lt;u.length;++d){var p=(u[d].x-f)/(h-f);c.push(p);for(var m=0;m&lt;6;++m)a[o++]=p,a[o++]=t[m],a[o++]=e[m]}this.ticks=s,this.vbo.update(a)}}(),c.dispose=function(){this.vbo.dispose(),this.shader.dispose(),this.tickShader.dispose()}},{&quot;./shaders&quot;:214,&quot;binary-search-bounds&quot;:216,&quot;gl-buffer&quot;:165,&quot;gl-shader&quot;:217}],213:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r){this.plot=t,this.vbo=e,this.shader=r}e.exports=function(t){var e=t.gl;return new n(t,i(e,[-1,-1,-1,1,1,-1,1,1]),a(e,o.lineVert,o.lineFrag))};var i=t(&quot;gl-buffer&quot;),a=t(&quot;gl-shader&quot;),o=t(&quot;./shaders&quot;),s=n.prototype;s.bind=function(){var t=this.shader;this.vbo.bind(),this.shader.bind(),t.attributes.coord.pointer(),t.uniforms.screenBox=this.plot.screenBox},s.drawLine=function(){var t=[0,0],e=[0,0];return function(r,n,i,a,o,s){var l=this.plot,c=this.shader,u=l.gl;t[0]=r,t[1]=n,e[0]=i,e[1]=a,c.uniforms.start=t,c.uniforms.end=e,c.uniforms.width=o*l.pixelRatio,c.uniforms.color=s,u.drawArrays(u.TRIANGLE_STRIP,0,4)}}(),s.dispose=function(){this.vbo.dispose(),this.shader.dispose()}},{&quot;./shaders&quot;:214,&quot;gl-buffer&quot;:165,&quot;gl-shader&quot;:217}],214:[function(t,e,r){&quot;use strict&quot;;var n=&quot;precision lowp float;\n#define GLSLIFY 1\nuniform vec4 color;\nvoid main() {\n  gl_FragColor = vec4(color.xyz * color.w, color.w);\n}\n&quot;;e.exports={lineVert:&quot;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&quot;,lineFrag:n,textVert:&quot;#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&quot;,textFrag:n,gridVert:&quot;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&quot;,gridFrag:n,boxVert:&quot;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&quot;,tickVert:&quot;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&quot;}},{}],215:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r){this.plot=t,this.vbo=e,this.shader=r,this.tickOffset=[[],[]],this.tickX=[[],[]],this.labelOffset=[0,0],this.labelCount=[0,0]}e.exports=function(t){var e=t.gl;return new n(t,i(e),a(e,l.textVert,l.textFrag))};var i=t(&quot;gl-buffer&quot;),a=t(&quot;gl-shader&quot;),o=t(&quot;text-cache&quot;),s=t(&quot;binary-search-bounds&quot;),l=t(&quot;./shaders&quot;),c=n.prototype;c.drawTicks=function(){var t=[0,0],e=[0,0],r=[0,0];return function(n){var i=this.plot,a=this.shader,o=this.tickX[n],l=this.tickOffset[n],c=i.gl,u=i.viewBox,f=i.dataBox,h=i.screenBox,d=i.pixelRatio,p=i.tickEnable,m=i.tickPad,g=i.tickColor,v=i.tickAngle,y=i.labelEnable,x=i.labelPad,b=i.labelColor,_=i.labelAngle,w=this.labelOffset[n],M=this.labelCount[n],k=s.lt(o,f[n]),A=s.le(o,f[n+2]);t[0]=t[1]=0,t[n]=1,e[n]=(u[2+n]+u[n])/(h[2+n]-h[n])-1;var T=2/h[2+(1^n)]-h[1^n];e[1^n]=T*u[1^n]-1,p[n]&amp;&amp;(e[1^n]-=T*d*m[n],k&lt;A&amp;&amp;l[A]&gt;l[k]&amp;&amp;(a.uniforms.dataAxis=t,a.uniforms.screenOffset=e,a.uniforms.color=g[n],a.uniforms.angle=v[n],c.drawArrays(c.TRIANGLES,l[k],l[A]-l[k]))),y[n]&amp;&amp;M&amp;&amp;(e[1^n]-=T*d*x[n],a.uniforms.dataAxis=r,a.uniforms.screenOffset=e,a.uniforms.color=b[n],a.uniforms.angle=_[n],c.drawArrays(c.TRIANGLES,w,M)),e[1^n]=T*u[2+(1^n)]-1,p[n+2]&amp;&amp;(e[1^n]+=T*d*m[n+2],k&lt;A&amp;&amp;l[A]&gt;l[k]&amp;&amp;(a.uniforms.dataAxis=t,a.uniforms.screenOffset=e,a.uniforms.color=g[n+2],a.uniforms.angle=v[n+2],c.drawArrays(c.TRIANGLES,l[k],l[A]-l[k]))),y[n+2]&amp;&amp;M&amp;&amp;(e[1^n]+=T*d*x[n+2],a.uniforms.dataAxis=r,a.uniforms.screenOffset=e,a.uniforms.color=b[n+2],a.uniforms.angle=_[n+2],c.drawArrays(c.TRIANGLES,w,M))}}(),c.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&lt;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)}}}(),c.bind=function(){var t=[0,0],e=[0,0],r=[0,0];return function(){var n=this.plot,i=this.shader,a=n._tickBounds,o=n.dataBox,s=n.screenBox,l=n.viewBox;i.bind();for(var c=0;c&lt;2;++c){var u=a[c],f=a[c+2]-u,h=.5*(o[c+2]+o[c]),d=o[c+2]-o[c],p=l[c],m=l[c+2]-p,g=s[c],v=s[c+2]-g;e[c]=2*f/d*m/v,t[c]=2*(u-h)/d*m/v}r[1]=2*n.pixelRatio/(s[3]-s[1]),r[0]=r[1]*(s[3]-s[1])/(s[2]-s[0]),i.uniforms.dataScale=e,i.uniforms.dataShift=t,i.uniforms.textScale=r,this.vbo.bind(),i.attributes.textCoordinate.pointer()}}(),c.update=function(t){var e,r,n,i,a,s=[],l=t.ticks,c=t.bounds;for(a=0;a&lt;2;++a){var u=[Math.floor(s.length/3)],f=[-1/0],h=l[a];for(e=0;e&lt;h.length;++e){var d=h[e],p=d.x,m=d.text,g=d.font||&quot;sans-serif&quot;;i=d.fontSize||12;for(var v=1/(c[a+2]-c[a]),y=c[a],x=m.split(&quot;\n&quot;),b=0;b&lt;x.length;b++)for(n=o(g,x[b]).data,r=0;r&lt;n.length;r+=2)s.push(n[r]*i,-n[r+1]*i-b*i*1.2,(p-y)*v);u.push(Math.floor(s.length/3)),f.push(p)}this.tickOffset[a]=u,this.tickX[a]=f}for(a=0;a&lt;2;++a){for(this.labelOffset[a]=Math.floor(s.length/3),n=o(t.labelFont[a],t.labels[a],{textAlign:&quot;center&quot;}).data,i=t.labelSize[a],e=0;e&lt;n.length;e+=2)s.push(n[e]*i,-n[e+1]*i,0);this.labelCount[a]=Math.floor(s.length/3)-this.labelOffset[a]}for(this.titleOffset=Math.floor(s.length/3),n=o(t.titleFont,t.title).data,i=t.titleSize,e=0;e&lt;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)},c.dispose=function(){this.vbo.dispose(),this.shader.dispose()}},{&quot;./shaders&quot;:214,&quot;binary-search-bounds&quot;:216,&quot;gl-buffer&quot;:165,&quot;gl-shader&quot;:217,&quot;text-cache&quot;:545}],216:[function(t,e,r){arguments[4][89][0].apply(r,arguments)},{dup:89}],217:[function(t,e,r){&quot;use strict&quot;;function n(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}function i(t,e){return t.name&lt;e.name?-1:1}var a=t(&quot;./lib/create-uniforms&quot;),o=t(&quot;./lib/create-attributes&quot;),s=t(&quot;./lib/reflect&quot;),l=t(&quot;./lib/shader-cache&quot;),c=t(&quot;./lib/runtime-reflect&quot;),u=t(&quot;./lib/GLError&quot;),f=n.prototype;f.bind=function(){this.program||this._relink();var t,e=this.gl.getProgramParameter(this.program,this.gl.ACTIVE_ATTRIBUTES),r=this.gl.lastAttribCount;if(e&gt;r)for(t=r;t&lt;e;t++)this.gl.enableVertexAttribArray(t);else if(r&gt;e)for(t=e;t&lt;r;t++)this.gl.disableVertexAttribArray(t);this.gl.lastAttribCount=e,this.gl.useProgram(this.program)},f.dispose=function(){for(var t=this.gl.lastAttribCount,e=0;e&lt;t;e++)this.gl.disableVertexAttribArray(e);this.gl.lastAttribCount=0,this._fref&amp;&amp;this._fref.dispose(),this._vref&amp;&amp;this._vref.dispose(),this.attributes=this.types=this.vertShader=this.fragShader=this.program=this._relink=this._fref=this._vref=null},f.update=function(t,e,r,n){function f(){d.program=l.program(p,d._vref,d._fref,_,w);for(var t=0;t&lt;r.length;++t)E[t]=p.getUniformLocation(d.program,r[t].name)}if(!e||1===arguments.length){var h=t;t=h.vertex,e=h.fragment,r=h.uniforms,n=h.attributes}var d=this,p=d.gl,m=d._vref;d._vref=l.shader(p,p.VERTEX_SHADER,t),m&amp;&amp;m.dispose(),d.vertShader=d._vref.shader;var g=this._fref;if(d._fref=l.shader(p,p.FRAGMENT_SHADER,e),g&amp;&amp;g.dispose(),d.fragShader=d._fref.shader,!r||!n){var v=p.createProgram();if(p.attachShader(v,d.fragShader),p.attachShader(v,d.vertShader),p.linkProgram(v),!p.getProgramParameter(v,p.LINK_STATUS)){var y=p.getProgramInfoLog(v);throw new u(y,&quot;Error linking program:&quot;+y)}r=r||c.uniforms(p,v),n=n||c.attributes(p,v),p.deleteProgram(v)}(n=n.slice()).sort(i);var x,b=[],_=[],w=[];for(x=0;x&lt;n.length;++x){var M=n[x];if(M.type.indexOf(&quot;mat&quot;)&gt;=0){for(var k=0|M.type.charAt(M.type.length-1),A=new Array(k),T=0;T&lt;k;++T)A[T]=w.length,_.push(M.name+&quot;[&quot;+T+&quot;]&quot;),&quot;number&quot;==typeof M.location?w.push(M.location+T):Array.isArray(M.location)&amp;&amp;M.location.length===k&amp;&amp;&quot;number&quot;==typeof M.location[T]?w.push(0|M.location[T]):w.push(-1);b.push({name:M.name,type:M.type,locations:A})}else b.push({name:M.name,type:M.type,locations:[w.length]}),_.push(M.name),&quot;number&quot;==typeof M.location?w.push(0|M.location):w.push(-1)}var S=0;for(x=0;x&lt;w.length;++x)if(w[x]&lt;0){for(;w.indexOf(S)&gt;=0;)S+=1;w[x]=S}var E=new Array(r.length);f(),d._relink=f,d.types={uniforms:s(r),attributes:s(n)},d.attributes=o(p,d,b,w),Object.defineProperty(d,&quot;uniforms&quot;,a(p,d,r,E))},e.exports=function(t,e,r,i,a){var o=new n(t);return o.update(e,r,i,a),o}},{&quot;./lib/GLError&quot;:218,&quot;./lib/create-attributes&quot;:219,&quot;./lib/create-uniforms&quot;:220,&quot;./lib/reflect&quot;:221,&quot;./lib/runtime-reflect&quot;:222,&quot;./lib/shader-cache&quot;:223}],218:[function(t,e,r){function n(t,e,r){this.shortMessage=e||&quot;&quot;,this.longMessage=r||&quot;&quot;,this.rawError=t||&quot;&quot;,this.message=&quot;gl-shader: &quot;+(e||t||&quot;&quot;)+(r?&quot;\n&quot;+r:&quot;&quot;),this.stack=(new Error).stack}(n.prototype=new Error).name=&quot;GLError&quot;,n.prototype.constructor=n,e.exports=n},{}],219:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,n,i,a){this._gl=t,this._wrapper=e,this._index=r,this._locations=n,this._dimension=i,this._constFunc=a}function i(t,e,r,i,a,o,s){for(var l=[&quot;gl&quot;,&quot;v&quot;],c=[],u=0;u&lt;a;++u)l.push(&quot;x&quot;+u),c.push(&quot;x&quot;+u);l.push(&quot;if(x0.length===void 0){return gl.vertexAttrib&quot;+a+&quot;f(v,&quot;+c.join()+&quot;)}else{return gl.vertexAttrib&quot;+a+&quot;fv(v,x0)}&quot;);var f=Function.apply(null,l),h=new n(t,e,r,i,a,f);Object.defineProperty(o,s,{set:function(e){return t.disableVertexAttribArray(i[r]),f(t,i[r],e),e},get:function(){return h},enumerable:!0})}function a(t,e,r,n,a,o,s){for(var l=new Array(a),c=new Array(a),u=0;u&lt;a;++u)i(t,e,r[u],n,a,l,u),c[u]=l[u];Object.defineProperty(l,&quot;location&quot;,{set:function(t){if(Array.isArray(t))for(var e=0;e&lt;a;++e)c[e].location=t[e];else for(e=0;e&lt;a;++e)c[e].location=t+e;return t},get:function(){for(var t=new Array(a),e=0;e&lt;a;++e)t[e]=n[r[e]];return t},enumerable:!0}),l.pointer=function(e,i,o,s){e=e||t.FLOAT,i=!!i,o=o||a*a,s=s||0;for(var l=0;l&lt;a;++l){var c=n[r[l]];t.vertexAttribPointer(c,a,e,i,o,s+l*a),t.enableVertexAttribArray(c)}};var f=new Array(a),h=t[&quot;vertexAttrib&quot;+a+&quot;fv&quot;];Object.defineProperty(o,s,{set:function(e){for(var i=0;i&lt;a;++i){var o=n[r[i]];if(t.disableVertexAttribArray(o),Array.isArray(e[0]))h.call(t,o,e[i]);else{for(var s=0;s&lt;a;++s)f[s]=e[a*i+s];h.call(t,o,f)}}return e},get:function(){return l},enumerable:!0})}e.exports=function(t,e,r,n){for(var s={},l=0,c=r.length;l&lt;c;++l){var u=r[l],f=u.name,h=u.type,d=u.locations;switch(h){case&quot;bool&quot;:case&quot;int&quot;:case&quot;float&quot;:i(t,e,d[0],n,1,s,f);break;default:if(h.indexOf(&quot;vec&quot;)&gt;=0){if((p=h.charCodeAt(h.length-1)-48)&lt;2||p&gt;4)throw new o(&quot;&quot;,&quot;Invalid data type for attribute &quot;+f+&quot;: &quot;+h);i(t,e,d[0],n,p,s,f)}else{if(!(h.indexOf(&quot;mat&quot;)&gt;=0))throw new o(&quot;&quot;,&quot;Unknown data type for attribute &quot;+f+&quot;: &quot;+h);var p;if((p=h.charCodeAt(h.length-1)-48)&lt;2||p&gt;4)throw new o(&quot;&quot;,&quot;Invalid data type for attribute &quot;+f+&quot;: &quot;+h);a(t,e,d,n,p,s,f)}}}return s};var o=t(&quot;./GLError&quot;),s=n.prototype;s.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)},s.set=function(t,e,r,n){return this._constFunc(this._locations[this._index],t,e,r,n)},Object.defineProperty(s,&quot;location&quot;,{get:function(){return this._locations[this._index]},set:function(t){return t!==this._locations[this._index]&amp;&amp;(this._locations[this._index]=0|t,this._wrapper.program=null),0|t}})},{&quot;./GLError&quot;:218}],220:[function(t,e,r){&quot;use strict&quot;;function n(t){return new Function(&quot;y&quot;,&quot;return function(){return y}&quot;)(t)}function i(t,e){for(var r=new Array(t),n=0;n&lt;t;++n)r[n]=e;return r}var a=t(&quot;./reflect&quot;),o=t(&quot;./GLError&quot;);e.exports=function(t,e,r,s){function l(t,e,r){switch(r){case&quot;bool&quot;:case&quot;int&quot;:case&quot;sampler2D&quot;:case&quot;samplerCube&quot;:return&quot;gl.uniform1i(locations[&quot;+e+&quot;],obj&quot;+t+&quot;)&quot;;case&quot;float&quot;:return&quot;gl.uniform1f(locations[&quot;+e+&quot;],obj&quot;+t+&quot;)&quot;;default:var n=r.indexOf(&quot;vec&quot;);if(!(0&lt;=n&amp;&amp;n&lt;=1&amp;&amp;r.length===4+n)){if(0===r.indexOf(&quot;mat&quot;)&amp;&amp;4===r.length){if((i=r.charCodeAt(r.length-1)-48)&lt;2||i&gt;4)throw new o(&quot;&quot;,&quot;Invalid uniform dimension type for matrix &quot;+name+&quot;: &quot;+r);return&quot;gl.uniformMatrix&quot;+i+&quot;fv(locations[&quot;+e+&quot;],false,obj&quot;+t+&quot;)&quot;}throw new o(&quot;&quot;,&quot;Unknown uniform data type for &quot;+name+&quot;: &quot;+r)}var i;if((i=r.charCodeAt(r.length-1)-48)&lt;2||i&gt;4)throw new o(&quot;&quot;,&quot;Invalid data type&quot;);switch(r.charAt(0)){case&quot;b&quot;:case&quot;i&quot;:return&quot;gl.uniform&quot;+i+&quot;iv(locations[&quot;+e+&quot;],obj&quot;+t+&quot;)&quot;;case&quot;v&quot;:return&quot;gl.uniform&quot;+i+&quot;fv(locations[&quot;+e+&quot;],obj&quot;+t+&quot;)&quot;;default:throw new o(&quot;&quot;,&quot;Unrecognized data type for vector &quot;+name+&quot;: &quot;+r)}}}function c(t,e){if(&quot;object&quot;!=typeof e)return[[t,e]];var r=[];for(var n in e){var i=e[n],a=t;parseInt(n)+&quot;&quot;===n?a+=&quot;[&quot;+n+&quot;]&quot;:a+=&quot;.&quot;+n,&quot;object&quot;==typeof i?r.push.apply(r,c(a,i)):r.push([a,i])}return r}function u(e){for(var n=[&quot;return function updateProperty(obj){&quot;],i=c(&quot;&quot;,e),a=0;a&lt;i.length;++a){var o=i[a],u=o[0],f=o[1];s[f]&amp;&amp;n.push(l(u,f,r[f].type))}return n.push(&quot;return obj}&quot;),new Function(&quot;gl&quot;,&quot;locations&quot;,n.join(&quot;\n&quot;))(t,s)}function f(a,l,c){if(&quot;object&quot;==typeof c){var f=h(c);Object.defineProperty(a,l,{get:n(f),set:u(c),enumerable:!0,configurable:!1})}else s[c]?Object.defineProperty(a,l,{get:function(r){return new Function(&quot;gl&quot;,&quot;wrapper&quot;,&quot;locations&quot;,&quot;return function(){return gl.getUniform(wrapper.program,locations[&quot;+r+&quot;])}&quot;)(t,e,s)}(c),set:u(c),enumerable:!0,configurable:!1}):a[l]=function(t){switch(t){case&quot;bool&quot;:return!1;case&quot;int&quot;:case&quot;sampler2D&quot;:case&quot;samplerCube&quot;:case&quot;float&quot;:return 0;default:var e=t.indexOf(&quot;vec&quot;);if(0&lt;=e&amp;&amp;e&lt;=1&amp;&amp;t.length===4+e){if((r=t.charCodeAt(t.length-1)-48)&lt;2||r&gt;4)throw new o(&quot;&quot;,&quot;Invalid data type&quot;);return&quot;b&quot;===t.charAt(0)?i(r,!1):i(r,0)}if(0===t.indexOf(&quot;mat&quot;)&amp;&amp;4===t.length){var r;if((r=t.charCodeAt(t.length-1)-48)&lt;2||r&gt;4)throw new o(&quot;&quot;,&quot;Invalid uniform dimension type for matrix &quot;+name+&quot;: &quot;+t);return i(r*r,0)}throw new o(&quot;&quot;,&quot;Unknown uniform data type for &quot;+name+&quot;: &quot;+t)}}(r[c].type)}function h(t){var e;if(Array.isArray(t)){e=new Array(t.length);for(var r=0;r&lt;t.length;++r)f(e,r,t[r])}else{e={};for(var n in t)f(e,n,t[n])}return e}var d=a(r,!0);return{get:n(h(d)),set:u(d),enumerable:!0,configurable:!0}}},{&quot;./GLError&quot;:218,&quot;./reflect&quot;:221}],221:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t,e){for(var r={},n=0;n&lt;t.length;++n)for(var i=t[n].name.split(&quot;.&quot;),a=r,o=0;o&lt;i.length;++o){var s=i[o].split(&quot;[&quot;);if(s.length&gt;1){s[0]in a||(a[s[0]]=[]),a=a[s[0]];for(var l=1;l&lt;s.length;++l){var c=parseInt(s[l]);l&lt;s.length-1||o&lt;i.length-1?(c in a||(l&lt;s.length-1?a[c]=[]:a[c]={}),a=a[c]):a[c]=e?n:t[n].type}}else o&lt;i.length-1?(s[0]in a||(a[s[0]]={}),a=a[s[0]]):a[s[0]]=e?n:t[n].type}return r}},{}],222:[function(t,e,r){&quot;use strict&quot;;function n(t,e){if(!a){var r=Object.keys(i);a={};for(var n=0;n&lt;r.length;++n){var o=r[n];a[t[o]]=i[o]}}return a[e]}r.uniforms=function(t,e){for(var r=t.getProgramParameter(e,t.ACTIVE_UNIFORMS),i=[],a=0;a&lt;r;++a){var o=t.getActiveUniform(e,a);if(o){var s=n(t,o.type);if(o.size&gt;1)for(var l=0;l&lt;o.size;++l)i.push({name:o.name.replace(&quot;[0]&quot;,&quot;[&quot;+l+&quot;]&quot;),type:s});else i.push({name:o.name,type:s})}}return i},r.attributes=function(t,e){for(var r=t.getProgramParameter(e,t.ACTIVE_ATTRIBUTES),i=[],a=0;a&lt;r;++a){var o=t.getActiveAttrib(e,a);o&amp;&amp;i.push({name:o.name,type:n(t,o.type)})}return i};var i={FLOAT:&quot;float&quot;,FLOAT_VEC2:&quot;vec2&quot;,FLOAT_VEC3:&quot;vec3&quot;,FLOAT_VEC4:&quot;vec4&quot;,INT:&quot;int&quot;,INT_VEC2:&quot;ivec2&quot;,INT_VEC3:&quot;ivec3&quot;,INT_VEC4:&quot;ivec4&quot;,BOOL:&quot;bool&quot;,BOOL_VEC2:&quot;bvec2&quot;,BOOL_VEC3:&quot;bvec3&quot;,BOOL_VEC4:&quot;bvec4&quot;,FLOAT_MAT2:&quot;mat2&quot;,FLOAT_MAT3:&quot;mat3&quot;,FLOAT_MAT4:&quot;mat4&quot;,SAMPLER_2D:&quot;sampler2D&quot;,SAMPLER_CUBE:&quot;samplerCube&quot;},a=null},{}],223:[function(t,e,r){&quot;use strict&quot;;function n(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 i(t){this.gl=t,this.shaders=[{},{}],this.programs={}}function a(t){var e=l.get(t);return e||(e=new i(t),l.set(t,e)),e}r.shader=function(t,e,r){return a(t).getShaderReference(e,r)},r.program=function(t,e,r,n,i){return a(t).getProgram(e,r,n,i)};var o=t(&quot;./GLError&quot;),s=t(&quot;gl-format-compiler-error&quot;),l=new(&quot;undefined&quot;==typeof WeakMap?t(&quot;weakmap-shim&quot;):WeakMap),c=0;n.prototype.dispose=function(){if(0==--this.count){for(var t=this.cache,e=t.gl,r=this.programs,n=0,i=r.length;n&lt;i;++n){var a=t.programs[r[n]];a&amp;&amp;(delete t.programs[n],e.deleteProgram(a))}e.deleteShader(this.shader),delete t.shaders[this.type===e.FRAGMENT_SHADER|0][this.src]}};var u=i.prototype;u.getShaderReference=function(t,e){var r=this.gl,i=this.shaders[t===r.FRAGMENT_SHADER|0],a=i[e];if(a&amp;&amp;r.isShader(a.shader))a.count+=1;else{var l=function(t,e,r){var n=t.createShader(e);if(t.shaderSource(n,r),t.compileShader(n),!t.getShaderParameter(n,t.COMPILE_STATUS)){var i=t.getShaderInfoLog(n);try{var a=s(i,r,e)}catch(t){throw console.warn(&quot;Failed to format compiler error: &quot;+t),new o(i,&quot;Error compiling shader:\n&quot;+i)}throw new o(i,a.short,a.long)}return n}(r,t,e);a=i[e]=new n(c++,e,t,l,[],1,this)}return a},u.getProgram=function(t,e,r,n){var i=[t.id,e.id,r.join(&quot;:&quot;),n.join(&quot;:&quot;)].join(&quot;@&quot;),a=this.programs[i];return a&amp;&amp;this.gl.isProgram(a)||(this.programs[i]=a=function(t,e,r,n,i){var a=t.createProgram();t.attachShader(a,e),t.attachShader(a,r);for(var s=0;s&lt;n.length;++s)t.bindAttribLocation(a,i[s],n[s]);if(t.linkProgram(a),!t.getProgramParameter(a,t.LINK_STATUS)){var l=t.getProgramInfoLog(a);throw new o(l,&quot;Error linking program: &quot;+l)}return a}(this.gl,t.shader,e.shader,r,n),t.programs.push(i),e.programs.push(i)),a}},{&quot;./GLError&quot;:218,&quot;gl-format-compiler-error&quot;:172,&quot;weakmap-shim&quot;:576}],224:[function(t,e,r){&quot;use strict&quot;;function n(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}function i(t){for(var e=t.slice(),r=0;r&lt;e.length;++r)e[r]=e[r].slice();return e}function a(t,e){return t.x-e.x}e.exports=function(t){var e=t.gl,r=new n(e,o(e,[e.drawingBufferWidth,e.drawingBufferHeight]));return r.grid=s(r),r.text=l(r),r.line=c(r),r.box=u(r),r.update(t),r};var o=t(&quot;gl-select-static&quot;),s=t(&quot;./lib/grid&quot;),l=t(&quot;./lib/text&quot;),c=t(&quot;./lib/line&quot;),u=t(&quot;./lib/box&quot;),f=n.prototype;f.setDirty=function(){this.dirty=this.pickDirty=!0},f.setOverlayDirty=function(){this.dirty=!0},f.nextDepthValue=function(){return this._depthCounter++/65536},f.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&amp;&amp;(this._pickTimeout&amp;&amp;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,d=this.zeroLineWidth;if(f[0]||f[1]){o.bind();for(var p=0;p&lt;2;++p)if(f[p]&amp;&amp;n[p]&lt;=0&amp;&amp;n[p+2]&gt;=0){var m=e[p]-n[p]*(e[p+2]-e[p])/(n[p+2]-n[p]);0===p?o.drawLine(m,e[1],m,e[3],d[p],h[p]):o.drawLine(e[0],m,e[2],m,d[p],h[p])}}for(p=0;p&lt;l.length;++p)l[p].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;g[1]&amp;&amp;o.drawLine(r[0],r[1]-.5*v[1]*i,r[0],r[3]+.5*v[3]*i,v[1],y[1]),g[0]&amp;&amp;o.drawLine(r[0]-.5*v[0]*i,r[1],r[2]+.5*v[2]*i,r[1],v[0],y[0]),g[3]&amp;&amp;o.drawLine(r[2],r[1]-.5*v[1]*i,r[2],r[3]+.5*v[3]*i,v[3],y[3]),g[2]&amp;&amp;o.drawLine(r[0]-.5*v[0]*i,r[3],r[2]+.5*v[2]*i,r[3],v[2],y[2]),s.bind();for(p=0;p&lt;2;++p)s.drawTicks(p);this.titleEnable&amp;&amp;s.drawTitle();var x=this.overlays;for(p=0;p&lt;x.length;++p)x[p].draw();t.disable(t.SCISSOR_TEST),t.disable(t.BLEND),t.depthMask(!0)}},f.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&lt;r.length;++n)e=r[n].drawPick(e);t.end()}},f.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]&lt;&lt;8)+(s.value[1]&lt;&lt;16)+(s.value[2]&lt;&lt;24),c=this.objects,u=0;u&lt;c.length;++u){var f=c[u].pick(a,o,l);if(f)return f}return null}},f.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()},f.setDataBox=function(t){var e=this.dataBox;(e[0]!==t[0]||e[1]!==t[1]||e[2]!==t[2]||e[3]!==t[3])&amp;&amp;(e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],this.setDirty())},f.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()},f.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,o=(n[2]-n[0])/(n[3]-n[1]);this.setDataBox(t.dataBox||[-10,-10/o,10,10/o]),this.borderColor=!1!==t.borderColor&amp;&amp;(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=i(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=i(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=i(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=!(&quot;titleEnable&quot;in t&amp;&amp;!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=i(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=i(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=i(t.borderLineColor||[[0,0,0,1],[0,0,0,1],[0,0,0,1],[0,0,0,1]]);var s=t.ticks||[[],[]],l=this._tickBounds;l[0]=l[1]=1/0,l[2]=l[3]=-1/0;for(var c=0;c&lt;2;++c){var u=s[c].slice(0);0!==u.length&amp;&amp;(u.sort(a),l[c]=Math.min(l[c],u[0].x),l[c+2]=Math.max(l[c+2],u[u.length-1].x))}this.grid.update({bounds:l,ticks:s}),this.text.update({bounds:l,ticks:s,labels:t.labels||[&quot;x&quot;,&quot;y&quot;],labelSize:t.labelSize||[12,12],labelFont:t.labelFont||[&quot;sans-serif&quot;,&quot;sans-serif&quot;],title:t.title||&quot;&quot;,titleSize:t.titleSize||18,titleFont:t.titleFont||&quot;sans-serif&quot;}),this.static=!!t.static,this.setDirty()},f.dispose=function(){this.box.dispose(),this.grid.dispose(),this.text.dispose(),this.line.dispose();for(var t=this.objects.length-1;t&gt;=0;--t)this.objects[t].dispose();this.objects.length=0;for(t=this.overlays.length-1;t&gt;=0;--t)this.overlays[t].dispose();this.overlays.length=0,this.gl=null},f.addObject=function(t){this.objects.indexOf(t)&lt;0&amp;&amp;(this.objects.push(t),this.setDirty())},f.removeObject=function(t){for(var e=this.objects,r=0;r&lt;e.length;++r)if(e[r]===t){e.splice(r,1),this.setDirty();break}},f.addOverlay=function(t){this.overlays.indexOf(t)&lt;0&amp;&amp;(this.overlays.push(t),this.setOverlayDirty())},f.removeOverlay=function(t){for(var e=this.overlays,r=0;r&lt;e.length;++r)if(e[r]===t){e.splice(r,1),this.setOverlayDirty();break}}},{&quot;./lib/box&quot;:211,&quot;./lib/grid&quot;:212,&quot;./lib/line&quot;:213,&quot;./lib/text&quot;:215,&quot;gl-select-static&quot;:242}],225:[function(t,e,r){var n=t(&quot;gl-shader&quot;);e.exports=function(t){return n(t,&quot;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}&quot;,&quot;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}&quot;,null,[{name:&quot;position&quot;,type:&quot;vec2&quot;}])}},{&quot;gl-shader&quot;:243}],226:[function(t,e,r){&quot;use strict&quot;;function n(t){var e=Math.round(Math.log(Math.abs(t))/Math.log(10));if(e&lt;0){var r=Math.round(Math.pow(10,-e));return Math.ceil(t*r)/r}if(e&gt;0){r=Math.round(Math.pow(10,e));return Math.ceil(t/r)*r}return Math.ceil(t)}function i(t){return&quot;boolean&quot;!=typeof t||t}e.exports=function(t){function e(){if(!x&amp;&amp;U.autoResize){var t=b.parentNode,e=1,r=1;t&amp;&amp;t!==document.body?(e=t.clientWidth,r=t.clientHeight):(e=window.innerWidth,r=window.innerHeight);var n=0|Math.ceil(e*U.pixelRatio),i=0|Math.ceil(r*U.pixelRatio);if(n!==b.width||i!==b.height){b.width=n,b.height=i;var a=b.style;a.position=a.position||&quot;absolute&quot;,a.left=&quot;0px&quot;,a.top=&quot;0px&quot;,a.width=e+&quot;px&quot;,a.height=r+&quot;px&quot;,O=!0}}}function r(){for(var t=z.length,e=P.length,r=0;r&lt;e;++r)I[r]=0;t:for(r=0;r&lt;t;++r){var n=z[r],i=n.pickSlots;if(i){for(var a=0;a&lt;e;++a)if(I[a]+i&lt;255){D[r]=a,n.setPickBase(I[a]+1),I[a]+=i;continue t}var o=c(_,B);D[r]=e,P.push(o),I.push(i),n.setPickBase(1),e+=1}else D[r]=-1}for(;e&gt;0&amp;&amp;0===I[e-1];)I.pop(),P.pop().dispose()}function g(){if(U.contextLost)return!0;_.isContextLost()&amp;&amp;(U.contextLost=!0,U.mouseListener.enabled=!1,U.selection.object=null,U.oncontextloss&amp;&amp;U.oncontextloss())}function v(){if(!g()){e();var t=U.camera.tick();j.view=U.camera.matrix,O=O||t,F=F||t,E.pixelRatio=U.pixelRatio,C.pixelRatio=U.pixelRatio;var r=z.length,i=G[0],a=G[1];i[0]=i[1]=i[2]=1/0,a[0]=a[1]=a[2]=-1/0;for(var o=0;o&lt;r;++o){(L=z[o]).pixelRatio=U.pixelRatio,L.axes=U.axes,O=O||!!L.dirty,F=F||!!L.dirty;var l=L.bounds;if(l)for(var c=l[0],u=l[1],h=0;h&lt;3;++h)i[h]=Math.min(i[h],c[h]),a[h]=Math.max(a[h],u[h])}var p=U.bounds;if(U.autoBounds)for(h=0;h&lt;3;++h){if(a[h]&lt;i[h])i[h]=-1,a[h]=1;else{i[h]===a[h]&amp;&amp;(i[h]-=1,a[h]+=1);var m=.05*(a[h]-i[h]);i[h]=i[h]-m,a[h]=a[h]+m}p[0][h]=i[h],p[1][h]=a[h]}var v=!1;for(h=0;h&lt;3;++h)v=v||Y[0][h]!==p[0][h]||Y[1][h]!==p[1][h],Y[0][h]=p[0][h],Y[1][h]=p[1][h];if(F=F||v,O=O||v){if(v){var y=[0,0,0];for(o=0;o&lt;3;++o)y[o]=n((p[1][o]-p[0][o])/10);E.autoTicks?E.update({bounds:p,tickSpacing:y}):E.update({bounds:p})}var x=_.drawingBufferWidth,b=_.drawingBufferHeight;for(B[0]=x,B[1]=b,V[0]=0|Math.max(x/U.pixelRatio,1),V[1]=0|Math.max(b/U.pixelRatio,1),d(R,U.fovy,x/b,U.zNear,U.zFar),o=0;o&lt;16;++o)N[o]=0;N[15]=1;var w=0;for(o=0;o&lt;3;++o)w=Math.max(w,p[1][o]-p[0][o]);for(o=0;o&lt;3;++o)U.autoScale?N[5*o]=U.aspect[o]/(p[1][o]-p[0][o]):N[5*o]=1/w,U.autoCenter&amp;&amp;(N[12+o]=.5*-N[5*o]*(p[0][o]+p[1][o]));for(o=0;o&lt;r;++o)(L=z[o]).axesBounds=p,U.clipToBounds&amp;&amp;(L.clipBounds=p);M.object&amp;&amp;(U.snapToData?C.position=M.dataCoordinate:C.position=M.dataPosition,C.bounds=p),F&amp;&amp;(F=!1,function(){if(!g()){_.colorMask(!0,!0,!0,!0),_.depthMask(!0),_.disable(_.BLEND),_.enable(_.DEPTH_TEST);for(var t=z.length,e=P.length,r=0;r&lt;e;++r){var n=P[r];n.shape=V,n.begin();for(var i=0;i&lt;t;++i)if(D[i]===r){var a=z[i];a.drawPick&amp;&amp;(a.pixelRatio=1,a.drawPick(j))}n.end()}}}()),U.axesPixels=s(U.axes,j,x,b),U.onrender&amp;&amp;U.onrender(),_.bindFramebuffer(_.FRAMEBUFFER,null),_.viewport(0,0,x,b);var T=U.clearColor;_.clearColor(T[0],T[1],T[2],T[3]),_.clear(_.COLOR_BUFFER_BIT|_.DEPTH_BUFFER_BIT),_.depthMask(!0),_.colorMask(!0,!0,!0,!0),_.enable(_.DEPTH_TEST),_.depthFunc(_.LEQUAL),_.disable(_.BLEND),_.disable(_.CULL_FACE);var S=!1;for(E.enable&amp;&amp;(S=S||E.isTransparent(),E.draw(j)),C.axes=E,M.object&amp;&amp;C.draw(j),_.disable(_.CULL_FACE),o=0;o&lt;r;++o)(L=z[o]).axes=E,L.pixelRatio=U.pixelRatio,L.isOpaque&amp;&amp;L.isOpaque()&amp;&amp;L.draw(j),L.isTransparent&amp;&amp;L.isTransparent()&amp;&amp;(S=!0);if(S){for(k.shape=B,k.bind(),_.clear(_.DEPTH_BUFFER_BIT),_.colorMask(!1,!1,!1,!1),_.depthMask(!0),_.depthFunc(_.LESS),E.enable&amp;&amp;E.isTransparent()&amp;&amp;E.drawTransparent(j),o=0;o&lt;r;++o)(L=z[o]).isOpaque&amp;&amp;L.isOpaque()&amp;&amp;L.draw(j);for(_.enable(_.BLEND),_.blendEquation(_.FUNC_ADD),_.blendFunc(_.ONE,_.ONE_MINUS_SRC_ALPHA),_.colorMask(!0,!0,!0,!0),_.depthMask(!1),_.clearColor(0,0,0,0),_.clear(_.COLOR_BUFFER_BIT),E.isTransparent()&amp;&amp;E.drawTransparent(j),o=0;o&lt;r;++o){var L;(L=z[o]).isTransparent&amp;&amp;L.isTransparent()&amp;&amp;L.drawTransparent(j)}_.bindFramebuffer(_.FRAMEBUFFER,null),_.blendFunc(_.ONE,_.ONE_MINUS_SRC_ALPHA),_.disable(_.DEPTH_TEST),A.bind(),k.color[0].bind(0),A.uniforms.accumBuffer=0,f(_),_.disable(_.BLEND)}for(O=!1,o=0;o&lt;r;++o)z[o].dirty=!1}}}function y(){x||U.contextLost||(requestAnimationFrame(y),v())}var x=!1,b=((t=t||{}).pixelRatio||parseFloat(window.devicePixelRatio),t.canvas);b||(b=document.createElement(&quot;canvas&quot;),t.container?t.container.appendChild(b):document.body.appendChild(b));var _=t.gl;if(_||(_=function(t,e){var r=null;try{(r=t.getContext(&quot;webgl&quot;,e))||(r=t.getContext(&quot;experimental-webgl&quot;,e))}catch(t){return null}return r}(b,t.glOptions||{premultipliedAlpha:!0,antialias:!0})),!_)throw new Error(&quot;webgl not supported&quot;);var w=t.bounds||[[-10,-10,-10],[10,10,10]],M=new function(){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},k=u(_,[_.drawingBufferWidth,_.drawingBufferHeight],{preferFloat:!m}),A=p(_),T=t.camera||{eye:[2,0,0],center:[0,0,0],up:[0,1,0],zoomMin:.1,zoomMax:100,mode:&quot;turntable&quot;},S=t.axes||{},E=o(_,S);E.enable=!S.disable;var L=t.spikes||{},C=l(_,L),z=[],D=[],I=[],P=[],O=!0,F=!0,R=new Array(16),N=new Array(16),j={view:null,projection:R,model:N},B=(F=!0,[_.drawingBufferWidth,_.drawingBufferHeight]),U={gl:_,contextLost:!1,pixelRatio:t.pixelRatio||parseFloat(window.devicePixelRatio),canvas:b,selection:M,camera:a(b,T),axes:E,axesPixels:null,spikes:C,bounds:w,objects:z,shape:B,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:i(t.autoResize),autoBounds:i(t.autoBounds),autoScale:!!t.autoScale,autoCenter:i(t.autoCenter),clipToBounds:i(t.clipToBounds),snapToData:!!t.snapToData,onselect:t.onselect||null,onrender:t.onrender||null,onclick:t.onclick||null,cameraParams:j,oncontextloss:null,mouseListener:null},V=[_.drawingBufferWidth/U.pixelRatio|0,_.drawingBufferHeight/U.pixelRatio|0];U.autoResize&amp;&amp;e(),window.addEventListener(&quot;resize&quot;,e),U.update=function(t){x||(t=t||{},O=!0,F=!0)},U.add=function(t){x||(t.axes=E,z.push(t),D.push(-1),O=!0,F=!0,r())},U.remove=function(t){if(!x){var e=z.indexOf(t);e&lt;0||(z.splice(e,1),D.pop(),O=!0,F=!0,r())}},U.dispose=function(){if(!x&amp;&amp;(x=!0,window.removeEventListener(&quot;resize&quot;,e),b.removeEventListener(&quot;webglcontextlost&quot;,g),U.mouseListener.enabled=!1,!U.contextLost)){E.dispose(),C.dispose();for(var t=0;t&lt;z.length;++t)z[t].dispose();for(k.dispose(),t=0;t&lt;P.length;++t)P[t].dispose();A.dispose(),_=null,E=null,C=null,z=[]}};var q=!1,H=0;U.mouseListener=h(b,function(t,e,r){if(!x){var n=P.length,i=z.length,a=M.object;M.distance=1/0,M.mouse[0]=e,M.mouse[1]=r,M.object=null,M.screen=null,M.dataCoordinate=M.dataPosition=null;var o=!1;if(t&amp;&amp;H)q=!0;else{q&amp;&amp;(F=!0),q=!1;for(var s=0;s&lt;n;++s){var l=P[s].query(e,V[1]-r-1,U.pickRadius);if(l){if(l.distance&gt;M.distance)continue;for(var c=0;c&lt;i;++c){var u=z[c];if(D[c]===s){var f=u.pick(l);f&amp;&amp;(M.buttons=t,M.screen=l.coord,M.distance=l.distance,M.object=u,M.index=f.distance,M.dataPosition=f.position,M.dataCoordinate=f.dataCoordinate,M.data=f,o=!0)}}}}}a&amp;&amp;a!==M.object&amp;&amp;(a.highlight&amp;&amp;a.highlight(null),O=!0),M.object&amp;&amp;(M.object.highlight&amp;&amp;M.object.highlight(M.data),O=!0),(o=o||M.object!==a)&amp;&amp;U.onselect&amp;&amp;U.onselect(M),1&amp;t&amp;&amp;!(1&amp;H)&amp;&amp;U.onclick&amp;&amp;U.onclick(M),H=t}}),b.addEventListener(&quot;webglcontextlost&quot;,g);var G=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],Y=[G[0].slice(),G[1].slice()];return y(),U.redraw=function(){x||(O=!0,v())},U};var a=t(&quot;3d-view-controls&quot;),o=t(&quot;gl-axes3d&quot;),s=t(&quot;gl-axes3d/properties&quot;),l=t(&quot;gl-spikes3d&quot;),c=t(&quot;gl-select-static&quot;),u=t(&quot;gl-fbo&quot;),f=t(&quot;a-big-triangle&quot;),h=t(&quot;mouse-change&quot;),d=t(&quot;gl-mat4/perspective&quot;),p=t(&quot;./lib/shader&quot;),m=t(&quot;is-mobile&quot;)()},{&quot;./lib/shader&quot;:225,&quot;3d-view-controls&quot;:39,&quot;a-big-triangle&quot;:42,&quot;gl-axes3d&quot;:157,&quot;gl-axes3d/properties&quot;:164,&quot;gl-fbo&quot;:171,&quot;gl-mat4/perspective&quot;:189,&quot;gl-select-static&quot;:242,&quot;gl-spikes3d&quot;:252,&quot;is-mobile&quot;:285,&quot;mouse-change&quot;:443}],227:[function(t,e,r){r.pointVertex=&quot;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}&quot;,r.pointFragment=&quot;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 &gt; 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&quot;,r.pickVertex=&quot;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&quot;,r.pickFragment=&quot;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 &gt; 1.0) {\n    discard;\n  }\n  gl_FragColor = fragId / 255.0;\n}\n&quot;},{}],228:[function(t,e,r){arguments[4][217][0].apply(r,arguments)},{&quot;./lib/GLError&quot;:229,&quot;./lib/create-attributes&quot;:230,&quot;./lib/create-uniforms&quot;:231,&quot;./lib/reflect&quot;:232,&quot;./lib/runtime-reflect&quot;:233,&quot;./lib/shader-cache&quot;:234,dup:217}],229:[function(t,e,r){arguments[4][218][0].apply(r,arguments)},{dup:218}],230:[function(t,e,r){arguments[4][219][0].apply(r,arguments)},{&quot;./GLError&quot;:229,dup:219}],231:[function(t,e,r){arguments[4][220][0].apply(r,arguments)},{&quot;./GLError&quot;:229,&quot;./reflect&quot;:232,dup:220}],232:[function(t,e,r){arguments[4][221][0].apply(r,arguments)},{dup:221}],233:[function(t,e,r){arguments[4][222][0].apply(r,arguments)},{dup:222}],234:[function(t,e,r){arguments[4][223][0].apply(r,arguments)},{&quot;./GLError&quot;:229,dup:223,&quot;gl-format-compiler-error&quot;:172,&quot;weakmap-shim&quot;:576}],235:[function(t,e,r){&quot;use strict&quot;;function n(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}var i=t(&quot;gl-shader&quot;),a=t(&quot;gl-buffer&quot;),o=t(&quot;typedarray-pool&quot;),s=t(&quot;./lib/shader&quot;);e.exports=function(t,e){var r=t.gl,o=new n(t,a(r),a(r),i(r,s.pointVertex,s.pointFragment),i(r,s.pickVertex,s.pickFragment));return o.update(e),t.addObject(o),o};var l=n.prototype;l.dispose=function(){this.shader.dispose(),this.pickShader.dispose(),this.offsetBuffer.dispose(),this.pickBuffer.dispose(),this.plot.removeObject(this)},l.update=function(t){function e(e,r){return e in t?t[e]:r}var r;t=t||{},this.sizeMin=e(&quot;sizeMin&quot;,.5),this.sizeMax=e(&quot;sizeMax&quot;,20),this.color=e(&quot;color&quot;,[1,0,0,1]).slice(),this.areaRatio=e(&quot;areaRatio&quot;,1),this.borderColor=e(&quot;borderColor&quot;,[0,0,0,1]).slice(),this.blend=e(&quot;blend&quot;,!1);var n=t.positions.length&gt;&gt;&gt;1,i=t.positions instanceof Float32Array,a=t.idToIndex instanceof Int32Array&amp;&amp;t.idToIndex.length&gt;=n,s=t.positions,l=i?s:o.mallocFloat32(s.length),c=a?t.idToIndex:o.mallocInt32(n);if(i||l.set(s),!a)for(l.set(s),r=0;r&lt;n;r++)c[r]=r;this.points=s,this.offsetBuffer.update(l),this.pickBuffer.update(c),i||o.free(l),a||o.free(c),this.pointCount=n,this.pickOffset=0},l.unifiedDraw=function(){var t=[1,0,0,0,1,0,0,0,1],e=[0,0,0,0];return function(r){var n=void 0!==r,i=n?this.pickShader:this.shader,a=this.plot.gl,o=this.plot.dataBox;if(0===this.pointCount)return r;var s=o[2]-o[0],l=o[3]-o[1],c=function(t,e){var r,n=0,i=t.length&gt;&gt;&gt;1;for(r=0;r&lt;i;r++){var a=t[2*r],o=t[2*r+1];a&gt;=e[0]&amp;&amp;a&lt;=e[2]&amp;&amp;o&gt;=e[1]&amp;&amp;o&lt;=e[3]&amp;&amp;n++}return n}(this.points,o),u=this.plot.pickPixelRatio*Math.max(Math.min(this.sizeMinCap,this.sizeMin),Math.min(this.sizeMax,this.sizeMax/Math.pow(c,.33333)));t[0]=2/s,t[4]=2/l,t[6]=-2*o[0]/s-1,t[7]=-2*o[1]/l-1,this.offsetBuffer.bind(),i.bind(),i.attributes.position.pointer(),i.uniforms.matrix=t,i.uniforms.color=this.color,i.uniforms.borderColor=this.borderColor,i.uniforms.pointCloud=u&lt;5,i.uniforms.pointSize=u,i.uniforms.centerFraction=Math.min(1,Math.max(0,Math.sqrt(1-this.areaRatio))),n&amp;&amp;(e[0]=255&amp;r,e[1]=r&gt;&gt;8&amp;255,e[2]=r&gt;&gt;16&amp;255,e[3]=r&gt;&gt;24&amp;255,this.pickBuffer.bind(),i.attributes.pickId.pointer(a.UNSIGNED_BYTE),i.uniforms.pickOffset=e,this.pickOffset=r);var f=a.getParameter(a.BLEND),h=a.getParameter(a.DITHER);return f&amp;&amp;!this.blend&amp;&amp;a.disable(a.BLEND),h&amp;&amp;a.disable(a.DITHER),a.drawArrays(a.POINTS,0,this.pointCount),f&amp;&amp;!this.blend&amp;&amp;a.enable(a.BLEND),h&amp;&amp;a.enable(a.DITHER),r+this.pointCount}}(),l.draw=l.unifiedDraw,l.drawPick=l.unifiedDraw,l.pick=function(t,e,r){var n=this.pickOffset,i=this.pointCount;if(r&lt;n||r&gt;=n+i)return null;var a=r-n,o=this.points;return{object:this,pointId:a,dataCoord:[o[2*a],o[2*a+1]]}}},{&quot;./lib/shader&quot;:227,&quot;gl-buffer&quot;:165,&quot;gl-shader&quot;:228,&quot;typedarray-pool&quot;:554}],236:[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],d=r[0],p=r[1],m=r[2],g=r[3];return(a=c*d+u*p+f*m+h*g)&lt;0&amp;&amp;(a=-a,d=-d,p=-p,m=-m,g=-g),1-a&gt;1e-6?(i=Math.acos(a),o=Math.sin(i),s=Math.sin((1-n)*i)/o,l=Math.sin(n*i)/o):(s=1-n,l=n),t[0]=s*c+l*d,t[1]=s*u+l*p,t[2]=s*f+l*m,t[3]=s*h+l*g,t}},{}],237:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;vectorize-text&quot;);e.exports=function(t,e){var r=i[e];if(r||(r=i[e]={}),t in r)return r[t];for(var a=n(t,{textAlign:&quot;center&quot;,textBaseline:&quot;middle&quot;,lineHeight:1,font:e}),o=n(t,{triangles:!0,textAlign:&quot;center&quot;,textBaseline:&quot;middle&quot;,lineHeight:1,font:e}),s=[[1/0,1/0],[-1/0,-1/0]],l=0;l&lt;a.positions.length;++l)for(var c=a.positions[l],u=0;u&lt;2;++u)s[0][u]=Math.min(s[0][u],c[u]),s[1][u]=Math.max(s[1][u],c[u]);return r[t]=[o,a,s]};var i={}},{&quot;vectorize-text&quot;:568}],238:[function(t,e,r){function n(t,e){var r=i(t,e),n=r.attributes;return n.position.location=0,n.color.location=1,n.glyph.location=2,n.id.location=3,r}var i=t(&quot;gl-shader&quot;),a=&quot;precision mediump float;\n#define GLSLIFY 1\n\nattribute vec3 position;\nattribute vec4 color;\nattribute vec2 glyph;\nattribute vec4 id;\n\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(any(lessThan(position, clipBounds[0]))   || \n     any(greaterThan(position, clipBounds[1])) ) {\n    gl_Position = vec4(0,0,0,0);\n  } else {\n    float scale = 1.0;\n    if(distance(highlightId, id) &lt; 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}&quot;,o=&quot;precision mediump float;\n#define GLSLIFY 1\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(any(lessThan(position, clipBounds[0])) || any(greaterThan(position, clipBounds[1]))) {\n    gl_Position = vec4(0,0,0,0);\n  } else {\n    float scale = pixelRatio;\n    if(distance(highlightId.bgr, id.bgr) &lt; 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}&quot;,s=&quot;precision mediump float;\n#define GLSLIFY 1\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(any(lessThan(position, clipBounds[0]))   ||\n     any(greaterThan(position, clipBounds[1])) ) {\n    gl_Position = vec4(0,0,0,0);\n  } else {\n    float lscale = pixelRatio * scale;\n    if(distance(highlightId, id) &lt; 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&quot;,l=&quot;precision mediump float;\n#define GLSLIFY 1\n\nuniform vec3 fragClipBounds[2];\nuniform float opacity;\n\nvarying vec4 interpColor;\nvarying vec4 pickId;\nvarying vec3 dataCoordinate;\n\nvoid main() {\n  if(any(lessThan(dataCoordinate, fragClipBounds[0]))   ||\n     any(greaterThan(dataCoordinate, fragClipBounds[1])) ) {\n    discard;\n  } else {\n    gl_FragColor = interpColor * opacity;\n  }\n}\n&quot;,c=&quot;precision mediump float;\n#define GLSLIFY 1\n\nuniform vec3 fragClipBounds[2];\nuniform float pickGroup;\n\nvarying vec4 pickId;\nvarying vec3 dataCoordinate;\n\nvoid main() {\n  if(any(lessThan(dataCoordinate, fragClipBounds[0]))   || \n     any(greaterThan(dataCoordinate, fragClipBounds[1])) ) {\n    discard;\n  } else {\n    gl_FragColor = vec4(pickGroup, pickId.bgr);\n  }\n}&quot;,u=[{name:&quot;position&quot;,type:&quot;vec3&quot;},{name:&quot;color&quot;,type:&quot;vec4&quot;},{name:&quot;glyph&quot;,type:&quot;vec2&quot;},{name:&quot;id&quot;,type:&quot;vec4&quot;}],f={vertex:a,fragment:l,attributes:u},h={vertex:o,fragment:l,attributes:u},d={vertex:s,fragment:l,attributes:u},p={vertex:a,fragment:c,attributes:u},m={vertex:o,fragment:c,attributes:u},g={vertex:s,fragment:c,attributes:u};r.createPerspective=function(t){return n(t,f)},r.createOrtho=function(t){return n(t,h)},r.createProject=function(t){return n(t,d)},r.createPickPerspective=function(t){return n(t,p)},r.createPickOrtho=function(t){return n(t,m)},r.createPickProject=function(t){return n(t,g)}},{&quot;gl-shader&quot;:243}],239:[function(t,e,r){&quot;use strict&quot;;function n(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 i(t,e,r,i){return n(i,i),n(i,i),n(i,i)}function a(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.lineWidth=0,this.projectScale=[2/3,2/3,2/3],this.projectOpacity=[1,1,1],this.pickId=0,this.pickPerspectiveShader=c,this.pickOrthoShader=u,this.pickProjectShader=f,this.points=[],this._selectResult=new function(t,e){this.index=t,this.dataCoordinate=this.position=e}(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}function o(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 l(t,e,r,n){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[r]=n,t}function c(t,e,r,n,a){var c,u=e.axesProject,f=e.gl,h=t.uniforms,d=r.model||v,m=r.view||v,g=r.projection||v,y=e.axesBounds,S=function(t){for(var e=T,r=0;r&lt;2;++r)for(var n=0;n&lt;3;++n)e[r][n]=Math.max(Math.min(t[r][n],1e8),-1e8);return e}(e.clipBounds);c=e.axes?e.axes.lastCubeProps.axis:[1,1,1],x[0]=2/f.drawingBufferWidth,x[1]=2/f.drawingBufferHeight,t.bind(),h.view=m,h.projection=g,h.screenSize=x,h.highlightId=e.highlightId,h.highlightScale=e.highlightScale,h.clipBounds=S,h.pickGroup=e.pickId/255,h.pixelRatio=e.pixelRatio;for(var E=0;E&lt;3;++E)if(u[E]&amp;&amp;e.projectOpacity[E]&lt;1===n){h.scale=e.projectScale[E],h.opacity=e.projectOpacity[E];for(var L=k,C=0;C&lt;16;++C)L[C]=0;for(C=0;C&lt;4;++C)L[5*C]=1;L[5*E]=0,c[E]&lt;0?L[12+E]=y[0][E]:L[12+E]=y[1][E],p(L,d,L),h.model=L;var z=(E+1)%3,D=(E+2)%3,I=o(b),P=o(_);I[z]=1,P[D]=1;var O=i(0,0,0,s(w,I)),F=i(0,0,0,s(M,P));if(Math.abs(O[1])&gt;Math.abs(F[1])){var R=O;O=F,F=R,R=I,I=P,P=R;var N=z;z=D,D=N}O[0]&lt;0&amp;&amp;(I[z]=-1),F[1]&gt;0&amp;&amp;(P[D]=-1);var j=0,B=0;for(C=0;C&lt;4;++C)j+=Math.pow(d[4*z+C],2),B+=Math.pow(d[4*D+C],2);I[z]/=Math.sqrt(j),P[D]/=Math.sqrt(B),h.axes[0]=I,h.axes[1]=P,h.fragClipBounds[0]=l(A,S[0],E,-1e8),h.fragClipBounds[1]=l(A,S[1],E,1e8),e.vao.draw(f.TRIANGLES,e.vertexCount),e.lineWidth&gt;0&amp;&amp;(f.lineWidth(e.lineWidth),e.vao.draw(f.LINES,e.lineVertexCount,e.vertexCount))}}function u(t,e,r,n,i,a){var o=r.gl;if(r.vao.bind(),i===r.opacity&lt;1||a){t.bind();var s=t.uniforms;s.model=n.model||v,s.view=n.view||v,s.projection=n.projection||v,x[0]=2/o.drawingBufferWidth,x[1]=2/o.drawingBufferHeight,s.screenSize=x,s.highlightId=r.highlightId,s.highlightScale=r.highlightScale,s.fragClipBounds=S,s.clipBounds=r.axes.bounds,s.opacity=r.opacity,s.pickGroup=r.pickId/255,s.pixelRatio=r.pixelRatio,r.vao.draw(o.TRIANGLES,r.vertexCount),r.lineWidth&gt;0&amp;&amp;(o.lineWidth(r.lineWidth),r.vao.draw(o.LINES,r.lineVertexCount,r.vertexCount))}c(e,r,n,i),r.vao.unbind()}var f=t(&quot;gl-buffer&quot;),h=t(&quot;gl-vao&quot;),d=t(&quot;typedarray-pool&quot;),p=t(&quot;gl-mat4/multiply&quot;),m=t(&quot;./lib/shaders&quot;),g=t(&quot;./lib/glyphs&quot;),v=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];e.exports=function(t){var e=t.gl,r=m.createPerspective(e),n=m.createOrtho(e),i=m.createProject(e),o=m.createPickPerspective(e),s=m.createPickOrtho(e),l=m.createPickProject(e),c=f(e),u=f(e),d=f(e),p=f(e),g=new a(e,r,n,i,c,u,d,p,h(e,[{buffer:c,size:3,type:e.FLOAT},{buffer:u,size:4,type:e.FLOAT},{buffer:d,size:2,type:e.FLOAT},{buffer:p,size:4,type:e.UNSIGNED_BYTE,normalized:!0}]),o,s,l);return g.update(t),g};var y=a.prototype;y.pickSlots=1,y.setPickBase=function(t){this.pickId=t},y.isTransparent=function(){if(this.opacity&lt;1)return!0;for(var t=0;t&lt;3;++t)if(this.axesProject[t]&amp;&amp;this.projectOpacity[t]&lt;1)return!0;return!1},y.isOpaque=function(){if(this.opacity&gt;=1)return!0;for(var t=0;t&lt;3;++t)if(this.axesProject[t]&amp;&amp;this.projectOpacity[t]&gt;=1)return!0;return!1};var x=[0,0],b=[0,0,0],_=[0,0,0],w=[0,0,0,1],M=[0,0,0,1],k=v.slice(),A=[0,0,0],T=[[0,0,0],[0,0,0]],S=[[-1e8,-1e8,-1e8],[1e8,1e8,1e8]];y.draw=function(t){u(this.useOrtho?this.orthoShader:this.shader,this.projectShader,this,t,!1,!1)},y.drawTransparent=function(t){u(this.useOrtho?this.orthoShader:this.shader,this.projectShader,this,t,!0,!1)},y.drawPick=function(t){u(this.useOrtho?this.pickOrthoShader:this.pickPerspectiveShader,this.pickProjectShader,this,t,!1,!0)},y.pick=function(t){if(!t)return null;if(t.id!==this.pickId)return null;var e=t.value[2]+(t.value[1]&lt;&lt;8)+(t.value[0]&lt;&lt;16);if(e&gt;=this.pointCount||e&lt;0)return null;var r=this.points[e],n=this._selectResult;n.index=e;for(var i=0;i&lt;3;++i)n.position[i]=n.dataCoordinate[i]=r[i];return n},y.highlight=function(t){if(t){var e=t.index,r=255&amp;e,n=e&gt;&gt;8&amp;255,i=e&gt;&gt;16&amp;255;this.highlightId=[r/255,n/255,i/255,0]}else this.highlightId=[1,1,1,1]},y.update=function(t){if(&quot;perspective&quot;in(t=t||{})&amp;&amp;(this.useOrtho=!t.perspective),&quot;orthographic&quot;in t&amp;&amp;(this.useOrtho=!!t.orthographic),&quot;lineWidth&quot;in t&amp;&amp;(this.lineWidth=t.lineWidth),&quot;project&quot;in t)if(Array.isArray(t.project))this.axesProject=t.project;else{var e=!!t.project;this.axesProject=[e,e,e]}if(&quot;projectScale&quot;in t)if(Array.isArray(t.projectScale))this.projectScale=t.projectScale.slice();else{var r=+t.projectScale;this.projectScale=[r,r,r]}if(&quot;projectOpacity&quot;in t)if(Array.isArray(t.projectOpacity))this.projectOpacity=t.projectOpacity.slice();else{r=+t.projectOpacity;this.projectOpacity=[r,r,r]}&quot;opacity&quot;in t&amp;&amp;(this.opacity=t.opacity),this.dirty=!0;var n=t.position;if(n){var i=t.font||&quot;normal&quot;,a=t.alignment||[0,0],o=[1/0,1/0,1/0],s=[-1/0,-1/0,-1/0],l=t.glyph,c=t.color,u=t.size,f=t.angle,h=t.lineColor,p=0,m=0,v=0,y=n.length;t:for(var x=0;x&lt;y;++x){for(var b=n[x],_=0;_&lt;3;++_)if(isNaN(b[_])||!isFinite(b[_]))continue t;var w=(R=Array.isArray(l)?g(l[x],i):l?g(l,i):g(&quot;\u25cf&quot;,i))[0],M=R[1],k=R[2];m+=3*w.cells.length,v+=2*M.edges.length}var A=m+v,T=d.mallocFloat(3*A),S=d.mallocFloat(4*A),E=d.mallocFloat(2*A),L=d.mallocUint32(A),C=[0,a[1]],z=0,D=m,I=[0,0,0,1],P=[0,0,0,1],O=Array.isArray(c)&amp;&amp;Array.isArray(c[0]),F=Array.isArray(h)&amp;&amp;Array.isArray(h[0]);t:for(x=0;x&lt;y;++x){for(b=n[x],_=0;_&lt;3;++_){if(isNaN(b[_])||!isFinite(b[_])){p+=1;continue t}s[_]=Math.max(s[_],b[_]),o[_]=Math.min(o[_],b[_])}var R;w=(R=Array.isArray(l)?g(l[x],i):l?g(l,i):g(&quot;\u25cf&quot;,i))[0],M=R[1],k=R[2];if(Array.isArray(c)){if(3===(N=O?c[x]:c).length){for(_=0;_&lt;3;++_)I[_]=N[_];I[3]=1}else if(4===N.length)for(_=0;_&lt;4;++_)I[_]=N[_]}else I[0]=I[1]=I[2]=0,I[3]=1;if(Array.isArray(h)){var N;if(3===(N=F?h[x]:h).length){for(_=0;_&lt;3;++_)P[_]=N[_];P[_]=1}else if(4===N.length)for(_=0;_&lt;4;++_)P[_]=N[_]}else P[0]=P[1]=P[2]=0,P[3]=1;var j=.5;Array.isArray(u)?j=+u[x]:u?j=+u:this.useOrtho&amp;&amp;(j=12);var B=0;Array.isArray(f)?B=+f[x]:f&amp;&amp;(B=+f);var U=Math.cos(B),V=Math.sin(B);for(b=n[x],_=0;_&lt;3;++_)s[_]=Math.max(s[_],b[_]),o[_]=Math.min(o[_],b[_]);a[0]&lt;0?C[0]=a[0]*(1+k[1][0]):a[0]&gt;0&amp;&amp;(C[0]=-a[0]*(1+k[0][0]));var q=w.cells,H=w.positions;for(_=0;_&lt;q.length;++_)for(var G=q[_],Y=0;Y&lt;3;++Y){for(var W=0;W&lt;3;++W)T[3*z+W]=b[W];for(W=0;W&lt;4;++W)S[4*z+W]=I[W];L[z]=p;var X=H[G[Y]];E[2*z]=j*(U*X[0]-V*X[1]+C[0]),E[2*z+1]=j*(V*X[0]+U*X[1]+C[1]),z+=1}for(q=M.edges,H=M.positions,_=0;_&lt;q.length;++_)for(G=q[_],Y=0;Y&lt;2;++Y){for(W=0;W&lt;3;++W)T[3*D+W]=b[W];for(W=0;W&lt;4;++W)S[4*D+W]=P[W];L[D]=p;X=H[G[Y]];E[2*D]=j*(U*X[0]-V*X[1]+C[0]),E[2*D+1]=j*(V*X[0]+U*X[1]+C[1]),D+=1}p+=1}this.vertexCount=m,this.lineVertexCount=v,this.pointBuffer.update(T),this.colorBuffer.update(S),this.glyphBuffer.update(E),this.idBuffer.update(new Uint32Array(L)),d.free(T),d.free(S),d.free(E),d.free(L),this.bounds=[o,s],this.points=n,this.pointCount=n.length}},y.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()}},{&quot;./lib/glyphs&quot;:237,&quot;./lib/shaders&quot;:238,&quot;gl-buffer&quot;:165,&quot;gl-mat4/multiply&quot;:188,&quot;gl-vao&quot;:259,&quot;typedarray-pool&quot;:554}],240:[function(t,e,r){&quot;use strict&quot;;r.boxVertex=&quot;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&quot;,r.boxFragment=&quot;precision mediump float;\n#define GLSLIFY 1\n\nuniform vec4 color;\n\nvoid main() {\n  gl_FragColor = color;\n}\n&quot;},{}],241:[function(t,e,r){&quot;use strict&quot;;function n(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}var i=t(&quot;gl-shader&quot;),a=t(&quot;gl-buffer&quot;),o=t(&quot;./lib/shaders&quot;);e.exports=function(t,e){var r=t.gl,s=new n(t,a(r,[0,0,0,1,1,0,1,1]),i(r,o.boxVertex,o.boxFragment));return s.update(e),t.addOverlay(s),s};var s=n.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],d=(e[2]-l[0])*(c[2]-c[0])/(l[2]-l[0])+c[0],p=(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]),d=Math.min(d,c[2]),p=Math.min(p,c[3]),!(d&lt;f||p&lt;h)){o.bind();var m=s[2]-s[0],g=s[3]-s[1];if(this.outerFill&amp;&amp;(o.drawBox(0,0,m,h,i),o.drawBox(0,h,f,p,i),o.drawBox(0,p,m,g,i),o.drawBox(d,h,m,p,i)),this.innerFill&amp;&amp;o.drawBox(f,h,d,p,n),r&gt;0){var v=r*u;o.drawBox(f-v,h-v,d+v,h+v,a),o.drawBox(f-v,p-v,d+v,p+v,a),o.drawBox(f-v,h-v,f+v,p+v,a),o.drawBox(d-v,h-v,d+v,p+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)}},{&quot;./lib/shaders&quot;:240,&quot;gl-buffer&quot;:165,&quot;gl-shader&quot;:243}],242:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r){this.gl=t,this.fbo=e,this.buffer=r,this._readTimeout=null;var n=this;this._readCallback=function(){n.gl&amp;&amp;(e.bind(),t.readPixels(0,0,e.shape[0],e.shape[1],t.RGBA,t.UNSIGNED_BYTE,n.buffer),n._readTimeout=null)}}e.exports=function(t,e){return new n(t,i(t,e),a.mallocUint8(e[0]*e[1]*4))};var i=t(&quot;gl-fbo&quot;),a=t(&quot;typedarray-pool&quot;),o=t(&quot;ndarray&quot;),s=t(&quot;bit-twiddle&quot;).nextPow2,l=t(&quot;cwise/lib/wrapper&quot;)({args:[&quot;array&quot;,{offset:[0,0,1],array:0},{offset:[0,0,2],array:0},{offset:[0,0,3],array:0},&quot;scalar&quot;,&quot;scalar&quot;,&quot;index&quot;],pre:{body:&quot;{this_closestD2=1e8,this_closestX=-1,this_closestY=-1}&quot;,args:[],thisVars:[&quot;this_closestD2&quot;,&quot;this_closestX&quot;,&quot;this_closestY&quot;],localVars:[]},body:{body:&quot;{if(_inline_46_arg0_&lt;255||_inline_46_arg1_&lt;255||_inline_46_arg2_&lt;255||_inline_46_arg3_&lt;255){var _inline_46_l=_inline_46_arg4_-_inline_46_arg6_[0],_inline_46_a=_inline_46_arg5_-_inline_46_arg6_[1],_inline_46_f=_inline_46_l*_inline_46_l+_inline_46_a*_inline_46_a;_inline_46_f&lt;this_closestD2&amp;&amp;(this_closestD2=_inline_46_f,this_closestX=_inline_46_arg6_[0],this_closestY=_inline_46_arg6_[1])}}&quot;,args:[{name:&quot;_inline_46_arg0_&quot;,lvalue:!1,rvalue:!0,count:1},{name:&quot;_inline_46_arg1_&quot;,lvalue:!1,rvalue:!0,count:1},{name:&quot;_inline_46_arg2_&quot;,lvalue:!1,rvalue:!0,count:1},{name:&quot;_inline_46_arg3_&quot;,lvalue:!1,rvalue:!0,count:1},{name:&quot;_inline_46_arg4_&quot;,lvalue:!1,rvalue:!0,count:1},{name:&quot;_inline_46_arg5_&quot;,lvalue:!1,rvalue:!0,count:1},{name:&quot;_inline_46_arg6_&quot;,lvalue:!1,rvalue:!0,count:4}],thisVars:[&quot;this_closestD2&quot;,&quot;this_closestX&quot;,&quot;this_closestY&quot;],localVars:[&quot;_inline_46_a&quot;,&quot;_inline_46_f&quot;,&quot;_inline_46_l&quot;]},post:{body:&quot;{return[this_closestX,this_closestY,this_closestD2]}&quot;,args:[],thisVars:[&quot;this_closestD2&quot;,&quot;this_closestX&quot;,&quot;this_closestY&quot;],localVars:[]},debug:!1,funcName:&quot;cwise&quot;,blockSize:64}),c=n.prototype;Object.defineProperty(c,&quot;shape&quot;,{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&gt;this.buffer.length){a.free(this.buffer);for(var n=this.buffer=a.mallocUint8(s(r*e*4)),i=0;i&lt;r*e*4;++i)n[i]=255}return t}}}),c.begin=function(){var t=this.gl;this.shape;t&amp;&amp;(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&amp;&amp;(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,&quot;number&quot;!=typeof r&amp;&amp;(r=1);var i=0|Math.min(Math.max(t-r,0),n[0]),a=0|Math.min(Math.max(t+r,0),n[0]),s=0|Math.min(Math.max(e-r,0),n[1]),c=0|Math.min(Math.max(e+r,0),n[1]);if(a&lt;=i||c&lt;=s)return null;var u=[a-i,c-s],f=o(this.buffer,[u[0],u[1],4],[4,4*n[0],1],4*(i+n[0]*s)),h=l(f.hi(u[0],u[1],1),r,r),d=h[0],p=h[1];if(d&lt;0||Math.pow(this.radius,2)&lt;h[2])return null;return new function(t,e,r,n,i){this.coord=[t,e],this.id=r,this.value=n,this.distance=i}(d+i|0,p+s|0,f.get(d,p,0),[f.get(d,p,1),f.get(d,p,2),f.get(d,p,3)],Math.sqrt(h[2]))},c.dispose=function(){this.gl&amp;&amp;(this.fbo.dispose(),a.free(this.buffer),this.gl=null,this._readTimeout&amp;&amp;clearTimeout(this._readTimeout))}},{&quot;bit-twiddle&quot;:71,&quot;cwise/lib/wrapper&quot;:119,&quot;gl-fbo&quot;:171,ndarray:458,&quot;typedarray-pool&quot;:554}],243:[function(t,e,r){&quot;use strict&quot;;function n(t){this.gl=t,this._vref=this._fref=this._relink=this.vertShader=this.fragShader=this.program=this.attributes=this.uniforms=this.types=null}function i(t,e){return t.name&lt;e.name?-1:1}var a=t(&quot;./lib/create-uniforms&quot;),o=t(&quot;./lib/create-attributes&quot;),s=t(&quot;./lib/reflect&quot;),l=t(&quot;./lib/shader-cache&quot;),c=t(&quot;./lib/runtime-reflect&quot;),u=t(&quot;./lib/GLError&quot;),f=n.prototype;f.bind=function(){this.program||this._relink(),this.gl.useProgram(this.program)},f.dispose=function(){this._fref&amp;&amp;this._fref.dispose(),this._vref&amp;&amp;this._vref.dispose(),this.attributes=this.types=this.vertShader=this.fragShader=this.program=this._relink=this._fref=this._vref=null},f.update=function(t,e,r,n){function f(){d.program=l.program(p,d._vref,d._fref,b,_);for(var t=0;t&lt;r.length;++t)E[t]=p.getUniformLocation(d.program,r[t].name)}if(!e||1===arguments.length){var h=t;t=h.vertex,e=h.fragment,r=h.uniforms,n=h.attributes}var d=this,p=d.gl,m=d._vref;d._vref=l.shader(p,p.VERTEX_SHADER,t),m&amp;&amp;m.dispose(),d.vertShader=d._vref.shader;var g=this._fref;if(d._fref=l.shader(p,p.FRAGMENT_SHADER,e),g&amp;&amp;g.dispose(),d.fragShader=d._fref.shader,!r||!n){var v=p.createProgram();if(p.attachShader(v,d.fragShader),p.attachShader(v,d.vertShader),p.linkProgram(v),!p.getProgramParameter(v,p.LINK_STATUS)){var y=p.getProgramInfoLog(v);throw new u(y,&quot;Error linking program:&quot;+y)}r=r||c.uniforms(p,v),n=n||c.attributes(p,v),p.deleteProgram(v)}(n=n.slice()).sort(i);for(var x=[],b=[],_=[],w=0;w&lt;n.length;++w){var M=n[w];if(M.type.indexOf(&quot;mat&quot;)&gt;=0){for(var k=0|M.type.charAt(M.type.length-1),A=new Array(k),T=0;T&lt;k;++T)A[T]=_.length,b.push(M.name+&quot;[&quot;+T+&quot;]&quot;),&quot;number&quot;==typeof M.location?_.push(M.location+T):Array.isArray(M.location)&amp;&amp;M.location.length===k&amp;&amp;&quot;number&quot;==typeof M.location[T]?_.push(0|M.location[T]):_.push(-1);x.push({name:M.name,type:M.type,locations:A})}else x.push({name:M.name,type:M.type,locations:[_.length]}),b.push(M.name),&quot;number&quot;==typeof M.location?_.push(0|M.location):_.push(-1)}var S=0;for(w=0;w&lt;_.length;++w)if(_[w]&lt;0){for(;_.indexOf(S)&gt;=0;)S+=1;_[w]=S}var E=new Array(r.length);f(),d._relink=f,d.types={uniforms:s(r),attributes:s(n)},d.attributes=o(p,d,x,_),Object.defineProperty(d,&quot;uniforms&quot;,a(p,d,r,E))},e.exports=function(t,e,r,i,a){var o=new n(t);return o.update(e,r,i,a),o}},{&quot;./lib/GLError&quot;:244,&quot;./lib/create-attributes&quot;:245,&quot;./lib/create-uniforms&quot;:246,&quot;./lib/reflect&quot;:247,&quot;./lib/runtime-reflect&quot;:248,&quot;./lib/shader-cache&quot;:249}],244:[function(t,e,r){arguments[4][218][0].apply(r,arguments)},{dup:218}],245:[function(t,e,r){arguments[4][219][0].apply(r,arguments)},{&quot;./GLError&quot;:244,dup:219}],246:[function(t,e,r){arguments[4][220][0].apply(r,arguments)},{&quot;./GLError&quot;:244,&quot;./reflect&quot;:247,dup:220}],247:[function(t,e,r){arguments[4][221][0].apply(r,arguments)},{dup:221}],248:[function(t,e,r){arguments[4][222][0].apply(r,arguments)},{dup:222}],249:[function(t,e,r){arguments[4][223][0].apply(r,arguments)},{&quot;./GLError&quot;:244,dup:223,&quot;gl-format-compiler-error&quot;:172,&quot;weakmap-shim&quot;:576}],250:[function(t,e,r){&quot;use strict&quot;;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]&lt;=n[0]&amp;&amp;n[0]&lt;=o[2]&amp;&amp;o[1]&lt;=n[1]&amp;&amp;n[1]&lt;=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]&amp;&amp;a.drawLine(l,c,s[0],c,e[0],r[0]),t[1]&amp;&amp;a.drawLine(l,c,l,s[1],e[1],r[1]),t[2]&amp;&amp;a.drawLine(l,c,s[2],c,e[2],r[2]),t[3]&amp;&amp;a.drawLine(l,c,l,s[3],e[3],r[3])}},i.dispose=function(){this.plot.removeOverlay(this)}},{}],251:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;gl-shader&quot;);e.exports=function(t){return n(t,&quot;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&quot;,&quot;precision mediump float;\n#define GLSLIFY 1\n\nvarying vec4 fragColor;\n\nvoid main() {\n  gl_FragColor = fragColor;\n}&quot;,null,[{name:&quot;position&quot;,type:&quot;vec3&quot;},{name:&quot;color&quot;,type:&quot;vec3&quot;},{name:&quot;weight&quot;,type:&quot;float&quot;}])}},{&quot;gl-shader&quot;:243}],252:[function(t,e,r){&quot;use strict&quot;;function n(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 i=t(&quot;gl-buffer&quot;),a=t(&quot;gl-vao&quot;),o=t(&quot;./shaders/index&quot;);e.exports=function(t,e){function r(t,e,r,n,i,a){var o=[t,e,r,0,0,0,1];o[n+3]=1,o[n]=i,s.push.apply(s,o),o[6]=-1,s.push.apply(s,o),o[n]=a,s.push.apply(s,o),s.push.apply(s,o),o[6]=1,s.push.apply(s,o),o[n]=i,s.push.apply(s,o)}var s=[];r(0,0,0,0,0,1),r(0,0,0,1,0,1),r(0,0,0,2,0,1),r(1,0,0,1,-1,1),r(1,0,0,2,-1,1),r(0,1,0,0,-1,1),r(0,1,0,2,-1,1),r(0,0,1,0,-1,1),r(0,0,1,1,-1,1);var l=i(t,s),c=a(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=o(t);u.attributes.position.location=0,u.attributes.color.location=1,u.attributes.weight.location=2;var f=new n(t,l,c,u);return f.update(e),f};var s=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],l=n.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||s,o=t.view||s,l=t.projection||s;this.axes&amp;&amp;(i=this.axes.lastCubeProps.axis);for(var h=c,d=u,p=0;p&lt;3;++p)i&amp;&amp;i[p]&lt;0?(h[p]=this.bounds[0][p],d[p]=this.bounds[1][p]):(h[p]=this.bounds[1][p],d[p]=this.bounds[0][p]);f[0]=e.drawingBufferWidth,f[1]=e.drawingBufferHeight,n.uniforms.model=a,n.uniforms.view=o,n.uniforms.projection=l,n.uniforms.coordinates=[this.position,h,d],n.uniforms.colors=this.colors,n.uniforms.screenShape=f;for(p=0;p&lt;3;++p)n.uniforms.lineWidth=this.lineWidth[p]*this.pixelRatio,this.enabled[p]&amp;&amp;(r.draw(e.TRIANGLES,6,6*p),this.drawSides[p]&amp;&amp;r.draw(e.TRIANGLES,12,18+12*p));r.unbind()},l.update=function(t){t&amp;&amp;(&quot;bounds&quot;in t&amp;&amp;(this.bounds=t.bounds),&quot;position&quot;in t&amp;&amp;(this.position=t.position),&quot;lineWidth&quot;in t&amp;&amp;(this.lineWidth=t.lineWidth),&quot;colors&quot;in t&amp;&amp;(this.colors=t.colors),&quot;enabled&quot;in t&amp;&amp;(this.enabled=t.enabled),&quot;drawSides&quot;in t&amp;&amp;(this.drawSides=t.drawSides))},l.dispose=function(){this.vao.dispose(),this.buffer.dispose(),this.shader.dispose()}},{&quot;./shaders/index&quot;:251,&quot;gl-buffer&quot;:165,&quot;gl-vao&quot;:259}],253:[function(t,e,r){var n=t(&quot;gl-shader&quot;),i=&quot;precision mediump float;\n#define GLSLIFY 1\n\nattribute vec4 uv;\nattribute vec3 f;\nattribute vec3 normal;\n\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  worldCoordinate = vec3(uv.zw, f.x);\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&quot;,a=&quot;precision mediump float;\n#define GLSLIFY 1\n\nfloat beckmannDistribution_2_0(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\n\n\nfloat beckmannSpecular_1_1(\n  vec3 lightDirection,\n  vec3 viewDirection,\n  vec3 surfaceNormal,\n  float roughness) {\n  return beckmannDistribution_2_0(dot(surfaceNormal, normalize(lightDirection + viewDirection)), roughness);\n}\n\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 (kill &gt; 0.0 ||\n    any(lessThan(worldCoordinate, clipBounds[0])) || any(greaterThan(worldCoordinate, clipBounds[1]))) {\n    discard;\n  }\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_1_1(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 = step(vertexColor, .5) * texture2D(colormap, vec2(value, value)) + 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&quot;,o=&quot;precision mediump float;\n#define GLSLIFY 1\n\nattribute vec4 uv;\nattribute float f;\n\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  vec4 worldPosition = model * vec4(dataCoordinate, 1.0);\n\n  vec4 clipPosition = projection * view * worldPosition;\n  clipPosition.z = clipPosition.z + zOffset;\n\n  gl_Position = clipPosition;\n  value = f;\n  kill = -1.0;\n  worldCoordinate = dataCoordinate;\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&quot;,s=&quot;precision mediump float;\n#define GLSLIFY 1\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 &gt; 0.0 ||\n    any(lessThan(worldCoordinate, clipBounds[0])) || any(greaterThan(worldCoordinate, clipBounds[1]))) {\n    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&quot;;r.createShader=function(t){var e=n(t,i,a,null,[{name:&quot;uv&quot;,type:&quot;vec4&quot;},{name:&quot;f&quot;,type:&quot;vec3&quot;},{name:&quot;normal&quot;,type:&quot;vec3&quot;}]);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,i,s,null,[{name:&quot;uv&quot;,type:&quot;vec4&quot;},{name:&quot;f&quot;,type:&quot;vec3&quot;},{name:&quot;normal&quot;,type:&quot;vec3&quot;}]);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,o,a,null,[{name:&quot;uv&quot;,type:&quot;vec4&quot;},{name:&quot;f&quot;,type:&quot;float&quot;}]);return e.attributes.uv.location=0,e.attributes.f.location=1,e},r.createPickContourShader=function(t){var e=n(t,o,s,null,[{name:&quot;uv&quot;,type:&quot;vec4&quot;},{name:&quot;f&quot;,type:&quot;float&quot;}]);return e.attributes.uv.location=0,e.attributes.f.location=1,e}},{&quot;gl-shader&quot;:243}],254:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,n,i,a,o,s,l,c,u,f,h,d){this.gl=t,this.shape=e,this.bounds=r,this.intensityBounds=[],this._shader=n,this._pickShader=i,this._coordinateBuffer=a,this._vao=o,this._colorMap=s,this._contourShader=l,this._contourPickShader=c,this._contourBuffer=u,this._contourVAO=f,this._contourOffsets=[[],[],[]],this._contourCounts=[[],[],[]],this._vertexCount=0,this._pickResult=new function(t,e,r,n,i){this.position=t,this.index=e,this.uv=r,this.level=n,this.dataCoordinate=i}([0,0,0],[0,0],[0,0],[0,0,0],[0,0,0]),this._dynamicBuffer=h,this._dynamicVAO=d,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=[y(p.mallocFloat(1024),[0,0]),y(p.mallocFloat(1024),[0,0]),y(p.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.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}function i(t,e){var r,n,i,a=e.axes&amp;&amp;e.axes.lastCubeProps.axis||O,o=e.showSurface,s=e.showContour;for(r=0;r&lt;3;++r)for(o=o||e.surfaceProject[r],n=0;n&lt;3;++n)s=s||e.contourProject[r][n];for(r=0;r&lt;3;++r){var l=F.projections[r];for(n=0;n&lt;16;++n)l[n]=0;for(n=0;n&lt;4;++n)l[5*n]=1;l[5*r]=0,l[12+r]=e.axesBounds[+(a[r]&gt;0)][r],b(l,t.model,l);var c=F.clipBounds[r];for(i=0;i&lt;2;++i)for(n=0;n&lt;3;++n)c[i][n]=t.clipBounds[i][n];c[0][r]=-1e8,c[1][r]=1e8}return F.showSurface=o,F.showContour=s,F}function a(t,e){t=t||{};var r=this.gl;r.disable(r.CULL_FACE),this._colorMap.bind(0);var n=R;n.model=t.model||C,n.view=t.view||C,n.projection=t.projection||C,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.contourColor=this.contourColor[0],n.inverseModel=_(n.inverseModel,n.model);for(var a=0;a&lt;2;++a)for(var o=n.clipBounds[a],s=0;s&lt;3;++s)o[s]=Math.min(Math.max(this.clipBounds[a][s],-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=j,n.vertexColor=this.vertexColor;var l=N;for(b(l,n.view,n.model),b(l,n.projection,l),_(l,l),a=0;a&lt;3;++a)n.eyePosition[a]=l[12+a]/l[15];var c=l[15];for(a=0;a&lt;3;++a)c+=this.lightPosition[a]*l[4*a+3];for(a=0;a&lt;3;++a){var u=l[12+a];for(s=0;s&lt;3;++s)u+=l[4*s+a]*this.lightPosition[s];n.lightPosition[a]=u/c}var f=i(n,this);if(f.showSurface&amp;&amp;e===this.opacity&lt;1){for(this._shader.bind(),this._shader.uniforms=n,this._vao.bind(),this.showSurface&amp;&amp;this._vertexCount&amp;&amp;this._vao.draw(r.TRIANGLES,this._vertexCount),a=0;a&lt;3;++a)this.surfaceProject[a]&amp;&amp;this.vertexCount&amp;&amp;(this._shader.uniforms.model=f.projections[a],this._shader.uniforms.clipBounds=f.clipBounds[a],this._vao.draw(r.TRIANGLES,this._vertexCount));this._vao.unbind()}if(f.showContour&amp;&amp;!e){var h=this._contourShader;n.kambient=1,n.kdiffuse=0,n.kspecular=0,n.opacity=1,h.bind(),h.uniforms=n;var d=this._contourVAO;for(d.bind(),a=0;a&lt;3;++a)for(h.uniforms.permutation=D[a],r.lineWidth(this.contourWidth[a]),s=0;s&lt;this.contourLevels[a].length;++s)this._contourCounts[a][s]&amp;&amp;(s===this.highlightLevel[a]?(h.uniforms.contourColor=this.highlightColor[a],h.uniforms.contourTint=this.highlightTint[a]):0!==s&amp;&amp;s-1!==this.highlightLevel[a]||(h.uniforms.contourColor=this.contourColor[a],h.uniforms.contourTint=this.contourTint[a]),h.uniforms.height=this.contourLevels[a][s],d.draw(r.LINES,this._contourCounts[a][s],this._contourOffsets[a][s]));for(a=0;a&lt;3;++a)for(h.uniforms.model=f.projections[a],h.uniforms.clipBounds=f.clipBounds[a],s=0;s&lt;3;++s)if(this.contourProject[a][s]){h.uniforms.permutation=D[s],r.lineWidth(this.contourWidth[s]);for(var p=0;p&lt;this.contourLevels[s].length;++p)p===this.highlightLevel[s]?(h.uniforms.contourColor=this.highlightColor[s],h.uniforms.contourTint=this.highlightTint[s]):0!==p&amp;&amp;p-1!==this.highlightLevel[s]||(h.uniforms.contourColor=this.contourColor[s],h.uniforms.contourTint=this.contourTint[s]),h.uniforms.height=this.contourLevels[s][p],d.draw(r.LINES,this._contourCounts[s][p],this._contourOffsets[s][p])}for((d=this._dynamicVAO).bind(),a=0;a&lt;3;++a)if(0!==this._dynamicCounts[a])for(h.uniforms.model=n.model,h.uniforms.clipBounds=n.clipBounds,h.uniforms.permutation=D[a],r.lineWidth(this.dynamicWidth[a]),h.uniforms.contourColor=this.dynamicColor[a],h.uniforms.contourTint=this.dynamicTint[a],h.uniforms.height=this.dynamicLevel[a],d.draw(r.LINES,this._dynamicCounts[a],this._dynamicOffsets[a]),s=0;s&lt;3;++s)this.contourProject[s][a]&amp;&amp;(h.uniforms.model=f.projections[s],h.uniforms.clipBounds=f.clipBounds[s],d.draw(r.LINES,this._dynamicCounts[a],this._dynamicOffsets[a]));d.unbind()}}function o(t,e){var r=e.shape.slice(),n=t.shape.slice();g.assign(t.lo(1,1).hi(r[0],r[1]),e),g.assign(t.lo(1).hi(r[0],1),e.hi(r[0],1)),g.assign(t.lo(1,n[1]-1).hi(r[0],1),e.lo(0,r[1]-1).hi(r[0],1)),g.assign(t.lo(0,1).hi(1,r[1]),e.hi(1)),g.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))}function s(t,e){return Array.isArray(t)?[e(t[0]),e(t[1]),e(t[2])]:[e(t),e(t),e(t)]}function l(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 c(t){if(Array.isArray(t)){if(Array.isArray(t))return[l(t[0]),l(t[1]),l(t[2])];var e=l(t);return[e.slice(),e.slice(),e.slice()]}}e.exports=function(t){var e=t.gl,r=A(e),i=S(e),a=T(e),o=E(e),s=f(e),l=h(e,[{buffer:s,size:4,stride:L,offset:0},{buffer:s,size:3,stride:L,offset:16},{buffer:s,size:3,stride:L,offset:28}]),c=f(e),u=h(e,[{buffer:c,size:4,stride:20,offset:0},{buffer:c,size:1,stride:20,offset:16}]),p=f(e),m=h(e,[{buffer:p,size:2,type:e.FLOAT}]),g=d(e,1,I,e.RGBA,e.UNSIGNED_BYTE);g.minFilter=e.LINEAR,g.magFilter=e.LINEAR;var v=new n(e,[0,0],[[0,0,0],[0,0,0]],r,i,s,l,g,a,o,c,u,p,m),y={levels:[[],[],[]]};for(var x in t)y[x]=t[x];return y.colormap=y.colormap||&quot;jet&quot;,v.update(y),v};var u=t(&quot;bit-twiddle&quot;),f=t(&quot;gl-buffer&quot;),h=t(&quot;gl-vao&quot;),d=t(&quot;gl-texture2d&quot;),p=t(&quot;typedarray-pool&quot;),m=t(&quot;colormap&quot;),g=t(&quot;ndarray-ops&quot;),v=t(&quot;ndarray-pack&quot;),y=t(&quot;ndarray&quot;),x=t(&quot;surface-nets&quot;),b=t(&quot;gl-mat4/multiply&quot;),_=t(&quot;gl-mat4/invert&quot;),w=t(&quot;binary-search-bounds&quot;),M=t(&quot;ndarray-gradient&quot;),k=t(&quot;./lib/shaders&quot;),A=k.createShader,T=k.createContourShader,S=k.createPickShader,E=k.createPickContourShader,L=40,C=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],z=[[0,0],[0,1],[1,0],[1,1],[1,0],[0,1]],D=[[0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0]];!function(){for(var t=0;t&lt;3;++t){var e=D[t],r=(t+2)%3;e[(t+1)%3+0]=1,e[r+3]=1,e[t+6]=1}}();var I=256,P=n.prototype;P.isTransparent=function(){return this.opacity&lt;1},P.isOpaque=function(){if(this.opacity&gt;=1)return!0;for(var t=0;t&lt;3;++t)if(this._contourCounts[t].length&gt;0||this._dynamicCounts[t]&gt;0)return!0;return!1},P.pickSlots=1,P.setPickBase=function(t){this.pickId=t};var O=[0,0,0],F={showSurface:!1,showContour:!1,projections:[C.slice(),C.slice(),C.slice()],clipBounds:[[[0,0,0],[0,0,0]],[[0,0,0],[0,0,0]],[[0,0,0],[0,0,0]]]},R={model:C,view:C,projection:C,inverseModel:C.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,kambient:1,kdiffuse:1,kspecular:1,lightPosition:[1e3,1e3,1e3],eyePosition:[0,0,0],roughness:1,fresnel:1,opacity:1,vertexColor:0},N=C.slice(),j=[1,0,0,0,1,0,0,0,1];P.draw=function(t){return a.call(this,t,!1)},P.drawTransparent=function(t){return a.call(this,t,!0)};var B={model:C,view:C,projection:C,inverseModel:C,clipBounds:[[0,0,0],[0,0,0]],height:0,shape:[0,0],pickId:0,lowerBound:[0,0,0],upperBound:[0,0,0],zOffset:0,permutation:[1,0,0,0,1,0,0,0,1],lightPosition:[0,0,0],eyePosition:[0,0,0]};P.drawPick=function(t){t=t||{};var e=this.gl;e.disable(e.CULL_FACE);var r=B;r.model=t.model||C,r.view=t.view||C,r.projection=t.projection||C,r.shape=this._field[2].shape,r.pickId=this.pickId/255,r.lowerBound=this.bounds[0],r.upperBound=this.bounds[1],r.permutation=j;for(var n=0;n&lt;2;++n)for(var a=r.clipBounds[n],o=0;o&lt;3;++o)a[o]=Math.min(Math.max(this.clipBounds[n][o],-1e8),1e8);var s=i(r,this);if(s.showSurface){for(this._pickShader.bind(),this._pickShader.uniforms=r,this._vao.bind(),this._vao.draw(e.TRIANGLES,this._vertexCount),n=0;n&lt;3;++n)this.surfaceProject[n]&amp;&amp;(this._pickShader.uniforms.model=s.projections[n],this._pickShader.uniforms.clipBounds=s.clipBounds[n],this._vao.draw(e.TRIANGLES,this._vertexCount));this._vao.unbind()}if(s.showContour){var l=this._contourPickShader;l.bind(),l.uniforms=r;var c=this._contourVAO;for(c.bind(),o=0;o&lt;3;++o)for(e.lineWidth(this.contourWidth[o]),l.uniforms.permutation=D[o],n=0;n&lt;this.contourLevels[o].length;++n)this._contourCounts[o][n]&amp;&amp;(l.uniforms.height=this.contourLevels[o][n],c.draw(e.LINES,this._contourCounts[o][n],this._contourOffsets[o][n]));for(n=0;n&lt;3;++n)for(l.uniforms.model=s.projections[n],l.uniforms.clipBounds=s.clipBounds[n],o=0;o&lt;3;++o)if(this.contourProject[n][o]){l.uniforms.permutation=D[o],e.lineWidth(this.contourWidth[o]);for(var u=0;u&lt;this.contourLevels[o].length;++u)this._contourCounts[o][u]&amp;&amp;(l.uniforms.height=this.contourLevels[o][u],c.draw(e.LINES,this._contourCounts[o][u],this._contourOffsets[o][u]))}c.unbind()}},P.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]&gt;&gt;4)/16)/255,i=Math.floor(n),a=n-i,o=e[1]*(t.value[1]+(15&amp;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&lt;2;++u)for(var f=u?a:1-a,h=0;h&lt;2;++h)for(var d=i+u,p=s+h,m=f*(h?l:1-l),g=0;g&lt;3;++g)c[g]+=this._field[g].get(d,p)*m;for(var v=this._pickResult.level,y=0;y&lt;3;++y)if(v[y]=w.le(this.contourLevels[y],c[y]),v[y]&lt;0)this.contourLevels[y].length&gt;0&amp;&amp;(v[y]=0);else if(v[y]&lt;this.contourLevels[y].length-1){var x=this.contourLevels[y][v[y]],b=this.contourLevels[y][v[y]+1];Math.abs(x-c[y])&gt;Math.abs(b-c[y])&amp;&amp;(v[y]+=1)}for(r.index[0]=a&lt;.5?i:i+1,r.index[1]=l&lt;.5?s:s+1,r.uv[0]=n/e[0],r.uv[1]=o/e[1],g=0;g&lt;3;++g)r.dataCoordinate[g]=this._field[g].get(r.index[0],r.index[1]);return r},P.update=function(t){t=t||{},this.dirty=!0,&quot;contourWidth&quot;in t&amp;&amp;(this.contourWidth=s(t.contourWidth,Number)),&quot;showContour&quot;in t&amp;&amp;(this.showContour=s(t.showContour,Boolean)),&quot;showSurface&quot;in t&amp;&amp;(this.showSurface=!!t.showSurface),&quot;contourTint&quot;in t&amp;&amp;(this.contourTint=s(t.contourTint,Boolean)),&quot;contourColor&quot;in t&amp;&amp;(this.contourColor=c(t.contourColor)),&quot;contourProject&quot;in t&amp;&amp;(this.contourProject=s(t.contourProject,function(t){return s(t,Boolean)})),&quot;surfaceProject&quot;in t&amp;&amp;(this.surfaceProject=t.surfaceProject),&quot;dynamicColor&quot;in t&amp;&amp;(this.dynamicColor=c(t.dynamicColor)),&quot;dynamicTint&quot;in t&amp;&amp;(this.dynamicTint=s(t.dynamicTint,Number)),&quot;dynamicWidth&quot;in t&amp;&amp;(this.dynamicWidth=s(t.dynamicWidth,Number)),&quot;opacity&quot;in t&amp;&amp;(this.opacity=t.opacity),&quot;colorBounds&quot;in t&amp;&amp;(this.colorBounds=t.colorBounds),&quot;vertexColor&quot;in t&amp;&amp;(this.vertexColor=t.vertexColor?1:0);var e=t.field||t.coords&amp;&amp;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)),&quot;field&quot;in t||&quot;coords&quot;in t){var n=(e.shape[0]+2)*(e.shape[1]+2);n&gt;this._field[2].data.length&amp;&amp;(p.freeFloat(this._field[2].data),this._field[2].data=p.mallocFloat(u.nextPow2(n))),this._field[2]=y(this._field[2].data,[e.shape[0]+2,e.shape[1]+2]),o(this._field[2],e),this.shape=e.shape.slice();for(var i=this.shape,a=0;a&lt;2;++a)this._field[2].size&gt;this._field[a].data.length&amp;&amp;(p.freeFloat(this._field[a].data),this._field[a].data=p.mallocFloat(this._field[2].size)),this._field[a]=y(this._field[a].data,[i[0]+2,i[1]+2]);if(t.coords){var l=t.coords;if(!Array.isArray(l)||3!==l.length)throw new Error(&quot;gl-surface: invalid coordinates for x/y&quot;);for(a=0;a&lt;2;++a){var f=l[a];for(w=0;w&lt;2;++w)if(f.shape[w]!==i[w])throw new Error(&quot;gl-surface: coords have incorrect shape&quot;);o(this._field[a],f)}}else if(t.ticks){var h=t.ticks;if(!Array.isArray(h)||2!==h.length)throw new Error(&quot;gl-surface: invalid ticks&quot;);for(a=0;a&lt;2;++a){var d=h[a];if((Array.isArray(d)||d.length)&amp;&amp;(d=y(d)),d.shape[0]!==i[a])throw new Error(&quot;gl-surface: invalid tick length&quot;);var b=y(d.data,i);b.stride[a]=d.stride[0],b.stride[1^a]=0,o(this._field[a],b)}}else{for(a=0;a&lt;2;++a){var _=[0,0];_[a]=1,this._field[a]=y(this._field[a].data,[i[0]+2,i[1]+2],_,0)}this._field[0].set(0,0,0);for(var w=0;w&lt;i[0];++w)this._field[0].set(w+1,0,w);for(this._field[0].set(i[0]+1,0,i[0]-1),this._field[1].set(0,0,0),w=0;w&lt;i[1];++w)this._field[1].set(0,w+1,w);this._field[1].set(0,i[1]+1,i[1]-1)}var k=this._field,A=y(p.mallocFloat(3*k[2].size*2),[3,i[0]+2,i[1]+2,2]);for(a=0;a&lt;3;++a)M(A.pick(a),k[a],&quot;mirror&quot;);var T=y(p.mallocFloat(3*k[2].size),[i[0]+2,i[1]+2,3]);for(a=0;a&lt;i[0]+2;++a)for(w=0;w&lt;i[1]+2;++w){var S=A.get(0,a,w,0),E=A.get(0,a,w,1),L=A.get(1,a,w,0),C=A.get(1,a,w,1),D=A.get(2,a,w,0),P=A.get(2,a,w,1),O=L*P-C*D,F=D*E-P*S,R=S*C-E*L,N=Math.sqrt(O*O+F*F+R*R);N&lt;1e-8?(N=Math.max(Math.abs(O),Math.abs(F),Math.abs(R)))&lt;1e-8?(R=1,F=O=0,N=1):N=1/N:N=1/Math.sqrt(N),T.set(a,w,0,O*N),T.set(a,w,1,F*N),T.set(a,w,2,R*N)}p.free(A.data);var j=[1/0,1/0,1/0],B=[-1/0,-1/0,-1/0],U=1/0,V=-1/0,q=(i[0]-1)*(i[1]-1)*6,H=p.mallocFloat(u.nextPow2(10*q)),G=0,Y=0;for(a=0;a&lt;i[0]-1;++a)t:for(w=0;w&lt;i[1]-1;++w){for(var W=0;W&lt;2;++W)for(var X=0;X&lt;2;++X)for(var Z=0;Z&lt;3;++Z){var J=this._field[Z].get(1+a+W,1+w+X);if(isNaN(J)||!isFinite(J))continue t}for(Z=0;Z&lt;6;++Z){var K=a+z[Z][0],Q=w+z[Z][1],$=this._field[0].get(K+1,Q+1),tt=this._field[1].get(K+1,Q+1),et=J=this._field[2].get(K+1,Q+1);O=T.get(K+1,Q+1,0),F=T.get(K+1,Q+1,1),R=T.get(K+1,Q+1,2),t.intensity&amp;&amp;(et=t.intensity.get(K,Q)),H[G++]=K,H[G++]=Q,H[G++]=$,H[G++]=tt,H[G++]=J,H[G++]=0,H[G++]=et,H[G++]=O,H[G++]=F,H[G++]=R,j[0]=Math.min(j[0],$),j[1]=Math.min(j[1],tt),j[2]=Math.min(j[2],J),U=Math.min(U,et),B[0]=Math.max(B[0],$),B[1]=Math.max(B[1],tt),B[2]=Math.max(B[2],J),V=Math.max(V,et),Y+=1}}for(t.intensityBounds&amp;&amp;(U=+t.intensityBounds[0],V=+t.intensityBounds[1]),a=6;a&lt;G;a+=10)H[a]=(H[a]-U)/(V-U);this._vertexCount=Y,this._coordinateBuffer.update(H.subarray(0,G)),p.freeFloat(H),p.free(T.data),this.bounds=[j,B],this.intensity=t.intensity||this._field[2],this.intensityBounds[0]===U&amp;&amp;this.intensityBounds[1]===V||(r=!0),this.intensityBounds=[U,V]}if(&quot;levels&quot;in t){var rt=t.levels;for(rt=Array.isArray(rt[0])?rt.slice():[[],[],rt],a=0;a&lt;3;++a)rt[a]=rt[a].slice(),rt.sort(function(t,e){return t-e});t:for(a=0;a&lt;3;++a){if(rt[a].length!==this.contourLevels[a].length){r=!0;break}for(w=0;w&lt;rt[a].length;++w)if(rt[a][w]!==this.contourLevels[a][w]){r=!0;break t}}this.contourLevels=rt}if(r){k=this._field,i=this.shape;for(var nt=[],it=0;it&lt;3;++it){rt=this.contourLevels[it];var at=[],ot=[],st=[0,0,0];for(a=0;a&lt;rt.length;++a){var lt=x(this._field[it],rt[a]);at.push(nt.length/5|0),Y=0;t:for(w=0;w&lt;lt.cells.length;++w){var ct=lt.cells[w];for(Z=0;Z&lt;2;++Z){var ut=lt.positions[ct[Z]],ft=ut[0],ht=0|Math.floor(ft),dt=ft-ht,pt=ut[1],mt=0|Math.floor(pt),gt=pt-mt,vt=!1;e:for(var yt=0;yt&lt;3;++yt){st[yt]=0;var xt=(it+yt+1)%3;for(W=0;W&lt;2;++W){var bt=W?dt:1-dt;for(K=0|Math.min(Math.max(ht+W,0),i[0]),X=0;X&lt;2;++X){var _t=X?gt:1-gt;if(Q=0|Math.min(Math.max(mt+X,0),i[1]),J=yt&lt;2?this._field[xt].get(K,Q):(this.intensity.get(K,Q)-this.intensityBounds[0])/(this.intensityBounds[1]-this.intensityBounds[0]),!isFinite(J)||isNaN(J)){vt=!0;break e}var wt=bt*_t;st[yt]+=wt*J}}}if(vt){if(Z&gt;0){for(var Mt=0;Mt&lt;5;++Mt)nt.pop();Y-=1}continue t}nt.push(st[0],st[1],ut[0],ut[1],st[2]),Y+=1}}ot.push(Y)}this._contourOffsets[it]=at,this._contourCounts[it]=ot}var kt=p.mallocFloat(nt.length);for(a=0;a&lt;nt.length;++a)kt[a]=nt[a];this._contourBuffer.update(kt),p.freeFloat(kt)}t.colormap&amp;&amp;this._colorMap.setPixels(function(t){var e=v([m({colormap:t,nshades:I,format:&quot;rgba&quot;}).map(function(t){return[t[0],t[1],t[2],255*t[3]]})]);return g.divseq(e,255),e}(t.colormap))},P.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&lt;3;++t)p.freeFloat(this._field[t].data)},P.highlight=function(t){if(!t)return this._dynamicCounts=[0,0,0],this.dyanamicLevel=[NaN,NaN,NaN],void(this.highlightLevel=[-1,-1,-1]);for(var e=0;e&lt;3;++e)this.enableHighlight[e]?this.highlightLevel[e]=t.level[e]:this.highlightLevel[e]=-1;var r;if(r=this.snapToData?t.dataCoordinate:t.position,this.enableDynamic[0]&amp;&amp;r[0]!==this.dynamicLevel[0]||this.enableDynamic[1]&amp;&amp;r[1]!==this.dynamicLevel[1]||this.enableDynamic[2]&amp;&amp;r[2]!==this.dynamicLevel[2]){for(var n=0,i=this.shape,a=p.mallocFloat(12*i[0]*i[1]),o=0;o&lt;3;++o)if(this.enableDynamic[o]){this.dynamicLevel[o]=r[o];var s=(o+1)%3,l=(o+2)%3,c=this._field[o],u=this._field[s],f=this._field[l],h=(this.intensity,x(c,r[o])),d=h.cells,m=h.positions;for(this._dynamicOffsets[o]=n,e=0;e&lt;d.length;++e)for(var g=d[e],v=0;v&lt;2;++v){var y=m[g[v]],b=+y[0],_=0|b,w=0|Math.min(_+1,i[0]),M=b-_,k=1-M,A=+y[1],T=0|A,S=0|Math.min(T+1,i[1]),E=A-T,L=1-E,C=k*L,z=k*E,D=M*L,I=M*E,P=C*u.get(_,T)+z*u.get(_,S)+D*u.get(w,T)+I*u.get(w,S),O=C*f.get(_,T)+z*f.get(_,S)+D*f.get(w,T)+I*f.get(w,S);if(isNaN(P)||isNaN(O)){v&amp;&amp;(n-=1);break}a[2*n+0]=P,a[2*n+1]=O,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)),p.freeFloat(a)}}},{&quot;./lib/shaders&quot;:253,&quot;binary-search-bounds&quot;:70,&quot;bit-twiddle&quot;:71,colormap:105,&quot;gl-buffer&quot;:165,&quot;gl-mat4/invert&quot;:186,&quot;gl-mat4/multiply&quot;:188,&quot;gl-texture2d&quot;:255,&quot;gl-vao&quot;:259,ndarray:458,&quot;ndarray-gradient&quot;:449,&quot;ndarray-ops&quot;:452,&quot;ndarray-pack&quot;:453,&quot;surface-nets&quot;:540,&quot;typedarray-pool&quot;:554}],255:[function(t,e,r){&quot;use strict&quot;;function n(t){return&quot;undefined&quot;!=typeof HTMLCanvasElement&amp;&amp;t instanceof HTMLCanvasElement||&quot;undefined&quot;!=typeof HTMLImageElement&amp;&amp;t instanceof HTMLImageElement||&quot;undefined&quot;!=typeof HTMLVideoElement&amp;&amp;t instanceof HTMLVideoElement||&quot;undefined&quot;!=typeof ImageData&amp;&amp;t instanceof ImageData}function i(t,e,r){var n=t.gl,i=n.getParameter(n.MAX_TEXTURE_SIZE);if(e&lt;0||e&gt;i||r&lt;0||r&gt;i)throw new Error(&quot;gl-texture2d: Invalid texture size&quot;);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 a(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}function o(t,e){return 3===t.length?1===e[2]&amp;&amp;e[1]===t[0]*t[2]&amp;&amp;e[0]===t[2]:1===e[0]&amp;&amp;e[1]===t[0]}function s(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 l(t,e,r,n,i){var o=t.getParameter(t.MAX_TEXTURE_SIZE);if(e&lt;0||e&gt;o||r&lt;0||r&gt;o)throw new Error(&quot;gl-texture2d: Invalid texture shape&quot;);if(i===t.FLOAT&amp;&amp;!t.getExtension(&quot;OES_texture_float&quot;))throw new Error(&quot;gl-texture2d: Floating point textures not supported on this platform&quot;);var l=s(t);return t.texImage2D(t.TEXTURE_2D,0,n,e,r,0,n,i,null),new a(t,l,e,r,n,i)}var c=t(&quot;ndarray&quot;),u=t(&quot;ndarray-ops&quot;),f=t(&quot;typedarray-pool&quot;);e.exports=function(t){if(arguments.length&lt;=1)throw new Error(&quot;gl-texture2d: Missing arguments for texture2d constructor&quot;);if(h||function(t){h=[t.LINEAR,t.NEAREST_MIPMAP_LINEAR,t.LINEAR_MIPMAP_NEAREST,t.LINEAR_MIPMAP_NEAREST],d=[t.NEAREST,t.LINEAR,t.NEAREST_MIPMAP_NEAREST,t.NEAREST_MIPMAP_LINEAR,t.LINEAR_MIPMAP_NEAREST,t.LINEAR_MIPMAP_LINEAR],p=[t.REPEAT,t.CLAMP_TO_EDGE,t.MIRRORED_REPEAT]}(t),&quot;number&quot;==typeof arguments[1])return l(t,arguments[1],arguments[2],arguments[3]||t.RGBA,arguments[4]||t.UNSIGNED_BYTE);if(Array.isArray(arguments[1]))return l(t,0|arguments[1][0],0|arguments[1][1],arguments[2]||t.RGBA,arguments[3]||t.UNSIGNED_BYTE);if(&quot;object&quot;==typeof arguments[1]){var e=arguments[1],r=n(e)?e:e.raw;if(r)return function(t,e,r,n,i,o){var l=s(t);return t.texImage2D(t.TEXTURE_2D,0,i,i,o,e),new a(t,l,r,n,i,o)}(t,r,0|e.width,0|e.height,arguments[2]||t.RGBA,arguments[3]||t.UNSIGNED_BYTE);if(e.shape&amp;&amp;e.data&amp;&amp;e.stride)return function(t,e){var r=e.dtype,n=e.shape.slice(),i=t.getParameter(t.MAX_TEXTURE_SIZE);if(n[0]&lt;0||n[0]&gt;i||n[1]&lt;0||n[1]&gt;i)throw new Error(&quot;gl-texture2d: Invalid texture size&quot;);var l=o(n,e.stride.slice()),h=0;&quot;float32&quot;===r?h=t.FLOAT:&quot;float64&quot;===r?(h=t.FLOAT,l=!1,r=&quot;float32&quot;):&quot;uint8&quot;===r?h=t.UNSIGNED_BYTE:(h=t.UNSIGNED_BYTE,l=!1,r=&quot;uint8&quot;);var d=0;if(2===n.length)d=t.LUMINANCE,n=[n[0],n[1],1],e=c(e.data,n,[e.stride[0],e.stride[1],1],e.offset);else{if(3!==n.length)throw new Error(&quot;gl-texture2d: Invalid shape for texture&quot;);if(1===n[2])d=t.ALPHA;else if(2===n[2])d=t.LUMINANCE_ALPHA;else if(3===n[2])d=t.RGB;else{if(4!==n[2])throw new Error(&quot;gl-texture2d: Invalid shape for pixel coords&quot;);d=t.RGBA}}h!==t.FLOAT||t.getExtension(&quot;OES_texture_float&quot;)||(h=t.UNSIGNED_BYTE,l=!1);var p,g,v=e.size;if(l)p=0===e.offset&amp;&amp;e.data.length===v?e.data:e.data.subarray(e.offset,e.offset+v);else{var y=[n[2],n[2]*n[0],1];g=f.malloc(v,r);var x=c(g,n,y,0);&quot;float32&quot;!==r&amp;&amp;&quot;float64&quot;!==r||h!==t.UNSIGNED_BYTE?u.assign(x,e):m(x,e),p=g.subarray(0,v)}var b=s(t);return t.texImage2D(t.TEXTURE_2D,0,d,n[0],n[1],0,d,h,p),l||f.free(g),new a(t,b,n[0],n[1],d,h)}(t,e)}throw new Error(&quot;gl-texture2d: Invalid arguments for texture2d constructor&quot;)};var h=null,d=null,p=null,m=function(t,e){u.muls(t,e,255)},g=a.prototype;Object.defineProperties(g,{minFilter:{get:function(){return this._minFilter},set:function(t){this.bind();var e=this.gl;if(this.type===e.FLOAT&amp;&amp;h.indexOf(t)&gt;=0&amp;&amp;(e.getExtension(&quot;OES_texture_float_linear&quot;)||(t=e.NEAREST)),d.indexOf(t)&lt;0)throw new Error(&quot;gl-texture2d: Unknown filter mode &quot;+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&amp;&amp;h.indexOf(t)&gt;=0&amp;&amp;(e.getExtension(&quot;OES_texture_float_linear&quot;)||(t=e.NEAREST)),d.indexOf(t)&lt;0)throw new Error(&quot;gl-texture2d: Unknown filter mode &quot;+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(&quot;EXT_texture_filter_anisotropic&quot;);r&amp;&amp;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(),p.indexOf(t)&lt;0)throw new Error(&quot;gl-texture2d: Unknown wrap mode &quot;+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(),p.indexOf(t)&lt;0)throw new Error(&quot;gl-texture2d: Unknown wrap mode &quot;+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(&quot;gl-texture2d: Must specify wrap mode for rows and columns&quot;);for(var e=0;e&lt;2;++e)if(p.indexOf(t[e])&lt;0)throw new Error(&quot;gl-texture2d: Unknown wrap mode &quot;+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(&quot;gl-texture2d: Invalid texture shape&quot;)}else t=[0|t,0|t];return i(this,0|t[0],0|t[1]),[0|t[0],0|t[1]]}},width:{get:function(){return this._shape[0]},set:function(t){return t|=0,i(this,t,this._shape[1]),t}},height:{get:function(){return this._shape[1]},set:function(t){return t|=0,i(this,this._shape[0],t),t}}}),g.bind=function(t){var e=this.gl;return void 0!==t&amp;&amp;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},g.dispose=function(){this.gl.deleteTexture(this.handle)},g.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&gt;0;++e,t&gt;&gt;&gt;=1)this._mipLevels.indexOf(e)&lt;0&amp;&amp;this._mipLevels.push(e)},g.setPixels=function(t,e,r,i){var a=this.gl;this.bind(),Array.isArray(e)?(i=r,r=0|e[1],e=0|e[0]):(e=e||0,r=r||0),i=i||0;var s=n(t)?t:t.raw;if(s){this._mipLevels.indexOf(i)&lt;0?(a.texImage2D(a.TEXTURE_2D,0,this.format,this.format,this.type,s),this._mipLevels.push(i)):a.texSubImage2D(a.TEXTURE_2D,i,e,r,this.format,this.type,s)}else{if(!(t.shape&amp;&amp;t.stride&amp;&amp;t.data))throw new Error(&quot;gl-texture2d: Unsupported data type&quot;);if(t.shape.length&lt;2||e+t.shape[1]&gt;this._shape[1]&gt;&gt;&gt;i||r+t.shape[0]&gt;this._shape[0]&gt;&gt;&gt;i||e&lt;0||r&lt;0)throw new Error(&quot;gl-texture2d: Texture dimensions are out of bounds&quot;);!function(t,e,r,n,i,a,s,l){var h=l.dtype,d=l.shape.slice();if(d.length&lt;2||d.length&gt;3)throw new Error(&quot;gl-texture2d: Invalid ndarray, must be 2d or 3d&quot;);var p=0,g=0,v=o(d,l.stride.slice());if(&quot;float32&quot;===h?p=t.FLOAT:&quot;float64&quot;===h?(p=t.FLOAT,v=!1,h=&quot;float32&quot;):&quot;uint8&quot;===h?p=t.UNSIGNED_BYTE:(p=t.UNSIGNED_BYTE,v=!1,h=&quot;uint8&quot;),2===d.length)g=t.LUMINANCE,d=[d[0],d[1],1],l=c(l.data,d,[l.stride[0],l.stride[1],1],l.offset);else{if(3!==d.length)throw new Error(&quot;gl-texture2d: Invalid shape for texture&quot;);if(1===d[2])g=t.ALPHA;else if(2===d[2])g=t.LUMINANCE_ALPHA;else if(3===d[2])g=t.RGB;else{if(4!==d[2])throw new Error(&quot;gl-texture2d: Invalid shape for pixel coords&quot;);g=t.RGBA}d[2]}if(g!==t.LUMINANCE&amp;&amp;g!==t.ALPHA||i!==t.LUMINANCE&amp;&amp;i!==t.ALPHA||(g=i),g!==i)throw new Error(&quot;gl-texture2d: Incompatible texture format for setPixels&quot;);var y=l.size,x=s.indexOf(n)&lt;0;if(x&amp;&amp;s.push(n),p===a&amp;&amp;v)0===l.offset&amp;&amp;l.data.length===y?x?t.texImage2D(t.TEXTURE_2D,n,i,d[0],d[1],0,i,a,l.data):t.texSubImage2D(t.TEXTURE_2D,n,e,r,d[0],d[1],i,a,l.data):x?t.texImage2D(t.TEXTURE_2D,n,i,d[0],d[1],0,i,a,l.data.subarray(l.offset,l.offset+y)):t.texSubImage2D(t.TEXTURE_2D,n,e,r,d[0],d[1],i,a,l.data.subarray(l.offset,l.offset+y));else{var b;b=a===t.FLOAT?f.mallocFloat32(y):f.mallocUint8(y);var _=c(b,d,[d[2],d[2]*d[0],1]);p===t.FLOAT&amp;&amp;a===t.UNSIGNED_BYTE?m(_,l):u.assign(_,l),x?t.texImage2D(t.TEXTURE_2D,n,i,d[0],d[1],0,i,a,b.subarray(0,y)):t.texSubImage2D(t.TEXTURE_2D,n,e,r,d[0],d[1],i,a,b.subarray(0,y)),a===t.FLOAT?f.freeFloat32(b):f.freeUint8(b)}}(a,e,r,i,this.format,this.type,this._mipLevels,t)}}},{ndarray:458,&quot;ndarray-ops&quot;:452,&quot;typedarray-pool&quot;:554}],256:[function(t,e,r){&quot;use strict&quot;;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&gt;n)throw new Error(&quot;gl-vao: Too many vertex attributes&quot;);for(var i=0;i&lt;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(&quot;number&quot;==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(&quot;gl-vao: Invalid vertex attribute&quot;);t.vertexAttrib4f(i,a[0],a[1],a[2],a[3])}t.disableVertexAttribArray(i)}}for(;i&lt;n;++i)t.disableVertexAttribArray(i)}else for(t.bindBuffer(t.ARRAY_BUFFER,null),i=0;i&lt;n;++i)t.disableVertexAttribArray(i)}},{}],257:[function(t,e,r){&quot;use strict&quot;;function n(t){this.gl=t,this._elements=null,this._attributes=null,this._elementsType=t.UNSIGNED_SHORT}var i=t(&quot;./do-bind.js&quot;);n.prototype.bind=function(){i(this.gl,this._elements,this._attributes)},n.prototype.update=function(t,e,r){this._elements=e,this._attributes=t,this._elementsType=r||this.gl.UNSIGNED_SHORT},n.prototype.dispose=function(){},n.prototype.unbind=function(){},n.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 n(t)}},{&quot;./do-bind.js&quot;:256}],258:[function(t,e,r){&quot;use strict&quot;;function n(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 i(t,e,r){this.gl=t,this._ext=e,this.handle=r,this._attribs=[],this._useElements=!1,this._elementsType=t.UNSIGNED_SHORT}var a=t(&quot;./do-bind.js&quot;);n.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)}},i.prototype.bind=function(){this._ext.bindVertexArrayOES(this.handle);for(var t=0;t&lt;this._attribs.length;++t)this._attribs[t].bind(this.gl)},i.prototype.unbind=function(){this._ext.bindVertexArrayOES(null)},i.prototype.dispose=function(){this._ext.deleteVertexArrayOES(this.handle)},i.prototype.update=function(t,e,r){if(this.bind(),a(this.gl,e,t),this.unbind(),this._attribs.length=0,t)for(var i=0;i&lt;t.length;++i){var o=t[i];&quot;number&quot;==typeof o?this._attribs.push(new n(i,1,o)):Array.isArray(o)&amp;&amp;this._attribs.push(new n(i,o.length,o[0],o[1],o[2],o[3]))}this._useElements=!!e,this._elementsType=r||this.gl.UNSIGNED_SHORT},i.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 i(t,e,e.createVertexArrayOES())}},{&quot;./do-bind.js&quot;:256}],259:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;./lib/vao-native.js&quot;),i=t(&quot;./lib/vao-emulated.js&quot;);e.exports=function(t,e,r,a){var o,s=t.createVertexArray?new function(t){this.bindVertexArrayOES=t.bindVertexArray.bind(t),this.createVertexArrayOES=t.createVertexArray.bind(t),this.deleteVertexArrayOES=t.deleteVertexArray.bind(t)}(t):t.getExtension(&quot;OES_vertex_array_object&quot;);return(o=s?n(t,s):i(t)).update(e,r,a),o}},{&quot;./lib/vao-emulated.js&quot;:257,&quot;./lib/vao-native.js&quot;:258}],260:[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}},{}],261:[function(t,e,r){e.exports=function(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]}},{}],262:[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)}},{}],263:[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}},{}],264:[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;return a&gt;0&amp;&amp;(a=1/Math.sqrt(a),t[0]=e[0]*a,t[1]=e[1]*a,t[2]=e[2]*a),t}},{}],265:[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}},{}],266:[function(t,e,r){e.exports=function(t,e,r,a){return n[0]=a,n[1]=r,n[2]=e,n[3]=t,i[0]};var n=new Uint8Array(4),i=new Float32Array(n.buffer)},{}],267:[function(t,e,r){var n=t(&quot;glsl-tokenizer&quot;),i=t(&quot;atob-lite&quot;);e.exports=function(t){for(var e=Array.isArray(t)?t:n(t),r=0;r&lt;e.length;r++){var a=e[r];if(&quot;preprocessor&quot;===a.type){var o=a.data.match(/\#define\s+SHADER_NAME(_B64)?\s+(.+)$/);if(o&amp;&amp;o[2]){var s=o[1],l=o[2];return(s?i(l):l).trim()}}}}},{&quot;atob-lite&quot;:52,&quot;glsl-tokenizer&quot;:274}],268:[function(t,e,r){e.exports=function(t){function e(t){t.length&amp;&amp;D.push({type:w[C],data:t,position:O,line:I,column:P})}function r(t){E=0,S=(N+=t).length;for(var r;A=N[E],E&lt;S;){switch(r=E,C){case u:E=&quot;/&quot;===A&amp;&amp;&quot;*&quot;===T?(z.push(A),e(z.join(&quot;&quot;)),C=l,E+1):(z.push(A),T=A,E+1);break;case f:case h:E=M();break;case d:E=function(){if(&quot;.&quot;===T&amp;&amp;/\d/.test(A))return C=m,E;if(&quot;/&quot;===T&amp;&amp;&quot;*&quot;===A)return C=u,E;if(&quot;/&quot;===T&amp;&amp;&quot;/&quot;===A)return C=f,E;if(&quot;.&quot;===A&amp;&amp;z.length){for(;k(z););return C=m,E}if(&quot;;&quot;===A||&quot;)&quot;===A||&quot;(&quot;===A){if(z.length)for(;k(z););return e(A),C=l,E+1}var t=2===z.length&amp;&amp;&quot;=&quot;!==A;if(/[\w_\d\s]/.test(A)||t){for(;k(z););return C=l,E}return z.push(A),T=A,E+1}();break;case p:E=&quot;.&quot;===A?(z.push(A),C=m,T=A,E+1):/[eE]/.test(A)?(z.push(A),C=m,T=A,E+1):&quot;x&quot;===A&amp;&amp;1===z.length&amp;&amp;&quot;0&quot;===z[0]?(C=_,z.push(A),T=A,E+1):/[^\d]/.test(A)?(e(z.join(&quot;&quot;)),C=l,E):(z.push(A),T=A,E+1);break;case _:E=/[^a-fA-F0-9]/.test(A)?(e(z.join(&quot;&quot;)),C=l,E):(z.push(A),T=A,E+1);break;case m:&quot;f&quot;===A&amp;&amp;(z.push(A),T=A,E+=1),E=/[eE]/.test(A)?(z.push(A),T=A,E+1):&quot;-&quot;===A&amp;&amp;/[eE]/.test(T)?(z.push(A),T=A,E+1):/[^\d]/.test(A)?(e(z.join(&quot;&quot;)),C=l,E):(z.push(A),T=A,E+1);break;case c:E=function(){if(/[^\d\w_]/.test(A)){var t=z.join(&quot;&quot;);return C=B.indexOf(t)&gt;-1?y:j.indexOf(t)&gt;-1?v:g,e(z.join(&quot;&quot;)),C=l,E}return z.push(A),T=A,E+1}();break;case x:E=/[^\s]/g.test(A)?(e(z.join(&quot;&quot;)),C=l,E):(z.push(A),T=A,E+1);break;case l:z=z.length?[]:z,E=&quot;/&quot;===T&amp;&amp;&quot;*&quot;===A?(O=L+E-1,C=u,T=A,E+1):&quot;/&quot;===T&amp;&amp;&quot;/&quot;===A?(O=L+E-1,C=f,T=A,E+1):&quot;#&quot;===A?(C=h,O=L+E,E):/\s/.test(A)?(C=x,O=L+E,E):(F=/\d/.test(A),R=/[^\w_]/.test(A),O=L+E,C=F?p:R?d:c,E)}if(r!==E)switch(N[r]){case&quot;\n&quot;:P=0,++I;break;default:++P}}return L+=E,N=N.slice(E),D}function M(){return&quot;\r&quot;!==A&amp;&amp;&quot;\n&quot;!==A||&quot;\\&quot;===T?(z.push(A),T=A,E+1):(e(z.join(&quot;&quot;)),C=l,E)}function k(t){for(var r,n,a=0;;){if(r=i.indexOf(t.slice(0,t.length+a).join(&quot;&quot;)),n=i[r],-1===r){if(a--+t.length&gt;0)continue;n=t.slice(0,1).join(&quot;&quot;)}return e(n),O+=n.length,(z=z.slice(n.length)).length}}var A,T,S,E=0,L=0,C=l,z=[],D=[],I=1,P=0,O=0,F=!1,R=!1,N=&quot;&quot;,j=a,B=n;return&quot;300 es&quot;===(t=t||{}).version&amp;&amp;(j=s,B=o),function(t){return D=[],null!==t?r(t.replace?t.replace(/\r\n/g,&quot;\n&quot;):t):(z.length&amp;&amp;e(z.join(&quot;&quot;)),C=b,e(&quot;(eof)&quot;),D)}};var n=t(&quot;./lib/literals&quot;),i=t(&quot;./lib/operators&quot;),a=t(&quot;./lib/builtins&quot;),o=t(&quot;./lib/literals-300es&quot;),s=t(&quot;./lib/builtins-300es&quot;),l=999,c=9999,u=0,f=1,h=2,d=3,p=4,m=5,g=6,v=7,y=8,x=9,b=10,_=11,w=[&quot;block-comment&quot;,&quot;line-comment&quot;,&quot;preprocessor&quot;,&quot;operator&quot;,&quot;integer&quot;,&quot;float&quot;,&quot;ident&quot;,&quot;builtin&quot;,&quot;keyword&quot;,&quot;whitespace&quot;,&quot;eof&quot;,&quot;integer&quot;]},{&quot;./lib/builtins&quot;:270,&quot;./lib/builtins-300es&quot;:269,&quot;./lib/literals&quot;:272,&quot;./lib/literals-300es&quot;:271,&quot;./lib/operators&quot;:273}],269:[function(t,e,r){var n=t(&quot;./builtins&quot;);n=n.slice().filter(function(t){return!/^(gl\_|texture)/.test(t)}),e.exports=n.concat([&quot;gl_VertexID&quot;,&quot;gl_InstanceID&quot;,&quot;gl_Position&quot;,&quot;gl_PointSize&quot;,&quot;gl_FragCoord&quot;,&quot;gl_FrontFacing&quot;,&quot;gl_FragDepth&quot;,&quot;gl_PointCoord&quot;,&quot;gl_MaxVertexAttribs&quot;,&quot;gl_MaxVertexUniformVectors&quot;,&quot;gl_MaxVertexOutputVectors&quot;,&quot;gl_MaxFragmentInputVectors&quot;,&quot;gl_MaxVertexTextureImageUnits&quot;,&quot;gl_MaxCombinedTextureImageUnits&quot;,&quot;gl_MaxTextureImageUnits&quot;,&quot;gl_MaxFragmentUniformVectors&quot;,&quot;gl_MaxDrawBuffers&quot;,&quot;gl_MinProgramTexelOffset&quot;,&quot;gl_MaxProgramTexelOffset&quot;,&quot;gl_DepthRangeParameters&quot;,&quot;gl_DepthRange&quot;,&quot;trunc&quot;,&quot;round&quot;,&quot;roundEven&quot;,&quot;isnan&quot;,&quot;isinf&quot;,&quot;floatBitsToInt&quot;,&quot;floatBitsToUint&quot;,&quot;intBitsToFloat&quot;,&quot;uintBitsToFloat&quot;,&quot;packSnorm2x16&quot;,&quot;unpackSnorm2x16&quot;,&quot;packUnorm2x16&quot;,&quot;unpackUnorm2x16&quot;,&quot;packHalf2x16&quot;,&quot;unpackHalf2x16&quot;,&quot;outerProduct&quot;,&quot;transpose&quot;,&quot;determinant&quot;,&quot;inverse&quot;,&quot;texture&quot;,&quot;textureSize&quot;,&quot;textureProj&quot;,&quot;textureLod&quot;,&quot;textureOffset&quot;,&quot;texelFetch&quot;,&quot;texelFetchOffset&quot;,&quot;textureProjOffset&quot;,&quot;textureLodOffset&quot;,&quot;textureProjLod&quot;,&quot;textureProjLodOffset&quot;,&quot;textureGrad&quot;,&quot;textureGradOffset&quot;,&quot;textureProjGrad&quot;,&quot;textureProjGradOffset&quot;])},{&quot;./builtins&quot;:270}],270:[function(t,e,r){e.exports=[&quot;abs&quot;,&quot;acos&quot;,&quot;all&quot;,&quot;any&quot;,&quot;asin&quot;,&quot;atan&quot;,&quot;ceil&quot;,&quot;clamp&quot;,&quot;cos&quot;,&quot;cross&quot;,&quot;dFdx&quot;,&quot;dFdy&quot;,&quot;degrees&quot;,&quot;distance&quot;,&quot;dot&quot;,&quot;equal&quot;,&quot;exp&quot;,&quot;exp2&quot;,&quot;faceforward&quot;,&quot;floor&quot;,&quot;fract&quot;,&quot;gl_BackColor&quot;,&quot;gl_BackLightModelProduct&quot;,&quot;gl_BackLightProduct&quot;,&quot;gl_BackMaterial&quot;,&quot;gl_BackSecondaryColor&quot;,&quot;gl_ClipPlane&quot;,&quot;gl_ClipVertex&quot;,&quot;gl_Color&quot;,&quot;gl_DepthRange&quot;,&quot;gl_DepthRangeParameters&quot;,&quot;gl_EyePlaneQ&quot;,&quot;gl_EyePlaneR&quot;,&quot;gl_EyePlaneS&quot;,&quot;gl_EyePlaneT&quot;,&quot;gl_Fog&quot;,&quot;gl_FogCoord&quot;,&quot;gl_FogFragCoord&quot;,&quot;gl_FogParameters&quot;,&quot;gl_FragColor&quot;,&quot;gl_FragCoord&quot;,&quot;gl_FragData&quot;,&quot;gl_FragDepth&quot;,&quot;gl_FragDepthEXT&quot;,&quot;gl_FrontColor&quot;,&quot;gl_FrontFacing&quot;,&quot;gl_FrontLightModelProduct&quot;,&quot;gl_FrontLightProduct&quot;,&quot;gl_FrontMaterial&quot;,&quot;gl_FrontSecondaryColor&quot;,&quot;gl_LightModel&quot;,&quot;gl_LightModelParameters&quot;,&quot;gl_LightModelProducts&quot;,&quot;gl_LightProducts&quot;,&quot;gl_LightSource&quot;,&quot;gl_LightSourceParameters&quot;,&quot;gl_MaterialParameters&quot;,&quot;gl_MaxClipPlanes&quot;,&quot;gl_MaxCombinedTextureImageUnits&quot;,&quot;gl_MaxDrawBuffers&quot;,&quot;gl_MaxFragmentUniformComponents&quot;,&quot;gl_MaxLights&quot;,&quot;gl_MaxTextureCoords&quot;,&quot;gl_MaxTextureImageUnits&quot;,&quot;gl_MaxTextureUnits&quot;,&quot;gl_MaxVaryingFloats&quot;,&quot;gl_MaxVertexAttribs&quot;,&quot;gl_MaxVertexTextureImageUnits&quot;,&quot;gl_MaxVertexUniformComponents&quot;,&quot;gl_ModelViewMatrix&quot;,&quot;gl_ModelViewMatrixInverse&quot;,&quot;gl_ModelViewMatrixInverseTranspose&quot;,&quot;gl_ModelViewMatrixTranspose&quot;,&quot;gl_ModelViewProjectionMatrix&quot;,&quot;gl_ModelViewProjectionMatrixInverse&quot;,&quot;gl_ModelViewProjectionMatrixInverseTranspose&quot;,&quot;gl_ModelViewProjectionMatrixTranspose&quot;,&quot;gl_MultiTexCoord0&quot;,&quot;gl_MultiTexCoord1&quot;,&quot;gl_MultiTexCoord2&quot;,&quot;gl_MultiTexCoord3&quot;,&quot;gl_MultiTexCoord4&quot;,&quot;gl_MultiTexCoord5&quot;,&quot;gl_MultiTexCoord6&quot;,&quot;gl_MultiTexCoord7&quot;,&quot;gl_Normal&quot;,&quot;gl_NormalMatrix&quot;,&quot;gl_NormalScale&quot;,&quot;gl_ObjectPlaneQ&quot;,&quot;gl_ObjectPlaneR&quot;,&quot;gl_ObjectPlaneS&quot;,&quot;gl_ObjectPlaneT&quot;,&quot;gl_Point&quot;,&quot;gl_PointCoord&quot;,&quot;gl_PointParameters&quot;,&quot;gl_PointSize&quot;,&quot;gl_Position&quot;,&quot;gl_ProjectionMatrix&quot;,&quot;gl_ProjectionMatrixInverse&quot;,&quot;gl_ProjectionMatrixInverseTranspose&quot;,&quot;gl_ProjectionMatrixTranspose&quot;,&quot;gl_SecondaryColor&quot;,&quot;gl_TexCoord&quot;,&quot;gl_TextureEnvColor&quot;,&quot;gl_TextureMatrix&quot;,&quot;gl_TextureMatrixInverse&quot;,&quot;gl_TextureMatrixInverseTranspose&quot;,&quot;gl_TextureMatrixTranspose&quot;,&quot;gl_Vertex&quot;,&quot;greaterThan&quot;,&quot;greaterThanEqual&quot;,&quot;inversesqrt&quot;,&quot;length&quot;,&quot;lessThan&quot;,&quot;lessThanEqual&quot;,&quot;log&quot;,&quot;log2&quot;,&quot;matrixCompMult&quot;,&quot;max&quot;,&quot;min&quot;,&quot;mix&quot;,&quot;mod&quot;,&quot;normalize&quot;,&quot;not&quot;,&quot;notEqual&quot;,&quot;pow&quot;,&quot;radians&quot;,&quot;reflect&quot;,&quot;refract&quot;,&quot;sign&quot;,&quot;sin&quot;,&quot;smoothstep&quot;,&quot;sqrt&quot;,&quot;step&quot;,&quot;tan&quot;,&quot;texture2D&quot;,&quot;texture2DLod&quot;,&quot;texture2DProj&quot;,&quot;texture2DProjLod&quot;,&quot;textureCube&quot;,&quot;textureCubeLod&quot;,&quot;texture2DLodEXT&quot;,&quot;texture2DProjLodEXT&quot;,&quot;textureCubeLodEXT&quot;,&quot;texture2DGradEXT&quot;,&quot;texture2DProjGradEXT&quot;,&quot;textureCubeGradEXT&quot;]},{}],271:[function(t,e,r){var n=t(&quot;./literals&quot;);e.exports=n.slice().concat([&quot;layout&quot;,&quot;centroid&quot;,&quot;smooth&quot;,&quot;case&quot;,&quot;mat2x2&quot;,&quot;mat2x3&quot;,&quot;mat2x4&quot;,&quot;mat3x2&quot;,&quot;mat3x3&quot;,&quot;mat3x4&quot;,&quot;mat4x2&quot;,&quot;mat4x3&quot;,&quot;mat4x4&quot;,&quot;uint&quot;,&quot;uvec2&quot;,&quot;uvec3&quot;,&quot;uvec4&quot;,&quot;samplerCubeShadow&quot;,&quot;sampler2DArray&quot;,&quot;sampler2DArrayShadow&quot;,&quot;isampler2D&quot;,&quot;isampler3D&quot;,&quot;isamplerCube&quot;,&quot;isampler2DArray&quot;,&quot;usampler2D&quot;,&quot;usampler3D&quot;,&quot;usamplerCube&quot;,&quot;usampler2DArray&quot;,&quot;coherent&quot;,&quot;restrict&quot;,&quot;readonly&quot;,&quot;writeonly&quot;,&quot;resource&quot;,&quot;atomic_uint&quot;,&quot;noperspective&quot;,&quot;patch&quot;,&quot;sample&quot;,&quot;subroutine&quot;,&quot;common&quot;,&quot;partition&quot;,&quot;active&quot;,&quot;filter&quot;,&quot;image1D&quot;,&quot;image2D&quot;,&quot;image3D&quot;,&quot;imageCube&quot;,&quot;iimage1D&quot;,&quot;iimage2D&quot;,&quot;iimage3D&quot;,&quot;iimageCube&quot;,&quot;uimage1D&quot;,&quot;uimage2D&quot;,&quot;uimage3D&quot;,&quot;uimageCube&quot;,&quot;image1DArray&quot;,&quot;image2DArray&quot;,&quot;iimage1DArray&quot;,&quot;iimage2DArray&quot;,&quot;uimage1DArray&quot;,&quot;uimage2DArray&quot;,&quot;image1DShadow&quot;,&quot;image2DShadow&quot;,&quot;image1DArrayShadow&quot;,&quot;image2DArrayShadow&quot;,&quot;imageBuffer&quot;,&quot;iimageBuffer&quot;,&quot;uimageBuffer&quot;,&quot;sampler1DArray&quot;,&quot;sampler1DArrayShadow&quot;,&quot;isampler1D&quot;,&quot;isampler1DArray&quot;,&quot;usampler1D&quot;,&quot;usampler1DArray&quot;,&quot;isampler2DRect&quot;,&quot;usampler2DRect&quot;,&quot;samplerBuffer&quot;,&quot;isamplerBuffer&quot;,&quot;usamplerBuffer&quot;,&quot;sampler2DMS&quot;,&quot;isampler2DMS&quot;,&quot;usampler2DMS&quot;,&quot;sampler2DMSArray&quot;,&quot;isampler2DMSArray&quot;,&quot;usampler2DMSArray&quot;])},{&quot;./literals&quot;:272}],272:[function(t,e,r){e.exports=[&quot;precision&quot;,&quot;highp&quot;,&quot;mediump&quot;,&quot;lowp&quot;,&quot;attribute&quot;,&quot;const&quot;,&quot;uniform&quot;,&quot;varying&quot;,&quot;break&quot;,&quot;continue&quot;,&quot;do&quot;,&quot;for&quot;,&quot;while&quot;,&quot;if&quot;,&quot;else&quot;,&quot;in&quot;,&quot;out&quot;,&quot;inout&quot;,&quot;float&quot;,&quot;int&quot;,&quot;void&quot;,&quot;bool&quot;,&quot;true&quot;,&quot;false&quot;,&quot;discard&quot;,&quot;return&quot;,&quot;mat2&quot;,&quot;mat3&quot;,&quot;mat4&quot;,&quot;vec2&quot;,&quot;vec3&quot;,&quot;vec4&quot;,&quot;ivec2&quot;,&quot;ivec3&quot;,&quot;ivec4&quot;,&quot;bvec2&quot;,&quot;bvec3&quot;,&quot;bvec4&quot;,&quot;sampler1D&quot;,&quot;sampler2D&quot;,&quot;sampler3D&quot;,&quot;samplerCube&quot;,&quot;sampler1DShadow&quot;,&quot;sampler2DShadow&quot;,&quot;struct&quot;,&quot;asm&quot;,&quot;class&quot;,&quot;union&quot;,&quot;enum&quot;,&quot;typedef&quot;,&quot;template&quot;,&quot;this&quot;,&quot;packed&quot;,&quot;goto&quot;,&quot;switch&quot;,&quot;default&quot;,&quot;inline&quot;,&quot;noinline&quot;,&quot;volatile&quot;,&quot;public&quot;,&quot;static&quot;,&quot;extern&quot;,&quot;external&quot;,&quot;interface&quot;,&quot;long&quot;,&quot;short&quot;,&quot;double&quot;,&quot;half&quot;,&quot;fixed&quot;,&quot;unsigned&quot;,&quot;input&quot;,&quot;output&quot;,&quot;hvec2&quot;,&quot;hvec3&quot;,&quot;hvec4&quot;,&quot;dvec2&quot;,&quot;dvec3&quot;,&quot;dvec4&quot;,&quot;fvec2&quot;,&quot;fvec3&quot;,&quot;fvec4&quot;,&quot;sampler2DRect&quot;,&quot;sampler3DRect&quot;,&quot;sampler2DRectShadow&quot;,&quot;sizeof&quot;,&quot;cast&quot;,&quot;namespace&quot;,&quot;using&quot;]},{}],273:[function(t,e,r){e.exports=[&quot;&lt;&lt;=&quot;,&quot;&gt;&gt;=&quot;,&quot;++&quot;,&quot;--&quot;,&quot;&lt;&lt;&quot;,&quot;&gt;&gt;&quot;,&quot;&lt;=&quot;,&quot;&gt;=&quot;,&quot;==&quot;,&quot;!=&quot;,&quot;&amp;&amp;&quot;,&quot;||&quot;,&quot;+=&quot;,&quot;-=&quot;,&quot;*=&quot;,&quot;/=&quot;,&quot;%=&quot;,&quot;&amp;=&quot;,&quot;^^&quot;,&quot;^=&quot;,&quot;|=&quot;,&quot;(&quot;,&quot;)&quot;,&quot;[&quot;,&quot;]&quot;,&quot;.&quot;,&quot;!&quot;,&quot;~&quot;,&quot;*&quot;,&quot;/&quot;,&quot;%&quot;,&quot;+&quot;,&quot;-&quot;,&quot;&lt;&quot;,&quot;&gt;&quot;,&quot;&amp;&quot;,&quot;^&quot;,&quot;|&quot;,&quot;?&quot;,&quot;:&quot;,&quot;=&quot;,&quot;,&quot;,&quot;;&quot;,&quot;{&quot;,&quot;}&quot;]},{}],274:[function(t,e,r){var n=t(&quot;./index&quot;);e.exports=function(t,e){var r=n(e),i=[];return i=i.concat(r(t)),i=i.concat(r(null))}},{&quot;./index&quot;:268}],275:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r){var n=this.cells=[];if(t instanceof ArrayBuffer){this.arrayBuffer=t;var a=new Int32Array(this.arrayBuffer);t=a[0],e=a[1],r=a[2],this.d=e+2*r;for(var o=0;o&lt;this.d*this.d;o++){var s=a[i+o],l=a[i+o+1];n.push(s===l?null:a.subarray(s,l))}var c=a[i+n.length],u=a[i+n.length+1];this.keys=a.subarray(c,u),this.bboxes=a.subarray(u),this.insert=this._insertReadonly}else{this.d=e+2*r;for(var f=0;f&lt;this.d*this.d;f++)n.push([]);this.keys=[],this.bboxes=[]}this.n=e,this.extent=t,this.padding=r,this.scale=e/t,this.uid=0;var h=r/e*t;this.min=-h,this.max=t+h}e.exports=n;var i=3;n.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)},n.prototype._insertReadonly=function(){throw&quot;Cannot insert into a GridIndex created from an ArrayBuffer.&quot;},n.prototype._insertCell=function(t,e,r,n,i,a){this.cells[i].push(a)},n.prototype.query=function(t,e,r,n){var i=this.min,a=this.max;if(t&lt;=i&amp;&amp;e&lt;=i&amp;&amp;a&lt;=r&amp;&amp;a&lt;=n)return Array.prototype.slice.call(this.keys);var o=[],s={};return this._forEachCell(t,e,r,n,this._queryCell,o,s),o},n.prototype._queryCell=function(t,e,r,n,i,a,o){var s=this.cells[i];if(null!==s)for(var l=this.keys,c=this.bboxes,u=0;u&lt;s.length;u++){var f=s[u];if(void 0===o[f]){var h=4*f;t&lt;=c[h+2]&amp;&amp;e&lt;=c[h+3]&amp;&amp;r&gt;=c[h+0]&amp;&amp;n&gt;=c[h+1]?(o[f]=!0,a.push(l[f])):o[f]=!1}}},n.prototype._forEachCell=function(t,e,r,n,i,a,o){for(var s=this._convertToCellCoord(t),l=this._convertToCellCoord(e),c=this._convertToCellCoord(r),u=this._convertToCellCoord(n),f=s;f&lt;=c;f++)for(var h=l;h&lt;=u;h++){var d=this.d*h+f;if(i.call(this,t,e,r,n,d,a,o))return}},n.prototype._convertToCellCoord=function(t){return Math.max(0,Math.min(this.d-1,Math.floor(t*this.scale)+this.padding))},n.prototype.toArrayBuffer=function(){if(this.arrayBuffer)return this.arrayBuffer;for(var t=this.cells,e=i+this.cells.length+1+1,r=0,n=0;n&lt;this.cells.length;n++)r+=this.cells[n].length;var a=new Int32Array(e+r+this.keys.length+this.bboxes.length);a[0]=this.extent,a[1]=this.n,a[2]=this.padding;for(var o=e,s=0;s&lt;t.length;s++){var l=t[s];a[i+s]=o,a.set(l,o),o+=l.length}return a[i+t.length]=o,a.set(this.keys,o),o+=this.keys.length,a[i+t.length+1]=o,a.set(this.bboxes,o),o+=this.bboxes.length,a.buffer}},{}],276:[function(t,e,r){(function(r){&quot;use strict&quot;;var n,i=t(&quot;is-browser&quot;);n=&quot;function&quot;==typeof r.matchMedia?!r.matchMedia(&quot;(hover: none)&quot;).matches:i,e.exports=n}).call(this,&quot;undefined&quot;!=typeof global?global:&quot;undefined&quot;!=typeof self?self:&quot;undefined&quot;!=typeof window?window:{})},{&quot;is-browser&quot;:282}],277:[function(t,e,r){r.read=function(t,e,r,n,i){var a,o,s=8*i-n-1,l=(1&lt;&lt;s)-1,c=l&gt;&gt;1,u=-7,f=r?i-1:0,h=r?-1:1,d=t[e+f];for(f+=h,a=d&amp;(1&lt;&lt;-u)-1,d&gt;&gt;=-u,u+=s;u&gt;0;a=256*a+t[e+f],f+=h,u-=8);for(o=a&amp;(1&lt;&lt;-u)-1,a&gt;&gt;=-u,u+=n;u&gt;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*(d?-1:1);o+=Math.pow(2,n),a-=c}return(d?-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&lt;&lt;c)-1,f=u&gt;&gt;1,h=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,d=n?0:a-1,p=n?1:-1,m=e&lt;0||0===e&amp;&amp;1/e&lt;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))&lt;1&amp;&amp;(o--,l*=2),(e+=o+f&gt;=1?h/l:h*Math.pow(2,1-f))*l&gt;=2&amp;&amp;(o++,l/=2),o+f&gt;=u?(s=0,o=u):o+f&gt;=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&gt;=8;t[r+d]=255&amp;s,d+=p,s/=256,i-=8);for(o=o&lt;&lt;i|s,c+=i;c&gt;0;t[r+d]=255&amp;o,d+=p,o/=256,c-=8);t[r+d-p]|=128*m}},{}],278:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r){this.vertices=t,this.adjacent=e,this.boundary=r,this.lastVisited=-1}function i(t,e,r){this.vertices=t,this.cell=e,this.index=r}function a(t,e){return l(t.vertices,e.vertices)}function o(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 n=0;n&lt;=t;++n)this.tuple[n]=this.vertices[n];var i=c[t];i||(i=c[t]=function(t){for(var e=[&quot;function orient(){var tuple=this.tuple;return test(&quot;],r=0;r&lt;=t;++r)r&gt;0&amp;&amp;e.push(&quot;,&quot;),e.push(&quot;tuple[&quot;,r,&quot;]&quot;);e.push(&quot;)}return orient&quot;);var n=new Function(&quot;test&quot;,e.join(&quot;&quot;)),i=s[t+1];return i||(i=s),n(i)}(t)),this.orient=i}e.exports=function(t,e){var r=t.length;if(0===r)throw new Error(&quot;Must have at least d+1 points&quot;);var i=t[0].length;if(r&lt;=i)throw new Error(&quot;Must input at least d+1 points&quot;);var a=t.slice(0,i+1),l=s.apply(void 0,a);if(0===l)throw new Error(&quot;Input not in general position&quot;);for(var c=new Array(i+1),u=0;u&lt;=i;++u)c[u]=u;l&lt;0&amp;&amp;(c[0]=1,c[1]=0);var f=new n(c,new Array(i+1),!1),h=f.adjacent,d=new Array(i+2);for(u=0;u&lt;=i;++u){for(var p=c.slice(),m=0;m&lt;=i;++m)m===u&amp;&amp;(p[m]=-1);var g=p[0];p[0]=p[1],p[1]=g;var v=new n(p,new Array(i+1),!0);h[u]=v,d[u]=v}for(d[i+1]=f,u=0;u&lt;=i;++u){p=h[u].vertices;var y=h[u].adjacent;for(m=0;m&lt;=i;++m){var x=p[m];if(x&lt;0)y[m]=f;else for(var b=0;b&lt;=i;++b)h[b].vertices.indexOf(x)&lt;0&amp;&amp;(y[m]=h[b])}}var _=new o(i,a,d),w=!!e;for(u=i+1;u&lt;r;++u)_.insert(t[u],w);return _.boundary()};var s=t(&quot;robust-orientation&quot;),l=t(&quot;simplicial-complex&quot;).compareCells;n.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 c=[],u=o.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&gt;0;){(t=o.pop()).vertices;for(var s=t.adjacent,l=0;l&lt;=r;++l){var c=s[l];if(c.boundary&amp;&amp;!(c.lastVisited&lt;=-n)){for(var u=c.vertices,f=0;f&lt;=r;++f){var h=u[f];i[f]=h&lt;0?e:a[h]}var d=this.orient();if(d&gt;0)return c;c.lastVisited=-n,0===d&amp;&amp;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&lt;=n;++u)a[u]=i[l[u]];s.lastVisited=r;for(u=0;u&lt;=n;++u){var f=c[u];if(!(f.lastVisited&gt;=r)){var h=a[u];a[u]=t;var d=this.orient();if(a[u]=h,d&lt;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,o=this.dimension,s=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&gt;0;){var d=(e=f.pop()).vertices,p=e.adjacent,m=d.indexOf(r);if(!(m&lt;0))for(var g=0;g&lt;=o;++g)if(g!==m){var v=p[g];if(v.boundary&amp;&amp;!(v.lastVisited&gt;=r)){var y=v.vertices;if(v.lastVisited!==-r){for(var x=0,b=0;b&lt;=o;++b)y[b]&lt;0?(x=b,l[b]=t):l[b]=s[y[b]];if(this.orient()&gt;0){y[x]=r,v.boundary=!1,c.push(v),f.push(v),v.lastVisited=r;continue}v.lastVisited=-r}var _=v.adjacent,w=d.slice(),M=p.slice(),k=new n(w,M,!0);u.push(k);var A=_.indexOf(e);if(!(A&lt;0)){_[A]=k,M[m]=v,w[g]=-1,M[g]=e,p[g]=k,k.flip();for(b=0;b&lt;=o;++b){var T=w[b];if(!(T&lt;0||T===r)){for(var S=new Array(o-1),E=0,L=0;L&lt;=o;++L){var C=w[L];C&lt;0||L===b||(S[E++]=C)}h.push(new i(S,k,b))}}}}}}h.sort(a);for(g=0;g+1&lt;h.length;g+=2){var z=h[g],D=h[g+1],I=z.index,P=D.index;I&lt;0||P&lt;0||(z.cell.adjacent[z.index]=D.cell,D.cell.adjacent[D.index]=z.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&lt;=i;++o){var s=n.vertices[o];a[o]=s&lt;0?t:r[s]}var l=this.orient(a);l&lt;0||(0!==l||(n=this.handleBoundaryDegeneracy(n,t)))&amp;&amp;this.addPeaks(t,n)}},u.boundary=function(){for(var t=this.dimension,e=[],r=this.simplices,n=r.length,i=0;i&lt;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&lt;=t;++u)s[u]&gt;=0?o[l++]=s[u]:c=1&amp;u;if(c===(1&amp;t)){var f=o[0];o[0]=o[1],o[1]=f}e.push(o)}}return e}},{&quot;robust-orientation&quot;:515,&quot;simplicial-complex&quot;:526}],279:[function(t,e,r){&quot;use strict&quot;;function n(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}function i(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 a(t,e){var r=p(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 o(t,e){var r=t.intervals([]);r.push(e),a(t,r)}function s(t,e){var r=t.intervals([]),n=r.indexOf(e);return n&lt;0?v:(r.splice(n,1),a(t,r),y)}function l(t,e,r){for(var n=0;n&lt;t.length&amp;&amp;t[n][0]&lt;=e;++n){var i=r(t[n]);if(i)return i}}function c(t,e,r){for(var n=t.length-1;n&gt;=0&amp;&amp;t[n][1]&gt;=e;--n){var i=r(t[n]);if(i)return i}}function u(t,e){for(var r=0;r&lt;t.length;++r){var n=e(t[r]);if(n)return n}}function f(t,e){return t-e}function h(t,e){var r=t[0]-e[0];return r||t[1]-e[1]}function d(t,e){var r=t[1]-e[1];return r||t[0]-e[0]}function p(t){if(0===t.length)return null;for(var e=[],r=0;r&lt;t.length;++r)e.push(t[r][0],t[r][1]);e.sort(f);var i=e[e.length&gt;&gt;1],a=[],o=[],s=[];for(r=0;r&lt;t.length;++r){var l=t[r];l[1]&lt;i?a.push(l):i&lt;l[0]?o.push(l):s.push(l)}var c=s,u=s.slice();return c.sort(h),u.sort(d),new n(i,p(a),p(o),c,u)}function m(t){this.root=t}var g=t(&quot;binary-search-bounds&quot;),v=0,y=1;e.exports=function(t){return new m(t&amp;&amp;0!==t.length?p(t):null)};var x=n.prototype;x.intervals=function(t){return t.push.apply(t,this.leftPoints),this.left&amp;&amp;this.left.intervals(t),this.right&amp;&amp;this.right.intervals(t),t},x.insert=function(t){var e=this.count-this.leftPoints.length;if(this.count+=1,t[1]&lt;this.mid)this.left?4*(this.left.count+1)&gt;3*(e+1)?o(this,t):this.left.insert(t):this.left=p([t]);else if(t[0]&gt;this.mid)this.right?4*(this.right.count+1)&gt;3*(e+1)?o(this,t):this.right.insert(t):this.right=p([t]);else{var r=g.ge(this.leftPoints,t,h),n=g.ge(this.rightPoints,t,d);this.leftPoints.splice(r,0,t),this.rightPoints.splice(n,0,t)}},x.remove=function(t){var e=this.count-this.leftPoints;if(t[1]&lt;this.mid){if(!this.left)return v;if(4*(this.right?this.right.count:0)&gt;3*(e-1))return s(this,t);return 2===(o=this.left.remove(t))?(this.left=null,this.count-=1,y):(o===y&amp;&amp;(this.count-=1),o)}if(t[0]&gt;this.mid){if(!this.right)return v;if(4*(this.left?this.left.count:0)&gt;3*(e-1))return s(this,t);return 2===(o=this.right.remove(t))?(this.right=null,this.count-=1,y):(o===y&amp;&amp;(this.count-=1),o)}if(1===this.count)return this.leftPoints[0]===t?2:v;if(1===this.leftPoints.length&amp;&amp;this.leftPoints[0]===t){if(this.left&amp;&amp;this.right){for(var r=this,n=this.left;n.right;)r=n,n=n.right;if(r===this)n.right=this.right;else{var a=this.left,o=this.right;r.count-=n.count,r.right=n.left,n.left=a,n.right=o}i(this,n),this.count=(this.left?this.left.count:0)+(this.right?this.right.count:0)+this.leftPoints.length}else this.left?i(this,this.left):i(this,this.right);return y}for(a=g.ge(this.leftPoints,t,h);a&lt;this.leftPoints.length&amp;&amp;this.leftPoints[a][0]===t[0];++a)if(this.leftPoints[a]===t){this.count-=1,this.leftPoints.splice(a,1);for(o=g.ge(this.rightPoints,t,d);o&lt;this.rightPoints.length&amp;&amp;this.rightPoints[o][1]===t[1];++o)if(this.rightPoints[o]===t)return this.rightPoints.splice(o,1),y}return v},x.queryPoint=function(t,e){if(t&lt;this.mid){if(this.left){if(r=this.left.queryPoint(t,e))return r}return l(this.leftPoints,t,e)}if(t&gt;this.mid){if(this.right){var r;if(r=this.right.queryPoint(t,e))return r}return c(this.rightPoints,t,e)}return u(this.leftPoints,e)},x.queryInterval=function(t,e,r){if(t&lt;this.mid&amp;&amp;this.left){if(n=this.left.queryInterval(t,e,r))return n}if(e&gt;this.mid&amp;&amp;this.right){var n;if(n=this.right.queryInterval(t,e,r))return n}return e&lt;this.mid?l(this.leftPoints,e,r):t&gt;this.mid?c(this.rightPoints,t,r):u(this.leftPoints,r)};var b=m.prototype;b.insert=function(t){this.root?this.root.insert(t):this.root=new n(t[0],null,null,[t],[t])},b.remove=function(t){if(this.root){var e=this.root.remove(t);return 2===e&amp;&amp;(this.root=null),e!==v}return!1},b.queryPoint=function(t,e){if(this.root)return this.root.queryPoint(t,e)},b.queryInterval=function(t,e,r){if(t&lt;=e&amp;&amp;this.root)return this.root.queryInterval(t,e,r)},Object.defineProperty(b,&quot;count&quot;,{get:function(){return this.root?this.root.count:0}}),Object.defineProperty(b,&quot;intervals&quot;,{get:function(){return this.root?this.root.intervals([]):[]}})},{&quot;binary-search-bounds&quot;:70}],280:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t,e){e=e||new Array(t.length);for(var r=0;r&lt;t.length;++r)e[t[r]]=r;return e}},{}],281:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t){for(var e=new Array(t),r=0;r&lt;t;++r)e[r]=r;return e}},{}],282:[function(t,e,r){e.exports=!0},{}],283:[function(t,e,r){function n(t){return!!t.constructor&amp;&amp;&quot;function&quot;==typeof t.constructor.isBuffer&amp;&amp;t.constructor.isBuffer(t)}e.exports=function(t){return null!=t&amp;&amp;(n(t)||function(t){return&quot;function&quot;==typeof t.readFloatLE&amp;&amp;&quot;function&quot;==typeof t.slice&amp;&amp;n(t.slice(0,0))}(t)||!!t._isBuffer)}},{}],284:[function(t,e,r){&quot;use strict&quot;;e.exports=&quot;undefined&quot;!=typeof navigator&amp;&amp;(/MSIE/.test(navigator.userAgent)||/Trident\//.test(navigator.appVersion))},{}],285:[function(t,e,r){e.exports=function(t){return t||&quot;undefined&quot;==typeof navigator||(t=navigator.userAgent),t&amp;&amp;t.headers&amp;&amp;&quot;string&quot;==typeof t.headers[&quot;user-agent&quot;]&amp;&amp;(t=t.headers[&quot;user-agent&quot;]),&quot;string&quot;==typeof t&amp;&amp;(/(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(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i.test(t)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(t.substr(0,4)))}},{}],286:[function(t,e,r){&quot;use strict&quot;;var n=Object.prototype.toString;e.exports=function(t){var e;return&quot;[object Object]&quot;===n.call(t)&amp;&amp;(null===(e=Object.getPrototypeOf(t))||e===Object.getPrototypeOf({}))}},{}],287:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t){return&quot;string&quot;==typeof t&amp;&amp;(t=t.trim(),!!(/^[mzlhvcsqta]\s*[-+.0-9][^mlhvzcsqta]+/i.test(t)&amp;&amp;/[\dz]$/i.test(t)&amp;&amp;t.length&gt;4))}},{}],288:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,n,a){e=e||function(t){return t[0]},r=r||function(t){return t[1]},a=a||Array,this.nodeSize=n||64,this.points=t,this.ids=new a(t.length),this.coords=new a(2*t.length);for(var o=0;o&lt;t.length;o++)this.ids[o]=o,this.coords[2*o]=e(t[o]),this.coords[2*o+1]=r(t[o]);i(this.ids,this.coords,this.nodeSize,0,this.ids.length-1,0)}var i=t(&quot;./sort&quot;),a=t(&quot;./range&quot;),o=t(&quot;./within&quot;);e.exports=function(t,e,r,i,a){return new n(t,e,r,i,a)},n.prototype={range:function(t,e,r,n){return a(this.ids,this.coords,t,e,r,n,this.nodeSize)},within:function(t,e,r){return o(this.ids,this.coords,t,e,r,this.nodeSize)}}},{&quot;./range&quot;:289,&quot;./sort&quot;:290,&quot;./within&quot;:291}],289:[function(t,e,r){&quot;use strict&quot;;e.exports=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(),d=c.pop();if(h-d&lt;=o)for(var p=d;p&lt;=h;p++)s=e[2*p],l=e[2*p+1],s&gt;=r&amp;&amp;s&lt;=i&amp;&amp;l&gt;=n&amp;&amp;l&lt;=a&amp;&amp;u.push(t[p]);else{var m=Math.floor((d+h)/2);s=e[2*m],l=e[2*m+1],s&gt;=r&amp;&amp;s&lt;=i&amp;&amp;l&gt;=n&amp;&amp;l&lt;=a&amp;&amp;u.push(t[m]);var g=(f+1)%2;(0===f?r&lt;=s:n&lt;=l)&amp;&amp;(c.push(d),c.push(m-1),c.push(g)),(0===f?i&gt;=s:a&gt;=l)&amp;&amp;(c.push(m+1),c.push(h),c.push(g))}}return u}},{}],290:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,a,o,s){if(!(o-a&lt;=r)){var l=Math.floor((a+o)/2);i(t,e,l,a,o,s%2),n(t,e,r,a,l-1,s+1),n(t,e,r,l+1,o,s+1)}}function i(t,e,r,n,o,s){for(;o&gt;n;){if(o-n&gt;600){var l=o-n+1,c=r-n+1,u=Math.log(l),f=.5*Math.exp(2*u/3),h=.5*Math.sqrt(u*f*(l-f)/l)*(c-l/2&lt;0?-1:1);i(t,e,r,Math.max(n,Math.floor(r-c*f/l+h)),Math.min(o,Math.floor(r+(l-c)*f/l+h)),s)}var d=e[2*r+s],p=n,m=o;for(a(t,e,n,r),e[2*o+s]&gt;d&amp;&amp;a(t,e,n,o);p&lt;m;){for(a(t,e,p,m),p++,m--;e[2*p+s]&lt;d;)p++;for(;e[2*m+s]&gt;d;)m--}e[2*n+s]===d?a(t,e,n,m):a(t,e,++m,o),m&lt;=r&amp;&amp;(n=m+1),r&lt;=m&amp;&amp;(o=m-1)}}function a(t,e,r,n){o(t,r,n),o(e,2*r,2*n),o(e,2*r+1,2*n+1)}function o(t,e,r){var n=t[e];t[e]=t[r],t[r]=n}e.exports=n},{}],291:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,n){var i=t-r,a=e-n;return i*i+a*a}e.exports=function(t,e,r,i,a,o){for(var s=[0,t.length-1,0],l=[],c=a*a;s.length;){var u=s.pop(),f=s.pop(),h=s.pop();if(f-h&lt;=o)for(var d=h;d&lt;=f;d++)n(e[2*d],e[2*d+1],r,i)&lt;=c&amp;&amp;l.push(t[d]);else{var p=Math.floor((h+f)/2),m=e[2*p],g=e[2*p+1];n(m,g,r,i)&lt;=c&amp;&amp;l.push(t[p]);var v=(u+1)%2;(0===u?r-a&lt;=m:i-a&lt;=g)&amp;&amp;(s.push(h),s.push(p-1),s.push(v)),(0===u?r+a&gt;=m:i+a&gt;=g)&amp;&amp;(s.push(p+1),s.push(f),s.push(v))}}return l}},{}],292:[function(t,e,r){&quot;use strict&quot;;function n(t,e){if(!(this instanceof n))return new n(t,e);this.nodeSize=e||64,this.coords=t.slice();var r=Math.floor(t.length/2);this.ids=Array(r);for(var i=0;i&lt;r;i++)this.ids[i]=i;a(this.ids,this.coords,this.nodeSize,0,this.ids.length-1,0)}function i(t,e,r,n){var i=t-r,a=e-n;return i*i+a*a}function a(t,e,r,n,i,s){if(!(i-n&lt;=r)){var l=Math.floor((n+i)/2);o(t,e,l,n,i,s%2),a(t,e,r,n,l-1,s+1),a(t,e,r,l+1,i,s+1)}}function o(t,e,r,n,i,a){for(;i&gt;n;){if(i-n&gt;600){var l=i-n+1,c=r-n+1,u=Math.log(l),f=.5*Math.exp(2*u/3),h=.5*Math.sqrt(u*f*(l-f)/l)*(c-l/2&lt;0?-1:1);o(t,e,r,Math.max(n,Math.floor(r-c*f/l+h)),Math.min(i,Math.floor(r+(l-c)*f/l+h)),a)}var d=e[2*r+a],p=n,m=i;for(s(t,e,n,r),e[2*i+a]&gt;d&amp;&amp;s(t,e,n,i);p&lt;m;){for(s(t,e,p,m),p++,m--;e[2*p+a]&lt;d;)p++;for(;e[2*m+a]&gt;d;)m--}e[2*n+a]===d?s(t,e,n,m):s(t,e,++m,i),m&lt;=r&amp;&amp;(n=m+1),r&lt;=m&amp;&amp;(i=m-1)}}function s(t,e,r,n){l(t,r,n),l(e,2*r,2*n),l(e,2*r+1,2*n+1)}function l(t,e,r){var n=t[e];t[e]=t[r],t[r]=n}e.exports=n,n.prototype.range=function(t,e,r,n){for(var i,a,o=this.ids,s=this.coords,l=this.nodeSize,c=[0,o.length-1,0],u=[];c.length;){var f=c.pop(),h=c.pop(),d=c.pop();if(h-d&lt;=l)for(var p=d;p&lt;=h;p++)i=s[2*p],a=s[2*p+1],i&gt;=t&amp;&amp;i&lt;=r&amp;&amp;a&gt;=e&amp;&amp;a&lt;=n&amp;&amp;u.push(o[p]);else{var m=Math.floor((d+h)/2);i=s[2*m],a=s[2*m+1],i&gt;=t&amp;&amp;i&lt;=r&amp;&amp;a&gt;=e&amp;&amp;a&lt;=n&amp;&amp;u.push(o[m]);var g=(f+1)%2;(0===f?t&lt;=i:e&lt;=a)&amp;&amp;(c.push(d),c.push(m-1),c.push(g)),(0===f?r&gt;=i:n&gt;=a)&amp;&amp;(c.push(m+1),c.push(h),c.push(g))}}return u},n.prototype.within=function(t,e,r){for(var n=this.ids,a=this.coords,o=this.nodeSize,s=[0,n.length-1,0],l=[],c=r*r;s.length;){var u=s.pop(),f=s.pop(),h=s.pop();if(f-h&lt;=o)for(var d=h;d&lt;=f;d++)i(a[2*d],a[2*d+1],t,e)&lt;=c&amp;&amp;l.push(n[d]);else{var p=Math.floor((h+f)/2),m=a[2*p],g=a[2*p+1];i(m,g,t,e)&lt;=c&amp;&amp;l.push(n[p]);var v=(u+1)%2;(0===u?t-r&lt;=m:e-r&lt;=g)&amp;&amp;(s.push(h),s.push(p-1),s.push(v)),(0===u?t+r&gt;=m:e+r&gt;=g)&amp;&amp;(s.push(p+1),s.push(f),s.push(v))}}return l}},{}],293:[function(t,e,r){&quot;use strict&quot;;function n(t,e){var r;if(u(t)){var l,c=t.stops&amp;&amp;&quot;object&quot;==typeof t.stops[0][0],f=c||void 0!==t.property,h=c||!f,d=t.type||e||&quot;exponential&quot;;if(&quot;exponential&quot;===d)l=o;else if(&quot;interval&quot;===d)l=a;else if(&quot;categorical&quot;===d)l=i;else{if(&quot;identity&quot;!==d)throw new Error('Unknown function type &quot;'+d+'&quot;');l=s}if(c){for(var p={},m=[],g=0;g&lt;t.stops.length;g++){var v=t.stops[g];void 0===p[v[0].zoom]&amp;&amp;(p[v[0].zoom]={zoom:v[0].zoom,type:t.type,property:t.property,stops:[]}),p[v[0].zoom].stops.push([v[0].value,v[1]])}for(var y in p)m.push([p[y].zoom,n(p[y])]);(r=function(e,r){return o({stops:m,base:t.base},e)(e,r)}).isFeatureConstant=!1,r.isZoomConstant=!1}else h?((r=function(e){return l(t,e)}).isFeatureConstant=!0,r.isZoomConstant=!1):((r=function(e,r){return l(t,r[t.property])}).isFeatureConstant=!1,r.isZoomConstant=!0)}else(r=function(){return t}).isFeatureConstant=!0,r.isZoomConstant=!0;return r}function i(t,e){for(var r=0;r&lt;t.stops.length;r++)if(e===t.stops[r][0])return t.stops[r][1];return t.stops[0][1]}function a(t,e){for(var r=0;r&lt;t.stops.length&amp;&amp;!(e&lt;t.stops[r][0]);r++);return t.stops[Math.max(r-1,0)][1]}function o(t,e){for(var r=void 0!==t.base?t.base:1,n=0;!(n&gt;=t.stops.length||e&lt;=t.stops[n][0]);)n++;return 0===n?t.stops[n][1]:n===t.stops.length?t.stops[n-1][1]:l(e,r,t.stops[n-1][0],t.stops[n][0],t.stops[n-1][1],t.stops[n][1])}function s(t,e){return e}function l(t,e,r,n,i,a){return&quot;function&quot;==typeof i?function(){var o=i.apply(void 0,arguments),s=a.apply(void 0,arguments);return l(t,e,r,n,o,s)}:i.length?function(t,e,r,n,i,a){for(var o=[],s=0;s&lt;i.length;s++)o[s]=c(t,e,r,n,i[s],a[s]);return o}(t,e,r,n,i,a):c(t,e,r,n,i,a)}function c(t,e,r,n,i,a){var o,s=n-r,l=t-r;return o=1===e?l/s:(Math.pow(e,l)-1)/(Math.pow(e,s)-1),i*(1-o)+a*o}function u(t){return&quot;object&quot;==typeof t&amp;&amp;(t.stops||&quot;identity&quot;===t.type)}e.exports.isFunctionDefinition=u,e.exports.interpolated=function(t){return n(t,&quot;exponential&quot;)},e.exports[&quot;piecewise-constant&quot;]=function(t){return n(t,&quot;interval&quot;)}},{}],294:[function(t,e,r){t(&quot;path&quot;);e.exports={debug:{fragmentSource:&quot;#ifdef GL_ES\nprecision mediump float;\n#else\n#define lowp\n#define mediump\n#define highp\n#endif\n\nuniform lowp vec4 u_color;\n\nvoid main() {\n    gl_FragColor = u_color;\n}\n&quot;,vertexSource:&quot;#ifdef GL_ES\nprecision highp float;\n#else\n#define lowp\n#define mediump\n#define highp\n#endif\n\nattribute vec2 a_pos;\n\nuniform mat4 u_matrix;\n\nvoid main() {\n    gl_Position = u_matrix * vec4(a_pos, step(32767.0, a_pos.x), 1);\n}\n&quot;},fill:{fragmentSource:&quot;#ifdef GL_ES\nprecision mediump float;\n#else\n#define lowp\n#define mediump\n#define highp\n#endif\n\n#pragma mapbox: define lowp vec4 color\n#pragma mapbox: define lowp float opacity\n\nvoid main() {\n    #pragma mapbox: initialize lowp vec4 color\n    #pragma mapbox: initialize lowp float opacity\n\n    gl_FragColor = color * opacity;\n\n#ifdef OVERDRAW_INSPECTOR\n    gl_FragColor = vec4(1.0);\n#endif\n}\n&quot;,vertexSource:&quot;#ifdef GL_ES\nprecision highp float;\n#else\n#define lowp\n#define mediump\n#define highp\n#endif\n\nattribute vec2 a_pos;\n\nuniform mat4 u_matrix;\n\n#pragma mapbox: define lowp vec4 color\n#pragma mapbox: define lowp float opacity\n\nvoid main() {\n    #pragma mapbox: initialize lowp vec4 color\n    #pragma mapbox: initialize lowp float opacity\n\n    gl_Position = u_matrix * vec4(a_pos, 0, 1);\n}\n&quot;},circle:{fragmentSource:&quot;#ifdef GL_ES\nprecision mediump float;\n#else\n#define lowp\n#define mediump\n#define highp\n#endif\n\n#pragma mapbox: define lowp vec4 color\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n\nvarying vec2 v_extrude;\nvarying lowp float v_antialiasblur;\n\nvoid main() {\n    #pragma mapbox: initialize lowp vec4 color\n    #pragma mapbox: initialize lowp float blur\n    #pragma mapbox: initialize lowp float opacity\n\n    float t = smoothstep(1.0 - max(blur, v_antialiasblur), 1.0, length(v_extrude));\n    gl_FragColor = color * (1.0 - t) * opacity;\n\n#ifdef OVERDRAW_INSPECTOR\n    gl_FragColor = vec4(1.0);\n#endif\n}\n&quot;,vertexSource:&quot;#ifdef GL_ES\nprecision highp float;\n#else\n#define lowp\n#define mediump\n#define highp\n#endif\n\nuniform mat4 u_matrix;\nuniform bool u_scale_with_map;\nuniform vec2 u_extrude_scale;\nuniform float u_devicepixelratio;\n\nattribute vec2 a_pos;\n\n#pragma mapbox: define lowp vec4 color\n#pragma mapbox: define mediump float radius\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n\nvarying vec2 v_extrude;\nvarying lowp float v_antialiasblur;\n\nvoid main(void) {\n    #pragma mapbox: initialize lowp vec4 color\n    #pragma mapbox: initialize mediump float radius\n    #pragma mapbox: initialize lowp float blur\n    #pragma mapbox: initialize lowp float opacity\n\n    // unencode the extrusion vector that we snuck into the a_pos vector\n    v_extrude = vec2(mod(a_pos, 2.0) * 2.0 - 1.0);\n\n    vec2 extrude = v_extrude * radius * u_extrude_scale;\n    // multiply a_pos by 0.5, since we had it * 2 in order to sneak\n    // in extrusion data\n    gl_Position = u_matrix * vec4(floor(a_pos * 0.5), 0, 1);\n\n    if (u_scale_with_map) {\n        gl_Position.xy += extrude;\n    } else {\n        gl_Position.xy += extrude * gl_Position.w;\n    }\n\n    // This is a minimum blur distance that serves as a faux-antialiasing for\n    // the circle. since blur is a ratio of the circle's size and the intent is\n    // to keep the blur at roughly 1px, the two are inversely related.\n    v_antialiasblur = 1.0 / u_devicepixelratio / radius;\n}\n&quot;},line:{fragmentSource:&quot;#ifdef GL_ES\nprecision mediump float;\n#else\n#define lowp\n#define mediump\n#define highp\n#endif\n\nuniform lowp vec4 u_color;\nuniform lowp float u_opacity;\nuniform float u_blur;\n\nvarying vec2 v_linewidth;\nvarying vec2 v_normal;\nvarying float v_gamma_scale;\n\nvoid main() {\n    // Calculate the distance of the pixel from the line in pixels.\n    float dist = length(v_normal) * v_linewidth.s;\n\n    // Calculate the antialiasing fade factor. This is either when fading in\n    // the line in case of an offset line (v_linewidth.t) or when fading out\n    // (v_linewidth.s)\n    float blur = u_blur * v_gamma_scale;\n    float alpha = clamp(min(dist - (v_linewidth.t - blur), v_linewidth.s - dist) / blur, 0.0, 1.0);\n\n    gl_FragColor = u_color * (alpha * u_opacity);\n\n#ifdef OVERDRAW_INSPECTOR\n    gl_FragColor = vec4(1.0);\n#endif\n}\n&quot;,vertexSource:&quot;#ifdef GL_ES\nprecision highp float;\n#else\n#define lowp\n#define mediump\n#define highp\n#endif\n\n// floor(127 / 2) == 63.0\n// the maximum allowed miter limit is 2.0 at the moment. the extrude normal is\n// stored in a byte (-128..127). we scale regular normals up to length 63, but\n// there are also \&quot;special\&quot; normals that have a bigger length (of up to 126 in\n// this case).\n// #define scale 63.0\n#define scale 0.015873016\n\nattribute vec2 a_pos;\nattribute vec4 a_data;\n\nuniform mat4 u_matrix;\nuniform mediump float u_ratio;\nuniform mediump float u_linewidth;\nuniform mediump float u_gapwidth;\nuniform mediump float u_antialiasing;\nuniform mediump float u_extra;\nuniform mat2 u_antialiasingmatrix;\nuniform mediump float u_offset;\nuniform mediump float u_blur;\n\nvarying vec2 v_normal;\nvarying vec2 v_linewidth;\nvarying float v_gamma_scale;\n\nvoid main() {\n    vec2 a_extrude = a_data.xy - 128.0;\n    float a_direction = mod(a_data.z, 4.0) - 1.0;\n\n    // We store the texture normals in the most insignificant bit\n    // transform y so that 0 =&gt; -1 and 1 =&gt; 1\n    // In the texture normal, x is 0 if the normal points straight up/down and 1 if it's a round cap\n    // y is 1 if the normal points up, and -1 if it points down\n    mediump vec2 normal = mod(a_pos, 2.0);\n    normal.y = sign(normal.y - 0.5);\n    v_normal = normal;\n\n    float inset = u_gapwidth + (u_gapwidth &gt; 0.0 ? u_antialiasing : 0.0);\n    float outset = u_gapwidth + u_linewidth * (u_gapwidth &gt; 0.0 ? 2.0 : 1.0) + u_antialiasing;\n\n    // Scale the extrusion vector down to a normal and then up by the line width\n    // of this vertex.\n    mediump vec2 dist = outset * a_extrude * scale;\n\n    // Calculate the offset when drawing a line that is to the side of the actual line.\n    // We do this by creating a vector that points towards the extrude, but rotate\n    // it when we're drawing round end points (a_direction = -1 or 1) since their\n    // extrude vector points in another direction.\n    mediump float u = 0.5 * a_direction;\n    mediump float t = 1.0 - abs(u);\n    mediump vec2 offset = u_offset * a_extrude * scale * normal.y * mat2(t, -u, u, t);\n\n    // Remove the texture normal bit of the position before scaling it with the\n    // model/view matrix.\n    gl_Position = u_matrix * vec4(floor(a_pos * 0.5) + (offset + dist) / u_ratio, 0.0, 1.0);\n\n    // position of y on the screen\n    float y = gl_Position.y / gl_Position.w;\n\n    // how much features are squished in the y direction by the tilt\n    float squish_scale = length(a_extrude) / length(u_antialiasingmatrix * a_extrude);\n\n    // how much features are squished in all directions by the perspectiveness\n    float perspective_scale = 1.0 / (1.0 - min(y * u_extra, 0.9));\n\n    v_linewidth = vec2(outset, inset);\n    v_gamma_scale = perspective_scale * squish_scale;\n}\n&quot;},linepattern:{fragmentSource:&quot;#ifdef GL_ES\nprecision mediump float;\n#else\n#define lowp\n#define mediump\n#define highp\n#endif\n\nuniform float u_blur;\n\nuniform vec2 u_pattern_size_a;\nuniform vec2 u_pattern_size_b;\nuniform vec2 u_pattern_tl_a;\nuniform vec2 u_pattern_br_a;\nuniform vec2 u_pattern_tl_b;\nuniform vec2 u_pattern_br_b;\nuniform float u_fade;\nuniform float u_opacity;\n\nuniform sampler2D u_image;\n\nvarying vec2 v_normal;\nvarying vec2 v_linewidth;\nvarying float v_linesofar;\nvarying float v_gamma_scale;\n\nvoid main() {\n    // Calculate the distance of the pixel from the line in pixels.\n    float dist = length(v_normal) * v_linewidth.s;\n\n    // Calculate the antialiasing fade factor. This is either when fading in\n    // the line in case of an offset line (v_linewidth.t) or when fading out\n    // (v_linewidth.s)\n    float blur = u_blur * v_gamma_scale;\n    float alpha = clamp(min(dist - (v_linewidth.t - blur), v_linewidth.s - dist) / blur, 0.0, 1.0);\n\n    float x_a = mod(v_linesofar / u_pattern_size_a.x, 1.0);\n    float x_b = mod(v_linesofar / u_pattern_size_b.x, 1.0);\n    float y_a = 0.5 + (v_normal.y * v_linewidth.s / u_pattern_size_a.y);\n    float y_b = 0.5 + (v_normal.y * v_linewidth.s / u_pattern_size_b.y);\n    vec2 pos_a = mix(u_pattern_tl_a, u_pattern_br_a, vec2(x_a, y_a));\n    vec2 pos_b = mix(u_pattern_tl_b, u_pattern_br_b, vec2(x_b, y_b));\n\n    vec4 color = mix(texture2D(u_image, pos_a), texture2D(u_image, pos_b), u_fade);\n\n    alpha *= u_opacity;\n\n    gl_FragColor = color * alpha;\n\n#ifdef OVERDRAW_INSPECTOR\n    gl_FragColor = vec4(1.0);\n#endif\n}\n&quot;,vertexSource:&quot;#ifdef GL_ES\nprecision highp float;\n#else\n#define lowp\n#define mediump\n#define highp\n#endif\n\n// floor(127 / 2) == 63.0\n// the maximum allowed miter limit is 2.0 at the moment. the extrude normal is\n// stored in a byte (-128..127). we scale regular normals up to length 63, but\n// there are also \&quot;special\&quot; normals that have a bigger length (of up to 126 in\n// this case).\n// #define scale 63.0\n#define scale 0.015873016\n\n// We scale the distance before adding it to the buffers so that we can store\n// long distances for long segments. Use this value to unscale the distance.\n#define LINE_DISTANCE_SCALE 2.0\n\nattribute vec2 a_pos;\nattribute vec4 a_data;\n\nuniform mat4 u_matrix;\nuniform mediump float u_ratio;\nuniform mediump float u_linewidth;\nuniform mediump float u_gapwidth;\nuniform mediump float u_antialiasing;\nuniform mediump float u_extra;\nuniform mat2 u_antialiasingmatrix;\nuniform mediump float u_offset;\n\nvarying vec2 v_normal;\nvarying vec2 v_linewidth;\nvarying float v_linesofar;\nvarying float v_gamma_scale;\n\nvoid main() {\n    vec2 a_extrude = a_data.xy - 128.0;\n    float a_direction = mod(a_data.z, 4.0) - 1.0;\n    float a_linesofar = (floor(a_data.z / 4.0) + a_data.w * 64.0) * LINE_DISTANCE_SCALE;\n\n    // We store the texture normals in the most insignificant bit\n    // transform y so that 0 =&gt; -1 and 1 =&gt; 1\n    // In the texture normal, x is 0 if the normal points straight up/down and 1 if it's a round cap\n    // y is 1 if the normal points up, and -1 if it points down\n    mediump vec2 normal = mod(a_pos, 2.0);\n    normal.y = sign(normal.y - 0.5);\n    v_normal = normal;\n\n    float inset = u_gapwidth + (u_gapwidth &gt; 0.0 ? u_antialiasing : 0.0);\n    float outset = u_gapwidth + u_linewidth * (u_gapwidth &gt; 0.0 ? 2.0 : 1.0) + u_antialiasing;\n\n    // Scale the extrusion vector down to a normal and then up by the line width\n    // of this vertex.\n    mediump vec2 dist = outset * a_extrude * scale;\n\n    // Calculate the offset when drawing a line that is to the side of the actual line.\n    // We do this by creating a vector that points towards the extrude, but rotate\n    // it when we're drawing round end points (a_direction = -1 or 1) since their\n    // extrude vector points in another direction.\n    mediump float u = 0.5 * a_direction;\n    mediump float t = 1.0 - abs(u);\n    mediump vec2 offset = u_offset * a_extrude * scale * normal.y * mat2(t, -u, u, t);\n\n    // Remove the texture normal bit of the position before scaling it with the\n    // model/view matrix.\n    gl_Position = u_matrix * vec4(floor(a_pos * 0.5) + (offset + dist) / u_ratio, 0.0, 1.0);\n    v_linesofar = a_linesofar;\n\n    // position of y on the screen\n    float y = gl_Position.y / gl_Position.w;\n\n    // how much features are squished in the y direction by the tilt\n    float squish_scale = length(a_extrude) / length(u_antialiasingmatrix * a_extrude);\n\n    // how much features are squished in all directions by the perspectiveness\n    float perspective_scale = 1.0 / (1.0 - min(y * u_extra, 0.9));\n\n    v_linewidth = vec2(outset, inset);\n    v_gamma_scale = perspective_scale * squish_scale;\n}\n&quot;},linesdfpattern:{fragmentSource:&quot;#ifdef GL_ES\nprecision mediump float;\n#else\n#define lowp\n#define mediump\n#define highp\n#endif\n\nuniform lowp vec4 u_color;\nuniform lowp float u_opacity;\n\nuniform float u_blur;\nuniform sampler2D u_image;\nuniform float u_sdfgamma;\nuniform float u_mix;\n\nvarying vec2 v_normal;\nvarying vec2 v_linewidth;\nvarying vec2 v_tex_a;\nvarying vec2 v_tex_b;\nvarying float v_gamma_scale;\n\nvoid main() {\n    // Calculate the distance of the pixel from the line in pixels.\n    float dist = length(v_normal) * v_linewidth.s;\n\n    // Calculate the antialiasing fade factor. This is either when fading in\n    // the line in case of an offset line (v_linewidth.t) or when fading out\n    // (v_linewidth.s)\n    float blur = u_blur * v_gamma_scale;\n    float alpha = clamp(min(dist - (v_linewidth.t - blur), v_linewidth.s - dist) / blur, 0.0, 1.0);\n\n    float sdfdist_a = texture2D(u_image, v_tex_a).a;\n    float sdfdist_b = texture2D(u_image, v_tex_b).a;\n    float sdfdist = mix(sdfdist_a, sdfdist_b, u_mix);\n    alpha *= smoothstep(0.5 - u_sdfgamma, 0.5 + u_sdfgamma, sdfdist);\n\n    gl_FragColor = u_color * (alpha * u_opacity);\n\n#ifdef OVERDRAW_INSPECTOR\n    gl_FragColor = vec4(1.0);\n#endif\n}\n&quot;,vertexSource:&quot;#ifdef GL_ES\nprecision highp float;\n#else\n#define lowp\n#define mediump\n#define highp\n#endif\n\n// floor(127 / 2) == 63.0\n// the maximum allowed miter limit is 2.0 at the moment. the extrude normal is\n// stored in a byte (-128..127). we scale regular normals up to length 63, but\n// there are also \&quot;special\&quot; normals that have a bigger length (of up to 126 in\n// this case).\n// #define scale 63.0\n#define scale 0.015873016\n\n// We scale the distance before adding it to the buffers so that we can store\n// long distances for long segments. Use this value to unscale the distance.\n#define LINE_DISTANCE_SCALE 2.0\n\nattribute vec2 a_pos;\nattribute vec4 a_data;\n\nuniform mat4 u_matrix;\nuniform mediump float u_ratio;\nuniform mediump float u_linewidth;\nuniform mediump float u_gapwidth;\nuniform mediump float u_antialiasing;\nuniform vec2 u_patternscale_a;\nuniform float u_tex_y_a;\nuniform vec2 u_patternscale_b;\nuniform float u_tex_y_b;\nuniform float u_extra;\nuniform mat2 u_antialiasingmatrix;\nuniform mediump float u_offset;\n\nvarying vec2 v_normal;\nvarying vec2 v_linewidth;\nvarying vec2 v_tex_a;\nvarying vec2 v_tex_b;\nvarying float v_gamma_scale;\n\nvoid main() {\n    vec2 a_extrude = a_data.xy - 128.0;\n    float a_direction = mod(a_data.z, 4.0) - 1.0;\n    float a_linesofar = (floor(a_data.z / 4.0) + a_data.w * 64.0) * LINE_DISTANCE_SCALE;\n\n    // We store the texture normals in the most insignificant bit\n    // transform y so that 0 =&gt; -1 and 1 =&gt; 1\n    // In the texture normal, x is 0 if the normal points straight up/down and 1 if it's a round cap\n    // y is 1 if the normal points up, and -1 if it points down\n    mediump vec2 normal = mod(a_pos, 2.0);\n    normal.y = sign(normal.y - 0.5);\n    v_normal = normal;\n\n    float inset = u_gapwidth + (u_gapwidth &gt; 0.0 ? u_antialiasing : 0.0);\n    float outset = u_gapwidth + u_linewidth * (u_gapwidth &gt; 0.0 ? 2.0 : 1.0) + u_antialiasing;\n\n    // Scale the extrusion vector down to a normal and then up by the line width\n    // of this vertex.\n    mediump vec2 dist = outset * a_extrude * scale;\n\n    // Calculate the offset when drawing a line that is to the side of the actual line.\n    // We do this by creating a vector that points towards the extrude, but rotate\n    // it when we're drawing round end points (a_direction = -1 or 1) since their\n    // extrude vector points in another direction.\n    mediump float u = 0.5 * a_direction;\n    mediump float t = 1.0 - abs(u);\n    mediump vec2 offset = u_offset * a_extrude * scale * normal.y * mat2(t, -u, u, t);\n\n    // Remove the texture normal bit of the position before scaling it with the\n    // model/view matrix.\n    gl_Position = u_matrix * vec4(floor(a_pos * 0.5) + (offset + dist) / u_ratio, 0.0, 1.0);\n\n    v_tex_a = vec2(a_linesofar * u_patternscale_a.x, normal.y * u_patternscale_a.y + u_tex_y_a);\n    v_tex_b = vec2(a_linesofar * u_patternscale_b.x, normal.y * u_patternscale_b.y + u_tex_y_b);\n\n    // position of y on the screen\n    float y = gl_Position.y / gl_Position.w;\n\n    // how much features are squished in the y direction by the tilt\n    float squish_scale = length(a_extrude) / length(u_antialiasingmatrix * a_extrude);\n\n    // how much features are squished in all directions by the perspectiveness\n    float perspective_scale = 1.0 / (1.0 - min(y * u_extra, 0.9));\n\n    v_linewidth = vec2(outset, inset);\n    v_gamma_scale = perspective_scale * squish_scale;\n}\n&quot;},outline:{fragmentSource:&quot;#ifdef GL_ES\nprecision mediump float;\n#else\n#define lowp\n#define mediump\n#define highp\n#endif\n\n#pragma mapbox: define lowp vec4 outline_color\n#pragma mapbox: define lowp float opacity\n\nvarying vec2 v_pos;\n\nvoid main() {\n    #pragma mapbox: initialize lowp vec4 outline_color\n    #pragma mapbox: initialize lowp float opacity\n\n    float dist = length(v_pos - gl_FragCoord.xy);\n    float alpha = smoothstep(1.0, 0.0, dist);\n    gl_FragColor = outline_color * (alpha * opacity);\n\n#ifdef OVERDRAW_INSPECTOR\n    gl_FragColor = vec4(1.0);\n#endif\n}\n&quot;,vertexSource:&quot;#ifdef GL_ES\nprecision highp float;\n#else\n#define lowp\n#define mediump\n#define highp\n#endif\n\nattribute vec2 a_pos;\n\nuniform mat4 u_matrix;\nuniform vec2 u_world;\n\nvarying vec2 v_pos;\n\n#pragma mapbox: define lowp vec4 outline_color\n#pragma mapbox: define lowp float opacity\n\nvoid main() {\n    #pragma mapbox: initialize lowp vec4 outline_color\n    #pragma mapbox: initialize lowp float opacity\n\n    gl_Position = u_matrix * vec4(a_pos, 0, 1);\n    v_pos = (gl_Position.xy / gl_Position.w + 1.0) / 2.0 * u_world;\n}\n&quot;},outlinepattern:{fragmentSource:&quot;#ifdef GL_ES\nprecision mediump float;\n#else\n#define lowp\n#define mediump\n#define highp\n#endif\n\nuniform float u_opacity;\nuniform vec2 u_pattern_tl_a;\nuniform vec2 u_pattern_br_a;\nuniform vec2 u_pattern_tl_b;\nuniform vec2 u_pattern_br_b;\nuniform float u_mix;\n\nuniform sampler2D u_image;\n\nvarying vec2 v_pos_a;\nvarying vec2 v_pos_b;\nvarying vec2 v_pos;\n\nvoid main() {\n    vec2 imagecoord = mod(v_pos_a, 1.0);\n    vec2 pos = mix(u_pattern_tl_a, u_pattern_br_a, imagecoord);\n    vec4 color1 = texture2D(u_image, pos);\n\n    vec2 imagecoord_b = mod(v_pos_b, 1.0);\n    vec2 pos2 = mix(u_pattern_tl_b, u_pattern_br_b, imagecoord_b);\n    vec4 color2 = texture2D(u_image, pos2);\n\n    // find distance to outline for alpha interpolation\n\n    float dist = length(v_pos - gl_FragCoord.xy);\n    float alpha = smoothstep(1.0, 0.0, dist);\n    \n\n    gl_FragColor = mix(color1, color2, u_mix) * alpha * u_opacity;\n\n#ifdef OVERDRAW_INSPECTOR\n    gl_FragColor = vec4(1.0);\n#endif\n}\n&quot;,vertexSource:&quot;#ifdef GL_ES\nprecision highp float;\n#else\n#define lowp\n#define mediump\n#define highp\n#endif\n\nuniform vec2 u_pattern_size_a;\nuniform vec2 u_pattern_size_b;\nuniform vec2 u_pixel_coord_upper;\nuniform vec2 u_pixel_coord_lower;\nuniform float u_scale_a;\nuniform float u_scale_b;\nuniform float u_tile_units_to_pixels;\n\nattribute vec2 a_pos;\n\nuniform mat4 u_matrix;\nuniform vec2 u_world;\n\nvarying vec2 v_pos_a;\nvarying vec2 v_pos_b;\nvarying vec2 v_pos;\n\nvoid main() {\n    gl_Position = u_matrix * vec4(a_pos, 0, 1);\n    vec2 scaled_size_a = u_scale_a * u_pattern_size_a;\n    vec2 scaled_size_b = u_scale_b * u_pattern_size_b;\n\n    // the correct offset needs to be calculated.\n    //\n    // The offset depends on how many pixels are between the world origin and\n    // the edge of the tile:\n    // vec2 offset = mod(pixel_coord, size)\n    //\n    // At high zoom levels there are a ton of pixels between the world origin\n    // and the edge of the tile. The glsl spec only guarantees 16 bits of\n    // precision for highp floats. We need more than that.\n    //\n    // The pixel_coord is passed in as two 16 bit values:\n    // pixel_coord_upper = floor(pixel_coord / 2^16)\n    // pixel_coord_lower = mod(pixel_coord, 2^16)\n    //\n    // The offset is calculated in a series of steps that should preserve this precision:\n    vec2 offset_a = mod(mod(mod(u_pixel_coord_upper, scaled_size_a) * 256.0, scaled_size_a) * 256.0 + u_pixel_coord_lower, scaled_size_a);\n    vec2 offset_b = mod(mod(mod(u_pixel_coord_upper, scaled_size_b) * 256.0, scaled_size_b) * 256.0 + u_pixel_coord_lower, scaled_size_b);\n\n    v_pos_a = (u_tile_units_to_pixels * a_pos + offset_a) / scaled_size_a;\n    v_pos_b = (u_tile_units_to_pixels * a_pos + offset_b) / scaled_size_b;\n\n    v_pos = (gl_Position.xy / gl_Position.w + 1.0) / 2.0 * u_world;\n}\n&quot;},pattern:{fragmentSource:&quot;#ifdef GL_ES\nprecision mediump float;\n#else\n#define lowp\n#define mediump\n#define highp\n#endif\n\nuniform float u_opacity;\nuniform vec2 u_pattern_tl_a;\nuniform vec2 u_pattern_br_a;\nuniform vec2 u_pattern_tl_b;\nuniform vec2 u_pattern_br_b;\nuniform float u_mix;\n\nuniform sampler2D u_image;\n\nvarying vec2 v_pos_a;\nvarying vec2 v_pos_b;\n\nvoid main() {\n\n    vec2 imagecoord = mod(v_pos_a, 1.0);\n    vec2 pos = mix(u_pattern_tl_a, u_pattern_br_a, imagecoord);\n    vec4 color1 = texture2D(u_image, pos);\n\n    vec2 imagecoord_b = mod(v_pos_b, 1.0);\n    vec2 pos2 = mix(u_pattern_tl_b, u_pattern_br_b, imagecoord_b);\n    vec4 color2 = texture2D(u_image, pos2);\n\n    gl_FragColor = mix(color1, color2, u_mix) * u_opacity;\n\n#ifdef OVERDRAW_INSPECTOR\n    gl_FragColor = vec4(1.0);\n#endif\n}\n&quot;,vertexSource:&quot;#ifdef GL_ES\nprecision highp float;\n#else\n#define lowp\n#define mediump\n#define highp\n#endif\n\nuniform mat4 u_matrix;\nuniform vec2 u_pattern_size_a;\nuniform vec2 u_pattern_size_b;\nuniform vec2 u_pixel_coord_upper;\nuniform vec2 u_pixel_coord_lower;\nuniform float u_scale_a;\nuniform float u_scale_b;\nuniform float u_tile_units_to_pixels;\n\nattribute vec2 a_pos;\n\nvarying vec2 v_pos_a;\nvarying vec2 v_pos_b;\n\nvoid main() {\n    gl_Position = u_matrix * vec4(a_pos, 0, 1);\n    vec2 scaled_size_a = u_scale_a * u_pattern_size_a;\n    vec2 scaled_size_b = u_scale_b * u_pattern_size_b;\n\n    // the correct offset needs to be calculated.\n    //\n    // The offset depends on how many pixels are between the world origin and\n    // the edge of the tile:\n    // vec2 offset = mod(pixel_coord, size)\n    //\n    // At high zoom levels there are a ton of pixels between the world origin\n    // and the edge of the tile. The glsl spec only guarantees 16 bits of\n    // precision for highp floats. We need more than that.\n    //\n    // The pixel_coord is passed in as two 16 bit values:\n    // pixel_coord_upper = floor(pixel_coord / 2^16)\n    // pixel_coord_lower = mod(pixel_coord, 2^16)\n    //\n    // The offset is calculated in a series of steps that should preserve this precision:\n    vec2 offset_a = mod(mod(mod(u_pixel_coord_upper, scaled_size_a) * 256.0, scaled_size_a) * 256.0 + u_pixel_coord_lower, scaled_size_a);\n    vec2 offset_b = mod(mod(mod(u_pixel_coord_upper, scaled_size_b) * 256.0, scaled_size_b) * 256.0 + u_pixel_coord_lower, scaled_size_b);\n\n    v_pos_a = (u_tile_units_to_pixels * a_pos + offset_a) / scaled_size_a;\n    v_pos_b = (u_tile_units_to_pixels * a_pos + offset_b) / scaled_size_b;\n}\n&quot;},raster:{fragmentSource:&quot;#ifdef GL_ES\nprecision mediump float;\n#else\n#define lowp\n#define mediump\n#define highp\n#endif\n\nuniform float u_opacity0;\nuniform float u_opacity1;\nuniform sampler2D u_image0;\nuniform sampler2D u_image1;\nvarying vec2 v_pos0;\nvarying vec2 v_pos1;\n\nuniform float u_brightness_low;\nuniform float u_brightness_high;\n\nuniform float u_saturation_factor;\nuniform float u_contrast_factor;\nuniform vec3 u_spin_weights;\n\nvoid main() {\n\n    // read and cross-fade colors from the main and parent tiles\n    vec4 color0 = texture2D(u_image0, v_pos0);\n    vec4 color1 = texture2D(u_image1, v_pos1);\n    vec4 color = color0 * u_opacity0 + color1 * u_opacity1;\n    vec3 rgb = color.rgb;\n\n    // spin\n    rgb = vec3(\n        dot(rgb, u_spin_weights.xyz),\n        dot(rgb, u_spin_weights.zxy),\n        dot(rgb, u_spin_weights.yzx));\n\n    // saturation\n    float average = (color.r + color.g + color.b) / 3.0;\n    rgb += (average - rgb) * u_saturation_factor;\n\n    // contrast\n    rgb = (rgb - 0.5) * u_contrast_factor + 0.5;\n\n    // brightness\n    vec3 u_high_vec = vec3(u_brightness_low, u_brightness_low, u_brightness_low);\n    vec3 u_low_vec = vec3(u_brightness_high, u_brightness_high, u_brightness_high);\n\n    gl_FragColor = vec4(mix(u_high_vec, u_low_vec, rgb), color.a);\n\n#ifdef OVERDRAW_INSPECTOR\n    gl_FragColor = vec4(1.0);\n#endif\n}\n&quot;,vertexSource:&quot;#ifdef GL_ES\nprecision highp float;\n#else\n#define lowp\n#define mediump\n#define highp\n#endif\n\nuniform mat4 u_matrix;\nuniform vec2 u_tl_parent;\nuniform float u_scale_parent;\nuniform float u_buffer_scale;\n\nattribute vec2 a_pos;\nattribute vec2 a_texture_pos;\n\nvarying vec2 v_pos0;\nvarying vec2 v_pos1;\n\nvoid main() {\n    gl_Position = u_matrix * vec4(a_pos, 0, 1);\n    v_pos0 = (((a_texture_pos / 32767.0) - 0.5) / u_buffer_scale ) + 0.5;\n    v_pos1 = (v_pos0 * u_scale_parent) + u_tl_parent;\n}\n&quot;},icon:{fragmentSource:&quot;#ifdef GL_ES\nprecision mediump float;\n#else\n#define lowp\n#define mediump\n#define highp\n#endif\n\nuniform sampler2D u_texture;\nuniform sampler2D u_fadetexture;\nuniform lowp float u_opacity;\n\nvarying vec2 v_tex;\nvarying vec2 v_fade_tex;\n\nvoid main() {\n    lowp float alpha = texture2D(u_fadetexture, v_fade_tex).a * u_opacity;\n    gl_FragColor = texture2D(u_texture, v_tex) * alpha;\n\n#ifdef OVERDRAW_INSPECTOR\n    gl_FragColor = vec4(1.0);\n#endif\n}\n&quot;,vertexSource:&quot;#ifdef GL_ES\nprecision highp float;\n#else\n#define lowp\n#define mediump\n#define highp\n#endif\n\nattribute vec2 a_pos;\nattribute vec2 a_offset;\nattribute vec2 a_texture_pos;\nattribute vec4 a_data;\n\n\n// matrix is for the vertex position.\nuniform mat4 u_matrix;\n\nuniform mediump float u_zoom;\nuniform bool u_rotate_with_map;\nuniform vec2 u_extrude_scale;\n\nuniform vec2 u_texsize;\n\nvarying vec2 v_tex;\nvarying vec2 v_fade_tex;\n\nvoid main() {\n    vec2 a_tex = a_texture_pos.xy;\n    mediump float a_labelminzoom = a_data[0];\n    mediump vec2 a_zoom = a_data.pq;\n    mediump float a_minzoom = a_zoom[0];\n    mediump float a_maxzoom = a_zoom[1];\n\n    // u_zoom is the current zoom level adjusted for the change in font size\n    mediump float z = 2.0 - step(a_minzoom, u_zoom) - (1.0 - step(a_maxzoom, u_zoom));\n\n    vec2 extrude = u_extrude_scale * (a_offset / 64.0);\n    if (u_rotate_with_map) {\n        gl_Position = u_matrix * vec4(a_pos + extrude, 0, 1);\n        gl_Position.z += z * gl_Position.w;\n    } else {\n        gl_Position = u_matrix * vec4(a_pos, 0, 1) + vec4(extrude, 0, 0);\n    }\n\n    v_tex = a_tex / u_texsize;\n    v_fade_tex = vec2(a_labelminzoom / 255.0, 0.0);\n}\n&quot;},sdf:{fragmentSource:&quot;#ifdef GL_ES\nprecision mediump float;\n#else\n#define lowp\n#define mediump\n#define highp\n#endif\n\nuniform sampler2D u_texture;\nuniform sampler2D u_fadetexture;\nuniform lowp vec4 u_color;\nuniform lowp float u_opacity;\nuniform lowp float u_buffer;\nuniform lowp float u_gamma;\n\nvarying vec2 v_tex;\nvarying vec2 v_fade_tex;\nvarying float v_gamma_scale;\n\nvoid main() {\n    lowp float dist = texture2D(u_texture, v_tex).a;\n    lowp float fade_alpha = texture2D(u_fadetexture, v_fade_tex).a;\n    lowp float gamma = u_gamma * v_gamma_scale;\n    lowp float alpha = smoothstep(u_buffer - gamma, u_buffer + gamma, dist) * fade_alpha;\n\n    gl_FragColor = u_color * (alpha * u_opacity);\n\n#ifdef OVERDRAW_INSPECTOR\n    gl_FragColor = vec4(1.0);\n#endif\n}\n&quot;,vertexSource:&quot;#ifdef GL_ES\nprecision highp float;\n#else\n#define lowp\n#define mediump\n#define highp\n#endif\n\nconst float PI = 3.141592653589793;\n\nattribute vec2 a_pos;\nattribute vec2 a_offset;\nattribute vec2 a_texture_pos;\nattribute vec4 a_data;\n\n\n// matrix is for the vertex position.\nuniform mat4 u_matrix;\n\nuniform mediump float u_zoom;\nuniform bool u_rotate_with_map;\nuniform bool u_pitch_with_map;\nuniform mediump float u_pitch;\nuniform mediump float u_bearing;\nuniform mediump float u_aspect_ratio;\nuniform vec2 u_extrude_scale;\n\nuniform vec2 u_texsize;\n\nvarying vec2 v_tex;\nvarying vec2 v_fade_tex;\nvarying float v_gamma_scale;\n\nvoid main() {\n    vec2 a_tex = a_texture_pos.xy;\n    mediump float a_labelminzoom = a_data[0];\n    mediump vec2 a_zoom = a_data.pq;\n    mediump float a_minzoom = a_zoom[0];\n    mediump float a_maxzoom = a_zoom[1];\n\n    // u_zoom is the current zoom level adjusted for the change in font size\n    mediump float z = 2.0 - step(a_minzoom, u_zoom) - (1.0 - step(a_maxzoom, u_zoom));\n\n    // pitch-alignment: map\n    // rotation-alignment: map | viewport\n    if (u_pitch_with_map) {\n        lowp float angle = u_rotate_with_map ? (a_data[1] / 256.0 * 2.0 * PI) : u_bearing;\n        lowp float asin = sin(angle);\n        lowp float acos = cos(angle);\n        mat2 RotationMatrix = mat2(acos, asin, -1.0 * asin, acos);\n        vec2 offset = RotationMatrix * a_offset;\n        vec2 extrude = u_extrude_scale * (offset / 64.0);\n        gl_Position = u_matrix * vec4(a_pos + extrude, 0, 1);\n        gl_Position.z += z * gl_Position.w;\n    // pitch-alignment: viewport\n    // rotation-alignment: map\n    } else if (u_rotate_with_map) {\n        // foreshortening factor to apply on pitched maps\n        // as a label goes from horizontal &lt;=&gt; vertical in angle\n        // it goes from 0% foreshortening to up to around 70% foreshortening\n        lowp float pitchfactor = 1.0 - cos(u_pitch * sin(u_pitch * 0.75));\n\n        lowp float lineangle = a_data[1] / 256.0 * 2.0 * PI;\n\n        // use the lineangle to position points a,b along the line\n        // project the points and calculate the label angle in projected space\n        // this calculation allows labels to be rendered unskewed on pitched maps\n        vec4 a = u_matrix * vec4(a_pos, 0, 1);\n        vec4 b = u_matrix * vec4(a_pos + vec2(cos(lineangle),sin(lineangle)), 0, 1);\n        lowp float angle = atan((b[1]/b[3] - a[1]/a[3])/u_aspect_ratio, b[0]/b[3] - a[0]/a[3]);\n        lowp float asin = sin(angle);\n        lowp float acos = cos(angle);\n        mat2 RotationMatrix = mat2(acos, -1.0 * asin, asin, acos);\n\n        vec2 offset = RotationMatrix * (vec2((1.0-pitchfactor)+(pitchfactor*cos(angle*2.0)), 1.0) * a_offset);\n        vec2 extrude = u_extrude_scale * (offset / 64.0);\n        gl_Position = u_matrix * vec4(a_pos, 0, 1) + vec4(extrude, 0, 0);\n        gl_Position.z += z * gl_Position.w;\n    // pitch-alignment: viewport\n    // rotation-alignment: viewport\n    } else {\n        vec2 extrude = u_extrude_scale * (a_offset / 64.0);\n        gl_Position = u_matrix * vec4(a_pos, 0, 1) + vec4(extrude, 0, 0);\n    }\n\n    v_gamma_scale = (gl_Position.w - 0.5);\n\n    v_tex = a_tex / u_texsize;\n    v_fade_tex = vec2(a_labelminzoom / 255.0, 0.0);\n}\n&quot;},collisionbox:{fragmentSource:&quot;#ifdef GL_ES\nprecision mediump float;\n#else\n#define lowp\n#define mediump\n#define highp\n#endif\n\nuniform float u_zoom;\nuniform float u_maxzoom;\n\nvarying float v_max_zoom;\nvarying float v_placement_zoom;\n\nvoid main() {\n\n    float alpha = 0.5;\n\n    gl_FragColor = vec4(0.0, 1.0, 0.0, 1.0) * alpha;\n\n    if (v_placement_zoom &gt; u_zoom) {\n        gl_FragColor = vec4(1.0, 0.0, 0.0, 1.0) * alpha;\n    }\n\n    if (u_zoom &gt;= v_max_zoom) {\n        gl_FragColor = vec4(0.0, 0.0, 0.0, 1.0) * alpha * 0.25;\n    }\n\n    if (v_placement_zoom &gt;= u_maxzoom) {\n        gl_FragColor = vec4(0.0, 0.0, 1.0, 1.0) * alpha * 0.2;\n    }\n}\n&quot;,vertexSource:&quot;#ifdef GL_ES\nprecision highp float;\n#else\n#define lowp\n#define mediump\n#define highp\n#endif\n\nattribute vec2 a_pos;\nattribute vec2 a_extrude;\nattribute vec2 a_data;\n\nuniform mat4 u_matrix;\nuniform float u_scale;\n\nvarying float v_max_zoom;\nvarying float v_placement_zoom;\n\nvoid main() {\n    gl_Position = u_matrix * vec4(a_pos + a_extrude / u_scale, 0.0, 1.0);\n\n    v_max_zoom = a_data.x;\n    v_placement_zoom = a_data.y;\n}\n&quot;}},e.exports.util=&quot;float evaluate_zoom_function_1(const vec4 values, const float t) {\n    if (t &lt; 1.0) {\n        return mix(values[0], values[1], t);\n    } else if (t &lt; 2.0) {\n        return mix(values[1], values[2], t - 1.0);\n    } else {\n        return mix(values[2], values[3], t - 2.0);\n    }\n}\nvec4 evaluate_zoom_function_4(const vec4 value0, const vec4 value1, const vec4 value2, const vec4 value3, const float t) {\n    if (t &lt; 1.0) {\n        return mix(value0, value1, t);\n    } else if (t &lt; 2.0) {\n        return mix(value1, value2, t - 1.0);\n    } else {\n        return mix(value2, value3, t - 2.0);\n    }\n}\n&quot;},{path:468}],295:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;util&quot;).format;e.exports=function(t,e){this.message=(t?t+&quot;: &quot;:&quot;&quot;)+n.apply(n,Array.prototype.slice.call(arguments,2)),null!==e&amp;&amp;void 0!==e&amp;&amp;e.__line__&amp;&amp;(this.line=e.__line__)}},{util:563}],296:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t){for(var e=1;e&lt;arguments.length;e++){var r=arguments[e];for(var n in r)t[n]=r[n]}return t}},{}],297:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t){return t instanceof Number?&quot;number&quot;:t instanceof String?&quot;string&quot;:t instanceof Boolean?&quot;boolean&quot;:Array.isArray(t)?&quot;array&quot;:null===t?&quot;null&quot;:typeof t}},{}],298:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t){return t instanceof Number||t instanceof String||t instanceof Boolean?t.valueOf():t}},{}],299:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../error/validation_error&quot;),i=t(&quot;../util/get_type&quot;),a=t(&quot;../util/extend&quot;);e.exports=function(e){var r=t(&quot;./validate_function&quot;),o=t(&quot;./validate_object&quot;),s={&quot;*&quot;:function(){return[]},array:t(&quot;./validate_array&quot;),boolean:t(&quot;./validate_boolean&quot;),number:t(&quot;./validate_number&quot;),color:t(&quot;./validate_color&quot;),constants:t(&quot;./validate_constants&quot;),enum:t(&quot;./validate_enum&quot;),filter:t(&quot;./validate_filter&quot;),function:t(&quot;./validate_function&quot;),layer:t(&quot;./validate_layer&quot;),object:t(&quot;./validate_object&quot;),source:t(&quot;./validate_source&quot;),string:t(&quot;./validate_string&quot;)},l=e.value,c=e.valueSpec,u=e.key,f=e.styleSpec,h=e.style;if(&quot;string&quot;===i(l)&amp;&amp;&quot;@&quot;===l[0]){if(f.$version&gt;7)return[new n(u,l,&quot;constants have been deprecated as of v8&quot;)];if(!(l in h.constants))return[new n(u,l,'constant &quot;%s&quot; not found',l)];e=a({},e,{value:h.constants[l]})}return c.function&amp;&amp;&quot;object&quot;===i(l)?r(e):c.type&amp;&amp;s[c.type]?s[c.type](e):o(a({},e,{valueSpec:c.type?f[c.type]:c}))}},{&quot;../error/validation_error&quot;:295,&quot;../util/extend&quot;:296,&quot;../util/get_type&quot;:297,&quot;./validate_array&quot;:300,&quot;./validate_boolean&quot;:301,&quot;./validate_color&quot;:302,&quot;./validate_constants&quot;:303,&quot;./validate_enum&quot;:304,&quot;./validate_filter&quot;:305,&quot;./validate_function&quot;:306,&quot;./validate_layer&quot;:308,&quot;./validate_number&quot;:310,&quot;./validate_object&quot;:311,&quot;./validate_source&quot;:313,&quot;./validate_string&quot;:314}],300:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../util/get_type&quot;),i=t(&quot;./validate&quot;),a=t(&quot;../error/validation_error&quot;);e.exports=function(t){var e=t.value,r=t.valueSpec,o=t.style,s=t.styleSpec,l=t.key,c=t.arrayElementValidator||i;if(&quot;array&quot;!==n(e))return[new a(l,e,&quot;array expected, %s found&quot;,n(e))];if(r.length&amp;&amp;e.length!==r.length)return[new a(l,e,&quot;array length %d expected, length %d found&quot;,r.length,e.length)];if(r[&quot;min-length&quot;]&amp;&amp;e.length&lt;r[&quot;min-length&quot;])return[new a(l,e,&quot;array length at least %d expected, length %d found&quot;,r[&quot;min-length&quot;],e.length)];var u={type:r.value};s.$version&lt;7&amp;&amp;(u.function=r.function),&quot;object&quot;===n(r.value)&amp;&amp;(u=r.value);for(var f=[],h=0;h&lt;e.length;h++)f=f.concat(c({array:e,arrayIndex:h,value:e[h],valueSpec:u,style:o,styleSpec:s,key:l+&quot;[&quot;+h+&quot;]&quot;}));return f}},{&quot;../error/validation_error&quot;:295,&quot;../util/get_type&quot;:297,&quot;./validate&quot;:299}],301:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../util/get_type&quot;),i=t(&quot;../error/validation_error&quot;);e.exports=function(t){var e=t.value,r=t.key,a=n(e);return&quot;boolean&quot;!==a?[new i(r,e,&quot;boolean expected, %s found&quot;,a)]:[]}},{&quot;../error/validation_error&quot;:295,&quot;../util/get_type&quot;:297}],302:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../error/validation_error&quot;),i=t(&quot;../util/get_type&quot;),a=t(&quot;csscolorparser&quot;).parseCSSColor;e.exports=function(t){var e=t.key,r=t.value,o=i(r);return&quot;string&quot;!==o?[new n(e,r,&quot;color expected, %s found&quot;,o)]:null===a(r)?[new n(e,r,'color expected, &quot;%s&quot; found',r)]:[]}},{&quot;../error/validation_error&quot;:295,&quot;../util/get_type&quot;:297,csscolorparser:114}],303:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../error/validation_error&quot;),i=t(&quot;../util/get_type&quot;);e.exports=function(t){var e=t.key,r=t.value;if(t.styleSpec.$version&gt;7)return r?[new n(e,r,&quot;constants have been deprecated as of v8&quot;)]:[];var a=i(r);if(&quot;object&quot;!==a)return[new n(e,r,&quot;object expected, %s found&quot;,a)];var o=[];for(var s in r)&quot;@&quot;!==s[0]&amp;&amp;o.push(new n(e+&quot;.&quot;+s,r[s],'constants must start with &quot;@&quot;'));return o}},{&quot;../error/validation_error&quot;:295,&quot;../util/get_type&quot;:297}],304:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../error/validation_error&quot;),i=t(&quot;../util/unbundle_jsonlint&quot;);e.exports=function(t){var e=t.key,r=t.value,a=t.valueSpec,o=[];return-1===a.values.indexOf(i(r))&amp;&amp;o.push(new n(e,r,&quot;expected one of [%s], %s found&quot;,a.values.join(&quot;, &quot;),r)),o}},{&quot;../error/validation_error&quot;:295,&quot;../util/unbundle_jsonlint&quot;:298}],305:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../error/validation_error&quot;),i=t(&quot;./validate_enum&quot;),a=t(&quot;../util/get_type&quot;),o=t(&quot;../util/unbundle_jsonlint&quot;);e.exports=function t(e){var r,s=e.value,l=e.key,c=e.styleSpec,u=[];if(&quot;array&quot;!==a(s))return[new n(l,s,&quot;array expected, %s found&quot;,a(s))];if(s.length&lt;1)return[new n(l,s,&quot;filter array must have at least 1 element&quot;)];switch(u=u.concat(i({key:l+&quot;[0]&quot;,value:s[0],valueSpec:c.filter_operator,style:e.style,styleSpec:e.styleSpec})),o(s[0])){case&quot;&lt;&quot;:case&quot;&lt;=&quot;:case&quot;&gt;&quot;:case&quot;&gt;=&quot;:s.length&gt;=2&amp;&amp;&quot;$type&quot;==s[1]&amp;&amp;u.push(new n(l,s,'&quot;$type&quot; cannot be use with operator &quot;%s&quot;',s[0]));case&quot;==&quot;:case&quot;!=&quot;:3!=s.length&amp;&amp;u.push(new n(l,s,'filter array for operator &quot;%s&quot; must have 3 elements',s[0]));case&quot;in&quot;:case&quot;!in&quot;:s.length&gt;=2&amp;&amp;(&quot;string&quot;!==(r=a(s[1]))?u.push(new n(l+&quot;[1]&quot;,s[1],&quot;string expected, %s found&quot;,r)):&quot;@&quot;===s[1][0]&amp;&amp;u.push(new n(l+&quot;[1]&quot;,s[1],&quot;filter key cannot be a constant&quot;)));for(var f=2;f&lt;s.length;f++)r=a(s[f]),&quot;$type&quot;==s[1]?u=u.concat(i({key:l+&quot;[&quot;+f+&quot;]&quot;,value:s[f],valueSpec:c.geometry_type,style:e.style,styleSpec:e.styleSpec})):&quot;string&quot;===r&amp;&amp;&quot;@&quot;===s[f][0]?u.push(new n(l+&quot;[&quot;+f+&quot;]&quot;,s[f],&quot;filter value cannot be a constant&quot;)):&quot;string&quot;!==r&amp;&amp;&quot;number&quot;!==r&amp;&amp;&quot;boolean&quot;!==r&amp;&amp;u.push(new n(l+&quot;[&quot;+f+&quot;]&quot;,s[f],&quot;string, number, or boolean expected, %s found&quot;,r));break;case&quot;any&quot;:case&quot;all&quot;:case&quot;none&quot;:for(f=1;f&lt;s.length;f++)u=u.concat(t({key:l+&quot;[&quot;+f+&quot;]&quot;,value:s[f],style:e.style,styleSpec:e.styleSpec}));break;case&quot;has&quot;:case&quot;!has&quot;:r=a(s[1]),2!==s.length?u.push(new n(l,s,'filter array for &quot;%s&quot; operator must have 2 elements',s[0])):&quot;string&quot;!==r?u.push(new n(l+&quot;[1]&quot;,s[1],&quot;string expected, %s found&quot;,r)):&quot;@&quot;===s[1][0]&amp;&amp;u.push(new n(l+&quot;[1]&quot;,s[1],&quot;filter key cannot be a constant&quot;))}return u}},{&quot;../error/validation_error&quot;:295,&quot;../util/get_type&quot;:297,&quot;../util/unbundle_jsonlint&quot;:298,&quot;./validate_enum&quot;:304}],306:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../error/validation_error&quot;),i=t(&quot;../util/get_type&quot;),a=t(&quot;./validate&quot;),o=t(&quot;./validate_object&quot;),s=t(&quot;./validate_array&quot;),l=t(&quot;./validate_number&quot;);e.exports=function(t){function e(t){var e=[],s=t.value,f=t.key;if(&quot;array&quot;!==i(s))return[new n(f,s,&quot;array expected, %s found&quot;,i(s))];if(2!==s.length)return[new n(f,s,&quot;array length %d expected, length %d found&quot;,2,s.length)];var d=i(s[0]);if(c||(c=d),d!==c)return[new n(f,s,&quot;%s stop key type must match previous stop key type %s&quot;,d,c)];if(&quot;object&quot;===d){if(void 0===s[0].zoom)return[new n(f,s,&quot;object stop key must have zoom&quot;)];if(void 0===s[0].value)return[new n(f,s,&quot;object stop key must have value&quot;)];e=e.concat(o({key:f+&quot;[0]&quot;,value:s[0],valueSpec:{zoom:{}},style:t.style,styleSpec:t.styleSpec,objectElementValidators:{zoom:l,value:r}}))}else e=e.concat((h?l:r)({key:f+&quot;[0]&quot;,value:s[0],valueSpec:{},style:t.style,styleSpec:t.styleSpec}));return e=e.concat(a({key:f+&quot;[1]&quot;,value:s[1],valueSpec:u,style:t.style,styleSpec:t.styleSpec})),&quot;number&quot;===i(s[0])&amp;&amp;(&quot;piecewise-constant&quot;===u.function&amp;&amp;s[0]%1!=0&amp;&amp;e.push(new n(f+&quot;[0]&quot;,s[0],&quot;zoom level for piecewise-constant functions must be an integer&quot;)),0!==t.arrayIndex&amp;&amp;s[0]&lt;t.array[t.arrayIndex-1][0]&amp;&amp;e.push(new n(f+&quot;[0]&quot;,s[0],&quot;array stops must appear in ascending order&quot;))),e}function r(t){var e=[],r=i(t.value);return&quot;number&quot;!==r&amp;&amp;&quot;string&quot;!==r&amp;&amp;&quot;array&quot;!==r&amp;&amp;e.push(new n(t.key,t.value,&quot;property value must be a number, string or array&quot;)),e}var c,u=t.valueSpec,f=void 0!==t.value.property||&quot;object&quot;===c,h=void 0===t.value.property||&quot;object&quot;===c,d=o({key:t.key,value:t.value,valueSpec:t.styleSpec.function,style:t.style,styleSpec:t.styleSpec,objectElementValidators:{stops:function(t){var r=[],a=t.value;return r=r.concat(s({key:t.key,value:a,valueSpec:t.valueSpec,style:t.style,styleSpec:t.styleSpec,arrayElementValidator:e})),&quot;array&quot;===i(a)&amp;&amp;0===a.length&amp;&amp;r.push(new n(t.key,a,&quot;array must have at least one stop&quot;)),r}}});return t.styleSpec.$version&gt;=8&amp;&amp;(f&amp;&amp;!t.valueSpec[&quot;property-function&quot;]?d.push(new n(t.key,t.value,&quot;property functions not supported&quot;)):h&amp;&amp;!t.valueSpec[&quot;zoom-function&quot;]&amp;&amp;d.push(new n(t.key,t.value,&quot;zoom functions not supported&quot;))),d}},{&quot;../error/validation_error&quot;:295,&quot;../util/get_type&quot;:297,&quot;./validate&quot;:299,&quot;./validate_array&quot;:300,&quot;./validate_number&quot;:310,&quot;./validate_object&quot;:311}],307:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../error/validation_error&quot;),i=t(&quot;./validate_string&quot;);e.exports=function(t){var e=t.value,r=t.key,a=i(t);return a.length?a:(-1===e.indexOf(&quot;{fontstack}&quot;)&amp;&amp;a.push(new n(r,e,'&quot;glyphs&quot; url must include a &quot;{fontstack}&quot; token')),-1===e.indexOf(&quot;{range}&quot;)&amp;&amp;a.push(new n(r,e,'&quot;glyphs&quot; url must include a &quot;{range}&quot; token')),a)}},{&quot;../error/validation_error&quot;:295,&quot;./validate_string&quot;:314}],308:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../error/validation_error&quot;),i=t(&quot;../util/unbundle_jsonlint&quot;),a=t(&quot;./validate_object&quot;),o=t(&quot;./validate_filter&quot;),s=t(&quot;./validate_paint_property&quot;),l=t(&quot;./validate_layout_property&quot;),c=t(&quot;../util/extend&quot;);e.exports=function(t){var e=[],r=t.value,u=t.key,f=t.style,h=t.styleSpec;r.type||r.ref||e.push(new n(u,r,'either &quot;type&quot; or &quot;ref&quot; is required'));var d=i(r.type),p=i(r.ref);if(r.id)for(var m=0;m&lt;t.arrayIndex;m++){var g=f.layers[m];i(g.id)===i(r.id)&amp;&amp;e.push(new n(u,r.id,'duplicate layer id &quot;%s&quot;, previously used at line %d',r.id,g.id.__line__))}if(&quot;ref&quot;in r){[&quot;type&quot;,&quot;source&quot;,&quot;source-layer&quot;,&quot;filter&quot;,&quot;layout&quot;].forEach(function(t){t in r&amp;&amp;e.push(new n(u,r[t],'&quot;%s&quot; is prohibited for ref layers',t))});var v;f.layers.forEach(function(t){t.id==p&amp;&amp;(v=t)}),v?v.ref?e.push(new n(u,r.ref,&quot;ref cannot reference another ref layer&quot;)):d=i(v.type):e.push(new n(u,r.ref,'ref layer &quot;%s&quot; not found',p))}else if(&quot;background&quot;!==d)if(r.source){var y=f.sources&amp;&amp;f.sources[r.source];y?&quot;vector&quot;==y.type&amp;&amp;&quot;raster&quot;==d?e.push(new n(u,r.source,'layer &quot;%s&quot; requires a raster source',r.id)):&quot;raster&quot;==y.type&amp;&amp;&quot;raster&quot;!=d?e.push(new n(u,r.source,'layer &quot;%s&quot; requires a vector source',r.id)):&quot;vector&quot;!=y.type||r[&quot;source-layer&quot;]||e.push(new n(u,r,'layer &quot;%s&quot; must specify a &quot;source-layer&quot;',r.id)):e.push(new n(u,r.source,'source &quot;%s&quot; not found',r.source))}else e.push(new n(u,r,'missing required property &quot;source&quot;'));return e=e.concat(a({key:u,value:r,valueSpec:h.layer,style:t.style,styleSpec:t.styleSpec,objectElementValidators:{filter:o,layout:function(t){return a({layer:r,key:t.key,value:t.value,style:t.style,styleSpec:t.styleSpec,objectElementValidators:{&quot;*&quot;:function(t){return l(c({layerType:d},t))}}})},paint:function(t){return a({layer:r,key:t.key,value:t.value,style:t.style,styleSpec:t.styleSpec,objectElementValidators:{&quot;*&quot;:function(t){return s(c({layerType:d},t))}}})}}}))}},{&quot;../error/validation_error&quot;:295,&quot;../util/extend&quot;:296,&quot;../util/unbundle_jsonlint&quot;:298,&quot;./validate_filter&quot;:305,&quot;./validate_layout_property&quot;:309,&quot;./validate_object&quot;:311,&quot;./validate_paint_property&quot;:312}],309:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;./validate&quot;),i=t(&quot;../error/validation_error&quot;);e.exports=function(t){var e=t.key,r=t.style,a=t.styleSpec,o=t.value,s=t.objectKey,l=a[&quot;layout_&quot;+t.layerType];if(t.valueSpec||l[s]){var c=[];return&quot;symbol&quot;===t.layerType&amp;&amp;(&quot;icon-image&quot;===s&amp;&amp;r&amp;&amp;!r.sprite?c.push(new i(e,o,'use of &quot;icon-image&quot; requires a style &quot;sprite&quot; property')):&quot;text-field&quot;===s&amp;&amp;r&amp;&amp;!r.glyphs&amp;&amp;c.push(new i(e,o,'use of &quot;text-field&quot; requires a style &quot;glyphs&quot; property'))),c.concat(n({key:t.key,value:o,valueSpec:t.valueSpec||l[s],style:r,styleSpec:a}))}return[new i(e,o,'unknown property &quot;%s&quot;',s)]}},{&quot;../error/validation_error&quot;:295,&quot;./validate&quot;:299}],310:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../util/get_type&quot;),i=t(&quot;../error/validation_error&quot;);e.exports=function(t){var e=t.key,r=t.value,a=t.valueSpec,o=n(r);return&quot;number&quot;!==o?[new i(e,r,&quot;number expected, %s found&quot;,o)]:&quot;minimum&quot;in a&amp;&amp;r&lt;a.minimum?[new i(e,r,&quot;%s is less than the minimum value %s&quot;,r,a.minimum)]:&quot;maximum&quot;in a&amp;&amp;r&gt;a.maximum?[new i(e,r,&quot;%s is greater than the maximum value %s&quot;,r,a.maximum)]:[]}},{&quot;../error/validation_error&quot;:295,&quot;../util/get_type&quot;:297}],311:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../error/validation_error&quot;),i=t(&quot;../util/get_type&quot;),a=t(&quot;./validate&quot;);e.exports=function(t){var e=t.key,r=t.value,o=t.valueSpec,s=t.objectElementValidators||{},l=t.style,c=t.styleSpec,u=[],f=i(r);if(&quot;object&quot;!==f)return[new n(e,r,&quot;object expected, %s found&quot;,f)];for(var h in r){var d=h.split(&quot;.&quot;)[0],p=o&amp;&amp;(o[d]||o[&quot;*&quot;]),m=s[d]||s[&quot;*&quot;];p||m?u=u.concat((m||a)({key:(e?e+&quot;.&quot;:e)+h,value:r[h],valueSpec:p,style:l,styleSpec:c,object:r,objectKey:h})):&quot;&quot;!==e&amp;&amp;1!==e.split(&quot;.&quot;).length&amp;&amp;u.push(new n(e,r[h],'unknown property &quot;%s&quot;',h))}for(d in o)o[d].required&amp;&amp;void 0===o[d].default&amp;&amp;void 0===r[d]&amp;&amp;u.push(new n(e,r,'missing required property &quot;%s&quot;',d));return u}},{&quot;../error/validation_error&quot;:295,&quot;../util/get_type&quot;:297,&quot;./validate&quot;:299}],312:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;./validate&quot;),i=t(&quot;../error/validation_error&quot;);e.exports=function(t){var e=t.key,r=t.style,a=t.styleSpec,o=t.value,s=t.objectKey,l=a[&quot;paint_&quot;+t.layerType],c=s.match(/^(.*)-transition$/);return c&amp;&amp;l[c[1]]&amp;&amp;l[c[1]].transition?n({key:e,value:o,valueSpec:a.transition,style:r,styleSpec:a}):t.valueSpec||l[s]?n({key:t.key,value:o,valueSpec:t.valueSpec||l[s],style:r,styleSpec:a}):[new i(e,o,'unknown property &quot;%s&quot;',s)]}},{&quot;../error/validation_error&quot;:295,&quot;./validate&quot;:299}],313:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../error/validation_error&quot;),i=t(&quot;../util/unbundle_jsonlint&quot;),a=t(&quot;./validate_object&quot;),o=t(&quot;./validate_enum&quot;);e.exports=function(t){var e=t.value,r=t.key,s=t.styleSpec,l=t.style;if(!e.type)return[new n(r,e,'&quot;type&quot; is required')];switch(i(e.type)){case&quot;vector&quot;:case&quot;raster&quot;:var c=[];if(c=c.concat(a({key:r,value:e,valueSpec:s.source_tile,style:t.style,styleSpec:s})),&quot;url&quot;in e)for(var u in e)[&quot;type&quot;,&quot;url&quot;,&quot;tileSize&quot;].indexOf(u)&lt;0&amp;&amp;c.push(new n(r+&quot;.&quot;+u,e[u],'a source with a &quot;url&quot; property may not include a &quot;%s&quot; property',u));return c;case&quot;geojson&quot;:return a({key:r,value:e,valueSpec:s.source_geojson,style:l,styleSpec:s});case&quot;video&quot;:return a({key:r,value:e,valueSpec:s.source_video,style:l,styleSpec:s});case&quot;image&quot;:return a({key:r,value:e,valueSpec:s.source_image,style:l,styleSpec:s});default:return o({key:r+&quot;.type&quot;,value:e.type,valueSpec:{values:[&quot;vector&quot;,&quot;raster&quot;,&quot;geojson&quot;,&quot;video&quot;,&quot;image&quot;]},style:l,styleSpec:s})}}},{&quot;../error/validation_error&quot;:295,&quot;../util/unbundle_jsonlint&quot;:298,&quot;./validate_enum&quot;:304,&quot;./validate_object&quot;:311}],314:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../util/get_type&quot;),i=t(&quot;../error/validation_error&quot;);e.exports=function(t){var e=t.value,r=t.key,a=n(e);return&quot;string&quot;!==a?[new i(r,e,&quot;string expected, %s found&quot;,a)]:[]}},{&quot;../error/validation_error&quot;:295,&quot;../util/get_type&quot;:297}],315:[function(t,e,r){&quot;use strict&quot;;function n(t,e){e=e||l;var r=[];return r=r.concat(s({key:&quot;&quot;,value:t,valueSpec:e.$root,styleSpec:e,style:t,objectElementValidators:{glyphs:c}})),e.$version&gt;7&amp;&amp;t.constants&amp;&amp;(r=r.concat(o({key:&quot;constants&quot;,value:t.constants,style:t,styleSpec:e}))),i(r)}function i(t){return[].concat(t).sort(function(t,e){return t.line-e.line})}function a(t){return function(){return i(t.apply(this,arguments))}}var o=t(&quot;./validate/validate_constants&quot;),s=t(&quot;./validate/validate&quot;),l=t(&quot;../reference/latest.min&quot;),c=t(&quot;./validate/validate_glyphs_url&quot;);n.source=a(t(&quot;./validate/validate_source&quot;)),n.layer=a(t(&quot;./validate/validate_layer&quot;)),n.filter=a(t(&quot;./validate/validate_filter&quot;)),n.paintProperty=a(t(&quot;./validate/validate_paint_property&quot;)),n.layoutProperty=a(t(&quot;./validate/validate_layout_property&quot;)),e.exports=n},{&quot;../reference/latest.min&quot;:316,&quot;./validate/validate&quot;:299,&quot;./validate/validate_constants&quot;:303,&quot;./validate/validate_filter&quot;:305,&quot;./validate/validate_glyphs_url&quot;:307,&quot;./validate/validate_layer&quot;:308,&quot;./validate/validate_layout_property&quot;:309,&quot;./validate/validate_paint_property&quot;:312,&quot;./validate/validate_source&quot;:313}],316:[function(t,e,r){e.exports=t(&quot;./v8.min.json&quot;)},{&quot;./v8.min.json&quot;:317}],317:[function(t,e,r){e.exports={$version:8,$root:{version:{required:!0,type:&quot;enum&quot;,values:[8]},name:{type:&quot;string&quot;},metadata:{type:&quot;*&quot;},center:{type:&quot;array&quot;,value:&quot;number&quot;},zoom:{type:&quot;number&quot;},bearing:{type:&quot;number&quot;,default:0,period:360,units:&quot;degrees&quot;},pitch:{type:&quot;number&quot;,default:0,units:&quot;degrees&quot;},sources:{required:!0,type:&quot;sources&quot;},sprite:{type:&quot;string&quot;},glyphs:{type:&quot;string&quot;},transition:{type:&quot;transition&quot;},layers:{required:!0,type:&quot;array&quot;,value:&quot;layer&quot;}},sources:{&quot;*&quot;:{type:&quot;source&quot;}},source:[&quot;source_tile&quot;,&quot;source_geojson&quot;,&quot;source_video&quot;,&quot;source_image&quot;],source_tile:{type:{required:!0,type:&quot;enum&quot;,values:[&quot;vector&quot;,&quot;raster&quot;]},url:{type:&quot;string&quot;},tiles:{type:&quot;array&quot;,value:&quot;string&quot;},minzoom:{type:&quot;number&quot;,default:0},maxzoom:{type:&quot;number&quot;,default:22},tileSize:{type:&quot;number&quot;,default:512,units:&quot;pixels&quot;},&quot;*&quot;:{type:&quot;*&quot;}},source_geojson:{type:{required:!0,type:&quot;enum&quot;,values:[&quot;geojson&quot;]},data:{type:&quot;*&quot;},maxzoom:{type:&quot;number&quot;,default:14},buffer:{type:&quot;number&quot;,default:64},tolerance:{type:&quot;number&quot;,default:3},cluster:{type:&quot;boolean&quot;,default:!1},clusterRadius:{type:&quot;number&quot;,default:400},clusterMaxZoom:{type:&quot;number&quot;}},source_video:{type:{required:!0,type:&quot;enum&quot;,values:[&quot;video&quot;]},urls:{required:!0,type:&quot;array&quot;,value:&quot;string&quot;},coordinates:{required:!0,type:&quot;array&quot;,length:4,value:{type:&quot;array&quot;,length:2,value:&quot;number&quot;}}},source_image:{type:{required:!0,type:&quot;enum&quot;,values:[&quot;image&quot;]},url:{required:!0,type:&quot;string&quot;},coordinates:{required:!0,type:&quot;array&quot;,length:4,value:{type:&quot;array&quot;,length:2,value:&quot;number&quot;}}},layer:{id:{type:&quot;string&quot;,required:!0},type:{type:&quot;enum&quot;,values:[&quot;fill&quot;,&quot;line&quot;,&quot;symbol&quot;,&quot;circle&quot;,&quot;raster&quot;,&quot;background&quot;]},metadata:{type:&quot;*&quot;},ref:{type:&quot;string&quot;},source:{type:&quot;string&quot;},&quot;source-layer&quot;:{type:&quot;string&quot;},minzoom:{type:&quot;number&quot;,minimum:0,maximum:22},maxzoom:{type:&quot;number&quot;,minimum:0,maximum:22},interactive:{type:&quot;boolean&quot;,default:!1},filter:{type:&quot;filter&quot;},layout:{type:&quot;layout&quot;},paint:{type:&quot;paint&quot;},&quot;paint.*&quot;:{type:&quot;paint&quot;}},layout:[&quot;layout_fill&quot;,&quot;layout_line&quot;,&quot;layout_circle&quot;,&quot;layout_symbol&quot;,&quot;layout_raster&quot;,&quot;layout_background&quot;],layout_background:{visibility:{type:&quot;enum&quot;,function:&quot;piecewise-constant&quot;,&quot;zoom-function&quot;:!0,values:[&quot;visible&quot;,&quot;none&quot;],default:&quot;visible&quot;}},layout_fill:{visibility:{type:&quot;enum&quot;,function:&quot;piecewise-constant&quot;,&quot;zoom-function&quot;:!0,values:[&quot;visible&quot;,&quot;none&quot;],default:&quot;visible&quot;}},layout_circle:{visibility:{type:&quot;enum&quot;,function:&quot;piecewise-constant&quot;,&quot;zoom-function&quot;:!0,values:[&quot;visible&quot;,&quot;none&quot;],default:&quot;visible&quot;}},layout_line:{&quot;line-cap&quot;:{type:&quot;enum&quot;,function:&quot;piecewise-constant&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,values:[&quot;butt&quot;,&quot;round&quot;,&quot;square&quot;],default:&quot;butt&quot;},&quot;line-join&quot;:{type:&quot;enum&quot;,function:&quot;piecewise-constant&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,values:[&quot;bevel&quot;,&quot;round&quot;,&quot;miter&quot;],default:&quot;miter&quot;},&quot;line-miter-limit&quot;:{type:&quot;number&quot;,default:2,function:&quot;interpolated&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,requires:[{&quot;line-join&quot;:&quot;miter&quot;}]},&quot;line-round-limit&quot;:{type:&quot;number&quot;,default:1.05,function:&quot;interpolated&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,requires:[{&quot;line-join&quot;:&quot;round&quot;}]},visibility:{type:&quot;enum&quot;,function:&quot;piecewise-constant&quot;,&quot;zoom-function&quot;:!0,values:[&quot;visible&quot;,&quot;none&quot;],default:&quot;visible&quot;}},layout_symbol:{&quot;symbol-placement&quot;:{type:&quot;enum&quot;,function:&quot;piecewise-constant&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,values:[&quot;point&quot;,&quot;line&quot;],default:&quot;point&quot;},&quot;symbol-spacing&quot;:{type:&quot;number&quot;,default:250,minimum:1,function:&quot;interpolated&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,units:&quot;pixels&quot;,requires:[{&quot;symbol-placement&quot;:&quot;line&quot;}]},&quot;symbol-avoid-edges&quot;:{type:&quot;boolean&quot;,function:&quot;piecewise-constant&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,default:!1},&quot;icon-allow-overlap&quot;:{type:&quot;boolean&quot;,function:&quot;piecewise-constant&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,default:!1,requires:[&quot;icon-image&quot;]},&quot;icon-ignore-placement&quot;:{type:&quot;boolean&quot;,function:&quot;piecewise-constant&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,default:!1,requires:[&quot;icon-image&quot;]},&quot;icon-optional&quot;:{type:&quot;boolean&quot;,function:&quot;piecewise-constant&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,default:!1,requires:[&quot;icon-image&quot;,&quot;text-field&quot;]},&quot;icon-rotation-alignment&quot;:{type:&quot;enum&quot;,function:&quot;piecewise-constant&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,values:[&quot;map&quot;,&quot;viewport&quot;],default:&quot;viewport&quot;,requires:[&quot;icon-image&quot;]},&quot;icon-size&quot;:{type:&quot;number&quot;,default:1,minimum:0,function:&quot;interpolated&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,requires:[&quot;icon-image&quot;]},&quot;icon-text-fit&quot;:{type:&quot;enum&quot;,function:&quot;piecewise-constant&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!1,values:[&quot;none&quot;,&quot;both&quot;,&quot;width&quot;,&quot;height&quot;],default:&quot;none&quot;,requires:[&quot;icon-image&quot;,&quot;text-field&quot;]},&quot;icon-text-fit-padding&quot;:{type:&quot;array&quot;,value:&quot;number&quot;,length:4,default:[0,0,0,0],units:&quot;pixels&quot;,function:&quot;interpolated&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,requires:[&quot;icon-image&quot;,&quot;icon-text-fit&quot;,&quot;text-field&quot;]},&quot;icon-image&quot;:{type:&quot;string&quot;,function:&quot;piecewise-constant&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,tokens:!0},&quot;icon-rotate&quot;:{type:&quot;number&quot;,default:0,period:360,function:&quot;interpolated&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,units:&quot;degrees&quot;,requires:[&quot;icon-image&quot;]},&quot;icon-padding&quot;:{type:&quot;number&quot;,default:2,minimum:0,function:&quot;interpolated&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,units:&quot;pixels&quot;,requires:[&quot;icon-image&quot;]},&quot;icon-keep-upright&quot;:{type:&quot;boolean&quot;,function:&quot;piecewise-constant&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,default:!1,requires:[&quot;icon-image&quot;,{&quot;icon-rotation-alignment&quot;:&quot;map&quot;},{&quot;symbol-placement&quot;:&quot;line&quot;}]},&quot;icon-offset&quot;:{type:&quot;array&quot;,value:&quot;number&quot;,length:2,default:[0,0],function:&quot;interpolated&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,requires:[&quot;icon-image&quot;]},&quot;text-pitch-alignment&quot;:{type:&quot;enum&quot;,function:&quot;piecewise-constant&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,values:[&quot;map&quot;,&quot;viewport&quot;],requires:[&quot;text-field&quot;]},&quot;text-rotation-alignment&quot;:{type:&quot;enum&quot;,function:&quot;piecewise-constant&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,values:[&quot;map&quot;,&quot;viewport&quot;],default:&quot;viewport&quot;,requires:[&quot;text-field&quot;]},&quot;text-field&quot;:{type:&quot;string&quot;,function:&quot;piecewise-constant&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,default:&quot;&quot;,tokens:!0},&quot;text-font&quot;:{type:&quot;array&quot;,value:&quot;string&quot;,function:&quot;piecewise-constant&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,default:[&quot;Open Sans Regular&quot;,&quot;Arial Unicode MS Regular&quot;],requires:[&quot;text-field&quot;]},&quot;text-size&quot;:{type:&quot;number&quot;,default:16,minimum:0,units:&quot;pixels&quot;,function:&quot;interpolated&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,requires:[&quot;text-field&quot;]},&quot;text-max-width&quot;:{type:&quot;number&quot;,default:10,minimum:0,units:&quot;em&quot;,function:&quot;interpolated&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,requires:[&quot;text-field&quot;]},&quot;text-line-height&quot;:{type:&quot;number&quot;,default:1.2,units:&quot;em&quot;,function:&quot;interpolated&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,requires:[&quot;text-field&quot;]},&quot;text-letter-spacing&quot;:{type:&quot;number&quot;,default:0,units:&quot;em&quot;,function:&quot;interpolated&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,requires:[&quot;text-field&quot;]},&quot;text-justify&quot;:{type:&quot;enum&quot;,function:&quot;piecewise-constant&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,values:[&quot;left&quot;,&quot;center&quot;,&quot;right&quot;],default:&quot;center&quot;,requires:[&quot;text-field&quot;]},&quot;text-anchor&quot;:{type:&quot;enum&quot;,function:&quot;piecewise-constant&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,values:[&quot;center&quot;,&quot;left&quot;,&quot;right&quot;,&quot;top&quot;,&quot;bottom&quot;,&quot;top-left&quot;,&quot;top-right&quot;,&quot;bottom-left&quot;,&quot;bottom-right&quot;],default:&quot;center&quot;,requires:[&quot;text-field&quot;]},&quot;text-max-angle&quot;:{type:&quot;number&quot;,default:45,units:&quot;degrees&quot;,function:&quot;interpolated&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,requires:[&quot;text-field&quot;,{&quot;symbol-placement&quot;:&quot;line&quot;}]},&quot;text-rotate&quot;:{type:&quot;number&quot;,default:0,period:360,units:&quot;degrees&quot;,function:&quot;interpolated&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,requires:[&quot;text-field&quot;]},&quot;text-padding&quot;:{type:&quot;number&quot;,default:2,minimum:0,units:&quot;pixels&quot;,function:&quot;interpolated&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,requires:[&quot;text-field&quot;]},&quot;text-keep-upright&quot;:{type:&quot;boolean&quot;,function:&quot;piecewise-constant&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,default:!0,requires:[&quot;text-field&quot;,{&quot;text-rotation-alignment&quot;:&quot;map&quot;},{&quot;symbol-placement&quot;:&quot;line&quot;}]},&quot;text-transform&quot;:{type:&quot;enum&quot;,function:&quot;piecewise-constant&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,values:[&quot;none&quot;,&quot;uppercase&quot;,&quot;lowercase&quot;],default:&quot;none&quot;,requires:[&quot;text-field&quot;]},&quot;text-offset&quot;:{type:&quot;array&quot;,value:&quot;number&quot;,units:&quot;ems&quot;,function:&quot;interpolated&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,length:2,default:[0,0],requires:[&quot;text-field&quot;]},&quot;text-allow-overlap&quot;:{type:&quot;boolean&quot;,function:&quot;piecewise-constant&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,default:!1,requires:[&quot;text-field&quot;]},&quot;text-ignore-placement&quot;:{type:&quot;boolean&quot;,function:&quot;piecewise-constant&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,default:!1,requires:[&quot;text-field&quot;]},&quot;text-optional&quot;:{type:&quot;boolean&quot;,function:&quot;piecewise-constant&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,default:!1,requires:[&quot;text-field&quot;,&quot;icon-image&quot;]},visibility:{type:&quot;enum&quot;,function:&quot;piecewise-constant&quot;,&quot;zoom-function&quot;:!0,values:[&quot;visible&quot;,&quot;none&quot;],default:&quot;visible&quot;}},layout_raster:{visibility:{type:&quot;enum&quot;,function:&quot;piecewise-constant&quot;,&quot;zoom-function&quot;:!0,values:[&quot;visible&quot;,&quot;none&quot;],default:&quot;visible&quot;}},filter:{type:&quot;array&quot;,value:&quot;*&quot;},filter_operator:{type:&quot;enum&quot;,values:[&quot;==&quot;,&quot;!=&quot;,&quot;&gt;&quot;,&quot;&gt;=&quot;,&quot;&lt;&quot;,&quot;&lt;=&quot;,&quot;in&quot;,&quot;!in&quot;,&quot;all&quot;,&quot;any&quot;,&quot;none&quot;,&quot;has&quot;,&quot;!has&quot;]},geometry_type:{type:&quot;enum&quot;,values:[&quot;Point&quot;,&quot;LineString&quot;,&quot;Polygon&quot;]},color_operation:{type:&quot;enum&quot;,values:[&quot;lighten&quot;,&quot;saturate&quot;,&quot;spin&quot;,&quot;fade&quot;,&quot;mix&quot;]},function:{stops:{type:&quot;array&quot;,required:!0,value:&quot;function_stop&quot;},base:{type:&quot;number&quot;,default:1,minimum:0},property:{type:&quot;string&quot;,default:&quot;$zoom&quot;},type:{type:&quot;enum&quot;,values:[&quot;exponential&quot;,&quot;interval&quot;,&quot;categorical&quot;],default:&quot;exponential&quot;}},function_stop:{type:&quot;array&quot;,minimum:0,maximum:22,value:[&quot;number&quot;,&quot;color&quot;],length:2},paint:[&quot;paint_fill&quot;,&quot;paint_line&quot;,&quot;paint_circle&quot;,&quot;paint_symbol&quot;,&quot;paint_raster&quot;,&quot;paint_background&quot;],paint_fill:{&quot;fill-antialias&quot;:{type:&quot;boolean&quot;,function:&quot;piecewise-constant&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,default:!0},&quot;fill-opacity&quot;:{type:&quot;number&quot;,function:&quot;interpolated&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,default:1,minimum:0,maximum:1,transition:!0},&quot;fill-color&quot;:{type:&quot;color&quot;,default:&quot;#000000&quot;,function:&quot;interpolated&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,transition:!0,requires:[{&quot;!&quot;:&quot;fill-pattern&quot;}]},&quot;fill-outline-color&quot;:{type:&quot;color&quot;,function:&quot;interpolated&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,transition:!0,requires:[{&quot;!&quot;:&quot;fill-pattern&quot;},{&quot;fill-antialias&quot;:!0}]},&quot;fill-translate&quot;:{type:&quot;array&quot;,value:&quot;number&quot;,length:2,default:[0,0],function:&quot;interpolated&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,transition:!0,units:&quot;pixels&quot;},&quot;fill-translate-anchor&quot;:{type:&quot;enum&quot;,function:&quot;piecewise-constant&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,values:[&quot;map&quot;,&quot;viewport&quot;],default:&quot;map&quot;,requires:[&quot;fill-translate&quot;]},&quot;fill-pattern&quot;:{type:&quot;string&quot;,function:&quot;piecewise-constant&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,transition:!0}},paint_line:{&quot;line-opacity&quot;:{type:&quot;number&quot;,function:&quot;interpolated&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,default:1,minimum:0,maximum:1,transition:!0},&quot;line-color&quot;:{type:&quot;color&quot;,default:&quot;#000000&quot;,function:&quot;interpolated&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,transition:!0,requires:[{&quot;!&quot;:&quot;line-pattern&quot;}]},&quot;line-translate&quot;:{type:&quot;array&quot;,value:&quot;number&quot;,length:2,default:[0,0],function:&quot;interpolated&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,transition:!0,units:&quot;pixels&quot;},&quot;line-translate-anchor&quot;:{type:&quot;enum&quot;,function:&quot;piecewise-constant&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,values:[&quot;map&quot;,&quot;viewport&quot;],default:&quot;map&quot;,requires:[&quot;line-translate&quot;]},&quot;line-width&quot;:{type:&quot;number&quot;,default:1,minimum:0,function:&quot;interpolated&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,transition:!0,units:&quot;pixels&quot;},&quot;line-gap-width&quot;:{type:&quot;number&quot;,default:0,minimum:0,function:&quot;interpolated&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,transition:!0,units:&quot;pixels&quot;},&quot;line-offset&quot;:{type:&quot;number&quot;,default:0,function:&quot;interpolated&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,transition:!0,units:&quot;pixels&quot;},&quot;line-blur&quot;:{type:&quot;number&quot;,default:0,minimum:0,function:&quot;interpolated&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,transition:!0,units:&quot;pixels&quot;},&quot;line-dasharray&quot;:{type:&quot;array&quot;,value:&quot;number&quot;,function:&quot;piecewise-constant&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,minimum:0,transition:!0,units:&quot;line widths&quot;,requires:[{&quot;!&quot;:&quot;line-pattern&quot;}]},&quot;line-pattern&quot;:{type:&quot;string&quot;,function:&quot;piecewise-constant&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,transition:!0}},paint_circle:{&quot;circle-radius&quot;:{type:&quot;number&quot;,default:5,minimum:0,function:&quot;interpolated&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,transition:!0,units:&quot;pixels&quot;},&quot;circle-color&quot;:{type:&quot;color&quot;,default:&quot;#000000&quot;,function:&quot;interpolated&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,transition:!0},&quot;circle-blur&quot;:{type:&quot;number&quot;,default:0,function:&quot;interpolated&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,transition:!0},&quot;circle-opacity&quot;:{type:&quot;number&quot;,default:1,minimum:0,maximum:1,function:&quot;interpolated&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,transition:!0},&quot;circle-translate&quot;:{type:&quot;array&quot;,value:&quot;number&quot;,length:2,default:[0,0],function:&quot;interpolated&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,transition:!0,units:&quot;pixels&quot;},&quot;circle-translate-anchor&quot;:{type:&quot;enum&quot;,function:&quot;piecewise-constant&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,values:[&quot;map&quot;,&quot;viewport&quot;],default:&quot;map&quot;,requires:[&quot;circle-translate&quot;]},&quot;circle-pitch-scale&quot;:{type:&quot;enum&quot;,function:&quot;piecewise-constant&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,values:[&quot;map&quot;,&quot;viewport&quot;],default:&quot;map&quot;}},paint_symbol:{&quot;icon-opacity&quot;:{type:&quot;number&quot;,default:1,minimum:0,maximum:1,function:&quot;interpolated&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,transition:!0,requires:[&quot;icon-image&quot;]},&quot;icon-color&quot;:{type:&quot;color&quot;,default:&quot;#000000&quot;,function:&quot;interpolated&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,transition:!0,requires:[&quot;icon-image&quot;]},&quot;icon-halo-color&quot;:{type:&quot;color&quot;,default:&quot;rgba(0, 0, 0, 0)&quot;,function:&quot;interpolated&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,transition:!0,requires:[&quot;icon-image&quot;]},&quot;icon-halo-width&quot;:{type:&quot;number&quot;,default:0,minimum:0,function:&quot;interpolated&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,transition:!0,units:&quot;pixels&quot;,requires:[&quot;icon-image&quot;]},&quot;icon-halo-blur&quot;:{type:&quot;number&quot;,default:0,minimum:0,function:&quot;interpolated&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,transition:!0,units:&quot;pixels&quot;,requires:[&quot;icon-image&quot;]},&quot;icon-translate&quot;:{type:&quot;array&quot;,value:&quot;number&quot;,length:2,default:[0,0],function:&quot;interpolated&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,transition:!0,units:&quot;pixels&quot;,requires:[&quot;icon-image&quot;]},&quot;icon-translate-anchor&quot;:{type:&quot;enum&quot;,function:&quot;piecewise-constant&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,values:[&quot;map&quot;,&quot;viewport&quot;],default:&quot;map&quot;,requires:[&quot;icon-image&quot;,&quot;icon-translate&quot;]},&quot;text-opacity&quot;:{type:&quot;number&quot;,default:1,minimum:0,maximum:1,function:&quot;interpolated&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,transition:!0,requires:[&quot;text-field&quot;]},&quot;text-color&quot;:{type:&quot;color&quot;,default:&quot;#000000&quot;,function:&quot;interpolated&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,transition:!0,requires:[&quot;text-field&quot;]},&quot;text-halo-color&quot;:{type:&quot;color&quot;,default:&quot;rgba(0, 0, 0, 0)&quot;,function:&quot;interpolated&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,transition:!0,requires:[&quot;text-field&quot;]},&quot;text-halo-width&quot;:{type:&quot;number&quot;,default:0,minimum:0,function:&quot;interpolated&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,transition:!0,units:&quot;pixels&quot;,requires:[&quot;text-field&quot;]},&quot;text-halo-blur&quot;:{type:&quot;number&quot;,default:0,minimum:0,function:&quot;interpolated&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,transition:!0,units:&quot;pixels&quot;,requires:[&quot;text-field&quot;]},&quot;text-translate&quot;:{type:&quot;array&quot;,value:&quot;number&quot;,length:2,default:[0,0],function:&quot;interpolated&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,transition:!0,units:&quot;pixels&quot;,requires:[&quot;text-field&quot;]},&quot;text-translate-anchor&quot;:{type:&quot;enum&quot;,function:&quot;piecewise-constant&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,values:[&quot;map&quot;,&quot;viewport&quot;],default:&quot;map&quot;,requires:[&quot;text-field&quot;,&quot;text-translate&quot;]}},paint_raster:{&quot;raster-opacity&quot;:{type:&quot;number&quot;,default:1,minimum:0,maximum:1,function:&quot;interpolated&quot;,&quot;zoom-function&quot;:!0,transition:!0},&quot;raster-hue-rotate&quot;:{type:&quot;number&quot;,default:0,period:360,function:&quot;interpolated&quot;,&quot;zoom-function&quot;:!0,transition:!0,units:&quot;degrees&quot;},&quot;raster-brightness-min&quot;:{type:&quot;number&quot;,function:&quot;interpolated&quot;,&quot;zoom-function&quot;:!0,default:0,minimum:0,maximum:1,transition:!0},&quot;raster-brightness-max&quot;:{type:&quot;number&quot;,function:&quot;interpolated&quot;,&quot;zoom-function&quot;:!0,default:1,minimum:0,maximum:1,transition:!0},&quot;raster-saturation&quot;:{type:&quot;number&quot;,default:0,minimum:-1,maximum:1,function:&quot;interpolated&quot;,&quot;zoom-function&quot;:!0,transition:!0},&quot;raster-contrast&quot;:{type:&quot;number&quot;,default:0,minimum:-1,maximum:1,function:&quot;interpolated&quot;,&quot;zoom-function&quot;:!0,transition:!0},&quot;raster-fade-duration&quot;:{type:&quot;number&quot;,default:300,minimum:0,function:&quot;interpolated&quot;,&quot;zoom-function&quot;:!0,transition:!0,units:&quot;milliseconds&quot;}},paint_background:{&quot;background-color&quot;:{type:&quot;color&quot;,default:&quot;#000000&quot;,function:&quot;interpolated&quot;,&quot;zoom-function&quot;:!0,transition:!0,requires:[{&quot;!&quot;:&quot;background-pattern&quot;}]},&quot;background-pattern&quot;:{type:&quot;string&quot;,function:&quot;piecewise-constant&quot;,&quot;zoom-function&quot;:!0,transition:!0},&quot;background-opacity&quot;:{type:&quot;number&quot;,default:1,minimum:0,maximum:1,function:&quot;interpolated&quot;,&quot;zoom-function&quot;:!0,transition:!0}},transition:{duration:{type:&quot;number&quot;,default:300,minimum:0,units:&quot;milliseconds&quot;},delay:{type:&quot;number&quot;,default:0,minimum:0,units:&quot;milliseconds&quot;}}}},{}],318:[function(t,e,r){&quot;use strict&quot;;function n(t){return!!(&quot;undefined&quot;!=typeof window&amp;&amp;&quot;undefined&quot;!=typeof document&amp;&amp;Array.prototype&amp;&amp;Array.prototype.every&amp;&amp;Array.prototype.filter&amp;&amp;Array.prototype.forEach&amp;&amp;Array.prototype.indexOf&amp;&amp;Array.prototype.lastIndexOf&amp;&amp;Array.prototype.map&amp;&amp;Array.prototype.some&amp;&amp;Array.prototype.reduce&amp;&amp;Array.prototype.reduceRight&amp;&amp;Array.isArray&amp;&amp;Function.prototype&amp;&amp;Function.prototype.bind&amp;&amp;Object.keys&amp;&amp;Object.create&amp;&amp;Object.getPrototypeOf&amp;&amp;Object.getOwnPropertyNames&amp;&amp;Object.isSealed&amp;&amp;Object.isFrozen&amp;&amp;Object.isExtensible&amp;&amp;Object.getOwnPropertyDescriptor&amp;&amp;Object.defineProperty&amp;&amp;Object.defineProperties&amp;&amp;Object.seal&amp;&amp;Object.freeze&amp;&amp;Object.preventExtensions&amp;&amp;&quot;JSON&quot;in window&amp;&amp;&quot;parse&quot;in JSON&amp;&amp;&quot;stringify&quot;in JSON&amp;&amp;&quot;Worker&quot;in window&amp;&amp;&quot;Uint8ClampedArray&quot;in window&amp;&amp;function(t){void 0===i[t]&amp;&amp;(i[t]=function(t){var e=document.createElement(&quot;canvas&quot;),r=Object.create(n.webGLContextAttributes);return r.failIfMajorPerformanceCaveat=t,e.probablySupportsContext?e.probablySupportsContext(&quot;webgl&quot;,r)||e.probablySupportsContext(&quot;experimental-webgl&quot;,r):e.supportsContext?e.supportsContext(&quot;webgl&quot;,r)||e.supportsContext(&quot;experimental-webgl&quot;,r):e.getContext(&quot;webgl&quot;,r)||e.getContext(&quot;experimental-webgl&quot;,r)}(t));return i[t]}(t&amp;&amp;t.failIfMajorPerformanceCaveat))}void 0!==e&amp;&amp;e.exports?e.exports=n:window&amp;&amp;(window.mapboxgl=window.mapboxgl||{},window.mapboxgl.supported=n);var i={};n.webGLContextAttributes={antialias:!1,alpha:!0,stencil:!0,depth:!0}},{}],319:[function(t,e,r){&quot;use strict&quot;;function n(t){var e=t.layoutVertexArrayType;this.layoutVertexArray=new e;var r=t.elementArrayType;r&amp;&amp;(this.elementArray=new r);var n=t.elementArrayType2;n&amp;&amp;(this.elementArray2=new n),this.paintVertexArrays=i.mapObject(t.paintVertexArrayTypes,function(t){return new t})}var i=t(&quot;../util/util&quot;);e.exports=n,n.MAX_VERTEX_ARRAY_LENGTH=Math.pow(2,16)-1,n.prototype.hasCapacityFor=function(t){return this.layoutVertexArray.length+t&lt;=n.MAX_VERTEX_ARRAY_LENGTH},n.prototype.isEmpty=function(){return 0===this.layoutVertexArray.length},n.prototype.trim=function(){this.layoutVertexArray.trim(),this.elementArray&amp;&amp;this.elementArray.trim(),this.elementArray2&amp;&amp;this.elementArray2.trim();for(var t in this.paintVertexArrays)this.paintVertexArrays[t].trim()},n.prototype.serialize=function(){return{layoutVertexArray:this.layoutVertexArray.serialize(),elementArray:this.elementArray&amp;&amp;this.elementArray.serialize(),elementArray2:this.elementArray2&amp;&amp;this.elementArray2.serialize(),paintVertexArrays:i.mapObject(this.paintVertexArrays,function(t){return t.serialize()})}},n.prototype.getTransferables=function(t){t.push(this.layoutVertexArray.arrayBuffer),this.elementArray&amp;&amp;t.push(this.elementArray.arrayBuffer),this.elementArray2&amp;&amp;t.push(this.elementArray2.arrayBuffer);for(var e in this.paintVertexArrays)t.push(this.paintVertexArrays[e].arrayBuffer)}},{&quot;../util/util&quot;:433}],320:[function(t,e,r){&quot;use strict&quot;;function n(t){if(this.zoom=t.zoom,this.overscaling=t.overscaling,this.layer=t.layer,this.childLayers=t.childLayers,this.type=this.layer.type,this.features=[],this.id=this.layer.id,this.index=t.index,this.sourceLayer=this.layer.sourceLayer,this.sourceLayerIndex=t.sourceLayerIndex,this.minZoom=this.layer.minzoom,this.maxZoom=this.layer.maxzoom,this.paintAttributes=function(t){var e={};for(var r in t.programInterfaces){for(var n=e[r]={},a=0;a&lt;t.childLayers.length;a++){var o=t.childLayers[a];n[o.id]={attributes:[],uniforms:[],defines:[],vertexPragmas:{define:{},initialize:{}},fragmentPragmas:{define:{},initialize:{}}}}var s=t.programInterfaces[r];if(s.paintAttributes)for(var c=&quot;{precision}&quot;,f=&quot;{type}&quot;,h=0;h&lt;s.paintAttributes.length;h++){var d=s.paintAttributes[h];d.multiplier=d.multiplier||1;for(var p=0;p&lt;t.childLayers.length;p++){var m=t.childLayers[p],g=n[m.id],v=d.name;u(&quot;a_&quot;===d.name.slice(0,2));var y,x=d.name.slice(2);if(g.fragmentPragmas.initialize[x]=&quot;&quot;,m.isPaintValueFeatureConstant(d.paintProperty))g.uniforms.push(d),g.fragmentPragmas.define[x]=g.vertexPragmas.define[x]=[&quot;uniform&quot;,c,f,v].join(&quot; &quot;)+&quot;;&quot;,g.fragmentPragmas.initialize[x]=g.vertexPragmas.initialize[x]=[c,f,x,&quot;=&quot;,v].join(&quot; &quot;)+&quot;;\n&quot;;else if(m.isPaintValueZoomConstant(d.paintProperty)){g.attributes.push(l.extend({},d,{name:v})),y=[&quot;varying&quot;,c,f,x].join(&quot; &quot;)+&quot;;\n&quot;;var b=[g.fragmentPragmas.define[x],&quot;attribute&quot;,c,f,v].join(&quot; &quot;)+&quot;;\n&quot;;g.fragmentPragmas.define[x]=y,g.vertexPragmas.define[x]=y+b,g.vertexPragmas.initialize[x]=[x,&quot;=&quot;,v,&quot;/&quot;,d.multiplier.toFixed(1)].join(&quot; &quot;)+&quot;;\n&quot;}else{for(var _=&quot;u_&quot;+v.slice(2)+&quot;_t&quot;,w=m.getPaintValueStopZoomLevels(d.paintProperty),M=0;M&lt;w.length&amp;&amp;w[M]&lt;t.zoom;)M++;for(var k=Math.max(0,Math.min(w.length-4,M-2)),A=[],T=0;T&lt;4;T++)A.push(w[Math.min(k+T,w.length-1)]);y=[&quot;varying&quot;,c,f,x].join(&quot; &quot;)+&quot;;\n&quot;,g.vertexPragmas.define[x]=y+[&quot;uniform&quot;,&quot;lowp&quot;,&quot;float&quot;,_].join(&quot; &quot;)+&quot;;\n&quot;,g.fragmentPragmas.define[x]=y,g.uniforms.push(l.extend({},d,{name:_,getValue:function(t,e){return function(r,n){var i=r.getPaintInterpolationT(t.paintProperty,n.zoom);return[Math.max(0,Math.min(4,i-e))]}}(d,k),components:1}));var S=d.components;if(1===S)g.attributes.push(l.extend({},d,{getValue:i(d,A),isFunction:!0,components:4*S})),g.vertexPragmas.define[x]+=[&quot;attribute&quot;,c,&quot;vec4&quot;,v].join(&quot; &quot;)+&quot;;\n&quot;,g.vertexPragmas.initialize[x]=[x,&quot;=&quot;,&quot;evaluate_zoom_function_1(&quot;+v+&quot;, &quot;+_+&quot;)&quot;,&quot;/&quot;,d.multiplier.toFixed(1)].join(&quot; &quot;)+&quot;;\n&quot;;else{for(var E=[],L=0;L&lt;4;L++)E.push(v+L),g.attributes.push(l.extend({},d,{getValue:i(d,[A[L]]),isFunction:!0,name:v+L})),g.vertexPragmas.define[x]+=[&quot;attribute&quot;,c,f,v+L].join(&quot; &quot;)+&quot;;\n&quot;;g.vertexPragmas.initialize[x]=[x,&quot; = &quot;,&quot;evaluate_zoom_function_4(&quot;+E.join(&quot;, &quot;)+&quot;, &quot;+_+&quot;)&quot;,&quot;/&quot;,d.multiplier.toFixed(1)].join(&quot; &quot;)+&quot;;\n&quot;}}}}}return e}(this),t.arrays){var e=this.programInterfaces;this.bufferGroups=l.mapObject(t.arrays,function(r,n){var i=e[n],a=t.paintVertexArrayTypes[n];return r.map(function(t){return new s(t,{layoutVertexArrayType:i.layoutVertexArrayType.serialize(),elementArrayType:i.elementArrayType&amp;&amp;i.elementArrayType.serialize(),elementArrayType2:i.elementArrayType2&amp;&amp;i.elementArrayType2.serialize(),paintVertexArrayTypes:a})})})}}function i(t,e){return function(r,n,i){if(1===e.length)return t.getValue(r,l.extend({},n,{zoom:e[0]}),i);for(var a=[],o=0;o&lt;e.length;o++){var s=e[o];a.push(t.getValue(r,l.extend({},n,{zoom:s}),i)[0])}return a}}var a=t(&quot;feature-filter&quot;),o=t(&quot;./array_group&quot;),s=t(&quot;./buffer_group&quot;),l=t(&quot;../util/util&quot;),c=t(&quot;../util/struct_array&quot;),u=t(&quot;assert&quot;);e.exports=n,n.create=function(e){return new({fill:t(&quot;./bucket/fill_bucket&quot;),line:t(&quot;./bucket/line_bucket&quot;),circle:t(&quot;./bucket/circle_bucket&quot;),symbol:t(&quot;./bucket/symbol_bucket&quot;)}[e.layer.type])(e)},n.EXTENT=8192,n.prototype.populateArrays=function(){this.createArrays(),this.recalculateStyleLayers();for(var t=0;t&lt;this.features.length;t++)this.addFeature(this.features[t]);this.trimArrays()},n.prototype.prepareArrayGroup=function(t,e){var r=this.arrayGroups[t],n=r.length&amp;&amp;r[r.length-1];return n&amp;&amp;n.hasCapacityFor(e)||((n=new o({layoutVertexArrayType:this.programInterfaces[t].layoutVertexArrayType,elementArrayType:this.programInterfaces[t].elementArrayType,elementArrayType2:this.programInterfaces[t].elementArrayType2,paintVertexArrayTypes:this.paintVertexArrayTypes[t]})).index=r.length,r.push(n)),n},n.prototype.createArrays=function(){this.arrayGroups={},this.paintVertexArrayTypes={};for(var t in this.programInterfaces){this.arrayGroups[t]=[];var e=this.paintVertexArrayTypes[t]={},r=this.paintAttributes[t];for(var i in r)e[i]=new n.VertexArrayType(r[i].attributes)}},n.prototype.destroy=function(t){for(var e in this.bufferGroups)for(var r=this.bufferGroups[e],n=0;n&lt;r.length;n++)r[n].destroy(t)},n.prototype.trimArrays=function(){for(var t in this.arrayGroups)for(var e=this.arrayGroups[t],r=0;r&lt;e.length;r++)e[r].trim()},n.prototype.isEmpty=function(){for(var t in this.arrayGroups)for(var e=this.arrayGroups[t],r=0;r&lt;e.length;r++)if(!e[r].isEmpty())return!1;return!0},n.prototype.getTransferables=function(t){for(var e in this.arrayGroups)for(var r=this.arrayGroups[e],n=0;n&lt;r.length;n++)r[n].getTransferables(t)},n.prototype.setUniforms=function(t,e,r,n,i){for(var a=this.paintAttributes[e][n.id].uniforms,o=0;o&lt;a.length;o++){var s=a[o],l=r[s.name];t[&quot;uniform&quot;+s.components+&quot;fv&quot;](l,s.getValue(n,i))}},n.prototype.serialize=function(){return{layerId:this.layer.id,zoom:this.zoom,arrays:l.mapObject(this.arrayGroups,function(t){return t.map(function(t){return t.serialize()})}),paintVertexArrayTypes:l.mapObject(this.paintVertexArrayTypes,function(t){return l.mapObject(t,function(t){return t.serialize()})}),childLayerIds:this.childLayers.map(function(t){return t.id})}},n.prototype.createFilter=function(){this.filter||(this.filter=a(this.layer.filter))};var f={lastIntegerZoom:1/0,lastIntegerZoomTime:0,lastZoom:0};n.prototype.recalculateStyleLayers=function(){for(var t=0;t&lt;this.childLayers.length;t++)this.childLayers[t].recalculate(this.zoom,f)},n.prototype.populatePaintArrays=function(t,e,r,n,i){for(var a=0;a&lt;this.childLayers.length;a++)for(var o=this.childLayers[a],s=this.arrayGroups[t],l=n.index;l&lt;s.length;l++){var c=s[l],u=c.layoutVertexArray.length,f=c.paintVertexArrays[o.id];f.resize(u);for(var h=this.paintAttributes[t][o.id].attributes,d=0;d&lt;h.length;d++)for(var p=h[d],m=p.getValue(o,e,r),g=p.multiplier||1,v=p.components||1,y=l===n.index?i:0;y&lt;u;y++)for(var x=f.get(y),b=0;b&lt;v;b++){x[v&gt;1?p.name+b:p.name]=m[b]*g}}},n.VertexArrayType=function(t){return new c({members:t,alignment:4})},n.ElementArrayType=function(t){return new c({members:[{type:&quot;Uint16&quot;,name:&quot;vertices&quot;,components:t||3}]})}},{&quot;../util/struct_array&quot;:431,&quot;../util/util&quot;:433,&quot;./array_group&quot;:319,&quot;./bucket/circle_bucket&quot;:321,&quot;./bucket/fill_bucket&quot;:322,&quot;./bucket/line_bucket&quot;:323,&quot;./bucket/symbol_bucket&quot;:324,&quot;./buffer_group&quot;:326,assert:51,&quot;feature-filter&quot;:141}],321:[function(t,e,r){&quot;use strict&quot;;function n(){i.apply(this,arguments)}var i=t(&quot;../bucket&quot;),a=t(&quot;../../util/util&quot;),o=t(&quot;../load_geometry&quot;),s=i.EXTENT;e.exports=n,(n.prototype=a.inherit(i,{})).addCircleVertex=function(t,e,r,n,i){return t.emplaceBack(2*e+(n+1)/2,2*r+(i+1)/2)},n.prototype.programInterfaces={circle:{layoutVertexArrayType:new i.VertexArrayType([{name:&quot;a_pos&quot;,components:2,type:&quot;Int16&quot;}]),elementArrayType:new i.ElementArrayType,paintAttributes:[{name:&quot;a_color&quot;,components:4,type:&quot;Uint8&quot;,getValue:function(t,e,r){return t.getPaintValue(&quot;circle-color&quot;,e,r)},multiplier:255,paintProperty:&quot;circle-color&quot;},{name:&quot;a_radius&quot;,components:1,type:&quot;Uint16&quot;,isLayerConstant:!1,getValue:function(t,e,r){return[t.getPaintValue(&quot;circle-radius&quot;,e,r)]},multiplier:10,paintProperty:&quot;circle-radius&quot;},{name:&quot;a_blur&quot;,components:1,type:&quot;Uint16&quot;,isLayerConstant:!1,getValue:function(t,e,r){return[t.getPaintValue(&quot;circle-blur&quot;,e,r)]},multiplier:10,paintProperty:&quot;circle-blur&quot;},{name:&quot;a_opacity&quot;,components:1,type:&quot;Uint16&quot;,isLayerConstant:!1,getValue:function(t,e,r){return[t.getPaintValue(&quot;circle-opacity&quot;,e,r)]},multiplier:255,paintProperty:&quot;circle-opacity&quot;}]}},n.prototype.addFeature=function(t){for(var e={zoom:this.zoom},r=o(t),n=this.prepareArrayGroup(&quot;circle&quot;,0),i=n.layoutVertexArray.length,a=0;a&lt;r.length;a++)for(var l=0;l&lt;r[a].length;l++){var c=r[a][l].x,u=r[a][l].y;if(!(c&lt;0||c&gt;=s||u&lt;0||u&gt;=s)){var f=this.prepareArrayGroup(&quot;circle&quot;,4),h=f.layoutVertexArray,d=this.addCircleVertex(h,c,u,-1,-1);this.addCircleVertex(h,c,u,1,-1),this.addCircleVertex(h,c,u,1,1),this.addCircleVertex(h,c,u,-1,1),f.elementArray.emplaceBack(d,d+1,d+2),f.elementArray.emplaceBack(d,d+3,d+2)}}this.populatePaintArrays(&quot;circle&quot;,e,t.properties,n,i)}},{&quot;../../util/util&quot;:433,&quot;../bucket&quot;:320,&quot;../load_geometry&quot;:328}],322:[function(t,e,r){&quot;use strict&quot;;function n(){i.apply(this,arguments)}var i=t(&quot;../bucket&quot;),a=t(&quot;../../util/util&quot;),o=t(&quot;../load_geometry&quot;),s=t(&quot;earcut&quot;),l=t(&quot;../../util/classify_rings&quot;);e.exports=n,(n.prototype=a.inherit(i,{})).programInterfaces={fill:{layoutVertexArrayType:new i.VertexArrayType([{name:&quot;a_pos&quot;,components:2,type:&quot;Int16&quot;}]),elementArrayType:new i.ElementArrayType(1),elementArrayType2:new i.ElementArrayType(2),paintAttributes:[{name:&quot;a_color&quot;,components:4,type:&quot;Uint8&quot;,getValue:function(t,e,r){return t.getPaintValue(&quot;fill-color&quot;,e,r)},multiplier:255,paintProperty:&quot;fill-color&quot;},{name:&quot;a_outline_color&quot;,components:4,type:&quot;Uint8&quot;,getValue:function(t,e,r){return t.getPaintValue(&quot;fill-outline-color&quot;,e,r)},multiplier:255,paintProperty:&quot;fill-outline-color&quot;},{name:&quot;a_opacity&quot;,components:1,type:&quot;Uint8&quot;,getValue:function(t,e,r){return[t.getPaintValue(&quot;fill-opacity&quot;,e,r)]},multiplier:255,paintProperty:&quot;fill-opacity&quot;}]}},n.prototype.addFeature=function(t){for(var e=o(t),r=l(e,500),n=this.prepareArrayGroup(&quot;fill&quot;,0),i=n.layoutVertexArray.length,a=0;a&lt;r.length;a++)this.addPolygon(r[a]);this.populatePaintArrays(&quot;fill&quot;,{zoom:this.zoom},t.properties,n,i)},n.prototype.addPolygon=function(t){for(var e=0,r=0;r&lt;t.length;r++)e+=t[r].length;for(var n=this.prepareArrayGroup(&quot;fill&quot;,e),i=[],a=[],o=n.layoutVertexArray.length,l=0;l&lt;t.length;l++){var c=t[l];l&gt;0&amp;&amp;a.push(i.length/2);for(var u=0;u&lt;c.length;u++){var f=c[u],h=n.layoutVertexArray.emplaceBack(f.x,f.y);u&gt;=1&amp;&amp;n.elementArray2.emplaceBack(h-1,h),i.push(f.x),i.push(f.y)}}for(var d=s(i,a),p=0;p&lt;d.length;p++)n.elementArray.emplaceBack(d[p]+o)}},{&quot;../../util/classify_rings&quot;:421,&quot;../../util/util&quot;:433,&quot;../bucket&quot;:320,&quot;../load_geometry&quot;:328,earcut:135}],323:[function(t,e,r){&quot;use strict&quot;;function n(){i.apply(this,arguments)}var i=t(&quot;../bucket&quot;),a=t(&quot;../../util/util&quot;),o=t(&quot;../load_geometry&quot;),s=i.EXTENT,l=Math.cos(Math.PI/180*37.5),c=Math.pow(2,14)/.5;e.exports=n,(n.prototype=a.inherit(i,{})).addLineVertex=function(t,e,r,n,i,a,o){return t.emplaceBack(e.x&lt;&lt;1|n,e.y&lt;&lt;1|i,Math.round(63*r.x)+128,Math.round(63*r.y)+128,1+(0===a?0:a&lt;0?-1:1)|(.5*o&amp;63)&lt;&lt;2,.5*o&gt;&gt;6)},n.prototype.programInterfaces={line:{layoutVertexArrayType:new i.VertexArrayType([{name:&quot;a_pos&quot;,components:2,type:&quot;Int16&quot;},{name:&quot;a_data&quot;,components:4,type:&quot;Uint8&quot;}]),elementArrayType:new i.ElementArrayType}},n.prototype.addFeature=function(t){for(var e=o(t,15),r=0;r&lt;e.length;r++)this.addLine(e[r],this.layer.layout[&quot;line-join&quot;],this.layer.layout[&quot;line-cap&quot;],this.layer.layout[&quot;line-miter-limit&quot;],this.layer.layout[&quot;line-round-limit&quot;])},n.prototype.addLine=function(t,e,r,n,i){for(var a=t.length;a&gt;2&amp;&amp;t[a-1].equals(t[a-2]);)a--;if(!(t.length&lt;2)){&quot;bevel&quot;===e&amp;&amp;(n=1.05);var o=s/(512*this.overscaling)*15,c=t[0],u=t[a-1],f=c.equals(u);if(this.prepareArrayGroup(&quot;line&quot;,10*a),2!==a||!f){this.distance=0;var h,d,p,m,g,v,y,x=r,b=f?&quot;butt&quot;:r,_=!0;this.e1=this.e2=this.e3=-1,f&amp;&amp;(h=t[a-2],g=c.sub(h)._unit()._perp());for(var w=0;w&lt;a;w++)if(!(p=f&amp;&amp;w===a-1?t[1]:t[w+1])||!t[w].equals(p)){g&amp;&amp;(m=g),h&amp;&amp;(d=h),h=t[w],g=p?p.sub(h)._unit()._perp():m;var M=(m=m||g).add(g)._unit(),k=M.x*g.x+M.y*g.y,A=1/k,T=k&lt;l&amp;&amp;d&amp;&amp;p;if(T&amp;&amp;w&gt;0){var S=h.dist(d);if(S&gt;2*o){var E=h.sub(h.sub(d)._mult(o/S)._round());this.distance+=E.dist(d),this.addCurrentVertex(E,this.distance,m.mult(1),0,0,!1),d=E}}var L=d&amp;&amp;p,C=L?e:p?x:b;if(L&amp;&amp;&quot;round&quot;===C&amp;&amp;(A&lt;i?C=&quot;miter&quot;:A&lt;=2&amp;&amp;(C=&quot;fakeround&quot;)),&quot;miter&quot;===C&amp;&amp;A&gt;n&amp;&amp;(C=&quot;bevel&quot;),&quot;bevel&quot;===C&amp;&amp;(A&gt;2&amp;&amp;(C=&quot;flipbevel&quot;),A&lt;n&amp;&amp;(C=&quot;miter&quot;)),d&amp;&amp;(this.distance+=h.dist(d)),&quot;miter&quot;===C)M._mult(A),this.addCurrentVertex(h,this.distance,M,0,0,!1);else if(&quot;flipbevel&quot;===C){if(A&gt;100)M=g.clone();else{var z=m.x*g.y-m.y*g.x&gt;0?-1:1,D=A*m.add(g).mag()/m.sub(g).mag();M._perp()._mult(D*z)}this.addCurrentVertex(h,this.distance,M,0,0,!1),this.addCurrentVertex(h,this.distance,M.mult(-1),0,0,!1)}else if(&quot;bevel&quot;===C||&quot;fakeround&quot;===C){var I=m.x*g.y-m.y*g.x&gt;0,P=-Math.sqrt(A*A-1);if(I?(y=0,v=P):(v=0,y=P),_||this.addCurrentVertex(h,this.distance,m,v,y,!1),&quot;fakeround&quot;===C){for(var O,F=Math.floor(8*(.5-(k-.5))),R=0;R&lt;F;R++)O=g.mult((R+1)/(F+1))._add(m)._unit(),this.addPieSliceVertex(h,this.distance,O,I);this.addPieSliceVertex(h,this.distance,M,I);for(var N=F-1;N&gt;=0;N--)O=m.mult((N+1)/(F+1))._add(g)._unit(),this.addPieSliceVertex(h,this.distance,O,I)}p&amp;&amp;this.addCurrentVertex(h,this.distance,g,-v,-y,!1)}else&quot;butt&quot;===C?(_||this.addCurrentVertex(h,this.distance,m,0,0,!1),p&amp;&amp;this.addCurrentVertex(h,this.distance,g,0,0,!1)):&quot;square&quot;===C?(_||(this.addCurrentVertex(h,this.distance,m,1,1,!1),this.e1=this.e2=-1),p&amp;&amp;this.addCurrentVertex(h,this.distance,g,-1,-1,!1)):&quot;round&quot;===C&amp;&amp;(_||(this.addCurrentVertex(h,this.distance,m,0,0,!1),this.addCurrentVertex(h,this.distance,m,1,1,!0),this.e1=this.e2=-1),p&amp;&amp;(this.addCurrentVertex(h,this.distance,g,-1,-1,!0),this.addCurrentVertex(h,this.distance,g,0,0,!1)));if(T&amp;&amp;w&lt;a-1){var j=h.dist(p);if(j&gt;2*o){var B=h.add(p.sub(h)._mult(o/j)._round());this.distance+=B.dist(h),this.addCurrentVertex(B,this.distance,g.mult(1),0,0,!1),h=B}}_=!1}}}},n.prototype.addCurrentVertex=function(t,e,r,n,i,a){var o,s=a?1:0,l=this.arrayGroups.line[this.arrayGroups.line.length-1],u=l.layoutVertexArray,f=l.elementArray;o=r.clone(),n&amp;&amp;o._sub(r.perp()._mult(n)),this.e3=this.addLineVertex(u,t,o,s,0,n,e),this.e1&gt;=0&amp;&amp;this.e2&gt;=0&amp;&amp;f.emplaceBack(this.e1,this.e2,this.e3),this.e1=this.e2,this.e2=this.e3,o=r.mult(-1),i&amp;&amp;o._sub(r.perp()._mult(i)),this.e3=this.addLineVertex(u,t,o,s,1,-i,e),this.e1&gt;=0&amp;&amp;this.e2&gt;=0&amp;&amp;f.emplaceBack(this.e1,this.e2,this.e3),this.e1=this.e2,this.e2=this.e3,e&gt;c/2&amp;&amp;(this.distance=0,this.addCurrentVertex(t,this.distance,r,n,i,a))},n.prototype.addPieSliceVertex=function(t,e,r,n){var i=n?1:0;r=r.mult(n?-1:1);var a=this.arrayGroups.line[this.arrayGroups.line.length-1],o=a.layoutVertexArray,s=a.elementArray;this.e3=this.addLineVertex(o,t,r,0,i,0,e),this.e1&gt;=0&amp;&amp;this.e2&gt;=0&amp;&amp;s.emplaceBack(this.e1,this.e2,this.e3),n?this.e2=this.e3:this.e1=this.e3}},{&quot;../../util/util&quot;:433,&quot;../bucket&quot;:320,&quot;../load_geometry&quot;:328}],324:[function(t,e,r){&quot;use strict&quot;;function n(t){o.apply(this,arguments),this.showCollisionBoxes=t.showCollisionBoxes,this.overscaling=t.overscaling,this.collisionBoxArray=t.collisionBoxArray,this.symbolQuadsArray=t.symbolQuadsArray,this.symbolInstancesArray=t.symbolInstancesArray,this.sdfIcons=t.sdfIcons,this.iconsNeedLinear=t.iconsNeedLinear,this.adjustedTextSize=t.adjustedTextSize,this.adjustedIconSize=t.adjustedIconSize,this.fontstack=t.fontstack}function i(t,e,r,n,i,a,o,s,l,c,u){return t.emplaceBack(e,r,Math.round(64*n),Math.round(64*i),a/4,o/4,10*(c||0),u,10*(s||0),10*Math.min(l||25,25))}var a=t(&quot;point-geometry&quot;),o=t(&quot;../bucket&quot;),s=t(&quot;../../symbol/anchor&quot;),l=t(&quot;../../symbol/get_anchors&quot;),c=t(&quot;../../util/token&quot;),u=t(&quot;../../symbol/quads&quot;),f=t(&quot;../../symbol/shaping&quot;),h=t(&quot;../../symbol/resolve_text&quot;),d=t(&quot;../../symbol/mergelines&quot;),p=t(&quot;../../symbol/clip_line&quot;),m=t(&quot;../../util/util&quot;),g=t(&quot;../load_geometry&quot;),v=t(&quot;../../symbol/collision_feature&quot;),y=f.shapeText,x=f.shapeIcon,b=u.getGlyphQuads,_=u.getIconQuads,w=o.EXTENT;e.exports=n,n.MAX_QUADS=65535,(n.prototype=m.inherit(o,{})).serialize=function(){var t=o.prototype.serialize.apply(this);return t.sdfIcons=this.sdfIcons,t.iconsNeedLinear=this.iconsNeedLinear,t.adjustedTextSize=this.adjustedTextSize,t.adjustedIconSize=this.adjustedIconSize,t.fontstack=this.fontstack,t};var M=new o.VertexArrayType([{name:&quot;a_pos&quot;,components:2,type:&quot;Int16&quot;},{name:&quot;a_offset&quot;,components:2,type:&quot;Int16&quot;},{name:&quot;a_texture_pos&quot;,components:2,type:&quot;Uint16&quot;},{name:&quot;a_data&quot;,components:4,type:&quot;Uint8&quot;}]),k=new o.ElementArrayType;n.prototype.addCollisionBoxVertex=function(t,e,r,n,i){return t.emplaceBack(e.x,e.y,Math.round(r.x),Math.round(r.y),10*n,10*i)},n.prototype.programInterfaces={glyph:{layoutVertexArrayType:M,elementArrayType:k},icon:{layoutVertexArrayType:M,elementArrayType:k},collisionBox:{layoutVertexArrayType:new o.VertexArrayType([{name:&quot;a_pos&quot;,components:2,type:&quot;Int16&quot;},{name:&quot;a_extrude&quot;,components:2,type:&quot;Int16&quot;},{name:&quot;a_data&quot;,components:2,type:&quot;Uint8&quot;}])}},n.prototype.populateArrays=function(t,e,r){var n={lastIntegerZoom:1/0,lastIntegerZoomTime:0,lastZoom:0};this.adjustedTextMaxSize=this.layer.getLayoutValue(&quot;text-size&quot;,{zoom:18,zoomHistory:n}),this.adjustedTextSize=this.layer.getLayoutValue(&quot;text-size&quot;,{zoom:this.zoom+1,zoomHistory:n}),this.adjustedIconMaxSize=this.layer.getLayoutValue(&quot;icon-size&quot;,{zoom:18,zoomHistory:n}),this.adjustedIconSize=this.layer.getLayoutValue(&quot;icon-size&quot;,{zoom:this.zoom+1,zoomHistory:n});var i=512*this.overscaling;this.tilePixelRatio=w/i,this.compareText={},this.iconsNeedLinear=!1,this.symbolInstancesStartIndex=this.symbolInstancesArray.length;var a=this.layer.layout,o=this.features,s=this.textFeatures,l=.5,u=.5;switch(a[&quot;text-anchor&quot;]){case&quot;right&quot;:case&quot;top-right&quot;:case&quot;bottom-right&quot;:l=1;break;case&quot;left&quot;:case&quot;top-left&quot;:case&quot;bottom-left&quot;:l=0}switch(a[&quot;text-anchor&quot;]){case&quot;bottom&quot;:case&quot;bottom-right&quot;:case&quot;bottom-left&quot;:u=1;break;case&quot;top&quot;:case&quot;top-right&quot;:case&quot;top-left&quot;:u=0}for(var f=&quot;right&quot;===a[&quot;text-justify&quot;]?1:&quot;left&quot;===a[&quot;text-justify&quot;]?0:.5,h=24*a[&quot;text-line-height&quot;],p=&quot;line&quot;!==a[&quot;symbol-placement&quot;]?24*a[&quot;text-max-width&quot;]:0,v=24*a[&quot;text-letter-spacing&quot;],b=[24*a[&quot;text-offset&quot;][0],24*a[&quot;text-offset&quot;][1]],_=this.fontstack=a[&quot;text-font&quot;].join(&quot;,&quot;),M=[],k=0;k&lt;o.length;k++)M.push(g(o[k]));if(&quot;line&quot;===a[&quot;symbol-placement&quot;]){var A=d(o,s,M);M=A.geometries,o=A.features,s=A.textFeatures}for(var T,S,E=0;E&lt;o.length;E++)if(M[E]){if(T=s[E]?y(s[E],e[_],p,h,l,u,f,v,b):null,a[&quot;icon-image&quot;]){var L=r[c(o[E].properties,a[&quot;icon-image&quot;])];S=x(L,a),L&amp;&amp;(void 0===this.sdfIcons?this.sdfIcons=L.sdf:this.sdfIcons!==L.sdf&amp;&amp;m.warnOnce(&quot;Style sheet warning: Cannot mix SDF and non-SDF icons in one buffer&quot;),1!==L.pixelRatio?this.iconsNeedLinear=!0:0===a[&quot;icon-rotate&quot;]&amp;&amp;this.layer.isLayoutValueFeatureConstant(&quot;icon-rotate&quot;)||(this.iconsNeedLinear=!0))}else S=null;(T||S)&amp;&amp;this.addFeature(M[E],T,S,o[E])}this.symbolInstancesEndIndex=this.symbolInstancesArray.length,this.placeFeatures(t,this.showCollisionBoxes),this.trimArrays()},n.prototype.addFeature=function(t,e,r,n){var i=this.layer.layout,a=this.adjustedTextSize/24,o=void 0!==this.adjustedTextMaxSize?this.adjustedTextMaxSize:this.adjustedTextSize,c=this.tilePixelRatio*a,u=this.tilePixelRatio*o/24,f=this.tilePixelRatio*this.adjustedIconSize,h=this.tilePixelRatio*i[&quot;symbol-spacing&quot;],d=i[&quot;symbol-avoid-edges&quot;],m=i[&quot;text-padding&quot;]*this.tilePixelRatio,g=i[&quot;icon-padding&quot;]*this.tilePixelRatio,v=i[&quot;text-max-angle&quot;]/180*Math.PI,y=&quot;map&quot;===i[&quot;text-rotation-alignment&quot;]&amp;&amp;&quot;line&quot;===i[&quot;symbol-placement&quot;],x=&quot;map&quot;===i[&quot;icon-rotation-alignment&quot;]&amp;&amp;&quot;line&quot;===i[&quot;symbol-placement&quot;],b=i[&quot;text-allow-overlap&quot;]||i[&quot;icon-allow-overlap&quot;]||i[&quot;text-ignore-placement&quot;]||i[&quot;icon-ignore-placement&quot;],_=&quot;line&quot;===i[&quot;symbol-placement&quot;],M=h/2;_&amp;&amp;(t=p(t,0,0,w,w));for(var k=0;k&lt;t.length;k++)for(var A,T=t[k],S=0,E=(A=_?l(T,h,v,e,r,24,u,this.overscaling,w):[new s(T[0].x,T[0].y,0)]).length;S&lt;E;S++){var L=A[S];if(!(e&amp;&amp;_&amp;&amp;this.anchorIsTooClose(e.text,M,L))){var C=!(L.x&lt;0||L.x&gt;w||L.y&lt;0||L.y&gt;w);if(!d||C){var z=C||b;this.addSymbolInstance(L,T,e,r,this.layer,z,this.symbolInstancesArray.length,this.collisionBoxArray,n.index,this.sourceLayerIndex,this.index,c,m,y,f,g,x,{zoom:this.zoom},n.properties)}}}},n.prototype.anchorIsTooClose=function(t,e,r){var n=this.compareText;if(t in n){for(var i=n[t],a=i.length-1;a&gt;=0;a--)if(r.dist(i[a])&lt;e)return!0}else n[t]=[];return n[t].push(r),!1},n.prototype.placeFeatures=function(t,e){this.recalculateStyleLayers(),this.createArrays();var r=this.layer.layout,n=t.maxScale,i=&quot;map&quot;===r[&quot;text-rotation-alignment&quot;]&amp;&amp;&quot;line&quot;===r[&quot;symbol-placement&quot;],a=&quot;map&quot;===r[&quot;icon-rotation-alignment&quot;]&amp;&amp;&quot;line&quot;===r[&quot;symbol-placement&quot;];if(r[&quot;text-allow-overlap&quot;]||r[&quot;icon-allow-overlap&quot;]||r[&quot;text-ignore-placement&quot;]||r[&quot;icon-ignore-placement&quot;]){var o=this.symbolInstancesArray.toArray(this.symbolInstancesStartIndex,this.symbolInstancesEndIndex),s=t.angle,l=Math.sin(s),c=Math.cos(s);this.sortedSymbolInstances=o.sort(function(t,e){return(l*t.anchorPointX+c*t.anchorPointY|0)-(l*e.anchorPointX+c*e.anchorPointY|0)||e.index-t.index})}for(var u=this.symbolInstancesStartIndex;u&lt;this.symbolInstancesEndIndex;u++){var f=this.sortedSymbolInstances?this.sortedSymbolInstances[u-this.symbolInstancesStartIndex]:this.symbolInstancesArray.get(u),h={boxStartIndex:f.textBoxStartIndex,boxEndIndex:f.textBoxEndIndex},d={boxStartIndex:f.iconBoxStartIndex,boxEndIndex:f.iconBoxEndIndex},p=!(f.textBoxStartIndex===f.textBoxEndIndex),m=!(f.iconBoxStartIndex===f.iconBoxEndIndex),g=r[&quot;text-optional&quot;]||!p,v=r[&quot;icon-optional&quot;]||!m,y=p?t.placeCollisionFeature(h,r[&quot;text-allow-overlap&quot;],r[&quot;symbol-avoid-edges&quot;]):t.minScale,x=m?t.placeCollisionFeature(d,r[&quot;icon-allow-overlap&quot;],r[&quot;symbol-avoid-edges&quot;]):t.minScale;g||v?!v&amp;&amp;y?y=Math.max(x,y):!g&amp;&amp;x&amp;&amp;(x=Math.max(x,y)):x=y=Math.max(x,y),p&amp;&amp;(t.insertCollisionFeature(h,y,r[&quot;text-ignore-placement&quot;]),y&lt;=n&amp;&amp;this.addSymbols(&quot;glyph&quot;,f.glyphQuadStartIndex,f.glyphQuadEndIndex,y,r[&quot;text-keep-upright&quot;],i,t.angle)),m&amp;&amp;(t.insertCollisionFeature(d,x,r[&quot;icon-ignore-placement&quot;]),x&lt;=n&amp;&amp;this.addSymbols(&quot;icon&quot;,f.iconQuadStartIndex,f.iconQuadEndIndex,x,r[&quot;icon-keep-upright&quot;],a,t.angle))}e&amp;&amp;this.addToDebugBuffers(t)},n.prototype.addSymbols=function(t,e,r,n,a,o,s){for(var l=this.prepareArrayGroup(t,4*(r-e)),c=l.elementArray,u=l.layoutVertexArray,f=this.zoom,h=Math.max(Math.log(n)/Math.LN2+f,0),d=e;d&lt;r;d++){var p=this.symbolQuadsArray.get(d).SymbolQuad,m=(p.anchorAngle+s+Math.PI)%(2*Math.PI);if(!(a&amp;&amp;o&amp;&amp;(m&lt;=Math.PI/2||m&gt;3*Math.PI/2))){var g=p.tl,v=p.tr,y=p.bl,x=p.br,b=p.tex,_=p.anchorPoint,w=Math.max(f+Math.log(p.minScale)/Math.LN2,h),M=Math.min(f+Math.log(p.maxScale)/Math.LN2,25);if(!(M&lt;=w)){w===h&amp;&amp;(w=0);var k=Math.round(p.glyphAngle/(2*Math.PI)*256),A=i(u,_.x,_.y,g.x,g.y,b.x,b.y,w,M,h,k);i(u,_.x,_.y,v.x,v.y,b.x+b.w,b.y,w,M,h,k),i(u,_.x,_.y,y.x,y.y,b.x,b.y+b.h,w,M,h,k),i(u,_.x,_.y,x.x,x.y,b.x+b.w,b.y+b.h,w,M,h,k),c.emplaceBack(A,A+1,A+2),c.emplaceBack(A+1,A+2,A+3)}}}},n.prototype.updateIcons=function(t){this.recalculateStyleLayers();var e=this.layer.layout[&quot;icon-image&quot;];if(e)for(var r=0;r&lt;this.features.length;r++){var n=c(this.features[r].properties,e);n&amp;&amp;(t[n]=!0)}},n.prototype.updateFont=function(t){this.recalculateStyleLayers();var e=this.layer.layout[&quot;text-font&quot;],r=t[e]=t[e]||{};this.textFeatures=h(this.features,this.layer.layout,r)},n.prototype.addToDebugBuffers=function(t){for(var e=this.prepareArrayGroup(&quot;collisionBox&quot;,0).layoutVertexArray,r=-t.angle,n=t.yStretch,i=this.symbolInstancesStartIndex;i&lt;this.symbolInstancesEndIndex;i++){var o=this.symbolInstancesArray.get(i);o.textCollisionFeature={boxStartIndex:o.textBoxStartIndex,boxEndIndex:o.textBoxEndIndex},o.iconCollisionFeature={boxStartIndex:o.iconBoxStartIndex,boxEndIndex:o.iconBoxEndIndex};for(var s=0;s&lt;2;s++){var l=o[0===s?&quot;textCollisionFeature&quot;:&quot;iconCollisionFeature&quot;];if(l)for(var c=l.boxStartIndex;c&lt;l.boxEndIndex;c++){var u=this.collisionBoxArray.get(c),f=u.anchorPoint,h=new a(u.x1,u.y1*n)._rotate(r),d=new a(u.x2,u.y1*n)._rotate(r),p=new a(u.x1,u.y2*n)._rotate(r),m=new a(u.x2,u.y2*n)._rotate(r),g=Math.max(0,Math.min(25,this.zoom+Math.log(u.maxScale)/Math.LN2)),v=Math.max(0,Math.min(25,this.zoom+Math.log(u.placementScale)/Math.LN2));this.addCollisionBoxVertex(e,f,h,g,v),this.addCollisionBoxVertex(e,f,d,g,v),this.addCollisionBoxVertex(e,f,d,g,v),this.addCollisionBoxVertex(e,f,m,g,v),this.addCollisionBoxVertex(e,f,m,g,v),this.addCollisionBoxVertex(e,f,p,g,v),this.addCollisionBoxVertex(e,f,p,g,v),this.addCollisionBoxVertex(e,f,h,g,v)}}}},n.prototype.addSymbolInstance=function(t,e,r,i,a,o,s,l,c,u,f,h,d,p,g,y,x,w,M){var k,A,T,S,E,L,C,z;if(r&amp;&amp;(C=o?b(t,r,h,e,a,p):[],E=new v(l,e,t,c,u,f,r,h,d,p,!1)),k=this.symbolQuadsArray.length,C&amp;&amp;C.length)for(var D=0;D&lt;C.length;D++)this.addSymbolQuad(C[D]);A=this.symbolQuadsArray.length;var I=E?E.boxStartIndex:this.collisionBoxArray.length,P=E?E.boxEndIndex:this.collisionBoxArray.length;i&amp;&amp;(z=o?_(t,i,g,e,a,x,r,w,M):[],L=new v(l,e,t,c,u,f,i,g,y,x,!0)),T=this.symbolQuadsArray.length,z&amp;&amp;1===z.length&amp;&amp;this.addSymbolQuad(z[0]),S=this.symbolQuadsArray.length;var O=L?L.boxStartIndex:this.collisionBoxArray.length,F=L?L.boxEndIndex:this.collisionBoxArray.length;return S&gt;n.MAX_QUADS&amp;&amp;m.warnOnce(&quot;Too many symbols being rendered in a tile. See https://github.com/mapbox/mapbox-gl-js/issues/2907&quot;),A&gt;n.MAX_QUADS&amp;&amp;m.warnOnce(&quot;Too many glyphs being rendered in a tile. See https://github.com/mapbox/mapbox-gl-js/issues/2907&quot;),this.symbolInstancesArray.emplaceBack(I,P,O,F,k,A,T,S,t.x,t.y,s)},n.prototype.addSymbolQuad=function(t){return this.symbolQuadsArray.emplaceBack(t.anchorPoint.x,t.anchorPoint.y,t.tl.x,t.tl.y,t.tr.x,t.tr.y,t.bl.x,t.bl.y,t.br.x,t.br.y,t.tex.h,t.tex.w,t.tex.x,t.tex.y,t.anchorAngle,t.glyphAngle,t.maxScale,t.minScale)}},{&quot;../../symbol/anchor&quot;:382,&quot;../../symbol/clip_line&quot;:384,&quot;../../symbol/collision_feature&quot;:386,&quot;../../symbol/get_anchors&quot;:388,&quot;../../symbol/mergelines&quot;:391,&quot;../../symbol/quads&quot;:392,&quot;../../symbol/resolve_text&quot;:393,&quot;../../symbol/shaping&quot;:394,&quot;../../util/token&quot;:432,&quot;../../util/util&quot;:433,&quot;../bucket&quot;:320,&quot;../load_geometry&quot;:328,&quot;point-geometry&quot;:477}],325:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r){this.arrayBuffer=t.arrayBuffer,this.length=t.length,this.attributes=e.members,this.itemSize=e.bytesPerElement,this.type=r,this.arrayType=e}e.exports=n,n.prototype.bind=function(t){var e=t[this.type];this.buffer?t.bindBuffer(e,this.buffer):(this.buffer=t.createBuffer(),t.bindBuffer(e,this.buffer),t.bufferData(e,this.arrayBuffer,t.STATIC_DRAW),this.arrayBuffer=null)};var i={Int8:&quot;BYTE&quot;,Uint8:&quot;UNSIGNED_BYTE&quot;,Int16:&quot;SHORT&quot;,Uint16:&quot;UNSIGNED_SHORT&quot;};n.prototype.setVertexAttribPointers=function(t,e){for(var r=0;r&lt;this.attributes.length;r++){var n=this.attributes[r],a=e[n.name];void 0!==a&amp;&amp;t.vertexAttribPointer(a,n.components,t[i[n.type]],!1,this.arrayType.bytesPerElement,n.offset)}},n.prototype.destroy=function(t){this.buffer&amp;&amp;t.deleteBuffer(this.buffer)},n.BufferType={VERTEX:&quot;ARRAY_BUFFER&quot;,ELEMENT:&quot;ELEMENT_ARRAY_BUFFER&quot;}},{}],326:[function(t,e,r){&quot;use strict&quot;;function n(t,e){this.layoutVertexBuffer=new a(t.layoutVertexArray,e.layoutVertexArrayType,a.BufferType.VERTEX),t.elementArray&amp;&amp;(this.elementBuffer=new a(t.elementArray,e.elementArrayType,a.BufferType.ELEMENT));var r,n=this.vaos={};t.elementArray2&amp;&amp;(this.elementBuffer2=new a(t.elementArray2,e.elementArrayType2,a.BufferType.ELEMENT),r=this.secondVaos={}),this.paintVertexBuffers=i.mapObject(t.paintVertexArrays,function(i,s){return n[s]=new o,t.elementArray2&amp;&amp;(r[s]=new o),new a(i,e.paintVertexArrayTypes[s],a.BufferType.VERTEX)})}var i=t(&quot;../util/util&quot;),a=t(&quot;./buffer&quot;),o=t(&quot;../render/vertex_array_object&quot;);e.exports=n,n.prototype.destroy=function(t){this.layoutVertexBuffer.destroy(t),this.elementBuffer&amp;&amp;this.elementBuffer.destroy(t),this.elementBuffer2&amp;&amp;this.elementBuffer2.destroy(t);for(var e in this.paintVertexBuffers)this.paintVertexBuffers[e].destroy(t);for(var r in this.vaos)this.vaos[r].destroy(t);for(var n in this.secondVaos)this.secondVaos[n].destroy(t)}},{&quot;../render/vertex_array_object&quot;:348,&quot;../util/util&quot;:433,&quot;./buffer&quot;:325}],327:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r){if(t.grid){var n=t,i=e;t=n.coord,e=n.overscaling,this.grid=new d(n.grid),this.featureIndexArray=new M(n.featureIndexArray),this.rawTileData=i,this.bucketLayerIDs=n.bucketLayerIDs}else this.grid=new d(u,16,0),this.featureIndexArray=new M;this.coord=t,this.overscaling=e,this.x=t.x,this.y=t.y,this.z=t.z-Math.log(e)/Math.LN2,this.setCollisionTile(r)}function i(t){return Math.sqrt(t[0]*t[0]+t[1]*t[1])}function a(t,e){return e-t}function o(t){return t[&quot;line-gap-width&quot;]&gt;0?t[&quot;line-gap-width&quot;]+2*t[&quot;line-width&quot;]:t[&quot;line-width&quot;]}function s(t,e,r,n,i){if(!e[0]&amp;&amp;!e[1])return t;e=l.convert(e),&quot;viewport&quot;===r&amp;&amp;e._rotate(-n);for(var a=[],o=0;o&lt;t.length;o++){for(var s=t[o],c=[],u=0;u&lt;s.length;u++)c.push(s[u].sub(e._mult(i)));a.push(c)}return a}var l=t(&quot;point-geometry&quot;),c=t(&quot;./load_geometry&quot;),u=t(&quot;./bucket&quot;).EXTENT,f=t(&quot;feature-filter&quot;),h=t(&quot;../util/struct_array&quot;),d=t(&quot;grid-index&quot;),p=t(&quot;../util/dictionary_coder&quot;),m=t(&quot;vector-tile&quot;),g=t(&quot;pbf&quot;),v=t(&quot;../util/vectortile_to_geojson&quot;),y=t(&quot;../util/util&quot;).arraysIntersect,x=t(&quot;../util/intersection_tests&quot;),b=x.multiPolygonIntersectsBufferedMultiPoint,_=x.multiPolygonIntersectsMultiPolygon,w=x.multiPolygonIntersectsBufferedMultiLine,M=new h({members:[{type:&quot;Uint32&quot;,name:&quot;featureIndex&quot;},{type:&quot;Uint16&quot;,name:&quot;sourceLayerIndex&quot;},{type:&quot;Uint16&quot;,name:&quot;bucketIndex&quot;}]});e.exports=n,n.prototype.insert=function(t,e,r,n){var i=this.featureIndexArray.length;this.featureIndexArray.emplaceBack(e,r,n);for(var a=c(t),o=0;o&lt;a.length;o++){for(var s=a[o],l=[1/0,1/0,-1/0,-1/0],u=0;u&lt;s.length;u++){var f=s[u];l[0]=Math.min(l[0],f.x),l[1]=Math.min(l[1],f.y),l[2]=Math.max(l[2],f.x),l[3]=Math.max(l[3],f.y)}this.grid.insert(i,l[0],l[1],l[2],l[3])}},n.prototype.setCollisionTile=function(t){this.collisionTile=t},n.prototype.serialize=function(){var t={coord:this.coord,overscaling:this.overscaling,grid:this.grid.toArrayBuffer(),featureIndexArray:this.featureIndexArray.serialize(),bucketLayerIDs:this.bucketLayerIDs};return{data:t,transferables:[t.grid,t.featureIndexArray.arrayBuffer]}},n.prototype.query=function(t,e){this.vtLayers||(this.vtLayers=new m.VectorTile(new g(new Uint8Array(this.rawTileData))).layers,this.sourceLayerCoder=new p(this.vtLayers?Object.keys(this.vtLayers).sort():[&quot;_geojsonTileLayer&quot;]));var r={},n=t.params||{},s=u/t.tileSize/t.scale,c=f(n.filter),h=0;for(var d in e){var v=e[d],y=v.paint,x=0;&quot;line&quot;===v.type?x=o(y)/2+Math.abs(y[&quot;line-offset&quot;])+i(y[&quot;line-translate&quot;]):&quot;fill&quot;===v.type?x=i(y[&quot;fill-translate&quot;]):&quot;circle&quot;===v.type&amp;&amp;(x=y[&quot;circle-radius&quot;]+i(y[&quot;circle-translate&quot;])),h=Math.max(h,x*s)}for(var b=t.queryGeometry.map(function(t){return t.map(function(t){return new l(t.x,t.y)})}),_=1/0,w=1/0,M=-1/0,k=-1/0,A=0;A&lt;b.length;A++)for(var T=b[A],S=0;S&lt;T.length;S++){var E=T[S];_=Math.min(_,E.x),w=Math.min(w,E.y),M=Math.max(M,E.x),k=Math.max(k,E.y)}var L=this.grid.query(_-h,w-h,M+h,k+h);L.sort(a),this.filterMatching(r,L,this.featureIndexArray,b,c,n.layers,e,t.bearing,s);var C=this.collisionTile.queryRenderedSymbols(_,w,M,k,t.scale);return C.sort(),this.filterMatching(r,C,this.collisionTile.collisionBoxArray,b,c,n.layers,e,t.bearing,s),r},n.prototype.filterMatching=function(t,e,r,n,i,a,u,f,h){for(var d,p=0;p&lt;e.length;p++){var m=e[p];if(m!==d){d=m;var g=r.get(m),x=this.bucketLayerIDs[g.bucketIndex];if(!a||y(a,x)){var M=this.sourceLayerCoder.decode(g.sourceLayerIndex),k=this.vtLayers[M].feature(g.featureIndex);if(i(k))for(var A=null,T=0;T&lt;x.length;T++){var S=x[T];if(!(a&amp;&amp;a.indexOf(S)&lt;0)){var E=u[S];if(E){var L;if(&quot;symbol&quot;!==E.type){A||(A=c(k));var C=E.paint;if(&quot;line&quot;===E.type){L=s(n,C[&quot;line-translate&quot;],C[&quot;line-translate-anchor&quot;],f,h);var z=o(C)/2*h;if(C[&quot;line-offset&quot;]&amp;&amp;(A=function(t,e){for(var r=[],n=new l(0,0),i=0;i&lt;t.length;i++){for(var a=t[i],o=[],s=0;s&lt;a.length;s++){var c=a[s-1],u=a[s],f=a[s+1],h=0===s?n:u.sub(c)._unit()._perp(),d=s===a.length-1?n:f.sub(u)._unit()._perp(),p=h._add(d)._unit(),m=p.x*d.x+p.y*d.y;p._mult(1/m),o.push(p._mult(e)._add(u))}r.push(o)}return r}(A,C[&quot;line-offset&quot;]*h)),!w(L,A,z))continue}else if(&quot;fill&quot;===E.type){if(L=s(n,C[&quot;fill-translate&quot;],C[&quot;fill-translate-anchor&quot;],f,h),!_(L,A))continue}else if(&quot;circle&quot;===E.type){L=s(n,C[&quot;circle-translate&quot;],C[&quot;circle-translate-anchor&quot;],f,h);var D=C[&quot;circle-radius&quot;]*h;if(!b(L,A,D))continue}}var I=new v(k,this.z,this.x,this.y);I.layer=E.serialize({includeRefProperties:!0});var P=t[S];void 0===P&amp;&amp;(P=t[S]=[]),P.push(I)}}}}}}}},{&quot;../util/dictionary_coder&quot;:423,&quot;../util/intersection_tests&quot;:428,&quot;../util/struct_array&quot;:431,&quot;../util/util&quot;:433,&quot;../util/vectortile_to_geojson&quot;:434,&quot;./bucket&quot;:320,&quot;./load_geometry&quot;:328,&quot;feature-filter&quot;:141,&quot;grid-index&quot;:275,pbf:470,&quot;point-geometry&quot;:477,&quot;vector-tile&quot;:564}],328:[function(t,e,r){&quot;use strict&quot;;function n(t){return{min:-1*Math.pow(2,t-1),max:Math.pow(2,t-1)-1}}var i=t(&quot;../util/util&quot;),a=t(&quot;./bucket&quot;).EXTENT,o=t(&quot;assert&quot;),s={15:n(15),16:n(16)};e.exports=function(t,e){var r=s[e||16];o(r);for(var n=a/t.extent,l=t.loadGeometry(),c=0;c&lt;l.length;c++)for(var u=l[c],f=0;f&lt;u.length;f++){var h=u[f];h.x=Math.round(h.x*n),h.y=Math.round(h.y*n),(h.x&lt;r.min||h.x&gt;r.max||h.y&lt;r.min||h.y&gt;r.max)&amp;&amp;i.warnOnce(&quot;Geometry exceeds allowed extent, reduce your vector tile buffer size&quot;)}return l}},{&quot;../util/util&quot;:433,&quot;./bucket&quot;:320,assert:51}],329:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r){this.column=t,this.row=e,this.zoom=r}e.exports=n,n.prototype={clone:function(){return new n(this.column,this.row,this.zoom)},zoomTo:function(t){return this.clone()._zoomTo(t)},sub:function(t){return this.clone()._sub(t)},_zoomTo:function(t){var e=Math.pow(2,t-this.zoom);return this.column*=e,this.row*=e,this.zoom=t,this},_sub:function(t){return t=t.zoomTo(this.zoom),this.column-=t.column,this.row-=t.row,this}}},{}],330:[function(t,e,r){&quot;use strict&quot;;function n(t,e){if(isNaN(t)||isNaN(e))throw new Error(&quot;Invalid LngLat object: (&quot;+t+&quot;, &quot;+e+&quot;)&quot;);if(this.lng=+t,this.lat=+e,this.lat&gt;90||this.lat&lt;-90)throw new Error(&quot;Invalid LngLat latitude value: must be between -90 and 90&quot;)}e.exports=n;var i=t(&quot;../util/util&quot;).wrap;n.prototype.wrap=function(){return new n(i(this.lng,-180,180),this.lat)},n.prototype.toArray=function(){return[this.lng,this.lat]},n.prototype.toString=function(){return&quot;LngLat(&quot;+this.lng+&quot;, &quot;+this.lat+&quot;)&quot;},n.convert=function(t){return t instanceof n?t:Array.isArray(t)?new n(t[0],t[1]):t}},{&quot;../util/util&quot;:433}],331:[function(t,e,r){&quot;use strict&quot;;function n(t,e){t&amp;&amp;(e?this.extend(t).extend(e):4===t.length?this.extend([t[0],t[1]]).extend([t[2],t[3]]):this.extend(t[0]).extend(t[1]))}e.exports=n;var i=t(&quot;./lng_lat&quot;);n.prototype={extend:function(t){var e,r,a=this._sw,o=this._ne;if(t instanceof i)e=t,r=t;else{if(!(t instanceof n))return t?this.extend(i.convert(t)||n.convert(t)):this;if(e=t._sw,r=t._ne,!e||!r)return this}return a||o?(a.lng=Math.min(e.lng,a.lng),a.lat=Math.min(e.lat,a.lat),o.lng=Math.max(r.lng,o.lng),o.lat=Math.max(r.lat,o.lat)):(this._sw=new i(e.lng,e.lat),this._ne=new i(r.lng,r.lat)),this},getCenter:function(){return new i((this._sw.lng+this._ne.lng)/2,(this._sw.lat+this._ne.lat)/2)},getSouthWest:function(){return this._sw},getNorthEast:function(){return this._ne},getNorthWest:function(){return new i(this.getWest(),this.getNorth())},getSouthEast:function(){return new i(this.getEast(),this.getSouth())},getWest:function(){return this._sw.lng},getSouth:function(){return this._sw.lat},getEast:function(){return this._ne.lng},getNorth:function(){return this._ne.lat},toArray:function(){return[this._sw.toArray(),this._ne.toArray()]},toString:function(){return&quot;LngLatBounds(&quot;+this._sw.toString()+&quot;, &quot;+this._ne.toString()+&quot;)&quot;}},n.convert=function(t){return!t||t instanceof n?t:new n(t)}},{&quot;./lng_lat&quot;:330}],332:[function(t,e,r){&quot;use strict&quot;;function n(t,e){this.tileSize=512,this._minZoom=t||0,this._maxZoom=e||22,this.latRange=[-85.05113,85.05113],this.width=0,this.height=0,this._center=new i(0,0),this.zoom=0,this.angle=0,this._altitude=1.5,this._pitch=0,this._unmodified=!0}var i=t(&quot;./lng_lat&quot;),a=t(&quot;point-geometry&quot;),o=t(&quot;./coordinate&quot;),s=t(&quot;../util/util&quot;).wrap,l=t(&quot;../util/interpolate&quot;),c=t(&quot;../source/tile_coord&quot;),u=t(&quot;../data/bucket&quot;).EXTENT,f=t(&quot;gl-matrix&quot;),h=f.vec4,d=f.mat4,p=f.mat2;e.exports=n,n.prototype={get minZoom(){return this._minZoom},set minZoom(t){this._minZoom!==t&amp;&amp;(this._minZoom=t,this.zoom=Math.max(this.zoom,t))},get maxZoom(){return this._maxZoom},set maxZoom(t){this._maxZoom!==t&amp;&amp;(this._maxZoom=t,this.zoom=Math.min(this.zoom,t))},get worldSize(){return this.tileSize*this.scale},get centerPoint(){return this.size._div(2)},get size(){return new a(this.width,this.height)},get bearing(){return-this.angle/Math.PI*180},set bearing(t){var e=-s(t,-180,180)*Math.PI/180;this.angle!==e&amp;&amp;(this._unmodified=!1,this.angle=e,this._calcMatrices(),this.rotationMatrix=p.create(),p.rotate(this.rotationMatrix,this.rotationMatrix,this.angle))},get pitch(){return this._pitch/Math.PI*180},set pitch(t){var e=Math.min(60,t)/180*Math.PI;this._pitch!==e&amp;&amp;(this._unmodified=!1,this._pitch=e,this._calcMatrices())},get altitude(){return this._altitude},set altitude(t){var e=Math.max(.75,t);this._altitude!==e&amp;&amp;(this._unmodified=!1,this._altitude=e,this._calcMatrices())},get zoom(){return this._zoom},set zoom(t){var e=Math.min(Math.max(t,this.minZoom),this.maxZoom);this._zoom!==e&amp;&amp;(this._unmodified=!1,this._zoom=e,this.scale=this.zoomScale(e),this.tileZoom=Math.floor(e),this.zoomFraction=e-this.tileZoom,this._calcMatrices(),this._constrain())},get center(){return this._center},set center(t){t.lat===this._center.lat&amp;&amp;t.lng===this._center.lng||(this._unmodified=!1,this._center=t,this._calcMatrices(),this._constrain())},coveringZoomLevel:function(t){return(t.roundZoom?Math.round:Math.floor)(this.zoom+this.scaleZoom(this.tileSize/t.tileSize))},coveringTiles:function(t){var e=this.coveringZoomLevel(t),r=e;if(e&lt;t.minzoom)return[];e&gt;t.maxzoom&amp;&amp;(e=t.maxzoom);var n=this.locationCoordinate(this.center)._zoomTo(e),i=new a(n.column-.5,n.row-.5);return c.cover(e,[this.pointCoordinate(new a(0,0))._zoomTo(e),this.pointCoordinate(new a(this.width,0))._zoomTo(e),this.pointCoordinate(new a(this.width,this.height))._zoomTo(e),this.pointCoordinate(new a(0,this.height))._zoomTo(e)],t.reparseOverscaled?r:e).sort(function(t,e){return i.dist(t)-i.dist(e)})},resize:function(t,e){this.width=t,this.height=e,this.pixelsToGLUnits=[2/t,-2/e],this._calcMatrices(),this._constrain()},get unmodified(){return this._unmodified},zoomScale:function(t){return Math.pow(2,t)},scaleZoom:function(t){return Math.log(t)/Math.LN2},project:function(t,e){return new a(this.lngX(t.lng,e),this.latY(t.lat,e))},unproject:function(t,e){return new i(this.xLng(t.x,e),this.yLat(t.y,e))},get x(){return this.lngX(this.center.lng)},get y(){return this.latY(this.center.lat)},get point(){return new a(this.x,this.y)},lngX:function(t,e){return(180+t)*(e||this.worldSize)/360},latY:function(t,e){return(180-180/Math.PI*Math.log(Math.tan(Math.PI/4+t*Math.PI/360)))*(e||this.worldSize)/360},xLng:function(t,e){return 360*t/(e||this.worldSize)-180},yLat:function(t,e){var r=180-360*t/(e||this.worldSize);return 360/Math.PI*Math.atan(Math.exp(r*Math.PI/180))-90},panBy:function(t){var e=this.centerPoint._add(t);this.center=this.pointLocation(e)},setLocationAtPoint:function(t,e){var r=this.locationCoordinate(t),n=this.pointCoordinate(e),i=this.pointCoordinate(this.centerPoint),a=n._sub(r);this._unmodified=!1,this.center=this.coordinateLocation(i._sub(a))},locationPoint:function(t){return this.coordinatePoint(this.locationCoordinate(t))},pointLocation:function(t){return this.coordinateLocation(this.pointCoordinate(t))},locationCoordinate:function(t){var e=this.zoomScale(this.tileZoom)/this.worldSize,r=i.convert(t);return new o(this.lngX(r.lng)*e,this.latY(r.lat)*e,this.tileZoom)},coordinateLocation:function(t){var e=this.zoomScale(t.zoom);return new i(this.xLng(t.column,e),this.yLat(t.row,e))},pointCoordinate:function(t){var e=[t.x,t.y,0,1],r=[t.x,t.y,1,1];h.transformMat4(e,e,this.pixelMatrixInverse),h.transformMat4(r,r,this.pixelMatrixInverse);var n=e[3],i=r[3],a=e[0]/n,s=r[0]/i,c=e[1]/n,u=r[1]/i,f=e[2]/n,d=r[2]/i,p=f===d?0:(0-f)/(d-f),m=this.worldSize/this.zoomScale(this.tileZoom);return new o(l(a,s,p)/m,l(c,u,p)/m,this.tileZoom)},coordinatePoint:function(t){var e=this.worldSize/this.zoomScale(t.zoom),r=[t.column*e,t.row*e,0,1];return h.transformMat4(r,r,this.pixelMatrix),new a(r[0]/r[3],r[1]/r[3])},calculatePosMatrix:function(t,e){void 0===e&amp;&amp;(e=1/0),t instanceof c&amp;&amp;(t=t.toCoordinate(e));var r=Math.min(t.zoom,e),n=this.worldSize/Math.pow(2,r),i=new Float64Array(16);return d.identity(i),d.translate(i,i,[t.column*n,t.row*n,0]),d.scale(i,i,[n/u,n/u,1]),d.multiply(i,this.projMatrix,i),new Float32Array(i)},_constrain:function(){if(this.center&amp;&amp;this.width&amp;&amp;this.height&amp;&amp;!this._constraining){this._constraining=!0;var t,e,r,n,i,o,s,l,c=this.size,u=this._unmodified;this.latRange&amp;&amp;(t=this.latY(this.latRange[1]),i=(e=this.latY(this.latRange[0]))-t&lt;c.y?c.y/(e-t):0),this.lngRange&amp;&amp;(r=this.lngX(this.lngRange[0]),o=(n=this.lngX(this.lngRange[1]))-r&lt;c.x?c.x/(n-r):0);var f=Math.max(o||0,i||0);if(f)return this.center=this.unproject(new a(o?(n+r)/2:this.x,i?(e+t)/2:this.y)),this.zoom+=this.scaleZoom(f),this._unmodified=u,void(this._constraining=!1);if(this.latRange){var h=this.y,d=c.y/2;h-d&lt;t&amp;&amp;(l=t+d),h+d&gt;e&amp;&amp;(l=e-d)}if(this.lngRange){var p=this.x,m=c.x/2;p-m&lt;r&amp;&amp;(s=r+m),p+m&gt;n&amp;&amp;(s=n-m)}void 0===s&amp;&amp;void 0===l||(this.center=this.unproject(new a(void 0!==s?s:this.x,void 0!==l?l:this.y))),this._unmodified=u,this._constraining=!1}},_calcMatrices:function(){if(this.height){var t=Math.atan(.5/this.altitude),e=Math.sin(t)*this.altitude/Math.sin(Math.PI/2-this._pitch-t),r=Math.cos(Math.PI/2-this._pitch)*e+this.altitude,n=new Float64Array(16);if(d.perspective(n,2*Math.atan(this.height/2/this.altitude),this.width/this.height,.1,r),d.translate(n,n,[0,0,-this.altitude]),d.scale(n,n,[1,-1,1/this.height]),d.rotateX(n,n,this._pitch),d.rotateZ(n,n,this.angle),d.translate(n,n,[-this.x,-this.y,0]),this.projMatrix=n,n=d.create(),d.scale(n,n,[this.width/2,-this.height/2,1]),d.translate(n,n,[1,-1,0]),this.pixelMatrix=d.multiply(new Float64Array(16),n,this.projMatrix),!(n=d.invert(new Float64Array(16),this.pixelMatrix)))throw new Error(&quot;failed to invert matrix&quot;);this.pixelMatrixInverse=n}}}},{&quot;../data/bucket&quot;:320,&quot;../source/tile_coord&quot;:360,&quot;../util/interpolate&quot;:427,&quot;../util/util&quot;:433,&quot;./coordinate&quot;:329,&quot;./lng_lat&quot;:330,&quot;gl-matrix&quot;:198,&quot;point-geometry&quot;:477}],333:[function(t,e,r){&quot;use strict&quot;;var n={&quot; &quot;:[16,[]],&quot;!&quot;:[10,[5,21,5,7,-1,-1,5,2,4,1,5,0,6,1,5,2]],'&quot;':[16,[4,21,4,14,-1,-1,12,21,12,14]],&quot;#&quot;:[21,[11,25,4,-7,-1,-1,17,25,10,-7,-1,-1,4,12,18,12,-1,-1,3,6,17,6]],$:[20,[8,25,8,-4,-1,-1,12,25,12,-4,-1,-1,17,18,15,20,12,21,8,21,5,20,3,18,3,16,4,14,5,13,7,12,13,10,15,9,16,8,17,6,17,3,15,1,12,0,8,0,5,1,3,3]],&quot;%&quot;:[24,[21,21,3,0,-1,-1,8,21,10,19,10,17,9,15,7,14,5,14,3,16,3,18,4,20,6,21,8,21,10,20,13,19,16,19,19,20,21,21,-1,-1,17,7,15,6,14,4,14,2,16,0,18,0,20,1,21,3,21,5,19,7,17,7]],&quot;&amp;&quot;:[26,[23,12,23,13,22,14,21,14,20,13,19,11,17,6,15,3,13,1,11,0,7,0,5,1,4,2,3,4,3,6,4,8,5,9,12,13,13,14,14,16,14,18,13,20,11,21,9,20,8,18,8,16,9,13,11,10,16,3,18,1,20,0,22,0,23,1,23,2]],&quot;'&quot;:[10,[5,19,4,20,5,21,6,20,6,18,5,16,4,15]],&quot;(&quot;:[14,[11,25,9,23,7,20,5,16,4,11,4,7,5,2,7,-2,9,-5,11,-7]],&quot;)&quot;:[14,[3,25,5,23,7,20,9,16,10,11,10,7,9,2,7,-2,5,-5,3,-7]],&quot;*&quot;:[16,[8,21,8,9,-1,-1,3,18,13,12,-1,-1,13,18,3,12]],&quot;+&quot;:[26,[13,18,13,0,-1,-1,4,9,22,9]],&quot;,&quot;:[10,[6,1,5,0,4,1,5,2,6,1,6,-1,5,-3,4,-4]],&quot;-&quot;:[26,[4,9,22,9]],&quot;.&quot;:[10,[5,2,4,1,5,0,6,1,5,2]],&quot;/&quot;:[22,[20,25,2,-7]],0:[20,[9,21,6,20,4,17,3,12,3,9,4,4,6,1,9,0,11,0,14,1,16,4,17,9,17,12,16,17,14,20,11,21,9,21]],1:[20,[6,17,8,18,11,21,11,0]],2:[20,[4,16,4,17,5,19,6,20,8,21,12,21,14,20,15,19,16,17,16,15,15,13,13,10,3,0,17,0]],3:[20,[5,21,16,21,10,13,13,13,15,12,16,11,17,8,17,6,16,3,14,1,11,0,8,0,5,1,4,2,3,4]],4:[20,[13,21,3,7,18,7,-1,-1,13,21,13,0]],5:[20,[15,21,5,21,4,12,5,13,8,14,11,14,14,13,16,11,17,8,17,6,16,3,14,1,11,0,8,0,5,1,4,2,3,4]],6:[20,[16,18,15,20,12,21,10,21,7,20,5,17,4,12,4,7,5,3,7,1,10,0,11,0,14,1,16,3,17,6,17,7,16,10,14,12,11,13,10,13,7,12,5,10,4,7]],7:[20,[17,21,7,0,-1,-1,3,21,17,21]],8:[20,[8,21,5,20,4,18,4,16,5,14,7,13,11,12,14,11,16,9,17,7,17,4,16,2,15,1,12,0,8,0,5,1,4,2,3,4,3,7,4,9,6,11,9,12,13,13,15,14,16,16,16,18,15,20,12,21,8,21]],9:[20,[16,14,15,11,13,9,10,8,9,8,6,9,4,11,3,14,3,15,4,18,6,20,9,21,10,21,13,20,15,18,16,14,16,9,15,4,13,1,10,0,8,0,5,1,4,3]],&quot;:&quot;:[10,[5,14,4,13,5,12,6,13,5,14,-1,-1,5,2,4,1,5,0,6,1,5,2]],&quot;;&quot;:[10,[5,14,4,13,5,12,6,13,5,14,-1,-1,6,1,5,0,4,1,5,2,6,1,6,-1,5,-3,4,-4]],&quot;&lt;&quot;:[24,[20,18,4,9,20,0]],&quot;=&quot;:[26,[4,12,22,12,-1,-1,4,6,22,6]],&quot;&gt;&quot;:[24,[4,18,20,9,4,0]],&quot;?&quot;:[18,[3,16,3,17,4,19,5,20,7,21,11,21,13,20,14,19,15,17,15,15,14,13,13,12,9,10,9,7,-1,-1,9,2,8,1,9,0,10,1,9,2]],&quot;@&quot;:[27,[18,13,17,15,15,16,12,16,10,15,9,14,8,11,8,8,9,6,11,5,14,5,16,6,17,8,-1,-1,12,16,10,14,9,11,9,8,10,6,11,5,-1,-1,18,16,17,8,17,6,19,5,21,5,23,7,24,10,24,12,23,15,22,17,20,19,18,20,15,21,12,21,9,20,7,19,5,17,4,15,3,12,3,9,4,6,5,4,7,2,9,1,12,0,15,0,18,1,20,2,21,3,-1,-1,19,16,18,8,18,6,19,5]],A:[18,[9,21,1,0,-1,-1,9,21,17,0,-1,-1,4,7,14,7]],B:[21,[4,21,4,0,-1,-1,4,21,13,21,16,20,17,19,18,17,18,15,17,13,16,12,13,11,-1,-1,4,11,13,11,16,10,17,9,18,7,18,4,17,2,16,1,13,0,4,0]],C:[21,[18,16,17,18,15,20,13,21,9,21,7,20,5,18,4,16,3,13,3,8,4,5,5,3,7,1,9,0,13,0,15,1,17,3,18,5]],D:[21,[4,21,4,0,-1,-1,4,21,11,21,14,20,16,18,17,16,18,13,18,8,17,5,16,3,14,1,11,0,4,0]],E:[19,[4,21,4,0,-1,-1,4,21,17,21,-1,-1,4,11,12,11,-1,-1,4,0,17,0]],F:[18,[4,21,4,0,-1,-1,4,21,17,21,-1,-1,4,11,12,11]],G:[21,[18,16,17,18,15,20,13,21,9,21,7,20,5,18,4,16,3,13,3,8,4,5,5,3,7,1,9,0,13,0,15,1,17,3,18,5,18,8,-1,-1,13,8,18,8]],H:[22,[4,21,4,0,-1,-1,18,21,18,0,-1,-1,4,11,18,11]],I:[8,[4,21,4,0]],J:[16,[12,21,12,5,11,2,10,1,8,0,6,0,4,1,3,2,2,5,2,7]],K:[21,[4,21,4,0,-1,-1,18,21,4,7,-1,-1,9,12,18,0]],L:[17,[4,21,4,0,-1,-1,4,0,16,0]],M:[24,[4,21,4,0,-1,-1,4,21,12,0,-1,-1,20,21,12,0,-1,-1,20,21,20,0]],N:[22,[4,21,4,0,-1,-1,4,21,18,0,-1,-1,18,21,18,0]],O:[22,[9,21,7,20,5,18,4,16,3,13,3,8,4,5,5,3,7,1,9,0,13,0,15,1,17,3,18,5,19,8,19,13,18,16,17,18,15,20,13,21,9,21]],P:[21,[4,21,4,0,-1,-1,4,21,13,21,16,20,17,19,18,17,18,14,17,12,16,11,13,10,4,10]],Q:[22,[9,21,7,20,5,18,4,16,3,13,3,8,4,5,5,3,7,1,9,0,13,0,15,1,17,3,18,5,19,8,19,13,18,16,17,18,15,20,13,21,9,21,-1,-1,12,4,18,-2]],R:[21,[4,21,4,0,-1,-1,4,21,13,21,16,20,17,19,18,17,18,15,17,13,16,12,13,11,4,11,-1,-1,11,11,18,0]],S:[20,[17,18,15,20,12,21,8,21,5,20,3,18,3,16,4,14,5,13,7,12,13,10,15,9,16,8,17,6,17,3,15,1,12,0,8,0,5,1,3,3]],T:[16,[8,21,8,0,-1,-1,1,21,15,21]],U:[22,[4,21,4,6,5,3,7,1,10,0,12,0,15,1,17,3,18,6,18,21]],V:[18,[1,21,9,0,-1,-1,17,21,9,0]],W:[24,[2,21,7,0,-1,-1,12,21,7,0,-1,-1,12,21,17,0,-1,-1,22,21,17,0]],X:[20,[3,21,17,0,-1,-1,17,21,3,0]],Y:[18,[1,21,9,11,9,0,-1,-1,17,21,9,11]],Z:[20,[17,21,3,0,-1,-1,3,21,17,21,-1,-1,3,0,17,0]],&quot;[&quot;:[14,[4,25,4,-7,-1,-1,5,25,5,-7,-1,-1,4,25,11,25,-1,-1,4,-7,11,-7]],&quot;\\&quot;:[14,[0,21,14,-3]],&quot;]&quot;:[14,[9,25,9,-7,-1,-1,10,25,10,-7,-1,-1,3,25,10,25,-1,-1,3,-7,10,-7]],&quot;^&quot;:[16,[6,15,8,18,10,15,-1,-1,3,12,8,17,13,12,-1,-1,8,17,8,0]],_:[16,[0,-2,16,-2]],&quot;`&quot;:[10,[6,21,5,20,4,18,4,16,5,15,6,16,5,17]],a:[19,[15,14,15,0,-1,-1,15,11,13,13,11,14,8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3]],b:[19,[4,21,4,0,-1,-1,4,11,6,13,8,14,11,14,13,13,15,11,16,8,16,6,15,3,13,1,11,0,8,0,6,1,4,3]],c:[18,[15,11,13,13,11,14,8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3]],d:[19,[15,21,15,0,-1,-1,15,11,13,13,11,14,8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3]],e:[18,[3,8,15,8,15,10,14,12,13,13,11,14,8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3]],f:[12,[10,21,8,21,6,20,5,17,5,0,-1,-1,2,14,9,14]],g:[19,[15,14,15,-2,14,-5,13,-6,11,-7,8,-7,6,-6,-1,-1,15,11,13,13,11,14,8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3]],h:[19,[4,21,4,0,-1,-1,4,10,7,13,9,14,12,14,14,13,15,10,15,0]],i:[8,[3,21,4,20,5,21,4,22,3,21,-1,-1,4,14,4,0]],j:[10,[5,21,6,20,7,21,6,22,5,21,-1,-1,6,14,6,-3,5,-6,3,-7,1,-7]],k:[17,[4,21,4,0,-1,-1,14,14,4,4,-1,-1,8,8,15,0]],l:[8,[4,21,4,0]],m:[30,[4,14,4,0,-1,-1,4,10,7,13,9,14,12,14,14,13,15,10,15,0,-1,-1,15,10,18,13,20,14,23,14,25,13,26,10,26,0]],n:[19,[4,14,4,0,-1,-1,4,10,7,13,9,14,12,14,14,13,15,10,15,0]],o:[19,[8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3,16,6,16,8,15,11,13,13,11,14,8,14]],p:[19,[4,14,4,-7,-1,-1,4,11,6,13,8,14,11,14,13,13,15,11,16,8,16,6,15,3,13,1,11,0,8,0,6,1,4,3]],q:[19,[15,14,15,-7,-1,-1,15,11,13,13,11,14,8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3]],r:[13,[4,14,4,0,-1,-1,4,8,5,11,7,13,9,14,12,14]],s:[17,[14,11,13,13,10,14,7,14,4,13,3,11,4,9,6,8,11,7,13,6,14,4,14,3,13,1,10,0,7,0,4,1,3,3]],t:[12,[5,21,5,4,6,1,8,0,10,0,-1,-1,2,14,9,14]],u:[19,[4,14,4,4,5,1,7,0,10,0,12,1,15,4,-1,-1,15,14,15,0]],v:[16,[2,14,8,0,-1,-1,14,14,8,0]],w:[22,[3,14,7,0,-1,-1,11,14,7,0,-1,-1,11,14,15,0,-1,-1,19,14,15,0]],x:[17,[3,14,14,0,-1,-1,14,14,3,0]],y:[16,[2,14,8,0,-1,-1,14,14,8,0,6,-4,4,-6,2,-7,1,-7]],z:[17,[14,14,3,0,-1,-1,3,14,14,14,-1,-1,3,0,14,0]],&quot;{&quot;:[14,[9,25,7,24,6,23,5,21,5,19,6,17,7,16,8,14,8,12,6,10,-1,-1,7,24,6,22,6,20,7,18,8,17,9,15,9,13,8,11,4,9,8,7,9,5,9,3,8,1,7,0,6,-2,6,-4,7,-6,-1,-1,6,8,8,6,8,4,7,2,6,1,5,-1,5,-3,6,-5,7,-6,9,-7]],&quot;|&quot;:[8,[4,25,4,-7]],&quot;}&quot;:[14,[5,25,7,24,8,23,9,21,9,19,8,17,7,16,6,14,6,12,8,10,-1,-1,7,24,8,22,8,20,7,18,6,17,5,15,5,13,6,11,10,9,6,7,5,5,5,3,6,1,7,0,8,-2,8,-4,7,-6,-1,-1,8,8,6,6,6,4,7,2,8,1,9,-1,9,-3,8,-5,7,-6,5,-7]],&quot;~&quot;:[24,[3,6,3,8,4,11,6,12,8,12,10,11,14,8,16,7,18,7,20,8,21,10,-1,-1,3,8,4,10,6,11,8,11,10,10,14,7,16,6,18,6,20,7,21,10,21,12]]};e.exports=function(t,e,r,i){i=i||1;var a,o,s,l,c,u,f,h,d=[];for(a=0,o=t.length;a&lt;o;a++)if(c=n[t[a]]){for(h=null,s=0,l=c[1].length;s&lt;l;s+=2)-1===c[1][s]&amp;&amp;-1===c[1][s+1]?h=null:(u=e+c[1][s]*i,f=r-c[1][s+1]*i,h&amp;&amp;d.push(h.x,h.y,u,f),h={x:u,y:f});e+=c[0]*i}return d}},{}],334:[function(t,e,r){&quot;use strict&quot;;var n=e.exports={};n.version=t(&quot;../package.json&quot;).version,n.Map=t(&quot;./ui/map&quot;),n.Control=t(&quot;./ui/control/control&quot;),n.Navigation=t(&quot;./ui/control/navigation&quot;),n.Geolocate=t(&quot;./ui/control/geolocate&quot;),n.Attribution=t(&quot;./ui/control/attribution&quot;),n.Popup=t(&quot;./ui/popup&quot;),n.Marker=t(&quot;./ui/marker&quot;),n.Style=t(&quot;./style/style&quot;),n.LngLat=t(&quot;./geo/lng_lat&quot;),n.LngLatBounds=t(&quot;./geo/lng_lat_bounds&quot;),n.Point=t(&quot;point-geometry&quot;),n.Evented=t(&quot;./util/evented&quot;),n.util=t(&quot;./util/util&quot;),n.supported=t(&quot;./util/browser&quot;).supported;var i=t(&quot;./util/ajax&quot;);n.util.getJSON=i.getJSON,n.util.getArrayBuffer=i.getArrayBuffer;var a=t(&quot;./util/config&quot;);n.config=a,Object.defineProperty(n,&quot;accessToken&quot;,{get:function(){return a.ACCESS_TOKEN},set:function(t){a.ACCESS_TOKEN=t}})},{&quot;../package.json&quot;:435,&quot;./geo/lng_lat&quot;:330,&quot;./geo/lng_lat_bounds&quot;:331,&quot;./style/style&quot;:369,&quot;./ui/control/attribution&quot;:400,&quot;./ui/control/control&quot;:401,&quot;./ui/control/geolocate&quot;:402,&quot;./ui/control/navigation&quot;:403,&quot;./ui/map&quot;:412,&quot;./ui/marker&quot;:413,&quot;./ui/popup&quot;:414,&quot;./util/ajax&quot;:416,&quot;./util/browser&quot;:417,&quot;./util/config&quot;:422,&quot;./util/evented&quot;:425,&quot;./util/util&quot;:433,&quot;point-geometry&quot;:477}],335:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;assert&quot;);e.exports=function(t){for(var e={define:{},initialize:{}},r=0;r&lt;t.length;r++){var i=t[r];n(&quot;u_&quot;===i.name.slice(0,2));var a=&quot;{precision} &quot;+(1===i.components?&quot;float&quot;:&quot;vec&quot;+i.components);e.define[i.name.slice(2)]=&quot;uniform &quot;+a+&quot; &quot;+i.name+&quot;;\n&quot;,e.initialize[i.name.slice(2)]=a+&quot; &quot;+i.name.slice(2)+&quot; = &quot;+i.name+&quot;;\n&quot;}return e}},{assert:51}],336:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../source/pixels_to_tile_units&quot;),i=t(&quot;./create_uniform_pragmas&quot;),a=512;e.exports=function(t,e,r){var o,s=t.gl,l=t.transform,c=r.paint[&quot;background-color&quot;],u=r.paint[&quot;background-pattern&quot;],f=r.paint[&quot;background-opacity&quot;],h=u?t.spriteAtlas.getPosition(u.from,!0):null,d=u?t.spriteAtlas.getPosition(u.to,!0):null;if(t.setDepthSublayer(0),h&amp;&amp;d){if(t.isOpaquePass)return;o=t.useProgram(&quot;pattern&quot;),s.uniform1i(o.u_image,0),s.uniform2fv(o.u_pattern_tl_a,h.tl),s.uniform2fv(o.u_pattern_br_a,h.br),s.uniform2fv(o.u_pattern_tl_b,d.tl),s.uniform2fv(o.u_pattern_br_b,d.br),s.uniform1f(o.u_opacity,f),s.uniform1f(o.u_mix,u.t),s.uniform2fv(o.u_pattern_size_a,h.size),s.uniform2fv(o.u_pattern_size_b,d.size),s.uniform1f(o.u_scale_a,u.fromScale),s.uniform1f(o.u_scale_b,u.toScale),s.activeTexture(s.TEXTURE0),t.spriteAtlas.bind(s,!0),t.tileExtentPatternVAO.bind(s,o,t.tileExtentBuffer)}else{if(t.isOpaquePass!==(1===c[3]))return;var p=i([{name:&quot;u_color&quot;,components:4},{name:&quot;u_opacity&quot;,components:1}]);o=t.useProgram(&quot;fill&quot;,[],p,p),s.uniform4fv(o.u_color,c),s.uniform1f(o.u_opacity,f),t.tileExtentVAO.bind(s,o,t.tileExtentBuffer)}s.disable(s.STENCIL_TEST);for(var m=l.coveringTiles({tileSize:a}),g=0;g&lt;m.length;g++){var v=m[g];if(h&amp;&amp;d){var y={coord:v,tileSize:a};s.uniform1f(o.u_tile_units_to_pixels,1/n(y,1,t.transform.tileZoom));var x=y.tileSize*Math.pow(2,t.transform.tileZoom-y.coord.z),b=x*(y.coord.x+v.w*Math.pow(2,y.coord.z)),_=x*y.coord.y;s.uniform2f(o.u_pixel_coord_upper,b&gt;&gt;16,_&gt;&gt;16),s.uniform2f(o.u_pixel_coord_lower,65535&amp;b,65535&amp;_)}s.uniformMatrix4fv(o.u_matrix,!1,t.transform.calculatePosMatrix(v)),s.drawArrays(s.TRIANGLE_STRIP,0,t.tileExtentBuffer.length)}s.stencilMask(0),s.stencilFunc(s.EQUAL,128,128)}},{&quot;../source/pixels_to_tile_units&quot;:354,&quot;./create_uniform_pragmas&quot;:335}],337:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../util/browser&quot;);e.exports=function(t,e,r,i){if(!t.isOpaquePass){var a=t.gl;t.setDepthSublayer(0),t.depthMask(!1),a.disable(a.STENCIL_TEST);for(var o=0;o&lt;i.length;o++){var s=i[o],l=e.getTile(s),c=l.getBucket(r);if(c){var u=c.bufferGroups.circle;if(u){var f=c.paintAttributes.circle[r.id],h=t.useProgram(&quot;circle&quot;,f.defines,f.vertexPragmas,f.fragmentPragmas);&quot;map&quot;===r.paint[&quot;circle-pitch-scale&quot;]?(a.uniform1i(h.u_scale_with_map,!0),a.uniform2f(h.u_extrude_scale,t.transform.pixelsToGLUnits[0]*t.transform.altitude,t.transform.pixelsToGLUnits[1]*t.transform.altitude)):(a.uniform1i(h.u_scale_with_map,!1),a.uniform2fv(h.u_extrude_scale,t.transform.pixelsToGLUnits)),a.uniform1f(h.u_devicepixelratio,n.devicePixelRatio),a.uniformMatrix4fv(h.u_matrix,!1,t.translatePosMatrix(s.posMatrix,l,r.paint[&quot;circle-translate&quot;],r.paint[&quot;circle-translate-anchor&quot;])),c.setUniforms(a,&quot;circle&quot;,h,r,{zoom:t.transform.zoom});for(var d=0;d&lt;u.length;d++){var p=u[d];p.vaos[r.id].bind(a,h,p.layoutVertexBuffer,p.elementBuffer,p.paintVertexBuffers[r.id]),a.drawElements(a.TRIANGLES,3*p.elementBuffer.length,a.UNSIGNED_SHORT,0)}}}}}}},{&quot;../util/browser&quot;:417}],338:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t,e,r,n){var i=t.gl;i.enable(i.STENCIL_TEST);for(var a=t.useProgram(&quot;collisionbox&quot;),o=0;o&lt;n.length;o++){var s=n[o],l=e.getTile(s),c=l.getBucket(r);if(c){var u=c.bufferGroups.collisionBox;if(u&amp;&amp;u.length){var f=u[0];0!==f.layoutVertexBuffer.length&amp;&amp;(i.uniformMatrix4fv(a.u_matrix,!1,s.posMatrix),t.enableTileClippingMask(s),t.lineWidth(1),i.uniform1f(a.u_scale,Math.pow(2,t.transform.zoom-l.coord.z)),i.uniform1f(a.u_zoom,10*t.transform.zoom),i.uniform1f(a.u_maxzoom,10*(l.coord.z+1)),f.vaos[r.id].bind(i,a,f.layoutVertexBuffer),i.drawArrays(i.LINES,0,f.layoutVertexBuffer.length))}}}}},{}],339:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../lib/debugtext&quot;),i=t(&quot;../util/browser&quot;),a=t(&quot;gl-matrix&quot;).mat4,o=t(&quot;../data/bucket&quot;).EXTENT,s=t(&quot;../data/buffer&quot;),l=t(&quot;./vertex_array_object&quot;);e.exports=function(t,e,r){if(!t.isOpaquePass&amp;&amp;t.options.debug)for(var c=0;c&lt;r.length;c++)!function(t,e,r){var c=t.gl;c.disable(c.STENCIL_TEST),t.lineWidth(1*i.devicePixelRatio);var u=r.posMatrix,f=t.useProgram(&quot;debug&quot;);c.uniformMatrix4fv(f.u_matrix,!1,u),c.uniform4f(f.u_color,1,0,0,1),t.debugVAO.bind(c,f,t.debugBuffer),c.drawArrays(c.LINE_STRIP,0,t.debugBuffer.length);for(var h=n(r.toString(),50,200,5),d=new t.PosArray,p=0;p&lt;h.length;p+=2)d.emplaceBack(h[p],h[p+1]);var m=new s(d.serialize(),t.PosArray.serialize(),s.BufferType.VERTEX);(new l).bind(c,f,m),c.uniform4f(f.u_color,1,1,1,1);for(var g=e.getTile(r).tileSize,v=o/(Math.pow(2,t.transform.zoom-r.z)*g),y=[[-1,-1],[-1,1],[1,-1],[1,1]],x=0;x&lt;y.length;x++){var b=y[x];c.uniformMatrix4fv(f.u_matrix,!1,a.translate([],u,[v*b[0],v*b[1],0])),c.drawArrays(c.LINES,0,m.length)}c.uniform4f(f.u_color,0,0,0,1),c.uniformMatrix4fv(f.u_matrix,!1,u),c.drawArrays(c.LINES,0,m.length)}(t,e,r[c])}},{&quot;../data/bucket&quot;:320,&quot;../data/buffer&quot;:325,&quot;../lib/debugtext&quot;:333,&quot;../util/browser&quot;:417,&quot;./vertex_array_object&quot;:348,&quot;gl-matrix&quot;:198}],340:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,n,a,o){var s=a.gl,l=a.spriteAtlas.getPosition(t.from,!0),c=a.spriteAtlas.getPosition(t.to,!0);if(l&amp;&amp;c){s.uniform1i(o.u_image,0),s.uniform2fv(o.u_pattern_tl_a,l.tl),s.uniform2fv(o.u_pattern_br_a,l.br),s.uniform2fv(o.u_pattern_tl_b,c.tl),s.uniform2fv(o.u_pattern_br_b,c.br),s.uniform1f(o.u_opacity,e),s.uniform1f(o.u_mix,t.t),s.uniform1f(o.u_tile_units_to_pixels,1/i(r,1,a.transform.tileZoom)),s.uniform2fv(o.u_pattern_size_a,l.size),s.uniform2fv(o.u_pattern_size_b,c.size),s.uniform1f(o.u_scale_a,t.fromScale),s.uniform1f(o.u_scale_b,t.toScale);var u=r.tileSize*Math.pow(2,a.transform.tileZoom-r.coord.z),f=u*(r.coord.x+n.w*Math.pow(2,r.coord.z)),h=u*r.coord.y;s.uniform2f(o.u_pixel_coord_upper,f&gt;&gt;16,h&gt;&gt;16),s.uniform2f(o.u_pixel_coord_lower,65535&amp;f,65535&amp;h),s.activeTexture(s.TEXTURE0),a.spriteAtlas.bind(s,!0)}}var i=t(&quot;../source/pixels_to_tile_units&quot;);e.exports=function(t,e,r,i){var a=t.gl;a.enable(a.STENCIL_TEST);var o;if(o=!r.paint[&quot;fill-pattern&quot;]&amp;&amp;r.isPaintValueFeatureConstant(&quot;fill-color&quot;)&amp;&amp;r.isPaintValueFeatureConstant(&quot;fill-opacity&quot;)&amp;&amp;1===r.paint[&quot;fill-color&quot;][3]&amp;&amp;1===r.paint[&quot;fill-opacity&quot;],t.isOpaquePass===o){t.setDepthSublayer(1);for(var s=0;s&lt;i.length;s++)!function(t,e,r,i){var a=e.getTile(i),o=a.getBucket(r);if(o){var s=o.bufferGroups.fill;if(s){var l,c=t.gl,u=r.paint[&quot;fill-pattern&quot;];if(u)l=t.useProgram(&quot;pattern&quot;),n(u,r.paint[&quot;fill-opacity&quot;],a,i,t,l),c.activeTexture(c.TEXTURE0),t.spriteAtlas.bind(c,!0);else{var f=o.paintAttributes.fill[r.id];l=t.useProgram(&quot;fill&quot;,f.defines,f.vertexPragmas,f.fragmentPragmas),o.setUniforms(c,&quot;fill&quot;,l,r,{zoom:t.transform.zoom})}c.uniformMatrix4fv(l.u_matrix,!1,t.translatePosMatrix(i.posMatrix,a,r.paint[&quot;fill-translate&quot;],r.paint[&quot;fill-translate-anchor&quot;])),t.enableTileClippingMask(i);for(var h=0;h&lt;s.length;h++){var d=s[h];d.vaos[r.id].bind(c,l,d.layoutVertexBuffer,d.elementBuffer,d.paintVertexBuffers[r.id]),c.drawElements(c.TRIANGLES,d.elementBuffer.length,c.UNSIGNED_SHORT,0)}}}}(t,e,r,i[s])}if(!t.isOpaquePass&amp;&amp;r.paint[&quot;fill-antialias&quot;]){t.lineWidth(2),t.depthMask(!1);var l=r.getPaintProperty(&quot;fill-outline-color&quot;);!l&amp;&amp;r.paint[&quot;fill-pattern&quot;]||!l?t.setDepthSublayer(0):t.setDepthSublayer(2);for(var c=0;c&lt;i.length;c++)!function(t,e,r,i){var a=e.getTile(i),o=a.getBucket(r);if(o){var s,l=t.gl,c=o.bufferGroups.fill,u=r.paint[&quot;fill-pattern&quot;],f=r.paint[&quot;fill-opacity&quot;],h=r.getPaintProperty(&quot;fill-outline-color&quot;);if(u&amp;&amp;!h)s=t.useProgram(&quot;outlinepattern&quot;),l.uniform2f(s.u_world,l.drawingBufferWidth,l.drawingBufferHeight);else{var d=o.paintAttributes.fill[r.id];s=t.useProgram(&quot;outline&quot;,d.defines,d.vertexPragmas,d.fragmentPragmas),l.uniform2f(s.u_world,l.drawingBufferWidth,l.drawingBufferHeight),l.uniform1f(s.u_opacity,f),o.setUniforms(l,&quot;fill&quot;,s,r,{zoom:t.transform.zoom})}l.uniformMatrix4fv(s.u_matrix,!1,t.translatePosMatrix(i.posMatrix,a,r.paint[&quot;fill-translate&quot;],r.paint[&quot;fill-translate-anchor&quot;])),u&amp;&amp;n(u,f,a,i,t,s),t.enableTileClippingMask(i);for(var p=0;p&lt;c.length;p++){var m=c[p];m.secondVaos[r.id].bind(l,s,m.layoutVertexBuffer,m.elementBuffer2,m.paintVertexBuffers[r.id]),l.drawElements(l.LINES,2*m.elementBuffer2.length,l.UNSIGNED_SHORT,0)}}}(t,e,r,i[c])}}},{&quot;../source/pixels_to_tile_units&quot;:354}],341:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../util/browser&quot;),i=t(&quot;gl-matrix&quot;).mat2,a=t(&quot;../source/pixels_to_tile_units&quot;);e.exports=function(t,e,r,o){if(!t.isOpaquePass){t.setDepthSublayer(0),t.depthMask(!1);var s=t.gl;if(s.enable(s.STENCIL_TEST),!(r.paint[&quot;line-width&quot;]&lt;=0)){var l=1/n.devicePixelRatio,c=r.paint[&quot;line-blur&quot;]+l,u=r.paint[&quot;line-color&quot;],f=t.transform,h=i.create();i.scale(h,h,[1,Math.cos(f._pitch)]),i.rotate(h,h,t.transform.angle);var d,p,m,g,v,y=Math.sqrt(f.height*f.height/4*(1+f.altitude*f.altitude)),x=(y+f.height/2*Math.tan(f._pitch))/y-1,b=r.paint[&quot;line-dasharray&quot;],_=r.paint[&quot;line-pattern&quot;];if(b)d=t.useProgram(&quot;linesdfpattern&quot;),s.uniform1f(d.u_linewidth,r.paint[&quot;line-width&quot;]/2),s.uniform1f(d.u_gapwidth,r.paint[&quot;line-gap-width&quot;]/2),s.uniform1f(d.u_antialiasing,l/2),s.uniform1f(d.u_blur,c),s.uniform4fv(d.u_color,u),s.uniform1f(d.u_opacity,r.paint[&quot;line-opacity&quot;]),p=t.lineAtlas.getDash(b.from,&quot;round&quot;===r.layout[&quot;line-cap&quot;]),m=t.lineAtlas.getDash(b.to,&quot;round&quot;===r.layout[&quot;line-cap&quot;]),s.uniform1i(d.u_image,0),s.activeTexture(s.TEXTURE0),t.lineAtlas.bind(s),s.uniform1f(d.u_tex_y_a,p.y),s.uniform1f(d.u_tex_y_b,m.y),s.uniform1f(d.u_mix,b.t),s.uniform1f(d.u_extra,x),s.uniform1f(d.u_offset,-r.paint[&quot;line-offset&quot;]),s.uniformMatrix2fv(d.u_antialiasingmatrix,!1,h);else if(_){if(g=t.spriteAtlas.getPosition(_.from,!0),v=t.spriteAtlas.getPosition(_.to,!0),!g||!v)return;d=t.useProgram(&quot;linepattern&quot;),s.uniform1i(d.u_image,0),s.activeTexture(s.TEXTURE0),t.spriteAtlas.bind(s,!0),s.uniform1f(d.u_linewidth,r.paint[&quot;line-width&quot;]/2),s.uniform1f(d.u_gapwidth,r.paint[&quot;line-gap-width&quot;]/2),s.uniform1f(d.u_antialiasing,l/2),s.uniform1f(d.u_blur,c),s.uniform2fv(d.u_pattern_tl_a,g.tl),s.uniform2fv(d.u_pattern_br_a,g.br),s.uniform2fv(d.u_pattern_tl_b,v.tl),s.uniform2fv(d.u_pattern_br_b,v.br),s.uniform1f(d.u_fade,_.t),s.uniform1f(d.u_opacity,r.paint[&quot;line-opacity&quot;]),s.uniform1f(d.u_extra,x),s.uniform1f(d.u_offset,-r.paint[&quot;line-offset&quot;]),s.uniformMatrix2fv(d.u_antialiasingmatrix,!1,h)}else d=t.useProgram(&quot;line&quot;),s.uniform1f(d.u_linewidth,r.paint[&quot;line-width&quot;]/2),s.uniform1f(d.u_gapwidth,r.paint[&quot;line-gap-width&quot;]/2),s.uniform1f(d.u_antialiasing,l/2),s.uniform1f(d.u_blur,c),s.uniform1f(d.u_extra,x),s.uniform1f(d.u_offset,-r.paint[&quot;line-offset&quot;]),s.uniformMatrix2fv(d.u_antialiasingmatrix,!1,h),s.uniform4fv(d.u_color,u),s.uniform1f(d.u_opacity,r.paint[&quot;line-opacity&quot;]);for(var w=0;w&lt;o.length;w++){var M=o[w],k=e.getTile(M),A=k.getBucket(r);if(A){var T=A.bufferGroups.line;if(T){t.enableTileClippingMask(M);var S=t.translatePosMatrix(M.posMatrix,k,r.paint[&quot;line-translate&quot;],r.paint[&quot;line-translate-anchor&quot;]);s.uniformMatrix4fv(d.u_matrix,!1,S);var E=1/a(k,1,t.transform.zoom);if(b){var L=p.width*b.fromScale,C=m.width*b.toScale,z=[1/a(k,L,t.transform.tileZoom),-p.height/2],D=[1/a(k,C,t.transform.tileZoom),-m.height/2],I=t.lineAtlas.width/(256*Math.min(L,C)*n.devicePixelRatio)/2;s.uniform1f(d.u_ratio,E),s.uniform2fv(d.u_patternscale_a,z),s.uniform2fv(d.u_patternscale_b,D),s.uniform1f(d.u_sdfgamma,I)}else _?(s.uniform1f(d.u_ratio,E),s.uniform2fv(d.u_pattern_size_a,[a(k,g.size[0]*_.fromScale,t.transform.tileZoom),v.size[1]]),s.uniform2fv(d.u_pattern_size_b,[a(k,v.size[0]*_.toScale,t.transform.tileZoom),v.size[1]])):s.uniform1f(d.u_ratio,E);for(var P=0;P&lt;T.length;P++){var O=T[P];O.vaos[r.id].bind(s,d,O.layoutVertexBuffer,O.elementBuffer),s.drawElements(s.TRIANGLES,3*O.elementBuffer.length,s.UNSIGNED_SHORT,0)}}}}}}}},{&quot;../source/pixels_to_tile_units&quot;:354,&quot;../util/browser&quot;:417,&quot;gl-matrix&quot;:198}],342:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,n){if(!t.isOpaquePass){var a=t.gl;a.enable(a.DEPTH_TEST),t.depthMask(!0),a.depthFunc(a.LESS);for(var o=n.length&amp;&amp;n[0].z,s=0;s&lt;n.length;s++){var l=n[s];t.setDepthSublayer(l.z-o),function(t,e,r,n){var a=t.gl;a.disable(a.STENCIL_TEST);var o=e.getTile(n),s=t.transform.calculatePosMatrix(n,e.maxzoom),l=t.useProgram(&quot;raster&quot;);a.uniformMatrix4fv(l.u_matrix,!1,s),a.uniform1f(l.u_brightness_low,r.paint[&quot;raster-brightness-min&quot;]),a.uniform1f(l.u_brightness_high,r.paint[&quot;raster-brightness-max&quot;]),a.uniform1f(l.u_saturation_factor,function(t){return t&gt;0?1-1/(1.001-t):-t}(r.paint[&quot;raster-saturation&quot;])),a.uniform1f(l.u_contrast_factor,function(t){return t&gt;0?1/(1-t):1+t}(r.paint[&quot;raster-contrast&quot;])),a.uniform3fv(l.u_spin_weights,function(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]}(r.paint[&quot;raster-hue-rotate&quot;]));var c,u,f=o.source&amp;&amp;o.source.findLoadedParent(n,0,{}),h=function(t,e,r,n){var a=[1,0],o=r.paint[&quot;raster-fade-duration&quot;];if(t.source&amp;&amp;o&gt;0){var s=(new Date).getTime(),l=(s-t.timeAdded)/o,c=e?(s-e.timeAdded)/o:-1,u=n.coveringZoomLevel(t.source),f=!!e&amp;&amp;Math.abs(e.coord.z-u)&gt;Math.abs(t.coord.z-u);!e||f?(a[0]=i.clamp(l,0,1),a[1]=1-a[0]):(a[0]=i.clamp(1-c,0,1),a[1]=1-a[0])}var h=r.paint[&quot;raster-opacity&quot;];return a[0]*=h,a[1]*=h,a}(o,f,r,t.transform);a.activeTexture(a.TEXTURE0),a.bindTexture(a.TEXTURE_2D,o.texture),a.activeTexture(a.TEXTURE1),f?(a.bindTexture(a.TEXTURE_2D,f.texture),c=Math.pow(2,f.coord.z-o.coord.z),u=[o.coord.x*c%1,o.coord.y*c%1]):(a.bindTexture(a.TEXTURE_2D,o.texture),h[1]=0);a.uniform2fv(l.u_tl_parent,u||[0,0]),a.uniform1f(l.u_scale_parent,c||1),a.uniform1f(l.u_buffer_scale,1),a.uniform1f(l.u_opacity0,h[0]),a.uniform1f(l.u_opacity1,h[1]),a.uniform1i(l.u_image0,0),a.uniform1i(l.u_image1,1);var d=o.boundsBuffer||t.rasterBoundsBuffer;(o.boundsVAO||t.rasterBoundsVAO).bind(a,l,d),a.drawArrays(a.TRIANGLE_STRIP,0,d.length)}(t,e,r,l)}a.depthFunc(a.LEQUAL)}}var i=t(&quot;../util/util&quot;),a=t(&quot;../util/struct_array&quot;);e.exports=n,n.RasterBoundsArray=new a({members:[{name:&quot;a_pos&quot;,type:&quot;Int16&quot;,components:2},{name:&quot;a_texture_pos&quot;,type:&quot;Int16&quot;,components:2}]})},{&quot;../util/struct_array&quot;:431,&quot;../util/util&quot;:433}],343:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,n,a,s,l,c,u,f,h,d,p,m,g){for(var v=0;v&lt;n.length;v++){var y=e.getTile(n[v]),x=y.getBucket(r);if(x){var b=x.bufferGroups,_=a?b.glyph:b.icon;_.length&amp;&amp;(t.enableTileClippingMask(n[v]),function(t,e,r,n,a,s,l,c,u,f,h,d,p,m,g,v,y,x,b,_,w){var M,k,A,T=t.gl,S=t.transform,E=&quot;map&quot;===m,L=&quot;map&quot;===g,C=l?24:1,z=v/C;L?(k=o(n,1,t.transform.zoom)*z,A=1/Math.cos(S._pitch),M=[k,k]):(k=t.transform.altitude*z,A=1,M=[S.pixelsToGLUnits[0]*k,S.pixelsToGLUnits[1]*k]);if(!l&amp;&amp;!t.style.sprite.loaded())return;var D=t.useProgram(c?&quot;sdf&quot;:&quot;icon&quot;);if(T.uniformMatrix4fv(D.u_matrix,!1,t.translatePosMatrix(r,n,d,p)),T.uniform1i(D.u_rotate_with_map,E),T.uniform1i(D.u_pitch_with_map,L),T.uniform2fv(D.u_extrude_scale,M),T.activeTexture(T.TEXTURE0),T.uniform1i(D.u_texture,0),l){var I=h&amp;&amp;t.glyphSource.getGlyphAtlas(h);if(!I)return;I.updateTexture(T),T.uniform2f(D.u_texsize,I.width/4,I.height/4)}else{var P=t.options.rotating||t.options.zooming,O=1!==z||i.devicePixelRatio!==t.spriteAtlas.pixelRatio||u,F=L||t.transform.pitch;t.spriteAtlas.bind(T,c||P||O||F),T.uniform2f(D.u_texsize,t.spriteAtlas.width/4,t.spriteAtlas.height/4)}var R=Math.log(v/f)/Math.LN2||0;T.uniform1f(D.u_zoom,10*(t.transform.zoom-R)),T.activeTexture(T.TEXTURE1),t.frameHistory.bind(T),T.uniform1i(D.u_fadetexture,1);var N;if(c){var j=.105*C/v/i.devicePixelRatio;if(y){T.uniform1f(D.u_gamma,(1.19*b/z/8+j)*A),T.uniform4fv(D.u_color,x),T.uniform1f(D.u_opacity,_),T.uniform1f(D.u_buffer,(6-y/z)/8);for(var B=0;B&lt;s.length;B++)(N=s[B]).vaos[e.id].bind(T,D,N.layoutVertexBuffer,N.elementBuffer),T.drawElements(T.TRIANGLES,3*N.elementBuffer.length,T.UNSIGNED_SHORT,0)}T.uniform1f(D.u_gamma,j*A),T.uniform4fv(D.u_color,w),T.uniform1f(D.u_opacity,_),T.uniform1f(D.u_buffer,.75),T.uniform1f(D.u_pitch,S.pitch/360*2*Math.PI),T.uniform1f(D.u_bearing,S.bearing/360*2*Math.PI),T.uniform1f(D.u_aspect_ratio,S.width/S.height);for(var U=0;U&lt;s.length;U++)(N=s[U]).vaos[e.id].bind(T,D,N.layoutVertexBuffer,N.elementBuffer),T.drawElements(T.TRIANGLES,3*N.elementBuffer.length,T.UNSIGNED_SHORT,0)}else{T.uniform1f(D.u_opacity,_);for(var V=0;V&lt;s.length;V++)(N=s[V]).vaos[e.id].bind(T,D,N.layoutVertexBuffer,N.elementBuffer),T.drawElements(T.TRIANGLES,3*N.elementBuffer.length,T.UNSIGNED_SHORT,0)}}(t,r,n[v].posMatrix,y,0,_,a,a||x.sdfIcons,!a&amp;&amp;x.iconsNeedLinear,a?x.adjustedTextSize:x.adjustedIconSize,x.fontstack,s,l,c,u,f,h,d,p,m,g))}}}var i=t(&quot;../util/browser&quot;),a=t(&quot;./draw_collision_debug&quot;),o=t(&quot;../source/pixels_to_tile_units&quot;);e.exports=function(t,e,r,i){if(!t.isOpaquePass){var o=!(r.layout[&quot;text-allow-overlap&quot;]||r.layout[&quot;icon-allow-overlap&quot;]||r.layout[&quot;text-ignore-placement&quot;]||r.layout[&quot;icon-ignore-placement&quot;]),s=t.gl;o?s.disable(s.STENCIL_TEST):s.enable(s.STENCIL_TEST),t.setDepthSublayer(0),t.depthMask(!1),s.disable(s.DEPTH_TEST),n(t,e,r,i,!1,r.paint[&quot;icon-translate&quot;],r.paint[&quot;icon-translate-anchor&quot;],r.layout[&quot;icon-rotation-alignment&quot;],r.layout[&quot;icon-rotation-alignment&quot;],r.layout[&quot;icon-size&quot;],r.paint[&quot;icon-halo-width&quot;],r.paint[&quot;icon-halo-color&quot;],r.paint[&quot;icon-halo-blur&quot;],r.paint[&quot;icon-opacity&quot;],r.paint[&quot;icon-color&quot;]),n(t,e,r,i,!0,r.paint[&quot;text-translate&quot;],r.paint[&quot;text-translate-anchor&quot;],r.layout[&quot;text-rotation-alignment&quot;],r.layout[&quot;text-pitch-alignment&quot;],r.layout[&quot;text-size&quot;],r.paint[&quot;text-halo-width&quot;],r.paint[&quot;text-halo-color&quot;],r.paint[&quot;text-halo-blur&quot;],r.paint[&quot;text-opacity&quot;],r.paint[&quot;text-color&quot;]),s.enable(s.DEPTH_TEST),e.map.showCollisionBoxes&amp;&amp;a(t,e,r,i)}}},{&quot;../source/pixels_to_tile_units&quot;:354,&quot;../util/browser&quot;:417,&quot;./draw_collision_debug&quot;:338}],344:[function(t,e,r){&quot;use strict&quot;;function n(){this.changeTimes=new Float64Array(256),this.changeOpacities=new Uint8Array(256),this.opacities=new Uint8ClampedArray(256),this.array=new Uint8Array(this.opacities.buffer),this.fadeDuration=300,this.previousZoom=0,this.firstFrame=!0}e.exports=n,n.prototype.record=function(t){var e=Date.now();this.firstFrame&amp;&amp;(e=0,this.firstFrame=!1);var r;if((t=Math.floor(10*t))&lt;this.previousZoom)for(r=t+1;r&lt;=this.previousZoom;r++)this.changeTimes[r]=e,this.changeOpacities[r]=this.opacities[r];else for(r=t;r&gt;this.previousZoom;r--)this.changeTimes[r]=e,this.changeOpacities[r]=this.opacities[r];for(r=0;r&lt;256;r++){var n=(e-this.changeTimes[r])/this.fadeDuration*255;this.opacities[r]=r&lt;=t?this.changeOpacities[r]+n:this.changeOpacities[r]-n}this.changed=!0,this.previousZoom=t},n.prototype.bind=function(t){this.texture?(t.bindTexture(t.TEXTURE_2D,this.texture),this.changed&amp;&amp;(t.texSubImage2D(t.TEXTURE_2D,0,0,0,256,1,t.ALPHA,t.UNSIGNED_BYTE,this.array),this.changed=!1)):(this.texture=t.createTexture(),t.bindTexture(t.TEXTURE_2D,this.texture),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),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MIN_FILTER,t.NEAREST),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MAG_FILTER,t.NEAREST),t.texImage2D(t.TEXTURE_2D,0,t.ALPHA,256,1,0,t.ALPHA,t.UNSIGNED_BYTE,this.array))}},{}],345:[function(t,e,r){&quot;use strict&quot;;function n(t,e){this.width=t,this.height=e,this.nextRow=0,this.bytes=4,this.data=new Uint8Array(this.width*this.height*this.bytes),this.positions={}}var i=t(&quot;../util/util&quot;);e.exports=n,n.prototype.setSprite=function(t){this.sprite=t},n.prototype.getDash=function(t,e){var r=t.join(&quot;,&quot;)+e;return this.positions[r]||(this.positions[r]=this.addDash(t,e)),this.positions[r]},n.prototype.addDash=function(t,e){var r=e?7:0,n=2*r+1;if(this.nextRow+n&gt;this.height)return i.warnOnce(&quot;LineAtlas out of space&quot;),null;for(var a=0,o=0;o&lt;t.length;o++)a+=t[o];for(var s=this.width/a,l=s/2,c=t.length%2==1,u=-r;u&lt;=r;u++)for(var f=this.nextRow+r+u,h=this.width*f,d=c?-t[t.length-1]:0,p=t[0],m=1,g=0;g&lt;this.width;g++){for(;p&lt;g/s;)d=p,p+=t[m],c&amp;&amp;m===t.length-1&amp;&amp;(p+=t[0]),m++;var v,y=Math.abs(g-d*s),x=Math.abs(g-p*s),b=Math.min(y,x),_=m%2==1;if(e){var w=r?u/r*(l+1):0;if(_){var M=l-Math.abs(w);v=Math.sqrt(b*b+M*M)}else v=l-Math.sqrt(b*b+w*w)}else v=(_?1:-1)*b;this.data[3+4*(h+g)]=Math.max(0,Math.min(255,v+128))}var k={y:(this.nextRow+r+.5)/this.height,height:2*r/this.height,width:a};return this.nextRow+=n,this.dirty=!0,k},n.prototype.bind=function(t){this.texture?(t.bindTexture(t.TEXTURE_2D,this.texture),this.dirty&amp;&amp;(this.dirty=!1,t.texSubImage2D(t.TEXTURE_2D,0,0,0,this.width,this.height,t.RGBA,t.UNSIGNED_BYTE,this.data))):(this.texture=t.createTexture(),t.bindTexture(t.TEXTURE_2D,this.texture),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_S,t.REPEAT),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_T,t.REPEAT),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MIN_FILTER,t.LINEAR),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MAG_FILTER,t.LINEAR),t.texImage2D(t.TEXTURE_2D,0,t.RGBA,this.width,this.height,0,t.RGBA,t.UNSIGNED_BYTE,this.data))}},{&quot;../util/util&quot;:433}],346:[function(t,e,r){&quot;use strict&quot;;function n(t,e){this.gl=t,this.transform=e,this.reusableTextures={},this.preFbos={},this.frameHistory=new o,this.setup(),this.numSublayers=s.maxUnderzooming+s.maxOverzooming+1,this.depthEpsilon=1/Math.pow(2,16),this.lineWidthRange=t.getParameter(t.ALIASED_LINE_WIDTH_RANGE)}var i=t(&quot;../util/browser&quot;),a=t(&quot;gl-matrix&quot;).mat4,o=t(&quot;./frame_history&quot;),s=t(&quot;../source/source_cache&quot;),l=t(&quot;../data/bucket&quot;).EXTENT,c=t(&quot;../source/pixels_to_tile_units&quot;),u=t(&quot;../util/util&quot;),f=t(&quot;../util/struct_array&quot;),h=t(&quot;../data/buffer&quot;),d=t(&quot;./vertex_array_object&quot;),p=t(&quot;./draw_raster&quot;).RasterBoundsArray,m=t(&quot;./create_uniform_pragmas&quot;);e.exports=n,u.extend(n.prototype,t(&quot;./painter/use_program&quot;)),n.prototype.resize=function(t,e){var r=this.gl;this.width=t*i.devicePixelRatio,this.height=e*i.devicePixelRatio,r.viewport(0,0,this.width,this.height)},n.prototype.setup=function(){var t=this.gl;t.verbose=!0,t.enable(t.BLEND),t.blendFunc(t.ONE,t.ONE_MINUS_SRC_ALPHA),t.enable(t.STENCIL_TEST),t.enable(t.DEPTH_TEST),t.depthFunc(t.LEQUAL),this._depthMask=!1,t.depthMask(!1);var e=this.PosArray=new f({members:[{name:&quot;a_pos&quot;,type:&quot;Int16&quot;,components:2}]}),r=new e;r.emplaceBack(0,0),r.emplaceBack(l,0),r.emplaceBack(0,l),r.emplaceBack(l,l),this.tileExtentBuffer=new h(r.serialize(),e.serialize(),h.BufferType.VERTEX),this.tileExtentVAO=new d,this.tileExtentPatternVAO=new d;var n=new e;n.emplaceBack(0,0),n.emplaceBack(l,0),n.emplaceBack(l,l),n.emplaceBack(0,l),n.emplaceBack(0,0),this.debugBuffer=new h(n.serialize(),e.serialize(),h.BufferType.VERTEX),this.debugVAO=new d;var i=new p;i.emplaceBack(0,0,0,0),i.emplaceBack(l,0,32767,0),i.emplaceBack(0,l,0,32767),i.emplaceBack(l,l,32767,32767),this.rasterBoundsBuffer=new h(i.serialize(),p.serialize(),h.BufferType.VERTEX),this.rasterBoundsVAO=new d},n.prototype.clearColor=function(){var t=this.gl;t.clearColor(0,0,0,0),t.clear(t.COLOR_BUFFER_BIT)},n.prototype.clearStencil=function(){var t=this.gl;t.clearStencil(0),t.stencilMask(255),t.clear(t.STENCIL_BUFFER_BIT)},n.prototype.clearDepth=function(){var t=this.gl;t.clearDepth(1),this.depthMask(!0),t.clear(t.DEPTH_BUFFER_BIT)},n.prototype._renderTileClippingMasks=function(t){var e=this.gl;e.colorMask(!1,!1,!1,!1),this.depthMask(!1),e.disable(e.DEPTH_TEST),e.enable(e.STENCIL_TEST),e.stencilMask(248),e.stencilOp(e.KEEP,e.KEEP,e.REPLACE);var r=1;this._tileClippingMaskIDs={};for(var n=0;n&lt;t.length;n++){var i=t[n],a=this._tileClippingMaskIDs[i.id]=r++&lt;&lt;3;e.stencilFunc(e.ALWAYS,a,248);var o=m([{name:&quot;u_color&quot;,components:4},{name:&quot;u_opacity&quot;,components:1}]),s=this.useProgram(&quot;fill&quot;,[],o,o);e.uniformMatrix4fv(s.u_matrix,!1,i.posMatrix),this.tileExtentVAO.bind(e,s,this.tileExtentBuffer),e.drawArrays(e.TRIANGLE_STRIP,0,this.tileExtentBuffer.length)}e.stencilMask(0),e.colorMask(!0,!0,!0,!0),this.depthMask(!0),e.enable(e.DEPTH_TEST)},n.prototype.enableTileClippingMask=function(t){var e=this.gl;e.stencilFunc(e.EQUAL,this._tileClippingMaskIDs[t.id],248)},n.prototype.prepareBuffers=function(){},n.prototype.bindDefaultFramebuffer=function(){var t=this.gl;t.bindFramebuffer(t.FRAMEBUFFER,null)};var g={symbol:t(&quot;./draw_symbol&quot;),circle:t(&quot;./draw_circle&quot;),line:t(&quot;./draw_line&quot;),fill:t(&quot;./draw_fill&quot;),raster:t(&quot;./draw_raster&quot;),background:t(&quot;./draw_background&quot;),debug:t(&quot;./draw_debug&quot;)};n.prototype.render=function(t,e){this.style=t,this.options=e,this.lineAtlas=t.lineAtlas,this.spriteAtlas=t.spriteAtlas,this.spriteAtlas.setSprite(t.sprite),this.glyphSource=t.glyphSource,this.frameHistory.record(this.transform.zoom),this.prepareBuffers(),this.clearColor(),this.clearDepth(),this.showOverdrawInspector(e.showOverdrawInspector),this.depthRange=(t._order.length+2)*this.numSublayers*this.depthEpsilon,this.renderPass({isOpaquePass:!0}),this.renderPass({isOpaquePass:!1})},n.prototype.renderPass=function(t){var e=this.style._groups,r=t.isOpaquePass;this.currentLayer=r?this.style._order.length:-1;for(var n=0;n&lt;e.length;n++){var i,a=e[r?e.length-1-n:n],o=this.style.sources[a.source],s=[];if(o){for(s=o.getVisibleCoordinates(),i=0;i&lt;s.length;i++)s[i].posMatrix=this.transform.calculatePosMatrix(s[i],o.maxzoom);this.clearStencil(),o.prepare&amp;&amp;o.prepare(),o.isTileClipped&amp;&amp;this._renderTileClippingMasks(s)}for(r?(this._showOverdrawInspector||this.gl.disable(this.gl.BLEND),this.isOpaquePass=!0):(this.gl.enable(this.gl.BLEND),this.isOpaquePass=!1,s.reverse()),i=0;i&lt;a.length;i++){var l=a[r?a.length-1-i:i];this.currentLayer+=r?-1:1,this.renderLayer(this,o,l,s)}o&amp;&amp;g.debug(this,o,s)}},n.prototype.depthMask=function(t){t!==this._depthMask&amp;&amp;(this._depthMask=t,this.gl.depthMask(t))},n.prototype.renderLayer=function(t,e,r,n){r.isHidden(this.transform.zoom)||(&quot;background&quot;===r.type||n.length)&amp;&amp;(this.id=r.id,g[r.type](t,e,r,n))},n.prototype.setDepthSublayer=function(t){var e=1-((1+this.currentLayer)*this.numSublayers+t)*this.depthEpsilon,r=e-1+this.depthRange;this.gl.depthRange(r,e)},n.prototype.translatePosMatrix=function(t,e,r,n){if(!r[0]&amp;&amp;!r[1])return t;if(&quot;viewport&quot;===n){var i=Math.sin(-this.transform.angle),o=Math.cos(-this.transform.angle);r=[r[0]*o-r[1]*i,r[0]*i+r[1]*o]}var s=[c(e,r[0],this.transform.zoom),c(e,r[1],this.transform.zoom),0],l=new Float32Array(16);return a.translate(l,t,s),l},n.prototype.saveTexture=function(t){var e=this.reusableTextures[t.size];e?e.push(t):this.reusableTextures[t.size]=[t]},n.prototype.getTexture=function(t){var e=this.reusableTextures[t];return e&amp;&amp;e.length&gt;0?e.pop():null},n.prototype.lineWidth=function(t){this.gl.lineWidth(u.clamp(t,this.lineWidthRange[0],this.lineWidthRange[1]))},n.prototype.showOverdrawInspector=function(t){if(t||this._showOverdrawInspector){this._showOverdrawInspector=t;var e=this.gl;if(t){e.blendFunc(e.CONSTANT_COLOR,e.ONE);e.blendColor(1/8,1/8,1/8,0),e.clearColor(0,0,0,1),e.clear(e.COLOR_BUFFER_BIT)}else e.blendFunc(e.ONE,e.ONE_MINUS_SRC_ALPHA)}}},{&quot;../data/bucket&quot;:320,&quot;../data/buffer&quot;:325,&quot;../source/pixels_to_tile_units&quot;:354,&quot;../source/source_cache&quot;:358,&quot;../util/browser&quot;:417,&quot;../util/struct_array&quot;:431,&quot;../util/util&quot;:433,&quot;./create_uniform_pragmas&quot;:335,&quot;./draw_background&quot;:336,&quot;./draw_circle&quot;:337,&quot;./draw_debug&quot;:339,&quot;./draw_fill&quot;:340,&quot;./draw_line&quot;:341,&quot;./draw_raster&quot;:342,&quot;./draw_symbol&quot;:343,&quot;./frame_history&quot;:344,&quot;./painter/use_program&quot;:347,&quot;./vertex_array_object&quot;:348,&quot;gl-matrix&quot;:198}],347:[function(t,e,r){&quot;use strict&quot;;function n(t,e){return t.replace(/#pragma mapbox: ([\w]+) ([\w]+) ([\w]+) ([\w]+)/g,function(t,r,n,i,a){return e[r][a].replace(/{type}/g,i).replace(/{precision}/g,n)})}var i=t(&quot;assert&quot;),a=t(&quot;../../util/util&quot;),o=t(&quot;mapbox-gl-shaders&quot;),s=o.util;e.exports._createProgram=function(t,e,r,l){for(var c=this.gl,u=c.createProgram(),f=o[t],h=&quot;#define MAPBOX_GL_JS;\n&quot;,d=0;d&lt;e.length;d++)h+=&quot;#define &quot;+e[d]+&quot;;\n&quot;;var p=c.createShader(c.FRAGMENT_SHADER);c.shaderSource(p,n(h+f.fragmentSource,l)),c.compileShader(p),i(c.getShaderParameter(p,c.COMPILE_STATUS),c.getShaderInfoLog(p)),c.attachShader(u,p);var m=c.createShader(c.VERTEX_SHADER);c.shaderSource(m,n(h+s+f.vertexSource,r)),c.compileShader(m),i(c.getShaderParameter(m,c.COMPILE_STATUS),c.getShaderInfoLog(m)),c.attachShader(u,m),c.linkProgram(u),i(c.getProgramParameter(u,c.LINK_STATUS),c.getProgramInfoLog(u));for(var g={},v=c.getProgramParameter(u,c.ACTIVE_ATTRIBUTES),y=0;y&lt;v;y++){var x=c.getActiveAttrib(u,y);g[x.name]=c.getAttribLocation(u,x.name)}for(var b={},_=c.getProgramParameter(u,c.ACTIVE_UNIFORMS),w=0;w&lt;_;w++){var M=c.getActiveUniform(u,w);b[M.name]=c.getUniformLocation(u,M.name)}return a.extend({program:u,definition:f,attributes:g,numAttributes:v},g,b)},e.exports._createProgramCached=function(t,e,r,n){this.cache=this.cache||{};var i=JSON.stringify({name:t,defines:e,vertexPragmas:r,fragmentPragmas:n});return this.cache[i]||(this.cache[i]=this._createProgram(t,e,r,n)),this.cache[i]},e.exports.useProgram=function(t,e,r,n){var i=this.gl;e=e||[],this._showOverdrawInspector&amp;&amp;(e=e.concat(&quot;OVERDRAW_INSPECTOR&quot;));var a=this._createProgramCached(t,e,r,n);return this.currentProgram!==a&amp;&amp;(i.useProgram(a.program),this.currentProgram=a),a}},{&quot;../../util/util&quot;:433,assert:51,&quot;mapbox-gl-shaders&quot;:294}],348:[function(t,e,r){&quot;use strict&quot;;function n(){this.boundProgram=null,this.boundVertexBuffer=null,this.boundVertexBuffer2=null,this.boundElementBuffer=null,this.vao=null}var i=t(&quot;assert&quot;);e.exports=n,n.prototype.bind=function(t,e,r,n,i){void 0===t.extVertexArrayObject&amp;&amp;(t.extVertexArrayObject=t.getExtension(&quot;OES_vertex_array_object&quot;));var a=!this.vao||this.boundProgram!==e||this.boundVertexBuffer!==r||this.boundVertexBuffer2!==i||this.boundElementBuffer!==n;!t.extVertexArrayObject||a?this.freshBind(t,e,r,n,i):t.extVertexArrayObject.bindVertexArrayOES(this.vao)},n.prototype.freshBind=function(t,e,r,n,a){var o,s=e.numAttributes;if(t.extVertexArrayObject)this.vao&amp;&amp;this.destroy(t),this.vao=t.extVertexArrayObject.createVertexArrayOES(),t.extVertexArrayObject.bindVertexArrayOES(this.vao),o=0,this.boundProgram=e,this.boundVertexBuffer=r,this.boundVertexBuffer2=a,this.boundElementBuffer=n;else{o=t.currentNumAttributes||0;for(var l=s;l&lt;o;l++)i(0!==l),t.disableVertexAttribArray(l)}for(var c=o;c&lt;s;c++)t.enableVertexAttribArray(c);r.bind(t),r.setVertexAttribPointers(t,e),a&amp;&amp;(a.bind(t),a.setVertexAttribPointers(t,e)),n&amp;&amp;n.bind(t),t.currentNumAttributes=s},n.prototype.unbind=function(t){var e=t.extVertexArrayObject;e&amp;&amp;e.bindVertexArrayOES(null)},n.prototype.destroy=function(t){var e=t.extVertexArrayObject;e&amp;&amp;this.vao&amp;&amp;(e.deleteVertexArrayOES(this.vao),this.vao=null)}},{assert:51}],349:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r){e=e||{},this.id=t,this.dispatcher=r,this._data=e.data,void 0!==e.maxzoom&amp;&amp;(this.maxzoom=e.maxzoom),e.type&amp;&amp;(this.type=e.type);var n=s/this.tileSize;this.workerOptions=a.extend({source:this.id,cluster:e.cluster||!1,geojsonVtOptions:{buffer:(void 0!==e.buffer?e.buffer:128)*n,tolerance:(void 0!==e.tolerance?e.tolerance:.375)*n,extent:s,maxZoom:this.maxzoom},superclusterOptions:{maxZoom:Math.min(e.clusterMaxZoom,this.maxzoom-1)||this.maxzoom-1,extent:s,radius:(e.clusterRadius||50)*n,log:!1}},e.workerOptions),this._updateWorkerData(function(t){t?this.fire(&quot;error&quot;,{error:t}):this.fire(&quot;load&quot;)}.bind(this))}var i=t(&quot;../util/evented&quot;),a=t(&quot;../util/util&quot;),o=t(&quot;resolve-url&quot;),s=t(&quot;../data/bucket&quot;).EXTENT;e.exports=n,n.prototype=a.inherit(i,{type:&quot;geojson&quot;,minzoom:0,maxzoom:18,tileSize:512,isTileClipped:!0,reparseOverscaled:!0,onAdd:function(t){this.map=t},setData:function(t){return this._data=t,this._updateWorkerData(function(t){if(t)return this.fire(&quot;error&quot;,{error:t});this.fire(&quot;change&quot;)}.bind(this)),this},_updateWorkerData:function(t){var e=a.extend({},this.workerOptions),r=this._data;&quot;string&quot;==typeof r?e.url=&quot;undefined&quot;!=typeof window?o(window.location.href,r):r:e.data=JSON.stringify(r),this.workerID=this.dispatcher.send(this.type+&quot;.loadData&quot;,e,function(e){this._loaded=!0,t(e)}.bind(this))},loadTile:function(t,e){var r=t.coord.z&gt;this.maxzoom?Math.pow(2,t.coord.z-this.maxzoom):1,n={type:this.type,uid:t.uid,coord:t.coord,zoom:t.coord.z,maxZoom:this.maxzoom,tileSize:this.tileSize,source:this.id,overscaling:r,angle:this.map.transform.angle,pitch:this.map.transform.pitch,showCollisionBoxes:this.map.showCollisionBoxes};t.workerID=this.dispatcher.send(&quot;load tile&quot;,n,function(r,n){if(t.unloadVectorData(this.map.painter),!t.aborted)return r?e(r):(t.loadVectorData(n,this.map.style),t.redoWhenDone&amp;&amp;(t.redoWhenDone=!1,t.redoPlacement(this)),e(null))}.bind(this),this.workerID)},abortTile:function(t){t.aborted=!0},unloadTile:function(t){t.unloadVectorData(this.map.painter),this.dispatcher.send(&quot;remove tile&quot;,{uid:t.uid,source:this.id},function(){},t.workerID)},serialize:function(){return{type:this.type,data:this._data}}})},{&quot;../data/bucket&quot;:320,&quot;../util/evented&quot;:425,&quot;../util/util&quot;:433,&quot;resolve-url&quot;:508}],350:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r){r&amp;&amp;(this.loadGeoJSON=r),f.call(this,t,e)}var i=t(&quot;../util/util&quot;),a=t(&quot;../util/ajax&quot;),o=t(&quot;geojson-rewind&quot;),s=t(&quot;./geojson_wrapper&quot;),l=t(&quot;vt-pbf&quot;),c=t(&quot;supercluster&quot;),u=t(&quot;geojson-vt&quot;),f=t(&quot;./vector_tile_worker_source&quot;);e.exports=n,n.prototype=i.inherit(f,{_geoJSONIndexes:{},loadVectorData:function(t,e){var r=t.source,n=t.coord;if(!this._geoJSONIndexes[r])return e(null,null);var i=this._geoJSONIndexes[r].getTile(Math.min(n.z,t.maxZoom),n.x,n.y);if(!i)return e(null,null);var a=new s(i.features);a.name=&quot;_geojsonTileLayer&quot;;var o=l({layers:{_geojsonTileLayer:a}});0===o.byteOffset&amp;&amp;o.byteLength===o.buffer.byteLength||(o=new Uint8Array(o)),e(null,{tile:a,rawTileData:o.buffer})},loadData:function(t,e){var r=function(r,n){return r?e(r):&quot;object&quot;!=typeof n?e(new Error(&quot;Input data is not a valid GeoJSON object.&quot;)):(o(n,!0),void this._indexData(n,t,function(r,n){if(r)return e(r);this._geoJSONIndexes[t.source]=n,e(null)}.bind(this)))}.bind(this);this.loadGeoJSON(t,r)},loadGeoJSON:function(t,e){if(t.url)a.getJSON(t.url,e);else{if(&quot;string&quot;!=typeof t.data)return e(new Error(&quot;Input data is not a valid GeoJSON object.&quot;));try{return e(null,JSON.parse(t.data))}catch(t){return e(new Error(&quot;Input data is not a valid GeoJSON object.&quot;))}}},_indexData:function(t,e,r){try{e.cluster?r(null,c(e.superclusterOptions).load(t.features)):r(null,u(t,e.geojsonVtOptions))}catch(t){return r(t)}}})},{&quot;../util/ajax&quot;:416,&quot;../util/util&quot;:433,&quot;./geojson_wrapper&quot;:351,&quot;./vector_tile_worker_source&quot;:362,&quot;geojson-rewind&quot;:147,&quot;geojson-vt&quot;:151,supercluster:538,&quot;vt-pbf&quot;:570}],351:[function(t,e,r){&quot;use strict&quot;;function n(t){this.features=t,this.length=t.length,this.extent=s}function i(t){if(this.type=t.type,1===t.type){this.rawGeometry=[];for(var e=0;e&lt;t.geometry.length;e++)this.rawGeometry.push([t.geometry[e]])}else this.rawGeometry=t.geometry;this.properties=t.tags,this.extent=s}var a=t(&quot;point-geometry&quot;),o=t(&quot;vector-tile&quot;).VectorTileFeature,s=t(&quot;../data/bucket&quot;).EXTENT;e.exports=n,n.prototype.feature=function(t){return new i(this.features[t])},i.prototype.loadGeometry=function(){var t=this.rawGeometry;this.geometry=[];for(var e=0;e&lt;t.length;e++){for(var r=t[e],n=[],i=0;i&lt;r.length;i++)n.push(new a(r[i][0],r[i][1]));this.geometry.push(n)}return this.geometry},i.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&lt;t.length;a++)for(var o=t[a],s=0;s&lt;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]},i.prototype.toGeoJSON=o.prototype.toGeoJSON},{&quot;../data/bucket&quot;:320,&quot;point-geometry&quot;:477,&quot;vector-tile&quot;:564}],352:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r){this.id=t,this.dispatcher=r,this.url=e.url,this.coordinates=e.coordinates,c.getImage(e.url,function(t,r){if(t)return this.fire(&quot;error&quot;,{error:t});this.image=r,this.image.addEventListener(&quot;load&quot;,function(){this.map._rerender()}.bind(this)),this._loaded=!0,this.fire(&quot;load&quot;),this.map&amp;&amp;this.setCoordinates(e.coordinates)}.bind(this))}var i=t(&quot;../util/util&quot;),a=t(&quot;./tile_coord&quot;),o=t(&quot;../geo/lng_lat&quot;),s=t(&quot;point-geometry&quot;),l=t(&quot;../util/evented&quot;),c=t(&quot;../util/ajax&quot;),u=t(&quot;../data/bucket&quot;).EXTENT,f=t(&quot;../render/draw_raster&quot;).RasterBoundsArray,h=t(&quot;../data/buffer&quot;),d=t(&quot;../render/vertex_array_object&quot;);e.exports=n,n.prototype=i.inherit(l,{minzoom:0,maxzoom:22,tileSize:512,onAdd:function(t){this.map=t,this.image&amp;&amp;this.setCoordinates(this.coordinates)},setCoordinates:function(t){this.coordinates=t;var e=this.map,r=t.map(function(t){return e.transform.locationCoordinate(o.convert(t)).zoomTo(0)}),n=this.centerCoord=i.getCoordinatesCenter(r);return n.column=Math.round(n.column),n.row=Math.round(n.row),this.minzoom=this.maxzoom=n.zoom,this._coord=new a(n.zoom,n.column,n.row),this._tileCoords=r.map(function(t){var e=t.zoomTo(n.zoom);return new s(Math.round((e.column-n.column)*u),Math.round((e.row-n.row)*u))}),this.fire(&quot;change&quot;),this},_setTile:function(t){this._prepared=!1,this.tile=t;var e=new f;e.emplaceBack(this._tileCoords[0].x,this._tileCoords[0].y,0,0),e.emplaceBack(this._tileCoords[1].x,this._tileCoords[1].y,32767,0),e.emplaceBack(this._tileCoords[3].x,this._tileCoords[3].y,0,32767),e.emplaceBack(this._tileCoords[2].x,this._tileCoords[2].y,32767,32767),this.tile.buckets={},this.tile.boundsBuffer=new h(e.serialize(),f.serialize(),h.BufferType.VERTEX),this.tile.boundsVAO=new d,this.tile.state=&quot;loaded&quot;},prepare:function(){if(this._loaded&amp;&amp;this.image&amp;&amp;this.image.complete&amp;&amp;this.tile){var t=this.map.painter.gl;this._prepared?(t.bindTexture(t.TEXTURE_2D,this.tile.texture),t.texSubImage2D(t.TEXTURE_2D,0,0,0,t.RGBA,t.UNSIGNED_BYTE,this.image)):(this.tile.texture=t.createTexture(),t.bindTexture(t.TEXTURE_2D,this.tile.texture),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),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MIN_FILTER,t.LINEAR),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MAG_FILTER,t.LINEAR),t.texImage2D(t.TEXTURE_2D,0,t.RGBA,t.RGBA,t.UNSIGNED_BYTE,this.image))}},loadTile:function(t,e){this._coord&amp;&amp;this._coord.toString()===t.coord.toString()?(this._setTile(t),e(null)):(t.state=&quot;errored&quot;,e(null))},serialize:function(){return{type:&quot;image&quot;,urls:this.url,coordinates:this.coordinates}}})},{&quot;../data/bucket&quot;:320,&quot;../data/buffer&quot;:325,&quot;../geo/lng_lat&quot;:330,&quot;../render/draw_raster&quot;:342,&quot;../render/vertex_array_object&quot;:348,&quot;../util/ajax&quot;:416,&quot;../util/evented&quot;:425,&quot;../util/util&quot;:433,&quot;./tile_coord&quot;:360,&quot;point-geometry&quot;:477}],353:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../util/util&quot;),i=t(&quot;../util/ajax&quot;),a=t(&quot;../util/browser&quot;),o=t(&quot;../util/mapbox&quot;).normalizeSourceURL;e.exports=function(t,e){var r=function(t,r){if(t)return e(t);var i=n.pick(r,[&quot;tiles&quot;,&quot;minzoom&quot;,&quot;maxzoom&quot;,&quot;attribution&quot;]);r.vector_layers&amp;&amp;(i.vectorLayers=r.vector_layers,i.vectorLayerIds=i.vectorLayers.map(function(t){return t.id})),e(null,i)};t.url?i.getJSON(o(t.url),r):a.frame(r.bind(null,null,t))}},{&quot;../util/ajax&quot;:416,&quot;../util/browser&quot;:417,&quot;../util/mapbox&quot;:430,&quot;../util/util&quot;:433}],354:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../data/bucket&quot;);e.exports=function(t,e,r){return e*(n.EXTENT/(t.tileSize*Math.pow(2,r-t.coord.z)))}},{&quot;../data/bucket&quot;:320}],355:[function(t,e,r){&quot;use strict&quot;;function n(t,e){var r=t.coord,n=e.coord;return r.z-n.z||r.y-n.y||r.w-n.w||r.x-n.x}var i=t(&quot;./tile_coord&quot;);r.rendered=function(t,e,r,i,a,o){var s=t.tilesIn(r);s.sort(n);for(var l=[],c=0;c&lt;s.length;c++){var u=s[c];u.tile.featureIndex&amp;&amp;l.push(u.tile.featureIndex.query({queryGeometry:u.queryGeometry,scale:u.scale,tileSize:u.tile.tileSize,bearing:o,params:i},e))}return function(t){for(var e=t[0]||{},r=1;r&lt;t.length;r++){var n=t[r];for(var i in n){var a=n[i],o=e[i];if(void 0===o)o=e[i]=a;else for(var s=0;s&lt;a.length;s++)o.push(a[s])}}return e}(l)},r.source=function(t,e){for(var r=t.getRenderableIds().map(function(e){return t.getTileByID(e)}),n=[],a={},o=0;o&lt;r.length;o++){var s=r[o],l=new i(Math.min(s.sourceMaxZoom,s.coord.z),s.coord.x,s.coord.y,0).id;a[l]||(a[l]=!0,s.querySourceFeatures(n,e))}return n}},{&quot;./tile_coord&quot;:360}],356:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r){this.id=t,this.dispatcher=r,i.extend(this,i.pick(e,[&quot;url&quot;,&quot;scheme&quot;,&quot;tileSize&quot;])),s(e,function(t,e){if(t)return this.fire(&quot;error&quot;,t);i.extend(this,e),this.fire(&quot;load&quot;)}.bind(this))}var i=t(&quot;../util/util&quot;),a=t(&quot;../util/ajax&quot;),o=t(&quot;../util/evented&quot;),s=t(&quot;./load_tilejson&quot;),l=t(&quot;../util/mapbox&quot;).normalizeTileURL;e.exports=n,n.prototype=i.inherit(o,{minzoom:0,maxzoom:22,roundZoom:!0,scheme:&quot;xyz&quot;,tileSize:512,_loaded:!1,onAdd:function(t){this.map=t},serialize:function(){return{type:&quot;raster&quot;,url:this.url,tileSize:this.tileSize}},loadTile:function(t,e){var r=l(t.coord.url(this.tiles,null,this.scheme),this.url,this.tileSize);t.request=a.getImage(r,function(r,n){if(delete t.request,!t.aborted){if(r)return e(r);var i=this.map.painter.gl;t.texture=this.map.painter.getTexture(n.width),t.texture?(i.bindTexture(i.TEXTURE_2D,t.texture),i.texSubImage2D(i.TEXTURE_2D,0,0,0,i.RGBA,i.UNSIGNED_BYTE,n)):(t.texture=i.createTexture(),i.bindTexture(i.TEXTURE_2D,t.texture),i.texParameteri(i.TEXTURE_2D,i.TEXTURE_MIN_FILTER,i.LINEAR_MIPMAP_NEAREST),i.texParameteri(i.TEXTURE_2D,i.TEXTURE_MAG_FILTER,i.LINEAR),i.texParameteri(i.TEXTURE_2D,i.TEXTURE_WRAP_S,i.CLAMP_TO_EDGE),i.texParameteri(i.TEXTURE_2D,i.TEXTURE_WRAP_T,i.CLAMP_TO_EDGE),i.pixelStorei(i.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!0),i.texImage2D(i.TEXTURE_2D,0,i.RGBA,i.RGBA,i.UNSIGNED_BYTE,n),t.texture.size=n.width),i.generateMipmap(i.TEXTURE_2D),this.map.animationLoop.set(this.map.style.rasterFadeDuration),t.state=&quot;loaded&quot;,e(null)}}.bind(this))},abortTile:function(t){t.request&amp;&amp;(t.request.abort(),delete t.request)},unloadTile:function(t){t.texture&amp;&amp;this.map.painter.saveTexture(t.texture)}})},{&quot;../util/ajax&quot;:416,&quot;../util/evented&quot;:425,&quot;../util/mapbox&quot;:430,&quot;../util/util&quot;:433,&quot;./load_tilejson&quot;:353}],357:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../util/util&quot;),i={vector:t(&quot;../source/vector_tile_source&quot;),raster:t(&quot;../source/raster_tile_source&quot;),geojson:t(&quot;../source/geojson_source&quot;),video:t(&quot;../source/video_source&quot;),image:t(&quot;../source/image_source&quot;)};r.create=function(t,e,r){if((e=new i[e.type](t,e,r)).id!==t)throw new Error(&quot;Expected Source id to be &quot;+t+&quot; instead of &quot;+e.id);return n.bindAll([&quot;load&quot;,&quot;abort&quot;,&quot;unload&quot;,&quot;serialize&quot;,&quot;prepare&quot;],e),e},r.getType=function(t){return i[t]},r.setType=function(t,e){i[t]=e}},{&quot;../source/geojson_source&quot;:349,&quot;../source/image_source&quot;:352,&quot;../source/raster_tile_source&quot;:356,&quot;../source/vector_tile_source&quot;:361,&quot;../source/video_source&quot;:363,&quot;../util/util&quot;:433}],358:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r){this.id=t,this.dispatcher=r;var n=this._source=o.create(t,e,r).on(&quot;load&quot;,function(){this.map&amp;&amp;this._source.onAdd&amp;&amp;this._source.onAdd(this.map),this._sourceLoaded=!0,this.tileSize=n.tileSize,this.minzoom=n.minzoom,this.maxzoom=n.maxzoom,this.roundZoom=n.roundZoom,this.reparseOverscaled=n.reparseOverscaled,this.isTileClipped=n.isTileClipped,this.attribution=n.attribution,this.vectorLayerIds=n.vectorLayerIds,this.fire(&quot;load&quot;)}.bind(this)).on(&quot;error&quot;,function(t){this._sourceErrored=!0,this.fire(&quot;error&quot;,t)}.bind(this)).on(&quot;change&quot;,function(){this.reload(),this.transform&amp;&amp;this.update(this.transform,this.map&amp;&amp;this.map.style.rasterFadeDuration),this.fire(&quot;change&quot;)}.bind(this));this._tiles={},this._cache=new u(0,this.unloadTile.bind(this)),this._isIdRenderable=this._isIdRenderable.bind(this)}function i(t,e,r){var n=r.zoomTo(Math.min(t.z,e));return{x:(n.column-(t.x+t.w*Math.pow(2,t.z)))*d,y:(n.row-t.y)*d}}function a(t,e){return t%32-e%32}var o=t(&quot;./source&quot;),s=t(&quot;./tile&quot;),l=t(&quot;../util/evented&quot;),c=t(&quot;./tile_coord&quot;),u=t(&quot;../util/lru_cache&quot;),f=t(&quot;../geo/coordinate&quot;),h=t(&quot;../util/util&quot;),d=t(&quot;../data/bucket&quot;).EXTENT;e.exports=n,n.maxOverzooming=10,n.maxUnderzooming=3,n.prototype=h.inherit(l,{onAdd:function(t){this.map=t,this._source&amp;&amp;this._source.onAdd&amp;&amp;this._source.onAdd(t)},loaded:function(){if(this._sourceErrored)return!0;if(!this._sourceLoaded)return!1;for(var t in this._tiles){var e=this._tiles[t];if(&quot;loaded&quot;!==e.state&amp;&amp;&quot;errored&quot;!==e.state)return!1}return!0},getSource:function(){return this._source},loadTile:function(t,e){return this._source.loadTile(t,e)},unloadTile:function(t){if(this._source.unloadTile)return this._source.unloadTile(t)},abortTile:function(t){if(this._source.abortTile)return this._source.abortTile(t)},serialize:function(){return this._source.serialize()},prepare:function(){if(this._sourceLoaded&amp;&amp;this._source.prepare)return this._source.prepare()},getIds:function(){return Object.keys(this._tiles).map(Number).sort(a)},getRenderableIds:function(){return this.getIds().filter(this._isIdRenderable)},_isIdRenderable:function(t){return this._tiles[t].isRenderable()&amp;&amp;!this._coveredTiles[t]},reload:function(){this._cache.reset();for(var t in this._tiles){var e=this._tiles[t];&quot;loading&quot;!==e.state&amp;&amp;(e.state=&quot;reloading&quot;),this.loadTile(this._tiles[t],this._tileLoaded.bind(this,this._tiles[t]))}},_tileLoaded:function(t,e){if(e)return t.state=&quot;errored&quot;,this.fire(&quot;tile.error&quot;,{tile:t,error:e}),void this._source.fire(&quot;tile.error&quot;,{tile:t,error:e});t.source=this,t.timeAdded=(new Date).getTime(),this.fire(&quot;tile.load&quot;,{tile:t}),this._source.fire(&quot;tile.load&quot;,{tile:t})},getTile:function(t){return this.getTileByID(t.id)},getTileByID:function(t){return this._tiles[t]},getZoom:function(t){return t.zoom+t.scaleZoom(t.tileSize/this.tileSize)},findLoadedChildren:function(t,e,r){var n=!1;for(var i in this._tiles){var a=this._tiles[i];if(!(r[i]||!a.isRenderable()||a.coord.z&lt;=t.z||a.coord.z&gt;e)){var o=Math.pow(2,Math.min(a.coord.z,this.maxzoom)-Math.min(t.z,this.maxzoom));if(Math.floor(a.coord.x/o)===t.x&amp;&amp;Math.floor(a.coord.y/o)===t.y)for(r[i]=!0,n=!0;a&amp;&amp;a.coord.z-1&gt;t.z;){var s=a.coord.parent(this.maxzoom).id;(a=this._tiles[s])&amp;&amp;a.isRenderable()&amp;&amp;(delete r[i],r[s]=!0)}}}return n},findLoadedParent:function(t,e,r){for(var n=t.z-1;n&gt;=e;n--){t=t.parent(this.maxzoom);var i=this._tiles[t.id];if(i&amp;&amp;i.isRenderable())return r[t.id]=!0,i;if(this._cache.has(t.id))return this.addTile(t),r[t.id]=!0,this._tiles[t.id]}},updateCacheSize:function(t){var e=(Math.ceil(t.width/t.tileSize)+1)*(Math.ceil(t.height/t.tileSize)+1);this._cache.setMaxSize(Math.floor(5*e))},update:function(t,e){if(this._sourceLoaded){var r,i,a;this.updateCacheSize(t);var o=(this.roundZoom?Math.round:Math.floor)(this.getZoom(t)),s=Math.max(o-n.maxOverzooming,this.minzoom),l=Math.max(o+n.maxUnderzooming,this.minzoom),u={},f=(new Date).getTime();this._coveredTiles={};var d=this.used?t.coveringTiles(this._source):[];for(r=0;r&lt;d.length;r++)i=d[r],a=this.addTile(i),u[i.id]=!0,a.isRenderable()||this.findLoadedChildren(i,l,u)||this.findLoadedParent(i,s,u);for(var p={},m=Object.keys(u),g=0;g&lt;m.length;g++){var v=m[g];i=c.fromID(v),(a=this._tiles[v])&amp;&amp;a.timeAdded&gt;f-(e||0)&amp;&amp;(this.findLoadedChildren(i,l,u)&amp;&amp;(u[v]=!0),this.findLoadedParent(i,s,p))}var y;for(y in p)u[y]||(this._coveredTiles[y]=!0);for(y in p)u[y]=!0;var x=h.keysDifference(this._tiles,u);for(r=0;r&lt;x.length;r++)this.removeTile(+x[r]);this.transform=t}},addTile:function(t){var e=this._tiles[t.id];if(e)return e;var r=t.wrapped();if((e=this._tiles[r.id])||(e=this._cache.get(r.id))&amp;&amp;this._redoPlacement&amp;&amp;this._redoPlacement(e),!e){var n=t.z,i=n&gt;this.maxzoom?Math.pow(2,n-this.maxzoom):1;e=new s(r,this.tileSize*i,this.maxzoom),this.loadTile(e,this._tileLoaded.bind(this,e))}return e.uses++,this._tiles[t.id]=e,this.fire(&quot;tile.add&quot;,{tile:e}),this._source.fire(&quot;tile.add&quot;,{tile:e}),e},removeTile:function(t){var e=this._tiles[t];e&amp;&amp;(e.uses--,delete this._tiles[t],this.fire(&quot;tile.remove&quot;,{tile:e}),this._source.fire(&quot;tile.remove&quot;,{tile:e}),e.uses&gt;0||(e.isRenderable()?this._cache.add(e.coord.wrapped().id,e):(e.aborted=!0,this.abortTile(e),this.unloadTile(e))))},clearTiles:function(){for(var t in this._tiles)this.removeTile(t);this._cache.reset()},tilesIn:function(t){for(var e={},r=this.getIds(),n=1/0,a=1/0,o=-1/0,s=-1/0,l=t[0].zoom,u=0;u&lt;t.length;u++){var h=t[u];n=Math.min(n,h.column),a=Math.min(a,h.row),o=Math.max(o,h.column),s=Math.max(s,h.row)}for(var p=0;p&lt;r.length;p++){var m=this._tiles[r[p]],g=c.fromID(r[p]),v=[i(g,m.sourceMaxZoom,new f(n,a,l)),i(g,m.sourceMaxZoom,new f(o,s,l))];if(v[0].x&lt;d&amp;&amp;v[0].y&lt;d&amp;&amp;v[1].x&gt;=0&amp;&amp;v[1].y&gt;=0){for(var y=[],x=0;x&lt;t.length;x++)y.push(i(g,m.sourceMaxZoom,t[x]));var b=e[m.coord.id];void 0===b&amp;&amp;(b=e[m.coord.id]={tile:m,coord:g,queryGeometry:[],scale:Math.pow(2,this.transform.zoom-m.coord.z)}),b.queryGeometry.push(y)}}var _=[];for(var w in e)_.push(e[w]);return _},redoPlacement:function(){for(var t=this.getIds(),e=0;e&lt;t.length;e++){this.getTileByID(t[e]).redoPlacement(this)}},getVisibleCoordinates:function(){return this.getRenderableIds().map(c.fromID)}})},{&quot;../data/bucket&quot;:320,&quot;../geo/coordinate&quot;:329,&quot;../util/evented&quot;:425,&quot;../util/lru_cache&quot;:429,&quot;../util/util&quot;:433,&quot;./source&quot;:357,&quot;./tile&quot;:359,&quot;./tile_coord&quot;:360}],359:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r){this.coord=t,this.uid=a.uniqueId(),this.uses=0,this.tileSize=e,this.sourceMaxZoom=r,this.buckets={},this.state=&quot;loading&quot;}function i(t,e){if(e){for(var r={},n=0;n&lt;t.length;n++){var i=e.getLayer(t[n].layerId);if(i){var s=o.create(a.extend({layer:i,childLayers:t[n].childLayerIds.map(e.getLayer.bind(e)).filter(function(t){return t})},t[n]));r[s.id]=s}}return r}}var a=t(&quot;../util/util&quot;),o=t(&quot;../data/bucket&quot;),s=t(&quot;../data/feature_index&quot;),l=t(&quot;vector-tile&quot;),c=t(&quot;pbf&quot;),u=t(&quot;../util/vectortile_to_geojson&quot;),f=t(&quot;feature-filter&quot;),h=t(&quot;../symbol/collision_tile&quot;),d=t(&quot;../symbol/collision_box&quot;),p=t(&quot;../symbol/symbol_instances&quot;),m=t(&quot;../symbol/symbol_quads&quot;);e.exports=n,n.prototype={loadVectorData:function(t,e){this.state=&quot;loaded&quot;,t&amp;&amp;(this.collisionBoxArray=new d(t.collisionBoxArray),this.collisionTile=new h(t.collisionTile,this.collisionBoxArray),this.symbolInstancesArray=new p(t.symbolInstancesArray),this.symbolQuadsArray=new m(t.symbolQuadsArray),this.featureIndex=new s(t.featureIndex,t.rawTileData,this.collisionTile),this.rawTileData=t.rawTileData,this.buckets=i(t.buckets,e))},reloadSymbolData:function(t,e,r){if(&quot;unloaded&quot;!==this.state){this.collisionTile=new h(t.collisionTile,this.collisionBoxArray),this.featureIndex.setCollisionTile(this.collisionTile);for(var n in this.buckets){var o=this.buckets[n];&quot;symbol&quot;===o.type&amp;&amp;(o.destroy(e.gl),delete this.buckets[n])}a.extend(this.buckets,i(t.buckets,r))}},unloadVectorData:function(t){for(var e in this.buckets){this.buckets[e].destroy(t.gl)}this.collisionBoxArray=null,this.symbolQuadsArray=null,this.symbolInstancesArray=null,this.collisionTile=null,this.featureIndex=null,this.rawTileData=null,this.buckets=null,this.state=&quot;unloaded&quot;},redoPlacement:function(t){&quot;loaded&quot;===this.state&amp;&amp;&quot;reloading&quot;!==this.state?(this.state=&quot;reloading&quot;,t.dispatcher.send(&quot;redo placement&quot;,{uid:this.uid,source:t.id,angle:t.map.transform.angle,pitch:t.map.transform.pitch,showCollisionBoxes:t.map.showCollisionBoxes},function(e,r){this.reloadSymbolData(r,t.map.painter,t.map.style),t.fire(&quot;tile.load&quot;,{tile:this}),this.state=&quot;loaded&quot;,this.redoWhenDone&amp;&amp;(this.redoPlacement(t),this.redoWhenDone=!1)}.bind(this),this.workerID)):this.redoWhenDone=!0},getBucket:function(t){return this.buckets&amp;&amp;this.buckets[t.ref||t.id]},querySourceFeatures:function(t,e){if(this.rawTileData){this.vtLayers||(this.vtLayers=new l.VectorTile(new c(new Uint8Array(this.rawTileData))).layers);var r=this.vtLayers._geojsonTileLayer||this.vtLayers[e.sourceLayer];if(r)for(var n=f(e.filter),i={z:this.coord.z,x:this.coord.x,y:this.coord.y},a=0;a&lt;r.length;a++){var o=r.feature(a);if(n(o)){var s=new u(o,this.coord.z,this.coord.x,this.coord.y);s.tile=i,t.push(s)}}}},isRenderable:function(){return&quot;loaded&quot;===this.state||&quot;reloading&quot;===this.state}}},{&quot;../data/bucket&quot;:320,&quot;../data/feature_index&quot;:327,&quot;../symbol/collision_box&quot;:385,&quot;../symbol/collision_tile&quot;:387,&quot;../symbol/symbol_instances&quot;:396,&quot;../symbol/symbol_quads&quot;:397,&quot;../util/util&quot;:433,&quot;../util/vectortile_to_geojson&quot;:434,&quot;feature-filter&quot;:141,pbf:470,&quot;vector-tile&quot;:564}],360:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,n){s(!isNaN(t)&amp;&amp;t&gt;=0&amp;&amp;t%1==0),s(!isNaN(e)&amp;&amp;e&gt;=0&amp;&amp;e%1==0),s(!isNaN(r)&amp;&amp;r&gt;=0&amp;&amp;r%1==0),isNaN(n)&amp;&amp;(n=0),this.z=+t,this.x=+e,this.y=+r,this.w=+n,(n*=2)&lt;0&amp;&amp;(n=-1*n-1);var i=1&lt;&lt;this.z;this.id=32*(i*i*n+i*this.y+this.x)+this.z,this.posMatrix=null}function i(t,e){if(t.row&gt;e.row){var r=t;t=e,e=r}return{x0:t.column,y0:t.row,x1:e.column,y1:e.row,dx:e.column-t.column,dy:e.row-t.row}}function a(t,e,r,n,i){var a=Math.max(r,Math.floor(e.y0)),o=Math.min(n,Math.ceil(e.y1));if(t.x0===e.x0&amp;&amp;t.y0===e.y0?t.x0+e.dy/t.dy*t.dx&lt;e.x1:t.x1-e.dy/t.dy*t.dx&lt;e.x0){var s=t;t=e,e=s}for(var l=t.dx/t.dy,c=e.dx/e.dy,u=t.dx&gt;0,f=e.dx&lt;0,h=a;h&lt;o;h++){var d=l*Math.max(0,Math.min(t.dy,h+u-t.y0))+t.x0,p=c*Math.max(0,Math.min(e.dy,h+f-e.y0))+e.x0;i(Math.floor(p),Math.ceil(d),h)}}function o(t,e,r,n,o,s){var l,c=i(t,e),u=i(e,r),f=i(r,t);c.dy&gt;u.dy&amp;&amp;(l=c,c=u,u=l),c.dy&gt;f.dy&amp;&amp;(l=c,c=f,f=l),u.dy&gt;f.dy&amp;&amp;(l=u,u=f,f=l),c.dy&amp;&amp;a(f,c,n,o,s),u.dy&amp;&amp;a(f,u,n,o,s)}var s=t(&quot;assert&quot;),l=t(&quot;whoots-js&quot;),c=t(&quot;../geo/coordinate&quot;);e.exports=n,n.prototype.toString=function(){return this.z+&quot;/&quot;+this.x+&quot;/&quot;+this.y},n.prototype.toCoordinate=function(t){var e=Math.min(this.z,t),r=Math.pow(2,e),n=this.y,i=this.x+r*this.w;return new c(i,n,e)},n.fromID=function(t){var e=t%32,r=1&lt;&lt;e,i=(t-e)/32,a=i%r,o=(i-a)/r%r,s=Math.floor(i/(r*r));return s%2!=0&amp;&amp;(s=-1*s-1),s/=2,new n(e,a,o,s)},n.prototype.url=function(t,e,r){var n=l.getTileBBox(this.x,this.y,this.z),i=function(t,e,r){for(var n,i=&quot;&quot;,a=t;a&gt;0;a--)i+=(e&amp;(n=1&lt;&lt;a-1)?1:0)+(r&amp;n?2:0);return i}(this.z,this.x,this.y);return t[(this.x+this.y)%t.length].replace(&quot;{prefix}&quot;,(this.x%16).toString(16)+(this.y%16).toString(16)).replace(&quot;{z}&quot;,Math.min(this.z,e||this.z)).replace(&quot;{x}&quot;,this.x).replace(&quot;{y}&quot;,&quot;tms&quot;===r?Math.pow(2,this.z)-this.y-1:this.y).replace(&quot;{quadkey}&quot;,i).replace(&quot;{bbox-epsg-3857}&quot;,n)},n.prototype.parent=function(t){return 0===this.z?null:this.z&gt;t?new n(this.z-1,this.x,this.y,this.w):new n(this.z-1,Math.floor(this.x/2),Math.floor(this.y/2),this.w)},n.prototype.wrapped=function(){return new n(this.z,this.x,this.y,0)},n.prototype.children=function(t){if(this.z&gt;=t)return[new n(this.z+1,this.x,this.y,this.w)];var e=this.z+1,r=2*this.x,i=2*this.y;return[new n(e,r,i,this.w),new n(e,r+1,i,this.w),new n(e,r,i+1,this.w),new n(e,r+1,i+1,this.w)]},n.cover=function(t,e,r){function i(t,e,i){var o,l;if(i&gt;=0&amp;&amp;i&lt;=a)for(o=t;o&lt;e;o++)l=new n(r,(o%a+a)%a,i,Math.floor(o/a)),s[l.id]=l}var a=1&lt;&lt;t,s={};return o(e[0],e[1],e[2],0,a,i),o(e[2],e[3],e[0],0,a,i),Object.keys(s).map(function(t){return s[t]})}},{&quot;../geo/coordinate&quot;:329,assert:51,&quot;whoots-js&quot;:580}],361:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r){if(this.id=t,this.dispatcher=r,a.extend(this,a.pick(e,[&quot;url&quot;,&quot;scheme&quot;,&quot;tileSize&quot;])),this._options=a.extend({type:&quot;vector&quot;},e),512!==this.tileSize)throw new Error(&quot;vector tile sources must have a tileSize of 512&quot;);o(e,function(t,e){t?this.fire(&quot;error&quot;,t):(a.extend(this,e),this.fire(&quot;load&quot;))}.bind(this))}var i=t(&quot;../util/evented&quot;),a=t(&quot;../util/util&quot;),o=t(&quot;./load_tilejson&quot;),s=t(&quot;../util/mapbox&quot;).normalizeTileURL;e.exports=n,n.prototype=a.inherit(i,{minzoom:0,maxzoom:22,scheme:&quot;xyz&quot;,tileSize:512,reparseOverscaled:!0,isTileClipped:!0,onAdd:function(t){this.map=t},serialize:function(){return a.extend({},this._options)},loadTile:function(t,e){function r(r,n){if(!t.aborted){if(r)return e(r);t.loadVectorData(n,this.map.style),t.redoWhenDone&amp;&amp;(t.redoWhenDone=!1,t.redoPlacement(this)),e(null),t.reloadCallback&amp;&amp;(this.loadTile(t,t.reloadCallback),t.reloadCallback=null)}}var n=t.coord.z&gt;this.maxzoom?Math.pow(2,t.coord.z-this.maxzoom):1,i={url:s(t.coord.url(this.tiles,this.maxzoom,this.scheme),this.url),uid:t.uid,coord:t.coord,zoom:t.coord.z,tileSize:this.tileSize*n,source:this.id,overscaling:n,angle:this.map.transform.angle,pitch:this.map.transform.pitch,showCollisionBoxes:this.map.showCollisionBoxes};t.workerID?&quot;loading&quot;===t.state?t.reloadCallback=e:(i.rawTileData=t.rawTileData,this.dispatcher.send(&quot;reload tile&quot;,i,r.bind(this),t.workerID)):t.workerID=this.dispatcher.send(&quot;load tile&quot;,i,r.bind(this))},abortTile:function(t){this.dispatcher.send(&quot;abort tile&quot;,{uid:t.uid,source:this.id},null,t.workerID)},unloadTile:function(t){t.unloadVectorData(this.map.painter),this.dispatcher.send(&quot;remove tile&quot;,{uid:t.uid,source:this.id},null,t.workerID)}})},{&quot;../util/evented&quot;:425,&quot;../util/mapbox&quot;:430,&quot;../util/util&quot;:433,&quot;./load_tilejson&quot;:353}],362:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r){this.actor=t,this.styleLayers=e,r&amp;&amp;(this.loadVectorData=r),this.loading={},this.loaded={}}var i=t(&quot;../util/ajax&quot;),a=t(&quot;vector-tile&quot;),o=t(&quot;pbf&quot;),s=t(&quot;./worker_tile&quot;);e.exports=n,n.prototype={loadTile:function(t,e){var r=t.source,n=t.uid;this.loading[r]||(this.loading[r]={});var i=this.loading[r][n]=new s(t);i.abort=this.loadVectorData(t,function(t,a){return delete this.loading[r][n],t?e(t):a?(i.data=a.tile,i.parse(i.data,this.styleLayers.getLayerFamilies(),this.actor,a.rawTileData,e),this.loaded[r]=this.loaded[r]||{},void(this.loaded[r][n]=i)):e(null,null)}.bind(this))},reloadTile:function(t,e){var r=this.loaded[t.source],n=t.uid;if(r&amp;&amp;r[n]){var i=r[n];i.parse(i.data,this.styleLayers.getLayerFamilies(),this.actor,t.rawTileData,e)}},abortTile:function(t){var e=this.loading[t.source],r=t.uid;e&amp;&amp;e[r]&amp;&amp;e[r].abort&amp;&amp;(e[r].abort(),delete e[r])},removeTile:function(t){var e=this.loaded[t.source],r=t.uid;e&amp;&amp;e[r]&amp;&amp;delete e[r]},loadVectorData:function(t,e){var r=i.getArrayBuffer(t.url,function(t,r){if(t)return e(t);var n=new a.VectorTile(new o(new Uint8Array(r)));e(t,{tile:n,rawTileData:r})}.bind(this));return function(){r.abort()}},redoPlacement:function(t,e){var r=this.loaded[t.source],n=this.loading[t.source],i=t.uid;if(r&amp;&amp;r[i]){var a=r[i].redoPlacement(t.angle,t.pitch,t.showCollisionBoxes);a.result&amp;&amp;e(null,a.result,a.transferables)}else n&amp;&amp;n[i]&amp;&amp;(n[i].angle=t.angle)}}},{&quot;../util/ajax&quot;:416,&quot;./worker_tile&quot;:365,pbf:470,&quot;vector-tile&quot;:564}],363:[function(t,e,r){&quot;use strict&quot;;function n(t,e){this.id=t,this.urls=e.urls,this.coordinates=e.coordinates,c.getVideo(e.urls,function(t,r){if(t)return this.fire(&quot;error&quot;,{error:t});this.video=r,this.video.loop=!0;var n;this.video.addEventListener(&quot;playing&quot;,function(){n=this.map.style.animationLoop.set(1/0),this.map._rerender()}.bind(this)),this.video.addEventListener(&quot;pause&quot;,function(){this.map.style.animationLoop.cancel(n)}.bind(this)),this.map&amp;&amp;(this.video.play(),this.setCoordinates(e.coordinates)),this.fire(&quot;load&quot;)}.bind(this))}var i=t(&quot;../util/util&quot;),a=t(&quot;./tile_coord&quot;),o=t(&quot;../geo/lng_lat&quot;),s=t(&quot;point-geometry&quot;),l=t(&quot;../util/evented&quot;),c=t(&quot;../util/ajax&quot;),u=t(&quot;../data/bucket&quot;).EXTENT,f=t(&quot;../render/draw_raster&quot;).RasterBoundsArray,h=t(&quot;../data/buffer&quot;),d=t(&quot;../render/vertex_array_object&quot;);e.exports=n,n.prototype=i.inherit(l,{minzoom:0,maxzoom:22,tileSize:512,roundZoom:!0,getVideo:function(){return this.video},onAdd:function(t){this.map||(this.map=t,this.video&amp;&amp;(this.video.play(),this.setCoordinates(this.coordinates)))},setCoordinates:function(t){this.coordinates=t;var e=this.map,r=t.map(function(t){return e.transform.locationCoordinate(o.convert(t)).zoomTo(0)}),n=this.centerCoord=i.getCoordinatesCenter(r);return n.column=Math.round(n.column),n.row=Math.round(n.row),this.minzoom=this.maxzoom=n.zoom,this._coord=new a(n.zoom,n.column,n.row),this._tileCoords=r.map(function(t){var e=t.zoomTo(n.zoom);return new s(Math.round((e.column-n.column)*u),Math.round((e.row-n.row)*u))}),this.fire(&quot;change&quot;),this},_setTile:function(t){this._prepared=!1,this.tile=t;var e=new f;e.emplaceBack(this._tileCoords[0].x,this._tileCoords[0].y,0,0),e.emplaceBack(this._tileCoords[1].x,this._tileCoords[1].y,32767,0),e.emplaceBack(this._tileCoords[3].x,this._tileCoords[3].y,0,32767),e.emplaceBack(this._tileCoords[2].x,this._tileCoords[2].y,32767,32767),this.tile.buckets={},this.tile.boundsBuffer=new h(e.serialize(),f.serialize(),h.BufferType.VERTEX),this.tile.boundsVAO=new d,this.tile.state=&quot;loaded&quot;},prepare:function(){if(!(this.video.readyState&lt;2)&amp;&amp;this.tile){var t=this.map.painter.gl;this._prepared?(t.bindTexture(t.TEXTURE_2D,this.tile.texture),t.texSubImage2D(t.TEXTURE_2D,0,0,0,t.RGBA,t.UNSIGNED_BYTE,this.video)):(this._prepared=!0,this.tile.texture=t.createTexture(),t.bindTexture(t.TEXTURE_2D,this.tile.texture),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),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MIN_FILTER,t.LINEAR),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MAG_FILTER,t.LINEAR),t.texImage2D(t.TEXTURE_2D,0,t.RGBA,t.RGBA,t.UNSIGNED_BYTE,this.video)),this._currentTime=this.video.currentTime}},loadTile:function(t,e){this._coord&amp;&amp;this._coord.toString()===t.coord.toString()?(this._setTile(t),e(null)):(t.state=&quot;errored&quot;,e(null))},serialize:function(){return{type:&quot;video&quot;,urls:this.urls,coordinates:this.coordinates}}})},{&quot;../data/bucket&quot;:320,&quot;../data/buffer&quot;:325,&quot;../geo/lng_lat&quot;:330,&quot;../render/draw_raster&quot;:342,&quot;../render/vertex_array_object&quot;:348,&quot;../util/ajax&quot;:416,&quot;../util/evented&quot;:425,&quot;../util/util&quot;:433,&quot;./tile_coord&quot;:360,&quot;point-geometry&quot;:477}],364:[function(t,e,r){&quot;use strict&quot;;function n(t){this.self=t,this.actor=new a(t,this);var e={getLayers:function(){return this.layers}.bind(this),getLayerFamilies:function(){return this.layerFamilies}.bind(this)};this.workerSources={vector:new l(this.actor,e),geojson:new c(this.actor,e)},this.self.registerWorkerSource=function(t,r){if(this.workerSources[t])throw new Error('Worker source with name &quot;'+t+'&quot; already registered.');this.workerSources[t]=new r(this.actor,e)}.bind(this)}function i(t){var e={};for(var r in t){var n=t[r],i=n.ref||n.id,a=t[i];a.layout&amp;&amp;&quot;none&quot;===a.layout.visibility||(e[i]=e[i]||[],r===i?e[i].unshift(n):e[i].push(n))}return e}var a=t(&quot;../util/actor&quot;),o=t(&quot;../style/style_layer&quot;),s=t(&quot;../util/util&quot;),l=t(&quot;./vector_tile_worker_source&quot;),c=t(&quot;./geojson_worker_source&quot;);e.exports=function(t){return new n(t)},s.extend(n.prototype,{&quot;set layers&quot;:function(t){function e(t){var e=o.create(t,t.ref&amp;&amp;r.layers[t.ref]);e.updatePaintTransitions({},{transition:!1}),r.layers[e.id]=e}this.layers={};for(var r=this,n=[],a=0;a&lt;t.length;a++){var s=t[a];&quot;fill&quot;!==s.type&amp;&amp;&quot;line&quot;!==s.type&amp;&amp;&quot;circle&quot;!==s.type&amp;&amp;&quot;symbol&quot;!==s.type||(s.ref?n.push(a):e(s))}for(var l=0;l&lt;n.length;l++)e(t[n[l]]);this.layerFamilies=i(this.layers)},&quot;update layers&quot;:function(t){function e(t){var e=a.layers[t.ref];a.layers[t.id]?a.layers[t.id].set(t,e):a.layers[t.id]=o.create(t,e),a.layers[t.id].updatePaintTransitions({},{transition:!1})}var r,n,a=this;for(r in t)(n=t[r]).ref&amp;&amp;e(n);for(r in t)(n=t[r]).ref||e(n);this.layerFamilies=i(this.layers)},&quot;load tile&quot;:function(t,e){var r=t.type||&quot;vector&quot;;this.workerSources[r].loadTile(t,e)},&quot;reload tile&quot;:function(t,e){var r=t.type||&quot;vector&quot;;this.workerSources[r].reloadTile(t,e)},&quot;abort tile&quot;:function(t){var e=t.type||&quot;vector&quot;;this.workerSources[e].abortTile(t)},&quot;remove tile&quot;:function(t){var e=t.type||&quot;vector&quot;;this.workerSources[e].removeTile(t)},&quot;redo placement&quot;:function(t,e){var r=t.type||&quot;vector&quot;;this.workerSources[r].redoPlacement(t,e)},&quot;load worker source&quot;:function(t,e){try{this.self.importScripts(t.url),e()}catch(t){e(t)}}})},{&quot;../style/style_layer&quot;:372,&quot;../util/actor&quot;:415,&quot;../util/util&quot;:433,&quot;./geojson_worker_source&quot;:350,&quot;./vector_tile_worker_source&quot;:362}],365:[function(t,e,r){&quot;use strict&quot;;function n(t){this.coord=t.coord,this.uid=t.uid,this.zoom=t.zoom,this.tileSize=t.tileSize,this.source=t.source,this.overscaling=t.overscaling,this.angle=t.angle,this.pitch=t.pitch,this.showCollisionBoxes=t.showCollisionBoxes}function i(t){return!t.isEmpty()}function a(t){return t.serialize()}function o(t){var e=[];for(var r in t)t[r].getTransferables(e);return e}function s(t){return t.id}var l=t(&quot;../data/feature_index&quot;),c=t(&quot;../symbol/collision_tile&quot;),u=t(&quot;../data/bucket&quot;),f=t(&quot;../symbol/collision_box&quot;),h=t(&quot;../util/dictionary_coder&quot;),d=t(&quot;../util/util&quot;),p=t(&quot;../symbol/symbol_instances&quot;),m=t(&quot;../symbol/symbol_quads&quot;);e.exports=n,n.prototype.parse=function(t,e,r,n,g){function v(t,e){for(var r=0;r&lt;t.length;r++){var n=t.feature(r);n.index=r;for(var i in e)e[i].filter(n)&amp;&amp;e[i].features.push(n)}}function y(t){if(t)return g(t);if(2==++j){for(var e=P.length-1;e&gt;=0;e--)x(E,P[e]);b()}}function x(t,e){if(e.populateArrays(A,N,R),&quot;symbol&quot;!==e.type)for(var r=0;r&lt;e.features.length;r++){var n=e.features[r];T.insert(n,n.index,e.sourceLayerIndex,e.index)}e.features=null}function b(){E.status=&quot;done&quot;,E.redoPlacementAfterDone&amp;&amp;(E.redoPlacement(E.angle,E.pitch,null),E.redoPlacementAfterDone=!1);var t=T.serialize(),e=A.serialize(),r=E.collisionBoxArray.serialize(),s=E.symbolInstancesArray.serialize(),l=E.symbolQuadsArray.serialize(),c=[n].concat(t.transferables).concat(e.transferables),u=I.filter(i);g(null,{buckets:u.map(a),featureIndex:t.data,collisionTile:e.data,collisionBoxArray:r,symbolInstancesArray:s,symbolQuadsArray:l,rawTileData:n},o(u).concat(c))}this.status=&quot;parsing&quot;,this.data=t,this.collisionBoxArray=new f,this.symbolInstancesArray=new p,this.symbolQuadsArray=new m;var _,w,M,k,A=new c(this.angle,this.pitch,this.collisionBoxArray),T=new l(this.coord,this.overscaling,A,t.layers),S=new h(t.layers?Object.keys(t.layers).sort():[&quot;_geojsonTileLayer&quot;]),E=this,L={},C={},z=0;for(var D in e)(w=e[D][0]).source===this.source&amp;&amp;(w.ref||w.minzoom&amp;&amp;this.zoom&lt;w.minzoom||w.maxzoom&amp;&amp;this.zoom&gt;=w.maxzoom||w.layout&amp;&amp;&quot;none&quot;===w.layout.visibility||t.layers&amp;&amp;!t.layers[w.sourceLayer]||((k=u.create({layer:w,index:z++,childLayers:e[D],zoom:this.zoom,overscaling:this.overscaling,showCollisionBoxes:this.showCollisionBoxes,collisionBoxArray:this.collisionBoxArray,symbolQuadsArray:this.symbolQuadsArray,symbolInstancesArray:this.symbolInstancesArray,sourceLayerIndex:S.encode(w.sourceLayer||&quot;_geojsonTileLayer&quot;)})).createFilter(),L[w.id]=k,t.layers&amp;&amp;(C[M=w.sourceLayer]=C[M]||{},C[M][w.id]=k)));if(t.layers)for(M in C)1===w.version&amp;&amp;d.warnOnce('Vector tile source &quot;'+this.source+'&quot; layer &quot;'+M+'&quot; does not use vector tile spec v2 and therefore may have some rendering errors.'),(w=t.layers[M])&amp;&amp;v(w,C[M]);else v(t,L);var I=[],P=this.symbolBuckets=[],O=[];T.bucketLayerIDs={};for(var F in L)0!==(k=L[F]).features.length&amp;&amp;(T.bucketLayerIDs[k.index]=k.childLayers.map(s),I.push(k),&quot;symbol&quot;===k.type?P.push(k):O.push(k));var R={},N={},j=0;if(P.length&gt;0){for(_=P.length-1;_&gt;=0;_--)P[_].updateIcons(R),P[_].updateFont(N);for(var B in N)N[B]=Object.keys(N[B]).map(Number);R=Object.keys(R),r.send(&quot;get glyphs&quot;,{uid:this.uid,stacks:N},function(t,e){N=e,y(t)}),R.length?r.send(&quot;get icons&quot;,{icons:R},function(t,e){R=e,y(t)}):y()}for(_=O.length-1;_&gt;=0;_--)x(0,O[_]);if(0===P.length)return b()},n.prototype.redoPlacement=function(t,e,r){if(&quot;done&quot;!==this.status)return this.redoPlacementAfterDone=!0,this.angle=t,{};for(var n=new c(t,e,this.collisionBoxArray),s=this.symbolBuckets,l=s.length-1;l&gt;=0;l--)s[l].placeFeatures(n,r);var u=n.serialize(),f=s.filter(i);return{result:{buckets:f.map(a),collisionTile:u.data},transferables:o(f).concat(u.transferables)}}},{&quot;../data/bucket&quot;:320,&quot;../data/feature_index&quot;:327,&quot;../symbol/collision_box&quot;:385,&quot;../symbol/collision_tile&quot;:387,&quot;../symbol/symbol_instances&quot;:396,&quot;../symbol/symbol_quads&quot;:397,&quot;../util/dictionary_coder&quot;:423,&quot;../util/util&quot;:433}],366:[function(t,e,r){&quot;use strict&quot;;function n(){this.n=0,this.times=[]}e.exports=n,n.prototype.stopped=function(){return this.times=this.times.filter(function(t){return t.time&gt;=(new Date).getTime()}),!this.times.length},n.prototype.set=function(t){return this.times.push({id:this.n,time:t+(new Date).getTime()}),this.n++},n.prototype.cancel=function(t){this.times=this.times.filter(function(e){return e.id!==t})}},{}],367:[function(t,e,r){&quot;use strict&quot;;function n(t){this.base=t,this.retina=s.devicePixelRatio&gt;1;var e=this.retina?&quot;@2x&quot;:&quot;&quot;;o.getJSON(l(t,e,&quot;.json&quot;),function(t,e){t?this.fire(&quot;error&quot;,{error:t}):(this.data=e,this.img&amp;&amp;this.fire(&quot;load&quot;))}.bind(this)),o.getImage(l(t,e,&quot;.png&quot;),function(t,e){if(t)this.fire(&quot;error&quot;,{error:t});else{for(var r=e.getData(),n=e.data=new Uint8Array(r.length),i=0;i&lt;r.length;i+=4){var a=r[i+3]/255;n[i+0]=r[i+0]*a,n[i+1]=r[i+1]*a,n[i+2]=r[i+2]*a,n[i+3]=r[i+3]}this.img=e,this.data&amp;&amp;this.fire(&quot;load&quot;)}}.bind(this))}function i(){}var a=t(&quot;../util/evented&quot;),o=t(&quot;../util/ajax&quot;),s=t(&quot;../util/browser&quot;),l=t(&quot;../util/mapbox&quot;).normalizeSpriteURL;e.exports=n,(n.prototype=Object.create(a)).toJSON=function(){return this.base},n.prototype.loaded=function(){return!(!this.data||!this.img)},n.prototype.resize=function(){if(s.devicePixelRatio&gt;1!==this.retina){var t=new n(this.base);t.on(&quot;load&quot;,function(){this.img=t.img,this.data=t.data,this.retina=t.retina}.bind(this))}},i.prototype={x:0,y:0,width:0,height:0,pixelRatio:1,sdf:!1},n.prototype.getSpritePosition=function(t){if(!this.loaded())return new i;var e=this.data&amp;&amp;this.data[t];return e&amp;&amp;this.img?e:new i}},{&quot;../util/ajax&quot;:416,&quot;../util/browser&quot;:417,&quot;../util/evented&quot;:425,&quot;../util/mapbox&quot;:430}],368:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;csscolorparser&quot;).parseCSSColor,i=t(&quot;../util/util&quot;),a=t(&quot;./style_function&quot;),o={};e.exports=function t(e){if(a.isFunctionDefinition(e))return i.extend({},e,{stops:e.stops.map(function(e){return[e[0],t(e[1])]})});if(&quot;string&quot;==typeof e){if(!o[e]){var r=n(e);if(!r)throw new Error(&quot;Invalid color &quot;+e);o[e]=[r[0]/255*r[3],r[1]/255*r[3],r[2]/255*r[3],r[3]]}return o[e]}throw new Error(&quot;Invalid color &quot;+e)}},{&quot;../util/util&quot;:433,&quot;./style_function&quot;:371,csscolorparser:114}],369:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r){this.animationLoop=e||new m,this.dispatcher=new p(r||1,this),this.spriteAtlas=new l(1024,1024),this.lineAtlas=new c(256,512),this._layers={},this._order=[],this._groups=[],this.sources={},this.zoomHistory={},u.bindAll([&quot;_forwardSourceEvent&quot;,&quot;_forwardTileEvent&quot;,&quot;_forwardLayerEvent&quot;,&quot;_redoPlacement&quot;],this),this._resetUpdates();var n=function(t,e){if(t)this.fire(&quot;error&quot;,{error:t});else if(!g.emitErrors(this,g(e))){this._loaded=!0,this.stylesheet=e,this.updateClasses();var r=e.sources;for(var n in r)this.addSource(n,r[n]);e.sprite&amp;&amp;(this.sprite=new o(e.sprite),this.sprite.on(&quot;load&quot;,this.fire.bind(this,&quot;change&quot;))),this.glyphSource=new s(e.glyphs),this._resolve(),this.fire(&quot;load&quot;)}}.bind(this);&quot;string&quot;==typeof t?f.getJSON(h(t),n):d.frame(n.bind(this,null,t)),this.on(&quot;source.load&quot;,function(t){var e=t.source;if(e&amp;&amp;e.vectorLayerIds)for(var r in this._layers){var n=this._layers[r];n.source===e.id&amp;&amp;this._validateLayer(n)}})}var i=t(&quot;../util/evented&quot;),a=t(&quot;./style_layer&quot;),o=t(&quot;./image_sprite&quot;),s=t(&quot;../symbol/glyph_source&quot;),l=t(&quot;../symbol/sprite_atlas&quot;),c=t(&quot;../render/line_atlas&quot;),u=t(&quot;../util/util&quot;),f=t(&quot;../util/ajax&quot;),h=t(&quot;../util/mapbox&quot;).normalizeStyleURL,d=t(&quot;../util/browser&quot;),p=t(&quot;../util/dispatcher&quot;),m=t(&quot;./animation_loop&quot;),g=t(&quot;./validate_style&quot;),v=t(&quot;../source/source&quot;),y=t(&quot;../source/query_features&quot;),x=t(&quot;../source/source_cache&quot;),b=t(&quot;./style_spec&quot;),_=t(&quot;./style_function&quot;);e.exports=n,n.prototype=u.inherit(i,{_loaded:!1,_validateLayer:function(t){var e=this.sources[t.source];t.sourceLayer&amp;&amp;e&amp;&amp;e.vectorLayerIds&amp;&amp;-1===e.vectorLayerIds.indexOf(t.sourceLayer)&amp;&amp;this.fire(&quot;error&quot;,{error:new Error('Source layer &quot;'+t.sourceLayer+'&quot; does not exist on source &quot;'+e.id+'&quot; as specified by style layer &quot;'+t.id+'&quot;')})},loaded:function(){if(!this._loaded)return!1;if(Object.keys(this._updates.sources).length)return!1;for(var t in this.sources)if(!this.sources[t].loaded())return!1;return!(this.sprite&amp;&amp;!this.sprite.loaded())},_resolve:function(){var t,e;this._layers={},this._order=this.stylesheet.layers.map(function(t){return t.id});for(var r=0;r&lt;this.stylesheet.layers.length;r++)(e=this.stylesheet.layers[r]).ref||(t=a.create(e),this._layers[t.id]=t,t.on(&quot;error&quot;,this._forwardLayerEvent));for(var n=0;n&lt;this.stylesheet.layers.length;n++)if((e=this.stylesheet.layers[n]).ref){var i=this.getLayer(e.ref);t=a.create(e,i),this._layers[t.id]=t,t.on(&quot;error&quot;,this._forwardLayerEvent)}this._groupLayers(),this._updateWorkerLayers()},_groupLayers:function(){var t;this._groups=[];for(var e=0;e&lt;this._order.length;++e){var r=this._layers[this._order[e]];t&amp;&amp;r.source===t.source||((t=[]).source=r.source,this._groups.push(t)),t.push(r)}},_updateWorkerLayers:function(t){this.dispatcher.broadcast(t?&quot;update layers&quot;:&quot;set layers&quot;,this._serializeLayers(t))},_serializeLayers:function(t){t=t||this._order;for(var e=[],r={includeRefProperties:!0},n=0;n&lt;t.length;n++)e.push(this._layers[t[n]].serialize(r));return e},_applyClasses:function(t,e){if(this._loaded){t=t||[],e=e||{transition:!0};var r=this.stylesheet.transition||{},n=this._updates.allPaintProps?this._layers:this._updates.paintProps;for(var i in n){var a=this._layers[i],o=this._updates.paintProps[i];if(this._updates.allPaintProps||o.all)a.updatePaintTransitions(t,e,r,this.animationLoop);else for(var s in o)this._layers[i].updatePaintTransition(s,t,e,r,this.animationLoop)}}},_recalculate:function(t){for(var e in this.sources)this.sources[e].used=!1;this._updateZoomHistory(t),this.rasterFadeDuration=300;for(var r in this._layers){var n=this._layers[r];n.recalculate(t,this.zoomHistory),!n.isHidden(t)&amp;&amp;n.source&amp;&amp;(this.sources[n.source].used=!0)}Math.floor(this.z)!==Math.floor(t)&amp;&amp;this.animationLoop.set(300),this.z=t,this.fire(&quot;zoom&quot;)},_updateZoomHistory:function(t){var e=this.zoomHistory;void 0===e.lastIntegerZoom&amp;&amp;(e.lastIntegerZoom=Math.floor(t),e.lastIntegerZoomTime=0,e.lastZoom=t),Math.floor(e.lastZoom)&lt;Math.floor(t)?(e.lastIntegerZoom=Math.floor(t),e.lastIntegerZoomTime=Date.now()):Math.floor(e.lastZoom)&gt;Math.floor(t)&amp;&amp;(e.lastIntegerZoom=Math.floor(t+1),e.lastIntegerZoomTime=Date.now()),e.lastZoom=t},_checkLoaded:function(){if(!this._loaded)throw new Error(&quot;Style is not done loading&quot;)},update:function(t,e){if(!this._updates.changed)return this;if(this._updates.allLayers)this._groupLayers(),this._updateWorkerLayers();else{var r=Object.keys(this._updates.layers);r.length&amp;&amp;this._updateWorkerLayers(r)}var n,i=Object.keys(this._updates.sources);for(n=0;n&lt;i.length;n++)this._reloadSource(i[n]);for(n=0;n&lt;this._updates.events.length;n++){var a=this._updates.events[n];this.fire(a[0],a[1])}return this._applyClasses(t,e),this._updates.changed&amp;&amp;this.fire(&quot;change&quot;),this._resetUpdates(),this},_resetUpdates:function(){this._updates={events:[],layers:{},sources:{},paintProps:{}}},addSource:function(t,e){if(this._checkLoaded(),void 0!==this.sources[t])throw new Error(&quot;There is already a source with this ID&quot;);if(!e.type)throw new Error(&quot;The type property must be defined, but the only the following properties were given: &quot;+Object.keys(e)+&quot;.&quot;);return[&quot;vector&quot;,&quot;raster&quot;,&quot;geojson&quot;,&quot;video&quot;,&quot;image&quot;].indexOf(e.type)&gt;=0&amp;&amp;this._handleErrors(g.source,&quot;sources.&quot;+t,e)?this:(e=new x(t,e,this.dispatcher),this.sources[t]=e,e.style=this,e.on(&quot;load&quot;,this._forwardSourceEvent).on(&quot;error&quot;,this._forwardSourceEvent).on(&quot;change&quot;,this._forwardSourceEvent).on(&quot;tile.add&quot;,this._forwardTileEvent).on(&quot;tile.load&quot;,this._forwardTileEvent).on(&quot;tile.error&quot;,this._forwardTileEvent).on(&quot;tile.remove&quot;,this._forwardTileEvent).on(&quot;tile.stats&quot;,this._forwardTileEvent),this._updates.events.push([&quot;source.add&quot;,{source:e}]),this._updates.changed=!0,this)},removeSource:function(t){if(this._checkLoaded(),void 0===this.sources[t])throw new Error(&quot;There is no source with this ID&quot;);var e=this.sources[t];return delete this.sources[t],delete this._updates.sources[t],e.off(&quot;load&quot;,this._forwardSourceEvent).off(&quot;error&quot;,this._forwardSourceEvent).off(&quot;change&quot;,this._forwardSourceEvent).off(&quot;tile.add&quot;,this._forwardTileEvent).off(&quot;tile.load&quot;,this._forwardTileEvent).off(&quot;tile.error&quot;,this._forwardTileEvent).off(&quot;tile.remove&quot;,this._forwardTileEvent).off(&quot;tile.stats&quot;,this._forwardTileEvent),this._updates.events.push([&quot;source.remove&quot;,{source:e}]),this._updates.changed=!0,this},getSource:function(t){return this.sources[t]&amp;&amp;this.sources[t].getSource()},addLayer:function(t,e){if(this._checkLoaded(),!(t instanceof a)){if(this._handleErrors(g.layer,&quot;layers.&quot;+t.id,t,!1,{arrayIndex:-1}))return this;var r=t.ref&amp;&amp;this.getLayer(t.ref);t=a.create(t,r)}return this._validateLayer(t),t.on(&quot;error&quot;,this._forwardLayerEvent),this._layers[t.id]=t,this._order.splice(e?this._order.indexOf(e):1/0,0,t.id),this._updates.allLayers=!0,t.source&amp;&amp;(this._updates.sources[t.source]=!0),this._updates.events.push([&quot;layer.add&quot;,{layer:t}]),this.updateClasses(t.id)},removeLayer:function(t){this._checkLoaded();var e=this._layers[t];if(void 0===e)throw new Error(&quot;There is no layer with this ID&quot;);for(var r in this._layers)this._layers[r].ref===t&amp;&amp;this.removeLayer(r);return e.off(&quot;error&quot;,this._forwardLayerEvent),delete this._layers[t],delete this._updates.layers[t],delete this._updates.paintProps[t],this._order.splice(this._order.indexOf(t),1),this._updates.allLayers=!0,this._updates.events.push([&quot;layer.remove&quot;,{layer:e}]),this._updates.changed=!0,this},getLayer:function(t){return this._layers[t]},getReferentLayer:function(t){var e=this.getLayer(t);return e.ref&amp;&amp;(e=this.getLayer(e.ref)),e},setLayerZoomRange:function(t,e,r){this._checkLoaded();var n=this.getReferentLayer(t);return n.minzoom===e&amp;&amp;n.maxzoom===r?this:(null!=e&amp;&amp;(n.minzoom=e),null!=r&amp;&amp;(n.maxzoom=r),this._updateLayer(n))},setFilter:function(t,e){this._checkLoaded();var r=this.getReferentLayer(t);return null!==e&amp;&amp;this._handleErrors(g.filter,&quot;layers.&quot;+r.id+&quot;.filter&quot;,e)?this:u.deepEqual(r.filter,e)?this:(r.filter=u.clone(e),this._updateLayer(r))},getFilter:function(t){return this.getReferentLayer(t).filter},setLayoutProperty:function(t,e,r){this._checkLoaded();var n=this.getReferentLayer(t);return u.deepEqual(n.getLayoutProperty(e),r)?this:(n.setLayoutProperty(e,r),this._updateLayer(n))},getLayoutProperty:function(t,e){return this.getReferentLayer(t).getLayoutProperty(e)},setPaintProperty:function(t,e,r,n){this._checkLoaded();var i=this.getLayer(t);if(u.deepEqual(i.getPaintProperty(e,n),r))return this;var a=i.isPaintValueFeatureConstant(e);i.setPaintProperty(e,r,n);return!(r&amp;&amp;_.isFunctionDefinition(r)&amp;&amp;&quot;$zoom&quot;!==r.property&amp;&amp;void 0!==r.property)&amp;&amp;a||(this._updates.layers[t]=!0,i.source&amp;&amp;(this._updates.sources[i.source]=!0)),this.updateClasses(t,e)},getPaintProperty:function(t,e,r){return this.getLayer(t).getPaintProperty(e,r)},updateClasses:function(t,e){if(this._updates.changed=!0,t){var r=this._updates.paintProps;r[t]||(r[t]={}),r[t][e||&quot;all&quot;]=!0}else this._updates.allPaintProps=!0;return this},serialize:function(){return u.filterObject({version:this.stylesheet.version,name:this.stylesheet.name,metadata:this.stylesheet.metadata,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:u.mapObject(this.sources,function(t){return t.serialize()}),layers:this._order.map(function(t){return this._layers[t].serialize()},this)},function(t){return void 0!==t})},_updateLayer:function(t){return this._updates.layers[t.id]=!0,t.source&amp;&amp;(this._updates.sources[t.source]=!0),this._updates.changed=!0,this},_flattenRenderedFeatures:function(t){for(var e=[],r=this._order.length-1;r&gt;=0;r--)for(var n=this._order[r],i=0;i&lt;t.length;i++){var a=t[i][n];if(a)for(var o=0;o&lt;a.length;o++)e.push(a[o])}return e},queryRenderedFeatures:function(t,e,r,n){e&amp;&amp;e.filter&amp;&amp;this._handleErrors(g.filter,&quot;queryRenderedFeatures.filter&quot;,e.filter,!0);var i={};if(e&amp;&amp;e.layers)for(var a=0;a&lt;e.layers.length;a++){var o=e.layers[a];i[this._layers[o].source]=!0}var s=[];for(var l in this.sources)if(!e.layers||i[l]){var c=this.sources[l],u=y.rendered(c,this._layers,t,e,r,n);s.push(u)}return this._flattenRenderedFeatures(s)},querySourceFeatures:function(t,e){e&amp;&amp;e.filter&amp;&amp;this._handleErrors(g.filter,&quot;querySourceFeatures.filter&quot;,e.filter,!0);var r=this.sources[t];return r?y.source(r,e):[]},addSourceType:function(t,e,r){return v.getType(t)?r(new Error('A source type called &quot;'+t+'&quot; already exists.')):(v.setType(t,e),e.workerSourceURL?void this.dispatcher.broadcast(&quot;load worker source&quot;,{name:t,url:e.workerSourceURL},r):r(null,null))},_handleErrors:function(t,e,r,n,i){var a=n?g.throwErrors:g.emitErrors,o=t.call(g,u.extend({key:e,style:this.serialize(),value:r,styleSpec:b},i));return a.call(g,this,o)},_remove:function(){this.dispatcher.remove()},_reloadSource:function(t){this.sources[t].reload()},_updateSources:function(t){for(var e in this.sources)this.sources[e].update(t)},_redoPlacement:function(){for(var t in this.sources)this.sources[t].redoPlacement&amp;&amp;this.sources[t].redoPlacement()},_forwardSourceEvent:function(t){this.fire(&quot;source.&quot;+t.type,u.extend({source:t.target.getSource()},t))},_forwardTileEvent:function(t){this.fire(t.type,u.extend({source:t.target},t))},_forwardLayerEvent:function(t){this.fire(&quot;layer.&quot;+t.type,u.extend({layer:{id:t.target.id}},t))},&quot;get sprite json&quot;:function(t,e){var r=this.sprite;r.loaded()?e(null,{sprite:r.data,retina:r.retina}):r.on(&quot;load&quot;,function(){e(null,{sprite:r.data,retina:r.retina})})},&quot;get icons&quot;:function(t,e){var r=this.sprite,n=this.spriteAtlas;r.loaded()?(n.setSprite(r),n.addIcons(t.icons,e)):r.on(&quot;load&quot;,function(){n.setSprite(r),n.addIcons(t.icons,e)})},&quot;get glyphs&quot;:function(t,e){function r(t,r,n){t&amp;&amp;console.error(t),a[n]=r,0===--i&amp;&amp;e(null,a)}var n=t.stacks,i=Object.keys(n).length,a={};for(var o in n)this.glyphSource.getSimpleGlyphs(o,n[o],t.uid,r)}})},{&quot;../render/line_atlas&quot;:345,&quot;../source/query_features&quot;:355,&quot;../source/source&quot;:357,&quot;../source/source_cache&quot;:358,&quot;../symbol/glyph_source&quot;:390,&quot;../symbol/sprite_atlas&quot;:395,&quot;../util/ajax&quot;:416,&quot;../util/browser&quot;:417,&quot;../util/dispatcher&quot;:424,&quot;../util/evented&quot;:425,&quot;../util/mapbox&quot;:430,&quot;../util/util&quot;:433,&quot;./animation_loop&quot;:366,&quot;./image_sprite&quot;:367,&quot;./style_function&quot;:371,&quot;./style_layer&quot;:372,&quot;./style_spec&quot;:379,&quot;./validate_style&quot;:381}],370:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;./style_function&quot;),i=t(&quot;./parse_color&quot;),a=t(&quot;../util/util&quot;);e.exports=function(t,e){this.value=a.clone(e),this.isFunction=n.isFunctionDefinition(e),this.json=JSON.stringify(this.value);var r=&quot;color&quot;===t.type&amp;&amp;this.value?i(this.value):e;if(this.calculate=n[t.function||&quot;piecewise-constant&quot;](r),this.isFeatureConstant=this.calculate.isFeatureConstant,this.isZoomConstant=this.calculate.isZoomConstant,&quot;piecewise-constant&quot;===t.function&amp;&amp;t.transition&amp;&amp;(this.calculate=function(t){return function(e,r){var n,i,a,o=e.zoom,s=e.zoomHistory,l=e.duration,c=o%1,u=Math.min((Date.now()-s.lastIntegerZoomTime)/l,1),f=1;return o&gt;s.lastIntegerZoom?(n=c+(1-c)*u,f*=2,i=t({zoom:o-1},r),a=t({zoom:o},r)):(n=1-(1-u)*c,a=t({zoom:o},r),i=t({zoom:o+1},r),f/=2),void 0===i||void 0===a?void 0:{from:i,fromScale:f,to:a,toScale:1,t:n}}}(this.calculate)),!this.isFeatureConstant&amp;&amp;!this.isZoomConstant){this.stopZoomLevels=[];for(var o=[],s=this.value.stops,l=0;l&lt;this.value.stops.length;l++){var c=s[l][0].zoom;this.stopZoomLevels.indexOf(c)&lt;0&amp;&amp;(this.stopZoomLevels.push(c),o.push([c,o.length]))}this.calculateInterpolationT=n.interpolated({stops:o,base:e.base})}}},{&quot;../util/util&quot;:433,&quot;./parse_color&quot;:368,&quot;./style_function&quot;:371}],371:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;mapbox-gl-function&quot;);r.interpolated=function(t){var e=n.interpolated(t),r=function(t,r){return e(t&amp;&amp;t.zoom,r||{})};return r.isFeatureConstant=e.isFeatureConstant,r.isZoomConstant=e.isZoomConstant,r},r[&quot;piecewise-constant&quot;]=function(t){var e=n[&quot;piecewise-constant&quot;](t),r=function(t,r){return e(t&amp;&amp;t.zoom,r||{})};return r.isFeatureConstant=e.isFeatureConstant,r.isZoomConstant=e.isZoomConstant,r},r.isFunctionDefinition=n.isFunctionDefinition},{&quot;mapbox-gl-function&quot;:293}],372:[function(t,e,r){&quot;use strict&quot;;function n(t,e){this.set(t,e)}function i(t){return t.value}var a=t(&quot;../util/util&quot;),o=t(&quot;./style_transition&quot;),s=t(&quot;./style_declaration&quot;),l=t(&quot;./style_spec&quot;),c=t(&quot;./validate_style&quot;),u=t(&quot;./parse_color&quot;),f=t(&quot;../util/evented&quot;);e.exports=n;n.create=function(e,r){return new({background:t(&quot;./style_layer/background_style_layer&quot;),circle:t(&quot;./style_layer/circle_style_layer&quot;),fill:t(&quot;./style_layer/fill_style_layer&quot;),line:t(&quot;./style_layer/line_style_layer&quot;),raster:t(&quot;./style_layer/raster_style_layer&quot;),symbol:t(&quot;./style_layer/symbol_style_layer&quot;)}[(r||e).type])(e,r)},n.prototype=a.inherit(f,{set:function(t,e){this.id=t.id,this.ref=t.ref,this.metadata=t.metadata,this.type=(e||t).type,this.source=(e||t).source,this.sourceLayer=(e||t)[&quot;source-layer&quot;],this.minzoom=(e||t).minzoom,this.maxzoom=(e||t).maxzoom,this.filter=(e||t).filter,this.paint={},this.layout={},this._paintSpecifications=l[&quot;paint_&quot;+this.type],this._layoutSpecifications=l[&quot;layout_&quot;+this.type],this._paintTransitions={},this._paintTransitionOptions={},this._paintDeclarations={},this._layoutDeclarations={},this._layoutFunctions={};var r,n;for(var i in t){var a=i.match(/^paint(?:\.(.*))?$/);if(a){var o=a[1]||&quot;&quot;;for(r in t[i])this.setPaintProperty(r,t[i][r],o)}}if(this.ref)this._layoutDeclarations=e._layoutDeclarations;else for(n in t.layout)this.setLayoutProperty(n,t.layout[n]);for(r in this._paintSpecifications)this.paint[r]=this.getPaintValue(r);for(n in this._layoutSpecifications)this._updateLayoutValue(n)},setLayoutProperty:function(t,e){if(null==e)delete this._layoutDeclarations[t];else{var r=&quot;layers.&quot;+this.id+&quot;.layout.&quot;+t;if(this._handleErrors(c.layoutProperty,r,t,e))return;this._layoutDeclarations[t]=new s(this._layoutSpecifications[t],e)}this._updateLayoutValue(t)},getLayoutProperty:function(t){return this._layoutDeclarations[t]&amp;&amp;this._layoutDeclarations[t].value},getLayoutValue:function(t,e,r){var n=this._layoutSpecifications[t],i=this._layoutDeclarations[t];return i?i.calculate(e,r):n.default},setPaintProperty:function(t,e,r){var n=&quot;layers.&quot;+this.id+(r?'[&quot;paint.'+r+'&quot;].':&quot;.paint.&quot;)+t;if(a.endsWith(t,&quot;-transition&quot;))if(this._paintTransitionOptions[r||&quot;&quot;]||(this._paintTransitionOptions[r||&quot;&quot;]={}),null===e||void 0===e)delete this._paintTransitionOptions[r||&quot;&quot;][t];else{if(this._handleErrors(c.paintProperty,n,t,e))return;this._paintTransitionOptions[r||&quot;&quot;][t]=e}else if(this._paintDeclarations[r||&quot;&quot;]||(this._paintDeclarations[r||&quot;&quot;]={}),null===e||void 0===e)delete this._paintDeclarations[r||&quot;&quot;][t];else{if(this._handleErrors(c.paintProperty,n,t,e))return;this._paintDeclarations[r||&quot;&quot;][t]=new s(this._paintSpecifications[t],e)}},getPaintProperty:function(t,e){return e=e||&quot;&quot;,a.endsWith(t,&quot;-transition&quot;)?this._paintTransitionOptions[e]&amp;&amp;this._paintTransitionOptions[e][t]:this._paintDeclarations[e]&amp;&amp;this._paintDeclarations[e][t]&amp;&amp;this._paintDeclarations[e][t].value},getPaintValue:function(t,e,r){var n=this._paintSpecifications[t],i=this._paintTransitions[t];return i?i.calculate(e,r):&quot;color&quot;===n.type&amp;&amp;n.default?u(n.default):n.default},getPaintValueStopZoomLevels:function(t){var e=this._paintTransitions[t];return e?e.declaration.stopZoomLevels:[]},getPaintInterpolationT:function(t,e){return this._paintTransitions[t].declaration.calculateInterpolationT({zoom:e})},isPaintValueFeatureConstant:function(t){var e=this._paintTransitions[t];return!e||e.declaration.isFeatureConstant},isLayoutValueFeatureConstant:function(t){var e=this._layoutDeclarations[t];return!e||e.isFeatureConstant},isPaintValueZoomConstant:function(t){var e=this._paintTransitions[t];return!e||e.declaration.isZoomConstant},isHidden:function(t){return!!(this.minzoom&amp;&amp;t&lt;this.minzoom)||(!!(this.maxzoom&amp;&amp;t&gt;=this.maxzoom)||(&quot;none&quot;===this.layout.visibility||0===this.paint[this.type+&quot;-opacity&quot;]))},updatePaintTransitions:function(t,e,r,n){for(var i=a.extend({},this._paintDeclarations[&quot;&quot;]),o=0;o&lt;t.length;o++)a.extend(i,this._paintDeclarations[t[o]]);var s;for(s in i)this._applyPaintDeclaration(s,i[s],e,r,n);for(s in this._paintTransitions)s in i||this._applyPaintDeclaration(s,null,e,r,n)},updatePaintTransition:function(t,e,r,n,i){for(var a=this._paintDeclarations[&quot;&quot;][t],o=0;o&lt;e.length;o++){var s=this._paintDeclarations[e[o]];s&amp;&amp;s[t]&amp;&amp;(a=s[t])}this._applyPaintDeclaration(t,a,r,n,i)},recalculate:function(t,e){for(var r in this._paintTransitions)this.paint[r]=this.getPaintValue(r,{zoom:t,zoomHistory:e});for(var n in this._layoutFunctions)this.layout[n]=this.getLayoutValue(n,{zoom:t,zoomHistory:e})},serialize:function(t){var e={id:this.id,ref:this.ref,metadata:this.metadata,minzoom:this.minzoom,maxzoom:this.maxzoom};for(var r in this._paintDeclarations){e[&quot;&quot;===r?&quot;paint&quot;:&quot;paint.&quot;+r]=a.mapObject(this._paintDeclarations[r],i)}return(!this.ref||t&amp;&amp;t.includeRefProperties)&amp;&amp;a.extend(e,{type:this.type,source:this.source,&quot;source-layer&quot;:this.sourceLayer,filter:this.filter,layout:a.mapObject(this._layoutDeclarations,i)}),a.filterObject(e,function(t,e){return void 0!==t&amp;&amp;!(&quot;layout&quot;===e&amp;&amp;!Object.keys(t).length)})},_applyPaintDeclaration:function(t,e,r,n,i){var l=r.transition?this._paintTransitions[t]:void 0,c=this._paintSpecifications[t];if(null!==e&amp;&amp;void 0!==e||(e=new s(c,c.default)),!l||l.declaration.json!==e.json){var u=a.extend({duration:300,delay:0},n,this.getPaintProperty(t+&quot;-transition&quot;)),f=this._paintTransitions[t]=new o(c,e,l,u);f.instant()||(f.loopID=i.set(f.endTime-Date.now())),l&amp;&amp;i.cancel(l.loopID)}},_updateLayoutValue:function(t){var e=this._layoutDeclarations[t];e&amp;&amp;e.isFunction?this._layoutFunctions[t]=!0:(delete this._layoutFunctions[t],this.layout[t]=this.getLayoutValue(t))},_handleErrors:function(t,e,r,n){return c.emitErrors(this,t.call(c,{key:e,layerType:this.type,objectKey:r,value:n,styleSpec:l,style:{glyphs:!0,sprite:!0}}))}})},{&quot;../util/evented&quot;:425,&quot;../util/util&quot;:433,&quot;./parse_color&quot;:368,&quot;./style_declaration&quot;:370,&quot;./style_layer/background_style_layer&quot;:373,&quot;./style_layer/circle_style_layer&quot;:374,&quot;./style_layer/fill_style_layer&quot;:375,&quot;./style_layer/line_style_layer&quot;:376,&quot;./style_layer/raster_style_layer&quot;:377,&quot;./style_layer/symbol_style_layer&quot;:378,&quot;./style_spec&quot;:379,&quot;./style_transition&quot;:380,&quot;./validate_style&quot;:381}],373:[function(t,e,r){&quot;use strict&quot;;function n(){a.apply(this,arguments)}var i=t(&quot;../../util/util&quot;),a=t(&quot;../style_layer&quot;);e.exports=n,n.prototype=i.inherit(a,{})},{&quot;../../util/util&quot;:433,&quot;../style_layer&quot;:372}],374:[function(t,e,r){&quot;use strict&quot;;function n(){a.apply(this,arguments)}var i=t(&quot;../../util/util&quot;),a=t(&quot;../style_layer&quot;);e.exports=n,n.prototype=i.inherit(a,{})},{&quot;../../util/util&quot;:433,&quot;../style_layer&quot;:372}],375:[function(t,e,r){&quot;use strict&quot;;function n(){a.apply(this,arguments)}var i=t(&quot;../../util/util&quot;),a=t(&quot;../style_layer&quot;);n.prototype=i.inherit(a,{getPaintValue:function(t,e,r){return&quot;fill-outline-color&quot;===t&amp;&amp;void 0===this.getPaintProperty(&quot;fill-outline-color&quot;)?a.prototype.getPaintValue.call(this,&quot;fill-color&quot;,e,r):a.prototype.getPaintValue.call(this,t,e,r)},getPaintValueStopZoomLevels:function(t){return&quot;fill-outline-color&quot;===t&amp;&amp;void 0===this.getPaintProperty(&quot;fill-outline-color&quot;)?a.prototype.getPaintValueStopZoomLevels.call(this,&quot;fill-color&quot;):a.prototype.getPaintValueStopZoomLevels.call(this,arguments)},getPaintInterpolationT:function(t,e){return&quot;fill-outline-color&quot;===t&amp;&amp;void 0===this.getPaintProperty(&quot;fill-outline-color&quot;)?a.prototype.getPaintInterpolationT.call(this,&quot;fill-color&quot;,e):a.prototype.getPaintInterpolationT.call(this,t,e)},isPaintValueFeatureConstant:function(t){return&quot;fill-outline-color&quot;===t&amp;&amp;void 0===this.getPaintProperty(&quot;fill-outline-color&quot;)?a.prototype.isPaintValueFeatureConstant.call(this,&quot;fill-color&quot;):a.prototype.isPaintValueFeatureConstant.call(this,t)},isPaintValueZoomConstant:function(t){return&quot;fill-outline-color&quot;===t&amp;&amp;void 0===this.getPaintProperty(&quot;fill-outline-color&quot;)?a.prototype.isPaintValueZoomConstant.call(this,&quot;fill-color&quot;):a.prototype.isPaintValueZoomConstant.call(this,t)}}),e.exports=n},{&quot;../../util/util&quot;:433,&quot;../style_layer&quot;:372}],376:[function(t,e,r){&quot;use strict&quot;;function n(){a.apply(this,arguments)}var i=t(&quot;../../util/util&quot;),a=t(&quot;../style_layer&quot;);e.exports=n,n.prototype=i.inherit(a,{getPaintValue:function(t,e,r){var n=a.prototype.getPaintValue.apply(this,arguments);if(n&amp;&amp;&quot;line-dasharray&quot;===t){var i=Math.floor(e.zoom);this._flooredZoom!==i&amp;&amp;(this._flooredZoom=i,this._flooredLineWidth=this.getPaintValue(&quot;line-width&quot;,e,r)),n.fromScale*=this._flooredLineWidth,n.toScale*=this._flooredLineWidth}return n}})},{&quot;../../util/util&quot;:433,&quot;../style_layer&quot;:372}],377:[function(t,e,r){&quot;use strict&quot;;function n(){a.apply(this,arguments)}var i=t(&quot;../../util/util&quot;),a=t(&quot;../style_layer&quot;);e.exports=n,n.prototype=i.inherit(a,{})},{&quot;../../util/util&quot;:433,&quot;../style_layer&quot;:372}],378:[function(t,e,r){&quot;use strict&quot;;function n(){a.apply(this,arguments)}var i=t(&quot;../../util/util&quot;),a=t(&quot;../style_layer&quot;);e.exports=n,n.prototype=i.inherit(a,{isHidden:function(){if(a.prototype.isHidden.apply(this,arguments))return!0;var t=0===this.paint[&quot;text-opacity&quot;]||!this.layout[&quot;text-field&quot;],e=0===this.paint[&quot;icon-opacity&quot;]||!this.layout[&quot;icon-image&quot;];return!(!t||!e)},getLayoutValue:function(t,e,r){return(&quot;text-rotation-alignment&quot;!==t||&quot;line&quot;!==this.getLayoutValue(&quot;symbol-placement&quot;,e,r)||this.getLayoutProperty(&quot;text-rotation-alignment&quot;))&amp;&amp;(&quot;icon-rotation-alignment&quot;!==t||&quot;line&quot;!==this.getLayoutValue(&quot;symbol-placement&quot;,e,r)||this.getLayoutProperty(&quot;icon-rotation-alignment&quot;))?&quot;text-pitch-alignment&quot;!==t||this.getLayoutProperty(&quot;text-pitch-alignment&quot;)?a.prototype.getLayoutValue.apply(this,arguments):this.getLayoutValue(&quot;text-rotation-alignment&quot;):&quot;map&quot;}})},{&quot;../../util/util&quot;:433,&quot;../style_layer&quot;:372}],379:[function(t,e,r){&quot;use strict&quot;;e.exports=t(&quot;mapbox-gl-style-spec/reference/latest.min&quot;)},{&quot;mapbox-gl-style-spec/reference/latest.min&quot;:316}],380:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,n){this.declaration=e,this.startTime=this.endTime=(new Date).getTime(),&quot;piecewise-constant&quot;===t.function&amp;&amp;t.transition?this.interp=i:this.interp=o[t.type],this.oldTransition=r,this.duration=n.duration||0,this.delay=n.delay||0,this.instant()||(this.endTime=this.startTime+this.duration+this.delay,this.ease=a.easeCubicInOut),r&amp;&amp;r.endTime&lt;=this.startTime&amp;&amp;delete r.oldTransition}function i(t,e,r){return void 0===(t&amp;&amp;t.to)||void 0===(e&amp;&amp;e.to)?void 0:{from:t.to,fromScale:t.toScale,to:e.to,toScale:e.toScale,t:r}}var a=t(&quot;../util/util&quot;),o=t(&quot;../util/interpolate&quot;);e.exports=n,n.prototype.instant=function(){return!this.oldTransition||!this.interp||0===this.duration&amp;&amp;0===this.delay},n.prototype.calculate=function(t,e){var r=this.declaration.calculate(a.extend({},t,{duration:this.duration}),e);if(this.instant())return r;var n=t.time||Date.now();if(n&lt;this.endTime){var i=this.oldTransition.calculate(a.extend({},t,{time:this.startTime}),e),o=this.ease((n-this.startTime-this.delay)/this.duration);r=this.interp(i,r,o)}return r}},{&quot;../util/interpolate&quot;:427,&quot;../util/util&quot;:433}],381:[function(t,e,r){&quot;use strict&quot;;e.exports=t(&quot;mapbox-gl-style-spec/lib/validate_style.min&quot;),e.exports.emitErrors=function(t,e){if(e&amp;&amp;e.length){for(var r=0;r&lt;e.length;r++)t.fire(&quot;error&quot;,{error:new Error(e[r].message)});return!0}return!1},e.exports.throwErrors=function(t,e){if(e)for(var r=0;r&lt;e.length;r++)throw new Error(e[r].message)}},{&quot;mapbox-gl-style-spec/lib/validate_style.min&quot;:315}],382:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,n){this.x=t,this.y=e,this.angle=r,void 0!==n&amp;&amp;(this.segment=n)}var i=t(&quot;point-geometry&quot;);e.exports=n,(n.prototype=Object.create(i.prototype)).clone=function(){return new n(this.x,this.y,this.angle,this.segment)}},{&quot;point-geometry&quot;:477}],383:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t,e,r,n,i){if(void 0===e.segment)return!0;for(var a=e,o=e.segment+1,s=0;s&gt;-r/2;){if(--o&lt;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&lt;r/2;){var u=t[o-1],f=t[o],h=t[o+1];if(!h)return!1;var d=u.angleTo(f)-f.angleTo(h);for(d=Math.abs((d+3*Math.PI)%(2*Math.PI)-Math.PI),l.push({distance:s,angleDelta:d}),c+=d;s-l[0].distance&gt;n;)c-=l.shift().angleDelta;if(c&gt;i)return!1;o++,s+=f.dist(h)}return!0}},{}],384:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;point-geometry&quot;);e.exports=function(t,e,r,i,a){for(var o=[],s=0;s&lt;t.length;s++)for(var l,c=t[s],u=0;u&lt;c.length-1;u++){var f=c[u],h=c[u+1];f.x&lt;e&amp;&amp;h.x&lt;e||(f.x&lt;e?f=new n(e,f.y+(h.y-f.y)*((e-f.x)/(h.x-f.x)))._round():h.x&lt;e&amp;&amp;(h=new n(e,f.y+(h.y-f.y)*((e-f.x)/(h.x-f.x)))._round()),f.y&lt;r&amp;&amp;h.y&lt;r||(f.y&lt;r?f=new n(f.x+(h.x-f.x)*((r-f.y)/(h.y-f.y)),r)._round():h.y&lt;r&amp;&amp;(h=new n(f.x+(h.x-f.x)*((r-f.y)/(h.y-f.y)),r)._round()),f.x&gt;=i&amp;&amp;h.x&gt;=i||(f.x&gt;=i?f=new n(i,f.y+(h.y-f.y)*((i-f.x)/(h.x-f.x)))._round():h.x&gt;=i&amp;&amp;(h=new n(i,f.y+(h.y-f.y)*((i-f.x)/(h.x-f.x)))._round()),f.y&gt;=a&amp;&amp;h.y&gt;=a||(f.y&gt;=a?f=new n(f.x+(h.x-f.x)*((a-f.y)/(h.y-f.y)),a)._round():h.y&gt;=a&amp;&amp;(h=new n(f.x+(h.x-f.x)*((a-f.y)/(h.y-f.y)),a)._round()),l&amp;&amp;f.equals(l[l.length-1])||(l=[f],o.push(l)),l.push(h)))))}return o}},{&quot;point-geometry&quot;:477}],385:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../util/struct_array&quot;),i=t(&quot;../util/util&quot;),a=t(&quot;point-geometry&quot;),o=e.exports=new n({members:[{type:&quot;Int16&quot;,name:&quot;anchorPointX&quot;},{type:&quot;Int16&quot;,name:&quot;anchorPointY&quot;},{type:&quot;Int16&quot;,name:&quot;x1&quot;},{type:&quot;Int16&quot;,name:&quot;y1&quot;},{type:&quot;Int16&quot;,name:&quot;x2&quot;},{type:&quot;Int16&quot;,name:&quot;y2&quot;},{type:&quot;Float32&quot;,name:&quot;maxScale&quot;},{type:&quot;Uint32&quot;,name:&quot;featureIndex&quot;},{type:&quot;Uint16&quot;,name:&quot;sourceLayerIndex&quot;},{type:&quot;Uint16&quot;,name:&quot;bucketIndex&quot;},{type:&quot;Int16&quot;,name:&quot;bbox0&quot;},{type:&quot;Int16&quot;,name:&quot;bbox1&quot;},{type:&quot;Int16&quot;,name:&quot;bbox2&quot;},{type:&quot;Int16&quot;,name:&quot;bbox3&quot;},{type:&quot;Float32&quot;,name:&quot;placementScale&quot;}]});i.extendAll(o.prototype.StructType.prototype,{get anchorPoint(){return new a(this.anchorPointX,this.anchorPointY)}})},{&quot;../util/struct_array&quot;:431,&quot;../util/util&quot;:433,&quot;point-geometry&quot;:477}],386:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,n,i,a,o,s,l,c,u){var f=o.top*s-l,h=o.bottom*s+l,d=o.left*s-l,p=o.right*s+l;if(this.boxStartIndex=t.length,c){var m=h-f,g=p-d;if(m&gt;0)if(m=Math.max(10*s,m),u){var v=e[r.segment+1].sub(e[r.segment])._unit()._mult(g),y=[r.sub(v),r.add(v)];this._addLineCollisionBoxes(t,y,r,0,g,m,n,i,a)}else this._addLineCollisionBoxes(t,e,r,r.segment,g,m,n,i,a)}else t.emplaceBack(r.x,r.y,d,f,p,h,1/0,n,i,a,0,0,0,0,0);this.boxEndIndex=t.length}e.exports=n,n.prototype._addLineCollisionBoxes=function(t,e,r,n,i,a,o,s,l){var c=a/2,u=Math.floor(i/c),f=-a/2,h=this.boxes,d=r,p=n+1,m=f;do{if(--p&lt;0)return h;m-=e[p].dist(d),d=e[p]}while(m&gt;-i/2);for(var g=e[p].dist(e[p+1]),v=0;v&lt;u;v++){for(var y=-i/2+v*c;m+g&lt;y;){if(m+=g,++p+1&gt;=e.length)return h;g=e[p].dist(e[p+1])}var x=y-m,b=e[p],_=e[p+1].sub(b)._unit()._mult(x)._add(b)._round(),w=i/2/Math.max(Math.abs(y-f)-c/2,0);t.emplaceBack(_.x,_.y,-a/2,-a/2,a/2,a/2,w,o,s,l,0,0,0,0,0)}return h}},{}],387:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r){if(&quot;object&quot;==typeof t){var n=t;r=e,t=n.angle,e=n.pitch,this.grid=new o(n.grid),this.ignoredGrid=new o(n.ignoredGrid)}else this.grid=new o(a,12,6),this.ignoredGrid=new o(a,12,0);this.angle=t,this.pitch=e;var i=Math.sin(t),s=Math.cos(t);if(this.rotationMatrix=[s,-i,i,s],this.reverseRotationMatrix=[s,i,-i,s],this.yStretch=1/Math.cos(e/180*Math.PI),this.yStretch=Math.pow(this.yStretch,1.3),this.collisionBoxArray=r,0===r.length){r.emplaceBack();r.emplaceBack(0,0,0,-32767,0,32767,32767,0,0,0,0,0,0,0,0,0),r.emplaceBack(a,0,0,-32767,0,32767,32767,0,0,0,0,0,0,0,0,0),r.emplaceBack(0,0,-32767,0,32767,0,32767,0,0,0,0,0,0,0,0,0),r.emplaceBack(0,a,-32767,0,32767,0,32767,0,0,0,0,0,0,0,0,0)}this.tempCollisionBox=r.get(0),this.edges=[r.get(1),r.get(2),r.get(3),r.get(4)]}var i=t(&quot;point-geometry&quot;),a=t(&quot;../data/bucket&quot;).EXTENT,o=t(&quot;grid-index&quot;);e.exports=n,n.prototype.serialize=function(){var t={angle:this.angle,pitch:this.pitch,grid:this.grid.toArrayBuffer(),ignoredGrid:this.ignoredGrid.toArrayBuffer()};return{data:t,transferables:[t.grid,t.ignoredGrid]}},n.prototype.minScale=.25,n.prototype.maxScale=2,n.prototype.placeCollisionFeature=function(t,e,r){for(var n=this.collisionBoxArray,a=this.minScale,o=this.rotationMatrix,s=this.yStretch,l=t.boxStartIndex;l&lt;t.boxEndIndex;l++){var c=n.get(l),u=c.anchorPoint._matMult(o),f=u.x,h=u.y,d=f+c.x1,p=h+c.y1*s,m=f+c.x2,g=h+c.y2*s;if(c.bbox0=d,c.bbox1=p,c.bbox2=m,c.bbox3=g,!e)for(var v=this.grid.query(d,p,m,g),y=0;y&lt;v.length;y++){var x=n.get(v[y]),b=x.anchorPoint._matMult(o);if((a=this.getPlacementScale(a,u,c,b,x))&gt;=this.maxScale)return a}if(r){var _;if(this.angle){var w=this.reverseRotationMatrix,M=new i(c.x1,c.y1).matMult(w),k=new i(c.x2,c.y1).matMult(w),A=new i(c.x1,c.y2).matMult(w),T=new i(c.x2,c.y2).matMult(w);(_=this.tempCollisionBox).anchorPointX=c.anchorPoint.x,_.anchorPointY=c.anchorPoint.y,_.x1=Math.min(M.x,k.x,A.x,T.x),_.y1=Math.min(M.y,k.x,A.x,T.x),_.x2=Math.max(M.x,k.x,A.x,T.x),_.y2=Math.max(M.y,k.x,A.x,T.x),_.maxScale=c.maxScale}else _=c;for(var S=0;S&lt;this.edges.length;S++){var E=this.edges[S];if((a=this.getPlacementScale(a,c.anchorPoint,_,E.anchorPoint,E))&gt;=this.maxScale)return a}}}return a},n.prototype.queryRenderedSymbols=function(t,e,r,n,a){var o={},s=[],l=this.collisionBoxArray,c=this.rotationMatrix,u=new i(t,e)._matMult(c),f=this.tempCollisionBox;f.anchorX=u.x,f.anchorY=u.y,f.x1=0,f.y1=0,f.x2=r-t,f.y2=n-e,f.maxScale=a,a=f.maxScale;for(var h=[u.x+f.x1/a,u.y+f.y1/a*this.yStretch,u.x+f.x2/a,u.y+f.y2/a*this.yStretch],d=this.grid.query(h[0],h[1],h[2],h[3]),p=this.ignoredGrid.query(h[0],h[1],h[2],h[3]),m=0;m&lt;p.length;m++)d.push(p[m]);for(var g=0;g&lt;d.length;g++){var v=l.get(d[g]),y=v.sourceLayerIndex,x=v.featureIndex;if(void 0===o[y]&amp;&amp;(o[y]={}),!o[y][x]){var b=v.anchorPoint.matMult(c);this.getPlacementScale(this.minScale,u,f,b,v)&gt;=a&amp;&amp;(o[y][x]=!0,s.push(d[g]))}}return s},n.prototype.getPlacementScale=function(t,e,r,n,i){var a=e.x-n.x,o=e.y-n.y,s=(i.x1-r.x2)/a,l=(i.x2-r.x1)/a,c=(i.y1-r.y2)*this.yStretch/o,u=(i.y2-r.y1)*this.yStretch/o;(isNaN(s)||isNaN(l))&amp;&amp;(s=l=1),(isNaN(c)||isNaN(u))&amp;&amp;(c=u=1);var f=Math.min(Math.max(s,l),Math.max(c,u)),h=i.maxScale,d=r.maxScale;return f&gt;h&amp;&amp;(f=h),f&gt;d&amp;&amp;(f=d),f&gt;t&amp;&amp;f&gt;=i.placementScale&amp;&amp;(t=f),t},n.prototype.insertCollisionFeature=function(t,e,r){for(var n=r?this.ignoredGrid:this.grid,i=this.collisionBoxArray,a=t.boxStartIndex;a&lt;t.boxEndIndex;a++){var o=i.get(a);o.placementScale=e,e&lt;this.maxScale&amp;&amp;n.insert(a,o.bbox0,o.bbox1,o.bbox2,o.bbox3)}}},{&quot;../data/bucket&quot;:320,&quot;grid-index&quot;:275,&quot;point-geometry&quot;:477}],388:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,s,l,c,u,f,h){for(var d=c/2,p=0,m=0;m&lt;t.length-1;m++)p+=t[m].dist(t[m+1]);for(var g=0,v=e-r,y=[],x=0;x&lt;t.length-1;x++){for(var b=t[x],_=t[x+1],w=b.dist(_),M=_.angleTo(b);v+r&lt;g+w;){var k=((v+=r)-g)/w,A=i(b.x,_.x,k),T=i(b.y,_.y,k);if(A&gt;=0&amp;&amp;A&lt;h&amp;&amp;T&gt;=0&amp;&amp;T&lt;h&amp;&amp;v-d&gt;=0&amp;&amp;v+d&lt;=p){var S=new a(A,T,M,x)._round();s&amp;&amp;!o(t,S,c,s,l)||y.push(S)}}g+=w}return f||y.length||u||(y=n(t,g/2,r,s,l,c,u,!0,h)),y}var i=t(&quot;../util/interpolate&quot;),a=t(&quot;../symbol/anchor&quot;),o=t(&quot;./check_max_angle&quot;);e.exports=function(t,e,r,i,a,o,s,l,c){var u=i?.6*o*s:0,f=Math.max(i?i.right-i.left:0,a?a.right-a.left:0),h=0===t[0].x||t[0].x===c||0===t[0].y||t[0].y===c;return e-f*s&lt;e/4&amp;&amp;(e=f*s+e/4),n(t,h?e/2*l%e:(f/2+2*o)*s*l%e,e,u,r,f*s,h,!1,c)}},{&quot;../symbol/anchor&quot;:382,&quot;../util/interpolate&quot;:427,&quot;./check_max_angle&quot;:383}],389:[function(t,e,r){&quot;use strict&quot;;function n(){this.width=o,this.height=o,this.bin=new i(this.width,this.height),this.index={},this.ids={},this.data=new Uint8Array(this.width*this.height)}var i=t(&quot;shelf-pack&quot;),a=t(&quot;../util/util&quot;),o=128;e.exports=n,n.prototype.getGlyphs=function(){var t,e,r,n={};for(var i in this.ids)e=(t=i.split(&quot;#&quot;))[0],r=t[1],n[e]||(n[e]=[]),n[e].push(r);return n},n.prototype.getRects=function(){var t,e,r,n={};for(var i in this.ids)e=(t=i.split(&quot;#&quot;))[0],r=t[1],n[e]||(n[e]={}),n[e][r]=this.index[i];return n},n.prototype.addGlyph=function(t,e,r,n){if(!r)return null;var i=e+&quot;#&quot;+r.id;if(this.index[i])return this.ids[i].indexOf(t)&lt;0&amp;&amp;this.ids[i].push(t),this.index[i];if(!r.bitmap)return null;var o=r.width+2*n,s=r.height+2*n,l=o+2,c=s+2;l+=4-l%4,c+=4-c%4;var u=this.bin.packOne(l,c);if(u||(this.resize(),u=this.bin.packOne(l,c)),!u)return a.warnOnce(&quot;glyph bitmap overflow&quot;),null;this.index[i]=u,this.ids[i]=[t];for(var f=this.data,h=r.bitmap,d=0;d&lt;s;d++)for(var p=this.width*(u.y+d+1)+u.x+1,m=o*d,g=0;g&lt;o;g++)f[p+g]=h[m+g];return this.dirty=!0,u},n.prototype.resize=function(){var t=this.width,e=this.height;if(!(t&gt;=2048||e&gt;=2048)){this.texture&amp;&amp;(this.gl&amp;&amp;this.gl.deleteTexture(this.texture),this.texture=null),this.width*=4,this.height*=4,this.bin.resize(this.width,this.height);for(var r=new ArrayBuffer(this.width*this.height),n=0;n&lt;e;n++){var i=new Uint8Array(this.data.buffer,e*n,t);new Uint8Array(r,e*n*4,t).set(i)}this.data=new Uint8Array(r)}},n.prototype.bind=function(t){this.gl=t,this.texture?t.bindTexture(t.TEXTURE_2D,this.texture):(this.texture=t.createTexture(),t.bindTexture(t.TEXTURE_2D,this.texture),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MAG_FILTER,t.LINEAR),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MIN_FILTER,t.LINEAR),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),t.texImage2D(t.TEXTURE_2D,0,t.ALPHA,this.width,this.height,0,t.ALPHA,t.UNSIGNED_BYTE,null))},n.prototype.updateTexture=function(t){this.bind(t),this.dirty&amp;&amp;(t.texSubImage2D(t.TEXTURE_2D,0,0,0,this.width,this.height,t.ALPHA,t.UNSIGNED_BYTE,this.data),this.dirty=!1)}},{&quot;../util/util&quot;:433,&quot;shelf-pack&quot;:521}],390:[function(t,e,r){&quot;use strict&quot;;function n(t){this.url=t&amp;&amp;a(t),this.atlases={},this.stacks={},this.loading={}}function i(t,e,r){this.advance=t.advance,this.left=t.left-r-1,this.top=t.top+r+1,this.rect=e}var a=t(&quot;../util/mapbox&quot;).normalizeGlyphsURL,o=t(&quot;../util/ajax&quot;).getArrayBuffer,s=t(&quot;../util/glyphs&quot;),l=t(&quot;../symbol/glyph_atlas&quot;),c=t(&quot;pbf&quot;);e.exports=n,n.prototype.getSimpleGlyphs=function(t,e,r,n){void 0===this.stacks[t]&amp;&amp;(this.stacks[t]={}),void 0===this.atlases[t]&amp;&amp;(this.atlases[t]=new l);for(var a,o={},s=this.stacks[t],c=this.atlases[t],u={},f=0,h=0;h&lt;e.length;h++){var d=e[h];if(a=Math.floor(d/256),s[a]){var p=s[a].glyphs[d],m=c.addGlyph(r,t,p,3);p&amp;&amp;(o[d]=new i(p,m,3))}else void 0===u[a]&amp;&amp;(u[a]=[],f++),u[a].push(d)}f||n(void 0,o,t);var g=function(e,a,s){if(!e)for(var l=this.stacks[t][a]=s.stacks[0],h=0;h&lt;u[a].length;h++){var d=u[a][h],p=l.glyphs[d],m=c.addGlyph(r,t,p,3);p&amp;&amp;(o[d]=new i(p,m,3))}--f||n(void 0,o,t)}.bind(this);for(var v in u)this.loadRange(t,v,g)},n.prototype.loadRange=function(t,e,r){if(256*e&gt;65535)return r(&quot;glyphs &gt; 65535 not supported&quot;);void 0===this.loading[t]&amp;&amp;(this.loading[t]={});var n=this.loading[t];if(n[e])n[e].push(r);else{n[e]=[r];var i=function(t,e,r,n){return n=n||&quot;abc&quot;,r.replace(&quot;{s}&quot;,n[t.length%n.length]).replace(&quot;{fontstack}&quot;,t).replace(&quot;{range}&quot;,e)}(t,256*e+&quot;-&quot;+(256*e+255),this.url);o(i,function(t,r){for(var i=!t&amp;&amp;new s(new c(new Uint8Array(r))),a=0;a&lt;n[e].length;a++)n[e][a](t,e,i);delete n[e]})}},n.prototype.getGlyphAtlas=function(t){return this.atlases[t]}},{&quot;../symbol/glyph_atlas&quot;:389,&quot;../util/ajax&quot;:416,&quot;../util/glyphs&quot;:426,&quot;../util/mapbox&quot;:430,pbf:470}],391:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t,e,r){function n(n){u.push(t[n]),f.push(r[n]),h.push(e[n]),d++}function i(t,e,r){var n=c[t];return delete c[t],c[e]=n,f[n][0].pop(),f[n][0]=f[n][0].concat(r[0]),n}function a(t,e,r){var n=l[e];return delete l[e],l[t]=n,f[n][0].shift(),f[n][0]=r[0].concat(f[n][0]),n}function o(t,e,r){var n=r?e[0][e[0].length-1]:e[0][0];return t+&quot;:&quot;+n.x+&quot;:&quot;+n.y}var s,l={},c={},u=[],f=[],h=[],d=0;for(s=0;s&lt;t.length;s++){var p=r[s],m=e[s];if(m){var g=o(m,p),v=o(m,p,!0);if(g in c&amp;&amp;v in l&amp;&amp;c[g]!==l[v]){var y=a(g,v,p),x=i(g,v,f[y]);delete l[g],delete c[v],c[o(m,f[x],!0)]=x,f[y]=null}else g in c?i(g,v,p):v in l?a(g,v,p):(n(s),l[g]=d-1,c[v]=d-1)}else n(s)}return{features:u,textFeatures:h,geometries:f}}},{}],392:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,n,i,a,o,s,l,c){this.anchorPoint=t,this.tl=e,this.tr=r,this.bl=n,this.br=i,this.tex=a,this.anchorAngle=o,this.glyphAngle=s,this.minScale=l,this.maxScale=c}function i(t,e,r,n,i,s){var l=!s;r&lt;0&amp;&amp;(s=!s),s&amp;&amp;i++;var c=new a(e.x,e.y),u=n[i],f=1/0;r=Math.abs(r);for(var h=o;;){var d=c.dist(u),p=r/d,m=Math.atan2(u.y-c.y,u.x-c.x);if(s||(m+=Math.PI),t.push({anchorPoint:c,offset:l?Math.PI:0,minScale:p,maxScale:f,angle:(m+2*Math.PI)%(2*Math.PI)}),p&lt;=h)break;for(c=u;c.equals(u);)if(i+=s?1:-1,!(u=n[i]))return p;var g=u.sub(c)._unit();c=c.sub(g._mult(d)),f=p}return h}var a=t(&quot;point-geometry&quot;);e.exports={getIconQuads:function(t,e,r,i,s,l,c,u,f){var h,d,p,m,g=e.image.rect,v=s.layout,y=e.left-1,x=y+g.w/e.image.pixelRatio,b=e.top-1,_=b+g.h/e.image.pixelRatio;if(&quot;none&quot;!==v[&quot;icon-text-fit&quot;]&amp;&amp;c){var w=x-y,M=_-b,k=v[&quot;text-size&quot;]/24,A=c.left*k,T=c.right*k,S=c.top*k,E=T-A,L=c.bottom*k-S,C=v[&quot;icon-text-fit-padding&quot;][0],z=v[&quot;icon-text-fit-padding&quot;][1],D=v[&quot;icon-text-fit-padding&quot;][2],I=v[&quot;icon-text-fit-padding&quot;][3],P=&quot;width&quot;===v[&quot;icon-text-fit&quot;]?.5*(L-M):0,O=&quot;height&quot;===v[&quot;icon-text-fit&quot;]?.5*(E-w):0,F=&quot;width&quot;===v[&quot;icon-text-fit&quot;]||&quot;both&quot;===v[&quot;icon-text-fit&quot;]?E:w,R=&quot;height&quot;===v[&quot;icon-text-fit&quot;]||&quot;both&quot;===v[&quot;icon-text-fit&quot;]?L:M;h=new a(A+O-I,S+P-C),d=new a(A+O+z+F,S+P-C),p=new a(A+O+z+F,S+P+D+R),m=new a(A+O-I,S+P+D+R)}else h=new a(y,b),d=new a(x,b),p=new a(x,_),m=new a(y,_);var N=s.getLayoutValue(&quot;icon-rotate&quot;,u,f)*Math.PI/180;if(l){var j=i[t.segment];if(t.y===j.y&amp;&amp;t.x===j.x&amp;&amp;t.segment+1&lt;i.length){var B=i[t.segment+1];N+=Math.atan2(t.y-B.y,t.x-B.x)+Math.PI}else N+=Math.atan2(t.y-j.y,t.x-j.x)}if(N){var U=Math.sin(N),V=Math.cos(N),q=[V,-U,U,V];h=h.matMult(q),d=d.matMult(q),m=m.matMult(q),p=p.matMult(q)}return[new n(new a(t.x,t.y),h,d,m,p,e.image.rect,0,0,o,1/0)]},getGlyphQuads:function(t,e,r,s,l,c){for(var u=l.layout[&quot;text-rotate&quot;]*Math.PI/180,f=l.layout[&quot;text-keep-upright&quot;],h=e.positionedGlyphs,d=[],p=0;p&lt;h.length;p++){var m=h[p],g=m.glyph,v=g.rect;if(v){var y,x=(m.x+g.advance/2)*r,b=o;c?(b=i(y=[],t,x,s,t.segment,!0),f&amp;&amp;(b=Math.min(b,i(y,t,x,s,t.segment,!1)))):y=[{anchorPoint:new a(t.x,t.y),offset:0,angle:0,maxScale:1/0,minScale:o}];for(var _=m.x+g.left,w=m.y-g.top,M=_+v.w,k=w+v.h,A=new a(_,w),T=new a(M,w),S=new a(_,k),E=new a(M,k),L=0;L&lt;y.length;L++){var C=y[L],z=A,D=T,I=S,P=E;if(u){var O=Math.sin(u),F=Math.cos(u),R=[F,-O,O,F];z=z.matMult(R),D=D.matMult(R),I=I.matMult(R),P=P.matMult(R)}var N=Math.max(C.minScale,b),j=(t.angle+C.offset+2*Math.PI)%(2*Math.PI),B=(C.angle+C.offset+2*Math.PI)%(2*Math.PI);d.push(new n(C.anchorPoint,z,D,I,P,v,j,B,N,C.maxScale))}}}return d},SymbolQuad:n};var o=.5},{&quot;point-geometry&quot;:477}],393:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../util/token&quot;);e.exports=function(t,e,r){for(var i=[],a=0,o=t.length;a&lt;o;a++){var s=n(t[a].properties,e[&quot;text-field&quot;]);if(s){s=s.toString();var l=e[&quot;text-transform&quot;];&quot;uppercase&quot;===l?s=s.toLocaleUpperCase():&quot;lowercase&quot;===l&amp;&amp;(s=s.toLocaleLowerCase());for(var c=0;c&lt;s.length;c++)r[s.charCodeAt(c)]=!0;i[a]=s}else i[a]=null}return i}},{&quot;../util/token&quot;:432}],394:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,n){this.codePoint=t,this.x=e,this.y=r,this.glyph=n}function i(t,e,r,n,i){for(var a=e[t[n].codePoint].advance,o=(t[n].x+a)*i,s=r;s&lt;=n;s++)t[s].x-=o}e.exports={shapeText:function(t,e,r,s,l,c,u,f,h){for(var d=[],p=new function(t,e,r,n,i,a){this.positionedGlyphs=t,this.text=e,this.top=r,this.bottom=n,this.left=i,this.right=a}(d,t,h[1],h[1],h[0],h[0]),m=0,g=0;g&lt;t.length;g++){var v=t.charCodeAt(g),y=e[v];y&amp;&amp;(d.push(new n(v,m,-17,y)),m+=y.advance+f)}return!!d.length&amp;&amp;(function(t,e,r,n,s,l,c,u){var f=null,h=0,d=0,p=0,m=0,g=t.positionedGlyphs;if(n)for(var v=0;v&lt;g.length;v++){var y=g[v];if(y.x-=h,y.y+=r*p,y.x&gt;n&amp;&amp;null!==f){var x=g[f+1].x;m=Math.max(x,m);for(var b=f+1;b&lt;=v;b++)g[b].y+=r,g[b].x-=x;if(c){var _=f;a[g[f].codePoint]&amp;&amp;_--,i(g,e,d,_,c)}d=f+1,f=null,h+=x,p++}o[y.codePoint]&amp;&amp;(f=v)}var w=g[g.length-1],M=w.x+e[w.codePoint].advance;m=Math.max(m,M);var k=(p+1)*r;i(g,e,d,g.length-1,c),function(t,e,r,n,i,a,o,s){for(var l=(e-r)*i+s[0],c=(-n*(o+1)+.5)*a+s[1],u=0;u&lt;t.length;u++)t[u].x+=l,t[u].y+=c}(g,c,s,l,m,r,p,u),t.top+=-l*k,t.bottom=t.top+k,t.left+=-s*m,t.right=t.left+m}(p,e,s,r,l,c,u,h),p)},shapeIcon:function(t,e){if(!t||!t.rect)return null;var r=e[&quot;icon-offset&quot;][0],n=e[&quot;icon-offset&quot;][1],i=r-t.width/2,a=i+t.width,o=n-t.height/2;return new function(t,e,r,n,i){this.image=t,this.top=e,this.bottom=r,this.left=n,this.right=i}(t,o,o+t.height,i,a)}};var a={32:!0,8203:!0},o={32:!0,38:!0,43:!0,45:!0,47:!0,173:!0,183:!0,8203:!0,8208:!0,8211:!0}},{}],395:[function(t,e,r){&quot;use strict&quot;;function n(t,e){this.width=t,this.height=e,this.bin=new i(t,e),this.images={},this.data=!1,this.texture=0,this.filter=0,this.pixelRatio=1,this.dirty=!0}var i=t(&quot;shelf-pack&quot;),a=t(&quot;../util/browser&quot;),o=t(&quot;../util/util&quot;);e.exports=n,n.prototype.allocateImage=function(t,e){var r=(t/=this.pixelRatio)+2+(4-(t+2)%4),n=(e/=this.pixelRatio)+2+(4-(e+2)%4),i=this.bin.packOne(r,n);return i||(o.warnOnce(&quot;SpriteAtlas out of space.&quot;),null)},n.prototype.getImage=function(t,e){if(this.images[t])return this.images[t];if(!this.sprite)return null;var r=this.sprite.getSpritePosition(t);if(!r.width||!r.height)return null;var n=this.allocateImage(r.width,r.height);if(!n)return null;var i=new function(t,e,r,n,i){this.rect=t,this.width=e,this.height=r,this.sdf=n,this.pixelRatio=i}(n,r.width/r.pixelRatio,r.height/r.pixelRatio,r.sdf,r.pixelRatio/this.pixelRatio);return this.images[t]=i,this.copy(n,r,e),i},n.prototype.getPosition=function(t,e){var r=this.getImage(t,e),n=r&amp;&amp;r.rect;if(!n)return null;var i=r.width*r.pixelRatio,a=r.height*r.pixelRatio;return{size:[r.width,r.height],tl:[(n.x+1)/this.width,(n.y+1)/this.height],br:[(n.x+1+i)/this.width,(n.y+1+a)/this.height]}},n.prototype.allocate=function(){if(!this.data){var t=Math.floor(this.width*this.pixelRatio),e=Math.floor(this.height*this.pixelRatio);this.data=new Uint32Array(t*e);for(var r=0;r&lt;this.data.length;r++)this.data[r]=0}},n.prototype.copy=function(t,e,r){if(this.sprite.img.data){var n=new Uint32Array(this.sprite.img.data.buffer);this.allocate();var i=this.data;!function(t,e,r,n,i,a,o,s,l,c,u){var f,h,d=n*e+r,p=s*a+o;if(u)for(p-=a,h=-1;h&lt;=c;h++,d=((h+c)%c+n)*e+r,p+=a)for(f=-1;f&lt;=l;f++)i[p+f]=t[d+(f+l)%l];else for(h=0;h&lt;c;h++,d+=e,p+=a)for(f=0;f&lt;l;f++)i[p+f]=t[d+f]}(n,this.sprite.img.width,e.x,e.y,i,this.width*this.pixelRatio,(t.x+1)*this.pixelRatio,(t.y+1)*this.pixelRatio,e.width,e.height,r),this.dirty=!0}},n.prototype.setSprite=function(t){t&amp;&amp;(this.pixelRatio=a.devicePixelRatio&gt;1?2:1,this.canvas&amp;&amp;(this.canvas.width=this.width*this.pixelRatio,this.canvas.height=this.height*this.pixelRatio)),this.sprite=t},n.prototype.addIcons=function(t,e){for(var r=0;r&lt;t.length;r++)this.getImage(t[r]);e(null,this.images)},n.prototype.bind=function(t,e){var r=!1;this.texture?t.bindTexture(t.TEXTURE_2D,this.texture):(this.texture=t.createTexture(),t.bindTexture(t.TEXTURE_2D,this.texture),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),r=!0);var n=e?t.LINEAR:t.NEAREST;n!==this.filter&amp;&amp;(t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MIN_FILTER,n),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MAG_FILTER,n),this.filter=n),this.dirty&amp;&amp;(this.allocate(),r?t.texImage2D(t.TEXTURE_2D,0,t.RGBA,this.width*this.pixelRatio,this.height*this.pixelRatio,0,t.RGBA,t.UNSIGNED_BYTE,new Uint8Array(this.data.buffer)):t.texSubImage2D(t.TEXTURE_2D,0,0,0,this.width*this.pixelRatio,this.height*this.pixelRatio,t.RGBA,t.UNSIGNED_BYTE,new Uint8Array(this.data.buffer)),this.dirty=!1)}},{&quot;../util/browser&quot;:417,&quot;../util/util&quot;:433,&quot;shelf-pack&quot;:521}],396:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../util/struct_array&quot;),i=t(&quot;../util/util&quot;),a=t(&quot;point-geometry&quot;),o=e.exports=new n({members:[{type:&quot;Uint16&quot;,name:&quot;textBoxStartIndex&quot;},{type:&quot;Uint16&quot;,name:&quot;textBoxEndIndex&quot;},{type:&quot;Uint16&quot;,name:&quot;iconBoxStartIndex&quot;},{type:&quot;Uint16&quot;,name:&quot;iconBoxEndIndex&quot;},{type:&quot;Uint16&quot;,name:&quot;glyphQuadStartIndex&quot;},{type:&quot;Uint16&quot;,name:&quot;glyphQuadEndIndex&quot;},{type:&quot;Uint16&quot;,name:&quot;iconQuadStartIndex&quot;},{type:&quot;Uint16&quot;,name:&quot;iconQuadEndIndex&quot;},{type:&quot;Int16&quot;,name:&quot;anchorPointX&quot;},{type:&quot;Int16&quot;,name:&quot;anchorPointY&quot;},{type:&quot;Int8&quot;,name:&quot;index&quot;}]});i.extendAll(o.prototype.StructType.prototype,{get anchorPoint(){return new a(this.anchorPointX,this.anchorPointY)}})},{&quot;../util/struct_array&quot;:431,&quot;../util/util&quot;:433,&quot;point-geometry&quot;:477}],397:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../util/struct_array&quot;),i=t(&quot;../util/util&quot;),a=t(&quot;point-geometry&quot;),o=t(&quot;./quads&quot;).SymbolQuad,s=e.exports=new n({members:[{type:&quot;Int16&quot;,name:&quot;anchorPointX&quot;},{type:&quot;Int16&quot;,name:&quot;anchorPointY&quot;},{type:&quot;Float32&quot;,name:&quot;tlX&quot;},{type:&quot;Float32&quot;,name:&quot;tlY&quot;},{type:&quot;Float32&quot;,name:&quot;trX&quot;},{type:&quot;Float32&quot;,name:&quot;trY&quot;},{type:&quot;Float32&quot;,name:&quot;blX&quot;},{type:&quot;Float32&quot;,name:&quot;blY&quot;},{type:&quot;Float32&quot;,name:&quot;brX&quot;},{type:&quot;Float32&quot;,name:&quot;brY&quot;},{type:&quot;Int16&quot;,name:&quot;texH&quot;},{type:&quot;Int16&quot;,name:&quot;texW&quot;},{type:&quot;Int16&quot;,name:&quot;texX&quot;},{type:&quot;Int16&quot;,name:&quot;texY&quot;},{type:&quot;Float32&quot;,name:&quot;anchorAngle&quot;},{type:&quot;Float32&quot;,name:&quot;glyphAngle&quot;},{type:&quot;Float32&quot;,name:&quot;maxScale&quot;},{type:&quot;Float32&quot;,name:&quot;minScale&quot;}]});i.extendAll(s.prototype.StructType.prototype,{get anchorPoint(){return new a(this.anchorPointX,this.anchorPointY)},get SymbolQuad(){return new o(this.anchorPoint,new a(this.tlX,this.tlY),new a(this.trX,this.trY),new a(this.blX,this.blY),new a(this.brX,this.brY),{x:this.texX,y:this.texY,h:this.texH,w:this.texW,height:this.texH,width:this.texW},this.anchorAngle,this.glyphAngle,this.minScale,this.maxScale)}})},{&quot;../util/struct_array&quot;:431,&quot;../util/util&quot;:433,&quot;./quads&quot;:392,&quot;point-geometry&quot;:477}],398:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../util/dom&quot;),i=t(&quot;point-geometry&quot;),a={scrollZoom:t(&quot;./handler/scroll_zoom&quot;),boxZoom:t(&quot;./handler/box_zoom&quot;),dragRotate:t(&quot;./handler/drag_rotate&quot;),dragPan:t(&quot;./handler/drag_pan&quot;),keyboard:t(&quot;./handler/keyboard&quot;),doubleClickZoom:t(&quot;./handler/dblclick_zoom&quot;),touchZoomRotate:t(&quot;./handler/touch_zoom_rotate&quot;)};e.exports=function(t,e){function r(){f=null}function o(e,r){var i=n.mousePos(l,r);return t.fire(e,{lngLat:t.unproject(i),point:i,originalEvent:r})}function s(e,r){var a=n.touchPos(l,r),o=a.reduce(function(t,e,r,n){return t.add(e.div(n.length))},new i(0,0));return t.fire(e,{lngLat:t.unproject(o),point:o,lngLats:a.map(function(e){return t.unproject(e)},this),points:a,originalEvent:r})}var l=t.getCanvasContainer(),c=null,u=null,f=null;for(var h in a)t[h]=new a[h](t,e),e.interactive&amp;&amp;e[h]&amp;&amp;t[h].enable();l.addEventListener(&quot;mouseout&quot;,function(t){o(&quot;mouseout&quot;,t)},!1),l.addEventListener(&quot;mousedown&quot;,function(e){t.stop(),u=n.mousePos(l,e),o(&quot;mousedown&quot;,e)},!1),l.addEventListener(&quot;mouseup&quot;,function(e){var r=t.dragRotate&amp;&amp;t.dragRotate.isActive();c&amp;&amp;!r&amp;&amp;o(&quot;contextmenu&quot;,c),c=null,o(&quot;mouseup&quot;,e)},!1),l.addEventListener(&quot;mousemove&quot;,function(e){if(!(t.dragPan&amp;&amp;t.dragPan.isActive()||t.dragRotate&amp;&amp;t.dragRotate.isActive())){for(var r=e.toElement||e.target;r&amp;&amp;r!==l;)r=r.parentNode;r===l&amp;&amp;o(&quot;mousemove&quot;,e)}},!1),l.addEventListener(&quot;touchstart&quot;,function(e){t.stop(),s(&quot;touchstart&quot;,e),!e.touches||e.touches.length&gt;1||(f?(clearTimeout(f),f=null,o(&quot;dblclick&quot;,e)):f=setTimeout(r,300))},!1),l.addEventListener(&quot;touchend&quot;,function(t){s(&quot;touchend&quot;,t)},!1),l.addEventListener(&quot;touchmove&quot;,function(t){s(&quot;touchmove&quot;,t)},!1),l.addEventListener(&quot;touchcancel&quot;,function(t){s(&quot;touchcancel&quot;,t)},!1),l.addEventListener(&quot;click&quot;,function(t){n.mousePos(l,t).equals(u)&amp;&amp;o(&quot;click&quot;,t)},!1),l.addEventListener(&quot;dblclick&quot;,function(t){o(&quot;dblclick&quot;,t),t.preventDefault()},!1),l.addEventListener(&quot;contextmenu&quot;,function(t){c=t,t.preventDefault()},!1)}},{&quot;../util/dom&quot;:419,&quot;./handler/box_zoom&quot;:404,&quot;./handler/dblclick_zoom&quot;:405,&quot;./handler/drag_pan&quot;:406,&quot;./handler/drag_rotate&quot;:407,&quot;./handler/keyboard&quot;:408,&quot;./handler/scroll_zoom&quot;:409,&quot;./handler/touch_zoom_rotate&quot;:410,&quot;point-geometry&quot;:477}],399:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../util/util&quot;),i=t(&quot;../util/interpolate&quot;),a=t(&quot;../util/browser&quot;),o=t(&quot;../geo/lng_lat&quot;),s=t(&quot;../geo/lng_lat_bounds&quot;),l=t(&quot;point-geometry&quot;),c=e.exports=function(){};n.extend(c.prototype,{getCenter:function(){return this.transform.center},setCenter:function(t,e){return this.jumpTo({center:t},e),this},panBy:function(t,e,r){return this.panTo(this.transform.center,n.extend({offset:l.convert(t).mult(-1)},e),r),this},panTo:function(t,e,r){return this.easeTo(n.extend({center:t},e),r)},getZoom:function(){return this.transform.zoom},setZoom:function(t,e){return this.jumpTo({zoom:t},e),this},zoomTo:function(t,e,r){return this.easeTo(n.extend({zoom:t},e),r)},zoomIn:function(t,e){return this.zoomTo(this.getZoom()+1,t,e),this},zoomOut:function(t,e){return this.zoomTo(this.getZoom()-1,t,e),this},getBearing:function(){return this.transform.bearing},setBearing:function(t,e){return this.jumpTo({bearing:t},e),this},rotateTo:function(t,e,r){return this.easeTo(n.extend({bearing:t},e),r)},resetNorth:function(t,e){return this.rotateTo(0,n.extend({duration:1e3},t),e),this},snapToNorth:function(t,e){return Math.abs(this.getBearing())&lt;this._bearingSnap?this.resetNorth(t,e):this},getPitch:function(){return this.transform.pitch},setPitch:function(t,e){return this.jumpTo({pitch:t},e),this},fitBounds:function(t,e,r){e=n.extend({padding:0,offset:[0,0],maxZoom:1/0},e),t=s.convert(t);var i=l.convert(e.offset),a=this.transform,o=a.project(t.getNorthWest()),c=a.project(t.getSouthEast()),u=c.sub(o),f=(a.width-2*e.padding-2*Math.abs(i.x))/u.x,h=(a.height-2*e.padding-2*Math.abs(i.y))/u.y;return e.center=a.unproject(o.add(c).div(2)),e.zoom=Math.min(a.scaleZoom(a.scale*Math.min(f,h)),e.maxZoom),e.bearing=0,e.linear?this.easeTo(e,r):this.flyTo(e,r)},jumpTo:function(t,e){this.stop();var r=this.transform,n=!1,i=!1,a=!1;return&quot;zoom&quot;in t&amp;&amp;r.zoom!==+t.zoom&amp;&amp;(n=!0,r.zoom=+t.zoom),&quot;center&quot;in t&amp;&amp;(r.center=o.convert(t.center)),&quot;bearing&quot;in t&amp;&amp;r.bearing!==+t.bearing&amp;&amp;(i=!0,r.bearing=+t.bearing),&quot;pitch&quot;in t&amp;&amp;r.pitch!==+t.pitch&amp;&amp;(a=!0,r.pitch=+t.pitch),this.fire(&quot;movestart&quot;,e).fire(&quot;move&quot;,e),n&amp;&amp;this.fire(&quot;zoomstart&quot;,e).fire(&quot;zoom&quot;,e).fire(&quot;zoomend&quot;,e),i&amp;&amp;this.fire(&quot;rotate&quot;,e),a&amp;&amp;this.fire(&quot;pitch&quot;,e),this.fire(&quot;moveend&quot;,e)},easeTo:function(t,e){this.stop(),t=n.extend({offset:[0,0],duration:500,easing:n.ease},t);var r,a,s=this.transform,c=l.convert(t.offset),u=this.getZoom(),f=this.getBearing(),h=this.getPitch(),d=&quot;zoom&quot;in t?+t.zoom:u,p=&quot;bearing&quot;in t?this._normalizeBearing(t.bearing,f):f,m=&quot;pitch&quot;in t?+t.pitch:h;&quot;center&quot;in t?(r=o.convert(t.center),a=s.centerPoint.add(c)):&quot;around&quot;in t?(r=o.convert(t.around),a=s.locationPoint(r)):(a=s.centerPoint.add(c),r=s.pointLocation(a));var g=s.locationPoint(r);return!1===t.animate&amp;&amp;(t.duration=0),this.zooming=d!==u,this.rotating=f!==p,this.pitching=m!==h,t.noMoveStart||this.fire(&quot;movestart&quot;,e),this.zooming&amp;&amp;this.fire(&quot;zoomstart&quot;,e),clearTimeout(this._onEaseEnd),this._ease(function(t){this.zooming&amp;&amp;(s.zoom=i(u,d,t)),this.rotating&amp;&amp;(s.bearing=i(f,p,t)),this.pitching&amp;&amp;(s.pitch=i(h,m,t)),s.setLocationAtPoint(r,g.add(a.sub(g)._mult(t))),this.fire(&quot;move&quot;,e),this.zooming&amp;&amp;this.fire(&quot;zoom&quot;,e),this.rotating&amp;&amp;this.fire(&quot;rotate&quot;,e),this.pitching&amp;&amp;this.fire(&quot;pitch&quot;,e)},function(){t.delayEndEvents?this._onEaseEnd=setTimeout(this._easeToEnd.bind(this,e),t.delayEndEvents):this._easeToEnd(e)}.bind(this),t),this},_easeToEnd:function(t){var e=this.zooming;this.zooming=!1,this.rotating=!1,this.pitching=!1,e&amp;&amp;this.fire(&quot;zoomend&quot;,t),this.fire(&quot;moveend&quot;,t)},flyTo:function(t,e){function r(t){var e=(k*k-M*M+(t?-1:1)*E*E*A*A)/(2*(t?k:M)*E*A);return Math.log(Math.sqrt(e*e+1)-e)}function a(t){return(Math.exp(t)-Math.exp(-t))/2}function s(t){return(Math.exp(t)+Math.exp(-t))/2}this.stop(),t=n.extend({offset:[0,0],speed:1.2,curve:1.42,easing:n.ease},t);var c=this.transform,u=l.convert(t.offset),f=this.getZoom(),h=this.getBearing(),d=this.getPitch(),p=&quot;center&quot;in t?o.convert(t.center):this.getCenter(),m=&quot;zoom&quot;in t?+t.zoom:f,g=&quot;bearing&quot;in t?this._normalizeBearing(t.bearing,h):h,v=&quot;pitch&quot;in t?+t.pitch:d;Math.abs(c.center.lng)+Math.abs(p.lng)&gt;180&amp;&amp;(c.center.lng&gt;0&amp;&amp;p.lng&lt;0?p.lng+=360:c.center.lng&lt;0&amp;&amp;p.lng&gt;0&amp;&amp;(p.lng-=360));var y=c.zoomScale(m-f),x=c.point,b=&quot;center&quot;in t?c.project(p).sub(u.div(y)):x,_=c.worldSize,w=t.curve,M=Math.max(c.width,c.height),k=M/y,A=b.sub(x).mag();if(&quot;minZoom&quot;in t){var T=n.clamp(Math.min(t.minZoom,f,m),c.minZoom,c.maxZoom),S=M/c.zoomScale(T-f);w=Math.sqrt(S/A*2)}var E=w*w,L=r(0),C=function(t){return s(L)/s(L+w*t)},z=function(t){return M*((s(L)*function(t){return a(t)/s(t)}(L+w*t)-a(L))/E)/A},D=(r(1)-L)/w;if(Math.abs(A)&lt;1e-6){if(Math.abs(M-k)&lt;1e-6)return this.easeTo(t);var I=k&lt;M?-1:1;D=Math.abs(Math.log(k/M))/w,z=function(){return 0},C=function(t){return Math.exp(I*w*t)}}if(&quot;duration&quot;in t)t.duration=+t.duration;else{var P=&quot;screenSpeed&quot;in t?+t.screenSpeed/w:+t.speed;t.duration=1e3*D/P}return this.zooming=!0,h!==g&amp;&amp;(this.rotating=!0),d!==v&amp;&amp;(this.pitching=!0),this.fire(&quot;movestart&quot;,e),this.fire(&quot;zoomstart&quot;,e),this._ease(function(t){var r=t*D,n=z(r);c.zoom=f+c.scaleZoom(1/C(r)),c.center=c.unproject(x.add(b.sub(x).mult(n)),_),this.rotating&amp;&amp;(c.bearing=i(h,g,t)),this.pitching&amp;&amp;(c.pitch=i(d,v,t)),this.fire(&quot;move&quot;,e),this.fire(&quot;zoom&quot;,e),this.rotating&amp;&amp;this.fire(&quot;rotate&quot;,e),this.pitching&amp;&amp;this.fire(&quot;pitch&quot;,e)},function(){this.zooming=!1,this.rotating=!1,this.pitching=!1,this.fire(&quot;zoomend&quot;,e),this.fire(&quot;moveend&quot;,e)},t),this},isEasing:function(){return!!this._abortFn},stop:function(){return this._abortFn&amp;&amp;(this._abortFn(),this._finishEase()),this},_ease:function(t,e,r){this._finishFn=e,this._abortFn=a.timed(function(e){t.call(this,r.easing(e)),1===e&amp;&amp;this._finishEase()},!1===r.animate?0:r.duration,this)},_finishEase:function(){delete this._abortFn;var t=this._finishFn;delete this._finishFn,t.call(this)},_normalizeBearing:function(t,e){t=n.wrap(t,-180,180);var r=Math.abs(t-e);return Math.abs(t-360-e)&lt;r&amp;&amp;(t-=360),Math.abs(t+360-e)&lt;r&amp;&amp;(t+=360),t},_updateEasing:function(t,e,r){var i;if(this.ease){var a=this.ease,o=(Date.now()-a.start)/a.duration,s=a.easing(o+.01)-a.easing(o),l=.27/Math.sqrt(s*s+1e-4)*.01,c=Math.sqrt(.0729-l*l);i=n.bezier(l,c,.25,1)}else i=r?n.bezier.apply(n,r):n.ease;return this.ease={start:(new Date).getTime(),to:Math.pow(2,e),duration:t,easing:i},i}})},{&quot;../geo/lng_lat&quot;:330,&quot;../geo/lng_lat_bounds&quot;:331,&quot;../util/browser&quot;:417,&quot;../util/interpolate&quot;:427,&quot;../util/util&quot;:433,&quot;point-geometry&quot;:477}],400:[function(t,e,r){&quot;use strict&quot;;function n(t){o.setOptions(this,t)}var i=t(&quot;./control&quot;),a=t(&quot;../../util/dom&quot;),o=t(&quot;../../util/util&quot;);e.exports=n,n.createAttributionString=function(t){var e=[];for(var r in t){var n=t[r];n.attribution&amp;&amp;e.indexOf(n.attribution)&lt;0&amp;&amp;e.push(n.attribution)}return e.sort(function(t,e){return t.length-e.length}),(e=e.filter(function(t,r){for(var n=r+1;n&lt;e.length;n++)if(e[n].indexOf(t)&gt;=0)return!1;return!0})).join(&quot; | &quot;)},n.prototype=o.inherit(i,{options:{position:&quot;bottom-right&quot;},onAdd:function(t){var e=this._container=a.create(&quot;div&quot;,&quot;mapboxgl-ctrl-attrib&quot;,t.getContainer());return this._update(),t.on(&quot;source.load&quot;,this._update.bind(this)),t.on(&quot;source.change&quot;,this._update.bind(this)),t.on(&quot;source.remove&quot;,this._update.bind(this)),t.on(&quot;moveend&quot;,this._updateEditLink.bind(this)),e},_update:function(){this._map.style&amp;&amp;(this._container.innerHTML=n.createAttributionString(this._map.style.sources)),this._editLink=this._container.getElementsByClassName(&quot;mapbox-improve-map&quot;)[0],this._updateEditLink()},_updateEditLink:function(){if(this._editLink){var t=this._map.getCenter();this._editLink.href=&quot;https://www.mapbox.com/map-feedback/#/&quot;+t.lng+&quot;/&quot;+t.lat+&quot;/&quot;+Math.round(this._map.getZoom()+1)}}})},{&quot;../../util/dom&quot;:419,&quot;../../util/util&quot;:433,&quot;./control&quot;:401}],401:[function(t,e,r){&quot;use strict&quot;;function n(){}var i=t(&quot;../../util/util&quot;),a=t(&quot;../../util/evented&quot;);e.exports=n,n.prototype={addTo:function(t){this._map=t;var e=this._container=this.onAdd(t);if(this.options&amp;&amp;this.options.position){var r=this.options.position,n=t._controlCorners[r];e.className+=&quot; mapboxgl-ctrl&quot;,-1!==r.indexOf(&quot;bottom&quot;)?n.insertBefore(e,n.firstChild):n.appendChild(e)}return this},remove:function(){return this._container.parentNode.removeChild(this._container),this.onRemove&amp;&amp;this.onRemove(this._map),this._map=null,this}},i.extend(n.prototype,a)},{&quot;../../util/evented&quot;:425,&quot;../../util/util&quot;:433}],402:[function(t,e,r){&quot;use strict&quot;;function n(t){s.setOptions(this,t)}var i=t(&quot;./control&quot;),a=t(&quot;../../util/browser&quot;),o=t(&quot;../../util/dom&quot;),s=t(&quot;../../util/util&quot;);e.exports=n;var l={enableHighAccuracy:!1,timeout:6e3};n.prototype=s.inherit(i,{options:{position:&quot;top-right&quot;},onAdd:function(t){var e=this._container=o.create(&quot;div&quot;,&quot;mapboxgl-ctrl-group&quot;,t.getContainer());return a.supportsGeolocation?(this._container.addEventListener(&quot;contextmenu&quot;,this._onContextMenu.bind(this)),this._geolocateButton=o.create(&quot;button&quot;,&quot;mapboxgl-ctrl-icon mapboxgl-ctrl-geolocate&quot;,this._container),this._geolocateButton.type=&quot;button&quot;,this._geolocateButton.addEventListener(&quot;click&quot;,this._onClickGeolocate.bind(this)),e):e},_onContextMenu:function(t){t.preventDefault()},_onClickGeolocate:function(){navigator.geolocation.getCurrentPosition(this._success.bind(this),this._error.bind(this),l),this._timeoutId=setTimeout(this._finish.bind(this),1e4)},_success:function(t){this._map.jumpTo({center:[t.coords.longitude,t.coords.latitude],zoom:17,bearing:0,pitch:0}),this.fire(&quot;geolocate&quot;,t),this._finish()},_error:function(t){this.fire(&quot;error&quot;,t),this._finish()},_finish:function(){this._timeoutId&amp;&amp;clearTimeout(this._timeoutId),this._timeoutId=void 0}})},{&quot;../../util/browser&quot;:417,&quot;../../util/dom&quot;:419,&quot;../../util/util&quot;:433,&quot;./control&quot;:401}],403:[function(t,e,r){&quot;use strict&quot;;function n(t){s.setOptions(this,t)}function i(t){return new MouseEvent(t.type,{button:2,buttons:2,bubbles:!0,cancelable:!0,detail:t.detail,view:t.view,screenX:t.screenX,screenY:t.screenY,clientX:t.clientX,clientY:t.clientY,movementX:t.movementX,movementY:t.movementY,ctrlKey:t.ctrlKey,shiftKey:t.shiftKey,altKey:t.altKey,metaKey:t.metaKey})}var a=t(&quot;./control&quot;),o=t(&quot;../../util/dom&quot;),s=t(&quot;../../util/util&quot;);e.exports=n,n.prototype=s.inherit(a,{options:{position:&quot;top-right&quot;},onAdd:function(t){var e=&quot;mapboxgl-ctrl&quot;,r=this._container=o.create(&quot;div&quot;,e+&quot;-group&quot;,t.getContainer());return this._container.addEventListener(&quot;contextmenu&quot;,this._onContextMenu.bind(this)),this._zoomInButton=this._createButton(e+&quot;-icon &quot;+e+&quot;-zoom-in&quot;,t.zoomIn.bind(t)),this._zoomOutButton=this._createButton(e+&quot;-icon &quot;+e+&quot;-zoom-out&quot;,t.zoomOut.bind(t)),this._compass=this._createButton(e+&quot;-icon &quot;+e+&quot;-compass&quot;,t.resetNorth.bind(t)),this._compassArrow=o.create(&quot;div&quot;,&quot;arrow&quot;,this._compass),this._compass.addEventListener(&quot;mousedown&quot;,this._onCompassDown.bind(this)),this._onCompassMove=this._onCompassMove.bind(this),this._onCompassUp=this._onCompassUp.bind(this),t.on(&quot;rotate&quot;,this._rotateCompassArrow.bind(this)),this._rotateCompassArrow(),this._el=t.getCanvasContainer(),r},_onContextMenu:function(t){t.preventDefault()},_onCompassDown:function(t){0===t.button&amp;&amp;(o.disableDrag(),document.addEventListener(&quot;mousemove&quot;,this._onCompassMove),document.addEventListener(&quot;mouseup&quot;,this._onCompassUp),this._el.dispatchEvent(i(t)),t.stopPropagation())},_onCompassMove:function(t){0===t.button&amp;&amp;(this._el.dispatchEvent(i(t)),t.stopPropagation())},_onCompassUp:function(t){0===t.button&amp;&amp;(document.removeEventListener(&quot;mousemove&quot;,this._onCompassMove),document.removeEventListener(&quot;mouseup&quot;,this._onCompassUp),o.enableDrag(),this._el.dispatchEvent(i(t)),t.stopPropagation())},_createButton:function(t,e){var r=o.create(&quot;button&quot;,t,this._container);return r.type=&quot;button&quot;,r.addEventListener(&quot;click&quot;,function(){e()}),r},_rotateCompassArrow:function(){var t=&quot;rotate(&quot;+this._map.transform.angle*(180/Math.PI)+&quot;deg)&quot;;this._compassArrow.style.transform=t}})},{&quot;../../util/dom&quot;:419,&quot;../../util/util&quot;:433,&quot;./control&quot;:401}],404:[function(t,e,r){&quot;use strict&quot;;function n(t){this._map=t,this._el=t.getCanvasContainer(),this._container=t.getContainer(),o.bindHandlers(this)}var i=t(&quot;../../util/dom&quot;),a=t(&quot;../../geo/lng_lat_bounds&quot;),o=t(&quot;../../util/util&quot;);e.exports=n,n.prototype={_enabled:!1,_active:!1,isEnabled:function(){return this._enabled},isActive:function(){return this._active},enable:function(){this.isEnabled()||(this._el.addEventListener(&quot;mousedown&quot;,this._onMouseDown,!1),this._enabled=!0)},disable:function(){this.isEnabled()&amp;&amp;(this._el.removeEventListener(&quot;mousedown&quot;,this._onMouseDown),this._enabled=!1)},_onMouseDown:function(t){t.shiftKey&amp;&amp;0===t.button&amp;&amp;(document.addEventListener(&quot;mousemove&quot;,this._onMouseMove,!1),document.addEventListener(&quot;keydown&quot;,this._onKeyDown,!1),document.addEventListener(&quot;mouseup&quot;,this._onMouseUp,!1),i.disableDrag(),this._startPos=i.mousePos(this._el,t),this._active=!0)},_onMouseMove:function(t){var e=this._startPos,r=i.mousePos(this._el,t);this._box||(this._box=i.create(&quot;div&quot;,&quot;mapboxgl-boxzoom&quot;,this._container),this._container.classList.add(&quot;mapboxgl-crosshair&quot;),this._fireEvent(&quot;boxzoomstart&quot;,t));var n=Math.min(e.x,r.x),a=Math.max(e.x,r.x),o=Math.min(e.y,r.y),s=Math.max(e.y,r.y);i.setTransform(this._box,&quot;translate(&quot;+n+&quot;px,&quot;+o+&quot;px)&quot;),this._box.style.width=a-n+&quot;px&quot;,this._box.style.height=s-o+&quot;px&quot;},_onMouseUp:function(t){if(0===t.button){var e=this._startPos,r=i.mousePos(this._el,t),n=new a(this._map.unproject(e),this._map.unproject(r));this._finish(),e.x===r.x&amp;&amp;e.y===r.y?this._fireEvent(&quot;boxzoomcancel&quot;,t):this._map.fitBounds(n,{linear:!0}).fire(&quot;boxzoomend&quot;,{originalEvent:t,boxZoomBounds:n})}},_onKeyDown:function(t){27===t.keyCode&amp;&amp;(this._finish(),this._fireEvent(&quot;boxzoomcancel&quot;,t))},_finish:function(){this._active=!1,document.removeEventListener(&quot;mousemove&quot;,this._onMouseMove,!1),document.removeEventListener(&quot;keydown&quot;,this._onKeyDown,!1),document.removeEventListener(&quot;mouseup&quot;,this._onMouseUp,!1),this._container.classList.remove(&quot;mapboxgl-crosshair&quot;),this._box&amp;&amp;(this._box.parentNode.removeChild(this._box),this._box=null),i.enableDrag()},_fireEvent:function(t,e){return this._map.fire(t,{originalEvent:e})}}},{&quot;../../geo/lng_lat_bounds&quot;:331,&quot;../../util/dom&quot;:419,&quot;../../util/util&quot;:433}],405:[function(t,e,r){&quot;use strict&quot;;function n(t){this._map=t,this._onDblClick=this._onDblClick.bind(this)}e.exports=n,n.prototype={_enabled:!1,isEnabled:function(){return this._enabled},enable:function(){this.isEnabled()||(this._map.on(&quot;dblclick&quot;,this._onDblClick),this._enabled=!0)},disable:function(){this.isEnabled()&amp;&amp;(this._map.off(&quot;dblclick&quot;,this._onDblClick),this._enabled=!1)},_onDblClick:function(t){this._map.zoomTo(this._map.getZoom()+(t.originalEvent.shiftKey?-1:1),{around:t.lngLat},t)}}},{}],406:[function(t,e,r){&quot;use strict&quot;;function n(t){this._map=t,this._el=t.getCanvasContainer(),a.bindHandlers(this)}var i=t(&quot;../../util/dom&quot;),a=t(&quot;../../util/util&quot;);e.exports=n;var o=a.bezier(0,0,.3,1);n.prototype={_enabled:!1,_active:!1,isEnabled:function(){return this._enabled},isActive:function(){return this._active},enable:function(){this.isEnabled()||(this._el.addEventListener(&quot;mousedown&quot;,this._onDown),this._el.addEventListener(&quot;touchstart&quot;,this._onDown),this._enabled=!0)},disable:function(){this.isEnabled()&amp;&amp;(this._el.removeEventListener(&quot;mousedown&quot;,this._onDown),this._el.removeEventListener(&quot;touchstart&quot;,this._onDown),this._enabled=!1)},_onDown:function(t){this._ignoreEvent(t)||this.isActive()||(t.touches?(document.addEventListener(&quot;touchmove&quot;,this._onMove),document.addEventListener(&quot;touchend&quot;,this._onTouchEnd)):(document.addEventListener(&quot;mousemove&quot;,this._onMove),document.addEventListener(&quot;mouseup&quot;,this._onMouseUp)),this._active=!1,this._startPos=this._pos=i.mousePos(this._el,t),this._inertia=[[Date.now(),this._pos]])},_onMove:function(t){if(!this._ignoreEvent(t)){this.isActive()||(this._active=!0,this._fireEvent(&quot;dragstart&quot;,t),this._fireEvent(&quot;movestart&quot;,t));var e=i.mousePos(this._el,t),r=this._map;r.stop(),this._drainInertiaBuffer(),this._inertia.push([Date.now(),e]),r.transform.setLocationAtPoint(r.transform.pointLocation(this._pos),e),this._fireEvent(&quot;drag&quot;,t),this._fireEvent(&quot;move&quot;,t),this._pos=e,t.preventDefault()}},_onUp:function(t){if(this.isActive()){this._active=!1,this._fireEvent(&quot;dragend&quot;,t),this._drainInertiaBuffer();var e=function(){this._fireEvent(&quot;moveend&quot;,t)}.bind(this),r=this._inertia;if(r.length&lt;2)e();else{var n=r[r.length-1],i=r[0],a=n[1].sub(i[1]),s=(n[0]-i[0])/1e3;if(0===s||n[1].equals(i[1]))e();else{var l=a.mult(.3/s),c=l.mag();c&gt;1400&amp;&amp;(c=1400,l._unit()._mult(c));var u=c/750,f=l.mult(-u/2);this._map.panBy(f,{duration:1e3*u,easing:o,noMoveStart:!0},{originalEvent:t})}}}},_onMouseUp:function(t){this._ignoreEvent(t)||(this._onUp(t),document.removeEventListener(&quot;mousemove&quot;,this._onMove),document.removeEventListener(&quot;mouseup&quot;,this._onMouseUp))},_onTouchEnd:function(t){this._ignoreEvent(t)||(this._onUp(t),document.removeEventListener(&quot;touchmove&quot;,this._onMove),document.removeEventListener(&quot;touchend&quot;,this._onTouchEnd))},_fireEvent:function(t,e){return this._map.fire(t,{originalEvent:e})},_ignoreEvent:function(t){var e=this._map;if(e.boxZoom&amp;&amp;e.boxZoom.isActive())return!0;if(e.dragRotate&amp;&amp;e.dragRotate.isActive())return!0;if(t.touches)return t.touches.length&gt;1;if(t.ctrlKey)return!0;return&quot;mousemove&quot;===t.type?!1&amp;t.buttons:0!==t.button},_drainInertiaBuffer:function(){for(var t=this._inertia,e=Date.now();t.length&gt;0&amp;&amp;e-t[0][0]&gt;160;)t.shift()}}},{&quot;../../util/dom&quot;:419,&quot;../../util/util&quot;:433}],407:[function(t,e,r){&quot;use strict&quot;;function n(t,e){this._map=t,this._el=t.getCanvasContainer(),this._bearingSnap=e.bearingSnap,o.bindHandlers(this)}var i=t(&quot;../../util/dom&quot;),a=t(&quot;point-geometry&quot;),o=t(&quot;../../util/util&quot;);e.exports=n;var s=o.bezier(0,0,.25,1);n.prototype={_enabled:!1,_active:!1,isEnabled:function(){return this._enabled},isActive:function(){return this._active},enable:function(){this.isEnabled()||(this._el.addEventListener(&quot;mousedown&quot;,this._onDown),this._enabled=!0)},disable:function(){this.isEnabled()&amp;&amp;(this._el.removeEventListener(&quot;mousedown&quot;,this._onDown),this._enabled=!1)},_onDown:function(t){if(!this._ignoreEvent(t)&amp;&amp;!this.isActive()){document.addEventListener(&quot;mousemove&quot;,this._onMove),document.addEventListener(&quot;mouseup&quot;,this._onUp),this._active=!1,this._inertia=[[Date.now(),this._map.getBearing()]],this._startPos=this._pos=i.mousePos(this._el,t),this._center=this._map.transform.centerPoint;var e=this._startPos.sub(this._center);e.mag()&lt;200&amp;&amp;(this._center=this._startPos.add(new a(-200,0)._rotate(e.angle()))),t.preventDefault()}},_onMove:function(t){if(!this._ignoreEvent(t)){this.isActive()||(this._active=!0,this._fireEvent(&quot;rotatestart&quot;,t),this._fireEvent(&quot;movestart&quot;,t));var e=this._map;e.stop();var r=this._pos,n=i.mousePos(this._el,t),a=this._center,o=r.sub(a).angleWith(n.sub(a))/Math.PI*180,s=e.getBearing()-o,l=this._inertia,c=l[l.length-1];this._drainInertiaBuffer(),l.push([Date.now(),e._normalizeBearing(s,c[1])]),e.transform.bearing=s,this._fireEvent(&quot;rotate&quot;,t),this._fireEvent(&quot;move&quot;,t),this._pos=n}},_onUp:function(t){if(!this._ignoreEvent(t)&amp;&amp;(document.removeEventListener(&quot;mousemove&quot;,this._onMove),document.removeEventListener(&quot;mouseup&quot;,this._onUp),this.isActive())){this._active=!1,this._fireEvent(&quot;rotateend&quot;,t),this._drainInertiaBuffer();var e=this._map,r=e.getBearing(),n=this._inertia,i=function(){Math.abs(r)&lt;this._bearingSnap?e.resetNorth({noMoveStart:!0},{originalEvent:t}):this._fireEvent(&quot;moveend&quot;,t)}.bind(this);if(n.length&lt;2)i();else{var a=n[0],o=n[n.length-1],l=n[n.length-2],c=e._normalizeBearing(r,l[1]),u=o[1]-a[1],f=u&lt;0?-1:1,h=(o[0]-a[0])/1e3;if(0!==u&amp;&amp;0!==h){var d=Math.abs(u*(.25/h));d&gt;180&amp;&amp;(d=180);var p=d/180;c+=f*d*(p/2),Math.abs(e._normalizeBearing(c,0))&lt;this._bearingSnap&amp;&amp;(c=e._normalizeBearing(0,c)),e.rotateTo(c,{duration:1e3*p,easing:s,noMoveStart:!0},{originalEvent:t})}else i()}}},_fireEvent:function(t,e){return this._map.fire(t,{originalEvent:e})},_ignoreEvent:function(t){var e=this._map;if(e.boxZoom&amp;&amp;e.boxZoom.isActive())return!0;if(e.dragPan&amp;&amp;e.dragPan.isActive())return!0;if(t.touches)return t.touches.length&gt;1;var r=t.ctrlKey?1:2,n=t.ctrlKey?0:2;return&quot;mousemove&quot;===t.type?t.buttons&amp;0===r:t.button!==n},_drainInertiaBuffer:function(){for(var t=this._inertia,e=Date.now();t.length&gt;0&amp;&amp;e-t[0][0]&gt;160;)t.shift()}}},{&quot;../../util/dom&quot;:419,&quot;../../util/util&quot;:433,&quot;point-geometry&quot;:477}],408:[function(t,e,r){&quot;use strict&quot;;function n(t){this._map=t,this._el=t.getCanvasContainer(),this._onKeyDown=this._onKeyDown.bind(this)}e.exports=n;n.prototype={_enabled:!1,isEnabled:function(){return this._enabled},enable:function(){this.isEnabled()||(this._el.addEventListener(&quot;keydown&quot;,this._onKeyDown,!1),this._enabled=!0)},disable:function(){this.isEnabled()&amp;&amp;(this._el.removeEventListener(&quot;keydown&quot;,this._onKeyDown),this._enabled=!1)},_onKeyDown:function(t){if(!(t.altKey||t.ctrlKey||t.metaKey)){var e=this._map,r={originalEvent:t};if(!e.isEasing())switch(t.keyCode){case 61:case 107:case 171:case 187:e.zoomTo(Math.round(e.getZoom())+(t.shiftKey?2:1),r);break;case 189:case 109:case 173:e.zoomTo(Math.round(e.getZoom())-(t.shiftKey?2:1),r);break;case 37:t.shiftKey?e.easeTo({bearing:e.getBearing()-2},r):(t.preventDefault(),e.panBy([-80,0],r));break;case 39:t.shiftKey?e.easeTo({bearing:e.getBearing()+2},r):(t.preventDefault(),e.panBy([80,0],r));break;case 38:t.shiftKey?e.easeTo({pitch:e.getPitch()+5},r):(t.preventDefault(),e.panBy([0,-80],r));break;case 40:t.shiftKey?e.easeTo({pitch:Math.max(e.getPitch()-5,0)},r):(t.preventDefault(),e.panBy([0,80],r))}}}}},{}],409:[function(t,e,r){&quot;use strict&quot;;function n(t){this._map=t,this._el=t.getCanvasContainer(),o.bindHandlers(this)}var i=t(&quot;../../util/dom&quot;),a=t(&quot;../../util/browser&quot;),o=t(&quot;../../util/util&quot;);e.exports=n;var s=&quot;undefined&quot;!=typeof navigator?navigator.userAgent.toLowerCase():&quot;&quot;,l=-1!==s.indexOf(&quot;firefox&quot;),c=-1!==s.indexOf(&quot;safari&quot;)&amp;&amp;-1===s.indexOf(&quot;chrom&quot;);n.prototype={_enabled:!1,isEnabled:function(){return this._enabled},enable:function(){this.isEnabled()||(this._el.addEventListener(&quot;wheel&quot;,this._onWheel,!1),this._el.addEventListener(&quot;mousewheel&quot;,this._onWheel,!1),this._enabled=!0)},disable:function(){this.isEnabled()&amp;&amp;(this._el.removeEventListener(&quot;wheel&quot;,this._onWheel),this._el.removeEventListener(&quot;mousewheel&quot;,this._onWheel),this._enabled=!1)},_onWheel:function(t){var e;&quot;wheel&quot;===t.type?(e=t.deltaY,l&amp;&amp;t.deltaMode===window.WheelEvent.DOM_DELTA_PIXEL&amp;&amp;(e/=a.devicePixelRatio),t.deltaMode===window.WheelEvent.DOM_DELTA_LINE&amp;&amp;(e*=40)):&quot;mousewheel&quot;===t.type&amp;&amp;(e=-t.wheelDeltaY,c&amp;&amp;(e/=3));var r=a.now(),n=r-(this._time||0);this._pos=i.mousePos(this._el,t),this._time=r,0!==e&amp;&amp;e%4.000244140625==0?(this._type=&quot;wheel&quot;,e=Math.floor(e/4)):0!==e&amp;&amp;Math.abs(e)&lt;4?this._type=&quot;trackpad&quot;:n&gt;400?(this._type=null,this._lastValue=e,this._timeout=setTimeout(this._onTimeout,40)):this._type||(this._type=Math.abs(n*e)&lt;200?&quot;trackpad&quot;:&quot;wheel&quot;,this._timeout&amp;&amp;(clearTimeout(this._timeout),this._timeout=null,e+=this._lastValue)),t.shiftKey&amp;&amp;e&amp;&amp;(e/=4),this._type&amp;&amp;this._zoom(-e,t),t.preventDefault()},_onTimeout:function(){this._type=&quot;wheel&quot;,this._zoom(-this._lastValue)},_zoom:function(t,e){if(0!==t){var r=this._map,n=2/(1+Math.exp(-Math.abs(t/100)));t&lt;0&amp;&amp;0!==n&amp;&amp;(n=1/n);var i=r.ease?r.ease.to:r.transform.scale,a=r.transform.scaleZoom(i*n);r.zoomTo(a,{duration:0,around:r.unproject(this._pos),delayEndEvents:200},{originalEvent:e})}}}},{&quot;../../util/browser&quot;:417,&quot;../../util/dom&quot;:419,&quot;../../util/util&quot;:433}],410:[function(t,e,r){&quot;use strict&quot;;function n(t){this._map=t,this._el=t.getCanvasContainer(),a.bindHandlers(this)}var i=t(&quot;../../util/dom&quot;),a=t(&quot;../../util/util&quot;);e.exports=n;var o=a.bezier(0,0,.15,1);n.prototype={_enabled:!1,isEnabled:function(){return this._enabled},enable:function(){this.isEnabled()||(this._el.addEventListener(&quot;touchstart&quot;,this._onStart,!1),this._enabled=!0)},disable:function(){this.isEnabled()&amp;&amp;(this._el.removeEventListener(&quot;touchstart&quot;,this._onStart),this._enabled=!1)},disableRotation:function(){this._rotationDisabled=!0},enableRotation:function(){this._rotationDisabled=!1},_onStart:function(t){if(2===t.touches.length){var e=i.mousePos(this._el,t.touches[0]),r=i.mousePos(this._el,t.touches[1]);this._startVec=e.sub(r),this._startScale=this._map.transform.scale,this._startBearing=this._map.transform.bearing,this._gestureIntent=void 0,this._inertia=[],document.addEventListener(&quot;touchmove&quot;,this._onMove,!1),document.addEventListener(&quot;touchend&quot;,this._onEnd,!1)}},_onMove:function(t){if(2===t.touches.length){var e=i.mousePos(this._el,t.touches[0]),r=i.mousePos(this._el,t.touches[1]),n=e.add(r).div(2),a=e.sub(r),o=a.mag()/this._startVec.mag(),s=this._rotationDisabled?0:180*a.angleWith(this._startVec)/Math.PI,l=this._map;if(this._gestureIntent){var c={duration:0,around:l.unproject(n)};&quot;rotate&quot;===this._gestureIntent&amp;&amp;(c.bearing=this._startBearing+s),&quot;zoom&quot;!==this._gestureIntent&amp;&amp;&quot;rotate&quot;!==this._gestureIntent||(c.zoom=l.transform.scaleZoom(this._startScale*o)),l.stop(),this._drainInertiaBuffer(),this._inertia.push([Date.now(),o,n]),l.easeTo(c,{originalEvent:t})}else{var u=Math.abs(1-o)&gt;.15;Math.abs(s)&gt;4?this._gestureIntent=&quot;rotate&quot;:u&amp;&amp;(this._gestureIntent=&quot;zoom&quot;),this._gestureIntent&amp;&amp;(this._startVec=a,this._startScale=l.transform.scale,this._startBearing=l.transform.bearing)}t.preventDefault()}},_onEnd:function(t){document.removeEventListener(&quot;touchmove&quot;,this._onMove),document.removeEventListener(&quot;touchend&quot;,this._onEnd),this._drainInertiaBuffer();var e=this._inertia,r=this._map;if(e.length&lt;2)r.snapToNorth({},{originalEvent:t});else{var n=e[e.length-1],i=e[0],a=r.transform.scaleZoom(this._startScale*n[1]),s=r.transform.scaleZoom(this._startScale*i[1]),l=a-s,c=(n[0]-i[0])/1e3,u=n[2];if(0!==c&amp;&amp;a!==s){var f=.15*l/c;Math.abs(f)&gt;2.5&amp;&amp;(f=f&gt;0?2.5:-2.5);var h=1e3*Math.abs(f/(12*.15)),d=a+f*h/2e3;d&lt;0&amp;&amp;(d=0),r.easeTo({zoom:d,duration:h,easing:o,around:r.unproject(u)},{originalEvent:t})}else r.snapToNorth({},{originalEvent:t})}},_drainInertiaBuffer:function(){for(var t=this._inertia,e=Date.now();t.length&gt;2&amp;&amp;e-t[0][0]&gt;160;)t.shift()}}},{&quot;../../util/dom&quot;:419,&quot;../../util/util&quot;:433}],411:[function(t,e,r){&quot;use strict&quot;;function n(){i.bindAll([&quot;_onHashChange&quot;,&quot;_updateHash&quot;],this)}e.exports=n;var i=t(&quot;../util/util&quot;);n.prototype={addTo:function(t){return this._map=t,window.addEventListener(&quot;hashchange&quot;,this._onHashChange,!1),this._map.on(&quot;moveend&quot;,this._updateHash),this},remove:function(){return window.removeEventListener(&quot;hashchange&quot;,this._onHashChange,!1),this._map.off(&quot;moveend&quot;,this._updateHash),delete this._map,this},_onHashChange:function(){var t=location.hash.replace(&quot;#&quot;,&quot;&quot;).split(&quot;/&quot;);return t.length&gt;=3&amp;&amp;(this._map.jumpTo({center:[+t[2],+t[1]],zoom:+t[0],bearing:+(t[3]||0)}),!0)},_updateHash:function(){var t=this._map.getCenter(),e=this._map.getZoom(),r=this._map.getBearing(),n=Math.max(0,Math.ceil(Math.log(e)/Math.LN2)),i=&quot;#&quot;+Math.round(100*e)/100+&quot;/&quot;+t.lat.toFixed(n)+&quot;/&quot;+t.lng.toFixed(n)+(r?&quot;/&quot;+Math.round(10*r)/10:&quot;&quot;);window.history.replaceState(&quot;&quot;,&quot;&quot;,i)}}},{&quot;../util/util&quot;:433}],412:[function(t,e,r){&quot;use strict&quot;;function n(t){t.parentNode&amp;&amp;t.parentNode.removeChild(t)}var i=t(&quot;../util/canvas&quot;),a=t(&quot;../util/util&quot;),o=t(&quot;../util/browser&quot;),s=t(&quot;../util/browser&quot;).window,l=t(&quot;../util/evented&quot;),c=t(&quot;../util/dom&quot;),u=t(&quot;../style/style&quot;),f=t(&quot;../style/animation_loop&quot;),h=t(&quot;../render/painter&quot;),d=t(&quot;../geo/transform&quot;),p=t(&quot;./hash&quot;),m=t(&quot;./bind_handlers&quot;),g=t(&quot;./camera&quot;),v=t(&quot;../geo/lng_lat&quot;),y=t(&quot;../geo/lng_lat_bounds&quot;),x=t(&quot;point-geometry&quot;),b=t(&quot;./control/attribution&quot;),_={center:[0,0],zoom:0,bearing:0,pitch:0,minZoom:0,maxZoom:20,interactive:!0,scrollZoom:!0,boxZoom:!0,dragRotate:!0,dragPan:!0,keyboard:!0,doubleClickZoom:!0,touchZoomRotate:!0,bearingSnap:7,hash:!1,attributionControl:!0,failIfMajorPerformanceCaveat:!1,preserveDrawingBuffer:!1,trackResize:!0,workerCount:Math.max(o.hardwareConcurrency-1,1)},w=e.exports=function(t){if((t=a.extend({},_,t)).workerCount&lt;1)throw new Error(&quot;workerCount must an integer greater than or equal to 1.&quot;);this._interactive=t.interactive,this._failIfMajorPerformanceCaveat=t.failIfMajorPerformanceCaveat,this._preserveDrawingBuffer=t.preserveDrawingBuffer,this._trackResize=t.trackResize,this._workerCount=t.workerCount,this._bearingSnap=t.bearingSnap,&quot;string&quot;==typeof t.container?this._container=document.getElementById(t.container):this._container=t.container,this.animationLoop=new f,this.transform=new d(t.minZoom,t.maxZoom),t.maxBounds&amp;&amp;this.setMaxBounds(t.maxBounds),a.bindAll([&quot;_forwardStyleEvent&quot;,&quot;_forwardSourceEvent&quot;,&quot;_forwardLayerEvent&quot;,&quot;_forwardTileEvent&quot;,&quot;_onStyleLoad&quot;,&quot;_onStyleChange&quot;,&quot;_onSourceAdd&quot;,&quot;_onSourceRemove&quot;,&quot;_onSourceUpdate&quot;,&quot;_onWindowOnline&quot;,&quot;_onWindowResize&quot;,&quot;_update&quot;,&quot;_render&quot;],this),this._setupContainer(),this._setupPainter(),this.on(&quot;move&quot;,this._update.bind(this,!1)),this.on(&quot;zoom&quot;,this._update.bind(this,!0)),this.on(&quot;moveend&quot;,function(){this.animationLoop.set(300),this._rerender()}.bind(this)),void 0!==s&amp;&amp;(s.addEventListener(&quot;online&quot;,this._onWindowOnline,!1),s.addEventListener(&quot;resize&quot;,this._onWindowResize,!1)),m(this,t),this._hash=t.hash&amp;&amp;(new p).addTo(this),this._hash&amp;&amp;this._hash._onHashChange()||this.jumpTo({center:t.center,zoom:t.zoom,bearing:t.bearing,pitch:t.pitch}),this.stacks={},this._classes=[],this.resize(),t.classes&amp;&amp;this.setClasses(t.classes),t.style&amp;&amp;this.setStyle(t.style),t.attributionControl&amp;&amp;this.addControl(new b(t.attributionControl));var e=this.fire.bind(this,&quot;error&quot;);this.on(&quot;style.error&quot;,e),this.on(&quot;source.error&quot;,e),this.on(&quot;tile.error&quot;,e),this.on(&quot;layer.error&quot;,e)};a.extend(w.prototype,l),a.extend(w.prototype,g.prototype),a.extend(w.prototype,{addControl:function(t){return t.addTo(this),this},addClass:function(t,e){return this._classes.indexOf(t)&gt;=0||&quot;&quot;===t?this:(this._classes.push(t),this._classOptions=e,this.style&amp;&amp;this.style.updateClasses(),this._update(!0))},removeClass:function(t,e){var r=this._classes.indexOf(t);return r&lt;0||&quot;&quot;===t?this:(this._classes.splice(r,1),this._classOptions=e,this.style&amp;&amp;this.style.updateClasses(),this._update(!0))},setClasses:function(t,e){for(var r={},n=0;n&lt;t.length;n++)&quot;&quot;!==t[n]&amp;&amp;(r[t[n]]=!0);return this._classes=Object.keys(r),this._classOptions=e,this.style&amp;&amp;this.style.updateClasses(),this._update(!0)},hasClass:function(t){return this._classes.indexOf(t)&gt;=0},getClasses:function(){return this._classes},resize:function(){var t=0,e=0;return this._container&amp;&amp;(t=this._container.offsetWidth||400,e=this._container.offsetHeight||300),this._canvas.resize(t,e),this.transform.resize(t,e),this.painter.resize(t,e),this.fire(&quot;movestart&quot;).fire(&quot;move&quot;).fire(&quot;resize&quot;).fire(&quot;moveend&quot;)},getBounds:function(){var t=new y(this.transform.pointLocation(new x(0,0)),this.transform.pointLocation(this.transform.size));return(this.transform.angle||this.transform.pitch)&amp;&amp;(t.extend(this.transform.pointLocation(new x(this.transform.size.x,0))),t.extend(this.transform.pointLocation(new x(0,this.transform.size.y)))),t},setMaxBounds:function(t){if(t){var e=y.convert(t);this.transform.lngRange=[e.getWest(),e.getEast()],this.transform.latRange=[e.getSouth(),e.getNorth()],this.transform._constrain(),this._update()}else null!==t&amp;&amp;void 0!==t||(this.transform.lngRange=[],this.transform.latRange=[],this._update());return this},setMinZoom:function(t){if((t=null===t||void 0===t?0:t)&gt;=0&amp;&amp;t&lt;=this.transform.maxZoom)return this.transform.minZoom=t,this._update(),this.getZoom()&lt;t&amp;&amp;this.setZoom(t),this;throw new Error(&quot;minZoom must be between 0 and the current maxZoom, inclusive&quot;)},setMaxZoom:function(t){if((t=null===t||void 0===t?20:t)&gt;=this.transform.minZoom&amp;&amp;t&lt;=20)return this.transform.maxZoom=t,this._update(),this.getZoom()&gt;t&amp;&amp;this.setZoom(t),this;throw new Error(&quot;maxZoom must be between the current minZoom and 20, inclusive&quot;)},project:function(t){return this.transform.locationPoint(v.convert(t))},unproject:function(t){return this.transform.pointLocation(x.convert(t))},queryRenderedFeatures:function(){var t,e={};return 2===arguments.length?(t=arguments[0],e=arguments[1]):1===arguments.length&amp;&amp;function(t){return t instanceof x||Array.isArray(t)}(arguments[0])?t=arguments[0]:1===arguments.length&amp;&amp;(e=arguments[0]),this.style.queryRenderedFeatures(this._makeQueryGeometry(t),e,this.transform.zoom,this.transform.angle)},_makeQueryGeometry:function(t){void 0===t&amp;&amp;(t=[x.convert([0,0]),x.convert([this.transform.width,this.transform.height])]);var e;if(t instanceof x||&quot;number&quot;==typeof t[0]){e=[x.convert(t)]}else{var r=[x.convert(t[0]),x.convert(t[1])];e=[r[0],new x(r[1].x,r[0].y),r[1],new x(r[0].x,r[1].y),r[0]]}return e=e.map(function(t){return this.transform.pointCoordinate(t)}.bind(this))},querySourceFeatures:function(t,e){return this.style.querySourceFeatures(t,e)},setStyle:function(t){return this.style&amp;&amp;(this.style.off(&quot;load&quot;,this._onStyleLoad).off(&quot;error&quot;,this._forwardStyleEvent).off(&quot;change&quot;,this._onStyleChange).off(&quot;source.add&quot;,this._onSourceAdd).off(&quot;source.remove&quot;,this._onSourceRemove).off(&quot;source.load&quot;,this._onSourceUpdate).off(&quot;source.error&quot;,this._forwardSourceEvent).off(&quot;source.change&quot;,this._onSourceUpdate).off(&quot;layer.add&quot;,this._forwardLayerEvent).off(&quot;layer.remove&quot;,this._forwardLayerEvent).off(&quot;layer.error&quot;,this._forwardLayerEvent).off(&quot;tile.add&quot;,this._forwardTileEvent).off(&quot;tile.remove&quot;,this._forwardTileEvent).off(&quot;tile.load&quot;,this._update).off(&quot;tile.error&quot;,this._forwardTileEvent).off(&quot;tile.stats&quot;,this._forwardTileEvent)._remove(),this.off(&quot;rotate&quot;,this.style._redoPlacement),this.off(&quot;pitch&quot;,this.style._redoPlacement)),t?(this.style=t instanceof u?t:new u(t,this.animationLoop,this._workerCount),this.style.on(&quot;load&quot;,this._onStyleLoad).on(&quot;error&quot;,this._forwardStyleEvent).on(&quot;change&quot;,this._onStyleChange).on(&quot;source.add&quot;,this._onSourceAdd).on(&quot;source.remove&quot;,this._onSourceRemove).on(&quot;source.load&quot;,this._onSourceUpdate).on(&quot;source.error&quot;,this._forwardSourceEvent).on(&quot;source.change&quot;,this._onSourceUpdate).on(&quot;layer.add&quot;,this._forwardLayerEvent).on(&quot;layer.remove&quot;,this._forwardLayerEvent).on(&quot;layer.error&quot;,this._forwardLayerEvent).on(&quot;tile.add&quot;,this._forwardTileEvent).on(&quot;tile.remove&quot;,this._forwardTileEvent).on(&quot;tile.load&quot;,this._update).on(&quot;tile.error&quot;,this._forwardTileEvent).on(&quot;tile.stats&quot;,this._forwardTileEvent),this.on(&quot;rotate&quot;,this.style._redoPlacement),this.on(&quot;pitch&quot;,this.style._redoPlacement),this):(this.style=null,this)},getStyle:function(){if(this.style)return this.style.serialize()},addSource:function(t,e){return this.style.addSource(t,e),this._update(!0),this},addSourceType:function(t,e,r){return this.style.addSourceType(t,e,r)},removeSource:function(t){return this.style.removeSource(t),this._update(!0),this},getSource:function(t){return this.style.getSource(t)},addLayer:function(t,e){return this.style.addLayer(t,e),this._update(!0),this},removeLayer:function(t){return this.style.removeLayer(t),this._update(!0),this},getLayer:function(t){return this.style.getLayer(t)},setFilter:function(t,e){return this.style.setFilter(t,e),this._update(!0),this},setLayerZoomRange:function(t,e,r){return this.style.setLayerZoomRange(t,e,r),this._update(!0),this},getFilter:function(t){return this.style.getFilter(t)},setPaintProperty:function(t,e,r,n){return this.style.setPaintProperty(t,e,r,n),this._update(!0),this},getPaintProperty:function(t,e,r){return this.style.getPaintProperty(t,e,r)},setLayoutProperty:function(t,e,r){return this.style.setLayoutProperty(t,e,r),this._update(!0),this},getLayoutProperty:function(t,e){return this.style.getLayoutProperty(t,e)},getContainer:function(){return this._container},getCanvasContainer:function(){return this._canvasContainer},getCanvas:function(){return this._canvas.getElement()},_setupContainer:function(){var t=this._container;t.classList.add(&quot;mapboxgl-map&quot;);var e=this._canvasContainer=c.create(&quot;div&quot;,&quot;mapboxgl-canvas-container&quot;,t);this._interactive&amp;&amp;e.classList.add(&quot;mapboxgl-interactive&quot;),this._canvas=new i(this,e);var r=this._controlContainer=c.create(&quot;div&quot;,&quot;mapboxgl-control-container&quot;,t),n=this._controlCorners={};[&quot;top-left&quot;,&quot;top-right&quot;,&quot;bottom-left&quot;,&quot;bottom-right&quot;].forEach(function(t){n[t]=c.create(&quot;div&quot;,&quot;mapboxgl-ctrl-&quot;+t,r)})},_setupPainter:function(){var t=this._canvas.getWebGLContext({failIfMajorPerformanceCaveat:this._failIfMajorPerformanceCaveat,preserveDrawingBuffer:this._preserveDrawingBuffer});t?this.painter=new h(t,this.transform):this.fire(&quot;error&quot;,{error:new Error(&quot;Failed to initialize WebGL&quot;)})},_contextLost:function(t){t.preventDefault(),this._frameId&amp;&amp;o.cancelFrame(this._frameId),this.fire(&quot;webglcontextlost&quot;,{originalEvent:t})},_contextRestored:function(t){this._setupPainter(),this.resize(),this._update(),this.fire(&quot;webglcontextrestored&quot;,{originalEvent:t})},loaded:function(){return!this._styleDirty&amp;&amp;!this._sourcesDirty&amp;&amp;!(!this.style||!this.style.loaded())},_update:function(t){return this.style?(this._styleDirty=this._styleDirty||t,this._sourcesDirty=!0,this._rerender(),this):this},_render:function(){try{this.style&amp;&amp;this._styleDirty&amp;&amp;(this._styleDirty=!1,this.style.update(this._classes,this._classOptions),this._classOptions=null,this.style._recalculate(this.transform.zoom)),this.style&amp;&amp;this._sourcesDirty&amp;&amp;(this._sourcesDirty=!1,this.style._updateSources(this.transform)),this.painter.render(this.style,{debug:this.showTileBoundaries,showOverdrawInspector:this._showOverdrawInspector,vertices:this.vertices,rotating:this.rotating,zooming:this.zooming}),this.fire(&quot;render&quot;),this.loaded()&amp;&amp;!this._loaded&amp;&amp;(this._loaded=!0,this.fire(&quot;load&quot;)),this._frameId=null,this.animationLoop.stopped()||(this._styleDirty=!0),(this._sourcesDirty||this._repaint||this._styleDirty)&amp;&amp;this._rerender()}catch(t){this.fire(&quot;error&quot;,{error:t})}return this},remove:function(){this._hash&amp;&amp;this._hash.remove(),o.cancelFrame(this._frameId),this.setStyle(null),void 0!==s&amp;&amp;s.removeEventListener(&quot;resize&quot;,this._onWindowResize,!1);var t=this.painter.gl.getExtension(&quot;WEBGL_lose_context&quot;);t&amp;&amp;t.loseContext(),n(this._canvasContainer),n(this._controlContainer),this._container.classList.remove(&quot;mapboxgl-map&quot;)},_rerender:function(){this.style&amp;&amp;!this._frameId&amp;&amp;(this._frameId=o.frame(this._render))},_forwardStyleEvent:function(t){this.fire(&quot;style.&quot;+t.type,a.extend({style:t.target},t))},_forwardSourceEvent:function(t){this.fire(t.type,a.extend({style:t.target},t))},_forwardLayerEvent:function(t){this.fire(t.type,a.extend({style:t.target},t))},_forwardTileEvent:function(t){this.fire(t.type,a.extend({style:t.target},t))},_onStyleLoad:function(t){this.transform.unmodified&amp;&amp;this.jumpTo(this.style.stylesheet),this.style.update(this._classes,{transition:!1}),this._forwardStyleEvent(t)},_onStyleChange:function(t){this._update(!0),this._forwardStyleEvent(t)},_onSourceAdd:function(t){var e=t.source;e.onAdd&amp;&amp;e.onAdd(this),this._forwardSourceEvent(t)},_onSourceRemove:function(t){var e=t.source;e.onRemove&amp;&amp;e.onRemove(this),this._forwardSourceEvent(t)},_onSourceUpdate:function(t){this._update(),this._forwardSourceEvent(t)},_onWindowOnline:function(){this._update()},_onWindowResize:function(){this._trackResize&amp;&amp;this.stop().resize()._update()}}),a.extendAll(w.prototype,{_showTileBoundaries:!1,get showTileBoundaries(){return this._showTileBoundaries},set showTileBoundaries(t){this._showTileBoundaries!==t&amp;&amp;(this._showTileBoundaries=t,this._update())},_showCollisionBoxes:!1,get showCollisionBoxes(){return this._showCollisionBoxes},set showCollisionBoxes(t){this._showCollisionBoxes!==t&amp;&amp;(this._showCollisionBoxes=t,this.style._redoPlacement())},_showOverdrawInspector:!1,get showOverdrawInspector(){return this._showOverdrawInspector},set showOverdrawInspector(t){this._showOverdrawInspector!==t&amp;&amp;(this._showOverdrawInspector=t,this._update())},_repaint:!1,get repaint(){return this._repaint},set repaint(t){this._repaint=t,this._update()},_vertices:!1,get vertices(){return this._vertices},set vertices(t){this._vertices=t,this._update()}})},{&quot;../geo/lng_lat&quot;:330,&quot;../geo/lng_lat_bounds&quot;:331,&quot;../geo/transform&quot;:332,&quot;../render/painter&quot;:346,&quot;../style/animation_loop&quot;:366,&quot;../style/style&quot;:369,&quot;../util/browser&quot;:417,&quot;../util/canvas&quot;:418,&quot;../util/dom&quot;:419,&quot;../util/evented&quot;:425,&quot;../util/util&quot;:433,&quot;./bind_handlers&quot;:398,&quot;./camera&quot;:399,&quot;./control/attribution&quot;:400,&quot;./hash&quot;:411,&quot;point-geometry&quot;:477}],413:[function(t,e,r){&quot;use strict&quot;;function n(t,e){t||(t=i.create(&quot;div&quot;)),t.classList.add(&quot;mapboxgl-marker&quot;),this._el=t,this._offset=o.convert(e&amp;&amp;e.offset||[0,0]),this._update=this._update.bind(this)}e.exports=n;var i=t(&quot;../util/dom&quot;),a=t(&quot;../geo/lng_lat&quot;),o=t(&quot;point-geometry&quot;);n.prototype={addTo:function(t){return this.remove(),this._map=t,t.getCanvasContainer().appendChild(this._el),t.on(&quot;move&quot;,this._update),this._update(),this},remove:function(){this._map&amp;&amp;(this._map.off(&quot;move&quot;,this._update),this._map=null);var t=this._el.parentNode;return t&amp;&amp;t.removeChild(this._el),this},getLngLat:function(){return this._lngLat},setLngLat:function(t){return this._lngLat=a.convert(t),this._update(),this},getElement:function(){return this._el},_update:function(){if(this._map){var t=this._map.project(this._lngLat)._add(this._offset);i.setTransform(this._el,&quot;translate(&quot;+t.x+&quot;px,&quot;+t.y+&quot;px)&quot;)}}}},{&quot;../geo/lng_lat&quot;:330,&quot;../util/dom&quot;:419,&quot;point-geometry&quot;:477}],414:[function(t,e,r){&quot;use strict&quot;;function n(t){i.setOptions(this,t),i.bindAll([&quot;_update&quot;,&quot;_onClickClose&quot;],this)}e.exports=n;var i=t(&quot;../util/util&quot;),a=t(&quot;../util/evented&quot;),o=t(&quot;../util/dom&quot;),s=t(&quot;../geo/lng_lat&quot;);n.prototype=i.inherit(a,{options:{closeButton:!0,closeOnClick:!0},addTo:function(t){return this._map=t,this._map.on(&quot;move&quot;,this._update),this.options.closeOnClick&amp;&amp;this._map.on(&quot;click&quot;,this._onClickClose),this._update(),this},remove:function(){return this._content&amp;&amp;this._content.parentNode&amp;&amp;this._content.parentNode.removeChild(this._content),this._container&amp;&amp;(this._container.parentNode.removeChild(this._container),delete this._container),this._map&amp;&amp;(this._map.off(&quot;move&quot;,this._update),this._map.off(&quot;click&quot;,this._onClickClose),delete this._map),this.fire(&quot;close&quot;),this},getLngLat:function(){return this._lngLat},setLngLat:function(t){return this._lngLat=s.convert(t),this._update(),this},setText:function(t){return this.setDOMContent(document.createTextNode(t))},setHTML:function(t){var e,r=document.createDocumentFragment(),n=document.createElement(&quot;body&quot;);for(n.innerHTML=t;e=n.firstChild;)r.appendChild(e);return this.setDOMContent(r)},setDOMContent:function(t){return this._createContent(),this._content.appendChild(t),this._update(),this},_createContent:function(){this._content&amp;&amp;this._content.parentNode&amp;&amp;this._content.parentNode.removeChild(this._content),this._content=o.create(&quot;div&quot;,&quot;mapboxgl-popup-content&quot;,this._container),this.options.closeButton&amp;&amp;(this._closeButton=o.create(&quot;button&quot;,&quot;mapboxgl-popup-close-button&quot;,this._content),this._closeButton.type=&quot;button&quot;,this._closeButton.innerHTML=&quot;&amp;#215;&quot;,this._closeButton.addEventListener(&quot;click&quot;,this._onClickClose))},_update:function(){if(this._map&amp;&amp;this._lngLat&amp;&amp;this._content){this._container||(this._container=o.create(&quot;div&quot;,&quot;mapboxgl-popup&quot;,this._map.getContainer()),this._tip=o.create(&quot;div&quot;,&quot;mapboxgl-popup-tip&quot;,this._container),this._container.appendChild(this._content));var t=this._map.project(this._lngLat).round(),e=this.options.anchor;if(!e){var r=this._container.offsetWidth,n=this._container.offsetHeight;e=t.y&lt;n?[&quot;top&quot;]:t.y&gt;this._map.transform.height-n?[&quot;bottom&quot;]:[],t.x&lt;r/2?e.push(&quot;left&quot;):t.x&gt;this._map.transform.width-r/2&amp;&amp;e.push(&quot;right&quot;),e=0===e.length?&quot;bottom&quot;:e.join(&quot;-&quot;)}var i={top:&quot;translate(-50%,0)&quot;,&quot;top-left&quot;:&quot;translate(0,0)&quot;,&quot;top-right&quot;:&quot;translate(-100%,0)&quot;,bottom:&quot;translate(-50%,-100%)&quot;,&quot;bottom-left&quot;:&quot;translate(0,-100%)&quot;,&quot;bottom-right&quot;:&quot;translate(-100%,-100%)&quot;,left:&quot;translate(0,-50%)&quot;,right:&quot;translate(-100%,-50%)&quot;},a=this._container.classList;for(var s in i)a.remove(&quot;mapboxgl-popup-anchor-&quot;+s);a.add(&quot;mapboxgl-popup-anchor-&quot;+e),o.setTransform(this._container,i[e]+&quot; translate(&quot;+t.x+&quot;px,&quot;+t.y+&quot;px)&quot;)}},_onClickClose:function(){this.remove()}})},{&quot;../geo/lng_lat&quot;:330,&quot;../util/dom&quot;:419,&quot;../util/evented&quot;:425,&quot;../util/util&quot;:433}],415:[function(t,e,r){&quot;use strict&quot;;function n(t,e){this.target=t,this.parent=e,this.callbacks={},this.callbackID=0,this.receive=this.receive.bind(this),this.target.addEventListener(&quot;message&quot;,this.receive,!1)}e.exports=n,n.prototype.receive=function(t){function e(t,e,r){this.postMessage({type:&quot;&lt;response&gt;&quot;,id:String(i),error:t?String(t):null,data:e},r)}var r,n=t.data,i=n.id;if(&quot;&lt;response&gt;&quot;===n.type)r=this.callbacks[n.id],delete this.callbacks[n.id],r&amp;&amp;r(n.error||null,n.data);else if(void 0!==n.id&amp;&amp;this.parent[n.type])this.parent[n.type](n.data,e.bind(this));else if(void 0!==n.id&amp;&amp;this.parent.workerSources){var a=n.type.split(&quot;.&quot;);this.parent.workerSources[a[0]][a[1]](n.data,e.bind(this))}else this.parent[n.type](n.data)},n.prototype.send=function(t,e,r,n){var i=null;r&amp;&amp;(this.callbacks[i=this.callbackID++]=r),this.postMessage({type:t,id:String(i),data:e},n)},n.prototype.postMessage=function(t,e){this.target.postMessage(t,e)}},{}],416:[function(t,e,r){&quot;use strict&quot;;function n(t){var e=document.createElement(&quot;a&quot;);return e.href=t,e.protocol===document.location.protocol&amp;&amp;e.host===document.location.host}r.getJSON=function(t,e){var r=new XMLHttpRequest;return r.open(&quot;GET&quot;,t,!0),r.setRequestHeader(&quot;Accept&quot;,&quot;application/json&quot;),r.onerror=function(t){e(t)},r.onload=function(){if(r.status&gt;=200&amp;&amp;r.status&lt;300&amp;&amp;r.response){var t;try{t=JSON.parse(r.response)}catch(t){return e(t)}e(null,t)}else e(new Error(r.statusText))},r.send(),r},r.getArrayBuffer=function(t,e){var r=new XMLHttpRequest;return r.open(&quot;GET&quot;,t,!0),r.responseType=&quot;arraybuffer&quot;,r.onerror=function(t){e(t)},r.onload=function(){r.status&gt;=200&amp;&amp;r.status&lt;300&amp;&amp;r.response?e(null,r.response):e(new Error(r.statusText))},r.send(),r},r.getImage=function(t,e){return r.getArrayBuffer(t,function(t,r){if(t)return e(t);var n=new Image;n.onload=function(){e(null,n),(window.URL||window.webkitURL).revokeObjectURL(n.src)};var i=new Blob([new Uint8Array(r)],{type:&quot;image/png&quot;});return n.src=(window.URL||window.webkitURL).createObjectURL(i),n.getData=function(){var t=document.createElement(&quot;canvas&quot;),e=t.getContext(&quot;2d&quot;);return t.width=n.width,t.height=n.height,e.drawImage(n,0,0),e.getImageData(0,0,n.width,n.height).data},n})},r.getVideo=function(t,e){var r=document.createElement(&quot;video&quot;);r.onloadstart=function(){e(null,r)};for(var i=0;i&lt;t.length;i++){var a=document.createElement(&quot;source&quot;);n(t[i])||(r.crossOrigin=&quot;Anonymous&quot;),a.src=t[i],r.appendChild(a)}return r.getData=function(){return r},r}},{}],417:[function(t,e,r){&quot;use strict&quot;;r.window=window,e.exports.now=window.performance&amp;&amp;window.performance.now?window.performance.now.bind(window.performance):Date.now.bind(Date);var n=window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||window.msRequestAnimationFrame;r.frame=function(t){return n(t)};var i=window.cancelAnimationFrame||window.mozCancelAnimationFrame||window.webkitCancelAnimationFrame||window.msCancelAnimationFrame;r.cancelFrame=function(t){i(t)},r.timed=function(t,n,i){function a(l){o||((l=e.exports.now())&gt;=s+n?t.call(i,1):(t.call(i,(l-s)/n),r.frame(a)))}if(!n)return t.call(i,1),null;var o=!1,s=e.exports.now();return r.frame(a),function(){o=!0}},r.supported=t(&quot;mapbox-gl-supported&quot;),r.hardwareConcurrency=navigator.hardwareConcurrency||4,Object.defineProperty(r,&quot;devicePixelRatio&quot;,{get:function(){return window.devicePixelRatio}}),r.supportsWebp=!1;var a=document.createElement(&quot;img&quot;);a.onload=function(){r.supportsWebp=!0},a.src=&quot;data:image/webp;base64,UklGRh4AAABXRUJQVlA4TBEAAAAvAQAAAAfQ//73v/+BiOh/AAA=&quot;,r.supportsGeolocation=!!navigator.geolocation},{&quot;mapbox-gl-supported&quot;:318}],418:[function(t,e,r){&quot;use strict&quot;;function n(t,e){this.canvas=document.createElement(&quot;canvas&quot;),t&amp;&amp;e&amp;&amp;(this.canvas.style.position=&quot;absolute&quot;,this.canvas.classList.add(&quot;mapboxgl-canvas&quot;),this.canvas.addEventListener(&quot;webglcontextlost&quot;,t._contextLost.bind(t),!1),this.canvas.addEventListener(&quot;webglcontextrestored&quot;,t._contextRestored.bind(t),!1),this.canvas.setAttribute(&quot;tabindex&quot;,0),e.appendChild(this.canvas))}var i=t(&quot;../util&quot;),a=t(&quot;mapbox-gl-supported&quot;);e.exports=n,n.prototype.resize=function(t,e){var r=window.devicePixelRatio||1;this.canvas.width=r*t,this.canvas.height=r*e,this.canvas.style.width=t+&quot;px&quot;,this.canvas.style.height=e+&quot;px&quot;},n.prototype.getWebGLContext=function(t){return t=i.extend({},t,a.webGLContextAttributes),this.canvas.getContext(&quot;webgl&quot;,t)||this.canvas.getContext(&quot;experimental-webgl&quot;,t)},n.prototype.getElement=function(){return this.canvas}},{&quot;../util&quot;:433,&quot;mapbox-gl-supported&quot;:318}],419:[function(t,e,r){&quot;use strict&quot;;function n(t){for(var e=0;e&lt;t.length;e++)if(t[e]in s)return t[e]}function i(t){t.preventDefault(),t.stopPropagation(),window.removeEventListener(&quot;click&quot;,i,!0)}var a=t(&quot;point-geometry&quot;);r.create=function(t,e,r){var n=document.createElement(t);return e&amp;&amp;(n.className=e),r&amp;&amp;r.appendChild(n),n};var o,s=document.documentElement.style,l=n([&quot;userSelect&quot;,&quot;MozUserSelect&quot;,&quot;WebkitUserSelect&quot;,&quot;msUserSelect&quot;]);r.disableDrag=function(){l&amp;&amp;(o=s[l],s[l]=&quot;none&quot;)},r.enableDrag=function(){l&amp;&amp;(s[l]=o)};var c=n([&quot;transform&quot;,&quot;WebkitTransform&quot;]);r.setTransform=function(t,e){t.style[c]=e},r.suppressClick=function(){window.addEventListener(&quot;click&quot;,i,!0),window.setTimeout(function(){window.removeEventListener(&quot;click&quot;,i,!0)},0)},r.mousePos=function(t,e){var r=t.getBoundingClientRect();return e=e.touches?e.touches[0]:e,new a(e.clientX-r.left-t.clientLeft,e.clientY-r.top-t.clientTop)},r.touchPos=function(t,e){for(var r=t.getBoundingClientRect(),n=[],i=0;i&lt;e.touches.length;i++)n.push(new a(e.touches[i].clientX-r.left-t.clientLeft,e.touches[i].clientY-r.top-t.clientTop));return n}},{&quot;point-geometry&quot;:477}],420:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;webworkify&quot;);e.exports=function(){return new n(t(&quot;../../source/worker&quot;))}},{&quot;../../source/worker&quot;:364,webworkify:578}],421:[function(t,e,r){&quot;use strict&quot;;function n(t,e){return e.area-t.area}var i=t(&quot;quickselect&quot;);e.exports=function(t,e){var r=t.length;if(r&lt;=1)return[t];for(var a,o,s=[],l=0;l&lt;r;l++){var c=function(t){for(var e,r,n=0,i=0,a=t.length,o=a-1;i&lt;a;o=i++)e=t[i],n+=((r=t[o]).x-e.x)*(e.y+r.y);return n}(t[l]);0!==c&amp;&amp;(t[l].area=Math.abs(c),void 0===o&amp;&amp;(o=c&lt;0),o===c&lt;0?(a&amp;&amp;s.push(a),a=[t[l]]):a.push(t[l]))}if(a&amp;&amp;s.push(a),e&gt;1)for(var u=0;u&lt;s.length;u++)s[u].length&lt;=e||(i(s[u],e,1,s[u].length-1,n),s[u]=s[u].slice(0,e));return s}},{quickselect:494}],422:[function(t,e,r){&quot;use strict&quot;;e.exports={API_URL:&quot;https://api.mapbox.com&quot;,REQUIRE_ACCESS_TOKEN:!0}},{}],423:[function(t,e,r){&quot;use strict&quot;;function n(t){this._stringToNumber={},this._numberToString=[];for(var e=0;e&lt;t.length;e++){var r=t[e];this._stringToNumber[r]=e,this._numberToString[e]=r}}var i=t(&quot;assert&quot;);e.exports=n,n.prototype.encode=function(t){return i(t in this._stringToNumber),this._stringToNumber[t]},n.prototype.decode=function(t){return i(t&lt;this._numberToString.length),this._numberToString[t]}},{assert:51}],424:[function(t,e,r){&quot;use strict&quot;;function n(t,e){this.actors=[],this.currentActor=0;for(var r=0;r&lt;t;r++){var n=new o,i=new a(n,e);i.name=&quot;Worker &quot;+r,this.actors.push(i)}}var i=t(&quot;./util&quot;),a=t(&quot;./actor&quot;),o=t(&quot;./web_worker&quot;);e.exports=n,n.prototype={broadcast:function(t,e,r){r=r||function(){},i.asyncAll(this.actors,function(r,n){r.send(t,e,n)},r)},send:function(t,e,r,n,i){return(&quot;number&quot;!=typeof n||isNaN(n))&amp;&amp;(n=this.currentActor=(this.currentActor+1)%this.actors.length),this.actors[n].send(t,e,r,i),n},remove:function(){for(var t=0;t&lt;this.actors.length;t++)this.actors[t].target.terminate();this.actors=[]}}},{&quot;./actor&quot;:415,&quot;./util&quot;:433,&quot;./web_worker&quot;:420}],425:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;./util&quot;),i={on:function(t,e){return this._events=this._events||{},this._events[t]=this._events[t]||[],this._events[t].push(e),this},off:function(t,e){if(!t)return delete this._events,this;if(!this.listens(t))return this;if(e){var r=this._events[t].indexOf(e);r&gt;=0&amp;&amp;this._events[t].splice(r,1),this._events[t].length||delete this._events[t]}else delete this._events[t];return this},once:function(t,e){var r=function(n){this.off(t,r),e.call(this,n)}.bind(this);return this.on(t,r),this},fire:function(t,e){if(!this.listens(t))return n.endsWith(t,&quot;error&quot;)&amp;&amp;console.error(e&amp;&amp;e.error||e||&quot;Empty error event&quot;),this;e=n.extend({},e),n.extend(e,{type:t,target:this});for(var r=this._events[t].slice(),i=0;i&lt;r.length;i++)r[i].call(this,e);return this},listens:function(t){return!(!this._events||!this._events[t])}};e.exports=i},{&quot;./util&quot;:433}],426:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r){if(1===t){var n=r.readMessage(i,{glyphs:{}});e.push(n)}}function i(t,e,r){if(1===t)e.name=r.readString();else if(2===t)e.range=r.readString();else if(3===t){var n=r.readMessage(a,{});e.glyphs[n.id]=n}}function a(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&amp;&amp;(e.advance=r.readVarint())}e.exports=function(t,e){this.stacks=t.readFields(n,[],e)}},{}],427:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r){return t*(1-r)+e*r}e.exports=n,n.number=n,n.vec2=function(t,e,r){return[n(t[0],e[0],r),n(t[1],e[1],r)]},n.color=function(t,e,r){return[n(t[0],e[0],r),n(t[1],e[1],r),n(t[2],e[2],r),n(t[3],e[3],r)]},n.array=function(t,e,r){return t.map(function(t,i){return n(t,e[i],r)})}},{}],428:[function(t,e,r){&quot;use strict&quot;;function n(t,e){for(var r=0;r&lt;t.length-1;r++)for(var n=t[r],a=t[r+1],o=0;o&lt;e.length-1;o++){if(function(t,e,r,n){return i(t,r,n)!==i(e,r,n)&amp;&amp;i(t,e,r)!==i(t,e,n)}(n,a,e[o],e[o+1]))return!0}return!1}function i(t,e,r){return(r.y-t.y)*(e.x-t.x)&gt;(e.y-t.y)*(r.x-t.x)}function a(t,e,r){var n=r*r;if(1===e.length)return t.distSqr(e[0])&lt;n;for(var i=1;i&lt;e.length;i++){if(function(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&lt;0?t.distSqr(e):i&gt;1?t.distSqr(r):t.distSqr(r.sub(e)._mult(i)._add(e))}(t,e[i-1],e[i])&lt;n)return!0}return!1}function o(t,e){for(var r,n,i,a=!1,o=0;o&lt;t.length;o++)for(var s=0,l=(r=t[o]).length-1;s&lt;r.length;l=s++)n=r[s],i=r[l],n.y&gt;e.y!=i.y&gt;e.y&amp;&amp;e.x&lt;(i.x-n.x)*(e.y-n.y)/(i.y-n.y)+n.x&amp;&amp;(a=!a);return a}function s(t,e){for(var r=!1,n=0,i=t.length-1;n&lt;t.length;i=n++){var a=t[n],o=t[i];a.y&gt;e.y!=o.y&gt;e.y&amp;&amp;e.x&lt;(o.x-a.x)*(e.y-a.y)/(o.y-a.y)+a.x&amp;&amp;(r=!r)}return r}e.exports={multiPolygonIntersectsBufferedMultiPoint:function(t,e,r){for(var n=0;n&lt;t.length;n++)for(var i=t[n],o=0;o&lt;e.length;o++)for(var l=e[o],c=0;c&lt;l.length;c++){var u=l[c];if(s(i,u))return!0;if(a(u,i,r))return!0}return!1},multiPolygonIntersectsMultiPolygon:function(t,e){if(1===t.length&amp;&amp;1===t[0].length)return o(e,t[0][0]);for(var r=0;r&lt;e.length;r++)for(var i=e[r],a=0;a&lt;i.length;a++)if(o(t,i[a]))return!0;for(var s=0;s&lt;t.length;s++){for(var l=t[s],c=0;c&lt;l.length;c++)if(o(e,l[c]))return!0;for(var u=0;u&lt;e.length;u++)if(n(l,e[u]))return!0}return!1},multiPolygonIntersectsBufferedMultiLine:function(t,e,r){for(var i=0;i&lt;e.length;i++)for(var o=e[i],l=0;l&lt;t.length;l++){var c=t[l];if(c.length&gt;=3)for(var u=0;u&lt;o.length;u++)if(s(c,o[u]))return!0;if(function(t,e,r){if(t.length&gt;1){if(n(t,e))return!0;for(var i=0;i&lt;e.length;i++)if(a(e[i],t,r))return!0}for(var o=0;o&lt;t.length;o++)if(a(t[o],e,r))return!0;return!1}(c,o,r))return!0}return!1}}},{}],429:[function(t,e,r){&quot;use strict&quot;;function n(t,e){this.max=t,this.onRemove=e,this.reset()}e.exports=n,n.prototype.reset=function(){for(var t in this.data)this.onRemove(this.data[t]);return this.data={},this.order=[],this},n.prototype.add=function(t,e){if(this.has(t))this.order.splice(this.order.indexOf(t),1),this.data[t]=e,this.order.push(t);else if(this.data[t]=e,this.order.push(t),this.order.length&gt;this.max){var r=this.get(this.order[0]);r&amp;&amp;this.onRemove(r)}return this},n.prototype.has=function(t){return t in this.data},n.prototype.keys=function(){return this.order},n.prototype.get=function(t){if(!this.has(t))return null;var e=this.data[t];return delete this.data[t],this.order.splice(this.order.indexOf(t),1),e},n.prototype.setMaxSize=function(t){for(this.max=t;this.order.length&gt;this.max;){var e=this.get(this.order[0]);e&amp;&amp;this.onRemove(e)}return this}},{}],430:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r){if(!(r=r||a.ACCESS_TOKEN)&amp;&amp;a.REQUIRE_ACCESS_TOKEN)throw new Error(&quot;An API access token is required to use Mapbox GL. See https://www.mapbox.com/developers/api/#access-tokens&quot;);if(t=t.replace(/^mapbox:\/\//,a.API_URL+e),t+=-1!==t.indexOf(&quot;?&quot;)?&quot;&amp;access_token=&quot;:&quot;?access_token=&quot;,a.REQUIRE_ACCESS_TOKEN){if(&quot;s&quot;===r[0])throw new Error(&quot;Use a public access token (pk.*) with Mapbox GL JS, not a secret access token (sk.*). See https://www.mapbox.com/developers/api/#access-tokens&quot;);t+=r}return t}function i(t){return t?&quot;?&quot;+t:&quot;&quot;}var a=t(&quot;./config&quot;),o=t(&quot;./browser&quot;),s=t(&quot;url&quot;),l=t(&quot;./util&quot;);e.exports.normalizeStyleURL=function(t,e){var r=s.parse(t);return&quot;mapbox:&quot;!==r.protocol?t:n(&quot;mapbox:/&quot;+r.pathname+i(r.query),&quot;/styles/v1/&quot;,e)},e.exports.normalizeSourceURL=function(t,e){return&quot;mapbox:&quot;!==s.parse(t).protocol?t:n(t+&quot;.json&quot;,&quot;/v4/&quot;,e)+&quot;&amp;secure&quot;},e.exports.normalizeGlyphsURL=function(t,e){var r=s.parse(t);if(&quot;mapbox:&quot;!==r.protocol)return t;return n(&quot;mapbox://&quot;+r.pathname.split(&quot;/&quot;)[1]+&quot;/{fontstack}/{range}.pbf&quot;+i(r.query),&quot;/fonts/v1/&quot;,e)},e.exports.normalizeSpriteURL=function(t,e,r,a){var o=s.parse(t);return&quot;mapbox:&quot;!==o.protocol?(o.pathname+=e+r,s.format(o)):n(&quot;mapbox:/&quot;+o.pathname+&quot;/sprite&quot;+e+r+i(o.query),&quot;/styles/v1/&quot;,a)},e.exports.normalizeTileURL=function(t,e,r){var n=s.parse(t,!0);if(!e)return t;if(&quot;mapbox:&quot;!==s.parse(e).protocol)return t;var i=o.supportsWebp?&quot;.webp&quot;:&quot;$1&quot;,c=o.devicePixelRatio&gt;=2||512===r?&quot;@2x&quot;:&quot;&quot;;return s.format({protocol:n.protocol,hostname:n.hostname,pathname:n.pathname.replace(/(\.(?:png|jpg)\d*)/,c+i),query:function(t){return t.access_token&amp;&amp;&quot;tk.&quot;===t.access_token.slice(0,3)?l.extend({},t,{access_token:a.ACCESS_TOKEN}):t}(n.query)})}},{&quot;./browser&quot;:417,&quot;./config&quot;:422,&quot;./util&quot;:433,url:559}],431:[function(t,e,r){&quot;use strict&quot;;function n(){return{members:this.prototype.StructType.prototype.members,alignment:this.prototype.StructType.prototype.alignment,bytesPerElement:this.prototype.bytesPerElement}}function i(t,e){return Math.ceil(t/e)*e}function a(t){return f[t].BYTES_PER_ELEMENT}function o(t){return t.toLowerCase()}function s(t,e){var r=&quot;this._pos&quot;+a(t.type).toFixed(0)+&quot; + &quot;+(t.offset/a(t.type)+e).toFixed(0);return&quot;this._structArray.&quot;+o(t.type)+&quot;[&quot;+r+&quot;]&quot;}function l(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}function c(t){void 0!==t?(this.arrayBuffer=t.arrayBuffer,this.length=t.length,this.capacity=this.arrayBuffer.byteLength/this.bytesPerElement,this._refreshViews()):(this.capacity=-1,this.resize(0))}var u=t(&quot;assert&quot;);e.exports=function(t){function e(){l.apply(this,arguments)}function r(){c.apply(this,arguments),this.members=e.prototype.members}var d=JSON.stringify(t);if(h[d])return h[d];void 0===t.alignment&amp;&amp;(t.alignment=1);var p=0,m=0,g=[&quot;Uint8&quot;];return(e.prototype=Object.create(l.prototype)).members=t.members.map(function(r){r={name:r.name,type:r.type,components:r.components||1},u(r.name.length),u(r.type in f),g.indexOf(r.type)&lt;0&amp;&amp;g.push(r.type);var n=a(r.type);m=Math.max(m,n),r.offset=p=i(p,Math.max(t.alignment,n));for(var o=0;o&lt;r.components;o++)Object.defineProperty(e.prototype,r.name+(1===r.components?&quot;&quot;:o),{get:function(t,e){return new Function([],&quot;return &quot;+s(t,e)+&quot;;&quot;)}(r,o),set:function(t,e){return new Function([&quot;x&quot;],s(t,e)+&quot; = x;&quot;)}(r,o)});return p+=n*r.components,r}),e.prototype.alignment=t.alignment,e.prototype.size=i(p,Math.max(m,t.alignment)),r.serialize=n,r.prototype=Object.create(c.prototype),r.prototype.StructType=e,r.prototype.bytesPerElement=e.prototype.size,r.prototype.emplaceBack=function(t,e){for(var r=[],n=[],i=&quot;var i = this.length;\nthis.resize(this.length + 1);\n&quot;,s=0;s&lt;t.length;s++){var l=t[s],c=a(l.type);r.indexOf(c)&lt;0&amp;&amp;(r.push(c),i+=&quot;var o&quot;+c.toFixed(0)+&quot; = i * &quot;+(e/c).toFixed(0)+&quot;;\n&quot;);for(var u=0;u&lt;l.components;u++){var f=&quot;v&quot;+n.length,h=&quot;o&quot;+c.toFixed(0)+&quot; + &quot;+(l.offset/c+u).toFixed(0);i+=&quot;this.&quot;+o(l.type)+&quot;[&quot;+h+&quot;] = &quot;+f+&quot;;\n&quot;,n.push(f)}}return i+=&quot;return i;&quot;,new Function(n,i)}(e.prototype.members,e.prototype.size),r.prototype._usedTypes=g,h[d]=r,r};var f={Int8:Int8Array,Uint8:Uint8Array,Uint8Clamped:Uint8ClampedArray,Int16:Int16Array,Uint16:Uint16Array,Int32:Int32Array,Uint32:Uint32Array,Float32:Float32Array,Float64:Float64Array},h={};c.prototype.DEFAULT_CAPACITY=128,c.prototype.RESIZE_MULTIPLIER=5,c.prototype.serialize=function(){return this.trim(),{length:this.length,arrayBuffer:this.arrayBuffer}},c.prototype.get=function(t){return new this.StructType(this,t)},c.prototype.trim=function(){this.length!==this.capacity&amp;&amp;(this.capacity=this.length,this.arrayBuffer=this.arrayBuffer.slice(0,this.length*this.bytesPerElement),this._refreshViews())},c.prototype.resize=function(t){if(this.length=t,t&gt;this.capacity){this.capacity=Math.max(t,Math.floor(this.capacity*this.RESIZE_MULTIPLIER),this.DEFAULT_CAPACITY),this.arrayBuffer=new ArrayBuffer(this.capacity*this.bytesPerElement);var e=this.uint8;this._refreshViews(),e&amp;&amp;this.uint8.set(e)}},c.prototype._refreshViews=function(){for(var t=0;t&lt;this._usedTypes.length;t++){var e=this._usedTypes[t];this[o(e)]=new f[e](this.arrayBuffer)}},c.prototype.toArray=function(t,e){for(var r=[],n=t;n&lt;e;n++){var i=this.get(n);r.push(i)}return r}},{assert:51}],432:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t,e){return e.replace(/{([^{}]+)}/g,function(e,r){return r in t?t[r]:&quot;&quot;})}},{}],433:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;unitbezier&quot;),i=t(&quot;../geo/coordinate&quot;);r.easeCubicInOut=function(t){if(t&lt;=0)return 0;if(t&gt;=1)return 1;var e=t*t,r=e*t;return 4*(t&lt;.5?r:3*(t-e)+r-.75)},r.bezier=function(t,e,r,i){var a=new n(t,e,r,i);return function(t){return a.solve(t)}},r.ease=r.bezier(.25,.1,.25,1),r.clamp=function(t,e,r){return Math.min(r,Math.max(e,t))},r.wrap=function(t,e,r){var n=r-e,i=((t-e)%n+n)%n+e;return i===e?r:i},r.coalesce=function(){for(var t=0;t&lt;arguments.length;t++){var e=arguments[t];if(null!==e&amp;&amp;void 0!==e)return e}},r.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&amp;&amp;(a=t),i[o]=e,0==--n&amp;&amp;r(a,i)})})},r.keysDifference=function(t,e){var r=[];for(var n in t)n in e||r.push(n);return r},r.extend=function(t){for(var e=1;e&lt;arguments.length;e++){var r=arguments[e];for(var n in r)t[n]=r[n]}return t},r.extendAll=function(t,e){for(var r in e)Object.defineProperty(t,r,Object.getOwnPropertyDescriptor(e,r));return t},r.inherit=function(t,e){var n=&quot;function&quot;==typeof t?t.prototype:t,i=Object.create(n);return r.extendAll(i,e),i},r.pick=function(t,e){for(var r={},n=0;n&lt;e.length;n++){var i=e[n];i in t&amp;&amp;(r[i]=t[i])}return r};var a=1;r.uniqueId=function(){return a++},r.debounce=function(t,e){var r,n;return function(){n=arguments,clearTimeout(r),r=setTimeout(function(){t.apply(null,n)},e)}},r.bindAll=function(t,e){t.forEach(function(t){e[t]&amp;&amp;(e[t]=e[t].bind(e))})},r.bindHandlers=function(t){for(var e in t)&quot;function&quot;==typeof t[e]&amp;&amp;0===e.indexOf(&quot;_on&quot;)&amp;&amp;(t[e]=t[e].bind(t))},r.setOptions=function(t,e){t.hasOwnProperty(&quot;options&quot;)||(t.options=t.options?Object.create(t.options):{});for(var r in e)t.options[r]=e[r];return t.options},r.getCoordinatesCenter=function(t){for(var e=1/0,r=1/0,n=-1/0,a=-1/0,o=0;o&lt;t.length;o++)e=Math.min(e,t[o].column),r=Math.min(r,t[o].row),n=Math.max(n,t[o].column),a=Math.max(a,t[o].row);var s=n-e,l=a-r,c=Math.max(s,l);return new i((e+n)/2,(r+a)/2,0).zoomTo(Math.floor(-Math.log(c)/Math.LN2))},r.endsWith=function(t,e){return-1!==t.indexOf(e,t.length-e.length)},r.startsWith=function(t,e){return 0===t.indexOf(e)},r.mapObject=function(t,e,r){var n={};for(var i in t)n[i]=e.call(r||this,t[i],i,t);return n},r.filterObject=function(t,e,r){var n={};for(var i in t)e.call(r||this,t[i],i,t)&amp;&amp;(n[i]=t[i]);return n},r.deepEqual=function t(e,r){if(Array.isArray(e)){if(!Array.isArray(r)||e.length!==r.length)return!1;for(var n=0;n&lt;e.length;n++)if(!t(e[n],r[n]))return!1;return!0}if(&quot;object&quot;==typeof e&amp;&amp;null!==e&amp;&amp;null!==r){if(&quot;object&quot;!=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},r.clone=function(t){return Array.isArray(t)?t.map(r.clone):&quot;object&quot;==typeof t?r.mapObject(t,r.clone):t},r.arraysIntersect=function(t,e){for(var r=0;r&lt;t.length;r++)if(e.indexOf(t[r])&gt;=0)return!0;return!1};var o={};r.warnOnce=function(t){o[t]||(&quot;undefined&quot;!=typeof console&amp;&amp;console.warn(t),o[t]=!0)}},{&quot;../geo/coordinate&quot;:329,unitbezier:557}],434:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,n){this._vectorTileFeature=t,t._z=e,t._x=r,t._y=n,this.properties=t.properties,null!=t.id&amp;&amp;(this.id=t.id)}e.exports=n,n.prototype={type:&quot;Feature&quot;,get geometry(){return void 0===this._geometry&amp;&amp;(this._geometry=this._vectorTileFeature.toGeoJSON(this._vectorTileFeature._x,this._vectorTileFeature._y,this._vectorTileFeature._z).geometry),this._geometry},set geometry(t){this._geometry=t},toJSON:function(){var t={};for(var e in this)&quot;_geometry&quot;!==e&amp;&amp;&quot;_vectorTileFeature&quot;!==e&amp;&amp;&quot;toJSON&quot;!==e&amp;&amp;(t[e]=this[e]);return t}}},{}],435:[function(t,e,r){e.exports={_args:[[&quot;mapbox-gl@0.22.1&quot;,&quot;/Users/alex/plotly/plotly.js&quot;]],_from:&quot;mapbox-gl@0.22.1&quot;,_id:&quot;mapbox-gl@0.22.1&quot;,_inBundle:!1,_integrity:&quot;sha1-kqllVH1MLyTCLLxIfu2khpTLYno=&quot;,_location:&quot;/mapbox-gl&quot;,_phantomChildren:{},_requested:{type:&quot;version&quot;,registry:!0,raw:&quot;mapbox-gl@0.22.1&quot;,name:&quot;mapbox-gl&quot;,escapedName:&quot;mapbox-gl&quot;,rawSpec:&quot;0.22.1&quot;,saveSpec:null,fetchSpec:&quot;0.22.1&quot;},_requiredBy:[&quot;/&quot;],_resolved:&quot;https://registry.npmjs.org/mapbox-gl/-/mapbox-gl-0.22.1.tgz&quot;,_spec:&quot;0.22.1&quot;,_where:&quot;/Users/alex/plotly/plotly.js&quot;,browser:{&quot;./js/util/ajax.js&quot;:&quot;./js/util/browser/ajax.js&quot;,&quot;./js/util/browser.js&quot;:&quot;./js/util/browser/browser.js&quot;,&quot;./js/util/canvas.js&quot;:&quot;./js/util/browser/canvas.js&quot;,&quot;./js/util/dom.js&quot;:&quot;./js/util/browser/dom.js&quot;,&quot;./js/util/web_worker.js&quot;:&quot;./js/util/browser/web_worker.js&quot;},bugs:{url:&quot;https://github.com/mapbox/mapbox-gl-js/issues&quot;},dependencies:{csscolorparser:&quot;^1.0.2&quot;,earcut:&quot;^2.0.3&quot;,&quot;feature-filter&quot;:&quot;^2.2.0&quot;,&quot;geojson-rewind&quot;:&quot;^0.1.0&quot;,&quot;geojson-vt&quot;:&quot;^2.4.0&quot;,&quot;gl-matrix&quot;:&quot;^2.3.1&quot;,&quot;grid-index&quot;:&quot;^1.0.0&quot;,&quot;mapbox-gl-function&quot;:&quot;^1.2.1&quot;,&quot;mapbox-gl-shaders&quot;:&quot;github:mapbox/mapbox-gl-shaders#de2ab007455aa2587c552694c68583f94c9f2747&quot;,&quot;mapbox-gl-style-spec&quot;:&quot;github:mapbox/mapbox-gl-style-spec#83b1a3e5837d785af582efd5ed1a212f2df6a4ae&quot;,&quot;mapbox-gl-supported&quot;:&quot;^1.2.0&quot;,pbf:&quot;^1.3.2&quot;,pngjs:&quot;^2.2.0&quot;,&quot;point-geometry&quot;:&quot;^0.0.0&quot;,quickselect:&quot;^1.0.0&quot;,request:&quot;^2.39.0&quot;,&quot;resolve-url&quot;:&quot;^0.2.1&quot;,&quot;shelf-pack&quot;:&quot;^1.0.0&quot;,supercluster:&quot;^2.0.1&quot;,unassertify:&quot;^2.0.0&quot;,unitbezier:&quot;^0.0.0&quot;,&quot;vector-tile&quot;:&quot;^1.3.0&quot;,&quot;vt-pbf&quot;:&quot;^2.0.2&quot;,webworkify:&quot;^1.3.0&quot;,&quot;whoots-js&quot;:&quot;^2.0.0&quot;},description:&quot;A WebGL interactive maps library&quot;,devDependencies:{&quot;babel-preset-react&quot;:&quot;^6.11.1&quot;,babelify:&quot;^7.3.0&quot;,benchmark:&quot;~2.1.0&quot;,browserify:&quot;^13.0.0&quot;,clipboard:&quot;^1.5.12&quot;,&quot;concat-stream&quot;:&quot;1.5.1&quot;,coveralls:&quot;^2.11.8&quot;,doctrine:&quot;^1.2.1&quot;,documentation:&quot;https://github.com/documentationjs/documentation/archive/bb41619c734e59ef3fbc3648610032efcfdaaace.tar.gz&quot;,&quot;documentation-theme-utils&quot;:&quot;3.0.0&quot;,envify:&quot;^3.4.0&quot;,eslint:&quot;^2.5.3&quot;,&quot;eslint-config-mourner&quot;:&quot;^2.0.0&quot;,&quot;eslint-plugin-html&quot;:&quot;^1.5.1&quot;,gl:&quot;^4.0.1&quot;,handlebars:&quot;4.0.5&quot;,&quot;highlight.js&quot;:&quot;9.3.0&quot;,istanbul:&quot;^0.4.2&quot;,&quot;json-loader&quot;:&quot;^0.5.4&quot;,lodash:&quot;^4.13.1&quot;,&quot;mapbox-gl-test-suite&quot;:&quot;github:mapbox/mapbox-gl-test-suite#7babab52fb02788ebbc38384139bf350e8e38552&quot;,&quot;memory-fs&quot;:&quot;^0.3.0&quot;,minifyify:&quot;^7.0.1&quot;,&quot;npm-run-all&quot;:&quot;^3.0.0&quot;,nyc:&quot;6.4.0&quot;,proxyquire:&quot;^1.7.9&quot;,remark:&quot;4.2.2&quot;,&quot;remark-html&quot;:&quot;3.0.0&quot;,sinon:&quot;^1.15.4&quot;,st:&quot;^1.2.0&quot;,tap:&quot;^5.7.0&quot;,&quot;transform-loader&quot;:&quot;^0.2.3&quot;,&quot;unist-util-visit&quot;:&quot;1.1.0&quot;,vinyl:&quot;1.1.1&quot;,&quot;vinyl-fs&quot;:&quot;2.4.3&quot;,watchify:&quot;^3.7.0&quot;,webpack:&quot;^1.13.1&quot;,&quot;webworkify-webpack&quot;:&quot;^1.1.3&quot;},engines:{node:&quot;&gt;=4.0.0&quot;},homepage:&quot;https://github.com/mapbox/mapbox-gl-js#readme&quot;,license:&quot;BSD-3-Clause&quot;,main:&quot;js/mapbox-gl.js&quot;,name:&quot;mapbox-gl&quot;,repository:{type:&quot;git&quot;,url:&quot;git://github.com/mapbox/mapbox-gl-js.git&quot;},scripts:{build:&quot;npm run build-docs # invoked by publisher when publishing docs on the mb-pages branch&quot;,&quot;build-dev&quot;:&quot;browserify js/mapbox-gl.js --debug --standalone mapboxgl &gt; dist/mapbox-gl-dev.js &amp;&amp; tap --no-coverage test/build/dev.test.js&quot;,&quot;build-docs&quot;:&quot;documentation build --github --format html -c documentation.yml --theme ./docs/_theme --output docs/api/&quot;,&quot;build-min&quot;:&quot;browserify js/mapbox-gl.js --debug -t unassertify --plugin [minifyify --map mapbox-gl.js.map --output dist/mapbox-gl.js.map] --standalone mapboxgl &gt; dist/mapbox-gl.js &amp;&amp; tap --no-coverage test/build/min.test.js&quot;,&quot;build-token&quot;:&quot;browserify debug/access-token-src.js --debug -t envify &gt; debug/access-token.js&quot;,lint:&quot;eslint  --ignore-path .gitignore js test bench docs/_posts/examples/*.html&quot;,&quot;open-changed-examples&quot;:&quot;git diff --name-only mb-pages HEAD -- docs/_posts/examples/*.html | awk '{print \&quot;http://127.0.0.1:4000/mapbox-gl-js/example/\&quot; substr($0,33,length($0)-37)}' | xargs open&quot;,start:&quot;run-p build-token watch-dev watch-bench start-server&quot;,&quot;start-bench&quot;:&quot;run-p build-token watch-bench start-server&quot;,&quot;start-debug&quot;:&quot;run-p build-token watch-dev start-server&quot;,&quot;start-docs&quot;:&quot;npm run build-min &amp;&amp; npm run build-docs &amp;&amp; jekyll serve -w&quot;,&quot;start-server&quot;:&quot;st --no-cache --localhost --port 9966 --index index.html .&quot;,test:&quot;npm run lint &amp;&amp; tap --reporter dot test/js/*/*.js test/build/webpack.test.js&quot;,&quot;test-suite&quot;:&quot;node test/render.test.js &amp;&amp; node test/query.test.js&quot;,&quot;watch-bench&quot;:&quot;node bench/download-data.js &amp;&amp; watchify bench/index.js --plugin [minifyify --no-map] -t [babelify --presets react] -t unassertify -t envify -o bench/bench.js -v&quot;,&quot;watch-dev&quot;:&quot;watchify js/mapbox-gl.js --debug --standalone mapboxgl -o dist/mapbox-gl-dev.js -v&quot;},version:&quot;0.22.1&quot;}},{}],436:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r){for(var n=new Array(t),i=0;i&lt;t;++i)n[i]=0,i===e&amp;&amp;(n[i]+=.5),i===r&amp;&amp;(n[i]+=.5);return n}function i(t,e){if(0===e||e===(1&lt;&lt;t+1)-1)return[];for(var r=[],i=[],o=0;o&lt;=t;++o)if(e&amp;1&lt;&lt;o){r.push(n(t,o-1,o-1)),i.push(null);for(var s=0;s&lt;=t;++s)~e&amp;1&lt;&lt;s&amp;&amp;(r.push(n(t,o-1,s-1)),i.push([o,s]))}var l=a(r),c=[];t:for(o=0;o&lt;l.length;++o){var u=l[o],f=[];for(s=0;s&lt;u.length;++s){if(!i[u[s]])continue t;f.push(i[u[s]].slice())}c.push(f)}return c}e.exports=function(t){for(var e=1&lt;&lt;t+1,r=new Array(e),n=0;n&lt;e;++n)r[n]=i(t,n);return r};var a=t(&quot;convex-hull&quot;)},{&quot;convex-hull&quot;:109}],437:[function(t,e,r){function n(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}var i=t(&quot;./normalize&quot;),a=t(&quot;gl-mat4/create&quot;),o=t(&quot;gl-mat4/clone&quot;),s=t(&quot;gl-mat4/determinant&quot;),l=t(&quot;gl-mat4/invert&quot;),c=t(&quot;gl-mat4/transpose&quot;),u={length:t(&quot;gl-vec3/length&quot;),normalize:t(&quot;gl-vec3/normalize&quot;),dot:t(&quot;gl-vec3/dot&quot;),cross:t(&quot;gl-vec3/cross&quot;)},f=a(),h=a(),d=[0,0,0,0],p=[[0,0,0],[0,0,0],[0,0,0]],m=[0,0,0];e.exports=function(t,e,r,a,g,v){if(e||(e=[0,0,0]),r||(r=[0,0,0]),a||(a=[0,0,0]),g||(g=[0,0,0,1]),v||(v=[0,0,0,1]),!i(f,t))return!1;if(o(h,f),h[3]=0,h[7]=0,h[11]=0,h[15]=1,Math.abs(s(h)&lt;1e-8))return!1;var y=f[3],x=f[7],b=f[11],_=f[12],w=f[13],M=f[14],k=f[15];if(0!==y||0!==x||0!==b){d[0]=y,d[1]=x,d[2]=b,d[3]=k;if(!l(h,h))return!1;c(h,h),function(t,e,r){var n=e[0],i=e[1],a=e[2],o=e[3];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}(g,d,h)}else g[0]=g[1]=g[2]=0,g[3]=1;if(e[0]=_,e[1]=w,e[2]=M,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,f),r[0]=u.length(p[0]),u.normalize(p[0],p[0]),a[0]=u.dot(p[0],p[1]),n(p[1],p[1],p[0],1,-a[0]),r[1]=u.length(p[1]),u.normalize(p[1],p[1]),a[0]/=r[1],a[1]=u.dot(p[0],p[2]),n(p[2],p[2],p[0],1,-a[1]),a[2]=u.dot(p[1],p[2]),n(p[2],p[2],p[1],1,-a[2]),r[2]=u.length(p[2]),u.normalize(p[2],p[2]),a[1]/=r[2],a[2]/=r[2],u.cross(m,p[1],p[2]),u.dot(p[0],m)&lt;0)for(var A=0;A&lt;3;A++)r[A]*=-1,p[A][0]*=-1,p[A][1]*=-1,p[A][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]&gt;p[1][2]&amp;&amp;(v[0]=-v[0]),p[0][2]&gt;p[2][0]&amp;&amp;(v[1]=-v[1]),p[1][0]&gt;p[0][1]&amp;&amp;(v[2]=-v[2]),!0}},{&quot;./normalize&quot;:438,&quot;gl-mat4/clone&quot;:180,&quot;gl-mat4/create&quot;:181,&quot;gl-mat4/determinant&quot;:182,&quot;gl-mat4/invert&quot;:186,&quot;gl-mat4/transpose&quot;:196,&quot;gl-vec3/cross&quot;:260,&quot;gl-vec3/dot&quot;:261,&quot;gl-vec3/length&quot;:262,&quot;gl-vec3/normalize&quot;:264}],438:[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&lt;16;i++)t[i]=e[i]*n;return!0}},{}],439:[function(t,e,r){function n(){return{translate:i(),scale:i(1),skew:i(),perspective:[0,0,0,1],quaternion:[0,0,0,1]}}function i(t){return[t||0,t||0,t||0]}var a=t(&quot;gl-vec3/lerp&quot;),o=t(&quot;mat4-recompose&quot;),s=t(&quot;mat4-decompose&quot;),l=t(&quot;gl-mat4/determinant&quot;),c=t(&quot;quat-slerp&quot;),u=n(),f=n(),h=n();e.exports=function(t,e,r,n){if(0===l(e)||0===l(r))return!1;var i=s(e,u.translate,u.scale,u.skew,u.perspective,u.quaternion),d=s(r,f.translate,f.scale,f.skew,f.perspective,f.quaternion);return!(!i||!d||(a(h.translate,u.translate,f.translate,n),a(h.skew,u.skew,f.skew,n),a(h.scale,u.scale,f.scale,n),a(h.perspective,u.perspective,f.perspective,n),c(h.quaternion,u.quaternion,f.quaternion,n),o(t,h.translate,h.scale,h.skew,h.perspective,h.quaternion),0))}},{&quot;gl-mat4/determinant&quot;:182,&quot;gl-vec3/lerp&quot;:263,&quot;mat4-decompose&quot;:437,&quot;mat4-recompose&quot;:440,&quot;quat-slerp&quot;:490}],440:[function(t,e,r){var n={identity:t(&quot;gl-mat4/identity&quot;),translate:t(&quot;gl-mat4/translate&quot;),multiply:t(&quot;gl-mat4/multiply&quot;),create:t(&quot;gl-mat4/create&quot;),scale:t(&quot;gl-mat4/scale&quot;),fromRotationTranslation:t(&quot;gl-mat4/fromRotationTranslation&quot;)},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]&amp;&amp;(i[9]=a[2],n.multiply(t,t,i)),0!==a[1]&amp;&amp;(i[9]=0,i[8]=a[1],n.multiply(t,t,i)),0!==a[0]&amp;&amp;(i[8]=0,i[4]=a[0],n.multiply(t,t,i)),n.scale(t,t,r),t}},{&quot;gl-mat4/create&quot;:181,&quot;gl-mat4/fromRotationTranslation&quot;:184,&quot;gl-mat4/identity&quot;:185,&quot;gl-mat4/multiply&quot;:188,&quot;gl-mat4/scale&quot;:194,&quot;gl-mat4/translate&quot;:195}],441:[function(t,e,r){&quot;use strict&quot;;function n(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]}var i=t(&quot;binary-search-bounds&quot;),a=t(&quot;mat4-interpolate&quot;),o=t(&quot;gl-mat4/invert&quot;),s=t(&quot;gl-mat4/rotateX&quot;),l=t(&quot;gl-mat4/rotateY&quot;),c=t(&quot;gl-mat4/rotateZ&quot;),u=t(&quot;gl-mat4/lookAt&quot;),f=t(&quot;gl-mat4/translate&quot;),h=(t(&quot;gl-mat4/scale&quot;),t(&quot;gl-vec3/normalize&quot;)),d=[0,0,0];e.exports=function(t){return new n((t=t||{}).matrix||[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1])};var p=n.prototype;p.recalcMatrix=function(t){var e=this._time,r=i.le(e,t),n=this.computedMatrix;if(!(r&lt;0)){var s=this._components;if(r===e.length-1)for(var l=16*r,c=0;c&lt;16;++c)n[c]=s[l++];else{var u=e[r+1]-e[r],f=(l=16*r,this.prevMatrix),d=!0;for(c=0;c&lt;16;++c)f[c]=s[l++];var p=this.nextMatrix;for(c=0;c&lt;16;++c)p[c]=s[l++],d=d&amp;&amp;f[c]===p[c];if(u&lt;1e-6||d)for(c=0;c&lt;16;++c)n[c]=f[c];else a(n,f,p,(t-e[r])/u)}var m=this.computedUp;m[0]=n[1],m[1]=n[5],m[2]=n[9],h(m,m);var g=this.computedInverse;o(g,n);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&lt;3;++c)x[c]=v[c]-n[2+4*c]*b}},p.idle=function(t){if(!(t&lt;this.lastT())){for(var e=this._components,r=e.length-16,n=0;n&lt;16;++n)e.push(e[r++]);this._time.push(t)}},p.flush=function(t){var e=i.gt(this._time,t)-2;e&lt;0||(this._time.splice(0,e),this._components.splice(0,16*e))},p.lastT=function(){return this._time[this._time.length-1]},p.lookAt=function(t,e,r,n){this.recalcMatrix(t),e=e||this.computedEye,r=r||d,n=n||this.computedUp,this.setMatrix(t,u(this.computedMatrix,e,r,n));for(var i=0,a=0;a&lt;3;++a)i+=Math.pow(r[a]-e[a],2);i=Math.log(Math.sqrt(i)),this.computedRadius[0]=i},p.rotate=function(t,e,r,n){this.recalcMatrix(t);var i=this.computedInverse;e&amp;&amp;l(i,i,e),r&amp;&amp;s(i,i,r),n&amp;&amp;c(i,i,n),this.setMatrix(t,o(this.computedMatrix,i))};var m=[0,0,0];p.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;f(i,i,m),this.setMatrix(t,o(i,i))},p.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;f(i,i,m),this.setMatrix(t,i)},p.setMatrix=function(t,e){if(!(t&lt;this.lastT())){this._time.push(t);for(var r=0;r&lt;16;++r)this._components.push(e[r])}},p.setDistance=function(t,e){this.computedRadius[0]=e},p.setDistanceLimits=function(t,e){var r=this._limits;r[0]=t,r[1]=e},p.getDistanceLimits=function(t){var e=this._limits;return t?(t[0]=e[0],t[1]=e[1],t):e}},{&quot;binary-search-bounds&quot;:70,&quot;gl-mat4/invert&quot;:186,&quot;gl-mat4/lookAt&quot;:187,&quot;gl-mat4/rotateX&quot;:191,&quot;gl-mat4/rotateY&quot;:192,&quot;gl-mat4/rotateZ&quot;:193,&quot;gl-mat4/scale&quot;:194,&quot;gl-mat4/translate&quot;:195,&quot;gl-vec3/normalize&quot;:264,&quot;mat4-interpolate&quot;:439}],442:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t){var e=t.length;if(e&lt;3){for(var r=new Array(e),i=0;i&lt;e;++i)r[i]=i;return 2===e&amp;&amp;t[0][0]===t[1][0]&amp;&amp;t[0][1]===t[1][1]?[0]:r}var a=new Array(e);for(i=0;i&lt;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&lt;e;++i){for(var l=a[i],c=t[l],u=o.length;u&gt;1&amp;&amp;n(t[o[u-2]],t[o[u-1]],c)&lt;=0;)u-=1,o.pop();for(o.push(l),u=s.length;u&gt;1&amp;&amp;n(t[s[u-2]],t[s[u-1]],c)&gt;=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&lt;h;++i)r[f++]=o[i];for(var d=s.length-2;d&gt;0;--d)r[f++]=s[d];return r};var n=t(&quot;robust-orientation&quot;)[3]},{&quot;robust-orientation&quot;:515}],443:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t,e){function r(t){var e=!1;return&quot;altKey&quot;in t&amp;&amp;(e=e||t.altKey!==m.alt,m.alt=!!t.altKey),&quot;shiftKey&quot;in t&amp;&amp;(e=e||t.shiftKey!==m.shift,m.shift=!!t.shiftKey),&quot;ctrlKey&quot;in t&amp;&amp;(e=e||t.ctrlKey!==m.control,m.control=!!t.ctrlKey),&quot;metaKey&quot;in t&amp;&amp;(e=e||t.metaKey!==m.meta,m.meta=!!t.metaKey),e}function i(t,i){var a=n.x(i),o=n.y(i);&quot;buttons&quot;in i&amp;&amp;(t=0|i.buttons),(t!==h||a!==d||o!==p||r(i))&amp;&amp;(h=0|t,d=a||0,p=o||0,e&amp;&amp;e(h,d,p,m))}function a(t){i(0,t)}function o(){(h||d||p||m.shift||m.alt||m.meta||m.control)&amp;&amp;(d=p=0,h=0,m.shift=m.alt=m.control=m.meta=!1,e&amp;&amp;e(0,0,0,m))}function s(t){r(t)&amp;&amp;e&amp;&amp;e(h,d,p,m)}function l(t){0===n.buttons(t)?i(0,t):i(h,t)}function c(t){i(h|n.buttons(t),t)}function u(t){i(h&amp;~n.buttons(t),t)}function f(){g||(g=!0,t.addEventListener(&quot;mousemove&quot;,l),t.addEventListener(&quot;mousedown&quot;,c),t.addEventListener(&quot;mouseup&quot;,u),t.addEventListener(&quot;mouseleave&quot;,a),t.addEventListener(&quot;mouseenter&quot;,a),t.addEventListener(&quot;mouseout&quot;,a),t.addEventListener(&quot;mouseover&quot;,a),t.addEventListener(&quot;blur&quot;,o),t.addEventListener(&quot;keyup&quot;,s),t.addEventListener(&quot;keydown&quot;,s),t.addEventListener(&quot;keypress&quot;,s),t!==window&amp;&amp;(window.addEventListener(&quot;blur&quot;,o),window.addEventListener(&quot;keyup&quot;,s),window.addEventListener(&quot;keydown&quot;,s),window.addEventListener(&quot;keypress&quot;,s)))}e||(e=t,t=window);var h=0,d=0,p=0,m={shift:!1,alt:!1,control:!1,meta:!1},g=!1;f();var v={element:t};return Object.defineProperties(v,{enabled:{get:function(){return g},set:function(e){e?f():g&amp;&amp;(g=!1,t.removeEventListener(&quot;mousemove&quot;,l),t.removeEventListener(&quot;mousedown&quot;,c),t.removeEventListener(&quot;mouseup&quot;,u),t.removeEventListener(&quot;mouseleave&quot;,a),t.removeEventListener(&quot;mouseenter&quot;,a),t.removeEventListener(&quot;mouseout&quot;,a),t.removeEventListener(&quot;mouseover&quot;,a),t.removeEventListener(&quot;blur&quot;,o),t.removeEventListener(&quot;keyup&quot;,s),t.removeEventListener(&quot;keydown&quot;,s),t.removeEventListener(&quot;keypress&quot;,s),t!==window&amp;&amp;(window.removeEventListener(&quot;blur&quot;,o),window.removeEventListener(&quot;keyup&quot;,s),window.removeEventListener(&quot;keydown&quot;,s),window.removeEventListener(&quot;keypress&quot;,s)))},enumerable:!0},buttons:{get:function(){return h},enumerable:!0},x:{get:function(){return d},enumerable:!0},y:{get:function(){return p},enumerable:!0},mods:{get:function(){return m},enumerable:!0}}),v};var n=t(&quot;mouse-event&quot;)},{&quot;mouse-event&quot;:445}],444:[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=function(t){return t===window||t===document||t===document.body?n:t.getBoundingClientRect()}(e);return r[0]=i-o.left,r[1]=a-o.top,r}},{}],445:[function(t,e,r){&quot;use strict&quot;;function n(t){return t.target||t.srcElement||window}r.buttons=function(t){if(&quot;object&quot;==typeof t){if(&quot;buttons&quot;in t)return t.buttons;if(&quot;which&quot;in t){if(2===(e=t.which))return 4;if(3===e)return 2;if(e&gt;0)return 1&lt;&lt;e-1}else if(&quot;button&quot;in t){var e;if(1===(e=t.button))return 4;if(2===e)return 2;if(e&gt;=0)return 1&lt;&lt;e}}return 0},r.element=n,r.x=function(t){if(&quot;object&quot;==typeof t){if(&quot;offsetX&quot;in t)return t.offsetX;var e=n(t).getBoundingClientRect();return t.clientX-e.left}return 0},r.y=function(t){if(&quot;object&quot;==typeof t){if(&quot;offsetY&quot;in t)return t.offsetY;var e=n(t).getBoundingClientRect();return t.clientY-e.top}return 0}},{}],446:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;to-px&quot;);e.exports=function(t,e,r){&quot;function&quot;==typeof t&amp;&amp;(r=!!e,e=t,t=window);var i=n(&quot;ex&quot;,t),a=function(t){r&amp;&amp;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(n*=s,a*=s,o*=s,n||a||o)return e(n,a,o,t)};return t.addEventListener(&quot;wheel&quot;,a),a}},{&quot;to-px&quot;:548}],447:[function(t,e,r){&quot;use strict&quot;;function n(t){return&quot;a&quot;+t}function i(t){return&quot;d&quot;+t}function a(t,e){return&quot;c&quot;+t+&quot;_&quot;+e}function o(t){return&quot;s&quot;+t}function s(t,e){return&quot;t&quot;+t+&quot;_&quot;+e}function l(t){return&quot;o&quot;+t}function c(t){return&quot;x&quot;+t}function u(t){return&quot;p&quot;+t}function f(t,e){return&quot;d&quot;+t+&quot;_&quot;+e}function h(t){return&quot;i&quot;+t}function d(t,e){return&quot;u&quot;+t+&quot;_&quot;+e}function p(t){return&quot;b&quot;+t}function m(t){return&quot;y&quot;+t}function g(t){return&quot;e&quot;+t}function v(t){return&quot;v&quot;+t}function y(t,e,r){for(var n=0,i=0;i&lt;t;++i)e&amp;1&lt;&lt;i&amp;&amp;(n|=1&lt;&lt;r[i]);return n}function x(t,e,r,x,S,E){function L(t,e){F.push(&quot;for(&quot;,h(S[t]),&quot;=&quot;,e,&quot;;&quot;,h(S[t]),&quot;&lt;&quot;,o(S[t]),&quot;;&quot;,&quot;++&quot;,h(S[t]),&quot;){&quot;)}function C(t){for(var e=0;e&lt;I;++e)F.push(u(e),&quot;+=&quot;,d(e,S[t]),&quot;;&quot;);F.push(&quot;}&quot;)}function z(){for(var t=1;t&lt;1&lt;&lt;P;++t)F.push(T,&quot;=&quot;,g(t),&quot;;&quot;,g(t),&quot;=&quot;,m(t),&quot;;&quot;,m(t),&quot;=&quot;,T,&quot;;&quot;)}function D(t,e){if(t&lt;0)!function(t){for(var e=0;e&lt;I;++e)E[e]?F.push(a(e,0),&quot;=&quot;,i(e),&quot;.get(&quot;,u(e),&quot;);&quot;):F.push(a(e,0),&quot;=&quot;,i(e),&quot;[&quot;,u(e),&quot;];&quot;);var r=[];for(e=0;e&lt;I;++e)r.push(a(e,0));for(e=0;e&lt;x;++e)r.push(c(e));F.push(p(0),&quot;=&quot;,w,&quot;[&quot;,A,&quot;]=phase(&quot;,r.join(),&quot;);&quot;);for(var n=1;n&lt;1&lt;&lt;P;++n)F.push(p(n),&quot;=&quot;,w,&quot;[&quot;,A,&quot;+&quot;,g(n),&quot;];&quot;);var o=[];for(n=1;n&lt;1&lt;&lt;P;++n)o.push(&quot;(&quot;+p(0)+&quot;!==&quot;+p(n)+&quot;)&quot;);F.push(&quot;if(&quot;,o.join(&quot;||&quot;),&quot;){&quot;);var s=[];for(e=0;e&lt;P;++e)s.push(h(e));for(e=0;e&lt;I;++e)for(s.push(a(e,0)),n=1;n&lt;1&lt;&lt;P;++n)E[e]?F.push(a(e,n),&quot;=&quot;,i(e),&quot;.get(&quot;,u(e),&quot;+&quot;,f(e,n),&quot;);&quot;):F.push(a(e,n),&quot;=&quot;,i(e),&quot;[&quot;,u(e),&quot;+&quot;,f(e,n),&quot;];&quot;),s.push(a(e,n));for(e=0;e&lt;1&lt;&lt;P;++e)s.push(p(e));for(e=0;e&lt;x;++e)s.push(c(e));F.push(&quot;vertex(&quot;,s.join(),&quot;);&quot;,v(0),&quot;=&quot;,_,&quot;[&quot;,A,&quot;]=&quot;,M,&quot;++;&quot;);var l=(1&lt;&lt;P)-1,d=p(l);for(n=0;n&lt;P;++n)if(0==(t&amp;~(1&lt;&lt;n))){for(var m=l^1&lt;&lt;n,y=p(m),b=[],k=m;k&gt;0;k=k-1&amp;m)b.push(_+&quot;[&quot;+A+&quot;+&quot;+g(k)+&quot;]&quot;);for(b.push(v(0)),k=0;k&lt;I;++k)1&amp;n?b.push(a(k,l),a(k,m)):b.push(a(k,m),a(k,l));for(1&amp;n?b.push(d,y):b.push(y,d),k=0;k&lt;x;++k)b.push(c(k));F.push(&quot;if(&quot;,d,&quot;!==&quot;,y,&quot;){&quot;,&quot;face(&quot;,b.join(),&quot;)}&quot;)}F.push(&quot;}&quot;,A,&quot;+=1;&quot;)}(e);else{!function(t){for(var e=t-1;e&gt;=0;--e)L(e,0);var r=[];for(e=0;e&lt;I;++e)E[e]?r.push(i(e)+&quot;.get(&quot;+u(e)+&quot;)&quot;):r.push(i(e)+&quot;[&quot;+u(e)+&quot;]&quot;);for(e=0;e&lt;x;++e)r.push(c(e));for(F.push(w,&quot;[&quot;,A,&quot;++]=phase(&quot;,r.join(),&quot;);&quot;),e=0;e&lt;t;++e)C(e);for(var n=0;n&lt;I;++n)F.push(u(n),&quot;+=&quot;,d(n,S[t]),&quot;;&quot;)}(t),F.push(&quot;if(&quot;,o(S[t]),&quot;&gt;0){&quot;,h(S[t]),&quot;=1;&quot;),D(t-1,e|1&lt;&lt;S[t]);for(var r=0;r&lt;I;++r)F.push(u(r),&quot;+=&quot;,d(r,S[t]),&quot;;&quot;);t===P-1&amp;&amp;(F.push(A,&quot;=0;&quot;),z()),L(t,2),D(t-1,e),t===P-1&amp;&amp;(F.push(&quot;if(&quot;,h(S[P-1]),&quot;&amp;1){&quot;,A,&quot;=0;}&quot;),z()),C(t),F.push(&quot;}&quot;)}}var I=E.length,P=S.length;if(P&lt;2)throw new Error(&quot;ndarray-extract-contour: Dimension must be at least 2&quot;);for(var O=&quot;extractContour&quot;+S.join(&quot;_&quot;),F=[],R=[],N=[],j=0;j&lt;I;++j)N.push(n(j));for(j=0;j&lt;x;++j)N.push(c(j));for(j=0;j&lt;P;++j)R.push(o(j)+&quot;=&quot;+n(0)+&quot;.shape[&quot;+j+&quot;]|0&quot;);for(j=0;j&lt;I;++j){R.push(i(j)+&quot;=&quot;+n(j)+&quot;.data&quot;,l(j)+&quot;=&quot;+n(j)+&quot;.offset|0&quot;);for(var B=0;B&lt;P;++B)R.push(s(j,B)+&quot;=&quot;+n(j)+&quot;.stride[&quot;+B+&quot;]|0&quot;)}for(j=0;j&lt;I;++j){R.push(u(j)+&quot;=&quot;+l(j)),R.push(a(j,0));for(B=1;B&lt;1&lt;&lt;P;++B){for(var U=[],V=0;V&lt;P;++V)B&amp;1&lt;&lt;V&amp;&amp;U.push(&quot;-&quot;+s(j,V));R.push(f(j,B)+&quot;=(&quot;+U.join(&quot;&quot;)+&quot;)|0&quot;),R.push(a(j,B)+&quot;=0&quot;)}}for(j=0;j&lt;I;++j)for(B=0;B&lt;P;++B){var q=[s(j,S[B])];B&gt;0&amp;&amp;q.push(s(j,S[B-1])+&quot;*&quot;+o(S[B-1])),R.push(d(j,S[B])+&quot;=(&quot;+q.join(&quot;-&quot;)+&quot;)|0&quot;)}for(j=0;j&lt;P;++j)R.push(h(j)+&quot;=0&quot;);R.push(M+&quot;=0&quot;);var H=[&quot;2&quot;];for(j=P-2;j&gt;=0;--j)H.push(o(S[j]));R.push(k+&quot;=(&quot;+H.join(&quot;*&quot;)+&quot;)|0&quot;,w+&quot;=mallocUint32(&quot;+k+&quot;)&quot;,_+&quot;=mallocUint32(&quot;+k+&quot;)&quot;,A+&quot;=0&quot;),R.push(p(0)+&quot;=0&quot;);for(B=1;B&lt;1&lt;&lt;P;++B){var G=[],Y=[];for(V=0;V&lt;P;++V)B&amp;1&lt;&lt;V&amp;&amp;(0===Y.length?G.push(&quot;1&quot;):G.unshift(Y.join(&quot;*&quot;))),Y.push(o(S[V]));var W=&quot;&quot;;G[0].indexOf(o(S[P-2]))&lt;0&amp;&amp;(W=&quot;-&quot;);var X=y(P,B,S);R.push(g(X)+&quot;=(-&quot;+G.join(&quot;-&quot;)+&quot;)|0&quot;,m(X)+&quot;=(&quot;+W+G.join(&quot;-&quot;)+&quot;)|0&quot;,p(X)+&quot;=0&quot;)}R.push(v(0)+&quot;=0&quot;,T+&quot;=0&quot;),D(P-1,0),F.push(&quot;freeUint32(&quot;,_,&quot;);freeUint32(&quot;,w,&quot;);&quot;);var Z=[&quot;'use strict';&quot;,&quot;function &quot;,O,&quot;(&quot;,N.join(),&quot;){&quot;,&quot;var &quot;,R.join(),&quot;;&quot;,F.join(&quot;&quot;),&quot;}&quot;,&quot;return &quot;,O].join(&quot;&quot;);return new Function(&quot;vertex&quot;,&quot;face&quot;,&quot;phase&quot;,&quot;mallocUint32&quot;,&quot;freeUint32&quot;,Z)(t,e,r,b.mallocUint32,b.freeUint32)}var b=t(&quot;typedarray-pool&quot;);e.exports=function(t){function e(t){throw new Error(&quot;ndarray-extract-contour: &quot;+t)}&quot;object&quot;!=typeof t&amp;&amp;e(&quot;Must specify arguments&quot;);var r=t.order;Array.isArray(r)||e(&quot;Must specify order&quot;);var n=t.arrayArguments||1;n&lt;1&amp;&amp;e(&quot;Must have at least one array argument&quot;);var i=t.scalarArguments||0;i&lt;0&amp;&amp;e(&quot;Scalar arg count must be &gt; 0&quot;),&quot;function&quot;!=typeof t.vertex&amp;&amp;e(&quot;Must specify vertex creation function&quot;),&quot;function&quot;!=typeof t.cell&amp;&amp;e(&quot;Must specify cell creation function&quot;),&quot;function&quot;!=typeof t.phase&amp;&amp;e(&quot;Must specify phase function&quot;);for(var a=t.getters||[],o=new Array(n),s=0;s&lt;n;++s)a.indexOf(s)&gt;=0?o[s]=!0:o[s]=!1;return x(t.vertex,t.cell,t.phase,i,r,o)};var _=&quot;V&quot;,w=&quot;P&quot;,M=&quot;N&quot;,k=&quot;Q&quot;,A=&quot;X&quot;,T=&quot;T&quot;},{&quot;typedarray-pool&quot;:554}],448:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;cwise/lib/wrapper&quot;)({args:[&quot;index&quot;,&quot;array&quot;,&quot;scalar&quot;],pre:{body:&quot;{}&quot;,args:[],thisVars:[],localVars:[]},body:{body:&quot;{_inline_1_arg1_=_inline_1_arg2_.apply(void 0,_inline_1_arg0_)}&quot;,args:[{name:&quot;_inline_1_arg0_&quot;,lvalue:!1,rvalue:!0,count:1},{name:&quot;_inline_1_arg1_&quot;,lvalue:!0,rvalue:!1,count:1},{name:&quot;_inline_1_arg2_&quot;,lvalue:!1,rvalue:!0,count:1}],thisVars:[],localVars:[]},post:{body:&quot;{}&quot;,args:[],thisVars:[],localVars:[]},debug:!1,funcName:&quot;cwise&quot;,blockSize:64});e.exports=function(t,e){return n(t,e),t}},{&quot;cwise/lib/wrapper&quot;:119}],449:[function(t,e,r){&quot;use strict&quot;;function n(t){if(t in o)return o[t];for(var e=[],r=0;r&lt;t;++r)e.push(&quot;out&quot;,r,&quot;s=0.5*(inp&quot;,r,&quot;l-inp&quot;,r,&quot;r);&quot;);var n=[&quot;array&quot;],s=[&quot;junk&quot;];for(r=0;r&lt;t;++r){n.push(&quot;array&quot;),s.push(&quot;out&quot;+r+&quot;s&quot;);var c=i(t);c[r]=-1,n.push({array:0,offset:c.slice()}),c[r]=1,n.push({array:0,offset:c.slice()}),s.push(&quot;inp&quot;+r+&quot;l&quot;,&quot;inp&quot;+r+&quot;r&quot;)}return o[t]=a({args:n,pre:l,post:l,body:{body:e.join(&quot;&quot;),args:s.map(function(t){return{name:t,lvalue:0===t.indexOf(&quot;out&quot;),rvalue:0===t.indexOf(&quot;inp&quot;),count:&quot;junk&quot;!==t|0}}),thisVars:[],localVars:[]},funcName:&quot;fdTemplate&quot;+t})}e.exports=function(t,e,r){if(Array.isArray(r)){if(r.length!==e.dimension)throw new Error(&quot;ndarray-gradient: invalid boundary conditions&quot;)}else r=&quot;string&quot;==typeof r?i(e.dimension,r):i(e.dimension,&quot;clamp&quot;);if(t.dimension!==e.dimension+1)throw new Error(&quot;ndarray-gradient: output dimension must be +1 input dimension&quot;);if(t.shape[e.dimension]!==e.dimension)throw new Error(&quot;ndarray-gradient: output shape must match input shape&quot;);for(var a=0;a&lt;e.dimension;++a)if(t.shape[a]!==e.shape[a])throw new Error(&quot;ndarray-gradient: shape mismatch&quot;);return 0===e.size?t:e.dimension&lt;=0?(t.set(0),t):function(t){function e(e){for(var r=i-e.length,n=[],o=[],s=[],l=0;l&lt;i;++l)e.indexOf(l+1)&gt;=0?s.push(&quot;0&quot;):e.indexOf(-(l+1))&gt;=0?s.push(&quot;s[&quot;+l+&quot;]-1&quot;):(s.push(&quot;-1&quot;),n.push(&quot;1&quot;),o.push(&quot;s[&quot;+l+&quot;]-2&quot;));var c=&quot;.lo(&quot;+n.join()+&quot;).hi(&quot;+o.join()+&quot;)&quot;;if(0===n.length&amp;&amp;(c=&quot;&quot;),r&gt;0){for(a.push(&quot;if(1&quot;),l=0;l&lt;i;++l)e.indexOf(l+1)&gt;=0||e.indexOf(-(l+1))&gt;=0||a.push(&quot;&amp;&amp;s[&quot;,l,&quot;]&gt;2&quot;);for(a.push(&quot;){grad&quot;,r,&quot;(src.pick(&quot;,s.join(),&quot;)&quot;,c),l=0;l&lt;i;++l)e.indexOf(l+1)&gt;=0||e.indexOf(-(l+1))&gt;=0||a.push(&quot;,dst.pick(&quot;,s.join(),&quot;,&quot;,l,&quot;)&quot;,c);a.push(&quot;);&quot;)}for(l=0;l&lt;e.length;++l){var u=Math.abs(e[l])-1,f=&quot;dst.pick(&quot;+s.join()+&quot;,&quot;+u+&quot;)&quot;+c;switch(t[u]){case&quot;clamp&quot;:var h=s.slice(),d=s.slice();e[l]&lt;0?h[u]=&quot;s[&quot;+u+&quot;]-2&quot;:d[u]=&quot;1&quot;,0===r?a.push(&quot;if(s[&quot;,u,&quot;]&gt;1){dst.set(&quot;,s.join(),&quot;,&quot;,u,&quot;,0.5*(src.get(&quot;,h.join(),&quot;)-src.get(&quot;,d.join(),&quot;)))}else{dst.set(&quot;,s.join(),&quot;,&quot;,u,&quot;,0)};&quot;):a.push(&quot;if(s[&quot;,u,&quot;]&gt;1){diff(&quot;,f,&quot;,src.pick(&quot;,h.join(),&quot;)&quot;,c,&quot;,src.pick(&quot;,d.join(),&quot;)&quot;,c,&quot;);}else{zero(&quot;,f,&quot;);};&quot;);break;case&quot;mirror&quot;:0===r?a.push(&quot;dst.set(&quot;,s.join(),&quot;,&quot;,u,&quot;,0);&quot;):a.push(&quot;zero(&quot;,f,&quot;);&quot;);break;case&quot;wrap&quot;:var p=s.slice(),m=s.slice();e[l]&lt;0?(p[u]=&quot;s[&quot;+u+&quot;]-2&quot;,m[u]=&quot;0&quot;):(p[u]=&quot;s[&quot;+u+&quot;]-1&quot;,m[u]=&quot;1&quot;),0===r?a.push(&quot;if(s[&quot;,u,&quot;]&gt;2){dst.set(&quot;,s.join(),&quot;,&quot;,u,&quot;,0.5*(src.get(&quot;,p.join(),&quot;)-src.get(&quot;,m.join(),&quot;)))}else{dst.set(&quot;,s.join(),&quot;,&quot;,u,&quot;,0)};&quot;):a.push(&quot;if(s[&quot;,u,&quot;]&gt;2){diff(&quot;,f,&quot;,src.pick(&quot;,p.join(),&quot;)&quot;,c,&quot;,src.pick(&quot;,m.join(),&quot;)&quot;,c,&quot;);}else{zero(&quot;,f,&quot;);};&quot;);break;default:throw new Error(&quot;ndarray-gradient: Invalid boundary condition&quot;)}}r&gt;0&amp;&amp;a.push(&quot;};&quot;)}var r=t.join();if(v=s[r])return v;for(var i=t.length,a=[&quot;function gradient(dst,src){var s=src.shape.slice();&quot;],l=0;l&lt;1&lt;&lt;i;++l){for(var f=[],h=0;h&lt;i;++h)l&amp;1&lt;&lt;h&amp;&amp;f.push(h+1);for(var d=0;d&lt;1&lt;&lt;f.length;++d){var p=f.slice();for(h=0;h&lt;f.length;++h)d&amp;1&lt;&lt;h&amp;&amp;(p[h]=-p[h]);e(p)}}a.push(&quot;return dst;};return gradient&quot;);var m=[&quot;diff&quot;,&quot;zero&quot;],g=[c,u];for(l=1;l&lt;=i;++l)m.push(&quot;grad&quot;+l),g.push(n(l));m.push(a.join(&quot;&quot;));var v=Function.apply(void 0,m).apply(void 0,g);return o[r]=v,v}(r)(t,e)};var i=t(&quot;dup&quot;),a=t(&quot;cwise-compiler&quot;),o={},s={},l={body:&quot;&quot;,args:[],thisVars:[],localVars:[]},c=a({args:[&quot;array&quot;,&quot;array&quot;,&quot;array&quot;],pre:l,post:l,body:{args:[{name:&quot;out&quot;,lvalue:!0,rvalue:!1,count:1},{name:&quot;left&quot;,lvalue:!1,rvalue:!0,count:1},{name:&quot;right&quot;,lvalue:!1,rvalue:!0,count:1}],body:&quot;out=0.5*(left-right)&quot;,thisVars:[],localVars:[]},funcName:&quot;cdiff&quot;}),u=a({args:[&quot;array&quot;],pre:l,post:l,body:{args:[{name:&quot;out&quot;,lvalue:!0,rvalue:!1,count:1}],body:&quot;out=0&quot;,thisVars:[],localVars:[]},funcName:&quot;zero&quot;})},{&quot;cwise-compiler&quot;:116,dup:134}],450:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;ndarray-warp&quot;),i=t(&quot;gl-matrix-invert&quot;);e.exports=function(t,e,r){var a=e.dimension,o=i([],r);return n(t,e,function(t,e){for(var r=0;r&lt;a;++r){t[r]=o[(a+1)*a+r];for(var n=0;n&lt;a;++n)t[r]+=o[(a+1)*n+r]*e[n]}var i=o[(a+1)*(a+1)-1];for(n=0;n&lt;a;++n)i+=o[(a+1)*n+a]*e[n];var s=1/i;for(r=0;r&lt;a;++r)t[r]*=s;return t}),t}},{&quot;gl-matrix-invert&quot;:197,&quot;ndarray-warp&quot;:457}],451:[function(t,e,r){&quot;use strict&quot;;function n(t,e){var r=Math.floor(e),n=e-r,i=0&lt;=r&amp;&amp;r&lt;t.shape[0],a=0&lt;=r+1&amp;&amp;r+1&lt;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&lt;=n&amp;&amp;n&lt;t.shape[0],o=0&lt;=n+1&amp;&amp;n+1&lt;t.shape[0],s=Math.floor(r),l=r-s,c=0&lt;=s&amp;&amp;s&lt;t.shape[1],u=0&lt;=s+1&amp;&amp;s+1&lt;t.shape[1],f=a&amp;&amp;c?t.get(n,s):0,h=a&amp;&amp;u?t.get(n,s+1):0;return(1-l)*((1-i)*f+i*(o&amp;&amp;c?t.get(n+1,s):0))+l*((1-i)*h+i*(o&amp;&amp;u?t.get(n+1,s+1):0))}function a(t,e,r,n){var i=Math.floor(e),a=e-i,o=0&lt;=i&amp;&amp;i&lt;t.shape[0],s=0&lt;=i+1&amp;&amp;i+1&lt;t.shape[0],l=Math.floor(r),c=r-l,u=0&lt;=l&amp;&amp;l&lt;t.shape[1],f=0&lt;=l+1&amp;&amp;l+1&lt;t.shape[1],h=Math.floor(n),d=n-h,p=0&lt;=h&amp;&amp;h&lt;t.shape[2],m=0&lt;=h+1&amp;&amp;h+1&lt;t.shape[2],g=o&amp;&amp;u&amp;&amp;p?t.get(i,l,h):0,v=o&amp;&amp;f&amp;&amp;p?t.get(i,l+1,h):0,y=s&amp;&amp;u&amp;&amp;p?t.get(i+1,l,h):0,x=s&amp;&amp;f&amp;&amp;p?t.get(i+1,l+1,h):0,b=o&amp;&amp;u&amp;&amp;m?t.get(i,l,h+1):0,_=o&amp;&amp;f&amp;&amp;m?t.get(i,l+1,h+1):0;return(1-d)*((1-c)*((1-a)*g+a*y)+c*((1-a)*v+a*x))+d*((1-c)*((1-a)*b+a*(s&amp;&amp;u&amp;&amp;m?t.get(i+1,l,h+1):0))+c*((1-a)*_+a*(s&amp;&amp;f&amp;&amp;m?t.get(i+1,l+1,h+1):0)))}e.exports=function(t,e,r,o){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,o);default:return function(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&lt;n;++e)r=+arguments[e+1],i[e]=Math.floor(r),a[e]=r-i[e],o[e]=0&lt;=i[e]&amp;&amp;i[e]&lt;t.shape[e],s[e]=0&lt;=i[e]+1&amp;&amp;i[e]+1&lt;t.shape[e];var l,c,u,f=0;t:for(e=0;e&lt;1&lt;&lt;n;++e){for(c=1,u=t.offset,l=0;l&lt;n;++l)if(e&amp;1&lt;&lt;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}.apply(void 0,arguments)}},e.exports.d1=n,e.exports.d2=i,e.exports.d3=a},{}],452:[function(t,e,r){&quot;use strict&quot;;function n(t){if(!t)return o;for(var e=0;e&lt;t.args.length;++e){var r=t.args[e];t.args[e]=0===e?{name:r,lvalue:!0,rvalue:!!t.rvalue,count:t.count||1}:{name:r,lvalue:!1,rvalue:!0,count:1}}return t.thisVars||(t.thisVars=[]),t.localVars||(t.localVars=[]),t}function i(t){for(var e=[],r=0;r&lt;t.args.length;++r)e.push(&quot;a&quot;+r);return new Function(&quot;P&quot;,[&quot;return function &quot;,t.funcName,&quot;_ndarrayops(&quot;,e.join(&quot;,&quot;),&quot;) {P(&quot;,e.join(&quot;,&quot;),&quot;);return a0}&quot;].join(&quot;&quot;))(function(t){return a({args:t.args,pre:n(t.pre),body:n(t.body),post:n(t.proc),funcName:t.funcName})}(t))}var a=t(&quot;cwise-compiler&quot;),o={body:&quot;&quot;,args:[],thisVars:[],localVars:[]},s={add:&quot;+&quot;,sub:&quot;-&quot;,mul:&quot;*&quot;,div:&quot;/&quot;,mod:&quot;%&quot;,band:&quot;&amp;&quot;,bor:&quot;|&quot;,bxor:&quot;^&quot;,lshift:&quot;&lt;&lt;&quot;,rshift:&quot;&gt;&gt;&quot;,rrshift:&quot;&gt;&gt;&gt;&quot;};!function(){for(var t in s){var e=s[t];r[t]=i({args:[&quot;array&quot;,&quot;array&quot;,&quot;array&quot;],body:{args:[&quot;a&quot;,&quot;b&quot;,&quot;c&quot;],body:&quot;a=b&quot;+e+&quot;c&quot;},funcName:t}),r[t+&quot;eq&quot;]=i({args:[&quot;array&quot;,&quot;array&quot;],body:{args:[&quot;a&quot;,&quot;b&quot;],body:&quot;a&quot;+e+&quot;=b&quot;},rvalue:!0,funcName:t+&quot;eq&quot;}),r[t+&quot;s&quot;]=i({args:[&quot;array&quot;,&quot;array&quot;,&quot;scalar&quot;],body:{args:[&quot;a&quot;,&quot;b&quot;,&quot;s&quot;],body:&quot;a=b&quot;+e+&quot;s&quot;},funcName:t+&quot;s&quot;}),r[t+&quot;seq&quot;]=i({args:[&quot;array&quot;,&quot;scalar&quot;],body:{args:[&quot;a&quot;,&quot;s&quot;],body:&quot;a&quot;+e+&quot;=s&quot;},rvalue:!0,funcName:t+&quot;seq&quot;})}}();var l={not:&quot;!&quot;,bnot:&quot;~&quot;,neg:&quot;-&quot;,recip:&quot;1.0/&quot;};!function(){for(var t in l){var e=l[t];r[t]=i({args:[&quot;array&quot;,&quot;array&quot;],body:{args:[&quot;a&quot;,&quot;b&quot;],body:&quot;a=&quot;+e+&quot;b&quot;},funcName:t}),r[t+&quot;eq&quot;]=i({args:[&quot;array&quot;],body:{args:[&quot;a&quot;],body:&quot;a=&quot;+e+&quot;a&quot;},rvalue:!0,count:2,funcName:t+&quot;eq&quot;})}}();var c={and:&quot;&amp;&amp;&quot;,or:&quot;||&quot;,eq:&quot;===&quot;,neq:&quot;!==&quot;,lt:&quot;&lt;&quot;,gt:&quot;&gt;&quot;,leq:&quot;&lt;=&quot;,geq:&quot;&gt;=&quot;};!function(){for(var t in c){var e=c[t];r[t]=i({args:[&quot;array&quot;,&quot;array&quot;,&quot;array&quot;],body:{args:[&quot;a&quot;,&quot;b&quot;,&quot;c&quot;],body:&quot;a=b&quot;+e+&quot;c&quot;},funcName:t}),r[t+&quot;s&quot;]=i({args:[&quot;array&quot;,&quot;array&quot;,&quot;scalar&quot;],body:{args:[&quot;a&quot;,&quot;b&quot;,&quot;s&quot;],body:&quot;a=b&quot;+e+&quot;s&quot;},funcName:t+&quot;s&quot;}),r[t+&quot;eq&quot;]=i({args:[&quot;array&quot;,&quot;array&quot;],body:{args:[&quot;a&quot;,&quot;b&quot;],body:&quot;a=a&quot;+e+&quot;b&quot;},rvalue:!0,count:2,funcName:t+&quot;eq&quot;}),r[t+&quot;seq&quot;]=i({args:[&quot;array&quot;,&quot;scalar&quot;],body:{args:[&quot;a&quot;,&quot;s&quot;],body:&quot;a=a&quot;+e+&quot;s&quot;},rvalue:!0,count:2,funcName:t+&quot;seq&quot;})}}();var u=[&quot;abs&quot;,&quot;acos&quot;,&quot;asin&quot;,&quot;atan&quot;,&quot;ceil&quot;,&quot;cos&quot;,&quot;exp&quot;,&quot;floor&quot;,&quot;log&quot;,&quot;round&quot;,&quot;sin&quot;,&quot;sqrt&quot;,&quot;tan&quot;];!function(){for(var t=0;t&lt;u.length;++t){var e=u[t];r[e]=i({args:[&quot;array&quot;,&quot;array&quot;],pre:{args:[],body:&quot;this_f=Math.&quot;+e,thisVars:[&quot;this_f&quot;]},body:{args:[&quot;a&quot;,&quot;b&quot;],body:&quot;a=this_f(b)&quot;,thisVars:[&quot;this_f&quot;]},funcName:e}),r[e+&quot;eq&quot;]=i({args:[&quot;array&quot;],pre:{args:[],body:&quot;this_f=Math.&quot;+e,thisVars:[&quot;this_f&quot;]},body:{args:[&quot;a&quot;],body:&quot;a=this_f(a)&quot;,thisVars:[&quot;this_f&quot;]},rvalue:!0,count:2,funcName:e+&quot;eq&quot;})}}();var f=[&quot;max&quot;,&quot;min&quot;,&quot;atan2&quot;,&quot;pow&quot;];!function(){for(var t=0;t&lt;f.length;++t){var e=f[t];r[e]=i({args:[&quot;array&quot;,&quot;array&quot;,&quot;array&quot;],pre:{args:[],body:&quot;this_f=Math.&quot;+e,thisVars:[&quot;this_f&quot;]},body:{args:[&quot;a&quot;,&quot;b&quot;,&quot;c&quot;],body:&quot;a=this_f(b,c)&quot;,thisVars:[&quot;this_f&quot;]},funcName:e}),r[e+&quot;s&quot;]=i({args:[&quot;array&quot;,&quot;array&quot;,&quot;scalar&quot;],pre:{args:[],body:&quot;this_f=Math.&quot;+e,thisVars:[&quot;this_f&quot;]},body:{args:[&quot;a&quot;,&quot;b&quot;,&quot;c&quot;],body:&quot;a=this_f(b,c)&quot;,thisVars:[&quot;this_f&quot;]},funcName:e+&quot;s&quot;}),r[e+&quot;eq&quot;]=i({args:[&quot;array&quot;,&quot;array&quot;],pre:{args:[],body:&quot;this_f=Math.&quot;+e,thisVars:[&quot;this_f&quot;]},body:{args:[&quot;a&quot;,&quot;b&quot;],body:&quot;a=this_f(a,b)&quot;,thisVars:[&quot;this_f&quot;]},rvalue:!0,count:2,funcName:e+&quot;eq&quot;}),r[e+&quot;seq&quot;]=i({args:[&quot;array&quot;,&quot;scalar&quot;],pre:{args:[],body:&quot;this_f=Math.&quot;+e,thisVars:[&quot;this_f&quot;]},body:{args:[&quot;a&quot;,&quot;b&quot;],body:&quot;a=this_f(a,b)&quot;,thisVars:[&quot;this_f&quot;]},rvalue:!0,count:2,funcName:e+&quot;seq&quot;})}}();var h=[&quot;atan2&quot;,&quot;pow&quot;];!function(){for(var t=0;t&lt;h.length;++t){var e=h[t];r[e+&quot;op&quot;]=i({args:[&quot;array&quot;,&quot;array&quot;,&quot;array&quot;],pre:{args:[],body:&quot;this_f=Math.&quot;+e,thisVars:[&quot;this_f&quot;]},body:{args:[&quot;a&quot;,&quot;b&quot;,&quot;c&quot;],body:&quot;a=this_f(c,b)&quot;,thisVars:[&quot;this_f&quot;]},funcName:e+&quot;op&quot;}),r[e+&quot;ops&quot;]=i({args:[&quot;array&quot;,&quot;array&quot;,&quot;scalar&quot;],pre:{args:[],body:&quot;this_f=Math.&quot;+e,thisVars:[&quot;this_f&quot;]},body:{args:[&quot;a&quot;,&quot;b&quot;,&quot;c&quot;],body:&quot;a=this_f(c,b)&quot;,thisVars:[&quot;this_f&quot;]},funcName:e+&quot;ops&quot;}),r[e+&quot;opeq&quot;]=i({args:[&quot;array&quot;,&quot;array&quot;],pre:{args:[],body:&quot;this_f=Math.&quot;+e,thisVars:[&quot;this_f&quot;]},body:{args:[&quot;a&quot;,&quot;b&quot;],body:&quot;a=this_f(b,a)&quot;,thisVars:[&quot;this_f&quot;]},rvalue:!0,count:2,funcName:e+&quot;opeq&quot;}),r[e+&quot;opseq&quot;]=i({args:[&quot;array&quot;,&quot;scalar&quot;],pre:{args:[],body:&quot;this_f=Math.&quot;+e,thisVars:[&quot;this_f&quot;]},body:{args:[&quot;a&quot;,&quot;b&quot;],body:&quot;a=this_f(b,a)&quot;,thisVars:[&quot;this_f&quot;]},rvalue:!0,count:2,funcName:e+&quot;opseq&quot;})}}(),r.any=a({args:[&quot;array&quot;],pre:o,body:{args:[{name:&quot;a&quot;,lvalue:!1,rvalue:!0,count:1}],body:&quot;if(a){return true}&quot;,localVars:[],thisVars:[]},post:{args:[],localVars:[],thisVars:[],body:&quot;return false&quot;},funcName:&quot;any&quot;}),r.all=a({args:[&quot;array&quot;],pre:o,body:{args:[{name:&quot;x&quot;,lvalue:!1,rvalue:!0,count:1}],body:&quot;if(!x){return false}&quot;,localVars:[],thisVars:[]},post:{args:[],localVars:[],thisVars:[],body:&quot;return true&quot;},funcName:&quot;all&quot;}),r.sum=a({args:[&quot;array&quot;],pre:{args:[],localVars:[],thisVars:[&quot;this_s&quot;],body:&quot;this_s=0&quot;},body:{args:[{name:&quot;a&quot;,lvalue:!1,rvalue:!0,count:1}],body:&quot;this_s+=a&quot;,localVars:[],thisVars:[&quot;this_s&quot;]},post:{args:[],localVars:[],thisVars:[&quot;this_s&quot;],body:&quot;return this_s&quot;},funcName:&quot;sum&quot;}),r.prod=a({args:[&quot;array&quot;],pre:{args:[],localVars:[],thisVars:[&quot;this_s&quot;],body:&quot;this_s=1&quot;},body:{args:[{name:&quot;a&quot;,lvalue:!1,rvalue:!0,count:1}],body:&quot;this_s*=a&quot;,localVars:[],thisVars:[&quot;this_s&quot;]},post:{args:[],localVars:[],thisVars:[&quot;this_s&quot;],body:&quot;return this_s&quot;},funcName:&quot;prod&quot;}),r.norm2squared=a({args:[&quot;array&quot;],pre:{args:[],localVars:[],thisVars:[&quot;this_s&quot;],body:&quot;this_s=0&quot;},body:{args:[{name:&quot;a&quot;,lvalue:!1,rvalue:!0,count:2}],body:&quot;this_s+=a*a&quot;,localVars:[],thisVars:[&quot;this_s&quot;]},post:{args:[],localVars:[],thisVars:[&quot;this_s&quot;],body:&quot;return this_s&quot;},funcName:&quot;norm2squared&quot;}),r.norm2=a({args:[&quot;array&quot;],pre:{args:[],localVars:[],thisVars:[&quot;this_s&quot;],body:&quot;this_s=0&quot;},body:{args:[{name:&quot;a&quot;,lvalue:!1,rvalue:!0,count:2}],body:&quot;this_s+=a*a&quot;,localVars:[],thisVars:[&quot;this_s&quot;]},post:{args:[],localVars:[],thisVars:[&quot;this_s&quot;],body:&quot;return Math.sqrt(this_s)&quot;},funcName:&quot;norm2&quot;}),r.norminf=a({args:[&quot;array&quot;],pre:{args:[],localVars:[],thisVars:[&quot;this_s&quot;],body:&quot;this_s=0&quot;},body:{args:[{name:&quot;a&quot;,lvalue:!1,rvalue:!0,count:4}],body:&quot;if(-a&gt;this_s){this_s=-a}else if(a&gt;this_s){this_s=a}&quot;,localVars:[],thisVars:[&quot;this_s&quot;]},post:{args:[],localVars:[],thisVars:[&quot;this_s&quot;],body:&quot;return this_s&quot;},funcName:&quot;norminf&quot;}),r.norm1=a({args:[&quot;array&quot;],pre:{args:[],localVars:[],thisVars:[&quot;this_s&quot;],body:&quot;this_s=0&quot;},body:{args:[{name:&quot;a&quot;,lvalue:!1,rvalue:!0,count:3}],body:&quot;this_s+=a&lt;0?-a:a&quot;,localVars:[],thisVars:[&quot;this_s&quot;]},post:{args:[],localVars:[],thisVars:[&quot;this_s&quot;],body:&quot;return this_s&quot;},funcName:&quot;norm1&quot;}),r.sup=a({args:[&quot;array&quot;],pre:{body:&quot;this_h=-Infinity&quot;,args:[],thisVars:[&quot;this_h&quot;],localVars:[]},body:{body:&quot;if(_inline_1_arg0_&gt;this_h)this_h=_inline_1_arg0_&quot;,args:[{name:&quot;_inline_1_arg0_&quot;,lvalue:!1,rvalue:!0,count:2}],thisVars:[&quot;this_h&quot;],localVars:[]},post:{body:&quot;return this_h&quot;,args:[],thisVars:[&quot;this_h&quot;],localVars:[]}}),r.inf=a({args:[&quot;array&quot;],pre:{body:&quot;this_h=Infinity&quot;,args:[],thisVars:[&quot;this_h&quot;],localVars:[]},body:{body:&quot;if(_inline_1_arg0_&lt;this_h)this_h=_inline_1_arg0_&quot;,args:[{name:&quot;_inline_1_arg0_&quot;,lvalue:!1,rvalue:!0,count:2}],thisVars:[&quot;this_h&quot;],localVars:[]},post:{body:&quot;return this_h&quot;,args:[],thisVars:[&quot;this_h&quot;],localVars:[]}}),r.argmin=a({args:[&quot;index&quot;,&quot;array&quot;,&quot;shape&quot;],pre:{body:&quot;{this_v=Infinity;this_i=_inline_0_arg2_.slice(0)}&quot;,args:[{name:&quot;_inline_0_arg0_&quot;,lvalue:!1,rvalue:!1,count:0},{name:&quot;_inline_0_arg1_&quot;,lvalue:!1,rvalue:!1,count:0},{name:&quot;_inline_0_arg2_&quot;,lvalue:!1,rvalue:!0,count:1}],thisVars:[&quot;this_i&quot;,&quot;this_v&quot;],localVars:[]},body:{body:&quot;{if(_inline_1_arg1_&lt;this_v){this_v=_inline_1_arg1_;for(var _inline_1_k=0;_inline_1_k&lt;_inline_1_arg0_.length;++_inline_1_k){this_i[_inline_1_k]=_inline_1_arg0_[_inline_1_k]}}}&quot;,args:[{name:&quot;_inline_1_arg0_&quot;,lvalue:!1,rvalue:!0,count:2},{name:&quot;_inline_1_arg1_&quot;,lvalue:!1,rvalue:!0,count:2}],thisVars:[&quot;this_i&quot;,&quot;this_v&quot;],localVars:[&quot;_inline_1_k&quot;]},post:{body:&quot;{return this_i}&quot;,args:[],thisVars:[&quot;this_i&quot;],localVars:[]}}),r.argmax=a({args:[&quot;index&quot;,&quot;array&quot;,&quot;shape&quot;],pre:{body:&quot;{this_v=-Infinity;this_i=_inline_0_arg2_.slice(0)}&quot;,args:[{name:&quot;_inline_0_arg0_&quot;,lvalue:!1,rvalue:!1,count:0},{name:&quot;_inline_0_arg1_&quot;,lvalue:!1,rvalue:!1,count:0},{name:&quot;_inline_0_arg2_&quot;,lvalue:!1,rvalue:!0,count:1}],thisVars:[&quot;this_i&quot;,&quot;this_v&quot;],localVars:[]},body:{body:&quot;{if(_inline_1_arg1_&gt;this_v){this_v=_inline_1_arg1_;for(var _inline_1_k=0;_inline_1_k&lt;_inline_1_arg0_.length;++_inline_1_k){this_i[_inline_1_k]=_inline_1_arg0_[_inline_1_k]}}}&quot;,args:[{name:&quot;_inline_1_arg0_&quot;,lvalue:!1,rvalue:!0,count:2},{name:&quot;_inline_1_arg1_&quot;,lvalue:!1,rvalue:!0,count:2}],thisVars:[&quot;this_i&quot;,&quot;this_v&quot;],localVars:[&quot;_inline_1_k&quot;]},post:{body:&quot;{return this_i}&quot;,args:[],thisVars:[&quot;this_i&quot;],localVars:[]}}),r.random=i({args:[&quot;array&quot;],pre:{args:[],body:&quot;this_f=Math.random&quot;,thisVars:[&quot;this_f&quot;]},body:{args:[&quot;a&quot;],body:&quot;a=this_f()&quot;,thisVars:[&quot;this_f&quot;]},funcName:&quot;random&quot;}),r.assign=i({args:[&quot;array&quot;,&quot;array&quot;],body:{args:[&quot;a&quot;,&quot;b&quot;],body:&quot;a=b&quot;},funcName:&quot;assign&quot;}),r.assigns=i({args:[&quot;array&quot;,&quot;scalar&quot;],body:{args:[&quot;a&quot;,&quot;b&quot;],body:&quot;a=b&quot;},funcName:&quot;assigns&quot;}),r.equals=a({args:[&quot;array&quot;,&quot;array&quot;],pre:o,body:{args:[{name:&quot;x&quot;,lvalue:!1,rvalue:!0,count:1},{name:&quot;y&quot;,lvalue:!1,rvalue:!0,count:1}],body:&quot;if(x!==y){return false}&quot;,localVars:[],thisVars:[]},post:{args:[],localVars:[],thisVars:[],body:&quot;return true&quot;},funcName:&quot;equals&quot;})},{&quot;cwise-compiler&quot;:116}],453:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;ndarray&quot;),i=t(&quot;./doConvert.js&quot;);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)}},{&quot;./doConvert.js&quot;:454,ndarray:458}],454:[function(t,e,r){e.exports=t(&quot;cwise-compiler&quot;)({args:[&quot;array&quot;,&quot;scalar&quot;,&quot;index&quot;],pre:{body:&quot;{}&quot;,args:[],thisVars:[],localVars:[]},body:{body:&quot;{\nvar _inline_1_v=_inline_1_arg1_,_inline_1_i\nfor(_inline_1_i=0;_inline_1_i&lt;_inline_1_arg2_.length-1;++_inline_1_i) {\n_inline_1_v=_inline_1_v[_inline_1_arg2_[_inline_1_i]]\n}\n_inline_1_arg0_=_inline_1_v[_inline_1_arg2_[_inline_1_arg2_.length-1]]\n}&quot;,args:[{name:&quot;_inline_1_arg0_&quot;,lvalue:!0,rvalue:!1,count:1},{name:&quot;_inline_1_arg1_&quot;,lvalue:!1,rvalue:!0,count:1},{name:&quot;_inline_1_arg2_&quot;,lvalue:!1,rvalue:!0,count:4}],thisVars:[],localVars:[&quot;_inline_1_i&quot;,&quot;_inline_1_v&quot;]},post:{body:&quot;{}&quot;,args:[],thisVars:[],localVars:[]},funcName:&quot;convert&quot;,blockSize:64})},{&quot;cwise-compiler&quot;:116}],455:[function(t,e,r){&quot;use strict&quot;;function n(t){switch(t){case&quot;uint8&quot;:return[a.mallocUint8,a.freeUint8];case&quot;uint16&quot;:return[a.mallocUint16,a.freeUint16];case&quot;uint32&quot;:return[a.mallocUint32,a.freeUint32];case&quot;int8&quot;:return[a.mallocInt8,a.freeInt8];case&quot;int16&quot;:return[a.mallocInt16,a.freeInt16];case&quot;int32&quot;:return[a.mallocInt32,a.freeInt32];case&quot;float32&quot;:return[a.mallocFloat,a.freeFloat];case&quot;float64&quot;:return[a.mallocDouble,a.freeDouble];default:return null}}function i(t){for(var e=[],r=0;r&lt;t;++r)e.push(&quot;s&quot;+r);for(r=0;r&lt;t;++r)e.push(&quot;n&quot;+r);for(r=1;r&lt;t;++r)e.push(&quot;d&quot;+r);for(r=1;r&lt;t;++r)e.push(&quot;e&quot;+r);for(r=1;r&lt;t;++r)e.push(&quot;f&quot;+r);return e}var a=t(&quot;typedarray-pool&quot;),o=32;e.exports=function(t,e){var r=[&quot;'use strict'&quot;],a=[&quot;ndarraySortWrapper&quot;,t.join(&quot;d&quot;),e].join(&quot;&quot;);r.push([&quot;function &quot;,a,&quot;(&quot;,[&quot;array&quot;].join(&quot;,&quot;),&quot;){&quot;].join(&quot;&quot;));for(var s=[&quot;data=array.data,offset=array.offset|0,shape=array.shape,stride=array.stride&quot;],l=0;l&lt;t.length;++l)s.push([&quot;s&quot;,l,&quot;=stride[&quot;,l,&quot;]|0,n&quot;,l,&quot;=shape[&quot;,l,&quot;]|0&quot;].join(&quot;&quot;));var c=new Array(t.length),u=[];for(l=0;l&lt;t.length;++l)0!==(p=t[l])&amp;&amp;(0===u.length?c[p]=&quot;1&quot;:c[p]=u.join(&quot;*&quot;),u.push(&quot;n&quot;+p));var f=-1,h=-1;for(l=0;l&lt;t.length;++l){var d=t[l];0!==d&amp;&amp;(f&gt;0?s.push([&quot;d&quot;,d,&quot;=s&quot;,d,&quot;-d&quot;,f,&quot;*n&quot;,f].join(&quot;&quot;)):s.push([&quot;d&quot;,d,&quot;=s&quot;,d].join(&quot;&quot;)),f=d);var p;0!=(p=t.length-1-l)&amp;&amp;(h&gt;0?s.push([&quot;e&quot;,p,&quot;=s&quot;,p,&quot;-e&quot;,h,&quot;*n&quot;,h,&quot;,f&quot;,p,&quot;=&quot;,c[p],&quot;-f&quot;,h,&quot;*n&quot;,h].join(&quot;&quot;)):s.push([&quot;e&quot;,p,&quot;=s&quot;,p,&quot;,f&quot;,p,&quot;=&quot;,c[p]].join(&quot;&quot;)),h=p)}r.push(&quot;var &quot;+s.join(&quot;,&quot;));var m=[&quot;0&quot;,&quot;n0-1&quot;,&quot;data&quot;,&quot;offset&quot;].concat(i(t.length));r.push([&quot;if(n0&lt;=&quot;,o,&quot;){&quot;,&quot;insertionSort(&quot;,m.join(&quot;,&quot;),&quot;)}else{&quot;,&quot;quickSort(&quot;,m.join(&quot;,&quot;),&quot;)}&quot;].join(&quot;&quot;)),r.push(&quot;}return &quot;+a);var g=new Function(&quot;insertionSort&quot;,&quot;quickSort&quot;,r.join(&quot;\n&quot;)),v=function(t,e){function r(t){return&quot;generic&quot;===e?[&quot;data.get(&quot;,t,&quot;)&quot;].join(&quot;&quot;):[&quot;data[&quot;,t,&quot;]&quot;].join(&quot;&quot;)}function a(t,r){return&quot;generic&quot;===e?[&quot;data.set(&quot;,t,&quot;,&quot;,r,&quot;)&quot;].join(&quot;&quot;):[&quot;data[&quot;,t,&quot;]=&quot;,r].join(&quot;&quot;)}var o=[&quot;'use strict'&quot;],s=[&quot;ndarrayInsertionSort&quot;,t.join(&quot;d&quot;),e].join(&quot;&quot;),l=[&quot;left&quot;,&quot;right&quot;,&quot;data&quot;,&quot;offset&quot;].concat(i(t.length)),c=n(e),u=[&quot;i,j,cptr,ptr=left*s0+offset&quot;];if(t.length&gt;1){for(var f=[],h=1;h&lt;t.length;++h)u.push(&quot;i&quot;+h),f.push(&quot;n&quot;+h);c?u.push(&quot;scratch=malloc(&quot;+f.join(&quot;*&quot;)+&quot;)&quot;):u.push(&quot;scratch=new Array(&quot;+f.join(&quot;*&quot;)+&quot;)&quot;),u.push(&quot;dptr&quot;,&quot;sptr&quot;,&quot;a&quot;,&quot;b&quot;)}else u.push(&quot;scratch&quot;);if(o.push([&quot;function &quot;,s,&quot;(&quot;,l.join(&quot;,&quot;),&quot;){var &quot;,u.join(&quot;,&quot;)].join(&quot;&quot;),&quot;for(i=left+1;i&lt;=right;++i){&quot;,&quot;j=i;ptr+=s0&quot;,&quot;cptr=ptr&quot;),t.length&gt;1){for(o.push(&quot;dptr=0;sptr=ptr&quot;),h=t.length-1;h&gt;=0;--h)0!==(d=t[h])&amp;&amp;o.push([&quot;for(i&quot;,d,&quot;=0;i&quot;,d,&quot;&lt;n&quot;,d,&quot;;++i&quot;,d,&quot;){&quot;].join(&quot;&quot;));for(o.push(&quot;scratch[dptr++]=&quot;,r(&quot;sptr&quot;)),h=0;h&lt;t.length;++h)0!==(d=t[h])&amp;&amp;o.push(&quot;sptr+=d&quot;+d,&quot;}&quot;);for(o.push(&quot;__g:while(j--\x3eleft){&quot;,&quot;dptr=0&quot;,&quot;sptr=cptr-s0&quot;),h=1;h&lt;t.length;++h)1===h&amp;&amp;o.push(&quot;__l:&quot;),o.push([&quot;for(i&quot;,h,&quot;=0;i&quot;,h,&quot;&lt;n&quot;,h,&quot;;++i&quot;,h,&quot;){&quot;].join(&quot;&quot;));for(o.push([&quot;a=&quot;,r(&quot;sptr&quot;),&quot;\nb=scratch[dptr]\nif(a&lt;b){break __g}\nif(a&gt;b){break __l}&quot;].join(&quot;&quot;)),h=t.length-1;h&gt;=1;--h)o.push(&quot;sptr+=e&quot;+h,&quot;dptr+=f&quot;+h,&quot;}&quot;);for(o.push(&quot;dptr=cptr;sptr=cptr-s0&quot;),h=t.length-1;h&gt;=0;--h)0!==(d=t[h])&amp;&amp;o.push([&quot;for(i&quot;,d,&quot;=0;i&quot;,d,&quot;&lt;n&quot;,d,&quot;;++i&quot;,d,&quot;){&quot;].join(&quot;&quot;));for(o.push(a(&quot;dptr&quot;,r(&quot;sptr&quot;))),h=0;h&lt;t.length;++h)0!==(d=t[h])&amp;&amp;o.push([&quot;dptr+=d&quot;,d,&quot;;sptr+=d&quot;,d].join(&quot;&quot;),&quot;}&quot;);for(o.push(&quot;cptr-=s0\n}&quot;),o.push(&quot;dptr=cptr;sptr=0&quot;),h=t.length-1;h&gt;=0;--h)0!==(d=t[h])&amp;&amp;o.push([&quot;for(i&quot;,d,&quot;=0;i&quot;,d,&quot;&lt;n&quot;,d,&quot;;++i&quot;,d,&quot;){&quot;].join(&quot;&quot;));for(o.push(a(&quot;dptr&quot;,&quot;scratch[sptr++]&quot;)),h=0;h&lt;t.length;++h){var d;0!==(d=t[h])&amp;&amp;o.push(&quot;dptr+=d&quot;+d,&quot;}&quot;)}}else o.push(&quot;scratch=&quot;+r(&quot;ptr&quot;),&quot;while((j--\x3eleft)&amp;&amp;(&quot;+r(&quot;cptr-s0&quot;)+&quot;&gt;scratch)){&quot;,a(&quot;cptr&quot;,r(&quot;cptr-s0&quot;)),&quot;cptr-=s0&quot;,&quot;}&quot;,a(&quot;cptr&quot;,&quot;scratch&quot;));return o.push(&quot;}&quot;),t.length&gt;1&amp;&amp;c&amp;&amp;o.push(&quot;free(scratch)&quot;),o.push(&quot;} return &quot;+s),c?new Function(&quot;malloc&quot;,&quot;free&quot;,o.join(&quot;\n&quot;))(c[0],c[1]):new Function(o.join(&quot;\n&quot;))()}(t,e);return g(v,function(t,e,r){function a(t){return[&quot;(offset+&quot;,t,&quot;*s0)&quot;].join(&quot;&quot;)}function s(t){return&quot;generic&quot;===e?[&quot;data.get(&quot;,t,&quot;)&quot;].join(&quot;&quot;):[&quot;data[&quot;,t,&quot;]&quot;].join(&quot;&quot;)}function l(t,r){return&quot;generic&quot;===e?[&quot;data.set(&quot;,t,&quot;,&quot;,r,&quot;)&quot;].join(&quot;&quot;):[&quot;data[&quot;,t,&quot;]=&quot;,r].join(&quot;&quot;)}function c(e,r,n){if(1===e.length)_.push(&quot;ptr0=&quot;+a(e[0]));else for(var i=0;i&lt;e.length;++i)_.push([&quot;b_ptr&quot;,i,&quot;=s0*&quot;,e[i]].join(&quot;&quot;));for(r&amp;&amp;_.push(&quot;pivot_ptr=0&quot;),_.push(&quot;ptr_shift=offset&quot;),i=t.length-1;i&gt;=0;--i)0!==(o=t[i])&amp;&amp;_.push([&quot;for(i&quot;,o,&quot;=0;i&quot;,o,&quot;&lt;n&quot;,o,&quot;;++i&quot;,o,&quot;){&quot;].join(&quot;&quot;));if(e.length&gt;1)for(i=0;i&lt;e.length;++i)_.push([&quot;ptr&quot;,i,&quot;=b_ptr&quot;,i,&quot;+ptr_shift&quot;].join(&quot;&quot;));for(_.push(n),r&amp;&amp;_.push(&quot;++pivot_ptr&quot;),i=0;i&lt;t.length;++i){var o;0!==(o=t[i])&amp;&amp;(e.length&gt;1?_.push(&quot;ptr_shift+=d&quot;+o):_.push(&quot;ptr0+=d&quot;+o),_.push(&quot;}&quot;))}}function u(e,r,n,i){if(1===r.length)_.push(&quot;ptr0=&quot;+a(r[0]));else{for(var o=0;o&lt;r.length;++o)_.push([&quot;b_ptr&quot;,o,&quot;=s0*&quot;,r[o]].join(&quot;&quot;));_.push(&quot;ptr_shift=offset&quot;)}for(n&amp;&amp;_.push(&quot;pivot_ptr=0&quot;),e&amp;&amp;_.push(e+&quot;:&quot;),o=1;o&lt;t.length;++o)_.push([&quot;for(i&quot;,o,&quot;=0;i&quot;,o,&quot;&lt;n&quot;,o,&quot;;++i&quot;,o,&quot;){&quot;].join(&quot;&quot;));if(r.length&gt;1)for(o=0;o&lt;r.length;++o)_.push([&quot;ptr&quot;,o,&quot;=b_ptr&quot;,o,&quot;+ptr_shift&quot;].join(&quot;&quot;));for(_.push(i),o=t.length-1;o&gt;=1;--o)n&amp;&amp;_.push(&quot;pivot_ptr+=f&quot;+o),r.length&gt;1?_.push(&quot;ptr_shift+=e&quot;+o):_.push(&quot;ptr0+=e&quot;+o),_.push(&quot;}&quot;)}function f(){t.length&gt;1&amp;&amp;k&amp;&amp;_.push(&quot;free(pivot1)&quot;,&quot;free(pivot2)&quot;)}function h(e,r){var n=&quot;el&quot;+e,i=&quot;el&quot;+r;if(t.length&gt;1){var o=&quot;__l&quot;+ ++A;u(o,[n,i],!1,[&quot;comp=&quot;,s(&quot;ptr0&quot;),&quot;-&quot;,s(&quot;ptr1&quot;),&quot;\n&quot;,&quot;if(comp&gt;0){tmp0=&quot;,n,&quot;;&quot;,n,&quot;=&quot;,i,&quot;;&quot;,i,&quot;=tmp0;break &quot;,o,&quot;}\n&quot;,&quot;if(comp&lt;0){break &quot;,o,&quot;}&quot;].join(&quot;&quot;))}else _.push([&quot;if(&quot;,s(a(n)),&quot;&gt;&quot;,s(a(i)),&quot;){tmp0=&quot;,n,&quot;;&quot;,n,&quot;=&quot;,i,&quot;;&quot;,i,&quot;=tmp0}&quot;].join(&quot;&quot;))}function d(e,r){t.length&gt;1?c([e,r],!1,l(&quot;ptr0&quot;,s(&quot;ptr1&quot;))):_.push(l(a(e),s(a(r))))}function p(e,r,n){if(t.length&gt;1){var i=&quot;__l&quot;+ ++A;u(i,[r],!0,[e,&quot;=&quot;,s(&quot;ptr0&quot;),&quot;-pivot&quot;,n,&quot;[pivot_ptr]\n&quot;,&quot;if(&quot;,e,&quot;!==0){break &quot;,i,&quot;}&quot;].join(&quot;&quot;))}else _.push([e,&quot;=&quot;,s(a(r)),&quot;-pivot&quot;,n].join(&quot;&quot;))}function m(e,r){t.length&gt;1?c([e,r],!1,[&quot;tmp=&quot;,s(&quot;ptr0&quot;),&quot;\n&quot;,l(&quot;ptr0&quot;,s(&quot;ptr1&quot;)),&quot;\n&quot;,l(&quot;ptr1&quot;,&quot;tmp&quot;)].join(&quot;&quot;)):_.push([&quot;ptr0=&quot;,a(e),&quot;\n&quot;,&quot;ptr1=&quot;,a(r),&quot;\n&quot;,&quot;tmp=&quot;,s(&quot;ptr0&quot;),&quot;\n&quot;,l(&quot;ptr0&quot;,s(&quot;ptr1&quot;)),&quot;\n&quot;,l(&quot;ptr1&quot;,&quot;tmp&quot;)].join(&quot;&quot;))}function g(e,r,n){t.length&gt;1?(c([e,r,n],!1,[&quot;tmp=&quot;,s(&quot;ptr0&quot;),&quot;\n&quot;,l(&quot;ptr0&quot;,s(&quot;ptr1&quot;)),&quot;\n&quot;,l(&quot;ptr1&quot;,s(&quot;ptr2&quot;)),&quot;\n&quot;,l(&quot;ptr2&quot;,&quot;tmp&quot;)].join(&quot;&quot;)),_.push(&quot;++&quot;+r,&quot;--&quot;+n)):_.push([&quot;ptr0=&quot;,a(e),&quot;\n&quot;,&quot;ptr1=&quot;,a(r),&quot;\n&quot;,&quot;ptr2=&quot;,a(n),&quot;\n&quot;,&quot;++&quot;,r,&quot;\n&quot;,&quot;--&quot;,n,&quot;\n&quot;,&quot;tmp=&quot;,s(&quot;ptr0&quot;),&quot;\n&quot;,l(&quot;ptr0&quot;,s(&quot;ptr1&quot;)),&quot;\n&quot;,l(&quot;ptr1&quot;,s(&quot;ptr2&quot;)),&quot;\n&quot;,l(&quot;ptr2&quot;,&quot;tmp&quot;)].join(&quot;&quot;))}function v(t,e){m(t,e),_.push(&quot;--&quot;+e)}function y(e,r,n){t.length&gt;1?c([e,r],!0,[l(&quot;ptr0&quot;,s(&quot;ptr1&quot;)),&quot;\n&quot;,l(&quot;ptr1&quot;,[&quot;pivot&quot;,n,&quot;[pivot_ptr]&quot;].join(&quot;&quot;))].join(&quot;&quot;)):_.push(l(a(e),s(a(r))),l(a(r),&quot;pivot&quot;+n))}function x(e,r){_.push([&quot;if((&quot;,r,&quot;-&quot;,e,&quot;)&lt;=&quot;,o,&quot;){\n&quot;,&quot;insertionSort(&quot;,e,&quot;,&quot;,r,&quot;,data,offset,&quot;,i(t.length).join(&quot;,&quot;),&quot;)\n&quot;,&quot;}else{\n&quot;,w,&quot;(&quot;,e,&quot;,&quot;,r,&quot;,data,offset,&quot;,i(t.length).join(&quot;,&quot;),&quot;)\n&quot;,&quot;}&quot;].join(&quot;&quot;))}function b(e,r,n){t.length&gt;1?(_.push([&quot;__l&quot;,++A,&quot;:while(true){&quot;].join(&quot;&quot;)),c([e],!0,[&quot;if(&quot;,s(&quot;ptr0&quot;),&quot;!==pivot&quot;,r,&quot;[pivot_ptr]){break __l&quot;,A,&quot;}&quot;].join(&quot;&quot;)),_.push(n,&quot;}&quot;)):_.push([&quot;while(&quot;,s(a(e)),&quot;===pivot&quot;,r,&quot;){&quot;,n,&quot;}&quot;].join(&quot;&quot;))}var _=[&quot;'use strict'&quot;],w=[&quot;ndarrayQuickSort&quot;,t.join(&quot;d&quot;),e].join(&quot;&quot;),M=[&quot;left&quot;,&quot;right&quot;,&quot;data&quot;,&quot;offset&quot;].concat(i(t.length)),k=n(e),A=0;_.push([&quot;function &quot;,w,&quot;(&quot;,M.join(&quot;,&quot;),&quot;){&quot;].join(&quot;&quot;));var T=[&quot;sixth=((right-left+1)/6)|0&quot;,&quot;index1=left+sixth&quot;,&quot;index5=right-sixth&quot;,&quot;index3=(left+right)&gt;&gt;1&quot;,&quot;index2=index3-sixth&quot;,&quot;index4=index3+sixth&quot;,&quot;el1=index1&quot;,&quot;el2=index2&quot;,&quot;el3=index3&quot;,&quot;el4=index4&quot;,&quot;el5=index5&quot;,&quot;less=left+1&quot;,&quot;great=right-1&quot;,&quot;pivots_are_equal=true&quot;,&quot;tmp&quot;,&quot;tmp0&quot;,&quot;x&quot;,&quot;y&quot;,&quot;z&quot;,&quot;k&quot;,&quot;ptr0&quot;,&quot;ptr1&quot;,&quot;ptr2&quot;,&quot;comp_pivot1=0&quot;,&quot;comp_pivot2=0&quot;,&quot;comp=0&quot;];if(t.length&gt;1){for(var S=[],E=1;E&lt;t.length;++E)S.push(&quot;n&quot;+E),T.push(&quot;i&quot;+E);for(E=0;E&lt;8;++E)T.push(&quot;b_ptr&quot;+E);T.push(&quot;ptr3&quot;,&quot;ptr4&quot;,&quot;ptr5&quot;,&quot;ptr6&quot;,&quot;ptr7&quot;,&quot;pivot_ptr&quot;,&quot;ptr_shift&quot;,&quot;elementSize=&quot;+S.join(&quot;*&quot;)),k?T.push(&quot;pivot1=malloc(elementSize)&quot;,&quot;pivot2=malloc(elementSize)&quot;):T.push(&quot;pivot1=new Array(elementSize),pivot2=new Array(elementSize)&quot;)}else T.push(&quot;pivot1&quot;,&quot;pivot2&quot;);return _.push(&quot;var &quot;+T.join(&quot;,&quot;)),h(1,2),h(4,5),h(1,3),h(2,3),h(1,4),h(3,4),h(2,5),h(2,3),h(4,5),t.length&gt;1?c([&quot;el1&quot;,&quot;el2&quot;,&quot;el3&quot;,&quot;el4&quot;,&quot;el5&quot;,&quot;index1&quot;,&quot;index3&quot;,&quot;index5&quot;],!0,[&quot;pivot1[pivot_ptr]=&quot;,s(&quot;ptr1&quot;),&quot;\n&quot;,&quot;pivot2[pivot_ptr]=&quot;,s(&quot;ptr3&quot;),&quot;\n&quot;,&quot;pivots_are_equal=pivots_are_equal&amp;&amp;(pivot1[pivot_ptr]===pivot2[pivot_ptr])\n&quot;,&quot;x=&quot;,s(&quot;ptr0&quot;),&quot;\n&quot;,&quot;y=&quot;,s(&quot;ptr2&quot;),&quot;\n&quot;,&quot;z=&quot;,s(&quot;ptr4&quot;),&quot;\n&quot;,l(&quot;ptr5&quot;,&quot;x&quot;),&quot;\n&quot;,l(&quot;ptr6&quot;,&quot;y&quot;),&quot;\n&quot;,l(&quot;ptr7&quot;,&quot;z&quot;)].join(&quot;&quot;)):_.push([&quot;pivot1=&quot;,s(a(&quot;el2&quot;)),&quot;\n&quot;,&quot;pivot2=&quot;,s(a(&quot;el4&quot;)),&quot;\n&quot;,&quot;pivots_are_equal=pivot1===pivot2\n&quot;,&quot;x=&quot;,s(a(&quot;el1&quot;)),&quot;\n&quot;,&quot;y=&quot;,s(a(&quot;el3&quot;)),&quot;\n&quot;,&quot;z=&quot;,s(a(&quot;el5&quot;)),&quot;\n&quot;,l(a(&quot;index1&quot;),&quot;x&quot;),&quot;\n&quot;,l(a(&quot;index3&quot;),&quot;y&quot;),&quot;\n&quot;,l(a(&quot;index5&quot;),&quot;z&quot;)].join(&quot;&quot;)),d(&quot;index2&quot;,&quot;left&quot;),d(&quot;index4&quot;,&quot;right&quot;),_.push(&quot;if(pivots_are_equal){&quot;),_.push(&quot;for(k=less;k&lt;=great;++k){&quot;),p(&quot;comp&quot;,&quot;k&quot;,1),_.push(&quot;if(comp===0){continue}&quot;),_.push(&quot;if(comp&lt;0){&quot;),_.push(&quot;if(k!==less){&quot;),m(&quot;k&quot;,&quot;less&quot;),_.push(&quot;}&quot;),_.push(&quot;++less&quot;),_.push(&quot;}else{&quot;),_.push(&quot;while(true){&quot;),p(&quot;comp&quot;,&quot;great&quot;,1),_.push(&quot;if(comp&gt;0){&quot;),_.push(&quot;great--&quot;),_.push(&quot;}else if(comp&lt;0){&quot;),g(&quot;k&quot;,&quot;less&quot;,&quot;great&quot;),_.push(&quot;break&quot;),_.push(&quot;}else{&quot;),v(&quot;k&quot;,&quot;great&quot;),_.push(&quot;break&quot;),_.push(&quot;}&quot;),_.push(&quot;}&quot;),_.push(&quot;}&quot;),_.push(&quot;}&quot;),_.push(&quot;}else{&quot;),_.push(&quot;for(k=less;k&lt;=great;++k){&quot;),p(&quot;comp_pivot1&quot;,&quot;k&quot;,1),_.push(&quot;if(comp_pivot1&lt;0){&quot;),_.push(&quot;if(k!==less){&quot;),m(&quot;k&quot;,&quot;less&quot;),_.push(&quot;}&quot;),_.push(&quot;++less&quot;),_.push(&quot;}else{&quot;),p(&quot;comp_pivot2&quot;,&quot;k&quot;,2),_.push(&quot;if(comp_pivot2&gt;0){&quot;),_.push(&quot;while(true){&quot;),p(&quot;comp&quot;,&quot;great&quot;,2),_.push(&quot;if(comp&gt;0){&quot;),_.push(&quot;if(--great&lt;k){break}&quot;),_.push(&quot;continue&quot;),_.push(&quot;}else{&quot;),p(&quot;comp&quot;,&quot;great&quot;,1),_.push(&quot;if(comp&lt;0){&quot;),g(&quot;k&quot;,&quot;less&quot;,&quot;great&quot;),_.push(&quot;}else{&quot;),v(&quot;k&quot;,&quot;great&quot;),_.push(&quot;}&quot;),_.push(&quot;break&quot;),_.push(&quot;}&quot;),_.push(&quot;}&quot;),_.push(&quot;}&quot;),_.push(&quot;}&quot;),_.push(&quot;}&quot;),_.push(&quot;}&quot;),y(&quot;left&quot;,&quot;(less-1)&quot;,1),y(&quot;right&quot;,&quot;(great+1)&quot;,2),x(&quot;left&quot;,&quot;(less-2)&quot;),x(&quot;(great+2)&quot;,&quot;right&quot;),_.push(&quot;if(pivots_are_equal){&quot;),f(),_.push(&quot;return&quot;),_.push(&quot;}&quot;),_.push(&quot;if(less&lt;index1&amp;&amp;great&gt;index5){&quot;),b(&quot;less&quot;,1,&quot;++less&quot;),b(&quot;great&quot;,2,&quot;--great&quot;),_.push(&quot;for(k=less;k&lt;=great;++k){&quot;),p(&quot;comp_pivot1&quot;,&quot;k&quot;,1),_.push(&quot;if(comp_pivot1===0){&quot;),_.push(&quot;if(k!==less){&quot;),m(&quot;k&quot;,&quot;less&quot;),_.push(&quot;}&quot;),_.push(&quot;++less&quot;),_.push(&quot;}else{&quot;),p(&quot;comp_pivot2&quot;,&quot;k&quot;,2),_.push(&quot;if(comp_pivot2===0){&quot;),_.push(&quot;while(true){&quot;),p(&quot;comp&quot;,&quot;great&quot;,2),_.push(&quot;if(comp===0){&quot;),_.push(&quot;if(--great&lt;k){break}&quot;),_.push(&quot;continue&quot;),_.push(&quot;}else{&quot;),p(&quot;comp&quot;,&quot;great&quot;,1),_.push(&quot;if(comp&lt;0){&quot;),g(&quot;k&quot;,&quot;less&quot;,&quot;great&quot;),_.push(&quot;}else{&quot;),v(&quot;k&quot;,&quot;great&quot;),_.push(&quot;}&quot;),_.push(&quot;break&quot;),_.push(&quot;}&quot;),_.push(&quot;}&quot;),_.push(&quot;}&quot;),_.push(&quot;}&quot;),_.push(&quot;}&quot;),_.push(&quot;}&quot;),f(),x(&quot;less&quot;,&quot;great&quot;),_.push(&quot;}return &quot;+w),t.length&gt;1&amp;&amp;k?new Function(&quot;insertionSort&quot;,&quot;malloc&quot;,&quot;free&quot;,_.join(&quot;\n&quot;))(r,k[0],k[1]):new Function(&quot;insertionSort&quot;,_.join(&quot;\n&quot;))(r)}(t,e,v))}},{&quot;typedarray-pool&quot;:554}],456:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;./lib/compile_sort.js&quot;),i={};e.exports=function(t){var e=t.order,r=t.dtype,a=[e,r].join(&quot;:&quot;),o=i[a];return o||(i[a]=o=n(e,r)),o(t),t}},{&quot;./lib/compile_sort.js&quot;:455}],457:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;ndarray-linear-interpolate&quot;),i=t(&quot;cwise/lib/wrapper&quot;)({args:[&quot;index&quot;,&quot;array&quot;,&quot;scalar&quot;,&quot;scalar&quot;,&quot;scalar&quot;],pre:{body:&quot;{this_warped=new Array(_inline_9_arg4_)}&quot;,args:[{name:&quot;_inline_9_arg0_&quot;,lvalue:!1,rvalue:!1,count:0},{name:&quot;_inline_9_arg1_&quot;,lvalue:!1,rvalue:!1,count:0},{name:&quot;_inline_9_arg2_&quot;,lvalue:!1,rvalue:!1,count:0},{name:&quot;_inline_9_arg3_&quot;,lvalue:!1,rvalue:!1,count:0},{name:&quot;_inline_9_arg4_&quot;,lvalue:!1,rvalue:!0,count:1}],thisVars:[&quot;this_warped&quot;],localVars:[]},body:{body:&quot;{_inline_10_arg2_(this_warped,_inline_10_arg0_),_inline_10_arg1_=_inline_10_arg3_.apply(void 0,this_warped)}&quot;,args:[{name:&quot;_inline_10_arg0_&quot;,lvalue:!1,rvalue:!0,count:1},{name:&quot;_inline_10_arg1_&quot;,lvalue:!0,rvalue:!1,count:1},{name:&quot;_inline_10_arg2_&quot;,lvalue:!1,rvalue:!0,count:1},{name:&quot;_inline_10_arg3_&quot;,lvalue:!1,rvalue:!0,count:1},{name:&quot;_inline_10_arg4_&quot;,lvalue:!1,rvalue:!1,count:0}],thisVars:[&quot;this_warped&quot;],localVars:[]},post:{body:&quot;{}&quot;,args:[],thisVars:[],localVars:[]},debug:!1,funcName:&quot;warpND&quot;,blockSize:64}),a=t(&quot;cwise/lib/wrapper&quot;)({args:[&quot;index&quot;,&quot;array&quot;,&quot;scalar&quot;,&quot;scalar&quot;,&quot;scalar&quot;],pre:{body:&quot;{this_warped=[0]}&quot;,args:[],thisVars:[&quot;this_warped&quot;],localVars:[]},body:{body:&quot;{_inline_13_arg2_(this_warped,_inline_13_arg0_),_inline_13_arg1_=_inline_13_arg3_(_inline_13_arg4_,this_warped[0])}&quot;,args:[{name:&quot;_inline_13_arg0_&quot;,lvalue:!1,rvalue:!0,count:1},{name:&quot;_inline_13_arg1_&quot;,lvalue:!0,rvalue:!1,count:1},{name:&quot;_inline_13_arg2_&quot;,lvalue:!1,rvalue:!0,count:1},{name:&quot;_inline_13_arg3_&quot;,lvalue:!1,rvalue:!0,count:1},{name:&quot;_inline_13_arg4_&quot;,lvalue:!1,rvalue:!0,count:1}],thisVars:[&quot;this_warped&quot;],localVars:[]},post:{body:&quot;{}&quot;,args:[],thisVars:[],localVars:[]},debug:!1,funcName:&quot;warp1D&quot;,blockSize:64}),o=t(&quot;cwise/lib/wrapper&quot;)({args:[&quot;index&quot;,&quot;array&quot;,&quot;scalar&quot;,&quot;scalar&quot;,&quot;scalar&quot;],pre:{body:&quot;{this_warped=[0,0]}&quot;,args:[],thisVars:[&quot;this_warped&quot;],localVars:[]},body:{body:&quot;{_inline_16_arg2_(this_warped,_inline_16_arg0_),_inline_16_arg1_=_inline_16_arg3_(_inline_16_arg4_,this_warped[0],this_warped[1])}&quot;,args:[{name:&quot;_inline_16_arg0_&quot;,lvalue:!1,rvalue:!0,count:1},{name:&quot;_inline_16_arg1_&quot;,lvalue:!0,rvalue:!1,count:1},{name:&quot;_inline_16_arg2_&quot;,lvalue:!1,rvalue:!0,count:1},{name:&quot;_inline_16_arg3_&quot;,lvalue:!1,rvalue:!0,count:1},{name:&quot;_inline_16_arg4_&quot;,lvalue:!1,rvalue:!0,count:1}],thisVars:[&quot;this_warped&quot;],localVars:[]},post:{body:&quot;{}&quot;,args:[],thisVars:[],localVars:[]},debug:!1,funcName:&quot;warp2D&quot;,blockSize:64}),s=t(&quot;cwise/lib/wrapper&quot;)({args:[&quot;index&quot;,&quot;array&quot;,&quot;scalar&quot;,&quot;scalar&quot;,&quot;scalar&quot;],pre:{body:&quot;{this_warped=[0,0,0]}&quot;,args:[],thisVars:[&quot;this_warped&quot;],localVars:[]},body:{body:&quot;{_inline_19_arg2_(this_warped,_inline_19_arg0_),_inline_19_arg1_=_inline_19_arg3_(_inline_19_arg4_,this_warped[0],this_warped[1],this_warped[2])}&quot;,args:[{name:&quot;_inline_19_arg0_&quot;,lvalue:!1,rvalue:!0,count:1},{name:&quot;_inline_19_arg1_&quot;,lvalue:!0,rvalue:!1,count:1},{name:&quot;_inline_19_arg2_&quot;,lvalue:!1,rvalue:!0,count:1},{name:&quot;_inline_19_arg3_&quot;,lvalue:!1,rvalue:!0,count:1},{name:&quot;_inline_19_arg4_&quot;,lvalue:!1,rvalue:!0,count:1}],thisVars:[&quot;this_warped&quot;],localVars:[]},post:{body:&quot;{}&quot;,args:[],thisVars:[],localVars:[]},debug:!1,funcName:&quot;warp3D&quot;,blockSize:64});e.exports=function(t,e,r){switch(e.shape.length){case 1:a(t,r,n.d1,e);break;case 2:o(t,r,n.d2,e);break;case 3:s(t,r,n.d3,e);break;default:i(t,r,n.bind(void 0,e),e.shape.length)}return t}},{&quot;cwise/lib/wrapper&quot;:119,&quot;ndarray-linear-interpolate&quot;:451}],458:[function(t,e,r){function n(t,e){return t[0]-e[0]}function i(){var t,e=this.stride,r=new Array(e.length);for(t=0;t&lt;r.length;++t)r[t]=[Math.abs(e[t]),t];r.sort(n);var i=new Array(r.length);for(t=0;t&lt;i.length;++t)i[t]=r[t][1];return i}function a(t,e){var r=[&quot;View&quot;,e,&quot;d&quot;,t].join(&quot;&quot;);e&lt;0&amp;&amp;(r=&quot;View_Nil&quot;+t);var n=&quot;generic&quot;===t;if(-1===e){var a=&quot;function &quot;+r+&quot;(a){this.data=a;};var proto=&quot;+r+&quot;.prototype;proto.dtype='&quot;+t+&quot;';proto.index=function(){return -1};proto.size=0;proto.dimension=-1;proto.shape=proto.stride=proto.order=[];proto.lo=proto.hi=proto.transpose=proto.step=function(){return new &quot;+r+&quot;(this.data);};proto.get=proto.set=function(){};proto.pick=function(){return null};return function construct_&quot;+r+&quot;(a){return new &quot;+r+&quot;(a);}&quot;;return new Function(a)()}if(0===e){a=&quot;function &quot;+r+&quot;(a,d) {this.data = a;this.offset = d};var proto=&quot;+r+&quot;.prototype;proto.dtype='&quot;+t+&quot;';proto.index=function(){return this.offset};proto.dimension=0;proto.size=1;proto.shape=proto.stride=proto.order=[];proto.lo=proto.hi=proto.transpose=proto.step=function &quot;+r+&quot;_copy() {return new &quot;+r+&quot;(this.data,this.offset)};proto.pick=function &quot;+r+&quot;_pick(){return TrivialArray(this.data);};proto.valueOf=proto.get=function &quot;+r+&quot;_get(){return &quot;+(n?&quot;this.data.get(this.offset)&quot;:&quot;this.data[this.offset]&quot;)+&quot;};proto.set=function &quot;+r+&quot;_set(v){return &quot;+(n?&quot;this.data.set(this.offset,v)&quot;:&quot;this.data[this.offset]=v&quot;)+&quot;};return function construct_&quot;+r+&quot;(a,b,c,d){return new &quot;+r+&quot;(a,d)}&quot;;return new Function(&quot;TrivialArray&quot;,a)(c[t][0])}a=[&quot;'use strict'&quot;];var s=o(e),l=s.map(function(t){return&quot;i&quot;+t}),u=&quot;this.offset+&quot;+s.map(function(t){return&quot;this.stride[&quot;+t+&quot;]*i&quot;+t}).join(&quot;+&quot;),f=s.map(function(t){return&quot;b&quot;+t}).join(&quot;,&quot;),h=s.map(function(t){return&quot;c&quot;+t}).join(&quot;,&quot;);a.push(&quot;function &quot;+r+&quot;(a,&quot;+f+&quot;,&quot;+h+&quot;,d){this.data=a&quot;,&quot;this.shape=[&quot;+f+&quot;]&quot;,&quot;this.stride=[&quot;+h+&quot;]&quot;,&quot;this.offset=d|0}&quot;,&quot;var proto=&quot;+r+&quot;.prototype&quot;,&quot;proto.dtype='&quot;+t+&quot;'&quot;,&quot;proto.dimension=&quot;+e),a.push(&quot;Object.defineProperty(proto,'size',{get:function &quot;+r+&quot;_size(){return &quot;+s.map(function(t){return&quot;this.shape[&quot;+t+&quot;]&quot;}).join(&quot;*&quot;),&quot;}})&quot;),1===e?a.push(&quot;proto.order=[0]&quot;):(a.push(&quot;Object.defineProperty(proto,'order',{get:&quot;),e&lt;4?(a.push(&quot;function &quot;+r+&quot;_order(){&quot;),2===e?a.push(&quot;return (Math.abs(this.stride[0])&gt;Math.abs(this.stride[1]))?[1,0]:[0,1]}})&quot;):3===e&amp;&amp;a.push(&quot;var s0=Math.abs(this.stride[0]),s1=Math.abs(this.stride[1]),s2=Math.abs(this.stride[2]);if(s0&gt;s1){if(s1&gt;s2){return [2,1,0];}else if(s0&gt;s2){return [1,2,0];}else{return [1,0,2];}}else if(s0&gt;s2){return [2,0,1];}else if(s2&gt;s1){return [0,1,2];}else{return [0,2,1];}}})&quot;)):a.push(&quot;ORDER})&quot;)),a.push(&quot;proto.set=function &quot;+r+&quot;_set(&quot;+l.join(&quot;,&quot;)+&quot;,v){&quot;),n?a.push(&quot;return this.data.set(&quot;+u+&quot;,v)}&quot;):a.push(&quot;return this.data[&quot;+u+&quot;]=v}&quot;),a.push(&quot;proto.get=function &quot;+r+&quot;_get(&quot;+l.join(&quot;,&quot;)+&quot;){&quot;),n?a.push(&quot;return this.data.get(&quot;+u+&quot;)}&quot;):a.push(&quot;return this.data[&quot;+u+&quot;]}&quot;),a.push(&quot;proto.index=function &quot;+r+&quot;_index(&quot;,l.join(),&quot;){return &quot;+u+&quot;}&quot;),a.push(&quot;proto.hi=function &quot;+r+&quot;_hi(&quot;+l.join(&quot;,&quot;)+&quot;){return new &quot;+r+&quot;(this.data,&quot;+s.map(function(t){return[&quot;(typeof i&quot;,t,&quot;!=='number'||i&quot;,t,&quot;&lt;0)?this.shape[&quot;,t,&quot;]:i&quot;,t,&quot;|0&quot;].join(&quot;&quot;)}).join(&quot;,&quot;)+&quot;,&quot;+s.map(function(t){return&quot;this.stride[&quot;+t+&quot;]&quot;}).join(&quot;,&quot;)+&quot;,this.offset)}&quot;);var d=s.map(function(t){return&quot;a&quot;+t+&quot;=this.shape[&quot;+t+&quot;]&quot;}),p=s.map(function(t){return&quot;c&quot;+t+&quot;=this.stride[&quot;+t+&quot;]&quot;});a.push(&quot;proto.lo=function &quot;+r+&quot;_lo(&quot;+l.join(&quot;,&quot;)+&quot;){var b=this.offset,d=0,&quot;+d.join(&quot;,&quot;)+&quot;,&quot;+p.join(&quot;,&quot;));for(var m=0;m&lt;e;++m)a.push(&quot;if(typeof i&quot;+m+&quot;==='number'&amp;&amp;i&quot;+m+&quot;&gt;=0){d=i&quot;+m+&quot;|0;b+=c&quot;+m+&quot;*d;a&quot;+m+&quot;-=d}&quot;);a.push(&quot;return new &quot;+r+&quot;(this.data,&quot;+s.map(function(t){return&quot;a&quot;+t}).join(&quot;,&quot;)+&quot;,&quot;+s.map(function(t){return&quot;c&quot;+t}).join(&quot;,&quot;)+&quot;,b)}&quot;),a.push(&quot;proto.step=function &quot;+r+&quot;_step(&quot;+l.join(&quot;,&quot;)+&quot;){var &quot;+s.map(function(t){return&quot;a&quot;+t+&quot;=this.shape[&quot;+t+&quot;]&quot;}).join(&quot;,&quot;)+&quot;,&quot;+s.map(function(t){return&quot;b&quot;+t+&quot;=this.stride[&quot;+t+&quot;]&quot;}).join(&quot;,&quot;)+&quot;,c=this.offset,d=0,ceil=Math.ceil&quot;);for(m=0;m&lt;e;++m)a.push(&quot;if(typeof i&quot;+m+&quot;==='number'){d=i&quot;+m+&quot;|0;if(d&lt;0){c+=b&quot;+m+&quot;*(a&quot;+m+&quot;-1);a&quot;+m+&quot;=ceil(-a&quot;+m+&quot;/d)}else{a&quot;+m+&quot;=ceil(a&quot;+m+&quot;/d)}b&quot;+m+&quot;*=d}&quot;);a.push(&quot;return new &quot;+r+&quot;(this.data,&quot;+s.map(function(t){return&quot;a&quot;+t}).join(&quot;,&quot;)+&quot;,&quot;+s.map(function(t){return&quot;b&quot;+t}).join(&quot;,&quot;)+&quot;,c)}&quot;);var g=new Array(e),v=new Array(e);for(m=0;m&lt;e;++m)g[m]=&quot;a[i&quot;+m+&quot;]&quot;,v[m]=&quot;b[i&quot;+m+&quot;]&quot;;a.push(&quot;proto.transpose=function &quot;+r+&quot;_transpose(&quot;+l+&quot;){&quot;+l.map(function(t,e){return t+&quot;=(&quot;+t+&quot;===undefined?&quot;+e+&quot;:&quot;+t+&quot;|0)&quot;}).join(&quot;;&quot;),&quot;var a=this.shape,b=this.stride;return new &quot;+r+&quot;(this.data,&quot;+g.join(&quot;,&quot;)+&quot;,&quot;+v.join(&quot;,&quot;)+&quot;,this.offset)}&quot;),a.push(&quot;proto.pick=function &quot;+r+&quot;_pick(&quot;+l+&quot;){var a=[],b=[],c=this.offset&quot;);for(m=0;m&lt;e;++m)a.push(&quot;if(typeof i&quot;+m+&quot;==='number'&amp;&amp;i&quot;+m+&quot;&gt;=0){c=(c+this.stride[&quot;+m+&quot;]*i&quot;+m+&quot;)|0}else{a.push(this.shape[&quot;+m+&quot;]);b.push(this.stride[&quot;+m+&quot;])}&quot;);a.push(&quot;var ctor=CTOR_LIST[a.length+1];return ctor(this.data,a,b,c)}&quot;),a.push(&quot;return function construct_&quot;+r+&quot;(data,shape,stride,offset){return new &quot;+r+&quot;(data,&quot;+s.map(function(t){return&quot;shape[&quot;+t+&quot;]&quot;}).join(&quot;,&quot;)+&quot;,&quot;+s.map(function(t){return&quot;stride[&quot;+t+&quot;]&quot;}).join(&quot;,&quot;)+&quot;,offset)}&quot;);return new Function(&quot;CTOR_LIST&quot;,&quot;ORDER&quot;,a.join(&quot;\n&quot;))(c[t],i)}var o=t(&quot;iota-array&quot;),s=t(&quot;is-buffer&quot;),l=&quot;undefined&quot;!=typeof Float64Array,c={float32:[],float64:[],int8:[],int16:[],int32:[],uint8:[],uint16:[],uint32:[],array:[],uint8_clamped:[],buffer:[],generic:[]};e.exports=function(t,e,r,n){if(void 0===t)return(0,c.array[0])([]);&quot;number&quot;==typeof t&amp;&amp;(t=[t]),void 0===e&amp;&amp;(e=[t.length]);var i=e.length;if(void 0===r){r=new Array(i);for(var o=i-1,u=1;o&gt;=0;--o)r[o]=u,u*=e[o]}if(void 0===n)for(n=0,o=0;o&lt;i;++o)r[o]&lt;0&amp;&amp;(n-=(e[o]-1)*r[o]);for(var f=function(t){if(s(t))return&quot;buffer&quot;;if(l)switch(Object.prototype.toString.call(t)){case&quot;[object Float64Array]&quot;:return&quot;float64&quot;;case&quot;[object Float32Array]&quot;:return&quot;float32&quot;;case&quot;[object Int8Array]&quot;:return&quot;int8&quot;;case&quot;[object Int16Array]&quot;:return&quot;int16&quot;;case&quot;[object Int32Array]&quot;:return&quot;int32&quot;;case&quot;[object Uint8Array]&quot;:return&quot;uint8&quot;;case&quot;[object Uint16Array]&quot;:return&quot;uint16&quot;;case&quot;[object Uint32Array]&quot;:return&quot;uint32&quot;;case&quot;[object Uint8ClampedArray]&quot;:return&quot;uint8_clamped&quot;}return Array.isArray(t)?&quot;array&quot;:&quot;generic&quot;}(t),h=c[f];h.length&lt;=i+1;)h.push(a(f,h.length-1));return(0,h[i+1])(t,e,r,n)}},{&quot;iota-array&quot;:281,&quot;is-buffer&quot;:283}],459:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;double-bits&quot;),i=Math.pow(2,-1074),a=-1&gt;&gt;&gt;0;e.exports=function(t,e){if(isNaN(t)||isNaN(e))return NaN;if(t===e)return t;if(0===t)return e&lt;0?-i:i;var r=n.hi(t),o=n.lo(t);return e&gt;t==t&gt;0?o===a?(r+=1,o=0):o+=1:0===o?(o=a,r-=1):o-=1,n.pack(o,r)}},{&quot;double-bits&quot;:131}],460:[function(t,e,r){function n(t,e,r,n){return[&quot;C&quot;,t,e,r,n,r,n]}function i(t,e,r,n,i,a){return[&quot;C&quot;,t/3+2/3*r,e/3+2/3*n,i/3+2/3*r,a/3+2/3*n,i,a]}function a(t,e,r,n,i,s,u,f,h,d){if(d)M=d[0],k=d[1],_=d[2],w=d[3];else{var p=o(t,e,-i);t=p.x,e=p.y;var m=(t-(f=(p=o(f,h,-i)).x))/2,g=(e-(h=p.y))/2,v=m*m/(r*r)+g*g/(n*n);v&gt;1&amp;&amp;(r*=v=Math.sqrt(v),n*=v);var y=r*r,x=n*n,b=(s==u?-1:1)*Math.sqrt(Math.abs((y*x-y*g*g-x*m*m)/(y*g*g+x*m*m)));b==1/0&amp;&amp;(b=1);var _=b*r*g/n+(t+f)/2,w=b*-n*m/r+(e+h)/2,M=Math.asin(((e-w)/n).toFixed(9)),k=Math.asin(((h-w)/n).toFixed(9));M=t&lt;_?l-M:M,k=f&lt;_?l-k:k,M&lt;0&amp;&amp;(M=2*l+M),k&lt;0&amp;&amp;(k=2*l+k),u&amp;&amp;M&gt;k&amp;&amp;(M-=2*l),!u&amp;&amp;k&gt;M&amp;&amp;(k-=2*l)}if(Math.abs(k-M)&gt;c){var A=k,T=f,S=h;k=M+c*(u&amp;&amp;k&gt;M?1:-1);var E=a(f=_+r*Math.cos(k),h=w+n*Math.sin(k),r,n,i,0,u,T,S,[k,A,_,w])}var L=Math.tan((k-M)/4),C=4/3*r*L,z=4/3*n*L,D=[2*t-(t+C*Math.sin(M)),2*e-(e-z*Math.cos(M)),f+C*Math.sin(k),h-z*Math.cos(k),f,h];if(d)return D;E&amp;&amp;(D=D.concat(E));for(var I=0;I&lt;D.length;){var P=o(D[I],D[I+1],i);D[I++]=P.x,D[I++]=P.y}return D}function o(t,e,r){return{x:t*Math.cos(r)-e*Math.sin(r),y:t*Math.sin(r)+e*Math.cos(r)}}function s(t){return t*(l/180)}var l=Math.PI,c=s(120);e.exports=function(t){for(var e,r=[],o=0,l=0,c=0,u=0,f=null,h=null,d=0,p=0,m=0,g=t.length;m&lt;g;m++){var v=t[m],y=v[0];switch(y){case&quot;M&quot;:c=v[1],u=v[2];break;case&quot;A&quot;:(v=a(d,p,v[1],v[2],s(v[3]),v[4],v[5],v[6],v[7])).unshift(&quot;C&quot;),v.length&gt;7&amp;&amp;(r.push(v.splice(0,7)),v.unshift(&quot;C&quot;));break;case&quot;S&quot;:var x=d,b=p;&quot;C&quot;!=e&amp;&amp;&quot;S&quot;!=e||(x+=x-o,b+=b-l),v=[&quot;C&quot;,x,b,v[1],v[2],v[3],v[4]];break;case&quot;T&quot;:&quot;Q&quot;==e||&quot;T&quot;==e?(f=2*d-f,h=2*p-h):(f=d,h=p),v=i(d,p,f,h,v[1],v[2]);break;case&quot;Q&quot;:f=v[1],h=v[2],v=i(d,p,v[1],v[2],v[3],v[4]);break;case&quot;L&quot;:v=n(d,p,v[1],v[2]);break;case&quot;H&quot;:v=n(d,p,v[1],p);break;case&quot;V&quot;:v=n(d,p,d,v[1]);break;case&quot;Z&quot;:v=n(d,p,c,u)}e=y,d=v[v.length-2],p=v[v.length-1],v.length&gt;4?(o=v[v.length-4],l=v[v.length-3]):(o=d,l=p),r.push(v)}return r}},{}],461:[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&lt;n;++o)i[o]=[0,0,0];for(o=0;o&lt;t.length;++o)for(var s=t[o],l=0,c=s[s.length-1],u=s[0],f=0;f&lt;s.length;++f){l=c,c=u,u=s[(f+1)%s.length];for(var h=e[l],d=e[c],p=e[u],m=new Array(3),g=0,v=new Array(3),y=0,x=0;x&lt;3;++x)m[x]=h[x]-d[x],g+=m[x]*m[x],v[x]=p[x]-d[x],y+=v[x]*v[x];if(g*y&gt;a){var b=i[c],_=1/Math.sqrt(g*y);for(x=0;x&lt;3;++x){var w=(x+1)%3,M=(x+2)%3;b[x]+=_*(v[w]*m[M]-v[M]*m[w])}}}for(o=0;o&lt;n;++o){b=i[o];var k=0;for(x=0;x&lt;3;++x)k+=b[x]*b[x];if(k&gt;a)for(_=1/Math.sqrt(k),x=0;x&lt;3;++x)b[x]*=_;else for(x=0;x&lt;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&lt;n;++o){for(var s=t[o],l=new Array(3),c=0;c&lt;3;++c)l[c]=e[s[c]];var u=new Array(3),f=new Array(3);for(c=0;c&lt;3;++c)u[c]=l[1][c]-l[0][c],f[c]=l[2][c]-l[0][c];var h=new Array(3),d=0;for(c=0;c&lt;3;++c){var p=(c+1)%3,m=(c+2)%3;h[c]=u[p]*f[m]-u[m]*f[p],d+=h[c]*h[c]}d=d&gt;a?1/Math.sqrt(d):0;for(c=0;c&lt;3;++c)h[c]*=d;i[o]=h}return i}},{}],462:[function(t,e,r){&quot;use strict&quot;;var n=Object.getOwnPropertySymbols,i=Object.prototype.hasOwnProperty,a=Object.prototype.propertyIsEnumerable;e.exports=function(){try{if(!Object.assign)return!1;var t=new String(&quot;abc&quot;);if(t[5]=&quot;de&quot;,&quot;5&quot;===Object.getOwnPropertyNames(t)[0])return!1;for(var e={},r=0;r&lt;10;r++)e[&quot;_&quot;+String.fromCharCode(r)]=r;if(&quot;0123456789&quot;!==Object.getOwnPropertyNames(e).map(function(t){return e[t]}).join(&quot;&quot;))return!1;var n={};return&quot;abcdefghijklmnopqrst&quot;.split(&quot;&quot;).forEach(function(t){n[t]=t}),&quot;abcdefghijklmnopqrst&quot;===Object.keys(Object.assign({},n)).join(&quot;&quot;)}catch(t){return!1}}()?Object.assign:function(t,e){for(var r,o,s=function(t){if(null===t||void 0===t)throw new TypeError(&quot;Object.assign cannot be called with null or undefined&quot;);return Object(t)}(t),l=1;l&lt;arguments.length;l++){r=Object(arguments[l]);for(var c in r)i.call(r,c)&amp;&amp;(s[c]=r[c]);if(n){o=n(r);for(var u=0;u&lt;o.length;u++)a.call(r,o[u])&amp;&amp;(s[o[u]]=r[o[u]])}}return s}},{}],463:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t,e,r,n,i,a,o,s,l,c){var u=e+a+c;if(f&gt;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&gt;=h?(t[0]=.5*f,t[1]=.5*(i+r)/f,t[2]=.5*(s+n)/f,t[3]=.5*(o-l)/f):a&gt;=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}},{}],464:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r){return Math.sqrt(Math.pow(t,2)+Math.pow(e,2)+Math.pow(r,2))}function i(t,e,r,n){return Math.sqrt(Math.pow(t,2)+Math.pow(e,2)+Math.pow(r,2)+Math.pow(n,2))}function a(t,e){var r=e[0],n=e[1],a=e[2],o=e[3],s=i(r,n,a,o);s&gt;1e-6?(t[0]=r/s,t[1]=n/s,t[2]=a/s,t[3]=o/s):(t[0]=t[1]=t[2]=0,t[3]=1)}function o(t,e,r){this.radius=s([r]),this.center=s(e),this.rotation=s(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)}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),a(r=[].slice.call(r,0,4),r);var i=new o(r,e,Math.log(n));return i.setDistanceLimits(t.zoomMin,t.zoomMax),(&quot;eye&quot;in t||&quot;up&quot;in t)&amp;&amp;i.lookAt(0,t.eye,t.center,t.up),i};var s=t(&quot;filtered-vector&quot;),l=t(&quot;gl-mat4/lookAt&quot;),c=t(&quot;gl-mat4/fromQuat&quot;),u=t(&quot;gl-mat4/invert&quot;),f=t(&quot;./lib/quatFromFrame&quot;),h=o.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;a(e,e);var r=this.computedMatrix;c(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&lt;3;++l){for(var u=0,f=0;f&lt;3;++f)u+=r[l+4*f]*i[f];r[12+l]=-u}},h.getMatrix=function(t,e){this.recalcMatrix(t);var r=this.computedMatrix;if(e){for(var n=0;n&lt;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,i){e=e||0,r=r||0,i=i||0,this.recalcMatrix(t);var a=this.computedMatrix,o=a[1],s=a[5],l=a[9],c=n(o,s,l);o/=c,s/=c,l/=c;var u=a[0],f=a[4],h=a[8],d=u*o+f*s+h*l,p=n(u-=o*d,f-=s*d,h-=l*d);u/=p,f/=p,h/=p;var m=a[2],g=a[6],v=a[10],y=m*o+g*s+v*l,x=m*u+g*f+v*h,b=n(m-=y*o+x*u,g-=y*s+x*f,v-=y*l+x*h);m/=b,g/=b,v/=b;var _=u*e+o*r,w=f*e+s*r,M=h*e+l*r;this.center.move(t,_,w,M);var k=Math.exp(this.computedRadius[0]);k=Math.max(1e-4,k+i),this.radius.set(t,Math.log(k))},h.rotate=function(t,e,r,a){this.recalcMatrix(t),e=e||0,r=r||0;var o=this.computedMatrix,s=o[0],l=o[4],c=o[8],u=o[1],f=o[5],h=o[9],d=o[2],p=o[6],m=o[10],g=e*s+r*u,v=e*l+r*f,y=e*c+r*h,x=-(p*y-m*v),b=-(m*g-d*y),_=-(d*v-p*g),w=Math.sqrt(Math.max(0,1-Math.pow(x,2)-Math.pow(b,2)-Math.pow(_,2))),M=i(x,b,_,w);M&gt;1e-6?(x/=M,b/=M,_/=M,w/=M):(x=b=_=0,w=1);var k=this.computedRotation,A=k[0],T=k[1],S=k[2],E=k[3],L=A*w+E*x+T*_-S*b,C=T*w+E*b+S*x-A*_,z=S*w+E*_+A*b-T*x,D=E*w-A*x-T*b-S*_;if(a){x=d,b=p,_=m;var I=Math.sin(a)/n(x,b,_);x*=I,b*=I,_*=I,D=D*(w=Math.cos(e))-(L=L*w+D*x+C*_-z*b)*x-(C=C*w+D*b+z*x-L*_)*b-(z=z*w+D*_+L*b-C*x)*_}var P=i(L,C,z,D);P&gt;1e-6?(L/=P,C/=P,z/=P,D/=P):(L=C=z=0,D=1),this.rotation.set(t,L,C,z,D)},h.lookAt=function(t,e,r,n){this.recalcMatrix(t),r=r||this.computedCenter,e=e||this.computedEye,n=n||this.computedUp;var i=this.computedMatrix;l(i,e,r,n);var o=this.computedRotation;f(o,i[0],i[1],i[2],i[4],i[5],i[6],i[8],i[9],i[10]),a(o,o),this.rotation.set(t,o[0],o[1],o[2],o[3]);for(var s=0,c=0;c&lt;3;++c)s+=Math.pow(r[c]-e[c],2);this.radius.set(t,.5*Math.log(Math.max(s,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;f(r,e[0],e[1],e[2],e[4],e[5],e[6],e[8],e[9],e[10]),a(r,r),this.rotation.set(t,r[0],r[1],r[2],r[3]);var n=this.computedMatrix;u(n,e);var i=n[15];if(Math.abs(i)&gt;1e-6){var o=n[12]/i,s=n[13]/i,l=n[14]/i;this.recalcMatrix(t);var c=Math.exp(this.computedRadius[0]);this.center.set(t,o-n[2]*c,s-n[6]*c,l-n[10]*c),this.radius.idle(t)}else this.center.idle(t),this.radius.idle(t)},h.setDistance=function(t,e){e&gt;0&amp;&amp;this.radius.set(t,Math.log(e))},h.setDistanceLimits=function(t,e){t=t&gt;0?Math.log(t):-1/0,e=e&gt;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&amp;&amp;this.center.set(e,r[0],r[1],r[2]);var n=t.rotation;n&amp;&amp;this.rotation.set(e,n[0],n[1],n[2],n[3]);var i=t.distance;i&amp;&amp;i&gt;0&amp;&amp;this.radius.set(e,Math.log(i)),this.setDistanceLimits(t.zoomMin,t.zoomMax)}},{&quot;./lib/quatFromFrame&quot;:463,&quot;filtered-vector&quot;:142,&quot;gl-mat4/fromQuat&quot;:183,&quot;gl-mat4/invert&quot;:186,&quot;gl-mat4/lookAt&quot;:187}],465:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;repeat-string&quot;);e.exports=function(t,e,r){return r=void 0!==r?r+&quot;&quot;:&quot; &quot;,n(r,e)+t}},{&quot;repeat-string&quot;:507}],466:[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),&quot;m&quot;==o&amp;&amp;i.length&gt;2&amp;&amp;(e.push([r].concat(i.splice(0,2))),o=&quot;l&quot;,r=&quot;m&quot;==r?&quot;l&quot;:&quot;L&quot;);;){if(i.length==n[o])return i.unshift(r),e.push(i);if(i.length&lt;n[o])throw new Error(&quot;malformed path data&quot;);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,a=/-?[0-9]*\.?[0-9]+(?:e[-+]?\d+)?/gi},{}],467:[function(t,e,r){e.exports=function(t,e){e||(e=[0,&quot;&quot;]),t=String(t);var r=parseFloat(t,10);return e[0]=r,e[1]=t.match(/[\d.\-\+]*\s*(.*)/)[1]||&quot;&quot;,e}},{}],468:[function(t,e,r){(function(t){function e(t,e){for(var r=0,n=t.length-1;n&gt;=0;n--){var i=t[n];&quot;.&quot;===i?t.splice(n,1):&quot;..&quot;===i?(t.splice(n,1),r++):r&amp;&amp;(t.splice(n,1),r--)}if(e)for(;r--;r)t.unshift(&quot;..&quot;);return t}function n(t,e){if(t.filter)return t.filter(e);for(var r=[],n=0;n&lt;t.length;n++)e(t[n],n,t)&amp;&amp;r.push(t[n]);return r}var i=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/,a=function(t){return i.exec(t).slice(1)};r.resolve=function(){for(var r=&quot;&quot;,i=!1,a=arguments.length-1;a&gt;=-1&amp;&amp;!i;a--){var o=a&gt;=0?arguments[a]:t.cwd();if(&quot;string&quot;!=typeof o)throw new TypeError(&quot;Arguments to path.resolve must be strings&quot;);o&amp;&amp;(r=o+&quot;/&quot;+r,i=&quot;/&quot;===o.charAt(0))}return r=e(n(r.split(&quot;/&quot;),function(t){return!!t}),!i).join(&quot;/&quot;),(i?&quot;/&quot;:&quot;&quot;)+r||&quot;.&quot;},r.normalize=function(t){var i=r.isAbsolute(t),a=&quot;/&quot;===o(t,-1);return(t=e(n(t.split(&quot;/&quot;),function(t){return!!t}),!i).join(&quot;/&quot;))||i||(t=&quot;.&quot;),t&amp;&amp;a&amp;&amp;(t+=&quot;/&quot;),(i?&quot;/&quot;:&quot;&quot;)+t},r.isAbsolute=function(t){return&quot;/&quot;===t.charAt(0)},r.join=function(){var t=Array.prototype.slice.call(arguments,0);return r.normalize(n(t,function(t,e){if(&quot;string&quot;!=typeof t)throw new TypeError(&quot;Arguments to path.join must be strings&quot;);return t}).join(&quot;/&quot;))},r.relative=function(t,e){function n(t){for(var e=0;e&lt;t.length&amp;&amp;&quot;&quot;===t[e];e++);for(var r=t.length-1;r&gt;=0&amp;&amp;&quot;&quot;===t[r];r--);return e&gt;r?[]:t.slice(e,r-e+1)}t=r.resolve(t).substr(1),e=r.resolve(e).substr(1);for(var i=n(t.split(&quot;/&quot;)),a=n(e.split(&quot;/&quot;)),o=Math.min(i.length,a.length),s=o,l=0;l&lt;o;l++)if(i[l]!==a[l]){s=l;break}var c=[];for(l=s;l&lt;i.length;l++)c.push(&quot;..&quot;);return(c=c.concat(a.slice(s))).join(&quot;/&quot;)},r.sep=&quot;/&quot;,r.delimiter=&quot;:&quot;,r.dirname=function(t){var e=a(t),r=e[0],n=e[1];return r||n?(n&amp;&amp;(n=n.substr(0,n.length-1)),r+n):&quot;.&quot;},r.basename=function(t,e){var r=a(t)[2];return e&amp;&amp;r.substr(-1*e.length)===e&amp;&amp;(r=r.substr(0,r.length-e.length)),r},r.extname=function(t){return a(t)[3]};var o=&quot;b&quot;===&quot;ab&quot;.substr(-1)?function(t,e,r){return t.substr(e,r)}:function(t,e,r){return e&lt;0&amp;&amp;(e=t.length+e),t.substr(e,r)}}).call(this,t(&quot;_process&quot;))},{_process:488}],469:[function(t,e,r){&quot;use strict&quot;;function n(t){var e;t&amp;&amp;t.length&amp;&amp;(t=(e=t).length);var r=new Uint8Array(t||0);return e&amp;&amp;r.set(e),r.readUInt32LE=a.readUInt32LE,r.writeUInt32LE=a.writeUInt32LE,r.readInt32LE=a.readInt32LE,r.writeInt32LE=a.writeInt32LE,r.readFloatLE=a.readFloatLE,r.writeFloatLE=a.writeFloatLE,r.readDoubleLE=a.readDoubleLE,r.writeDoubleLE=a.writeDoubleLE,r.toString=a.toString,r.write=a.write,r.slice=a.slice,r.copy=a.copy,r._isBuffer=!0,r}function i(t){for(var e,r,n=t.length,i=[],a=0;a&lt;n;a++){if((e=t.charCodeAt(a))&gt;55295&amp;&amp;e&lt;57344){if(!r){e&gt;56319||a+1===n?i.push(239,191,189):r=e;continue}if(e&lt;56320){i.push(239,191,189),r=e;continue}e=r-55296&lt;&lt;10|e-56320|65536,r=null}else r&amp;&amp;(i.push(239,191,189),r=null);e&lt;128?i.push(e):e&lt;2048?i.push(e&gt;&gt;6|192,63&amp;e|128):e&lt;65536?i.push(e&gt;&gt;12|224,e&gt;&gt;6&amp;63|128,63&amp;e|128):i.push(e&gt;&gt;18|240,e&gt;&gt;12&amp;63|128,e&gt;&gt;6&amp;63|128,63&amp;e|128)}return i}e.exports=n;var a,o,s,l=t(&quot;ieee754&quot;);(a={readUInt32LE:function(t){return(this[t]|this[t+1]&lt;&lt;8|this[t+2]&lt;&lt;16)+16777216*this[t+3]},writeUInt32LE:function(t,e){this[e]=t,this[e+1]=t&gt;&gt;&gt;8,this[e+2]=t&gt;&gt;&gt;16,this[e+3]=t&gt;&gt;&gt;24},readInt32LE:function(t){return(this[t]|this[t+1]&lt;&lt;8|this[t+2]&lt;&lt;16)+(this[t+3]&lt;&lt;24)},readFloatLE:function(t){return l.read(this,t,!0,23,4)},readDoubleLE:function(t){return l.read(this,t,!0,52,8)},writeFloatLE:function(t,e){return l.write(this,t,e,!0,23,4)},writeDoubleLE:function(t,e){return l.write(this,t,e,!0,52,8)},toString:function(t,e,r){var n=&quot;&quot;,i=&quot;&quot;;e=e||0,r=Math.min(this.length,r||this.length);for(var a=e;a&lt;r;a++){var o=this[a];o&lt;=127?(n+=decodeURIComponent(i)+String.fromCharCode(o),i=&quot;&quot;):i+=&quot;%&quot;+o.toString(16)}return n+=decodeURIComponent(i)},write:function(t,e){for(var r=t===o?s:i(t),n=0;n&lt;r.length;n++)this[e+n]=r[n]},slice:function(t,e){return this.subarray(t,e)},copy:function(t,e){e=e||0;for(var r=0;r&lt;this.length;r++)t[e+r]=this[r]}}).writeInt32LE=a.writeUInt32LE,n.byteLength=function(t){return o=t,(s=i(t)).length},n.isBuffer=function(t){return!(!t||!t._isBuffer)}},{ieee754:277}],470:[function(t,e,r){(function(r){&quot;use strict&quot;;function n(t){this.buf=d.isBuffer(t)?t:new d(t||0),this.pos=0,this.length=this.buf.length}function i(t,e){for(var r=0;r&lt;t.length;r++)e.writeVarint(t[r])}function a(t,e){for(var r=0;r&lt;t.length;r++)e.writeSVarint(t[r])}function o(t,e){for(var r=0;r&lt;t.length;r++)e.writeFloat(t[r])}function s(t,e){for(var r=0;r&lt;t.length;r++)e.writeDouble(t[r])}function l(t,e){for(var r=0;r&lt;t.length;r++)e.writeBoolean(t[r])}function c(t,e){for(var r=0;r&lt;t.length;r++)e.writeFixed32(t[r])}function u(t,e){for(var r=0;r&lt;t.length;r++)e.writeSFixed32(t[r])}function f(t,e){for(var r=0;r&lt;t.length;r++)e.writeFixed64(t[r])}function h(t,e){for(var r=0;r&lt;t.length;r++)e.writeSFixed64(t[r])}e.exports=n;var d=r.Buffer||t(&quot;./buffer&quot;);n.Varint=0,n.Fixed64=1,n.Bytes=2,n.Fixed32=5;var p=Math.pow(2,63);n.prototype={destroy:function(){this.buf=null},readFields:function(t,e,r){for(r=r||this.length;this.pos&lt;r;){var n=this.readVarint(),i=n&gt;&gt;3,a=this.pos;t(i,e,this),this.pos===a&amp;&amp;this.skip(n)}return e},readMessage:function(t,e){return this.readFields(t,e,this.readVarint()+this.pos)},readFixed32:function(){var t=this.buf.readUInt32LE(this.pos);return this.pos+=4,t},readSFixed32:function(){var t=this.buf.readInt32LE(this.pos);return this.pos+=4,t},readFixed64:function(){var t=this.buf.readUInt32LE(this.pos)+4294967296*this.buf.readUInt32LE(this.pos+4);return this.pos+=8,t},readSFixed64:function(){var t=this.buf.readUInt32LE(this.pos)+4294967296*this.buf.readInt32LE(this.pos+4);return this.pos+=8,t},readFloat:function(){var t=this.buf.readFloatLE(this.pos);return this.pos+=4,t},readDouble:function(){var t=this.buf.readDoubleLE(this.pos);return this.pos+=8,t},readVarint:function(){var t,e,r=this.buf;return e=r[this.pos++],t=127&amp;e,e&lt;128?t:(e=r[this.pos++],t|=(127&amp;e)&lt;&lt;7,e&lt;128?t:(e=r[this.pos++],t|=(127&amp;e)&lt;&lt;14,e&lt;128?t:(e=r[this.pos++],t|=(127&amp;e)&lt;&lt;21,e&lt;128?t:function(t,e){var r,n=e.buf;if(r=n[e.pos++],t+=268435456*(127&amp;r),r&lt;128)return t;if(r=n[e.pos++],t+=34359738368*(127&amp;r),r&lt;128)return t;if(r=n[e.pos++],t+=4398046511104*(127&amp;r),r&lt;128)return t;if(r=n[e.pos++],t+=562949953421312*(127&amp;r),r&lt;128)return t;if(r=n[e.pos++],t+=72057594037927940*(127&amp;r),r&lt;128)return t;if(r=n[e.pos++],t+=0x8000000000000000*(127&amp;r),r&lt;128)return t;throw new Error(&quot;Expected varint not more than 10 bytes&quot;)}(t,this))))},readVarint64:function(){var t=this.pos,e=this.readVarint();if(e&lt;p)return e;for(var r=this.pos-2;255===this.buf[r];)r--;r&lt;t&amp;&amp;(r=t),e=0;for(var n=0;n&lt;r-t+1;n++){var i=127&amp;~this.buf[t+n];e+=n&lt;4?i&lt;&lt;7*n:i*Math.pow(2,7*n)}return-e-1},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.buf.toString(&quot;utf8&quot;,this.pos,t);return this.pos=t,e},readBytes:function(){var t=this.readVarint()+this.pos,e=this.buf.slice(this.pos,t);return this.pos=t,e},readPackedVarint:function(){for(var t=this.readVarint()+this.pos,e=[];this.pos&lt;t;)e.push(this.readVarint());return e},readPackedSVarint:function(){for(var t=this.readVarint()+this.pos,e=[];this.pos&lt;t;)e.push(this.readSVarint());return e},readPackedBoolean:function(){for(var t=this.readVarint()+this.pos,e=[];this.pos&lt;t;)e.push(this.readBoolean());return e},readPackedFloat:function(){for(var t=this.readVarint()+this.pos,e=[];this.pos&lt;t;)e.push(this.readFloat());return e},readPackedDouble:function(){for(var t=this.readVarint()+this.pos,e=[];this.pos&lt;t;)e.push(this.readDouble());return e},readPackedFixed32:function(){for(var t=this.readVarint()+this.pos,e=[];this.pos&lt;t;)e.push(this.readFixed32());return e},readPackedSFixed32:function(){for(var t=this.readVarint()+this.pos,e=[];this.pos&lt;t;)e.push(this.readSFixed32());return e},readPackedFixed64:function(){for(var t=this.readVarint()+this.pos,e=[];this.pos&lt;t;)e.push(this.readFixed64());return e},readPackedSFixed64:function(){for(var t=this.readVarint()+this.pos,e=[];this.pos&lt;t;)e.push(this.readSFixed64());return e},skip:function(t){var e=7&amp;t;if(e===n.Varint)for(;this.buf[this.pos++]&gt;127;);else if(e===n.Bytes)this.pos=this.readVarint()+this.pos;else if(e===n.Fixed32)this.pos+=4;else{if(e!==n.Fixed64)throw new Error(&quot;Unimplemented type: &quot;+e);this.pos+=8}},writeTag:function(t,e){this.writeVarint(t&lt;&lt;3|e)},realloc:function(t){for(var e=this.length||16;e&lt;this.pos+t;)e*=2;if(e!==this.length){var r=new d(e);this.buf.copy(r),this.buf=r,this.length=e}},finish:function(){return this.length=this.pos,this.pos=0,this.buf.slice(0,this.length)},writeFixed32:function(t){this.realloc(4),this.buf.writeUInt32LE(t,this.pos),this.pos+=4},writeSFixed32:function(t){this.realloc(4),this.buf.writeInt32LE(t,this.pos),this.pos+=4},writeFixed64:function(t){this.realloc(8),this.buf.writeInt32LE(-1&amp;t,this.pos),this.buf.writeUInt32LE(Math.floor(t*(1/4294967296)),this.pos+4),this.pos+=8},writeSFixed64:function(t){this.realloc(8),this.buf.writeInt32LE(-1&amp;t,this.pos),this.buf.writeInt32LE(Math.floor(t*(1/4294967296)),this.pos+4),this.pos+=8},writeVarint:function(t){(t=+t)&gt;268435455?function(t,e){e.realloc(10);for(var r=e.pos+10;t&gt;=1;){if(e.pos&gt;=r)throw new Error(&quot;Given varint doesn't fit into 10 bytes&quot;);var n=255&amp;t;e.buf[e.pos++]=n|(t&gt;=128?128:0),t/=128}}(t,this):(this.realloc(4),this.buf[this.pos++]=127&amp;t|(t&gt;127?128:0),t&lt;=127||(this.buf[this.pos++]=127&amp;(t&gt;&gt;&gt;=7)|(t&gt;127?128:0),t&lt;=127||(this.buf[this.pos++]=127&amp;(t&gt;&gt;&gt;=7)|(t&gt;127?128:0),t&lt;=127||(this.buf[this.pos++]=t&gt;&gt;&gt;7&amp;127))))},writeSVarint:function(t){this.writeVarint(t&lt;0?2*-t-1:2*t)},writeBoolean:function(t){this.writeVarint(Boolean(t))},writeString:function(t){t=String(t);var e=d.byteLength(t);this.writeVarint(e),this.realloc(e),this.buf.write(t,this.pos),this.pos+=e},writeFloat:function(t){this.realloc(4),this.buf.writeFloatLE(t,this.pos),this.pos+=4},writeDouble:function(t){this.realloc(8),this.buf.writeDoubleLE(t,this.pos),this.pos+=8},writeBytes:function(t){var e=t.length;this.writeVarint(e),this.realloc(e);for(var r=0;r&lt;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&gt;=128&amp;&amp;function(t,e,r){var n=e&lt;=16383?1:e&lt;=2097151?2:e&lt;=268435455?3:Math.ceil(Math.log(e)/(7*Math.LN2));r.realloc(n);for(var i=r.pos-1;i&gt;=t;i--)r.buf[i+n]=r.buf[i]}(r,n,this),this.pos=r-1,this.writeVarint(n),this.pos+=n},writeMessage:function(t,e,r){this.writeTag(t,n.Bytes),this.writeRawMessage(e,r)},writePackedVarint:function(t,e){this.writeMessage(t,i,e)},writePackedSVarint:function(t,e){this.writeMessage(t,a,e)},writePackedBoolean:function(t,e){this.writeMessage(t,l,e)},writePackedFloat:function(t,e){this.writeMessage(t,o,e)},writePackedDouble:function(t,e){this.writeMessage(t,s,e)},writePackedFixed32:function(t,e){this.writeMessage(t,c,e)},writePackedSFixed32:function(t,e){this.writeMessage(t,u,e)},writePackedFixed64:function(t,e){this.writeMessage(t,f,e)},writePackedSFixed64:function(t,e){this.writeMessage(t,h,e)},writeBytesField:function(t,e){this.writeTag(t,n.Bytes),this.writeBytes(e)},writeFixed32Field:function(t,e){this.writeTag(t,n.Fixed32),this.writeFixed32(e)},writeSFixed32Field:function(t,e){this.writeTag(t,n.Fixed32),this.writeSFixed32(e)},writeFixed64Field:function(t,e){this.writeTag(t,n.Fixed64),this.writeFixed64(e)},writeSFixed64Field:function(t,e){this.writeTag(t,n.Fixed64),this.writeSFixed64(e)},writeVarintField:function(t,e){this.writeTag(t,n.Varint),this.writeVarint(e)},writeSVarintField:function(t,e){this.writeTag(t,n.Varint),this.writeSVarint(e)},writeStringField:function(t,e){this.writeTag(t,n.Bytes),this.writeString(e)},writeFloatField:function(t,e){this.writeTag(t,n.Fixed32),this.writeFloat(e)},writeDoubleField:function(t,e){this.writeTag(t,n.Fixed64),this.writeDouble(e)},writeBooleanField:function(t,e){this.writeVarintField(t,Boolean(e))}}}).call(this,&quot;undefined&quot;!=typeof global?global:&quot;undefined&quot;!=typeof self?self:&quot;undefined&quot;!=typeof window?window:{})},{&quot;./buffer&quot;:469}],471:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t){var e=t.length;if(e&lt;n){for(var r=1,a=0;a&lt;e;++a)for(var o=0;o&lt;a;++o)if(t[a]&lt;t[o])r=-r;else if(t[a]===t[o])return 0;return r}var s=i.mallocUint8(e);for(a=0;a&lt;e;++a)s[a]=0;for(r=1,a=0;a&lt;e;++a)if(!s[a]){var l=1;for(s[a]=1,o=t[a];o!==a;o=t[o]){if(s[o])return i.freeUint8(s),0;l+=1,s[o]=1}1&amp;l||(r=-r)}return i.freeUint8(s),r};var n=32,i=t(&quot;typedarray-pool&quot;)},{&quot;typedarray-pool&quot;:554}],472:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;typedarray-pool&quot;),i=t(&quot;invert-permutation&quot;);r.rank=function(t){var e=t.length;switch(e){case 0:case 1:return 0;case 2:return t[1]}var r,a,o,s=n.mallocUint32(e),l=n.mallocUint32(e),c=0;for(i(t,l),o=0;o&lt;e;++o)s[o]=t[o];for(o=e-1;o&gt;0;--o)a=l[o],r=s[o],s[o]=s[a],s[a]=r,l[o]=l[r],l[r]=a,c=(c+r)*o;return n.freeUint32(l),n.freeUint32(s),c},r.unrank=function(t,e,r){switch(t){case 0:return r||[];case 1:return r?(r[0]=0,r):[0];case 2:return r?(e?(r[0]=0,r[1]=1):(r[0]=1,r[1]=0),r):e?[0,1]:[1,0]}var n,i,a,o=1;for((r=r||new Array(t))[0]=0,a=1;a&lt;t;++a)r[a]=a,o=o*a|0;for(a=t-1;a&gt;0;--a)e=e-(n=e/o|0)*o|0,o=o/a|0,i=0|r[a],r[a]=0|r[n],r[n]=0|i;return r}},{&quot;invert-permutation&quot;:280,&quot;typedarray-pool&quot;:554}],473:[function(t,e,r){&quot;use strict&quot;;function n(t){return i[t]?i[t]:(&quot;string&quot;==typeof t&amp;&amp;(t=i[t]=t.split(/\s*,\s*|\s+/)),t)}e.exports=function(t,e,r){var i,a,o={};if(&quot;string&quot;==typeof e&amp;&amp;(e=n(e)),Array.isArray(e)){var s={};for(a=0;a&lt;e.length;a++)s[e[a]]=!0;e=s}for(i in e)e[i]=n(e[i]);var l={};for(i in e){var c=e[i];if(Array.isArray(c))for(a=0;a&lt;c.length;a++){var u=c[a];if(r&amp;&amp;(l[u]=!0),u in t){if(o[i]=t[u],r)for(var f=a;f&lt;c.length;f++)l[c[f]]=!0;break}}else i in t&amp;&amp;(e[i]&amp;&amp;(o[i]=t[i]),r&amp;&amp;(l[i]=!0))}if(r)for(i in t)l[i]||(o[i]=t[i]);return o};var i={}},{}],474:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t,e){function r(t,e){var r=c[e][t[e]];r.splice(r.indexOf(t),1)}function i(t,i,a){for(var o,s,l,u=0;u&lt;2;++u)if(c[u][i].length&gt;0){o=c[u][i][0],l=u;break}s=o[1^l];for(var f=0;f&lt;2;++f)for(var h=c[f][i],d=0;d&lt;h.length;++d){var p=h[d],m=p[1^f];n(e[t],e[i],e[s],e[m])&gt;0&amp;&amp;(o=p,s=m,l=f)}return a?s:(o&amp;&amp;r(o,l),s)}function a(t,a){var o=c[a][t][0],s=[t];r(o,a);for(var l=o[1^a];;){for(;l!==t;)s.push(l),l=i(s[s.length-2],l,!1);if(c[0][t].length+c[1][t].length===0)break;var u=s[s.length-1],f=t,h=s[1],d=i(u,f,!0);if(n(e[u],e[f],e[h],e[d])&lt;0)break;s.push(t),l=i(u,f)}return s}function o(t,e){return e[1]===e[e.length-1]}for(var s=0|e.length,l=t.length,c=[new Array(s),new Array(s)],u=0;u&lt;s;++u)c[0][u]=[],c[1][u]=[];for(u=0;u&lt;l;++u){var f=t[u];c[0][f[0]].push(f),c[1][f[1]].push(f)}var h=[];for(u=0;u&lt;s;++u)c[0][u].length+c[1][u].length===0&amp;&amp;h.push([u]);for(u=0;u&lt;s;++u)for(var d=0;d&lt;2;++d){for(var p=[];c[d][u].length&gt;0;){c[0][u].length;var m=a(u,d);o(0,m)?p.push.apply(p,m):(p.length&gt;0&amp;&amp;h.push(p),p=m)}p.length&gt;0&amp;&amp;h.push(p)}return h};var n=t(&quot;compare-angle&quot;)},{&quot;compare-angle&quot;:106}],475:[function(t,e,r){&quot;use strict&quot;;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&lt;e.length;++s){var l=r[s].length;a[s]=l,i[s]=!0,l&lt;=1&amp;&amp;o.push(s)}for(;o.length&gt;0;){i[d=o.pop()]=!1;var c=r[d];for(s=0;s&lt;c.length;++s){var u=c[s];0==--a[u]&amp;&amp;o.push(u)}}var f=new Array(e.length),h=[];for(s=0;s&lt;e.length;++s)if(i[s]){var d=h.length;f[s]=d,h.push(e[s])}else f[s]=-1;var p=[];for(s=0;s&lt;t.length;++s){var m=t[s];i[m[0]]&amp;&amp;i[m[1]]&amp;&amp;p.push([f[m[0]],f[m[1]]])}return[p,h]};var n=t(&quot;edges-to-adjacency-list&quot;)},{&quot;edges-to-adjacency-list&quot;:136}],476:[function(t,e,r){&quot;use strict&quot;;function n(t,e){for(var r=new Array(t),n=0;n&lt;t;++n)r[n]=e;return r}e.exports=function(t,e){function r(t){for(var e=t.length,r=0;r&lt;e;++r)if(!C[t[r]])return!1;return!0}t=(R=u(t,e))[0];for(var f=(e=R[1]).length,h=(t.length,i(t,e.length)),d=0;d&lt;f;++d)if(h[d].length%2==1)throw new Error(&quot;planar-graph-to-polyline: graph must be manifold&quot;);var p=a(t,e),m=(p=p.filter(function(t){for(var r=t.length,n=[0],i=0;i&lt;r;++i){var a=e[t[i]],o=e[t[(i+1)%r]],c=s(-a[0],a[1]),u=s(-a[0],o[1]),f=s(o[0],a[1]),h=s(o[0],o[1]);n=l(n,l(l(c,u),l(f,h)))}return n[n.length-1]&gt;0})).length,g=new Array(m),v=new Array(m);for(d=0;d&lt;m;++d){g[d]=d;var y=new Array(m),x=p[d].map(function(t){return e[t]}),b=o([x]),_=0;t:for(var w=0;w&lt;m;++w)if(y[w]=0,d!==w){for(var M=(H=p[w]).length,k=0;k&lt;M;++k){var A=b(e[H[k]]);if(0!==A){A&lt;0&amp;&amp;(y[w]=1,_+=1);continue t}}y[w]=1,_+=1}v[d]=[_,d,y]}for(v.sort(function(t,e){return e[0]-t[0]}),d=0;d&lt;m;++d){var T=(y=v[d])[1],S=y[2];for(w=0;w&lt;m;++w)S[w]&amp;&amp;(g[w]=T)}var E=function(t){for(var e=new Array(t),r=0;r&lt;t;++r)e[r]=[];return e}(m);for(d=0;d&lt;m;++d)E[d].push(g[d]),E[g[d]].push(d);var L={},C=n(f,!1);for(d=0;d&lt;m;++d)for(M=(H=p[d]).length,w=0;w&lt;M;++w){var z=H[w],D=H[(w+1)%M],I=Math.min(z,D)+&quot;:&quot;+Math.max(z,D);if(I in L){var P=L[I];E[P].push(d),E[d].push(P),C[z]=C[D]=!0}else L[I]=d}var O=[],F=n(m,-1);for(d=0;d&lt;m;++d)g[d]!==d||r(p[d])?F[d]=-1:(O.push(d),F[d]=0);for(var R=[];O.length&gt;0;){var N=O.pop(),j=E[N];c(j,function(t,e){return t-e});var B,U=j.length,V=F[N];for(0===V&amp;&amp;(B=[H=p[N]]),d=0;d&lt;U;++d){var q=j[d];if(!(F[q]&gt;=0)&amp;&amp;(F[q]=1^V,O.push(q),0===V)){var H;r(H=p[q])||(H.reverse(),B.push(H))}}0===V&amp;&amp;R.push(B)}return R};var i=t(&quot;edges-to-adjacency-list&quot;),a=t(&quot;planar-dual&quot;),o=t(&quot;point-in-big-polygon&quot;),s=t(&quot;two-product&quot;),l=t(&quot;robust-sum&quot;),c=t(&quot;uniq&quot;),u=t(&quot;./lib/trim-leaves&quot;)},{&quot;./lib/trim-leaves&quot;:475,&quot;edges-to-adjacency-list&quot;:136,&quot;planar-dual&quot;:474,&quot;point-in-big-polygon&quot;:478,&quot;robust-sum&quot;:520,&quot;two-product&quot;:552,uniq:556}],477:[function(t,e,r){&quot;use strict&quot;;function n(t,e){this.x=t,this.y=e}e.exports=n,n.prototype={clone:function(){return new n(this.x,this.y)},add:function(t){return this.clone()._add(t)},sub:function(t){return this.clone()._sub(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)},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&amp;&amp;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},_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},_round:function(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this}},n.convert=function(t){return t instanceof n?t:Array.isArray(t)?new n(t[0],t[1]):t}},{}],478:[function(t,e,r){function n(){return!0}function i(t){for(var e={},r=0;r&lt;t.length;++r){var i=t[r],a=i[0][0],o=i[0][1],s=i[1][1],c=[Math.min(o,s),Math.max(o,s)];a in e?e[a].push(c):e[a]=[c]}var u={},f=Object.keys(e);for(r=0;r&lt;f.length;++r){var h=e[f[r]];u[f[r]]=l(h)}return function(t){return function(e,r){var i=t[e];return!!i&amp;&amp;!!i.queryPoint(r,n)}}(u)}function a(t){return 1}e.exports=function(t){for(var e=t.length,r=[],n=[],l=0;l&lt;e;++l)for(var u=t[l],f=u.length,h=f-1,d=0;d&lt;f;h=d++){var p=u[h],m=u[d];p[0]===m[0]?n.push([p,m]):r.push([p,m])}if(0===r.length)return 0===n.length?a:function(t){return function(e){return t(e[0],e[1])?0:1}}(i(n));var g=s(r),v=function(t,e){return function(r){var n=c.le(e,r[0]);if(n&lt;0)return 1;var i=t[n];if(!i){if(!(n&gt;0&amp;&amp;e[n]===r[0]))return 1;i=t[n-1]}for(var a=1;i;){var s=i.key,l=o(r,s[0],s[1]);if(s[0][0]&lt;s[1][0])if(l&lt;0)i=i.left;else{if(!(l&gt;0))return 0;a=-1,i=i.right}else if(l&gt;0)i=i.left;else{if(!(l&lt;0))return 0;a=1,i=i.right}}return a}}(g.slabs,g.coordinates);return 0===n.length?v:function(t,e){return function(r){return t(r[0],r[1])?0:e(r)}}(i(n),v)};var o=t(&quot;robust-orientation&quot;)[3],s=t(&quot;slab-decomposition&quot;),l=t(&quot;interval-tree-1d&quot;),c=t(&quot;binary-search-bounds&quot;)},{&quot;binary-search-bounds&quot;:70,&quot;interval-tree-1d&quot;:279,&quot;robust-orientation&quot;:515,&quot;slab-decomposition&quot;:532}],479:[function(t,e,r){function n(t,e,r){var n=i.segments(t),a=i.segments(e),o=r(i.combine(n,a));return i.polygon(o)}var i,a=t(&quot;./lib/build-log&quot;),o=t(&quot;./lib/epsilon&quot;),s=t(&quot;./lib/intersecter&quot;),l=t(&quot;./lib/segment-chainer&quot;),c=t(&quot;./lib/segment-selector&quot;),u=t(&quot;./lib/geojson&quot;),f=!1,h=o();i={buildLog:function(t){return!0===t?f=a():!1===t&amp;&amp;(f=!1),!1!==f&amp;&amp;f.list},epsilon:function(t){return h.epsilon(t)},segments:function(t){var e=s(!0,h,f);return t.regions.forEach(e.addRegion),{segments:e.calculate(t.inverted),inverted:t.inverted}},combine:function(t,e){return{combined:s(!1,h,f).calculate(t.segments,t.inverted,e.segments,e.inverted),inverted1:t.inverted,inverted2:e.inverted}},selectUnion:function(t){return{segments:c.union(t.combined,f),inverted:t.inverted1||t.inverted2}},selectIntersect:function(t){return{segments:c.intersect(t.combined,f),inverted:t.inverted1&amp;&amp;t.inverted2}},selectDifference:function(t){return{segments:c.difference(t.combined,f),inverted:t.inverted1&amp;&amp;!t.inverted2}},selectDifferenceRev:function(t){return{segments:c.differenceRev(t.combined,f),inverted:!t.inverted1&amp;&amp;t.inverted2}},selectXor:function(t){return{segments:c.xor(t.combined,f),inverted:t.inverted1!==t.inverted2}},polygon:function(t){return{regions:l(t.segments,h,f),inverted:t.inverted}},polygonFromGeoJSON:function(t){return u.toPolygon(i,t)},polygonToGeoJSON:function(t){return u.fromPolygon(i,h,t)},union:function(t,e){return n(t,e,i.selectUnion)},intersect:function(t,e){return n(t,e,i.selectIntersect)},difference:function(t,e){return n(t,e,i.selectDifference)},differenceRev:function(t,e){return n(t,e,i.selectDifferenceRev)},xor:function(t,e){return n(t,e,i.selectXor)}},&quot;object&quot;==typeof window&amp;&amp;(window.PolyBool=i),e.exports=i},{&quot;./lib/build-log&quot;:480,&quot;./lib/epsilon&quot;:481,&quot;./lib/geojson&quot;:482,&quot;./lib/intersecter&quot;:483,&quot;./lib/segment-chainer&quot;:485,&quot;./lib/segment-selector&quot;:486}],480:[function(t,e,r){e.exports=function(){function t(t,r){return e.list.push({type:t,data:r?JSON.parse(JSON.stringify(r)):void 0}),e}var e,r=0,n=!1;return e={list:[],segmentId:function(){return r++},checkIntersection:function(e,r){return t(&quot;check&quot;,{seg1:e,seg2:r})},segmentChop:function(e,r){return t(&quot;div_seg&quot;,{seg:e,pt:r}),t(&quot;chop&quot;,{seg:e,pt:r})},statusRemove:function(e){return t(&quot;pop_seg&quot;,{seg:e})},segmentUpdate:function(e){return t(&quot;seg_update&quot;,{seg:e})},segmentNew:function(e,r){return t(&quot;new_seg&quot;,{seg:e,primary:r})},segmentRemove:function(e){return t(&quot;rem_seg&quot;,{seg:e})},tempStatus:function(e,r,n){return t(&quot;temp_status&quot;,{seg:e,above:r,below:n})},rewind:function(e){return t(&quot;rewind&quot;,{seg:e})},status:function(e,r,n){return t(&quot;status&quot;,{seg:e,above:r,below:n})},vert:function(r){return r===n?e:(n=r,t(&quot;vert&quot;,{x:r}))},log:function(e){return&quot;string&quot;!=typeof e&amp;&amp;(e=JSON.stringify(e,!1,&quot;  &quot;)),t(&quot;log&quot;,{txt:e})},reset:function(){return t(&quot;reset&quot;)},selected:function(e){return t(&quot;selected&quot;,{segs:e})},chainStart:function(e){return t(&quot;chain_start&quot;,{seg:e})},chainRemoveHead:function(e,r){return t(&quot;chain_rem_head&quot;,{index:e,pt:r})},chainRemoveTail:function(e,r){return t(&quot;chain_rem_tail&quot;,{index:e,pt:r})},chainNew:function(e,r){return t(&quot;chain_new&quot;,{pt1:e,pt2:r})},chainMatch:function(e){return t(&quot;chain_match&quot;,{index:e})},chainClose:function(e){return t(&quot;chain_close&quot;,{index:e})},chainAddHead:function(e,r){return t(&quot;chain_add_head&quot;,{index:e,pt:r})},chainAddTail:function(e,r){return t(&quot;chain_add_tail&quot;,{index:e,pt:r})},chainConnect:function(e,r){return t(&quot;chain_con&quot;,{index1:e,index2:r})},chainReverse:function(e){return t(&quot;chain_rev&quot;,{index:e})},chainJoin:function(e,r){return t(&quot;chain_join&quot;,{index1:e,index2:r})},done:function(){return t(&quot;done&quot;)}}}},{}],481:[function(t,e,r){e.exports=function(t){&quot;number&quot;!=typeof t&amp;&amp;(t=1e-10);var e={epsilon:function(e){return&quot;number&quot;==typeof e&amp;&amp;(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)&gt;=-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&lt;t)&amp;&amp;!(l-(a*a+s*s)&gt;-t)},pointsSameX:function(e,r){return Math.abs(e[0]-r[0])&lt;t},pointsSameY:function(e,r){return Math.abs(e[1]-r[1])&lt;t},pointsSame:function(t,r){return e.pointsSameX(t,r)&amp;&amp;e.pointsSameY(t,r)},pointsCompare:function(t,r){return e.pointsSameX(t,r)?e.pointsSameY(t,r)?0:t[1]&lt;r[1]?-1:1:t[0]&lt;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)&lt;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)&lt;t)return!1;var u=e[0]-n[0],f=e[1]-n[1],h=(s*f-l*u)/c,d=(a*f-o*u)/c,p={alongA:0,alongB:0,pt:[e[0]+h*a,e[1]+h*o]};return p.alongA=h&lt;=-t?-2:h&lt;t?-1:h-1&lt;=-t?0:h-1&lt;t?1:2,p.alongB=d&lt;=-t?-2:d&lt;t?-1:d-1&lt;=-t?0:d-1&lt;t?1:2,p},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&lt;r.length;l++){var c=r[l][0],u=r[l][1];u-i&gt;t!=o-i&gt;t&amp;&amp;(a-c)*(i-u)/(o-u)+c-n&gt;t&amp;&amp;(s=!s),a=c,o=u}return s}};return e}},{}],482:[function(t,e,r){var n={toPolygon:function(t,e){function r(e){function r(e){var r=e.slice(0,e.length-1);return t.segments({inverted:!1,regions:[r]})}if(e.length&lt;=0)return t.segments({inverted:!1,regions:[]});for(var n=r(e[0]),i=1;i&lt;e.length;i++)n=t.selectDifference(t.combine(n,r(e[i])));return n}if(&quot;Polygon&quot;===e.type)return t.polygon(r(e.coordinates));if(&quot;MultiPolygon&quot;===e.type){for(var n=t.segments({inverted:!1,regions:[]}),i=0;i&lt;e.coordinates.length;i++)n=t.selectUnion(t.combine(n,r(e.coordinates[i])));return t.polygon(n)}throw new Error(&quot;PolyBool: Cannot convert GeoJSON object to PolyBool polygon&quot;)},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:[]}}function a(t,e){for(var r=0;r&lt;t.children.length;r++){if(n(e,(s=t.children[r]).region))return void a(s,e)}var o=i(e);for(r=0;r&lt;t.children.length;r++){var s;n((s=t.children[r]).region,e)&amp;&amp;(o.children.push(s),t.children.splice(r,1),r--)}t.children.push(o)}function o(t,e){for(var r=0,n=t[t.length-1][0],i=t[t.length-1][1],a=[],o=0;o&lt;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&lt;0!==e&amp;&amp;a.reverse(),a.push([a[0][0],a[0][1]]),a}function s(t){var e=[o(t.region,!1)];f.push(e);for(var r=0;r&lt;t.children.length;r++)e.push(function(t){for(var e=0;e&lt;t.children.length;e++)s(t.children[e]);return o(t.region,!0)}(t.children[r]))}r=t.polygon(t.segments(r));for(var l=i(null),c=0;c&lt;r.regions.length;c++){var u=r.regions[c];u.length&lt;3||a(l,u)}var f=[];for(c=0;c&lt;l.children.length;c++)s(l.children[c]);return f.length&lt;=0?{type:&quot;Polygon&quot;,coordinates:[]}:1==f.length?{type:&quot;Polygon&quot;,coordinates:f[0]}:{type:&quot;MultiPolygon&quot;,coordinates:f}}};e.exports=n},{}],483:[function(t,e,r){var n=t(&quot;./linked-list&quot;);e.exports=function(t,e,r){function i(t,e){return{id:r?r.segmentId():-1,start:t,end:e,myFill:{above:null,below:null},otherFill:null}}function a(t,e,n){return{id:r?r.segmentId():-1,start:t,end:e,myFill:{above:n.myFill.above,below:n.myFill.below},otherFill:null}}function o(t,r){u.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)&lt;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=a(e,t.seg.end,t.seg);return function(t,e){r&amp;&amp;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,a){function o(t){return c.findTransition(function(r){return function(t,r){var n=t.seg.start,i=t.seg.end,a=r.seg.start,o=r.seg.end;return e.pointsCollinear(n,a,o)?e.pointsCollinear(i,a,o)?1:e.pointAboveOrOnLine(i,a,o)?1:-1:e.pointAboveOrOnLine(n,a,o)?1:-1}(t,r.ev)&gt;0})}function s(t,n){var i=t.seg,a=n.seg,o=i.start,s=i.end,c=a.start,u=a.end;r&amp;&amp;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),d=e.pointsSame(s,u);if(h&amp;&amp;d)return n;var p=!h&amp;&amp;e.pointBetween(o,c,u),m=!d&amp;&amp;e.pointBetween(s,c,u);if(h)return m?l(n,s):l(t,u),n;p&amp;&amp;(d||(m?l(n,s):l(t,u)),l(n,o))}else 0===f.alongA&amp;&amp;(-1===f.alongB?l(t,c):0===f.alongB?l(t,f.pt):1===f.alongB&amp;&amp;l(t,u)),0===f.alongB&amp;&amp;(-1===f.alongA?l(n,o):0===f.alongA?l(n,f.pt):1===f.alongA&amp;&amp;l(n,s));return!1}for(var c=n.create(),f=[];!u.isEmpty();){var h=u.getHead();if(r&amp;&amp;r.vert(h.pt[0]),h.isStart){r&amp;&amp;r.segmentNew(h.seg,h.primary);var d=o(h),p=d.before?d.before.ev:null,m=d.after?d.after.ev:null;r&amp;&amp;r.tempStatus(h.seg,!!p&amp;&amp;p.seg,!!m&amp;&amp;m.seg);var g=function(){if(p){var t=s(h,p);if(t)return t}return!!m&amp;&amp;s(h,m)}();if(g&amp;&amp;(t?(v=null===h.seg.myFill.below||h.seg.myFill.above!==h.seg.myFill.below)&amp;&amp;(g.seg.myFill.above=!g.seg.myFill.above):g.seg.otherFill=h.seg.myFill,r&amp;&amp;r.segmentUpdate(g.seg),h.other.remove(),h.remove()),u.getHead()!==h){r&amp;&amp;r.rewind(h.seg);continue}if(t){var v;v=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=v?!h.seg.myFill.below:h.seg.myFill.below}else if(null===h.seg.otherFill){var y;y=m?h.primary===m.primary?m.seg.otherFill.above:m.seg.myFill.above:h.primary?a:i,h.seg.otherFill={above:y,below:y}}r&amp;&amp;r.status(h.seg,!!p&amp;&amp;p.seg,!!m&amp;&amp;m.seg),h.other.status=d.insert(n.node({ev:h}))}else{var x=h.status;if(null===x)throw new Error(&quot;PolyBool: Zero-length segment detected; your epsilon is probably too small or too large&quot;);if(c.exists(x.prev)&amp;&amp;c.exists(x.next)&amp;&amp;s(x.prev.ev,x.next.ev),r&amp;&amp;r.statusRemove(x.ev.seg),x.remove(),!h.primary){var b=h.seg.myFill;h.seg.myFill=h.seg.otherFill,h.seg.otherFill=b}f.push(h.seg)}u.getHead().remove()}return r&amp;&amp;r.done(),f}var u=n.create();return t?{addRegion:function(t){for(var r,n=t[t.length-1],a=0;a&lt;t.length;a++){r=n,n=t[a];var o=e.pointsCompare(r,n);0!==o&amp;&amp;s(i(o&lt;0?r:n,o&lt;0?n:r),!0)}},calculate:function(t){return c(t,!1)}}:{calculate:function(t,e,r,n){return t.forEach(function(t){s(a(t.start,t.end,t),!0)}),r.forEach(function(t){s(a(t.start,t.end,t),!1)}),c(e,n)}}}},{&quot;./linked-list&quot;:484}],484:[function(t,e,r){e.exports={create:function(){var t={root:{root:!0,next:null},exists:function(e){return null!==e&amp;&amp;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&amp;&amp;!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&amp;&amp;(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&amp;&amp;(t.next.prev=t.prev),t.prev=null,t.next=null},t}}},{}],485:[function(t,e,r){e.exports=function(t,e,r){var n=[],i=[];return t.forEach(function(t){function a(t,e,r){return h.index=t,h.matches_head=e,h.matches_pt1=r,h===u?(h=f,!1):(h=null,!0)}function o(t){r&amp;&amp;r.chainReverse(t),n[t].reverse()}function s(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)&amp;&amp;(r&amp;&amp;r.chainRemoveTail(t,s),a.pop(),s=l),e.pointsCollinear(s,c,u)&amp;&amp;(r&amp;&amp;r.chainRemoveHead(i,c),o.shift()),r&amp;&amp;r.chainJoin(t,i),n[t]=a.concat(o),n.splice(i,1)}var l=t.start,c=t.end;if(e.pointsSame(l,c))console.warn(&quot;PolyBool: Warning: Zero-length segment detected; your epsilon is probably too small or too large&quot;);else{r&amp;&amp;r.chainStart(t);for(var u={index:0,matches_head:!1,matches_pt1:!1},f={index:0,matches_head:!1,matches_pt1:!1},h=u,d=0;d&lt;n.length;d++){var p=(x=n[d])[0],m=(x[1],x[x.length-1]);if(x[x.length-2],e.pointsSame(p,l)){if(a(d,!0,!0))break}else if(e.pointsSame(p,c)){if(a(d,!0,!1))break}else if(e.pointsSame(m,l)){if(a(d,!1,!0))break}else if(e.pointsSame(m,c)&amp;&amp;a(d,!1,!1))break}if(h===u)return n.push([l,c]),void(r&amp;&amp;r.chainNew(l,c));if(h===f){r&amp;&amp;r.chainMatch(u.index);var g=u.index,v=u.matches_pt1?c:l,y=u.matches_head,x=n[g],b=y?x[0]:x[x.length-1],_=y?x[1]:x[x.length-2],w=y?x[x.length-1]:x[0],M=y?x[x.length-2]:x[1];return e.pointsCollinear(_,b,v)&amp;&amp;(y?(r&amp;&amp;r.chainRemoveHead(u.index,v),x.shift()):(r&amp;&amp;r.chainRemoveTail(u.index,v),x.pop()),b=_),e.pointsSame(w,v)?(n.splice(g,1),e.pointsCollinear(M,w,b)&amp;&amp;(y?(r&amp;&amp;r.chainRemoveTail(u.index,b),x.pop()):(r&amp;&amp;r.chainRemoveHead(u.index,b),x.shift())),r&amp;&amp;r.chainClose(u.index),void i.push(x)):void(y?(r&amp;&amp;r.chainAddHead(u.index,v),x.unshift(v)):(r&amp;&amp;r.chainAddTail(u.index,v),x.push(v)))}var k=u.index,A=f.index;r&amp;&amp;r.chainConnect(k,A);var T=n[k].length&lt;n[A].length;u.matches_head?f.matches_head?T?(o(k),s(k,A)):(o(A),s(A,k)):s(A,k):f.matches_head?s(k,A):T?(o(k),s(A,k)):(o(A),s(k,A))}}),i}},{}],486:[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&amp;&amp;t.otherFill.above?2:0)+(t.otherFill&amp;&amp;t.otherFill.below?1:0);0!==e[i]&amp;&amp;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&amp;&amp;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},{}],487:[function(t,e,r){&quot;use strict&quot;;var n=new Float64Array(4),i=new Float64Array(4),a=new Float64Array(4);e.exports=function(t,e,r,o,s){n.length&lt;o.length&amp;&amp;(n=new Float64Array(o.length),i=new Float64Array(o.length),a=new Float64Array(o.length));for(var l=0;l&lt;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,d=0,p=0;for(l=0;l&lt;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,d+=v*g,p+=v*v}var y,x=Math.abs(c*f-u*u),b=u*d-f*h,_=u*h-c*d;if(b+_&lt;=x)if(b&lt;0)_&lt;0&amp;&amp;h&lt;0?(_=0,-h&gt;=c?(b=1,y=c+2*h+p):y=h*(b=-h/c)+p):(b=0,d&gt;=0?(_=0,y=p):-d&gt;=f?(_=1,y=f+2*d+p):y=d*(_=-d/f)+p);else if(_&lt;0)_=0,h&gt;=0?(b=0,y=p):-h&gt;=c?(b=1,y=c+2*h+p):y=h*(b=-h/c)+p;else{var w=1/x;y=(b*=w)*(c*b+u*(_*=w)+2*h)+_*(u*b+f*_+2*d)+p}else{var M,k,A,T;b&lt;0?(k=f+d)&gt;(M=u+h)?(A=k-M)&gt;=(T=c-2*u+f)?(b=1,_=0,y=c+2*h+p):y=(b=A/T)*(c*b+u*(_=1-b)+2*h)+_*(u*b+f*_+2*d)+p:(b=0,k&lt;=0?(_=1,y=f+2*d+p):d&gt;=0?(_=0,y=p):y=d*(_=-d/f)+p):_&lt;0?(k=c+h)&gt;(M=u+d)?(A=k-M)&gt;=(T=c-2*u+f)?(_=1,b=0,y=f+2*d+p):y=(b=1-(_=A/T))*(c*b+u*_+2*h)+_*(u*b+f*_+2*d)+p:(_=0,k&lt;=0?(b=1,y=c+2*h+p):h&gt;=0?(b=0,y=p):y=h*(b=-h/c)+p):(A=f+d-u-h)&lt;=0?(b=0,_=1,y=f+2*d+p):A&gt;=(T=c-2*u+f)?(b=1,_=0,y=c+2*h+p):y=(b=A/T)*(c*b+u*(_=1-b)+2*h)+_*(u*b+f*_+2*d)+p}var S=1-b-_;for(l=0;l&lt;o.length;++l)s[l]=S*t[l]+b*e[l]+_*r[l];return y&lt;0?0:y}},{}],488:[function(t,e,r){function n(){throw new Error(&quot;setTimeout has not been defined&quot;)}function i(){throw new Error(&quot;clearTimeout has not been defined&quot;)}function a(t){if(u===setTimeout)return setTimeout(t,0);if((u===n||!u)&amp;&amp;setTimeout)return u=setTimeout,setTimeout(t,0);try{return u(t,0)}catch(e){try{return u.call(null,t,0)}catch(e){return u.call(this,t,0)}}}function o(){m&amp;&amp;d&amp;&amp;(m=!1,d.length?p=d.concat(p):g=-1,p.length&amp;&amp;s())}function s(){if(!m){var t=a(o);m=!0;for(var e=p.length;e;){for(d=p,p=[];++g&lt;e;)d&amp;&amp;d[g].run();g=-1,e=p.length}d=null,m=!1,function(t){if(f===clearTimeout)return clearTimeout(t);if((f===i||!f)&amp;&amp;clearTimeout)return f=clearTimeout,clearTimeout(t);try{f(t)}catch(e){try{return f.call(null,t)}catch(e){return f.call(this,t)}}}(t)}}function l(t,e){this.fun=t,this.array=e}function c(){}var u,f,h=e.exports={};!function(){try{u=&quot;function&quot;==typeof setTimeout?setTimeout:n}catch(t){u=n}try{f=&quot;function&quot;==typeof clearTimeout?clearTimeout:i}catch(t){f=i}}();var d,p=[],m=!1,g=-1;h.nextTick=function(t){var e=new Array(arguments.length-1);if(arguments.length&gt;1)for(var r=1;r&lt;arguments.length;r++)e[r-1]=arguments[r];p.push(new l(t,e)),1!==p.length||m||a(s)},l.prototype.run=function(){this.fun.apply(null,this.array)},h.title=&quot;browser&quot;,h.browser=!0,h.env={},h.argv=[],h.version=&quot;&quot;,h.versions={},h.on=c,h.addListener=c,h.once=c,h.off=c,h.removeListener=c,h.removeAllListeners=c,h.emit=c,h.prependListener=c,h.prependOnceListener=c,h.listeners=function(t){return[]},h.binding=function(t){throw new Error(&quot;process.binding is not supported&quot;)},h.cwd=function(){return&quot;/&quot;},h.chdir=function(t){throw new Error(&quot;process.chdir is not supported&quot;)},h.umask=function(){return 0}},{}],489:[function(t,e,r){(function(t){!function(n){function i(t){throw new RangeError(z[t])}function a(t,e){for(var r=t.length,n=[];r--;)n[r]=e(t[r]);return n}function o(t,e){var r=t.split(&quot;@&quot;),n=&quot;&quot;;r.length&gt;1&amp;&amp;(n=r[0]+&quot;@&quot;,t=r[1]);return n+a((t=t.replace(C,&quot;.&quot;)).split(&quot;.&quot;),e).join(&quot;.&quot;)}function s(t){for(var e,r,n=[],i=0,a=t.length;i&lt;a;)(e=t.charCodeAt(i++))&gt;=55296&amp;&amp;e&lt;=56319&amp;&amp;i&lt;a?56320==(64512&amp;(r=t.charCodeAt(i++)))?n.push(((1023&amp;e)&lt;&lt;10)+(1023&amp;r)+65536):(n.push(e),i--):n.push(e);return n}function l(t){return a(t,function(t){var e=&quot;&quot;;return t&gt;65535&amp;&amp;(e+=P((t-=65536)&gt;&gt;&gt;10&amp;1023|55296),t=56320|1023&amp;t),e+=P(t)}).join(&quot;&quot;)}function c(t){return t-48&lt;10?t-22:t-65&lt;26?t-65:t-97&lt;26?t-97:b}function u(t,e){return t+22+75*(t&lt;26)-((0!=e)&lt;&lt;5)}function f(t,e,r){var n=0;for(t=r?I(t/k):t&gt;&gt;1,t+=I(t/e);t&gt;D*w&gt;&gt;1;n+=b)t=I(t/D);return I(n+(D+1)*t/(t+M))}function h(t){var e,r,n,a,o,s,u,h,d,p,m=[],g=t.length,v=0,y=T,M=A;for((r=t.lastIndexOf(S))&lt;0&amp;&amp;(r=0),n=0;n&lt;r;++n)t.charCodeAt(n)&gt;=128&amp;&amp;i(&quot;not-basic&quot;),m.push(t.charCodeAt(n));for(a=r&gt;0?r+1:0;a&lt;g;){for(o=v,s=1,u=b;a&gt;=g&amp;&amp;i(&quot;invalid-input&quot;),((h=c(t.charCodeAt(a++)))&gt;=b||h&gt;I((x-v)/s))&amp;&amp;i(&quot;overflow&quot;),v+=h*s,d=u&lt;=M?_:u&gt;=M+w?w:u-M,!(h&lt;d);u+=b)s&gt;I(x/(p=b-d))&amp;&amp;i(&quot;overflow&quot;),s*=p;M=f(v-o,e=m.length+1,0==o),I(v/e)&gt;x-y&amp;&amp;i(&quot;overflow&quot;),y+=I(v/e),v%=e,m.splice(v++,0,y)}return l(m)}function d(t){var e,r,n,a,o,l,c,h,d,p,m,g,v,y,M,k=[];for(g=(t=s(t)).length,e=T,r=0,o=A,l=0;l&lt;g;++l)(m=t[l])&lt;128&amp;&amp;k.push(P(m));for(n=a=k.length,a&amp;&amp;k.push(S);n&lt;g;){for(c=x,l=0;l&lt;g;++l)(m=t[l])&gt;=e&amp;&amp;m&lt;c&amp;&amp;(c=m);for(c-e&gt;I((x-r)/(v=n+1))&amp;&amp;i(&quot;overflow&quot;),r+=(c-e)*v,e=c,l=0;l&lt;g;++l)if((m=t[l])&lt;e&amp;&amp;++r&gt;x&amp;&amp;i(&quot;overflow&quot;),m==e){for(h=r,d=b;p=d&lt;=o?_:d&gt;=o+w?w:d-o,!(h&lt;p);d+=b)M=h-p,y=b-p,k.push(P(u(p+M%y,0))),h=I(M/y);k.push(P(u(h,0))),o=f(r,v,n==a),r=0,++n}++r,++e}return k.join(&quot;&quot;)}var p=&quot;object&quot;==typeof r&amp;&amp;r&amp;&amp;!r.nodeType&amp;&amp;r,m=&quot;object&quot;==typeof e&amp;&amp;e&amp;&amp;!e.nodeType&amp;&amp;e,g=&quot;object&quot;==typeof t&amp;&amp;t;g.global!==g&amp;&amp;g.window!==g&amp;&amp;g.self!==g||(n=g);var v,y,x=2147483647,b=36,_=1,w=26,M=38,k=700,A=72,T=128,S=&quot;-&quot;,E=/^xn--/,L=/[^\x20-\x7E]/,C=/[\x2E\u3002\uFF0E\uFF61]/g,z={overflow:&quot;Overflow: input needs wider integers to process&quot;,&quot;not-basic&quot;:&quot;Illegal input &gt;= 0x80 (not a basic code point)&quot;,&quot;invalid-input&quot;:&quot;Invalid input&quot;},D=b-_,I=Math.floor,P=String.fromCharCode;if(v={version:&quot;1.4.1&quot;,ucs2:{decode:s,encode:l},decode:h,encode:d,toASCII:function(t){return o(t,function(t){return L.test(t)?&quot;xn--&quot;+d(t):t})},toUnicode:function(t){return o(t,function(t){return E.test(t)?h(t.slice(4).toLowerCase()):t})}},p&amp;&amp;m)if(e.exports==p)m.exports=v;else for(y in v)v.hasOwnProperty(y)&amp;&amp;(p[y]=v[y]);else n.punycode=v}(this)}).call(this,&quot;undefined&quot;!=typeof global?global:&quot;undefined&quot;!=typeof self?self:&quot;undefined&quot;!=typeof window?window:{})},{}],490:[function(t,e,r){e.exports=t(&quot;gl-quat/slerp&quot;)},{&quot;gl-quat/slerp&quot;:236}],491:[function(t,e,r){&quot;use strict&quot;;function n(t,e){return Object.prototype.hasOwnProperty.call(t,e)}e.exports=function(t,e,r,a){e=e||&quot;&amp;&quot;,r=r||&quot;=&quot;;var o={};if(&quot;string&quot;!=typeof t||0===t.length)return o;var s=/\+/g;t=t.split(e);var l=1e3;a&amp;&amp;&quot;number&quot;==typeof a.maxKeys&amp;&amp;(l=a.maxKeys);var c=t.length;l&gt;0&amp;&amp;c&gt;l&amp;&amp;(c=l);for(var u=0;u&lt;c;++u){var f,h,d,p,m=t[u].replace(s,&quot;%20&quot;),g=m.indexOf(r);g&gt;=0?(f=m.substr(0,g),h=m.substr(g+1)):(f=m,h=&quot;&quot;),d=decodeURIComponent(f),p=decodeURIComponent(h),n(o,d)?i(o[d])?o[d].push(p):o[d]=[o[d],p]:o[d]=p}return o};var i=Array.isArray||function(t){return&quot;[object Array]&quot;===Object.prototype.toString.call(t)}},{}],492:[function(t,e,r){&quot;use strict&quot;;function n(t,e){if(t.map)return t.map(e);for(var r=[],n=0;n&lt;t.length;n++)r.push(e(t[n],n));return r}var i=function(t){switch(typeof t){case&quot;string&quot;:return t;case&quot;boolean&quot;:return t?&quot;true&quot;:&quot;false&quot;;case&quot;number&quot;:return isFinite(t)?t:&quot;&quot;;default:return&quot;&quot;}};e.exports=function(t,e,r,s){return e=e||&quot;&amp;&quot;,r=r||&quot;=&quot;,null===t&amp;&amp;(t=void 0),&quot;object&quot;==typeof t?n(o(t),function(o){var s=encodeURIComponent(i(o))+r;return a(t[o])?n(t[o],function(t){return s+encodeURIComponent(i(t))}).join(e):s+encodeURIComponent(i(t[o]))}).join(e):s?encodeURIComponent(i(s))+r+encodeURIComponent(i(t)):&quot;&quot;};var a=Array.isArray||function(t){return&quot;[object Array]&quot;===Object.prototype.toString.call(t)},o=Object.keys||function(t){var e=[];for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&amp;&amp;e.push(r);return e}},{}],493:[function(t,e,r){&quot;use strict&quot;;r.decode=r.parse=t(&quot;./decode&quot;),r.encode=r.stringify=t(&quot;./encode&quot;)},{&quot;./decode&quot;:491,&quot;./encode&quot;:492}],494:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,a,o){for(r=r||0,a=a||t.length-1,o=o||function(t,e){return t&lt;e?-1:t&gt;e?1:0};a&gt;r;){if(a-r&gt;600){var s=a-r+1,l=e-r+1,c=Math.log(s),u=.5*Math.exp(2*c/3),f=.5*Math.sqrt(c*u*(s-u)/s)*(l-s/2&lt;0?-1:1);n(t,e,Math.max(r,Math.floor(e-l*u/s+f)),Math.min(a,Math.floor(e+(s-l)*u/s+f)),o)}var h=t[e],d=r,p=a;for(i(t,r,e),o(t[a],h)&gt;0&amp;&amp;i(t,r,a);d&lt;p;){for(i(t,d,p),d++,p--;o(t[d],h)&lt;0;)d++;for(;o(t[p],h)&gt;0;)p--}0===o(t[r],h)?i(t,r,p):i(t,++p,a),p&lt;=e&amp;&amp;(r=p+1),e&lt;=p&amp;&amp;(a=p-1)}}function i(t,e,r){var n=t[e];t[e]=t[r],t[r]=n}e.exports=n},{}],495:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;big-rat/add&quot;);e.exports=function(t,e){for(var r=t.length,i=new Array(r),a=0;a&lt;r;++a)i[a]=n(t[a],e[a]);return i}},{&quot;big-rat/add&quot;:54}],496:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t){for(var e=new Array(t.length),r=0;r&lt;t.length;++r)e[r]=n(t[r]);return e};var n=t(&quot;big-rat&quot;)},{&quot;big-rat&quot;:57}],497:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;big-rat&quot;),i=t(&quot;big-rat/mul&quot;);e.exports=function(t,e){for(var r=n(e),a=t.length,o=new Array(a),s=0;s&lt;a;++s)o[s]=i(t[s],r);return o}},{&quot;big-rat&quot;:57,&quot;big-rat/mul&quot;:66}],498:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;big-rat/sub&quot;);e.exports=function(t,e){for(var r=t.length,i=new Array(r),a=0;a&lt;r;++a)i[a]=n(t[a],e[a]);return i}},{&quot;big-rat/sub&quot;:68}],499:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;compare-cell&quot;),i=t(&quot;compare-oriented-cell&quot;),a=t(&quot;cell-orientation&quot;);e.exports=function(t){t.sort(i);for(var e=t.length,r=0,o=0;o&lt;e;++o){var s=t[o],l=a(s);if(0!==l){if(r&gt;0){var c=t[r-1];if(0===n(s,c)&amp;&amp;a(c)!==l){r-=1;continue}}t[r++]=s}}return t.length=r,t}},{&quot;cell-orientation&quot;:90,&quot;compare-cell&quot;:107,&quot;compare-oriented-cell&quot;:108}],500:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;array-bounds&quot;),i=t(&quot;color-normalize&quot;),a=t(&quot;update-diff&quot;),o=t(&quot;pick-by-alias&quot;),s=t(&quot;object-assign&quot;),l=t(&quot;flatten-vertex-data&quot;),c=t(&quot;to-float32&quot;),u=c.float32,f=c.fract32;e.exports=function(t,e){function r(t){t?p(t):null===t&amp;&amp;m(),c()}function c(e){if(&quot;number&quot;==typeof e)return d(e);e&amp;&amp;!Array.isArray(e)&amp;&amp;(e=[e]),t._refresh(),k.forEach(function(t,r){t&amp;&amp;(e&amp;&amp;(e[r]?t.draw=!0:t.draw=!1),t.draw?d(r):t.draw=!0)})}function d(t){&quot;number&quot;==typeof t&amp;&amp;(t=k[t]),null!=t&amp;&amp;t&amp;&amp;t.count&amp;&amp;t.color&amp;&amp;t.opacity&amp;&amp;t.positions&amp;&amp;t.positions.length&gt;1&amp;&amp;(t.scaleRatio=[t.scale[0]*t.viewport.width,t.scale[1]*t.viewport.height],g(t),t.after&amp;&amp;t.after(t))}function p(t){if(t){null!=t.length?&quot;number&quot;==typeof t[0]&amp;&amp;(t=[{positions:t}]):Array.isArray(t)||(t=[t]);var e=0,r=0;if(k=t.map(function(t,c){var u=k[c];return t?(&quot;function&quot;==typeof t?t={after:t}:&quot;number&quot;==typeof t[0]&amp;&amp;(t={positions:t}),t=o(t,{color:&quot;color colors fill&quot;,capSize:&quot;capSize cap capsize cap-size&quot;,lineWidth:&quot;lineWidth line-width width line thickness&quot;,opacity:&quot;opacity alpha&quot;,range:&quot;range dataBox&quot;,viewport:&quot;viewport viewBox&quot;,errors:&quot;errors error&quot;,positions:&quot;positions position data points&quot;}),u||(k[c]=u={id:c,scale:null,translate:null,scaleFract:null,translateFract:null,draw:!0},t=s({},M,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,&quot;float64&quot;),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=&quot;transparent&quot;),!Array.isArray(t)||&quot;number&quot;==typeof t[0]){var n=t;t=Array(r);for(var a=0;a&lt;r;a++)t[a]=n}if(t.length&lt;r)throw Error(&quot;Not enough colors&quot;);for(var o=new Uint8Array(4*r),s=0;s&lt;r;s++){var l=i(t[s],&quot;uint8&quot;);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:w.drawingBufferWidth,height:w.drawingBufferHeight},e}}]),u):u}),e||r){var c=k.reduce(function(t,e,r){return t+(e?e.count:0)},0),h=new Float64Array(2*c),d=new Uint8Array(4*c),p=new Float32Array(4*c);k.forEach(function(t,e){if(t){var r=t.positions,n=t.count,i=t.offset,a=t.color,o=t.errors;n&amp;&amp;(d.set(a,4*i),p.set(o,4*i),h.set(r,2*i))}}),v(u(h)),y(f(h)),x(d),b(p)}}}function m(){v.destroy(),y.destroy(),x.destroy(),b.destroy(),_.destroy()}if(&quot;function&quot;==typeof t?(e||(e={}),e.regl=t):e=t,e.length&amp;&amp;(e.positions=e),!(t=e.regl).hasExtension(&quot;ANGLE_instanced_arrays&quot;))throw Error(&quot;regl-error2d: `ANGLE_instanced_arrays` extension should be enabled&quot;);var g,v,y,x,b,_,w=t._gl,M={color:&quot;black&quot;,capSize:5,lineWidth:1,opacity:1,viewport:null,range:null,offset:0,count:0,bounds:null,positions:[],errors:[]},k=[];return x=t.buffer({usage:&quot;dynamic&quot;,type:&quot;uint8&quot;,data:null}),v=t.buffer({usage:&quot;dynamic&quot;,type:&quot;float&quot;,data:null}),y=t.buffer({usage:&quot;dynamic&quot;,type:&quot;float&quot;,data:null}),b=t.buffer({usage:&quot;dynamic&quot;,type:&quot;float&quot;,data:null}),_=t.buffer({usage:&quot;static&quot;,type:&quot;float&quot;,data:h}),p(e),g=t({vert:&quot;\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&quot;,frag:&quot;\n\t\tprecision mediump 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&quot;,uniforms:{range:t.prop(&quot;range&quot;),lineWidth:t.prop(&quot;lineWidth&quot;),capSize:t.prop(&quot;capSize&quot;),opacity:t.prop(&quot;opacity&quot;),scale:t.prop(&quot;scale&quot;),translate:t.prop(&quot;translate&quot;),scaleFract:t.prop(&quot;scaleFract&quot;),translateFract:t.prop(&quot;translateFract&quot;),viewport:function(t,e){return[e.viewport.x,e.viewport.y,t.viewportWidth,t.viewportHeight]}},attributes:{color:{buffer:x,offset:function(t,e){return 4*e.offset},divisor:1},position:{buffer:v,offset:function(t,e){return 8*e.offset},divisor:1},positionFract:{buffer:y,offset:function(t,e){return 8*e.offset},divisor:1},error:{buffer:b,offset:function(t,e){return 16*e.offset},divisor:1},direction:{buffer:_,stride:24,offset:0},lineOffset:{buffer:_,stride:24,offset:8},capOffset:{buffer:_,stride:24,offset:16}},primitive:&quot;triangles&quot;,blend:{enable:!0,color:[0,0,0,0],equation:{rgb:&quot;add&quot;,alpha:&quot;add&quot;},func:{srcRGB:&quot;src alpha&quot;,dstRGB:&quot;one minus src alpha&quot;,srcAlpha:&quot;one minus dst alpha&quot;,dstAlpha:&quot;one&quot;}},depth:{enable:!1},scissor:{enable:!0,box:t.prop(&quot;viewport&quot;)},viewport:t.prop(&quot;viewport&quot;),stencil:!1,instances:t.prop(&quot;count&quot;),count:h.length}),s(r,{update:p,draw:c,destroy:m,regl:t,gl:w,canvas:w.canvas,groups:k}),r};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]]},{&quot;array-bounds&quot;:48,&quot;color-normalize&quot;:99,&quot;flatten-vertex-data&quot;:143,&quot;object-assign&quot;:462,&quot;pick-by-alias&quot;:473,&quot;to-float32&quot;:547,&quot;update-diff&quot;:558}],501:[function(t,e,r){&quot;use strict&quot;;function n(t){var e=new Float32Array(t.length);e.set(t);for(var r=0,n=e.length;r&lt;n;r++)e[r]=t[r]-e[r];return e}var i=t(&quot;color-normalize&quot;),a=t(&quot;array-bounds&quot;),o=t(&quot;object-assign&quot;),s=t(&quot;glslify&quot;),l=t(&quot;pick-by-alias&quot;),c=t(&quot;update-diff&quot;),u=t(&quot;flatten-vertex-data&quot;),f=t(&quot;earcut&quot;),h=t(&quot;array-normalize&quot;);e.exports=function(t,e){function r(t){t?m(t):null===t&amp;&amp;g(),d()}function d(t){if(&quot;number&quot;==typeof t)return p(t);t&amp;&amp;!Array.isArray(t)&amp;&amp;(t=[t]),S.forEach(function(e,r){t&amp;&amp;(t[r]?e.draw=!0:e.draw=!1),e.draw?p(r):e.draw=!0})}function p(e){&quot;number&quot;==typeof e&amp;&amp;(e=S[e]),e&amp;&amp;e.count&amp;&amp;e.opacity&amp;&amp;e.positions&amp;&amp;e.positions.length&gt;2&amp;&amp;(t._refresh(),e.fill&amp;&amp;e.triangles&amp;&amp;e.triangles.length&gt;2&amp;&amp;x(e),e.thickness&amp;&amp;e.color&amp;&amp;(e.scaleRatio=[e.scale[0]*e.viewport.width,e.scale[1]*e.viewport.height],e.scaleRatio[0]&gt;L||e.scaleRatio[1]&gt;L?y(e):&quot;rect&quot;===e.join||!e.join&amp;&amp;(e.thickness&lt;=2||e.positions.length&gt;=C)?y(e):v(e),e.after&amp;&amp;e.after(e)))}function m(t){if(t){null!=t.length?&quot;number&quot;==typeof t[0]&amp;&amp;(t=[{positions:t}]):Array.isArray(t)||(t=[t]);var e=0;if(S=t.map(function(t,r){var s=S[r];return t?(&quot;function&quot;==typeof t?t={after:t}:&quot;number&quot;==typeof t[0]&amp;&amp;(t={positions:t}),t=l(t,{positions:&quot;positions points data coords&quot;,thickness:&quot;thickness lineWidth lineWidths line-width linewidth width stroke-width strokewidth strokeWidth&quot;,join:&quot;lineJoin linejoin join type mode&quot;,miterLimit:&quot;miterlimit miterLimit&quot;,dashes:&quot;dash dashes dasharray dash-array dashArray&quot;,color:&quot;color stroke colors stroke-color strokeColor&quot;,fill:&quot;fill fill-color fillColor&quot;,opacity:&quot;alpha opacity&quot;,overlay:&quot;overlay crease overlap intersect&quot;,close:&quot;closed close closed-path closePath&quot;,range:&quot;range dataBox&quot;,viewport:&quot;viewport viewBox&quot;,hole:&quot;holes hole hollow&quot;,after:&quot;after callback done pass&quot;}),s||(S[r]=s={id:r,scale:null,scaleFract:null,translate:null,translateFract:null,count:0,offset:0,dashLength:0,hole:!0},t=o({},T,t)),c(s,t,[{thickness:parseFloat,opacity:parseFloat,miterLimit:parseFloat,overlay:Boolean,join:function(t){return t},after:function(t){return t},hole:function(t){return t||[]},positions:function(t,r,n){t=u(t,&quot;float64&quot;);var i=Math.floor(t.length/2),o=a(t,2);return r.range||n.range||(n.range=o),r.count=i,r.bounds=o,e+=i,t},fill:function(t){return t?i(t,&quot;uint8&quot;):null},dashes:function(t,e,r){var n,i=e.dashLength;if(!t||t.length&lt;2)i=1,n=new Uint8Array([255,255,255,255,255,255,255,255]);else{i=0;for(var a=0;a&lt;t.length;++a)i+=t[a];n=new Uint8Array(i*E);for(var o=0,s=255,l=0;l&lt;2;l++)for(var c=0;c&lt;t.length;++c){for(var u=0,f=t[c]*E*.5;u&lt;f;++u)n[o++]=s;s^=255}}return k.subimage({data:n,width:n.length,height:1},0,e.id),e.dashLength=i,n}},{close:function(t,e,r){return null!=t?t:e.positions.length&gt;=4&amp;&amp;e.positions[0]===e.positions[e.positions.length-2]&amp;&amp;e.positions[1]===e.positions[e.positions.length-1]},positions:function(t,e,r){if(e.fill&amp;&amp;t.length){for(var n=[],i={},a=0,o=0,s=0,l=e.count;o&lt;l;o++){var c=e.positions[2*o],u=e.positions[2*o+1];Number.isNaN(c)||Number.isNaN(u)?(c=e.positions[2*a],u=e.positions[2*a+1],i[o]=a):a=o,n[s++]=c,n[s++]=u}for(var h=f(n,e.hole),d=0,p=h.length;d&lt;p;d++)null!=i[h[d]]&amp;&amp;(h[d]=i[h[d]]);e.triangles=h}return e.positions},color:function(t,e,r){var n=e.count;if(t||(t=&quot;transparent&quot;),!Array.isArray(t)||&quot;number&quot;==typeof t[0]){var a=t;t=Array(n);for(var o=0;o&lt;n;o++)t[o]=a}if(t.length&lt;n)throw Error(&quot;Not enough colors&quot;);for(var s=new Uint8Array(4*n+4),l=0;l&lt;n;l++){var c=i(t[l],&quot;uint8&quot;);s.set(c,4*l)}return s},range:function(t,e,r){if(!e.count)return null;var i=e.bounds;t||(t=i);var a=h(t.slice(),2,i);return e.scale=[1/(a[2]-a[0]),1/(a[3]-a[1])],e.translate=[-a[0],-a[1]],e.scaleFract=n(e.scale),e.translateFract=n(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:A.drawingBufferWidth,height:A.drawingBufferHeight},e}}]),s):s}),e){var s=2*e+6*S.length,d=new Float64Array(s),p=0,m=new Uint8Array(2*s);S.forEach(function(t,e){if(t){var r=t.positions,n=t.count,i=t.color;if(t.offset=p,n){var a=new Float64Array(r.length);a.set(r),h(a,2,t.bounds),t.close?r[0]===r[2*n-2]&amp;&amp;r[1]===r[2*n-1]?(d[2*p+0]=a[2*n-4],d[2*p+1]=a[2*n-3]):(d[2*p+0]=a[2*n-2],d[2*p+1]=a[2*n-1]):(d[2*p+0]=a[0],d[2*p+1]=a[1]),m[4*p+0]=i[0],m[4*p+1]=i[1],m[4*p+2]=i[2],m[4*p+3]=i[3],d.set(a,2*p+2),m.set(i,4*p+4),t.close?r[0]===r[2*n-2]&amp;&amp;r[1]===r[2*n-1]?(d[2*p+2*n+2]=a[2],d[2*p+2*n+3]=a[3],p+=n+2,t.count-=1):(d[2*p+2*n+2]=a[0],d[2*p+2*n+3]=a[1],d[2*p+2*n+4]=a[2],d[2*p+2*n+5]=a[3],p+=n+3):(d[2*p+2*n+2]=a[2*n-2],d[2*p+2*n+3]=a[2*n-1],d[2*p+2*n+4]=a[2*n-2],d[2*p+2*n+5]=a[2*n-1],p+=n+3)}}}),b(m),w(function(t){if(t instanceof Float32Array)return t;var e=new Float32Array(t);return e.set(t),e}(d)),M(n(d))}return r}}function g(){S.length=0,b.destroy(),_.destroy(),w.destroy(),k.destroy()}if(&quot;function&quot;==typeof t?(e||(e={}),e.regl=t):e=t,e.length&amp;&amp;(e.positions=e),!(t=e.regl).hasExtension(&quot;ANGLE_instanced_arrays&quot;))throw Error(&quot;regl-error2d: `ANGLE_instanced_arrays` extension should be enabled&quot;);var v,y,x,b,_,w,M,k,A=t._gl,T={positions:[],dashes:null,join:null,miterLimit:1,thickness:10,cap:&quot;square&quot;,color:&quot;black&quot;,opacity:1,overlay:!1,viewport:null,range:null,close:null,fill:null},S=[],E=2,L=3e6,C=1e4;b=t.buffer({usage:&quot;dynamic&quot;,type:&quot;uint8&quot;,data:null}),_=t.buffer({usage:&quot;static&quot;,type:&quot;float&quot;,data:[0,1,0,0,1,1,1,0]}),w=t.buffer({usage:&quot;dynamic&quot;,type:&quot;float&quot;,data:null}),M=t.buffer({usage:&quot;dynamic&quot;,type:&quot;float&quot;,data:null}),k=t.texture({channels:1,data:new Uint8Array(524288),width:256,height:2048,mag:&quot;linear&quot;,min:&quot;linear&quot;}),m(e);var z={primitive:&quot;triangle strip&quot;,instances:t.prop(&quot;count&quot;),count:4,offset:0,uniforms:{miterMode:function(t,e){return&quot;round&quot;===e.join?2:1},miterLimit:t.prop(&quot;miterLimit&quot;),scale:t.prop(&quot;scale&quot;),scaleFract:t.prop(&quot;scaleFract&quot;),translateFract:t.prop(&quot;translateFract&quot;),translate:t.prop(&quot;translate&quot;),thickness:t.prop(&quot;thickness&quot;),dashPattern:k,dashLength:t.prop(&quot;dashLength&quot;),dashShape:[256,2048],opacity:t.prop(&quot;opacity&quot;),pixelRatio:t.context(&quot;pixelRatio&quot;),id:t.prop(&quot;id&quot;),scaleRatio:t.prop(&quot;scaleRatio&quot;),viewport:function(t,e){return[e.viewport.x,e.viewport.y,t.viewportWidth,t.viewportHeight]}},blend:{enable:!0,color:[0,0,0,0],equation:{rgb:&quot;add&quot;,alpha:&quot;add&quot;},func:{srcRGB:&quot;src alpha&quot;,dstRGB:&quot;one minus src alpha&quot;,srcAlpha:&quot;one minus dst alpha&quot;,dstAlpha:&quot;one&quot;}},depth:{enable:function(t,e){return!e.overlay}},scissor:{enable:!0,box:t.prop(&quot;viewport&quot;)},stencil:!1,viewport:t.prop(&quot;viewport&quot;)};return v=t(o({cull:{enable:!0,face:&quot;back&quot;},vert:s([&quot;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, scaleRatio;\nuniform float thickness, pixelRatio, id;\nuniform vec4 viewport;\nuniform float miterLimit, dashLength, miterMode;\n\nvarying vec4 fragColor;\nvarying vec4 startCutoff, endCutoff;\nvarying vec2 tangent;\nvarying vec2 startCoord, endCoord;\nvarying float enableStartMiter, enableEndMiter;\n\nconst float MAX_LINES = 256.;\nconst float REVERSE_THRESHOLD = -.875;\nconst float MIN_DIST = 1.;\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\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 &lt; 0.0 || 0.0 &lt; val || val == 0.0 ) ? false : true;\n}\n\nvoid main() {\n\tvec2 aCoord = aCoord, bCoord = bCoord, prevCoord = prevCoord, nextCoord = nextCoord;\n\tvec2 normalWidth = thickness / scaleRatio;\n\n\tfloat lineStart = 1. - lineEnd;\n\tfloat lineBot = 1. - lineTop;\n\tfloat depth = (MAX_LINES - 1. - id) / MAX_LINES;\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 prevDirection = normalize(prevDiff);\n\tvec2 currDirection = normalize(currDiff);\n\tvec2 nextDirection = normalize(nextDiff);\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\tif (prevDirection == currDirection) {\n\t\tstartJoinDirection = currNormal;\n\t}\n\tif (nextDirection == currDirection) {\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) &lt;= REVERSE_THRESHOLD &amp;&amp; abs(dot(currTangent, prevNormal)) * min(length(prevDiff), length(currDiff)) &lt;  length(normalWidth * currNormal);\n\tbool nextReverse = dot(currTangent, nextTangent) &lt;= REVERSE_THRESHOLD &amp;&amp; abs(dot(currTangent, nextNormal)) * min(length(nextDiff), length(currDiff)) &lt;  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 &amp;&amp; baClipping &gt; 0. &amp;&amp; baClipping &lt; 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 &amp;&amp; abClipping &gt; 0. &amp;&amp; abClipping &lt; 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 + translate) * scale;\n\tvec2 aBotPosition = (aBotCoord + translate) * scale;\n\n\tvec2 bTopPosition = (bTopCoord + translate) * scale;\n\tvec2 bBotPosition = (bBotCoord + translate) * scale;\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 + translate) * scaleRatio + viewport.xy;\n\tendCoord = (bCoord + translate) * scaleRatio + 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 + translate.xyxy) * scaleRatio.xyxy;\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 + translate.xyxy) * scaleRatio.xyxy;\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 + translate.xyxy) * scaleRatio.xyxy;\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 + translate.xyxy) * scaleRatio.xyxy;\n\t\t\tendCutoff += viewport.xyxy;\n\t\t\tendCutoff += endMiterWidth.xyxy;\n\t\t}\n\t}\n}\n&quot;]),frag:s([&quot;precision highp float;\n#define GLSLIFY 1\n\nuniform sampler2D dashPattern;\nuniform vec2 dashShape;\nuniform float dashLength, pixelRatio, thickness, opacity, id, miterMode;\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 &lt; -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 &lt; -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 &lt; 0.) {\n\t\t\t\tfloat radius = length(gl_FragCoord.xy - startCoord);\n\n\t\t\t\tif(radius &gt; 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 &lt; 0.) {\n\t\t\t\tfloat radius = length(gl_FragCoord.xy - endCoord);\n\n\t\t\t\tif(radius &gt; 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(dashPattern, vec2(t * dashLength * 2. / dashShape.x, (id + .5) / dashShape.y)).r;\n\n\tgl_FragColor = fragColor * dash;\n\tgl_FragColor.a *= alpha * opacity * dash;\n}\n&quot;]),attributes:{lineEnd:{buffer:_,divisor:0,stride:8,offset:0},lineTop:{buffer:_,divisor:0,stride:8,offset:4},aColor:{buffer:b,stride:4,offset:function(t,e){return 4*e.offset},divisor:1},bColor:{buffer:b,stride:4,offset:function(t,e){return 4*e.offset+4},divisor:1},prevCoord:{buffer:w,stride:8,offset:function(t,e){return 8*e.offset},divisor:1},aCoord:{buffer:w,stride:8,offset:function(t,e){return 8+8*e.offset},divisor:1},bCoord:{buffer:w,stride:8,offset:function(t,e){return 16+8*e.offset},divisor:1},nextCoord:{buffer:w,stride:8,offset:function(t,e){return 24+8*e.offset},divisor:1}}},z)),y=t(o({vert:s([&quot;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, scaleRatio;\nuniform float thickness, pixelRatio, id;\nuniform vec4 viewport;\n\nvarying vec4 fragColor;\nvarying vec2 tangent;\n\nconst float MAX_LINES = 256.;\n\nvec2 project(vec2 position, vec2 positionFract, vec2 scale, vec2 scaleFract, vec2 translate, vec2 translateFract) {\n  return (position + translate) * scale\n       + (positionFract + translateFract) * scale\n       + (position + translate) * scaleFract\n       + (positionFract + translateFract) * scaleFract;\n}\n\nvoid main() {\n\t// vec2 scaleRatio = scale * viewport.zw;\n\tvec2 normalWidth = thickness / scaleRatio;\n\n\tfloat lineStart = 1. - lineEnd;\n\tfloat lineOffset = lineTop * 2. - 1.;\n\tfloat depth = (MAX_LINES - 1. - id) / (MAX_LINES);\n\n\tvec2 diff = (bCoord + bCoordFract - aCoord - aCoordFract);\n\ttangent = normalize(diff * scaleRatio);\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&quot;]),frag:s([&quot;precision highp float;\n#define GLSLIFY 1\n\nuniform sampler2D dashPattern;\nuniform vec2 dashShape;\nuniform float dashLength, pixelRatio, thickness, opacity, id;\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(dashPattern, vec2(t * dashLength * 2. / dashShape.x, (id + .5) / dashShape.y)).r;\n\n\tgl_FragColor = fragColor * dash;\n\tgl_FragColor.a *= alpha * opacity * dash;\n}\n&quot;]),attributes:{lineEnd:{buffer:_,divisor:0,stride:8,offset:0},lineTop:{buffer:_,divisor:0,stride:8,offset:4},aCoord:{buffer:w,stride:8,offset:function(t,e){return 8+8*e.offset},divisor:1},bCoord:{buffer:w,stride:8,offset:function(t,e){return 16+8*e.offset},divisor:1},aCoordFract:{buffer:M,stride:8,offset:function(t,e){return 8+8*e.offset},divisor:1},bCoordFract:{buffer:M,stride:8,offset:function(t,e){return 16+8*e.offset},divisor:1},color:{buffer:b,stride:4,offset:function(t,e){return 4*e.offset},divisor:1}}},z)),x=t({primitive:&quot;triangle&quot;,elements:function(t,e){return e.triangles},offset:0,vert:s([&quot;precision highp float;\n#define GLSLIFY 1\n\nattribute vec2 position, positionFract;\n\nuniform vec4 color;\nuniform vec2 scale, scaleFract, translate, translateFract, scaleRatio;\nuniform float pixelRatio, id;\nuniform vec4 viewport;\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 + translate) * scale\n       + (positionFract + translateFract) * scale\n       + (position + translate) * scaleFract\n       + (positionFract + translateFract) * scaleFract;\n\n\tgl_Position = vec4(position * 2.0 - 1.0, depth, 1);\n\n\tfragColor = color / 255.;\n}\n&quot;]),frag:s([&quot;precision highp float;\n#define GLSLIFY 1\n\nuniform float opacity;\n\nvarying vec4 fragColor;\n\nvoid main() {\n\tgl_FragColor = fragColor;\n\tgl_FragColor.a *= opacity;\n}\n&quot;]),uniforms:{scale:t.prop(&quot;scale&quot;),color:t.prop(&quot;fill&quot;),scaleFract:t.prop(&quot;scaleFract&quot;),translateFract:t.prop(&quot;translateFract&quot;),translate:t.prop(&quot;translate&quot;),opacity:t.prop(&quot;opacity&quot;),pixelRatio:t.context(&quot;pixelRatio&quot;),id:t.prop(&quot;id&quot;),viewport:function(t,e){return[e.viewport.x,e.viewport.y,t.viewportWidth,t.viewportHeight]}},attributes:{position:{buffer:w,stride:8,offset:function(t,e){return 8+8*e.offset}},positionFract:{buffer:M,stride:8,offset:function(t,e){return 8+8*e.offset}}},blend:z.blend,depth:{enable:!1},scissor:z.scissor,stencil:z.stencil,viewport:z.viewport}),o(r,{update:m,draw:d,destroy:g,regl:t,gl:A,canvas:A.canvas,lines:S}),r}},{&quot;array-bounds&quot;:48,&quot;array-normalize&quot;:49,&quot;color-normalize&quot;:99,earcut:135,&quot;flatten-vertex-data&quot;:143,glslify:502,&quot;object-assign&quot;:462,&quot;pick-by-alias&quot;:473,&quot;update-diff&quot;:558}],502:[function(t,e,r){arguments[4][169][0].apply(r,arguments)},{dup:169}],503:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;color-normalize&quot;),i=t(&quot;array-bounds&quot;),a=t(&quot;color-id&quot;),o=t(&quot;snap-points-2d&quot;),s=t(&quot;object-assign&quot;),l=t(&quot;glslify&quot;),c=t(&quot;binary-search-bounds&quot;),u=t(&quot;pick-by-alias&quot;),f=t(&quot;update-diff&quot;),h=t(&quot;flatten-vertex-data&quot;),d=t(&quot;is-iexplorer&quot;),p=t(&quot;to-float32&quot;),m=p.float32,g=p.fract32;e.exports=function(t,e){function r(t){t?x(t):null===t&amp;&amp;M(),p()}function p(t){if(&quot;number&quot;==typeof t)return v(t);Array.isArray(t)?t.forEach(function(t,e){if(null!=t)return t.length?v(t,e):v(t)}):O.forEach(function(t,e){t&amp;&amp;v(e)})}function v(e,r){&quot;number&quot;==typeof e&amp;&amp;(e=O[e]);var n;if(Array.isArray(e)&amp;&amp;(n=e,e=O[r]),e&amp;&amp;e.count&amp;&amp;e.opacity){var i;if(n){i=Array(e.count);for(var a=0;a&lt;n.length;a++)i[n[a]]=!0}if(e.markerIds[0]){t._refresh();var o=y(e.markerIds[0],e,i);A(o)}for(var s=[],l=1;l&lt;e.markerIds.length;l++){var c=e.markerIds[l];c&amp;&amp;c.length&amp;&amp;[].push.apply(s,y(c,e,i))}s.length&amp;&amp;(t._refresh(),k(s))}}function y(t,e,r){function n(t,e){for(var r=[],n=0,i=t.length;n&lt;i;n++){var o=t[n];e[o-a]&amp;&amp;r.push(o)}return r}var i=e.range,a=e.offset;if(!t.snap){var o=r?n(t.data,r):t.elements;return[s({},e,{elements:o,offset:0,count:r?o.length:t.length,marker:F[t.id]})]}for(var l=[],u=t.lod,f=t.x,h=t.id,d=(i[2]-i[0])/e.viewport.width,p=u.length;p--;){var m=u[p];if(!(m.pixelSize&amp;&amp;m.pixelSize&lt;d&amp;&amp;p&gt;1)){var g=m.offset,v=m.count+g,y=c.ge(f,i[0],g,v-1),x=c.lt(f,i[2],y,v-1)+1;if(!(x&lt;=y))if(r){var b=n(t.data.subarray(y,x),r);l.push(s({},e,{elements:b,marker:F[h],offset:0,count:b.length}))}else l.push(s({},e,{elements:t.elements,marker:F[h],offset:y,count:x-y}))}}return l}function x(e){if(e){null!=e.length?&quot;number&quot;==typeof e[0]&amp;&amp;(e=[{positions:e}]):Array.isArray(e)||(e=[e]);var r=0,n=0,a=0;O=e.map(function(e,l){var c=O[l];return e?(&quot;function&quot;==typeof e?e={after:e}:&quot;number&quot;==typeof e[0]&amp;&amp;(e={positions:e}),e=u(e,{positions:&quot;positions data points&quot;,snap:&quot;snap cluster&quot;,size:&quot;sizes size radius&quot;,borderSize:&quot;borderSizes borderSize stroke-width strokeWidth outline&quot;,color:&quot;colors color fill fill-color fillColor&quot;,borderColor:&quot;borderColors borderColor stroke stroke-color strokeColor&quot;,palette:&quot;palette swatch&quot;,marker:&quot;markers marker shape&quot;,range:&quot;range dataBox&quot;,viewport:&quot;viewport viewBox&quot;,opacity:&quot;opacity alpha&quot;}),c||(O[l]=c={id:l,scale:null,translate:null,scaleFract:null,translateFract:null,markerIds:[]},e=s({},P,e)),!e.positions||&quot;marker&quot;in e||(e.marker=c.marker,delete c.marker),f(c,e,[{snap:!0,size:function(t){return n+=t.length?1:0,t},borderSize:function(t){return n+=t.length?1:0,t},opacity:parseFloat,color:function(t){return t=w(t),a++,t},borderColor:function(t){return t=w(t),a++,t},positions:function(t,e,n){t=h(t,&quot;float64&quot;);var a=e.count=Math.floor(t.length/2),o=e.bounds=a?i(t,2):null;return n.range||e.range||(delete e.range,n.range=o),e.offset=r,r+=a,n.marker||e.marker||(delete e.marker,n.marker=null),t}},{marker:function(t,e,r){if(e.markerIds.length=0,t&amp;&amp;&quot;number&quot;!=typeof t[0])for(var n=0,i=t.length;n&lt;i;n++){var a=_(t[n]);e.markerIds[a]||(e.markerIds[a]=[]),e.markerIds[a].push(n)}else{for(var o=_(t),s=Array(e.count),l=0;l&lt;e.count;l++)s[l]=l;e.markerIds[o]=s}return t}},{positions:function(e,r){for(var n=r.markerIds,i=r.snap,a=r.bounds,s=r.offset,l=0;l&lt;n.length;l++){var c=n[l];if(c&amp;&amp;c.length){var u=c.length,f=void 0;if(c.id=l,i&amp;&amp;(!0===i||u&gt;i)){c.snap=!0;var h=c.x=Array(u),d=c.w=Array(u),p=void 0;if(n.length&gt;1){p=Array(2*u);for(var m=0;m&lt;u;m++){var g=c[m];p[2*m]=e[2*g],p[2*m+1]=e[2*g+1]}}else(p=new Float64Array(e.length)).set(e);var v=new Uint32Array(u);c.lod=o(p,v,d,a),f=new Uint32Array(u);for(var y=0;y&lt;u;y++){var x=c[v[y]];f[y]=x+s,h[y]=e[2*x]}}else{f=new Uint32Array(u);for(var b=0;b&lt;u;b++)f[b]=c[b]+s}c.data=f,c.elements=t.elements({primitive:&quot;points&quot;,type:&quot;uint32&quot;,data:f})}}},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=g(e.scale),e.translateFract=g(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:z.drawingBufferWidth,height:z.drawingBufferHeight},e}}]),c):c}),b({point:r,size:n,color:a})}}function b(t){var e=t.point,r=t.size,n=t.color,i=O.reduce(function(t,e,r){return t+(e?e.count:0)},0);if(e){var a=new Float32Array(2*i),o=new Float32Array(2*i);O.forEach(function(t,e){if(t){var r=t.positions,n=t.count,i=t.offset;n&amp;&amp;(a.set(m(r),2*i),o.set(g(r),2*i))}}),S(a),E(o)}if(r){var s=new Uint8Array(2*i);O.forEach(function(t,e){if(t){var r=t.count,n=t.offset,i=t.size,a=t.borderSize;if(r&amp;&amp;(i.length||a.length)){for(var o=new Uint8Array(2*r),l=0;l&lt;r;l++)o[2*l]=Math.round(255*(null==i[l]?i:i[l])/j),o[2*l+1]=Math.round(255*(null==a[l]?a:a[l])/j);s.set(o,2*n)}}}),T(s)}if(n){var l=new Uint16Array(2*i);O.forEach(function(t,e){if(t){var r=t.count,n=t.offset,i=t.color,a=t.borderColor;if(r&amp;&amp;(i.length||a.length)){for(var o=new Uint16Array(2*r),s=0;s&lt;r;s++)o[2*s]=null==i[s]?i:i[s],o[2*s+1]=null==a[s]?a:a[s];l.set(o,2*n)}}}),L(l)}}function _(e){var r=null==e?0:R.indexOf(e);if(r&gt;=0)return r;var n;if(e instanceof Uint8Array||e instanceof Uint8ClampedArray)n=e;else{n=new Uint8Array(e.length);for(var i=0,a=e.length;i&lt;a;i++)n[i]=255*e[i]}var o=Math.floor(Math.sqrt(n.length));return r=F.length,R.push(e),F.push(t.texture({channels:1,data:n,radius:o,mag:&quot;linear&quot;,min:&quot;linear&quot;})),r}function w(t){Array.isArray(t)||(t=[t]);for(var e=D.length,r=[],i=0;i&lt;t.length;i++){var o=t[i];if(&quot;number&quot;!=typeof o){o=n(o,&quot;uint8&quot;);var s=a(o,!1);if(null==I[s]){var l=D.length;I[s]=Math.floor(l/4),D[l]=o[0],D[l+1]=o[1],D[l+2]=o[2],D[l+3]=o[3]}r[i]=Math.min(I[s],N-1)}else r[i]=o}return e&lt;4*N&amp;&amp;C.subimage({width:Math.min(.25*D.length,N),height:1,data:D.slice(0,4*N)},0,0),1===r.length?r[0]:r}function M(){O.length=0,T.destroy(),S.destroy(),E.destroy(),L.destroy(),C.destroy()}&quot;function&quot;==typeof t?(e||(e={}),e.regl=t):(e=t,t=null),e&amp;&amp;e.length&amp;&amp;(e.positions=e);var k,A,T,S,E,L,C,z=(t=e.regl)._gl,D=[],I={},P={color:&quot;black&quot;,borderColor:&quot;transparent&quot;,borderSize:1,size:12,opacity:1,marker:void 0,viewport:null,range:null,pixelSize:null,offset:0,count:0,bounds:null,positions:[],snap:1e4},O=[],F=[null],R=[null],N=4096,j=100;C=t.texture({data:new Uint8Array(4*N),width:N,height:1,type:&quot;uint8&quot;,format:&quot;rgba&quot;,wrapS:&quot;clamp&quot;,wrapT:&quot;clamp&quot;,mag:&quot;nearest&quot;,min:&quot;nearest&quot;}),T=t.buffer({usage:&quot;dynamic&quot;,type:&quot;float&quot;,data:null}),L=t.buffer({usage:&quot;dynamic&quot;,type:&quot;uint16&quot;,data:null}),S=t.buffer({usage:&quot;dynamic&quot;,type:&quot;float&quot;,data:null}),E=t.buffer({usage:&quot;dynamic&quot;,type:&quot;float&quot;,data:null}),e.clone?(O=e.clone.groups.map(function(e){return(e=s({},e)).markerIds&amp;&amp;(e.markerIds=e.markerIds.map(function(e){var r=e.slice();return r.lod=e.lod,r.snap=e.snap,r.data=e.data,r.id=e.id,r.x=e.x,r.w=e.w,r.elements=t.elements({primitive:&quot;points&quot;,type:&quot;uint32&quot;,data:e.data}),r})),e}),e.clone.markers.forEach(function(t){_(t)}),b({point:!0,color:!0,size:!0})):x(e);var B={uniforms:{pixelRatio:t.context(&quot;pixelRatio&quot;),palette:C,scale:t.prop(&quot;scale&quot;),scaleFract:t.prop(&quot;scaleFract&quot;),translate:t.prop(&quot;translate&quot;),translateFract:t.prop(&quot;translateFract&quot;),opacity:t.prop(&quot;opacity&quot;),marker:t.prop(&quot;marker&quot;)},attributes:{position:S,positionFract:E,size:function(t,e){return e.size.length?{buffer:T,stride:2,offset:0}:{constant:[Math.round(255*e.size/j)]}},borderSize:function(t,e){return e.borderSize.length?{buffer:T,stride:2,offset:1}:{constant:[Math.round(255*e.borderSize/j)]}},colorId:function(t,e){return e.color.length?{buffer:L,stride:4,offset:0}:{constant:[e.color]}},borderColorId:function(t,e){return e.borderColor.length?{buffer:L,stride:4,offset:2}:{constant:[e.borderColor]}}},blend:{enable:!0,color:[0,0,0,1],func:{srcRGB:&quot;src alpha&quot;,dstRGB:&quot;one minus src alpha&quot;,srcAlpha:&quot;one minus dst alpha&quot;,dstAlpha:&quot;one&quot;}},scissor:{enable:!0,box:t.prop(&quot;viewport&quot;)},viewport:t.prop(&quot;viewport&quot;),stencil:{enable:!1},depth:{enable:!1},elements:t.prop(&quot;elements&quot;),count:t.prop(&quot;count&quot;),offset:t.prop(&quot;offset&quot;),primitive:&quot;points&quot;};if(d)A=t(s({},B,{frag:l([&quot;precision mediump float;\n#define GLSLIFY 1\n\nuniform vec4 color, borderColor;\nuniform float opacity;\nvarying float fragBorderRadius, fragWidth, fragBorderSize, fragSize;\n\nfloat smoothStep(float x, float y) {\n  return 1.0 / (1.0 + exp(50.0*(x - y)));\n}\n\nvoid main() {\n  float radius = length(2.0*gl_PointCoord.xy-1.0);\n  if(radius &gt; 1.0) {\n    discard;\n  }\n\n  float centerFraction = fragBorderSize == 0. ? 2. : fragSize / (fragSize + fragBorderSize + 1.25);\n\n  vec4 baseColor = mix(borderColor, color, smoothStep(radius, centerFraction));\n  float alpha = 1.0 - pow(1.0 - baseColor.a, 1.);\n  gl_FragColor = vec4(baseColor.rgb * alpha, alpha);\n}\n&quot;]),vert:l([&quot;precision highp float;\n#define GLSLIFY 1\n\nattribute vec2 position, positionFract;\nattribute float size, borderSize;\n\nuniform vec2 scale, scaleFract, translate, translateFract;\nuniform float pixelRatio;\nuniform sampler2D palette;\n\nconst float paletteSize = 4096., maxSize = 100.;\n\nvarying vec4 fragColor, fragBorderColor;\nvarying float fragBorderRadius, fragWidth, fragBorderSize, fragSize;\n\nvoid main() {\n  float size = size * maxSize / 255.;\n  float borderSize = borderSize * maxSize / 255.;\n  fragBorderSize = borderSize;\n  fragSize = size;\n\n  gl_PointSize = (size + borderSize) * pixelRatio;\n\n  vec2 pos = (position + translate) * scale\n\t\t\t+ (positionFract + translateFract) * scale\n\t\t\t+ (position + translate) * scaleFract\n\t\t\t+ (positionFract + translateFract) * scaleFract;\n\n  gl_Position = vec4(pos * 2. - 1., 0, 1);\n\n  fragBorderRadius = borderSize == 0. ? 2. : 1. - 2. * borderSize / (size + borderSize);\n  fragWidth = 1. / gl_PointSize;\n}\n&quot;]),uniforms:{color:function(t,e){var r=e.color.length?e.color[0]:e.color;return D.slice(4*r,4*r+4).map(function(t){return t/255})},borderColor:function(t,e){var r=e.borderColor.length?e.borderColor[0]:e.borderColor;return D.slice(4*r,4*r+4).map(function(t){return t/255})},pixelRatio:t.context(&quot;pixelRatio&quot;),palette:C,scale:t.prop(&quot;scale&quot;),scaleFract:t.prop(&quot;scaleFract&quot;),translate:t.prop(&quot;translate&quot;),translateFract:t.prop(&quot;translateFract&quot;),opacity:t.prop(&quot;opacity&quot;),marker:t.prop(&quot;marker&quot;)},attributes:{position:S,positionFract:E,size:B.attributes.size,borderSize:B.attributes.borderSize}}));else{var U=s({},B);U.frag=l([&quot;precision mediump float;\n#define GLSLIFY 1\n\nvarying vec4 fragColor, fragBorderColor;\nvarying float fragWidth, fragBorderColorLevel, fragColorLevel;\n\nuniform sampler2D marker;\nuniform float pixelRatio, opacity;\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(marker, gl_PointCoord).r, delta = fragWidth;\n\n  //max-distance alpha\n  if (dist &lt; 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);\n    return;\n  }\n\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&quot;]),U.vert=l([&quot;precision mediump float;\n#define GLSLIFY 1\n\nattribute vec2 position, positionFract;\nattribute float size, borderSize;\nattribute float colorId, borderColorId;\n\nuniform vec2 scale, scaleFract, translate, translateFract;\nuniform float pixelRatio;\nuniform sampler2D palette;\n\nconst float paletteSize = 4096., maxSize = 100.;\nconst float borderLevel = .5;\n\nvarying vec4 fragColor, fragBorderColor;\nvarying float fragPointSize, fragBorderRadius,\n\t\tfragWidth, fragBorderColorLevel, fragColorLevel;\n\nvoid main() {\n  vec4 color = texture2D(palette, vec2((colorId + .5) / paletteSize, 0));\n  vec4 borderColor = texture2D(palette, vec2((borderColorId + .5) / paletteSize, 0));\n\n  float size = size * maxSize / 255.;\n  float borderSize = borderSize * maxSize / 255.;\n\n  gl_PointSize = 2. * size * pixelRatio;\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}\n&quot;]),k=t(U);var V=s({},B);V.frag=l([&quot;precision highp float;\n#define GLSLIFY 1\n\nvarying vec4 fragColor, fragBorderColor;\n\nuniform float opacity;\nvarying float fragBorderRadius, fragWidth;\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 &gt; 1.0 + delta) {\n\t\tdiscard;\n\t\treturn;\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&quot;]),V.vert=l([&quot;precision highp float;\n#define GLSLIFY 1\n\nattribute vec2 position, positionFract;\nattribute float size, borderSize;\nattribute float colorId, borderColorId;\n\nuniform vec2 scale, scaleFract, translate, translateFract;\nuniform float pixelRatio;\nuniform sampler2D palette;\n\nconst float paletteSize = 4096., maxSize = 100.;\n\nvarying vec4 fragColor, fragBorderColor;\nvarying float fragBorderRadius, fragWidth;\n\nvoid main() {\n  vec4 color = texture2D(palette, vec2((colorId + .5) / paletteSize, 0));\n  vec4 borderColor = texture2D(palette, vec2((borderColorId + .5) / paletteSize, 0));\n\n  float size = size * maxSize / 255.;\n  float borderSize = borderSize * maxSize / 255.;\n\n  gl_PointSize = (size + borderSize) * pixelRatio;\n\n  vec2 pos = (position + translate) * scale\n\t\t\t+ (positionFract + translateFract) * scale\n\t\t\t+ (position + translate) * scaleFract\n\t\t\t+ (positionFract + translateFract) * scaleFract;\n\n  gl_Position = vec4(pos * 2. - 1., 0, 1);\n\n  fragBorderRadius = borderSize == 0. ? 2. : 1. - 2. * borderSize / (size + borderSize);\n  fragColor = color;\n  fragBorderColor = borderColor;\n  fragWidth = 1. / gl_PointSize;\n}\n&quot;]),A=t(V)}return s(r,{update:x,draw:p,destroy:M,regl:t,gl:z,canvas:z.canvas,groups:O,markers:R}),r}},{&quot;array-bounds&quot;:48,&quot;binary-search-bounds&quot;:504,&quot;color-id&quot;:97,&quot;color-normalize&quot;:99,&quot;flatten-vertex-data&quot;:143,glslify:505,&quot;is-iexplorer&quot;:284,&quot;object-assign&quot;:462,&quot;pick-by-alias&quot;:473,&quot;snap-points-2d&quot;:534,&quot;to-float32&quot;:547,&quot;update-diff&quot;:558}],504:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,n,i){var a=[&quot;function &quot;,t,&quot;(a,l,h,&quot;,n.join(&quot;,&quot;),&quot;){&quot;,i?&quot;&quot;:&quot;var i=&quot;,r?&quot;l-1&quot;:&quot;h+1&quot;,&quot;;while(l&lt;=h){var m=(l+h)&gt;&gt;&gt;1,x=a[m]&quot;];return i?e.indexOf(&quot;c&quot;)&lt;0?a.push(&quot;;if(x===y){return m}else if(x&lt;=y){&quot;):a.push(&quot;;var p=c(x,y);if(p===0){return m}else if(p&lt;=0){&quot;):a.push(&quot;;if(&quot;,e,&quot;){i=m;&quot;),r?a.push(&quot;l=m+1}else{h=m-1}&quot;):a.push(&quot;h=m-1}else{l=m+1}&quot;),a.push(&quot;}&quot;),i?a.push(&quot;return -1};&quot;):a.push(&quot;return i};&quot;),a.join(&quot;&quot;)}function i(t,e,r,i){return new Function([n(&quot;A&quot;,&quot;x&quot;+t+&quot;y&quot;,e,[&quot;y&quot;],i),n(&quot;P&quot;,&quot;c(x,y)&quot;+t+&quot;0&quot;,e,[&quot;y&quot;,&quot;c&quot;],i),&quot;function dispatchBsearch&quot;,r,&quot;(a,y,c,l,h){if(typeof(c)==='function'){return P(a,(l===void 0)?0:l|0,(h===void 0)?a.length-1:h|0,y,c)}else{return A(a,(c===void 0)?0:c|0,(l===void 0)?a.length-1:l|0,y)}}return dispatchBsearch&quot;,r].join(&quot;&quot;))()}e.exports={ge:i(&quot;&gt;=&quot;,!1,&quot;GE&quot;),gt:i(&quot;&gt;&quot;,!1,&quot;GT&quot;),lt:i(&quot;&lt;&quot;,!0,&quot;LT&quot;),le:i(&quot;&lt;=&quot;,!0,&quot;LE&quot;),eq:i(&quot;-&quot;,!0,&quot;EQ&quot;,!0)}},{}],505:[function(t,e,r){arguments[4][169][0].apply(r,arguments)},{dup:169}],506:[function(t,e,r){!function(t,n){&quot;object&quot;==typeof r&amp;&amp;void 0!==e?e.exports=n():t.createREGL=n()}(this,function(){function t(t,e){this.id=j++,this.type=t,this.data=e}function e(t){if(0===t.length)return[];var r=t.charAt(0),n=t.charAt(t.length-1);if(1&lt;t.length&amp;&amp;r===n&amp;&amp;('&quot;'===r||&quot;'&quot;===r))return['&quot;'+t.substr(1,t.length-2).replace(/\\/g,&quot;\\\\&quot;).replace(/&quot;/g,'\\&quot;')+'&quot;'];if(r=/\[(false|true|null|\d+|'[^']*'|&quot;[^&quot;]*&quot;)\]/.exec(t))return e(t.substr(0,r.index)).concat(e(r[1])).concat(e(t.substr(r.index+r[0].length)));if(1===(r=t.split(&quot;.&quot;)).length)return['&quot;'+t.replace(/\\/g,&quot;\\\\&quot;).replace(/&quot;/g,'\\&quot;')+'&quot;'];for(t=[],n=0;n&lt;r.length;++n)t=t.concat(e(r[n]));return t}function r(t){return&quot;[&quot;+e(t).join(&quot;][&quot;)+&quot;]&quot;}function n(t){return&quot;string&quot;==typeof t?t.split():t}function i(t){return&quot;string&quot;==typeof t?document.querySelector(t):t}function a(t){var e,r,a,o,s=t||{};t={};var l=[],c=[],u=&quot;undefined&quot;==typeof window?1:window.devicePixelRatio,f=!1,h=function(t){},d=function(){};if(&quot;string&quot;==typeof s?e=document.querySelector(s):&quot;object&quot;==typeof s&amp;&amp;(&quot;string&quot;==typeof s.nodeName&amp;&amp;&quot;function&quot;==typeof s.appendChild&amp;&amp;&quot;function&quot;==typeof s.getBoundingClientRect?e=s:&quot;function&quot;==typeof s.drawArrays||&quot;function&quot;==typeof s.drawElements?(o=s,a=o.canvas):(&quot;gl&quot;in s?o=s.gl:&quot;canvas&quot;in s?a=i(s.canvas):&quot;container&quot;in s&amp;&amp;(r=i(s.container)),&quot;attributes&quot;in s&amp;&amp;(t=s.attributes),&quot;extensions&quot;in s&amp;&amp;(l=n(s.extensions)),&quot;optionalExtensions&quot;in s&amp;&amp;(c=n(s.optionalExtensions)),&quot;onDone&quot;in s&amp;&amp;(h=s.onDone),&quot;profile&quot;in s&amp;&amp;(f=!!s.profile),&quot;pixelRatio&quot;in s&amp;&amp;(u=+s.pixelRatio))),e&amp;&amp;(&quot;canvas&quot;===e.nodeName.toLowerCase()?a=e:r=e),!o){if(!a){if(!(e=function(t,e,r){function n(){var e=window.innerWidth,n=window.innerHeight;t!==document.body&amp;&amp;(n=t.getBoundingClientRect(),e=n.right-n.left,n=n.bottom-n.top),i.width=r*e,i.height=r*n,N(i.style,{width:e+&quot;px&quot;,height:n+&quot;px&quot;})}var i=document.createElement(&quot;canvas&quot;);return N(i.style,{border:0,margin:0,padding:0,top:0,left:0}),t.appendChild(i),t===document.body&amp;&amp;(i.style.position=&quot;absolute&quot;,N(t.style,{margin:0,padding:0})),window.addEventListener(&quot;resize&quot;,n,!1),n(),{canvas:i,onDestroy:function(){window.removeEventListener(&quot;resize&quot;,n),t.removeChild(i)}}}(r||document.body,0,u)))return null;a=e.canvas,d=e.onDestroy}o=function(t,e){function r(r){try{return t.getContext(r,e)}catch(t){return null}}return r(&quot;webgl&quot;)||r(&quot;experimental-webgl&quot;)||r(&quot;webgl-experimental&quot;)}(a,t)}return o?{gl:o,canvas:a,container:r,extensions:l,optionalExtensions:c,pixelRatio:u,profile:f,onDone:h,onDestroy:d}:(d(),h(&quot;webgl not supported, try upgrading your browser or graphics drivers http://get.webgl.org&quot;),null)}function o(t){return!!t&amp;&amp;&quot;object&quot;==typeof t&amp;&amp;Array.isArray(t.shape)&amp;&amp;Array.isArray(t.stride)&amp;&amp;&quot;number&quot;==typeof t.offset&amp;&amp;t.shape.length===t.stride.length&amp;&amp;(Array.isArray(t.data)||q(t.data))}function s(t,e){for(var r=Array(t),n=0;n&lt;t;++n)r[n]=e(n);return r}function l(t){var e,r;return e=(65535&lt;t)&lt;&lt;4,t&gt;&gt;&gt;=e,r=(255&lt;t)&lt;&lt;3,t&gt;&gt;&gt;=r,e|=r,r=(15&lt;t)&lt;&lt;2,t&gt;&gt;&gt;=r,e|=r,r=(3&lt;t)&lt;&lt;1,e|r|t&gt;&gt;&gt;r&gt;&gt;1}function c(t){t:{for(var e=16;268435456&gt;=e;e*=16)if(t&lt;=e){t=e;break t}t=0}return 0&lt;(e=G[l(t)&gt;&gt;2]).length?e.pop():new ArrayBuffer(t)}function u(t){G[l(t.byteLength)&gt;&gt;2].push(t)}function f(t,e,r,n,i,a){for(var o=0;o&lt;e;++o)for(var s=t[o],l=0;l&lt;r;++l)for(var c=s[l],u=0;u&lt;n;++u)i[a++]=c[u]}function h(t,e,r,n,i){for(var a=1,o=r+1;o&lt;e.length;++o)a*=e[o];var s=e[r];if(4==e.length-r){var l=e[r+1],c=e[r+2];for(e=e[r+3],o=0;o&lt;s;++o)f(t[o],l,c,e,n,i),i+=a}else for(o=0;o&lt;s;++o)h(t[o],e,r+1,n,i),i+=a}function d(t){return 0|X[Object.prototype.toString.call(t)]}function p(t,e){for(var r=0;r&lt;e.length;++r)t[r]=e[r]}function m(t,e,r,n,i,a,o){for(var s=0,l=0;l&lt;r;++l)for(var c=0;c&lt;n;++c)t[s++]=e[i*l+a*c+o]}function g(t){for(var e=Y.allocType(5123,t.length),r=0;r&lt;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{et[0]=t[r];var n=(a=rt[0])&gt;&gt;&gt;31&lt;&lt;15,i=(a&lt;&lt;1&gt;&gt;&gt;24)-127,a=a&gt;&gt;13&amp;1023;e[r]=-24&gt;i?n:-14&gt;i?n+(a+1024&gt;&gt;-14-i):15&lt;i?n+31744:n+(i+15&lt;&lt;10)+a}return e}function v(t){return Array.isArray(t)||q(t)}function y(t){return Array.isArray(t)&amp;&amp;(0===t.length||&quot;number&quot;==typeof t[0])}function x(t){return!(!Array.isArray(t)||0===t.length||!v(t[0]))}function b(t){return Object.prototype.toString.call(t)}function _(t){if(!t)return!1;var e=b(t);return 0&lt;=ot.indexOf(e)||(y(t)||x(t)||o(t))}function w(t,e){36193===t.type?(t.data=g(e),Y.freeType(e)):t.data=e}function M(t,e,r,n,i,a){if(t=void 0!==lt[t]?lt[t]:at[t]*st[e],a&amp;&amp;(t*=6),i){for(n=0;1&lt;=r;)n+=t*r*r,r/=2;return n}return t*r*n}function k(t,e,r,n,i,a,s){function l(){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(&quot;object&quot;==typeof e&amp;&amp;e){&quot;premultiplyAlpha&quot;in e&amp;&amp;(t.premultiplyAlpha=e.premultiplyAlpha),&quot;flipY&quot;in e&amp;&amp;(t.flipY=e.flipY),&quot;alignment&quot;in e&amp;&amp;(t.unpackAlignment=e.alignment),&quot;colorSpace&quot;in e&amp;&amp;(t.colorSpace=V[e.colorSpace]),&quot;type&quot;in e&amp;&amp;(t.type=G[e.type]);var r=t.width,n=t.height,i=t.channels,a=!1;&quot;shape&quot;in e?(r=e.shape[0],n=e.shape[1],3===e.shape.length&amp;&amp;(i=e.shape[2],a=!0)):(&quot;radius&quot;in e&amp;&amp;(r=n=e.radius),&quot;width&quot;in e&amp;&amp;(r=e.width),&quot;height&quot;in e&amp;&amp;(n=e.height),&quot;channels&quot;in e&amp;&amp;(i=e.channels,a=!0)),t.width=0|r,t.height=0|n,t.channels=0|i,r=!1,&quot;format&quot;in e&amp;&amp;(r=e.format,n=t.internalformat=Z[r],t.format=st[n],r in G&amp;&amp;!(&quot;type&quot;in e)&amp;&amp;(t.type=G[r]),r in J&amp;&amp;(t.compressed=!0),r=!0),!a&amp;&amp;r?t.channels=at[t.format]:a&amp;&amp;!r&amp;&amp;t.channels!==it[t.format]&amp;&amp;(t.format=t.internalformat=it[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(){l.call(this),this.yOffset=this.xOffset=0,this.data=null,this.needsFree=!1,this.element=null,this.needsCopy=!1}function d(t,e){var r=null;if(_(e)?r=e:e&amp;&amp;(u(t,e),&quot;x&quot;in e&amp;&amp;(t.xOffset=0|e.x),&quot;y&quot;in e&amp;&amp;(t.yOffset=0|e.y),_(e.data)&amp;&amp;(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(q(r))t.channels=t.channels||4,t.data=r,&quot;type&quot;in e||5121!==t.type||(t.type=0|X[Object.prototype.toString.call(r)]);else if(y(r)){switch(t.channels=t.channels||4,n=r,a=n.length,t.type){case 5121:case 5123:case 5125:case 5126:(a=Y.allocType(t.type,a)).set(n),t.data=a;break;case 36193:t.data=g(n)}t.alignment=1,t.needsFree=!0}else if(o(r)){n=r.data,Array.isArray(n)||5121!==t.type||(t.type=0|X[Object.prototype.toString.call(n)]);a=r.shape;var s,l,c,f,h=r.stride;3===a.length?(c=a[2],f=h[2]):f=c=1,s=a[0],l=a[1],a=h[0],h=h[1],t.alignment=1,t.width=s,t.height=l,t.channels=c,t.format=t.internalformat=it[c],t.needsFree=!0,s=f,r=r.offset,c=t.width,f=t.height,l=t.channels;for(var d=Y.allocType(36193===t.type?5126:t.type,c*f*l),p=0,m=0;m&lt;f;++m)for(var M=0;M&lt;c;++M)for(var k=0;k&lt;l;++k)d[p++]=n[a*M+h*m+s*k+r];w(t,d)}else if(&quot;[object HTMLCanvasElement]&quot;===b(r)||&quot;[object CanvasRenderingContext2D]&quot;===b(r))&quot;[object HTMLCanvasElement]&quot;===b(r)?t.element=r:t.element=r.canvas,t.width=t.element.width,t.height=t.element.height,t.channels=4;else if(&quot;[object HTMLImageElement]&quot;===b(r))t.element=r,t.width=r.naturalWidth,t.height=r.naturalHeight,t.channels=4;else if(&quot;[object HTMLVideoElement]&quot;===b(r))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=v(r[0][0])?h||r[0][0].length:h||1,s=W.shape(r),c=1,f=0;f&lt;s.length;++f)c*=s[f];c=Y.allocType(36193===t.type?5126:t.type,c),W.flatten(r,s,&quot;&quot;,c),w(t,c),t.alignment=1,t.width=n,t.height=a,t.channels=h,t.format=t.internalformat=it[h],t.needsFree=!0}}else t.width=t.width||1,t.height=t.height||1,t.channels=t.channels||4}function p(e,r,i,a,o){var s=e.element,l=e.data,c=e.internalformat,u=e.format,h=e.type,d=e.width,p=e.height;f(e),s?t.texSubImage2D(r,o,i,a,u,h,s):e.compressed?t.compressedTexSubImage2D(r,o,i,a,c,d,p,l):e.needsCopy?(n(),t.copyTexSubImage2D(r,o,i,a,e.xOffset,e.yOffset,d,p)):t.texSubImage2D(r,o,i,a,d,p,u,h,l)}function m(){return lt.pop()||new h}function k(t){t.needsFree&amp;&amp;Y.freeType(t.data),h.call(t),lt.push(t)}function A(t,e,r){var n=t.images[0]=m();t.mipmask=1,n.width=t.width=e,n.height=t.height=r,n.channels=t.channels=4}function T(t,e){var r=null;if(_(e))r=t.images[0]=m(),c(r,t),d(r,e),t.mipmask=1;else if(u(t,e),Array.isArray(e.mipmap))for(var n=e.mipmap,i=0;i&lt;n.length;++i)r=t.images[i]=m(),c(r,t),r.width&gt;&gt;=i,r.height&gt;&gt;=i,d(r,n[i]),t.mipmask|=1&lt;&lt;i;else r=t.images[0]=m(),c(r,t),d(r,e),t.mipmask=1;c(t,t.images[0])}function S(e,r){for(var i=e.images,a=0;a&lt;i.length&amp;&amp;i[a];++a){var o=i[a],s=r,l=a,c=o.element,u=o.data,h=o.internalformat,d=o.format,p=o.type,m=o.width,g=o.height;f(o),c?t.texImage2D(s,l,d,d,p,c):o.compressed?t.compressedTexImage2D(s,l,h,m,g,0,u):o.needsCopy?(n(),t.copyTexImage2D(s,l,d,o.xOffset,o.yOffset,m,g,0)):t.texImage2D(s,l,d,m,g,0,d,p,u)}}function E(){var t=ct.pop()||new function(){l.call(this),this.genMipmaps=!1,this.mipmapHint=4352,this.mipmask=0,this.images=Array(16)};l.call(t);for(var e=t.mipmask=0;16&gt;e;++e)t.images[e]=null;return t}function L(t){for(var e=t.images,r=0;r&lt;e.length;++r)e[r]&amp;&amp;k(e[r]),e[r]=null;ct.push(t)}function C(){this.magFilter=this.minFilter=9728,this.wrapT=this.wrapS=33071,this.anisotropic=1,this.genMipmaps=!1,this.mipmapHint=4352}function z(t,e){&quot;min&quot;in e&amp;&amp;(t.minFilter=U[e.min],0&lt;=nt.indexOf(t.minFilter)&amp;&amp;(t.genMipmaps=!0)),&quot;mag&quot;in e&amp;&amp;(t.magFilter=B[e.mag]);var r=t.wrapS,n=t.wrapT;if(&quot;wrap&quot;in e){var i=e.wrap;&quot;string&quot;==typeof i?r=n=j[i]:Array.isArray(i)&amp;&amp;(r=j[i[0]],n=j[i[1]])}else&quot;wrapS&quot;in e&amp;&amp;(r=j[e.wrapS]),&quot;wrapT&quot;in e&amp;&amp;(n=j[e.wrapT]);if(t.wrapS=r,t.wrapT=n,&quot;anisotropic&quot;in e&amp;&amp;(t.anisotropic=e.anisotropic),&quot;mipmap&quot;in e){switch(r=!1,typeof e.mipmap){case&quot;string&quot;:t.mipmapHint=R[e.mipmap],r=t.genMipmaps=!0;break;case&quot;boolean&quot;:r=t.genMipmaps=e.mipmap;break;case&quot;object&quot;:t.genMipmaps=!1,r=!0}!r||&quot;min&quot;in e||(t.minFilter=9984)}}function D(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&amp;&amp;t.texParameteri(n,34046,r.anisotropic),r.genMipmaps&amp;&amp;(t.hint(33170,r.mipmapHint),t.generateMipmap(n))}function I(e){l.call(this),this.mipmask=0,this.internalformat=6408,this.id=ut++,this.refCount=1,this.target=e,this.texture=t.createTexture(),this.unit=-1,this.bindCount=0,this.texInfo=new C,s.profile&amp;&amp;(this.stats={size:0})}function P(e){t.activeTexture(33984),t.bindTexture(e.target,e.texture)}function O(){var e=dt[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&lt;=n&amp;&amp;(t.activeTexture(33984+n),t.bindTexture(i,null),dt[n]=null),t.deleteTexture(r),e.texture=null,e.params=null,e.pixels=null,e.refCount=0,delete ft[e.id],a.textureCount--}var R={&quot;don't care&quot;:4352,&quot;dont care&quot;:4352,nice:4354,fast:4353},j={repeat:10497,clamp:33071,mirror:33648},B={nearest:9728,linear:9729},U=N({mipmap:9987,&quot;nearest mipmap nearest&quot;:9984,&quot;linear mipmap nearest&quot;:9985,&quot;nearest mipmap linear&quot;:9986,&quot;linear mipmap linear&quot;:9987},B),V={none:0,browser:37444},G={uint8:5121,rgba4:32819,rgb565:33635,&quot;rgb5 a1&quot;:32820},Z={alpha:6406,luminance:6409,&quot;luminance alpha&quot;:6410,rgb:6407,rgba:6408,rgba4:32854,&quot;rgb5 a1&quot;:32855,rgb565:36194},J={};e.ext_srgb&amp;&amp;(Z.srgb=35904,Z.srgba=35906),e.oes_texture_float&amp;&amp;(G.float32=G.float=5126),e.oes_texture_half_float&amp;&amp;(G.float16=G[&quot;half float&quot;]=36193),e.webgl_depth_texture&amp;&amp;(N(Z,{depth:6402,&quot;depth stencil&quot;:34041}),N(G,{uint16:5123,uint32:5125,&quot;depth stencil&quot;:34042})),e.webgl_compressed_texture_s3tc&amp;&amp;N(J,{&quot;rgb s3tc dxt1&quot;:33776,&quot;rgba s3tc dxt1&quot;:33777,&quot;rgba s3tc dxt3&quot;:33778,&quot;rgba s3tc dxt5&quot;:33779}),e.webgl_compressed_texture_atc&amp;&amp;N(J,{&quot;rgb atc&quot;:35986,&quot;rgba atc explicit alpha&quot;:35987,&quot;rgba atc interpolated alpha&quot;:34798}),e.webgl_compressed_texture_pvrtc&amp;&amp;N(J,{&quot;rgb pvrtc 4bppv1&quot;:35840,&quot;rgb pvrtc 2bppv1&quot;:35841,&quot;rgba pvrtc 4bppv1&quot;:35842,&quot;rgba pvrtc 2bppv1&quot;:35843}),e.webgl_compressed_texture_etc1&amp;&amp;(J[&quot;rgb etc1&quot;]=36196);var K=Array.prototype.slice.call(t.getParameter(34467));Object.keys(J).forEach(function(t){var e=J[t];0&lt;=K.indexOf(e)&amp;&amp;(Z[t]=e)});var Q=Object.keys(Z);r.textureFormats=Q;var $=[];Object.keys(Z).forEach(function(t){$[Z[t]]=t});var tt=[];Object.keys(G).forEach(function(t){tt[G[t]]=t});var et=[];Object.keys(B).forEach(function(t){et[B[t]]=t});var rt=[];Object.keys(U).forEach(function(t){rt[U[t]]=t});var ot=[];Object.keys(j).forEach(function(t){ot[j[t]]=t});var st=Q.reduce(function(t,e){var r=Z[e];return 6409===r||6406===r||6409===r||6410===r||6402===r||34041===r?t[r]=r:32855===r||0&lt;=e.indexOf(&quot;rgba&quot;)?t[r]=6408:t[r]=6407,t},{}),lt=[],ct=[],ut=0,ft={},ht=r.maxTextureUnits,dt=Array(ht).map(function(){return null});return N(I.prototype,{bind:function(){this.bindCount+=1;var e=this.unit;if(0&gt;e){for(var r=0;r&lt;ht;++r){var n=dt[r];if(n){if(0&lt;n.bindCount)continue;n.unit=-1}dt[r]=this,e=r;break}s.profile&amp;&amp;a.maxTextureUnits&lt;e+1&amp;&amp;(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&gt;=--this.refCount&amp;&amp;F(this)}}),s.profile&amp;&amp;(a.getTotalTextureSize=function(){var t=0;return Object.keys(ft).forEach(function(e){t+=ft[e].stats.size}),t}),{create2D:function(e,r){function n(t,e){var r=i.texInfo;C.call(r);var a=E();return&quot;number&quot;==typeof t?&quot;number&quot;==typeof e?A(a,0|t,0|e):A(a,0|t,0|t):t?(z(r,t),T(a,t)):A(a,1,1),r.genMipmaps&amp;&amp;(a.mipmask=(a.width&lt;&lt;1)-1),i.mipmask=a.mipmask,c(i,a),i.internalformat=a.internalformat,n.width=a.width,n.height=a.height,P(i),S(a,3553),D(r,3553),O(),L(a),s.profile&amp;&amp;(i.stats.size=M(i.internalformat,i.type,a.width,a.height,r.genMipmaps,!1)),n.format=$[i.internalformat],n.type=tt[i.type],n.mag=et[r.magFilter],n.min=rt[r.minFilter],n.wrapS=ot[r.wrapS],n.wrapT=ot[r.wrapT],n}var i=new I(3553);return ft[i.id]=i,a.textureCount++,n(e,r),n.subimage=function(t,e,r,a){e|=0,r|=0,a|=0;var o=m();return c(o,i),o.width=0,o.height=0,d(o,t),o.width=o.width||(i.width&gt;&gt;a)-e,o.height=o.height||(i.height&gt;&gt;a)-r,P(i),p(o,3553,e,r,a),O(),k(o),n},n.resize=function(e,r){var a=0|e,o=0|r||a;if(a===i.width&amp;&amp;o===i.height)return n;n.width=i.width=a,n.height=i.height=o,P(i);for(var l=0;i.mipmask&gt;&gt;l;++l)t.texImage2D(3553,l,i.format,a&gt;&gt;l,o&gt;&gt;l,0,i.format,i.type,null);return O(),s.profile&amp;&amp;(i.stats.size=M(i.internalformat,i.type,a,o,!1,!1)),n},n._reglType=&quot;texture2d&quot;,n._texture=i,s.profile&amp;&amp;(n.stats=i.stats),n.destroy=function(){i.decRef()},n},createCube:function(e,r,n,i,o,l){function f(t,e,r,n,i,a){var o,l=h.texInfo;for(C.call(l),o=0;6&gt;o;++o)g[o]=E();if(&quot;number&quot;!=typeof t&amp;&amp;t){if(&quot;object&quot;==typeof t)if(e)T(g[0],t),T(g[1],e),T(g[2],r),T(g[3],n),T(g[4],i),T(g[5],a);else if(z(l,t),u(h,t),&quot;faces&quot;in t)for(t=t.faces,o=0;6&gt;o;++o)c(g[o],h),T(g[o],t[o]);else for(o=0;6&gt;o;++o)T(g[o],t)}else for(t=0|t||1,o=0;6&gt;o;++o)A(g[o],t,t);for(c(h,g[0]),h.mipmask=l.genMipmaps?(g[0].width&lt;&lt;1)-1:g[0].mipmask,h.internalformat=g[0].internalformat,f.width=g[0].width,f.height=g[0].height,P(h),o=0;6&gt;o;++o)S(g[o],34069+o);for(D(l,34067),O(),s.profile&amp;&amp;(h.stats.size=M(h.internalformat,h.type,f.width,f.height,l.genMipmaps,!0)),f.format=$[h.internalformat],f.type=tt[h.type],f.mag=et[l.magFilter],f.min=rt[l.minFilter],f.wrapS=ot[l.wrapS],f.wrapT=ot[l.wrapT],o=0;6&gt;o;++o)L(g[o]);return f}var h=new I(34067);ft[h.id]=h,a.cubeCount++;var g=Array(6);return f(e,r,n,i,o,l),f.subimage=function(t,e,r,n,i){r|=0,n|=0,i|=0;var a=m();return c(a,h),a.width=0,a.height=0,d(a,e),a.width=a.width||(h.width&gt;&gt;i)-r,a.height=a.height||(h.height&gt;&gt;i)-n,P(h),p(a,34069+t,r,n,i),O(),k(a),f},f.resize=function(e){if((e|=0)!==h.width){f.width=h.width=e,f.height=h.height=e,P(h);for(var r=0;6&gt;r;++r)for(var n=0;h.mipmask&gt;&gt;n;++n)t.texImage2D(34069+r,n,h.format,e&gt;&gt;n,e&gt;&gt;n,0,h.format,h.type,null);return O(),s.profile&amp;&amp;(h.stats.size=M(h.internalformat,h.type,f.width,f.height,!1,!0)),f}},f._reglType=&quot;textureCube&quot;,f._texture=h,s.profile&amp;&amp;(f.stats=h.stats),f.destroy=function(){h.decRef()},f},clear:function(){for(var e=0;e&lt;ht;++e)t.activeTexture(33984+e),t.bindTexture(3553,null),dt[e]=null;H(ft).forEach(F),a.cubeCount=0,a.textureCount=0},getTexture:function(t){return null},restore:function(){H(ft).forEach(function(e){e.texture=t.createTexture(),t.bindTexture(e.target,e.texture);for(var r=0;32&gt;r;++r)if(0!=(e.mipmask&amp;1&lt;&lt;r))if(3553===e.target)t.texImage2D(3553,r,e.internalformat,e.width&gt;&gt;r,e.height&gt;&gt;r,0,e.internalformat,e.type,null);else for(var n=0;6&gt;n;++n)t.texImage2D(34069+n,r,e.internalformat,e.width&gt;&gt;r,e.height&gt;&gt;r,0,e.internalformat,e.type,null);D(e.texInfo,e.target)})}}}function A(){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 T(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&lt;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?l:c)[n])){var a=e.str(n),o=t.createShader(r);t.shaderSource(o,a),t.compileShader(o),i[n]=o}return o}function s(r,s){var l,c;l=o(35632,r.fragId),c=o(35633,r.vertId);var u=r.program=t.createProgram();t.attachShader(u,l),t.attachShader(u,c),t.linkProgram(u);var f=t.getProgramParameter(u,35718);n.profile&amp;&amp;(r.stats.uniformsCount=f);var h=r.uniforms;for(l=0;l&lt;f;++l)if(c=t.getActiveUniform(u,l))if(1&lt;c.size)for(var d=0;d&lt;c.size;++d){var p=c.name.replace(&quot;[0]&quot;,&quot;[&quot;+d+&quot;]&quot;);a(h,new i(p,e.id(p),t.getUniformLocation(u,p),c))}else a(h,new i(c.name,e.id(c.name),t.getUniformLocation(u,c.name),c));for(f=t.getProgramParameter(u,35721),n.profile&amp;&amp;(r.stats.attributesCount=f),h=r.attributes,l=0;l&lt;f;++l)(c=t.getActiveAttrib(u,l))&amp;&amp;a(h,new i(c.name,e.id(c.name),t.getAttribLocation(u,c.name),c))}var l={},c={},u={},f=[],h=0;return n.profile&amp;&amp;(r.getMaxUniformsCount=function(){var t=0;return f.forEach(function(e){e.stats.uniformsCount&gt;t&amp;&amp;(t=e.stats.uniformsCount)}),t},r.getMaxAttributesCount=function(){var t=0;return f.forEach(function(e){e.stats.attributesCount&gt;t&amp;&amp;(t=e.stats.attributesCount)}),t}),{clear:function(){var e=t.deleteShader.bind(t);H(l).forEach(e),l={},H(c).forEach(e),c={},f.forEach(function(e){t.deleteProgram(e.program)}),f.length=0,u={},r.shaderCount=0},program:function(t,e,i){var a=u[e];a||(a=u[e]={});var o=a[t];return o||(o=new function(t,e){this.id=h++,this.fragId=t,this.vertId=e,this.program=null,this.uniforms=[],this.attributes=[],n.profile&amp;&amp;(this.stats={uniformsCount:0,attributesCount:0})}(e,t),r.shaderCount++,s(o),a[t]=o,f.push(o)),o},restore:function(){l={},c={};for(var t=0;t&lt;f.length;++t)s(f[t])},shader:o,frag:-1,vert:-1}}function S(t,e,r,n,i,a){function o(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 q(i)?u=i:i&amp;&amp;(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&amp;&amp;(u=u||new Float32Array(i))),t.pixelStorei(3333,4),t.readPixels(o,s,l,c,6408,a,u),u}return function(t){return t&amp;&amp;&quot;framebuffer&quot;in t?function(t){var r;return e.setFBO({framebuffer:t.framebuffer},function(){r=o(t)}),r}(t):o(t)}}function E(t){return Array.prototype.slice.call(t)}function L(t){return E(t).join(&quot;&quot;)}function C(t){return Array.isArray(t)||q(t)||o(t)}function z(t){return t.sort(function(t,e){return&quot;viewport&quot;===t?-1:&quot;viewport&quot;===e?1:t&lt;e?-1:1})}function D(t,e,r,n){this.thisDep=t,this.contextDep=e,this.propDep=r,this.append=n}function I(t){return t&amp;&amp;!(t.thisDep||t.contextDep||t.propDep)}function P(t){return new D(!1,!1,!1,t)}function O(t,e){var r=t.type;return 0===r?(r=t.data.length,new D(!0,1&lt;=r,2&lt;=r,e)):4===r?(r=t.data,new D(r.thisDep,r.contextDep,r.propDep,e)):new D(3===r,2===r,1===r,e)}function F(t,e,r,n,i,a,o,l,c,u,f,h,d,p,m){function g(t){return t.replace(&quot;.&quot;,&quot;_&quot;)}function y(t,e,r){var n=g(t);$.push(t),Q[n]=K[n]=!!r,et[n]=e}function x(t,e,r){var n=g(t);$.push(t),Array.isArray(r)?(K[n]=r.slice(),Q[n]=r.slice()):K[n]=Q[n]=r,rt[n]=e}function b(){var t=function(){function t(){var t=[],e=[];return N(function(){t.push.apply(t,E(arguments))},{def:function(){var n=&quot;v&quot;+r++;return e.push(n),0&lt;arguments.length&amp;&amp;(t.push(n,&quot;=&quot;),t.push.apply(t,E(arguments)),t.push(&quot;;&quot;)),n},toString:function(){return L([0&lt;e.length?&quot;var &quot;+e+&quot;;&quot;:&quot;&quot;,L(t)])}})}function e(){function e(t,e){n(t,e,&quot;=&quot;,r.def(t,e),&quot;;&quot;)}var r=t(),n=t(),i=r.toString,a=n.toString;return N(function(){r.apply(r,E(arguments))},{def:r.def,entry:r,exit:n,save:e,set:function(t,n,i){e(t,n),r(t,n,&quot;=&quot;,i,&quot;;&quot;)},toString:function(){return i()+a()}})}var r=0,n=[],i=[],a=t(),o={};return{global:a,link:function(t){for(var e=0;e&lt;i.length;++e)if(i[e]===t)return n[e];return e=&quot;g&quot;+r++,n.push(e),i.push(t),e},block:t,proc:function(t,r){function n(){var t=&quot;a&quot;+i.length;return i.push(t),t}var i=[];r=r||0;for(var a=0;a&lt;r;++a)n();var s=(a=e()).toString;return o[t]=N(a,{arg:n,toString:function(){return L([&quot;function(&quot;,i.join(),&quot;){&quot;,s(),&quot;}&quot;])}})},scope:e,cond:function(){var t=L(arguments),r=e(),n=e(),i=r.toString,a=n.toString;return N(r,{then:function(){return r.apply(r,E(arguments)),this},else:function(){return n.apply(n,E(arguments)),this},toString:function(){var e=a();return e&amp;&amp;(e=&quot;else{&quot;+e+&quot;}&quot;),L([&quot;if(&quot;,t,&quot;){&quot;,i(),&quot;}&quot;,e])}})},compile:function(){var t=['&quot;use strict&quot;;',a,&quot;return {&quot;];Object.keys(o).forEach(function(e){t.push('&quot;',e,'&quot;:',o[e].toString(),&quot;,&quot;)}),t.push(&quot;}&quot;);var e=L(t).replace(/;/g,&quot;;\n&quot;).replace(/}/g,&quot;}\n&quot;).replace(/{/g,&quot;{\n&quot;);return Function.apply(null,n.concat(e)).apply(null,i)}}}(),r=t.link,n=t.global;t.id=at++,t.batchId=&quot;0&quot;;var i=r(nt),a=t.shared={props:&quot;a0&quot;};Object.keys(nt).forEach(function(t){a[t]=n.def(i,&quot;.&quot;,t)});var o=t.next={},s=t.current={};Object.keys(rt).forEach(function(t){Array.isArray(K[t])&amp;&amp;(o[t]=n.def(a.next,&quot;.&quot;,t),s[t]=n.def(a.current,&quot;.&quot;,t))});var l=t.constants={};Object.keys(it).forEach(function(t){l[t]=n.def(JSON.stringify(it[t]))}),t.invoke=function(e,n){switch(n.type){case 0:var i=[&quot;this&quot;,a.context,a.props,t.batchId];return e.def(r(n.data),&quot;.call(&quot;,i.slice(0,Math.max(n.data.length+1,4)),&quot;)&quot;);case 1:return e.def(a.props,n.data);case 2:return e.def(a.context,n.data);case 3:return e.def(&quot;this&quot;,n.data);case 4:return n.data.append(t,e),n.data.ref}},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 Y),c[t]=r(n)},t}function _(t,r,n,o,c){var u=function(t,e){var r=t.static,n=t.dynamic;if(&quot;framebuffer&quot;in r){var i=r.framebuffer;return i?(i=l.getFramebuffer(i),P(function(t,e){var r=t.link(i),n=t.shared;return e.set(n.framebuffer,&quot;.next&quot;,r),n=n.context,e.set(n,&quot;.framebufferWidth&quot;,r+&quot;.width&quot;),e.set(n,&quot;.framebufferHeight&quot;,r+&quot;.height&quot;),r})):P(function(t,e){var r=t.shared;return e.set(r.framebuffer,&quot;.next&quot;,&quot;null&quot;),r=r.context,e.set(r,&quot;.framebufferWidth&quot;,r+&quot;.drawingBufferWidth&quot;),e.set(r,&quot;.framebufferHeight&quot;,r+&quot;.drawingBufferHeight&quot;),&quot;null&quot;})}if(&quot;framebuffer&quot;in n){var a=n.framebuffer;return O(a,function(t,e){var r=t.invoke(e,a),n=t.shared,i=n.framebuffer;return r=e.def(i,&quot;.getFramebuffer(&quot;,r,&quot;)&quot;),e.set(i,&quot;.next&quot;,r),n=n.context,e.set(n,&quot;.framebufferWidth&quot;,r+&quot;?&quot;+r+&quot;.width:&quot;+n+&quot;.drawingBufferWidth&quot;),e.set(n,&quot;.framebufferHeight&quot;,r+&quot;?&quot;+r+&quot;.height:&quot;+n+&quot;.drawingBufferHeight&quot;),r})}return null}(t),h=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&quot;width&quot;in r?n=0|r.width:t=!1,&quot;height&quot;in r?o=0|r.height:t=!1,new D(!t&amp;&amp;e&amp;&amp;e.thisDep,!t&amp;&amp;e&amp;&amp;e.contextDep,!t&amp;&amp;e&amp;&amp;e.propDep,function(t,e){var i=t.shared.context,a=n;&quot;width&quot;in r||(a=e.def(i,&quot;.&quot;,&quot;framebufferWidth&quot;,&quot;-&quot;,s));var c=o;return&quot;height&quot;in r||(c=e.def(i,&quot;.&quot;,&quot;framebufferHeight&quot;,&quot;-&quot;,l)),[s,l,a,c]})}if(t in a){var c=a[t];return t=O(c,function(t,e){var r=t.invoke(e,c),n=t.shared.context,i=e.def(r,&quot;.x|0&quot;),a=e.def(r,&quot;.y|0&quot;);return[i,a,e.def('&quot;width&quot; in ',r,&quot;?&quot;,r,&quot;.width|0:&quot;,&quot;(&quot;,n,&quot;.&quot;,&quot;framebufferWidth&quot;,&quot;-&quot;,i,&quot;)&quot;),r=e.def('&quot;height&quot; in ',r,&quot;?&quot;,r,&quot;.height|0:&quot;,&quot;(&quot;,n,&quot;.&quot;,&quot;framebufferHeight&quot;,&quot;-&quot;,a,&quot;)&quot;)]}),e&amp;&amp;(t.thisDep=t.thisDep||e.thisDep,t.contextDep=t.contextDep||e.contextDep,t.propDep=t.propDep||e.propDep),t}return e?new D(e.thisDep,e.contextDep,e.propDep,function(t,e){var r=t.shared.context;return[0,0,e.def(r,&quot;.&quot;,&quot;framebufferWidth&quot;),e.def(r,&quot;.&quot;,&quot;framebufferHeight&quot;)]}):null}var i=t.static,a=t.dynamic;if(t=n(&quot;viewport&quot;)){var o=t;t=new D(t.thisDep,t.contextDep,t.propDep,function(t,e){var r=o.append(t,e),n=t.shared.context;return e.set(n,&quot;.viewportWidth&quot;,r[2]),e.set(n,&quot;.viewportHeight&quot;,r[3]),r})}return{viewport:t,scissor_box:n(&quot;scissor.box&quot;)}}(t,u),d=function(t,e){function r(t,e){if(t in n){var r=0|n[t];return P(function(t,n){return e&amp;&amp;(t.OFFSET=r),r})}if(t in i){var a=i[t];return O(a,function(t,r){var n=t.invoke(r,a);return e&amp;&amp;(t.OFFSET=n),n})}return e&amp;&amp;o?P(function(t,e){return t.OFFSET=&quot;0&quot;,0}):null}var n=t.static,i=t.dynamic,o=function(){if(&quot;elements&quot;in n){var t=n.elements;C(t)?t=a.getElements(a.create(t,!0)):t&amp;&amp;(t=a.getElements(t));var e=P(function(e,r){if(t){var n=e.link(t);return e.ELEMENTS=n}return e.ELEMENTS=null});return e.value=t,e}if(&quot;elements&quot;in i){var r=i.elements;return O(r,function(t,e){var n=(i=t.shared).isBufferArgs,i=i.elements,a=t.invoke(e,r),o=e.def(&quot;null&quot;);return n=e.def(n,&quot;(&quot;,a,&quot;)&quot;),a=t.cond(n).then(o,&quot;=&quot;,i,&quot;.createStream(&quot;,a,&quot;);&quot;).else(o,&quot;=&quot;,i,&quot;.getElements(&quot;,a,&quot;);&quot;),e.entry(a),e.exit(t.cond(n).then(i,&quot;.destroyStream(&quot;,o,&quot;);&quot;)),t.ELEMENTS=o})}return null}(),s=r(&quot;offset&quot;,!0);return{elements:o,primitive:function(){if(&quot;primitive&quot;in n){var t=n.primitive;return P(function(e,r){return tt[t]})}if(&quot;primitive&quot;in i){var e=i.primitive;return O(e,function(t,r){var n=t.constants.primTypes,i=t.invoke(r,e);return r.def(n,&quot;[&quot;,i,&quot;]&quot;)})}return o?I(o)?P(o.value?function(t,e){return e.def(t.ELEMENTS,&quot;.primType&quot;)}:function(){return 4}):new D(o.thisDep,o.contextDep,o.propDep,function(t,e){var r=t.ELEMENTS;return e.def(r,&quot;?&quot;,r,&quot;.primType:&quot;,4)}):null}(),count:function(){if(&quot;count&quot;in n){var t=0|n.count;return P(function(){return t})}if(&quot;count&quot;in i){var e=i.count;return O(e,function(t,r){return t.invoke(r,e)})}return o?I(o)?o?s?new D(s.thisDep,s.contextDep,s.propDep,function(t,e){return e.def(t.ELEMENTS,&quot;.vertCount-&quot;,t.OFFSET)}):P(function(t,e){return e.def(t.ELEMENTS,&quot;.vertCount&quot;)}):P(function(){return-1}):new D(o.thisDep||s.thisDep,o.contextDep||s.contextDep,o.propDep||s.propDep,function(t,e){var r=t.ELEMENTS;return t.OFFSET?e.def(r,&quot;?&quot;,r,&quot;.vertCount-&quot;,t.OFFSET,&quot;:-1&quot;):e.def(r,&quot;?&quot;,r,&quot;.vertCount:-1&quot;)}):null}(),instances:r(&quot;instances&quot;,!1),offset:s}}(t),p=function(t,e){var r=t.static,n=t.dynamic,i={};return $.forEach(function(t){function e(e,o){if(t in r){var s=e(r[t]);i[a]=P(function(){return s})}else if(t in n){var l=n[t];i[a]=O(l,function(t,e){return o(t,e,t.invoke(e,l))})}}var a=g(t);switch(t){case&quot;cull.enable&quot;:case&quot;blend.enable&quot;:case&quot;dither&quot;:case&quot;stencil.enable&quot;:case&quot;depth.enable&quot;:case&quot;scissor.enable&quot;:case&quot;polygonOffset.enable&quot;:case&quot;sample.alpha&quot;:case&quot;sample.enable&quot;:case&quot;depth.mask&quot;:return e(function(t){return t},function(t,e,r){return r});case&quot;depth.func&quot;:return e(function(t){return mt[t]},function(t,e,r){return e.def(t.constants.compareFuncs,&quot;[&quot;,r,&quot;]&quot;)});case&quot;depth.range&quot;:return e(function(t){return t},function(t,e,r){return t=e.def(&quot;+&quot;,r,&quot;[0]&quot;),e=e.def(&quot;+&quot;,r,&quot;[1]&quot;),[t,e]});case&quot;blend.func&quot;:return e(function(t){return[pt[&quot;srcRGB&quot;in t?t.srcRGB:t.src],pt[&quot;dstRGB&quot;in t?t.dstRGB:t.dst],pt[&quot;srcAlpha&quot;in t?t.srcAlpha:t.src],pt[&quot;dstAlpha&quot;in t?t.dstAlpha:t.dst]]},function(t,e,r){function n(t,n){return e.def('&quot;',t,n,'&quot; in ',r,&quot;?&quot;,r,&quot;.&quot;,t,n,&quot;:&quot;,r,&quot;.&quot;,t)}t=t.constants.blendFuncs;var i=n(&quot;src&quot;,&quot;RGB&quot;),a=n(&quot;dst&quot;,&quot;RGB&quot;),o=(i=e.def(t,&quot;[&quot;,i,&quot;]&quot;),e.def(t,&quot;[&quot;,n(&quot;src&quot;,&quot;Alpha&quot;),&quot;]&quot;));return a=e.def(t,&quot;[&quot;,a,&quot;]&quot;),t=e.def(t,&quot;[&quot;,n(&quot;dst&quot;,&quot;Alpha&quot;),&quot;]&quot;),[i,a,o,t]});case&quot;blend.equation&quot;:return e(function(t){return&quot;string&quot;==typeof t?[W[t],W[t]]:&quot;object&quot;==typeof t?[W[t.rgb],W[t.alpha]]:void 0},function(t,e,r){var n=t.constants.blendEquations,i=e.def(),a=e.def();return(t=t.cond(&quot;typeof &quot;,r,'===&quot;string&quot;')).then(i,&quot;=&quot;,a,&quot;=&quot;,n,&quot;[&quot;,r,&quot;];&quot;),t.else(i,&quot;=&quot;,n,&quot;[&quot;,r,&quot;.rgb];&quot;,a,&quot;=&quot;,n,&quot;[&quot;,r,&quot;.alpha];&quot;),e(t),[i,a]});case&quot;blend.color&quot;:return e(function(t){return s(4,function(e){return+t[e]})},function(t,e,r){return s(4,function(t){return e.def(&quot;+&quot;,r,&quot;[&quot;,t,&quot;]&quot;)})});case&quot;stencil.mask&quot;:return e(function(t){return 0|t},function(t,e,r){return e.def(r,&quot;|0&quot;)});case&quot;stencil.func&quot;:return e(function(t){return[mt[t.cmp||&quot;keep&quot;],t.ref||0,&quot;mask&quot;in t?t.mask:-1]},function(t,e,r){t=e.def('&quot;cmp&quot; in ',r,&quot;?&quot;,t.constants.compareFuncs,&quot;[&quot;,r,&quot;.cmp]&quot;,&quot;:&quot;,7680);var n=e.def(r,&quot;.ref|0&quot;);return e=e.def('&quot;mask&quot; in ',r,&quot;?&quot;,r,&quot;.mask|0:-1&quot;),[t,n,e]});case&quot;stencil.opFront&quot;:case&quot;stencil.opBack&quot;:return e(function(e){return[&quot;stencil.opBack&quot;===t?1029:1028,gt[e.fail||&quot;keep&quot;],gt[e.zfail||&quot;keep&quot;],gt[e.zpass||&quot;keep&quot;]]},function(e,r,n){function i(t){return r.def('&quot;',t,'&quot; in ',n,&quot;?&quot;,a,&quot;[&quot;,n,&quot;.&quot;,t,&quot;]:&quot;,7680)}var a=e.constants.stencilOps;return[&quot;stencil.opBack&quot;===t?1029:1028,i(&quot;fail&quot;),i(&quot;zfail&quot;),i(&quot;zpass&quot;)]});case&quot;polygonOffset.offset&quot;:return e(function(t){return[0|t.factor,0|t.units]},function(t,e,r){return t=e.def(r,&quot;.factor|0&quot;),e=e.def(r,&quot;.units|0&quot;),[t,e]});case&quot;cull.face&quot;:return e(function(t){var e=0;return&quot;front&quot;===t?e=1028:&quot;back&quot;===t&amp;&amp;(e=1029),e},function(t,e,r){return e.def(r,'===&quot;front&quot;?',1028,&quot;:&quot;,1029)});case&quot;lineWidth&quot;:return e(function(t){return t},function(t,e,r){return r});case&quot;frontFace&quot;:return e(function(t){return vt[t]},function(t,e,r){return e.def(r+'===&quot;cw&quot;?2304:2305')});case&quot;colorMask&quot;:return e(function(t){return t.map(function(t){return!!t})},function(t,e,r){return s(4,function(t){return&quot;!!&quot;+r+&quot;[&quot;+t+&quot;]&quot;})});case&quot;sample.coverage&quot;:return e(function(t){return[&quot;value&quot;in t?t.value:1,!!t.invert]},function(t,e,r){return t=e.def('&quot;value&quot; in ',r,&quot;?+&quot;,r,&quot;.value:1&quot;),e=e.def(&quot;!!&quot;,r,&quot;.invert&quot;),[t,e]})}}),i}(t),m=function(t){function r(t){if(t in n){var r=e.id(n[t]);return t=P(function(){return r}),t.id=r,t}if(t in i){var a=i[t];return O(a,function(t,e){var r=t.invoke(e,a);return e.def(t.shared.strings,&quot;.id(&quot;,r,&quot;)&quot;)})}return null}var n=t.static,i=t.dynamic,a=r(&quot;frag&quot;),o=r(&quot;vert&quot;),s=null;return I(a)&amp;&amp;I(o)?(s=f.program(o.id,a.id),t=P(function(t,e){return t.link(s)})):t=new D(a&amp;&amp;a.thisDep||o&amp;&amp;o.thisDep,a&amp;&amp;a.contextDep||o&amp;&amp;o.contextDep,a&amp;&amp;a.propDep||o&amp;&amp;o.propDep,function(t,e){var r,n=t.shared.shader;r=a?a.append(t,e):e.def(n,&quot;.&quot;,&quot;frag&quot;);var i;return i=o?o.append(t,e):e.def(n,&quot;.&quot;,&quot;vert&quot;),e.def(n+&quot;.program(&quot;+i+&quot;,&quot;+r+&quot;)&quot;)}),{frag:a,vert:o,progVar:t,program:s}}(t),y=h.viewport;return y&amp;&amp;(p.viewport=y),y=g(&quot;scissor.box&quot;),(h=h[y])&amp;&amp;(p[y]=h),h=0&lt;Object.keys(p).length,u={framebuffer:u,draw:d,shader:m,state:p,dirty:h},u.profile=function(t){var e=t.static;t=t.dynamic;var r;if(&quot;profile&quot;in e){var n=!!e.profile;(r=P(function(t,e){return n})).enable=n}else if(&quot;profile&quot;in t){var i=t.profile;r=O(i,function(t,e){return t.invoke(e,i)})}return r}(t),u.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(&quot;number&quot;==typeof n||&quot;boolean&quot;==typeof n)e=P(function(){return n});else if(&quot;function&quot;==typeof n){var a=n._reglType;&quot;texture2d&quot;===a||&quot;textureCube&quot;===a?e=P(function(t){return t.link(n)}):&quot;framebuffer&quot;!==a&amp;&amp;&quot;framebufferCube&quot;!==a||(e=P(function(t){return t.link(n.color[0])}))}else v(n)&amp;&amp;(e=P(function(t){return t.global.def(&quot;[&quot;,s(n.length,function(t){return n[t]}),&quot;]&quot;)}));e.value=n,i[t]=e}),Object.keys(n).forEach(function(t){var e=n[t];i[t]=O(e,function(t,r){return t.invoke(r,e)})}),i}(n),u.attributes=function(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 Y;if(C(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(r.constant){var l=r.constant;s.buffer=&quot;null&quot;,s.state=2,&quot;number&quot;==typeof l?s.x=l:ht.forEach(function(t,e){e&lt;l.length&amp;&amp;(s[t]=l[e])})}else{var c=C(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,d=!!r.normalized,p=0;&quot;type&quot;in r&amp;&amp;(p=Z[r.type]),r=0|r.divisor,s.buffer=c,s.state=1,s.size=h,s.normalized=d,s.type=p||c.dtype,s.offset=u,s.stride=f,s.divisor=r}o[t]=P(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&amp;&amp;(n.buffer=t.link(s.buffer),n.type=n.type||n.buffer+&quot;.dtype&quot;),r[a]=n})}),Object.keys(a).forEach(function(t){var e=a[t];o[t]=O(e,function(t,r){function n(t){r(l[t],&quot;=&quot;,i,&quot;.&quot;,t,&quot;|0;&quot;)}var i=t.invoke(r,e),a=t.shared,o=a.isBufferArgs,s=a.buffer,l={isStream:r.def(!1)},c=new Y;c.state=1,Object.keys(c).forEach(function(t){l[t]=r.def(&quot;&quot;+c[t])});var u=l.buffer,f=l.type;return r(&quot;if(&quot;,o,&quot;(&quot;,i,&quot;)){&quot;,l.isStream,&quot;=true;&quot;,u,&quot;=&quot;,s,&quot;.createStream(&quot;,34962,&quot;,&quot;,i,&quot;);&quot;,f,&quot;=&quot;,u,&quot;.dtype;&quot;,&quot;}else{&quot;,u,&quot;=&quot;,s,&quot;.getBuffer(&quot;,i,&quot;);&quot;,&quot;if(&quot;,u,&quot;){&quot;,f,&quot;=&quot;,u,&quot;.dtype;&quot;,'}else if(&quot;constant&quot; in ',i,&quot;){&quot;,l.state,&quot;=&quot;,2,&quot;;&quot;,&quot;if(typeof &quot;+i+'.constant === &quot;number&quot;){',l[ht[0]],&quot;=&quot;,i,&quot;.constant;&quot;,ht.slice(1).map(function(t){return l[t]}).join(&quot;=&quot;),&quot;=0;&quot;,&quot;}else{&quot;,ht.map(function(t,e){return l[t]+&quot;=&quot;+i+&quot;.constant.length&gt;=&quot;+e+&quot;?&quot;+i+&quot;.constant[&quot;+e+&quot;]:0;&quot;}).join(&quot;&quot;),&quot;}}else{&quot;,&quot;if(&quot;,o,&quot;(&quot;,i,&quot;.buffer)){&quot;,u,&quot;=&quot;,s,&quot;.createStream(&quot;,34962,&quot;,&quot;,i,&quot;.buffer);&quot;,&quot;}else{&quot;,u,&quot;=&quot;,s,&quot;.getBuffer(&quot;,i,&quot;.buffer);&quot;,&quot;}&quot;,f,'=&quot;type&quot; in ',i,&quot;?&quot;,a.glTypes,&quot;[&quot;,i,&quot;.type]:&quot;,u,&quot;.dtype;&quot;,l.normalized,&quot;=!!&quot;,i,&quot;.normalized;&quot;),n(&quot;size&quot;),n(&quot;offset&quot;),n(&quot;stride&quot;),n(&quot;divisor&quot;),r(&quot;}}&quot;),r.exit(&quot;if(&quot;,l.isStream,&quot;){&quot;,s,&quot;.destroyStream(&quot;,u,&quot;);&quot;,&quot;}&quot;),l})}),o}(r),u.context=function(t){var e=t.static,r=t.dynamic,n={};return Object.keys(e).forEach(function(t){var r=e[t];n[t]=P(function(t,e){return&quot;number&quot;==typeof r||&quot;boolean&quot;==typeof r?&quot;&quot;+r:t.link(r)})}),Object.keys(r).forEach(function(t){var e=r[t];n[t]=O(e,function(t,r){return t.invoke(r,e)})}),n}(o),u}function w(t,e,r){var n=t.shared.context,i=t.scope();Object.keys(r).forEach(function(a){e.save(n,&quot;.&quot;+a),i(n,&quot;.&quot;,a,&quot;=&quot;,r[a].append(t,e),&quot;;&quot;)}),e(i)}function M(t,e,r,n){var i,a=(s=t.shared).gl,o=s.framebuffer;J&amp;&amp;(i=e.def(s.extensions,&quot;.webgl_draw_buffers&quot;));var s=(l=t.constants).drawBuffer,l=l.backBuffer;t=r?r.append(t,e):e.def(o,&quot;.next&quot;),n||e(&quot;if(&quot;,t,&quot;!==&quot;,o,&quot;.cur){&quot;),e(&quot;if(&quot;,t,&quot;){&quot;,a,&quot;.bindFramebuffer(&quot;,36160,&quot;,&quot;,t,&quot;.framebuffer);&quot;),J&amp;&amp;e(i,&quot;.drawBuffersWEBGL(&quot;,s,&quot;[&quot;,t,&quot;.colorAttachments.length]);&quot;),e(&quot;}else{&quot;,a,&quot;.bindFramebuffer(&quot;,36160,&quot;,null);&quot;),J&amp;&amp;e(i,&quot;.drawBuffersWEBGL(&quot;,l,&quot;);&quot;),e(&quot;}&quot;,o,&quot;.cur=&quot;,t,&quot;;&quot;),n||e(&quot;}&quot;)}function k(t,e,r){var n=t.shared,i=n.gl,a=t.current,o=t.next,l=n.current,c=n.next,u=t.cond(l,&quot;.dirty&quot;);$.forEach(function(e){if(!((e=g(e))in r.state)){var n,f;if(e in o){n=o[e],f=a[e];var h=s(K[e].length,function(t){return u.def(n,&quot;[&quot;,t,&quot;]&quot;)});u(t.cond(h.map(function(t,e){return t+&quot;!==&quot;+f+&quot;[&quot;+e+&quot;]&quot;}).join(&quot;||&quot;)).then(i,&quot;.&quot;,rt[e],&quot;(&quot;,h,&quot;);&quot;,h.map(function(t,e){return f+&quot;[&quot;+e+&quot;]=&quot;+t}).join(&quot;;&quot;),&quot;;&quot;))}else n=u.def(c,&quot;.&quot;,e),h=t.cond(n,&quot;!==&quot;,l,&quot;.&quot;,e),u(h),e in et?h(t.cond(n).then(i,&quot;.enable(&quot;,et[e],&quot;);&quot;).else(i,&quot;.disable(&quot;,et[e],&quot;);&quot;),l,&quot;.&quot;,e,&quot;=&quot;,n,&quot;;&quot;):h(i,&quot;.&quot;,rt[e],&quot;(&quot;,n,&quot;);&quot;,l,&quot;.&quot;,e,&quot;=&quot;,n,&quot;;&quot;)}}),0===Object.keys(r.state).length&amp;&amp;u(l,&quot;.dirty=false;&quot;),e(u)}function A(t,e,r,n){var i=t.shared,a=t.current,o=i.current,s=i.gl;z(Object.keys(r)).forEach(function(i){var l=r[i];if(!n||n(l)){var c=l.append(t,e);if(et[i]){var u=et[i];I(l)?c?e(s,&quot;.enable(&quot;,u,&quot;);&quot;):e(s,&quot;.disable(&quot;,u,&quot;);&quot;):e(t.cond(c).then(s,&quot;.enable(&quot;,u,&quot;);&quot;).else(s,&quot;.disable(&quot;,u,&quot;);&quot;)),e(o,&quot;.&quot;,i,&quot;=&quot;,c,&quot;;&quot;)}else if(v(c)){var f=a[i];e(s,&quot;.&quot;,rt[i],&quot;(&quot;,c,&quot;);&quot;,c.map(function(t,e){return f+&quot;[&quot;+e+&quot;]=&quot;+t}).join(&quot;;&quot;),&quot;;&quot;)}else e(s,&quot;.&quot;,rt[i],&quot;(&quot;,c,&quot;);&quot;,o,&quot;.&quot;,i,&quot;=&quot;,c,&quot;;&quot;)}})}function T(t,e){X&amp;&amp;(t.instancing=e.def(t.shared.extensions,&quot;.angle_instanced_arrays&quot;))}function S(t,e,r,n,i){function a(){return&quot;undefined&quot;==typeof performance?&quot;Date.now()&quot;:&quot;performance.now()&quot;}function o(t){t(c=e.def(),&quot;=&quot;,a(),&quot;;&quot;),&quot;string&quot;==typeof i?t(h,&quot;.count+=&quot;,i,&quot;;&quot;):t(h,&quot;.count++;&quot;),p&amp;&amp;(n?(u=e.def(),t(u,&quot;=&quot;,m,&quot;.getNumPendingQueries();&quot;)):t(m,&quot;.beginQuery(&quot;,h,&quot;);&quot;))}function s(t){t(h,&quot;.cpuTime+=&quot;,a(),&quot;-&quot;,c,&quot;;&quot;),p&amp;&amp;(n?t(m,&quot;.pushScopeStats(&quot;,u,&quot;,&quot;,m,&quot;.getNumPendingQueries(),&quot;,h,&quot;);&quot;):t(m,&quot;.endQuery();&quot;))}function l(t){var r=e.def(d,&quot;.profile&quot;);e(d,&quot;.profile=&quot;,t,&quot;;&quot;),e.exit(d,&quot;.profile=&quot;,r,&quot;;&quot;)}var c,u,f=t.shared,h=t.stats,d=f.current,m=f.timer;if(r=r.profile){if(I(r))return void(r.enable?(o(e),s(e.exit),l(&quot;true&quot;)):l(&quot;false&quot;));l(r=r.append(t,e))}else r=e.def(d,&quot;.profile&quot;);o(f=t.block()),e(&quot;if(&quot;,r,&quot;){&quot;,f,&quot;}&quot;),s(t=t.block()),e.exit(&quot;if(&quot;,r,&quot;){&quot;,t,&quot;}&quot;)}function F(t,e,r,n,i){var a=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(yt))return;var c=t.scopeAttrib(s);o={},Object.keys(new Y).forEach(function(t){o[t]=e.def(c,&quot;.&quot;,t)})}!function(r,n,i){function o(){e(&quot;if(!&quot;,u,&quot;.buffer){&quot;,l,&quot;.enableVertexAttribArray(&quot;,c,&quot;);}&quot;);var r,a=i.type;r=i.size?e.def(i.size,&quot;||&quot;,n):n,e(&quot;if(&quot;,u,&quot;.type!==&quot;,a,&quot;||&quot;,u,&quot;.size!==&quot;,r,&quot;||&quot;,d.map(function(t){return u+&quot;.&quot;+t+&quot;!==&quot;+i[t]}).join(&quot;||&quot;),&quot;){&quot;,l,&quot;.bindBuffer(&quot;,34962,&quot;,&quot;,f,&quot;.buffer);&quot;,l,&quot;.vertexAttribPointer(&quot;,[c,r,a,i.normalized,i.stride,i.offset],&quot;);&quot;,u,&quot;.type=&quot;,a,&quot;;&quot;,u,&quot;.size=&quot;,r,&quot;;&quot;,d.map(function(t){return u+&quot;.&quot;+t+&quot;=&quot;+i[t]+&quot;;&quot;}).join(&quot;&quot;),&quot;}&quot;),X&amp;&amp;(a=i.divisor,e(&quot;if(&quot;,u,&quot;.divisor!==&quot;,a,&quot;){&quot;,t.instancing,&quot;.vertexAttribDivisorANGLE(&quot;,[c,a],&quot;);&quot;,u,&quot;.divisor=&quot;,a,&quot;;}&quot;))}function s(){e(&quot;if(&quot;,u,&quot;.buffer){&quot;,l,&quot;.disableVertexAttribArray(&quot;,c,&quot;);&quot;,&quot;}if(&quot;,ht.map(function(t,e){return u+&quot;.&quot;+t+&quot;!==&quot;+h[e]}).join(&quot;||&quot;),&quot;){&quot;,l,&quot;.vertexAttrib4f(&quot;,c,&quot;,&quot;,h,&quot;);&quot;,ht.map(function(t,e){return u+&quot;.&quot;+t+&quot;=&quot;+h[e]+&quot;;&quot;}).join(&quot;&quot;),&quot;}&quot;)}var l=a.gl,c=e.def(r,&quot;.location&quot;),u=e.def(a.attributes,&quot;[&quot;,c,&quot;]&quot;);r=i.state;var f=i.buffer,h=[i.x,i.y,i.z,i.w],d=[&quot;buffer&quot;,&quot;normalized&quot;,&quot;offset&quot;,&quot;stride&quot;];1===r?o():2===r?s():(e(&quot;if(&quot;,r,&quot;===&quot;,1,&quot;){&quot;),o(),e(&quot;}else{&quot;),s(),e(&quot;}&quot;))}(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 R(t,r,n,i,a){for(var o,l=t.shared,c=l.gl,u=0;u&lt;i.length;++u){var f,h=(m=i[u]).name,d=m.info.type,p=n.uniforms[h],m=t.link(m)+&quot;.location&quot;;if(p){if(!a(p))continue;if(I(p)){if(h=p.value,35678===d||35680===d)d=t.link(h._texture||h.color[0]._texture),r(c,&quot;.uniform1i(&quot;,m,&quot;,&quot;,d+&quot;.bind());&quot;),r.exit(d,&quot;.unbind();&quot;);else if(35674===d||35675===d||35676===d)h=t.global.def(&quot;new Float32Array([&quot;+Array.prototype.slice.call(h)+&quot;])&quot;),p=2,35675===d?p=3:35676===d&amp;&amp;(p=4),r(c,&quot;.uniformMatrix&quot;,p,&quot;fv(&quot;,m,&quot;,false,&quot;,h,&quot;);&quot;);else{switch(d){case 5126:o=&quot;1f&quot;;break;case 35664:o=&quot;2f&quot;;break;case 35665:o=&quot;3f&quot;;break;case 35666:o=&quot;4f&quot;;break;case 35670:case 5124:o=&quot;1i&quot;;break;case 35671:case 35667:o=&quot;2i&quot;;break;case 35672:case 35668:o=&quot;3i&quot;;break;case 35673:o=&quot;4i&quot;;break;case 35669:o=&quot;4i&quot;}r(c,&quot;.uniform&quot;,o,&quot;(&quot;,m,&quot;,&quot;,v(h)?Array.prototype.slice.call(h):h,&quot;);&quot;)}continue}f=p.append(t,r)}else{if(!a(yt))continue;f=r.def(l.uniforms,&quot;[&quot;,e.id(h),&quot;]&quot;)}switch(35678===d?r(&quot;if(&quot;,f,&quot;&amp;&amp;&quot;,f,'._reglType===&quot;framebuffer&quot;){',f,&quot;=&quot;,f,&quot;.color[0];&quot;,&quot;}&quot;):35680===d&amp;&amp;r(&quot;if(&quot;,f,&quot;&amp;&amp;&quot;,f,'._reglType===&quot;framebufferCube&quot;){',f,&quot;=&quot;,f,&quot;.color[0];&quot;,&quot;}&quot;),h=1,d){case 35678:case 35680:r(c,&quot;.uniform1i(&quot;,m,&quot;,&quot;,d=r.def(f,&quot;._texture&quot;),&quot;.bind());&quot;),r.exit(d,&quot;.unbind();&quot;);continue;case 5124:case 35670:o=&quot;1i&quot;;break;case 35667:case 35671:o=&quot;2i&quot;,h=2;break;case 35668:case 35672:o=&quot;3i&quot;,h=3;break;case 35669:case 35673:o=&quot;4i&quot;,h=4;break;case 5126:o=&quot;1f&quot;;break;case 35664:o=&quot;2f&quot;,h=2;break;case 35665:o=&quot;3f&quot;,h=3;break;case 35666:o=&quot;4f&quot;,h=4;break;case 35674:o=&quot;Matrix2fv&quot;;break;case 35675:o=&quot;Matrix3fv&quot;;break;case 35676:o=&quot;Matrix4fv&quot;}if(r(c,&quot;.uniform&quot;,o,&quot;(&quot;,m,&quot;,&quot;),&quot;M&quot;===o.charAt(0)){m=Math.pow(d-35674+2,2);var g=t.global.def(&quot;new Float32Array(&quot;,m,&quot;)&quot;);r(&quot;false,(Array.isArray(&quot;,f,&quot;)||&quot;,f,&quot; instanceof Float32Array)?&quot;,f,&quot;:(&quot;,s(m,function(t){return g+&quot;[&quot;+t+&quot;]=&quot;+f+&quot;[&quot;+t+&quot;]&quot;}),&quot;,&quot;,g,&quot;)&quot;)}else r(1&lt;h?s(h,function(t){return f+&quot;[&quot;+t+&quot;]&quot;}):f);r(&quot;);&quot;)}}function j(t,e,r,n){function i(i){var a=u[i];return a?a.contextDep&amp;&amp;n.contextDynamic||a.propDep?a.append(t,r):a.append(t,e):e.def(c,&quot;.&quot;,i)}function a(){function t(){r(g,&quot;.drawElementsInstancedANGLE(&quot;,[h,p,v,d+&quot;&lt;&lt;((&quot;+v+&quot;-5121)&gt;&gt;1)&quot;,m],&quot;);&quot;)}function e(){r(g,&quot;.drawArraysInstancedANGLE(&quot;,[h,d,p,m],&quot;);&quot;)}f?y?t():(r(&quot;if(&quot;,f,&quot;){&quot;),t(),r(&quot;}else{&quot;),e(),r(&quot;}&quot;)):e()}function o(){function t(){r(l+&quot;.drawElements(&quot;+[h,p,v,d+&quot;&lt;&lt;((&quot;+v+&quot;-5121)&gt;&gt;1)&quot;]+&quot;);&quot;)}function e(){r(l+&quot;.drawArrays(&quot;+[h,d,p]+&quot;);&quot;)}f?y?t():(r(&quot;if(&quot;,f,&quot;){&quot;),t(),r(&quot;}else{&quot;),e(),r(&quot;}&quot;)):e()}var s=t.shared,l=s.gl,c=s.draw,u=n.draw,f=function(){var i=u.elements,a=e;return i?((i.contextDep&amp;&amp;n.contextDynamic||i.propDep)&amp;&amp;(a=r),i=i.append(t,a)):i=a.def(c,&quot;.&quot;,&quot;elements&quot;),i&amp;&amp;a(&quot;if(&quot;+i+&quot;)&quot;+l+&quot;.bindBuffer(34963,&quot;+i+&quot;.buffer.buffer);&quot;),i}(),h=i(&quot;primitive&quot;),d=i(&quot;offset&quot;),p=function(){var i=u.count,a=e;return i?((i.contextDep&amp;&amp;n.contextDynamic||i.propDep)&amp;&amp;(a=r),i=i.append(t,a)):i=a.def(c,&quot;.&quot;,&quot;count&quot;),i}();if(&quot;number&quot;==typeof p){if(0===p)return}else r(&quot;if(&quot;,p,&quot;){&quot;),r.exit(&quot;}&quot;);var m,g;X&amp;&amp;(m=i(&quot;instances&quot;),g=t.instancing);var v=f+&quot;.type&quot;,y=u.elements&amp;&amp;I(u.elements);X&amp;&amp;(&quot;number&quot;!=typeof m||0&lt;=m)?&quot;string&quot;==typeof m?(r(&quot;if(&quot;,m,&quot;&gt;0){&quot;),a(),r(&quot;}else if(&quot;,m,&quot;&lt;0){&quot;),o(),r(&quot;}&quot;)):a():o()}function U(t,e,r,n,i){return e=b(),i=e.proc(&quot;body&quot;,i),X&amp;&amp;(e.instancing=i.def(e.shared.extensions,&quot;.angle_instanced_arrays&quot;)),t(e,i,r,n),e.compile().body}function V(t,e,r,n){T(t,e),F(t,e,r,n.attributes,function(){return!0}),R(t,e,r,n.uniforms,function(){return!0}),j(t,e,e,r)}function q(t,e,r,n){function i(){return!0}t.batchId=&quot;a1&quot;,T(t,e),F(t,e,r,n.attributes,i),R(t,e,r,n.uniforms,i),j(t,e,e,r)}function H(t,e,r,n){function i(t){return t.contextDep&amp;&amp;o||t.propDep}function a(t){return!i(t)}T(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,&quot;for(&quot;,s,&quot;=0;&quot;,s,&quot;&lt;&quot;,&quot;a1&quot;,&quot;;++&quot;,s,&quot;){&quot;,l,&quot;=&quot;,&quot;a0&quot;,&quot;[&quot;,s,&quot;];&quot;,u,&quot;}&quot;,c.exit),r.needsContext&amp;&amp;w(t,u,r.context),r.needsFramebuffer&amp;&amp;M(t,u,r.framebuffer),A(t,u,r.state,i),r.profile&amp;&amp;i(r.profile)&amp;&amp;S(t,u,r,!1,!0),n?(F(t,c,r,n.attributes,a),F(t,u,r,n.attributes,i),R(t,c,r,n.uniforms,a),R(t,u,r,n.uniforms,i),j(t,c,u,r)):(e=t.global.def(&quot;{}&quot;),n=r.shader.progVar.append(t,u),l=u.def(n,&quot;.id&quot;),c=u.def(e,&quot;[&quot;,l,&quot;]&quot;),u(t.shared.gl,&quot;.useProgram(&quot;,n,&quot;.program);&quot;,&quot;if(!&quot;,c,&quot;){&quot;,c,&quot;=&quot;,e,&quot;[&quot;,l,&quot;]=&quot;,t.link(function(e){return U(q,t,r,e,2)}),&quot;(&quot;,n,&quot;);}&quot;,c,&quot;.call(this,a0[&quot;,s,&quot;],&quot;,s,&quot;);&quot;))}function G(t,e,r){function n(t,e){o.forEach(function(r){var n=i[r];B.isDynamic(n)&amp;&amp;(n=t.invoke(e,n),e(u,&quot;.&quot;,r,&quot;=&quot;,n,&quot;;&quot;))})}var i=e.static[r];if(i&amp;&amp;function(t){if(&quot;object&quot;==typeof t&amp;&amp;!v(t)){for(var e=Object.keys(t),r=0;r&lt;e.length;++r)if(B.isDynamic(t[e[r]]))return!0;return!1}}(i)){var a=t.global,o=Object.keys(i),s=!1,l=!1,c=!1,u=t.global.def(&quot;{}&quot;);o.forEach(function(e){var r=i[e];if(B.isDynamic(r))&quot;function&quot;==typeof r&amp;&amp;(r=i[e]=B.unbox(r)),e=O(r,null),s=s||e.thisDep,c=c||e.propDep,l=l||e.contextDep;else{switch(a(u,&quot;.&quot;,e,&quot;=&quot;),typeof r){case&quot;number&quot;:a(r);break;case&quot;string&quot;:a('&quot;',r,'&quot;');break;case&quot;object&quot;:Array.isArray(r)&amp;&amp;a(&quot;[&quot;,r.join(),&quot;]&quot;);break;default:a(t.link(r))}a(&quot;;&quot;)}}),e.dynamic[r]=new B.DynamicVariable(4,{thisDep:s,contextDep:l,propDep:c,ref:u,append:n}),delete e.static[r]}}var Y=u.Record,W={add:32774,subtract:32778,&quot;reverse subtract&quot;:32779};r.ext_blend_minmax&amp;&amp;(W.min=32775,W.max=32776);var X=r.angle_instanced_arrays,J=r.webgl_draw_buffers,K={dirty:!0,profile:m.profile},Q={},$=[],et={},rt={};y(&quot;dither&quot;,3024),y(&quot;blend.enable&quot;,3042),x(&quot;blend.color&quot;,&quot;blendColor&quot;,[0,0,0,0]),x(&quot;blend.equation&quot;,&quot;blendEquationSeparate&quot;,[32774,32774]),x(&quot;blend.func&quot;,&quot;blendFuncSeparate&quot;,[1,0,1,0]),y(&quot;depth.enable&quot;,2929,!0),x(&quot;depth.func&quot;,&quot;depthFunc&quot;,513),x(&quot;depth.range&quot;,&quot;depthRange&quot;,[0,1]),x(&quot;depth.mask&quot;,&quot;depthMask&quot;,!0),x(&quot;colorMask&quot;,&quot;colorMask&quot;,[!0,!0,!0,!0]),y(&quot;cull.enable&quot;,2884),x(&quot;cull.face&quot;,&quot;cullFace&quot;,1029),x(&quot;frontFace&quot;,&quot;frontFace&quot;,2305),x(&quot;lineWidth&quot;,&quot;lineWidth&quot;,1),y(&quot;polygonOffset.enable&quot;,32823),x(&quot;polygonOffset.offset&quot;,&quot;polygonOffset&quot;,[0,0]),y(&quot;sample.alpha&quot;,32926),y(&quot;sample.enable&quot;,32928),x(&quot;sample.coverage&quot;,&quot;sampleCoverage&quot;,[1,!1]),y(&quot;stencil.enable&quot;,2960),x(&quot;stencil.mask&quot;,&quot;stencilMask&quot;,-1),x(&quot;stencil.func&quot;,&quot;stencilFunc&quot;,[519,0,-1]),x(&quot;stencil.opFront&quot;,&quot;stencilOpSeparate&quot;,[1028,7680,7680,7680]),x(&quot;stencil.opBack&quot;,&quot;stencilOpSeparate&quot;,[1029,7680,7680,7680]),y(&quot;scissor.enable&quot;,3089),x(&quot;scissor.box&quot;,&quot;scissor&quot;,[0,0,t.drawingBufferWidth,t.drawingBufferHeight]),x(&quot;viewport&quot;,&quot;viewport&quot;,[0,0,t.drawingBufferWidth,t.drawingBufferHeight]);var nt={gl:t,context:d,strings:e,next:Q,current:K,draw:h,elements:a,buffer:i,shader:f,attributes:u.state,uniforms:c,framebuffer:l,extensions:r,timer:p,isBufferArgs:C},it={primTypes:tt,compareFuncs:mt,blendFuncs:pt,blendEquations:W,stencilOps:gt,glTypes:Z,orientationType:vt};J&amp;&amp;(it.backBuffer=[1029],it.drawBuffer=s(n.maxDrawbuffers,function(t){return 0===t?[0]:s(t,function(t){return 36064+t})}));var at=0;return{next:Q,current:K,procs:function(){var e=b(),r=e.proc(&quot;poll&quot;),i=e.proc(&quot;refresh&quot;),a=e.block();r(a),i(a);var o=e.shared,l=o.gl,c=o.next,u=o.current;a(u,&quot;.dirty=false;&quot;),M(e,r),M(e,i,null,!0);var f,h=t.getExtension(&quot;angle_instanced_arrays&quot;);h&amp;&amp;(f=e.link(h));for(var d=0;d&lt;n.maxAttributes;++d){var p=i.def(o.attributes,&quot;[&quot;,d,&quot;]&quot;),m=e.cond(p,&quot;.buffer&quot;);m.then(l,&quot;.enableVertexAttribArray(&quot;,d,&quot;);&quot;,l,&quot;.bindBuffer(&quot;,34962,&quot;,&quot;,p,&quot;.buffer.buffer);&quot;,l,&quot;.vertexAttribPointer(&quot;,d,&quot;,&quot;,p,&quot;.size,&quot;,p,&quot;.type,&quot;,p,&quot;.normalized,&quot;,p,&quot;.stride,&quot;,p,&quot;.offset);&quot;).else(l,&quot;.disableVertexAttribArray(&quot;,d,&quot;);&quot;,l,&quot;.vertexAttrib4f(&quot;,d,&quot;,&quot;,p,&quot;.x,&quot;,p,&quot;.y,&quot;,p,&quot;.z,&quot;,p,&quot;.w);&quot;,p,&quot;.buffer=null;&quot;),i(m),h&amp;&amp;i(f,&quot;.vertexAttribDivisorANGLE(&quot;,d,&quot;,&quot;,p,&quot;.divisor);&quot;)}return Object.keys(et).forEach(function(t){var n=et[t],o=a.def(c,&quot;.&quot;,t),s=e.block();s(&quot;if(&quot;,o,&quot;){&quot;,l,&quot;.enable(&quot;,n,&quot;)}else{&quot;,l,&quot;.disable(&quot;,n,&quot;)}&quot;,u,&quot;.&quot;,t,&quot;=&quot;,o,&quot;;&quot;),i(s),r(&quot;if(&quot;,o,&quot;!==&quot;,u,&quot;.&quot;,t,&quot;){&quot;,s,&quot;}&quot;)}),Object.keys(rt).forEach(function(t){var n,o,f=rt[t],h=K[t],d=e.block();d(l,&quot;.&quot;,f,&quot;(&quot;),v(h)?(f=h.length,n=e.global.def(c,&quot;.&quot;,t),o=e.global.def(u,&quot;.&quot;,t),d(s(f,function(t){return n+&quot;[&quot;+t+&quot;]&quot;}),&quot;);&quot;,s(f,function(t){return o+&quot;[&quot;+t+&quot;]=&quot;+n+&quot;[&quot;+t+&quot;];&quot;}).join(&quot;&quot;)),r(&quot;if(&quot;,s(f,function(t){return n+&quot;[&quot;+t+&quot;]!==&quot;+o+&quot;[&quot;+t+&quot;]&quot;}).join(&quot;||&quot;),&quot;){&quot;,d,&quot;}&quot;)):(n=a.def(c,&quot;.&quot;,t),o=a.def(u,&quot;.&quot;,t),d(n,&quot;);&quot;,u,&quot;.&quot;,t,&quot;=&quot;,n,&quot;;&quot;),r(&quot;if(&quot;,n,&quot;!==&quot;,o,&quot;){&quot;,d,&quot;}&quot;)),i(d)}),e.compile()}(),compile:function(t,r,n,i,a){var o=b();return o.stats=o.link(a),Object.keys(r.static).forEach(function(t){G(o,r,t)}),dt.forEach(function(e){G(o,t,e)}),n=_(t,r,n,i),function(t,e){var r=t.proc(&quot;draw&quot;,1);T(t,r),w(t,r,e.context),M(t,r,e.framebuffer),k(t,r,e),A(t,r,e.state),S(t,r,e,!1,!0);var n=e.shader.progVar.append(t,r);if(r(t.shared.gl,&quot;.useProgram(&quot;,n,&quot;.program);&quot;),e.shader.program)V(t,r,e,e.shader.program);else{var i=t.global.def(&quot;{}&quot;),a=r.def(n,&quot;.id&quot;),o=r.def(i,&quot;[&quot;,a,&quot;]&quot;);r(t.cond(o).then(o,&quot;.call(this,a0);&quot;).else(o,&quot;=&quot;,i,&quot;[&quot;,a,&quot;]=&quot;,t.link(function(r){return U(V,t,e,r,1)}),&quot;(&quot;,n,&quot;);&quot;,o,&quot;.call(this,a0);&quot;))}0&lt;Object.keys(e.state).length&amp;&amp;r(t.shared.current,&quot;.dirty=true;&quot;)}(o,n),function(t,r){function n(e){var n=r.shader[e];n&amp;&amp;i.set(a.shader,&quot;.&quot;+e,n.append(t,i))}var i=t.proc(&quot;scope&quot;,3);t.batchId=&quot;a2&quot;;var a=t.shared,o=a.current;w(t,i,r.context),r.framebuffer&amp;&amp;r.framebuffer.append(t,i),z(Object.keys(r.state)).forEach(function(e){var n=r.state[e].append(t,i);v(n)?n.forEach(function(r,n){i.set(t.next[e],&quot;[&quot;+n+&quot;]&quot;,r)}):i.set(a.next,&quot;.&quot;+e,n)}),S(t,i,r,!0,!0),[&quot;elements&quot;,&quot;offset&quot;,&quot;count&quot;,&quot;instances&quot;,&quot;primitive&quot;].forEach(function(e){var n=r.draw[e];n&amp;&amp;i.set(a.draw,&quot;.&quot;+e,&quot;&quot;+n.append(t,i))}),Object.keys(r.uniforms).forEach(function(n){i.set(a.uniforms,&quot;[&quot;+e.id(n)+&quot;]&quot;,r.uniforms[n].append(t,i))}),Object.keys(r.attributes).forEach(function(e){var n=r.attributes[e].append(t,i),a=t.scopeAttrib(e);Object.keys(new Y).forEach(function(t){i.set(a,&quot;.&quot;+t,n[t])})}),n(&quot;vert&quot;),n(&quot;frag&quot;),0&lt;Object.keys(r.state).length&amp;&amp;(i(o,&quot;.dirty=true;&quot;),i.exit(o,&quot;.dirty=true;&quot;)),i(&quot;a1(&quot;,t.shared.context,&quot;,a0,&quot;,t.batchId,&quot;);&quot;)}(o,n),function(t,e){function r(t){return t.contextDep&amp;&amp;i||t.propDep}var n=t.proc(&quot;batch&quot;,2);t.batchId=&quot;0&quot;,T(t,n);var i=!1,a=!0;Object.keys(e.context).forEach(function(t){i=i||e.context[t].propDep}),i||(w(t,n,e.context),a=!1);var o=!1;if((s=e.framebuffer)?(s.propDep?i=o=!0:s.contextDep&amp;&amp;i&amp;&amp;(o=!0),o||M(t,n,s)):M(t,n,null),e.state.viewport&amp;&amp;e.state.viewport.propDep&amp;&amp;(i=!0),k(t,n,e),A(t,n,e.state,function(t){return!r(t)}),e.profile&amp;&amp;r(e.profile)||S(t,n,e,!1,&quot;a1&quot;),e.contextDep=i,e.needsContext=a,e.needsFramebuffer=o,(a=e.shader.progVar).contextDep&amp;&amp;i||a.propDep)H(t,n,e,null);else if(a=a.append(t,n),n(t.shared.gl,&quot;.useProgram(&quot;,a,&quot;.program);&quot;),e.shader.program)H(t,n,e,e.shader.program);else{var s=t.global.def(&quot;{}&quot;),l=(o=n.def(a,&quot;.id&quot;),n.def(s,&quot;[&quot;,o,&quot;]&quot;));n(t.cond(l).then(l,&quot;.call(this,a0,a1);&quot;).else(l,&quot;=&quot;,s,&quot;[&quot;,o,&quot;]=&quot;,t.link(function(r){return U(H,t,e,r,2)}),&quot;(&quot;,a,&quot;);&quot;,l,&quot;.call(this,a0,a1);&quot;))}0&lt;Object.keys(e.state).length&amp;&amp;n(t.shared.current,&quot;.dirty=true;&quot;)}(o,n),o.compile()}}}function R(t,e){for(var r=0;r&lt;t.length;++r)if(t[r]===e)return r;return-1}var N=function(t,e){for(var r=Object.keys(e),n=0;n&lt;r.length;++n)t[r[n]]=e[r[n]];return t},j=0,B={DynamicVariable:t,define:function(e,n){return new t(e,r(n+&quot;&quot;))},isDynamic:function(e){return&quot;function&quot;==typeof e&amp;&amp;!e._reglType||e instanceof t},unbox:function(e,r){return&quot;function&quot;==typeof e?new t(0,e):e},accessor:r},U={next:&quot;function&quot;==typeof requestAnimationFrame?function(t){return requestAnimationFrame(t)}:function(t){return setTimeout(t,16)},cancel:&quot;function&quot;==typeof cancelAnimationFrame?function(t){return cancelAnimationFrame(t)}:clearTimeout},V=&quot;undefined&quot;!=typeof performance&amp;&amp;performance.now?function(){return performance.now()}:function(){return+new Date},q=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},H=function(t){return Object.keys(t).map(function(e){return t[e]})},G=s(8,function(){return[]}),Y={alloc:c,free:u,allocType:function(t,e){var r=null;switch(t){case 5120:r=new Int8Array(c(e),0,e);break;case 5121:r=new Uint8Array(c(e),0,e);break;case 5122:r=new Int16Array(c(2*e),0,e);break;case 5123:r=new Uint16Array(c(2*e),0,e);break;case 5124:r=new Int32Array(c(4*e),0,e);break;case 5125:r=new Uint32Array(c(4*e),0,e);break;case 5126:r=new Float32Array(c(4*e),0,e);break;default:return null}return r.length!==e?r.subarray(0,e):r},freeType:function(t){u(t.buffer)}},W={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&lt;e.length;++a)i*=e[a];else i=0;switch(r=n||Y.allocType(r,i),e.length){case 0:break;case 1:for(n=e[0],e=0;e&lt;n;++e)r[e]=t[e];break;case 2:for(n=e[0],e=e[1],a=i=0;a&lt;n;++a)for(var o=t[a],s=0;s&lt;e;++s)r[i++]=o[s];break;case 3:f(t,e[0],e[1],e[2],r,0);break;default:h(t,e,0,r,0)}return r}},X={&quot;[object Int8Array]&quot;:5120,&quot;[object Int16Array]&quot;:5122,&quot;[object Int32Array]&quot;:5124,&quot;[object Uint8Array]&quot;:5121,&quot;[object Uint8ClampedArray]&quot;:5121,&quot;[object Uint16Array]&quot;:5123,&quot;[object Uint32Array]&quot;:5125,&quot;[object Float32Array]&quot;:5126,&quot;[object Float64Array]&quot;:5121,&quot;[object ArrayBuffer]&quot;:5121},Z={int8:5120,int16:5122,int32:5124,uint8:5121,uint16:5123,uint32:5125,float:5126,float32:5126},J={dynamic:35048,stream:35040,static:35044},K=W.flatten,Q=W.shape,$=[];$[5120]=1,$[5122]=2,$[5124]=4,$[5121]=1,$[5123]=2,$[5125]=4,$[5126]=4;var tt={points:0,point:0,lines:1,line:1,triangles:4,triangle:4,&quot;line loop&quot;:2,&quot;line strip&quot;:3,&quot;triangle strip&quot;:5,&quot;triangle fan&quot;:6},et=new Float32Array(1),rt=new Uint32Array(et.buffer),nt=[9984,9986,9985,9987],it=[0,6409,6410,6407,6408],at={};at[6409]=at[6406]=at[6402]=1,at[34041]=at[6410]=2,at[6407]=at[35904]=3,at[6408]=at[35906]=4;var ot=Object.keys(X).concat([&quot;[object HTMLCanvasElement]&quot;,&quot;[object CanvasRenderingContext2D]&quot;,&quot;[object HTMLImageElement]&quot;,&quot;[object HTMLVideoElement]&quot;]),st=[];st[5121]=1,st[5126]=4,st[36193]=2,st[5123]=2,st[5125]=4;var lt=[];lt[32854]=2,lt[32855]=2,lt[36194]=2,lt[34041]=4,lt[33776]=.5,lt[33777]=.5,lt[33778]=1,lt[33779]=1,lt[35986]=.5,lt[35987]=1,lt[34798]=1,lt[35840]=.5,lt[35841]=.25,lt[35842]=.5,lt[35843]=.25,lt[36196]=.5;var ct=[];ct[32854]=2,ct[32855]=2,ct[36194]=2,ct[33189]=2,ct[36168]=1,ct[34041]=4,ct[35907]=4,ct[34836]=16,ct[34842]=8,ct[34843]=6;var ut=[];ut[6408]=4;var ft=[];ft[5121]=1,ft[5126]=4,ft[36193]=2;var ht=[&quot;x&quot;,&quot;y&quot;,&quot;z&quot;,&quot;w&quot;],dt=&quot;blend.func blend.equation stencil.func stencil.opFront stencil.opBack sample.coverage viewport scissor.box polygonOffset.offset&quot;.split(&quot; &quot;),pt={0:0,1:1,zero:0,one:1,&quot;src color&quot;:768,&quot;one minus src color&quot;:769,&quot;src alpha&quot;:770,&quot;one minus src alpha&quot;:771,&quot;dst color&quot;:774,&quot;one minus dst color&quot;:775,&quot;dst alpha&quot;:772,&quot;one minus dst alpha&quot;:773,&quot;constant color&quot;:32769,&quot;one minus constant color&quot;:32770,&quot;constant alpha&quot;:32771,&quot;one minus constant alpha&quot;:32772,&quot;src alpha saturate&quot;:776},mt={never:512,less:513,&quot;&lt;&quot;:513,equal:514,&quot;=&quot;:514,&quot;==&quot;:514,&quot;===&quot;:514,lequal:515,&quot;&lt;=&quot;:515,greater:516,&quot;&gt;&quot;:516,notequal:517,&quot;!=&quot;:517,&quot;!==&quot;:517,gequal:518,&quot;&gt;=&quot;:518,always:519},gt={0:0,zero:0,keep:7680,replace:7681,increment:7682,decrement:7683,&quot;increment wrap&quot;:34055,&quot;decrement wrap&quot;:34056,invert:5386},vt={cw:2304,ccw:2305},yt=new D(!1,!1,!1,function(){});return function(t){function e(){if(0===it.length)E&amp;&amp;E.update(),lt=null;else{lt=U.next(e),h();for(var t=it.length-1;0&lt;=t;--t){var r=it[t];r&amp;&amp;r(D,null,0)}y.flush(),E&amp;&amp;E.update()}}function r(){!lt&amp;&amp;0&lt;it.length&amp;&amp;(lt=U.next(e))}function n(){lt&amp;&amp;(U.cancel(e),lt=null)}function i(t){t.preventDefault(),n(),at.forEach(function(t){t()})}function s(t){y.getError(),b.restore(),j.restore(),P.restore(),G.restore(),W.restore(),X.restore(),E&amp;&amp;E.restore(),et.procs.refresh(),r(),ot.forEach(function(t){t()})}function l(t){function e(t){var e={},r={};return Object.keys(t).forEach(function(n){var i=t[n];B.isDynamic(i)?r[n]=B.unbox(i,n):e[n]=i}),{dynamic:r,static:e}}var r=e(t.context||{}),n=e(t.uniforms||{}),i=e(t.attributes||{}),a=e(function(e){function r(t){if(t in n){var e=n[t];delete n[t],Object.keys(e).forEach(function(r){n[t+&quot;.&quot;+r]=e[r]})}}var n=N({},t);return delete n.uniforms,delete n.attributes,delete n.context,&quot;stencil&quot;in n&amp;&amp;n.stencil.op&amp;&amp;(n.stencil.opBack=n.stencil.opFront=n.stencil.op,delete n.stencil.op),r(&quot;blend&quot;),r(&quot;depth&quot;),r(&quot;cull&quot;),r(&quot;stencil&quot;),r(&quot;polygonOffset&quot;),r(&quot;scissor&quot;),r(&quot;sample&quot;),n}());t={gpuTime:0,cpuTime:0,count:0};var o=(r=et.compile(a,i,n,r,t)).draw,s=r.batch,l=r.scope,c=[];return N(function(t,e){var r;if(&quot;function&quot;==typeof t)return l.call(this,null,t,0);if(&quot;function&quot;==typeof e)if(&quot;number&quot;==typeof t)for(r=0;r&lt;t;++r)l.call(this,null,e,r);else{if(!Array.isArray(t))return l.call(this,t,e,0);for(r=0;r&lt;t.length;++r)l.call(this,t[r],e,r)}else if(&quot;number&quot;==typeof t){if(0&lt;t)return s.call(this,function(t){for(;c.length&lt;t;)c.push(null);return c}(0|t),0|t)}else{if(!Array.isArray(t))return o.call(this,t);if(t.length)return s.call(this,t,t.length)}},{stats:t})}function c(t,e){var r=0;et.procs.poll();var n=e.color;n&amp;&amp;(y.clearColor(+n[0]||0,+n[1]||0,+n[2]||0,+n[3]||0),r|=16384),&quot;depth&quot;in e&amp;&amp;(y.clearDepth(+e.depth),r|=256),&quot;stencil&quot;in e&amp;&amp;(y.clearStencil(0|e.stencil),r|=1024),y.clear(r)}function u(t){return it.push(t),r(),{cancel:function(){function e(){var t=R(it,e);it[t]=it[it.length-1],--it.length,0&gt;=it.length&amp;&amp;n()}var r=R(it,t);it[r]=e}}}function f(){var t=rt.viewport,e=rt.scissor_box;t[0]=t[1]=e[0]=e[1]=0,D.viewportWidth=D.framebufferWidth=D.drawingBufferWidth=t[2]=e[2]=y.drawingBufferWidth,D.viewportHeight=D.framebufferHeight=D.drawingBufferHeight=t[3]=e[3]=y.drawingBufferHeight}function h(){D.tick+=1,D.time=v(),f(),et.procs.poll()}function g(){f(),et.procs.refresh(),E&amp;&amp;E.update()}function v(){return(V()-L)/1e3}if(!(t=a(t)))return null;var y=t.gl,x=y.getContextAttributes();y.isContextLost();var b=function(t,e){function r(e){e=e.toLowerCase();var r;try{r=n[e]=t.getExtension(e)}catch(t){}return!!r}for(var n={},i=0;i&lt;e.extensions.length;++i){var a=e.extensions[i];if(!r(a))return e.onDestroy(),e.onDone('&quot;'+a+'&quot; 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(!r(t))throw Error(&quot;(regl): error restoring extension &quot;+t)})}}}(y,t);if(!b)return null;var _=function(){var t={&quot;&quot;:0},e=[&quot;&quot;];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]}}}(),w={bufferCount:0,elementsCount:0,framebufferCount:0,shaderCount:0,textureCount:0,cubeCount:0,renderbufferCount:0,maxTextureUnits:0},M=b.extensions,E=function(t,e){function r(t,e,r){var n=o.pop()||new function(){this.endQueryIndex=this.startQueryIndex=-1,this.sum=0,this.stats=null};n.startQueryIndex=t,n.endQueryIndex=e,n.sum=0,n.stats=r,s.push(n)}var n=e.ext_disjoint_timer_query;if(!n)return null;var i=[],a=[],o=[],s=[],l=[],c=[];return{beginQuery:function(t){var e=i.pop()||n.createQueryEXT();n.beginQueryEXT(35007,e),a.push(e),r(a.length-1,a.length,t)},endQuery:function(){n.endQueryEXT(35007)},pushScopeStats:r,update:function(){var t,e;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 r=c[0]=0;for(e=t=0;e&lt;a.length;++e){var u=a[e];n.getQueryObjectEXT(u,34919)?(r+=n.getQueryObjectEXT(u,34918),i.push(u)):a[t++]=u,l[e+1]=r,c[e+1]=t}for(a.length=t,e=t=0;e&lt;s.length;++e){var f=(r=s[e]).startQueryIndex;u=r.endQueryIndex,r.sum+=l[u]-l[f],f=c[f],(u=c[u])===f?(r.stats.gpuTime+=r.sum/1e6,o.push(r)):(r.startQueryIndex=f,r.endQueryIndex=u,s[t++]=r)}s.length=t}},getNumPendingQueries:function(){return a.length},clear:function(){i.push.apply(i,a);for(var t=0;t&lt;i.length;t++)n.deleteQueryEXT(i[t]);a.length=0,i.length=0},restore:function(){a.length=0,i.length=0}}}(0,M),L=V(),C=y.drawingBufferWidth,z=y.drawingBufferHeight,D={tick:0,time:0,viewportWidth:C,viewportHeight:z,framebufferWidth:C,framebufferHeight:z,drawingBufferWidth:C,drawingBufferHeight:z,pixelRatio:t.pixelRatio},I=function(t,e){var r=1;e.ext_texture_filter_anisotropic&amp;&amp;(r=t.getParameter(34047));var n=1,i=1;return e.webgl_draw_buffers&amp;&amp;(n=t.getParameter(34852),i=t.getParameter(36063)),{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)}}(y,M),P=function(t,e,r){function n(e){this.id=l++,this.buffer=t.createBuffer(),this.type=e,this.usage=35044,this.byteLength=0,this.dimension=1,this.dtype=5121,this.persistentData=null,r.profile&amp;&amp;(this.stats={size:0})}function i(e,r,n){e.byteLength=r.byteLength,t.bufferData(e.type,r,n)}function a(t,e,r,n,a,s){if(t.usage=r,Array.isArray(e)){if(t.dtype=n||5126,0&lt;e.length)if(Array.isArray(e[0])){a=Q(e);for(var l=n=1;l&lt;a.length;++l)n*=a[l];t.dimension=n,i(t,e=K(e,a,t.dtype),r),s?t.persistentData=e:Y.freeType(e)}else&quot;number&quot;==typeof e[0]?(t.dimension=a,a=Y.allocType(t.dtype,e.length),p(a,e),i(t,a,r),s?t.persistentData=a:Y.freeType(a)):q(e[0])&amp;&amp;(t.dimension=e[0].length,t.dtype=n||d(e[0])||5126,e=K(e,[e.length,e[0].length],t.dtype),i(t,e,r),s?t.persistentData=e:Y.freeType(e))}else if(q(e))t.dtype=n||d(e),t.dimension=a,i(t,e,r),s&amp;&amp;(t.persistentData=new Uint8Array(new Uint8Array(e.buffer)));else if(o(e)){a=e.shape;var c=e.stride,u=(l=e.offset,0),f=0,h=0,g=0;1===a.length?(u=a[0],f=1,h=c[0],g=0):2===a.length&amp;&amp;(u=a[0],f=a[1],h=c[0],g=c[1]),t.dtype=n||d(e.data)||5126,t.dimension=f,m(a=Y.allocType(t.dtype,u*f),e.data,u,f,h,g,l),i(t,a,r),s?t.persistentData=a:Y.freeType(a)}}function s(r){e.bufferCount--,t.deleteBuffer(r.buffer),r.buffer=null,delete c[r.id]}var l=0,c={};n.prototype.bind=function(){t.bindBuffer(this.type,this.buffer)},n.prototype.destroy=function(){s(this)};var u=[];return r.profile&amp;&amp;(e.getTotalBufferSize=function(){var t=0;return Object.keys(c).forEach(function(e){t+=c[e].stats.size}),t}),{create:function(i,l,u,f){function h(e){var n=35044,i=null,s=0,l=0,c=1;return Array.isArray(e)||q(e)||o(e)?i=e:&quot;number&quot;==typeof e?s=0|e:e&amp;&amp;(&quot;data&quot;in e&amp;&amp;(i=e.data),&quot;usage&quot;in e&amp;&amp;(n=J[e.usage]),&quot;type&quot;in e&amp;&amp;(l=Z[e.type]),&quot;dimension&quot;in e&amp;&amp;(c=0|e.dimension),&quot;length&quot;in e&amp;&amp;(s=0|e.length)),g.bind(),i?a(g,i,n,l,c,f):(t.bufferData(g.type,s,n),g.dtype=l||5121,g.usage=n,g.dimension=c,g.byteLength=s),r.profile&amp;&amp;(g.stats.size=g.byteLength*$[g.dtype]),h}e.bufferCount++;var g=new n(l);return c[g.id]=g,u||h(i),h._reglType=&quot;buffer&quot;,h._buffer=g,h.subdata=function(e,r){var n,i=0|(r||0);if(g.bind(),q(e))t.bufferSubData(g.type,i,e);else if(Array.isArray(e)){if(0&lt;e.length)if(&quot;number&quot;==typeof e[0]){var a=Y.allocType(g.dtype,e.length);p(a,e),t.bufferSubData(g.type,i,a),Y.freeType(a)}else(Array.isArray(e[0])||q(e[0]))&amp;&amp;(n=Q(e),a=K(e,n,g.dtype),t.bufferSubData(g.type,i,a),Y.freeType(a))}else if(o(e)){n=e.shape;var s=e.stride,l=a=0,c=0,u=0;1===n.length?(a=n[0],l=1,c=s[0],u=0):2===n.length&amp;&amp;(a=n[0],l=n[1],c=s[0],u=s[1]),n=Array.isArray(e.data)?g.dtype:d(e.data),m(n=Y.allocType(n,a*l),e.data,a,l,c,u,e.offset),t.bufferSubData(g.type,i,n),Y.freeType(n)}return h},r.profile&amp;&amp;(h.stats=g.stats),h.destroy=function(){s(g)},h},createStream:function(t,e){var r=u.pop();return r||(r=new n(t)),r.bind(),a(r,e,35040,0,1,!1),r},destroyStream:function(t){u.push(t)},clear:function(){H(c).forEach(s),u.forEach(s)},getBuffer:function(t){return t&amp;&amp;t._buffer instanceof n?t._buffer:null},restore:function(){H(c).forEach(function(e){e.buffer=t.createBuffer(),t.bindBuffer(e.type,e.buffer),t.bufferData(e.type,e.persistentData||e.byteLength,e.usage)})},_initBuffer:a}}(y,w,t),O=function(t,e,r,n){function i(t){this.id=c++,l[this.id]=this,this.buffer=t,this.primType=4,this.type=this.vertCount=0}function a(n,i,a,s,l,c,u){if(n.buffer.bind(),i){var f=u;u||q(i)&amp;&amp;(!o(i)||q(i.data))||(f=e.oes_element_index_uint?5125:5123),r._initBuffer(n.buffer,i,a,f,3)}else t.bufferData(34963,c,a),n.buffer.dtype=f||5121,n.buffer.usage=a,n.buffer.dimension=3,n.buffer.byteLength=c;if(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&gt;(i=l)&amp;&amp;(i=n.buffer.byteLength,5123===f?i&gt;&gt;=1:5125===f&amp;&amp;(i&gt;&gt;=2)),n.vertCount=i,i=s,0&gt;s&amp;&amp;(i=4,1===(s=n.buffer.dimension)&amp;&amp;(i=0),2===s&amp;&amp;(i=1),3===s&amp;&amp;(i=4)),n.primType=i}function s(t){n.elementsCount--,delete l[t.id],t.buffer.destroy(),t.buffer=null}var l={},c=0,u={uint8:5121,uint16:5123};e.oes_element_index_uint&amp;&amp;(u.uint32=5125),i.prototype.bind=function(){this.buffer.bind()};var f=[];return{create:function(t,e){function l(t){if(t)if(&quot;number&quot;==typeof t)c(t),f.primType=4,f.vertCount=0|t,f.type=5121;else{var e=null,r=35044,n=-1,i=-1,s=0,h=0;Array.isArray(t)||q(t)||o(t)?e=t:(&quot;data&quot;in t&amp;&amp;(e=t.data),&quot;usage&quot;in t&amp;&amp;(r=J[t.usage]),&quot;primitive&quot;in t&amp;&amp;(n=tt[t.primitive]),&quot;count&quot;in t&amp;&amp;(i=0|t.count),&quot;type&quot;in t&amp;&amp;(h=u[t.type]),&quot;length&quot;in t?s=0|t.length:(s=i,5123===h||5122===h?s*=2:5125!==h&amp;&amp;5124!==h||(s*=4))),a(f,e,r,n,i,s,h)}else c(),f.primType=4,f.vertCount=0,f.type=5121;return l}var c=r.create(null,34963,!0),f=new i(c._buffer);return n.elementsCount++,l(t),l._reglType=&quot;elements&quot;,l._elements=f,l.subdata=function(t,e){return c.subdata(t,e),l},l.destroy=function(){s(f)},l},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&quot;function&quot;==typeof t&amp;&amp;t._elements instanceof i?t._elements:null},clear:function(){H(l).forEach(s)}}}(y,M,P,w),j=(C=function(t,e,r,n,i){for(t=r.maxAttributes,e=Array(t),r=0;r&lt;t;++r)e[r]=new A;return{Record:A,scope:{},state:e}}(y,M,I),T(y,_,w,t)),G=k(y,M,I,function(){et.procs.poll()},D,w,t),W=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&amp;&amp;(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,&quot;rgb5 a1&quot;:32855,depth:33189,stencil:36168,&quot;depth stencil&quot;:34041};e.ext_srgb&amp;&amp;(s.srgba=35907),e.ext_color_buffer_half_float&amp;&amp;(s.rgba16f=34842,s.rgb16f=34843),e.webgl_color_buffer_float&amp;&amp;(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&gt;=--this.refCount&amp;&amp;o(this)},i.profile&amp;&amp;(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(&quot;object&quot;==typeof e&amp;&amp;e?(&quot;shape&quot;in e?(a=e.shape,n=0|a[0],a=0|a[1]):(&quot;radius&quot;in e&amp;&amp;(n=a=0|e.radius),&quot;width&quot;in e&amp;&amp;(n=0|e.width),&quot;height&quot;in e&amp;&amp;(a=0|e.height)),&quot;format&quot;in e&amp;&amp;(u=s[e.format])):&quot;number&quot;==typeof e?(n=0|e,a=&quot;number&quot;==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&amp;&amp;(c.stats.size=ct[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&amp;&amp;a===c.height?o:(o.width=c.width=n,o.height=c.height=a,t.bindRenderbuffer(36161,c.renderbuffer),t.renderbufferStorage(36161,c.format,n,a),i.profile&amp;&amp;(c.stats.size=ct[c.format]*c.width*c.height),o)},o._reglType=&quot;renderbuffer&quot;,o._renderbuffer=c,i.profile&amp;&amp;(o.stats=c.stats),o.destroy=function(){c.decRef()},o},clear:function(){H(u).forEach(o)},restore:function(){H(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)}}}(y,M,0,w,t),X=function(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&amp;&amp;(t=r.width,n=r.height),this.width=t,this.height=n}function s(t){t&amp;&amp;(t.texture&amp;&amp;t.texture._texture.decRef(),t.renderbuffer&amp;&amp;t.renderbuffer._renderbuffer.decRef())}function l(t,e,r){t&amp;&amp;(t.texture?t.texture._texture.refCount+=1:t.renderbuffer._renderbuffer.refCount+=1)}function c(e,r){r&amp;&amp;(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&quot;object&quot;==typeof t&amp;&amp;(i=t.data,&quot;target&quot;in t&amp;&amp;(e=0|t.target)),&quot;texture2d&quot;===(t=i._reglType)?r=i:&quot;textureCube&quot;===t?r=i:&quot;renderbuffer&quot;===t&amp;&amp;(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}),t._texture.refCount=0,new o(3553,t,null)):(t=i.create({width:t,height:e,format:a}),t._renderbuffer.refCount=0,new o(36161,null,t))}function h(t){return t&amp;&amp;(t.texture||t.renderbuffer)}function d(t,e,r){t&amp;&amp;(t.texture?t.texture.resize(e,r):t.renderbuffer&amp;&amp;t.renderbuffer.resize(e,r))}function p(){this.id=M++,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&lt;i.length;++n)c(36064+n,i[n]);for(n=i.length;n&lt;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.bindFramebuffer(36160,x.next),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 d=!0,p=&quot;rgba&quot;,g=&quot;uint8&quot;,y=1,x=null,w=null,M=null,k=!1;&quot;number&quot;==typeof t?(a=0|t,o=0|e||a):t?(&quot;shape&quot;in t?(o=t.shape,a=o[0],o=o[1]):(&quot;radius&quot;in t&amp;&amp;(a=o=t.radius),&quot;width&quot;in t&amp;&amp;(a=t.width),&quot;height&quot;in t&amp;&amp;(o=t.height)),(&quot;color&quot;in t||&quot;colors&quot;in t)&amp;&amp;(i=t.color||t.colors,Array.isArray(i)),i||(&quot;colorCount&quot;in t&amp;&amp;(y=0|t.colorCount),&quot;colorTexture&quot;in t&amp;&amp;(d=!!t.colorTexture,p=&quot;rgba4&quot;),&quot;colorType&quot;in t&amp;&amp;(g=t.colorType,!d)&amp;&amp;(&quot;half float&quot;===g||&quot;float16&quot;===g?p=&quot;rgba16f&quot;:&quot;float&quot;!==g&amp;&amp;&quot;float32&quot;!==g||(p=&quot;rgba32f&quot;)),&quot;colorFormat&quot;in t&amp;&amp;(p=t.colorFormat,0&lt;=b.indexOf(p)?d=!0:0&lt;=_.indexOf(p)&amp;&amp;(d=!1))),(&quot;depthTexture&quot;in t||&quot;depthStencilTexture&quot;in t)&amp;&amp;(k=!(!t.depthTexture&amp;&amp;!t.depthStencilTexture)),&quot;depth&quot;in t&amp;&amp;(&quot;boolean&quot;==typeof t.depth?s=t.depth:(x=t.depth,c=!1)),&quot;stencil&quot;in t&amp;&amp;(&quot;boolean&quot;==typeof t.stencil?c=t.stencil:(w=t.stencil,s=!1)),&quot;depthStencil&quot;in t&amp;&amp;(&quot;boolean&quot;==typeof t.depthStencil?s=c=t.depthStencil:(M=t.depthStencil,c=s=!1))):a=o=1;var A=null,T=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&lt;y;++i)A[i]=f(a,o,d,p,g);for(a=a||A[0].width,o=o||A[0].height,x?T=u(x):s&amp;&amp;!c&amp;&amp;(T=f(a,o,k,&quot;depth&quot;,&quot;uint32&quot;)),w?S=u(w):c&amp;&amp;!s&amp;&amp;(S=f(a,o,!1,&quot;stencil&quot;,&quot;uint8&quot;)),M?E=u(M):!x&amp;&amp;!w&amp;&amp;c&amp;&amp;s&amp;&amp;(E=f(a,o,k,&quot;depth stencil&quot;,&quot;depth stencil&quot;)),s=null,i=0;i&lt;A.length;++i)l(A[i]),A[i]&amp;&amp;A[i].texture&amp;&amp;(c=ut[A[i].texture._texture.format]*ft[A[i].texture._texture.type],null===s&amp;&amp;(s=c));return l(T),l(S),l(E),m(n),n.width=a,n.height=o,n.colorAttachments=A,n.depthAttachment=T,n.stencilAttachment=S,n.depthStencilAttachment=E,r.color=A.map(h),r.depth=h(T),r.stencil=h(S),r.depthStencil=h(E),r.width=n.width,r.height=n.height,v(n),r}var n=new p;return a.framebufferCount++,r(t,e),N(r,{resize:function(t,e){var i=0|t,a=0|e||i;if(i===n.width&amp;&amp;a===n.height)return r;for(var o=n.colorAttachments,s=0;s&lt;o.length;++s)d(o[s],i,a);return d(n.depthAttachment,i,a),d(n.stencilAttachment,i,a),d(n.depthStencilAttachment,i,a),n.width=r.width=i,n.height=r.height=a,v(n),r},_reglType:&quot;framebuffer&quot;,_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=[&quot;rgba&quot;],_=[&quot;rgba4&quot;,&quot;rgb565&quot;,&quot;rgb5 a1&quot;];e.ext_srgb&amp;&amp;_.push(&quot;srgba&quot;),e.ext_color_buffer_half_float&amp;&amp;_.push(&quot;rgba16f&quot;,&quot;rgb16f&quot;),e.webgl_color_buffer_float&amp;&amp;_.push(&quot;rgba32f&quot;);var w=[&quot;uint8&quot;];e.oes_texture_half_float&amp;&amp;w.push(&quot;half float&quot;,&quot;float16&quot;),e.oes_texture_float&amp;&amp;w.push(&quot;float&quot;,&quot;float32&quot;);var M=0,k={};return N(x,{getFramebuffer:function(t){return&quot;function&quot;==typeof t&amp;&amp;&quot;framebuffer&quot;===t._reglType&amp;&amp;(t=t._framebuffer)instanceof p?t:null},create:y,createCube:function(t){function e(t){var i,a={color:null},o=0,s=null;i=&quot;rgba&quot;;var l=&quot;uint8&quot;,c=1;if(&quot;number&quot;==typeof t?o=0|t:t?(&quot;shape&quot;in t?o=t.shape[0]:(&quot;radius&quot;in t&amp;&amp;(o=0|t.radius),&quot;width&quot;in t?o=0|t.width:&quot;height&quot;in t&amp;&amp;(o=0|t.height)),(&quot;color&quot;in t||&quot;colors&quot;in t)&amp;&amp;(s=t.color||t.colors,Array.isArray(s)),s||(&quot;colorCount&quot;in t&amp;&amp;(c=0|t.colorCount),&quot;colorType&quot;in t&amp;&amp;(l=t.colorType),&quot;colorFormat&quot;in t&amp;&amp;(i=t.colorFormat)),&quot;depth&quot;in t&amp;&amp;(a.depth=t.depth),&quot;stencil&quot;in t&amp;&amp;(a.stencil=t.stencil),&quot;depthStencil&quot;in t&amp;&amp;(a.depthStencil=t.depthStencil)):o=1,s)if(Array.isArray(s))for(t=[],i=0;i&lt;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&lt;c;++i)t[i]=n.createCube(s);for(a.color=Array(t.length),i=0;i&lt;t.length;++i)c=t[i],o=o||c.width,a.color[i]={target:34069,data:t[i]};for(i=0;6&gt;i;++i){for(c=0;c&lt;t.length;++c)a.color[c].target=34069+i;0&lt;i&amp;&amp;(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 N(e,{width:o,height:o,color:t})}var r=Array(6);return e(t),N(e,{faces:r,resize:function(t){var n=0|t;if(n===e.width)return e;var i=e.color;for(t=0;t&lt;i.length;++t)i[t].resize(n);for(t=0;6&gt;t;++t)r[t].resize(n);return e.width=e.height=n,e},_reglType:&quot;framebufferCube&quot;,destroy:function(){r.forEach(function(t){t.destroy()})}})},clear:function(){H(k).forEach(g)},restore:function(){H(k).forEach(function(e){e.framebuffer=t.createFramebuffer(),v(e)})}})}(y,M,I,G,W,w),et=F(y,_,M,I,P,O,0,X,{},C,j,{elements:null,primitive:4,count:-1,offset:0,instances:-1},D,E,t),rt=(_=S(y,X,et.procs.poll,D),et.next),nt=y.canvas,it=[],at=[],ot=[],st=[t.onDestroy],lt=null;nt&amp;&amp;(nt.addEventListener(&quot;webglcontextlost&quot;,i,!1),nt.addEventListener(&quot;webglcontextrestored&quot;,s,!1));var ht=X.setFBO=l({framebuffer:B.define.call(null,1,&quot;framebuffer&quot;)});return g(),x=N(l,{clear:function(t){if(&quot;framebuffer&quot;in t)if(t.framebuffer&amp;&amp;&quot;framebufferCube&quot;===t.framebuffer_reglType)for(var e=0;6&gt;e;++e)ht(N({framebuffer:t.framebuffer.faces[e]},t),c);else ht(t,c);else c(0,t)},prop:B.define.bind(null,1),context:B.define.bind(null,2),this:B.define.bind(null,3),draw:l({}),buffer:function(t){return P.create(t,34962,!1,!1)},elements:function(t){return O.create(t,!1)},texture:G.create2D,cube:G.createCube,renderbuffer:W.create,framebuffer:X.create,framebufferCube:X.createCube,attributes:x,frame:u,on:function(t,e){var r;switch(t){case&quot;frame&quot;:return u(e);case&quot;lost&quot;:r=at;break;case&quot;restore&quot;:r=ot;break;case&quot;destroy&quot;:r=st}return r.push(e),{cancel:function(){for(var t=0;t&lt;r.length;++t)if(r[t]===e){r[t]=r[r.length-1],r.pop();break}}}},limits:I,hasExtension:function(t){return 0&lt;=I.extensions.indexOf(t.toLowerCase())},read:_,destroy:function(){it.length=0,n(),nt&amp;&amp;(nt.removeEventListener(&quot;webglcontextlost&quot;,i),nt.removeEventListener(&quot;webglcontextrestored&quot;,s)),j.clear(),X.clear(),W.clear(),G.clear(),O.clear(),P.clear(),E&amp;&amp;E.clear(),st.forEach(function(t){t()})},_gl:y,_refresh:g,poll:function(){h(),E&amp;&amp;E.update()},now:v,stats:w}),t.onDone(null,x),x}})},{}],507:[function(t,e,r){&quot;use strict&quot;;var n,i=&quot;&quot;;e.exports=function(t,e){if(&quot;string&quot;!=typeof t)throw new TypeError(&quot;expected a string&quot;);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=&quot;&quot;;else if(i.length&gt;=r)return i.substr(0,r);for(;r&gt;i.length&amp;&amp;e&gt;1;)1&amp;e&amp;&amp;(i+=t),e&gt;&gt;=1,t+=t;return i+=t,i=i.substr(0,r)}},{}],508:[function(t,e,r){!function(t,n){&quot;object&quot;==typeof r?e.exports=n():t.resolveUrl=n()}(this,function(){return function(){var t=arguments.length;if(0===t)throw new Error(&quot;resolveUrl requires at least one argument; got none.&quot;);var e=document.createElement(&quot;base&quot;);if(e.href=arguments[0],1===t)return e.href;var r=document.getElementsByTagName(&quot;head&quot;)[0];r.insertBefore(e,r.firstChild);for(var n,i=document.createElement(&quot;a&quot;),a=1;a&lt;t;a++)i.href=arguments[a],n=i.href,e.href=n;return r.removeChild(e),n}})},{}],509:[function(t,e,r){(function(t){e.exports=t.performance&amp;&amp;t.performance.now?function(){return performance.now()}:Date.now||function(){return+new Date}}).call(this,&quot;undefined&quot;!=typeof global?global:&quot;undefined&quot;!=typeof self?self:&quot;undefined&quot;!=typeof window?window:{})},{}],510:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t){for(var e=t.length,r=t[t.length-1],n=e,i=e-2;i&gt;=0;--i){var a=r;(l=(s=t[i])-((r=a+s)-a))&amp;&amp;(t[--n]=r,r=l)}var o=0;for(i=n;i&lt;e;++i){var s,l;(l=(s=r)-((r=(a=t[i])+s)-a))&amp;&amp;(t[o++]=l)}return t[o++]=r,t.length=o,t}},{}],511:[function(t,e,r){&quot;use strict&quot;;function n(t,e){for(var r=new Array(t.length-1),n=1;n&lt;t.length;++n)for(var i=r[n-1]=new Array(t.length-1),a=0,o=0;a&lt;t.length;++a)a!==e&amp;&amp;(i[o++]=t[n][a]);return r}function i(t){return 1&amp;t?&quot;-&quot;:&quot;&quot;}function a(t){if(1===t.length)return t[0];if(2===t.length)return[&quot;sum(&quot;,t[0],&quot;,&quot;,t[1],&quot;)&quot;].join(&quot;&quot;);var e=t.length&gt;&gt;1;return[&quot;sum(&quot;,a(t.slice(0,e)),&quot;,&quot;,a(t.slice(e)),&quot;)&quot;].join(&quot;&quot;)}function o(t){if(2===t.length)return[&quot;sum(prod(&quot;,t[0][0],&quot;,&quot;,t[1][1],&quot;),prod(-&quot;,t[0][1],&quot;,&quot;,t[1][0],&quot;))&quot;].join(&quot;&quot;);for(var e=[],r=0;r&lt;t.length;++r)e.push([&quot;scale(&quot;,o(n(t,r)),&quot;,&quot;,i(r),t[0][r],&quot;)&quot;].join(&quot;&quot;));return a(e)}function s(t){return new Function(&quot;sum&quot;,&quot;scale&quot;,&quot;prod&quot;,&quot;compress&quot;,[&quot;function robustDeterminant&quot;,t,&quot;(m){return compress(&quot;,o(function(t){for(var e=new Array(t),r=0;r&lt;t;++r){e[r]=new Array(t);for(var n=0;n&lt;t;++n)e[r][n]=[&quot;m[&quot;,r,&quot;][&quot;,n,&quot;]&quot;].join(&quot;&quot;)}return e}(t)),&quot;)};return robustDeterminant&quot;,t].join(&quot;&quot;))(c,u,l,f)}var l=t(&quot;two-product&quot;),c=t(&quot;robust-sum&quot;),u=t(&quot;robust-scale&quot;),f=t(&quot;robust-compress&quot;),h=6,d=[function(){return[0]},function(t){return[t[0][0]]}];!function(){for(;d.length&lt;h;)d.push(s(d.length));for(var t=[],r=[&quot;function robustDeterminant(m){switch(m.length){&quot;],n=0;n&lt;h;++n)t.push(&quot;det&quot;+n),r.push(&quot;case &quot;,n,&quot;:return det&quot;,n,&quot;(m);&quot;);r.push(&quot;}var det=CACHE[m.length];if(!det)det=CACHE[m.length]=gen(m.length);return det(m);}return robustDeterminant&quot;),t.push(&quot;CACHE&quot;,&quot;gen&quot;,r.join(&quot;&quot;));var i=Function.apply(void 0,t);for(e.exports=i.apply(void 0,d.concat([d,s])),n=0;n&lt;d.length;++n)e.exports[n]=d[n]}()},{&quot;robust-compress&quot;:510,&quot;robust-scale&quot;:517,&quot;robust-sum&quot;:520,&quot;two-product&quot;:552}],512:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;two-product&quot;),i=t(&quot;robust-sum&quot;);e.exports=function(t,e){for(var r=n(t[0],e[0]),a=1;a&lt;t.length;++a)r=i(r,n(t[a],e[a]));return r}},{&quot;robust-sum&quot;:520,&quot;two-product&quot;:552}],513:[function(t,e,r){&quot;use strict&quot;;function n(t,e){for(var r=new Array(t.length-1),n=1;n&lt;t.length;++n)for(var i=r[n-1]=new Array(t.length-1),a=0,o=0;a&lt;t.length;++a)a!==e&amp;&amp;(i[o++]=t[n][a]);return r}function i(t){if(1===t.length)return t[0];if(2===t.length)return[&quot;sum(&quot;,t[0],&quot;,&quot;,t[1],&quot;)&quot;].join(&quot;&quot;);var e=t.length&gt;&gt;1;return[&quot;sum(&quot;,i(t.slice(0,e)),&quot;,&quot;,i(t.slice(e)),&quot;)&quot;].join(&quot;&quot;)}function a(t,e){if(&quot;m&quot;===t.charAt(0)){if(&quot;w&quot;===e.charAt(0)){var r=t.split(&quot;[&quot;);return[&quot;w&quot;,e.substr(1),&quot;m&quot;,r[0].substr(1)].join(&quot;&quot;)}return[&quot;prod(&quot;,t,&quot;,&quot;,e,&quot;)&quot;].join(&quot;&quot;)}return a(e,t)}function o(t){return!0&amp;t?&quot;-&quot;:&quot;&quot;}function s(t){if(2===t.length)return[[&quot;diff(&quot;,a(t[0][0],t[1][1]),&quot;,&quot;,a(t[1][0],t[0][1]),&quot;)&quot;].join(&quot;&quot;)];for(var e=[],r=0;r&lt;t.length;++r)e.push([&quot;scale(&quot;,i(s(n(t,r))),&quot;,&quot;,o(r),t[0][r],&quot;)&quot;].join(&quot;&quot;));return e}function l(t,e){for(var r=[],n=0;n&lt;e-2;++n)r.push([&quot;prod(m&quot;,t,&quot;[&quot;,n,&quot;],m&quot;,t,&quot;[&quot;,n,&quot;])&quot;].join(&quot;&quot;));return i(r)}function c(t){for(var e=[],r=[],a=function(t){for(var e=new Array(t),r=0;r&lt;t;++r){e[r]=new Array(t);for(var n=0;n&lt;t;++n)e[r][n]=[&quot;m&quot;,n,&quot;[&quot;,t-r-2,&quot;]&quot;].join(&quot;&quot;)}return e}(t),o=0;o&lt;t;++o)a[0][o]=&quot;1&quot;,a[t-1][o]=&quot;w&quot;+o;for(o=0;o&lt;t;++o)0==(1&amp;o)?e.push.apply(e,s(n(a,o))):r.push.apply(r,s(n(a,o)));var c=i(e),p=i(r),m=&quot;exactInSphere&quot;+t,g=[];for(o=0;o&lt;t;++o)g.push(&quot;m&quot;+o);var v=[&quot;function &quot;,m,&quot;(&quot;,g.join(),&quot;){&quot;];for(o=0;o&lt;t;++o){v.push(&quot;var w&quot;,o,&quot;=&quot;,l(o,t),&quot;;&quot;);for(var y=0;y&lt;t;++y)y!==o&amp;&amp;v.push(&quot;var w&quot;,o,&quot;m&quot;,y,&quot;=scale(w&quot;,o,&quot;,m&quot;,y,&quot;[0]);&quot;)}v.push(&quot;var p=&quot;,c,&quot;,n=&quot;,p,&quot;,d=diff(p,n);return d[d.length-1];}return &quot;,m);return new Function(&quot;sum&quot;,&quot;diff&quot;,&quot;prod&quot;,&quot;scale&quot;,v.join(&quot;&quot;))(f,h,u,d)}var u=t(&quot;two-product&quot;),f=t(&quot;robust-sum&quot;),h=t(&quot;robust-subtract&quot;),d=t(&quot;robust-scale&quot;),p=6,m=[function(){return 0},function(){return 0},function(){return 0}];!function(){for(;m.length&lt;=p;)m.push(c(m.length));for(var t=[],r=[&quot;slow&quot;],n=0;n&lt;=p;++n)t.push(&quot;a&quot;+n),r.push(&quot;o&quot;+n);var i=[&quot;function testInSphere(&quot;,t.join(),&quot;){switch(arguments.length){case 0:case 1:return 0;&quot;];for(n=2;n&lt;=p;++n)i.push(&quot;case &quot;,n,&quot;:return o&quot;,n,&quot;(&quot;,t.slice(0,n).join(),&quot;);&quot;);i.push(&quot;}var s=new Array(arguments.length);for(var i=0;i&lt;arguments.length;++i){s[i]=arguments[i]};return slow(s);}return testInSphere&quot;),r.push(i.join(&quot;&quot;));var a=Function.apply(void 0,r);for(e.exports=a.apply(void 0,[function(t){var e=m[t.length];return e||(e=m[t.length]=c(t.length)),e.apply(void 0,t)}].concat(m)),n=0;n&lt;=p;++n)e.exports[n]=m[n]}()},{&quot;robust-scale&quot;:517,&quot;robust-subtract&quot;:519,&quot;robust-sum&quot;:520,&quot;two-product&quot;:552}],514:[function(t,e,r){&quot;use strict&quot;;function n(t){for(var e=&quot;robustLinearSolve&quot;+t+&quot;d&quot;,r=[&quot;function &quot;,e,&quot;(A,b){return [&quot;],n=0;n&lt;t;++n){r.push(&quot;det([&quot;);for(var a=0;a&lt;t;++a){a&gt;0&amp;&amp;r.push(&quot;,&quot;),r.push(&quot;[&quot;);for(var o=0;o&lt;t;++o)o&gt;0&amp;&amp;r.push(&quot;,&quot;),o===n?r.push(&quot;+b[&quot;,a,&quot;]&quot;):r.push(&quot;+A[&quot;,a,&quot;][&quot;,o,&quot;]&quot;);r.push(&quot;]&quot;)}r.push(&quot;]),&quot;)}r.push(&quot;det(A)]}return &quot;,e);var s=new Function(&quot;det&quot;,r.join(&quot;&quot;));return s(t&lt;6?i[t]:i)}var i=t(&quot;robust-determinant&quot;),a=6,o=[function(){return[0]},function(t,e){return[[e[0]],[t[0][0]]]}];!function(){for(;o.length&lt;a;)o.push(n(o.length));for(var t=[],r=[&quot;function dispatchLinearSolve(A,b){switch(A.length){&quot;],i=0;i&lt;a;++i)t.push(&quot;s&quot;+i),r.push(&quot;case &quot;,i,&quot;:return s&quot;,i,&quot;(A,b);&quot;);r.push(&quot;}var s=CACHE[A.length];if(!s)s=CACHE[A.length]=g(A.length);return s(A,b)}return dispatchLinearSolve&quot;),t.push(&quot;CACHE&quot;,&quot;g&quot;,r.join(&quot;&quot;));var s=Function.apply(void 0,t);for(e.exports=s.apply(void 0,o.concat([o,n])),i=0;i&lt;a;++i)e.exports[i]=o[i]}()},{&quot;robust-determinant&quot;:511}],515:[function(t,e,r){&quot;use strict&quot;;function n(t,e){for(var r=new Array(t.length-1),n=1;n&lt;t.length;++n)for(var i=r[n-1]=new Array(t.length-1),a=0,o=0;a&lt;t.length;++a)a!==e&amp;&amp;(i[o++]=t[n][a]);return r}function i(t){return 1&amp;t?&quot;-&quot;:&quot;&quot;}function a(t){if(1===t.length)return t[0];if(2===t.length)return[&quot;sum(&quot;,t[0],&quot;,&quot;,t[1],&quot;)&quot;].join(&quot;&quot;);var e=t.length&gt;&gt;1;return[&quot;sum(&quot;,a(t.slice(0,e)),&quot;,&quot;,a(t.slice(e)),&quot;)&quot;].join(&quot;&quot;)}function o(t){if(2===t.length)return[[&quot;sum(prod(&quot;,t[0][0],&quot;,&quot;,t[1][1],&quot;),prod(-&quot;,t[0][1],&quot;,&quot;,t[1][0],&quot;))&quot;].join(&quot;&quot;)];for(var e=[],r=0;r&lt;t.length;++r)e.push([&quot;scale(&quot;,a(o(n(t,r))),&quot;,&quot;,i(r),t[0][r],&quot;)&quot;].join(&quot;&quot;));return e}function s(t){for(var e=[],r=[],i=function(t){for(var e=new Array(t),r=0;r&lt;t;++r){e[r]=new Array(t);for(var n=0;n&lt;t;++n)e[r][n]=[&quot;m&quot;,n,&quot;[&quot;,t-r-1,&quot;]&quot;].join(&quot;&quot;)}return e}(t),s=[],h=0;h&lt;t;++h)0==(1&amp;h)?e.push.apply(e,o(n(i,h))):r.push.apply(r,o(n(i,h))),s.push(&quot;m&quot;+h);var d=a(e),p=a(r),m=&quot;orientation&quot;+t+&quot;Exact&quot;,g=[&quot;function &quot;,m,&quot;(&quot;,s.join(),&quot;){var p=&quot;,d,&quot;,n=&quot;,p,&quot;,d=sub(p,n);return d[d.length-1];};return &quot;,m].join(&quot;&quot;);return new Function(&quot;sum&quot;,&quot;prod&quot;,&quot;scale&quot;,&quot;sub&quot;,g)(c,l,u,f)}var l=t(&quot;two-product&quot;),c=t(&quot;robust-sum&quot;),u=t(&quot;robust-scale&quot;),f=t(&quot;robust-subtract&quot;),h=5,d=s(3),p=s(4),m=[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&gt;0){if(a&lt;=0)return o;n=i+a}else{if(!(i&lt;0))return o;if(a&gt;=0)return o;n=-(i+a)}var s=3.3306690738754716e-16*n;return o&gt;=s||o&lt;=-s?o:d(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],h=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)+h*(y-x),_=7.771561172376103e-16*((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(h));return b&gt;_||-b&gt;_?b:p(t,e,r,n)}];!function(){for(;m.length&lt;=h;)m.push(s(m.length));for(var t=[],r=[&quot;slow&quot;],n=0;n&lt;=h;++n)t.push(&quot;a&quot;+n),r.push(&quot;o&quot;+n);var i=[&quot;function getOrientation(&quot;,t.join(),&quot;){switch(arguments.length){case 0:case 1:return 0;&quot;];for(n=2;n&lt;=h;++n)i.push(&quot;case &quot;,n,&quot;:return o&quot;,n,&quot;(&quot;,t.slice(0,n).join(),&quot;);&quot;);i.push(&quot;}var s=new Array(arguments.length);for(var i=0;i&lt;arguments.length;++i){s[i]=arguments[i]};return slow(s);}return getOrientation&quot;),r.push(i.join(&quot;&quot;));var a=Function.apply(void 0,r);for(e.exports=a.apply(void 0,[function(t){var e=m[t.length];return e||(e=m[t.length]=s(t.length)),e.apply(void 0,t)}].concat(m)),n=0;n&lt;=h;++n)e.exports[n]=m[n]}()},{&quot;robust-scale&quot;:517,&quot;robust-subtract&quot;:519,&quot;robust-sum&quot;:520,&quot;two-product&quot;:552}],516:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;robust-sum&quot;),i=t(&quot;robust-scale&quot;);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&lt;e.length)for(var a=0;a&lt;t.length;++a)r=n(r,i(e,t[a]));else for(a=0;a&lt;e.length;++a)r=n(r,i(t,e[a]));return r}},{&quot;robust-scale&quot;:517,&quot;robust-sum&quot;:520}],517:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;two-product&quot;),i=t(&quot;two-sum&quot;);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]&amp;&amp;(o[c++]=s[0]);for(var u=1;u&lt;r;++u){n(t[u],e,l);var f=s[1];i(f,l[0],s),s[0]&amp;&amp;(o[c++]=s[0]);var h=l[1],d=s[1],p=h+d,m=d-(p-h);s[1]=p,m&amp;&amp;(o[c++]=m)}return s[1]&amp;&amp;(o[c++]=s[1]),0===c&amp;&amp;(o[c++]=0),o.length=c,o}},{&quot;two-product&quot;:552,&quot;two-sum&quot;:553}],518:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t,e,r,i){var a=n(t,r,i),o=n(e,r,i);if(a&gt;0&amp;&amp;o&gt;0||a&lt;0&amp;&amp;o&lt;0)return!1;var s=n(r,t,e),l=n(i,t,e);return!(s&gt;0&amp;&amp;l&gt;0||s&lt;0&amp;&amp;l&lt;0)&amp;&amp;(0!==a||0!==o||0!==s||0!==l||function(t,e,r,n){for(var i=0;i&lt;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)&lt;s||l&lt;f)return!1}return!0}(t,e,r,i))};var n=t(&quot;robust-orientation&quot;)[3]},{&quot;robust-orientation&quot;:515}],519:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t,e){var r=0|t.length,n=0|e.length;if(1===r&amp;&amp;1===n)return function(t,e){var r=t+e,n=r-t,i=t-(r-n)+(e-n);return i?[i,r]:[r]}(t[0],-e[0]);var i,a,o=r+n,s=new Array(o),l=0,c=0,u=0,f=Math.abs,h=t[c],d=f(h),p=-e[u],m=f(p);d&lt;m?(a=h,(c+=1)&lt;r&amp;&amp;(d=f(h=t[c]))):(a=p,(u+=1)&lt;n&amp;&amp;(m=f(p=-e[u]))),c&lt;r&amp;&amp;d&lt;m||u&gt;=n?(i=h,(c+=1)&lt;r&amp;&amp;(d=f(h=t[c]))):(i=p,(u+=1)&lt;n&amp;&amp;(m=f(p=-e[u])));for(var g,v,y=i+a,x=y-i,b=a-x,_=b,w=y;c&lt;r&amp;&amp;u&lt;n;)d&lt;m?(i=h,(c+=1)&lt;r&amp;&amp;(d=f(h=t[c]))):(i=p,(u+=1)&lt;n&amp;&amp;(m=f(p=-e[u]))),(b=(a=_)-(x=(y=i+a)-i))&amp;&amp;(s[l++]=b),_=w-((g=w+y)-(v=g-w))+(y-v),w=g;for(;c&lt;r;)(b=(a=_)-(x=(y=(i=h)+a)-i))&amp;&amp;(s[l++]=b),_=w-((g=w+y)-(v=g-w))+(y-v),w=g,(c+=1)&lt;r&amp;&amp;(h=t[c]);for(;u&lt;n;)(b=(a=_)-(x=(y=(i=p)+a)-i))&amp;&amp;(s[l++]=b),_=w-((g=w+y)-(v=g-w))+(y-v),w=g,(u+=1)&lt;n&amp;&amp;(p=-e[u]);return _&amp;&amp;(s[l++]=_),w&amp;&amp;(s[l++]=w),l||(s[l++]=0),s.length=l,s}},{}],520:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t,e){var r=0|t.length,n=0|e.length;if(1===r&amp;&amp;1===n)return function(t,e){var r=t+e,n=r-t,i=t-(r-n)+(e-n);return i?[i,r]:[r]}(t[0],e[0]);var i,a,o=r+n,s=new Array(o),l=0,c=0,u=0,f=Math.abs,h=t[c],d=f(h),p=e[u],m=f(p);d&lt;m?(a=h,(c+=1)&lt;r&amp;&amp;(d=f(h=t[c]))):(a=p,(u+=1)&lt;n&amp;&amp;(m=f(p=e[u]))),c&lt;r&amp;&amp;d&lt;m||u&gt;=n?(i=h,(c+=1)&lt;r&amp;&amp;(d=f(h=t[c]))):(i=p,(u+=1)&lt;n&amp;&amp;(m=f(p=e[u])));for(var g,v,y=i+a,x=y-i,b=a-x,_=b,w=y;c&lt;r&amp;&amp;u&lt;n;)d&lt;m?(i=h,(c+=1)&lt;r&amp;&amp;(d=f(h=t[c]))):(i=p,(u+=1)&lt;n&amp;&amp;(m=f(p=e[u]))),(b=(a=_)-(x=(y=i+a)-i))&amp;&amp;(s[l++]=b),_=w-((g=w+y)-(v=g-w))+(y-v),w=g;for(;c&lt;r;)(b=(a=_)-(x=(y=(i=h)+a)-i))&amp;&amp;(s[l++]=b),_=w-((g=w+y)-(v=g-w))+(y-v),w=g,(c+=1)&lt;r&amp;&amp;(h=t[c]);for(;u&lt;n;)(b=(a=_)-(x=(y=(i=p)+a)-i))&amp;&amp;(s[l++]=b),_=w-((g=w+y)-(v=g-w))+(y-v),w=g,(u+=1)&lt;n&amp;&amp;(p=e[u]);return _&amp;&amp;(s[l++]=_),w&amp;&amp;(s[l++]=w),l||(s[l++]=0),s.length=l,s}},{}],521:[function(t,e,r){!function(t,n){&quot;object&quot;==typeof r&amp;&amp;void 0!==e?e.exports=n():t.ShelfPack=n()}(this,function(){function t(t,e,r){r=r||{},this.w=t||64,this.h=e||64,this.autoResize=!!r.autoResize,this.shelves=[],this.stats={},this.count=function(t){this.stats[t]=1+(0|this.stats[t])}}function e(t,e,r){this.x=0,this.y=t,this.w=this.free=e,this.h=r}return t.prototype.pack=function(t,e){t=[].concat(t),e=e||{};for(var r,n,i,a=[],o=0;o&lt;t.length;o++)if(r=t[o].w||t[o].width,n=t[o].h||t[o].height,r&amp;&amp;n){if(!(i=this.packOne(r,n)))continue;e.inPlace&amp;&amp;(t[o].x=i.x,t[o].y=i.y),a.push(i)}if(this.shelves.length&gt;0){for(var s=0,l=0,c=0;c&lt;this.shelves.length;c++){var u=this.shelves[c];l+=u.h,s=Math.max(u.w-u.free,s)}this.resize(s,l)}return a},t.prototype.packOne=function(t,r){for(var n,i,a=0,o={shelf:-1,waste:1/0},s=0;s&lt;this.shelves.length;s++){if(n=this.shelves[s],a+=n.h,r===n.h&amp;&amp;t&lt;=n.free)return this.count(r),n.alloc(t,r);r&gt;n.h||t&gt;n.free||r&lt;n.h&amp;&amp;t&lt;=n.free&amp;&amp;(i=n.h-r)&lt;o.waste&amp;&amp;(o.waste=i,o.shelf=s)}if(-1!==o.shelf)return n=this.shelves[o.shelf],this.count(r),n.alloc(t,r);if(r&lt;=this.h-a&amp;&amp;t&lt;=this.w)return n=new e(a,this.w,r),this.shelves.push(n),this.count(r),n.alloc(t,r);if(this.autoResize){var l,c,u,f;return l=c=this.h,((u=f=this.w)&lt;=l||t&gt;u)&amp;&amp;(f=2*Math.max(t,u)),(l&lt;u||r&gt;l)&amp;&amp;(c=2*Math.max(r,l)),this.resize(f,c),this.packOne(t,r)}return null},t.prototype.clear=function(){this.shelves=[],this.stats={}},t.prototype.resize=function(t,e){this.w=t,this.h=e;for(var r=0;r&lt;this.shelves.length;r++)this.shelves[r].resize(t);return!0},e.prototype.alloc=function(t,e){if(t&gt;this.free||e&gt;this.h)return null;var r=this.x;return this.x+=t,this.free-=t,{x:r,y:this.y,w:t,h:e,width:t,height:e}},e.prototype.resize=function(t){return this.free+=t-this.w,this.w=t,!0},t})},{}],522:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t){return t&lt;0?-1:t&gt;0?1:0}},{}],523:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t){return i(n(t))};var n=t(&quot;boundary-cells&quot;),i=t(&quot;reduce-simplicial-complex&quot;)},{&quot;boundary-cells&quot;:74,&quot;reduce-simplicial-complex&quot;:499}],524:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t,e,r,s){if(r=r||0,void 0===s&amp;&amp;(s=function(t){for(var e=t.length,r=0,n=0;n&lt;e;++n)r=0|Math.max(r,t[n].length);return r-1}(t)),0===t.length||s&lt;1)return{cells:[],vertexIds:[],vertexWeights:[]};var l=function(t,e){for(var r=t.length,n=i.mallocUint8(r),a=0;a&lt;r;++a)n[a]=t[a]&lt;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&lt;r;++c)for(var u=t[c],f=(e=u.length,0);f&lt;e;++f)for(var h=0;h&lt;f;++h){var d=u[h],p=u[f];s[l++]=0|Math.min(d,p),s[l++]=0|Math.max(d,p)}a(n(s,[l/2|0,2]));var m=2;for(c=2;c&lt;l;c+=2)s[c-2]===s[c]&amp;&amp;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&lt;s;++u){var f=o[2*u],h=o[2*u+1];if(r[f]!==r[h]){var d=e[f],p=e[h];o[2*c]=f,o[2*c+1]=h,l[c++]=(p-a)/(p-d)}}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&lt;n;++s){var l=a[2*s];if(l!==o){for(r[2*o+1]=s;++o&lt;l;)r[2*o]=s,r[2*o+1]=s;r[2*o]=s}}for(r[2*o+1]=n;++o&lt;e;)r[2*o]=r[2*o+1]=n;return r}(c,0|e.length),h=o(s)(t,c.data,f,l),d=function(t){for(var e=0|t.shape[0],r=t.data,n=new Array(e),i=0;i&lt;e;++i)n[i]=[r[2*i],r[2*i+1]];return n}(c),p=[].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:d,vertexWeights:p}};var n=t(&quot;ndarray&quot;),i=t(&quot;typedarray-pool&quot;),a=t(&quot;ndarray-sort&quot;),o=t(&quot;./lib/codegen&quot;)},{&quot;./lib/codegen&quot;:525,ndarray:458,&quot;ndarray-sort&quot;:456,&quot;typedarray-pool&quot;:554}],525:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t){var e=a[t];return e||(e=a[t]=function(t){function e(t){if(!(t.length&lt;=0)){c.push(&quot;R.push(&quot;);for(var e=0;e&lt;t.length;++e){var r=t[e];e&gt;0&amp;&amp;c.push(&quot;,&quot;),c.push(&quot;[&quot;);for(var n=0;n&lt;r.length;++n){var i=r[n];n&gt;0&amp;&amp;c.push(&quot;,&quot;),c.push(&quot;B(C,E,c[&quot;,i[0],&quot;],c[&quot;,i[1],&quot;])&quot;)}c.push(&quot;]&quot;)}c.push(&quot;);&quot;)}}var r=0,a=new Array(t+1);a[0]=[[]];for(var o=1;o&lt;=t;++o)for(var s=a[o]=i(o),l=0;l&lt;s.length;++l)r=Math.max(r,s[o].length);var c=[&quot;function B(C,E,i,j){&quot;,&quot;var a=Math.min(i,j)|0,b=Math.max(i,j)|0,l=C[2*a],h=C[2*a+1];&quot;,&quot;while(l&lt;h){&quot;,&quot;var m=(l+h)&gt;&gt;1,v=E[2*m+1];&quot;,&quot;if(v===b){return m}&quot;,&quot;if(b&lt;v){h=m}else{l=m+1}&quot;,&quot;}&quot;,&quot;return l;&quot;,&quot;};&quot;,&quot;function getContour&quot;,t,&quot;d(F,E,C,S){&quot;,&quot;var n=F.length,R=[];&quot;,&quot;for(var i=0;i&lt;n;++i){var c=F[i],l=c.length;&quot;];for(o=t+1;o&gt;1;--o){o&lt;t+1&amp;&amp;c.push(&quot;else &quot;),c.push(&quot;if(l===&quot;,o,&quot;){&quot;);var u=[];for(l=0;l&lt;o;++l)u.push(&quot;(S[c[&quot;+l+&quot;]]&lt;&lt;&quot;+l+&quot;)&quot;);for(c.push(&quot;var M=&quot;,u.join(&quot;+&quot;),&quot;;if(M===0||M===&quot;,(1&lt;&lt;o)-1,&quot;){continue}switch(M){&quot;),s=a[o-1],l=0;l&lt;s.length;++l)c.push(&quot;case &quot;,l,&quot;:&quot;),e(s[l]),c.push(&quot;break;&quot;);c.push(&quot;}}&quot;)}return c.push(&quot;}return R;};return getContour&quot;,t,&quot;d&quot;),new Function(&quot;pool&quot;,c.join(&quot;&quot;))(n)}(t)),e};var n=t(&quot;typedarray-pool&quot;),i=t(&quot;marching-simplex-table&quot;),a={}},{&quot;marching-simplex-table&quot;:436,&quot;typedarray-pool&quot;:554}],526:[function(t,e,r){&quot;use strict&quot;;&quot;use restrict&quot;;function n(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&lt;r;++h)if(n=u[h]-f[h])return n;return 0}}function i(t,e){return n(t[0],e[0])}function a(t,e){if(e){for(var r=t.length,a=new Array(r),o=0;o&lt;r;++o)a[o]=[t[o],e[o]];a.sort(i);for(o=0;o&lt;r;++o)t[o]=a[o][0],e[o]=a[o][1];return t}return t.sort(n),t}function o(t){if(0===t.length)return[];for(var e=1,r=t.length,i=1;i&lt;r;++i){var a=t[i];if(n(a,t[i-1])){if(i===e){e++;continue}t[e++]=a}}return t.length=e,t}function s(t,e){for(var r=0,i=t.length-1,a=-1;r&lt;=i;){var o=r+i&gt;&gt;1,s=n(t[o],e);s&lt;=0?(0===s&amp;&amp;(a=o),r=o+1):s&gt;0&amp;&amp;(i=o-1)}return a}function l(t,e){for(var r=new Array(t.length),i=0,a=r.length;i&lt;a;++i)r[i]=[];for(var o=[],l=(i=0,e.length);i&lt;l;++i)for(var c=e[i],f=c.length,h=1,d=1&lt;&lt;f;h&lt;d;++h){o.length=u.popCount(h);for(var p=0,m=0;m&lt;f;++m)h&amp;1&lt;&lt;m&amp;&amp;(o[p++]=c[m]);var g=s(t,o);if(!(g&lt;0))for(;r[g++].push(i),!(g&gt;=t.length||0!==n(t[g],o)););}return r}function c(t,e){if(e&lt;0)return[];for(var r=[],n=(1&lt;&lt;e+1)-1,i=0;i&lt;t.length;++i)for(var o=t[i],s=n;s&lt;1&lt;&lt;o.length;s=u.nextCombination(s)){for(var l=new Array(e+1),c=0,f=0;f&lt;o.length;++f)s&amp;1&lt;&lt;f&amp;&amp;(l[c++]=o[f]);r.push(l)}return a(r)}var u=t(&quot;bit-twiddle&quot;),f=t(&quot;union-find&quot;);r.dimension=function(t){for(var e=0,r=Math.max,n=0,i=t.length;n&lt;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&lt;i;++n)for(var a=t[n],o=0,s=a.length;o&lt;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&lt;n;++r)e[r]=t[r].slice(0);return e},r.compareCells=n,r.normalize=a,r.unique=o,r.findCell=s,r.incidence=l,r.dual=function(t,e){if(!e)return l(o(c(t,0)),t);for(var r=new Array(e),n=0;n&lt;e;++n)r[n]=[];n=0;for(var i=t.length;n&lt;i;++n)for(var a=t[n],s=0,u=a.length;s&lt;u;++s)r[a[s]].push(n);return r},r.explode=function(t){for(var e=[],r=0,n=t.length;r&lt;n;++r)for(var i=t[r],o=0|i.length,s=1,l=1&lt;&lt;o;s&lt;l;++s){for(var c=[],u=0;u&lt;o;++u)s&gt;&gt;&gt;u&amp;1&amp;&amp;c.push(i[u]);e.push(c)}return a(e)},r.skeleton=c,r.boundary=function(t){for(var e=[],r=0,n=t.length;r&lt;n;++r)for(var i=t[r],o=0,s=i.length;o&lt;s;++o){for(var l=new Array(i.length-1),c=0,u=0;c&lt;s;++c)c!==o&amp;&amp;(l[u++]=i[c]);e.push(l)}return a(e)},r.connectedComponents=function(t,e){return e?function(t,e){for(var r=new f(e),n=0;n&lt;t.length;++n)for(var i=t[n],a=0;a&lt;i.length;++a)for(var o=a+1;o&lt;i.length;++o)r.link(i[a],i[o]);var s=[],l=r.ranks;for(n=0;n&lt;l.length;++n)l[n]=-1;for(n=0;n&lt;t.length;++n){var c=r.find(t[n][0]);l[c]&lt;0?(l[c]=s.length,s.push([t[n].slice(0)])):s[l[c]].push(t[n].slice(0))}return s}(t,e):function(t){for(var e=o(a(c(t,0))),r=new f(e.length),n=0;n&lt;t.length;++n)for(var i=t[n],l=0;l&lt;i.length;++l)for(var u=s(e,[i[l]]),h=l+1;h&lt;i.length;++h)r.link(u,s(e,[i[h]]));var d=[],p=r.ranks;for(n=0;n&lt;p.length;++n)p[n]=-1;for(n=0;n&lt;t.length;++n){var m=r.find(s(e,[t[n][0]]));p[m]&lt;0?(p[m]=d.length,d.push([t[n].slice(0)])):d[p[m]].push(t[n].slice(0))}return d}(t)}},{&quot;bit-twiddle&quot;:71,&quot;union-find&quot;:555}],527:[function(t,e,r){arguments[4][71][0].apply(r,arguments)},{dup:71}],528:[function(t,e,r){arguments[4][526][0].apply(r,arguments)},{&quot;bit-twiddle&quot;:527,dup:526,&quot;union-find&quot;:529}],529:[function(t,e,r){&quot;use strict&quot;;&quot;use restrict&quot;;function n(t){this.roots=new Array(t),this.ranks=new Array(t);for(var e=0;e&lt;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&lt;s?a[r]=n:s&lt;o?a[n]=r:(a[n]=r,++i[r])}}},{}],530:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t,e,r){function a(t){if(b[t])return 1/0;var r=v[t],i=y[t];return r&lt;0||i&lt;0?1/0:function(t,e,r){return Math.abs(n(t,e,r))/Math.sqrt(Math.pow(e[0]-r[0],2)+Math.pow(e[1]-r[1],2))}(e[t],e[r],e[i])}function o(t,e){var r=A[t],n=A[e];A[t]=n,A[e]=r,T[r]=e,T[n]=t}function s(t){return x[A[t]]}function l(t){return 1&amp;t?t-1&gt;&gt;1:(t&gt;&gt;1)-1}function c(t){for(var e=s(t);;){var r=e,n=2*t+1,i=2*(t+1),a=t;if(n&lt;S){var l=s(n);l&lt;r&amp;&amp;(a=n,r=l)}if(i&lt;S&amp;&amp;s(i)&lt;r&amp;&amp;(a=i),a===t)return t;o(t,a),t=a}}function u(t){for(var e=s(t);t&gt;0;){var r=l(t);if(!(r&gt;=0&amp;&amp;e&lt;s(r)))return t;o(t,r),t=r}}function f(){if(S&gt;0){var t=A[0];return o(0,S-1),S-=1,c(0),t}return-1}function h(t,e){var r=A[t];return x[r]===e?t:(x[r]=-1/0,u(t),f(),x[r]=e,S+=1,u(S-1))}function d(t){if(!b[t]){b[t]=!0;var e=v[t],r=y[t];v[r]&gt;=0&amp;&amp;(v[r]=e),y[e]&gt;=0&amp;&amp;(y[e]=r),T[e]&gt;=0&amp;&amp;h(T[e],a(e)),T[r]&gt;=0&amp;&amp;h(T[r],a(r))}}function p(t,e){if(t[e]&lt;0)return e;var r=e,n=e;do{var i=t[n];if(!b[n]||i&lt;0||i===n)break;if(n=i,i=t[n],!b[n]||i&lt;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}for(var m=e.length,g=t.length,v=new Array(m),y=new Array(m),x=new Array(m),b=new Array(m),_=0;_&lt;m;++_)v[_]=y[_]=-1,x[_]=1/0,b[_]=!1;for(_=0;_&lt;g;++_){var w=t[_];if(2!==w.length)throw new Error(&quot;Input must be a graph&quot;);var M=w[1],k=w[0];-1!==y[k]?y[k]=-2:y[k]=M,-1!==v[M]?v[M]=-2:v[M]=k}var A=[],T=new Array(m);for(_=0;_&lt;m;++_)(x[_]=a(_))&lt;1/0?(T[_]=A.length,A.push(_)):T[_]=-1;var S=A.length;for(_=S&gt;&gt;1;_&gt;=0;--_)c(_);for(;;){var E=f();if(E&lt;0||x[E]&gt;r)break;d(E)}var L=[];for(_=0;_&lt;m;++_)b[_]||(T[_]=L.length,L.push(e[_].slice()));L.length;var C=[];return t.forEach(function(t){var e=p(v,t[0]),r=p(y,t[1]);if(e&gt;=0&amp;&amp;r&gt;=0&amp;&amp;e!==r){var n=T[e],i=T[r];n!==i&amp;&amp;C.push([n,i])}}),i.unique(i.normalize(C)),{positions:L,edges:C}};var n=t(&quot;robust-orientation&quot;),i=t(&quot;simplicial-complex&quot;)},{&quot;robust-orientation&quot;:515,&quot;simplicial-complex&quot;:528}],531:[function(t,e,r){&quot;use strict&quot;;function n(t,e){var r,n;if(e[0][0]&lt;e[1][0])r=e[0],n=e[1];else{if(!(e[0][0]&gt;e[1][0])){var a=Math.min(t[0][1],t[1][1]),o=Math.max(t[0][1],t[1][1]),s=Math.min(e[0][1],e[1][1]),l=Math.max(e[0][1],e[1][1]);return o&lt;s?o-s:a&gt;l?a-l:o-l}r=e[1],n=e[0]}var c,u;t[0][1]&lt;t[1][1]?(c=t[0],u=t[1]):(c=t[1],u=t[0]);var f=i(n,r,c);return f||((f=i(n,r,u))||u-n)}e.exports=function(t,e){var r,a;if(e[0][0]&lt;e[1][0])r=e[0],a=e[1];else{if(!(e[0][0]&gt;e[1][0]))return n(e,t);r=e[1],a=e[0]}var o,s;if(t[0][0]&lt;t[1][0])o=t[0],s=t[1];else{if(!(t[0][0]&gt;t[1][0]))return-n(t,e);o=t[1],s=t[0]}var l=i(r,a,s),c=i(r,a,o);if(l&lt;0){if(c&lt;=0)return l}else if(l&gt;0){if(c&gt;=0)return l}else if(c)return c;if(l=i(s,o,a),c=i(s,o,r),l&lt;0){if(c&lt;=0)return l}else if(l&gt;0){if(c&gt;=0)return l}else if(c)return c;return a[0]-s[0]};var i=t(&quot;robust-orientation&quot;)},{&quot;robust-orientation&quot;:515}],532:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r){this.slabs=t,this.coordinates=e,this.horizontal=r}function i(t,e){return t.y-e}function a(t,e){for(var r=null;t;){var n,i,o=t.key;o[0][0]&lt;o[1][0]?(n=o[0],i=o[1]):(n=o[1],i=o[0]);var s=u(n,i,e);if(s&lt;0)t=t.left;else if(s&gt;0)if(e[0]!==o[1][0])r=t,t=t.right;else{if(l=a(t.right,e))return l;t=t.left}else{if(e[0]!==o[1][0])return t;var l;if(l=a(t.right,e))return l;t=t.left}}return r}function o(t,e,r,n){this.y=t,this.index=e,this.start=r,this.closed=n}function s(t,e,r,n){this.x=t,this.segment=e,this.create=r,this.index=n}e.exports=function(t){for(var e=t.length,r=2*e,i=new Array(r),a=0;a&lt;e;++a){var l=t[a],u=l[0][0]&lt;l[1][0];i[2*a]=new s(l[0][0],l,u,a),i[2*a+1]=new s(l[1][0],l,!u,a)}i.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=c(f),d=[],p=[],m=[];for(a=0;a&lt;r;){for(var g=i[a].x,v=[];a&lt;r;){var y=i[a];if(y.x!==g)break;a+=1,y.segment[0][0]===y.x&amp;&amp;y.segment[1][0]===y.x?y.create&amp;&amp;(y.segment[0][1]&lt;y.segment[1][1]?(v.push(new o(y.segment[0][1],y.index,!0,!0)),v.push(new o(y.segment[1][1],y.index,!1,!1))):(v.push(new o(y.segment[1][1],y.index,!0,!1)),v.push(new o(y.segment[0][1],y.index,!1,!0)))):h=y.create?h.insert(y.segment,y.index):h.remove(y.segment)}d.push(h.root),p.push(g),m.push(v)}return new n(d,p,m)};var l=t(&quot;binary-search-bounds&quot;),c=t(&quot;functional-red-black-tree&quot;),u=t(&quot;robust-orientation&quot;),f=t(&quot;./lib/order-segments&quot;);n.prototype.castUp=function(t){var e=l.le(this.coordinates,t[0]);if(e&lt;0)return-1;this.slabs[e];var r=a(this.slabs[e],t),n=-1;if(r&amp;&amp;(n=r.value),this.coordinates[e]===t[0]){var o=null;if(r&amp;&amp;(o=r.key),e&gt;0){var s=a(this.slabs[e-1],t);s&amp;&amp;(o?f(s.key,o)&gt;0&amp;&amp;(o=s.key,n=s.value):(n=s.value,o=s.key))}var c=this.horizontal[e];if(c.length&gt;0){var h=l.ge(c,t[1],i);if(h&lt;c.length){var d=c[h];if(t[1]===d.y){if(d.closed)return d.index;for(;h&lt;c.length-1&amp;&amp;c[h+1].y===t[1];)if(h+=1,(d=c[h]).closed)return d.index;if(d.y===t[1]&amp;&amp;!d.start){if((h+=1)&gt;=c.length)return n;d=c[h]}}if(d.start)if(o){var p=u(o[0],o[1],[t[0],d.y]);o[0][0]&gt;o[1][0]&amp;&amp;(p=-p),p&gt;0&amp;&amp;(n=d.index)}else n=d.index;else d.y!==t[1]&amp;&amp;(n=d.index)}}}return n}},{&quot;./lib/order-segments&quot;:531,&quot;binary-search-bounds&quot;:70,&quot;functional-red-black-tree&quot;:144,&quot;robust-orientation&quot;:515}],533:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,n,i,a){for(var o=t+1;o&lt;=e;++o){for(var s=r[o],l=n[2*o],c=n[2*o+1],u=i[o],f=a[o],h=o;h&gt;t;){var d=r[h-1],p=n[2*(h-1)];if((d-s||l-p)&gt;=0)break;r[h]=d,n[2*h]=p,n[2*h+1]=n[2*h-1],i[h]=i[h-1],a[h]=a[h-1],h-=1}r[h]=s,n[2*h]=l,n[2*h+1]=c,i[h]=u,a[h]=f}}function i(t,e,r,n,i,a){var o=r[t],s=n[2*t],l=n[2*t+1],c=i[t],u=a[t];r[t]=r[e],n[2*t]=n[2*e],n[2*t+1]=n[2*e+1],i[t]=i[e],a[t]=a[e],r[e]=o,n[2*e]=s,n[2*e+1]=l,i[e]=c,a[e]=u}function a(t,e,r,n,i,a){r[t]=r[e],n[2*t]=n[2*e],n[2*t+1]=n[2*e+1],i[t]=i[e],a[t]=a[e]}function o(t,e,r,n,i,a,o){var s=n[t],l=i[2*t],c=i[2*t+1],u=a[t],f=o[t];n[t]=n[e],i[2*t]=i[2*e],i[2*t+1]=i[2*e+1],a[t]=a[e],o[t]=o[e],n[e]=n[r],i[2*e]=i[2*r],i[2*e+1]=i[2*r+1],a[e]=a[r],o[e]=o[r],n[r]=s,i[2*r]=l,i[2*r+1]=c,a[r]=u,o[r]=f}function s(t,e,r,n,i,a,o,s,l,c,u){s[t]=s[e],l[2*t]=l[2*e],l[2*t+1]=l[2*e+1],c[t]=c[e],u[t]=u[e],s[e]=r,l[2*e]=n,l[2*e+1]=i,c[e]=a,u[e]=o}function l(t,e,r,n,i){return(r[t]-r[e]||n[2*e]-n[2*t]||i[t]-i[e])&lt;0}function c(t,e,r,n,i,a,o,s){return(e-a[t]||o[2*t]-r||i-s[t])&lt;0}function u(t,e,r,h,d,p){var m=(e-t+1)/6|0,g=t+m,v=e-m,y=t+e&gt;&gt;1,x=y-m,b=y+m,_=g,w=x,M=y,k=b,A=v,T=t+1,S=e-1,E=0;l(_,w,r,h,d)&amp;&amp;(E=_,_=w,w=E),l(k,A,r,h,d)&amp;&amp;(E=k,k=A,A=E),l(_,M,r,h,d)&amp;&amp;(E=_,_=M,M=E),l(w,M,r,h,d)&amp;&amp;(E=w,w=M,M=E),l(_,k,r,h,d)&amp;&amp;(E=_,_=k,k=E),l(M,k,r,h,d)&amp;&amp;(E=M,M=k,k=E),l(w,A,r,h,d)&amp;&amp;(E=w,w=A,A=E),l(w,M,r,h,d)&amp;&amp;(E=w,w=M,M=E),l(k,A,r,h,d)&amp;&amp;(E=k,k=A,A=E);var L=r[w],C=h[2*w],z=h[2*w+1],D=d[w],I=p[w],P=r[k],O=h[2*k],F=h[2*k+1],R=d[k],N=p[k],j=_,B=M,U=A,V=g,q=y,H=v,G=r[j],Y=r[B],W=r[U];r[V]=G,r[q]=Y,r[H]=W;for(var X=0;X&lt;2;++X){var Z=h[2*j+X],J=h[2*B+X],K=h[2*U+X];h[2*V+X]=Z,h[2*q+X]=J,h[2*H+X]=K}var Q=d[j],$=d[B],tt=d[U];d[V]=Q,d[q]=$,d[H]=tt;var et=p[j],rt=p[B],nt=p[U];p[V]=et,p[q]=rt,p[H]=nt,a(x,t,r,h,d,p),a(b,e,r,h,d,p);for(var it=T;it&lt;=S;++it)if(c(it,L,C,0,D,r,h,d))it!==T&amp;&amp;i(it,T,r,h,d,p),++T;else if(!c(it,P,O,0,R,r,h,d))for(;;){if(c(S,P,O,0,R,r,h,d)){c(S,L,C,0,D,r,h,d)?(o(it,T,S,r,h,d,p),++T,--S):(i(it,S,r,h,d,p),--S);break}if(--S&lt;it)break}s(t,T-1,L,C,z,D,I,r,h,d,p),s(e,S+1,P,O,F,R,N,r,h,d,p),T-2-t&lt;=f?n(t,T-2,r,h,d,p):u(t,T-2,r,h,d,p),e-(S+2)&lt;=f?n(S+2,e,r,h,d,p):u(S+2,e,r,h,d,p),S-T&lt;=f?n(T,S,r,h,d,p):u(T,S,r,h,d,p)}e.exports=function(t,e,r,i,a){a&lt;=4*f?n(0,a-1,t,e,r,i):u(0,a-1,t,e,r,i)};var f=32},{}],534:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,n,i,a,o,s){for(var l=r,c=r;c&lt;n;++c){var u=t[2*c],f=t[2*c+1],h=e[c];i&lt;=u&amp;&amp;u&lt;=o&amp;&amp;a&lt;=f&amp;&amp;f&lt;=s&amp;&amp;(c===l?l+=1:(t[2*c]=t[2*l],t[2*c+1]=t[2*l+1],e[c]=e[l],t[2*l]=u,t[2*l+1]=f,e[l]=h,l+=1))}return l}function i(t,e,r){this.pixelSize=t,this.offset=e,this.count=r}var a=t(&quot;./lib/sort&quot;),o=t(&quot;array-bounds&quot;);e.exports=function(t,e,r,s){function l(i,a,o,s,c,u){var f=.5*o,h=s+1,d=c-s;r[b]=d,x[b++]=u;for(var p=0;p&lt;2;++p)for(var m=0;m&lt;2;++m){var g=i+p*f,v=a+m*f,y=n(t,e,h,c,g,v,g+f,v+f);if(y!==h){if(y-h&gt;=Math.max(.9*d,32)){var _=c+s&gt;&gt;&gt;1;l(g,v,f,h,_,u+1),h=_}l(g,v,f,h,y,u+1),h=y}}}var c=t.length&gt;&gt;&gt;1;if(c&lt;1)return[];e||(e=Array(c)),r||(r=Array(c)),s||(s=[]);for(var u=0;u&lt;c;++u)e[u]=u;if(!s.length||s.length&lt;4||s[0]&gt;=s[2]||s[1]&gt;=s[3]){var f=o(t,2);f[0]===f[2]&amp;&amp;(f[2]+=1),f[1]===f[3]&amp;&amp;(f[3]+=1),s[0]=f[0],s[1]=f[1],s[2]=f[2],s[3]=f[3]}var h=s[0],d=s[1],p=s[2],m=s[3],g=1/(p-h),v=1/(m-d),y=Math.max(p-h,m-d),x=new Int32Array(c),b=0;l(h,d,y,0,c,0),a(x,t,e,r,c);var _=[],w=0,M=c;for(b=c-1;b&gt;=0;--b){t[2*b]=(t[2*b]-h)*g,t[2*b+1]=(t[2*b+1]-d)*v;var k=x[b];k!==w&amp;&amp;(_.push(new i(y*Math.pow(.5,k),b+1,M-(b+1))),M=b+1,w=k)}return _.push(new i(y*Math.pow(.5,k+1),0,M)),_}},{&quot;./lib/sort&quot;:533,&quot;array-bounds&quot;:48}],535:[function(t,e,r){&quot;use strict&quot;;function n(t,e){var r=o(a(t,e),[e[e.length-1]]);return r[r.length-1]}function i(t,e,r,n){var i=-e/(n-e);i&lt;0?i=0:i&gt;1&amp;&amp;(i=1);for(var a=1-i,o=t.length,s=new Array(o),l=0;l&lt;o;++l)s[l]=i*t[l]+a*r[l];return s}var a=t(&quot;robust-dot-product&quot;),o=t(&quot;robust-sum&quot;);e.exports=function(t,e){for(var r=[],a=[],o=n(t[t.length-1],e),s=t[t.length-1],l=t[0],c=0;c&lt;t.length;++c,s=l){var u=n(l=t[c],e);if(o&lt;0&amp;&amp;u&gt;0||o&gt;0&amp;&amp;u&lt;0){var f=i(s,u,l,o);r.push(f),a.push(f.slice())}u&lt;0?a.push(l.slice()):u&gt;0?r.push(l.slice()):(r.push(l.slice()),a.push(l.slice())),o=u}return{positive:r,negative:a}},e.exports.positive=function(t,e){for(var r=[],a=n(t[t.length-1],e),o=t[t.length-1],s=t[0],l=0;l&lt;t.length;++l,o=s){var c=n(s=t[l],e);(a&lt;0&amp;&amp;c&gt;0||a&gt;0&amp;&amp;c&lt;0)&amp;&amp;r.push(i(o,c,s,a)),c&gt;=0&amp;&amp;r.push(s.slice()),a=c}return r},e.exports.negative=function(t,e){for(var r=[],a=n(t[t.length-1],e),o=t[t.length-1],s=t[0],l=0;l&lt;t.length;++l,o=s){var c=n(s=t[l],e);(a&lt;0&amp;&amp;c&gt;0||a&gt;0&amp;&amp;c&lt;0)&amp;&amp;r.push(i(o,c,s,a)),c&lt;=0&amp;&amp;r.push(s.slice()),a=c}return r}},{&quot;robust-dot-product&quot;:512,&quot;robust-sum&quot;:520}],536:[function(t,e,r){!function(t){function e(){var t=arguments[0],r=e.cache;return r[t]&amp;&amp;r.hasOwnProperty(t)||(r[t]=e.parse(t)),e.format.call(null,r[t],arguments)}function n(t){return Object.prototype.toString.call(t).slice(8,-1).toLowerCase()}var i={not_string:/[^s]/,number:/[diefg]/,json:/[j]/,not_json:/[^j]/,text:/^[^\x25]+/,modulo:/^\x25{2}/,placeholder:/^\x25(?:([1-9]\d*)\$|\(([^\)]+)\))?(\+)?(0|'[^$])?(-)?(\d+)?(?:\.(\d+))?([b-gijosuxX])/,key:/^([a-z_][a-z_\d]*)/i,key_access:/^\.([a-z_][a-z_\d]*)/i,index_access:/^\[(\d+)\]/,sign:/^[\+\-]/};e.format=function(t,r){var a,o,s,l,c,u,f,h=1,d=t.length,p=&quot;&quot;,m=[],g=!0,v=&quot;&quot;;for(o=0;o&lt;d;o++)if(&quot;string&quot;===(p=n(t[o])))m[m.length]=t[o];else if(&quot;array&quot;===p){if((l=t[o])[2])for(a=r[h],s=0;s&lt;l[2].length;s++){if(!a.hasOwnProperty(l[2][s]))throw new Error(e(&quot;[sprintf] property '%s' does not exist&quot;,l[2][s]));a=a[l[2][s]]}else a=l[1]?r[l[1]]:r[h++];if(&quot;function&quot;==n(a)&amp;&amp;(a=a()),i.not_string.test(l[8])&amp;&amp;i.not_json.test(l[8])&amp;&amp;&quot;number&quot;!=n(a)&amp;&amp;isNaN(a))throw new TypeError(e(&quot;[sprintf] expecting number but found %s&quot;,n(a)));switch(i.number.test(l[8])&amp;&amp;(g=a&gt;=0),l[8]){case&quot;b&quot;:a=a.toString(2);break;case&quot;c&quot;:a=String.fromCharCode(a);break;case&quot;d&quot;:case&quot;i&quot;:a=parseInt(a,10);break;case&quot;j&quot;:a=JSON.stringify(a,null,l[6]?parseInt(l[6]):0);break;case&quot;e&quot;:a=l[7]?a.toExponential(l[7]):a.toExponential();break;case&quot;f&quot;:a=l[7]?parseFloat(a).toFixed(l[7]):parseFloat(a);break;case&quot;g&quot;:a=l[7]?parseFloat(a).toPrecision(l[7]):parseFloat(a);break;case&quot;o&quot;:a=a.toString(8);break;case&quot;s&quot;:a=(a=String(a))&amp;&amp;l[7]?a.substring(0,l[7]):a;break;case&quot;u&quot;:a&gt;&gt;&gt;=0;break;case&quot;x&quot;:a=a.toString(16);break;case&quot;X&quot;:a=a.toString(16).toUpperCase()}i.json.test(l[8])?m[m.length]=a:(!i.number.test(l[8])||g&amp;&amp;!l[3]?v=&quot;&quot;:(v=g?&quot;+&quot;:&quot;-&quot;,a=a.toString().replace(i.sign,&quot;&quot;)),u=l[4]?&quot;0&quot;===l[4]?&quot;0&quot;:l[4].charAt(1):&quot; &quot;,f=l[6]-(v+a).length,c=l[6]&amp;&amp;f&gt;0?function(t,e){return Array(e+1).join(t)}(u,f):&quot;&quot;,m[m.length]=l[5]?v+a+c:&quot;0&quot;===u?v+c+a:c+v+a)}return m.join(&quot;&quot;)},e.cache={},e.parse=function(t){for(var e=t,r=[],n=[],a=0;e;){if(null!==(r=i.text.exec(e)))n[n.length]=r[0];else if(null!==(r=i.modulo.exec(e)))n[n.length]=&quot;%&quot;;else{if(null===(r=i.placeholder.exec(e)))throw new SyntaxError(&quot;[sprintf] unexpected placeholder&quot;);if(r[2]){a|=1;var o=[],s=r[2],l=[];if(null===(l=i.key.exec(s)))throw new SyntaxError(&quot;[sprintf] failed to parse named argument key&quot;);for(o[o.length]=l[1];&quot;&quot;!==(s=s.substring(l[0].length));)if(null!==(l=i.key_access.exec(s)))o[o.length]=l[1];else{if(null===(l=i.index_access.exec(s)))throw new SyntaxError(&quot;[sprintf] failed to parse named argument key&quot;);o[o.length]=l[1]}r[2]=o}else a|=2;if(3===a)throw new Error(&quot;[sprintf] mixing positional and named placeholders is not (yet) supported&quot;);n[n.length]=r}e=e.substring(r[0].length)}return n};var a=function(t,r,n){return(n=(r||[]).slice(0)).splice(0,0,t),e.apply(null,n)};void 0!==r?(r.sprintf=e,r.vsprintf=a):(t.sprintf=e,t.vsprintf=a)}(&quot;undefined&quot;==typeof window?this:window)},{}],537:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t){function e(e){var r=[e],c=[e];for(n[e]=i[e]=u,a[e]=!0,u+=1;c.length&gt;0;){e=c[c.length-1];var d=t[e];if(o[e]&lt;d.length){for(var p=o[e];p&lt;d.length;++p){var m=d[p];if(n[m]&lt;0){n[m]=i[m]=u,a[m]=!0,u+=1,r.push(m),c.push(m);break}a[m]&amp;&amp;(i[e]=0|Math.min(i[e],i[m])),s[m]&gt;=0&amp;&amp;l[e].push(s[m])}o[e]=p}else{if(i[e]===n[e]){var g=[],v=[],y=0;for(p=r.length-1;p&gt;=0;--p){var x=r[p];if(a[x]=!1,g.push(x),v.push(l[x]),y+=l[x].length,s[x]=f.length,x===e){r.length=p;break}}f.push(g);var b=new Array(y);for(p=0;p&lt;v.length;p++)for(var _=0;_&lt;v[p].length;_++)b[--y]=v[p][_];h.push(b)}c.pop()}}}for(var r=t.length,n=new Array(r),i=new Array(r),a=new Array(r),o=new Array(r),s=new Array(r),l=new Array(r),c=0;c&lt;r;++c)n[c]=-1,i[c]=0,a[c]=!1,o[c]=0,s[c]=-1,l[c]=[];var u=0,f=[],h=[];for(c=0;c&lt;r;++c)n[c]&lt;0&amp;&amp;e(c);var d;for(c=0;c&lt;h.length;c++){var p=h[c];if(0!==p.length){p.sort(function(t,e){return t-e}),d=[p[0]];for(var m=1;m&lt;p.length;m++)p[m]!==p[m-1]&amp;&amp;d.push(p[m]);h[c]=d}}return{components:f,adjacencyList:h}}},{}],538:[function(t,e,r){&quot;use strict&quot;;function n(t){this.options=c(Object.create(this.options),t),this.trees=new Array(this.options.maxZoom+1)}function i(t,e){var r=t.geometry.coordinates;return{x:s(r[0]),y:l(r[1]),zoom:1/0,id:e,parentId:-1}}function a(t){return{type:&quot;Feature&quot;,properties:o(t),geometry:{type:&quot;Point&quot;,coordinates:[function(t){return 360*(t-.5)}(t.x),function(t){var e=(180-360*t)*Math.PI/180;return 360*Math.atan(Math.exp(e))/Math.PI-90}(t.y)]}}}function o(t){var e=t.numPoints,r=e&gt;=1e4?Math.round(e/1e3)+&quot;k&quot;:e&gt;=1e3?Math.round(e/100)/10+&quot;k&quot;:e;return c(c({},t.properties),{cluster:!0,cluster_id:t.id,point_count:e,point_count_abbreviated:r})}function s(t){return t/360+.5}function l(t){var e=Math.sin(t*Math.PI/180),r=.5-.25*Math.log((1+e)/(1-e))/Math.PI;return r&lt;0?0:r&gt;1?1:r}function c(t,e){for(var r in e)t[r]=e[r];return t}function u(t){return t.x}function f(t){return t.y}var h=t(&quot;kdbush&quot;);e.exports=function(t){return new n(t)},n.prototype={options:{minZoom:0,maxZoom:16,radius:40,extent:512,nodeSize:64,log:!1,reduce:null,initial:function(){return{}},map:function(t){return t}},load:function(t){var e=this.options.log;e&amp;&amp;console.time(&quot;total time&quot;);var r=&quot;prepare &quot;+t.length+&quot; points&quot;;e&amp;&amp;console.time(r),this.points=t;var n=t.map(i);e&amp;&amp;console.timeEnd(r);for(var a=this.options.maxZoom;a&gt;=this.options.minZoom;a--){var o=+Date.now();this.trees[a+1]=h(n,u,f,this.options.nodeSize,Float32Array),n=this._cluster(n,a),e&amp;&amp;console.log(&quot;z%d: %d clusters in %dms&quot;,a,n.length,+Date.now()-o)}return this.trees[this.options.minZoom]=h(n,u,f,this.options.nodeSize,Float32Array),e&amp;&amp;console.timeEnd(&quot;total time&quot;),this},getClusters:function(t,e){for(var r=this.trees[this._limitZoom(e)],n=r.range(s(t[0]),l(t[3]),s(t[2]),l(t[1])),i=[],o=0;o&lt;n.length;o++){var c=r.points[n[o]];i.push(c.numPoints?a(c):this.points[c.id])}return i},getChildren:function(t,e){for(var r=this.trees[e+1].points[t],n=this.options.radius/(this.options.extent*Math.pow(2,e)),i=this.trees[e+1].within(r.x,r.y,n),o=[],s=0;s&lt;i.length;s++){var l=this.trees[e+1].points[i[s]];l.parentId===t&amp;&amp;o.push(l.numPoints?a(l):this.points[l.id])}return o},getLeaves:function(t,e,r,n){r=r||10,n=n||0;var i=[];return this._appendLeaves(i,t,e,r,n,0),i},getTile:function(t,e,r){var n=this.trees[this._limitZoom(t)],i=Math.pow(2,t),a=this.options.extent,o=this.options.radius/a,s=(r-o)/i,l=(r+1+o)/i,c={features:[]};return this._addTileFeatures(n.range((e-o)/i,s,(e+1+o)/i,l),n.points,e,r,i,c),0===e&amp;&amp;this._addTileFeatures(n.range(1-o/i,s,1,l),n.points,i,r,i,c),e===i-1&amp;&amp;this._addTileFeatures(n.range(0,s,o/i,l),n.points,-1,r,i,c),c.features.length?c:null},getClusterExpansionZoom:function(t,e){for(;e&lt;this.options.maxZoom;){var r=this.getChildren(t,e);if(e++,1!==r.length)break;t=r[0].properties.cluster_id}return e},_appendLeaves:function(t,e,r,n,i,a){for(var o=this.getChildren(e,r),s=0;s&lt;o.length;s++){var l=o[s].properties;if(l.cluster?a+l.point_count&lt;=i?a+=l.point_count:a=this._appendLeaves(t,l.cluster_id,r+1,n,i,a):a&lt;i?a++:t.push(o[s]),t.length===n)break}return a},_addTileFeatures:function(t,e,r,n,i,a){for(var s=0;s&lt;t.length;s++){var l=e[t[s]];a.features.push({type:1,geometry:[[Math.round(this.options.extent*(l.x*i-r)),Math.round(this.options.extent*(l.y*i-n))]],tags:l.numPoints?o(l):this.points[l.id].properties})}},_limitZoom:function(t){return Math.max(this.options.minZoom,Math.min(t,this.options.maxZoom+1))},_cluster:function(t,e){for(var r=[],n=this.options.radius/(this.options.extent*Math.pow(2,e)),i=0;i&lt;t.length;i++){var a=t[i];if(!(a.zoom&lt;=e)){a.zoom=e;var o=this.trees[e+1],s=o.within(a.x,a.y,n),l=a.numPoints||1,c=a.x*l,u=a.y*l,f=null;this.options.reduce&amp;&amp;(f=this.options.initial(),this._accumulate(f,a));for(var h=0;h&lt;s.length;h++){var d=o.points[s[h]];if(e&lt;d.zoom){var p=d.numPoints||1;d.zoom=e,c+=d.x*p,u+=d.y*p,l+=p,d.parentId=i,this.options.reduce&amp;&amp;this._accumulate(f,d)}}1===l?r.push(a):(a.parentId=i,r.push(function(t,e,r,n,i){return{x:t,y:e,zoom:1/0,id:n,properties:i,parentId:-1,numPoints:r}}(c/l,u/l,l,i,f)))}}return r},_accumulate:function(t,e){var r=e.numPoints?e.properties:this.options.map(this.points[e.id].properties);this.options.reduce(t,r)}}},{kdbush:288}],539:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t){return t.split(&quot;&quot;).map(function(t){return t in n?n[t]:&quot;&quot;}).join(&quot;&quot;)};var n={&quot; &quot;:&quot; &quot;,0:&quot;\u2070&quot;,1:&quot;\xb9&quot;,2:&quot;\xb2&quot;,3:&quot;\xb3&quot;,4:&quot;\u2074&quot;,5:&quot;\u2075&quot;,6:&quot;\u2076&quot;,7:&quot;\u2077&quot;,8:&quot;\u2078&quot;,9:&quot;\u2079&quot;,&quot;+&quot;:&quot;\u207a&quot;,&quot;-&quot;:&quot;\u207b&quot;,a:&quot;\u1d43&quot;,b:&quot;\u1d47&quot;,c:&quot;\u1d9c&quot;,d:&quot;\u1d48&quot;,e:&quot;\u1d49&quot;,f:&quot;\u1da0&quot;,g:&quot;\u1d4d&quot;,h:&quot;\u02b0&quot;,i:&quot;\u2071&quot;,j:&quot;\u02b2&quot;,k:&quot;\u1d4f&quot;,l:&quot;\u02e1&quot;,m:&quot;\u1d50&quot;,n:&quot;\u207f&quot;,o:&quot;\u1d52&quot;,p:&quot;\u1d56&quot;,r:&quot;\u02b3&quot;,s:&quot;\u02e2&quot;,t:&quot;\u1d57&quot;,u:&quot;\u1d58&quot;,v:&quot;\u1d5b&quot;,w:&quot;\u02b7&quot;,x:&quot;\u02e3&quot;,y:&quot;\u02b8&quot;,z:&quot;\u1dbb&quot;}},{}],540:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t,e){if(t.dimension&lt;=0)return{positions:[],cells:[]};if(1===t.dimension)return function(t,e){for(var r=a(t,e),n=r.length,i=new Array(n),o=new Array(n),s=0;s&lt;n;++s)i[s]=[r[s]],o[s]=[s];return{positions:i,cells:o}}(t,e);var r=t.order.join()+&quot;-&quot;+t.dtype,s=o[r];return e=+e||0,s||(s=o[r]=function(t,e){var r=t.length,a=[&quot;'use strict';&quot;],o=&quot;surfaceNets&quot;+t.join(&quot;_&quot;)+&quot;d&quot;+e;a.push(&quot;var contour=genContour({&quot;,&quot;order:[&quot;,t.join(),&quot;],&quot;,&quot;scalarArguments: 3,&quot;,&quot;phase:function phaseFunc(p,a,b,c) { return (p &gt; c)|0 },&quot;),&quot;generic&quot;===e&amp;&amp;a.push(&quot;getters:[0],&quot;);for(var s=[],l=[],c=0;c&lt;r;++c)s.push(&quot;d&quot;+c),l.push(&quot;d&quot;+c);for(c=0;c&lt;1&lt;&lt;r;++c)s.push(&quot;v&quot;+c),l.push(&quot;v&quot;+c);for(c=0;c&lt;1&lt;&lt;r;++c)s.push(&quot;p&quot;+c),l.push(&quot;p&quot;+c);s.push(&quot;a&quot;,&quot;b&quot;,&quot;c&quot;),l.push(&quot;a&quot;,&quot;c&quot;),a.push(&quot;vertex:function vertexFunc(&quot;,s.join(),&quot;){&quot;);var u=[];for(c=0;c&lt;1&lt;&lt;r;++c)u.push(&quot;(p&quot;+c+&quot;&lt;&lt;&quot;+c+&quot;)&quot;);a.push(&quot;var m=(&quot;,u.join(&quot;+&quot;),&quot;)|0;if(m===0||m===&quot;,(1&lt;&lt;(1&lt;&lt;r))-1,&quot;){return}&quot;);var f=[],h=[];for(1&lt;&lt;(1&lt;&lt;r)&lt;=128?(a.push(&quot;switch(m){&quot;),h=a):a.push(&quot;switch(m&gt;&gt;&gt;7){&quot;),c=0;c&lt;1&lt;&lt;(1&lt;&lt;r);++c){if(1&lt;&lt;(1&lt;&lt;r)&gt;128&amp;&amp;c%128==0){f.length&gt;0&amp;&amp;h.push(&quot;}}&quot;);var d=&quot;vExtra&quot;+f.length;a.push(&quot;case &quot;,c&gt;&gt;&gt;7,&quot;:&quot;,d,&quot;(m&amp;0x7f,&quot;,l.join(),&quot;);break;&quot;),h=[&quot;function &quot;,d,&quot;(m,&quot;,l.join(),&quot;){switch(m){&quot;],f.push(h)}h.push(&quot;case &quot;,127&amp;c,&quot;:&quot;);for(var p=new Array(r),m=new Array(r),g=new Array(r),v=new Array(r),y=0,x=0;x&lt;r;++x)p[x]=[],m[x]=[],g[x]=0,v[x]=0;for(x=0;x&lt;1&lt;&lt;r;++x)for(var b=0;b&lt;r;++b){var _=x^1&lt;&lt;b;if(!(_&gt;x)&amp;&amp;!(c&amp;1&lt;&lt;_)!=!(c&amp;1&lt;&lt;x)){var w=1;c&amp;1&lt;&lt;_?m[b].push(&quot;v&quot;+_+&quot;-v&quot;+x):(m[b].push(&quot;v&quot;+x+&quot;-v&quot;+_),w=-w),w&lt;0?(p[b].push(&quot;-v&quot;+x+&quot;-v&quot;+_),g[b]+=2):(p[b].push(&quot;v&quot;+x+&quot;+v&quot;+_),g[b]-=2),y+=1;for(var M=0;M&lt;r;++M)M!==b&amp;&amp;(_&amp;1&lt;&lt;M?v[M]+=1:v[M]-=1)}}var k=[];for(b=0;b&lt;r;++b)if(0===p[b].length)k.push(&quot;d&quot;+b+&quot;-0.5&quot;);else{var A=&quot;&quot;;g[b]&lt;0?A=g[b]+&quot;*c&quot;:g[b]&gt;0&amp;&amp;(A=&quot;+&quot;+g[b]+&quot;*c&quot;);var T=p[b].length/y*.5,S=.5+v[b]/y*.5;k.push(&quot;d&quot;+b+&quot;-&quot;+S+&quot;-&quot;+T+&quot;*(&quot;+p[b].join(&quot;+&quot;)+A+&quot;)/(&quot;+m[b].join(&quot;+&quot;)+&quot;)&quot;)}h.push(&quot;a.push([&quot;,k.join(),&quot;]);&quot;,&quot;break;&quot;)}a.push(&quot;}},&quot;),f.length&gt;0&amp;&amp;h.push(&quot;}}&quot;);var E=[];for(c=0;c&lt;1&lt;&lt;r-1;++c)E.push(&quot;v&quot;+c);E.push(&quot;c0&quot;,&quot;c1&quot;,&quot;p0&quot;,&quot;p1&quot;,&quot;a&quot;,&quot;b&quot;,&quot;c&quot;),a.push(&quot;cell:function cellFunc(&quot;,E.join(),&quot;){&quot;);var L=i(r-1);for(a.push(&quot;if(p0){b.push(&quot;,L.map(function(t){return&quot;[&quot;+t.map(function(t){return&quot;v&quot;+t})+&quot;]&quot;}).join(),&quot;)}else{b.push(&quot;,L.map(function(t){var e=t.slice();return e.reverse(),&quot;[&quot;+e.map(function(t){return&quot;v&quot;+t})+&quot;]&quot;}).join(),&quot;)}}});function &quot;,o,&quot;(array,level){var verts=[],cells=[];contour(array,verts,cells,level);return {positions:verts,cells:cells};} return &quot;,o,&quot;;&quot;),c=0;c&lt;f.length;++c)a.push(f[c].join(&quot;&quot;));return new Function(&quot;genContour&quot;,a.join(&quot;&quot;))(n)}(t.order,t.dtype)),s(t,e)};var n=t(&quot;ndarray-extract-contour&quot;),i=t(&quot;triangulate-hypercube&quot;),a=t(&quot;zero-crossings&quot;),o={}},{&quot;ndarray-extract-contour&quot;:447,&quot;triangulate-hypercube&quot;:550,&quot;zero-crossings&quot;:598}],541:[function(t,e,r){&quot;use strict&quot;;Object.defineProperty(r,&quot;__esModule&quot;,{value:!0});var n=function(){return 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)&amp;&amp;(r.push(o.value),!e||r.length!==e);n=!0);}catch(t){i=!0,a=t}finally{try{!n&amp;&amp;s.return&amp;&amp;s.return()}finally{if(i)throw a}}return r}(t,e);throw new TypeError(&quot;Invalid attempt to destructure non-iterable instance&quot;)}}(),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=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*n-e*r&lt;0?-1:1,a=(t*r+e*n)/(Math.sqrt(t*t+e*e)*Math.sqrt(t*t+e*e));return a&gt;1&amp;&amp;(a=1),a&lt;-1&amp;&amp;(a=-1),i*Math.acos(a)};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,d=void 0===h?0:h,p=t.largeArcFlag,m=void 0===p?0:p,g=t.sweepFlag,v=void 0===g?0:g,y=[];if(0===u||0===f)return[];var x=Math.sin(d*i/360),b=Math.cos(d*i/360),_=b*(e-l)/2+x*(r-c)/2,w=-x*(e-l)/2+b*(r-c)/2;if(0===_&amp;&amp;0===w)return[];u=Math.abs(u),f=Math.abs(f);var M=Math.pow(_,2)/Math.pow(u,2)+Math.pow(w,2)/Math.pow(f,2);M&gt;1&amp;&amp;(u*=Math.sqrt(M),f*=Math.sqrt(M));var k=function(t,e,r,n,a,o,l,c,u,f,h,d){var p=Math.pow(a,2),m=Math.pow(o,2),g=Math.pow(h,2),v=Math.pow(d,2),y=p*m-p*v-m*g;y&lt;0&amp;&amp;(y=0),y/=p*v+m*g;var x=(y=Math.sqrt(y)*(l===c?-1:1))*a/o*d,b=y*-o/a*h,_=f*x-u*b+(t+r)/2,w=u*x+f*b+(e+n)/2,M=(h-x)/a,k=(d-b)/o,A=(-h-x)/a,T=(-d-b)/o,S=s(1,0,M,k),E=s(M,k,A,T);return 0===c&amp;&amp;E&gt;0&amp;&amp;(E-=i),1===c&amp;&amp;E&lt;0&amp;&amp;(E+=i),[_,w,S,E]}(e,r,l,c,u,f,m,v,x,b,_,w),A=n(k,4),T=A[0],S=A[1],E=A[2],L=A[3],C=Math.max(Math.ceil(Math.abs(L)/(i/4)),1);L/=C;for(var z=0;z&lt;C;z++)y.push(o(E,L)),E+=L;return y.map(function(t){var e=a(t[0],u,f,b,x,T,S),r=e.x,n=e.y,i=a(t[1],u,f,b,x,T,S),o=i.x,s=i.y,l=a(t[2],u,f,b,x,T,S);return{x1:r,y1:n,x2:o,y2:s,x:l.x,y:l.y}})},e.exports=r.default},{}],542:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;parse-svg-path&quot;),i=t(&quot;abs-svg-path&quot;),a=t(&quot;normalize-svg-path&quot;),o=t(&quot;is-svg-path&quot;),s=t(&quot;assert&quot;);e.exports=function(t){if(Array.isArray(t)&amp;&amp;1===t.length&amp;&amp;&quot;string&quot;==typeof t[0]&amp;&amp;(t=t[0]),&quot;string&quot;==typeof t&amp;&amp;(s(o(t),&quot;String is not an SVG path.&quot;),t=n(t)),s(Array.isArray(t),&quot;Argument should be a string or an array of path segments.&quot;),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&lt;l;r++)for(var c=t[r].slice(1),u=0;u&lt;c.length;u+=2)c[u+0]&lt;e[0]&amp;&amp;(e[0]=c[u+0]),c[u+1]&lt;e[1]&amp;&amp;(e[1]=c[u+1]),c[u+0]&gt;e[2]&amp;&amp;(e[2]=c[u+0]),c[u+1]&gt;e[3]&amp;&amp;(e[3]=c[u+1]);return e}},{&quot;abs-svg-path&quot;:43,assert:51,&quot;is-svg-path&quot;:287,&quot;normalize-svg-path&quot;:543,&quot;parse-svg-path&quot;:466}],543:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,n){return[&quot;C&quot;,t,e,r,n,r,n]}function i(t,e,r,n,i,a){return[&quot;C&quot;,t/3+2/3*r,e/3+2/3*n,i/3+2/3*r,a/3+2/3*n,i,a]}e.exports=function(t){for(var e,r=[],o=0,s=0,l=0,c=0,u=null,f=null,h=0,d=0,p=0,m=t.length;p&lt;m;p++){var g=t[p],v=g[0];switch(v){case&quot;M&quot;:l=g[1],c=g[2];break;case&quot;A&quot;:var y=a({px:h,py:d,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&lt;y.length;b++)g=[&quot;C&quot;,(x=y[b]).x1,x.y1,x.x2,x.y2,x.x,x.y],b&lt;y.length-1&amp;&amp;r.push(g);break;case&quot;S&quot;:var _=h,w=d;&quot;C&quot;!=e&amp;&amp;&quot;S&quot;!=e||(_+=_-o,w+=w-s),g=[&quot;C&quot;,_,w,g[1],g[2],g[3],g[4]];break;case&quot;T&quot;:&quot;Q&quot;==e||&quot;T&quot;==e?(u=2*h-u,f=2*d-f):(u=h,f=d),g=i(h,d,u,f,g[1],g[2]);break;case&quot;Q&quot;:u=g[1],f=g[2],g=i(h,d,g[1],g[2],g[3],g[4]);break;case&quot;L&quot;:g=n(h,d,g[1],g[2]);break;case&quot;H&quot;:g=n(h,d,g[1],d);break;case&quot;V&quot;:g=n(h,d,h,g[1]);break;case&quot;Z&quot;:g=n(h,d,l,c)}e=v,h=g[g.length-2],d=g[g.length-1],g.length&gt;4?(o=g[g.length-4],s=g[g.length-3]):(o=h,s=d),r.push(g)}return r};var a=t(&quot;svg-arc-to-cubic-bezier&quot;)},{&quot;svg-arc-to-cubic-bezier&quot;:541}],544:[function(t,e,r){(function(r){&quot;use strict&quot;;var n=t(&quot;svg-path-bounds&quot;),i=t(&quot;parse-svg-path&quot;),a=t(&quot;draw-svg-path&quot;),o=t(&quot;is-svg-path&quot;),s=t(&quot;bitmap-sdf&quot;),l=document.createElement(&quot;canvas&quot;),c=l.getContext(&quot;2d&quot;);e.exports=function(t,e){if(!o(t))throw Error(&quot;Argument should be valid svg path string&quot;);e||(e={});var u,f;e.shape?(u=e.shape[0],f=e.shape[1]):(u=l.width=e.w||e.width||200,f=l.height=e.h||e.height||200);var h=Math.min(u,f),d=e.stroke||0,p=e.viewbox||e.viewBox||n(t),m=[u/(p[2]-p[0]),f/(p[3]-p[1])],g=Math.min(m[0]||0,m[1]||0)/2;if(c.fillStyle=&quot;black&quot;,c.fillRect(0,0,u,f),c.fillStyle=&quot;white&quot;,d&amp;&amp;(&quot;number&quot;!=typeof d&amp;&amp;(d=1),c.strokeStyle=d&gt;0?&quot;white&quot;:&quot;black&quot;,c.lineWidth=Math.abs(d)),c.translate(.5*u,.5*f),c.scale(g,g),r.Path2D){var v=new Path2D(t);c.fill(v),d&amp;&amp;c.stroke(v)}else{var y=i(t);a(c,y),c.fill(),d&amp;&amp;c.stroke()}return c.setTransform(1,0,0,1,0,0),s(c,{cutoff:null!=e.cutoff?e.cutoff:.5,radius:null!=e.radius?e.radius:.5*h})}}).call(this,&quot;undefined&quot;!=typeof global?global:&quot;undefined&quot;!=typeof self?self:&quot;undefined&quot;!=typeof window?window:{})},{&quot;bitmap-sdf&quot;:72,&quot;draw-svg-path&quot;:132,&quot;is-svg-path&quot;:287,&quot;parse-svg-path&quot;:466,&quot;svg-path-bounds&quot;:542}],545:[function(t,e,r){(function(r){&quot;use strict&quot;;function n(t,e,r){r=r||{};var a=o[t];a||(a=o[t]={&quot; &quot;:{data:new Float32Array(0),shape:.2}});var s=a[e];if(!s)if(e.length&lt;=1||!/\d/.test(e))s=a[e]=function(t){for(var e=t.cells,r=t.positions,n=new Float32Array(6*e.length),i=0,a=0,o=0;o&lt;e.length;++o)for(var s=e[o],l=0;l&lt;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}}(i(e,{triangles:!0,font:t,textAlign:r.textAlign||&quot;left&quot;,textBaseline:&quot;alphabetic&quot;}));else{for(var l=e.split(/(\d|\s)/),c=new Array(l.length),u=0,f=0,h=0;h&lt;l.length;++h)c[h]=n(t,l[h]),u+=c[h].data.length,f+=c[h].shape,h&gt;0&amp;&amp;(f+=.02);var d=new Float32Array(u),p=0,m=-.5*f;for(h=0;h&lt;c.length;++h){for(var g=c[h].data,v=0;v&lt;g.length;v+=2)d[p++]=g[v]+m,d[p++]=g[v+1];m+=c[h].shape+.02}s=a[e]={data:d,shape:f}}return s}e.exports=n;var i=t(&quot;vectorize-text&quot;),a=window||r.global||{},o=a.__TEXT_CACHE||{};a.__TEXT_CACHE={}}).call(this,t(&quot;_process&quot;))},{_process:488,&quot;vectorize-text&quot;:568}],546:[function(t,e,r){!function(t){function r(e,n){if(e=e||&quot;&quot;,n=n||{},e instanceof r)return e;if(!(this instanceof r))return new r(e,n);var i=function(e){var r={r:0,g:0,b:0},n=1,i=null,a=null,o=null,s=!1,l=!1;&quot;string&quot;==typeof e&amp;&amp;(e=function(t){t=t.replace(L,&quot;&quot;).replace(C,&quot;&quot;).toLowerCase();var e=!1;if(F[t])t=F[t],e=!0;else if(&quot;transparent&quot;==t)return{r:0,g:0,b:0,a:0,format:&quot;name&quot;};var r;if(r=N.rgb.exec(t))return{r:r[1],g:r[2],b:r[3]};if(r=N.rgba.exec(t))return{r:r[1],g:r[2],b:r[3],a:r[4]};if(r=N.hsl.exec(t))return{h:r[1],s:r[2],l:r[3]};if(r=N.hsla.exec(t))return{h:r[1],s:r[2],l:r[3],a:r[4]};if(r=N.hsv.exec(t))return{h:r[1],s:r[2],v:r[3]};if(r=N.hsva.exec(t))return{h:r[1],s:r[2],v:r[3],a:r[4]};if(r=N.hex8.exec(t))return{r:M(r[1]),g:M(r[2]),b:M(r[3]),a:S(r[4]),format:e?&quot;name&quot;:&quot;hex8&quot;};if(r=N.hex6.exec(t))return{r:M(r[1]),g:M(r[2]),b:M(r[3]),format:e?&quot;name&quot;:&quot;hex&quot;};if(r=N.hex4.exec(t))return{r:M(r[1]+&quot;&quot;+r[1]),g:M(r[2]+&quot;&quot;+r[2]),b:M(r[3]+&quot;&quot;+r[3]),a:S(r[4]+&quot;&quot;+r[4]),format:e?&quot;name&quot;:&quot;hex8&quot;};if(r=N.hex3.exec(t))return{r:M(r[1]+&quot;&quot;+r[1]),g:M(r[2]+&quot;&quot;+r[2]),b:M(r[3]+&quot;&quot;+r[3]),format:e?&quot;name&quot;:&quot;hex&quot;};return!1}(e));&quot;object&quot;==typeof e&amp;&amp;(E(e.r)&amp;&amp;E(e.g)&amp;&amp;E(e.b)?(r=function(t,e,r){return{r:255*_(t,255),g:255*_(e,255),b:255*_(r,255)}}(e.r,e.g,e.b),s=!0,l=&quot;%&quot;===String(e.r).substr(-1)?&quot;prgb&quot;:&quot;rgb&quot;):E(e.h)&amp;&amp;E(e.s)&amp;&amp;E(e.v)?(i=A(e.s),a=A(e.v),r=function(e,r,n){e=6*_(e,360),r=_(r,100),n=_(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,i,a),s=!0,l=&quot;hsv&quot;):E(e.h)&amp;&amp;E(e.s)&amp;&amp;E(e.l)&amp;&amp;(i=A(e.s),o=A(e.l),r=function(t,e,r){function n(t,e,r){return r&lt;0&amp;&amp;(r+=1),r&gt;1&amp;&amp;(r-=1),r&lt;1/6?t+6*(e-t)*r:r&lt;.5?e:r&lt;2/3?t+(e-t)*(2/3-r)*6:t}var i,a,o;t=_(t,360),e=_(e,100),r=_(r,100);if(0===e)i=a=o=r;else{var s=r&lt;.5?r*(1+e):r+e-r*e,l=2*r-s;i=n(l,s,t+1/3),a=n(l,s,t),o=n(l,s,t-1/3)}return{r:255*i,g:255*a,b:255*o}}(e.h,i,o),s=!0,l=&quot;hsl&quot;),e.hasOwnProperty(&quot;a&quot;)&amp;&amp;(n=e.a));return n=b(n),{ok:s,format:e.format||l,r:I(255,P(r.r,0)),g:I(255,P(r.g,0)),b:I(255,P(r.b,0)),a:n}}(e);this._originalInput=e,this._r=i.r,this._g=i.g,this._b=i.b,this._a=i.a,this._roundA=D(100*this._a)/100,this._format=n.format||i.format,this._gradientType=n.gradientType,this._r&lt;1&amp;&amp;(this._r=D(this._r)),this._g&lt;1&amp;&amp;(this._g=D(this._g)),this._b&lt;1&amp;&amp;(this._b=D(this._b)),this._ok=i.ok,this._tc_id=z++}function n(t,e,r){t=_(t,255),e=_(e,255),r=_(r,255);var n,i,a=P(t,e,r),o=I(t,e,r),s=(a+o)/2;if(a==o)n=i=0;else{var l=a-o;switch(i=s&gt;.5?l/(2-a-o):l/(a+o),a){case t:n=(e-r)/l+(e&lt;r?6:0);break;case e:n=(r-t)/l+2;break;case r:n=(t-e)/l+4}n/=6}return{h:n,s:i,l:s}}function i(t,e,r){t=_(t,255),e=_(e,255),r=_(r,255);var n,i,a=P(t,e,r),o=I(t,e,r),s=a-o;if(i=0===a?0:s/a,a==o)n=0;else{switch(a){case t:n=(e-r)/s+(e&lt;r?6:0);break;case e:n=(r-t)/s+2;break;case r:n=(t-e)/s+4}n/=6}return{h:n,s:i,v:a}}function a(t,e,r,n){var i=[k(D(t).toString(16)),k(D(e).toString(16)),k(D(r).toString(16))];return n&amp;&amp;i[0].charAt(0)==i[0].charAt(1)&amp;&amp;i[1].charAt(0)==i[1].charAt(1)&amp;&amp;i[2].charAt(0)==i[2].charAt(1)?i[0].charAt(0)+i[1].charAt(0)+i[2].charAt(0):i.join(&quot;&quot;)}function o(t,e,r,n){return[k(T(n)),k(D(t).toString(16)),k(D(e).toString(16)),k(D(r).toString(16))].join(&quot;&quot;)}function s(t,e){e=0===e?0:e||10;var n=r(t).toHsl();return n.s-=e/100,n.s=w(n.s),r(n)}function l(t,e){e=0===e?0:e||10;var n=r(t).toHsl();return n.s+=e/100,n.s=w(n.s),r(n)}function c(t){return r(t).desaturate(100)}function u(t,e){e=0===e?0:e||10;var n=r(t).toHsl();return n.l+=e/100,n.l=w(n.l),r(n)}function f(t,e){e=0===e?0:e||10;var n=r(t).toRgb();return n.r=P(0,I(255,n.r-D(-e/100*255))),n.g=P(0,I(255,n.g-D(-e/100*255))),n.b=P(0,I(255,n.b-D(-e/100*255))),r(n)}function h(t,e){e=0===e?0:e||10;var n=r(t).toHsl();return n.l-=e/100,n.l=w(n.l),r(n)}function d(t,e){var n=r(t).toHsl(),i=(n.h+e)%360;return n.h=i&lt;0?360+i:i,r(n)}function p(t){var e=r(t).toHsl();return e.h=(e.h+180)%360,r(e)}function m(t){var e=r(t).toHsl(),n=e.h;return[r(t),r({h:(n+120)%360,s:e.s,l:e.l}),r({h:(n+240)%360,s:e.s,l:e.l})]}function g(t){var e=r(t).toHsl(),n=e.h;return[r(t),r({h:(n+90)%360,s:e.s,l:e.l}),r({h:(n+180)%360,s:e.s,l:e.l}),r({h:(n+270)%360,s:e.s,l:e.l})]}function v(t){var e=r(t).toHsl(),n=e.h;return[r(t),r({h:(n+72)%360,s:e.s,l:e.l}),r({h:(n+216)%360,s:e.s,l:e.l})]}function y(t,e,n){e=e||6,n=n||30;var i=r(t).toHsl(),a=360/n,o=[r(t)];for(i.h=(i.h-(a*e&gt;&gt;1)+720)%360;--e;)i.h=(i.h+a)%360,o.push(r(i));return o}function x(t,e){e=e||6;for(var n=r(t).toHsv(),i=n.h,a=n.s,o=n.v,s=[],l=1/e;e--;)s.push(r({h:i,s:a,v:o})),o=(o+l)%1;return s}function b(t){return t=parseFloat(t),(isNaN(t)||t&lt;0||t&gt;1)&amp;&amp;(t=1),t}function _(e,r){(function(t){return&quot;string&quot;==typeof t&amp;&amp;-1!=t.indexOf(&quot;.&quot;)&amp;&amp;1===parseFloat(t)})(e)&amp;&amp;(e=&quot;100%&quot;);var n=function(t){return&quot;string&quot;==typeof t&amp;&amp;-1!=t.indexOf(&quot;%&quot;)}(e);return e=I(r,P(0,parseFloat(e))),n&amp;&amp;(e=parseInt(e*r,10)/100),t.abs(e-r)&lt;1e-6?1:e%r/parseFloat(r)}function w(t){return I(1,P(0,t))}function M(t){return parseInt(t,16)}function k(t){return 1==t.length?&quot;0&quot;+t:&quot;&quot;+t}function A(t){return t&lt;=1&amp;&amp;(t=100*t+&quot;%&quot;),t}function T(e){return t.round(255*parseFloat(e)).toString(16)}function S(t){return M(t)/255}function E(t){return!!N.CSS_UNIT.exec(t)}var L=/^\s+/,C=/\s+$/,z=0,D=t.round,I=t.min,P=t.max,O=t.random;r.prototype={isDark:function(){return this.getBrightness()&lt;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,a,o,s=this.toRgb();return e=s.r/255,r=s.g/255,n=s.b/255,i=e&lt;=.03928?e/12.92:t.pow((e+.055)/1.055,2.4),a=r&lt;=.03928?r/12.92:t.pow((r+.055)/1.055,2.4),o=n&lt;=.03928?n/12.92:t.pow((n+.055)/1.055,2.4),.2126*i+.7152*a+.0722*o},setAlpha:function(t){return this._a=b(t),this._roundA=D(100*this._a)/100,this},toHsv:function(){var t=i(this._r,this._g,this._b);return{h:360*t.h,s:t.s,v:t.v,a:this._a}},toHsvString:function(){var t=i(this._r,this._g,this._b),e=D(360*t.h),r=D(100*t.s),n=D(100*t.v);return 1==this._a?&quot;hsv(&quot;+e+&quot;, &quot;+r+&quot;%, &quot;+n+&quot;%)&quot;:&quot;hsva(&quot;+e+&quot;, &quot;+r+&quot;%, &quot;+n+&quot;%, &quot;+this._roundA+&quot;)&quot;},toHsl:function(){var t=n(this._r,this._g,this._b);return{h:360*t.h,s:t.s,l:t.l,a:this._a}},toHslString:function(){var t=n(this._r,this._g,this._b),e=D(360*t.h),r=D(100*t.s),i=D(100*t.l);return 1==this._a?&quot;hsl(&quot;+e+&quot;, &quot;+r+&quot;%, &quot;+i+&quot;%)&quot;:&quot;hsla(&quot;+e+&quot;, &quot;+r+&quot;%, &quot;+i+&quot;%, &quot;+this._roundA+&quot;)&quot;},toHex:function(t){return a(this._r,this._g,this._b,t)},toHexString:function(t){return&quot;#&quot;+this.toHex(t)},toHex8:function(t){return function(t,e,r,n,i){var a=[k(D(t).toString(16)),k(D(e).toString(16)),k(D(r).toString(16)),k(T(n))];return i&amp;&amp;a[0].charAt(0)==a[0].charAt(1)&amp;&amp;a[1].charAt(0)==a[1].charAt(1)&amp;&amp;a[2].charAt(0)==a[2].charAt(1)&amp;&amp;a[3].charAt(0)==a[3].charAt(1)?a[0].charAt(0)+a[1].charAt(0)+a[2].charAt(0)+a[3].charAt(0):a.join(&quot;&quot;)}(this._r,this._g,this._b,this._a,t)},toHex8String:function(t){return&quot;#&quot;+this.toHex8(t)},toRgb:function(){return{r:D(this._r),g:D(this._g),b:D(this._b),a:this._a}},toRgbString:function(){return 1==this._a?&quot;rgb(&quot;+D(this._r)+&quot;, &quot;+D(this._g)+&quot;, &quot;+D(this._b)+&quot;)&quot;:&quot;rgba(&quot;+D(this._r)+&quot;, &quot;+D(this._g)+&quot;, &quot;+D(this._b)+&quot;, &quot;+this._roundA+&quot;)&quot;},toPercentageRgb:function(){return{r:D(100*_(this._r,255))+&quot;%&quot;,g:D(100*_(this._g,255))+&quot;%&quot;,b:D(100*_(this._b,255))+&quot;%&quot;,a:this._a}},toPercentageRgbString:function(){return 1==this._a?&quot;rgb(&quot;+D(100*_(this._r,255))+&quot;%, &quot;+D(100*_(this._g,255))+&quot;%, &quot;+D(100*_(this._b,255))+&quot;%)&quot;:&quot;rgba(&quot;+D(100*_(this._r,255))+&quot;%, &quot;+D(100*_(this._g,255))+&quot;%, &quot;+D(100*_(this._b,255))+&quot;%, &quot;+this._roundA+&quot;)&quot;},toName:function(){return 0===this._a?&quot;transparent&quot;:!(this._a&lt;1)&amp;&amp;(R[a(this._r,this._g,this._b,!0)]||!1)},toFilter:function(t){var e=&quot;#&quot;+o(this._r,this._g,this._b,this._a),n=e,i=this._gradientType?&quot;GradientType = 1, &quot;:&quot;&quot;;if(t){var a=r(t);n=&quot;#&quot;+o(a._r,a._g,a._b,a._a)}return&quot;progid:DXImageTransform.Microsoft.gradient(&quot;+i+&quot;startColorstr=&quot;+e+&quot;,endColorstr=&quot;+n+&quot;)&quot;},toString:function(t){var e=!!t;t=t||this._format;var r=!1,n=this._a&lt;1&amp;&amp;this._a&gt;=0;return e||!n||&quot;hex&quot;!==t&amp;&amp;&quot;hex6&quot;!==t&amp;&amp;&quot;hex3&quot;!==t&amp;&amp;&quot;hex4&quot;!==t&amp;&amp;&quot;hex8&quot;!==t&amp;&amp;&quot;name&quot;!==t?(&quot;rgb&quot;===t&amp;&amp;(r=this.toRgbString()),&quot;prgb&quot;===t&amp;&amp;(r=this.toPercentageRgbString()),&quot;hex&quot;!==t&amp;&amp;&quot;hex6&quot;!==t||(r=this.toHexString()),&quot;hex3&quot;===t&amp;&amp;(r=this.toHexString(!0)),&quot;hex4&quot;===t&amp;&amp;(r=this.toHex8String(!0)),&quot;hex8&quot;===t&amp;&amp;(r=this.toHex8String()),&quot;name&quot;===t&amp;&amp;(r=this.toName()),&quot;hsl&quot;===t&amp;&amp;(r=this.toHslString()),&quot;hsv&quot;===t&amp;&amp;(r=this.toHsvString()),r||this.toHexString()):&quot;name&quot;===t&amp;&amp;0===this._a?this.toName():this.toRgbString()},clone:function(){return r(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(u,arguments)},brighten:function(){return this._applyModification(f,arguments)},darken:function(){return this._applyModification(h,arguments)},desaturate:function(){return this._applyModification(s,arguments)},saturate:function(){return this._applyModification(l,arguments)},greyscale:function(){return this._applyModification(c,arguments)},spin:function(){return this._applyModification(d,arguments)},_applyCombination:function(t,e){return t.apply(null,[this].concat([].slice.call(e)))},analogous:function(){return this._applyCombination(y,arguments)},complement:function(){return this._applyCombination(p,arguments)},monochromatic:function(){return this._applyCombination(x,arguments)},splitcomplement:function(){return this._applyCombination(v,arguments)},triad:function(){return this._applyCombination(m,arguments)},tetrad:function(){return this._applyCombination(g,arguments)}},r.fromRatio=function(t,e){if(&quot;object&quot;==typeof t){var n={};for(var i in t)t.hasOwnProperty(i)&amp;&amp;(n[i]=&quot;a&quot;===i?t[i]:A(t[i]));t=n}return r(t,e)},r.equals=function(t,e){return!(!t||!e)&amp;&amp;r(t).toRgbString()==r(e).toRgbString()},r.random=function(){return r.fromRatio({r:O(),g:O(),b:O()})},r.mix=function(t,e,n){n=0===n?0:n||50;var i=r(t).toRgb(),a=r(e).toRgb(),o=n/100;return r({r:(a.r-i.r)*o+i.r,g:(a.g-i.g)*o+i.g,b:(a.b-i.b)*o+i.b,a:(a.a-i.a)*o+i.a})},r.readability=function(e,n){var i=r(e),a=r(n);return(t.max(i.getLuminance(),a.getLuminance())+.05)/(t.min(i.getLuminance(),a.getLuminance())+.05)},r.isReadable=function(t,e,n){var i,a,o=r.readability(t,e);switch(a=!1,(i=function(t){var e,r;return t=t||{level:&quot;AA&quot;,size:&quot;small&quot;},e=(t.level||&quot;AA&quot;).toUpperCase(),r=(t.size||&quot;small&quot;).toLowerCase(),&quot;AA&quot;!==e&amp;&amp;&quot;AAA&quot;!==e&amp;&amp;(e=&quot;AA&quot;),&quot;small&quot;!==r&amp;&amp;&quot;large&quot;!==r&amp;&amp;(r=&quot;small&quot;),{level:e,size:r}}(n)).level+i.size){case&quot;AAsmall&quot;:case&quot;AAAlarge&quot;:a=o&gt;=4.5;break;case&quot;AAlarge&quot;:a=o&gt;=3;break;case&quot;AAAsmall&quot;:a=o&gt;=7}return a},r.mostReadable=function(t,e,n){var i,a,o,s,l=null,c=0;a=(n=n||{}).includeFallbackColors,o=n.level,s=n.size;for(var u=0;u&lt;e.length;u++)(i=r.readability(t,e[u]))&gt;c&amp;&amp;(c=i,l=r(e[u]));return r.isReadable(t,l,{level:o,size:s})||!a?l:(n.includeFallbackColors=!1,r.mostReadable(t,[&quot;#fff&quot;,&quot;#000&quot;],n))};var F=r.names={aliceblue:&quot;f0f8ff&quot;,antiquewhite:&quot;faebd7&quot;,aqua:&quot;0ff&quot;,aquamarine:&quot;7fffd4&quot;,azure:&quot;f0ffff&quot;,beige:&quot;f5f5dc&quot;,bisque:&quot;ffe4c4&quot;,black:&quot;000&quot;,blanchedalmond:&quot;ffebcd&quot;,blue:&quot;00f&quot;,blueviolet:&quot;8a2be2&quot;,brown:&quot;a52a2a&quot;,burlywood:&quot;deb887&quot;,burntsienna:&quot;ea7e5d&quot;,cadetblue:&quot;5f9ea0&quot;,chartreuse:&quot;7fff00&quot;,chocolate:&quot;d2691e&quot;,coral:&quot;ff7f50&quot;,cornflowerblue:&quot;6495ed&quot;,cornsilk:&quot;fff8dc&quot;,crimson:&quot;dc143c&quot;,cyan:&quot;0ff&quot;,darkblue:&quot;00008b&quot;,darkcyan:&quot;008b8b&quot;,darkgoldenrod:&quot;b8860b&quot;,darkgray:&quot;a9a9a9&quot;,darkgreen:&quot;006400&quot;,darkgrey:&quot;a9a9a9&quot;,darkkhaki:&quot;bdb76b&quot;,darkmagenta:&quot;8b008b&quot;,darkolivegreen:&quot;556b2f&quot;,darkorange:&quot;ff8c00&quot;,darkorchid:&quot;9932cc&quot;,darkred:&quot;8b0000&quot;,darksalmon:&quot;e9967a&quot;,darkseagreen:&quot;8fbc8f&quot;,darkslateblue:&quot;483d8b&quot;,darkslategray:&quot;2f4f4f&quot;,darkslategrey:&quot;2f4f4f&quot;,darkturquoise:&quot;00ced1&quot;,darkviolet:&quot;9400d3&quot;,deeppink:&quot;ff1493&quot;,deepskyblue:&quot;00bfff&quot;,dimgray:&quot;696969&quot;,dimgrey:&quot;696969&quot;,dodgerblue:&quot;1e90ff&quot;,firebrick:&quot;b22222&quot;,floralwhite:&quot;fffaf0&quot;,forestgreen:&quot;228b22&quot;,fuchsia:&quot;f0f&quot;,gainsboro:&quot;dcdcdc&quot;,ghostwhite:&quot;f8f8ff&quot;,gold:&quot;ffd700&quot;,goldenrod:&quot;daa520&quot;,gray:&quot;808080&quot;,green:&quot;008000&quot;,greenyellow:&quot;adff2f&quot;,grey:&quot;808080&quot;,honeydew:&quot;f0fff0&quot;,hotpink:&quot;ff69b4&quot;,indianred:&quot;cd5c5c&quot;,indigo:&quot;4b0082&quot;,ivory:&quot;fffff0&quot;,khaki:&quot;f0e68c&quot;,lavender:&quot;e6e6fa&quot;,lavenderblush:&quot;fff0f5&quot;,lawngreen:&quot;7cfc00&quot;,lemonchiffon:&quot;fffacd&quot;,lightblue:&quot;add8e6&quot;,lightcoral:&quot;f08080&quot;,lightcyan:&quot;e0ffff&quot;,lightgoldenrodyellow:&quot;fafad2&quot;,lightgray:&quot;d3d3d3&quot;,lightgreen:&quot;90ee90&quot;,lightgrey:&quot;d3d3d3&quot;,lightpink:&quot;ffb6c1&quot;,lightsalmon:&quot;ffa07a&quot;,lightseagreen:&quot;20b2aa&quot;,lightskyblue:&quot;87cefa&quot;,lightslategray:&quot;789&quot;,lightslategrey:&quot;789&quot;,lightsteelblue:&quot;b0c4de&quot;,lightyellow:&quot;ffffe0&quot;,lime:&quot;0f0&quot;,limegreen:&quot;32cd32&quot;,linen:&quot;faf0e6&quot;,magenta:&quot;f0f&quot;,maroon:&quot;800000&quot;,mediumaquamarine:&quot;66cdaa&quot;,mediumblue:&quot;0000cd&quot;,mediumorchid:&quot;ba55d3&quot;,mediumpurple:&quot;9370db&quot;,mediumseagreen:&quot;3cb371&quot;,mediumslateblue:&quot;7b68ee&quot;,mediumspringgreen:&quot;00fa9a&quot;,mediumturquoise:&quot;48d1cc&quot;,mediumvioletred:&quot;c71585&quot;,midnightblue:&quot;191970&quot;,mintcream:&quot;f5fffa&quot;,mistyrose:&quot;ffe4e1&quot;,moccasin:&quot;ffe4b5&quot;,navajowhite:&quot;ffdead&quot;,navy:&quot;000080&quot;,oldlace:&quot;fdf5e6&quot;,olive:&quot;808000&quot;,olivedrab:&quot;6b8e23&quot;,orange:&quot;ffa500&quot;,orangered:&quot;ff4500&quot;,orchid:&quot;da70d6&quot;,palegoldenrod:&quot;eee8aa&quot;,palegreen:&quot;98fb98&quot;,paleturquoise:&quot;afeeee&quot;,palevioletred:&quot;db7093&quot;,papayawhip:&quot;ffefd5&quot;,peachpuff:&quot;ffdab9&quot;,peru:&quot;cd853f&quot;,pink:&quot;ffc0cb&quot;,plum:&quot;dda0dd&quot;,powderblue:&quot;b0e0e6&quot;,purple:&quot;800080&quot;,rebeccapurple:&quot;663399&quot;,red:&quot;f00&quot;,rosybrown:&quot;bc8f8f&quot;,royalblue:&quot;4169e1&quot;,saddlebrown:&quot;8b4513&quot;,salmon:&quot;fa8072&quot;,sandybrown:&quot;f4a460&quot;,seagreen:&quot;2e8b57&quot;,seashell:&quot;fff5ee&quot;,sienna:&quot;a0522d&quot;,silver:&quot;c0c0c0&quot;,skyblue:&quot;87ceeb&quot;,slateblue:&quot;6a5acd&quot;,slategray:&quot;708090&quot;,slategrey:&quot;708090&quot;,snow:&quot;fffafa&quot;,springgreen:&quot;00ff7f&quot;,steelblue:&quot;4682b4&quot;,tan:&quot;d2b48c&quot;,teal:&quot;008080&quot;,thistle:&quot;d8bfd8&quot;,tomato:&quot;ff6347&quot;,turquoise:&quot;40e0d0&quot;,violet:&quot;ee82ee&quot;,wheat:&quot;f5deb3&quot;,white:&quot;fff&quot;,whitesmoke:&quot;f5f5f5&quot;,yellow:&quot;ff0&quot;,yellowgreen:&quot;9acd32&quot;},R=r.hexNames=function(t){var e={};for(var r in t)t.hasOwnProperty(r)&amp;&amp;(e[t[r]]=r);return e}(F),N=function(){var t=&quot;(?:[-\\+]?\\d*\\.\\d+%?)|(?:[-\\+]?\\d+%?)&quot;,e=&quot;[\\s|\\(]+(&quot;+t+&quot;)[,|\\s]+(&quot;+t+&quot;)[,|\\s]+(&quot;+t+&quot;)\\s*\\)?&quot;,r=&quot;[\\s|\\(]+(&quot;+t+&quot;)[,|\\s]+(&quot;+t+&quot;)[,|\\s]+(&quot;+t+&quot;)[,|\\s]+(&quot;+t+&quot;)\\s*\\)?&quot;;return{CSS_UNIT:new RegExp(t),rgb:new RegExp(&quot;rgb&quot;+e),rgba:new RegExp(&quot;rgba&quot;+r),hsl:new RegExp(&quot;hsl&quot;+e),hsla:new RegExp(&quot;hsla&quot;+r),hsv:new RegExp(&quot;hsv&quot;+e),hsva:new RegExp(&quot;hsva&quot;+r),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})$/}}();void 0!==e&amp;&amp;e.exports?e.exports=r:window.tinycolor=r}(Math)},{}],547:[function(t,e,r){&quot;use strict&quot;;function n(t){if(t instanceof Float32Array)return t;if(&quot;number&quot;==typeof t)return new Float32Array([t])[0];var e=new Float32Array(t);return e.set(t),e}e.exports=n,e.exports.float32=e.exports.float=n,e.exports.fract32=e.exports.fract=function(t){if(&quot;number&quot;==typeof t)return n(t-n(t));for(var e=n(t),r=0,i=e.length;r&lt;i;r++)e[r]=t[r]-e[r];return e}},{}],548:[function(t,e,r){&quot;use strict&quot;;function n(t,e){var r=a(getComputedStyle(t).getPropertyValue(e));return r[0]*i(r[1],t)}function i(t,e){switch(e=e||document.body,t=(t||&quot;px&quot;).trim().toLowerCase(),e!==window&amp;&amp;e!==document||(e=document.body),t){case&quot;%&quot;:return e.clientHeight/100;case&quot;ch&quot;:case&quot;ex&quot;:return function(t,e){var r=document.createElement(&quot;div&quot;);r.style[&quot;font-size&quot;]=&quot;128&quot;+t,e.appendChild(r);var i=n(r,&quot;font-size&quot;)/128;return e.removeChild(r),i}(t,e);case&quot;em&quot;:return n(e,&quot;font-size&quot;);case&quot;rem&quot;:return n(document.body,&quot;font-size&quot;);case&quot;vw&quot;:return window.innerWidth/100;case&quot;vh&quot;:return window.innerHeight/100;case&quot;vmin&quot;:return Math.min(window.innerWidth,window.innerHeight)/100;case&quot;vmax&quot;:return Math.max(window.innerWidth,window.innerHeight)/100;case&quot;in&quot;:return o;case&quot;cm&quot;:return o/2.54;case&quot;mm&quot;:return o/25.4;case&quot;pt&quot;:return o/72;case&quot;pc&quot;:return o/6}return 1}var a=t(&quot;parse-unit&quot;);e.exports=i;var o=96},{&quot;parse-unit&quot;:467}],549:[function(t,e,r){!function(t,n){n(&quot;object&quot;==typeof r&amp;&amp;void 0!==e?r:t.topojson=t.topojson||{})}(this,function(t){&quot;use strict&quot;;function e(t,e){var n=e.id,i=e.bbox,a=null==e.properties?{}:e.properties,o=r(t,e);return null==n&amp;&amp;null==i?{type:&quot;Feature&quot;,properties:a,geometry:o}:null==i?{type:&quot;Feature&quot;,id:n,properties:a,geometry:o}:{type:&quot;Feature&quot;,id:n,bbox:i,properties:a,geometry:o}}function r(t,e){function r(t,e){e.length&amp;&amp;e.pop();for(var r=f[t&lt;0?~t:t],n=0,i=r.length;n&lt;i;++n)e.push(u(r[n].slice(),n));t&lt;0&amp;&amp;l(e,i)}function n(t){return u(t.slice())}function i(t){for(var e=[],n=0,i=t.length;n&lt;i;++n)r(t[n],e);return e.length&lt;2&amp;&amp;e.push(e[0].slice()),e}function a(t){for(var e=i(t);e.length&lt;4;)e.push(e[0].slice());return e}function s(t){return t.map(a)}function c(t){var e,r=t.type;switch(r){case&quot;GeometryCollection&quot;:return{type:r,geometries:t.geometries.map(c)};case&quot;Point&quot;:e=n(t.coordinates);break;case&quot;MultiPoint&quot;:e=t.coordinates.map(n);break;case&quot;LineString&quot;:e=i(t.arcs);break;case&quot;MultiLineString&quot;:e=t.arcs.map(i);break;case&quot;Polygon&quot;:e=s(t.arcs);break;case&quot;MultiPolygon&quot;:e=t.arcs.map(s);break;default:return null}return{type:r,coordinates:e}}var u=o(t),f=t.arcs;return c(e)}function n(t,e,r){var n,i,a;if(arguments.length&gt;1)n=function(t,e,r){function n(t){var e=t&lt;0?~t:t;(c[e]||(c[e]=[])).push({i:t,g:s})}function i(t){t.forEach(n)}function a(t){t.forEach(i)}function o(t){switch(s=t,t.type){case&quot;GeometryCollection&quot;:t.geometries.forEach(o);break;case&quot;LineString&quot;:i(t.arcs);break;case&quot;MultiLineString&quot;:case&quot;Polygon&quot;:a(t.arcs);break;case&quot;MultiPolygon&quot;:!function(t){t.forEach(a)}(t.arcs)}}var s,l=[],c=[];return o(e),c.forEach(null==r?function(t){l.push(t[0].i)}:function(t){r(t[0].g,t[t.length-1].g)&amp;&amp;l.push(t[0].i)}),l}(0,e,r);else for(i=0,n=new Array(a=t.arcs.length);i&lt;a;++i)n[i]=i;return{type:&quot;MultiLineString&quot;,arcs:c(t,n)}}function i(t,e){function n(t){switch(t.type){case&quot;GeometryCollection&quot;:t.geometries.forEach(n);break;case&quot;Polygon&quot;:i(t.arcs);break;case&quot;MultiPolygon&quot;:t.arcs.forEach(i)}}function i(t){t.forEach(function(e){e.forEach(function(e){(o[e=e&lt;0?~e:e]||(o[e]=[])).push(t)})}),s.push(t)}function a(e){return function(t){for(var e,r=-1,n=t.length,i=t[n-1],a=0;++r&lt;n;)e=i,i=t[r],a+=e[0]*i[1]-e[1]*i[0];return Math.abs(a)}(r(t,{type:&quot;Polygon&quot;,arcs:[e]}).coordinates[0])}var o={},s=[],l=[];return e.forEach(n),s.forEach(function(t){if(!t._){var e=[],r=[t];for(t._=1,l.push(e);t=r.pop();)e.push(t),t.forEach(function(t){t.forEach(function(t){o[t&lt;0?~t:t].forEach(function(t){t._||(t._=1,r.push(t))})})})}}),s.forEach(function(t){delete t._}),{type:&quot;MultiPolygon&quot;,arcs:l.map(function(e){var r,n=[];if(e.forEach(function(t){t.forEach(function(t){t.forEach(function(t){o[t&lt;0?~t:t].length&lt;2&amp;&amp;n.push(t)})})}),n=c(t,n),(r=n.length)&gt;1)for(var i,s,l=1,u=a(n[0]);l&lt;r;++l)(i=a(n[l]))&gt;u&amp;&amp;(s=n[0],n[0]=n[l],n[l]=s,u=i);return n})}}var a=function(t){return t},o=function(t){if(null==(e=t.transform))return a;var e,r,n,i=e.scale[0],o=e.scale[1],s=e.translate[0],l=e.translate[1];return function(t,e){return e||(r=n=0),t[0]=(r+=t[0])*i+s,t[1]=(n+=t[1])*o+l,t}},s=function(t){function e(t){l[0]=t[0],l[1]=t[1],s(l),l[0]&lt;c&amp;&amp;(c=l[0]),l[0]&gt;f&amp;&amp;(f=l[0]),l[1]&lt;u&amp;&amp;(u=l[1]),l[1]&gt;h&amp;&amp;(h=l[1])}function r(t){switch(t.type){case&quot;GeometryCollection&quot;:t.geometries.forEach(r);break;case&quot;Point&quot;:e(t.coordinates);break;case&quot;MultiPoint&quot;:t.coordinates.forEach(e)}}var n=t.bbox;if(!n){var i,a,s=o(t),l=new Array(2),c=1/0,u=c,f=-c,h=-c;t.arcs.forEach(function(t){for(var e=-1,r=t.length;++e&lt;r;)i=t[e],l[0]=i[0],l[1]=i[1],s(l,e),l[0]&lt;c&amp;&amp;(c=l[0]),l[0]&gt;f&amp;&amp;(f=l[0]),l[1]&lt;u&amp;&amp;(u=l[1]),l[1]&gt;h&amp;&amp;(h=l[1])});for(a in t.objects)r(t.objects[a]);n=t.bbox=[c,u,f,h]}return n},l=function(t,e){for(var r,n=t.length,i=n-e;i&lt;--n;)r=t[i],t[i++]=t[n],t[n]=r},c=function(t,e){function r(t,e){for(var r in t){var i=t[r];delete e[i.start],delete i.start,delete i.end,i.forEach(function(t){n[t&lt;0?~t:t]=1}),o.push(i)}}var n={},i={},a={},o=[],s=-1;return e.forEach(function(r,n){var i,a=t.arcs[r&lt;0?~r:r];a.length&lt;3&amp;&amp;!a[1][0]&amp;&amp;!a[1][1]&amp;&amp;(i=e[++s],e[s]=r,e[n]=i)}),e.forEach(function(e){var r,n,o=function(e){var r,n=t.arcs[e&lt;0?~e:e],i=n[0];return t.transform?(r=[0,0],n.forEach(function(t){r[0]+=t[0],r[1]+=t[1]})):r=n[n.length-1],e&lt;0?[r,i]:[i,r]}(e),s=o[0],l=o[1];if(r=a[s])if(delete a[r.end],r.push(e),r.end=l,n=i[l]){delete i[n.start];var c=n===r?r:r.concat(n);i[c.start=r.start]=a[c.end=n.end]=c}else i[r.start]=a[r.end]=r;else if(r=i[l])if(delete i[r.start],r.unshift(e),r.start=s,n=a[s]){delete a[n.end];var u=n===r?r:n.concat(r);i[u.start=n.start]=a[u.end=r.end]=u}else i[r.start]=a[r.end]=r;else i[(r=[e]).start=s]=a[r.end=l]=r}),r(a,i),r(i,a),e.forEach(function(t){n[t&lt;0?~t:t]||o.push([t])}),o},u=function(t,e){for(var r=0,n=t.length;r&lt;n;){var i=r+n&gt;&gt;&gt;1;t[i]&lt;e?r=i+1:n=i}return r};t.bbox=s,t.feature=function(t,r){return&quot;GeometryCollection&quot;===r.type?{type:&quot;FeatureCollection&quot;,features:r.geometries.map(function(r){return e(t,r)})}:e(t,r)},t.mesh=function(t){return r(t,n.apply(this,arguments))},t.meshArcs=n,t.merge=function(t){return r(t,i.apply(this,arguments))},t.mergeArcs=i,t.neighbors=function(t){function e(t,e){t.forEach(function(t){t&lt;0&amp;&amp;(t=~t);var r=i[t];r?r.push(e):i[t]=[e]})}function r(t,r){t.forEach(function(t){e(t,r)})}function n(t,e){&quot;GeometryCollection&quot;===t.type?t.geometries.forEach(function(t){n(t,e)}):t.type in o&amp;&amp;o[t.type](t.arcs,e)}var i={},a=t.map(function(){return[]}),o={LineString:e,MultiLineString:r,Polygon:r,MultiPolygon:function(t,e){t.forEach(function(t){r(t,e)})}};t.forEach(n);for(var s in i)for(var l=i[s],c=l.length,f=0;f&lt;c;++f)for(var h=f+1;h&lt;c;++h){var d,p=l[f],m=l[h];(d=a[p])[s=u(d,m)]!==m&amp;&amp;d.splice(s,0,m),(d=a[m])[s=u(d,p)]!==p&amp;&amp;d.splice(s,0,p)}return a},t.quantize=function(t,e){function r(t){t[0]=Math.round((t[0]-o)/l),t[1]=Math.round((t[1]-c)/u)}function n(t){switch(t.type){case&quot;GeometryCollection&quot;:t.geometries.forEach(n);break;case&quot;Point&quot;:r(t.coordinates);break;case&quot;MultiPoint&quot;:t.coordinates.forEach(r)}}if(!((e=Math.floor(e))&gt;=2))throw new Error(&quot;n must be \u22652&quot;);if(t.transform)throw new Error(&quot;already quantized&quot;);var i,a=s(t),o=a[0],l=(a[2]-o)/(e-1)||1,c=a[1],u=(a[3]-c)/(e-1)||1;t.arcs.forEach(function(t){for(var e,r,n,i=1,a=1,s=t.length,f=t[0],h=f[0]=Math.round((f[0]-o)/l),d=f[1]=Math.round((f[1]-c)/u);i&lt;s;++i)f=t[i],r=Math.round((f[0]-o)/l),n=Math.round((f[1]-c)/u),r===h&amp;&amp;n===d||((e=t[a++])[0]=r-h,h=r,e[1]=n-d,d=n);a&lt;2&amp;&amp;((e=t[a++])[0]=0,e[1]=0),t.length=a});for(i in t.objects)n(t.objects[i]);return t.transform={scale:[l,u],translate:[o,c]},t},t.transform=o,t.untransform=function(t){if(null==(e=t.transform))return a;var e,r,n,i=e.scale[0],o=e.scale[1],s=e.translate[0],l=e.translate[1];return function(t,e){e||(r=n=0);var a=Math.round((t[0]-s)/i),c=Math.round((t[1]-l)/o);return t[0]=a-r,r=a,t[1]=c-n,n=c,t}},Object.defineProperty(t,&quot;__esModule&quot;,{value:!0})})},{}],550:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t){if(t&lt;0)return[];if(0===t)return[[0]];for(var e=0|Math.round(a(t+1)),r=[],o=0;o&lt;e;++o){for(var s=n.unrank(t,o),l=[0],c=0,u=0;u&lt;s.length;++u)c+=1&lt;&lt;s[u],l.push(c);i(s)&lt;1&amp;&amp;(l[0]=c,l[t]=0),r.push(l)}return r};var n=t(&quot;permutation-rank&quot;),i=t(&quot;permutation-parity&quot;),a=t(&quot;gamma&quot;)},{gamma:145,&quot;permutation-parity&quot;:471,&quot;permutation-rank&quot;:472}],551:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r){return Math.sqrt(Math.pow(t,2)+Math.pow(e,2)+Math.pow(r,2))}function i(t){return Math.min(1,Math.max(-1,t))}function a(t){var e=Math.abs(t[0]),r=Math.abs(t[1]),n=Math.abs(t[2]),i=[0,0,0];e&gt;Math.max(r,n)?i[2]=1:r&gt;Math.max(e,n)?i[0]=1:i[1]=1;for(var a=0,o=0,s=0;s&lt;3;++s)a+=t[s]*t[s],o+=i[s]*t[s];for(s=0;s&lt;3;++s)i[s]-=o/a*t[s];return f(i,i),i}function o(t,e,r,n,i,a,o,l){this.center=s(r),this.up=s(n),this.right=s(i),this.radius=s([a]),this.angle=s([o,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&lt;16;++c)this.computedMatrix[c]=.5;this.recalcMatrix(0)}e.exports=function(t){var e=(t=t||{}).center||[0,0,0],r=t.up||[0,1,0],i=t.right||a(r),s=t.radius||1,l=t.theta||0,c=t.phi||0;if(e=[].slice.call(e,0,3),r=[].slice.call(r,0,3),f(r,r),i=[].slice.call(i,0,3),f(i,i),&quot;eye&quot;in t){var d=t.eye,p=[d[0]-e[0],d[1]-e[1],d[2]-e[2]];u(i,p,r),n(i[0],i[1],i[2])&lt;1e-6?i=a(r):f(i,i),s=n(p[0],p[1],p[2]);var m=h(r,p)/s,g=h(i,p)/s;c=Math.acos(m),l=Math.acos(g)}return s=Math.log(s),new o(t.zoomMin,t.zoomMax,e,r,i,s,l,c)};var s=t(&quot;filtered-vector&quot;),l=t(&quot;gl-mat4/invert&quot;),c=t(&quot;gl-mat4/rotate&quot;),u=t(&quot;gl-vec3/cross&quot;),f=t(&quot;gl-vec3/normalize&quot;),h=t(&quot;gl-vec3/dot&quot;),d=o.prototype;d.setDistanceLimits=function(t,e){t=t&gt;0?Math.log(t):-1/0,e=e&gt;0?Math.log(e):1/0,e=Math.max(e,t),this.radius.bounds[0][0]=t,this.radius.bounds[1][0]=e},d.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])]},d.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,i=0,a=0,o=0;o&lt;3;++o)a+=e[o]*r[o],i+=e[o]*e[o];var s=Math.sqrt(i),l=0;for(o=0;o&lt;3;++o)r[o]-=e[o]*a/i,l+=r[o]*r[o],e[o]/=s;var c=Math.sqrt(l);for(o=0;o&lt;3;++o)r[o]/=c;var h=this.computedToward;u(h,e,r),f(h,h);var d=Math.exp(this.computedRadius[0]),p=this.computedAngle[0],m=this.computedAngle[1],g=Math.cos(p),v=Math.sin(p),y=Math.cos(m),x=Math.sin(m),b=this.computedCenter,_=g*y,w=v*y,M=x,k=-g*x,A=-v*x,T=y,S=this.computedEye,E=this.computedMatrix;for(o=0;o&lt;3;++o){var L=_*r[o]+w*h[o]+M*e[o];E[4*o+1]=k*r[o]+A*h[o]+T*e[o],E[4*o+2]=L,E[4*o+3]=0}var C=E[1],z=E[5],D=E[9],I=E[2],P=E[6],O=E[10],F=z*O-D*P,R=D*I-C*O,N=C*P-z*I,j=n(F,R,N);F/=j,R/=j,N/=j,E[0]=F,E[4]=R,E[8]=N;for(o=0;o&lt;3;++o)S[o]=b[o]+E[2+4*o]*d;for(o=0;o&lt;3;++o){l=0;for(var B=0;B&lt;3;++B)l+=E[o+4*B]*S[B];E[12+o]=-l}E[15]=1},d.getMatrix=function(t,e){this.recalcMatrix(t);var r=this.computedMatrix;if(e){for(var n=0;n&lt;16;++n)e[n]=r[n];return e}return r};var p=[0,0,0];d.rotate=function(t,e,r,n){if(this.angle.move(t,e,r),n){this.recalcMatrix(t);var i=this.computedMatrix;p[0]=i[2],p[1]=i[6],p[2]=i[10];for(var a=this.computedUp,o=this.computedRight,s=this.computedToward,l=0;l&lt;3;++l)i[4*l]=a[l],i[4*l+1]=o[l],i[4*l+2]=s[l];c(i,i,n,p);for(l=0;l&lt;3;++l)a[l]=i[4*l],o[l]=i[4*l+1];this.up.set(t,a[0],a[1],a[2]),this.right.set(t,o[0],o[1],o[2])}},d.pan=function(t,e,r,i){e=e||0,r=r||0,i=i||0,this.recalcMatrix(t);var a=this.computedMatrix,o=(Math.exp(this.computedRadius[0]),a[1]),s=a[5],l=a[9],c=n(o,s,l);o/=c,s/=c,l/=c;var u=a[0],f=a[4],h=a[8],d=u*o+f*s+h*l,p=n(u-=o*d,f-=s*d,h-=l*d),m=(u/=p)*e+o*r,g=(f/=p)*e+s*r,v=(h/=p)*e+l*r;this.center.move(t,m,g,v);var y=Math.exp(this.computedRadius[0]);y=Math.max(1e-4,y+i),this.radius.set(t,Math.log(y))},d.translate=function(t,e,r,n){this.center.move(t,e||0,r||0,n||0)},d.setMatrix=function(t,e,r,a){var o=1;&quot;number&quot;==typeof r&amp;&amp;(o=0|r),(o&lt;0||o&gt;3)&amp;&amp;(o=1);var s=(o+2)%3;e||(this.recalcMatrix(t),e=this.computedMatrix);var c=e[o],u=e[o+4],f=e[o+8];if(a){var h=Math.abs(c),d=Math.abs(u),p=Math.abs(f),m=Math.max(h,d,p);h===m?(c=c&lt;0?-1:1,u=f=0):p===m?(f=f&lt;0?-1:1,c=u=0):(u=u&lt;0?-1:1,c=f=0)}else{var g=n(c,u,f);c/=g,u/=g,f/=g}var v=e[s],y=e[s+4],x=e[s+8],b=v*c+y*u+x*f,_=n(v-=c*b,y-=u*b,x-=f*b),w=u*(x/=_)-f*(y/=_),M=f*(v/=_)-c*x,k=c*y-u*v,A=n(w,M,k);w/=A,M/=A,k/=A,this.center.jump(t,H,G,Y),this.radius.idle(t),this.up.jump(t,c,u,f),this.right.jump(t,v,y,x);var T,S;if(2===o){var E=e[1],L=e[5],C=e[9],z=E*v+L*y+C*x,D=E*w+L*M+C*k;T=F&lt;0?-Math.PI/2:Math.PI/2,S=Math.atan2(D,z)}else{var I=e[2],P=e[6],O=e[10],F=I*c+P*u+O*f,R=I*v+P*y+O*x,N=I*w+P*M+O*k;T=Math.asin(i(F)),S=Math.atan2(N,R)}this.angle.jump(t,S,T),this.recalcMatrix(t);var j=e[2],B=e[6],U=e[10],V=this.computedMatrix;l(V,e);var q=V[15],H=V[12]/q,G=V[13]/q,Y=V[14]/q,W=Math.exp(this.computedRadius[0]);this.center.jump(t,H-j*W,G-B*W,Y-U*W)},d.lastT=function(){return Math.max(this.center.lastT(),this.up.lastT(),this.right.lastT(),this.radius.lastT(),this.angle.lastT())},d.idle=function(t){this.center.idle(t),this.up.idle(t),this.right.idle(t),this.radius.idle(t),this.angle.idle(t)},d.flush=function(t){this.center.flush(t),this.up.flush(t),this.right.flush(t),this.radius.flush(t),this.angle.flush(t)},d.setDistance=function(t,e){e&gt;0&amp;&amp;this.radius.set(t,Math.log(e))},d.lookAt=function(t,e,r,a){this.recalcMatrix(t),e=e||this.computedEye,r=r||this.computedCenter;var o=(a=a||this.computedUp)[0],s=a[1],l=a[2],c=n(o,s,l);if(!(c&lt;1e-6)){o/=c,s/=c,l/=c;var u=e[0]-r[0],f=e[1]-r[1],h=e[2]-r[2],d=n(u,f,h);if(!(d&lt;1e-6)){u/=d,f/=d,h/=d;var p=this.computedRight,m=p[0],g=p[1],v=p[2],y=o*m+s*g+l*v,x=n(m-=y*o,g-=y*s,v-=y*l);if(!(x&lt;.01&amp;&amp;(m=s*h-l*f,g=l*u-o*h,v=o*f-s*u,(x=n(m,g,v))&lt;1e-6))){m/=x,g/=x,v/=x,this.up.set(t,o,s,l),this.right.set(t,m,g,v),this.center.set(t,r[0],r[1],r[2]),this.radius.set(t,Math.log(d));var b=s*v-l*g,_=l*m-o*v,w=o*g-s*m,M=n(b,_,w),k=o*u+s*f+l*h,A=m*u+g*f+v*h,T=(b/=M)*u+(_/=M)*f+(w/=M)*h,S=Math.asin(i(k)),E=Math.atan2(T,A),L=this.angle._state,C=L[L.length-1],z=L[L.length-2];C%=2*Math.PI;var D=Math.abs(C+2*Math.PI-E),I=Math.abs(C-E),P=Math.abs(C-2*Math.PI-E);D&lt;I&amp;&amp;(C+=2*Math.PI),P&lt;I&amp;&amp;(C-=2*Math.PI),this.angle.jump(this.angle.lastT(),C,z),this.angle.set(t,E,S)}}}}},{&quot;filtered-vector&quot;:142,&quot;gl-mat4/invert&quot;:186,&quot;gl-mat4/rotate&quot;:190,&quot;gl-vec3/cross&quot;:260,&quot;gl-vec3/dot&quot;:261,&quot;gl-vec3/normalize&quot;:264}],552:[function(t,e,r){&quot;use strict&quot;;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);return r?(r[0]=f,r[1]=i,r):[f,i]};var n=+(Math.pow(2,27)+1)},{}],553:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t,e,r){var n=t+e,i=n-t,a=e-i,o=t-(n-i);return r?(r[0]=o+a,r[1]=n,r):[o+a,n]}},{}],554:[function(t,e,r){(function(e,n){&quot;use strict&quot;;function i(t){if(t){var e=t.length||t.byteLength,r=v.log2(e);_[r].push(t)}}function a(t){t=v.nextPow2(t);var e=v.log2(t),r=_[e];return r.length&gt;0?r.pop():new ArrayBuffer(t)}function o(t){return new Uint8Array(a(t),0,t)}function s(t){return new Uint16Array(a(2*t),0,t)}function l(t){return new Uint32Array(a(4*t),0,t)}function c(t){return new Int8Array(a(t),0,t)}function u(t){return new Int16Array(a(2*t),0,t)}function f(t){return new Int32Array(a(4*t),0,t)}function h(t){return new Float32Array(a(4*t),0,t)}function d(t){return new Float64Array(a(8*t),0,t)}function p(t){return x?new Uint8ClampedArray(a(t),0,t):o(t)}function m(t){return new DataView(a(t),0,t)}function g(t){t=v.nextPow2(t);var e=v.log2(t),r=w[e];return r.length&gt;0?r.pop():new n(t)}var v=t(&quot;bit-twiddle&quot;),y=t(&quot;dup&quot;);e.__TYPEDARRAY_POOL||(e.__TYPEDARRAY_POOL={UINT8:y([32,0]),UINT16:y([32,0]),UINT32:y([32,0]),INT8:y([32,0]),INT16:y([32,0]),INT32:y([32,0]),FLOAT:y([32,0]),DOUBLE:y([32,0]),DATA:y([32,0]),UINT8C:y([32,0]),BUFFER:y([32,0])});var x=&quot;undefined&quot;!=typeof Uint8ClampedArray,b=e.__TYPEDARRAY_POOL;b.UINT8C||(b.UINT8C=y([32,0])),b.BUFFER||(b.BUFFER=y([32,0]));var _=b.DATA,w=b.BUFFER;r.free=function(t){if(n.isBuffer(t))w[v.log2(t.length)].push(t);else{if(&quot;[object ArrayBuffer]&quot;!==Object.prototype.toString.call(t)&amp;&amp;(t=t.buffer),!t)return;var e=t.length||t.byteLength,r=0|v.log2(e);_[r].push(t)}},r.freeUint8=r.freeUint16=r.freeUint32=r.freeInt8=r.freeInt16=r.freeInt32=r.freeFloat32=r.freeFloat=r.freeFloat64=r.freeDouble=r.freeUint8Clamped=r.freeDataView=function(t){i(t.buffer)},r.freeArrayBuffer=i,r.freeBuffer=function(t){w[v.log2(t.length)].push(t)},r.malloc=function(t,e){if(void 0===e||&quot;arraybuffer&quot;===e)return a(t);switch(e){case&quot;uint8&quot;:return o(t);case&quot;uint16&quot;:return s(t);case&quot;uint32&quot;:return l(t);case&quot;int8&quot;:return c(t);case&quot;int16&quot;:return u(t);case&quot;int32&quot;:return f(t);case&quot;float&quot;:case&quot;float32&quot;:return h(t);case&quot;double&quot;:case&quot;float64&quot;:return d(t);case&quot;uint8_clamped&quot;:return p(t);case&quot;buffer&quot;:return g(t);case&quot;data&quot;:case&quot;dataview&quot;:return m(t);default:return null}return null},r.mallocArrayBuffer=a,r.mallocUint8=o,r.mallocUint16=s,r.mallocUint32=l,r.mallocInt8=c,r.mallocInt16=u,r.mallocInt32=f,r.mallocFloat32=r.mallocFloat=h,r.mallocFloat64=r.mallocDouble=d,r.mallocUint8Clamped=p,r.mallocDataView=m,r.mallocBuffer=g,r.clearCache=function(){for(var t=0;t&lt;32;++t)b.UINT8[t].length=0,b.UINT16[t].length=0,b.UINT32[t].length=0,b.INT8[t].length=0,b.INT16[t].length=0,b.INT32[t].length=0,b.FLOAT[t].length=0,b.DOUBLE[t].length=0,b.UINT8C[t].length=0,_[t].length=0,w[t].length=0}}).call(this,&quot;undefined&quot;!=typeof global?global:&quot;undefined&quot;!=typeof self?self:&quot;undefined&quot;!=typeof window?window:{},t(&quot;buffer&quot;).Buffer)},{&quot;bit-twiddle&quot;:71,buffer:82,dup:134}],555:[function(t,e,r){&quot;use strict&quot;;&quot;use restrict&quot;;function n(t){this.roots=new Array(t),this.ranks=new Array(t);for(var e=0;e&lt;t;++e)this.roots[e]=e,this.ranks[e]=0}e.exports=n;var i=n.prototype;Object.defineProperty(i,&quot;length&quot;,{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&lt;s?a[r]=n:s&lt;o?a[n]=r:(a[n]=r,++i[r])}}},{}],556:[function(t,e,r){&quot;use strict&quot;;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&lt;n;++o)if(a=i,i=t[o],e(i,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&lt;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))}},{}],557:[function(t,e,r){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}e.exports=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){void 0===e&amp;&amp;(e=1e-6);var r,n,i,a,o;for(i=t,o=0;o&lt;8;o++){if(a=this.sampleCurveX(i)-t,Math.abs(a)&lt;e)return i;var s=this.sampleCurveDerivativeX(i);if(Math.abs(s)&lt;1e-6)break;i-=a/s}if(r=0,n=1,(i=t)&lt;r)return r;if(i&gt;n)return n;for(;r&lt;n;){if(a=this.sampleCurveX(i),Math.abs(a-t)&lt;e)return i;t&gt;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))}},{}],558:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t,e,r){Array.isArray(r)||(r=[].slice.call(arguments,2));for(var n=0,i=r.length;n&lt;i;n++){var a=r[n];for(var o in a)if((void 0===e[o]||Array.isArray(e[o])||t[o]!==e[o])&amp;&amp;o in e){var s;if(!0===a[o])s=e[o];else{if(!1===a[o])continue;if(&quot;function&quot;==typeof a[o]&amp;&amp;void 0===(s=a[o](e[o],t,e)))continue}t[o]=s}}return t}},{}],559:[function(t,e,r){&quot;use strict&quot;;function n(){this.protocol=null,this.slashes=null,this.auth=null,this.host=null,this.port=null,this.hostname=null,this.hash=null,this.search=null,this.query=null,this.pathname=null,this.path=null,this.href=null}function i(t,e,r){if(t&amp;&amp;o.isObject(t)&amp;&amp;t instanceof n)return t;var i=new n;return i.parse(t,e,r),i}var a=t(&quot;punycode&quot;),o=t(&quot;./util&quot;);r.parse=i,r.resolve=function(t,e){return i(t,!1,!0).resolve(e)},r.resolveObject=function(t,e){return t?i(t,!1,!0).resolveObject(e):e},r.format=function(t){return o.isString(t)&amp;&amp;(t=i(t)),t instanceof n?t.format():n.prototype.format.call(t)},r.Url=n;var s=/^([a-z0-9.+-]+:)/i,l=/:[0-9]*$/,c=/^(\/\/?(?!\/)[^\?\s]*)(\?[^\s]*)?$/,u=[&quot;{&quot;,&quot;}&quot;,&quot;|&quot;,&quot;\\&quot;,&quot;^&quot;,&quot;`&quot;].concat([&quot;&lt;&quot;,&quot;&gt;&quot;,'&quot;',&quot;`&quot;,&quot; &quot;,&quot;\r&quot;,&quot;\n&quot;,&quot;\t&quot;]),f=[&quot;'&quot;].concat(u),h=[&quot;%&quot;,&quot;/&quot;,&quot;?&quot;,&quot;;&quot;,&quot;#&quot;].concat(f),d=[&quot;/&quot;,&quot;?&quot;,&quot;#&quot;],p=/^[+a-z0-9A-Z_-]{0,63}$/,m=/^([+a-z0-9A-Z_-]{0,63})(.*)$/,g={javascript:!0,&quot;javascript:&quot;:!0},v={javascript:!0,&quot;javascript:&quot;:!0},y={http:!0,https:!0,ftp:!0,gopher:!0,file:!0,&quot;http:&quot;:!0,&quot;https:&quot;:!0,&quot;ftp:&quot;:!0,&quot;gopher:&quot;:!0,&quot;file:&quot;:!0},x=t(&quot;querystring&quot;);n.prototype.parse=function(t,e,r){if(!o.isString(t))throw new TypeError(&quot;Parameter 'url' must be a string, not &quot;+typeof t);var n=t.indexOf(&quot;?&quot;),i=-1!==n&amp;&amp;n&lt;t.indexOf(&quot;#&quot;)?&quot;?&quot;:&quot;#&quot;,l=t.split(i);l[0]=l[0].replace(/\\/g,&quot;/&quot;);var u=t=l.join(i);if(u=u.trim(),!r&amp;&amp;1===t.split(&quot;#&quot;).length){var b=c.exec(u);if(b)return this.path=u,this.href=u,this.pathname=b[1],b[2]?(this.search=b[2],this.query=e?x.parse(this.search.substr(1)):this.search.substr(1)):e&amp;&amp;(this.search=&quot;&quot;,this.query={}),this}var _=s.exec(u);if(_){var w=(_=_[0]).toLowerCase();this.protocol=w,u=u.substr(_.length)}if(r||_||u.match(/^\/\/[^@\/]+@[^@\/]+/)){var M=&quot;//&quot;===u.substr(0,2);!M||_&amp;&amp;v[_]||(u=u.substr(2),this.slashes=!0)}if(!v[_]&amp;&amp;(M||_&amp;&amp;!y[_])){for(var k=-1,A=0;A&lt;d.length;A++){-1!==(E=u.indexOf(d[A]))&amp;&amp;(-1===k||E&lt;k)&amp;&amp;(k=E)}var T,S;-1!==(S=-1===k?u.lastIndexOf(&quot;@&quot;):u.lastIndexOf(&quot;@&quot;,k))&amp;&amp;(T=u.slice(0,S),u=u.slice(S+1),this.auth=decodeURIComponent(T)),k=-1;for(A=0;A&lt;h.length;A++){var E;-1!==(E=u.indexOf(h[A]))&amp;&amp;(-1===k||E&lt;k)&amp;&amp;(k=E)}-1===k&amp;&amp;(k=u.length),this.host=u.slice(0,k),u=u.slice(k),this.parseHost(),this.hostname=this.hostname||&quot;&quot;;var L=&quot;[&quot;===this.hostname[0]&amp;&amp;&quot;]&quot;===this.hostname[this.hostname.length-1];if(!L)for(var C=this.hostname.split(/\./),z=(A=0,C.length);A&lt;z;A++){var D=C[A];if(D&amp;&amp;!D.match(p)){for(var I=&quot;&quot;,P=0,O=D.length;P&lt;O;P++)D.charCodeAt(P)&gt;127?I+=&quot;x&quot;:I+=D[P];if(!I.match(p)){var F=C.slice(0,A),R=C.slice(A+1),N=D.match(m);N&amp;&amp;(F.push(N[1]),R.unshift(N[2])),R.length&amp;&amp;(u=&quot;/&quot;+R.join(&quot;.&quot;)+u),this.hostname=F.join(&quot;.&quot;);break}}}this.hostname.length&gt;255?this.hostname=&quot;&quot;:this.hostname=this.hostname.toLowerCase(),L||(this.hostname=a.toASCII(this.hostname));var j=this.port?&quot;:&quot;+this.port:&quot;&quot;,B=this.hostname||&quot;&quot;;this.host=B+j,this.href+=this.host,L&amp;&amp;(this.hostname=this.hostname.substr(1,this.hostname.length-2),&quot;/&quot;!==u[0]&amp;&amp;(u=&quot;/&quot;+u))}if(!g[w])for(A=0,z=f.length;A&lt;z;A++){var U=f[A];if(-1!==u.indexOf(U)){var V=encodeURIComponent(U);V===U&amp;&amp;(V=escape(U)),u=u.split(U).join(V)}}var q=u.indexOf(&quot;#&quot;);-1!==q&amp;&amp;(this.hash=u.substr(q),u=u.slice(0,q));var H=u.indexOf(&quot;?&quot;);if(-1!==H?(this.search=u.substr(H),this.query=u.substr(H+1),e&amp;&amp;(this.query=x.parse(this.query)),u=u.slice(0,H)):e&amp;&amp;(this.search=&quot;&quot;,this.query={}),u&amp;&amp;(this.pathname=u),y[w]&amp;&amp;this.hostname&amp;&amp;!this.pathname&amp;&amp;(this.pathname=&quot;/&quot;),this.pathname||this.search){j=this.pathname||&quot;&quot;;var G=this.search||&quot;&quot;;this.path=j+G}return this.href=this.format(),this},n.prototype.format=function(){var t=this.auth||&quot;&quot;;t&amp;&amp;(t=(t=encodeURIComponent(t)).replace(/%3A/i,&quot;:&quot;),t+=&quot;@&quot;);var e=this.protocol||&quot;&quot;,r=this.pathname||&quot;&quot;,n=this.hash||&quot;&quot;,i=!1,a=&quot;&quot;;this.host?i=t+this.host:this.hostname&amp;&amp;(i=t+(-1===this.hostname.indexOf(&quot;:&quot;)?this.hostname:&quot;[&quot;+this.hostname+&quot;]&quot;),this.port&amp;&amp;(i+=&quot;:&quot;+this.port)),this.query&amp;&amp;o.isObject(this.query)&amp;&amp;Object.keys(this.query).length&amp;&amp;(a=x.stringify(this.query));var s=this.search||a&amp;&amp;&quot;?&quot;+a||&quot;&quot;;return e&amp;&amp;&quot;:&quot;!==e.substr(-1)&amp;&amp;(e+=&quot;:&quot;),this.slashes||(!e||y[e])&amp;&amp;!1!==i?(i=&quot;//&quot;+(i||&quot;&quot;),r&amp;&amp;&quot;/&quot;!==r.charAt(0)&amp;&amp;(r=&quot;/&quot;+r)):i||(i=&quot;&quot;),n&amp;&amp;&quot;#&quot;!==n.charAt(0)&amp;&amp;(n=&quot;#&quot;+n),s&amp;&amp;&quot;?&quot;!==s.charAt(0)&amp;&amp;(s=&quot;?&quot;+s),r=r.replace(/[?#]/g,function(t){return encodeURIComponent(t)}),s=s.replace(&quot;#&quot;,&quot;%23&quot;),e+i+r+s+n},n.prototype.resolve=function(t){return this.resolveObject(i(t,!1,!0)).format()},n.prototype.resolveObject=function(t){if(o.isString(t)){var e=new n;e.parse(t,!1,!0),t=e}for(var r=new n,i=Object.keys(this),a=0;a&lt;i.length;a++){var s=i[a];r[s]=this[s]}if(r.hash=t.hash,&quot;&quot;===t.href)return r.href=r.format(),r;if(t.slashes&amp;&amp;!t.protocol){for(var l=Object.keys(t),c=0;c&lt;l.length;c++){var u=l[c];&quot;protocol&quot;!==u&amp;&amp;(r[u]=t[u])}return y[r.protocol]&amp;&amp;r.hostname&amp;&amp;!r.pathname&amp;&amp;(r.path=r.pathname=&quot;/&quot;),r.href=r.format(),r}if(t.protocol&amp;&amp;t.protocol!==r.protocol){if(!y[t.protocol]){for(var f=Object.keys(t),h=0;h&lt;f.length;h++){var d=f[h];r[d]=t[d]}return r.href=r.format(),r}if(r.protocol=t.protocol,t.host||v[t.protocol])r.pathname=t.pathname;else{for(var p=(t.pathname||&quot;&quot;).split(&quot;/&quot;);p.length&amp;&amp;!(t.host=p.shift()););t.host||(t.host=&quot;&quot;),t.hostname||(t.hostname=&quot;&quot;),&quot;&quot;!==p[0]&amp;&amp;p.unshift(&quot;&quot;),p.length&lt;2&amp;&amp;p.unshift(&quot;&quot;),r.pathname=p.join(&quot;/&quot;)}if(r.search=t.search,r.query=t.query,r.host=t.host||&quot;&quot;,r.auth=t.auth,r.hostname=t.hostname||t.host,r.port=t.port,r.pathname||r.search){var m=r.pathname||&quot;&quot;,g=r.search||&quot;&quot;;r.path=m+g}return r.slashes=r.slashes||t.slashes,r.href=r.format(),r}var x=r.pathname&amp;&amp;&quot;/&quot;===r.pathname.charAt(0),b=t.host||t.pathname&amp;&amp;&quot;/&quot;===t.pathname.charAt(0),_=b||x||r.host&amp;&amp;t.pathname,w=_,M=r.pathname&amp;&amp;r.pathname.split(&quot;/&quot;)||[],k=(p=t.pathname&amp;&amp;t.pathname.split(&quot;/&quot;)||[],r.protocol&amp;&amp;!y[r.protocol]);if(k&amp;&amp;(r.hostname=&quot;&quot;,r.port=null,r.host&amp;&amp;(&quot;&quot;===M[0]?M[0]=r.host:M.unshift(r.host)),r.host=&quot;&quot;,t.protocol&amp;&amp;(t.hostname=null,t.port=null,t.host&amp;&amp;(&quot;&quot;===p[0]?p[0]=t.host:p.unshift(t.host)),t.host=null),_=_&amp;&amp;(&quot;&quot;===p[0]||&quot;&quot;===M[0])),b)r.host=t.host||&quot;&quot;===t.host?t.host:r.host,r.hostname=t.hostname||&quot;&quot;===t.hostname?t.hostname:r.hostname,r.search=t.search,r.query=t.query,M=p;else if(p.length)M||(M=[]),M.pop(),M=M.concat(p),r.search=t.search,r.query=t.query;else if(!o.isNullOrUndefined(t.search)){if(k){r.hostname=r.host=M.shift();(C=!!(r.host&amp;&amp;r.host.indexOf(&quot;@&quot;)&gt;0)&amp;&amp;r.host.split(&quot;@&quot;))&amp;&amp;(r.auth=C.shift(),r.host=r.hostname=C.shift())}return r.search=t.search,r.query=t.query,o.isNull(r.pathname)&amp;&amp;o.isNull(r.search)||(r.path=(r.pathname?r.pathname:&quot;&quot;)+(r.search?r.search:&quot;&quot;)),r.href=r.format(),r}if(!M.length)return r.pathname=null,r.search?r.path=&quot;/&quot;+r.search:r.path=null,r.href=r.format(),r;for(var A=M.slice(-1)[0],T=(r.host||t.host||M.length&gt;1)&amp;&amp;(&quot;.&quot;===A||&quot;..&quot;===A)||&quot;&quot;===A,S=0,E=M.length;E&gt;=0;E--)&quot;.&quot;===(A=M[E])?M.splice(E,1):&quot;..&quot;===A?(M.splice(E,1),S++):S&amp;&amp;(M.splice(E,1),S--);if(!_&amp;&amp;!w)for(;S--;S)M.unshift(&quot;..&quot;);!_||&quot;&quot;===M[0]||M[0]&amp;&amp;&quot;/&quot;===M[0].charAt(0)||M.unshift(&quot;&quot;),T&amp;&amp;&quot;/&quot;!==M.join(&quot;/&quot;).substr(-1)&amp;&amp;M.push(&quot;&quot;);var L=&quot;&quot;===M[0]||M[0]&amp;&amp;&quot;/&quot;===M[0].charAt(0);if(k){r.hostname=r.host=L?&quot;&quot;:M.length?M.shift():&quot;&quot;;var C;(C=!!(r.host&amp;&amp;r.host.indexOf(&quot;@&quot;)&gt;0)&amp;&amp;r.host.split(&quot;@&quot;))&amp;&amp;(r.auth=C.shift(),r.host=r.hostname=C.shift())}return(_=_||r.host&amp;&amp;M.length)&amp;&amp;!L&amp;&amp;M.unshift(&quot;&quot;),M.length?r.pathname=M.join(&quot;/&quot;):(r.pathname=null,r.path=null),o.isNull(r.pathname)&amp;&amp;o.isNull(r.search)||(r.path=(r.pathname?r.pathname:&quot;&quot;)+(r.search?r.search:&quot;&quot;)),r.auth=t.auth||r.auth,r.slashes=r.slashes||t.slashes,r.href=r.format(),r},n.prototype.parseHost=function(){var t=this.host,e=l.exec(t);e&amp;&amp;(&quot;:&quot;!==(e=e[0])&amp;&amp;(this.port=e.substr(1)),t=t.substr(0,t.length-e.length)),t&amp;&amp;(this.hostname=t)}},{&quot;./util&quot;:560,punycode:489,querystring:493}],560:[function(t,e,r){&quot;use strict&quot;;e.exports={isString:function(t){return&quot;string&quot;==typeof t},isObject:function(t){return&quot;object&quot;==typeof t&amp;&amp;null!==t},isNull:function(t){return null===t},isNullOrUndefined:function(t){return null==t}}},{}],561:[function(t,e,r){&quot;function&quot;==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}},{}],562:[function(t,e,r){e.exports=function(t){return t&amp;&amp;&quot;object&quot;==typeof t&amp;&amp;&quot;function&quot;==typeof t.copy&amp;&amp;&quot;function&quot;==typeof t.fill&amp;&amp;&quot;function&quot;==typeof t.readUInt8}},{}],563:[function(t,e,r){(function(e,n){function i(t,e){var n={seen:[],stylize:o};return arguments.length&gt;=3&amp;&amp;(n.depth=arguments[2]),arguments.length&gt;=4&amp;&amp;(n.colors=arguments[3]),f(e)?n.showHidden=e:e&amp;&amp;r._extend(n,e),m(n.showHidden)&amp;&amp;(n.showHidden=!1),m(n.depth)&amp;&amp;(n.depth=2),m(n.colors)&amp;&amp;(n.colors=!1),m(n.customInspect)&amp;&amp;(n.customInspect=!0),n.colors&amp;&amp;(n.stylize=a),s(n,t,n.depth)}function a(t,e){var r=i.styles[e];return r?&quot;\x1b[&quot;+i.colors[r][0]+&quot;m&quot;+t+&quot;\x1b[&quot;+i.colors[r][1]+&quot;m&quot;:t}function o(t,e){return t}function s(t,e,n){if(t.customInspect&amp;&amp;e&amp;&amp;b(e.inspect)&amp;&amp;e.inspect!==r.inspect&amp;&amp;(!e.constructor||e.constructor.prototype!==e)){var i=e.inspect(n,t);return p(i)||(i=s(t,i,n)),i}var a=function(t,e){if(m(e))return t.stylize(&quot;undefined&quot;,&quot;undefined&quot;);if(p(e)){var r=&quot;'&quot;+JSON.stringify(e).replace(/^&quot;|&quot;$/g,&quot;&quot;).replace(/'/g,&quot;\\'&quot;).replace(/\\&quot;/g,'&quot;')+&quot;'&quot;;return t.stylize(r,&quot;string&quot;)}if(d(e))return t.stylize(&quot;&quot;+e,&quot;number&quot;);if(f(e))return t.stylize(&quot;&quot;+e,&quot;boolean&quot;);if(h(e))return t.stylize(&quot;null&quot;,&quot;null&quot;)}(t,e);if(a)return a;var o=Object.keys(e),v=function(t){var e={};return t.forEach(function(t,r){e[t]=!0}),e}(o);if(t.showHidden&amp;&amp;(o=Object.getOwnPropertyNames(e)),x(e)&amp;&amp;(o.indexOf(&quot;message&quot;)&gt;=0||o.indexOf(&quot;description&quot;)&gt;=0))return l(e);if(0===o.length){if(b(e)){var _=e.name?&quot;: &quot;+e.name:&quot;&quot;;return t.stylize(&quot;[Function&quot;+_+&quot;]&quot;,&quot;special&quot;)}if(g(e))return t.stylize(RegExp.prototype.toString.call(e),&quot;regexp&quot;);if(y(e))return t.stylize(Date.prototype.toString.call(e),&quot;date&quot;);if(x(e))return l(e)}var w=&quot;&quot;,k=!1,A=[&quot;{&quot;,&quot;}&quot;];if(u(e)&amp;&amp;(k=!0,A=[&quot;[&quot;,&quot;]&quot;]),b(e)){w=&quot; [Function&quot;+(e.name?&quot;: &quot;+e.name:&quot;&quot;)+&quot;]&quot;}if(g(e)&amp;&amp;(w=&quot; &quot;+RegExp.prototype.toString.call(e)),y(e)&amp;&amp;(w=&quot; &quot;+Date.prototype.toUTCString.call(e)),x(e)&amp;&amp;(w=&quot; &quot;+l(e)),0===o.length&amp;&amp;(!k||0==e.length))return A[0]+w+A[1];if(n&lt;0)return g(e)?t.stylize(RegExp.prototype.toString.call(e),&quot;regexp&quot;):t.stylize(&quot;[Object]&quot;,&quot;special&quot;);t.seen.push(e);var T;return T=k?function(t,e,r,n,i){for(var a=[],o=0,s=e.length;o&lt;s;++o)M(e,String(o))?a.push(c(t,e,r,n,String(o),!0)):a.push(&quot;&quot;);return i.forEach(function(i){i.match(/^\d+$/)||a.push(c(t,e,r,n,i,!0))}),a}(t,e,n,v,o):o.map(function(r){return c(t,e,n,v,r,k)}),t.seen.pop(),function(t,e,r){var n=0;if(t.reduce(function(t,e){return n++,e.indexOf(&quot;\n&quot;)&gt;=0&amp;&amp;n++,t+e.replace(/\u001b\[\d\d?m/g,&quot;&quot;).length+1},0)&gt;60)return r[0]+(&quot;&quot;===e?&quot;&quot;:e+&quot;\n &quot;)+&quot; &quot;+t.join(&quot;,\n  &quot;)+&quot; &quot;+r[1];return r[0]+e+&quot; &quot;+t.join(&quot;, &quot;)+&quot; &quot;+r[1]}(T,w,A)}function l(t){return&quot;[&quot;+Error.prototype.toString.call(t)+&quot;]&quot;}function c(t,e,r,n,i,a){var o,l,c;if((c=Object.getOwnPropertyDescriptor(e,i)||{value:e[i]}).get?l=c.set?t.stylize(&quot;[Getter/Setter]&quot;,&quot;special&quot;):t.stylize(&quot;[Getter]&quot;,&quot;special&quot;):c.set&amp;&amp;(l=t.stylize(&quot;[Setter]&quot;,&quot;special&quot;)),M(n,i)||(o=&quot;[&quot;+i+&quot;]&quot;),l||(t.seen.indexOf(c.value)&lt;0?(l=h(r)?s(t,c.value,null):s(t,c.value,r-1)).indexOf(&quot;\n&quot;)&gt;-1&amp;&amp;(l=a?l.split(&quot;\n&quot;).map(function(t){return&quot;  &quot;+t}).join(&quot;\n&quot;).substr(2):&quot;\n&quot;+l.split(&quot;\n&quot;).map(function(t){return&quot;   &quot;+t}).join(&quot;\n&quot;)):l=t.stylize(&quot;[Circular]&quot;,&quot;special&quot;)),m(o)){if(a&amp;&amp;i.match(/^\d+$/))return l;(o=JSON.stringify(&quot;&quot;+i)).match(/^&quot;([a-zA-Z_][a-zA-Z_0-9]*)&quot;$/)?(o=o.substr(1,o.length-2),o=t.stylize(o,&quot;name&quot;)):(o=o.replace(/'/g,&quot;\\'&quot;).replace(/\\&quot;/g,'&quot;').replace(/(^&quot;|&quot;$)/g,&quot;'&quot;),o=t.stylize(o,&quot;string&quot;))}return o+&quot;: &quot;+l}function u(t){return Array.isArray(t)}function f(t){return&quot;boolean&quot;==typeof t}function h(t){return null===t}function d(t){return&quot;number&quot;==typeof t}function p(t){return&quot;string&quot;==typeof t}function m(t){return void 0===t}function g(t){return v(t)&amp;&amp;&quot;[object RegExp]&quot;===_(t)}function v(t){return&quot;object&quot;==typeof t&amp;&amp;null!==t}function y(t){return v(t)&amp;&amp;&quot;[object Date]&quot;===_(t)}function x(t){return v(t)&amp;&amp;(&quot;[object Error]&quot;===_(t)||t instanceof Error)}function b(t){return&quot;function&quot;==typeof t}function _(t){return Object.prototype.toString.call(t)}function w(t){return t&lt;10?&quot;0&quot;+t.toString(10):t.toString(10)}function M(t,e){return Object.prototype.hasOwnProperty.call(t,e)}var k=/%[sdj%]/g;r.format=function(t){if(!p(t)){for(var e=[],r=0;r&lt;arguments.length;r++)e.push(i(arguments[r]));return e.join(&quot; &quot;)}r=1;for(var n=arguments,a=n.length,o=String(t).replace(k,function(t){if(&quot;%%&quot;===t)return&quot;%&quot;;if(r&gt;=a)return t;switch(t){case&quot;%s&quot;:return String(n[r++]);case&quot;%d&quot;:return Number(n[r++]);case&quot;%j&quot;:try{return JSON.stringify(n[r++])}catch(t){return&quot;[Circular]&quot;}default:return t}}),s=n[r];r&lt;a;s=n[++r])h(s)||!v(s)?o+=&quot; &quot;+s:o+=&quot; &quot;+i(s);return o},r.deprecate=function(t,i){if(m(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,T={};r.debuglog=function(t){if(m(A)&amp;&amp;(A=e.env.NODE_DEBUG||&quot;&quot;),t=t.toUpperCase(),!T[t])if(new RegExp(&quot;\\b&quot;+t+&quot;\\b&quot;,&quot;i&quot;).test(A)){var n=e.pid;T[t]=function(){var e=r.format.apply(r,arguments);console.error(&quot;%s %d: %s&quot;,t,n,e)}}else T[t]=function(){};return T[t]},r.inspect=i,i.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]},i.styles={special:&quot;cyan&quot;,number:&quot;yellow&quot;,boolean:&quot;yellow&quot;,undefined:&quot;grey&quot;,null:&quot;bold&quot;,string:&quot;green&quot;,date:&quot;magenta&quot;,regexp:&quot;red&quot;},r.isArray=u,r.isBoolean=f,r.isNull=h,r.isNullOrUndefined=function(t){return null==t},r.isNumber=d,r.isString=p,r.isSymbol=function(t){return&quot;symbol&quot;==typeof t},r.isUndefined=m,r.isRegExp=g,r.isObject=v,r.isDate=y,r.isError=x,r.isFunction=b,r.isPrimitive=function(t){return null===t||&quot;boolean&quot;==typeof t||&quot;number&quot;==typeof t||&quot;string&quot;==typeof t||&quot;symbol&quot;==typeof t||void 0===t},r.isBuffer=t(&quot;./support/isBuffer&quot;);var S=[&quot;Jan&quot;,&quot;Feb&quot;,&quot;Mar&quot;,&quot;Apr&quot;,&quot;May&quot;,&quot;Jun&quot;,&quot;Jul&quot;,&quot;Aug&quot;,&quot;Sep&quot;,&quot;Oct&quot;,&quot;Nov&quot;,&quot;Dec&quot;];r.log=function(){console.log(&quot;%s - %s&quot;,function(){var t=new Date,e=[w(t.getHours()),w(t.getMinutes()),w(t.getSeconds())].join(&quot;:&quot;);return[t.getDate(),S[t.getMonth()],e].join(&quot; &quot;)}(),r.format.apply(r,arguments))},r.inherits=t(&quot;inherits&quot;),r._extend=function(t,e){if(!e||!v(e))return t;for(var r=Object.keys(e),n=r.length;n--;)t[r[n]]=e[r[n]];return t}}).call(this,t(&quot;_process&quot;),&quot;undefined&quot;!=typeof global?global:&quot;undefined&quot;!=typeof self?self:&quot;undefined&quot;!=typeof window?window:{})},{&quot;./support/isBuffer&quot;:562,_process:488,inherits:561}],564:[function(t,e,r){e.exports.VectorTile=t(&quot;./lib/vectortile.js&quot;),e.exports.VectorTileFeature=t(&quot;./lib/vectortilefeature.js&quot;),e.exports.VectorTileLayer=t(&quot;./lib/vectortilelayer.js&quot;)},{&quot;./lib/vectortile.js&quot;:565,&quot;./lib/vectortilefeature.js&quot;:566,&quot;./lib/vectortilelayer.js&quot;:567}],565:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r){if(3===t){var n=new i(r,r.readVarint()+r.pos);n.length&amp;&amp;(e[n.name]=n)}}var i=t(&quot;./vectortilelayer&quot;);e.exports=function(t,e){this.layers=t.readFields(n,{},e)}},{&quot;./vectortilelayer&quot;:567}],566:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,n,a){this.properties={},this.extent=r,this.type=0,this._pbf=t,this._geometry=-1,this._keys=n,this._values=a,t.readFields(i,this,e)}function i(t,e,r){1==t?e.id=r.readVarint():2==t?function(t,e){var r=t.readVarint()+t.pos;for(;t.pos&lt;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&amp;&amp;(e._geometry=r.pos)}var a=t(&quot;point-geometry&quot;);e.exports=n,n.types=[&quot;Unknown&quot;,&quot;Point&quot;,&quot;LineString&quot;,&quot;Polygon&quot;],n.prototype.loadGeometry=function(){var t=this._pbf;t.pos=this._geometry;for(var e,r=t.readVarint()+t.pos,n=1,i=0,o=0,s=0,l=[];t.pos&lt;r;){if(!i){var c=t.readVarint();n=7&amp;c,i=c&gt;&gt;3}if(i--,1===n||2===n)o+=t.readSVarint(),s+=t.readSVarint(),1===n&amp;&amp;(e&amp;&amp;l.push(e),e=[]),e.push(new a(o,s));else{if(7!==n)throw new Error(&quot;unknown command &quot;+n);e&amp;&amp;e.push(e[0].clone())}}return e&amp;&amp;l.push(e),l},n.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&lt;e;){if(!n){var u=t.readVarint();r=7&amp;u,n=u&gt;&gt;3}if(n--,1===r||2===r)i+=t.readSVarint(),a+=t.readSVarint(),i&lt;o&amp;&amp;(o=i),i&gt;s&amp;&amp;(s=i),a&lt;l&amp;&amp;(l=a),a&gt;c&amp;&amp;(c=a);else if(7!==r)throw new Error(&quot;unknown command &quot;+r)}return[o,l,s,c]},n.prototype.toGeoJSON=function(t,e,r){function i(t){for(var e=0;e&lt;t.length;e++){var r=t[e],n=180-360*(r.y+c)/s;t[e]=[360*(r.x+l)/s-180,360/Math.PI*Math.atan(Math.exp(n*Math.PI/180))-90]}}var a,o,s=this.extent*Math.pow(2,r),l=this.extent*t,c=this.extent*e,u=this.loadGeometry(),f=n.types[this.type];switch(this.type){case 1:var h=[];for(a=0;a&lt;u.length;a++)h[a]=u[a][0];i(u=h);break;case 2:for(a=0;a&lt;u.length;a++)i(u[a]);break;case 3:for(u=function(t){var e=t.length;if(e&lt;=1)return[t];for(var r,n,i=[],a=0;a&lt;e;a++){var o=function(t){for(var e,r,n=0,i=0,a=t.length,o=a-1;i&lt;a;o=i++)e=t[i],r=t[o],n+=(r.x-e.x)*(e.y+r.y);return n}(t[a]);0!==o&amp;&amp;(void 0===n&amp;&amp;(n=o&lt;0),n===o&lt;0?(r&amp;&amp;i.push(r),r=[t[a]]):r.push(t[a]))}return r&amp;&amp;i.push(r),i}(u),a=0;a&lt;u.length;a++)for(o=0;o&lt;u[a].length;o++)i(u[a][o])}1===u.length?u=u[0]:f=&quot;Multi&quot;+f;var d={type:&quot;Feature&quot;,geometry:{type:f,coordinates:u},properties:this.properties};return&quot;id&quot;in this&amp;&amp;(d.id=this.id),d}},{&quot;point-geometry&quot;:477}],567:[function(t,e,r){&quot;use strict&quot;;function n(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(i,this,e),this.length=this._features.length}function i(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&amp;&amp;e._values.push(function(t){var e=null,r=t.readVarint()+t.pos;for(;t.pos&lt;r;){var n=t.readVarint()&gt;&gt;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))}var a=t(&quot;./vectortilefeature.js&quot;);e.exports=n,n.prototype.feature=function(t){if(t&lt;0||t&gt;=this._features.length)throw new Error(&quot;feature index out of bounds&quot;);this._pbf.pos=this._features[t];var e=this._pbf.readVarint()+this._pbf.pos;return new a(this._pbf,e,this.extent,this._keys,this._values)}},{&quot;./vectortilefeature.js&quot;:566}],568:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t,e){return&quot;object&quot;==typeof e&amp;&amp;null!==e||(e={}),n(t,e.canvas||i,e.context||a,e)};var n=t(&quot;./lib/vtext&quot;),i=null,a=null;&quot;undefined&quot;!=typeof document&amp;&amp;((i=document.createElement(&quot;canvas&quot;)).width=8192,i.height=1024,a=i.getContext(&quot;2d&quot;))},{&quot;./lib/vtext&quot;:569}],569:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,n){var i=function(t,e){var r=a(t,128);return e?s(r.cells,r.positions,.25):{edges:r.cells,positions:r.positions}}(t,n),o=function(t,e,r){for(var n=e.textAlign||&quot;start&quot;,i=e.textBaseline||&quot;alphabetic&quot;,a=[1&lt;&lt;30,1&lt;&lt;30],o=[0,0],s=t.length,l=0;l&lt;s;++l)for(var c=t[l],u=0;u&lt;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&quot;center&quot;:f=-.5*(a[0]+o[0]);break;case&quot;right&quot;:case&quot;end&quot;:f=-o[0];break;case&quot;left&quot;:case&quot;start&quot;:f=-a[0];break;default:throw new Error(&quot;vectorize-text: Unrecognized textAlign: '&quot;+n+&quot;'&quot;)}var h=0;switch(i){case&quot;hanging&quot;:case&quot;top&quot;:h=-a[1];break;case&quot;middle&quot;:h=-.5*(a[1]+o[1]);break;case&quot;alphabetic&quot;:case&quot;ideographic&quot;:h=-3*r;break;case&quot;bottom&quot;:h=-o[1];break;default:throw new Error(&quot;vectorize-text: Unrecoginized textBaseline: '&quot;+i+&quot;'&quot;)}var d=1/r;return&quot;lineHeight&quot;in e?d*=+e.lineHeight:&quot;width&quot;in e?d=e.width/(o[0]-a[0]):&quot;height&quot;in e&amp;&amp;(d=e.height/(o[1]-a[1])),t.map(function(t){return[d*(t[0]+f),d*(t[1]+h)]})}(i.positions,e,r),f=i.edges,h=&quot;ccw&quot;===e.orientation;if(l(o,f),e.polygons||e.polygon||e.polyline){for(var d=u(f,o),p=new Array(d.length),m=0;m&lt;d.length;++m){for(var g=d[m],v=new Array(g.length),y=0;y&lt;g.length;++y){for(var x=g[y],b=new Array(x.length),_=0;_&lt;x.length;++_)b[_]=o[x[_]].slice();h&amp;&amp;b.reverse(),v[y]=b}p[m]=v}return p}return e.triangles||e.triangulate||e.triangle?{cells:c(o,f,{delaunay:!1,exterior:!1,interior:!0}),positions:o}:{edges:f,positions:o}}function i(t,e,r){try{return n(t,e,r,!0)}catch(t){}try{return n(t,e,r,!1)}catch(t){}return e.polygons||e.polyline||e.polygon?[]:e.triangles||e.triangulate||e.triangle?{cells:[],positions:[]}:{edges:[],positions:[]}}e.exports=function(t,e,r,n){var a=n.size||64,s=n.font||&quot;normal&quot;;return r.font=a+&quot;px &quot;+s,r.textAlign=&quot;start&quot;,r.textBaseline=&quot;alphabetic&quot;,r.direction=&quot;ltr&quot;,i(function(t,e,r,n){var i=0|Math.ceil(e.measureText(r).width+2*n);if(i&gt;8192)throw new Error(&quot;vectorize-text: String too long (sorry, this will get fixed later)&quot;);var a=3*n;t.height&lt;a&amp;&amp;(t.height=a),e.fillStyle=&quot;#000&quot;,e.fillRect(0,0,t.width,t.height),e.fillStyle=&quot;#fff&quot;,e.fillText(r,n,2*n);var s=e.getImageData(0,0,i,a);return o(s.data,[a,i,4]).pick(-1,-1,0).transpose(1,0)}(e,r,t,a),n,a)},e.exports.processPixels=i;var a=t(&quot;surface-nets&quot;),o=t(&quot;ndarray&quot;),s=t(&quot;simplify-planar-graph&quot;),l=t(&quot;clean-pslg&quot;),c=t(&quot;cdt2d&quot;),u=t(&quot;planar-graph-to-polyline&quot;)},{cdt2d:84,&quot;clean-pslg&quot;:94,ndarray:458,&quot;planar-graph-to-polyline&quot;:476,&quot;simplify-planar-graph&quot;:530,&quot;surface-nets&quot;:540}],570:[function(t,e,r){function n(t){var e=[];for(var r in t.layers)e.push(function(t){for(var e={name:t.name||&quot;&quot;,version:t.version||1,extent:t.extent||4096,keys:[],values:[],features:[]},r={},n={},o=0;o&lt;t.length;o++){var s=t.feature(o);s.geometry=function(t){for(var e=[],r=0,n=0,o=t.length,s=0;s&lt;o;s++){var l=t[s];e.push(i(1,1));for(var c=0;c&lt;l.length;c++){1===c&amp;&amp;e.push(i(2,l.length-1));var u=l[c].x-r,f=l[c].y-n;e.push(a(u),a(f)),r+=u,n+=f}}return e}(s.loadGeometry());var l=[];for(var c in s.properties){var u=r[c];void 0===u&amp;&amp;(e.keys.push(c),u=e.keys.length-1,r[c]=u);var f=function(t){var e,r=typeof t;&quot;string&quot;===r?e={string_value:t}:&quot;boolean&quot;===r?e={bool_value:t}:&quot;number&quot;===r?e=t%1!=0?{double_value:t}:t&lt;0?{sint_value:t}:{uint_value:t}:(t=JSON.stringify(t),e={string_value:t});return e.key=r+&quot;:&quot;+t,e}(s.properties[c]),h=n[f.key];void 0===h&amp;&amp;(e.values.push(f),h=e.values.length-1,n[f.key]=h),l.push(u),l.push(h)}s.tags=l,e.features.push(s)}return e}(t.layers[r]));var n=new o;return s.tile.write({layers:e},n),n.finish()}function i(t,e){return(e&lt;&lt;3)+(7&amp;t)}function a(t){return t&lt;&lt;1^t&gt;&gt;31}var o=t(&quot;pbf&quot;),s=t(&quot;./vector-tile-pb&quot;),l=t(&quot;./lib/geojson_wrapper&quot;);e.exports=n,e.exports.fromVectorTileJs=n,e.exports.fromGeojsonVt=function(t){var e={};for(var r in t)e[r]=new l(t[r].features),e[r].name=r;return n({layers:e})},e.exports.GeoJSONWrapper=l},{&quot;./lib/geojson_wrapper&quot;:571,&quot;./vector-tile-pb&quot;:572,pbf:470}],571:[function(t,e,r){&quot;use strict&quot;;function n(t){this.features=t,this.length=t.length}function i(t){this.id=&quot;number&quot;==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=4096}var a=t(&quot;point-geometry&quot;),o=t(&quot;vector-tile&quot;).VectorTileFeature;e.exports=n,n.prototype.feature=function(t){return new i(this.features[t])},i.prototype.loadGeometry=function(){var t=this.rawGeometry;this.geometry=[];for(var e=0;e&lt;t.length;e++){for(var r=t[e],n=[],i=0;i&lt;r.length;i++)n.push(new a(r[i][0],r[i][1]));this.geometry.push(n)}return this.geometry},i.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&lt;t.length;a++)for(var o=t[a],s=0;s&lt;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]},i.prototype.toGeoJSON=o.prototype.toGeoJSON},{&quot;point-geometry&quot;:477,&quot;vector-tile&quot;:564}],572:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r){3===t&amp;&amp;e.layers.push(u(r,r.readVarint()+r.pos))}function i(t,e){return t.readFields(a,{},e)}function a(t,e,r){1===t?e.string_value=r.readString():2===t?e.float_value=r.readFloat():3===t?e.double_value=r.readDouble():4===t?e.int_value=r.readVarint():5===t?e.uint_value=r.readVarint():6===t?e.sint_value=r.readSVarint():7===t&amp;&amp;(e.bool_value=r.readBoolean())}function o(t,e){void 0!==t.string_value&amp;&amp;e.writeStringField(1,t.string_value),void 0!==t.float_value&amp;&amp;e.writeFloatField(2,t.float_value),void 0!==t.double_value&amp;&amp;e.writeDoubleField(3,t.double_value),void 0!==t.int_value&amp;&amp;e.writeVarintField(4,t.int_value),void 0!==t.uint_value&amp;&amp;e.writeVarintField(5,t.uint_value),void 0!==t.sint_value&amp;&amp;e.writeSVarintField(6,t.sint_value),void 0!==t.bool_value&amp;&amp;e.writeBooleanField(7,t.bool_value)}function s(t,e){var r=t.readFields(l,{},e);return void 0===r.type&amp;&amp;(r.type=&quot;Unknown&quot;),r}function l(t,e,r){1===t?e.id=r.readVarint():2===t?e.tags=r.readPackedVarint():3===t?e.type=r.readVarint():4===t&amp;&amp;(e.geometry=r.readPackedVarint())}function c(t,e){void 0!==t.id&amp;&amp;e.writeVarintField(1,t.id),void 0!==t.tags&amp;&amp;e.writePackedVarint(2,t.tags),void 0!==t.type&amp;&amp;e.writeVarintField(3,t.type),void 0!==t.geometry&amp;&amp;e.writePackedVarint(4,t.geometry)}function u(t,e){return t.readFields(f,{features:[],keys:[],values:[]},e)}function f(t,e,r){15===t?e.version=r.readVarint():1===t?e.name=r.readString():2===t?e.features.push(s(r,r.readVarint()+r.pos)):3===t?e.keys.push(r.readString()):4===t?e.values.push(i(r,r.readVarint()+r.pos)):5===t&amp;&amp;(e.extent=r.readVarint())}function h(t,e){void 0!==t.version&amp;&amp;e.writeVarintField(15,t.version),void 0!==t.name&amp;&amp;e.writeStringField(1,t.name);var r;if(void 0!==t.features)for(r=0;r&lt;t.features.length;r++)e.writeMessage(2,c,t.features[r]);if(void 0!==t.keys)for(r=0;r&lt;t.keys.length;r++)e.writeStringField(3,t.keys[r]);if(void 0!==t.values)for(r=0;r&lt;t.values.length;r++)e.writeMessage(4,o,t.values[r]);void 0!==t.extent&amp;&amp;e.writeVarintField(5,t.extent)}var d=r.tile={read:function(t,e){return t.readFields(n,{layers:[]},e)},write:function(t,e){var r;if(void 0!==t.layers)for(r=0;r&lt;t.layers.length;r++)e.writeMessage(3,h,t.layers[r])}};d.GeomType={Unknown:0,Point:1,LineString:2,Polygon:3},d.value={read:i,write:o},d.feature={read:s,write:c},d.layer={read:u,write:h}},{}],573:[function(t,e,r){!function(){&quot;use strict&quot;;function t(e){e.permitHostObjects___&amp;&amp;e.permitHostObjects___(t)}function r(t){return!(t.substr(0,d.length)==d&amp;&amp;&quot;___&quot;===t.substr(t.length-3))}function n(t){if(t!==Object(t))throw new TypeError(&quot;Not an object: &quot;+t);var e=t[p];if(e&amp;&amp;e.key===t)return e;if(h(t)){e={key:t};try{return f(t,p,{value:e,writable:!1,enumerable:!1,configurable:!1}),e}catch(t){return}}}function i(t){return t.prototype=null,Object.freeze(t)}function a(){y||&quot;undefined&quot;==typeof console||(y=!0,console.warn(&quot;WeakMap should be invoked as new WeakMap(), not WeakMap(). This will be an error in the future.&quot;))}if(&quot;undefined&quot;==typeof ses||!ses.ok||ses.ok()){&quot;undefined&quot;!=typeof ses&amp;&amp;(ses.weakMapPermitHostObjects=t);var o=!1;if(&quot;function&quot;==typeof WeakMap){var s=WeakMap;if(&quot;undefined&quot;!=typeof navigator&amp;&amp;/Firefox/.test(navigator.userAgent));else{var l=new s,c=Object.freeze({});if(l.set(c,1),1===l.get(c))return void(e.exports=WeakMap);o=!0}}Object.prototype.hasOwnProperty;var u=Object.getOwnPropertyNames,f=Object.defineProperty,h=Object.isExtensible,d=&quot;weakmap:&quot;,p=d+&quot;ident:&quot;+Math.random()+&quot;___&quot;;if(&quot;undefined&quot;!=typeof crypto&amp;&amp;&quot;function&quot;==typeof crypto.getRandomValues&amp;&amp;&quot;function&quot;==typeof ArrayBuffer&amp;&amp;&quot;function&quot;==typeof Uint8Array){var m=new ArrayBuffer(25),g=new Uint8Array(m);crypto.getRandomValues(g),p=d+&quot;rand:&quot;+Array.prototype.map.call(g,function(t){return(t%36).toString(36)}).join(&quot;&quot;)+&quot;___&quot;}if(f(Object,&quot;getOwnPropertyNames&quot;,{value:function(t){return u(t).filter(r)}}),&quot;getPropertyNames&quot;in Object){var v=Object.getPropertyNames;f(Object,&quot;getPropertyNames&quot;,{value:function(t){return v(t).filter(r)}})}!function(){var t=Object.freeze;f(Object,&quot;freeze&quot;,{value:function(e){return n(e),t(e)}});var e=Object.seal;f(Object,&quot;seal&quot;,{value:function(t){return n(t),e(t)}});var r=Object.preventExtensions;f(Object,&quot;preventExtensions&quot;,{value:function(t){return n(t),r(t)}})}();var y=!1,x=0,b=function(){this instanceof b||a();var t=[],e=[],r=x++;return Object.create(b.prototype,{get___:{value:i(function(i,a){var o,s=n(i);return s?r in s?s[r]:a:(o=t.indexOf(i))&gt;=0?e[o]:a})},has___:{value:i(function(e){var i=n(e);return i?r in i:t.indexOf(e)&gt;=0})},set___:{value:i(function(i,a){var o,s=n(i);return s?s[r]=a:(o=t.indexOf(i))&gt;=0?e[o]=a:(o=t.length,e[o]=a,t[o]=i),this})},delete___:{value:i(function(i){var a,o,s=n(i);return s?r in s&amp;&amp;delete s[r]:!((a=t.indexOf(i))&lt;0||(o=t.length-1,t[a]=void 0,e[a]=e[o],t[a]=t[o],t.length=o,e.length=o,0))})}})};b.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}}),&quot;function&quot;==typeof s?function(){function r(){this instanceof b||a();var e,r=new s,n=void 0,l=!1;return e=o?function(t,e){return r.set(t,e),r.has(t)||(n||(n=new b),n.set(t,e)),this}:function(t,e){if(l)try{r.set(t,e)}catch(r){n||(n=new b),n.set___(t,e)}else r.set(t,e);return this},Object.create(b.prototype,{get___:{value:i(function(t,e){return n?r.has(t)?r.get(t):n.get___(t,e):r.get(t,e)})},has___:{value:i(function(t){return r.has(t)||!!n&amp;&amp;n.has___(t)})},set___:{value:i(e)},delete___:{value:i(function(t){var e=!!r.delete(t);return n?n.delete___(t)||e:e})},permitHostObjects___:{value:i(function(e){if(e!==t)throw new Error(&quot;bogus call to permitHostObjects___&quot;);l=!0})}})}o&amp;&amp;&quot;undefined&quot;!=typeof Proxy&amp;&amp;(Proxy=void 0),r.prototype=b.prototype,e.exports=r,Object.defineProperty(WeakMap.prototype,&quot;constructor&quot;,{value:WeakMap,enumerable:!1,configurable:!0,writable:!0})}():(&quot;undefined&quot;!=typeof Proxy&amp;&amp;(Proxy=void 0),e.exports=b)}}()},{}],574:[function(t,e,r){var n=t(&quot;./hidden-store.js&quot;);e.exports=function(){var t={};return function(e){if((&quot;object&quot;!=typeof e||null===e)&amp;&amp;&quot;function&quot;!=typeof e)throw new Error(&quot;Weakmap-shim: Key must be object&quot;);var r=e.valueOf(t);return r&amp;&amp;r.identity===t?r:n(e,t)}}},{&quot;./hidden-store.js&quot;:575}],575:[function(t,e,r){e.exports=function(t,e){var r={identity:e},n=t.valueOf;return Object.defineProperty(t,&quot;valueOf&quot;,{value:function(t){return t!==e?n.apply(this,arguments):r},writable:!0}),r}},{}],576:[function(t,e,r){var n=t(&quot;./create-store.js&quot;);e.exports=function(){var t=n();return{get:function(e,r){var n=t(e);return n.hasOwnProperty(&quot;value&quot;)?n.value:r},set:function(e,r){return t(e).value=r,this},has:function(e){return&quot;value&quot;in t(e)},delete:function(e){return delete t(e).value}}}},{&quot;./create-store.js&quot;:574}],577:[function(t,e,r){var n=t(&quot;get-canvas-context&quot;);e.exports=function(t){return n(&quot;webgl&quot;,t)}},{&quot;get-canvas-context&quot;:156}],578:[function(t,e,r){var n=arguments[3],i=arguments[4],a=arguments[5],o=JSON.stringify;e.exports=function(t,e){function r(t){g[t]=!0;for(var e in i[t][1]){var n=i[t][1][e];g[n]||r(n)}}for(var s,l=Object.keys(a),c=0,u=l.length;c&lt;u;c++){var f=l[c],h=a[f].exports;if(h===t||h&amp;&amp;h.default===t){s=f;break}}if(!s){s=Math.floor(Math.pow(16,8)*Math.random()).toString(16);var d={};for(c=0,u=l.length;c&lt;u;c++){d[f=l[c]]=f}i[s]=[Function([&quot;require&quot;,&quot;module&quot;,&quot;exports&quot;],&quot;(&quot;+t+&quot;)(self)&quot;),d]}var p=Math.floor(Math.pow(16,8)*Math.random()).toString(16),m={};m[s]=s,i[p]=[Function([&quot;require&quot;],&quot;var f = require(&quot;+o(s)+&quot;);(f.default ? f.default : f)(self);&quot;),m];var g={};r(p);var v=&quot;(&quot;+n+&quot;)({&quot;+Object.keys(g).map(function(t){return o(t)+&quot;:[&quot;+i[t][0]+&quot;,&quot;+o(i[t][1])+&quot;]&quot;}).join(&quot;,&quot;)+&quot;},{},[&quot;+o(p)+&quot;])&quot;,y=window.URL||window.webkitURL||window.mozURL||window.msURL,x=new Blob([v],{type:&quot;text/javascript&quot;});if(e&amp;&amp;e.bare)return x;var b=y.createObjectURL(x),_=new Worker(b);return _.objectURL=b,_}},{}],579:[function(t,e,r){e.exports.RADIUS=6378137,e.exports.FLATTENING=1/298.257223563,e.exports.POLAR_RADIUS=6356752.3142},{}],580:[function(t,e,r){!function(t,n){n(&quot;object&quot;==typeof r&amp;&amp;void 0!==e?r:t.WhooTS=t.WhooTS||{})}(this,function(t){function e(t,e,n){var i=r(256*t,256*(e=Math.pow(2,n)-e-1),n),a=r(256*(t+1),256*(e+1),n);return i[0]+&quot;,&quot;+i[1]+&quot;,&quot;+a[0]+&quot;,&quot;+a[1]}function r(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]}t.getURL=function(t,r,n,i,a,o){return o=o||{},t+&quot;?&quot;+[&quot;bbox=&quot;+e(n,i,a),&quot;format=&quot;+(o.format||&quot;image/png&quot;),&quot;service=&quot;+(o.service||&quot;WMS&quot;),&quot;version=&quot;+(o.version||&quot;1.1.1&quot;),&quot;request=&quot;+(o.request||&quot;GetMap&quot;),&quot;srs=&quot;+(o.srs||&quot;EPSG:3857&quot;),&quot;width=&quot;+(o.width||256),&quot;height=&quot;+(o.height||256),&quot;layers=&quot;+r].join(&quot;&amp;&quot;)},t.getTileBBox=e,t.getMercCoords=r,Object.defineProperty(t,&quot;__esModule&quot;,{value:!0})})},{}],581:[function(t,e,r){function n(t){this.local=this.regionalOptions[t||&quot;&quot;]||this.regionalOptions[&quot;&quot;]}var i=t(&quot;../main&quot;),a=t(&quot;object-assign&quot;),o=i.instance();a(n.prototype=new i.baseCalendar,{name:&quot;Chinese&quot;,jdEpoch:1721425.5,hasYearZero:!1,minMonth:0,firstMonth:0,minDay:1,regionalOptions:{&quot;&quot;:{name:&quot;Chinese&quot;,epochs:[&quot;BEC&quot;,&quot;EC&quot;],monthNumbers:function(t,e){if(&quot;string&quot;==typeof t){var r=t.match(l);return r?r[0]:&quot;&quot;}var n=this._validateYear(t),i=t.month(),a=&quot;&quot;+this.toChineseMonth(n,i);return e&amp;&amp;a.length&lt;2&amp;&amp;(a=&quot;0&quot;+a),this.isIntercalaryMonth(n,i)&amp;&amp;(a+=&quot;i&quot;),a},monthNames:function(t){if(&quot;string&quot;==typeof t){var e=t.match(c);return e?e[0]:&quot;&quot;}var r=this._validateYear(t),n=t.month(),i=[&quot;\u4e00\u6708&quot;,&quot;\u4e8c\u6708&quot;,&quot;\u4e09\u6708&quot;,&quot;\u56db\u6708&quot;,&quot;\u4e94\u6708&quot;,&quot;\u516d\u6708&quot;,&quot;\u4e03\u6708&quot;,&quot;\u516b\u6708&quot;,&quot;\u4e5d\u6708&quot;,&quot;\u5341\u6708&quot;,&quot;\u5341\u4e00\u6708&quot;,&quot;\u5341\u4e8c\u6708&quot;][this.toChineseMonth(r,n)-1];return this.isIntercalaryMonth(r,n)&amp;&amp;(i=&quot;\u95f0&quot;+i),i},monthNamesShort:function(t){if(&quot;string&quot;==typeof t){var e=t.match(u);return e?e[0]:&quot;&quot;}var r=this._validateYear(t),n=t.month(),i=[&quot;\u4e00&quot;,&quot;\u4e8c&quot;,&quot;\u4e09&quot;,&quot;\u56db&quot;,&quot;\u4e94&quot;,&quot;\u516d&quot;,&quot;\u4e03&quot;,&quot;\u516b&quot;,&quot;\u4e5d&quot;,&quot;\u5341&quot;,&quot;\u5341\u4e00&quot;,&quot;\u5341\u4e8c&quot;][this.toChineseMonth(r,n)-1];return this.isIntercalaryMonth(r,n)&amp;&amp;(i=&quot;\u95f0&quot;+i),i},parseMonth:function(t,e){t=this._validateYear(t);var r,n=parseInt(e);if(isNaN(n))&quot;\u95f0&quot;===e[0]&amp;&amp;(r=!0,e=e.substring(1)),&quot;\u6708&quot;===e[e.length-1]&amp;&amp;(e=e.substring(0,e.length-1)),n=1+[&quot;\u4e00&quot;,&quot;\u4e8c&quot;,&quot;\u4e09&quot;,&quot;\u56db&quot;,&quot;\u4e94&quot;,&quot;\u516d&quot;,&quot;\u4e03&quot;,&quot;\u516b&quot;,&quot;\u4e5d&quot;,&quot;\u5341&quot;,&quot;\u5341\u4e00&quot;,&quot;\u5341\u4e8c&quot;].indexOf(e);else{var i=e[e.length-1];r=&quot;i&quot;===i||&quot;I&quot;===i}return this.toMonthIndex(t,n,r)},dayNames:[&quot;Sunday&quot;,&quot;Monday&quot;,&quot;Tuesday&quot;,&quot;Wednesday&quot;,&quot;Thursday&quot;,&quot;Friday&quot;,&quot;Saturday&quot;],dayNamesShort:[&quot;Sun&quot;,&quot;Mon&quot;,&quot;Tue&quot;,&quot;Wed&quot;,&quot;Thu&quot;,&quot;Fri&quot;,&quot;Sat&quot;],dayNamesMin:[&quot;Su&quot;,&quot;Mo&quot;,&quot;Tu&quot;,&quot;We&quot;,&quot;Th&quot;,&quot;Fr&quot;,&quot;Sa&quot;],digits:null,dateFormat:&quot;yyyy/mm/dd&quot;,firstDay:1,isRTL:!1}},_validateYear:function(t,e){if(t.year&amp;&amp;(t=t.year()),&quot;number&quot;!=typeof t||t&lt;1888||t&gt;2111)throw e.replace(/\{0\}/,this.local.name);return t},toMonthIndex:function(t,e,r){var n=this.intercalaryMonth(t);if(r&amp;&amp;e!==n||e&lt;1||e&gt;12)throw i.local.invalidMonth.replace(/\{0\}/,this.local.name);return n?!r&amp;&amp;e&lt;=n?e-1:e:e-1},toChineseMonth:function(t,e){t.year&amp;&amp;(e=(t=t.year()).month());var r=this.intercalaryMonth(t);if(e&lt;0||e&gt;(r?12:11))throw i.local.invalidMonth.replace(/\{0\}/,this.local.name);return r?e&lt;r?e+1:e:e+1},intercalaryMonth:function(t){t=this._validateYear(t);return f[t-f[0]]&gt;&gt;13},isIntercalaryMonth:function(t,e){t.year&amp;&amp;(e=(t=t.year()).month());var r=this.intercalaryMonth(t);return!!r&amp;&amp;r===e},leapYear:function(t){return 0!==this.intercalaryMonth(t)},weekOfYear:function(t,e,r){var n,a=this._validateYear(t,i.local.invalidyear),s=h[a-h[0]],l=s&gt;&gt;9&amp;4095,c=s&gt;&gt;5&amp;15,u=31&amp;s;(n=o.newDate(l,c,u)).add(4-(n.dayOfWeek()||7),&quot;d&quot;);var f=this.toJD(t,e,r)-n.toJD();return 1+Math.floor(f/7)},monthsInYear:function(t){return this.leapYear(t)?13:12},daysInMonth:function(t,e){t.year&amp;&amp;(e=t.month(),t=t.year()),t=this._validateYear(t);var r=f[t-f[0]];if(e&gt;(r&gt;&gt;13?12:11))throw i.local.invalidMonth.replace(/\{0\}/,this.local.name);return r&amp;1&lt;&lt;12-e?30:29},weekDay:function(t,e,r){return(this.dayOfWeek(t,e,r)||7)&lt;6},toJD:function(t,e,r){var n=this._validate(t,s,r,i.local.invalidDate);t=this._validateYear(n.year()),e=n.month(),r=n.day();var a=this.isIntercalaryMonth(t,e),s=this.toChineseMonth(t,e),l=function(t,e,r,n,i){var a,o;if(&quot;object&quot;==typeof t)o=t,a=e||{};else{if(!(&quot;number&quot;==typeof t&amp;&amp;t&gt;=1888&amp;&amp;t&lt;=2111))throw new Error(&quot;Lunar year outside range 1888-2111&quot;);if(!(&quot;number&quot;==typeof e&amp;&amp;e&gt;=1&amp;&amp;e&lt;=12))throw new Error(&quot;Lunar month outside range 1 - 12&quot;);if(!(&quot;number&quot;==typeof r&amp;&amp;r&gt;=1&amp;&amp;r&lt;=30))throw new Error(&quot;Lunar day outside range 1 - 30&quot;);var s;&quot;object&quot;==typeof n?(s=!1,a=n):(s=!!n,a=i||{}),o={year:t,month:e,day:r,isIntercalary:s}}var l;l=o.day-1;var c,u=f[o.year-f[0]],d=u&gt;&gt;13;c=d?o.month&gt;d?o.month:o.isIntercalary?o.month:o.month-1:o.month-1;for(var p=0;p&lt;c;p++)l+=u&amp;1&lt;&lt;12-p?30:29;var m=h[o.year-h[0]],g=m&gt;&gt;9&amp;4095,v=m&gt;&gt;5&amp;15,y=31&amp;m,x=new Date(g,v-1,y+l);return a.year=x.getFullYear(),a.month=1+x.getMonth(),a.day=x.getDate(),a}(t,s,r,a);return o.toJD(l.year,l.month,l.day)},fromJD:function(t){var e=o.fromJD(t),r=function(t,e,r,n){var i,a;if(&quot;object&quot;==typeof t)i=t,a=e||{};else{if(!(&quot;number&quot;==typeof t&amp;&amp;t&gt;=1888&amp;&amp;t&lt;=2111))throw new Error(&quot;Solar year outside range 1888-2111&quot;);if(!(&quot;number&quot;==typeof e&amp;&amp;e&gt;=1&amp;&amp;e&lt;=12))throw new Error(&quot;Solar month outside range 1 - 12&quot;);if(!(&quot;number&quot;==typeof r&amp;&amp;r&gt;=1&amp;&amp;r&lt;=31))throw new Error(&quot;Solar day outside range 1 - 31&quot;);i={year:t,month:e,day:r},a=n||{}}var o=h[i.year-h[0]],s=i.year&lt;&lt;9|i.month&lt;&lt;5|i.day;a.year=s&gt;=o?i.year:i.year-1;var l,c=(o=h[a.year-h[0]])&gt;&gt;9&amp;4095,u=o&gt;&gt;5&amp;15,d=31&amp;o,p=new Date(c,u-1,d),m=new Date(i.year,i.month-1,i.day);l=Math.round((m-p)/864e5);var g,v=f[a.year-f[0]];for(g=0;g&lt;13;g++){var y=v&amp;1&lt;&lt;12-g?30:29;if(l&lt;y)break;l-=y}var x=v&gt;&gt;13;return!x||g&lt;x?(a.isIntercalary=!1,a.month=1+g):g===x?(a.isIntercalary=!0,a.month=g):(a.isIntercalary=!1,a.month=g),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 i=t.year(),a=t.month(),o=this.isIntercalaryMonth(i,a),s=this.toChineseMonth(i,a),l=Object.getPrototypeOf(n.prototype).add.call(this,t,e,r);if(&quot;y&quot;===r){var c=l.year(),u=l.month(),f=this.isIntercalaryMonth(c,s),h=o&amp;&amp;f?this.toMonthIndex(c,s,!0):this.toMonthIndex(c,s,!1);h!==u&amp;&amp;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;i.calendars.chinese=n;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]},{&quot;../main&quot;:595,&quot;object-assign&quot;:462}],582:[function(t,e,r){function n(t){this.local=this.regionalOptions[t||&quot;&quot;]||this.regionalOptions[&quot;&quot;]}var i=t(&quot;../main&quot;);t(&quot;object-assign&quot;)(n.prototype=new i.baseCalendar,{name:&quot;Coptic&quot;,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:{&quot;&quot;:{name:&quot;Coptic&quot;,epochs:[&quot;BAM&quot;,&quot;AM&quot;],monthNames:[&quot;Thout&quot;,&quot;Paopi&quot;,&quot;Hathor&quot;,&quot;Koiak&quot;,&quot;Tobi&quot;,&quot;Meshir&quot;,&quot;Paremhat&quot;,&quot;Paremoude&quot;,&quot;Pashons&quot;,&quot;Paoni&quot;,&quot;Epip&quot;,&quot;Mesori&quot;,&quot;Pi Kogi Enavot&quot;],monthNamesShort:[&quot;Tho&quot;,&quot;Pao&quot;,&quot;Hath&quot;,&quot;Koi&quot;,&quot;Tob&quot;,&quot;Mesh&quot;,&quot;Pat&quot;,&quot;Pad&quot;,&quot;Pash&quot;,&quot;Pao&quot;,&quot;Epi&quot;,&quot;Meso&quot;,&quot;PiK&quot;],dayNames:[&quot;Tkyriaka&quot;,&quot;Pesnau&quot;,&quot;Pshoment&quot;,&quot;Peftoou&quot;,&quot;Ptiou&quot;,&quot;Psoou&quot;,&quot;Psabbaton&quot;],dayNamesShort:[&quot;Tky&quot;,&quot;Pes&quot;,&quot;Psh&quot;,&quot;Pef&quot;,&quot;Pti&quot;,&quot;Pso&quot;,&quot;Psa&quot;],dayNamesMin:[&quot;Tk&quot;,&quot;Pes&quot;,&quot;Psh&quot;,&quot;Pef&quot;,&quot;Pt&quot;,&quot;Pso&quot;,&quot;Psa&quot;],digits:null,dateFormat:&quot;dd/mm/yyyy&quot;,firstDay:0,isRTL:!1}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,i.local.invalidYear);return(t=e.year()+(e.year()&lt;0?1:0))%4==3||t%4==-1},monthsInYear:function(t){return this._validate(t,this.minMonth,this.minDay,i.local.invalidYear||i.regionalOptions[&quot;&quot;].invalidYear),13},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(-n.dayOfWeek(),&quot;d&quot;),Math.floor((n.dayOfYear()-1)/7)+1},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,i.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(13===r.month()&amp;&amp;this.leapYear(r.year())?1:0)},weekDay:function(t,e,r){return(this.dayOfWeek(t,e,r)||7)&lt;6},toJD:function(t,e,r){var n=this._validate(t,e,r,i.local.invalidDate);return(t=n.year())&lt;0&amp;&amp;t++,n.day()+30*(n.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&lt;=0&amp;&amp;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)}}),i.calendars.coptic=n},{&quot;../main&quot;:595,&quot;object-assign&quot;:462}],583:[function(t,e,r){function n(t){this.local=this.regionalOptions[t||&quot;&quot;]||this.regionalOptions[&quot;&quot;]}var i=t(&quot;../main&quot;);t(&quot;object-assign&quot;)(n.prototype=new i.baseCalendar,{name:&quot;Discworld&quot;,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:{&quot;&quot;:{name:&quot;Discworld&quot;,epochs:[&quot;BUC&quot;,&quot;UC&quot;],monthNames:[&quot;Ick&quot;,&quot;Offle&quot;,&quot;February&quot;,&quot;March&quot;,&quot;April&quot;,&quot;May&quot;,&quot;June&quot;,&quot;Grune&quot;,&quot;August&quot;,&quot;Spune&quot;,&quot;Sektober&quot;,&quot;Ember&quot;,&quot;December&quot;],monthNamesShort:[&quot;Ick&quot;,&quot;Off&quot;,&quot;Feb&quot;,&quot;Mar&quot;,&quot;Apr&quot;,&quot;May&quot;,&quot;Jun&quot;,&quot;Gru&quot;,&quot;Aug&quot;,&quot;Spu&quot;,&quot;Sek&quot;,&quot;Emb&quot;,&quot;Dec&quot;],dayNames:[&quot;Sunday&quot;,&quot;Octeday&quot;,&quot;Monday&quot;,&quot;Tuesday&quot;,&quot;Wednesday&quot;,&quot;Thursday&quot;,&quot;Friday&quot;,&quot;Saturday&quot;],dayNamesShort:[&quot;Sun&quot;,&quot;Oct&quot;,&quot;Mon&quot;,&quot;Tue&quot;,&quot;Wed&quot;,&quot;Thu&quot;,&quot;Fri&quot;,&quot;Sat&quot;],dayNamesMin:[&quot;Su&quot;,&quot;Oc&quot;,&quot;Mo&quot;,&quot;Tu&quot;,&quot;We&quot;,&quot;Th&quot;,&quot;Fr&quot;,&quot;Sa&quot;],digits:null,dateFormat:&quot;yyyy/mm/dd&quot;,firstDay:2,isRTL:!1}},leapYear:function(t){return this._validate(t,this.minMonth,this.minDay,i.local.invalidYear),!1},monthsInYear:function(t){return this._validate(t,this.minMonth,this.minDay,i.local.invalidYear),13},daysInYear:function(t){return this._validate(t,this.minMonth,this.minDay,i.local.invalidYear),400},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(-n.dayOfWeek(),&quot;d&quot;),Math.floor((n.dayOfYear()-1)/8)+1},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,i.local.invalidMonth);return this.daysPerMonth[r.month()-1]},daysInWeek:function(){return 8},dayOfWeek:function(t,e,r){return(this._validate(t,e,r,i.local.invalidDate).day()+1)%8},weekDay:function(t,e,r){var n=this.dayOfWeek(t,e,r);return n&gt;=2&amp;&amp;n&lt;=6},extraInfo:function(t,e,r){var n=this._validate(t,e,r,i.local.invalidDate);return{century:a[Math.floor((n.year()-1)/100)+1]||&quot;&quot;}},toJD:function(t,e,r){var n=this._validate(t,e,r,i.local.invalidDate);return t=n.year()+(n.year()&lt;0?1:0),e=n.month(),(r=n.day())+(e&gt;1?16:0)+(e&gt;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&gt;15?16:0;var r=Math.floor(t/32)+1,n=t-32*(r-1)+1;return this.newDate(e&lt;=0?e-1:e,r,n)}});var a={20:&quot;Fruitbat&quot;,21:&quot;Anchovy&quot;};i.calendars.discworld=n},{&quot;../main&quot;:595,&quot;object-assign&quot;:462}],584:[function(t,e,r){function n(t){this.local=this.regionalOptions[t||&quot;&quot;]||this.regionalOptions[&quot;&quot;]}var i=t(&quot;../main&quot;);t(&quot;object-assign&quot;)(n.prototype=new i.baseCalendar,{name:&quot;Ethiopian&quot;,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:{&quot;&quot;:{name:&quot;Ethiopian&quot;,epochs:[&quot;BEE&quot;,&quot;EE&quot;],monthNames:[&quot;Meskerem&quot;,&quot;Tikemet&quot;,&quot;Hidar&quot;,&quot;Tahesas&quot;,&quot;Tir&quot;,&quot;Yekatit&quot;,&quot;Megabit&quot;,&quot;Miazia&quot;,&quot;Genbot&quot;,&quot;Sene&quot;,&quot;Hamle&quot;,&quot;Nehase&quot;,&quot;Pagume&quot;],monthNamesShort:[&quot;Mes&quot;,&quot;Tik&quot;,&quot;Hid&quot;,&quot;Tah&quot;,&quot;Tir&quot;,&quot;Yek&quot;,&quot;Meg&quot;,&quot;Mia&quot;,&quot;Gen&quot;,&quot;Sen&quot;,&quot;Ham&quot;,&quot;Neh&quot;,&quot;Pag&quot;],dayNames:[&quot;Ehud&quot;,&quot;Segno&quot;,&quot;Maksegno&quot;,&quot;Irob&quot;,&quot;Hamus&quot;,&quot;Arb&quot;,&quot;Kidame&quot;],dayNamesShort:[&quot;Ehu&quot;,&quot;Seg&quot;,&quot;Mak&quot;,&quot;Iro&quot;,&quot;Ham&quot;,&quot;Arb&quot;,&quot;Kid&quot;],dayNamesMin:[&quot;Eh&quot;,&quot;Se&quot;,&quot;Ma&quot;,&quot;Ir&quot;,&quot;Ha&quot;,&quot;Ar&quot;,&quot;Ki&quot;],digits:null,dateFormat:&quot;dd/mm/yyyy&quot;,firstDay:0,isRTL:!1}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,i.local.invalidYear);return(t=e.year()+(e.year()&lt;0?1:0))%4==3||t%4==-1},monthsInYear:function(t){return this._validate(t,this.minMonth,this.minDay,i.local.invalidYear||i.regionalOptions[&quot;&quot;].invalidYear),13},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(-n.dayOfWeek(),&quot;d&quot;),Math.floor((n.dayOfYear()-1)/7)+1},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,i.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(13===r.month()&amp;&amp;this.leapYear(r.year())?1:0)},weekDay:function(t,e,r){return(this.dayOfWeek(t,e,r)||7)&lt;6},toJD:function(t,e,r){var n=this._validate(t,e,r,i.local.invalidDate);return(t=n.year())&lt;0&amp;&amp;t++,n.day()+30*(n.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&lt;=0&amp;&amp;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)}}),i.calendars.ethiopian=n},{&quot;../main&quot;:595,&quot;object-assign&quot;:462}],585:[function(t,e,r){function n(t){this.local=this.regionalOptions[t||&quot;&quot;]||this.regionalOptions[&quot;&quot;]}function i(t,e){return t-e*Math.floor(t/e)}var a=t(&quot;../main&quot;);t(&quot;object-assign&quot;)(n.prototype=new a.baseCalendar,{name:&quot;Hebrew&quot;,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:{&quot;&quot;:{name:&quot;Hebrew&quot;,epochs:[&quot;BAM&quot;,&quot;AM&quot;],monthNames:[&quot;Nisan&quot;,&quot;Iyar&quot;,&quot;Sivan&quot;,&quot;Tammuz&quot;,&quot;Av&quot;,&quot;Elul&quot;,&quot;Tishrei&quot;,&quot;Cheshvan&quot;,&quot;Kislev&quot;,&quot;Tevet&quot;,&quot;Shevat&quot;,&quot;Adar&quot;,&quot;Adar II&quot;],monthNamesShort:[&quot;Nis&quot;,&quot;Iya&quot;,&quot;Siv&quot;,&quot;Tam&quot;,&quot;Av&quot;,&quot;Elu&quot;,&quot;Tis&quot;,&quot;Che&quot;,&quot;Kis&quot;,&quot;Tev&quot;,&quot;She&quot;,&quot;Ada&quot;,&quot;Ad2&quot;],dayNames:[&quot;Yom Rishon&quot;,&quot;Yom Sheni&quot;,&quot;Yom Shlishi&quot;,&quot;Yom Revi'i&quot;,&quot;Yom Chamishi&quot;,&quot;Yom Shishi&quot;,&quot;Yom Shabbat&quot;],dayNamesShort:[&quot;Ris&quot;,&quot;She&quot;,&quot;Shl&quot;,&quot;Rev&quot;,&quot;Cha&quot;,&quot;Shi&quot;,&quot;Sha&quot;],dayNamesMin:[&quot;Ri&quot;,&quot;She&quot;,&quot;Shl&quot;,&quot;Re&quot;,&quot;Ch&quot;,&quot;Shi&quot;,&quot;Sha&quot;],digits:null,dateFormat:&quot;dd/mm/yyyy&quot;,firstDay:0,isRTL:!1}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,a.local.invalidYear);return this._leapYear(e.year())},_leapYear:function(t){return t=t&lt;0?t+1:t,i(7*t+1,19)&lt;7},monthsInYear:function(t){return this._validate(t,this.minMonth,this.minDay,a.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(),&quot;d&quot;),Math.floor((n.dayOfYear()-1)/7)+1},daysInYear:function(t){return t=this._validate(t,this.minMonth,this.minDay,a.local.invalidYear).year(),this.toJD(-1===t?1:t+1,7,1)-this.toJD(t,7,1)},daysInMonth:function(t,e){return t.year&amp;&amp;(e=t.month(),t=t.year()),this._validate(t,e,this.minDay,a.local.invalidMonth),12===e&amp;&amp;this.leapYear(t)?30:8===e&amp;&amp;5===i(this.daysInYear(t),10)?30:9===e&amp;&amp;3===i(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 n=this._validate(t,e,r,a.local.invalidDate);return{yearType:(this.leapYear(n)?&quot;embolismic&quot;:&quot;common&quot;)+&quot; &quot;+[&quot;deficient&quot;,&quot;regular&quot;,&quot;complete&quot;][this.daysInYear(n)%10-3]}},toJD:function(t,e,r){var n=this._validate(t,e,r,a.local.invalidDate);t=n.year(),e=n.month(),r=n.day();var i=t&lt;=0?t+1:t,o=this.jdEpoch+this._delay1(i)+this._delay2(i)+r+1;if(e&lt;7){for(var s=7;s&lt;=this.monthsInYear(t);s++)o+=this.daysInMonth(t,s);for(s=1;s&lt;e;s++)o+=this.daysInMonth(t,s)}else for(s=7;s&lt;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 i(3*(n+1),7)&lt;3&amp;&amp;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&gt;=this.toJD(-1===e?1:e+1,7,1);)e++;for(var r=t&lt;this.toJD(e,1,1)?7:1;t&gt;this.toJD(e,r,this.daysInMonth(e,r));)r++;var n=t-this.toJD(e,r,1)+1;return this.newDate(e,r,n)}}),a.calendars.hebrew=n},{&quot;../main&quot;:595,&quot;object-assign&quot;:462}],586:[function(t,e,r){function n(t){this.local=this.regionalOptions[t||&quot;&quot;]||this.regionalOptions[&quot;&quot;]}var i=t(&quot;../main&quot;);t(&quot;object-assign&quot;)(n.prototype=new i.baseCalendar,{name:&quot;Islamic&quot;,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:{&quot;&quot;:{name:&quot;Islamic&quot;,epochs:[&quot;BH&quot;,&quot;AH&quot;],monthNames:[&quot;Muharram&quot;,&quot;Safar&quot;,&quot;Rabi' al-awwal&quot;,&quot;Rabi' al-thani&quot;,&quot;Jumada al-awwal&quot;,&quot;Jumada al-thani&quot;,&quot;Rajab&quot;,&quot;Sha'aban&quot;,&quot;Ramadan&quot;,&quot;Shawwal&quot;,&quot;Dhu al-Qi'dah&quot;,&quot;Dhu al-Hijjah&quot;],monthNamesShort:[&quot;Muh&quot;,&quot;Saf&quot;,&quot;Rab1&quot;,&quot;Rab2&quot;,&quot;Jum1&quot;,&quot;Jum2&quot;,&quot;Raj&quot;,&quot;Sha'&quot;,&quot;Ram&quot;,&quot;Shaw&quot;,&quot;DhuQ&quot;,&quot;DhuH&quot;],dayNames:[&quot;Yawm al-ahad&quot;,&quot;Yawm al-ithnayn&quot;,&quot;Yawm ath-thulaathaa'&quot;,&quot;Yawm al-arbi'aa'&quot;,&quot;Yawm al-kham\u012bs&quot;,&quot;Yawm al-jum'a&quot;,&quot;Yawm as-sabt&quot;],dayNamesShort:[&quot;Aha&quot;,&quot;Ith&quot;,&quot;Thu&quot;,&quot;Arb&quot;,&quot;Kha&quot;,&quot;Jum&quot;,&quot;Sab&quot;],dayNamesMin:[&quot;Ah&quot;,&quot;It&quot;,&quot;Th&quot;,&quot;Ar&quot;,&quot;Kh&quot;,&quot;Ju&quot;,&quot;Sa&quot;],digits:null,dateFormat:&quot;yyyy/mm/dd&quot;,firstDay:6,isRTL:!1}},leapYear:function(t){return(11*this._validate(t,this.minMonth,this.minDay,i.local.invalidYear).year()+14)%30&lt;11},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(-n.dayOfWeek(),&quot;d&quot;),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,i.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(12===r.month()&amp;&amp;this.leapYear(r.year())?1:0)},weekDay:function(t,e,r){return 5!==this.dayOfWeek(t,e,r)},toJD:function(t,e,r){var n=this._validate(t,e,r,i.local.invalidDate);return t=n.year(),e=n.month(),r=n.day(),t=t&lt;=0?t+1:t,r+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&lt;=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)}}),i.calendars.islamic=n},{&quot;../main&quot;:595,&quot;object-assign&quot;:462}],587:[function(t,e,r){function n(t){this.local=this.regionalOptions[t||&quot;&quot;]||this.regionalOptions[&quot;&quot;]}var i=t(&quot;../main&quot;);t(&quot;object-assign&quot;)(n.prototype=new i.baseCalendar,{name:&quot;Julian&quot;,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:{&quot;&quot;:{name:&quot;Julian&quot;,epochs:[&quot;BC&quot;,&quot;AD&quot;],monthNames:[&quot;January&quot;,&quot;February&quot;,&quot;March&quot;,&quot;April&quot;,&quot;May&quot;,&quot;June&quot;,&quot;July&quot;,&quot;August&quot;,&quot;September&quot;,&quot;October&quot;,&quot;November&quot;,&quot;December&quot;],monthNamesShort:[&quot;Jan&quot;,&quot;Feb&quot;,&quot;Mar&quot;,&quot;Apr&quot;,&quot;May&quot;,&quot;Jun&quot;,&quot;Jul&quot;,&quot;Aug&quot;,&quot;Sep&quot;,&quot;Oct&quot;,&quot;Nov&quot;,&quot;Dec&quot;],dayNames:[&quot;Sunday&quot;,&quot;Monday&quot;,&quot;Tuesday&quot;,&quot;Wednesday&quot;,&quot;Thursday&quot;,&quot;Friday&quot;,&quot;Saturday&quot;],dayNamesShort:[&quot;Sun&quot;,&quot;Mon&quot;,&quot;Tue&quot;,&quot;Wed&quot;,&quot;Thu&quot;,&quot;Fri&quot;,&quot;Sat&quot;],dayNamesMin:[&quot;Su&quot;,&quot;Mo&quot;,&quot;Tu&quot;,&quot;We&quot;,&quot;Th&quot;,&quot;Fr&quot;,&quot;Sa&quot;],digits:null,dateFormat:&quot;mm/dd/yyyy&quot;,firstDay:0,isRTL:!1}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,i.local.invalidYear);return(t=e.year()&lt;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),&quot;d&quot;),Math.floor((n.dayOfYear()-1)/7)+1},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,i.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(2===r.month()&amp;&amp;this.leapYear(r.year())?1:0)},weekDay:function(t,e,r){return(this.dayOfWeek(t,e,r)||7)&lt;6},toJD:function(t,e,r){var n=this._validate(t,e,r,i.local.invalidDate);return t=n.year(),e=n.month(),r=n.day(),t&lt;0&amp;&amp;t++,e&lt;=2&amp;&amp;(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&lt;14?1:13),o=r-Math.floor(a&gt;2?4716:4715),s=e-n-Math.floor(30.6001*i);return o&lt;=0&amp;&amp;o--,this.newDate(o,a,s)}}),i.calendars.julian=n},{&quot;../main&quot;:595,&quot;object-assign&quot;:462}],588:[function(t,e,r){function n(t){this.local=this.regionalOptions[t||&quot;&quot;]||this.regionalOptions[&quot;&quot;]}function i(t,e){return t-e*Math.floor(t/e)}function a(t,e){return i(t-1,e)+1}var o=t(&quot;../main&quot;);t(&quot;object-assign&quot;)(n.prototype=new o.baseCalendar,{name:&quot;Mayan&quot;,jdEpoch:584282.5,hasYearZero:!0,minMonth:0,firstMonth:0,minDay:0,regionalOptions:{&quot;&quot;:{name:&quot;Mayan&quot;,epochs:[&quot;&quot;,&quot;&quot;],monthNames:[&quot;0&quot;,&quot;1&quot;,&quot;2&quot;,&quot;3&quot;,&quot;4&quot;,&quot;5&quot;,&quot;6&quot;,&quot;7&quot;,&quot;8&quot;,&quot;9&quot;,&quot;10&quot;,&quot;11&quot;,&quot;12&quot;,&quot;13&quot;,&quot;14&quot;,&quot;15&quot;,&quot;16&quot;,&quot;17&quot;],monthNamesShort:[&quot;0&quot;,&quot;1&quot;,&quot;2&quot;,&quot;3&quot;,&quot;4&quot;,&quot;5&quot;,&quot;6&quot;,&quot;7&quot;,&quot;8&quot;,&quot;9&quot;,&quot;10&quot;,&quot;11&quot;,&quot;12&quot;,&quot;13&quot;,&quot;14&quot;,&quot;15&quot;,&quot;16&quot;,&quot;17&quot;],dayNames:[&quot;0&quot;,&quot;1&quot;,&quot;2&quot;,&quot;3&quot;,&quot;4&quot;,&quot;5&quot;,&quot;6&quot;,&quot;7&quot;,&quot;8&quot;,&quot;9&quot;,&quot;10&quot;,&quot;11&quot;,&quot;12&quot;,&quot;13&quot;,&quot;14&quot;,&quot;15&quot;,&quot;16&quot;,&quot;17&quot;,&quot;18&quot;,&quot;19&quot;],dayNamesShort:[&quot;0&quot;,&quot;1&quot;,&quot;2&quot;,&quot;3&quot;,&quot;4&quot;,&quot;5&quot;,&quot;6&quot;,&quot;7&quot;,&quot;8&quot;,&quot;9&quot;,&quot;10&quot;,&quot;11&quot;,&quot;12&quot;,&quot;13&quot;,&quot;14&quot;,&quot;15&quot;,&quot;16&quot;,&quot;17&quot;,&quot;18&quot;,&quot;19&quot;],dayNamesMin:[&quot;0&quot;,&quot;1&quot;,&quot;2&quot;,&quot;3&quot;,&quot;4&quot;,&quot;5&quot;,&quot;6&quot;,&quot;7&quot;,&quot;8&quot;,&quot;9&quot;,&quot;10&quot;,&quot;11&quot;,&quot;12&quot;,&quot;13&quot;,&quot;14&quot;,&quot;15&quot;,&quot;16&quot;,&quot;17&quot;,&quot;18&quot;,&quot;19&quot;],digits:null,dateFormat:&quot;YYYY.m.d&quot;,firstDay:0,isRTL:!1,haabMonths:[&quot;Pop&quot;,&quot;Uo&quot;,&quot;Zip&quot;,&quot;Zotz&quot;,&quot;Tzec&quot;,&quot;Xul&quot;,&quot;Yaxkin&quot;,&quot;Mol&quot;,&quot;Chen&quot;,&quot;Yax&quot;,&quot;Zac&quot;,&quot;Ceh&quot;,&quot;Mac&quot;,&quot;Kankin&quot;,&quot;Muan&quot;,&quot;Pax&quot;,&quot;Kayab&quot;,&quot;Cumku&quot;,&quot;Uayeb&quot;],tzolkinMonths:[&quot;Imix&quot;,&quot;Ik&quot;,&quot;Akbal&quot;,&quot;Kan&quot;,&quot;Chicchan&quot;,&quot;Cimi&quot;,&quot;Manik&quot;,&quot;Lamat&quot;,&quot;Muluc&quot;,&quot;Oc&quot;,&quot;Chuen&quot;,&quot;Eb&quot;,&quot;Ben&quot;,&quot;Ix&quot;,&quot;Men&quot;,&quot;Cib&quot;,&quot;Caban&quot;,&quot;Etznab&quot;,&quot;Cauac&quot;,&quot;Ahau&quot;]}},leapYear:function(t){return this._validate(t,this.minMonth,this.minDay,o.local.invalidYear),!1},formatYear:function(t){t=this._validate(t,this.minMonth,this.minDay,o.local.invalidYear).year();var e=Math.floor(t/400);t%=400,t+=t&lt;0?400:0;return e+&quot;.&quot;+Math.floor(t/20)+&quot;.&quot;+t%20},forYear:function(t){if((t=t.split(&quot;.&quot;)).length&lt;3)throw&quot;Invalid Mayan year&quot;;for(var e=0,r=0;r&lt;t.length;r++){var n=parseInt(t[r],10);if(Math.abs(n)&gt;19||r&gt;0&amp;&amp;n&lt;0)throw&quot;Invalid Mayan year&quot;;e=20*e+n}return e},monthsInYear:function(t){return this._validate(t,this.minMonth,this.minDay,o.local.invalidYear),18},weekOfYear:function(t,e,r){return this._validate(t,e,r,o.local.invalidDate),0},daysInYear:function(t){return this._validate(t,this.minMonth,this.minDay,o.local.invalidYear),360},daysInMonth:function(t,e){return this._validate(t,e,this.minDay,o.local.invalidMonth),20},daysInWeek:function(){return 5},dayOfWeek:function(t,e,r){return this._validate(t,e,r,o.local.invalidDate).day()},weekDay:function(t,e,r){return this._validate(t,e,r,o.local.invalidDate),!0},extraInfo:function(t,e,r){var n=this._validate(t,e,r,o.local.invalidDate).toJD(),i=this._toHaab(n),a=this._toTzolkin(n);return{haabMonthName:this.local.haabMonths[i[0]-1],haabMonth:i[0],haabDay:i[1],tzolkinDayName:this.local.tzolkinMonths[a[0]-1],tzolkinDay:a[0],tzolkinTrecena:a[1]}},_toHaab:function(t){var e=i((t-=this.jdEpoch)+8+340,365);return[Math.floor(e/20)+1,i(e,20)]},_toTzolkin:function(t){return t-=this.jdEpoch,[a(t+20,20),a(t+4,13)]},toJD:function(t,e,r){var n=this._validate(t,e,r,o.local.invalidDate);return n.day()+20*n.month()+360*n.year()+this.jdEpoch},fromJD:function(t){t=Math.floor(t)+.5-this.jdEpoch;var e=Math.floor(t/360);t%=360,t+=t&lt;0?360:0;var r=Math.floor(t/20),n=t%20;return this.newDate(e,r,n)}}),o.calendars.mayan=n},{&quot;../main&quot;:595,&quot;object-assign&quot;:462}],589:[function(t,e,r){function n(t){this.local=this.regionalOptions[t||&quot;&quot;]||this.regionalOptions[&quot;&quot;]}var i=t(&quot;../main&quot;),a=t(&quot;object-assign&quot;);n.prototype=new i.baseCalendar;var o=i.instance(&quot;gregorian&quot;);a(n.prototype,{name:&quot;Nanakshahi&quot;,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:{&quot;&quot;:{name:&quot;Nanakshahi&quot;,epochs:[&quot;BN&quot;,&quot;AN&quot;],monthNames:[&quot;Chet&quot;,&quot;Vaisakh&quot;,&quot;Jeth&quot;,&quot;Harh&quot;,&quot;Sawan&quot;,&quot;Bhadon&quot;,&quot;Assu&quot;,&quot;Katak&quot;,&quot;Maghar&quot;,&quot;Poh&quot;,&quot;Magh&quot;,&quot;Phagun&quot;],monthNamesShort:[&quot;Che&quot;,&quot;Vai&quot;,&quot;Jet&quot;,&quot;Har&quot;,&quot;Saw&quot;,&quot;Bha&quot;,&quot;Ass&quot;,&quot;Kat&quot;,&quot;Mgr&quot;,&quot;Poh&quot;,&quot;Mgh&quot;,&quot;Pha&quot;],dayNames:[&quot;Somvaar&quot;,&quot;Mangalvar&quot;,&quot;Budhvaar&quot;,&quot;Veervaar&quot;,&quot;Shukarvaar&quot;,&quot;Sanicharvaar&quot;,&quot;Etvaar&quot;],dayNamesShort:[&quot;Som&quot;,&quot;Mangal&quot;,&quot;Budh&quot;,&quot;Veer&quot;,&quot;Shukar&quot;,&quot;Sanichar&quot;,&quot;Et&quot;],dayNamesMin:[&quot;So&quot;,&quot;Ma&quot;,&quot;Bu&quot;,&quot;Ve&quot;,&quot;Sh&quot;,&quot;Sa&quot;,&quot;Et&quot;],digits:null,dateFormat:&quot;dd-mm-yyyy&quot;,firstDay:0,isRTL:!1}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,i.local.invalidYear||i.regionalOptions[&quot;&quot;].invalidYear);return o.leapYear(e.year()+(e.year()&lt;1?1:0)+1469)},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(1-(n.dayOfWeek()||7),&quot;d&quot;),Math.floor((n.dayOfYear()-1)/7)+1},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,i.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(12===r.month()&amp;&amp;this.leapYear(r.year())?1:0)},weekDay:function(t,e,r){return(this.dayOfWeek(t,e,r)||7)&lt;6},toJD:function(t,e,r){var n=this._validate(t,e,r,i.local.invalidMonth);(t=n.year())&lt;0&amp;&amp;t++;for(var a=n.day(),s=1;s&lt;n.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&gt;=this.toJD(e+1,1,1);)e++;for(var r=t-Math.floor(this.toJD(e,1,1)+.5)+1,n=1;r&gt;this.daysInMonth(e,n);)r-=this.daysInMonth(e,n),n++;return this.newDate(e,n,r)}}),i.calendars.nanakshahi=n},{&quot;../main&quot;:595,&quot;object-assign&quot;:462}],590:[function(t,e,r){function n(t){this.local=this.regionalOptions[t||&quot;&quot;]||this.regionalOptions[&quot;&quot;]}var i=t(&quot;../main&quot;);t(&quot;object-assign&quot;)(n.prototype=new i.baseCalendar,{name:&quot;Nepali&quot;,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:{&quot;&quot;:{name:&quot;Nepali&quot;,epochs:[&quot;BBS&quot;,&quot;ABS&quot;],monthNames:[&quot;Baisakh&quot;,&quot;Jestha&quot;,&quot;Ashadh&quot;,&quot;Shrawan&quot;,&quot;Bhadra&quot;,&quot;Ashwin&quot;,&quot;Kartik&quot;,&quot;Mangsir&quot;,&quot;Paush&quot;,&quot;Mangh&quot;,&quot;Falgun&quot;,&quot;Chaitra&quot;],monthNamesShort:[&quot;Bai&quot;,&quot;Je&quot;,&quot;As&quot;,&quot;Shra&quot;,&quot;Bha&quot;,&quot;Ash&quot;,&quot;Kar&quot;,&quot;Mang&quot;,&quot;Pau&quot;,&quot;Ma&quot;,&quot;Fal&quot;,&quot;Chai&quot;],dayNames:[&quot;Aaitabaar&quot;,&quot;Sombaar&quot;,&quot;Manglbaar&quot;,&quot;Budhabaar&quot;,&quot;Bihibaar&quot;,&quot;Shukrabaar&quot;,&quot;Shanibaar&quot;],dayNamesShort:[&quot;Aaita&quot;,&quot;Som&quot;,&quot;Mangl&quot;,&quot;Budha&quot;,&quot;Bihi&quot;,&quot;Shukra&quot;,&quot;Shani&quot;],dayNamesMin:[&quot;Aai&quot;,&quot;So&quot;,&quot;Man&quot;,&quot;Bu&quot;,&quot;Bi&quot;,&quot;Shu&quot;,&quot;Sha&quot;],digits:null,dateFormat:&quot;dd/mm/yyyy&quot;,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(),&quot;d&quot;),Math.floor((n.dayOfYear()-1)/7)+1},daysInYear:function(t){if(t=this._validate(t,this.minMonth,this.minDay,i.local.invalidYear).year(),void 0===this.NEPALI_CALENDAR_DATA[t])return this.daysPerYear;for(var e=0,r=this.minMonth;r&lt;=12;r++)e+=this.NEPALI_CALENDAR_DATA[t][r];return e},daysInMonth:function(t,e){return t.year&amp;&amp;(e=t.month(),t=t.year()),this._validate(t,e,this.minDay,i.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 n=this._validate(t,e,r,i.local.invalidDate);t=n.year(),e=n.month(),r=n.day();var a=i.instance(),o=0,s=e,l=t;this._createMissingCalendarData(t);var c=t-(s&gt;9||9===s&amp;&amp;r&gt;=this.NEPALI_CALENDAR_DATA[l][0]?56:57);for(9!==e&amp;&amp;(o=r,s--);9!==s;)s&lt;=0&amp;&amp;(s=12,l--),o+=this.NEPALI_CALENDAR_DATA[l][s],s--;return 9===e?(o+=r-this.NEPALI_CALENDAR_DATA[l][0])&lt;0&amp;&amp;(o+=a.daysInYear(c)):o+=this.NEPALI_CALENDAR_DATA[l][9]-this.NEPALI_CALENDAR_DATA[l][0],a.newDate(c,1,1).add(o,&quot;d&quot;).toJD()},fromJD:function(t){var e=i.instance().fromJD(t),r=e.year(),n=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;n&gt;l;)++o&gt;12&amp;&amp;(o=1,a++),l+=this.NEPALI_CALENDAR_DATA[a][o];var c=this.NEPALI_CALENDAR_DATA[a][o]-(l-n);return this.newDate(a,o,c)},_createMissingCalendarData:function(t){var e=this.daysPerMonth.slice(0);e.unshift(17);for(var r=t-1;r&lt;t+2;r++)void 0===this.NEPALI_CALENDAR_DATA[r]&amp;&amp;(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]}}),i.calendars.nepali=n},{&quot;../main&quot;:595,&quot;object-assign&quot;:462}],591:[function(t,e,r){function n(t){this.local=this.regionalOptions[t||&quot;&quot;]||this.regionalOptions[&quot;&quot;]}function i(t,e){return t-e*Math.floor(t/e)}var a=t(&quot;../main&quot;);t(&quot;object-assign&quot;)(n.prototype=new a.baseCalendar,{name:&quot;Persian&quot;,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:{&quot;&quot;:{name:&quot;Persian&quot;,epochs:[&quot;BP&quot;,&quot;AP&quot;],monthNames:[&quot;Farvardin&quot;,&quot;Ordibehesht&quot;,&quot;Khordad&quot;,&quot;Tir&quot;,&quot;Mordad&quot;,&quot;Shahrivar&quot;,&quot;Mehr&quot;,&quot;Aban&quot;,&quot;Azar&quot;,&quot;Day&quot;,&quot;Bahman&quot;,&quot;Esfand&quot;],monthNamesShort:[&quot;Far&quot;,&quot;Ord&quot;,&quot;Kho&quot;,&quot;Tir&quot;,&quot;Mor&quot;,&quot;Sha&quot;,&quot;Meh&quot;,&quot;Aba&quot;,&quot;Aza&quot;,&quot;Day&quot;,&quot;Bah&quot;,&quot;Esf&quot;],dayNames:[&quot;Yekshambe&quot;,&quot;Doshambe&quot;,&quot;Seshambe&quot;,&quot;Ch\xe6harshambe&quot;,&quot;Panjshambe&quot;,&quot;Jom'e&quot;,&quot;Shambe&quot;],dayNamesShort:[&quot;Yek&quot;,&quot;Do&quot;,&quot;Se&quot;,&quot;Ch\xe6&quot;,&quot;Panj&quot;,&quot;Jom&quot;,&quot;Sha&quot;],dayNamesMin:[&quot;Ye&quot;,&quot;Do&quot;,&quot;Se&quot;,&quot;Ch&quot;,&quot;Pa&quot;,&quot;Jo&quot;,&quot;Sh&quot;],digits:null,dateFormat:&quot;yyyy/mm/dd&quot;,firstDay:6,isRTL:!1}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,a.local.invalidYear);return 682*((e.year()-(e.year()&gt;0?474:473))%2820+474+38)%2816&lt;682},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(-(n.dayOfWeek()+1)%7,&quot;d&quot;),Math.floor((n.dayOfYear()-1)/7)+1},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,a.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(12===r.month()&amp;&amp;this.leapYear(r.year())?1:0)},weekDay:function(t,e,r){return 5!==this.dayOfWeek(t,e,r)},toJD:function(t,e,r){var n=this._validate(t,e,r,a.local.invalidDate);t=n.year(),e=n.month(),r=n.day();var o=t-(t&gt;=0?474:473),s=474+i(o,2820);return r+(e&lt;=7?31*(e-1):30*(e-1)+6)+Math.floor((682*s-110)/2816)+365*(s-1)+1029983*Math.floor(o/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=i(e,1029983),a=2820;if(1029982!==n){var o=Math.floor(n/366),s=i(n,366);a=Math.floor((2134*o+2816*s+2815)/1028522)+o+1}var l=a+2820*r+474;l=l&lt;=0?l-1:l;var c=t-this.toJD(l,1,1)+1,u=c&lt;=186?Math.ceil(c/31):Math.ceil((c-6)/30),f=t-this.toJD(l,u,1)+1;return this.newDate(l,u,f)}}),a.calendars.persian=n,a.calendars.jalali=n},{&quot;../main&quot;:595,&quot;object-assign&quot;:462}],592:[function(t,e,r){function n(t){this.local=this.regionalOptions[t||&quot;&quot;]||this.regionalOptions[&quot;&quot;]}var i=t(&quot;../main&quot;),a=t(&quot;object-assign&quot;),o=i.instance();a(n.prototype=new i.baseCalendar,{name:&quot;Taiwan&quot;,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:{&quot;&quot;:{name:&quot;Taiwan&quot;,epochs:[&quot;BROC&quot;,&quot;ROC&quot;],monthNames:[&quot;January&quot;,&quot;February&quot;,&quot;March&quot;,&quot;April&quot;,&quot;May&quot;,&quot;June&quot;,&quot;July&quot;,&quot;August&quot;,&quot;September&quot;,&quot;October&quot;,&quot;November&quot;,&quot;December&quot;],monthNamesShort:[&quot;Jan&quot;,&quot;Feb&quot;,&quot;Mar&quot;,&quot;Apr&quot;,&quot;May&quot;,&quot;Jun&quot;,&quot;Jul&quot;,&quot;Aug&quot;,&quot;Sep&quot;,&quot;Oct&quot;,&quot;Nov&quot;,&quot;Dec&quot;],dayNames:[&quot;Sunday&quot;,&quot;Monday&quot;,&quot;Tuesday&quot;,&quot;Wednesday&quot;,&quot;Thursday&quot;,&quot;Friday&quot;,&quot;Saturday&quot;],dayNamesShort:[&quot;Sun&quot;,&quot;Mon&quot;,&quot;Tue&quot;,&quot;Wed&quot;,&quot;Thu&quot;,&quot;Fri&quot;,&quot;Sat&quot;],dayNamesMin:[&quot;Su&quot;,&quot;Mo&quot;,&quot;Tu&quot;,&quot;We&quot;,&quot;Th&quot;,&quot;Fr&quot;,&quot;Sa&quot;],digits:null,dateFormat:&quot;yyyy/mm/dd&quot;,firstDay:1,isRTL:!1}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,i.local.invalidYear);t=this._t2gYear(e.year());return o.leapYear(t)},weekOfYear:function(t,e,r){var n=this._validate(t,this.minMonth,this.minDay,i.local.invalidYear);t=this._t2gYear(n.year());return o.weekOfYear(t,n.month(),n.day())},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,i.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(2===r.month()&amp;&amp;this.leapYear(r.year())?1:0)},weekDay:function(t,e,r){return(this.dayOfWeek(t,e,r)||7)&lt;6},toJD:function(t,e,r){var n=this._validate(t,e,r,i.local.invalidDate);t=this._t2gYear(n.year());return o.toJD(t,n.month(),n.day())},fromJD:function(t){var e=o.fromJD(t),r=this._g2tYear(e.year());return this.newDate(r,e.month(),e.day())},_t2gYear:function(t){return t+this.yearsOffset+(t&gt;=-this.yearsOffset&amp;&amp;t&lt;=-1?1:0)},_g2tYear:function(t){return t-this.yearsOffset-(t&gt;=1&amp;&amp;t&lt;=this.yearsOffset?1:0)}}),i.calendars.taiwan=n},{&quot;../main&quot;:595,&quot;object-assign&quot;:462}],593:[function(t,e,r){function n(t){this.local=this.regionalOptions[t||&quot;&quot;]||this.regionalOptions[&quot;&quot;]}var i=t(&quot;../main&quot;),a=t(&quot;object-assign&quot;),o=i.instance();a(n.prototype=new i.baseCalendar,{name:&quot;Thai&quot;,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:{&quot;&quot;:{name:&quot;Thai&quot;,epochs:[&quot;BBE&quot;,&quot;BE&quot;],monthNames:[&quot;January&quot;,&quot;February&quot;,&quot;March&quot;,&quot;April&quot;,&quot;May&quot;,&quot;June&quot;,&quot;July&quot;,&quot;August&quot;,&quot;September&quot;,&quot;October&quot;,&quot;November&quot;,&quot;December&quot;],monthNamesShort:[&quot;Jan&quot;,&quot;Feb&quot;,&quot;Mar&quot;,&quot;Apr&quot;,&quot;May&quot;,&quot;Jun&quot;,&quot;Jul&quot;,&quot;Aug&quot;,&quot;Sep&quot;,&quot;Oct&quot;,&quot;Nov&quot;,&quot;Dec&quot;],dayNames:[&quot;Sunday&quot;,&quot;Monday&quot;,&quot;Tuesday&quot;,&quot;Wednesday&quot;,&quot;Thursday&quot;,&quot;Friday&quot;,&quot;Saturday&quot;],dayNamesShort:[&quot;Sun&quot;,&quot;Mon&quot;,&quot;Tue&quot;,&quot;Wed&quot;,&quot;Thu&quot;,&quot;Fri&quot;,&quot;Sat&quot;],dayNamesMin:[&quot;Su&quot;,&quot;Mo&quot;,&quot;Tu&quot;,&quot;We&quot;,&quot;Th&quot;,&quot;Fr&quot;,&quot;Sa&quot;],digits:null,dateFormat:&quot;dd/mm/yyyy&quot;,firstDay:0,isRTL:!1}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,i.local.invalidYear);t=this._t2gYear(e.year());return o.leapYear(t)},weekOfYear:function(t,e,r){var n=this._validate(t,this.minMonth,this.minDay,i.local.invalidYear);t=this._t2gYear(n.year());return o.weekOfYear(t,n.month(),n.day())},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,i.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(2===r.month()&amp;&amp;this.leapYear(r.year())?1:0)},weekDay:function(t,e,r){return(this.dayOfWeek(t,e,r)||7)&lt;6},toJD:function(t,e,r){var n=this._validate(t,e,r,i.local.invalidDate);t=this._t2gYear(n.year());return o.toJD(t,n.month(),n.day())},fromJD:function(t){var e=o.fromJD(t),r=this._g2tYear(e.year());return this.newDate(r,e.month(),e.day())},_t2gYear:function(t){return t-this.yearsOffset-(t&gt;=1&amp;&amp;t&lt;=this.yearsOffset?1:0)},_g2tYear:function(t){return t+this.yearsOffset+(t&gt;=-this.yearsOffset&amp;&amp;t&lt;=-1?1:0)}}),i.calendars.thai=n},{&quot;../main&quot;:595,&quot;object-assign&quot;:462}],594:[function(t,e,r){function n(t){this.local=this.regionalOptions[t||&quot;&quot;]||this.regionalOptions[&quot;&quot;]}var i=t(&quot;../main&quot;);t(&quot;object-assign&quot;)(n.prototype=new i.baseCalendar,{name:&quot;UmmAlQura&quot;,hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{&quot;&quot;:{name:&quot;Umm al-Qura&quot;,epochs:[&quot;BH&quot;,&quot;AH&quot;],monthNames:[&quot;Al-Muharram&quot;,&quot;Safar&quot;,&quot;Rabi' al-awwal&quot;,&quot;Rabi' Al-Thani&quot;,&quot;Jumada Al-Awwal&quot;,&quot;Jumada Al-Thani&quot;,&quot;Rajab&quot;,&quot;Sha'aban&quot;,&quot;Ramadan&quot;,&quot;Shawwal&quot;,&quot;Dhu al-Qi'dah&quot;,&quot;Dhu al-Hijjah&quot;],monthNamesShort:[&quot;Muh&quot;,&quot;Saf&quot;,&quot;Rab1&quot;,&quot;Rab2&quot;,&quot;Jum1&quot;,&quot;Jum2&quot;,&quot;Raj&quot;,&quot;Sha'&quot;,&quot;Ram&quot;,&quot;Shaw&quot;,&quot;DhuQ&quot;,&quot;DhuH&quot;],dayNames:[&quot;Yawm al-Ahad&quot;,&quot;Yawm al-Ithnain&quot;,&quot;Yawm al-Thal\u0101th\u0101\u2019&quot;,&quot;Yawm al-Arba\u2018\u0101\u2019&quot;,&quot;Yawm al-Kham\u012bs&quot;,&quot;Yawm al-Jum\u2018a&quot;,&quot;Yawm al-Sabt&quot;],dayNamesMin:[&quot;Ah&quot;,&quot;Ith&quot;,&quot;Th&quot;,&quot;Ar&quot;,&quot;Kh&quot;,&quot;Ju&quot;,&quot;Sa&quot;],digits:null,dateFormat:&quot;yyyy/mm/dd&quot;,firstDay:6,isRTL:!0}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,i.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(),&quot;d&quot;),Math.floor((n.dayOfYear()-1)/7)+1},daysInYear:function(t){for(var e=0,r=1;r&lt;=12;r++)e+=this.daysInMonth(t,r);return e},daysInMonth:function(t,e){for(var r=this._validate(t,e,this.minDay,i.local.invalidMonth).toJD()-24e5+.5,n=0,o=0;o&lt;a.length;o++){if(a[o]&gt;r)return a[n]-a[n-1];n++}return 30},weekDay:function(t,e,r){return 5!==this.dayOfWeek(t,e,r)},toJD:function(t,e,r){var n=this._validate(t,e,r,i.local.invalidDate),o=12*(n.year()-1)+n.month()-15292;return n.day()+a[o-1]-1+24e5-.5},fromJD:function(t){for(var e=t-24e5+.5,r=0,n=0;n&lt;a.length&amp;&amp;!(a[n]&gt;e);n++)r++;var i=r+15292,o=Math.floor((i-1)/12),s=o+1,l=i-12*o,c=e-a[r-1]+1;return this.newDate(s,l,c)},isValid:function(t,e,r){var n=i.baseCalendar.prototype.isValid.apply(this,arguments);return n&amp;&amp;(n=(t=null!=t.year?t.year:t)&gt;=1276&amp;&amp;t&lt;=1500),n},_validate:function(t,e,r,n){var a=i.baseCalendar.prototype._validate.apply(this,arguments);if(a.year&lt;1276||a.year&gt;1500)throw n.replace(/\{0\}/,this.local.name);return a}}),i.calendars.ummalqura=n;var a=[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]},{&quot;../main&quot;:595,&quot;object-assign&quot;:462}],595:[function(t,e,r){function n(){this.regionalOptions=[],this.regionalOptions[&quot;&quot;]={invalidCalendar:&quot;Calendar {0} not found&quot;,invalidDate:&quot;Invalid {0} date&quot;,invalidMonth:&quot;Invalid {0} month&quot;,invalidYear:&quot;Invalid {0} year&quot;,differentCalendars:&quot;Cannot mix {0} and {1} dates&quot;},this.local=this.regionalOptions[&quot;&quot;],this.calendars={},this._localCals={}}function i(t,e,r,n){if(this._calendar=t,this._year=e,this._month=r,this._day=n,0===this._calendar._validateLevel&amp;&amp;!this._calendar.isValid(this._year,this._month,this._day))throw(c.local.invalidDate||c.regionalOptions[&quot;&quot;].invalidDate).replace(/\{0\}/,this._calendar.local.name)}function a(t,e){return t=&quot;&quot;+t,&quot;000000&quot;.substring(0,e-t.length)+t}function o(){this.shortYearCutoff=&quot;+10&quot;}function s(t){this.local=this.regionalOptions[t]||this.regionalOptions[&quot;&quot;]}var l=t(&quot;object-assign&quot;);l(n.prototype,{instance:function(t,e){t=(t||&quot;gregorian&quot;).toLowerCase(),e=e||&quot;&quot;;var r=this._localCals[t+&quot;-&quot;+e];if(!r&amp;&amp;this.calendars[t]&amp;&amp;(r=new this.calendars[t](e),this._localCals[t+&quot;-&quot;+e]=r),!r)throw(this.local.invalidCalendar||this.regionalOptions[&quot;&quot;].invalidCalendar).replace(/\{0\}/,t);return r},newDate:function(t,e,r,n,i){return(n=(null!=t&amp;&amp;t.year?t.calendar():&quot;string&quot;==typeof n?this.instance(n,i):n)||this.instance()).newDate(t,e,r)},substituteDigits:function(t){return function(e){return(e+&quot;&quot;).replace(/[0-9]/g,function(e){return t[e]})}},substituteChineseDigits:function(t,e){return function(r){for(var n=&quot;&quot;,i=0;r&gt;0;){var a=r%10;n=(0===a?&quot;&quot;:t[a]+e[i])+n,i++,r=Math.floor(r/10)}return 0===n.indexOf(t[1]+e[1])&amp;&amp;(n=n.substr(1)),n||t[0]}}}),l(i.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,&quot;y&quot;)},month:function(t){return 0===arguments.length?this._month:this.set(t,&quot;m&quot;)},day:function(t){return 0===arguments.length?this._day:this.set(t,&quot;d&quot;)},date:function(t,e,r){if(!this._calendar.isValid(t,e,r))throw(c.local.invalidDate||c.regionalOptions[&quot;&quot;].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[&quot;&quot;].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&lt;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()&lt;0?&quot;-&quot;:&quot;&quot;)+a(Math.abs(this.year()),4)+&quot;-&quot;+a(this.month(),2)+&quot;-&quot;+a(this.day(),2)}}),l(o.prototype,{_validateLevel:0,newDate:function(t,e,r){return null==t?this.today():(t.year&amp;&amp;(this._validate(t,e,r,c.local.invalidDate||c.regionalOptions[&quot;&quot;].invalidDate),r=t.day(),e=t.month(),t=t.year()),new i(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[&quot;&quot;].invalidYear).year()&lt;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[&quot;&quot;].invalidYear);return(e.year()&lt;0?&quot;-&quot;:&quot;&quot;)+a(Math.abs(e.year()),4)},monthsInYear:function(t){return this._validate(t,this.minMonth,this.minDay,c.local.invalidYear||c.regionalOptions[&quot;&quot;].invalidYear),12},monthOfYear:function(t,e){var r=this._validate(t,e,this.minDay,c.local.invalidMonth||c.regionalOptions[&quot;&quot;].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[&quot;&quot;].invalidMonth),r},daysInYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,c.local.invalidYear||c.regionalOptions[&quot;&quot;].invalidYear);return this.leapYear(e)?366:365},dayOfYear:function(t,e,r){var n=this._validate(t,e,r,c.local.invalidDate||c.regionalOptions[&quot;&quot;].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[&quot;&quot;].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[&quot;&quot;].invalidDate),{}},add:function(t,e,r){return this._validate(t,this.minMonth,this.minDay,c.local.invalidDate||c.regionalOptions[&quot;&quot;].invalidDate),this._correctAdd(t,this._add(t,e,r),e,r)},_add:function(t,e,r){if(this._validateLevel++,&quot;d&quot;===r||&quot;w&quot;===r){var n=t.toJD()+e*(&quot;w&quot;===r?this.daysInWeek():1),i=t.calendar().fromJD(n);return this._validateLevel--,[i.year(),i.month(),i.day()]}try{var a=t.year()+(&quot;y&quot;===r?e:0),o=t.monthOfYear()+(&quot;m&quot;===r?e:0);i=t.day();&quot;y&quot;===r?(t.month()!==this.fromMonthOfYear(a,o)&amp;&amp;(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)))):&quot;m&quot;===r&amp;&amp;(!function(t){for(;o&lt;t.minMonth;)a--,o+=t.monthsInYear(a);for(var e=t.monthsInYear(a);o&gt;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||&quot;y&quot;!==n&amp;&amp;&quot;m&quot;!==n||0!==e[0]&amp;&amp;t.year()&gt;0==e[0]&gt;0)){var i={y:[1,1,&quot;y&quot;],m:[1,this.monthsInYear(-1),&quot;m&quot;],w:[this.daysInWeek(),this.daysInYear(-1),&quot;d&quot;],d:[1,this.daysInYear(-1),&quot;d&quot;]}[n],a=r&lt;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[&quot;&quot;].invalidDate);var n=&quot;y&quot;===r?e:t.year(),i=&quot;m&quot;===r?e:t.month(),a=&quot;d&quot;===r?e:t.day();return&quot;y&quot;!==r&amp;&amp;&quot;m&quot;!==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&gt;=this.minMonth&amp;&amp;e-this.minMonth&lt;this.monthsInYear(i)&amp;&amp;r&gt;=this.minDay&amp;&amp;r-this.minDay&lt;this.daysInMonth(i)}return this._validateLevel--,n},toJSDate:function(t,e,r){var n=this._validate(t,e,r,c.local.invalidDate||c.regionalOptions[&quot;&quot;].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&amp;&amp;this.name!==t.calendar().name)throw(c.local.differentCalendars||c.regionalOptions[&quot;&quot;].differentCalendars).replace(/\{0\}/,this.local.name).replace(/\{1\}/,t.calendar().local.name);return t}try{if(this._validateLevel++,1===this._validateLevel&amp;&amp;!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(s.prototype=new o,{name:&quot;Gregorian&quot;,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:{&quot;&quot;:{name:&quot;Gregorian&quot;,epochs:[&quot;BCE&quot;,&quot;CE&quot;],monthNames:[&quot;January&quot;,&quot;February&quot;,&quot;March&quot;,&quot;April&quot;,&quot;May&quot;,&quot;June&quot;,&quot;July&quot;,&quot;August&quot;,&quot;September&quot;,&quot;October&quot;,&quot;November&quot;,&quot;December&quot;],monthNamesShort:[&quot;Jan&quot;,&quot;Feb&quot;,&quot;Mar&quot;,&quot;Apr&quot;,&quot;May&quot;,&quot;Jun&quot;,&quot;Jul&quot;,&quot;Aug&quot;,&quot;Sep&quot;,&quot;Oct&quot;,&quot;Nov&quot;,&quot;Dec&quot;],dayNames:[&quot;Sunday&quot;,&quot;Monday&quot;,&quot;Tuesday&quot;,&quot;Wednesday&quot;,&quot;Thursday&quot;,&quot;Friday&quot;,&quot;Saturday&quot;],dayNamesShort:[&quot;Sun&quot;,&quot;Mon&quot;,&quot;Tue&quot;,&quot;Wed&quot;,&quot;Thu&quot;,&quot;Fri&quot;,&quot;Sat&quot;],dayNamesMin:[&quot;Su&quot;,&quot;Mo&quot;,&quot;Tu&quot;,&quot;We&quot;,&quot;Th&quot;,&quot;Fr&quot;,&quot;Sa&quot;],digits:null,dateFormat:&quot;mm/dd/yyyy&quot;,firstDay:0,isRTL:!1}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,c.local.invalidYear||c.regionalOptions[&quot;&quot;].invalidYear);return(t=e.year()+(e.year()&lt;0?1:0))%4==0&amp;&amp;(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),&quot;d&quot;),Math.floor((n.dayOfYear()-1)/7)+1},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,c.local.invalidMonth||c.regionalOptions[&quot;&quot;].invalidMonth);return this.daysPerMonth[r.month()-1]+(2===r.month()&amp;&amp;this.leapYear(r.year())?1:0)},weekDay:function(t,e,r){return(this.dayOfWeek(t,e,r)||7)&lt;6},toJD:function(t,e,r){var n=this._validate(t,e,r,c.local.invalidDate||c.regionalOptions[&quot;&quot;].invalidDate);t=n.year(),e=n.month(),r=n.day(),t&lt;0&amp;&amp;t++,e&lt;3&amp;&amp;(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&gt;13.5?13:1),c=i-(l&gt;2.5?4716:4715);return c&lt;=0&amp;&amp;c--,this.newDate(c,l,s)},toJSDate:function(t,e,r){var n=this._validate(t,e,r,c.local.invalidDate||c.regionalOptions[&quot;&quot;].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()&gt;12?i.getHours()+2:0),i},fromJSDate:function(t){return this.newDate(t.getFullYear(),t.getMonth()+1,t.getDate())}});var c=e.exports=new n;c.cdate=i,c.baseCalendar=o,c.calendars.gregorian=s},{&quot;object-assign&quot;:462}],596:[function(t,e,r){var n=t(&quot;object-assign&quot;),i=t(&quot;./main&quot;);n(i.regionalOptions[&quot;&quot;],{invalidArguments:&quot;Invalid arguments&quot;,invalidFormat:&quot;Cannot format a date from another calendar&quot;,missingNumberAt:&quot;Missing number at position {0}&quot;,unknownNameAt:&quot;Unknown name at position {0}&quot;,unexpectedLiteralAt:&quot;Unexpected literal at position {0}&quot;,unexpectedText:&quot;Additional text found at end&quot;}),i.local=i.regionalOptions[&quot;&quot;],n(i.cdate.prototype,{formatDate:function(t,e){return&quot;string&quot;!=typeof t&amp;&amp;(e=t,t=&quot;&quot;),this._calendar.formatDate(t||&quot;&quot;,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:&quot;yyyy-mm-dd&quot;,COOKIE:&quot;D, dd M yyyy&quot;,FULL:&quot;DD, MM d, yyyy&quot;,ISO_8601:&quot;yyyy-mm-dd&quot;,JULIAN:&quot;J&quot;,RFC_822:&quot;D, d M yy&quot;,RFC_850:&quot;DD, dd-M-yy&quot;,RFC_1036:&quot;D, d M yy&quot;,RFC_1123:&quot;D, d M yyyy&quot;,RFC_2822:&quot;D, d M yyyy&quot;,RSS:&quot;D, d M yy&quot;,TICKS:&quot;!&quot;,TIMESTAMP:&quot;@&quot;,W3C:&quot;yyyy-mm-dd&quot;,formatDate:function(t,e,r){if(&quot;string&quot;!=typeof t&amp;&amp;(r=e,e=t,t=&quot;&quot;),!e)return&quot;&quot;;if(e.calendar()!==this)throw i.local.invalidFormat||i.regionalOptions[&quot;&quot;].invalidFormat;t=t||this.local.dateFormat;for(var n=(r=r||{}).dayNamesShort||this.local.dayNamesShort,a=r.dayNames||this.local.dayNames,o=r.monthNumbers||this.local.monthNumbers,s=r.monthNamesShort||this.local.monthNamesShort,l=r.monthNames||this.local.monthNames,c=(r.calculateWeek||this.local.calculateWeek,function(e,r){for(var n=1;x+n&lt;t.length&amp;&amp;t.charAt(x+n)===e;)n++;return x+=n-1,Math.floor(n/(r||1))&gt;1}),u=function(t,e,r,n){var i=&quot;&quot;+e;if(c(t,n))for(;i.length&lt;r;)i=&quot;0&quot;+i;return i},f=function(t,e,r,n){return c(t)?n[e]:r[e]},h=this,d=function(t){return&quot;function&quot;==typeof o?o.call(h,t,c(&quot;m&quot;)):g(u(&quot;m&quot;,t.month(),2))},p=function(t,e){return e?&quot;function&quot;==typeof l?l.call(h,t):l[t.month()-h.minMonth]:&quot;function&quot;==typeof s?s.call(h,t):s[t.month()-h.minMonth]},m=this.local.digits,g=function(t){return r.localNumbers&amp;&amp;m?m(t):t},v=&quot;&quot;,y=!1,x=0;x&lt;t.length;x++)if(y)&quot;'&quot;!==t.charAt(x)||c(&quot;'&quot;)?v+=t.charAt(x):y=!1;else switch(t.charAt(x)){case&quot;d&quot;:v+=g(u(&quot;d&quot;,e.day(),2));break;case&quot;D&quot;:v+=f(&quot;D&quot;,e.dayOfWeek(),n,a);break;case&quot;o&quot;:v+=u(&quot;o&quot;,e.dayOfYear(),3);break;case&quot;w&quot;:v+=u(&quot;w&quot;,e.weekOfYear(),2);break;case&quot;m&quot;:v+=d(e);break;case&quot;M&quot;:v+=p(e,c(&quot;M&quot;));break;case&quot;y&quot;:v+=c(&quot;y&quot;,2)?e.year():(e.year()%100&lt;10?&quot;0&quot;:&quot;&quot;)+e.year()%100;break;case&quot;Y&quot;:c(&quot;Y&quot;,2),v+=e.formatYear();break;case&quot;J&quot;:v+=e.toJD();break;case&quot;@&quot;:v+=(e.toJD()-this.UNIX_EPOCH)*this.SECS_PER_DAY;break;case&quot;!&quot;:v+=(e.toJD()-this.TICKS_EPOCH)*this.TICKS_PER_DAY;break;case&quot;'&quot;:c(&quot;'&quot;)?v+=&quot;'&quot;:y=!0;break;default:v+=t.charAt(x)}return v},parseDate:function(t,e,r){if(null==e)throw i.local.invalidArguments||i.regionalOptions[&quot;&quot;].invalidArguments;if(&quot;&quot;===(e=&quot;object&quot;==typeof e?e.toString():e+&quot;&quot;))return null;t=t||this.local.dateFormat;var n=(r=r||{}).shortYearCutoff||this.shortYearCutoff;n=&quot;string&quot;!=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,d=-1,p=-1,m=-1,g=!1,v=!1,y=function(e,r){for(var n=1;T+n&lt;t.length&amp;&amp;t.charAt(T+n)===e;)n++;return T+=n-1,Math.floor(n/(r||1))&gt;1},x=function(t,r){var n=y(t,r),a=[2,3,n?4:2,n?4:2,10,11,20][&quot;oyYJ@!&quot;.indexOf(t)+1],o=new RegExp(&quot;^-?\\d{1,&quot;+a+&quot;}&quot;),s=e.substring(A).match(o);if(!s)throw(i.local.missingNumberAt||i.regionalOptions[&quot;&quot;].missingNumberAt).replace(/\{0\}/,A);return A+=s[0].length,parseInt(s[0],10)},b=this,_=function(){if(&quot;function&quot;==typeof l){y(&quot;m&quot;);var t=l.call(b,e.substring(A));return A+=t.length,t}return x(&quot;m&quot;)},w=function(t,r,n,a){for(var o=y(t,a)?n:r,s=0;s&lt;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[&quot;&quot;].unknownNameAt).replace(/\{0\}/,A)},M=function(){if(&quot;function&quot;==typeof u){var t=y(&quot;M&quot;)?u.call(b,e.substring(A)):c.call(b,e.substring(A));return A+=t.length,t}return w(&quot;M&quot;,c,u)},k=function(){if(e.charAt(A)!==t.charAt(T))throw(i.local.unexpectedLiteralAt||i.regionalOptions[&quot;&quot;].unexpectedLiteralAt).replace(/\{0\}/,A);A++},A=0,T=0;T&lt;t.length;T++)if(v)&quot;'&quot;!==t.charAt(T)||y(&quot;'&quot;)?k():v=!1;else switch(t.charAt(T)){case&quot;d&quot;:p=x(&quot;d&quot;);break;case&quot;D&quot;:w(&quot;D&quot;,a,o);break;case&quot;o&quot;:m=x(&quot;o&quot;);break;case&quot;w&quot;:x(&quot;w&quot;);break;case&quot;m&quot;:d=_();break;case&quot;M&quot;:d=M();break;case&quot;y&quot;:var S=T;g=!y(&quot;y&quot;,2),T=S,h=x(&quot;y&quot;,2);break;case&quot;Y&quot;:h=x(&quot;Y&quot;,2);break;case&quot;J&quot;:f=x(&quot;J&quot;)+.5,&quot;.&quot;===e.charAt(A)&amp;&amp;(A++,x(&quot;J&quot;));break;case&quot;@&quot;:f=x(&quot;@&quot;)/this.SECS_PER_DAY+this.UNIX_EPOCH;break;case&quot;!&quot;:f=x(&quot;!&quot;)/this.TICKS_PER_DAY+this.TICKS_EPOCH;break;case&quot;*&quot;:A=e.length;break;case&quot;'&quot;:y(&quot;'&quot;)?k():v=!0;break;default:k()}if(A&lt;e.length)throw i.local.unexpectedText||i.regionalOptions[&quot;&quot;].unexpectedText;if(-1===h?h=this.today().year():h&lt;100&amp;&amp;g&amp;&amp;(h+=-1===n?1900:this.today().year()-this.today().year()%100-(h&lt;=n?0:100)),&quot;string&quot;==typeof d&amp;&amp;(d=s.call(this,h,d)),m&gt;-1){d=1,p=m;for(var E=this.daysInMonth(h,d);p&gt;E;E=this.daysInMonth(h,d))d++,p-=E}return f&gt;-1?this.fromJD(f):this.newDate(h,d,p)},determineDate:function(t,e,r,n,i){r&amp;&amp;&quot;object&quot;!=typeof r&amp;&amp;(i=n,n=r,r=null),&quot;string&quot;!=typeof n&amp;&amp;(i=n,n=&quot;&quot;);var a=this;return e=e?e.newDate():null,t=null==t?e:&quot;string&quot;==typeof t?function(t){try{return a.parseDate(n,t,i)}catch(t){}for(var e=((t=t.toLowerCase()).match(/^c/)&amp;&amp;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]||&quot;d&quot;),s=o.exec(t);return e}(t):&quot;number&quot;==typeof t?isNaN(t)||t===1/0||t===-1/0?e:a.today().add(t,&quot;d&quot;):a.newDate(t)}})},{&quot;./main&quot;:595,&quot;object-assign&quot;:462}],597:[function(t,e,r){e.exports=t(&quot;cwise-compiler&quot;)({args:[&quot;array&quot;,{offset:[1],array:0},&quot;scalar&quot;,&quot;scalar&quot;,&quot;index&quot;],pre:{body:&quot;{}&quot;,args:[],thisVars:[],localVars:[]},post:{body:&quot;{}&quot;,args:[],thisVars:[],localVars:[]},body:{body:&quot;{\n        var _inline_1_da = _inline_1_arg0_ - _inline_1_arg3_\n        var _inline_1_db = _inline_1_arg1_ - _inline_1_arg3_\n        if((_inline_1_da &gt;= 0) !== (_inline_1_db &gt;= 0)) {\n          _inline_1_arg2_.push(_inline_1_arg4_[0] + 0.5 + 0.5 * (_inline_1_da + _inline_1_db) / (_inline_1_da - _inline_1_db))\n        }\n      }&quot;,args:[{name:&quot;_inline_1_arg0_&quot;,lvalue:!1,rvalue:!0,count:1},{name:&quot;_inline_1_arg1_&quot;,lvalue:!1,rvalue:!0,count:1},{name:&quot;_inline_1_arg2_&quot;,lvalue:!1,rvalue:!0,count:1},{name:&quot;_inline_1_arg3_&quot;,lvalue:!1,rvalue:!0,count:2},{name:&quot;_inline_1_arg4_&quot;,lvalue:!1,rvalue:!0,count:1}],thisVars:[],localVars:[&quot;_inline_1_da&quot;,&quot;_inline_1_db&quot;]},funcName:&quot;zeroCrossings&quot;})},{&quot;cwise-compiler&quot;:116}],598:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t,e){var r=[];return e=+e||0,n(t.hi(t.shape[0]-1),r,e),r};var n=t(&quot;./lib/zc-core&quot;)},{&quot;./lib/zc-core&quot;:597}],599:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib&quot;),i=t(&quot;../../plots/cartesian/axes&quot;),a=t(&quot;./common_defaults&quot;),o=t(&quot;./attributes&quot;);e.exports=function(t,e,r,s,l){function c(r,i){return n.coerce(t,e,o,r,i)}s=s||{};var u=c(&quot;visible&quot;,!(l=l||{}).itemIsNotPlainObject),f=c(&quot;clicktoshow&quot;);if(!u&amp;&amp;!f)return e;a(t,e,r,c);for(var h=e.showarrow,d=[&quot;x&quot;,&quot;y&quot;],p=[-10,-30],m={_fullLayout:r},g=0;g&lt;2;g++){var v=d[g],y=i.coerceRef(t,e,m,v,&quot;&quot;,&quot;paper&quot;);if(i.coercePosition(e,m,c,y,v,.5),h){var x=&quot;a&quot;+v,b=i.coerceRef(t,e,m,x,&quot;pixel&quot;);&quot;pixel&quot;!==b&amp;&amp;b!==y&amp;&amp;(b=e[x]=&quot;pixel&quot;);var _=&quot;pixel&quot;===b?p[g]:.4;i.coercePosition(e,m,c,b,x,_)}c(v+&quot;anchor&quot;),c(v+&quot;shift&quot;)}if(n.noneOrAll(t,e,[&quot;x&quot;,&quot;y&quot;]),h&amp;&amp;n.noneOrAll(t,e,[&quot;ax&quot;,&quot;ay&quot;]),f){var w=c(&quot;xclick&quot;),M=c(&quot;yclick&quot;);e._xclick=void 0===w?e.x:i.cleanPosition(w,m,e.xref),e._yclick=void 0===M?e.y:i.cleanPosition(M,m,e.yref)}return e}},{&quot;../../lib&quot;:743,&quot;../../plots/cartesian/axes&quot;:789,&quot;./attributes&quot;:601,&quot;./common_defaults&quot;:604}],600:[function(t,e,r){&quot;use strict&quot;;e.exports=[{path:&quot;&quot;,backoff:0},{path:&quot;M-2.4,-3V3L0.6,0Z&quot;,backoff:.6},{path:&quot;M-3.7,-2.5V2.5L1.3,0Z&quot;,backoff:1.3},{path:&quot;M-4.45,-3L-1.65,-0.2V0.2L-4.45,3L1.55,0Z&quot;,backoff:1.55},{path:&quot;M-2.2,-2.2L-0.2,-0.2V0.2L-2.2,2.2L-1.4,3L1.6,0L-1.4,-3Z&quot;,backoff:1.6},{path:&quot;M-4.4,-2.1L-0.6,-0.2V0.2L-4.4,2.1L-4,3L2,0L-4,-3Z&quot;,backoff:2},{path:&quot;M2,0A2,2 0 1,1 0,-2A2,2 0 0,1 2,0Z&quot;,backoff:0,noRotate:!0},{path:&quot;M2,2V-2H-2V2Z&quot;,backoff:0,noRotate:!0}]},{}],601:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;./arrow_paths&quot;),i=t(&quot;../../plots/font_attributes&quot;),a=t(&quot;../../plots/cartesian/constants&quot;);e.exports={_isLinkedToArray:&quot;annotation&quot;,visible:{valType:&quot;boolean&quot;,dflt:!0,editType:&quot;calcIfAutorange&quot;},text:{valType:&quot;string&quot;,editType:&quot;calcIfAutorange&quot;},textangle:{valType:&quot;angle&quot;,dflt:0,editType:&quot;calcIfAutorange&quot;},font:i({editType:&quot;calcIfAutorange&quot;,colorEditType:&quot;arraydraw&quot;}),width:{valType:&quot;number&quot;,min:1,dflt:null,editType:&quot;calcIfAutorange&quot;},height:{valType:&quot;number&quot;,min:1,dflt:null,editType:&quot;calcIfAutorange&quot;},opacity:{valType:&quot;number&quot;,min:0,max:1,dflt:1,editType:&quot;arraydraw&quot;},align:{valType:&quot;enumerated&quot;,values:[&quot;left&quot;,&quot;center&quot;,&quot;right&quot;],dflt:&quot;center&quot;,editType:&quot;arraydraw&quot;},valign:{valType:&quot;enumerated&quot;,values:[&quot;top&quot;,&quot;middle&quot;,&quot;bottom&quot;],dflt:&quot;middle&quot;,editType:&quot;arraydraw&quot;},bgcolor:{valType:&quot;color&quot;,dflt:&quot;rgba(0,0,0,0)&quot;,editType:&quot;arraydraw&quot;},bordercolor:{valType:&quot;color&quot;,dflt:&quot;rgba(0,0,0,0)&quot;,editType:&quot;arraydraw&quot;},borderpad:{valType:&quot;number&quot;,min:0,dflt:1,editType:&quot;calcIfAutorange&quot;},borderwidth:{valType:&quot;number&quot;,min:0,dflt:1,editType:&quot;calcIfAutorange&quot;},showarrow:{valType:&quot;boolean&quot;,dflt:!0,editType:&quot;calcIfAutorange&quot;},arrowcolor:{valType:&quot;color&quot;,editType:&quot;arraydraw&quot;},arrowhead:{valType:&quot;integer&quot;,min:0,max:n.length,dflt:1,editType:&quot;arraydraw&quot;},startarrowhead:{valType:&quot;integer&quot;,min:0,max:n.length,dflt:1,editType:&quot;arraydraw&quot;},arrowside:{valType:&quot;flaglist&quot;,flags:[&quot;end&quot;,&quot;start&quot;],extras:[&quot;none&quot;],dflt:&quot;end&quot;,editType:&quot;arraydraw&quot;},arrowsize:{valType:&quot;number&quot;,min:.3,dflt:1,editType:&quot;calcIfAutorange&quot;},startarrowsize:{valType:&quot;number&quot;,min:.3,dflt:1,editType:&quot;calcIfAutorange&quot;},arrowwidth:{valType:&quot;number&quot;,min:.1,editType:&quot;calcIfAutorange&quot;},standoff:{valType:&quot;number&quot;,min:0,dflt:0,editType:&quot;calcIfAutorange&quot;},startstandoff:{valType:&quot;number&quot;,min:0,dflt:0,editType:&quot;calcIfAutorange&quot;},ax:{valType:&quot;any&quot;,editType:&quot;calcIfAutorange&quot;},ay:{valType:&quot;any&quot;,editType:&quot;calcIfAutorange&quot;},axref:{valType:&quot;enumerated&quot;,dflt:&quot;pixel&quot;,values:[&quot;pixel&quot;,a.idRegex.x.toString()],editType:&quot;calc&quot;},ayref:{valType:&quot;enumerated&quot;,dflt:&quot;pixel&quot;,values:[&quot;pixel&quot;,a.idRegex.y.toString()],editType:&quot;calc&quot;},xref:{valType:&quot;enumerated&quot;,values:[&quot;paper&quot;,a.idRegex.x.toString()],editType:&quot;calc&quot;},x:{valType:&quot;any&quot;,editType:&quot;calcIfAutorange&quot;},xanchor:{valType:&quot;enumerated&quot;,values:[&quot;auto&quot;,&quot;left&quot;,&quot;center&quot;,&quot;right&quot;],dflt:&quot;auto&quot;,editType:&quot;calcIfAutorange&quot;},xshift:{valType:&quot;number&quot;,dflt:0,editType:&quot;calcIfAutorange&quot;},yref:{valType:&quot;enumerated&quot;,values:[&quot;paper&quot;,a.idRegex.y.toString()],editType:&quot;calc&quot;},y:{valType:&quot;any&quot;,editType:&quot;calcIfAutorange&quot;},yanchor:{valType:&quot;enumerated&quot;,values:[&quot;auto&quot;,&quot;top&quot;,&quot;middle&quot;,&quot;bottom&quot;],dflt:&quot;auto&quot;,editType:&quot;calcIfAutorange&quot;},yshift:{valType:&quot;number&quot;,dflt:0,editType:&quot;calcIfAutorange&quot;},clicktoshow:{valType:&quot;enumerated&quot;,values:[!1,&quot;onoff&quot;,&quot;onout&quot;],dflt:!1,editType:&quot;arraydraw&quot;},xclick:{valType:&quot;any&quot;,editType:&quot;arraydraw&quot;},yclick:{valType:&quot;any&quot;,editType:&quot;arraydraw&quot;},hovertext:{valType:&quot;string&quot;,editType:&quot;arraydraw&quot;},hoverlabel:{bgcolor:{valType:&quot;color&quot;,editType:&quot;arraydraw&quot;},bordercolor:{valType:&quot;color&quot;,editType:&quot;arraydraw&quot;},font:i({editType:&quot;arraydraw&quot;}),editType:&quot;arraydraw&quot;},captureevents:{valType:&quot;boolean&quot;,editType:&quot;arraydraw&quot;},editType:&quot;calc&quot;,_deprecated:{ref:{valType:&quot;string&quot;,editType:&quot;calc&quot;}}}},{&quot;../../plots/cartesian/constants&quot;:794,&quot;../../plots/font_attributes&quot;:816,&quot;./arrow_paths&quot;:600}],602:[function(t,e,r){&quot;use strict&quot;;function n(t){var e=t._fullLayout;i.filterVisible(e.annotations).forEach(function(e){var r,n,i,o,s=a.getFromId(t,e.xref),l=a.getFromId(t,e.yref),c=3*e.arrowsize*e.arrowwidth||0,u=3*e.startarrowsize*e.arrowwidth||0;s&amp;&amp;s.autorange&amp;&amp;(r=c+e.xshift,n=c-e.xshift,i=u+e.xshift,o=u-e.xshift,e.axref===e.xref?(a.expand(s,[s.r2c(e.x)],{ppadplus:r,ppadminus:n}),a.expand(s,[s.r2c(e.ax)],{ppadplus:Math.max(e._xpadplus,i),ppadminus:Math.max(e._xpadminus,o)})):(i=e.ax?i+e.ax:i,o=e.ax?o-e.ax:o,a.expand(s,[s.r2c(e.x)],{ppadplus:Math.max(e._xpadplus,r,i),ppadminus:Math.max(e._xpadminus,n,o)}))),l&amp;&amp;l.autorange&amp;&amp;(r=c-e.yshift,n=c+e.yshift,i=u-e.yshift,o=u+e.yshift,e.ayref===e.yref?(a.expand(l,[l.r2c(e.y)],{ppadplus:r,ppadminus:n}),a.expand(l,[l.r2c(e.ay)],{ppadplus:Math.max(e._ypadplus,i),ppadminus:Math.max(e._ypadminus,o)})):(i=e.ay?i+e.ay:i,o=e.ay?o-e.ay:o,a.expand(l,[l.r2c(e.y)],{ppadplus:Math.max(e._ypadplus,r,i),ppadminus:Math.max(e._ypadminus,n,o)})))})}var i=t(&quot;../../lib&quot;),a=t(&quot;../../plots/cartesian/axes&quot;),o=t(&quot;./draw&quot;).draw;e.exports=function(t){var e=t._fullLayout,r=i.filterVisible(e.annotations);if(r.length&amp;&amp;t._fullData.length){var s={};r.forEach(function(t){s[t.xref]=1,s[t.yref]=1});for(var l in s){var c=a.getFromId(t,l);if(c&amp;&amp;c.autorange)return i.syncOrAsync([o,n],t)}}}},{&quot;../../lib&quot;:743,&quot;../../plots/cartesian/axes&quot;:789,&quot;./draw&quot;:607}],603:[function(t,e,r){&quot;use strict&quot;;function n(t,e){var r,n,a,o,s,l,c,u=t._fullLayout.annotations,f=[],h=[],d=[],p=(e||[]).length;for(r=0;r&lt;u.length;r++)if(a=u[r],o=a.clicktoshow){for(n=0;n&lt;p;n++)if(s=e[n],l=s.xaxis,c=s.yaxis,l._id===a.xref&amp;&amp;c._id===a.yref&amp;&amp;l.d2r(s.x)===i(a._xclick,l)&amp;&amp;c.d2r(s.y)===i(a._yclick,c)){(a.visible?&quot;onout&quot;===o?h:d:f).push(r);break}n===p&amp;&amp;a.visible&amp;&amp;&quot;onout&quot;===o&amp;&amp;h.push(r)}return{on:f,off:h,explicitOff:d}}function i(t,e){return&quot;log&quot;===e.type?e.l2r(t):e.d2r(t)}var a=t(&quot;../../plotly&quot;);e.exports={hasClickToShow:function(t,e){var r=n(t,e);return r.on.length&gt;0||r.explicitOff.length&gt;0},onClick:function(t,e){var r,i=n(t,e),o=i.on,s=i.off.concat(i.explicitOff),l={};if(o.length||s.length){for(r=0;r&lt;o.length;r++)l[&quot;annotations[&quot;+o[r]+&quot;].visible&quot;]=!0;for(r=0;r&lt;s.length;r++)l[&quot;annotations[&quot;+s[r]+&quot;].visible&quot;]=!1;return a.update(t,{},l)}}}},{&quot;../../plotly&quot;:784}],604:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib&quot;),i=t(&quot;../color&quot;);e.exports=function(t,e,r,a){a(&quot;opacity&quot;);var o=a(&quot;bgcolor&quot;),s=a(&quot;bordercolor&quot;),l=i.opacity(s);a(&quot;borderpad&quot;);var c=a(&quot;borderwidth&quot;),u=a(&quot;showarrow&quot;);a(&quot;text&quot;,u?&quot; &quot;:r._dfltTitle.annotation),a(&quot;textangle&quot;),n.coerceFont(a,&quot;font&quot;,r.font),a(&quot;width&quot;),a(&quot;align&quot;);if(a(&quot;height&quot;)&amp;&amp;a(&quot;valign&quot;),u){var f,h,d=a(&quot;arrowside&quot;);-1!==d.indexOf(&quot;end&quot;)&amp;&amp;(f=a(&quot;arrowhead&quot;),h=a(&quot;arrowsize&quot;)),-1!==d.indexOf(&quot;start&quot;)&amp;&amp;(a(&quot;startarrowhead&quot;,f),a(&quot;startarrowsize&quot;,h)),a(&quot;arrowcolor&quot;,l?e.bordercolor:i.defaultLine),a(&quot;arrowwidth&quot;,2*(l&amp;&amp;c||1)),a(&quot;standoff&quot;),a(&quot;startstandoff&quot;)}var p=a(&quot;hovertext&quot;),m=r.hoverlabel||{};if(p){var g=a(&quot;hoverlabel.bgcolor&quot;,m.bgcolor||(i.opacity(o)?i.rgb(o):i.defaultLine)),v=a(&quot;hoverlabel.bordercolor&quot;,m.bordercolor||i.contrast(g));n.coerceFont(a,&quot;hoverlabel.font&quot;,{family:m.font.family,size:m.font.size,color:m.font.color||v})}a(&quot;captureevents&quot;,!!p)}},{&quot;../../lib&quot;:743,&quot;../color&quot;:618}],605:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;fast-isnumeric&quot;),i=t(&quot;../../lib/to_log_range&quot;);e.exports=function(t,e,r,a){function o(t){var r=c[t],o=null;o=s?i(r,e.range):Math.pow(10,r),n(o)||(o=null),a(u+t,o)}e=e||{};var s=&quot;log&quot;===r&amp;&amp;&quot;linear&quot;===e.type,l=&quot;linear&quot;===r&amp;&amp;&quot;log&quot;===e.type;if(s||l)for(var c,u,f=t._fullLayout.annotations,h=e._id.charAt(0),d=0;d&lt;f.length;d++)c=f[d],u=&quot;annotations[&quot;+d+&quot;].&quot;,c[h+&quot;ref&quot;]===e._id&amp;&amp;o(h),c[&quot;a&quot;+h+&quot;ref&quot;]===e._id&amp;&amp;o(&quot;a&quot;+h)}},{&quot;../../lib/to_log_range&quot;:768,&quot;fast-isnumeric&quot;:140}],606:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../plots/array_container_defaults&quot;),i=t(&quot;./annotation_defaults&quot;);e.exports=function(t,e){n(t,e,{name:&quot;annotations&quot;,handleItemDefaults:i})}},{&quot;../../plots/array_container_defaults&quot;:786,&quot;./annotation_defaults&quot;:599}],607:[function(t,e,r){&quot;use strict&quot;;function n(t,e){var r=t._fullLayout.annotations[e]||{};i(t,r,e,!1,c.getFromId(t,r.xref),c.getFromId(t,r.yref))}function i(t,e,r,n,i,s){function c(r){return r.call(f.font,R).attr({&quot;text-anchor&quot;:{left:&quot;start&quot;,right:&quot;end&quot;}[e.align]||&quot;middle&quot;}),d.convertToTspans(r,t,v),r}function v(){function r(t,e){return&quot;auto&quot;===e&amp;&amp;(e=t&lt;1/3?&quot;left&quot;:t&gt;2/3?&quot;right&quot;:&quot;center&quot;),{center:0,middle:0,left:.5,bottom:-.5,right:-.5,top:.5}[e]}var a=N.selectAll(&quot;a&quot;);if(1===a.size()&amp;&amp;a.text()===N.text()){C.insert(&quot;a&quot;,&quot;:first-child&quot;).attr({&quot;xlink:xlink:href&quot;:a.attr(&quot;xlink:href&quot;),&quot;xlink:xlink:show&quot;:a.attr(&quot;xlink:show&quot;)}).style({cursor:&quot;pointer&quot;}).node().appendChild(P.node())}var c=C.select(&quot;.annotation-text-math-group&quot;),h=!c.empty(),v=f.bBox((h?c:N).node()),y=v.width,L=v.height,D=e.width||y,R=e.height||L,j=Math.round(D+2*I),B=Math.round(R+2*I);e._w=D,e._h=R;for(var U=!1,V=[&quot;x&quot;,&quot;y&quot;],q=0;q&lt;V.length;q++){var H,G,Y,W,X,Z=V[q],J=e[Z+&quot;ref&quot;]||Z,K=e[&quot;a&quot;+Z+&quot;ref&quot;],Q={x:i,y:s}[Z],$=(A+(&quot;x&quot;===Z?0:-90))*Math.PI/180,tt=j*Math.cos($),et=B*Math.sin($),rt=Math.abs(tt)+Math.abs(et),nt=e[Z+&quot;anchor&quot;],it=e[Z+&quot;shift&quot;]*(&quot;x&quot;===Z?1:-1),at=k[Z];if(Q){var ot=Q.r2fraction(e[Z]);if((t._dragging||!Q.autorange)&amp;&amp;(ot&lt;0||ot&gt;1)&amp;&amp;(K===J?((ot=Q.r2fraction(e[&quot;a&quot;+Z]))&lt;0||ot&gt;1)&amp;&amp;(U=!0):U=!0,U))continue;H=Q._offset+Q.r2p(e[Z]),W=.5}else&quot;x&quot;===Z?(Y=e[Z],H=_.l+_.w*Y):(Y=1-e[Z],H=_.t+_.h*Y),W=e.showarrow?.5:Y;if(e.showarrow){at.head=H;var st=e[&quot;a&quot;+Z];X=tt*r(.5,e.xanchor)-et*r(.5,e.yanchor),K===J?(at.tail=Q._offset+Q.r2p(st),G=X):(at.tail=H+st,G=X+st),at.text=at.tail+X;var lt=b[&quot;x&quot;===Z?&quot;width&quot;:&quot;height&quot;];if(&quot;paper&quot;===J&amp;&amp;(at.head=l.constrain(at.head,1,lt-1)),&quot;pixel&quot;===K){var ct=-Math.max(at.tail-3,at.text),ut=Math.min(at.tail+3,at.text)-lt;ct&gt;0?(at.tail+=ct,at.text+=ct):ut&gt;0&amp;&amp;(at.tail-=ut,at.text-=ut)}at.tail+=it,at.head+=it}else G=X=rt*r(W,nt),at.text=H+X;at.text+=it,X+=it,G+=it,e[&quot;_&quot;+Z+&quot;padplus&quot;]=rt/2+G,e[&quot;_&quot;+Z+&quot;padminus&quot;]=rt/2-G,e[&quot;_&quot;+Z+&quot;size&quot;]=rt,e[&quot;_&quot;+Z+&quot;shift&quot;]=X}if(U)C.remove();else{var ft=0,ht=0;if(&quot;left&quot;!==e.align&amp;&amp;(ft=(D-y)*(&quot;center&quot;===e.align?.5:1)),&quot;top&quot;!==e.valign&amp;&amp;(ht=(R-L)*(&quot;middle&quot;===e.valign?.5:1)),h)c.select(&quot;svg&quot;).attr({x:I+ft-1,y:I+ht}).call(f.setClipUrl,O?M:null);else{var dt=I+ht-v.top,pt=I+ft-v.left;N.call(d.positionText,pt,dt).call(f.setClipUrl,O?M:null)}F.select(&quot;rect&quot;).call(f.setRect,I,I,D,R),P.call(f.setRect,z/2,z/2,j-z,B-z),C.call(f.setTranslate,Math.round(k.x.text-j/2),Math.round(k.y.text-B/2)),S.attr({transform:&quot;rotate(&quot;+A+&quot;,&quot;+k.x.text+&quot;,&quot;+k.y.text+&quot;)&quot;});var mt=function(r,a){T.selectAll(&quot;.annotation-arrow-g&quot;).remove();var c=k.x.head,h=k.y.head,d=k.x.tail+r,p=k.y.tail+a,v=k.x.text+r,y=k.y.text+a,b=l.rotationXYMatrix(A,v,y),M=l.apply2DTransform(b),E=l.apply2DTransform2(b),L=+P.attr(&quot;width&quot;),z=+P.attr(&quot;height&quot;),D=v-.5*L,I=D+L,O=y-.5*z,F=O+z,R=[[D,O,D,F],[D,F,I,F],[I,F,I,O],[I,O,D,O]].map(E);if(!R.reduce(function(t,e){return t^!!l.segmentsIntersect(c,h,c+1e6,h+1e6,e[0],e[1],e[2],e[3])},!1)){R.forEach(function(t){var e=l.segmentsIntersect(d,p,c,h,t[0],t[1],t[2],t[3]);e&amp;&amp;(d=e.x,p=e.y)});var N=e.arrowwidth,j=e.arrowcolor,B=e.arrowside,U=T.append(&quot;g&quot;).style({opacity:u.opacity(j)}).classed(&quot;annotation-arrow-g&quot;,!0),V=U.append(&quot;path&quot;).attr(&quot;d&quot;,&quot;M&quot;+d+&quot;,&quot;+p+&quot;L&quot;+c+&quot;,&quot;+h).style(&quot;stroke-width&quot;,N+&quot;px&quot;).call(u.stroke,u.rgb(j));if(g(V,B,e),w.annotationPosition&amp;&amp;V.node().parentNode&amp;&amp;!n){var q=c,H=h;if(e.standoff){var G=Math.sqrt(Math.pow(c-d,2)+Math.pow(h-p,2));q+=e.standoff*(d-c)/G,H+=e.standoff*(p-h)/G}var Y,W,X,Z=U.append(&quot;path&quot;).classed(&quot;annotation-arrow&quot;,!0).classed(&quot;anndrag&quot;,!0).attr({d:&quot;M3,3H-3V-3H3ZM0,0L&quot;+(d-q)+&quot;,&quot;+(p-H),transform:&quot;translate(&quot;+q+&quot;,&quot;+H+&quot;)&quot;}).style(&quot;stroke-width&quot;,N+6+&quot;px&quot;).call(u.stroke,&quot;rgba(0,0,0,0)&quot;).call(u.fill,&quot;rgba(0,0,0,0)&quot;);m.init({element:Z.node(),gd:t,prepFn:function(){var t=f.getTranslate(C);W=t.x,X=t.y,Y={},i&amp;&amp;i.autorange&amp;&amp;(Y[i._name+&quot;.autorange&quot;]=!0),s&amp;&amp;s.autorange&amp;&amp;(Y[s._name+&quot;.autorange&quot;]=!0)},moveFn:function(t,r){var n=M(W,X),a=n[0]+t,o=n[1]+r;C.call(f.setTranslate,a,o),Y[x+&quot;.x&quot;]=i?i.p2r(i.r2p(e.x)+t):e.x+t/_.w,Y[x+&quot;.y&quot;]=s?s.p2r(s.r2p(e.y)+r):e.y-r/_.h,e.axref===e.xref&amp;&amp;(Y[x+&quot;.ax&quot;]=i.p2r(i.r2p(e.ax)+t)),e.ayref===e.yref&amp;&amp;(Y[x+&quot;.ay&quot;]=s.p2r(s.r2p(e.ay)+r)),U.attr(&quot;transform&quot;,&quot;translate(&quot;+t+&quot;,&quot;+r+&quot;)&quot;),S.attr({transform:&quot;rotate(&quot;+A+&quot;,&quot;+a+&quot;,&quot;+o+&quot;)&quot;})},doneFn:function(){o.relayout(t,Y);var e=document.querySelector(&quot;.js-notes-box-panel&quot;);e&amp;&amp;e.redraw(e.selectedObj)}})}}};if(e.showarrow&amp;&amp;mt(0,0),E){var gt,vt;m.init({element:C.node(),gd:t,prepFn:function(){vt=S.attr(&quot;transform&quot;),gt={}},moveFn:function(t,r){var a=&quot;pointer&quot;;if(e.showarrow)e.axref===e.xref?gt[x+&quot;.ax&quot;]=i.p2r(i.r2p(e.ax)+t):gt[x+&quot;.ax&quot;]=e.ax+t,e.ayref===e.yref?gt[x+&quot;.ay&quot;]=s.p2r(s.r2p(e.ay)+r):gt[x+&quot;.ay&quot;]=e.ay+r,mt(t,r);else{if(n)return;if(i)gt[x+&quot;.x&quot;]=e.x+t/i._m;else{var o=e._xsize/_.w,l=e.x+(e._xshift-e.xshift)/_.w-o/2;gt[x+&quot;.x&quot;]=m.align(l+t/_.w,o,0,1,e.xanchor)}if(s)gt[x+&quot;.y&quot;]=e.y+r/s._m;else{var c=e._ysize/_.h,u=e.y-(e._yshift+e.yshift)/_.h-c/2;gt[x+&quot;.y&quot;]=m.align(u-r/_.h,c,0,1,e.yanchor)}i&amp;&amp;s||(a=m.getCursor(i?.5:gt[x+&quot;.x&quot;],s?.5:gt[x+&quot;.y&quot;],e.xanchor,e.yanchor))}S.attr({transform:&quot;translate(&quot;+t+&quot;,&quot;+r+&quot;)&quot;+vt}),p(C,a)},doneFn:function(){p(C),o.relayout(t,gt);var e=document.querySelector(&quot;.js-notes-box-panel&quot;);e&amp;&amp;e.redraw(e.selectedObj)}})}}}var y,x,b=t._fullLayout,_=t._fullLayout._size,w=t._context.edits;n?(y=&quot;annotation-&quot;+n,x=n+&quot;.annotations[&quot;+r+&quot;]&quot;):(y=&quot;annotation&quot;,x=&quot;annotations[&quot;+r+&quot;]&quot;),b._infolayer.selectAll(&quot;.&quot;+y+'[data-index=&quot;'+r+'&quot;]').remove();var M=&quot;clip&quot;+b._uid+&quot;_ann&quot;+r;if(e._input&amp;&amp;!1!==e.visible){var k={x:{},y:{}},A=+e.textangle||0,T=b._infolayer.append(&quot;g&quot;).classed(y,!0).attr(&quot;data-index&quot;,String(r)).style(&quot;opacity&quot;,e.opacity),S=T.append(&quot;g&quot;).classed(&quot;annotation-text-g&quot;,!0),E=w[e.showarrow?&quot;annotationTail&quot;:&quot;annotationPosition&quot;],L=e.captureevents||w.annotationText||E,C=S.append(&quot;g&quot;).style(&quot;pointer-events&quot;,L?&quot;all&quot;:null).call(p,&quot;default&quot;).on(&quot;click&quot;,function(){t._dragging=!1;var i={index:r,annotation:e._input,fullAnnotation:e,event:a.event};n&amp;&amp;(i.subplotId=n),t.emit(&quot;plotly_clickannotation&quot;,i)});e.hovertext&amp;&amp;C.on(&quot;mouseover&quot;,function(){var r=e.hoverlabel,n=r.font,i=this.getBoundingClientRect(),a=t.getBoundingClientRect();h.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:b._hoverlayer.node(),outerContainer:b._paper.node(),gd:t})}).on(&quot;mouseout&quot;,function(){h.loneUnhover(b._hoverlayer.node())});var z=e.borderwidth,D=e.borderpad,I=z+D,P=C.append(&quot;rect&quot;).attr(&quot;class&quot;,&quot;bg&quot;).style(&quot;stroke-width&quot;,z+&quot;px&quot;).call(u.stroke,e.bordercolor).call(u.fill,e.bgcolor),O=e.width||e.height,F=b._topclips.selectAll(&quot;#&quot;+M).data(O?[0]:[]);F.enter().append(&quot;clipPath&quot;).classed(&quot;annclip&quot;,!0).attr(&quot;id&quot;,M).append(&quot;rect&quot;),F.exit().remove();var R=e.font,N=C.append(&quot;text&quot;).classed(&quot;annotation-text&quot;,!0).text(e.text);w.annotationText?N.call(d.makeEditable,{delegate:C,gd:t}).call(c).on(&quot;edit&quot;,function(r){e.text=r,this.call(c);var n={};n[x+&quot;.text&quot;]=e.text,i&amp;&amp;i.autorange&amp;&amp;(n[i._name+&quot;.autorange&quot;]=!0),s&amp;&amp;s.autorange&amp;&amp;(n[s._name+&quot;.autorange&quot;]=!0),o.relayout(t,n)}):N.call(c)}else a.selectAll(&quot;#&quot;+M).remove()}var a=t(&quot;d3&quot;),o=t(&quot;../../plotly&quot;),s=t(&quot;../../plots/plots&quot;),l=t(&quot;../../lib&quot;),c=t(&quot;../../plots/cartesian/axes&quot;),u=t(&quot;../color&quot;),f=t(&quot;../drawing&quot;),h=t(&quot;../fx&quot;),d=t(&quot;../../lib/svg_text_utils&quot;),p=t(&quot;../../lib/setcursor&quot;),m=t(&quot;../dragelement&quot;),g=t(&quot;./draw_arrow_head&quot;);e.exports={draw:function(t){var e=t._fullLayout;e._infolayer.selectAll(&quot;.annotation&quot;).remove();for(var r=0;r&lt;e.annotations.length;r++)e.annotations[r].visible&amp;&amp;n(t,r);return s.previousPromises(t)},drawOne:n,drawRaw:i}},{&quot;../../lib&quot;:743,&quot;../../lib/setcursor&quot;:762,&quot;../../lib/svg_text_utils&quot;:766,&quot;../../plotly&quot;:784,&quot;../../plots/cartesian/axes&quot;:789,&quot;../../plots/plots&quot;:852,&quot;../color&quot;:618,&quot;../dragelement&quot;:640,&quot;../drawing&quot;:643,&quot;../fx&quot;:660,&quot;./draw_arrow_head&quot;:608,d3:128}],608:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;d3&quot;),i=t(&quot;../color&quot;),a=t(&quot;./arrow_paths&quot;);e.exports=function(t,e,r){function o(){t.style(&quot;stroke-dasharray&quot;,&quot;0px,100px&quot;)}function s(e,a,o,s){e.path&amp;&amp;(e.noRotate&amp;&amp;(o=0),n.select(h.parentNode).append(&quot;path&quot;).attr({class:t.attr(&quot;class&quot;),d:e.path,transform:&quot;translate(&quot;+a.x+&quot;,&quot;+a.y+&quot;)&quot;+(o?&quot;rotate(&quot;+180*o/Math.PI+&quot;)&quot;:&quot;&quot;)+&quot;scale(&quot;+s+&quot;)&quot;}).style({fill:i.rgb(r.arrowcolor),&quot;stroke-width&quot;:0}))}var l,c,u,f,h=t.node(),d=a[r.arrowhead||0],p=a[r.startarrowhead||0],m=(r.arrowwidth||1)*(r.arrowsize||1),g=(r.arrowwidth||1)*(r.startarrowsize||1),v=e.indexOf(&quot;start&quot;)&gt;=0,y=e.indexOf(&quot;end&quot;)&gt;=0,x=d.backoff*m+r.standoff,b=p.backoff*g+r.startstandoff;if(&quot;line&quot;===h.nodeName){l={x:+t.attr(&quot;x1&quot;),y:+t.attr(&quot;y1&quot;)},c={x:+t.attr(&quot;x2&quot;),y:+t.attr(&quot;y2&quot;)};var _=l.x-c.x,w=l.y-c.y;if(u=Math.atan2(w,_),f=u+Math.PI,x&amp;&amp;b&amp;&amp;x+b&gt;Math.sqrt(_*_+w*w))return void o();if(x){if(x*x&gt;_*_+w*w)return void o();var M=x*Math.cos(u),k=x*Math.sin(u);c.x+=M,c.y+=k,t.attr({x2:c.x,y2:c.y})}if(b){if(b*b&gt;_*_+w*w)return void o();var A=b*Math.cos(u),T=b*Math.sin(u);l.x-=A,l.y-=T,t.attr({x1:l.x,y1:l.y})}}else if(&quot;path&quot;===h.nodeName){var S=h.getTotalLength(),E=&quot;&quot;;if(S&lt;x+b)return void o();var L=h.getPointAtLength(0),C=h.getPointAtLength(.1);u=Math.atan2(L.y-C.y,L.x-C.x),l=h.getPointAtLength(Math.min(b,S)),E=&quot;0px,&quot;+b+&quot;px,&quot;;var z=h.getPointAtLength(S),D=h.getPointAtLength(S-.1);f=Math.atan2(z.y-D.y,z.x-D.x),c=h.getPointAtLength(Math.max(0,S-x));E+=S-(E?b+x:x)+&quot;px,&quot;+S+&quot;px&quot;,t.style(&quot;stroke-dasharray&quot;,E)}v&amp;&amp;s(p,l,u,g),y&amp;&amp;s(d,c,f,m)}},{&quot;../color&quot;:618,&quot;./arrow_paths&quot;:600,d3:128}],609:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;./draw&quot;),i=t(&quot;./click&quot;);e.exports={moduleType:&quot;component&quot;,name:&quot;annotations&quot;,layoutAttributes:t(&quot;./attributes&quot;),supplyLayoutDefaults:t(&quot;./defaults&quot;),includeBasePlot:t(&quot;../../plots/cartesian/include_components&quot;)(&quot;annotations&quot;),calcAutorange:t(&quot;./calc_autorange&quot;),draw:n.draw,drawOne:n.drawOne,drawRaw:n.drawRaw,hasClickToShow:i.hasClickToShow,onClick:i.onClick,convertCoords:t(&quot;./convert_coords&quot;)}},{&quot;../../plots/cartesian/include_components&quot;:799,&quot;./attributes&quot;:601,&quot;./calc_autorange&quot;:602,&quot;./click&quot;:603,&quot;./convert_coords&quot;:605,&quot;./defaults&quot;:606,&quot;./draw&quot;:607}],610:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../annotations/attributes&quot;),i=t(&quot;../../plot_api/edit_types&quot;).overrideAll;e.exports=i({_isLinkedToArray:&quot;annotation&quot;,visible:n.visible,x:{valType:&quot;any&quot;},y:{valType:&quot;any&quot;},z:{valType:&quot;any&quot;},ax:{valType:&quot;number&quot;},ay:{valType:&quot;number&quot;},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},&quot;calc&quot;,&quot;from-root&quot;)},{&quot;../../plot_api/edit_types&quot;:773,&quot;../annotations/attributes&quot;:601}],611:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib&quot;),i=t(&quot;../../plots/cartesian/axes&quot;);e.exports=function(t){for(var e=t.fullSceneLayout.annotations,r=0;r&lt;e.length;r++)!function(t,e){var r=e.fullSceneLayout.domain,a=e.fullLayout._size,o={pdata:null,type:&quot;linear&quot;,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[r],t);t.fullLayout._infolayer.selectAll(&quot;.annotation-&quot;+t.id).remove()}},{&quot;../../lib&quot;:743,&quot;../../plots/cartesian/axes&quot;:789}],612:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,n,o){function c(r,n){return i.coerce(t,e,l,r,n)}function u(t){var n=t+&quot;axis&quot;,i={_fullLayout:{}};return i._fullLayout[n]=r[n],a.coercePosition(e,i,c,t,t,.5)}return c(&quot;visible&quot;,!o.itemIsNotPlainObject)?(s(t,e,n.fullLayout,c),u(&quot;x&quot;),u(&quot;y&quot;),u(&quot;z&quot;),i.noneOrAll(t,e,[&quot;x&quot;,&quot;y&quot;,&quot;z&quot;]),e.xref=&quot;x&quot;,e.yref=&quot;y&quot;,e.zref=&quot;z&quot;,c(&quot;xanchor&quot;),c(&quot;yanchor&quot;),c(&quot;xshift&quot;),c(&quot;yshift&quot;),e.showarrow&amp;&amp;(e.axref=&quot;pixel&quot;,e.ayref=&quot;pixel&quot;,c(&quot;ax&quot;,-10),c(&quot;ay&quot;,-30),i.noneOrAll(t,e,[&quot;ax&quot;,&quot;ay&quot;])),e):e}var i=t(&quot;../../lib&quot;),a=t(&quot;../../plots/cartesian/axes&quot;),o=t(&quot;../../plots/array_container_defaults&quot;),s=t(&quot;../annotations/common_defaults&quot;),l=t(&quot;./attributes&quot;);e.exports=function(t,e,r){o(t,e,{name:&quot;annotations&quot;,handleItemDefaults:n,fullLayout:r.fullLayout})}},{&quot;../../lib&quot;:743,&quot;../../plots/array_container_defaults&quot;:786,&quot;../../plots/cartesian/axes&quot;:789,&quot;../annotations/common_defaults&quot;:604,&quot;./attributes&quot;:610}],613:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../annotations/draw&quot;).drawRaw,i=t(&quot;../../plots/gl3d/project&quot;),a=[&quot;x&quot;,&quot;y&quot;,&quot;z&quot;];e.exports=function(t){for(var e=t.fullSceneLayout,r=t.dataScale,o=e.annotations,s=0;s&lt;o.length;s++){for(var l=o[s],c=!1,u=0;u&lt;3;u++){var f=a[u],h=l[f],d=e[f+&quot;axis&quot;].r2fraction(h);if(d&lt;0||d&gt;1){c=!0;break}}c?t.fullLayout._infolayer.select(&quot;.annotation-&quot;+t.id+'[data-index=&quot;'+s+'&quot;]').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))}}},{&quot;../../plots/gl3d/project&quot;:841,&quot;../annotations/draw&quot;:607}],614:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../registry&quot;),i=t(&quot;../../lib&quot;);e.exports={moduleType:&quot;component&quot;,name:&quot;annotations3d&quot;,schema:{subplots:{scene:{annotations:t(&quot;./attributes&quot;)}}},layoutAttributes:t(&quot;./attributes&quot;),handleDefaults:t(&quot;./defaults&quot;),includeBasePlot:function(t,e){var r=n.subplotsRegistry.gl3d;if(r)for(var a=r.attrRegex,o=Object.keys(t),s=0;s&lt;o.length;s++){var l=o[s];a.test(l)&amp;&amp;(t[l].annotations||[]).length&amp;&amp;(i.pushUnique(e._basePlotModules,r),i.pushUnique(e._subplots.gl3d,l))}},convert:t(&quot;./convert&quot;),draw:t(&quot;./draw&quot;)}},{&quot;../../lib&quot;:743,&quot;../../registry&quot;:873,&quot;./attributes&quot;:610,&quot;./convert&quot;:611,&quot;./defaults&quot;:612,&quot;./draw&quot;:613}],615:[function(t,e,r){&quot;use strict&quot;;e.exports=t(&quot;world-calendars/dist/main&quot;),t(&quot;world-calendars/dist/plus&quot;),t(&quot;world-calendars/dist/calendars/chinese&quot;),t(&quot;world-calendars/dist/calendars/coptic&quot;),t(&quot;world-calendars/dist/calendars/discworld&quot;),t(&quot;world-calendars/dist/calendars/ethiopian&quot;),t(&quot;world-calendars/dist/calendars/hebrew&quot;),t(&quot;world-calendars/dist/calendars/islamic&quot;),t(&quot;world-calendars/dist/calendars/julian&quot;),t(&quot;world-calendars/dist/calendars/mayan&quot;),t(&quot;world-calendars/dist/calendars/nanakshahi&quot;),t(&quot;world-calendars/dist/calendars/nepali&quot;),t(&quot;world-calendars/dist/calendars/persian&quot;),t(&quot;world-calendars/dist/calendars/taiwan&quot;),t(&quot;world-calendars/dist/calendars/thai&quot;),t(&quot;world-calendars/dist/calendars/ummalqura&quot;)},{&quot;world-calendars/dist/calendars/chinese&quot;:581,&quot;world-calendars/dist/calendars/coptic&quot;:582,&quot;world-calendars/dist/calendars/discworld&quot;:583,&quot;world-calendars/dist/calendars/ethiopian&quot;:584,&quot;world-calendars/dist/calendars/hebrew&quot;:585,&quot;world-calendars/dist/calendars/islamic&quot;:586,&quot;world-calendars/dist/calendars/julian&quot;:587,&quot;world-calendars/dist/calendars/mayan&quot;:588,&quot;world-calendars/dist/calendars/nanakshahi&quot;:589,&quot;world-calendars/dist/calendars/nepali&quot;:590,&quot;world-calendars/dist/calendars/persian&quot;:591,&quot;world-calendars/dist/calendars/taiwan&quot;:592,&quot;world-calendars/dist/calendars/thai&quot;:593,&quot;world-calendars/dist/calendars/ummalqura&quot;:594,&quot;world-calendars/dist/main&quot;:595,&quot;world-calendars/dist/plus&quot;:596}],616:[function(t,e,r){&quot;use strict&quot;;function n(t){var e=m[t];return e||(e=m[t]=o.instance(t))}function i(t){return s.extendFlat({},f,{description:t})}function a(t){return&quot;Sets the calendar system to use with `&quot;+t+&quot;` date data.&quot;}var o=t(&quot;./calendars&quot;),s=t(&quot;../../lib&quot;),l=t(&quot;../../constants/numerical&quot;),c=l.EPOCHJD,u=l.ONEDAY,f={valType:&quot;enumerated&quot;,values:Object.keys(o.calendars),editType:&quot;calc&quot;,dflt:&quot;gregorian&quot;},h=function(t,e,r,n){var i={};return i[r]=f,s.coerce(t,e,i,r,n)},d=&quot;##&quot;,p={d:{0:&quot;dd&quot;,&quot;-&quot;:&quot;d&quot;},e:{0:&quot;d&quot;,&quot;-&quot;:&quot;d&quot;},a:{0:&quot;D&quot;,&quot;-&quot;:&quot;D&quot;},A:{0:&quot;DD&quot;,&quot;-&quot;:&quot;DD&quot;},j:{0:&quot;oo&quot;,&quot;-&quot;:&quot;o&quot;},W:{0:&quot;ww&quot;,&quot;-&quot;:&quot;w&quot;},m:{0:&quot;mm&quot;,&quot;-&quot;:&quot;m&quot;},b:{0:&quot;M&quot;,&quot;-&quot;:&quot;M&quot;},B:{0:&quot;MM&quot;,&quot;-&quot;:&quot;MM&quot;},y:{0:&quot;yy&quot;,&quot;-&quot;:&quot;yy&quot;},Y:{0:&quot;yyyy&quot;,&quot;-&quot;:&quot;yyyy&quot;},U:d,w:d,c:{0:&quot;D M d %X yyyy&quot;,&quot;-&quot;:&quot;D M d %X yyyy&quot;},x:{0:&quot;mm/dd/yyyy&quot;,&quot;-&quot;:&quot;mm/dd/yyyy&quot;}},m={},g={xcalendar:i(a(&quot;x&quot;))},v=s.extendFlat({},g,{ycalendar:i(a(&quot;y&quot;))}),y=s.extendFlat({},v,{zcalendar:i(a(&quot;z&quot;))}),x=i([&quot;Sets the calendar system to use for `range` and `tick0`&quot;,&quot;if this is a date axis. This does not set the calendar for&quot;,&quot;interpreting data on this axis, that's specified in the trace&quot;,&quot;or via the global `layout.calendar`&quot;].join(&quot; &quot;));e.exports={moduleType:&quot;component&quot;,name:&quot;calendars&quot;,schema:{traces:{scatter:v,bar:v,box:v,heatmap:v,contour:v,histogram:v,histogram2d:v,histogram2dcontour:v,scatter3d:y,surface:y,mesh3d:y,scattergl:v,ohlc:g,candlestick:g},layout:{calendar:i([&quot;Sets the default calendar system to use for interpreting and&quot;,&quot;displaying dates throughout the plot.&quot;].join(&quot; &quot;))},subplots:{xaxis:{calendar:x},yaxis:{calendar:x},scene:{xaxis:{calendar:x},yaxis:{calendar:x},zaxis:{calendar:x}},polar:{radialaxis:{calendar:x}}},transforms:{filter:{valuecalendar:i([&quot;Sets the calendar system to use for `value`, if it is a date.&quot;].join(&quot; &quot;)),targetcalendar:i([&quot;Sets the calendar system to use for `target`, if it is an&quot;,&quot;array of dates. If `target` is a string (eg *x*) we use the&quot;,&quot;corresponding trace attribute (eg `xcalendar`) if it exists,&quot;,&quot;even if `targetcalendar` is provided.&quot;].join(&quot; &quot;))}}},layoutAttributes:f,handleDefaults:h,handleTraceDefaults:function(t,e,r,n){for(var i=0;i&lt;r.length;i++)h(t,e,r[i]+&quot;calendar&quot;,n.calendar)},CANONICAL_SUNDAY:{chinese:&quot;2000-01-02&quot;,coptic:&quot;2000-01-03&quot;,discworld:&quot;2000-01-03&quot;,ethiopian:&quot;2000-01-05&quot;,hebrew:&quot;5000-01-01&quot;,islamic:&quot;1000-01-02&quot;,julian:&quot;2000-01-03&quot;,mayan:&quot;5000-01-01&quot;,nanakshahi:&quot;1000-01-05&quot;,nepali:&quot;2000-01-05&quot;,persian:&quot;1000-01-01&quot;,jalali:&quot;1000-01-01&quot;,taiwan:&quot;1000-01-04&quot;,thai:&quot;2000-01-04&quot;,ummalqura:&quot;1400-01-06&quot;},CANONICAL_TICK:{chinese:&quot;2000-01-01&quot;,coptic:&quot;2000-01-01&quot;,discworld:&quot;2000-01-01&quot;,ethiopian:&quot;2000-01-01&quot;,hebrew:&quot;5000-01-01&quot;,islamic:&quot;1000-01-01&quot;,julian:&quot;2000-01-01&quot;,mayan:&quot;5000-01-01&quot;,nanakshahi:&quot;1000-01-01&quot;,nepali:&quot;2000-01-01&quot;,persian:&quot;1000-01-01&quot;,jalali:&quot;1000-01-01&quot;,taiwan:&quot;1000-01-01&quot;,thai:&quot;2000-01-01&quot;,ummalqura:&quot;1400-01-01&quot;},DFLTRANGE:{chinese:[&quot;2000-01-01&quot;,&quot;2001-01-01&quot;],coptic:[&quot;1700-01-01&quot;,&quot;1701-01-01&quot;],discworld:[&quot;1800-01-01&quot;,&quot;1801-01-01&quot;],ethiopian:[&quot;2000-01-01&quot;,&quot;2001-01-01&quot;],hebrew:[&quot;5700-01-01&quot;,&quot;5701-01-01&quot;],islamic:[&quot;1400-01-01&quot;,&quot;1401-01-01&quot;],julian:[&quot;2000-01-01&quot;,&quot;2001-01-01&quot;],mayan:[&quot;5200-01-01&quot;,&quot;5201-01-01&quot;],nanakshahi:[&quot;0500-01-01&quot;,&quot;0501-01-01&quot;],nepali:[&quot;2000-01-01&quot;,&quot;2001-01-01&quot;],persian:[&quot;1400-01-01&quot;,&quot;1401-01-01&quot;],jalali:[&quot;1400-01-01&quot;,&quot;1401-01-01&quot;],taiwan:[&quot;0100-01-01&quot;,&quot;0101-01-01&quot;],thai:[&quot;2500-01-01&quot;,&quot;2501-01-01&quot;],ummalqura:[&quot;1400-01-01&quot;,&quot;1401-01-01&quot;]},getCal:n,worldCalFmt:function(t,e,r){for(var i,a,o,s,l,f=Math.floor((e+.05)/u)+c,h=n(r).fromJD(f),m=0;-1!==(m=t.indexOf(&quot;%&quot;,m));)&quot;0&quot;===(i=t.charAt(m+1))||&quot;-&quot;===i||&quot;_&quot;===i?(o=3,a=t.charAt(m+2),&quot;_&quot;===i&amp;&amp;(i=&quot;-&quot;)):(a=i,i=&quot;0&quot;,o=2),(s=p[a])?(l=s===d?d:h.formatDate(s[i]),t=t.substr(0,m)+l+t.substr(m+o),m+=l.length):m+=o;return t}}},{&quot;../../constants/numerical&quot;:721,&quot;../../lib&quot;:743,&quot;./calendars&quot;:615}],617:[function(t,e,r){&quot;use strict&quot;;r.defaults=[&quot;#1f77b4&quot;,&quot;#ff7f0e&quot;,&quot;#2ca02c&quot;,&quot;#d62728&quot;,&quot;#9467bd&quot;,&quot;#8c564b&quot;,&quot;#e377c2&quot;,&quot;#7f7f7f&quot;,&quot;#bcbd22&quot;,&quot;#17becf&quot;],r.defaultLine=&quot;#444&quot;,r.lightLine=&quot;#eee&quot;,r.background=&quot;#fff&quot;,r.borderLine=&quot;#BEC8D9&quot;,r.lightFraction=1e3/11},{}],618:[function(t,e,r){&quot;use strict&quot;;function n(t){if(a(t)||&quot;string&quot;!=typeof t)return t;var e=t.trim();if(&quot;rgb&quot;!==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*/),i=&quot;a&quot;===e.charAt(3)&amp;&amp;4===n.length;if(!i&amp;&amp;3!==n.length)return t;for(var o=0;o&lt;n.length;o++){if(!n[o].length)return t;if(n[o]=Number(n[o]),!(n[o]&gt;=0))return t;if(3===o)n[o]&gt;1&amp;&amp;(n[o]=1);else if(n[o]&gt;=1)return t}var s=Math.round(255*n[0])+&quot;, &quot;+Math.round(255*n[1])+&quot;, &quot;+Math.round(255*n[2]);return i?&quot;rgba(&quot;+s+&quot;, &quot;+n[3]+&quot;)&quot;:&quot;rgb(&quot;+s+&quot;)&quot;}var i=t(&quot;tinycolor2&quot;),a=t(&quot;fast-isnumeric&quot;),o=e.exports={},s=t(&quot;./attributes&quot;);o.defaults=s.defaults;var l=o.defaultLine=s.defaultLine;o.lightLine=s.lightLine;var c=o.background=s.background;o.tinyRGB=function(t){var e=t.toRgb();return&quot;rgb(&quot;+Math.round(e.r)+&quot;, &quot;+Math.round(e.g)+&quot;, &quot;+Math.round(e.b)+&quot;)&quot;},o.rgb=function(t){return o.tinyRGB(i(t))},o.opacity=function(t){return t?i(t).getAlpha():0},o.addOpacity=function(t,e){var r=i(t).toRgb();return&quot;rgba(&quot;+Math.round(r.r)+&quot;, &quot;+Math.round(r.g)+&quot;, &quot;+Math.round(r.b)+&quot;, &quot;+e+&quot;)&quot;},o.combine=function(t,e){var r=i(t).toRgb();if(1===r.a)return i(t).toRgbString();var n=i(e||c).toRgb(),a=1===n.a?n:{r:255*(1-n.a)+n.r*n.a,g:255*(1-n.a)+n.g*n.a,b:255*(1-n.a)+n.b*n.a},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 i(o).toRgbString()},o.contrast=function(t,e,r){var n=i(t);1!==n.getAlpha()&amp;&amp;(n=i(o.combine(t,c)));return(n.isDark()?e?n.lighten(e):c:r?n.darken(r):l).toString()},o.stroke=function(t,e){var r=i(e);t.style({stroke:o.tinyRGB(r),&quot;stroke-opacity&quot;:r.getAlpha()})},o.fill=function(t,e){var r=i(e);t.style({fill:o.tinyRGB(r),&quot;fill-opacity&quot;:r.getAlpha()})},o.clean=function(t){if(t&amp;&amp;&quot;object&quot;==typeof t){var e,r,i,a,s=Object.keys(t);for(e=0;e&lt;s.length;e++)if(i=s[e],a=t[i],&quot;color&quot;===i.substr(i.length-5))if(Array.isArray(a))for(r=0;r&lt;a.length;r++)a[r]=n(a[r]);else t[i]=n(a);else if(&quot;colorscale&quot;===i.substr(i.length-10)&amp;&amp;Array.isArray(a))for(r=0;r&lt;a.length;r++)Array.isArray(a[r])&amp;&amp;(a[r][1]=n(a[r][1]));else if(Array.isArray(a)){var l=a[0];if(!Array.isArray(l)&amp;&amp;l&amp;&amp;&quot;object&quot;==typeof l)for(r=0;r&lt;a.length;r++)o.clean(a[r])}else a&amp;&amp;&quot;object&quot;==typeof a&amp;&amp;o.clean(a)}}},{&quot;./attributes&quot;:617,&quot;fast-isnumeric&quot;:140,tinycolor2:546}],619:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../plots/cartesian/layout_attributes&quot;),i=t(&quot;../../plots/font_attributes&quot;),a=t(&quot;../../lib/extend&quot;).extendFlat,o=t(&quot;../../plot_api/edit_types&quot;).overrideAll;e.exports=o({thicknessmode:{valType:&quot;enumerated&quot;,values:[&quot;fraction&quot;,&quot;pixels&quot;],dflt:&quot;pixels&quot;},thickness:{valType:&quot;number&quot;,min:0,dflt:30},lenmode:{valType:&quot;enumerated&quot;,values:[&quot;fraction&quot;,&quot;pixels&quot;],dflt:&quot;fraction&quot;},len:{valType:&quot;number&quot;,min:0,dflt:1},x:{valType:&quot;number&quot;,dflt:1.02,min:-2,max:3},xanchor:{valType:&quot;enumerated&quot;,values:[&quot;left&quot;,&quot;center&quot;,&quot;right&quot;],dflt:&quot;left&quot;},xpad:{valType:&quot;number&quot;,min:0,dflt:10},y:{valType:&quot;number&quot;,dflt:.5,min:-2,max:3},yanchor:{valType:&quot;enumerated&quot;,values:[&quot;top&quot;,&quot;middle&quot;,&quot;bottom&quot;],dflt:&quot;middle&quot;},ypad:{valType:&quot;number&quot;,min:0,dflt:10},outlinecolor:n.linecolor,outlinewidth:n.linewidth,bordercolor:n.linecolor,borderwidth:{valType:&quot;number&quot;,min:0,dflt:0},bgcolor:{valType:&quot;color&quot;,dflt:&quot;rgba(0,0,0,0)&quot;},tickmode:n.tickmode,nticks:n.nticks,tick0:n.tick0,dtick:n.dtick,tickvals:n.tickvals,ticktext:n.ticktext,ticks:a({},n.ticks,{dflt:&quot;&quot;}),ticklen:n.ticklen,tickwidth:n.tickwidth,tickcolor:n.tickcolor,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,showexponent:n.showexponent,title:{valType:&quot;string&quot;},titlefont:i({}),titleside:{valType:&quot;enumerated&quot;,values:[&quot;right&quot;,&quot;top&quot;,&quot;bottom&quot;],dflt:&quot;top&quot;}},&quot;colorbars&quot;,&quot;from-root&quot;)},{&quot;../../lib/extend&quot;:732,&quot;../../plot_api/edit_types&quot;:773,&quot;../../plots/cartesian/layout_attributes&quot;:801,&quot;../../plots/font_attributes&quot;:816}],620:[function(t,e,r){&quot;use strict&quot;;e.exports={cn:{colorbar:&quot;colorbar&quot;,cbbg:&quot;cbbg&quot;,cbfill:&quot;cbfill&quot;,cbfills:&quot;cbfills&quot;,cbline:&quot;cbline&quot;,cblines:&quot;cblines&quot;,cbaxis:&quot;cbaxis&quot;,cbtitleunshift:&quot;cbtitleunshift&quot;,cbtitle:&quot;cbtitle&quot;,cboutline:&quot;cboutline&quot;,crisp:&quot;crisp&quot;,jsPlaceholder:&quot;js-placeholder&quot;}}},{}],621:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib&quot;),i=t(&quot;../../plots/cartesian/tick_value_defaults&quot;),a=t(&quot;../../plots/cartesian/tick_mark_defaults&quot;),o=t(&quot;../../plots/cartesian/tick_label_defaults&quot;),s=t(&quot;./attributes&quot;);e.exports=function(t,e,r){function l(t,e){return n.coerce(u,c,s,t,e)}var c=e.colorbar={},u=t.colorbar||{};l(&quot;thickness&quot;,&quot;fraction&quot;===l(&quot;thicknessmode&quot;)?30/(r.width-r.margin.l-r.margin.r):30);l(&quot;len&quot;,&quot;fraction&quot;===l(&quot;lenmode&quot;)?1:r.height-r.margin.t-r.margin.b),l(&quot;x&quot;),l(&quot;xanchor&quot;),l(&quot;xpad&quot;),l(&quot;y&quot;),l(&quot;yanchor&quot;),l(&quot;ypad&quot;),n.noneOrAll(u,c,[&quot;x&quot;,&quot;y&quot;]),l(&quot;outlinecolor&quot;),l(&quot;outlinewidth&quot;),l(&quot;bordercolor&quot;),l(&quot;borderwidth&quot;),l(&quot;bgcolor&quot;),i(u,c,l,&quot;linear&quot;),o(u,c,l,&quot;linear&quot;,{outerTicks:!1,font:r.font,noHover:!0}),a(u,c,l,&quot;linear&quot;,{outerTicks:!1,font:r.font,noHover:!0}),l(&quot;title&quot;,r._dfltTitle.colorbar),n.coerceFont(l,&quot;titlefont&quot;,r.font),l(&quot;titleside&quot;)}},{&quot;../../lib&quot;:743,&quot;../../plots/cartesian/tick_label_defaults&quot;:809,&quot;../../plots/cartesian/tick_mark_defaults&quot;:810,&quot;../../plots/cartesian/tick_value_defaults&quot;:811,&quot;./attributes&quot;:619}],622:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;d3&quot;),i=t(&quot;tinycolor2&quot;),a=t(&quot;../../plotly&quot;),o=t(&quot;../../plots/plots&quot;),s=t(&quot;../../registry&quot;),l=t(&quot;../../plots/cartesian/axes&quot;),c=t(&quot;../dragelement&quot;),u=t(&quot;../../lib&quot;),f=t(&quot;../../lib/extend&quot;).extendFlat,h=t(&quot;../../lib/setcursor&quot;),d=t(&quot;../drawing&quot;),p=t(&quot;../color&quot;),m=t(&quot;../titles&quot;),g=t(&quot;../../lib/svg_text_utils&quot;),v=t(&quot;../../constants/alignment&quot;).LINE_SPACING,y=t(&quot;../../plots/cartesian/axis_defaults&quot;),x=t(&quot;../../plots/cartesian/position_defaults&quot;),b=t(&quot;../../plots/cartesian/layout_attributes&quot;),_=t(&quot;./attributes&quot;),w=t(&quot;./constants&quot;).cn;e.exports=function(t,e){function r(){function _(t,e){return u.coerce(tt,et,b,t,e)}function A(e,r){var n,i=M();n=s.traceIs(i,&quot;markerColorscale&quot;)?&quot;marker.colorbar.title&quot;:&quot;colorbar.title&quot;;var a={propContainer:et,propName:n,traceIndex:i.index,placeholder:T._dfltTitle.colorbar,containerGroup:st.select(&quot;.cbtitle&quot;)},o=&quot;h&quot;===e.charAt(0)?e.substr(1):&quot;h&quot;+e;st.selectAll(&quot;.&quot;+o+&quot;,.&quot;+o+&quot;-math-group&quot;).remove(),m.draw(t,e,f(a,r||{}))}var T=t._fullLayout,S=T._size;if(&quot;function&quot;==typeof k.fillcolor||&quot;function&quot;==typeof k.line.color){var E,L,C=n.extent((&quot;function&quot;==typeof k.fillcolor?k.fillcolor:k.line.color).domain()),z=[],D=[],I=&quot;function&quot;==typeof k.line.color?k.line.color:function(){return k.line.color},P=&quot;function&quot;==typeof k.fillcolor?k.fillcolor:function(){return k.fillcolor},O=k.levels.end+k.levels.size/100,F=k.levels.size,R=1.001*C[0]-.001*C[1],N=1.001*C[1]-.001*C[0];for(L=0;L&lt;1e5&amp;&amp;(E=k.levels.start+L*F,!(F&gt;0?E&gt;=O:E&lt;=O));L++)E&gt;R&amp;&amp;E&lt;N&amp;&amp;z.push(E);if(&quot;function&quot;==typeof k.fillcolor)if(k.filllevels)for(O=k.filllevels.end+k.filllevels.size/100,F=k.filllevels.size,L=0;L&lt;1e5&amp;&amp;(E=k.filllevels.start+L*F,!(F&gt;0?E&gt;=O:E&lt;=O));L++)E&gt;C[0]&amp;&amp;E&lt;C[1]&amp;&amp;D.push(E);else(D=z.map(function(t){return t-k.levels.size/2})).push(D[D.length-1]+k.levels.size);else k.fillcolor&amp;&amp;&quot;string&quot;==typeof k.fillcolor&amp;&amp;(D=[0]);k.levels.size&lt;0&amp;&amp;(z.reverse(),D.reverse());var j,B=T.height-T.margin.t-T.margin.b,U=T.width-T.margin.l-T.margin.r,V=Math.round(k.thickness*(&quot;fraction&quot;===k.thicknessmode?U:1)),q=V/S.w,H=Math.round(k.len*(&quot;fraction&quot;===k.lenmode?B:1)),G=H/S.h,Y=k.xpad/S.w,W=(k.borderwidth+k.outlinewidth)/2,X=k.ypad/S.h,Z=Math.round(k.x*S.w+k.xpad),J=k.x-q*({middle:.5,right:1}[k.xanchor]||0),K=k.y+G*(({top:-.5,bottom:.5}[k.yanchor]||0)-.5),Q=Math.round(S.h*(1-K)),$=Q-H,tt={type:&quot;linear&quot;,range:C,tickmode:k.tickmode,nticks:k.nticks,tick0:k.tick0,dtick:k.dtick,tickvals:k.tickvals,ticktext:k.ticktext,ticks:k.ticks,ticklen:k.ticklen,tickwidth:k.tickwidth,tickcolor:k.tickcolor,showticklabels:k.showticklabels,tickfont:k.tickfont,tickangle:k.tickangle,tickformat:k.tickformat,exponentformat:k.exponentformat,separatethousands:k.separatethousands,showexponent:k.showexponent,showtickprefix:k.showtickprefix,tickprefix:k.tickprefix,showticksuffix:k.showticksuffix,ticksuffix:k.ticksuffix,title:k.title,titlefont:k.titlefont,showline:!0,anchor:&quot;free&quot;,position:1},et={type:&quot;linear&quot;,_id:&quot;y&quot;+e},rt={letter:&quot;y&quot;,font:T.font,noHover:!0,calendar:T.calendar};if(y(tt,et,_,rt,T),x(tt,et,_,rt),et.position=k.x+Y+q,r.axis=et,-1!==[&quot;top&quot;,&quot;bottom&quot;].indexOf(k.titleside)&amp;&amp;(et.titleside=k.titleside,et.titlex=k.x+Y,et.titley=K+(&quot;top&quot;===k.titleside?G-X:X)),k.line.color&amp;&amp;&quot;auto&quot;===k.tickmode){et.tickmode=&quot;linear&quot;,et.tick0=k.levels.start;var nt=k.levels.size,it=u.constrain((Q-$)/50,4,15)+1,at=(C[1]-C[0])/((k.nticks||it)*nt);if(at&gt;1){var ot=Math.pow(10,Math.floor(Math.log(at)/Math.LN10));nt*=ot*u.roundUp(at/ot,[2,5,10]),(Math.abs(k.levels.start)/k.levels.size+1e-6)%1&lt;2e-6&amp;&amp;(et.tick0=0)}et.dtick=nt}et.domain=[K+X,K+G-X],et.setScale();var st=T._infolayer.selectAll(&quot;g.&quot;+e).data([0]);st.enter().append(&quot;g&quot;).classed(e,!0).classed(w.colorbar,!0).each(function(){var t=n.select(this);t.append(&quot;rect&quot;).classed(w.cbbg,!0),t.append(&quot;g&quot;).classed(w.cbfills,!0),t.append(&quot;g&quot;).classed(w.cblines,!0),t.append(&quot;g&quot;).classed(w.cbaxis,!0).classed(w.crisp,!0),t.append(&quot;g&quot;).classed(w.cbtitleunshift,!0).append(&quot;g&quot;).classed(w.cbtitle,!0),t.append(&quot;rect&quot;).classed(w.cboutline,!0),t.select(&quot;.cbtitle&quot;).datum(0)}),st.attr(&quot;transform&quot;,&quot;translate(&quot;+Math.round(S.l)+&quot;,&quot;+Math.round(S.t)+&quot;)&quot;);var lt=st.select(&quot;.cbtitleunshift&quot;).attr(&quot;transform&quot;,&quot;translate(-&quot;+Math.round(S.l)+&quot;,-&quot;+Math.round(S.t)+&quot;)&quot;);et._axislayer=st.select(&quot;.cbaxis&quot;);var ct=0;if(-1!==[&quot;top&quot;,&quot;bottom&quot;].indexOf(k.titleside)){var ut,ft=S.l+(k.x+Y)*S.w,ht=et.titlefont.size;ut=&quot;top&quot;===k.titleside?(1-(K+G-X))*S.h+S.t+3+.75*ht:(1-(K+X))*S.h+S.t-3-.25*ht,A(et._id+&quot;title&quot;,{attributes:{x:ft,y:ut,&quot;text-anchor&quot;:&quot;start&quot;}})}var dt=u.syncOrAsync([o.previousPromises,function(){if(-1!==[&quot;top&quot;,&quot;bottom&quot;].indexOf(k.titleside)){var e=st.select(&quot;.cbtitle&quot;),r=e.select(&quot;text&quot;),a=[-k.outlinewidth/2,k.outlinewidth/2],o=e.select(&quot;.h&quot;+et._id+&quot;title-math-group&quot;).node(),s=15.6;if(r.node()&amp;&amp;(s=parseInt(r.node().style.fontSize,10)*v),o?(ct=d.bBox(o).height)&gt;s&amp;&amp;(a[1]-=(ct-s)/2):r.node()&amp;&amp;!r.classed(w.jsPlaceholder)&amp;&amp;(ct=d.bBox(r.node()).height),ct){if(ct+=5,&quot;top&quot;===k.titleside)et.domain[1]-=ct/S.h,a[1]*=-1;else{et.domain[0]+=ct/S.h;var c=g.lineCount(r);a[1]+=(1-c)*s}e.attr(&quot;transform&quot;,&quot;translate(&quot;+a+&quot;)&quot;),et.setScale()}}st.selectAll(&quot;.cbfills,.cblines&quot;).attr(&quot;transform&quot;,&quot;translate(0,&quot;+Math.round(S.h*(1-et.domain[1]))+&quot;)&quot;),et._axislayer.attr(&quot;transform&quot;,&quot;translate(0,&quot;+Math.round(-S.t)+&quot;)&quot;);var f=st.select(&quot;.cbfills&quot;).selectAll(&quot;rect.cbfill&quot;).data(D);f.enter().append(&quot;rect&quot;).classed(w.cbfill,!0).style(&quot;stroke&quot;,&quot;none&quot;),f.exit().remove(),f.each(function(t,e){var r=[0===e?C[0]:(D[e]+D[e-1])/2,e===D.length-1?C[1]:(D[e]+D[e+1])/2].map(et.c2p).map(Math.round);e!==D.length-1&amp;&amp;(r[1]+=r[1]&gt;r[0]?1:-1);var a=P(t).replace(&quot;e-&quot;,&quot;&quot;),o=i(a).toHexString();n.select(this).attr({x:Z,width:Math.max(V,2),y:n.min(r),height:Math.max(n.max(r)-n.min(r),2),fill:o})});var h=st.select(&quot;.cblines&quot;).selectAll(&quot;path.cbline&quot;).data(k.line.color&amp;&amp;k.line.width?z:[]);return h.enter().append(&quot;path&quot;).classed(w.cbline,!0),h.exit().remove(),h.each(function(t){n.select(this).attr(&quot;d&quot;,&quot;M&quot;+Z+&quot;,&quot;+(Math.round(et.c2p(t))+k.line.width/2%1)+&quot;h&quot;+V).call(d.lineGroupStyle,k.line.width,I(t),k.line.dash)}),et._axislayer.selectAll(&quot;g.&quot;+et._id+&quot;tick,path&quot;).remove(),et._pos=Z+V+(k.outlinewidth||0)/2-(&quot;outside&quot;===k.ticks?1:0),et.side=&quot;right&quot;,u.syncOrAsync([function(){return l.doTicks(t,et,!0)},function(){if(-1===[&quot;top&quot;,&quot;bottom&quot;].indexOf(k.titleside)){var e=et.titlefont.size,r=et._offset+et._length/2,i=S.l+(et.position||0)*S.w+(&quot;right&quot;===et.side?10+e*(et.showticklabels?1:.5):-10-e*(et.showticklabels?.5:0));A(&quot;h&quot;+et._id+&quot;title&quot;,{avoid:{selection:n.select(t).selectAll(&quot;g.&quot;+et._id+&quot;tick&quot;),side:k.titleside,offsetLeft:S.l,offsetTop:0,maxShift:T.width},attributes:{x:i,y:r,&quot;text-anchor&quot;:&quot;middle&quot;},transform:{rotate:&quot;-90&quot;,offset:0}})}}])},o.previousPromises,function(){var r=V+k.outlinewidth/2+d.bBox(et._axislayer.node()).width;if((j=lt.select(&quot;text&quot;)).node()&amp;&amp;!j.classed(w.jsPlaceholder)){var n,i=lt.select(&quot;.h&quot;+et._id+&quot;title-math-group&quot;).node();n=i&amp;&amp;-1!==[&quot;top&quot;,&quot;bottom&quot;].indexOf(k.titleside)?d.bBox(i).width:d.bBox(lt.node()).right-Z-S.l,r=Math.max(r,n)}var a=2*k.xpad+r+k.borderwidth+k.outlinewidth/2,s=Q-$;st.select(&quot;.cbbg&quot;).attr({x:Z-k.xpad-(k.borderwidth+k.outlinewidth)/2,y:$-W,width:Math.max(a,2),height:Math.max(s+2*W,2)}).call(p.fill,k.bgcolor).call(p.stroke,k.bordercolor).style({&quot;stroke-width&quot;:k.borderwidth}),st.selectAll(&quot;.cboutline&quot;).attr({x:Z,y:$+k.ypad+(&quot;top&quot;===k.titleside?ct:0),width:Math.max(V,2),height:Math.max(s-2*k.ypad-ct,2)}).call(p.stroke,k.outlinecolor).style({fill:&quot;None&quot;,&quot;stroke-width&quot;:k.outlinewidth});var l=({center:.5,right:1}[k.xanchor]||0)*a;st.attr(&quot;transform&quot;,&quot;translate(&quot;+(S.l-l)+&quot;,&quot;+S.t+&quot;)&quot;),o.autoMargin(t,e,{x:k.x,y:k.y,l:a*({right:1,center:.5}[k.xanchor]||0),r:a*({left:1,center:.5}[k.xanchor]||0),t:s*({bottom:1,middle:.5}[k.yanchor]||0),b:s*({top:1,middle:.5}[k.yanchor]||0)})}],t);if(dt&amp;&amp;dt.then&amp;&amp;(t._promises||[]).push(dt),t._context.edits.colorbarPosition){var pt,mt,gt;c.init({element:st.node(),gd:t,prepFn:function(){pt=st.attr(&quot;transform&quot;),h(st)},moveFn:function(t,e){st.attr(&quot;transform&quot;,pt+&quot; translate(&quot;+t+&quot;,&quot;+e+&quot;)&quot;),mt=c.align(J+t/S.w,q,0,1,k.xanchor),gt=c.align(K-e/S.h,G,0,1,k.yanchor);var r=c.getCursor(mt,gt,k.xanchor,k.yanchor);h(st,r)},doneFn:function(){h(st),void 0!==mt&amp;&amp;void 0!==gt&amp;&amp;a.restyle(t,{&quot;colorbar.x&quot;:mt,&quot;colorbar.y&quot;:gt},M().index)}})}return dt}T._infolayer.selectAll(&quot;g.&quot;+e).remove()}function M(){var r,n,i=e.substr(2);for(r=0;r&lt;t._fullData.length;r++)if((n=t._fullData[r]).uid===i)return n}var k={};return Object.keys(_).forEach(function(t){k[t]=null}),k.fillcolor=null,k.line={color:null,width:null,dash:null},k.levels={start:null,end:null,size:null},k.filllevels=null,Object.keys(k).forEach(function(t){r[t]=function(e){return arguments.length?(k[t]=u.isPlainObject(k[t])?u.extendFlat(k[t],e):e,r):k[t]}}),r.options=function(t){return Object.keys(t).forEach(function(e){&quot;function&quot;==typeof r[e]&amp;&amp;r[e](t[e])}),r},r._opts=k,r}},{&quot;../../constants/alignment&quot;:716,&quot;../../lib&quot;:743,&quot;../../lib/extend&quot;:732,&quot;../../lib/setcursor&quot;:762,&quot;../../lib/svg_text_utils&quot;:766,&quot;../../plotly&quot;:784,&quot;../../plots/cartesian/axes&quot;:789,&quot;../../plots/cartesian/axis_defaults&quot;:791,&quot;../../plots/cartesian/layout_attributes&quot;:801,&quot;../../plots/cartesian/position_defaults&quot;:805,&quot;../../plots/plots&quot;:852,&quot;../../registry&quot;:873,&quot;../color&quot;:618,&quot;../dragelement&quot;:640,&quot;../drawing&quot;:643,&quot;../titles&quot;:709,&quot;./attributes&quot;:619,&quot;./constants&quot;:620,d3:128,tinycolor2:546}],623:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib&quot;);e.exports=function(t){return n.isPlainObject(t.colorbar)}},{&quot;../../lib&quot;:743}],624:[function(t,e,r){&quot;use strict&quot;;e.exports={zauto:{valType:&quot;boolean&quot;,dflt:!0,editType:&quot;calc&quot;,impliedEdits:{zmin:void 0,zmax:void 0}},zmin:{valType:&quot;number&quot;,dflt:null,editType:&quot;plot&quot;,impliedEdits:{zauto:!1}},zmax:{valType:&quot;number&quot;,dflt:null,editType:&quot;plot&quot;,impliedEdits:{zauto:!1}},colorscale:{valType:&quot;colorscale&quot;,editType:&quot;calc&quot;,impliedEdits:{autocolorscale:!1}},autocolorscale:{valType:&quot;boolean&quot;,dflt:!0,editType:&quot;calc&quot;,impliedEdits:{colorscale:void 0}},reversescale:{valType:&quot;boolean&quot;,dflt:!1,editType:&quot;calc&quot;},showscale:{valType:&quot;boolean&quot;,dflt:!0,editType:&quot;calc&quot;}}},{}],625:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib&quot;),i=t(&quot;./scales&quot;),a=t(&quot;./flip_scale&quot;);e.exports=function(t,e,r,o){var s,l;r?(s=n.nestedProperty(t,r).get(),l=n.nestedProperty(t._input,r).get()):(s=t,l=t._input);var c=o+&quot;auto&quot;,u=o+&quot;min&quot;,f=o+&quot;max&quot;,h=s[c],d=s[u],p=s[f],m=s.colorscale;!1===h&amp;&amp;void 0!==d||(d=n.aggNums(Math.min,null,e)),!1===h&amp;&amp;void 0!==p||(p=n.aggNums(Math.max,null,e)),d===p&amp;&amp;(d-=.5,p+=.5),s[u]=d,s[f]=p,l[u]=d,l[f]=p,l[c]=!1!==h||void 0===d&amp;&amp;void 0===p,s.autocolorscale&amp;&amp;(m=d*p&lt;0?i.RdBu:d&gt;=0?i.Reds:i.Blues,l.colorscale=m,s.reversescale&amp;&amp;(m=a(m)),s.colorscale=m)}},{&quot;../../lib&quot;:743,&quot;./flip_scale&quot;:630,&quot;./scales&quot;:637}],626:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;./attributes&quot;),i=t(&quot;../../lib/extend&quot;).extendFlat;t(&quot;./scales.js&quot;);e.exports=function(t,e,r){return{color:{valType:&quot;color&quot;,arrayOk:!0,editType:e||&quot;style&quot;},colorscale:i({},n.colorscale,{}),cauto:i({},n.zauto,{impliedEdits:{cmin:void 0,cmax:void 0}}),cmax:i({},n.zmax,{editType:e||n.zmax.editType,impliedEdits:{cauto:!1}}),cmin:i({},n.zmin,{editType:e||n.zmin.editType,impliedEdits:{cauto:!1}}),autocolorscale:i({},n.autocolorscale,{dflt:!1===r?r:n.autocolorscale.dflt}),reversescale:i({},n.reversescale,{})}}},{&quot;../../lib/extend&quot;:732,&quot;./attributes&quot;:624,&quot;./scales.js&quot;:637}],627:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;./scales&quot;);e.exports=n.RdBu},{&quot;./scales&quot;:637}],628:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;fast-isnumeric&quot;),i=t(&quot;../../lib&quot;),a=t(&quot;../colorbar/has_colorbar&quot;),o=t(&quot;../colorbar/defaults&quot;),s=t(&quot;./is_valid_scale&quot;),l=t(&quot;./flip_scale&quot;);e.exports=function(t,e,r,c,u){var f=u.prefix,h=u.cLetter,d=f.slice(0,f.length-1),p=f?i.nestedProperty(t,d).get()||{}:t,m=f?i.nestedProperty(e,d).get()||{}:e,g=p[h+&quot;min&quot;],v=p[h+&quot;max&quot;],y=p.colorscale;c(f+h+&quot;auto&quot;,!(n(g)&amp;&amp;n(v)&amp;&amp;g&lt;v)),c(f+h+&quot;min&quot;),c(f+h+&quot;max&quot;);var x;void 0!==y&amp;&amp;(x=!s(y)),c(f+&quot;autocolorscale&quot;,x);var b=c(f+&quot;colorscale&quot;);if(c(f+&quot;reversescale&quot;)&amp;&amp;(m.colorscale=l(b)),&quot;marker.line.&quot;!==f){var _;f&amp;&amp;(_=a(p));c(f+&quot;showscale&quot;,_)&amp;&amp;o(p,m,r)}}},{&quot;../../lib&quot;:743,&quot;../colorbar/defaults&quot;:621,&quot;../colorbar/has_colorbar&quot;:623,&quot;./flip_scale&quot;:630,&quot;./is_valid_scale&quot;:634,&quot;fast-isnumeric&quot;:140}],629:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t,e,r){for(var n=t.length,i=new Array(n),a=new Array(n),o=0;o&lt;n;o++){var s=t[o];i[o]=e+s[0]*(r-e),a[o]=s[1]}return{domain:i,range:a}}},{}],630:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t){for(var e,r=t.length,n=new Array(r),i=r-1,a=0;i&gt;=0;i--,a++)e=t[i],n[a]=[1-e[0],e[1]];return n}},{}],631:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;./scales&quot;),i=t(&quot;./default_scale&quot;),a=t(&quot;./is_valid_scale_array&quot;);e.exports=function(t,e){function r(){try{t=n[t]||JSON.parse(t)}catch(r){t=e}}return e||(e=i),t?(&quot;string&quot;==typeof t&amp;&amp;(r(),&quot;string&quot;==typeof t&amp;&amp;r()),a(t)?t:e):e}},{&quot;./default_scale&quot;:627,&quot;./is_valid_scale_array&quot;:635,&quot;./scales&quot;:637}],632:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;fast-isnumeric&quot;),i=t(&quot;../../lib&quot;),a=t(&quot;./is_valid_scale&quot;);e.exports=function(t,e){var r=e?i.nestedProperty(t,e).get()||{}:t,o=r.color,s=!1;if(Array.isArray(o))for(var l=0;l&lt;o.length;l++)if(n(o[l])){s=!0;break}return i.isPlainObject(r)&amp;&amp;(s||!0===r.showscale||n(r.cmin)&amp;&amp;n(r.cmax)||a(r.colorscale)||i.isPlainObject(r.colorbar))}},{&quot;../../lib&quot;:743,&quot;./is_valid_scale&quot;:634,&quot;fast-isnumeric&quot;:140}],633:[function(t,e,r){&quot;use strict&quot;;r.scales=t(&quot;./scales&quot;),r.defaultScale=t(&quot;./default_scale&quot;),r.attributes=t(&quot;./attributes&quot;),r.handleDefaults=t(&quot;./defaults&quot;),r.calc=t(&quot;./calc&quot;),r.hasColorscale=t(&quot;./has_colorscale&quot;),r.isValidScale=t(&quot;./is_valid_scale&quot;),r.getScale=t(&quot;./get_scale&quot;),r.flipScale=t(&quot;./flip_scale&quot;),r.extractScale=t(&quot;./extract_scale&quot;),r.makeColorScaleFunc=t(&quot;./make_color_scale_func&quot;)},{&quot;./attributes&quot;:624,&quot;./calc&quot;:625,&quot;./default_scale&quot;:627,&quot;./defaults&quot;:628,&quot;./extract_scale&quot;:629,&quot;./flip_scale&quot;:630,&quot;./get_scale&quot;:631,&quot;./has_colorscale&quot;:632,&quot;./is_valid_scale&quot;:634,&quot;./make_color_scale_func&quot;:636,&quot;./scales&quot;:637}],634:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;./scales&quot;),i=t(&quot;./is_valid_scale_array&quot;);e.exports=function(t){return void 0!==n[t]||i(t)}},{&quot;./is_valid_scale_array&quot;:635,&quot;./scales&quot;:637}],635:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;tinycolor2&quot;);e.exports=function(t){var e=0;if(!Array.isArray(t)||t.length&lt;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&lt;t.length;r++){var i=t[r];if(2!==i.length||+i[0]&lt;e||!n(i[1]).isValid())return!1;e=+i[0]}return!0}},{tinycolor2:546}],636:[function(t,e,r){&quot;use strict&quot;;function n(t){var e={r:t[0],g:t[1],b:t[2],a:t[3]};return a(e).toRgbString()}var i=t(&quot;d3&quot;),a=t(&quot;tinycolor2&quot;),o=t(&quot;fast-isnumeric&quot;),s=t(&quot;../color&quot;);e.exports=function(t,e){e=e||{};for(var r=t.domain,l=t.range,c=l.length,u=new Array(c),f=0;f&lt;c;f++){var h=a(l[f]).toRgb();u[f]=[h.r,h.g,h.b,h.a]}var d,p=i.scale.linear().domain(r).range(u).clamp(!0),m=e.noNumericCheck,g=e.returnArray;return d=m&amp;&amp;g?p:m?function(t){return n(p(t))}:g?function(t){return o(t)?p(t):a(t).isValid()?t:s.defaultLine}:function(t){return o(t)?n(p(t)):a(t).isValid()?t:s.defaultLine},d.domain=p.domain,d.range=function(){return l},d}},{&quot;../color&quot;:618,d3:128,&quot;fast-isnumeric&quot;:140,tinycolor2:546}],637:[function(t,e,r){&quot;use strict&quot;;e.exports={Greys:[[0,&quot;rgb(0,0,0)&quot;],[1,&quot;rgb(255,255,255)&quot;]],YlGnBu:[[0,&quot;rgb(8,29,88)&quot;],[.125,&quot;rgb(37,52,148)&quot;],[.25,&quot;rgb(34,94,168)&quot;],[.375,&quot;rgb(29,145,192)&quot;],[.5,&quot;rgb(65,182,196)&quot;],[.625,&quot;rgb(127,205,187)&quot;],[.75,&quot;rgb(199,233,180)&quot;],[.875,&quot;rgb(237,248,217)&quot;],[1,&quot;rgb(255,255,217)&quot;]],Greens:[[0,&quot;rgb(0,68,27)&quot;],[.125,&quot;rgb(0,109,44)&quot;],[.25,&quot;rgb(35,139,69)&quot;],[.375,&quot;rgb(65,171,93)&quot;],[.5,&quot;rgb(116,196,118)&quot;],[.625,&quot;rgb(161,217,155)&quot;],[.75,&quot;rgb(199,233,192)&quot;],[.875,&quot;rgb(229,245,224)&quot;],[1,&quot;rgb(247,252,245)&quot;]],YlOrRd:[[0,&quot;rgb(128,0,38)&quot;],[.125,&quot;rgb(189,0,38)&quot;],[.25,&quot;rgb(227,26,28)&quot;],[.375,&quot;rgb(252,78,42)&quot;],[.5,&quot;rgb(253,141,60)&quot;],[.625,&quot;rgb(254,178,76)&quot;],[.75,&quot;rgb(254,217,118)&quot;],[.875,&quot;rgb(255,237,160)&quot;],[1,&quot;rgb(255,255,204)&quot;]],Bluered:[[0,&quot;rgb(0,0,255)&quot;],[1,&quot;rgb(255,0,0)&quot;]],RdBu:[[0,&quot;rgb(5,10,172)&quot;],[.35,&quot;rgb(106,137,247)&quot;],[.5,&quot;rgb(190,190,190)&quot;],[.6,&quot;rgb(220,170,132)&quot;],[.7,&quot;rgb(230,145,90)&quot;],[1,&quot;rgb(178,10,28)&quot;]],Reds:[[0,&quot;rgb(220,220,220)&quot;],[.2,&quot;rgb(245,195,157)&quot;],[.4,&quot;rgb(245,160,105)&quot;],[1,&quot;rgb(178,10,28)&quot;]],Blues:[[0,&quot;rgb(5,10,172)&quot;],[.35,&quot;rgb(40,60,190)&quot;],[.5,&quot;rgb(70,100,245)&quot;],[.6,&quot;rgb(90,120,245)&quot;],[.7,&quot;rgb(106,137,247)&quot;],[1,&quot;rgb(220,220,220)&quot;]],Picnic:[[0,&quot;rgb(0,0,255)&quot;],[.1,&quot;rgb(51,153,255)&quot;],[.2,&quot;rgb(102,204,255)&quot;],[.3,&quot;rgb(153,204,255)&quot;],[.4,&quot;rgb(204,204,255)&quot;],[.5,&quot;rgb(255,255,255)&quot;],[.6,&quot;rgb(255,204,255)&quot;],[.7,&quot;rgb(255,153,255)&quot;],[.8,&quot;rgb(255,102,204)&quot;],[.9,&quot;rgb(255,102,102)&quot;],[1,&quot;rgb(255,0,0)&quot;]],Rainbow:[[0,&quot;rgb(150,0,90)&quot;],[.125,&quot;rgb(0,0,200)&quot;],[.25,&quot;rgb(0,25,255)&quot;],[.375,&quot;rgb(0,152,255)&quot;],[.5,&quot;rgb(44,255,150)&quot;],[.625,&quot;rgb(151,255,0)&quot;],[.75,&quot;rgb(255,234,0)&quot;],[.875,&quot;rgb(255,111,0)&quot;],[1,&quot;rgb(255,0,0)&quot;]],Portland:[[0,&quot;rgb(12,51,131)&quot;],[.25,&quot;rgb(10,136,186)&quot;],[.5,&quot;rgb(242,211,56)&quot;],[.75,&quot;rgb(242,143,56)&quot;],[1,&quot;rgb(217,30,30)&quot;]],Jet:[[0,&quot;rgb(0,0,131)&quot;],[.125,&quot;rgb(0,60,170)&quot;],[.375,&quot;rgb(5,255,255)&quot;],[.625,&quot;rgb(255,255,0)&quot;],[.875,&quot;rgb(250,0,0)&quot;],[1,&quot;rgb(128,0,0)&quot;]],Hot:[[0,&quot;rgb(0,0,0)&quot;],[.3,&quot;rgb(230,0,0)&quot;],[.6,&quot;rgb(255,210,0)&quot;],[1,&quot;rgb(255,255,255)&quot;]],Blackbody:[[0,&quot;rgb(0,0,0)&quot;],[.2,&quot;rgb(230,0,0)&quot;],[.4,&quot;rgb(230,210,0)&quot;],[.7,&quot;rgb(255,255,255)&quot;],[1,&quot;rgb(160,200,255)&quot;]],Earth:[[0,&quot;rgb(0,0,130)&quot;],[.1,&quot;rgb(0,180,180)&quot;],[.2,&quot;rgb(40,210,40)&quot;],[.4,&quot;rgb(230,230,50)&quot;],[.6,&quot;rgb(120,70,20)&quot;],[1,&quot;rgb(255,255,255)&quot;]],Electric:[[0,&quot;rgb(0,0,0)&quot;],[.15,&quot;rgb(30,0,100)&quot;],[.4,&quot;rgb(120,0,100)&quot;],[.6,&quot;rgb(160,90,0)&quot;],[.8,&quot;rgb(230,200,0)&quot;],[1,&quot;rgb(255,250,220)&quot;]],Viridis:[[0,&quot;#440154&quot;],[.06274509803921569,&quot;#48186a&quot;],[.12549019607843137,&quot;#472d7b&quot;],[.18823529411764706,&quot;#424086&quot;],[.25098039215686274,&quot;#3b528b&quot;],[.3137254901960784,&quot;#33638d&quot;],[.3764705882352941,&quot;#2c728e&quot;],[.4392156862745098,&quot;#26828e&quot;],[.5019607843137255,&quot;#21918c&quot;],[.5647058823529412,&quot;#1fa088&quot;],[.6274509803921569,&quot;#28ae80&quot;],[.6901960784313725,&quot;#3fbc73&quot;],[.7529411764705882,&quot;#5ec962&quot;],[.8156862745098039,&quot;#84d44b&quot;],[.8784313725490196,&quot;#addc30&quot;],[.9411764705882353,&quot;#d8e219&quot;],[1,&quot;#fde725&quot;]],Cividis:[[0,&quot;rgb(0,32,76)&quot;],[.058824,&quot;rgb(0,42,102)&quot;],[.117647,&quot;rgb(0,52,110)&quot;],[.176471,&quot;rgb(39,63,108)&quot;],[.235294,&quot;rgb(60,74,107)&quot;],[.294118,&quot;rgb(76,85,107)&quot;],[.352941,&quot;rgb(91,95,109)&quot;],[.411765,&quot;rgb(104,106,112)&quot;],[.470588,&quot;rgb(117,117,117)&quot;],[.529412,&quot;rgb(131,129,120)&quot;],[.588235,&quot;rgb(146,140,120)&quot;],[.647059,&quot;rgb(161,152,118)&quot;],[.705882,&quot;rgb(176,165,114)&quot;],[.764706,&quot;rgb(192,177,109)&quot;],[.823529,&quot;rgb(209,191,102)&quot;],[.882353,&quot;rgb(225,204,92)&quot;],[.941176,&quot;rgb(243,219,79)&quot;],[1,&quot;rgb(255,233,69)&quot;]]}},{}],638:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t,e,r,n,i){var a=(t-r)/(n-r),o=a+e/(n-r),s=(a+o)/2;return&quot;left&quot;===i||&quot;bottom&quot;===i?a:&quot;center&quot;===i||&quot;middle&quot;===i?s:&quot;right&quot;===i||&quot;top&quot;===i?o:a&lt;2/3-s?a:o&gt;4/3-s?o:s}},{}],639:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib&quot;),i=[[&quot;sw-resize&quot;,&quot;s-resize&quot;,&quot;se-resize&quot;],[&quot;w-resize&quot;,&quot;move&quot;,&quot;e-resize&quot;],[&quot;nw-resize&quot;,&quot;n-resize&quot;,&quot;ne-resize&quot;]];e.exports=function(t,e,r,a){return t=&quot;left&quot;===r?0:&quot;center&quot;===r?1:&quot;right&quot;===r?2:n.constrain(Math.floor(3*t),0,2),e=&quot;bottom&quot;===a?0:&quot;middle&quot;===a?1:&quot;top&quot;===a?2:n.constrain(Math.floor(3*e),0,2),i[e][t]}},{&quot;../../lib&quot;:743}],640:[function(t,e,r){&quot;use strict&quot;;function n(){var t=document.createElement(&quot;div&quot;);t.className=&quot;dragcover&quot;;var e=t.style;return e.position=&quot;fixed&quot;,e.left=0,e.right=0,e.top=0,e.bottom=0,e.zIndex=999999999,e.background=&quot;none&quot;,document.body.appendChild(t),t}function i(t){return a(t.changedTouches?t.changedTouches[0]:t,document.body)}var a=t(&quot;mouse-event-offset&quot;),o=t(&quot;has-hover&quot;),s=t(&quot;../../plotly&quot;),l=t(&quot;../../lib&quot;),c=t(&quot;../../plots/cartesian/constants&quot;),u=t(&quot;../../constants/interactions&quot;),f=e.exports={};f.align=t(&quot;./align&quot;),f.getCursor=t(&quot;./cursor&quot;);var h=t(&quot;./unhover&quot;);f.unhover=h.wrapped,f.unhoverRaw=h.raw;var d=l.eventListenerOptionsSupported();f.init=function(t){function e(e){_._dragged=!1,_._dragging=!0;var s=i(e);return h=s[0],p=s[1],x=e.target,y=e,b=e.buttons&amp;&amp;2===e.buttons||e.ctrlKey,(m=(new Date).getTime())-_._mouseDownTime&lt;M?w+=1:(w=1,_._mouseDownTime=m),t.prepFn&amp;&amp;t.prepFn(e,h,p),o&amp;&amp;!b?(v=n()).style.cursor=window.getComputedStyle(k).cursor:o||(v=document,g=window.getComputedStyle(document.documentElement).cursor,document.documentElement.style.cursor=window.getComputedStyle(k).cursor),document.addEventListener(&quot;mousemove&quot;,r),document.addEventListener(&quot;mouseup&quot;,a),document.addEventListener(&quot;touchmove&quot;,r),document.addEventListener(&quot;touchend&quot;,a),l.pauseEvent(e)}function r(e){var r=i(e),n=t.minDrag||c.MINDRAG,a=A(r[0]-h,r[1]-p,n),o=a[0],s=a[1];return(o||s)&amp;&amp;(_._dragged=!0,f.unhover(_)),_._dragged&amp;&amp;t.moveFn&amp;&amp;!b&amp;&amp;t.moveFn(o,s),l.pauseEvent(e)}function a(e){if(document.removeEventListener(&quot;mousemove&quot;,r),document.removeEventListener(&quot;mouseup&quot;,a),document.removeEventListener(&quot;touchmove&quot;,r),document.removeEventListener(&quot;touchend&quot;,a),o?l.removeElement(v):g&amp;&amp;(v.documentElement.style.cursor=g,g=null),_._dragging){if(_._dragging=!1,(new Date).getTime()-_._mouseDownTime&gt;M&amp;&amp;(w=Math.max(w-1,1)),_._dragged)t.doneFn&amp;&amp;t.doneFn(e);else if(t.clickFn&amp;&amp;t.clickFn(w,y),!b){var n;try{n=new MouseEvent(&quot;click&quot;,e)}catch(t){var c=i(e);(n=document.createEvent(&quot;MouseEvents&quot;)).initMouseEvent(&quot;click&quot;,e.bubbles,e.cancelable,e.view,e.detail,e.screenX,e.screenY,c[0],c[1],e.ctrlKey,e.altKey,e.shiftKey,e.metaKey,e.button,e.relatedTarget)}x.dispatchEvent(n)}return function(t){t._dragging=!1,t._replotPending&amp;&amp;s.plot(t)}(_),_._dragged=!1,l.pauseEvent(e)}_._dragged=!1}var h,p,m,g,v,y,x,b,_=t.gd,w=1,M=u.DBLCLICKDELAY,k=t.element;_._mouseDownTime||(_._mouseDownTime=0),k.style.pointerEvents=&quot;all&quot;,k.onmousedown=e,d?(k._ontouchstart&amp;&amp;k.removeEventListener(&quot;touchstart&quot;,k._ontouchstart),k._ontouchstart=e,k.addEventListener(&quot;touchstart&quot;,e,{passive:!1})):k.ontouchstart=e;var A=t.clampFn||function(t,e,r){return Math.abs(t)&lt;r&amp;&amp;(t=0),Math.abs(e)&lt;r&amp;&amp;(e=0),[t,e]}},f.coverSlip=n},{&quot;../../constants/interactions&quot;:720,&quot;../../lib&quot;:743,&quot;../../plotly&quot;:784,&quot;../../plots/cartesian/constants&quot;:794,&quot;./align&quot;:638,&quot;./cursor&quot;:639,&quot;./unhover&quot;:641,&quot;has-hover&quot;:276,&quot;mouse-event-offset&quot;:444}],641:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib/events&quot;),i=t(&quot;../../lib/throttle&quot;),a=t(&quot;../../lib/get_graph_div&quot;),o=t(&quot;../fx/constants&quot;),s=e.exports={};s.wrapped=function(t,e,r){(t=a(t))._fullLayout&amp;&amp;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&amp;&amp;!1===n.triggerHandler(t,&quot;plotly_beforehover&quot;,e)||(r._hoverlayer.selectAll(&quot;g&quot;).remove(),r._hoverlayer.selectAll(&quot;line&quot;).remove(),r._hoverlayer.selectAll(&quot;circle&quot;).remove(),t._hoverdata=void 0,e.target&amp;&amp;i&amp;&amp;t.emit(&quot;plotly_unhover&quot;,{event:e,points:i}))}},{&quot;../../lib/events&quot;:731,&quot;../../lib/get_graph_div&quot;:738,&quot;../../lib/throttle&quot;:767,&quot;../fx/constants&quot;:655}],642:[function(t,e,r){&quot;use strict&quot;;r.dash={valType:&quot;string&quot;,values:[&quot;solid&quot;,&quot;dot&quot;,&quot;dash&quot;,&quot;longdash&quot;,&quot;dashdot&quot;,&quot;longdashdot&quot;],dflt:&quot;solid&quot;,editType:&quot;style&quot;}},{}],643:[function(t,e,r){&quot;use strict&quot;;function n(t,e){var r=t%100;return _.symbolFuncs[r](e)+(t&gt;=200?k:&quot;&quot;)}function i(t,e,r,n){var i=l.select(t.node().parentNode),a=-1!==e.indexOf(&quot;top&quot;)?&quot;top&quot;:-1!==e.indexOf(&quot;bottom&quot;)?&quot;bottom&quot;:&quot;middle&quot;,o=-1!==e.indexOf(&quot;left&quot;)?&quot;end&quot;:-1!==e.indexOf(&quot;right&quot;)?&quot;start&quot;:&quot;middle&quot;,s=n?n/.8+1:0,c=(m.lineCount(t)-1)*v+1,u=S[o]*s,f=.75*r+S[a]*s+(S[a]-1)*c*r/2;t.attr(&quot;text-anchor&quot;,o),i.attr(&quot;transform&quot;,&quot;translate(&quot;+u+&quot;,&quot;+f+&quot;)&quot;)}function a(t,e){var r=t.ts||e.textfont.size;return c(r)&amp;&amp;r&gt;0?r:0}function o(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],c=Math.pow(i*i+a*a,E/2),u=Math.pow(o*o+s*s,E/2),f=(u*u*i-c*c*o)*n,h=(u*u*a-c*c*s)*n,d=3*u*(c+u),p=3*c*(c+u);return[[l.round(e[0]+(d&amp;&amp;f/d),2),l.round(e[1]+(d&amp;&amp;h/d),2)],[l.round(e[0]-(p&amp;&amp;f/p),2),l.round(e[1]-(p&amp;&amp;h/p),2)]]}function s(t){var e=t.getAttribute(&quot;data-unformatted&quot;);if(null!==e)return e+t.getAttribute(&quot;data-math&quot;)+t.getAttribute(&quot;text-anchor&quot;)+t.getAttribute(&quot;style&quot;)}var l=t(&quot;d3&quot;),c=t(&quot;fast-isnumeric&quot;),u=t(&quot;tinycolor2&quot;),f=t(&quot;../../registry&quot;),h=t(&quot;../color&quot;),d=t(&quot;../colorscale&quot;),p=t(&quot;../../lib&quot;),m=t(&quot;../../lib/svg_text_utils&quot;),g=t(&quot;../../constants/xmlns_namespaces&quot;),v=t(&quot;../../constants/alignment&quot;).LINE_SPACING,y=t(&quot;../../constants/interactions&quot;).DESELECTDIM,x=t(&quot;../../traces/scatter/subtypes&quot;),b=t(&quot;../../traces/scatter/make_bubble_size_func&quot;),_=e.exports={};_.font=function(t,e,r,n){p.isPlainObject(e)&amp;&amp;(n=e.color,r=e.size,e=e.family),e&amp;&amp;t.style(&quot;font-family&quot;,e),r+1&amp;&amp;t.style(&quot;font-size&quot;,r+&quot;px&quot;),n&amp;&amp;t.call(h.fill,n)},_.setPosition=function(t,e,r){t.attr(&quot;x&quot;,e).attr(&quot;y&quot;,r)},_.setSize=function(t,e,r){t.attr(&quot;width&quot;,e).attr(&quot;height&quot;,r)},_.setRect=function(t,e,r,n,i){t.call(_.setPosition,e,r).call(_.setSize,n,i)},_.translatePoint=function(t,e,r,n){var i=r.c2p(t.x),a=n.c2p(t.y);return!!(c(i)&amp;&amp;c(a)&amp;&amp;e.node())&amp;&amp;(&quot;text&quot;===e.node().nodeName?e.attr(&quot;x&quot;,i).attr(&quot;y&quot;,a):e.attr(&quot;transform&quot;,&quot;translate(&quot;+i+&quot;,&quot;+a+&quot;)&quot;),!0)},_.translatePoints=function(t,e,r){t.each(function(t){var n=l.select(this);_.translatePoint(t,n,e,r)})},_.hideOutsideRangePoint=function(t,e,r,n,i,a){e.attr(&quot;display&quot;,r.isPtWithinRange(t,i)&amp;&amp;n.isPtWithinRange(t,a)?null:&quot;none&quot;)},_.hideOutsideRangePoints=function(t,e){if(e._hasClipOnAxisFalse){var r=e.xaxis,n=e.yaxis;t.each(function(e){var i=e[0].trace,a=i.xcalendar,o=i.ycalendar;t.selectAll(&quot;.point,.textpoint&quot;).each(function(t){_.hideOutsideRangePoint(t,l.select(this),r,n,a,o)})})}},_.crispRound=function(t,e,r){return e&amp;&amp;c(e)?t._context.staticPlot?e:e&lt;1?1:Math.round(e):r||0},_.singleLineStyle=function(t,e,r,n,i){e.style(&quot;fill&quot;,&quot;none&quot;);var a=(((t||[])[0]||{}).trace||{}).line||{},o=r||a.width||0,s=i||a.dash||&quot;&quot;;h.stroke(e,n||a.color),_.dashLine(e,s,o)},_.lineGroupStyle=function(t,e,r,n){t.style(&quot;fill&quot;,&quot;none&quot;).each(function(t){var i=(((t||[])[0]||{}).trace||{}).line||{},a=e||i.width||0,o=n||i.dash||&quot;&quot;;l.select(this).call(h.stroke,r||i.color).call(_.dashLine,o,a)})},_.dashLine=function(t,e,r){r=+r||0,e=_.dashStyle(e,r),t.style({&quot;stroke-dasharray&quot;:e,&quot;stroke-width&quot;:r+&quot;px&quot;})},_.dashStyle=function(t,e){e=+e||1;var r=Math.max(e,3);return&quot;solid&quot;===t?t=&quot;&quot;:&quot;dot&quot;===t?t=r+&quot;px,&quot;+r+&quot;px&quot;:&quot;dash&quot;===t?t=3*r+&quot;px,&quot;+3*r+&quot;px&quot;:&quot;longdash&quot;===t?t=5*r+&quot;px,&quot;+5*r+&quot;px&quot;:&quot;dashdot&quot;===t?t=3*r+&quot;px,&quot;+r+&quot;px,&quot;+r+&quot;px,&quot;+r+&quot;px&quot;:&quot;longdashdot&quot;===t&amp;&amp;(t=5*r+&quot;px,&quot;+2*r+&quot;px,&quot;+r+&quot;px,&quot;+2*r+&quot;px&quot;),t},_.singleFillStyle=function(t){var e=(((l.select(t.node()).data()[0]||[])[0]||{}).trace||{}).fillcolor;e&amp;&amp;t.call(h.fill,e)},_.fillGroupStyle=function(t){t.style(&quot;stroke-width&quot;,0).each(function(e){var r=l.select(this);try{r.call(h.fill,e[0].trace.fillcolor)}catch(e){p.error(e,t),r.remove()}})};var w=t(&quot;./symbol_defs&quot;);_.symbolNames=[],_.symbolFuncs=[],_.symbolNeedLines={},_.symbolNoDot={},_.symbolNoFill={},_.symbolList=[],Object.keys(w).forEach(function(t){var e=w[t];_.symbolList=_.symbolList.concat([e.n,t,e.n+100,t+&quot;-open&quot;]),_.symbolNames[e.n]=t,_.symbolFuncs[e.n]=e.f,e.needLine&amp;&amp;(_.symbolNeedLines[e.n]=!0),e.noDot?_.symbolNoDot[e.n]=!0:_.symbolList=_.symbolList.concat([e.n+200,t+&quot;-dot&quot;,e.n+300,t+&quot;-open-dot&quot;]),e.noFill&amp;&amp;(_.symbolNoFill[e.n]=!0)});var M=_.symbolNames.length,k=&quot;M0,0.5L0.5,0L0,-0.5L-0.5,0Z&quot;;_.symbolNumber=function(t){if(&quot;string&quot;==typeof t){var e=0;t.indexOf(&quot;-open&quot;)&gt;0&amp;&amp;(e=100,t=t.replace(&quot;-open&quot;,&quot;&quot;)),t.indexOf(&quot;-dot&quot;)&gt;0&amp;&amp;(e+=200,t=t.replace(&quot;-dot&quot;,&quot;&quot;)),(t=_.symbolNames.indexOf(t))&gt;=0&amp;&amp;(t+=e)}return t%100&gt;=M||t&gt;=400?0:Math.floor(Math.max(t,0))};var A={x1:1,x2:0,y1:0,y2:0},T={x1:0,x2:0,y1:1,y2:0};_.gradient=function(t,e,r,n,i,a){var o=e._fullLayout._defs.select(&quot;.gradients&quot;).selectAll(&quot;#&quot;+r).data([n+i+a],p.identity);o.exit().remove(),o.enter().append(&quot;radial&quot;===n?&quot;radialGradient&quot;:&quot;linearGradient&quot;).each(function(){var t=l.select(this);&quot;horizontal&quot;===n?t.attr(A):&quot;vertical&quot;===n&amp;&amp;t.attr(T),t.attr(&quot;id&quot;,r);var e=u(i),o=u(a);t.append(&quot;stop&quot;).attr({offset:&quot;0%&quot;,&quot;stop-color&quot;:h.tinyRGB(o),&quot;stop-opacity&quot;:o.getAlpha()}),t.append(&quot;stop&quot;).attr({offset:&quot;100%&quot;,&quot;stop-color&quot;:h.tinyRGB(e),&quot;stop-opacity&quot;:e.getAlpha()})}),t.style({fill:&quot;url(#&quot;+r+&quot;)&quot;,&quot;fill-opacity&quot;:null})},_.initGradients=function(t){var e=t._fullLayout._defs.selectAll(&quot;.gradients&quot;).data([0]);e.enter().append(&quot;g&quot;).classed(&quot;gradients&quot;,!0),e.selectAll(&quot;linearGradient,radialGradient&quot;).remove()},_.singlePointStyle=function(t,e,r,i,a,o){var s=r.marker;!function(t,e,r,i,a,o,s,l){if(f.traceIs(r,&quot;symbols&quot;)){var c=b(r);e.attr(&quot;d&quot;,function(t){var e;e=&quot;various&quot;===t.ms||&quot;various&quot;===o.size?3:x.isBubble(r)?c(t.ms):(o.size||6)/2,t.mrc=e;var i=_.symbolNumber(t.mx||o.symbol)||0;return t.om=i%200&gt;=100,n(i,e)})}e.style(&quot;opacity&quot;,function(t){return(t.mo+1||o.opacity+1)-1});var u,d,p,m=!1;if(t.so?(p=s.outlierwidth,d=s.outliercolor,u=o.outliercolor):(p=(t.mlw+1||s.width+1||(t.trace?t.trace.marker.line.width:0)+1)-1,d=&quot;mlc&quot;in t?t.mlcc=a(t.mlc):Array.isArray(s.color)?h.defaultLine:s.color,Array.isArray(o.color)&amp;&amp;(u=h.defaultLine,m=!0),u=&quot;mc&quot;in t?t.mcc=i(t.mc):o.color||&quot;rgba(0,0,0,0)&quot;),t.om)e.call(h.stroke,u).style({&quot;stroke-width&quot;:(p||1)+&quot;px&quot;,fill:&quot;none&quot;});else{e.style(&quot;stroke-width&quot;,p+&quot;px&quot;);var g=o.gradient,v=t.mgt;if(v?m=!0:v=g&amp;&amp;g.type,v&amp;&amp;&quot;none&quot;!==v){var y=t.mgc;y?m=!0:y=g.color;var w=&quot;g&quot;+l._fullLayout._uid+&quot;-&quot;+r.uid;m&amp;&amp;(w+=&quot;-&quot;+t.i),e.call(_.gradient,l,w,v,u,y)}else e.call(h.fill,u);p&amp;&amp;e.call(h.stroke,d)}}(t,e,r,i,a,s,s.line,o)},_.pointStyle=function(t,e,r){if(t.size()){var n=e.marker,i=_.tryColorscale(n,&quot;&quot;),a=_.tryColorscale(n,&quot;line&quot;);t.each(function(t){_.singlePointStyle(t,l.select(this),e,i,a,r)})}},_.selectedPointStyle=function(t,e){if(t.size()&amp;&amp;e.selectedpoints){var r=e.selected||{},i=e.unselected||{},a=e.marker||{},o=r.marker||{},s=i.marker||{},c=a.opacity,u=o.opacity,d=s.opacity,p=void 0!==u,m=void 0!==d;t.each(function(t){var e,r=l.select(this),n=t.mo,i=void 0!==n;(i||p||m)&amp;&amp;(t.selected?p&amp;&amp;(e=u):e=m?d:y*(i?n:c)),void 0!==e&amp;&amp;r.style(&quot;opacity&quot;,e)});var g=o.color,v=s.color;(g||v)&amp;&amp;t.each(function(t){var e,r=l.select(this);t.selected?g&amp;&amp;(e=g):v&amp;&amp;(e=v),e&amp;&amp;h.fill(r,e)});var x=o.size,b=s.size,w=void 0!==x,M=void 0!==b;f.traceIs(e,&quot;symbols&quot;)&amp;&amp;(w||M)&amp;&amp;t.each(function(t){var e,r=l.select(this),i=t.mrc,o=t.mx||a.symbol||0;e=t.selected?w?x/2:i:M?b/2:i,r.attr(&quot;d&quot;,n(_.symbolNumber(o),e)),t.mrc2=e})}},_.tryColorscale=function(t,e){var r=e?p.nestedProperty(t,e).get():t,n=r.colorscale,i=r.color;return n&amp;&amp;Array.isArray(i)?d.makeColorScaleFunc(d.extractScale(n,r.cmin,r.cmax)):p.identity};var S={start:1,end:-1,middle:0,bottom:1,top:-1};_.textPointStyle=function(t,e,r){t.each(function(t){var n=l.select(this),o=p.extractOption(t,e,&quot;tx&quot;,&quot;text&quot;);if(o){var s=t.tp||e.textposition,c=a(t,e);n.call(_.font,t.tf||e.textfont.family,c,t.tc||e.textfont.color).text(o).call(m.convertToTspans,r).call(i,s,c,t.mrc)}else n.remove()})},_.selectedTextStyle=function(t,e){if(t.size()&amp;&amp;e.selectedpoints){var r=e.selected||{},n=e.unselected||{};t.each(function(t){var o,s=l.select(this),c=t.tc||e.textfont.color,u=t.tp||e.textposition,f=a(t,e),d=(r.textfont||{}).color,p=(n.textfont||{}).color;t.selected?d&amp;&amp;(o=d):p?o=p:d||(o=h.addOpacity(c,y)),o&amp;&amp;h.fill(s,o),i(s,u,f,t.mrc2||t.mrc)})}};var E=.5;_.smoothopen=function(t,e){if(t.length&lt;3)return&quot;M&quot;+t.join(&quot;L&quot;);var r,n=&quot;M&quot;+t[0],i=[];for(r=1;r&lt;t.length-1;r++)i.push(o(t[r-1],t[r],t[r+1],e));for(n+=&quot;Q&quot;+i[0][0]+&quot; &quot;+t[1],r=2;r&lt;t.length-1;r++)n+=&quot;C&quot;+i[r-2][1]+&quot; &quot;+i[r-1][0]+&quot; &quot;+t[r];return n+=&quot;Q&quot;+i[t.length-3][1]+&quot; &quot;+t[t.length-1]},_.smoothclosed=function(t,e){if(t.length&lt;3)return&quot;M&quot;+t.join(&quot;L&quot;)+&quot;Z&quot;;var r,n=&quot;M&quot;+t[0],i=t.length-1,a=[o(t[i],t[0],t[1],e)];for(r=1;r&lt;i;r++)a.push(o(t[r-1],t[r],t[r+1],e));for(a.push(o(t[i-1],t[i],t[0],e)),r=1;r&lt;=i;r++)n+=&quot;C&quot;+a[r-1][1]+&quot; &quot;+a[r][0]+&quot; &quot;+t[r];return n+=&quot;C&quot;+a[i][1]+&quot; &quot;+a[0][0]+&quot; &quot;+t[0]+&quot;Z&quot;};var L={hv:function(t,e){return&quot;H&quot;+l.round(e[0],2)+&quot;V&quot;+l.round(e[1],2)},vh:function(t,e){return&quot;V&quot;+l.round(e[1],2)+&quot;H&quot;+l.round(e[0],2)},hvh:function(t,e){return&quot;H&quot;+l.round((t[0]+e[0])/2,2)+&quot;V&quot;+l.round(e[1],2)+&quot;H&quot;+l.round(e[0],2)},vhv:function(t,e){return&quot;V&quot;+l.round((t[1]+e[1])/2,2)+&quot;H&quot;+l.round(e[0],2)+&quot;V&quot;+l.round(e[1],2)}};_.steps=function(t){var e=L[t]||function(t,e){return&quot;L&quot;+l.round(e[0],2)+&quot;,&quot;+l.round(e[1],2)};return function(t){for(var r=&quot;M&quot;+l.round(t[0][0],2)+&quot;,&quot;+l.round(t[0][1],2),n=1;n&lt;t.length;n++)r+=e(t[n-1],t[n]);return r}},_.makeTester=function(){var t=l.select(&quot;body&quot;).selectAll(&quot;#js-plotly-tester&quot;).data([0]);t.enter().append(&quot;svg&quot;).attr(&quot;id&quot;,&quot;js-plotly-tester&quot;).attr(g.svgAttrs).style({position:&quot;absolute&quot;,left:&quot;-10000px&quot;,top:&quot;-10000px&quot;,width:&quot;9000px&quot;,height:&quot;9000px&quot;,&quot;z-index&quot;:&quot;1&quot;});var e=t.selectAll(&quot;.js-reference-point&quot;).data([0]);e.enter().append(&quot;path&quot;).classed(&quot;js-reference-point&quot;,!0).attr(&quot;d&quot;,&quot;M0,0H1V1H0Z&quot;).style({&quot;stroke-width&quot;:0,fill:&quot;black&quot;}),_.tester=t,_.testref=e},_.savedBBoxes={};var C=0;_.bBox=function(t,e,r){r||(r=s(t));var n;if(r){if(n=_.savedBBoxes[r])return p.extendFlat({},n)}else if(1===t.childNodes.length){var i=t.childNodes[0];if(r=s(i)){var a=+i.getAttribute(&quot;x&quot;)||0,o=+i.getAttribute(&quot;y&quot;)||0,c=i.getAttribute(&quot;transform&quot;);if(!c){var u=_.bBox(i,!1,r);return a&amp;&amp;(u.left+=a,u.right+=a),o&amp;&amp;(u.top+=o,u.bottom+=o),u}if(r+=&quot;~&quot;+a+&quot;~&quot;+o+&quot;~&quot;+c,n=_.savedBBoxes[r])return p.extendFlat({},n)}}var f,h;e?f=t:(h=_.tester.node(),f=t.cloneNode(!0),h.appendChild(f)),l.select(f).attr(&quot;transform&quot;,null).call(m.positionText,0,0);var d=f.getBoundingClientRect(),g=_.testref.node().getBoundingClientRect();e||h.removeChild(f);var v={height:d.height,width:d.width,left:d.left-g.left,top:d.top-g.top,right:d.right-g.left,bottom:d.bottom-g.top};return C&gt;=1e4&amp;&amp;(_.savedBBoxes={},C=0),r&amp;&amp;(_.savedBBoxes[r]=v),C++,p.extendFlat({},v)},_.setClipUrl=function(t,e){if(e){var r=&quot;#&quot;+e,n=l.select(&quot;base&quot;);n.size()&amp;&amp;n.attr(&quot;href&quot;)&amp;&amp;(r=window.location.href.split(&quot;#&quot;)[0]+r),t.attr(&quot;clip-path&quot;,&quot;url(&quot;+r+&quot;)&quot;)}else t.attr(&quot;clip-path&quot;,null)},_.getTranslate=function(t){var e=(t[t.attr?&quot;attr&quot;:&quot;getAttribute&quot;](&quot;transform&quot;)||&quot;&quot;).replace(/.*\btranslate\((-?\d*\.?\d*)[^-\d]*(-?\d*\.?\d*)[^\d].*/,function(t,e,r){return[e,r].join(&quot; &quot;)}).split(&quot; &quot;);return{x:+e[0]||0,y:+e[1]||0}},_.setTranslate=function(t,e,r){var n=t.attr?&quot;attr&quot;:&quot;getAttribute&quot;,i=t.attr?&quot;attr&quot;:&quot;setAttribute&quot;,a=t[n](&quot;transform&quot;)||&quot;&quot;;return e=e||0,r=r||0,a=a.replace(/(\btranslate\(.*?\);?)/,&quot;&quot;).trim(),a+=&quot; translate(&quot;+e+&quot;, &quot;+r+&quot;)&quot;,a=a.trim(),t[i](&quot;transform&quot;,a),a},_.getScale=function(t){var e=(t[t.attr?&quot;attr&quot;:&quot;getAttribute&quot;](&quot;transform&quot;)||&quot;&quot;).replace(/.*\bscale\((\d*\.?\d*)[^\d]*(\d*\.?\d*)[^\d].*/,function(t,e,r){return[e,r].join(&quot; &quot;)}).split(&quot; &quot;);return{x:+e[0]||1,y:+e[1]||1}},_.setScale=function(t,e,r){var n=t.attr?&quot;attr&quot;:&quot;getAttribute&quot;,i=t.attr?&quot;attr&quot;:&quot;setAttribute&quot;,a=t[n](&quot;transform&quot;)||&quot;&quot;;return e=e||1,r=r||1,a=a.replace(/(\bscale\(.*?\);?)/,&quot;&quot;).trim(),a+=&quot; scale(&quot;+e+&quot;, &quot;+r+&quot;)&quot;,a=a.trim(),t[i](&quot;transform&quot;,a),a},_.setPointGroupScale=function(t,e,r){var n,i,a;return e=e||1,r=r||1,i=1===e&amp;&amp;1===r?&quot;&quot;:&quot; scale(&quot;+e+&quot;,&quot;+r+&quot;)&quot;,a=/\s*sc.*/,t.each(function(){n=(this.getAttribute(&quot;transform&quot;)||&quot;&quot;).replace(a,&quot;&quot;),n=(n+=i).trim(),this.setAttribute(&quot;transform&quot;,n)}),i};var z=/translate\([^)]*\)\s*$/;_.setTextPointsScale=function(t,e,r){t.each(function(){var t,n=l.select(this),i=n.select(&quot;text&quot;);if(i.node()){var a=parseFloat(i.attr(&quot;x&quot;)||0),o=parseFloat(i.attr(&quot;y&quot;)||0),s=(n.attr(&quot;transform&quot;)||&quot;&quot;).match(z);t=1===e&amp;&amp;1===r?[]:[&quot;translate(&quot;+a+&quot;,&quot;+o+&quot;)&quot;,&quot;scale(&quot;+e+&quot;,&quot;+r+&quot;)&quot;,&quot;translate(&quot;+-a+&quot;,&quot;+-o+&quot;)&quot;],s&amp;&amp;t.push(s),n.attr(&quot;transform&quot;,t.join(&quot; &quot;))}})}},{&quot;../../constants/alignment&quot;:716,&quot;../../constants/interactions&quot;:720,&quot;../../constants/xmlns_namespaces&quot;:723,&quot;../../lib&quot;:743,&quot;../../lib/svg_text_utils&quot;:766,&quot;../../registry&quot;:873,&quot;../../traces/scatter/make_bubble_size_func&quot;:1083,&quot;../../traces/scatter/subtypes&quot;:1088,&quot;../color&quot;:618,&quot;../colorscale&quot;:633,&quot;./symbol_defs&quot;:644,d3:128,&quot;fast-isnumeric&quot;:140,tinycolor2:546}],644:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;d3&quot;);e.exports={circle:{n:0,f:function(t){var e=n.round(t,2);return&quot;M&quot;+e+&quot;,0A&quot;+e+&quot;,&quot;+e+&quot; 0 1,1 0,-&quot;+e+&quot;A&quot;+e+&quot;,&quot;+e+&quot; 0 0,1 &quot;+e+&quot;,0Z&quot;}},square:{n:1,f:function(t){var e=n.round(t,2);return&quot;M&quot;+e+&quot;,&quot;+e+&quot;H-&quot;+e+&quot;V-&quot;+e+&quot;H&quot;+e+&quot;Z&quot;}},diamond:{n:2,f:function(t){var e=n.round(1.3*t,2);return&quot;M&quot;+e+&quot;,0L0,&quot;+e+&quot;L-&quot;+e+&quot;,0L0,-&quot;+e+&quot;Z&quot;}},cross:{n:3,f:function(t){var e=n.round(.4*t,2),r=n.round(1.2*t,2);return&quot;M&quot;+r+&quot;,&quot;+e+&quot;H&quot;+e+&quot;V&quot;+r+&quot;H-&quot;+e+&quot;V&quot;+e+&quot;H-&quot;+r+&quot;V-&quot;+e+&quot;H-&quot;+e+&quot;V-&quot;+r+&quot;H&quot;+e+&quot;V-&quot;+e+&quot;H&quot;+r+&quot;Z&quot;}},x:{n:4,f:function(t){var e=n.round(.8*t/Math.sqrt(2),2),r=&quot;l&quot;+e+&quot;,&quot;+e,i=&quot;l&quot;+e+&quot;,-&quot;+e,a=&quot;l-&quot;+e+&quot;,-&quot;+e,o=&quot;l-&quot;+e+&quot;,&quot;+e;return&quot;M0,&quot;+e+r+i+a+i+a+o+a+o+r+o+r+&quot;Z&quot;}},&quot;triangle-up&quot;:{n:5,f:function(t){var e=n.round(2*t/Math.sqrt(3),2);return&quot;M-&quot;+e+&quot;,&quot;+n.round(t/2,2)+&quot;H&quot;+e+&quot;L0,-&quot;+n.round(t,2)+&quot;Z&quot;}},&quot;triangle-down&quot;:{n:6,f:function(t){var e=n.round(2*t/Math.sqrt(3),2);return&quot;M-&quot;+e+&quot;,-&quot;+n.round(t/2,2)+&quot;H&quot;+e+&quot;L0,&quot;+n.round(t,2)+&quot;Z&quot;}},&quot;triangle-left&quot;:{n:7,f:function(t){var e=n.round(2*t/Math.sqrt(3),2);return&quot;M&quot;+n.round(t/2,2)+&quot;,-&quot;+e+&quot;V&quot;+e+&quot;L-&quot;+n.round(t,2)+&quot;,0Z&quot;}},&quot;triangle-right&quot;:{n:8,f:function(t){var e=n.round(2*t/Math.sqrt(3),2);return&quot;M-&quot;+n.round(t/2,2)+&quot;,-&quot;+e+&quot;V&quot;+e+&quot;L&quot;+n.round(t,2)+&quot;,0Z&quot;}},&quot;triangle-ne&quot;:{n:9,f:function(t){var e=n.round(.6*t,2),r=n.round(1.2*t,2);return&quot;M-&quot;+r+&quot;,-&quot;+e+&quot;H&quot;+e+&quot;V&quot;+r+&quot;Z&quot;}},&quot;triangle-se&quot;:{n:10,f:function(t){var e=n.round(.6*t,2),r=n.round(1.2*t,2);return&quot;M&quot;+e+&quot;,-&quot;+r+&quot;V&quot;+e+&quot;H-&quot;+r+&quot;Z&quot;}},&quot;triangle-sw&quot;:{n:11,f:function(t){var e=n.round(.6*t,2),r=n.round(1.2*t,2);return&quot;M&quot;+r+&quot;,&quot;+e+&quot;H-&quot;+e+&quot;V-&quot;+r+&quot;Z&quot;}},&quot;triangle-nw&quot;:{n:12,f:function(t){var e=n.round(.6*t,2),r=n.round(1.2*t,2);return&quot;M-&quot;+e+&quot;,&quot;+r+&quot;V-&quot;+e+&quot;H&quot;+r+&quot;Z&quot;}},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&quot;M&quot;+e+&quot;,&quot;+a+&quot;L&quot;+r+&quot;,&quot;+n.round(.809*t,2)+&quot;H-&quot;+r+&quot;L-&quot;+e+&quot;,&quot;+a+&quot;L0,&quot;+i+&quot;Z&quot;}},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&quot;M&quot;+i+&quot;,-&quot;+r+&quot;V&quot;+r+&quot;L0,&quot;+e+&quot;L-&quot;+i+&quot;,&quot;+r+&quot;V-&quot;+r+&quot;L0,-&quot;+e+&quot;Z&quot;}},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&quot;M-&quot;+r+&quot;,&quot;+i+&quot;H&quot;+r+&quot;L&quot;+e+&quot;,0L&quot;+r+&quot;,-&quot;+i+&quot;H-&quot;+r+&quot;L-&quot;+e+&quot;,0Z&quot;}},octagon:{n:16,f:function(t){var e=n.round(.924*t,2),r=n.round(.383*t,2);return&quot;M-&quot;+r+&quot;,-&quot;+e+&quot;H&quot;+r+&quot;L&quot;+e+&quot;,-&quot;+r+&quot;V&quot;+r+&quot;L&quot;+r+&quot;,&quot;+e+&quot;H-&quot;+r+&quot;L-&quot;+e+&quot;,&quot;+r+&quot;V-&quot;+r+&quot;Z&quot;}},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&quot;M&quot;+r+&quot;,&quot;+l+&quot;H&quot;+i+&quot;L&quot;+a+&quot;,&quot;+c+&quot;L&quot;+o+&quot;,&quot;+u+&quot;L0,&quot;+n.round(.382*e,2)+&quot;L-&quot;+o+&quot;,&quot;+u+&quot;L-&quot;+a+&quot;,&quot;+c+&quot;L-&quot;+i+&quot;,&quot;+l+&quot;H-&quot;+r+&quot;L0,&quot;+s+&quot;Z&quot;}},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&quot;M-&quot;+i+&quot;,0l-&quot;+r+&quot;,-&quot;+e+&quot;h&quot;+i+&quot;l&quot;+r+&quot;,-&quot;+e+&quot;l&quot;+r+&quot;,&quot;+e+&quot;h&quot;+i+&quot;l-&quot;+r+&quot;,&quot;+e+&quot;l&quot;+r+&quot;,&quot;+e+&quot;h-&quot;+i+&quot;l-&quot;+r+&quot;,&quot;+e+&quot;l-&quot;+r+&quot;,-&quot;+e+&quot;h-&quot;+i+&quot;Z&quot;}},&quot;star-triangle-up&quot;:{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=&quot;A &quot;+a+&quot;,&quot;+a+&quot; 0 0 1 &quot;;return&quot;M-&quot;+e+&quot;,&quot;+r+o+e+&quot;,&quot;+r+o+&quot;0,-&quot;+i+o+&quot;-&quot;+e+&quot;,&quot;+r+&quot;Z&quot;}},&quot;star-triangle-down&quot;:{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=&quot;A &quot;+a+&quot;,&quot;+a+&quot; 0 0 1 &quot;;return&quot;M&quot;+e+&quot;,-&quot;+r+o+&quot;-&quot;+e+&quot;,-&quot;+r+o+&quot;0,&quot;+i+o+e+&quot;,-&quot;+r+&quot;Z&quot;}},&quot;star-square&quot;:{n:21,f:function(t){var e=n.round(1.1*t,2),r=n.round(2*t,2),i=&quot;A &quot;+r+&quot;,&quot;+r+&quot; 0 0 1 &quot;;return&quot;M-&quot;+e+&quot;,-&quot;+e+i+&quot;-&quot;+e+&quot;,&quot;+e+i+e+&quot;,&quot;+e+i+e+&quot;,-&quot;+e+i+&quot;-&quot;+e+&quot;,-&quot;+e+&quot;Z&quot;}},&quot;star-diamond&quot;:{n:22,f:function(t){var e=n.round(1.4*t,2),r=n.round(1.9*t,2),i=&quot;A &quot;+r+&quot;,&quot;+r+&quot; 0 0 1 &quot;;return&quot;M-&quot;+e+&quot;,0&quot;+i+&quot;0,&quot;+e+i+e+&quot;,0&quot;+i+&quot;0,-&quot;+e+i+&quot;-&quot;+e+&quot;,0Z&quot;}},&quot;diamond-tall&quot;:{n:23,f:function(t){var e=n.round(.7*t,2),r=n.round(1.4*t,2);return&quot;M0,&quot;+r+&quot;L&quot;+e+&quot;,0L0,-&quot;+r+&quot;L-&quot;+e+&quot;,0Z&quot;}},&quot;diamond-wide&quot;:{n:24,f:function(t){var e=n.round(1.4*t,2),r=n.round(.7*t,2);return&quot;M0,&quot;+r+&quot;L&quot;+e+&quot;,0L0,-&quot;+r+&quot;L-&quot;+e+&quot;,0Z&quot;}},hourglass:{n:25,f:function(t){var e=n.round(t,2);return&quot;M&quot;+e+&quot;,&quot;+e+&quot;H-&quot;+e+&quot;L&quot;+e+&quot;,-&quot;+e+&quot;H-&quot;+e+&quot;Z&quot;},noDot:!0},bowtie:{n:26,f:function(t){var e=n.round(t,2);return&quot;M&quot;+e+&quot;,&quot;+e+&quot;V-&quot;+e+&quot;L-&quot;+e+&quot;,&quot;+e+&quot;V-&quot;+e+&quot;Z&quot;},noDot:!0},&quot;circle-cross&quot;:{n:27,f:function(t){var e=n.round(t,2);return&quot;M0,&quot;+e+&quot;V-&quot;+e+&quot;M&quot;+e+&quot;,0H-&quot;+e+&quot;M&quot;+e+&quot;,0A&quot;+e+&quot;,&quot;+e+&quot; 0 1,1 0,-&quot;+e+&quot;A&quot;+e+&quot;,&quot;+e+&quot; 0 0,1 &quot;+e+&quot;,0Z&quot;},needLine:!0,noDot:!0},&quot;circle-x&quot;:{n:28,f:function(t){var e=n.round(t,2),r=n.round(t/Math.sqrt(2),2);return&quot;M&quot;+r+&quot;,&quot;+r+&quot;L-&quot;+r+&quot;,-&quot;+r+&quot;M&quot;+r+&quot;,-&quot;+r+&quot;L-&quot;+r+&quot;,&quot;+r+&quot;M&quot;+e+&quot;,0A&quot;+e+&quot;,&quot;+e+&quot; 0 1,1 0,-&quot;+e+&quot;A&quot;+e+&quot;,&quot;+e+&quot; 0 0,1 &quot;+e+&quot;,0Z&quot;},needLine:!0,noDot:!0},&quot;square-cross&quot;:{n:29,f:function(t){var e=n.round(t,2);return&quot;M0,&quot;+e+&quot;V-&quot;+e+&quot;M&quot;+e+&quot;,0H-&quot;+e+&quot;M&quot;+e+&quot;,&quot;+e+&quot;H-&quot;+e+&quot;V-&quot;+e+&quot;H&quot;+e+&quot;Z&quot;},needLine:!0,noDot:!0},&quot;square-x&quot;:{n:30,f:function(t){var e=n.round(t,2);return&quot;M&quot;+e+&quot;,&quot;+e+&quot;L-&quot;+e+&quot;,-&quot;+e+&quot;M&quot;+e+&quot;,-&quot;+e+&quot;L-&quot;+e+&quot;,&quot;+e+&quot;M&quot;+e+&quot;,&quot;+e+&quot;H-&quot;+e+&quot;V-&quot;+e+&quot;H&quot;+e+&quot;Z&quot;},needLine:!0,noDot:!0},&quot;diamond-cross&quot;:{n:31,f:function(t){var e=n.round(1.3*t,2);return&quot;M&quot;+e+&quot;,0L0,&quot;+e+&quot;L-&quot;+e+&quot;,0L0,-&quot;+e+&quot;ZM0,-&quot;+e+&quot;V&quot;+e+&quot;M-&quot;+e+&quot;,0H&quot;+e},needLine:!0,noDot:!0},&quot;diamond-x&quot;:{n:32,f:function(t){var e=n.round(1.3*t,2),r=n.round(.65*t,2);return&quot;M&quot;+e+&quot;,0L0,&quot;+e+&quot;L-&quot;+e+&quot;,0L0,-&quot;+e+&quot;ZM-&quot;+r+&quot;,-&quot;+r+&quot;L&quot;+r+&quot;,&quot;+r+&quot;M-&quot;+r+&quot;,&quot;+r+&quot;L&quot;+r+&quot;,-&quot;+r},needLine:!0,noDot:!0},&quot;cross-thin&quot;:{n:33,f:function(t){var e=n.round(1.4*t,2);return&quot;M0,&quot;+e+&quot;V-&quot;+e+&quot;M&quot;+e+&quot;,0H-&quot;+e},needLine:!0,noDot:!0,noFill:!0},&quot;x-thin&quot;:{n:34,f:function(t){var e=n.round(t,2);return&quot;M&quot;+e+&quot;,&quot;+e+&quot;L-&quot;+e+&quot;,-&quot;+e+&quot;M&quot;+e+&quot;,-&quot;+e+&quot;L-&quot;+e+&quot;,&quot;+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&quot;M0,&quot;+e+&quot;V-&quot;+e+&quot;M&quot;+e+&quot;,0H-&quot;+e+&quot;M&quot;+r+&quot;,&quot;+r+&quot;L-&quot;+r+&quot;,-&quot;+r+&quot;M&quot;+r+&quot;,-&quot;+r+&quot;L-&quot;+r+&quot;,&quot;+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&quot;M&quot;+e+&quot;,&quot;+r+&quot;V-&quot;+r+&quot;m-&quot;+r+&quot;,0V&quot;+r+&quot;M&quot;+r+&quot;,&quot;+e+&quot;H-&quot;+r+&quot;m0,-&quot;+r+&quot;H&quot;+r},needLine:!0,noFill:!0},&quot;y-up&quot;:{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&quot;M-&quot;+e+&quot;,&quot;+i+&quot;L0,0M&quot;+e+&quot;,&quot;+i+&quot;L0,0M0,-&quot;+r+&quot;L0,0&quot;},needLine:!0,noDot:!0,noFill:!0},&quot;y-down&quot;:{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&quot;M-&quot;+e+&quot;,-&quot;+i+&quot;L0,0M&quot;+e+&quot;,-&quot;+i+&quot;L0,0M0,&quot;+r+&quot;L0,0&quot;},needLine:!0,noDot:!0,noFill:!0},&quot;y-left&quot;:{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&quot;M&quot;+i+&quot;,&quot;+e+&quot;L0,0M&quot;+i+&quot;,-&quot;+e+&quot;L0,0M-&quot;+r+&quot;,0L0,0&quot;},needLine:!0,noDot:!0,noFill:!0},&quot;y-right&quot;:{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&quot;M-&quot;+i+&quot;,&quot;+e+&quot;L0,0M-&quot;+i+&quot;,-&quot;+e+&quot;L0,0M&quot;+r+&quot;,0L0,0&quot;},needLine:!0,noDot:!0,noFill:!0},&quot;line-ew&quot;:{n:41,f:function(t){var e=n.round(1.4*t,2);return&quot;M&quot;+e+&quot;,0H-&quot;+e},needLine:!0,noDot:!0,noFill:!0},&quot;line-ns&quot;:{n:42,f:function(t){var e=n.round(1.4*t,2);return&quot;M0,&quot;+e+&quot;V-&quot;+e},needLine:!0,noDot:!0,noFill:!0},&quot;line-ne&quot;:{n:43,f:function(t){var e=n.round(t,2);return&quot;M&quot;+e+&quot;,-&quot;+e+&quot;L-&quot;+e+&quot;,&quot;+e},needLine:!0,noDot:!0,noFill:!0},&quot;line-nw&quot;:{n:44,f:function(t){var e=n.round(t,2);return&quot;M&quot;+e+&quot;,&quot;+e+&quot;L-&quot;+e+&quot;,-&quot;+e},needLine:!0,noDot:!0,noFill:!0}}},{d3:128}],645:[function(t,e,r){&quot;use strict&quot;;e.exports={visible:{valType:&quot;boolean&quot;,editType:&quot;calc&quot;},type:{valType:&quot;enumerated&quot;,values:[&quot;percent&quot;,&quot;constant&quot;,&quot;sqrt&quot;,&quot;data&quot;],editType:&quot;calc&quot;},symmetric:{valType:&quot;boolean&quot;,editType:&quot;calc&quot;},array:{valType:&quot;data_array&quot;,editType:&quot;calc&quot;},arrayminus:{valType:&quot;data_array&quot;,editType:&quot;calc&quot;},value:{valType:&quot;number&quot;,min:0,dflt:10,editType:&quot;calc&quot;},valueminus:{valType:&quot;number&quot;,min:0,dflt:10,editType:&quot;calc&quot;},traceref:{valType:&quot;integer&quot;,min:0,dflt:0,editType:&quot;style&quot;},tracerefminus:{valType:&quot;integer&quot;,min:0,dflt:0,editType:&quot;style&quot;},copy_ystyle:{valType:&quot;boolean&quot;,editType:&quot;plot&quot;},copy_zstyle:{valType:&quot;boolean&quot;,editType:&quot;style&quot;},color:{valType:&quot;color&quot;,editType:&quot;style&quot;},thickness:{valType:&quot;number&quot;,min:0,dflt:2,editType:&quot;style&quot;},width:{valType:&quot;number&quot;,min:0,editType:&quot;plot&quot;},editType:&quot;calc&quot;,_deprecated:{opacity:{valType:&quot;number&quot;,editType:&quot;style&quot;}}}},{}],646:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,n){var a=e[&quot;error_&quot;+n]||{},l=[];if(a.visible&amp;&amp;-1!==[&quot;linear&quot;,&quot;log&quot;].indexOf(r.type)){for(var c=s(a),u=0;u&lt;t.length;u++){var f=t[u],h=f[n];if(i(r.c2l(h))){var d=c(h,u);if(i(d[0])&amp;&amp;i(d[1])){var p=f[n+&quot;s&quot;]=h-d[0],m=f[n+&quot;h&quot;]=h+d[1];l.push(p,m)}}}o.expand(r,l,{padded:!0})}}var i=t(&quot;fast-isnumeric&quot;),a=t(&quot;../../registry&quot;),o=t(&quot;../../plots/cartesian/axes&quot;),s=t(&quot;./compute_error&quot;);e.exports=function(t){for(var e=t.calcdata,r=0;r&lt;e.length;r++){var i=e[r],s=i[0].trace;if(a.traceIs(s,&quot;errorBarsOK&quot;)){var l=o.getFromId(t,s.xaxis),c=o.getFromId(t,s.yaxis);n(i,s,l,&quot;x&quot;),n(i,s,c,&quot;y&quot;)}}}},{&quot;../../plots/cartesian/axes&quot;:789,&quot;../../registry&quot;:873,&quot;./compute_error&quot;:647,&quot;fast-isnumeric&quot;:140}],647:[function(t,e,r){&quot;use strict&quot;;function n(t,e){return&quot;percent&quot;===t?function(t){return Math.abs(t*e/100)}:&quot;constant&quot;===t?function(){return Math.abs(e)}:&quot;sqrt&quot;===t?function(t){return Math.sqrt(Math.abs(t))}:void 0}e.exports=function(t){var e=t.type,r=t.symmetric;if(&quot;data&quot;===e){var i=t.array,a=t.arrayminus;return r||void 0===a?function(t,e){var r=+i[e];return[r,r]}:function(t,e){return[+a[e],+i[e]]}}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)]}}},{}],648:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;fast-isnumeric&quot;),i=t(&quot;../../registry&quot;),a=t(&quot;../../lib&quot;),o=t(&quot;./attributes&quot;);e.exports=function(t,e,r,s){function l(t,e){return a.coerce(f,u,o,t,e)}var c=&quot;error_&quot;+s.axis,u=e[c]={},f=t[c]||{};if(!1!==l(&quot;visible&quot;,void 0!==f.array||void 0!==f.value||&quot;sqrt&quot;===f.type)){var h=l(&quot;type&quot;,&quot;array&quot;in f?&quot;data&quot;:&quot;percent&quot;),d=!0;if(&quot;sqrt&quot;!==h&amp;&amp;(d=l(&quot;symmetric&quot;,!((&quot;data&quot;===h?&quot;arrayminus&quot;:&quot;valueminus&quot;)in f))),&quot;data&quot;===h){if(l(&quot;array&quot;)||(u.array=[]),l(&quot;traceref&quot;),!d){l(&quot;arrayminus&quot;)||(u.arrayminus=[]),l(&quot;tracerefminus&quot;)}}else&quot;percent&quot;!==h&amp;&amp;&quot;constant&quot;!==h||(l(&quot;value&quot;),d||l(&quot;valueminus&quot;));var p=&quot;copy_&quot;+s.inherit+&quot;style&quot;;if(s.inherit){(e[&quot;error_&quot;+s.inherit]||{}).visible&amp;&amp;l(p,!(f.color||n(f.thickness)||n(f.width)))}s.inherit&amp;&amp;u[p]||(l(&quot;color&quot;,r),l(&quot;thickness&quot;),l(&quot;width&quot;,i.traceIs(e,&quot;gl3d&quot;)?0:4))}}},{&quot;../../lib&quot;:743,&quot;../../registry&quot;:873,&quot;./attributes&quot;:645,&quot;fast-isnumeric&quot;:140}],649:[function(t,e,r){&quot;use strict&quot;;var n=e.exports={};n.attributes=t(&quot;./attributes&quot;),n.supplyDefaults=t(&quot;./defaults&quot;),n.calc=t(&quot;./calc&quot;),n.calcFromTrace=function(t,e){for(var r=t.x||[],i=t.y||[],a=r.length||i.length,o=new Array(a),s=0;s&lt;a;s++)o[s]={x:r[s],y:i[s]};return o[0].trace=t,n.calc({calcdata:[o],_fullLayout:e}),o},n.plot=t(&quot;./plot&quot;),n.style=t(&quot;./style&quot;),n.hoverInfo=function(t,e,r){(e.error_y||{}).visible&amp;&amp;(r.yerr=t.yh-t.y,e.error_y.symmetric||(r.yerrneg=t.y-t.ys)),(e.error_x||{}).visible&amp;&amp;(r.xerr=t.xh-t.x,e.error_x.symmetric||(r.xerrneg=t.x-t.xs))}},{&quot;./attributes&quot;:645,&quot;./calc&quot;:646,&quot;./defaults&quot;:648,&quot;./plot&quot;:650,&quot;./style&quot;:651}],650:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;d3&quot;),i=t(&quot;fast-isnumeric&quot;),a=t(&quot;../drawing&quot;),o=t(&quot;../../traces/scatter/subtypes&quot;);e.exports=function(t,e,r){var s,l=e.xaxis,c=e.yaxis,u=r&amp;&amp;r.duration&gt;0;t.each(function(t){var f,h=t[0].trace,d=h.error_x||{},p=h.error_y||{};h.ids&amp;&amp;(f=function(t){return t.id});var m=o.hasMarkers(h)&amp;&amp;h.marker.maxdisplayed&gt;0;p.visible||d.visible||(t=[]);var g=n.select(this).selectAll(&quot;g.errorbar&quot;).data(t,f);if(g.exit().remove(),t.length){d.visible||g.selectAll(&quot;path.xerror&quot;).remove(),p.visible||g.selectAll(&quot;path.yerror&quot;).remove(),g.style(&quot;opacity&quot;,1);var v=g.enter().append(&quot;g&quot;).classed(&quot;errorbar&quot;,!0);u&amp;&amp;v.style(&quot;opacity&quot;,0).transition().duration(r.duration).style(&quot;opacity&quot;,1),a.setClipUrl(g,e.layerClipId),g.each(function(t){var e=n.select(this),a=function(t,e,r){var n={x:e.c2p(t.x),y:r.c2p(t.y)};return void 0!==t.yh&amp;&amp;(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&amp;&amp;(n.xh=e.c2p(t.xh),n.xs=e.c2p(t.xs),i(n.xs)||(n.noXS=!0,n.xs=e.c2p(t.xs,!0))),n}(t,l,c);if(!m||t.vis){var o;if(p.visible&amp;&amp;i(a.x)&amp;&amp;i(a.yh)&amp;&amp;i(a.ys)){var f=p.width;o=&quot;M&quot;+(a.x-f)+&quot;,&quot;+a.yh+&quot;h&quot;+2*f+&quot;m-&quot;+f+&quot;,0V&quot;+a.ys,a.noYS||(o+=&quot;m-&quot;+f+&quot;,0h&quot;+2*f);var h=e.select(&quot;path.yerror&quot;);(s=!h.size())?h=e.append(&quot;path&quot;).style(&quot;vector-effect&quot;,&quot;non-scaling-stroke&quot;).classed(&quot;yerror&quot;,!0):u&amp;&amp;(h=h.transition().duration(r.duration).ease(r.easing)),h.attr(&quot;d&quot;,o)}if(d.visible&amp;&amp;i(a.y)&amp;&amp;i(a.xh)&amp;&amp;i(a.xs)){var g=(d.copy_ystyle?p:d).width;o=&quot;M&quot;+a.xh+&quot;,&quot;+(a.y-g)+&quot;v&quot;+2*g+&quot;m0,-&quot;+g+&quot;H&quot;+a.xs,a.noXS||(o+=&quot;m0,-&quot;+g+&quot;v&quot;+2*g);var v=e.select(&quot;path.xerror&quot;);(s=!v.size())?v=e.append(&quot;path&quot;).style(&quot;vector-effect&quot;,&quot;non-scaling-stroke&quot;).classed(&quot;xerror&quot;,!0):u&amp;&amp;(v=v.transition().duration(r.duration).ease(r.easing)),v.attr(&quot;d&quot;,o)}}})}})}},{&quot;../../traces/scatter/subtypes&quot;:1088,&quot;../drawing&quot;:643,d3:128,&quot;fast-isnumeric&quot;:140}],651:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;d3&quot;),i=t(&quot;../color&quot;);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(&quot;path.yerror&quot;).style(&quot;stroke-width&quot;,r.thickness+&quot;px&quot;).call(i.stroke,r.color),a.copy_ystyle&amp;&amp;(a=r),o.selectAll(&quot;path.xerror&quot;).style(&quot;stroke-width&quot;,a.thickness+&quot;px&quot;).call(i.stroke,a.color)})}},{&quot;../color&quot;:618,d3:128}],652:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../plots/font_attributes&quot;);e.exports={hoverlabel:{bgcolor:{valType:&quot;color&quot;,arrayOk:!0,editType:&quot;none&quot;},bordercolor:{valType:&quot;color&quot;,arrayOk:!0,editType:&quot;none&quot;},font:n({arrayOk:!0,editType:&quot;none&quot;}),namelength:{valType:&quot;integer&quot;,min:-1,arrayOk:!0,editType:&quot;none&quot;},editType:&quot;calc&quot;}}},{&quot;../../plots/font_attributes&quot;:816}],653:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib&quot;),i=t(&quot;../../registry&quot;);e.exports=function(t){function e(t){return function(e){return n.coerceHoverinfo({hoverinfo:e},{_module:t._module},a)}}for(var r=t.calcdata,a=t._fullLayout,o=0;o&lt;r.length;o++){var s=r[o],l=s[0].trace;if(!i.traceIs(l,&quot;pie&quot;)){var c=i.traceIs(l,&quot;2dMap&quot;)?function(t,e,r,i){i=i||n.identity,Array.isArray(t)&amp;&amp;(e[0][r]=i(t))}:n.fillArray;c(l.hoverinfo,s,&quot;hi&quot;,e(l)),l.hoverlabel&amp;&amp;(c(l.hoverlabel.bgcolor,s,&quot;hbg&quot;),c(l.hoverlabel.bordercolor,s,&quot;hbc&quot;),c(l.hoverlabel.font.size,s,&quot;hts&quot;),c(l.hoverlabel.font.color,s,&quot;htc&quot;),c(l.hoverlabel.font.family,s,&quot;htf&quot;),c(l.hoverlabel.namelength,s,&quot;hnl&quot;))}}}},{&quot;../../lib&quot;:743,&quot;../../registry&quot;:873}],654:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../registry&quot;),i=t(&quot;./hover&quot;).hover;e.exports=function(t,e,r){function a(){t.emit(&quot;plotly_click&quot;,{points:t._hoverdata,event:e})}var o=n.getComponentMethod(&quot;annotations&quot;,&quot;onClick&quot;)(t,t._hoverdata);void 0!==r&amp;&amp;i(t,e,r,!0),t._hoverdata&amp;&amp;e&amp;&amp;e.target&amp;&amp;(o&amp;&amp;o.then?o.then(a):a(),e.stopImmediatePropagation&amp;&amp;e.stopImmediatePropagation())}},{&quot;../../registry&quot;:873,&quot;./hover&quot;:658}],655:[function(t,e,r){&quot;use strict&quot;;e.exports={MAXDIST:20,YANGLE:60,HOVERARROWSIZE:6,HOVERTEXTPAD:3,HOVERFONTSIZE:13,HOVERFONT:&quot;Arial, sans-serif&quot;,HOVERMINTIME:50,HOVERID:&quot;-hover&quot;}},{}],656:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib&quot;),i=t(&quot;./attributes&quot;),a=t(&quot;./hoverlabel_defaults&quot;);e.exports=function(t,e,r,o){a(t,e,function(r,a){return n.coerce(t,e,i,r,a)},o.hoverlabel)}},{&quot;../../lib&quot;:743,&quot;./attributes&quot;:652,&quot;./hoverlabel_defaults&quot;:659}],657:[function(t,e,r){&quot;use strict&quot;;function n(t){return s[t]||t}function i(t,e){return Array.isArray(e)?Array.isArray(t)&amp;&amp;Array.isArray(t[e[0]])?t[e[0]][e[1]]:void 0:t[e]}var a=t(&quot;../../lib&quot;),o=t(&quot;./constants&quot;);r.getSubplot=function(t){return t.subplot||t.xaxis+t.yaxis||t.geo},r.flat=function(t,e){for(var r=new Array(t.length),n=0;n&lt;t.length;n++)r[n]=e;return r},r.p2c=function(t,e){for(var r=new Array(t.length),n=0;n&lt;t.length;n++)r[n]=t[n].p2c(e);return r},r.getDistanceFunction=function(t,e,n,i){return&quot;closest&quot;===t?i||r.quadrature(e,n):&quot;x&quot;===t?e:n},r.getClosest=function(t,e,r){if(!1!==r.index)r.index&gt;=0&amp;&amp;r.index&lt;t.length?r.distance=0:r.index=!1;else for(var n=0;n&lt;t.length;n++){var i=e(t[n]);i&lt;=r.distance&amp;&amp;(r.index=n,r.distance=i)}return r},r.inbox=function(t,e){return t*e&lt;0||0===t?o.MAXDIST*(.6-.3/Math.max(3,Math.abs(t-e))):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=&quot;index&quot;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):(&quot;xVal&quot;in t?a.x=t.xVal:&quot;x&quot;in t&amp;&amp;(a.x=t.x),&quot;yVal&quot;in t?a.y=t.yVal:&quot;y&quot;in t&amp;&amp;(a.y=t.y),t.xa&amp;&amp;(a.xaxis=t.xa),t.ya&amp;&amp;(a.yaxis=t.ya),void 0!==t.zLabelVal&amp;&amp;(a.z=t.zLabelVal)),r.appendArrayPointValue(a,e,i),a},r.appendArrayPointValue=function(t,e,r){var o=e._arrayAttrs;if(o)for(var s=0;s&lt;o.length;s++){var l=o[s],c=n(l);if(void 0===t[c]){var u=i(a.nestedProperty(e,l).get(),r);void 0!==u&amp;&amp;(t[c]=u)}}},r.appendArrayMultiPointValues=function(t,e,r){var o=e._arrayAttrs;if(o)for(var s=0;s&lt;o.length;s++){var l=o[s],c=n(l);if(void 0===t[c]){for(var u=a.nestedProperty(e,l).get(),f=new Array(r.length),h=0;h&lt;r.length;h++)f[h]=i(u,r[h]);t[c]=f}}};var s={ids:&quot;id&quot;,locations:&quot;location&quot;,labels:&quot;label&quot;,values:&quot;value&quot;,&quot;marker.colors&quot;:&quot;color&quot;}},{&quot;../../lib&quot;:743,&quot;./constants&quot;:655}],658:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,n){function u(t,e){if(!t.length)return null;var r=t.map(function(t,e){var r=t.xa,n=t.ya,i=r.c2p(q),a=n.c2p(H);return{distance:function(t){var e=t.kink,r=(t.x1+t.x0)/2-i,n=(t.y1+t.y0)/2-a;return Math.max(Math.sqrt(r*r+n*n)-e,1-3/e)}(t),index:e}});return r=r.filter(function(t){return t.distance&lt;=e}).sort(function(t,e){return t.distance-e.distance}),r.length?t[r[0].index]:null}function d(t){return t?{xa:t.xa,ya:t.ya,x0:t.x0,x1:t.x1,y0:t.y0,y1:t.y1,distance:t.distance,curveNumber:t.trace.index,color:t.color,pointNumber:t.index}:null}r||(r=&quot;xy&quot;);var m=Array.isArray(r)?r:[r],_=t._fullLayout,w=_._plots||[],M=w[r];if(M){var A=M.overlays.map(function(t){return t.id});m=m.concat(A)}for(var T=m.length,S=new Array(T),E=new Array(T),L=0;L&lt;T;L++){var C=m[L],z=w[C];if(z)S[L]=y.getFromId(t,z.xaxis._id),E[L]=y.getFromId(t,z.yaxis._id);else{var D=_[C]._subplot;S[L]=D.xaxis,E[L]=D.yaxis}}var I=e.hovermode||_.hovermode;if(-1===[&quot;x&quot;,&quot;y&quot;,&quot;closest&quot;].indexOf(I)||!t.calcdata||t.querySelector(&quot;.zoombox&quot;)||t._dragging)return v.unhoverRaw(t,e);var P,O,F,R,N,j,B,U,V,q,H,G,Y,W=-1===_.hoverdistance?1/0:_.hoverdistance,X=-1===_.spikedistance?1/0:_.spikedistance,Z=[],J=[],K={hLinePoint:null,vLinePoint:null};if(Array.isArray(e))for(I=&quot;array&quot;,F=0;F&lt;e.length;F++)&quot;skip&quot;!==(N=t.calcdata[e[F].curveNumber||0])[0].trace.hoverinfo&amp;&amp;J.push(N);else{for(R=0;R&lt;t.calcdata.length;R++)&quot;skip&quot;!==(j=(N=t.calcdata[R])[0].trace).hoverinfo&amp;&amp;-1!==m.indexOf(b.getSubplot(j))&amp;&amp;J.push(N);var Q,$;if(!e.target)Q=&quot;xpx&quot;in e?e.xpx:S[0]._length/2,e.pointerX=Q+S[0]._offset,$=&quot;ypx&quot;in e?e.ypx:E[0]._length/2,e.pointerY=$+E[0]._offset;else{if(!1===h.triggerHandler(t,&quot;plotly_beforehover&quot;,e))return;var tt=e.target.getBoundingClientRect();if(Q=e.clientX-tt.left,$=e.clientY-tt.top,Q&lt;0||Q&gt;tt.width||$&lt;0||$&gt;tt.height)return v.unhoverRaw(t,e);e.pointerX=e.offsetX,e.pointerY=e.offsetY}if(P=&quot;xval&quot;in e?b.flat(m,e.xval):b.p2c(S,Q),O=&quot;yval&quot;in e?b.flat(m,e.yval):b.p2c(E,$),!c(P[0])||!c(O[0]))return f.warn(&quot;Fx.hover failed&quot;,e,t),v.unhoverRaw(t,e)}var et=1/0;for(R=0;R&lt;J.length;R++)if((N=J[R])&amp;&amp;N[0]&amp;&amp;N[0].trace&amp;&amp;!0===N[0].trace.visible&amp;&amp;(j=N[0].trace,-1===[&quot;carpet&quot;,&quot;contourcarpet&quot;].indexOf(j._module.name))){if(B=b.getSubplot(j),U=m.indexOf(B),V=I,G={cd:N,trace:j,xa:S[U],ya:E[U],index:!1,distance:Math.min(et,W),color:g.defaultLine,name:j.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},_[B]&amp;&amp;(G.subplot=_[B]._subplot),Y=Z.length,&quot;array&quot;===V){var rt=e[R];&quot;pointNumber&quot;in rt?(G.index=rt.pointNumber,V=&quot;closest&quot;):(V=&quot;&quot;,&quot;xval&quot;in rt&amp;&amp;(q=rt.xval,V=&quot;x&quot;),&quot;yval&quot;in rt&amp;&amp;(H=rt.yval,V=V?&quot;closest&quot;:&quot;y&quot;))}else q=P[U],H=O[U];if(0!==W)if(j._module&amp;&amp;j._module.hoverPoints){var nt=j._module.hoverPoints(G,q,H,V,_._hoverlayer);if(nt)for(var it,at=0;at&lt;nt.length;at++)it=nt[at],c(it.x0)&amp;&amp;c(it.y0)&amp;&amp;Z.push(function(t,e){function r(e,r,n){var i=s(r,n);i&amp;&amp;(t[e]=i)}var n=t.index,i=t.trace||{},a=t.cd[0],o=t.cd[n]||{},s=Array.isArray(n)?function(t,e){return f.castOption(a,n,t)||f.extractOption({},i,&quot;&quot;,e)}:function(t,e){return f.extractOption(o,i,t,e)};r(&quot;hoverinfo&quot;,&quot;hi&quot;,&quot;hoverinfo&quot;),r(&quot;color&quot;,&quot;hbg&quot;,&quot;hoverlabel.bgcolor&quot;),r(&quot;borderColor&quot;,&quot;hbc&quot;,&quot;hoverlabel.bordercolor&quot;),r(&quot;fontFamily&quot;,&quot;htf&quot;,&quot;hoverlabel.font.family&quot;),r(&quot;fontSize&quot;,&quot;hts&quot;,&quot;hoverlabel.font.size&quot;),r(&quot;fontColor&quot;,&quot;htc&quot;,&quot;hoverlabel.font.color&quot;),r(&quot;nameLength&quot;,&quot;hnl&quot;,&quot;hoverlabel.namelength&quot;),t.posref=&quot;y&quot;===e?(t.x0+t.x1)/2:(t.y0+t.y1)/2,t.x0=f.constrain(t.x0,0,t.xa._length),t.x1=f.constrain(t.x1,0,t.xa._length),t.y0=f.constrain(t.y0,0,t.ya._length),t.y1=f.constrain(t.y1,0,t.ya._length),void 0!==t.xLabelVal&amp;&amp;(t.xLabel=&quot;xLabel&quot;in t?t.xLabel:y.hoverLabelText(t.xa,t.xLabelVal),t.xVal=t.xa.c2d(t.xLabelVal));void 0!==t.yLabelVal&amp;&amp;(t.yLabel=&quot;yLabel&quot;in t?t.yLabel:y.hoverLabelText(t.ya,t.yLabelVal),t.yVal=t.ya.c2d(t.yLabelVal));void 0!==t.zLabelVal&amp;&amp;void 0===t.zLabel&amp;&amp;(t.zLabel=String(t.zLabelVal));if(!(isNaN(t.xerr)||&quot;log&quot;===t.xa.type&amp;&amp;t.xerr&lt;=0)){var l=y.tickText(t.xa,t.xa.c2l(t.xerr),&quot;hover&quot;).text;void 0!==t.xerrneg?t.xLabel+=&quot; +&quot;+l+&quot; / -&quot;+y.tickText(t.xa,t.xa.c2l(t.xerrneg),&quot;hover&quot;).text:t.xLabel+=&quot; \xb1 &quot;+l,&quot;x&quot;===e&amp;&amp;(t.distance+=1)}if(!(isNaN(t.yerr)||&quot;log&quot;===t.ya.type&amp;&amp;t.yerr&lt;=0)){var c=y.tickText(t.ya,t.ya.c2l(t.yerr),&quot;hover&quot;).text;void 0!==t.yerrneg?t.yLabel+=&quot; +&quot;+c+&quot; / -&quot;+y.tickText(t.ya,t.ya.c2l(t.yerrneg),&quot;hover&quot;).text:t.yLabel+=&quot; \xb1 &quot;+c,&quot;y&quot;===e&amp;&amp;(t.distance+=1)}var u=t.hoverinfo||t.trace.hoverinfo;&quot;all&quot;!==u&amp;&amp;(-1===(u=Array.isArray(u)?u:u.split(&quot;+&quot;)).indexOf(&quot;x&quot;)&amp;&amp;(t.xLabel=void 0),-1===u.indexOf(&quot;y&quot;)&amp;&amp;(t.yLabel=void 0),-1===u.indexOf(&quot;z&quot;)&amp;&amp;(t.zLabel=void 0),-1===u.indexOf(&quot;text&quot;)&amp;&amp;(t.text=void 0),-1===u.indexOf(&quot;name&quot;)&amp;&amp;(t.name=void 0));return t}(it,I))}else f.log(&quot;Unrecognized trace type in hover:&quot;,j);if(&quot;closest&quot;===I&amp;&amp;Z.length&gt;Y&amp;&amp;(Z.splice(0,Y),et=Z[0].distance),_._has(&quot;cartesian&quot;)&amp;&amp;0!==X&amp;&amp;0===Z.length){G.distance=X,G.index=!1;var ot=j._module.hoverPoints(G,q,H,&quot;closest&quot;,_._hoverlayer);if(ot){var st,lt=ot.filter(function(t){return t.xa.showspikes});if(lt.length){var ct=lt[0];c(ct.x0)&amp;&amp;c(ct.y0)&amp;&amp;(st=d(ct),(!K.vLinePoint||K.vLinePoint.distance&gt;st.distance)&amp;&amp;(K.vLinePoint=st))}var ut=ot.filter(function(t){return t.ya.showspikes});if(ut.length){var ft=ut[0];c(ft.x0)&amp;&amp;c(ft.y0)&amp;&amp;(st=d(ft),(!K.hLinePoint||K.hLinePoint.distance&gt;st.distance)&amp;&amp;(K.hLinePoint=st))}}}}var ht={fullLayout:_,container:_._hoverlayer,outerContainer:_._paperdiv,event:e},dt=t._spikepoints,pt={vLinePoint:K.vLinePoint,hLinePoint:K.hLinePoint};if(t._spikepoints=pt,_._has(&quot;cartesian&quot;)&amp;&amp;0!==X&amp;&amp;0!==Z.length){var mt=u(Z.filter(function(t){return t.ya.showspikes}),X);K.hLinePoint=d(mt);var gt=u(Z.filter(function(t){return t.xa.showspikes}),X);K.vLinePoint=d(gt)}if(0===Z.length){var vt=v.unhoverRaw(t,e);return!_._has(&quot;cartesian&quot;)||null===K.hLinePoint&amp;&amp;null===K.vLinePoint||s(dt)&amp;&amp;o(K,ht),vt}_._has(&quot;cartesian&quot;)&amp;&amp;s(dt)&amp;&amp;o(K,ht),Z.sort(function(t,e){return t.distance-e.distance});var yt=t._hoverdata,xt=[];for(F=0;F&lt;Z.length;F++){var bt=Z[F];xt.push(b.makeEventData(bt,bt.trace,bt.cd))}t._hoverdata=xt;var _t=&quot;y&quot;===I&amp;&amp;J.length&gt;1,wt=i(Z,{hovermode:I,rotateLabels:_t,bgColor:g.combine(_.plot_bgcolor||g.background,_.paper_bgcolor),container:_._hoverlayer,outerContainer:_._paperdiv,commonLabelOpts:_.hoverlabel,hoverdistance:_.hoverdistance},t);if(function(t,e,r){function n(t){var e=t[0],r=t[t.length-1];if(a=e.pmin-e.pos-e.dp+e.size,o=r.pos+r.dp+r.size-e.pmax,a&gt;.01){for(l=t.length-1;l&gt;=0;l--)t[l].dp+=a;i=!1}if(!(o&lt;.01)){if(a&lt;-.01){for(l=t.length-1;l&gt;=0;l--)t[l].dp-=o;i=!1}if(i){var n=0;for(s=0;s&lt;t.length;s++)(c=t[s]).pos+c.dp+c.size&gt;e.pmax&amp;&amp;n++;for(s=t.length-1;s&gt;=0&amp;&amp;!(n&lt;=0);s--)(c=t[s]).pos&gt;e.pmax-1&amp;&amp;(c.del=!0,n--);for(s=0;s&lt;t.length&amp;&amp;!(n&lt;=0);s++)if((c=t[s]).pos&lt;e.pmin+1)for(c.del=!0,n--,o=2*c.size,l=t.length-1;l&gt;=0;l--)t[l].dp-=o;for(s=t.length-1;s&gt;=0&amp;&amp;!(n&lt;=0);s--)(c=t[s]).pos+c.dp+c.size&gt;e.pmax&amp;&amp;(c.del=!0,n--)}}}var i,a,o,s,l,c,u,f=0,h=t.map(function(t,n){var i=t[e];return[{i:n,dp:0,pos:t.pos,posref:t.posref,size:t.by*(&quot;x&quot;===i._id.charAt(0)?k:1)/2,pmin:0,pmax:&quot;x&quot;===i._id.charAt(0)?r.width:r.height}]}).sort(function(t,e){return t[0].posref-e[0].posref});for(;!i&amp;&amp;f&lt;=t.length;){for(f++,i=!0,s=0;s&lt;h.length-1;){var d=h[s],p=h[s+1],m=d[d.length-1],g=p[0];if((a=m.pos+m.dp+m.size-g.pos-g.dp+g.size)&gt;.01&amp;&amp;m.pmin===g.pmin&amp;&amp;m.pmax===g.pmax){for(l=p.length-1;l&gt;=0;l--)p[l].dp+=a;for(d.push.apply(d,p),h.splice(s+1,1),u=0,l=d.length-1;l&gt;=0;l--)u+=d[l].dp;for(o=u/d.length,l=d.length-1;l&gt;=0;l--)d[l].dp-=o;i=!1}else s++}h.forEach(n)}for(s=h.length-1;s&gt;=0;s--){var v=h[s];for(l=v.length-1;l&gt;=0;l--){var y=v[l],x=t[y.i];x.offset=y.dp,x.del=y.del}}}(Z,_t?&quot;xa&quot;:&quot;ya&quot;,_),a(wt,_t),e.target&amp;&amp;e.target.tagName){var Mt=x.getComponentMethod(&quot;annotations&quot;,&quot;hasClickToShow&quot;)(t,xt);p(l.select(e.target),Mt?&quot;pointer&quot;:&quot;&quot;)}e.target&amp;&amp;!n&amp;&amp;function(t,e,r){if(!r||r.length!==t._hoverdata.length)return!0;for(var n=r.length-1;n&gt;=0;n--){var i=r[n],a=t._hoverdata[n];if(i.curveNumber!==a.curveNumber||String(i.pointNumber)!==String(a.pointNumber))return!0}return!1}(t,0,yt)&amp;&amp;(yt&amp;&amp;t.emit(&quot;plotly_unhover&quot;,{event:e,points:yt}),t.emit(&quot;plotly_hover&quot;,{event:e,points:t._hoverdata,xaxes:S,yaxes:E,xvals:P,yvals:O}))}function i(t,e,r){var n,i,a=e.hovermode,o=e.rotateLabels,s=e.bgColor,c=e.container,u=e.outerContainer,f=e.commonLabelOpts||{},h=e.fontFamily||_.HOVERFONT,p=e.fontSize||_.HOVERFONTSIZE,v=t[0],y=v.xa,x=v.ya,b=&quot;y&quot;===a?&quot;yLabel&quot;:&quot;xLabel&quot;,M=v[b],k=(String(M)||&quot;&quot;).split(&quot; &quot;)[0],A=u.node().getBoundingClientRect(),T=A.top,L=A.width,C=A.height,z=v.distance&lt;=e.hoverdistance&amp;&amp;(&quot;x&quot;===a||&quot;y&quot;===a);for(n=0;n&lt;t.length;n++){i=t[n].hoverinfo||t[n].trace.hoverinfo;var D=Array.isArray(i)?i:i.split(&quot;+&quot;);if(-1===D.indexOf(&quot;all&quot;)&amp;&amp;-1===D.indexOf(a)){z=!1;break}}var I=c.selectAll(&quot;g.axistext&quot;).data(z?[0]:[]);I.enter().append(&quot;g&quot;).classed(&quot;axistext&quot;,!0),I.exit().remove(),I.each(function(){var e=l.select(this),n=e.selectAll(&quot;path&quot;).data([0]),i=e.selectAll(&quot;text&quot;).data([0]);n.enter().append(&quot;path&quot;).style({&quot;stroke-width&quot;:&quot;1px&quot;}),n.style({fill:f.bgcolor||g.defaultLine,stroke:f.bordercolor||g.background}),i.enter().append(&quot;text&quot;).attr(&quot;data-notex&quot;,1),i.text(M).call(m.font,f.font.family||h,f.font.size||p,f.font.color||g.background).call(d.positionText,0,0).call(d.convertToTspans,r),e.attr(&quot;transform&quot;,&quot;&quot;);var o=i.node().getBoundingClientRect();if(&quot;x&quot;===a){i.attr(&quot;text-anchor&quot;,&quot;middle&quot;).call(d.positionText,0,&quot;top&quot;===y.side?T-o.bottom-S-E:T-o.top+S+E);var s=&quot;top&quot;===y.side?&quot;-&quot;:&quot;&quot;;n.attr(&quot;d&quot;,&quot;M0,0L&quot;+S+&quot;,&quot;+s+S+&quot;H&quot;+(E+o.width/2)+&quot;v&quot;+s+(2*E+o.height)+&quot;H-&quot;+(E+o.width/2)+&quot;V&quot;+s+S+&quot;H-&quot;+S+&quot;Z&quot;),e.attr(&quot;transform&quot;,&quot;translate(&quot;+(y._offset+(v.x0+v.x1)/2)+&quot;,&quot;+(x._offset+(&quot;top&quot;===y.side?0:x._length))+&quot;)&quot;)}else{i.attr(&quot;text-anchor&quot;,&quot;right&quot;===x.side?&quot;start&quot;:&quot;end&quot;).call(d.positionText,(&quot;right&quot;===x.side?1:-1)*(E+S),T-o.top-o.height/2);var c=&quot;right&quot;===x.side?&quot;&quot;:&quot;-&quot;;n.attr(&quot;d&quot;,&quot;M0,0L&quot;+c+S+&quot;,&quot;+S+&quot;V&quot;+(E+o.height/2)+&quot;h&quot;+c+(2*E+o.width)+&quot;V-&quot;+(E+o.height/2)+&quot;H&quot;+c+S+&quot;V-&quot;+S+&quot;Z&quot;),e.attr(&quot;transform&quot;,&quot;translate(&quot;+(y._offset+(&quot;right&quot;===x.side?y._length:0))+&quot;,&quot;+(x._offset+(v.y0+v.y1)/2)+&quot;)&quot;)}t=t.filter(function(t){return void 0!==t.zLabelVal||(t[b]||&quot;&quot;).split(&quot; &quot;)[0]===k})});var P=c.selectAll(&quot;g.hovertext&quot;).data(t,function(t){return[t.trace.index,t.index,t.x0,t.y0,t.name,t.attr,t.xa,t.ya||&quot;&quot;].join(&quot;,&quot;)});return P.enter().append(&quot;g&quot;).classed(&quot;hovertext&quot;,!0).each(function(){var t=l.select(this);t.append(&quot;rect&quot;).call(g.fill,g.addOpacity(s,.8)),t.append(&quot;text&quot;).classed(&quot;name&quot;,!0),t.append(&quot;path&quot;).style(&quot;stroke-width&quot;,&quot;1px&quot;),t.append(&quot;text&quot;).classed(&quot;nums&quot;,!0).call(m.font,h,p)}),P.exit().remove(),P.each(function(t){var e=l.select(this).attr(&quot;transform&quot;,&quot;&quot;),n=&quot;&quot;,i=&quot;&quot;,c=g.opacity(t.color)?t.color:g.defaultLine,u=g.combine(c,s),f=t.borderColor||g.contrast(u);if(void 0!==t.nameOverride&amp;&amp;(t.name=t.nameOverride),t.name){n=d.plainText(t.name||&quot;&quot;);var v=Math.round(t.nameLength);v&gt;-1&amp;&amp;n.length&gt;v&amp;&amp;(n=v&gt;3?n.substr(0,v-3)+&quot;...&quot;:n.substr(0,v))}void 0!==t.extraText&amp;&amp;(i+=t.extraText),void 0!==t.zLabel?(void 0!==t.xLabel&amp;&amp;(i+=&quot;x: &quot;+t.xLabel+&quot;&lt;br&gt;&quot;),void 0!==t.yLabel&amp;&amp;(i+=&quot;y: &quot;+t.yLabel+&quot;&lt;br&gt;&quot;),i+=(i?&quot;z: &quot;:&quot;&quot;)+t.zLabel):z&amp;&amp;t[a+&quot;Label&quot;]===M?i=t[(&quot;x&quot;===a?&quot;y&quot;:&quot;x&quot;)+&quot;Label&quot;]||&quot;&quot;:void 0===t.xLabel?void 0!==t.yLabel&amp;&amp;(i=t.yLabel):i=void 0===t.yLabel?t.xLabel:&quot;(&quot;+t.xLabel+&quot;, &quot;+t.yLabel+&quot;)&quot;,t.text&amp;&amp;!Array.isArray(t.text)&amp;&amp;(i+=(i?&quot;&lt;br&gt;&quot;:&quot;&quot;)+t.text),&quot;&quot;===i&amp;&amp;(&quot;&quot;===n&amp;&amp;e.remove(),i=n);var y=e.select(&quot;text.nums&quot;).call(m.font,t.fontFamily||h,t.fontSize||p,t.fontColor||f).text(i).attr(&quot;data-notex&quot;,1).call(d.positionText,0,0).call(d.convertToTspans,r),x=e.select(&quot;text.name&quot;),b=0;n&amp;&amp;n!==i?(x.call(m.font,t.fontFamily||h,t.fontSize||p,u).text(n).attr(&quot;data-notex&quot;,1).call(d.positionText,0,0).call(d.convertToTspans,r),b=x.node().getBoundingClientRect().width+2*E):(x.remove(),e.select(&quot;rect&quot;).remove()),e.select(&quot;path&quot;).style({fill:u,stroke:f});var _,k,A=y.node().getBoundingClientRect(),D=t.xa._offset+(t.x0+t.x1)/2,I=t.ya._offset+(t.y0+t.y1)/2,P=Math.abs(t.x1-t.x0),O=Math.abs(t.y1-t.y0),F=A.width+S+E+b;t.ty0=T-A.top,t.bx=A.width+2*E,t.by=A.height+2*E,t.anchor=&quot;start&quot;,t.txwidth=A.width,t.tx2width=b,t.offset=0,o?(t.pos=D,_=I+O/2+F&lt;=C,k=I-O/2-F&gt;=0,&quot;top&quot;!==t.idealAlign&amp;&amp;_||!k?_?(I+=O/2,t.anchor=&quot;start&quot;):t.anchor=&quot;middle&quot;:(I-=O/2,t.anchor=&quot;end&quot;)):(t.pos=I,_=D+P/2+F&lt;=L,k=D-P/2-F&gt;=0,&quot;left&quot;!==t.idealAlign&amp;&amp;_||!k?_?(D+=P/2,t.anchor=&quot;start&quot;):t.anchor=&quot;middle&quot;:(D-=P/2,t.anchor=&quot;end&quot;)),y.attr(&quot;text-anchor&quot;,t.anchor),b&amp;&amp;x.attr(&quot;text-anchor&quot;,t.anchor),e.attr(&quot;transform&quot;,&quot;translate(&quot;+D+&quot;,&quot;+I+&quot;)&quot;+(o?&quot;rotate(&quot;+w+&quot;)&quot;:&quot;&quot;))}),P}function a(t,e){t.each(function(t){var r=l.select(this);if(t.del)r.remove();else{var n=&quot;end&quot;===t.anchor?-1:1,i=r.select(&quot;text.nums&quot;),a={start:1,end:-1,middle:0}[t.anchor],o=a*(S+E),s=o+a*(t.txwidth+E),c=0,u=t.offset;&quot;middle&quot;===t.anchor&amp;&amp;(o-=t.tx2width/2,s-=t.tx2width/2),e&amp;&amp;(u*=-T,c=t.offset*A),r.select(&quot;path&quot;).attr(&quot;d&quot;,&quot;middle&quot;===t.anchor?&quot;M-&quot;+t.bx/2+&quot;,-&quot;+t.by/2+&quot;h&quot;+t.bx+&quot;v&quot;+t.by+&quot;h-&quot;+t.bx+&quot;Z&quot;:&quot;M0,0L&quot;+(n*S+c)+&quot;,&quot;+(S+u)+&quot;v&quot;+(t.by/2-S)+&quot;h&quot;+n*t.bx+&quot;v-&quot;+t.by+&quot;H&quot;+(n*S+c)+&quot;V&quot;+(u-S)+&quot;Z&quot;),i.call(d.positionText,o+c,u+t.ty0-t.by/2+E),t.tx2width&amp;&amp;(r.select(&quot;text.name&quot;).call(d.positionText,s+a*E+c,u+t.ty0-t.by/2+E),r.select(&quot;rect&quot;).call(m.setRect,s+(a-1)*t.tx2width/2+c,u-t.by/2-1,t.tx2width,t.by+2))}})}function o(t,e){var r,n,i=e.container,a=e.fullLayout,o=e.event,s=!!t.hLinePoint,l=!!t.vLinePoint;if(i.selectAll(&quot;.spikeline&quot;).remove(),l||s){var c=g.combine(a.plot_bgcolor,a.paper_bgcolor);if(s){var f,h,d=t.hLinePoint;r=d&amp;&amp;d.xa;&quot;cursor&quot;===(n=d&amp;&amp;d.ya).spikesnap?(f=o.pointerX,h=o.pointerY):(f=r._offset+(d.x0+d.x1)/2,h=n._offset+(d.y0+d.y1)/2);var p,v,y=u.readability(d.color,c)&lt;1.5?g.contrast(c):d.color,x=n.spikemode,b=n.spikethickness,_=n.spikecolor||y,w=n._boundingBox,M=(w.left+w.right)/2&lt;f?w.right:w.left;-1===x.indexOf(&quot;toaxis&quot;)&amp;&amp;-1===x.indexOf(&quot;across&quot;)||(-1!==x.indexOf(&quot;toaxis&quot;)&amp;&amp;(p=M,v=f),-1!==x.indexOf(&quot;across&quot;)&amp;&amp;(p=n._counterSpan[0],v=n._counterSpan[1]),i.insert(&quot;line&quot;,&quot;:first-child&quot;).attr({x1:p,x2:v,y1:h,y2:h,&quot;stroke-width&quot;:b,stroke:_,&quot;stroke-dasharray&quot;:m.dashStyle(n.spikedash,b)}).classed(&quot;spikeline&quot;,!0).classed(&quot;crisp&quot;,!0),i.insert(&quot;line&quot;,&quot;:first-child&quot;).attr({x1:p,x2:v,y1:h,y2:h,&quot;stroke-width&quot;:b+2,stroke:c}).classed(&quot;spikeline&quot;,!0).classed(&quot;crisp&quot;,!0)),-1!==x.indexOf(&quot;marker&quot;)&amp;&amp;i.insert(&quot;circle&quot;,&quot;:first-child&quot;).attr({cx:M+(&quot;right&quot;!==n.side?b:-b),cy:h,r:b,fill:_}).classed(&quot;spikeline&quot;,!0)}if(l){var k,A,T=t.vLinePoint;r=T&amp;&amp;T.xa,n=T&amp;&amp;T.ya;&quot;cursor&quot;===r.spikesnap?(k=o.pointerX,A=o.pointerY):(k=r._offset+(T.x0+T.x1)/2,A=n._offset+(T.y0+T.y1)/2);var S,E,L=u.readability(T.color,c)&lt;1.5?g.contrast(c):T.color,C=r.spikemode,z=r.spikethickness,D=r.spikecolor||L,I=r._boundingBox,P=(I.top+I.bottom)/2&lt;A?I.bottom:I.top;-1===C.indexOf(&quot;toaxis&quot;)&amp;&amp;-1===C.indexOf(&quot;across&quot;)||(-1!==C.indexOf(&quot;toaxis&quot;)&amp;&amp;(S=P,E=A),-1!==C.indexOf(&quot;across&quot;)&amp;&amp;(S=r._counterSpan[0],E=r._counterSpan[1]),i.insert(&quot;line&quot;,&quot;:first-child&quot;).attr({x1:k,x2:k,y1:S,y2:E,&quot;stroke-width&quot;:z,stroke:D,&quot;stroke-dasharray&quot;:m.dashStyle(r.spikedash,z)}).classed(&quot;spikeline&quot;,!0).classed(&quot;crisp&quot;,!0),i.insert(&quot;line&quot;,&quot;:first-child&quot;).attr({x1:k,x2:k,y1:S,y2:E,&quot;stroke-width&quot;:z+2,stroke:c}).classed(&quot;spikeline&quot;,!0).classed(&quot;crisp&quot;,!0)),-1!==C.indexOf(&quot;marker&quot;)&amp;&amp;i.insert(&quot;circle&quot;,&quot;:first-child&quot;).attr({cx:k,cy:P-(&quot;top&quot;!==r.side?z:-z),r:z,fill:D}).classed(&quot;spikeline&quot;,!0)}}}function s(t,e){return!e||(e.vLinePoint!==t._spikepoints.vLinePoint||e.hLinePoint!==t._spikepoints.hLinePoint)}var l=t(&quot;d3&quot;),c=t(&quot;fast-isnumeric&quot;),u=t(&quot;tinycolor2&quot;),f=t(&quot;../../lib&quot;),h=t(&quot;../../lib/events&quot;),d=t(&quot;../../lib/svg_text_utils&quot;),p=t(&quot;../../lib/override_cursor&quot;),m=t(&quot;../drawing&quot;),g=t(&quot;../color&quot;),v=t(&quot;../dragelement&quot;),y=t(&quot;../../plots/cartesian/axes&quot;),x=t(&quot;../../registry&quot;),b=t(&quot;./helpers&quot;),_=t(&quot;./constants&quot;),w=_.YANGLE,M=Math.PI*w/180,k=1/Math.sin(M),A=Math.cos(M),T=Math.sin(M),S=_.HOVERARROWSIZE,E=_.HOVERTEXTPAD;r.hover=function(t,e,r,i){t=f.getGraphDiv(t),f.throttle(t._fullLayout._uid+_.HOVERID,_.HOVERMINTIME,function(){n(t,e,r,i)})},r.loneHover=function(t,e){var r={color:t.color||g.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,trace:{index:0,hoverinfo:&quot;&quot;},xa:{_offset:0},ya:{_offset:0},index:0},n=l.select(e.container),o=e.outerContainer?l.select(e.outerContainer):n,s={hovermode:&quot;closest&quot;,rotateLabels:!1,bgColor:e.bgColor||g.background,container:n,outerContainer:o,hoverdistance:_.MAXDIST},c=i([r],s,e.gd);return a(c,s.rotateLabels),c.node()}},{&quot;../../lib&quot;:743,&quot;../../lib/events&quot;:731,&quot;../../lib/override_cursor&quot;:754,&quot;../../lib/svg_text_utils&quot;:766,&quot;../../plots/cartesian/axes&quot;:789,&quot;../../registry&quot;:873,&quot;../color&quot;:618,&quot;../dragelement&quot;:640,&quot;../drawing&quot;:643,&quot;./constants&quot;:655,&quot;./helpers&quot;:657,d3:128,&quot;fast-isnumeric&quot;:140,tinycolor2:546}],659:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib&quot;);e.exports=function(t,e,r,i){r(&quot;hoverlabel.bgcolor&quot;,(i=i||{}).bgcolor),r(&quot;hoverlabel.bordercolor&quot;,i.bordercolor),r(&quot;hoverlabel.namelength&quot;,i.namelength),n.coerceFont(r,&quot;hoverlabel.font&quot;,i.font)}},{&quot;../../lib&quot;:743}],660:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;d3&quot;),i=t(&quot;../../lib&quot;),a=t(&quot;../dragelement&quot;),o=t(&quot;./helpers&quot;),s=t(&quot;./layout_attributes&quot;);e.exports={moduleType:&quot;component&quot;,name:&quot;fx&quot;,constants:t(&quot;./constants&quot;),schema:{layout:s},attributes:t(&quot;./attributes&quot;),layoutAttributes:s,supplyLayoutGlobalDefaults:t(&quot;./layout_global_defaults&quot;),supplyDefaults:t(&quot;./defaults&quot;),supplyLayoutDefaults:t(&quot;./layout_defaults&quot;),calc:t(&quot;./calc&quot;),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,&quot;hoverlabel.&quot;+r)},castHoverinfo:function(t,e,r){return i.castOption(t,r,&quot;hoverinfo&quot;,function(r){return i.coerceHoverinfo({hoverinfo:r},{_module:t._module},e)})},hover:t(&quot;./hover&quot;).hover,unhover:a.unhover,loneHover:t(&quot;./hover&quot;).loneHover,loneUnhover:function(t){var e=i.isD3Selection(t)?t:n.select(t);e.selectAll(&quot;g.hovertext&quot;).remove(),e.selectAll(&quot;.spikeline&quot;).remove()},click:t(&quot;./click&quot;)}},{&quot;../../lib&quot;:743,&quot;../dragelement&quot;:640,&quot;./attributes&quot;:652,&quot;./calc&quot;:653,&quot;./click&quot;:654,&quot;./constants&quot;:655,&quot;./defaults&quot;:656,&quot;./helpers&quot;:657,&quot;./hover&quot;:658,&quot;./layout_attributes&quot;:661,&quot;./layout_defaults&quot;:662,&quot;./layout_global_defaults&quot;:663,d3:128}],661:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;./constants&quot;),i=t(&quot;../../plots/font_attributes&quot;)({editType:&quot;none&quot;});i.family.dflt=n.HOVERFONT,i.size.dflt=n.HOVERFONTSIZE,e.exports={dragmode:{valType:&quot;enumerated&quot;,values:[&quot;zoom&quot;,&quot;pan&quot;,&quot;select&quot;,&quot;lasso&quot;,&quot;orbit&quot;,&quot;turntable&quot;],dflt:&quot;zoom&quot;,editType:&quot;modebar&quot;},hovermode:{valType:&quot;enumerated&quot;,values:[&quot;x&quot;,&quot;y&quot;,&quot;closest&quot;,!1],editType:&quot;modebar&quot;},hoverdistance:{valType:&quot;integer&quot;,min:-1,dflt:20,editType:&quot;none&quot;},spikedistance:{valType:&quot;integer&quot;,min:-1,dflt:20,editType:&quot;none&quot;},hoverlabel:{bgcolor:{valType:&quot;color&quot;,editType:&quot;none&quot;},bordercolor:{valType:&quot;color&quot;,editType:&quot;none&quot;},font:i,namelength:{valType:&quot;integer&quot;,min:-1,dflt:15,editType:&quot;none&quot;},editType:&quot;none&quot;}}},{&quot;../../plots/font_attributes&quot;:816,&quot;./constants&quot;:655}],662:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib&quot;),i=t(&quot;./layout_attributes&quot;);e.exports=function(t,e,r){function a(r,a){return n.coerce(t,e,i,r,a)}a(&quot;dragmode&quot;);var o;e._has(&quot;cartesian&quot;)?(e._isHoriz=function(t){for(var e=!0,r=0;r&lt;t.length;r++)if(&quot;h&quot;!==t[r].orientation){e=!1;break}return e}(r),o=e._isHoriz?&quot;y&quot;:&quot;x&quot;):o=&quot;closest&quot;;a(&quot;hovermode&quot;,o)&amp;&amp;(a(&quot;hoverdistance&quot;),a(&quot;spikedistance&quot;));var s=e._has(&quot;mapbox&quot;),l=e._has(&quot;geo&quot;),c=e._basePlotModules.length;&quot;zoom&quot;===e.dragmode&amp;&amp;((s||l)&amp;&amp;1===c||s&amp;&amp;l&amp;&amp;2===c)&amp;&amp;(e.dragmode=&quot;pan&quot;)}},{&quot;../../lib&quot;:743,&quot;./layout_attributes&quot;:661}],663:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib&quot;),i=t(&quot;./hoverlabel_defaults&quot;),a=t(&quot;./layout_attributes&quot;);e.exports=function(t,e){i(t,e,function(r,i){return n.coerce(t,e,a,r,i)})}},{&quot;../../lib&quot;:743,&quot;./hoverlabel_defaults&quot;:659,&quot;./layout_attributes&quot;:661}],664:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../plots/cartesian/constants&quot;);e.exports={_isLinkedToArray:&quot;image&quot;,visible:{valType:&quot;boolean&quot;,dflt:!0,editType:&quot;arraydraw&quot;},source:{valType:&quot;string&quot;,editType:&quot;arraydraw&quot;},layer:{valType:&quot;enumerated&quot;,values:[&quot;below&quot;,&quot;above&quot;],dflt:&quot;above&quot;,editType:&quot;arraydraw&quot;},sizex:{valType:&quot;number&quot;,dflt:0,editType:&quot;arraydraw&quot;},sizey:{valType:&quot;number&quot;,dflt:0,editType:&quot;arraydraw&quot;},sizing:{valType:&quot;enumerated&quot;,values:[&quot;fill&quot;,&quot;contain&quot;,&quot;stretch&quot;],dflt:&quot;contain&quot;,editType:&quot;arraydraw&quot;},opacity:{valType:&quot;number&quot;,min:0,max:1,dflt:1,editType:&quot;arraydraw&quot;},x:{valType:&quot;any&quot;,dflt:0,editType:&quot;arraydraw&quot;},y:{valType:&quot;any&quot;,dflt:0,editType:&quot;arraydraw&quot;},xanchor:{valType:&quot;enumerated&quot;,values:[&quot;left&quot;,&quot;center&quot;,&quot;right&quot;],dflt:&quot;left&quot;,editType:&quot;arraydraw&quot;},yanchor:{valType:&quot;enumerated&quot;,values:[&quot;top&quot;,&quot;middle&quot;,&quot;bottom&quot;],dflt:&quot;top&quot;,editType:&quot;arraydraw&quot;},xref:{valType:&quot;enumerated&quot;,values:[&quot;paper&quot;,n.idRegex.x.toString()],dflt:&quot;paper&quot;,editType:&quot;arraydraw&quot;},yref:{valType:&quot;enumerated&quot;,values:[&quot;paper&quot;,n.idRegex.y.toString()],dflt:&quot;paper&quot;,editType:&quot;arraydraw&quot;},editType:&quot;arraydraw&quot;}},{&quot;../../plots/cartesian/constants&quot;:794}],665:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;fast-isnumeric&quot;),i=t(&quot;../../lib/to_log_range&quot;);e.exports=function(t,e,r,a){e=e||{};var o=&quot;log&quot;===r&amp;&amp;&quot;linear&quot;===e.type,s=&quot;linear&quot;===r&amp;&amp;&quot;log&quot;===e.type;if(o||s)for(var l,c,u=t._fullLayout.images,f=e._id.charAt(0),h=0;h&lt;u.length;h++)if(l=u[h],c=&quot;images[&quot;+h+&quot;].&quot;,l[f+&quot;ref&quot;]===e._id){var d=l[f],p=l[&quot;size&quot;+f],m=null,g=null;if(o){m=i(d,e.range);var v=p/Math.pow(10,m)/2;g=2*Math.log(v+Math.sqrt(1+v*v))/Math.LN10}else g=(m=Math.pow(10,d))*(Math.pow(10,p/2)-Math.pow(10,-p/2));n(m)?n(g)||(g=null):(m=null,g=null),a(c+f,m),a(c+&quot;size&quot;+f,g)}}},{&quot;../../lib/to_log_range&quot;:768,&quot;fast-isnumeric&quot;:140}],666:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r){function n(r,n){return i.coerce(t,e,s,r,n)}if(!n(&quot;visible&quot;,!!n(&quot;source&quot;)))return e;n(&quot;layer&quot;),n(&quot;xanchor&quot;),n(&quot;yanchor&quot;),n(&quot;sizex&quot;),n(&quot;sizey&quot;),n(&quot;sizing&quot;),n(&quot;opacity&quot;);for(var o={_fullLayout:r},l=[&quot;x&quot;,&quot;y&quot;],c=0;c&lt;2;c++){var u=l[c],f=a.coerceRef(t,e,o,u,&quot;paper&quot;);a.coercePosition(e,o,n,f,u,0)}return e}var i=t(&quot;../../lib&quot;),a=t(&quot;../../plots/cartesian/axes&quot;),o=t(&quot;../../plots/array_container_defaults&quot;),s=t(&quot;./attributes&quot;);e.exports=function(t,e){o(t,e,{name:&quot;images&quot;,handleItemDefaults:n})}},{&quot;../../lib&quot;:743,&quot;../../plots/array_container_defaults&quot;:786,&quot;../../plots/cartesian/axes&quot;:789,&quot;./attributes&quot;:664}],667:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;d3&quot;),i=t(&quot;../drawing&quot;),a=t(&quot;../../plots/cartesian/axes&quot;),o=t(&quot;../../constants/xmlns_namespaces&quot;);e.exports=function(t){function e(e){var r=n.select(this);if(!this.img||this.img.src!==e.source){r.attr(&quot;xmlns&quot;,o.svg);var i=new Promise(function(t){function n(){r.remove(),t()}var i=new Image;this.img=i,i.setAttribute(&quot;crossOrigin&quot;,&quot;anonymous&quot;),i.onerror=n,i.onload=function(){var e=document.createElement(&quot;canvas&quot;);e.width=this.width,e.height=this.height;e.getContext(&quot;2d&quot;).drawImage(this,0,0);var n=e.toDataURL(&quot;image/png&quot;);r.attr(&quot;xlink:href&quot;,n),t()},r.on(&quot;error&quot;,n),i.src=e.source}.bind(this));t._promises.push(i)}}function r(e){var r=n.select(this),o=a.getFromId(t,e.xref),s=a.getFromId(t,e.yref),l=c._size,u=o?Math.abs(o.l2p(e.sizex)-o.l2p(0)):e.sizex*l.w,f=s?Math.abs(s.l2p(e.sizey)-s.l2p(0)):e.sizey*l.h,h=u*m.x[e.xanchor].offset,d=f*m.y[e.yanchor].offset,p=m.x[e.xanchor].sizing+m.y[e.yanchor].sizing,g=(o?o.r2p(e.x)+o._offset:e.x*l.w+l.l)+h,v=(s?s.r2p(e.y)+s._offset:l.h-e.y*l.h+l.t)+d;switch(e.sizing){case&quot;fill&quot;:p+=&quot; slice&quot;;break;case&quot;stretch&quot;:p=&quot;none&quot;}r.attr({x:g,y:v,width:u,height:f,preserveAspectRatio:p,opacity:e.opacity});var y=(o?o._id:&quot;&quot;)+(s?s._id:&quot;&quot;);r.call(i.setClipUrl,y?&quot;clip&quot;+c._uid+y:null)}var s,l,c=t._fullLayout,u=[],f={},h=[];for(l=0;l&lt;c.images.length;l++){var d=c.images[l];if(d.visible)if(&quot;below&quot;===d.layer&amp;&amp;&quot;paper&quot;!==d.xref&amp;&amp;&quot;paper&quot;!==d.yref){s=d.xref+d.yref;var p=c._plots[s];if(!p){h.push(d);continue}p.mainplot&amp;&amp;(s=p.mainplot.id),f[s]||(f[s]=[]),f[s].push(d)}else&quot;above&quot;===d.layer?u.push(d):h.push(d)}var m={x:{left:{sizing:&quot;xMin&quot;,offset:0},center:{sizing:&quot;xMid&quot;,offset:-.5},right:{sizing:&quot;xMax&quot;,offset:-1}},y:{top:{sizing:&quot;YMin&quot;,offset:0},middle:{sizing:&quot;YMid&quot;,offset:-.5},bottom:{sizing:&quot;YMax&quot;,offset:-1}}},g=c._imageLowerLayer.selectAll(&quot;image&quot;).data(h),v=c._imageUpperLayer.selectAll(&quot;image&quot;).data(u);g.enter().append(&quot;image&quot;),v.enter().append(&quot;image&quot;),g.exit().remove(),v.exit().remove(),g.each(function(t){e.bind(this)(t),r.bind(this)(t)}),v.each(function(t){e.bind(this)(t),r.bind(this)(t)});var y=Object.keys(c._plots);for(l=0;l&lt;y.length;l++){s=y[l];var x=c._plots[s];if(x.imagelayer){var b=x.imagelayer.selectAll(&quot;image&quot;).data(f[s]||[]);b.enter().append(&quot;image&quot;),b.exit().remove(),b.each(function(t){e.bind(this)(t),r.bind(this)(t)})}}}},{&quot;../../constants/xmlns_namespaces&quot;:723,&quot;../../plots/cartesian/axes&quot;:789,&quot;../drawing&quot;:643,d3:128}],668:[function(t,e,r){&quot;use strict&quot;;e.exports={moduleType:&quot;component&quot;,name:&quot;images&quot;,layoutAttributes:t(&quot;./attributes&quot;),supplyLayoutDefaults:t(&quot;./defaults&quot;),includeBasePlot:t(&quot;../../plots/cartesian/include_components&quot;)(&quot;images&quot;),draw:t(&quot;./draw&quot;),convertCoords:t(&quot;./convert_coords&quot;)}},{&quot;../../plots/cartesian/include_components&quot;:799,&quot;./attributes&quot;:664,&quot;./convert_coords&quot;:665,&quot;./defaults&quot;:666,&quot;./draw&quot;:667}],669:[function(t,e,r){&quot;use strict&quot;;r.isRightAnchor=function(t){return&quot;right&quot;===t.xanchor||&quot;auto&quot;===t.xanchor&amp;&amp;t.x&gt;=2/3},r.isCenterAnchor=function(t){return&quot;center&quot;===t.xanchor||&quot;auto&quot;===t.xanchor&amp;&amp;t.x&gt;1/3&amp;&amp;t.x&lt;2/3},r.isBottomAnchor=function(t){return&quot;bottom&quot;===t.yanchor||&quot;auto&quot;===t.yanchor&amp;&amp;t.y&lt;=1/3},r.isMiddleAnchor=function(t){return&quot;middle&quot;===t.yanchor||&quot;auto&quot;===t.yanchor&amp;&amp;t.y&gt;1/3&amp;&amp;t.y&lt;2/3}},{}],670:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../plots/font_attributes&quot;),i=t(&quot;../color/attributes&quot;);e.exports={bgcolor:{valType:&quot;color&quot;,editType:&quot;legend&quot;},bordercolor:{valType:&quot;color&quot;,dflt:i.defaultLine,editType:&quot;legend&quot;},borderwidth:{valType:&quot;number&quot;,min:0,dflt:0,editType:&quot;legend&quot;},font:n({editType:&quot;legend&quot;}),orientation:{valType:&quot;enumerated&quot;,values:[&quot;v&quot;,&quot;h&quot;],dflt:&quot;v&quot;,editType:&quot;legend&quot;},traceorder:{valType:&quot;flaglist&quot;,flags:[&quot;reversed&quot;,&quot;grouped&quot;],extras:[&quot;normal&quot;],editType:&quot;legend&quot;},tracegroupgap:{valType:&quot;number&quot;,min:0,dflt:10,editType:&quot;legend&quot;},x:{valType:&quot;number&quot;,min:-2,max:3,dflt:1.02,editType:&quot;legend&quot;},xanchor:{valType:&quot;enumerated&quot;,values:[&quot;auto&quot;,&quot;left&quot;,&quot;center&quot;,&quot;right&quot;],dflt:&quot;left&quot;,editType:&quot;legend&quot;},y:{valType:&quot;number&quot;,min:-2,max:3,dflt:1,editType:&quot;legend&quot;},yanchor:{valType:&quot;enumerated&quot;,values:[&quot;auto&quot;,&quot;top&quot;,&quot;middle&quot;,&quot;bottom&quot;],dflt:&quot;auto&quot;,editType:&quot;legend&quot;},editType:&quot;legend&quot;}},{&quot;../../plots/font_attributes&quot;:816,&quot;../color/attributes&quot;:617}],671:[function(t,e,r){&quot;use strict&quot;;e.exports={scrollBarWidth:4,scrollBarHeight:20,scrollBarColor:&quot;#808BA4&quot;,scrollBarMargin:4}},{}],672:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../registry&quot;),i=t(&quot;../../lib&quot;),a=t(&quot;./attributes&quot;),o=t(&quot;../../plots/layout_attributes&quot;),s=t(&quot;./helpers&quot;);e.exports=function(t,e,r){function l(t,e){return i.coerce(d,p,a,t,e)}for(var c,u,f,h,d=t.legend||{},p=e.legend={},m=0,g=&quot;normal&quot;,v=0;v&lt;r.length;v++){var y=r[v];s.legendGetsTrace(y)&amp;&amp;(m++,n.traceIs(y,&quot;pie&quot;)&amp;&amp;m++),(n.traceIs(y,&quot;bar&quot;)&amp;&amp;&quot;stack&quot;===e.barmode||-1!==[&quot;tonextx&quot;,&quot;tonexty&quot;].indexOf(y.fill))&amp;&amp;(g=s.isGrouped({traceorder:g})?&quot;grouped+reversed&quot;:&quot;reversed&quot;),void 0!==y.legendgroup&amp;&amp;&quot;&quot;!==y.legendgroup&amp;&amp;(g=s.isReversed({traceorder:g})?&quot;reversed+grouped&quot;:&quot;grouped&quot;)}if(!1!==i.coerce(t,e,o,&quot;showlegend&quot;,m&gt;1)){if(l(&quot;bgcolor&quot;,e.paper_bgcolor),l(&quot;bordercolor&quot;),l(&quot;borderwidth&quot;),i.coerceFont(l,&quot;font&quot;,e.font),l(&quot;orientation&quot;),&quot;h&quot;===p.orientation){var x=t.xaxis;x&amp;&amp;x.rangeslider&amp;&amp;x.rangeslider.visible?(c=0,f=&quot;left&quot;,u=1.1,h=&quot;bottom&quot;):(c=0,f=&quot;left&quot;,u=-.1,h=&quot;top&quot;)}l(&quot;traceorder&quot;,g),s.isGrouped(e.legend)&amp;&amp;l(&quot;tracegroupgap&quot;),l(&quot;x&quot;,c),l(&quot;xanchor&quot;,f),l(&quot;y&quot;,u),l(&quot;yanchor&quot;,h),i.noneOrAll(d,p,[&quot;x&quot;,&quot;y&quot;])}}},{&quot;../../lib&quot;:743,&quot;../../plots/layout_attributes&quot;:843,&quot;../../registry&quot;:873,&quot;./attributes&quot;:670,&quot;./helpers&quot;:676}],673:[function(t,e,r){&quot;use strict&quot;;function n(t,e){function r(r){m.convertToTspans(r,e,function(){!function(t,e){var r=t.data()[0][0];if(!r.trace.showlegend)return void t.remove();var n,i,a=t.select(&quot;g[class*=math-group]&quot;),o=a.node(),s=e._fullLayout.legend.font.size*x;if(o){var l=d.bBox(o);n=l.height,i=l.width,d.setTranslate(a,0,n/4)}else{var c=t.select(&quot;.legendtext&quot;),u=m.lineCount(c),f=c.node();n=s*u,i=f?d.bBox(f).width:0;var h=s*(.3+(1-u)/2);m.positionText(c,40,h)}n=Math.max(n,16)+3,r.height=n,r.width=i}(t,e)})}var n=t.data()[0][0],i=e._fullLayout,a=n.trace,o=f.traceIs(a,&quot;pie&quot;),s=a.index,u=o?n.label:a.name,h=t.selectAll(&quot;text.legendtext&quot;).data([0]);h.enter().append(&quot;text&quot;).classed(&quot;legendtext&quot;,!0),h.attr(&quot;text-anchor&quot;,&quot;start&quot;).classed(&quot;user-select-none&quot;,!0).call(d.font,i.legend.font).text(u),e._context.edits.legendText&amp;&amp;!o?h.call(m.makeEditable,{gd:e}).call(r).on(&quot;edit&quot;,function(t){this.text(t).call(r);var i=t;this.text()||(t=&quot;    &quot;);var a,o=n.trace._fullInput||{},u={};if(-1!==[&quot;ohlc&quot;,&quot;candlestick&quot;].indexOf(o.type))u[(a=n.trace.transforms)[a.length-1].direction+&quot;.name&quot;]=t;else if(f.hasTransform(o,&quot;groupby&quot;)){var h=f.getTransformIndices(o,&quot;groupby&quot;),d=h[h.length-1],p=c.keyedContainer(o,&quot;transforms[&quot;+d+&quot;].styles&quot;,&quot;target&quot;,&quot;value.name&quot;);&quot;&quot;===i?p.remove(n.trace._group):p.set(n.trace._group,t),u=p.constructUpdate()}else u.name=t;return l.restyle(e,u,s)}):h.call(r)}function i(t,e){var r,n=1,i=t.selectAll(&quot;rect&quot;).data([0]);i.enter().append(&quot;rect&quot;).classed(&quot;legendtoggle&quot;,!0).style(&quot;cursor&quot;,&quot;pointer&quot;).attr(&quot;pointer-events&quot;,&quot;all&quot;).call(p.fill,&quot;rgba(0,0,0,0)&quot;),i.on(&quot;mousedown&quot;,function(){(r=(new Date).getTime())-e._legendMouseDownTime&lt;k?n+=1:(n=1,e._legendMouseDownTime=r)}),i.on(&quot;mouseup&quot;,function(){if(!e._dragged&amp;&amp;!e._editing){var r=e._fullLayout.legend;(new Date).getTime()-e._legendMouseDownTime&gt;k&amp;&amp;(n=Math.max(n-1,1)),1===n?r._clickTimeout=setTimeout(function(){g(t,e,n)},k):2===n&amp;&amp;(r._clickTimeout&amp;&amp;clearTimeout(r._clickTimeout),e._legendMouseDownTime=0,g(t,e,n))}})}function a(t,e,r){var n=t._fullLayout,i=n.legend,a=i.borderwidth,o=w.isGrouped(i),l=0;if(i.width=0,i.height=0,w.isVertical(i))o&amp;&amp;e.each(function(t,e){d.setTranslate(this,0,e*i.tracegroupgap)}),r.each(function(t){var e=t[0],r=e.height,n=e.width;d.setTranslate(this,a,5+a+i.height+r/2),i.height+=r,i.width=Math.max(i.width,n)}),i.width+=45+2*a,i.height+=10+2*a,o&amp;&amp;(i.height+=(i._lgroupsLength-1)*i.tracegroupgap),l=40;else if(o){for(var c=[i.width],u=e.data(),f=0,h=u.length;f&lt;h;f++){var p=u[f].map(function(t){return t[0].width}),m=40+Math.max.apply(null,p);i.width+=i.tracegroupgap+m,c.push(i.width)}e.each(function(t,e){d.setTranslate(this,c[e],0)}),e.each(function(){var t=0;s.select(this).selectAll(&quot;g.traces&quot;).each(function(e){var r=e[0].height;d.setTranslate(this,0,5+a+t+r/2),t+=r}),i.height=Math.max(i.height,t)}),i.height+=10+2*a,i.width+=2*a}else{var g,v=0,y=0,x=0,b=0,_=0,M=i.tracegroupgap||5;r.each(function(t){x=Math.max(40+t[0].width,x),_+=40+t[0].width+M}),g=n.width-(n.margin.r+n.margin.l)&gt;a+_-M,r.each(function(t){var e=t[0],r=g?40+t[0].width:x;a+b+M+r&gt;n.width-(n.margin.r+n.margin.l)&amp;&amp;(b=0,v+=y,i.height=i.height+y,y=0),d.setTranslate(this,a+b,5+a+e.height/2+v),i.width+=M+r,i.height=Math.max(i.height,e.height),b+=M+r,y=Math.max(e.height,y)}),i.width+=2*a,i.height+=10+2*a}i.width=Math.ceil(i.width),i.height=Math.ceil(i.height),r.each(function(e){var r=e[0];s.select(this).select(&quot;.legendtoggle&quot;).call(d.setRect,0,-r.height/2,(t._context.edits.legendText?0:i.width)+l,r.height)})}function o(t){var e=t._fullLayout.legend,r=&quot;left&quot;;M.isRightAnchor(e)?r=&quot;right&quot;:M.isCenterAnchor(e)&amp;&amp;(r=&quot;center&quot;);var n=&quot;top&quot;;M.isBottomAnchor(e)?n=&quot;bottom&quot;:M.isMiddleAnchor(e)&amp;&amp;(n=&quot;middle&quot;),u.autoMargin(t,&quot;legend&quot;,{x:e.x,y:e.y,l:e.width*({right:1,center:.5}[r]||0),r:e.width*({left:1,center:.5}[r]||0),b:e.height*({top:1,middle:.5}[n]||0),t:e.height*({bottom:1,middle:.5}[n]||0)})}var s=t(&quot;d3&quot;),l=t(&quot;../../plotly&quot;),c=t(&quot;../../lib&quot;),u=t(&quot;../../plots/plots&quot;),f=t(&quot;../../registry&quot;),h=t(&quot;../dragelement&quot;),d=t(&quot;../drawing&quot;),p=t(&quot;../color&quot;),m=t(&quot;../../lib/svg_text_utils&quot;),g=t(&quot;./handle_click&quot;),v=t(&quot;./constants&quot;),y=t(&quot;../../constants/interactions&quot;),x=t(&quot;../../constants/alignment&quot;).LINE_SPACING,b=t(&quot;./get_legend_data&quot;),_=t(&quot;./style&quot;),w=t(&quot;./helpers&quot;),M=t(&quot;./anchor_utils&quot;),k=y.DBLCLICKDELAY;e.exports=function(t){function e(t,e){E.attr(&quot;data-scroll&quot;,e).call(d.setTranslate,0,e),L.call(d.setRect,N,t,v.scrollBarWidth,v.scrollBarHeight),T.select(&quot;rect&quot;).attr({y:y.borderwidth-e})}var r=t._fullLayout,m=&quot;legend&quot;+r._uid;if(r._infolayer&amp;&amp;t.calcdata){t._legendMouseDownTime||(t._legendMouseDownTime=0);var y=r.legend,x=r.showlegend&amp;&amp;b(t.calcdata,y),w=r.hiddenlabels||[];if(!r.showlegend||!x.length)return r._infolayer.selectAll(&quot;.legend&quot;).remove(),r._topdefs.select(&quot;#&quot;+m).remove(),void u.autoMargin(t,&quot;legend&quot;);var A=r._infolayer.selectAll(&quot;g.legend&quot;).data([0]);A.enter().append(&quot;g&quot;).attr({class:&quot;legend&quot;,&quot;pointer-events&quot;:&quot;all&quot;});var T=r._topdefs.selectAll(&quot;#&quot;+m).data([0]);T.enter().append(&quot;clipPath&quot;).attr(&quot;id&quot;,m).append(&quot;rect&quot;);var S=A.selectAll(&quot;rect.bg&quot;).data([0]);S.enter().append(&quot;rect&quot;).attr({class:&quot;bg&quot;,&quot;shape-rendering&quot;:&quot;crispEdges&quot;}),S.call(p.stroke,y.bordercolor),S.call(p.fill,y.bgcolor),S.style(&quot;stroke-width&quot;,y.borderwidth+&quot;px&quot;);var E=A.selectAll(&quot;g.scrollbox&quot;).data([0]);E.enter().append(&quot;g&quot;).attr(&quot;class&quot;,&quot;scrollbox&quot;);var L=A.selectAll(&quot;rect.scrollbar&quot;).data([0]);L.enter().append(&quot;rect&quot;).attr({class:&quot;scrollbar&quot;,rx:20,ry:2,width:0,height:0}).call(p.fill,&quot;#808BA4&quot;);var C=E.selectAll(&quot;g.groups&quot;).data(x);C.enter().append(&quot;g&quot;).attr(&quot;class&quot;,&quot;groups&quot;),C.exit().remove();var z=C.selectAll(&quot;g.traces&quot;).data(c.identity);z.enter().append(&quot;g&quot;).attr(&quot;class&quot;,&quot;traces&quot;),z.exit().remove(),z.call(_,t).style(&quot;opacity&quot;,function(t){var e=t[0].trace;return f.traceIs(e,&quot;pie&quot;)?-1!==w.indexOf(t[0].label)?.5:1:&quot;legendonly&quot;===e.visible?.5:1}).each(function(){s.select(this).call(n,t).call(i,t)});var D=0!==A.enter().size();D&amp;&amp;(a(t,C,z),o(t));var I=r.width,P=r.height;a(t,C,z),y.height&gt;P?function(t){var e=t._fullLayout.legend,r=&quot;left&quot;;M.isRightAnchor(e)?r=&quot;right&quot;:M.isCenterAnchor(e)&amp;&amp;(r=&quot;center&quot;),u.autoMargin(t,&quot;legend&quot;,{x:e.x,y:.5,l:e.width*({right:1,center:.5}[r]||0),r:e.width*({left:1,center:.5}[r]||0),b:0,t:0})}(t):o(t);var O=r._size,F=O.l+O.w*y.x,R=O.t+O.h*(1-y.y);M.isRightAnchor(y)?F-=y.width:M.isCenterAnchor(y)&amp;&amp;(F-=y.width/2),M.isBottomAnchor(y)?R-=y.height:M.isMiddleAnchor(y)&amp;&amp;(R-=y.height/2);var N=y.width,j=O.w;N&gt;j?(F=O.l,N=j):(F+N&gt;I&amp;&amp;(F=I-N),F&lt;0&amp;&amp;(F=0),N=Math.min(I-F,y.width));var B=y.height,U=O.h;B&gt;U?(R=O.t,B=U):(R+B&gt;P&amp;&amp;(R=P-B),R&lt;0&amp;&amp;(R=0),B=Math.min(P-R,y.height)),d.setTranslate(A,F,R);var V,q,H=B-v.scrollBarHeight-2*v.scrollBarMargin,G=y.height-B;if(y.height&lt;=B||t._context.staticPlot)S.attr({width:N-y.borderwidth,height:B-y.borderwidth,x:y.borderwidth/2,y:y.borderwidth/2}),d.setTranslate(E,0,0),T.select(&quot;rect&quot;).attr({width:N-2*y.borderwidth,height:B-2*y.borderwidth,x:y.borderwidth,y:y.borderwidth}),E.call(d.setClipUrl,m);else{V=v.scrollBarMargin,q=E.attr(&quot;data-scroll&quot;)||0,S.attr({width:N-2*y.borderwidth+v.scrollBarWidth+v.scrollBarMargin,height:B-y.borderwidth,x:y.borderwidth/2,y:y.borderwidth/2}),T.select(&quot;rect&quot;).attr({width:N-2*y.borderwidth+v.scrollBarWidth+v.scrollBarMargin,height:B-2*y.borderwidth,x:y.borderwidth,y:y.borderwidth-q}),E.call(d.setClipUrl,m),D&amp;&amp;e(V,q),A.on(&quot;wheel&quot;,null),A.on(&quot;wheel&quot;,function(){q=c.constrain(E.attr(&quot;data-scroll&quot;)-s.event.deltaY/H*G,-G,0),e(V=v.scrollBarMargin-q/G*H,q),0!==q&amp;&amp;q!==-G&amp;&amp;s.event.preventDefault()}),L.on(&quot;.drag&quot;,null),E.on(&quot;.drag&quot;,null);var Y=s.behavior.drag().on(&quot;drag&quot;,function(){V=c.constrain(s.event.y-v.scrollBarHeight/2,v.scrollBarMargin,v.scrollBarMargin+H),q=-(V-v.scrollBarMargin)/H*G,e(V,q)});L.call(Y),E.call(Y)}if(t._context.edits.legendPosition){var W,X,Z,J;A.classed(&quot;cursor-move&quot;,!0),h.init({element:A.node(),gd:t,prepFn:function(){var t=d.getTranslate(A);Z=t.x,J=t.y},moveFn:function(t,e){var r=Z+t,n=J+e;d.setTranslate(A,r,n),W=h.align(r,0,O.l,O.l+O.w,y.xanchor),X=h.align(n,0,O.t+O.h,O.t,y.yanchor)},doneFn:function(){void 0!==W&amp;&amp;void 0!==X&amp;&amp;l.relayout(t,{&quot;legend.x&quot;:W,&quot;legend.y&quot;:X})},clickFn:function(e,n){var i=r._infolayer.selectAll(&quot;g.traces&quot;).filter(function(){var t=this.getBoundingClientRect();return n.clientX&gt;=t.left&amp;&amp;n.clientX&lt;=t.right&amp;&amp;n.clientY&gt;=t.top&amp;&amp;n.clientY&lt;=t.bottom});i.size()&gt;0&amp;&amp;(1===e?A._clickTimeout=setTimeout(function(){g(i,t,e)},k):2===e&amp;&amp;(A._clickTimeout&amp;&amp;clearTimeout(A._clickTimeout),g(i,t,e)))}})}}}},{&quot;../../constants/alignment&quot;:716,&quot;../../constants/interactions&quot;:720,&quot;../../lib&quot;:743,&quot;../../lib/svg_text_utils&quot;:766,&quot;../../plotly&quot;:784,&quot;../../plots/plots&quot;:852,&quot;../../registry&quot;:873,&quot;../color&quot;:618,&quot;../dragelement&quot;:640,&quot;../drawing&quot;:643,&quot;./anchor_utils&quot;:669,&quot;./constants&quot;:671,&quot;./get_legend_data&quot;:674,&quot;./handle_click&quot;:675,&quot;./helpers&quot;:676,&quot;./style&quot;:678,d3:128}],674:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../registry&quot;),i=t(&quot;./helpers&quot;);e.exports=function(t,e){function r(t,r){if(&quot;&quot;!==t&amp;&amp;i.isGrouped(e))-1===l.indexOf(t)?(l.push(t),c=!0,s[t]=[[r]]):s[t].push([r]);else{var n=&quot;~~i&quot;+f;l.push(n),s[n]=[[r]],f++}}var a,o,s={},l=[],c=!1,u={},f=0;for(a=0;a&lt;t.length;a++){var h=t[a],d=h[0],p=d.trace,m=p.legendgroup;if(i.legendGetsTrace(p)&amp;&amp;p.showlegend)if(n.traceIs(p,&quot;pie&quot;))for(u[m]||(u[m]={}),o=0;o&lt;h.length;o++){var g=h[o].label;u[m][g]||(r(m,{label:g,color:h[o].color,i:h[o].i,trace:p}),u[m][g]=!0)}else r(m,d)}if(!l.length)return[];var v,y,x=l.length;if(c&amp;&amp;i.isGrouped(e))for(y=new Array(x),a=0;a&lt;x;a++)v=s[l[a]],y[a]=i.isReversed(e)?v.reverse():v;else{for(y=[new Array(x)],a=0;a&lt;x;a++)v=s[l[a]][0],y[0][i.isReversed(e)?x-a-1:a]=v;x=1}return e._lgroupsLength=x,y}},{&quot;../../registry&quot;:873,&quot;./helpers&quot;:676}],675:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../plotly&quot;),i=t(&quot;../../lib&quot;),a=t(&quot;../../registry&quot;),o=!0;e.exports=function(t,e,r){function s(t,e,r){var n=b.indexOf(t),i=x[e];return i||(i=x[e]=[]),-1===b.indexOf(t)&amp;&amp;(b.push(t),n=b.length-1),i[n]=r,n}function l(t,e){var r=t._fullInput;if(a.hasTransform(r,&quot;groupby&quot;)){var n=_[r.index];if(!n){var o=a.getTransformIndices(r,&quot;groupby&quot;),l=o[o.length-1];n=i.keyedContainer(r,&quot;transforms[&quot;+l+&quot;].styles&quot;,&quot;target&quot;,&quot;value.visible&quot;),_[r.index]=n}var c=n.get(t._group);void 0===c&amp;&amp;(c=!0),!1!==c&amp;&amp;n.set(t._group,e),w[r.index]=s(r.index,&quot;visible&quot;,!1!==r.visible)}else{var u=!1!==r.visible&amp;&amp;e;s(r.index,&quot;visible&quot;,u)}}if(!e._dragged&amp;&amp;!e._editing){var c,u,f,h,d,p=e._fullLayout.hiddenlabels?e._fullLayout.hiddenlabels.slice():[],m=t.data()[0][0],g=e._fullData,v=m.trace,y=v.legendgroup,x={},b=[],_=[],w=[];if(1===r&amp;&amp;o&amp;&amp;e.data&amp;&amp;e._context.showTips?(i.notifier(i._(e,&quot;Double-click on legend to isolate one trace&quot;),&quot;long&quot;),o=!1):o=!1,a.traceIs(v,&quot;pie&quot;)){var M=m.label,k=p.indexOf(M);1===r?-1===k?p.push(M):p.splice(k,1):2===r&amp;&amp;(p=[],e.calcdata[0].forEach(function(t){M!==t.label&amp;&amp;p.push(t.label)}),e._fullLayout.hiddenlabels&amp;&amp;e._fullLayout.hiddenlabels.length===p.length&amp;&amp;-1===k&amp;&amp;(p=[])),n.relayout(e,&quot;hiddenlabels&quot;,p)}else{var A,T=y&amp;&amp;y.length,S=[];if(T)for(c=0;c&lt;g.length;c++)(A=g[c]).visible&amp;&amp;A.legendgroup===y&amp;&amp;S.push(c);if(1===r){var E;switch(v.visible){case!0:E=&quot;legendonly&quot;;break;case!1:E=!1;break;case&quot;legendonly&quot;:E=!0}if(T)for(c=0;c&lt;g.length;c++)!1!==g[c].visible&amp;&amp;g[c].legendgroup===y&amp;&amp;l(g[c],E);else l(v,E)}else if(2===r){var L,C,z=!0;for(c=0;c&lt;g.length;c++)if(!(g[c]===v)&amp;&amp;!(L=T&amp;&amp;g[c].legendgroup===y)&amp;&amp;!0===g[c].visible&amp;&amp;!a.traceIs(g[c],&quot;notLegendIsolatable&quot;)){z=!1;break}for(c=0;c&lt;g.length;c++)if(!1!==g[c].visible&amp;&amp;!a.traceIs(g[c],&quot;notLegendIsolatable&quot;))switch(v.visible){case&quot;legendonly&quot;:l(g[c],!0);break;case!0:C=!!z||&quot;legendonly&quot;,L=g[c]===v||T&amp;&amp;g[c].legendgroup===y,l(g[c],!!L||C)}}for(c=0;c&lt;_.length;c++)if(f=_[c]){var D=f.constructUpdate(),I=Object.keys(D);for(u=0;u&lt;I.length;u++)h=I[u],(x[h]=x[h]||[])[w[c]]=D[h]}for(d=Object.keys(x),c=0;c&lt;d.length;c++)for(h=d[c],u=0;u&lt;b.length;u++)x[h].hasOwnProperty(u)||(x[h][u]=void 0);n.restyle(e,x,b)}}}},{&quot;../../lib&quot;:743,&quot;../../plotly&quot;:784,&quot;../../registry&quot;:873}],676:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../registry&quot;);r.legendGetsTrace=function(t){return t.visible&amp;&amp;n.traceIs(t,&quot;showLegend&quot;)},r.isGrouped=function(t){return-1!==(t.traceorder||&quot;&quot;).indexOf(&quot;grouped&quot;)},r.isVertical=function(t){return&quot;h&quot;!==t.orientation},r.isReversed=function(t){return-1!==(t.traceorder||&quot;&quot;).indexOf(&quot;reversed&quot;)}},{&quot;../../registry&quot;:873}],677:[function(t,e,r){&quot;use strict&quot;;e.exports={moduleType:&quot;component&quot;,name:&quot;legend&quot;,layoutAttributes:t(&quot;./attributes&quot;),supplyLayoutDefaults:t(&quot;./defaults&quot;),draw:t(&quot;./draw&quot;),style:t(&quot;./style&quot;)}},{&quot;./attributes&quot;:670,&quot;./defaults&quot;:672,&quot;./draw&quot;:673,&quot;./style&quot;:678}],678:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;d3&quot;),i=t(&quot;../../registry&quot;),a=t(&quot;../../lib&quot;),o=t(&quot;../drawing&quot;),s=t(&quot;../color&quot;),l=t(&quot;../../traces/scatter/subtypes&quot;),c=t(&quot;../../traces/pie/style_one&quot;);e.exports=function(t,e){t.each(function(t){var e=n.select(this).selectAll(&quot;g.layers&quot;).data([0]);e.enter().append(&quot;g&quot;).classed(&quot;layers&quot;,!0),e.style(&quot;opacity&quot;,t[0].trace.opacity);e.selectAll(&quot;g.legendfill&quot;).data([t]).enter().append(&quot;g&quot;).classed(&quot;legendfill&quot;,!0);e.selectAll(&quot;g.legendlines&quot;).data([t]).enter().append(&quot;g&quot;).classed(&quot;legendlines&quot;,!0);var r=e.selectAll(&quot;g.legendsymbols&quot;).data([t]);r.enter().append(&quot;g&quot;).classed(&quot;legendsymbols&quot;,!0),r.selectAll(&quot;g.legendpoints&quot;).data([t]).enter().append(&quot;g&quot;).classed(&quot;legendpoints&quot;,!0)}).each(function(t){var e=t[0].trace,r=e.marker||{},a=r.line||{},o=n.select(this).select(&quot;g.legendpoints&quot;).selectAll(&quot;path.legendbar&quot;).data(i.traceIs(e,&quot;bar&quot;)?[t]:[]);o.enter().append(&quot;path&quot;).classed(&quot;legendbar&quot;,!0).attr(&quot;d&quot;,&quot;M6,6H-6V-6H6Z&quot;).attr(&quot;transform&quot;,&quot;translate(20,0)&quot;),o.exit().remove(),o.each(function(t){var e=n.select(this),i=t[0],o=(i.mlw+1||a.width+1)-1;e.style(&quot;stroke-width&quot;,o+&quot;px&quot;).call(s.fill,i.mc||r.color),o&amp;&amp;e.call(s.stroke,i.mlc||a.color)})}).each(function(t){var e=t[0].trace,r=n.select(this).select(&quot;g.legendpoints&quot;).selectAll(&quot;path.legendbox&quot;).data(i.traceIs(e,&quot;box-violin&quot;)&amp;&amp;e.visible?[t]:[]);r.enter().append(&quot;path&quot;).classed(&quot;legendbox&quot;,!0).attr(&quot;d&quot;,&quot;M6,6H-6V-6H6Z&quot;).attr(&quot;transform&quot;,&quot;translate(20,0)&quot;),r.exit().remove(),r.each(function(){var t=e.line.width,r=n.select(this);r.style(&quot;stroke-width&quot;,t+&quot;px&quot;).call(s.fill,e.fillcolor),t&amp;&amp;r.call(s.stroke,e.line.color)})}).each(function(t){var e=t[0].trace,r=n.select(this).select(&quot;g.legendpoints&quot;).selectAll(&quot;path.legendpie&quot;).data(i.traceIs(e,&quot;pie&quot;)&amp;&amp;e.visible?[t]:[]);r.enter().append(&quot;path&quot;).classed(&quot;legendpie&quot;,!0).attr(&quot;d&quot;,&quot;M6,6H-6V-6H6Z&quot;).attr(&quot;transform&quot;,&quot;translate(20,0)&quot;),r.exit().remove(),r.size()&amp;&amp;r.call(c,t[0],e)}).each(function(t){var e=t[0].trace,r=e.visible&amp;&amp;e.fill&amp;&amp;&quot;none&quot;!==e.fill,i=l.hasLines(e);e&amp;&amp;e._module&amp;&amp;&quot;contourcarpet&quot;===e._module.name&amp;&amp;(i=e.contours.showlines,r=&quot;fill&quot;===e.contours.coloring);var a=n.select(this).select(&quot;.legendfill&quot;).selectAll(&quot;path&quot;).data(r?[t]:[]);a.enter().append(&quot;path&quot;).classed(&quot;js-fill&quot;,!0),a.exit().remove(),a.attr(&quot;d&quot;,&quot;M5,0h30v6h-30z&quot;).call(o.fillGroupStyle);var s=n.select(this).select(&quot;.legendlines&quot;).selectAll(&quot;path&quot;).data(i?[t]:[]);s.enter().append(&quot;path&quot;).classed(&quot;js-line&quot;,!0).attr(&quot;d&quot;,&quot;M5,0h30&quot;),s.exit().remove(),s.call(o.lineGroupStyle)}).each(function(t){function r(t,e,r){var n=a.nestedProperty(f,t).get(),i=Array.isArray(n)&amp;&amp;e?e(n):n;if(r){if(i&lt;r[0])return r[0];if(i&gt;r[1])return r[1]}return i}function i(t){return t[0]}var s,c,u=t[0],f=u.trace,h=l.hasMarkers(f),d=l.hasText(f),p=l.hasLines(f);if(h||d||p){var m={},g={};h&amp;&amp;(m.mc=r(&quot;marker.color&quot;,i),m.mo=r(&quot;marker.opacity&quot;,a.mean,[.2,1]),m.ms=r(&quot;marker.size&quot;,a.mean,[2,16]),m.mlc=r(&quot;marker.line.color&quot;,i),m.mlw=r(&quot;marker.line.width&quot;,a.mean,[0,5]),g.marker={sizeref:1,sizemin:1,sizemode:&quot;diameter&quot;}),p&amp;&amp;(g.line={width:r(&quot;line.width&quot;,i,[0,10])}),d&amp;&amp;(m.tx=&quot;Aa&quot;,m.tp=r(&quot;textposition&quot;,i),m.ts=10,m.tc=r(&quot;textfont.color&quot;,i),m.tf=r(&quot;textfont.family&quot;,i)),s=[a.minExtend(u,m)],c=a.minExtend(f,g)}var v=n.select(this).select(&quot;g.legendpoints&quot;),y=v.selectAll(&quot;path.scatterpts&quot;).data(h?s:[]);y.enter().append(&quot;path&quot;).classed(&quot;scatterpts&quot;,!0).attr(&quot;transform&quot;,&quot;translate(20,0)&quot;),y.exit().remove(),y.call(o.pointStyle,c,e),h&amp;&amp;(s[0].mrc=3);var x=v.selectAll(&quot;g.pointtext&quot;).data(d?s:[]);x.enter().append(&quot;g&quot;).classed(&quot;pointtext&quot;,!0).append(&quot;text&quot;).attr(&quot;transform&quot;,&quot;translate(20,0)&quot;),x.exit().remove(),x.selectAll(&quot;text&quot;).call(o.textPointStyle,c,e)})}},{&quot;../../lib&quot;:743,&quot;../../registry&quot;:873,&quot;../../traces/pie/style_one&quot;:1052,&quot;../../traces/scatter/subtypes&quot;:1088,&quot;../color&quot;:618,&quot;../drawing&quot;:643,d3:128}],679:[function(t,e,r){&quot;use strict&quot;;function n(t,e){var r,n,i=e.currentTarget,a=i.getAttribute(&quot;data-attr&quot;),o=i.getAttribute(&quot;data-val&quot;)||!0,s=t._fullLayout,l={},c=h.list(t,null,!0),f=&quot;on&quot;;if(&quot;zoom&quot;===a){var d,p=&quot;in&quot;===o?.5:2,m=(1+p)/2,g=(1-p)/2;for(n=0;n&lt;c.length;n++)if(!(r=c[n]).fixedrange)if(d=r._name,&quot;auto&quot;===o)l[d+&quot;.autorange&quot;]=!0;else if(&quot;reset&quot;===o){if(void 0===r._rangeInitial)l[d+&quot;.autorange&quot;]=!0;else{var v=r._rangeInitial.slice();l[d+&quot;.range[0]&quot;]=v[0],l[d+&quot;.range[1]&quot;]=v[1]}void 0!==r._showSpikeInitial&amp;&amp;(l[d+&quot;.showspikes&quot;]=r._showSpikeInitial,&quot;on&quot;!==f||r._showSpikeInitial||(f=&quot;off&quot;))}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]];l[d+&quot;.range[0]&quot;]=r.l2r(x[0]),l[d+&quot;.range[1]&quot;]=r.l2r(x[1])}s._cartesianSpikesEnabled=f}else{if(&quot;hovermode&quot;!==a||&quot;x&quot;!==o&amp;&amp;&quot;y&quot;!==o){if(&quot;hovermode&quot;===a&amp;&amp;&quot;closest&quot;===o){for(n=0;n&lt;c.length;n++)r=c[n],&quot;on&quot;!==f||r.showspikes||(f=&quot;off&quot;);s._cartesianSpikesEnabled=f}}else o=s._isHoriz?&quot;y&quot;:&quot;x&quot;,i.setAttribute(&quot;data-val&quot;,o);l[a]=o}u.relayout(t,l)}function i(t,e){for(var r=e.currentTarget,n=r.getAttribute(&quot;data-attr&quot;),i=r.getAttribute(&quot;data-val&quot;)||!0,a=t._fullLayout._subplots.gl3d,o={},s=n.split(&quot;.&quot;),l=0;l&lt;a.length;l++)o[a[l]+&quot;.&quot;+s[1]]=i;u.relayout(t,o)}function a(t,e){for(var r=e.currentTarget.getAttribute(&quot;data-attr&quot;),n=t._fullLayout,i=n._subplots.gl3d,a={},o=0;o&lt;i.length;o++){var s=i[o],l=s+&quot;.camera&quot;,c=n[s]._scene;&quot;resetDefault&quot;===r?a[l]=null:&quot;resetLastSave&quot;===r&amp;&amp;(a[l]=d.extendDeep({},c.cameraInitial))}u.relayout(t,a)}function o(t,e){var r=e.currentTarget,n=r._previousVal||!1,i=t.layout,a=t._fullLayout,o=a._subplots.gl3d,s=[&quot;xaxis&quot;,&quot;yaxis&quot;,&quot;zaxis&quot;],l=[&quot;showspikes&quot;,&quot;spikesides&quot;,&quot;spikethickness&quot;,&quot;spikecolor&quot;],c={},f={},h={};if(n)h=d.extendDeep(i,n),r._previousVal=null;else{h={&quot;allaxes.showspikes&quot;:!1};for(var p=0;p&lt;o.length;p++){var m=o[p],g=a[m],v=c[m]={};v.hovermode=g.hovermode,h[m+&quot;.hovermode&quot;]=!1;for(var y=0;y&lt;3;y++){var x=s[y];f=v[x]={};for(var b=0;b&lt;l.length;b++){var _=l[b];f[_]=g[x][_]}}}r._previousVal=d.extendDeep({},c)}u.relayout(t,h)}function s(t,e){for(var r=e.currentTarget,n=r.getAttribute(&quot;data-attr&quot;),i=r.getAttribute(&quot;data-val&quot;)||!0,a=t._fullLayout,o=a._subplots.geo,s=0;s&lt;o.length;s++){var l=o[s],f=a[l];if(&quot;zoom&quot;===n){var h=f.projection.scale,d=&quot;in&quot;===i?2*h:.5*h;u.relayout(t,l+&quot;.projection.scale&quot;,d)}else&quot;reset&quot;===n&amp;&amp;c(t,&quot;geo&quot;)}}function l(t){var e,r=t._fullLayout;e=r._has(&quot;cartesian&quot;)?r._isHoriz?&quot;y&quot;:&quot;x&quot;:&quot;closest&quot;;var n=!t._fullLayout.hovermode&amp;&amp;e;u.relayout(t,&quot;hovermode&quot;,n)}function c(t,e){for(var r=t._fullLayout,n=r._subplots[e],i={},a=0;a&lt;n.length;a++)for(var o=n[a],s=r[o]._subplot.viewInitial,l=Object.keys(s),c=0;c&lt;l.length;c++){var f=l[c];i[o+&quot;.&quot;+f]=s[f]}u.relayout(t,i)}var u=t(&quot;../../plotly&quot;),f=t(&quot;../../plots/plots&quot;),h=t(&quot;../../plots/cartesian/axis_ids&quot;),d=t(&quot;../../lib&quot;),p=t(&quot;../../snapshot/download&quot;),m=t(&quot;../../../build/ploticon&quot;),g=d._,v=e.exports={};v.toImage={name:&quot;toImage&quot;,title:function(t){return g(t,&quot;Download plot as a png&quot;)},icon:m.camera,click:function(t){var e=&quot;png&quot;;d.notifier(g(t,&quot;Taking snapshot - this may take a few seconds&quot;),&quot;long&quot;),d.isIE()&amp;&amp;(d.notifier(g(t,&quot;IE only supports svg.  Changing format to svg.&quot;),&quot;long&quot;),e=&quot;svg&quot;),p(t,{format:e}).then(function(e){d.notifier(g(t,&quot;Snapshot succeeded&quot;)+&quot; - &quot;+e,&quot;long&quot;)}).catch(function(){d.notifier(g(t,&quot;Sorry, there was a problem downloading your snapshot!&quot;),&quot;long&quot;)})}},v.sendDataToCloud={name:&quot;sendDataToCloud&quot;,title:function(t){return g(t,&quot;Edit in Chart Studio&quot;)},icon:m.disk,click:function(t){f.sendDataToCloud(t)}},v.zoom2d={name:&quot;zoom2d&quot;,title:function(t){return g(t,&quot;Zoom&quot;)},attr:&quot;dragmode&quot;,val:&quot;zoom&quot;,icon:m.zoombox,click:n},v.pan2d={name:&quot;pan2d&quot;,title:function(t){return g(t,&quot;Pan&quot;)},attr:&quot;dragmode&quot;,val:&quot;pan&quot;,icon:m.pan,click:n},v.select2d={name:&quot;select2d&quot;,title:function(t){return g(t,&quot;Box Select&quot;)},attr:&quot;dragmode&quot;,val:&quot;select&quot;,icon:m.selectbox,click:n},v.lasso2d={name:&quot;lasso2d&quot;,title:function(t){return g(t,&quot;Lasso Select&quot;)},attr:&quot;dragmode&quot;,val:&quot;lasso&quot;,icon:m.lasso,click:n},v.zoomIn2d={name:&quot;zoomIn2d&quot;,title:function(t){return g(t,&quot;Zoom in&quot;)},attr:&quot;zoom&quot;,val:&quot;in&quot;,icon:m.zoom_plus,click:n},v.zoomOut2d={name:&quot;zoomOut2d&quot;,title:function(t){return g(t,&quot;Zoom out&quot;)},attr:&quot;zoom&quot;,val:&quot;out&quot;,icon:m.zoom_minus,click:n},v.autoScale2d={name:&quot;autoScale2d&quot;,title:function(t){return g(t,&quot;Autoscale&quot;)},attr:&quot;zoom&quot;,val:&quot;auto&quot;,icon:m.autoscale,click:n},v.resetScale2d={name:&quot;resetScale2d&quot;,title:function(t){return g(t,&quot;Reset axes&quot;)},attr:&quot;zoom&quot;,val:&quot;reset&quot;,icon:m.home,click:n},v.hoverClosestCartesian={name:&quot;hoverClosestCartesian&quot;,title:function(t){return g(t,&quot;Show closest data on hover&quot;)},attr:&quot;hovermode&quot;,val:&quot;closest&quot;,icon:m.tooltip_basic,gravity:&quot;ne&quot;,click:n},v.hoverCompareCartesian={name:&quot;hoverCompareCartesian&quot;,title:function(t){return g(t,&quot;Compare data on hover&quot;)},attr:&quot;hovermode&quot;,val:function(t){return t._fullLayout._isHoriz?&quot;y&quot;:&quot;x&quot;},icon:m.tooltip_compare,gravity:&quot;ne&quot;,click:n},v.zoom3d={name:&quot;zoom3d&quot;,title:function(t){return g(t,&quot;Zoom&quot;)},attr:&quot;scene.dragmode&quot;,val:&quot;zoom&quot;,icon:m.zoombox,click:i},v.pan3d={name:&quot;pan3d&quot;,title:function(t){return g(t,&quot;Pan&quot;)},attr:&quot;scene.dragmode&quot;,val:&quot;pan&quot;,icon:m.pan,click:i},v.orbitRotation={name:&quot;orbitRotation&quot;,title:function(t){return g(t,&quot;Orbital rotation&quot;)},attr:&quot;scene.dragmode&quot;,val:&quot;orbit&quot;,icon:m[&quot;3d_rotate&quot;],click:i},v.tableRotation={name:&quot;tableRotation&quot;,title:function(t){return g(t,&quot;Turntable rotation&quot;)},attr:&quot;scene.dragmode&quot;,val:&quot;turntable&quot;,icon:m[&quot;z-axis&quot;],click:i},v.resetCameraDefault3d={name:&quot;resetCameraDefault3d&quot;,title:function(t){return g(t,&quot;Reset camera to default&quot;)},attr:&quot;resetDefault&quot;,icon:m.home,click:a},v.resetCameraLastSave3d={name:&quot;resetCameraLastSave3d&quot;,title:function(t){return g(t,&quot;Reset camera to last save&quot;)},attr:&quot;resetLastSave&quot;,icon:m.movie,click:a},v.hoverClosest3d={name:&quot;hoverClosest3d&quot;,title:function(t){return g(t,&quot;Toggle show closest data on hover&quot;)},attr:&quot;hovermode&quot;,val:null,toggle:!0,icon:m.tooltip_basic,gravity:&quot;ne&quot;,click:o},v.zoomInGeo={name:&quot;zoomInGeo&quot;,title:function(t){return g(t,&quot;Zoom in&quot;)},attr:&quot;zoom&quot;,val:&quot;in&quot;,icon:m.zoom_plus,click:s},v.zoomOutGeo={name:&quot;zoomOutGeo&quot;,title:function(t){return g(t,&quot;Zoom out&quot;)},attr:&quot;zoom&quot;,val:&quot;out&quot;,icon:m.zoom_minus,click:s},v.resetGeo={name:&quot;resetGeo&quot;,title:function(t){return g(t,&quot;Reset&quot;)},attr:&quot;reset&quot;,val:null,icon:m.autoscale,click:s},v.hoverClosestGeo={name:&quot;hoverClosestGeo&quot;,title:function(t){return g(t,&quot;Toggle show closest data on hover&quot;)},attr:&quot;hovermode&quot;,val:null,toggle:!0,icon:m.tooltip_basic,gravity:&quot;ne&quot;,click:l},v.hoverClosestGl2d={name:&quot;hoverClosestGl2d&quot;,title:function(t){return g(t,&quot;Toggle show closest data on hover&quot;)},attr:&quot;hovermode&quot;,val:null,toggle:!0,icon:m.tooltip_basic,gravity:&quot;ne&quot;,click:l},v.hoverClosestPie={name:&quot;hoverClosestPie&quot;,title:function(t){return g(t,&quot;Toggle show closest data on hover&quot;)},attr:&quot;hovermode&quot;,val:&quot;closest&quot;,icon:m.tooltip_basic,gravity:&quot;ne&quot;,click:l},v.toggleHover={name:&quot;toggleHover&quot;,title:function(t){return g(t,&quot;Toggle show closest data on hover&quot;)},attr:&quot;hovermode&quot;,val:null,toggle:!0,icon:m.tooltip_basic,gravity:&quot;ne&quot;,click:function(t,e){l(t),o(t,e)}},v.resetViews={name:&quot;resetViews&quot;,title:function(t){return g(t,&quot;Reset views&quot;)},icon:m.home,click:function(t,e){var r=e.currentTarget;r.setAttribute(&quot;data-attr&quot;,&quot;zoom&quot;),r.setAttribute(&quot;data-val&quot;,&quot;reset&quot;),n(t,e),r.setAttribute(&quot;data-attr&quot;,&quot;resetLastSave&quot;),a(t,e),c(t,&quot;geo&quot;),c(t,&quot;mapbox&quot;)}},v.toggleSpikelines={name:&quot;toggleSpikelines&quot;,title:function(t){return g(t,&quot;Toggle Spike Lines&quot;)},icon:m.spikeline,attr:&quot;_cartesianSpikesEnabled&quot;,val:&quot;on&quot;,click:function(t){var e=t._fullLayout;e._cartesianSpikesEnabled=&quot;on&quot;===e._cartesianSpikesEnabled?&quot;off&quot;:&quot;on&quot;;var r=function(t){for(var e,r=t._fullLayout,n=h.list(t,null,!0),i={},a=0;a&lt;n.length;a++)i[(e=n[a])._name+&quot;.showspikes&quot;]=&quot;on&quot;===r._cartesianSpikesEnabled||e._showSpikeInitial;return i}(t);u.relayout(t,r)}},v.resetViewMapbox={name:&quot;resetViewMapbox&quot;,title:function(t){return g(t,&quot;Reset view&quot;)},attr:&quot;reset&quot;,icon:m.home,click:function(t){c(t,&quot;mapbox&quot;)}}},{&quot;../../../build/ploticon&quot;:2,&quot;../../lib&quot;:743,&quot;../../plotly&quot;:784,&quot;../../plots/cartesian/axis_ids&quot;:792,&quot;../../plots/plots&quot;:852,&quot;../../snapshot/download&quot;:875}],680:[function(t,e,r){&quot;use strict&quot;;r.manage=t(&quot;./manage&quot;)},{&quot;./manage&quot;:681}],681:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r){function n(t){for(var r=[],n=0;n&lt;t.length;n++){var i=t[n];-1===e.indexOf(i)&amp;&amp;r.push(c[i])}x.push(r)}var l=t._fullLayout,u=t._fullData,f=l._has(&quot;cartesian&quot;),h=l._has(&quot;gl3d&quot;),d=l._has(&quot;geo&quot;),p=l._has(&quot;pie&quot;),m=l._has(&quot;gl2d&quot;),g=l._has(&quot;ternary&quot;),v=l._has(&quot;mapbox&quot;),y=l._has(&quot;polar&quot;),x=[];if(n([&quot;toImage&quot;,&quot;sendDataToCloud&quot;]),(f||m||p||g)+d+h&gt;1)return n([&quot;resetViews&quot;,&quot;toggleHover&quot;]),i(x,r);h&amp;&amp;(n([&quot;zoom3d&quot;,&quot;pan3d&quot;,&quot;orbitRotation&quot;,&quot;tableRotation&quot;]),n([&quot;resetCameraDefault3d&quot;,&quot;resetCameraLastSave3d&quot;]),n([&quot;hoverClosest3d&quot;]));var b=function(t){for(var e=a.list({_fullLayout:t},null,!0),r=0;r&lt;e.length;r++)if(!e[r].fixedrange)return!1;return!0}(l),_=[];return((f||m)&amp;&amp;!b||g)&amp;&amp;(_=[&quot;zoom2d&quot;,&quot;pan2d&quot;]),(v||d)&amp;&amp;(_=[&quot;pan2d&quot;]),y&amp;&amp;(_=[&quot;zoom2d&quot;]),function(t){for(var e=!1,r=0;r&lt;t.length&amp;&amp;!e;r++){var n=t[r];n._module&amp;&amp;n._module.selectPoints&amp;&amp;(s.traceIs(n,&quot;scatter-like&quot;)?(o.hasMarkers(n)||o.hasText(n))&amp;&amp;(e=!0):s.traceIs(n,&quot;box-violin&quot;)?&quot;all&quot;!==n.boxpoints&amp;&amp;&quot;all&quot;!==n.points||(e=!0):e=!0)}return e}(u)&amp;&amp;(_.push(&quot;select2d&quot;),_.push(&quot;lasso2d&quot;)),_.length&amp;&amp;n(_),!f&amp;&amp;!m||b||g||n([&quot;zoomIn2d&quot;,&quot;zoomOut2d&quot;,&quot;autoScale2d&quot;,&quot;resetScale2d&quot;]),f&amp;&amp;p?n([&quot;toggleHover&quot;]):m?n([&quot;hoverClosestGl2d&quot;]):f?n([&quot;toggleSpikelines&quot;,&quot;hoverClosestCartesian&quot;,&quot;hoverCompareCartesian&quot;]):p?n([&quot;hoverClosestPie&quot;]):v?n([&quot;resetViewMapbox&quot;,&quot;toggleHover&quot;]):d&amp;&amp;(n([&quot;zoomInGeo&quot;,&quot;zoomOutGeo&quot;,&quot;resetGeo&quot;]),n([&quot;hoverClosestGeo&quot;])),i(x,r)}function i(t,e){if(e.length)if(Array.isArray(e[0]))for(var r=0;r&lt;e.length;r++)t.push(e[r]);else t.push(e);return t}var a=t(&quot;../../plots/cartesian/axis_ids&quot;),o=t(&quot;../../traces/scatter/subtypes&quot;),s=t(&quot;../../registry&quot;),l=t(&quot;./modebar&quot;),c=t(&quot;./buttons&quot;);e.exports=function(t){var e=t._fullLayout,r=t._context,i=e._modeBar;if(r.displayModeBar){if(!Array.isArray(r.modeBarButtonsToRemove))throw new Error([&quot;*modeBarButtonsToRemove* configuration options&quot;,&quot;must be an array.&quot;].join(&quot; &quot;));if(!Array.isArray(r.modeBarButtonsToAdd))throw new Error([&quot;*modeBarButtonsToAdd* configuration options&quot;,&quot;must be an array.&quot;].join(&quot; &quot;));var a,o=r.modeBarButtons;a=Array.isArray(o)&amp;&amp;o.length?function(t){for(var e=0;e&lt;t.length;e++)for(var r=t[e],n=0;n&lt;r.length;n++){var i=r[n];if(&quot;string&quot;==typeof i){if(void 0===c[i])throw new Error([&quot;*modeBarButtons* configuration options&quot;,&quot;invalid button name&quot;].join(&quot; &quot;));t[e][n]=c[i]}}return t}(o):n(t,r.modeBarButtonsToRemove,r.modeBarButtonsToAdd),i?i.update(t,a):e._modeBar=l(t,a)}else i&amp;&amp;(i.destroy(),delete e._modeBar)}},{&quot;../../plots/cartesian/axis_ids&quot;:792,&quot;../../registry&quot;:873,&quot;../../traces/scatter/subtypes&quot;:1088,&quot;./buttons&quot;:679,&quot;./modebar&quot;:682}],682:[function(t,e,r){&quot;use strict&quot;;function n(t){this.container=t.container,this.element=document.createElement(&quot;div&quot;),this.update(t.graphInfo,t.buttons),this.container.appendChild(this.element)}var i=t(&quot;d3&quot;),a=t(&quot;../../lib&quot;),o=t(&quot;../../../build/ploticon&quot;),s=n.prototype;s.update=function(t,e){this.graphInfo=t;var r=this.graphInfo._context;&quot;hover&quot;===r.displayModeBar?this.element.className=&quot;modebar modebar--hover&quot;:this.element.className=&quot;modebar&quot;;var n=!this.hasButtons(e),i=this.hasLogo!==r.displaylogo;(n||i)&amp;&amp;(this.removeAllButtons(),this.updateButtons(e),r.displaylogo&amp;&amp;(this.element.appendChild(this.getLogo()),this.hasLogo=!0)),this.updateActiveButton()},s.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(&quot;must provide button 'name' in button config&quot;);if(-1!==e.buttonsNames.indexOf(n))throw new Error(&quot;button name '&quot;+n+&quot;' is taken&quot;);e.buttonsNames.push(n);var i=e.createButton(t);e.buttonElements.push(i),r.appendChild(i)}),e.element.appendChild(r)})},s.createGroup=function(){var t=document.createElement(&quot;div&quot;);return t.className=&quot;modebar-group&quot;,t},s.createButton=function(t){var e=this,r=document.createElement(&quot;a&quot;);r.setAttribute(&quot;rel&quot;,&quot;tooltip&quot;),r.className=&quot;modebar-btn&quot;;var n=t.title;void 0===n?n=t.name:&quot;function&quot;==typeof n&amp;&amp;(n=n(this.graphInfo)),(n||0===n)&amp;&amp;r.setAttribute(&quot;data-title&quot;,n),void 0!==t.attr&amp;&amp;r.setAttribute(&quot;data-attr&quot;,t.attr);var a=t.val;void 0!==a&amp;&amp;(&quot;function&quot;==typeof a&amp;&amp;(a=a(this.graphInfo)),r.setAttribute(&quot;data-val&quot;,a));if(&quot;function&quot;!=typeof t.click)throw new Error(&quot;must provide button 'click' function in button config&quot;);return r.addEventListener(&quot;click&quot;,function(r){t.click(e.graphInfo,r),e.updateActiveButton(r.currentTarget)}),r.setAttribute(&quot;data-toggle&quot;,t.toggle||!1),t.toggle&amp;&amp;i.select(r).classed(&quot;active&quot;,!0),r.appendChild(this.createIcon(t.icon||o.question,t.name)),r.setAttribute(&quot;data-gravity&quot;,t.gravity||&quot;n&quot;),r},s.createIcon=function(t,e){var r=t.ascent-t.descent,n=&quot;http://www.w3.org/2000/svg&quot;,i=document.createElementNS(n,&quot;svg&quot;),a=document.createElementNS(n,&quot;path&quot;);i.setAttribute(&quot;height&quot;,&quot;1em&quot;),i.setAttribute(&quot;width&quot;,t.width/r+&quot;em&quot;),i.setAttribute(&quot;viewBox&quot;,[0,0,t.width,r].join(&quot; &quot;));var o=&quot;toggleSpikelines&quot;===e?&quot;matrix(1.5 0 0 -1.5 0 &quot;+t.ascent+&quot;)&quot;:&quot;matrix(1 0 0 -1 0 &quot;+t.ascent+&quot;)&quot;;return a.setAttribute(&quot;d&quot;,t.path),a.setAttribute(&quot;transform&quot;,o),i.appendChild(a),i},s.updateActiveButton=function(t){var e=this.graphInfo._fullLayout,r=void 0!==t?t.getAttribute(&quot;data-attr&quot;):null;this.buttonElements.forEach(function(t){var n=t.getAttribute(&quot;data-val&quot;)||!0,o=t.getAttribute(&quot;data-attr&quot;),s=&quot;true&quot;===t.getAttribute(&quot;data-toggle&quot;),l=i.select(t);if(s)o===r&amp;&amp;l.classed(&quot;active&quot;,!l.classed(&quot;active&quot;));else{var c=null===o?o:a.nestedProperty(e,o).get();l.classed(&quot;active&quot;,c===n)}})},s.hasButtons=function(t){var e=this.buttons;if(!e)return!1;if(t.length!==e.length)return!1;for(var r=0;r&lt;t.length;++r){if(t[r].length!==e[r].length)return!1;for(var n=0;n&lt;t[r].length;n++)if(t[r][n].name!==e[r][n].name)return!1}return!0},s.getLogo=function(){var t=this.createGroup(),e=document.createElement(&quot;a&quot;);return e.href=&quot;https://plot.ly/&quot;,e.target=&quot;_blank&quot;,e.setAttribute(&quot;data-title&quot;,a._(this.graphInfo,&quot;Produced with Plotly&quot;)),e.className=&quot;modebar-btn plotlyjsicon modebar-btn--logo&quot;,e.appendChild(this.createIcon(o.plotlylogo)),t.appendChild(e),t},s.removeAllButtons=function(){for(;this.element.firstChild;)this.element.removeChild(this.element.firstChild);this.hasLogo=!1},s.destroy=function(){a.removeElement(this.container.querySelector(&quot;.modebar&quot;))},e.exports=function(t,e){var r=t._fullLayout,a=new n({graphInfo:t,container:r._paperdiv.node(),buttons:e});return r._privateplot&amp;&amp;i.select(a.element).append(&quot;span&quot;).classed(&quot;badge-private float--left&quot;,!0).text(&quot;PRIVATE&quot;),a}},{&quot;../../../build/ploticon&quot;:2,&quot;../../lib&quot;:743,d3:128}],683:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../plots/font_attributes&quot;),i=t(&quot;../color/attributes&quot;),a=t(&quot;../../lib/extend&quot;).extendFlat,o=t(&quot;./button_attributes&quot;);o=a(o,{_isLinkedToArray:&quot;button&quot;}),e.exports={visible:{valType:&quot;boolean&quot;,editType:&quot;plot&quot;},buttons:o,x:{valType:&quot;number&quot;,min:-2,max:3,editType:&quot;plot&quot;},xanchor:{valType:&quot;enumerated&quot;,values:[&quot;auto&quot;,&quot;left&quot;,&quot;center&quot;,&quot;right&quot;],dflt:&quot;left&quot;,editType:&quot;plot&quot;},y:{valType:&quot;number&quot;,min:-2,max:3,editType:&quot;plot&quot;},yanchor:{valType:&quot;enumerated&quot;,values:[&quot;auto&quot;,&quot;top&quot;,&quot;middle&quot;,&quot;bottom&quot;],dflt:&quot;bottom&quot;,editType:&quot;plot&quot;},font:n({editType:&quot;plot&quot;}),bgcolor:{valType:&quot;color&quot;,dflt:i.lightLine,editType:&quot;plot&quot;},activecolor:{valType:&quot;color&quot;,editType:&quot;plot&quot;},bordercolor:{valType:&quot;color&quot;,dflt:i.defaultLine,editType:&quot;plot&quot;},borderwidth:{valType:&quot;number&quot;,min:0,dflt:0,editType:&quot;plot&quot;},editType:&quot;plot&quot;}},{&quot;../../lib/extend&quot;:732,&quot;../../plots/font_attributes&quot;:816,&quot;../color/attributes&quot;:617,&quot;./button_attributes&quot;:684}],684:[function(t,e,r){&quot;use strict&quot;;e.exports={step:{valType:&quot;enumerated&quot;,values:[&quot;month&quot;,&quot;year&quot;,&quot;day&quot;,&quot;hour&quot;,&quot;minute&quot;,&quot;second&quot;,&quot;all&quot;],dflt:&quot;month&quot;,editType:&quot;plot&quot;},stepmode:{valType:&quot;enumerated&quot;,values:[&quot;backward&quot;,&quot;todate&quot;],dflt:&quot;backward&quot;,editType:&quot;plot&quot;},count:{valType:&quot;number&quot;,min:0,dflt:1,editType:&quot;plot&quot;},label:{valType:&quot;string&quot;,editType:&quot;plot&quot;},editType:&quot;plot&quot;}},{}],685:[function(t,e,r){&quot;use strict&quot;;e.exports={yPad:.02,minButtonWidth:30,rx:3,ry:3,lightAmount:25,darkAmount:10}},{}],686:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib&quot;),i=t(&quot;../color&quot;),a=t(&quot;./attributes&quot;),o=t(&quot;./button_attributes&quot;),s=t(&quot;./constants&quot;);e.exports=function(t,e,r,l,c){function u(t,e){return n.coerce(f,h,a,t,e)}var f=t.rangeselector||{},h=e.rangeselector={};if(u(&quot;visible&quot;,function(t,e,r){function i(t,e){return n.coerce(a,s,o,t,e)}for(var a,s,l=t.buttons||[],c=e.buttons=[],u=0;u&lt;l.length;u++)if(a=l[u],s={},n.isPlainObject(a)){var f=i(&quot;step&quot;);&quot;all&quot;!==f&amp;&amp;(!r||&quot;gregorian&quot;===r||&quot;month&quot;!==f&amp;&amp;&quot;year&quot;!==f?i(&quot;stepmode&quot;):s.stepmode=&quot;backward&quot;,i(&quot;count&quot;)),i(&quot;label&quot;),s._index=u,c.push(s)}return c}(f,h,c).length&gt;0)){var d=function(t,e,r){for(var n=r.filter(function(r){return e[r].anchor===t._id}),i=0,a=0;a&lt;n.length;a++){var o=e[n[a]].domain;o&amp;&amp;(i=Math.max(o[1],i))}return[t.domain[0],i+s.yPad]}(e,r,l);u(&quot;x&quot;,d[0]),u(&quot;y&quot;,d[1]),n.noneOrAll(t,e,[&quot;x&quot;,&quot;y&quot;]),u(&quot;xanchor&quot;),u(&quot;yanchor&quot;),n.coerceFont(u,&quot;font&quot;,r.font);var p=u(&quot;bgcolor&quot;);u(&quot;activecolor&quot;,i.contrast(p,s.lightAmount,s.darkAmount)),u(&quot;bordercolor&quot;),u(&quot;borderwidth&quot;)}}},{&quot;../../lib&quot;:743,&quot;../color&quot;:618,&quot;./attributes&quot;:683,&quot;./button_attributes&quot;:684,&quot;./constants&quot;:685}],687:[function(t,e,r){&quot;use strict&quot;;function n(t){return t._id}function i(t,e,r){var n=t.selectAll(&quot;rect&quot;).data([0]);n.enter().append(&quot;rect&quot;).classed(&quot;selector-rect&quot;,!0),n.attr(&quot;shape-rendering&quot;,&quot;crispEdges&quot;),n.attr({rx:m.rx,ry:m.ry}),n.call(c.stroke,e.bordercolor).call(c.fill,function(t,e){return e.isActive||e.isHovered?t.activecolor:t.bgcolor}(e,r)).style(&quot;stroke-width&quot;,e.borderwidth+&quot;px&quot;)}function a(t,e,r,n){var i=t.selectAll(&quot;text&quot;).data([0]);i.enter().append(&quot;text&quot;).classed(&quot;selector-text&quot;,!0).classed(&quot;user-select-none&quot;,!0),i.attr(&quot;text-anchor&quot;,&quot;middle&quot;),i.call(u.font,e.font).text(function(t){return t.label?t.label:&quot;all&quot;===t.step?&quot;all&quot;:t.count+t.step.charAt(0)}(r)).call(function(t){f.convertToTspans(t,n)})}var o=t(&quot;d3&quot;),s=t(&quot;../../plotly&quot;),l=t(&quot;../../plots/plots&quot;),c=t(&quot;../color&quot;),u=t(&quot;../drawing&quot;),f=t(&quot;../../lib/svg_text_utils&quot;),h=t(&quot;../../plots/cartesian/axis_ids&quot;),d=t(&quot;../legend/anchor_utils&quot;),p=t(&quot;../../constants/alignment&quot;).LINE_SPACING,m=t(&quot;./constants&quot;),g=t(&quot;./get_update_object&quot;);e.exports=function(t){var e=t._fullLayout._infolayer.selectAll(&quot;.rangeselector&quot;).data(function(t){for(var e=h.list(t,&quot;x&quot;,!0),r=[],n=0;n&lt;e.length;n++){var i=e[n];i.rangeselector&amp;&amp;i.rangeselector.visible&amp;&amp;r.push(i)}return r}(t),n);e.enter().append(&quot;g&quot;).classed(&quot;rangeselector&quot;,!0),e.exit().remove(),e.style({cursor:&quot;pointer&quot;,&quot;pointer-events&quot;:&quot;all&quot;}),e.each(function(e){var r=o.select(this),n=e,c=n.rangeselector,h=r.selectAll(&quot;g.button&quot;).data(c.buttons);h.enter().append(&quot;g&quot;).classed(&quot;button&quot;,!0),h.exit().remove(),h.each(function(e){var r=o.select(this),l=g(n,e);e.isActive=function(t,e,r){if(&quot;all&quot;===e.step)return!0===t.autorange;var n=Object.keys(r);return t.range[0]===r[n[0]]&amp;&amp;t.range[1]===r[n[1]]}(n,e,l),r.call(i,c,e),r.call(a,c,e,t),r.on(&quot;click&quot;,function(){t._dragged||s.relayout(t,l)}),r.on(&quot;mouseover&quot;,function(){e.isHovered=!0,r.call(i,c,e)}),r.on(&quot;mouseout&quot;,function(){e.isHovered=!1,r.call(i,c,e)})}),function(t,e,r,n){r.width=0,r.height=0;var i=r.borderwidth;e.each(function(){var t=o.select(this).select(&quot;.selector-text&quot;),e=r.font.size*p,n=Math.max(e*f.lineCount(t),16)+3;r.height=Math.max(r.height,n)}),e.each(function(){var t=o.select(this),e=t.select(&quot;.selector-rect&quot;),n=t.select(&quot;.selector-text&quot;),a=n.node()&amp;&amp;u.bBox(n.node()).width,s=r.font.size*p,l=f.lineCount(n),c=Math.max(a+10,m.minButtonWidth);t.attr(&quot;transform&quot;,&quot;translate(&quot;+(i+r.width)+&quot;,&quot;+i+&quot;)&quot;),e.attr({x:0,y:0,width:c,height:r.height}),f.positionText(n,c/2,r.height/2-(l-1)*s/2+3),r.width+=c+5}),e.selectAll(&quot;rect&quot;).attr(&quot;height&quot;,r.height);var a=t._fullLayout._size;r.lx=a.l+a.w*r.x,r.ly=a.t+a.h*(1-r.y);var s=&quot;left&quot;;d.isRightAnchor(r)&amp;&amp;(r.lx-=r.width,s=&quot;right&quot;),d.isCenterAnchor(r)&amp;&amp;(r.lx-=r.width/2,s=&quot;center&quot;);var c=&quot;top&quot;;d.isBottomAnchor(r)&amp;&amp;(r.ly-=r.height,c=&quot;bottom&quot;),d.isMiddleAnchor(r)&amp;&amp;(r.ly-=r.height/2,c=&quot;middle&quot;),r.width=Math.ceil(r.width),r.height=Math.ceil(r.height),r.lx=Math.round(r.lx),r.ly=Math.round(r.ly),l.autoMargin(t,n+&quot;-range-selector&quot;,{x:r.x,y:r.y,l:r.width*({right:1,center:.5}[s]||0),r:r.width*({left:1,center:.5}[s]||0),b:r.height*({top:1,middle:.5}[c]||0),t:r.height*({bottom:1,middle:.5}[c]||0)})}(t,h,c,n._name),r.attr(&quot;transform&quot;,&quot;translate(&quot;+c.lx+&quot;,&quot;+c.ly+&quot;)&quot;)})}},{&quot;../../constants/alignment&quot;:716,&quot;../../lib/svg_text_utils&quot;:766,&quot;../../plotly&quot;:784,&quot;../../plots/cartesian/axis_ids&quot;:792,&quot;../../plots/plots&quot;:852,&quot;../color&quot;:618,&quot;../drawing&quot;:643,&quot;../legend/anchor_utils&quot;:669,&quot;./constants&quot;:685,&quot;./get_update_object&quot;:688,d3:128}],688:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;d3&quot;);e.exports=function(t,e){var r=t._name,i={};if(&quot;all&quot;===e.step)i[r+&quot;.autorange&quot;]=!0;else{var a=function(t,e){var r,i=t.range,a=new Date(t.r2l(i[1])),o=e.step,s=e.count;switch(e.stepmode){case&quot;backward&quot;:r=t.l2r(+n.time[o].utc.offset(a,-s));break;case&quot;todate&quot;:var l=n.time[o].utc.offset(a,-s);r=t.l2r(+n.time[o].utc.ceil(l))}return[r,i[1]]}(t,e);i[r+&quot;.range[0]&quot;]=a[0],i[r+&quot;.range[1]&quot;]=a[1]}return i}},{d3:128}],689:[function(t,e,r){&quot;use strict&quot;;e.exports={moduleType:&quot;component&quot;,name:&quot;rangeselector&quot;,schema:{subplots:{xaxis:{rangeselector:t(&quot;./attributes&quot;)}}},layoutAttributes:t(&quot;./attributes&quot;),handleDefaults:t(&quot;./defaults&quot;),draw:t(&quot;./draw&quot;)}},{&quot;./attributes&quot;:683,&quot;./defaults&quot;:686,&quot;./draw&quot;:687}],690:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../color/attributes&quot;);e.exports={bgcolor:{valType:&quot;color&quot;,dflt:n.background,editType:&quot;calc&quot;},bordercolor:{valType:&quot;color&quot;,dflt:n.defaultLine,editType:&quot;calc&quot;},borderwidth:{valType:&quot;integer&quot;,dflt:0,min:0,editType:&quot;calc&quot;},autorange:{valType:&quot;boolean&quot;,dflt:!0,editType:&quot;calc&quot;},range:{valType:&quot;info_array&quot;,items:[{valType:&quot;any&quot;,editType:&quot;calc&quot;},{valType:&quot;any&quot;,editType:&quot;calc&quot;}],editType:&quot;calc&quot;},thickness:{valType:&quot;number&quot;,dflt:.15,min:0,max:1,editType:&quot;calc&quot;},visible:{valType:&quot;boolean&quot;,dflt:!0,editType:&quot;calc&quot;},editType:&quot;calc&quot;}},{&quot;../color/attributes&quot;:617}],691:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../plots/cartesian/axes&quot;),i=t(&quot;./constants&quot;);e.exports=function(t){for(var e=n.list(t,&quot;x&quot;,!0),r=0;r&lt;e.length;r++){var a=e[r],o=a[i.name];o&amp;&amp;o.visible&amp;&amp;o.autorange&amp;&amp;a._min.length&amp;&amp;a._max.length&amp;&amp;(o._input.autorange=!0,o._input.range=o.range=n.getAutoRange(a))}}},{&quot;../../plots/cartesian/axes&quot;:789,&quot;./constants&quot;:692}],692:[function(t,e,r){&quot;use strict&quot;;e.exports={name:&quot;rangeslider&quot;,containerClassName:&quot;rangeslider-container&quot;,bgClassName:&quot;rangeslider-bg&quot;,rangePlotClassName:&quot;rangeslider-rangeplot&quot;,maskMinClassName:&quot;rangeslider-mask-min&quot;,maskMaxClassName:&quot;rangeslider-mask-max&quot;,slideBoxClassName:&quot;rangeslider-slidebox&quot;,grabberMinClassName:&quot;rangeslider-grabber-min&quot;,grabAreaMinClassName:&quot;rangeslider-grabarea-min&quot;,handleMinClassName:&quot;rangeslider-handle-min&quot;,grabberMaxClassName:&quot;rangeslider-grabber-max&quot;,grabAreaMaxClassName:&quot;rangeslider-grabarea-max&quot;,handleMaxClassName:&quot;rangeslider-handle-max&quot;,maskColor:&quot;rgba(0,0,0,0.4)&quot;,slideBoxFill:&quot;transparent&quot;,slideBoxCursor:&quot;ew-resize&quot;,grabAreaFill:&quot;transparent&quot;,grabAreaCursor:&quot;col-resize&quot;,grabAreaWidth:10,handleWidth:4,handleRadius:1,handleStrokeWidth:1,extraPad:15}},{}],693:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib&quot;),i=t(&quot;./attributes&quot;);e.exports=function(t,e,r){function a(t,e){return n.coerce(o,l,i,t,e)}if(t[r].rangeslider){n.isPlainObject(t[r].rangeslider)||(t[r].rangeslider={});var o=t[r].rangeslider,s=e[r],l=s.rangeslider={};if(a(&quot;visible&quot;)){if(a(&quot;bgcolor&quot;,e.plot_bgcolor),a(&quot;bordercolor&quot;),a(&quot;borderwidth&quot;),a(&quot;thickness&quot;),a(&quot;autorange&quot;,!s.isValidRange(o.range)),a(&quot;range&quot;),l.range){var c=l.range,u=s.range;c[0]=s.l2r(Math.min(s.r2l(c[0]),s.r2l(u[0]))),c[1]=s.l2r(Math.max(s.r2l(c[1]),s.r2l(u[1])))}s.cleanRange(&quot;rangeslider.range&quot;),l._input=o}}}},{&quot;../../lib&quot;:743,&quot;./attributes&quot;:690}],694:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,n){var i=t.select(&quot;rect.&quot;+b.slideBoxClassName).node(),a=t.select(&quot;rect.&quot;+b.grabAreaMinClassName).node(),o=t.select(&quot;rect.&quot;+b.grabAreaMaxClassName).node();t.on(&quot;mousedown&quot;,function(){function s(t){var s,l,c,y=+t.clientX-p;switch(h){case i:c=&quot;ew-resize&quot;,s=g+y,l=v+y;break;case a:c=&quot;col-resize&quot;,s=g+y,l=v;break;case o:c=&quot;col-resize&quot;,s=g,l=v+y;break;default:c=&quot;ew-resize&quot;,s=m,l=m+y}if(l&lt;s){var _=l;l=s,s=_}n._pixelMin=s,n._pixelMax=l,x(u.select(b),c),function(t,e,r,n){function i(t){return r.l2r(d.constrain(t,n._rl[0],n._rl[1]))}var a=i(n.p2d(n._pixelMin)),o=i(n.p2d(n._pixelMax));window.requestAnimationFrame(function(){f.relayout(e,r._name+&quot;.range&quot;,[a,o])})}(0,e,r,n)}function l(){b.removeEventListener(&quot;mousemove&quot;,s),b.removeEventListener(&quot;mouseup&quot;,l),d.removeElement(b)}var c=u.event,h=c.target,p=c.clientX,m=p-t.node().getBoundingClientRect().left,g=n.d2p(r._rl[0]),v=n.d2p(r._rl[1]),b=y.coverSlip();b.addEventListener(&quot;mousemove&quot;,s),b.addEventListener(&quot;mouseup&quot;,l)})}function i(t,e,r,n){var i=t.selectAll(&quot;rect.&quot;+b.bgClassName).data([0]);i.enter().append(&quot;rect&quot;).classed(b.bgClassName,!0).attr({x:0,y:0,&quot;shape-rendering&quot;:&quot;crispEdges&quot;});var a=n.borderwidth%2==0?n.borderwidth:n.borderwidth-1,o=-n._offsetShift,s=p.crispRound(e,n.borderwidth);i.attr({width:n._width+a,height:n._height+a,transform:&quot;translate(&quot;+o+&quot;,&quot;+o+&quot;)&quot;,fill:n.bgcolor,stroke:n.bordercolor,&quot;stroke-width&quot;:s})}function a(t,e,r,n){var i=e._fullLayout._topdefs.selectAll(&quot;#&quot;+n._clipId).data([0]);i.enter().append(&quot;clipPath&quot;).attr(&quot;id&quot;,n._clipId).append(&quot;rect&quot;).attr({x:0,y:0}),i.select(&quot;rect&quot;).attr({width:n._width,height:n._height})}function o(t,e,r,n){var i=v.getSubplots(e,r),a=e.calcdata,o=t.selectAll(&quot;g.&quot;+b.rangePlotClassName).data(i,d.identity);o.enter().append(&quot;g&quot;).attr(&quot;class&quot;,function(t){return b.rangePlotClassName+&quot; &quot;+t}).call(p.setClipUrl,n._clipId),o.order(),o.exit().remove();var s;o.each(function(t,i){var o=u.select(this),l=0===i,c=v.getFromId(e,t,&quot;y&quot;),f=c._name,d={data:[],layout:{xaxis:{type:r.type,domain:[0,1],range:n.range.slice(),calendar:r.calendar},width:n._width,height:n._height,margin:{t:0,b:0,l:0,r:0}},_context:e._context};d.layout[f]={type:c.type,domain:[0,1],range:c.range.slice(),calendar:c.calendar},h.supplyDefaults(d);var p={id:t,plotgroup:o,xaxis:d._fullLayout.xaxis,yaxis:d._fullLayout[f]};l?s=p:(p.mainplot=&quot;xy&quot;,p.mainplotinfo=s),g.rangePlot(e,p,function(t,e){for(var r=[],n=0;n&lt;t.length;n++){var i=t[n],a=i[0].trace;a.xaxis+a.yaxis===e&amp;&amp;r.push(i)}return r}(a,t))})}function s(t,e,r,n){var i=t.selectAll(&quot;rect.&quot;+b.maskMinClassName).data([0]);i.enter().append(&quot;rect&quot;).classed(b.maskMinClassName,!0).attr({x:0,y:0}).attr(&quot;shape-rendering&quot;,&quot;crispEdges&quot;),i.attr(&quot;height&quot;,n._height).call(m.fill,b.maskColor);var a=t.selectAll(&quot;rect.&quot;+b.maskMaxClassName).data([0]);a.enter().append(&quot;rect&quot;).classed(b.maskMaxClassName,!0).attr(&quot;y&quot;,0).attr(&quot;shape-rendering&quot;,&quot;crispEdges&quot;),a.attr(&quot;height&quot;,n._height).call(m.fill,b.maskColor)}function l(t,e,r,n){if(!e._context.staticPlot){var i=t.selectAll(&quot;rect.&quot;+b.slideBoxClassName).data([0]);i.enter().append(&quot;rect&quot;).classed(b.slideBoxClassName,!0).attr(&quot;y&quot;,0).attr(&quot;cursor&quot;,b.slideBoxCursor).attr(&quot;shape-rendering&quot;,&quot;crispEdges&quot;),i.attr({height:n._height,fill:b.slideBoxFill})}}function c(t,e,r,n){var i=t.selectAll(&quot;g.&quot;+b.grabberMinClassName).data([0]);i.enter().append(&quot;g&quot;).classed(b.grabberMinClassName,!0);var a=t.selectAll(&quot;g.&quot;+b.grabberMaxClassName).data([0]);a.enter().append(&quot;g&quot;).classed(b.grabberMaxClassName,!0);var o={x:0,width:b.handleWidth,rx:b.handleRadius,fill:m.background,stroke:m.defaultLine,&quot;stroke-width&quot;:b.handleStrokeWidth,&quot;shape-rendering&quot;:&quot;crispEdges&quot;},s={y:Math.round(n._height/4),height:Math.round(n._height/2)},l=i.selectAll(&quot;rect.&quot;+b.handleMinClassName).data([0]);l.enter().append(&quot;rect&quot;).classed(b.handleMinClassName,!0).attr(o),l.attr(s);var c=a.selectAll(&quot;rect.&quot;+b.handleMaxClassName).data([0]);if(c.enter().append(&quot;rect&quot;).classed(b.handleMaxClassName,!0).attr(o),c.attr(s),!e._context.staticPlot){var u={width:b.grabAreaWidth,x:0,y:0,fill:b.grabAreaFill,cursor:b.grabAreaCursor},f=i.selectAll(&quot;rect.&quot;+b.grabAreaMinClassName).data([0]);f.enter().append(&quot;rect&quot;).classed(b.grabAreaMinClassName,!0).attr(u),f.attr(&quot;height&quot;,n._height);var h=a.selectAll(&quot;rect.&quot;+b.grabAreaMaxClassName).data([0]);h.enter().append(&quot;rect&quot;).classed(b.grabAreaMaxClassName,!0).attr(u),h.attr(&quot;height&quot;,n._height)}}var u=t(&quot;d3&quot;),f=t(&quot;../../plotly&quot;),h=t(&quot;../../plots/plots&quot;),d=t(&quot;../../lib&quot;),p=t(&quot;../drawing&quot;),m=t(&quot;../color&quot;),g=t(&quot;../../plots/cartesian&quot;),v=t(&quot;../../plots/cartesian/axes&quot;),y=t(&quot;../dragelement&quot;),x=t(&quot;../../lib/setcursor&quot;),b=t(&quot;./constants&quot;);e.exports=function(t){var e=t._fullLayout,r=function(t){var e=v.list({_fullLayout:t},&quot;x&quot;,!0),r=b.name,n=[];if(t._has(&quot;gl2d&quot;))return n;for(var i=0;i&lt;e.length;i++){var a=e[i];a[r]&amp;&amp;a[r].visible&amp;&amp;n.push(a)}return n}(e),f=e._infolayer.selectAll(&quot;g.&quot;+b.containerClassName).data(r,function(t){return t._name});f.enter().append(&quot;g&quot;).classed(b.containerClassName,!0).attr(&quot;pointer-events&quot;,&quot;all&quot;),f.exit().each(function(t){var r=u.select(this),n=t[b.name];r.remove(),e._topdefs.select(&quot;#&quot;+n._clipId).remove()}),f.exit().size()&amp;&amp;function(t){for(var e=t._fullLayout._pushmargin||{},r=Object.keys(e),n=0;n&lt;r.length;n++){var i=r[n];-1!==i.indexOf(b.name)&amp;&amp;h.autoMargin(t,i)}}(t),0!==r.length&amp;&amp;f.each(function(r){var f=u.select(this),p=r[b.name],m=e[v.id2name(r.anchor)],g=e.margin,y=e._size,x=r.domain,_=m.domain,w=(r._boundingBox||{}).height||0;p._id=b.name+r._id,p._clipId=p._id+&quot;-&quot;+e._uid,p._width=y.w*(x[1]-x[0]),p._height=(e.height-g.b-g.t)*p.thickness,p._offsetShift=Math.floor(p.borderwidth/2);var M=Math.round(g.l+y.w*x[0]),k=Math.round(g.t+y.h*(1-_[0])+w+p._offsetShift+b.extraPad);f.attr(&quot;transform&quot;,&quot;translate(&quot;+M+&quot;,&quot;+k+&quot;)&quot;);var A=r.r2l(p.range[0]),T=r.r2l(p.range[1]),S=T-A;p.p2d=function(t){return t/p._width*S+A},p.d2p=function(t){return(t-A)/S*p._width},p._rl=[A,T],f.call(i,t,r,p).call(a,t,r,p).call(o,t,r,p).call(s,t,r,p).call(l,t,r,p).call(c,t,r,p),n(f,t,r,p),function(t,e,r,n){function i(t){return d.constrain(t,0,n._width)}function a(t){return d.constrain(t,-o,n._width+o)}var o=b.handleWidth/2,s=i(n.d2p(r._rl[0])),l=i(n.d2p(r._rl[1]));t.select(&quot;rect.&quot;+b.slideBoxClassName).attr(&quot;x&quot;,s).attr(&quot;width&quot;,l-s),t.select(&quot;rect.&quot;+b.maskMinClassName).attr(&quot;width&quot;,s),t.select(&quot;rect.&quot;+b.maskMaxClassName).attr(&quot;x&quot;,l).attr(&quot;width&quot;,n._width-l);var c=Math.round(a(s-o))-.5,u=Math.round(a(l-o))+.5;t.select(&quot;g.&quot;+b.grabberMinClassName).attr(&quot;transform&quot;,&quot;translate(&quot;+c+&quot;,0.5)&quot;),t.select(&quot;g.&quot;+b.grabberMaxClassName).attr(&quot;transform&quot;,&quot;translate(&quot;+u+&quot;,0.5)&quot;)}(f,0,r,p),h.autoMargin(t,p._id,{x:x[0],y:_[0],l:0,r:0,t:0,b:p._height+g.b+w,pad:b.extraPad+2*p._offsetShift})})}},{&quot;../../lib&quot;:743,&quot;../../lib/setcursor&quot;:762,&quot;../../plotly&quot;:784,&quot;../../plots/cartesian&quot;:800,&quot;../../plots/cartesian/axes&quot;:789,&quot;../../plots/plots&quot;:852,&quot;../color&quot;:618,&quot;../dragelement&quot;:640,&quot;../drawing&quot;:643,&quot;./constants&quot;:692,d3:128}],695:[function(t,e,r){&quot;use strict&quot;;e.exports={moduleType:&quot;component&quot;,name:&quot;rangeslider&quot;,schema:{subplots:{xaxis:{rangeslider:t(&quot;./attributes&quot;)}}},layoutAttributes:t(&quot;./attributes&quot;),handleDefaults:t(&quot;./defaults&quot;),calcAutorange:t(&quot;./calc_autorange&quot;),draw:t(&quot;./draw&quot;)}},{&quot;./attributes&quot;:690,&quot;./calc_autorange&quot;:691,&quot;./defaults&quot;:693,&quot;./draw&quot;:694}],696:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../annotations/attributes&quot;),i=t(&quot;../../traces/scatter/attributes&quot;).line,a=t(&quot;../drawing/attributes&quot;).dash,o=t(&quot;../../lib/extend&quot;).extendFlat;e.exports={_isLinkedToArray:&quot;shape&quot;,visible:{valType:&quot;boolean&quot;,dflt:!0,editType:&quot;calcIfAutorange&quot;},type:{valType:&quot;enumerated&quot;,values:[&quot;circle&quot;,&quot;rect&quot;,&quot;path&quot;,&quot;line&quot;],editType:&quot;calcIfAutorange&quot;},layer:{valType:&quot;enumerated&quot;,values:[&quot;below&quot;,&quot;above&quot;],dflt:&quot;above&quot;,editType:&quot;arraydraw&quot;},xref:o({},n.xref,{}),x0:{valType:&quot;any&quot;,editType:&quot;calcIfAutorange&quot;},x1:{valType:&quot;any&quot;,editType:&quot;calcIfAutorange&quot;},yref:o({},n.yref,{}),y0:{valType:&quot;any&quot;,editType:&quot;calcIfAutorange&quot;},y1:{valType:&quot;any&quot;,editType:&quot;calcIfAutorange&quot;},path:{valType:&quot;string&quot;,editType:&quot;calcIfAutorange&quot;},opacity:{valType:&quot;number&quot;,min:0,max:1,dflt:1,editType:&quot;arraydraw&quot;},line:{color:o({},i.color,{editType:&quot;arraydraw&quot;}),width:o({},i.width,{editType:&quot;calcIfAutorange&quot;}),dash:o({},a,{editType:&quot;arraydraw&quot;}),editType:&quot;calcIfAutorange&quot;},fillcolor:{valType:&quot;color&quot;,dflt:&quot;rgba(0,0,0,0)&quot;,editType:&quot;arraydraw&quot;},editType:&quot;arraydraw&quot;}},{&quot;../../lib/extend&quot;:732,&quot;../../traces/scatter/attributes&quot;:1066,&quot;../annotations/attributes&quot;:601,&quot;../drawing/attributes&quot;:642}],697:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,n,i){var a=&quot;category&quot;===t.type?t.r2c:t.d2c;if(void 0!==e)return[a(e),a(r)];if(n){var l,c,u,f,h=1/0,d=-1/0,p=n.match(o.segmentRE);for(&quot;date&quot;===t.type&amp;&amp;(a=s.decodeDate(a)),l=0;l&lt;p.length;l++)void 0!==(c=i[p[l].charAt(0)].drawn)&amp;&amp;(!(u=p[l].substr(1).match(o.paramRE))||u.length&lt;c||((f=a(u[c]))&lt;h&amp;&amp;(h=f),f&gt;d&amp;&amp;(d=f)));return d&gt;=h?[h,d]:void 0}}var i=t(&quot;../../lib&quot;),a=t(&quot;../../plots/cartesian/axes&quot;),o=t(&quot;./constants&quot;),s=t(&quot;./helpers&quot;);e.exports=function(t){var e=t._fullLayout,r=i.filterVisible(e.shapes);if(r.length&amp;&amp;t._fullData.length)for(var s=0;s&lt;r.length;s++){var l,c,u=r[s],f=u.line.width/2;&quot;paper&quot;!==u.xref&amp;&amp;(c=n(l=a.getFromId(t,u.xref),u.x0,u.x1,u.path,o.paramIsX))&amp;&amp;a.expand(l,c,{ppad:f}),&quot;paper&quot;!==u.yref&amp;&amp;(c=n(l=a.getFromId(t,u.yref),u.y0,u.y1,u.path,o.paramIsY))&amp;&amp;a.expand(l,c,{ppad:f})}}},{&quot;../../lib&quot;:743,&quot;../../plots/cartesian/axes&quot;:789,&quot;./constants&quot;:698,&quot;./helpers&quot;:701}],698:[function(t,e,r){&quot;use strict&quot;;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}}},{}],699:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../plots/array_container_defaults&quot;),i=t(&quot;./shape_defaults&quot;);e.exports=function(t,e){n(t,e,{name:&quot;shapes&quot;,handleItemDefaults:i})}},{&quot;../../plots/array_container_defaults&quot;:786,&quot;./shape_defaults&quot;:703}],700:[function(t,e,r){&quot;use strict&quot;;function n(t,e){function r(r){var n={&quot;data-index&quot;:e,&quot;fill-rule&quot;:&quot;evenodd&quot;,d:i(t,s)},d=s.line.width?s.line.color:&quot;rgba(0,0,0,0)&quot;,m=r.append(&quot;path&quot;).attr(n).style(&quot;opacity&quot;,s.opacity).call(c.stroke,d).call(c.fill,s.fillcolor).call(u.dashLine,s.line.dash,s.line.width),g=(s.xref+s.yref).replace(/paper/g,&quot;&quot;);m.call(u.setClipUrl,g?&quot;clip&quot;+t._fullLayout._uid+g:null),t._context.edits.shapePosition&amp;&amp;function(t,e,r,n){function s(t){var r=G.right-G.left,n=G.bottom-G.top,i=t.clientX-G.left,a=t.clientY-G.top,o=r&gt;V&amp;&amp;n&gt;q&amp;&amp;!t.shiftKey?f.getCursor(i/r,1-a/n):&quot;move&quot;;h(e,o),U=o.split(&quot;-&quot;)[0]}var c,u,d,m,g,v,y,x,b,_,w,M,k,A,T,S,E,L,C,z,D,I,P,O,F,R,N,j,B,U,V=10,q=10,H={element:e.node(),gd:t,prepFn:function(o){O=l.getFromId(t,r.xref),F=l.getFromId(t,r.yref),R=p.getDataToPixel(t,O),N=p.getDataToPixel(t,F,!0),j=p.getPixelToData(t,O),B=p.getPixelToData(t,F,!0);var f=&quot;shapes[&quot;+n+&quot;]&quot;;&quot;path&quot;===r.type?(I=r.path,P=f+&quot;.path&quot;):(u=R(r.x0),d=N(r.y0),m=R(r.x1),g=N(r.y1),v=f+&quot;.x0&quot;,y=f+&quot;.y0&quot;,x=f+&quot;.x1&quot;,b=f+&quot;.y1&quot;);u&lt;m?(M=u,S=f+&quot;.x0&quot;,z=&quot;x0&quot;,k=m,E=f+&quot;.x1&quot;,D=&quot;x1&quot;):(M=m,S=f+&quot;.x1&quot;,z=&quot;x1&quot;,k=u,E=f+&quot;.x0&quot;,D=&quot;x0&quot;);d&lt;g?(_=d,A=f+&quot;.y0&quot;,L=&quot;y0&quot;,w=g,T=f+&quot;.y1&quot;,C=&quot;y1&quot;):(_=g,A=f+&quot;.y1&quot;,L=&quot;y1&quot;,w=d,T=f+&quot;.y0&quot;,C=&quot;y0&quot;);c={},s(o),H.moveFn=&quot;move&quot;===U?function(n,o){if(&quot;path&quot;===r.type){var s=function(t){return j(R(t)+n)};O&amp;&amp;&quot;date&quot;===O.type&amp;&amp;(s=p.encodeDate(s));var l=function(t){return B(N(t)+o)};F&amp;&amp;&quot;date&quot;===F.type&amp;&amp;(l=p.encodeDate(l)),r.path=a(I,s,l),c[P]=r.path}else c[v]=r.x0=j(u+n),c[y]=r.y0=B(d+o),c[x]=r.x1=j(m+n),c[b]=r.y1=B(g+o);e.attr(&quot;d&quot;,i(t,r))}:function(n,o){if(&quot;path&quot;===r.type){var s=function(t){return j(R(t)+n)};O&amp;&amp;&quot;date&quot;===O.type&amp;&amp;(s=p.encodeDate(s));var l=function(t){return B(N(t)+o)};F&amp;&amp;&quot;date&quot;===F.type&amp;&amp;(l=p.encodeDate(l)),r.path=a(I,s,l),c[P]=r.path}else{var u=~U.indexOf(&quot;n&quot;)?_+o:_,f=~U.indexOf(&quot;s&quot;)?w+o:w,h=~U.indexOf(&quot;w&quot;)?M+n:M,d=~U.indexOf(&quot;e&quot;)?k+n:k;f-u&gt;q&amp;&amp;(c[A]=r[L]=B(u),c[T]=r[C]=B(f)),d-h&gt;V&amp;&amp;(c[S]=r[z]=j(h),c[E]=r[D]=j(d))}e.attr(&quot;d&quot;,i(t,r))}},doneFn:function(){h(e),o.relayout(t,c)}},G=H.element.getBoundingClientRect();f.init(H),e.node().onmousemove=s}(t,m,s,e)}t._fullLayout._paperdiv.selectAll('.shapelayer [data-index=&quot;'+e+'&quot;]').remove();var n=(t.layout.shapes||[])[e],s=t._fullLayout.shapes[e];if(n&amp;&amp;!1!==s.visible)if(&quot;below&quot;!==s.layer)r(t._fullLayout._shapeUpperLayer);else if(&quot;paper&quot;===s.xref||&quot;paper&quot;===s.yref)r(t._fullLayout._shapeLowerLayer);else{var d=t._fullLayout._plots[s.xref+s.yref];if(d){r((d.mainplotinfo||d).shapelayer)}else r(t._fullLayout._shapeLowerLayer)}}function i(t,e){var r,n,i,a,o=e.type,c=l.getFromId(t,e.xref),u=l.getFromId(t,e.yref),f=t._fullLayout._size;if(c?(r=p.shapePositionToRange(c),n=function(t){return c._offset+c.r2p(r(t,!0))}):n=function(t){return f.l+f.w*t},u?(i=p.shapePositionToRange(u),a=function(t){return u._offset+u.r2p(i(t,!0))}):a=function(t){return f.t+f.h*(1-t)},&quot;path&quot;===o)return c&amp;&amp;&quot;date&quot;===c.type&amp;&amp;(n=p.decodeDate(n)),u&amp;&amp;&quot;date&quot;===u.type&amp;&amp;(a=p.decodeDate(a)),function(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],l=d.numParams[i],c=t.substr(1).replace(d.paramRE,function(t){return a[n]?t=e(t):o[n]&amp;&amp;(t=r(t)),++n&gt;l&amp;&amp;(t=&quot;X&quot;),t});return n&gt;l&amp;&amp;(c=c.replace(/[\s,]*X.*/,&quot;&quot;),s.log(&quot;Ignoring extra params in segment &quot;+t)),i+c})}(e.path,n,a);var h=n(e.x0),m=n(e.x1),g=a(e.y0),v=a(e.y1);if(&quot;line&quot;===o)return&quot;M&quot;+h+&quot;,&quot;+g+&quot;L&quot;+m+&quot;,&quot;+v;if(&quot;rect&quot;===o)return&quot;M&quot;+h+&quot;,&quot;+g+&quot;H&quot;+m+&quot;V&quot;+v+&quot;H&quot;+h+&quot;Z&quot;;var y=(h+m)/2,x=(g+v)/2,b=Math.abs(y-h),_=Math.abs(x-g),w=&quot;A&quot;+b+&quot;,&quot;+_,M=y+b+&quot;,&quot;+x;return&quot;M&quot;+M+w+&quot; 0 1,1 &quot;+(y+&quot;,&quot;+(x-_))+w+&quot; 0 0,1 &quot;+M+&quot;Z&quot;}function a(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&gt;=s?t:(a[n]?t=e(t):o[n]&amp;&amp;(t=r(t)),n++,t)})})}var o=t(&quot;../../plotly&quot;),s=t(&quot;../../lib&quot;),l=t(&quot;../../plots/cartesian/axes&quot;),c=t(&quot;../color&quot;),u=t(&quot;../drawing&quot;),f=t(&quot;../dragelement&quot;),h=t(&quot;../../lib/setcursor&quot;),d=t(&quot;./constants&quot;),p=t(&quot;./helpers&quot;);e.exports={draw:function(t){var e=t._fullLayout;e._shapeUpperLayer.selectAll(&quot;path&quot;).remove(),e._shapeLowerLayer.selectAll(&quot;path&quot;).remove(),e._shapeSubplotLayers.selectAll(&quot;path&quot;).remove();for(var r=0;r&lt;e.shapes.length;r++)e.shapes[r].visible&amp;&amp;n(t,r)},drawOne:n}},{&quot;../../lib&quot;:743,&quot;../../lib/setcursor&quot;:762,&quot;../../plotly&quot;:784,&quot;../../plots/cartesian/axes&quot;:789,&quot;../color&quot;:618,&quot;../dragelement&quot;:640,&quot;../drawing&quot;:643,&quot;./constants&quot;:698,&quot;./helpers&quot;:701}],701:[function(t,e,r){&quot;use strict&quot;;r.rangeToShapePosition=function(t){return&quot;log&quot;===t.type?t.r2d:function(t){return t}},r.shapePositionToRange=function(t){return&quot;log&quot;===t.type?t.d2r:function(t){return t}},r.decodeDate=function(t){return function(e){return e.replace&amp;&amp;(e=e.replace(&quot;_&quot;,&quot; &quot;)),t(e)}},r.encodeDate=function(t){return function(e){return t(e).replace(&quot; &quot;,&quot;_&quot;)}},r.getDataToPixel=function(t,e,n){var i,a=t._fullLayout._size;if(e){var o=r.shapePositionToRange(e);i=function(t){return e._offset+e.r2p(o(t,!0))},&quot;date&quot;===e.type&amp;&amp;(i=r.decodeDate(i))}else i=n?function(t){return a.t+a.h*(1-t)}:function(t){return a.l+a.w*t};return i},r.getPixelToData=function(t,e,n){var i,a=t._fullLayout._size;if(e){var o=r.rangeToShapePosition(e);i=function(t){return o(e.p2r(t-e._offset))}}else i=n?function(t){return 1-(t-a.t)/a.h}:function(t){return(t-a.l)/a.w};return i}},{}],702:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;./draw&quot;);e.exports={moduleType:&quot;component&quot;,name:&quot;shapes&quot;,layoutAttributes:t(&quot;./attributes&quot;),supplyLayoutDefaults:t(&quot;./defaults&quot;),includeBasePlot:t(&quot;../../plots/cartesian/include_components&quot;)(&quot;shapes&quot;),calcAutorange:t(&quot;./calc_autorange&quot;),draw:n.draw,drawOne:n.drawOne}},{&quot;../../plots/cartesian/include_components&quot;:799,&quot;./attributes&quot;:696,&quot;./calc_autorange&quot;:697,&quot;./defaults&quot;:699,&quot;./draw&quot;:700}],703:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib&quot;),i=t(&quot;../../plots/cartesian/axes&quot;),a=t(&quot;./attributes&quot;),o=t(&quot;./helpers&quot;);e.exports=function(t,e,r,s,l){function c(r,i){return n.coerce(t,e,a,r,i)}s=s||{};if(!c(&quot;visible&quot;,!(l=l||{}).itemIsNotPlainObject))return e;c(&quot;layer&quot;),c(&quot;opacity&quot;),c(&quot;fillcolor&quot;),c(&quot;line.color&quot;),c(&quot;line.width&quot;),c(&quot;line.dash&quot;);for(var u=c(&quot;type&quot;,t.path?&quot;path&quot;:&quot;rect&quot;),f=[&quot;x&quot;,&quot;y&quot;],h=0;h&lt;2;h++){var d=f[h],p={_fullLayout:r},m=i.coerceRef(t,e,p,d,&quot;&quot;,&quot;paper&quot;);if(&quot;path&quot;!==u){var g,v,y;&quot;paper&quot;!==m?(g=i.getFromId(p,m),y=o.rangeToShapePosition(g),v=o.shapePositionToRange(g)):v=y=n.identity;var x=d+&quot;0&quot;,b=d+&quot;1&quot;,_=t[x],w=t[b];t[x]=v(t[x],!0),t[b]=v(t[b],!0),i.coercePosition(e,p,c,m,x,.25),i.coercePosition(e,p,c,m,b,.75),e[x]=y(e[x]),e[b]=y(e[b]),t[x]=_,t[b]=w}}return&quot;path&quot;===u?c(&quot;path&quot;):n.noneOrAll(t,e,[&quot;x0&quot;,&quot;x1&quot;,&quot;y0&quot;,&quot;y1&quot;]),e}},{&quot;../../lib&quot;:743,&quot;../../plots/cartesian/axes&quot;:789,&quot;./attributes&quot;:696,&quot;./helpers&quot;:701}],704:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../plots/font_attributes&quot;),i=t(&quot;../../plots/pad_attributes&quot;),a=t(&quot;../../lib/extend&quot;).extendDeepAll,o=t(&quot;../../plot_api/edit_types&quot;).overrideAll,s=t(&quot;../../plots/animation_attributes&quot;),l=t(&quot;./constants&quot;);e.exports=o({_isLinkedToArray:&quot;slider&quot;,visible:{valType:&quot;boolean&quot;,dflt:!0},active:{valType:&quot;number&quot;,min:0,dflt:0},steps:{_isLinkedToArray:&quot;step&quot;,method:{valType:&quot;enumerated&quot;,values:[&quot;restyle&quot;,&quot;relayout&quot;,&quot;animate&quot;,&quot;update&quot;,&quot;skip&quot;],dflt:&quot;restyle&quot;},args:{valType:&quot;info_array&quot;,freeLength:!0,items:[{valType:&quot;any&quot;},{valType:&quot;any&quot;},{valType:&quot;any&quot;}]},label:{valType:&quot;string&quot;},value:{valType:&quot;string&quot;},execute:{valType:&quot;boolean&quot;,dflt:!0}},lenmode:{valType:&quot;enumerated&quot;,values:[&quot;fraction&quot;,&quot;pixels&quot;],dflt:&quot;fraction&quot;},len:{valType:&quot;number&quot;,min:0,dflt:1},x:{valType:&quot;number&quot;,min:-2,max:3,dflt:0},pad:a({},i,{},{t:{dflt:20}}),xanchor:{valType:&quot;enumerated&quot;,values:[&quot;auto&quot;,&quot;left&quot;,&quot;center&quot;,&quot;right&quot;],dflt:&quot;left&quot;},y:{valType:&quot;number&quot;,min:-2,max:3,dflt:0},yanchor:{valType:&quot;enumerated&quot;,values:[&quot;auto&quot;,&quot;top&quot;,&quot;middle&quot;,&quot;bottom&quot;],dflt:&quot;top&quot;},transition:{duration:{valType:&quot;number&quot;,min:0,dflt:150},easing:{valType:&quot;enumerated&quot;,values:s.transition.easing.values,dflt:&quot;cubic-in-out&quot;}},currentvalue:{visible:{valType:&quot;boolean&quot;,dflt:!0},xanchor:{valType:&quot;enumerated&quot;,values:[&quot;left&quot;,&quot;center&quot;,&quot;right&quot;],dflt:&quot;left&quot;},offset:{valType:&quot;number&quot;,dflt:10},prefix:{valType:&quot;string&quot;},suffix:{valType:&quot;string&quot;},font:n({})},font:n({}),activebgcolor:{valType:&quot;color&quot;,dflt:l.gripBgActiveColor},bgcolor:{valType:&quot;color&quot;,dflt:l.railBgColor},bordercolor:{valType:&quot;color&quot;,dflt:l.railBorderColor},borderwidth:{valType:&quot;number&quot;,min:0,dflt:l.railBorderWidth},ticklen:{valType:&quot;number&quot;,min:0,dflt:l.tickLength},tickcolor:{valType:&quot;color&quot;,dflt:l.tickColor},tickwidth:{valType:&quot;number&quot;,min:0,dflt:1},minorticklen:{valType:&quot;number&quot;,min:0,dflt:l.minorTickLength}},&quot;arraydraw&quot;,&quot;from-root&quot;)},{&quot;../../lib/extend&quot;:732,&quot;../../plot_api/edit_types&quot;:773,&quot;../../plots/animation_attributes&quot;:785,&quot;../../plots/font_attributes&quot;:816,&quot;../../plots/pad_attributes&quot;:851,&quot;./constants&quot;:705}],705:[function(t,e,r){&quot;use strict&quot;;e.exports={name:&quot;sliders&quot;,containerClassName:&quot;slider-container&quot;,groupClassName:&quot;slider-group&quot;,inputAreaClass:&quot;slider-input-area&quot;,railRectClass:&quot;slider-rail-rect&quot;,railTouchRectClass:&quot;slider-rail-touch-rect&quot;,gripRectClass:&quot;slider-grip-rect&quot;,tickRectClass:&quot;slider-tick-rect&quot;,inputProxyClass:&quot;slider-input-proxy&quot;,labelsClass:&quot;slider-labels&quot;,labelGroupClass:&quot;slider-label-group&quot;,labelClass:&quot;slider-label&quot;,currentValueClass:&quot;slider-current-value&quot;,railHeight:5,menuIndexAttrName:&quot;slider-active-index&quot;,autoMarginIdRoot:&quot;slider-&quot;,minWidth:30,minHeight:30,textPadX:40,arrowOffsetX:4,railRadius:2,railWidth:5,railBorder:4,railBorderWidth:1,railBorderColor:&quot;#bec8d9&quot;,railBgColor:&quot;#f8fafc&quot;,railInset:8,stepInset:10,gripRadius:10,gripWidth:20,gripHeight:20,gripBorder:20,gripBorderWidth:1,gripBorderColor:&quot;#bec8d9&quot;,gripBgColor:&quot;#f6f8fa&quot;,gripBgActiveColor:&quot;#dbdde0&quot;,labelPadding:8,labelOffset:0,tickWidth:1,tickColor:&quot;#333&quot;,tickOffset:25,tickLength:7,minorTickOffset:25,minorTickColor:&quot;#333&quot;,minorTickLength:4,currentValuePadding:8,currentValueInset:0}},{}],706:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r){function n(r,n){return i.coerce(t,e,o,r,n)}if(n(&quot;visible&quot;,function(t,e){function r(t,e){return i.coerce(n,a,l,t,e)}var n,a,o=t.steps||[],s=e.steps=[];for(var c=0;c&lt;o.length;c++)n=o[c],a={},r(&quot;method&quot;),i.isPlainObject(n)&amp;&amp;(&quot;skip&quot;===a.method||Array.isArray(n.args))&amp;&amp;(r(&quot;args&quot;),r(&quot;label&quot;,&quot;step-&quot;+c),r(&quot;value&quot;,a.label),r(&quot;execute&quot;),s.push(a));return s}(t,e).length&gt;0)){n(&quot;active&quot;),n(&quot;x&quot;),n(&quot;y&quot;),i.noneOrAll(t,e,[&quot;x&quot;,&quot;y&quot;]),n(&quot;xanchor&quot;),n(&quot;yanchor&quot;),n(&quot;len&quot;),n(&quot;lenmode&quot;),n(&quot;pad.t&quot;),n(&quot;pad.r&quot;),n(&quot;pad.b&quot;),n(&quot;pad.l&quot;),i.coerceFont(n,&quot;font&quot;,r.font);n(&quot;currentvalue.visible&quot;)&amp;&amp;(n(&quot;currentvalue.xanchor&quot;),n(&quot;currentvalue.prefix&quot;),n(&quot;currentvalue.suffix&quot;),n(&quot;currentvalue.offset&quot;),i.coerceFont(n,&quot;currentvalue.font&quot;,e.font)),n(&quot;transition.duration&quot;),n(&quot;transition.easing&quot;),n(&quot;bgcolor&quot;),n(&quot;activebgcolor&quot;),n(&quot;bordercolor&quot;),n(&quot;borderwidth&quot;),n(&quot;ticklen&quot;),n(&quot;tickwidth&quot;),n(&quot;tickcolor&quot;),n(&quot;minorticklen&quot;)}}var i=t(&quot;../../lib&quot;),a=t(&quot;../../plots/array_container_defaults&quot;),o=t(&quot;./attributes&quot;),s=t(&quot;./constants&quot;).name,l=o.steps;e.exports=function(t,e){a(t,e,{name:s,handleItemDefaults:n})}},{&quot;../../lib&quot;:743,&quot;../../plots/array_container_defaults&quot;:786,&quot;./attributes&quot;:704,&quot;./constants&quot;:705}],707:[function(t,e,r){&quot;use strict&quot;;function n(t){return t._index}function i(t,e,r){if(e.currentvalue.visible){var n,i,a=t.selectAll(&quot;text&quot;).data([0]);switch(e.currentvalue.xanchor){case&quot;right&quot;:n=e.inputAreaLength-M.currentValueInset-e.currentValueMaxWidth,i=&quot;left&quot;;break;case&quot;center&quot;:n=.5*e.inputAreaLength,i=&quot;middle&quot;;break;default:n=M.currentValueInset,i=&quot;left&quot;}a.enter().append(&quot;text&quot;).classed(M.labelClass,!0).classed(&quot;user-select-none&quot;,!0).attr({&quot;text-anchor&quot;:i,&quot;data-notex&quot;:1});var o=e.currentvalue.prefix?e.currentvalue.prefix:&quot;&quot;;if(&quot;string&quot;==typeof r)o+=r;else{o+=e.steps[e.active].label}e.currentvalue.suffix&amp;&amp;(o+=e.currentvalue.suffix),a.call(b.font,e.currentvalue.font).text(o).call(_.convertToTspans,e.gd);var s=_.lineCount(a),l=(e.currentValueMaxLines+1-s)*e.currentvalue.font.size*k;return _.positionText(a,n,l),a}}function a(t,e,r){var n=t.selectAll(&quot;rect.&quot;+M.gripRectClass).data([0]);n.enter().append(&quot;rect&quot;).classed(M.gripRectClass,!0).call(u,e,t,r).style(&quot;pointer-events&quot;,&quot;all&quot;),n.attr({width:M.gripWidth,height:M.gripHeight,rx:M.gripRadius,ry:M.gripRadius}).call(x.stroke,r.bordercolor).call(x.fill,r.bgcolor).style(&quot;stroke-width&quot;,r.borderwidth+&quot;px&quot;)}function o(t,e,r){var n=t.selectAll(&quot;text&quot;).data([0]);return n.enter().append(&quot;text&quot;).classed(M.labelClass,!0).classed(&quot;user-select-none&quot;,!0).attr({&quot;text-anchor&quot;:&quot;middle&quot;,&quot;data-notex&quot;:1}),n.call(b.font,r.font).text(e.step.label).call(_.convertToTspans,r.gd),n}function s(t,e){var r=t.selectAll(&quot;g.&quot;+M.labelsClass).data([0]);r.enter().append(&quot;g&quot;).classed(M.labelsClass,!0);var n=r.selectAll(&quot;g.&quot;+M.labelGroupClass).data(e.labelSteps);n.enter().append(&quot;g&quot;).classed(M.labelGroupClass,!0),n.exit().remove(),n.each(function(t){var r=v.select(this);r.call(o,t,e),b.setTranslate(r,d(e,t.fraction),M.tickOffset+e.ticklen+e.font.size*k+M.labelOffset+e.currentValueTotalHeight)})}function l(t,e,r,n,i){var a=Math.round(n*(r.steps.length-1));a!==r.active&amp;&amp;c(t,e,r,a,!0,i)}function c(t,e,r,n,a,o){var s=r.active;r._input.active=r.active=n;var l=r.steps[r.active];e.call(h,r,r.active/(r.steps.length-1),o),e.call(i,r),t.emit(&quot;plotly_sliderchange&quot;,{slider:r,step:r.steps[r.active],interaction:a,previousActive:s}),l&amp;&amp;l.method&amp;&amp;a&amp;&amp;(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&amp;&amp;(r.execute&amp;&amp;y.executeAPICommand(t,r.method,r.args),e._nextMethod=null,e._nextMethodRaf=null)})))}function u(t,e,r){function n(){return r.data()[0]}var i=r.node(),a=v.select(e);t.on(&quot;mousedown&quot;,function(){var t=n();e.emit(&quot;plotly_sliderstart&quot;,{slider:t});var o=r.select(&quot;.&quot;+M.gripRectClass);v.event.stopPropagation(),v.event.preventDefault(),o.call(x.fill,t.activebgcolor);var s=p(t,v.mouse(i)[0]);l(e,r,t,s,!0),t._dragging=!0,a.on(&quot;mousemove&quot;,function(){var t=n(),a=p(t,v.mouse(i)[0]);l(e,r,t,a,!1)}),a.on(&quot;mouseup&quot;,function(){var t=n();t._dragging=!1,o.call(x.fill,t.bgcolor),a.on(&quot;mouseup&quot;,null),a.on(&quot;mousemove&quot;,null),e.emit(&quot;plotly_sliderend&quot;,{slider:t,step:t.steps[t.active]})})})}function f(t,e){var r=t.selectAll(&quot;rect.&quot;+M.tickRectClass).data(e.steps);r.enter().append(&quot;rect&quot;).classed(M.tickRectClass,!0),r.exit().remove(),r.attr({width:e.tickwidth+&quot;px&quot;,&quot;shape-rendering&quot;:&quot;crispEdges&quot;}),r.each(function(t,r){var n=r%e.labelStride==0,i=v.select(this);i.attr({height:n?e.ticklen:e.minorticklen}).call(x.fill,e.tickcolor),b.setTranslate(i,d(e,r/(e.steps.length-1))-.5*e.tickwidth,(n?M.tickOffset:M.minorTickOffset)+e.currentValueTotalHeight)})}function h(t,e,r,n){var i=t.select(&quot;rect.&quot;+M.gripRectClass),a=d(e,r);if(!e._invokingCommand){var o=i;n&amp;&amp;e.transition.duration&gt;0&amp;&amp;(o=o.transition().duration(e.transition.duration).ease(e.transition.easing)),o.attr(&quot;transform&quot;,&quot;translate(&quot;+(a-.5*M.gripWidth)+&quot;,&quot;+e.currentValueTotalHeight+&quot;)&quot;)}}function d(t,e){return t.inputAreaStart+M.stepInset+(t.inputAreaLength-2*M.stepInset)*Math.min(1,Math.max(0,e))}function p(t,e){return Math.min(1,Math.max(0,(e-M.stepInset-t.inputAreaStart)/(t.inputAreaLength-2*M.stepInset-2*t.inputAreaStart)))}function m(t,e,r){var n=t.selectAll(&quot;rect.&quot;+M.railTouchRectClass).data([0]);n.enter().append(&quot;rect&quot;).classed(M.railTouchRectClass,!0).call(u,e,t,r).style(&quot;pointer-events&quot;,&quot;all&quot;),n.attr({width:r.inputAreaLength,height:Math.max(r.inputAreaWidth,M.tickOffset+r.ticklen+r.labelHeight)}).call(x.fill,r.bgcolor).attr(&quot;opacity&quot;,0),b.setTranslate(n,0,r.currentValueTotalHeight)}function g(t,e){var r=t.selectAll(&quot;rect.&quot;+M.railRectClass).data([0]);r.enter().append(&quot;rect&quot;).classed(M.railRectClass,!0);var n=e.inputAreaLength-2*M.railInset;r.attr({width:n,height:M.railWidth,rx:M.railRadius,ry:M.railRadius,&quot;shape-rendering&quot;:&quot;crispEdges&quot;}).call(x.stroke,e.bordercolor).call(x.fill,e.bgcolor).style(&quot;stroke-width&quot;,e.borderwidth+&quot;px&quot;),b.setTranslate(r,M.railInset,.5*(e.inputAreaWidth-M.railWidth)+e.currentValueTotalHeight)}var v=t(&quot;d3&quot;),y=t(&quot;../../plots/plots&quot;),x=t(&quot;../color&quot;),b=t(&quot;../drawing&quot;),_=t(&quot;../../lib/svg_text_utils&quot;),w=t(&quot;../legend/anchor_utils&quot;),M=t(&quot;./constants&quot;),k=t(&quot;../../constants/alignment&quot;).LINE_SPACING;e.exports=function(t){var e=t._fullLayout,r=function(t,e){for(var r=t[M.name],n=[],i=0;i&lt;r.length;i++){var a=r[i];a.visible&amp;&amp;a.steps.length&amp;&amp;(a.gd=e,n.push(a))}return n}(e,t),l=e._infolayer.selectAll(&quot;g.&quot;+M.containerClassName).data(r.length&gt;0?[0]:[]);if(l.enter().append(&quot;g&quot;).classed(M.containerClassName,!0).style(&quot;cursor&quot;,&quot;ew-resize&quot;),l.exit().remove(),l.exit().size()&amp;&amp;function(t){for(var e=t._fullLayout._pushmargin||{},r=Object.keys(e),n=0;n&lt;r.length;n++){var i=r[n];-1!==i.indexOf(M.autoMarginIdRoot)&amp;&amp;y.autoMargin(t,i)}}(t),0!==r.length){var u=l.selectAll(&quot;g.&quot;+M.groupClassName).data(r,n);u.enter().append(&quot;g&quot;).classed(M.groupClassName,!0),u.exit().each(function(e){v.select(this).remove(),e._commandObserver.remove(),delete e._commandObserver,y.autoMargin(t,M.autoMarginIdRoot+e._index)});for(var d=0;d&lt;r.length;d++){var p=r[d];!function(t,e){var r=b.tester.selectAll(&quot;g.&quot;+M.labelGroupClass).data(e.steps);r.enter().append(&quot;g&quot;).classed(M.labelGroupClass,!0);var n=0,a=0;r.each(function(t){var r=o(v.select(this),{step:t},e).node();if(r){var i=b.bBox(r);a=Math.max(a,i.height),n=Math.max(n,i.width)}}),r.remove(),e.inputAreaWidth=Math.max(M.railWidth,M.gripHeight);var s=t._fullLayout._size;e.lx=s.l+s.w*e.x,e.ly=s.t+s.h*(1-e.y),&quot;fraction&quot;===e.lenmode?e.outerLength=Math.round(s.w*e.len):e.outerLength=e.len,e.lenPad=Math.round(.5*M.gripWidth),e.inputAreaStart=0,e.inputAreaLength=Math.round(e.outerLength-e.pad.l-e.pad.r);var l=(e.inputAreaLength-2*M.stepInset)/(e.steps.length-1),c=n+M.labelPadding;if(e.labelStride=Math.max(1,Math.ceil(c/l)),e.labelHeight=a,e.currentValueMaxWidth=0,e.currentValueHeight=0,e.currentValueTotalHeight=0,e.currentValueMaxLines=1,e.currentvalue.visible){var u=b.tester.append(&quot;g&quot;);r.each(function(t){var r=i(u,e,t.label),n=r.node()&amp;&amp;b.bBox(r.node())||{width:0,height:0},a=_.lineCount(r);e.currentValueMaxWidth=Math.max(e.currentValueMaxWidth,Math.ceil(n.width)),e.currentValueHeight=Math.max(e.currentValueHeight,Math.ceil(n.height)),e.currentValueMaxLines=Math.max(e.currentValueMaxLines,a)}),e.currentValueTotalHeight=e.currentValueHeight+e.currentvalue.offset,u.remove()}e.height=e.currentValueTotalHeight+M.tickOffset+e.ticklen+M.labelOffset+e.labelHeight+e.pad.t+e.pad.b;var f=&quot;left&quot;;w.isRightAnchor(e)&amp;&amp;(e.lx-=e.outerLength,f=&quot;right&quot;),w.isCenterAnchor(e)&amp;&amp;(e.lx-=e.outerLength/2,f=&quot;center&quot;);var h=&quot;top&quot;;w.isBottomAnchor(e)&amp;&amp;(e.ly-=e.height,h=&quot;bottom&quot;),w.isMiddleAnchor(e)&amp;&amp;(e.ly-=e.height/2,h=&quot;middle&quot;),e.outerLength=Math.ceil(e.outerLength),e.height=Math.ceil(e.height),e.lx=Math.round(e.lx),e.ly=Math.round(e.ly),y.autoMargin(t,M.autoMarginIdRoot+e._index,{x:e.x,y:e.y,l:e.outerLength*({right:1,center:.5}[f]||0),r:e.outerLength*({left:1,center:.5}[f]||0),b:e.height*({top:1,middle:.5}[h]||0),t:e.height*({bottom:1,middle:.5}[h]||0)})}(t,p)}u.each(function(e){if(!(e.steps.length&lt;2)){var r=v.select(this);!function(t){t.labelSteps=[];for(var e=t.steps.length,r=0;r&lt;e;r+=t.labelStride)t.labelSteps.push({fraction:r/(e-1),step:t.steps[r]})}(e),y.manageCommandObserver(t,e,e.steps,function(e){var n=r.data()[0];n.active!==e.index&amp;&amp;(n._dragging||c(t,r,n,e.index,!1,!0))}),function(t,e,r){r.active&gt;=r.steps.length&amp;&amp;(r.active=0),e.call(i,r).call(g,r).call(s,r).call(f,r).call(m,t,r).call(a,t,r),b.setTranslate(e,r.lx+r.pad.l,r.ly+r.pad.t),e.call(h,r,r.active/(r.steps.length-1),!1),e.call(i,r)}(t,v.select(this),e)}})}}},{&quot;../../constants/alignment&quot;:716,&quot;../../lib/svg_text_utils&quot;:766,&quot;../../plots/plots&quot;:852,&quot;../color&quot;:618,&quot;../drawing&quot;:643,&quot;../legend/anchor_utils&quot;:669,&quot;./constants&quot;:705,d3:128}],708:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;./constants&quot;);e.exports={moduleType:&quot;component&quot;,name:n.name,layoutAttributes:t(&quot;./attributes&quot;),supplyLayoutDefaults:t(&quot;./defaults&quot;),draw:t(&quot;./draw&quot;)}},{&quot;./attributes&quot;:704,&quot;./constants&quot;:705,&quot;./defaults&quot;:706,&quot;./draw&quot;:707}],709:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;d3&quot;),i=t(&quot;fast-isnumeric&quot;),a=t(&quot;../../plotly&quot;),o=t(&quot;../../plots/plots&quot;),s=t(&quot;../../lib&quot;),l=t(&quot;../drawing&quot;),c=t(&quot;../color&quot;),u=t(&quot;../../lib/svg_text_utils&quot;),f=t(&quot;../../constants/interactions&quot;),h=/ [XY][0-9]* /;(e.exports={}).draw=function(t,e,r){function d(t){s.syncOrAsync([p,m],t)}function p(e){var r;return M?(r=&quot;&quot;,M.rotate&amp;&amp;(r+=&quot;rotate(&quot;+[M.rotate,w.x,w.y]+&quot;)&quot;),M.offset&amp;&amp;(r+=&quot;translate(0, &quot;+M.offset+&quot;)&quot;)):r=null,e.attr(&quot;transform&quot;,r),e.style({&quot;font-family&quot;:S,&quot;font-size&quot;:n.round(E,2)+&quot;px&quot;,fill:c.rgb(L),opacity:C*c.opacity(L),&quot;font-weight&quot;:o.fontWeight}).attr(w).call(u.convertToTspans,t),o.previousPromises(t)}function m(t){var e=n.select(t.node().parentNode);if(_&amp;&amp;_.selection&amp;&amp;_.side&amp;&amp;D){e.attr(&quot;transform&quot;,null);var r=0,a={left:&quot;right&quot;,right:&quot;left&quot;,top:&quot;bottom&quot;,bottom:&quot;top&quot;}[_.side],o=-1!==[&quot;left&quot;,&quot;top&quot;].indexOf(_.side)?-1:1,c=i(_.pad)?_.pad:2,u=l.bBox(e.node()),f={left:0,top:0,right:A.width,bottom:A.height},h=_.maxShift||(f[_.side]-u[_.side])*(&quot;left&quot;===_.side||&quot;top&quot;===_.side?-1:1);if(h&lt;0)r=h;else{var d=_.offsetLeft||0,p=_.offsetTop||0;u.left-=d,u.right-=d,u.top-=p,u.bottom-=p,_.selection.each(function(){var t=l.bBox(this);s.bBoxIntersect(u,t,c)&amp;&amp;(r=Math.max(r,o*(t[_.side]-u[a])+c))}),r=Math.min(h,r)}if(r&gt;0||h&lt;0){var m={left:[-r,0],right:[r,0],top:[0,-r],bottom:[0,r]}[_.side];e.attr(&quot;transform&quot;,&quot;translate(&quot;+m+&quot;)&quot;)}}}var g,v=r.propContainer,y=r.propName,x=r.placeholder,b=r.traceIndex,_=r.avoid||{},w=r.attributes,M=r.transform,k=r.containerGroup,A=t._fullLayout,T=v.titlefont||{},S=T.family,E=T.size,L=T.color,C=1,z=!1,D=(v.title||&quot;&quot;).trim();&quot;title&quot;===y?g=&quot;titleText&quot;:-1!==y.indexOf(&quot;axis&quot;)?g=&quot;axisTitleText&quot;:y.indexOf(!0)&amp;&amp;(g=&quot;colorbarTitleText&quot;);var I=t._context.edits[g];&quot;&quot;===D?C=0:D.replace(h,&quot; % &quot;)===x.replace(h,&quot; % &quot;)&amp;&amp;(C=.2,z=!0,I||(D=&quot;&quot;));var P=D||I;k||(k=A._infolayer.selectAll(&quot;.g-&quot;+e).data([0])).enter().append(&quot;g&quot;).classed(&quot;g-&quot;+e,!0);var O=k.selectAll(&quot;text&quot;).data(P?[0]:[]);return O.enter().append(&quot;text&quot;),O.text(D).attr(&quot;class&quot;,e),O.exit().remove(),P?(O.call(d),I&amp;&amp;(D?O.on(&quot;.opacity&quot;,null):(C=0,z=!0,O.text(x).on(&quot;mouseover.opacity&quot;,function(){n.select(this).transition().duration(f.SHOW_PLACEHOLDER).style(&quot;opacity&quot;,1)}).on(&quot;mouseout.opacity&quot;,function(){n.select(this).transition().duration(f.HIDE_PLACEHOLDER).style(&quot;opacity&quot;,0)})),O.call(u.makeEditable,{gd:t}).on(&quot;edit&quot;,function(e){void 0!==b?a.restyle(t,y,e,b):a.relayout(t,y,e)}).on(&quot;cancel&quot;,function(){this.text(this.attr(&quot;data-unformatted&quot;)).call(d)}).on(&quot;input&quot;,function(t){this.text(t||&quot; &quot;).call(u.positionText,w.x,w.y)})),O.classed(&quot;js-placeholder&quot;,z),k):k}},{&quot;../../constants/interactions&quot;:720,&quot;../../lib&quot;:743,&quot;../../lib/svg_text_utils&quot;:766,&quot;../../plotly&quot;:784,&quot;../../plots/plots&quot;:852,&quot;../color&quot;:618,&quot;../drawing&quot;:643,d3:128,&quot;fast-isnumeric&quot;:140}],710:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../plots/font_attributes&quot;),i=t(&quot;../color/attributes&quot;),a=t(&quot;../../lib/extend&quot;).extendFlat,o=t(&quot;../../plot_api/edit_types&quot;).overrideAll,s=t(&quot;../../plots/pad_attributes&quot;);e.exports=o({_isLinkedToArray:&quot;updatemenu&quot;,_arrayAttrRegexps:[/^updatemenus\[(0|[1-9][0-9]+)\]\.buttons/],visible:{valType:&quot;boolean&quot;},type:{valType:&quot;enumerated&quot;,values:[&quot;dropdown&quot;,&quot;buttons&quot;],dflt:&quot;dropdown&quot;},direction:{valType:&quot;enumerated&quot;,values:[&quot;left&quot;,&quot;right&quot;,&quot;up&quot;,&quot;down&quot;],dflt:&quot;down&quot;},active:{valType:&quot;integer&quot;,min:-1,dflt:0},showactive:{valType:&quot;boolean&quot;,dflt:!0},buttons:{_isLinkedToArray:&quot;button&quot;,method:{valType:&quot;enumerated&quot;,values:[&quot;restyle&quot;,&quot;relayout&quot;,&quot;animate&quot;,&quot;update&quot;,&quot;skip&quot;],dflt:&quot;restyle&quot;},args:{valType:&quot;info_array&quot;,freeLength:!0,items:[{valType:&quot;any&quot;},{valType:&quot;any&quot;},{valType:&quot;any&quot;}]},label:{valType:&quot;string&quot;,dflt:&quot;&quot;},execute:{valType:&quot;boolean&quot;,dflt:!0}},x:{valType:&quot;number&quot;,min:-2,max:3,dflt:-.05},xanchor:{valType:&quot;enumerated&quot;,values:[&quot;auto&quot;,&quot;left&quot;,&quot;center&quot;,&quot;right&quot;],dflt:&quot;right&quot;},y:{valType:&quot;number&quot;,min:-2,max:3,dflt:1},yanchor:{valType:&quot;enumerated&quot;,values:[&quot;auto&quot;,&quot;top&quot;,&quot;middle&quot;,&quot;bottom&quot;],dflt:&quot;top&quot;},pad:a({},s,{}),font:n({}),bgcolor:{valType:&quot;color&quot;},bordercolor:{valType:&quot;color&quot;,dflt:i.borderLine},borderwidth:{valType:&quot;number&quot;,min:0,dflt:1,editType:&quot;arraydraw&quot;}},&quot;arraydraw&quot;,&quot;from-root&quot;)},{&quot;../../lib/extend&quot;:732,&quot;../../plot_api/edit_types&quot;:773,&quot;../../plots/font_attributes&quot;:816,&quot;../../plots/pad_attributes&quot;:851,&quot;../color/attributes&quot;:617}],711:[function(t,e,r){&quot;use strict&quot;;e.exports={name:&quot;updatemenus&quot;,containerClassName:&quot;updatemenu-container&quot;,headerGroupClassName:&quot;updatemenu-header-group&quot;,headerClassName:&quot;updatemenu-header&quot;,headerArrowClassName:&quot;updatemenu-header-arrow&quot;,dropdownButtonGroupClassName:&quot;updatemenu-dropdown-button-group&quot;,dropdownButtonClassName:&quot;updatemenu-dropdown-button&quot;,buttonClassName:&quot;updatemenu-button&quot;,itemRectClassName:&quot;updatemenu-item-rect&quot;,itemTextClassName:&quot;updatemenu-item-text&quot;,menuIndexAttrName:&quot;updatemenu-active-index&quot;,autoMarginIdRoot:&quot;updatemenu-&quot;,blankHeaderOpts:{label:&quot;  &quot;},minWidth:30,minHeight:30,textPadX:24,arrowPadX:16,rx:2,ry:2,textOffsetX:12,textOffsetY:3,arrowOffsetX:4,gapButtonHeader:5,gapButton:2,activeColor:&quot;#F4FAFF&quot;,hoverColor:&quot;#F4FAFF&quot;,arrowSymbol:{left:&quot;\u25c4&quot;,right:&quot;\u25ba&quot;,up:&quot;\u25b2&quot;,down:&quot;\u25bc&quot;}}},{}],712:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r){function n(r,n){return i.coerce(t,e,o,r,n)}n(&quot;visible&quot;,function(t,e){function r(t,e){return i.coerce(n,a,l,t,e)}var n,a,o=t.buttons||[],s=e.buttons=[];for(var c=0;c&lt;o.length;c++)n=o[c],a={},r(&quot;method&quot;),i.isPlainObject(n)&amp;&amp;(&quot;skip&quot;===a.method||Array.isArray(n.args))&amp;&amp;(r(&quot;args&quot;),r(&quot;label&quot;),r(&quot;execute&quot;),a._index=c,s.push(a));return s}(t,e).length&gt;0)&amp;&amp;(n(&quot;active&quot;),n(&quot;direction&quot;),n(&quot;type&quot;),n(&quot;showactive&quot;),n(&quot;x&quot;),n(&quot;y&quot;),i.noneOrAll(t,e,[&quot;x&quot;,&quot;y&quot;]),n(&quot;xanchor&quot;),n(&quot;yanchor&quot;),n(&quot;pad.t&quot;),n(&quot;pad.r&quot;),n(&quot;pad.b&quot;),n(&quot;pad.l&quot;),i.coerceFont(n,&quot;font&quot;,r.font),n(&quot;bgcolor&quot;,r.paper_bgcolor),n(&quot;bordercolor&quot;),n(&quot;borderwidth&quot;))}var i=t(&quot;../../lib&quot;),a=t(&quot;../../plots/array_container_defaults&quot;),o=t(&quot;./attributes&quot;),s=t(&quot;./constants&quot;).name,l=o.buttons;e.exports=function(t,e){a(t,e,{name:s,handleItemDefaults:n})}},{&quot;../../lib&quot;:743,&quot;../../plots/array_container_defaults&quot;:786,&quot;./attributes&quot;:710,&quot;./constants&quot;:711}],713:[function(t,e,r){&quot;use strict&quot;;function n(t){return t._index}function i(t,e){return+t.attr(M.menuIndexAttrName)===e._index}function a(t,e,r,n,i,a,l,c){e._input.active=e.active=l,&quot;buttons&quot;===e.type?s(t,n,null,null,e):&quot;dropdown&quot;===e.type&amp;&amp;(i.attr(M.menuIndexAttrName,&quot;-1&quot;),o(t,n,i,a,e),c||s(t,n,i,a,e))}function o(t,e,r,n,a){var o=e.selectAll(&quot;g.&quot;+M.headerClassName).data([0]);o.enter().append(&quot;g&quot;).classed(M.headerClassName,!0).style(&quot;pointer-events&quot;,&quot;all&quot;);var c=a.active,u=a.buttons[c]||M.blankHeaderOpts,f={y:a.pad.t,yPad:0,x:a.pad.l,xPad:0,index:0},g={width:a.headerWidth,height:a.headerHeight};o.call(l,a,u,t).call(p,a,f,g);var v=e.selectAll(&quot;text.&quot;+M.headerArrowClassName).data([0]);v.enter().append(&quot;text&quot;).classed(M.headerArrowClassName,!0).classed(&quot;user-select-none&quot;,!0).attr(&quot;text-anchor&quot;,&quot;end&quot;).call(x.font,a.font).text(M.arrowSymbol[a.direction]),v.attr({x:a.headerWidth-M.arrowOffsetX+a.pad.l,y:a.headerHeight/2+M.textOffsetY+a.pad.t}),o.on(&quot;click&quot;,function(){r.call(m),r.attr(M.menuIndexAttrName,i(r,a)?-1:String(a._index)),s(t,e,r,n,a)}),o.on(&quot;mouseover&quot;,function(){o.call(h)}),o.on(&quot;mouseout&quot;,function(){o.call(d,a)}),x.setTranslate(e,a.lx,a.ly)}function s(t,e,r,n,i){r||(r=e).attr(&quot;pointer-events&quot;,&quot;all&quot;);var o=function(t){return-1==+t.attr(M.menuIndexAttrName)}(r)&amp;&amp;&quot;buttons&quot;!==i.type?[]:i.buttons,s=&quot;dropdown&quot;===i.type?M.dropdownButtonClassName:M.buttonClassName,c=r.selectAll(&quot;g.&quot;+s).data(o),u=c.enter().append(&quot;g&quot;).classed(s,!0),m=c.exit();&quot;dropdown&quot;===i.type?(u.attr(&quot;opacity&quot;,&quot;0&quot;).transition().attr(&quot;opacity&quot;,&quot;1&quot;),m.transition().attr(&quot;opacity&quot;,&quot;0&quot;).remove()):m.remove();var y=0,x=0,b=-1!==[&quot;up&quot;,&quot;down&quot;].indexOf(i.direction);&quot;dropdown&quot;===i.type&amp;&amp;(b?x=i.headerHeight+M.gapButtonHeader:y=i.headerWidth+M.gapButtonHeader),&quot;dropdown&quot;===i.type&amp;&amp;&quot;up&quot;===i.direction&amp;&amp;(x=-M.gapButtonHeader+M.gapButton-i.openHeight),&quot;dropdown&quot;===i.type&amp;&amp;&quot;left&quot;===i.direction&amp;&amp;(y=-M.gapButtonHeader+M.gapButton-i.openWidth);var _={x:i.lx+y+i.pad.l,y:i.ly+x+i.pad.t,yPad:M.gapButton,xPad:M.gapButton,index:0},w={l:_.x+i.borderwidth,t:_.y+i.borderwidth};c.each(function(o,s){var u=g.select(this);u.call(l,i,o,t).call(p,i,_),u.on(&quot;click&quot;,function(){g.event.defaultPrevented||(a(t,i,0,e,r,n,s),o.execute&amp;&amp;v.executeAPICommand(t,o.method,o.args),t.emit(&quot;plotly_buttonclicked&quot;,{menu:i,button:o,active:i.active}))}),u.on(&quot;mouseover&quot;,function(){u.call(h)}),u.on(&quot;mouseout&quot;,function(){u.call(d,i),c.call(f,i)})}),c.call(f,i),b?(w.w=Math.max(i.openWidth,i.headerWidth),w.h=_.y-w.t):(w.w=_.x-w.l,w.h=Math.max(i.openHeight,i.headerHeight)),w.direction=i.direction,n&amp;&amp;(c.size()?function(t,e,r,n,i,a){var o,s,l,c=i.direction,u=&quot;up&quot;===c||&quot;down&quot;===c,f=i.active;if(u)for(s=0,l=0;l&lt;f;l++)s+=i.heights[l]+M.gapButton;else for(o=0,l=0;l&lt;f;l++)o+=i.widths[l]+M.gapButton;n.enable(a,o,s),n.hbar&amp;&amp;n.hbar.attr(&quot;opacity&quot;,&quot;0&quot;).transition().attr(&quot;opacity&quot;,&quot;1&quot;);n.vbar&amp;&amp;n.vbar.attr(&quot;opacity&quot;,&quot;0&quot;).transition().attr(&quot;opacity&quot;,&quot;1&quot;)}(0,0,0,n,i,w):function(t){var e=!!t.hbar,r=!!t.vbar;e&amp;&amp;t.hbar.transition().attr(&quot;opacity&quot;,&quot;0&quot;).each(&quot;end&quot;,function(){e=!1,r||t.disable()});r&amp;&amp;t.vbar.transition().attr(&quot;opacity&quot;,&quot;0&quot;).each(&quot;end&quot;,function(){r=!1,e||t.disable()})}(n))}function l(t,e,r,n){t.call(c,e).call(u,e,r,n)}function c(t,e){var r=t.selectAll(&quot;rect&quot;).data([0]);r.enter().append(&quot;rect&quot;).classed(M.itemRectClassName,!0).attr({rx:M.rx,ry:M.ry,&quot;shape-rendering&quot;:&quot;crispEdges&quot;}),r.call(y.stroke,e.bordercolor).call(y.fill,e.bgcolor).style(&quot;stroke-width&quot;,e.borderwidth+&quot;px&quot;)}function u(t,e,r,n){var i=t.selectAll(&quot;text&quot;).data([0]);i.enter().append(&quot;text&quot;).classed(M.itemTextClassName,!0).classed(&quot;user-select-none&quot;,!0).attr({&quot;text-anchor&quot;:&quot;start&quot;,&quot;data-notex&quot;:1}),i.call(x.font,e.font).text(r.label).call(b.convertToTspans,n)}function f(t,e){var r=e.active;t.each(function(t,n){var i=g.select(this);n===r&amp;&amp;e.showactive&amp;&amp;i.select(&quot;rect.&quot;+M.itemRectClassName).call(y.fill,M.activeColor)})}function h(t){t.select(&quot;rect.&quot;+M.itemRectClassName).call(y.fill,M.hoverColor)}function d(t,e){t.select(&quot;rect.&quot;+M.itemRectClassName).call(y.fill,e.bgcolor)}function p(t,e,r,n){n=n||{};var i=t.select(&quot;.&quot;+M.itemRectClassName),a=t.select(&quot;.&quot;+M.itemTextClassName),o=e.borderwidth,s=r.index;x.setTranslate(t,o+r.x,o+r.y);var l=-1!==[&quot;up&quot;,&quot;down&quot;].indexOf(e.direction),c=n.height||(l?e.heights[s]:e.height1);i.attr({x:0,y:0,width:n.width||(l?e.width1:e.widths[s]),height:c});var u=e.font.size*w,f=(b.lineCount(a)-1)*u/2;b.positionText(a,M.textOffsetX,c/2-f+M.textOffsetY),l?r.y+=e.heights[s]+r.yPad:r.x+=e.widths[s]+r.xPad,r.index++}function m(t){t.selectAll(&quot;g.&quot;+M.dropdownButtonClassName).remove()}var g=t(&quot;d3&quot;),v=t(&quot;../../plots/plots&quot;),y=t(&quot;../color&quot;),x=t(&quot;../drawing&quot;),b=t(&quot;../../lib/svg_text_utils&quot;),_=t(&quot;../legend/anchor_utils&quot;),w=t(&quot;../../constants/alignment&quot;).LINE_SPACING,M=t(&quot;./constants&quot;),k=t(&quot;./scrollbox&quot;);e.exports=function(t){var e=t._fullLayout,r=function(t){for(var e=t[M.name],r=[],n=0;n&lt;e.length;n++){var i=e[n];i.visible&amp;&amp;r.push(i)}return r}(e),c=e._menulayer.selectAll(&quot;g.&quot;+M.containerClassName).data(r.length&gt;0?[0]:[]);if(c.enter().append(&quot;g&quot;).classed(M.containerClassName,!0).style(&quot;cursor&quot;,&quot;pointer&quot;),c.exit().remove(),c.exit().size()&amp;&amp;function(t){for(var e=t._fullLayout._pushmargin||{},r=Object.keys(e),n=0;n&lt;r.length;n++){var i=r[n];-1!==i.indexOf(M.autoMarginIdRoot)&amp;&amp;v.autoMargin(t,i)}}(t),0!==r.length){var u=c.selectAll(&quot;g.&quot;+M.headerGroupClassName).data(r,n);u.enter().append(&quot;g&quot;).classed(M.headerGroupClassName,!0);var f=c.selectAll(&quot;g.&quot;+M.dropdownButtonGroupClassName).data([0]);f.enter().append(&quot;g&quot;).classed(M.dropdownButtonGroupClassName,!0).style(&quot;pointer-events&quot;,&quot;all&quot;);for(var h=0;h&lt;r.length;h++){var d=r[h];!function(t,e){e.width1=0,e.height1=0,e.heights=[],e.widths=[],e.totalWidth=0,e.totalHeight=0,e.openWidth=0,e.openHeight=0,e.lx=0,e.ly=0;var r=x.tester.selectAll(&quot;g.&quot;+M.dropdownButtonClassName).data(e.buttons);r.enter().append(&quot;g&quot;).classed(M.dropdownButtonClassName,!0);var n=-1!==[&quot;up&quot;,&quot;down&quot;].indexOf(e.direction);r.each(function(r,i){var a=g.select(this);a.call(l,e,r,t);var o=a.select(&quot;.&quot;+M.itemTextClassName),s=o.node()&amp;&amp;x.bBox(o.node()).width,c=Math.max(s+M.textPadX,M.minWidth),u=e.font.size*w,f=b.lineCount(o),h=Math.max(u*f,M.minHeight)+M.textOffsetY;h=Math.ceil(h),c=Math.ceil(c),e.widths[i]=c,e.heights[i]=h,e.height1=Math.max(e.height1,h),e.width1=Math.max(e.width1,c),n?(e.totalWidth=Math.max(e.totalWidth,c),e.openWidth=e.totalWidth,e.totalHeight+=h+M.gapButton,e.openHeight+=h+M.gapButton):(e.totalWidth+=c+M.gapButton,e.openWidth+=c+M.gapButton,e.totalHeight=Math.max(e.totalHeight,h),e.openHeight=e.totalHeight)}),n?e.totalHeight-=M.gapButton:e.totalWidth-=M.gapButton,e.headerWidth=e.width1+M.arrowPadX,e.headerHeight=e.height1,&quot;dropdown&quot;===e.type&amp;&amp;(n?(e.width1+=M.arrowPadX,e.totalHeight=e.height1):e.totalWidth=e.width1,e.totalWidth+=M.arrowPadX),r.remove();var i=e.totalWidth+e.pad.l+e.pad.r,a=e.totalHeight+e.pad.t+e.pad.b,o=t._fullLayout._size;e.lx=o.l+o.w*e.x,e.ly=o.t+o.h*(1-e.y);var s=&quot;left&quot;;_.isRightAnchor(e)&amp;&amp;(e.lx-=i,s=&quot;right&quot;),_.isCenterAnchor(e)&amp;&amp;(e.lx-=i/2,s=&quot;center&quot;);var c=&quot;top&quot;;_.isBottomAnchor(e)&amp;&amp;(e.ly-=a,c=&quot;bottom&quot;),_.isMiddleAnchor(e)&amp;&amp;(e.ly-=a/2,c=&quot;middle&quot;),e.totalWidth=Math.ceil(e.totalWidth),e.totalHeight=Math.ceil(e.totalHeight),e.lx=Math.round(e.lx),e.ly=Math.round(e.ly),v.autoMargin(t,M.autoMarginIdRoot+e._index,{x:e.x,y:e.y,l:i*({right:1,center:.5}[s]||0),r:i*({left:1,center:.5}[s]||0),b:a*({top:1,middle:.5}[c]||0),t:a*({bottom:1,middle:.5}[c]||0)})}(t,d)}var p=&quot;updatemenus&quot;+e._uid,y=new k(t,f,p);u.enter().size()&amp;&amp;(f.node().parentNode.appendChild(f.node()),f.call(m).attr(M.menuIndexAttrName,&quot;-1&quot;)),u.exit().each(function(e){g.select(this).remove(),f.call(m).attr(M.menuIndexAttrName,&quot;-1&quot;),v.autoMargin(t,M.autoMarginIdRoot+e._index)}),u.each(function(e){var r=g.select(this),n=&quot;dropdown&quot;===e.type?f:null;v.manageCommandObserver(t,e,e.buttons,function(i){a(t,e,e.buttons[i.index],r,n,y,i.index,!0)}),&quot;dropdown&quot;===e.type?(o(t,r,f,y,e),i(f,e)&amp;&amp;s(t,r,f,y,e)):s(t,r,null,null,e)})}}},{&quot;../../constants/alignment&quot;:716,&quot;../../lib/svg_text_utils&quot;:766,&quot;../../plots/plots&quot;:852,&quot;../color&quot;:618,&quot;../drawing&quot;:643,&quot;../legend/anchor_utils&quot;:669,&quot;./constants&quot;:711,&quot;./scrollbox&quot;:715,d3:128}],714:[function(t,e,r){arguments[4][708][0].apply(r,arguments)},{&quot;./attributes&quot;:710,&quot;./constants&quot;:711,&quot;./defaults&quot;:712,&quot;./draw&quot;:713,dup:708}],715:[function(t,e,r){&quot;use strict&quot;;function n(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(&quot;rect.scrollbox-bg&quot;).data([0]),this.bg.exit().on(&quot;.drag&quot;,null).on(&quot;wheel&quot;,null).remove(),this.bg.enter().append(&quot;rect&quot;).classed(&quot;scrollbox-bg&quot;,!0).style(&quot;pointer-events&quot;,&quot;all&quot;).attr({opacity:0,x:0,y:0,width:0,height:0})}e.exports=n;var i=t(&quot;d3&quot;),a=t(&quot;../color&quot;),o=t(&quot;../drawing&quot;),s=t(&quot;../../lib&quot;);n.barWidth=2,n.barLength=20,n.barRadius=2,n.barPad=1,n.barColor=&quot;#808BA4&quot;,n.prototype.enable=function(t,e,r){var s=this.gd._fullLayout,l=s.width,c=s.height;this.position=t;var u,f,h,d,p=this.position.l,m=this.position.w,g=this.position.t,v=this.position.h,y=this.position.direction,x=&quot;down&quot;===y,b=&quot;left&quot;===y,_=&quot;up&quot;===y,w=m,M=v;x||b||&quot;right&quot;===y||_||(this.position.direction=&quot;down&quot;,x=!0);x||_?(f=(u=p)+w,x?(h=g,M=(d=Math.min(h+M,c))-h):M=(d=g+M)-(h=Math.max(d-M,0))):(d=(h=g)+M,b?w=(f=p+w)-(u=Math.max(f-w,0)):(u=p,w=(f=Math.min(u+w,l))-u)),this._box={l:u,t:h,w:w,h:M};var k=m&gt;w,A=n.barLength+2*n.barPad,T=n.barWidth+2*n.barPad,S=p,E=g+v;E+T&gt;c&amp;&amp;(E=c-T);var L=this.container.selectAll(&quot;rect.scrollbar-horizontal&quot;).data(k?[0]:[]);L.exit().on(&quot;.drag&quot;,null).remove(),L.enter().append(&quot;rect&quot;).classed(&quot;scrollbar-horizontal&quot;,!0).call(a.fill,n.barColor),k?(this.hbar=L.attr({rx:n.barRadius,ry:n.barRadius,x:S,y:E,width:A,height:T}),this._hbarXMin=S+A/2,this._hbarTranslateMax=w-A):(delete this.hbar,delete this._hbarXMin,delete this._hbarTranslateMax);var C=v&gt;M,z=n.barWidth+2*n.barPad,D=n.barLength+2*n.barPad,I=p+m,P=g;I+z&gt;l&amp;&amp;(I=l-z);var O=this.container.selectAll(&quot;rect.scrollbar-vertical&quot;).data(C?[0]:[]);O.exit().on(&quot;.drag&quot;,null).remove(),O.enter().append(&quot;rect&quot;).classed(&quot;scrollbar-vertical&quot;,!0).call(a.fill,n.barColor),C?(this.vbar=O.attr({rx:n.barRadius,ry:n.barRadius,x:I,y:P,width:z,height:D}),this._vbarYMin=P+D/2,this._vbarTranslateMax=M-D):(delete this.vbar,delete this._vbarYMin,delete this._vbarTranslateMax);var F=this.id,R=u-.5,N=C?f+z+.5:f+.5,j=h-.5,B=k?d+T+.5:d+.5,U=s._topdefs.selectAll(&quot;#&quot;+F).data(k||C?[0]:[]);if(U.exit().remove(),U.enter().append(&quot;clipPath&quot;).attr(&quot;id&quot;,F).append(&quot;rect&quot;),k||C?(this._clipRect=U.select(&quot;rect&quot;).attr({x:Math.floor(R),y:Math.floor(j),width:Math.ceil(N)-Math.floor(R),height:Math.ceil(B)-Math.floor(j)}),this.container.call(o.setClipUrl,F),this.bg.attr({x:p,y:g,width:m,height:v})):(this.bg.attr({width:0,height:0}),this.container.on(&quot;wheel&quot;,null).on(&quot;.drag&quot;,null).call(o.setClipUrl,null),delete this._clipRect),k||C){var V=i.behavior.drag().on(&quot;dragstart&quot;,function(){i.event.sourceEvent.preventDefault()}).on(&quot;drag&quot;,this._onBoxDrag.bind(this));this.container.on(&quot;wheel&quot;,null).on(&quot;wheel&quot;,this._onBoxWheel.bind(this)).on(&quot;.drag&quot;,null).call(V);var q=i.behavior.drag().on(&quot;dragstart&quot;,function(){i.event.sourceEvent.preventDefault(),i.event.sourceEvent.stopPropagation()}).on(&quot;drag&quot;,this._onBarDrag.bind(this));k&amp;&amp;this.hbar.on(&quot;.drag&quot;,null).call(q),C&amp;&amp;this.vbar.on(&quot;.drag&quot;,null).call(q)}this.setTranslate(e,r)},n.prototype.disable=function(){(this.hbar||this.vbar)&amp;&amp;(this.bg.attr({width:0,height:0}),this.container.on(&quot;wheel&quot;,null).on(&quot;.drag&quot;,null).call(o.setClipUrl,null),delete this._clipRect),this.hbar&amp;&amp;(this.hbar.on(&quot;.drag&quot;,null),this.hbar.remove(),delete this.hbar,delete this._hbarXMin,delete this._hbarTranslateMax),this.vbar&amp;&amp;(this.vbar.on(&quot;.drag&quot;,null),this.vbar.remove(),delete this.vbar,delete this._vbarYMin,delete this._vbarTranslateMax)},n.prototype._onBoxDrag=function(){var t=this.translateX,e=this.translateY;this.hbar&amp;&amp;(t-=i.event.dx),this.vbar&amp;&amp;(e-=i.event.dy),this.setTranslate(t,e)},n.prototype._onBoxWheel=function(){var t=this.translateX,e=this.translateY;this.hbar&amp;&amp;(t+=i.event.deltaY),this.vbar&amp;&amp;(e+=i.event.deltaY),this.setTranslate(t,e)},n.prototype._onBarDrag=function(){var t=this.translateX,e=this.translateY;if(this.hbar){var r=t+this._hbarXMin,n=r+this._hbarTranslateMax;t=(s.constrain(i.event.x,r,n)-r)/(n-r)*(this.position.w-this._box.w)}if(this.vbar){var a=e+this._vbarYMin,o=a+this._vbarTranslateMax;e=(s.constrain(i.event.y,a,o)-a)/(o-a)*(this.position.h-this._box.h)}this.setTranslate(t,e)},n.prototype.setTranslate=function(t,e){var r=this.position.w-this._box.w,n=this.position.h-this._box.h;if(t=s.constrain(t||0,0,r),e=s.constrain(e||0,0,n),this.translateX=t,this.translateY=e,this.container.call(o.setTranslate,this._box.l-this.position.l-t,this._box.t-this.position.t-e),this._clipRect&amp;&amp;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(o.setTranslate,t+i*this._hbarTranslateMax,e)}if(this.vbar){var a=e/n;this.vbar.call(o.setTranslate,t,e+a*this._vbarTranslateMax)}}},{&quot;../../lib&quot;:743,&quot;../color&quot;:618,&quot;../drawing&quot;:643,d3:128}],716:[function(t,e,r){&quot;use strict&quot;;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},LINE_SPACING:1.3,MID_SHIFT:.35,OPPOSITE_SIDE:{left:&quot;right&quot;,right:&quot;left&quot;,top:&quot;bottom&quot;,bottom:&quot;top&quot;}}},{}],717:[function(t,e,r){&quot;use strict&quot;;e.exports={solid:[1],dot:[1,1],dash:[4,1],longdash:[8,1],dashdot:[4,1,1,1],longdashdot:[8,1,1,1]}},{}],718:[function(t,e,r){&quot;use strict&quot;;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]}},{}],719:[function(t,e,r){&quot;use strict&quot;;e.exports={circle:&quot;\u25cf&quot;,&quot;circle-open&quot;:&quot;\u25cb&quot;,square:&quot;\u25a0&quot;,&quot;square-open&quot;:&quot;\u25a1&quot;,diamond:&quot;\u25c6&quot;,&quot;diamond-open&quot;:&quot;\u25c7&quot;,cross:&quot;+&quot;,x:&quot;\u274c&quot;}},{}],720:[function(t,e,r){&quot;use strict&quot;;e.exports={SHOW_PLACEHOLDER:100,HIDE_PLACEHOLDER:1e3,DBLCLICKDELAY:300,DESELECTDIM:.2}},{}],721:[function(t,e,r){&quot;use strict&quot;;e.exports={BADNUM:void 0,FP_SAFE:Number.MAX_VALUE/1e4,ONEAVGYEAR:315576e5,ONEAVGMONTH:26298e5,ONEDAY:864e5,ONEHOUR:36e5,ONEMIN:6e4,ONESEC:1e3,EPOCHJD:2440587.5,ALMOST_EQUAL:1-1e-6,MINUS_SIGN:&quot;\u2212&quot;}},{}],722:[function(t,e,r){&quot;use strict&quot;;e.exports={entityToUnicode:{mu:&quot;\u03bc&quot;,&quot;#956&quot;:&quot;\u03bc&quot;,amp:&quot;&amp;&quot;,&quot;#28&quot;:&quot;&amp;&quot;,lt:&quot;&lt;&quot;,&quot;#60&quot;:&quot;&lt;&quot;,gt:&quot;&gt;&quot;,&quot;#62&quot;:&quot;&gt;&quot;,nbsp:&quot;\xa0&quot;,&quot;#160&quot;:&quot;\xa0&quot;,times:&quot;\xd7&quot;,&quot;#215&quot;:&quot;\xd7&quot;,plusmn:&quot;\xb1&quot;,&quot;#177&quot;:&quot;\xb1&quot;,deg:&quot;\xb0&quot;,&quot;#176&quot;:&quot;\xb0&quot;}}},{}],723:[function(t,e,r){&quot;use strict&quot;;r.xmlns=&quot;http://www.w3.org/2000/xmlns/&quot;,r.svg=&quot;http://www.w3.org/2000/svg&quot;,r.xlink=&quot;http://www.w3.org/1999/xlink&quot;,r.svgAttrs={xmlns:r.svg,&quot;xmlns:xlink&quot;:r.xlink}},{}],724:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;./plotly&quot;);r.version=&quot;1.33.1&quot;,t(&quot;es6-promise&quot;).polyfill(),t(&quot;../build/plotcss&quot;),t(&quot;./fonts/mathjax_config&quot;),r.plot=n.plot,r.newPlot=n.newPlot,r.restyle=n.restyle,r.relayout=n.relayout,r.redraw=n.redraw,r.update=n.update,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.setPlotConfig=t(&quot;./plot_api/set_plot_config&quot;),r.register=t(&quot;./plot_api/register&quot;),r.toImage=t(&quot;./plot_api/to_image&quot;),r.downloadImage=t(&quot;./snapshot/download&quot;),r.validate=t(&quot;./plot_api/validate&quot;),r.addFrames=n.addFrames,r.deleteFrames=n.deleteFrames,r.animate=n.animate,r.register(t(&quot;./traces/scatter&quot;)),r.register([t(&quot;./components/fx&quot;),t(&quot;./components/legend&quot;),t(&quot;./components/annotations&quot;),t(&quot;./components/annotations3d&quot;),t(&quot;./components/shapes&quot;),t(&quot;./components/images&quot;),t(&quot;./components/updatemenus&quot;),t(&quot;./components/sliders&quot;),t(&quot;./components/rangeslider&quot;),t(&quot;./components/rangeselector&quot;)]),r.register([t(&quot;./locale-en&quot;),t(&quot;./locale-en-us&quot;)]),r.Icons=t(&quot;../build/ploticon&quot;),r.Plots=n.Plots,r.Fx=t(&quot;./components/fx&quot;),r.Snapshot=t(&quot;./snapshot&quot;),r.PlotSchema=t(&quot;./plot_api/plot_schema&quot;),r.Queue=t(&quot;./lib/queue&quot;),r.d3=t(&quot;d3&quot;)},{&quot;../build/plotcss&quot;:1,&quot;../build/ploticon&quot;:2,&quot;./components/annotations&quot;:609,&quot;./components/annotations3d&quot;:614,&quot;./components/fx&quot;:660,&quot;./components/images&quot;:668,&quot;./components/legend&quot;:677,&quot;./components/rangeselector&quot;:689,&quot;./components/rangeslider&quot;:695,&quot;./components/shapes&quot;:702,&quot;./components/sliders&quot;:708,&quot;./components/updatemenus&quot;:714,&quot;./fonts/mathjax_config&quot;:725,&quot;./lib/queue&quot;:757,&quot;./locale-en&quot;:771,&quot;./locale-en-us&quot;:770,&quot;./plot_api/plot_schema&quot;:778,&quot;./plot_api/register&quot;:779,&quot;./plot_api/set_plot_config&quot;:780,&quot;./plot_api/to_image&quot;:782,&quot;./plot_api/validate&quot;:783,&quot;./plotly&quot;:784,&quot;./snapshot&quot;:878,&quot;./snapshot/download&quot;:875,&quot;./traces/scatter&quot;:1078,d3:128,&quot;es6-promise&quot;:137}],725:[function(t,e,r){&quot;use strict&quot;;&quot;undefined&quot;!=typeof MathJax?(r.MathJax=!0,MathJax.Hub.Config({messageStyle:&quot;none&quot;,skipStartupTypeset:!0,displayAlign:&quot;left&quot;,tex2jax:{inlineMath:[[&quot;$&quot;,&quot;$&quot;],[&quot;\\(&quot;,&quot;\\)&quot;]]}}),MathJax.Hub.Configured()):r.MathJax=!1},{}],726:[function(t,e,r){&quot;use strict&quot;;var n=Math.PI;r.deg2rad=function(t){return t/180*n},r.rad2deg=function(t){return t/n*180},r.wrap360=function(t){var e=t%360;return e&lt;0?e+360:e},r.wrap180=function(t){return Math.abs(t)&gt;180&amp;&amp;(t-=360*Math.round(t/360)),t}},{}],727:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;fast-isnumeric&quot;),i=t(&quot;../constants/numerical&quot;).BADNUM,a=/^['&quot;%,$#\s']+|[, ]|['&quot;%,$#\s']+$/g;e.exports=function(t){return&quot;string&quot;==typeof t&amp;&amp;(t=t.replace(a,&quot;&quot;)),n(t)?Number(t):i}},{&quot;../constants/numerical&quot;:721,&quot;fast-isnumeric&quot;:140}],728:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;fast-isnumeric&quot;),i=t(&quot;tinycolor2&quot;),a=t(&quot;../plots/attributes&quot;),o=t(&quot;../components/colorscale/get_scale&quot;),s=(Object.keys(t(&quot;../components/colorscale/scales&quot;)),t(&quot;./nested_property&quot;)),l=t(&quot;./regex&quot;).counter,c=t(&quot;../constants/interactions&quot;).DESELECTDIM,u=t(&quot;./angles&quot;).wrap180;r.valObjectMeta={data_array:{coerceFunction:function(t,e,r){Array.isArray(t)?e.set(t):void 0!==r&amp;&amp;e.set(r)}},enumerated:{coerceFunction:function(t,e,r,n){n.coerceNumber&amp;&amp;(t=+t),-1===n.values.indexOf(t)?e.set(r):e.set(t)},validateFunction:function(t,e){e.coerceNumber&amp;&amp;(t=+t);for(var r=e.values,n=0;n&lt;r.length;n++){var i=String(r[n]);if(&quot;/&quot;===i.charAt(0)&amp;&amp;&quot;/&quot;===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&amp;&amp;t&lt;i.min||void 0!==i.max&amp;&amp;t&gt;i.max?e.set(r):e.set(+t)}},integer:{coerceFunction:function(t,e,r,i){t%1||!n(t)||void 0!==i.min&amp;&amp;t&lt;i.min||void 0!==i.max&amp;&amp;t&gt;i.max?e.set(r):e.set(+t)}},string:{coerceFunction:function(t,e,r,n){if(&quot;string&quot;!=typeof t){var i=&quot;number&quot;==typeof t;!0!==n.strict&amp;&amp;i?e.set(String(t)):e.set(r)}else n.noBlank&amp;&amp;!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)&amp;&amp;t.length&amp;&amp;t.every(function(t){return i(t).isValid()})?e.set(t):e.set(r)}},colorscale:{coerceFunction:function(t,e,r){e.set(o(t,r))}},angle:{coerceFunction:function(t,e,r){&quot;auto&quot;===t?e.set(&quot;auto&quot;):n(t)?e.set(u(+t)):e.set(r)}},subplotid:{coerceFunction:function(t,e,r){&quot;string&quot;==typeof t&amp;&amp;l(r).test(t)?e.set(t):e.set(r)},validateFunction:function(t,e){var r=e.dflt;return t===r||&quot;string&quot;==typeof t&amp;&amp;!!l(r).test(t)}},flaglist:{coerceFunction:function(t,e,r,n){if(&quot;string&quot;==typeof t)if(-1===(n.extras||[]).indexOf(t)){for(var i=t.split(&quot;+&quot;),a=0;a&lt;i.length;){var o=i[a];-1===n.flags.indexOf(o)||i.indexOf(o)&lt;a?i.splice(a,1):a++}i.length?e.set(i.join(&quot;+&quot;)):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){if(Array.isArray(t)){var a=i.items,o=[];n=Array.isArray(n)?n:[];for(var s=0;s&lt;a.length;s++)r.coerce(t,o,a,&quot;[&quot;+s+&quot;]&quot;,n[s]);e.set(o)}else e.set(n)},validateFunction:function(t,e){if(!Array.isArray(t))return!1;var n=e.items;if(!e.freeLength&amp;&amp;t.length!==n.length)return!1;for(var i=0;i&lt;t.length;i++){if(!r.validate(t[i],e.items[i]))return!1}return!0}}},r.coerce=function(t,e,n,i,a){var o=s(n,i).get(),l=s(t,i),c=s(e,i),u=l.get();return void 0===a&amp;&amp;(a=o.dflt),o.arrayOk&amp;&amp;Array.isArray(u)?(c.set(u),u):(r.valObjectMeta[o.valType].coerceFunction(u,c,a,o),c.get())},r.coerce2=function(t,e,n,i,a){var o=s(t,i),l=r.coerce(t,e,n,i,a),c=o.get();return void 0!==c&amp;&amp;null!==c&amp;&amp;l},r.coerceFont=function(t,e,r){var n={};return r=r||{},n.family=t(e+&quot;.family&quot;,r.family),n.size=t(e+&quot;.size&quot;,r.size),n.color=t(e+&quot;.color&quot;,r.color),n},r.coerceHoverinfo=function(t,e,n){var i,o=e._module.attributes,s=o.hoverinfo?{hoverinfo:o.hoverinfo}:a,l=s.hoverinfo;if(1===n._dataLength){var c=&quot;all&quot;===l.dflt?l.flags.slice():l.dflt.split(&quot;+&quot;);c.splice(c.indexOf(&quot;name&quot;),1),i=c.join(&quot;+&quot;)}return r.coerce(t,e,s,&quot;hoverinfo&quot;,i)},r.coerceSelectionMarkerOpacity=function(t,e){if(t.marker){var r,n,i=t.marker.opacity;Array.isArray(i)||t.selected||t.unselected||(r=i,n=c*i),e(&quot;selected.marker.opacity&quot;,r),e(&quot;unselected.marker.opacity&quot;,n)}},r.validate=function(t,e){var n=r.valObjectMeta[e.valType];if(e.arrayOk&amp;&amp;Array.isArray(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}},{&quot;../components/colorscale/get_scale&quot;:631,&quot;../components/colorscale/scales&quot;:637,&quot;../constants/interactions&quot;:720,&quot;../plots/attributes&quot;:787,&quot;./angles&quot;:726,&quot;./nested_property&quot;:751,&quot;./regex&quot;:758,&quot;fast-isnumeric&quot;:140,tinycolor2:546}],729:[function(t,e,r){&quot;use strict&quot;;function n(t){return t&amp;&amp;x.componentsRegistry.calendars&amp;&amp;&quot;string&quot;==typeof t&amp;&amp;&quot;gregorian&quot;!==t}function i(t,e){return String(t+Math.pow(10,e)).substr(1)}function a(t,e,r,n,a){if((e||r||n||a)&amp;&amp;(t+=&quot; &quot;+i(e,2)+&quot;:&quot;+i(r,2),(n||a)&amp;&amp;(t+=&quot;:&quot;+i(n,2),a))){for(var o=4;a%10==0;)o-=1,a/=10;t+=&quot;.&quot;+i(a,o)}return t}function o(t,e){var r=f(t+.05,p),n=i(Math.floor(r/m),2)+&quot;:&quot;+i(f(Math.floor(r/g),60),2);if(&quot;M&quot;!==e){c(e)||(e=0);var a=(100+Math.min(f(t/v,60),C[e])).toFixed(e).substr(1);e&gt;0&amp;&amp;(a=a.replace(/0+$/,&quot;&quot;).replace(/[\.]$/,&quot;&quot;)),n+=&quot;:&quot;+a}return n}function s(t){return t.formatDate(&quot;yyyy&quot;)}var l=t(&quot;d3&quot;),c=t(&quot;fast-isnumeric&quot;),u=t(&quot;./loggers&quot;),f=t(&quot;./mod&quot;),h=t(&quot;../constants/numerical&quot;),d=h.BADNUM,p=h.ONEDAY,m=h.ONEHOUR,g=h.ONEMIN,v=h.ONESEC,y=h.EPOCHJD,x=t(&quot;../registry&quot;),b=l.time.format.utc,_=/^\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,w=/^\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,M=(new Date).getFullYear()-70;r.dateTick0=function(t,e){return n(t)?e?x.getComponentMethod(&quot;calendars&quot;,&quot;CANONICAL_SUNDAY&quot;)[t]:x.getComponentMethod(&quot;calendars&quot;,&quot;CANONICAL_TICK&quot;)[t]:e?&quot;2000-01-02&quot;:&quot;2000-01-01&quot;},r.dfltRange=function(t){return n(t)?x.getComponentMethod(&quot;calendars&quot;,&quot;DFLTRANGE&quot;)[t]:[&quot;2000-01-01&quot;,&quot;2001-01-01&quot;]},r.isJSDate=function(t){return&quot;object&quot;==typeof t&amp;&amp;null!==t&amp;&amp;&quot;function&quot;==typeof t.getTime};var k,A;r.dateTime2ms=function(t,e){if(r.isJSDate(t))return(t=Number(t)-t.getTimezoneOffset()*g)&gt;=k&amp;&amp;t&lt;=A?t:d;if(&quot;string&quot;!=typeof t&amp;&amp;&quot;number&quot;!=typeof t)return d;t=String(t);var i=n(e),a=t.charAt(0);!i||&quot;G&quot;!==a&amp;&amp;&quot;g&quot;!==a||(t=t.substr(1),e=&quot;&quot;);var o=i&amp;&amp;&quot;chinese&quot;===e.substr(0,7),s=t.match(o?w:_);if(!s)return d;var l=s[1],c=s[3]||&quot;1&quot;,u=Number(s[5]||1),f=Number(s[7]||0),h=Number(s[9]||0),b=Number(s[11]||0);if(i){if(2===l.length)return d;l=Number(l);var T;try{var S=x.getComponentMethod(&quot;calendars&quot;,&quot;getCal&quot;)(e);if(o){var E=&quot;i&quot;===c.charAt(c.length-1);c=parseInt(c,10),T=S.newDate(l,S.toMonthIndex(l,c,E),u)}else T=S.newDate(l,Number(c),u)}catch(t){return d}return T?(T.toJD()-y)*p+f*m+h*g+b*v:d}l=2===l.length?(Number(l)+2e3-M)%100+M:Number(l),c-=1;var L=new Date(Date.UTC(2e3,c,u,f,h));return L.setUTCFullYear(l),L.getUTCMonth()!==c?d:L.getUTCDate()!==u?d:L.getTime()+b*v},k=r.MIN_MS=r.dateTime2ms(&quot;-9999&quot;),A=r.MAX_MS=r.dateTime2ms(&quot;9999-12-31 23:59:59.9999&quot;),r.isDateTime=function(t,e){return r.dateTime2ms(t,e)!==d};var T=90*p,S=3*m,E=5*g;r.ms2DateTime=function(t,e,r){if(&quot;number&quot;!=typeof t||!(t&gt;=k&amp;&amp;t&lt;=A))return d;e||(e=0);var i,o,s,l,c,u,h=Math.floor(10*f(t+.05,1)),_=Math.round(t-h/10);if(n(r)){var w=Math.floor(_/p)+y,M=Math.floor(f(t,p));try{i=x.getComponentMethod(&quot;calendars&quot;,&quot;getCal&quot;)(r).fromJD(w).formatDate(&quot;yyyy-mm-dd&quot;)}catch(t){i=b(&quot;G%Y-%m-%d&quot;)(new Date(_))}if(&quot;-&quot;===i.charAt(0))for(;i.length&lt;11;)i=&quot;-0&quot;+i.substr(1);else for(;i.length&lt;10;)i=&quot;0&quot;+i;o=e&lt;T?Math.floor(M/m):0,s=e&lt;T?Math.floor(M%m/g):0,l=e&lt;S?Math.floor(M%g/v):0,c=e&lt;E?M%v*10+h:0}else u=new Date(_),i=b(&quot;%Y-%m-%d&quot;)(u),o=e&lt;T?u.getUTCHours():0,s=e&lt;T?u.getUTCMinutes():0,l=e&lt;S?u.getUTCSeconds():0,c=e&lt;E?10*u.getUTCMilliseconds()+h:0;return a(i,o,s,l,c)},r.ms2DateTimeLocal=function(t){if(!(t&gt;=k+p&amp;&amp;t&lt;=A-p))return d;var e=Math.floor(10*f(t+.05,1)),r=new Date(Math.round(t-e/10));return a(l.time.format(&quot;%Y-%m-%d&quot;)(r),r.getHours(),r.getMinutes(),r.getSeconds(),10*r.getUTCMilliseconds()+e)},r.cleanDate=function(t,e,i){if(r.isJSDate(t)||&quot;number&quot;==typeof t){if(n(i))return u.error(&quot;JS Dates and milliseconds are incompatible with world calendars&quot;,t),e;if(!(t=r.ms2DateTimeLocal(+t))&amp;&amp;void 0!==e)return e}else if(!r.isDateTime(t,i))return u.error(&quot;unrecognized date&quot;,t),e;return t};var L=/%\d?f/g,C=[59,59.9,59.99,59.999,59.9999];r.formatDate=function(t,e,r,i,a){var l,c;if(a=n(a)&amp;&amp;a,e)return function(t,e,r,i){t=t.replace(L,function(t){var r=Math.min(+t.charAt(1)||6,6);return(e/1e3%1+2).toFixed(r).substr(2).replace(/0+$/,&quot;&quot;)||&quot;0&quot;});var a=new Date(Math.floor(e+.05));if(n(i))try{t=x.getComponentMethod(&quot;calendars&quot;,&quot;worldCalFmt&quot;)(t,e,i)}catch(t){return&quot;Invalid&quot;}return r(t)(a)}(e,t,i,a);if(a)try{var u=Math.floor((t+.05)/p)+y,f=x.getComponentMethod(&quot;calendars&quot;,&quot;getCal&quot;)(a).fromJD(u);&quot;y&quot;===r?c=s(f):&quot;m&quot;===r?c=function(t){return t.formatDate(&quot;M yyyy&quot;)}(f):&quot;d&quot;===r?(l=s(f),c=function(t){return t.formatDate(&quot;M d&quot;)}(f)):(l=function(t){return t.formatDate(&quot;M d, yyyy&quot;)}(f),c=o(t,r))}catch(t){return&quot;Invalid&quot;}else{var h=new Date(Math.floor(t+.05));&quot;y&quot;===r?c=i(&quot;%Y&quot;)(h):&quot;m&quot;===r?c=i(&quot;%b %Y&quot;)(h):&quot;d&quot;===r?(l=i(&quot;%Y&quot;)(h),c=i(&quot;%b %-d&quot;)(h)):(l=i(&quot;%b %-d, %Y&quot;)(h),c=o(t,r))}return c+(l?&quot;\n&quot;+l:&quot;&quot;)};var z=3*p;r.incrementMonth=function(t,e,r){r=n(r)&amp;&amp;r;var i=f(t,p);if(t=Math.round(t-i),r)try{var a=Math.round(t/p)+y,o=x.getComponentMethod(&quot;calendars&quot;,&quot;getCal&quot;)(r),s=o.fromJD(a);return e%12?o.add(s,e,&quot;m&quot;):o.add(s,e/12,&quot;y&quot;),(s.toJD()-y)*p+i}catch(e){u.error(&quot;invalid ms &quot;+t+&quot; in calendar &quot;+r)}var l=new Date(t+z);return l.setUTCMonth(l.getUTCMonth()+e)+i-z},r.findExactDates=function(t,e){for(var r,i,a=0,o=0,s=0,l=0,u=n(e)&amp;&amp;x.getComponentMethod(&quot;calendars&quot;,&quot;getCal&quot;)(e),f=0;f&lt;t.length;f++)if(i=t[f],c(i)){if(!(i%p))if(u)try{1===(r=u.fromJD(i/p+y)).day()?1===r.month()?a++:o++:s++}catch(t){}else 1===(r=new Date(i)).getUTCDate()?0===r.getUTCMonth()?a++:o++:s++}else l++;s+=o+=a;var h=t.length-l;return{exactYears:a/h,exactMonths:o/h,exactDays:s/h}}},{&quot;../constants/numerical&quot;:721,&quot;../registry&quot;:873,&quot;./loggers&quot;:748,&quot;./mod&quot;:750,d3:128,&quot;fast-isnumeric&quot;:140}],730:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t,e){return Array.isArray(t)||(t=[]),t.length=e,t}},{}],731:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;events&quot;).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){&quot;undefined&quot;!=typeof jQuery&amp;&amp;jQuery(t).trigger(n,i),e.emit(n,i),r.emit(n,i)},t},triggerHandler:function(t,e,r){var n,i;&quot;undefined&quot;!=typeof jQuery&amp;&amp;(n=jQuery(t).triggerHandler(e,r));var a=t._ev;if(!a)return n;var o=a._events[e];if(!o)return n;&quot;function&quot;==typeof o&amp;&amp;(o=[o]);for(var s=o.pop(),l=0;l&lt;o.length;l++)o[l](r);return i=s(r),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:138}],732:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,o){var s,l,c,u,f,h,d=t[0],p=t.length;if(2===p&amp;&amp;a(d)&amp;&amp;a(t[1])&amp;&amp;0===d.length){if(function(t,e){var r,n;for(r=0;r&lt;t.length;r++){if(null!==(n=t[r])&amp;&amp;&quot;object&quot;==typeof n)return!1;void 0!==n&amp;&amp;(e[r]=n)}return!0}(t[1],d))return d;d.splice(0,d.length)}for(var m=1;m&lt;p;m++){s=t[m];for(l in s)c=d[l],u=s[l],o&amp;&amp;a(u)?d[l]=u:e&amp;&amp;u&amp;&amp;(i(u)||(f=a(u)))?(f?(f=!1,h=c&amp;&amp;a(c)?c:[]):h=c&amp;&amp;i(c)?c:{},d[l]=n([h,u],e,r,o)):(void 0!==u||r)&amp;&amp;(d[l]=u)}return d}var i=t(&quot;./is_plain_object.js&quot;),a=Array.isArray;r.extendFlat=function(){return n(arguments,!1,!1,!1)},r.extendDeep=function(){return n(arguments,!0,!1,!1)},r.extendDeepAll=function(){return n(arguments,!0,!0,!1)},r.extendDeepNoArrays=function(){return n(arguments,!0,!1,!0)}},{&quot;./is_plain_object.js&quot;:745}],733:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t){for(var e={},r=[],n=0,i=0;i&lt;t.length;i++){var a=t[i];1!==e[a]&amp;&amp;(e[a]=1,r[n++]=a)}return r}},{}],734:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t){for(var e=function(t){return Array.isArray(t)&amp;&amp;Array.isArray(t[0])&amp;&amp;t[0][0]&amp;&amp;t[0][0].trace}(t)?function(t){return!0===t[0].trace.visible}:function(t){return!0===t.visible},r=[],n=0;n&lt;t.length;n++){var i=t[n];e(i)&amp;&amp;r.push(i)}return r}},{}],735:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;country-regex&quot;),i=t(&quot;../lib&quot;),a=Object.keys(n),o={&quot;ISO-3&quot;:i.identity,&quot;USA-states&quot;:i.identity,&quot;country names&quot;:function(t){for(var e=0;e&lt;a.length;e++){var r=a[e];if(new RegExp(n[r]).test(t.trim().toLowerCase()))return r}return i.log(&quot;Unrecognized country name: &quot;+t+&quot;.&quot;),!1}};r.locationToFeature=function(t,e,r){if(!e||&quot;string&quot;!=typeof e)return!1;var n=function(t,e){return(0,o[t])(e)}(t,e);if(n){for(var a=0;a&lt;r.length;a++){var s=r[a];if(s.id===n)return s}i.log([&quot;Location with id&quot;,n,&quot;does not have a matching topojson feature at this resolution.&quot;].join(&quot; &quot;))}return!1}},{&quot;../lib&quot;:743,&quot;country-regex&quot;:113}],736:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../constants/numerical&quot;).BADNUM;r.calcTraceToLineCoords=function(t){for(var e=t[0].trace.connectgaps,r=[],i=[],a=0;a&lt;t.length;a++){var o=t[a].lonlat;o[0]!==n?i.push(o):!e&amp;&amp;i.length&gt;0&amp;&amp;(r.push(i),i=[])}return i.length&gt;0&amp;&amp;r.push(i),r},r.makeLine=function(t){return 1===t.length?{type:&quot;LineString&quot;,coordinates:t[0]}:{type:&quot;MultiLineString&quot;,coordinates:t}},r.makePolygon=function(t){if(1===t.length)return{type:&quot;Polygon&quot;,coordinates:t};for(var e=new Array(t.length),r=0;r&lt;t.length;r++)e[r]=[t[r]];return{type:&quot;MultiPolygon&quot;,coordinates:e}},r.makeBlank=function(){return{type:&quot;Point&quot;,coordinates:[]}}},{&quot;../constants/numerical&quot;:721}],737:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,n,i,a,o,s){var l=r-t,c=i-t,u=o-i,f=n-e,h=a-e,d=s-a,p=l*d-u*f;if(0===p)return null;var m=(c*d-u*h)/p,g=(c*f-l*h)/p;return g&lt;0||g&gt;1||m&lt;0||m&gt;1?null:{x:t+l*m,y:e+f*m}}function i(t,e,r,n,i){var a=n*t+i*e;if(a&lt;0)return n*n+i*i;if(a&gt;r){var o=n-t,s=i-e;return o*o+s*s}var l=n*e-i*t;return l*l/r}var a=t(&quot;./mod&quot;);r.segmentsIntersect=n,r.segmentDistance=function(t,e,r,a,o,s,l,c){if(n(t,e,r,a,o,s,l,c))return 0;var u=r-t,f=a-e,h=l-o,d=c-s,p=u*u+f*f,m=h*h+d*d,g=Math.min(i(u,f,p,o-t,s-e),i(u,f,p,l-t,c-e),i(h,d,m,t-o,e-s),i(h,d,m,r-o,a-s));return Math.sqrt(g)};var o,s,l;r.getTextLocation=function(t,e,r,n){if(t===s&amp;&amp;n===l||(o={},s=t,l=n),o[r])return o[r];var i=t.getPointAtLength(a(r-n/2,e)),c=t.getPointAtLength(a(r+n/2,e)),u=Math.atan((c.y-i.y)/(c.x-i.x)),f=t.getPointAtLength(a(r,e)),h={x:(4*f.x+i.x+c.x)/6,y:(4*f.y+i.y+c.y)/6,theta:u};return o[r]=h,h},r.clearLocationCache=function(){s=null},r.getVisibleSegment=function(t,e,r){function n(e){var r=t.getPointAtLength(e);0===e?i=r:e===f&amp;&amp;(a=r);var n=r.x&lt;o?o-r.x:r.x&gt;s?r.x-s:0,u=r.y&lt;l?l-r.y:r.y&gt;c?r.y-c:0;return Math.sqrt(n*n+u*u)}for(var i,a,o=e.left,s=e.right,l=e.top,c=e.bottom,u=0,f=t.getTotalLength(),h=f,d=n(u);d;){if((u+=d+r)&gt;h)return;d=n(u)}for(d=n(h);d;){if(h-=d+r,u&gt;h)return;d=n(h)}return{min:u,max:h,len:h-u,total:f,isClosed:0===u&amp;&amp;h===f&amp;&amp;Math.abs(i.x-a.x)&lt;.1&amp;&amp;Math.abs(i.y-a.y)&lt;.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]&gt;t.getPointAtLength(s)[r]?-1:1,f=0,h=0,d=s;f&lt;c;){if(i=(h+d)/2,a=t.getPointAtLength(i),o=a[r]-e,Math.abs(o)&lt;l)return a;u*o&gt;0?d=i:h=i,f++}return a}},{&quot;./mod&quot;:750}],738:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t){var e;if(&quot;string&quot;==typeof t){if(null===(e=document.getElementById(t)))throw new Error(&quot;No DOM element with id '&quot;+t+&quot;' exists on the page.&quot;);return e}if(null===t||void 0===t)throw new Error(&quot;DOM element provided is null or undefined&quot;);return t}},{}],739:[function(t,e,r){&quot;use strict&quot;;function n(t,e){var r=t;return r[3]*=e,r}function i(t){if(o(t))return u;var e=s(t);return e.length?e:u}function a(t){return o(t)?t:f}var o=t(&quot;fast-isnumeric&quot;),s=t(&quot;color-normalize&quot;),l=t(&quot;../components/colorscale&quot;),c=t(&quot;../components/color/attributes&quot;).defaultLine,u=s(c),f=1;e.exports=function(t,e,r){var o,c,h,d,p,m=t.color,g=Array.isArray(m),v=Array.isArray(e),y=[];if(o=void 0!==t.colorscale?l.makeColorScaleFunc(l.extractScale(t.colorscale,t.cmin,t.cmax)):i,c=g?function(t,e){return void 0===t[e]?u:s(o(t[e]))}:i,h=v?function(t,e){return void 0===t[e]?f:a(t[e])}:a,g||v)for(var x=0;x&lt;r;x++)d=c(m,x),p=h(e,x),y[x]=n(d,p);else y=n(s(m),e);return y}},{&quot;../components/color/attributes&quot;:617,&quot;../components/colorscale&quot;:633,&quot;color-normalize&quot;:99,&quot;fast-isnumeric&quot;:140}],740:[function(t,e,r){&quot;use strict&quot;;function n(t){return[t]}var i=t(&quot;./identity&quot;);e.exports={keyFun:function(t){return t.key},repeat:n,descend:i,wrap:n,unwrap:function(t){return t[0]}}},{&quot;./identity&quot;:742}],741:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;superscript-text&quot;),i=t(&quot;../constants/string_mappings&quot;);e.exports=function(t){return&quot;&quot;+function(t){for(var e=i.entityToUnicode,r=0;(r=t.indexOf(&quot;&amp;&quot;,r))&gt;=0;){var n=t.indexOf(&quot;;&quot;,r);if(n&lt;r)r+=1;else{var a=e[t.slice(r+1,n)];t=a?t.slice(0,r)+a+t.slice(n+1):t.slice(0,r)+t.slice(n+1)}}return t}(function(t){return t.replace(/\&lt;.*\&gt;/g,&quot;&quot;)}(function(t){for(var e=0;(e=t.indexOf(&quot;&lt;sup&gt;&quot;,e))&gt;=0;){var r=t.indexOf(&quot;&lt;/sup&gt;&quot;,e);if(r&lt;e)break;t=t.slice(0,e)+n(t.slice(e+5,r))+t.slice(r+6)}return t}(function(t){return t.replace(/\&lt;br\&gt;/g,&quot;\n&quot;)}(t))))}},{&quot;../constants/string_mappings&quot;:722,&quot;superscript-text&quot;:539}],742:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t){return t}},{}],743:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;d3&quot;),i=t(&quot;fast-isnumeric&quot;),a=t(&quot;../constants/numerical&quot;),o=a.FP_SAFE,s=a.BADNUM,l=e.exports={};l.nestedProperty=t(&quot;./nested_property&quot;),l.keyedContainer=t(&quot;./keyed_container&quot;),l.relativeAttr=t(&quot;./relative_attr&quot;),l.isPlainObject=t(&quot;./is_plain_object&quot;),l.isArray=t(&quot;./is_array&quot;),l.mod=t(&quot;./mod&quot;),l.toLogRange=t(&quot;./to_log_range&quot;),l.relinkPrivateKeys=t(&quot;./relink_private&quot;),l.ensureArray=t(&quot;./ensure_array&quot;);var c=t(&quot;./coerce&quot;);l.valObjectMeta=c.valObjectMeta,l.coerce=c.coerce,l.coerce2=c.coerce2,l.coerceFont=c.coerceFont,l.coerceHoverinfo=c.coerceHoverinfo,l.coerceSelectionMarkerOpacity=c.coerceSelectionMarkerOpacity,l.validate=c.validate;var u=t(&quot;./dates&quot;);l.dateTime2ms=u.dateTime2ms,l.isDateTime=u.isDateTime,l.ms2DateTime=u.ms2DateTime,l.ms2DateTimeLocal=u.ms2DateTimeLocal,l.cleanDate=u.cleanDate,l.isJSDate=u.isJSDate,l.formatDate=u.formatDate,l.incrementMonth=u.incrementMonth,l.dateTick0=u.dateTick0,l.dfltRange=u.dfltRange,l.findExactDates=u.findExactDates,l.MIN_MS=u.MIN_MS,l.MAX_MS=u.MAX_MS;var f=t(&quot;./search&quot;);l.findBin=f.findBin,l.sorterAsc=f.sorterAsc,l.sorterDes=f.sorterDes,l.distinctVals=f.distinctVals,l.roundUp=f.roundUp;var h=t(&quot;./stats&quot;);l.aggNums=h.aggNums,l.len=h.len,l.mean=h.mean,l.variance=h.variance,l.stdev=h.stdev,l.interp=h.interp;var d=t(&quot;./matrix&quot;);l.init2dArray=d.init2dArray,l.transposeRagged=d.transposeRagged,l.dot=d.dot,l.translationMatrix=d.translationMatrix,l.rotationMatrix=d.rotationMatrix,l.rotationXYMatrix=d.rotationXYMatrix,l.apply2DTransform=d.apply2DTransform,l.apply2DTransform2=d.apply2DTransform2;var p=t(&quot;./angles&quot;);l.deg2rad=p.deg2rad,l.rad2deg=p.rad2deg,l.wrap360=p.wrap360,l.wrap180=p.wrap180;var m=t(&quot;./geometry2d&quot;);l.segmentsIntersect=m.segmentsIntersect,l.segmentDistance=m.segmentDistance,l.getTextLocation=m.getTextLocation,l.clearLocationCache=m.clearLocationCache,l.getVisibleSegment=m.getVisibleSegment,l.findPointOnPath=m.findPointOnPath;var g=t(&quot;./extend&quot;);l.extendFlat=g.extendFlat,l.extendDeep=g.extendDeep,l.extendDeepAll=g.extendDeepAll,l.extendDeepNoArrays=g.extendDeepNoArrays;var v=t(&quot;./loggers&quot;);l.log=v.log,l.warn=v.warn,l.error=v.error;var y=t(&quot;./regex&quot;);l.counterRegex=y.counter;var x=t(&quot;./throttle&quot;);l.throttle=x.throttle,l.throttleDone=x.done,l.clearThrottle=x.clear,l.getGraphDiv=t(&quot;./get_graph_div&quot;),l._=t(&quot;./localize&quot;),l.notifier=t(&quot;./notifier&quot;),l.filterUnique=t(&quot;./filter_unique&quot;),l.filterVisible=t(&quot;./filter_visible&quot;),l.pushUnique=t(&quot;./push_unique&quot;),l.cleanNumber=t(&quot;./clean_number&quot;),l.ensureNumber=function(t){return i(t)?(t=Number(t))&lt;-o||t&gt;o?s:i(t)?Number(t):s:s},l.noop=t(&quot;./noop&quot;),l.identity=t(&quot;./identity&quot;),l.swapAttrs=function(t,e,r,n){r||(r=&quot;x&quot;),n||(n=&quot;y&quot;);for(var i=0;i&lt;e.length;i++){var a=e[i],o=l.nestedProperty(t,a.replace(&quot;?&quot;,r)),s=l.nestedProperty(t,a.replace(&quot;?&quot;,n)),c=o.get();o.set(s.get()),s.set(c)}},l.pauseEvent=function(t){return t.stopPropagation&amp;&amp;t.stopPropagation(),t.preventDefault&amp;&amp;t.preventDefault(),t.cancelBubble=!0,!1},l.raiseToTop=function(t){t.parentNode.appendChild(t)},l.cancelTransition=function(t){return t.transition().duration(0)},l.constrain=function(t,e,r){return e&gt;r?Math.max(r,Math.min(e,t)):Math.max(e,Math.min(r,t))},l.bBoxIntersect=function(t,e,r){return r=r||0,t.left&lt;=e.right+r&amp;&amp;e.left&lt;=t.right+r&amp;&amp;t.top&lt;=e.bottom+r&amp;&amp;e.top&lt;=t.bottom+r},l.simpleMap=function(t,e,r,n){for(var i=t.length,a=new Array(i),o=0;o&lt;i;o++)a[o]=e(t[o],r,n);return a},l.randstr=function t(e,r,n){if(n||(n=16),void 0===r&amp;&amp;(r=24),r&lt;=0)return&quot;0&quot;;var i,a,o=Math.log(Math.pow(2,r))/Math.log(n),s=&quot;&quot;;for(i=2;o===1/0;i*=2)o=Math.log(Math.pow(2,r/i))/Math.log(n)*i;var l=o-Math.floor(o);for(i=0;i&lt;Math.floor(o);i++)s=Math.floor(Math.random()*n).toString(n)+s;l&amp;&amp;(a=Math.pow(n,l),s=Math.floor(Math.random()*a).toString(n)+s);var c=parseInt(s,n);return e&amp;&amp;e.indexOf(s)&gt;-1||c!==1/0&amp;&amp;c&gt;=Math.pow(2,r)?t(e,r,n):s},l.OptionControl=function(t,e){t||(t={}),e||(e=&quot;opt&quot;);var r={};return r.optionList=[],r._newoption=function(n){n[e]=t,r[n.name]=n,r.optionList.push(n)},r[&quot;_&quot;+e]=t,r},l.smooth=function(t,e){if((e=Math.round(e)||0)&lt;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&lt;l;r++)c[r]=(1-Math.cos(Math.PI*(r+1)/e))/(2*e);for(r=0;r&lt;o;r++){for(a=0,n=0;n&lt;l;n++)(i=r+n+1-e)&lt;-o?i-=s*Math.round(i/s):i&gt;=s&amp;&amp;(i-=s*Math.floor(i/s)),i&lt;0?i=-1-i:i&gt;=o&amp;&amp;(i=s-1-i),a+=t[i]*c[n];u[r]=a}return u},l.syncOrAsync=function(t,e,r){function n(){return l.syncOrAsync(t,e,r)}for(var i,a;t.length;)if(a=t.splice(0,1)[0],(i=a(e))&amp;&amp;i.then)return i.then(n).then(void 0,l.promiseError);return r&amp;&amp;r(e)},l.stripTrailingSlash=function(t){return&quot;/&quot;===t.substr(-1)?t.substr(0,t.length-1):t},l.noneOrAll=function(t,e,r){if(t){var n,i,a=!1,o=!0;for(n=0;n&lt;r.length;n++)void 0!==(i=t[r[n]])&amp;&amp;null!==i?a=!0:o=!1;if(a&amp;&amp;!o)for(n=0;n&lt;r.length;n++)t[r[n]]=e[r[n]]}},l.mergeArray=function(t,e,r){if(Array.isArray(t))for(var n=Math.min(t.length,e.length),i=0;i&lt;n;i++)e[i][r]=t[i]},l.fillArray=function(t,e,r,n){if(n=n||l.identity,Array.isArray(t))for(var i=0;i&lt;e.length;i++)e[i][r]=n(t[i])},l.castOption=function(t,e,r,n){n=n||l.identity;var i=l.nestedProperty(t,r).get();return Array.isArray(i)?n(Array.isArray(e)&amp;&amp;Array.isArray(i[e[0]])?i[e[0]][e[1]]:i[e]):i},l.extractOption=function(t,e,r,n){if(r in t)return t[r];var i=l.nestedProperty(e,n).get();return Array.isArray(i)?void 0:i},l.tagSelected=function(t,e,r){function n(t){return i(t)&amp;&amp;t&gt;=0&amp;&amp;t%1==0}function a(e){return void 0!==e&amp;&amp;e&lt;t.length}var o,s=e.selectedpoints,l=e._indexToPoints;if(l){o={};for(var c in l)for(var u=l[c],f=0;f&lt;u.length;f++)o[u[f]]=c}for(var h=0;h&lt;s.length;h++){var d=s[h];if(n(d)){var p=o?o[d]:d,m=r?r[p]:p;a(m)&amp;&amp;(t[m].selected=1)}}},l.getTargetArray=function(t,e){var r=e.target;if(&quot;string&quot;==typeof r&amp;&amp;r){var n=l.nestedProperty(t,r).get();return!!Array.isArray(n)&amp;&amp;n}return!!Array.isArray(r)&amp;&amp;r},l.minExtend=function(t,e){var r={};&quot;object&quot;!=typeof e&amp;&amp;(e={});var n,i,a,o=Object.keys(t);for(n=0;n&lt;o.length;n++)a=t[i=o[n]],&quot;_&quot;!==i.charAt(0)&amp;&amp;&quot;function&quot;!=typeof a&amp;&amp;(&quot;module&quot;===i?r[i]=a:Array.isArray(a)?r[i]=a.slice(0,3):r[i]=a&amp;&amp;&quot;object&quot;==typeof a?l.minExtend(t[i],e[i]):a);for(o=Object.keys(e),n=0;n&lt;o.length;n++)&quot;object&quot;==typeof(a=e[i=o[n]])&amp;&amp;i in r&amp;&amp;&quot;object&quot;==typeof r[i]||(r[i]=a);return r},l.titleCase=function(t){return t.charAt(0).toUpperCase()+t.substr(1)},l.containsAny=function(t,e){for(var r=0;r&lt;e.length;r++)if(-1!==t.indexOf(e[r]))return!0;return!1},l.isPlotDiv=function(t){var e=n.select(t);return e.node()instanceof HTMLElement&amp;&amp;e.size()&amp;&amp;e.classed(&quot;js-plotly-plot&quot;)},l.removeElement=function(t){var e=t&amp;&amp;t.parentNode;e&amp;&amp;e.removeChild(t)},l.addStyleRule=function(t,e){if(!l.styleSheet){var r=document.createElement(&quot;style&quot;);r.appendChild(document.createTextNode(&quot;&quot;)),document.head.appendChild(r),l.styleSheet=r.sheet}var n=l.styleSheet;n.insertRule?n.insertRule(t+&quot;{&quot;+e+&quot;}&quot;,0):n.addRule?n.addRule(t,e,0):l.warn(&quot;addStyleRule failed&quot;)},l.isIE=function(){return void 0!==window.navigator.msSaveBlob},l.isD3Selection=function(t){return t&amp;&amp;&quot;function&quot;==typeof t.classed},l.objectFromPath=function(t,e){for(var r,n=t.split(&quot;.&quot;),i=r={},a=0;a&lt;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 b=/^([^\[\.]+)\.(.+)?/,_=/^([^\.]+)\[([0-9]+)\](\.)?(.+)?/;l.expandObjectPaths=function(t){var e,r,n,i,a,o,s;if(&quot;object&quot;==typeof t&amp;&amp;!Array.isArray(t))for(r in t)t.hasOwnProperty(r)&amp;&amp;((e=r.match(b))?(i=t[r],n=e[1],delete t[r],t[n]=l.extendDeepNoArrays(t[n]||{},l.objectFromPath(r,l.expandObjectPaths(i))[n])):(e=r.match(_))?(i=t[r],n=e[1],a=parseInt(e[2]),delete t[r],t[n]=t[n]||[],&quot;.&quot;===e[3]?(s=e[4],o=t[n][a]=t[n][a]||{},l.extendDeepNoArrays(o,l.objectFromPath(s,l.expandObjectPaths(i)))):t[n][a]=l.expandObjectPaths(i)):t[r]=l.expandObjectPaths(t[r]));return t},l.numSeparate=function(t,e,r){if(r||(r=!1),&quot;string&quot;!=typeof e||0===e.length)throw new Error(&quot;Separator string required for formatting!&quot;);&quot;number&quot;==typeof t&amp;&amp;(t=String(t));var n=/(\d+)(\d{3})/,i=e.charAt(0),a=e.charAt(1),o=t.split(&quot;.&quot;),s=o[0],l=o.length&gt;1?i+o[1]:&quot;&quot;;if(a&amp;&amp;(o.length&gt;1||s.length&gt;4||r))for(;n.test(s);)s=s.replace(n,&quot;$1&quot;+a+&quot;$2&quot;);return s+l};var w=/%{([^\s%{}]*)}/g,M=/^\w*$/;l.templateString=function(t,e){var r={};return t.replace(w,function(t,n){return M.test(n)?e[n]||&quot;&quot;:(r[n]=r[n]||l.nestedProperty(e,n).get,r[n]()||&quot;&quot;)})};l.subplotSort=function(t,e){for(var r=Math.min(t.length,e.length)+1,n=0,i=0,a=0;a&lt;r;a++){var o=t.charCodeAt(a)||0,s=e.charCodeAt(a)||0,l=o&gt;=48&amp;&amp;o&lt;=57,c=s&gt;=48&amp;&amp;s&lt;=57;if(l&amp;&amp;(n=10*n+o-48),c&amp;&amp;(i=10*i+s-48),!l||!c){if(n!==i)return n-i;if(o!==s)return o-s}}return i-n},l.eventListenerOptionsSupported=function(){var t=!1;try{var e=Object.defineProperty({},&quot;passive&quot;,{get:function(){t=!0}});window.addEventListener(&quot;test&quot;,null,e),window.removeEventListener(&quot;test&quot;,null,e)}catch(e){t=!1}return t}},{&quot;../constants/numerical&quot;:721,&quot;./angles&quot;:726,&quot;./clean_number&quot;:727,&quot;./coerce&quot;:728,&quot;./dates&quot;:729,&quot;./ensure_array&quot;:730,&quot;./extend&quot;:732,&quot;./filter_unique&quot;:733,&quot;./filter_visible&quot;:734,&quot;./geometry2d&quot;:737,&quot;./get_graph_div&quot;:738,&quot;./identity&quot;:742,&quot;./is_array&quot;:744,&quot;./is_plain_object&quot;:745,&quot;./keyed_container&quot;:746,&quot;./localize&quot;:747,&quot;./loggers&quot;:748,&quot;./matrix&quot;:749,&quot;./mod&quot;:750,&quot;./nested_property&quot;:751,&quot;./noop&quot;:752,&quot;./notifier&quot;:753,&quot;./push_unique&quot;:756,&quot;./regex&quot;:758,&quot;./relative_attr&quot;:759,&quot;./relink_private&quot;:760,&quot;./search&quot;:761,&quot;./stats&quot;:764,&quot;./throttle&quot;:767,&quot;./to_log_range&quot;:768,d3:128,&quot;fast-isnumeric&quot;:140}],744:[function(t,e,r){&quot;use strict&quot;;var n=&quot;undefined&quot;!=typeof ArrayBuffer&amp;&amp;ArrayBuffer.isView?ArrayBuffer:{isView:function(){return!1}};e.exports=function(t){return Array.isArray(t)||n.isView(t)}},{}],745:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t){return window&amp;&amp;window.process&amp;&amp;window.process.versions?&quot;[object Object]&quot;===Object.prototype.toString.call(t):&quot;[object Object]&quot;===Object.prototype.toString.call(t)&amp;&amp;Object.getPrototypeOf(t)===Object.prototype}},{}],746:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;./nested_property&quot;),i=/^\w*$/;e.exports=function(t,e,r,a){r=r||&quot;name&quot;,a=a||&quot;value&quot;;var o,s,l={};s=e&amp;&amp;e.length?n(t,e).get():t,e=e||&quot;&quot;,s=s||[];var c={};for(o=0;o&lt;s.length;o++)c[s[o][r]]=o;var u=i.test(a),f={set:function(t,e){var i=null===e?4:0,o=c[t];void 0===o?(i|=3,o=s.length,c[t]=o):e!==(u?s[o][a]:n(s[o],a).get())&amp;&amp;(i|=2);var h=s[o]=s[o]||{};return h[r]=t,u?h[a]=e:n(h,a).set(e),null!==e&amp;&amp;(i&amp;=-5),l[o]=l[o]|i,f},get:function(t){var e=c[t];return void 0===e?void 0:u?s[e][a]:n(s[e],a).get()},rename:function(t,e){var n=c[t];return void 0===n?f:(l[n]=1|l[n],c[e]=n,delete c[t],s[n][r]=e,f)},remove:function(t){var e=c[t];if(void 0===e)return f;var i=s[e];if(Object.keys(i).length&gt;2)return l[e]=2|l[e],f.set(t,null);if(u){for(o=e;o&lt;s.length;o++)l[o]=3|l[o];for(o=e;o&lt;s.length;o++)c[s[o][r]]--;s.splice(e,1),delete c[t]}else n(i,a).set(null),l[e]=6|l[e];return f},constructUpdate:function(){for(var t,i,o={},c=Object.keys(l),f=0;f&lt;c.length;f++)i=c[f],t=e+&quot;[&quot;+i+&quot;]&quot;,s[i]?(1&amp;l[i]&amp;&amp;(o[t+&quot;.&quot;+r]=s[i][r]),2&amp;l[i]&amp;&amp;(o[t+&quot;.&quot;+a]=u?4&amp;l[i]?null:s[i][a]:4&amp;l[i]?null:n(s[i],a).get())):o[t]=null;return o}};return f}},{&quot;./nested_property&quot;:751}],747:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../registry&quot;);e.exports=function(t,e){for(var r=t._context.locale,i=0;i&lt;2;i++){for(var a=t._context.locales,o=0;o&lt;2;o++){var s=(a[r]||{}).dictionary;if(s){var l=s[e];if(l)return l}a=n.localeRegistry}var c=r.split(&quot;-&quot;)[0];if(c===r)break;r=c}return e}},{&quot;../registry&quot;:873}],748:[function(t,e,r){&quot;use strict&quot;;function n(t,e){if(t.apply)t.apply(t,e);else for(var r=0;r&lt;e.length;r++)t(e[r])}var i=t(&quot;../plot_api/plot_config&quot;),a=e.exports={};a.log=function(){if(i.logging&gt;1){for(var t=[&quot;LOG:&quot;],e=0;e&lt;arguments.length;e++)t.push(arguments[e]);n(console.trace||console.log,t)}},a.warn=function(){if(i.logging&gt;0){for(var t=[&quot;WARN:&quot;],e=0;e&lt;arguments.length;e++)t.push(arguments[e]);n(console.trace||console.log,t)}},a.error=function(){if(i.logging&gt;0){for(var t=[&quot;ERROR:&quot;],e=0;e&lt;arguments.length;e++)t.push(arguments[e]);n(console.error,t)}}},{&quot;../plot_api/plot_config&quot;:777}],749:[function(t,e,r){&quot;use strict&quot;;r.init2dArray=function(t,e){for(var r=new Array(t),n=0;n&lt;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&lt;i;e++)n=Math.max(n,t[e].length);var a=new Array(n);for(e=0;e&lt;n;e++)for(a[e]=new Array(i),r=0;r&lt;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&lt;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&lt;o.length;i++)n[i]=r.dot(t,o[i])}else for(n=0,i=0;i&lt;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.apply2DTransform=function(t){return function(){var e=arguments;3===e.length&amp;&amp;(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)))}}},{}],750:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t,e){var r=t%e;return r&lt;0?r+e:r}},{}],751:[function(t,e,r){&quot;use strict&quot;;function n(t,e){return function(){var r,i,a,o,s,l=t;for(o=0;o&lt;e.length-1;o++){if(-1===(r=e[o])){for(i=!0,a=[],s=0;s&lt;l.length;s++)a[s]=n(l[s],e.slice(o+1))(),a[s]!==a[0]&amp;&amp;(i=!1);return i?a[0]:a}if(&quot;number&quot;==typeof r&amp;&amp;!c(l))return;if(&quot;object&quot;!=typeof(l=l[r])||null===l)return}if(&quot;object&quot;==typeof l&amp;&amp;null!==l&amp;&amp;null!==(a=l[e[o]]))return a}}function i(t,e){if(!function(t){return void 0===t||null===t||&quot;object&quot;==typeof t&amp;&amp;(c(t)?!t.length:!Object.keys(t).length)}(t)||u(t)&amp;&amp;&quot;]&quot;===e.charAt(e.length-1)||e.match(d)&amp;&amp;void 0!==t)return!1;if(!c(t))return!0;if(e.match(h))return!0;var r=f(e);return r&amp;&amp;&quot;&quot;===r.index}function a(t,e,r){return function(n){var l,u,f=t,h=&quot;&quot;,d=[[t,h]],p=i(n,r);for(u=0;u&lt;e.length-1;u++){if(&quot;number&quot;==typeof(l=e[u])&amp;&amp;!c(f))throw&quot;array index but container is not an array&quot;;if(-1===l){if(p=!function(t,e,r,n){var o,l=c(r),u=!0,f=r,h=n.replace(&quot;-1&quot;,0),d=!l&amp;&amp;i(r,h),p=e[0];for(o=0;o&lt;t.length;o++)h=n.replace(&quot;-1&quot;,o),l&amp;&amp;(f=r[o%r.length],d=i(f,h)),d&amp;&amp;(u=!1),s(t,o,p,d)&amp;&amp;a(t[o],e,n.replace(&quot;-1&quot;,o))(f);return u}(f,e.slice(u+1),n,r))break;return}if(!s(f,l,e[u+1],p))break;if(&quot;object&quot;!=typeof(f=f[l])||null===f)throw&quot;container is not an object&quot;;h=o(h,l),d.push([f,h])}p?(u===e.length-1&amp;&amp;delete f[e[u]],function(t){var e,r,n,a,s,l;for(e=t.length-1;e&gt;=0;e--){if(n=t[e][0],a=t[e][1],l=!1,c(n))for(r=n.length-1;r&gt;=0;r--)i(n[r],o(a,r))?l?n[r]=void 0:n.pop():l=!0;else if(&quot;object&quot;==typeof n&amp;&amp;null!==n)for(s=Object.keys(n),l=!1,r=s.length-1;r&gt;=0;r--)i(n[s[r]],o(a,s[r]))?delete n[s[r]]:l=!0;if(l)return}}(d)):f[e[u]]=n}}function o(t,e){var r=e;return l(e)?r=&quot;[&quot;+e+&quot;]&quot;:t&amp;&amp;(r=&quot;.&quot;+e),t+r}function s(t,e,r,n){if(void 0===t[e]){if(n)return!1;t[e]=&quot;number&quot;==typeof r?[]:{}}return!0}var l=t(&quot;fast-isnumeric&quot;),c=t(&quot;./is_array&quot;),u=t(&quot;./is_plain_object&quot;),f=t(&quot;../plot_api/container_array_match&quot;);e.exports=function(t,e){if(l(e))e=String(e);else if(&quot;string&quot;!=typeof e||&quot;[-1]&quot;===e.substr(e.length-4))throw&quot;bad property string&quot;;for(var r,i,o,s=0,c=e.split(&quot;.&quot;);s&lt;c.length;){if(r=String(c[s]).match(/^([^\[\]]*)((\[\-?[0-9]*\])+)$/)){if(r[1])c[s]=r[1];else{if(0!==s)throw&quot;bad property string&quot;;c.splice(0,1)}for(i=r[2].substr(1,r[2].length-2).split(&quot;][&quot;),o=0;o&lt;i.length;o++)s++,c.splice(s,0,Number(i[o]))}s++}return&quot;object&quot;!=typeof t?function(t,e,r){return{set:function(){throw&quot;bad container&quot;},get:function(){},astr:e,parts:r,obj:t}}(t,e,c):{set:a(t,c,e),get:n(t,c),astr:e,parts:c,obj:t}};var h=/(^|\.)((domain|range)(\.[xy])?|args|parallels)$/,d=/(^|\.)args\[/},{&quot;../plot_api/container_array_match&quot;:772,&quot;./is_array&quot;:744,&quot;./is_plain_object&quot;:745,&quot;fast-isnumeric&quot;:140}],752:[function(t,e,r){&quot;use strict&quot;;e.exports=function(){}},{}],753:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;d3&quot;),i=t(&quot;fast-isnumeric&quot;),a=[];e.exports=function(t,e){function r(t){t.duration(700).style(&quot;opacity&quot;,0).each(&quot;end&quot;,function(t){var e=a.indexOf(t);-1!==e&amp;&amp;a.splice(e,1),n.select(this).remove()})}if(-1===a.indexOf(t)){a.push(t);var o=1e3;i(e)?o=e:&quot;long&quot;===e&amp;&amp;(o=3e3);var s=n.select(&quot;body&quot;).selectAll(&quot;.plotly-notifier&quot;).data([0]);s.enter().append(&quot;div&quot;).classed(&quot;plotly-notifier&quot;,!0);s.selectAll(&quot;.notifier-note&quot;).data(a).enter().append(&quot;div&quot;).classed(&quot;notifier-note&quot;,!0).style(&quot;opacity&quot;,0).each(function(t){var e=n.select(this);e.append(&quot;button&quot;).classed(&quot;notifier-close&quot;,!0).html(&quot;&amp;times;&quot;).on(&quot;click&quot;,function(){e.transition().call(r)});for(var i=e.append(&quot;p&quot;),a=t.split(/&lt;br\s*\/?&gt;/g),s=0;s&lt;a.length;s++)s&amp;&amp;i.append(&quot;br&quot;),i.append(&quot;span&quot;).text(a[s]);e.transition().duration(700).style(&quot;opacity&quot;,1).transition().delay(o).call(r)})}}},{d3:128,&quot;fast-isnumeric&quot;:140}],754:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;./setcursor&quot;),i=&quot;data-savedcursor&quot;;e.exports=function(t,e){var r=t.attr(i);if(e){if(!r){for(var a=(t.attr(&quot;class&quot;)||&quot;&quot;).split(&quot; &quot;),o=0;o&lt;a.length;o++){var s=a[o];0===s.indexOf(&quot;cursor-&quot;)&amp;&amp;t.attr(i,s.substr(7)).classed(s,!1)}t.attr(i)||t.attr(i,&quot;!!&quot;)}n(t,e)}else r&amp;&amp;(t.attr(i,null),&quot;!!&quot;===r?n(t):n(t,r))}},{&quot;./setcursor&quot;:762}],755:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;./matrix&quot;).dot,i=t(&quot;../constants/numerical&quot;).BADNUM,a=e.exports={};a.tester=function(t){if(Array.isArray(t[0][0]))return a.multitester(t);var e,r=t.slice(),n=r[0][0],o=n,s=r[0][1],l=s;for(r.push(r[0]),e=1;e&lt;r.length;e++)n=Math.min(n,r[e][0]),o=Math.max(o,r[e][0]),s=Math.min(s,r[e][1]),l=Math.max(l,r[e][1]);var c,u=!1;5===r.length&amp;&amp;(r[0][0]===r[1][0]?r[2][0]===r[3][0]&amp;&amp;r[0][1]===r[3][1]&amp;&amp;r[1][1]===r[2][1]&amp;&amp;(u=!0,c=function(t){return t[0]===r[0][0]}):r[0][1]===r[1][1]&amp;&amp;r[2][1]===r[3][1]&amp;&amp;r[0][0]===r[3][0]&amp;&amp;r[1][0]===r[2][0]&amp;&amp;(u=!0,c=function(t){return t[1]===r[0][1]}));var f=!0,h=r[0];for(e=1;e&lt;r.length;e++)if(h[0]!==r[e][0]||h[1]!==r[e][1]){f=!1;break}return{xmin:n,xmax:o,ymin:s,ymax:l,pts:r,contains:u?function(t,e){var r=t[0],a=t[1];return!(r===i||r&lt;n||r&gt;o||a===i||a&lt;s||a&gt;l||e&amp;&amp;c(t))}:function(t,e){var a=t[0],c=t[1];if(a===i||a&lt;n||a&gt;o||c===i||c&lt;s||c&gt;l)return!1;var u,f,h,d,p,m=r.length,g=r[0][0],v=r[0][1],y=0;for(u=1;u&lt;m;u++)if(f=g,h=v,g=r[u][0],v=r[u][1],d=Math.min(f,g),!(a&lt;d||a&gt;Math.max(f,g)||c&gt;Math.max(h,v)))if(c&lt;Math.min(h,v))a!==d&amp;&amp;y++;else{if(p=g===f?c:h+(a-f)*(v-h)/(g-f),c===p)return 1!==u||!e;c&lt;=p&amp;&amp;a!==d&amp;&amp;y++}return y%2==1},isRect:u,degenerate:f}},a.multitester=function(t){for(var e=[],r=t[0][0][0],n=r,i=t[0][0][1],o=i,s=0;s&lt;t.length;s++){var l=a.tester(t[s]);l.subtract=t[s].subtract,e.push(l),r=Math.min(r,l.xmin),n=Math.max(n,l.xmax),i=Math.min(i,l.ymin),o=Math.max(o,l.ymax)}return{xmin:r,xmax:n,ymin:i,ymax:o,pts:[],contains:function(t,r){for(var n=!1,i=0;i&lt;e.length;i++)e[i].contains(t,r)&amp;&amp;(n=!1===e[i].subtract);return n},isRect:!1,degenerate:!1}};var o=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&lt;r;a++)if(o=[t[a][0]-l[0],t[a][1]-l[1]],(s=n(o,c))&lt;0||s&gt;u||Math.abs(n(o,h))&gt;i)return!0;return!1};a.filter=function(t,e){function r(r){t.push(r);var s=n.length,l=i;n.splice(a+1);for(var c=l+1;c&lt;t.length;c++)(c===t.length-1||o(t,l,c+1,e))&amp;&amp;(n.push(t[c]),n.length&lt;s-2&amp;&amp;(i=c,a=n.length-1),l=c)}var n=[t[0]],i=0,a=0;if(t.length&gt;1){r(t.pop())}return{addPt:r,raw:t,filtered:n}}},{&quot;../constants/numerical&quot;:721,&quot;./matrix&quot;:749}],756:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t,e){if(e instanceof RegExp){var r,n=e.toString();for(r=0;r&lt;t.length;r++)if(t[r]instanceof RegExp&amp;&amp;t[r].toString()===n)return t;t.push(e)}else e&amp;&amp;-1===t.indexOf(e)&amp;&amp;t.push(e);return t}},{}],757:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../lib&quot;),i=t(&quot;../plot_api/plot_config&quot;),a={};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&amp;&amp;(o.undo.calls.unshift(e),o.undo.args.unshift(r),o.redo.calls.push(n),o.redo.args.push(a)),t.undoQueue.queue.length&gt;i.queueLength&amp;&amp;(t.undoQueue.queue.shift(),t.undoQueue.index--))},a.startSequence=function(t){t.undoQueue=t.undoQueue||{index:0,queue:[],sequence:!1},t.undoQueue.sequence=!0,t.undoQueue.beginSequence=!0},a.stopSequence=function(t){t.undoQueue=t.undoQueue||{index:0,queue:[],sequence:!1},t.undoQueue.sequence=!1,t.undoQueue.beginSequence=!1},a.undo=function(t){var e,r;if(t.framework&amp;&amp;t.framework.isPolar)t.framework.undo();else if(!(void 0===t.undoQueue||isNaN(t.undoQueue.index)||t.undoQueue.index&lt;=0)){for(t.undoQueue.index--,e=t.undoQueue.queue[t.undoQueue.index],t.undoQueue.inSequence=!0,r=0;r&lt;e.undo.calls.length;r++)a.plotDo(t,e.undo.calls[r],e.undo.args[r]);t.undoQueue.inSequence=!1,t.autoplay=!1}},a.redo=function(t){var e,r;if(t.framework&amp;&amp;t.framework.isPolar)t.framework.redo();else if(!(void 0===t.undoQueue||isNaN(t.undoQueue.index)||t.undoQueue.index&gt;=t.undoQueue.queue.length)){for(e=t.undoQueue.queue[t.undoQueue.index],t.undoQueue.inSequence=!0,r=0;r&lt;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&lt;e.length;a++)r=e[a],i[a]=r===t?r:&quot;object&quot;==typeof r?Array.isArray(r)?n.extendDeep([],r):n.extendDeepAll({},r):r;return i}(t,r),e.apply(null,r)},e.exports=a},{&quot;../lib&quot;:743,&quot;../plot_api/plot_config&quot;:777}],758:[function(t,e,r){&quot;use strict&quot;;r.counter=function(t,e,r){return new RegExp(&quot;^&quot;+t+&quot;([2-9]|[1-9][0-9]+)?&quot;+(e||&quot;&quot;)+(r?&quot;&quot;:&quot;$&quot;))}},{}],759:[function(t,e,r){&quot;use strict&quot;;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(&quot;bad relativeAttr call:&quot;+[t,e]);t=&quot;&quot;}if(&quot;^&quot;!==e.charAt(0))break;e=e.slice(1)}return t&amp;&amp;&quot;[&quot;!==e.charAt(0)?t+&quot;.&quot;+e:t+e}},{}],760:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;./is_array&quot;),i=t(&quot;./is_plain_object&quot;);e.exports=function t(e,r){for(var a=Object.keys(r||{}),o=0;o&lt;a.length;o++){var s=a[o],l=r[s],c=e[s];if(&quot;_&quot;===s.charAt(0)||&quot;function&quot;==typeof l){if(s in e)continue;e[s]=l}else if(n(l)&amp;&amp;n(c)&amp;&amp;i(l[0]))for(var u=0;u&lt;l.length;u++)i(l[u])&amp;&amp;i(c[u])&amp;&amp;t(c[u],l[u]);else i(l)&amp;&amp;i(c)&amp;&amp;(t(c,l),Object.keys(c).length||delete e[s])}}},{&quot;./is_array&quot;:744,&quot;./is_plain_object&quot;:745}],761:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;fast-isnumeric&quot;),i=t(&quot;./loggers&quot;);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,s=0,l=e.length,c=0,u=l&gt;1?(e[l-1]-e[0])/(l-1):1;for(o=u&gt;=0?r?function(t,e){return t&lt;e}:function(t,e){return t&lt;=e}:r?function(t,e){return t&gt;=e}:function(t,e){return t&gt;e},t+=1e-9*u*(r?-1:1)*(u&gt;=0?1:-1);s&lt;l&amp;&amp;c++&lt;100;)o(e[a=Math.floor((s+l)/2)],t)?s=a+1:l=a;return c&gt;90&amp;&amp;i.log(&quot;Long binary search...&quot;),s-1},r.sorterAsc=function(t,e){return t-e},r.sorterDes=function(t,e){return e-t},r.distinctVals=function(t){var e=t.slice();e.sort(r.sorterAsc);for(var n=e.length-1,i=e[n]-e[0]||1,a=i/(n||1)/1e4,o=[e[0]],s=0;s&lt;n;s++)e[s+1]&gt;e[s]+a&amp;&amp;(i=Math.min(i,e[s+1]-e[s]),o.push(e[s+1]));return{vals:o,minDiff:i}},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&lt;a&amp;&amp;o++&lt;100;)e[n=c((i+a)/2)]&lt;=t?i=n+s:a=n-l;return e[i]}},{&quot;./loggers&quot;:748,&quot;fast-isnumeric&quot;:140}],762:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t,e){(t.attr(&quot;class&quot;)||&quot;&quot;).split(&quot; &quot;).forEach(function(e){0===e.indexOf(&quot;cursor-&quot;)&amp;&amp;t.classed(e,!1)}),e&amp;&amp;t.classed(&quot;cursor-&quot;+e,!0)}},{}],763:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../components/color&quot;),i=function(){};e.exports=function(t){for(var e in t)&quot;function&quot;==typeof t[e]&amp;&amp;(t[e]=i);t.destroy=function(){t.container.parentNode.removeChild(t.container)};var r=document.createElement(&quot;div&quot;);return r.textContent=&quot;Webgl is not supported by your browser - visit http://get.webgl.org for more info&quot;,r.style.cursor=&quot;pointer&quot;,r.style.fontSize=&quot;24px&quot;,r.style.color=n.defaults[0],t.container.appendChild(r),t.container.style.background=&quot;#FFFFFF&quot;,t.container.onclick=function(){window.open(&quot;http://get.webgl.org&quot;)},!1}},{&quot;../components/color&quot;:618}],764:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;fast-isnumeric&quot;);r.aggNums=function(t,e,i,a){var o,s;if(a||(a=i.length),n(e)||(e=!1),Array.isArray(i[0])){for(s=new Array(a),o=0;o&lt;a;o++)s[o]=r.aggNums(t,e,i[o]);i=s}for(o=0;o&lt;a;o++)n(e)?n(i[o])&amp;&amp;(e=t(+e,+i[o])):e=i[o];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.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.interp=function(t,e){if(!n(e))throw&quot;n should be a finite number&quot;;if((e=e*t.length-.5)&lt;0)return t[0];if(e&gt;t.length-1)return t[t.length-1];var r=e%1;return r*t[Math.ceil(e)]+(1-r)*t[Math.floor(e)]}},{&quot;fast-isnumeric&quot;:140}],765:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;color-normalize&quot;);e.exports=function(t){return t?n(t):[0,0,0,1]}},{&quot;color-normalize&quot;:99}],766:[function(t,e,r){&quot;use strict&quot;;function n(t,e){return t.node().getBoundingClientRect()[e]}function i(t,e,r){var n=&quot;math-output-&quot;+c.randstr([],64),i=l.select(&quot;body&quot;).append(&quot;div&quot;).attr({id:n}).style({visibility:&quot;hidden&quot;,position:&quot;absolute&quot;}).style({&quot;font-size&quot;:e.fontSize+&quot;px&quot;}).text(function(t){return t.replace(p,&quot;\\lt &quot;).replace(m,&quot;\\gt &quot;)}(t));MathJax.Hub.Queue([&quot;Typeset&quot;,MathJax.Hub,i.node()],function(){var e=l.select(&quot;body&quot;).select(&quot;#MathJax_SVG_glyphs&quot;);if(i.select(&quot;.MathJax_SVG&quot;).empty()||!i.select(&quot;svg&quot;).node())c.log(&quot;There was an error in the tex syntax.&quot;,t),r();else{var n=i.select(&quot;svg&quot;).node().getBoundingClientRect();r(i.select(&quot;.MathJax_SVG&quot;),e,n)}i.remove()})}function a(t,e){if(!t)return null;var r=t.match(e);return r&amp;&amp;(r[3]||r[4])}function o(t,e){function r(){p++;var e=document.createElementNS(u.svg,&quot;tspan&quot;);l.select(e).attr({class:&quot;line&quot;,dy:p*h+&quot;em&quot;}),t.appendChild(e),s=e;var r=d;if(d=[{node:e}],r.length&gt;1)for(var i=1;i&lt;r.length;i++)n(r[i])}function n(t){var e,r=t.type,n={};if(&quot;a&quot;===r){e=&quot;a&quot;;var a=t.target,o=t.href,c=t.popup;o&amp;&amp;(n={&quot;xlink:xlink:show&quot;:&quot;_blank&quot;===a||&quot;_&quot;!==a.charAt(0)?&quot;new&quot;:&quot;replace&quot;,target:a,&quot;xlink:xlink:href&quot;:o},c&amp;&amp;(n.onclick='window.open(this.href.baseVal,this.target.baseVal,&quot;'+c+'&quot;);return false;'))}else e=&quot;tspan&quot;;t.style&amp;&amp;(n.style=t.style);var f=document.createElementNS(u.svg,e);if(&quot;sup&quot;===r||&quot;sub&quot;===r){i(s,x),s.appendChild(f);var h=document.createElementNS(u.svg,&quot;tspan&quot;);i(h,x),l.select(h).attr(&quot;dy&quot;,y[r]),n.dy=v[r],s.appendChild(f),s.appendChild(h)}else s.appendChild(f);l.select(f).attr(n),s=t.node=f,d.push(t)}function i(t,e){t.appendChild(document.createTextNode(e))}function o(t){if(1!==d.length){var r=d.pop();t!==r.type&amp;&amp;c.log(&quot;Start tag &lt;&quot;+r.type+&quot;&gt; doesnt match end tag &lt;&quot;+t+&quot;&gt;. Pretending it did match.&quot;,e),s=d[d.length-1].node}else c.log(&quot;Ignoring unexpected end tag &lt;/&quot;+t+&quot;&gt;.&quot;,e)}e=function(t){return function(t,e){if(!t)return&quot;&quot;;for(var r=0;r&lt;e.length;r++){var n=e[r];t=t.replace(n.regExp,n.sub)}return t}(t,w)}(e).replace(M,&quot; &quot;);var s,f=!1,d=[],p=-1;T.test(e)?r():(s=t,d=[{node:t}]);for(var m=e.split(k),_=0;_&lt;m.length;_++){var D=m[_],I=D.match(A),P=I&amp;&amp;I[2].toLowerCase(),O=g[P];if(&quot;br&quot;===P)r();else if(void 0===O)i(s,D);else if(I[1])o(P);else{var F=I[4],R={type:P},N=a(F,S);if(N?(N=N.replace(z,&quot;$1 fill:&quot;),O&amp;&amp;(N+=&quot;;&quot;+O)):O&amp;&amp;(N=O),N&amp;&amp;(R.style=N),&quot;a&quot;===P){f=!0;var j=a(F,E);if(j){var B=document.createElement(&quot;a&quot;);B.href=j,-1!==b.indexOf(B.protocol)&amp;&amp;(R.href=encodeURI(j),R.target=a(F,L)||&quot;_blank&quot;,R.popup=a(F,C))}}n(R)}}return f}function s(t,e,r){var n,i,a,o=r.horizontalAlign,s=r.verticalAlign||&quot;top&quot;,l=t.node().getBoundingClientRect(),c=e.node().getBoundingClientRect();return i=&quot;bottom&quot;===s?function(){return l.bottom-n.height}:&quot;middle&quot;===s?function(){return l.top+(l.height-n.height)/2}:function(){return l.top},a=&quot;right&quot;===o?function(){return l.right-n.width}:&quot;center&quot;===o?function(){return l.left+(l.width-n.width)/2}:function(){return l.left},function(){return n=this.node().getBoundingClientRect(),this.style({top:i()-c.top+&quot;px&quot;,left:a()-c.left+&quot;px&quot;,&quot;z-index&quot;:1e3}),this}}var l=t(&quot;d3&quot;),c=t(&quot;../lib&quot;),u=t(&quot;../constants/xmlns_namespaces&quot;),f=t(&quot;../constants/string_mappings&quot;),h=t(&quot;../constants/alignment&quot;).LINE_SPACING,d=/([^$]*)([$]+[^$]*[$]+)([^$]*)/;r.convertToTspans=function(t,e,a){function s(){f.empty()||(h=t.attr(&quot;class&quot;)+&quot;-math&quot;,f.select(&quot;svg.&quot;+h).remove()),t.text(&quot;&quot;).style(&quot;white-space&quot;,&quot;pre&quot;);o(t.node(),c)&amp;&amp;t.style(&quot;pointer-events&quot;,&quot;all&quot;),r.positionText(t),a&amp;&amp;a.call(t)}var c=t.text(),u=!t.attr(&quot;data-notex&quot;)&amp;&amp;&quot;undefined&quot;!=typeof MathJax&amp;&amp;c.match(d),f=l.select(t.node().parentNode);if(!f.empty()){var h=t.attr(&quot;class&quot;)?t.attr(&quot;class&quot;).split(&quot; &quot;)[0]:&quot;text&quot;;return h+=&quot;-math&quot;,f.selectAll(&quot;svg.&quot;+h).remove(),f.selectAll(&quot;g.&quot;+h+&quot;-group&quot;).remove(),t.style(&quot;display&quot;,null).attr({&quot;data-unformatted&quot;:c,&quot;data-math&quot;:&quot;N&quot;}),u?(e&amp;&amp;e._promises||[]).push(new Promise(function(e){t.style(&quot;display&quot;,&quot;none&quot;);var r=parseInt(t.node().style.fontSize,10);i(u[2],{fontSize:r},function(i,o,l){f.selectAll(&quot;svg.&quot;+h).remove(),f.selectAll(&quot;g.&quot;+h+&quot;-group&quot;).remove();var u=i&amp;&amp;i.select(&quot;svg&quot;);if(!u||!u.node())return s(),void e();var d=f.append(&quot;g&quot;).classed(h+&quot;-group&quot;,!0).attr({&quot;pointer-events&quot;:&quot;none&quot;,&quot;data-unformatted&quot;:c,&quot;data-math&quot;:&quot;Y&quot;});d.node().appendChild(u.node()),o&amp;&amp;o.node()&amp;&amp;u.node().insertBefore(o.node().cloneNode(!0),u.node().firstChild),u.attr({class:h,height:l.height,preserveAspectRatio:&quot;xMinYMin meet&quot;}).style({overflow:&quot;visible&quot;,&quot;pointer-events&quot;:&quot;none&quot;});var p=t.node().style.fill||&quot;black&quot;;u.select(&quot;g&quot;).attr({fill:p,stroke:p});var m=n(u,&quot;width&quot;),g=n(u,&quot;height&quot;),v=+t.attr(&quot;x&quot;)-m*{start:0,middle:.5,end:1}[t.attr(&quot;text-anchor&quot;)||&quot;start&quot;],y=-(r||n(t,&quot;height&quot;))/4;&quot;y&quot;===h[0]?(d.attr({transform:&quot;rotate(&quot;+[-90,+t.attr(&quot;x&quot;),+t.attr(&quot;y&quot;)]+&quot;) translate(&quot;+[-m/2,y-g/2]+&quot;)&quot;}),u.attr({x:+t.attr(&quot;x&quot;),y:+t.attr(&quot;y&quot;)})):&quot;l&quot;===h[0]?u.attr({x:t.attr(&quot;x&quot;),y:y-g/2}):&quot;a&quot;===h[0]?u.attr({x:0,y:y}):u.attr({x:v,y:+t.attr(&quot;y&quot;)+y-g/2}),a&amp;&amp;a.call(t,d),e(d)})})):s(),t}};var p=/(&lt;|&amp;lt;|&amp;#60;)/g,m=/(&gt;|&amp;gt;|&amp;#62;)/g,g={sup:&quot;font-size:70%&quot;,sub:&quot;font-size:70%&quot;,b:&quot;font-weight:bold&quot;,i:&quot;font-style:italic&quot;,a:&quot;cursor:pointer&quot;,span:&quot;&quot;,em:&quot;font-style:italic;font-weight:bold&quot;},v={sub:&quot;0.3em&quot;,sup:&quot;-0.6em&quot;},y={sub:&quot;-0.21em&quot;,sup:&quot;0.42em&quot;},x=&quot;\u200b&quot;,b=[&quot;http:&quot;,&quot;https:&quot;,&quot;mailto:&quot;,&quot;&quot;,void 0,&quot;:&quot;],_=new RegExp(&quot;&lt;/?(&quot;+Object.keys(g).join(&quot;|&quot;)+&quot;)( [^&gt;]*)?/?&gt;&quot;,&quot;g&quot;),w=Object.keys(f.entityToUnicode).map(function(t){return{regExp:new RegExp(&quot;&amp;&quot;+t+&quot;;&quot;,&quot;g&quot;),sub:f.entityToUnicode[t]}}),M=/(\r\n?|\n)/g,k=/(&lt;[^&lt;&gt;]*&gt;)/,A=/&lt;(\/?)([^ &gt;]*)(\s+(.*))?&gt;/i,T=/&lt;br(\s+.*)?&gt;/i,S=/(^|[\s&quot;'])style\s*=\s*(&quot;([^&quot;]*);?&quot;|'([^']*);?')/i,E=/(^|[\s&quot;'])href\s*=\s*(&quot;([^&quot;]*)&quot;|'([^']*)')/i,L=/(^|[\s&quot;'])target\s*=\s*(&quot;([^&quot;\s]*)&quot;|'([^'\s]*)')/i,C=/(^|[\s&quot;'])popup\s*=\s*(&quot;([\w=,]*)&quot;|'([\w=,]*)')/i,z=/(^|;)\s*color:/;r.plainText=function(t){return(t||&quot;&quot;).replace(_,&quot; &quot;)},r.lineCount=function(t){return t.selectAll(&quot;tspan.line&quot;).size()||1},r.positionText=function(t,e,r){return t.each(function(){function t(t,e){return void 0===e?null===(e=n.attr(t))&amp;&amp;(n.attr(t,0),e=0):n.attr(t,e),e}var n=l.select(this),i=t(&quot;x&quot;,e),a=t(&quot;y&quot;,r);&quot;text&quot;===this.nodeName&amp;&amp;n.selectAll(&quot;tspan.line&quot;).attr({x:i,y:a})})},r.makeEditable=function(t,e){function r(){!function(){var r=l.select(i).select(&quot;.svg-container&quot;),a=r.append(&quot;div&quot;),c=t.node().style,u=parseFloat(c.fontSize||12);a.classed(&quot;plugin-editable editable&quot;,!0).style({position:&quot;absolute&quot;,&quot;font-family&quot;:c.fontFamily||&quot;Arial&quot;,&quot;font-size&quot;:u,color:e.fill||c.fill||&quot;black&quot;,opacity:1,&quot;background-color&quot;:e.background||&quot;transparent&quot;,outline:&quot;#ffffff33 1px solid&quot;,margin:[-u/8+1,0,0,-1].join(&quot;px &quot;)+&quot;px&quot;,padding:&quot;0&quot;,&quot;box-sizing&quot;:&quot;border-box&quot;}).attr({contenteditable:!0}).text(e.text||t.attr(&quot;data-unformatted&quot;)).call(s(t,r,e)).on(&quot;blur&quot;,function(){i._editing=!1,t.text(this.textContent).style({opacity:1});var e,r=l.select(this).attr(&quot;class&quot;);(e=r?&quot;.&quot;+r.split(&quot; &quot;)[0]+&quot;-math-group&quot;:&quot;[class*=-math-group]&quot;)&amp;&amp;l.select(t.node().parentNode).select(e).style({opacity:0});var n=this.textContent;l.select(this).transition().duration(0).remove(),l.select(document).on(&quot;mouseup&quot;,null),o.edit.call(t,n)}).on(&quot;focus&quot;,function(){var t=this;i._editing=!0,l.select(document).on(&quot;mouseup&quot;,function(){if(l.event.target===t)return!1;document.activeElement===a.node()&amp;&amp;a.node().blur()})}).on(&quot;keyup&quot;,function(){27===l.event.which?(i._editing=!1,t.style({opacity:1}),l.select(this).style({opacity:0}).on(&quot;blur&quot;,function(){return!1}).transition().remove(),o.cancel.call(t,this.textContent)):(o.input.call(t,this.textContent),l.select(this).call(s(t,r,e)))}).on(&quot;keydown&quot;,function(){13===l.event.which&amp;&amp;this.blur()}).call(n)}(),t.style({opacity:0});var r,a=c.attr(&quot;class&quot;);(r=a?&quot;.&quot;+a.split(&quot; &quot;)[0]+&quot;-math-group&quot;:&quot;[class*=-math-group]&quot;)&amp;&amp;l.select(t.node().parentNode).select(r).style({opacity:0})}function n(t){var e=t.node(),r=document.createRange();r.selectNodeContents(e);var n=window.getSelection();n.removeAllRanges(),n.addRange(r),e.focus()}var i=e.gd,a=e.delegate,o=l.dispatch(&quot;edit&quot;,&quot;input&quot;,&quot;cancel&quot;),c=a||t;if(t.style({&quot;pointer-events&quot;:a?&quot;none&quot;:&quot;all&quot;}),1!==t.size())throw new Error(&quot;boo&quot;);return e.immediate?r():c.on(&quot;click&quot;,r),l.rebind(t,o,&quot;on&quot;)}},{&quot;../constants/alignment&quot;:716,&quot;../constants/string_mappings&quot;:722,&quot;../constants/xmlns_namespaces&quot;:723,&quot;../lib&quot;:743,d3:128}],767:[function(t,e,r){&quot;use strict&quot;;function n(t){t&amp;&amp;null!==t.timer&amp;&amp;(clearTimeout(t.timer),t.timer=null)}var i={};r.throttle=function(t,e,r){function a(){r(),o.ts=Date.now(),o.onDone&amp;&amp;(o.onDone(),o.onDone=null)}var o=i[t],s=Date.now();if(!o){for(var l in i)i[l].ts&lt;s-6e4&amp;&amp;delete i[l];o=i[t]={ts:0,timer:null}}n(o),s&gt;o.ts+e?a():o.timer=setTimeout(function(){a(),o.timer=null},e)},r.done=function(t){var e=i[t];return e&amp;&amp;e.timer?new Promise(function(t){var r=e.onDone;e.onDone=function(){r&amp;&amp;r(),t(),e.onDone=null}}):Promise.resolve()},r.clear=function(t){if(t)n(i[t]),delete i[t];else for(var e in i)r.clear(e)}},{}],768:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;fast-isnumeric&quot;);e.exports=function(t,e){if(t&gt;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}},{&quot;fast-isnumeric&quot;:140}],769:[function(t,e,r){&quot;use strict&quot;;var n=e.exports={},i=t(&quot;../plots/geo/constants&quot;).locationmodeToLayer,a=t(&quot;topojson-client&quot;).feature;n.getTopojsonName=function(t){return[t.scope.replace(/ /g,&quot;-&quot;),&quot;_&quot;,t.resolution.toString(),&quot;m&quot;].join(&quot;&quot;)},n.getTopojsonPath=function(t,e){return t+e+&quot;.json&quot;},n.getTopojsonFeatures=function(t,e){var r=i[t.locationmode],n=e.objects[r];return a(e,n).features}},{&quot;../plots/geo/constants&quot;:818,&quot;topojson-client&quot;:549}],770:[function(t,e,r){&quot;use strict&quot;;e.exports={moduleType:&quot;locale&quot;,name:&quot;en-US&quot;,dictionary:{&quot;Click to enter Colorscale title&quot;:&quot;Click to enter Colorscale title&quot;},format:{date:&quot;%m/%d/%Y&quot;}}},{}],771:[function(t,e,r){&quot;use strict&quot;;e.exports={moduleType:&quot;locale&quot;,name:&quot;en&quot;,dictionary:{&quot;Click to enter Colorscale title&quot;:&quot;Click to enter Colourscale title&quot;},format:{days:[&quot;Sunday&quot;,&quot;Monday&quot;,&quot;Tuesday&quot;,&quot;Wednesday&quot;,&quot;Thursday&quot;,&quot;Friday&quot;],shortDays:[&quot;Sun&quot;,&quot;Mon&quot;,&quot;Tue&quot;,&quot;Wed&quot;,&quot;Thu&quot;,&quot;Fri&quot;,&quot;Sat&quot;],months:[&quot;January&quot;,&quot;February&quot;,&quot;March&quot;,&quot;April&quot;,&quot;May&quot;,&quot;June&quot;,&quot;July&quot;,&quot;August&quot;,&quot;September&quot;,&quot;October&quot;,&quot;November&quot;,&quot;December&quot;],shortMonths:[&quot;Jan&quot;,&quot;Feb&quot;,&quot;Mar&quot;,&quot;Apr&quot;,&quot;May&quot;,&quot;Jun&quot;,&quot;Jul&quot;,&quot;Aug&quot;,&quot;Sep&quot;,&quot;Oct&quot;,&quot;Nov&quot;,&quot;Dec&quot;],periods:[&quot;AM&quot;,&quot;PM&quot;],dateTime:&quot;%a %b %e %X %Y&quot;,date:&quot;%d/%m/%Y&quot;,time:&quot;%H:%M:%S&quot;,decimal:&quot;.&quot;,thousands:&quot;,&quot;,grouping:[3],currency:[&quot;$&quot;,&quot;&quot;]}}},{}],772:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../registry&quot;);e.exports=function(t){for(var e,r,i=n.layoutArrayContainers,a=n.layoutArrayRegexes,o=t.split(&quot;[&quot;)[0],s=0;s&lt;a.length;s++)if((r=t.match(a[s]))&amp;&amp;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]*)\](\.(.+))?$/))&amp;&amp;{array:e,index:Number(r[1]),property:r[3]||&quot;&quot;}:{array:e,index:&quot;&quot;,property:&quot;&quot;}}},{&quot;../registry&quot;:873}],773:[function(t,e,r){&quot;use strict&quot;;function n(t){for(var e={},r=0;r&lt;t.length;r++)e[t[r]]=!1;return e}function i(t,e,r){var n=s({},t);for(var i in n){var o=n[i];l(o)&amp;&amp;(n[i]=a(o,e,r,i))}return&quot;from-root&quot;===r&amp;&amp;(n.editType=e),n}function a(t,e,r,n){if(t.valType){var o=s({},t);if(o.editType=e,Array.isArray(t.items)){o.items=new Array(t.items.length);for(var l=0;l&lt;t.items.length;l++)o.items[l]=a(t.items[l],e,&quot;from-root&quot;)}return o}return i(t,e,&quot;_&quot;===n.charAt(0)?&quot;nested&quot;:&quot;from-root&quot;)}var o=t(&quot;../lib&quot;),s=o.extendFlat,l=o.isPlainObject,c={valType:&quot;flaglist&quot;,extras:[&quot;none&quot;],flags:[&quot;calc&quot;,&quot;calcIfAutorange&quot;,&quot;clearAxisTypes&quot;,&quot;plot&quot;,&quot;style&quot;,&quot;colorbars&quot;]},u={valType:&quot;flaglist&quot;,extras:[&quot;none&quot;],flags:[&quot;calc&quot;,&quot;calcIfAutorange&quot;,&quot;plot&quot;,&quot;legend&quot;,&quot;ticks&quot;,&quot;layoutstyle&quot;,&quot;modebar&quot;,&quot;camera&quot;,&quot;arraydraw&quot;]},f=c.flags.slice().concat([&quot;clearCalc&quot;,&quot;fullReplot&quot;]),h=u.flags.slice().concat(&quot;layoutReplot&quot;);e.exports={traces:c,layout:u,traceFlags:function(){return n(f)},layoutFlags:function(){return n(h)},update:function(t,e){var r=e.editType;if(r&amp;&amp;&quot;none&quot;!==r)for(var n=r.split(&quot;+&quot;),i=0;i&lt;n.length;i++)t[n[i]]=!0},overrideAll:i}},{&quot;../lib&quot;:743}],774:[function(t,e,r){&quot;use strict&quot;;function n(t,e){var r=t[e],n=e.charAt(0);r&amp;&amp;&quot;paper&quot;!==r&amp;&amp;(t[e]=d(r,n))}function i(t){var e=&quot;middle&quot;,r=&quot;center&quot;;return-1!==t.indexOf(&quot;top&quot;)?e=&quot;top&quot;:-1!==t.indexOf(&quot;bottom&quot;)&amp;&amp;(e=&quot;bottom&quot;),-1!==t.indexOf(&quot;left&quot;)?r=&quot;left&quot;:-1!==t.indexOf(&quot;right&quot;)&amp;&amp;(r=&quot;right&quot;),e+&quot; &quot;+r}function a(t,e){return e in t&amp;&amp;&quot;object&quot;==typeof t[e]&amp;&amp;0===Object.keys(t[e]).length}function o(t){var e=t.search(g);if(e&gt;0)return t.substr(0,e)}var s=t(&quot;fast-isnumeric&quot;),l=t(&quot;gl-mat4/fromQuat&quot;),c=t(&quot;../registry&quot;),u=t(&quot;../lib&quot;),f=t(&quot;../plots/plots&quot;),h=t(&quot;../plots/cartesian/axis_ids&quot;),d=h.cleanId,p=h.getFromTrace,m=t(&quot;../components/color&quot;);r.clearPromiseQueue=function(t){Array.isArray(t._promises)&amp;&amp;t._promises.length&gt;0&amp;&amp;u.log(&quot;Clearing previous rejected promises from queue.&quot;),t._promises=[]},r.cleanLayout=function(t){var e,r;t||(t={}),t.xaxis1&amp;&amp;(t.xaxis||(t.xaxis=t.xaxis1),delete t.xaxis1),t.yaxis1&amp;&amp;(t.yaxis||(t.yaxis=t.yaxis1),delete t.yaxis1),t.scene1&amp;&amp;(t.scene||(t.scene=t.scene1),delete t.scene1);var i=(f.subplotsRegistry.cartesian||{}).attrRegex,o=(f.subplotsRegistry.gl3d||{}).attrRegex,s=Object.keys(t);for(e=0;e&lt;s.length;e++){var c=s[e];if(i&amp;&amp;i.test(c)){var h=t[c];h.anchor&amp;&amp;&quot;free&quot;!==h.anchor&amp;&amp;(h.anchor=d(h.anchor)),h.overlaying&amp;&amp;(h.overlaying=d(h.overlaying)),h.type||(h.isdate?h.type=&quot;date&quot;:h.islog?h.type=&quot;log&quot;:!1===h.isdate&amp;&amp;!1===h.islog&amp;&amp;(h.type=&quot;linear&quot;)),&quot;withzero&quot;!==h.autorange&amp;&amp;&quot;tozero&quot;!==h.autorange||(h.autorange=!0,h.rangemode=&quot;tozero&quot;),delete h.islog,delete h.isdate,delete h.categories,a(h,&quot;domain&quot;)&amp;&amp;delete h.domain,void 0!==h.autotick&amp;&amp;(void 0===h.tickmode&amp;&amp;(h.tickmode=h.autotick?&quot;auto&quot;:&quot;linear&quot;),delete h.autotick)}else if(o&amp;&amp;o.test(c)){var p=t[c],g=p.cameraposition;if(Array.isArray(g)&amp;&amp;4===g[0].length){var v=g[0],y=g[1],x=g[2],b=l([],v),_=[];for(r=0;r&lt;3;++r)_[r]=y[r]+x*b[2+4*r];p.camera={eye:{x:_[0],y:_[1],z:_[2]},center:{x:y[0],y:y[1],z:y[2]},up:{x:b[1],y:b[5],z:b[9]}},delete p.cameraposition}}}var w=Array.isArray(t.annotations)?t.annotations.length:0;for(e=0;e&lt;w;e++){var M=t.annotations[e];u.isPlainObject(M)&amp;&amp;(M.ref&amp;&amp;(&quot;paper&quot;===M.ref?(M.xref=&quot;paper&quot;,M.yref=&quot;paper&quot;):&quot;data&quot;===M.ref&amp;&amp;(M.xref=&quot;x&quot;,M.yref=&quot;y&quot;),delete M.ref),n(M,&quot;xref&quot;),n(M,&quot;yref&quot;))}var k=Array.isArray(t.shapes)?t.shapes.length:0;for(e=0;e&lt;k;e++){var A=t.shapes[e];u.isPlainObject(A)&amp;&amp;(n(A,&quot;xref&quot;),n(A,&quot;yref&quot;))}var T=t.legend;return T&amp;&amp;(T.x&gt;3?(T.x=1.02,T.xanchor=&quot;left&quot;):T.x&lt;-2&amp;&amp;(T.x=-.02,T.xanchor=&quot;right&quot;),T.y&gt;3?(T.y=1.02,T.yanchor=&quot;bottom&quot;):T.y&lt;-2&amp;&amp;(T.y=-.02,T.yanchor=&quot;top&quot;)),&quot;rotate&quot;===t.dragmode&amp;&amp;(t.dragmode=&quot;orbit&quot;),m.clean(t),t},r.cleanData=function(t,e){for(var n=[],o=t.concat(Array.isArray(e)?e:[]).filter(function(t){return&quot;uid&quot;in t}).map(function(t){return t.uid}),s=0;s&lt;t.length;s++){var l,h=t[s];if(!(&quot;uid&quot;in h)||-1!==n.indexOf(h.uid)){var p;for(l=0;l&lt;100&amp;&amp;(p=u.randstr(o),-1!==n.indexOf(p));l++);h.uid=u.randstr(o),o.push(h.uid)}if(n.push(h.uid),&quot;histogramy&quot;===h.type&amp;&amp;&quot;xbins&quot;in h&amp;&amp;!(&quot;ybins&quot;in h)&amp;&amp;(h.ybins=h.xbins,delete h.xbins),h.error_y&amp;&amp;&quot;opacity&quot;in h.error_y){var g=m.defaults,v=h.error_y.color||(c.traceIs(h,&quot;bar&quot;)?m.defaultLine:g[s%g.length]);h.error_y.color=m.addOpacity(m.rgb(v),m.opacity(v)*h.error_y.opacity),delete h.error_y.opacity}if(&quot;bardir&quot;in h&amp;&amp;(&quot;h&quot;!==h.bardir||!c.traceIs(h,&quot;bar&quot;)&amp;&amp;&quot;histogram&quot;!==h.type.substr(0,9)||(h.orientation=&quot;h&quot;,r.swapXYData(h)),delete h.bardir),&quot;histogramy&quot;===h.type&amp;&amp;r.swapXYData(h),&quot;histogramx&quot;!==h.type&amp;&amp;&quot;histogramy&quot;!==h.type||(h.type=&quot;histogram&quot;),&quot;scl&quot;in h&amp;&amp;(h.colorscale=h.scl,delete h.scl),&quot;reversescl&quot;in h&amp;&amp;(h.reversescale=h.reversescl,delete h.reversescl),h.xaxis&amp;&amp;(h.xaxis=d(h.xaxis,&quot;x&quot;)),h.yaxis&amp;&amp;(h.yaxis=d(h.yaxis,&quot;y&quot;)),c.traceIs(h,&quot;gl3d&quot;)&amp;&amp;h.scene&amp;&amp;(h.scene=f.subplotsRegistry.gl3d.cleanId(h.scene)),c.traceIs(h,&quot;pie&quot;)||c.traceIs(h,&quot;bar&quot;)||(Array.isArray(h.textposition)?h.textposition=h.textposition.map(i):h.textposition&amp;&amp;(h.textposition=i(h.textposition))),c.traceIs(h,&quot;2dMap&quot;)&amp;&amp;(&quot;YIGnBu&quot;===h.colorscale&amp;&amp;(h.colorscale=&quot;YlGnBu&quot;),&quot;YIOrRd&quot;===h.colorscale&amp;&amp;(h.colorscale=&quot;YlOrRd&quot;)),c.traceIs(h,&quot;markerColorscale&quot;)&amp;&amp;h.marker){var y=h.marker;&quot;YIGnBu&quot;===y.colorscale&amp;&amp;(y.colorscale=&quot;YlGnBu&quot;),&quot;YIOrRd&quot;===y.colorscale&amp;&amp;(y.colorscale=&quot;YlOrRd&quot;)}if(&quot;surface&quot;===h.type&amp;&amp;u.isPlainObject(h.contours)){var x=[&quot;x&quot;,&quot;y&quot;,&quot;z&quot;];for(l=0;l&lt;x.length;l++){var b=h.contours[x[l]];u.isPlainObject(b)&amp;&amp;(b.highlightColor&amp;&amp;(b.highlightcolor=b.highlightColor,delete b.highlightColor),b.highlightWidth&amp;&amp;(b.highlightwidth=b.highlightWidth,delete b.highlightWidth))}}if(Array.isArray(h.transforms)){var _=h.transforms;for(l=0;l&lt;_.length;l++){var w=_[l];if(u.isPlainObject(w))switch(w.type){case&quot;filter&quot;:w.filtersrc&amp;&amp;(w.target=w.filtersrc,delete w.filtersrc),w.calendar&amp;&amp;(w.valuecalendar||(w.valuecalendar=w.calendar),delete w.calendar);break;case&quot;groupby&quot;:if(w.styles=w.styles||w.style,w.styles&amp;&amp;!Array.isArray(w.styles)){var M=w.styles,k=Object.keys(M);w.styles=[];for(var A=0;A&lt;k.length;A++)w.styles.push({target:k[A],value:M[k[A]]})}}}}a(h,&quot;line&quot;)&amp;&amp;delete h.line,&quot;marker&quot;in h&amp;&amp;(a(h.marker,&quot;line&quot;)&amp;&amp;delete h.marker.line,a(h,&quot;marker&quot;)&amp;&amp;delete h.marker),m.clean(h)}},r.swapXYData=function(t){var e;if(u.swapAttrs(t,[&quot;?&quot;,&quot;?0&quot;,&quot;d?&quot;,&quot;?bins&quot;,&quot;nbins?&quot;,&quot;autobin?&quot;,&quot;?src&quot;,&quot;error_?&quot;]),Array.isArray(t.z)&amp;&amp;Array.isArray(t.z[0])&amp;&amp;(t.transpose?delete t.transpose:t.transpose=!0),t.error_x&amp;&amp;t.error_y){var r=t.error_y,n=&quot;copy_ystyle&quot;in r?r.copy_ystyle:!(r.color||r.thickness||r.width);u.swapAttrs(t,[&quot;error_?.copy_ystyle&quot;]),n&amp;&amp;u.swapAttrs(t,[&quot;error_?.color&quot;,&quot;error_?.thickness&quot;,&quot;error_?.width&quot;])}if(&quot;string&quot;==typeof t.hoverinfo){var i=t.hoverinfo.split(&quot;+&quot;);for(e=0;e&lt;i.length;e++)&quot;x&quot;===i[e]?i[e]=&quot;y&quot;:&quot;y&quot;===i[e]&amp;&amp;(i[e]=&quot;x&quot;);t.hoverinfo=i.join(&quot;+&quot;)}},r.coerceTraceIndices=function(t,e){return s(e)?[e]:Array.isArray(e)&amp;&amp;e.length?e:t.data.map(function(t,e){return e})},r.manageArrayContainers=function(t,e,r){var n=t.obj,i=t.parts,a=i.length,o=i[a-1],l=s(o);if(l&amp;&amp;null===e){var c=i.slice(0,a-1).join(&quot;.&quot;);u.nestedProperty(n,c).get().splice(o,1)}else l&amp;&amp;void 0===t.get()?(void 0===t.get()&amp;&amp;(r[t.astr]=null),t.set(e)):t.set(e)};var g=/(\.[^\[\]\.]+|\[[^\[\]\.]+\])$/;r.hasParent=function(t,e){for(var r=o(e);r;){if(r in t)return!0;r=o(r)}return!1};var v=[&quot;x&quot;,&quot;y&quot;,&quot;z&quot;];r.clearAxisTypes=function(t,e,r){for(var n=0;n&lt;e.length;n++)for(var i=t._fullData[n],a=0;a&lt;3;a++){var o=p(t,i,v[a]);if(o&amp;&amp;&quot;log&quot;!==o.type){var s=o._name,l=o._id.substr(1);if(&quot;scene&quot;===l.substr(0,5)){if(void 0!==r[l])continue;s=l+&quot;.&quot;+s}var c=s+&quot;.type&quot;;void 0===r[s]&amp;&amp;void 0===r[c]&amp;&amp;u.nestedProperty(t.layout,c).set(null)}}}},{&quot;../components/color&quot;:618,&quot;../lib&quot;:743,&quot;../plots/cartesian/axis_ids&quot;:792,&quot;../plots/plots&quot;:852,&quot;../registry&quot;:873,&quot;fast-isnumeric&quot;:140,&quot;gl-mat4/fromQuat&quot;:183}],775:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../lib/nested_property&quot;),i=t(&quot;../lib/is_plain_object&quot;),a=t(&quot;../lib/noop&quot;),o=t(&quot;../lib/loggers&quot;),s=t(&quot;../lib/search&quot;).sorterAsc,l=t(&quot;../registry&quot;);r.containerArrayMatch=t(&quot;./container_array_match&quot;);var c=r.isAddVal=function(t){return&quot;add&quot;===t||i(t)},u=r.isRemoveVal=function(t){return null===t||&quot;remove&quot;===t};r.applyContainerArrayChanges=function(t,e,r,i){var f=e.astr,h=l.getComponentMethod(f,&quot;supplyLayoutDefaults&quot;),d=l.getComponentMethod(f,&quot;draw&quot;),p=l.getComponentMethod(f,&quot;drawOne&quot;),m=i.replot||i.recalc||h===a||d===a,g=t.layout,v=t._fullLayout;if(r[&quot;&quot;]){Object.keys(r).length&gt;1&amp;&amp;o.warn(&quot;Full array edits are incompatible with other edits&quot;,f);var y=r[&quot;&quot;][&quot;&quot;];if(u(y))e.set(null);else{if(!Array.isArray(y))return o.warn(&quot;Unrecognized full array edit value&quot;,f,y),!0;e.set(y)}return!m&amp;&amp;(h(g,v),d(t),!0)}var x,b,_,w,M,k,A,T=Object.keys(r).map(Number).sort(s),S=e.get(),E=S||[],L=n(v,f).get(),C=[],z=-1,D=E.length;for(x=0;x&lt;T.length;x++)if(_=T[x],w=r[_],M=Object.keys(w),k=w[&quot;&quot;],A=c(k),_&lt;0||_&gt;E.length-(A?0:1))o.warn(&quot;index out of range&quot;,f,_);else if(void 0!==k)M.length&gt;1&amp;&amp;o.warn(&quot;Insertion &amp; removal are incompatible with edits to the same index.&quot;,f,_),u(k)?C.push(_):A?(&quot;add&quot;===k&amp;&amp;(k={}),E.splice(_,0,k),L&amp;&amp;L.splice(_,0,{})):o.warn(&quot;Unrecognized full object edit value&quot;,f,_,k),-1===z&amp;&amp;(z=_);else for(b=0;b&lt;M.length;b++)n(E[_],M[b]).set(w[M[b]]);for(x=C.length-1;x&gt;=0;x--)E.splice(C[x],1),L&amp;&amp;L.splice(C[x],1);if(E.length?S||e.set(E):e.set(null),m)return!1;if(h(g,v),p!==a){var I;if(-1===z)I=T;else{for(D=Math.max(E.length,D),I=[],x=0;x&lt;T.length&amp;&amp;!((_=T[x])&gt;=z);x++)I.push(_);for(x=z;x&lt;D;x++)I.push(x)}for(x=0;x&lt;I.length;x++)p(t,I[x])}else d(t);return!0}},{&quot;../lib/is_plain_object&quot;:745,&quot;../lib/loggers&quot;:748,&quot;../lib/nested_property&quot;:751,&quot;../lib/noop&quot;:752,&quot;../lib/search&quot;:761,&quot;../registry&quot;:873,&quot;./container_array_match&quot;:772}],776:[function(t,e,r){&quot;use strict&quot;;function n(t,e){try{t._fullLayout._paper.style(&quot;background&quot;,e)}catch(t){v.error(t)}}function i(t,e){n(t,T.combine(e,&quot;white&quot;))}function a(t,e){var r,n,i=e+1,a=[];for(r=0;r&lt;t.length;r++)(n=t[r])&lt;0?a.push(i+n):a.push(n);return a}function o(t,e,r){var n,i;for(n=0;n&lt;e.length;n++){if((i=e[n])!==parseInt(i,10))throw new Error(&quot;all values in &quot;+r+&quot; must be integers&quot;);if(i&gt;=t.data.length||i&lt;-t.data.length)throw new Error(r+&quot; must be valid indices for gd.data.&quot;);if(e.indexOf(i,n+1)&gt;-1||i&gt;=0&amp;&amp;e.indexOf(-t.data.length+i)&gt;-1||i&lt;0&amp;&amp;e.indexOf(t.data.length+i)&gt;-1)throw new Error(&quot;each index in &quot;+r+&quot; must be unique.&quot;)}}function s(t,e,r){if(!Array.isArray(t.data))throw new Error(&quot;gd.data must be an array.&quot;);if(void 0===e)throw new Error(&quot;currentIndices is a required argument.&quot;);if(Array.isArray(e)||(e=[e]),o(t,e,&quot;currentIndices&quot;),void 0===r||Array.isArray(r)||(r=[r]),void 0!==r&amp;&amp;o(t,r,&quot;newIndices&quot;),void 0!==r&amp;&amp;e.length!==r.length)throw new Error(&quot;current and new indices must be of equal length.&quot;)}function l(t,e,r,n,i,s){!function(t,e,r,n){var i=v.isPlainObject(n);if(!Array.isArray(t.data))throw new Error(&quot;gd.data must be an array&quot;);if(!v.isPlainObject(e))throw new Error(&quot;update must be a key:value object&quot;);if(void 0===r)throw new Error(&quot;indices must be an integer or array of integers&quot;);o(t,r,&quot;indices&quot;);for(var a in e){if(!Array.isArray(e[a])||e[a].length!==r.length)throw new Error(&quot;attribute &quot;+a+&quot; must be an array of length equal to indices array length&quot;);if(i&amp;&amp;(!(a in n)||!Array.isArray(n[a])||n[a].length!==e[a].length))throw new Error(&quot;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&quot;)}}(t,e,r,n);for(var l,c,u,f=function(t,e,r,n){var i,o,s,l,c,u=v.isPlainObject(n),f=[];Array.isArray(r)||(r=[r]),r=a(r,t.data.length-1);for(var h in e)for(var d=0;d&lt;r.length;d++){if(i=t.data[r[d]],s=v.nestedProperty(i,h),o=s.get(),l=e[h][d],!Array.isArray(l))throw new Error(&quot;attribute: &quot;+h+&quot; index: &quot;+d+&quot; must be an array&quot;);if(!Array.isArray(o))throw new Error(&quot;cannot extend missing or non-array attribute: &quot;+h);c=u?n[h][d]:n,p(c)||(c=-1),f.push({prop:s,target:o,insert:l,maxp:Math.floor(c)})}return f}(t,e,r,n),h=[],d={},m={},g=0;g&lt;f.length;g++)c=f[g].prop,u=f[g].maxp,l=i(f[g].target,f[g].insert),u&gt;=0&amp;&amp;u&lt;l.length&amp;&amp;(h=s(l,u)),u=f[g].target.length,c.set(l),Array.isArray(d[c.astr])||(d[c.astr]=[]),Array.isArray(m[c.astr])||(m[c.astr]=[]),d[c.astr].push(h),m[c.astr].push(u);return{update:d,maxPoints:m}}function c(t){return void 0===t?null:t}function u(t,e,r){function n(){return r.map(function(){})}function i(t){var e=g.Axes.id2name(t);-1===u.indexOf(e)&amp;&amp;u.push(e)}function a(t){return&quot;LAYOUT&quot;+t+&quot;.autorange&quot;}function o(t){return&quot;LAYOUT&quot;+t+&quot;.range&quot;}function s(i,a,o){if(Array.isArray(i))i.forEach(function(t){s(t,a,o)});else if(!(i in e||z.hasParent(e,i))){var l;l=&quot;LAYOUT&quot;===i.substr(0,6)?v.nestedProperty(t.layout,i.replace(&quot;LAYOUT&quot;,&quot;&quot;)):v.nestedProperty(d[r[o]],i),i in y||(y[i]=n()),void 0===y[i][o]&amp;&amp;(y[i][o]=c(l.get())),void 0!==a&amp;&amp;l.set(a)}}var l,u,f=t._fullLayout,h=t._fullData,d=t.data,p=I.traceFlags(),m={},y={},x={};for(var M in e){if(z.hasParent(e,M))throw new Error(&quot;cannot set &quot;+M+&quot;and a parent attribute simultaneously&quot;);var k,A,T,S,E,L,C=e[M];if(m[M]=C,&quot;LAYOUT&quot;!==M.substr(0,6)){for(y[M]=n(),l=0;l&lt;r.length;l++)if(k=d[r[l]],A=h[r[l]],T=v.nestedProperty(k,M),S=T.get(),void 0!==(E=Array.isArray(C)?C[l%C.length]:C)){if((L=_.getTraceValObject(A,T.parts))&amp;&amp;L.impliedEdits&amp;&amp;null!==E)for(var D in L.impliedEdits)s(v.relativeAttr(M,D),L.impliedEdits[D],l);else if(&quot;colorbar.thicknessmode&quot;===M&amp;&amp;T.get()!==E&amp;&amp;-1!==[&quot;fraction&quot;,&quot;pixels&quot;].indexOf(E)&amp;&amp;A.colorbar){var P=-1!==[&quot;top&quot;,&quot;bottom&quot;].indexOf(A.colorbar.orient)?f.height-f.margin.t-f.margin.b:f.width-f.margin.l-f.margin.r;s(&quot;colorbar.thickness&quot;,A.colorbar.thickness*(&quot;fraction&quot;===E?1/P:P),l)}else if(&quot;colorbar.lenmode&quot;===M&amp;&amp;T.get()!==E&amp;&amp;-1!==[&quot;fraction&quot;,&quot;pixels&quot;].indexOf(E)&amp;&amp;A.colorbar){var O=-1!==[&quot;top&quot;,&quot;bottom&quot;].indexOf(A.colorbar.orient)?f.width-f.margin.l-f.margin.r:f.height-f.margin.t-f.margin.b;s(&quot;colorbar.len&quot;,A.colorbar.len*(&quot;fraction&quot;===E?1/O:O),l)}else&quot;colorbar.tick0&quot;!==M&amp;&amp;&quot;colorbar.dtick&quot;!==M||s(&quot;colorbar.tickmode&quot;,&quot;linear&quot;,l);if(&quot;type&quot;===M&amp;&amp;&quot;pie&quot;===E!=(&quot;pie&quot;===S)){var F=&quot;x&quot;,R=&quot;y&quot;;&quot;bar&quot;!==E&amp;&amp;&quot;bar&quot;!==S||&quot;h&quot;!==k.orientation||(F=&quot;y&quot;,R=&quot;x&quot;),v.swapAttrs(k,[&quot;?&quot;,&quot;?src&quot;],&quot;labels&quot;,F),v.swapAttrs(k,[&quot;d?&quot;,&quot;?0&quot;],&quot;label&quot;,F),v.swapAttrs(k,[&quot;?&quot;,&quot;?src&quot;],&quot;values&quot;,R),&quot;pie&quot;===S?(v.nestedProperty(k,&quot;marker.color&quot;).set(v.nestedProperty(k,&quot;marker.colors&quot;).get()),f._pielayer.selectAll(&quot;g.trace&quot;).remove()):b.traceIs(k,&quot;cartesian&quot;)&amp;&amp;(v.nestedProperty(k,&quot;marker.colors&quot;).set(v.nestedProperty(k,&quot;marker.color&quot;).get()),x[k.xaxis||&quot;x&quot;]=!0,x[k.yaxis||&quot;y&quot;]=!0)}y[M][l]=c(S);if(-1!==[&quot;swapxy&quot;,&quot;swapxyaxes&quot;,&quot;orientation&quot;,&quot;orientationaxes&quot;].indexOf(M)){if(&quot;orientation&quot;===M){T.set(E);var N=k.x&amp;&amp;!k.y?&quot;h&quot;:&quot;v&quot;;if((T.get()||N)===A.orientation)continue}else&quot;orientationaxes&quot;===M&amp;&amp;(k.orientation={v:&quot;h&quot;,h:&quot;v&quot;}[A.orientation]);z.swapXYData(k),p.calc=p.clearAxisTypes=!0}else-1!==w.dataArrayContainers.indexOf(T.parts[0])?(z.manageArrayContainers(T,E,y),p.calc=!0):(L?L.arrayOk&amp;&amp;(Array.isArray(E)||Array.isArray(S))?p.calc=!0:I.update(p,L):p.calc=!0,T.set(E))}if(-1!==[&quot;swapxyaxes&quot;,&quot;orientationaxes&quot;].indexOf(M)&amp;&amp;g.Axes.swap(t,r),&quot;orientationaxes&quot;===M){var j=v.nestedProperty(t.layout,&quot;hovermode&quot;);&quot;x&quot;===j.get()?j.set(&quot;y&quot;):&quot;y&quot;===j.get()&amp;&amp;j.set(&quot;x&quot;)}if(-1!==[&quot;orientation&quot;,&quot;type&quot;].indexOf(M)){for(u=[],l=0;l&lt;r.length;l++){var B=d[r[l]];b.traceIs(B,&quot;cartesian&quot;)&amp;&amp;(i(B.xaxis||&quot;x&quot;),i(B.yaxis||&quot;y&quot;),&quot;type&quot;===M&amp;&amp;s([&quot;autobinx&quot;,&quot;autobiny&quot;],!0,l))}s(u.map(a),!0,0),s(u.map(o),[0,1],0)}}else T=v.nestedProperty(t.layout,M.replace(&quot;LAYOUT&quot;,&quot;&quot;)),y[M]=[c(T.get())],T.set(Array.isArray(C)?C[0]:C),p.calc=!0}var U=!1,V=g.Axes.list(t);for(l=0;l&lt;V.length;l++)if(V[l].autorange){U=!0;break}var q=Object.keys(x);t:for(l=0;l&lt;q.length;l++){for(var H=q[l],G=H.charAt(0),Y=G+&quot;axis&quot;,W=0;W&lt;d.length;W++)if(b.traceIs(d[W],&quot;cartesian&quot;)&amp;&amp;(d[W][Y]||G)===H)continue t;s(&quot;LAYOUT&quot;+g.Axes.id2name(H),null,0)}return(p.calc||p.calcIfAutorange&amp;&amp;U)&amp;&amp;(p.clearCalc=!0),(p.calc||p.plot||p.calcIfAutorange)&amp;&amp;(p.fullReplot=!0),{flags:p,undoit:y,redoit:m,traces:r,eventData:v.extendDeepNoArrays([],[m,r])}}function f(t,e){function r(t,n){if(Array.isArray(t))t.forEach(function(t){r(t,n)});else if(!(t in e||z.hasParent(e,t))){var i=v.nestedProperty(l,t);t in A||(A[t]=c(i.get())),void 0!==n&amp;&amp;i.set(n)}}function n(e,r){if(!v.isPlainObject(e))return!1;var n=e[r+&quot;ref&quot;]||r,i=g.Axes.getFromId(t,n);return i||n.charAt(0)!==r||(i=g.Axes.getFromId(t,r)),(i||{}).autorange}function i(t){var e=N.name2id(t.split(&quot;.&quot;)[0]);return T[e]=1,e}var a,o,s,l=t.layout,u=t._fullLayout,f=Object.keys(e),h=g.Axes.list(t),d={};for(o=0;o&lt;f.length;o++)if(0===f[o].indexOf(&quot;allaxes&quot;)){for(s=0;s&lt;h.length;s++){var p=h[s]._id.substr(1),m=-1!==p.indexOf(&quot;scene&quot;)?p+&quot;.&quot;:&quot;&quot;,y=f[o].replace(&quot;allaxes&quot;,m+h[s]._name);e[y]||(e[y]=e[f[o]])}delete e[f[o]]}var x,M=I.layoutFlags(),k={},A={},T={};for(var S in e){if(z.hasParent(e,S))throw new Error(&quot;cannot set &quot;+S+&quot;and a parent attribute simultaneously&quot;);var E=v.nestedProperty(l,S),L=e[S],D=E.parts.length,O=&quot;string&quot;==typeof E.parts[D-1]?D-1:D-2,F=E.parts[O],R=E.parts[O-1]+&quot;.&quot;+F,j=E.parts.slice(0,O).join(&quot;.&quot;),B=v.nestedProperty(t.layout,j).get(),U=v.nestedProperty(u,j).get(),V=E.get();if(void 0!==L){k[S]=L,A[S]=&quot;reverse&quot;===F?L:c(V);var q=_.getLayoutValObject(u,E.parts);if(q&amp;&amp;q.impliedEdits&amp;&amp;null!==L)for(var H in q.impliedEdits)r(v.relativeAttr(S,H),q.impliedEdits[H]);if(-1!==[&quot;width&quot;,&quot;height&quot;].indexOf(S)&amp;&amp;null===L)u[S]=t._initialAutoSize[S];else if(R.match(/^[xyz]axis[0-9]*\.range(\[[0|1]\])?$/))i(R),v.nestedProperty(u,j+&quot;._inputRange&quot;).set(null);else if(R.match(/^[xyz]axis[0-9]*\.autorange$/)){i(R),v.nestedProperty(u,j+&quot;._inputRange&quot;).set(null);var G=v.nestedProperty(u,j).get();G._inputDomain&amp;&amp;(G._input.domain=G._inputDomain.slice())}else R.match(/^[xyz]axis[0-9]*\.domain(\[[0|1]\])?$/)&amp;&amp;v.nestedProperty(u,j+&quot;._inputDomain&quot;).set(null);if(&quot;type&quot;===F){var Y=B,W=&quot;linear&quot;===U.type&amp;&amp;&quot;log&quot;===L,X=&quot;log&quot;===U.type&amp;&amp;&quot;linear&quot;===L;if(W||X){if(Y&amp;&amp;Y.range)if(U.autorange)W&amp;&amp;(Y.range=Y.range[1]&gt;Y.range[0]?[1,2]:[2,1]);else{var Z=Y.range[0],J=Y.range[1];W?(Z&lt;=0&amp;&amp;J&lt;=0&amp;&amp;r(j+&quot;.autorange&quot;,!0),Z&lt;=0?Z=J/1e6:J&lt;=0&amp;&amp;(J=Z/1e6),r(j+&quot;.range[0]&quot;,Math.log(Z)/Math.LN10),r(j+&quot;.range[1]&quot;,Math.log(J)/Math.LN10)):(r(j+&quot;.range[0]&quot;,Math.pow(10,Z)),r(j+&quot;.range[1]&quot;,Math.pow(10,J)))}else r(j+&quot;.autorange&quot;,!0);Array.isArray(u._subplots.polar)&amp;&amp;u._subplots.polar.length&amp;&amp;u[E.parts[0]]&amp;&amp;&quot;radialaxis&quot;===E.parts[1]&amp;&amp;delete u[E.parts[0]]._subplot.viewInitial[&quot;radialaxis.range&quot;],b.getComponentMethod(&quot;annotations&quot;,&quot;convertCoords&quot;)(t,U,L,r),b.getComponentMethod(&quot;images&quot;,&quot;convertCoords&quot;)(t,U,L,r)}else r(j+&quot;.autorange&quot;,!0),r(j+&quot;.range&quot;,null);v.nestedProperty(u,j+&quot;._inputRange&quot;).set(null)}else if(F.match(P.AX_NAME_PATTERN)){var K=v.nestedProperty(u,S).get(),Q=(L||{}).type;Q&amp;&amp;&quot;-&quot;!==Q||(Q=&quot;linear&quot;),b.getComponentMethod(&quot;annotations&quot;,&quot;convertCoords&quot;)(t,K,Q,r),b.getComponentMethod(&quot;images&quot;,&quot;convertCoords&quot;)(t,K,Q,r)}var $=C.containerArrayMatch(S);if($){a=$.array,o=$.index;var tt=$.property,et=(v.nestedProperty(l,a)||[])[o]||{},rt=et,nt=q||{editType:&quot;calc&quot;},it=-1!==nt.editType.indexOf(&quot;calcIfAutorange&quot;);&quot;&quot;===o?(it?M.calc=!0:I.update(M,nt),it=!1):&quot;&quot;===tt&amp;&amp;(rt=L,C.isAddVal(L)?A[S]=null:C.isRemoveVal(L)?(A[S]=et,rt=et):v.warn(&quot;unrecognized full object value&quot;,e)),it&amp;&amp;(n(rt,&quot;x&quot;)||n(rt,&quot;y&quot;))?M.calc=!0:I.update(M,nt),d[a]||(d[a]={});var at=d[a][o];at||(at=d[a][o]={}),at[tt]=L,delete e[S]}else&quot;reverse&quot;===F?(B.range?B.range.reverse():(r(j+&quot;.autorange&quot;,!0),B.range=[1,0]),U.autorange?M.calc=!0:M.plot=!0):((!u._has(&quot;gl2d&quot;)&amp;&amp;!u._has(&quot;regl&quot;)||&quot;dragmode&quot;!==S||&quot;lasso&quot;!==L&amp;&amp;&quot;select&quot;!==L||&quot;lasso&quot;===V||&quot;select&quot;===V)&amp;&amp;q?I.update(M,q):M.calc=!0,E.set(L))}}for(a in d){C.applyContainerArrayChanges(t,v.nestedProperty(l,a),d[a],M)||(M.plot=!0)}var ot=u._axisConstraintGroups||[];for(x in T)for(o=0;o&lt;ot.length;o++){var st=ot[o];if(st[x]){M.calc=!0;for(var lt in st)T[lt]||(N.getFromId(t,lt)._constraintShrinkable=!0)}}var ct=u.width,ut=u.height;t.layout.autosize&amp;&amp;w.plotAutoSize(t,t.layout,u);return(e.height||e.width||u.width!==ct||u.height!==ut)&amp;&amp;(M.calc=!0),(M.plot||M.calc)&amp;&amp;(M.layoutReplot=!0),{flags:M,undoit:A,redoit:k,eventData:v.extendDeep({},k)}}function h(t){var e=d.select(t),r=t._fullLayout;if(r._container=e.selectAll(&quot;.plot-container&quot;).data([0]),r._container.enter().insert(&quot;div&quot;,&quot;:first-child&quot;).classed(&quot;plot-container&quot;,!0).classed(&quot;plotly&quot;,!0),r._paperdiv=r._container.selectAll(&quot;.svg-container&quot;).data([0]),r._paperdiv.enter().append(&quot;div&quot;).classed(&quot;svg-container&quot;,!0).style(&quot;position&quot;,&quot;relative&quot;),r._glcontainer=r._paperdiv.selectAll(&quot;.gl-container&quot;).data([{}]),r._glcontainer.enter().append(&quot;div&quot;).classed(&quot;gl-container&quot;,!0),r._glcanvas=null,r._paperdiv.selectAll(&quot;.main-svg&quot;).remove(),r._paper=r._paperdiv.insert(&quot;svg&quot;,&quot;:first-child&quot;).classed(&quot;main-svg&quot;,!0),r._toppaper=r._paperdiv.append(&quot;svg&quot;).classed(&quot;main-svg&quot;,!0),!r._uid){var n=[];d.selectAll(&quot;defs&quot;).each(function(){this.id&amp;&amp;n.push(this.id.split(&quot;-&quot;)[1])}),r._uid=v.randstr(n)}r._paperdiv.selectAll(&quot;.main-svg&quot;).attr(E.svgAttrs),r._defs=r._paper.append(&quot;defs&quot;).attr(&quot;id&quot;,&quot;defs-&quot;+r._uid),r._clips=r._defs.append(&quot;g&quot;).classed(&quot;clips&quot;,!0),r._topdefs=r._toppaper.append(&quot;defs&quot;).attr(&quot;id&quot;,&quot;topdefs-&quot;+r._uid),r._topclips=r._topdefs.append(&quot;g&quot;).classed(&quot;clips&quot;,!0),r._bgLayer=r._paper.append(&quot;g&quot;).classed(&quot;bglayer&quot;,!0),r._draggers=r._paper.append(&quot;g&quot;).classed(&quot;draglayer&quot;,!0);var i=r._paper.append(&quot;g&quot;).classed(&quot;layer-below&quot;,!0);r._imageLowerLayer=i.append(&quot;g&quot;).classed(&quot;imagelayer&quot;,!0),r._shapeLowerLayer=i.append(&quot;g&quot;).classed(&quot;shapelayer&quot;,!0),r._cartesianlayer=r._paper.append(&quot;g&quot;).classed(&quot;cartesianlayer&quot;,!0),r._polarlayer=r._paper.append(&quot;g&quot;).classed(&quot;polarlayer&quot;,!0),r._ternarylayer=r._paper.append(&quot;g&quot;).classed(&quot;ternarylayer&quot;,!0),r._geolayer=r._paper.append(&quot;g&quot;).classed(&quot;geolayer&quot;,!0),r._pielayer=r._paper.append(&quot;g&quot;).classed(&quot;pielayer&quot;,!0),r._glimages=r._paper.append(&quot;g&quot;).classed(&quot;glimages&quot;,!0);var a=r._toppaper.append(&quot;g&quot;).classed(&quot;layer-above&quot;,!0);r._imageUpperLayer=a.append(&quot;g&quot;).classed(&quot;imagelayer&quot;,!0),r._shapeUpperLayer=a.append(&quot;g&quot;).classed(&quot;shapelayer&quot;,!0),r._infolayer=r._toppaper.append(&quot;g&quot;).classed(&quot;infolayer&quot;,!0),r._menulayer=r._toppaper.append(&quot;g&quot;).classed(&quot;menulayer&quot;,!0),r._zoomlayer=r._toppaper.append(&quot;g&quot;).classed(&quot;zoomlayer&quot;,!0),r._hoverlayer=r._toppaper.append(&quot;g&quot;).classed(&quot;hoverlayer&quot;,!0),t.emit(&quot;plotly_framework&quot;)}var d=t(&quot;d3&quot;),p=t(&quot;fast-isnumeric&quot;),m=t(&quot;has-hover&quot;),g=t(&quot;../plotly&quot;),v=t(&quot;../lib&quot;),y=t(&quot;../lib/events&quot;),x=t(&quot;../lib/queue&quot;),b=t(&quot;../registry&quot;),_=t(&quot;./plot_schema&quot;),w=t(&quot;../plots/plots&quot;),M=t(&quot;../plots/polar/legacy&quot;),k=t(&quot;../plots/cartesian/graph_interact&quot;),A=t(&quot;../components/drawing&quot;),T=t(&quot;../components/color&quot;),S=t(&quot;../components/errorbars&quot;),E=t(&quot;../constants/xmlns_namespaces&quot;),L=t(&quot;../lib/svg_text_utils&quot;),C=t(&quot;./manage_arrays&quot;),z=t(&quot;./helpers&quot;),D=t(&quot;./subroutines&quot;),I=t(&quot;./edit_types&quot;),P=t(&quot;../plots/cartesian/constants&quot;),O=t(&quot;../plots/cartesian/constraints&quot;),F=O.enforce,R=O.clean,N=t(&quot;../plots/cartesian/axis_ids&quot;);g.plot=function(t,e,r,a){function o(){var e,r,n,i=t.calcdata;for(b.getComponentMethod(&quot;legend&quot;,&quot;draw&quot;)(t),b.getComponentMethod(&quot;rangeselector&quot;,&quot;draw&quot;)(t),b.getComponentMethod(&quot;sliders&quot;,&quot;draw&quot;)(t),b.getComponentMethod(&quot;updatemenus&quot;,&quot;draw&quot;)(t),e=0;e&lt;i.length;e++)!0===(n=(r=i[e])[0].trace).visible&amp;&amp;n._module.colorbar?n._module.colorbar(t,r):w.autoMargin(t,&quot;cb&quot;+n.uid);return w.doAutoMargin(t),w.previousPromises(t)}function s(){if(!t._transitioning){for(var e=g.Axes.list(t,&quot;&quot;,!0),r=0;r&lt;e.length;r++){var n=e[r];R(t,n),g.Axes.doAutoRange(n)}F(t),u&amp;&amp;g.Axes.saveRangeInitial(t)}}var l;if(t=v.getGraphDiv(t),y.init(t),v.isPlainObject(e)){var c=e;e=c.data,r=c.layout,a=c.config,l=c.frames}if(!1===y.triggerHandler(t,&quot;plotly_beforeplot&quot;,[e,r,a]))return Promise.reject();e||r||v.isPlotDiv(t)||v.warn(&quot;Calling Plotly.plot as if redrawing but this container doesn't yet have a plot.&quot;,t),function(t,e){t._context||(t._context=v.extendDeep({},g.defaultConfig));var r,a,o,s=t._context;if(e){for(a=Object.keys(e),r=0;r&lt;a.length;r++)&quot;editable&quot;!==(o=a[r])&amp;&amp;&quot;edits&quot;!==o&amp;&amp;o in s&amp;&amp;(&quot;setBackground&quot;===o&amp;&amp;&quot;opaque&quot;===e[o]?s[o]=i:s[o]=e[o]);e.plot3dPixelRatio&amp;&amp;!s.plotGlPixelRatio&amp;&amp;(s.plotGlPixelRatio=s.plot3dPixelRatio);var l=e.editable;if(void 0!==l)for(s.editable=l,a=Object.keys(s.edits),r=0;r&lt;a.length;r++)s.edits[a[r]]=l;if(e.edits)for(a=Object.keys(e.edits),r=0;r&lt;a.length;r++)(o=a[r])in s.edits&amp;&amp;(s.edits[o]=e.edits[o])}s.staticPlot&amp;&amp;(s.editable=!1,s.edits={},s.autosizable=!1,s.scrollZoom=!1,s.doubleClick=!1,s.showTips=!1,s.showLink=!1,s.displayModeBar=!1),&quot;hover&quot;!==s.displayModeBar||m||(s.displayModeBar=!0),&quot;transparent&quot;!==s.setBackground&amp;&amp;&quot;function&quot;==typeof s.setBackground||(s.setBackground=n)}(t,a),r||(r={}),d.select(t).classed(&quot;js-plotly-plot&quot;,!0),A.makeTester(),Array.isArray(t._promises)||(t._promises=[]);var u=0===(t.data||[]).length&amp;&amp;Array.isArray(e);if(Array.isArray(e)&amp;&amp;(z.cleanData(e,t.data),u?t.data=e:t.data.push.apply(t.data,e),t.empty=!1),t.layout&amp;&amp;!u||(t.layout=z.cleanLayout(r)),t._dragging&amp;&amp;!t._transitioning)return t._replotPending=!0,Promise.reject();t._replotPending=!1,w.supplyDefaults(t);var f=t._fullLayout;if(!f._has(&quot;polar&quot;)&amp;&amp;e&amp;&amp;e[0]&amp;&amp;e[0].r)return v.log(&quot;Legacy polar charts are deprecated!&quot;),function(t,e,r){var n=d.select(t).selectAll(&quot;.plot-container&quot;).data([0]);n.enter().insert(&quot;div&quot;,&quot;:first-child&quot;).classed(&quot;plot-container plotly&quot;,!0);var i=n.selectAll(&quot;.svg-container&quot;).data([0]);i.enter().append(&quot;div&quot;).classed(&quot;svg-container&quot;,!0).style(&quot;position&quot;,&quot;relative&quot;),i.html(&quot;&quot;),e&amp;&amp;(t.data=e),r&amp;&amp;(t.layout=r),M.manager.fillLayout(t),i.style({width:t._fullLayout.width+&quot;px&quot;,height:t._fullLayout.height+&quot;px&quot;}),t.framework=M.manager.framework(t),t.framework({data:t.data,layout:t.layout},i.node()),t.framework.setUndoPoint();var a=t.framework.svg(),o=1,s=t._fullLayout.title;&quot;&quot;!==s&amp;&amp;s||(o=0);var l=function(){this.call(L.convertToTspans,t)},c=a.select(&quot;.title-group text&quot;).call(l);if(t._context.edits.titleText){var u=v._(t,&quot;Click to enter Plot title&quot;);s&amp;&amp;s!==u||(o=.2,c.attr({&quot;data-unformatted&quot;:u}).text(u).style({opacity:o}).on(&quot;mouseover.opacity&quot;,function(){d.select(this).transition().duration(100).style(&quot;opacity&quot;,1)}).on(&quot;mouseout.opacity&quot;,function(){d.select(this).transition().duration(1e3).style(&quot;opacity&quot;,0)}));var f=function(){this.call(L.makeEditable,{gd:t}).on(&quot;edit&quot;,function(e){t.framework({layout:{title:e}}),this.text(e).call(l),this.call(f)}).on(&quot;cancel&quot;,function(){var t=this.attr(&quot;data-unformatted&quot;);this.text(t).call(l)})};c.call(f)}return t._context.setBackground(t,t._fullLayout.paper_bgcolor),w.addLinks(t),Promise.resolve()}(t,e,r);f._replotting=!0,u&amp;&amp;h(t),t.framework!==h&amp;&amp;(t.framework=h,h(t)),A.initGradients(t),u&amp;&amp;g.Axes.saveShowSpikeInitial(t);var p=!t.calcdata||t.calcdata.length!==(t._fullData||[]).length;p&amp;&amp;w.doCalcdata(t);for(var x=0;x&lt;t.calcdata.length;x++)t.calcdata[x][0].trace=t._fullData[x];var _=JSON.stringify(f._size),T=[w.previousPromises,function(){if(l)return g.addFrames(t,l)},function(){for(var e=f._basePlotModules,r=0;r&lt;e.length;r++)e[r].drawFramework&amp;&amp;e[r].drawFramework(t);return!f._glcanvas&amp;&amp;f._has(&quot;gl&quot;)&amp;&amp;(f._glcanvas=f._glcontainer.selectAll(&quot;.gl-canvas&quot;).data([{key:&quot;contextLayer&quot;,context:!0,pick:!1},{key:&quot;focusLayer&quot;,context:!1,pick:!1},{key:&quot;pickLayer&quot;,context:!1,pick:!0}],function(t){return t.key}),f._glcanvas.enter().append(&quot;canvas&quot;).attr(&quot;class&quot;,function(t){return&quot;gl-canvas gl-canvas-&quot;+t.key.replace(&quot;Layer&quot;,&quot;&quot;)}).style({position:&quot;absolute&quot;,top:0,left:0,width:&quot;100%&quot;,height:&quot;100%&quot;,overflow:&quot;visible&quot;,&quot;pointer-events&quot;:&quot;none&quot;})),f._glcanvas&amp;&amp;f._glcanvas.attr(&quot;width&quot;,f.width).attr(&quot;height&quot;,f.height),v.syncOrAsync([D.layoutStyles],t)},o,function(){if(JSON.stringify(f._size)!==_)return v.syncOrAsync([o,D.layoutStyles],t)},function(){if(p){var e,r,n,i=f._subplots.cartesian,a=f._modules,o=[];for(n=0;n&lt;a.length;n++)v.pushUnique(o,a[n].setPositions);if(o.length)for(r=0;r&lt;i.length;r++)for(e=f._plots[i[r]],n=0;n&lt;o.length;n++)o[n](t,e);return S.calc(t),v.syncOrAsync([b.getComponentMethod(&quot;shapes&quot;,&quot;calcAutorange&quot;),b.getComponentMethod(&quot;annotations&quot;,&quot;calcAutorange&quot;),s,b.getComponentMethod(&quot;rangeslider&quot;,&quot;calcAutorange&quot;)],t)}F(t)},D.layoutStyles,function(){return g.Axes.doTicks(t,&quot;redraw&quot;)},function(){var e,r=t.calcdata,n=f._infolayer.selectAll(&quot;g.rangeslider-container&quot;);for(e=0;e&lt;r.length;e++){var i=r[e][0].trace,a=!0===i.visible,o=i.uid;if(!a||!b.traceIs(i,&quot;2dMap&quot;)){var s=&quot;.hm&quot;+o+&quot;,.contour&quot;+o+&quot;,#clip&quot;+o;f._paper.selectAll(s).remove(),n.selectAll(s).remove()}a&amp;&amp;i._module.colorbar||f._infolayer.selectAll(&quot;.cb&quot;+o).remove()}var l=f._basePlotModules;for(e=0;e&lt;l.length;e++)l[e].plot(t);var c=f._paper.selectAll(&quot;.layer-subplot&quot;);return f._shapeSubplotLayers=c.selectAll(&quot;.shapelayer&quot;),w.style(t),b.getComponentMethod(&quot;shapes&quot;,&quot;draw&quot;)(t),b.getComponentMethod(&quot;annotations&quot;,&quot;draw&quot;)(t),w.addLinks(t),f._replotting=!1,w.previousPromises(t)},function(){b.getComponentMethod(&quot;shapes&quot;,&quot;draw&quot;)(t),b.getComponentMethod(&quot;images&quot;,&quot;draw&quot;)(t),b.getComponentMethod(&quot;annotations&quot;,&quot;draw&quot;)(t),b.getComponentMethod(&quot;legend&quot;,&quot;draw&quot;)(t),b.getComponentMethod(&quot;rangeslider&quot;,&quot;draw&quot;)(t),b.getComponentMethod(&quot;rangeselector&quot;,&quot;draw&quot;)(t),b.getComponentMethod(&quot;sliders&quot;,&quot;draw&quot;)(t),b.getComponentMethod(&quot;updatemenus&quot;,&quot;draw&quot;)(t)},k,w.rehover,w.previousPromises],E=v.syncOrAsync(T,t);return E&amp;&amp;E.then||(E=Promise.resolve()),E.then(function(){return t.emit(&quot;plotly_afterplot&quot;),t})},g.redraw=function(t){if(t=v.getGraphDiv(t),!v.isPlotDiv(t))throw new Error(&quot;This element is not a Plotly plot: &quot;+t);return z.cleanData(t.data,t.data),z.cleanLayout(t.layout),t.calcdata=void 0,g.plot(t).then(function(){return t.emit(&quot;plotly_redraw&quot;),t})},g.newPlot=function(t,e,r,n){return t=v.getGraphDiv(t),w.cleanPlot([],{},t._fullData||{},t._fullLayout||{}),w.purge(t),g.plot(t,e,r,n)},g.extendTraces=function t(e,r,n,i){var a=l(e=v.getGraphDiv(e),r,n,i,function(t,e){return t.concat(e)},function(t,e){return t.splice(0,t.length-e)}),o=g.redraw(e),s=[e,a.update,n,a.maxPoints];return x.add(e,g.prependTraces,s,t,arguments),o},g.prependTraces=function t(e,r,n,i){var a=l(e=v.getGraphDiv(e),r,n,i,function(t,e){return e.concat(t)},function(t,e){return t.splice(e,t.length)}),o=g.redraw(e),s=[e,a.update,n,a.maxPoints];return x.add(e,g.extendTraces,s,t,arguments),o},g.addTraces=function t(e,r,n){e=v.getGraphDiv(e);var i,a,o=[],l=g.deleteTraces,c=t,u=[e,o],f=[e,r];for(function(t,e,r){var n,i;if(!Array.isArray(t.data))throw new Error(&quot;gd.data must be an array.&quot;);if(void 0===e)throw new Error(&quot;traces must be defined.&quot;);for(Array.isArray(e)||(e=[e]),n=0;n&lt;e.length;n++)if(&quot;object&quot;!=typeof(i=e[n])||Array.isArray(i)||null===i)throw new Error(&quot;all values in traces array must be non-array objects&quot;);if(void 0===r||Array.isArray(r)||(r=[r]),void 0!==r&amp;&amp;r.length!==e.length)throw new Error(&quot;if indices is specified, traces.length must equal indices.length&quot;)}(e,r,n),Array.isArray(r)||(r=[r]),r=r.map(function(t){return v.extendFlat({},t)}),z.cleanData(r,e.data),i=0;i&lt;r.length;i++)e.data.push(r[i]);for(i=0;i&lt;r.length;i++)o.push(-r.length+i);if(void 0===n)return a=g.redraw(e),x.add(e,l,u,c,f),a;Array.isArray(n)||(n=[n]);try{s(e,o,n)}catch(t){throw e.data.splice(e.data.length-r.length,r.length),t}return x.startSequence(e),x.add(e,l,u,c,f),a=g.moveTraces(e,o,n),x.stopSequence(e),a},g.deleteTraces=function t(e,r){e=v.getGraphDiv(e);var n,i,s=[],l=g.addTraces,c=t,u=[e,s,r],f=[e,r];if(void 0===r)throw new Error(&quot;indices must be an integer or array of integers.&quot;);for(Array.isArray(r)||(r=[r]),o(e,r,&quot;indices&quot;),(r=a(r,e.data.length-1)).sort(v.sorterDes),n=0;n&lt;r.length;n+=1)i=e.data.splice(r[n],1)[0],s.push(i);var h=g.redraw(e);return x.add(e,l,u,c,f),h},g.moveTraces=function t(e,r,n){var i,o=[],l=[],c=t,u=t,f=[e=v.getGraphDiv(e),n,r],h=[e,r,n];if(s(e,r,n),r=Array.isArray(r)?r:[r],void 0===n)for(n=[],i=0;i&lt;r.length;i++)n.push(-r.length+i);for(n=Array.isArray(n)?n:[n],r=a(r,e.data.length-1),n=a(n,e.data.length-1),i=0;i&lt;e.data.length;i++)-1===r.indexOf(i)&amp;&amp;o.push(e.data[i]);for(i=0;i&lt;r.length;i++)l.push({newIndex:n[i],trace:e.data[r[i]]});for(l.sort(function(t,e){return t.newIndex-e.newIndex}),i=0;i&lt;l.length;i+=1)o.splice(l[i].newIndex,0,l[i].trace);e.data=o;var d=g.redraw(e);return x.add(e,c,f,u,h),d},g.restyle=function t(e,r,n,i){e=v.getGraphDiv(e),z.clearPromiseQueue(e);var a={};if(&quot;string&quot;==typeof r)a[r]=n;else{if(!v.isPlainObject(r))return v.warn(&quot;Restyle fail.&quot;,r,n,i),Promise.reject();a=v.extendFlat({},r),void 0===i&amp;&amp;(i=n)}Object.keys(a).length&amp;&amp;(e.changed=!0);var o=z.coerceTraceIndices(e,i),s=u(e,a,o),l=s.flags;l.clearCalc&amp;&amp;(e.calcdata=void 0),l.clearAxisTypes&amp;&amp;z.clearAxisTypes(e,o,{});var c=[];l.fullReplot?c.push(g.plot):(c.push(w.previousPromises),w.supplyDefaults(e),l.style&amp;&amp;c.push(D.doTraceStyle),l.colorbars&amp;&amp;c.push(D.doColorBars)),c.push(w.rehover),x.add(e,t,[e,s.undoit,s.traces],t,[e,s.redoit,s.traces]);var f=v.syncOrAsync(c,e);return f&amp;&amp;f.then||(f=Promise.resolve()),f.then(function(){return e.emit(&quot;plotly_restyle&quot;,s.eventData),e})},g.relayout=function t(e,r,n){if(e=v.getGraphDiv(e),z.clearPromiseQueue(e),e.framework&amp;&amp;e.framework.isPolar)return Promise.resolve(e);var i={};if(&quot;string&quot;==typeof r)i[r]=n;else{if(!v.isPlainObject(r))return v.warn(&quot;Relayout fail.&quot;,r,n),Promise.reject();i=v.extendFlat({},r)}Object.keys(i).length&amp;&amp;(e.changed=!0);var a=f(e,i),o=a.flags;o.calc&amp;&amp;(e.calcdata=void 0);var s=[w.previousPromises];o.layoutReplot?s.push(D.layoutReplot):Object.keys(i).length&amp;&amp;(w.supplyDefaults(e),o.legend&amp;&amp;s.push(D.doLegend),o.layoutstyle&amp;&amp;s.push(D.layoutStyles),o.ticks&amp;&amp;s.push(D.doTicksRelayout),o.modebar&amp;&amp;s.push(D.doModeBar),o.camera&amp;&amp;s.push(D.doCamera)),s.push(w.rehover),x.add(e,t,[e,a.undoit],t,[e,a.redoit]);var l=v.syncOrAsync(s,e);return l&amp;&amp;l.then||(l=Promise.resolve(e)),l.then(function(){return e.emit(&quot;plotly_relayout&quot;,a.eventData),e})},g.update=function t(e,r,n,i){if(e=v.getGraphDiv(e),z.clearPromiseQueue(e),e.framework&amp;&amp;e.framework.isPolar)return Promise.resolve(e);v.isPlainObject(r)||(r={}),v.isPlainObject(n)||(n={}),Object.keys(r).length&amp;&amp;(e.changed=!0),Object.keys(n).length&amp;&amp;(e.changed=!0);var a=z.coerceTraceIndices(e,i),o=u(e,v.extendFlat({},r),a),s=o.flags,l=f(e,v.extendFlat({},n)),c=l.flags;(s.clearCalc||c.calc)&amp;&amp;(e.calcdata=void 0),s.clearAxisTypes&amp;&amp;z.clearAxisTypes(e,a,n);var h=[];if(s.fullReplot&amp;&amp;c.layoutReplot){var d=e.data,p=e.layout;e.data=void 0,e.layout=void 0,h.push(function(){return g.plot(e,d,p)})}else s.fullReplot?h.push(g.plot):c.layoutReplot?h.push(D.layoutReplot):(h.push(w.previousPromises),w.supplyDefaults(e),s.style&amp;&amp;h.push(D.doTraceStyle),s.colorbars&amp;&amp;h.push(D.doColorBars),c.legend&amp;&amp;h.push(D.doLegend),c.layoutstyle&amp;&amp;h.push(D.layoutStyles),c.ticks&amp;&amp;h.push(D.doTicksRelayout),c.modebar&amp;&amp;h.push(D.doModeBar),c.camera&amp;&amp;h.push(D.doCamera));h.push(w.rehover),x.add(e,t,[e,o.undoit,l.undoit,o.traces],t,[e,o.redoit,l.redoit,o.traces]);var m=v.syncOrAsync(h,e);return m&amp;&amp;m.then||(m=Promise.resolve(e)),m.then(function(){return e.emit(&quot;plotly_update&quot;,{data:o.eventData,layout:l.eventData}),e})},g.animate=function(t,e,r){function n(t){return Array.isArray(s)?t&gt;=s.length?s[0]:s[t]:s}function i(t){return Array.isArray(l)?t&gt;=l.length?l[0]:l[t]:l}function a(t,e){var r=0;return function(){if(t&amp;&amp;++r===e)return t()}}if(t=v.getGraphDiv(t),!v.isPlotDiv(t))throw new Error(&quot;This element is not a Plotly plot: &quot;+t+&quot;. It's likely that you've failed to create a plot before animating it. For more details, see https://plot.ly/javascript/animations/&quot;);var o=t._transitionData;o._frameQueue||(o._frameQueue=[]);var s=(r=w.supplyAnimationDefaults(r)).transition,l=r.frame;return void 0===o._frameWaitingCnt&amp;&amp;(o._frameWaitingCnt=0),new Promise(function(l,c){function u(e){if(0!==e.length){for(var s=0;s&lt;e.length;s++){var u;u=&quot;byname&quot;===e[s].type?w.computeFrame(t,e[s].name):e[s].data;var f=i(s),h=n(s);h.duration=Math.min(h.duration,f.duration);var d={frame:u,name:e[s].name,frameOpts:f,transitionOpts:h};s===e.length-1&amp;&amp;(d.onComplete=a(l,2),d.onInterrupt=c),o._frameQueue.push(d)}&quot;immediate&quot;===r.mode&amp;&amp;(o._lastFrameAt=-1/0),o._animationRaf||function(){t.emit(&quot;plotly_animating&quot;),o._lastFrameAt=-1/0,o._timeToNext=0,o._runningTransitions=0,o._currentFrame=null;var e=function(){o._animationRaf=window.requestAnimationFrame(e),Date.now()-o._lastFrameAt&gt;o._timeToNext&amp;&amp;function(){o._currentFrame&amp;&amp;o._currentFrame.onComplete&amp;&amp;o._currentFrame.onComplete();var e=o._currentFrame=o._frameQueue.shift();if(e){var r=e.name?e.name.toString():null;t._fullLayout._currentFrame=r,o._lastFrameAt=Date.now(),o._timeToNext=e.frameOpts.duration,w.transition(t,e.frame.data,e.frame.layout,z.coerceTraceIndices(t,e.frame.traces),e.frameOpts,e.transitionOpts).then(function(){e.onComplete&amp;&amp;e.onComplete()}),t.emit(&quot;plotly_animatingframe&quot;,{name:r,frame:e.frame,animation:{frame:e.frameOpts,transition:e.transitionOpts}})}else t.emit(&quot;plotly_animated&quot;),window.cancelAnimationFrame(o._animationRaf),o._animationRaf=null}()};e()}()}}function f(t){return Array.isArray(s)?p&gt;=s.length?t.transitionOpts=s[p]:t.transitionOpts=s[0]:t.transitionOpts=s,p++,t}var h,d,p=0,m=[],g=void 0===e||null===e,y=Array.isArray(e);if(!g&amp;&amp;!y&amp;&amp;v.isPlainObject(e))m.push({type:&quot;object&quot;,data:f(v.extendFlat({},e))});else if(g||-1!==[&quot;string&quot;,&quot;number&quot;].indexOf(typeof e))for(h=0;h&lt;o._frames.length;h++)(d=o._frames[h])&amp;&amp;(g||String(d.group)===String(e))&amp;&amp;m.push({type:&quot;byname&quot;,name:String(d.name),data:f({name:d.name})});else if(y)for(h=0;h&lt;e.length;h++){var x=e[h];-1!==[&quot;number&quot;,&quot;string&quot;].indexOf(typeof x)?(x=String(x),m.push({type:&quot;byname&quot;,name:x,data:f({name:x})})):v.isPlainObject(x)&amp;&amp;m.push({type:&quot;object&quot;,data:f(v.extendFlat({},x))})}for(h=0;h&lt;m.length;h++)if(&quot;byname&quot;===(d=m[h]).type&amp;&amp;!o._frameHash[d.data.name])return v.warn('animate failure: frame not found: &quot;'+d.data.name+'&quot;'),void c();-1!==[&quot;next&quot;,&quot;immediate&quot;].indexOf(r.mode)&amp;&amp;function(){if(0!==o._frameQueue.length){for(;o._frameQueue.length;){var e=o._frameQueue.pop();e.onInterrupt&amp;&amp;e.onInterrupt()}t.emit(&quot;plotly_animationinterrupted&quot;,[])}}(),&quot;reverse&quot;===r.direction&amp;&amp;m.reverse();var b=t._fullLayout._currentFrame;if(b&amp;&amp;r.fromcurrent){var _=-1;for(h=0;h&lt;m.length;h++)if(&quot;byname&quot;===(d=m[h]).type&amp;&amp;d.name===b){_=h;break}if(_&gt;0&amp;&amp;_&lt;m.length-1){var M=[];for(h=0;h&lt;m.length;h++)d=m[h],(&quot;byname&quot;!==m[h].type||h&gt;_)&amp;&amp;M.push(d);m=M}}m.length&gt;0?u(m):(t.emit(&quot;plotly_animated&quot;),l())})},g.addFrames=function(t,e,r){t=v.getGraphDiv(t);var n=0;if(null===e||void 0===e)return Promise.resolve();if(!v.isPlotDiv(t))throw new Error(&quot;This element is not a Plotly plot: &quot;+t+&quot;. It's likely that you've failed to create a plot before adding frames. For more details, see https://plot.ly/javascript/animations/&quot;);var i,a,o,s,l=t._transitionData._frames,c=t._transitionData._frameHash;if(!Array.isArray(e))throw new Error(&quot;addFrames failure: frameList must be an Array of frame definitions&quot;+e);var u=l.length+2*e.length,f=[];for(i=e.length-1;i&gt;=0;i--)if(v.isPlainObject(e[i])){var h=(c[e[i].name]||{}).name,d=e[i].name;h&amp;&amp;d&amp;&amp;&quot;number&quot;==typeof d&amp;&amp;c[h]&amp;&amp;(n++,v.warn('addFrames: overwriting frame &quot;'+c[h].name+'&quot; with a frame whose name of type &quot;number&quot; also equates to &quot;'+h+'&quot;. This is valid but may potentially lead to unexpected behavior since all plotly.js frame names are stored internally as strings.'),n&gt;5&amp;&amp;v.warn(&quot;addFrames: This API call has yielded too many warnings. For the rest of this call, further warnings about numeric frame names will be suppressed.&quot;)),f.push({frame:w.supplyFrameDefaults(e[i]),index:r&amp;&amp;void 0!==r[i]&amp;&amp;null!==r[i]?r[i]:u+i})}f.sort(function(t,e){return t.index&gt;e.index?-1:t.index&lt;e.index?1:0});var p=[],m=[],g=l.length;for(i=f.length-1;i&gt;=0;i--){if(&quot;number&quot;==typeof(a=f[i].frame).name&amp;&amp;v.warn(&quot;Warning: addFrames accepts frames with numeric names, but the numbers areimplicitly cast to strings&quot;),!a.name)for(;c[a.name=&quot;frame &quot;+t._transitionData._counter++];);if(c[a.name]){for(o=0;o&lt;l.length&amp;&amp;(l[o]||{}).name!==a.name;o++);p.push({type:&quot;replace&quot;,index:o,value:a}),m.unshift({type:&quot;replace&quot;,index:o,value:l[o]})}else s=Math.max(0,Math.min(f[i].index,g)),p.push({type:&quot;insert&quot;,index:s,value:a}),m.unshift({type:&quot;delete&quot;,index:s}),g++}var y=w.modifyFrames,b=w.modifyFrames,_=[t,m],M=[t,p];return x&amp;&amp;x.add(t,y,_,b,M),w.modifyFrames(t,p)},g.deleteFrames=function(t,e){if(t=v.getGraphDiv(t),!v.isPlotDiv(t))throw new Error(&quot;This element is not a Plotly plot: &quot;+t);var r,n,i=t._transitionData._frames,a=[],o=[];if(!e)for(e=[],r=0;r&lt;i.length;r++)e.push(r);for((e=e.slice(0)).sort(),r=e.length-1;r&gt;=0;r--)n=e[r],a.push({type:&quot;delete&quot;,index:n}),o.unshift({type:&quot;insert&quot;,index:n,value:i[n]});var s=w.modifyFrames,l=w.modifyFrames,c=[t,o],u=[t,a];return x&amp;&amp;x.add(t,s,c,l,u),w.modifyFrames(t,a)},g.purge=function(t){var e=(t=v.getGraphDiv(t))._fullLayout||{},r=t._fullData||[];return w.cleanPlot([],{},r,e),w.purge(t),y.purge(t),e._container&amp;&amp;e._container.remove(),delete t._context,t}},{&quot;../components/color&quot;:618,&quot;../components/drawing&quot;:643,&quot;../components/errorbars&quot;:649,&quot;../constants/xmlns_namespaces&quot;:723,&quot;../lib&quot;:743,&quot;../lib/events&quot;:731,&quot;../lib/queue&quot;:757,&quot;../lib/svg_text_utils&quot;:766,&quot;../plotly&quot;:784,&quot;../plots/cartesian/axis_ids&quot;:792,&quot;../plots/cartesian/constants&quot;:794,&quot;../plots/cartesian/constraints&quot;:796,&quot;../plots/cartesian/graph_interact&quot;:798,&quot;../plots/plots&quot;:852,&quot;../plots/polar/legacy&quot;:860,&quot;../registry&quot;:873,&quot;./edit_types&quot;:773,&quot;./helpers&quot;:774,&quot;./manage_arrays&quot;:775,&quot;./plot_schema&quot;:778,&quot;./subroutines&quot;:781,d3:128,&quot;fast-isnumeric&quot;:140,&quot;has-hover&quot;:276}],777:[function(t,e,r){&quot;use strict&quot;;e.exports={staticPlot:!1,editable:!1,edits:{annotationPosition:!1,annotationTail:!1,annotationText:!1,axisTitleText:!1,colorbarPosition:!1,colorbarTitleText:!1,legendPosition:!1,legendText:!1,shapePosition:!1,titleText:!1},autosizable:!1,queueLength:0,fillFrame:!1,frameMargins:0,scrollZoom:!1,doubleClick:&quot;reset+autosize&quot;,showTips:!0,showAxisDragHandles:!0,showAxisRangeEntryBoxes:!0,showLink:!1,sendData:!0,linkText:&quot;Edit chart&quot;,showSources:!1,displayModeBar:&quot;hover&quot;,modeBarButtonsToRemove:[],modeBarButtonsToAdd:[],modeBarButtons:!1,displaylogo:!0,plotGlPixelRatio:2,setBackground:&quot;transparent&quot;,topojsonURL:&quot;https://cdn.plot.ly/&quot;,mapboxAccessToken:null,logging:1,globalTransforms:[],locale:&quot;en-US&quot;,locales:{}}},{}],778:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r){if(!t)return!1;if(t._isLinkedToArray)if(i(e[r]))r++;else if(r&lt;e.length)return!1;for(;r&lt;e.length;r++){var n=t[e[r]];if(!u.isPlainObject(n))break;if(t=n,r===e.length-1)break;if(t._isLinkedToArray){if(r++,!i(e[r]))return!1}else if(&quot;info_array&quot;===t.valType){var a=e[++r];if(!i(a)||a&gt;=t.items.length)return!1;t=t.items[a]}}return t}function i(t){return t===Math.round(t)&amp;&amp;t&gt;=0}function a(){var t,e,r={};x(r,h);for(t in c.subplotsRegistry)if((e=c.subplotsRegistry[t]).layoutAttributes)if(&quot;cartesian&quot;===e.name)s(r,e,&quot;xaxis&quot;),s(r,e,&quot;yaxis&quot;);else{s(r,e,&quot;subplot&quot;===e.attr?e.name:e.attr)}r=function(t){return y(t,{radialaxis:g.radialaxis,angularaxis:g.angularaxis}),y(t,g.layout),t}(r);for(t in c.componentsRegistry){var n=(e=c.componentsRegistry[t]).schema;if(n&amp;&amp;(n.subplots||n.layout)){var i=n.subplots;if(i&amp;&amp;i.xaxis&amp;&amp;!i.yaxis)for(var a in i.xaxis)delete r.yaxis[a]}else e.layoutAttributes&amp;&amp;l(r,e.layoutAttributes,e.name)}return{layoutAttributes:o(r)}}function o(t){return function(t){r.crawl(t,function(t,e,n){r.isValObject(t)?&quot;data_array&quot;===t.valType?(t.role=&quot;data&quot;,n[e+&quot;src&quot;]={valType:&quot;string&quot;,editType:&quot;none&quot;}):!0===t.arrayOk&amp;&amp;(n[e+&quot;src&quot;]={valType:&quot;string&quot;,editType:&quot;none&quot;}):u.isPlainObject(t)&amp;&amp;(t.role=&quot;object&quot;)})}(t),function(t){r.crawl(t,function(t,e,r){if(!t)return;var n=t[_];if(!n)return;delete t[_],r[e]={items:{}},r[e].items[n]=t,r[e].role=&quot;object&quot;})}(t),t}function s(t,e,r){var n=u.nestedProperty(t,r),i=x({},e.layoutAttributes);i[b]=!0,n.set(i)}function l(t,e,r){var n=u.nestedProperty(t,r);n.set(x(n.get()||{},e))}var c=t(&quot;../registry&quot;),u=t(&quot;../lib&quot;),f=t(&quot;../plots/attributes&quot;),h=t(&quot;../plots/layout_attributes&quot;),d=t(&quot;../plots/frame_attributes&quot;),p=t(&quot;../plots/animation_attributes&quot;),m=t(&quot;../plots/polar/legacy/area_attributes&quot;),g=t(&quot;../plots/polar/legacy/axis_attributes&quot;),v=t(&quot;./edit_types&quot;),y=u.extendFlat,x=u.extendDeepAll,b=&quot;_isSubplotObj&quot;,_=&quot;_isLinkedToArray&quot;,w=[b,_,&quot;_arrayAttrRegexps&quot;,&quot;_deprecated&quot;];r.IS_SUBPLOT_OBJ=b,r.IS_LINKED_TO_ARRAY=_,r.DEPRECATED=&quot;_deprecated&quot;,r.UNDERSCORE_ATTRS=w,r.get=function(){var t={};c.allTypes.concat(&quot;area&quot;).forEach(function(e){t[e]=function(t){var e,r;&quot;area&quot;===t?(e={attributes:m},r={}):r=(e=c.modules[t]._module).basePlotModule;var n={};n.type=null,x(n,f),x(n,e.attributes),r.attributes&amp;&amp;x(n,r.attributes),n.type=t;var i={meta:e.meta||{},attributes:o(n)};if(e.layoutAttributes){var a={};x(a,e.layoutAttributes),i.layoutAttributes=o(a)}return i}(e)});var e={};return Object.keys(c.transformsRegistry).forEach(function(t){e[t]=function(t){var e=c.transformsRegistry[t],r=x({},e.attributes);return Object.keys(c.componentsRegistry).forEach(function(e){var n=c.componentsRegistry[e];n.schema&amp;&amp;n.schema.transforms&amp;&amp;n.schema.transforms[t]&amp;&amp;Object.keys(n.schema.transforms[t]).forEach(function(e){l(r,n.schema.transforms[t][e],e)})}),{attributes:o(r)}}(t)}),{defs:{valObjects:u.valObjectMeta,metaKeys:w.concat([&quot;description&quot;,&quot;role&quot;,&quot;editType&quot;,&quot;impliedEdits&quot;]),editType:{traces:v.traces,layout:v.layout},impliedEdits:{}},traces:t,layout:a(),transforms:e,frames:function(){var t={frames:u.extendDeepAll({},d)};return o(t),t.frames}(),animation:o(p)}},r.crawl=function(t,e,n,i){var a=n||0;i=i||&quot;&quot;,Object.keys(t).forEach(function(n){var o=t[n];if(-1===w.indexOf(n)){var s=(i?i+&quot;.&quot;:&quot;&quot;)+n;e(o,n,t,a,s),r.isValObject(o)||u.isPlainObject(o)&amp;&amp;&quot;impliedEdits&quot;!==n&amp;&amp;r.crawl(o,e,a+1,s)}})},r.isValObject=function(t){return t&amp;&amp;void 0!==t.valType},r.findArrayAttributes=function(t){function e(e,r,a,o){i=i.slice(0,o).concat([r]);if(e&amp;&amp;(&quot;data_array&quot;===e.valType||!0===e.arrayOk)&amp;&amp;!(&quot;colorbar&quot;===i[o-1]&amp;&amp;(&quot;ticktext&quot;===r||&quot;tickvals&quot;===r))){var s=function(t){return t.join(&quot;.&quot;)}(i),l=u.nestedProperty(t,s).get();Array.isArray(l)&amp;&amp;n.push(s)}}var n=[],i=[];if(r.crawl(f,e),t._module&amp;&amp;t._module.attributes&amp;&amp;r.crawl(t._module.attributes,e),t.transforms)for(var a=t.transforms,o=0;o&lt;a.length;o++){var s=a[o]._module;s&amp;&amp;(i=[&quot;transforms[&quot;+o+&quot;]&quot;],r.crawl(s.attributes,e,1))}return t._fullInput&amp;&amp;t._fullInput._module&amp;&amp;t._fullInput._module.attributes&amp;&amp;(r.crawl(t._fullInput._module.attributes,e),n=u.filterUnique(n)),n},r.getTraceValObject=function(t,e){var r,a,o=e[0],s=1;if(&quot;transforms&quot;===o){if(!Array.isArray(t.transforms))return!1;var l=e[1];if(!i(l)||l&gt;=t.transforms.length)return!1;a=(r=(c.transformsRegistry[t.transforms[l].type]||{}).attributes)&amp;&amp;r[e[2]],s=3}else if(&quot;area&quot;===t.type)a=m[o];else{var u=t._module;if(u||(u=(c.modules[t.type||f.type.dflt]||{})._module),!u)return!1;if(r=u.attributes,!(a=r&amp;&amp;r[o])){var h=u.basePlotModule;h&amp;&amp;h.attributes&amp;&amp;(a=h.attributes[o])}a||(a=f[o])}return n(a,e,s)},r.getLayoutValObject=function(t,e){return n(function(t,e){var r,n,i,a,o=t._basePlotModules;if(o){var s;for(r=0;r&lt;o.length;r++){if((i=o[r]).attrRegex&amp;&amp;i.attrRegex.test(e)){if(i.layoutAttrOverrides)return i.layoutAttrOverrides;!s&amp;&amp;i.layoutAttributes&amp;&amp;(s=i.layoutAttributes)}var l=i.baseLayoutAttrOverrides;if(l&amp;&amp;e in l)return l[e]}if(s)return s}var u=t._modules;if(u)for(r=0;r&lt;u.length;r++)if((a=u[r].layoutAttributes)&amp;&amp;e in a)return a[e];for(n in c.componentsRegistry)if(!(i=c.componentsRegistry[n]).schema&amp;&amp;e===i.name)return i.layoutAttributes;return e in h?h[e]:&quot;radialaxis&quot;===e||&quot;angularaxis&quot;===e?g[e]:g.layout[e]||!1}(t,e[0]),e,1)}},{&quot;../lib&quot;:743,&quot;../plots/animation_attributes&quot;:785,&quot;../plots/attributes&quot;:787,&quot;../plots/frame_attributes&quot;:817,&quot;../plots/layout_attributes&quot;:843,&quot;../plots/polar/legacy/area_attributes&quot;:858,&quot;../plots/polar/legacy/axis_attributes&quot;:859,&quot;../registry&quot;:873,&quot;./edit_types&quot;:773}],779:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../registry&quot;),i=t(&quot;../lib&quot;);e.exports=function(t){if(!t)throw new Error(&quot;No argument passed to Plotly.register.&quot;);t&amp;&amp;!Array.isArray(t)&amp;&amp;(t=[t]);for(var e=0;e&lt;t.length;e++){var r=t[e];if(!r)throw new Error(&quot;Invalid module was attempted to be registered!&quot;);switch(r.moduleType){case&quot;trace&quot;:!function(t){n.register(t,t.name,t.categories,t.meta),n.subplotsRegistry[t.basePlotModule.name]||n.registerSubplot(t.basePlotModule)}(r);break;case&quot;transform&quot;:!function(t){if(&quot;string&quot;!=typeof t.name)throw new Error(&quot;Transform module *name* must be a string.&quot;);var e=&quot;Transform module &quot;+t.name,r=&quot;function&quot;==typeof t.transform,a=&quot;function&quot;==typeof t.calcTransform;if(!r&amp;&amp;!a)throw new Error(e+&quot; is missing a *transform* or *calcTransform* method.&quot;);r&amp;&amp;a&amp;&amp;i.log([e+&quot; has both a *transform* and *calcTransform* methods.&quot;,&quot;Please note that all *transform* methods are executed&quot;,&quot;before all *calcTransform* methods.&quot;].join(&quot; &quot;)),i.isPlainObject(t.attributes)||i.log(e+&quot; registered without an *attributes* object.&quot;),&quot;function&quot;!=typeof t.supplyDefaults&amp;&amp;i.log(e+&quot; registered without a *supplyDefaults* method.&quot;),n.registerTransform(t)}(r);break;case&quot;component&quot;:!function(t){if(&quot;string&quot;!=typeof t.name)throw new Error(&quot;Component module *name* must be a string.&quot;);n.registerComponent(t)}(r);break;case&quot;locale&quot;:n.registerLocale(r);break;default:throw new Error(&quot;Invalid module was attempted to be registered!&quot;)}}}},{&quot;../lib&quot;:743,&quot;../registry&quot;:873}],780:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../plotly&quot;),i=t(&quot;../lib&quot;);e.exports=function(t){return i.extendFlat(n.defaultConfig,t)}},{&quot;../lib&quot;:743,&quot;../plotly&quot;:784}],781:[function(t,e,r){&quot;use strict&quot;;function n(t,e){return(t.ticks||t.showline)&amp;&amp;(e===t._mainSubplot||&quot;all&quot;===t.mirror||&quot;allticks&quot;===t.mirror)}function i(t,e,r){if(!r.showline||!r._lw)return!1;if(&quot;all&quot;===r.mirror||&quot;allticks&quot;===r.mirror)return!0;var n=r._anchorAxis;if(!n)return!1;var i=v.FROM_BL[e];return r.side===e?n.domain[i]===t.domain[i]:r.mirror&amp;&amp;n.domain[1-i]===t.domain[1-i]}function a(t,e,r,n){if(i(t,e,r))return r._lw;for(var a=0;a&lt;n.length;a++){var o=n[a];if(o._mainAxis===r._mainAxis&amp;&amp;i(t,e,o))return o._lw}return 0}var o=t(&quot;d3&quot;),s=t(&quot;../plotly&quot;),l=t(&quot;../registry&quot;),c=t(&quot;../plots/plots&quot;),u=t(&quot;../lib&quot;),f=t(&quot;../components/color&quot;),h=t(&quot;../components/drawing&quot;),d=t(&quot;../components/titles&quot;),p=t(&quot;../components/modebar&quot;),m=t(&quot;../plots/cartesian/graph_interact&quot;),g=t(&quot;../plots/cartesian/constants&quot;),v=t(&quot;../constants/alignment&quot;);r.layoutStyles=function(t){return u.syncOrAsync([c.doAutoMargin,r.lsInner],t)},r.lsInner=function(t){function e(t,e,r){var n=t._lw/2;return&quot;x&quot;===t._id.charAt(0)?e?&quot;top&quot;===r?e._offset-u-n:e._offset+e._length+u+n:c.t+c.h*(1-(t.position||0))+n%1:e?&quot;right&quot;===r?e._offset+e._length+u+n:e._offset-u-n:c.l+c.w*(t.position||0)+n%1}var i,l=t._fullLayout,c=l._size,u=c.p,d=s.Axes.list(t),m=l._has(&quot;cartesian&quot;);for(i=0;i&lt;d.length;i++){var y=d[i];y.setScale();var x=y._anchorAxis;y._linepositions={},y._lw=h.crispRound(t,y.linewidth,1),y._mainLinePosition=e(y,x,y.side),y._mainMirrorPosition=y.mirror&amp;&amp;x?e(y,x,v.OPPOSITE_SIDE[y.side]):null}l._paperdiv.style({width:l.width+&quot;px&quot;,height:l.height+&quot;px&quot;}).selectAll(&quot;.main-svg&quot;).call(h.setSize,l.width,l.height),t._context.setBackground(t,l.paper_bgcolor);var b=l._paper.selectAll(&quot;g.subplot&quot;),_=[],w=[];b.each(function(t){var e=l._plots[t];if(e.mainplot)return e.bg&amp;&amp;e.bg.remove(),void(e.bg=void 0);var r=e.xaxis.domain,n=e.yaxis.domain,i=[];!function(t,e,r){for(var n=0;n&lt;r.length;n++){var i=r[n][0],a=r[n][1];if(!(i[0]&gt;=t[1]||i[1]&lt;=t[0])&amp;&amp;a[0]&lt;e[1]&amp;&amp;a[1]&gt;e[0])return!0}return!1}(r,n,w)?(_.push(t),w.push([r,n])):i=[0];var a=e.plotgroup.selectAll(&quot;.bg&quot;).data(i);a.enter().append(&quot;rect&quot;).classed(&quot;bg&quot;,!0),a.exit().remove(),a.each(function(){e.bg=a;var t=e.plotgroup.node();t.insertBefore(this,t.childNodes[0])})});var M=l._bgLayer.selectAll(&quot;.bg&quot;).data(_);return M.enter().append(&quot;rect&quot;).classed(&quot;bg&quot;,!0),M.exit().remove(),M.each(function(t){l._plots[t].bg=o.select(this)}),b.each(function(t){function r(t){return&quot;M&quot;+k+&quot;,&quot;+t+&quot;H&quot;+A}function o(t){return&quot;M&quot;+y._offset+&quot;,&quot;+t+&quot;h&quot;+y._length}function s(t){return&quot;M&quot;+t+&quot;,&quot;+z+&quot;V&quot;+C}function c(t){return&quot;M&quot;+t+&quot;,&quot;+x._offset+&quot;v&quot;+x._length}function p(e,r,n){if(!e.showline||t!==e._mainSubplot)return&quot;&quot;;if(!e._anchorAxis)return n(e._mainLinePosition);var i=r(e._mainLinePosition);return e.mirror&amp;&amp;(i+=r(e._mainMirrorPosition)),i}var v=l._plots[t],y=v.xaxis,x=v.yaxis;v.bg&amp;&amp;m&amp;&amp;v.bg.call(h.setRect,y._offset-u,x._offset-u,y._length+2*u,x._length+2*u).call(f.fill,l.plot_bgcolor).style(&quot;stroke-width&quot;,0),v.clipId=&quot;clip&quot;+l._uid+t+&quot;plot&quot;;var b=l._clips.selectAll(&quot;#&quot;+v.clipId).data([0]);b.enter().append(&quot;clipPath&quot;).attr({class:&quot;plotclip&quot;,id:v.clipId}).append(&quot;rect&quot;),b.selectAll(&quot;rect&quot;).attr({width:y._length,height:x._length}),h.setTranslate(v.plot,y._offset,x._offset);var _,w;for(v._hasClipOnAxisFalse?(_=null,w=v.clipId):(_=v.clipId,w=null),h.setClipUrl(v.plot,_),i=0;i&lt;g.traceLayerClasses.length;i++){var M=g.traceLayerClasses[i];&quot;scatterlayer&quot;!==M&amp;&amp;v.plot.selectAll(&quot;g.&quot;+M).call(h.setClipUrl,w)}if(v.layerClipId=w,m){var k,A,T,S,E,L,C,z,D,I,P,O,F;if(n(y,t)){E=a(y,&quot;left&quot;,x,d),k=y._offset-(E?u+E:0),L=a(y,&quot;right&quot;,x,d),A=y._offset+y._length+(L?u+L:0),T=e(y,x,&quot;bottom&quot;),S=e(y,x,&quot;top&quot;),(F=!y._anchorAxis||t!==y._mainSubplot)&amp;&amp;y.ticks&amp;&amp;&quot;allticks&quot;===y.mirror&amp;&amp;(y._linepositions[t]=[T,S]);var R=p(y,r,o);F&amp;&amp;y.showline&amp;&amp;(&quot;all&quot;===y.mirror||&quot;allticks&quot;===y.mirror)&amp;&amp;(R+=r(T)+r(S)),v.xlines.attr(&quot;d&quot;,R||&quot;M0,0&quot;).style(&quot;stroke-width&quot;,y._lw+&quot;px&quot;).call(f.stroke,y.showline?y.linecolor:&quot;rgba(0,0,0,0)&quot;)}if(n(x,t)){P=a(x,&quot;bottom&quot;,y,d),C=x._offset+x._length+(P?u:0),O=a(x,&quot;top&quot;,y,d),z=x._offset-(O?u:0),D=e(x,y,&quot;left&quot;),I=e(x,y,&quot;right&quot;),(F=!x._anchorAxis||t!==y._mainSubplot)&amp;&amp;x.ticks&amp;&amp;&quot;allticks&quot;===x.mirror&amp;&amp;(x._linepositions[t]=[D,I]);var N=p(x,s,c);F&amp;&amp;x.showline&amp;&amp;(&quot;all&quot;===x.mirror||&quot;allticks&quot;===x.mirror)&amp;&amp;(N+=s(D)+s(I)),v.ylines.attr(&quot;d&quot;,N||&quot;M0,0&quot;).style(&quot;stroke-width&quot;,x._lw+&quot;px&quot;).call(f.stroke,x.showline?x.linecolor:&quot;rgba(0,0,0,0)&quot;)}}}),s.Axes.makeClipPaths(t),r.drawMainTitle(t),p.manage(t),t._promises.length&amp;&amp;Promise.all(t._promises)},r.drawMainTitle=function(t){var e=t._fullLayout;d.draw(t,&quot;gtitle&quot;,{propContainer:e,propName:&quot;title&quot;,placeholder:e._dfltTitle.plot,attributes:{x:e.width/2,y:e._size.t/2,&quot;text-anchor&quot;:&quot;middle&quot;}})},r.doTraceStyle=function(t){for(var e=0;e&lt;t.calcdata.length;e++){var r=t.calcdata[e],n=(((r[0]||{}).trace||{})._module||{}).arraysToCalcdata;n&amp;&amp;n(r,r[0].trace)}return c.style(t),l.getComponentMethod(&quot;legend&quot;,&quot;draw&quot;)(t),c.previousPromises(t)},r.doColorBars=function(t){for(var e=0;e&lt;t.calcdata.length;e++){var r=t.calcdata[e][0];if((r.t||{}).cb){var n=r.trace,i=r.t.cb;l.traceIs(n,&quot;contour&quot;)&amp;&amp;i.line({width:!1!==n.contours.showlines?n.line.width:0,dash:n.line.dash,color:&quot;line&quot;===n.contours.coloring?i._opts.line.color:n.line.color}),l.traceIs(n,&quot;markerColorscale&quot;)?i.options(n.marker.colorbar)():i.options(n.colorbar)()}}return c.previousPromises(t)},r.layoutReplot=function(t){var e=t.layout;return t.layout=void 0,s.plot(t,&quot;&quot;,e)},r.doLegend=function(t){return l.getComponentMethod(&quot;legend&quot;,&quot;draw&quot;)(t),c.previousPromises(t)},r.doTicksRelayout=function(t){return s.Axes.doTicks(t,&quot;redraw&quot;),r.drawMainTitle(t),c.previousPromises(t)},r.doModeBar=function(t){var e=t._fullLayout;p.manage(t),m(t);for(var r=0;r&lt;e._basePlotModules.length;r++){var n=e._basePlotModules[r].updateFx;n&amp;&amp;n(e)}return c.previousPromises(t)},r.doCamera=function(t){for(var e=t._fullLayout,r=e._subplots.gl3d,n=0;n&lt;r.length;n++){var i=e[r[n]];i._scene.setCamera(i.camera)}}},{&quot;../components/color&quot;:618,&quot;../components/drawing&quot;:643,&quot;../components/modebar&quot;:680,&quot;../components/titles&quot;:709,&quot;../constants/alignment&quot;:716,&quot;../lib&quot;:743,&quot;../plotly&quot;:784,&quot;../plots/cartesian/constants&quot;:794,&quot;../plots/cartesian/graph_interact&quot;:798,&quot;../plots/plots&quot;:852,&quot;../registry&quot;:873,d3:128}],782:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../plotly&quot;),i=t(&quot;../lib&quot;),a=t(&quot;../snapshot/helpers&quot;),o=t(&quot;../snapshot/tosvg&quot;),s=t(&quot;../snapshot/svgtoimg&quot;),l={format:{valType:&quot;enumerated&quot;,values:[&quot;png&quot;,&quot;jpeg&quot;,&quot;webp&quot;,&quot;svg&quot;],dflt:&quot;png&quot;},width:{valType:&quot;number&quot;,min:1},height:{valType:&quot;number&quot;,min:1},scale:{valType:&quot;number&quot;,min:0,dflt:1},setBackground:{valType:&quot;any&quot;,dflt:!1},imageDataOnly:{valType:&quot;boolean&quot;,dflt:!1}},c=/^data:image\/\w+;base64,/;e.exports=function(t,e){function r(t){return!(t in e)||i.validate(e[t],l[t])}function u(t,r){return i.coerce(e,g,l,t,r)}function f(){return new Promise(function(t){setTimeout(t,a.getDelay(M._fullLayout))})}function h(){return new Promise(function(t,e){var r=o(M,v,b),a=M._fullLayout.width,l=M._fullLayout.height;if(n.purge(M),document.body.removeChild(M),&quot;svg&quot;===v)return t(w?r:&quot;data:image/svg+xml,&quot;+encodeURIComponent(r));var c=document.createElement(&quot;canvas&quot;);c.id=i.randstr(),s({format:v,width:a,height:l,scale:b,canvas:c,svg:r,promise:!0}).then(t).catch(e)})}e=e||{};var d,p,m;if(i.isPlainObject(t)?(d=t.data||[],p=t.layout||{},m=t.config||{}):(t=i.getGraphDiv(t),d=i.extendDeep([],t.data),p=i.extendDeep({},t.layout),m=t._context),!r(&quot;width&quot;)||!r(&quot;height&quot;))throw new Error(&quot;Height and width should be pixel values.&quot;);if(!r(&quot;format&quot;))throw new Error(&quot;Image format is not jpeg, png, svg or webp.&quot;);var g={},v=u(&quot;format&quot;),y=u(&quot;width&quot;),x=u(&quot;height&quot;),b=u(&quot;scale&quot;),_=u(&quot;setBackground&quot;),w=u(&quot;imageDataOnly&quot;),M=document.createElement(&quot;div&quot;);M.style.position=&quot;absolute&quot;,M.style.left=&quot;-5000px&quot;,document.body.appendChild(M);var k=i.extendFlat({},p);y&amp;&amp;(k.width=y),x&amp;&amp;(k.height=x);var A=i.extendFlat({},m,{staticPlot:!0,setBackground:_}),T=a.getRedrawFunc(M);return new Promise(function(t,e){n.plot(M,d,k,A).then(T).then(f).then(h).then(function(e){t(function(t){return w?t.replace(c,&quot;&quot;):t}(e))}).catch(function(t){e(t)})})}},{&quot;../lib&quot;:743,&quot;../plotly&quot;:784,&quot;../snapshot/helpers&quot;:877,&quot;../snapshot/svgtoimg&quot;:879,&quot;../snapshot/tosvg&quot;:881}],783:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,i,l,c){c=c||[];for(var u=Object.keys(t),d=0;d&lt;u.length;d++){var p=u[d];if(&quot;transforms&quot;!==p){var m=c.slice();m.push(p);var g=t[p],v=e[p],y=function(t,e){var r=o(e);return t[r.keyMinusId]}(r,p),x=&quot;info_array&quot;===(y||{}).valType,b=&quot;colorscale&quot;===(y||{}).valType;if(function(t,e){var r=o(e),n=r.keyMinusId,i=r.id;if(n in t&amp;&amp;t[n]._isSubplotObj&amp;&amp;i)return!0;return e in t}(r,p))if(f(g)&amp;&amp;f(v))n(g,v,y,i,l,m);else if(y.items&amp;&amp;!x&amp;&amp;h(g)){var _,w,M=y.items,k=M[Object.keys(M)[0]],A=[];for(_=0;_&lt;v.length;_++){var T=v[_]._index||_;(w=m.slice()).push(T),f(g[T])&amp;&amp;f(v[_])&amp;&amp;(A.push(T),n(g[T],v[_],k,i,l,w))}for(_=0;_&lt;g.length;_++)(w=m.slice()).push(_),f(g[_])?-1===A.indexOf(_)&amp;&amp;i.push(a(&quot;unused&quot;,l,w)):i.push(a(&quot;object&quot;,l,w,g[_]))}else!f(g)&amp;&amp;f(v)?i.push(a(&quot;object&quot;,l,m,g)):h(g)||!h(v)||x||b?p in e?s.validate(g,y)?&quot;enumerated&quot;===y.valType&amp;&amp;(y.coerceNumber&amp;&amp;g!==+v||g!==v)&amp;&amp;i.push(a(&quot;dynamic&quot;,l,m,g,v)):i.push(a(&quot;value&quot;,l,m,g)):i.push(a(&quot;unused&quot;,l,m,g)):i.push(a(&quot;array&quot;,l,m,g));else i.push(a(&quot;schema&quot;,l,m))}}return i}function i(t){return h(t)?&quot;In data trace &quot;+t[1]+&quot;, &quot;:&quot;In &quot;+t+&quot;, &quot;}function a(t,e,r,n,i){r=r||&quot;&quot;;var a,o;h(e)?(a=e[0],o=e[1]):(a=e,o=null);var l=function(t){if(!h(t))return String(t);for(var e=&quot;&quot;,r=0;r&lt;t.length;r++){var n=t[r];&quot;number&quot;==typeof n?e=e.substr(0,e.length-1)+&quot;[&quot;+n+&quot;]&quot;:e+=n,r&lt;t.length-1&amp;&amp;(e+=&quot;.&quot;)}return e}(r),c=d[t](e,l,n,i);return s.log(c),{code:t,container:a,trace:o,path:r,astr:l,msg:c}}function o(t){var e=t.match(p);return{keyMinusId:e&amp;&amp;e[1],id:e&amp;&amp;e[2]}}var s=t(&quot;../lib&quot;),l=t(&quot;../plots/plots&quot;),c=t(&quot;./plot_schema&quot;),u=t(&quot;./plot_config&quot;),f=s.isPlainObject,h=Array.isArray;e.exports=function(t,e){var r,i,o=c.get(),d=[],p={_context:s.extendFlat({},u)};h(t)?(p.data=s.extendDeep([],t),r=t):(p.data=[],r=[],d.push(a(&quot;array&quot;,&quot;data&quot;))),f(e)?(p.layout=s.extendDeep({},e),i=e):(p.layout={},i={},arguments.length&gt;1&amp;&amp;d.push(a(&quot;object&quot;,&quot;layout&quot;))),l.supplyDefaults(p);for(var m=p._fullData,g=r.length,v=0;v&lt;g;v++){var y=r[v],x=[&quot;data&quot;,v];if(f(y)){var b=m[v],_=b.type,w=o.traces[_].attributes;w.type={valType:&quot;enumerated&quot;,values:[_]},!1===b.visible&amp;&amp;!1!==y.visible&amp;&amp;d.push(a(&quot;invisible&quot;,x)),n(y,b,w,d,x);var M=y.transforms,k=b.transforms;if(M){h(M)||d.push(a(&quot;array&quot;,x,[&quot;transforms&quot;])),x.push(&quot;transforms&quot;);for(var A=0;A&lt;M.length;A++){var T=[&quot;transforms&quot;,A],S=M[A].type;if(f(M[A])){var E=o.transforms[S]?o.transforms[S].attributes:{};E.type={valType:&quot;enumerated&quot;,values:Object.keys(o.transforms)},n(M[A],k[A],E,d,x,T)}else d.push(a(&quot;object&quot;,x,T))}}}else d.push(a(&quot;object&quot;,x))}return n(i,p._fullLayout,function(t,e){for(var r=0;r&lt;e.length;r++){var n=e[r].type,i=t.traces[n].layoutAttributes;i&amp;&amp;s.extendFlat(t.layout.layoutAttributes,i)}return t.layout.layoutAttributes}(o,m),d,&quot;layout&quot;),0===d.length?void 0:d};var d={object:function(t,e){return(&quot;layout&quot;===t&amp;&amp;&quot;&quot;===e?&quot;The layout argument&quot;:&quot;data&quot;===t[0]&amp;&amp;&quot;&quot;===e?&quot;Trace &quot;+t[1]+&quot; in the data argument&quot;:i(t)+&quot;key &quot;+e)+&quot; must be linked to an object container&quot;},array:function(t,e){return(&quot;data&quot;===t?&quot;The data argument&quot;:i(t)+&quot;key &quot;+e)+&quot; must be linked to an array container&quot;},schema:function(t,e){return i(t)+&quot;key &quot;+e+&quot; is not part of the schema&quot;},unused:function(t,e,r){var n=f(r)?&quot;container&quot;:&quot;key&quot;;return i(t)+n+&quot; &quot;+e+&quot; did not get coerced&quot;},dynamic:function(t,e,r,n){return[i(t)+&quot;key&quot;,e,&quot;(set to '&quot;+r+&quot;')&quot;,&quot;got reset to&quot;,&quot;'&quot;+n+&quot;'&quot;,&quot;during defaults.&quot;].join(&quot; &quot;)},invisible:function(t){return&quot;Trace &quot;+t[1]+&quot; got defaulted to be not visible&quot;},value:function(t,e,r){return[i(t)+&quot;key &quot;+e,&quot;is set to an invalid value (&quot;+r+&quot;)&quot;].join(&quot; &quot;)}},p=s.counterRegex(&quot;([a-z]+)&quot;)},{&quot;../lib&quot;:743,&quot;../plots/plots&quot;:852,&quot;./plot_config&quot;:777,&quot;./plot_schema&quot;:778}],784:[function(t,e,r){&quot;use strict&quot;;r.defaultConfig=t(&quot;./plot_api/plot_config&quot;),r.Plots=t(&quot;./plots/plots&quot;),r.Axes=t(&quot;./plots/cartesian/axes&quot;),r.ModeBar=t(&quot;./components/modebar&quot;),t(&quot;./plot_api/plot_api&quot;)},{&quot;./components/modebar&quot;:680,&quot;./plot_api/plot_api&quot;:776,&quot;./plot_api/plot_config&quot;:777,&quot;./plots/cartesian/axes&quot;:789,&quot;./plots/plots&quot;:852}],785:[function(t,e,r){&quot;use strict&quot;;e.exports={mode:{valType:&quot;enumerated&quot;,dflt:&quot;afterall&quot;,values:[&quot;immediate&quot;,&quot;next&quot;,&quot;afterall&quot;]},direction:{valType:&quot;enumerated&quot;,values:[&quot;forward&quot;,&quot;reverse&quot;],dflt:&quot;forward&quot;},fromcurrent:{valType:&quot;boolean&quot;,dflt:!1},frame:{duration:{valType:&quot;number&quot;,min:0,dflt:500},redraw:{valType:&quot;boolean&quot;,dflt:!0}},transition:{duration:{valType:&quot;number&quot;,min:0,dflt:500},easing:{valType:&quot;enumerated&quot;,dflt:&quot;cubic-in-out&quot;,values:[&quot;linear&quot;,&quot;quad&quot;,&quot;cubic&quot;,&quot;sin&quot;,&quot;exp&quot;,&quot;circle&quot;,&quot;elastic&quot;,&quot;back&quot;,&quot;bounce&quot;,&quot;linear-in&quot;,&quot;quad-in&quot;,&quot;cubic-in&quot;,&quot;sin-in&quot;,&quot;exp-in&quot;,&quot;circle-in&quot;,&quot;elastic-in&quot;,&quot;back-in&quot;,&quot;bounce-in&quot;,&quot;linear-out&quot;,&quot;quad-out&quot;,&quot;cubic-out&quot;,&quot;sin-out&quot;,&quot;exp-out&quot;,&quot;circle-out&quot;,&quot;elastic-out&quot;,&quot;back-out&quot;,&quot;bounce-out&quot;,&quot;linear-in-out&quot;,&quot;quad-in-out&quot;,&quot;cubic-in-out&quot;,&quot;sin-in-out&quot;,&quot;exp-in-out&quot;,&quot;circle-in-out&quot;,&quot;elastic-in-out&quot;,&quot;back-in-out&quot;,&quot;bounce-in-out&quot;]}}}},{}],786:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../lib&quot;);e.exports=function(t,e,r){var i,a=r.name,o=e[a],s=n.isArray(t[a])?t[a]:[],l=e[a]=[];for(i=0;i&lt;s.length;i++){var c=s[i],u={},f={};n.isPlainObject(c)||(f.itemIsNotPlainObject=!0,c={}),r.handleItemDefaults(c,u,e,r,f),u._input=c,u._index=i,l.push(u)}if(n.isArray(o)){var h=Math.min(o.length,l.length);for(i=0;i&lt;h;i++)n.relinkPrivateKeys(l[i],o[i])}}},{&quot;../lib&quot;:743}],787:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../components/fx/attributes&quot;);e.exports={type:{valType:&quot;enumerated&quot;,values:[],dflt:&quot;scatter&quot;,editType:&quot;calc+clearAxisTypes&quot;},visible:{valType:&quot;enumerated&quot;,values:[!0,!1,&quot;legendonly&quot;],dflt:!0,editType:&quot;calc&quot;},showlegend:{valType:&quot;boolean&quot;,dflt:!0,editType:&quot;style&quot;},legendgroup:{valType:&quot;string&quot;,dflt:&quot;&quot;,editType:&quot;style&quot;},opacity:{valType:&quot;number&quot;,min:0,max:1,dflt:1,editType:&quot;style&quot;},name:{valType:&quot;string&quot;,editType:&quot;style&quot;},uid:{valType:&quot;string&quot;,dflt:&quot;&quot;,editType:&quot;calc&quot;},ids:{valType:&quot;data_array&quot;,editType:&quot;calc&quot;},customdata:{valType:&quot;data_array&quot;,editType:&quot;calc&quot;},selectedpoints:{valType:&quot;any&quot;,editType:&quot;calc&quot;},hoverinfo:{valType:&quot;flaglist&quot;,flags:[&quot;x&quot;,&quot;y&quot;,&quot;z&quot;,&quot;text&quot;,&quot;name&quot;],extras:[&quot;all&quot;,&quot;none&quot;,&quot;skip&quot;],arrayOk:!0,dflt:&quot;all&quot;,editType:&quot;none&quot;},hoverlabel:n.hoverlabel,stream:{token:{valType:&quot;string&quot;,noBlank:!0,strict:!0,editType:&quot;calc&quot;},maxpoints:{valType:&quot;number&quot;,min:0,max:1e4,dflt:500,editType:&quot;calc&quot;},editType:&quot;calc&quot;}}},{&quot;../components/fx/attributes&quot;:652}],788:[function(t,e,r){&quot;use strict&quot;;e.exports={xaxis:{valType:&quot;subplotid&quot;,dflt:&quot;x&quot;,editType:&quot;calc+clearAxisTypes&quot;},yaxis:{valType:&quot;subplotid&quot;,dflt:&quot;y&quot;,editType:&quot;calc+clearAxisTypes&quot;}}},{}],789:[function(t,e,r){&quot;use strict&quot;;function n(t){return+t}function i(t){return String(t)}function a(t,e,r){return e*v.roundUp(t/e,r)}function o(t){var e=t.dtick;if(t._tickexponent=0,m(e)||&quot;string&quot;==typeof e||(e=1),&quot;category&quot;===t.type&amp;&amp;(t._tickround=null),&quot;date&quot;===t.type){var r=t.r2l(t.tick0),n=t.l2r(r).replace(/(^-|i)/g,&quot;&quot;),i=n.length;if(&quot;M&quot;===String(e).charAt(0))i&gt;10||&quot;01-01&quot;!==n.substr(5)?t._tickround=&quot;d&quot;:t._tickround=+e.substr(1)%12==0?&quot;y&quot;:&quot;m&quot;;else if(e&gt;=T&amp;&amp;i&lt;=10||e&gt;=15*T)t._tickround=&quot;d&quot;;else if(e&gt;=E&amp;&amp;i&lt;=16||e&gt;=S)t._tickround=&quot;M&quot;;else if(e&gt;=L&amp;&amp;i&lt;=19||e&gt;=E)t._tickround=&quot;S&quot;;else{var a=t.l2r(r+e).replace(/^-/,&quot;&quot;).length;t._tickround=Math.max(i,a)-20}}else if(m(e)||&quot;L&quot;===e.charAt(0)){var o=t.range.map(t.r2d||Number);m(e)||(e=Number(e.substr(1))),t._tickround=2-Math.floor(Math.log(e)/Math.LN10+.01);var s=Math.max(Math.abs(o[0]),Math.abs(o[1])),l=Math.floor(Math.log(s)/Math.LN10+.01);Math.abs(l)&gt;3&amp;&amp;(c(t.exponentformat)&amp;&amp;!u(l)?t._tickexponent=3*Math.round((l-1)/3):t._tickexponent=l)}else t._tickround=null}function s(t,e,r){var n=t.tickfont||{};return{x:e,dx:0,dy:0,text:r||&quot;&quot;,fontSize:n.size,font:n.family,fontColor:n.color}}function l(t,e,r,n,i){if(&quot;radians&quot;!==t.thetaunit||r)e.text=f(e.x,t,i,n);else{var a=e.x/180;if(0===a)e.text=&quot;0&quot;;else{var o=function(t){function e(t,e){return Math.abs(t-e)&lt;=1e-6}function r(t,n){return e(n,0)?t:r(n,t%n)}var n=function(t){var r=1;for(;!e(Math.round(t*r)/r,t);)r*=10;return r}(t),i=t*n,a=Math.abs(r(i,n));return[Math.round(i/a),Math.round(n/a)]}(a);if(o[1]&gt;=100)e.text=f(v.deg2rad(e.x),t,i,n);else{var s=e.x&lt;0;1===o[1]?1===o[0]?e.text=&quot;\u03c0&quot;:e.text=o[0]+&quot;\u03c0&quot;:e.text=[&quot;&lt;sup&gt;&quot;,o[0],&quot;&lt;/sup&gt;&quot;,&quot;\u2044&quot;,&quot;&lt;sub&gt;&quot;,o[1],&quot;&lt;/sub&gt;&quot;,&quot;\u03c0&quot;].join(&quot;&quot;),s&amp;&amp;(e.text=C+e.text)}}}}function c(t){return&quot;SI&quot;===t||&quot;B&quot;===t}function u(t){return t&gt;14||t&lt;-15}function f(t,e,r,n){var i=t&lt;0,a=e._tickround,s=r||e.exponentformat||&quot;B&quot;,l=e._tickexponent,f=I.getTickFormat(e),h=e.separatethousands;if(n){var d={exponentformat:e.exponentformat,dtick:&quot;none&quot;===e.showexponent?e.dtick:m(t)?Math.abs(t)||1:1,range:&quot;none&quot;===e.showexponent?e.range.map(e.r2d):[0,t||1]};o(d),a=(Number(d._tickround)||0)+4,l=d._tickexponent,e.hoverformat&amp;&amp;(f=e.hoverformat)}if(f)return e._numFormat(f)(t).replace(/-/g,C);var p=Math.pow(10,-a)/2;if(&quot;none&quot;===s&amp;&amp;(l=0),(t=Math.abs(t))&lt;p)t=&quot;0&quot;,i=!1;else{if(t+=p,l&amp;&amp;(t*=Math.pow(10,-l),a+=l),0===a)t=String(Math.floor(t));else if(a&lt;0){t=(t=String(Math.round(t))).substr(0,t.length+a);for(var g=a;g&lt;0;g++)t+=&quot;0&quot;}else{var y=(t=String(t)).indexOf(&quot;.&quot;)+1;y&amp;&amp;(t=t.substr(0,y+a).replace(/\.?0+$/,&quot;&quot;))}t=v.numSeparate(t,e._separators,h)}if(l&amp;&amp;&quot;hide&quot;!==s){c(s)&amp;&amp;u(l)&amp;&amp;(s=&quot;power&quot;);var x;x=l&lt;0?C+-l:&quot;power&quot;!==s?&quot;+&quot;+l:String(l),&quot;e&quot;===s?t+=&quot;e&quot;+x:&quot;E&quot;===s?t+=&quot;E&quot;+x:&quot;power&quot;===s?t+=&quot;\xd710&lt;sup&gt;&quot;+x+&quot;&lt;/sup&gt;&quot;:&quot;B&quot;===s&amp;&amp;9===l?t+=&quot;B&quot;:c(s)&amp;&amp;(t+=H[l/3+5])}return i?C+t:t}function h(t,e){for(var r=0;r&lt;e.length;r++)-1===t.indexOf(e[r])&amp;&amp;t.push(e[r])}function d(t,e,r){var n,i,a=[],o=[],s=t.layout;for(n=0;n&lt;e.length;n++)a.push(I.getFromId(t,e[n]));for(n=0;n&lt;r.length;n++)o.push(I.getFromId(t,r[n]));var l=Object.keys(a[0]),c=[&quot;anchor&quot;,&quot;domain&quot;,&quot;overlaying&quot;,&quot;position&quot;,&quot;side&quot;,&quot;tickangle&quot;],u=[&quot;linear&quot;,&quot;log&quot;];for(n=0;n&lt;l.length;n++){var f=l[n],h=a[0][f],d=o[0][f],p=!0,m=!1,g=!1;if(&quot;_&quot;!==f.charAt(0)&amp;&amp;&quot;function&quot;!=typeof h&amp;&amp;-1===c.indexOf(f)){for(i=1;i&lt;a.length&amp;&amp;p;i++){var y=a[i][f];&quot;type&quot;===f&amp;&amp;-1!==u.indexOf(h)&amp;&amp;-1!==u.indexOf(y)&amp;&amp;h!==y?m=!0:y!==h&amp;&amp;(p=!1)}for(i=1;i&lt;o.length&amp;&amp;p;i++){var x=o[i][f];&quot;type&quot;===f&amp;&amp;-1!==u.indexOf(d)&amp;&amp;-1!==u.indexOf(x)&amp;&amp;d!==x?g=!0:o[i][f]!==d&amp;&amp;(p=!1)}p&amp;&amp;(m&amp;&amp;(s[a[0]._name].type=&quot;linear&quot;),g&amp;&amp;(s[o[0]._name].type=&quot;linear&quot;),function(t,e,r,n,i){var a,o=v.nestedProperty,s=o(t[r[0]._name],e).get(),l=o(t[n[0]._name],e).get();&quot;title&quot;===e&amp;&amp;(s===i.x&amp;&amp;(s=i.y),l===i.y&amp;&amp;(l=i.x));for(a=0;a&lt;r.length;a++)o(t,r[a]._name+&quot;.&quot;+e).set(l);for(a=0;a&lt;n.length;a++)o(t,n[a]._name+&quot;.&quot;+e).set(s)}(s,f,a,o,t._fullLayout._dfltTitle))}}for(n=0;n&lt;t._fullLayout.annotations.length;n++){var b=t._fullLayout.annotations[n];-1!==e.indexOf(b.xref)&amp;&amp;-1!==r.indexOf(b.yref)&amp;&amp;v.swapAttrs(s.annotations[n],[&quot;?&quot;])}}var p=t(&quot;d3&quot;),m=t(&quot;fast-isnumeric&quot;),g=t(&quot;../../registry&quot;),v=t(&quot;../../lib&quot;),y=t(&quot;../../lib/svg_text_utils&quot;),x=t(&quot;../../components/titles&quot;),b=t(&quot;../../components/color&quot;),_=t(&quot;../../components/drawing&quot;),w=t(&quot;../../constants/numerical&quot;),M=w.FP_SAFE,k=w.ONEAVGYEAR,A=w.ONEAVGMONTH,T=w.ONEDAY,S=w.ONEHOUR,E=w.ONEMIN,L=w.ONESEC,C=w.MINUS_SIGN,z=w.BADNUM,D=t(&quot;../../constants/alignment&quot;).MID_SHIFT,I=e.exports={};I.setConvert=t(&quot;./set_convert&quot;);var P=t(&quot;./axis_autotype&quot;),O=t(&quot;./axis_ids&quot;);I.id2name=O.id2name,I.cleanId=O.cleanId,I.list=O.list,I.listIds=O.listIds,I.getFromId=O.getFromId,I.getFromTrace=O.getFromTrace,I.coerceRef=function(t,e,r,n,i,a){var o=n.charAt(n.length-1),s=r._fullLayout._subplots[o+&quot;axis&quot;],l=n+&quot;ref&quot;,c={};return i||(i=s[0]||a),a||(a=i),c[l]={valType:&quot;enumerated&quot;,values:s.concat(a?[a]:[]),dflt:i},v.coerce(t,e,c,l)},I.coercePosition=function(t,e,r,n,i,a){var o,s;if(&quot;paper&quot;===n||&quot;pixel&quot;===n)o=v.ensureNumber,s=r(i,a);else{var l=I.getFromId(e,n);s=r(i,a=l.fraction2r(a)),o=l.cleanPos}t[i]=o(s)},I.cleanPosition=function(t,e,r){return(&quot;paper&quot;===r||&quot;pixel&quot;===r?v.ensureNumber:I.getFromId(e,r).cleanPos)(t)};var F=I.getDataConversions=function(t,e,r,a){var o,s=&quot;x&quot;===r||&quot;y&quot;===r||&quot;z&quot;===r?r:a;if(Array.isArray(s)){if(o={type:P(a),_categories:[]},I.setConvert(o),&quot;category&quot;===o.type)for(var l=0;l&lt;a.length;l++)o.d2c(a[l])}else o=I.getFromTrace(t,e,s);return o?{d2c:o.d2c,c2d:o.c2d}:&quot;ids&quot;===s?{d2c:i,c2d:i}:{d2c:n,c2d:n}};I.getDataToCoordFunc=function(t,e,r,n){return F(t,e,r,n).d2c},I.counterLetter=function(t){var e=t.charAt(0);return&quot;x&quot;===e?&quot;y&quot;:&quot;y&quot;===e?&quot;x&quot;:void 0},I.minDtick=function(t,e,r,n){-1===[&quot;log&quot;,&quot;category&quot;].indexOf(t.type)&amp;&amp;n?void 0===t._minDtick?(t._minDtick=e,t._forceTick0=r):t._minDtick&amp;&amp;((t._minDtick/e+1e-6)%1&lt;2e-6&amp;&amp;((r-t._forceTick0)/e%1+1.000001)%1&lt;2e-6?(t._minDtick=e,t._forceTick0=r):((e/t._minDtick+1e-6)%1&gt;2e-6||((r-t._forceTick0)/t._minDtick%1+1.000001)%1&gt;2e-6)&amp;&amp;(t._minDtick=0)):t._minDtick=0},I.getAutoRange=function(t){var e,r=[],n=t._min[0].val,i=t._max[0].val;for(e=1;e&lt;t._min.length&amp;&amp;n===i;e++)n=Math.min(n,t._min[e].val);for(e=1;e&lt;t._max.length&amp;&amp;n===i;e++)i=Math.max(i,t._max[e].val);var a,o,s,l,c,u,f,h=0,d=!1;if(t.range){var p=v.simpleMap(t.range,t.r2l);d=p[1]&lt;p[0]}for(&quot;reversed&quot;===t.autorange&amp;&amp;(d=!0,t.autorange=!0),e=0;e&lt;t._min.length;e++)for(o=t._min[e],a=0;a&lt;t._max.length;a++)f=(s=t._max[a]).val-o.val,u=t._length-o.pad-s.pad,f&gt;0&amp;&amp;u&gt;0&amp;&amp;f/u&gt;h&amp;&amp;(l=o,c=s,h=f/u);if(n===i){var m=n-1,g=n+1;r=&quot;tozero&quot;===t.rangemode?n&lt;0?[m,0]:[0,g]:&quot;nonnegative&quot;===t.rangemode?[Math.max(0,m),Math.max(0,g)]:[m,g]}else h&amp;&amp;(&quot;linear&quot;!==t.type&amp;&amp;&quot;-&quot;!==t.type||(&quot;tozero&quot;===t.rangemode?(l.val&gt;=0&amp;&amp;(l={val:0,pad:0}),c.val&lt;=0&amp;&amp;(c={val:0,pad:0})):&quot;nonnegative&quot;===t.rangemode&amp;&amp;(l.val-h*l.pad&lt;0&amp;&amp;(l={val:0,pad:0}),c.val&lt;0&amp;&amp;(c={val:1,pad:0})),h=(c.val-l.val)/(t._length-l.pad-c.pad)),r=[l.val-h*l.pad,c.val+h*c.pad]);return r[0]===r[1]&amp;&amp;(&quot;tozero&quot;===t.rangemode?r=r[0]&lt;0?[r[0],0]:r[0]&gt;0?[0,r[0]]:[0,1]:(r=[r[0]-1,r[0]+1],&quot;nonnegative&quot;===t.rangemode&amp;&amp;(r[0]=Math.max(0,r[0])))),d&amp;&amp;r.reverse(),v.simpleMap(r,t.l2r||Number)},I.doAutoRange=function(t){t._length||t.setScale();var e=t._min&amp;&amp;t._max&amp;&amp;t._min.length&amp;&amp;t._max.length;if(t.autorange&amp;&amp;e){t.range=I.getAutoRange(t),t._r=t.range.slice(),t._rl=v.simpleMap(t._r,t.r2l);var r=t._input;r.range=t.range.slice(),r.autorange=t.autorange}},I.saveRangeInitial=function(t,e){for(var r=I.list(t,&quot;&quot;,!0),n=!1,i=0;i&lt;r.length;i++){var a=r[i],o=void 0===a._rangeInitial,s=o||!(a.range[0]===a._rangeInitial[0]&amp;&amp;a.range[1]===a._rangeInitial[1]);(o&amp;&amp;!1===a.autorange||e&amp;&amp;s)&amp;&amp;(a._rangeInitial=a.range.slice(),n=!0)}return n},I.saveShowSpikeInitial=function(t,e){for(var r=I.list(t,&quot;&quot;,!0),n=!1,i=&quot;on&quot;,a=0;a&lt;r.length;a++){var o=r[a],s=void 0===o._showSpikeInitial,l=s||!(o.showspikes===o._showspikes);(s||e&amp;&amp;l)&amp;&amp;(o._showSpikeInitial=o.showspikes,n=!0),&quot;on&quot;!==i||o.showspikes||(i=&quot;off&quot;)}return t._fullLayout._cartesianSpikesEnabled=i,n},I.expand=function(t,e,r){function n(t){if(Array.isArray(t))return function(e){return Math.max(Number(t[e]||0),0)};var e=Math.max(Number(t||0),0);return function(){return e}}function i(r){function n(t){return m(t)&amp;&amp;Math.abs(t)&lt;M}if(l=e[r],m(l)){if(f=_(r)+x,h=w(r)+x,p=l-A(r),g=l+k(r),&quot;log&quot;===t.type&amp;&amp;p&lt;g/10&amp;&amp;(p=g/10),c=t.c2l(p),u=t.c2l(g),b&amp;&amp;(c=Math.min(0,c),u=Math.max(0,u)),n(c)){for(d=!0,o=0;o&lt;t._min.length&amp;&amp;d;o++)(s=t._min[o]).val&lt;=c&amp;&amp;s.pad&gt;=h?d=!1:s.val&gt;=c&amp;&amp;s.pad&lt;=h&amp;&amp;(t._min.splice(o,1),o--);d&amp;&amp;t._min.push({val:c,pad:b&amp;&amp;0===c?0:h})}if(n(u)){for(d=!0,o=0;o&lt;t._max.length&amp;&amp;d;o++)(s=t._max[o]).val&gt;=u&amp;&amp;s.pad&gt;=f?d=!1:s.val&lt;=u&amp;&amp;s.pad&lt;=f&amp;&amp;(t._max.splice(o,1),o--);d&amp;&amp;t._max.push({val:u,pad:b&amp;&amp;0===u?0:f})}}}if((t.autorange||!!v.nestedProperty(t,&quot;rangeslider.autorange&quot;).get())&amp;&amp;e){t._min||(t._min=[]),t._max||(t._max=[]),r||(r={}),t._m||t.setScale();var a,o,s,l,c,u,f,h,d,p,g,y=e.length,x=r.padded?.05*t._length:0,b=r.tozero&amp;&amp;(&quot;linear&quot;===t.type||&quot;-&quot;===t.type);x&amp;&amp;&quot;domain&quot;===t.constrain&amp;&amp;t._inputDomain&amp;&amp;(x*=(t._inputDomain[1]-t._inputDomain[0])/(t.domain[1]-t.domain[0]));var _=n((t._m&gt;0?r.ppadplus:r.ppadminus)||r.ppad||0),w=n((t._m&gt;0?r.ppadminus:r.ppadplus)||r.ppad||0),k=n(r.vpadplus||r.vpad),A=n(r.vpadminus||r.vpad);for(a=0;a&lt;6;a++)i(a);for(a=y-1;a&gt;5;a--)i(a)}},I.autoBin=function(t,e,r,n,i){var a=v.aggNums(Math.min,null,t),o=v.aggNums(Math.max,null,t);if(i||(i=e.calendar),&quot;category&quot;===e.type)return{start:a-.5,end:o+.5,size:1,_count:o-a+1};var s;if(r)s=(o-a)/r;else{var l=v.distinctVals(t),c=Math.pow(10,Math.floor(Math.log(l.minDiff)/Math.LN10)),u=c*v.roundUp(l.minDiff/c,[.9,1.9,4.9,9.9],!0);s=Math.max(u,2*v.stdev(t)/Math.pow(t.length,n?.25:.4)),m(s)||(s=1)}var f;f=&quot;log&quot;===e.type?{type:&quot;linear&quot;,range:[a,o]}:{type:e.type,range:v.simpleMap([a,o],e.c2r,0,i),calendar:i},I.setConvert(f),I.autoTicks(f,s);var h,d,p=I.tickIncrement(I.tickFirst(f),f.dtick,&quot;reverse&quot;,i);if(&quot;number&quot;==typeof f.dtick)h=(p=function(t,e,r,n,i){function a(e){return(1+100*(e-t)/r.dtick)%100&lt;2}for(var o=0,s=0,l=0,c=0,u=0;u&lt;e.length;u++)e[u]%1==0?l++:m(e[u])||c++,a(e[u])&amp;&amp;o++,a(e[u]+r.dtick/2)&amp;&amp;s++;var f=e.length-c;if(l===f&amp;&amp;&quot;date&quot;!==r.type)r.dtick&lt;1?t=n-.5*r.dtick:(t-=.5)+r.dtick&lt;n&amp;&amp;(t+=r.dtick);else if(s&lt;.1*f&amp;&amp;(o&gt;.3*f||a(n)||a(i))){var h=r.dtick/2;t+=t+h&lt;n?h:-h}return t}(p,t,f,a,o))+(d=1+Math.floor((o-p)/f.dtick))*f.dtick;else for(&quot;M&quot;===f.dtick.charAt(0)&amp;&amp;(p=function(t,e,r,n,i){var a=v.findExactDates(e,i);if(a.exactDays&gt;.8){var o=Number(r.substr(1));a.exactYears&gt;.8&amp;&amp;o%12==0?t=I.tickIncrement(t,&quot;M6&quot;,&quot;reverse&quot;)+1.5*T:a.exactMonths&gt;.8?t=I.tickIncrement(t,&quot;M1&quot;,&quot;reverse&quot;)+15.5*T:t-=T/2;var s=I.tickIncrement(t,r);if(s&lt;=n)return s}return t}(p,t,f.dtick,a,i)),h=p,d=0;h&lt;=o;)h=I.tickIncrement(h,f.dtick,!1,i),d++;return{start:e.c2r(p,0,i),end:e.c2r(h,0,i),size:f.dtick,_count:d}},I.calcTicks=function(t){var e=v.simpleMap(t.range,t.r2l);if(&quot;auto&quot;===t.tickmode||!t.dtick){var r,n=t.nticks;n||(&quot;category&quot;===t.type?(r=t.tickfont?1.2*(t.tickfont.size||12):15,n=t._length/r):(r=&quot;y&quot;===t._id.charAt(0)?40:80,n=v.constrain(t._length/r,4,9)+1),&quot;radialaxis&quot;===t._name&amp;&amp;(n*=2)),&quot;array&quot;===t.tickmode&amp;&amp;(n*=100),I.autoTicks(t,Math.abs(e[1]-e[0])/n),t._minDtick&gt;0&amp;&amp;t.dtick&lt;2*t._minDtick&amp;&amp;(t.dtick=t._minDtick,t.tick0=t.l2r(t._forceTick0))}if(t.tick0||(t.tick0=&quot;date&quot;===t.type?&quot;2000-01-01&quot;:0),o(t),&quot;array&quot;===t.tickmode)return function(t){var e,r,n=t.tickvals,i=t.ticktext,a=new Array(n.length),o=v.simpleMap(t.range,t.r2l),l=1.0001*o[0]-1e-4*o[1],c=1.0001*o[1]-1e-4*o[0],u=Math.min(l,c),f=Math.max(l,c),h=0;Array.isArray(i)||(i=[]);var d=&quot;category&quot;===t.type?t.d2l_noadd:t.d2l;for(&quot;log&quot;===t.type&amp;&amp;&quot;L&quot;!==String(t.dtick).charAt(0)&amp;&amp;(t.dtick=&quot;L&quot;+Math.pow(10,Math.floor(Math.min(t.range[0],t.range[1]))-1)),r=0;r&lt;n.length;r++)(e=d(n[r]))&gt;u&amp;&amp;e&lt;f&amp;&amp;(void 0===i[r]?a[h]=I.tickText(t,e):a[h]=s(t,e,String(i[r])),h++);return h&lt;n.length&amp;&amp;a.splice(h,n.length-h),a}(t);t._tmin=I.tickFirst(t);var i=e[1]&lt;e[0],a=[],l=1.0001*e[1]-1e-4*e[0];&quot;category&quot;===t.type&amp;&amp;(l=i?Math.max(-.5,l):Math.min(t._categories.length-.5,l));for(var c=null,u=Math.max(1e3,t._length||0),f=t._tmin;(i?f&gt;=l:f&lt;=l)&amp;&amp;!(a.length&gt;u||f===c);f=I.tickIncrement(f,t.dtick,i,t.calendar))c=f,a.push(f);&quot;angular&quot;===t._id&amp;&amp;360===Math.abs(e[1]-e[0])&amp;&amp;a.pop(),t._tmax=a[a.length-1],t._prevDateHead=&quot;&quot;,t._inCalcTicks=!0;for(var h=new Array(a.length),d=0;d&lt;a.length;d++)h[d]=I.tickText(t,a[d]);return t._inCalcTicks=!1,h};var R=[2,5,10],N=[1,2,3,6,12],j=[1,2,5,10,15,30],B=[1,2,3,7,14],U=[-.046,0,.301,.477,.602,.699,.778,.845,.903,.954,1],V=[-.301,0,.301,.699,1],q=[15,30,45,90,180];I.autoTicks=function(t,e){function r(t){return Math.pow(t,Math.floor(Math.log(e)/Math.LN10))}var n;if(&quot;date&quot;===t.type){t.tick0=v.dateTick0(t.calendar);var i=2*e;i&gt;k?(e/=k,n=r(10),t.dtick=&quot;M&quot;+12*a(e,n,R)):i&gt;A?(e/=A,t.dtick=&quot;M&quot;+a(e,1,N)):i&gt;T?(t.dtick=a(e,T,B),t.tick0=v.dateTick0(t.calendar,!0)):i&gt;S?t.dtick=a(e,S,N):i&gt;E?t.dtick=a(e,E,j):i&gt;L?t.dtick=a(e,L,j):(n=r(10),t.dtick=a(e,n,R))}else if(&quot;log&quot;===t.type){t.tick0=0;var o=v.simpleMap(t.range,t.r2l);if(e&gt;.7)t.dtick=Math.ceil(e);else if(Math.abs(o[1]-o[0])&lt;1){var s=1.5*Math.abs((o[1]-o[0])/e);e=Math.abs(Math.pow(10,o[1])-Math.pow(10,o[0]))/s,n=r(10),t.dtick=&quot;L&quot;+a(e,n,R)}else t.dtick=e&gt;.3?&quot;D2&quot;:&quot;D1&quot;}else&quot;category&quot;===t.type?(t.tick0=0,t.dtick=Math.ceil(Math.max(e,1))):&quot;angular&quot;===t._id?(t.tick0=0,n=1,t.dtick=a(e,n,q)):(t.tick0=0,n=r(10),t.dtick=a(e,n,R));if(0===t.dtick&amp;&amp;(t.dtick=1),!m(t.dtick)&amp;&amp;&quot;string&quot;!=typeof t.dtick){var l=t.dtick;throw t.dtick=1,&quot;ax.dtick error: &quot;+String(l)}},I.tickIncrement=function(t,e,r,n){var i=r?-1:1;if(m(e))return t+i*e;var a=e.charAt(0),o=i*Number(e.substr(1));if(&quot;M&quot;===a)return v.incrementMonth(t,o,n);if(&quot;L&quot;===a)return Math.log(Math.pow(10,t)+o)/Math.LN10;if(&quot;D&quot;===a){var s=&quot;D2&quot;===e?V:U,l=t+.01*i,c=v.roundUp(v.mod(l,1),s,r);return Math.floor(l)+Math.log(p.round(Math.pow(10,c),1))/Math.LN10}throw&quot;unrecognized dtick &quot;+String(e)},I.tickFirst=function(t){var e=t.r2l||Number,r=v.simpleMap(t.range,e),n=r[1]&lt;r[0],i=n?Math.floor:Math.ceil,a=1.0001*r[0]-1e-4*r[1],o=t.dtick,s=e(t.tick0);if(m(o)){var l=i((a-s)/o)*o+s;return&quot;category&quot;===t.type&amp;&amp;(l=v.constrain(l,0,t._categories.length-1)),l}var c=o.charAt(0),u=Number(o.substr(1));if(&quot;M&quot;===c){for(var f,h,d,g=0,y=s;g&lt;10;){if(((f=I.tickIncrement(y,o,n,t.calendar))-a)*(y-a)&lt;=0)return n?Math.min(y,f):Math.max(y,f);h=(a-(y+f)/2)/(f-y),d=c+(Math.abs(Math.round(h))||1)*u,y=I.tickIncrement(y,d,h&lt;0?!n:n,t.calendar),g++}return v.error(&quot;tickFirst did not converge&quot;,t),y}if(&quot;L&quot;===c)return Math.log(i((Math.pow(10,a)-s)/u)*u+s)/Math.LN10;if(&quot;D&quot;===c){var x=&quot;D2&quot;===o?V:U,b=v.roundUp(v.mod(a,1),x,n);return Math.floor(a)+Math.log(p.round(Math.pow(10,b),1))/Math.LN10}throw&quot;unrecognized dtick &quot;+String(o)},I.tickText=function(t,e,r){function n(n){var i;return void 0===n||(r?&quot;none&quot;===n:(i={first:t._tmin,last:t._tmax}[n],&quot;all&quot;!==n&amp;&amp;e!==i))}var i,a,o=s(t,e),h=&quot;array&quot;===t.tickmode,d=r||h,p=&quot;category&quot;===t.type?t.d2l_noadd:t.d2l;if(h&amp;&amp;Array.isArray(t.ticktext)){var g=v.simpleMap(t.range,t.r2l),y=Math.abs(g[1]-g[0])/1e4;for(a=0;a&lt;t.ticktext.length&amp;&amp;!(Math.abs(e-p(t.tickvals[a]))&lt;y);a++);if(a&lt;t.ticktext.length)return o.text=String(t.ticktext[a]),o}return i=r?&quot;never&quot;:&quot;none&quot;!==t.exponentformat&amp;&amp;n(t.showexponent)?&quot;hide&quot;:&quot;&quot;,&quot;date&quot;===t.type?function(t,e,r,n){var i=t._tickround,a=r&amp;&amp;t.hoverformat||I.getTickFormat(t);n&amp;&amp;(i=m(i)?4:{y:&quot;m&quot;,m:&quot;d&quot;,d:&quot;M&quot;,M:&quot;S&quot;,S:4}[i]);var o,s=v.formatDate(e.x,a,i,t._dateFormat,t.calendar),l=s.indexOf(&quot;\n&quot;);-1!==l&amp;&amp;(o=s.substr(l+1),s=s.substr(0,l)),n&amp;&amp;(&quot;00:00:00&quot;===s||&quot;00:00&quot;===s?(s=o,o=&quot;&quot;):8===s.length&amp;&amp;(s=s.replace(/:00$/,&quot;&quot;))),o&amp;&amp;(r?&quot;d&quot;===i?s+=&quot;, &quot;+o:s=o+(s?&quot;, &quot;+s:&quot;&quot;):t._inCalcTicks&amp;&amp;o===t._prevDateHead||(s+=&quot;&lt;br&gt;&quot;+o,t._prevDateHead=o)),e.text=s}(t,o,r,d):&quot;log&quot;===t.type?function(t,e,r,n,i){var a=t.dtick,o=e.x,s=t.tickformat;if(&quot;never&quot;===i&amp;&amp;(i=&quot;&quot;),!n||&quot;string&quot;==typeof a&amp;&amp;&quot;L&quot;===a.charAt(0)||(a=&quot;L3&quot;),s||&quot;string&quot;==typeof a&amp;&amp;&quot;L&quot;===a.charAt(0))e.text=f(Math.pow(10,o),t,i,n);else if(m(a)||&quot;D&quot;===a.charAt(0)&amp;&amp;v.mod(o+.01,1)&lt;.1){var l=Math.round(o);-1!==[&quot;e&quot;,&quot;E&quot;,&quot;power&quot;].indexOf(t.exponentformat)||c(t.exponentformat)&amp;&amp;u(l)?(e.text=0===l?1:1===l?&quot;10&quot;:l&gt;1?&quot;10&lt;sup&gt;&quot;+l+&quot;&lt;/sup&gt;&quot;:&quot;10&lt;sup&gt;&quot;+C+-l+&quot;&lt;/sup&gt;&quot;,e.fontSize*=1.25):(e.text=f(Math.pow(10,o),t,&quot;&quot;,&quot;fakehover&quot;),&quot;D1&quot;===a&amp;&amp;&quot;y&quot;===t._id.charAt(0)&amp;&amp;(e.dy-=e.fontSize/6))}else{if(&quot;D&quot;!==a.charAt(0))throw&quot;unrecognized dtick &quot;+String(a);e.text=String(Math.round(Math.pow(10,v.mod(o,1)))),e.fontSize*=.75}if(&quot;D1&quot;===t.dtick){var h=String(e.text).charAt(0);&quot;0&quot;!==h&amp;&amp;&quot;1&quot;!==h||(&quot;y&quot;===t._id.charAt(0)?e.dx-=e.fontSize/4:(e.dy+=e.fontSize/2,e.dx+=(t.range[1]&gt;t.range[0]?1:-1)*e.fontSize*(o&lt;0?.5:.25)))}}(t,o,0,d,i):&quot;category&quot;===t.type?function(t,e){var r=t._categories[Math.round(e.x)];void 0===r&amp;&amp;(r=&quot;&quot;),e.text=String(r)}(t,o):&quot;angular&quot;===t._id?l(t,o,r,d,i):function(t,e,r,n,i){&quot;never&quot;===i?i=&quot;&quot;:&quot;all&quot;===t.showexponent&amp;&amp;Math.abs(e.x/t.dtick)&lt;1e-6&amp;&amp;(i=&quot;hide&quot;),e.text=f(e.x,t,i,n)}(t,o,0,d,i),t.tickprefix&amp;&amp;!n(t.showtickprefix)&amp;&amp;(o.text=t.tickprefix+o.text),t.ticksuffix&amp;&amp;!n(t.showticksuffix)&amp;&amp;(o.text+=t.ticksuffix),o},I.hoverLabelText=function(t,e,r){if(r!==z&amp;&amp;r!==e)return I.hoverLabelText(t,e)+&quot; - &quot;+I.hoverLabelText(t,r);var n=&quot;log&quot;===t.type&amp;&amp;e&lt;=0,i=I.tickText(t,t.c2l(n?-e:e),&quot;hover&quot;).text;return n?0===e?&quot;0&quot;:C+i:i};var H=[&quot;f&quot;,&quot;p&quot;,&quot;n&quot;,&quot;\u03bc&quot;,&quot;m&quot;,&quot;&quot;,&quot;k&quot;,&quot;M&quot;,&quot;G&quot;,&quot;T&quot;];I.getTickFormat=function(t){function e(t){return&quot;string&quot;!=typeof t?t:Number(t.replace(&quot;M&quot;,&quot;&quot;))*A}function r(t,e){var r=[&quot;L&quot;,&quot;D&quot;];if(typeof t==typeof e){if(&quot;number&quot;==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,&quot;&quot;))-Number(e.replace(/(L|D)/g,&quot;&quot;)):n-i}return&quot;number&quot;==typeof t?1:-1}function n(t,e,r){var n=r||function(t){return t},i=e[0],a=e[1];return(!i&amp;&amp;&quot;number&quot;!=typeof i||n(i)&lt;=n(t))&amp;&amp;(!a&amp;&amp;&quot;number&quot;!=typeof a||n(a)&gt;=n(t))}function i(t,e){var n=null===e[0],i=null===e[1],a=r(t,e[0])&gt;=0,o=r(t,e[1])&lt;=0;return(n||a)&amp;&amp;(i||o)}var a,o;if(t.tickformatstops&amp;&amp;t.tickformatstops.length&gt;0)switch(t.type){case&quot;date&quot;:case&quot;linear&quot;:for(a=0;a&lt;t.tickformatstops.length;a++)if(n(t.dtick,t.tickformatstops[a].dtickrange,e)){o=t.tickformatstops[a];break}break;case&quot;log&quot;:for(a=0;a&lt;t.tickformatstops.length;a++)if(i(t.dtick,t.tickformatstops[a].dtickrange)){o=t.tickformatstops[a];break}}return o?o.value:t.tickformat},I.getSubplots=function(t,e){var r=t._fullLayout._subplots,n=r.cartesian.concat(r.gl2d||[]),i=e?I.findSubplotsWithAxis(n,e):n;return i.sort(function(t,e){var r=t.substr(1).split(&quot;y&quot;),n=e.substr(1).split(&quot;y&quot;);return r[0]===n[0]?+r[1]-+n[1]:+r[0]-+n[0]}),i},I.findSubplotsWithAxis=function(t,e){for(var r=new RegExp(&quot;x&quot;===e._id.charAt(0)?&quot;^&quot;+e._id+&quot;y&quot;:e._id+&quot;$&quot;),n=[],i=0;i&lt;t.length;i++){var a=t[i];r.test(a)&amp;&amp;n.push(a)}return n},I.makeClipPaths=function(t){var e,r,n=t._fullLayout,i={_offset:0,_length:n.width,_id:&quot;&quot;},a={_offset:0,_length:n.height,_id:&quot;&quot;},o=I.list(t,&quot;x&quot;,!0),s=I.list(t,&quot;y&quot;,!0),l=[];for(e=0;e&lt;o.length;e++)for(l.push({x:o[e],y:a}),r=0;r&lt;s.length;r++)0===e&amp;&amp;l.push({x:i,y:s[r]}),l.push({x:o[e],y:s[r]});var c=n._clips.selectAll(&quot;.axesclip&quot;).data(l,function(t){return t.x._id+t.y._id});c.enter().append(&quot;clipPath&quot;).classed(&quot;axesclip&quot;,!0).attr(&quot;id&quot;,function(t){return&quot;clip&quot;+n._uid+t.x._id+t.y._id}).append(&quot;rect&quot;),c.exit().remove(),c.each(function(t){p.select(this).select(&quot;rect&quot;).attr({x:t.x._offset||0,y:t.y._offset||0,width:t.x._length||1,height:t.y._length||1})})},I.doTicks=function(t,e,r){function n(t){var e=c.l2p(t.x);return e&gt;1&amp;&amp;e&lt;c._length-1}function i(t,e){var r=t.selectAll(&quot;path.&quot;+L).data(&quot;inside&quot;===c.ticks?H:S,E);e&amp;&amp;c.ticks?(r.enter().append(&quot;path&quot;).classed(L,1).classed(&quot;ticks&quot;,1).classed(&quot;crisp&quot;,1).call(b.stroke,c.tickcolor).style(&quot;stroke-width&quot;,B+&quot;px&quot;).attr(&quot;d&quot;,e),r.attr(&quot;transform&quot;,d),r.exit().remove()):r.remove()}function a(r,n){function i(t,e){t.each(function(t){var r=h(e,t),n=p.select(this),i=n.select(&quot;.text-math-group&quot;),a=d(t)+(m(e)&amp;&amp;0!=+e?&quot; rotate(&quot;+e+&quot;,&quot;+l(t)+&quot;,&quot;+(f(t)-t.fontSize/2)+&quot;)&quot;:&quot;&quot;);if(i.empty())n.select(&quot;text&quot;).attr({transform:a,&quot;text-anchor&quot;:r});else{var o=_.bBox(i.node()).width*{end:-.5,start:.5}[r];i.attr(&quot;transform&quot;,a+(o?&quot;translate(&quot;+o+&quot;,0)&quot;:&quot;&quot;))}})}function a(){function e(t,e){t[0]=Math.min(t[0],e[0]),t[1]=Math.max(t[1],e[1])}if(c.showticklabels){var n=t.getBoundingClientRect(),i=r.node().getBoundingClientRect();c._boundingBox={width:i.width,height:i.height,left:i.left-n.left,right:i.right-n.left,top:i.top-n.top,bottom:i.bottom-n.top}}else{var a,o=u._size;&quot;x&quot;===A?(a=&quot;free&quot;===c.anchor?o.t+o.h*(1-c.position):o.t+o.h*(1-c._anchorAxis.domain[{bottom:0,top:1}[c.side]]),c._boundingBox={top:a,bottom:a,left:c._offset,right:c._offset+c._length,width:c._length,height:0}):(a=&quot;free&quot;===c.anchor?o.l+o.w*c.position:o.l+o.w*c._anchorAxis.domain[{left:0,right:1}[c.side]],c._boundingBox={left:a,right:a,bottom:c._offset+c._length,top:c._offset,height:c._length,width:0})}if(M){var s=c._counterSpan=[1/0,-1/0];for(k=0;k&lt;M.length;k++){var l=u._plots[M[k]][&quot;x&quot;===A?&quot;yaxis&quot;:&quot;xaxis&quot;];e(s,[l._offset,l._offset+l._length])}&quot;free&quot;===c.anchor&amp;&amp;e(s,&quot;x&quot;===A?[c._boundingBox.bottom,c._boundingBox.top]:[c._boundingBox.right,c._boundingBox.left])}}var s=r.selectAll(&quot;g.&quot;+L).data(S,E);if(!m(n))return s.remove(),void o();if(!c.showticklabels)return s.remove(),o(),void a();var l,f,h,g,x;&quot;x&quot;===A?(l=function(t){return t.dx+R*x},g=n+(F+P)*(x=&quot;bottom&quot;===V?1:-1),f=function(t){return t.dy+g+t.fontSize*(&quot;bottom&quot;===V?1:-.2)},h=function(t){return m(t)&amp;&amp;0!==t&amp;&amp;180!==t?t*x&lt;0?&quot;end&quot;:&quot;start&quot;:&quot;middle&quot;}):&quot;y&quot;===A?(x=&quot;right&quot;===V?1:-1,f=function(t){return t.dy+t.fontSize*D-R*x},l=function(t){return t.dx+n+(F+P+(90===Math.abs(c.tickangle)?t.fontSize/2:0))*x},h=function(t){return m(t)&amp;&amp;90===Math.abs(t)?&quot;middle&quot;:&quot;right&quot;===V?&quot;start&quot;:&quot;end&quot;}):&quot;angular&quot;===e&amp;&amp;(c._labelShift=R,c._labelStandoff=F,c._pad=P,l=c._labelx,f=c._labely,h=c._labelanchor);var b=0,w=0,T=[];s.enter().append(&quot;g&quot;).classed(L,1).append(&quot;text&quot;).attr(&quot;text-anchor&quot;,&quot;middle&quot;).each(function(e){var r=p.select(this),n=t._promises.length;r.call(y.positionText,l(e),f(e)).call(_.font,e.font,e.fontSize,e.fontColor).text(e.text).call(y.convertToTspans,t),(n=t._promises[n])?T.push(t._promises.pop().then(function(){i(r,c.tickangle)})):i(r,c.tickangle)}),s.exit().remove(),s.each(function(t){b=Math.max(b,t.fontSize)}),&quot;angular&quot;===e&amp;&amp;s.each(function(t){p.select(this).select(&quot;text&quot;).call(y.positionText,l(t),f(t))}),i(s,c._lastangle||c.tickangle);var C=v.syncOrAsync([function(){return T.length&amp;&amp;Promise.all(T)},function(){if(i(s,c.tickangle),&quot;x&quot;===A&amp;&amp;!m(c.tickangle)&amp;&amp;(&quot;log&quot;!==c.type||&quot;D&quot;!==String(c.dtick).charAt(0))){var t=[];for(s.each(function(e){var r=p.select(this),n=r.select(&quot;.text-math-group&quot;),i=c.l2p(e.x);n.empty()&amp;&amp;(n=r.select(&quot;text&quot;));var a=_.bBox(n.node());t.push({top:0,bottom:10,height:10,left:i-a.width/2,right:i+a.width/2+2,width:a.width+2})}),k=0;k&lt;t.length-1;k++)if(v.bBoxIntersect(t[k],t[k+1])){w=30;break}w&amp;&amp;(Math.abs((S[S.length-1].x-S[0].x)*c._m)/(S.length-1)&lt;2.5*b&amp;&amp;(w=90),i(s,w)),c._lastangle=w}return o(),e+&quot; done&quot;},a]);return C&amp;&amp;C.then&amp;&amp;t._promises.push(C),C}function o(){if(!r){var n,i,a,o,s=O.getFromId(t,e),l=p.select(t).selectAll(&quot;g.&quot;+e+&quot;tick&quot;),c={selection:l,side:s.side},f=e.charAt(0),h=t._fullLayout._size,d=s.titlefont.size;if(l.size()){var m=_.getTranslate(l.node().parentNode);c.offsetLeft=m.x,c.offsetTop=m.y}var g=10+1.5*d+(s.linewidth?s.linewidth-1:0);&quot;x&quot;===f?(i=&quot;free&quot;===s.anchor?{_offset:h.t+(1-(s.position||0))*h.h,_length:0}:O.getFromId(t,s.anchor),a=s._offset+s._length/2,o=&quot;top&quot;===s.side?-g-d*(s.showticklabels?1:0):i._length+g+d*(s.showticklabels?1.5:.5),o+=i._offset,s.rangeslider&amp;&amp;s.rangeslider.visible&amp;&amp;s._boundingBox&amp;&amp;(o+=(u.height-u.margin.b-u.margin.t)*s.rangeslider.thickness+s._boundingBox.height),c.side||(c.side=&quot;bottom&quot;)):(i=&quot;free&quot;===s.anchor?{_offset:h.l+(s.position||0)*h.w,_length:0}:O.getFromId(t,s.anchor),o=s._offset+s._length/2,a=&quot;right&quot;===s.side?i._length+g+d*(s.showticklabels?1:.5):-g-d*(s.showticklabels?.5:0),a+=i._offset,n={rotate:&quot;-90&quot;,offset:0},c.side||(c.side=&quot;left&quot;)),x.draw(t,e+&quot;title&quot;,{propContainer:s,propName:s._name+&quot;.title&quot;,placeholder:u._dfltTitle[f],avoid:c,transform:n,attributes:{x:a,y:o,&quot;text-anchor&quot;:&quot;middle&quot;}})}}function s(t,e){return!0===t.visible&amp;&amp;t.xaxis+t.yaxis===e&amp;&amp;(!(!g.traceIs(t,&quot;bar&quot;)||t.orientation!=={x:&quot;h&quot;,y:&quot;v&quot;}[A])||t.fill&amp;&amp;t.fill.charAt(t.fill.length-1)===A)}function l(r,i,a){var o=r.gridlayer.selectAll(&quot;.&quot;+e),l=r.zerolinelayer,u=r[&quot;hidegrid&quot;+A]?[]:H,f=c._gridpath||(&quot;x&quot;===A?&quot;M0,&quot;+i._offset+&quot;v&quot;:&quot;M&quot;+i._offset+&quot;,0h&quot;)+i._length,h=o.selectAll(&quot;path.&quot;+C).data(!1===c.showgrid?[]:u,E);if(h.enter().append(&quot;path&quot;).classed(C,1).classed(&quot;crisp&quot;,1).attr(&quot;d&quot;,f).each(function(t){c.zeroline&amp;&amp;(&quot;linear&quot;===c.type||&quot;-&quot;===c.type)&amp;&amp;Math.abs(t.x)&lt;c.dtick/100&amp;&amp;p.select(this).remove()}),h.attr(&quot;transform&quot;,d).call(b.stroke,c.gridcolor||&quot;#ddd&quot;).style(&quot;stroke-width&quot;,N+&quot;px&quot;),&quot;function&quot;==typeof f&amp;&amp;h.attr(&quot;d&quot;,f),h.exit().remove(),l){for(var m=!1,g=0;g&lt;t._fullData.length;g++)if(s(t._fullData[g],a)){m=!0;break}var y=v.simpleMap(c.range,c.r2l),x=y[0]*y[1]&lt;=0&amp;&amp;c.zeroline&amp;&amp;(&quot;linear&quot;===c.type||&quot;-&quot;===c.type)&amp;&amp;u.length&amp;&amp;(m||n({x:0})||!c.showline),_=l.selectAll(&quot;path.&quot;+z).data(x?[{x:0,id:e}]:[]);_.enter().append(&quot;path&quot;).classed(z,1).classed(&quot;zl&quot;,1).classed(&quot;crisp&quot;,1).attr(&quot;d&quot;,f).each(function(){l.selectAll(&quot;path&quot;).sort(function(t,e){return O.idSort(t.id,e.id)})}),_.attr(&quot;transform&quot;,d).call(b.stroke,c.zerolinecolor||b.defaultLine).style(&quot;stroke-width&quot;,j+&quot;px&quot;),_.exit().remove()}}var c,u=t._fullLayout,f=!1;if(&quot;object&quot;==typeof e)e=(c=e)._id,f=!0;else if(c=I.getFromId(t,e),&quot;redraw&quot;===e&amp;&amp;u._paper.selectAll(&quot;g.subplot&quot;).each(function(t){var e=u._plots[t],r=e.xaxis,n=e.yaxis;e.xaxislayer.selectAll(&quot;.&quot;+r._id+&quot;tick&quot;).remove(),e.yaxislayer.selectAll(&quot;.&quot;+n._id+&quot;tick&quot;).remove(),e.gridlayer.selectAll(&quot;path&quot;).remove(),e.zerolinelayer.selectAll(&quot;path&quot;).remove(),u._infolayer.select(&quot;.g-&quot;+r._id+&quot;title&quot;).remove(),u._infolayer.select(&quot;.g-&quot;+n._id+&quot;title&quot;).remove()}),!e||&quot;redraw&quot;===e)return v.syncOrAsync(I.list(t,&quot;&quot;,!0).map(function(r){return function(){if(r._id){var n=I.doTicks(t,r._id);return&quot;redraw&quot;===e&amp;&amp;(r._r=r.range.slice(),r._rl=v.simpleMap(r._r,r.r2l)),n}}}));c.tickformat||(-1===[&quot;none&quot;,&quot;e&quot;,&quot;E&quot;,&quot;power&quot;,&quot;SI&quot;,&quot;B&quot;].indexOf(c.exponentformat)&amp;&amp;(c.exponentformat=&quot;e&quot;),-1===[&quot;all&quot;,&quot;first&quot;,&quot;last&quot;,&quot;none&quot;].indexOf(c.showexponent)&amp;&amp;(c.showexponent=&quot;all&quot;)),c.setScale();var h,d,w,M,k,A=e.charAt(0),T=I.counterLetter(e),S=I.calcTicks(c),E=function(t){return[t.text,t.x,c.mirror,t.font,t.fontSize,t.fontColor].join(&quot;_&quot;)},L=e+&quot;tick&quot;,C=e+&quot;grid&quot;,z=e+&quot;zl&quot;,P=(c.linewidth||1)/2,F=&quot;outside&quot;===c.ticks?c.ticklen:0,R=0,N=_.crispRound(t,c.gridwidth,1),j=_.crispRound(t,c.zerolinewidth,N),B=_.crispRound(t,c.tickwidth,1);if(c._counterangle&amp;&amp;&quot;outside&quot;===c.ticks){var U=c._counterangle*Math.PI/180;F=c.ticklen*Math.cos(U)+1,R=c.ticklen*Math.sin(U)}if(c.showticklabels&amp;&amp;(&quot;outside&quot;===c.ticks||c.showline)&amp;&amp;(F+=.2*c.tickfont.size),&quot;x&quot;===A)h=[&quot;bottom&quot;,&quot;top&quot;],d=c._transfn||function(t){return&quot;translate(&quot;+(c._offset+c.l2p(t.x))+&quot;,0)&quot;},w=function(t,e){if(c._counterangle){var r=c._counterangle*Math.PI/180;return&quot;M0,&quot;+t+&quot;l&quot;+Math.sin(r)*e+&quot;,&quot;+Math.cos(r)*e}return&quot;M0,&quot;+t+&quot;v&quot;+e};else if(&quot;y&quot;===A)h=[&quot;left&quot;,&quot;right&quot;],d=c._transfn||function(t){return&quot;translate(0,&quot;+(c._offset+c.l2p(t.x))+&quot;)&quot;},w=function(t,e){if(c._counterangle){var r=c._counterangle*Math.PI/180;return&quot;M&quot;+t+&quot;,0l&quot;+Math.cos(r)*e+&quot;,&quot;+-Math.sin(r)*e}return&quot;M&quot;+t+&quot;,0h&quot;+e};else{if(&quot;angular&quot;!==e)return void v.warn(&quot;Unrecognized doTicks axis:&quot;,e);h=[&quot;left&quot;,&quot;right&quot;],d=c._transfn,w=function(t,e){return&quot;M&quot;+t+&quot;,0h&quot;+e}}var V=c.side||h[0],q=[-1,1,V===h[1]?1:-1];if(&quot;inside&quot;!==c.ticks==(&quot;x&quot;===A)&amp;&amp;(q=q.map(function(t){return-t})),c.visible){c._tickFilter&amp;&amp;(S=S.filter(c._tickFilter));var H=S.filter(n);if(&quot;angular&quot;===c._id&amp;&amp;(H=S),f){if(i(c._axislayer,w(c._pos+P*q[2],q[2]*c.ticklen)),c._counteraxis){l({gridlayer:c._gridlayer,zerolinelayer:c._zerolinelayer},c._counteraxis)}return a(c._axislayer,c._pos)}if(u._has(&quot;cartesian&quot;)){var G={};(M=I.getSubplots(t,c)).map(function(t){var e=u._plots[t],r=e[T+&quot;axis&quot;],n=r._mainAxis._id;G[n]||(G[n]=1,l(e,r,t))});var Y=c._mainSubplot,W=u._plots[Y],X=[];if(c.ticks){var Z=q[2],J=w(c._mainLinePosition+P*Z,Z*c.ticklen);c._anchorAxis&amp;&amp;c.mirror&amp;&amp;!0!==c.mirror&amp;&amp;(J+=w(c._mainMirrorPosition-P*Z,-Z*c.ticklen)),i(W[A+&quot;axislayer&quot;],J),X=Object.keys(c._linepositions)}X.map(function(t){function e(t){var e=q[t];return w(n[t]+P*e,e*c.ticklen)}var r=u._plots[t][A+&quot;axislayer&quot;],n=c._linepositions[t]||[];i(r,e(0)+e(1))});return a(W[A+&quot;axislayer&quot;],c._mainLinePosition)}}},I.swap=function(t,e){for(var r=function(t,e){var r,n,i=[];for(r=0;r&lt;e.length;r++){var a=[],o=t._fullData[e[r]].xaxis,s=t._fullData[e[r]].yaxis;if(o&amp;&amp;s){for(n=0;n&lt;i.length;n++)-1===i[n].x.indexOf(o)&amp;&amp;-1===i[n].y.indexOf(s)||a.push(n);if(a.length){var l,c=i[a[0]];if(a.length&gt;1)for(n=1;n&lt;a.length;n++)l=i[a[n]],h(c.x,l.x),h(c.y,l.y);h(c.x,[o]),h(c.y,[s])}else i.push({x:[o],y:[s]})}}return i}(t,e),n=0;n&lt;r.length;n++)d(t,r[n].x,r[n].y)}},{&quot;../../components/color&quot;:618,&quot;../../components/drawing&quot;:643,&quot;../../components/titles&quot;:709,&quot;../../constants/alignment&quot;:716,&quot;../../constants/numerical&quot;:721,&quot;../../lib&quot;:743,&quot;../../lib/svg_text_utils&quot;:766,&quot;../../registry&quot;:873,&quot;./axis_autotype&quot;:790,&quot;./axis_ids&quot;:792,&quot;./set_convert&quot;:808,d3:128,&quot;fast-isnumeric&quot;:140}],790:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;fast-isnumeric&quot;),i=t(&quot;../../lib&quot;),a=t(&quot;../../constants/numerical&quot;).BADNUM;e.exports=function(t,e){return function(t,e){for(var r,a=0,o=0,s=Math.max(1,(t.length-1)/1e3),l=0;l&lt;t.length;l+=s)r=t[Math.round(l)],i.isDateTime(r,e)&amp;&amp;(a+=1),n(r)&amp;&amp;(o+=1);return a&gt;2*o}(t,e)?&quot;date&quot;:function(t){for(var e,r=Math.max(1,(t.length-1)/1e3),n=0,o=0,s=0;s&lt;t.length;s+=r)e=t[Math.round(s)],i.cleanNumber(e)!==a?n++:&quot;string&quot;==typeof e&amp;&amp;&quot;&quot;!==e&amp;&amp;&quot;None&quot;!==e&amp;&amp;o++;return o&gt;2*n}(t)?&quot;category&quot;:function(t){if(!t)return!1;for(var e=0;e&lt;t.length;e++)if(n(t[e]))return!0;return!1}(t)?&quot;linear&quot;:&quot;-&quot;}},{&quot;../../constants/numerical&quot;:721,&quot;../../lib&quot;:743,&quot;fast-isnumeric&quot;:140}],791:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../registry&quot;),i=t(&quot;../../lib&quot;),a=t(&quot;./layout_attributes&quot;),o=t(&quot;./tick_value_defaults&quot;),s=t(&quot;./tick_mark_defaults&quot;),l=t(&quot;./tick_label_defaults&quot;),c=t(&quot;./category_order_defaults&quot;),u=t(&quot;./line_grid_defaults&quot;),f=t(&quot;./set_convert&quot;),h=t(&quot;./ordered_categories&quot;);e.exports=function(t,e,r,d,p){var m=d.letter,g=d.font||{},v=r(&quot;visible&quot;,!d.cheateronly),y=e.type;if(&quot;date&quot;===y){n.getComponentMethod(&quot;calendars&quot;,&quot;handleDefaults&quot;)(t,e,&quot;calendar&quot;,d.calendar)}f(e,p);if(r(&quot;autorange&quot;,!e.isValidRange(t.range))&amp;&amp;r(&quot;rangemode&quot;),r(&quot;range&quot;),e.cleanRange(),c(t,e,r),e._initialCategories=&quot;category&quot;===y?h(m,e.categoryorder,e.categoryarray,d.data):[],!v)return e;var x=r(&quot;color&quot;),b=x===t.color?x:g.color;return r(&quot;title&quot;,p._dfltTitle[m]),i.coerceFont(r,&quot;titlefont&quot;,{family:g.family,size:Math.round(1.2*g.size),color:b}),o(t,e,r,y),l(t,e,r,y,d),s(t,e,r,d),u(t,e,r,{dfltColor:x,bgColor:d.bgColor,showGrid:d.showGrid,attributes:a}),(e.showline||e.ticks)&amp;&amp;r(&quot;mirror&quot;),e}},{&quot;../../lib&quot;:743,&quot;../../registry&quot;:873,&quot;./category_order_defaults&quot;:793,&quot;./layout_attributes&quot;:801,&quot;./line_grid_defaults&quot;:803,&quot;./ordered_categories&quot;:804,&quot;./set_convert&quot;:808,&quot;./tick_label_defaults&quot;:809,&quot;./tick_mark_defaults&quot;:810,&quot;./tick_value_defaults&quot;:811}],792:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../registry&quot;),i=t(&quot;./constants&quot;);r.id2name=function(t){if(&quot;string&quot;==typeof t&amp;&amp;t.match(i.AX_ID_PATTERN)){var e=t.substr(1);return&quot;1&quot;===e&amp;&amp;(e=&quot;&quot;),t.charAt(0)+&quot;axis&quot;+e}},r.name2id=function(t){if(t.match(i.AX_NAME_PATTERN)){var e=t.substr(5);return&quot;1&quot;===e&amp;&amp;(e=&quot;&quot;),t.charAt(0)+e}},r.cleanId=function(t,e){if(t.match(i.AX_ID_PATTERN)&amp;&amp;(!e||t.charAt(0)===e)){var r=t.substr(1).replace(/^0+/,&quot;&quot;);return&quot;1&quot;===r&amp;&amp;(r=&quot;&quot;),t.charAt(0)+r}},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&lt;o.length;a++){var l=o[a];s[a]=i[l.charAt(0)+&quot;axis&quot;+l.substr(1)]}if(!n){var c=i._subplots.gl3d||[];for(a=0;a&lt;c.length;a++){var u=i[c[a]];e?s.push(u[e+&quot;axis&quot;]):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+&quot;axis&quot;]:n.xaxis.concat(n.yaxis)},r.getFromId=function(t,e,n){var i=t._fullLayout;return&quot;x&quot;===n?e=e.replace(/y[0-9]*/,&quot;&quot;):&quot;y&quot;===n&amp;&amp;(e=e.replace(/x[0-9]*/,&quot;&quot;)),i[r.id2name(e)]},r.getFromTrace=function(t,e,i){var a=t._fullLayout,o=null;if(n.traceIs(e,&quot;gl3d&quot;)){var s=e.scene;&quot;scene&quot;===s.substr(0,5)&amp;&amp;(o=a[s][i+&quot;axis&quot;])}else o=r.getFromId(t,e[i+&quot;axis&quot;]||i);return o},r.idSort=function(t,e){var r=t.charAt(0),n=e.charAt(0);return r!==n?r&gt;n?1:-1:+(t.substr(1)||1)-+(e.substr(1)||1)}},{&quot;../../registry&quot;:873,&quot;./constants&quot;:794}],793:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t,e,r){if(&quot;category&quot;===e.type){var n,i=t.categoryarray,a=Array.isArray(i)&amp;&amp;i.length&gt;0;a&amp;&amp;(n=&quot;array&quot;);var o=r(&quot;categoryorder&quot;,n);&quot;array&quot;===o&amp;&amp;r(&quot;categoryarray&quot;),a||&quot;array&quot;!==o||(e.categoryorder=&quot;trace&quot;)}}},{}],794:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib&quot;).counterRegex;e.exports={idRegex:{x:n(&quot;x&quot;),y:n(&quot;y&quot;)},attrRegex:n(&quot;[xy]axis&quot;),xAxisMatch:n(&quot;xaxis&quot;),yAxisMatch:n(&quot;yaxis&quot;),AX_ID_PATTERN:/^[xyz][0-9]*$/,AX_NAME_PATTERN:/^[xyz]axis[0-9]*$/,SUBPLOT_PATTERN:/^x([0-9]*)y([0-9]*)$/,MINDRAG:8,MINSELECT:12,MINZOOM:20,DRAGGERSIZE:20,BENDPX:1.5,REDRAWDELAY:50,SELECTDELAY:100,SELECTID:&quot;-select&quot;,DFLTRANGEX:[-1,6],DFLTRANGEY:[-1,4],traceLayerClasses:[&quot;imagelayer&quot;,&quot;maplayer&quot;,&quot;barlayer&quot;,&quot;carpetlayer&quot;,&quot;violinlayer&quot;,&quot;boxlayer&quot;,&quot;scatterlayer&quot;],layerValue2layerClass:{&quot;above traces&quot;:&quot;above&quot;,&quot;below traces&quot;:&quot;below&quot;}}},{&quot;../../lib&quot;:743}],795:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib&quot;),i=t(&quot;./axis_ids&quot;).id2name;e.exports=function(t,e,r,a,o){var s=o._axisConstraintGroups,l=e._id,c=l.charAt(0);if(!e.fixedrange&amp;&amp;(r(&quot;constrain&quot;),n.coerce(t,e,{constraintoward:{valType:&quot;enumerated&quot;,values:&quot;x&quot;===c?[&quot;left&quot;,&quot;center&quot;,&quot;right&quot;]:[&quot;bottom&quot;,&quot;middle&quot;,&quot;top&quot;],dflt:&quot;x&quot;===c?&quot;center&quot;:&quot;middle&quot;}},&quot;constraintoward&quot;),t.scaleanchor)){var u=function(t,e,r,n){var a,o,s,l,c=n[i(e)].type,u=[];for(o=0;o&lt;r.length;o++)(s=r[o])!==e&amp;&amp;((l=n[i(s)]).type!==c||l.fixedrange||u.push(s));for(a=0;a&lt;t.length;a++)if(t[a][e]){var f=t[a],h=[];for(o=0;o&lt;u.length;o++)f[s=u[o]]||h.push(s);return{linkableAxes:h,thisGroup:f}}return{linkableAxes:u,thisGroup:null}}(s,l,a,o),f=n.coerce(t,e,{scaleanchor:{valType:&quot;enumerated&quot;,values:u.linkableAxes}},&quot;scaleanchor&quot;);if(f){var h=r(&quot;scaleratio&quot;);h||(h=e.scaleratio=1),function(t,e,r,n,i){var a,o,s,l,c;null===e?((e={})[r]=1,c=t.length,t.push(e)):c=t.indexOf(e);var u=Object.keys(e);for(a=0;a&lt;t.length;a++)if(s=t[a],a!==c&amp;&amp;s[n]){var f=s[n];for(o=0;o&lt;u.length;o++)s[l=u[o]]=f*i*e[l];return void t.splice(c,1)}if(1!==i)for(o=0;o&lt;u.length;o++)e[u[o]]*=i;e[n]=1}(s,u.thisGroup,l,f,h)}else-1!==a.indexOf(t.scaleanchor)&amp;&amp;n.warn(&quot;ignored &quot;+e._name+'.scaleanchor: &quot;'+t.scaleanchor+'&quot; to avoid either an infinite loop and possibly inconsistent scaleratios, or because the targetaxis has fixed range.')}}},{&quot;../../lib&quot;:743,&quot;./axis_ids&quot;:792}],796:[function(t,e,r){&quot;use strict&quot;;function n(t,e){var r=t._inputDomain,n=s[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]}var i=t(&quot;./axis_ids&quot;).id2name,a=t(&quot;./scale_zoom&quot;),o=t(&quot;../../constants/numerical&quot;).ALMOST_EQUAL,s=t(&quot;../../constants/alignment&quot;).FROM_BL;r.enforce=function(t){var e,r,s,l,c,u,f,h=t._fullLayout,d=h._axisConstraintGroups||[];for(e=0;e&lt;d.length;e++){var p=d[e],m=Object.keys(p),g=1/0,v=0,y=1/0,x={},b={},_=!1;for(r=0;r&lt;m.length;r++)b[s=m[r]]=l=h[i(s)],l._inputDomain?l.domain=l._inputDomain.slice():l._inputDomain=l.domain.slice(),l._inputRange||(l._inputRange=l.range.slice()),l.setScale(),x[s]=c=Math.abs(l._m)/p[s],g=Math.min(g,c),&quot;domain&quot;!==l.constrain&amp;&amp;l._constraintShrinkable||(y=Math.min(y,c)),delete l._constraintShrinkable,v=Math.max(v,c),&quot;domain&quot;===l.constrain&amp;&amp;(_=!0);if(!(g&gt;o*v)||_)for(r=0;r&lt;m.length;r++)if(s=m[r],c=x[s],l=b[s],u=l.constrain,c!==y||&quot;domain&quot;===u)if(f=c/y,&quot;range&quot;===u)a(l,f);else{var w=l._inputDomain,M=(l.domain[1]-l.domain[0])/(w[1]-w[0]),k=(l.r2l(l.range[1])-l.r2l(l.range[0]))/(l.r2l(l._inputRange[1])-l.r2l(l._inputRange[0]));if((f/=M)*k&lt;1){l.domain=l._input.domain=w.slice(),a(l,f);continue}if(k&lt;1&amp;&amp;(l.range=l._input.range=l._inputRange.slice(),f*=k),l.autorange&amp;&amp;l._min.length&amp;&amp;l._max.length){var A=l.r2l(l.range[0]),T=l.r2l(l.range[1]),S=(A+T)/2,E=S,L=S,C=Math.abs(T-S),z=S-C*f*1.0001,D=S+C*f*1.0001;n(l,f),l.setScale();var I,P,O=Math.abs(l._m);for(P=0;P&lt;l._min.length;P++)(I=l._min[P].val-l._min[P].pad/O)&gt;z&amp;&amp;I&lt;E&amp;&amp;(E=I);for(P=0;P&lt;l._max.length;P++)(I=l._max[P].val+l._max[P].pad/O)&lt;D&amp;&amp;I&gt;L&amp;&amp;(L=I);f/=(L-E)/(2*C),E=l.l2r(E),L=l.l2r(L),l.range=l._input.range=A&lt;T?[E,L]:[L,E]}n(l,f)}}},r.clean=function(t,e){if(e._inputDomain){for(var r=!1,n=e._id,i=t._fullLayout._axisConstraintGroups,a=0;a&lt;i.length;a++)if(i[a][n]){r=!0;break}r&amp;&amp;&quot;domain&quot;===e.constrain||(e._input.domain=e.domain=e._inputDomain,delete e._inputDomain)}}},{&quot;../../constants/alignment&quot;:716,&quot;../../constants/numerical&quot;:721,&quot;./axis_ids&quot;:792,&quot;./scale_zoom&quot;:806}],797:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,n){var i=t.draglayer.selectAll(&quot;.&quot;+r).data([0]);return i.enter().append(e).classed(&quot;drag&quot;,!0).classed(r,!0).style({fill:&quot;transparent&quot;,&quot;stroke-width&quot;:0}).attr(&quot;data-subplot&quot;,t.id),i.call(S,n),i.node()}function i(t,e,r,i,a,o,s){var l=n(t,&quot;rect&quot;,e,r);return y.select(l).call(A.setRect,i,a,o,s),l}function a(t,e){for(var r=0;r&lt;t.length;r++)if(!t[r].fixedrange)return e;return&quot;&quot;}function o(t,e,r,n,i){var a,s,l,c;for(a=0;a&lt;t.length;a++)(s=t[a]).fixedrange||(l=s._rl[0],c=s._rl[1]-l,s.range=[s.l2r(l+c*e),s.l2r(l+c*r)],n[s._name+&quot;.range[0]&quot;]=s.range[0],n[s._name+&quot;.range[1]&quot;]=s.range[1]);if(i&amp;&amp;i.length){var u=(e+(1-r))/2;o(i,u,1-u,n)}}function s(t,e){for(var r=0;r&lt;t.length;r++){var n=t[r];n.fixedrange||(n.range=[n.l2r(n._rl[0]-e/n._m),n.l2r(n._rl[1]-e/n._m)])}}function l(t,e,r,n,i){return t.append(&quot;path&quot;).attr(&quot;class&quot;,&quot;zoombox&quot;).style({fill:e&gt;.2?&quot;rgba(0,0,0,0)&quot;:&quot;rgba(255,255,255,0)&quot;,&quot;stroke-width&quot;:0}).attr(&quot;transform&quot;,&quot;translate(&quot;+r+&quot;, &quot;+n+&quot;)&quot;).attr(&quot;d&quot;,i+&quot;Z&quot;)}function c(t,e,r){return t.append(&quot;path&quot;).attr(&quot;class&quot;,&quot;zoombox-corners&quot;).style({fill:k.background,stroke:k.defaultLine,&quot;stroke-width&quot;:1,opacity:0}).attr(&quot;transform&quot;,&quot;translate(&quot;+e+&quot;, &quot;+r+&quot;)&quot;).attr(&quot;d&quot;,&quot;M0,0Z&quot;)}function u(t){t.selectAll(&quot;.select-outline&quot;).remove()}function f(t,e,r,n,i,a){t.attr(&quot;d&quot;,n+&quot;M&quot;+r.l+&quot;,&quot;+r.t+&quot;v&quot;+r.h+&quot;h&quot;+r.w+&quot;v-&quot;+r.h+&quot;h-&quot;+r.w+&quot;Z&quot;),h(t,e,i,a)}function h(t,e,r,n){r||(t.transition().style(&quot;fill&quot;,n&gt;.2?&quot;rgba(0,0,0,0.4)&quot;:&quot;rgba(255,255,255,0.3)&quot;).duration(200),e.transition().style(&quot;opacity&quot;,1).duration(200))}function d(t){y.select(t).selectAll(&quot;.zoombox,.js-zoombox-backdrop,.js-zoombox-menu,.zoombox-corners&quot;).remove()}function p(t){j&amp;&amp;t.data&amp;&amp;t._context.showTips&amp;&amp;(w.notifier(w._(t,&quot;Double-click to zoom back out&quot;),&quot;long&quot;),j=!1)}function m(t){return&quot;lasso&quot;===t||&quot;select&quot;===t}function g(t){var e=Math.floor(Math.min(t.b-t.t,t.r-t.l,R)/2);return&quot;M&quot;+(t.l-3.5)+&quot;,&quot;+(t.t-.5+e)+&quot;h3v&quot;+-e+&quot;h&quot;+e+&quot;v-3h-&quot;+(e+3)+&quot;ZM&quot;+(t.r+3.5)+&quot;,&quot;+(t.t-.5+e)+&quot;h-3v&quot;+-e+&quot;h&quot;+-e+&quot;v-3h&quot;+(e+3)+&quot;ZM&quot;+(t.r+3.5)+&quot;,&quot;+(t.b+.5-e)+&quot;h-3v&quot;+e+&quot;h&quot;+-e+&quot;v3h&quot;+(e+3)+&quot;ZM&quot;+(t.l-3.5)+&quot;,&quot;+(t.b+.5-e)+&quot;h3v&quot;+e+&quot;h&quot;+e+&quot;v3h-&quot;+(e+3)+&quot;Z&quot;}function v(t,e){if(N){var r=void 0!==t.onwheel?&quot;wheel&quot;:&quot;mousewheel&quot;;t._onwheel&amp;&amp;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&amp;&amp;(t.onmousewheel=e)}var y=t(&quot;d3&quot;),x=t(&quot;tinycolor2&quot;),b=t(&quot;../../plotly&quot;),_=t(&quot;../../registry&quot;),w=t(&quot;../../lib&quot;),M=t(&quot;../../lib/svg_text_utils&quot;),k=t(&quot;../../components/color&quot;),A=t(&quot;../../components/drawing&quot;),T=t(&quot;../../components/fx&quot;),S=t(&quot;../../lib/setcursor&quot;),E=t(&quot;../../components/dragelement&quot;),L=t(&quot;../../constants/alignment&quot;).FROM_TL,C=t(&quot;../plots&quot;),z=t(&quot;./axes&quot;).doTicks,D=t(&quot;./axis_ids&quot;).getFromId,I=t(&quot;./select&quot;),P=t(&quot;./scale_zoom&quot;),O=t(&quot;./constants&quot;),F=O.MINDRAG,R=O.MINZOOM,N=w.eventListenerOptionsSupported(),j=!0;e.exports={makeDragBox:function(t,e,r,n,h,k,S,N){function j(){X=[e.xaxis],Z=[e.yaxis];var r=X[0],n=Z[0];Q=r._length,$=n._length;var i=ot._axisConstraintGroups,o=[r._id],s=[n._id];W=[e].concat(S&amp;&amp;N?e.overlays:[]);for(var l=1;l&lt;W.length;l++){var c=W[l].xaxis,u=W[l].yaxis;-1===X.indexOf(c)&amp;&amp;(X.push(c),o.push(c._id)),-1===Z.indexOf(u)&amp;&amp;(Z.push(u),s.push(u._id))}tt=a(X,N),et=a(Z,S),rt=function(t,e){return t?&quot;nsew&quot;===t?&quot;pan&quot;===e?&quot;move&quot;:&quot;crosshair&quot;:t.toLowerCase()+&quot;-resize&quot;:&quot;pointer&quot;}(et+tt,ot.dragmode),J=r._offset,K=n._offset;var f=function(t,e,r){var n,i,a,o,s,l,c=!1,u={},f={};for(n=0;n&lt;t.length;n++){for(o=t[n],i=0;i&lt;e.length;i++)if(o[e[i]]){for(s in o)-1===(&quot;x&quot;===s.charAt(0)?e:r).indexOf(s)&amp;&amp;(u[s]=1);for(a=0;a&lt;r.length;a++)o[r[a]]&amp;&amp;(c=!0)}for(i=0;i&lt;r.length;i++)if(o[r[i]])for(l in o)-1===(&quot;x&quot;===l.charAt(0)?e:r).indexOf(l)&amp;&amp;(f[l]=1)}return c&amp;&amp;(w.extendFlat(u,f),f={}),{x:u,y:f,xy:c}}(i,o,s);nt=f.xy,it=[];for(var h in f.x)it.push(D(t,h));at=[];for(var d in f.y)at.push(D(t,d))}function B(e,r){function n(){xt=&quot;&quot;,mt.r=mt.l,mt.t=mt.b,_t.attr(&quot;d&quot;,&quot;M0,0Z&quot;)}if(t._transitioningWithDuration)return!1;var i=Math.max(0,Math.min(Q,e+dt)),a=Math.max(0,Math.min($,r+pt)),o=Math.abs(i-dt),s=Math.abs(a-pt);mt.l=Math.min(dt,i),mt.r=Math.max(dt,i),mt.t=Math.min(pt,a),mt.b=Math.max(pt,a),nt?o&gt;R||s&gt;R?(xt=&quot;xy&quot;,o/Q&gt;s/$?(s=o*$/Q,pt&gt;a?mt.t=pt-s:mt.b=pt+s):(o=s*Q/$,dt&gt;i?mt.l=dt-o:mt.r=dt+o),_t.attr(&quot;d&quot;,g(mt))):n():!et||s&lt;Math.min(Math.max(.6*o,F),R)?o&lt;F?n():(mt.t=0,mt.b=$,xt=&quot;x&quot;,_t.attr(&quot;d&quot;,function(t,e){return&quot;M&quot;+(t.l-.5)+&quot;,&quot;+(e-R-.5)+&quot;h-3v&quot;+(2*R+1)+&quot;h3ZM&quot;+(t.r+.5)+&quot;,&quot;+(e-R-.5)+&quot;h3v&quot;+(2*R+1)+&quot;h-3Z&quot;}(mt,pt))):!tt||o&lt;Math.min(.6*s,R)?(mt.l=0,mt.r=Q,xt=&quot;y&quot;,_t.attr(&quot;d&quot;,function(t,e){return&quot;M&quot;+(e-R-.5)+&quot;,&quot;+(t.t-.5)+&quot;v-3h&quot;+(2*R+1)+&quot;v3ZM&quot;+(e-R-.5)+&quot;,&quot;+(t.b+.5)+&quot;v3h&quot;+(2*R+1)+&quot;v-3Z&quot;}(mt,dt))):(xt=&quot;xy&quot;,_t.attr(&quot;d&quot;,g(mt))),mt.w=mt.r-mt.l,mt.h=mt.b-mt.t,f(bt,_t,mt,vt,yt,gt),yt=!0}function U(){if(Math.min(mt.h,mt.w)&lt;2*F)return d(t);&quot;xy&quot;!==xt&amp;&amp;&quot;x&quot;!==xt||o(X,mt.l/Q,mt.r/Q,wt,it),&quot;xy&quot;!==xt&amp;&amp;&quot;y&quot;!==xt||o(Z,($-mt.b)/$,($-mt.t)/$,wt,at),d(t),G(),p(t)}function V(e){function r(t,e,r){if(!t.fixedrange){var n=w.simpleMap(t.range,t.r2l),i=n[0]+(n[1]-n[0])*e;t.range=n.map(function(e){return t.l2r(i+(e-i)*r)})}}if(t._context.scrollZoom||ot._enablescrollzoom){if(t._transitioningWithDuration)return w.pauseEvent(e);var n=t.querySelector(&quot;.plotly&quot;);if(j(),!(n.scrollHeight-n.clientHeight&gt;10||n.scrollWidth-n.clientWidth&gt;10)){clearTimeout(kt);var i=-e.deltaY;if(isFinite(i)||(i=e.wheelDelta/10),isFinite(i)){var a,o=Math.exp(-Math.min(Math.max(i,-20),20)/200),s=Tt.draglayer.select(&quot;.nsewdrag&quot;).node().getBoundingClientRect(),l=(e.clientX-s.left)/s.width,c=(s.bottom-e.clientY)/s.height;if(N||nt){for(N||(l=.5),a=0;a&lt;X.length;a++)r(X[a],l,o);Mt[2]*=o,Mt[0]+=Mt[2]*l*(1/o-1)}if(S||nt){for(S||(c=.5),a=0;a&lt;Z.length;a++)r(Z[a],c,o);Mt[3]*=o,Mt[1]+=Mt[3]*(1-c)*(1/o-1)}return Y(Mt),H(S,N),kt=setTimeout(function(){Mt=[0,0,Q,$],G()},At),w.pauseEvent(e)}w.log(&quot;Did not find wheel motion attributes: &quot;,e)}}}function q(e,r){function n(t,e,r){for(var n,i,a=1-e,o=0;o&lt;t.length;o++){var s=t[o];if(!s.fixedrange){n=s,i=s._rl[a]+(s._rl[e]-s._rl[a])/function(t){return 1-(t&gt;=0?Math.min(t,.9):1/(1/Math.max(t,-.3)+3.222))}(r/s._length);var l=s.l2r(i);!1!==l&amp;&amp;void 0!==l&amp;&amp;(s.range[e]=l)}}return n._length*(n._rl[e]-i)/(n._rl[e]-n._rl[a])}if(!t._transitioningWithDuration){if(j(),&quot;ew&quot;===tt||&quot;ns&quot;===et)return tt&amp;&amp;s(X,e),et&amp;&amp;s(Z,r),Y([tt?-e:0,et?-r:0,Q,$]),void H(et,tt);if(nt&amp;&amp;tt&amp;&amp;et){var i=&quot;w&quot;===tt==(&quot;n&quot;===et)?1:-1,a=(e/Q+i*r/$)/2;e=a*Q,r=i*a*$}&quot;w&quot;===tt?e=n(X,0,e):&quot;e&quot;===tt?e=n(X,1,-e):tt||(e=0),&quot;n&quot;===et?r=n(Z,1,r):&quot;s&quot;===et?r=n(Z,0,-r):et||(r=0);var o=&quot;w&quot;===tt?e:0,l=&quot;n&quot;===et?r:0;if(nt){var c;if(!tt&amp;&amp;1===et.length){for(c=0;c&lt;X.length;c++)X[c].range=X[c]._r.slice(),P(X[c],1-r/$);o=(e=r*Q/$)/2}if(!et&amp;&amp;1===tt.length){for(c=0;c&lt;Z.length;c++)Z[c].range=Z[c]._r.slice(),P(Z[c],1-e/Q);l=(r=e*$/Q)/2}}Y([o,l,Q-e,$-r]),H(et,tt)}}function H(e,r){function n(t){for(a=0;a&lt;t.length;a++)t[a].fixedrange||o.push(t[a]._id)}function i(n,i,s){for(a=0;a&lt;n.length;a++){var l=n[a];if((r&amp;&amp;-1!==o.indexOf(l.xref)||e&amp;&amp;-1!==o.indexOf(l.yref))&amp;&amp;(i(t,a),s))return}}var a,o=[];for((r||nt)&amp;&amp;(n(X),n(it)),(e||nt)&amp;&amp;(n(Z),n(at)),wt={},a=0;a&lt;o.length;a++){var s=o[a];z(t,s,!0);var l=D(t,s);wt[l._name+&quot;.range[0]&quot;]=l.range[0],wt[l._name+&quot;.range[1]&quot;]=l.range[1]}i(ot.annotations||[],_.getComponentMethod(&quot;annotations&quot;,&quot;drawOne&quot;)),i(ot.shapes||[],_.getComponentMethod(&quot;shapes&quot;,&quot;drawOne&quot;)),i(ot.images||[],_.getComponentMethod(&quot;images&quot;,&quot;draw&quot;),!0)}function G(){Y([0,0,Q,$]),w.syncOrAsync([C.previousPromises,function(){b.relayout(t,wt)}],t)}function Y(t){function e(t){return t.fixedrange?0:d&amp;&amp;-1!==it.indexOf(t)?f:p&amp;&amp;-1!==(nt?it:at).indexOf(t)?h:0}function r(t,e){return e?(t.range=t._r.slice(),P(t,e),n(t,e)):0}function n(t,e){return t._length*(1-e)*L[t.constraintoward||&quot;middle&quot;]}var i,a,o,s,l,c=ot._plots,u=Object.keys(c),f=t[2]/X[0]._length,h=t[3]/Z[0]._length,d=N||nt,p=S||nt;for(ot._glcanvas&amp;&amp;ot._glcanvas.size()&amp;&amp;ot._glcanvas.each(function(t){t.regl&amp;&amp;t.regl.clear({color:!0})}),i=0;i&lt;u.length;i++){var m=c[u[i]],g=m.xaxis,v=m.yaxis,y=d&amp;&amp;!g.fixedrange&amp;&amp;-1!==X.indexOf(g),x=p&amp;&amp;!v.fixedrange&amp;&amp;-1!==Z.indexOf(v);if(m._scene&amp;&amp;m._scene.update){var b=w.simpleMap(g.range,g.r2l),_=w.simpleMap(v.range,v.r2l);m._scene.update({range:[b[0],_[0],b[1],_[1]]})}if(y?(a=f,s=N?t[0]:n(g,a)):s=r(g,a=e(g)),x?(o=h,l=S?t[1]:n(v,o)):l=r(v,o=e(v)),a||o){a||(a=1),o||(o=1);var M=g._offset-s/a,k=v._offset-l/o;ot._defs.select(&quot;#&quot;+m.clipId+&quot;&gt; rect&quot;).call(A.setTranslate,s,l).call(A.setScale,a,o);var T=m.plot.selectAll(&quot;.scatterlayer .trace, .boxlayer .trace, .violinlayer .trace&quot;);m.plot.call(A.setTranslate,M,k).call(A.setScale,1/a,1/o),T.selectAll(&quot;.point&quot;).call(A.setPointGroupScale,a,o),T.selectAll(&quot;.textpoint&quot;).call(A.setTextPointsScale,a,o),T.call(A.hideOutsideRangePoints,m)}}}var W,X,Z,J,K,Q,$,tt,et,rt,nt,it,at,ot=t._fullLayout,st=t._fullLayout._zoomlayer,lt=S+N===&quot;nsew&quot;,ct=1===(S+N).length;j();var ut=i(e,S+N+&quot;drag&quot;,rt,r,n,h,k),ft=!et&amp;&amp;!tt;if(ft&amp;&amp;!lt)return ut.onmousedown=null,ut.style.pointerEvents=&quot;none&quot;,ut;var ht={element:ut,gd:t,plotinfo:e,prepFn:function(e,r,n){var i=t._fullLayout.dragmode;ft||(lt?e.shiftKey?&quot;pan&quot;===i?i=&quot;zoom&quot;:m(i)||(i=&quot;pan&quot;):e.ctrlKey&amp;&amp;(i=&quot;pan&quot;):i=&quot;pan&quot;),ht.minDrag=&quot;lasso&quot;===i?1:void 0,m(i)?(ht.xaxes=X,ht.yaxes=Z,I(e,r,n,ht,i)):ft?u(st):&quot;zoom&quot;===i?(ht.moveFn=B,ht.doneFn=U,ht.minDrag=1,function(e,r,n){var i=ut.getBoundingClientRect();dt=r-i.left,pt=n-i.top,mt={l:dt,r:dt,w:0,t:pt,b:pt,h:0},gt=t._hmpixcount?t._hmlumcount/t._hmpixcount:x(t._fullLayout.plot_bgcolor).getLuminance(),yt=!1,xt=&quot;xy&quot;,bt=l(st,gt,J,K,vt=&quot;M0,0H&quot;+Q+&quot;V&quot;+$+&quot;H0V0&quot;),_t=c(st,J,K),u(st)}(0,r,n)):&quot;pan&quot;===i&amp;&amp;(ht.moveFn=q,ht.doneFn=G,u(st))},clickFn:function(r,n){if(d(t),2!==r||ct||function(){if(!t._transitioningWithDuration){var e,r,n,i=t._context.doubleClick,a=(tt?X:[]).concat(et?Z:[]),o={};if(&quot;reset+autosize&quot;===i)for(i=&quot;autosize&quot;,r=0;r&lt;a.length;r++)if((e=a[r])._rangeInitial&amp;&amp;(e.range[0]!==e._rangeInitial[0]||e.range[1]!==e._rangeInitial[1])||!e._rangeInitial&amp;&amp;!e.autorange){i=&quot;reset&quot;;break}if(&quot;autosize&quot;===i)for(r=0;r&lt;a.length;r++)(e=a[r]).fixedrange||(o[e._name+&quot;.autorange&quot;]=!0);else if(&quot;reset&quot;===i)for((tt||nt)&amp;&amp;(a=a.concat(it)),et&amp;&amp;!nt&amp;&amp;(a=a.concat(at)),nt&amp;&amp;(tt?et||(a=a.concat(Z)):a=a.concat(X)),r=0;r&lt;a.length;r++)(e=a[r])._rangeInitial?(n=e._rangeInitial,o[e._name+&quot;.range[0]&quot;]=n[0],o[e._name+&quot;.range[1]&quot;]=n[1]):o[e._name+&quot;.autorange&quot;]=!0;t.emit(&quot;plotly_doubleclick&quot;,null),b.relayout(t,o)}}(),lt)T.click(t,n,e.id);else if(1===r&amp;&amp;ct){var i=S?Z[0]:X[0],a=&quot;s&quot;===S||&quot;w&quot;===N?0:1,o=i._name+&quot;.range[&quot;+a+&quot;]&quot;,s=function(t,e){var r,n=t.range[e],i=Math.abs(n-t.range[1-e]);return&quot;date&quot;===t.type?n:&quot;log&quot;===t.type?(r=Math.ceil(Math.max(0,-Math.log(i)/Math.LN10))+3,y.format(&quot;.&quot;+r+&quot;g&quot;)(Math.pow(10,n))):(r=Math.floor(Math.log(Math.abs(n))/Math.LN10)-Math.floor(Math.log(i)/Math.LN10)+4,y.format(&quot;.&quot;+String(r)+&quot;g&quot;)(n))}(i,a),l=&quot;left&quot;,c=&quot;middle&quot;;if(i.fixedrange)return;S?(c=&quot;n&quot;===S?&quot;top&quot;:&quot;bottom&quot;,&quot;right&quot;===i.side&amp;&amp;(l=&quot;right&quot;)):&quot;e&quot;===N&amp;&amp;(l=&quot;right&quot;),t._context.showAxisRangeEntryBoxes&amp;&amp;y.select(ut).call(M.makeEditable,{gd:t,immediate:!0,background:ot.paper_bgcolor,text:String(s),fill:i.tickfont?i.tickfont.color:&quot;#444&quot;,horizontalAlign:l,verticalAlign:c}).on(&quot;edit&quot;,function(e){var r=i.d2r(e);void 0!==r&amp;&amp;b.relayout(t,o,r)})}}};E.init(ht);var dt,pt,mt,gt,vt,yt,xt,bt,_t,wt={},Mt=[0,0,Q,$],kt=null,At=O.REDRAWDELAY,Tt=e.mainplot?ot._plots[e.mainplot]:e;return S.length*N.length!=1&amp;&amp;v(ut,V),ut},makeDragger:n,makeRectDragger:i,makeZoombox:l,makeCorners:c,updateZoombox:f,xyCorners:g,transitionZoombox:h,removeZoombox:d,clearSelect:u,showDoubleClickNotifier:p,attachWheelEventHandler:v}},{&quot;../../components/color&quot;:618,&quot;../../components/dragelement&quot;:640,&quot;../../components/drawing&quot;:643,&quot;../../components/fx&quot;:660,&quot;../../constants/alignment&quot;:716,&quot;../../lib&quot;:743,&quot;../../lib/setcursor&quot;:762,&quot;../../lib/svg_text_utils&quot;:766,&quot;../../plotly&quot;:784,&quot;../../registry&quot;:873,&quot;../plots&quot;:852,&quot;./axes&quot;:789,&quot;./axis_ids&quot;:792,&quot;./constants&quot;:794,&quot;./scale_zoom&quot;:806,&quot;./select&quot;:807,d3:128,tinycolor2:546}],798:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../components/fx&quot;),i=t(&quot;../../components/dragelement&quot;),a=t(&quot;./constants&quot;),o=t(&quot;./dragbox&quot;).makeDragBox;e.exports=function(t){var e=t._fullLayout;if((e._has(&quot;cartesian&quot;)||e._has(&quot;gl2d&quot;))&amp;&amp;!t._context.staticPlot){Object.keys(e._plots||{}).sort(function(t,r){if((e._plots[t].mainplot&amp;&amp;!0)===(e._plots[r].mainplot&amp;&amp;!0)){var n=t.split(&quot;y&quot;),i=r.split(&quot;y&quot;);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 s=e._plots[r],l=s.xaxis,c=s.yaxis,u=a.DRAGGERSIZE;if(!s.mainplot){var f=o(t,s,l._offset,c._offset,l._length,c._length,&quot;ns&quot;,&quot;ew&quot;);f.onmousemove=function(e){t._fullLayout._rehover=function(){t._fullLayout._hoversubplot===r&amp;&amp;n.hover(t,e,r)},n.hover(t,e,r),t._fullLayout._lasthover=f,t._fullLayout._hoversubplot=r},f.onmouseout=function(e){t._dragging||(t._fullLayout._hoversubplot=null,i.unhover(t,e))},t._context.showAxisDragHandles&amp;&amp;(o(t,s,l._offset-u,c._offset-u,u,u,&quot;n&quot;,&quot;w&quot;),o(t,s,l._offset+l._length,c._offset-u,u,u,&quot;n&quot;,&quot;e&quot;),o(t,s,l._offset-u,c._offset+c._length,u,u,&quot;s&quot;,&quot;w&quot;),o(t,s,l._offset+l._length,c._offset+c._length,u,u,&quot;s&quot;,&quot;e&quot;))}if(t._context.showAxisDragHandles){if(r===l._mainSubplot){var h=l._mainLinePosition;&quot;top&quot;===l.side&amp;&amp;(h-=u),o(t,s,l._offset+.1*l._length,h,.8*l._length,u,&quot;&quot;,&quot;ew&quot;),o(t,s,l._offset,h,.1*l._length,u,&quot;&quot;,&quot;w&quot;),o(t,s,l._offset+.9*l._length,h,.1*l._length,u,&quot;&quot;,&quot;e&quot;)}if(r===c._mainSubplot){var d=c._mainLinePosition;&quot;right&quot;!==c.side&amp;&amp;(d-=u),o(t,s,d,c._offset+.1*c._length,u,.8*c._length,&quot;ns&quot;,&quot;&quot;),o(t,s,d,c._offset+.9*c._length,u,.1*c._length,&quot;s&quot;,&quot;&quot;),o(t,s,d,c._offset,u,.1*c._length,&quot;n&quot;,&quot;&quot;)}}});var r=e._hoverlayer.node();r.onmousemove=function(r){r.target=e._lasthover,n.hover(t,r,e._hoversubplot)},r.onclick=function(r){r.target=e._lasthover,n.click(t,r)},r.onmousedown=function(t){e._lasthover.onmousedown(t)}}}},{&quot;../../components/dragelement&quot;:640,&quot;../../components/fx&quot;:660,&quot;./constants&quot;:794,&quot;./dragbox&quot;:797}],799:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../registry&quot;),i=t(&quot;../../lib&quot;);e.exports=function(t){return function(e,r){var a=e[t];if(Array.isArray(a))for(var o=n.subplotsRegistry.cartesian,s=o.idRegex,l=r._subplots,c=l.xaxis,u=l.yaxis,f=l.cartesian,h=r._has(&quot;cartesian&quot;)||r._has(&quot;gl2d&quot;),d=0;d&lt;a.length;d++){var p=a[d];if(i.isPlainObject(p)){var m=p.xref,g=p.yref,v=s.x.test(m),y=s.y.test(g);if(v||y){h||i.pushUnique(r._basePlotModules,o);var x=!1;v&amp;&amp;-1===c.indexOf(m)&amp;&amp;(c.push(m),x=!0),y&amp;&amp;-1===u.indexOf(g)&amp;&amp;(u.push(g),x=!0),x&amp;&amp;v&amp;&amp;y&amp;&amp;f.push(m+g)}}}}}},{&quot;../../lib&quot;:743,&quot;../../registry&quot;:873}],800:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,n,i){var a=t._fullLayout._modules;e.plot&amp;&amp;e.plot.selectAll(&quot;g:not(.scatterlayer)&quot;).selectAll(&quot;g.trace&quot;).remove();for(var o=0;o&lt;a.length;o++){var s=a[o];if(&quot;cartesian&quot;===s.basePlotModule.name){var l=u(r,s);s.plot&amp;&amp;s.plot(t,e,l,n,i)}}}function i(t){var e=t.plotgroup,r=t.id,n=h.layerValue2layerClass[t.xaxis.layer],i=h.layerValue2layerClass[t.yaxis.layer];if(t.mainplot){var a=t.mainplotinfo,s=a.plotgroup,l=r+&quot;-x&quot;,c=r+&quot;-y&quot;;t.gridlayer=a.gridlayer,t.zerolinelayer=a.zerolinelayer,o(a.overlinesBelow,&quot;path&quot;,l),o(a.overlinesBelow,&quot;path&quot;,c),o(a.overaxesBelow,&quot;g&quot;,l),o(a.overaxesBelow,&quot;g&quot;,c),t.plot=o(a.overplot,&quot;g&quot;,r),o(a.overlinesAbove,&quot;path&quot;,l),o(a.overlinesAbove,&quot;path&quot;,c),o(a.overaxesAbove,&quot;g&quot;,l),o(a.overaxesAbove,&quot;g&quot;,c),t.xlines=s.select(&quot;.overlines-&quot;+n).select(&quot;.&quot;+l),t.ylines=s.select(&quot;.overlines-&quot;+i).select(&quot;.&quot;+c),t.xaxislayer=s.select(&quot;.overaxes-&quot;+n).select(&quot;.&quot;+l),t.yaxislayer=s.select(&quot;.overaxes-&quot;+i).select(&quot;.&quot;+c)}else{var u=o(e,&quot;g&quot;,&quot;layer-subplot&quot;);t.shapelayer=o(u,&quot;g&quot;,&quot;shapelayer&quot;),t.imagelayer=o(u,&quot;g&quot;,&quot;imagelayer&quot;),t.gridlayer=o(e,&quot;g&quot;,&quot;gridlayer&quot;),t.zerolinelayer=o(e,&quot;g&quot;,&quot;zerolinelayer&quot;),o(e,&quot;path&quot;,&quot;xlines-below&quot;),o(e,&quot;path&quot;,&quot;ylines-below&quot;),t.overlinesBelow=o(e,&quot;g&quot;,&quot;overlines-below&quot;),o(e,&quot;g&quot;,&quot;xaxislayer-below&quot;),o(e,&quot;g&quot;,&quot;yaxislayer-below&quot;),t.overaxesBelow=o(e,&quot;g&quot;,&quot;overaxes-below&quot;),t.plot=o(e,&quot;g&quot;,&quot;plot&quot;),t.overplot=o(e,&quot;g&quot;,&quot;overplot&quot;),o(e,&quot;path&quot;,&quot;xlines-above&quot;),o(e,&quot;path&quot;,&quot;ylines-above&quot;),t.overlinesAbove=o(e,&quot;g&quot;,&quot;overlines-above&quot;),o(e,&quot;g&quot;,&quot;xaxislayer-above&quot;),o(e,&quot;g&quot;,&quot;yaxislayer-above&quot;),t.overaxesAbove=o(e,&quot;g&quot;,&quot;overaxes-above&quot;),t.xlines=e.select(&quot;.xlines-&quot;+n),t.ylines=e.select(&quot;.ylines-&quot;+i),t.xaxislayer=e.select(&quot;.xaxislayer-&quot;+n),t.yaxislayer=e.select(&quot;.yaxislayer-&quot;+i)}o(t.gridlayer,&quot;g&quot;,t.xaxis._id,t.xaxis._id),o(t.gridlayer,&quot;g&quot;,t.yaxis._id,t.yaxis._id),t.gridlayer.selectAll(&quot;g&quot;).sort(f.idSort);for(var d=0;d&lt;h.traceLayerClasses.length;d++)o(t.plot,&quot;g&quot;,h.traceLayerClasses[d]);t.xlines.style(&quot;fill&quot;,&quot;none&quot;).classed(&quot;crisp&quot;,!0),t.ylines.style(&quot;fill&quot;,&quot;none&quot;).classed(&quot;crisp&quot;,!0)}function a(t,e){if(t){var r={};t.each(function(t){var n=s.select(this),i=&quot;clip&quot;+e._uid+t+&quot;plot&quot;;n.remove(),e._draggers.selectAll(&quot;g.&quot;+t).remove(),e._defs.select(&quot;#&quot;+i).remove(),r[t]=!0});for(var n=e._plots,i=Object.keys(n),a=0;a&lt;i.length;a++)for(var o=n[i[a]].overlays||[],l=0;l&lt;o.length;l++){var c=o[l];r[c.id]&amp;&amp;c.plot.selectAll(&quot;.trace&quot;).remove()}}}function o(t,e,r,n){var i=t.selectAll(&quot;.&quot;+r).data([n||0]);return i.enter().append(e).classed(r,!0),i}var s=t(&quot;d3&quot;),l=t(&quot;../../lib&quot;),c=t(&quot;../plots&quot;),u=t(&quot;../get_data&quot;).getModuleCalcData,f=t(&quot;./axis_ids&quot;),h=t(&quot;./constants&quot;),d=t(&quot;../../constants/xmlns_namespaces&quot;);r.name=&quot;cartesian&quot;,r.attr=[&quot;xaxis&quot;,&quot;yaxis&quot;],r.idRoot=[&quot;x&quot;,&quot;y&quot;],r.idRegex=h.idRegex,r.attrRegex=h.attrRegex,r.attributes=t(&quot;./attributes&quot;),r.layoutAttributes=t(&quot;./layout_attributes&quot;),r.supplyLayoutDefaults=t(&quot;./layout_defaults&quot;),r.transitionAxes=t(&quot;./transition_axes&quot;),r.finalizeSubplots=function(t,e){var r,n,i,a=e._subplots,o=a.xaxis,s=a.yaxis,c=a.cartesian,u=c.concat(a.gl2d||[]),d={},p={};for(r=0;r&lt;u.length;r++){var m=u[r].split(&quot;y&quot;);d[m[0]]=1,p[&quot;y&quot;+m[1]]=1}for(r=0;r&lt;o.length;r++)d[n=o[r]]||(i=(t[f.id2name(n)]||{}).anchor,h.idRegex.y.test(i)||(i=&quot;y&quot;),c.push(n+i),u.push(n+i),p[i]||(p[i]=1,l.pushUnique(s,i)));for(r=0;r&lt;s.length;r++)p[i=s[r]]||(n=(t[f.id2name(i)]||{}).anchor,h.idRegex.x.test(n)||(n=&quot;x&quot;),c.push(n+i),u.push(n+i),d[n]||(d[n]=1,l.pushUnique(o,n)));if(!u.length){var g=Object.keys(t);for(n=&quot;&quot;,i=&quot;&quot;,r=0;r&lt;g.length;r++){var v=g[r];if(h.attrRegex.test(v)){&quot;x&quot;===v.charAt(0)?(!n||+v.substr(5)&lt;+n.substr(5))&amp;&amp;(n=v):(!i||+v.substr(5)&lt;+i.substr(5))&amp;&amp;(i=v)}}n=n?f.name2id(n):&quot;x&quot;,i=i?f.name2id(i):&quot;y&quot;,o.push(n),s.push(i),c.push(n+i)}},r.plot=function(t,e,r,i){var a,o=t._fullLayout,s=o._subplots.cartesian,l=t.calcdata;if(!Array.isArray(e))for(e=[],a=0;a&lt;l.length;a++)e.push(a);for(o._glcanvas&amp;&amp;o._glcanvas.size()&amp;&amp;o._glcanvas.each(function(t){t.regl&amp;&amp;t.regl.clear({color:!0})}),a=0;a&lt;s.length;a++){for(var c,u=s[a],f=o._plots[u],h=[],d=0;d&lt;l.length;d++){var p=l[d],m=p[0].trace;m.xaxis+m.yaxis===u&amp;&amp;((-1!==e.indexOf(m.index)||m.carpet)&amp;&amp;(c&amp;&amp;c[0].trace.xaxis+c[0].trace.yaxis===u&amp;&amp;-1!==[&quot;tonextx&quot;,&quot;tonexty&quot;,&quot;tonext&quot;].indexOf(m.fill)&amp;&amp;-1===h.indexOf(c)&amp;&amp;h.push(c),h.push(p)),c=p)}n(t,f,h,r,i)}},r.clean=function(t,e,r,n){var i,o,s,l,c,u,f,h,d=n._modules||[],p=e._modules||[];for(c=0;c&lt;d.length;c++){&quot;scatter&quot;===d[c].name&amp;&amp;(i=!0);break}for(c=0;c&lt;p.length;c++)if(&quot;scatter&quot;===p[c].name){o=!0;break}for(c=0;c&lt;d.length;c++){&quot;scattergl&quot;===d[c].name&amp;&amp;(s=!0);break}for(c=0;c&lt;p.length;c++)if(&quot;scattergl&quot;===p[c].name){l=!0;break}if(i&amp;&amp;!o){for(u=n._plots,f=Object.keys(u||{}),c=0;c&lt;f.length;c++)(h=u[f[c]]).plot&amp;&amp;h.plot.select(&quot;g.scatterlayer&quot;).selectAll(&quot;g.trace&quot;).remove();n._infolayer.selectAll(&quot;g.rangeslider-container&quot;).select(&quot;g.scatterlayer&quot;).selectAll(&quot;g.trace&quot;).remove()}if(s&amp;&amp;!l)for(u=n._plots,f=Object.keys(u||{}),c=0;c&lt;f.length;c++)(h=u[f[c]])._scene&amp;&amp;h._scene.destroy();var m=n._subplots||{},g=e._subplots||{xaxis:[],yaxis:[]};if(m.xaxis&amp;&amp;m.yaxis){var v=m.xaxis.concat(m.yaxis),y=g.xaxis.concat(g.yaxis);for(c=0;c&lt;v.length;c++)-1===y.indexOf(v[c])&amp;&amp;n._infolayer.selectAll(&quot;.g-&quot;+v[c]+&quot;title&quot;).remove()}var x=n._has&amp;&amp;n._has(&quot;cartesian&quot;),b=e._has&amp;&amp;e._has(&quot;cartesian&quot;);x&amp;&amp;!b&amp;&amp;(a(n._cartesianlayer.selectAll(&quot;.subplot&quot;),n),n._defs.selectAll(&quot;.axesclip&quot;).remove())},r.drawFramework=function(t){var e=t._fullLayout,r=function(t){for(var e=t._fullLayout,r=Object.keys(e._plots),n=[],i=[],a=0;a&lt;r.length;a++){var o=r[a],s=e._plots[o],l=s.xaxis,c=s.yaxis,u=l._mainAxis,f=c._mainAxis,h=u._id+f._id;h!==o&amp;&amp;-1!==r.indexOf(h)?(s.mainplot=h,s.mainplotinfo=e._plots[h],i.push(o)):n.push(o)}return n=n.concat(i)}(t),n=e._cartesianlayer.selectAll(&quot;.subplot&quot;).data(r,l.identity);n.enter().append(&quot;g&quot;).attr(&quot;class&quot;,function(t){return&quot;subplot &quot;+t}),n.order(),n.exit().call(a,e),n.each(function(t){var r=e._plots[t];if(r.plotgroup=s.select(this),r.overlays=[],i(r),r.mainplot){e._plots[r.mainplot].overlays.push(r)}r.draglayer=o(e._draggers,&quot;g&quot;,t)})},r.rangePlot=function(t,e,r){i(e),n(t,e,r),c.style(t)},r.toSVG=function(t){var e=t._fullLayout._glimages,r=s.select(t).selectAll(&quot;.svg-container&quot;);r.filter(function(t,e){return e===r.size()-1}).selectAll(&quot;.gl-canvas-context, .gl-canvas-focus&quot;).each(function(){var t=this.toDataURL(&quot;image/png&quot;);e.append(&quot;svg:image&quot;).attr({xmlns:d.svg,&quot;xlink:href&quot;:t,preserveAspectRatio:&quot;none&quot;,x:0,y:0,width:this.width,height:this.height})})}},{&quot;../../constants/xmlns_namespaces&quot;:723,&quot;../../lib&quot;:743,&quot;../get_data&quot;:826,&quot;../plots&quot;:852,&quot;./attributes&quot;:788,&quot;./axis_ids&quot;:792,&quot;./constants&quot;:794,&quot;./layout_attributes&quot;:801,&quot;./layout_defaults&quot;:802,&quot;./transition_axes&quot;:812,d3:128}],801:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../font_attributes&quot;),i=t(&quot;../../components/color/attributes&quot;),a=t(&quot;../../components/drawing/attributes&quot;).dash,o=t(&quot;../../lib/extend&quot;).extendFlat,s=t(&quot;./constants&quot;);e.exports={visible:{valType:&quot;boolean&quot;,editType:&quot;plot&quot;},color:{valType:&quot;color&quot;,dflt:i.defaultLine,editType:&quot;ticks&quot;},title:{valType:&quot;string&quot;,editType:&quot;ticks&quot;},titlefont:n({editType:&quot;ticks&quot;}),type:{valType:&quot;enumerated&quot;,values:[&quot;-&quot;,&quot;linear&quot;,&quot;log&quot;,&quot;date&quot;,&quot;category&quot;],dflt:&quot;-&quot;,editType:&quot;calc&quot;},autorange:{valType:&quot;enumerated&quot;,values:[!0,!1,&quot;reversed&quot;],dflt:!0,editType:&quot;calc&quot;,impliedEdits:{&quot;range[0]&quot;:void 0,&quot;range[1]&quot;:void 0}},rangemode:{valType:&quot;enumerated&quot;,values:[&quot;normal&quot;,&quot;tozero&quot;,&quot;nonnegative&quot;],dflt:&quot;normal&quot;,editType:&quot;calc&quot;},range:{valType:&quot;info_array&quot;,items:[{valType:&quot;any&quot;,editType:&quot;plot&quot;,impliedEdits:{&quot;^autorange&quot;:!1}},{valType:&quot;any&quot;,editType:&quot;plot&quot;,impliedEdits:{&quot;^autorange&quot;:!1}}],editType:&quot;plot&quot;,impliedEdits:{autorange:!1}},fixedrange:{valType:&quot;boolean&quot;,dflt:!1,editType:&quot;calc&quot;},scaleanchor:{valType:&quot;enumerated&quot;,values:[s.idRegex.x.toString(),s.idRegex.y.toString()],editType:&quot;calc&quot;},scaleratio:{valType:&quot;number&quot;,min:0,dflt:1,editType:&quot;calc&quot;},constrain:{valType:&quot;enumerated&quot;,values:[&quot;range&quot;,&quot;domain&quot;],dflt:&quot;range&quot;,editType:&quot;calc&quot;},constraintoward:{valType:&quot;enumerated&quot;,values:[&quot;left&quot;,&quot;center&quot;,&quot;right&quot;,&quot;top&quot;,&quot;middle&quot;,&quot;bottom&quot;],editType:&quot;calc&quot;},tickmode:{valType:&quot;enumerated&quot;,values:[&quot;auto&quot;,&quot;linear&quot;,&quot;array&quot;],editType:&quot;ticks&quot;,impliedEdits:{tick0:void 0,dtick:void 0}},nticks:{valType:&quot;integer&quot;,min:0,dflt:0,editType:&quot;ticks&quot;},tick0:{valType:&quot;any&quot;,editType:&quot;ticks&quot;,impliedEdits:{tickmode:&quot;linear&quot;}},dtick:{valType:&quot;any&quot;,editType:&quot;ticks&quot;,impliedEdits:{tickmode:&quot;linear&quot;}},tickvals:{valType:&quot;data_array&quot;,editType:&quot;ticks&quot;},ticktext:{valType:&quot;data_array&quot;,editType:&quot;ticks&quot;},ticks:{valType:&quot;enumerated&quot;,values:[&quot;outside&quot;,&quot;inside&quot;,&quot;&quot;],editType:&quot;ticks&quot;},mirror:{valType:&quot;enumerated&quot;,values:[!0,&quot;ticks&quot;,!1,&quot;all&quot;,&quot;allticks&quot;],dflt:!1,editType:&quot;ticks+layoutstyle&quot;},ticklen:{valType:&quot;number&quot;,min:0,dflt:5,editType:&quot;ticks&quot;},tickwidth:{valType:&quot;number&quot;,min:0,dflt:1,editType:&quot;ticks&quot;},tickcolor:{valType:&quot;color&quot;,dflt:i.defaultLine,editType:&quot;ticks&quot;},showticklabels:{valType:&quot;boolean&quot;,dflt:!0,editType:&quot;ticks&quot;},showspikes:{valType:&quot;boolean&quot;,dflt:!1,editType:&quot;modebar&quot;},spikecolor:{valType:&quot;color&quot;,dflt:null,editType:&quot;none&quot;},spikethickness:{valType:&quot;number&quot;,dflt:3,editType:&quot;none&quot;},spikedash:o({},a,{dflt:&quot;dash&quot;,editType:&quot;none&quot;}),spikemode:{valType:&quot;flaglist&quot;,flags:[&quot;toaxis&quot;,&quot;across&quot;,&quot;marker&quot;],dflt:&quot;toaxis&quot;,editType:&quot;none&quot;},spikesnap:{valType:&quot;enumerated&quot;,values:[&quot;data&quot;,&quot;cursor&quot;],dflt:&quot;data&quot;,editType:&quot;none&quot;},tickfont:n({editType:&quot;ticks&quot;}),tickangle:{valType:&quot;angle&quot;,dflt:&quot;auto&quot;,editType:&quot;ticks&quot;},tickprefix:{valType:&quot;string&quot;,dflt:&quot;&quot;,editType:&quot;ticks&quot;},showtickprefix:{valType:&quot;enumerated&quot;,values:[&quot;all&quot;,&quot;first&quot;,&quot;last&quot;,&quot;none&quot;],dflt:&quot;all&quot;,editType:&quot;ticks&quot;},ticksuffix:{valType:&quot;string&quot;,dflt:&quot;&quot;,editType:&quot;ticks&quot;},showticksuffix:{valType:&quot;enumerated&quot;,values:[&quot;all&quot;,&quot;first&quot;,&quot;last&quot;,&quot;none&quot;],dflt:&quot;all&quot;,editType:&quot;ticks&quot;},showexponent:{valType:&quot;enumerated&quot;,values:[&quot;all&quot;,&quot;first&quot;,&quot;last&quot;,&quot;none&quot;],dflt:&quot;all&quot;,editType:&quot;ticks&quot;},exponentformat:{valType:&quot;enumerated&quot;,values:[&quot;none&quot;,&quot;e&quot;,&quot;E&quot;,&quot;power&quot;,&quot;SI&quot;,&quot;B&quot;],dflt:&quot;B&quot;,editType:&quot;ticks&quot;},separatethousands:{valType:&quot;boolean&quot;,dflt:!1,editType:&quot;ticks&quot;},tickformat:{valType:&quot;string&quot;,dflt:&quot;&quot;,editType:&quot;ticks&quot;},tickformatstops:{_isLinkedToArray:&quot;tickformatstop&quot;,dtickrange:{valType:&quot;info_array&quot;,items:[{valType:&quot;any&quot;,editType:&quot;ticks&quot;},{valType:&quot;any&quot;,editType:&quot;ticks&quot;}],editType:&quot;ticks&quot;},value:{valType:&quot;string&quot;,dflt:&quot;&quot;,editType:&quot;ticks&quot;},editType:&quot;ticks&quot;},hoverformat:{valType:&quot;string&quot;,dflt:&quot;&quot;,editType:&quot;none&quot;},showline:{valType:&quot;boolean&quot;,dflt:!1,editType:&quot;layoutstyle&quot;},linecolor:{valType:&quot;color&quot;,dflt:i.defaultLine,editType:&quot;layoutstyle&quot;},linewidth:{valType:&quot;number&quot;,min:0,dflt:1,editType:&quot;ticks+layoutstyle&quot;},showgrid:{valType:&quot;boolean&quot;,editType:&quot;ticks&quot;},gridcolor:{valType:&quot;color&quot;,dflt:i.lightLine,editType:&quot;ticks&quot;},gridwidth:{valType:&quot;number&quot;,min:0,dflt:1,editType:&quot;ticks&quot;},zeroline:{valType:&quot;boolean&quot;,editType:&quot;ticks&quot;},zerolinecolor:{valType:&quot;color&quot;,dflt:i.defaultLine,editType:&quot;ticks&quot;},zerolinewidth:{valType:&quot;number&quot;,dflt:1,editType:&quot;ticks&quot;},anchor:{valType:&quot;enumerated&quot;,values:[&quot;free&quot;,s.idRegex.x.toString(),s.idRegex.y.toString()],editType:&quot;plot&quot;},side:{valType:&quot;enumerated&quot;,values:[&quot;top&quot;,&quot;bottom&quot;,&quot;left&quot;,&quot;right&quot;],editType:&quot;plot&quot;},overlaying:{valType:&quot;enumerated&quot;,values:[&quot;free&quot;,s.idRegex.x.toString(),s.idRegex.y.toString()],editType:&quot;calc&quot;},layer:{valType:&quot;enumerated&quot;,values:[&quot;above traces&quot;,&quot;below traces&quot;],dflt:&quot;above traces&quot;,editType:&quot;plot&quot;},domain:{valType:&quot;info_array&quot;,items:[{valType:&quot;number&quot;,min:0,max:1,editType:&quot;calc&quot;},{valType:&quot;number&quot;,min:0,max:1,editType:&quot;calc&quot;}],dflt:[0,1],editType:&quot;calc&quot;},position:{valType:&quot;number&quot;,min:0,max:1,dflt:0,editType:&quot;plot&quot;},categoryorder:{valType:&quot;enumerated&quot;,values:[&quot;trace&quot;,&quot;category ascending&quot;,&quot;category descending&quot;,&quot;array&quot;],dflt:&quot;trace&quot;,editType:&quot;calc&quot;},categoryarray:{valType:&quot;data_array&quot;,editType:&quot;calc&quot;},editType:&quot;calc&quot;,_deprecated:{autotick:{valType:&quot;boolean&quot;,editType:&quot;ticks&quot;}}}},{&quot;../../components/color/attributes&quot;:617,&quot;../../components/drawing/attributes&quot;:642,&quot;../../lib/extend&quot;:732,&quot;../font_attributes&quot;:816,&quot;./constants&quot;:794}],802:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../registry&quot;),i=t(&quot;../../lib&quot;),a=t(&quot;../../components/color&quot;),o=t(&quot;../layout_attributes&quot;),s=t(&quot;./layout_attributes&quot;),l=t(&quot;./type_defaults&quot;),c=t(&quot;./axis_defaults&quot;),u=t(&quot;./constraint_defaults&quot;),f=t(&quot;./position_defaults&quot;),h=t(&quot;./axis_ids&quot;);e.exports=function(t,e,r){function d(t,e){return i.coerce(P,O,s,t,e)}function p(t,e){return i.coerce2(P,O,s,t,e)}function m(t){return&quot;x&quot;===t?S:T}function g(e,r){for(var n=&quot;x&quot;===e?E:L,i=[],a=0;a&lt;n.length;a++){var o=n[a];o===r||(t[o]||{}).overlaying||i.push(h.name2id(o))}return i}var v,y={},x={},b={},_={};for(v=0;v&lt;r.length;v++){var w=r[v];if(n.traceIs(w,&quot;cartesian&quot;)||n.traceIs(w,&quot;gl2d&quot;)){var M=h.id2name(w.xaxis),k=h.id2name(w.yaxis);if(n.traceIs(w,&quot;carpet&quot;)&amp;&amp;(&quot;carpet&quot;!==w.type||w._cheater)||M&amp;&amp;(x[M]=1),&quot;carpet&quot;===w.type&amp;&amp;w._cheater&amp;&amp;M&amp;&amp;(y[M]=1),n.traceIs(w,&quot;2dMap&quot;)&amp;&amp;(b[M]=!0,b[k]=!0),n.traceIs(w,&quot;oriented&quot;)){_[&quot;h&quot;===w.orientation?k:M]=!0}}}var A=e._subplots,T=A.xaxis,S=A.yaxis,E=i.simpleMap(T,h.id2name),L=i.simpleMap(S,h.id2name),C=E.concat(L),z=a.background;T.length&amp;&amp;S.length&amp;&amp;(z=i.coerce(t,e,o,&quot;plot_bgcolor&quot;));var D,I,P,O,F=a.combine(z,e.paper_bgcolor),R={x:m(&quot;x&quot;),y:m(&quot;y&quot;)};for(v=0;v&lt;C.length;v++){D=C[v],i.isPlainObject(t[D])||(t[D]={}),P=t[D],O=e[D]={},l(P,O,d,r,D);var N=g(I=D.charAt(0),D),j={letter:I,font:e.font,outerTicks:b[D],showGrid:!_[D],data:r,bgColor:F,calendar:e.calendar,cheateronly:&quot;x&quot;===I&amp;&amp;y[D]&amp;&amp;!x[D]};c(P,O,d,j,e);var B=p(&quot;spikecolor&quot;),U=p(&quot;spikethickness&quot;),V=p(&quot;spikedash&quot;),q=p(&quot;spikemode&quot;),H=p(&quot;spikesnap&quot;);d(&quot;showspikes&quot;,!!(B||U||V||q||H))||(delete O.spikecolor,delete O.spikethickness,delete O.spikedash,delete O.spikemode,delete O.spikesnap);var G={letter:I,counterAxes:R[I],overlayableAxes:N};f(P,O,d,G),O._input=P}var Y=n.getComponentMethod(&quot;rangeslider&quot;,&quot;handleDefaults&quot;),W=n.getComponentMethod(&quot;rangeselector&quot;,&quot;handleDefaults&quot;);for(v=0;v&lt;E.length;v++)D=E[v],P=t[D],O=e[D],Y(t,e,D),&quot;date&quot;===O.type&amp;&amp;W(P,O,e,L,O.calendar),d(&quot;fixedrange&quot;);for(v=0;v&lt;L.length;v++){D=L[v],P=t[D],O=e[D];var X=e[h.id2name(O.anchor)];d(&quot;fixedrange&quot;,X&amp;&amp;X.rangeslider&amp;&amp;X.rangeslider.visible)}e._axisConstraintGroups=[];var Z=R.x.concat(R.y);for(v=0;v&lt;C.length;v++)I=(D=C[v]).charAt(0),P=t[D],O=e[D],u(P,O,d,Z,e)}},{&quot;../../components/color&quot;:618,&quot;../../lib&quot;:743,&quot;../../registry&quot;:873,&quot;../layout_attributes&quot;:843,&quot;./axis_defaults&quot;:791,&quot;./axis_ids&quot;:792,&quot;./constraint_defaults&quot;:795,&quot;./layout_attributes&quot;:801,&quot;./position_defaults&quot;:805,&quot;./type_defaults&quot;:813}],803:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;tinycolor2&quot;).mix,i=t(&quot;../../components/color/attributes&quot;).lightFraction,a=t(&quot;../../lib&quot;);e.exports=function(t,e,r,o){function s(r,n){return a.coerce2(t,e,o.attributes,r,n)}var l=(o=o||{}).dfltColor,c=s(&quot;linecolor&quot;,l),u=s(&quot;linewidth&quot;);r(&quot;showline&quot;,o.showLine||!!c||!!u)||(delete e.linecolor,delete e.linewidth);var f=s(&quot;gridcolor&quot;,n(l,o.bgColor,o.blend||i).toRgbString()),h=s(&quot;gridwidth&quot;);if(r(&quot;showgrid&quot;,o.showGrid||!!f||!!h)||(delete e.gridcolor,delete e.gridwidth),!o.noZeroLine){var d=s(&quot;zerolinecolor&quot;,l),p=s(&quot;zerolinewidth&quot;);r(&quot;zeroline&quot;,o.showGrid||!!d||!!p)||(delete e.zerolinecolor,delete e.zerolinewidth)}}},{&quot;../../components/color/attributes&quot;:617,&quot;../../lib&quot;:743,tinycolor2:546}],804:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r){var n,a,o,s,l,c=[],u=r.map(function(e){return e[t]}),f=i.bisector(e).left;for(n=0;n&lt;u.length;n++)for(o=u[n],a=0;a&lt;o.length;a++)null!==(s=o[a])&amp;&amp;void 0!==s&amp;&amp;((l=f(c,s))&lt;c.length&amp;&amp;c[l]===s||c.splice(l,0,s));return c}var i=t(&quot;d3&quot;);e.exports=function(t,e,r,a){switch(e){case&quot;array&quot;:return Array.isArray(r)?r.slice():[];case&quot;category ascending&quot;:return n(t,i.ascending,a);case&quot;category descending&quot;:return n(t,i.descending,a);case&quot;trace&quot;:default:return[]}}},{d3:128}],805:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;fast-isnumeric&quot;),i=t(&quot;../../lib&quot;);e.exports=function(t,e,r,a){var o=a.counterAxes||[],s=a.overlayableAxes||[],l=a.letter;&quot;free&quot;===i.coerce(t,e,{anchor:{valType:&quot;enumerated&quot;,values:[&quot;free&quot;].concat(o),dflt:n(t.position)?&quot;free&quot;:o[0]||&quot;free&quot;}},&quot;anchor&quot;)&amp;&amp;r(&quot;position&quot;),i.coerce(t,e,{side:{valType:&quot;enumerated&quot;,values:&quot;x&quot;===l?[&quot;bottom&quot;,&quot;top&quot;]:[&quot;left&quot;,&quot;right&quot;],dflt:&quot;x&quot;===l?&quot;bottom&quot;:&quot;left&quot;}},&quot;side&quot;);var c=!1;if(s.length&amp;&amp;(c=i.coerce(t,e,{overlaying:{valType:&quot;enumerated&quot;,values:[!1].concat(s),dflt:!1}},&quot;overlaying&quot;)),!c){var u=r(&quot;domain&quot;);u[0]&gt;u[1]-.01&amp;&amp;(e.domain=[0,1]),i.noneOrAll(t.domain,e.domain,[0,1])}return r(&quot;layer&quot;),e}},{&quot;../../lib&quot;:743,&quot;fast-isnumeric&quot;:140}],806:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../constants/alignment&quot;).FROM_BL;e.exports=function(t,e,r){void 0===r&amp;&amp;(r=n[t.constraintoward||&quot;center&quot;]);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)]}},{&quot;../../constants/alignment&quot;:716}],807:[function(t,e,r){&quot;use strict&quot;;function n(t){return t._id}function i(t,e,r){var n,i,a;if(r){var o=r.points||[];for(n=0;n&lt;e.length;n++)(a=e[n].cd[0].trace).selectedpoints=[],a._input.selectedpoints=[];for(n=0;n&lt;o.length;n++){var s=o[n],l=s.data,c=s.fullData;s.pointIndices?([].push.apply(l.selectedpoints,s.pointIndices),[].push.apply(c.selectedpoints,s.pointIndices)):(l.selectedpoints.push(s.pointIndex),c.selectedpoints.push(s.pointIndex))}}else for(n=0;n&lt;e.length;n++)delete(a=e[n].cd[0].trace).selectedpoints,delete a._input.selectedpoints,e[n].cd[0].t&amp;&amp;e[n].cd[0].t.scene&amp;&amp;e[n].cd[0].t.scene.clearSelect();for(n=0;n&lt;e.length;n++)(i=e[n]).style&amp;&amp;i.style(t,i.cd)}var a=t(&quot;polybooljs&quot;),o=t(&quot;../../lib/polygon&quot;),s=t(&quot;../../lib/throttle&quot;),l=t(&quot;../../components/color&quot;),c=t(&quot;../../components/fx/helpers&quot;).makeEventData,u=t(&quot;../../components/fx&quot;),f=t(&quot;./axes&quot;),h=t(&quot;./constants&quot;),d=o.filter,p=o.tester,m=o.multitester,g=h.MINSELECT;e.exports=function(t,e,r,o,v){function y(t){var e=&quot;y&quot;===t._id.charAt(0)?1:0;return function(r){return t.p2d(r[e])}}function x(t,e){return t-e}var b,_,w,M,k=o.gd,A=k._fullLayout,T=A._zoomlayer,S=o.element.getBoundingClientRect(),E=o.plotinfo,L=E.xaxis._offset,C=E.yaxis._offset,z=e-S.left,D=r-S.top,I=z,P=D,O=&quot;M&quot;+z+&quot;,&quot;+D,F=o.xaxes[0]._length,R=o.yaxes[0]._length,N=o.xaxes.map(n),j=o.yaxes.map(n),B=o.xaxes.concat(o.yaxes),U=t.altKey;(t.shiftKey||t.altKey)&amp;&amp;E.selection&amp;&amp;E.selection.polygons&amp;&amp;!o.polygons?(o.polygons=E.selection.polygons,o.mergedPolygons=E.selection.mergedPolygons):(!t.shiftKey&amp;&amp;!t.altKey||(t.shiftKey||t.altKey)&amp;&amp;!E.selection)&amp;&amp;(E.selection={},E.selection.polygons=o.polygons=[],E.selection.mergedPolygons=o.mergedPolygons=[]),&quot;lasso&quot;===v&amp;&amp;(b=d([[z,D]],h.BENDPX));var V=T.selectAll(&quot;path.select-outline-&quot;+E.id).data([1,2]);V.enter().append(&quot;path&quot;).attr(&quot;class&quot;,function(t){return&quot;select-outline select-outline-&quot;+t+&quot; select-outline-&quot;+E.id}).attr(&quot;transform&quot;,&quot;translate(&quot;+L+&quot;, &quot;+C+&quot;)&quot;).attr(&quot;d&quot;,O+&quot;Z&quot;);var q,H,G,Y,W,X=T.append(&quot;path&quot;).attr(&quot;class&quot;,&quot;zoombox-corners&quot;).style({fill:l.background,stroke:l.defaultLine,&quot;stroke-width&quot;:1}).attr(&quot;transform&quot;,&quot;translate(&quot;+L+&quot;, &quot;+C+&quot;)&quot;).attr(&quot;d&quot;,&quot;M0,0Z&quot;),Z=[],J=A._uid+h.SELECTID,K=[];for(q=0;q&lt;k.calcdata.length;q++)if(H=k.calcdata[q],!0===(G=H[0].trace).visible&amp;&amp;G._module&amp;&amp;G._module.selectPoints)if(o.subplot)G.subplot!==o.subplot&amp;&amp;G.geo!==o.subplot||Z.push({selectPoints:G._module.selectPoints,style:G._module.style,cd:H,xaxis:o.xaxes[0],yaxis:o.yaxes[0]});else{if(-1===N.indexOf(G.xaxis))continue;if(-1===j.indexOf(G.yaxis))continue;Z.push({selectPoints:G._module.selectPoints,style:G._module.style,cd:H,xaxis:f.getFromId(k,G.xaxis),yaxis:f.getFromId(k,G.yaxis)})}var Q;Q=E.fillRangeItems?E.fillRangeItems:&quot;select&quot;===v?function(t,e){var r=t.range={};for(q=0;q&lt;B.length;q++){var n=B[q],i=n._id.charAt(0);r[n._id]=[n.p2d(e[i+&quot;min&quot;]),n.p2d(e[i+&quot;max&quot;])].sort(x)}}:function(t,e,r){var n=t.lassoPoints={};for(q=0;q&lt;B.length;q++){var i=B[q];n[i._id]=r.filtered.map(y(i))}},o.moveFn=function(t,e){I=Math.max(0,Math.min(F,t+z)),P=Math.max(0,Math.min(R,e+D));var r=Math.abs(I-z),n=Math.abs(P-D);&quot;select&quot;===v?n&lt;Math.min(.6*r,g)?((M=[[z,0],[z,R],[I,R],[I,0]]).xmin=Math.min(z,I),M.xmax=Math.max(z,I),M.ymin=Math.min(0,R),M.ymax=Math.max(0,R),X.attr(&quot;d&quot;,&quot;M&quot;+M.xmin+&quot;,&quot;+(D-g)+&quot;h-4v&quot;+2*g+&quot;h4ZM&quot;+(M.xmax-1)+&quot;,&quot;+(D-g)+&quot;h4v&quot;+2*g+&quot;h-4Z&quot;)):r&lt;Math.min(.6*n,g)?((M=[[0,D],[0,P],[F,P],[F,D]]).xmin=Math.min(0,F),M.xmax=Math.max(0,F),M.ymin=Math.min(D,P),M.ymax=Math.max(D,P),X.attr(&quot;d&quot;,&quot;M&quot;+(z-g)+&quot;,&quot;+M.ymin+&quot;v-4h&quot;+2*g+&quot;v4ZM&quot;+(z-g)+&quot;,&quot;+(M.ymax-1)+&quot;v4h&quot;+2*g+&quot;v-4Z&quot;)):((M=[[z,D],[z,P],[I,P],[I,D]]).xmin=Math.min(z,I),M.xmax=Math.max(z,I),M.ymin=Math.min(D,P),M.ymax=Math.max(D,P),X.attr(&quot;d&quot;,&quot;M0,0Z&quot;)):&quot;lasso&quot;===v&amp;&amp;(b.addPt([I,P]),M=b.filtered),o.polygons&amp;&amp;o.polygons.length?(w=function(t,e,r){return r?a.difference({regions:t,inverted:!1},{regions:[e],inverted:!1}).regions:a.union({regions:t,inverted:!1},{regions:[e],inverted:!1}).regions}(o.mergedPolygons,M,U),M.subtract=U,_=m(o.polygons.concat([M]))):(w=[M],_=p(M));var l=[];for(q=0;q&lt;w.length;q++){var u=w[q];l.push(u.join(&quot;L&quot;)+&quot;L&quot;+u[0])}V.attr(&quot;d&quot;,&quot;M&quot;+l.join(&quot;M&quot;)+&quot;Z&quot;),s.throttle(J,h.SELECTDELAY,function(){K=[];var t,e,r=[];for(q=0;q&lt;Z.length;q++)if(Y=Z[q],e=Y.selectPoints(Y,_),r.push(e),t=function(t,e){if(Array.isArray(t))for(var r=e.cd,n=e.cd[0].trace,i=0;i&lt;t.length;i++)t[i]=c(t[i],n,r);return t}(e,Y),K.length)for(var n=0;n&lt;t.length;n++)K.push(t[n]);else K=t;i(k,Z,W={points:K}),Q(W,M,b),o.gd.emit(&quot;plotly_selecting&quot;,W)})},o.clickFn=function(t,e){X.remove(),s.done(J).then(function(){if(s.clear(J),2===t){for(V.remove(),q=0;q&lt;Z.length;q++)(Y=Z[q]).selectPoints(Y,!1);i(k,Z),k.emit(&quot;plotly_deselect&quot;,null)}else k.emit(&quot;plotly_selected&quot;,void 0);u.click(k,e)})},o.doneFn=function(){X.remove(),s.done(J).then(function(){s.clear(J),o.gd.emit(&quot;plotly_selected&quot;,W),M&amp;&amp;o.polygons&amp;&amp;(M.subtract=U,o.polygons.push(M),o.mergedPolygons.length=0,[].push.apply(o.mergedPolygons,w))})}}},{&quot;../../components/color&quot;:618,&quot;../../components/fx&quot;:660,&quot;../../components/fx/helpers&quot;:657,&quot;../../lib/polygon&quot;:755,&quot;../../lib/throttle&quot;:767,&quot;./axes&quot;:789,&quot;./constants&quot;:794,polybooljs:479}],808:[function(t,e,r){&quot;use strict&quot;;function n(t){return Math.pow(10,t)}var i=t(&quot;d3&quot;),a=t(&quot;fast-isnumeric&quot;),o=t(&quot;../../lib&quot;),s=o.cleanNumber,l=o.ms2DateTime,c=o.dateTime2ms,u=o.ensureNumber,f=t(&quot;../../constants/numerical&quot;),h=f.FP_SAFE,d=f.BADNUM,p=t(&quot;./constants&quot;),m=t(&quot;./axis_ids&quot;);e.exports=function(t,e){function r(e,r){if(e&gt;0)return Math.log(e)/Math.LN10;if(e&lt;=0&amp;&amp;r&amp;&amp;t.range&amp;&amp;2===t.range.length){var n=t.range[0],i=t.range[1];return.5*(n+i-3*M*Math.abs(n-i))}return d}function f(e,r,n){var i=c(e,n||t.calendar);if(i===d){if(!a(e))return d;i=c(new Date(+e))}return i}function g(e,r,n){return l(e,r,n||t.calendar)}function v(e){return t._categories[Math.round(e)]}function y(e){if(null!==e&amp;&amp;void 0!==e){if(void 0===t._categoriesMap&amp;&amp;(t._categoriesMap={}),void 0!==t._categoriesMap[e])return t._categoriesMap[e];t._categories.push(e);var r=t._categories.length-1;return t._categoriesMap[e]=r,r}return d}function x(e){if(t._categoriesMap){var r=t._categoriesMap[e];if(void 0!==r)return r}if(a(e))return+e}function b(e){return a(e)?i.round(t._b+t._m*e,2):d}function _(e){return(e-t._b)/t._m}e=e||{};var w=(t._id||&quot;x&quot;).charAt(0),M=10;t.c2l=&quot;log&quot;===t.type?r:u,t.l2c=&quot;log&quot;===t.type?n:u,t.l2p=b,t.p2l=_,t.c2p=&quot;log&quot;===t.type?function(t,e){return b(r(t,e))}:b,t.p2c=&quot;log&quot;===t.type?function(t){return n(_(t))}:_,-1!==[&quot;linear&quot;,&quot;-&quot;].indexOf(t.type)?(t.d2r=t.r2d=t.d2c=t.r2c=t.d2l=t.r2l=s,t.c2d=t.c2r=t.l2d=t.l2r=u,t.d2p=t.r2p=function(e){return t.l2p(s(e))},t.p2d=t.p2r=_,t.cleanPos=u):&quot;log&quot;===t.type?(t.d2r=t.d2l=function(t,e){return r(s(t),e)},t.r2d=t.r2c=function(t){return n(s(t))},t.d2c=t.r2l=s,t.c2d=t.l2r=u,t.c2r=r,t.l2d=n,t.d2p=function(e,r){return t.l2p(t.d2r(e,r))},t.p2d=function(t){return n(_(t))},t.r2p=function(e){return t.l2p(s(e))},t.p2r=_,t.cleanPos=u):&quot;date&quot;===t.type?(t.d2r=t.r2d=o.identity,t.d2c=t.r2c=t.d2l=t.r2l=f,t.c2d=t.c2r=t.l2d=t.l2r=g,t.d2p=t.r2p=function(e,r,n){return t.l2p(f(e,0,n))},t.p2d=t.p2r=function(t,e,r){return g(_(t),e,r)},t.cleanPos=function(e){return o.cleanDate(e,d,t.calendar)}):&quot;category&quot;===t.type&amp;&amp;(t.d2c=t.d2l=y,t.r2d=t.c2d=t.l2d=v,t.d2r=t.d2l_noadd=x,t.r2c=function(e){var r=x(e);return void 0!==r?r:t.fraction2r(.5)},t.l2r=t.c2r=u,t.r2l=x,t.d2p=function(e){return t.l2p(t.r2c(e))},t.p2d=function(t){return v(_(t))},t.r2p=t.d2p,t.p2r=_,t.cleanPos=function(t){return&quot;string&quot;==typeof t&amp;&amp;&quot;&quot;!==t?t:u(t)}),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=&quot;range&quot;);var n,i,s=o.nestedProperty(t,e).get();if(i=&quot;date&quot;===t.type?o.dfltRange(t.calendar):&quot;y&quot;===w?p.DFLTRANGEY:r.dfltRange||p.DFLTRANGEX,i=i.slice(),s&amp;&amp;2===s.length)for(&quot;date&quot;===t.type&amp;&amp;(s[0]=o.cleanDate(s[0],d,t.calendar),s[1]=o.cleanDate(s[1],d,t.calendar)),n=0;n&lt;2;n++)if(&quot;date&quot;===t.type){if(!o.isDateTime(s[n],t.calendar)){t[e]=i;break}if(t.r2l(s[0])===t.r2l(s[1])){var l=o.constrain(t.r2l(s[0]),o.MIN_MS+1e3,o.MAX_MS-1e3);s[0]=t.l2r(l-1e3),s[1]=t.l2r(l+1e3);break}}else{if(!a(s[n])){if(!a(s[1-n])){t[e]=i;break}s[n]=s[1-n]*(n?10:.1)}if(s[n]&lt;-h?s[n]=-h:s[n]&gt;h&amp;&amp;(s[n]=h),s[0]===s[1]){var c=Math.max(1,Math.abs(1e-6*s[0]));s[0]-=c,s[1]+=c}}else o.nestedProperty(t,e).set(i)},t.setScale=function(r){var n=e._size;if(t._categories||(t._categories=[]),t._categoriesMap||(t._categoriesMap={}),t.overlaying){var i=m.getFromId({_fullLayout:e},t.overlaying);t.domain=i.domain}var a=r&amp;&amp;t._r?&quot;_r&quot;:&quot;range&quot;,o=t.calendar;t.cleanRange(a);var s=t.r2l(t[a][0],o),l=t.r2l(t[a][1],o);if(&quot;y&quot;===w?(t._offset=n.t+(1-t.domain[1])*n.h,t._length=n.h*(t.domain[1]-t.domain[0]),t._m=t._length/(s-l),t._b=-t._m*l):(t._offset=n.l+t.domain[0]*n.w,t._length=n.w*(t.domain[1]-t.domain[0]),t._m=t._length/(l-s),t._b=-t._m*s),!isFinite(t._m)||!isFinite(t._b))throw e._replotting=!1,new Error(&quot;Something went wrong with axis scaling&quot;)},t.makeCalcdata=function(e,r){var n,i,a,o=&quot;date&quot;===t.type&amp;&amp;e[r+&quot;calendar&quot;];if(r in e)for(n=e[r],i=new Array(n.length),a=0;a&lt;n.length;a++)i[a]=t.d2c(n[a],0,o);else{var s=r+&quot;0&quot;in e?t.d2c(e[r+&quot;0&quot;],0,o):0,l=e[&quot;d&quot;+r]?Number(e[&quot;d&quot;+r]):1;for(n=e[{x:&quot;y&quot;,y:&quot;x&quot;}[r]],i=new Array(n.length),a=0;a&lt;n.length;a++)i[a]=s+a*l}return i},t.isValidRange=function(e){return Array.isArray(e)&amp;&amp;2===e.length&amp;&amp;a(t.r2l(e[0]))&amp;&amp;a(t.r2l(e[1]))},t.isPtWithinRange=function(e,r){var n=t.c2l(e[w],null,r);return n&gt;=t.r2l(t.range[0])&amp;&amp;n&lt;=t.r2l(t.range[1])},t._min=[],t._max=[];var k=e._d3locale;&quot;date&quot;===t.type&amp;&amp;(t._dateFormat=k?k.timeFormat.utc:i.time.format.utc),t._separators=e.separators,t._numFormat=k?k.numberFormat:i.format,delete t._minDtick,delete t._forceTick0}},{&quot;../../constants/numerical&quot;:721,&quot;../../lib&quot;:743,&quot;./axis_ids&quot;:792,&quot;./constants&quot;:794,d3:128,&quot;fast-isnumeric&quot;:140}],809:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib&quot;),i=t(&quot;./layout_attributes&quot;);e.exports=function(t,e,r,a,o){var s=function(t){var e=[&quot;showexponent&quot;,&quot;showtickprefix&quot;,&quot;showticksuffix&quot;].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]]}(t);r(&quot;tickprefix&quot;)&amp;&amp;r(&quot;showtickprefix&quot;,s);r(&quot;ticksuffix&quot;,o.tickSuffixDflt)&amp;&amp;r(&quot;showticksuffix&quot;,s);if(r(&quot;showticklabels&quot;)){var l=o.font||{},c=e.color===t.color?e.color:l.color;if(n.coerceFont(r,&quot;tickfont&quot;,{family:l.family,size:l.size,color:c}),r(&quot;tickangle&quot;),&quot;category&quot;!==a){var u=r(&quot;tickformat&quot;);!function(t,e){function r(t,e){return n.coerce(s,l,i.tickformatstops,t,e)}var a=t.tickformatstops,o=e.tickformatstops=[];if(Array.isArray(a))for(var s,l,c=0;c&lt;a.length;c++)s=a[c],l={},r(&quot;dtickrange&quot;),r(&quot;value&quot;),o.push(l)}(t,e),u||&quot;date&quot;===a||(r(&quot;showexponent&quot;,s),r(&quot;exponentformat&quot;),r(&quot;separatethousands&quot;))}}&quot;category&quot;===a||o.noHover||r(&quot;hoverformat&quot;)}},{&quot;../../lib&quot;:743,&quot;./layout_attributes&quot;:801}],810:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib&quot;),i=t(&quot;./layout_attributes&quot;);e.exports=function(t,e,r,a){var o=n.coerce2(t,e,i,&quot;ticklen&quot;),s=n.coerce2(t,e,i,&quot;tickwidth&quot;),l=n.coerce2(t,e,i,&quot;tickcolor&quot;,e.color);r(&quot;ticks&quot;,a.outerTicks||o||s||l?&quot;outside&quot;:&quot;&quot;)||(delete e.ticklen,delete e.tickwidth,delete e.tickcolor)}},{&quot;../../lib&quot;:743,&quot;./layout_attributes&quot;:801}],811:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;fast-isnumeric&quot;),i=t(&quot;../../lib&quot;),a=t(&quot;../../constants/numerical&quot;).ONEDAY;e.exports=function(t,e,r,o){var s=&quot;auto&quot;;&quot;array&quot;!==t.tickmode||&quot;log&quot;!==o&amp;&amp;&quot;date&quot;!==o||(t.tickmode=&quot;auto&quot;),Array.isArray(t.tickvals)?s=&quot;array&quot;:t.dtick&amp;&amp;(s=&quot;linear&quot;);var l=r(&quot;tickmode&quot;,s);if(&quot;auto&quot;===l)r(&quot;nticks&quot;);else if(&quot;linear&quot;===l){var c=&quot;date&quot;===o?a:1,u=r(&quot;dtick&quot;,c);if(n(u))e.dtick=u&gt;0?Number(u):c;else if(&quot;string&quot;!=typeof u)e.dtick=c;else{var f=u.charAt(0),h=u.substr(1);((h=n(h)?Number(h):0)&lt;=0||!(&quot;date&quot;===o&amp;&amp;&quot;M&quot;===f&amp;&amp;h===Math.round(h)||&quot;log&quot;===o&amp;&amp;&quot;L&quot;===f||&quot;log&quot;===o&amp;&amp;&quot;D&quot;===f&amp;&amp;(1===h||2===h)))&amp;&amp;(e.dtick=c)}var d=&quot;date&quot;===o?i.dateTick0(e.calendar):0,p=r(&quot;tick0&quot;,d);&quot;date&quot;===o?e.tick0=i.cleanDate(p,d):n(p)&amp;&amp;&quot;D1&quot;!==u&amp;&amp;&quot;D2&quot;!==u?e.tick0=Number(p):e.tick0=d}else{void 0===r(&quot;tickvals&quot;)?e.tickmode=&quot;auto&quot;:r(&quot;ticktext&quot;)}}},{&quot;../../constants/numerical&quot;:721,&quot;../../lib&quot;:743,&quot;fast-isnumeric&quot;:140}],812:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;d3&quot;),i=t(&quot;../../plotly&quot;),a=t(&quot;../../registry&quot;),o=t(&quot;../../components/drawing&quot;),s=t(&quot;./axes&quot;),l=t(&quot;./constants&quot;).attrRegex;e.exports=function(t,e,r,c){function u(t){var e=t.xaxis,r=t.yaxis;d._defs.select(&quot;#&quot;+t.clipId+&quot;&gt; rect&quot;).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(&quot;.scatterlayer .trace&quot;);n.selectAll(&quot;.point&quot;).call(o.setPointGroupScale,1,1),n.selectAll(&quot;.textpoint&quot;).call(o.setTextPointsScale,1,1),n.call(o.hideOutsideRangePoints,t)}function f(e,r){var n,i,l,c=m[e.xaxis._id],u=m[e.yaxis._id],f=[];if(c){i=(n=t._fullLayout[c.axisName])._r,l=c.to,f[0]=(i[0]*(1-r)+r*l[0]-i[0])/(i[1]-i[0])*e.xaxis._length;var h=i[1]-i[0],p=l[1]-l[0];n.range[0]=i[0]*(1-r)+r*l[0],n.range[1]=i[1]*(1-r)+r*l[1],f[2]=e.xaxis._length*(1-r+r*p/h)}else f[0]=0,f[2]=e.xaxis._length;if(u){i=(n=t._fullLayout[u.axisName])._r,l=u.to,f[1]=(i[1]*(1-r)+r*l[1]-i[1])/(i[0]-i[1])*e.yaxis._length;var g=i[1]-i[0],v=l[1]-l[0];n.range[0]=i[0]*(1-r)+r*l[0],n.range[1]=i[1]*(1-r)+r*l[1],f[3]=e.yaxis._length*(1-r+r*v/g)}else f[1]=0,f[3]=e.yaxis._length;!function(e,r){function n(e,r,n){for(i=0;i&lt;e.length;i++){var a=e[i];if(-1===o.indexOf(a.xref)&amp;&amp;-1===o.indexOf(a.yref)||r(t,i),n)return}}var i,o=[];for(o=[e._id,r._id],i=0;i&lt;o.length;i++)s.doTicks(t,o[i],!0);n(d.annotations||[],a.getComponentMethod(&quot;annotations&quot;,&quot;drawOne&quot;)),n(d.shapes||[],a.getComponentMethod(&quot;shapes&quot;,&quot;drawOne&quot;)),n(d.images||[],a.getComponentMethod(&quot;images&quot;,&quot;draw&quot;),!0)}(e.xaxis,e.yaxis);var y=e.xaxis,x=e.yaxis,b=!!c,_=!!u,w=b?y._length/f[2]:1,M=_?x._length/f[3]:1,k=b?f[0]:0,A=_?f[1]:0,T=b?f[0]/f[2]*y._length:0,S=_?f[1]/f[3]*x._length:0,E=y._offset-T,L=x._offset-S;d._defs.select(&quot;#&quot;+e.clipId+&quot;&gt; rect&quot;).call(o.setTranslate,k,A).call(o.setScale,1/w,1/M),e.plot.call(o.setTranslate,E,L).call(o.setScale,w,M).selectAll(&quot;.points&quot;).selectAll(&quot;.point&quot;).call(o.setPointGroupScale,1/w,1/M),e.plot.selectAll(&quot;.points&quot;).selectAll(&quot;.textpoint&quot;).call(o.setTextPointsScale,1/w,1/M)}function h(){b=Date.now();for(var e=Math.min(1,(b-x)/r.duration),n=w(e),a=0;a&lt;v.length;a++)f(v[a],n);b-x&gt;r.duration?(!function(){for(var e={},r=0;r&lt;g.length;r++){var n=t._fullLayout[m[g[r]].axisName],a=m[g[r]].to;e[n._name+&quot;.range[0]&quot;]=a[0],e[n._name+&quot;.range[1]&quot;]=a[1],n.range=a.slice()}y&amp;&amp;y(),i.relayout(t,e).then(function(){for(var t=0;t&lt;v.length;t++)u(v[t])})}(),_=window.cancelAnimationFrame(h)):_=window.requestAnimationFrame(h)}var d=t._fullLayout,p=[],m=function(t){var e,r,n,i,a={};for(e in t)if((r=e.split(&quot;.&quot;))[0].match(l)){var o=e.charAt(0),s=r[0];if(n=d[s],i={},Array.isArray(t[e])?i.to=t[e].slice(0):Array.isArray(t[e].range)&amp;&amp;(i.to=t[e].range.slice(0)),!i.to)continue;i.axisName=s,i.length=n._length,p.push(o),a[o]=i}return a}(e),g=Object.keys(m),v=function(t,e,r){var n,i,a,o=t._plots,s=[];for(n in o){var l=o[n];if(-1===s.indexOf(l)){var c=l.xaxis._id,u=l.yaxis._id,f=l.xaxis.range,h=l.yaxis.range;l.xaxis._r=l.xaxis.range.slice(),l.yaxis._r=l.yaxis.range.slice(),i=r[c]?r[c].to:f,a=r[u]?r[u].to:h,f[0]===i[0]&amp;&amp;f[1]===i[1]&amp;&amp;h[0]===a[0]&amp;&amp;h[1]===a[1]||-1===e.indexOf(c)&amp;&amp;-1===e.indexOf(u)||s.push(l)}}return s}(d,g,m);if(!v.length)return function(){function e(e,r,n){for(var i=0;i&lt;e.length;i++)if(r(t,i),n)return}e(d.annotations||[],a.getComponentMethod(&quot;annotations&quot;,&quot;drawOne&quot;)),e(d.shapes||[],a.getComponentMethod(&quot;shapes&quot;,&quot;drawOne&quot;)),e(d.images||[],a.getComponentMethod(&quot;images&quot;,&quot;draw&quot;),!0)}(),!1;var y;c&amp;&amp;(y=c());var x,b,_,w=n.ease(r.easing);return t._transitionData._interruptCallbacks.push(function(){return window.cancelAnimationFrame(_),_=null,function(){for(var e={},r=0;r&lt;g.length;r++){var n=t._fullLayout[g[r]+&quot;axis&quot;];e[n._name+&quot;.range[0]&quot;]=n.range[0],e[n._name+&quot;.range[1]&quot;]=n.range[1],n.range=n._r.slice()}return i.relayout(t,e).then(function(){for(var t=0;t&lt;v.length;t++)u(v[t])})}()}),x=Date.now(),_=window.requestAnimationFrame(h),Promise.resolve()}},{&quot;../../components/drawing&quot;:643,&quot;../../plotly&quot;:784,&quot;../../registry&quot;:873,&quot;./axes&quot;:789,&quot;./constants&quot;:794,d3:128}],813:[function(t,e,r){&quot;use strict&quot;;function n(t,e){if(&quot;-&quot;===t.type){var r=t._id,n=r.charAt(0);-1!==r.indexOf(&quot;scene&quot;)&amp;&amp;(r=n);var l=function(t,e,r){for(var n=0;n&lt;t.length;n++){var i=t[n];if((i[r+&quot;axis&quot;]||r)===e){if(a(i,r))return i;if((i[r]||[]).length||i[r+&quot;0&quot;])return i}}}(e,r,n);if(l)if(&quot;histogram&quot;!==l.type||n!=={v:&quot;y&quot;,h:&quot;x&quot;}[l.orientation||&quot;v&quot;]){var c=n+&quot;calendar&quot;,u=l[c];if(a(l,n)){for(var f,h=i(l),d=[],p=0;p&lt;e.length;p++)f=e[p],o.traceIs(f,&quot;box-violin&quot;)&amp;&amp;(f[n+&quot;axis&quot;]||n)===r&amp;&amp;(void 0!==f[h]?d.push(f[h][0]):void 0!==f.name?d.push(f.name):d.push(&quot;text&quot;),f[c]!==u&amp;&amp;(u=void 0));t.type=s(d,u)}else t.type=s(l[n]||[l[n+&quot;0&quot;]],u)}else t.type=&quot;linear&quot;}}function i(t){return{v:&quot;x&quot;,h:&quot;y&quot;}[t.orientation||&quot;v&quot;]}function a(t,e){var r=i(t),n=o.traceIs(t,&quot;box-violin&quot;),a=o.traceIs(t._fullInput||{},&quot;candlestick&quot;);return n&amp;&amp;!a&amp;&amp;e===r&amp;&amp;void 0===t[r]&amp;&amp;void 0===t[r+&quot;0&quot;]}var o=t(&quot;../../registry&quot;),s=t(&quot;./axis_autotype&quot;),l=t(&quot;./axis_ids&quot;).name2id;e.exports=function(t,e,r,i,a){a&amp;&amp;(e._name=a,e._id=l(a));&quot;-&quot;===r(&quot;type&quot;)&amp;&amp;(n(e,i),&quot;-&quot;===e.type?e.type=&quot;linear&quot;:t.type=e.type)}},{&quot;../../registry&quot;:873,&quot;./axis_autotype&quot;:790,&quot;./axis_ids&quot;:792}],814:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r){var n,i,a,o=!1;if(&quot;data&quot;===e.type)n=t._fullData[null!==e.traces?e.traces[0]:0];else{if(&quot;layout&quot;!==e.type)return!1;n=t._fullLayout}return i=l.nestedProperty(n,e.prop).get(),(a=r[e.type]=r[e.type]||{}).hasOwnProperty(e.prop)&amp;&amp;a[e.prop]!==i&amp;&amp;(o=!0),a[e.prop]=i,{changed:o,value:i}}function i(t,e){var r=[],n=e[0],i={};if(&quot;string&quot;==typeof n)i[n]=e[1];else{if(!l.isPlainObject(n))return r;i=n}return o(i,function(t,e,n){r.push({type:&quot;layout&quot;,prop:t,value:n})},&quot;&quot;,0),r}function a(t,e){var r,n,i,a,s=[];if(n=e[0],i=e[1],r=e[2],a={},&quot;string&quot;==typeof n)a[n]=i;else{if(!l.isPlainObject(n))return s;a=n,void 0===r&amp;&amp;(r=i)}return void 0===r&amp;&amp;(r=null),o(a,function(e,n,i){var a;if(Array.isArray(i)){var o=Math.min(i.length,t.data.length);r&amp;&amp;(o=Math.min(o,r.length)),a=[];for(var l=0;l&lt;o;l++)a[l]=r?r[l]:l}else a=r?r.slice(0):null;if(null===a)Array.isArray(i)&amp;&amp;(i=i[0]);else if(Array.isArray(a)){if(!Array.isArray(i)){var c=i;i=[];for(var u=0;u&lt;a.length;u++)i[u]=c}i.length=Math.min(a.length,i.length)}s.push({type:&quot;data&quot;,prop:e,traces:a,value:i})},&quot;&quot;,0),s}function o(t,e,r,n){Object.keys(t).forEach(function(i){var a=t[i];if(&quot;_&quot;!==i[0]){var s=r+(n&gt;0?&quot;.&quot;:&quot;&quot;)+i;l.isPlainObject(a)?o(a,e,s,n+1):e(s,i,a)}})}var s=t(&quot;../plotly&quot;),l=t(&quot;../lib&quot;);r.manageCommandObserver=function(t,e,i,a){var o={},s=!0;e&amp;&amp;e._commandObserver&amp;&amp;(o=e._commandObserver),o.cache||(o.cache={}),o.lookupTable={};var c=r.hasSimpleAPICommandBindings(t,i,o.lookupTable);if(e&amp;&amp;e._commandObserver){if(c)return o;if(e._commandObserver.remove)return e._commandObserver.remove(),e._commandObserver=null,o}if(c){n(t,c,o.cache),o.check=function(){if(s){var e=n(t,c,o.cache);return e.changed&amp;&amp;a&amp;&amp;void 0!==o.lookupTable[e.value]&amp;&amp;(o.disable(),Promise.resolve(a({value:e.value,type:c.type,prop:c.prop,traces:c.traces,index:o.lookupTable[e.value]})).then(o.enable,o.enable)),e.changed}};for(var u=[&quot;plotly_relayout&quot;,&quot;plotly_redraw&quot;,&quot;plotly_restyle&quot;,&quot;plotly_update&quot;,&quot;plotly_animatingframe&quot;,&quot;plotly_afterplot&quot;],f=0;f&lt;u.length;f++)t._internalOn(u[f],o.check);o.remove=function(){for(var e=0;e&lt;u.length;e++)t._removeInternalListener(u[e],o.check)}}else l.log(&quot;Unable to automatically bind plot updates to API command&quot;),o.lookupTable={},o.remove=function(){};return o.disable=function(){s=!1},o.enable=function(){s=!0},e&amp;&amp;(e._commandObserver=o),o},r.hasSimpleAPICommandBindings=function(t,e,n){var i,a,o=e.length;for(i=0;i&lt;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&lt;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)&amp;&amp;a.traces.sort();var d=(s=f[0]).value;if(Array.isArray(d)){if(1!==d.length)return!1;d=d[0]}n&amp;&amp;(n[d]=i)}return a},r.executeAPICommand=function(t,e,r){if(&quot;skip&quot;===e)return Promise.resolve();var n=s[e],i=[t];Array.isArray(r)||(r=[]);for(var a=0;a&lt;r.length;a++)i.push(r[a]);return n.apply(null,i).catch(function(t){return l.warn(&quot;API call to Plotly.&quot;+e+&quot; rejected.&quot;,t),Promise.reject(t)})},r.computeAPICommandBindings=function(t,e,r){var n;switch(Array.isArray(r)||(r=[]),e){case&quot;restyle&quot;:n=a(t,r);break;case&quot;relayout&quot;:n=i(0,r);break;case&quot;update&quot;:n=a(t,[r[0],r[2]]).concat(i(0,[r[1]]));break;case&quot;animate&quot;:n=function(t,e){return Array.isArray(e[0])&amp;&amp;1===e[0].length&amp;&amp;-1!==[&quot;string&quot;,&quot;number&quot;].indexOf(typeof e[0][0])?[{type:&quot;layout&quot;,prop:&quot;_currentFrame&quot;,value:e[0][0].toString()}]:[]}(0,r);break;default:n=[]}return n}},{&quot;../lib&quot;:743,&quot;../plotly&quot;:784}],815:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../lib/extend&quot;).extendFlat;e.exports=function(t,e){t=t||{},e=e||{};var r={valType:&quot;info_array&quot;,editType:t.editType,items:[{valType:&quot;number&quot;,min:0,max:1},{valType:&quot;number&quot;,min:0,max:1}],dflt:[0,1]};t.name&amp;&amp;t.name,t.trace,e.description&amp;&amp;e.description;return{x:n({},r,{}),y:n({},r,{}),editType:t.editType}}},{&quot;../lib/extend&quot;:732}],816:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t){var e=t.editType,r=t.colorEditType;void 0===r&amp;&amp;(r=e);var n={family:{valType:&quot;string&quot;,noBlank:!0,strict:!0,editType:e},size:{valType:&quot;number&quot;,min:1,editType:e},color:{valType:&quot;color&quot;,editType:r},editType:e};return t.arrayOk&amp;&amp;(n.family.arrayOk=!0,n.size.arrayOk=!0,n.color.arrayOk=!0),n}},{}],817:[function(t,e,r){&quot;use strict&quot;;e.exports={_isLinkedToArray:&quot;frames_entry&quot;,group:{valType:&quot;string&quot;},name:{valType:&quot;string&quot;},traces:{valType:&quot;any&quot;},baseframe:{valType:&quot;string&quot;},data:{valType:&quot;any&quot;},layout:{valType:&quot;any&quot;}}},{}],818:[function(t,e,r){&quot;use strict&quot;;r.projNames={equirectangular:&quot;equirectangular&quot;,mercator:&quot;mercator&quot;,orthographic:&quot;orthographic&quot;,&quot;natural earth&quot;:&quot;naturalEarth&quot;,kavrayskiy7:&quot;kavrayskiy7&quot;,miller:&quot;miller&quot;,robinson:&quot;robinson&quot;,eckert4:&quot;eckert4&quot;,&quot;azimuthal equal area&quot;:&quot;azimuthalEqualArea&quot;,&quot;azimuthal equidistant&quot;:&quot;azimuthalEquidistant&quot;,&quot;conic equal area&quot;:&quot;conicEqualArea&quot;,&quot;conic conformal&quot;:&quot;conicConformal&quot;,&quot;conic equidistant&quot;:&quot;conicEquidistant&quot;,gnomonic:&quot;gnomonic&quot;,stereographic:&quot;stereographic&quot;,mollweide:&quot;mollweide&quot;,hammer:&quot;hammer&quot;,&quot;transverse mercator&quot;:&quot;transverseMercator&quot;,&quot;albers usa&quot;:&quot;albersUsa&quot;,&quot;winkel tripel&quot;:&quot;winkel3&quot;,aitoff:&quot;aitoff&quot;,sinusoidal:&quot;sinusoidal&quot;},r.axesNames=[&quot;lonaxis&quot;,&quot;lataxis&quot;],r.lonaxisSpan={orthographic:180,&quot;azimuthal equal area&quot;:360,&quot;azimuthal equidistant&quot;:360,&quot;conic conformal&quot;:180,gnomonic:160,stereographic:180,&quot;transverse mercator&quot;:180,&quot;*&quot;:360},r.lataxisSpan={&quot;conic conformal&quot;:150,stereographic:179.5,&quot;*&quot;:180},r.scopeDefaults={world:{lonaxisRange:[-180,180],lataxisRange:[-90,90],projType:&quot;equirectangular&quot;,projRotate:[0,0,0]},usa:{lonaxisRange:[-180,-50],lataxisRange:[15,80],projType:&quot;albers usa&quot;},europe:{lonaxisRange:[-30,60],lataxisRange:[30,85],projType:&quot;conic conformal&quot;,projRotate:[15,0,0],projParallels:[0,60]},asia:{lonaxisRange:[22,160],lataxisRange:[-15,55],projType:&quot;mercator&quot;,projRotate:[0,0,0]},africa:{lonaxisRange:[-30,60],lataxisRange:[-40,40],projType:&quot;mercator&quot;,projRotate:[0,0,0]},&quot;north america&quot;:{lonaxisRange:[-180,-45],lataxisRange:[5,85],projType:&quot;conic conformal&quot;,projRotate:[-100,0,0],projParallels:[29.5,45.5]},&quot;south america&quot;:{lonaxisRange:[-100,-30],lataxisRange:[-60,15],projType:&quot;mercator&quot;,projRotate:[0,0,0]}},r.clipPad=.001,r.precision=.1,r.landColor=&quot;#F0DC82&quot;,r.waterColor=&quot;#3399FF&quot;,r.locationmodeToLayer={&quot;ISO-3&quot;:&quot;countries&quot;,&quot;USA-states&quot;:&quot;subunits&quot;,&quot;country names&quot;:&quot;countries&quot;},r.sphereSVG={type:&quot;Sphere&quot;},r.fillLayers={ocean:1,land:1,lakes:1},r.lineLayers={subunits:1,countries:1,coastlines:1,rivers:1,frame:1},r.layers=[&quot;bg&quot;,&quot;ocean&quot;,&quot;land&quot;,&quot;lakes&quot;,&quot;subunits&quot;,&quot;countries&quot;,&quot;coastlines&quot;,&quot;rivers&quot;,&quot;lataxis&quot;,&quot;lonaxis&quot;,&quot;frame&quot;,&quot;backplot&quot;,&quot;frontplot&quot;],r.layersForChoropleth=[&quot;bg&quot;,&quot;ocean&quot;,&quot;land&quot;,&quot;subunits&quot;,&quot;countries&quot;,&quot;coastlines&quot;,&quot;lataxis&quot;,&quot;lonaxis&quot;,&quot;frame&quot;,&quot;backplot&quot;,&quot;rivers&quot;,&quot;lakes&quot;,&quot;frontplot&quot;],r.layerNameToAdjective={ocean:&quot;ocean&quot;,land:&quot;land&quot;,lakes:&quot;lake&quot;,subunits:&quot;subunit&quot;,countries:&quot;country&quot;,coastlines:&quot;coastline&quot;,rivers:&quot;river&quot;,frame:&quot;frame&quot;}},{}],819:[function(t,e,r){&quot;use strict&quot;;function n(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.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 i=t(&quot;d3&quot;),a=t(&quot;../../plotly&quot;),o=t(&quot;../../lib&quot;),s=t(&quot;../../components/color&quot;),l=t(&quot;../../components/drawing&quot;),c=t(&quot;../../components/fx&quot;),u=t(&quot;../plots&quot;),f=t(&quot;../cartesian/axes&quot;),h=t(&quot;../../components/dragelement&quot;),d=t(&quot;../cartesian/select&quot;),p=t(&quot;./zoom&quot;),m=t(&quot;./constants&quot;),g=t(&quot;../../lib/topojson_utils&quot;),v=t(&quot;topojson-client&quot;).feature;t(&quot;./projections&quot;)(i);var y=n.prototype;e.exports=function(t){return new n(t)},y.plot=function(t,e,r){var n=this,i=e[this.id],a=g.getTopojsonName(i);null===n.topojson||a!==n.topojsonName?(n.topojsonName=a,void 0===PlotlyGeoAssets.topojson[n.topojsonName]?r.push(n.fetchTopojson().then(function(r){PlotlyGeoAssets.topojson[n.topojsonName]=r,n.topojson=r,n.update(t,e)})):(n.topojson=PlotlyGeoAssets.topojson[n.topojsonName],n.update(t,e))):n.update(t,e)},y.fetchTopojson=function(){var t=g.getTopojsonPath(this.topojsonURL,this.topojsonName);return new Promise(function(e,r){i.json(t,function(n,i){if(n)return r(404===n.status?new Error([&quot;plotly.js could not find topojson file at&quot;,t,&quot;.&quot;,&quot;Make sure the *topojsonURL* plot config option&quot;,&quot;is set properly.&quot;].join(&quot; &quot;)):new Error([&quot;unexpected error while fetching topojson file at&quot;,t].join(&quot; &quot;)));e(i)})})},y.update=function(t,e){var r=e[this.id];if(!this.updateProjection(e,r)){this.hasChoropleth=!1;for(var n=0;n&lt;t.length;n++)if(&quot;choropleth&quot;===t[n][0].trace.type){this.hasChoropleth=!0;break}this.viewInitial||this.saveViewInitial(r),this.updateBaseLayers(e,r),this.updateDims(e,r),this.updateFx(e,r),u.generalUpdatePerTraceModule(this.graphDiv,this,t,r);var i=this.layers.frontplot.select(&quot;.scatterlayer&quot;);this.dataPoints.point=i.selectAll(&quot;.point&quot;),this.dataPoints.text=i.selectAll(&quot;text&quot;),this.dataPaths.line=i.selectAll(&quot;.js-line&quot;);var a=this.layers.backplot.select(&quot;.choroplethlayer&quot;);this.dataPaths.choropleth=a.selectAll(&quot;path&quot;),this.render()}},y.updateProjection=function(t,e){var r=t._size,n=e.domain,s=e.projection,l=s.rotation||{},c=e.center||{},u=this.projection=function(t){for(var e=t.projection.type,r=i.geo[m.projNames[e]](),n=t._isClipped?m.lonaxisSpan[e]/2:null,a=[&quot;center&quot;,&quot;rotate&quot;,&quot;parallels&quot;,&quot;clipExtent&quot;],o=function(t){return t?r:[]},s=0;s&lt;a.length;s++){var l=a[s];&quot;function&quot;!=typeof r[l]&amp;&amp;(r[l]=o)}return r.isLonLatOverEdges=function(t){if(null===r(t))return!0;if(n){var e=r.rotate();return i.geo.distance(t,[-e[0],-e[1]])&gt;n*Math.PI/180}return!1},r.getPath=function(){return i.geo.path().projection(r)},r.getBounds=function(t){return r.getPath().bounds(t)},r.fitExtent=function(t,e){var n=t[1][0]-t[0][0],i=t[1][1]-t[0][1],a=r.clipExtent&amp;&amp;r.clipExtent();r.scale(150).translate([0,0]),a&amp;&amp;r.clipExtent(null);var o=r.getBounds(e),s=Math.min(n/(o[1][0]-o[0][0]),i/(o[1][1]-o[0][1])),l=+t[0][0]+(n-s*(o[1][0]+o[0][0]))/2,c=+t[0][1]+(i-s*(o[1][1]+o[0][1]))/2;return a&amp;&amp;r.clipExtent(a),r.scale(150*s).translate([l,c])},r.precision(m.precision),n&amp;&amp;r.clipAngle(n-m.clipPad),r}(e);u.center([c.lon-l.lon,c.lat-l.lat]).rotate([-l.lon,-l.lat,l.roll]).parallels(s.parallels);var f=[[r.l+r.w*n.x[0],r.t+r.h*(1-n.y[1])],[r.l+r.w*n.x[1],r.t+r.h*(1-n.y[0])]],h=e.lonaxis,d=e.lataxis,p=function(t,e){var r=m.clipPad,n=t[0]+r,i=t[1]-r,a=e[0]+r,o=e[1]-r;n&gt;0&amp;&amp;i&lt;0&amp;&amp;(i+=360);var s=(i-n)/4;return{type:&quot;Polygon&quot;,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]]]}}(h.range,d.range);u.fitExtent(f,p);var g=this.bounds=u.getBounds(p),v=this.fitScale=u.scale(),y=u.translate();if(!isFinite(g[0][0])||!isFinite(g[0][1])||!isFinite(g[1][0])||!isFinite(g[1][1])||isNaN(y[0])||isNaN(y[0])){for(var x=this.graphDiv,b=[&quot;projection.rotation&quot;,&quot;center&quot;,&quot;lonaxis.range&quot;,&quot;lataxis.range&quot;],_=&quot;Invalid geo settings, relayout'ing to default view.&quot;,w={},M=0;M&lt;b.length;M++)w[this.id+&quot;.&quot;+b[M]]=null;return this.viewInitial=null,o.warn(_),x._promises.push(a.relayout(x,w)),_}var k=this.midPt=[(g[0][0]+g[1][0])/2,(g[0][1]+g[1][1])/2];if(u.scale(s.scale*v).translate([y[0]+(k[0]-y[0]),y[1]+(k[1]-y[1])]).clipExtent(g),e._isAlbersUsa){var A=u([c.lon,c.lat]),T=u.translate();u.translate([T[0]-(A[0]-T[0]),T[1]-(A[1]-T[1])])}},y.updateBaseLayers=function(t,e){function r(t){return&quot;lonaxis&quot;===t||&quot;lataxis&quot;===t}function n(t){return Boolean(m.lineLayers[t])}function a(t){return Boolean(m.fillLayers[t])}var o=this,c=o.topojson,u=o.layers,f=o.basePaths,h=(this.hasChoropleth?m.layersForChoropleth:m.layers).filter(function(t){return n(t)||a(t)?e[&quot;show&quot;+t]:!r(t)||e[t].showgrid}),d=o.framework.selectAll(&quot;.layer&quot;).data(h,String);d.exit().each(function(t){delete u[t],delete f[t],i.select(this).remove()}),d.enter().append(&quot;g&quot;).attr(&quot;class&quot;,function(t){return&quot;layer &quot;+t}).each(function(t){var e=u[t]=i.select(this);&quot;bg&quot;===t?o.bgRect=e.append(&quot;rect&quot;).style(&quot;pointer-events&quot;,&quot;all&quot;):r(t)?f[t]=e.append(&quot;path&quot;).style(&quot;fill&quot;,&quot;none&quot;):&quot;backplot&quot;===t?e.append(&quot;g&quot;).classed(&quot;choroplethlayer&quot;,!0):&quot;frontplot&quot;===t?e.append(&quot;g&quot;).classed(&quot;scatterlayer&quot;,!0):n(t)?f[t]=e.append(&quot;path&quot;).style(&quot;fill&quot;,&quot;none&quot;).style(&quot;stroke-miterlimit&quot;,2):a(t)&amp;&amp;(f[t]=e.append(&quot;path&quot;).style(&quot;stroke&quot;,&quot;none&quot;))}),d.order(),d.each(function(t){var o=f[t],u=m.layerNameToAdjective[t];&quot;frame&quot;===t?o.datum(m.sphereSVG):n(t)||a(t)?o.datum(v(c,c.objects[t])):r(t)&amp;&amp;o.datum(function(t,e){var r=e[t].dtick,n=m.scopeDefaults[e.scope],a=n.lonaxisRange,o=n.lataxisRange,s=&quot;lonaxis&quot;===t?[r]:[0,r];return i.geo.graticule().extent([[a[0],o[0]],[a[1],o[1]]]).step(s)}(t,e)).call(s.stroke,e[t].gridcolor).call(l.dashLine,&quot;&quot;,e[t].gridwidth),n(t)?o.call(s.stroke,e[u+&quot;color&quot;]).call(l.dashLine,&quot;&quot;,e[u+&quot;width&quot;]):a(t)&amp;&amp;o.call(s.fill,e[u+&quot;color&quot;])})},y.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,c=r[1][1]-a+n;l.setRect(this.clipRect,i,a,o,c),this.bgRect.call(l.setRect,i,a,o,c).call(s.fill,e.bgcolor),this.xaxis._offset=i,this.xaxis._length=o,this.yaxis._offset=a,this.yaxis._length=c},y.updateFx=function(t,e){function r(){var t=o.viewInitial,e={};for(var r in t)e[o.id+&quot;.&quot;+r]=t[r];a.relayout(s,e),s.emit(&quot;plotly_doubleclick&quot;,null)}function n(t){return o.projection.invert([t[0]+o.xaxis._offset,t[1]+o.yaxis._offset])}var o=this,s=o.graphDiv,l=o.bgRect,u=t.dragmode;if(!o.isStatic){if(&quot;pan&quot;===u)l.node().onmousedown=null,l.call(p(o,e)),l.on(&quot;dblclick.zoom&quot;,r);else if(&quot;select&quot;===u||&quot;lasso&quot;===u){l.on(&quot;.zoom&quot;,null);var f;&quot;select&quot;===u?f=function(t,e){(t.range={})[o.id]=[n([e.xmin,e.ymin]),n([e.xmax,e.ymax])]}:&quot;lasso&quot;===u&amp;&amp;(f=function(t,e,r){(t.lassoPoints={})[o.id]=r.filtered.map(n)});var m={element:o.bgRect.node(),gd:s,plotinfo:{xaxis:o.xaxis,yaxis:o.yaxis,fillRangeItems:f},xaxes:[o.xaxis],yaxes:[o.yaxis],subplot:o.id,clickFn:function(e){2===e&amp;&amp;t._zoomlayer.selectAll(&quot;.select-outline&quot;).remove()}};m.prepFn=function(t,e,r){d(t,e,r,m,u)},h.init(m)}l.on(&quot;mousemove&quot;,function(){var t=o.projection.invert(i.mouse(this));if(!t||isNaN(t[0])||isNaN(t[1]))return h.unhover(s,i.event);o.xaxis.p2c=function(){return t[0]},o.yaxis.p2c=function(){return t[1]},c.hover(s,i.event,o.id)}),l.on(&quot;mouseout&quot;,function(){h.unhover(s,i.event)}),l.on(&quot;click&quot;,function(){c.click(s,i.event)})}},y.makeFramework=function(){var t=this,e=t.graphDiv._fullLayout,r=&quot;clip&quot;+e._uid+t.id;t.clipDef=e._clips.append(&quot;clipPath&quot;).attr(&quot;id&quot;,r),t.clipRect=t.clipDef.append(&quot;rect&quot;),t.framework=i.select(t.container).append(&quot;g&quot;).attr(&quot;class&quot;,&quot;geo &quot;+t.id).call(l.setClipUrl,r),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:&quot;x&quot;,c2p:function(e){return t.project(e)[0]}},t.yaxis={_id:&quot;y&quot;,c2p:function(e){return t.project(e)[1]}},t.mockAxis={type:&quot;linear&quot;,showexponent:&quot;all&quot;,exponentformat:&quot;B&quot;},f.setConvert(t.mockAxis,e)},y.saveViewInitial=function(t){var e=t.center||{},r=t.projection,n=r.rotation||{};t._isScoped?this.viewInitial={&quot;center.lon&quot;:e.lon,&quot;center.lat&quot;:e.lat,&quot;projection.scale&quot;:r.scale}:t._isClipped?this.viewInitial={&quot;projection.scale&quot;:r.scale,&quot;projection.rotation.lon&quot;:n.lon,&quot;projection.rotation.lat&quot;:n.lat}:this.viewInitial={&quot;center.lon&quot;:e.lon,&quot;center.lat&quot;:e.lat,&quot;projection.scale&quot;:r.scale,&quot;projection.rotation.lon&quot;:n.lon}},y.render=function(){function t(t){var e=n(t.lonlat);return e?&quot;translate(&quot;+e[0]+&quot;,&quot;+e[1]+&quot;)&quot;:null}function e(t){return n.isLonLatOverEdges(t.lonlat)?&quot;none&quot;:null}var r,n=this.projection,i=n.getPath();for(r in this.basePaths)this.basePaths[r].attr(&quot;d&quot;,i);for(r in this.dataPaths)this.dataPaths[r].attr(&quot;d&quot;,function(t){return i(t.geojson)});for(r in this.dataPoints)this.dataPoints[r].attr(&quot;display&quot;,e).attr(&quot;transform&quot;,t)}},{&quot;../../components/color&quot;:618,&quot;../../components/dragelement&quot;:640,&quot;../../components/drawing&quot;:643,&quot;../../components/fx&quot;:660,&quot;../../lib&quot;:743,&quot;../../lib/topojson_utils&quot;:769,&quot;../../plotly&quot;:784,&quot;../cartesian/axes&quot;:789,&quot;../cartesian/select&quot;:807,&quot;../plots&quot;:852,&quot;./constants&quot;:818,&quot;./projections&quot;:824,&quot;./zoom&quot;:825,d3:128,&quot;topojson-client&quot;:549}],820:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;./geo&quot;),i=t(&quot;../../plots/get_data&quot;).getSubplotCalcData,a=t(&quot;../../lib&quot;).counterRegex;r.name=&quot;geo&quot;,r.attr=&quot;geo&quot;,r.idRoot=&quot;geo&quot;,r.idRegex=r.attrRegex=a(&quot;geo&quot;),r.attributes=t(&quot;./layout/attributes&quot;),r.layoutAttributes=t(&quot;./layout/layout_attributes&quot;),r.supplyLayoutDefaults=t(&quot;./layout/defaults&quot;),r.plot=function(t){var e=t._fullLayout,r=t.calcdata,a=e._subplots.geo;void 0===window.PlotlyGeoAssets&amp;&amp;(window.PlotlyGeoAssets={topojson:{}});for(var o=0;o&lt;a.length;o++){var s=a[o],l=i(r,&quot;geo&quot;,s),c=e[s]._subplot;c||(c=n({id:s,graphDiv:t,container:e._geolayer.node(),topojsonURL:t._context.topojsonURL,staticPlot:t._context.staticPlot}),e[s]._subplot=c),c.plot(l,e,t._promises)}},r.clean=function(t,e,r,n){for(var i=n._subplots.geo||[],a=0;a&lt;i.length;a++){var o=i[a],s=n[o]._subplot;!e[o]&amp;&amp;s&amp;&amp;(s.framework.remove(),s.clipDef.remove())}},r.updateFx=function(t){for(var e=t._subplots.geo,r=0;r&lt;e.length;r++){var n=t[e[r]];n._subplot.updateFx(t,n)}}},{&quot;../../lib&quot;:743,&quot;../../plots/get_data&quot;:826,&quot;./geo&quot;:819,&quot;./layout/attributes&quot;:821,&quot;./layout/defaults&quot;:822,&quot;./layout/layout_attributes&quot;:823}],821:[function(t,e,r){&quot;use strict&quot;;e.exports={geo:{valType:&quot;subplotid&quot;,dflt:&quot;geo&quot;,editType:&quot;calc&quot;}}},{}],822:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r){var n=r(&quot;resolution&quot;),i=r(&quot;scope&quot;),o=a.scopeDefaults[i],l=r(&quot;projection.type&quot;,o.projType),c=e._isAlbersUsa=&quot;albers usa&quot;===l;c&amp;&amp;(i=e.scope=&quot;usa&quot;);var u=e._isScoped=&quot;world&quot;!==i,f=e._isConic=-1!==l.indexOf(&quot;conic&quot;);e._isClipped=!!a.lonaxisSpan[l];for(var h=0;h&lt;s.length;h++){var d,p=s[h],m=[30,10][h];if(u)d=o[p+&quot;Range&quot;];else{var g=a[p+&quot;Span&quot;],v=(g[l]||g[&quot;*&quot;])/2,y=r(&quot;projection.rotation.&quot;+p.substr(0,3),o.projRotate[h]);d=[y-v,y+v]}r(p+&quot;.tick0&quot;,r(p+&quot;.range&quot;,d)[0]),r(p+&quot;.dtick&quot;,m),r(p+&quot;.showgrid&quot;)&amp;&amp;(r(p+&quot;.gridcolor&quot;),r(p+&quot;.gridwidth&quot;))}var x=e.lonaxis.range,b=e.lataxis.range,_=x[0],w=x[1];_&gt;0&amp;&amp;w&lt;0&amp;&amp;(w+=360);var M,k=(_+w)/2;if(!c){var A=u?o.projRotate:[k,0,0];M=r(&quot;projection.rotation.lon&quot;,A[0]),r(&quot;projection.rotation.lat&quot;,A[1]),r(&quot;projection.rotation.roll&quot;,A[2]),r(&quot;showcoastlines&quot;,!u)&amp;&amp;(r(&quot;coastlinecolor&quot;),r(&quot;coastlinewidth&quot;)),r(&quot;showocean&quot;)&amp;&amp;r(&quot;oceancolor&quot;)}var T,S;if(c?(T=-96.6,S=38.7):(T=u?k:M,S=(b[0]+b[1])/2),r(&quot;center.lon&quot;,T),r(&quot;center.lat&quot;,S),f){r(&quot;projection.parallels&quot;,o.projParallels||[0,60])}r(&quot;projection.scale&quot;),r(&quot;showland&quot;)&amp;&amp;r(&quot;landcolor&quot;),r(&quot;showlakes&quot;)&amp;&amp;r(&quot;lakecolor&quot;),r(&quot;showrivers&quot;)&amp;&amp;(r(&quot;rivercolor&quot;),r(&quot;riverwidth&quot;)),r(&quot;showcountries&quot;,u&amp;&amp;&quot;usa&quot;!==i)&amp;&amp;(r(&quot;countrycolor&quot;),r(&quot;countrywidth&quot;)),(&quot;usa&quot;===i||&quot;north america&quot;===i&amp;&amp;50===n)&amp;&amp;(r(&quot;showsubunits&quot;,!0),r(&quot;subunitcolor&quot;),r(&quot;subunitwidth&quot;)),u||r(&quot;showframe&quot;,!0)&amp;&amp;(r(&quot;framecolor&quot;),r(&quot;framewidth&quot;)),r(&quot;bgcolor&quot;)}var i=t(&quot;../../subplot_defaults&quot;),a=t(&quot;../constants&quot;),o=t(&quot;./layout_attributes&quot;),s=a.axesNames;e.exports=function(t,e,r){i(t,e,r,{type:&quot;geo&quot;,attributes:o,handleDefaults:n,partition:&quot;y&quot;})}},{&quot;../../subplot_defaults&quot;:865,&quot;../constants&quot;:818,&quot;./layout_attributes&quot;:823}],823:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../../components/color/attributes&quot;),i=t(&quot;../../domain_attributes&quot;),a=t(&quot;../constants&quot;),o=t(&quot;../../../plot_api/edit_types&quot;).overrideAll,s={range:{valType:&quot;info_array&quot;,items:[{valType:&quot;number&quot;},{valType:&quot;number&quot;}]},showgrid:{valType:&quot;boolean&quot;,dflt:!1},tick0:{valType:&quot;number&quot;},dtick:{valType:&quot;number&quot;},gridcolor:{valType:&quot;color&quot;,dflt:n.lightLine},gridwidth:{valType:&quot;number&quot;,min:0,dflt:1}};e.exports=o({domain:i({name:&quot;geo&quot;},{}),resolution:{valType:&quot;enumerated&quot;,values:[110,50],dflt:110,coerceNumber:!0},scope:{valType:&quot;enumerated&quot;,values:Object.keys(a.scopeDefaults),dflt:&quot;world&quot;},projection:{type:{valType:&quot;enumerated&quot;,values:Object.keys(a.projNames)},rotation:{lon:{valType:&quot;number&quot;},lat:{valType:&quot;number&quot;},roll:{valType:&quot;number&quot;}},parallels:{valType:&quot;info_array&quot;,items:[{valType:&quot;number&quot;},{valType:&quot;number&quot;}]},scale:{valType:&quot;number&quot;,min:0,dflt:1}},center:{lon:{valType:&quot;number&quot;},lat:{valType:&quot;number&quot;}},showcoastlines:{valType:&quot;boolean&quot;},coastlinecolor:{valType:&quot;color&quot;,dflt:n.defaultLine},coastlinewidth:{valType:&quot;number&quot;,min:0,dflt:1},showland:{valType:&quot;boolean&quot;,dflt:!1},landcolor:{valType:&quot;color&quot;,dflt:a.landColor},showocean:{valType:&quot;boolean&quot;,dflt:!1},oceancolor:{valType:&quot;color&quot;,dflt:a.waterColor},showlakes:{valType:&quot;boolean&quot;,dflt:!1},lakecolor:{valType:&quot;color&quot;,dflt:a.waterColor},showrivers:{valType:&quot;boolean&quot;,dflt:!1},rivercolor:{valType:&quot;color&quot;,dflt:a.waterColor},riverwidth:{valType:&quot;number&quot;,min:0,dflt:1},showcountries:{valType:&quot;boolean&quot;},countrycolor:{valType:&quot;color&quot;,dflt:n.defaultLine},countrywidth:{valType:&quot;number&quot;,min:0,dflt:1},showsubunits:{valType:&quot;boolean&quot;},subunitcolor:{valType:&quot;color&quot;,dflt:n.defaultLine},subunitwidth:{valType:&quot;number&quot;,min:0,dflt:1},showframe:{valType:&quot;boolean&quot;},framecolor:{valType:&quot;color&quot;,dflt:n.defaultLine},framewidth:{valType:&quot;number&quot;,min:0,dflt:1},bgcolor:{valType:&quot;color&quot;,dflt:n.background},lonaxis:s,lataxis:s},&quot;plot&quot;,&quot;from-root&quot;)},{&quot;../../../components/color/attributes&quot;:617,&quot;../../../plot_api/edit_types&quot;:773,&quot;../../domain_attributes&quot;:815,&quot;../constants&quot;:818}],824:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t){function e(t,e){return{type:&quot;Feature&quot;,id:t.id,properties:t.properties,geometry:r(t.geometry,e)}}function r(e,n){if(!e)return null;if(&quot;GeometryCollection&quot;===e.type)return{type:&quot;GeometryCollection&quot;,geometries:object.geometries.map(function(t){return r(t,n)})};if(!M.hasOwnProperty(e.type))return null;var i=M[e.type];return t.geo.stream(e,n(i)),i.result()}function n(){}function i(t){return t&gt;1?S:t&lt;-1?-S:Math.asin(t)}function a(t){return t&gt;1?0:t&lt;-1?T:Math.acos(t)}function o(t,e){var r=(2+S)*Math.sin(e);e/=2;for(var n=0,i=1/0;n&lt;10&amp;&amp;Math.abs(i)&gt;k;n++){var a=Math.cos(e);e-=i=(e+Math.sin(e)*(a+2)-r)/(2*a*(1+a))}return[2/Math.sqrt(T*(4+T))*t*(1+Math.cos(e)),2*Math.sqrt(T/(4+T))*Math.sin(e)]}function s(t,e){function r(r,n){var i=D(r/e,n);return i[0]*=t,i}return arguments.length&lt;2&amp;&amp;(e=t),1===e?D:e===1/0?l:(r.invert=function(r,n){var i=D.invert(r/t,n);return i[0]*=e,i},r)}function l(t,e){return[t*Math.cos(e)/Math.cos(e/=2),2*Math.sin(e)]}function c(t,e){return[3*t/(2*T)*Math.sqrt(T*T/3-e*e),e]}function u(t,e){return[t,1.25*Math.log(Math.tan(T/4+.4*e))]}function f(t){return function(e){var r,n=t*Math.sin(e),i=30;do{e-=r=(e+Math.sin(e)-n)/(1+Math.cos(e))}while(Math.abs(r)&gt;k&amp;&amp;--i&gt;0);return e/2}}function h(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 d(t,e){var r,n=Math.min(18,36*Math.abs(e)/T),i=Math.floor(n),a=n-i,o=(r=P[i])[0],s=r[1],l=(r=P[++i])[0],c=r[1],u=(r=P[Math.min(19,++i)])[0],f=r[1];return[t*(l+a*(u-o)/2+a*a*(u-2*l+o)/2),(e&gt;0?S:-S)*(c+a*(f-s)/2+a*a*(f-2*c+s)/2)]}function p(t,e){return[t*Math.cos(e),e]}function m(t,e){var r=Math.cos(e),n=function(t){return t?t/Math.sin(t):1}(a(r*Math.cos(t/=2)));return[2*r*Math.sin(t)*n,Math.sin(e)*n]}function g(t,e){var r=m(t,e);return[(r[0]+t/S)/2,(r[1]+e)/2]}t.geo.project=function(t,e){var n=e.stream;if(!n)throw new Error(&quot;not yet supported&quot;);return(t&amp;&amp;v.hasOwnProperty(t.type)?v[t.type]:r)(t,n)};var v={Feature:e,FeatureCollection:function(t,r){return{type:&quot;FeatureCollection&quot;,features:t.features.map(function(t){return e(t,r)})}}},y=[],x=[],b={point:function(t,e){y.push([t,e])},result:function(){var t=y.length?y.length&lt;2?{type:&quot;Point&quot;,coordinates:y[0]}:{type:&quot;MultiPoint&quot;,coordinates:y}:null;return y=[],t}},_={lineStart:n,point:function(t,e){y.push([t,e])},lineEnd:function(){y.length&amp;&amp;(x.push(y),y=[])},result:function(){var t=x.length?x.length&lt;2?{type:&quot;LineString&quot;,coordinates:x[0]}:{type:&quot;MultiLineString&quot;,coordinates:x}:null;return x=[],t}},w={polygonStart:n,lineStart:n,point:function(t,e){y.push([t,e])},lineEnd:function(){var t=y.length;if(t){do{y.push(y[0].slice())}while(++t&lt;4);x.push(y),y=[]}},polygonEnd:n,result:function(){if(!x.length)return null;var t=[],e=[];return x.forEach(function(r){!function(t){if((e=t.length)&lt;4)return!1;for(var e,r=0,n=t[e-1][1]*t[0][0]-t[e-1][0]*t[0][1];++r&lt;e;)n+=t[r-1][1]*t[r][0]-t[r-1][0]*t[r][1];return n&lt;=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&lt;o;s=a++){var l=t[a],c=l[0],u=l[1],f=t[s],h=f[0],d=f[1];u&gt;n^d&gt;n&amp;&amp;r&lt;(h-c)*(n-u)/(d-u)+c&amp;&amp;(i=!i)}return i}(t[0],r))return t.push(e),!0})||t.push([e])}),x=[],t.length?t.length&gt;1?{type:&quot;MultiPolygon&quot;,coordinates:t}:{type:&quot;Polygon&quot;,coordinates:t[0]}:null}},M={Point:b,MultiPoint:b,LineString:_,MultiLineString:_,Polygon:w,MultiPolygon:w,Sphere:w},k=1e-6,A=k*k,T=Math.PI,S=T/2,E=(Math.sqrt(T),T/180),L=180/T,C=t.geo.projection,z=t.geo.projectionMutator;t.geo.interrupt=function(e){function r(t,r){for(var n=r&lt;0?-1:1,i=a[+(r&lt;0)],o=0,s=i.length-1;o&lt;s&amp;&amp;t&gt;i[o][2][0];++o);var l=e(t-i[o][1][0],r);return l[0]+=e(i[o][1][0],n*r&gt;n*i[o][0][1]?i[o][0][1]:r)[0],l}function n(t,e){for(var r,n,i,a=-1,o=t.length,s=t[0],l=[];++a&lt;o;){n=((r=t[a])[0]-s[0])/e,i=(r[1]-s[1])/e;for(var c=0;c&lt;e;++c)l.push([s[0]+c*n,s[1]+c*i]);s=r}return l.push(r),l}var i,a=[[[[-T,0],[0,S],[T,0]]],[[[-T,0],[0,-S],[T,0]]]];e.invert&amp;&amp;(r.invert=function(t,n){for(var o=i[+(n&lt;0)],s=a[+(n&lt;0)],l=0,c=o.length;l&lt;c;++l){var u=o[l];if(u[0][0]&lt;=t&amp;&amp;t&lt;u[1][0]&amp;&amp;u[0][1]&lt;=n&amp;&amp;n&lt;u[1][1]){var f=e.invert(t-e(s[l][1][0],0)[0],n);return f[0]+=s[l][1][0],function(t,e){return Math.abs(t[0]-e[0])&lt;k&amp;&amp;Math.abs(t[1]-e[1])&lt;k}(r(f[0],f[1]),[t,n])?f:null}}});var o=t.geo.projection(r),s=o.stream;return o.stream=function(e){var r=o.rotate(),i=s(e),l=(o.rotate([0,0]),s(e));return o.rotate(r),i.sphere=function(){t.geo.stream(function(){for(var e=[],r=0,i=a[0].length;r&lt;i;++r){var o=180*(f=a[0][r])[0][0]/T,s=180*f[0][1]/T,l=180*f[1][1]/T,c=180*f[2][0]/T,u=180*f[2][1]/T;e.push(n([[o+1e-6,s+1e-6],[o+1e-6,l-1e-6],[c-1e-6,l-1e-6],[c-1e-6,u+1e-6]],30))}for(r=a[1].length-1;r&gt;=0;--r){var f;o=180*(f=a[1][r])[0][0]/T,s=180*f[0][1]/T,l=180*f[1][1]/T,c=180*f[2][0]/T,u=180*f[2][1]/T,e.push(n([[c-1e-6,u-1e-6],[c-1e-6,l+1e-6],[o+1e-6,l+1e-6],[o+1e-6,s-1e-6]],30))}return{type:&quot;Polygon&quot;,coordinates:[t.merge(e)]}}(),l)},i},o.lobes=function(t){return arguments.length?(a=t.map(function(t){return t.map(function(t){return[[t[0][0]*T/180,t[0][1]*T/180],[t[1][0]*T/180,t[1][1]*T/180],[t[2][0]*T/180,t[2][1]*T/180]]})}),i=a.map(function(t){return t.map(function(t){var r,n=e(t[0][0],t[0][1])[0],i=e(t[2][0],t[2][1])[0],a=e(t[1][0],t[0][1])[1],o=e(t[1][0],t[1][1])[1];return a&gt;o&amp;&amp;(r=a,a=o,o=r),[[n,a],[i,o]]})}),o):a.map(function(t){return t.map(function(t){return[[180*t[0][0]/T,180*t[0][1]/T],[180*t[1][0]/T,180*t[1][1]/T],[180*t[2][0]/T,180*t[2][1]/T]]})})},o},o.invert=function(t,e){var r=.5*e*Math.sqrt((4+T)/T),n=i(r),a=Math.cos(n);return[t/(2/Math.sqrt(T*(4+T))*(1+a)),i((n+r*(a+2))/(2+S))]},(t.geo.eckert4=function(){return C(o)}).raw=o;var D=t.geo.azimuthalEqualArea.raw;l.invert=function(t,e){var r=2*i(e/2);return[t*Math.cos(r/2)/Math.cos(r),r]},(t.geo.hammer=function(){var t=2,e=z(s),r=e(t);return r.coefficient=function(r){return arguments.length?e(t=+r):t},r}).raw=s,c.invert=function(t,e){return[2/3*T*t/Math.sqrt(T*T/3-e*e),e]},(t.geo.kavrayskiy7=function(){return C(c)}).raw=c,u.invert=function(t,e){return[t,2.5*Math.atan(Math.exp(.8*e))-.625*T]},(t.geo.miller=function(){return C(u)}).raw=u,f(T);var I=function(t,e,r){function n(r,n){return[t*r*Math.cos(n=a(n)),e*Math.sin(n)]}var a=f(r);return n.invert=function(n,a){var o=i(a/e);return[n/(t*Math.cos(o)),i((2*o+Math.sin(2*o))/r)]},n}(Math.SQRT2/S,Math.SQRT2,T);(t.geo.mollweide=function(){return C(I)}).raw=I,h.invert=function(t,e){var r,n=e,i=25;do{var a=n*n,o=a*a;n-=r=(n*(1.007226+a*(.015085+o*(.028874*a-.044475-.005916*o)))-e)/(1.007226+a*(.045255+o*(.259866*a-.311325-.005916*11*o)))}while(Math.abs(r)&gt;k&amp;&amp;--i&gt;0);return[t/(.8707+(a=n*n)*(a*(a*a*a*(.003971-.001529*a)-.013791)-.131979)),n]},(t.geo.naturalEarth=function(){return C(h)}).raw=h;var P=[[.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]];P.forEach(function(t){t[1]*=1.0144}),d.invert=function(t,e){var r=e/S,n=90*r,i=Math.min(18,Math.abs(n/5)),a=Math.max(0,Math.floor(i));do{var o=P[a][1],s=P[a+1][1],l=P[Math.min(19,a+2)][1],c=l-o,u=l-2*s+o,f=2*(Math.abs(r)-s)/c,h=u/c,d=f*(1-h*f*(1-2*h*f));if(d&gt;=0||1===a){n=(e&gt;=0?5:-5)*(d+i);var p,m=50;do{d=(i=Math.min(18,Math.abs(n)/5))-(a=Math.floor(i)),o=P[a][1],s=P[a+1][1],l=P[Math.min(19,a+2)][1],n-=(p=(e&gt;=0?S:-S)*(s+d*(l-o)/2+d*d*(l-2*s+o)/2)-e)*L}while(Math.abs(p)&gt;A&amp;&amp;--m&gt;0);break}}while(--a&gt;=0);var g=P[a][0],v=P[a+1][0],y=P[Math.min(19,a+2)][0];return[t/(v+d*(y-g)/2+d*d*(y-2*v+g)/2),n*E]},(t.geo.robinson=function(){return C(d)}).raw=d,p.invert=function(t,e){return[t/Math.cos(e),e]},(t.geo.sinusoidal=function(){return C(p)}).raw=p,m.invert=function(t,e){if(!(t*t+4*e*e&gt;T*T+k)){var r=t,n=e,i=25;do{var o,s=Math.sin(r),l=Math.sin(r/2),c=Math.cos(r/2),u=Math.sin(n),f=Math.cos(n),h=Math.sin(2*n),d=u*u,p=f*f,m=l*l,g=1-p*c*c,v=g?a(f*c)*Math.sqrt(o=1/g):o=0,y=2*v*f*l-t,x=v*u-e,b=o*(p*m+v*f*c*d),_=o*(.5*s*h-2*v*u*l),w=.25*o*(h*l-v*u*p*s),M=o*(d*c+v*m*f),A=_*w-M*b;if(!A)break;var S=(x*_-y*M)/A,E=(y*w-x*b)/A;r-=S,n-=E}while((Math.abs(S)&gt;k||Math.abs(E)&gt;k)&amp;&amp;--i&gt;0);return[r,n]}},(t.geo.aitoff=function(){return C(m)}).raw=m,g.invert=function(t,e){var r=t,n=e,i=25;do{var o,s=Math.cos(n),l=Math.sin(n),c=Math.sin(2*n),u=l*l,f=s*s,h=Math.sin(r),d=Math.cos(r/2),p=Math.sin(r/2),m=p*p,g=1-f*d*d,v=g?a(s*d)*Math.sqrt(o=1/g):o=0,y=.5*(2*v*s*p+r/S)-t,x=.5*(v*l+n)-e,b=.5*o*(f*m+v*s*d*u)+.5/S,_=o*(h*c/4-v*l*p),w=.125*o*(c*p-v*l*f*h),M=.5*o*(u*d+v*m*s)+.5,A=_*w-M*b,T=(x*_-y*M)/A,E=(y*w-x*b)/A;r-=T,n-=E}while((Math.abs(T)&gt;k||Math.abs(E)&gt;k)&amp;&amp;--i&gt;0);return[r,n]},(t.geo.winkel3=function(){return C(g)}).raw=g}},{}],825:[function(t,e,r){&quot;use strict&quot;;function n(t,e){return d.behavior.zoom().translate(e.translate()).scale(e.scale())}function i(t,e,r){function n(t,e){var r=p.nestedProperty(s,t);r.get()!==e&amp;&amp;(r.set(e),p.nestedProperty(o,t).set(e),l[i+&quot;.&quot;+t]=e)}var i=t.id,a=t.graphDiv,o=a.layout[i],s=a._fullLayout[i],l={};r(n),n(&quot;projection.scale&quot;,e.scale()/t.fitScale),a.emit(&quot;plotly_relayout&quot;,l)}function a(t,e){function r(r){var n=e.invert(t.midPt);r(&quot;center.lon&quot;,n[0]),r(&quot;center.lat&quot;,n[1])}var a=n(0,e);return a.on(&quot;zoomstart&quot;,function(){d.select(this).style(v)}).on(&quot;zoom&quot;,function(){e.scale(d.event.scale).translate(d.event.translate),t.render()}).on(&quot;zoomend&quot;,function(){d.select(this).style(y),i(t,e,r)}),a}function o(t,e){function r(t){return e.invert(t)}function a(r){var n=e.rotate(),i=e.invert(t.midPt);r(&quot;projection.rotation.lon&quot;,-n[0]),r(&quot;center.lon&quot;,i[0]),r(&quot;center.lat&quot;,i[1])}var o,s,l,c,u,f,h,p,m=n(0,e),g=2;return m.on(&quot;zoomstart&quot;,function(){d.select(this).style(v),o=d.mouse(this),s=e.rotate(),l=e.translate(),c=s,u=r(o)}).on(&quot;zoom&quot;,function(){if(f=d.mouse(this),function(t){var n=e(r(t));return Math.abs(n[0]-t[0])&gt;g||Math.abs(n[1]-t[1])&gt;g}(o))return m.scale(e.scale()),void m.translate(e.translate());e.scale(d.event.scale),e.translate([l[0],d.event.translate[1]]),u?r(f)&amp;&amp;(p=r(f),h=[c[0]+(p[0]-u[0]),s[1],s[2]],e.rotate(h),c=h):u=r(o=f),t.render()}).on(&quot;zoomend&quot;,function(){d.select(this).style(y),i(t,e,a)}),m}function s(t,e){function r(t){var r=e.rotate();t(&quot;projection.rotation.lon&quot;,-r[0]),t(&quot;projection.rotation.lat&quot;,-r[1])}var a,o={r:e.rotate(),k:e.scale()},s=n(0,e),u=function(t){var e=0,r=arguments.length,n=[];for(;++e&lt;r;)n.push(arguments[e]);var i=d.dispatch.apply(null,n);return i.of=function(e,r){return function(n){var a;try{a=n.sourceEvent=d.event,n.target=t,d.event=n,i[n.type].apply(e,r)}finally{d.event=a}}},i}(s,&quot;zoomstart&quot;,&quot;zoom&quot;,&quot;zoomend&quot;),p=0,x=s.on;return s.on(&quot;zoomstart&quot;,function(){d.select(this).style(v);var t=d.mouse(this),r=e.rotate(),n=r,i=e.translate(),y=function(t){var e=.5*t[0]*m,r=.5*t[1]*m,n=.5*t[2]*m,i=Math.sin(e),a=Math.cos(e),o=Math.sin(r),s=Math.cos(r),l=Math.sin(n),c=Math.cos(n);return[a*s*c+i*o*l,i*s*c-a*o*l,a*o*c+i*s*l,a*s*l-i*o*c]}(r);a=l(e,t),x.call(s,&quot;zoom&quot;,function(){var s=d.mouse(this);if(e.scale(o.k=d.event.scale),a){if(l(e,s)){e.rotate(r).translate(i);var p=l(e,s),m=function(t,e){if(!t||!e)return;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(h(r,r)),i=.5*Math.acos(Math.max(-1,Math.min(1,h(t,e)))),a=Math.sin(i)/n;return n&amp;&amp;[Math.cos(i),r[2]*a,-r[1]*a,r[0]*a]}(a,p),v=function(t){return[Math.atan2(2*(t[0]*t[1]+t[2]*t[3]),1-2*(t[1]*t[1]+t[2]*t[2]))*g,Math.asin(Math.max(-1,Math.min(1,2*(t[0]*t[2]-t[3]*t[1]))))*g,Math.atan2(2*(t[0]*t[3]+t[1]*t[2]),1-2*(t[2]*t[2]+t[3]*t[3]))*g]}(function(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]}(y,m)),x=o.r=function(t,e,r){var n=f(e,2,t[0]);n=f(n=f(n,1,t[1]),0,t[2]-r[2]);var i,a,o=e[0],s=e[1],l=e[2],u=n[0],h=n[1],d=n[2],p=Math.atan2(s,o)*g,m=Math.sqrt(o*o+s*s);Math.abs(h)&gt;m?(a=(h&gt;0?90:-90)-p,i=0):(a=Math.asin(h/m)*g-p,i=Math.sqrt(m*m-h*h));var v=180-a-2*p,y=(Math.atan2(d,u)-Math.atan2(l,i))*g,x=(Math.atan2(d,u)-Math.atan2(l,-i))*g,b=c(r[0],r[1],a,y),_=c(r[0],r[1],v,x);return b&lt;=_?[a,y,r[2]]:[v,x,r[2]]}(v,a,n);isFinite(x[0])&amp;&amp;isFinite(x[1])&amp;&amp;isFinite(x[2])||(x=n),e.rotate(x),n=x}}else a=l(e,t=s);!function(t){t({type:&quot;zoom&quot;})}(u.of(this,arguments))}),function(t){p++||t({type:&quot;zoomstart&quot;})}(u.of(this,arguments))}).on(&quot;zoomend&quot;,function(){d.select(this).style(y),x.call(s,&quot;zoom&quot;,null),function(t){--p||t({type:&quot;zoomend&quot;})}(u.of(this,arguments)),i(t,e,r)}).on(&quot;zoom.redraw&quot;,function(){t.render()}),d.rebind(s,u,&quot;on&quot;)}function l(t,e){var r=t.invert(e);return r&amp;&amp;isFinite(r[0])&amp;&amp;isFinite(r[1])&amp;&amp;function(t){var e=t[0]*m,r=t[1]*m,n=Math.cos(r);return[n*Math.cos(e),n*Math.sin(e),Math.sin(r)]}(r)}function c(t,e,r,n){var i=u(r-t),a=u(n-e);return Math.sqrt(i*i+a*a)}function u(t){return(t%360+540)%360-180}function f(t,e,r){var n=r*m,i=t.slice(),a=0===e?1:0,o=2===e?1:2,s=Math.cos(n),l=Math.sin(n);return i[a]=t[a]*s-t[o]*l,i[o]=t[o]*s+t[a]*l,i}function h(t,e){for(var r=0,n=0,i=t.length;n&lt;i;++n)r+=t[n]*e[n];return r}var d=t(&quot;d3&quot;),p=t(&quot;../../lib&quot;),m=Math.PI/180,g=180/Math.PI,v={cursor:&quot;pointer&quot;},y={cursor:&quot;auto&quot;};e.exports=function(t,e){var r=t.projection;return(e._isScoped?a:e._isClipped?s:o)(t,r)}},{&quot;../../lib&quot;:743,d3:128}],826:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../registry&quot;),i=t(&quot;./cartesian/constants&quot;).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&lt;t.length;s++){var l=t[s];l[0].trace[a]===r&amp;&amp;o.push(l)}return o},r.getModuleCalcData=function(t,e){var r=[],i=&quot;string&quot;==typeof e?n.getModule(e):e;if(!i)return r;for(var a=0;a&lt;t.length;a++){var o=t[a],s=o[0].trace;s._module===i&amp;&amp;!0===s.visible&amp;&amp;r.push(o)}return r},r.getSubplotData=function(t,e,r){if(!n.subplotsRegistry[e])return[];var a,o,s,l=n.subplotsRegistry[e].attr,c=[];if(&quot;gl2d&quot;===e){var u=r.match(i);o=&quot;x&quot;+u[1],s=&quot;y&quot;+u[2]}for(var f=0;f&lt;t.length;f++)a=t[f],&quot;gl2d&quot;===e&amp;&amp;n.traceIs(a,&quot;gl2d&quot;)?a[l[0]]===o&amp;&amp;a[l[1]]===s&amp;&amp;c.push(a):a[l]===r&amp;&amp;c.push(a);return c}},{&quot;../registry&quot;:873,&quot;./cartesian/constants&quot;:794}],827:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;mouse-change&quot;),i=t(&quot;mouse-wheel&quot;),a=t(&quot;mouse-event-offset&quot;),o=t(&quot;../cartesian/constants&quot;);e.exports=function(t){function e(){t.xaxis.autorange=!1,t.yaxis.autorange=!1}function r(r,n,i){function a(e,r,n){var i=Math.min(r,n),a=Math.max(r,n);i!==a?(f[e]=i,f[e+2]=a,c.dataBox=f,t.setRanges(f)):(t.selectBox.selectBox=[0,0,1,1],t.glplot.setDirty())}var s,u,f=t.calcDataBox(),h=l.viewBox,d=c.lastPos[0],p=c.lastPos[1],m=o.MINDRAG*l.pixelRatio,g=o.MINZOOM*l.pixelRatio;switch(n*=l.pixelRatio,i*=l.pixelRatio,i=h[3]-h[1]-i,t.fullLayout.dragmode){case&quot;zoom&quot;:if(r){var v=n/(h[2]-h[0])*(f[2]-f[0])+f[0],y=i/(h[3]-h[1])*(f[3]-f[1])+f[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]&amp;&amp;c.boxStart[1]===c.boxEnd[1]||(c.boxEnabled=!0);var x=Math.abs(c.dragStart[0]-n)&lt;g,b=Math.abs(c.dragStart[1]-i)&lt;g;if(!function(){for(var e=t.graphDiv._fullLayout._axisConstraintGroups,r=t.xaxis._id,n=t.yaxis._id,i=0;i&lt;e.length;i++)if(-1!==e[i][r]){if(-1!==e[i][n])return!0;break}return!1}()||x&amp;&amp;b)x&amp;&amp;(c.boxEnd[0]=c.boxStart[0]),b&amp;&amp;(c.boxEnd[1]=c.boxStart[1]);else{s=c.boxEnd[0]-c.boxStart[0],u=c.boxEnd[1]-c.boxStart[1];var _=(f[3]-f[1])/(f[2]-f[0]);Math.abs(s*_)&gt;Math.abs(u)?(c.boxEnd[1]=c.boxStart[1]+Math.abs(s)*_*(u&gt;=0?1:-1),c.boxEnd[1]&lt;f[1]?(c.boxEnd[1]=f[1],c.boxEnd[0]=c.boxStart[0]+(f[1]-c.boxStart[1])/Math.abs(_)):c.boxEnd[1]&gt;f[3]&amp;&amp;(c.boxEnd[1]=f[3],c.boxEnd[0]=c.boxStart[0]+(f[3]-c.boxStart[1])/Math.abs(_))):(c.boxEnd[0]=c.boxStart[0]+Math.abs(u)/_*(s&gt;=0?1:-1),c.boxEnd[0]&lt;f[0]?(c.boxEnd[0]=f[0],c.boxEnd[1]=c.boxStart[1]+(f[0]-c.boxStart[0])*Math.abs(_)):c.boxEnd[0]&gt;f[2]&amp;&amp;(c.boxEnd[0]=f[2],c.boxEnd[1]=c.boxStart[1]+(f[2]-c.boxStart[0])*Math.abs(_)))}}else c.boxEnabled?(s=c.boxStart[0]!==c.boxEnd[0],u=c.boxStart[1]!==c.boxEnd[1],s||u?(s&amp;&amp;(a(0,c.boxStart[0],c.boxEnd[0]),t.xaxis.autorange=!1),u&amp;&amp;(a(1,c.boxStart[1],c.boxEnd[1]),t.yaxis.autorange=!1),t.relayoutCallback()):t.glplot.setDirty(),c.boxEnabled=!1,c.boxInited=!1):c.boxInited&amp;&amp;(c.boxInited=!1);break;case&quot;pan&quot;:c.boxEnabled=!1,c.boxInited=!1,r?(c.panning||(c.dragStart[0]=n,c.dragStart[1]=i),Math.abs(c.dragStart[0]-n)&lt;m&amp;&amp;(n=c.dragStart[0]),Math.abs(c.dragStart[1]-i)&lt;m&amp;&amp;(i=c.dragStart[1]),s=(d-n)*(f[2]-f[0])/(l.viewBox[2]-l.viewBox[0]),u=(p-i)*(f[3]-f[1])/(l.viewBox[3]-l.viewBox[1]),f[0]+=s,f[2]+=s,f[1]+=u,f[3]+=u,t.setRanges(f),c.panning=!0,c.lastInputTime=Date.now(),e(),t.cameraChanged(),t.handleAnnotations()):c.panning&amp;&amp;(c.panning=!1,t.relayoutCallback())}c.lastPos[0]=n,c.lastPos[1]=i}var s=t.mouseContainer,l=t.glplot,c=new function(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]}(s,l);return c.mouseListener=n(s,r),s.addEventListener(&quot;touchstart&quot;,function(t){var e=a(t.changedTouches[0],s);r(0,e[0],e[1]),r(1,e[0],e[1])}),s.addEventListener(&quot;touchmove&quot;,function(t){t.preventDefault();var e=a(t.changedTouches[0],s);r(1,e[0],e[1])}),s.addEventListener(&quot;touchend&quot;,function(){r(0,c.lastPos[0],c.lastPos[1])}),c.wheelListener=i(s,function(r,n){if(!t.scrollZoom)return!1;var i=t.calcDataBox(),a=l.viewBox,o=c.lastPos[0],s=c.lastPos[1],u=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)*u+f,i[2]=(i[2]-f)*u+f,i[1]=(i[1]-h)*u+h,i[3]=(i[3]-h)*u+h,t.setRanges(i),c.lastInputTime=Date.now(),e(),t.cameraChanged(),t.handleAnnotations(),t.relayoutCallback(),!0}),c}},{&quot;../cartesian/constants&quot;:794,&quot;mouse-change&quot;:443,&quot;mouse-event-offset&quot;:444,&quot;mouse-wheel&quot;:446}],828:[function(t,e,r){&quot;use strict&quot;;function n(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=[&quot;x&quot;,&quot;y&quot;],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=[&quot;sans-serif&quot;,&quot;sans-serif&quot;],this.labelColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.title=&quot;&quot;,this.titleEnable=!0,this.titleCenter=[0,0,0,0],this.titleAngle=0,this.titleColor=[0,0,0,1],this.titleFont=&quot;sans-serif&quot;,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=!1,this.backgroundColor=[0,0,0,0],this.static=this.scene.staticPlot}var i=t(&quot;../cartesian/axes&quot;),a=t(&quot;../../lib/html2unicode&quot;),o=t(&quot;../../lib/str2rgbarray&quot;),s=n.prototype,l=[&quot;xaxis&quot;,&quot;yaxis&quot;];s.merge=function(t){this.titleEnable=!1,this.backgroundColor=o(t.plot_bgcolor);var e,r,n,i,s,c,u,f,h,d,p;for(d=0;d&lt;2;++d){var m=(e=l[d]).charAt(0);for(n=(r=t[this.scene[e]._name]).title===this.scene.fullLayout._dfltTitle[m]?&quot;&quot;:r.title,p=0;p&lt;=2;p+=2)this.labelEnable[d+p]=!1,this.labels[d+p]=a(n),this.labelColor[d+p]=o(r.titlefont.color),this.labelFont[d+p]=r.titlefont.family,this.labelSize[d+p]=r.titlefont.size,this.labelPad[d+p]=this.getLabelPad(e,r),this.tickEnable[d+p]=!1,this.tickColor[d+p]=o((r.tickfont||{}).color),this.tickAngle[d+p]=&quot;auto&quot;===r.tickangle?0:Math.PI*-r.tickangle/180,this.tickPad[d+p]=this.getTickPad(r),this.tickMarkLength[d+p]=0,this.tickMarkWidth[d+p]=r.tickwidth||0,this.tickMarkColor[d+p]=o(r.tickcolor),this.borderLineEnable[d+p]=!1,this.borderLineColor[d+p]=o(r.linecolor),this.borderLineWidth[d+p]=r.linewidth||0;u=this.hasSharedAxis(r),s=this.hasAxisInDfltPos(e,r)&amp;&amp;!u,c=this.hasAxisInAltrPos(e,r)&amp;&amp;!u,i=r.mirror||!1,f=u?-1!==String(i).indexOf(&quot;all&quot;):!!i,h=u?&quot;allticks&quot;===i:-1!==String(i).indexOf(&quot;ticks&quot;),s?this.labelEnable[d]=!0:c&amp;&amp;(this.labelEnable[d+2]=!0),s?this.tickEnable[d]=r.showticklabels:c&amp;&amp;(this.tickEnable[d+2]=r.showticklabels),(s||f)&amp;&amp;(this.borderLineEnable[d]=r.showline),(c||f)&amp;&amp;(this.borderLineEnable[d+2]=r.showline),(s||h)&amp;&amp;(this.tickMarkLength[d]=this.getTickMarkLength(r)),(c||h)&amp;&amp;(this.tickMarkLength[d+2]=this.getTickMarkLength(r)),this.gridLineEnable[d]=r.showgrid,this.gridLineColor[d]=o(r.gridcolor),this.gridLineWidth[d]=r.gridwidth,this.zeroLineEnable[d]=r.zeroline,this.zeroLineColor[d]=o(r.zerolinecolor),this.zeroLineWidth[d]=r.zerolinewidth}},s.hasSharedAxis=function(t){var e=this.scene,r=e.fullLayout._subplots.gl2d;return 0!==i.findSubplotsWithAxis(r,t).indexOf(e.id)},s.hasAxisInDfltPos=function(t,e){var r=e.side;return&quot;xaxis&quot;===t?&quot;bottom&quot;===r:&quot;yaxis&quot;===t?&quot;left&quot;===r:void 0},s.hasAxisInAltrPos=function(t,e){var r=e.side;return&quot;xaxis&quot;===t?&quot;top&quot;===r:&quot;yaxis&quot;===t?&quot;right&quot;===r:void 0},s.getLabelPad=function(t,e){var r=e.titlefont.size,n=e.showticklabels;return&quot;xaxis&quot;===t?&quot;top&quot;===e.side?r*(1.5+(n?1:0))-10:r*(1.5+(n?.5:0))-10:&quot;yaxis&quot;===t?&quot;right&quot;===e.side?10+r*(1.5+(n?1:.5)):10+r*(1.5+(n?.5:0)):void 0},s.getTickPad=function(t){return&quot;outside&quot;===t.ticks?10+t.ticklen:15},s.getTickMarkLength=function(t){if(!t.ticks)return 0;var e=t.ticklen;return&quot;inside&quot;===t.ticks?-e:e},e.exports=function(t){return new n(t)}},{&quot;../../lib/html2unicode&quot;:741,&quot;../../lib/str2rgbarray&quot;:765,&quot;../cartesian/axes&quot;:789}],829:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../plot_api/edit_types&quot;).overrideAll,i=t(&quot;./scene2d&quot;),a=t(&quot;../layout_attributes&quot;),o=t(&quot;../../constants/xmlns_namespaces&quot;),s=t(&quot;../cartesian/constants&quot;),l=t(&quot;../cartesian&quot;),c=t(&quot;../../components/fx/layout_attributes&quot;),u=t(&quot;../get_data&quot;).getSubplotData;r.name=&quot;gl2d&quot;,r.attr=[&quot;xaxis&quot;,&quot;yaxis&quot;],r.idRoot=[&quot;x&quot;,&quot;y&quot;],r.idRegex=s.idRegex,r.attrRegex=s.attrRegex,r.attributes=t(&quot;../cartesian/attributes&quot;),r.supplyLayoutDefaults=function(t,e,r){e._has(&quot;cartesian&quot;)||l.supplyLayoutDefaults(t,e,r)},r.layoutAttrOverrides=n(l.layoutAttributes,&quot;plot&quot;,&quot;from-root&quot;),r.baseLayoutAttrOverrides=n({plot_bgcolor:a.plot_bgcolor,hoverlabel:c.hoverlabel},&quot;plot&quot;,&quot;nested&quot;),r.plot=function(t){for(var e=t._fullLayout,r=t._fullData,n=e._subplots.gl2d,a=0;a&lt;n.length;a++){var o=n[a],s=e._plots[o],l=u(r,&quot;gl2d&quot;,o),c=s._scene2d;void 0===c&amp;&amp;(c=new i({id:o,graphDiv:t,container:t.querySelector(&quot;.gl-container&quot;),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&lt;i.length;a++){var o=i[a],s=n._plots[o];if(s._scene2d){0===u(t,&quot;gl2d&quot;,o).length&amp;&amp;(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&lt;r.length;n++){var i=e._plots[r[n]]._scene2d,a=i.toImage(&quot;png&quot;);e._glimages.append(&quot;svg:image&quot;).attr({xmlns:o.svg,&quot;xlink:href&quot;:a,x:0,y:0,width:&quot;100%&quot;,height:&quot;100%&quot;,preserveAspectRatio:&quot;none&quot;}),i.destroy()}},r.updateFx=function(t){for(var e=t._subplots.gl2d,r=0;r&lt;e.length;r++){t._plots[e[r]]._scene2d.updateFx(t.dragmode)}}},{&quot;../../components/fx/layout_attributes&quot;:661,&quot;../../constants/xmlns_namespaces&quot;:723,&quot;../../plot_api/edit_types&quot;:773,&quot;../cartesian&quot;:800,&quot;../cartesian/attributes&quot;:788,&quot;../cartesian/constants&quot;:794,&quot;../get_data&quot;:826,&quot;../layout_attributes&quot;:843,&quot;./scene2d&quot;:830}],830:[function(t,e,r){&quot;use strict&quot;;function n(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,this.fullData=null,this.updateRefs(e),this.makeFramework(),this.glplotOptions=d(this),this.glplotOptions.merge(e),this.glplot=c(this.glplotOptions),this.camera=p(this),this.traces={},this.spikes=u(this.glplot),this.selectBox=f(this.glplot,{innerFill:!1,outerFill:!0}),this.lastButtonState=0,this.pickResult=null,this.isMouseOver=!0,this.bounds=[1/0,1/0,-1/0,-1/0],this.stopped=!1,this.redraw=this.draw.bind(this),this.redraw()}var i,a,o=t(&quot;../../registry&quot;),s=t(&quot;../../plots/cartesian/axes&quot;),l=t(&quot;../../components/fx&quot;),c=t(&quot;gl-plot2d&quot;),u=t(&quot;gl-spikes2d&quot;),f=t(&quot;gl-select-box&quot;),h=t(&quot;webgl-context&quot;),d=t(&quot;./convert&quot;),p=t(&quot;./camera&quot;),m=t(&quot;../../lib/html2unicode&quot;),g=t(&quot;../../lib/show_no_webgl_msg&quot;),v=t(&quot;../cartesian/constraints&quot;),y=v.enforce,x=v.clean,b=[&quot;xaxis&quot;,&quot;yaxis&quot;],_=t(&quot;../cartesian/constants&quot;).SUBPLOT_PATTERN;e.exports=n;var w=n.prototype;w.makeFramework=function(){if(this.staticPlot){if(!(a||(i=document.createElement(&quot;canvas&quot;),a=h({canvas:i,preserveDrawingBuffer:!1,premultipliedAlpha:!0,antialias:!0}))))throw new Error(&quot;Error creating static canvas/context for image server&quot;);this.canvas=i,this.gl=a}else{var t=this.container.querySelector(&quot;.gl-canvas-focus&quot;),e=h({canvas:t,preserveDrawingBuffer:!0,premultipliedAlpha:!0});e||g(this),this.canvas=t,this.gl=e}var r=this.canvas;r.style.width=&quot;100%&quot;,r.style.height=&quot;100%&quot;,r.style.position=&quot;absolute&quot;,r.style.top=&quot;0px&quot;,r.style.left=&quot;0px&quot;,r.style[&quot;pointer-events&quot;]=&quot;none&quot;,this.updateSize(r),r.className+=&quot; user-select-none&quot;;var n=this.svgContainer=document.createElementNS(&quot;http://www.w3.org/2000/svg&quot;,&quot;svg&quot;);n.style.position=&quot;absolute&quot;,n.style.top=n.style.left=&quot;0px&quot;,n.style.width=n.style.height=&quot;100%&quot;,n.style[&quot;z-index&quot;]=20,n.style[&quot;pointer-events&quot;]=&quot;none&quot;;var o=this.mouseContainer=document.createElement(&quot;div&quot;);o.style.position=&quot;absolute&quot;,o.style[&quot;pointer-events&quot;]=&quot;auto&quot;,this.pickCanvas=this.container.querySelector(&quot;.gl-canvas-pick&quot;);var s=this.container;s.appendChild(n),s.appendChild(o);var l=this;o.addEventListener(&quot;mouseout&quot;,function(){l.isMouseOver=!1,l.unhover()}),o.addEventListener(&quot;mouseover&quot;,function(){l.isMouseOver=!0})},w.toImage=function(t){t||(t=&quot;png&quot;),this.stopped=!0,this.staticPlot&amp;&amp;this.container.appendChild(i),this.updateSize(this.canvas);var e=this.glplot.gl,r=e.drawingBufferWidth,n=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*n*4);e.readPixels(0,0,r,n,e.RGBA,e.UNSIGNED_BYTE,a);for(var o=0,s=n-1;o&lt;s;++o,--s)for(var l=0;l&lt;r;++l)for(var c=0;c&lt;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(&quot;canvas&quot;);f.width=r,f.height=n;var h=f.getContext(&quot;2d&quot;),d=h.createImageData(r,n);d.data.set(a),h.putImageData(d,0,0);var p;switch(t){case&quot;jpeg&quot;:p=f.toDataURL(&quot;image/jpeg&quot;);break;case&quot;webp&quot;:p=f.toDataURL(&quot;image/webp&quot;);break;default:p=f.toDataURL(&quot;image/png&quot;)}return this.staticPlot&amp;&amp;this.container.removeChild(i),p},w.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&amp;&amp;t.height===o||(t.width=a,t.height=o),this.redraw&amp;&amp;this.redraw(),t},w.computeTickMarks=function(){this.xaxis.setScale(),this.yaxis.setScale();for(var t=[s.calcTicks(this.xaxis),s.calcTicks(this.yaxis)],e=0;e&lt;2;++e)for(var r=0;r&lt;t[e].length;++r)t[e][r].text=m(t[e][r].text+&quot;&quot;);return t},w.updateRefs=function(t){this.fullLayout=t;var e=this.id.match(_),r=&quot;xaxis&quot;+e[1],n=&quot;yaxis&quot;+e[2];this.xaxis=this.fullLayout[r],this.yaxis=this.fullLayout[n]},w.relayoutCallback=function(){var t=this.graphDiv,e=this.xaxis,r=this.yaxis,n=t.layout;n.xaxis.autorange=e.autorange,n.xaxis.range=e.range.slice(0),n.yaxis.autorange=r.autorange,n.yaxis.range=r.range.slice(0);var i={lastInputTime:this.camera.lastInputTime};i[e._name]=e.range.slice(0),i[r._name]=r.range.slice(0),t.emit(&quot;plotly_relayout&quot;,i)},w.cameraChanged=function(){var t=this.camera;this.glplot.setDataBox(this.calcDataBox());var e=this.computeTickMarks();(function(t,e){for(var r=0;r&lt;2;++r){var n=t[r],i=e[r];if(n.length!==i.length)return!0;for(var a=0;a&lt;n.length;++a)if(n[a].x!==i[a].x)return!0}return!1})(e,this.glplotOptions.ticks)&amp;&amp;(this.glplotOptions.ticks=e,this.glplotOptions.dataBox=t.dataBox,this.glplot.update(this.glplotOptions),this.handleAnnotations())},w.handleAnnotations=function(){for(var t=this.graphDiv,e=this.fullLayout.annotations,r=0;r&lt;e.length;r++){var n=e[r];n.xref===this.xaxis._id&amp;&amp;n.yref===this.yaxis._id&amp;&amp;o.getComponentMethod(&quot;annotations&quot;,&quot;drawOne&quot;)(t,r)}},w.destroy=function(){if(this.glplot){var t=this.traces;t&amp;&amp;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(&quot;wheel&quot;,this.camera.wheelListener),this.camera=null}},w.plot=function(t,e,r){var n=this.glplot;this.updateRefs(r),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 l={_fullLayout:{_axisConstraintGroups:this.graphDiv._fullLayout._axisConstraintGroups,xaxis:this.xaxis,yaxis:this.yaxis}};x(l,this.xaxis),x(l,this.yaxis);var c=r._size,u=this.xaxis.domain,f=this.yaxis.domain;o.viewBox=[c.l+u[0]*c.w,c.b+f[0]*c.h,i-c.r-(1-u[1])*c.w,a-c.t-(1-f[1])*c.h],this.mouseContainer.style.width=c.w*(u[1]-u[0])+&quot;px&quot;,this.mouseContainer.style.height=c.h*(f[1]-f[0])+&quot;px&quot;,this.mouseContainer.height=c.h*(f[1]-f[0]),this.mouseContainer.style.left=c.l+u[0]*c.w+&quot;px&quot;,this.mouseContainer.style.top=c.t+(1-f[1])*c.h+&quot;px&quot;;var h=this.bounds;h[0]=h[1]=1/0,h[2]=h[3]=-1/0;var d,p,m=Object.keys(this.traces);for(p=0;p&lt;m.length;++p)for(var g=this.traces[m[p]],v=0;v&lt;2;++v)h[v]=Math.min(h[v],g.bounds[v]),h[v+2]=Math.max(h[v+2],g.bounds[v+2]);for(p=0;p&lt;2;++p)h[p]&gt;h[p+2]&amp;&amp;(h[p]=-1,h[p+2]=1),(d=this[b[p]])._length=o.viewBox[p+2]-o.viewBox[p],s.doAutoRange(d),d.setScale();y(l),o.ticks=this.computeTickMarks(),o.dataBox=this.calcDataBox(),o.merge(r),n.update(o),this.glplot.draw()},w.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])]},w.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])]},w.updateTraces=function(t,e){var r,n,i,a=Object.keys(this.traces);this.fullData=t;t:for(r=0;r&lt;a.length;r++){var o=a[r],s=this.traces[o];for(n=0;n&lt;t.length;n++)if((i=t[n]).uid===o&amp;&amp;i.type===s.type)continue t;s.dispose(),delete this.traces[o]}for(r=0;r&lt;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})},w.updateFx=function(t){&quot;lasso&quot;===t||&quot;select&quot;===t?(this.pickCanvas.style[&quot;pointer-events&quot;]=&quot;none&quot;,this.mouseContainer.style[&quot;pointer-events&quot;]=&quot;none&quot;):(this.pickCanvas.style[&quot;pointer-events&quot;]=&quot;auto&quot;,this.mouseContainer.style[&quot;pointer-events&quot;]=&quot;auto&quot;),this.mouseContainer.style.cursor=&quot;pan&quot;===t?&quot;move&quot;:&quot;zoom&quot;===t?&quot;crosshair&quot;:null},w.emitPointAction=function(t,e){for(var r,n=t.trace.uid,i=t.pointIndex,a=0;a&lt;this.fullData.length;a++)this.fullData[a].uid===n&amp;&amp;(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};l.appendArrayPointValue(o,r,i),this.graphDiv.emit(e,{points:[o]})},w.draw=function(){if(!this.stopped){requestAnimationFrame(this.redraw);var t=this.glplot,e=this.camera,r=e.mouseListener,n=1===this.lastButtonState&amp;&amp;0===r.buttons,i=this.fullLayout;this.lastButtonState=r.buttons,this.cameraChanged();var a,o=r.x*t.pixelRatio,s=this.canvas.height-t.pixelRatio*r.y;if(e.boxEnabled&amp;&amp;&quot;zoom&quot;===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&lt;2;u++)e.boxStart[u]===e.boxEnd[u]&amp;&amp;(c[u]=t.dataBox[u],c[u+2]=t.dataBox[u+2]);t.setDirty()}else if(!e.panning&amp;&amp;this.isMouseOver){this.selectBox.enabled=!1;var f=i._size,h=this.xaxis.domain,d=this.yaxis.domain,p=(a=t.pick(o/t.pixelRatio+f.l+h[0]*f.w,s/t.pixelRatio-(f.t+(1-d[1])*f.h)))&amp;&amp;a.object._trace.handlePick(a);if(p&amp;&amp;n&amp;&amp;this.emitPointAction(p,&quot;plotly_click&quot;),a&amp;&amp;&quot;skip&quot;!==a.object._trace.hoverinfo&amp;&amp;i.hovermode&amp;&amp;p&amp;&amp;(!this.lastPickResult||this.lastPickResult.traceUid!==p.trace.uid||this.lastPickResult.dataCoord[0]!==p.dataCoord[0]||this.lastPickResult.dataCoord[1]!==p.dataCoord[1])){var m=p;this.lastPickResult={traceUid:p.trace?p.trace.uid:null,dataCoord:p.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(p,&quot;plotly_hover&quot;);var g=this.fullData[m.trace.index]||{},v=m.pointIndex,y=l.castHoverinfo(g,i,v);if(y&amp;&amp;&quot;all&quot;!==y){var x=y.split(&quot;+&quot;);-1===x.indexOf(&quot;x&quot;)&amp;&amp;(m.traceCoord[0]=void 0),-1===x.indexOf(&quot;y&quot;)&amp;&amp;(m.traceCoord[1]=void 0),-1===x.indexOf(&quot;z&quot;)&amp;&amp;(m.traceCoord[2]=void 0),-1===x.indexOf(&quot;text&quot;)&amp;&amp;(m.textLabel=void 0),-1===x.indexOf(&quot;name&quot;)&amp;&amp;(m.name=void 0)}l.loneHover({x:m.screenCoord[0],y:m.screenCoord[1],xLabel:this.hoverFormatter(&quot;xaxis&quot;,m.traceCoord[0]),yLabel:this.hoverFormatter(&quot;yaxis&quot;,m.traceCoord[1]),zLabel:m.traceCoord[2],text:m.textLabel,name:m.name,color:l.castHoverOption(g,v,&quot;bgcolor&quot;)||m.color,borderColor:l.castHoverOption(g,v,&quot;bordercolor&quot;),fontFamily:l.castHoverOption(g,v,&quot;font.family&quot;),fontSize:l.castHoverOption(g,v,&quot;font.size&quot;),fontColor:l.castHoverOption(g,v,&quot;font.color&quot;)},{container:this.svgContainer,gd:this.graphDiv})}}a||this.unhover(),t.draw()}},w.unhover=function(){this.lastPickResult&amp;&amp;(this.spikes.update({}),this.lastPickResult=null,this.graphDiv.emit(&quot;plotly_unhover&quot;),l.loneUnhover(this.svgContainer))},w.hoverFormatter=function(t,e){if(void 0!==e){var r=this[t];return s.tickText(r,r.c2l(e),&quot;hover&quot;).text}}},{&quot;../../components/fx&quot;:660,&quot;../../lib/html2unicode&quot;:741,&quot;../../lib/show_no_webgl_msg&quot;:763,&quot;../../plots/cartesian/axes&quot;:789,&quot;../../registry&quot;:873,&quot;../cartesian/constants&quot;:794,&quot;../cartesian/constraints&quot;:796,&quot;./camera&quot;:827,&quot;./convert&quot;:828,&quot;gl-plot2d&quot;:224,&quot;gl-select-box&quot;:241,&quot;gl-spikes2d&quot;:250,&quot;webgl-context&quot;:577}],831:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t,e){function r(e,r,i,a){var o=p.keyBindingMode;if(!1!==o){var s=&quot;rotate&quot;===o,l=&quot;pan&quot;===o,u=&quot;zoom&quot;===o,h=!!a.control,d=!!a.alt,y=!!a.shift,x=!!(1&amp;e),b=!!(2&amp;e),_=!!(4&amp;e),w=1/t.clientHeight,M=w*(r-m),k=w*(i-g),A=p.flipX?1:-1,T=p.flipY?1:-1,S=n(),E=Math.PI*p.rotateSpeed;if((s&amp;&amp;x&amp;&amp;!h&amp;&amp;!d&amp;&amp;!y||x&amp;&amp;!h&amp;&amp;!d&amp;&amp;y)&amp;&amp;c.rotate(S,A*E*M,-T*E*k,0),(l&amp;&amp;x&amp;&amp;!h&amp;&amp;!d&amp;&amp;!y||b||x&amp;&amp;h&amp;&amp;!d&amp;&amp;!y)&amp;&amp;c.pan(S,-p.translateSpeed*M*f,p.translateSpeed*k*f,0),u&amp;&amp;x&amp;&amp;!h&amp;&amp;!d&amp;&amp;!y||_||x&amp;&amp;!h&amp;&amp;d&amp;&amp;!y){var L=-p.zoomSpeed*k/window.innerHeight*(S-c.lastT())*100;c.pan(S,0,0,f*(Math.exp(L)-1))}return m=r,g=i,v=a,!0}}t=t||document.body;var l=[.01,1/0];&quot;distanceLimits&quot;in(e=e||{})&amp;&amp;(l[0]=e.distanceLimits[0],l[1]=e.distanceLimits[1]),&quot;zoomMin&quot;in e&amp;&amp;(l[0]=e.zoomMin),&quot;zoomMax&quot;in e&amp;&amp;(l[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||&quot;orbit&quot;,distanceLimits:l}),u=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],f=0,h=t.clientWidth,d=t.clientHeight,p={keyBindingMode:&quot;rotate&quot;,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,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&lt;16;++s)a=a&amp;&amp;u[s]===o[s],u[s]=o[s];var l=t.clientWidth===h&amp;&amp;t.clientHeight===d;return h=t.clientWidth,d=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)}};Object.defineProperties(p,{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),&quot;turntable&quot;===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(l)},set:function(t){return c.setDistanceLimits(t),t},enumerable:!0}}),t.addEventListener(&quot;contextmenu&quot;,function(t){return t.preventDefault(),!1});var m=0,g=0,v={shift:!1,control:!1,alt:!1,meta:!1};return p.mouseListener=a(t,r),t.addEventListener(&quot;touchstart&quot;,function(e){var n=s(e.changedTouches[0],t);r(0,n[0],n[1],v),r(1,n[0],n[1],v)}),t.addEventListener(&quot;touchmove&quot;,function(e){var n=s(e.changedTouches[0],t);r(1,n[0],n[1],v)}),t.addEventListener(&quot;touchend&quot;,function(){r(0,m,g,v)}),p.wheelListener=o(t,function(t,e){if(!1!==p.keyBindingMode){var r=p.flipX?1:-1,i=p.flipY?1:-1,a=n();if(Math.abs(t)&gt;Math.abs(e))c.rotate(a,0,0,-t*r*Math.PI*p.rotateSpeed/window.innerWidth);else{var o=-p.zoomSpeed*i*e/window.innerHeight*(a-c.lastT())/20;c.pan(a,0,0,f*(Math.exp(o)-1))}}},!0),p};var n=t(&quot;right-now&quot;),i=t(&quot;3d-view&quot;),a=t(&quot;mouse-change&quot;),o=t(&quot;mouse-wheel&quot;),s=t(&quot;mouse-event-offset&quot;)},{&quot;3d-view&quot;:40,&quot;mouse-change&quot;:443,&quot;mouse-event-offset&quot;:444,&quot;mouse-wheel&quot;:446,&quot;right-now&quot;:509}],832:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../plot_api/edit_types&quot;).overrideAll,i=t(&quot;../../components/fx/layout_attributes&quot;),a=t(&quot;./scene&quot;),o=t(&quot;../get_data&quot;).getSubplotData,s=t(&quot;../../lib&quot;),l=t(&quot;../../constants/xmlns_namespaces&quot;);r.name=&quot;gl3d&quot;,r.attr=&quot;scene&quot;,r.idRoot=&quot;scene&quot;,r.idRegex=r.attrRegex=s.counterRegex(&quot;scene&quot;),r.attributes=t(&quot;./layout/attributes&quot;),r.layoutAttributes=t(&quot;./layout/layout_attributes&quot;),r.baseLayoutAttrOverrides=n({hoverlabel:i.hoverlabel},&quot;plot&quot;,&quot;nested&quot;),r.supplyLayoutDefaults=t(&quot;./layout/defaults&quot;),r.plot=function(t){for(var e=t._fullLayout,r=t._fullData,n=e._subplots.gl3d,i=0;i&lt;n.length;i++){var l=n[i],c=o(r,&quot;gl3d&quot;,l),u=e[l],f=u._scene;f||(f=new a({id:l,graphDiv:t,container:t.querySelector(&quot;.gl-container&quot;),staticPlot:t._context.staticPlot,plotGlPixelRatio:t._context.plotGlPixelRatio},e),u._scene=f),f.cameraInitial||(f.cameraInitial=s.extendDeep({},u.camera)),f.plot(c,e,t.layout)}},r.clean=function(t,e,r,n){for(var i=n._subplots.gl3d||[],a=0;a&lt;i.length;a++){var o=i[a];!e[o]&amp;&amp;n[o]._scene&amp;&amp;(n[o]._scene.destroy(),n._infolayer&amp;&amp;n._infolayer.selectAll(&quot;.annotation-&quot;+o).remove())}},r.toSVG=function(t){for(var e=t._fullLayout,r=e._subplots.gl3d,n=e._size,i=0;i&lt;r.length;i++){var a=e[r[i]],o=a.domain,s=a._scene,c=s.toImage(&quot;png&quot;);e._glimages.append(&quot;svg:image&quot;).attr({xmlns:l.svg,&quot;xlink:href&quot;: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:&quot;none&quot;}),s.destroy()}},r.cleanId=function(t){if(t.match(/^scene[0-9]*$/)){var e=t.substr(5);return&quot;1&quot;===e&amp;&amp;(e=&quot;&quot;),&quot;scene&quot;+e}},r.updateFx=function(t){for(var e=t._subplots.gl3d,r=0;r&lt;e.length;r++){t[e[r]]._scene.updateFx(t.dragmode,t.hovermode)}}},{&quot;../../components/fx/layout_attributes&quot;:661,&quot;../../constants/xmlns_namespaces&quot;:723,&quot;../../lib&quot;:743,&quot;../../plot_api/edit_types&quot;:773,&quot;../get_data&quot;:826,&quot;./layout/attributes&quot;:833,&quot;./layout/defaults&quot;:837,&quot;./layout/layout_attributes&quot;:838,&quot;./scene&quot;:842}],833:[function(t,e,r){&quot;use strict&quot;;e.exports={scene:{valType:&quot;subplotid&quot;,dflt:&quot;scene&quot;,editType:&quot;calc+clearAxisTypes&quot;}}},{}],834:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../../components/color&quot;),i=t(&quot;../../cartesian/layout_attributes&quot;),a=t(&quot;../../../lib/extend&quot;).extendFlat,o=t(&quot;../../../plot_api/edit_types&quot;).overrideAll;e.exports=o({visible:i.visible,showspikes:{valType:&quot;boolean&quot;,dflt:!0},spikesides:{valType:&quot;boolean&quot;,dflt:!0},spikethickness:{valType:&quot;number&quot;,min:0,dflt:2},spikecolor:{valType:&quot;color&quot;,dflt:n.defaultLine},showbackground:{valType:&quot;boolean&quot;,dflt:!1},backgroundcolor:{valType:&quot;color&quot;,dflt:&quot;rgba(204, 204, 204, 0.5)&quot;},showaxeslabels:{valType:&quot;boolean&quot;,dflt:!0},color:i.color,categoryorder:i.categoryorder,categoryarray:i.categoryarray,title:i.title,titlefont:i.titlefont,type:i.type,autorange:i.autorange,rangemode:i.rangemode,range:i.range,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,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:&quot;rgb(204, 204, 204)&quot;}),gridwidth:i.gridwidth,zeroline:i.zeroline,zerolinecolor:i.zerolinecolor,zerolinewidth:i.zerolinewidth},&quot;plot&quot;,&quot;from-root&quot;)},{&quot;../../../components/color&quot;:618,&quot;../../../lib/extend&quot;:732,&quot;../../../plot_api/edit_types&quot;:773,&quot;../../cartesian/layout_attributes&quot;:801}],835:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;tinycolor2&quot;).mix,i=t(&quot;../../../lib&quot;),a=t(&quot;./axis_attributes&quot;),o=t(&quot;../../cartesian/type_defaults&quot;),s=t(&quot;../../cartesian/axis_defaults&quot;),l=[&quot;xaxis&quot;,&quot;yaxis&quot;,&quot;zaxis&quot;];e.exports=function(t,e,r){function c(t,e){return i.coerce(u,f,a,t,e)}for(var u,f,h=0;h&lt;l.length;h++){var d=l[h];u=t[d]||{},f=e[d]={_id:d[0]+r.scene,_name:d},o(u,f,c,r.data),s(u,f,c,{font:r.font,letter:d[0],data:r.data,showGrid:!0,bgColor:r.bgColor,calendar:r.calendar},r.fullLayout),c(&quot;gridcolor&quot;,n(f.color,r.bgColor,13600/187).toRgbString()),c(&quot;title&quot;,d[0]),f.setScale=i.noop,c(&quot;showspikes&quot;)&amp;&amp;(c(&quot;spikesides&quot;),c(&quot;spikethickness&quot;),c(&quot;spikecolor&quot;,f.color)),c(&quot;showaxeslabels&quot;),c(&quot;showbackground&quot;)&amp;&amp;c(&quot;backgroundcolor&quot;)}}},{&quot;../../../lib&quot;:743,&quot;../../cartesian/axis_defaults&quot;:791,&quot;../../cartesian/type_defaults&quot;:813,&quot;./axis_attributes&quot;:834,tinycolor2:546}],836:[function(t,e,r){&quot;use strict&quot;;function n(){this.bounds=[[-10,-10,-10],[10,10,10]],this.ticks=[[],[],[]],this.tickEnable=[!0,!0,!0],this.tickFont=[&quot;sans-serif&quot;,&quot;sans-serif&quot;,&quot;sans-serif&quot;],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=[&quot;x&quot;,&quot;y&quot;,&quot;z&quot;],this.labelEnable=[!0,!0,!0],this.labelFont=[&quot;Open Sans&quot;,&quot;Open Sans&quot;,&quot;Open Sans&quot;],this.labelSize=[20,20,20],this.labelAngle=[0,0,0],this.labelColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.labelPad=[30,30,30],this.lineEnable=[!0,!0,!0],this.lineMirror=[!1,!1,!1],this.lineWidth=[1,1,1],this.lineColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.lineTickEnable=[!0,!0,!0],this.lineTickMirror=[!1,!1,!1],this.lineTickLength=[10,10,10],this.lineTickWidth=[1,1,1],this.lineTickColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.gridEnable=[!0,!0,!0],this.gridWidth=[1,1,1],this.gridColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.zeroEnable=[!0,!0,!0],this.zeroLineColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.zeroLineWidth=[2,2,2],this.backgroundEnable=[!0,!0,!0],this.backgroundColor=[[.8,.8,.8,.5],[.8,.8,.8,.5],[.8,.8,.8,.5]],this._defaultTickPad=this.tickPad.slice(),this._defaultLabelPad=this.labelPad.slice(),this._defaultLineTickLength=this.lineTickLength.slice()}var i=t(&quot;../../../lib/html2unicode&quot;),a=t(&quot;../../../lib/str2rgbarray&quot;),o=[&quot;xaxis&quot;,&quot;yaxis&quot;,&quot;zaxis&quot;];n.prototype.merge=function(t){for(var e=0;e&lt;3;++e){var r=t[o[e]];r.visible?(this.labels[e]=i(r.title),&quot;titlefont&quot;in r&amp;&amp;(r.titlefont.color&amp;&amp;(this.labelColor[e]=a(r.titlefont.color)),r.titlefont.family&amp;&amp;(this.labelFont[e]=r.titlefont.family),r.titlefont.size&amp;&amp;(this.labelSize[e]=r.titlefont.size)),&quot;showline&quot;in r&amp;&amp;(this.lineEnable[e]=r.showline),&quot;linecolor&quot;in r&amp;&amp;(this.lineColor[e]=a(r.linecolor)),&quot;linewidth&quot;in r&amp;&amp;(this.lineWidth[e]=r.linewidth),&quot;showgrid&quot;in r&amp;&amp;(this.gridEnable[e]=r.showgrid),&quot;gridcolor&quot;in r&amp;&amp;(this.gridColor[e]=a(r.gridcolor)),&quot;gridwidth&quot;in r&amp;&amp;(this.gridWidth[e]=r.gridwidth),&quot;log&quot;===r.type?this.zeroEnable[e]=!1:&quot;zeroline&quot;in r&amp;&amp;(this.zeroEnable[e]=r.zeroline),&quot;zerolinecolor&quot;in r&amp;&amp;(this.zeroLineColor[e]=a(r.zerolinecolor)),&quot;zerolinewidth&quot;in r&amp;&amp;(this.zeroLineWidth[e]=r.zerolinewidth),&quot;ticks&quot;in r&amp;&amp;r.ticks?this.lineTickEnable[e]=!0:this.lineTickEnable[e]=!1,&quot;ticklen&quot;in r&amp;&amp;(this.lineTickLength[e]=this._defaultLineTickLength[e]=r.ticklen),&quot;tickcolor&quot;in r&amp;&amp;(this.lineTickColor[e]=a(r.tickcolor)),&quot;tickwidth&quot;in r&amp;&amp;(this.lineTickWidth[e]=r.tickwidth),&quot;tickangle&quot;in r&amp;&amp;(this.tickAngle[e]=&quot;auto&quot;===r.tickangle?0:Math.PI*-r.tickangle/180),&quot;showticklabels&quot;in r&amp;&amp;(this.tickEnable[e]=r.showticklabels),&quot;tickfont&quot;in r&amp;&amp;(r.tickfont.color&amp;&amp;(this.tickColor[e]=a(r.tickfont.color)),r.tickfont.family&amp;&amp;(this.tickFont[e]=r.tickfont.family),r.tickfont.size&amp;&amp;(this.tickSize[e]=r.tickfont.size)),&quot;mirror&quot;in r?-1!==[&quot;ticks&quot;,&quot;all&quot;,&quot;allticks&quot;].indexOf(r.mirror)?(this.lineTickMirror[e]=!0,this.lineMirror[e]=!0):!0===r.mirror?(this.lineTickMirror[e]=!1,this.lineMirror[e]=!0):(this.lineTickMirror[e]=!1,this.lineMirror[e]=!1):this.lineMirror[e]=!1,&quot;showbackground&quot;in r&amp;&amp;!1!==r.showbackground?(this.backgroundEnable[e]=!0,this.backgroundColor[e]=a(r.backgroundcolor)):this.backgroundEnable[e]=!1):(this.tickEnable[e]=!1,this.labelEnable[e]=!1,this.lineEnable[e]=!1,this.lineTickEnable[e]=!1,this.gridEnable[e]=!1,this.zeroEnable[e]=!1,this.backgroundEnable[e]=!1)}},e.exports=function(t){var e=new n;return e.merge(t),e}},{&quot;../../../lib/html2unicode&quot;:741,&quot;../../../lib/str2rgbarray&quot;:765}],837:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,n){for(var i=r(&quot;bgcolor&quot;),s=a.combine(i,n.paper_bgcolor),c=[&quot;up&quot;,&quot;center&quot;,&quot;eye&quot;],u=0;u&lt;c.length;u++)r(&quot;camera.&quot;+c[u]+&quot;.x&quot;),r(&quot;camera.&quot;+c[u]+&quot;.y&quot;),r(&quot;camera.&quot;+c[u]+&quot;.z&quot;);var f=!!r(&quot;aspectratio.x&quot;)&amp;&amp;!!r(&quot;aspectratio.y&quot;)&amp;&amp;!!r(&quot;aspectratio.z&quot;),h=r(&quot;aspectmode&quot;,f?&quot;manual&quot;:&quot;auto&quot;);f||(t.aspectratio=e.aspectratio={x:1,y:1,z:1},&quot;manual&quot;===h&amp;&amp;(e.aspectmode=&quot;auto&quot;),t.aspectmode=e.aspectmode),l(t,e,{font:n.font,scene:n.id,data:n.fullData,bgColor:s,calendar:n.calendar,fullLayout:n.fullLayout}),o.getComponentMethod(&quot;annotations3d&quot;,&quot;handleDefaults&quot;)(t,e,n),r(&quot;dragmode&quot;,n.getDfltFromLayout(&quot;dragmode&quot;)),r(&quot;hovermode&quot;,n.getDfltFromLayout(&quot;hovermode&quot;))}var i=t(&quot;../../../lib&quot;),a=t(&quot;../../../components/color&quot;),o=t(&quot;../../../registry&quot;),s=t(&quot;../../subplot_defaults&quot;),l=t(&quot;./axis_defaults&quot;),c=t(&quot;./layout_attributes&quot;);e.exports=function(t,e,r){var a=e._basePlotModules.length&gt;1;s(t,e,r,{type:&quot;gl3d&quot;,attributes:c,handleDefaults:n,fullLayout:e,font:e.font,fullData:r,getDfltFromLayout:function(e){if(!a)return i.validate(t[e],c[e])?t[e]:void 0},paper_bgcolor:e.paper_bgcolor,calendar:e.calendar})}},{&quot;../../../components/color&quot;:618,&quot;../../../lib&quot;:743,&quot;../../../registry&quot;:873,&quot;../../subplot_defaults&quot;:865,&quot;./axis_defaults&quot;:835,&quot;./layout_attributes&quot;:838}],838:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r){return{x:{valType:&quot;number&quot;,dflt:t,editType:&quot;camera&quot;},y:{valType:&quot;number&quot;,dflt:e,editType:&quot;camera&quot;},z:{valType:&quot;number&quot;,dflt:r,editType:&quot;camera&quot;},editType:&quot;camera&quot;}}var i=t(&quot;./axis_attributes&quot;),a=t(&quot;../../domain_attributes&quot;),o=t(&quot;../../../lib/extend&quot;).extendFlat,s=t(&quot;../../../lib&quot;).counterRegex;e.exports={_arrayAttrRegexps:[s(&quot;scene&quot;,&quot;.annotations&quot;,!0)],bgcolor:{valType:&quot;color&quot;,dflt:&quot;rgba(0,0,0,0)&quot;,editType:&quot;plot&quot;},camera:{up:o(n(0,0,1),{}),center:o(n(0,0,0),{}),eye:o(n(1.25,1.25,1.25),{}),editType:&quot;camera&quot;},domain:a({name:&quot;scene&quot;,editType:&quot;plot&quot;}),aspectmode:{valType:&quot;enumerated&quot;,values:[&quot;auto&quot;,&quot;cube&quot;,&quot;data&quot;,&quot;manual&quot;],dflt:&quot;auto&quot;,editType:&quot;plot&quot;,impliedEdits:{&quot;aspectratio.x&quot;:void 0,&quot;aspectratio.y&quot;:void 0,&quot;aspectratio.z&quot;:void 0}},aspectratio:{x:{valType:&quot;number&quot;,min:0,editType:&quot;plot&quot;,impliedEdits:{&quot;^aspectmode&quot;:&quot;manual&quot;}},y:{valType:&quot;number&quot;,min:0,editType:&quot;plot&quot;,impliedEdits:{&quot;^aspectmode&quot;:&quot;manual&quot;}},z:{valType:&quot;number&quot;,min:0,editType:&quot;plot&quot;,impliedEdits:{&quot;^aspectmode&quot;:&quot;manual&quot;}},editType:&quot;plot&quot;,impliedEdits:{aspectmode:&quot;manual&quot;}},xaxis:i,yaxis:i,zaxis:i,dragmode:{valType:&quot;enumerated&quot;,values:[&quot;orbit&quot;,&quot;turntable&quot;,&quot;zoom&quot;,&quot;pan&quot;,!1],dflt:&quot;turntable&quot;,editType:&quot;plot&quot;},hovermode:{valType:&quot;enumerated&quot;,values:[&quot;closest&quot;,!1],dflt:&quot;closest&quot;,editType:&quot;modebar&quot;},editType:&quot;plot&quot;,_deprecated:{cameraposition:{valType:&quot;info_array&quot;,editType:&quot;camera&quot;}}}},{&quot;../../../lib&quot;:743,&quot;../../../lib/extend&quot;:732,&quot;../../domain_attributes&quot;:815,&quot;./axis_attributes&quot;:834}],839:[function(t,e,r){&quot;use strict&quot;;function n(){this.enabled=[!0,!0,!0],this.colors=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.drawSides=[!0,!0,!0],this.lineWidth=[1,1,1]}var i=t(&quot;../../../lib/str2rgbarray&quot;),a=[&quot;xaxis&quot;,&quot;yaxis&quot;,&quot;zaxis&quot;];n.prototype.merge=function(t){for(var e=0;e&lt;3;++e){var r=t[a[e]];r.visible?(this.enabled[e]=r.showspikes,this.colors[e]=i(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 n;return e.merge(t),e}},{&quot;../../../lib/str2rgbarray&quot;:765}],840:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t){for(var e=t.axesOptions,r=t.glplot.axesPixels,l=t.fullSceneLayout,c=[[],[],[]],u=0;u&lt;3;++u){var f=l[o[u]];if(f._length=(r[u].hi-r[u].lo)*r[u].pixelsPerDataUnit/t.dataScale[u],Math.abs(f._length)===1/0)c[u]=[];else{f.range[0]=r[u].lo/t.dataScale[u],f.range[1]=r[u].hi/t.dataScale[u],f._m=1/(t.dataScale[u]*r[u].pixelsPerDataUnit),f.range[0]===f.range[1]&amp;&amp;(f.range[0]-=1,f.range[1]+=1);var h=f.tickmode;if(&quot;auto&quot;===f.tickmode){f.tickmode=&quot;linear&quot;;var d=f.nticks||i.constrain(f._length/40,4,9);n.autoTicks(f,Math.abs(f.range[1]-f.range[0])/d)}for(var p=n.calcTicks(f),m=0;m&lt;p.length;++m)p[m].x=p[m].x*t.dataScale[u],p[m].text=a(p[m].text);c[u]=p,f.tickmode=h}}for(e.ticks=c,u=0;u&lt;3;++u)for(s[u]=.5*(t.glplot.bounds[0][u]+t.glplot.bounds[1][u]),m=0;m&lt;2;++m)e.bounds[m][u]=t.glplot.bounds[m][u];t.contourLevels=function(t){for(var e=new Array(3),r=0;r&lt;3;++r){for(var n=t[r],i=new Array(n.length),a=0;a&lt;n.length;++a)i[a]=n[a].x;e[r]=i}return e}(c)};var n=t(&quot;../../cartesian/axes&quot;),i=t(&quot;../../../lib&quot;),a=t(&quot;../../../lib/html2unicode&quot;),o=[&quot;xaxis&quot;,&quot;yaxis&quot;,&quot;zaxis&quot;],s=[0,0,0]},{&quot;../../../lib&quot;:743,&quot;../../../lib/html2unicode&quot;:741,&quot;../../cartesian/axes&quot;:789}],841:[function(t,e,r){&quot;use strict&quot;;function n(t,e){var r,n,i=[0,0,0,0];for(r=0;r&lt;4;++r)for(n=0;n&lt;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])))}},{}],842:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,n){var i={canvas:r,gl:n,container:t.container,axes:t.axesOptions,spikes:t.spikeOptions,pickRadius:10,snapToData:!0,autoScale:!0,autoBounds:!1};if(t.staticMode){if(!(c||(l=document.createElement(&quot;canvas&quot;),c=f({canvas:l,preserveDrawingBuffer:!0,premultipliedAlpha:!0,antialias:!0}))))throw new Error(&quot;error creating static canvas/context for image server&quot;);i.pixelRatio=t.pixelRatio,i.gl=c,i.canvas=l}try{t.glplot=u(i)}catch(e){v(t)}var a=function(t){if(!1!==t.fullSceneLayout.dragmode){var e={};e[t.id+&quot;.camera&quot;]=s(t.camera),t.saveCamera(t.graphDiv.layout),t.graphDiv.emit(&quot;plotly_relayout&quot;,e)}};if(t.glplot.canvas.addEventListener(&quot;mouseup&quot;,a.bind(null,t)),t.glplot.canvas.addEventListener(&quot;wheel&quot;,a.bind(null,t)),t.staticMode||t.glplot.canvas.addEventListener(&quot;webglcontextlost&quot;,function(t){d.warn(&quot;Lost WebGL context.&quot;),t.preventDefault()}),!t.camera){var o=t.fullSceneLayout.camera;t.camera=y(t.container,{center:[o.center.x,o.center.y,o.center.z],eye:[o.eye.x,o.eye.y,o.eye.z],up:[o.up.x,o.up.y,o.up.z],zoomMin:.1,zoomMax:100,mode:&quot;orbit&quot;})}return t.glplot.camera=t.camera,t.glplot.oncontextloss=function(){t.recoverContext()},t.glplot.onrender=function(t){function e(e,r){var n=t.fullSceneLayout[e];return p.tickText(n,n.d2l(r),&quot;hover&quot;).text}var r,n=t.svgContainer,i=t.container.getBoundingClientRect(),a=i.width,o=i.height;n.setAttributeNS(null,&quot;viewBox&quot;,&quot;0 0 &quot;+a+&quot; &quot;+o),n.setAttributeNS(null,&quot;width&quot;,a),n.setAttributeNS(null,&quot;height&quot;,o),w(t),t.glplot.axes.update(t.axesOptions);for(var s=Object.keys(t.traces),l=null,c=t.glplot.selection,u=0;u&lt;s.length;++u)&quot;skip&quot;!==(r=t.traces[s[u]]).data.hoverinfo&amp;&amp;r.handlePick(c)&amp;&amp;(l=r),r.setContourLevels&amp;&amp;r.setContourLevels();var f;if(null!==l){var h=x(t.glplot.cameraParams,c.dataCoordinate);r=l.data;var d=c.index,g=m.castHoverinfo(r,t.fullLayout,d),v=e(&quot;xaxis&quot;,c.traceCoordinate[0]),y=e(&quot;yaxis&quot;,c.traceCoordinate[1]),b=e(&quot;zaxis&quot;,c.traceCoordinate[2]);if(&quot;all&quot;!==g){var _=g.split(&quot;+&quot;);-1===_.indexOf(&quot;x&quot;)&amp;&amp;(v=void 0),-1===_.indexOf(&quot;y&quot;)&amp;&amp;(y=void 0),-1===_.indexOf(&quot;z&quot;)&amp;&amp;(b=void 0),-1===_.indexOf(&quot;text&quot;)&amp;&amp;(c.textLabel=void 0),-1===_.indexOf(&quot;name&quot;)&amp;&amp;(l.name=void 0)}t.fullSceneLayout.hovermode&amp;&amp;m.loneHover({x:(.5+.5*h[0]/h[3])*a,y:(.5-.5*h[1]/h[3])*o,xLabel:v,yLabel:y,zLabel:b,text:c.textLabel,name:l.name,color:m.castHoverOption(r,d,&quot;bgcolor&quot;)||l.color,borderColor:m.castHoverOption(r,d,&quot;bordercolor&quot;),fontFamily:m.castHoverOption(r,d,&quot;font.family&quot;),fontSize:m.castHoverOption(r,d,&quot;font.size&quot;),fontColor:m.castHoverOption(r,d,&quot;font.color&quot;)},{container:n,gd:t.graphDiv});var M={x:c.traceCoordinate[0],y:c.traceCoordinate[1],z:c.traceCoordinate[2],data:r._input,fullData:r,curveNumber:r.index,pointNumber:d};m.appendArrayPointValue(M,r,d);var k={points:[M]};c.buttons&amp;&amp;c.distance&lt;5?t.graphDiv.emit(&quot;plotly_click&quot;,k):t.graphDiv.emit(&quot;plotly_hover&quot;,k),f=k}else m.loneUnhover(n),t.graphDiv.emit(&quot;plotly_unhover&quot;,f);t.drawAnnotations(t)}.bind(null,t),t.traces={},!0}function i(t,e){var r=document.createElement(&quot;div&quot;),i=t.container;this.graphDiv=t.graphDiv;var a=document.createElementNS(&quot;http://www.w3.org/2000/svg&quot;,&quot;svg&quot;);a.style.position=&quot;absolute&quot;,a.style.top=a.style.left=&quot;0px&quot;,a.style.width=a.style.height=&quot;100%&quot;,a.style[&quot;z-index&quot;]=20,a.style[&quot;pointer-events&quot;]=&quot;none&quot;,r.appendChild(a),this.svgContainer=a,r.id=t.id,r.style.position=&quot;absolute&quot;,r.style.top=r.style.left=&quot;0px&quot;,r.style.width=r.style.height=&quot;100%&quot;,i.appendChild(r),this.fullLayout=e,this.id=t.id||&quot;scene&quot;,this.fullSceneLayout=e[this.id],this.plotArgs=[[],{},{}],this.axesOptions=b(e[this.id]),this.spikeOptions=_(e[this.id]),this.container=r,this.staticMode=!!t.staticPlot,this.pixelRatio=t.plotGlPixelRatio||2,this.dataScale=[1,1,1],this.contourLevels=[[],[],[]],this.convertAnnotations=h.getComponentMethod(&quot;annotations3d&quot;,&quot;convert&quot;),this.drawAnnotations=h.getComponentMethod(&quot;annotations3d&quot;,&quot;draw&quot;),n(this)}function a(t,e,r,n,i){for(var a,o=0;o&lt;e.length;++o)if(Array.isArray(e[o]))for(var s=0;s&lt;e[o].length;++s)a=t.d2l(e[o][s],0,i),!isNaN(a)&amp;&amp;isFinite(a)&amp;&amp;(n[0][r]=Math.min(n[0][r],a),n[1][r]=Math.max(n[1][r],a));else a=t.d2l(e[o],0,i),!isNaN(a)&amp;&amp;isFinite(a)&amp;&amp;(n[0][r]=Math.min(n[0][r],a),n[1][r]=Math.max(n[1][r],a))}function o(t,e,r){var n=t.fullSceneLayout;a(n.xaxis,e.x,0,r,e.xcalendar),a(n.yaxis,e.y,1,r,e.ycalendar),a(n.zaxis,e.z,2,r,e.zcalendar)}function s(t){return{up:{x:t.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]}}}var l,c,u=t(&quot;gl-plot3d&quot;),f=t(&quot;webgl-context&quot;),h=t(&quot;../../registry&quot;),d=t(&quot;../../lib&quot;),p=t(&quot;../../plots/cartesian/axes&quot;),m=t(&quot;../../components/fx&quot;),g=t(&quot;../../lib/str2rgbarray&quot;),v=t(&quot;../../lib/show_no_webgl_msg&quot;),y=t(&quot;./camera&quot;),x=t(&quot;./project&quot;),b=t(&quot;./layout/convert&quot;),_=t(&quot;./layout/spikes&quot;),w=t(&quot;./layout/tick_marks&quot;),M=i.prototype;M.recoverContext=function(){function t(){r.isContextLost()?requestAnimationFrame(t):n(e,e.fullLayout,i,r)?e.plot.apply(e,e.plotArgs):d.error(&quot;Catastrophic and unrecoverable WebGL error. Context lost.&quot;)}var e=this,r=this.glplot.gl,i=this.glplot.canvas;this.glplot.dispose(),requestAnimationFrame(t)};var k=[&quot;xaxis&quot;,&quot;yaxis&quot;,&quot;zaxis&quot;];M.plot=function(t,e,r){if(this.plotArgs=[t,e,r],!this.glplot.contextLost){var n,i,a,s,l,c,u=e[this.id],f=r[this.id];u.bgcolor?this.glplot.clearColor=g(u.bgcolor):this.glplot.clearColor=[0,0,0,0],this.glplot.snapToData=!0,this.fullLayout=e,this.fullSceneLayout=u,this.glplotLayout=u,this.axesOptions.merge(u),this.spikeOptions.merge(u),this.setCamera(u.camera),this.updateFx(u.dragmode,u.hovermode),this.glplot.update({}),this.setConvert(l),t?Array.isArray(t)||(t=[t]):t=[];var h=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]];for(a=0;a&lt;t.length;++a)!0===(n=t[a]).visible&amp;&amp;o(this,n,h);var d=[1,1,1];for(s=0;s&lt;3;++s)h[0][s]&gt;h[1][s]?d[s]=1:h[1][s]===h[0][s]?d[s]=1:d[s]=1/(h[1][s]-h[0][s]);for(this.dataScale=d,this.convertAnnotations(this),a=0;a&lt;t.length;++a)!0===(n=t[a]).visible&amp;&amp;((i=this.traces[n.uid])?i.update(n):(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&lt;p.length;++a){for(s=0;s&lt;t.length;++s)if(t[s].uid===p[a]&amp;&amp;!0===t[s].visible)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 m=[[0,0,0],[0,0,0]],v=[],y={};for(a=0;a&lt;3;++a){if(l=u[k[a]],(c=l.type)in y?(y[c].acc*=d[a],y[c].count+=1):y[c]={acc:d[a],count:1},l.autorange){m[0][a]=1/0,m[1][a]=-1/0;var x=this.glplot.objects,b=this.fullSceneLayout.annotations||[],_=l._name.charAt(0);for(s=0;s&lt;x.length;s++){var w=x[s].bounds;m[0][a]=Math.min(m[0][a],w[0][a]/d[a]),m[1][a]=Math.max(m[1][a],w[1][a]/d[a])}for(s=0;s&lt;b.length;s++){var M=b[s];if(M.visible){var A=l.r2l(M[_]);m[0][a]=Math.min(m[0][a],A),m[1][a]=Math.max(m[1][a],A)}}if(&quot;rangemode&quot;in l&amp;&amp;&quot;tozero&quot;===l.rangemode&amp;&amp;(m[0][a]=Math.min(m[0][a],0),m[1][a]=Math.max(m[1][a],0)),m[0][a]&gt;m[1][a])m[0][a]=-1,m[1][a]=1;else{var T=m[1][a]-m[0][a];m[0][a]-=T/32,m[1][a]+=T/32}}else{var S=l.range;m[0][a]=l.r2l(S[0]),m[1][a]=l.r2l(S[1])}m[0][a]===m[1][a]&amp;&amp;(m[0][a]-=1,m[1][a]+=1),v[a]=m[1][a]-m[0][a],this.glplot.bounds[0][a]=m[0][a]*d[a],this.glplot.bounds[1][a]=m[1][a]*d[a]}var E=[1,1,1];for(a=0;a&lt;3;++a){var L=y[c=(l=u[k[a]]).type];E[a]=Math.pow(L.acc,1/L.count)/d[a]}var C;if(&quot;auto&quot;===u.aspectmode)C=Math.max.apply(null,E)/Math.min.apply(null,E)&lt;=4?E:[1,1,1];else if(&quot;cube&quot;===u.aspectmode)C=[1,1,1];else if(&quot;data&quot;===u.aspectmode)C=E;else{if(&quot;manual&quot;!==u.aspectmode)throw new Error(&quot;scene.js aspectRatio was not one of the enumerated types&quot;);var z=u.aspectratio;C=[z.x,z.y,z.z]}u.aspectratio.x=f.aspectratio.x=C[0],u.aspectratio.y=f.aspectratio.y=C[1],u.aspectratio.z=f.aspectratio.z=C[2],this.glplot.aspect=C;var D=u.domain||null,I=e._size||null;if(D&amp;&amp;I){var P=this.container.style;P.position=&quot;absolute&quot;,P.left=I.l+D.x[0]*I.w+&quot;px&quot;,P.top=I.t+(1-D.y[1])*I.h+&quot;px&quot;,P.width=I.w*(D.x[1]-D.x[0])+&quot;px&quot;,P.height=I.h*(D.y[1]-D.y[0])+&quot;px&quot;}this.glplot.redraw()}},M.destroy=function(){this.glplot&amp;&amp;(this.camera.mouseListener.enabled=!1,this.container.removeEventListener(&quot;wheel&quot;,this.camera.wheelListener),this.camera=this.glplot.camera=null,this.glplot.dispose(),this.container.parentNode.removeChild(this.container),this.glplot=null)},M.getCamera=function(){return this.glplot.camera.view.recalcMatrix(this.camera.view.lastT()),s(this.glplot.camera)},M.setCamera=function(t){this.glplot.camera.lookAt.apply(this,function(t){return[[t.eye.x,t.eye.y,t.eye.z],[t.center.x,t.center.y,t.center.z],[t.up.x,t.up.y,t.up.z]]}(t))},M.saveCamera=function(t){function e(t,e,r,n){var i=[&quot;up&quot;,&quot;center&quot;,&quot;eye&quot;],a=[&quot;x&quot;,&quot;y&quot;,&quot;z&quot;];return e[i[r]]&amp;&amp;t[i[r]][a[n]]===e[i[r]][a[n]]}var r=this.getCamera(),n=d.nestedProperty(t,this.id+&quot;.camera&quot;),i=n.get(),a=!1;if(void 0===i)a=!0;else for(var o=0;o&lt;3;o++)for(var s=0;s&lt;3;s++)if(!e(r,i,o,s)){a=!0;break}return a&amp;&amp;n.set(r),a},M.updateFx=function(t,e){var r=this.camera;r&amp;&amp;(&quot;orbit&quot;===t?(r.mode=&quot;orbit&quot;,r.keyBindingMode=&quot;rotate&quot;):&quot;turntable&quot;===t?(r.up=[0,0,1],r.mode=&quot;turntable&quot;,r.keyBindingMode=&quot;rotate&quot;):r.keyBindingMode=t),this.fullSceneLayout.hovermode=e},M.toImage=function(t){t||(t=&quot;png&quot;),this.staticMode&amp;&amp;this.container.appendChild(l),this.glplot.redraw();var e=this.glplot.gl,r=e.drawingBufferWidth,n=e.drawingBufferHeight;e.bindFramebuffer(e.FRAMEBUFFER,null);var i=new Uint8Array(r*n*4);e.readPixels(0,0,r,n,e.RGBA,e.UNSIGNED_BYTE,i);for(var a=0,o=n-1;a&lt;o;++a,--o)for(var s=0;s&lt;r;++s)for(var c=0;c&lt;4;++c){var u=i[4*(r*a+s)+c];i[4*(r*a+s)+c]=i[4*(r*o+s)+c],i[4*(r*o+s)+c]=u}var f=document.createElement(&quot;canvas&quot;);f.width=r,f.height=n;var h=f.getContext(&quot;2d&quot;),d=h.createImageData(r,n);d.data.set(i),h.putImageData(d,0,0);var p;switch(t){case&quot;jpeg&quot;:p=f.toDataURL(&quot;image/jpeg&quot;);break;case&quot;webp&quot;:p=f.toDataURL(&quot;image/webp&quot;);break;default:p=f.toDataURL(&quot;image/png&quot;)}return this.staticMode&amp;&amp;this.container.removeChild(l),p},M.setConvert=function(){for(var t=0;t&lt;3;t++){var e=this.fullSceneLayout[k[t]];p.setConvert(e,this.fullLayout),e.setScale=d.noop}},e.exports=i},{&quot;../../components/fx&quot;:660,&quot;../../lib&quot;:743,&quot;../../lib/show_no_webgl_msg&quot;:763,&quot;../../lib/str2rgbarray&quot;:765,&quot;../../plots/cartesian/axes&quot;:789,&quot;../../registry&quot;:873,&quot;./camera&quot;:831,&quot;./layout/convert&quot;:836,&quot;./layout/spikes&quot;:839,&quot;./layout/tick_marks&quot;:840,&quot;./project&quot;:841,&quot;gl-plot3d&quot;:226,&quot;webgl-context&quot;:577}],843:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;./font_attributes&quot;),i=t(&quot;../components/color/attributes&quot;),a=n({editType:&quot;calc&quot;});a.family.dflt='&quot;Open Sans&quot;, verdana, arial, sans-serif',a.size.dflt=12,a.color.dflt=i.defaultLine,e.exports={font:a,title:{valType:&quot;string&quot;,editType:&quot;layoutstyle&quot;},titlefont:n({editType:&quot;layoutstyle&quot;}),autosize:{valType:&quot;boolean&quot;,dflt:!1,editType:&quot;none&quot;},width:{valType:&quot;number&quot;,min:10,dflt:700,editType:&quot;none&quot;},height:{valType:&quot;number&quot;,min:10,dflt:450,editType:&quot;none&quot;},margin:{l:{valType:&quot;number&quot;,min:0,dflt:80,editType:&quot;calc&quot;},r:{valType:&quot;number&quot;,min:0,dflt:80,editType:&quot;calc&quot;},t:{valType:&quot;number&quot;,min:0,dflt:100,editType:&quot;calc&quot;},b:{valType:&quot;number&quot;,min:0,dflt:80,editType:&quot;calc&quot;},pad:{valType:&quot;number&quot;,min:0,dflt:0,editType:&quot;calc&quot;},autoexpand:{valType:&quot;boolean&quot;,dflt:!0,editType:&quot;calc&quot;},editType:&quot;calc&quot;},paper_bgcolor:{valType:&quot;color&quot;,dflt:i.background,editType:&quot;plot&quot;},plot_bgcolor:{valType:&quot;color&quot;,dflt:i.background,editType:&quot;layoutstyle&quot;},separators:{valType:&quot;string&quot;,editType:&quot;plot&quot;},hidesources:{valType:&quot;boolean&quot;,dflt:!1,editType:&quot;plot&quot;},showlegend:{valType:&quot;boolean&quot;,editType:&quot;legend&quot;},colorway:{valType:&quot;colorlist&quot;,dflt:i.defaults,editType:&quot;calc&quot;}}},{&quot;../components/color/attributes&quot;:617,&quot;./font_attributes&quot;:816}],844:[function(t,e,r){&quot;use strict&quot;;e.exports={styleUrlPrefix:&quot;mapbox://styles/mapbox/&quot;,styleUrlSuffix:&quot;v9&quot;,controlContainerClassName:&quot;mapboxgl-control-container&quot;,noAccessTokenErrorMsg:[&quot;Missing Mapbox access token.&quot;,&quot;Mapbox trace type require a Mapbox access token to be registered.&quot;,&quot;For example:&quot;,&quot;  Plotly.plot(gd, data, layout, { mapboxAccessToken: 'my-access-token' });&quot;,&quot;More info here: https://www.mapbox.com/help/define-access-token/&quot;].join(&quot;\n&quot;),mapOnErrorMsg:&quot;Mapbox error.&quot;}},{}],845:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib&quot;);e.exports=function(t,e){var r=t.split(&quot; &quot;),i=r[0],a=r[1],o=Array.isArray(e)?n.mean(e):e,s=.5+o/100,l=1.5+o/100,c=[&quot;&quot;,&quot;&quot;],u=[0,0];switch(i){case&quot;top&quot;:c[0]=&quot;top&quot;,u[1]=-l;break;case&quot;bottom&quot;:c[0]=&quot;bottom&quot;,u[1]=l}switch(a){case&quot;left&quot;:c[1]=&quot;right&quot;,u[0]=-s;break;case&quot;right&quot;:c[1]=&quot;left&quot;,u[0]=s}var f;return f=c[0]&amp;&amp;c[1]?c.join(&quot;-&quot;):c[0]?c[0]:c[1]?c[1]:&quot;center&quot;,{anchor:f,offset:u}}},{&quot;../../lib&quot;:743}],846:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;mapbox-gl&quot;),i=t(&quot;../../lib&quot;),a=t(&quot;../../plots/get_data&quot;).getSubplotCalcData,o=t(&quot;../../constants/xmlns_namespaces&quot;),s=t(&quot;./mapbox&quot;),l=t(&quot;./constants&quot;);r.name=&quot;mapbox&quot;,r.attr=&quot;subplot&quot;,r.idRoot=&quot;mapbox&quot;,r.idRegex=r.attrRegex=i.counterRegex(&quot;mapbox&quot;),r.attributes={subplot:{valType:&quot;subplotid&quot;,dflt:&quot;mapbox&quot;,editType:&quot;calc&quot;}},r.layoutAttributes=t(&quot;./layout_attributes&quot;),r.supplyLayoutDefaults=t(&quot;./layout_defaults&quot;),r.plot=function(t){var e=t._fullLayout,r=t.calcdata,o=e._subplots.mapbox,c=function(t,e){var r=t._fullLayout,n=t._context;if(&quot;&quot;===n.mapboxAccessToken)return&quot;&quot;;for(var i=n.mapboxAccessToken,a=0;a&lt;e.length;a++){var o=r[e[a]];if(o.accesstoken){i=o.accesstoken;break}}if(!i)throw new Error(l.noAccessTokenErrorMsg);return i}(t,o);n.accessToken=c;for(var u=0;u&lt;o.length;u++){var f=o[u],h=a(r,&quot;mapbox&quot;,f),d=e[f],p=d._subplot;d.accesstoken=c,p||(p=s({gd:t,container:e._glcontainer.node(),id:f,fullLayout:e,staticPlot:t._context.staticPlot}),e[f]._subplot=p),p.viewInitial||(p.viewInitial={center:i.extendFlat({},d.center),zoom:d.zoom,bearing:d.bearing,pitch:d.pitch}),p.plot(h,e,t._promises)}},r.clean=function(t,e,r,n){for(var i=n._subplots.mapbox||[],a=0;a&lt;i.length;a++){var o=i[a];!e[o]&amp;&amp;n[o]._subplot&amp;&amp;n[o]._subplot.destroy()}},r.toSVG=function(t){for(var e=t._fullLayout,r=e._subplots.mapbox,n=e._size,i=0;i&lt;r.length;i++){var a=e[r[i]],s=a.domain,l=a._subplot,c=l.toImage(&quot;png&quot;);e._glimages.append(&quot;svg:image&quot;).attr({xmlns:o.svg,&quot;xlink:href&quot;:c,x:n.l+n.w*s.x[0],y:n.t+n.h*(1-s.y[1]),width:n.w*(s.x[1]-s.x[0]),height:n.h*(s.y[1]-s.y[0]),preserveAspectRatio:&quot;none&quot;}),l.destroy()}},r.updateFx=function(t){for(var e=t._subplots.mapbox,r=0;r&lt;e.length;r++){t[e[r]]._subplot.updateFx(t)}}},{&quot;../../constants/xmlns_namespaces&quot;:723,&quot;../../lib&quot;:743,&quot;../../plots/get_data&quot;:826,&quot;./constants&quot;:844,&quot;./layout_attributes&quot;:848,&quot;./layout_defaults&quot;:849,&quot;./mapbox&quot;:850,&quot;mapbox-gl&quot;:334}],847:[function(t,e,r){&quot;use strict&quot;;function n(t,e){this.mapbox=t,this.map=t.map,this.uid=t.uid+&quot;-layer&quot;+e,this.idSource=this.uid+&quot;-source&quot;,this.idLayer=this.uid+&quot;-layer&quot;,this.sourceType=null,this.source=null,this.layerType=null,this.below=null,this.visible=!1}function i(t){var e=t.source;return a.isPlainObject(e)||&quot;string&quot;==typeof e&amp;&amp;e.length&gt;0}var a=t(&quot;../../lib&quot;),o=t(&quot;./convert_text_opts&quot;),s=n.prototype;s.update=function(t){this.visible?this.needsNewSource(t)?(this.updateLayer(t),this.updateSource(t)):this.needsNewLayer(t)&amp;&amp;this.updateLayer(t):(this.updateSource(t),this.updateLayer(t)),this.updateStyle(t),this.visible=i(t)},s.needsNewSource=function(t){return this.sourceType!==t.sourcetype||this.source!==t.source||this.layerType!==t.type},s.needsNewLayer=function(t){return this.layerType!==t.type||this.below!==t.below},s.updateSource=function(t){var e=this.map;if(e.getSource(this.idSource)&amp;&amp;e.removeSource(this.idSource),this.sourceType=t.sourcetype,this.source=t.source,i(t)){var r=function(t){var e,r=t.sourcetype,n=t.source,i={type:r};return&quot;geojson&quot;===r?e=&quot;data&quot;:&quot;vector&quot;===r&amp;&amp;(e=&quot;string&quot;==typeof n?&quot;url&quot;:&quot;tiles&quot;),i[e]=n,i}(t);e.addSource(this.idSource,r)}},s.updateLayer=function(t){var e=this.map;if(e.getLayer(this.idLayer)&amp;&amp;e.removeLayer(this.idLayer),this.layerType=t.type,i(t)){e.addLayer({id:this.idLayer,source:this.idSource,&quot;source-layer&quot;:t.sourcelayer||&quot;&quot;,type:t.type},t.below);this.mapbox.setOptions(this.idLayer,&quot;setLayoutProperty&quot;,{visibility:&quot;visible&quot;})}},s.updateStyle=function(t){var e=function(t){var e={},r={};switch(t.type){case&quot;circle&quot;:a.extendFlat(r,{&quot;circle-radius&quot;:t.circle.radius,&quot;circle-color&quot;:t.color,&quot;circle-opacity&quot;:t.opacity});break;case&quot;line&quot;:a.extendFlat(r,{&quot;line-width&quot;:t.line.width,&quot;line-color&quot;:t.color,&quot;line-opacity&quot;:t.opacity});break;case&quot;fill&quot;:a.extendFlat(r,{&quot;fill-color&quot;:t.color,&quot;fill-outline-color&quot;:t.fill.outlinecolor,&quot;fill-opacity&quot;:t.opacity});break;case&quot;symbol&quot;:var n=t.symbol,i=o(n.textposition,n.iconsize);a.extendFlat(e,{&quot;icon-image&quot;:n.icon+&quot;-15&quot;,&quot;icon-size&quot;:n.iconsize/10,&quot;text-field&quot;:n.text,&quot;text-size&quot;:n.textfont.size,&quot;text-anchor&quot;:i.anchor,&quot;text-offset&quot;:i.offset}),a.extendFlat(r,{&quot;icon-color&quot;:t.color,&quot;text-color&quot;:n.textfont.color,&quot;text-opacity&quot;:t.opacity})}return{layout:e,paint:r}}(t);i(t)&amp;&amp;(this.mapbox.setOptions(this.idLayer,&quot;setLayoutProperty&quot;,e.layout),this.mapbox.setOptions(this.idLayer,&quot;setPaintProperty&quot;,e.paint))},s.dispose=function(){var t=this.map;t.removeLayer(this.idLayer),t.removeSource(this.idSource)},e.exports=function(t,e,r){var i=new n(t,e);return i.update(r),i}},{&quot;../../lib&quot;:743,&quot;./convert_text_opts&quot;:845}],848:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib&quot;),i=t(&quot;../../components/color&quot;).defaultLine,a=t(&quot;../domain_attributes&quot;),o=t(&quot;../font_attributes&quot;),s=t(&quot;../../traces/scatter/attributes&quot;).textposition,l=t(&quot;../../plot_api/edit_types&quot;).overrideAll,c=o({});c.family.dflt=&quot;Open Sans Regular, Arial Unicode MS Regular&quot;,e.exports=l({_arrayAttrRegexps:[n.counterRegex(&quot;mapbox&quot;,&quot;.layers&quot;,!0)],domain:a({name:&quot;mapbox&quot;}),accesstoken:{valType:&quot;string&quot;,noBlank:!0,strict:!0},style:{valType:&quot;any&quot;,values:[&quot;basic&quot;,&quot;streets&quot;,&quot;outdoors&quot;,&quot;light&quot;,&quot;dark&quot;,&quot;satellite&quot;,&quot;satellite-streets&quot;],dflt:&quot;basic&quot;},center:{lon:{valType:&quot;number&quot;,dflt:0},lat:{valType:&quot;number&quot;,dflt:0}},zoom:{valType:&quot;number&quot;,dflt:1},bearing:{valType:&quot;number&quot;,dflt:0},pitch:{valType:&quot;number&quot;,dflt:0},layers:{_isLinkedToArray:&quot;layer&quot;,sourcetype:{valType:&quot;enumerated&quot;,values:[&quot;geojson&quot;,&quot;vector&quot;],dflt:&quot;geojson&quot;},source:{valType:&quot;any&quot;},sourcelayer:{valType:&quot;string&quot;,dflt:&quot;&quot;},type:{valType:&quot;enumerated&quot;,values:[&quot;circle&quot;,&quot;line&quot;,&quot;fill&quot;,&quot;symbol&quot;],dflt:&quot;circle&quot;},below:{valType:&quot;string&quot;,dflt:&quot;&quot;},color:{valType:&quot;color&quot;,dflt:i},opacity:{valType:&quot;number&quot;,min:0,max:1,dflt:1},circle:{radius:{valType:&quot;number&quot;,dflt:15}},line:{width:{valType:&quot;number&quot;,dflt:2}},fill:{outlinecolor:{valType:&quot;color&quot;,dflt:i}},symbol:{icon:{valType:&quot;string&quot;,dflt:&quot;marker&quot;},iconsize:{valType:&quot;number&quot;,dflt:10},text:{valType:&quot;string&quot;,dflt:&quot;&quot;},textfont:c,textposition:n.extendFlat({},s,{arrayOk:!1})}}},&quot;plot&quot;,&quot;from-root&quot;)},{&quot;../../components/color&quot;:618,&quot;../../lib&quot;:743,&quot;../../plot_api/edit_types&quot;:773,&quot;../../traces/scatter/attributes&quot;:1066,&quot;../domain_attributes&quot;:815,&quot;../font_attributes&quot;:816}],849:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r){r(&quot;accesstoken&quot;),r(&quot;style&quot;),r(&quot;center.lon&quot;),r(&quot;center.lat&quot;),r(&quot;zoom&quot;),r(&quot;bearing&quot;),r(&quot;pitch&quot;),function(t,e){function r(t,e){return i.coerce(n,a,o.layers,t,e)}var n,a,s=t.layers||[],l=e.layers=[];for(var c=0;c&lt;s.length;c++)if(n=s[c],a={},i.isPlainObject(n)){var u=r(&quot;sourcetype&quot;);r(&quot;source&quot;),&quot;vector&quot;===u&amp;&amp;r(&quot;sourcelayer&quot;);var f=r(&quot;type&quot;);r(&quot;below&quot;),r(&quot;color&quot;),r(&quot;opacity&quot;),&quot;circle&quot;===f&amp;&amp;r(&quot;circle.radius&quot;),&quot;line&quot;===f&amp;&amp;r(&quot;line.width&quot;),&quot;fill&quot;===f&amp;&amp;r(&quot;fill.outlinecolor&quot;),&quot;symbol&quot;===f&amp;&amp;(r(&quot;symbol.icon&quot;),r(&quot;symbol.iconsize&quot;),r(&quot;symbol.text&quot;),i.coerceFont(r,&quot;symbol.textfont&quot;),r(&quot;symbol.textposition&quot;)),a._index=c,l.push(a)}}(t,e),e._input=t}var i=t(&quot;../../lib&quot;),a=t(&quot;../subplot_defaults&quot;),o=t(&quot;./layout_attributes&quot;);e.exports=function(t,e,r){a(t,e,r,{type:&quot;mapbox&quot;,attributes:o,handleDefaults:n,partition:&quot;y&quot;})}},{&quot;../../lib&quot;:743,&quot;../subplot_defaults&quot;:865,&quot;./layout_attributes&quot;:848}],850:[function(t,e,r){&quot;use strict&quot;;function n(t){this.id=t.id,this.gd=t.gd,this.container=t.container,this.isStatic=t.staticPlot;var e=t.fullLayout;this.uid=e._uid+&quot;-&quot;+this.id,this.opts=e[this.id],this.div=null,this.xaxis=null,this.yaxis=null,this.createFramework(e),this.map=null,this.accessToken=null,this.styleObj=null,this.traceHash={},this.layerList=[]}function i(t){var e=d.style.values,r=d.style.dflt,n={};return c.isPlainObject(t)?(n.id=t.id,n.style=t):&quot;string&quot;==typeof t?(n.id=t,n.style=-1!==e.indexOf(t)?a(t):t):(n.id=r,n.style=a(r)),n}function a(t){return h.styleUrlPrefix+t+&quot;-&quot;+h.styleUrlSuffix}function o(t){return[t.lon,t.lat]}var s=t(&quot;mapbox-gl&quot;),l=t(&quot;../../components/fx&quot;),c=t(&quot;../../lib&quot;),u=t(&quot;../../components/dragelement&quot;),f=t(&quot;../cartesian/select&quot;),h=t(&quot;./constants&quot;),d=t(&quot;./layout_attributes&quot;),p=t(&quot;./layers&quot;),m=n.prototype;e.exports=function(t){return new n(t)},m.plot=function(t,e,r){var n=this,i=n.opts=e[this.id];n.map&amp;&amp;i.accesstoken!==n.accessToken&amp;&amp;(n.map.remove(),n.map=null,n.styleObj=null,n.traceHash=[],n.layerList={});var a;a=n.map?new Promise(function(r,i){n.updateMap(t,e,r,i)}):new Promise(function(r,i){n.createMap(t,e,r,i)}),r.push(a)},m.createMap=function(t,e,r,n){function a(){l.loneUnhover(e._toppaper)}var u=this,f=u.gd,d=u.opts,p=u.styleObj=i(d.style);u.accessToken=d.accesstoken;var m=u.map=new s.Map({container:u.div,style:p.style,center:o(d.center),zoom:d.zoom,bearing:d.bearing,pitch:d.pitch,interactive:!u.isStatic,preserveDrawingBuffer:u.isStatic,doubleClickZoom:!1,boxZoom:!1}),g=h.controlContainerClassName,v=u.div.getElementsByClassName(g)[0];u.div.removeChild(v),m._canvas.canvas.style.left=&quot;0px&quot;,m._canvas.canvas.style.top=&quot;0px&quot;,u.rejectOnError(n),m.once(&quot;load&quot;,function(){u.updateData(t),u.updateLayout(e),u.resolveOnRender(r)}),u.isStatic||(m.on(&quot;moveend&quot;,function(t){if(u.map){var e=u.getView();if(d._input.center=d.center=e.center,d._input.zoom=d.zoom=e.zoom,d._input.bearing=d.bearing=e.bearing,d._input.pitch=d.pitch=e.pitch,t.originalEvent){var r={};r[u.id]=c.extendFlat({},e),f.emit(&quot;plotly_relayout&quot;,r)}}}),m.on(&quot;mousemove&quot;,function(t){var e=u.div.getBoundingClientRect();t.clientX=t.point.x+e.left,t.clientY=t.point.y+e.top,t.target.getBoundingClientRect=function(){return e},u.xaxis.p2c=function(){return t.lngLat.lng},u.yaxis.p2c=function(){return t.lngLat.lat},l.hover(f,t,u.id)}),m.on(&quot;click&quot;,function(t){l.click(f,t.originalEvent)}),m.on(&quot;dragstart&quot;,a),m.on(&quot;zoomstart&quot;,a),m.on(&quot;dblclick&quot;,function(){var t=u.viewInitial;m.setCenter(o(t.center)),m.setZoom(t.zoom),m.setBearing(t.bearing),m.setPitch(t.pitch);var e=u.getView();d._input.center=d.center=e.center,d._input.zoom=d.zoom=e.zoom,d._input.bearing=d.bearing=e.bearing,d._input.pitch=d.pitch=e.pitch,f.emit(&quot;plotly_doubleclick&quot;,null)}))},m.updateMap=function(t,e,r,n){var a=this,o=a.map;a.rejectOnError(n);var s=i(a.opts.style);a.styleObj.id!==s.id?(a.styleObj=s,o.setStyle(s.style),o.style.once(&quot;load&quot;,function(){a.traceHash={},a.updateData(t),a.updateLayout(e),a.resolveOnRender(r)})):(a.updateData(t),a.updateLayout(e),a.resolveOnRender(r))},m.updateData=function(t){var e,r,n,i,a=this.traceHash;for(n=0;n&lt;t.length;n++){var o=t[n];(e=a[(r=o[0].trace).uid])?e.update(o):r._module&amp;&amp;(a[r.uid]=r._module.plot(this,o))}var s=Object.keys(a);t:for(n=0;n&lt;s.length;n++){var l=s[n];for(i=0;i&lt;t.length;i++)if(r=t[i][0].trace,l===r.uid)continue t;(e=a[l]).dispose(),delete a[l]}},m.updateLayout=function(t){var e=this.map,r=this.opts;e.setCenter(o(r.center)),e.setZoom(r.zoom),e.setBearing(r.bearing),e.setPitch(r.pitch),this.updateLayers(),this.updateFramework(t),this.updateFx(t),this.map.resize()},m.resolveOnRender=function(t){var e=this.map;e.on(&quot;render&quot;,function r(){e.loaded()&amp;&amp;(e.off(&quot;render&quot;,r),t())})},m.rejectOnError=function(t){function e(){t(new Error(h.mapOnErrorMsg))}var r=this.map;r.once(&quot;error&quot;,e),r.once(&quot;style.error&quot;,e),r.once(&quot;source.error&quot;,e),r.once(&quot;tile.error&quot;,e),r.once(&quot;layer.error&quot;,e)},m.createFramework=function(t){var e=this,r=e.div=document.createElement(&quot;div&quot;);r.id=e.uid,r.style.position=&quot;absolute&quot;,e.container.appendChild(r),e.xaxis={_id:&quot;x&quot;,c2p:function(t){return e.project(t).x}},e.yaxis={_id:&quot;y&quot;,c2p:function(t){return e.project(t).y}},e.updateFramework(t)},m.updateFx=function(t){function e(t){var e=r.map.unproject(t);return[e.lng,e.lat]}var r=this,n=r.map,i=r.gd;if(!r.isStatic){var a,o=t.dragmode;if(a=&quot;select&quot;===o?function(t,n){(t.range={})[r.id]=[e([n.xmin,n.ymin]),e([n.xmax,n.ymax])]}:function(t,n,i){(t.lassoPoints={})[r.id]=i.filtered.map(e)},&quot;select&quot;===o||&quot;lasso&quot;===o){n.dragPan.disable();var s={element:r.div,gd:i,plotinfo:{xaxis:r.xaxis,yaxis:r.yaxis,fillRangeItems:a},xaxes:[r.xaxis],yaxes:[r.yaxis],subplot:r.id};s.prepFn=function(t,e,r){f(t,e,r,s,o)},u.init(s)}else n.dragPan.enable(),r.div.onmousedown=null}},m.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])+&quot;px&quot;,n.height=r.h*(e.y[1]-e.y[0])+&quot;px&quot;,n.left=r.l+e.x[0]*r.w+&quot;px&quot;,n.top=r.t+(1-e.y[1])*r.h+&quot;px&quot;,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])},m.updateLayers=function(){var t,e=this.opts.layers,r=this.layerList;if(e.length!==r.length){for(t=0;t&lt;r.length;t++)r[t].dispose();for(r=this.layerList=[],t=0;t&lt;e.length;t++)r.push(p(this,t,e[t]))}else for(t=0;t&lt;e.length;t++)r[t].update(e[t])},m.destroy=function(){this.map&amp;&amp;(this.map.remove(),this.map=null,this.container.removeChild(this.div))},m.toImage=function(){return this.map.getCanvas().toDataURL()},m.initSource=function(t){return this.map.addSource(t,{type:&quot;geojson&quot;,data:{type:&quot;Feature&quot;,geometry:{type:&quot;Point&quot;,coordinates:[]}}})},m.setSourceData=function(t,e){this.map.getSource(t).setData(e)},m.setOptions=function(t,e,r){for(var n=this.map,i=Object.keys(r),a=0;a&lt;i.length;a++){var o=i[a];n[e](t,o,r[o])}},m.project=function(t){return this.map.project(new s.LngLat(t[0],t[1]))},m.getView=function(){var t=this.map,e=t.getCenter();return{center:{lon:e.lng,lat:e.lat},zoom:t.getZoom(),bearing:t.getBearing(),pitch:t.getPitch()}}},{&quot;../../components/dragelement&quot;:640,&quot;../../components/fx&quot;:660,&quot;../../lib&quot;:743,&quot;../cartesian/select&quot;:807,&quot;./constants&quot;:844,&quot;./layers&quot;:847,&quot;./layout_attributes&quot;:848,&quot;mapbox-gl&quot;:334}],851:[function(t,e,r){&quot;use strict&quot;;e.exports={t:{valType:&quot;number&quot;,dflt:0,editType:&quot;arraydraw&quot;},r:{valType:&quot;number&quot;,dflt:0,editType:&quot;arraydraw&quot;},b:{valType:&quot;number&quot;,dflt:0,editType:&quot;arraydraw&quot;},l:{valType:&quot;number&quot;,dflt:0,editType:&quot;arraydraw&quot;},editType:&quot;arraydraw&quot;}},{}],852:[function(t,e,r){&quot;use strict&quot;;function n(t){for(var e=0;e&lt;t.length;e++){t[e]._categories=t[e]._initialCategories.slice(),t[e]._categoriesMap={};for(var r=0;r&lt;t[e]._categories.length;r++)t[e]._categoriesMap[t[e]._categories[r]]=r}}var i=t(&quot;d3&quot;),a=t(&quot;fast-isnumeric&quot;),o=t(&quot;../plotly&quot;),s=t(&quot;../plot_api/plot_schema&quot;),l=t(&quot;../registry&quot;),c=t(&quot;../plots/cartesian/axis_ids&quot;),u=t(&quot;../lib&quot;),f=u._,h=t(&quot;../components/color&quot;),d=t(&quot;../constants/numerical&quot;).BADNUM,p=e.exports={},m=t(&quot;./animation_attributes&quot;),g=t(&quot;./frame_attributes&quot;),v=u.relinkPrivateKeys;u.extendFlat(p,l),p.attributes=t(&quot;./attributes&quot;),p.attributes.type.values=p.allTypes,p.fontAttrs=t(&quot;./font_attributes&quot;),p.layoutAttributes=t(&quot;./layout_attributes&quot;),p.fontWeight=&quot;normal&quot;;var y=p.transformsRegistry,x=t(&quot;../components/errorbars&quot;),b=t(&quot;./command&quot;);p.executeAPICommand=b.executeAPICommand,p.computeAPICommandBindings=b.computeAPICommandBindings,p.manageCommandObserver=b.manageCommandObserver,p.hasSimpleAPICommandBindings=b.hasSimpleAPICommandBindings,p.redrawText=function(t){if(!((t=u.getGraphDiv(t)).data&amp;&amp;t.data[0]&amp;&amp;t.data[0].r))return new Promise(function(e){setTimeout(function(){l.getComponentMethod(&quot;annotations&quot;,&quot;draw&quot;)(t),l.getComponentMethod(&quot;legend&quot;,&quot;draw&quot;)(t),(t.calcdata||[]).forEach(function(t){t[0]&amp;&amp;t[0].t&amp;&amp;t[0].t.cb&amp;&amp;t[0].t.cb()}),e(p.previousPromises(t))},300)})},p.resize=function(t){return t=u.getGraphDiv(t),new Promise(function(e,r){t&amp;&amp;!function(t){var e=window.getComputedStyle(t).display;return!e||&quot;none&quot;===e}(t)||r(new Error(&quot;Resize must be passed a displayed plot div element.&quot;)),t._redrawTimer&amp;&amp;clearTimeout(t._redrawTimer),t._redrawTimer=setTimeout(function(){if(t.layout.width&amp;&amp;t.layout.height)e(t);else{delete t.layout.width,delete t.layout.height;var r=t.changed;t.autoplay=!0,o.relayout(t,{autosize:!0}).then(function(){t.changed=r,e(t)})}},100)})},p.previousPromises=function(t){if((t._promises||[]).length)return Promise.all(t._promises).then(function(){t._promises=[]})},p.addLinks=function(t){if(t._context.showLink||t._context.showSources){var e=t._fullLayout,r=e._paper.selectAll(&quot;text.js-plot-link-container&quot;).data([0]);r.enter().append(&quot;text&quot;).classed(&quot;js-plot-link-container&quot;,!0).style({&quot;font-family&quot;:'&quot;Open Sans&quot;, Arial, sans-serif',&quot;font-size&quot;:&quot;12px&quot;,fill:h.defaultLine,&quot;pointer-events&quot;:&quot;all&quot;}).each(function(){var t=i.select(this);t.append(&quot;tspan&quot;).classed(&quot;js-link-to-tool&quot;,!0),t.append(&quot;tspan&quot;).classed(&quot;js-link-spacer&quot;,!0),t.append(&quot;tspan&quot;).classed(&quot;js-sourcelinks&quot;,!0)});var n=r.node(),a={y:e._paper.attr(&quot;height&quot;)-9};document.body.contains(n)&amp;&amp;n.getComputedTextLength()&gt;=e.width-20?(a[&quot;text-anchor&quot;]=&quot;start&quot;,a.x=5):(a[&quot;text-anchor&quot;]=&quot;end&quot;,a.x=e._paper.attr(&quot;width&quot;)-7),r.attr(a);var o=r.select(&quot;.js-link-to-tool&quot;),s=r.select(&quot;.js-link-spacer&quot;),l=r.select(&quot;.js-sourcelinks&quot;);t._context.showSources&amp;&amp;t._context.showSources(t),t._context.showLink&amp;&amp;function(t,e){e.text(&quot;&quot;);var r=e.append(&quot;a&quot;).attr({&quot;xlink:xlink:href&quot;:&quot;#&quot;,class:&quot;link--impt link--embedview&quot;,&quot;font-weight&quot;:&quot;bold&quot;}).text(t._context.linkText+&quot; &quot;+String.fromCharCode(187));if(t._context.sendData)r.on(&quot;click&quot;,function(){p.sendDataToCloud(t)});else{var n=window.location.pathname.split(&quot;/&quot;),i=window.location.search;r.attr({&quot;xlink:xlink:show&quot;:&quot;new&quot;,&quot;xlink:xlink:href&quot;:&quot;/&quot;+n[2].split(&quot;.&quot;)[0]+&quot;/&quot;+n[1]+i})}}(t,o),s.text(o.text()&amp;&amp;l.text()?&quot; - &quot;:&quot;&quot;)}},p.sendDataToCloud=function(t){t.emit(&quot;plotly_beforeexport&quot;);var e=window.PLOTLYENV&amp;&amp;window.PLOTLYENV.BASE_URL||&quot;https://plot.ly&quot;,r=i.select(t).append(&quot;div&quot;).attr(&quot;id&quot;,&quot;hiddenform&quot;).style(&quot;display&quot;,&quot;none&quot;),n=r.append(&quot;form&quot;).attr({action:e+&quot;/external&quot;,method:&quot;post&quot;,target:&quot;_blank&quot;});return n.append(&quot;input&quot;).attr({type:&quot;text&quot;,name:&quot;data&quot;}).node().value=p.graphJson(t,!1,&quot;keepdata&quot;),n.node().submit(),r.remove(),t.emit(&quot;plotly_afterexport&quot;),!1},p.supplyDefaults=function(t){var e,r=t._fullLayout||{},n=t._fullLayout={},a=t.layout||{},o=t._fullData||[],s=t._fullData=[],h=t.data||[];t._transitionData||p.createTransitionData(t),n._dfltTitle={plot:f(t,&quot;Click to enter Plot title&quot;),x:f(t,&quot;Click to enter X axis title&quot;),y:f(t,&quot;Click to enter Y axis title&quot;),colorbar:f(t,&quot;Click to enter Colorscale title&quot;),annotation:f(t,&quot;new text&quot;)},n._traceWord=f(t,&quot;trace&quot;);var d=function(t){function e(t){for(var e=!0,r=0;r&lt;w.length;r++){var a=w[r];i[a]||(t[a]?i[a]=t[a]:e=!1)}e&amp;&amp;(n=!0)}for(var r=t._context.locale,n=!1,i={},a=0;a&lt;2;a++){for(var o=t._context.locales,s=0;s&lt;2;s++){var c=(o[r]||{}).format;if(c&amp;&amp;(e(c),n))break;o=l.localeRegistry}var u=r.split(&quot;-&quot;)[0];if(n||u===r)break;r=u}return n||e(l.localeRegistry.en.format),i}(t);if(r._initialAutoSizeIsDone){var m=r.width,g=r.height;p.supplyLayoutGlobalDefaults(a,n,d),a.width||(n.width=m),a.height||(n.height=g)}else{p.supplyLayoutGlobalDefaults(a,n,d);var y=!a.width||!a.height,x=n.autosize,b=t._context&amp;&amp;t._context.autosizable;y&amp;&amp;(x||b)?p.plotAutoSize(t,a,n):y&amp;&amp;p.sanitizeMargins(t),!x&amp;&amp;y&amp;&amp;(a.width=n.width,a.height=n.height)}n._d3locale=function(t,e){return t.decimal=e.charAt(0),t.thousands=e.charAt(1),i.locale(t)}(d,n.separators),n._initialAutoSizeIsDone=!0,n._dataLength=h.length,n._modules=[],n._basePlotModules=[],n._subplots=function(){var t,e,r={};if(!_){_=[];var n=l.subplotsRegistry;for(var i in n){var a=n[i].attr;if(a&amp;&amp;(_.push(i),Array.isArray(a)))for(e=0;e&lt;a.length;e++)u.pushUnique(_,a[e])}}for(t=0;t&lt;_.length;t++)r[_[t]]=[];return r}(),n._globalTransforms=(t._context||{}).globalTransforms,p.supplyDataDefaults(h,s,a,n),n._has=p._hasPlotType.bind(n);var M=n._modules;for(e=0;e&lt;M.length;e++){var k=M[e];k.cleanData&amp;&amp;k.cleanData(s)}if(o.length===h.length)for(e=0;e&lt;s.length;e++)v(s[e],o[e]);p.supplyLayoutModuleDefaults(a,n,s,t._transitionData),n._hasCartesian=n._has(&quot;cartesian&quot;),n._hasGeo=n._has(&quot;geo&quot;),n._hasGL3D=n._has(&quot;gl3d&quot;),n._hasGL2D=n._has(&quot;gl2d&quot;),n._hasTernary=n._has(&quot;ternary&quot;),n._hasPie=n._has(&quot;pie&quot;),p.cleanPlot(s,n,o,r),p.linkSubplots(s,n,o,r),v(n,r),p.doAutoMargin(t);var A=c.list(t);for(e=0;e&lt;A.length;e++){A[e].setScale()}if((t.calcdata||[]).length===s.length)for(e=0;e&lt;s.length;e++){var T=s[e],S=t.calcdata[e][0];S&amp;&amp;S.trace&amp;&amp;(S.trace._hasCalcTransform?function(t,e){var r,n,i=t.trace,a=i._arrayAttrs,o={};for(r=0;r&lt;a.length;r++)o[n=a[r]]=u.nestedProperty(i,n).get().slice();for(t.trace=e,r=0;r&lt;a.length;r++)n=a[r],u.nestedProperty(t.trace,n).set(o[n])}(S,T):S.trace=T)}};var _,w=[&quot;days&quot;,&quot;shortDays&quot;,&quot;months&quot;,&quot;shortMonths&quot;,&quot;periods&quot;,&quot;dateTime&quot;,&quot;date&quot;,&quot;time&quot;,&quot;decimal&quot;,&quot;thousands&quot;,&quot;grouping&quot;,&quot;currency&quot;];p.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=[])},p._hasPlotType=function(t){var e,r=this._basePlotModules||[];for(e=0;e&lt;r.length;e++){if(r[e].name===t)return!0}var n=this._modules||[];for(e=0;e&lt;n.length;e++){var i=n[e];if(i.categories&amp;&amp;i.categories.indexOf(t)&gt;=0)return!0}return!1},p.cleanPlot=function(t,e,r,n){var i,a,o=n._basePlotModules||[];for(i=0;i&lt;o.length;i++){var s=o[i];s.clean&amp;&amp;s.clean(t,e,r,n)}var l=!!n._paper,c=!!n._infolayer,u=n._has&amp;&amp;n._has(&quot;gl&quot;),f=e._has&amp;&amp;e._has(&quot;gl&quot;);u&amp;&amp;!f&amp;&amp;void 0!==n._glcontainer&amp;&amp;(n._glcontainer.selectAll(&quot;.gl-canvas&quot;).remove(),n._glcanvas=null);t:for(i=0;i&lt;r.length;i++){var h=r[i].uid;for(a=0;a&lt;t.length;a++){if(h===t[a].uid)continue t}var d=&quot;.hm&quot;+h+&quot;,.contour&quot;+h+&quot;,.carpet&quot;+h+&quot;,#clip&quot;+h+&quot;,.trace&quot;+h;l&amp;&amp;n._paper.selectAll(d).remove(),c&amp;&amp;(n._infolayer.selectAll(&quot;.cb&quot;+h).remove(),n._infolayer.selectAll(&quot;g.rangeslider-container&quot;).selectAll(d).remove())}n._zoomlayer&amp;&amp;n._zoomlayer.selectAll(&quot;.select-outline&quot;).remove()},p.linkSubplots=function(t,e,r,n){var i,a,o,s,l=n._plots||{},f=e._plots={},h=e._subplots,d={_fullData:t,_fullLayout:e},p=h.cartesian.concat(h.gl2d||[]);for(var m in h)h[m].sort(u.subplotSort);for(i=0;i&lt;p.length;i++){var g,v=l[o=p[i]],y=c.getFromId(d,o,&quot;x&quot;),x=c.getFromId(d,o,&quot;y&quot;);for(v?((g=f[o]=v).xaxis.layer!==y.layer&amp;&amp;(g.xlines.attr(&quot;d&quot;,null),g.xaxislayer.selectAll(&quot;*&quot;).remove()),g.yaxis.layer!==x.layer&amp;&amp;(g.ylines.attr(&quot;d&quot;,null),g.yaxislayer.selectAll(&quot;*&quot;).remove())):(g=f[o]={}).id=o,g.xaxis=y,g.yaxis=x,g._hasClipOnAxisFalse=!1,a=0;a&lt;t.length;a++){var b=t[a];if(b.xaxis===g.xaxis._id&amp;&amp;b.yaxis===g.yaxis._id&amp;&amp;!1===b.cliponaxis){g._hasClipOnAxisFalse=!0;break}}}var _=c.list(d,null,!0);for(i=0;i&lt;_.length;i++){var w=null;(s=_[i]).overlaying&amp;&amp;(w=c.getFromId(d,s.overlaying))&amp;&amp;w.overlaying&amp;&amp;(s.overlaying=!1,w=null),s._mainAxis=w||s,w&amp;&amp;(s.domain=w.domain.slice()),s._anchorAxis=&quot;free&quot;===s.anchor?null:c.getFromId(d,s.anchor)}for(i=0;i&lt;_.length;i++){var M=&quot;x&quot;===(s=_[i])._id.charAt(0),k=s._mainAxis._anchorAxis,A=&quot;&quot;,T=&quot;&quot;,S=&quot;&quot;;if(k&amp;&amp;(S=k._mainAxis._id,A=M?s._id+S:S+s._id),!A||-1===p.indexOf(A))for(A=&quot;&quot;,a=0;a&lt;p.length;a++){var E=(o=p[a]).indexOf(&quot;y&quot;),L=M?o.substr(0,E):o.substr(E),C=M?o.substr(E):o.substr(0,E);if(L===s._id){T||(T=o);var z=c.getFromId(d,C);if(S&amp;&amp;z.overlaying===S){A=o;break}}}s._mainSubplot=A||T}},p.clearExpandedTraceDefaultColors=function(t){function e(t,e,i,a){n[a]=e,n.length=a+1,&quot;color&quot;===t.valType&amp;&amp;void 0===t.dflt&amp;&amp;r.push(n.join(&quot;.&quot;))}var r,n,i;for(n=[],(r=t._module._colorAttrs)||(t._module._colorAttrs=r=[],s.crawl(t._module.attributes,e)),i=0;i&lt;r.length;i++){u.nestedProperty(t,&quot;_input.&quot;+r[i]).get()||u.nestedProperty(t,r[i]).set(null)}},p.supplyDataDefaults=function(t,e,r,n){function i(t){e.push(t);var r=t._module;r&amp;&amp;(!0===t.visible&amp;&amp;u.pushUnique(c,r),u.pushUnique(f,t._module.basePlotModule),h++,!1!==t._input.visible&amp;&amp;d++)}var a,o,s,c=n._modules,f=n._basePlotModules,h=0,d=0;n._transformModules=[];var m={},g=[];for(a=0;a&lt;t.length;a++){if(s=t[a],o=p.supplyTraceDefaults(s,d,n,a),o.index=a,o._input=s,o._expandedIndex=h,o.transforms&amp;&amp;o.transforms.length)for(var x=function(t,e,r,n){for(var i=t.transforms,a=[t],o=0;o&lt;i.length;o++){var s=i[o],l=y[s.type];l&amp;&amp;l.transform&amp;&amp;(a=l.transform(a,{transform:s,fullTrace:t,fullData:e,layout:r,fullLayout:n,transformIndex:o}))}return a}(o,e,r,n),b=0;b&lt;x.length;b++){var _=x[b],w=p.supplyTraceDefaults(_,h,n,a);v(w,_),_.uid=w.uid=o.uid+b,w.index=a,w._input=s,w._fullInput=o,w._expandedIndex=h,w._expandedInput=_,i(w)}else o._fullInput=o,o._expandedInput=o,i(o);l.traceIs(o,&quot;carpetAxis&quot;)&amp;&amp;(m[o.carpet]=o),l.traceIs(o,&quot;carpetDependent&quot;)&amp;&amp;g.push(a)}for(a=0;a&lt;g.length;a++)if((o=e[g[a]]).visible){var M=m[o.carpet];o._carpet=M,M&amp;&amp;M.visible?(o.xaxis=M.xaxis,o.yaxis=M.yaxis):o.visible=!1}},p.supplyAnimationDefaults=function(t){function e(e,r){return u.coerce(t||{},n,m,e,r)}t=t||{};var r,n={};if(e(&quot;mode&quot;),e(&quot;direction&quot;),e(&quot;fromcurrent&quot;),Array.isArray(t.frame))for(n.frame=[],r=0;r&lt;t.frame.length;r++)n.frame[r]=p.supplyAnimationFrameDefaults(t.frame[r]||{});else n.frame=p.supplyAnimationFrameDefaults(t.frame||{});if(Array.isArray(t.transition))for(n.transition=[],r=0;r&lt;t.transition.length;r++)n.transition[r]=p.supplyAnimationTransitionDefaults(t.transition[r]||{});else n.transition=p.supplyAnimationTransitionDefaults(t.transition||{});return n},p.supplyAnimationFrameDefaults=function(t){function e(e,n){return u.coerce(t||{},r,m.frame,e,n)}var r={};return e(&quot;duration&quot;),e(&quot;redraw&quot;),r},p.supplyAnimationTransitionDefaults=function(t){function e(e,n){return u.coerce(t||{},r,m.transition,e,n)}var r={};return e(&quot;duration&quot;),e(&quot;easing&quot;),r},p.supplyFrameDefaults=function(t){function e(e,n){return u.coerce(t,r,g,e,n)}var r={};return e(&quot;group&quot;),e(&quot;name&quot;),e(&quot;traces&quot;),e(&quot;baseframe&quot;),e(&quot;data&quot;),e(&quot;layout&quot;),r},p.supplyTraceDefaults=function(t,e,r,n){function i(e,r){return u.coerce(t,s,p.attributes,e,r)}var a,o=r.colorway||h.defaults,s={},c=o[e%o.length],f=i(&quot;visible&quot;);i(&quot;type&quot;),i(&quot;uid&quot;),i(&quot;name&quot;,r._traceWord+&quot; &quot;+n);var d=p.getModule(s);if(s._module=d,d){var m=d.basePlotModule,g=m.attr;if(g){var v=r._subplots,y=m.attributes,x=&quot;&quot;;if(&quot;gl2d&quot;!==m.name||f){if(Array.isArray(g))for(a=0;a&lt;g.length;a++){var b=g[a],_=u.coerce(t,s,y,b);v[b]&amp;&amp;u.pushUnique(v[b],_),x+=_}else x=u.coerce(t,s,y,g);v[m.name]&amp;&amp;u.pushUnique(v[m.name],x)}}}return f&amp;&amp;(i(&quot;customdata&quot;),i(&quot;ids&quot;),p.traceIs(s,&quot;showLegend&quot;)&amp;&amp;(i(&quot;showlegend&quot;),i(&quot;legendgroup&quot;)),l.getComponentMethod(&quot;fx&quot;,&quot;supplyDefaults&quot;)(t,s,c,r),d&amp;&amp;(d.supplyDefaults(t,s,c,r),u.coerceHoverinfo(t,s,r)),p.traceIs(s,&quot;noOpacity&quot;)||i(&quot;opacity&quot;),p.traceIs(s,&quot;notLegendIsolatable&quot;)&amp;&amp;(s.visible=!!s.visible),d&amp;&amp;d.selectPoints&amp;&amp;i(&quot;selectedpoints&quot;),p.supplyTransformDefaults(t,s,r)),s},p.supplyTransformDefaults=function(t,e,r){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&lt;o.length;l++){var c,f=o[l],h=f.type,d=y[h],p=!(f._module&amp;&amp;f._module===d),m=d&amp;&amp;&quot;function&quot;==typeof d.transform;d||u.warn(&quot;Unrecognized transform type &quot;+h+&quot;.&quot;),d&amp;&amp;d.supplyDefaults&amp;&amp;(p||m)?((c=d.supplyDefaults(f,e,r,t)).type=h,c._module=d,u.pushUnique(i,d)):c=u.extendFlat({},f),s.push(c)}},p.supplyLayoutGlobalDefaults=function(t,e,r){function n(r,n){return u.coerce(t,e,p.layoutAttributes,r,n)}var i=u.coerceFont(n,&quot;font&quot;);n(&quot;title&quot;,e._dfltTitle.plot),u.coerceFont(n,&quot;titlefont&quot;,{family:i.family,size:Math.round(1.4*i.size),color:i.color}),n(&quot;autosize&quot;,!(t.width&amp;&amp;t.height)),n(&quot;width&quot;),n(&quot;height&quot;),n(&quot;margin.l&quot;),n(&quot;margin.r&quot;),n(&quot;margin.t&quot;),n(&quot;margin.b&quot;),n(&quot;margin.pad&quot;),n(&quot;margin.autoexpand&quot;),t.width&amp;&amp;t.height&amp;&amp;p.sanitizeMargins(e),n(&quot;paper_bgcolor&quot;),n(&quot;separators&quot;,r.decimal+r.thousands),n(&quot;hidesources&quot;),n(&quot;colorway&quot;),l.getComponentMethod(&quot;calendars&quot;,&quot;handleDefaults&quot;)(t,e,&quot;calendar&quot;),l.getComponentMethod(&quot;fx&quot;,&quot;supplyLayoutGlobalDefaults&quot;)(t,e,n)},p.plotAutoSize=function(t,e,r){var n,i,o=t._context||{},s=o.frameMargins,l=u.isPlotDiv(t);if(l&amp;&amp;t.emit(&quot;plotly_autosize&quot;),o.fillFrame)n=window.innerWidth,i=window.innerHeight,document.body.style.overflow=&quot;hidden&quot;;else if(a(s)&amp;&amp;s&gt;0){var c=function(t){var e,r={left:0,right:0,bottom:0,top:0};if(t)for(e in t)t.hasOwnProperty(e)&amp;&amp;(r.left+=t[e].left||0,r.right+=t[e].right||0,r.bottom+=t[e].bottom||0,r.top+=t[e].top||0);return r}(t._boundingBoxMargins),f=c.left+c.right,h=c.bottom+c.top,d=1-2*s,m=r._container&amp;&amp;r._container.node?r._container.node().getBoundingClientRect():{width:r.width,height:r.height};n=Math.round(d*(m.width-f)),i=Math.round(d*(m.height-h))}else{var g=l?window.getComputedStyle(t):{};n=parseFloat(g.width)||r.width,i=parseFloat(g.height)||r.height}var v=p.layoutAttributes.width.min,y=p.layoutAttributes.height.min;n&lt;v&amp;&amp;(n=v),i&lt;y&amp;&amp;(i=y);var x=!e.width&amp;&amp;Math.abs(r.width-n)&gt;1,b=!e.height&amp;&amp;Math.abs(r.height-i)&gt;1;(b||x)&amp;&amp;(x&amp;&amp;(r.width=n),b&amp;&amp;(r.height=i)),t._initialAutoSize||(t._initialAutoSize={width:n,height:i}),p.sanitizeMargins(r)},p.supplyLayoutModuleDefaults=function(t,e,r,n){var i,a,o,s=l.componentsRegistry,c=e._basePlotModules,u=l.subplotsRegistry.cartesian;for(i in s)(o=s[i]).includeBasePlot&amp;&amp;o.includeBasePlot(t,e);for(c.length||c.push(u),e._has(&quot;cartesian&quot;)&amp;&amp;u.finalizeSubplots(t,e),a=0;a&lt;c.length;a++)(o=c[a]).supplyLayoutDefaults&amp;&amp;o.supplyLayoutDefaults(t,e,r);var f=e._modules;for(a=0;a&lt;f.length;a++)(o=f[a]).supplyLayoutDefaults&amp;&amp;o.supplyLayoutDefaults(t,e,r);var h=e._transformModules;for(a=0;a&lt;h.length;a++)(o=h[a]).supplyLayoutDefaults&amp;&amp;o.supplyLayoutDefaults(t,e,r,n);for(i in s)(o=s[i]).supplyLayoutDefaults&amp;&amp;o.supplyLayoutDefaults(t,e,r)},p.purge=function(t){var e=t._fullLayout||{};void 0!==e._glcontainer&amp;&amp;(e._glcontainer.selectAll(&quot;.gl-canvas&quot;).remove(),e._glcontainer.remove(),e._glcanvas=null),void 0!==e._geocontainer&amp;&amp;e._geocontainer.remove(),e._modeBar&amp;&amp;e._modeBar.destroy(),t._transitionData&amp;&amp;(t._transitionData._interruptCallbacks&amp;&amp;(t._transitionData._interruptCallbacks.length=0),t._transitionData._animationRaf&amp;&amp;window.cancelAnimationFrame(t._transitionData._animationRaf)),u.clearThrottle(),delete t.data,delete t.layout,delete t._fullData,delete t._fullLayout,delete t.calcdata,delete t.framework,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.firstscatter,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._hoverdata,delete t._snapshotInProgress,delete t._editing,delete t._replotPending,delete t._mouseDownTime,delete t._legendMouseDownTime,t.removeAllListeners&amp;&amp;t.removeAllListeners()},p.style=function(t){var e,r=t._fullLayout._modules,n=[];for(e=0;e&lt;r.length;e++){var i=r[e];i.style&amp;&amp;u.pushUnique(n,i.style)}for(e=0;e&lt;n.length;e++)n[e](t)},p.sanitizeMargins=function(t){if(t&amp;&amp;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&lt;0&amp;&amp;(e=(r-1)/(i.l+i.r),i.l=Math.floor(e*i.l),i.r=Math.floor(e*i.r)),o&lt;0&amp;&amp;(e=(n-1)/(i.t+i.b),i.t=Math.floor(e*i.t),i.b=Math.floor(e*i.b))}},p.autoMargin=function(t,e,r){var n=t._fullLayout;if(n._pushmargin||(n._pushmargin={}),!1!==n.margin.autoexpand){if(r){var i=void 0===r.pad?12:r.pad;r.l+r.r&gt;.5*n.width&amp;&amp;(r.l=r.r=0),r.b+r.t&gt;.5*n.height&amp;&amp;(r.b=r.t=0),n._pushmargin[e]={l:{val:r.x,size:r.l+i},r:{val:r.x,size:r.r+i},b:{val:r.y,size:r.b+i},t:{val:r.y,size:r.t+i}}}else delete n._pushmargin[e];n._replotting||p.doAutoMargin(t)}},p.doAutoMargin=function(t){var e=t._fullLayout;e._size||(e._size={}),e._pushmargin||(e._pushmargin={});var r=e._size,n=JSON.stringify(r),i=Math.max(e.margin.l||0,0),s=Math.max(e.margin.r||0,0),l=Math.max(e.margin.t||0,0),c=Math.max(e.margin.b||0,0),u=e._pushmargin;if(!1!==e.margin.autoexpand){u.base={l:{val:0,size:i},r:{val:1,size:s},t:{val:1,size:l},b:{val:0,size:c}};for(var f in u){var h=u[f].l||{},d=u[f].b||{},p=h.val,m=h.size,g=d.val,v=d.size;for(var y in u){if(a(m)&amp;&amp;u[y].r){var x=u[y].r.val,b=u[y].r.size;if(x&gt;p){var _=(m*x+(b-e.width)*p)/(x-p),w=(b*(1-p)+(m-e.width)*(1-x))/(x-p);_&gt;=0&amp;&amp;w&gt;=0&amp;&amp;_+w&gt;i+s&amp;&amp;(i=_,s=w)}}if(a(v)&amp;&amp;u[y].t){var M=u[y].t.val,k=u[y].t.size;if(M&gt;g){var A=(v*M+(k-e.height)*g)/(M-g),T=(k*(1-g)+(v-e.height)*(1-M))/(M-g);A&gt;=0&amp;&amp;T&gt;=0&amp;&amp;A+T&gt;c+l&amp;&amp;(c=A,l=T)}}}}}if(r.l=Math.round(i),r.r=Math.round(s),r.t=Math.round(l),r.b=Math.round(c),r.p=Math.round(e.margin.pad),r.w=Math.round(e.width)-r.l-r.r,r.h=Math.round(e.height)-r.t-r.b,!e._replotting&amp;&amp;&quot;{}&quot;!==n&amp;&amp;n!==JSON.stringify(e._size))return o.plot(t)},p.graphJson=function(t,e,r,n,i){function a(t){if(&quot;function&quot;==typeof t)return null;if(u.isPlainObject(t)){var e,n,i={};for(e in t)if(&quot;function&quot;!=typeof t[e]&amp;&amp;-1===[&quot;_&quot;,&quot;[&quot;].indexOf(e.charAt(0))){if(&quot;keepdata&quot;===r){if(&quot;src&quot;===e.substr(e.length-3))continue}else if(&quot;keepstream&quot;===r){if(&quot;string&quot;==typeof(n=t[e+&quot;src&quot;])&amp;&amp;n.indexOf(&quot;:&quot;)&gt;0&amp;&amp;!u.isPlainObject(t.stream))continue}else if(&quot;keepall&quot;!==r&amp;&amp;&quot;string&quot;==typeof(n=t[e+&quot;src&quot;])&amp;&amp;n.indexOf(&quot;:&quot;)&gt;0)continue;i[e]=a(t[e])}return i}return Array.isArray(t)?t.map(a):u.isJSDate(t)?u.ms2DateTimeLocal(+t):t}(i&amp;&amp;e&amp;&amp;!t._fullData||i&amp;&amp;!e&amp;&amp;!t._fullLayout)&amp;&amp;p.supplyDefaults(t);var o=i?t._fullData:t.data,s=i?t._fullLayout:t.layout,l=(t._transitionData||{})._frames,c={data:(o||[]).map(function(t){var r=a(t);return e&amp;&amp;delete r.fit,r})};return e||(c.layout=a(s)),t.framework&amp;&amp;t.framework.isPolar&amp;&amp;(c=t.framework.getConfig()),l&amp;&amp;(c.frames=a(l)),&quot;object&quot;===n?c:JSON.stringify(c)},p.modifyFrames=function(t,e){var r,n,i,a=t._transitionData._frames,o=t._transitionData._frameHash;for(r=0;r&lt;e.length;r++)switch((n=e[r]).type){case&quot;replace&quot;:i=n.value;var s=(a[n.index]||{}).name,l=i.name;a[n.index]=o[l]=i,l!==s&amp;&amp;(delete o[s],o[l]=i);break;case&quot;insert&quot;:o[(i=n.value).name]=i,a.splice(n.index,0,i);break;case&quot;delete&quot;:delete o[(i=a[n.index]).name],a.splice(n.index,1)}return Promise.resolve()},p.computeFrame=function(t,e){var r,n,i,a,o=t._transitionData._frameHash;if(!e)throw new Error(&quot;computeFrame must be given a string frame name&quot;);var s=o[e.toString()];if(!s)return!1;for(var l=[s],c=[s.name];s.baseframe&amp;&amp;(s=o[s.baseframe.toString()])&amp;&amp;-1===c.indexOf(s.name);)l.push(s),c.push(s.name);for(var u={};s=l.pop();)if(s.layout&amp;&amp;(u.layout=p.extendLayout(u.layout,s.layout)),s.data){if(u.data||(u.data=[]),!(n=s.traces))for(n=[],r=0;r&lt;s.data.length;r++)n[r]=r;for(u.traces||(u.traces=[]),r=0;r&lt;s.data.length;r++)void 0!==(i=n[r])&amp;&amp;null!==i&amp;&amp;(-1===(a=u.traces.indexOf(i))&amp;&amp;(a=u.data.length,u.traces[a]=i),u.data[a]=p.extendTrace(u.data[a],s.data[r]))}return u},p.recomputeFrameHash=function(t){for(var e=t._transitionData._frameHash={},r=t._transitionData._frames,n=0;n&lt;r.length;n++){var i=r[n];i&amp;&amp;i.name&amp;&amp;(e[i.name]=i)}},p.extendObjectWithContainers=function(t,e,r){var n,i,a,o,s,l,c,f,h=u.extendDeepNoArrays({},e||{}),d=u.expandObjectPaths(h),m={};if(r&amp;&amp;r.length)for(a=0;a&lt;r.length;a++)void 0===(i=(n=u.nestedProperty(d,r[a])).get())?u.nestedProperty(m,r[a]).set(null):(n.set(null),u.nestedProperty(m,r[a]).set(i));if(t=u.extendDeepNoArrays(t||{},d),r&amp;&amp;r.length)for(a=0;a&lt;r.length;a++)if(s=u.nestedProperty(m,r[a]),c=s.get()){for(f=(l=u.nestedProperty(t,r[a])).get(),Array.isArray(f)||(f=[],l.set(f)),o=0;o&lt;c.length;o++){var g=c[o];f[o]=null===g?null:p.extendObjectWithContainers(f[o],g)}l.set(f)}return t},p.dataArrayContainers=[&quot;transforms&quot;],p.layoutArrayContainers=l.layoutArrayContainers,p.extendTrace=function(t,e){return p.extendObjectWithContainers(t,e,p.dataArrayContainers)},p.extendLayout=function(t,e){return p.extendObjectWithContainers(t,e,p.layoutArrayContainers)},p.transition=function(t,e,r,n,i,a){var s,l,c=Array.isArray(e)?e.length:0,f=n.slice(0,c),h=[],d=!1;for(s=0;s&lt;f.length;s++){l=f[s];var m=t._fullData[l]._module;if(m&amp;&amp;!m.animatable){var g={};for(var v in e[s])g[v]=[e[s][v]]}}var y=[p.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)},function(){var n;for(n=0;n&lt;f.length;n++){var i=f[n],a=t._fullData[i]._module;a&amp;&amp;(a.animatable&amp;&amp;h.push(i),t.data[f[n]]=p.extendTrace(t.data[f[n]],e[n]))}var o=u.expandObjectPaths(u.extendDeepNoArrays({},r)),s=/^[xy]axis[0-9]*$/;for(var l in o)s.test(l)&amp;&amp;delete o[l].range;return p.extendLayout(t.layout,o),delete t.calcdata,p.supplyDefaults(t),p.doCalcdata(t),x.calc(t),Promise.resolve()},p.rehover,function(){return t.emit(&quot;plotly_transitioning&quot;,[]),new Promise(function(e){function n(){return c++,function(){f++,d||f!==c||function(e){t._transitionData&amp;&amp;(function(t){if(t)for(;t.length;)t.shift()}(t._transitionData._interruptCallbacks),Promise.resolve().then(function(){if(i.redraw)return o.redraw(t)}).then(function(){t._transitioning=!1,t._transitioningWithDuration=!1,t.emit(&quot;plotly_transitioned&quot;,[])}).then(e))}(e)}}t._transitioning=!0,a.duration&gt;0&amp;&amp;(t._transitioningWithDuration=!0),t._transitionData._interruptCallbacks.push(function(){d=!0}),i.redraw&amp;&amp;t._transitionData._interruptCallbacks.push(function(){return o.redraw(t)}),t._transitionData._interruptCallbacks.push(function(){t.emit(&quot;plotly_transitioninterrupted&quot;,[])});var s,l,c=0,f=0,p=t._fullLayout._basePlotModules,m=!1;if(r)for(l=0;l&lt;p.length;l++)if(p[l].transitionAxes){var g=u.expandObjectPaths(r);m=p[l].transitionAxes(t,g,a,n)||m}for(m?(s=u.extendFlat({},a)).duration=0:s=a,l=0;l&lt;p.length;l++)p[l].plot(t,h,s,n);setTimeout(n())})}],b=u.syncOrAsync(y,t);return b&amp;&amp;b.then||(b=Promise.resolve()),b.then(function(){return t})},p.doCalcdata=function(t,e){var r,i,a,o,u=c.list(t),f=t._fullData,h=t._fullLayout,p=new Array(f.length),m=(t.calcdata||[]).slice(0);for(t.calcdata=p,t.firstscatter=!0,h._numBoxes=0,h._numViolins=0,h._violinScaleGroupStats={},t._hmpixcount=0,t._hmlumcount=0,h._piecolormap={},h._piecolorway=null,h._piedefaultcolorcount=0,a=0;a&lt;f.length;a++)Array.isArray(e)&amp;&amp;-1===e.indexOf(a)&amp;&amp;(p[a]=m[a]);for(a=0;a&lt;f.length;a++)(r=f[a])._arrayAttrs=s.findArrayAttributes(r);var g=h._subplots.polar||[];for(a=0;a&lt;g.length;a++)u.push(h[g[a]].radialaxis,h[g[a]].angularaxis);n(u);var v=!1;for(a=0;a&lt;f.length;a++)if(!0===(r=f[a]).visible&amp;&amp;r.transforms)for((i=r._module)&amp;&amp;i.calc&amp;&amp;i.calc(t,r),o=0;o&lt;r.transforms.length;o++){var x=r.transforms[o];(i=y[x.type])&amp;&amp;i.calcTransform&amp;&amp;(r._hasCalcTransform=!0,v=!0,i.calcTransform(t,r,x))}if(v){for(a=0;a&lt;u.length;a++)u[a]._min=[],u[a]._max=[],u[a]._categories=[],u[a]._categoriesMap={};n(u)}for(a=0;a&lt;f.length;a++){var b=[];if(!0===(r=f[a]).visible){i=r._module;var _=r.transforms||[];for(o=_.length-1;o&gt;=0;o--)if(_[o].enabled){r._indexToPoints=_[o]._indexToPoints;break}i&amp;&amp;i.calc&amp;&amp;(b=i.calc(t,r))}Array.isArray(b)&amp;&amp;b[0]||(b=[{x:d,y:d}]),b[0].t||(b[0].t={}),b[0].trace=r,p[a]=b}l.getComponentMethod(&quot;fx&quot;,&quot;calc&quot;)(t)},p.rehover=function(t){t._fullLayout._rehover&amp;&amp;t._fullLayout._rehover()},p.generalUpdatePerTraceModule=function(t,e,r,n){var i,a=e.traceHash,o={};for(i=0;i&lt;r.length;i++){var s=r[i],l=s[0].trace;l.visible&amp;&amp;(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 d=o[h];d[0][0].trace._module.plot(t,e,u.filterVisible(d),n)}e.traceHash=o}},{&quot;../components/color&quot;:618,&quot;../components/errorbars&quot;:649,&quot;../constants/numerical&quot;:721,&quot;../lib&quot;:743,&quot;../plot_api/plot_schema&quot;:778,&quot;../plotly&quot;:784,&quot;../plots/cartesian/axis_ids&quot;:792,&quot;../registry&quot;:873,&quot;./animation_attributes&quot;:785,&quot;./attributes&quot;:787,&quot;./command&quot;:814,&quot;./font_attributes&quot;:816,&quot;./frame_attributes&quot;:817,&quot;./layout_attributes&quot;:843,d3:128,&quot;fast-isnumeric&quot;:140}],853:[function(t,e,r){&quot;use strict&quot;;e.exports={attr:&quot;subplot&quot;,name:&quot;polar&quot;,axisNames:[&quot;angularaxis&quot;,&quot;radialaxis&quot;],axisName2dataArray:{angularaxis:&quot;theta&quot;,radialaxis:&quot;r&quot;},layerNames:[&quot;draglayer&quot;,&quot;plotbg&quot;,&quot;backplot&quot;,&quot;angular-grid&quot;,&quot;radial-grid&quot;,&quot;frontplot&quot;,&quot;angular-axis&quot;,&quot;radial-axis&quot;,&quot;angular-line&quot;,&quot;radial-line&quot;],radialDragBoxSize:50,angularDragBoxSize:30,cornerLen:25,cornerHalfWidth:2,MINDRAG:8,MINZOOM:20,OFFEDGE:20}},{}],854:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib&quot;);r.setConvertAngular=function(t){function e(){return t.period?Math.max(t.period,t._categories.length):t._categories.length}function r(t){return(t-s)/o}var i,a,o={clockwise:-1,counterclockwise:1}[t.direction],s=n.deg2rad(t.rotation);&quot;linear&quot;===t.type?(i=function(t,e){return&quot;degrees&quot;===e?n.deg2rad(t):t},a=function(t,e){return&quot;degrees&quot;===e?n.rad2deg(t):t}):&quot;category&quot;===t.type&amp;&amp;(i=function(t){var r=e();return 2*t*Math.PI/r},a=function(t){return t*e()/Math.PI/2}),t.unTransformRad=r,t._c2rad=i,t.c2rad=function(t,e){return function(t){return o*t+s}(i(t,e))},t.rad2c=function(t,e){return a(r(t),e)},t.c2deg=function(e,r){return n.rad2deg(t.c2rad(e,r))},t.deg2c=function(e,r){return t.rad2c(n.deg2rad(e),r)}}},{&quot;../../lib&quot;:743}],855:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../get_data&quot;).getSubplotCalcData,i=t(&quot;../../lib&quot;).counterRegex,a=t(&quot;./polar&quot;),o=t(&quot;./constants&quot;),s=o.attr,l=o.name,c=i(l),u={};u[s]={valType:&quot;subplotid&quot;,dflt:l,editType:&quot;calc&quot;},e.exports={attr:s,name:l,idRoot:l,idRegex:c,attrRegex:c,attributes:u,layoutAttributes:t(&quot;./layout_attributes&quot;),supplyLayoutDefaults:t(&quot;./layout_defaults&quot;),plot:function(t){for(var e=t._fullLayout,r=t.calcdata,i=e._subplots[l],o=0;o&lt;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=0;a&lt;i.length;a++){var o=i[a],s=n[o]._subplot;if(!e[o]&amp;&amp;s){s.framework.remove(),s.layers[&quot;radial-axis-title&quot;].remove();for(var c in s.clipPaths)s.clipPaths[c].remove()}}},toSVG:t(&quot;../cartesian&quot;).toSVG}},{&quot;../../lib&quot;:743,&quot;../cartesian&quot;:800,&quot;../get_data&quot;:826,&quot;./constants&quot;:853,&quot;./layout_attributes&quot;:856,&quot;./layout_defaults&quot;:857,&quot;./polar&quot;:864}],856:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../components/color/attributes&quot;),i=t(&quot;../cartesian/layout_attributes&quot;),a=t(&quot;../domain_attributes&quot;),o=t(&quot;../../lib&quot;).extendFlat,s=t(&quot;../../plot_api/edit_types&quot;).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},&quot;plot&quot;,&quot;from-root&quot;),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,showticklabels:i.showticklabels,showtickprefix:i.showtickprefix,tickprefix:i.tickprefix,showticksuffix:i.showticksuffix,ticksuffix:i.ticksuffix,showexponent:i.showexponent,exponentformat:i.exponentformat,separatethousands:i.separatethousands,tickfont:i.tickfont,tickangle:i.tickangle,tickformat:i.tickformat,tickformatstops:i.tickformatstops,layer:i.layer},&quot;plot&quot;,&quot;from-root&quot;),u={visible:o({},i.visible,{dflt:!0}),type:i.type,autorange:i.autorange,rangemode:{valType:&quot;enumerated&quot;,values:[&quot;tozero&quot;,&quot;nonnegative&quot;,&quot;normal&quot;],dflt:&quot;tozero&quot;,editType:&quot;calc&quot;},range:i.range,categoryorder:i.categoryorder,categoryarray:i.categoryarray,angle:{valType:&quot;angle&quot;,editType:&quot;plot&quot;},side:{valType:&quot;enumerated&quot;,values:[&quot;clockwise&quot;,&quot;counterclockwise&quot;],dflt:&quot;clockwise&quot;,editType:&quot;plot&quot;},title:o({},i.title,{editType:&quot;plot&quot;,dflt:&quot;&quot;}),titlefont:s(i.titlefont,&quot;plot&quot;,&quot;from-root&quot;),hoverformat:i.hoverformat,editType:&quot;calc&quot;};o(u,l,c);var f={visible:o({},i.visible,{dflt:!0}),type:{valType:&quot;enumerated&quot;,values:[&quot;-&quot;,&quot;linear&quot;,&quot;category&quot;],dflt:&quot;-&quot;,editType:&quot;calc&quot;},categoryorder:i.categoryorder,categoryarray:i.categoryarray,thetaunit:{valType:&quot;enumerated&quot;,values:[&quot;radians&quot;,&quot;degrees&quot;],dflt:&quot;degrees&quot;,editType:&quot;calc&quot;},period:{valType:&quot;number&quot;,editType:&quot;calc&quot;,min:0},direction:{valType:&quot;enumerated&quot;,values:[&quot;counterclockwise&quot;,&quot;clockwise&quot;],dflt:&quot;counterclockwise&quot;,editType:&quot;calc&quot;},rotation:{valType:&quot;angle&quot;,editType:&quot;calc&quot;},hoverformat:i.hoverformat,editType:&quot;calc&quot;};o(f,l,c),e.exports={domain:a({name:&quot;polar&quot;,editType:&quot;plot&quot;}),sector:{valType:&quot;info_array&quot;,items:[{valType:&quot;number&quot;,editType:&quot;plot&quot;},{valType:&quot;number&quot;,editType:&quot;plot&quot;}],dflt:[0,360],editType:&quot;plot&quot;},bgcolor:{valType:&quot;color&quot;,editType:&quot;plot&quot;,dflt:n.background},radialaxis:u,angularaxis:f,editType:&quot;calc&quot;}},{&quot;../../components/color/attributes&quot;:617,&quot;../../lib&quot;:743,&quot;../../plot_api/edit_types&quot;:773,&quot;../cartesian/layout_attributes&quot;:801,&quot;../domain_attributes&quot;:815}],857:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,n){function o(t,e){return r(_+&quot;.&quot;+t,e)}var b=r(&quot;bgcolor&quot;);n.bgColor=a.combine(b,n.paper_bgcolor);for(var _,w=r(&quot;sector&quot;),M=s(n.fullData,y.name,n.id),k=n.layoutOut,A=0;A&lt;x.length;A++){_=x[A],i.isPlainObject(t[_])||(t[_]={});var T=t[_],S=e[_]={};S._id=S._name=_;var E=y.axisName2dataArray[_],L=function(t,e,r,n,i){if(&quot;-&quot;===r(&quot;type&quot;)){for(var a,o=0;o&lt;n.length;o++)if(n[o].visible){a=n[o];break}a&amp;&amp;(e.type=d(a[i],&quot;gregorian&quot;)),&quot;-&quot;===e.type?e.type=&quot;linear&quot;:t.type=e.type}return e.type}(T,S,o,M,E);f(T,S,o),S._initialCategories=&quot;category&quot;===L?p(E,S.categoryorder,S.categoryarray,M):[];var C=o(&quot;visible&quot;);m(S,k);var z,D;switch(C&amp;&amp;(D=(z=o(&quot;color&quot;))===T.color?z:n.font.color),S._m=1,_){case&quot;radialaxis&quot;:var I=o(&quot;autorange&quot;,!S.isValidRange(T.range));I&amp;&amp;o(&quot;rangemode&quot;),&quot;reversed&quot;===I&amp;&amp;(S._m=-1),o(&quot;range&quot;),S.cleanRange(&quot;range&quot;,{dfltRange:[0,1]}),C&amp;&amp;(o(&quot;side&quot;),o(&quot;angle&quot;,w[0]),o(&quot;title&quot;),i.coerceFont(o,&quot;titlefont&quot;,{family:n.font.family,size:Math.round(1.2*n.font.size),color:D}));break;case&quot;angularaxis&quot;:if(&quot;date&quot;===L){i.log(&quot;Polar plots do not support date angular axes yet.&quot;);for(var P=0;P&lt;M.length;P++)M[P].visible=!1;L=T.type=S.type=&quot;linear&quot;}o(&quot;linear&quot;===L?&quot;thetaunit&quot;:&quot;period&quot;);o(&quot;rotation&quot;,{counterclockwise:0,clockwise:90}[o(&quot;direction&quot;)]),g(S)}if(C){l(T,S,o,S.type),u(T,S,o,S.type,{noHover:!1,tickSuffixDflt:&quot;degrees&quot;===S.thetaunit?&quot;\xb0&quot;:void 0}),c(T,S,o,{outerTicks:!0});o(&quot;showticklabels&quot;)&amp;&amp;(i.coerceFont(o,&quot;tickfont&quot;,{family:n.font.family,size:n.font.size,color:D}),o(&quot;tickangle&quot;),o(&quot;tickformat&quot;)),h(T,S,o,{dfltColor:z,bgColor:n.bgColor,blend:60,showLine:!0,showGrid:!0,noZeroLine:!0,attributes:v[_]}),o(&quot;layer&quot;)}o(&quot;hoverformat&quot;),S._input=T}}var i=t(&quot;../../lib&quot;),a=t(&quot;../../components/color&quot;),o=t(&quot;../subplot_defaults&quot;),s=t(&quot;../get_data&quot;).getSubplotData,l=t(&quot;../cartesian/tick_value_defaults&quot;),c=t(&quot;../cartesian/tick_mark_defaults&quot;),u=t(&quot;../cartesian/tick_label_defaults&quot;),f=t(&quot;../cartesian/category_order_defaults&quot;),h=t(&quot;../cartesian/line_grid_defaults&quot;),d=t(&quot;../cartesian/axis_autotype&quot;),p=t(&quot;../cartesian/ordered_categories&quot;),m=t(&quot;../cartesian/set_convert&quot;),g=t(&quot;./helpers&quot;).setConvertAngular,v=t(&quot;./layout_attributes&quot;),y=t(&quot;./constants&quot;),x=y.axisNames;e.exports=function(t,e,r){o(t,e,r,{type:y.name,attributes:v,handleDefaults:n,font:e.font,paper_bgcolor:e.paper_bgcolor,fullData:r,layoutOut:e})}},{&quot;../../components/color&quot;:618,&quot;../../lib&quot;:743,&quot;../cartesian/axis_autotype&quot;:790,&quot;../cartesian/category_order_defaults&quot;:793,&quot;../cartesian/line_grid_defaults&quot;:803,&quot;../cartesian/ordered_categories&quot;:804,&quot;../cartesian/set_convert&quot;:808,&quot;../cartesian/tick_label_defaults&quot;:809,&quot;../cartesian/tick_mark_defaults&quot;:810,&quot;../cartesian/tick_value_defaults&quot;:811,&quot;../get_data&quot;:826,&quot;../subplot_defaults&quot;:865,&quot;./constants&quot;:853,&quot;./helpers&quot;:854,&quot;./layout_attributes&quot;:856}],858:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../../traces/scatter/attributes&quot;),i=n.marker;e.exports={r:n.r,t:n.t,marker:{color:i.color,size:i.size,symbol:i.symbol,opacity:i.opacity,editType:&quot;calc&quot;}}},{&quot;../../../traces/scatter/attributes&quot;:1066}],859:[function(t,e,r){&quot;use strict&quot;;function n(t,e){return a({},e,{showline:{valType:&quot;boolean&quot;},showticklabels:{valType:&quot;boolean&quot;},tickorientation:{valType:&quot;enumerated&quot;,values:[&quot;horizontal&quot;,&quot;vertical&quot;]},ticklen:{valType:&quot;number&quot;,min:0},tickcolor:{valType:&quot;color&quot;},ticksuffix:{valType:&quot;string&quot;},endpadding:{valType:&quot;number&quot;},visible:{valType:&quot;boolean&quot;}})}var i=t(&quot;../../cartesian/layout_attributes&quot;),a=t(&quot;../../../lib/extend&quot;).extendFlat,o=t(&quot;../../../plot_api/edit_types&quot;).overrideAll,s=a({},i.domain,{});e.exports=o({radialaxis:n(0,{range:{valType:&quot;info_array&quot;,items:[{valType:&quot;number&quot;},{valType:&quot;number&quot;}]},domain:s,orientation:{valType:&quot;number&quot;}}),angularaxis:n(0,{range:{valType:&quot;info_array&quot;,items:[{valType:&quot;number&quot;,dflt:0},{valType:&quot;number&quot;,dflt:360}]},domain:s}),layout:{direction:{valType:&quot;enumerated&quot;,values:[&quot;clockwise&quot;,&quot;counterclockwise&quot;]},orientation:{valType:&quot;angle&quot;}}},&quot;plot&quot;,&quot;nested&quot;)},{&quot;../../../lib/extend&quot;:732,&quot;../../../plot_api/edit_types&quot;:773,&quot;../../cartesian/layout_attributes&quot;:801}],860:[function(t,e,r){&quot;use strict&quot;;(e.exports=t(&quot;./micropolar&quot;)).manager=t(&quot;./micropolar_manager&quot;)},{&quot;./micropolar&quot;:861,&quot;./micropolar_manager&quot;:862}],861:[function(t,e,r){var n=t(&quot;d3&quot;),i=t(&quot;../../../lib&quot;).extendDeepAll,a=t(&quot;../../../constants/alignment&quot;).MID_SHIFT,o=e.exports={version:&quot;0.2.2&quot;};o.Axis=function(){var t,e,r,s,l={data:[],layout:{}},c={},u={},f=n.dispatch(&quot;hover&quot;),h={};return h.render=function(c){return function(c){e=c||e;var f=l.data,h=l.layout;(&quot;string&quot;==typeof e||e.nodeName)&amp;&amp;(e=n.select(e)),e.datum(f).each(function(e,l){function c(t,e){return s(t)%360+h.orientation}var f=e.slice();u={data:o.util.cloneJson(f),layout:o.util.cloneJson(h)};var d=0;f.forEach(function(t,e){t.color||(t.color=h.defaultColorRange[d],d=(d+1)%h.defaultColorRange.length),t.strokeColor||(t.strokeColor=&quot;LinePlot&quot;===t.geometry?t.color:n.rgb(t.color).darker().toString()),u.data[e].color=t.color,u.data[e].strokeColor=t.strokeColor,u.data[e].strokeDash=t.strokeDash,u.data[e].strokeSize=t.strokeSize});var p=f.filter(function(t,e){var r=t.visible;return void 0===r||!0===r}),m=!1,g=p.map(function(t,e){return m=m||void 0!==t.groupId,t});if(m){var v=[],y=n.nest().key(function(t,e){return void 0!==t.groupId?t.groupId:&quot;unstacked&quot;}).entries(g).map(function(t,e){if(&quot;unstacked&quot;===t.key)return t.values;var r=t.values[0].r.map(function(t,e){return 0});return t.values.forEach(function(t,e,n){t.yStack=[r],v.push(r),r=o.util.sumArrays(t.r,r)}),t.values});p=n.merge(y)}p.forEach(function(t,e){t.t=Array.isArray(t.t[0])?t.t:[t.t],t.r=Array.isArray(t.r[0])?t.r:[t.r]});var x=Math.min(h.width-h.margin.left-h.margin.right,h.height-h.margin.top-h.margin.bottom)/2;x=Math.max(10,x);var b,_=[h.margin.left+x,h.margin.top+x];b=m?[0,n.max(o.util.sumArrays(o.util.arrayLast(p).r[0],o.util.arrayLast(v)))]:n.extent(o.util.flattenArray(p.map(function(t,e){return t.r}))),h.radialAxis.domain!=o.DATAEXTENT&amp;&amp;(b[0]=0),r=n.scale.linear().domain(h.radialAxis.domain!=o.DATAEXTENT&amp;&amp;h.radialAxis.domain?h.radialAxis.domain:b).range([0,x]),u.layout.radialAxis.domain=r.domain();var w,M=o.util.flattenArray(p.map(function(t,e){return t.t})),k=&quot;string&quot;==typeof M[0];k&amp;&amp;(M=o.util.deduplicate(M),w=M.slice(),M=n.range(M.length),p=p.map(function(t,e){var r=t;return t.t=[M],m&amp;&amp;(r.yStack=t.yStack),r}));var A=p.filter(function(t,e){return&quot;LinePlot&quot;===t.geometry||&quot;DotPlot&quot;===t.geometry}).length===p.length,T=null===h.needsEndSpacing?k||!A:h.needsEndSpacing,S=h.angularAxis.domain&amp;&amp;h.angularAxis.domain!=o.DATAEXTENT&amp;&amp;!k&amp;&amp;h.angularAxis.domain[0]&gt;=0?h.angularAxis.domain:n.extent(M),E=Math.abs(M[1]-M[0]);A&amp;&amp;!k&amp;&amp;(E=0);var L=S.slice();T&amp;&amp;k&amp;&amp;(L[1]+=E);var C=h.angularAxis.ticksCount||4;C&gt;8&amp;&amp;(C=C/(C/8)+C%8),h.angularAxis.ticksStep&amp;&amp;(C=(L[1]-L[0])/C);var z=h.angularAxis.ticksStep||(L[1]-L[0])/(C*(h.minorTicks+1));w&amp;&amp;(z=Math.max(Math.round(z),1)),L[2]||(L[2]=z);var D=n.range.apply(this,L);if(D=D.map(function(t,e){return parseFloat(t.toPrecision(12))}),s=n.scale.linear().domain(L.slice(0,2)).range(&quot;clockwise&quot;===h.direction?[0,360]:[360,0]),u.layout.angularAxis.domain=s.domain(),u.layout.angularAxis.endPadding=T?E:0,void 0===(t=n.select(this).select(&quot;svg.chart-root&quot;))||t.empty()){var I=(new DOMParser).parseFromString(&quot;&lt;svg xmlns='http://www.w3.org/2000/svg' class='chart-root'&gt;' + '&lt;g class='outer-group'&gt;' + '&lt;g class='chart-group'&gt;' + '&lt;circle class='background-circle'&gt;&lt;/circle&gt;' + '&lt;g class='geometry-group'&gt;&lt;/g&gt;' + '&lt;g class='radial axis-group'&gt;' + '&lt;circle class='outside-circle'&gt;&lt;/circle&gt;' + '&lt;/g&gt;' + '&lt;g class='angular axis-group'&gt;&lt;/g&gt;' + '&lt;g class='guides-group'&gt;&lt;line&gt;&lt;/line&gt;&lt;circle r='0'&gt;&lt;/circle&gt;&lt;/g&gt;' + '&lt;/g&gt;' + '&lt;g class='legend-group'&gt;&lt;/g&gt;' + '&lt;g class='tooltips-group'&gt;&lt;/g&gt;' + '&lt;g class='title-group'&gt;&lt;text&gt;&lt;/text&gt;&lt;/g&gt;' + '&lt;/g&gt;' + '&lt;/svg&gt;&quot;,&quot;application/xml&quot;),P=this.appendChild(this.ownerDocument.importNode(I.documentElement,!0));t=n.select(P)}t.select(&quot;.guides-group&quot;).style({&quot;pointer-events&quot;:&quot;none&quot;}),t.select(&quot;.angular.axis-group&quot;).style({&quot;pointer-events&quot;:&quot;none&quot;}),t.select(&quot;.radial.axis-group&quot;).style({&quot;pointer-events&quot;:&quot;none&quot;});var O,F=t.select(&quot;.chart-group&quot;),R={fill:&quot;none&quot;,stroke:h.tickColor},N={&quot;font-size&quot;:h.font.size,&quot;font-family&quot;:h.font.family,fill:h.font.color,&quot;text-shadow&quot;:[&quot;-1px 0px&quot;,&quot;1px -1px&quot;,&quot;-1px 1px&quot;,&quot;1px 1px&quot;].map(function(t,e){return&quot; &quot;+t+&quot; 0 &quot;+h.font.outlineColor}).join(&quot;,&quot;)};if(h.showLegend){O=t.select(&quot;.legend-group&quot;).attr({transform:&quot;translate(&quot;+[x,h.margin.top]+&quot;)&quot;}).style({display:&quot;block&quot;});var j=p.map(function(t,e){var r=o.util.cloneJson(t);return r.symbol=&quot;DotPlot&quot;===t.geometry?t.dotType||&quot;circle&quot;:&quot;LinePlot&quot;!=t.geometry?&quot;square&quot;:&quot;line&quot;,r.visibleInLegend=void 0===t.visibleInLegend||t.visibleInLegend,r.color=&quot;LinePlot&quot;===t.geometry?t.strokeColor:t.color,r});o.Legend().config({data:p.map(function(t,e){return t.name||&quot;Element&quot;+e}),legendConfig:i({},o.Legend.defaultConfig().legendConfig,{container:O,elements:j,reverseOrder:h.legend.reverseOrder})})();var B=O.node().getBBox();x=Math.min(h.width-B.width-h.margin.left-h.margin.right,h.height-h.margin.top-h.margin.bottom)/2,x=Math.max(10,x),_=[h.margin.left+x,h.margin.top+x],r.range([0,x]),u.layout.radialAxis.domain=r.domain(),O.attr(&quot;transform&quot;,&quot;translate(&quot;+[_[0]+x,_[1]-x]+&quot;)&quot;)}else O=t.select(&quot;.legend-group&quot;).style({display:&quot;none&quot;});t.attr({width:h.width,height:h.height}).style({opacity:h.opacity}),F.attr(&quot;transform&quot;,&quot;translate(&quot;+_+&quot;)&quot;).style({cursor:&quot;crosshair&quot;});var U=[(h.width-(h.margin.left+h.margin.right+2*x+(B?B.width:0)))/2,(h.height-(h.margin.top+h.margin.bottom+2*x))/2];if(U[0]=Math.max(0,U[0]),U[1]=Math.max(0,U[1]),t.select(&quot;.outer-group&quot;).attr(&quot;transform&quot;,&quot;translate(&quot;+U+&quot;)&quot;),h.title){var V=t.select(&quot;g.title-group text&quot;).style(N).text(h.title),q=V.node().getBBox();V.attr({x:_[0]-q.width/2,y:_[1]-x-20})}var H=t.select(&quot;.radial.axis-group&quot;);if(h.radialAxis.gridLinesVisible){var G=H.selectAll(&quot;circle.grid-circle&quot;).data(r.ticks(5));G.enter().append(&quot;circle&quot;).attr({class:&quot;grid-circle&quot;}).style(R),G.attr(&quot;r&quot;,r),G.exit().remove()}H.select(&quot;circle.outside-circle&quot;).attr({r:x}).style(R);var Y=t.select(&quot;circle.background-circle&quot;).attr({r:x}).style({fill:h.backgroundColor,stroke:h.stroke});if(h.radialAxis.visible){var W=n.svg.axis().scale(r).ticks(5).tickSize(5);H.call(W).attr({transform:&quot;rotate(&quot;+h.radialAxis.orientation+&quot;)&quot;}),H.selectAll(&quot;.domain&quot;).style(R),H.selectAll(&quot;g&gt;text&quot;).text(function(t,e){return this.textContent+h.radialAxis.ticksSuffix}).style(N).style({&quot;text-anchor&quot;:&quot;start&quot;}).attr({x:0,y:0,dx:0,dy:0,transform:function(t,e){return&quot;horizontal&quot;===h.radialAxis.tickOrientation?&quot;rotate(&quot;+-h.radialAxis.orientation+&quot;) translate(&quot;+[0,N[&quot;font-size&quot;]]+&quot;)&quot;:&quot;translate(&quot;+[0,N[&quot;font-size&quot;]]+&quot;)&quot;}}),H.selectAll(&quot;g&gt;line&quot;).style({stroke:&quot;black&quot;})}var X=t.select(&quot;.angular.axis-group&quot;).selectAll(&quot;g.angular-tick&quot;).data(D),Z=X.enter().append(&quot;g&quot;).classed(&quot;angular-tick&quot;,!0);X.attr({transform:function(t,e){return&quot;rotate(&quot;+c(t)+&quot;)&quot;}}).style({display:h.angularAxis.visible?&quot;block&quot;:&quot;none&quot;}),X.exit().remove(),Z.append(&quot;line&quot;).classed(&quot;grid-line&quot;,!0).classed(&quot;major&quot;,function(t,e){return e%(h.minorTicks+1)==0}).classed(&quot;minor&quot;,function(t,e){return!(e%(h.minorTicks+1)==0)}).style(R),Z.selectAll(&quot;.minor&quot;).style({stroke:h.minorTickColor}),X.select(&quot;line.grid-line&quot;).attr({x1:h.tickLength?x-h.tickLength:0,x2:x}).style({display:h.angularAxis.gridLinesVisible?&quot;block&quot;:&quot;none&quot;}),Z.append(&quot;text&quot;).classed(&quot;axis-text&quot;,!0).style(N);var J=X.select(&quot;text.axis-text&quot;).attr({x:x+h.labelOffset,dy:a+&quot;em&quot;,transform:function(t,e){var r=c(t),n=x+h.labelOffset,i=h.angularAxis.tickOrientation;return&quot;horizontal&quot;==i?&quot;rotate(&quot;+-r+&quot; &quot;+n+&quot; 0)&quot;:&quot;radial&quot;==i?r&lt;270&amp;&amp;r&gt;90?&quot;rotate(180 &quot;+n+&quot; 0)&quot;:null:&quot;rotate(&quot;+(r&lt;=180&amp;&amp;r&gt;0?-90:90)+&quot; &quot;+n+&quot; 0)&quot;}}).style({&quot;text-anchor&quot;:&quot;middle&quot;,display:h.angularAxis.labelsVisible?&quot;block&quot;:&quot;none&quot;}).text(function(t,e){return e%(h.minorTicks+1)!=0?&quot;&quot;:w?w[t]+h.angularAxis.ticksSuffix:t+h.angularAxis.ticksSuffix}).style(N);h.angularAxis.rewriteTicks&amp;&amp;J.text(function(t,e){return e%(h.minorTicks+1)!=0?&quot;&quot;:h.angularAxis.rewriteTicks(this.textContent,e)});var K=n.max(F.selectAll(&quot;.angular-tick text&quot;)[0].map(function(t,e){return t.getCTM().e+t.getBBox().width}));O.attr({transform:&quot;translate(&quot;+[x+K,h.margin.top]+&quot;)&quot;});var Q=t.select(&quot;g.geometry-group&quot;).selectAll(&quot;g&quot;).size()&gt;0,$=t.select(&quot;g.geometry-group&quot;).selectAll(&quot;g.geometry&quot;).data(p);if($.enter().append(&quot;g&quot;).attr({class:function(t,e){return&quot;geometry geometry&quot;+e}}),$.exit().remove(),p[0]||Q){var tt=[];p.forEach(function(t,e){var n={};n.radialScale=r,n.angularScale=s,n.container=$.filter(function(t,r){return r==e}),n.geometry=t.geometry,n.orientation=h.orientation,n.direction=h.direction,n.index=e,tt.push({data:t,geometryConfig:n})});var et=[];n.nest().key(function(t,e){return void 0!==t.data.groupId||&quot;unstacked&quot;}).entries(tt).forEach(function(t,e){&quot;unstacked&quot;===t.key?et=et.concat(t.values.map(function(t,e){return[t]})):et.push(t.values)}),et.forEach(function(t,e){var r;r=Array.isArray(t)?t[0].geometryConfig.geometry:t.geometryConfig.geometry;var n=t.map(function(t,e){return i(o[r].defaultConfig(),t)});o[r]().config(n)()})}var rt,nt,it=t.select(&quot;.guides-group&quot;),at=t.select(&quot;.tooltips-group&quot;),ot=o.tooltipPanel().config({container:at,fontSize:8})(),st=o.tooltipPanel().config({container:at,fontSize:8})(),lt=o.tooltipPanel().config({container:at,hasTick:!0})();if(!k){var ct=it.select(&quot;line&quot;).attr({x1:0,y1:0,y2:0}).style({stroke:&quot;grey&quot;,&quot;pointer-events&quot;:&quot;none&quot;});F.on(&quot;mousemove.angular-guide&quot;,function(t,e){var r=o.util.getMousePos(Y).angle;ct.attr({x2:-x,transform:&quot;rotate(&quot;+r+&quot;)&quot;}).style({opacity:.5});var n=(r+180+360-h.orientation)%360;rt=s.invert(n);var i=o.util.convertToCartesian(x+12,r+180);ot.text(o.util.round(rt)).move([i[0]+_[0],i[1]+_[1]])}).on(&quot;mouseout.angular-guide&quot;,function(t,e){it.select(&quot;line&quot;).style({opacity:0})})}var ut=it.select(&quot;circle&quot;).style({stroke:&quot;grey&quot;,fill:&quot;none&quot;});F.on(&quot;mousemove.radial-guide&quot;,function(t,e){var n=o.util.getMousePos(Y).radius;ut.attr({r:n}).style({opacity:.5}),nt=r.invert(o.util.getMousePos(Y).radius);var i=o.util.convertToCartesian(n,h.radialAxis.orientation);st.text(o.util.round(nt)).move([i[0]+_[0],i[1]+_[1]])}).on(&quot;mouseout.radial-guide&quot;,function(t,e){ut.style({opacity:0}),lt.hide(),ot.hide(),st.hide()}),t.selectAll(&quot;.geometry-group .mark&quot;).on(&quot;mouseover.tooltip&quot;,function(e,r){var i=n.select(this),a=this.style.fill,s=&quot;black&quot;,l=this.style.opacity||1;if(i.attr({&quot;data-opacity&quot;:l}),a&amp;&amp;&quot;none&quot;!==a){i.attr({&quot;data-fill&quot;:a}),s=n.hsl(a).darker().toString(),i.style({fill:s,opacity:1});var c={t:o.util.round(e[0]),r:o.util.round(e[1])};k&amp;&amp;(c.t=w[e[0]]);var u=&quot;t: &quot;+c.t+&quot;, r: &quot;+c.r,f=this.getBoundingClientRect(),h=t.node().getBoundingClientRect(),d=[f.left+f.width/2-U[0]-h.left,f.top+f.height/2-U[1]-h.top];lt.config({color:s}).text(u),lt.move(d)}else a=this.style.stroke||&quot;black&quot;,i.attr({&quot;data-stroke&quot;:a}),s=n.hsl(a).darker().toString(),i.style({stroke:s,opacity:1})}).on(&quot;mousemove.tooltip&quot;,function(t,e){if(0!=n.event.which)return!1;n.select(this).attr(&quot;data-fill&quot;)&amp;&amp;lt.show()}).on(&quot;mouseout.tooltip&quot;,function(t,e){lt.hide();var r=n.select(this),i=r.attr(&quot;data-fill&quot;);i?r.style({fill:i,opacity:r.attr(&quot;data-opacity&quot;)}):r.style({stroke:r.attr(&quot;data-stroke&quot;),opacity:r.attr(&quot;data-opacity&quot;)})})})}(c),this},h.config=function(t){if(!arguments.length)return l;var e=o.util.cloneJson(t);return e.data.forEach(function(t,e){l.data[e]||(l.data[e]={}),i(l.data[e],o.Axis.defaultConfig().data[0]),i(l.data[e],t)}),i(l.layout,o.Axis.defaultConfig().layout),i(l.layout,e.layout),this},h.getLiveConfig=function(){return u},h.getinputConfig=function(){return c},h.radialScale=function(t){return r},h.angularScale=function(t){return s},h.svg=function(){return t},n.rebind(h,f,&quot;on&quot;),h},o.Axis.defaultConfig=function(t,e){return{data:[{t:[1,2,3,4],r:[10,11,12,13],name:&quot;Line1&quot;,geometry:&quot;LinePlot&quot;,color:null,strokeDash:&quot;solid&quot;,strokeColor:null,strokeSize:&quot;1&quot;,visibleInLegend:!0,opacity:1}],layout:{defaultColorRange:n.scale.category10().range(),title:null,height:450,width:500,margin:{top:40,right:40,bottom:40,left:40},font:{size:12,color:&quot;gray&quot;,outlineColor:&quot;white&quot;,family:&quot;Tahoma, sans-serif&quot;},direction:&quot;clockwise&quot;,orientation:0,labelOffset:10,radialAxis:{domain:null,orientation:-45,ticksSuffix:&quot;&quot;,visible:!0,gridLinesVisible:!0,tickOrientation:&quot;horizontal&quot;,rewriteTicks:null},angularAxis:{domain:[0,360],ticksSuffix:&quot;&quot;,visible:!0,gridLinesVisible:!0,labelsVisible:!0,tickOrientation:&quot;horizontal&quot;,rewriteTicks:null,ticksCount:null,ticksStep:null},minorTicks:0,tickLength:null,tickColor:&quot;silver&quot;,minorTickColor:&quot;#eee&quot;,backgroundColor:&quot;none&quot;,needsEndSpacing:null,showLegend:!0,legend:{reverseOrder:!1},opacity:1}}},o.util={},o.DATAEXTENT=&quot;dataExtent&quot;,o.AREA=&quot;AreaChart&quot;,o.LINE=&quot;LinePlot&quot;,o.DOT=&quot;DotPlot&quot;,o.BAR=&quot;BarChart&quot;,o.util._override=function(t,e){for(var r in t)r in e&amp;&amp;(e[r]=t[r])},o.util._extend=function(t,e){for(var r in t)e[r]=t[r]},o.util._rndSnd=function(){return 2*Math.random()-1+(2*Math.random()-1)+(2*Math.random()-1)},o.util.dataFromEquation2=function(t,e){var r=e||6;return n.range(0,360+r,r).map(function(e,r){var n=e*Math.PI/180;return[e,t(n)]})},o.util.dataFromEquation=function(t,e,r){var i=e||6,a=[],o=[];n.range(0,360+i,i).forEach(function(e,r){var n=e*Math.PI/180,i=t(n);a.push(e),o.push(i)});var s={t:a,r:o};return r&amp;&amp;(s.name=r),s},o.util.ensureArray=function(t,e){if(void 0===t)return null;var r=[].concat(t);return n.range(e).map(function(t,e){return r[e]||r[0]})},o.util.fillArrays=function(t,e,r){return e.forEach(function(e,n){t[e]=o.util.ensureArray(t[e],r)}),t},o.util.cloneJson=function(t){return JSON.parse(JSON.stringify(t))},o.util.validateKeys=function(t,e){&quot;string&quot;==typeof e&amp;&amp;(e=e.split(&quot;.&quot;));var r=e.shift();return t[r]&amp;&amp;(!e.length||objHasKeys(t[r],e))},o.util.sumArrays=function(t,e){return n.zip(t,e).map(function(t,e){return n.sum(t)})},o.util.arrayLast=function(t){return t[t.length-1]},o.util.arrayEqual=function(t,e){for(var r=Math.max(t.length,e.length,1);r-- &gt;=0&amp;&amp;t[r]===e[r];);return-2===r},o.util.flattenArray=function(t){for(var e=[];!o.util.arrayEqual(e,t);)e=t,t=[].concat.apply([],t);return t},o.util.deduplicate=function(t){return t.filter(function(t,e,r){return r.indexOf(t)==e})},o.util.convertToCartesian=function(t,e){var r=e*Math.PI/180;return[t*Math.cos(r),t*Math.sin(r)]},o.util.round=function(t,e){var r=e||2,n=Math.pow(10,r);return Math.round(t*n)/n},o.util.getMousePos=function(t){var e=n.mouse(t.node()),r=e[0],i=e[1],a={};return a.x=r,a.y=i,a.pos=e,a.angle=180*(Math.atan2(i,r)+Math.PI)/Math.PI,a.radius=Math.sqrt(r*r+i*i),a},o.util.duplicatesCount=function(t){for(var e,r={},n={},i=0,a=t.length;i&lt;a;i++)(e=t[i])in r?(r[e]++,n[e]=r[e]):r[e]=1;return n},o.util.duplicates=function(t){return Object.keys(o.util.duplicatesCount(t))},o.util.translator=function(t,e,r,n){if(n){var i=r.slice();r=e,e=i}var a=e.reduce(function(t,e){if(void 0!==t)return t[e]},t);void 0!==a&amp;&amp;(e.reduce(function(t,r,n){if(void 0!==t)return n===e.length-1&amp;&amp;delete t[r],t[r]},t),r.reduce(function(t,e,n){return void 0===t[e]&amp;&amp;(t[e]={}),n===r.length-1&amp;&amp;(t[e]=a),t[e]},t))},o.PolyChart=function(){function t(){var t=e[0].geometryConfig,r=t.container;&quot;string&quot;==typeof r&amp;&amp;(r=n.select(r)),r.datum(e).each(function(e,r){var i=!!e[0].data.yStack,o=e.map(function(t,e){return i?n.zip(t.data.t[0],t.data.r[0],t.data.yStack[0]):n.zip(t.data.t[0],t.data.r[0])}),s=t.angularScale,l=t.radialScale.domain()[0],c={};c.bar=function(r,i,a){var o=e[a].data,l=t.radialScale(r[1])-t.radialScale(0),c=t.radialScale(r[2]||0),u=o.barWidth;n.select(this).attr({class:&quot;mark bar&quot;,d:&quot;M&quot;+[[l+c,-u/2],[l+c,u/2],[c,u/2],[c,-u/2]].join(&quot;L&quot;)+&quot;Z&quot;,transform:function(e,r){return&quot;rotate(&quot;+(t.orientation+s(e[0]))+&quot;)&quot;}})},c.dot=function(r,i,a){var o=r[2]?[r[0],r[1]+r[2]]:r,s=n.svg.symbol().size(e[a].data.dotSize).type(e[a].data.dotType)(r,i);n.select(this).attr({class:&quot;mark dot&quot;,d:s,transform:function(e,r){var n=function(t){return{x:t.r*Math.cos(t.t),y:t.r*Math.sin(t.t)}}(function(e,r){return{r:t.radialScale(e[1]),t:(t.angularScale(e[0])+t.orientation)*Math.PI/180}}(o));return&quot;translate(&quot;+[n.x,n.y]+&quot;)&quot;}})};var u=n.svg.line.radial().interpolate(e[0].data.lineInterpolation).radius(function(e){return t.radialScale(e[1])}).angle(function(e){return t.angularScale(e[0])*Math.PI/180});c.line=function(r,i,a){var s=r[2]?o[a].map(function(t,e){return[t[0],t[1]+t[2]]}):o[a];if(n.select(this).each(c.dot).style({opacity:function(t,r){return+e[a].data.dotVisible},fill:p.stroke(r,i,a)}).attr({class:&quot;mark dot&quot;}),!(i&gt;0)){var l=n.select(this.parentNode).selectAll(&quot;path.line&quot;).data([0]);l.enter().insert(&quot;path&quot;),l.attr({class:&quot;line&quot;,d:u(s),transform:function(e,r){return&quot;rotate(&quot;+(t.orientation+90)+&quot;)&quot;},&quot;pointer-events&quot;:&quot;none&quot;}).style({fill:function(t,e){return p.fill(r,i,a)},&quot;fill-opacity&quot;:0,stroke:function(t,e){return p.stroke(r,i,a)},&quot;stroke-width&quot;:function(t,e){return p[&quot;stroke-width&quot;](r,i,a)},&quot;stroke-dasharray&quot;:function(t,e){return p[&quot;stroke-dasharray&quot;](r,i,a)},opacity:function(t,e){return p.opacity(r,i,a)},display:function(t,e){return p.display(r,i,a)}})}};var f=t.angularScale.range(),h=Math.abs(f[1]-f[0])/o[0].length*Math.PI/180,d=n.svg.arc().startAngle(function(t){return-h/2}).endAngle(function(t){return h/2}).innerRadius(function(e){return t.radialScale(l+(e[2]||0))}).outerRadius(function(e){return t.radialScale(l+(e[2]||0))+t.radialScale(e[1])});c.arc=function(e,r,i){n.select(this).attr({class:&quot;mark arc&quot;,d:d,transform:function(e,r){return&quot;rotate(&quot;+(t.orientation+s(e[0])+90)+&quot;)&quot;}})};var p={fill:function(t,r,n){return e[n].data.color},stroke:function(t,r,n){return e[n].data.strokeColor},&quot;stroke-width&quot;:function(t,r,n){return e[n].data.strokeSize+&quot;px&quot;},&quot;stroke-dasharray&quot;:function(t,r,n){return a[e[n].data.strokeDash]},opacity:function(t,r,n){return e[n].data.opacity},display:function(t,r,n){return void 0===e[n].data.visible||e[n].data.visible?&quot;block&quot;:&quot;none&quot;}},m=n.select(this).selectAll(&quot;g.layer&quot;).data(o);m.enter().append(&quot;g&quot;).attr({class:&quot;layer&quot;});var g=m.selectAll(&quot;path.mark&quot;).data(function(t,e){return t});g.enter().append(&quot;path&quot;).attr({class:&quot;mark&quot;}),g.style(p).each(c[t.geometryType]),g.exit().remove(),m.exit().remove()})}var e=[o.PolyChart.defaultConfig()],r=n.dispatch(&quot;hover&quot;),a={solid:&quot;none&quot;,dash:[5,2],dot:[2,5]};return t.config=function(t){return arguments.length?(t.forEach(function(t,r){e[r]||(e[r]={}),i(e[r],o.PolyChart.defaultConfig()),i(e[r],t)}),this):e},t.getColorScale=function(){},n.rebind(t,r,&quot;on&quot;),t},o.PolyChart.defaultConfig=function(){return{data:{name:&quot;geom1&quot;,t:[[1,2,3,4]],r:[[1,2,3,4]],dotType:&quot;circle&quot;,dotSize:64,dotVisible:!1,barWidth:20,color:&quot;#ffa500&quot;,strokeSize:1,strokeColor:&quot;silver&quot;,strokeDash:&quot;solid&quot;,opacity:1,index:0,visible:!0,visibleInLegend:!0},geometryConfig:{geometry:&quot;LinePlot&quot;,geometryType:&quot;arc&quot;,direction:&quot;clockwise&quot;,orientation:0,container:&quot;body&quot;,radialScale:null,angularScale:null,colorScale:n.scale.category20()}}},o.BarChart=function(){return o.PolyChart()},o.BarChart.defaultConfig=function(){return{geometryConfig:{geometryType:&quot;bar&quot;}}},o.AreaChart=function(){return o.PolyChart()},o.AreaChart.defaultConfig=function(){return{geometryConfig:{geometryType:&quot;arc&quot;}}},o.DotPlot=function(){return o.PolyChart()},o.DotPlot.defaultConfig=function(){return{geometryConfig:{geometryType:&quot;dot&quot;,dotType:&quot;circle&quot;}}},o.LinePlot=function(){return o.PolyChart()},o.LinePlot.defaultConfig=function(){return{geometryConfig:{geometryType:&quot;line&quot;}}},o.Legend=function(){function t(){var r=e.legendConfig,a=e.data.map(function(t,e){return[].concat(t).map(function(t,n){var a=i({},r.elements[e]);return a.name=t,a.color=[].concat(r.elements[e].color)[n],a})}),o=n.merge(a);o=o.filter(function(t,e){return r.elements[e]&amp;&amp;(r.elements[e].visibleInLegend||void 0===r.elements[e].visibleInLegend)}),r.reverseOrder&amp;&amp;(o=o.reverse());var s=r.container;(&quot;string&quot;==typeof s||s.nodeName)&amp;&amp;(s=n.select(s));var l=o.map(function(t,e){return t.color}),c=r.fontSize,u=null==r.isContinuous?&quot;number&quot;==typeof o[0]:r.isContinuous,f=u?r.height:c*o.length,h=s.classed(&quot;legend-group&quot;,!0).selectAll(&quot;svg&quot;).data([0]),d=h.enter().append(&quot;svg&quot;).attr({width:300,height:f+c,xmlns:&quot;http://www.w3.org/2000/svg&quot;,&quot;xmlns:xlink&quot;:&quot;http://www.w3.org/1999/xlink&quot;,version:&quot;1.1&quot;});d.append(&quot;g&quot;).classed(&quot;legend-axis&quot;,!0),d.append(&quot;g&quot;).classed(&quot;legend-marks&quot;,!0);var p=n.range(o.length),m=n.scale[u?&quot;linear&quot;:&quot;ordinal&quot;]().domain(p).range(l),g=n.scale[u?&quot;linear&quot;:&quot;ordinal&quot;]().domain(p)[u?&quot;range&quot;:&quot;rangePoints&quot;]([0,f]);if(u){var v=h.select(&quot;.legend-marks&quot;).append(&quot;defs&quot;).append(&quot;linearGradient&quot;).attr({id:&quot;grad1&quot;,x1:&quot;0%&quot;,y1:&quot;0%&quot;,x2:&quot;0%&quot;,y2:&quot;100%&quot;}).selectAll(&quot;stop&quot;).data(l);v.enter().append(&quot;stop&quot;),v.attr({offset:function(t,e){return e/(l.length-1)*100+&quot;%&quot;}}).style({&quot;stop-color&quot;:function(t,e){return t}}),h.append(&quot;rect&quot;).classed(&quot;legend-mark&quot;,!0).attr({height:r.height,width:r.colorBandWidth,fill:&quot;url(#grad1)&quot;})}else{var y=h.select(&quot;.legend-marks&quot;).selectAll(&quot;path.legend-mark&quot;).data(o);y.enter().append(&quot;path&quot;).classed(&quot;legend-mark&quot;,!0),y.attr({transform:function(t,e){return&quot;translate(&quot;+[c/2,g(e)+c/2]+&quot;)&quot;},d:function(t,e){return function(t,e){var r=3*e;return&quot;line&quot;===t?&quot;M&quot;+[[-e/2,-e/12],[e/2,-e/12],[e/2,e/12],[-e/2,e/12]]+&quot;Z&quot;:-1!=n.svg.symbolTypes.indexOf(t)?n.svg.symbol().type(t).size(r)():n.svg.symbol().type(&quot;square&quot;).size(r)()}(t.symbol,c)},fill:function(t,e){return m(e)}}),y.exit().remove()}var x=n.svg.axis().scale(g).orient(&quot;right&quot;),b=h.select(&quot;g.legend-axis&quot;).attr({transform:&quot;translate(&quot;+[u?r.colorBandWidth:c,c/2]+&quot;)&quot;}).call(x);return b.selectAll(&quot;.domain&quot;).style({fill:&quot;none&quot;,stroke:&quot;none&quot;}),b.selectAll(&quot;line&quot;).style({fill:&quot;none&quot;,stroke:u?r.textColor:&quot;none&quot;}),b.selectAll(&quot;text&quot;).style({fill:r.textColor,&quot;font-size&quot;:r.fontSize}).text(function(t,e){return o[e].name}),t}var e=o.Legend.defaultConfig(),r=n.dispatch(&quot;hover&quot;);return t.config=function(t){return arguments.length?(i(e,t),this):e},n.rebind(t,r,&quot;on&quot;),t},o.Legend.defaultConfig=function(t,e){return{data:[&quot;a&quot;,&quot;b&quot;,&quot;c&quot;],legendConfig:{elements:[{symbol:&quot;line&quot;,color:&quot;red&quot;},{symbol:&quot;square&quot;,color:&quot;yellow&quot;},{symbol:&quot;diamond&quot;,color:&quot;limegreen&quot;}],height:150,colorBandWidth:30,fontSize:12,container:&quot;body&quot;,isContinuous:null,textColor:&quot;grey&quot;,reverseOrder:!1}}},o.tooltipPanel=function(){var t,e,r,a={container:null,hasTick:!1,fontSize:12,color:&quot;white&quot;,padding:5},s=&quot;tooltip-&quot;+o.tooltipPanel.uid++,l=10,c=function(){var n=(t=a.container.selectAll(&quot;g.&quot;+s).data([0])).enter().append(&quot;g&quot;).classed(s,!0).style({&quot;pointer-events&quot;:&quot;none&quot;,display:&quot;none&quot;});return r=n.append(&quot;path&quot;).style({fill:&quot;white&quot;,&quot;fill-opacity&quot;:.9}).attr({d:&quot;M0 0&quot;}),e=n.append(&quot;text&quot;).attr({dx:a.padding+l,dy:.3*+a.fontSize}),c};return c.text=function(i){var o=n.hsl(a.color).l,s=o&gt;=.5?&quot;#aaa&quot;:&quot;white&quot;,u=o&gt;=.5?&quot;black&quot;:&quot;white&quot;,f=i||&quot;&quot;;e.style({fill:u,&quot;font-size&quot;:a.fontSize+&quot;px&quot;}).text(f);var h=a.padding,d=e.node().getBBox(),p={fill:a.color,stroke:s,&quot;stroke-width&quot;:&quot;2px&quot;},m=d.width+2*h+l,g=d.height+2*h;return r.attr({d:&quot;M&quot;+[[l,-g/2],[l,-g/4],[a.hasTick?0:l,0],[l,g/4],[l,g/2],[m,g/2],[m,-g/2]].join(&quot;L&quot;)+&quot;Z&quot;}).style(p),t.attr({transform:&quot;translate(&quot;+[l,-g/2+2*h]+&quot;)&quot;}),t.style({display:&quot;block&quot;}),c},c.move=function(e){if(t)return t.attr({transform:&quot;translate(&quot;+[e[0],e[1]]+&quot;)&quot;}).style({display:&quot;block&quot;}),c},c.hide=function(){if(t)return t.style({display:&quot;none&quot;}),c},c.show=function(){if(t)return t.style({display:&quot;block&quot;}),c},c.config=function(t){return i(a,t),c},c},o.tooltipPanel.uid=1,o.adapter={},o.adapter.plotly=function(){var t={};return t.convert=function(t,e){var r={};if(t.data&amp;&amp;(r.data=t.data.map(function(t,r){var n=i({},t);return[[n,[&quot;marker&quot;,&quot;color&quot;],[&quot;color&quot;]],[n,[&quot;marker&quot;,&quot;opacity&quot;],[&quot;opacity&quot;]],[n,[&quot;marker&quot;,&quot;line&quot;,&quot;color&quot;],[&quot;strokeColor&quot;]],[n,[&quot;marker&quot;,&quot;line&quot;,&quot;dash&quot;],[&quot;strokeDash&quot;]],[n,[&quot;marker&quot;,&quot;line&quot;,&quot;width&quot;],[&quot;strokeSize&quot;]],[n,[&quot;marker&quot;,&quot;symbol&quot;],[&quot;dotType&quot;]],[n,[&quot;marker&quot;,&quot;size&quot;],[&quot;dotSize&quot;]],[n,[&quot;marker&quot;,&quot;barWidth&quot;],[&quot;barWidth&quot;]],[n,[&quot;line&quot;,&quot;interpolation&quot;],[&quot;lineInterpolation&quot;]],[n,[&quot;showlegend&quot;],[&quot;visibleInLegend&quot;]]].forEach(function(t,r){o.util.translator.apply(null,t.concat(e))}),e||delete n.marker,e&amp;&amp;delete n.groupId,e?(&quot;LinePlot&quot;===n.geometry?(n.type=&quot;scatter&quot;,!0===n.dotVisible?(delete n.dotVisible,n.mode=&quot;lines+markers&quot;):n.mode=&quot;lines&quot;):&quot;DotPlot&quot;===n.geometry?(n.type=&quot;scatter&quot;,n.mode=&quot;markers&quot;):&quot;AreaChart&quot;===n.geometry?n.type=&quot;area&quot;:&quot;BarChart&quot;===n.geometry&amp;&amp;(n.type=&quot;bar&quot;),delete n.geometry):(&quot;scatter&quot;===n.type?&quot;lines&quot;===n.mode?n.geometry=&quot;LinePlot&quot;:&quot;markers&quot;===n.mode?n.geometry=&quot;DotPlot&quot;:&quot;lines+markers&quot;===n.mode&amp;&amp;(n.geometry=&quot;LinePlot&quot;,n.dotVisible=!0):&quot;area&quot;===n.type?n.geometry=&quot;AreaChart&quot;:&quot;bar&quot;===n.type&amp;&amp;(n.geometry=&quot;BarChart&quot;),delete n.mode,delete n.type),n}),!e&amp;&amp;t.layout&amp;&amp;&quot;stack&quot;===t.layout.barmode)){var a=o.util.duplicates(r.data.map(function(t,e){return t.geometry}));r.data.forEach(function(t,e){var n=a.indexOf(t.geometry);-1!=n&amp;&amp;(r.data[e].groupId=n)})}if(t.layout){var s=i({},t.layout);if([[s,[&quot;plot_bgcolor&quot;],[&quot;backgroundColor&quot;]],[s,[&quot;showlegend&quot;],[&quot;showLegend&quot;]],[s,[&quot;radialaxis&quot;],[&quot;radialAxis&quot;]],[s,[&quot;angularaxis&quot;],[&quot;angularAxis&quot;]],[s.angularaxis,[&quot;showline&quot;],[&quot;gridLinesVisible&quot;]],[s.angularaxis,[&quot;showticklabels&quot;],[&quot;labelsVisible&quot;]],[s.angularaxis,[&quot;nticks&quot;],[&quot;ticksCount&quot;]],[s.angularaxis,[&quot;tickorientation&quot;],[&quot;tickOrientation&quot;]],[s.angularaxis,[&quot;ticksuffix&quot;],[&quot;ticksSuffix&quot;]],[s.angularaxis,[&quot;range&quot;],[&quot;domain&quot;]],[s.angularaxis,[&quot;endpadding&quot;],[&quot;endPadding&quot;]],[s.radialaxis,[&quot;showline&quot;],[&quot;gridLinesVisible&quot;]],[s.radialaxis,[&quot;tickorientation&quot;],[&quot;tickOrientation&quot;]],[s.radialaxis,[&quot;ticksuffix&quot;],[&quot;ticksSuffix&quot;]],[s.radialaxis,[&quot;range&quot;],[&quot;domain&quot;]],[s.angularAxis,[&quot;showline&quot;],[&quot;gridLinesVisible&quot;]],[s.angularAxis,[&quot;showticklabels&quot;],[&quot;labelsVisible&quot;]],[s.angularAxis,[&quot;nticks&quot;],[&quot;ticksCount&quot;]],[s.angularAxis,[&quot;tickorientation&quot;],[&quot;tickOrientation&quot;]],[s.angularAxis,[&quot;ticksuffix&quot;],[&quot;ticksSuffix&quot;]],[s.angularAxis,[&quot;range&quot;],[&quot;domain&quot;]],[s.angularAxis,[&quot;endpadding&quot;],[&quot;endPadding&quot;]],[s.radialAxis,[&quot;showline&quot;],[&quot;gridLinesVisible&quot;]],[s.radialAxis,[&quot;tickorientation&quot;],[&quot;tickOrientation&quot;]],[s.radialAxis,[&quot;ticksuffix&quot;],[&quot;ticksSuffix&quot;]],[s.radialAxis,[&quot;range&quot;],[&quot;domain&quot;]],[s.font,[&quot;outlinecolor&quot;],[&quot;outlineColor&quot;]],[s.legend,[&quot;traceorder&quot;],[&quot;reverseOrder&quot;]],[s,[&quot;labeloffset&quot;],[&quot;labelOffset&quot;]],[s,[&quot;defaultcolorrange&quot;],[&quot;defaultColorRange&quot;]]].forEach(function(t,r){o.util.translator.apply(null,t.concat(e))}),e?(void 0!==s.tickLength&amp;&amp;(s.angularaxis.ticklen=s.tickLength,delete s.tickLength),s.tickColor&amp;&amp;(s.angularaxis.tickcolor=s.tickColor,delete s.tickColor)):(s.angularAxis&amp;&amp;void 0!==s.angularAxis.ticklen&amp;&amp;(s.tickLength=s.angularAxis.ticklen),s.angularAxis&amp;&amp;void 0!==s.angularAxis.tickcolor&amp;&amp;(s.tickColor=s.angularAxis.tickcolor)),s.legend&amp;&amp;&quot;boolean&quot;!=typeof s.legend.reverseOrder&amp;&amp;(s.legend.reverseOrder=&quot;normal&quot;!=s.legend.reverseOrder),s.legend&amp;&amp;&quot;boolean&quot;==typeof s.legend.traceorder&amp;&amp;(s.legend.traceorder=s.legend.traceorder?&quot;reversed&quot;:&quot;normal&quot;,delete s.legend.reverseOrder),s.margin&amp;&amp;void 0!==s.margin.t){var l=[&quot;t&quot;,&quot;r&quot;,&quot;b&quot;,&quot;l&quot;,&quot;pad&quot;],c=[&quot;top&quot;,&quot;right&quot;,&quot;bottom&quot;,&quot;left&quot;,&quot;pad&quot;],u={};n.entries(s.margin).forEach(function(t,e){u[c[l.indexOf(t.key)]]=t.value}),s.margin=u}e&amp;&amp;(delete s.needsEndSpacing,delete s.minorTickColor,delete s.minorTicks,delete s.angularaxis.ticksCount,delete s.angularaxis.ticksCount,delete s.angularaxis.ticksStep,delete s.angularaxis.rewriteTicks,delete s.angularaxis.nticks,delete s.radialaxis.ticksCount,delete s.radialaxis.ticksCount,delete s.radialaxis.ticksStep,delete s.radialaxis.rewriteTicks,delete s.radialaxis.nticks),r.layout=s}return r},t}},{&quot;../../../constants/alignment&quot;:716,&quot;../../../lib&quot;:743,d3:128}],862:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;d3&quot;),i=t(&quot;../../../lib&quot;),a=t(&quot;../../../components/color&quot;),o=t(&quot;./micropolar&quot;),s=t(&quot;./undo_manager&quot;),l=i.extendDeepAll,c=e.exports={};c.framework=function(t){function e(e,i){return i&amp;&amp;(f=i),n.select(n.select(f).node().parentNode).selectAll(&quot;.svg-container&gt;*:not(.chart-root)&quot;).remove(),r=r?l(r,e):e,a||(a=o.Axis()),u=o.adapter.plotly().convert(r),a.config(u).render(f),t.data=r.data,t.layout=r.layout,c.fillLayout(t),r}var r,i,a,u,f,h=new s;return e.isPolar=!0,e.svg=function(){return a.svg()},e.getConfig=function(){return r},e.getLiveConfig=function(){return o.adapter.plotly().convert(a.getLiveConfig(),!0)},e.getLiveScales=function(){return{t:a.angularScale(),r:a.radialScale()}},e.setUndoPoint=function(){var t=this,e=o.util.cloneJson(r);!function(e,r){h.add({undo:function(){r&amp;&amp;t(r)},redo:function(){t(e)}})}(e,i),i=o.util.cloneJson(e)},e.undo=function(){h.undo()},e.redo=function(){h.redo()},e},c.fillLayout=function(t){var e=n.select(t).selectAll(&quot;.plot-container&quot;),r=e.selectAll(&quot;.svg-container&quot;),i=t.framework&amp;&amp;t.framework.svg&amp;&amp;t.framework.svg(),o={width:800,height:600,paper_bgcolor:a.background,_container:e,_paperdiv:r,_paper:i};t._fullLayout=l(o,t.layout)}},{&quot;../../../components/color&quot;:618,&quot;../../../lib&quot;:743,&quot;./micropolar&quot;:861,&quot;./undo_manager&quot;:863,d3:128}],863:[function(t,e,r){&quot;use strict&quot;;e.exports=function(){function t(t,e){return t?(i=!0,t[e](),i=!1,this):this}var e,r=[],n=-1,i=!1;return{add:function(t){return i?this:(r.splice(n+1,r.length-n),r.push(t),n=r.length-1,this)},setCallback:function(t){e=t},undo:function(){var i=r[n];return i?(t(i,&quot;undo&quot;),n-=1,e&amp;&amp;e(i.undo),this):this},redo:function(){var i=r[n+1];return i?(t(i,&quot;redo&quot;),n+=1,e&amp;&amp;e(i.redo),this):this},clear:function(){r=[],n=-1},hasUndo:function(){return-1!==n},hasRedo:function(){return n&lt;r.length-1},getCommands:function(){return r},getPreviousCommand:function(){return r[n-1]},getIndex:function(){return n}}}},{}],864:[function(t,e,r){&quot;use strict&quot;;function n(t,e){this.id=e,this.gd=t,this._hasClipOnAxisFalse=null,this.traceHash={},this.layers={},this.clipPaths={},this.clipIds={},this.viewInitial={};var r=t._fullLayout,n=&quot;clip&quot;+r._uid+e;this.clipIds.circle=n+&quot;-circle&quot;,this.clipPaths.circle=r._clips.append(&quot;clipPath&quot;).attr(&quot;id&quot;,this.clipIds.circle),this.clipPaths.circle.append(&quot;path&quot;),this.framework=r._polarlayer.append(&quot;g&quot;).attr(&quot;class&quot;,e),this.radialTickLayout=null,this.angularTickLayout=null}function i(t,e,r){M.setConvert(t,r),t._min=e._min,t._max=e._max,t.setScale()}function a(t){var e=t.ticks+String(t.ticklen)+String(t.showticklabels);return&quot;side&quot;in t&amp;&amp;(e+=t.side),e}function o(t,e){if(l(e))return _.symbolFuncs[0](t);var r=t*Math.cos(D(e[0])),n=-t*Math.sin(D(e[0])),i=t*Math.cos(D(e[1])),a=-t*Math.sin(D(e[1]));return&quot;M&quot;+[r,n]+&quot;A&quot;+[t,t]+&quot; &quot;+(Math.abs(e[1]-e[0])&lt;=180?[0,0,0]:[0,1,0])+&quot; &quot;+[i,a]}function s(t,e){return o(t,e)+(l(e)?&quot;&quot;:&quot;L0,0Z&quot;)}function l(t){return 360===Math.abs(t[1]-t[0])}function c(t,e,r){return e?(t.attr(&quot;display&quot;,null),t.attr(r)):t&amp;&amp;t.attr(&quot;display&quot;,&quot;none&quot;),t}function u(t,e){return&quot;translate(&quot;+t+&quot;,&quot;+e+&quot;)&quot;}function f(t){return&quot;rotate(&quot;+t+&quot;)&quot;}function h(t){return Math.abs(t)&lt;1e-10?0:t&gt;0?1:-1}function d(t){return h(Math.cos(t))}function p(t){return h(Math.sin(t))}var m=t(&quot;d3&quot;),g=t(&quot;tinycolor2&quot;),v=t(&quot;../../plotly&quot;),y=t(&quot;../../registry&quot;),x=t(&quot;../../lib&quot;),b=t(&quot;../../components/color&quot;),_=t(&quot;../../components/drawing&quot;),w=t(&quot;../plots&quot;),M=t(&quot;../cartesian/axes&quot;),k=t(&quot;../../components/dragelement&quot;),A=t(&quot;../cartesian/dragbox&quot;),T=t(&quot;../../components/fx&quot;),S=t(&quot;../../components/titles&quot;),E=t(&quot;../cartesian/select&quot;),L=t(&quot;../../lib/setcursor&quot;),C=t(&quot;../../constants/alignment&quot;).MID_SHIFT,z=x._,D=x.deg2rad,I=x.rad2deg,P=x.wrap360,O=x.wrap180,F=t(&quot;./helpers&quot;).setConvertAngular,R=t(&quot;./constants&quot;),N=n.prototype;e.exports=function(t,e){return new n(t,e)},N.plot=function(t,e){var r=e[this.id];this._hasClipOnAxisFalse=!1;for(var n=0;n&lt;t.length;n++){if(!1===t[n][0].trace.cliponaxis){this._hasClipOnAxisFalse=!0;break}}this.updateLayers(e,r),this.updateLayout(e,r),w.generalUpdatePerTraceModule(this.gd,this,t,r),this.updateFx(e,r)},N.updateLayers=function(t,e){var r=this.layers,n=e.radialaxis,i=e.angularaxis,a=R.layerNames,o=a.indexOf(&quot;frontplot&quot;),s=a.slice(0,o),l=&quot;below traces&quot;===i.layer,c=&quot;below traces&quot;===n.layer;l&amp;&amp;s.push(&quot;angular-axis&quot;),c&amp;&amp;s.push(&quot;radial-axis&quot;),l&amp;&amp;s.push(&quot;angular-line&quot;),c&amp;&amp;s.push(&quot;radial-line&quot;),s.push(&quot;frontplot&quot;),l||s.push(&quot;angular-axis&quot;),c||s.push(&quot;radial-axis&quot;),l||s.push(&quot;angular-line&quot;),c||s.push(&quot;radial-line&quot;);var u=this.framework.selectAll(&quot;.polarsublayer&quot;).data(s,String);u.enter().append(&quot;g&quot;).attr(&quot;class&quot;,function(t){return&quot;polarsublayer &quot;+t}).each(function(t){var e=r[t]=m.select(this);switch(t){case&quot;frontplot&quot;:e.append(&quot;g&quot;).classed(&quot;scatterlayer&quot;,!0);break;case&quot;backplot&quot;:e.append(&quot;g&quot;).classed(&quot;maplayer&quot;,!0);break;case&quot;plotbg&quot;:r.bgcircle=e.append(&quot;path&quot;);break;case&quot;radial-grid&quot;:e.style(&quot;fill&quot;,&quot;none&quot;),e.append(&quot;g&quot;).classed(&quot;x&quot;,1);break;case&quot;angular-grid&quot;:e.style(&quot;fill&quot;,&quot;none&quot;),e.append(&quot;g&quot;).classed(&quot;angular&quot;,1);break;case&quot;radial-line&quot;:e.append(&quot;line&quot;).style(&quot;fill&quot;,&quot;none&quot;);break;case&quot;angular-line&quot;:e.append(&quot;path&quot;).style(&quot;fill&quot;,&quot;none&quot;)}}),u.order()},N.updateLayout=function(t,e){var r=this,n=r.layers,i=t._size,a=e.domain.x,o=e.domain.y;r.xOffset=i.l+i.w*a[0],r.yOffset=i.t+i.h*(1-o[1]);var l,c,f,h,d,p=r.xLength=i.w*(a[1]-a[0]),m=r.yLength=i.h*(o[1]-o[0]),g=r.sector=e.sector,v=r.sectorBBox=function(t){var e,r,n,i,a=t[0],o=t[1]-a,s=P(a),l=s+o,c=Math.cos(D(s)),u=Math.sin(D(s)),f=Math.cos(D(l)),h=Math.sin(D(l));return i=s&lt;=90&amp;&amp;l&gt;=90||s&gt;90&amp;&amp;l&gt;=450?1:u&lt;=0&amp;&amp;h&lt;=0?0:Math.max(u,h),e=s&lt;=180&amp;&amp;l&gt;=180||s&gt;180&amp;&amp;l&gt;=540?-1:c&gt;=0&amp;&amp;f&gt;=0?0:Math.min(c,f),r=s&lt;=270&amp;&amp;l&gt;=270||s&gt;270&amp;&amp;l&gt;=630?-1:u&gt;=0&amp;&amp;h&gt;=0?0:Math.min(u,h),n=l&gt;=360?1:c&lt;=0&amp;&amp;f&lt;=0?0:Math.max(c,f),[e,r,n,i]}(g),y=v[2]-v[0],x=v[3]-v[1],w=m/p,k=Math.abs(x/y);w&gt;k?(l=p,d=(m-(c=p*k))/i.h/2,f=[a[0],a[1]],h=[o[0]+d,o[1]-d]):(c=m,d=(p-(l=m/k))/i.w/2,f=[a[0]+d,a[1]-d],h=[o[0],o[1]]),r.xLength2=l,r.yLength2=c,r.xDomain2=f,r.yDomain2=h;var A=r.xOffset2=i.l+i.w*f[0],T=r.yOffset2=i.t+i.h*(1-h[1]),S=r.radius=l/y,E=r.cx=A-S*v[0],L=r.cy=T+S*v[3],C=r.cxx=E-A,z=r.cyy=L-T;r.updateRadialAxis(t,e),r.updateRadialAxisTitle(t,e),r.updateAngularAxis(t,e);var I=r.radialAxis.range,O=I[1]-I[0],F=r.xaxis={type:&quot;linear&quot;,_id:&quot;x&quot;,range:[v[0]*O,v[2]*O],domain:f};M.setConvert(F,t),F.setScale();var R=r.yaxis={type:&quot;linear&quot;,_id:&quot;y&quot;,range:[v[1]*O,v[3]*O],domain:h};M.setConvert(R,t),R.setScale(),F.isPtWithinRange=function(t){return r.isPtWithinSector(t)},R.isPtWithinRange=function(){return!0},n.frontplot.attr(&quot;transform&quot;,u(A,T)).call(_.setClipUrl,r._hasClipOnAxisFalse?null:r.clipIds.circle),n.bgcircle.attr({d:s(S,g),transform:u(E,L)}).call(b.fill,e.bgcolor),r.clipPaths.circle.select(&quot;path&quot;).attr(&quot;d&quot;,s(S,g)).attr(&quot;transform&quot;,u(C,z)),r.framework.selectAll(&quot;.crisp&quot;).classed(&quot;crisp&quot;,0)},N.updateRadialAxis=function(t,e){var r=this.gd,n=this.layers,s=this.radius,l=this.cx,h=this.cy,d=t._size,p=e.radialaxis,m=e.sector,g=P(m[0]);this.fillViewInitialKey(&quot;radialaxis.angle&quot;,p.angle);var v=this.radialAxis=x.extendFlat({},p,{_axislayer:n[&quot;radial-axis&quot;],_gridlayer:n[&quot;radial-grid&quot;],_id:&quot;x&quot;,_pos:0,side:{counterclockwise:&quot;top&quot;,clockwise:&quot;bottom&quot;}[p.side],domain:[0,s/d.w],anchor:&quot;free&quot;,position:0,_counteraxis:!0});i(v,p,t),M.doAutoRange(v),p.range=v.range.slice(),p._input.range=v.range.slice(),this.fillViewInitialKey(&quot;radialaxis.range&quot;,v.range.slice()),&quot;auto&quot;===v.tickangle&amp;&amp;g&gt;90&amp;&amp;g&lt;=270&amp;&amp;(v.tickangle=180),v._transfn=function(t){return&quot;translate(&quot;+v.l2p(t.x)+&quot;,0)&quot;},v._gridpath=function(t){return o(v.r2p(t.x),m)};var y=a(p);this.radialTickLayout!==y&amp;&amp;(n[&quot;radial-axis&quot;].selectAll(&quot;.xtick&quot;).remove(),this.radialTickLayout=y),M.doTicks(r,v,!0),c(n[&quot;radial-axis&quot;],p.showticklabels||p.ticks,{transform:u(l,h)+f(-p.angle)}),c(n[&quot;radial-grid&quot;],p.showgrid,{transform:u(l,h)}).selectAll(&quot;path&quot;).attr(&quot;transform&quot;,null),c(n[&quot;radial-line&quot;].select(&quot;line&quot;),p.showline,{x1:0,y1:0,x2:s,y2:0,transform:u(l,h)+f(-p.angle)}).attr(&quot;stroke-width&quot;,p.linewidth).call(b.stroke,p.linecolor)},N.updateRadialAxisTitle=function(t,e,r){var n=this.gd,i=this.radius,a=this.cx,o=this.cy,s=e.radialaxis,l=this.id+&quot;title&quot;,c=void 0!==r?r:s.angle,u=D(c),f=Math.cos(u),h=Math.sin(u),d=0;if(s.title){var p=_.bBox(this.layers[&quot;radial-axis&quot;].node()).height,m=s.titlefont.size;d=&quot;counterclockwise&quot;===s.side?-p-.4*m:p+.8*m}this.layers[&quot;radial-axis-title&quot;]=S.draw(n,l,{propContainer:s,propName:this.id+&quot;.radialaxis.title&quot;,placeholder:z(n,&quot;Click to enter radial axis title&quot;),attributes:{x:a+i/2*f+d*h,y:o-i/2*h+d*f,&quot;text-anchor&quot;:&quot;middle&quot;},transform:{rotate:-c}})},N.updateAngularAxis=function(t,e){function r(t){return T.c2rad(t.x,&quot;degrees&quot;)}function n(t){return[v*Math.cos(t),v*Math.sin(t)]}var o=this,h=o.gd,g=o.layers,v=o.radius,y=o.cx,_=o.cy,w=e.angularaxis,k=e.sector,A=k.map(D);o.fillViewInitialKey(&quot;angularaxis.rotation&quot;,w.rotation);var T=o.angularAxis=x.extendFlat({},w,{_axislayer:g[&quot;angular-axis&quot;],_gridlayer:g[&quot;angular-grid&quot;],_id:&quot;angular&quot;,_pos:0,side:&quot;right&quot;,domain:[0,Math.PI],anchor:&quot;free&quot;,position:0,_counteraxis:!0});&quot;linear&quot;===T.type?(T.autorange=!1,l(k)?T.range=k.slice():T.range=A.map(T.unTransformRad).map(I),&quot;radians&quot;===T.thetaunit&amp;&amp;(T.tick0=I(T.tick0),T.dtick=I(T.dtick))):&quot;category&quot;===T.type&amp;&amp;(T._tickFilter=function(t){return o.isPtWithinSector({r:o.radialAxis.range[1],rad:T.c2rad(t.x)})}),i(T,w,t),M.doAutoRange(T),T._transfn=function(t){var e=r(t),i=n(e),a=u(y+i[0],_-i[1]),o=m.select(this);return o&amp;&amp;o.node()&amp;&amp;o.classed(&quot;ticks&quot;)&amp;&amp;(a+=f(-I(e))),a},T._gridpath=function(t){var e=n(r(t));return&quot;M0,0L&quot;+-e[0]+&quot;,&quot;+e[1]};var S=&quot;outside&quot;!==w.ticks?.7:.5;T._labelx=function(t){var e=r(t),n=T._labelStandoff,i=T._pad;return(0===p(e)?0:Math.cos(e)*(n+i+S*t.fontSize))+d(e)*(t.dx+n+i)},T._labely=function(t){var e=r(t),n=T._labelStandoff,i=T._labelShift,a=T._pad;return t.dy+t.fontSize*C-i+-Math.sin(e)*(n+a+S*t.fontSize)},T._labelanchor=function(t,e){var n=r(e);return 0===p(n)?d(n)&gt;0?&quot;start&quot;:&quot;end&quot;:&quot;middle&quot;};var E=a(w);o.angularTickLayout!==E&amp;&amp;(g[&quot;angular-axis&quot;].selectAll(&quot;.angulartick&quot;).remove(),o.angularTickLayout=E),M.doTicks(h,T,!0),c(g[&quot;angular-line&quot;].select(&quot;path&quot;),w.showline,{d:s(v,k),transform:u(y,_)}).attr(&quot;stroke-width&quot;,w.linewidth).call(b.stroke,w.linecolor)},N.updateFx=function(t,e){this.gd._context.staticPlot||(this.updateAngularDrag(t,e),this.updateRadialDrag(t,e),this.updateMainDrag(t,e))},N.updateMainDrag=function(t,e){function r(t,e){var r=t-w,n=e-M;return Math.sqrt(r*r+n*n)}function n(t,e){return Math.atan2(M-e,t-w)}function i(t,e){return[t*Math.cos(e),t*Math.sin(-e)]}function a(t,e){var r=R.cornerLen,n=R.cornerHalfWidth;if(0===t)return s(2*n,S);var a=r/t/2,o=e-a,l=e+a,c=Math.max(0,Math.min(t,x)),u=c-n,f=c+n;return&quot;M&quot;+i(u,o)+&quot;A&quot;+[u,u]+&quot; 0,0,0 &quot;+i(u,l)+&quot;L&quot;+i(f,l)+&quot;A&quot;+[f,f]+&quot; 0,0,1 &quot;+i(f,o)+&quot;Z&quot;}function o(t,e){var i=C+t,o=z+e,l=r(C,z),c=Math.min(r(i,o),x),u=n(C,z),f=n(i,o);l&lt;y?l=0:x-l&lt;y?l=x:c&lt;y?c=0:x-c&lt;y&amp;&amp;(c=x);var h,d;Math.abs(c-l)&gt;p?(l&lt;c?(D=l,I=c):(D=c,I=l,f=[u,u=f][0]),h=P+s(I,S)+s(D,S),d=a(D,u)+a(I,f)):(D=null,I=null,h=P,d=&quot;M0,0Z&quot;),N.attr(&quot;d&quot;,h),j.attr(&quot;d&quot;,d),A.transitionZoombox(N,j,O,F),O=!0}function l(){if(A.removeZoombox(f),null!==D&amp;&amp;null!==I){A.showDoubleClickNotifier(f);var t=c.radialAxis.range,e=t[1]-t[0],r={};r[c.id+&quot;.radialaxis.range&quot;]=[t[0]+D*e/x,t[0]+I*e/x],v.relayout(f,r)}}var c=this,f=c.gd,h=c.layers,d=t._zoomlayer,p=R.MINZOOM,y=R.OFFEDGE,x=c.radius,b=c.cx,_=c.cy,w=c.cxx,M=c.cyy,S=e.sector,L=A.makeDragger(h,&quot;path&quot;,&quot;maindrag&quot;,&quot;crosshair&quot;);m.select(L).attr(&quot;d&quot;,s(x,S)).attr(&quot;transform&quot;,u(b,_));var C,z,D,I,P,O,F,N,j,B={element:L,gd:f,subplot:c.id,plotinfo:{xaxis:c.xaxis,yaxis:c.yaxis},xaxes:[c.xaxis],yaxes:[c.yaxis]};B.prepFn=function(t,e,r){var n=f._fullLayout.dragmode,i=L.getBoundingClientRect();switch(C=e-i.left,z=r-i.top,n){case&quot;zoom&quot;:B.moveFn=o,B.doneFn=l,function(){D=null,I=null,P=s(x,S),O=!1;var t=f._fullLayout[c.id];F=g(t.bgcolor).getLuminance(),(N=A.makeZoombox(d,F,b,_,P)).attr(&quot;fill-rule&quot;,&quot;evenodd&quot;),j=A.makeCorners(d,b,_),A.clearSelect(d)}();break;case&quot;select&quot;:case&quot;lasso&quot;:E(t,e,r,B,n)}},B.clickFn=function(t,e){if(A.removeZoombox(f),2===t){var r={};for(var n in c.viewInitial)r[c.id+&quot;.&quot;+n]=c.viewInitial[n];f.emit(&quot;plotly_doubleclick&quot;,null),v.relayout(f,r)}T.click(f,e,c.id)},L.onmousemove=function(t){T.hover(f,t,c.id),f._fullLayout._lasthover=L,f._fullLayout._hoversubplot=c.id},L.onmouseout=function(t){f._dragging||k.unhover(f,t)},k.init(B)},N.updateRadialDrag=function(t,e){function r(t,e){if(C)C(t,e);else{var r=[t,-e],n=[Math.cos(p),Math.sin(p)],d=Math.abs(x.dot(r,n)/Math.sqrt(x.dot(r,r)));isNaN(d)||(C=d&lt;.5?function(t,e){var r=E+t,n=L+e;z=I(Math.atan2(c-n,r-l));var a=u(l,c)+f(-z);o[&quot;radial-axis&quot;].attr(&quot;transform&quot;,a),o[&quot;radial-line&quot;].select(&quot;line&quot;).attr(&quot;transform&quot;,a);var s=i.gd._fullLayout,h=s[i.id];i.updateRadialAxisTitle(s,h,z)}:function(t,e){var r=x.dot([t,-e],[Math.cos(p),Math.sin(p)]),n=g[1]-b*r/s*.75;if(b&gt;0!=n&gt;g[0])return;P=h.range[1]=n,M.doTicks(a,i.radialAxis,!0),o[&quot;radial-grid&quot;].attr(&quot;transform&quot;,u(l,c)).selectAll(&quot;path&quot;).attr(&quot;transform&quot;,null);var f=P-g[0],d=i.sectorBBox;i.xaxis.range=[d[0]*f,d[2]*f],i.yaxis.range=[d[1]*f,d[3]*f],i.xaxis.setScale(),i.yaxis.setScale();for(var m in i.traceHash){var v=i.traceHash[m],_=x.filterVisible(v),w=v[0][0].trace._module,k=a._fullLayout[i.id];if(w.plot(a,i,_,k),!y.traceIs(m,&quot;gl&quot;))for(var A=0;A&lt;_.length;A++)w.style(a,_[A])}})}}function n(){null!==z?v.relayout(a,i.id+&quot;.radialaxis.angle&quot;,z):null!==P&amp;&amp;v.relayout(a,i.id+&quot;.radialaxis.range[1]&quot;,P)}var i=this,a=i.gd,o=i.layers,s=i.radius,l=i.cx,c=i.cy,h=i.radialAxis,d=e.radialaxis,p=D(d.angle),g=h.range.slice(),b=g[1]-g[0],_=R.radialDragBoxSize,w=_/2;if(d.visible){var T=A.makeRectDragger(o,&quot;radialdrag&quot;,&quot;crosshair&quot;,-w,-w,_,_),S={element:T,gd:a},E=l+(s+w)*Math.cos(p),L=c-(s+w)*Math.sin(p);m.select(T).attr(&quot;transform&quot;,u(E,L));var C,z,P;S.prepFn=function(){C=null,z=null,P=null,S.moveFn=r,S.doneFn=n,A.clearSelect(t._zoomlayer)},S.clampFn=function(t,e){return Math.sqrt(t*t+e*e)&lt;R.MINDRAG&amp;&amp;(t=0,e=0),[t,e]},k.init(S)}},N.updateAngularDrag=function(t,e){function r(t,e){return Math.atan2(g+w-e,t-p-w)}function n(t,e){var n=r(E+t,C+e),i=I(n-j);P=z+i,s.frontplot.attr(&quot;transform&quot;,u(a.xOffset2,a.yOffset2)+f([-i,p,g])),a.clipPaths.circle.select(&quot;path&quot;).attr(&quot;transform&quot;,u(p,g)+f(i)),U.each(function(){var t=m.select(this),e=_.getTranslate(t);t.attr(&quot;transform&quot;,u(e.x,e.y)+f([i]))}),V.each(function(){var t=m.select(this),e=t.select(&quot;text&quot;),r=_.getTranslate(t);t.attr(&quot;transform&quot;,f([i,e.attr(&quot;x&quot;),e.attr(&quot;y&quot;)])+u(r.x,r.y))});var c=a.angularAxis;c.rotation=O(P),&quot;linear&quot;!==c.type||l(b)||(c.range=N.map(D).map(c.unTransformRad).map(I)),F(c),M.doTicks(o,c,!0),a._hasClipOnAxisFalse&amp;&amp;!l(b)&amp;&amp;(a.sector=[N[0]-i,N[1]-i],B.call(_.hideOutsideRangePoints,a));for(var h in a.traceHash)if(y.traceIs(h,&quot;gl&quot;)){var d=a.traceHash[h],v=x.filterVisible(d),w=d[0][0].trace._module,k=o._fullLayout[a.id];w.plot(o,a,v,k)}}function i(){V.select(&quot;text&quot;).attr(&quot;transform&quot;,null);var t={};t[a.id+&quot;.angularaxis.rotation&quot;]=P,v.relayout(o,t)}var a=this,o=a.gd,s=a.layers,c=a.radius,h=a.cx,d=a.cy,p=a.cxx,g=a.cyy,b=e.sector,w=R.angularDragBoxSize,T=A.makeDragger(s,&quot;path&quot;,&quot;angulardrag&quot;,&quot;move&quot;),S={element:T,gd:o};m.select(T).attr(&quot;d&quot;,function(t,e,r){function n(t,e){return[t*Math.cos(e),-t*Math.sin(e)]}function i(t,e,r){return&quot;A&quot;+[t,t]+&quot; &quot;+[0,c,r]+&quot; &quot;+n(t,e)}var a,o,s,c=Math.abs(r[1]-r[0])&lt;=180?0:1;return l(r)?(a=0,s=2*Math.PI,o=Math.PI,&quot;M&quot;+n(t,a)+i(t,o,0)+i(t,s,0)+&quot;ZM&quot;+n(e,a)+i(e,o,1)+i(e,s,1)+&quot;Z&quot;):(a=D(r[0]),s=D(r[1]),&quot;M&quot;+n(t,a)+&quot;L&quot;+n(e,a)+i(e,s,0)+&quot;L&quot;+n(t,s)+i(t,a,1)+&quot;Z&quot;)}(c,c+w,b)).attr(&quot;transform&quot;,u(h,d)).call(L,&quot;move&quot;);var E,C,z,P,N,j,B=s.frontplot.select(&quot;.scatterlayer&quot;).selectAll(&quot;.trace&quot;),U=B.selectAll(&quot;.point&quot;),V=B.selectAll(&quot;.textpoint&quot;);S.prepFn=function(e,o,s){var l=t[a.id];N=l.sector.slice(),z=l.angularaxis.rotation;var c=T.getBoundingClientRect();E=o-c.left,C=s-c.top,j=r(E,C),S.moveFn=n,S.doneFn=i,A.clearSelect(t._zoomlayer)},k.init(S)},N.isPtWithinSector=function(t){var e=this.sector,r=this.radialAxis,n=r.range,i=r.c2r(t.r),a=P(e[0]),o=P(e[1]);a&gt;o&amp;&amp;(o+=360);var s,c,u=P(I(t.rad)),f=u+360;return n[1]&gt;=n[0]?(s=n[0],c=n[1]):(s=n[1],c=n[0]),i&gt;=s&amp;&amp;i&lt;=c&amp;&amp;(l(e)||u&gt;=a&amp;&amp;u&lt;=o||f&gt;=a&amp;&amp;f&lt;=o)},N.fillViewInitialKey=function(t,e){t in this.viewInitial||(this.viewInitial[t]=e)}},{&quot;../../components/color&quot;:618,&quot;../../components/dragelement&quot;:640,&quot;../../components/drawing&quot;:643,&quot;../../components/fx&quot;:660,&quot;../../components/titles&quot;:709,&quot;../../constants/alignment&quot;:716,&quot;../../lib&quot;:743,&quot;../../lib/setcursor&quot;:762,&quot;../../plotly&quot;:784,&quot;../../registry&quot;:873,&quot;../cartesian/axes&quot;:789,&quot;../cartesian/dragbox&quot;:797,&quot;../cartesian/select&quot;:807,&quot;../plots&quot;:852,&quot;./constants&quot;:853,&quot;./helpers&quot;:854,d3:128,tinycolor2:546}],865:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../lib&quot;);e.exports=function(t,e,r,i){function a(t,e){return n.coerce(o,s,c,t,e)}for(var o,s,l=i.type,c=i.attributes,u=i.handleDefaults,f=i.partition||&quot;x&quot;,h=e._subplots[l],d=h.length,p=0;p&lt;d;p++){var m=h[p];o=t[m]?t[m]:t[m]={},e[m]=s={},a(&quot;domain.&quot;+f,[p/d,(p+1)/d]),a(&quot;domain.&quot;+{x:&quot;y&quot;,y:&quot;x&quot;}[f]),i.id=m,u(o,s,a,i)}}},{&quot;../lib&quot;:743}],866:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;./ternary&quot;),i=t(&quot;../../plots/get_data&quot;).getSubplotCalcData,a=t(&quot;../../lib&quot;).counterRegex;r.name=&quot;ternary&quot;,r.attr=&quot;subplot&quot;,r.idRoot=&quot;ternary&quot;,r.idRegex=r.attrRegex=a(&quot;ternary&quot;),r.attributes=t(&quot;./layout/attributes&quot;),r.layoutAttributes=t(&quot;./layout/layout_attributes&quot;),r.supplyLayoutDefaults=t(&quot;./layout/defaults&quot;),r.plot=function(t){for(var e=t._fullLayout,r=t.calcdata,a=e._subplots.ternary,o=0;o&lt;a.length;o++){var s=a[o],l=i(r,&quot;ternary&quot;,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&lt;i.length;a++){var o=i[a],s=n[o]._subplot;!e[o]&amp;&amp;s&amp;&amp;(s.plotContainer.remove(),s.clipDef.remove(),s.clipDefRelative.remove(),s.layers[&quot;a-title&quot;].remove(),s.layers[&quot;b-title&quot;].remove(),s.layers[&quot;c-title&quot;].remove())}}},{&quot;../../lib&quot;:743,&quot;../../plots/get_data&quot;:826,&quot;./layout/attributes&quot;:867,&quot;./layout/defaults&quot;:870,&quot;./layout/layout_attributes&quot;:871,&quot;./ternary&quot;:872}],867:[function(t,e,r){&quot;use strict&quot;;e.exports={subplot:{valType:&quot;subplotid&quot;,dflt:&quot;ternary&quot;,editType:&quot;calc&quot;}}},{}],868:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../cartesian/layout_attributes&quot;),i=t(&quot;../../../lib/extend&quot;).extendFlat;e.exports={title:n.title,titlefont:n.titlefont,color:n.color,tickmode:n.tickmode,nticks:i({},n.nticks,{dflt:6,min:1}),tick0:n.tick0,dtick:n.dtick,tickvals:n.tickvals,ticktext:n.ticktext,ticks:n.ticks,ticklen:n.ticklen,tickwidth:n.tickwidth,tickcolor:n.tickcolor,showticklabels:n.showticklabels,showtickprefix:n.showtickprefix,tickprefix:n.tickprefix,showticksuffix:n.showticksuffix,ticksuffix:n.ticksuffix,showexponent:n.showexponent,exponentformat:n.exponentformat,separatethousands:n.separatethousands,tickfont:n.tickfont,tickangle:n.tickangle,tickformat:n.tickformat,tickformatstops:n.tickformatstops,hoverformat:n.hoverformat,showline:i({},n.showline,{dflt:!0}),linecolor:n.linecolor,linewidth:n.linewidth,showgrid:i({},n.showgrid,{dflt:!0}),gridcolor:n.gridcolor,gridwidth:n.gridwidth,layer:n.layer,min:{valType:&quot;number&quot;,dflt:0,min:0}}},{&quot;../../../lib/extend&quot;:732,&quot;../../cartesian/layout_attributes&quot;:801}],869:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../../lib&quot;),i=t(&quot;./axis_attributes&quot;),a=t(&quot;../../cartesian/tick_label_defaults&quot;),o=t(&quot;../../cartesian/tick_mark_defaults&quot;),s=t(&quot;../../cartesian/tick_value_defaults&quot;),l=t(&quot;../../cartesian/line_grid_defaults&quot;);e.exports=function(t,e,r){function c(r,a){return n.coerce(t,e,i,r,a)}e.type=&quot;linear&quot;;var u=c(&quot;color&quot;),f=u===t.color?u:r.font.color,h=e._name.charAt(0).toUpperCase(),d=&quot;Component &quot;+h,p=c(&quot;title&quot;,d);e._hovertitle=p===d?p:h,n.coerceFont(c,&quot;titlefont&quot;,{family:r.font.family,size:Math.round(1.2*r.font.size),color:f}),c(&quot;min&quot;),s(t,e,c,&quot;linear&quot;),a(t,e,c,&quot;linear&quot;,{noHover:!1}),o(t,e,c,{outerTicks:!0});c(&quot;showticklabels&quot;)&amp;&amp;(n.coerceFont(c,&quot;tickfont&quot;,{family:r.font.family,size:r.font.size,color:f}),c(&quot;tickangle&quot;),c(&quot;tickformat&quot;)),l(t,e,c,{dfltColor:u,bgColor:r.bgColor,blend:60,showLine:!0,showGrid:!0,noZeroLine:!0,attributes:i}),c(&quot;hoverformat&quot;),c(&quot;layer&quot;)}},{&quot;../../../lib&quot;:743,&quot;../../cartesian/line_grid_defaults&quot;:803,&quot;../../cartesian/tick_label_defaults&quot;:809,&quot;../../cartesian/tick_mark_defaults&quot;:810,&quot;../../cartesian/tick_value_defaults&quot;:811,&quot;./axis_attributes&quot;:868}],870:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,n){var a=r(&quot;bgcolor&quot;),o=r(&quot;sum&quot;);n.bgColor=i.combine(a,n.paper_bgcolor);for(var c,u,f,h=0;h&lt;l.length;h++)u=t[c=l[h]]||{},f=e[c]={_name:c,type:&quot;linear&quot;},s(u,f,n);var d=e.aaxis,p=e.baxis,m=e.caxis;d.min+p.min+m.min&gt;=o&amp;&amp;(d.min=0,p.min=0,m.min=0,t.aaxis&amp;&amp;delete t.aaxis.min,t.baxis&amp;&amp;delete t.baxis.min,t.caxis&amp;&amp;delete t.caxis.min)}var i=t(&quot;../../../components/color&quot;),a=t(&quot;../../subplot_defaults&quot;),o=t(&quot;./layout_attributes&quot;),s=t(&quot;./axis_defaults&quot;),l=[&quot;aaxis&quot;,&quot;baxis&quot;,&quot;caxis&quot;];e.exports=function(t,e,r){a(t,e,r,{type:&quot;ternary&quot;,attributes:o,handleDefaults:n,font:e.font,paper_bgcolor:e.paper_bgcolor})}},{&quot;../../../components/color&quot;:618,&quot;../../subplot_defaults&quot;:865,&quot;./axis_defaults&quot;:869,&quot;./layout_attributes&quot;:871}],871:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../../components/color/attributes&quot;),i=t(&quot;../../domain_attributes&quot;),a=t(&quot;./axis_attributes&quot;),o=t(&quot;../../../plot_api/edit_types&quot;).overrideAll;e.exports=o({domain:i({name:&quot;ternary&quot;}),bgcolor:{valType:&quot;color&quot;,dflt:n.background},sum:{valType:&quot;number&quot;,dflt:1,min:0},aaxis:a,baxis:a,caxis:a},&quot;plot&quot;,&quot;from-root&quot;)},{&quot;../../../components/color/attributes&quot;:617,&quot;../../../plot_api/edit_types&quot;:773,&quot;../../domain_attributes&quot;:815,&quot;./axis_attributes&quot;:868}],872:[function(t,e,r){&quot;use strict&quot;;function n(t,e){this.id=t.id,this.graphDiv=t.graphDiv,this.init(e),this.makeFramework(e)}function i(t){a.select(t).selectAll(&quot;.zoombox,.js-zoombox-backdrop,.js-zoombox-menu,.zoombox-corners&quot;).remove()}var a=t(&quot;d3&quot;),o=t(&quot;tinycolor2&quot;),s=t(&quot;../../plotly&quot;),l=t(&quot;../../lib&quot;),c=l._,u=t(&quot;../../components/color&quot;),f=t(&quot;../../components/drawing&quot;),h=t(&quot;../cartesian/set_convert&quot;),d=t(&quot;../../lib/extend&quot;).extendFlat,p=t(&quot;../plots&quot;),m=t(&quot;../cartesian/axes&quot;),g=t(&quot;../../components/dragelement&quot;),v=t(&quot;../../components/fx&quot;),y=t(&quot;../../components/titles&quot;),x=t(&quot;../cartesian/select&quot;),b=t(&quot;../cartesian/constants&quot;);e.exports=n;var _=n.prototype;_.init=function(t){this.container=t._ternarylayer,this.defs=t._defs,this.layoutId=t._uid,this.traceHash={},this.layers={}},_.plot=function(t,e){var r=e[this.id],n=e._size;this._hasClipOnAxisFalse=!1;for(var i=0;i&lt;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(&quot;path&quot;).call(u.fill,r.bgcolor)},_.makeFramework=function(t){var e=t[this.id],r=this.clipId=&quot;clip&quot;+this.layoutId+this.id;this.clipDef=t._clips.selectAll(&quot;#&quot;+r).data([0]),this.clipDef.enter().append(&quot;clipPath&quot;).attr(&quot;id&quot;,r).append(&quot;path&quot;).attr(&quot;d&quot;,&quot;M0,0Z&quot;);var n=this.clipIdRelative=&quot;clip-relative&quot;+this.layoutId+this.id;this.clipDefRelative=t._clips.selectAll(&quot;#&quot;+n).data([0]),this.clipDefRelative.enter().append(&quot;clipPath&quot;).attr(&quot;id&quot;,n).append(&quot;path&quot;).attr(&quot;d&quot;,&quot;M0,0Z&quot;),this.plotContainer=this.container.selectAll(&quot;g.&quot;+this.id).data([0]),this.plotContainer.enter().append(&quot;g&quot;).classed(this.id,!0),this.updateLayers(e),f.setClipUrl(this.layers.backplot,r),f.setClipUrl(this.layers.grids,r)},_.updateLayers=function(t){var e=this.layers,r=[&quot;draglayer&quot;,&quot;plotbg&quot;,&quot;backplot&quot;,&quot;grids&quot;];&quot;below traces&quot;===t.aaxis.layer&amp;&amp;r.push(&quot;aaxis&quot;,&quot;aline&quot;),&quot;below traces&quot;===t.baxis.layer&amp;&amp;r.push(&quot;baxis&quot;,&quot;bline&quot;),&quot;below traces&quot;===t.caxis.layer&amp;&amp;r.push(&quot;caxis&quot;,&quot;cline&quot;),r.push(&quot;frontplot&quot;),&quot;above traces&quot;===t.aaxis.layer&amp;&amp;r.push(&quot;aaxis&quot;,&quot;aline&quot;),&quot;above traces&quot;===t.baxis.layer&amp;&amp;r.push(&quot;baxis&quot;,&quot;bline&quot;),&quot;above traces&quot;===t.caxis.layer&amp;&amp;r.push(&quot;caxis&quot;,&quot;cline&quot;);var n=this.plotContainer.selectAll(&quot;g.toplevel&quot;).data(r,String),i=[&quot;agrid&quot;,&quot;bgrid&quot;,&quot;cgrid&quot;];n.enter().append(&quot;g&quot;).attr(&quot;class&quot;,function(t){return&quot;toplevel &quot;+t}).each(function(t){var r=a.select(this);e[t]=r,&quot;frontplot&quot;===t?r.append(&quot;g&quot;).classed(&quot;scatterlayer&quot;,!0):&quot;backplot&quot;===t?r.append(&quot;g&quot;).classed(&quot;maplayer&quot;,!0):&quot;plotbg&quot;===t?r.append(&quot;path&quot;).attr(&quot;d&quot;,&quot;M0,0Z&quot;):&quot;aline&quot;===t||&quot;bline&quot;===t||&quot;cline&quot;===t?r.append(&quot;path&quot;):&quot;grids&quot;===t&amp;&amp;i.forEach(function(t){e[t]=r.append(&quot;g&quot;).classed(&quot;grid &quot;+t,!0);var n=&quot;bgrid&quot;===t?&quot;x&quot;:&quot;y&quot;;e[t].append(&quot;g&quot;).classed(n,!0)})}),n.order()};var w=Math.sqrt(4/3);_.adjustLayout=function(t,e){var r,n,i,a,o,s,l=this,c=t.domain,p=(c.x[0]+c.x[1])/2,m=(c.y[0]+c.y[1])/2,g=c.x[1]-c.x[0],v=c.y[1]-c.y[0],y=g*e.w,x=v*e.h,b=t.sum,_=t.aaxis.min,M=t.baxis.min,k=t.caxis.min;y&gt;w*x?i=(a=x)*w:a=(i=y)/w,o=g*i/y,s=v*a/x,r=e.l+e.w*p-i/2,n=e.t+e.h*(1-m)-a/2,l.x0=r,l.y0=n,l.w=i,l.h=a,l.sum=b,l.xaxis={type:&quot;linear&quot;,range:[_+2*k-b,b-_-2*M],domain:[p-o/2,p+o/2],_id:&quot;x&quot;},h(l.xaxis,l.graphDiv._fullLayout),l.xaxis.setScale(),l.xaxis.isPtWithinRange=function(t){return t.a&gt;=l.aaxis.range[0]&amp;&amp;t.a&lt;=l.aaxis.range[1]&amp;&amp;t.b&gt;=l.baxis.range[1]&amp;&amp;t.b&lt;=l.baxis.range[0]&amp;&amp;t.c&gt;=l.caxis.range[1]&amp;&amp;t.c&lt;=l.caxis.range[0]},l.yaxis={type:&quot;linear&quot;,range:[_,b-M-k],domain:[m-s/2,m+s/2],_id:&quot;y&quot;},h(l.yaxis,l.graphDiv._fullLayout),l.yaxis.setScale(),l.yaxis.isPtWithinRange=function(){return!0};var A=l.yaxis.domain[0],T=l.aaxis=d({},t.aaxis,{visible:!0,range:[_,b-M-k],side:&quot;left&quot;,_counterangle:30,tickangle:(+t.aaxis.tickangle||0)-30,domain:[A,A+s*w],_axislayer:l.layers.aaxis,_gridlayer:l.layers.agrid,_pos:0,_id:&quot;y&quot;,_length:i,_gridpath:&quot;M0,0l&quot;+a+&quot;,-&quot;+i/2});h(T,l.graphDiv._fullLayout),T.setScale();var S=l.baxis=d({},t.baxis,{visible:!0,range:[b-_-k,M],side:&quot;bottom&quot;,_counterangle:30,domain:l.xaxis.domain,_axislayer:l.layers.baxis,_gridlayer:l.layers.bgrid,_counteraxis:l.aaxis,_pos:0,_id:&quot;x&quot;,_length:i,_gridpath:&quot;M0,0l-&quot;+i/2+&quot;,-&quot;+a});h(S,l.graphDiv._fullLayout),S.setScale(),T._counteraxis=S;var E=l.caxis=d({},t.caxis,{visible:!0,range:[b-_-M,k],side:&quot;right&quot;,_counterangle:30,tickangle:(+t.caxis.tickangle||0)+30,domain:[A,A+s*w],_axislayer:l.layers.caxis,_gridlayer:l.layers.cgrid,_counteraxis:l.baxis,_pos:0,_id:&quot;y&quot;,_length:i,_gridpath:&quot;M0,0l-&quot;+a+&quot;,&quot;+i/2});h(E,l.graphDiv._fullLayout),E.setScale();var L=&quot;M&quot;+r+&quot;,&quot;+(n+a)+&quot;h&quot;+i+&quot;l-&quot;+i/2+&quot;,-&quot;+a+&quot;Z&quot;;l.clipDef.select(&quot;path&quot;).attr(&quot;d&quot;,L),l.layers.plotbg.select(&quot;path&quot;).attr(&quot;d&quot;,L);var C=&quot;M0,&quot;+a+&quot;h&quot;+i+&quot;l-&quot;+i/2+&quot;,-&quot;+a+&quot;Z&quot;;l.clipDefRelative.select(&quot;path&quot;).attr(&quot;d&quot;,C);var z=&quot;translate(&quot;+r+&quot;,&quot;+n+&quot;)&quot;;l.plotContainer.selectAll(&quot;.scatterlayer,.maplayer&quot;).attr(&quot;transform&quot;,z),l.clipDefRelative.select(&quot;path&quot;).attr(&quot;transform&quot;,null);var D=&quot;translate(&quot;+(r-S._offset)+&quot;,&quot;+(n+a)+&quot;)&quot;;l.layers.baxis.attr(&quot;transform&quot;,D),l.layers.bgrid.attr(&quot;transform&quot;,D);var I=&quot;translate(&quot;+(r+i/2)+&quot;,&quot;+n+&quot;)rotate(30)translate(0,-&quot;+T._offset+&quot;)&quot;;l.layers.aaxis.attr(&quot;transform&quot;,I),l.layers.agrid.attr(&quot;transform&quot;,I);var P=&quot;translate(&quot;+(r+i/2)+&quot;,&quot;+n+&quot;)rotate(-30)translate(0,-&quot;+E._offset+&quot;)&quot;;l.layers.caxis.attr(&quot;transform&quot;,P),l.layers.cgrid.attr(&quot;transform&quot;,P),l.drawAxes(!0),l.plotContainer.selectAll(&quot;.crisp&quot;).classed(&quot;crisp&quot;,!1),l.layers.aline.select(&quot;path&quot;).attr(&quot;d&quot;,T.showline?&quot;M&quot;+r+&quot;,&quot;+(n+a)+&quot;l&quot;+i/2+&quot;,-&quot;+a:&quot;M0,0&quot;).call(u.stroke,T.linecolor||&quot;#000&quot;).style(&quot;stroke-width&quot;,(T.linewidth||0)+&quot;px&quot;),l.layers.bline.select(&quot;path&quot;).attr(&quot;d&quot;,S.showline?&quot;M&quot;+r+&quot;,&quot;+(n+a)+&quot;h&quot;+i:&quot;M0,0&quot;).call(u.stroke,S.linecolor||&quot;#000&quot;).style(&quot;stroke-width&quot;,(S.linewidth||0)+&quot;px&quot;),l.layers.cline.select(&quot;path&quot;).attr(&quot;d&quot;,E.showline?&quot;M&quot;+(r+i/2)+&quot;,&quot;+n+&quot;l&quot;+i/2+&quot;,&quot;+a:&quot;M0,0&quot;).call(u.stroke,E.linecolor||&quot;#000&quot;).style(&quot;stroke-width&quot;,(E.linewidth||0)+&quot;px&quot;),l.graphDiv._context.staticPlot||l.initInteractions(),f.setClipUrl(l.layers.frontplot,l._hasClipOnAxisFalse?null:l.clipId)},_.drawAxes=function(t){var e=this.graphDiv,r=this.id.substr(7)+&quot;title&quot;,n=this.aaxis,i=this.baxis,a=this.caxis;if(m.doTicks(e,n,!0),m.doTicks(e,i,!0),m.doTicks(e,a,!0),t){var o=Math.max(n.showticklabels?n.tickfont.size/2:0,(a.showticklabels?.75*a.tickfont.size:0)+(&quot;outside&quot;===a.ticks?.87*a.ticklen:0));this.layers[&quot;a-title&quot;]=y.draw(e,&quot;a&quot;+r,{propContainer:n,propName:this.id+&quot;.aaxis.title&quot;,placeholder:c(e,&quot;Click to enter Component A title&quot;),attributes:{x:this.x0+this.w/2,y:this.y0-n.titlefont.size/3-o,&quot;text-anchor&quot;:&quot;middle&quot;}});var s=(i.showticklabels?i.tickfont.size:0)+(&quot;outside&quot;===i.ticks?i.ticklen:0)+3;this.layers[&quot;b-title&quot;]=y.draw(e,&quot;b&quot;+r,{propContainer:i,propName:this.id+&quot;.baxis.title&quot;,placeholder:c(e,&quot;Click to enter Component B title&quot;),attributes:{x:this.x0-s,y:this.y0+this.h+.83*i.titlefont.size+s,&quot;text-anchor&quot;:&quot;middle&quot;}}),this.layers[&quot;c-title&quot;]=y.draw(e,&quot;c&quot;+r,{propContainer:a,propName:this.id+&quot;.caxis.title&quot;,placeholder:c(e,&quot;Click to enter Component C title&quot;),attributes:{x:this.x0+this.w+s,y:this.y0+this.h+.83*a.titlefont.size+s,&quot;text-anchor&quot;:&quot;middle&quot;}})}};var M=b.MINZOOM/2+.87,k=&quot;m-0.87,.5h&quot;+M+&quot;v3h-&quot;+(M+5.2)+&quot;l&quot;+(M/2+2.6)+&quot;,-&quot;+(.87*M+4.5)+&quot;l2.6,1.5l-&quot;+M/2+&quot;,&quot;+.87*M+&quot;Z&quot;,A=&quot;m0.87,.5h-&quot;+M+&quot;v3h&quot;+(M+5.2)+&quot;l-&quot;+(M/2+2.6)+&quot;,-&quot;+(.87*M+4.5)+&quot;l-2.6,1.5l&quot;+M/2+&quot;,&quot;+.87*M+&quot;Z&quot;,T=&quot;m0,1l&quot;+M/2+&quot;,&quot;+.87*M+&quot;l2.6,-1.5l-&quot;+(M/2+2.6)+&quot;,-&quot;+(.87*M+4.5)+&quot;l-&quot;+(M/2+2.6)+&quot;,&quot;+(.87*M+4.5)+&quot;l2.6,1.5l&quot;+M/2+&quot;,-&quot;+.87*M+&quot;Z&quot;,S=&quot;m0.5,0.5h5v-2h-5v-5h-2v5h-5v2h5v5h2Z&quot;,E=!0;_.initInteractions=function(){function t(t,e){return 1-e/O.h}function e(t,e){return 1-(t+(O.h-e)/Math.sqrt(3))/O.w}function r(t,e){return(t-(O.h-e)/Math.sqrt(3))/O.w}function n(n,i){var a=m+n,o=y+i,s=Math.max(0,Math.min(1,t(0,y),t(0,o))),l=Math.max(0,Math.min(1,e(m,y),e(a,o))),c=Math.max(0,Math.min(1,r(m,y),r(a,o))),u=(s/2+c)*O.w,f=(1-s/2-l)*O.w,h=(u+f)/2,d=f-u,p=(1-s)*O.h,g=p-d/w;d&lt;b.MINZOOM?(L=_,I.attr(&quot;d&quot;,z),P.attr(&quot;d&quot;,&quot;M0,0Z&quot;)):(L={a:_.a+s*M,b:_.b+l*M,c:_.c+c*M},I.attr(&quot;d&quot;,z+&quot;M&quot;+u+&quot;,&quot;+p+&quot;H&quot;+f+&quot;L&quot;+h+&quot;,&quot;+g+&quot;L&quot;+u+&quot;,&quot;+p+&quot;Z&quot;),P.attr(&quot;d&quot;,&quot;M&quot;+m+&quot;,&quot;+y+S+&quot;M&quot;+u+&quot;,&quot;+p+k+&quot;M&quot;+f+&quot;,&quot;+p+A+&quot;M&quot;+h+&quot;,&quot;+g+T)),D||(I.transition().style(&quot;fill&quot;,C&gt;.2?&quot;rgba(0,0,0,0.4)&quot;:&quot;rgba(255,255,255,0.3)&quot;).duration(200),P.transition().style(&quot;opacity&quot;,1).duration(200),D=!0)}function a(){if(i(R),L!==_){var t={};t[O.id+&quot;.aaxis.min&quot;]=L.a,t[O.id+&quot;.baxis.min&quot;]=L.b,t[O.id+&quot;.caxis.min&quot;]=L.c,s.relayout(R,t),E&amp;&amp;R.data&amp;&amp;R._context.showTips&amp;&amp;(l.notifier(c(R,&quot;Double-click to zoom back out&quot;),&quot;long&quot;),E=!1)}}function h(t,e){var r=t/O.xaxis._m,n=e/O.yaxis._m,i=[(L={a:_.a-n,b:_.b+(r+n)/2,c:_.c-(r-n)/2}).a,L.b,L.c].sort(),a=i.indexOf(L.a),o=i.indexOf(L.b),s=i.indexOf(L.c);i[0]&lt;0&amp;&amp;(i[1]+i[0]/2&lt;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),L={a:i[a],b:i[o],c:i[s]},e=(_.a-L.a)*O.yaxis._m,t=(_.c-L.c-_.b+L.b)*O.xaxis._m);var l=&quot;translate(&quot;+(O.x0+t)+&quot;,&quot;+(O.y0+e)+&quot;)&quot;;O.plotContainer.selectAll(&quot;.scatterlayer,.maplayer&quot;).attr(&quot;transform&quot;,l);var c=&quot;translate(&quot;+-t+&quot;,&quot;+-e+&quot;)&quot;;O.clipDefRelative.select(&quot;path&quot;).attr(&quot;transform&quot;,c),O.aaxis.range=[L.a,O.sum-L.b-L.c],O.baxis.range=[O.sum-L.a-L.c,L.b],O.caxis.range=[O.sum-L.a-L.b,L.c],O.drawAxes(!1),O.plotContainer.selectAll(&quot;.crisp&quot;).classed(&quot;crisp&quot;,!1),O._hasClipOnAxisFalse&amp;&amp;O.plotContainer.select(&quot;.scatterlayer&quot;).selectAll(&quot;.trace&quot;).call(f.hideOutsideRangePoints,O)}function d(){var t={};t[O.id+&quot;.aaxis.min&quot;]=L.a,t[O.id+&quot;.baxis.min&quot;]=L.b,t[O.id+&quot;.caxis.min&quot;]=L.c,s.relayout(R,t)}function p(){N.selectAll(&quot;.select-outline&quot;).remove()}var m,y,_,M,L,C,z,D,I,P,O=this,F=O.layers.plotbg.select(&quot;path&quot;).node(),R=O.graphDiv,N=R._fullLayout._zoomlayer,j={element:F,gd:R,plotinfo:{xaxis:O.xaxis,yaxis:O.yaxis},subplot:O.id,prepFn:function(t,e,r){j.xaxes=[O.xaxis],j.yaxes=[O.yaxis];var i=R._fullLayout.dragmode;t.shiftKey&amp;&amp;(i=&quot;pan&quot;===i?&quot;zoom&quot;:&quot;pan&quot;),j.minDrag=&quot;lasso&quot;===i?1:void 0,&quot;zoom&quot;===i?(j.moveFn=n,j.doneFn=a,function(t,e,r){var n=F.getBoundingClientRect();m=e-n.left,y=r-n.top,_={a:O.aaxis.range[0],b:O.baxis.range[1],c:O.caxis.range[1]},L=_,M=O.aaxis.range[1]-_.a,C=o(O.graphDiv._fullLayout[O.id].bgcolor).getLuminance(),z=&quot;M0,&quot;+O.h+&quot;L&quot;+O.w/2+&quot;, 0L&quot;+O.w+&quot;,&quot;+O.h+&quot;Z&quot;,D=!1,I=N.append(&quot;path&quot;).attr(&quot;class&quot;,&quot;zoombox&quot;).attr(&quot;transform&quot;,&quot;translate(&quot;+O.x0+&quot;, &quot;+O.y0+&quot;)&quot;).style({fill:C&gt;.2?&quot;rgba(0,0,0,0)&quot;:&quot;rgba(255,255,255,0)&quot;,&quot;stroke-width&quot;:0}).attr(&quot;d&quot;,z),P=N.append(&quot;path&quot;).attr(&quot;class&quot;,&quot;zoombox-corners&quot;).attr(&quot;transform&quot;,&quot;translate(&quot;+O.x0+&quot;, &quot;+O.y0+&quot;)&quot;).style({fill:u.background,stroke:u.defaultLine,&quot;stroke-width&quot;:1,opacity:0}).attr(&quot;d&quot;,&quot;M0,0Z&quot;),p()}(0,e,r)):&quot;pan&quot;===i?(j.moveFn=h,j.doneFn=d,_={a:O.aaxis.range[0],b:O.baxis.range[1],c:O.caxis.range[1]},L=_,p()):&quot;select&quot;!==i&amp;&amp;&quot;lasso&quot;!==i||x(t,e,r,j,i)},clickFn:function(t,e){if(i(R),2===t){var r={};r[O.id+&quot;.aaxis.min&quot;]=0,r[O.id+&quot;.baxis.min&quot;]=0,r[O.id+&quot;.caxis.min&quot;]=0,R.emit(&quot;plotly_doubleclick&quot;,null),s.relayout(R,r)}v.click(R,e,O.id)}};F.onmousemove=function(t){v.hover(R,t,O.id),R._fullLayout._lasthover=F,R._fullLayout._hoversubplot=O.id},F.onmouseout=function(t){R._dragging||g.unhover(R,t)},g.init(j)}},{&quot;../../components/color&quot;:618,&quot;../../components/dragelement&quot;:640,&quot;../../components/drawing&quot;:643,&quot;../../components/fx&quot;:660,&quot;../../components/titles&quot;:709,&quot;../../lib&quot;:743,&quot;../../lib/extend&quot;:732,&quot;../../plotly&quot;:784,&quot;../cartesian/axes&quot;:789,&quot;../cartesian/constants&quot;:794,&quot;../cartesian/select&quot;:807,&quot;../cartesian/set_convert&quot;:808,&quot;../plots&quot;:852,d3:128,tinycolor2:546}],873:[function(t,e,r){&quot;use strict&quot;;function n(t){if(t.layoutAttributes){var e=t.layoutAttributes._arrayAttrRegexps;if(e)for(var n=0;n&lt;e.length;n++)u(r.layoutArrayRegexes,e[n])}}function i(t,e){var n=r.componentsRegistry[t].schema;if(n&amp;&amp;n.traces){var i=n.traces[e];i&amp;&amp;d(r.modules[e]._module.attributes,i)}}function a(t,e){var n=r.componentsRegistry[t].schema;if(n&amp;&amp;n.transforms){var i=n.transforms[e];i&amp;&amp;d(r.transformsRegistry[e].attributes,i)}}function o(t,e){var n=r.componentsRegistry[t].schema;if(n&amp;&amp;n.subplots){var i=r.subplotsRegistry[e],a=i.layoutAttributes,o=&quot;subplot&quot;===i.attr?i.name:i.attr;Array.isArray(o)&amp;&amp;(o=o[0]);var s=n.subplots[o];a&amp;&amp;s&amp;&amp;d(a,s)}}function s(t){return&quot;object&quot;==typeof t&amp;&amp;(t=t.type),t}var l=t(&quot;./lib/loggers&quot;),c=t(&quot;./lib/noop&quot;),u=t(&quot;./lib/push_unique&quot;),f=t(&quot;./lib/extend&quot;),h=f.extendFlat,d=f.extendDeepAll,p=t(&quot;./plots/attributes&quot;),m=t(&quot;./plots/layout_attributes&quot;);r.modules={},r.allCategories={},r.allTypes=[],r.subplotsRegistry={},r.transformsRegistry={},r.componentsRegistry={},r.layoutArrayContainers=[],r.layoutArrayRegexes=[],r.traceLayoutAttributes={},r.localeRegistry={},r.register=function(t,e,n,a){if(r.modules[e])l.log(&quot;Type &quot;+e+&quot; already registered&quot;);else{for(var o={},s=0;s&lt;n.length;s++)o[n[s]]=!0,r.allCategories[n[s]]=!0;r.modules[e]={_module:t,categories:o},a&amp;&amp;Object.keys(a).length&amp;&amp;(r.modules[e].meta=a),r.allTypes.push(e);for(var c in r.componentsRegistry)i(c,e);t.layoutAttributes&amp;&amp;h(r.traceLayoutAttributes,t.layoutAttributes)}},r.registerSubplot=function(t){var e=t.name;if(r.subplotsRegistry[e])l.log(&quot;Plot type &quot;+e+&quot; already registered.&quot;);else{n(t),r.subplotsRegistry[e]=t;for(var i in r.componentsRegistry)o(i,t.name)}},r.registerComponent=function(t){var e=t.name;r.componentsRegistry[e]=t,t.layoutAttributes&amp;&amp;(t.layoutAttributes._isLinkedToArray&amp;&amp;u(r.layoutArrayContainers,e),n(t));for(var s in r.modules)i(e,s);for(var l in r.subplotsRegistry)o(e,l);for(var c in r.transformsRegistry)a(e,c);t.schema&amp;&amp;t.schema.layout&amp;&amp;d(m,t.schema.layout)},r.registerTransform=function(t){r.transformsRegistry[t.name]=t;for(var e in r.componentsRegistry)a(e,t.name)},r.getModule=function(t){var e=r.modules[s(t)];return!!e&amp;&amp;e._module},r.traceIs=function(t,e){if(&quot;various&quot;===(t=s(t)))return!1;var n=r.modules[t];return n||(t&amp;&amp;&quot;area&quot;!==t&amp;&amp;l.log(&quot;Unrecognized trace type &quot;+t+&quot;.&quot;),n=r.modules[p.type.dflt]),!!n.categories[e]},r.getTransformIndices=function(t,e){for(var r=[],n=t.transforms||[],i=0;i&lt;n.length;i++)n[i].type===e&amp;&amp;r.push(i);return r},r.hasTransform=function(t,e){for(var r=t.transforms||[],n=0;n&lt;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]||c:c},r.registerLocale=function(t){var e=t.name,n=e.split(&quot;-&quot;)[0],i=t.dictionary,a=t.format,o=i&amp;&amp;Object.keys(i).length,s=a&amp;&amp;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&amp;&amp;u.dictionary===c.dictionary&amp;&amp;(u.dictionary=i),s&amp;&amp;u.format===c.format&amp;&amp;(u.format=a)}o&amp;&amp;(c.dictionary=i),s&amp;&amp;(c.format=a)}},{&quot;./lib/extend&quot;:732,&quot;./lib/loggers&quot;:748,&quot;./lib/noop&quot;:752,&quot;./lib/push_unique&quot;:756,&quot;./plots/attributes&quot;:787,&quot;./plots/layout_attributes&quot;:843}],874:[function(t,e,r){&quot;use strict&quot;;function n(t){var e;switch(t){case&quot;themes__thumb&quot;:e={autosize:!0,width:150,height:150,title:&quot;&quot;,showlegend:!1,margin:{l:5,r:5,t:5,b:5,pad:0},annotations:[]};break;case&quot;thumbnail&quot;:e={title:&quot;&quot;,hidesources:!0,showlegend:!1,borderwidth:0,bordercolor:&quot;&quot;,margin:{l:1,r:1,t:1,b:1,pad:0},annotations:[]};break;default:e={}}return e}function i(t){return[&quot;xaxis&quot;,&quot;yaxis&quot;,&quot;zaxis&quot;].indexOf(t.slice(0,5))&gt;-1}var a=t(&quot;../lib&quot;),o=a.extendFlat,s=a.extendDeep;e.exports=function(t,e){t.framework&amp;&amp;t.framework.isPolar&amp;&amp;(t=t.framework.getConfig());var r,a=t.data,l=t.layout,c=s([],a),u=s({},l,n(e.tileClass)),f=t._context||{};if(e.width&amp;&amp;(u.width=e.width),e.height&amp;&amp;(u.height=e.height),&quot;thumbnail&quot;===e.tileClass||&quot;themes__thumb&quot;===e.tileClass){u.annotations=[];var h=Object.keys(u);for(r=0;r&lt;h.length;r++)i(h[r])&amp;&amp;(u[h[r]].title=&quot;&quot;);for(r=0;r&lt;c.length;r++){var d=c[r];d.showscale=!1,d.marker&amp;&amp;(d.marker.showscale=!1),&quot;pie&quot;===d.type&amp;&amp;(d.textposition=&quot;none&quot;)}}if(Array.isArray(e.annotations))for(r=0;r&lt;e.annotations.length;r++)u.annotations.push(e.annotations[r]);var p=Object.keys(u).filter(function(t){return t.match(/^scene\d*$/)});if(p.length){var m={};for(&quot;thumbnail&quot;===e.tileClass&amp;&amp;(m={title:&quot;&quot;,showaxeslabels:!1,showticklabels:!1,linetickenable:!1}),r=0;r&lt;p.length;r++){var g=u[p[r]];g.xaxis||(g.xaxis={}),g.yaxis||(g.yaxis={}),g.zaxis||(g.zaxis={}),o(g.xaxis,m),o(g.yaxis,m),o(g.zaxis,m),g._scene=null}}var v=document.createElement(&quot;div&quot;);e.tileClass&amp;&amp;(v.className=e.tileClass);var y={gd:v,td:v,layout:u,data:c,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:f.mapboxAccessToken}};return&quot;transparent&quot;!==e.setBackground&amp;&amp;(y.config.setBackground=e.setBackground||&quot;opaque&quot;),y.gd.defaultLayout=n(e.tileClass),y}},{&quot;../lib&quot;:743}],875:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../plot_api/to_image&quot;),i=t(&quot;../lib&quot;),a=t(&quot;./filesaver&quot;);e.exports=function(t,e){return e=e||{},e.format=e.format||&quot;png&quot;,new Promise(function(r,o){t._snapshotInProgress&amp;&amp;o(new Error(&quot;Snapshotting already in progress.&quot;)),i.isIE()&amp;&amp;&quot;svg&quot;!==e.format&amp;&amp;o(new Error(&quot;Sorry IE does not support downloading from canvas. Try {format:'svg'} instead.&quot;)),t._snapshotInProgress=!0;var s=n(t,e),l=e.filename||t.fn||&quot;newplot&quot;;l+=&quot;.&quot;+e.format,s.then(function(e){return t._snapshotInProgress=!1,a(e,l)}).then(function(t){r(t)}).catch(function(e){t._snapshotInProgress=!1,o(e)})})}},{&quot;../lib&quot;:743,&quot;../plot_api/to_image&quot;:782,&quot;./filesaver&quot;:876}],876:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t,e){var r=document.createElement(&quot;a&quot;),n=&quot;download&quot;in r,i=/Version\/[\d\.]+.*Safari/.test(navigator.userAgent);return new Promise(function(a,o){if(&quot;undefined&quot;!=typeof navigator&amp;&amp;/MSIE [1-9]\./.test(navigator.userAgent)&amp;&amp;o(new Error(&quot;IE &lt; 10 unsupported&quot;)),i&amp;&amp;(document.location.href=&quot;data:application/octet-stream&quot;+t.slice(t.search(/[,;]/)),a(e)),e||(e=&quot;download&quot;),n&amp;&amp;(r.href=t,r.download=e,document.body.appendChild(r),r.click(),document.body.removeChild(r),a(e)),&quot;undefined&quot;!=typeof navigator&amp;&amp;navigator.msSaveBlob){var s=t.split(/^data:image\/svg\+xml,/)[1],l=decodeURIComponent(s);navigator.msSaveBlob(new Blob([l]),e),a(e)}o(new Error(&quot;download error&quot;))})}},{}],877:[function(t,e,r){&quot;use strict&quot;;r.getDelay=function(t){return t._has&amp;&amp;(t._has(&quot;gl3d&quot;)||t._has(&quot;gl2d&quot;))?500:0},r.getRedrawFunc=function(t){var e=t._fullLayout||{};if(!(!(e._has&amp;&amp;e._has(&quot;polar&quot;))&amp;&amp;t.data&amp;&amp;t.data[0]&amp;&amp;t.data[0].r))return function(){(t.calcdata||[]).forEach(function(t){t[0]&amp;&amp;t[0].t&amp;&amp;t[0].t.cb&amp;&amp;t[0].t.cb()})}}},{}],878:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;./helpers&quot;),i={getDelay:n.getDelay,getRedrawFunc:n.getRedrawFunc,clone:t(&quot;./cloneplot&quot;),toSVG:t(&quot;./tosvg&quot;),svgToImg:t(&quot;./svgtoimg&quot;),toImage:t(&quot;./toimage&quot;),downloadImage:t(&quot;./download&quot;)};e.exports=i},{&quot;./cloneplot&quot;:874,&quot;./download&quot;:875,&quot;./helpers&quot;:877,&quot;./svgtoimg&quot;:879,&quot;./toimage&quot;:880,&quot;./tosvg&quot;:881}],879:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../lib&quot;),i=t(&quot;events&quot;).EventEmitter;e.exports=function(t){var e=t.emitter||new i,r=new Promise(function(i,a){var o=window.Image,s=t.svg,l=t.format||&quot;png&quot;;if(n.isIE()&amp;&amp;&quot;svg&quot;!==l){var c=new Error(&quot;Sorry IE does not support downloading from canvas. Try {format:'svg'} instead.&quot;);return a(c),t.promise?r:e.emit(&quot;error&quot;,c)}var u=t.canvas,f=t.scale||1,h=f*(t.width||300),d=f*(t.height||150),p=u.getContext(&quot;2d&quot;),m=new o,g=&quot;data:image/svg+xml,&quot;+encodeURIComponent(s);u.width=h,u.height=d,m.onload=function(){var r;switch(&quot;svg&quot;!==l&amp;&amp;p.drawImage(m,0,0,h,d),l){case&quot;jpeg&quot;:r=u.toDataURL(&quot;image/jpeg&quot;);break;case&quot;png&quot;:r=u.toDataURL(&quot;image/png&quot;);break;case&quot;webp&quot;:r=u.toDataURL(&quot;image/webp&quot;);break;case&quot;svg&quot;:r=g;break;default:var n=&quot;Image format is not jpeg, png, svg or webp.&quot;;if(a(new Error(n)),!t.promise)return e.emit(&quot;error&quot;,n)}i(r),t.promise||e.emit(&quot;success&quot;,r)},m.onerror=function(r){if(a(r),!t.promise)return e.emit(&quot;error&quot;,r)},m.src=g});return t.promise?r:e}},{&quot;../lib&quot;:743,events:138}],880:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;events&quot;).EventEmitter,i=t(&quot;../plotly&quot;),a=t(&quot;../lib&quot;),o=t(&quot;./helpers&quot;),s=t(&quot;./cloneplot&quot;),l=t(&quot;./tosvg&quot;),c=t(&quot;./svgtoimg&quot;);e.exports=function(t,e){var r=new n,u=s(t,{format:&quot;png&quot;}),f=u.gd;f.style.position=&quot;absolute&quot;,f.style.left=&quot;-5000px&quot;,document.body.appendChild(f);var h=o.getRedrawFunc(f);return i.plot(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(&quot;canvas&quot;);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&amp;&amp;document.body.removeChild(f)}},t)}).catch(function(t){r.emit(&quot;error&quot;,t)}),r}},{&quot;../lib&quot;:743,&quot;../plotly&quot;:784,&quot;./cloneplot&quot;:874,&quot;./helpers&quot;:877,&quot;./svgtoimg&quot;:879,&quot;./tosvg&quot;:881,events:138}],881:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;d3&quot;),i=t(&quot;../lib&quot;),a=t(&quot;../components/drawing&quot;),o=t(&quot;../components/color&quot;),s=t(&quot;../constants/xmlns_namespaces&quot;),l=/&quot;/g,c=&quot;TOBESTRIPPED&quot;,u=new RegExp('(&quot;'+c+&quot;)|(&quot;+c+'&quot;)',&quot;g&quot;);e.exports=function(t,e,r){var f,h=t._fullLayout,d=h._paper,p=h._toppaper,m=h.width,g=h.height;d.insert(&quot;rect&quot;,&quot;:first-child&quot;).call(a.setRect,0,0,m,g).call(o.fill,h.paper_bgcolor);var v=h._basePlotModules||[];for(f=0;f&lt;v.length;f++){var y=v[f];y.toSVG&amp;&amp;y.toSVG(t)}if(p){var x=p.node().childNodes,b=Array.prototype.slice.call(x);for(f=0;f&lt;b.length;f++){var _=b[f];_.childNodes.length&amp;&amp;d.node().appendChild(_)}}h._draggers&amp;&amp;h._draggers.remove(),d.node().style.background=&quot;&quot;,d.selectAll(&quot;text&quot;).attr({&quot;data-unformatted&quot;:null,&quot;data-math&quot;:null}).each(function(){var t=n.select(this);if(&quot;hidden&quot;!==this.style.visibility&amp;&amp;&quot;none&quot;!==this.style.display){t.style({visibility:null,display:null});var e=this.style.fontFamily;e&amp;&amp;-1!==e.indexOf('&quot;')&amp;&amp;t.style(&quot;font-family&quot;,e.replace(l,c))}else t.remove()}),d.selectAll(&quot;.point,.scatterpts&quot;).each(function(){var t=n.select(this),e=this.style.fill;e&amp;&amp;-1!==e.indexOf(&quot;url(&quot;)&amp;&amp;t.style(&quot;fill&quot;,e.replace(l,c))}),&quot;pdf&quot;!==e&amp;&amp;&quot;eps&quot;!==e||d.selectAll(&quot;#MathJax_SVG_glyphs path&quot;).attr(&quot;stroke-width&quot;,0),d.node().setAttributeNS(s.xmlns,&quot;xmlns&quot;,s.svg),d.node().setAttributeNS(s.xmlns,&quot;xmlns:xlink&quot;,s.xlink),&quot;svg&quot;===e&amp;&amp;r&amp;&amp;(d.attr(&quot;width&quot;,r*m),d.attr(&quot;height&quot;,r*g),d.attr(&quot;viewBox&quot;,&quot;0 0 &quot;+m+&quot; &quot;+g));var w=(new window.XMLSerializer).serializeToString(d.node());return w=function(t){var e=n.select(&quot;body&quot;).append(&quot;div&quot;).style({display:&quot;none&quot;}).html(&quot;&quot;),r=t.replace(/(&amp;[^;]*;)/gi,function(t){return&quot;&amp;lt;&quot;===t?&quot;&amp;#60;&quot;:&quot;&amp;rt;&quot;===t?&quot;&amp;#62;&quot;:-1!==t.indexOf(&quot;&lt;&quot;)||-1!==t.indexOf(&quot;&gt;&quot;)?&quot;&quot;:e.html(t).text()});return e.remove(),r}(w),w=function(t){return t.replace(/&amp;(?!\w+;|\#[0-9]+;| \#x[0-9A-F]+;)/g,&quot;&amp;amp;&quot;)}(w),w=w.replace(u,&quot;'&quot;),i.isIE()&amp;&amp;(w=(w=(w=w.replace(/&quot;/gi,&quot;'&quot;)).replace(/(\('#)([^']*)('\))/gi,'(&quot;#$2&quot;)')).replace(/(\\')/gi,'&quot;')),w}},{&quot;../components/color&quot;:618,&quot;../components/drawing&quot;:643,&quot;../constants/xmlns_namespaces&quot;:723,&quot;../lib&quot;:743,d3:128}],882:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib&quot;).mergeArray;e.exports=function(t,e){for(var r=0;r&lt;t.length;r++)t[r].i=r;n(e.text,t,&quot;tx&quot;),n(e.hovertext,t,&quot;htx&quot;);var i=e.marker;if(i){n(i.opacity,t,&quot;mo&quot;),n(i.color,t,&quot;mc&quot;);var a=i.line;a&amp;&amp;(n(a.color,t,&quot;mlc&quot;),n(a.width,t,&quot;mlw&quot;))}}},{&quot;../../lib&quot;:743}],883:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../scatter/attributes&quot;),i=t(&quot;../../components/colorscale/color_attributes&quot;),a=t(&quot;../../components/errorbars/attributes&quot;),o=t(&quot;../../components/colorbar/attributes&quot;),s=t(&quot;../../plots/font_attributes&quot;),l=t(&quot;../../lib/extend&quot;).extendFlat,c=s({editType:&quot;calc&quot;,arrayOk:!0}),u=n.marker,f=l({line:l({width:l({},u.line.width,{dflt:0}),editType:&quot;calc&quot;},i(&quot;marker.line&quot;)),editType:&quot;calc&quot;},i(&quot;marker&quot;),{showscale:u.showscale,colorbar:o,opacity:{valType:&quot;number&quot;,arrayOk:!0,dflt:1,min:0,max:1,editType:&quot;style&quot;}});e.exports={x:n.x,x0:n.x0,dx:n.dx,y:n.y,y0:n.y0,dy:n.dy,text:n.text,hovertext:n.hovertext,textposition:{valType:&quot;enumerated&quot;,values:[&quot;inside&quot;,&quot;outside&quot;,&quot;auto&quot;,&quot;none&quot;],dflt:&quot;none&quot;,arrayOk:!0,editType:&quot;calc&quot;},textfont:l({},c,{}),insidetextfont:l({},c,{}),outsidetextfont:l({},c,{}),constraintext:{valType:&quot;enumerated&quot;,values:[&quot;inside&quot;,&quot;outside&quot;,&quot;both&quot;,&quot;none&quot;],dflt:&quot;both&quot;,editType:&quot;calc&quot;},orientation:{valType:&quot;enumerated&quot;,values:[&quot;v&quot;,&quot;h&quot;],editType:&quot;calc+clearAxisTypes&quot;},base:{valType:&quot;any&quot;,dflt:null,arrayOk:!0,editType:&quot;calc&quot;},offset:{valType:&quot;number&quot;,dflt:null,arrayOk:!0,editType:&quot;calc&quot;},width:{valType:&quot;number&quot;,dflt:null,min:0,arrayOk:!0,editType:&quot;calc&quot;},marker:f,selected:{marker:{opacity:n.selected.marker.opacity,color:n.selected.marker.color,editType:&quot;style&quot;},textfont:n.selected.textfont,editType:&quot;style&quot;},unselected:{marker:{opacity:n.unselected.marker.opacity,color:n.unselected.marker.color,editType:&quot;style&quot;},textfont:n.unselected.textfont,editType:&quot;style&quot;},r:n.r,t:n.t,error_y:a,error_x:a,_deprecated:{bardir:{valType:&quot;enumerated&quot;,editType:&quot;calc&quot;,values:[&quot;v&quot;,&quot;h&quot;]}}}},{&quot;../../components/colorbar/attributes&quot;:619,&quot;../../components/colorscale/color_attributes&quot;:626,&quot;../../components/errorbars/attributes&quot;:645,&quot;../../lib/extend&quot;:732,&quot;../../plots/font_attributes&quot;:816,&quot;../scatter/attributes&quot;:1066}],884:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;fast-isnumeric&quot;),i=t(&quot;../../plots/cartesian/axes&quot;),a=t(&quot;../../components/colorscale/has_colorscale&quot;),o=t(&quot;../../components/colorscale/calc&quot;),s=t(&quot;./arrays_to_calcdata&quot;),l=t(&quot;../scatter/calc_selection&quot;);e.exports=function(t,e){var r,c,u,f,h,d=i.getFromId(t,e.xaxis||&quot;x&quot;),p=i.getFromId(t,e.yaxis||&quot;y&quot;);&quot;h&quot;===(e.orientation||(e.x&amp;&amp;!e.y?&quot;h&quot;:&quot;v&quot;))?(r=d,u=d.makeCalcdata(e,&quot;x&quot;),c=p.makeCalcdata(e,&quot;y&quot;),h=e.xcalendar):(r=p,u=p.makeCalcdata(e,&quot;y&quot;),c=d.makeCalcdata(e,&quot;x&quot;),h=e.ycalendar);var m=Math.min(c.length,u.length),g=new Array(m);for(f=0;f&lt;m;f++)g[f]={p:c[f],s:u[f]},e.ids&amp;&amp;(g[f].id=String(e.ids[f]));var v,y=e.base;if(Array.isArray(y)){for(f=0;f&lt;Math.min(y.length,g.length);f++)v=r.d2c(y[f],0,h),n(v)?(g[f].b=+v,g[f].hasB=1):g[f].b=0;for(;f&lt;g.length;f++)g[f].b=0}else{v=r.d2c(y,0,h);var x=n(v);for(v=x?v:0,f=0;f&lt;g.length;f++)g[f].b=v,x&amp;&amp;(g[f].hasB=1)}return a(e,&quot;marker&quot;)&amp;&amp;o(e,e.marker.color,&quot;marker&quot;,&quot;c&quot;),a(e,&quot;marker.line&quot;)&amp;&amp;o(e,e.marker.line.color,&quot;marker.line&quot;,&quot;c&quot;),s(g,e),l(g,e),g}},{&quot;../../components/colorscale/calc&quot;:625,&quot;../../components/colorscale/has_colorscale&quot;:632,&quot;../../plots/cartesian/axes&quot;:789,&quot;../scatter/calc_selection&quot;:1068,&quot;./arrays_to_calcdata&quot;:882,&quot;fast-isnumeric&quot;:140}],885:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib&quot;),i=t(&quot;../../components/color&quot;),a=t(&quot;../scatter/xy_defaults&quot;),o=t(&quot;../bar/style_defaults&quot;),s=t(&quot;../../components/errorbars/defaults&quot;),l=t(&quot;./attributes&quot;);e.exports=function(t,e,r,c){function u(r,i){return n.coerce(t,e,l,r,i)}var f=n.coerceFont;if(a(t,e,c,u)){u(&quot;orientation&quot;,e.x&amp;&amp;!e.y?&quot;h&quot;:&quot;v&quot;),u(&quot;base&quot;),u(&quot;offset&quot;),u(&quot;width&quot;),u(&quot;text&quot;),u(&quot;hovertext&quot;);var h=u(&quot;textposition&quot;),d=Array.isArray(h)||&quot;auto&quot;===h,p=d||&quot;inside&quot;===h,m=d||&quot;outside&quot;===h;if(p||m){var g=f(u,&quot;textfont&quot;,c.font);p&amp;&amp;f(u,&quot;insidetextfont&quot;,g),m&amp;&amp;f(u,&quot;outsidetextfont&quot;,g),u(&quot;constraintext&quot;),u(&quot;selected.textfont.color&quot;),u(&quot;unselected.textfont.color&quot;)}o(t,e,u,r,c),s(t,e,i.defaultLine,{axis:&quot;y&quot;}),s(t,e,i.defaultLine,{axis:&quot;x&quot;,inherit:&quot;y&quot;}),n.coerceSelectionMarkerOpacity(e,u)}else e.visible=!1}},{&quot;../../components/color&quot;:618,&quot;../../components/errorbars/defaults&quot;:648,&quot;../../lib&quot;:743,&quot;../bar/style_defaults&quot;:895,&quot;../scatter/xy_defaults&quot;:1090,&quot;./attributes&quot;:883}],886:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../components/fx&quot;),i=t(&quot;../../components/errorbars&quot;),a=t(&quot;../../components/color&quot;),o=t(&quot;../scatter/fill_hover_text&quot;);e.exports=function(t,e,r,s){function l(t){return t[p]-t.w/2}function c(t){return t[p]+t.w/2}function u(t){return n.inbox(w(t)-h,M(t)-h)}function f(t){return n.inbox(t.b-d,t[m]-d)+(t[m]-d)/(t[m]-t.b)}var h,d,p,m,g,v,y=t.cd,x=y[0].trace,b=y[0].t,_=&quot;closest&quot;===s,w=_?l:function(t){return Math.min(l(t),t.p-b.bardelta/2)},M=_?c:function(t){return Math.max(c(t),t.p+b.bardelta/2)};&quot;h&quot;===x.orientation?(h=r,d=e,p=&quot;y&quot;,m=&quot;x&quot;,g=f,v=u):(h=e,d=r,p=&quot;x&quot;,m=&quot;y&quot;,v=f,g=u);var k=t[p+&quot;a&quot;],A=t[m+&quot;a&quot;],T=n.getDistanceFunction(s,g,v);if(n.getClosest(y,T,t),!1!==t.index){_||(w=function(t){return Math.min(l(t),t.p-b.bargroupwidth/2)},M=function(t){return Math.max(c(t),t.p+b.bargroupwidth/2)});var S=y[t.index],E=S.mcc||x.marker.color,L=S.mlcc||x.marker.line.color,C=S.mlw||x.marker.line.width;a.opacity(E)?t.color=E:a.opacity(L)&amp;&amp;C&amp;&amp;(t.color=L);var z=x.base?S.b+S.s:S.s;return t[m+&quot;0&quot;]=t[m+&quot;1&quot;]=A.c2p(S[m],!0),t[m+&quot;LabelVal&quot;]=z,t[p+&quot;0&quot;]=k.c2p(w(S),!0),t[p+&quot;1&quot;]=k.c2p(M(S),!0),t[p+&quot;LabelVal&quot;]=S.p,o(S,x,t),i.hoverInfo(S,x,t),[t]}}},{&quot;../../components/color&quot;:618,&quot;../../components/errorbars&quot;:649,&quot;../../components/fx&quot;:660,&quot;../scatter/fill_hover_text&quot;:1074}],887:[function(t,e,r){&quot;use strict&quot;;var n={};n.attributes=t(&quot;./attributes&quot;),n.layoutAttributes=t(&quot;./layout_attributes&quot;),n.supplyDefaults=t(&quot;./defaults&quot;),n.supplyLayoutDefaults=t(&quot;./layout_defaults&quot;),n.calc=t(&quot;./calc&quot;),n.setPositions=t(&quot;./set_positions&quot;),n.colorbar=t(&quot;../scatter/colorbar&quot;),n.arraysToCalcdata=t(&quot;./arrays_to_calcdata&quot;),n.plot=t(&quot;./plot&quot;),n.style=t(&quot;./style&quot;),n.hoverPoints=t(&quot;./hover&quot;),n.selectPoints=t(&quot;./select&quot;),n.moduleType=&quot;trace&quot;,n.name=&quot;bar&quot;,n.basePlotModule=t(&quot;../../plots/cartesian&quot;),n.categories=[&quot;cartesian&quot;,&quot;bar&quot;,&quot;oriented&quot;,&quot;markerColorscale&quot;,&quot;errorBarsOK&quot;,&quot;showLegend&quot;],n.meta={},e.exports=n},{&quot;../../plots/cartesian&quot;:800,&quot;../scatter/colorbar&quot;:1070,&quot;./arrays_to_calcdata&quot;:882,&quot;./attributes&quot;:883,&quot;./calc&quot;:884,&quot;./defaults&quot;:885,&quot;./hover&quot;:886,&quot;./layout_attributes&quot;:888,&quot;./layout_defaults&quot;:889,&quot;./plot&quot;:890,&quot;./select&quot;:891,&quot;./set_positions&quot;:892,&quot;./style&quot;:894}],888:[function(t,e,r){&quot;use strict&quot;;e.exports={barmode:{valType:&quot;enumerated&quot;,values:[&quot;stack&quot;,&quot;group&quot;,&quot;overlay&quot;,&quot;relative&quot;],dflt:&quot;group&quot;,editType:&quot;calc&quot;},barnorm:{valType:&quot;enumerated&quot;,values:[&quot;&quot;,&quot;fraction&quot;,&quot;percent&quot;],dflt:&quot;&quot;,editType:&quot;calc&quot;},bargap:{valType:&quot;number&quot;,min:0,max:1,editType:&quot;calc&quot;},bargroupgap:{valType:&quot;number&quot;,min:0,max:1,dflt:0,editType:&quot;calc&quot;}}},{}],889:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../registry&quot;),i=t(&quot;../../plots/cartesian/axes&quot;),a=t(&quot;../../lib&quot;),o=t(&quot;./layout_attributes&quot;);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=0;h&lt;r.length;h++){var d=r[h];if(n.traceIs(d,&quot;bar&quot;)){if(l=!0,&quot;overlay&quot;!==t.barmode&amp;&amp;&quot;stack&quot;!==t.barmode){var p=d.xaxis+d.yaxis;f[p]&amp;&amp;(u=!0),f[p]=!0}if(d.visible&amp;&amp;&quot;histogram&quot;===d.type){&quot;category&quot;!==i.getFromId({_fullLayout:e},d[&quot;v&quot;===d.orientation?&quot;xaxis&quot;:&quot;yaxis&quot;]).type&amp;&amp;(c=!0)}}}if(l){&quot;overlay&quot;!==s(&quot;barmode&quot;)&amp;&amp;s(&quot;barnorm&quot;),s(&quot;bargap&quot;,c&amp;&amp;!u?0:.2),s(&quot;bargroupgap&quot;)}}},{&quot;../../lib&quot;:743,&quot;../../plots/cartesian/axes&quot;:789,&quot;../../registry&quot;:873,&quot;./layout_attributes&quot;:888}],890:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,n,l,c,u,f){function d(e,r,n){return e.append(&quot;text&quot;).text(r).attr({class:&quot;bartext bartext-&quot;+m,transform:&quot;&quot;,&quot;text-anchor&quot;:&quot;middle&quot;,&quot;data-notex&quot;:1}).call(p.font,n).call(h.convertToTspans,t)}var m,g=r[0].trace,M=g.orientation,k=function(t,e){var r=o(t.text,e);return s(v,r)}(g,n);if(k&amp;&amp;&quot;none&quot;!==(m=function(t,e){var r=o(t.textposition,e);return function(t,e,r){t.coerceNumber&amp;&amp;(e=+e);return-1!==t.values.indexOf(e)?e:void 0!==r?r:t.dflt}(y,r)}(g,n))){var A,T,S,E,L=function(t,e,r){return a(x,t.textfont,e,r)}(g,n,t._fullLayout.font),C=function(t,e,r){return a(b,t.insidetextfont,e,r)}(g,n,L),z=function(t,e,r){return a(_,t.outsidetextfont,e,r)}(g,n,L),D=t._fullLayout.barmode,I=&quot;stack&quot;===D||&quot;relative&quot;===D,P=r[n],O=!I||P._outmost,F=Math.abs(c-l)-2*w,R=Math.abs(f-u)-2*w;if(&quot;outside&quot;===m&amp;&amp;(O||(m=&quot;inside&quot;)),&quot;auto&quot;===m)if(O){m=&quot;inside&quot;,A=d(e,k,C),S=(T=p.bBox(A.node())).width,E=T.height;S&gt;0&amp;&amp;E&gt;0&amp;&amp;(S&lt;=F&amp;&amp;E&lt;=R||S&lt;=R&amp;&amp;E&lt;=F||(&quot;h&quot;===M?F&gt;=S*(R/E):R&gt;=E*(F/S)))?m=&quot;inside&quot;:(m=&quot;outside&quot;,A.remove(),A=null)}else m=&quot;inside&quot;;if(!A&amp;&amp;(A=d(e,k,&quot;outside&quot;===m?z:C),T=p.bBox(A.node()),S=T.width,E=T.height,S&lt;=0||E&lt;=0))A.remove();else{var N;N=&quot;outside&quot;===m?function(t,e,r,n,a,o,s){var l,c=&quot;h&quot;===o?Math.abs(n-r):Math.abs(e-t);c&gt;2*w&amp;&amp;(l=w);var u=1;s&amp;&amp;(u=&quot;h&quot;===o?Math.min(1,c/a.height):Math.min(1,c/a.width));var f,h,d,p,m=(a.left+a.right)/2,g=(a.top+a.bottom)/2;f=u*a.width,h=u*a.height,&quot;h&quot;===o?e&lt;t?(d=e-l-f/2,p=(r+n)/2):(d=e+l+f/2,p=(r+n)/2):n&gt;r?(d=(t+e)/2,p=n+l+h/2):(d=(t+e)/2,p=n-l-h/2);return i(m,g,d,p,u,!1)}(l,c,u,f,T,M,&quot;both&quot;===g.constraintext||&quot;outside&quot;===g.constraintext):function(t,e,r,n,a,o,s){var l,c,u,f,h,d=a.width,p=a.height,m=(a.left+a.right)/2,g=(a.top+a.bottom)/2,v=Math.abs(e-t),y=Math.abs(n-r);v&gt;2*w&amp;&amp;y&gt;2*w?(v-=2*(h=w),y-=2*h):h=0;var x,b;d&lt;=v&amp;&amp;p&lt;=y?(x=!1,b=1):d&lt;=y&amp;&amp;p&lt;=v?(x=!0,b=1):d&lt;p==v&lt;y?(x=!1,b=s?Math.min(v/d,y/p):1):(x=!0,b=s?Math.min(y/d,v/p):1);x&amp;&amp;(x=90);x?(l=b*p,c=b*d):(l=b*d,c=b*p);&quot;h&quot;===o?e&lt;t?(u=e+h+l/2,f=(r+n)/2):(u=e-h-l/2,f=(r+n)/2):n&gt;r?(u=(t+e)/2,f=n-h-c/2):(u=(t+e)/2,f=n+h+c/2);return i(m,g,u,f,b,x)}(l,c,u,f,T,M,&quot;both&quot;===g.constraintext||&quot;inside&quot;===g.constraintext),A.attr(&quot;transform&quot;,N)}}}function i(t,e,r,n,i,a){var o;i&lt;1?o=&quot;scale(&quot;+i+&quot;) &quot;:(i=1,o=&quot;&quot;);return&quot;translate(&quot;+(r-i*t)+&quot; &quot;+(n-i*e)+&quot;)&quot;+o+(a?&quot;rotate(&quot;+a+&quot; &quot;+t+&quot; &quot;+e+&quot;) &quot;:&quot;&quot;)}function a(t,e,r,n){var i=o((e=e||{}).family,r),a=o(e.size,r),l=o(e.color,r);return{family:s(t.family,i,n.family),size:function(t,e,r){if(c(e)){e=+e;var n=t.min,i=t.max,a=void 0!==n&amp;&amp;e&lt;n||void 0!==i&amp;&amp;e&gt;i;if(!a)return e}return void 0!==r?r:t.dflt}(t.size,a,n.size),color:function(t,e,r){return u(e).isValid()?e:void 0!==r?r:t.dflt}(t.color,l,n.color)}}function o(t,e){var r;return Array.isArray(t)?e&lt;t.length&amp;&amp;(r=t[e]):r=t,r}function s(t,e,r){if(&quot;string&quot;==typeof e){if(e||!t.noBlank)return e}else if(&quot;number&quot;==typeof e&amp;&amp;!t.strict)return String(e);return void 0!==r?r:t.dflt}var l=t(&quot;d3&quot;),c=t(&quot;fast-isnumeric&quot;),u=t(&quot;tinycolor2&quot;),f=t(&quot;../../lib&quot;),h=t(&quot;../../lib/svg_text_utils&quot;),d=t(&quot;../../components/color&quot;),p=t(&quot;../../components/drawing&quot;),m=t(&quot;../../components/errorbars&quot;),g=t(&quot;./attributes&quot;),v=g.text,y=g.textposition,x=g.textfont,b=g.insidetextfont,_=g.outsidetextfont,w=3;e.exports=function(t,e,r){var i=e.xaxis,a=e.yaxis,o=t._fullLayout,s=e.plot.select(&quot;.barlayer&quot;).selectAll(&quot;g.trace.bars&quot;).data(r);s.enter().append(&quot;g&quot;).attr(&quot;class&quot;,&quot;trace bars&quot;),s.each(function(t){t[0].node3=l.select(this)}),s.append(&quot;g&quot;).attr(&quot;class&quot;,&quot;points&quot;).each(function(e){var r=l.select(this),s=e[0].t,u=e[0].trace,h=s.poffset,p=Array.isArray(h);r.selectAll(&quot;g.point&quot;).data(f.identity).enter().append(&quot;g&quot;).classed(&quot;point&quot;,!0).each(function(r,s){function f(t){return 0===o.bargap&amp;&amp;0===o.bargroupgap?l.round(Math.round(t)-k,2):t}var m,g,v,y,x=r.p+(p?h[s]:h),b=x+r.w,_=r.b,w=_+r.s;if(&quot;h&quot;===u.orientation?(v=a.c2p(x,!0),y=a.c2p(b,!0),m=i.c2p(_,!0),g=i.c2p(w,!0),r.ct=[g,(v+y)/2]):(m=i.c2p(x,!0),g=i.c2p(b,!0),v=a.c2p(_,!0),y=a.c2p(w,!0),r.ct=[(m+g)/2,y]),c(m)&amp;&amp;c(g)&amp;&amp;c(v)&amp;&amp;c(y)&amp;&amp;m!==g&amp;&amp;v!==y){var M=(r.mlw+1||u.marker.line.width+1||(r.trace?r.trace.marker.line.width:0)+1)-1,k=l.round(M/2%1,2);if(!t._context.staticPlot){var A=d.opacity(r.mc||u.marker.color)&lt;1||M&gt;.01?f:function(t,e){return Math.abs(t-e)&gt;=2?f(t):t&gt;e?Math.ceil(t):Math.floor(t)};g=A(g,m=A(m,g)),y=A(y,v=A(v,y))}var T=l.select(this);T.append(&quot;path&quot;).style(&quot;vector-effect&quot;,&quot;non-scaling-stroke&quot;).attr(&quot;d&quot;,&quot;M&quot;+m+&quot;,&quot;+v+&quot;V&quot;+y+&quot;H&quot;+g+&quot;V&quot;+v+&quot;Z&quot;),n(t,T,e,s,m,g,v,y)}else l.select(this).remove()})}),s.call(m.plot,e)}},{&quot;../../components/color&quot;:618,&quot;../../components/drawing&quot;:643,&quot;../../components/errorbars&quot;:649,&quot;../../lib&quot;:743,&quot;../../lib/svg_text_utils&quot;:766,&quot;./attributes&quot;:883,d3:128,&quot;fast-isnumeric&quot;:140,tinycolor2:546}],891:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t,e){var r,n=t.cd,i=t.xaxis,a=t.yaxis,o=[];if(!1===e)for(r=0;r&lt;n.length;r++)n[r].selected=0;else for(r=0;r&lt;n.length;r++){var s=n[r];e.contains(s.ct)?(o.push({pointNumber:r,x:i.c2d(s.x),y:a.c2d(s.y)}),s.selected=1):s.selected=0}return o}},{}],892:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,n){if(n.length){var g,x,b,_,w=t._fullLayout.barmode,M=&quot;group&quot;===w;if(&quot;overlay&quot;===w)i(t,e,r,n);else if(M){for(g=[],x=[],b=0;b&lt;n.length;b++)void 0===(_=n[b])[0].trace.offset?x.push(_):g.push(_);x.length&amp;&amp;function(t,e,r,n){var i=t._fullLayout.barnorm,a=new y(n,!1,!i);(function(t,e,r){var n,i,a,c,u=t._fullLayout,f=u.bargap,h=u.bargroupgap,d=r.positions,p=r.distinctPositions,m=r.minDiff,g=r.traces,v=d.length!==p.length,y=g.length,x=m*(1-f),b=v?x/y:x,_=b*(1-h);for(n=0;n&lt;y;n++){i=g[n],a=i[0];var w=v?((2*n+1-y)*b-_)/2:-_/2;(c=a.t).barwidth=_,c.poffset=w,c.bargroupwidth=x,c.bardelta=m}r.binWidth=g[0][0].t.barwidth/100,o(r),s(t,e,r),l(t,e,r,v)})(t,e,a),i?(f(t,r,a),h(t,r,a)):u(t,r,a)}(t,e,r,x),g.length&amp;&amp;i(t,e,r,g)}else{for(g=[],x=[],b=0;b&lt;n.length;b++)void 0===(_=n[b])[0].trace.base?x.push(_):g.push(_);x.length&amp;&amp;function(t,e,r,n){var i=t._fullLayout.barmode,o=&quot;stack&quot;===i,s=&quot;relative&quot;===i,l=t._fullLayout.barnorm,u=new y(n,s,!(l||o||s));a(t,e,u),function(t,e,r){var n,i,a,o,s=t._fullLayout.barnorm,l=d(e),u=r.traces,f=[null,null];for(n=0;n&lt;u.length;n++)for(i=u[n],a=0;a&lt;i.length;a++)if((o=i[a]).s!==m){var h=r.put(o.p,o.b+o.s),g=h+o.b+o.s;o.b=h,o[l]=g,s||(p(e.c2l(g))&amp;&amp;c(f,g),o.hasB&amp;&amp;p(e.c2l(h))&amp;&amp;c(f,h))}s||v.expand(e,f,{tozero:!0,padded:!0})}(t,r,u);for(var f=0;f&lt;n.length;f++)for(var g=n[f],x=0;x&lt;g.length;x++){var b=g[x];if(b.s!==m){var _=b.b+b.s===u.get(b.p,b.s);_&amp;&amp;(b._outmost=!0)}}l&amp;&amp;h(t,r,u)}(t,e,r,x),g.length&amp;&amp;i(t,e,r,g)}}}function i(t,e,r,n){for(var i=t._fullLayout.barnorm,o=!i,s=0;s&lt;n.length;s++){var l=n[s],c=new y([l],!1,o);a(t,e,c),i?(f(t,r,c),h(t,r,c)):u(t,r,c)}}function a(t,e,r){var n,i,a=t._fullLayout,c=a.bargap,u=a.bargroupgap,f=r.minDiff,h=r.traces,d=f*(1-c),p=d*(1-u),m=-p/2;for(n=0;n&lt;h.length;n++)(i=h[n][0].t).barwidth=p,i.poffset=m,i.bargroupwidth=d,i.bardelta=f;r.binWidth=h[0][0].t.barwidth/100,o(r),s(t,e,r),l(t,e,r)}function o(t){var e,r,n,i,a,o,s=t.traces;for(e=0;e&lt;s.length;e++){i=(n=(r=s[e])[0]).trace,o=n.t;var l,c=i.offset,u=o.poffset;if(Array.isArray(c)){for(l=c.slice(0,r.length),a=0;a&lt;l.length;a++)p(l[a])||(l[a]=u);for(a=l.length;a&lt;r.length;a++)l.push(u);o.poffset=l}else void 0!==c&amp;&amp;(o.poffset=c);var f=i.width,h=o.barwidth;if(Array.isArray(f)){var d=f.slice(0,r.length);for(a=0;a&lt;d.length;a++)p(d[a])||(d[a]=h);for(a=d.length;a&lt;r.length;a++)d.push(h);if(o.barwidth=d,void 0===c){for(l=[],a=0;a&lt;r.length;a++)l.push(u+(h-d[a])/2);o.poffset=l}}else void 0!==f&amp;&amp;(o.barwidth=f,void 0===c&amp;&amp;(o.poffset=u+(h-f)/2))}}function s(t,e,r){for(var n=r.traces,i=d(e),a=0;a&lt;n.length;a++)for(var o=n[a],s=o[0].t,l=s.poffset,c=Array.isArray(l),u=s.barwidth,f=Array.isArray(u),h=0;h&lt;o.length;h++){var p=o[h],m=p.w=f?u[h]:u;p[i]=p.p+(c?l[h]:l)+m/2}}function l(t,e,r,n){var i=r.traces,a=r.distinctPositions,o=a[0],s=r.minDiff,l=s/2;v.minDtick(e,s,o,n);for(var c=Math.min.apply(Math,a)-l,u=Math.max.apply(Math,a)+l,f=0;f&lt;i.length;f++){var h=i[f],d=h[0],p=d.trace;if(void 0!==p.width||void 0!==p.offset)for(var m=d.t,g=m.poffset,y=m.barwidth,x=Array.isArray(g),b=Array.isArray(y),_=0;_&lt;h.length;_++){var w=h[_],M=x?g[_]:g,k=b?y[_]:y,A=w.p+M,T=A+k;c=Math.min(c,A),u=Math.max(u,T)}}v.expand(e,[c,u],{padded:!1})}function c(t,e){p(t[0])?t[0]=Math.min(t[0],e):t[0]=e,p(t[1])?t[1]=Math.max(t[1],e):t[1]=e}function u(t,e,r){for(var n=r.traces,i=d(e),a=[null,null],o=0;o&lt;n.length;o++)for(var s=n[o],l=0;l&lt;s.length;l++){var u=s[l],f=u.b,h=f+u.s;u[i]=h,p(e.c2l(h))&amp;&amp;c(a,h),u.hasB&amp;&amp;p(e.c2l(f))&amp;&amp;c(a,f)}v.expand(e,a,{tozero:!0,padded:!0})}function f(t,e,r){for(var n=r.traces,i=0;i&lt;n.length;i++)for(var a=n[i],o=0;o&lt;a.length;o++){var s=a[o];s.s!==m&amp;&amp;r.put(s.p,s.b+s.s)}}function h(t,e,r){function n(t){p(e.c2l(t))&amp;&amp;(t&lt;l-s||t&gt;u+s||!p(l))&amp;&amp;(h=!0,c(f,t))}for(var i=r.traces,a=d(e),o=&quot;fraction&quot;===t._fullLayout.barnorm?1:100,s=o/1e9,l=e.l2c(e.c2l(0)),u=&quot;stack&quot;===t._fullLayout.barmode?o:l,f=[l,u],h=!1,g=0;g&lt;i.length;g++)for(var y=i[g],x=0;x&lt;y.length;x++){var b=y[x];if(b.s!==m){var _=Math.abs(o/r.get(b.p,b.s));b.b*=_,b.s*=_;var w=b.b,M=w+b.s;b[a]=M,n(M),b.hasB&amp;&amp;n(w)}}v.expand(e,f,{tozero:!0,padded:h})}function d(t){return t._id.charAt(0)}var p=t(&quot;fast-isnumeric&quot;),m=t(&quot;../../constants/numerical&quot;).BADNUM,g=t(&quot;../../registry&quot;),v=t(&quot;../../plots/cartesian/axes&quot;),y=t(&quot;./sieve.js&quot;);e.exports=function(t,e){var r,i=e.xaxis,a=e.yaxis,o=t._fullData,s=t.calcdata,l=[],c=[];for(r=0;r&lt;o.length;r++){var u=o[r];!0===u.visible&amp;&amp;g.traceIs(u,&quot;bar&quot;)&amp;&amp;u.xaxis===i._id&amp;&amp;u.yaxis===a._id&amp;&amp;(&quot;h&quot;===u.orientation?l.push(s[r]):c.push(s[r]))}n(t,i,a,c),n(t,a,i,l)}},{&quot;../../constants/numerical&quot;:721,&quot;../../plots/cartesian/axes&quot;:789,&quot;../../registry&quot;:873,&quot;./sieve.js&quot;:893,&quot;fast-isnumeric&quot;:140}],893:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r){this.traces=t,this.separateNegativeValues=e,this.dontMergeOverlappingData=r;for(var n=1/0,o=[],s=0;s&lt;t.length;s++){for(var l=t[s],c=0;c&lt;l.length;c++){var u=l[c];u.p!==a&amp;&amp;o.push(u.p)}l[0]&amp;&amp;l[0].width1&amp;&amp;(n=Math.min(l[0].width1,n))}this.positions=o;var f=i.distinctVals(o);this.distinctPositions=f.vals,1===f.vals.length&amp;&amp;n!==1/0?this.minDiff=n:this.minDiff=Math.min(f.minDiff,n),this.binWidth=this.minDiff,this.bins={}}e.exports=n;var i=t(&quot;../../lib&quot;),a=t(&quot;../../constants/numerical&quot;).BADNUM;n.prototype.put=function(t,e){var r=this.getLabel(t,e),n=this.bins[r]||0;return this.bins[r]=n+e,n},n.prototype.get=function(t,e){var r=this.getLabel(t,e);return this.bins[r]||0},n.prototype.getLabel=function(t,e){return(e&lt;0&amp;&amp;this.separateNegativeValues?&quot;v&quot;:&quot;^&quot;)+(this.dontMergeOverlappingData?t:Math.round(t/this.binWidth))}},{&quot;../../constants/numerical&quot;:721,&quot;../../lib&quot;:743}],894:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;d3&quot;),i=t(&quot;../../components/drawing&quot;),a=t(&quot;../../components/errorbars&quot;);e.exports=function(t,e){var r=e?e[0].node3:n.select(t).selectAll(&quot;g.trace.bars&quot;),o=r.size(),s=t._fullLayout;r.style(&quot;opacity&quot;,function(t){return t[0].trace.opacity}).each(function(t){(&quot;stack&quot;===s.barmode&amp;&amp;o&gt;1||0===s.bargap&amp;&amp;0===s.bargroupgap&amp;&amp;!t[0].trace.marker.line.width)&amp;&amp;n.select(this).attr(&quot;shape-rendering&quot;,&quot;crispEdges&quot;)}),r.selectAll(&quot;g.points&quot;).each(function(e){var r=n.select(this),a=r.selectAll(&quot;path&quot;),o=r.selectAll(&quot;text&quot;),s=e[0].trace;i.pointStyle(a,s,t),i.selectedPointStyle(a,s),o.each(function(t){function e(e){var n=r[e];return Array.isArray(n)?n[t.i]:n}var r,a=n.select(this);a.classed(&quot;bartext-inside&quot;)?r=s.insidetextfont:a.classed(&quot;bartext-outside&quot;)&amp;&amp;(r=s.outsidetextfont),r||(r=s.textfont),i.font(a,e(&quot;family&quot;),e(&quot;size&quot;),e(&quot;color&quot;))}),i.selectedTextStyle(o,s)}),a.style(r)}},{&quot;../../components/drawing&quot;:643,&quot;../../components/errorbars&quot;:649,d3:128}],895:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../components/color&quot;),i=t(&quot;../../components/colorscale/has_colorscale&quot;),a=t(&quot;../../components/colorscale/defaults&quot;);e.exports=function(t,e,r,o,s){r(&quot;marker.color&quot;,o),i(t,&quot;marker&quot;)&amp;&amp;a(t,e,s,r,{prefix:&quot;marker.&quot;,cLetter:&quot;c&quot;}),r(&quot;marker.line.color&quot;,n.defaultLine),i(t,&quot;marker.line&quot;)&amp;&amp;a(t,e,s,r,{prefix:&quot;marker.line.&quot;,cLetter:&quot;c&quot;}),r(&quot;marker.line.width&quot;),r(&quot;marker.opacity&quot;),r(&quot;selected.marker.color&quot;),r(&quot;unselected.marker.color&quot;)}},{&quot;../../components/color&quot;:618,&quot;../../components/colorscale/defaults&quot;:628,&quot;../../components/colorscale/has_colorscale&quot;:632}],896:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../scatter/attributes&quot;),i=t(&quot;../../components/color/attributes&quot;),a=t(&quot;../../lib/extend&quot;).extendFlat,o=n.marker,s=o.line;e.exports={y:{valType:&quot;data_array&quot;,editType:&quot;calc+clearAxisTypes&quot;},x:{valType:&quot;data_array&quot;,editType:&quot;calc+clearAxisTypes&quot;},x0:{valType:&quot;any&quot;,editType:&quot;calc+clearAxisTypes&quot;},y0:{valType:&quot;any&quot;,editType:&quot;calc+clearAxisTypes&quot;},name:{valType:&quot;string&quot;,editType:&quot;calc+clearAxisTypes&quot;},text:a({},n.text,{}),whiskerwidth:{valType:&quot;number&quot;,min:0,max:1,dflt:.5,editType:&quot;calcIfAutorange&quot;},boxpoints:{valType:&quot;enumerated&quot;,values:[&quot;all&quot;,&quot;outliers&quot;,&quot;suspectedoutliers&quot;,!1],dflt:&quot;outliers&quot;,editType:&quot;calcIfAutorange&quot;},boxmean:{valType:&quot;enumerated&quot;,values:[!0,&quot;sd&quot;,!1],dflt:!1,editType:&quot;calcIfAutorange&quot;},jitter:{valType:&quot;number&quot;,min:0,max:1,editType:&quot;calcIfAutorange&quot;},pointpos:{valType:&quot;number&quot;,min:-2,max:2,editType:&quot;calcIfAutorange&quot;},orientation:{valType:&quot;enumerated&quot;,values:[&quot;v&quot;,&quot;h&quot;],editType:&quot;calc+clearAxisTypes&quot;},marker:{outliercolor:{valType:&quot;color&quot;,dflt:&quot;rgba(0, 0, 0, 0)&quot;,editType:&quot;style&quot;},symbol:a({},o.symbol,{arrayOk:!1,editType:&quot;plot&quot;}),opacity:a({},o.opacity,{arrayOk:!1,dflt:1,editType:&quot;style&quot;}),size:a({},o.size,{arrayOk:!1,editType:&quot;calcIfAutorange&quot;}),color:a({},o.color,{arrayOk:!1,editType:&quot;style&quot;}),line:{color:a({},s.color,{arrayOk:!1,dflt:i.defaultLine,editType:&quot;style&quot;}),width:a({},s.width,{arrayOk:!1,dflt:0,editType:&quot;style&quot;}),outliercolor:{valType:&quot;color&quot;,editType:&quot;style&quot;},outlierwidth:{valType:&quot;number&quot;,min:0,dflt:1,editType:&quot;style&quot;},editType:&quot;style&quot;},editType:&quot;plot&quot;},line:{color:{valType:&quot;color&quot;,editType:&quot;style&quot;},width:{valType:&quot;number&quot;,min:0,dflt:2,editType:&quot;style&quot;},editType:&quot;plot&quot;},fillcolor:n.fillcolor,selected:{marker:n.selected.marker,editType:&quot;style&quot;},unselected:{marker:n.unselected.marker,editType:&quot;style&quot;},hoveron:{valType:&quot;flaglist&quot;,flags:[&quot;boxes&quot;,&quot;points&quot;],dflt:&quot;boxes+points&quot;,editType:&quot;style&quot;}}},{&quot;../../components/color/attributes&quot;:617,&quot;../../lib/extend&quot;:732,&quot;../scatter/attributes&quot;:1066}],897:[function(t,e,r){&quot;use strict&quot;;function n(t,e){return t.v-e.v}function i(t){return t.v}var a=t(&quot;fast-isnumeric&quot;),o=t(&quot;../../lib&quot;),s=o._,l=t(&quot;../../plots/cartesian/axes&quot;);e.exports=function(t,e){var r,c,u,f,h,d=t._fullLayout,p=l.getFromId(t,e.xaxis||&quot;x&quot;),m=l.getFromId(t,e.yaxis||&quot;y&quot;),g=[],v=&quot;violin&quot;===e.type?&quot;_numViolins&quot;:&quot;_numBoxes&quot;;&quot;h&quot;===e.orientation?(c=p,u=&quot;x&quot;,f=m,h=&quot;y&quot;):(c=m,u=&quot;y&quot;,f=p,h=&quot;x&quot;);var y=c.makeCalcdata(e,u),x=function(t,e,r,n,i){if(e in t)return r.makeCalcdata(t,e);var s;s=e+&quot;0&quot;in t?t[e+&quot;0&quot;]:&quot;name&quot;in t&amp;&amp;(&quot;category&quot;===r.type||a(t.name)&amp;&amp;-1!==[&quot;linear&quot;,&quot;log&quot;].indexOf(r.type)||o.isDateTime(t.name)&amp;&amp;&quot;date&quot;===r.type)?t.name:i;var l=r.d2c(s,0,t[e+&quot;calendar&quot;]);return n.map(function(){return l})}(e,h,f,y,d[v]),b=o.distinctVals(x),_=b.vals,w=b.minDiff/2,M=function(t,e){for(var r=t.length,n=new Array(r+1),i=0;i&lt;r;i++)n[i]=t[i]-e;return n[r]=t[r-1]+e,n}(_,w),k=y.length,A=_.length,T=function(t){for(var e=new Array(t),r=0;r&lt;t;r++)e[r]=[];return e}(A);for(r=0;r&lt;k;r++){var S=y[r];if(a(S)){var E=o.findBin(x[r],M);if(E&gt;=0&amp;&amp;E&lt;A){var L={v:S,i:r};!function(t,e,r){var n={text:&quot;tx&quot;};for(var i in n)Array.isArray(e[i])&amp;&amp;(t[n[i]]=e[i][r])}(L,e,r),T[E].push(L)}}}for(r=0;r&lt;A;r++)if(T[r].length&gt;0){var C=T[r].sort(n),z=C.map(i),D=z.length,I={pos:_[r],pts:C};I.min=z[0],I.max=z[D-1],I.mean=o.mean(z,D),I.sd=o.stdev(z,D,I.mean),I.q1=o.interp(z,.25),I.med=o.interp(z,.5),I.q3=o.interp(z,.75),I.lf=Math.min(I.q1,z[Math.min(o.findBin(2.5*I.q1-1.5*I.q3,z,!0)+1,D-1)]),I.uf=Math.max(I.q3,z[Math.max(o.findBin(2.5*I.q3-1.5*I.q1,z),0)]),I.lo=4*I.q1-3*I.q3,I.uo=4*I.q3-3*I.q1,g.push(I)}return function(t,e){if(Array.isArray(e.selectedpoints))for(var r=0;r&lt;t.length;r++){for(var n=t[r].pts||[],i={},a=0;a&lt;n.length;a++)i[n[a].i]=a;o.tagSelected(n,e,i)}}(g,e),l.expand(c,y,{padded:!0}),g.length&gt;0?(g[0].t={num:d[v],dPos:w,posLetter:h,valLetter:u,labels:{med:s(t,&quot;median:&quot;),min:s(t,&quot;min:&quot;),q1:s(t,&quot;q1:&quot;),q3:s(t,&quot;q3:&quot;),max:s(t,&quot;max:&quot;),mean:&quot;sd&quot;===e.boxmean?s(t,&quot;mean \xb1 \u03c3:&quot;):s(t,&quot;mean:&quot;),lf:s(t,&quot;lower fence:&quot;),uf:s(t,&quot;upper fence:&quot;)}},e._fullInput&amp;&amp;&quot;candlestick&quot;===e._fullInput.type&amp;&amp;delete g[0].t.labels,d[v]++,g):[{t:{empty:!0}}]}},{&quot;../../lib&quot;:743,&quot;../../plots/cartesian/axes&quot;:789,&quot;fast-isnumeric&quot;:140}],898:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,n){var i,a=r(&quot;y&quot;),s=r(&quot;x&quot;);if(a&amp;&amp;a.length)i=&quot;v&quot;,s||r(&quot;x0&quot;);else{if(!s||!s.length)return void(e.visible=!1);i=&quot;h&quot;,r(&quot;y0&quot;)}o.getComponentMethod(&quot;calendars&quot;,&quot;handleTraceDefaults&quot;)(t,e,[&quot;x&quot;,&quot;y&quot;],n),r(&quot;orientation&quot;,i)}function i(t,e,r,n){var i=n.prefix,o=a.coerce2(t,e,l,&quot;marker.outliercolor&quot;),s=r(&quot;marker.line.outliercolor&quot;),c=r(i+&quot;points&quot;,o||s?&quot;suspectedoutliers&quot;:void 0);c?(r(&quot;jitter&quot;,&quot;all&quot;===c?.3:0),r(&quot;pointpos&quot;,&quot;all&quot;===c?-1.5:0),r(&quot;marker.symbol&quot;),r(&quot;marker.opacity&quot;),r(&quot;marker.size&quot;),r(&quot;marker.color&quot;,e.line.color),r(&quot;marker.line.color&quot;),r(&quot;marker.line.width&quot;),&quot;suspectedoutliers&quot;===c&amp;&amp;(r(&quot;marker.line.outliercolor&quot;,e.marker.color),r(&quot;marker.line.outlierwidth&quot;)),r(&quot;selected.marker.color&quot;),r(&quot;unselected.marker.color&quot;),r(&quot;selected.marker.size&quot;),r(&quot;unselected.marker.size&quot;),r(&quot;text&quot;)):delete e.marker,r(&quot;hoveron&quot;),a.coerceSelectionMarkerOpacity(e,r)}var a=t(&quot;../../lib&quot;),o=t(&quot;../../registry&quot;),s=t(&quot;../../components/color&quot;),l=t(&quot;./attributes&quot;);e.exports={supplyDefaults:function(t,e,r,o){function c(r,n){return a.coerce(t,e,l,r,n)}n(t,e,c,o),!1!==e.visible&amp;&amp;(c(&quot;line.color&quot;,(t.marker||{}).color||r),c(&quot;line.width&quot;),c(&quot;fillcolor&quot;,s.addOpacity(e.line.color,.5)),c(&quot;whiskerwidth&quot;),c(&quot;boxmean&quot;),i(t,e,c,{prefix:&quot;box&quot;}))},handleSampleDefaults:n,handlePointsDefaults:i}},{&quot;../../components/color&quot;:618,&quot;../../lib&quot;:743,&quot;../../registry&quot;:873,&quot;./attributes&quot;:896}],899:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,n){var i,c,u,f,h,d,p,m,g,v=t.cd,y=t.xa,x=t.ya,b=v[0].trace,_=v[0].t,w=&quot;violin&quot;===b.type,M=[],k=&quot;closest&quot;!==n||w?_.bdPos:2.5*_.bdPos,A=function(t){return t.pos+_.bPos-d};w&amp;&amp;&quot;both&quot;!==b.side?(&quot;positive&quot;===b.side&amp;&amp;(g=function(t){var e=A(t);return s.inbox(e,e+k)}),&quot;negative&quot;===b.side&amp;&amp;(g=function(t){var e=A(t);return s.inbox(e-k,e)})):g=function(t){var e=A(t);return s.inbox(e-k,e+k)};var T;T=w?function(t){return s.inbox(t.span[0]-h,t.span[1]-h)}:function(t){return s.inbox(t.min-h,t.max-h)},&quot;h&quot;===b.orientation?(h=e,d=r,p=T,m=g,i=&quot;y&quot;,u=x,c=&quot;x&quot;,f=y):(h=r,d=e,p=g,m=T,i=&quot;x&quot;,u=y,c=&quot;y&quot;,f=x);var S=s.getDistanceFunction(n,p,m);if(s.getClosest(v,S,t),!1===t.index)return[];var E=v[t.index],L=b.line.color,C=(b.marker||{}).color;l.opacity(L)&amp;&amp;b.line.width?t.color=L:l.opacity(C)&amp;&amp;b.boxpoints?t.color=C:t.color=b.fillcolor,t[i+&quot;0&quot;]=u.c2p(E.pos+_.bPos-_.bdPos,!0),t[i+&quot;1&quot;]=u.c2p(E.pos+_.bPos+_.bdPos,!0),a.tickText(u,u.c2l(E.pos),&quot;hover&quot;).text,t[i+&quot;LabelVal&quot;]=E.pos;var z={},D=[&quot;med&quot;,&quot;min&quot;,&quot;q1&quot;,&quot;q3&quot;,&quot;max&quot;];(b.boxmean||(b.meanline||{}).visible)&amp;&amp;D.push(&quot;mean&quot;),(b.boxpoints||b.points)&amp;&amp;D.push(&quot;lf&quot;,&quot;uf&quot;);for(var I=0;I&lt;D.length;I++){var P=D[I];if(P in E&amp;&amp;!(E[P]in z)){z[E[P]]=!0;var O=E[P],F=f.c2p(O,!0),R=o.extendFlat({},t);R[c+&quot;0&quot;]=R[c+&quot;1&quot;]=F,R[c+&quot;LabelVal&quot;]=O,R[c+&quot;Label&quot;]=(_.labels?_.labels[P]+&quot; &quot;:&quot;&quot;)+a.hoverLabelText(f,O),&quot;mean&quot;===P&amp;&amp;&quot;sd&quot;in E&amp;&amp;&quot;sd&quot;===b.boxmean&amp;&amp;(R[c+&quot;err&quot;]=E.sd),t.name=&quot;&quot;,M.push(R)}}return M}function i(t,e,r){for(var n,i,a,l=t.cd,u=t.xa,f=t.ya,h=l[0].trace,d=u.c2p(e),p=f.c2p(r),m=s.quadrature(function(t){var e=Math.max(3,t.mrc||0);return Math.max(Math.abs(u.c2p(t.x)-d)-e,1-3/e)},function(t){var e=Math.max(3,t.mrc||0);return Math.max(Math.abs(f.c2p(t.y)-p)-e,1-3/e)}),g=!1,v=0;v&lt;l.length;v++){i=l[v];for(var y=0;y&lt;(i.pts||[]).length;y++){var x=m(a=i.pts[y]);x&lt;=t.distance&amp;&amp;(t.distance=x,g=[v,y])}}if(!g)return!1;a=(i=l[g[0]]).pts[g[1]];var b=u.c2p(a.x,!0),_=f.c2p(a.y,!0),w=a.mrc||1;return n=o.extendFlat({},t,{index:a.i,color:(h.marker||{}).color,name:h.name,x0:b-w,x1:b+w,xLabelVal:a.x,y0:_-w,y1:_+w,yLabelVal:a.y}),c(a,h,n),n}var a=t(&quot;../../plots/cartesian/axes&quot;),o=t(&quot;../../lib&quot;),s=t(&quot;../../components/fx&quot;),l=t(&quot;../../components/color&quot;),c=t(&quot;../scatter/fill_hover_text&quot;);e.exports={hoverPoints:function(t,e,r,a){var o,s=t.cd[0].trace.hoveron,l=[];return-1!==s.indexOf(&quot;boxes&quot;)&amp;&amp;(l=l.concat(n(t,e,r,a))),-1!==s.indexOf(&quot;points&quot;)&amp;&amp;(o=i(t,e,r)),&quot;closest&quot;===a?o?[o]:l:o?(l.push(o),l):l},hoverOnBoxes:n,hoverOnPoints:i}},{&quot;../../components/color&quot;:618,&quot;../../components/fx&quot;:660,&quot;../../lib&quot;:743,&quot;../../plots/cartesian/axes&quot;:789,&quot;../scatter/fill_hover_text&quot;:1074}],900:[function(t,e,r){&quot;use strict&quot;;var n={};n.attributes=t(&quot;./attributes&quot;),n.layoutAttributes=t(&quot;./layout_attributes&quot;),n.supplyDefaults=t(&quot;./defaults&quot;).supplyDefaults,n.supplyLayoutDefaults=t(&quot;./layout_defaults&quot;).supplyLayoutDefaults,n.calc=t(&quot;./calc&quot;),n.setPositions=t(&quot;./set_positions&quot;).setPositions,n.plot=t(&quot;./plot&quot;).plot,n.style=t(&quot;./style&quot;),n.hoverPoints=t(&quot;./hover&quot;).hoverPoints,n.selectPoints=t(&quot;./select&quot;),n.moduleType=&quot;trace&quot;,n.name=&quot;box&quot;,n.basePlotModule=t(&quot;../../plots/cartesian&quot;),n.categories=[&quot;cartesian&quot;,&quot;symbols&quot;,&quot;oriented&quot;,&quot;box-violin&quot;,&quot;showLegend&quot;],n.meta={},e.exports=n},{&quot;../../plots/cartesian&quot;:800,&quot;./attributes&quot;:896,&quot;./calc&quot;:897,&quot;./defaults&quot;:898,&quot;./hover&quot;:899,&quot;./layout_attributes&quot;:901,&quot;./layout_defaults&quot;:902,&quot;./plot&quot;:903,&quot;./select&quot;:904,&quot;./set_positions&quot;:905,&quot;./style&quot;:906}],901:[function(t,e,r){&quot;use strict&quot;;e.exports={boxmode:{valType:&quot;enumerated&quot;,values:[&quot;group&quot;,&quot;overlay&quot;],dflt:&quot;overlay&quot;,editType:&quot;calc&quot;},boxgap:{valType:&quot;number&quot;,min:0,max:1,dflt:.3,editType:&quot;calc&quot;},boxgroupgap:{valType:&quot;number&quot;,min:0,max:1,dflt:.3,editType:&quot;calc&quot;}}},{}],902:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,n,i){for(var a,o=0;o&lt;r.length;o++)if(r[o].type===i){a=!0;break}a&amp;&amp;(n(i+&quot;mode&quot;),n(i+&quot;gap&quot;),n(i+&quot;groupgap&quot;))}var i=t(&quot;../../lib&quot;),a=t(&quot;./layout_attributes&quot;);e.exports={supplyLayoutDefaults:function(t,e,r){n(0,0,r,function(r,n){return i.coerce(t,e,a,r,n)},&quot;box&quot;)},_supply:n}},{&quot;../../lib&quot;:743,&quot;./layout_attributes&quot;:901}],903:[function(t,e,r){&quot;use strict&quot;;function n(){var t=u;return u=(69069*u+1)%4294967296,Math.abs(u-t)&lt;429496729?n():u/4294967296}function i(t,e,r,n){var i,a,o=e.pos,c=e.val,u=n.bPos,f=n.wdPos||0,h=n.bPosPxOffset||0,d=r.whiskerwidth||0;Array.isArray(n.bdPos)?(i=n.bdPos[0],a=n.bdPos[1]):(i=n.bdPos,a=n.bdPos),t.selectAll(&quot;path.box&quot;).data(l.identity).enter().append(&quot;path&quot;).style(&quot;vector-effect&quot;,&quot;non-scaling-stroke&quot;).attr(&quot;class&quot;,&quot;box&quot;).each(function(t){var e=t.pos,n=o.c2p(e+u,!0)+h,p=o.c2p(e+u-i,!0)+h,m=o.c2p(e+u+a,!0)+h,g=o.c2p(e+u-f,!0)+h,v=o.c2p(e+u+f,!0)+h,y=c.c2p(t.q1,!0),x=c.c2p(t.q3,!0),b=l.constrain(c.c2p(t.med,!0),Math.min(y,x)+1,Math.max(y,x)-1),_=c.c2p(!1===r.boxpoints?t.min:t.lf,!0),w=c.c2p(!1===r.boxpoints?t.max:t.uf,!0);&quot;h&quot;===r.orientation?s.select(this).attr(&quot;d&quot;,&quot;M&quot;+b+&quot;,&quot;+p+&quot;V&quot;+m+&quot;M&quot;+y+&quot;,&quot;+p+&quot;V&quot;+m+&quot;H&quot;+x+&quot;V&quot;+p+&quot;ZM&quot;+y+&quot;,&quot;+n+&quot;H&quot;+_+&quot;M&quot;+x+&quot;,&quot;+n+&quot;H&quot;+w+(0===d?&quot;&quot;:&quot;M&quot;+_+&quot;,&quot;+g+&quot;V&quot;+v+&quot;M&quot;+w+&quot;,&quot;+g+&quot;V&quot;+v)):s.select(this).attr(&quot;d&quot;,&quot;M&quot;+p+&quot;,&quot;+b+&quot;H&quot;+m+&quot;M&quot;+p+&quot;,&quot;+y+&quot;H&quot;+m+&quot;V&quot;+x+&quot;H&quot;+p+&quot;ZM&quot;+n+&quot;,&quot;+y+&quot;V&quot;+_+&quot;M&quot;+n+&quot;,&quot;+x+&quot;V&quot;+w+(0===d?&quot;&quot;:&quot;M&quot;+g+&quot;,&quot;+_+&quot;H&quot;+v+&quot;M&quot;+g+&quot;,&quot;+w+&quot;H&quot;+v))})}function a(t,e,r,i){var a=e.x,o=e.y,s=i.bdPos,d=i.bPos,p=r.boxpoints||r.points;u=2e9,t.selectAll(&quot;g.points&quot;).data(function(t){return t.forEach(function(t){t.t=i,t.trace=r}),t}).enter().append(&quot;g&quot;).attr(&quot;class&quot;,&quot;points&quot;).selectAll(&quot;path&quot;).data(function(t){var e,i,a=&quot;all&quot;===p?t.pts:t.pts.filter(function(e){return e.v&lt;t.lf||e.v&gt;t.uf}),o=Math.max((t.max-t.min)/10,t.q3-t.q1),c=1e-9*o,u=o*h,m=[],g=0;if(r.jitter){if(0===o)for(g=1,m=new Array(a.length),e=0;e&lt;a.length;e++)m[e]=1;else for(e=0;e&lt;a.length;e++){var v=Math.max(0,e-f),y=a[v].v,x=Math.min(a.length-1,e+f),b=a[x].v;&quot;all&quot;!==p&amp;&amp;(a[e].v&lt;t.lf?b=Math.min(b,t.lf):y=Math.max(y,t.uf));var _=Math.sqrt(u*(x-v)/(b-y+c))||0;_=l.constrain(Math.abs(_),0,1),m.push(_),g=Math.max(_,g)}i=2*r.jitter/g}for(e=0;e&lt;a.length;e++){var w=a[e],M=w.v,k=r.jitter?i*m[e]*(n()-.5):0,A=t.pos+d+s*(r.pointpos+k);&quot;h&quot;===r.orientation?(w.y=A,w.x=M):(w.x=A,w.y=M),&quot;suspectedoutliers&quot;===p&amp;&amp;M&lt;t.uo&amp;&amp;M&gt;t.lo&amp;&amp;(w.so=!0)}return a}).enter().append(&quot;path&quot;).classed(&quot;point&quot;,!0).call(c.translatePoints,a,o)}function o(t,e,r,n){var i,a,o=e.pos,c=e.val,u=n.bPos,f=n.bPosPxOffset||0;Array.isArray(n.bdPos)?(i=n.bdPos[0],a=n.bdPos[1]):(i=n.bdPos,a=n.bdPos),t.selectAll(&quot;path.mean&quot;).data(l.identity).enter().append(&quot;path&quot;).attr(&quot;class&quot;,&quot;mean&quot;).style({fill:&quot;none&quot;,&quot;vector-effect&quot;:&quot;non-scaling-stroke&quot;}).each(function(t){var e=o.c2p(t.pos+u,!0)+f,n=o.c2p(t.pos+u-i,!0)+f,l=o.c2p(t.pos+u+a,!0)+f,h=c.c2p(t.mean,!0),d=c.c2p(t.mean-t.sd,!0),p=c.c2p(t.mean+t.sd,!0);&quot;h&quot;===r.orientation?s.select(this).attr(&quot;d&quot;,&quot;M&quot;+h+&quot;,&quot;+n+&quot;V&quot;+l+(&quot;sd&quot;===r.boxmean?&quot;m0,0L&quot;+d+&quot;,&quot;+e+&quot;L&quot;+h+&quot;,&quot;+n+&quot;L&quot;+p+&quot;,&quot;+e+&quot;Z&quot;:&quot;&quot;)):s.select(this).attr(&quot;d&quot;,&quot;M&quot;+n+&quot;,&quot;+h+&quot;H&quot;+l+(&quot;sd&quot;===r.boxmean?&quot;m0,0L&quot;+e+&quot;,&quot;+d+&quot;L&quot;+n+&quot;,&quot;+h+&quot;L&quot;+e+&quot;,&quot;+p+&quot;Z&quot;:&quot;&quot;))})}var s=t(&quot;d3&quot;),l=t(&quot;../../lib&quot;),c=t(&quot;../../components/drawing&quot;),u=2e9,f=5,h=.01;e.exports={plot:function(t,e,r){var n=t._fullLayout,l=e.xaxis,c=e.yaxis;e.plot.select(&quot;.boxlayer&quot;).selectAll(&quot;g.trace.boxes&quot;).data(r).enter().append(&quot;g&quot;).attr(&quot;class&quot;,&quot;trace boxes&quot;).each(function(t){var e=t[0],r=e.t,u=e.trace,f=e.node3=s.select(this),h=n._numBoxes,d=&quot;group&quot;===n.boxmode&amp;&amp;h&gt;1,p=r.dPos*(1-n.boxgap)*(1-n.boxgroupgap)/(d?h:1),m=d?2*r.dPos*((r.num+.5)/h-.5)*(1-n.boxgap):0,g=p*u.whiskerwidth;if(!0!==u.visible||r.empty)s.select(this).remove();else{var v,y;&quot;h&quot;===u.orientation?(v=c,y=l):(v=l,y=c),r.bPos=m,r.bdPos=p,r.wdPos=g,i(f,{pos:v,val:y},u,r),u.boxpoints&amp;&amp;a(f,{x:l,y:c},u,r),u.boxmean&amp;&amp;o(f,{pos:v,val:y},u,r)}})},plotBoxAndWhiskers:i,plotPoints:a,plotBoxMean:o}},{&quot;../../components/drawing&quot;:643,&quot;../../lib&quot;:743,d3:128}],904:[function(t,e,r){&quot;use strict&quot;;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&lt;i.length;r++)for(n=0;n&lt;(i[r].pts||[]).length;n++)i[r].pts[n].selected=0;else for(r=0;r&lt;i.length;r++)for(n=0;n&lt;(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])?(s.push({pointNumber:l.i,x:a.c2d(l.x),y:o.c2d(l.y)}),l.selected=1):l.selected=0}return s}},{}],905:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,n,o){var s,l,c,u=e.calcdata,f=e._fullLayout,h=[],d=&quot;violin&quot;===t?&quot;_numViolins&quot;:&quot;_numBoxes&quot;;for(s=0;s&lt;r.length;s++)for(c=u[r[s]],l=0;l&lt;c.length;l++)h.push(c[l].pos);if(h.length){var p=a.distinctVals(h),m=p.minDiff/2;for(h.length===p.vals.length&amp;&amp;(f[d]=1),i.minDtick(n,p.minDiff,p.vals[0],!0),s=0;s&lt;r.length;s++)(c=u[r[s]])[0].t.dPos=m;var g=(1-f[t+&quot;gap&quot;])*(1-f[t+&quot;groupgap&quot;])*m/f[d];i.expand(n,p.vals,{vpadminus:m+o[0]*g,vpadplus:m+o[1]*g})}}var i=t(&quot;../../plots/cartesian/axes&quot;),a=t(&quot;../../lib&quot;),o=[&quot;v&quot;,&quot;h&quot;];e.exports={setPositions:function(t,e){for(var r=t.calcdata,i=e.xaxis,a=e.yaxis,s=0;s&lt;o.length;s++){for(var l=o[s],c=&quot;h&quot;===l?a:i,u=[],f=0,h=0,d=0;d&lt;r.length;d++){var p=r[d],m=p[0].t,g=p[0].trace;!0!==g.visible||&quot;box&quot;!==g.type||m.empty||g.orientation!==l||g.xaxis!==i._id||g.yaxis!==a._id||(u.push(d),!1!==g.boxpoints&amp;&amp;(f=Math.max(f,g.jitter-g.pointpos-1),h=Math.max(h,g.jitter+g.pointpos-1)))}n(&quot;box&quot;,t,u,c,[f,h])}},setPositionOffset:n}},{&quot;../../lib&quot;:743,&quot;../../plots/cartesian/axes&quot;:789}],906:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;d3&quot;),i=t(&quot;../../components/color&quot;),a=t(&quot;../../components/drawing&quot;);e.exports=function(t,e){var r=e?e[0].node3:n.select(t).selectAll(&quot;g.trace.boxes&quot;);r.style(&quot;opacity&quot;,function(t){return t[0].trace.opacity}),r.each(function(e){var r=n.select(this),o=e[0].trace,s=o.line.width;r.selectAll(&quot;path.box&quot;).style(&quot;stroke-width&quot;,s+&quot;px&quot;).call(i.stroke,o.line.color).call(i.fill,o.fillcolor),r.selectAll(&quot;path.mean&quot;).style({&quot;stroke-width&quot;:s,&quot;stroke-dasharray&quot;:2*s+&quot;px,&quot;+s+&quot;px&quot;}).call(i.stroke,o.line.color);var l=r.selectAll(&quot;path.point&quot;);a.pointStyle(l,o,t),a.selectedPointStyle(l,o)})}},{&quot;../../components/color&quot;:618,&quot;../../components/drawing&quot;:643,d3:128}],907:[function(t,e,r){&quot;use strict&quot;;function n(t){return{name:a.increasing.name,showlegend:a.increasing.showlegend,line:{color:i({},o.line.color,{dflt:t}),width:o.line.width,editType:&quot;style&quot;},fillcolor:o.fillcolor,editType:&quot;style&quot;}}var i=t(&quot;../../lib&quot;).extendFlat,a=t(&quot;../ohlc/attributes&quot;),o=t(&quot;../box/attributes&quot;);e.exports={x:a.x,open:a.open,high:a.high,low:a.low,close:a.close,line:{width:i({},o.line.width,{}),editType:&quot;style&quot;},increasing:n(a.increasing.line.color.dflt),decreasing:n(a.decreasing.line.color.dflt),text:a.text,whiskerwidth:i({},o.whiskerwidth,{dflt:0})}},{&quot;../../lib&quot;:743,&quot;../box/attributes&quot;:896,&quot;../ohlc/attributes&quot;:1024}],908:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,n){o(t,e,r,n),r(n+&quot;.line.color&quot;),r(n+&quot;.line.width&quot;,e.line.width),r(n+&quot;.fillcolor&quot;)}var i=t(&quot;../../lib&quot;),a=t(&quot;../ohlc/ohlc_defaults&quot;),o=t(&quot;../ohlc/direction_defaults&quot;),s=t(&quot;../ohlc/helpers&quot;),l=t(&quot;./attributes&quot;);e.exports=function(t,e,r,o){function c(r,n){return i.coerce(t,e,l,r,n)}s.pushDummyTransformOpts(t,e);0!==a(t,e,c,o)?(c(&quot;line.width&quot;),n(t,e,c,&quot;increasing&quot;),n(t,e,c,&quot;decreasing&quot;),c(&quot;text&quot;),c(&quot;whiskerwidth&quot;)):e.visible=!1}},{&quot;../../lib&quot;:743,&quot;../ohlc/direction_defaults&quot;:1026,&quot;../ohlc/helpers&quot;:1027,&quot;../ohlc/ohlc_defaults&quot;:1029,&quot;./attributes&quot;:907}],909:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../plot_api/register&quot;);e.exports={moduleType:&quot;trace&quot;,name:&quot;candlestick&quot;,basePlotModule:t(&quot;../../plots/cartesian&quot;),categories:[&quot;cartesian&quot;,&quot;showLegend&quot;,&quot;candlestick&quot;],meta:{},attributes:t(&quot;./attributes&quot;),supplyDefaults:t(&quot;./defaults&quot;)},n(t(&quot;../box&quot;)),n(t(&quot;./transform&quot;))},{&quot;../../plot_api/register&quot;:779,&quot;../../plots/cartesian&quot;:800,&quot;../box&quot;:900,&quot;./attributes&quot;:907,&quot;./defaults&quot;:908,&quot;./transform&quot;:910}],910:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r){var n={type:&quot;box&quot;,boxpoints:!1,visible:t.visible,hoverinfo:t.hoverinfo,opacity:t.opacity,xaxis:t.xaxis,yaxis:t.yaxis,transforms:o.makeTransform(t,e,r)},i=t[r];return i&amp;&amp;a.extendFlat(n,{x:t.x||[0],xcalendar:t.xcalendar,y:[].concat(t.low).concat(t.high),whiskerwidth:t.whiskerwidth,text:t.text,name:i.name,showlegend:i.showlegend,line:i.line,fillcolor:i.fillcolor}),n}var i=t(&quot;fast-isnumeric&quot;),a=t(&quot;../../lib&quot;),o=t(&quot;../ohlc/helpers&quot;);r.moduleType=&quot;transform&quot;,r.name=&quot;candlestick&quot;,r.attributes={},r.supplyDefaults=function(t,e,r,n){return o.clearEphemeralTransformOpts(n),o.copyOHLC(t,e),t},r.transform=function(t,e){for(var r=[],i=0;i&lt;t.length;i++){var a=t[i];&quot;candlestick&quot;===a.type?r.push(n(a,e,&quot;increasing&quot;),n(a,e,&quot;decreasing&quot;)):r.push(a)}return o.addRangeSlider(r,e.layout),r},r.calcTransform=function(t,e,r){for(var n=r.direction,a=o.getFilterFn(n),s=e.open,l=e.high,c=e.low,u=e.close,f=s.length,h=[],d=[],p=e._fullInput.x?function(t){var r=e.x[t];h.push(r,r,r,r,r,r)}:function(t){h.push(t,t,t,t,t,t)},m=function(t,e,r,n){d.push(r,t,n,n,n,e)},g=0;g&lt;f;g++)a(s[g],u[g])&amp;&amp;i(l[g])&amp;&amp;i(c[g])&amp;&amp;(p(g),m(s[g],l[g],c[g],u[g]));e.x=h,e.y=d}},{&quot;../../lib&quot;:743,&quot;../ohlc/helpers&quot;:1027,&quot;fast-isnumeric&quot;:140}],911:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;./axis_defaults&quot;);e.exports=function(t,e,r,i,a){i(&quot;a&quot;)||(i(&quot;da&quot;),i(&quot;a0&quot;));i(&quot;b&quot;)||(i(&quot;db&quot;),i(&quot;b0&quot;)),function(t,e,r,i){[&quot;aaxis&quot;,&quot;baxis&quot;].forEach(function(a){var o=a.charAt(0),s=t[a]||{},l={},c={tickfont:&quot;x&quot;,id:o+&quot;axis&quot;,letter:o,font:e.font,name:a,data:t[o],calendar:e.calendar,dfltColor:i,bgColor:r.paper_bgcolor,fullLayout:r};n(s,l,c),l._categories=l._categories||[],e[a]=l,t[a]||&quot;-&quot;===s.type||(t[a]={type:s.type})})}(t,e,r,a)}},{&quot;./axis_defaults&quot;:916}],912:[function(t,e,r){&quot;use strict&quot;;function n(t,e){if(!Array.isArray(t)||e&gt;=10)return null;for(var r=1/0,i=-1/0,a=t.length,o=0;o&lt;a;o++){var s=t[o];if(Array.isArray(s)){var l=n(s,e+1);l&amp;&amp;(r=Math.min(l[0],r),i=Math.max(l[1],i))}else r=Math.min(s,r),i=Math.max(s,i)}return[r,i]}e.exports=function(t){return n(t,0)}},{}],913:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../plots/font_attributes&quot;),i=t(&quot;./axis_attributes&quot;),a=t(&quot;../../components/color/attributes&quot;),o=n({editType:&quot;calc&quot;});o.family.dflt='&quot;Open Sans&quot;, verdana, arial, sans-serif',o.size.dflt=12,o.color.dflt=a.defaultLine,e.exports={carpet:{valType:&quot;string&quot;,editType:&quot;calc&quot;},x:{valType:&quot;data_array&quot;,editType:&quot;calc+clearAxisTypes&quot;},y:{valType:&quot;data_array&quot;,editType:&quot;calc+clearAxisTypes&quot;},a:{valType:&quot;data_array&quot;,editType:&quot;calc&quot;},a0:{valType:&quot;number&quot;,dflt:0,editType:&quot;calc&quot;},da:{valType:&quot;number&quot;,dflt:1,editType:&quot;calc&quot;},b:{valType:&quot;data_array&quot;,editType:&quot;calc&quot;},b0:{valType:&quot;number&quot;,dflt:0,editType:&quot;calc&quot;},db:{valType:&quot;number&quot;,dflt:1,editType:&quot;calc&quot;},cheaterslope:{valType:&quot;number&quot;,dflt:1,editType:&quot;calc&quot;},aaxis:i,baxis:i,font:o,color:{valType:&quot;color&quot;,dflt:a.defaultLine,editType:&quot;plot&quot;}}},{&quot;../../components/color/attributes&quot;:617,&quot;../../plots/font_attributes&quot;:816,&quot;./axis_attributes&quot;:915}],914:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t,e,r,n){var i,a,o,s,l,c,u,f,h,d,p,m,g,v=Array.isArray(r)?&quot;a&quot;:&quot;b&quot;,y=(&quot;a&quot;===v?t.aaxis:t.baxis).smoothing,x=&quot;a&quot;===v?t.a2i:t.b2j,b=&quot;a&quot;===v?r:n,_=&quot;a&quot;===v?n:r,w=&quot;a&quot;===v?e.a.length:e.b.length,M=&quot;a&quot;===v?e.b.length:e.a.length,k=Math.floor(&quot;a&quot;===v?t.b2j(_):t.a2i(_)),A=&quot;a&quot;===v?function(e){return t.evalxy([],e,k)}:function(e){return t.evalxy([],k,e)};y&amp;&amp;(o=Math.max(0,Math.min(M-2,k)),s=k-o,a=&quot;a&quot;===v?function(e,r){return t.dxydi([],e,o,r,s)}:function(e,r){return t.dxydj([],o,e,s,r)});var T=x(b[0]),S=x(b[1]),E=T&lt;S?1:-1,L=1e-8*(S-T),C=E&gt;0?Math.floor:Math.ceil,z=E&gt;0?Math.ceil:Math.floor,D=E&gt;0?Math.min:Math.max,I=E&gt;0?Math.max:Math.min,P=C(T+L),O=z(S-L),F=[[u=A(T)]];for(i=P;i*E&lt;O*E;i+=E)l=[],p=I(T,i),g=(m=D(S,i+E))-p,c=Math.max(0,Math.min(w-2,Math.floor(.5*(p+m)))),f=A(m),y&amp;&amp;(h=a(c,p-c),d=a(c,m-c),l.push([u[0]+h[0]/3*g,u[1]+h[1]/3*g]),l.push([f[0]-d[0]/3*g,f[1]-d[1]/3*g])),l.push(f),F.push(l),u=f;return F}},{}],915:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../plots/font_attributes&quot;),i=t(&quot;../../components/color/attributes&quot;),a=t(&quot;../../plots/cartesian/layout_attributes&quot;),o=t(&quot;../../plot_api/edit_types&quot;).overrideAll;e.exports={color:{valType:&quot;color&quot;,editType:&quot;calc&quot;},smoothing:{valType:&quot;number&quot;,dflt:1,min:0,max:1.3,editType:&quot;calc&quot;},title:{valType:&quot;string&quot;,editType:&quot;calc&quot;},titlefont:n({editType:&quot;calc&quot;}),titleoffset:{valType:&quot;number&quot;,dflt:10,editType:&quot;calc&quot;},type:{valType:&quot;enumerated&quot;,values:[&quot;-&quot;,&quot;linear&quot;,&quot;date&quot;,&quot;category&quot;],dflt:&quot;-&quot;,editType:&quot;calc&quot;},autorange:{valType:&quot;enumerated&quot;,values:[!0,!1,&quot;reversed&quot;],dflt:!0,editType:&quot;calc&quot;},rangemode:{valType:&quot;enumerated&quot;,values:[&quot;normal&quot;,&quot;tozero&quot;,&quot;nonnegative&quot;],dflt:&quot;normal&quot;,editType:&quot;calc&quot;},range:{valType:&quot;info_array&quot;,editType:&quot;calc&quot;,items:[{valType:&quot;any&quot;,editType:&quot;calc&quot;},{valType:&quot;any&quot;,editType:&quot;calc&quot;}]},fixedrange:{valType:&quot;boolean&quot;,dflt:!1,editType:&quot;calc&quot;},cheatertype:{valType:&quot;enumerated&quot;,values:[&quot;index&quot;,&quot;value&quot;],dflt:&quot;value&quot;,editType:&quot;calc&quot;},tickmode:{valType:&quot;enumerated&quot;,values:[&quot;linear&quot;,&quot;array&quot;],dflt:&quot;array&quot;,editType:&quot;calc&quot;},nticks:{valType:&quot;integer&quot;,min:0,dflt:0,editType:&quot;calc&quot;},tickvals:{valType:&quot;data_array&quot;,editType:&quot;calc&quot;},ticktext:{valType:&quot;data_array&quot;,editType:&quot;calc&quot;},showticklabels:{valType:&quot;enumerated&quot;,values:[&quot;start&quot;,&quot;end&quot;,&quot;both&quot;,&quot;none&quot;],dflt:&quot;start&quot;,editType:&quot;calc&quot;},tickfont:n({editType:&quot;calc&quot;}),tickangle:{valType:&quot;angle&quot;,dflt:&quot;auto&quot;,editType:&quot;calc&quot;},tickprefix:{valType:&quot;string&quot;,dflt:&quot;&quot;,editType:&quot;calc&quot;},showtickprefix:{valType:&quot;enumerated&quot;,values:[&quot;all&quot;,&quot;first&quot;,&quot;last&quot;,&quot;none&quot;],dflt:&quot;all&quot;,editType:&quot;calc&quot;},ticksuffix:{valType:&quot;string&quot;,dflt:&quot;&quot;,editType:&quot;calc&quot;},showticksuffix:{valType:&quot;enumerated&quot;,values:[&quot;all&quot;,&quot;first&quot;,&quot;last&quot;,&quot;none&quot;],dflt:&quot;all&quot;,editType:&quot;calc&quot;},showexponent:{valType:&quot;enumerated&quot;,values:[&quot;all&quot;,&quot;first&quot;,&quot;last&quot;,&quot;none&quot;],dflt:&quot;all&quot;,editType:&quot;calc&quot;},exponentformat:{valType:&quot;enumerated&quot;,values:[&quot;none&quot;,&quot;e&quot;,&quot;E&quot;,&quot;power&quot;,&quot;SI&quot;,&quot;B&quot;],dflt:&quot;B&quot;,editType:&quot;calc&quot;},separatethousands:{valType:&quot;boolean&quot;,dflt:!1,editType:&quot;calc&quot;},tickformat:{valType:&quot;string&quot;,dflt:&quot;&quot;,editType:&quot;calc&quot;},tickformatstops:o(a.tickformatstops,&quot;calc&quot;,&quot;from-root&quot;),categoryorder:{valType:&quot;enumerated&quot;,values:[&quot;trace&quot;,&quot;category ascending&quot;,&quot;category descending&quot;,&quot;array&quot;],dflt:&quot;trace&quot;,editType:&quot;calc&quot;},categoryarray:{valType:&quot;data_array&quot;,editType:&quot;calc&quot;},labelpadding:{valType:&quot;integer&quot;,dflt:10,editType:&quot;calc&quot;},labelprefix:{valType:&quot;string&quot;,editType:&quot;calc&quot;},labelsuffix:{valType:&quot;string&quot;,dflt:&quot;&quot;,editType:&quot;calc&quot;},showline:{valType:&quot;boolean&quot;,dflt:!1,editType:&quot;calc&quot;},linecolor:{valType:&quot;color&quot;,dflt:i.defaultLine,editType:&quot;calc&quot;},linewidth:{valType:&quot;number&quot;,min:0,dflt:1,editType:&quot;calc&quot;},gridcolor:{valType:&quot;color&quot;,editType:&quot;calc&quot;},gridwidth:{valType:&quot;number&quot;,min:0,dflt:1,editType:&quot;calc&quot;},showgrid:{valType:&quot;boolean&quot;,dflt:!0,editType:&quot;calc&quot;},minorgridcount:{valType:&quot;integer&quot;,min:0,dflt:0,editType:&quot;calc&quot;},minorgridwidth:{valType:&quot;number&quot;,min:0,dflt:1,editType:&quot;calc&quot;},minorgridcolor:{valType:&quot;color&quot;,dflt:i.lightLine,editType:&quot;calc&quot;},startline:{valType:&quot;boolean&quot;,editType:&quot;calc&quot;},startlinecolor:{valType:&quot;color&quot;,editType:&quot;calc&quot;},startlinewidth:{valType:&quot;number&quot;,dflt:1,editType:&quot;calc&quot;},endline:{valType:&quot;boolean&quot;,editType:&quot;calc&quot;},endlinewidth:{valType:&quot;number&quot;,dflt:1,editType:&quot;calc&quot;},endlinecolor:{valType:&quot;color&quot;,editType:&quot;calc&quot;},tick0:{valType:&quot;number&quot;,min:0,dflt:0,editType:&quot;calc&quot;},dtick:{valType:&quot;number&quot;,min:0,dflt:1,editType:&quot;calc&quot;},arraytick0:{valType:&quot;integer&quot;,min:0,dflt:0,editType:&quot;calc&quot;},arraydtick:{valType:&quot;integer&quot;,min:1,dflt:1,editType:&quot;calc&quot;},editType:&quot;calc&quot;}},{&quot;../../components/color/attributes&quot;:617,&quot;../../plot_api/edit_types&quot;:773,&quot;../../plots/cartesian/layout_attributes&quot;:801,&quot;../../plots/font_attributes&quot;:816}],916:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;./attributes&quot;),i=t(&quot;../../components/color&quot;).addOpacity,a=t(&quot;../../registry&quot;),o=t(&quot;../../lib&quot;),s=t(&quot;../../plots/cartesian/tick_value_defaults&quot;),l=t(&quot;../../plots/cartesian/tick_label_defaults&quot;),c=t(&quot;../../plots/cartesian/category_order_defaults&quot;),u=t(&quot;../../plots/cartesian/set_convert&quot;),f=t(&quot;../../plots/cartesian/ordered_categories&quot;),h=t(&quot;../../plots/cartesian/axis_autotype&quot;);e.exports=function(t,e,r){function d(r,n){return o.coerce(t,e,v,r,n)}function p(r,n){return o.coerce2(t,e,v,r,n)}var m=r.letter,g=r.font||{},v=n[m+&quot;axis&quot;];r.noHover=!0,r.name&amp;&amp;(e._name=r.name,e._id=r.name);var y=d(&quot;type&quot;);if(&quot;-&quot;===y&amp;&amp;(r.data&amp;&amp;function(t,e){if(&quot;-&quot;===t.type){var r=t[t._id.charAt(0)+&quot;calendar&quot;];t.type=h(e,r)}}(e,r.data),&quot;-&quot;===e.type?e.type=&quot;linear&quot;:y=t.type=e.type),d(&quot;smoothing&quot;),d(&quot;cheatertype&quot;),d(&quot;showticklabels&quot;),d(&quot;labelprefix&quot;,m+&quot; = &quot;),d(&quot;labelsuffix&quot;),d(&quot;showtickprefix&quot;),d(&quot;showticksuffix&quot;),d(&quot;separatethousands&quot;),d(&quot;tickformat&quot;),d(&quot;exponentformat&quot;),d(&quot;showexponent&quot;),d(&quot;categoryorder&quot;),d(&quot;tickmode&quot;),d(&quot;tickvals&quot;),d(&quot;ticktext&quot;),d(&quot;tick0&quot;),d(&quot;dtick&quot;),&quot;array&quot;===e.tickmode&amp;&amp;(d(&quot;arraytick0&quot;),d(&quot;arraydtick&quot;)),d(&quot;labelpadding&quot;),e._hovertitle=m,&quot;date&quot;===y){a.getComponentMethod(&quot;calendars&quot;,&quot;handleDefaults&quot;)(t,e,&quot;calendar&quot;,r.calendar)}u(e,r.fullLayout);var x=d(&quot;color&quot;,r.dfltColor),b=x===t.color?x:g.color;d(&quot;title&quot;),o.coerceFont(d,&quot;titlefont&quot;,{family:g.family,size:Math.round(1.2*g.size),color:b}),d(&quot;titleoffset&quot;),d(&quot;tickangle&quot;);d(&quot;autorange&quot;,!e.isValidRange(t.range))&amp;&amp;d(&quot;rangemode&quot;),d(&quot;range&quot;),e.cleanRange(),d(&quot;fixedrange&quot;),s(t,e,d,y),l(t,e,d,y,r),c(t,e,d);var _=p(&quot;gridcolor&quot;,i(x,.3)),w=p(&quot;gridwidth&quot;),M=d(&quot;showgrid&quot;);M||(delete e.gridcolor,delete e.gridwidth);var k=p(&quot;startlinecolor&quot;,x),A=p(&quot;startlinewidth&quot;,w);d(&quot;startline&quot;,e.showgrid||!!k||!!A)||(delete e.startlinecolor,delete e.startlinewidth);var T=p(&quot;endlinecolor&quot;,x),S=p(&quot;endlinewidth&quot;,w);return d(&quot;endline&quot;,e.showgrid||!!T||!!S)||(delete e.endlinecolor,delete e.endlinewidth),M?(d(&quot;minorgridcount&quot;),d(&quot;minorgridwidth&quot;,w),d(&quot;minorgridcolor&quot;,i(_,.06)),e.minorgridcount||(delete e.minorgridwidth,delete e.minorgridcolor)):(delete e.gridcolor,delete e.gridWidth),e._initialCategories=&quot;category&quot;===y?f(m,e.categoryorder,e.categoryarray,r.data):[],&quot;none&quot;===e.showticklabels&amp;&amp;(delete e.tickfont,delete e.tickangle,delete e.showexponent,delete e.exponentformat,delete e.tickformat,delete e.showticksuffix,delete e.showtickprefix),e.showticksuffix||delete e.ticksuffix,e.showtickprefix||delete e.tickprefix,d(&quot;tickmode&quot;),(!e.title||e.title&amp;&amp;0===e.title.length)&amp;&amp;(delete e.titlefont,delete e.titleoffset),e}},{&quot;../../components/color&quot;:618,&quot;../../lib&quot;:743,&quot;../../plots/cartesian/axis_autotype&quot;:790,&quot;../../plots/cartesian/category_order_defaults&quot;:793,&quot;../../plots/cartesian/ordered_categories&quot;:804,&quot;../../plots/cartesian/set_convert&quot;:808,&quot;../../plots/cartesian/tick_label_defaults&quot;:809,&quot;../../plots/cartesian/tick_value_defaults&quot;:811,&quot;../../registry&quot;:873,&quot;./attributes&quot;:913}],917:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../plots/cartesian/axes&quot;),i=t(&quot;./cheater_basis&quot;),a=t(&quot;./array_minmax&quot;),o=t(&quot;./map_2d_array&quot;),s=t(&quot;./calc_gridlines&quot;),l=t(&quot;./calc_labels&quot;),c=t(&quot;./calc_clippath&quot;),u=t(&quot;../heatmap/clean_2d_array&quot;),f=t(&quot;./smooth_fill_2d_array&quot;);e.exports=function(t,e){var r,h=n.getFromId(t,e.xaxis||&quot;x&quot;),d=n.getFromId(t,e.yaxis||&quot;y&quot;),p=e.aaxis,m=e.baxis,g=e._a=e.a,v=e._b=e.b,y={},x=e.y;if(e._cheater){var b=&quot;index&quot;===p.cheatertype?g.length:g,_=&quot;index&quot;===m.cheatertype?v.length:v;e.x=r=i(b,_,e.cheaterslope)}else r=e.x;e._x=e.x=r=u(r),e._y=e.y=x=u(x),f(r,g,v),f(x,g,v),e.setScale(),y.xp=e.xp=o(e.xp,r,h.c2p),y.yp=e.yp=o(e.yp,x,d.c2p);var w=a(r),M=a(x),k=.5*(w[1]-w[0]),A=.5*(w[1]+w[0]),T=.5*(M[1]-M[0]),S=.5*(M[1]+M[0]);return w=[A-1.3*k,A+1.3*k],M=[S-1.3*T,S+1.3*T],n.expand(h,w,{padded:!0}),n.expand(d,M,{padded:!0}),s(e,y,&quot;a&quot;,&quot;b&quot;),s(e,y,&quot;b&quot;,&quot;a&quot;),l(e,p),l(e,m),y.clipsegments=c(e.xctrl,e.yctrl,p,m),y.x=r,y.y=x,y.a=g,y.b=v,[y]}},{&quot;../../plots/cartesian/axes&quot;:789,&quot;../heatmap/clean_2d_array&quot;:979,&quot;./array_minmax&quot;:912,&quot;./calc_clippath&quot;:918,&quot;./calc_gridlines&quot;:919,&quot;./calc_labels&quot;:920,&quot;./cheater_basis&quot;:922,&quot;./map_2d_array&quot;:934,&quot;./smooth_fill_2d_array&quot;:938}],918:[function(t,e,r){&quot;use strict&quot;;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&lt;=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&lt;=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&gt;=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&gt;=0;i--)a[f-i]=t[i][0],o[f-i]=e[i][0];return s.push({x:a,y:o,bicubic:c}),s}},{}],919:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../plots/cartesian/axes&quot;),i=t(&quot;../../lib/extend&quot;).extendFlat;e.exports=function(t,e,r,a){function o(e){var n,i,o,s,l,c,u,f,h,d,p,g,v=[],y=[],x={};if(&quot;b&quot;===r)for(i=t.b2j(e),o=Math.floor(Math.max(0,Math.min(P-2,i))),s=i-o,x.length=P,x.crossLength=I,x.xy=function(e){return t.evalxy([],e,i)},x.dxy=function(e,r){return t.dxydi([],e,o,r,s)},n=0;n&lt;I;n++)c=Math.min(I-2,n),u=n-c,f=t.evalxy([],n,i),E.smoothing&amp;&amp;n&gt;0&amp;&amp;(h=t.dxydi([],n-1,o,0,s),v.push(l[0]+h[0]/3),y.push(l[1]+h[1]/3),d=t.dxydi([],n-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(n=t.a2i(e),c=Math.floor(Math.max(0,Math.min(I-2,n))),u=n-c,x.length=I,x.crossLength=P,x.xy=function(e){return t.evalxy([],n,e)},x.dxy=function(e,r){return t.dxydj([],c,e,u,r)},i=0;i&lt;P;i++)o=Math.min(P-2,i),s=i-o,f=t.evalxy([],n,i),E.smoothing&amp;&amp;i&gt;0&amp;&amp;(p=t.dxydj([],c,i-1,u,0),v.push(l[0]+p[0]/3),y.push(l[1]+p[1]/3),g=t.dxydj([],c,i-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=r,x.axis=M,x.crossAxis=E,x.value=e,x.constvar=a,x.index=m,x.x=v,x.y=y,x.smoothing=E.smoothing,x}function s(e){var n,i,o,s,l,c=[],u=[],f={};if(f.length=w.length,f.crossLength=S.length,&quot;b&quot;===r)for(o=Math.max(0,Math.min(P-2,e)),l=Math.min(1,Math.max(0,e-o)),f.xy=function(r){return t.evalxy([],r,e)},f.dxy=function(e,r){return t.dxydi([],e,o,r,l)},n=0;n&lt;z;n++)c[n]=L[e*O][n],u[n]=C[e*O][n];else for(i=Math.max(0,Math.min(I-2,e)),s=Math.min(1,Math.max(0,e-i)),f.xy=function(r){return t.evalxy([],e,r)},f.dxy=function(e,r){return t.dxydj([],i,e,s,r)},n=0;n&lt;D;n++)c[n]=L[n][e*O],u[n]=C[n][e*O];return f.axisLetter=r,f.axis=M,f.crossAxis=E,f.value=w[e],f.constvar=a,f.index=e,f.x=c,f.y=u,f.smoothing=E.smoothing,f}var l,c,u,f,h,d,p,m,g,v,y,x,b,_,w=t[r],M=t[r+&quot;axis&quot;],k=M._gridlines=[],A=M._minorgridlines=[],T=M._boundarylines=[],S=t[a],E=t[a+&quot;axis&quot;];if(&quot;array&quot;===M.tickmode)for(M.tickvals=[],l=0;l&lt;w.length;l++)M.tickvals.push(w[l]);var L=t.xctrl,C=t.yctrl,z=L[0].length,D=L.length,I=t.a.length,P=t.b.length;n.calcTicks(M);var O=M.smoothing?3:1;if(&quot;array&quot;===M.tickmode){for(f=5e-15,d=(h=[Math.floor((w.length-1-M.arraytick0)/M.arraydtick*(1+f)),Math.ceil(-M.arraytick0/M.arraydtick/(1+f))].sort(function(t,e){return t-e}))[0]-1,p=h[1]+1,m=d;m&lt;p;m++)(c=M.arraytick0+M.arraydtick*m)&lt;0||c&gt;w.length-1||k.push(i(s(c),{color:M.gridcolor,width:M.gridwidth}));for(m=d;m&lt;p;m++)if(u=M.arraytick0+M.arraydtick*m,y=Math.min(u+M.arraydtick,w.length-1),!(u&lt;0||u&gt;w.length-1||y&lt;0||y&gt;w.length-1))for(x=w[u],b=w[y],l=0;l&lt;M.minorgridcount;l++)(_=y-u)&lt;=0||(v=x+(b-x)*(l+1)/(M.minorgridcount+1)*(M.arraydtick/_))&lt;w[0]||v&gt;w[w.length-1]||A.push(i(o(v),{color:M.minorgridcolor,width:M.minorgridwidth}));M.startline&amp;&amp;T.push(i(s(0),{color:M.startlinecolor,width:M.startlinewidth})),M.endline&amp;&amp;T.push(i(s(w.length-1),{color:M.endlinecolor,width:M.endlinewidth}))}else{for(f=5e-15,d=(h=[Math.floor((w[w.length-1]-M.tick0)/M.dtick*(1+f)),Math.ceil((w[0]-M.tick0)/M.dtick/(1+f))].sort(function(t,e){return t-e}))[0],p=h[1],m=d;m&lt;=p;m++)g=M.tick0+M.dtick*m,k.push(i(o(g),{color:M.gridcolor,width:M.gridwidth}));for(m=d-1;m&lt;p+1;m++)for(g=M.tick0+M.dtick*m,l=0;l&lt;M.minorgridcount;l++)(v=g+M.dtick*(l+1)/(M.minorgridcount+1))&lt;w[0]||v&gt;w[w.length-1]||A.push(i(o(v),{color:M.minorgridcolor,width:M.minorgridwidth}));M.startline&amp;&amp;T.push(i(o(w[0]),{color:M.startlinecolor,width:M.startlinewidth})),M.endline&amp;&amp;T.push(i(o(w[w.length-1]),{color:M.endlinecolor,width:M.endlinewidth}))}}},{&quot;../../lib/extend&quot;:732,&quot;../../plots/cartesian/axes&quot;:789}],920:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../plots/cartesian/axes&quot;),i=t(&quot;../../lib/extend&quot;).extendFlat;e.exports=function(t,e){var r,a,o,s=e._labels=[],l=e._gridlines;for(r=0;r&lt;l.length;r++)o=l[r],-1!==[&quot;start&quot;,&quot;both&quot;].indexOf(e.showticklabels)&amp;&amp;(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!==[&quot;end&quot;,&quot;both&quot;].indexOf(e.showticklabels)&amp;&amp;(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))}},{&quot;../../lib/extend&quot;:732,&quot;../../plots/cartesian/axes&quot;:789}],921:[function(t,e,r){&quot;use strict&quot;;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,d=l*(l+c)*3;return[[e[0]+(h&amp;&amp;u/h),e[1]+(h&amp;&amp;f/h)],[e[0]-(d&amp;&amp;u/d),e[1]-(d&amp;&amp;f/d)]]}},{}],922:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib&quot;).isArray;e.exports=function(t,e,r){var i,a,o,s,l,c=[],u=n(t)?t.length:t,f=n(e)?e.length:e,h=n(t)?t:null,d=n(e)?e:null;h&amp;&amp;(o=(h.length-1)/(h[h.length-1]-h[0])/(u-1)),d&amp;&amp;(s=(d.length-1)/(d[d.length-1]-d[0])/(f-1));var p,m=1/0,g=-1/0;for(a=0;a&lt;f;a++)for(c[a]=[],l=d?(d[a]-d[0])*s:a/(f-1),i=0;i&lt;u;i++)p=(h?(h[i]-h[0])*o:i/(u-1))-l*r,m=Math.min(p,m),g=Math.max(p,g),c[a][i]=p;var v=1/(g-m),y=-m*v;for(a=0;a&lt;f;a++)for(i=0;i&lt;u;i++)c[a][i]=v*c[a][i]+y;return c}},{&quot;../../lib&quot;:743}],923:[function(t,e,r){&quot;use strict&quot;;function n(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]}var i=t(&quot;./catmull_rom&quot;),a=t(&quot;../../lib&quot;).ensureArray;e.exports=function(t,e,r,o,s,l){var c,u,f,h,d,p,m,g,v,y,x=r[0].length,b=r.length,_=s?3*x-2:x,w=l?3*b-2:b;for(t=a(t,w),e=a(e,w),f=0;f&lt;w;f++)t[f]=a(t[f],_),e[f]=a(e[f],_);for(u=0,h=0;u&lt;b;u++,h+=l?3:1)for(d=t[h],p=e[h],m=r[u],g=o[u],c=0,f=0;c&lt;x;c++,f+=s?3:1)d[f]=m[c],p[f]=g[c];if(s)for(u=0,h=0;u&lt;b;u++,h+=l?3:1){for(c=1,f=3;c&lt;x-1;c++,f+=3)v=i([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=n([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=n([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&lt;_;f++){for(h=3;h&lt;w-3;h+=3)v=i([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=n([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=n([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&amp;&amp;l)for(h=1;h&lt;w;h+=(h+1)%3==0?2:1){for(f=3;f&lt;_-3;f+=3)v=i([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=n([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=n([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]}},{&quot;../../lib&quot;:743,&quot;./catmull_rom&quot;:921}],924:[function(t,e,r){&quot;use strict&quot;;e.exports={RELATIVE_CULL_TOLERANCE:1e-6}},{}],925:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t,e,r){return e&amp;&amp;r?function(e,r,n,i,a){e||(e=[]);var o,s,l,c,u,f;r*=3,n*=3;var h=i*i,d=1-i,p=d*d,m=d*i*2,g=-3*p,v=3*(p-m),y=3*(m-h),x=3*h,b=a*a,_=b*a,w=1-a,M=w*w,k=M*w;for(f=0;f&lt;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*(M*a*s+w*b*l)+_*c;return e}:e?function(e,r,n,i,a){e||(e=[]);var o,s,l,c;r*=3;var u=i*i,f=1-i,h=f*f,d=f*i*2,p=-3*h,m=3*(h-d),g=3*(d-u),v=3*u,y=1-a;for(l=0;l&lt;t.length;l++)o=p*(c=t[l])[n][r]+m*c[n][r+1]+g*c[n][r+2]+v*c[n][r+3],s=p*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){e||(e=[]);var o,s,l,c,u,f;n*=3;var h=a*a,d=h*a,p=1-a,m=p*p,g=m*p;for(u=0;u&lt;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+p*h*l)+d*c;return e}:function(e,r,n,i,a){e||(e=[]);var o,s,l,c,u=1-a;for(l=0;l&lt;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}}},{}],926:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t,e,r){return e&amp;&amp;r?function(e,r,n,i,a){e||(e=[]);var o,s,l,c,u,f;r*=3,n*=3;var h=i*i,d=h*i,p=1-i,m=p*p,g=m*p,v=a*a,y=1-a,x=y*y,b=y*a*2,_=-3*x,w=3*(x-b),M=3*(b-v),k=3*v;for(f=0;f&lt;t.length;f++)o=_*(u=t[f])[n][r]+w*u[n+1][r]+M*u[n+2][r]+k*u[n+3][r],s=_*u[n][r+1]+w*u[n+1][r+1]+M*u[n+2][r+1]+k*u[n+3][r+1],l=_*u[n][r+2]+w*u[n+1][r+2]+M*u[n+2][r+2]+k*u[n+3][r+2],c=_*u[n][r+3]+w*u[n+1][r+3]+M*u[n+2][r+3]+k*u[n+3][r+3],e[f]=g*o+3*(m*i*s+p*h*l)+d*c;return e}:e?function(e,r,n,i,a){e||(e=[]);var o,s,l,c,u,f;r*=3;var h=a*a,d=h*a,p=1-a,m=p*p,g=m*p;for(u=0;u&lt;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+p*h*l)+d*c;return e}:r?function(e,r,n,i,a){e||(e=[]);var o,s,l,c;n*=3;var u=1-i,f=a*a,h=1-a,d=h*h,p=h*a*2,m=-3*d,g=3*(d-p),v=3*(p-f),y=3*f;for(l=0;l&lt;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){e||(e=[]);var o,s,l,c,u=1-i;for(l=0;l&lt;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}}},{}],927:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t,e,r,n,i){var a=e-2,o=r-2;return n&amp;&amp;i?function(e,r,n){e||(e=[]);var i,s,l,c,u,f,h=Math.max(0,Math.min(Math.floor(r),a)),d=Math.max(0,Math.min(Math.floor(n),o)),p=Math.max(0,Math.min(1,r-h)),m=Math.max(0,Math.min(1,n-d));h*=3,d*=3;var g=p*p,v=g*p,y=1-p,x=y*y,b=x*y,_=m*m,w=_*m,M=1-m,k=M*M,A=k*M;for(f=0;f&lt;t.length;f++)i=b*(u=t[f])[d][h]+3*(x*p*u[d][h+1]+y*g*u[d][h+2])+v*u[d][h+3],s=b*u[d+1][h]+3*(x*p*u[d+1][h+1]+y*g*u[d+1][h+2])+v*u[d+1][h+3],l=b*u[d+2][h]+3*(x*p*u[d+2][h+1]+y*g*u[d+2][h+2])+v*u[d+2][h+3],c=b*u[d+3][h]+3*(x*p*u[d+3][h+1]+y*g*u[d+3][h+2])+v*u[d+3][h+3],e[f]=A*i+3*(k*m*s+M*_*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)),d=Math.max(0,Math.min(Math.floor(n),o)),p=Math.max(0,Math.min(1,r-h)),m=Math.max(0,Math.min(1,n-d));h*=3;var g=p*p,v=g*p,y=1-p,x=y*y,b=x*y,_=1-m;for(u=0;u&lt;t.length;u++)i=_*(f=t[u])[d][h]+m*f[d+1][h],s=_*f[d][h+1]+m*f[d+1][h+1],l=_*f[d][h+2]+m*f[d+1][h+1],c=_*f[d][h+3]+m*f[d+1][h+1],e[u]=b*i+3*(x*p*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)),d=Math.max(0,Math.min(Math.floor(n),o)),p=Math.max(0,Math.min(1,r-h)),m=Math.max(0,Math.min(1,n-d));d*=3;var g=m*m,v=g*m,y=1-m,x=y*y,b=x*y,_=1-p;for(u=0;u&lt;t.length;u++)i=_*(f=t[u])[d][h]+p*f[d][h+1],s=_*f[d+1][h]+p*f[d+1][h+1],l=_*f[d+2][h]+p*f[d+2][h+1],c=_*f[d+3][h]+p*f[d+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)),d=Math.max(0,Math.min(1,n-f)),p=1-d,m=1-h;for(l=0;l&lt;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]=p*i+d*s;return e}}},{}],928:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib&quot;),i=t(&quot;./xy_defaults&quot;),a=t(&quot;./ab_defaults&quot;),o=t(&quot;./set_convert&quot;),s=t(&quot;./attributes&quot;),l=t(&quot;../../components/color/attributes&quot;);e.exports=function(t,e,r,c){function u(r,i){return n.coerce(t,e,s,r,i)}e._clipPathId=&quot;clip&quot;+e.uid+&quot;carpet&quot;;var f=u(&quot;color&quot;,l.defaultLine);if(n.coerceFont(u,&quot;font&quot;),u(&quot;carpet&quot;),a(t,e,c,u,f),e.a&amp;&amp;e.b){e.a.length&lt;3&amp;&amp;(e.aaxis.smoothing=0),e.b.length&lt;3&amp;&amp;(e.baxis.smoothing=0);var h=i(t,e,u);o(e),e._cheater&amp;&amp;u(&quot;cheaterslope&quot;),h||(e.visible=!1)}else e.visible=!1}},{&quot;../../components/color/attributes&quot;:617,&quot;../../lib&quot;:743,&quot;./ab_defaults&quot;:911,&quot;./attributes&quot;:913,&quot;./set_convert&quot;:937,&quot;./xy_defaults&quot;:939}],929:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t){return Array.isArray(t[0])}},{}],930:[function(t,e,r){&quot;use strict&quot;;var n={};n.attributes=t(&quot;./attributes&quot;),n.supplyDefaults=t(&quot;./defaults&quot;),n.plot=t(&quot;./plot&quot;),n.calc=t(&quot;./calc&quot;),n.animatable=!0,n.moduleType=&quot;trace&quot;,n.name=&quot;carpet&quot;,n.basePlotModule=t(&quot;../../plots/cartesian&quot;),n.categories=[&quot;cartesian&quot;,&quot;carpet&quot;,&quot;carpetAxis&quot;,&quot;notLegendIsolatable&quot;],n.meta={},e.exports=n},{&quot;../../plots/cartesian&quot;:800,&quot;./attributes&quot;:913,&quot;./calc&quot;:917,&quot;./defaults&quot;:928,&quot;./plot&quot;:936}],931:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t,e){for(var r,n=t._fullData.length,i=0;i&lt;n;i++){var a=t._fullData[i];if(a.index!==e.index&amp;&amp;(&quot;carpet&quot;===a.type&amp;&amp;(r||(r=a),a.carpet===e.carpet)))return a}return r}},{}],932:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t,e,r){if(0===t.length)return&quot;&quot;;var n,i=[],a=r?3:1;for(n=0;n&lt;t.length;n+=a)i.push(t[n]+&quot;,&quot;+e[n]),r&amp;&amp;n&lt;t.length-a&amp;&amp;(i.push(&quot;C&quot;),i.push([t[n+1]+&quot;,&quot;+e[n+1],t[n+2]+&quot;,&quot;+e[n+2]+&quot; &quot;].join(&quot; &quot;)));return i.join(r?&quot;&quot;:&quot;L&quot;)}},{}],933:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t,e,r){var n;for(Array.isArray(t)?t.length&gt;e.length&amp;&amp;(t=t.slice(0,e.length)):t=[],n=0;n&lt;e.length;n++)t[n]=r(e[n]);return t}},{}],934:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t,e,r){var n,i;for(Array.isArray(t)?t.length&gt;e.length&amp;&amp;(t=t.slice(0,e.length)):t=[],n=0;n&lt;e.length;n++)for(Array.isArray(t[n])?t[n].length&gt;e.length&amp;&amp;(t[n]=t[n].slice(0,e.length)):t[n]=[],i=0;i&lt;e[0].length;i++)t[n][i]=r(e[n][i]);return t}},{}],935:[function(t,e,r){&quot;use strict&quot;;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 d=180*Math.atan2(s,o)/Math.PI;return d&lt;-90?(d+=180,l=-l):d&gt;90&amp;&amp;(d-=180,l=-l),{angle:d,flip:l,p:t.c2p(n,e,r),offsetMultplier:c}}},{}],936:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r){var n=t.selectAll(e+&quot;.&quot;+r).data([0]);return n.enter().append(e).classed(r,!0),n}function i(t,e,r){var i=r[0],l=r[0].trace,c=e.xaxis,d=e.yaxis,m=l.aaxis,g=l.baxis,v=t._fullLayout,y=e.plot.selectAll(&quot;.carpetlayer&quot;),x=v._clips,b=n(y,&quot;g&quot;,&quot;carpet&quot;+l.uid).classed(&quot;trace&quot;,!0),_=n(b,&quot;g&quot;,&quot;minorlayer&quot;),w=n(b,&quot;g&quot;,&quot;majorlayer&quot;),M=n(b,&quot;g&quot;,&quot;boundarylayer&quot;),k=n(b,&quot;g&quot;,&quot;labellayer&quot;);b.style(&quot;opacity&quot;,l.opacity),a(c,d,w,m,&quot;a&quot;,m._gridlines),a(c,d,w,g,&quot;b&quot;,g._gridlines),a(c,d,_,m,&quot;a&quot;,m._minorgridlines),a(c,d,_,g,&quot;b&quot;,g._minorgridlines),a(c,d,M,m,&quot;a-boundary&quot;,m._boundarylines),a(c,d,M,g,&quot;b-boundary&quot;,g._boundarylines);!function(t,e,r,n,i,a,o,l){var c,u,f,d;c=.5*(r.a[0]+r.a[r.a.length-1]),u=r.b[0],f=r.ab2xy(c,u,!0),d=r.dxyda_rough(c,u),void 0===o.angle&amp;&amp;p.extendFlat(o,h(r,i,a,f,r.dxydb_rough(c,u)));s(t,e,r,n,f,d,r.aaxis,i,a,o,&quot;a-title&quot;),c=r.a[0],u=.5*(r.b[0]+r.b[r.b.length-1]),f=r.ab2xy(c,u,!0),d=r.dxydb_rough(c,u),void 0===l.angle&amp;&amp;p.extendFlat(l,h(r,i,a,f,r.dxyda_rough(c,u)));s(t,e,r,n,f,d,r.baxis,i,a,l,&quot;b-title&quot;)}(t,k,l,i,c,d,o(t,c,d,l,i,k,m._labels,&quot;a-label&quot;),o(t,c,d,l,i,k,g._labels,&quot;b-label&quot;)),function(t,e,r,i,a){var o,s,l,c,h=r.select(&quot;#&quot;+t._clipPathId);h.size()||(h=r.append(&quot;clipPath&quot;).classed(&quot;carpetclip&quot;,!0));var d=n(h,&quot;path&quot;,&quot;carpetboundary&quot;),p=e.clipsegments,m=[];for(c=0;c&lt;p.length;c++)o=p[c],s=u([],o.x,i.c2p),l=u([],o.y,a.c2p),m.push(f(s,l,o.bicubic));var g=&quot;M&quot;+m.join(&quot;L&quot;)+&quot;Z&quot;;h.attr(&quot;id&quot;,t._clipPathId),d.attr(&quot;d&quot;,g)}(l,i,x,c,d)}function a(t,e,r,n,i,a){var o=&quot;const-&quot;+i+&quot;-lines&quot;,s=r.selectAll(&quot;.&quot;+o).data(a);s.enter().append(&quot;path&quot;).classed(o,!0).style(&quot;vector-effect&quot;,&quot;non-scaling-stroke&quot;),s.each(function(r){var n=r,i=n.x,a=n.y,o=u([],i,t.c2p),s=u([],a,e.c2p),c=&quot;M&quot;+f(o,s,n.smoothing);l.select(this).attr(&quot;d&quot;,c).style(&quot;stroke-width&quot;,n.width).style(&quot;stroke&quot;,n.color).style(&quot;fill&quot;,&quot;none&quot;)}),s.exit().remove()}function o(t,e,r,n,i,a,o,s){var u=a.selectAll(&quot;text.&quot;+s).data(o);u.enter().append(&quot;text&quot;).classed(s,!0);var f=0,p={};return u.each(function(i,a){var o;if(&quot;auto&quot;===i.axis.tickangle)o=h(n,e,r,i.xy,i.dxy);else{var s=(i.axis.tickangle+180)*Math.PI/180;o=h(n,e,r,i.xy,[Math.cos(s),Math.sin(s)])}a||(p={angle:o.angle,flip:o.flip});var u=(i.endAnchor?-1:1)*o.flip,m=l.select(this).attr({&quot;text-anchor&quot;:u&gt;0?&quot;start&quot;:&quot;end&quot;,&quot;data-notex&quot;:1}).call(c.font,i.font).text(i.text).call(d.convertToTspans,t),g=c.bBox(this);m.attr(&quot;transform&quot;,&quot;translate(&quot;+o.p[0]+&quot;,&quot;+o.p[1]+&quot;) rotate(&quot;+o.angle+&quot;)translate(&quot;+i.axis.labelpadding*u+&quot;,&quot;+.3*g.height+&quot;)&quot;),f=Math.max(f,g.width+i.axis.labelpadding)}),u.exit().remove(),p.maxExtent=f,p}function s(t,e,r,n,i,a,o,s,u,f,p){var m=[];o.title&amp;&amp;m.push(o.title);var y=e.selectAll(&quot;text.&quot;+p).data(m),x=f.maxExtent;y.enter().append(&quot;text&quot;).classed(p,!0),y.each(function(){var e=h(r,s,u,i,a);-1===[&quot;start&quot;,&quot;both&quot;].indexOf(o.showticklabels)&amp;&amp;(x=0);var n=o.titlefont.size;x+=n+o.titleoffset;var p=(f.angle+(f.flip&lt;0?180:0)-e.angle+450)%360,m=p&gt;90&amp;&amp;p&lt;270,y=l.select(this);y.text(o.title||&quot;&quot;).call(d.convertToTspans,t),m&amp;&amp;(x=(-d.lineCount(y)+v)*g*n-x),y.attr(&quot;transform&quot;,&quot;translate(&quot;+e.p[0]+&quot;,&quot;+e.p[1]+&quot;) rotate(&quot;+e.angle+&quot;) translate(0,&quot;+x+&quot;)&quot;).classed(&quot;user-select-none&quot;,!0).attr(&quot;text-anchor&quot;,&quot;middle&quot;).call(c.font,o.titlefont)}),y.exit().remove()}var l=t(&quot;d3&quot;),c=t(&quot;../../components/drawing&quot;),u=t(&quot;./map_1d_array&quot;),f=t(&quot;./makepath&quot;),h=t(&quot;./orient_text&quot;),d=t(&quot;../../lib/svg_text_utils&quot;),p=t(&quot;../../lib&quot;),m=t(&quot;../../constants/alignment&quot;);e.exports=function(t,e,r){for(var n=0;n&lt;r.length;n++)i(t,e,r[n])};var g=m.LINE_SPACING,v=(1-m.MID_SHIFT)/g+1},{&quot;../../components/drawing&quot;:643,&quot;../../constants/alignment&quot;:716,&quot;../../lib&quot;:743,&quot;../../lib/svg_text_utils&quot;:766,&quot;./makepath&quot;:932,&quot;./map_1d_array&quot;:933,&quot;./orient_text&quot;:935,d3:128}],937:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;./constants&quot;),i=t(&quot;../../lib/search&quot;).findBin,a=t(&quot;./compute_control_points&quot;),o=t(&quot;./create_spline_evaluator&quot;),s=t(&quot;./create_i_derivative_evaluator&quot;),l=t(&quot;./create_j_derivative_evaluator&quot;);e.exports=function(t){var e=t.a,r=t.b,c=t.a.length,u=t.b.length,f=t.aaxis,h=t.baxis,d=e[0],p=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;d-=x,p+=x,m-=b,g+=b,t.isVisible=function(t,e){return t&gt;d&amp;&amp;t&lt;p&amp;&amp;e&gt;m&amp;&amp;e&lt;g},t.isOccluded=function(t,e){return t&lt;d||t&gt;p||e&lt;m||e&gt;g},f.c2p=function(t){return t},h.c2p=function(t){return t},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&amp;&amp;(n&lt;e[0]||n&gt;e[c-1]|i&lt;r[0]||i&gt;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,d,p,m=0,g=0,v=[];n&lt;e[0]?(f=0,h=0,m=(n-e[0])/(e[1]-e[0])):n&gt;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&lt;r[0]?(d=0,p=0,g=(i-r[0])/(r[1]-r[0])):i&gt;r[u-1]?(d=u-2,p=1,g=(i-r[u-1])/(r[u-1]-r[u-2])):p=s-(d=Math.max(0,Math.min(u-2,Math.floor(s)))),m&amp;&amp;(t.dxydi(v,f,d,h,p),l[0]+=v[0]*m,l[1]+=v[1]*m),g&amp;&amp;(t.dxydj(v,f,d,h,p),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}}},{&quot;../../lib/search&quot;:761,&quot;./compute_control_points&quot;:923,&quot;./constants&quot;:924,&quot;./create_i_derivative_evaluator&quot;:925,&quot;./create_j_derivative_evaluator&quot;:926,&quot;./create_spline_evaluator&quot;:927}],938:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib&quot;);e.exports=function(t,e,r){function i(e,r){var n,i=0,a=0;return e&gt;0&amp;&amp;void 0!==(n=t[r][e-1])&amp;&amp;(a++,i+=n),e&lt;u-1&amp;&amp;void 0!==(n=t[r][e+1])&amp;&amp;(a++,i+=n),r&gt;0&amp;&amp;void 0!==(n=t[r-1][e])&amp;&amp;(a++,i+=n),r&lt;f-1&amp;&amp;void 0!==(n=t[r+1][e])&amp;&amp;(a++,i+=n),i/Math.max(1,a)}var a,o,s,l=[],c=[],u=t[0].length,f=t.length,h=0;for(a=0;a&lt;u;a++)for(o=0;o&lt;f;o++)void 0===t[o][a]&amp;&amp;(l.push(a),c.push(o),t[o][a]=i(a,o)),h=Math.max(h,Math.abs(t[o][a]));if(!l.length)return t;var d,p,m,g,v,y,x,b,_,w,M,k=0,A=0,T=l.length;do{for(k=0,s=0;s&lt;T;s++){a=l[s],o=c[s];var S,E,L,C,z,D,I=0,P=0;0===a?(L=e[z=Math.min(u-1,2)],C=e[1],S=t[o][z],P+=(E=t[o][1])+(E-S)*(e[0]-C)/(C-L),I++):a===u-1&amp;&amp;(L=e[z=Math.max(0,u-3)],C=e[u-2],S=t[o][z],P+=(E=t[o][u-2])+(E-S)*(e[u-1]-C)/(C-L),I++),(0===a||a===u-1)&amp;&amp;o&gt;0&amp;&amp;o&lt;f-1&amp;&amp;(d=r[o+1]-r[o],P+=((p=r[o]-r[o-1])*t[o+1][a]+d*t[o-1][a])/(p+d),I++),0===o?(L=r[D=Math.min(f-1,2)],C=r[1],S=t[D][a],P+=(E=t[1][a])+(E-S)*(r[0]-C)/(C-L),I++):o===f-1&amp;&amp;(L=r[D=Math.max(0,f-3)],C=r[f-2],S=t[D][a],P+=(E=t[f-2][a])+(E-S)*(r[f-1]-C)/(C-L),I++),(0===o||o===f-1)&amp;&amp;a&gt;0&amp;&amp;a&lt;u-1&amp;&amp;(d=e[a+1]-e[a],P+=((p=e[a]-e[a-1])*t[o][a+1]+d*t[o][a-1])/(p+d),I++),I?P/=I:(m=e[a+1]-e[a],g=e[a]-e[a-1],b=(v=r[o+1]-r[o])*(y=r[o]-r[o-1])*(v+y),P=((x=m*g*(m+g))*(y*t[o+1][a]+v*t[o-1][a])+b*(g*t[o][a+1]+m*t[o][a-1]))/(b*(g+m)+x*(y+v))),k+=(w=(_=P-t[o][a])/h)*w,M=I?0:.85,t[o][a]+=_*(1+M)}k=Math.sqrt(k)}while(A++&lt;100&amp;&amp;k&gt;1e-5);return n.log(&quot;Smoother converged to&quot;,k,&quot;after&quot;,A,&quot;iterations&quot;),t}},{&quot;../../lib&quot;:743}],939:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;./has_columns&quot;),i=t(&quot;../heatmap/convert_column_xyz&quot;);e.exports=function(t,e,r){var a=[],o=r(&quot;x&quot;);o&amp;&amp;!n(o)&amp;&amp;a.push(&quot;x&quot;),e._cheater=!o;var s=r(&quot;y&quot;);if(s&amp;&amp;!n(s)&amp;&amp;a.push(&quot;y&quot;),o||s)return a.length&amp;&amp;i(e,e.aaxis,e.baxis,&quot;a&quot;,&quot;b&quot;,a),!0}},{&quot;../heatmap/convert_column_xyz&quot;:981,&quot;./has_columns&quot;:929}],940:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../scattergeo/attributes&quot;),i=t(&quot;../../components/colorscale/attributes&quot;),a=t(&quot;../../components/colorbar/attributes&quot;),o=t(&quot;../../plots/attributes&quot;),s=t(&quot;../../lib/extend&quot;),l=s.extendFlat,c=s.extendDeepAll,u=n.marker.line;e.exports=l({locations:{valType:&quot;data_array&quot;,editType:&quot;calc&quot;},locationmode:n.locationmode,z:{valType:&quot;data_array&quot;,editType:&quot;calc&quot;},text:l({},n.text,{}),marker:{line:{color:u.color,width:l({},u.width,{dflt:1}),editType:&quot;calc&quot;},opacity:{valType:&quot;number&quot;,arrayOk:!0,min:0,max:1,dflt:1,editType:&quot;style&quot;},editType:&quot;calc&quot;},selected:{marker:{opacity:n.selected.marker.opacity,editType:&quot;plot&quot;},editType:&quot;plot&quot;},unselected:{marker:{opacity:n.unselected.marker.opacity,editType:&quot;plot&quot;},editType:&quot;plot&quot;},hoverinfo:l({},o.hoverinfo,{editType:&quot;calc&quot;,flags:[&quot;location&quot;,&quot;z&quot;,&quot;text&quot;,&quot;name&quot;]})},c({},i,{zmax:{editType:&quot;calc&quot;},zmin:{editType:&quot;calc&quot;}}),{colorbar:a})},{&quot;../../components/colorbar/attributes&quot;:619,&quot;../../components/colorscale/attributes&quot;:624,&quot;../../lib/extend&quot;:732,&quot;../../plots/attributes&quot;:787,&quot;../scattergeo/attributes&quot;:1104}],941:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;fast-isnumeric&quot;),i=t(&quot;../../constants/numerical&quot;).BADNUM,a=t(&quot;../../components/colorscale/calc&quot;),o=t(&quot;../scatter/arrays_to_calcdata&quot;),s=t(&quot;../scatter/calc_selection&quot;);e.exports=function(t,e){for(var r=e.locations.length,l=new Array(r),c=0;c&lt;r;c++){var u=l[c]={},f=e.locations[c],h=e.z[c];u.loc=&quot;string&quot;==typeof f?f:null,u.z=n(h)?h:i}return o(l,e),a(e,e.z,&quot;&quot;,&quot;z&quot;),s(l,e),l}},{&quot;../../components/colorscale/calc&quot;:625,&quot;../../constants/numerical&quot;:721,&quot;../scatter/arrays_to_calcdata&quot;:1065,&quot;../scatter/calc_selection&quot;:1068,&quot;fast-isnumeric&quot;:140}],942:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib&quot;),i=t(&quot;../../components/colorscale/defaults&quot;),a=t(&quot;./attributes&quot;);e.exports=function(t,e,r,o){function s(r,i){return n.coerce(t,e,a,r,i)}var l,c=s(&quot;locations&quot;);if(c&amp;&amp;(l=c.length),c&amp;&amp;l){var u=s(&quot;z&quot;);Array.isArray(u)?(u.length&gt;l&amp;&amp;(e.z=u.slice(0,l)),s(&quot;locationmode&quot;),s(&quot;text&quot;),s(&quot;marker.line.color&quot;),s(&quot;marker.line.width&quot;),s(&quot;marker.opacity&quot;),i(t,e,o,s,{prefix:&quot;&quot;,cLetter:&quot;z&quot;}),n.coerceSelectionMarkerOpacity(e,s)):e.visible=!1}else e.visible=!1}},{&quot;../../components/colorscale/defaults&quot;:628,&quot;../../lib&quot;:743,&quot;./attributes&quot;:940}],943:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t,e){return t.location=e.location,t.z=e.z,t}},{}],944:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../plots/cartesian/axes&quot;),i=t(&quot;./attributes&quot;),a=t(&quot;../scatter/fill_hover_text&quot;);e.exports=function(t,e,r){var o,s,l,c,u=t.cd,f=u[0].trace,h=t.subplot;for(s=0;s&lt;u.length;s++)if(o=u[s],c=!1,o._polygons){for(l=0;l&lt;o._polygons.length;l++)o._polygons[l].contains([e,r])&amp;&amp;(c=!c),o._polygons[l].contains([e+360,r])&amp;&amp;(c=!c);if(c)break}if(c&amp;&amp;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,function(t,e,r,o){var s=r.hi||e.hoverinfo,l=&quot;all&quot;===s?i.hoverinfo.flags:s.split(&quot;+&quot;),c=-1!==l.indexOf(&quot;name&quot;),u=-1!==l.indexOf(&quot;location&quot;),f=-1!==l.indexOf(&quot;z&quot;),h=-1!==l.indexOf(&quot;text&quot;),d=[];!c&amp;&amp;u?t.nameOverride=r.loc:(c&amp;&amp;(t.nameOverride=e.name),u&amp;&amp;d.push(r.loc)),f&amp;&amp;d.push(function(t){return n.tickText(o,o.c2l(t),&quot;hover&quot;).text}(r.z)),h&amp;&amp;a(r,e,d),t.extraText=d.join(&quot;&lt;br&gt;&quot;)}(t,f,o,h.mockAxis),[t]}},{&quot;../../plots/cartesian/axes&quot;:789,&quot;../scatter/fill_hover_text&quot;:1074,&quot;./attributes&quot;:940}],945:[function(t,e,r){&quot;use strict&quot;;var n={};n.attributes=t(&quot;./attributes&quot;),n.supplyDefaults=t(&quot;./defaults&quot;),n.colorbar=t(&quot;../heatmap/colorbar&quot;),n.calc=t(&quot;./calc&quot;),n.plot=t(&quot;./plot&quot;),n.style=t(&quot;./style&quot;),n.hoverPoints=t(&quot;./hover&quot;),n.eventData=t(&quot;./event_data&quot;),n.selectPoints=t(&quot;./select&quot;),n.moduleType=&quot;trace&quot;,n.name=&quot;choropleth&quot;,n.basePlotModule=t(&quot;../../plots/geo&quot;),n.categories=[&quot;geo&quot;,&quot;noOpacity&quot;],n.meta={},e.exports=n},{&quot;../../plots/geo&quot;:820,&quot;../heatmap/colorbar&quot;:980,&quot;./attributes&quot;:940,&quot;./calc&quot;:941,&quot;./defaults&quot;:942,&quot;./event_data&quot;:943,&quot;./hover&quot;:944,&quot;./plot&quot;:946,&quot;./select&quot;:947,&quot;./style&quot;:948}],946:[function(t,e,r){&quot;use strict&quot;;function n(t,e){for(var r=t[0].trace,n=t.length,i=s(r,e),a=0;a&lt;n;a++){var c=t[a],u=l(r.locationmode,c.loc,i);u?(c.geojson=u,c.ct=u.properties.ct,c.index=a,c._polygons=function(t){function e(t){for(var e=0;e&lt;t.length-1;e++)if(t[e][0]&gt;0&amp;&amp;t[e+1][0]&lt;0)return e;return null}var r,n,i,a,s=t.geometry,l=s.coordinates,c=t.id,u=[];r=&quot;RUS&quot;===c||&quot;FJI&quot;===c?function(t){var r;if(null===e(t))r=t;else for(r=new Array(t.length),a=0;a&lt;t.length;a++)r[a]=[t[a][0]&lt;0?t[a][0]+360:t[a][0],t[a][1]];u.push(o.tester(r))}:&quot;ATA&quot;===c?function(t){var r=e(t);if(null===r)return u.push(o.tester(t));var n=new Array(t.length+1),i=0;for(a=0;a&lt;t.length;a++)a&gt;r?n[i++]=[t[a][0]+360,t[a][1]]:a===r?(n[i++]=t[a],n[i++]=[t[a][0],-90]):n[i++]=t[a];var s=o.tester(n);s.pts.pop(),u.push(s)}:function(t){u.push(o.tester(t))};switch(s.type){case&quot;MultiPolygon&quot;:for(n=0;n&lt;l.length;n++)for(i=0;i&lt;l[n].length;i++)r(l[n][i]);break;case&quot;Polygon&quot;:for(n=0;n&lt;l.length;n++)r(l[n])}return u}(u)):c.geojson=null}}var i=t(&quot;d3&quot;),a=t(&quot;../../lib&quot;),o=t(&quot;../../lib/polygon&quot;),s=t(&quot;../../lib/topojson_utils&quot;).getTopojsonFeatures,l=t(&quot;../../lib/geo_location_utils&quot;).locationToFeature,c=t(&quot;./style&quot;);e.exports=function(t,e,r){for(var o=0;o&lt;r.length;o++)n(r[o],e.topojson);var s=e.layers.backplot.select(&quot;.choroplethlayer&quot;).selectAll(&quot;g.trace.choropleth&quot;).data(r,function(t){return t[0].trace.uid});s.enter().append(&quot;g&quot;).attr(&quot;class&quot;,&quot;trace choropleth&quot;),s.exit().remove(),s.each(function(e){var r=(e[0].node3=i.select(this)).selectAll(&quot;path.choroplethlocation&quot;).data(a.identity);r.enter().append(&quot;path&quot;).classed(&quot;choroplethlocation&quot;,!0),r.exit().remove(),c(t,e)})}},{&quot;../../lib&quot;:743,&quot;../../lib/geo_location_utils&quot;:735,&quot;../../lib/polygon&quot;:755,&quot;../../lib/topojson_utils&quot;:769,&quot;./style&quot;:948,d3:128}],947:[function(t,e,r){&quot;use strict&quot;;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&lt;s.length;r++)s[r].selected=0;else for(r=0;r&lt;s.length;r++)(i=(n=s[r]).ct)&amp;&amp;(a=l.c2p(i),o=c.c2p(i),e.contains([a,o])?(u.push({pointNumber:r,lon:i[0],lat:i[1]}),n.selected=1):n.selected=0);return u}},{}],948:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;d3&quot;),i=t(&quot;../../components/color&quot;),a=t(&quot;../../components/drawing&quot;),o=t(&quot;../../components/colorscale&quot;);e.exports=function(t,e){e&amp;&amp;function(t,e){var r=e[0].trace,s=e[0].node3.selectAll(&quot;.choroplethlocation&quot;),l=r.marker||{},c=l.line||{},u=o.makeColorScaleFunc(o.extractScale(r.colorscale,r.zmin,r.zmax));s.each(function(t){n.select(this).attr(&quot;fill&quot;,u(t.z)).call(i.stroke,t.mlc||c.color).call(a.dashLine,&quot;&quot;,t.mlw||c.width||0).style(&quot;opacity&quot;,l.opacity)}),a.selectedPointStyle(s,r)}(0,e)}},{&quot;../../components/color&quot;:618,&quot;../../components/colorscale&quot;:633,&quot;../../components/drawing&quot;:643,d3:128}],949:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../heatmap/attributes&quot;),i=t(&quot;../scatter/attributes&quot;),a=t(&quot;../../components/colorscale/attributes&quot;),o=t(&quot;../../components/colorbar/attributes&quot;),s=t(&quot;../../components/drawing/attributes&quot;).dash,l=t(&quot;../../plots/font_attributes&quot;),c=t(&quot;../../lib/extend&quot;).extendFlat,u=i.line;e.exports=c({z:n.z,x:n.x,x0:n.x0,dx:n.dx,y:n.y,y0:n.y0,dy:n.dy,text:n.text,transpose:n.transpose,xtype:n.xtype,ytype:n.ytype,zhoverformat:n.zhoverformat,connectgaps:n.connectgaps,autocontour:{valType:&quot;boolean&quot;,dflt:!0,editType:&quot;calc&quot;,impliedEdits:{&quot;contours.start&quot;:void 0,&quot;contours.end&quot;:void 0,&quot;contours.size&quot;:void 0}},ncontours:{valType:&quot;integer&quot;,dflt:15,min:1,editType:&quot;calc&quot;},contours:{start:{valType:&quot;number&quot;,dflt:null,editType:&quot;plot&quot;,impliedEdits:{&quot;^autocontour&quot;:!1}},end:{valType:&quot;number&quot;,dflt:null,editType:&quot;plot&quot;,impliedEdits:{&quot;^autocontour&quot;:!1}},size:{valType:&quot;number&quot;,dflt:null,min:0,editType:&quot;plot&quot;,impliedEdits:{&quot;^autocontour&quot;:!1}},coloring:{valType:&quot;enumerated&quot;,values:[&quot;fill&quot;,&quot;heatmap&quot;,&quot;lines&quot;,&quot;none&quot;],dflt:&quot;fill&quot;,editType:&quot;calc&quot;},showlines:{valType:&quot;boolean&quot;,dflt:!0,editType:&quot;plot&quot;},showlabels:{valType:&quot;boolean&quot;,dflt:!1,editType:&quot;plot&quot;},labelfont:l({editType:&quot;plot&quot;,colorEditType:&quot;style&quot;}),labelformat:{valType:&quot;string&quot;,dflt:&quot;&quot;,editType:&quot;plot&quot;},editType:&quot;calc&quot;,impliedEdits:{autocontour:!1}},line:{color:c({},u.color,{editType:&quot;style+colorbars&quot;}),width:c({},u.width,{editType:&quot;style+colorbars&quot;}),dash:s,smoothing:c({},u.smoothing,{}),editType:&quot;plot&quot;}},a,{autocolorscale:c({},a.autocolorscale,{dflt:!1}),zmin:c({},a.zmin,{editType:&quot;calc&quot;}),zmax:c({},a.zmax,{editType:&quot;calc&quot;})},{colorbar:o})},{&quot;../../components/colorbar/attributes&quot;:619,&quot;../../components/colorscale/attributes&quot;:624,&quot;../../components/drawing/attributes&quot;:642,&quot;../../lib/extend&quot;:732,&quot;../../plots/font_attributes&quot;:816,&quot;../heatmap/attributes&quot;:977,&quot;../scatter/attributes&quot;:1066}],950:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r){var n={type:&quot;linear&quot;,range:[t,e]};return i.autoTicks(n,(e-t)/(r||15)),n}var i=t(&quot;../../plots/cartesian/axes&quot;),a=t(&quot;../../lib&quot;).extendFlat,o=t(&quot;../heatmap/calc&quot;);e.exports=function(t,e){var r=o(t,e),s=e.contours;if(!1!==e.autocontour){var l=n(e.zmin,e.zmax,e.ncontours);s.size=l.dtick,s.start=i.tickFirst(l),l.range.reverse(),s.end=i.tickFirst(l),s.start===e.zmin&amp;&amp;(s.start+=s.size),s.end===e.zmax&amp;&amp;(s.end-=s.size),s.start&gt;s.end&amp;&amp;(s.start=s.end=(s.start+s.end)/2),e._input.contours||(e._input.contours={}),a(e._input.contours,{start:s.start,end:s.end,size:s.size}),e._input.autocontour=!0}else{var c=s.start,u=s.end,f=e._input.contours;if(c&gt;u&amp;&amp;(s.start=f.start=u,u=s.end=f.end=c,c=s.start),!(s.size&gt;0)){var h;h=c===u?1:n(c,u,e.ncontours).dtick,f.size=s.size=h}}return r}},{&quot;../../lib&quot;:743,&quot;../../plots/cartesian/axes&quot;:789,&quot;../heatmap/calc&quot;:978}],951:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../plots/plots&quot;),i=t(&quot;../../components/colorbar/draw&quot;),a=t(&quot;./make_color_map&quot;),o=t(&quot;./end_plus&quot;);e.exports=function(t,e){var r=e[0].trace,s=&quot;cb&quot;+r.uid;if(t._fullLayout._infolayer.selectAll(&quot;.&quot;+s).remove(),r.showscale){var l=i(t,s);e[0].t.cb=l;var c=r.contours,u=r.line,f=c.size||1,h=c.coloring,d=a(r,{isColorbar:!0});&quot;heatmap&quot;===h&amp;&amp;l.filllevels({start:r.zmin,end:r.zmax,size:(r.zmax-r.zmin)/254}),l.fillcolor(&quot;fill&quot;===h||&quot;heatmap&quot;===h?d:&quot;&quot;).line({color:&quot;lines&quot;===h?d:u.color,width:!1!==c.showlines?u.width:0,dash:u.dash}).levels({start:c.start,end:o(c),size:f}).options(r.colorbar)()}else n.autoMargin(t,s)}},{&quot;../../components/colorbar/draw&quot;:622,&quot;../../plots/plots&quot;:852,&quot;./end_plus&quot;:955,&quot;./make_color_map&quot;:959}],952:[function(t,e,r){&quot;use strict&quot;;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}}},{}],953:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib&quot;),i=t(&quot;./attributes&quot;);e.exports=function(t,e,r){var a=n.coerce2(t,e,i,&quot;contours.start&quot;),o=n.coerce2(t,e,i,&quot;contours.end&quot;),s=!1===a||!1===o,l=r(&quot;contours.size&quot;);!(s?e.autocontour=!0:r(&quot;autocontour&quot;,!1))&amp;&amp;l||r(&quot;ncontours&quot;)}},{&quot;../../lib&quot;:743,&quot;./attributes&quot;:949}],954:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib&quot;),i=t(&quot;../heatmap/has_columns&quot;),a=t(&quot;../heatmap/xyz_defaults&quot;),o=t(&quot;./contours_defaults&quot;),s=t(&quot;./style_defaults&quot;),l=t(&quot;./attributes&quot;);e.exports=function(t,e,r,c){function u(r,i){return n.coerce(t,e,l,r,i)}a(t,e,u,c)?(u(&quot;text&quot;),u(&quot;connectgaps&quot;,i(e)),o(t,e,u),s(t,e,u,c)):e.visible=!1}},{&quot;../../lib&quot;:743,&quot;../heatmap/has_columns&quot;:984,&quot;../heatmap/xyz_defaults&quot;:993,&quot;./attributes&quot;:949,&quot;./contours_defaults&quot;:953,&quot;./style_defaults&quot;:963}],955:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t){return t.end+t.size/1e6}},{}],956:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,n){return Math.abs(t[0]-e[0])&lt;r&amp;&amp;Math.abs(t[1]-e[1])&lt;n}function i(t,e){var r=t[2]-e[2],n=t[3]-e[3];return Math.sqrt(r*r+n*n)}function a(t,e,r,a,c){function u(t){return g[t%g.length]}var f,h=e.join(&quot;,&quot;),d=h,p=t.crossings[d],m=function(t,e,r){var n=0,i=0;t&gt;20&amp;&amp;e?208===t||1114===t?n=0===r[0]?1:-1:i=0===r[1]?1:-1:-1!==l.BOTTOMSTART.indexOf(t)?i=1:-1!==l.LEFTSTART.indexOf(t)?n=1:-1!==l.TOPSTART.indexOf(t)?i=-1:n=-1;return[n,i]}(p,r,e),g=[o(t,e,[-m[0],-m[1]])],v=m.join(&quot;,&quot;),y=t.z.length,x=t.z[0].length;for(f=0;f&lt;1e4;f++){if(p&gt;20?(p=l.CHOOSESADDLE[p][(m[0]||m[1])&lt;0?0:1],t.crossings[d]=l.SADDLEREMAINDER[p]):delete t.crossings[d],!(m=l.NEWDELTA[p])){s.log(&quot;Found bad marching index:&quot;,p,e,t.level);break}g.push(o(t,e,m)),e[0]+=m[0],e[1]+=m[1],n(g[g.length-1],g[g.length-2],a,c)&amp;&amp;g.pop(),d=e.join(&quot;,&quot;);var b=m[0]&amp;&amp;(e[0]&lt;0||e[0]&gt;x-2)||m[1]&amp;&amp;(e[1]&lt;0||e[1]&gt;y-2);if(d===h&amp;&amp;m.join(&quot;,&quot;)===v||r&amp;&amp;b)break;p=t.crossings[d]}1e4===f&amp;&amp;s.log(&quot;Infinite loop in contour?&quot;);var _,w,M,k,A,T,S,E,L,C,z,D=n(g[0],g[g.length-1],a,c),I=0,P=.2*t.smoothing,O=[],F=0;for(f=1;f&lt;g.length;f++)I+=S=i(g[f],g[f-1]),O.push(S);var R=I/O.length*P;for(f=g.length-2;f&gt;=F;f--)if((_=O[f])&lt;R){for(M=0,w=f-1;w&gt;=F&amp;&amp;_+O[w]&lt;R;w--)_+=O[w];if(D&amp;&amp;f===g.length-2)for(M=0;M&lt;w&amp;&amp;_+O[M]&lt;R;M++)_+=O[M];A=f-w+M+1,T=Math.floor((f+w+M+2)/2),k=D||f!==g.length-2?D||-1!==w?A%2?u(T):[(u(T)[0]+u(T+1)[0])/2,(u(T)[1]+u(T+1)[1])/2]:g[0]:g[g.length-1],g.splice(w+1,f-w+1,k),f=w+1,M&amp;&amp;(F=M),D&amp;&amp;(f===g.length-2?g[M]=g[g.length-1]:0===f&amp;&amp;(g[g.length-1]=g[0]))}for(g.splice(0,F),f=0;f&lt;g.length;f++)g[f].length=2;if(!(g.length&lt;2))if(D)g.pop(),t.paths.push(g);else{r||s.log(&quot;Unclosed interior contour?&quot;,t.level,h,g.join(&quot;L&quot;));var N=!1;for(E=0;E&lt;t.edgepaths.length;E++)if(C=t.edgepaths[E],!N&amp;&amp;n(C[0],g[g.length-1],a,c)){g.pop(),N=!0;var j=!1;for(L=0;L&lt;t.edgepaths.length;L++)if(z=t.edgepaths[L],n(z[z.length-1],g[0],a,c)){j=!0,g.shift(),t.edgepaths.splice(E,1),L===E?t.paths.push(g.concat(z)):(L&gt;E&amp;&amp;L--,t.edgepaths[L]=z.concat(g,C));break}j||(t.edgepaths[E]=g.concat(C))}for(E=0;E&lt;t.edgepaths.length&amp;&amp;!N;E++)n((C=t.edgepaths[E])[C.length-1],g[0],a,c)&amp;&amp;(g.shift(),t.edgepaths[E]=C.concat(g),N=!0);N||t.edgepaths.push(g)}}function o(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);return[o.c2p((1-l)*t.x[n]+l*t.x[n+1],!0),s.c2p(t.y[i],!0),n+l,i]}var c=(t.level-a)/(t.z[i+1][n]-a);return[o.c2p(t.x[n],!0),s.c2p((1-c)*t.y[i]+c*t.y[i+1],!0),n,i+c]}var s=t(&quot;../../lib&quot;),l=t(&quot;./constants&quot;);e.exports=function(t,e,r){var n,i,o,l;for(e=e||.01,r=r||.01,i=0;i&lt;t.length;i++){for(o=t[i],l=0;l&lt;o.starts.length;l++)a(o,o.starts[l],&quot;edge&quot;,e,r);for(n=0;Object.keys(o.crossings).length&amp;&amp;n&lt;1e4;)n++,a(o,Object.keys(o.crossings)[0].split(&quot;,&quot;).map(Number),void 0,e,r);1e4===n&amp;&amp;s.log(&quot;Infinite loop in contour?&quot;)}}},{&quot;../../lib&quot;:743,&quot;./constants&quot;:952}],957:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../heatmap/hover&quot;);e.exports=function(t,e,r,i,a){return n(t,e,r,i,a,!0)}},{&quot;../heatmap/hover&quot;:985}],958:[function(t,e,r){&quot;use strict&quot;;var n={};n.attributes=t(&quot;./attributes&quot;),n.supplyDefaults=t(&quot;./defaults&quot;),n.calc=t(&quot;./calc&quot;),n.plot=t(&quot;./plot&quot;).plot,n.style=t(&quot;./style&quot;),n.colorbar=t(&quot;./colorbar&quot;),n.hoverPoints=t(&quot;./hover&quot;),n.moduleType=&quot;trace&quot;,n.name=&quot;contour&quot;,n.basePlotModule=t(&quot;../../plots/cartesian&quot;),n.categories=[&quot;cartesian&quot;,&quot;2dMap&quot;,&quot;contour&quot;],n.meta={},e.exports=n},{&quot;../../plots/cartesian&quot;:800,&quot;./attributes&quot;:949,&quot;./calc&quot;:950,&quot;./colorbar&quot;:951,&quot;./defaults&quot;:954,&quot;./hover&quot;:957,&quot;./plot&quot;:961,&quot;./style&quot;:962}],959:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;d3&quot;),i=t(&quot;../../components/colorscale&quot;),a=t(&quot;./end_plus&quot;);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=&quot;lines&quot;===e.coloring?0:1;isFinite(s)||(s=1,l=1);var u,f,h=t.colorscale,d=h.length,p=new Array(d),m=new Array(d);if(&quot;heatmap&quot;===e.coloring){for(t.zauto&amp;&amp;!1===t.autocontour&amp;&amp;(t.zmin=r-s/2,t.zmax=t.zmin+l*s),f=0;f&lt;d;f++)u=h[f],p[f]=u[0]*(t.zmax-t.zmin)+t.zmin,m[f]=u[1];var g=n.extent([t.zmin,t.zmax,e.start,e.start+s*(l-1)]),v=g[t.zmin&lt;t.zmax?0:1],y=g[t.zmin&lt;t.zmax?1:0];v!==t.zmin&amp;&amp;(p.splice(0,0,v),m.splice(0,0,Range[0])),y!==t.zmax&amp;&amp;(p.push(y),m.push(m[m.length-1]))}else for(f=0;f&lt;d;f++)u=h[f],p[f]=(u[0]*(l+c-1)-c/2)*s+r,m[f]=u[1];return i.makeColorScaleFunc({domain:p,range:m},{noNumericCheck:!0})}},{&quot;../../components/colorscale&quot;:633,&quot;./end_plus&quot;:955,d3:128}],960:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;./constants&quot;);e.exports=function(t){var e,r,i,a,o,s,l,c,u,f=t[0].z,h=f.length,d=f[0].length,p=2===h||2===d;for(r=0;r&lt;h-1;r++)for(a=[],0===r&amp;&amp;(a=a.concat(n.BOTTOMSTART)),r===h-2&amp;&amp;(a=a.concat(n.TOPSTART)),e=0;e&lt;d-1;e++)for(i=a.slice(),0===e&amp;&amp;(i=i.concat(n.LEFTSTART)),e===d-2&amp;&amp;(i=i.concat(n.RIGHTSTART)),o=e+&quot;,&quot;+r,s=[[f[r][e],f[r][e+1]],[f[r+1][e],f[r+1][e+1]]],u=0;u&lt;t.length;u++)(l=function(t,e){var r=(e[0][0]&gt;t?0:1)+(e[0][1]&gt;t?0:2)+(e[1][1]&gt;t?0:4)+(e[1][0]&gt;t?0:8);if(5===r||10===r)return t&gt;(e[0][0]+e[0][1]+e[1][0]+e[1][1])/4?5===r?713:1114:5===r?104:208;return 15===r?0:r}((c=t[u]).level,s))&amp;&amp;(c.crossings[o]=l,-1!==i.indexOf(l)&amp;&amp;(c.starts.push([e,r]),p&amp;&amp;-1!==i.indexOf(l,i.indexOf(l)+1)&amp;&amp;c.starts.push([e,r])))}},{&quot;./constants&quot;:952}],961:[function(t,e,r){&quot;use strict&quot;;function n(t,e,n){var l=n[0].trace,c=n[0].x,u=n[0].y,g=l.contours,v=l.uid,y=e.xaxis,x=e.yaxis,b=t._fullLayout,_=&quot;contour&quot;+v,w=function(t,e,r){for(var n=t.size,i=[],a=p(t),s=t.start;s&lt;a;s+=n)if(i.push({level:s,crossings:{},starts:[],edgepaths:[],paths:[],xaxis:e.xaxis,yaxis:e.yaxis,x:r.x,y:r.y,z:r.z,smoothing:r.trace.line.smoothing}),i.length&gt;1e3){o.warn(&quot;Too many contours, clipping at 1000&quot;,t);break}return i}(g,e,n[0]);if(!0!==l.visible)return b._paper.selectAll(&quot;.&quot;+_+&quot;,.hm&quot;+v).remove(),void b._infolayer.selectAll(&quot;.cb&quot;+v).remove();&quot;heatmap&quot;===g.coloring?(l.zauto&amp;&amp;!1===l.autocontour&amp;&amp;(l._input.zmin=l.zmin=g.start-g.size/2,l._input.zmax=l.zmax=l.zmin+w.length*g.size),f(t,e,[n])):(b._paper.selectAll(&quot;.hm&quot;+v).remove(),b._infolayer.selectAll(&quot;g.rangeslider-container&quot;).selectAll(&quot;.hm&quot;+v).remove()),h(w),d(w);var M=y.c2p(c[0],!0),k=y.c2p(c[c.length-1],!0),A=x.c2p(u[0],!0),T=x.c2p(u[u.length-1],!0),S=[[M,T],[k,T],[k,A],[M,A]],E=r.makeContourGroup(e,n,_);!function(t,e,r){var n=t.selectAll(&quot;g.contourbg&quot;).data([0]);n.enter().append(&quot;g&quot;).classed(&quot;contourbg&quot;,!0);var i=n.selectAll(&quot;path&quot;).data(&quot;fill&quot;===r.coloring?[0]:[]);i.enter().append(&quot;path&quot;),i.exit().remove(),i.attr(&quot;d&quot;,&quot;M&quot;+e.join(&quot;L&quot;)+&quot;Z&quot;).style(&quot;stroke&quot;,&quot;none&quot;)}(E,S,g),function(t,e,r,n){var o=t.selectAll(&quot;g.contourfill&quot;).data([0]);o.enter().append(&quot;g&quot;).classed(&quot;contourfill&quot;,!0);var s=o.selectAll(&quot;path&quot;).data(&quot;fill&quot;===n.coloring?e:[]);s.enter().append(&quot;path&quot;),s.exit().remove(),s.each(function(t){var e=i(t,r);e?a.select(this).attr(&quot;d&quot;,e).style(&quot;stroke&quot;,&quot;none&quot;):a.select(this).remove()})}(E,w,S,g),function(t,e,n,i,l,c){var u=t.selectAll(&quot;g.contourlines&quot;).data([0]);u.enter().append(&quot;g&quot;).classed(&quot;contourlines&quot;,!0);var f=!1!==l.showlines,h=l.showlabels,d=f&amp;&amp;h,p=r.createLines(u,f||h,e),g=r.createLineClip(u,d,n._fullLayout._clips,i.trace.uid),v=t.selectAll(&quot;g.contourlabels&quot;).data(h?[0]:[]);if(v.exit().remove(),v.enter().append(&quot;g&quot;).classed(&quot;contourlabels&quot;,!0),h){var y=[c],x=[];o.clearLocationCache();var b=r.labelFormatter(l,i.t.cb,n._fullLayout),_=s.tester.append(&quot;text&quot;).attr(&quot;data-notex&quot;,1).call(s.font,l.labelfont),w=e[0].xaxis._length,M=e[0].yaxis._length,k={left:Math.max(c[0][0],0),right:Math.min(c[2][0],w),top:Math.max(c[0][1],0),bottom:Math.min(c[2][1],M)};k.middle=(k.top+k.bottom)/2,k.center=(k.left+k.right)/2;var A=Math.sqrt(w*w+M*M),T=m.LABELDISTANCE*A/Math.max(1,e.length/m.LABELINCREASE);p.each(function(t){var e=r.calcTextOpts(t.level,b,_,n);a.select(this).selectAll(&quot;path&quot;).each(function(){var t=o.getVisibleSegment(this,k,e.height/2);if(t&amp;&amp;!(t.len&lt;(e.width+e.height)*m.LABELMIN))for(var n=Math.min(Math.ceil(t.len/T),m.LABELMAX),i=0;i&lt;n;i++){var a=r.findBestTextLocation(this,t,e,x,k);if(!a)break;r.addLabelData(a,e,x,y)}})}),_.remove(),r.drawLabels(v,x,n,g,d?y:null)}h&amp;&amp;!f&amp;&amp;p.remove()}(E,w,t,n[0],g,S),function(t,e,r,n,a){var o=&quot;clip&quot;+n.trace.uid,l=r.selectAll(&quot;#&quot;+o).data(n.trace.connectgaps?[]:[0]);if(l.enter().append(&quot;clipPath&quot;).classed(&quot;contourclip&quot;,!0).attr(&quot;id&quot;,o),l.exit().remove(),!1===n.trace.connectgaps){var c={level:.9,crossings:{},starts:[],edgepaths:[],paths:[],xaxis:e.xaxis,yaxis:e.yaxis,x:n.x,y:n.y,z:function(t){var e,r,n=t.trace._emptypoints,i=[],a=t.z.length,o=t.z[0].length,s=[];for(e=0;e&lt;o;e++)s.push(1);for(e=0;e&lt;a;e++)i.push(s.slice());for(e=0;e&lt;n.length;e++)r=n[e],i[r[0]][r[1]]=0;return t.zmask=i,i}(n),smoothing:0};h([c]),d([c]);var u=i(c,a),f=l.selectAll(&quot;path&quot;).data([0]);f.enter().append(&quot;path&quot;),f.attr(&quot;d&quot;,u)}else o=null;t.call(s.setClipUrl,o),e.plot.selectAll(&quot;.hm&quot;+n.trace.uid).call(s.setClipUrl,o)}(E,e,b._clips,n[0],S)}function i(t,e){function r(t){return Math.abs(t[1]-e[0][1])&lt;.01}function n(t){return Math.abs(t[1]-e[2][1])&lt;.01}function i(t){return Math.abs(t[0]-e[0][0])&lt;.01}function a(t){return Math.abs(t[0]-e[2][0])&lt;.01}for(var l,c,u,f,h,d,p=Math.min(t.z[0][0],t.z[0][1]),m=t.edgepaths.length||p&lt;=t.level?&quot;&quot;:&quot;M&quot;+e.join(&quot;L&quot;)+&quot;Z&quot;,g=0,v=t.edgepaths.map(function(t,e){return e}),y=!0;v.length;){for(d=s.smoothopen(t.edgepaths[g],t.smoothing),m+=y?d:d.replace(/^M/,&quot;L&quot;),v.splice(v.indexOf(g),1),l=t.edgepaths[g][t.edgepaths[g].length-1],f=-1,u=0;u&lt;4;u++){if(!l){o.log(&quot;Missing end?&quot;,g,t);break}for(r(l)&amp;&amp;!a(l)?c=e[1]:i(l)?c=e[0]:n(l)?c=e[3]:a(l)&amp;&amp;(c=e[2]),h=0;h&lt;t.edgepaths.length;h++){var x=t.edgepaths[h][0];Math.abs(l[0]-c[0])&lt;.01?Math.abs(l[0]-x[0])&lt;.01&amp;&amp;(x[1]-l[1])*(c[1]-x[1])&gt;=0&amp;&amp;(c=x,f=h):Math.abs(l[1]-c[1])&lt;.01?Math.abs(l[1]-x[1])&lt;.01&amp;&amp;(x[0]-l[0])*(c[0]-x[0])&gt;=0&amp;&amp;(c=x,f=h):o.log(&quot;endpt to newendpt is not vert. or horz.&quot;,l,c,x)}if(l=c,f&gt;=0)break;m+=&quot;L&quot;+c}if(f===t.edgepaths.length){o.log(&quot;unclosed perimeter path&quot;);break}g=f,(y=-1===v.indexOf(g))&amp;&amp;(g=v[0],m+=&quot;Z&quot;)}for(g=0;g&lt;t.paths.length;g++)m+=s.smoothclosed(t.paths[g],t.smoothing);return m}var a=t(&quot;d3&quot;),o=t(&quot;../../lib&quot;),s=t(&quot;../../components/drawing&quot;),l=t(&quot;../../lib/svg_text_utils&quot;),c=t(&quot;../../plots/cartesian/axes&quot;),u=t(&quot;../../plots/cartesian/set_convert&quot;),f=t(&quot;../heatmap/plot&quot;),h=t(&quot;./make_crossings&quot;),d=t(&quot;./find_all_paths&quot;),p=t(&quot;./end_plus&quot;),m=t(&quot;./constants&quot;),g=m.LABELOPTIMIZER;r.plot=function(t,e,r){for(var i=0;i&lt;r.length;i++)n(t,e,r[i])},r.makeContourGroup=function(t,e,r){var n=t.plot.select(&quot;.maplayer&quot;).selectAll(&quot;g.contour.&quot;+r).data(e);return n.enter().append(&quot;g&quot;).classed(&quot;contour&quot;,!0).classed(r,!0),n.exit().remove(),n},r.createLines=function(t,e,r){var n=r[0].smoothing,i=t.selectAll(&quot;g.contourlevel&quot;).data(e?r:[]);if(i.exit().remove(),i.enter().append(&quot;g&quot;).classed(&quot;contourlevel&quot;,!0),e){var a=i.selectAll(&quot;path.openline&quot;).data(function(t){return t.pedgepaths||t.edgepaths});a.exit().remove(),a.enter().append(&quot;path&quot;).classed(&quot;openline&quot;,!0),a.attr(&quot;d&quot;,function(t){return s.smoothopen(t,n)}).style(&quot;stroke-miterlimit&quot;,1).style(&quot;vector-effect&quot;,&quot;non-scaling-stroke&quot;);var o=i.selectAll(&quot;path.closedline&quot;).data(function(t){return t.ppaths||t.paths});o.exit().remove(),o.enter().append(&quot;path&quot;).classed(&quot;closedline&quot;,!0),o.attr(&quot;d&quot;,function(t){return s.smoothclosed(t,n)}).style(&quot;stroke-miterlimit&quot;,1).style(&quot;vector-effect&quot;,&quot;non-scaling-stroke&quot;)}return i},r.createLineClip=function(t,e,r,n){var i=e?&quot;clipline&quot;+n:null,a=r.selectAll(&quot;#&quot;+i).data(e?[0]:[]);return a.exit().remove(),a.enter().append(&quot;clipPath&quot;).classed(&quot;contourlineclip&quot;,!0).attr(&quot;id&quot;,i),s.setClipUrl(t,i),a},r.labelFormatter=function(t,e,r){if(t.labelformat)return r._d3locale.numberFormat(t.labelformat);var n;return e?n=e.axis:(n={type:&quot;linear&quot;,_id:&quot;ycontour&quot;,nticks:(t.end-t.start)/t.size,showexponent:&quot;all&quot;,range:[t.start,t.end]},u(n,r),c.calcTicks(n),n._tmin=null,n._tmax=null),function(t){return c.tickText(n,t).text}},r.calcTextOpts=function(t,e,r,n){var i=e(t);r.text(i).call(l.convertToTspans,n);var a=s.bBox(r.node(),!0);return{text:i,width:a.width,height:a.height,level:t,dy:(a.top+a.bottom)/2}},r.findBestTextLocation=function(t,e,r,n,i){var a,s,l,c,u,f=r.width;e.isClosed?(s=e.len/g.INITIALSEARCHPOINTS,a=e.min+s/2,l=e.max):(s=(e.len-f)/(g.INITIALSEARCHPOINTS+1),a=e.min+s+f/2,l=e.max-(s+f)/2);for(var h=1/0,d=0;d&lt;g.ITERATIONS;d++){for(var p=a;p&lt;l;p+=s){var m=o.getTextLocation(t,e.total,p,f),v=function(t,e,r,n){var i=e.width/2,a=e.height/2,s=t.x,l=t.y,c=t.theta,u=Math.cos(c)*i,f=Math.sin(c)*i,h=(s&gt;n.center?n.right-s:s-n.left)/(u+Math.abs(Math.sin(c)*a)),d=(l&gt;n.middle?n.bottom-l:l-n.top)/(Math.abs(f)+Math.cos(c)*a);if(h&lt;1||d&lt;1)return 1/0;var p=g.EDGECOST*(1/(h-1)+1/(d-1));p+=g.ANGLECOST*c*c;for(var m=s-u,v=l-f,y=s+u,x=l+f,b=0;b&lt;r.length;b++){var _=r[b],w=Math.cos(_.theta)*_.width/2,M=Math.sin(_.theta)*_.width/2,k=2*o.segmentDistance(m,v,y,x,_.x-w,_.y-M,_.x+w,_.y+M)/(e.height+_.height),A=_.level===e.level,T=A?g.SAMELEVELDISTANCE:1;if(k&lt;=T)return 1/0;p+=g.NEIGHBORCOST*(A?g.SAMELEVELFACTOR:1)/(k-T)}return p}(m,r,n,i);v&lt;h&amp;&amp;(h=v,u=m,c=p)}if(h&gt;2*g.MAXCOST)break;d&amp;&amp;(s/=2),l=(a=c-s/2)+1.5*s}if(h&lt;=g.MAXCOST)return u},r.addLabelData=function(t,e,r,n){var i=e.width/2,a=e.height/2,o=t.x,s=t.y,l=t.theta,c=Math.sin(l),u=Math.cos(l),f=i*u,h=a*c,d=i*c,p=-a*u,m=[[o-f-h,s-d-p],[o+f-h,s+d-p],[o+f+h,s+d+p],[o-f+h,s-d+p]];r.push({text:e.text,x:o,y:s,dy:e.dy,theta:l,level:e.level,width:e.width,height:e.height}),n.push(m)},r.drawLabels=function(t,e,r,n,i){var o=t.selectAll(&quot;text&quot;).data(e,function(t){return t.text+&quot;,&quot;+t.x+&quot;,&quot;+t.y+&quot;,&quot;+t.theta});if(o.exit().remove(),o.enter().append(&quot;text&quot;).attr({&quot;data-notex&quot;:1,&quot;text-anchor&quot;:&quot;middle&quot;}).each(function(t){var e=t.x+Math.sin(t.theta)*t.dy,n=t.y-Math.cos(t.theta)*t.dy;a.select(this).text(t.text).attr({x:e,y:n,transform:&quot;rotate(&quot;+180*t.theta/Math.PI+&quot; &quot;+e+&quot; &quot;+n+&quot;)&quot;}).call(l.convertToTspans,r)}),i){for(var s=&quot;&quot;,c=0;c&lt;i.length;c++)s+=&quot;M&quot;+i[c].join(&quot;L&quot;)+&quot;Z&quot;;var u=n.selectAll(&quot;path&quot;).data([0]);u.enter().append(&quot;path&quot;),u.attr(&quot;d&quot;,s)}}},{&quot;../../components/drawing&quot;:643,&quot;../../lib&quot;:743,&quot;../../lib/svg_text_utils&quot;:766,&quot;../../plots/cartesian/axes&quot;:789,&quot;../../plots/cartesian/set_convert&quot;:808,&quot;../heatmap/plot&quot;:990,&quot;./constants&quot;:952,&quot;./end_plus&quot;:955,&quot;./find_all_paths&quot;:956,&quot;./make_crossings&quot;:960,d3:128}],962:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;d3&quot;),i=t(&quot;../../components/drawing&quot;),a=t(&quot;../heatmap/style&quot;),o=t(&quot;./make_color_map&quot;);e.exports=function(t){var e=n.select(t).selectAll(&quot;g.contour&quot;);e.style(&quot;opacity&quot;,function(t){return t.trace.opacity}),e.each(function(t){var e=n.select(this),r=t.trace,a=r.contours,s=r.line,l=a.size||1,c=a.start,u=&quot;constraint&quot;===a.type,f=!u&amp;&amp;&quot;lines&quot;===a.coloring,h=!u&amp;&amp;&quot;fill&quot;===a.coloring,d=f||h?o(r):null;e.selectAll(&quot;g.contourlevel&quot;).each(function(t){n.select(this).selectAll(&quot;path&quot;).call(i.lineGroupStyle,s.width,f?d(t.level):s.color,s.dash)});var p=a.labelfont;if(e.selectAll(&quot;g.contourlabels text&quot;).each(function(t){i.font(n.select(this),{family:p.family,size:p.size,color:p.color||(f?d(t.level):s.color)})}),u)e.selectAll(&quot;g.contourfill path&quot;).style(&quot;fill&quot;,r.fillcolor);else if(h){var m;e.selectAll(&quot;g.contourfill path&quot;).style(&quot;fill&quot;,function(t){return void 0===m&amp;&amp;(m=t.level),d(t.level+.5*l)}),void 0===m&amp;&amp;(m=c),e.selectAll(&quot;g.contourbg path&quot;).style(&quot;fill&quot;,d(m-.5*l))}}),a(t)}},{&quot;../../components/drawing&quot;:643,&quot;../heatmap/style&quot;:991,&quot;./make_color_map&quot;:959,d3:128}],963:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../components/colorscale/defaults&quot;),i=t(&quot;../../lib&quot;);e.exports=function(t,e,r,a,o){o||(o={});var s,l=r(&quot;contours.coloring&quot;),c=&quot;&quot;;&quot;fill&quot;===l&amp;&amp;(s=r(&quot;contours.showlines&quot;)),!1!==s&amp;&amp;(&quot;lines&quot;!==l&amp;&amp;(c=r(&quot;line.color&quot;,o.defaultColor||&quot;#000&quot;)),r(&quot;line.width&quot;,void 0===o.defaultWidth?.5:o.defaultWidth),r(&quot;line.dash&quot;)),r(&quot;line.smoothing&quot;),&quot;none&quot;!==l&amp;&amp;n(t,e,a,r,{prefix:&quot;&quot;,cLetter:&quot;z&quot;});if(r(&quot;contours.showlabels&quot;)){var u=a.font;i.coerceFont(r,&quot;contours.labelfont&quot;,{family:u.family,size:u.size,color:c}),r(&quot;contours.labelformat&quot;)}!1!==o.hasHover&amp;&amp;r(&quot;zhoverformat&quot;)}},{&quot;../../components/colorscale/defaults&quot;:628,&quot;../../lib&quot;:743}],964:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../heatmap/attributes&quot;),i=t(&quot;../contour/attributes&quot;),a=i.contours,o=t(&quot;../scatter/attributes&quot;),s=t(&quot;../../components/colorscale/attributes&quot;),l=t(&quot;../../components/colorbar/attributes&quot;),c=t(&quot;../../lib/extend&quot;).extendFlat,u=o.line,f=t(&quot;./constants&quot;);e.exports=c({},{carpet:{valType:&quot;string&quot;,editType:&quot;calc&quot;},z:n.z,a:n.x,a0:n.x0,da:n.dx,b:n.y,b0:n.y0,db:n.dy,text:n.text,transpose:n.transpose,atype:n.xtype,btype:n.ytype,mode:{valType:&quot;flaglist&quot;,flags:[&quot;lines&quot;,&quot;fill&quot;],extras:[&quot;none&quot;],editType:&quot;calc&quot;},connectgaps:n.connectgaps,fillcolor:{valType:&quot;color&quot;,editType:&quot;calc&quot;},autocontour:i.autocontour,ncontours:i.ncontours,contours:{type:{valType:&quot;enumerated&quot;,values:[&quot;levels&quot;,&quot;constraint&quot;],dflt:&quot;levels&quot;,editType:&quot;calc&quot;},start:a.start,end:a.end,size:a.size,coloring:{valType:&quot;enumerated&quot;,values:[&quot;fill&quot;,&quot;lines&quot;,&quot;none&quot;],dflt:&quot;fill&quot;,editType:&quot;calc&quot;},showlines:a.showlines,showlabels:a.showlabels,labelfont:a.labelfont,labelformat:a.labelformat,operation:{valType:&quot;enumerated&quot;,values:[].concat(f.INEQUALITY_OPS).concat(f.INTERVAL_OPS).concat(f.SET_OPS),dflt:&quot;=&quot;,editType:&quot;calc&quot;},value:{valType:&quot;any&quot;,dflt:0,editType:&quot;calc&quot;},editType:&quot;calc&quot;},line:{color:c({},u.color,{}),width:u.width,dash:u.dash,smoothing:c({},u.smoothing,{}),editType:&quot;plot&quot;}},s,{autocolorscale:c({},s.autocolorscale,{dflt:!1})},{colorbar:l})},{&quot;../../components/colorbar/attributes&quot;:619,&quot;../../components/colorscale/attributes&quot;:624,&quot;../../lib/extend&quot;:732,&quot;../contour/attributes&quot;:949,&quot;../heatmap/attributes&quot;:977,&quot;../scatter/attributes&quot;:1066,&quot;./constants&quot;:967}],965:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r){var n={type:&quot;linear&quot;,range:[t,e]};return i.autoTicks(n,(e-t)/(r||15)),n}var i=t(&quot;../../plots/cartesian/axes&quot;),a=t(&quot;../../lib&quot;).extendFlat,o=t(&quot;../../components/colorscale/calc&quot;),s=t(&quot;../heatmap/has_columns&quot;),l=t(&quot;../heatmap/convert_column_xyz&quot;),c=t(&quot;../heatmap/clean_2d_array&quot;),u=t(&quot;../heatmap/max_row_length&quot;),f=t(&quot;../heatmap/interp2d&quot;),h=t(&quot;../heatmap/find_empties&quot;),d=t(&quot;../heatmap/make_bound_array&quot;),p=t(&quot;./defaults&quot;),m=t(&quot;../carpet/lookup_carpetid&quot;);e.exports=function(t,e){var r=e.carpetTrace=m(t,e);if(r&amp;&amp;r.visible&amp;&amp;&quot;legendonly&quot;!==r.visible){if(!e.a||!e.b){var g=t.data[r.index],v=t.data[e.index];v.a||(v.a=g.a),v.b||(v.b=g.b),p(v,e,e._defaultColor,t._fullLayout)}var y=function(t,e){var r,n,i,a,p,m,g,v=e.carpetTrace,y=v.aaxis,x=v.baxis;y._minDtick=0,x._minDtick=0,s(e)&amp;&amp;l(e,y,x,&quot;a&quot;,&quot;b&quot;,[&quot;z&quot;]),r=e.a?y.makeCalcdata(e,&quot;a&quot;):[],a=e.b?x.makeCalcdata(e,&quot;b&quot;):[],n=e.a0||0,i=e.da||1,p=e.b0||0,m=e.db||1,g=c(e.z,e.transpose),e._emptypoints=h(g),e._interpz=f(g,e._emptypoints,e._interpz);var b=u(g),_=&quot;scaled&quot;===e.xtype?&quot;&quot;:r,w=d(e,_,n,i,b,y),M=&quot;scaled&quot;===e.ytype?&quot;&quot;:a,k={a:w,b:d(e,M,p,m,g.length,x),z:g};return&quot;levels&quot;===e.contours.type&amp;&amp;o(e,g,&quot;&quot;,&quot;z&quot;),[k]}(0,e),x=e.contours;if(!0===e.autocontour){var b=n(e.zmin,e.zmax,e.ncontours);x.size=b.dtick,x.start=i.tickFirst(b),b.range.reverse(),x.end=i.tickFirst(b),x.start===e.zmin&amp;&amp;(x.start+=x.size),x.end===e.zmax&amp;&amp;(x.end-=x.size),x.start&gt;x.end&amp;&amp;(x.start=x.end=(x.start+x.end)/2),e._input.contours=a({},x)}else{var _=x.start,w=x.end,M=e._input.contours;if(_&gt;w&amp;&amp;(x.start=M.start=w,w=x.end=M.end=_,_=x.start),!(x.size&gt;0)){var k;k=_===w?1:n(_,w,e.ncontours).dtick,M.size=x.size=k}}return y}}},{&quot;../../components/colorscale/calc&quot;:625,&quot;../../lib&quot;:743,&quot;../../plots/cartesian/axes&quot;:789,&quot;../carpet/lookup_carpetid&quot;:931,&quot;../heatmap/clean_2d_array&quot;:979,&quot;../heatmap/convert_column_xyz&quot;:981,&quot;../heatmap/find_empties&quot;:983,&quot;../heatmap/has_columns&quot;:984,&quot;../heatmap/interp2d&quot;:987,&quot;../heatmap/make_bound_array&quot;:988,&quot;../heatmap/max_row_length&quot;:989,&quot;./defaults&quot;:971}],966:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t,e,r,n){var i,a,o,s=n.a.length,l=n.b.length,c=n.z,u=-1/0,f=1/0;for(i=0;i&lt;l;i++)f=Math.min(f,c[i][0]),f=Math.min(f,c[i][s-1]),u=Math.max(u,c[i][0]),u=Math.max(u,c[i][s-1]);for(i=1;i&lt;s-1;i++)f=Math.min(f,c[0][i]),f=Math.min(f,c[l-1][i]),u=Math.max(u,c[0][i]),u=Math.max(u,c[l-1][i]);switch(e){case&quot;&gt;&quot;:case&quot;&gt;=&quot;:n.contours.value&gt;u&amp;&amp;(t[0].prefixBoundary=!0);break;case&quot;&lt;&quot;:case&quot;&lt;=&quot;:n.contours.value&lt;f&amp;&amp;(t[0].prefixBoundary=!0);break;case&quot;[]&quot;:case&quot;()&quot;:a=Math.min.apply(null,n.contours.value),(o=Math.max.apply(null,n.contours.value))&lt;f&amp;&amp;(t[0].prefixBoundary=!0),a&gt;u&amp;&amp;(t[0].prefixBoundary=!0);break;case&quot;][&quot;:case&quot;)(&quot;:a=Math.min.apply(null,n.contours.value),o=Math.max.apply(null,n.contours.value),a&lt;f&amp;&amp;o&gt;u&amp;&amp;(t[0].prefixBoundary=!0)}}},{}],967:[function(t,e,r){&quot;use strict&quot;;e.exports={INEQUALITY_OPS:[&quot;=&quot;,&quot;&lt;&quot;,&quot;&gt;=&quot;,&quot;&gt;&quot;,&quot;&lt;=&quot;],INTERVAL_OPS:[&quot;[]&quot;,&quot;()&quot;,&quot;[)&quot;,&quot;(]&quot;,&quot;][&quot;,&quot;)(&quot;,&quot;](&quot;,&quot;)[&quot;],SET_OPS:[&quot;{}&quot;,&quot;}{&quot;]}},{}],968:[function(t,e,r){&quot;use strict&quot;;function n(t,e){function r(t){return s(t)?+t:null}var n,i=Array.isArray(e);return-1!==o.INEQUALITY_OPS.indexOf(t)?n=r(i?e[0]:e):-1!==o.INTERVAL_OPS.indexOf(t)?n=i?[r(e[0]),r(e[1])]:[r(e),r(e)]:-1!==o.SET_OPS.indexOf(t)&amp;&amp;(n=i?e.map(r):[r(e)]),n}function i(t){return function(e){e=n(t,e);var r=Math.min(e[0],e[1]),i=Math.max(e[0],e[1]);return{start:r,end:i,size:i-r}}}function a(t){return function(e){return e=n(t,e),{start:e,end:1/0,size:1/0}}}var o=t(&quot;./constants&quot;),s=t(&quot;fast-isnumeric&quot;);e.exports[&quot;[]&quot;]=i(&quot;[]&quot;),e.exports[&quot;()&quot;]=i(&quot;()&quot;),e.exports[&quot;[)&quot;]=i(&quot;[)&quot;),e.exports[&quot;(]&quot;]=i(&quot;(]&quot;),e.exports[&quot;][&quot;]=i(&quot;][&quot;),e.exports[&quot;)(&quot;]=i(&quot;)(&quot;),e.exports[&quot;)[&quot;]=i(&quot;)[&quot;),e.exports[&quot;](&quot;]=i(&quot;](&quot;),e.exports[&quot;&gt;&quot;]=a(&quot;&gt;&quot;),e.exports[&quot;&gt;=&quot;]=a(&quot;&gt;=&quot;),e.exports[&quot;&lt;&quot;]=a(&quot;&lt;&quot;),e.exports[&quot;&lt;=&quot;]=a(&quot;&lt;=&quot;),e.exports[&quot;=&quot;]=a(&quot;=&quot;)},{&quot;./constants&quot;:967,&quot;fast-isnumeric&quot;:140}],969:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;./constraint_mapping&quot;),i=t(&quot;fast-isnumeric&quot;);e.exports=function(t,e){var r;-1===[&quot;=&quot;,&quot;&lt;&quot;,&quot;&lt;=&quot;,&quot;&gt;&quot;,&quot;&gt;=&quot;].indexOf(e.operation)?(t(&quot;contours.value&quot;,[0,1]),Array.isArray(e.value)?e.value.length&gt;2?e.value=e.value.slice(2):0===e.length?e.value=[0,1]:e.length&lt;2?(r=parseFloat(e.value[0]),e.value=[r,r+1]):e.value=[parseFloat(e.value[0]),parseFloat(e.value[1])]:i(e.value)&amp;&amp;(r=parseFloat(e.value),e.value=[r,r+1])):(t(&quot;contours.value&quot;,0),i(e.value)||(Array.isArray(e.value)?e.value=parseFloat(e.value[0]):e.value=0));var a=n[e.operation](e.value);e.start=a.start,e.end=a.end,e.size=a.size}},{&quot;./constraint_mapping&quot;:968,&quot;fast-isnumeric&quot;:140}],970:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib&quot;);e.exports=function(t,e){var r,i,a,o=function(t){return t.reverse()},s=function(t){return t};switch(e){case&quot;][&quot;:case&quot;)[&quot;:case&quot;](&quot;:case&quot;)(&quot;:var l=o;o=s,s=l;case&quot;[]&quot;:case&quot;[)&quot;:case&quot;(]&quot;:case&quot;()&quot;:if(2!==t.length)return void n.warn(&quot;Contour data invalid for the specified inequality range operation.&quot;);for(i=t[0],a=t[1],r=0;r&lt;i.edgepaths.length;r++)i.edgepaths[r]=o(i.edgepaths[r]);for(r=0;r&lt;i.paths.length;r++)i.paths[r]=o(i.paths[r]);for(;a.edgepaths.length;)i.edgepaths.push(s(a.edgepaths.shift()));for(;a.paths.length;)i.paths.push(s(a.paths.shift()));t.pop();break;case&quot;&gt;=&quot;:case&quot;&gt;&quot;:if(1!==t.length)return void n.warn(&quot;Contour data invalid for the specified inequality operation.&quot;);for(i=t[0],r=0;r&lt;i.edgepaths.length;r++)i.edgepaths[r]=o(i.edgepaths[r]);for(r=0;r&lt;i.paths.length;r++)i.paths[r]=o(i.paths[r])}}},{&quot;../../lib&quot;:743}],971:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib&quot;),i=t(&quot;../heatmap/xyz_defaults&quot;),a=t(&quot;./attributes&quot;),o=t(&quot;../contour/style_defaults&quot;),s=t(&quot;../scatter/fillcolor_defaults&quot;),l=t(&quot;../../plots/attributes&quot;),c=t(&quot;./constraint_value_defaults&quot;),u=t(&quot;../../components/color&quot;).addOpacity;e.exports=function(t,e,r,f){function h(r,i){return n.coerce(t,e,a,r,i)}if(h(&quot;carpet&quot;),t.a&amp;&amp;t.b){var d,p,m;if(!i(t,e,h,f,&quot;a&quot;,&quot;b&quot;))return void(e.visible=!1);h(&quot;text&quot;),h(&quot;contours.type&quot;);var g=e.contours;if(&quot;constraint&quot;===g.type){h(&quot;contours.operation&quot;),c(h,g),n.coerce(t,e,l,&quot;showlegend&quot;,!0),h(&quot;contours.coloring&quot;,&quot;=&quot;===g.operation?&quot;lines&quot;:&quot;fill&quot;),h(&quot;contours.showlines&quot;,!0),&quot;=&quot;===g.operation&amp;&amp;(g.coloring=&quot;lines&quot;),s(t,e,r,h);var v=e.fillcolor?u(e.fillcolor,1):r;o(t,e,h,f,{hasHover:!1,defaultColor:v,defaultWidth:2}),&quot;=&quot;===g.operation&amp;&amp;(h(&quot;line.color&quot;,r),&quot;fill&quot;===g.coloring&amp;&amp;(g.coloring=&quot;lines&quot;),&quot;lines&quot;===g.coloring&amp;&amp;delete e.fillcolor),delete e.showscale,delete e.autocontour,delete e.autocolorscale,delete e.colorscale,delete e.ncontours,delete e.colorbar,e.line&amp;&amp;(delete e.line.autocolorscale,delete e.line.colorscale,delete e.line.mincolor,delete e.line.maxcolor)}else n.coerce(t,e,l,&quot;showlegend&quot;,!1),p=n.coerce2(t,e,a,&quot;contours.start&quot;),m=n.coerce2(t,e,a,&quot;contours.end&quot;),d=h(&quot;contours.size&quot;),h(&quot;contours.coloring&quot;),!(!1===p||!1===m?e.autocontour=!0:h(&quot;autocontour&quot;,!1))&amp;&amp;d||h(&quot;ncontours&quot;),o(t,e,h,f,{hasHover:!1}),delete e.value,delete e.operation}else e._defaultColor=r}},{&quot;../../components/color&quot;:618,&quot;../../lib&quot;:743,&quot;../../plots/attributes&quot;:787,&quot;../contour/style_defaults&quot;:963,&quot;../heatmap/xyz_defaults&quot;:993,&quot;../scatter/fillcolor_defaults&quot;:1075,&quot;./attributes&quot;:964,&quot;./constraint_value_defaults&quot;:969}],972:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib&quot;);e.exports=function(t,e,r){for(var i=t.size,a=[],o=r.trace.carpetTrace,s=t.start;s&lt;t.end+i/10;s+=i)if(a.push({level:s,crossings:{},starts:[],edgepaths:[],paths:[],xaxis:o.aaxis,yaxis:o.baxis,x:r.a,y:r.b,z:r.z,smoothing:r.trace.line.smoothing}),a.length&gt;1e3){n.warn(&quot;Too many contours, clipping at 1000&quot;,t);break}return a}},{&quot;../../lib&quot;:743}],973:[function(t,e,r){&quot;use strict&quot;;var n={};n.attributes=t(&quot;./attributes&quot;),n.supplyDefaults=t(&quot;./defaults&quot;),n.colorbar=t(&quot;../contour/colorbar&quot;),n.calc=t(&quot;./calc&quot;),n.plot=t(&quot;./plot&quot;),n.style=t(&quot;../contour/style&quot;),n.moduleType=&quot;trace&quot;,n.name=&quot;contourcarpet&quot;,n.basePlotModule=t(&quot;../../plots/cartesian&quot;),n.categories=[&quot;cartesian&quot;,&quot;carpet&quot;,&quot;contour&quot;,&quot;symbols&quot;,&quot;showLegend&quot;,&quot;hasLines&quot;,&quot;carpetDependent&quot;],n.meta={},e.exports=n},{&quot;../../plots/cartesian&quot;:800,&quot;../contour/colorbar&quot;:951,&quot;../contour/style&quot;:962,&quot;./attributes&quot;:964,&quot;./calc&quot;:965,&quot;./defaults&quot;:971,&quot;./plot&quot;:976}],974:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../components/drawing&quot;),i=t(&quot;../carpet/axis_aligned_line&quot;),a=t(&quot;../../lib&quot;);e.exports=function(t,e,r,o,s,l,c,u){function f(t){return Math.abs(t[1]-r[0][1])&lt;S}function h(t){return Math.abs(t[1]-r[2][1])&lt;S}function d(t){return Math.abs(t[0]-r[0][0])&lt;T}function p(t){return Math.abs(t[0]-r[2][0])&lt;T}function m(t,e){var r,n,a,o,m=&quot;&quot;;for(f(t)&amp;&amp;!p(t)||h(t)&amp;&amp;!d(t)?(o=s.aaxis,a=i(s,l,[t[0],e[0]],.5*(t[1]+e[1]))):(o=s.baxis,a=i(s,l,.5*(t[0]+e[0]),[t[1],e[1]])),r=1;r&lt;a.length;r++)for(m+=o.smoothing?&quot;C&quot;:&quot;L&quot;,n=0;n&lt;a[r].length;n++){var g=a[r][n];m+=[c.c2p(g[0]),u.c2p(g[1])]+&quot; &quot;}return m}var g,v,y,x,b,_,w,M=&quot;&quot;,k=e.edgepaths.map(function(t,e){return e}),A=!0,T=1e-4*Math.abs(r[0][0]-r[2][0]),S=1e-4*Math.abs(r[0][1]-r[2][1]);for(g=0,v=null;k.length;){var E=e.edgepaths[g][0];for(v&amp;&amp;(M+=m(v,E)),w=n.smoothopen(e.edgepaths[g].map(o),e.smoothing),M+=A?w:w.replace(/^M/,&quot;L&quot;),k.splice(k.indexOf(g),1),v=e.edgepaths[g][e.edgepaths[g].length-1],b=-1,x=0;x&lt;4;x++){if(!v){a.log(&quot;Missing end?&quot;,g,e);break}for(f(v)&amp;&amp;!p(v)?y=r[1]:d(v)?y=r[0]:h(v)?y=r[3]:p(v)&amp;&amp;(y=r[2]),_=0;_&lt;e.edgepaths.length;_++){var L=e.edgepaths[_][0];Math.abs(v[0]-y[0])&lt;T?Math.abs(v[0]-L[0])&lt;T&amp;&amp;(L[1]-v[1])*(y[1]-L[1])&gt;=0&amp;&amp;(y=L,b=_):Math.abs(v[1]-y[1])&lt;S?Math.abs(v[1]-L[1])&lt;S&amp;&amp;(L[0]-v[0])*(y[0]-L[0])&gt;=0&amp;&amp;(y=L,b=_):a.log(&quot;endpt to newendpt is not vert. or horz.&quot;,v,y,L)}if(b&gt;=0)break;M+=m(v,y),v=y}if(b===e.edgepaths.length){a.log(&quot;unclosed perimeter path&quot;);break}g=b,(A=-1===k.indexOf(g))&amp;&amp;(g=k[0],M+=m(v,y)+&quot;Z&quot;,v=null)}for(g=0;g&lt;e.paths.length;g++)M+=n.smoothclosed(e.paths[g].map(o),e.smoothing);return M}},{&quot;../../components/drawing&quot;:643,&quot;../../lib&quot;:743,&quot;../carpet/axis_aligned_line&quot;:914}],975:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t,e){var r,n,i,a,o,s,l,c,u;for(r=0;r&lt;t.length;r++){for(o=(a=t[r]).pedgepaths=[],s=a.ppaths=[],n=0;n&lt;a.edgepaths.length;n++){for(u=a.edgepaths[n],l=[],i=0;i&lt;u.length;i++)l[i]=e(u[i]);o.push(l)}for(n=0;n&lt;a.paths.length;n++){for(u=a.paths[n],c=[],i=0;i&lt;u.length;i++)c[i]=e(u[i]);s.push(c)}}}},{}],976:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r){function n(t){var e=M.ab2xy(t[0],t[1],!0);return[L.c2p(e[0]),C.c2p(e[1])]}var w=r[0].trace,M=w.carpetTrace=b(t,w),k=t.calcdata[M.index][0];if(M.visible&amp;&amp;&quot;legendonly&quot;!==M.visible){var A=r[0].a,T=r[0].b,S=w.contours,E=w.uid,L=e.xaxis,C=e.yaxis,z=t._fullLayout,D=&quot;contour&quot;+E,I=y(S,e,r[0]),P=&quot;constraint&quot;===w.contours.type;if(!0===w.visible){var O=[[A[0],T[T.length-1]],[A[A.length-1],T[T.length-1]],[A[A.length-1],T[0]],[A[0],T[0]]];h(I);var F=1e-8*(A[A.length-1]-A[0]),R=1e-8*(T[T.length-1]-T[0]);d(I,F,R),&quot;constraint&quot;===w.contours.type&amp;&amp;(g(I,w.contours.operation),_(I,w.contours.operation,O,w)),x(I,n);var N,j,B,U,V=p.makeContourGroup(e,r,D),q=[];for(U=k.clipsegments.length-1;U&gt;=0;U--)N=k.clipsegments[U],j=l([],N.x,L.c2p),B=l([],N.y,C.c2p),j.reverse(),B.reverse(),q.push(c(j,B,N.bicubic));var H=&quot;M&quot;+q.join(&quot;L&quot;)+&quot;Z&quot;;!function(t,e,r,n,i,a){var o,s,u,f,h=t.selectAll(&quot;g.contourbg&quot;).data([0]);h.enter().append(&quot;g&quot;).classed(&quot;contourbg&quot;,!0);var d=h.selectAll(&quot;path&quot;).data(&quot;fill&quot;!==a||i?[]:[0]);d.enter().append(&quot;path&quot;),d.exit().remove();var p=[];for(f=0;f&lt;e.length;f++)o=e[f],s=l([],o.x,r.c2p),u=l([],o.y,n.c2p),p.push(c(s,u,o.bicubic));d.attr(&quot;d&quot;,&quot;M&quot;+p.join(&quot;L&quot;)+&quot;Z&quot;).style(&quot;stroke&quot;,&quot;none&quot;)}(V,k.clipsegments,L,C,P,S.coloring),function(t,e,r,n,i,a,o,l,c,u,f){var h=e.selectAll(&quot;g.contourfill&quot;).data([0]);h.enter().append(&quot;g&quot;).classed(&quot;contourfill&quot;,!0);var d=h.selectAll(&quot;path&quot;).data(&quot;fill&quot;===u?i:[]);d.enter().append(&quot;path&quot;),d.exit().remove(),d.each(function(e){var i=v(t,e,a,o,l,c,r,n);e.prefixBoundary&amp;&amp;(i=f+i),i?s.select(this).attr(&quot;d&quot;,i).style(&quot;stroke&quot;,&quot;none&quot;):s.select(this).remove()})}(w,V,L,C,I,O,n,M,k,S.coloring,H),function(t,e,r,n,l,c,h){var d=t.selectAll(&quot;g.contourlines&quot;).data([0]);d.enter().append(&quot;g&quot;).classed(&quot;contourlines&quot;,!0);var g=!1!==l.showlines,v=l.showlabels,y=g&amp;&amp;v,x=p.createLines(d,g||v,e),b=p.createLineClip(d,y,r._fullLayout._defs,n.trace.uid),_=t.selectAll(&quot;g.contourlabels&quot;).data(v?[0]:[]);if(_.exit().remove(),_.enter().append(&quot;g&quot;).classed(&quot;contourlabels&quot;,!0),v){var w=c.xaxis,M=c.yaxis,k=w._length,A=M._length,T=[[[0,0],[k,0],[k,A],[0,A]]],S=[];f.clearLocationCache();var E=p.labelFormatter(l,n.t.cb,r._fullLayout),L=u.tester.append(&quot;text&quot;).attr(&quot;data-notex&quot;,1).call(u.font,l.labelfont),C={left:0,right:k,center:k/2,top:0,bottom:A,middle:A/2},z=Math.sqrt(k*k+A*A),D=m.LABELDISTANCE*z/Math.max(1,e.length/m.LABELINCREASE);x.each(function(t){var e=p.calcTextOpts(t.level,E,L,r);s.select(this).selectAll(&quot;path&quot;).each(function(r){var n=f.getVisibleSegment(this,C,e.height/2);if(n&amp;&amp;(function(t,e,r,n,s,l){function c(t,e){var r,n=0;return(Math.abs(t[0]-h)&lt;.1||Math.abs(t[0]-d)&lt;.1)&amp;&amp;(r=a(s.dxydb_rough(t[0],t[1],.1)),n=Math.max(n,l*o(e,r)/2)),(Math.abs(t[1]-p)&lt;.1||Math.abs(t[1]-m)&lt;.1)&amp;&amp;(r=a(s.dxyda_rough(t[0],t[1],.1)),n=Math.max(n,l*o(e,r)/2)),n}for(var u,f=0;f&lt;r.pedgepaths.length;f++)e===r.pedgepaths[f]&amp;&amp;(u=r.edgepaths[f]);if(!u)return;var h=s.a[0],d=s.a[s.a.length-1],p=s.b[0],m=s.b[s.b.length-1];var g=i(t,0,1),v=i(t,n.total,n.total-1),y=c(u[0],g),x=n.total-c(u[u.length-1],v);n.min&lt;y&amp;&amp;(n.min=y);n.max&gt;x&amp;&amp;(n.max=x);n.len=n.max-n.min}(this,r,t,n,h,e.height),!(n.len&lt;(e.width+e.height)*m.LABELMIN)))for(var s=Math.min(Math.ceil(n.len/D),m.LABELMAX),l=0;l&lt;s;l++){var c=p.findBestTextLocation(this,n,e,S,C);if(!c)break;p.addLabelData(c,e,S,T)}})}),L.remove(),p.drawLabels(_,S,r,b,y?T:null)}v&amp;&amp;!g&amp;&amp;x.remove()}(V,I,t,r[0],S,e,M),u.setClipUrl(V,M._clipPathId)}else z._infolayer.selectAll(&quot;.cb&quot;+E).remove()}}function i(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 a(t){var e=Math.sqrt(t[0]*t[0]+t[1]*t[1]);return[t[0]/e,t[1]/e]}function o(t,e){var r=Math.abs(t[0]*e[0]+t[1]*e[1]);return Math.sqrt(1-r*r)/r}var s=t(&quot;d3&quot;),l=t(&quot;../carpet/map_1d_array&quot;),c=t(&quot;../carpet/makepath&quot;),u=t(&quot;../../components/drawing&quot;),f=t(&quot;../../lib&quot;),h=t(&quot;../contour/make_crossings&quot;),d=t(&quot;../contour/find_all_paths&quot;),p=t(&quot;../contour/plot&quot;),m=t(&quot;../contour/constants&quot;),g=t(&quot;./convert_to_constraints&quot;),v=t(&quot;./join_all_paths&quot;),y=t(&quot;./empty_pathinfo&quot;),x=t(&quot;./map_pathinfo&quot;),b=t(&quot;../carpet/lookup_carpetid&quot;),_=t(&quot;./close_boundaries&quot;);e.exports=function(t,e,r){for(var i=0;i&lt;r.length;i++)n(t,e,r[i])}},{&quot;../../components/drawing&quot;:643,&quot;../../lib&quot;:743,&quot;../carpet/lookup_carpetid&quot;:931,&quot;../carpet/makepath&quot;:932,&quot;../carpet/map_1d_array&quot;:933,&quot;../contour/constants&quot;:952,&quot;../contour/find_all_paths&quot;:956,&quot;../contour/make_crossings&quot;:960,&quot;../contour/plot&quot;:961,&quot;./close_boundaries&quot;:966,&quot;./convert_to_constraints&quot;:970,&quot;./empty_pathinfo&quot;:972,&quot;./join_all_paths&quot;:974,&quot;./map_pathinfo&quot;:975,d3:128}],977:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../scatter/attributes&quot;),i=t(&quot;../../components/colorscale/attributes&quot;),a=t(&quot;../../components/colorbar/attributes&quot;),o=t(&quot;../../lib/extend&quot;).extendFlat;e.exports=o({},{z:{valType:&quot;data_array&quot;,editType:&quot;calc&quot;},x:o({},n.x,{impliedEdits:{xtype:&quot;array&quot;}}),x0:o({},n.x0,{impliedEdits:{xtype:&quot;scaled&quot;}}),dx:o({},n.dx,{impliedEdits:{xtype:&quot;scaled&quot;}}),y:o({},n.y,{impliedEdits:{ytype:&quot;array&quot;}}),y0:o({},n.y0,{impliedEdits:{ytype:&quot;scaled&quot;}}),dy:o({},n.dy,{impliedEdits:{ytype:&quot;scaled&quot;}}),text:{valType:&quot;data_array&quot;,editType:&quot;calc&quot;},transpose:{valType:&quot;boolean&quot;,dflt:!1,editType:&quot;calc&quot;},xtype:{valType:&quot;enumerated&quot;,values:[&quot;array&quot;,&quot;scaled&quot;],editType:&quot;calc+clearAxisTypes&quot;},ytype:{valType:&quot;enumerated&quot;,values:[&quot;array&quot;,&quot;scaled&quot;],editType:&quot;calc+clearAxisTypes&quot;},zsmooth:{valType:&quot;enumerated&quot;,values:[&quot;fast&quot;,&quot;best&quot;,!1],dflt:!1,editType:&quot;calc&quot;},connectgaps:{valType:&quot;boolean&quot;,dflt:!1,editType:&quot;calc&quot;},xgap:{valType:&quot;number&quot;,dflt:0,min:0,editType:&quot;plot&quot;},ygap:{valType:&quot;number&quot;,dflt:0,min:0,editType:&quot;plot&quot;},zhoverformat:{valType:&quot;string&quot;,dflt:&quot;&quot;,editType:&quot;none&quot;}},i,{autocolorscale:o({},i.autocolorscale,{dflt:!1})},{colorbar:a})},{&quot;../../components/colorbar/attributes&quot;:619,&quot;../../components/colorscale/attributes&quot;:624,&quot;../../lib/extend&quot;:732,&quot;../scatter/attributes&quot;:1066}],978:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../registry&quot;),i=t(&quot;../../lib&quot;),a=t(&quot;../../plots/cartesian/axes&quot;),o=t(&quot;../histogram2d/calc&quot;),s=t(&quot;../../components/colorscale/calc&quot;),l=t(&quot;./has_columns&quot;),c=t(&quot;./convert_column_xyz&quot;),u=t(&quot;./max_row_length&quot;),f=t(&quot;./clean_2d_array&quot;),h=t(&quot;./interp2d&quot;),d=t(&quot;./find_empties&quot;),p=t(&quot;./make_bound_array&quot;);e.exports=function(t,e){function r(t){L=e._input.zsmooth=e.zsmooth=!1,i.warn('cannot use zsmooth: &quot;fast&quot;: '+t)}var m,g,v,y,x,b,_,w,M,k=a.getFromId(t,e.xaxis||&quot;x&quot;),A=a.getFromId(t,e.yaxis||&quot;y&quot;),T=n.traceIs(e,&quot;contour&quot;),S=n.traceIs(e,&quot;histogram&quot;),E=n.traceIs(e,&quot;gl2d&quot;),L=T?&quot;best&quot;:e.zsmooth;if(k._minDtick=0,A._minDtick=0,S?(m=(M=o(t,e)).x,g=M.x0,v=M.dx,y=M.y,x=M.y0,b=M.dy,_=M.z):(l(e)?(c(e,k,A,&quot;x&quot;,&quot;y&quot;,[&quot;z&quot;]),m=e.x,y=e.y):(m=e.x?k.makeCalcdata(e,&quot;x&quot;):[],y=e.y?A.makeCalcdata(e,&quot;y&quot;):[]),g=e.x0||0,v=e.dx||1,x=e.y0||0,b=e.dy||1,_=f(e.z,e.transpose),(T||e.connectgaps)&amp;&amp;(e._emptypoints=d(_),e._interpz=h(_,e._emptypoints,e._interpz))),&quot;fast&quot;===L)if(&quot;log&quot;===k.type||&quot;log&quot;===A.type)r(&quot;log axis found&quot;);else if(!S){if(m.length){var C=(m[m.length-1]-m[0])/(m.length-1),z=Math.abs(C/100);for(w=0;w&lt;m.length-1;w++)if(Math.abs(m[w+1]-m[w]-C)&gt;z){r(&quot;x scale is not linear&quot;);break}}if(y.length&amp;&amp;&quot;fast&quot;===L){var D=(y[y.length-1]-y[0])/(y.length-1),I=Math.abs(D/100);for(w=0;w&lt;y.length-1;w++)if(Math.abs(y[w+1]-y[w]-D)&gt;I){r(&quot;y scale is not linear&quot;);break}}}var P=u(_),O=&quot;scaled&quot;===e.xtype?&quot;&quot;:m,F=p(e,O,g,v,P,k),R=&quot;scaled&quot;===e.ytype?&quot;&quot;:y,N=p(e,R,x,b,_.length,A);E||(a.expand(k,F),a.expand(A,N));var j={x:F,y:N,z:_,text:e.text};if(O&amp;&amp;O.length===F.length-1&amp;&amp;(j.xCenter=O),R&amp;&amp;R.length===N.length-1&amp;&amp;(j.yCenter=R),S&amp;&amp;(j.xRanges=M.xRanges,j.yRanges=M.yRanges,j.pts=M.pts),s(e,_,&quot;&quot;,&quot;z&quot;),T&amp;&amp;e.contours&amp;&amp;&quot;heatmap&quot;===e.contours.coloring){var B={type:&quot;contour&quot;===e.type?&quot;heatmap&quot;:&quot;histogram2d&quot;,xcalendar:e.xcalendar,ycalendar:e.ycalendar};j.xfill=p(B,O,g,v,P,k),j.yfill=p(B,R,x,b,_.length,A)}return[j]}},{&quot;../../components/colorscale/calc&quot;:625,&quot;../../lib&quot;:743,&quot;../../plots/cartesian/axes&quot;:789,&quot;../../registry&quot;:873,&quot;../histogram2d/calc&quot;:1010,&quot;./clean_2d_array&quot;:979,&quot;./convert_column_xyz&quot;:981,&quot;./find_empties&quot;:983,&quot;./has_columns&quot;:984,&quot;./interp2d&quot;:987,&quot;./make_bound_array&quot;:988,&quot;./max_row_length&quot;:989}],979:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;fast-isnumeric&quot;);e.exports=function(t,e){function r(t){if(n(t))return+t}var i,a,o,s,l,c;if(e){for(i=0,l=0;l&lt;t.length;l++)i=Math.max(i,t[l].length);if(0===i)return!1;o=function(t){return t.length},s=function(t,e,r){return t[r][e]}}else i=t.length,o=function(t,e){return t[e].length},s=function(t,e,r){return t[e][r]};var u=new Array(i);for(l=0;l&lt;i;l++)for(a=o(t,l),u[l]=new Array(a),c=0;c&lt;a;c++)u[l][c]=r(s(t,l,c));return u}},{&quot;fast-isnumeric&quot;:140}],980:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;fast-isnumeric&quot;),i=t(&quot;../../lib&quot;),a=t(&quot;../../plots/plots&quot;),o=t(&quot;../../components/colorscale&quot;),s=t(&quot;../../components/colorbar/draw&quot;);e.exports=function(t,e){var r=e[0].trace,l=&quot;cb&quot;+r.uid,c=r.zmin,u=r.zmax;if(n(c)||(c=i.aggNums(Math.min,null,r.z)),n(u)||(u=i.aggNums(Math.max,null,r.z)),t._fullLayout._infolayer.selectAll(&quot;.&quot;+l).remove(),r.showscale){var f=e[0].t.cb=s(t,l),h=o.makeColorScaleFunc(o.extractScale(r.colorscale,c,u),{noNumericCheck:!0});f.fillcolor(h).filllevels({start:c,end:u,size:(u-c)/254}).options(r.colorbar)()}else a.autoMargin(t,l)}},{&quot;../../components/colorbar/draw&quot;:622,&quot;../../components/colorscale&quot;:633,&quot;../../lib&quot;:743,&quot;../../plots/plots&quot;:852,&quot;fast-isnumeric&quot;:140}],981:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib&quot;),i=t(&quot;../../constants/numerical&quot;).BADNUM;e.exports=function(t,e,r,a,o,s){a=a||&quot;x&quot;,o=o||&quot;y&quot;,s=s||[&quot;z&quot;];var l,c,u,f=t[a].slice(),h=t[o].slice(),d=t.text,p=Math.min(f.length,h.length),m=void 0!==d&amp;&amp;!Array.isArray(d[0]),g=t[a+&quot;calendar&quot;],v=t[o+&quot;calendar&quot;];for(l=0;l&lt;s.length;l++)(u=t[s[l]])&amp;&amp;(p=Math.min(p,u.length));for(p&lt;f.length&amp;&amp;(f=f.slice(0,p)),p&lt;h.length&amp;&amp;(h=h.slice(0,p)),l=0;l&lt;p;l++)f[l]=e.d2c(f[l],0,g),h[l]=r.d2c(h[l],0,v);var y=n.distinctVals(f),x=y.vals,b=n.distinctVals(h),_=b.vals,w=[];for(l=0;l&lt;s.length;l++)w[l]=n.init2dArray(_.length,x.length);var M,k,A;for(m&amp;&amp;(A=n.init2dArray(_.length,x.length)),l=0;l&lt;p;l++)if(f[l]!==i&amp;&amp;h[l]!==i){for(M=n.findBin(f[l]+y.minDiff/2,x),k=n.findBin(h[l]+b.minDiff/2,_),c=0;c&lt;s.length;c++)u=t[s[c]],w[c][k][M]=u[l];m&amp;&amp;(A[k][M]=d[l])}for(t[a]=x,t[o]=_,c=0;c&lt;s.length;c++)t[s[c]]=w[c];m&amp;&amp;(t.text=A)}},{&quot;../../constants/numerical&quot;:721,&quot;../../lib&quot;:743}],982:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib&quot;),i=t(&quot;./has_columns&quot;),a=t(&quot;./xyz_defaults&quot;),o=t(&quot;./style_defaults&quot;),s=t(&quot;../../components/colorscale/defaults&quot;),l=t(&quot;./attributes&quot;);e.exports=function(t,e,r,c){function u(r,i){return n.coerce(t,e,l,r,i)}a(t,e,u,c)?(u(&quot;text&quot;),o(t,e,u,c),u(&quot;connectgaps&quot;,i(e)&amp;&amp;!1!==e.zsmooth),s(t,e,c,u,{prefix:&quot;&quot;,cLetter:&quot;z&quot;})):e.visible=!1}},{&quot;../../components/colorscale/defaults&quot;:628,&quot;../../lib&quot;:743,&quot;./attributes&quot;:977,&quot;./has_columns&quot;:984,&quot;./style_defaults&quot;:992,&quot;./xyz_defaults&quot;:993}],983:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;./max_row_length&quot;);e.exports=function(t){var e,r,i,a,o,s,l,c,u=[],f={},h=[],d=t[0],p=[],m=[0,0,0],g=n(t);for(r=0;r&lt;t.length;r++)for(e=p,p=d,d=t[r+1]||[],i=0;i&lt;g;i++)void 0===p[i]&amp;&amp;((s=(void 0!==p[i-1]?1:0)+(void 0!==p[i+1]?1:0)+(void 0!==e[i]?1:0)+(void 0!==d[i]?1:0))?(0===r&amp;&amp;s++,0===i&amp;&amp;s++,r===t.length-1&amp;&amp;s++,i===p.length-1&amp;&amp;s++,s&lt;4&amp;&amp;(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&gt;=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)&amp;&amp;(l[a]=[r,i,s],h.splice(o,1),c=!0);if(!c)throw&quot;findEmpties iterated with no new neighbors&quot;;for(a in l)f[a]=l[a],u.push(l[a])}return u.sort(function(t,e){return e[2]-t[2]})}},{&quot;./max_row_length&quot;:989}],984:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t){return!Array.isArray(t.z[0])}},{}],985:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../components/fx&quot;),i=t(&quot;../../lib&quot;),a=t(&quot;../../plots/cartesian/axes&quot;),o=n.constants.MAXDIST;e.exports=function(t,e,r,s,l,c){if(!(t.distance&lt;o)){var u,f,h,d,p=t.cd[0],m=p.trace,g=t.xa,v=t.ya,y=p.x,x=p.y,b=p.z,_=p.xCenter,w=p.yCenter,M=p.zmask,k=[m.zmin,m.zmax],A=m.zhoverformat,T=y,S=x;if(!1!==t.index){try{h=Math.round(t.index[1]),d=Math.round(t.index[0])}catch(e){return void i.error(&quot;Error hovering on heatmap, pointNumber must be [row,col], found:&quot;,t.index)}if(h&lt;0||h&gt;=b[0].length||d&lt;0||d&gt;b.length)return}else{if(n.inbox(e-y[0],e-y[y.length-1])&gt;o||n.inbox(r-x[0],r-x[x.length-1])&gt;o)return;if(c){var E;for(T=[2*y[0]-y[1]],E=1;E&lt;y.length;E++)T.push((y[E]+y[E-1])/2);for(T.push([2*y[y.length-1]-y[y.length-2]]),S=[2*x[0]-x[1]],E=1;E&lt;x.length;E++)S.push((x[E]+x[E-1])/2);S.push([2*x[x.length-1]-x[x.length-2]])}h=Math.max(0,Math.min(T.length-2,i.findBin(e,T))),d=Math.max(0,Math.min(S.length-2,i.findBin(r,S)))}var L=g.c2p(y[h]),C=g.c2p(y[h+1]),z=v.c2p(x[d]),D=v.c2p(x[d+1]);c?(C=L,u=y[h],D=z,f=x[d]):(u=_?_[h]:(y[h]+y[h+1])/2,f=w?w[d]:(x[d]+x[d+1])/2,m.zsmooth&amp;&amp;(L=C=g.c2p(u),z=D=v.c2p(f)));var I=b[d][h];M&amp;&amp;!M[d][h]&amp;&amp;(I=void 0);var P;Array.isArray(p.text)&amp;&amp;Array.isArray(p.text[d])&amp;&amp;(P=p.text[d][h]);var O,F={type:&quot;linear&quot;,range:k,hoverformat:A,_separators:g._separators,_numFormat:g._numFormat};return O=a.tickText(F,I,&quot;hover&quot;).text,[i.extendFlat(t,{index:[d,h],distance:o+10,x0:L,x1:C,y0:z,y1:D,xLabelVal:u,yLabelVal:f,zLabelVal:I,zLabel:O,text:P})]}}},{&quot;../../components/fx&quot;:660,&quot;../../lib&quot;:743,&quot;../../plots/cartesian/axes&quot;:789}],986:[function(t,e,r){&quot;use strict&quot;;var n={};n.attributes=t(&quot;./attributes&quot;),n.supplyDefaults=t(&quot;./defaults&quot;),n.calc=t(&quot;./calc&quot;),n.plot=t(&quot;./plot&quot;),n.colorbar=t(&quot;./colorbar&quot;),n.style=t(&quot;./style&quot;),n.hoverPoints=t(&quot;./hover&quot;),n.moduleType=&quot;trace&quot;,n.name=&quot;heatmap&quot;,n.basePlotModule=t(&quot;../../plots/cartesian&quot;),n.categories=[&quot;cartesian&quot;,&quot;2dMap&quot;],n.meta={},e.exports=n},{&quot;../../plots/cartesian&quot;:800,&quot;./attributes&quot;:977,&quot;./calc&quot;:978,&quot;./colorbar&quot;:980,&quot;./defaults&quot;:982,&quot;./hover&quot;:985,&quot;./plot&quot;:990,&quot;./style&quot;:991}],987:[function(t,e,r){&quot;use strict&quot;;function n(t){return.5-.25*Math.min(1,.5*t)}function i(t,e,r){var n,i,a,s,l,c,u,f,h,d,p,m,g,v=0;for(s=0;s&lt;e.length;s++){for(i=(n=e[s])[0],a=n[1],p=t[i][a],d=0,h=0,l=0;l&lt;4;l++)(u=t[i+(c=o[l])[0]])&amp;&amp;void 0!==(f=u[a+c[1]])&amp;&amp;(0===d?m=g=f:(m=Math.min(m,f),g=Math.max(g,f)),h++,d+=f);if(0===h)throw&quot;iterateInterp2d order is wrong: no defined neighbors&quot;;t[i][a]=d/h,void 0===p?h&lt;4&amp;&amp;(v=1):(t[i][a]=(1+r)*t[i][a]-r*p,g&gt;m&amp;&amp;(v=Math.max(v,Math.abs(t[i][a]-p)/(g-m))))}return v}var a=t(&quot;../../lib&quot;),o=[[-1,0],[1,0],[0,-1],[0,1]];e.exports=function(t,e,r){var o,s,l=1;if(Array.isArray(r))for(o=0;o&lt;e.length;o++)t[(s=e[o])[0]][s[1]]=r[s[0]][s[1]];else i(t,e);for(o=0;o&lt;e.length&amp;&amp;!(e[o][2]&lt;4);o++);for(e=e.slice(o),o=0;o&lt;100&amp;&amp;l&gt;.01;o++)l=i(t,e,n(l));return l&gt;.01&amp;&amp;a.log(&quot;interp2d didn't converge quickly&quot;,l),t}},{&quot;../../lib&quot;:743}],988:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../registry&quot;);e.exports=function(t,e,r,i,a,o){var s,l,c,u=[],f=n.traceIs(t,&quot;contour&quot;),h=n.traceIs(t,&quot;histogram&quot;),d=n.traceIs(t,&quot;gl2d&quot;);if(Array.isArray(e)&amp;&amp;e.length&gt;1&amp;&amp;!h&amp;&amp;&quot;category&quot;!==o.type){var p=e.length;if(!(p&lt;=a))return f?e.slice(0,a):e.slice(0,a+1);if(f||d)u=e.slice(0,a);else if(1===a)u=[e[0]-.5,e[0]+.5];else{for(u=[1.5*e[0]-.5*e[1]],c=1;c&lt;p;c++)u.push(.5*(e[c-1]+e[c]));u.push(1.5*e[p-1]-.5*e[p-2])}if(p&lt;a){var m=u[u.length-1],g=m-u[u.length-2];for(c=p;c&lt;a;c++)m+=g,u.push(m)}}else{l=i||1;var v=t[o._id.charAt(0)+&quot;calendar&quot;];for(s=h||&quot;category&quot;===o.type?o.r2c(r,0,v)||0:Array.isArray(e)&amp;&amp;1===e.length?e[0]:void 0===r?0:o.d2c(r,0,v),c=f||d?0:-.5;c&lt;a;c++)u.push(s+l*c)}return u}},{&quot;../../registry&quot;:873}],989:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t){for(var e=0,r=0;r&lt;t.length;r++)e=Math.max(e,t[r].length);return e}},{}],990:[function(t,e,r){&quot;use strict&quot;;function n(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&amp;&amp;o!==r&amp;&amp;c?{bin0:s,frac:c,bin1:Math.round(s+c/(o-s))}:{bin0:s,bin1:s,frac:0}}function i(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&lt;=0?{bin0:n,bin1:n,frac:0}:a&lt;.5?{bin0:n,bin1:n+1,frac:a}:{bin0:n+1,bin1:n,frac:1-a}}function a(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])}var o=t(&quot;tinycolor2&quot;),s=t(&quot;../../registry&quot;),l=t(&quot;../../lib&quot;),c=t(&quot;../../components/colorscale&quot;),u=t(&quot;../../constants/xmlns_namespaces&quot;),f=t(&quot;./max_row_length&quot;);e.exports=function(t,e,r){for(var h=0;h&lt;r.length;h++)!function(t,e,r){function h(t,e){if(void 0!==t){var r=Z(t);return r[0]=Math.round(r[0]),r[1]=Math.round(r[1]),r[2]=Math.round(r[2]),at+=e,ot+=r[0]*e,st+=r[1]*e,lt+=r[2]*e,r}return[0,0,0,0]}function d(t,e,r,n){var i=t[r.bin0];if(void 0===i)return h(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,h(i+r.frac*c+n.frac*(u+r.frac*a))}var p=r[0],m=p.trace,g=m.uid,v=e.xaxis,y=e.yaxis,x=t._fullLayout,b=&quot;hm&quot;+g;if(x._paper.selectAll(&quot;.contour&quot;+g).remove(),x._infolayer.selectAll(&quot;g.rangeslider-container&quot;).selectAll(&quot;.contour&quot;+g).remove(),!0!==m.visible)return x._paper.selectAll(&quot;.&quot;+b).remove(),void x._infolayer.selectAll(&quot;.cb&quot;+g).remove();var _,w,M,k,A,T,S=p.z,E=p.x,L=p.y,C=p.xCenter,z=p.yCenter,D=s.traceIs(m,&quot;contour&quot;),I=D?&quot;best&quot;:m.zsmooth,P=S.length,O=f(S),F=!1,R=!1;for(T=0;void 0===_&amp;&amp;T&lt;E.length-1;)_=v.c2p(E[T]),T++;for(T=E.length-1;void 0===w&amp;&amp;T&gt;0;)w=v.c2p(E[T]),T--;for(w&lt;_&amp;&amp;(M=w,w=_,_=M,F=!0),T=0;void 0===k&amp;&amp;T&lt;L.length-1;)k=y.c2p(L[T]),T++;for(T=L.length-1;void 0===A&amp;&amp;T&gt;0;)A=y.c2p(L[T]),T--;if(A&lt;k&amp;&amp;(M=k,k=A,A=M,R=!0),D&amp;&amp;(C=E,z=L,E=p.xfill,L=p.yfill),&quot;fast&quot;!==I){var N=&quot;best&quot;===I?0:.5;_=Math.max(-N*v._length,_),w=Math.min((1+N)*v._length,w),k=Math.max(-N*y._length,k),A=Math.min((1+N)*y._length,A)}var j=Math.round(w-_),B=Math.round(A-k),U=j&lt;=0||B&lt;=0,V=e.plot.select(&quot;.imagelayer&quot;).selectAll(&quot;g.hm.&quot;+b).data(U?[]:[0]);if(V.enter().append(&quot;g&quot;).classed(&quot;hm&quot;,!0).classed(b,!0),V.exit().remove(),!U){var q,H;&quot;fast&quot;===I?(q=O,H=P):(q=j,H=B);var G=document.createElement(&quot;canvas&quot;);G.width=q,G.height=H;var Y,W,X=G.getContext(&quot;2d&quot;),Z=c.makeColorScaleFunc(c.extractScale(m.colorscale,m.zmin,m.zmax),{noNumericCheck:!0,returnArray:!0});&quot;fast&quot;===I?(Y=F?function(t){return O-1-t}:l.identity,W=R?function(t){return P-1-t}:l.identity):(Y=function(t){return l.constrain(Math.round(v.c2p(E[t])-_),0,j)},W=function(t){return l.constrain(Math.round(y.c2p(L[t])-k),0,B)});var J,K,Q,$,tt,et=W(0),rt=[et,et],nt=F?0:1,it=R?0:1,at=0,ot=0,st=0,lt=0;if(I){var ct,ut=0;try{ct=new Uint8Array(j*B*4)}catch(t){ct=new Array(j*B*4)}if(&quot;best&quot;===I){var ft,ht,dt,pt=C||E,mt=z||L,gt=new Array(pt.length),vt=new Array(mt.length),yt=new Array(j),xt=C?i:n,bt=z?i:n;for(T=0;T&lt;pt.length;T++)gt[T]=Math.round(v.c2p(pt[T])-_);for(T=0;T&lt;mt.length;T++)vt[T]=Math.round(y.c2p(mt[T])-k);for(T=0;T&lt;j;T++)yt[T]=xt(T,gt);for(K=0;K&lt;B;K++)for(ht=S[(ft=bt(K,vt)).bin0],dt=S[ft.bin1],T=0;T&lt;j;T++,ut+=4)a(ct,ut,tt=d(ht,dt,yt[T],ft))}else for(K=0;K&lt;P;K++)for($=S[K],rt=W(K),T=0;T&lt;j;T++)tt=h($[T],1),a(ct,ut=4*(rt*j+Y(T)),tt);var _t=X.createImageData(j,B);try{_t.data.set(ct)}catch(t){var wt=_t.data,Mt=wt.length;for(K=0;K&lt;Mt;K++)wt[K]=ct[K]}X.putImageData(_t,0,0)}else{var kt=m.xgap,At=m.ygap,Tt=Math.floor(kt/2),St=Math.floor(At/2);for(K=0;K&lt;P;K++)if($=S[K],rt.reverse(),rt[it]=W(K+1),rt[0]!==rt[1]&amp;&amp;void 0!==rt[0]&amp;&amp;void 0!==rt[1])for(J=[Q=Y(0),Q],T=0;T&lt;O;T++)J.reverse(),J[nt]=Y(T+1),J[0]!==J[1]&amp;&amp;void 0!==J[0]&amp;&amp;void 0!==J[1]&amp;&amp;(tt=h($[T],(J[1]-J[0])*(rt[1]-rt[0])),X.fillStyle=&quot;rgba(&quot;+tt.join(&quot;,&quot;)+&quot;)&quot;,X.fillRect(J[0]+Tt,rt[0]+St,J[1]-J[0]-kt,rt[1]-rt[0]-At))}ot=Math.round(ot/at),st=Math.round(st/at),lt=Math.round(lt/at);var Et=o(&quot;rgb(&quot;+ot+&quot;,&quot;+st+&quot;,&quot;+lt+&quot;)&quot;);t._hmpixcount=(t._hmpixcount||0)+at,t._hmlumcount=(t._hmlumcount||0)+at*Et.getLuminance();var Lt=V.selectAll(&quot;image&quot;).data(r);Lt.enter().append(&quot;svg:image&quot;).attr({xmlns:u.svg,preserveAspectRatio:&quot;none&quot;}),Lt.attr({height:B,width:j,x:_,y:k,&quot;xlink:href&quot;:G.toDataURL(&quot;image/png&quot;)}),Lt.exit().remove()}}(t,e,r[h])}},{&quot;../../components/colorscale&quot;:633,&quot;../../constants/xmlns_namespaces&quot;:723,&quot;../../lib&quot;:743,&quot;../../registry&quot;:873,&quot;./max_row_length&quot;:989,tinycolor2:546}],991:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;d3&quot;);e.exports=function(t){n.select(t).selectAll(&quot;.hm image&quot;).style(&quot;opacity&quot;,function(t){return t.trace.opacity})}},{d3:128}],992:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t,e,r){!1===r(&quot;zsmooth&quot;)&amp;&amp;(r(&quot;xgap&quot;),r(&quot;ygap&quot;)),r(&quot;zhoverformat&quot;)}},{}],993:[function(t,e,r){&quot;use strict&quot;;function n(t,e){var r=e(t);return&quot;scaled&quot;===(r?e(t+&quot;type&quot;,&quot;array&quot;):&quot;scaled&quot;)&amp;&amp;(e(t+&quot;0&quot;),e(&quot;d&quot;+t)),r}var i=t(&quot;fast-isnumeric&quot;),a=t(&quot;../../registry&quot;),o=t(&quot;./has_columns&quot;);e.exports=function(t,e,r,s,l,c){var u=r(&quot;z&quot;);l=l||&quot;x&quot;,c=c||&quot;y&quot;;var f,h;if(void 0===u||!u.length)return 0;if(o(t)){if(f=r(l),h=r(c),!f||!h)return 0}else{if(f=n(l,r),h=n(c,r),!function(t){for(var e,r=!0,n=!1,a=!1,o=0;o&lt;t.length;o++){if(e=t[o],!Array.isArray(e)){r=!1;break}e.length&gt;0&amp;&amp;(n=!0);for(var s=0;s&lt;e.length;s++)if(i(e[s])){a=!0;break}}return r&amp;&amp;n&amp;&amp;a}(u))return 0;r(&quot;transpose&quot;)}return a.getComponentMethod(&quot;calendars&quot;,&quot;handleTraceDefaults&quot;)(t,e,[l,c],s),e.z.length}},{&quot;../../registry&quot;:873,&quot;./has_columns&quot;:984,&quot;fast-isnumeric&quot;:140}],994:[function(t,e,r){&quot;use strict&quot;;for(var n=t(&quot;../heatmap/attributes&quot;),i=t(&quot;../../components/colorscale/attributes&quot;),a=t(&quot;../../components/colorbar/attributes&quot;),o=t(&quot;../../lib/extend&quot;).extendFlat,s=t(&quot;../../plot_api/edit_types&quot;).overrideAll,l=[&quot;z&quot;,&quot;x&quot;,&quot;x0&quot;,&quot;dx&quot;,&quot;y&quot;,&quot;y0&quot;,&quot;dy&quot;,&quot;text&quot;,&quot;transpose&quot;,&quot;xtype&quot;,&quot;ytype&quot;],c={},u=0;u&lt;l.length;u++){var f=l[u];c[f]=n[f]}o(c,i,{autocolorscale:o({},i.autocolorscale,{dflt:!1})},{colorbar:a}),e.exports=s(c,&quot;calc&quot;,&quot;nested&quot;)},{&quot;../../components/colorbar/attributes&quot;:619,&quot;../../components/colorscale/attributes&quot;:624,&quot;../../lib/extend&quot;:732,&quot;../../plot_api/edit_types&quot;:773,&quot;../heatmap/attributes&quot;:977}],995:[function(t,e,r){&quot;use strict&quot;;function n(t,e){this.scene=t,this.uid=e,this.type=&quot;heatmapgl&quot;,this.name=&quot;&quot;,this.hoverinfo=&quot;all&quot;,this.xData=[],this.yData=[],this.zData=[],this.textLabels=[],this.idToIndex=[],this.bounds=[0,0,0,0],this.options={z:[],x:[],y:[],shape:[0,0],colorLevels:[0],colorValues:[0,0,0,1]},this.heatmap=i(t.glplot,this.options),this.heatmap._trace=this}var i=t(&quot;gl-heatmap2d&quot;),a=t(&quot;../../plots/cartesian/axes&quot;),o=t(&quot;../../lib/str2rgbarray&quot;),s=n.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 i=n[0].length,s=n.length;this.options.shape=[i,s],this.options.x=r.x,this.options.y=r.y;var l=function(t){for(var e=t.colorscale,r=t.zmin,n=t.zmax,i=e.length,a=new Array(i),s=new Array(4*i),l=0;l&lt;i;l++){var c=e[l],u=o(c[1]);a[l]=r+c[0]*(n-r);for(var f=0;f&lt;4;f++)s[4*l+f]=u[f]}return{colorLevels:a,colorValues:s}}(t);this.options.colorLevels=l.colorLevels,this.options.colorValues=l.colorValues,this.textLabels=[].concat.apply([],t.text),this.heatmap.update(this.options),a.expand(this.scene.xaxis,r.x),a.expand(this.scene.yaxis,r.y)},s.dispose=function(){this.heatmap.dispose()},e.exports=function(t,e,r){var i=new n(t,e.uid);return i.update(e,r),i}},{&quot;../../lib/str2rgbarray&quot;:765,&quot;../../plots/cartesian/axes&quot;:789,&quot;gl-heatmap2d&quot;:173}],996:[function(t,e,r){&quot;use strict&quot;;var n={};n.attributes=t(&quot;./attributes&quot;),n.supplyDefaults=t(&quot;../heatmap/defaults&quot;),n.colorbar=t(&quot;../heatmap/colorbar&quot;),n.calc=t(&quot;../heatmap/calc&quot;),n.plot=t(&quot;./convert&quot;),n.moduleType=&quot;trace&quot;,n.name=&quot;heatmapgl&quot;,n.basePlotModule=t(&quot;../../plots/gl2d&quot;),n.categories=[&quot;gl&quot;,&quot;gl2d&quot;,&quot;2dMap&quot;],n.meta={},e.exports=n},{&quot;../../plots/gl2d&quot;:829,&quot;../heatmap/calc&quot;:978,&quot;../heatmap/colorbar&quot;:980,&quot;../heatmap/defaults&quot;:982,&quot;./attributes&quot;:994,&quot;./convert&quot;:995}],997:[function(t,e,r){&quot;use strict&quot;;function n(t){var e={};e[&quot;autobin&quot;+t]=!1;var r={};return r[&quot;^autobin&quot;+t]=!1,{start:{valType:&quot;any&quot;,dflt:null,editType:&quot;calc&quot;,impliedEdits:r},end:{valType:&quot;any&quot;,dflt:null,editType:&quot;calc&quot;,impliedEdits:r},size:{valType:&quot;any&quot;,dflt:null,editType:&quot;calc&quot;,impliedEdits:r},editType:&quot;calc&quot;,impliedEdits:e}}var i=t(&quot;../bar/attributes&quot;);e.exports={x:{valType:&quot;data_array&quot;,editType:&quot;calc+clearAxisTypes&quot;},y:{valType:&quot;data_array&quot;,editType:&quot;calc+clearAxisTypes&quot;},text:i.text,orientation:i.orientation,histfunc:{valType:&quot;enumerated&quot;,values:[&quot;count&quot;,&quot;sum&quot;,&quot;avg&quot;,&quot;min&quot;,&quot;max&quot;],dflt:&quot;count&quot;,editType:&quot;calc&quot;},histnorm:{valType:&quot;enumerated&quot;,values:[&quot;&quot;,&quot;percent&quot;,&quot;probability&quot;,&quot;density&quot;,&quot;probability density&quot;],dflt:&quot;&quot;,editType:&quot;calc&quot;},cumulative:{enabled:{valType:&quot;boolean&quot;,dflt:!1,editType:&quot;calc&quot;},direction:{valType:&quot;enumerated&quot;,values:[&quot;increasing&quot;,&quot;decreasing&quot;],dflt:&quot;increasing&quot;,editType:&quot;calc&quot;},currentbin:{valType:&quot;enumerated&quot;,values:[&quot;include&quot;,&quot;exclude&quot;,&quot;half&quot;],dflt:&quot;include&quot;,editType:&quot;calc&quot;},editType:&quot;calc&quot;},autobinx:{valType:&quot;boolean&quot;,dflt:null,editType:&quot;calc&quot;,impliedEdits:{&quot;xbins.start&quot;:void 0,&quot;xbins.end&quot;:void 0,&quot;xbins.size&quot;:void 0}},nbinsx:{valType:&quot;integer&quot;,min:0,dflt:0,editType:&quot;calc&quot;},xbins:n(&quot;x&quot;),autobiny:{valType:&quot;boolean&quot;,dflt:null,editType:&quot;calc&quot;,impliedEdits:{&quot;ybins.start&quot;:void 0,&quot;ybins.end&quot;:void 0,&quot;ybins.size&quot;:void 0}},nbinsy:{valType:&quot;integer&quot;,min:0,dflt:0,editType:&quot;calc&quot;},ybins:n(&quot;y&quot;),marker:i.marker,selected:i.selected,unselected:i.unselected,error_y:i.error_y,error_x:i.error_x,_deprecated:{bardir:i._deprecated.bardir}}},{&quot;../bar/attributes&quot;:883}],998:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t,e){for(var r=t.length,n=0,i=0;i&lt;r;i++)e[i]?(t[i]/=e[i],n+=t[i]):t[i]=null;return n}},{}],999:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t,e,r,n){return r(&quot;histnorm&quot;),n.forEach(function(t){r(t+&quot;bins.start&quot;),r(t+&quot;bins.end&quot;),r(t+&quot;bins.size&quot;),r(&quot;autobin&quot;+t),r(&quot;nbins&quot;+t)}),e}},{}],1e3:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;fast-isnumeric&quot;);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)&amp;&amp;(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]&gt;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]&lt;a){var o=a-r[t];return r[t]=a,o}}return 0}}},{&quot;fast-isnumeric&quot;:140}],1001:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,n){if(t*e&lt;=0)return 1/0;for(var o=Math.abs(e-t),l=&quot;date&quot;===r.type,u=i(o,l),f=0;f&lt;10;f++){var h=i(80*u,l);if(u===h)break;if(!function(t,e,r,n,i,o){if(n&amp;&amp;t&gt;c){var l=a(e,i,o),u=a(r,i,o),f=t===s?0:1;return l[f]!==u[f]}return Math.floor(r/t)-Math.floor(e/t)&gt;.1}(h,t,e,l,r,n))break;u=h}return u}function i(t,e){return e&amp;&amp;t&gt;h?t&gt;c?t&gt;1.1*s?s:t&gt;1.1*l?l:c:t&gt;u?u:t&gt;f?f:h:Math.pow(10,Math.floor(Math.log(t)/Math.LN10))}function a(t,e,r){var n=e.c2d(t,s,r).split(&quot;-&quot;);return&quot;&quot;===n[0]&amp;&amp;(n.unshift(),n[0]=&quot;-&quot;+n[0]),n}var o=t(&quot;../../constants/numerical&quot;),s=o.ONEAVGYEAR,l=o.ONEAVGMONTH,c=o.ONEDAY,u=o.ONEHOUR,f=o.ONEMIN,h=o.ONESEC,d=t(&quot;../../plots/cartesian/axes&quot;).tickIncrement;e.exports=function(t,e,r,i,a){var o,l,u=-1.1*e,f=-.1*e,h=t-f,p=r[0],m=r[1],g=Math.min(n(p+f,p+h,i,a),n(m+f,m+h,i,a)),v=Math.min(n(p+u,p+f,i,a),n(m+u,m+f,i,a));if(g&gt;v&amp;&amp;v&lt;Math.abs(m-p)/4e3?(o=g,l=!1):(o=Math.min(g,v),l=!0),&quot;date&quot;===i.type&amp;&amp;o&gt;c){var y=o===s?1:6,x=o===s?&quot;M12&quot;:&quot;M1&quot;;return function(e,r){var n=i.c2d(e,s,a),o=n.indexOf(&quot;-&quot;,y);o&gt;0&amp;&amp;(n=n.substr(0,o));var c=i.d2c(n,0,a);if(c&lt;e){var u=d(c,x,!1,a);(c+u)/2&lt;e+t&amp;&amp;(c=u)}return r&amp;&amp;l?d(c,x,!0,a):c}}return function(e,r){var n=o*Math.round(e/o);return n+o/10&lt;e&amp;&amp;n+.9*o&lt;e+t&amp;&amp;(n+=o),r&amp;&amp;l&amp;&amp;(n-=o),n}}},{&quot;../../constants/numerical&quot;:721,&quot;../../plots/cartesian/axes&quot;:789}],1002:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,c,u){var f,h,d,p,m,g=c+&quot;bins&quot;,v=&quot;overlay&quot;===t._fullLayout.barmode;if(e._autoBinFinished)delete e._autoBinFinished;else{var y=v?[e]:i(t,e),x=[],b=1/0,_=1/0,w=-1/0,M=&quot;autobin&quot;+c;for(f=0;f&lt;y.length;f++){m=(h=y[f])._pos0=r.makeCalcdata(h,c);var k=h[g];if(h[M]||!k||null===k.start||null===k.end){d=h[c+&quot;calendar&quot;];var A=h.cumulative;if(k=l.autoBin(m,r,h[&quot;nbins&quot;+c],!1,d),v&amp;&amp;1===k._count&amp;&amp;&quot;category&quot;!==r.type){if(u)return[k,m,!0];k=function(t,e,r,a,o){var l,c,u=i(t,e),f=!1,h=1/0,d=[e];for(l=0;l&lt;u.length;l++)if((c=u[l])===e)f=!0;else if(f){var p=n(t,c,r,a,!0),m=p[0],g=p[2];c._autoBinFinished=1,c._pos0=p[1],g?d.push(c):h=Math.min(h,m.size)}else h=Math.min(h,c[o].size);var v=new Array(d.length);for(l=0;l&lt;d.length;l++)for(var y=d[l]._pos0,x=0;x&lt;y.length;x++)if(void 0!==y[x]){v[l]=y[x];break}isFinite(h)||(h=s.distinctVals(v).minDiff);for(l=0;l&lt;d.length;l++){var b=(c=d[l])[a+&quot;calendar&quot;];c._input[o]=c[o]={start:r.c2r(v[l]-h/2,0,b),end:r.c2r(v[l]+h/2,0,b),size:h}}return e[o]}(t,e,r,c,g)}A.enabled&amp;&amp;&quot;include&quot;!==A.currentbin&amp;&amp;(&quot;decreasing&quot;===A.direction?_=Math.min(_,r.r2c(k.start,0,d)-k.size):w=Math.max(w,r.r2c(k.end,0,d)+k.size)),x.push(h)}else p||(p={size:k.size,start:r.r2c(k.start,0,d),end:r.r2c(k.end,0,d)});b=function(t,e){if(t===1/0)return e;var r=a(t);return a(e)&lt;r?e:t}(b,k.size),_=Math.min(_,r.r2c(k.start,0,d)),w=Math.max(w,r.r2c(k.end,0,d)),f&amp;&amp;(h._autoBinFinished=1)}if(p&amp;&amp;o(p.size)&amp;&amp;o(b)){b=b&gt;p.size/1.9?p.size:p.size/Math.ceil(p.size/b);var T=p.start+(p.size-b)/2;_=T-b*Math.ceil((T-_)/b)}for(f=0;f&lt;x.length;f++)d=(h=x[f])[c+&quot;calendar&quot;],h._input[g]=h[g]={start:r.c2r(_,0,d),end:r.c2r(w,0,d),size:b},h._input[M]=h[M]}return m=e._pos0,delete e._pos0,[e[g],m]}function i(t,e){for(var r=e.xaxis,n=e.yaxis,i=e.orientation,a=[],o=t._fullData,s=0;s&lt;o.length;s++){var l=o[s];&quot;histogram&quot;===l.type&amp;&amp;l.orientation===i&amp;&amp;l.xaxis===r&amp;&amp;l.yaxis===n&amp;&amp;a.push(l)}return a}function a(t){return o(t)?t:&quot;string&quot;==typeof t&amp;&amp;&quot;M&quot;===t.charAt(0)?p*+t.substr(1):1/0}var o=t(&quot;fast-isnumeric&quot;),s=t(&quot;../../lib&quot;),l=t(&quot;../../plots/cartesian/axes&quot;),c=t(&quot;../bar/arrays_to_calcdata&quot;),u=t(&quot;./bin_functions&quot;),f=t(&quot;./norm_functions&quot;),h=t(&quot;./average&quot;),d=t(&quot;./clean_bins&quot;),p=t(&quot;../../constants/numerical&quot;).ONEAVGMONTH,m=t(&quot;./bin_label_vals&quot;);e.exports=function(t,e){if(!0===e.visible){var r,i=[],a=[],p=l.getFromId(t,&quot;h&quot;===e.orientation?e.yaxis||&quot;y&quot;:e.xaxis||&quot;x&quot;),g=&quot;h&quot;===e.orientation?&quot;y&quot;:&quot;x&quot;,v={x:&quot;y&quot;,y:&quot;x&quot;}[g],y=e[g+&quot;calendar&quot;],x=e.cumulative;d(e,p,g);var b,_,w,M=n(t,e,p,g),k=M[0],A=M[1],T=&quot;string&quot;==typeof k.size,S=[],E=T?S:k,L=[],C=[],z=[],D=0,I=e.histnorm,P=e.histfunc,O=-1!==I.indexOf(&quot;density&quot;);x.enabled&amp;&amp;O&amp;&amp;(I=I.replace(/ ?density$/,&quot;&quot;),O=!1);var F,R=&quot;max&quot;===P||&quot;min&quot;===P?null:0,N=u.count,j=f[I],B=!1,U=function(t){return p.r2c(t,0,y)};for(Array.isArray(e[v])&amp;&amp;&quot;count&quot;!==P&amp;&amp;(F=e[v],B=&quot;avg&quot;===P,N=u[P]),r=U(k.start),_=U(k.end)+(r-l.tickIncrement(r,k.size,!1,y))/1e6;r&lt;_&amp;&amp;i.length&lt;1e6&amp;&amp;(b=l.tickIncrement(r,k.size,!1,y),i.push((r+b)/2),a.push(R),z.push([]),S.push(r),O&amp;&amp;L.push(1/(b-r)),B&amp;&amp;C.push(0),!(b&lt;=r));)r=b;S.push(r),T||&quot;date&quot;!==p.type||(E={start:U(E.start),end:U(E.end),size:E.size});var V=a.length,q=!0,H=1/0,G=1/0,Y={};for(r=0;r&lt;A.length;r++){var W=A[r];(w=s.findBin(W,E))&gt;=0&amp;&amp;w&lt;V&amp;&amp;(D+=N(w,r,a,F,C),q&amp;&amp;z[w].length&amp;&amp;W!==A[z[w][0]]&amp;&amp;(q=!1),z[w].push(r),Y[r]=w,H=Math.min(H,W-S[w]),G=Math.min(G,S[w+1]-W))}var X;q||(X=m(H,G,S,p,y)),B&amp;&amp;(D=h(a,C)),j&amp;&amp;j(a,D,L),x.enabled&amp;&amp;function(t,e,r){function n(e){s=t[e],t[e]/=2}function i(e){o=t[e],t[e]=s+o/2,s+=o}var a,o,s;if(&quot;half&quot;===r)if(&quot;increasing&quot;===e)for(n(0),a=1;a&lt;t.length;a++)i(a);else for(n(t.length-1),a=t.length-2;a&gt;=0;a--)i(a);else if(&quot;increasing&quot;===e){for(a=1;a&lt;t.length;a++)t[a]+=t[a-1];&quot;exclude&quot;===r&amp;&amp;(t.unshift(0),t.pop())}else{for(a=t.length-2;a&gt;=0;a--)t[a]+=t[a+1];&quot;exclude&quot;===r&amp;&amp;(t.push(0),t.shift())}}(a,x.direction,x.currentbin);var Z=Math.min(i.length,a.length),J=[],K=0,Q=Z-1;for(r=0;r&lt;Z;r++)if(a[r]){K=r;break}for(r=Z-1;r&gt;=K;r--)if(a[r]){Q=r;break}for(r=K;r&lt;=Q;r++)if(o(i[r])&amp;&amp;o(a[r])){var $={p:i[r],s:a[r],b:0};x.enabled||($.pts=z[r],q?$.p0=$.p1=z[r].length?A[z[r][0]]:i[r]:($.p0=X(S[r]),$.p1=X(S[r+1],!0))),J.push($)}return 1===J.length&amp;&amp;(J[0].width1=l.tickIncrement(J[0].p,k.size,!1,y)-J[0].p),c(J,e),Array.isArray(e.selectedpoints)&amp;&amp;s.tagSelected(J,e,Y),J}}},{&quot;../../constants/numerical&quot;:721,&quot;../../lib&quot;:743,&quot;../../plots/cartesian/axes&quot;:789,&quot;../bar/arrays_to_calcdata&quot;:882,&quot;./average&quot;:998,&quot;./bin_functions&quot;:1e3,&quot;./bin_label_vals&quot;:1001,&quot;./clean_bins&quot;:1003,&quot;./norm_functions&quot;:1008,&quot;fast-isnumeric&quot;:140}],1003:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;fast-isnumeric&quot;),i=t(&quot;../../lib&quot;).cleanDate,a=t(&quot;../../constants/numerical&quot;),o=a.ONEDAY,s=a.BADNUM;e.exports=function(t,e,r){var a=e.type,l=r+&quot;bins&quot;,c=t[l];c||(c=t[l]={});var u=&quot;date&quot;===a?function(t){return t||0===t?i(t,s,c.calendar):null}:function(t){return n(t)?Number(t):null};c.start=u(c.start),c.end=u(c.end);var f=&quot;date&quot;===a?o:1,h=c.size;if(n(h))c.size=h&gt;0?Number(h):f;else if(&quot;string&quot;!=typeof h)c.size=f;else{var d=h.charAt(0),p=h.substr(1);((p=n(p)?Number(p):0)&lt;=0||&quot;date&quot;!==a||&quot;M&quot;!==d||p!==Math.round(p))&amp;&amp;(c.size=f)}var m=&quot;autobin&quot;+r;&quot;boolean&quot;!=typeof t[m]&amp;&amp;(t[m]=!((c.start||0===c.start)&amp;&amp;(c.end||0===c.end))),t[m]||delete t[&quot;nbins&quot;+r]}},{&quot;../../constants/numerical&quot;:721,&quot;../../lib&quot;:743,&quot;fast-isnumeric&quot;:140}],1004:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../registry&quot;),i=t(&quot;../../lib&quot;),a=t(&quot;../../components/color&quot;),o=t(&quot;./bin_defaults&quot;),s=t(&quot;../bar/style_defaults&quot;),l=t(&quot;../../components/errorbars/defaults&quot;),c=t(&quot;./attributes&quot;);e.exports=function(t,e,r,u){function f(r,n){return i.coerce(t,e,c,r,n)}var h=f(&quot;x&quot;),d=f(&quot;y&quot;);f(&quot;cumulative.enabled&quot;)&amp;&amp;(f(&quot;cumulative.direction&quot;),f(&quot;cumulative.currentbin&quot;)),f(&quot;text&quot;);var p=f(&quot;orientation&quot;,d&amp;&amp;!h?&quot;h&quot;:&quot;v&quot;),m=e[&quot;v&quot;===p?&quot;x&quot;:&quot;y&quot;];if(m&amp;&amp;m.length){n.getComponentMethod(&quot;calendars&quot;,&quot;handleTraceDefaults&quot;)(t,e,[&quot;x&quot;,&quot;y&quot;],u);e[&quot;h&quot;===p?&quot;x&quot;:&quot;y&quot;]&amp;&amp;f(&quot;histfunc&quot;);o(t,e,f,&quot;h&quot;===p?[&quot;y&quot;]:[&quot;x&quot;]),s(t,e,f,r,u),l(t,e,a.defaultLine,{axis:&quot;y&quot;}),l(t,e,a.defaultLine,{axis:&quot;x&quot;,inherit:&quot;y&quot;}),i.coerceSelectionMarkerOpacity(e,f)}else e.visible=!1}},{&quot;../../components/color&quot;:618,&quot;../../components/errorbars/defaults&quot;:648,&quot;../../lib&quot;:743,&quot;../../registry&quot;:873,&quot;../bar/style_defaults&quot;:895,&quot;./attributes&quot;:997,&quot;./bin_defaults&quot;:999}],1005:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t,e,r,n,i){if(t.x=&quot;xVal&quot;in e?e.xVal:e.x,t.y=&quot;yVal&quot;in e?e.yVal:e.y,e.xa&amp;&amp;(t.xaxis=e.xa),e.ya&amp;&amp;(t.yaxis=e.ya),!(r.cumulative||{}).enabled){var a=Array.isArray(i)?n[0].pts[i[0]][i[1]]:n[i].pts;t.pointNumbers=a,t.binNumber=t.pointNumber,delete t.pointNumber,delete t.pointIndex;var o;if(r._indexToPoints){o=[];for(var s=0;s&lt;a.length;s++)o=o.concat(r._indexToPoints[a[s]])}else o=a;t.pointIndices=o}return t}},{}],1006:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../bar/hover&quot;),i=t(&quot;../../plots/cartesian/axes&quot;).hoverLabelText;e.exports=function(t,e,r,a){var o=n(t,e,r,a);if(o){var s=(t=o[0]).cd[t.index],l=t.cd[0].trace;if(!l.cumulative.enabled){var c=&quot;h&quot;===l.orientation?&quot;y&quot;:&quot;x&quot;;t[c+&quot;Label&quot;]=i(t[c+&quot;a&quot;],s.p0,s.p1)}return o}}},{&quot;../../plots/cartesian/axes&quot;:789,&quot;../bar/hover&quot;:886}],1007:[function(t,e,r){&quot;use strict&quot;;var n={};n.attributes=t(&quot;./attributes&quot;),n.layoutAttributes=t(&quot;../bar/layout_attributes&quot;),n.supplyDefaults=t(&quot;./defaults&quot;),n.supplyLayoutDefaults=t(&quot;../bar/layout_defaults&quot;),n.calc=t(&quot;./calc&quot;),n.setPositions=t(&quot;../bar/set_positions&quot;),n.plot=t(&quot;../bar/plot&quot;),n.style=t(&quot;../bar/style&quot;),n.colorbar=t(&quot;../scatter/colorbar&quot;),n.hoverPoints=t(&quot;./hover&quot;),n.selectPoints=t(&quot;../bar/select&quot;),n.eventData=t(&quot;./event_data&quot;),n.moduleType=&quot;trace&quot;,n.name=&quot;histogram&quot;,n.basePlotModule=t(&quot;../../plots/cartesian&quot;),n.categories=[&quot;cartesian&quot;,&quot;bar&quot;,&quot;histogram&quot;,&quot;oriented&quot;,&quot;errorBarsOK&quot;,&quot;showLegend&quot;],n.meta={},e.exports=n},{&quot;../../plots/cartesian&quot;:800,&quot;../bar/layout_attributes&quot;:888,&quot;../bar/layout_defaults&quot;:889,&quot;../bar/plot&quot;:890,&quot;../bar/select&quot;:891,&quot;../bar/set_positions&quot;:892,&quot;../bar/style&quot;:894,&quot;../scatter/colorbar&quot;:1070,&quot;./attributes&quot;:997,&quot;./calc&quot;:1002,&quot;./defaults&quot;:1004,&quot;./event_data&quot;:1005,&quot;./hover&quot;:1006}],1008:[function(t,e,r){&quot;use strict&quot;;e.exports={percent:function(t,e){for(var r=t.length,n=100/e,i=0;i&lt;r;i++)t[i]*=n},probability:function(t,e){for(var r=t.length,n=0;n&lt;r;n++)t[n]/=e},density:function(t,e,r,n){var i=t.length;n=n||1;for(var a=0;a&lt;i;a++)t[a]*=r[a]*n},&quot;probability density&quot;:function(t,e,r,n){var i=t.length;n&amp;&amp;(e/=n);for(var a=0;a&lt;i;a++)t[a]*=r[a]/e}}},{}],1009:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../histogram/attributes&quot;),i=t(&quot;../heatmap/attributes&quot;),a=t(&quot;../../components/colorscale/attributes&quot;),o=t(&quot;../../components/colorbar/attributes&quot;),s=t(&quot;../../lib/extend&quot;).extendFlat;e.exports=s({},{x:n.x,y:n.y,z:{valType:&quot;data_array&quot;,editType:&quot;calc&quot;},marker:{color:{valType:&quot;data_array&quot;,editType:&quot;calc&quot;},editType:&quot;calc&quot;},histnorm:n.histnorm,histfunc:n.histfunc,autobinx:n.autobinx,nbinsx:n.nbinsx,xbins:n.xbins,autobiny:n.autobiny,nbinsy:n.nbinsy,ybins:n.ybins,xgap:i.xgap,ygap:i.ygap,zsmooth:i.zsmooth,zhoverformat:i.zhoverformat},a,{autocolorscale:s({},a.autocolorscale,{dflt:!1})},{colorbar:o})},{&quot;../../components/colorbar/attributes&quot;:619,&quot;../../components/colorscale/attributes&quot;:624,&quot;../../lib/extend&quot;:732,&quot;../heatmap/attributes&quot;:977,&quot;../histogram/attributes&quot;:997}],1010:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,n,i,a,o){var s=e+&quot;bins&quot;,c=&quot;autobin&quot;+e,u=t[s];h(t,n,e),!t[c]&amp;&amp;u&amp;&amp;null!==u.start&amp;&amp;null!==u.end||(u=l.autoBin(r,n,t[&quot;nbins&quot;+e],&quot;2d&quot;,o),&quot;histogram2dcontour&quot;===t.type&amp;&amp;(u.start=a(l.tickIncrement(i(u.start),u.size,!0,o)),u.end=a(l.tickIncrement(i(u.end),u.size,!1,o))),t._input[s]=t[s]=u,t._input[c]=t[c])}function i(t,e,r,n){var i,a=new Array(t);if(n)for(i=0;i&lt;t;i++)a[i]=1/(e[i+1]-e[i]);else{var o=1/r;for(i=0;i&lt;t;i++)a[i]=o}return a}function a(t,e){return{start:t(e.start),end:t(e.end),size:e.size}}function o(t,e,r,n,i,a){var o,s=t.length-1,l=new Array(s);if(e)for(o=0;o&lt;s;o++)l[o]=[e[o],e[o]];else{var c=d(r,n,t,i,a);for(o=0;o&lt;s;o++)l[o]=[c(t[o]),c(t[o+1],!0)]}return l}var s=t(&quot;../../lib&quot;),l=t(&quot;../../plots/cartesian/axes&quot;),c=t(&quot;../histogram/bin_functions&quot;),u=t(&quot;../histogram/norm_functions&quot;),f=t(&quot;../histogram/average&quot;),h=t(&quot;../histogram/clean_bins&quot;),d=t(&quot;../histogram/bin_label_vals&quot;);e.exports=function(t,e){var r,h,d,p,m=l.getFromId(t,e.xaxis||&quot;x&quot;),g=e.x?m.makeCalcdata(e,&quot;x&quot;):[],v=l.getFromId(t,e.yaxis||&quot;y&quot;),y=e.y?v.makeCalcdata(e,&quot;y&quot;):[],x=e.xcalendar,b=e.ycalendar,_=function(t){return m.r2c(t,0,x)},w=function(t){return v.r2c(t,0,b)},M=function(t){return m.c2r(t,0,x)},k=function(t){return v.c2r(t,0,b)},A=Math.min(g.length,y.length);g.length&gt;A&amp;&amp;g.splice(A,g.length-A),y.length&gt;A&amp;&amp;y.splice(A,y.length-A),n(e,&quot;x&quot;,g,m,_,M,x),n(e,&quot;y&quot;,y,v,w,k,b);var T=[],S=[],E=[],L=&quot;string&quot;==typeof e.xbins.size,C=&quot;string&quot;==typeof e.ybins.size,z=[],D=[],I=L?z:e.xbins,P=C?D:e.ybins,O=0,F=[],R=[],N=e.histnorm,j=e.histfunc,B=-1!==N.indexOf(&quot;density&quot;),U=&quot;max&quot;===j||&quot;min&quot;===j?null:0,V=c.count,q=u[N],H=!1,G=[],Y=[],W=&quot;z&quot;in e?e.z:&quot;marker&quot;in e&amp;&amp;Array.isArray(e.marker.color)?e.marker.color:&quot;&quot;;W&amp;&amp;&quot;count&quot;!==j&amp;&amp;(H=&quot;avg&quot;===j,V=c[j]);var X=e.xbins,Z=_(X.start),J=_(X.end)+(Z-l.tickIncrement(Z,X.size,!1,x))/1e6;for(r=Z;r&lt;J;r=l.tickIncrement(r,X.size,!1,x))S.push(U),z.push(r),H&amp;&amp;E.push(0);z.push(r);var K=S.length,Q=_(e.xbins.start),$=(r-Q)/K,tt=M(Q+$/2);for(Z=w((X=e.ybins).start),J=w(X.end)+(Z-l.tickIncrement(Z,X.size,!1,b))/1e6,r=Z;r&lt;J;r=l.tickIncrement(r,X.size,!1,b)){T.push(S.slice()),D.push(r);var et=new Array(K);for(h=0;h&lt;K;h++)et[h]=[];R.push(et),H&amp;&amp;F.push(E.slice())}D.push(r);var rt=T.length,nt=w(e.ybins.start),it=(r-nt)/rt,at=k(nt+it/2);B&amp;&amp;(G=i(S.length,I,$,L),Y=i(T.length,P,it,C)),L||&quot;date&quot;!==m.type||(I=a(_,I)),C||&quot;date&quot;!==v.type||(P=a(w,P));var ot=!0,st=!0,lt=new Array(K),ct=new Array(rt),ut=1/0,ft=1/0,ht=1/0,dt=1/0;for(r=0;r&lt;A;r++){var pt=g[r],mt=y[r];d=s.findBin(pt,I),p=s.findBin(mt,P),d&gt;=0&amp;&amp;d&lt;K&amp;&amp;p&gt;=0&amp;&amp;p&lt;rt&amp;&amp;(O+=V(d,r,T[p],W,F[p]),R[p][d].push(r),ot&amp;&amp;(void 0===lt[d]?lt[d]=pt:lt[d]!==pt&amp;&amp;(ot=!1)),st&amp;&amp;(void 0===ct[d]?ct[d]=mt:ct[d]!==mt&amp;&amp;(st=!1)),ut=Math.min(ut,pt-z[d]),ft=Math.min(ft,z[d+1]-pt),ht=Math.min(ht,mt-D[p]),dt=Math.min(dt,D[p+1]-mt))}if(H)for(p=0;p&lt;rt;p++)O+=f(T[p],F[p]);if(q)for(p=0;p&lt;rt;p++)q(T[p],O,G,Y[p]);return{x:g,xRanges:o(z,ot&amp;&amp;lt,ut,ft,m,x),x0:tt,dx:$,y:y,yRanges:o(D,st&amp;&amp;ct,ht,dt,v,b),y0:at,dy:it,z:T,pts:R}}},{&quot;../../lib&quot;:743,&quot;../../plots/cartesian/axes&quot;:789,&quot;../histogram/average&quot;:998,&quot;../histogram/bin_functions&quot;:1e3,&quot;../histogram/bin_label_vals&quot;:1001,&quot;../histogram/clean_bins&quot;:1003,&quot;../histogram/norm_functions&quot;:1008}],1011:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib&quot;),i=t(&quot;./sample_defaults&quot;),a=t(&quot;../heatmap/style_defaults&quot;),o=t(&quot;../../components/colorscale/defaults&quot;),s=t(&quot;./attributes&quot;);e.exports=function(t,e,r,l){function c(r,i){return n.coerce(t,e,s,r,i)}i(t,e,c,l),!1!==e.visible&amp;&amp;(a(t,e,c,l),o(t,e,l,c,{prefix:&quot;&quot;,cLetter:&quot;z&quot;}))}},{&quot;../../components/colorscale/defaults&quot;:628,&quot;../../lib&quot;:743,&quot;../heatmap/style_defaults&quot;:992,&quot;./attributes&quot;:1009,&quot;./sample_defaults&quot;:1014}],1012:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../heatmap/hover&quot;),i=t(&quot;../../plots/cartesian/axes&quot;).hoverLabelText;e.exports=function(t,e,r,a,o,s){var l=n(t,e,r,a,o,s);if(l){var c=(t=l[0]).index,u=c[0],f=c[1],h=t.cd[0],d=h.xRanges[f],p=h.yRanges[u];return t.xLabel=i(t.xa,d[0],d[1]),t.yLabel=i(t.ya,p[0],p[1]),l}}},{&quot;../../plots/cartesian/axes&quot;:789,&quot;../heatmap/hover&quot;:985}],1013:[function(t,e,r){&quot;use strict&quot;;var n={};n.attributes=t(&quot;./attributes&quot;),n.supplyDefaults=t(&quot;./defaults&quot;),n.calc=t(&quot;../heatmap/calc&quot;),n.plot=t(&quot;../heatmap/plot&quot;),n.colorbar=t(&quot;../heatmap/colorbar&quot;),n.style=t(&quot;../heatmap/style&quot;),n.hoverPoints=t(&quot;./hover&quot;),n.eventData=t(&quot;../histogram/event_data&quot;),n.moduleType=&quot;trace&quot;,n.name=&quot;histogram2d&quot;,n.basePlotModule=t(&quot;../../plots/cartesian&quot;),n.categories=[&quot;cartesian&quot;,&quot;2dMap&quot;,&quot;histogram&quot;],n.meta={},e.exports=n},{&quot;../../plots/cartesian&quot;:800,&quot;../heatmap/calc&quot;:978,&quot;../heatmap/colorbar&quot;:980,&quot;../heatmap/plot&quot;:990,&quot;../heatmap/style&quot;:991,&quot;../histogram/event_data&quot;:1005,&quot;./attributes&quot;:1009,&quot;./defaults&quot;:1011,&quot;./hover&quot;:1012}],1014:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../registry&quot;),i=t(&quot;../histogram/bin_defaults&quot;);e.exports=function(t,e,r,a){var o=r(&quot;x&quot;),s=r(&quot;y&quot;);if(o&amp;&amp;o.length&amp;&amp;s&amp;&amp;s.length){n.getComponentMethod(&quot;calendars&quot;,&quot;handleTraceDefaults&quot;)(t,e,[&quot;x&quot;,&quot;y&quot;],a);(r(&quot;z&quot;)||r(&quot;marker.color&quot;))&amp;&amp;r(&quot;histfunc&quot;);i(t,e,r,[&quot;x&quot;,&quot;y&quot;])}else e.visible=!1}},{&quot;../../registry&quot;:873,&quot;../histogram/bin_defaults&quot;:999}],1015:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../histogram2d/attributes&quot;),i=t(&quot;../contour/attributes&quot;),a=t(&quot;../../components/colorscale/attributes&quot;),o=t(&quot;../../components/colorbar/attributes&quot;),s=t(&quot;../../lib/extend&quot;).extendFlat;e.exports=s({x:n.x,y:n.y,z:n.z,marker:n.marker,histnorm:n.histnorm,histfunc:n.histfunc,autobinx:n.autobinx,nbinsx:n.nbinsx,xbins:n.xbins,autobiny:n.autobiny,nbinsy:n.nbinsy,ybins:n.ybins,autocontour:i.autocontour,ncontours:i.ncontours,contours:i.contours,line:i.line,zhoverformat:n.zhoverformat},a,{zmin:s({},a.zmin,{editType:&quot;calc&quot;}),zmax:s({},a.zmax,{editType:&quot;calc&quot;})},{colorbar:o})},{&quot;../../components/colorbar/attributes&quot;:619,&quot;../../components/colorscale/attributes&quot;:624,&quot;../../lib/extend&quot;:732,&quot;../contour/attributes&quot;:949,&quot;../histogram2d/attributes&quot;:1009}],1016:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib&quot;),i=t(&quot;../histogram2d/sample_defaults&quot;),a=t(&quot;../contour/contours_defaults&quot;),o=t(&quot;../contour/style_defaults&quot;),s=t(&quot;./attributes&quot;);e.exports=function(t,e,r,l){function c(r,i){return n.coerce(t,e,s,r,i)}i(t,e,c,l),!1!==e.visible&amp;&amp;(a(t,e,c),o(t,e,c,l))}},{&quot;../../lib&quot;:743,&quot;../contour/contours_defaults&quot;:953,&quot;../contour/style_defaults&quot;:963,&quot;../histogram2d/sample_defaults&quot;:1014,&quot;./attributes&quot;:1015}],1017:[function(t,e,r){&quot;use strict&quot;;var n={};n.attributes=t(&quot;./attributes&quot;),n.supplyDefaults=t(&quot;./defaults&quot;),n.calc=t(&quot;../contour/calc&quot;),n.plot=t(&quot;../contour/plot&quot;).plot,n.style=t(&quot;../contour/style&quot;),n.colorbar=t(&quot;../contour/colorbar&quot;),n.hoverPoints=t(&quot;../contour/hover&quot;),n.moduleType=&quot;trace&quot;,n.name=&quot;histogram2dcontour&quot;,n.basePlotModule=t(&quot;../../plots/cartesian&quot;),n.categories=[&quot;cartesian&quot;,&quot;2dMap&quot;,&quot;contour&quot;,&quot;histogram&quot;],n.meta={},e.exports=n},{&quot;../../plots/cartesian&quot;:800,&quot;../contour/calc&quot;:950,&quot;../contour/colorbar&quot;:951,&quot;../contour/hover&quot;:957,&quot;../contour/plot&quot;:961,&quot;../contour/style&quot;:962,&quot;./attributes&quot;:1015,&quot;./defaults&quot;:1016}],1018:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../components/colorscale/color_attributes&quot;),i=t(&quot;../../components/colorscale/attributes&quot;),a=t(&quot;../../components/colorbar/attributes&quot;),o=t(&quot;../surface/attributes&quot;),s=t(&quot;../../lib/extend&quot;).extendFlat;e.exports=s(n(&quot;&quot;,&quot;calc&quot;,!1),{x:{valType:&quot;data_array&quot;,editType:&quot;calc+clearAxisTypes&quot;},y:{valType:&quot;data_array&quot;,editType:&quot;calc+clearAxisTypes&quot;},z:{valType:&quot;data_array&quot;,editType:&quot;calc+clearAxisTypes&quot;},i:{valType:&quot;data_array&quot;,editType:&quot;calc&quot;},j:{valType:&quot;data_array&quot;,editType:&quot;calc&quot;},k:{valType:&quot;data_array&quot;,editType:&quot;calc&quot;},delaunayaxis:{valType:&quot;enumerated&quot;,values:[&quot;x&quot;,&quot;y&quot;,&quot;z&quot;],dflt:&quot;z&quot;,editType:&quot;calc&quot;},alphahull:{valType:&quot;number&quot;,dflt:-1,editType:&quot;calc&quot;},intensity:{valType:&quot;data_array&quot;,editType:&quot;calc&quot;},color:{valType:&quot;color&quot;,editType:&quot;calc&quot;},vertexcolor:{valType:&quot;data_array&quot;,editType:&quot;calc&quot;},facecolor:{valType:&quot;data_array&quot;,editType:&quot;calc&quot;},opacity:o.opacity,flatshading:{valType:&quot;boolean&quot;,dflt:!1,editType:&quot;calc&quot;},contour:{show:s({},o.contours.x.show,{}),color:o.contours.x.color,width:o.contours.x.width,editType:&quot;calc&quot;},showscale:i.showscale,colorbar:a,lightposition:{x:s({},o.lightposition.x,{dflt:1e5}),y:s({},o.lightposition.y,{dflt:1e5}),z:s({},o.lightposition.z,{dflt:0}),editType:&quot;calc&quot;},lighting:s({vertexnormalsepsilon:{valType:&quot;number&quot;,min:0,max:1,dflt:1e-12,editType:&quot;calc&quot;},facenormalsepsilon:{valType:&quot;number&quot;,min:0,max:1,dflt:1e-6,editType:&quot;calc&quot;},editType:&quot;calc&quot;},o.lighting)})},{&quot;../../components/colorbar/attributes&quot;:619,&quot;../../components/colorscale/attributes&quot;:624,&quot;../../components/colorscale/color_attributes&quot;:626,&quot;../../lib/extend&quot;:732,&quot;../surface/attributes&quot;:1140}],1019:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../components/colorscale/calc&quot;);e.exports=function(t,e){e.intensity&amp;&amp;n(e,e.intensity,&quot;&quot;,&quot;c&quot;)}},{&quot;../../components/colorscale/calc&quot;:625}],1020:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;fast-isnumeric&quot;),i=t(&quot;../../lib&quot;),a=t(&quot;../../plots/plots&quot;),o=t(&quot;../../components/colorscale&quot;),s=t(&quot;../../components/colorbar/draw&quot;);e.exports=function(t,e){var r=e[0].trace,l=&quot;cb&quot;+r.uid,c=r.cmin,u=r.cmax,f=r.intensity||[];if(n(c)||(c=i.aggNums(Math.min,null,f)),n(u)||(u=i.aggNums(Math.max,null,f)),t._fullLayout._infolayer.selectAll(&quot;.&quot;+l).remove(),r.showscale){var h=e[0].t.cb=s(t,l),d=o.makeColorScaleFunc(o.extractScale(r.colorscale,c,u),{noNumericCheck:!0});h.fillcolor(d).filllevels({start:c,end:u,size:(u-c)/254}).options(r.colorbar)()}else a.autoMargin(t,l)}},{&quot;../../components/colorbar/draw&quot;:622,&quot;../../components/colorscale&quot;:633,&quot;../../lib&quot;:743,&quot;../../plots/plots&quot;:852,&quot;fast-isnumeric&quot;:140}],1021:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r){this.scene=t,this.uid=r,this.mesh=e,this.name=&quot;&quot;,this.color=&quot;#fff&quot;,this.data=null,this.showContour=!1}function i(t){return t.map(f)}function a(t,e,r){for(var n=new Array(t.length),i=0;i&lt;t.length;++i)n[i]=[t[i],e[i],r[i]];return n}var o=t(&quot;gl-mesh3d&quot;),s=t(&quot;tinycolor2&quot;),l=t(&quot;delaunay-triangulate&quot;),c=t(&quot;alpha-shape&quot;),u=t(&quot;convex-hull&quot;),f=t(&quot;../../lib/str2rgbarray&quot;),h=n.prototype;h.handlePick=function(t){if(t.object===this.mesh){var e=t.index=t.data.index;return t.traceCoordinate=[this.data.x[e],this.data.y[e],this.data.z[e]],!0}},h.update=function(t){function e(t,e,r,n){return e.map(function(e){return t.d2l(e,0,n)*r})}var r=this.scene,n=r.fullSceneLayout;this.data=t;var o,h=a(e(n.xaxis,t.x,r.dataScale[0],t.xcalendar),e(n.yaxis,t.y,r.dataScale[1],t.ycalendar),e(n.zaxis,t.z,r.dataScale[2],t.zcalendar));if(t.i&amp;&amp;t.j&amp;&amp;t.k)o=a(t.i,t.j,t.k);else if(0===t.alphahull)o=u(h);else if(t.alphahull&gt;0)o=c(t.alphahull,h);else{var d=[&quot;x&quot;,&quot;y&quot;,&quot;z&quot;].indexOf(t.delaunayaxis);o=l(h.map(function(t){return[t[(d+1)%3],t[(d+2)%3]]}))}var p={positions:h,cells:o,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:f(t.contour.color).slice(0,3),contourWidth:t.contour.width,useFacetNormals:t.flatshading};t.intensity?(this.color=&quot;#fff&quot;,p.vertexIntensity=t.intensity,p.vertexIntensityBounds=[t.cmin,t.cmax],p.colormap=function(t){return t.map(function(t){var e=t[0],r=s(t[1]).toRgb();return{index:e,rgb:[r.r,r.g,r.b,1]}})}(t.colorscale)):t.vertexcolor?(this.color=t.vertexcolor[0],p.vertexColors=i(t.vertexcolor)):t.facecolor?(this.color=t.facecolor[0],p.cellColors=i(t.facecolor)):(this.color=t.color,p.meshColor=f(t.color)),this.mesh.update(p)},h.dispose=function(){this.scene.glplot.remove(this.mesh),this.mesh.dispose()},e.exports=function(t,e){var r=t.glplot.gl,i=o({gl:r}),a=new n(t,i,e.uid);return i._trace=a,a.update(e),t.glplot.add(i),a}},{&quot;../../lib/str2rgbarray&quot;:765,&quot;alpha-shape&quot;:47,&quot;convex-hull&quot;:109,&quot;delaunay-triangulate&quot;:130,&quot;gl-mesh3d&quot;:210,tinycolor2:546}],1022:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../registry&quot;),i=t(&quot;../../lib&quot;),a=t(&quot;../../components/colorscale/defaults&quot;),o=t(&quot;./attributes&quot;);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&amp;&amp;Array.isArray(e)?e:null});return e.every(function(t){return t&amp;&amp;t.length===e[0].length})&amp;&amp;e}var u=c([&quot;x&quot;,&quot;y&quot;,&quot;z&quot;]),f=c([&quot;i&quot;,&quot;j&quot;,&quot;k&quot;]);if(u){f&amp;&amp;f.forEach(function(t){for(var e=0;e&lt;t.length;++e)t[e]|=0});n.getComponentMethod(&quot;calendars&quot;,&quot;handleTraceDefaults&quot;)(t,e,[&quot;x&quot;,&quot;y&quot;,&quot;z&quot;],s),[&quot;lighting.ambient&quot;,&quot;lighting.diffuse&quot;,&quot;lighting.specular&quot;,&quot;lighting.roughness&quot;,&quot;lighting.fresnel&quot;,&quot;lighting.vertexnormalsepsilon&quot;,&quot;lighting.facenormalsepsilon&quot;,&quot;lightposition.x&quot;,&quot;lightposition.y&quot;,&quot;lightposition.z&quot;,&quot;contour.show&quot;,&quot;contour.color&quot;,&quot;contour.width&quot;,&quot;colorscale&quot;,&quot;reversescale&quot;,&quot;flatshading&quot;,&quot;alphahull&quot;,&quot;delaunayaxis&quot;,&quot;opacity&quot;].forEach(function(t){l(t)}),&quot;intensity&quot;in t?(l(&quot;intensity&quot;),a(t,e,s,l,{prefix:&quot;&quot;,cLetter:&quot;c&quot;})):(e.showscale=!1,&quot;facecolor&quot;in t?l(&quot;facecolor&quot;):&quot;vertexcolor&quot;in t?l(&quot;vertexcolor&quot;):l(&quot;color&quot;,r))}else e.visible=!1}},{&quot;../../components/colorscale/defaults&quot;:628,&quot;../../lib&quot;:743,&quot;../../registry&quot;:873,&quot;./attributes&quot;:1018}],1023:[function(t,e,r){&quot;use strict&quot;;var n={};n.attributes=t(&quot;./attributes&quot;),n.supplyDefaults=t(&quot;./defaults&quot;),n.calc=t(&quot;./calc&quot;),n.colorbar=t(&quot;./colorbar&quot;),n.plot=t(&quot;./convert&quot;),n.moduleType=&quot;trace&quot;,n.name=&quot;mesh3d&quot;,n.basePlotModule=t(&quot;../../plots/gl3d&quot;),n.categories=[&quot;gl3d&quot;],n.meta={},e.exports=n},{&quot;../../plots/gl3d&quot;:832,&quot;./attributes&quot;:1018,&quot;./calc&quot;:1019,&quot;./colorbar&quot;:1020,&quot;./convert&quot;:1021,&quot;./defaults&quot;:1022}],1024:[function(t,e,r){&quot;use strict&quot;;function n(t){return{name:{valType:&quot;string&quot;,editType:&quot;style&quot;},showlegend:{valType:&quot;boolean&quot;,dflt:!0,editType:&quot;style&quot;},line:{color:i({},s.color,{dflt:t}),width:s.width,dash:o,editType:&quot;style&quot;},editType:&quot;style&quot;}}var i=t(&quot;../../lib&quot;).extendFlat,a=t(&quot;../scatter/attributes&quot;),o=t(&quot;../../components/drawing/attributes&quot;).dash,s=a.line;e.exports={x:{valType:&quot;data_array&quot;,editType:&quot;calc+clearAxisTypes&quot;},open:{valType:&quot;data_array&quot;,dflt:[],editType:&quot;calc&quot;},high:{valType:&quot;data_array&quot;,dflt:[],editType:&quot;calc&quot;},low:{valType:&quot;data_array&quot;,dflt:[],editType:&quot;calc&quot;},close:{valType:&quot;data_array&quot;,dflt:[],editType:&quot;calc&quot;},line:{width:i({},s.width,{}),dash:i({},o,{}),editType:&quot;style&quot;},increasing:n(&quot;#3D9970&quot;),decreasing:n(&quot;#FF4136&quot;),text:{valType:&quot;string&quot;,dflt:&quot;&quot;,arrayOk:!0,editType:&quot;calc&quot;},tickwidth:{valType:&quot;number&quot;,min:0,max:.5,dflt:.3,editType:&quot;calcIfAutorange&quot;}}},{&quot;../../components/drawing/attributes&quot;:642,&quot;../../lib&quot;:743,&quot;../scatter/attributes&quot;:1066}],1025:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,n){o(t,e,r,n),r(n+&quot;.line.color&quot;),r(n+&quot;.line.width&quot;,e.line.width),r(n+&quot;.line.dash&quot;,e.line.dash)}var i=t(&quot;../../lib&quot;),a=t(&quot;./ohlc_defaults&quot;),o=t(&quot;./direction_defaults&quot;),s=t(&quot;./attributes&quot;),l=t(&quot;./helpers&quot;);e.exports=function(t,e,r,o){function c(r,n){return i.coerce(t,e,s,r,n)}l.pushDummyTransformOpts(t,e);0!==a(t,e,c,o)?(c(&quot;line.width&quot;),c(&quot;line.dash&quot;),n(t,e,c,&quot;increasing&quot;),n(t,e,c,&quot;decreasing&quot;),c(&quot;text&quot;),c(&quot;tickwidth&quot;)):e.visible=!1}},{&quot;../../lib&quot;:743,&quot;./attributes&quot;:1024,&quot;./direction_defaults&quot;:1026,&quot;./helpers&quot;:1027,&quot;./ohlc_defaults&quot;:1029}],1026:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t,e,r,n){r(n+&quot;.showlegend&quot;),!1===t.showlegend&amp;&amp;(e[n].showlegend=!1);r(n+&quot;.name&quot;,e.name+&quot; - &quot;+n)}},{}],1027:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;fast-isnumeric&quot;),i=t(&quot;../../lib&quot;);r.pushDummyTransformOpts=function(t,e){var r={type:e.type,_ephemeral:!0};Array.isArray(t.transforms)?t.transforms.push(r):t.transforms=[r]},r.clearEphemeralTransformOpts=function(t){var e=t.transforms;if(Array.isArray(e)){for(var r=0;r&lt;e.length;r++)e[r]._ephemeral&amp;&amp;e.splice(r,1);0===e.length&amp;&amp;delete t.transforms}},r.copyOHLC=function(t,e){t.open&amp;&amp;(e.open=t.open),t.high&amp;&amp;(e.high=t.high),t.low&amp;&amp;(e.low=t.low),t.close&amp;&amp;(e.close=t.close)},r.makeTransform=function(t,e,r){var n=i.extendFlat([],t.transforms);return n[e.transformIndex]={type:t.type,direction:r,open:t.open,high:t.high,low:t.low,close:t.close},n},r.getFilterFn=function(t){return new function(t){function e(t,e){return t===e?e&gt;i?r=!0:e&lt;i&amp;&amp;(r=!1):r=t&lt;e,i=e,r}var r=!0,i=null;return&quot;increasing&quot;===t?function(t,r){return n(t)&amp;&amp;n(r)&amp;&amp;e(+t,+r)}:function(t,r){return n(t)&amp;&amp;n(r)&amp;&amp;!e(+t,+r)}}(t)},r.addRangeSlider=function(t,e){for(var r=!1,n=0;n&lt;t.length;n++)if(!0===t[n].visible){r=!0;break}r&amp;&amp;(e.xaxis||(e.xaxis={}),e.xaxis.rangeslider||(e.xaxis.rangeslider={}))}},{&quot;../../lib&quot;:743,&quot;fast-isnumeric&quot;:140}],1028:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../plot_api/register&quot;);e.exports={moduleType:&quot;trace&quot;,name:&quot;ohlc&quot;,basePlotModule:t(&quot;../../plots/cartesian&quot;),categories:[&quot;cartesian&quot;,&quot;showLegend&quot;],meta:{},attributes:t(&quot;./attributes&quot;),supplyDefaults:t(&quot;./defaults&quot;)},n(t(&quot;../scatter&quot;)),n(t(&quot;./transform&quot;))},{&quot;../../plot_api/register&quot;:779,&quot;../../plots/cartesian&quot;:800,&quot;../scatter&quot;:1078,&quot;./attributes&quot;:1024,&quot;./defaults&quot;:1025,&quot;./transform&quot;:1030}],1029:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../registry&quot;);e.exports=function(t,e,r,i){var a,o=r(&quot;x&quot;),s=r(&quot;open&quot;),l=r(&quot;high&quot;),c=r(&quot;low&quot;),u=r(&quot;close&quot;);return n.getComponentMethod(&quot;calendars&quot;,&quot;handleTraceDefaults&quot;)(t,e,[&quot;x&quot;],i),a=Math.min(s.length,l.length,c.length,u.length),o&amp;&amp;(a=Math.min(a,o.length))&lt;o.length&amp;&amp;(e.x=o.slice(0,a)),a&lt;s.length&amp;&amp;(e.open=s.slice(0,a)),a&lt;l.length&amp;&amp;(e.high=l.slice(0,a)),a&lt;c.length&amp;&amp;(e.low=c.slice(0,a)),a&lt;u.length&amp;&amp;(e.close=u.slice(0,a)),a}},{&quot;../../registry&quot;:873}],1030:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r){var n={type:&quot;scatter&quot;,mode:&quot;lines&quot;,connectgaps:!1,visible:t.visible,opacity:t.opacity,xaxis:t.xaxis,yaxis:t.yaxis,hoverinfo:function(t){var e=t.hoverinfo;if(&quot;all&quot;===e)return&quot;x+text+name&quot;;var r=e.split(&quot;+&quot;),n=r.indexOf(&quot;y&quot;),i=r.indexOf(&quot;text&quot;);-1!==n&amp;&amp;(r.splice(n,1),-1===i&amp;&amp;r.push(&quot;text&quot;));return r.join(&quot;+&quot;)}(t),transforms:s.makeTransform(t,e,r)},i=t[r];return i&amp;&amp;a.extendFlat(n,{x:t.x||[0],xcalendar:t.xcalendar,y:[].concat(t.low).concat(t.high),text:t.text,name:i.name,showlegend:i.showlegend,line:i.line}),n}var i=t(&quot;fast-isnumeric&quot;),a=t(&quot;../../lib&quot;),o=a._,s=t(&quot;./helpers&quot;),l=t(&quot;../../plots/cartesian/axes&quot;),c=t(&quot;../../plots/cartesian/axis_ids&quot;);r.moduleType=&quot;transform&quot;,r.name=&quot;ohlc&quot;,r.attributes={},r.supplyDefaults=function(t,e,r,n){return s.clearEphemeralTransformOpts(n),s.copyOHLC(t,e),t},r.transform=function(t,e){for(var r=[],i=0;i&lt;t.length;i++){var a=t[i];&quot;ohlc&quot;===a.type?r.push(n(a,e,&quot;increasing&quot;),n(a,e,&quot;decreasing&quot;)):r.push(a)}return s.addRangeSlider(r,e.layout),r},r.calcTransform=function(t,e,r){var n,u=r.direction,f=s.getFilterFn(u),h=c.getFromTrace(t,e,&quot;x&quot;),d=c.getFromTrace(t,e,&quot;y&quot;),p=function(t,e,r){var n=r._fullInput,i=n.tickwidth,o=n._minDiff;if(!o){var s=t._fullData,l=[];o=1/0;var c;for(c=0;c&lt;s.length;c++){var u=s[c]._fullInput;if(&quot;ohlc&quot;===u.type&amp;&amp;!0===u.visible&amp;&amp;u.xaxis===e._id&amp;&amp;(l.push(u),u.x&amp;&amp;u.x.length&gt;1)){var f=a.simpleMap(u.x,e.d2c,0,r.xcalendar),h=a.distinctVals(f).minDiff;o=Math.min(o,h)}}for(o===1/0&amp;&amp;(o=1),c=0;c&lt;l.length;c++)l[c]._minDiff=o}return o*i}(t,h,e),m=e.open,g=e.high,v=e.low,y=e.close,x=e.text,b=o(t,&quot;open:&quot;)+&quot; &quot;,_=o(t,&quot;high:&quot;)+&quot; &quot;,w=o(t,&quot;low:&quot;)+&quot; &quot;,M=o(t,&quot;close:&quot;)+&quot; &quot;,k=m.length,A=[],T=[],S=[];n=e._fullInput.x?function(t){var r=e.x[t],n=e.xcalendar,i=h.d2c(r,0,n);A.push(h.c2d(i-p,0,n),r,r,r,r,h.c2d(i+p,0,n),null)}:function(t){A.push(t-p,t,t,t,t,t+p,null)};for(var E=function(t,e,r,n){T.push(t,t,e,r,n,n,null)},L=function(t,e){return l.tickText(t,t.c2l(e),&quot;hover&quot;).text},C=e._fullInput.hoverinfo,z=C.split(&quot;+&quot;),D=&quot;all&quot;===C,I=D||-1!==z.indexOf(&quot;y&quot;),P=D||-1!==z.indexOf(&quot;text&quot;),O=Array.isArray(x)?function(t){return x[t]||&quot;&quot;}:function(){return x},F=function(t,e,r,n,i){var a=[];I&amp;&amp;(a.push(b+L(d,e)),a.push(_+L(d,r)),a.push(w+L(d,n)),a.push(M+L(d,i))),P&amp;&amp;a.push(O(t));var o=a.join(&quot;&lt;br&gt;&quot;);S.push(o,o,o,o,o,o,null)},R=0;R&lt;k;R++)f(m[R],y[R])&amp;&amp;i(g[R])&amp;&amp;i(v[R])&amp;&amp;(n(R),E(m[R],g[R],v[R],y[R]),F(R,m[R],g[R],v[R],y[R]));e.x=A,e.y=T,e.text=S}},{&quot;../../lib&quot;:743,&quot;../../plots/cartesian/axes&quot;:789,&quot;../../plots/cartesian/axis_ids&quot;:792,&quot;./helpers&quot;:1027,&quot;fast-isnumeric&quot;:140}],1031:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../components/colorscale/color_attributes&quot;),i=t(&quot;../../components/colorbar/attributes&quot;),a=t(&quot;../../components/colorscale/scales&quot;),o=t(&quot;../../plots/cartesian/layout_attributes&quot;),s=t(&quot;../../plots/font_attributes&quot;),l=t(&quot;../../plots/domain_attributes&quot;),c=t(&quot;../../lib/extend&quot;),u=c.extendDeepAll,f=c.extendFlat;e.exports={domain:l({name:&quot;parcoords&quot;,trace:!0,editType:&quot;calc&quot;}),labelfont:s({editType:&quot;calc&quot;}),tickfont:s({editType:&quot;calc&quot;}),rangefont:s({editType:&quot;calc&quot;}),dimensions:{_isLinkedToArray:&quot;dimension&quot;,label:{valType:&quot;string&quot;,editType:&quot;calc&quot;},tickvals:f({},o.tickvals,{editType:&quot;calc&quot;}),ticktext:f({},o.ticktext,{editType:&quot;calc&quot;}),tickformat:{valType:&quot;string&quot;,dflt:&quot;3s&quot;,editType:&quot;calc&quot;},visible:{valType:&quot;boolean&quot;,dflt:!0,editType:&quot;calc&quot;},range:{valType:&quot;info_array&quot;,items:[{valType:&quot;number&quot;,editType:&quot;calc&quot;},{valType:&quot;number&quot;,editType:&quot;calc&quot;}],editType:&quot;calc&quot;},constraintrange:{valType:&quot;info_array&quot;,items:[{valType:&quot;number&quot;,editType:&quot;calc&quot;},{valType:&quot;number&quot;,editType:&quot;calc&quot;}],editType:&quot;calc&quot;},values:{valType:&quot;data_array&quot;,dflt:[],editType:&quot;calc&quot;},editType:&quot;calc&quot;},line:f(u(n(&quot;line&quot;,&quot;calc&quot;),{colorscale:{dflt:a.Viridis},autocolorscale:{dflt:!1}}),{showscale:{valType:&quot;boolean&quot;,dflt:!1,editType:&quot;calc&quot;},colorbar:i,editType:&quot;calc&quot;})}},{&quot;../../components/colorbar/attributes&quot;:619,&quot;../../components/colorscale/color_attributes&quot;:626,&quot;../../components/colorscale/scales&quot;:637,&quot;../../lib/extend&quot;:732,&quot;../../plots/cartesian/layout_attributes&quot;:801,&quot;../../plots/domain_attributes&quot;:815,&quot;../../plots/font_attributes&quot;:816}],1032:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;d3&quot;),i=t(&quot;../../plots/get_data&quot;).getModuleCalcData,a=t(&quot;./plot&quot;),o=t(&quot;../../constants/xmlns_namespaces&quot;);r.name=&quot;parcoords&quot;,r.plot=function(t){var e=i(t.calcdata,&quot;parcoords&quot;);e.length&amp;&amp;a(t,e)},r.clean=function(t,e,r,n){var i=n._has&amp;&amp;n._has(&quot;parcoords&quot;),a=e._has&amp;&amp;e._has(&quot;parcoords&quot;);i&amp;&amp;!a&amp;&amp;(n._paperdiv.selectAll(&quot;.parcoords&quot;).remove(),n._glimages.selectAll(&quot;*&quot;).remove())},r.toSVG=function(t){var e=t._fullLayout._glimages,r=n.select(t).selectAll(&quot;.svg-container&quot;);r.filter(function(t,e){return e===r.size()-1}).selectAll(&quot;.gl-canvas-context, .gl-canvas-focus&quot;).each(function(){var t=this.toDataURL(&quot;image/png&quot;);e.append(&quot;svg:image&quot;).attr({xmlns:o.svg,&quot;xlink:href&quot;:t,preserveAspectRatio:&quot;none&quot;,x:0,y:0,width:this.width,height:this.height})}),window.setTimeout(function(){n.selectAll(&quot;#filterBarPattern&quot;).attr(&quot;id&quot;,&quot;filterBarPattern&quot;)},60)}},{&quot;../../constants/xmlns_namespaces&quot;:723,&quot;../../plots/get_data&quot;:826,&quot;./plot&quot;:1040,d3:128}],1033:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../components/colorscale/has_colorscale&quot;),i=t(&quot;../../components/colorscale/calc&quot;),a=t(&quot;../../lib&quot;),o=t(&quot;../../lib/gup&quot;).wrap;e.exports=function(t,e){var r=!!e.line.colorscale&amp;&amp;a.isArray(e.line.color),s=r?e.line.color:Array.apply(0,Array(e.dimensions.reduce(function(t,e){return Math.max(t,e.values.length)},0))).map(function(){return.5}),l=r?e.line.colorscale:[[0,e.line.color],[1,e.line.color]];return n(e,&quot;line&quot;)&amp;&amp;i(e,e.line.color,&quot;line&quot;,&quot;c&quot;),o({lineColor:s,cscale:l})}},{&quot;../../components/colorscale/calc&quot;:625,&quot;../../components/colorscale/has_colorscale&quot;:632,&quot;../../lib&quot;:743,&quot;../../lib/gup&quot;:740}],1034:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;fast-isnumeric&quot;),i=t(&quot;../../lib&quot;),a=t(&quot;../../plots/plots&quot;),o=t(&quot;../../components/colorscale&quot;),s=t(&quot;../../components/colorbar/draw&quot;);e.exports=function(t,e){var r=e[0].trace,l=r.line,c=&quot;cb&quot;+r.uid;if(t._fullLayout._infolayer.selectAll(&quot;.&quot;+c).remove(),void 0!==l&amp;&amp;l.showscale){var u=l.color,f=l.cmin,h=l.cmax;n(f)||(f=i.aggNums(Math.min,null,u)),n(h)||(h=i.aggNums(Math.max,null,u));var d=e[0].t.cb=s(t,c),p=o.makeColorScaleFunc(o.extractScale(l.colorscale,f,h),{noNumericCheck:!0});d.fillcolor(p).filllevels({start:f,end:h,size:(h-f)/254}).options(l.colorbar)()}else a.autoMargin(t,c)}},{&quot;../../components/colorbar/draw&quot;:622,&quot;../../components/colorscale&quot;:633,&quot;../../lib&quot;:743,&quot;../../plots/plots&quot;:852,&quot;fast-isnumeric&quot;:140}],1035:[function(t,e,r){&quot;use strict&quot;;e.exports={maxDimensionCount:60,overdrag:45,verticalPadding:2,tickDistance:50,canvasPixelRatio:1,blockLineCount:5e3,scatter:!1,layers:[&quot;contextLineLayer&quot;,&quot;focusLineLayer&quot;,&quot;pickLineLayer&quot;],axisTitleOffset:28,axisExtentOffset:10,bar:{width:4,capturewidth:10,fillcolor:&quot;magenta&quot;,fillopacity:1,strokecolor:&quot;white&quot;,strokeopacity:1,strokewidth:1,handleheight:16,handleopacity:1,handleoverlap:0},cn:{axisExtentText:&quot;axis-extent-text&quot;,parcoordsLineLayers:&quot;parcoords-line-layers&quot;,parcoordsLineLayer:&quot;parcoords-lines&quot;,parcoords:&quot;parcoords&quot;,parcoordsControlView:&quot;parcoords-control-view&quot;,yAxis:&quot;y-axis&quot;,axisOverlays:&quot;axis-overlays&quot;,axis:&quot;axis&quot;,axisHeading:&quot;axis-heading&quot;,axisTitle:&quot;axis-title&quot;,axisExtent:&quot;axis-extent&quot;,axisExtentTop:&quot;axis-extent-top&quot;,axisExtentTopText:&quot;axis-extent-top-text&quot;,axisExtentBottom:&quot;axis-extent-bottom&quot;,axisExtentBottomText:&quot;axis-extent-bottom-text&quot;,axisBrush:&quot;axis-brush&quot;},id:{filterBarPattern:&quot;filter-bar-pattern&quot;}}},{}],1036:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib&quot;),i=t(&quot;./attributes&quot;),a=t(&quot;../../components/colorscale/has_colorscale&quot;),o=t(&quot;../../components/colorscale/defaults&quot;),s=t(&quot;./constants&quot;).maxDimensionCount;e.exports=function(t,e,r,l){function c(r,a){return n.coerce(t,e,i,r,a)}var u=function(t,e){function r(t,e){return n.coerce(a,o,i.dimensions,t,e)}var a,o,l,c=t.dimensions||[],u=e.dimensions=[],f=1/0;for(c.length&gt;s&amp;&amp;(n.log(&quot;parcoords traces support up to &quot;+s+&quot; dimensions at the moment&quot;),c.splice(s)),l=0;l&lt;c.length;l++)a=c[l],o={},n.isPlainObject(a)&amp;&amp;(r(&quot;visible&quot;,r(&quot;values&quot;).length&gt;0)&amp;&amp;(r(&quot;label&quot;),r(&quot;tickvals&quot;),r(&quot;ticktext&quot;),r(&quot;tickformat&quot;),r(&quot;range&quot;),r(&quot;constraintrange&quot;),f=Math.min(f,o.values.length)),o._index=l,u.push(o));if(isFinite(f))for(l=0;l&lt;u.length;l++)(o=u[l]).visible&amp;&amp;o.values.length&gt;f&amp;&amp;(o.values=o.values.slice(0,f));return u}(t,e);!function(t,e,r,i,s){s(&quot;line.color&quot;,r),a(t,&quot;line&quot;)&amp;&amp;n.isArray(t.line.color)?(s(&quot;line.colorscale&quot;),o(t,e,i,s,{prefix:&quot;line.&quot;,cLetter:&quot;c&quot;})):s(&quot;line.color&quot;,r)}(t,e,r,l,c),c(&quot;domain.x&quot;),c(&quot;domain.y&quot;),Array.isArray(u)&amp;&amp;u.length||(e.visible=!1);var f={family:l.font.family,size:Math.round(l.font.size*(10/12)),color:l.font.color};n.coerceFont(c,&quot;labelfont&quot;,f),n.coerceFont(c,&quot;tickfont&quot;,f),n.coerceFont(c,&quot;rangefont&quot;,f)}},{&quot;../../components/colorscale/defaults&quot;:628,&quot;../../components/colorscale/has_colorscale&quot;:632,&quot;../../lib&quot;:743,&quot;./attributes&quot;:1031,&quot;./constants&quot;:1035}],1037:[function(t,e,r){&quot;use strict&quot;;var n={};n.attributes=t(&quot;./attributes&quot;),n.supplyDefaults=t(&quot;./defaults&quot;),n.calc=t(&quot;./calc&quot;),n.plot=t(&quot;./plot&quot;),n.colorbar=t(&quot;./colorbar&quot;),n.moduleType=&quot;trace&quot;,n.name=&quot;parcoords&quot;,n.basePlotModule=t(&quot;./base_plot&quot;),n.categories=[&quot;gl&quot;,&quot;regl&quot;,&quot;noOpacity&quot;],n.meta={},e.exports=n},{&quot;./attributes&quot;:1031,&quot;./base_plot&quot;:1032,&quot;./calc&quot;:1033,&quot;./colorbar&quot;:1034,&quot;./defaults&quot;:1036,&quot;./plot&quot;:1040}],1038:[function(t,e,r){&quot;use strict&quot;;function n(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 i(t,e,r,i,a,o){function s(c){var u;u=Math.min(i,a-c*i),o.offset=h*c*i,o.count=h*u,0===c&amp;&amp;(window.cancelAnimationFrame(r.currentRafs[l]),delete r.currentRafs[l],n(t,o.scissorX,o.scissorY,o.scissorWidth,o.viewBoxSize[1])),r.clearOnly||(e(o),c*i+u&lt;a&amp;&amp;(r.currentRafs[l]=window.requestAnimationFrame(function(){s(c+1)})),r.drawCompleted=!1)}var l=o.key;r.drawCompleted||(!function(t){t.read({x:0,y:0,width:1,height:1,data:m})}(t),r.drawCompleted=!0),s(0)}function a(t){return Math.max(u,Math.min(1-u,t))}function o(t,e){return(t&gt;&gt;&gt;8*e)%256/255}function s(t,e){var r={};return[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15].map(function(r){return function(t,e,r){var n,i,a,o=[];for(i=0;i&lt;t;i++)for(a=0;a&lt;h;a++)for(n=0;n&lt;d;n++)o.push(e[i*f+r*d+n]),r*d+n===f-1&amp;&amp;a%2==0&amp;&amp;(o[o.length-1]*=-1);return o}(t,e,r)}).forEach(function(t,e){r[&quot;p&quot;+e.toString(16)]=t}),r}function l(t,e,r){return t+e&lt;=r}var c=t(&quot;./constants&quot;),u=1e-6,f=64,h=2,d=4,p=[119,119,119],m=new Uint8Array(4),g=new Uint8Array(4);e.exports=function(t,e,r){function u(t,e,r,n,i,a,o,s,u,f,d){var p,g,v,b,_=[t,e],w=c.verticalPadding/a,k=[0,1].map(function(){return[0,1,2,3].map(function(){return new Float32Array(16)})}),A=[0,1].map(function(){return[0,1,2,3].map(function(){return new Float32Array(16)})});for(p=0;p&lt;2;p++)for(b=_[p],g=0;g&lt;4;g++)for(v=0;v&lt;16;v++){var S=v+16*g;k[p][g][v]=v+16*g===b?1:0,A[p][g][v]=(!M&amp;&amp;l(v,16*g,I)?T[0===S?0:1+(S-1)%(T.length-1)].filter[p]:p)+(2*p-1)*w}return{key:o,resolution:[y,x],viewBoxPosition:[r+D,n],viewBoxSize:[i,a],i:t,ii:e,dim1A:k[0][0],dim1B:k[0][1],dim1C:k[0][2],dim1D:k[0][3],dim2A:k[1][0],dim2B:k[1][1],dim2C:k[1][2],dim2D:k[1][3],loA:A[0][0],loB:A[0][1],loC:A[0][2],loD:A[0][3],hiA:A[1][0],hiB:A[1][1],hiC:A[1][2],hiD:A[1][3],colorClamp:j,scatter:s||0,scissorX:(u===f?0:r+D)+(h.pad.l-D)+h.layoutWidth*m.x[0],scissorWidth:(u===d?y-r+D:i+.5)+(u===f?r+D:0),scissorY:n+h.pad.b+h.layoutHeight*m.y[0],scissorHeight:a,viewportX:h.pad.l-D+h.layoutWidth*m.x[0],viewportY:h.pad.b+h.layoutHeight*m.y[0],viewportWidth:y,viewportHeight:x}}var h=e.model,d=e.viewModel,m=h.domain,v=h.lines,y=h.canvasWidth,x=h.canvasHeight,b=d.dimensions,_=d.panels,w=h.unitToColor,M=e.context,k=e.pick,A={currentRafs:{},drawCompleted:!0,clearOnly:!1},T=b.slice(),S=T.length,E=T[0]?T[0].values.length:0,L=M,C=k?v.color.map(function(t,e){return e/v.color.length}):v.color,z=Math.max(1/255,Math.pow(1/C.length,1/3)),D=v.canvasOverdrag,I=_.length,P=function(t,e,r,n){for(var i=[],s=0;s&lt;t;s++)for(var l=0;l&lt;f;l++)i.push(l&lt;e?r[l].paddedUnitValues[s]:l===f-1?a(n[s]):l&gt;=f-4?o(s,f-2-l):.5);return i}(E,S,T,C),O=s(E,P),F=e.regl,R=F.texture({shape:[256,1],format:&quot;rgba&quot;,type:&quot;uint8&quot;,mag:&quot;nearest&quot;,min:&quot;nearest&quot;,data:function(t,e,r){for(var n=[],i=0;i&lt;256;i++){var a=t(i/255);n.push((e?p:a).concat(r))}return n}(w,M,Math.round(255*(M?z:1)))}),N=F({profile:!1,blend:{enable:L,func:{srcRGB:&quot;src alpha&quot;,dstRGB:&quot;one minus src alpha&quot;,srcAlpha:1,dstAlpha:1},equation:{rgb:&quot;add&quot;,alpha:&quot;add&quot;},color:[0,0,0,0]},depth:{enable:!L,mask:!0,func:&quot;less&quot;,range:[0,1]},cull:{enable:!0,face:&quot;back&quot;},scissor:{enable:!0,box:{x:F.prop(&quot;scissorX&quot;),y:F.prop(&quot;scissorY&quot;),width:F.prop(&quot;scissorWidth&quot;),height:F.prop(&quot;scissorHeight&quot;)}},viewport:{x:F.prop(&quot;viewportX&quot;),y:F.prop(&quot;viewportY&quot;),width:F.prop(&quot;viewportWidth&quot;),height:F.prop(&quot;viewportHeight&quot;)},dither:!1,vert:k?&quot;precision highp float;\n#define GLSLIFY 1\n\nattribute vec4 p0, p1, p2, p3,\n               p4, p5, p6, p7,\n               p8, p9, pa, pb,\n               pc, pd, pe;\n\nattribute vec4 pf;\n\nuniform mat4 dim1A, dim2A, dim1B, dim2B, dim1C, dim2C, dim1D, dim2D,\n             loA, hiA, loB, hiB, loC, hiC, loD, hiD;\n\nuniform vec2 resolution,\n             viewBoxPosition,\n             viewBoxSize;\n\nuniform sampler2D palette;\n\nuniform vec2 colorClamp;\n\nuniform float scatter;\n\nvarying vec4 fragColor;\n\nvec4 zero = vec4(0, 0, 0, 0);\nvec4 unit = vec4(1, 1, 1, 1);\nvec2 xyProjection = vec2(1, 1);\n\nmat4 mclamp(mat4 m, mat4 lo, mat4 hi) {\n    return mat4(clamp(m[0], lo[0], hi[0]),\n                clamp(m[1], lo[1], hi[1]),\n                clamp(m[2], lo[2], hi[2]),\n                clamp(m[3], lo[3], hi[3]));\n}\n\nbool mshow(mat4 p, mat4 lo, mat4 hi) {\n    return mclamp(p, lo, hi) == p;\n}\n\nfloat val(mat4 p, mat4 v) {\n    return dot(matrixCompMult(p, v) * unit, unit);\n}\n\nvoid main() {\n\n    float x = 0.5 * sign(pf[3]) + 0.5;\n    float prominence = abs(pf[3]);\n    float depth = 1.0 - prominence;\n\n    mat4 pA = mat4(p0, p1, p2, p3);\n    mat4 pB = mat4(p4, p5, p6, p7);\n    mat4 pC = mat4(p8, p9, pa, pb);\n    mat4 pD = mat4(pc, pd, pe, abs(pf));\n\n    float show = float(mshow(pA, loA, hiA) &amp;&amp;\n                       mshow(pB, loB, hiB) &amp;&amp;\n                       mshow(pC, loC, hiC) &amp;&amp;\n                       mshow(pD, loD, hiD));\n\n    vec2 yy = show * vec2(val(pA, dim2A) + val(pB, dim2B) + val(pC, dim2C) + val(pD, dim2D),\n                          val(pA, dim1A) + val(pB, dim1B) + val(pC, dim1C) + val(pD, dim1D));\n\n    vec2 dimensionToggle = vec2(x, 1.0 - x);\n\n    vec2 scatterToggle = vec2(scatter, 1.0 - scatter);\n\n    float y = dot(yy, dimensionToggle);\n    mat2 xy = mat2(viewBoxSize * yy + dimensionToggle, viewBoxSize * vec2(x, y));\n\n    vec2 viewBoxXY = viewBoxPosition + xy * scatterToggle;\n\n    float depthOrHide = depth + 2.0 * (1.0 - show);\n\n    gl_Position = vec4(\n        xyProjection * (2.0 * viewBoxXY / resolution - 1.0),\n        depthOrHide,\n        1.0\n    );\n\n    // pick coloring\n    fragColor = vec4(pf.rgb, 1.0);\n}\n&quot;:&quot;precision highp float;\n#define GLSLIFY 1\n\nattribute vec4 p0, p1, p2, p3,\n               p4, p5, p6, p7,\n               p8, p9, pa, pb,\n               pc, pd, pe;\n\nattribute vec4 pf;\n\nuniform mat4 dim1A, dim2A, dim1B, dim2B, dim1C, dim2C, dim1D, dim2D,\n             loA, hiA, loB, hiB, loC, hiC, loD, hiD;\n\nuniform vec2 resolution,\n             viewBoxPosition,\n             viewBoxSize;\n\nuniform sampler2D palette;\n\nuniform vec2 colorClamp;\n\nuniform float scatter;\n\nvarying vec4 fragColor;\n\nvec4 zero = vec4(0, 0, 0, 0);\nvec4 unit = vec4(1, 1, 1, 1);\nvec2 xyProjection = vec2(1, 1);\n\nmat4 mclamp(mat4 m, mat4 lo, mat4 hi) {\n    return mat4(clamp(m[0], lo[0], hi[0]),\n                clamp(m[1], lo[1], hi[1]),\n                clamp(m[2], lo[2], hi[2]),\n                clamp(m[3], lo[3], hi[3]));\n}\n\nbool mshow(mat4 p, mat4 lo, mat4 hi) {\n    return mclamp(p, lo, hi) == p;\n}\n\nfloat val(mat4 p, mat4 v) {\n    return dot(matrixCompMult(p, v) * unit, unit);\n}\n\nvoid main() {\n\n    float x = 0.5 * sign(pf[3]) + 0.5;\n    float prominence = abs(pf[3]);\n    float depth = 1.0 - prominence;\n\n    mat4 pA = mat4(p0, p1, p2, p3);\n    mat4 pB = mat4(p4, p5, p6, p7);\n    mat4 pC = mat4(p8, p9, pa, pb);\n    mat4 pD = mat4(pc, pd, pe, abs(pf));\n\n    float show = float(mshow(pA, loA, hiA) &amp;&amp;\n                       mshow(pB, loB, hiB) &amp;&amp;\n                       mshow(pC, loC, hiC) &amp;&amp;\n                       mshow(pD, loD, hiD));\n\n    vec2 yy = show * vec2(val(pA, dim2A) + val(pB, dim2B) + val(pC, dim2C) + val(pD, dim2D),\n                          val(pA, dim1A) + val(pB, dim1B) + val(pC, dim1C) + val(pD, dim1D));\n\n    vec2 dimensionToggle = vec2(x, 1.0 - x);\n\n    vec2 scatterToggle = vec2(scatter, 1.0 - scatter);\n\n    float y = dot(yy, dimensionToggle);\n    mat2 xy = mat2(viewBoxSize * yy + dimensionToggle, viewBoxSize * vec2(x, y));\n\n    vec2 viewBoxXY = viewBoxPosition + xy * scatterToggle;\n\n    float depthOrHide = depth + 2.0 * (1.0 - show);\n\n    gl_Position = vec4(\n        xyProjection * (2.0 * viewBoxXY / resolution - 1.0),\n        depthOrHide,\n        1.0\n    );\n\n    // visible coloring\n    float clampedColorIndex = clamp((prominence - colorClamp[0]) / (colorClamp[1] - colorClamp[0]), 0.0, 1.0);\n    fragColor = texture2D(palette, vec2((clampedColorIndex * 255.0 + 0.5) / 256.0, 0.5));\n}\n&quot;,frag:&quot;precision lowp float;\n#define GLSLIFY 1\n\nvarying vec4 fragColor;\n\nvoid main() {\n    gl_FragColor = fragColor;\n}\n&quot;,primitive:&quot;lines&quot;,lineWidth:1,attributes:O,uniforms:{resolution:F.prop(&quot;resolution&quot;),viewBoxPosition:F.prop(&quot;viewBoxPosition&quot;),viewBoxSize:F.prop(&quot;viewBoxSize&quot;),dim1A:F.prop(&quot;dim1A&quot;),dim2A:F.prop(&quot;dim2A&quot;),dim1B:F.prop(&quot;dim1B&quot;),dim2B:F.prop(&quot;dim2B&quot;),dim1C:F.prop(&quot;dim1C&quot;),dim2C:F.prop(&quot;dim2C&quot;),dim1D:F.prop(&quot;dim1D&quot;),dim2D:F.prop(&quot;dim2D&quot;),loA:F.prop(&quot;loA&quot;),hiA:F.prop(&quot;hiA&quot;),loB:F.prop(&quot;loB&quot;),hiB:F.prop(&quot;hiB&quot;),loC:F.prop(&quot;loC&quot;),hiC:F.prop(&quot;hiC&quot;),loD:F.prop(&quot;loD&quot;),hiD:F.prop(&quot;hiD&quot;),palette:R,colorClamp:F.prop(&quot;colorClamp&quot;),scatter:F.prop(&quot;scatter&quot;)},offset:F.prop(&quot;offset&quot;),count:F.prop(&quot;count&quot;)}),j=[0,1],B=[];return{setColorDomain:function(t){j[0]=t[0],j[1]=t[1]},render:function(t,e,a){var o,s,l,c=1/0,f=-1/0;for(o=0;o&lt;I;o++)t[o].dim2.canvasX&gt;f&amp;&amp;(f=t[o].dim2.canvasX,l=o),t[o].dim1.canvasX&lt;c&amp;&amp;(c=t[o].dim1.canvasX,s=o);for(0===I&amp;&amp;n(F,0,0,y,x),o=0;o&lt;I;o++){var h=t[o],d=h.dim1,p=d.crossfilterDimensionIndex,m=h.canvasX,g=h.canvasY,b=h.dim2.crossfilterDimensionIndex,_=h.panelSizeX,w=h.panelSizeY,M=m+_;if(e||!B[p]||B[p][0]!==m||B[p][1]!==M){B[p]=[m,M];var k=u(p,b,m,g,_,w,d.crossfilterDimensionIndex,r||d.scatter?1:0,o,s,l);A.clearOnly=a,i(F,N,A,e?v.blockLineCount:E,E,k)}}},readPixel:function(t,e){return F.read({x:t,y:e,width:1,height:1,data:g}),g},readPixels:function(t,e,r,n){var i=new Uint8Array(4*r*n);return F.read({x:t,y:e,width:r,height:n,data:i}),i},destroy:function(){t.style[&quot;pointer-events&quot;]=&quot;none&quot;,R.destroy()}}}},{&quot;./constants&quot;:1035}],1039:[function(t,e,r){&quot;use strict&quot;;function n(t){return!(&quot;visible&quot;in t)||t.visible}function i(t){var e=t.range?t.range[0]:d.min(t.values),r=t.range?t.range[1]:d.max(t.values);return!isNaN(e)&amp;&amp;isFinite(e)||(e=0),!isNaN(r)&amp;&amp;isFinite(r)||(r=0),e===r&amp;&amp;(void 0===e?(e=0,r=1):0===e?(e-=1,r+=1):(e*=.9,r*=1.1)),[e,r]}function a(t,e){var r,n,i,a,o;for(r=0,i=1/0,a=(n=t.range())[0];r&lt;n.length;r++){if((o=Math.abs(n[r]-e))&gt;i)return a;i=o,a=n[r]}return n[n.length-1]}function o(t){return d.scale.linear().domain(i(t))}function s(t,e,r){var i=v(e),a=i.trace,s=i.lineColor,l=i.cscale,c=a.line,u=a.domain,p=a.dimensions,m=t.width,g=a.labelfont,y=a.tickfont,x=a.rangefont,b=h.extendDeep({},c,{color:s.map(o({values:s,range:[c.cmin,c.cmax]})),blockLineCount:f.blockLineCount,canvasOverdrag:f.overdrag*f.canvasPixelRatio}),_=Math.floor(m*(u.x[1]-u.x[0])),w=Math.floor(t.height*(u.y[1]-u.y[0])),M=t.margin||{l:80,r:80,t:100,b:80},k=_,A=w;return{key:r,colCount:p.filter(n).length,dimensions:p,tickDistance:f.tickDistance,unitToColor:function(t){var e=t.map(function(t){return t[0]}),r=t.map(function(t){return t[1]}).map(function(t){return d.rgb(t)}),n=&quot;rgb&quot;.split(&quot;&quot;).map(function(t){return d.scale.linear().clamp(!0).domain(e).range(r.map(function(t){return function(e){return e[t]}}(t)))});return function(t){return n.map(function(e){return e(t)})}}(l),lines:b,labelFont:g,tickFont:y,rangeFont:x,layoutWidth:m,layoutHeight:t.height,domain:u,translateX:u.x[0]*m,translateY:t.height-u.y[1]*t.height,pad:M,canvasWidth:k*f.canvasPixelRatio+2*b.canvasOverdrag,canvasHeight:A*f.canvasPixelRatio,width:k,height:A,canvasPixelRatio:f.canvasPixelRatio}}function l(t){var e=t.width,r=t.height,a=t.dimensions,s=t.canvasPixelRatio,l=function(r){return e*r/Math.max(1,t.colCount-1)},c=f.verticalPadding/(r*s),u=1-2*c,h=function(t){return c+u*t},p={key:t.key,xScale:l,model:t},m={};return p.dimensions=a.filter(n).map(function(e,n){var a=o(e),c=m[e.label];m[e.label]=(c||0)+1;return{key:e.label+(c?&quot;__&quot;+c:&quot;&quot;),label:e.label,tickFormat:e.tickformat,tickvals:e.tickvals,ticktext:e.ticktext,ordinal:!!e.tickvals,scatter:f.scatter||e.scatter,xIndex:n,crossfilterDimensionIndex:n,visibleIndex:e._index,height:r,values:e.values,paddedUnitValues:e.values.map(a).map(h),xScale:l,x:l(n),canvasX:l(n)*s,unitScale:function(t,e){return d.scale.linear().range([t-e,e])}(r,f.verticalPadding),domainScale:function(t,e,r){var n=i(r),a=r.ticktext;return r.tickvals?d.scale.ordinal().domain(r.tickvals.map(function(t,e){return function(r,n){if(e){var i=e[n];return null===i||void 0===i?t(r):i}return t(r)}}(d.format(r.tickformat),a))).range(r.tickvals.map(function(t){return(t-n[0])/(n[1]-n[0])}).map(function(r){return t-e+r*(e-(t-e))})):d.scale.linear().domain(n).range([t-e,e])}(r,f.verticalPadding,e),ordinalScale:function(t){var e=i(t);return t.tickvals&amp;&amp;d.scale.ordinal().domain(t.tickvals).range(t.tickvals.map(function(t){return(t-e[0])/(e[1]-e[0])}))}(e),domainToUnitScale:a,filter:e.constraintrange?e.constraintrange.map(a):[0,1],parent:p,model:t}}),p}function c(t){t.classed(f.cn.axisExtentText,!0).attr(&quot;text-anchor&quot;,&quot;middle&quot;).style(&quot;cursor&quot;,&quot;default&quot;).style(&quot;user-select&quot;,&quot;none&quot;)}var u=t(&quot;./lines&quot;),f=t(&quot;./constants&quot;),h=t(&quot;../../lib&quot;),d=t(&quot;d3&quot;),p=t(&quot;../../components/drawing&quot;),m=t(&quot;../../lib/gup&quot;).keyFun,g=t(&quot;../../lib/gup&quot;).repeat,v=t(&quot;../../lib/gup&quot;).unwrap;e.exports=function(t,e,r,n,i,o){function y(t){return t.dimensions.some(function(t){return 0!==t.filter[0]||1!==t.filter[1]})}function x(t,e){return(f.scatter?function(t,e){for(var r=e.panels||(e.panels=[]),n=t.each(function(t){return t})[e.key].map(function(t){return t.__data__}),i=n.length-1,a=i,o=0;o&lt;i;o++)for(var s=0;s&lt;i;s++){var l=r[s+o*i]||(r[s+o*i]={}),c=n[s],u=n[s+1];l.dim1=n[o+1],l.dim2=u,l.canvasX=c.canvasX,l.panelSizeX=u.canvasX-c.canvasX,l.panelSizeY=e.model.canvasHeight/a,l.y=o*l.panelSizeY,l.canvasY=e.model.canvasHeight-l.y-l.panelSizeY}}:function(t,e){for(var r=e.panels||(e.panels=[]),n=t.each(function(t){return t})[e.key].map(function(t){return t.__data__}),i=n.length-1,a=0;a&lt;1;a++)for(var o=0;o&lt;i;o++){var s=r[o+a*i]||(r[o+a*i]={}),l=n[o],c=n[o+1];s.dim1=l,s.dim2=c,s.canvasX=l.canvasX,s.panelSizeX=c.canvasX-l.canvasX,s.panelSizeY=e.model.canvasHeight/1,s.y=a*s.panelSizeY,s.canvasY=e.model.canvasHeight-s.y-s.panelSizeY}})(t,e)}function b(t){return t.ordinal?function(){return&quot;&quot;}:d.format(t.tickFormat)}function _(){H=!0,k=!0}function w(t){A=!1;var e=t.parent,r=t.brush.extent(),n=e.dimensions,i=n[t.xIndex].filter,a=H&amp;&amp;r[0]===r[1];a&amp;&amp;(t.brush.clear(),d.select(this).select(&quot;rect.extent&quot;).attr(&quot;y&quot;,-100));var o=a?[0,1]:r.slice();if(o[0]!==i[0]||o[1]!==i[1]){n[t.xIndex].filter=o,e.focusLayer&amp;&amp;e.focusLayer.render(e.panels,!0);var s=y(e);!G&amp;&amp;s?(e.contextLayer&amp;&amp;e.contextLayer.render(e.panels,!0),G=!0):G&amp;&amp;!s&amp;&amp;(e.contextLayer&amp;&amp;e.contextLayer.render(e.panels,!0,!0),G=!1)}H=!1}function M(t){var e=t.parent,r=t.brush.extent(),n=r[0]===r[1],i=e.dimensions[t.xIndex].filter;if(!n&amp;&amp;t.ordinal&amp;&amp;(i[0]=a(t.ordinalScale,i[0]),i[1]=a(t.ordinalScale,i[1]),i[0]===i[1]&amp;&amp;(i[0]=Math.max(0,i[0]-.05),i[1]=Math.min(1,i[1]+.05)),d.select(this).transition().duration(150).call(t.brush.extent(i)),e.focusLayer.render(e.panels,!0)),e.pickLayer&amp;&amp;e.pickLayer.render(e.panels,!0),A=!0,k=&quot;ending&quot;,o&amp;&amp;o.filterChanged){var s=t.domainToUnitScale.invert,l=i.map(s);o.filterChanged(e.key,t.visibleIndex,l)}}var k=!1,A=!0,T=n.filter(function(t){return v(t).trace.visible}).map(s.bind(0,i)).map(l);r.each(function(t,e){return h.extendFlat(t,T[e])});var S=r.selectAll(&quot;.gl-canvas&quot;).each(function(t){t.viewModel=T[0],t.model=t.viewModel?t.viewModel.model:null}),E={renderers:[],dimensions:[]},L=null;S.filter(function(t){return t.pick}).style(&quot;pointer-events&quot;,&quot;auto&quot;).on(&quot;mousemove&quot;,function(t){if(A&amp;&amp;t.lineLayer&amp;&amp;o&amp;&amp;o.hover){var e=d.event,r=this.width,n=this.height,i=d.mouse(this),a=i[0],s=i[1];if(a&lt;0||s&lt;0||a&gt;=r||s&gt;=n)return;var l=t.lineLayer.readPixel(a,n-1-s),c=0!==l[3],u=c?l[2]+256*(l[1]+256*l[0]):null,f={x:a,y:s,clientX:e.clientX,clientY:e.clientY,dataIndex:t.model.key,curveNumber:u};u!==L&amp;&amp;(c?o.hover(f):o.unhover&amp;&amp;o.unhover(f),L=u)}}),S.style(&quot;opacity&quot;,function(t){return t.pick?.01:1}),e.style(&quot;background&quot;,&quot;rgba(255, 255, 255, 0)&quot;);var C=e.selectAll(&quot;.&quot;+f.cn.parcoords).data(T,m);C.exit().remove(),C.enter().append(&quot;g&quot;).classed(f.cn.parcoords,!0).attr(&quot;overflow&quot;,&quot;visible&quot;).style(&quot;box-sizing&quot;,&quot;content-box&quot;).style(&quot;position&quot;,&quot;absolute&quot;).style(&quot;left&quot;,0).style(&quot;overflow&quot;,&quot;visible&quot;).style(&quot;shape-rendering&quot;,&quot;crispEdges&quot;).style(&quot;pointer-events&quot;,&quot;none&quot;).call(function(t){var e=t.selectAll(&quot;defs&quot;).data(g,m);e.enter().append(&quot;defs&quot;);var r=e.selectAll(&quot;#&quot;+f.id.filterBarPattern).data(g,m);r.enter().append(&quot;pattern&quot;).attr(&quot;id&quot;,f.id.filterBarPattern).attr(&quot;patternUnits&quot;,&quot;userSpaceOnUse&quot;),r.attr(&quot;x&quot;,-f.bar.width).attr(&quot;width&quot;,f.bar.capturewidth).attr(&quot;height&quot;,function(t){return t.model.height});var n=r.selectAll(&quot;rect&quot;).data(g,m);n.enter().append(&quot;rect&quot;).attr(&quot;shape-rendering&quot;,&quot;crispEdges&quot;),n.attr(&quot;height&quot;,function(t){return t.model.height}).attr(&quot;width&quot;,f.bar.width).attr(&quot;x&quot;,f.bar.width/2).attr(&quot;fill&quot;,f.bar.fillcolor).attr(&quot;fill-opacity&quot;,f.bar.fillopacity).attr(&quot;stroke&quot;,f.bar.strokecolor).attr(&quot;stroke-opacity&quot;,f.bar.strokeopacity).attr(&quot;stroke-width&quot;,f.bar.strokewidth)}),C.attr(&quot;width&quot;,function(t){return t.model.width+t.model.pad.l+t.model.pad.r}).attr(&quot;height&quot;,function(t){return t.model.height+t.model.pad.t+t.model.pad.b}).attr(&quot;transform&quot;,function(t){return&quot;translate(&quot;+t.model.translateX+&quot;,&quot;+t.model.translateY+&quot;)&quot;});var z=C.selectAll(&quot;.&quot;+f.cn.parcoordsControlView).data(g,m);z.enter().append(&quot;g&quot;).classed(f.cn.parcoordsControlView,!0).style(&quot;box-sizing&quot;,&quot;content-box&quot;),z.attr(&quot;transform&quot;,function(t){return&quot;translate(&quot;+t.model.pad.l+&quot;,&quot;+t.model.pad.t+&quot;)&quot;});var D=z.selectAll(&quot;.&quot;+f.cn.yAxis).data(function(t){return t.dimensions},m);D.enter().append(&quot;g&quot;).classed(f.cn.yAxis,!0).each(function(t){E.dimensions.push(t)}),z.each(function(t){x(D,t)}),S.filter(function(t){return!!t.viewModel}).each(function(t){t.lineLayer=u(this,t,f.scatter),t.viewModel[t.key]=t.lineLayer,E.renderers.push(function(){t.lineLayer.render(t.viewModel.panels,!0)}),t.lineLayer.render(t.viewModel.panels,!t.context)}),D.attr(&quot;transform&quot;,function(t){return&quot;translate(&quot;+t.xScale(t.xIndex)+&quot;, 0)&quot;}),D.call(d.behavior.drag().origin(function(t){return t}).on(&quot;drag&quot;,function(t){var e=t.parent;A=!1,k||(t.x=Math.max(-f.overdrag,Math.min(t.model.width+f.overdrag,d.event.x)),t.canvasX=t.x*t.model.canvasPixelRatio,D.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}),x(D,e),D.filter(function(e){return 0!==Math.abs(t.xIndex-e.xIndex)}).attr(&quot;transform&quot;,function(t){return&quot;translate(&quot;+t.xScale(t.xIndex)+&quot;, 0)&quot;}),d.select(this).attr(&quot;transform&quot;,&quot;translate(&quot;+t.x+&quot;, 0)&quot;),D.each(function(r,n,i){i===t.parent.key&amp;&amp;(e.dimensions[n]=r)}),e.contextLayer&amp;&amp;e.contextLayer.render(e.panels,!1,!y(e)),e.focusLayer.render&amp;&amp;e.focusLayer.render(e.panels))}).on(&quot;dragend&quot;,function(t){var e=t.parent;k?&quot;ending&quot;===k&amp;&amp;(k=!1):(t.x=t.xScale(t.xIndex),t.canvasX=t.x*t.model.canvasPixelRatio,x(D,e),d.select(this).attr(&quot;transform&quot;,function(t){return&quot;translate(&quot;+t.x+&quot;, 0)&quot;}),e.contextLayer&amp;&amp;e.contextLayer.render(e.panels,!1,!y(e)),e.focusLayer&amp;&amp;e.focusLayer.render(e.panels),e.pickLayer&amp;&amp;e.pickLayer.render(e.panels,!0),A=!0,o&amp;&amp;o.axesMoved&amp;&amp;o.axesMoved(e.key,e.dimensions.map(function(t){return t.crossfilterDimensionIndex})))})),D.exit().remove();var I=D.selectAll(&quot;.&quot;+f.cn.axisOverlays).data(g,m);I.enter().append(&quot;g&quot;).classed(f.cn.axisOverlays,!0),I.selectAll(&quot;.&quot;+f.cn.axis).remove();var P=I.selectAll(&quot;.&quot;+f.cn.axis).data(g,m);P.enter().append(&quot;g&quot;).classed(f.cn.axis,!0),P.each(function(t){var e=t.model.height/t.model.tickDistance,r=t.domainScale,n=r.domain();d.select(this).call(d.svg.axis().orient(&quot;left&quot;).tickSize(4).outerTickSize(2).ticks(e,t.tickFormat).tickValues(t.ordinal?n:null).tickFormat(t.ordinal?function(t){return t}:null).scale(r)),p.font(P.selectAll(&quot;text&quot;),t.model.tickFont)}),P.selectAll(&quot;.domain, .tick&gt;line&quot;).attr(&quot;fill&quot;,&quot;none&quot;).attr(&quot;stroke&quot;,&quot;black&quot;).attr(&quot;stroke-opacity&quot;,.25).attr(&quot;stroke-width&quot;,&quot;1px&quot;),P.selectAll(&quot;text&quot;).style(&quot;text-shadow&quot;,&quot;1px 1px 1px #fff, -1px -1px 1px #fff, 1px -1px 1px #fff, -1px 1px 1px #fff&quot;).style(&quot;cursor&quot;,&quot;default&quot;).style(&quot;user-select&quot;,&quot;none&quot;);var O=I.selectAll(&quot;.&quot;+f.cn.axisHeading).data(g,m);O.enter().append(&quot;g&quot;).classed(f.cn.axisHeading,!0);var F=O.selectAll(&quot;.&quot;+f.cn.axisTitle).data(g,m);F.enter().append(&quot;text&quot;).classed(f.cn.axisTitle,!0).attr(&quot;text-anchor&quot;,&quot;middle&quot;).style(&quot;cursor&quot;,&quot;ew-resize&quot;).style(&quot;user-select&quot;,&quot;none&quot;).style(&quot;pointer-events&quot;,&quot;auto&quot;),F.attr(&quot;transform&quot;,&quot;translate(0,&quot;+-f.axisTitleOffset+&quot;)&quot;).text(function(t){return t.label}).each(function(t){p.font(F,t.model.labelFont)});var R=I.selectAll(&quot;.&quot;+f.cn.axisExtent).data(g,m);R.enter().append(&quot;g&quot;).classed(f.cn.axisExtent,!0);var N=R.selectAll(&quot;.&quot;+f.cn.axisExtentTop).data(g,m);N.enter().append(&quot;g&quot;).classed(f.cn.axisExtentTop,!0),N.attr(&quot;transform&quot;,&quot;translate(0,&quot;+-f.axisExtentOffset+&quot;)&quot;);var j=N.selectAll(&quot;.&quot;+f.cn.axisExtentTopText).data(g,m);j.enter().append(&quot;text&quot;).classed(f.cn.axisExtentTopText,!0).call(c),j.text(function(t){return b(t)(t.domainScale.domain().slice(-1)[0])}).each(function(t){p.font(j,t.model.rangeFont)});var B=R.selectAll(&quot;.&quot;+f.cn.axisExtentBottom).data(g,m);B.enter().append(&quot;g&quot;).classed(f.cn.axisExtentBottom,!0),B.attr(&quot;transform&quot;,function(t){return&quot;translate(0,&quot;+(t.model.height+f.axisExtentOffset)+&quot;)&quot;});var U=B.selectAll(&quot;.&quot;+f.cn.axisExtentBottomText).data(g,m);U.enter().append(&quot;text&quot;).classed(f.cn.axisExtentBottomText,!0).attr(&quot;dy&quot;,&quot;0.75em&quot;).call(c),U.text(function(t){return b(t)(t.domainScale.domain()[0])}).each(function(t){p.font(U,t.model.rangeFont)});var V=I.selectAll(&quot;.&quot;+f.cn.axisBrush).data(g,m),q=V.enter().append(&quot;g&quot;).classed(f.cn.axisBrush,!0);V.each(function(t){t.brush||(t.brush=d.svg.brush().y(t.unitScale).on(&quot;brushstart&quot;,_).on(&quot;brush&quot;,w).on(&quot;brushend&quot;,M),0===t.filter[0]&amp;&amp;1===t.filter[1]||t.brush.extent(t.filter),d.select(this).call(t.brush))}),q.selectAll(&quot;rect&quot;).attr(&quot;x&quot;,-f.bar.capturewidth/2).attr(&quot;width&quot;,f.bar.capturewidth),q.selectAll(&quot;rect.extent&quot;).attr(&quot;fill&quot;,&quot;url(#&quot;+f.id.filterBarPattern+&quot;)&quot;).style(&quot;cursor&quot;,&quot;ns-resize&quot;).filter(function(t){return 0===t.filter[0]&amp;&amp;1===t.filter[1]}).attr(&quot;y&quot;,-100),q.selectAll(&quot;.resize rect&quot;).attr(&quot;height&quot;,f.bar.handleheight).attr(&quot;opacity&quot;,0).style(&quot;visibility&quot;,&quot;visible&quot;),q.selectAll(&quot;.resize.n rect&quot;).style(&quot;cursor&quot;,&quot;n-resize&quot;).attr(&quot;y&quot;,f.bar.handleoverlap-f.bar.handleheight),q.selectAll(&quot;.resize.s rect&quot;).style(&quot;cursor&quot;,&quot;s-resize&quot;).attr(&quot;y&quot;,f.bar.handleoverlap);var H=!1,G=!1;return E}},{&quot;../../components/drawing&quot;:643,&quot;../../lib&quot;:743,&quot;../../lib/gup&quot;:740,&quot;./constants&quot;:1035,&quot;./lines&quot;:1038,d3:128}],1040:[function(t,e,r){(function(r){&quot;use strict&quot;;var n=t(&quot;./parcoords&quot;),i=t(&quot;regl&quot;);e.exports=function(t,e){var a=t._fullLayout,o=a._toppaper,s=a._paperdiv,l=a._glcontainer;a._glcanvas.each(function(e){e.regl||(e.regl=i({canvas:this,attributes:{antialias:!e.pick,preserveDrawingBuffer:!0},pixelRatio:t._context.plotGlPixelRatio||r.devicePixelRatio}))});var c={},u={},f=a._size;e.forEach(function(e,r){c[r]=t.data[r].dimensions,u[r]=t.data[r].dimensions.slice()});n(s,o,l,e,{width:f.w,height:f.h,margin:{t:f.t,r:f.r,b:f.b,l:f.l}},{filterChanged:function(e,r,n){var i=u[e][r],a=i.constraintrange;a&amp;&amp;2===a.length||(a=i.constraintrange=[]),a[0]=n[0],a[1]=n[1],t.emit(&quot;plotly_restyle&quot;)},hover:function(e){t.emit(&quot;plotly_hover&quot;,e)},unhover:function(e){t.emit(&quot;plotly_unhover&quot;,e)},axesMoved:function(e,r){function n(t){return!(&quot;visible&quot;in t)||t.visible}function i(t,e,r){var n=e.indexOf(r),i=t.indexOf(n);return-1===i&amp;&amp;(i+=e.length),i}var a=function(t){return function(e,n){return i(r,t,e)-i(r,t,n)}}(u[e].filter(n));c[e].sort(a),u[e].filter(function(t){return!n(t)}).sort(function(t){return u[e].indexOf(t)}).forEach(function(t){c[e].splice(c[e].indexOf(t),1),c[e].splice(u[e].indexOf(t),0,t)}),t.emit(&quot;plotly_restyle&quot;)}})}}).call(this,&quot;undefined&quot;!=typeof global?global:&quot;undefined&quot;!=typeof self?self:&quot;undefined&quot;!=typeof window?window:{})},{&quot;./parcoords&quot;:1039,regl:506}],1041:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../components/color/attributes&quot;),i=t(&quot;../../plots/font_attributes&quot;),a=t(&quot;../../plots/attributes&quot;),o=t(&quot;../../plots/domain_attributes&quot;),s=t(&quot;../../lib/extend&quot;).extendFlat,l=i({editType:&quot;calc&quot;,colorEditType:&quot;style&quot;});e.exports={labels:{valType:&quot;data_array&quot;,editType:&quot;calc&quot;},label0:{valType:&quot;number&quot;,dflt:0,editType:&quot;calc&quot;},dlabel:{valType:&quot;number&quot;,dflt:1,editType:&quot;calc&quot;},values:{valType:&quot;data_array&quot;,editType:&quot;calc&quot;},marker:{colors:{valType:&quot;data_array&quot;,editType:&quot;calc&quot;},line:{color:{valType:&quot;color&quot;,dflt:n.defaultLine,arrayOk:!0,editType:&quot;style&quot;},width:{valType:&quot;number&quot;,min:0,dflt:0,arrayOk:!0,editType:&quot;style&quot;},editType:&quot;calc&quot;},editType:&quot;calc&quot;},text:{valType:&quot;data_array&quot;,editType:&quot;calc&quot;},hovertext:{valType:&quot;string&quot;,dflt:&quot;&quot;,arrayOk:!0,editType:&quot;style&quot;},scalegroup:{valType:&quot;string&quot;,dflt:&quot;&quot;,editType:&quot;calc&quot;},textinfo:{valType:&quot;flaglist&quot;,flags:[&quot;label&quot;,&quot;text&quot;,&quot;value&quot;,&quot;percent&quot;],extras:[&quot;none&quot;],editType:&quot;calc&quot;},hoverinfo:s({},a.hoverinfo,{flags:[&quot;label&quot;,&quot;text&quot;,&quot;value&quot;,&quot;percent&quot;,&quot;name&quot;]}),textposition:{valType:&quot;enumerated&quot;,values:[&quot;inside&quot;,&quot;outside&quot;,&quot;auto&quot;,&quot;none&quot;],dflt:&quot;auto&quot;,arrayOk:!0,editType:&quot;calc&quot;},textfont:s({},l,{}),insidetextfont:s({},l,{}),outsidetextfont:s({},l,{}),domain:o({name:&quot;pie&quot;,trace:!0,editType:&quot;calc&quot;}),hole:{valType:&quot;number&quot;,min:0,max:1,dflt:0,editType:&quot;calc&quot;},sort:{valType:&quot;boolean&quot;,dflt:!0,editType:&quot;calc&quot;},direction:{valType:&quot;enumerated&quot;,values:[&quot;clockwise&quot;,&quot;counterclockwise&quot;],dflt:&quot;counterclockwise&quot;,editType:&quot;calc&quot;},rotation:{valType:&quot;number&quot;,min:-360,max:360,dflt:0,editType:&quot;calc&quot;},pull:{valType:&quot;number&quot;,min:0,max:1,dflt:0,arrayOk:!0,editType:&quot;calc&quot;}}},{&quot;../../components/color/attributes&quot;:617,&quot;../../lib/extend&quot;:732,&quot;../../plots/attributes&quot;:787,&quot;../../plots/domain_attributes&quot;:815,&quot;../../plots/font_attributes&quot;:816}],1042:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../registry&quot;);r.name=&quot;pie&quot;,r.plot=function(t){var e=n.getModule(&quot;pie&quot;),r=function(t,e){for(var r=[],n=0;n&lt;t.length;n++){var i=t[n],a=i[0].trace;a._module===e&amp;&amp;!0===a.visible&amp;&amp;r.push(i)}return r}(t.calcdata,e);r.length&amp;&amp;e.plot(t,r)},r.clean=function(t,e,r,n){var i=n._has&amp;&amp;n._has(&quot;pie&quot;),a=e._has&amp;&amp;e._has(&quot;pie&quot;);i&amp;&amp;!a&amp;&amp;n._pielayer.selectAll(&quot;g.trace&quot;).remove()}},{&quot;../../registry&quot;:873}],1043:[function(t,e,r){&quot;use strict&quot;;function n(t){var e,r=t.slice();for(e=0;e&lt;t.length;e++)r.push(a(t[e]).lighten(20).toHexString());for(e=0;e&lt;t.length;e++)r.push(a(t[e]).darken(20).toHexString());return r}var i=t(&quot;fast-isnumeric&quot;),a=t(&quot;tinycolor2&quot;),o=t(&quot;../../components/color&quot;),s=t(&quot;./helpers&quot;);e.exports=function(t,e){function r(t,e){return!!t&amp;&amp;(!!(t=a(t)).isValid()&amp;&amp;(t=o.addOpacity(t,t.getAlpha()),_[e]||(_[e]=t),t))}var c,u,f,h,d,p=e.values,m=Array.isArray(p)&amp;&amp;p.length,g=e.labels,v=e.marker.colors,y=[],x=t._fullLayout,b=x.colorway,_=x._piecolormap,w={},M=0,k=x.hiddenlabels||[];if(x._piecolorway||b===o.defaults||(x._piecolorway=n(b)),e.dlabel)for(g=new Array(p.length),c=0;c&lt;p.length;c++)g[c]=String(e.label0+c*e.dlabel);var A=(m?p:g).length;for(c=0;c&lt;A;c++){if(m){if(u=p[c],!i(u))continue;if((u=+u)&lt;0)continue}else u=1;void 0!==(f=g[c])&amp;&amp;&quot;&quot;!==f||(f=c);var T=w[f=String(f)];void 0===T?(w[f]=y.length,(h=-1!==k.indexOf(f))||(M+=u),y.push({v:u,label:f,color:r(v[c]),i:c,pts:[c],hidden:h})):((d=y[T]).v+=u,d.pts.push(c),d.hidden||(M+=u),!1===d.color&amp;&amp;v[c]&amp;&amp;(d.color=r(v[c],f)))}for(e.sort&amp;&amp;y.sort(function(t,e){return e.v-t.v}),c=0;c&lt;y.length;c++)!1===(d=y[c]).color&amp;&amp;(_[d.label]?d.color=_[d.label]:(_[d.label]=d.color=function(t,e){if(!l){var r=o.defaults;l=n(r)}var i=e||l;return i[t%i.length]}(x._piedefaultcolorcount,x._piecolorway),x._piedefaultcolorcount++));if(y[0]&amp;&amp;(y[0].vTotal=M),e.textinfo&amp;&amp;&quot;none&quot;!==e.textinfo){var S,E=-1!==e.textinfo.indexOf(&quot;label&quot;),L=-1!==e.textinfo.indexOf(&quot;text&quot;),C=-1!==e.textinfo.indexOf(&quot;value&quot;),z=-1!==e.textinfo.indexOf(&quot;percent&quot;),D=x.separators;for(c=0;c&lt;y.length;c++){if(d=y[c],S=E?[d.label]:[],L){var I=s.getFirstFilled(e.text,d.pts);I&amp;&amp;S.push(I)}C&amp;&amp;S.push(s.formatPieValue(d.v,D)),z&amp;&amp;S.push(s.formatPiePercent(d.v/M,D)),d.text=S.join(&quot;&lt;br&gt;&quot;)}}return y};var l},{&quot;../../components/color&quot;:618,&quot;./helpers&quot;:1046,&quot;fast-isnumeric&quot;:140,tinycolor2:546}],1044:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib&quot;),i=t(&quot;./attributes&quot;);e.exports=function(t,e,r,a){function o(r,a){return n.coerce(t,e,i,r,a)}var s=n.coerceFont,l=o(&quot;values&quot;),c=o(&quot;labels&quot;);if(!Array.isArray(c)){if(!Array.isArray(l)||!l.length)return void(e.visible=!1);o(&quot;label0&quot;),o(&quot;dlabel&quot;)}o(&quot;marker.line.width&quot;)&amp;&amp;o(&quot;marker.line.color&quot;);var u=o(&quot;marker.colors&quot;);Array.isArray(u)||(e.marker.colors=[]),o(&quot;scalegroup&quot;);var f=o(&quot;text&quot;),h=o(&quot;textinfo&quot;,Array.isArray(f)?&quot;text+percent&quot;:&quot;percent&quot;);if(o(&quot;hovertext&quot;),h&amp;&amp;&quot;none&quot;!==h){var d=o(&quot;textposition&quot;),p=Array.isArray(d)||&quot;auto&quot;===d,m=p||&quot;inside&quot;===d,g=p||&quot;outside&quot;===d;if(m||g){var v=s(o,&quot;textfont&quot;,a.font);m&amp;&amp;s(o,&quot;insidetextfont&quot;,v),g&amp;&amp;s(o,&quot;outsidetextfont&quot;,v)}}o(&quot;domain.x&quot;),o(&quot;domain.y&quot;),o(&quot;hole&quot;),o(&quot;sort&quot;),o(&quot;direction&quot;),o(&quot;rotation&quot;),o(&quot;pull&quot;)}},{&quot;../../lib&quot;:743,&quot;./attributes&quot;:1041}],1045:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../components/fx/helpers&quot;).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,v:t.v};return 1===t.pts.length&amp;&amp;(r.pointNumber=r.i=t.pts[0]),n(r,e,t.pts),r}},{&quot;../../components/fx/helpers&quot;:657}],1046:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib&quot;);r.formatPiePercent=function(t,e){var r=(100*t).toPrecision(3);return-1!==r.lastIndexOf(&quot;.&quot;)&amp;&amp;(r=r.replace(/[.]?0+$/,&quot;&quot;)),n.numSeparate(r,e)+&quot;%&quot;},r.formatPieValue=function(t,e){var r=t.toPrecision(10);return-1!==r.lastIndexOf(&quot;.&quot;)&amp;&amp;(r=r.replace(/[.]?0+$/,&quot;&quot;)),n.numSeparate(r,e)},r.getFirstFilled=function(t,e){if(Array.isArray(t))for(var r=0;r&lt;e.length;r++){var n=t[e[r]];if(n||0===n)return n}},r.castOption=function(t,e){return Array.isArray(t)?r.getFirstFilled(t,e):t||void 0}},{&quot;../../lib&quot;:743}],1047:[function(t,e,r){&quot;use strict&quot;;var n={};n.attributes=t(&quot;./attributes&quot;),n.supplyDefaults=t(&quot;./defaults&quot;),n.supplyLayoutDefaults=t(&quot;./layout_defaults&quot;),n.layoutAttributes=t(&quot;./layout_attributes&quot;),n.calc=t(&quot;./calc&quot;),n.plot=t(&quot;./plot&quot;),n.style=t(&quot;./style&quot;),n.styleOne=t(&quot;./style_one&quot;),n.moduleType=&quot;trace&quot;,n.name=&quot;pie&quot;,n.basePlotModule=t(&quot;./base_plot&quot;),n.categories=[&quot;pie&quot;,&quot;showLegend&quot;],n.meta={},e.exports=n},{&quot;./attributes&quot;:1041,&quot;./base_plot&quot;:1042,&quot;./calc&quot;:1043,&quot;./defaults&quot;:1044,&quot;./layout_attributes&quot;:1048,&quot;./layout_defaults&quot;:1049,&quot;./plot&quot;:1050,&quot;./style&quot;:1051,&quot;./style_one&quot;:1052}],1048:[function(t,e,r){&quot;use strict&quot;;e.exports={hiddenlabels:{valType:&quot;data_array&quot;,editType:&quot;calc&quot;}}},{}],1049:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib&quot;),i=t(&quot;./layout_attributes&quot;);e.exports=function(t,e){!function(r,a){n.coerce(t,e,i,r,a)}(&quot;hiddenlabels&quot;)}},{&quot;../../lib&quot;:743,&quot;./layout_attributes&quot;:1048}],1050:[function(t,e,r){&quot;use strict&quot;;function n(t,e){if(t.v===e.vTotal&amp;&amp;!e.trace.hole)return 1;var r=Math.PI*Math.min(t.v/e.vTotal,.5);return Math.min(1/(1+1/Math.sin(r)),(1-e.trace.hole)/2)}function i(t,e){var r=e.pxmid[0],n=e.pxmid[1],i=t.width/2,a=t.height/2;return r&lt;0&amp;&amp;(i*=-1),n&lt;0&amp;&amp;(a*=-1),{scale:1,rCenter:1,rotate:0,x:i+Math.abs(a)*(i&gt;0?1:-1)/2,y:a/(1+r*r/(n*n)),outside:!0}}var a=t(&quot;d3&quot;),o=t(&quot;../../components/fx&quot;),s=t(&quot;../../components/color&quot;),l=t(&quot;../../components/drawing&quot;),c=t(&quot;../../lib/svg_text_utils&quot;),u=t(&quot;./helpers&quot;),f=t(&quot;./event_data&quot;);e.exports=function(t,e){var r=t._fullLayout;!function(t,e){var r,n,i,a,o,s,l,c,u,f=[];for(i=0;i&lt;t.length;i++){if(o=t[i][0],s=o.trace,r=e.w*(s.domain.x[1]-s.domain.x[0]),n=e.h*(s.domain.y[1]-s.domain.y[0]),l=s.pull,Array.isArray(l))for(l=0,a=0;a&lt;s.pull.length;a++)s.pull[a]&gt;l&amp;&amp;(l=s.pull[a]);o.r=Math.min(r,n)/(2+2*l),o.cx=e.l+e.w*(s.domain.x[1]+s.domain.x[0])/2,o.cy=e.t+e.h*(2-s.domain.y[1]-s.domain.y[0])/2,s.scalegroup&amp;&amp;-1===f.indexOf(s.scalegroup)&amp;&amp;f.push(s.scalegroup)}for(a=0;a&lt;f.length;a++){for(u=1/0,c=f[a],i=0;i&lt;t.length;i++)(o=t[i][0]).trace.scalegroup===c&amp;&amp;(u=Math.min(u,o.r*o.r/o.vTotal));for(i=0;i&lt;t.length;i++)(o=t[i][0]).trace.scalegroup===c&amp;&amp;(o.r=Math.sqrt(u*o.vTotal))}}(e,r._size);var h=r._pielayer.selectAll(&quot;g.trace&quot;).data(e);h.enter().append(&quot;g&quot;).attr({&quot;stroke-linejoin&quot;:&quot;round&quot;,class:&quot;trace&quot;}),h.exit().remove(),h.order(),h.each(function(e){var h=a.select(this),d=e[0],p=d.trace;!function(t){function e(t){return[a.r*Math.sin(t),-a.r*Math.cos(t)]}var r,n,i,a=t[0],o=a.trace,s=o.rotation*Math.PI/180,l=2*Math.PI/a.vTotal,c=&quot;px0&quot;,u=&quot;px1&quot;;if(&quot;counterclockwise&quot;===o.direction){for(r=0;r&lt;t.length&amp;&amp;t[r].hidden;r++);if(r===t.length)return;s+=l*t[r].v,l*=-1,c=&quot;px1&quot;,u=&quot;px0&quot;}for(i=e(s),r=0;r&lt;t.length;r++)(n=t[r]).hidden||(n[c]=i,s+=l*n.v/2,n.pxmid=e(s),n.midangle=s,i=e(s+=l*n.v/2),n[u]=i,n.largeArc=n.v&gt;a.vTotal/2?1:0)}(e),h.each(function(){var h=a.select(this).selectAll(&quot;g.slice&quot;).data(e);h.enter().append(&quot;g&quot;).classed(&quot;slice&quot;,!0),h.exit().remove();var m=[[[],[]],[[],[]]],g=!1;h.each(function(e){function s(t,r,n,i){return&quot;a&quot;+i*d.r+&quot;,&quot;+i*d.r+&quot; 0 &quot;+e.largeArc+(n?&quot; 1 &quot;:&quot; 0 &quot;)+i*(r[0]-t[0])+&quot;,&quot;+i*(r[1]-t[1])}if(e.hidden)a.select(this).selectAll(&quot;path,g&quot;).remove();else{e.pointNumber=e.i,e.curveNumber=p.index,m[e.pxmid[1]&lt;0?0:1][e.pxmid[0]&lt;0?0:1].push(e);var h=d.cx,v=d.cy,y=a.select(this),x=y.selectAll(&quot;path.surface&quot;).data([e]),b=!1,_=!1;if(x.enter().append(&quot;path&quot;).classed(&quot;surface&quot;,!0).style({&quot;pointer-events&quot;:&quot;all&quot;}),y.select(&quot;path.textline&quot;).remove(),y.on(&quot;mouseover&quot;,function(){var i=t._fullLayout,s=t._fullData[p.index];if(!t._dragging&amp;&amp;!1!==i.hovermode){var l=s.hoverinfo;if(Array.isArray(l)&amp;&amp;(l=o.castHoverinfo({hoverinfo:[u.castOption(l,e.pts)],_module:p._module},i,0)),&quot;all&quot;===l&amp;&amp;(l=&quot;label+text+value+percent+name&quot;),&quot;none&quot;!==l&amp;&amp;&quot;skip&quot;!==l&amp;&amp;l){var c=n(e,d),m=h+e.pxmid[0]*(1-c),g=v+e.pxmid[1]*(1-c),y=r.separators,x=[];if(-1!==l.indexOf(&quot;label&quot;)&amp;&amp;x.push(e.label),-1!==l.indexOf(&quot;text&quot;)){var w=u.castOption(s.hovertext||s.text,e.pts);w&amp;&amp;x.push(w)}-1!==l.indexOf(&quot;value&quot;)&amp;&amp;x.push(u.formatPieValue(e.v,y)),-1!==l.indexOf(&quot;percent&quot;)&amp;&amp;x.push(u.formatPiePercent(e.v/d.vTotal,y));var M=p.hoverlabel,k=M.font;o.loneHover({x0:m-c*d.r,x1:m+c*d.r,y:g,text:x.join(&quot;&lt;br&gt;&quot;),name:-1!==l.indexOf(&quot;name&quot;)?s.name:void 0,idealAlign:e.pxmid[0]&lt;0?&quot;left&quot;:&quot;right&quot;,color:u.castOption(M.bgcolor,e.pts)||e.color,borderColor:u.castOption(M.bordercolor,e.pts),fontFamily:u.castOption(k.family,e.pts),fontSize:u.castOption(k.size,e.pts),fontColor:u.castOption(k.color,e.pts)},{container:i._hoverlayer.node(),outerContainer:i._paper.node(),gd:t}),b=!0}t.emit(&quot;plotly_hover&quot;,{points:[f(e,s)],event:a.event}),_=!0}}).on(&quot;mouseout&quot;,function(r){var n=t._fullLayout,i=t._fullData[p.index];_&amp;&amp;(r.originalEvent=a.event,t.emit(&quot;plotly_unhover&quot;,{points:[f(e,i)],event:a.event}),_=!1),b&amp;&amp;(o.loneUnhover(n._hoverlayer.node()),b=!1)}).on(&quot;click&quot;,function(){var r=t._fullLayout,n=t._fullData[p.index];t._dragging||!1===r.hovermode||(t._hoverdata=[f(e,n)],o.click(t,a.event))}),p.pull){var w=+u.castOption(p.pull,e.pts)||0;w&gt;0&amp;&amp;(h+=w*e.pxmid[0],v+=w*e.pxmid[1])}e.cxFinal=h,e.cyFinal=v;var M=p.hole;if(e.v===d.vTotal){var k=&quot;M&quot;+(h+e.px0[0])+&quot;,&quot;+(v+e.px0[1])+s(e.px0,e.pxmid,!0,1)+s(e.pxmid,e.px0,!0,1)+&quot;Z&quot;;M?x.attr(&quot;d&quot;,&quot;M&quot;+(h+M*e.px0[0])+&quot;,&quot;+(v+M*e.px0[1])+s(e.px0,e.pxmid,!1,M)+s(e.pxmid,e.px0,!1,M)+&quot;Z&quot;+k):x.attr(&quot;d&quot;,k)}else{var A=s(e.px0,e.px1,!0,1);if(M){var T=1-M;x.attr(&quot;d&quot;,&quot;M&quot;+(h+M*e.px1[0])+&quot;,&quot;+(v+M*e.px1[1])+s(e.px1,e.px0,!1,M)+&quot;l&quot;+T*e.px0[0]+&quot;,&quot;+T*e.px0[1]+A+&quot;Z&quot;)}else x.attr(&quot;d&quot;,&quot;M&quot;+h+&quot;,&quot;+v+&quot;l&quot;+e.px0[0]+&quot;,&quot;+e.px0[1]+A+&quot;Z&quot;)}var S=u.castOption(p.textposition,e.pts),E=y.selectAll(&quot;g.slicetext&quot;).data(e.text&amp;&amp;&quot;none&quot;!==S?[0]:[]);E.enter().append(&quot;g&quot;).classed(&quot;slicetext&quot;,!0),E.exit().remove(),E.each(function(){var r=a.select(this).selectAll(&quot;text&quot;).data([0]);r.enter().append(&quot;text&quot;).attr(&quot;data-notex&quot;,1),r.exit().remove(),r.text(e.text).attr({class:&quot;slicetext&quot;,transform:&quot;&quot;,&quot;text-anchor&quot;:&quot;middle&quot;}).call(l.font,&quot;outside&quot;===S?p.outsidetextfont:p.insidetextfont).call(c.convertToTspans,t);var o,s=l.bBox(r.node());&quot;outside&quot;===S?o=i(s,e):(o=function(t,e,r){var i=Math.sqrt(t.width*t.width+t.height*t.height),a=t.width/t.height,o=Math.PI*Math.min(e.v/r.vTotal,.5),s=1-r.trace.hole,l=n(e,r),c={scale:l*r.r*2/i,rCenter:1-l,rotate:0};if(c.scale&gt;=1)return c;var u=a+1/(2*Math.tan(o)),f=r.r*Math.min(1/(Math.sqrt(u*u+.5)+u),s/(Math.sqrt(a*a+s/2)+a)),h={scale:2*f/t.height,rCenter:Math.cos(f/r.r)-f*a/r.r,rotate:(180/Math.PI*e.midangle+720)%180-90},d=1/a,p=d+1/(2*Math.tan(o)),m=r.r*Math.min(1/(Math.sqrt(p*p+.5)+p),s/(Math.sqrt(d*d+s/2)+d)),g={scale:2*m/t.width,rCenter:Math.cos(m/r.r)-m/a/r.r,rotate:(180/Math.PI*e.midangle+810)%180-90},v=g.scale&gt;h.scale?g:h;return c.scale&lt;1&amp;&amp;v.scale&gt;c.scale?v:c}(s,e,d),&quot;auto&quot;===S&amp;&amp;o.scale&lt;1&amp;&amp;(r.call(l.font,p.outsidetextfont),p.outsidetextfont.family===p.insidetextfont.family&amp;&amp;p.outsidetextfont.size===p.insidetextfont.size||(s=l.bBox(r.node())),o=i(s,e)));var u=h+e.pxmid[0]*o.rCenter+(o.x||0),f=v+e.pxmid[1]*o.rCenter+(o.y||0);o.outside&amp;&amp;(e.yLabelMin=f-s.height/2,e.yLabelMid=f,e.yLabelMax=f+s.height/2,e.labelExtraX=0,e.labelExtraY=0,g=!0),r.attr(&quot;transform&quot;,&quot;translate(&quot;+u+&quot;,&quot;+f+&quot;)&quot;+(o.scale&lt;1?&quot;scale(&quot;+o.scale+&quot;)&quot;:&quot;&quot;)+(o.rotate?&quot;rotate(&quot;+o.rotate+&quot;)&quot;:&quot;&quot;)+&quot;translate(&quot;+-(s.left+s.right)/2+&quot;,&quot;+-(s.top+s.bottom)/2+&quot;)&quot;)})}}),g&amp;&amp;function(t,e){function r(t,e){return t.pxmid[1]-e.pxmid[1]}function n(t,e){return e.pxmid[1]-t.pxmid[1]}function i(t,r){r||(r={});var n,i,a,s,d=r.labelExtraY+(o?r.yLabelMax:r.yLabelMin),p=o?t.yLabelMin:t.yLabelMax,g=o?t.yLabelMax:t.yLabelMin,v=t.cyFinal+c(t.px0[1],t.px1[1]),y=d-p;if(y*h&gt;0&amp;&amp;(t.labelExtraY=y),Array.isArray(e.pull))for(i=0;i&lt;m.length;i++)(a=m[i])===t||(u.castOption(e.pull,t.pts)||0)&gt;=(u.castOption(e.pull,a.pts)||0)||((t.pxmid[1]-a.pxmid[1])*h&gt;0?(y=a.cyFinal+c(a.px0[1],a.px1[1])-p-t.labelExtraY)*h&gt;0&amp;&amp;(t.labelExtraY+=y):(g+t.labelExtraY-v)*h&gt;0&amp;&amp;(n=3*f*Math.abs(i-m.indexOf(t)),(s=a.cxFinal+l(a.px0[0],a.px1[0])+n-(t.cxFinal+t.pxmid[0])-t.labelExtraX)*f&gt;0&amp;&amp;(t.labelExtraX+=s)))}var a,o,s,l,c,f,h,d,p,m,g,v,y;for(o=0;o&lt;2;o++)for(s=o?r:n,c=o?Math.max:Math.min,h=o?1:-1,a=0;a&lt;2;a++){for(l=a?Math.max:Math.min,f=a?1:-1,(d=t[o][a]).sort(s),p=t[1-o][a],m=p.concat(d),v=[],g=0;g&lt;d.length;g++)void 0!==d[g].yLabelMid&amp;&amp;v.push(d[g]);for(y=!1,g=0;o&amp;&amp;g&lt;p.length;g++)if(void 0!==p[g].yLabelMid){y=p[g];break}for(g=0;g&lt;v.length;g++){var x=g&amp;&amp;v[g-1];y&amp;&amp;!g&amp;&amp;(x=y),i(v[g],x)}}}(m,p),h.each(function(t){if(t.labelExtraX||t.labelExtraY){var e=a.select(this),r=e.select(&quot;g.slicetext text&quot;);r.attr(&quot;transform&quot;,&quot;translate(&quot;+t.labelExtraX+&quot;,&quot;+t.labelExtraY+&quot;)&quot;+r.attr(&quot;transform&quot;));var n=t.cxFinal+t.pxmid[0],i=&quot;M&quot;+n+&quot;,&quot;+(t.cyFinal+t.pxmid[1]),o=(t.yLabelMax-t.yLabelMin)*(t.pxmid[0]&lt;0?-1:1)/4;if(t.labelExtraX){var l=t.labelExtraX*t.pxmid[1]/t.pxmid[0],c=t.yLabelMid+t.labelExtraY-(t.cyFinal+t.pxmid[1]);Math.abs(l)&gt;Math.abs(c)?i+=&quot;l&quot;+c*t.pxmid[0]/t.pxmid[1]+&quot;,&quot;+c+&quot;H&quot;+(n+t.labelExtraX+o):i+=&quot;l&quot;+t.labelExtraX+&quot;,&quot;+l+&quot;v&quot;+(c-l)+&quot;h&quot;+o}else i+=&quot;V&quot;+(t.yLabelMid+t.labelExtraY)+&quot;h&quot;+o;e.append(&quot;path&quot;).classed(&quot;textline&quot;,!0).call(s.stroke,p.outsidetextfont.color).attr({&quot;stroke-width&quot;:Math.min(2,p.outsidetextfont.size/8),d:i,fill:&quot;none&quot;})}})})}),setTimeout(function(){h.selectAll(&quot;tspan&quot;).each(function(){var t=a.select(this);t.attr(&quot;dy&quot;)&amp;&amp;t.attr(&quot;dy&quot;,t.attr(&quot;dy&quot;))})},0)}},{&quot;../../components/color&quot;:618,&quot;../../components/drawing&quot;:643,&quot;../../components/fx&quot;:660,&quot;../../lib/svg_text_utils&quot;:766,&quot;./event_data&quot;:1045,&quot;./helpers&quot;:1046,d3:128}],1051:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;d3&quot;),i=t(&quot;./style_one&quot;);e.exports=function(t){t._fullLayout._pielayer.selectAll(&quot;.trace&quot;).each(function(t){var e=t[0].trace,r=n.select(this);r.style({opacity:e.opacity}),r.selectAll(&quot;path.surface&quot;).each(function(t){n.select(this).call(i,t,e)})})}},{&quot;./style_one&quot;:1052,d3:128}],1052:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../components/color&quot;),i=t(&quot;./helpers&quot;).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({&quot;stroke-width&quot;:s}).call(n.fill,e.color).call(n.stroke,o)}},{&quot;../../components/color&quot;:618,&quot;./helpers&quot;:1046}],1053:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../scatter/attributes&quot;);e.exports={x:n.x,y:n.y,xy:{valType:&quot;data_array&quot;,editType:&quot;calc&quot;},indices:{valType:&quot;data_array&quot;,editType:&quot;calc&quot;},xbounds:{valType:&quot;data_array&quot;,editType:&quot;calc&quot;},ybounds:{valType:&quot;data_array&quot;,editType:&quot;calc&quot;},text:n.text,marker:{color:{valType:&quot;color&quot;,arrayOk:!1,editType:&quot;calc&quot;},opacity:{valType:&quot;number&quot;,min:0,max:1,dflt:1,arrayOk:!1,editType:&quot;calc&quot;},blend:{valType:&quot;boolean&quot;,dflt:null,editType:&quot;calc&quot;},sizemin:{valType:&quot;number&quot;,min:.1,max:2,dflt:.5,editType:&quot;calc&quot;},sizemax:{valType:&quot;number&quot;,min:.1,dflt:20,editType:&quot;calc&quot;},border:{color:{valType:&quot;color&quot;,arrayOk:!1,editType:&quot;calc&quot;},arearatio:{valType:&quot;number&quot;,min:0,max:1,dflt:0,editType:&quot;calc&quot;},editType:&quot;calc&quot;},editType:&quot;calc&quot;}}},{&quot;../scatter/attributes&quot;:1066}],1054:[function(t,e,r){&quot;use strict&quot;;function n(t,e){this.scene=t,this.uid=e,this.type=&quot;pointcloud&quot;,this.pickXData=[],this.pickYData=[],this.xData=[],this.yData=[],this.textLabels=[],this.color=&quot;rgb(0, 0, 0)&quot;,this.name=&quot;&quot;,this.hoverinfo=&quot;all&quot;,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=i(t.glplot,this.pointcloudOptions),this.pointcloud._trace=this}var i=t(&quot;gl-pointcloud2d&quot;),a=t(&quot;../../lib/str2rgbarray&quot;),o=t(&quot;../scatter/get_trace_color&quot;),s=[&quot;xaxis&quot;,&quot;yaxis&quot;],l=n.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,i,o,s,l=this.xData=this.pickXData=t.x,c=this.yData=this.pickYData=t.y,u=this.pickXYData=t.xy,f=t.xbounds&amp;&amp;t.ybounds,h=t.indices,d=this.bounds;if(u){if(n=u,e=u.length&gt;&gt;&gt;1,f)d[0]=t.xbounds[0],d[2]=t.xbounds[1],d[1]=t.ybounds[0],d[3]=t.ybounds[1];else for(s=0;s&lt;e;s++)i=n[2*s],o=n[2*s+1],i&lt;d[0]&amp;&amp;(d[0]=i),i&gt;d[2]&amp;&amp;(d[2]=i),o&lt;d[1]&amp;&amp;(d[1]=o),o&gt;d[3]&amp;&amp;(d[3]=o);if(h)r=h;else for(r=new Int32Array(e),s=0;s&lt;e;s++)r[s]=s}else for(e=l.length,n=new Float32Array(2*e),r=new Int32Array(e),s=0;s&lt;e;s++)i=l[s],o=c[s],r[s]=s,n[2*s]=i,n[2*s+1]=o,i&lt;d[0]&amp;&amp;(d[0]=i),i&gt;d[2]&amp;&amp;(d[2]=i),o&lt;d[1]&amp;&amp;(d[1]=o),o&gt;d[3]&amp;&amp;(d[3]=o);this.idToIndex=r,this.pointcloudOptions.idToIndex=r,this.pointcloudOptions.positions=n;var p=a(t.marker.color),m=a(t.marker.border.color),g=t.opacity*t.marker.opacity;p[3]*=g,this.pointcloudOptions.color=p;var v=t.marker.blend;if(null===v){v=l.length&lt;100||c.length&lt;100}this.pointcloudOptions.blend=v,m[3]*=g,this.pointcloudOptions.borderColor=m;var y=t.marker.sizemin,x=Math.max(t.marker.sizemax,t.marker.sizemin);this.pointcloudOptions.sizeMin=y,this.pointcloudOptions.sizeMax=x,this.pointcloudOptions.areaRatio=t.marker.border.arearatio,this.pointcloud.update(this.pointcloudOptions),this.expandAxesFast(d,x/2)},l.expandAxesFast=function(t,e){for(var r,n,i,a=e||.5,o=0;o&lt;2;o++)(n=(r=this.scene[s[o]])._min)||(n=[]),n.push({val:t[o],pad:a}),(i=r._max)||(i=[]),i.push({val:t[o+2],pad:a})},l.dispose=function(){this.pointcloud.dispose()},e.exports=function(t,e){var r=new n(t,e.uid);return r.update(e),r}},{&quot;../../lib/str2rgbarray&quot;:765,&quot;../scatter/get_trace_color&quot;:1076,&quot;gl-pointcloud2d&quot;:235}],1055:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib&quot;),i=t(&quot;./attributes&quot;);e.exports=function(t,e,r){function a(r,a){return n.coerce(t,e,i,r,a)}a(&quot;x&quot;),a(&quot;y&quot;),a(&quot;xbounds&quot;),a(&quot;ybounds&quot;),t.xy&amp;&amp;t.xy instanceof Float32Array&amp;&amp;(e.xy=t.xy),t.indices&amp;&amp;t.indices instanceof Int32Array&amp;&amp;(e.indices=t.indices),a(&quot;text&quot;),a(&quot;marker.color&quot;,r),a(&quot;marker.opacity&quot;),a(&quot;marker.blend&quot;),a(&quot;marker.sizemin&quot;),a(&quot;marker.sizemax&quot;),a(&quot;marker.border.color&quot;,r),a(&quot;marker.border.arearatio&quot;)}},{&quot;../../lib&quot;:743,&quot;./attributes&quot;:1053}],1056:[function(t,e,r){&quot;use strict&quot;;var n={};n.attributes=t(&quot;./attributes&quot;),n.supplyDefaults=t(&quot;./defaults&quot;),n.calc=t(&quot;../scatter3d/calc&quot;),n.plot=t(&quot;./convert&quot;),n.moduleType=&quot;trace&quot;,n.name=&quot;pointcloud&quot;,n.basePlotModule=t(&quot;../../plots/gl2d&quot;),n.categories=[&quot;gl&quot;,&quot;gl2d&quot;,&quot;showLegend&quot;],n.meta={},e.exports=n},{&quot;../../plots/gl2d&quot;:829,&quot;../scatter3d/calc&quot;:1092,&quot;./attributes&quot;:1053,&quot;./convert&quot;:1054,&quot;./defaults&quot;:1055}],1057:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../plots/font_attributes&quot;),i=t(&quot;../../plots/attributes&quot;),a=t(&quot;../../components/color/attributes&quot;),o=t(&quot;../../components/fx/attributes&quot;),s=t(&quot;../../plots/domain_attributes&quot;),l=t(&quot;../../lib/extend&quot;).extendFlat,c=t(&quot;../../plot_api/edit_types&quot;).overrideAll;e.exports=c({hoverinfo:l({},i.hoverinfo,{flags:[&quot;label&quot;,&quot;text&quot;,&quot;value&quot;,&quot;percent&quot;,&quot;name&quot;]}),hoverlabel:o.hoverlabel,domain:s({name:&quot;sankey&quot;,trace:!0}),orientation:{valType:&quot;enumerated&quot;,values:[&quot;v&quot;,&quot;h&quot;],dflt:&quot;h&quot;},valueformat:{valType:&quot;string&quot;,dflt:&quot;.3s&quot;},valuesuffix:{valType:&quot;string&quot;,dflt:&quot;&quot;},arrangement:{valType:&quot;enumerated&quot;,values:[&quot;snap&quot;,&quot;perpendicular&quot;,&quot;freeform&quot;,&quot;fixed&quot;],dflt:&quot;snap&quot;},textfont:n({}),node:{label:{valType:&quot;data_array&quot;,dflt:[]},color:{valType:&quot;color&quot;,arrayOk:!0},line:{color:{valType:&quot;color&quot;,dflt:a.defaultLine,arrayOk:!0},width:{valType:&quot;number&quot;,min:0,dflt:.5,arrayOk:!0}},pad:{valType:&quot;number&quot;,arrayOk:!1,min:0,dflt:20},thickness:{valType:&quot;number&quot;,arrayOk:!1,min:1,dflt:20}},link:{label:{valType:&quot;data_array&quot;,dflt:[]},color:{valType:&quot;color&quot;,arrayOk:!0},line:{color:{valType:&quot;color&quot;,dflt:a.defaultLine,arrayOk:!0},width:{valType:&quot;number&quot;,min:0,dflt:0,arrayOk:!0}},source:{valType:&quot;data_array&quot;,dflt:[]},target:{valType:&quot;data_array&quot;,dflt:[]},value:{valType:&quot;data_array&quot;,dflt:[]}}},&quot;calc&quot;,&quot;nested&quot;)},{&quot;../../components/color/attributes&quot;:617,&quot;../../components/fx/attributes&quot;:652,&quot;../../lib/extend&quot;:732,&quot;../../plot_api/edit_types&quot;:773,&quot;../../plots/attributes&quot;:787,&quot;../../plots/domain_attributes&quot;:815,&quot;../../plots/font_attributes&quot;:816}],1058:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../plot_api/edit_types&quot;).overrideAll,i=t(&quot;../../plots/get_data&quot;).getModuleCalcData,a=t(&quot;./plot&quot;),o=t(&quot;../../components/fx/layout_attributes&quot;);r.name=&quot;sankey&quot;,r.baseLayoutAttrOverrides=n({hoverlabel:o.hoverlabel},&quot;plot&quot;,&quot;nested&quot;),r.plot=function(t){var e=i(t.calcdata,&quot;sankey&quot;);a(t,e)},r.clean=function(t,e,r,n){var i=n._has&amp;&amp;n._has(&quot;sankey&quot;),a=e._has&amp;&amp;e._has(&quot;sankey&quot;);i&amp;&amp;!a&amp;&amp;n._paperdiv.selectAll(&quot;.sankey&quot;).remove()}},{&quot;../../components/fx/layout_attributes&quot;:661,&quot;../../plot_api/edit_types&quot;:773,&quot;../../plots/get_data&quot;:826,&quot;./plot&quot;:1063}],1059:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;strongly-connected-components&quot;),i=t(&quot;../../lib&quot;),a=t(&quot;../../lib/gup&quot;).wrap;e.exports=function(t,e){return function(t,e,r){for(var i=t.map(function(){return[]}),a=0;a&lt;Math.min(e.length,r.length);a++){if(e[a]===r[a])return!0;i[e[a]].push(r[a])}return n(i).components.some(function(t){return t.length&gt;1})}(e.node.label,e.link.source,e.link.target)&amp;&amp;(i.error(&quot;Circularity is present in the Sankey data. Removing all nodes and links.&quot;),e.link.label=[],e.link.source=[],e.link.target=[],e.link.value=[],e.link.color=[],e.node.label=[],e.node.color=[]),a({link:e.link,node:e.node})}},{&quot;../../lib&quot;:743,&quot;../../lib/gup&quot;:740,&quot;strongly-connected-components&quot;:537}],1060:[function(t,e,r){&quot;use strict&quot;;e.exports={nodeTextOffsetHorizontal:4,nodeTextOffsetVertical:3,nodePadAcross:10,sankeyIterations:50,forceIterations:5,forceTicksPerFrame:10,duration:500,ease:&quot;cubic-in-out&quot;,cn:{sankey:&quot;sankey&quot;,sankeyLinks:&quot;sankey-links&quot;,sankeyLink:&quot;sankey-link&quot;,sankeyNodeSet:&quot;sankey-node-set&quot;,sankeyNode:&quot;sankey-node&quot;,nodeRect:&quot;node-rect&quot;,nodeCapture:&quot;node-capture&quot;,nodeCentered:&quot;node-entered&quot;,nodeLabelGuide:&quot;node-label-guide&quot;,nodeLabel:&quot;node-label&quot;,nodeLabelTextPath:&quot;node-label-text-path&quot;}}},{}],1061:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib&quot;),i=t(&quot;./attributes&quot;),a=t(&quot;../../components/color&quot;),o=t(&quot;tinycolor2&quot;);e.exports=function(t,e,r,s){function l(r,a){return n.coerce(t,e,i,r,a)}l(&quot;node.label&quot;),l(&quot;node.pad&quot;),l(&quot;node.thickness&quot;),l(&quot;node.line.color&quot;),l(&quot;node.line.width&quot;);var c=s.colorway;l(&quot;node.color&quot;,e.node.label.map(function(t,e){return a.addOpacity(function(t){return c[t%c.length]}(e),.8)})),l(&quot;link.label&quot;),l(&quot;link.source&quot;),l(&quot;link.target&quot;),l(&quot;link.value&quot;),l(&quot;link.line.color&quot;),l(&quot;link.line.width&quot;),l(&quot;link.color&quot;,e.link.value.map(function(){return o(s.paper_bgcolor).getLuminance()&lt;.333?&quot;rgba(255, 255, 255, 0.6)&quot;:&quot;rgba(0, 0, 0, 0.2)&quot;})),l(&quot;domain.x&quot;),l(&quot;domain.y&quot;),l(&quot;orientation&quot;),l(&quot;valueformat&quot;),l(&quot;valuesuffix&quot;),l(&quot;arrangement&quot;),n.coerceFont(l,&quot;textfont&quot;,n.extendFlat({},s.font));e.node.label.some(function(t,r){return-1===e.link.source.indexOf(r)&amp;&amp;-1===e.link.target.indexOf(r)})&amp;&amp;n.warn(&quot;Some of the nodes are neither sources nor targets, they will not be displayed.&quot;)}},{&quot;../../components/color&quot;:618,&quot;../../lib&quot;:743,&quot;./attributes&quot;:1057,tinycolor2:546}],1062:[function(t,e,r){&quot;use strict&quot;;var n={};n.attributes=t(&quot;./attributes&quot;),n.supplyDefaults=t(&quot;./defaults&quot;),n.calc=t(&quot;./calc&quot;),n.plot=t(&quot;./plot&quot;),n.moduleType=&quot;trace&quot;,n.name=&quot;sankey&quot;,n.basePlotModule=t(&quot;./base_plot&quot;),n.categories=[&quot;noOpacity&quot;],n.meta={},e.exports=n},{&quot;./attributes&quot;:1057,&quot;./base_plot&quot;:1058,&quot;./calc&quot;:1059,&quot;./defaults&quot;:1061,&quot;./plot&quot;:1063}],1063:[function(t,e,r){&quot;use strict&quot;;function n(t){return&quot;&quot;!==t}function i(t,e){return t.filter(function(t){return t.key===e.traceId})}function a(t,e){p.select(t).select(&quot;path&quot;).style(&quot;fill-opacity&quot;,e),p.select(t).select(&quot;rect&quot;).style(&quot;fill-opacity&quot;,e)}function o(t){p.select(t).select(&quot;text.name&quot;).style(&quot;fill&quot;,&quot;black&quot;)}function s(t){return function(e){return-1!==t.node.sourceLinks.indexOf(e.link)||-1!==t.node.targetLinks.indexOf(e.link)}}function l(t){return function(e){return-1!==e.node.sourceLinks.indexOf(t.link)||-1!==e.node.targetLinks.indexOf(t.link)}}function c(t,e,r){e&amp;&amp;r&amp;&amp;i(r,e).selectAll(&quot;.&quot;+x.sankeyLink).filter(s(e)).call(f.bind(0,e,r,!1))}function u(t,e,r){e&amp;&amp;r&amp;&amp;i(r,e).selectAll(&quot;.&quot;+x.sankeyLink).filter(s(e)).call(h.bind(0,e,r,!1))}function f(t,e,r,n){var a=n.datum().link.label;n.style(&quot;fill-opacity&quot;,.4),a&amp;&amp;i(e,t).selectAll(&quot;.&quot;+x.sankeyLink).filter(function(t){return t.link.label===a}).style(&quot;fill-opacity&quot;,.4),r&amp;&amp;i(e,t).selectAll(&quot;.&quot;+x.sankeyNode).filter(l(t)).call(c)}function h(t,e,r,n){var a=n.datum().link.label;n.style(&quot;fill-opacity&quot;,function(t){return t.tinyColorAlpha}),a&amp;&amp;i(e,t).selectAll(&quot;.&quot;+x.sankeyLink).filter(function(t){return t.link.label===a}).style(&quot;fill-opacity&quot;,function(t){return t.tinyColorAlpha}),r&amp;&amp;i(e,t).selectAll(x.sankeyNode).filter(l(t)).call(u)}function d(t,e){var r=t.hoverlabel||{},n=y.nestedProperty(r,e).get();return!Array.isArray(n)&amp;&amp;n}var p=t(&quot;d3&quot;),m=t(&quot;./render&quot;),g=t(&quot;../../components/fx&quot;),v=t(&quot;../../components/color&quot;),y=t(&quot;../../lib&quot;),x=t(&quot;./constants&quot;).cn,b=y._;e.exports=function(t,e){var r=t._fullLayout,i=r._paper,s=r._size,l=b(t,&quot;source:&quot;)+&quot; &quot;,y=b(t,&quot;target:&quot;)+&quot; &quot;,_=b(t,&quot;incoming flow count:&quot;)+&quot; &quot;,w=b(t,&quot;outgoing flow count:&quot;)+&quot; &quot;;m(i,e,{width:s.w,height:s.h,margin:{t:s.t,r:s.r,b:s.b,l:s.l}},{linkEvents:{hover:function(e,r,n){p.select(e).call(f.bind(0,r,n,!0)),t.emit(&quot;plotly_hover&quot;,{event:p.event,points:[r.link]})},follow:function(e,i){var s=i.link.trace,c=t._fullLayout._paperdiv.node().getBoundingClientRect(),u=e.getBoundingClientRect(),f=u.left+u.width/2,h=u.top+u.height/2,m=g.loneHover({x:f-c.left,y:h-c.top,name:p.format(i.valueFormat)(i.link.value)+i.valueSuffix,text:[i.link.label||&quot;&quot;,l+i.link.source.label,y+i.link.target.label].filter(n).join(&quot;&lt;br&gt;&quot;),color:d(s,&quot;bgcolor&quot;)||v.addOpacity(i.tinyColorHue,1),borderColor:d(s,&quot;bordercolor&quot;),fontFamily:d(s,&quot;font.family&quot;),fontSize:d(s,&quot;font.size&quot;),fontColor:d(s,&quot;font.color&quot;),idealAlign:p.event.x&lt;f?&quot;right&quot;:&quot;left&quot;},{container:r._hoverlayer.node(),outerContainer:r._paper.node(),gd:t});a(m,.65),o(m)},unhover:function(e,n,i){p.select(e).call(h.bind(0,n,i,!0)),t.emit(&quot;plotly_unhover&quot;,{event:p.event,points:[n.link]}),g.loneUnhover(r._hoverlayer.node())},select:function(e,r){var n=r.link;n.originalEvent=p.event,t._hoverdata=[n],g.click(t,{target:!0})}},nodeEvents:{hover:function(e,r,n){p.select(e).call(c,r,n),t.emit(&quot;plotly_hover&quot;,{event:p.event,points:[r.node]})},follow:function(e,i){var s=i.node.trace,l=p.select(e).select(&quot;.&quot;+x.nodeRect),c=t._fullLayout._paperdiv.node().getBoundingClientRect(),u=l.node().getBoundingClientRect(),f=u.left-2-c.left,h=u.right+2-c.left,m=u.top+u.height/4-c.top,v=g.loneHover({x0:f,x1:h,y:m,name:p.format(i.valueFormat)(i.node.value)+i.valueSuffix,text:[i.node.label,_+i.node.targetLinks.length,w+i.node.sourceLinks.length].filter(n).join(&quot;&lt;br&gt;&quot;),color:d(s,&quot;bgcolor&quot;)||i.tinyColorHue,borderColor:d(s,&quot;bordercolor&quot;),fontFamily:d(s,&quot;font.family&quot;),fontSize:d(s,&quot;font.size&quot;),fontColor:d(s,&quot;font.color&quot;),idealAlign:&quot;left&quot;},{container:r._hoverlayer.node(),outerContainer:r._paper.node(),gd:t});a(v,.85),o(v)},unhover:function(e,n,i){p.select(e).call(u,n,i),t.emit(&quot;plotly_unhover&quot;,{event:p.event,points:[n.node]}),g.loneUnhover(r._hoverlayer.node())},select:function(e,r,n){var i=r.node;i.originalEvent=p.event,t._hoverdata=[i],p.select(e).call(u,r,n),g.click(t,{target:!0})}}})}},{&quot;../../components/color&quot;:618,&quot;../../components/fx&quot;:660,&quot;../../lib&quot;:743,&quot;./constants&quot;:1060,&quot;./render&quot;:1064,d3:128}],1064:[function(t,e,r){&quot;use strict&quot;;function n(t){t.lastDraggedX=t.x,t.lastDraggedY=t.y}function i(t){return function(e){return e.node.originalX===t.node.originalX}}function a(t){for(var e=0;e&lt;t.length;e++)t[e].y=t[e].y+t[e].dy/2}function o(t){t.attr(&quot;transform&quot;,function(t){return&quot;translate(&quot;+t.node.x.toFixed(3)+&quot;, &quot;+(t.node.y-t.node.dy/2).toFixed(3)+&quot;)&quot;})}function s(t){var e=t.sankey.nodes();!function(t){for(var e=0;e&lt;t.length;e++)t[e].y=t[e].y-t[e].dy/2}(e);var r=t.sankey.link()(t.link);return a(e),r}function l(t){t.call(o)}function c(t,e){t.call(l),e.attr(&quot;d&quot;,s)}function u(t){t.attr(&quot;width&quot;,function(t){return t.visibleWidth}).attr(&quot;height&quot;,function(t){return t.visibleHeight})}function f(t){return t.link.dy&gt;1||t.linkLineWidth&gt;0}function h(t){return&quot;translate(&quot;+t.translateX+&quot;,&quot;+t.translateY+&quot;)&quot;+(t.horizontal?&quot;matrix(1 0 0 1 0 0)&quot;:&quot;matrix(0 1 1 0 0 0)&quot;)}function d(t){return&quot;translate(&quot;+(t.horizontal?0:t.labelY)+&quot; &quot;+(t.horizontal?t.labelY:0)+&quot;)&quot;}function p(t){return w.svg.line()([[t.horizontal?t.left?-t.sizeAcross:t.visibleWidth+_.nodeTextOffsetHorizontal:_.nodeTextOffsetHorizontal,0],[t.horizontal?t.left?-_.nodeTextOffsetHorizontal:t.sizeAcross:t.visibleHeight-_.nodeTextOffsetHorizontal,0]])}function m(t){return t.horizontal?&quot;matrix(1 0 0 1 0 0)&quot;:&quot;matrix(0 1 1 0 0 0)&quot;}function g(t){return t.horizontal?&quot;scale(1 1)&quot;:&quot;scale(-1 1)&quot;}function v(t){return t.darkBackground&amp;&amp;!t.horizontal?&quot;rgb(255,255,255)&quot;:&quot;rgb(0,0,0)&quot;}function y(t){return t.horizontal&amp;&amp;t.left?&quot;100%&quot;:&quot;0%&quot;}function x(t,e,r){t.on(&quot;.basic&quot;,null).on(&quot;mouseover.basic&quot;,function(t){t.interactionState.dragInProgress||(r.hover(this,t,e),t.interactionState.hovered=[this,t])}).on(&quot;mousemove.basic&quot;,function(t){t.interactionState.dragInProgress||(r.follow(this,t),t.interactionState.hovered=[this,t])}).on(&quot;mouseout.basic&quot;,function(t){t.interactionState.dragInProgress||(r.unhover(this,t,e),t.interactionState.hovered=!1)}).on(&quot;click.basic&quot;,function(t){t.interactionState.hovered&amp;&amp;(r.unhover(this,t,e),t.interactionState.hovered=!1),t.interactionState.dragInProgress||r.select(this,t,e)})}function b(t,e,r){var a=w.behavior.drag().origin(function(t){return t.node}).on(&quot;dragstart&quot;,function(a){if(&quot;fixed&quot;!==a.arrangement&amp;&amp;(E.raiseToTop(this),a.interactionState.dragInProgress=a.node,n(a.node),a.interactionState.hovered&amp;&amp;(r.nodeEvents.unhover.apply(0,a.interactionState.hovered),a.interactionState.hovered=!1),&quot;snap&quot;===a.arrangement)){var o=a.traceId+&quot;|&quot;+Math.floor(a.node.originalX);a.forceLayouts[o]?a.forceLayouts[o].alpha(1):function(t,e,r){var n=r.sankey.nodes().filter(function(t){return t.originalX===r.node.originalX});r.forceLayouts[e]=S.forceSimulation(n).alphaDecay(0).force(&quot;collide&quot;,S.forceCollide().radius(function(t){return t.dy/2+r.nodePad/2}).strength(1).iterations(_.forceIterations)).force(&quot;constrain&quot;,function(t,e,r,n){return function(){for(var t=0,i=0;i&lt;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)/_.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&amp;&amp;t&lt;.1&amp;&amp;n.forceLayouts[e].alpha()&gt;0&amp;&amp;n.forceLayouts[e].alpha(0)}}(0,e,n,r)).stop()}(0,o,a),function(t,e,r,n){window.requestAnimationFrame(function a(){for(var o=0;o&lt;_.forceTicksPerFrame;o++)r.forceLayouts[n].tick();r.sankey.relayout(),c(t.filter(i(r)),e),r.forceLayouts[n].alpha()&gt;0&amp;&amp;window.requestAnimationFrame(a)})}(t,e,a,o)}}).on(&quot;drag&quot;,function(r){if(&quot;fixed&quot;!==r.arrangement){var a=w.event.x,o=w.event.y;&quot;snap&quot;===r.arrangement?(r.node.x=a,r.node.y=o):(&quot;freeform&quot;===r.arrangement&amp;&amp;(r.node.x=a),r.node.y=Math.max(r.node.dy/2,Math.min(r.size-r.node.dy/2,o))),n(r.node),&quot;snap&quot;!==r.arrangement&amp;&amp;(r.sankey.relayout(),c(t.filter(i(r)),e))}}).on(&quot;dragend&quot;,function(t){t.interactionState.dragInProgress=!1});t.on(&quot;.drag&quot;,null).call(a)}var _=t(&quot;./constants&quot;),w=t(&quot;d3&quot;),M=t(&quot;tinycolor2&quot;),k=t(&quot;../../components/color&quot;),A=t(&quot;../../components/drawing&quot;),T=t(&quot;@plotly/d3-sankey&quot;).sankey,S=t(&quot;d3-force&quot;),E=t(&quot;../../lib&quot;),L=t(&quot;../../lib/gup&quot;).keyFun,C=t(&quot;../../lib/gup&quot;).repeat,z=t(&quot;../../lib/gup&quot;).unwrap;e.exports=function(t,e,r,n){var i=t.selectAll(&quot;.&quot;+_.cn.sankey).data(e.filter(function(t){return z(t).trace.visible}).map(function(t,e,r){for(var n,i=z(e).trace,o=i.domain,s=i.node,l=i.link,c=i.arrangement,u=&quot;h&quot;===i.orientation,f=i.node.pad,h=i.node.thickness,d=i.node.line.color,p=i.node.line.width,m=i.link.line.color,g=i.link.line.width,v=i.valueformat,y=i.valuesuffix,x=i.textfont,b=t.width*(o.x[1]-o.x[0]),w=t.height*(o.y[1]-o.y[0]),M=s.label.map(function(t,e){return{pointNumber:e,label:t,color:E.isArray(s.color)?s.color[e]:s.color}}),k=l.value.map(function(t,e){return{pointNumber:e,label:l.label[e],color:E.isArray(l.color)?l.color[e]:l.color,source:l.source[e],target:l.target[e],value:t}}),A=T().size(u?[b,w]:[w,b]).nodeWidth(h).nodePadding(f).nodes(M).links(k).layout(_.sankeyIterations),S=A.nodes(),L=0;L&lt;S.length;L++)(n=S[L]).width=b,n.height=w;return a(M),{key:r,trace:i,guid:Math.floor(1e12*(1+Math.random())),horizontal:u,width:b,height:w,nodePad:f,nodeLineColor:d,nodeLineWidth:p,linkLineColor:m,linkLineWidth:g,valueFormat:v,valueSuffix:y,textFont:x,translateX:o.x[0]*b+t.margin.l,translateY:t.height-o.y[1]*t.height+t.margin.t,dragParallel:u?w:b,dragPerpendicular:u?b:w,nodes:M,links:k,arrangement:c,sankey:A,forceLayouts:{},interactionState:{dragInProgress:!1,hovered:!1}}}.bind(null,r)),L);i.exit().remove(),i.enter().append(&quot;g&quot;).classed(_.cn.sankey,!0).style(&quot;box-sizing&quot;,&quot;content-box&quot;).style(&quot;position&quot;,&quot;absolute&quot;).style(&quot;left&quot;,0).style(&quot;shape-rendering&quot;,&quot;geometricPrecision&quot;).style(&quot;pointer-events&quot;,&quot;auto&quot;).style(&quot;box-sizing&quot;,&quot;content-box&quot;).attr(&quot;transform&quot;,h),i.transition().ease(_.ease).duration(_.duration).attr(&quot;transform&quot;,h);var l=i.selectAll(&quot;.&quot;+_.cn.sankeyLinks).data(C,L);l.enter().append(&quot;g&quot;).classed(_.cn.sankeyLinks,!0).style(&quot;fill&quot;,&quot;none&quot;);var c=l.selectAll(&quot;.&quot;+_.cn.sankeyLink).data(function(t){return t.sankey.links().filter(function(t){return t.value}).map(function(t,e,r){var n=M(r.color),i=r.source.label+&quot;|&quot;+r.target.label,a=t[i];t[i]=(a||0)+1;var o=i+&quot;__&quot;+t[i];return r.trace=e.trace,r.curveNumber=e.trace.index,{key:o,traceId:e.key,link:r,tinyColorHue:k.tinyRGB(n),tinyColorAlpha:n.getAlpha(),linkLineColor:e.linkLineColor,linkLineWidth:e.linkLineWidth,valueFormat:e.valueFormat,valueSuffix:e.valueSuffix,sankey:e.sankey,interactionState:e.interactionState}}.bind(null,{},t))},L);c.enter().append(&quot;path&quot;).classed(_.cn.sankeyLink,!0).attr(&quot;d&quot;,s).call(x,i,n.linkEvents),c.style(&quot;stroke&quot;,function(t){return f(t)?k.tinyRGB(M(t.linkLineColor)):t.tinyColorHue}).style(&quot;stroke-opacity&quot;,function(t){return f(t)?k.opacity(t.linkLineColor):t.tinyColorAlpha}).style(&quot;stroke-width&quot;,function(t){return f(t)?t.linkLineWidth:1}).style(&quot;fill&quot;,function(t){return t.tinyColorHue}).style(&quot;fill-opacity&quot;,function(t){return t.tinyColorAlpha}),c.transition().ease(_.ease).duration(_.duration).attr(&quot;d&quot;,s),c.exit().transition().ease(_.ease).duration(_.duration).style(&quot;opacity&quot;,0).remove();var w=i.selectAll(&quot;.&quot;+_.cn.sankeyNodeSet).data(C,L);w.enter().append(&quot;g&quot;).classed(_.cn.sankeyNodeSet,!0),w.style(&quot;cursor&quot;,function(t){switch(t.arrangement){case&quot;fixed&quot;:return&quot;default&quot;;case&quot;perpendicular&quot;:return&quot;ns-resize&quot;;default:return&quot;move&quot;}});var S=w.selectAll(&quot;.&quot;+_.cn.sankeyNode).data(function(t){var e=t.sankey.nodes();return function(t){var e,r=[];for(e=0;e&lt;t.length;e++)t[e].originalX=t[e].x,t[e].originalY=t[e].y,-1===r.indexOf(t[e].x)&amp;&amp;r.push(t[e].x);for(r.sort(function(t,e){return t-e}),e=0;e&lt;t.length;e++)t[e].originalLayerIndex=r.indexOf(t[e].originalX),t[e].originalLayer=t[e].originalLayerIndex/(r.length-1)}(e),e.filter(function(t){return t.value}).map(function(t,e,r){var n=M(r.color),i=_.nodePadAcross,a=e.nodePad/2,o=r.dx,s=Math.max(.5,r.dy),l=r.label,c=t[l];t[l]=(c||0)+1;var u=l+&quot;__&quot;+t[l];return r.trace=e.trace,r.curveNumber=e.trace.index,{key:u,traceId:e.key,node:r,nodePad:e.nodePad,nodeLineColor:e.nodeLineColor,nodeLineWidth:e.nodeLineWidth,textFont:e.textFont,size:e.horizontal?e.height:e.width,visibleWidth:Math.ceil(o),visibleHeight:s,zoneX:-i,zoneY:-a,zoneWidth:o+2*i,zoneHeight:s+2*a,labelY:e.horizontal?r.dy/2+1:r.dx/2+1,left:1===r.originalLayer,sizeAcross:e.width,forceLayouts:e.forceLayouts,horizontal:e.horizontal,darkBackground:n.getBrightness()&lt;=128,tinyColorHue:k.tinyRGB(n),tinyColorAlpha:n.getAlpha(),valueFormat:e.valueFormat,valueSuffix:e.valueSuffix,sankey:e.sankey,arrangement:e.arrangement,uniqueNodeLabelPathId:[e.guid,e.key,u].join(&quot; &quot;),interactionState:e.interactionState}}.bind(null,{},t))},L);S.enter().append(&quot;g&quot;).classed(_.cn.sankeyNode,!0).call(o).call(x,i,n.nodeEvents),S.call(b,c,n),S.transition().ease(_.ease).duration(_.duration).call(o),S.exit().transition().ease(_.ease).duration(_.duration).style(&quot;opacity&quot;,0).remove();var D=S.selectAll(&quot;.&quot;+_.cn.nodeRect).data(C);D.enter().append(&quot;rect&quot;).classed(_.cn.nodeRect,!0).call(u),D.style(&quot;stroke-width&quot;,function(t){return t.nodeLineWidth}).style(&quot;stroke&quot;,function(t){return k.tinyRGB(M(t.nodeLineColor))}).style(&quot;stroke-opacity&quot;,function(t){return k.opacity(t.nodeLineColor)}).style(&quot;fill&quot;,function(t){return t.tinyColorHue}).style(&quot;fill-opacity&quot;,function(t){return t.tinyColorAlpha}),D.transition().ease(_.ease).duration(_.duration).call(u);var I=S.selectAll(&quot;.&quot;+_.cn.nodeCapture).data(C);I.enter().append(&quot;rect&quot;).classed(_.cn.nodeCapture,!0).style(&quot;fill-opacity&quot;,0),I.attr(&quot;x&quot;,function(t){return t.zoneX}).attr(&quot;y&quot;,function(t){return t.zoneY}).attr(&quot;width&quot;,function(t){return t.zoneWidth}).attr(&quot;height&quot;,function(t){return t.zoneHeight});var P=S.selectAll(&quot;.&quot;+_.cn.nodeCentered).data(C);P.enter().append(&quot;g&quot;).classed(_.cn.nodeCentered,!0).attr(&quot;transform&quot;,d),P.transition().ease(_.ease).duration(_.duration).attr(&quot;transform&quot;,d);var O=P.selectAll(&quot;.&quot;+_.cn.nodeLabelGuide).data(C);O.enter().append(&quot;path&quot;).classed(_.cn.nodeLabelGuide,!0).attr(&quot;id&quot;,function(t){return t.uniqueNodeLabelPathId}).attr(&quot;d&quot;,p).attr(&quot;transform&quot;,m),O.transition().ease(_.ease).duration(_.duration).attr(&quot;d&quot;,p).attr(&quot;transform&quot;,m);var F=P.selectAll(&quot;.&quot;+_.cn.nodeLabel).data(C);F.enter().append(&quot;text&quot;).classed(_.cn.nodeLabel,!0).attr(&quot;transform&quot;,g).style(&quot;user-select&quot;,&quot;none&quot;).style(&quot;cursor&quot;,&quot;default&quot;).style(&quot;fill&quot;,&quot;black&quot;),F.style(&quot;text-shadow&quot;,function(t){return t.horizontal?&quot;-1px 1px 1px #fff, 1px 1px 1px #fff, 1px -1px 1px #fff, -1px -1px 1px #fff&quot;:&quot;none&quot;}).each(function(t){A.font(F,t.textFont)}),F.transition().ease(_.ease).duration(_.duration).attr(&quot;transform&quot;,g);var R=F.selectAll(&quot;.&quot;+_.cn.nodeLabelTextPath).data(C);R.enter().append(&quot;textPath&quot;).classed(_.cn.nodeLabelTextPath,!0).attr(&quot;alignment-baseline&quot;,&quot;middle&quot;).attr(&quot;xlink:href&quot;,function(t){return&quot;#&quot;+t.uniqueNodeLabelPathId}).attr(&quot;startOffset&quot;,y).style(&quot;fill&quot;,v),R.text(function(t){return t.horizontal||t.node.dy&gt;5?t.node.label:&quot;&quot;}).attr(&quot;text-anchor&quot;,function(t){return t.horizontal&amp;&amp;t.left?&quot;end&quot;:&quot;start&quot;}),R.transition().ease(_.ease).duration(_.duration).attr(&quot;startOffset&quot;,y).style(&quot;fill&quot;,v)}},{&quot;../../components/color&quot;:618,&quot;../../components/drawing&quot;:643,&quot;../../lib&quot;:743,&quot;../../lib/gup&quot;:740,&quot;./constants&quot;:1060,&quot;@plotly/d3-sankey&quot;:41,d3:128,&quot;d3-force&quot;:124,tinycolor2:546}],1065:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib&quot;);e.exports=function(t,e){for(var r=0;r&lt;t.length;r++)t[r].i=r;n.mergeArray(e.text,t,&quot;tx&quot;),n.mergeArray(e.hovertext,t,&quot;htx&quot;),n.mergeArray(e.customdata,t,&quot;data&quot;),n.mergeArray(e.textposition,t,&quot;tp&quot;),e.textfont&amp;&amp;(n.mergeArray(e.textfont.size,t,&quot;ts&quot;),n.mergeArray(e.textfont.color,t,&quot;tc&quot;),n.mergeArray(e.textfont.family,t,&quot;tf&quot;));var i=e.marker;if(i){n.mergeArray(i.size,t,&quot;ms&quot;),n.mergeArray(i.opacity,t,&quot;mo&quot;),n.mergeArray(i.symbol,t,&quot;mx&quot;),n.mergeArray(i.color,t,&quot;mc&quot;);var a=i.line;i.line&amp;&amp;(n.mergeArray(a.color,t,&quot;mlc&quot;),n.mergeArray(a.width,t,&quot;mlw&quot;));var o=i.gradient;o&amp;&amp;&quot;none&quot;!==o.type&amp;&amp;(n.mergeArray(o.type,t,&quot;mgt&quot;),n.mergeArray(o.color,t,&quot;mgc&quot;))}}},{&quot;../../lib&quot;:743}],1066:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../components/colorscale/color_attributes&quot;),i=t(&quot;../../components/errorbars/attributes&quot;),a=t(&quot;../../components/colorbar/attributes&quot;),o=t(&quot;../../plots/font_attributes&quot;),s=t(&quot;../../components/drawing/attributes&quot;).dash,l=t(&quot;../../components/drawing&quot;),c=(t(&quot;./constants&quot;),t(&quot;../../lib/extend&quot;).extendFlat);e.exports={x:{valType:&quot;data_array&quot;,editType:&quot;calc+clearAxisTypes&quot;},x0:{valType:&quot;any&quot;,dflt:0,editType:&quot;calc+clearAxisTypes&quot;},dx:{valType:&quot;number&quot;,dflt:1,editType:&quot;calc&quot;},y:{valType:&quot;data_array&quot;,editType:&quot;calc+clearAxisTypes&quot;},y0:{valType:&quot;any&quot;,dflt:0,editType:&quot;calc+clearAxisTypes&quot;},dy:{valType:&quot;number&quot;,dflt:1,editType:&quot;calc&quot;},text:{valType:&quot;string&quot;,dflt:&quot;&quot;,arrayOk:!0,editType:&quot;calc&quot;},hovertext:{valType:&quot;string&quot;,dflt:&quot;&quot;,arrayOk:!0,editType:&quot;style&quot;},mode:{valType:&quot;flaglist&quot;,flags:[&quot;lines&quot;,&quot;markers&quot;,&quot;text&quot;],extras:[&quot;none&quot;],editType:&quot;calc&quot;},hoveron:{valType:&quot;flaglist&quot;,flags:[&quot;points&quot;,&quot;fills&quot;],editType:&quot;style&quot;},line:{color:{valType:&quot;color&quot;,editType:&quot;style&quot;},width:{valType:&quot;number&quot;,min:0,dflt:2,editType:&quot;style&quot;},shape:{valType:&quot;enumerated&quot;,values:[&quot;linear&quot;,&quot;spline&quot;,&quot;hv&quot;,&quot;vh&quot;,&quot;hvh&quot;,&quot;vhv&quot;],dflt:&quot;linear&quot;,editType:&quot;plot&quot;},smoothing:{valType:&quot;number&quot;,min:0,max:1.3,dflt:1,editType:&quot;plot&quot;},dash:c({},s,{editType:&quot;style&quot;}),simplify:{valType:&quot;boolean&quot;,dflt:!0,editType:&quot;plot&quot;},editType:&quot;plot&quot;},connectgaps:{valType:&quot;boolean&quot;,dflt:!1,editType:&quot;calc&quot;},cliponaxis:{valType:&quot;boolean&quot;,dflt:!0,editType:&quot;plot&quot;},fill:{valType:&quot;enumerated&quot;,values:[&quot;none&quot;,&quot;tozeroy&quot;,&quot;tozerox&quot;,&quot;tonexty&quot;,&quot;tonextx&quot;,&quot;toself&quot;,&quot;tonext&quot;],dflt:&quot;none&quot;,editType:&quot;calc&quot;},fillcolor:{valType:&quot;color&quot;,editType:&quot;style&quot;},marker:c({symbol:{valType:&quot;enumerated&quot;,values:l.symbolList,dflt:&quot;circle&quot;,arrayOk:!0,editType:&quot;style&quot;},opacity:{valType:&quot;number&quot;,min:0,max:1,arrayOk:!0,editType:&quot;style&quot;},size:{valType:&quot;number&quot;,min:0,dflt:6,arrayOk:!0,editType:&quot;calcIfAutorange&quot;},maxdisplayed:{valType:&quot;number&quot;,min:0,dflt:0,editType:&quot;plot&quot;},sizeref:{valType:&quot;number&quot;,dflt:1,editType:&quot;calc&quot;},sizemin:{valType:&quot;number&quot;,min:0,dflt:0,editType:&quot;calc&quot;},sizemode:{valType:&quot;enumerated&quot;,values:[&quot;diameter&quot;,&quot;area&quot;],dflt:&quot;diameter&quot;,editType:&quot;calc&quot;},showscale:{valType:&quot;boolean&quot;,dflt:!1,editType:&quot;calc&quot;},colorbar:a,line:c({width:{valType:&quot;number&quot;,min:0,arrayOk:!0,editType:&quot;style&quot;},editType:&quot;calc&quot;},n(&quot;marker.line&quot;)),gradient:{type:{valType:&quot;enumerated&quot;,values:[&quot;radial&quot;,&quot;horizontal&quot;,&quot;vertical&quot;,&quot;none&quot;],arrayOk:!0,dflt:&quot;none&quot;,editType:&quot;calc&quot;},color:{valType:&quot;color&quot;,arrayOk:!0,editType:&quot;calc&quot;},editType:&quot;calc&quot;},editType:&quot;calc&quot;},n(&quot;marker&quot;)),selected:{marker:{opacity:{valType:&quot;number&quot;,min:0,max:1,editType:&quot;style&quot;},color:{valType:&quot;color&quot;,editType:&quot;style&quot;},size:{valType:&quot;number&quot;,min:0,editType:&quot;style&quot;},editType:&quot;style&quot;},textfont:{color:{valType:&quot;color&quot;,editType:&quot;style&quot;},editType:&quot;style&quot;},editType:&quot;style&quot;},unselected:{marker:{opacity:{valType:&quot;number&quot;,min:0,max:1,editType:&quot;style&quot;},color:{valType:&quot;color&quot;,editType:&quot;style&quot;},size:{valType:&quot;number&quot;,min:0,editType:&quot;style&quot;},editType:&quot;style&quot;},textfont:{color:{valType:&quot;color&quot;,editType:&quot;style&quot;},editType:&quot;style&quot;},editType:&quot;style&quot;},textposition:{valType:&quot;enumerated&quot;,values:[&quot;top left&quot;,&quot;top center&quot;,&quot;top right&quot;,&quot;middle left&quot;,&quot;middle center&quot;,&quot;middle right&quot;,&quot;bottom left&quot;,&quot;bottom center&quot;,&quot;bottom right&quot;],dflt:&quot;middle center&quot;,arrayOk:!0,editType:&quot;calc&quot;},textfont:o({editType:&quot;calc&quot;,colorEditType:&quot;style&quot;,arrayOk:!0}),r:{valType:&quot;data_array&quot;,editType:&quot;calc&quot;},t:{valType:&quot;data_array&quot;,editType:&quot;calc&quot;},error_y:i,error_x:i}},{&quot;../../components/colorbar/attributes&quot;:619,&quot;../../components/colorscale/color_attributes&quot;:626,&quot;../../components/drawing&quot;:643,&quot;../../components/drawing/attributes&quot;:642,&quot;../../components/errorbars/attributes&quot;:645,&quot;../../lib/extend&quot;:732,&quot;../../plots/font_attributes&quot;:816,&quot;./constants&quot;:1072}],1067:[function(t,e,r){&quot;use strict&quot;;function n(t,e){if(s.hasMarkers(t)){var r,n=t.marker,i=1.6*(t.marker.sizeref||1);if(r=&quot;area&quot;===t.marker.sizemode?function(t){return Math.max(Math.sqrt((t||0)/i),3)}:function(t){return Math.max((t||0)/i,3)},Array.isArray(n.size)){var o={type:&quot;linear&quot;};a.setConvert(o);var l=o.makeCalcdata(t.marker,&quot;size&quot;);return l.length&gt;e&amp;&amp;l.splice(e,l.length-e),l.map(r)}return r(n.size)}}var i=t(&quot;fast-isnumeric&quot;),a=t(&quot;../../plots/cartesian/axes&quot;),o=t(&quot;../../constants/numerical&quot;).BADNUM,s=t(&quot;./subtypes&quot;),l=t(&quot;./colorscale_calc&quot;),c=t(&quot;./arrays_to_calcdata&quot;),u=t(&quot;./calc_selection&quot;);e.exports={calc:function(t,e){var r=a.getFromId(t,e.xaxis||&quot;x&quot;),f=a.getFromId(t,e.yaxis||&quot;y&quot;),h=r.makeCalcdata(e,&quot;x&quot;),d=f.makeCalcdata(e,&quot;y&quot;),p=Math.min(h.length,d.length);r._minDtick=0,f._minDtick=0,h.length&gt;p&amp;&amp;h.splice(p,h.length-p),d.length&gt;p&amp;&amp;d.splice(p,d.length-p);var m={padded:!0},g={padded:!0},v=n(e,p);v&amp;&amp;(m.ppad=g.ppad=v),!(&quot;tozerox&quot;===e.fill||&quot;tonextx&quot;===e.fill&amp;&amp;t.firstscatter)||h[0]===h[p-1]&amp;&amp;d[0]===d[p-1]?e.error_y.visible||-1===[&quot;tonexty&quot;,&quot;tozeroy&quot;].indexOf(e.fill)&amp;&amp;(s.hasMarkers(e)||s.hasText(e))||(m.padded=!1,m.ppad=0):m.tozero=!0,!(&quot;tozeroy&quot;===e.fill||&quot;tonexty&quot;===e.fill&amp;&amp;t.firstscatter)||h[0]===h[p-1]&amp;&amp;d[0]===d[p-1]?-1!==[&quot;tonextx&quot;,&quot;tozerox&quot;].indexOf(e.fill)&amp;&amp;(g.padded=!1):g.tozero=!0,a.expand(r,h,m),a.expand(f,d,g);for(var y=new Array(p),x=0;x&lt;p;x++)y[x]=i(h[x])&amp;&amp;i(d[x])?{x:h[x],y:d[x]}:{x:o,y:o},e.ids&amp;&amp;(y[x].id=String(e.ids[x]));return c(y,e),l(e),u(y,e),t.firstscatter=!1,y},calcMarkerSize:n}},{&quot;../../constants/numerical&quot;:721,&quot;../../plots/cartesian/axes&quot;:789,&quot;./arrays_to_calcdata&quot;:1065,&quot;./calc_selection&quot;:1068,&quot;./colorscale_calc&quot;:1071,&quot;./subtypes&quot;:1088,&quot;fast-isnumeric&quot;:140}],1068:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib&quot;);e.exports=function(t,e){Array.isArray(e.selectedpoints)&amp;&amp;n.tagSelected(t,e)}},{&quot;../../lib&quot;:743}],1069:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t){for(var e=0;e&lt;t.length;e++){var r=t[e];if(&quot;scatter&quot;===r.type){var n=r.fill;if(&quot;none&quot;!==n&amp;&amp;&quot;toself&quot;!==n&amp;&amp;(r.opacity=void 0,&quot;tonexty&quot;===n||&quot;tonextx&quot;===n))for(var i=e-1;i&gt;=0;i--){var a=t[i];if(&quot;scatter&quot;===a.type&amp;&amp;a.xaxis===r.xaxis&amp;&amp;a.yaxis===r.yaxis){a.opacity=void 0;break}}}}}},{}],1070:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;fast-isnumeric&quot;),i=t(&quot;../../lib&quot;),a=t(&quot;../../plots/plots&quot;),o=t(&quot;../../components/colorscale&quot;),s=t(&quot;../../components/colorbar/draw&quot;);e.exports=function(t,e){var r=e[0].trace,l=r.marker,c=&quot;cb&quot;+r.uid;if(t._fullLayout._infolayer.selectAll(&quot;.&quot;+c).remove(),void 0!==l&amp;&amp;l.showscale){var u=l.color,f=l.cmin,h=l.cmax;n(f)||(f=i.aggNums(Math.min,null,u)),n(h)||(h=i.aggNums(Math.max,null,u));var d=e[0].t.cb=s(t,c),p=o.makeColorScaleFunc(o.extractScale(l.colorscale,f,h),{noNumericCheck:!0});d.fillcolor(p).filllevels({start:f,end:h,size:(h-f)/254}).options(l.colorbar)()}else a.autoMargin(t,c)}},{&quot;../../components/colorbar/draw&quot;:622,&quot;../../components/colorscale&quot;:633,&quot;../../lib&quot;:743,&quot;../../plots/plots&quot;:852,&quot;fast-isnumeric&quot;:140}],1071:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../components/colorscale/has_colorscale&quot;),i=t(&quot;../../components/colorscale/calc&quot;),a=t(&quot;./subtypes&quot;);e.exports=function(t){a.hasLines(t)&amp;&amp;n(t,&quot;line&quot;)&amp;&amp;i(t,t.line.color,&quot;line&quot;,&quot;c&quot;),a.hasMarkers(t)&amp;&amp;(n(t,&quot;marker&quot;)&amp;&amp;i(t,t.marker.color,&quot;marker&quot;,&quot;c&quot;),n(t,&quot;marker.line&quot;)&amp;&amp;i(t,t.marker.line.color,&quot;marker.line&quot;,&quot;c&quot;))}},{&quot;../../components/colorscale/calc&quot;:625,&quot;../../components/colorscale/has_colorscale&quot;:632,&quot;./subtypes&quot;:1088}],1072:[function(t,e,r){&quot;use strict&quot;;e.exports={PTS_LINESONLY:20,minTolerance:.2,toleranceGrowth:10,maxScreensAway:20}},{}],1073:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib&quot;),i=t(&quot;./attributes&quot;),a=t(&quot;./constants&quot;),o=t(&quot;./subtypes&quot;),s=t(&quot;./xy_defaults&quot;),l=t(&quot;./marker_defaults&quot;),c=t(&quot;./line_defaults&quot;),u=t(&quot;./line_shape_defaults&quot;),f=t(&quot;./text_defaults&quot;),h=t(&quot;./fillcolor_defaults&quot;),d=t(&quot;../../components/errorbars/defaults&quot;);e.exports=function(t,e,r,p){function m(r,a){return n.coerce(t,e,i,r,a)}var g=s(t,e,p,m),v=g&lt;a.PTS_LINESONLY?&quot;lines+markers&quot;:&quot;lines&quot;;if(g){m(&quot;text&quot;),m(&quot;hovertext&quot;),m(&quot;mode&quot;,v),o.hasLines(e)&amp;&amp;(c(t,e,r,p,m),u(t,e,m),m(&quot;connectgaps&quot;),m(&quot;line.simplify&quot;)),o.hasMarkers(e)&amp;&amp;l(t,e,r,p,m,{gradient:!0}),o.hasText(e)&amp;&amp;f(t,e,p,m);var y=[];(o.hasMarkers(e)||o.hasText(e))&amp;&amp;(m(&quot;cliponaxis&quot;),m(&quot;marker.maxdisplayed&quot;),y.push(&quot;points&quot;)),m(&quot;fill&quot;),&quot;none&quot;!==e.fill&amp;&amp;(h(t,e,r,m),o.hasLines(e)||u(t,e,m)),&quot;tonext&quot;!==e.fill&amp;&amp;&quot;toself&quot;!==e.fill||y.push(&quot;fills&quot;),m(&quot;hoveron&quot;,y.join(&quot;+&quot;)||&quot;points&quot;),d(t,e,r,{axis:&quot;y&quot;}),d(t,e,r,{axis:&quot;x&quot;,inherit:&quot;y&quot;}),n.coerceSelectionMarkerOpacity(e,m)}else e.visible=!1}},{&quot;../../components/errorbars/defaults&quot;:648,&quot;../../lib&quot;:743,&quot;./attributes&quot;:1066,&quot;./constants&quot;:1072,&quot;./fillcolor_defaults&quot;:1075,&quot;./line_defaults&quot;:1079,&quot;./line_shape_defaults&quot;:1081,&quot;./marker_defaults&quot;:1084,&quot;./subtypes&quot;:1088,&quot;./text_defaults&quot;:1089,&quot;./xy_defaults&quot;:1090}],1074:[function(t,e,r){&quot;use strict&quot;;function n(t){return t||0===t}var i=t(&quot;../../lib&quot;);e.exports=function(t,e,r){var a=Array.isArray(r)?function(t){r.push(t)}:function(t){r.text=t},o=i.extractOption(t,e,&quot;htx&quot;,&quot;hovertext&quot;);if(n(o))return a(o);var s=i.extractOption(t,e,&quot;tx&quot;,&quot;text&quot;);return n(s)?a(s):void 0}},{&quot;../../lib&quot;:743}],1075:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../components/color&quot;);e.exports=function(t,e,r,i){var a=!1;if(e.marker){var o=e.marker.color,s=(e.marker.line||{}).color;o&amp;&amp;!Array.isArray(o)?a=o:s&amp;&amp;!Array.isArray(s)&amp;&amp;(a=s)}i(&quot;fillcolor&quot;,n.addOpacity((e.line||{}).color||a||r,.5))}},{&quot;../../components/color&quot;:618}],1076:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../components/color&quot;),i=t(&quot;./subtypes&quot;);e.exports=function(t,e){var r,a;if(&quot;lines&quot;===t.mode)return(r=t.line.color)&amp;&amp;n.opacity(r)?r:t.fillcolor;if(&quot;none&quot;===t.mode)return t.fill?t.fillcolor:&quot;&quot;;var o=e.mcc||(t.marker||{}).color,s=e.mlcc||((t.marker||{}).line||{}).color;return(a=o&amp;&amp;n.opacity(o)?o:s&amp;&amp;n.opacity(s)&amp;&amp;(e.mlw||((t.marker||{}).line||{}).width)?s:&quot;&quot;)?n.opacity(a)&lt;.3?n.addOpacity(a,.3):a:(r=(t.line||{}).color)&amp;&amp;n.opacity(r)&amp;&amp;i.hasLines(t)&amp;&amp;t.line.width?r:t.fillcolor}},{&quot;../../components/color&quot;:618,&quot;./subtypes&quot;:1088}],1077:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib&quot;),i=t(&quot;../../components/fx&quot;),a=t(&quot;../../components/errorbars&quot;),o=t(&quot;./get_trace_color&quot;),s=t(&quot;../../components/color&quot;),l=t(&quot;./fill_hover_text&quot;),c=i.constants.MAXDIST;e.exports=function(t,e,r,u){var f=t.cd,h=f[0].trace,d=t.xa,p=t.ya,m=d.c2p(e),g=p.c2p(r),v=[m,g],y=h.hoveron||&quot;&quot;,x=-1!==h.mode.indexOf(&quot;markers&quot;)?3:.5;if(-1!==y.indexOf(&quot;points&quot;)){var b=function(t){var e=Math.max(3,t.mrc||0),r=1-1/e,n=Math.abs(d.c2p(t.x)-m);return n&lt;e?r*n/e:n-e+r},_=function(t){var e=Math.max(3,t.mrc||0),r=1-1/e,n=Math.abs(p.c2p(t.y)-g);return n&lt;e?r*n/e:n-e+r},w=function(t){var e=Math.max(x,t.mrc||0),r=d.c2p(t.x)-m,n=p.c2p(t.y)-g;return Math.max(Math.sqrt(r*r+n*n)-e,1-x/e)},M=i.getDistanceFunction(u,b,_,w);if(i.getClosest(f,M,t),!1!==t.index){var k=f[t.index],A=d.c2p(k.x,!0),T=p.c2p(k.y,!0),S=k.mrc||1;return n.extendFlat(t,{color:o(h,k),x0:A-S,x1:A+S,xLabelVal:k.x,y0:T-S,y1:T+S,yLabelVal:k.y,kink:Math.max(x,k.mrc||0)}),l(k,h,t),a.hoverInfo(k,h,t),[t]}}if(-1!==y.indexOf(&quot;fills&quot;)&amp;&amp;h._polygons){var E,L,C,z,D,I,P,O,F,R=h._polygons,N=[],j=!1,B=1/0,U=-1/0,V=1/0,q=-1/0;for(E=0;E&lt;R.length;E++)(C=R[E]).contains(v)&amp;&amp;(j=!j,N.push(C),V=Math.min(V,C.ymin),q=Math.max(q,C.ymax));if(j){var H=((V=Math.max(V,0))+(q=Math.min(q,p._length)))/2;for(E=0;E&lt;N.length;E++)for(z=N[E].pts,L=1;L&lt;z.length;L++)(O=z[L-1][1])&gt;H!=(F=z[L][1])&gt;=H&amp;&amp;(I=z[L-1][0],P=z[L][0],F-O&amp;&amp;(D=I+(P-I)*(H-O)/(F-O),B=Math.min(B,D),U=Math.max(U,D)));B=Math.max(B,0),U=Math.min(U,d._length);var G=s.defaultLine;return s.opacity(h.fillcolor)?G=h.fillcolor:s.opacity((h.line||{}).color)&amp;&amp;(G=h.line.color),n.extendFlat(t,{distance:c+10,x0:B,x1:U,y0:H,y1:H,color:G}),delete t.index,h.text&amp;&amp;!Array.isArray(h.text)?t.text=String(h.text):t.text=h.name,[t]}}}},{&quot;../../components/color&quot;:618,&quot;../../components/errorbars&quot;:649,&quot;../../components/fx&quot;:660,&quot;../../lib&quot;:743,&quot;./fill_hover_text&quot;:1074,&quot;./get_trace_color&quot;:1076}],1078:[function(t,e,r){&quot;use strict&quot;;var n={},i=t(&quot;./subtypes&quot;);n.hasLines=i.hasLines,n.hasMarkers=i.hasMarkers,n.hasText=i.hasText,n.isBubble=i.isBubble,n.attributes=t(&quot;./attributes&quot;),n.supplyDefaults=t(&quot;./defaults&quot;),n.cleanData=t(&quot;./clean_data&quot;),n.calc=t(&quot;./calc&quot;).calc,n.arraysToCalcdata=t(&quot;./arrays_to_calcdata&quot;),n.plot=t(&quot;./plot&quot;),n.colorbar=t(&quot;./colorbar&quot;),n.style=t(&quot;./style&quot;).style,n.hoverPoints=t(&quot;./hover&quot;),n.selectPoints=t(&quot;./select&quot;),n.animatable=!0,n.moduleType=&quot;trace&quot;,n.name=&quot;scatter&quot;,n.basePlotModule=t(&quot;../../plots/cartesian&quot;),n.categories=[&quot;cartesian&quot;,&quot;symbols&quot;,&quot;markerColorscale&quot;,&quot;errorBarsOK&quot;,&quot;showLegend&quot;,&quot;scatter-like&quot;],n.meta={},e.exports=n},{&quot;../../plots/cartesian&quot;:800,&quot;./arrays_to_calcdata&quot;:1065,&quot;./attributes&quot;:1066,&quot;./calc&quot;:1067,&quot;./clean_data&quot;:1069,&quot;./colorbar&quot;:1070,&quot;./defaults&quot;:1073,&quot;./hover&quot;:1077,&quot;./plot&quot;:1085,&quot;./select&quot;:1086,&quot;./style&quot;:1087,&quot;./subtypes&quot;:1088}],1079:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../components/colorscale/has_colorscale&quot;),i=t(&quot;../../components/colorscale/defaults&quot;);e.exports=function(t,e,r,a,o,s){var l=(t.marker||{}).color;if(o(&quot;line.color&quot;,r),n(t,&quot;line&quot;))i(t,e,a,o,{prefix:&quot;line.&quot;,cLetter:&quot;c&quot;});else{o(&quot;line.color&quot;,!Array.isArray(l)&amp;&amp;l||r)}o(&quot;line.width&quot;),(s||{}).noDash||o(&quot;line.dash&quot;)}},{&quot;../../components/colorscale/defaults&quot;:628,&quot;../../components/colorscale/has_colorscale&quot;:632}],1080:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../constants/numerical&quot;).BADNUM,i=t(&quot;../../lib&quot;),a=i.segmentsIntersect,o=i.constrain,s=t(&quot;./constants&quot;);e.exports=function(t,e){function r(e){var r=t[e],i=P.c2p(r.x),a=O.c2p(r.y);return i===n||a===n?r.intoCenter||!1:[i,a]}function l(t){var e=t[0]/P._length,r=t[1]/O._length;return(1+s.toleranceGrowth*Math.max(0,-e,e-1,-r,r-1))*N}function c(t,e){var r=t[0]-e[0],n=t[1]-e[1];return Math.sqrt(r*r+n*n)}function u(t,e){for(var r=[],n=0,i=0;i&lt;4;i++){var o=nt[i],s=a(t[0],t[1],e[0],e[1],o[0],o[1],o[2],o[3]);s&amp;&amp;(!n||Math.abs(s.x-r[0][0])&gt;1||Math.abs(s.y-r[0][1])&gt;1)&amp;&amp;(s=[s.x,s.y],n&amp;&amp;c(s,t)&lt;c(r[0],t)?r.unshift(s):r.push(s),n++)}return r}function f(t){if(t[0]&lt;$||t[0]&gt;tt||t[1]&lt;et||t[1]&gt;rt)return[o(t[0],$,tt),o(t[1],et,rt)]}function h(t,e){return t[0]===e[0]&amp;&amp;(t[0]===$||t[0]===tt)||(t[1]===e[1]&amp;&amp;(t[1]===et||t[1]===rt)||void 0)}function d(t,e){var r=[],n=f(t),i=f(e);return n&amp;&amp;i&amp;&amp;h(n,i)?r:(n&amp;&amp;r.push(n),i&amp;&amp;r.push(i),r)}function p(t,e,r){return function(n,a){var o=f(n),s=f(a),l=[];if(o&amp;&amp;s&amp;&amp;h(o,s))return l;o&amp;&amp;l.push(o),s&amp;&amp;l.push(s);var c=2*i.constrain((n[t]+a[t])/2,e,r)-((o||n)[t]+(s||a)[t]);if(c){(o&amp;&amp;s?c&gt;0==o[t]&gt;s[t]?o:s:o||s)[t]+=c}return l}}function m(t){var e=t[0],r=t[1],n=e===q[H-1][0],i=r===q[H-1][1];if(!n||!i)if(H&gt;1){var a=e===q[H-2][0],o=r===q[H-2][1];n&amp;&amp;(e===$||e===tt)&amp;&amp;a?o?H--:q[H-1]=t:i&amp;&amp;(r===et||r===rt)&amp;&amp;o?a?H--:q[H-1]=t:q[H++]=t}else q[H++]=t}function g(t){q[H-1][0]!==t[0]&amp;&amp;q[H-1][1]!==t[1]&amp;&amp;m([W,X]),m(t),Z=null,W=X=0}function v(t){if(G=t[0]&lt;$?$:t[0]&gt;tt?tt:0,Y=t[1]&lt;et?et:t[1]&gt;rt?rt:0,G||Y){if(H)if(Z){var e=K(Z,t);e.length&gt;1&amp;&amp;(g(e[0]),q[H++]=e[1])}else J=K(q[H-1],t)[0],q[H++]=J;else q[H++]=[G||t[0],Y||t[1]];var r=q[H-1];G&amp;&amp;Y&amp;&amp;(r[0]!==G||r[1]!==Y)?(Z&amp;&amp;(W!==G&amp;&amp;X!==Y?m(W&amp;&amp;X?function(t,e){var r=e[0]-t[0],n=(e[1]-t[1])/r;return(t[1]*e[0]-e[1]*t[0])/r&gt;0?[n&gt;0?$:tt,rt]:[n&gt;0?tt:$,et]}(Z,t):[W||G,X||Y]):W&amp;&amp;X&amp;&amp;m([W,X])),m([G,Y])):W-G&amp;&amp;X-Y&amp;&amp;m([G||W,Y||X]),Z=t,W=G,X=Y}else Z&amp;&amp;g(K(Z,t)[0]),q[H++]=t}var y,x,b,_,w,M,k,A,T,S,E,L,C,z,D,I,P=e.xaxis,O=e.yaxis,F=e.simplify,R=e.connectGaps,N=e.baseTolerance,j=e.shape,B=&quot;linear&quot;===j,U=[],V=s.minTolerance,q=new Array(t.length),H=0;F||(N=V=-1);var G,Y,W,X,Z,J,K,Q=s.maxScreensAway,$=-P._length*Q,tt=P._length*(1+Q),et=-O._length*Q,rt=O._length*(1+Q),nt=[[$,et,tt,et],[tt,et,tt,rt],[tt,rt,$,rt],[$,rt,$,et]];for(&quot;linear&quot;===j||&quot;spline&quot;===j?K=u:&quot;hv&quot;===j||&quot;vh&quot;===j?K=d:&quot;hvh&quot;===j?K=p(0,$,tt):&quot;vhv&quot;===j&amp;&amp;(K=p(1,et,rt)),y=0;y&lt;t.length;y++)if(x=r(y)){for(H=0,Z=null,v(x),y++;y&lt;t.length;y++){if(!(_=r(y))){if(R)continue;break}if(B){if(!((S=c(_,x))&lt;l(_)*V)){for(A=[(_[0]-x[0])/S,(_[1]-x[1])/S],w=x,E=S,L=z=D=0,k=!1,b=_,y++;y&lt;t.length;y++){if(!(M=r(y))){if(R)continue;break}if(T=[M[0]-x[0],M[1]-x[1]],I=T[0]*A[1]-T[1]*A[0],z=Math.min(z,I),(D=Math.max(D,I))-z&gt;l(M))break;b=M,(C=T[0]*A[0]+T[1]*A[1])&gt;E?(E=C,_=M,k=!1):C&lt;L&amp;&amp;(L=C,w=M,k=!0)}if(k?(v(_),b!==w&amp;&amp;v(w)):(w!==x&amp;&amp;v(w),b!==_&amp;&amp;v(_)),v(b),y&gt;=t.length||!M)break;v(M),x=M}}else v(_)}Z&amp;&amp;m([W||Z[0],X||Z[1]]),U.push(q.slice(0,H))}return U}},{&quot;../../constants/numerical&quot;:721,&quot;../../lib&quot;:743,&quot;./constants&quot;:1072}],1081:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t,e,r){&quot;spline&quot;===r(&quot;line.shape&quot;)&amp;&amp;r(&quot;line.smoothing&quot;)}},{}],1082:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t,e,r){var n,i,a=null;for(i=0;i&lt;r.length;++i)!0===(n=r[i][0].trace).visible?(n._nexttrace=null,-1!==[&quot;tonextx&quot;,&quot;tonexty&quot;,&quot;tonext&quot;].indexOf(n.fill)&amp;&amp;(n._prevtrace=a,a&amp;&amp;(a._nexttrace=n)),a=n):n._prevtrace=n._nexttrace=null}},{}],1083:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;fast-isnumeric&quot;);e.exports=function(t){var e=t.marker,r=e.sizeref||1,i=e.sizemin||0,a=&quot;area&quot;===e.sizemode?function(t){return Math.sqrt(t/r)}:function(t){return t/r};return function(t){var e=a(t/2);return n(e)&amp;&amp;e&gt;0?Math.max(e,i):0}}},{&quot;fast-isnumeric&quot;:140}],1084:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../components/color&quot;),i=t(&quot;../../components/colorscale/has_colorscale&quot;),a=t(&quot;../../components/colorscale/defaults&quot;),o=t(&quot;./subtypes&quot;);e.exports=function(t,e,r,s,l,c){var u=o.isBubble(t),f=(t.line||{}).color;if(c=c||{},f&amp;&amp;(r=f),l(&quot;marker.symbol&quot;),l(&quot;marker.opacity&quot;,u?.7:1),l(&quot;marker.size&quot;),l(&quot;marker.color&quot;,r),i(t,&quot;marker&quot;)&amp;&amp;a(t,e,s,l,{prefix:&quot;marker.&quot;,cLetter:&quot;c&quot;}),c.noSelect||(l(&quot;selected.marker.color&quot;),l(&quot;unselected.marker.color&quot;),l(&quot;selected.marker.size&quot;),l(&quot;unselected.marker.size&quot;)),c.noLine||(l(&quot;marker.line.color&quot;,f&amp;&amp;!Array.isArray(f)&amp;&amp;e.marker.color!==f?f:u?n.background:n.defaultLine),i(t,&quot;marker.line&quot;)&amp;&amp;a(t,e,s,l,{prefix:&quot;marker.line.&quot;,cLetter:&quot;c&quot;}),l(&quot;marker.line.width&quot;,u?1:0)),u&amp;&amp;(l(&quot;marker.sizeref&quot;),l(&quot;marker.sizemin&quot;),l(&quot;marker.sizemode&quot;)),c.gradient){&quot;none&quot;!==l(&quot;marker.gradient.type&quot;)&amp;&amp;l(&quot;marker.gradient.color&quot;)}}},{&quot;../../components/color&quot;:618,&quot;../../components/colorscale/defaults&quot;:628,&quot;../../components/colorscale/has_colorscale&quot;:632,&quot;./subtypes&quot;:1088}],1085:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,n,u,h,d){function p(t){return w?t.transition():t}function m(t){p(t).attr(&quot;d&quot;,&quot;M0,0Z&quot;)}function g(t){return t.filter(function(t){return t.vis})}function v(t){return t.id}function y(){return!1}function x(e){var n,s,c=e[0].trace,u=i.select(this),f=l.hasMarkers(c),h=l.hasText(c),d=function(t){if(t.ids)return v}(c),m=y,x=y;f&amp;&amp;(m=c.marker.maxdisplayed||c._needsCull?g:a.identity),h&amp;&amp;(x=c.marker.maxdisplayed||c._needsCull?g:a.identity);var b=(n=u.selectAll(&quot;path.point&quot;).data(m,d)).enter().append(&quot;path&quot;).classed(&quot;point&quot;,!0);w&amp;&amp;b.call(o.pointStyle,c,t).call(o.translatePoints,M,k).style(&quot;opacity&quot;,0).transition().style(&quot;opacity&quot;,1);var _=f&amp;&amp;o.tryColorscale(c.marker,&quot;&quot;),A=f&amp;&amp;o.tryColorscale(c.marker,&quot;line&quot;);n.order(),n.each(function(e){var n=i.select(this),a=p(n);(s=o.translatePoint(e,a,M,k))?(o.singlePointStyle(e,a,c,_,A,t),r.layerClipId&amp;&amp;o.hideOutsideRangePoint(e,a,M,k,c.xcalendar,c.ycalendar),c.customdata&amp;&amp;n.classed(&quot;plotly-customdata&quot;,null!==e.data&amp;&amp;void 0!==e.data)):a.remove()}),w?n.exit().transition().style(&quot;opacity&quot;,0).remove():n.exit().remove(),(n=u.selectAll(&quot;g&quot;).data(x,d)).enter().append(&quot;g&quot;).classed(&quot;textpoint&quot;,!0).append(&quot;text&quot;),n.order(),n.each(function(t){var e=i.select(this),n=p(e.select(&quot;text&quot;));(s=o.translatePoint(t,n,M,k))?r.layerClipId&amp;&amp;o.hideOutsideRangePoint(t,e,M,k,c.xcalendar,c.ycalendar):e.remove()}),n.selectAll(&quot;text&quot;).call(o.textPointStyle,c,t).each(function(t){var e=M.c2p(t.x),r=k.c2p(t.y);i.select(this).selectAll(&quot;tspan.line&quot;).each(function(){p(i.select(this)).attr({x:e,y:r})})}),n.exit().remove()}var b,_;!function(t,e,r,n,o){var s=r.xaxis,c=r.yaxis,u=i.extent(a.simpleMap(s.range,s.r2c)),f=i.extent(a.simpleMap(c.range,c.r2c)),h=n[0].trace;if(!l.hasMarkers(h))return;var d=h.marker.maxdisplayed;if(0===d)return;var p=n.filter(function(t){return t.x&gt;=u[0]&amp;&amp;t.x&lt;=u[1]&amp;&amp;t.y&gt;=f[0]&amp;&amp;t.y&lt;=f[1]}),m=Math.ceil(p.length/d),g=0;o.forEach(function(t,r){var n=t[0].trace;l.hasMarkers(n)&amp;&amp;n.marker.maxdisplayed&gt;0&amp;&amp;r&lt;e&amp;&amp;g++});var v=Math.round(g*m/3+Math.floor(g/3)*m/7.1);n.forEach(function(t){delete t.vis}),p.forEach(function(t,e){0===Math.round((e+v)%m)&amp;&amp;(t.vis=!0)})}(0,e,r,n,u);var w=!!d&amp;&amp;d.duration&gt;0,M=r.xaxis,k=r.yaxis,A=n[0].trace,T=A.line,S=i.select(h);if(S.call(s.plot,r,d),!0===A.visible){p(S).style(&quot;opacity&quot;,A.opacity);var E,L,C=A.fill.charAt(A.fill.length-1);&quot;x&quot;!==C&amp;&amp;&quot;y&quot;!==C&amp;&amp;(C=&quot;&quot;),n[0].node3=S;var z=&quot;&quot;,D=[],I=A._prevtrace;I&amp;&amp;(z=I._prevRevpath||&quot;&quot;,L=I._nextFill,D=I._polygons);var P,O,F,R,N,j,B,U,V,q=&quot;&quot;,H=&quot;&quot;,G=[],Y=a.noop;if(E=A._ownFill,l.hasLines(A)||&quot;none&quot;!==A.fill){for(L&amp;&amp;L.datum(n),-1!==[&quot;hv&quot;,&quot;vh&quot;,&quot;hvh&quot;,&quot;vhv&quot;].indexOf(T.shape)?(F=o.steps(T.shape),R=o.steps(T.shape.split(&quot;&quot;).reverse().join(&quot;&quot;))):F=R=&quot;spline&quot;===T.shape?function(t){var e=t[t.length-1];return t.length&gt;1&amp;&amp;t[0][0]===e[0]&amp;&amp;t[0][1]===e[1]?o.smoothclosed(t.slice(1),T.smoothing):o.smoothopen(t,T.smoothing)}:function(t){return&quot;M&quot;+t.join(&quot;L&quot;)},N=function(t){return R(t.reverse())},G=c(n,{xaxis:M,yaxis:k,connectGaps:A.connectgaps,baseTolerance:Math.max(T.width||1,3)/4,shape:T.shape,simplify:T.simplify}),V=A._polygons=new Array(G.length),_=0;_&lt;G.length;_++)A._polygons[_]=f(G[_]);G.length&amp;&amp;(j=G[0][0],U=(B=G[G.length-1])[B.length-1]),Y=function(t){return function(e){if(P=F(e),O=N(e),q?C?(q+=&quot;L&quot;+P.substr(1),H=O+&quot;L&quot;+H.substr(1)):(q+=&quot;Z&quot;+P,H=O+&quot;Z&quot;+H):(q=P,H=O),l.hasLines(A)&amp;&amp;e.length&gt;1){var r=i.select(this);if(r.datum(n),t)p(r.style(&quot;opacity&quot;,0).attr(&quot;d&quot;,P).call(o.lineGroupStyle)).style(&quot;opacity&quot;,1);else{var a=p(r);a.attr(&quot;d&quot;,P),o.singleLineStyle(n,a)}}}}}var W=S.selectAll(&quot;.js-line&quot;).data(G);p(W.exit()).style(&quot;opacity&quot;,0).remove(),W.each(Y(!1)),W.enter().append(&quot;path&quot;).classed(&quot;js-line&quot;,!0).style(&quot;vector-effect&quot;,&quot;non-scaling-stroke&quot;).call(o.lineGroupStyle).each(Y(!0)),o.setClipUrl(W,r.layerClipId),G.length?(E?j&amp;&amp;U&amp;&amp;(C?(&quot;y&quot;===C?j[1]=U[1]=k.c2p(0,!0):&quot;x&quot;===C&amp;&amp;(j[0]=U[0]=M.c2p(0,!0)),p(E).attr(&quot;d&quot;,&quot;M&quot;+U+&quot;L&quot;+j+&quot;L&quot;+q.substr(1)).call(o.singleFillStyle)):p(E).attr(&quot;d&quot;,q+&quot;Z&quot;).call(o.singleFillStyle)):L&amp;&amp;(&quot;tonext&quot;===A.fill.substr(0,6)&amp;&amp;q&amp;&amp;z?(&quot;tonext&quot;===A.fill?p(L).attr(&quot;d&quot;,q+&quot;Z&quot;+z+&quot;Z&quot;).call(o.singleFillStyle):p(L).attr(&quot;d&quot;,q+&quot;L&quot;+z.substr(1)+&quot;Z&quot;).call(o.singleFillStyle),A._polygons=A._polygons.concat(D)):(m(L),A._polygons=null)),A._prevRevpath=H,A._prevPolygons=V):(E?m(E):L&amp;&amp;m(L),A._polygons=A._prevRevpath=A._prevPolygons=null);var X=S.selectAll(&quot;.points&quot;);b=X.data([n]),X.each(x),b.enter().append(&quot;g&quot;).classed(&quot;points&quot;,!0).each(x),b.exit().remove(),b.each(function(t){var e=!1===t[0].trace.cliponaxis;o.setClipUrl(i.select(this),e?null:r.layerClipId)})}}var i=t(&quot;d3&quot;),a=t(&quot;../../lib&quot;),o=t(&quot;../../components/drawing&quot;),s=t(&quot;../../components/errorbars&quot;),l=t(&quot;./subtypes&quot;),c=t(&quot;./line_points&quot;),u=t(&quot;./link_traces&quot;),f=t(&quot;../../lib/polygon&quot;).tester;e.exports=function(t,e,r,a,s){var l,c,f,h,d=e.plot.select(&quot;g.scatterlayer&quot;),p=!a,m=!!a&amp;&amp;a.duration&gt;0;for((f=d.selectAll(&quot;g.trace&quot;).data(r,function(t){return t[0].trace.uid})).enter().append(&quot;g&quot;).attr(&quot;class&quot;,function(t){return&quot;trace scatter trace&quot;+t[0].trace.uid}).style(&quot;stroke-miterlimit&quot;,2),u(t,e,r),function(t,e,r){var n;e.selectAll(&quot;g.trace&quot;).each(function(t){var e=i.select(this);if((n=t[0].trace)._nexttrace){if(n._nextFill=e.select(&quot;.js-fill.js-tonext&quot;),!n._nextFill.size()){var a=&quot;:first-child&quot;;e.select(&quot;.js-fill.js-tozero&quot;).size()&amp;&amp;(a+=&quot; + *&quot;),n._nextFill=e.insert(&quot;path&quot;,a).attr(&quot;class&quot;,&quot;js-fill js-tonext&quot;)}}else e.selectAll(&quot;.js-fill.js-tonext&quot;).remove(),n._nextFill=null;n.fill&amp;&amp;(&quot;tozero&quot;===n.fill.substr(0,6)||&quot;toself&quot;===n.fill||&quot;to&quot;===n.fill.substr(0,2)&amp;&amp;!n._prevtrace)?(n._ownFill=e.select(&quot;.js-fill.js-tozero&quot;),n._ownFill.size()||(n._ownFill=e.insert(&quot;path&quot;,&quot;:first-child&quot;).attr(&quot;class&quot;,&quot;js-fill js-tozero&quot;))):(e.selectAll(&quot;.js-fill.js-tozero&quot;).remove(),n._ownFill=null),e.selectAll(&quot;.js-fill&quot;).call(o.setClipUrl,r.layerClipId)})}(0,d,e),l=0,c={};l&lt;r.length;l++)c[r[l][0].trace.uid]=l;if(d.selectAll(&quot;g.trace&quot;).sort(function(t,e){return c[t[0].trace.uid]&gt;c[e[0].trace.uid]?1:-1}),m){s&amp;&amp;(h=s());i.transition().duration(a.duration).ease(a.easing).each(&quot;end&quot;,function(){h&amp;&amp;h()}).each(&quot;interrupt&quot;,function(){h&amp;&amp;h()}).each(function(){d.selectAll(&quot;g.trace&quot;).each(function(i,o){n(t,o,e,i,r,this,a)})})}else d.selectAll(&quot;g.trace&quot;).each(function(i,o){n(t,o,e,i,r,this,a)});p&amp;&amp;f.exit().remove(),d.selectAll(&quot;path:not([d])&quot;).remove()}},{&quot;../../components/drawing&quot;:643,&quot;../../components/errorbars&quot;:649,&quot;../../lib&quot;:743,&quot;../../lib/polygon&quot;:755,&quot;./line_points&quot;:1080,&quot;./link_traces&quot;:1082,&quot;./subtypes&quot;:1088,d3:128}],1086:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;./subtypes&quot;);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)&amp;&amp;!n.hasText(f))return[];if(!1===e)for(r=0;r&lt;s.length;r++)s[r].selected=0;else for(r=0;r&lt;s.length;r++)i=s[r],a=l.c2p(i.x),o=c.c2p(i.y),e.contains([a,o])?(u.push({pointNumber:r,x:l.c2d(i.x),y:c.c2d(i.y)}),i.selected=1):i.selected=0;return u}},{&quot;./subtypes&quot;:1088}],1087:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r){var n=t.selectAll(&quot;path.point&quot;),i=t.selectAll(&quot;text&quot;);a.pointStyle(n,e,r),a.textPointStyle(i,e,r),a.selectedPointStyle(n,e),a.selectedTextStyle(i,e)}var i=t(&quot;d3&quot;),a=t(&quot;../../components/drawing&quot;),o=t(&quot;../../components/errorbars&quot;);e.exports={style:function(t,e){var r=e?e[0].node3:i.select(t).selectAll(&quot;g.trace.scatter&quot;);r.style(&quot;opacity&quot;,function(t){return t[0].trace.opacity}),r.selectAll(&quot;g.points&quot;).each(function(e){n(i.select(this),e.trace||e[0].trace,t)}),r.selectAll(&quot;g.trace path.js-line&quot;).call(a.lineGroupStyle),r.selectAll(&quot;g.trace path.js-fill&quot;).call(a.fillGroupStyle),r.call(o.style)},stylePoints:n}},{&quot;../../components/drawing&quot;:643,&quot;../../components/errorbars&quot;:649,d3:128}],1088:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib&quot;);e.exports={hasLines:function(t){return t.visible&amp;&amp;t.mode&amp;&amp;-1!==t.mode.indexOf(&quot;lines&quot;)},hasMarkers:function(t){return t.visible&amp;&amp;t.mode&amp;&amp;-1!==t.mode.indexOf(&quot;markers&quot;)},hasText:function(t){return t.visible&amp;&amp;t.mode&amp;&amp;-1!==t.mode.indexOf(&quot;text&quot;)},isBubble:function(t){return n.isPlainObject(t.marker)&amp;&amp;Array.isArray(t.marker.size)}}},{&quot;../../lib&quot;:743}],1089:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib&quot;);e.exports=function(t,e,r,i,a){a=a||{},i(&quot;textposition&quot;),n.coerceFont(i,&quot;textfont&quot;,r.font),a.noSelect||(i(&quot;selected.textfont.color&quot;),i(&quot;unselected.textfont.color&quot;))}},{&quot;../../lib&quot;:743}],1090:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../registry&quot;);e.exports=function(t,e,r,i){var a,o=i(&quot;x&quot;),s=i(&quot;y&quot;);if(n.getComponentMethod(&quot;calendars&quot;,&quot;handleTraceDefaults&quot;)(t,e,[&quot;x&quot;,&quot;y&quot;],r),o)s?((a=Math.min(o.length,s.length))&lt;o.length&amp;&amp;(e.x=o.slice(0,a)),a&lt;s.length&amp;&amp;(e.y=s.slice(0,a))):(a=o.length,i(&quot;y0&quot;),i(&quot;dy&quot;));else{if(!s)return 0;a=e.y.length,i(&quot;x0&quot;),i(&quot;dx&quot;)}return a}},{&quot;../../registry&quot;:873}],1091:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../scatter/attributes&quot;),i=t(&quot;../../components/colorscale/color_attributes&quot;),a=t(&quot;../../components/errorbars/attributes&quot;),o=t(&quot;../../constants/gl3d_dashes&quot;),s=t(&quot;../../constants/gl3d_markers&quot;),l=t(&quot;../../lib/extend&quot;).extendFlat,c=t(&quot;../../plot_api/edit_types&quot;).overrideAll,u=n.line,f=n.marker,h=f.line,d=e.exports=c({x:n.x,y:n.y,z:{valType:&quot;data_array&quot;},text:l({},n.text,{}),hovertext:l({},n.hovertext,{}),mode:l({},n.mode,{dflt:&quot;lines+markers&quot;}),surfaceaxis:{valType:&quot;enumerated&quot;,values:[-1,0,1,2],dflt:-1},surfacecolor:{valType:&quot;color&quot;},projection:{x:{show:{valType:&quot;boolean&quot;,dflt:!1},opacity:{valType:&quot;number&quot;,min:0,max:1,dflt:1},scale:{valType:&quot;number&quot;,min:0,max:10,dflt:2/3}},y:{show:{valType:&quot;boolean&quot;,dflt:!1},opacity:{valType:&quot;number&quot;,min:0,max:1,dflt:1},scale:{valType:&quot;number&quot;,min:0,max:10,dflt:2/3}},z:{show:{valType:&quot;boolean&quot;,dflt:!1},opacity:{valType:&quot;number&quot;,min:0,max:1,dflt:1},scale:{valType:&quot;number&quot;,min:0,max:10,dflt:2/3}}},connectgaps:n.connectgaps,line:l({width:u.width,dash:{valType:&quot;enumerated&quot;,values:Object.keys(o),dflt:&quot;solid&quot;},showscale:{valType:&quot;boolean&quot;,dflt:!1}},i(&quot;line&quot;)),marker:l({symbol:{valType:&quot;enumerated&quot;,values:Object.keys(s),dflt:&quot;circle&quot;,arrayOk:!0},size:l({},f.size,{dflt:8}),sizeref:f.sizeref,sizemin:f.sizemin,sizemode:f.sizemode,opacity:l({},f.opacity,{arrayOk:!1}),showscale:f.showscale,colorbar:f.colorbar,line:l({width:l({},h.width,{arrayOk:!1})},i(&quot;marker.line&quot;))},i(&quot;marker&quot;)),textposition:l({},n.textposition,{dflt:&quot;top center&quot;}),textfont:n.textfont,error_x:a,error_y:a,error_z:a},&quot;calc&quot;,&quot;nested&quot;);d.x.editType=d.y.editType=d.z.editType=&quot;calc+clearAxisTypes&quot;},{&quot;../../components/colorscale/color_attributes&quot;:626,&quot;../../components/errorbars/attributes&quot;:645,&quot;../../constants/gl3d_dashes&quot;:718,&quot;../../constants/gl3d_markers&quot;:719,&quot;../../lib/extend&quot;:732,&quot;../../plot_api/edit_types&quot;:773,&quot;../scatter/attributes&quot;:1066}],1092:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../scatter/arrays_to_calcdata&quot;),i=t(&quot;../scatter/colorscale_calc&quot;);e.exports=function(t,e){var r=[{x:!1,y:!1,trace:e,t:{}}];return n(r,e),i(e),r}},{&quot;../scatter/arrays_to_calcdata&quot;:1065,&quot;../scatter/colorscale_calc&quot;:1071}],1093:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r){if(!e||!e.visible)return null;for(var n=i(e),a=new Array(t.length),o=0;o&lt;t.length;o++){var s=n(+t[o],o);a[o]=[-s[0]*r,s[1]*r]}return a}var i=t(&quot;../../components/errorbars/compute_error&quot;);e.exports=function(t,e){var r=[n(t.x,t.error_x,e[0]),n(t.y,t.error_y,e[1]),n(t.z,t.error_z,e[2])],i=function(t){for(var e=0;e&lt;t.length;e++)if(t[e])return t[e].length;return 0}(r);if(0===i)return null;for(var a=new Array(i),o=0;o&lt;i;o++){for(var s=[[0,0,0],[0,0,0]],l=0;l&lt;3;l++)if(r[l])for(var c=0;c&lt;2;c++)s[c][l]=r[l][o][c];a[o]=s}return a}},{&quot;../../components/errorbars/compute_error&quot;:647}],1094:[function(t,e,r){&quot;use strict&quot;;function n(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=&quot;&quot;,this.dataPoints=[],this.axesBounds=[[-1/0,-1/0,-1/0],[1/0,1/0,1/0]],this.textLabels=null,this.data=null}function i(t,e){return e(4*t)}function a(t){return x[t]}function o(t,e,r,n,i){var a=null;if(Array.isArray(t)){a=[];for(var o=0;o&lt;e;o++)void 0===t[o]?a[o]=n:a[o]=r(t[o],i)}else a=r(t,p.identity);return a}function s(t,e){var r,n,s,l,c,u,f=[],h=t.fullSceneLayout,d=t.dataScale,y=h.xaxis,x=h.yaxis,_=h.zaxis,w=e.marker,M=e.line,k=e.x||[],A=e.y||[],T=e.z||[],S=k.length,E=e.xcalendar,L=e.ycalendar,C=e.zcalendar;for(n=0;n&lt;S;n++)s=y.d2l(k[n],0,E)*d[0],l=x.d2l(A[n],0,L)*d[1],c=_.d2l(T[n],0,C)*d[2],f[n]=[s,l,c];if(Array.isArray(e.text))u=e.text;else if(void 0!==e.text)for(u=new Array(S),n=0;n&lt;S;n++)u[n]=e.text;if(r={position:f,mode:e.mode,text:u},&quot;line&quot;in e&amp;&amp;(r.lineColor=g(M,1,S),r.lineWidth=M.width,r.lineDashes=M.dash),&quot;marker&quot;in e){var z=v(e);r.scatterColor=g(w,1,S),r.scatterSize=o(w.size,S,i,20,z),r.scatterMarker=o(w.symbol,S,a,&quot;\u25cf&quot;),r.scatterLineWidth=w.line.width,r.scatterLineColor=g(w.line,1,S),r.scatterAngle=0}&quot;textposition&quot;in e&amp;&amp;(r.textOffset=function(t){var e=[0,0];return Array.isArray(t)?[0,-1]:(t.indexOf(&quot;bottom&quot;)&gt;=0&amp;&amp;(e[1]+=1),t.indexOf(&quot;top&quot;)&gt;=0&amp;&amp;(e[1]-=1),t.indexOf(&quot;left&quot;)&gt;=0&amp;&amp;(e[0]-=1),t.indexOf(&quot;right&quot;)&gt;=0&amp;&amp;(e[0]+=1),e)}(e.textposition),r.textColor=g(e.textfont,1,S),r.textSize=o(e.textfont.size,S,p.identity,12),r.textFont=e.textfont.family,r.textAngle=0);var D=[&quot;x&quot;,&quot;y&quot;,&quot;z&quot;];for(r.project=[!1,!1,!1],r.projectScale=[1,1,1],r.projectOpacity=[1,1,1],n=0;n&lt;3;++n){var I=e.projection[D[n]];(r.project[n]=I.show)&amp;&amp;(r.projectOpacity[n]=I.opacity,r.projectScale[n]=I.scale)}r.errorBounds=b(e,d);var P=function(t){for(var e=[0,0,0],r=[[0,0,0],[0,0,0],[0,0,0]],n=[0,0,0],i=0;i&lt;3;i++){var a=t[i];a&amp;&amp;!1!==a.copy_zstyle&amp;&amp;(a=t[2]),a&amp;&amp;(e[i]=a.width/2,r[i]=m(a.color),n=a.thickness)}return{capSize:e,color:r,lineWidth:n}}([e.error_x,e.error_y,e.error_z]);return r.errorColor=P.color,r.errorLineWidth=P.lineWidth,r.errorCapSize=P.capSize,r.delaunayAxis=e.surfaceaxis,r.delaunayColor=m(e.surfacecolor),r}function l(t){if(Array.isArray(t)){var e=t[0];return Array.isArray(e)&amp;&amp;(t=e),&quot;rgb(&quot;+t.slice(0,3).map(function(t){return Math.round(255*t)})+&quot;)&quot;}return null}var c=t(&quot;gl-line3d&quot;),u=t(&quot;gl-scatter3d&quot;),f=t(&quot;gl-error3d&quot;),h=t(&quot;gl-mesh3d&quot;),d=t(&quot;delaunay-triangulate&quot;),p=t(&quot;../../lib&quot;),m=t(&quot;../../lib/str2rgbarray&quot;),g=t(&quot;../../lib/gl_format_color&quot;),v=t(&quot;../scatter/make_bubble_size_func&quot;),y=t(&quot;../../constants/gl3d_dashes&quot;),x=t(&quot;../../constants/gl3d_markers&quot;),b=t(&quot;./calc_errors&quot;),_=n.prototype;_.handlePick=function(t){if(t.object&amp;&amp;(t.object===this.linePlot||t.object===this.delaunayMesh||t.object===this.textMarkers||t.object===this.scatterPlot)){t.object.highlight&amp;&amp;t.object.highlight(null),this.scatterPlot&amp;&amp;(t.object=this.scatterPlot,this.scatterPlot.highlight(t.data)),this.textLabels?void 0!==this.textLabels[t.data.index]?t.textLabel=this.textLabels[t.data.index]:t.textLabel=this.textLabels:t.textLabel=&quot;&quot;;var e=t.index=t.data.index;return t.traceCoordinate=[this.data.x[e],this.data.y[e],this.data.z[e]],!0}},_.update=function(t){var e,r,n,i,a=this.scene.glplot.gl,o=y.solid;this.data=t;var p=s(this.scene,t);&quot;mode&quot;in p&amp;&amp;(this.mode=p.mode),&quot;lineDashes&quot;in p&amp;&amp;p.lineDashes in y&amp;&amp;(o=y[p.lineDashes]),this.color=l(p.scatterColor)||l(p.lineColor),this.dataPoints=p.position,e={gl:a,position:p.position,color:p.lineColor,lineWidth:p.lineWidth||1,dashes:o[0],dashScale:o[1],opacity:t.opacity,connectGaps:t.connectgaps},-1!==this.mode.indexOf(&quot;lines&quot;)?this.linePlot?this.linePlot.update(e):(this.linePlot=c(e),this.linePlot._trace=this,this.scene.glplot.add(this.linePlot)):this.linePlot&amp;&amp;(this.scene.glplot.remove(this.linePlot),this.linePlot.dispose(),this.linePlot=null);var m=t.opacity;if(t.marker&amp;&amp;t.marker.opacity&amp;&amp;(m*=t.marker.opacity),r={gl:a,position:p.position,color:p.scatterColor,size:p.scatterSize,glyph:p.scatterMarker,opacity:m,orthographic:!0,lineWidth:p.scatterLineWidth,lineColor:p.scatterLineColor,project:p.project,projectScale:p.projectScale,projectOpacity:p.projectOpacity},-1!==this.mode.indexOf(&quot;markers&quot;)?this.scatterPlot?this.scatterPlot.update(r):(this.scatterPlot=u(r),this.scatterPlot._trace=this,this.scatterPlot.highlightScale=1,this.scene.glplot.add(this.scatterPlot)):this.scatterPlot&amp;&amp;(this.scene.glplot.remove(this.scatterPlot),this.scatterPlot.dispose(),this.scatterPlot=null),i={gl:a,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(&quot;text&quot;)?this.textMarkers?this.textMarkers.update(i):(this.textMarkers=u(i),this.textMarkers._trace=this,this.textMarkers.highlightScale=1,this.scene.glplot.add(this.textMarkers)):this.textMarkers&amp;&amp;(this.scene.glplot.remove(this.textMarkers),this.textMarkers.dispose(),this.textMarkers=null),n={gl:a,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(n):(this.scene.glplot.remove(this.errorBars),this.errorBars.dispose(),this.errorBars=null):p.errorBounds&amp;&amp;(this.errorBars=f(n),this.errorBars._trace=this,this.scene.glplot.add(this.errorBars)),p.delaunayAxis&gt;=0){var g=function(t,e,r){var n,i=(r+1)%3,a=(r+2)%3,o=[],s=[];for(n=0;n&lt;t.length;++n){var l=t[n];!isNaN(l[i])&amp;&amp;isFinite(l[i])&amp;&amp;!isNaN(l[a])&amp;&amp;isFinite(l[a])&amp;&amp;(o.push([l[i],l[a]]),s.push(n))}var c=d(o);for(n=0;n&lt;c.length;++n)for(var u=c[n],f=0;f&lt;u.length;++f)u[f]=s[u[f]];return{positions:t,cells:c,meshColor:e}}(p.position,p.delaunayColor,p.delaunayAxis);g.opacity=t.opacity,this.delaunayMesh?this.delaunayMesh.update(g):(g.gl=a,this.delaunayMesh=h(g),this.delaunayMesh._trace=this,this.scene.glplot.add(this.delaunayMesh))}else this.delaunayMesh&amp;&amp;(this.scene.glplot.remove(this.delaunayMesh),this.delaunayMesh.dispose(),this.delaunayMesh=null)},_.dispose=function(){this.linePlot&amp;&amp;(this.scene.glplot.remove(this.linePlot),this.linePlot.dispose()),this.scatterPlot&amp;&amp;(this.scene.glplot.remove(this.scatterPlot),this.scatterPlot.dispose()),this.errorBars&amp;&amp;(this.scene.glplot.remove(this.errorBars),this.errorBars.dispose()),this.textMarkers&amp;&amp;(this.scene.glplot.remove(this.textMarkers),this.textMarkers.dispose()),this.delaunayMesh&amp;&amp;(this.scene.glplot.remove(this.delaunayMesh),this.delaunayMesh.dispose())},e.exports=function(t,e){var r=new n(t,e.uid);return r.update(e),r}},{&quot;../../constants/gl3d_dashes&quot;:718,&quot;../../constants/gl3d_markers&quot;:719,&quot;../../lib&quot;:743,&quot;../../lib/gl_format_color&quot;:739,&quot;../../lib/str2rgbarray&quot;:765,&quot;../scatter/make_bubble_size_func&quot;:1083,&quot;./calc_errors&quot;:1093,&quot;delaunay-triangulate&quot;:130,&quot;gl-error3d&quot;:168,&quot;gl-line3d&quot;:177,&quot;gl-mesh3d&quot;:210,&quot;gl-scatter3d&quot;:239}],1095:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../registry&quot;),i=t(&quot;../../lib&quot;),a=t(&quot;../scatter/subtypes&quot;),o=t(&quot;../scatter/marker_defaults&quot;),s=t(&quot;../scatter/line_defaults&quot;),l=t(&quot;../scatter/text_defaults&quot;),c=t(&quot;../../components/errorbars/defaults&quot;),u=t(&quot;./attributes&quot;);e.exports=function(t,e,r,f){function h(r,n){return i.coerce(t,e,u,r,n)}if(function(t,e,r,i){var a=0,o=r(&quot;x&quot;),s=r(&quot;y&quot;),l=r(&quot;z&quot;);return n.getComponentMethod(&quot;calendars&quot;,&quot;handleTraceDefaults&quot;)(t,e,[&quot;x&quot;,&quot;y&quot;,&quot;z&quot;],i),o&amp;&amp;s&amp;&amp;l&amp;&amp;((a=Math.min(o.length,s.length,l.length))&lt;o.length&amp;&amp;(e.x=o.slice(0,a)),a&lt;s.length&amp;&amp;(e.y=s.slice(0,a)),a&lt;l.length&amp;&amp;(e.z=l.slice(0,a))),a}(t,e,h,f)){h(&quot;text&quot;),h(&quot;hovertext&quot;),h(&quot;mode&quot;),a.hasLines(e)&amp;&amp;(h(&quot;connectgaps&quot;),s(t,e,r,f,h)),a.hasMarkers(e)&amp;&amp;o(t,e,r,f,h,{noSelect:!0}),a.hasText(e)&amp;&amp;l(t,e,f,h,{noSelect:!0});var d=(e.line||{}).color,p=(e.marker||{}).color;h(&quot;surfaceaxis&quot;)&gt;=0&amp;&amp;h(&quot;surfacecolor&quot;,d||p);for(var m=[&quot;x&quot;,&quot;y&quot;,&quot;z&quot;],g=0;g&lt;3;++g){var v=&quot;projection.&quot;+m[g];h(v+&quot;.show&quot;)&amp;&amp;(h(v+&quot;.opacity&quot;),h(v+&quot;.scale&quot;))}c(t,e,r,{axis:&quot;z&quot;}),c(t,e,r,{axis:&quot;y&quot;,inherit:&quot;z&quot;}),c(t,e,r,{axis:&quot;x&quot;,inherit:&quot;z&quot;})}else e.visible=!1}},{&quot;../../components/errorbars/defaults&quot;:648,&quot;../../lib&quot;:743,&quot;../../registry&quot;:873,&quot;../scatter/line_defaults&quot;:1079,&quot;../scatter/marker_defaults&quot;:1084,&quot;../scatter/subtypes&quot;:1088,&quot;../scatter/text_defaults&quot;:1089,&quot;./attributes&quot;:1091}],1096:[function(t,e,r){&quot;use strict&quot;;var n={};n.plot=t(&quot;./convert&quot;),n.attributes=t(&quot;./attributes&quot;),n.markerSymbols=t(&quot;../../constants/gl3d_markers&quot;),n.supplyDefaults=t(&quot;./defaults&quot;),n.colorbar=t(&quot;../scatter/colorbar&quot;),n.calc=t(&quot;./calc&quot;),n.moduleType=&quot;trace&quot;,n.name=&quot;scatter3d&quot;,n.basePlotModule=t(&quot;../../plots/gl3d&quot;),n.categories=[&quot;gl3d&quot;,&quot;symbols&quot;,&quot;markerColorscale&quot;,&quot;showLegend&quot;],n.meta={},e.exports=n},{&quot;../../constants/gl3d_markers&quot;:719,&quot;../../plots/gl3d&quot;:832,&quot;../scatter/colorbar&quot;:1070,&quot;./attributes&quot;:1091,&quot;./calc&quot;:1092,&quot;./convert&quot;:1094,&quot;./defaults&quot;:1095}],1097:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../scatter/attributes&quot;),i=t(&quot;../../plots/attributes&quot;),a=t(&quot;../../components/colorscale/color_attributes&quot;),o=t(&quot;../../components/colorbar/attributes&quot;),s=t(&quot;../../lib/extend&quot;).extendFlat,l=n.marker,c=n.line,u=l.line;e.exports={carpet:{valType:&quot;string&quot;,editType:&quot;calc&quot;},a:{valType:&quot;data_array&quot;,editType:&quot;calc&quot;},b:{valType:&quot;data_array&quot;,editType:&quot;calc&quot;},mode:s({},n.mode,{dflt:&quot;markers&quot;}),text:s({},n.text,{}),line:{color:c.color,width:c.width,dash:c.dash,shape:s({},c.shape,{values:[&quot;linear&quot;,&quot;spline&quot;]}),smoothing:c.smoothing,editType:&quot;calc&quot;},connectgaps:n.connectgaps,fill:s({},n.fill,{values:[&quot;none&quot;,&quot;toself&quot;,&quot;tonext&quot;]}),fillcolor:n.fillcolor,marker:s({symbol:l.symbol,opacity:l.opacity,maxdisplayed:l.maxdisplayed,size:l.size,sizeref:l.sizeref,sizemin:l.sizemin,sizemode:l.sizemode,line:s({width:u.width,editType:&quot;calc&quot;},a(&quot;marker&quot;.line)),gradient:l.gradient,editType:&quot;calc&quot;},a(&quot;marker&quot;),{showscale:l.showscale,colorbar:o}),textfont:n.textfont,textposition:n.textposition,selected:n.selected,unselected:n.unselected,hoverinfo:s({},i.hoverinfo,{flags:[&quot;a&quot;,&quot;b&quot;,&quot;text&quot;,&quot;name&quot;]}),hoveron:n.hoveron}},{&quot;../../components/colorbar/attributes&quot;:619,&quot;../../components/colorscale/color_attributes&quot;:626,&quot;../../lib/extend&quot;:732,&quot;../../plots/attributes&quot;:787,&quot;../scatter/attributes&quot;:1066}],1098:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;fast-isnumeric&quot;),i=t(&quot;../scatter/colorscale_calc&quot;),a=t(&quot;../scatter/arrays_to_calcdata&quot;),o=t(&quot;../scatter/calc_selection&quot;),s=t(&quot;../scatter/calc&quot;).calcMarkerSize,l=t(&quot;../carpet/lookup_carpetid&quot;);e.exports=function(t,e){var r=e.carpetTrace=l(t,e);if(r&amp;&amp;r.visible&amp;&amp;&quot;legendonly&quot;!==r.visible){var c;e.xaxis=r.xaxis,e.yaxis=r.yaxis;var u,f,h=e.a.length,d=new Array(h),p=!1;for(c=0;c&lt;h;c++)if(u=e.a[c],f=e.b[c],n(u)&amp;&amp;n(f)){var m=r.ab2xy(+u,+f,!0),g=r.isVisible(+u,+f);g||(p=!0),d[c]={x:m[0],y:m[1],a:u,b:f,vis:g}}else d[c]={x:!1,y:!1};return e._needsCull=p,d[0].carpet=r,d[0].trace=e,s(e,h),i(e),a(d,e),o(d,e),d}}},{&quot;../carpet/lookup_carpetid&quot;:931,&quot;../scatter/arrays_to_calcdata&quot;:1065,&quot;../scatter/calc&quot;:1067,&quot;../scatter/calc_selection&quot;:1068,&quot;../scatter/colorscale_calc&quot;:1071,&quot;fast-isnumeric&quot;:140}],1099:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib&quot;),i=t(&quot;../scatter/constants&quot;),a=t(&quot;../scatter/subtypes&quot;),o=t(&quot;../scatter/marker_defaults&quot;),s=t(&quot;../scatter/line_defaults&quot;),l=t(&quot;../scatter/line_shape_defaults&quot;),c=t(&quot;../scatter/text_defaults&quot;),u=t(&quot;../scatter/fillcolor_defaults&quot;),f=t(&quot;./attributes&quot;);e.exports=function(t,e,r,h){function d(r,i){return n.coerce(t,e,f,r,i)}d(&quot;carpet&quot;),e.xaxis=&quot;x&quot;,e.yaxis=&quot;y&quot;;var p,m=d(&quot;a&quot;),g=d(&quot;b&quot;);if(p=Math.min(m.length,g.length)){m&amp;&amp;p&lt;m.length&amp;&amp;(e.a=m.slice(0,p)),g&amp;&amp;p&lt;g.length&amp;&amp;(e.b=g.slice(0,p)),d(&quot;text&quot;);d(&quot;mode&quot;,p&lt;i.PTS_LINESONLY?&quot;lines+markers&quot;:&quot;lines&quot;),a.hasLines(e)&amp;&amp;(s(t,e,r,h,d),l(t,e,d),d(&quot;connectgaps&quot;)),a.hasMarkers(e)&amp;&amp;o(t,e,r,h,d,{gradient:!0}),a.hasText(e)&amp;&amp;c(t,e,h,d);var v=[];(a.hasMarkers(e)||a.hasText(e))&amp;&amp;(d(&quot;marker.maxdisplayed&quot;),v.push(&quot;points&quot;)),d(&quot;fill&quot;),&quot;none&quot;!==e.fill&amp;&amp;(u(t,e,r,d),a.hasLines(e)||l(t,e,d)),&quot;tonext&quot;!==e.fill&amp;&amp;&quot;toself&quot;!==e.fill||v.push(&quot;fills&quot;),d(&quot;hoveron&quot;,v.join(&quot;+&quot;)||&quot;points&quot;),n.coerceSelectionMarkerOpacity(e,d)}else e.visible=!1}},{&quot;../../lib&quot;:743,&quot;../scatter/constants&quot;:1072,&quot;../scatter/fillcolor_defaults&quot;:1075,&quot;../scatter/line_defaults&quot;:1079,&quot;../scatter/line_shape_defaults&quot;:1081,&quot;../scatter/marker_defaults&quot;:1084,&quot;../scatter/subtypes&quot;:1088,&quot;../scatter/text_defaults&quot;:1089,&quot;./attributes&quot;:1097}],1100:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t,e,r,n,i){var a=n[i];return t.a=a.a,t.b=a.b,t}},{}],1101:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../scatter/hover&quot;);e.exports=function(t,e,r,i){function a(t,e){var r;r=t.labelprefix&amp;&amp;t.labelprefix.length&gt;0?t.labelprefix.replace(/ = $/,&quot;&quot;):t._hovertitle,g.push(r+&quot;: &quot;+e.toFixed(3)+t.labelsuffix)}var o=n(t,e,r,i);if(o&amp;&amp;!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 d=s.trace,p=d._carpet,m=(h.hi||d.hoverinfo).split(&quot;+&quot;),g=[];-1!==m.indexOf(&quot;all&quot;)&amp;&amp;(m=[&quot;a&quot;,&quot;b&quot;]),-1!==m.indexOf(&quot;a&quot;)&amp;&amp;a(p.aaxis,h.a),-1!==m.indexOf(&quot;b&quot;)&amp;&amp;a(p.baxis,h.b);var v=p.ab2ij([h.a,h.b]),y=Math.floor(v[0]),x=v[0]-y,b=Math.floor(v[1]),_=v[1]-b,w=p.evalxy([],y,b,x,_);return g.push(&quot;y: &quot;+w[1].toFixed(3)),s.extraText=g.join(&quot;&lt;br&gt;&quot;),o}}},{&quot;../scatter/hover&quot;:1077}],1102:[function(t,e,r){&quot;use strict&quot;;var n={};n.attributes=t(&quot;./attributes&quot;),n.supplyDefaults=t(&quot;./defaults&quot;),n.colorbar=t(&quot;../scatter/colorbar&quot;),n.calc=t(&quot;./calc&quot;),n.plot=t(&quot;./plot&quot;),n.style=t(&quot;../scatter/style&quot;).style,n.hoverPoints=t(&quot;./hover&quot;),n.selectPoints=t(&quot;../scatter/select&quot;),n.eventData=t(&quot;./event_data&quot;),n.moduleType=&quot;trace&quot;,n.name=&quot;scattercarpet&quot;,n.basePlotModule=t(&quot;../../plots/cartesian&quot;),n.categories=[&quot;carpet&quot;,&quot;symbols&quot;,&quot;markerColorscale&quot;,&quot;showLegend&quot;,&quot;carpetDependent&quot;],n.meta={},e.exports=n},{&quot;../../plots/cartesian&quot;:800,&quot;../scatter/colorbar&quot;:1070,&quot;../scatter/select&quot;:1086,&quot;../scatter/style&quot;:1087,&quot;./attributes&quot;:1097,&quot;./calc&quot;:1098,&quot;./defaults&quot;:1099,&quot;./event_data&quot;:1100,&quot;./hover&quot;:1101,&quot;./plot&quot;:1103}],1103:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../scatter/plot&quot;),i=t(&quot;../../plots/cartesian/axes&quot;),a=t(&quot;../../components/drawing&quot;);e.exports=function(t,e,r){var o,s,l,c=r[0][0].carpet,u={xaxis:i.getFromId(t,c.xaxis||&quot;x&quot;),yaxis:i.getFromId(t,c.yaxis||&quot;y&quot;),plot:e.plot};for(n(t,u,r),o=0;o&lt;r.length;o++)s=r[o][0].trace,l=u.plot.selectAll(&quot;g.trace&quot;+s.uid+&quot; .js-line&quot;),a.setClipUrl(l,c._clipPathId)}},{&quot;../../components/drawing&quot;:643,&quot;../../plots/cartesian/axes&quot;:789,&quot;../scatter/plot&quot;:1085}],1104:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../scatter/attributes&quot;),i=t(&quot;../../plots/attributes&quot;),a=t(&quot;../../components/colorscale/color_attributes&quot;),o=t(&quot;../../components/drawing/attributes&quot;).dash,s=t(&quot;../../lib/extend&quot;).extendFlat,l=t(&quot;../../plot_api/edit_types&quot;).overrideAll,c=n.marker,u=n.line,f=c.line;e.exports=l({lon:{valType:&quot;data_array&quot;},lat:{valType:&quot;data_array&quot;},locations:{valType:&quot;data_array&quot;},locationmode:{valType:&quot;enumerated&quot;,values:[&quot;ISO-3&quot;,&quot;USA-states&quot;,&quot;country names&quot;],dflt:&quot;ISO-3&quot;},mode:s({},n.mode,{dflt:&quot;markers&quot;}),text:s({},n.text,{}),hovertext:s({},n.hovertext,{}),textfont:n.textfont,textposition:n.textposition,line:{color:u.color,width:u.width,dash:o},connectgaps:n.connectgaps,marker:s({symbol:c.symbol,opacity:c.opacity,size:c.size,sizeref:c.sizeref,sizemin:c.sizemin,sizemode:c.sizemode,showscale:c.showscale,colorbar:c.colorbar,line:s({width:f.width},a(&quot;marker.line&quot;)),gradient:c.gradient},a(&quot;marker&quot;)),fill:{valType:&quot;enumerated&quot;,values:[&quot;none&quot;,&quot;toself&quot;],dflt:&quot;none&quot;},fillcolor:n.fillcolor,selected:n.selected,unselected:n.unselected,hoverinfo:s({},i.hoverinfo,{flags:[&quot;lon&quot;,&quot;lat&quot;,&quot;location&quot;,&quot;text&quot;,&quot;name&quot;]})},&quot;calc&quot;,&quot;nested&quot;)},{&quot;../../components/colorscale/color_attributes&quot;:626,&quot;../../components/drawing/attributes&quot;:642,&quot;../../lib/extend&quot;:732,&quot;../../plot_api/edit_types&quot;:773,&quot;../../plots/attributes&quot;:787,&quot;../scatter/attributes&quot;:1066}],1105:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;fast-isnumeric&quot;),i=t(&quot;../../constants/numerical&quot;).BADNUM,a=t(&quot;../scatter/colorscale_calc&quot;),o=t(&quot;../scatter/arrays_to_calcdata&quot;),s=t(&quot;../scatter/calc_selection&quot;),l=t(&quot;../../lib&quot;)._;e.exports=function(t,e){for(var r=Array.isArray(e.locations),c=r?e.locations.length:e.lon.length,u=new Array(c),f=0;f&lt;c;f++){var h=u[f]={};if(r){var d=e.locations[f];h.loc=&quot;string&quot;==typeof d?d:null}else{var p=e.lon[f],m=e.lat[f];n(p)&amp;&amp;n(m)?h.lonlat=[+p,+m]:h.lonlat=[i,i]}}return o(u,e),a(e),s(u,e),c&amp;&amp;(u[0].t={labels:{lat:l(t,&quot;lat:&quot;)+&quot; &quot;,lon:l(t,&quot;lon:&quot;)+&quot; &quot;}}),u}},{&quot;../../constants/numerical&quot;:721,&quot;../../lib&quot;:743,&quot;../scatter/arrays_to_calcdata&quot;:1065,&quot;../scatter/calc_selection&quot;:1068,&quot;../scatter/colorscale_calc&quot;:1071,&quot;fast-isnumeric&quot;:140}],1106:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib&quot;),i=t(&quot;../scatter/subtypes&quot;),a=t(&quot;../scatter/marker_defaults&quot;),o=t(&quot;../scatter/line_defaults&quot;),s=t(&quot;../scatter/text_defaults&quot;),l=t(&quot;../scatter/fillcolor_defaults&quot;),c=t(&quot;./attributes&quot;);e.exports=function(t,e,r,u){function f(r,i){return n.coerce(t,e,c,r,i)}!function(t,e,r){var n,i,a=0,o=r(&quot;locations&quot;);return o?(r(&quot;locationmode&quot;),a=o.length):(n=r(&quot;lon&quot;)||[],i=r(&quot;lat&quot;)||[],(a=Math.min(n.length,i.length))&lt;n.length&amp;&amp;(e.lon=n.slice(0,a)),a&lt;i.length&amp;&amp;(e.lat=i.slice(0,a)),a)}(0,e,f)?e.visible=!1:(f(&quot;text&quot;),f(&quot;hovertext&quot;),f(&quot;mode&quot;),i.hasLines(e)&amp;&amp;(o(t,e,r,u,f),f(&quot;connectgaps&quot;)),i.hasMarkers(e)&amp;&amp;a(t,e,r,u,f,{gradient:!0}),i.hasText(e)&amp;&amp;s(t,e,u,f),f(&quot;fill&quot;),&quot;none&quot;!==e.fill&amp;&amp;l(t,e,r,f))}},{&quot;../../lib&quot;:743,&quot;../scatter/fillcolor_defaults&quot;:1075,&quot;../scatter/line_defaults&quot;:1079,&quot;../scatter/marker_defaults&quot;:1084,&quot;../scatter/subtypes&quot;:1088,&quot;../scatter/text_defaults&quot;:1089,&quot;./attributes&quot;:1104}],1107:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t,e){return t.lon=e.lon,t.lat=e.lat,t.location=e.loc?e.loc:null,t}},{}],1108:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../components/fx&quot;),i=t(&quot;../../plots/cartesian/axes&quot;),a=t(&quot;../../constants/numerical&quot;).BADNUM,o=t(&quot;../scatter/get_trace_color&quot;),s=t(&quot;../scatter/fill_hover_text&quot;),l=t(&quot;./attributes&quot;);e.exports=function(t,e,r){var c=t.cd,u=c[0].trace,f=t.xa,h=t.ya,d=t.subplot,p=d.projection.isLonLatOverEdges,m=d.project;if(n.getClosest(c,function(t){var n=t.lonlat;if(n[0]===a)return 1/0;if(p(n))return 1/0;var i=m(n),o=m([e,r]),s=Math.abs(i[0]-o[0]),l=Math.abs(i[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 g=c[t.index],v=g.lonlat,y=[f.c2p(v),h.c2p(v)],x=g.mrc||1;return t.x0=y[0]-x,t.x1=y[0]+x,t.y0=y[1]-x,t.y1=y[1]+x,t.loc=g.loc,t.lon=v[0],t.lat=v[1],t.color=o(u,g),t.extraText=function(t,e,r,n){function a(t){return i.tickText(r,r.c2l(t),&quot;hover&quot;).text+&quot;\xb0&quot;}var o=e.hi||t.hoverinfo,c=&quot;all&quot;===o?l.hoverinfo.flags:o.split(&quot;+&quot;),u=-1!==c.indexOf(&quot;location&quot;)&amp;&amp;Array.isArray(t.locations),f=-1!==c.indexOf(&quot;lon&quot;),h=-1!==c.indexOf(&quot;lat&quot;),d=-1!==c.indexOf(&quot;text&quot;),p=[];return u?p.push(e.loc):f&amp;&amp;h?p.push(&quot;(&quot;+a(e.lonlat[0])+&quot;, &quot;+a(e.lonlat[1])+&quot;)&quot;):f?p.push(n.lon+a(e.lonlat[0])):h&amp;&amp;p.push(n.lat+a(e.lonlat[1])),d&amp;&amp;s(e,t,p),p.join(&quot;&lt;br&gt;&quot;)}(u,g,d.mockAxis,c[0].t.labels),[t]}}},{&quot;../../components/fx&quot;:660,&quot;../../constants/numerical&quot;:721,&quot;../../plots/cartesian/axes&quot;:789,&quot;../scatter/fill_hover_text&quot;:1074,&quot;../scatter/get_trace_color&quot;:1076,&quot;./attributes&quot;:1104}],1109:[function(t,e,r){&quot;use strict&quot;;var n={};n.attributes=t(&quot;./attributes&quot;),n.supplyDefaults=t(&quot;./defaults&quot;),n.colorbar=t(&quot;../scatter/colorbar&quot;),n.calc=t(&quot;./calc&quot;),n.plot=t(&quot;./plot&quot;),n.style=t(&quot;./style&quot;),n.hoverPoints=t(&quot;./hover&quot;),n.eventData=t(&quot;./event_data&quot;),n.selectPoints=t(&quot;./select&quot;),n.moduleType=&quot;trace&quot;,n.name=&quot;scattergeo&quot;,n.basePlotModule=t(&quot;../../plots/geo&quot;),n.categories=[&quot;geo&quot;,&quot;symbols&quot;,&quot;markerColorscale&quot;,&quot;showLegend&quot;,&quot;scatter-like&quot;],n.meta={},e.exports=n},{&quot;../../plots/geo&quot;:820,&quot;../scatter/colorbar&quot;:1070,&quot;./attributes&quot;:1104,&quot;./calc&quot;:1105,&quot;./defaults&quot;:1106,&quot;./event_data&quot;:1107,&quot;./hover&quot;:1108,&quot;./plot&quot;:1110,&quot;./select&quot;:1111,&quot;./style&quot;:1112}],1110:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;d3&quot;),i=t(&quot;../../lib&quot;),a=t(&quot;../../constants/numerical&quot;).BADNUM,o=t(&quot;../../lib/topojson_utils&quot;).getTopojsonFeatures,s=t(&quot;../../lib/geo_location_utils&quot;).locationToFeature,l=t(&quot;../../lib/geojson_utils&quot;),c=t(&quot;../scatter/subtypes&quot;),u=t(&quot;./style&quot;);e.exports=function(t,e,r){function f(t,e){t.lonlat[0]===a&amp;&amp;n.select(e).remove()}for(var h=0;h&lt;r.length;h++)!function(t,e){var r=t[0].trace;if(Array.isArray(r.locations))for(var n=o(r,e),i=r.locationmode,l=0;l&lt;t.length;l++){var c=t[l],u=s(i,c.loc,n);c.lonlat=u?u.properties.ct:[a,a]}}(r[h],e.topojson);var d=e.layers.frontplot.select(&quot;.scatterlayer&quot;).selectAll(&quot;g.trace.scattergeo&quot;).data(r,function(t){return t[0].trace.uid});d.enter().append(&quot;g&quot;).attr(&quot;class&quot;,&quot;trace scattergeo&quot;),d.exit().remove(),d.selectAll(&quot;*&quot;).remove(),d.each(function(e){var r=e[0].node3=n.select(this),a=e[0].trace;if(c.hasLines(a)||&quot;none&quot;!==a.fill){var o=l.calcTraceToLineCoords(e),s=&quot;none&quot;!==a.fill?l.makePolygon(o):l.makeLine(o);r.selectAll(&quot;path.js-line&quot;).data([{geojson:s,trace:a}]).enter().append(&quot;path&quot;).classed(&quot;js-line&quot;,!0).style(&quot;stroke-miterlimit&quot;,2)}c.hasMarkers(a)&amp;&amp;r.selectAll(&quot;path.point&quot;).data(i.identity).enter().append(&quot;path&quot;).classed(&quot;point&quot;,!0).each(function(t){f(t,this)}),c.hasText(a)&amp;&amp;r.selectAll(&quot;g&quot;).data(i.identity).enter().append(&quot;g&quot;).append(&quot;text&quot;).each(function(t){f(t,this)}),u(t,e)})}},{&quot;../../constants/numerical&quot;:721,&quot;../../lib&quot;:743,&quot;../../lib/geo_location_utils&quot;:735,&quot;../../lib/geojson_utils&quot;:736,&quot;../../lib/topojson_utils&quot;:769,&quot;../scatter/subtypes&quot;:1088,&quot;./style&quot;:1112,d3:128}],1111:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../scatter/subtypes&quot;);e.exports=function(t,e){var r,i,a,o,s,l=t.cd,c=t.xaxis,u=t.yaxis,f=[],h=l[0].trace;if(!n.hasMarkers(h)&amp;&amp;!n.hasText(h))return[];if(!1===e)for(s=0;s&lt;l.length;s++)l[s].selected=0;else for(s=0;s&lt;l.length;s++)i=(r=l[s]).lonlat,a=c.c2p(i),o=u.c2p(i),e.contains([a,o])?(f.push({pointNumber:s,lon:i[0],lat:i[1]}),r.selected=1):r.selected=0;return f}},{&quot;../scatter/subtypes&quot;:1088}],1112:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;d3&quot;),i=t(&quot;../../components/drawing&quot;),a=t(&quot;../../components/color&quot;),o=t(&quot;../scatter/style&quot;).stylePoints;e.exports=function(t,e){e&amp;&amp;function(t,e){var r=e[0].trace,s=e[0].node3;s.style(&quot;opacity&quot;,e[0].trace.opacity),o(s,r,t),s.selectAll(&quot;path.js-line&quot;).style(&quot;fill&quot;,&quot;none&quot;).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||&quot;&quot;,o.width||0),&quot;none&quot;!==r.fill&amp;&amp;e.call(a.fill,r.fillcolor)})}(t,e)}},{&quot;../../components/color&quot;:618,&quot;../../components/drawing&quot;:643,&quot;../scatter/style&quot;:1087,d3:128}],1113:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../scatter/attributes&quot;),i=t(&quot;../../components/colorscale/color_attributes&quot;),a=t(&quot;../../constants/gl2d_dashes&quot;),o=t(&quot;../../lib/extend&quot;).extendFlat,s=t(&quot;../../plot_api/edit_types&quot;).overrideAll,l=n.line,c=n.marker,u=c.line,f=e.exports=s({x:n.x,x0:n.x0,dx:n.dx,y:n.y,y0:n.y0,dy:n.dy,text:o({},n.text,{}),mode:{valType:&quot;flaglist&quot;,flags:[&quot;lines&quot;,&quot;markers&quot;],extras:[&quot;none&quot;]},line:{color:l.color,width:l.width,dash:{valType:&quot;enumerated&quot;,values:Object.keys(a),dflt:&quot;solid&quot;}},marker:o({},i(&quot;marker&quot;),{symbol:c.symbol,size:c.size,sizeref:c.sizeref,sizemin:c.sizemin,sizemode:c.sizemode,opacity:c.opacity,showscale:c.showscale,colorbar:c.colorbar,line:o({},i(&quot;marker.line&quot;),{width:u.width})}),connectgaps:n.connectgaps,fill:n.fill,fillcolor:n.fillcolor,hoveron:n.hoveron,selected:{marker:n.selected.marker},unselected:{marker:n.unselected.marker},error_y:n.error_y,error_x:n.error_x},&quot;calc&quot;,&quot;nested&quot;);f.x.editType=f.y.editType=f.x0.editType=f.y0.editType=&quot;calc+clearAxisTypes&quot;},{&quot;../../components/colorscale/color_attributes&quot;:626,&quot;../../constants/gl2d_dashes&quot;:717,&quot;../../lib/extend&quot;:732,&quot;../../plot_api/edit_types&quot;:773,&quot;../scatter/attributes&quot;:1066}],1114:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib&quot;),i=t(&quot;../scatter/constants&quot;),a=t(&quot;../scatter/subtypes&quot;),o=t(&quot;../scatter/xy_defaults&quot;),s=t(&quot;../scatter/marker_defaults&quot;),l=t(&quot;../scatter/line_defaults&quot;),c=t(&quot;../scatter/fillcolor_defaults&quot;),u=t(&quot;../../components/errorbars/defaults&quot;),f=t(&quot;./attributes&quot;);e.exports=function(t,e,r,h){function d(r,i){return n.coerce(t,e,f,r,i)}var p=!!t.marker&amp;&amp;/-open/.test(t.marker.symbol),m=a.isBubble(t),g=o(t,e,h,d);if(g){d(&quot;text&quot;),d(&quot;mode&quot;,g&lt;i.PTS_LINESONLY?&quot;lines+markers&quot;:&quot;lines&quot;),a.hasLines(e)&amp;&amp;(d(&quot;connectgaps&quot;),l(t,e,r,h,d));var v=[];a.hasMarkers(e)&amp;&amp;(s(t,e,r,h,d),d(&quot;marker.line.width&quot;,p||m?1:0),v.push(&quot;points&quot;)),d(&quot;fill&quot;),&quot;none&quot;!==e.fill&amp;&amp;c(t,e,r,d),&quot;tonext&quot;!==e.fill&amp;&amp;&quot;toself&quot;!==e.fill||v.push(&quot;fills&quot;),d(&quot;hoveron&quot;,v.join(&quot;+&quot;)||&quot;points&quot;),u(t,e,r,{axis:&quot;y&quot;}),u(t,e,r,{axis:&quot;x&quot;,inherit:&quot;y&quot;}),n.coerceSelectionMarkerOpacity(e,d)}else e.visible=!1}},{&quot;../../components/errorbars/defaults&quot;:648,&quot;../../lib&quot;:743,&quot;../scatter/constants&quot;:1072,&quot;../scatter/fillcolor_defaults&quot;:1075,&quot;../scatter/line_defaults&quot;:1079,&quot;../scatter/marker_defaults&quot;:1084,&quot;../scatter/subtypes&quot;:1088,&quot;../scatter/xy_defaults&quot;:1090,&quot;./attributes&quot;:1113}],1115:[function(t,e,r){(function(r){&quot;use strict&quot;;function n(t,e,r,n){function i(t){var e,n,i,o={},s=Array.isArray(t.symbol);if(s||(n=/-open/.test(t.symbol)),s||Array.isArray(t.color)||Array.isArray(t.line.color)||Array.isArray(t.line)||Array.isArray(t.opacity)){o.colors=new Array(_),o.borderColors=new Array(_);var l=y(t,t.opacity,_),c=y(t.line,t.opacity,_);if(!Array.isArray(c[0])){var u=c;for(c=Array(_),e=0;e&lt;_;e++)c[e]=u}if(!Array.isArray(l[0])){var f=l;for(l=Array(_),e=0;e&lt;_;e++)l[e]=f}for(o.colors=l,o.borderColors=c,e=0;e&lt;_;e++)s&amp;&amp;(i=t.symbol[e],n=/-open/.test(i)),n&amp;&amp;(c[e]=l[e].slice(),l[e]=l[e].slice(),l[e][3]=0);o.opacity=r.opacity}else n?(o.color=M(t.color,&quot;uint8&quot;),o.color[3]=0,o.borderColor=M(t.color,&quot;uint8&quot;)):(o.color=M(t.color,&quot;uint8&quot;),o.borderColor=M(t.line.color,&quot;uint8&quot;)),o.opacity=r.opacity*t.opacity;if(Array.isArray(t.symbol))for(o.markers=new Array(_),e=0;e&lt;_;++e)o.markers[e]=a(t.symbol[e]);else o.marker=a(t.symbol);var h,d,p=t&amp;&amp;(Array.isArray(t.size)||Array.isArray(t.line.width)),m=g(r);if(p){d=o.sizes=new Array(_);var v=o.borderSizes=new Array(_);if(Array.isArray(t.size))for(e=0;e&lt;_;++e)d[e]=m(t.size[e]);else for(h=m(t.size),e=0;e&lt;_;++e)d[e]=h;if(Array.isArray(t.line.width))for(e=0;e&lt;_;++e)v[e]=m(t.line.width[e]);else for(h=m(t.line.width),e=0;e&lt;_;++e)v[e]=h}else h=o.size=m(t&amp;&amp;t.size||10),o.borderSizes=m(t.line.width);return o}var o,s,f,h,p,m,x,b=t._fullLayout,_=n.length/2,w=r.marker,k=0,A=0,T=u.getFromId(t,r.xaxis),S=u.getFromId(t,r.yaxis);!0!==r.visible?(s=!1,f=!1,h=!1,m=!1,x=!1):(s=d.hasLines(r)&amp;&amp;n.length&gt;1,f=r.error_x&amp;&amp;!0===r.error_x.visible,h=r.error_y&amp;&amp;!0===r.error_y.visible,p=f||h,m=d.hasMarkers(r),x=!!r.fill&amp;&amp;&quot;none&quot;!==r.fill);var E,L,C,z,D,I,O,F,R=p?l.calcFromTrace(r,b):null;if(f){(C={}).positions=n;var N=new Float64Array(4*_);if(&quot;log&quot;===T.type)for(o=0;o&lt;_;++o)N[k++]=n[2*o]-T.d2l(R[o].xs)||0,N[k++]=T.d2l(R[o].xh)-n[2*o]||0,N[k++]=0,N[k++]=0;else for(o=0;o&lt;_;++o)N[k++]=n[2*o]-R[o].xs||0,N[k++]=R[o].xh-n[2*o]||0,N[k++]=0,N[k++]=0;r.error_x.copy_ystyle&amp;&amp;(r.error_x=r.error_y),C.errors=N,C.capSize=2*r.error_x.width,C.lineWidth=r.error_x.thickness,C.color=r.error_x.color}if(h){(z={}).positions=n;var j=new Float64Array(4*_);if(&quot;log&quot;===S.type)for(o=0;o&lt;_;++o)j[A++]=0,j[A++]=0,j[A++]=n[2*o+1]-S.d2l(R[o].ys)||0,j[A++]=S.d2l(R[o].yh)-n[2*o+1]||0;else for(o=0;o&lt;_;++o)j[A++]=0,j[A++]=0,j[A++]=n[2*o+1]-R[o].ys||0,j[A++]=R[o].yh-n[2*o+1]||0;z.errors=j,z.capSize=2*r.error_y.width,z.lineWidth=r.error_y.thickness,z.color=r.error_y.color}if(s){(E={}).thickness=r.line.width,E.color=r.line.color,E.opacity=r.opacity,E.overlay=!0;var B=(v[r.line.dash]||[1]).slice();for(o=0;o&lt;B.length;++o)B[o]*=E.thickness;if(E.dashes=B,&quot;hv&quot;===r.line.shape){for(F=[],o=0;o&lt;Math.floor(n.length/2)-1;o++)isNaN(n[2*o])||isNaN(n[2*o+1])?(F.push(NaN),F.push(NaN),F.push(NaN),F.push(NaN)):(F.push(n[2*o]),F.push(n[2*o+1]),F.push(n[2*o+2]),F.push(n[2*o+1]));F.push(n[n.length-2]),F.push(n[n.length-1])}else if(&quot;vh&quot;===r.line.shape){for(F=[],o=0;o&lt;Math.floor(n.length/2)-1;o++)isNaN(n[2*o])||isNaN(n[2*o+1])?(F.push(NaN),F.push(NaN),F.push(NaN),F.push(NaN)):(F.push(n[2*o]),F.push(n[2*o+1]),F.push(n[2*o]),F.push(n[2*o+3]));F.push(n[n.length-2]),F.push(n[n.length-1])}else F=n;var U=!1;for(o=0;o&lt;F.length;o++)if(isNaN(F[o])){U=!0;break}if(E.join=U||F.length&gt;P?&quot;rect&quot;:m?&quot;rect&quot;:&quot;round&quot;,U&amp;&amp;r.connectgaps){var V=F[0],q=F[1];for(o=0;o&lt;F.length;o+=2)isNaN(F[o])||isNaN(F[o+1])?(F[o]=V,F[o+1]=q):(V=F[o],q=F[o+1])}E.positions=F}return x&amp;&amp;((D={}).fill=r.fillcolor,D.thickness=0,D.closed=!0),m&amp;&amp;(L=i(w),I=r.selected?i(c({},w,r.selected.marker)):L,O=r.unselected?i(c({},w,r.unselected.marker)):L,L.positions=n),{line:E,marker:L,errorX:C,errorY:z,fill:D,selected:I,unselected:O}}function i(t,e){var r=e._scene,n=t._fullLayout;return e._scene||((r=e._scene={count:0,dirty:!0,lineOptions:[],fillOptions:[],markerOptions:[],selectedOptions:[],unselectedOptions:[],errorXOptions:[],errorYOptions:[],selectBatch:null,unselectBatch:null,fill2d:!1,scatter2d:!1,error2d:!1,line2d:!1,select2d:null}).update=function(t){for(var e=Array(r.count),n=0;n&lt;r.count;n++)e[n]=t;r.fill2d&amp;&amp;r.fill2d.update(e),r.scatter2d&amp;&amp;r.scatter2d.update(e),r.line2d&amp;&amp;r.line2d.update(e),r.error2d&amp;&amp;r.error2d.update(e.concat(e)),r.select2d&amp;&amp;r.select2d.update(e),r.draw()},r.draw=function(){var t;for(t=0;t&lt;r.count;t++)r.fill2d&amp;&amp;r.fill2d.draw(t);for(t=0;t&lt;r.count;t++)r.line2d&amp;&amp;r.line2d.draw(t),r.error2d&amp;&amp;(r.error2d.draw(t),r.error2d.draw(t+r.count)),r.scatter2d&amp;&amp;!r.selectBatch&amp;&amp;r.scatter2d.draw(t);r.select2d&amp;&amp;r.selectBatch&amp;&amp;(r.select2d.draw(r.selectBatch),r.scatter2d.draw(r.unselectBatch)),r.dirty=!1},r.clear=function(){var t,i,a=n._size,o=n.width,s=n.height,l=e.xaxis,c=e.yaxis;t=l&amp;&amp;l.domain&amp;&amp;c&amp;&amp;c.domain?[a.l+l.domain[0]*a.w,a.b+c.domain[0]*a.h,o-a.r-(1-l.domain[1])*a.w,s-a.t-(1-c.domain[1])*a.h]:[a.l,a.b,o-a.r,s-a.t],r.select2d&amp;&amp;((i=r.select2d.regl._gl).enable(i.SCISSOR_TEST),i.scissor(t[0],t[1],t[2]-t[0],t[3]-t[1]),i.clearColor(0,0,0,0),i.clear(i.COLOR_BUFFER_BIT)),r.scatter2d&amp;&amp;((i=r.scatter2d.regl._gl).enable(i.SCISSOR_TEST),i.scissor(t[0],t[1],t[2]-t[0],t[3]-t[1]),i.clearColor(0,0,0,0),i.clear(i.COLOR_BUFFER_BIT))},r.clearSelect=function(){r.selectBatch&amp;&amp;(r.selectBatch=null,r.unselectBatch=null,r.scatter2d.update(r.markerOptions),r.clear(),r.draw())},r.destroy=function(){r.fill2d&amp;&amp;r.fill2d.destroy(),r.scatter2d&amp;&amp;r.scatter2d.destroy(),r.error2d&amp;&amp;r.error2d.destroy(),r.line2d&amp;&amp;r.line2d.destroy(),r.select2d&amp;&amp;r.select2d.destroy(),r.lineOptions=null,r.fillOptions=null,r.markerOptions=null,r.selectedOptions=null,r.unselectedOptions=null,r.errorXOptions=null,r.errorYOptions=null,r.selectBatch=null,r.unselectBatch=null,delete e._scene}),r.dirty||(r.dirty=!0,r.count=0,r.lineOptions=[],r.fillOptions=[],r.markerOptions=[],r.selectedOptions=[],r.unselectedOptions=[],r.errorXOptions=[],r.errorYOptions=[]),r}function a(t){if(&quot;circle&quot;===t)return null;var e,r,n=m.symbolNumber(t),i=m.symbolFuncs[n%100],a=!!m.symbolNoDot[n%100],o=!!m.symbolNoFill[n%100],s=O.test(t);return D[t]?D[t]:(e=s&amp;&amp;!a?i(1.1*C)+I:i(C),r=k(e,{w:L,h:L,viewBox:[-C,-C,C,C],stroke:o?z:-z}),D[t]=r,r||null)}var o=t(&quot;../../lib&quot;),s=t(&quot;../scatter/get_trace_color&quot;),l=t(&quot;../../components/errorbars&quot;),c=t(&quot;object-assign&quot;),u=t(&quot;../../plots/cartesian/axes&quot;),f=t(&quot;kdgrass&quot;),h=t(&quot;../../components/fx&quot;),d=t(&quot;../scatter/subtypes&quot;),p=t(&quot;../scatter/colorscale_calc&quot;),m=t(&quot;../../components/drawing&quot;),g=t(&quot;../scatter/make_bubble_size_func&quot;),v=t(&quot;../../constants/gl2d_dashes&quot;),y=t(&quot;../../lib/gl_format_color&quot;),x=t(&quot;../scatter/link_traces&quot;),b=t(&quot;regl-scatter2d&quot;),_=t(&quot;regl-line2d&quot;),w=t(&quot;regl-error2d&quot;),M=t(&quot;color-normalize&quot;),k=t(&quot;svg-path-sdf&quot;),A=t(&quot;regl&quot;),T=t(&quot;../scatter/fill_hover_text&quot;),S=t(&quot;fast-isnumeric&quot;),E=h.constants.MAXDIST,L=200,C=20,z=C/20,D={},I=m.symbolFuncs[0](.05*C),P=1e5,O=/-dot/;e.exports={moduleType:&quot;trace&quot;,name:&quot;scattergl&quot;,basePlotModule:t(&quot;../../plots/cartesian&quot;),categories:[&quot;gl&quot;,&quot;regl&quot;,&quot;cartesian&quot;,&quot;symbols&quot;,&quot;errorBarsOK&quot;,&quot;markerColorscale&quot;,&quot;showLegend&quot;,&quot;scatter-like&quot;],attributes:t(&quot;./attributes&quot;),supplyDefaults:t(&quot;./defaults&quot;),cleanData:t(&quot;../scatter/clean_data&quot;),colorbar:t(&quot;../scatter/colorbar&quot;),calc:function(t,e){var r,a,o,s,l,c=t._fullLayout,h={},d=u.getFromId(t,e.xaxis),m=u.getFromId(t,e.yaxis),g=c._plots[e.xaxis+e.yaxis],v=&quot;linear&quot;===d.type?e.x:d.makeCalcdata(e,&quot;x&quot;),y=&quot;linear&quot;===m.type?e.y:m.makeCalcdata(e,&quot;y&quot;),x=(v||y).length;if(!v)for(v=Array(x),a=0;a&lt;x;a++)v[a]=a;if(!y)for(y=Array(x),a=0;a&lt;x;a++)y[a]=a;var b,_;if(&quot;log&quot;===d.type)for(b=Array(v.length),a=0,o=v.length;a&lt;o;a++)b[a]=v[a],v[a]=d.d2l(v[a]);else for(b=v,a=0,o=v.length;a&lt;o;a++)v[a]=parseFloat(v[a]);if(&quot;log&quot;===m.type)for(_=Array(y.length),a=0,o=y.length;a&lt;o;a++)_[a]=y[a],y[a]=m.d2l(y[a]);else for(_=y,a=0,o=y.length;a&lt;o;a++)y[a]=parseFloat(y[a]);for(r=new Array(2*x),a=0;a&lt;x;a++)s=S(v[a])?+v[a]:NaN,l=S(y[a])?+y[a]:NaN,r[2*a]=s,r[2*a+1]=l;if(&quot;log&quot;!==d.type&amp;&amp;&quot;log&quot;!==m.type)h.tree=f(r,512);else{var w=h.ids=Array(x);for(a=0;a&lt;x;a++)w[a]=a}p(e);var M=n(t,0,e,r);if(M.markers)if(Array.isArray(M.markers.sizes)){var k=M.markers.sizes;u.expand(d,b,{padded:!0,ppad:k}),u.expand(m,_,{padded:!0,ppad:k})}else{var A=[1/0,-1/0],T=[1/0,-1/0],E=M.markers.size;for(a=0;a&lt;x;a++)s=v[a],l=y[a],A[0]&gt;s&amp;&amp;(A[0]=s),A[1]&lt;s&amp;&amp;(A[1]=s),T[0]&gt;l&amp;&amp;(T[0]=l),T[1]&lt;l&amp;&amp;(T[1]=l);x&lt;P?(u.expand(d,b,{padded:!0,ppad:E}),u.expand(m,_,{padded:!0,ppad:E})):(d._min&amp;&amp;d._min.push({val:A[0],pad:E}),d._max&amp;&amp;d._max.push({val:A[1],pad:E}),m._min&amp;&amp;m._min.push({val:T[0],pad:E}),m._max&amp;&amp;m._max.push({val:T[1],pad:E}))}else u.expand(d,b,{padded:!0}),u.expand(m,_,{padded:!0});var L=i(t,g);return M.fill&amp;&amp;!L.fill2d&amp;&amp;(L.fill2d=!0),M.marker&amp;&amp;!L.scatter2d&amp;&amp;(L.scatter2d=!0),M.line&amp;&amp;!L.line2d&amp;&amp;(L.line2d=!0),!M.errorX&amp;&amp;!M.errorY||L.error2d||(L.error2d=!0),L.lineOptions.push(M.line),L.errorXOptions.push(M.errorX),L.errorYOptions.push(M.errorY),L.fillOptions.push(M.fill),L.markerOptions.push(M.marker),L.selectedOptions.push(M.selected),L.unselectedOptions.push(M.unselected),L.count++,h.scene=L,h.index=L.count-1,h.x=v,h.y=y,h.rawx=b,h.rawy=_,h.positions=r,h.count=x,[{x:!1,y:!1,t:h,trace:e}]},plot:function(t,e,n){if(n.length){var i=t._fullLayout,a=n[0][0].t.scene;if(a){var o=i._size,s=i.width,l=i.height;i._glcanvas.each(function(e){e.regl||e.pick||(e.regl=A({canvas:this,attributes:{antialias:!e.pick,preserveDrawingBuffer:!0},extensions:[&quot;ANGLE_instanced_arrays&quot;,&quot;OES_element_index_uint&quot;],pixelRatio:t._context.plotGlPixelRatio||r.devicePixelRatio}))});var c=i._glcanvas.data()[0].regl;if(x(t,e,n),a.dirty){if(!0===a.error2d&amp;&amp;(a.error2d=w(c)),!0===a.line2d&amp;&amp;(a.line2d=_(c)),!0===a.scatter2d&amp;&amp;(a.scatter2d=b(c)),!0===a.fill2d&amp;&amp;(a.fill2d=_(c)),a.line2d&amp;&amp;a.line2d.update(a.lineOptions),a.error2d){var f=(a.errorXOptions||[]).concat(a.errorYOptions||[]);a.error2d.update(f)}a.scatter2d&amp;&amp;(a.selectBatch?(a.scatter2d.update(a.unselectedOptions),a.select2d.update(a.selectedOptions)):a.scatter2d.update(a.markerOptions)),a.fill2d&amp;&amp;(a.fillOptions.forEach(function(t,e){var r=n[e];if(t&amp;&amp;r&amp;&amp;r[0]&amp;&amp;r[0].trace){var i,o,s=r[0],l=s.trace,c=s.t,u=a.lineOptions[e],f=[],h=u&amp;&amp;u.positions||c.positions;if(&quot;tozeroy&quot;===l.fill)(f=(f=[h[0],0]).concat(h)).push(h[h.length-2]),f.push(0);else if(&quot;tozerox&quot;===l.fill)(f=(f=[0,h[1]]).concat(h)).push(0),f.push(h[h.length-1]);else if(&quot;toself&quot;===l.fill||&quot;tonext&quot;===l.fill){for(f=[],i=0,o=0;o&lt;h.length;o+=2)(isNaN(h[o])||isNaN(h[o+1]))&amp;&amp;((f=f.concat(h.slice(i,o))).push(h[i],h[i+1]),i=o+2);f=f.concat(h.slice(i)),i&amp;&amp;f.push(h[i],h[i+1])}else{var d=l._nexttrace;if(d){var p=a.lineOptions[e+1];if(p){var m=p.positions;if(&quot;tonexty&quot;===l.fill){for(f=h.slice(),e=Math.floor(m.length/2);e--;){var g=m[2*e],v=m[2*e+1];isNaN(g)||isNaN(v)||(f.push(g),f.push(v))}t.fill=d.fillcolor}}}}if(l._prevtrace&amp;&amp;&quot;tonext&quot;===l._prevtrace.fill){var y=a.lineOptions[e-1].positions,x=f.length/2,b=[i=x];for(o=0;o&lt;y.length;o+=2)(isNaN(y[o])||isNaN(y[o+1]))&amp;&amp;(b.push(o/2+x+1),i=o+2);f=f.concat(y),t.hole=b}t.opacity=l.opacity,t.positions=f}}),a.fill2d.update(a.fillOptions))}var h=i.dragmode;&quot;lasso&quot;!==h&amp;&amp;&quot;select&quot;!==h||a.select2d&amp;&amp;a.selectBatch&amp;&amp;a.scatter2d.update(a.unselectedOptions);var d=n.map(function(r){if(r&amp;&amp;r[0]&amp;&amp;r[0].trace){var n,c=r[0],f=c.trace,d=c.t,p=d.rawx,m=d.rawy,g=e.xaxis||u.getFromId(t,f.xaxis||&quot;x&quot;),v=e.yaxis||u.getFromId(t,f.yaxis||&quot;y&quot;),y=[(g._rl||g.range)[0],(v._rl||v.range)[0],(g._rl||g.range)[1],(v._rl||v.range)[1]],x=[o.l+g.domain[0]*o.w,o.b+v.domain[0]*o.h,s-o.r-(1-g.domain[1])*o.w,l-o.t-(1-v.domain[1])*o.h];if(f.selectedpoints||&quot;lasso&quot;===h||&quot;select&quot;===h){if(!a.select2d&amp;&amp;a.scatter2d){var _=i._glcanvas.data()[1].regl;a.select2d=b(_,{clone:a.scatter2d}),a.select2d.update(a.selectedOptions),f.selectedpoints&amp;&amp;!a.selectBatch&amp;&amp;(a.selectBatch=Array(a.count),a.unselectBatch=Array(a.count),a.scatter2d.update(a.unselectedOptions))}else a.select2d.update(a.selectedOptions);if(f.selectedpoints&amp;&amp;!a.unselectBatch[d.index]){a.selectBatch[d.index]=f.selectedpoints;var w=f.selectedpoints,M={};for(n=0;n&lt;w.length;n++)M[w[n]]=!0;var k=[];for(n=0;n&lt;d.count;n++)M[n]||k.push(n);a.unselectBatch[d.index]=k}var A=Array(d.count),T=Array(d.count);for(n=0;n&lt;d.count;n++)A[n]=g.c2p(p[n]),T[n]=v.c2p(m[n]);d.xpx=A,d.ypx=T}else d.xpx=d.ypx=null;return f.visible?{viewport:x,range:y}:null}});a.fill2d&amp;&amp;a.fill2d.update(d),a.line2d&amp;&amp;a.line2d.update(d),a.error2d&amp;&amp;a.error2d.update(d.concat(d)),a.scatter2d&amp;&amp;a.scatter2d.update(d),a.select2d&amp;&amp;a.select2d.update(d),a.draw()}}},hoverPoints:function(t,e,r,n){var i,a=t.cd,c=a[0].t,u=a[0].trace,f=t.xa,h=t.ya,d=c.rawx,p=c.rawy,m=f.c2p(e),g=h.c2p(r);if(c.tree){var v=f.p2c(m-E),y=f.p2c(m+E),x=h.p2c(g-E),b=h.p2c(g+E);i=&quot;x&quot;===n?c.tree.range(Math.min(v,y),Math.min(h._rl[0],h._rl[1]),Math.max(v,y),Math.max(h._rl[0],h._rl[1])):c.tree.range(Math.min(v,y),Math.min(x,b),Math.max(v,y),Math.max(x,b))}else{if(!c.ids)return[t];i=c.ids}var _,w,M,k,A,S,L,C=E;if(&quot;x&quot;===n)for(k=0;k&lt;i.length;k++)w=d[i[k]],(A=Math.abs(f.c2p(w)-m))&lt;C&amp;&amp;(C=A,_=i[k]);else for(k=0;k&lt;i.length;k++)w=d[i[k]],M=p[i[k]],A=f.c2p(w)-m,S=h.c2p(M)-g,(L=Math.sqrt(A*A+S*S))&lt;C&amp;&amp;(C=L,_=i[k]);if(t.index=_,void 0===_)return[t];var z={pointNumber:_,x:d[_],y:p[_]};z.tx=Array.isArray(u.text)?u.text[_]:u.text,z.htx=Array.isArray(u.hovertext)?u.hovertext[_]:u.hovertext,z.data=Array.isArray(u.customdata)?u.customdata[_]:u.customdata,z.tp=Array.isArray(u.textposition)?u.textposition[_]:u.textposition;var D=u.textfont;D&amp;&amp;(z.ts=Array.isArray(D.size)?D.size[_]:D.size,z.tc=Array.isArray(D.color)?D.color[_]:D.color,z.tf=Array.isArray(D.family)?D.family[_]:D.family);var I=u.marker;I&amp;&amp;(z.ms=Array.isArray(I.size)?I.size[_]:I.size,z.mo=Array.isArray(I.opacity)?I.opacity[_]:I.opacity,z.mx=Array.isArray(I.symbol)?I.symbol[_]:I.symbol,z.mc=Array.isArray(I.color)?I.color[_]:I.color);var P=I&amp;&amp;I.line;P&amp;&amp;(z.mlc=Array.isArray(P.color)?P.color[_]:P.color,z.mlw=Array.isArray(P.width)?P.width[_]:P.width);var O=I&amp;&amp;I.gradient;O&amp;&amp;&quot;none&quot;!==O.type&amp;&amp;(z.mgt=Array.isArray(O.type)?O.type[_]:O.type,z.mgc=Array.isArray(O.color)?O.color[_]:O.color);var F=f.c2p(z.x,!0),R=h.c2p(z.y,!0),N=z.mrc||1,j=u.hoverlabel;j&amp;&amp;(z.hbg=Array.isArray(j.bgcolor)?j.bgcolor[_]:j.bgcolor,z.hbc=Array.isArray(j.bordercolor)?j.bordercolor[_]:j.bordercolor,z.hts=Array.isArray(j.font.size)?j.font.size[_]:j.font.size,z.htc=Array.isArray(j.font.color)?j.font.color[_]:j.font.color,z.htf=Array.isArray(j.font.family)?j.font.family[_]:j.font.family,z.hnl=Array.isArray(j.namelength)?j.namelength[_]:j.namelength);var B=u.hoverinfo;B&amp;&amp;(z.hi=Array.isArray(B)?B[_]:B);var U={};return U[t.index]=z,o.extendFlat(t,{color:s(u,z),x0:F-N,x1:F+N,xLabelVal:z.x,y0:R-N,y1:R+N,yLabelVal:z.y,cd:U}),z.htx?t.text=z.htx:z.tx?t.text=z.tx:u.text&amp;&amp;(t.text=u.text),T(z,u,t),l.hoverInfo(z,u,t),[t]},style:function(t,e){if(e){var r=e[0].t.scene;r.clear(),r.draw()}},selectPoints:function(t,e){var r=t.cd,n=[],i=r[0].trace,a=r[0].t,o=a.x,s=a.y,l=a.rawx,c=a.rawy,u=a.scene;if(!u)return n;var f=!d.hasMarkers(i)&amp;&amp;!d.hasText(i);if(!0!==i.visible||f)return n;var h,p=null,m=null;if(!1===e||e.degenerate)for(m=Array(a.count),h=0;h&lt;a.count;h++)m[h]=h;else for(p=[],m=[],h=0;h&lt;a.count;h++)e.contains([a.xpx[h],a.ypx[h]])?(p.push(h),n.push({pointNumber:h,x:l?l[h]:o[h],y:c?c[h]:s[h]})):m.push(h);return u.selectBatch||(u.selectBatch=Array(u.count),u.unselectBatch=Array(u.count),u.scatter2d.update(u.unselectedOptions)),u.selectBatch[a.index]=p,u.unselectBatch[a.index]=m,n},sceneOptions:n,sceneUpdate:i,meta:{}}}).call(this,&quot;undefined&quot;!=typeof global?global:&quot;undefined&quot;!=typeof self?self:&quot;undefined&quot;!=typeof window?window:{})},{&quot;../../components/drawing&quot;:643,&quot;../../components/errorbars&quot;:649,&quot;../../components/fx&quot;:660,&quot;../../constants/gl2d_dashes&quot;:717,&quot;../../lib&quot;:743,&quot;../../lib/gl_format_color&quot;:739,&quot;../../plots/cartesian&quot;:800,&quot;../../plots/cartesian/axes&quot;:789,&quot;../scatter/clean_data&quot;:1069,&quot;../scatter/colorbar&quot;:1070,&quot;../scatter/colorscale_calc&quot;:1071,&quot;../scatter/fill_hover_text&quot;:1074,&quot;../scatter/get_trace_color&quot;:1076,&quot;../scatter/link_traces&quot;:1082,&quot;../scatter/make_bubble_size_func&quot;:1083,&quot;../scatter/subtypes&quot;:1088,&quot;./attributes&quot;:1113,&quot;./defaults&quot;:1114,&quot;color-normalize&quot;:99,&quot;fast-isnumeric&quot;:140,kdgrass:292,&quot;object-assign&quot;:462,regl:506,&quot;regl-error2d&quot;:500,&quot;regl-line2d&quot;:501,&quot;regl-scatter2d&quot;:503,&quot;svg-path-sdf&quot;:544}],1116:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../scattergeo/attributes&quot;),i=t(&quot;../scatter/attributes&quot;),a=t(&quot;../../plots/mapbox/layout_attributes&quot;),o=t(&quot;../../plots/attributes&quot;),s=t(&quot;../../components/colorbar/attributes&quot;),l=t(&quot;../../lib/extend&quot;).extendFlat,c=t(&quot;../../plot_api/edit_types&quot;).overrideAll,u=n.line,f=n.marker;e.exports=c({lon:n.lon,lat:n.lat,mode:l({},i.mode,{dflt:&quot;markers&quot;}),text:l({},i.text,{}),hovertext:l({},i.hovertext,{}),line:{color:u.color,width:u.width},connectgaps:i.connectgaps,marker:{symbol:{valType:&quot;string&quot;,dflt:&quot;circle&quot;,arrayOk:!0},opacity:f.opacity,size:f.size,sizeref:f.sizeref,sizemin:f.sizemin,sizemode:f.sizemode,color:f.color,colorscale:f.colorscale,cauto:f.cauto,cmax:f.cmax,cmin:f.cmin,autocolorscale:f.autocolorscale,reversescale:f.reversescale,showscale:f.showscale,colorbar:s},fill:n.fill,fillcolor:i.fillcolor,textfont:a.layers.symbol.textfont,textposition:a.layers.symbol.textposition,selected:{marker:{opacity:i.selected.marker.opacity}},unselected:{marker:{opacity:i.unselected.marker.opacity}},hoverinfo:l({},o.hoverinfo,{flags:[&quot;lon&quot;,&quot;lat&quot;,&quot;text&quot;,&quot;name&quot;]})},&quot;calc&quot;,&quot;nested&quot;)},{&quot;../../components/colorbar/attributes&quot;:619,&quot;../../lib/extend&quot;:732,&quot;../../plot_api/edit_types&quot;:773,&quot;../../plots/attributes&quot;:787,&quot;../../plots/mapbox/layout_attributes&quot;:848,&quot;../scatter/attributes&quot;:1066,&quot;../scattergeo/attributes&quot;:1104}],1117:[function(t,e,r){&quot;use strict&quot;;function n(){return{geojson:f.makeBlank(),layout:{visibility:&quot;none&quot;},paint:{}}}function i(t){return Array.isArray(t)?function(t){return t}:t?function(){return t}:a}function a(){return&quot;&quot;}function o(t,e){return t[0]-e[0]}function s(t){return t[0]===u}var l=t(&quot;fast-isnumeric&quot;),c=t(&quot;../../lib&quot;),u=t(&quot;../../constants/numerical&quot;).BADNUM,f=t(&quot;../../lib/geojson_utils&quot;),h=t(&quot;../../components/colorscale&quot;),d=t(&quot;../scatter/make_bubble_size_func&quot;),p=t(&quot;../scatter/subtypes&quot;),m=t(&quot;../../plots/mapbox/convert_text_opts&quot;),g=t(&quot;../../constants/interactions&quot;).DESELECTDIM,v=&quot;circle-color&quot;,y=&quot;circle-radius&quot;,x=&quot;circle-opacity&quot;;e.exports=function(t){var e=t[0].trace,r=!0===e.visible,u=&quot;none&quot;!==e.fill,b=p.hasLines(e),_=p.hasMarkers(e),w=p.hasText(e),M=_&amp;&amp;&quot;circle&quot;===e.marker.symbol,k=_&amp;&amp;&quot;circle&quot;!==e.marker.symbol,A=n(),T=n(),S=n(),E=n(),L={fill:A,line:T,circle:S,symbol:E};if(!r)return L;var C;if((u||b)&amp;&amp;(C=f.calcTraceToLineCoords(t)),u&amp;&amp;(A.geojson=f.makePolygon(C),A.layout.visibility=&quot;visible&quot;,c.extendFlat(A.paint,{&quot;fill-color&quot;:e.fillcolor})),b&amp;&amp;(T.geojson=f.makeLine(C),T.layout.visibility=&quot;visible&quot;,c.extendFlat(T.paint,{&quot;line-width&quot;:e.line.width,&quot;line-color&quot;:e.line.color,&quot;line-opacity&quot;:e.opacity})),M){var z={};z[v]={},z[y]={},z[x]={},S.geojson=function(t,e){function r(t,r,n,i){void 0===e[r][n]&amp;&amp;(e[r][n]=i),t[r]=e[r][n]}var n,i=t[0].trace,a=i.marker;h.hasColorscale(i,&quot;marker&quot;)?n=h.makeColorScaleFunc(h.extractScale(a.colorscale,a.cmin,a.cmax)):Array.isArray(a.color)&amp;&amp;(n=c.identity);var o;p.isBubble(i)&amp;&amp;(o=d(i));var u;u=i.selectedpoints?function(t,e){return i.opacity*e*(t.selected?1:g)}:function(t,e){return i.opacity*e};var f;Array.isArray(a.opacity)?f=function(t){var e=l(t.mo)?+c.constrain(t.mo,0,1):0;return u(t,e)}:i.selectedpoints&amp;&amp;(f=function(t){return u(t,a.opacity)});for(var m=[],b=0;b&lt;t.length;b++){var _=t[b],w=_.lonlat;if(!s(w)){var M={};if(n){var k=_.mcc=n(_.mc);r(M,v,k,b)}o&amp;&amp;r(M,y,o(_.ms),b),f&amp;&amp;r(M,x,f(_),b),m.push({type:&quot;Feature&quot;,geometry:{type:&quot;Point&quot;,coordinates:w},properties:M})}}return{type:&quot;FeatureCollection&quot;,features:m}}(t,z),S.layout.visibility=&quot;visible&quot;,c.extendFlat(S.paint,{&quot;circle-opacity&quot;:function(t,e){var r,n=t.marker;if(Array.isArray(n.opacity)||t.selectedpoints){for(var i=Object.keys(e[x]),a=[],s=0;s&lt;i.length;s++){var l=i[s];a.push([e[x][l],+l])}r={property:x,stops:a.sort(o)}}else r=t.opacity*n.opacity;return r}(e,z),&quot;circle-color&quot;:function(t,e){var r,n=t.marker;if(Array.isArray(n.color)){for(var i=Object.keys(e[v]),a=[],o=0;o&lt;i.length;o++){var s=i[o];a.push([e[v][s],s])}r={property:v,stops:a}}else r=n.color;return r}(e,z),&quot;circle-radius&quot;:function(t,e){var r,n=t.marker;if(Array.isArray(n.size)){for(var i=Object.keys(e[y]),a=[],s=0;s&lt;i.length;s++){var l=i[s];a.push([e[y][l],+l])}r={property:y,stops:a.sort(o)}}else r=n.size/2;return r}(e,z)})}if((k||w)&amp;&amp;(E.geojson=function(t){for(var e=t[0].trace,r=(e.marker||{}).symbol,n=e.text,o=&quot;circle&quot;!==r?i(r):a,l=p.hasText(e)?i(n):a,c=[],u=0;u&lt;t.length;u++){var f=t[u];s(f.lonlat)||c.push({type:&quot;Feature&quot;,geometry:{type:&quot;Point&quot;,coordinates:f.lonlat},properties:{symbol:o(f.mx),text:l(f.tx)}})}return{type:&quot;FeatureCollection&quot;,features:c}}(t),c.extendFlat(E.layout,{visibility:&quot;visible&quot;,&quot;icon-image&quot;:&quot;{symbol}-15&quot;,&quot;text-field&quot;:&quot;{text}&quot;}),k&amp;&amp;(c.extendFlat(E.layout,{&quot;icon-size&quot;:e.marker.size/10}),c.extendFlat(E.paint,{&quot;icon-opacity&quot;:e.opacity*e.marker.opacity,&quot;icon-color&quot;:e.marker.color})),w)){var D=(e.marker||{}).size,I=m(e.textposition,D);c.extendFlat(E.layout,{&quot;text-size&quot;:e.textfont.size,&quot;text-anchor&quot;:I.anchor,&quot;text-offset&quot;:I.offset}),c.extendFlat(E.paint,{&quot;text-color&quot;:e.textfont.color,&quot;text-opacity&quot;:e.opacity})}return L}},{&quot;../../components/colorscale&quot;:633,&quot;../../constants/interactions&quot;:720,&quot;../../constants/numerical&quot;:721,&quot;../../lib&quot;:743,&quot;../../lib/geojson_utils&quot;:736,&quot;../../plots/mapbox/convert_text_opts&quot;:845,&quot;../scatter/make_bubble_size_func&quot;:1083,&quot;../scatter/subtypes&quot;:1088,&quot;fast-isnumeric&quot;:140}],1118:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib&quot;),i=t(&quot;../scatter/subtypes&quot;),a=t(&quot;../scatter/marker_defaults&quot;),o=t(&quot;../scatter/line_defaults&quot;),s=t(&quot;../scatter/text_defaults&quot;),l=t(&quot;../scatter/fillcolor_defaults&quot;),c=t(&quot;./attributes&quot;);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(&quot;lon&quot;)||[],i=r(&quot;lat&quot;)||[],a=Math.min(n.length,i.length);return a&lt;n.length&amp;&amp;(e.lon=n.slice(0,a)),a&lt;i.length&amp;&amp;(e.lat=i.slice(0,a)),a}(0,e,f)){if(f(&quot;text&quot;),f(&quot;hovertext&quot;),f(&quot;mode&quot;),i.hasLines(e)&amp;&amp;(o(t,e,r,u,f,{noDash:!0}),f(&quot;connectgaps&quot;)),i.hasMarkers(e)){a(t,e,r,u,f,{noLine:!0,noSelect:!0});var h=e.marker;h.line={width:0},&quot;circle&quot;!==h.symbol&amp;&amp;(Array.isArray(h.size)&amp;&amp;(h.size=h.size[0]),Array.isArray(h.color)&amp;&amp;(h.color=h.color[0]))}i.hasText(e)&amp;&amp;s(t,e,u,f,{noSelect:!0}),f(&quot;fill&quot;),&quot;none&quot;!==e.fill&amp;&amp;l(t,e,r,f),n.coerceSelectionMarkerOpacity(e,f)}else e.visible=!1}},{&quot;../../lib&quot;:743,&quot;../scatter/fillcolor_defaults&quot;:1075,&quot;../scatter/line_defaults&quot;:1079,&quot;../scatter/marker_defaults&quot;:1084,&quot;../scatter/subtypes&quot;:1088,&quot;../scatter/text_defaults&quot;:1089,&quot;./attributes&quot;:1116}],1119:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t,e){return t.lon=e.lon,t.lat=e.lat,t}},{}],1120:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../components/fx&quot;),i=t(&quot;../scatter/get_trace_color&quot;),a=t(&quot;../scatter/fill_hover_text&quot;),o=t(&quot;../../constants/numerical&quot;).BADNUM;e.exports=function(t,e,r){var s=t.cd,l=s[0].trace,c=t.xa,u=t.ya,f=360*(e&gt;=0?Math.floor((e+180)/360):Math.ceil((e-180)/360)),h=e-f;if(n.getClosest(s,function(t){var e=t.lonlat;if(e[0]===o)return 1/0;var n=Math.abs(c.c2p(e)-c.c2p([h,e[1]])),i=Math.abs(u.c2p(e)-u.c2p([e[0],r])),a=Math.max(3,t.mrc||0);return Math.max(Math.sqrt(n*n+i*i)-a,1-3/a)},t),!1!==t.index){var d=s[t.index],p=d.lonlat,m=[p[0]+f,p[1]],g=c.c2p(m),v=u.c2p(m),y=d.mrc||1;return t.x0=g-y,t.x1=g+y,t.y0=v-y,t.y1=v+y,t.color=i(l,d),t.extraText=function(t,e,r){function n(t){return t+&quot;\xb0&quot;}var i=(e.hi||t.hoverinfo).split(&quot;+&quot;),o=-1!==i.indexOf(&quot;all&quot;),s=-1!==i.indexOf(&quot;lon&quot;),l=-1!==i.indexOf(&quot;lat&quot;),c=e.lonlat,u=[];return o||s&amp;&amp;l?u.push(&quot;(&quot;+n(c[0])+&quot;, &quot;+n(c[1])+&quot;)&quot;):s?u.push(r.lon+n(c[0])):l&amp;&amp;u.push(r.lat+n(c[1])),(o||-1!==i.indexOf(&quot;text&quot;))&amp;&amp;a(e,t,u),u.join(&quot;&lt;br&gt;&quot;)}(l,d,s[0].t.labels),[t]}}},{&quot;../../components/fx&quot;:660,&quot;../../constants/numerical&quot;:721,&quot;../scatter/fill_hover_text&quot;:1074,&quot;../scatter/get_trace_color&quot;:1076}],1121:[function(t,e,r){&quot;use strict&quot;;var n={};n.attributes=t(&quot;./attributes&quot;),n.supplyDefaults=t(&quot;./defaults&quot;),n.colorbar=t(&quot;../scatter/colorbar&quot;),n.calc=t(&quot;../scattergeo/calc&quot;),n.plot=t(&quot;./plot&quot;),n.hoverPoints=t(&quot;./hover&quot;),n.eventData=t(&quot;./event_data&quot;),n.selectPoints=t(&quot;./select&quot;),n.style=function(t,e){if(e){e[0].trace._glTrace.update(e)}},n.moduleType=&quot;trace&quot;,n.name=&quot;scattermapbox&quot;,n.basePlotModule=t(&quot;../../plots/mapbox&quot;),n.categories=[&quot;mapbox&quot;,&quot;gl&quot;,&quot;symbols&quot;,&quot;markerColorscale&quot;,&quot;showLegend&quot;,&quot;scatterlike&quot;],n.meta={},e.exports=n},{&quot;../../plots/mapbox&quot;:846,&quot;../scatter/colorbar&quot;:1070,&quot;../scattergeo/calc&quot;:1105,&quot;./attributes&quot;:1116,&quot;./defaults&quot;:1118,&quot;./event_data&quot;:1119,&quot;./hover&quot;:1120,&quot;./plot&quot;:1122,&quot;./select&quot;:1123}],1122:[function(t,e,r){&quot;use strict&quot;;function n(t,e){this.mapbox=t,this.map=t.map,this.uid=e,this.idSourceFill=e+&quot;-source-fill&quot;,this.idSourceLine=e+&quot;-source-line&quot;,this.idSourceCircle=e+&quot;-source-circle&quot;,this.idSourceSymbol=e+&quot;-source-symbol&quot;,this.idLayerFill=e+&quot;-layer-fill&quot;,this.idLayerLine=e+&quot;-layer-line&quot;,this.idLayerCircle=e+&quot;-layer-circle&quot;,this.idLayerSymbol=e+&quot;-layer-symbol&quot;,this.mapbox.initSource(this.idSourceFill),this.mapbox.initSource(this.idSourceLine),this.mapbox.initSource(this.idSourceCircle),this.mapbox.initSource(this.idSourceSymbol),this.map.addLayer({id:this.idLayerFill,source:this.idSourceFill,type:&quot;fill&quot;}),this.map.addLayer({id:this.idLayerLine,source:this.idSourceLine,type:&quot;line&quot;}),this.map.addLayer({id:this.idLayerCircle,source:this.idSourceCircle,type:&quot;circle&quot;}),this.map.addLayer({id:this.idLayerSymbol,source:this.idSourceSymbol,type:&quot;symbol&quot;})}function i(t){return&quot;visible&quot;===t.layout.visibility}var a=t(&quot;./convert&quot;),o=n.prototype;o.update=function(t){var e=this.mapbox,r=a(t);e.setOptions(this.idLayerFill,&quot;setLayoutProperty&quot;,r.fill.layout),e.setOptions(this.idLayerLine,&quot;setLayoutProperty&quot;,r.line.layout),e.setOptions(this.idLayerCircle,&quot;setLayoutProperty&quot;,r.circle.layout),e.setOptions(this.idLayerSymbol,&quot;setLayoutProperty&quot;,r.symbol.layout),i(r.fill)&amp;&amp;(e.setSourceData(this.idSourceFill,r.fill.geojson),e.setOptions(this.idLayerFill,&quot;setPaintProperty&quot;,r.fill.paint)),i(r.line)&amp;&amp;(e.setSourceData(this.idSourceLine,r.line.geojson),e.setOptions(this.idLayerLine,&quot;setPaintProperty&quot;,r.line.paint)),i(r.circle)&amp;&amp;(e.setSourceData(this.idSourceCircle,r.circle.geojson),e.setOptions(this.idLayerCircle,&quot;setPaintProperty&quot;,r.circle.paint)),i(r.symbol)&amp;&amp;(e.setSourceData(this.idSourceSymbol,r.symbol.geojson),e.setOptions(this.idLayerSymbol,&quot;setPaintProperty&quot;,r.symbol.paint)),t[0].trace._glTrace=this},o.dispose=function(){var t=this.map;t.removeLayer(this.idLayerFill),t.removeLayer(this.idLayerLine),t.removeLayer(this.idLayerCircle),t.removeLayer(this.idLayerSymbol),t.removeSource(this.idSourceFill),t.removeSource(this.idSourceLine),t.removeSource(this.idSourceCircle),t.removeSource(this.idSourceSymbol)},e.exports=function(t,e){var r=new n(t,e[0].trace.uid);return r.update(e),r}},{&quot;./convert&quot;:1117}],1123:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../scatter/subtypes&quot;);e.exports=function(t,e){var r,i,a,o,s,l=t.cd,c=t.xaxis,u=t.yaxis,f=[],h=l[0].trace;if(!n.hasMarkers(h))return[];if(!1===e)for(s=0;s&lt;l.length;s++)l[s].selected=0;else for(s=0;s&lt;l.length;s++)i=(r=l[s]).lonlat,a=c.c2p(i),o=u.c2p(i),e.contains([a,o])?(f.push({pointNumber:s,lon:i[0],lat:i[1]}),r.selected=1):r.selected=0;return f}},{&quot;../scatter/subtypes&quot;:1088}],1124:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib/extend&quot;).extendFlat,i=t(&quot;../scatter/attributes&quot;),a=t(&quot;../../plots/attributes&quot;),o=i.line;e.exports={mode:i.mode,r:{valType:&quot;data_array&quot;,editType:&quot;calc+clearAxisTypes&quot;},theta:{valType:&quot;data_array&quot;,editType:&quot;calc+clearAxisTypes&quot;},thetaunit:{valType:&quot;enumerated&quot;,values:[&quot;radians&quot;,&quot;degrees&quot;,&quot;gradians&quot;],dflt:&quot;degrees&quot;,editType:&quot;calc+clearAxisTypes&quot;},text:i.text,hovertext:i.hovertext,line:{color:o.color,width:o.width,dash:o.dash,shape:n({},o.shape,{values:[&quot;linear&quot;,&quot;spline&quot;]}),smoothing:o.smoothing,editType:&quot;calc&quot;},connectgaps:i.connectgaps,marker:i.marker,cliponaxis:n({},i.cliponaxis,{dflt:!1}),textposition:i.textposition,textfont:i.textfont,fill:n({},i.fill,{values:[&quot;none&quot;,&quot;toself&quot;,&quot;tonext&quot;]}),fillcolor:i.fillcolor,hoverinfo:n({},a.hoverinfo,{flags:[&quot;r&quot;,&quot;theta&quot;,&quot;text&quot;,&quot;name&quot;]}),hoveron:i.hoveron,selected:i.selected,unselected:i.unselected}},{&quot;../../lib/extend&quot;:732,&quot;../../plots/attributes&quot;:787,&quot;../scatter/attributes&quot;:1066}],1125:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;fast-isnumeric&quot;),i=t(&quot;../../constants/numerical&quot;).BADNUM,a=t(&quot;../../plots/cartesian/axes&quot;),o=t(&quot;../scatter/colorscale_calc&quot;),s=t(&quot;../scatter/arrays_to_calcdata&quot;),l=t(&quot;../scatter/calc_selection&quot;),c=t(&quot;../scatter/calc&quot;).calcMarkerSize;e.exports=function(t,e){function r(t){return d.c2rad(t,e.thetaunit)}for(var u=t._fullLayout,f=e.subplot,h=u[f].radialaxis,d=u[f].angularaxis,p=h.makeCalcdata(e,&quot;r&quot;),m=d.makeCalcdata(e,&quot;theta&quot;),g=p.length,v=new Array(g),y=0;y&lt;g;y++){var x=p[y],b=m[y],_=v[y]={};n(x)&amp;&amp;n(b)?(_.r=x,_.theta=b,_.rad=r(b)):_.r=i}var w=c(e,g);return a.expand(h,p,{ppad:w}),&quot;linear&quot;!==d.type&amp;&amp;(d.autorange=!0,a.expand(d,m)),o(e),s(v,e),l(v,e),v}},{&quot;../../constants/numerical&quot;:721,&quot;../../plots/cartesian/axes&quot;:789,&quot;../scatter/arrays_to_calcdata&quot;:1065,&quot;../scatter/calc&quot;:1067,&quot;../scatter/calc_selection&quot;:1068,&quot;../scatter/colorscale_calc&quot;:1071,&quot;fast-isnumeric&quot;:140}],1126:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib&quot;),i=t(&quot;../scatter/subtypes&quot;),a=t(&quot;../scatter/marker_defaults&quot;),o=t(&quot;../scatter/line_defaults&quot;),s=t(&quot;../scatter/line_shape_defaults&quot;),l=t(&quot;../scatter/text_defaults&quot;),c=t(&quot;../scatter/fillcolor_defaults&quot;),u=t(&quot;../scatter/constants&quot;).PTS_LINESONLY,f=t(&quot;./attributes&quot;);e.exports=function(t,e,r,h){function d(r,i){return n.coerce(t,e,f,r,i)}var p=d(&quot;r&quot;),m=d(&quot;theta&quot;),g=p&amp;&amp;m?Math.min(p.length,m.length):0;if(g){g&lt;p.length&amp;&amp;(e.r=p.slice(0,g)),g&lt;m.length&amp;&amp;(e.theta=m.slice(0,g)),d(&quot;thetaunit&quot;),d(&quot;mode&quot;,g&lt;u?&quot;lines+markers&quot;:&quot;lines&quot;),d(&quot;text&quot;),d(&quot;hovertext&quot;),i.hasLines(e)&amp;&amp;(o(t,e,r,h,d),s(t,e,d),d(&quot;connectgaps&quot;)),i.hasMarkers(e)&amp;&amp;a(t,e,r,h,d,{gradient:!0}),i.hasText(e)&amp;&amp;l(t,e,h,d);var v=[];(i.hasMarkers(e)||i.hasText(e))&amp;&amp;(d(&quot;cliponaxis&quot;),d(&quot;marker.maxdisplayed&quot;),v.push(&quot;points&quot;)),d(&quot;fill&quot;),&quot;none&quot;!==e.fill&amp;&amp;(c(t,e,r,d),i.hasLines(e)||s(t,e,d)),&quot;tonext&quot;!==e.fill&amp;&amp;&quot;toself&quot;!==e.fill||v.push(&quot;fills&quot;),d(&quot;hoveron&quot;,v.join(&quot;+&quot;)||&quot;points&quot;),n.coerceSelectionMarkerOpacity(e,d)}else e.visible=!1}},{&quot;../../lib&quot;:743,&quot;../scatter/constants&quot;:1072,&quot;../scatter/fillcolor_defaults&quot;:1075,&quot;../scatter/line_defaults&quot;:1079,&quot;../scatter/line_shape_defaults&quot;:1081,&quot;../scatter/marker_defaults&quot;:1084,&quot;../scatter/subtypes&quot;:1088,&quot;../scatter/text_defaults&quot;:1089,&quot;./attributes&quot;:1124}],1127:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r){function n(t,e){c.push(t._hovertitle+&quot;: &quot;+a.tickText(t,e,&quot;hover&quot;).text)}var i=r.radialAxis,s=r.angularAxis,l=(t.hi||e.hoverinfo).split(&quot;+&quot;),c=[];i._hovertitle=&quot;r&quot;,s._hovertitle=&quot;\u03b8&quot;;var u,f=s._c2rad(t.theta,e.thetaunit);return u=&quot;linear&quot;===s.type&amp;&amp;e.thetaunit!==s.thetaunit?&quot;degrees&quot;===s.thetaunit?o.rad2deg(f):f:t.theta,-1!==l.indexOf(&quot;all&quot;)&amp;&amp;(l=[&quot;r&quot;,&quot;theta&quot;]),-1!==l.indexOf(&quot;r&quot;)&amp;&amp;n(i,i.c2r(t.r)),-1!==l.indexOf(&quot;theta&quot;)&amp;&amp;n(s,u),c.join(&quot;&lt;br&gt;&quot;)}var i=t(&quot;../scatter/hover&quot;),a=t(&quot;../../plots/cartesian/axes&quot;),o=t(&quot;../../lib&quot;);e.exports={hoverPoints:function(t,e,r,a){var o=i(t,e,r,a);if(o&amp;&amp;!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.isPtWithinSector(c))return s.xLabelVal=void 0,s.yLabelVal=void 0,s.extraText=n(c,u,l),o}},makeHoverPointText:n}},{&quot;../../lib&quot;:743,&quot;../../plots/cartesian/axes&quot;:789,&quot;../scatter/hover&quot;:1077}],1128:[function(t,e,r){&quot;use strict&quot;;e.exports={moduleType:&quot;trace&quot;,name:&quot;scatterpolar&quot;,basePlotModule:t(&quot;../../plots/polar&quot;),categories:[&quot;polar&quot;,&quot;symbols&quot;,&quot;markerColorscale&quot;,&quot;showLegend&quot;,&quot;scatter-like&quot;],attributes:t(&quot;./attributes&quot;),supplyDefaults:t(&quot;./defaults&quot;),calc:t(&quot;./calc&quot;),plot:t(&quot;./plot&quot;),style:t(&quot;../scatter/style&quot;).style,hoverPoints:t(&quot;./hover&quot;).hoverPoints,selectPoints:t(&quot;../scatter/select&quot;),meta:{}}},{&quot;../../plots/polar&quot;:855,&quot;../scatter/select&quot;:1086,&quot;../scatter/style&quot;:1087,&quot;./attributes&quot;:1124,&quot;./calc&quot;:1125,&quot;./defaults&quot;:1126,&quot;./hover&quot;:1127,&quot;./plot&quot;:1129}],1129:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../scatter/plot&quot;),i=t(&quot;../../constants/numerical&quot;).BADNUM;e.exports=function(t,e,r){var a,o,s,l={xaxis:e.xaxis,yaxis:e.yaxis,plot:e.framework,layerClipId:e._hasClipOnAxisFalse?e.clipIds.circle:null},c=e.radialAxis,u=c.range;for(s=u[0]&gt;u[1]?function(t){return t&lt;=0}:function(t){return t&gt;=0},a=0;a&lt;r.length;a++)for(o=0;o&lt;r[a].length;o++){var f=r[a][o],h=f.r;if(h!==i){var d=c.c2r(h)-u[0];if(s(d)){var p=f.rad;f.x=d*Math.cos(p),f.y=d*Math.sin(p);continue}f.intoCenter=[e.cxx,e.cyy]}f.x=i,f.y=i}n(t,l,r)}},{&quot;../../constants/numerical&quot;:721,&quot;../scatter/plot&quot;:1085}],1130:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../scatterpolar/attributes&quot;),i=t(&quot;../scattergl/attributes&quot;);e.exports={mode:n.mode,r:n.r,theta:n.theta,thetaunit:n.thetaunit,text:n.text,line:i.line,connectgaps:i.connectgaps,marker:i.marker,fill:i.fill,fillcolor:i.fillcolor,hoverinfo:n.hoverinfo,hoveron:n.hoveron,selected:n.selected,unselected:n.unselected}},{&quot;../scattergl/attributes&quot;:1113,&quot;../scatterpolar/attributes&quot;:1124}],1131:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib&quot;),i=t(&quot;../scatter/subtypes&quot;),a=t(&quot;../scatter/marker_defaults&quot;),o=t(&quot;../scatter/line_defaults&quot;),s=t(&quot;../scatter/fillcolor_defaults&quot;),l=t(&quot;../scatter/constants&quot;).PTS_LINESONLY,c=t(&quot;./attributes&quot;);e.exports=function(t,e,r,u){function f(r,i){return n.coerce(t,e,c,r,i)}var h=f(&quot;r&quot;),d=f(&quot;theta&quot;),p=h&amp;&amp;d?Math.min(h.length,d.length):0;if(p){p&lt;h.length&amp;&amp;(e.r=h.slice(0,p)),p&lt;d.length&amp;&amp;(e.theta=d.slice(0,p)),f(&quot;thetaunit&quot;),f(&quot;mode&quot;,p&lt;l?&quot;lines+markers&quot;:&quot;lines&quot;),f(&quot;text&quot;),i.hasLines(e)&amp;&amp;(o(t,e,r,u,f),f(&quot;connectgaps&quot;));var m=[];i.hasMarkers(e)&amp;&amp;(a(t,e,r,u,f),m.push(&quot;points&quot;)),f(&quot;fill&quot;),&quot;none&quot;!==e.fill&amp;&amp;s(t,e,r,f),&quot;tonext&quot;!==e.fill&amp;&amp;&quot;toself&quot;!==e.fill||m.push(&quot;fills&quot;),f(&quot;hoveron&quot;,m.join(&quot;+&quot;)||&quot;points&quot;),n.coerceSelectionMarkerOpacity(e,f)}else e.visible=!1}},{&quot;../../lib&quot;:743,&quot;../scatter/constants&quot;:1072,&quot;../scatter/fillcolor_defaults&quot;:1075,&quot;../scatter/line_defaults&quot;:1079,&quot;../scatter/marker_defaults&quot;:1084,&quot;../scatter/subtypes&quot;:1088,&quot;./attributes&quot;:1130}],1132:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;kdgrass&quot;),i=t(&quot;fast-isnumeric&quot;),a=t(&quot;../scattergl&quot;),o=t(&quot;../scatter/colorscale_calc&quot;),s=t(&quot;../../plots/cartesian/axes&quot;),l=t(&quot;../scatterpolar/hover&quot;).makeHoverPointText,c=t(&quot;../scatter/subtypes&quot;);e.exports={moduleType:&quot;trace&quot;,name:&quot;scatterpolargl&quot;,basePlotModule:t(&quot;../../plots/polar&quot;),categories:[&quot;gl&quot;,&quot;regl&quot;,&quot;polar&quot;,&quot;symbols&quot;,&quot;markerColorscale&quot;,&quot;showLegend&quot;,&quot;scatter-like&quot;],attributes:t(&quot;./attributes&quot;),supplyDefaults:t(&quot;./defaults&quot;),calc:function(t,e){var r=t._fullLayout,n=e.subplot,i=r[n].radialaxis,a=r[n].angularaxis,l=i.makeCalcdata(e,&quot;r&quot;),c=a.makeCalcdata(e,&quot;theta&quot;),u={};return o(e),u.r=l,u.theta=c,s.expand(i,l,{tozero:!0}),&quot;linear&quot;!==a.type&amp;&amp;(a.autorange=!0,s.expand(a,c)),[{x:!1,y:!1,t:u,trace:e}]},plot:function(t,e,r){var o=e.radialAxis,s=e.angularAxis,l=o.range,u=a.sceneUpdate(t,e);return u.clear(),r.forEach(function(f,h){function d(t){return s.c2rad(t,b.thetaunit)}if(f&amp;&amp;f[0]&amp;&amp;f[0].trace){var p,m,g,v,y,x=f[0],b=x.trace,_=x.t,w=_.r,M=_.theta,k=w.slice(),A=M.slice();for(p=0;p&lt;w.length;p++)m=w[p],v=M[p],y=s.c2rad(v,b.thetaunit),e.isPtWithinSector({r:m,rad:y})||(k[p]=NaN,A[p]=NaN);var T=w.length,S=new Array(2*T),E=Array(T),L=Array(T);for(p=0;p&lt;T;p++)m=k[p],v=A[p],i(m)&amp;&amp;i(v)&amp;&amp;m&gt;=0?(g=o.c2r(m)-l[0],y=d(v),E[p]=S[2*p]=g*Math.cos(y),L[p]=S[2*p+1]=g*Math.sin(y)):E[p]=L[p]=S[2*p]=S[2*p+1]=NaN;var C=a.sceneOptions(t,e,b,S);C.fill&amp;&amp;!u.fill2d&amp;&amp;(u.fill2d=!0),C.marker&amp;&amp;!u.scatter2d&amp;&amp;(u.scatter2d=!0),C.line&amp;&amp;!u.line2d&amp;&amp;(u.line2d=!0),!C.errorX&amp;&amp;!C.errorY||u.error2d||(u.error2d=!0),c.hasMarkers(b)&amp;&amp;(C.selected.positions=C.unselected.positions=C.marker.positions),u.lineOptions.push(C.line),u.errorXOptions.push(C.errorX),u.errorYOptions.push(C.errorY),u.fillOptions.push(C.fill),u.markerOptions.push(C.marker),u.selectedOptions.push(C.selected),u.unselectedOptions.push(C.unselected),u.count=r.length,_.scene=u,_.index=h,_.x=E,_.y=L,_.rawx=E,_.rawy=L,_.r=w,_.theta=M,_.positions=S,_.count=T,_.tree=n(S,512)}}),a.plot(t,e,r)},hoverPoints:function(t,e,r,n){var i=t.cd[0].t,o=i.r,s=i.theta,c=a.hoverPoints(t,e,r,n);if(c&amp;&amp;!1!==c[0].index){var u=c[0];if(void 0===u.index)return c;var f=t.subplot,h=f.angularAxis,d=u.cd[u.index],p=u.trace;if(d.r=o[u.index],d.theta=s[u.index],d.rad=h.c2rad(d.theta,p.thetaunit),f.isPtWithinSector(d))return u.xLabelVal=void 0,u.yLabelVal=void 0,u.extraText=l(d,p,f),c}},style:a.style,selectPoints:a.selectPoints,meta:{}}},{&quot;../../plots/cartesian/axes&quot;:789,&quot;../../plots/polar&quot;:855,&quot;../scatter/colorscale_calc&quot;:1071,&quot;../scatter/subtypes&quot;:1088,&quot;../scattergl&quot;:1115,&quot;../scatterpolar/hover&quot;:1127,&quot;./attributes&quot;:1130,&quot;./defaults&quot;:1131,&quot;fast-isnumeric&quot;:140,kdgrass:292}],1133:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../scatter/attributes&quot;),i=t(&quot;../../plots/attributes&quot;),a=t(&quot;../../components/colorscale/color_attributes&quot;),o=t(&quot;../../components/colorbar/attributes&quot;),s=t(&quot;../../components/drawing/attributes&quot;).dash,l=t(&quot;../../lib/extend&quot;).extendFlat,c=n.marker,u=n.line,f=c.line;e.exports={a:{valType:&quot;data_array&quot;,editType:&quot;calc&quot;},b:{valType:&quot;data_array&quot;,editType:&quot;calc&quot;},c:{valType:&quot;data_array&quot;,editType:&quot;calc&quot;},sum:{valType:&quot;number&quot;,dflt:0,min:0,editType:&quot;calc&quot;},mode:l({},n.mode,{dflt:&quot;markers&quot;}),text:l({},n.text,{}),hovertext:l({},n.hovertext,{}),line:{color:u.color,width:u.width,dash:s,shape:l({},u.shape,{values:[&quot;linear&quot;,&quot;spline&quot;]}),smoothing:u.smoothing,editType:&quot;calc&quot;},connectgaps:n.connectgaps,cliponaxis:n.cliponaxis,fill:l({},n.fill,{values:[&quot;none&quot;,&quot;toself&quot;,&quot;tonext&quot;]}),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:&quot;calc&quot;},a(&quot;marker.line&quot;)),gradient:c.gradient,editType:&quot;calc&quot;},a(&quot;marker&quot;),{showscale:c.showscale,colorbar:o}),textfont:n.textfont,textposition:n.textposition,selected:n.selected,unselected:n.unselected,hoverinfo:l({},i.hoverinfo,{flags:[&quot;a&quot;,&quot;b&quot;,&quot;c&quot;,&quot;text&quot;,&quot;name&quot;]}),hoveron:n.hoveron}},{&quot;../../components/colorbar/attributes&quot;:619,&quot;../../components/colorscale/color_attributes&quot;:626,&quot;../../components/drawing/attributes&quot;:642,&quot;../../lib/extend&quot;:732,&quot;../../plots/attributes&quot;:787,&quot;../scatter/attributes&quot;:1066}],1134:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;fast-isnumeric&quot;),i=t(&quot;../scatter/colorscale_calc&quot;),a=t(&quot;../scatter/arrays_to_calcdata&quot;),o=t(&quot;../scatter/calc_selection&quot;),s=t(&quot;../scatter/calc&quot;).calcMarkerSize,l=[&quot;a&quot;,&quot;b&quot;,&quot;c&quot;],c={a:[&quot;b&quot;,&quot;c&quot;],b:[&quot;a&quot;,&quot;c&quot;],c:[&quot;a&quot;,&quot;b&quot;]};e.exports=function(t,e){var r,u,f,h,d,p,m=t._fullLayout[e.subplot].sum,g=e.sum||m;for(r=0;r&lt;l.length;r++)if(f=l[r],!e[f]){for(d=e[c[f][0]],p=e[c[f][1]],h=new Array(d.length),u=0;u&lt;d.length;u++)h[u]=g-d[u]-p[u];e[f]=h}var v,y,x,b,_,w,M=e.a.length,k=new Array(M);for(r=0;r&lt;M;r++)v=e.a[r],y=e.b[r],x=e.c[r],n(v)&amp;&amp;n(y)&amp;&amp;n(x)?(1!==(b=m/((v=+v)+(y=+y)+(x=+x)))&amp;&amp;(v*=b,y*=b,x*=b),w=v,_=x-y,k[r]={x:_,y:w,a:v,b:y,c:x}):k[r]={x:!1,y:!1};return s(e,M),i(e),a(k,e),o(k,e),k}},{&quot;../scatter/arrays_to_calcdata&quot;:1065,&quot;../scatter/calc&quot;:1067,&quot;../scatter/calc_selection&quot;:1068,&quot;../scatter/colorscale_calc&quot;:1071,&quot;fast-isnumeric&quot;:140}],1135:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib&quot;),i=t(&quot;../scatter/constants&quot;),a=t(&quot;../scatter/subtypes&quot;),o=t(&quot;../scatter/marker_defaults&quot;),s=t(&quot;../scatter/line_defaults&quot;),l=t(&quot;../scatter/line_shape_defaults&quot;),c=t(&quot;../scatter/text_defaults&quot;),u=t(&quot;../scatter/fillcolor_defaults&quot;),f=t(&quot;./attributes&quot;);e.exports=function(t,e,r,h){function d(r,i){return n.coerce(t,e,f,r,i)}var p,m=d(&quot;a&quot;),g=d(&quot;b&quot;),v=d(&quot;c&quot;);if(m?(p=m.length,g?(p=Math.min(p,g.length),v&amp;&amp;(p=Math.min(p,v.length))):p=v?Math.min(p,v.length):0):g&amp;&amp;v&amp;&amp;(p=Math.min(g.length,v.length)),p){m&amp;&amp;p&lt;m.length&amp;&amp;(e.a=m.slice(0,p)),g&amp;&amp;p&lt;g.length&amp;&amp;(e.b=g.slice(0,p)),v&amp;&amp;p&lt;v.length&amp;&amp;(e.c=v.slice(0,p)),d(&quot;sum&quot;),d(&quot;text&quot;),d(&quot;hovertext&quot;);d(&quot;mode&quot;,p&lt;i.PTS_LINESONLY?&quot;lines+markers&quot;:&quot;lines&quot;),a.hasLines(e)&amp;&amp;(s(t,e,r,h,d),l(t,e,d),d(&quot;connectgaps&quot;)),a.hasMarkers(e)&amp;&amp;o(t,e,r,h,d,{gradient:!0}),a.hasText(e)&amp;&amp;c(t,e,h,d);var y=[];(a.hasMarkers(e)||a.hasText(e))&amp;&amp;(d(&quot;cliponaxis&quot;),d(&quot;marker.maxdisplayed&quot;),y.push(&quot;points&quot;)),d(&quot;fill&quot;),&quot;none&quot;!==e.fill&amp;&amp;(u(t,e,r,d),a.hasLines(e)||l(t,e,d)),&quot;tonext&quot;!==e.fill&amp;&amp;&quot;toself&quot;!==e.fill||y.push(&quot;fills&quot;),d(&quot;hoveron&quot;,y.join(&quot;+&quot;)||&quot;points&quot;),n.coerceSelectionMarkerOpacity(e,d)}else e.visible=!1}},{&quot;../../lib&quot;:743,&quot;../scatter/constants&quot;:1072,&quot;../scatter/fillcolor_defaults&quot;:1075,&quot;../scatter/line_defaults&quot;:1079,&quot;../scatter/line_shape_defaults&quot;:1081,&quot;../scatter/marker_defaults&quot;:1084,&quot;../scatter/subtypes&quot;:1088,&quot;../scatter/text_defaults&quot;:1089,&quot;./attributes&quot;:1133}],1136:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t,e,r,n,i){if(e.xa&amp;&amp;(t.xaxis=e.xa),e.ya&amp;&amp;(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}},{}],1137:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../scatter/hover&quot;),i=t(&quot;../../plots/cartesian/axes&quot;);e.exports=function(t,e,r,a){function o(t,e){v.push(t._hovertitle+&quot;: &quot;+i.tickText(t,e,&quot;hover&quot;).text)}var s=n(t,e,r,a);if(s&amp;&amp;!1!==s[0].index){var l=s[0];if(void 0===l.index){var c=1-l.y0/t.ya._length,u=t.xa._length,f=u*c/2,h=u-f;return l.x0=Math.max(Math.min(l.x0,h),f),l.x1=Math.max(Math.min(l.x1,h),f),s}var d=l.cd[l.index];l.a=d.a,l.b=d.b,l.c=d.c,l.xLabelVal=void 0,l.yLabelVal=void 0;var p=l.trace,m=l.subplot,g=(d.hi||p.hoverinfo).split(&quot;+&quot;),v=[];return-1!==g.indexOf(&quot;all&quot;)&amp;&amp;(g=[&quot;a&quot;,&quot;b&quot;,&quot;c&quot;]),-1!==g.indexOf(&quot;a&quot;)&amp;&amp;o(m.aaxis,d.a),-1!==g.indexOf(&quot;b&quot;)&amp;&amp;o(m.baxis,d.b),-1!==g.indexOf(&quot;c&quot;)&amp;&amp;o(m.caxis,d.c),l.extraText=v.join(&quot;&lt;br&gt;&quot;),s}}},{&quot;../../plots/cartesian/axes&quot;:789,&quot;../scatter/hover&quot;:1077}],1138:[function(t,e,r){&quot;use strict&quot;;var n={};n.attributes=t(&quot;./attributes&quot;),n.supplyDefaults=t(&quot;./defaults&quot;),n.colorbar=t(&quot;../scatter/colorbar&quot;),n.calc=t(&quot;./calc&quot;),n.plot=t(&quot;./plot&quot;),n.style=t(&quot;../scatter/style&quot;).style,n.hoverPoints=t(&quot;./hover&quot;),n.selectPoints=t(&quot;../scatter/select&quot;),n.eventData=t(&quot;./event_data&quot;),n.moduleType=&quot;trace&quot;,n.name=&quot;scatterternary&quot;,n.basePlotModule=t(&quot;../../plots/ternary&quot;),n.categories=[&quot;ternary&quot;,&quot;symbols&quot;,&quot;markerColorscale&quot;,&quot;showLegend&quot;,&quot;scatter-like&quot;],n.meta={},e.exports=n},{&quot;../../plots/ternary&quot;:866,&quot;../scatter/colorbar&quot;:1070,&quot;../scatter/select&quot;:1086,&quot;../scatter/style&quot;:1087,&quot;./attributes&quot;:1133,&quot;./calc&quot;:1134,&quot;./defaults&quot;:1135,&quot;./event_data&quot;:1136,&quot;./hover&quot;:1137,&quot;./plot&quot;:1139}],1139:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../scatter/plot&quot;);e.exports=function(t,e,r){var i=e.plotContainer;i.select(&quot;.scatterlayer&quot;).selectAll(&quot;*&quot;).remove();var a={xaxis:e.xaxis,yaxis:e.yaxis,plot:i,layerClipId:e._hasClipOnAxisFalse?e.clipIdRelative:null};n(t,a,r)}},{&quot;../scatter/plot&quot;:1085}],1140:[function(t,e,r){&quot;use strict&quot;;function n(t){return{show:{valType:&quot;boolean&quot;,dflt:!1},project:{x:{valType:&quot;boolean&quot;,dflt:!1},y:{valType:&quot;boolean&quot;,dflt:!1},z:{valType:&quot;boolean&quot;,dflt:!1}},color:{valType:&quot;color&quot;,dflt:i.defaultLine},usecolormap:{valType:&quot;boolean&quot;,dflt:!1},width:{valType:&quot;number&quot;,min:1,max:16,dflt:2},highlight:{valType:&quot;boolean&quot;,dflt:!0},highlightcolor:{valType:&quot;color&quot;,dflt:i.defaultLine},highlightwidth:{valType:&quot;number&quot;,min:1,max:16,dflt:2}}}var i=t(&quot;../../components/color&quot;),a=t(&quot;../../components/colorscale/attributes&quot;),o=t(&quot;../../components/colorbar/attributes&quot;),s=t(&quot;../../lib/extend&quot;).extendFlat,l=t(&quot;../../plot_api/edit_types&quot;).overrideAll,c=e.exports=l({z:{valType:&quot;data_array&quot;},x:{valType:&quot;data_array&quot;},y:{valType:&quot;data_array&quot;},text:{valType:&quot;data_array&quot;},surfacecolor:{valType:&quot;data_array&quot;},cauto:a.zauto,cmin:a.zmin,cmax:a.zmax,colorscale:a.colorscale,autocolorscale:s({},a.autocolorscale,{dflt:!1}),reversescale:a.reversescale,showscale:a.showscale,colorbar:o,contours:{x:n(),y:n(),z:n()},hidesurface:{valType:&quot;boolean&quot;,dflt:!1},lightposition:{x:{valType:&quot;number&quot;,min:-1e5,max:1e5,dflt:10},y:{valType:&quot;number&quot;,min:-1e5,max:1e5,dflt:1e4},z:{valType:&quot;number&quot;,min:-1e5,max:1e5,dflt:0}},lighting:{ambient:{valType:&quot;number&quot;,min:0,max:1,dflt:.8},diffuse:{valType:&quot;number&quot;,min:0,max:1,dflt:.8},specular:{valType:&quot;number&quot;,min:0,max:2,dflt:.05},roughness:{valType:&quot;number&quot;,min:0,max:1,dflt:.5},fresnel:{valType:&quot;number&quot;,min:0,max:5,dflt:.2}},opacity:{valType:&quot;number&quot;,min:0,max:1,dflt:1},_deprecated:{zauto:s({},a.zauto,{}),zmin:s({},a.zmin,{}),zmax:s({},a.zmax,{})}},&quot;calc&quot;,&quot;nested&quot;);c.x.editType=c.y.editType=c.z.editType=&quot;calc+clearAxisTypes&quot;},{&quot;../../components/color&quot;:618,&quot;../../components/colorbar/attributes&quot;:619,&quot;../../components/colorscale/attributes&quot;:624,&quot;../../lib/extend&quot;:732,&quot;../../plot_api/edit_types&quot;:773}],1141:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../components/colorscale/calc&quot;);e.exports=function(t,e){e.surfacecolor?n(e,e.surfacecolor,&quot;&quot;,&quot;c&quot;):n(e,e.z,&quot;&quot;,&quot;c&quot;)}},{&quot;../../components/colorscale/calc&quot;:625}],1142:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;fast-isnumeric&quot;),i=t(&quot;../../lib&quot;),a=t(&quot;../../plots/plots&quot;),o=t(&quot;../../components/colorscale&quot;),s=t(&quot;../../components/colorbar/draw&quot;);e.exports=function(t,e){var r=e[0].trace,l=&quot;cb&quot;+r.uid,c=r.cmin,u=r.cmax,f=r.surfacecolor||r.z;if(n(c)||(c=i.aggNums(Math.min,null,f)),n(u)||(u=i.aggNums(Math.max,null,f)),t._fullLayout._infolayer.selectAll(&quot;.&quot;+l).remove(),r.showscale){var h=e[0].t.cb=s(t,l),d=o.makeColorScaleFunc(o.extractScale(r.colorscale,c,u),{noNumericCheck:!0});h.fillcolor(d).filllevels({start:c,end:u,size:(u-c)/254}).options(r.colorbar)()}else a.autoMargin(t,l)}},{&quot;../../components/colorbar/draw&quot;:622,&quot;../../components/colorscale&quot;:633,&quot;../../lib&quot;:743,&quot;../../plots/plots&quot;:852,&quot;fast-isnumeric&quot;:140}],1143:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r){this.scene=t,this.uid=r,this.surface=e,this.data=null,this.showContour=[!1,!1,!1],this.dataScale=1}function i(t){var e=t.shape,r=[e[0]+2,e[1]+2],n=o(new Float32Array(r[0]*r[1]),r);return c.assign(n.lo(1,1).hi(e[0],e[1]),t),c.assign(n.lo(1).hi(e[0],1),t.hi(e[0],1)),c.assign(n.lo(1,r[1]-1).hi(e[0],1),t.lo(0,e[1]-1).hi(e[0],1)),c.assign(n.lo(0,1).hi(1,e[1]),t.hi(1)),c.assign(n.lo(r[0]-1,1).hi(1,e[1]),t.lo(e[0]-1)),n.set(0,0,t.get(0,0)),n.set(0,r[1]-1,t.get(0,e[1]-1)),n.set(r[0]-1,0,t.get(e[0]-1,0)),n.set(r[0]-1,r[1]-1,t.get(e[0]-1,e[1]-1)),n}var a=t(&quot;gl-surface3d&quot;),o=t(&quot;ndarray&quot;),s=t(&quot;ndarray-homography&quot;),l=t(&quot;ndarray-fill&quot;),c=t(&quot;ndarray-ops&quot;),u=t(&quot;tinycolor2&quot;),f=t(&quot;../../lib/str2rgbarray&quot;),h=128,d=n.prototype;d.handlePick=function(t){if(t.object===this.surface){var e=t.index=[Math.min(0|Math.round(t.data.index[0]/this.dataScale-1),this.data.z[0].length-1),Math.min(0|Math.round(t.data.index[1]/this.dataScale-1),this.data.z.length-1)],r=[0,0,0];Array.isArray(this.data.x[0])?r[0]=this.data.x[e[1]][e[0]]:r[0]=this.data.x[e[0]],Array.isArray(this.data.y[0])?r[1]=this.data.y[e[1]][e[0]]:r[1]=this.data.y[e[1]],r[2]=this.data.z[e[1]][e[0]],t.traceCoordinate=r;var n=this.scene.fullSceneLayout;t.dataCoordinate=[n.xaxis.d2l(r[0],0,this.data.xcalendar)*this.scene.dataScale[0],n.yaxis.d2l(r[1],0,this.data.ycalendar)*this.scene.dataScale[1],n.zaxis.d2l(r[2],0,this.data.zcalendar)*this.scene.dataScale[2]];var i=this.data.text;return i&amp;&amp;i[e[1]]&amp;&amp;void 0!==i[e[1]][e[0]]?t.textLabel=i[e[1]][e[0]]:t.textLabel=&quot;&quot;,t.data.dataCoordinate=t.dataCoordinate.slice(),this.surface.highlight(t.data),this.scene.glplot.spikes.position=t.dataCoordinate,!0}},d.setContourLevels=function(){for(var t=[[],[],[]],e=!1,r=0;r&lt;3;++r)this.showContour[r]&amp;&amp;(e=!0,t[r]=this.scene.contourLevels[r]);e&amp;&amp;this.surface.update({levels:t})},d.update=function(t){var e,r=this.scene,n=r.fullSceneLayout,a=this.surface,c=t.opacity,d=function(t,e){return void 0===e&amp;&amp;(e=1),t.map(function(t){var r=t[0],n=u(t[1]).toRgb();return{index:r,rgb:[n.r,n.g,n.b,e]}})}(t.colorscale,c),p=t.z,m=t.x,g=t.y,v=n.xaxis,y=n.yaxis,x=n.zaxis,b=r.dataScale,_=p[0].length,w=p.length,M=[o(new Float32Array(_*w),[_,w]),o(new Float32Array(_*w),[_,w]),o(new Float32Array(_*w),[_,w])],k=M[0],A=M[1],T=r.contourLevels;this.data=t;var S=t.xcalendar,E=t.ycalendar,L=t.zcalendar;l(M[2],function(t,e){return x.d2l(p[e][t],0,L)*b[2]}),Array.isArray(m[0])?l(k,function(t,e){return v.d2l(m[e][t],0,S)*b[0]}):l(k,function(t){return v.d2l(m[t],0,S)*b[0]}),Array.isArray(g[0])?l(A,function(t,e){return y.d2l(g[e][t],0,E)*b[1]}):l(A,function(t,e){return y.d2l(g[e],0,E)*b[1]});var C={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],opacity:t.opacity};if(C.intensityBounds=[t.cmin,t.cmax],t.surfacecolor){var z=o(new Float32Array(_*w),[_,w]);l(z,function(e,r){return t.surfacecolor[r][e]}),M.push(z)}else C.intensityBounds[0]*=b[2],C.intensityBounds[1]*=b[2];this.dataScale=function(t){var e=Math.max(t[0].shape[0],t[0].shape[1]);if(e&lt;h){for(var r=h/e,n=[0|Math.floor(t[0].shape[0]*r+1),0|Math.floor(t[0].shape[1]*r+1)],a=n[0]*n[1],l=0;l&lt;t.length;++l){var c=i(t[l]),u=o(new Float32Array(a),n);s(u,c,[r,0,0,0,r,0,0,0,1]),t[l]=u}return r}return 1}(M),t.surfacecolor&amp;&amp;(C.intensity=M.pop());var D=[!0,!0,!0],I=[&quot;x&quot;,&quot;y&quot;,&quot;z&quot;];for(e=0;e&lt;3;++e){var P=t.contours[I[e]];D[e]=P.highlight,C.showContour[e]=P.show||P.highlight,C.showContour[e]&amp;&amp;(C.contourProject[e]=[P.project.x,P.project.y,P.project.z],P.show?(this.showContour[e]=!0,C.levels[e]=T[e],a.highlightColor[e]=C.contourColor[e]=f(P.color),P.usecolormap?a.highlightTint[e]=C.contourTint[e]=0:a.highlightTint[e]=C.contourTint[e]=1,C.contourWidth[e]=P.width):this.showContour[e]=!1,P.highlight&amp;&amp;(C.dynamicColor[e]=f(P.highlightcolor),C.dynamicWidth[e]=P.highlightwidth))}(function(t){var e=t[0].rgb,r=t[t.length-1].rgb;return e[0]===r[0]&amp;&amp;e[1]===r[1]&amp;&amp;e[2]===r[2]&amp;&amp;e[3]===r[3]})(d)&amp;&amp;(C.vertexColor=!0),C.coords=M,a.update(C),a.visible=t.visible,a.enableDynamic=D,a.snapToData=!0,&quot;lighting&quot;in t&amp;&amp;(a.ambientLight=t.lighting.ambient,a.diffuseLight=t.lighting.diffuse,a.specularLight=t.lighting.specular,a.roughness=t.lighting.roughness,a.fresnel=t.lighting.fresnel),&quot;lightposition&quot;in t&amp;&amp;(a.lightPosition=[t.lightposition.x,t.lightposition.y,t.lightposition.z]),c&amp;&amp;c&lt;1&amp;&amp;(a.supportsTransparency=!0)},d.dispose=function(){this.scene.glplot.remove(this.surface),this.surface.dispose()},e.exports=function(t,e){var r=t.glplot.gl,i=a({gl:r}),o=new n(t,i,e.uid);return i._trace=o,o.update(e),t.glplot.add(i),o}},{&quot;../../lib/str2rgbarray&quot;:765,&quot;gl-surface3d&quot;:254,ndarray:458,&quot;ndarray-fill&quot;:448,&quot;ndarray-homography&quot;:450,&quot;ndarray-ops&quot;:452,tinycolor2:546}],1144:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r){e in t&amp;&amp;!(r in t)&amp;&amp;(t[r]=t[e])}var i=t(&quot;../../registry&quot;),a=t(&quot;../../lib&quot;),o=t(&quot;../../components/colorscale/defaults&quot;),s=t(&quot;./attributes&quot;);e.exports=function(t,e,r,l){function c(r,n){return a.coerce(t,e,s,r,n)}var u,f,h=c(&quot;z&quot;);if(h){var d=h[0].length,p=h.length;c(&quot;x&quot;),c(&quot;y&quot;);if(i.getComponentMethod(&quot;calendars&quot;,&quot;handleTraceDefaults&quot;)(t,e,[&quot;x&quot;,&quot;y&quot;,&quot;z&quot;],l),!Array.isArray(e.x))for(e.x=[],u=0;u&lt;d;++u)e.x[u]=u;if(c(&quot;text&quot;),!Array.isArray(e.y))for(e.y=[],u=0;u&lt;p;++u)e.y[u]=u;[&quot;lighting.ambient&quot;,&quot;lighting.diffuse&quot;,&quot;lighting.specular&quot;,&quot;lighting.roughness&quot;,&quot;lighting.fresnel&quot;,&quot;lightposition.x&quot;,&quot;lightposition.y&quot;,&quot;lightposition.z&quot;,&quot;hidesurface&quot;,&quot;opacity&quot;].forEach(function(t){c(t)});var m=c(&quot;surfacecolor&quot;);c(&quot;colorscale&quot;);var g=[&quot;x&quot;,&quot;y&quot;,&quot;z&quot;];for(u=0;u&lt;3;++u){var v=&quot;contours.&quot;+g[u],y=c(v+&quot;.show&quot;),x=c(v+&quot;.highlight&quot;);if(y||x)for(f=0;f&lt;3;++f)c(v+&quot;.project.&quot;+g[f]);y&amp;&amp;(c(v+&quot;.color&quot;),c(v+&quot;.width&quot;),c(v+&quot;.usecolormap&quot;)),x&amp;&amp;(c(v+&quot;.highlightcolor&quot;),c(v+&quot;.highlightwidth&quot;))}m||(n(t,&quot;zmin&quot;,&quot;cmin&quot;),n(t,&quot;zmax&quot;,&quot;cmax&quot;),n(t,&quot;zauto&quot;,&quot;cauto&quot;)),o(t,e,l,c,{prefix:&quot;&quot;,cLetter:&quot;c&quot;})}else e.visible=!1}},{&quot;../../components/colorscale/defaults&quot;:628,&quot;../../lib&quot;:743,&quot;../../registry&quot;:873,&quot;./attributes&quot;:1140}],1145:[function(t,e,r){&quot;use strict&quot;;var n={};n.attributes=t(&quot;./attributes&quot;),n.supplyDefaults=t(&quot;./defaults&quot;),n.colorbar=t(&quot;./colorbar&quot;),n.calc=t(&quot;./calc&quot;),n.plot=t(&quot;./convert&quot;),n.moduleType=&quot;trace&quot;,n.name=&quot;surface&quot;,n.basePlotModule=t(&quot;../../plots/gl3d&quot;),n.categories=[&quot;gl3d&quot;,&quot;2dMap&quot;,&quot;noOpacity&quot;],n.meta={},e.exports=n},{&quot;../../plots/gl3d&quot;:832,&quot;./attributes&quot;:1140,&quot;./calc&quot;:1141,&quot;./colorbar&quot;:1142,&quot;./convert&quot;:1143,&quot;./defaults&quot;:1144}],1146:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../components/annotations/attributes&quot;),i=t(&quot;../../lib/extend&quot;).extendFlat,a=t(&quot;../../plot_api/edit_types&quot;).overrideAll,o=t(&quot;../../plots/font_attributes&quot;),s=t(&quot;../../plots/domain_attributes&quot;);e.exports=a({domain:s({name:&quot;table&quot;,trace:!0}),columnwidth:{valType:&quot;number&quot;,arrayOk:!0,dflt:null},columnorder:{valType:&quot;data_array&quot;},header:{values:{valType:&quot;data_array&quot;,dflt:[]},format:{valType:&quot;data_array&quot;,dflt:[]},prefix:{valType:&quot;string&quot;,arrayOk:!0,dflt:null},suffix:{valType:&quot;string&quot;,arrayOk:!0,dflt:null},height:{valType:&quot;number&quot;,dflt:28},align:i({},n.align,{arrayOk:!0}),line:{width:{valType:&quot;number&quot;,arrayOk:!0,dflt:1},color:{valType:&quot;color&quot;,arrayOk:!0,dflt:&quot;grey&quot;}},fill:{color:{valType:&quot;color&quot;,arrayOk:!0,dflt:&quot;white&quot;}},font:i({},o({arrayOk:!0}))},cells:{values:{valType:&quot;data_array&quot;,dflt:[]},format:{valType:&quot;data_array&quot;,dflt:[]},prefix:{valType:&quot;string&quot;,arrayOk:!0,dflt:null},suffix:{valType:&quot;string&quot;,arrayOk:!0,dflt:null},height:{valType:&quot;number&quot;,dflt:20},align:i({},n.align,{arrayOk:!0}),line:{width:{valType:&quot;number&quot;,arrayOk:!0,dflt:1},color:{valType:&quot;color&quot;,arrayOk:!0,dflt:&quot;grey&quot;}},fill:{color:{valType:&quot;color&quot;,arrayOk:!0,dflt:&quot;white&quot;}},font:i({},o({arrayOk:!0}))}},&quot;calc&quot;,&quot;from-root&quot;)},{&quot;../../components/annotations/attributes&quot;:601,&quot;../../lib/extend&quot;:732,&quot;../../plot_api/edit_types&quot;:773,&quot;../../plots/domain_attributes&quot;:815,&quot;../../plots/font_attributes&quot;:816}],1147:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../plots/get_data&quot;).getModuleCalcData,i=t(&quot;./plot&quot;);r.name=&quot;table&quot;,r.plot=function(t){var e=n(t.calcdata,&quot;table&quot;);e.length&amp;&amp;i(t,e)},r.clean=function(t,e,r,n){var i=n._has&amp;&amp;n._has(&quot;table&quot;),a=e._has&amp;&amp;e._has(&quot;table&quot;);i&amp;&amp;!a&amp;&amp;n._paperdiv.selectAll(&quot;.table&quot;).remove()}},{&quot;../../plots/get_data&quot;:826,&quot;./plot&quot;:1154}],1148:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib/gup&quot;).wrap;e.exports=function(t,e){return n(e)}},{&quot;../../lib/gup&quot;:740}],1149:[function(t,e,r){&quot;use strict&quot;;e.exports={maxDimensionCount:60,overdrag:45,cellPad:8,latexCheck:/^\$.*\$$/,wrapSplitCharacter:&quot; &quot;,wrapSpacer:&quot; &quot;,lineBreaker:&quot;&lt;br&gt;&quot;,uplift:5,goldenRatio:1.618,columnTitleOffset:28,columnExtentOffset:10,transitionEase:&quot;cubic-out&quot;,transitionDuration:100,releaseTransitionEase:&quot;cubic-out&quot;,releaseTransitionDuration:120,scrollbarWidth:8,scrollbarCaptureWidth:18,scrollbarOffset:5,scrollbarHideDelay:1e3,scrollbarHideDuration:1e3,cn:{table:&quot;table&quot;,tableControlView:&quot;table-control-view&quot;,scrollBackground:&quot;scroll-background&quot;,yColumn:&quot;y-column&quot;,columnBlock:&quot;column-block&quot;,scrollAreaClip:&quot;scroll-area-clip&quot;,scrollAreaClipRect:&quot;scroll-area-clip-rect&quot;,columnBoundary:&quot;column-boundary&quot;,columnBoundaryClippath:&quot;column-boundary-clippath&quot;,columnBoundaryRect:&quot;column-boundary-rect&quot;,columnCells:&quot;column-cells&quot;,columnCell:&quot;column-cell&quot;,cellRect:&quot;cell-rect&quot;,cellText:&quot;cell-text&quot;,cellTextHolder:&quot;cell-text-holder&quot;,scrollbarKit:&quot;scrollbar-kit&quot;,scrollbar:&quot;scrollbar&quot;,scrollbarSlider:&quot;scrollbar-slider&quot;,scrollbarGlyph:&quot;scrollbar-glyph&quot;,scrollbarCaptureZone:&quot;scrollbar-capture-zone&quot;}}},{}],1150:[function(t,e,r){&quot;use strict&quot;;function n(t){return t.calcdata.columns.reduce(function(e,r){return r.xIndex&lt;t.xIndex?e+r.columnWidth:e},0)}function i(t,e){return Object.keys(t).map(function(r){return s({},t[r],{auxiliaryBlocks:e})})}function a(t,e){for(var r,n={},i=0,a=0,o={firstRowIndex:null,lastRowIndex:null,rows:[]},s=0,l=0,c=0;c&lt;t.length;c++)r=t[c],o.rows.push({rowIndex:c,rowHeight:r}),((a+=r)&gt;=e||c===t.length-1)&amp;&amp;(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}var o=t(&quot;./constants&quot;),s=t(&quot;../../lib/extend&quot;).extendFlat,l=t(&quot;fast-isnumeric&quot;);e.exports=function(t,e){var r=e.header.values.map(function(t){return Array.isArray(t)?t:[t]}),c=e.cells.values,u=e.domain,f=Math.floor(t._fullLayout._size.w*(u.x[1]-u.x[0])),h=Math.floor(t._fullLayout._size.h*(u.y[1]-u.y[0])),d=r.length?r[0].map(function(){return e.header.height}):[],p=c.length?c[0].map(function(){return e.cells.height}):[],m=d.reduce(function(t,e){return t+e},0),g=a(p,h-m+o.uplift),v=i(a(d,m),[]),y=i(g,v),x={},b=e._fullInput.columnorder,_=r.map(function(t,r){var n=Array.isArray(e.columnwidth)?e.columnwidth[Math.min(r,e.columnwidth.length-1)]:e.columnwidth;return l(n)?Number(n):1}),w=_.reduce(function(t,e){return t+e},0);_=_.map(function(t){return t/w*f});var M={key:e.index,translateX:u.x[0]*t._fullLayout._size.w,translateY:t._fullLayout._size.h*(1-u.y[1]),size:t._fullLayout._size,width:f,height:h,columnOrder:b,groupHeight:h,rowBlocks:y,headerRowBlocks:v,scrollY:0,cells:e.cells,headerCells:s({},e.header,{values:r}),gdColumns:r.map(function(t){return t[0]}),gdColumnsOriginalOrder:r.map(function(t){return t[0]}),prevPages:[0,0],scrollbarState:{scrollbarScrollInProgress:!1},columns:r.map(function(t,e){var r=x[t];x[t]=(r||0)+1;return{key:t+&quot;__&quot;+x[t],label:t,specIndex:e,xIndex:b[e],xScale:n,x:void 0,calcdata:void 0,columnWidth:_[e]}})};return M.columns.forEach(function(t){t.calcdata=M,t.x=n(t)}),M}},{&quot;../../lib/extend&quot;:732,&quot;./constants&quot;:1149,&quot;fast-isnumeric&quot;:140}],1151:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib/extend&quot;).extendFlat;r.splitToPanels=function(t){var e=[0,0],r=n({},t,{key:&quot;header&quot;,type:&quot;header&quot;,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:&quot;cells1&quot;,type:&quot;cells&quot;,page:0,prevPages:e,currentRepaint:[null,null],dragHandle:!1,values:t.calcdata.cells.values[t.specIndex],rowBlocks:t.calcdata.rowBlocks}),n({},t,{key:&quot;cells2&quot;,type:&quot;cells&quot;,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;return[r,e?r+e.rows.length:0]}(t);return t.values.slice(e[0],e[1]).map(function(r,n){return{keyWithinBlock:n+(&quot;string&quot;==typeof r&amp;&amp;r.match(/[&lt;$&amp;&gt; ]/)?&quot;_keybuster_&quot;+Math.random():&quot;&quot;),key:e[0]+n,column:t,calcdata:t.calcdata,page:t.page,rowBlocks:t.rowBlocks,value:r}})}},{&quot;../../lib/extend&quot;:732}],1152:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib&quot;),i=t(&quot;./attributes&quot;);e.exports=function(t,e,r,a){function o(r,a){return n.coerce(t,e,i,r,a)}o(&quot;domain.x&quot;),o(&quot;domain.y&quot;),o(&quot;columnwidth&quot;),o(&quot;header.values&quot;),o(&quot;header.format&quot;),o(&quot;header.align&quot;),o(&quot;header.prefix&quot;),o(&quot;header.suffix&quot;),o(&quot;header.height&quot;),o(&quot;header.line.width&quot;),o(&quot;header.line.color&quot;),o(&quot;header.fill.color&quot;),n.coerceFont(o,&quot;header.font&quot;,n.extendFlat({},a.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&lt;n;s++)o.push(s);e(&quot;columnorder&quot;,o)}(e,o),o(&quot;cells.values&quot;),o(&quot;cells.format&quot;),o(&quot;cells.align&quot;),o(&quot;cells.prefix&quot;),o(&quot;cells.suffix&quot;),o(&quot;cells.height&quot;),o(&quot;cells.line.width&quot;),o(&quot;cells.line.color&quot;),o(&quot;cells.fill.color&quot;),n.coerceFont(o,&quot;cells.font&quot;,n.extendFlat({},a.font))}},{&quot;../../lib&quot;:743,&quot;./attributes&quot;:1146}],1153:[function(t,e,r){&quot;use strict&quot;;var n={};n.attributes=t(&quot;./attributes&quot;),n.supplyDefaults=t(&quot;./defaults&quot;),n.calc=t(&quot;./calc&quot;),n.plot=t(&quot;./plot&quot;),n.moduleType=&quot;trace&quot;,n.name=&quot;table&quot;,n.basePlotModule=t(&quot;./base_plot&quot;),n.categories=[&quot;noOpacity&quot;],n.meta={},e.exports=n},{&quot;./attributes&quot;:1146,&quot;./base_plot&quot;:1147,&quot;./calc&quot;:1148,&quot;./defaults&quot;:1152,&quot;./plot&quot;:1154}],1154:[function(t,e,r){&quot;use strict&quot;;function n(t,e){return&quot;clip&quot;+t._fullLayout._uid+&quot;_scrollAreaBottomClip_&quot;+e.key}function i(t,e){return&quot;clip&quot;+t._fullLayout._uid+&quot;_columnBoundaryClippath_&quot;+e.calcdata.key+&quot;_&quot;+e.specIndex}function a(t){return[].concat.apply([],t.map(function(t){return t})).map(function(t){return t.__data__})}function o(t,e,r){var n=t.selectAll(&quot;.&quot;+M.cn.scrollbarKit).data(A.repeat,A.keyFun);n.enter().append(&quot;g&quot;).classed(M.cn.scrollbarKit,!0).style(&quot;shape-rendering&quot;,&quot;geometricPrecision&quot;),n.each(function(t){var e=t.scrollbarState;e.totalHeight=function(t){var e=t.rowBlocks;return b(e,e.length-1)+(e.length?_(e[e.length-1],1/0):1)}(t),e.scrollableAreaHeight=t.groupHeight-p(t),e.currentlyVisibleHeight=Math.min(e.totalHeight,e.scrollableAreaHeight),e.ratio=e.currentlyVisibleHeight/e.totalHeight,e.barLength=Math.max(e.ratio*e.currentlyVisibleHeight,M.goldenRatio*M.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(&quot;transform&quot;,function(t){return&quot;translate(&quot;+(t.width+M.scrollbarWidth/2+M.scrollbarOffset)+&quot; &quot;+p(t)+&quot;)&quot;});var i=n.selectAll(&quot;.&quot;+M.cn.scrollbar).data(A.repeat,A.keyFun);i.enter().append(&quot;g&quot;).classed(M.cn.scrollbar,!0);var a=i.selectAll(&quot;.&quot;+M.cn.scrollbarSlider).data(A.repeat,A.keyFun);a.enter().append(&quot;g&quot;).classed(M.cn.scrollbarSlider,!0),a.attr(&quot;transform&quot;,function(t){return&quot;translate(0 &quot;+(t.scrollbarState.topY||0)+&quot;)&quot;});var o=a.selectAll(&quot;.&quot;+M.cn.scrollbarGlyph).data(A.repeat,A.keyFun);o.enter().append(&quot;line&quot;).classed(M.cn.scrollbarGlyph,!0).attr(&quot;stroke&quot;,&quot;black&quot;).attr(&quot;stroke-width&quot;,M.scrollbarWidth).attr(&quot;stroke-linecap&quot;,&quot;round&quot;).attr(&quot;y1&quot;,M.scrollbarWidth/2),o.attr(&quot;y2&quot;,function(t){return t.scrollbarState.barLength-M.scrollbarWidth/2}).attr(&quot;stroke-opacity&quot;,function(t){return t.columnDragInProgress||!t.scrollbarState.barWiggleRoom||r?0:.4}),o.transition().delay(0).duration(0),o.transition().delay(M.scrollbarHideDelay).duration(M.scrollbarHideDuration).attr(&quot;stroke-opacity&quot;,0);var s=i.selectAll(&quot;.&quot;+M.cn.scrollbarCaptureZone).data(A.repeat,A.keyFun);s.enter().append(&quot;line&quot;).classed(M.cn.scrollbarCaptureZone,!0).attr(&quot;stroke&quot;,&quot;white&quot;).attr(&quot;stroke-opacity&quot;,.01).attr(&quot;stroke-width&quot;,M.scrollbarCaptureWidth).attr(&quot;stroke-linecap&quot;,&quot;butt&quot;).attr(&quot;y1&quot;,0).on(&quot;mousedown&quot;,function(r){var n=k.event.y,i=this.getBoundingClientRect(),a=r.scrollbarState,o=n-i.top,s=k.scale.linear().domain([0,a.scrollableAreaHeight]).range([0,a.totalHeight]).clamp(!0);a.topY&lt;=o&amp;&amp;o&lt;=a.bottomY||g(e,t,null,s(o-a.barLength/2))(r)}).call(k.behavior.drag().origin(function(t){return k.event.stopPropagation(),t.scrollbarState.scrollbarScrollInProgress=!0,t}).on(&quot;drag&quot;,g(e,t)).on(&quot;dragend&quot;,function(){})),s.attr(&quot;y2&quot;,function(t){return t.scrollbarState.scrollableAreaHeight})}function s(t,e,r,n){var i=function(t){var e=t.selectAll(&quot;.&quot;+M.cn.columnCell).data(z.splitToCells,function(t){return t.keyWithinBlock});return e.enter().append(&quot;g&quot;).classed(M.cn.columnCell,!0),e.exit().remove(),e}(function(t){var e=t.selectAll(&quot;.&quot;+M.cn.columnCells).data(A.repeat,A.keyFun);return e.enter().append(&quot;g&quot;).classed(M.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:u(r.size,n,e),color:u(r.color,n,e),family:u(r.family,n,e)};t.rowNumber=t.key,t.align=u(t.calcdata.cells.align,n,e),t.cellBorderWidth=u(t.calcdata.cells.line.width,n,e),t.font=i})}(i);!function(t){t.attr(&quot;width&quot;,function(t){return t.column.columnWidth}).attr(&quot;stroke-width&quot;,function(t){return t.cellBorderWidth}).each(function(t){var e=k.select(this);D.stroke(e,u(t.calcdata.cells.line.color,t.column.specIndex,t.rowNumber)),D.fill(e,u(t.calcdata.cells.fill.color,t.column.specIndex,t.rowNumber))})}(function(t){var e=t.selectAll(&quot;.&quot;+M.cn.cellRect).data(A.repeat,function(t){return t.keyWithinBlock});return e.enter().append(&quot;rect&quot;).classed(M.cn.cellRect,!0),e}(i));var a=function(t){var e=t.selectAll(&quot;.&quot;+M.cn.cellText).data(A.repeat,function(t){return t.keyWithinBlock});return e.enter().append(&quot;text&quot;).classed(M.cn.cellText,!0).style(&quot;cursor&quot;,function(){return&quot;auto&quot;}).on(&quot;mousedown&quot;,function(){k.event.stopPropagation()}),e}(function(t){var e=t.selectAll(&quot;.&quot;+M.cn.cellTextHolder).data(A.repeat,function(t){return t.keyWithinBlock});return e.enter().append(&quot;g&quot;).classed(M.cn.cellTextHolder,!0).style(&quot;shape-rendering&quot;,&quot;geometricPrecision&quot;),e}(i));!function(t){t.each(function(t){T.font(k.select(this),t.font)})}(a),l(a,e,n,t),x(i)}function l(t,e,r,n){t.text(function(t){var e=t.column.specIndex,r=t.rowNumber,n=t.value,i=&quot;string&quot;==typeof n,a=i&amp;&amp;n.match(/&lt;br&gt;/i),o=!i||a;t.mayHaveMarkup=i&amp;&amp;n.match(/[&lt;&amp;&gt;]/);var s=function(t){return&quot;string&quot;==typeof t&amp;&amp;t.match(M.latexCheck)}(n);t.latex=s;var l,f=s?&quot;&quot;:u(t.calcdata.cells.prefix,e,r)||&quot;&quot;,h=s?&quot;&quot;:u(t.calcdata.cells.suffix,e,r)||&quot;&quot;,d=s?null:u(t.calcdata.cells.format,e,r)||null,p=f+(d?k.format(d)(t.value):t.value)+h;t.wrappingNeeded=!t.wrapped&amp;&amp;!o&amp;&amp;!s&amp;&amp;(l=c(p)),t.cellHeightMayIncrease=a||s||t.mayHaveMarkup||(void 0===l?c(p):l),t.needsConvertToTspans=t.mayHaveMarkup||t.wrappingNeeded||t.latex;var m;if(t.wrappingNeeded){var g=(&quot; &quot;===M.wrapSplitCharacter?p.replace(/&lt;a href=/gi,&quot;&lt;a_href=&quot;):p).split(M.wrapSplitCharacter),v=&quot; &quot;===M.wrapSplitCharacter?g.map(function(t){return t.replace(/&lt;a_href=/gi,&quot;&lt;a href=&quot;)}):g;t.fragments=v.map(function(t){return{text:t,width:null}}),t.fragments.push({fragment:M.wrapSpacer,width:null}),m=v.join(M.lineBreaker)+M.lineBreaker+M.wrapSpacer}else delete t.fragments,m=p;return m}).attr(&quot;dy&quot;,function(t){return t.needsConvertToTspans?0:&quot;0.75em&quot;}).each(function(t){var i=k.select(this),a=t.wrappingNeeded?function(t,e,r){return function(){var n=k.select(e.parentNode);n.each(function(t){var e=t.fragments;n.selectAll(&quot;tspan.line&quot;).each(function(t,r){e[r].width=this.getComputedTextLength()});var r,i,a=e[e.length-1].width,o=e.slice(0,-1),s=[],l=0,c=t.column.columnWidth-2*M.cellPad;for(t.value=&quot;&quot;;o.length;)r=o.shift(),i=r.width+a,l+i&gt;c&amp;&amp;(t.value+=s.join(M.wrapSpacer)+M.lineBreaker,s=[],l=0),s.push(r.text),l+=i;l&amp;&amp;(t.value+=s.join(M.wrapSpacer)),t.wrapped=!0}),n.selectAll(&quot;tspan.line&quot;).remove(),l(n.select(&quot;.&quot;+M.cn.cellText),r,t),k.select(e.parentNode.parentNode).call(x)}}:function(t,e,r,n,i){return function(){if(!i.settledY){var a=k.select(e.parentNode),s=w(i),l=i.key-s.firstRowIndex,c=s.rows[l].rowHeight,u=i.cellHeightMayIncrease?e.parentNode.getBoundingClientRect().height+2*M.cellPad:c,f=Math.max(u,c),d=f-s.rows[l].rowHeight;d&amp;&amp;(s.rows[l].rowHeight=f,t.selectAll(&quot;.&quot;+M.cn.columnCell).call(x),m(null,t.filter(h),0),o(r,n,!0)),a.attr(&quot;transform&quot;,function(){var t=this.parentNode,e=t.getBoundingClientRect(),r=k.select(this.parentNode).select(&quot;.&quot;+M.cn.cellRect).node().getBoundingClientRect(),n=this.transform.baseVal.consolidate(),a=r.top-e.top+(n?n.matrix.f:M.cellPad);return&quot;translate(&quot;+y(i,k.select(this.parentNode).select(&quot;.&quot;+M.cn.cellTextHolder).node().getBoundingClientRect().width)+&quot; &quot;+a+&quot;)&quot;}),i.settledY=!0}}};t.needsConvertToTspans?S.convertToTspans(i,n,a(r,this,e,n,t)):k.select(this.parentNode).attr(&quot;transform&quot;,function(t){return&quot;translate(&quot;+y(t)+&quot; &quot;+M.cellPad+&quot;)&quot;}).attr(&quot;text-anchor&quot;,function(t){return{left:&quot;start&quot;,center:&quot;middle&quot;,right:&quot;end&quot;}[t.align]})})}function c(t){return-1!==t.indexOf(M.wrapSplitCharacter)}function u(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 f(t,e,r){t.transition().ease(M.releaseTransitionEase).duration(M.releaseTransitionDuration).attr(&quot;transform&quot;,&quot;translate(&quot;+e.x+&quot; &quot;+r+&quot;)&quot;)}function h(t){return&quot;cells&quot;===t.type}function d(t){return&quot;header&quot;===t.type}function p(t){return(t.rowBlocks.length?t.rowBlocks[0].auxiliaryBlocks:[]).reduce(function(t,e){return t+_(e,1/0)},0)}function m(t,e,r){var n=a(e)[0];if(void 0!==n){var i=n.rowBlocks,s=n.calcdata,l=b(i,i.length),c=n.calcdata.groupHeight-p(n),u=s.scrollY=Math.max(0,Math.min(l-c,s.scrollY)),f=function(t,e,r){for(var n=[],i=0,a=0;a&lt;t.length;a++){for(var o=t[a],s=o.rows,l=0,c=0;c&lt;s.length;c++)l+=s[c].rowHeight;o.allRowsHeight=l,e&lt;i+l&amp;&amp;e+r&gt;i&amp;&amp;n.push(a),i+=l}return n}(i,u,c);1===f.length&amp;&amp;(f[0]===i.length-1?f.unshift(f[0]-1):f.push(f[0]+1)),f[0]%2&amp;&amp;f.reverse(),e.each(function(t,e){t.page=f[e],t.scrollY=u}),e.attr(&quot;transform&quot;,function(t){return&quot;translate(0 &quot;+(b(t.rowBlocks,t.page)-t.scrollY)+&quot;)&quot;}),t&amp;&amp;(v(t,r,e,f,n.prevPages,n,0),v(t,r,e,f,n.prevPages,n,1),o(r,t))}}function g(t,e,r,n){return function(i){var a=i.calcdata?i.calcdata:i,o=e.filter(function(t){return a.key===t.key}),s=r||a.scrollbarState.dragMultiplier;a.scrollY=void 0===n?a.scrollY+s*k.event.dy:n;var l=o.selectAll(&quot;.&quot;+M.cn.yColumn).selectAll(&quot;.&quot;+M.cn.columnBlock).filter(h);m(t,l,o)}}function v(t,e,r,n,i,a,o){n[o]!==i[o]&amp;&amp;(clearTimeout(a.currentRepaint[o]),a.currentRepaint[o]=setTimeout(function(){var a=r.filter(function(t,e){return e===o&amp;&amp;n[e]!==i[e]});s(t,e,a,r),i[o]=n[o]}))}function y(t,e){switch(t.align){case&quot;left&quot;:return M.cellPad;case&quot;right&quot;:return t.column.columnWidth-(e||0)-M.cellPad;case&quot;center&quot;:return(t.column.columnWidth-(e||0))/2;default:return M.cellPad}}function x(t){t.attr(&quot;transform&quot;,function(t){var e=t.rowBlocks[0].auxiliaryBlocks.reduce(function(t,e){return t+_(e,1/0)},0);return&quot;translate(0 &quot;+(_(w(t),t.key)+e)+&quot;)&quot;}).selectAll(&quot;.&quot;+M.cn.cellRect).attr(&quot;height&quot;,function(t){return function(t,e){return t.rows[e-t.firstRowIndex]}(w(t),t.key).rowHeight})}function b(t,e){for(var r=0,n=e-1;n&gt;=0;n--)r+=function(t){var e=t.allRowsHeight;if(void 0!==e)return e;for(var r=0,n=0;n&lt;t.rows.length;n++)r+=t.rows[n].rowHeight;return t.allRowsHeight=r,r}(t[n]);return r}function _(t,e){for(var r=0,n=0;n&lt;t.rows.length&amp;&amp;t.rows[n].rowIndex&lt;e;n++)r+=t.rows[n].rowHeight;return r}function w(t){return t.rowBlocks[t.page]}var M=t(&quot;./constants&quot;),k=t(&quot;d3&quot;),A=t(&quot;../../lib/gup&quot;),T=t(&quot;../../components/drawing&quot;),S=t(&quot;../../lib/svg_text_utils&quot;),E=t(&quot;../../lib&quot;).raiseToTop,L=t(&quot;../../lib&quot;).cancelTransition,C=t(&quot;./data_preparation_helper&quot;),z=t(&quot;./data_split_helpers&quot;),D=t(&quot;../../components/color&quot;);e.exports=function(t,e){var r=t._fullLayout._paper.selectAll(&quot;.&quot;+M.cn.table).data(e.map(function(e){var r=A.unwrap(e).trace;return C(t,r)}),A.keyFun);r.exit().remove(),r.enter().append(&quot;g&quot;).classed(M.cn.table,!0).attr(&quot;overflow&quot;,&quot;visible&quot;).style(&quot;box-sizing&quot;,&quot;content-box&quot;).style(&quot;position&quot;,&quot;absolute&quot;).style(&quot;left&quot;,0).style(&quot;overflow&quot;,&quot;visible&quot;).style(&quot;shape-rendering&quot;,&quot;crispEdges&quot;).style(&quot;pointer-events&quot;,&quot;all&quot;),r.attr(&quot;width&quot;,function(t){return t.width+t.size.l+t.size.r}).attr(&quot;height&quot;,function(t){return t.height+t.size.t+t.size.b}).attr(&quot;transform&quot;,function(t){return&quot;translate(&quot;+t.translateX+&quot;,&quot;+t.translateY+&quot;)&quot;});var l=r.selectAll(&quot;.&quot;+M.cn.tableControlView).data(A.repeat,A.keyFun);l.enter().append(&quot;g&quot;).classed(M.cn.tableControlView,!0).style(&quot;box-sizing&quot;,&quot;content-box&quot;).on(&quot;mousemove&quot;,function(e){l.filter(function(t){return e===t}).call(o,t)}).on(&quot;mousewheel&quot;,function(e){e.scrollbarState.wheeling||(e.scrollbarState.wheeling=!0,k.event.stopPropagation(),k.event.preventDefault(),g(t,l,null,e.scrollY+k.event.deltaY)(e),e.scrollbarState.wheeling=!1)}).call(o,t,!0),l.attr(&quot;transform&quot;,function(t){return&quot;translate(&quot;+t.size.l+&quot; &quot;+t.size.t+&quot;)&quot;});var c=l.selectAll(&quot;.&quot;+M.cn.scrollBackground).data(A.repeat,A.keyFun);c.enter().append(&quot;rect&quot;).classed(M.cn.scrollBackground,!0).attr(&quot;fill&quot;,&quot;none&quot;),c.attr(&quot;width&quot;,function(t){return t.width}).attr(&quot;height&quot;,function(t){return t.height}),l.each(function(e){T.setClipUrl(k.select(this),n(t,e))});var u=l.selectAll(&quot;.&quot;+M.cn.yColumn).data(function(t){return t.columns},A.keyFun);u.enter().append(&quot;g&quot;).classed(M.cn.yColumn,!0),u.exit().remove(),u.attr(&quot;transform&quot;,function(t){return&quot;translate(&quot;+t.x+&quot; 0)&quot;}).call(k.behavior.drag().origin(function(e){return f(k.select(this),e,-M.uplift),E(this),e.calcdata.columnDragInProgress=!0,o(l.filter(function(t){return e.calcdata.key===t.key}),t),e}).on(&quot;drag&quot;,function(t){var e=k.select(this),r=function(e){return(t===e?k.event.x:e.x)+e.columnWidth/2};t.x=Math.max(-M.overdrag,Math.min(t.calcdata.width+M.overdrag-t.columnWidth,k.event.x));a(u).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)}),u.filter(function(e){return t!==e}).transition().ease(M.transitionEase).duration(M.transitionDuration).attr(&quot;transform&quot;,function(t){return&quot;translate(&quot;+t.x+&quot; 0)&quot;}),e.call(L).attr(&quot;transform&quot;,&quot;translate(&quot;+t.x+&quot; -&quot;+M.uplift+&quot; )&quot;)}).on(&quot;dragend&quot;,function(e){var r=k.select(this),n=e.calcdata;e.x=e.xScale(e),e.calcdata.columnDragInProgress=!1,f(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(&quot;plotly_restyle&quot;)}(t,n,n.columns.map(function(t){return t.xIndex}))})),u.each(function(e){T.setClipUrl(k.select(this),i(t,e))});var p=u.selectAll(&quot;.&quot;+M.cn.columnBlock).data(z.splitToPanels,A.keyFun);p.enter().append(&quot;g&quot;).classed(M.cn.columnBlock,!0).attr(&quot;id&quot;,function(t){return t.key}),p.style(&quot;cursor&quot;,function(t){return t.dragHandle?&quot;ew-resize&quot;:t.calcdata.scrollbarState.barWiggleRoom?&quot;ns-resize&quot;:&quot;default&quot;});var v=p.filter(d),y=p.filter(h);y.call(k.behavior.drag().origin(function(t){return k.event.stopPropagation(),t}).on(&quot;drag&quot;,g(t,l,-1)).on(&quot;dragend&quot;,function(){})),s(t,l,v,p),s(t,l,y,p);var x=l.selectAll(&quot;.&quot;+M.cn.scrollAreaClip).data(A.repeat,A.keyFun);x.enter().append(&quot;clipPath&quot;).classed(M.cn.scrollAreaClip,!0).attr(&quot;id&quot;,function(e){return n(t,e)});var b=x.selectAll(&quot;.&quot;+M.cn.scrollAreaClipRect).data(A.repeat,A.keyFun);b.enter().append(&quot;rect&quot;).classed(M.cn.scrollAreaClipRect,!0).attr(&quot;x&quot;,-M.overdrag).attr(&quot;y&quot;,-M.uplift).attr(&quot;fill&quot;,&quot;none&quot;),b.attr(&quot;width&quot;,function(t){return t.width+2*M.overdrag}).attr(&quot;height&quot;,function(t){return t.height+M.uplift});u.selectAll(&quot;.&quot;+M.cn.columnBoundary).data(A.repeat,A.keyFun).enter().append(&quot;g&quot;).classed(M.cn.columnBoundary,!0);var _=u.selectAll(&quot;.&quot;+M.cn.columnBoundaryClippath).data(A.repeat,A.keyFun);_.enter().append(&quot;clipPath&quot;).classed(M.cn.columnBoundaryClippath,!0),_.attr(&quot;id&quot;,function(e){return i(t,e)});var w=_.selectAll(&quot;.&quot;+M.cn.columnBoundaryRect).data(A.repeat,A.keyFun);w.enter().append(&quot;rect&quot;).classed(M.cn.columnBoundaryRect,!0).attr(&quot;fill&quot;,&quot;none&quot;),w.attr(&quot;width&quot;,function(t){return t.columnWidth}).attr(&quot;height&quot;,function(t){return t.calcdata.height+M.uplift}),m(null,y,l)}},{&quot;../../components/color&quot;:618,&quot;../../components/drawing&quot;:643,&quot;../../lib&quot;:743,&quot;../../lib/gup&quot;:740,&quot;../../lib/svg_text_utils&quot;:766,&quot;./constants&quot;:1149,&quot;./data_preparation_helper&quot;:1150,&quot;./data_split_helpers&quot;:1151,d3:128}],1155:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../box/attributes&quot;),i=t(&quot;../../lib/extend&quot;).extendFlat;e.exports={y:n.y,x:n.x,x0:n.x0,y0:n.y0,name:n.name,orientation:i({},n.orientation,{}),bandwidth:{valType:&quot;number&quot;,min:0,editType:&quot;calc&quot;},scalegroup:{valType:&quot;string&quot;,dflt:&quot;&quot;,editType:&quot;calc&quot;},scalemode:{valType:&quot;enumerated&quot;,values:[&quot;width&quot;,&quot;count&quot;],dflt:&quot;width&quot;,editType:&quot;calc&quot;},spanmode:{valType:&quot;enumerated&quot;,values:[&quot;soft&quot;,&quot;hard&quot;,&quot;manual&quot;],dflt:&quot;soft&quot;,editType:&quot;calc&quot;},span:{valType:&quot;info_array&quot;,items:[{valType:&quot;any&quot;,editType:&quot;calc&quot;},{valType:&quot;any&quot;,editType:&quot;calc&quot;}],editType:&quot;calc&quot;},line:{color:{valType:&quot;color&quot;,editType:&quot;style&quot;},width:{valType:&quot;number&quot;,min:0,dflt:2,editType:&quot;style&quot;},editType:&quot;plot&quot;},fillcolor:n.fillcolor,points:i({},n.boxpoints,{}),jitter:i({},n.jitter,{}),pointpos:i({},n.pointpos,{}),marker:n.marker,text:n.text,box:{visible:{valType:&quot;boolean&quot;,dflt:!1,editType:&quot;plot&quot;},width:{valType:&quot;number&quot;,min:0,max:1,dflt:.25,editType:&quot;plot&quot;},fillcolor:{valType:&quot;color&quot;,editType:&quot;style&quot;},line:{color:{valType:&quot;color&quot;,editType:&quot;style&quot;},width:{valType:&quot;number&quot;,min:0,editType:&quot;style&quot;},editType:&quot;style&quot;},editType:&quot;plot&quot;},meanline:{visible:{valType:&quot;boolean&quot;,dflt:!1,editType:&quot;plot&quot;},color:{valType:&quot;color&quot;,editType:&quot;style&quot;},width:{valType:&quot;number&quot;,min:0,editType:&quot;style&quot;},editType:&quot;plot&quot;},side:{valType:&quot;enumerated&quot;,values:[&quot;both&quot;,&quot;positive&quot;,&quot;negative&quot;],dflt:&quot;both&quot;,editType:&quot;plot&quot;},selected:n.selected,unselected:n.unselected,hoveron:{valType:&quot;flaglist&quot;,flags:[&quot;violins&quot;,&quot;points&quot;,&quot;kde&quot;],dflt:&quot;violins+points+kde&quot;,extras:[&quot;all&quot;],editType:&quot;style&quot;}}},{&quot;../../lib/extend&quot;:732,&quot;../box/attributes&quot;:896}],1156:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib&quot;),i=t(&quot;../../plots/cartesian/axes&quot;),a=t(&quot;../box/calc&quot;),o=t(&quot;./helpers&quot;),s=t(&quot;../../constants/numerical&quot;).BADNUM;e.exports=function(t,e){var r=a(t,e);if(r[0].t.empty)return r;var l=t._fullLayout,c=i.getFromId(t,e[&quot;h&quot;===e.orientation?&quot;xaxis&quot;:&quot;yaxis&quot;]),u=l._violinScaleGroupStats,f=e.scalegroup,h=u[f];h||(h=u[f]={maxWidth:0,maxCount:0});for(var d=0;d&lt;r.length;d++){var p=r[d],m=p.pts.map(o.extractVal),g=m.length,v=function(t,e,r){return 1.059*Math.min(e,r/1.349)*Math.pow(t.length,-.2)}(m,n.stdev(m,g-1,p.mean),p.q3-p.q1),y=p.bandwidth=e.bandwidth||v,x=p.span=function(t,e,r,n){function a(n){var i=c[n],a=r.d2c(i,0,t[e.valLetter+&quot;calendar&quot;]);return a===s?f[n]:a}var o,l=t.spanmode,c=t.span||[],u=[e.min,e.max],f=[e.min-2*n,e.max+2*n],h={type:&quot;linear&quot;,range:o=&quot;soft&quot;===l?f:&quot;hard&quot;===l?u:[a(0),a(1)]};return i.setConvert(h),h.cleanRange(),o}(e,p,c,y),b=x[1]-x[0],_=Math.ceil(b/(Math.min(v,y)/3)),w=b/_;if(!isFinite(w)||!isFinite(_))return n.error(&quot;Something went wrong with computing the violin span&quot;),r[0].t.empty=!0,r;var M=o.makeKDE(p,e,m);p.density=new Array(_);for(var k=0,A=x[0];A&lt;x[1]+w/2;k++,A+=w){var T=M(A);h.maxWidth=Math.max(h.maxWidth,T),p.density[k]={v:T,t:A}}i.expand(c,x,{padded:!0}),h.maxCount=Math.max(h.maxCount,m.length)}return r[0].t.labels.kde=n._(t,&quot;kde:&quot;),r}},{&quot;../../constants/numerical&quot;:721,&quot;../../lib&quot;:743,&quot;../../plots/cartesian/axes&quot;:789,&quot;../box/calc&quot;:897,&quot;./helpers&quot;:1158}],1157:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib&quot;),i=t(&quot;../../components/color&quot;),a=t(&quot;../box/defaults&quot;),o=t(&quot;./attributes&quot;);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(&quot;bandwidth&quot;),l(&quot;scalegroup&quot;,e.name),l(&quot;scalemode&quot;),l(&quot;side&quot;);var u,f=l(&quot;span&quot;);Array.isArray(f)&amp;&amp;(u=&quot;manual&quot;),l(&quot;spanmode&quot;,u);var h=l(&quot;line.color&quot;,(t.marker||{}).color||r),d=l(&quot;line.width&quot;),p=l(&quot;fillcolor&quot;,i.addOpacity(e.line.color,.5));a.handlePointsDefaults(t,e,l,{prefix:&quot;&quot;});var m=c(&quot;box.width&quot;),g=c(&quot;box.fillcolor&quot;,p),v=c(&quot;box.line.color&quot;,h),y=c(&quot;box.line.width&quot;,d);l(&quot;box.visible&quot;,Boolean(m||g||v||y))||delete e.box;var x=c(&quot;meanline.color&quot;,h),b=c(&quot;meanline.width&quot;,d);l(&quot;meanline.visible&quot;,Boolean(x||b))||delete e.meanline}}},{&quot;../../components/color&quot;:618,&quot;../../lib&quot;:743,&quot;../box/defaults&quot;:898,&quot;./attributes&quot;:1155}],1158:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib&quot;),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&lt;n;i++)e+=a((t-r[i])/o);return s*e}},r.getPositionOnKdePath=function(t,e,r){var i,a;&quot;h&quot;===e.orientation?(i=&quot;y&quot;,a=&quot;x&quot;):(i=&quot;x&quot;,a=&quot;y&quot;);var o=n.findPointOnPath(t.path,r,a,{pathLength:t.pathLength}),s=t.posCenterPx,l=o[i];return[l,&quot;both&quot;===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}},{&quot;../../lib&quot;:743}],1159:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib&quot;),i=t(&quot;../../plots/cartesian/axes&quot;),a=t(&quot;../box/hover&quot;),o=t(&quot;./helpers&quot;);e.exports=function(t,e,r,s,l){var c,u,f=t.cd,h=f[0].trace,d=h.hoveron,p=-1!==d.indexOf(&quot;violins&quot;),m=-1!==d.indexOf(&quot;kde&quot;),g=[];if(p||m){var v=a.hoverOnBoxes(t,e,r,s);if(p&amp;&amp;(g=g.concat(v)),m&amp;&amp;v.length&gt;0){var y,x,b,_,w,M=t.xa,k=t.ya;&quot;h&quot;===h.orientation?(w=e,y=&quot;y&quot;,b=k,x=&quot;x&quot;,_=M):(w=r,y=&quot;x&quot;,b=M,x=&quot;y&quot;,_=k);var A=f[t.index];if(w&gt;=A.span[0]&amp;&amp;w&lt;=A.span[1]){var T=n.extendFlat({},t),S=_.c2p(w,!0),E=o.getKdeValue(A,h,w),L=o.getPositionOnKdePath(A,h,S),C=b._offset,z=b._length;T[y+&quot;0&quot;]=L[0],T[y+&quot;1&quot;]=L[1],T[x+&quot;0&quot;]=T[x+&quot;1&quot;]=S,T[x+&quot;Label&quot;]=x+&quot;: &quot;+i.hoverLabelText(_,w)+&quot;, &quot;+f[0].t.labels.kde+&quot; &quot;+E.toFixed(3),g.push(T),(u={stroke:t.color})[y+&quot;1&quot;]=n.constrain(C+L[0],C,C+z),u[y+&quot;2&quot;]=n.constrain(C+L[1],C,C+z),u[x+&quot;1&quot;]=u[x+&quot;2&quot;]=_._offset+S}}}-1!==d.indexOf(&quot;points&quot;)&amp;&amp;(c=a.hoverOnPoints(t,e,r));var D=l.selectAll(&quot;.violinline-&quot;+h.uid).data(u?[0]:[]);return D.enter().append(&quot;line&quot;).classed(&quot;violinline-&quot;+h.uid,!0).attr(&quot;stroke-width&quot;,1.5),D.exit().remove(),D.attr(u),&quot;closest&quot;===s?c?[c]:g:c?(g.push(c),g):g}},{&quot;../../lib&quot;:743,&quot;../../plots/cartesian/axes&quot;:789,&quot;../box/hover&quot;:899,&quot;./helpers&quot;:1158}],1160:[function(t,e,r){&quot;use strict&quot;;e.exports={attributes:t(&quot;./attributes&quot;),layoutAttributes:t(&quot;./layout_attributes&quot;),supplyDefaults:t(&quot;./defaults&quot;),supplyLayoutDefaults:t(&quot;./layout_defaults&quot;),calc:t(&quot;./calc&quot;),setPositions:t(&quot;./set_positions&quot;),plot:t(&quot;./plot&quot;),style:t(&quot;./style&quot;),hoverPoints:t(&quot;./hover&quot;),selectPoints:t(&quot;../box/select&quot;),moduleType:&quot;trace&quot;,name:&quot;violin&quot;,basePlotModule:t(&quot;../../plots/cartesian&quot;),categories:[&quot;cartesian&quot;,&quot;symbols&quot;,&quot;oriented&quot;,&quot;box-violin&quot;,&quot;showLegend&quot;],meta:{}}},{&quot;../../plots/cartesian&quot;:800,&quot;../box/select&quot;:904,&quot;./attributes&quot;:1155,&quot;./calc&quot;:1156,&quot;./defaults&quot;:1157,&quot;./hover&quot;:1159,&quot;./layout_attributes&quot;:1161,&quot;./layout_defaults&quot;:1162,&quot;./plot&quot;:1163,&quot;./set_positions&quot;:1164,&quot;./style&quot;:1165}],1161:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../box/layout_attributes&quot;),i=t(&quot;../../lib&quot;).extendFlat;e.exports={violinmode:i({},n.boxmode,{}),violingap:i({},n.boxgap,{}),violingroupgap:i({},n.boxgroupgap,{})}},{&quot;../../lib&quot;:743,&quot;../box/layout_attributes&quot;:901}],1162:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib&quot;),i=t(&quot;./layout_attributes&quot;),a=t(&quot;../box/layout_defaults&quot;);e.exports=function(t,e,r){a._supply(t,e,r,function(r,a){return n.coerce(t,e,i,r,a)},&quot;violin&quot;)}},{&quot;../../lib&quot;:743,&quot;../box/layout_defaults&quot;:902,&quot;./layout_attributes&quot;:1161}],1163:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;d3&quot;),i=t(&quot;../../lib&quot;),a=t(&quot;../../components/drawing&quot;),o=t(&quot;../box/plot&quot;),s=t(&quot;../scatter/line_points&quot;),l=t(&quot;./helpers&quot;);e.exports=function(t,e,r){function c(t){var e=s(t,{xaxis:f,yaxis:h,connectGaps:!0,baseTolerance:.75,shape:&quot;spline&quot;,simplify:!0});return a.smoothopen(e[0],1)}var u=t._fullLayout,f=e.xaxis,h=e.yaxis;e.plot.select(&quot;.violinlayer&quot;).selectAll(&quot;g.trace.violins&quot;).data(r).enter().append(&quot;g&quot;).attr(&quot;class&quot;,&quot;trace violins&quot;).each(function(t){var r=t[0],a=r.t,s=r.trace,d=r.node3=n.select(this),p=u._numViolins,m=&quot;group&quot;===u.violinmode&amp;&amp;p&gt;1,g=a.bdPos=a.dPos*(1-u.violingap)*(1-u.violingroupgap)/(m?p:1),v=a.bPos=m?2*a.dPos*((a.num+.5)/p-.5)*(1-u.violingap):0;if(!0!==s.visible||a.empty)n.select(this).remove();else{var y=e[a.valLetter+&quot;axis&quot;],x=e[a.posLetter+&quot;axis&quot;],b=&quot;both&quot;===s.side,_=b||&quot;positive&quot;===s.side,w=b||&quot;negative&quot;===s.side,M=s.box&amp;&amp;s.box.visible,k=s.meanline&amp;&amp;s.meanline.visible,A=u._violinScaleGroupStats[s.scalegroup];if(d.selectAll(&quot;path.violin&quot;).data(i.identity).enter().append(&quot;path&quot;).style(&quot;vector-effect&quot;,&quot;non-scaling-stroke&quot;).attr(&quot;class&quot;,&quot;violin&quot;).each(function(t){var e,r=n.select(this),i=t.density,o=i.length,l=t.pos+v,u=x.c2p(l);switch(s.scalemode){case&quot;width&quot;:e=A.maxWidth/g;break;case&quot;count&quot;:e=A.maxWidth/g*(A.maxCount/t.pts.length)}var f,h,d,p,m,M,k;if(_){for(M=new Array(o),p=0;p&lt;o;p++)(k=M[p]={})[a.posLetter]=l+i[p].v/e,k[a.valLetter]=i[p].t;f=c(M)}if(w){for(M=new Array(o),m=0,p=o-1;m&lt;o;m++,p--)(k=M[m]={})[a.posLetter]=l-i[p].v/e,k[a.valLetter]=i[p].t;h=c(M)}if(b)d=f+&quot;L&quot;+h.substr(1)+&quot;Z&quot;;else{var T=[u,y.c2p(i[0].t)],S=[u,y.c2p(i[o-1].t)];&quot;h&quot;===s.orientation&amp;&amp;(T.reverse(),S.reverse()),d=_?&quot;M&quot;+T+&quot;L&quot;+f.substr(1)+&quot;L&quot;+S:&quot;M&quot;+S+&quot;L&quot;+h.substr(1)+&quot;L&quot;+T}r.attr(&quot;d&quot;,d),t.posCenterPx=u,t.posDensityScale=e*g,t.path=r.node(),t.pathLength=t.path.getTotalLength()/(b?2:1)}),M){var T,S,E=s.box.width,L=s.box.line.width;b?(T=g*E,S=0):_?(T=[0,g*E/2],S=-L):(T=[g*E/2,0],S=L),s.whiskerwidth=0,o.plotBoxAndWhiskers(d,{pos:x,val:y},s,{bPos:v,bdPos:T,bPosPxOffset:S}),k&amp;&amp;o.plotBoxMean(d,{pos:x,val:y},s,{bPos:v,bdPos:T,bPosPxOffset:S})}else k&amp;&amp;d.selectAll(&quot;path.mean&quot;).data(i.identity).enter().append(&quot;path&quot;).attr(&quot;class&quot;,&quot;mean&quot;).style({fill:&quot;none&quot;,&quot;vector-effect&quot;:&quot;non-scaling-stroke&quot;}).each(function(t){var e=y.c2p(t.mean,!0),r=l.getPositionOnKdePath(t,s,e);n.select(this).attr(&quot;d&quot;,&quot;h&quot;===s.orientation?&quot;M&quot;+e+&quot;,&quot;+r[0]+&quot;V&quot;+r[1]:&quot;M&quot;+r[0]+&quot;,&quot;+e+&quot;H&quot;+r[1])});s.points&amp;&amp;o.plotPoints(d,{x:f,y:h},s,a)}})}},{&quot;../../components/drawing&quot;:643,&quot;../../lib&quot;:743,&quot;../box/plot&quot;:903,&quot;../scatter/line_points&quot;:1080,&quot;./helpers&quot;:1158,d3:128}],1164:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../box/set_positions&quot;).setPositionOffset,i=[&quot;v&quot;,&quot;h&quot;];e.exports=function(t,e){for(var r=t.calcdata,a=e.xaxis,o=e.yaxis,s=0;s&lt;i.length;s++){for(var l=i[s],c=&quot;h&quot;===l?o:a,u=[],f=0,h=0,d=0;d&lt;r.length;d++){var p=r[d],m=p[0].t,g=p[0].trace;!0!==g.visible||&quot;violin&quot;!==g.type||m.empty||g.orientation!==l||g.xaxis!==a._id||g.yaxis!==o._id||(u.push(d),!1!==g.points&amp;&amp;(f=Math.max(f,g.jitter-g.pointpos-1),h=Math.max(h,g.jitter+g.pointpos-1)))}n(&quot;violin&quot;,t,u,c,[f,h])}}},{&quot;../box/set_positions&quot;:905}],1165:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;d3&quot;),i=t(&quot;../../components/color&quot;),a=t(&quot;../scatter/style&quot;).stylePoints;e.exports=function(t,e){var r=e?e[0].node3:n.select(t).selectAll(&quot;g.trace.violins&quot;);r.style(&quot;opacity&quot;,function(t){return t[0].trace.opacity}),r.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(&quot;path.violin&quot;).style(&quot;stroke-width&quot;,r.line.width+&quot;px&quot;).call(i.stroke,r.line.color).call(i.fill,r.fillcolor),o.selectAll(&quot;path.box&quot;).style(&quot;stroke-width&quot;,l.width+&quot;px&quot;).call(i.stroke,l.color).call(i.fill,s.fillcolor),o.selectAll(&quot;path.mean&quot;).style({&quot;stroke-width&quot;:u+&quot;px&quot;,&quot;stroke-dasharray&quot;:2*u+&quot;px,&quot;+u+&quot;px&quot;}).call(i.stroke,c.color),a(o,r,t)})}},{&quot;../../components/color&quot;:618,&quot;../scatter/style&quot;:1087,d3:128}],1166:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,n){if(n.enabled){for(var c=n.target,u=l.nestedProperty(e,c),h=u.get(),d=function(t,e){var r=t.func,n=e.d2c,s=e.c2d;switch(r){case&quot;count&quot;:return i;case&quot;first&quot;:return a;case&quot;last&quot;:return o;case&quot;sum&quot;:return function(t,e){for(var r=0,i=0;i&lt;e.length;i++){var a=n(t[e[i]]);a!==f&amp;&amp;(r+=a)}return s(r)};case&quot;avg&quot;:return function(t,e){for(var r=0,i=0,a=0;a&lt;e.length;a++){var o=n(t[e[a]]);o!==f&amp;&amp;(r+=o,i++)}return i?s(r/i):f};case&quot;min&quot;:return function(t,e){for(var r=1/0,i=0;i&lt;e.length;i++){var a=n(t[e[i]]);a!==f&amp;&amp;(r=Math.min(r,a))}return r===1/0?f:s(r)};case&quot;max&quot;:return function(t,e){for(var r=-1/0,i=0;i&lt;e.length;i++){var a=n(t[e[i]]);a!==f&amp;&amp;(r=Math.max(r,a))}return r===-1/0?f:s(r)};case&quot;median&quot;:return function(t,e){for(var r=[],i=0;i&lt;e.length;i++){var a=n(t[e[i]]);a!==f&amp;&amp;r.push(a)}if(!r.length)return f;r.sort();var o=(r.length-1)/2;return s((r[Math.floor(o)]+r[Math.ceil(o)])/2)};case&quot;mode&quot;:return function(t,e){for(var r={},i=0,a=f,o=0;o&lt;e.length;o++){var l=n(t[e[o]]);if(l!==f){var c=r[l]=(r[l]||0)+1;c&gt;i&amp;&amp;(i=c,a=l)}}return i?s(a):f};case&quot;rms&quot;:return function(t,e){for(var r=0,i=0,a=0;a&lt;e.length;a++){var o=n(t[e[a]]);o!==f&amp;&amp;(r+=o*o,i++)}return i?s(Math.sqrt(r/i)):f};case&quot;stddev&quot;:return function(e,r){var i,a=0,o=0,s=1,l=f;for(i=0;i&lt;r.length&amp;&amp;l===f;i++)l=n(e[r[i]]);if(l===f)return f;for(;i&lt;r.length;i++){var c=n(e[r[i]]);if(c!==f){var u=c-l;a+=u,o+=u*u,s++}}var h=&quot;sample&quot;===t.funcmode?s-1:s;return h?Math.sqrt((o-a*a/s)/h):0}}}(n,s.getDataConversions(t,e,c,h)),p=new Array(r.length),m=0;m&lt;r.length;m++)p[m]=d(h,r[m]);u.set(p)}}function i(t,e){return e.length}function a(t,e){return t[e[0]]}function o(t,e){return t[e[e.length-1]]}var s=t(&quot;../plots/cartesian/axes&quot;),l=t(&quot;../lib&quot;),c=t(&quot;../plot_api/plot_schema&quot;),u=t(&quot;./helpers&quot;).pointsAccessorFunction,f=t(&quot;../constants/numerical&quot;).BADNUM;r.moduleType=&quot;transform&quot;,r.name=&quot;aggregate&quot;;var h=r.attributes={enabled:{valType:&quot;boolean&quot;,dflt:!0,editType:&quot;calc&quot;},groups:{valType:&quot;string&quot;,strict:!0,noBlank:!0,arrayOk:!0,dflt:&quot;x&quot;,editType:&quot;calc&quot;},aggregations:{_isLinkedToArray:&quot;aggregation&quot;,target:{valType:&quot;string&quot;,editType:&quot;calc&quot;},func:{valType:&quot;enumerated&quot;,values:[&quot;count&quot;,&quot;sum&quot;,&quot;avg&quot;,&quot;median&quot;,&quot;mode&quot;,&quot;rms&quot;,&quot;stddev&quot;,&quot;min&quot;,&quot;max&quot;,&quot;first&quot;,&quot;last&quot;],dflt:&quot;first&quot;,editType:&quot;calc&quot;},funcmode:{valType:&quot;enumerated&quot;,values:[&quot;sample&quot;,&quot;population&quot;],dflt:&quot;sample&quot;,editType:&quot;calc&quot;},enabled:{valType:&quot;boolean&quot;,dflt:!0,editType:&quot;calc&quot;},editType:&quot;calc&quot;},editType:&quot;calc&quot;},d=h.aggregations;r.supplyDefaults=function(t,e){function r(e,r){return l.coerce(t,a,h,e,r)}function n(t,e){return l.coerce(p[i],f,d,t,e)}var i,a={};if(!r(&quot;enabled&quot;))return a;var o=c.findArrayAttributes(e),s={};for(i=0;i&lt;o.length;i++)s[o[i]]=1;var u=r(&quot;groups&quot;);if(!Array.isArray(u)){if(!s[u])return void(a.enabled=!1);s[u]=0}var f,p=t.aggregations||[],m=a.aggregations=new Array(p.length);for(i=0;i&lt;p.length;i++){f={_index:i};var g=n(&quot;target&quot;),v=n(&quot;func&quot;);n(&quot;enabled&quot;)&amp;&amp;g&amp;&amp;(s[g]||&quot;count&quot;===v&amp;&amp;void 0===s[g])?(&quot;stddev&quot;===v&amp;&amp;n(&quot;funcmode&quot;),s[g]=0,m[i]=f):m[i]={enabled:!1,_index:i}}for(i=0;i&lt;o.length;i++)s[o[i]]&amp;&amp;m.push({target:o[i],func:d.func.dflt,enabled:!0,_index:-1});return a},r.calcTransform=function(t,e,r){if(r.enabled){var i=r.groups,a=l.getTargetArray(e,{target:i});if(a){var o,s,c,f,h={},d={},p=[],m=u(e.transforms,r);for(o=0;o&lt;a.length;o++)void 0===(c=h[s=a[o]])?(h[s]=p.length,f=[o],p.push(f),d[h[s]]=m(o)):(p[c].push(o),d[h[s]]=(d[h[s]]||[]).concat(m(o)));r._indexToPoints=d;var g=r.aggregations;for(o=0;o&lt;g.length;o++)n(t,e,p,g[o]);&quot;string&quot;==typeof i&amp;&amp;n(t,e,p,{target:i,func:&quot;first&quot;,enabled:!0})}}}},{&quot;../constants/numerical&quot;:721,&quot;../lib&quot;:743,&quot;../plot_api/plot_schema&quot;:778,&quot;../plots/cartesian/axes&quot;:789,&quot;./helpers&quot;:1169}],1167:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../lib&quot;),i=t(&quot;../registry&quot;),a=t(&quot;../plots/cartesian/axes&quot;),o=t(&quot;./helpers&quot;).pointsAccessorFunction,s=[&quot;=&quot;,&quot;!=&quot;,&quot;&lt;&quot;,&quot;&gt;=&quot;,&quot;&gt;&quot;,&quot;&lt;=&quot;],l=[&quot;[]&quot;,&quot;()&quot;,&quot;[)&quot;,&quot;(]&quot;,&quot;][&quot;,&quot;)(&quot;,&quot;](&quot;,&quot;)[&quot;],c=[&quot;{}&quot;,&quot;}{&quot;];r.moduleType=&quot;transform&quot;,r.name=&quot;filter&quot;,r.attributes={enabled:{valType:&quot;boolean&quot;,dflt:!0,editType:&quot;calc&quot;},target:{valType:&quot;string&quot;,strict:!0,noBlank:!0,arrayOk:!0,dflt:&quot;x&quot;,editType:&quot;calc&quot;},operation:{valType:&quot;enumerated&quot;,values:[].concat(s).concat(l).concat(c),dflt:&quot;=&quot;,editType:&quot;calc&quot;},value:{valType:&quot;any&quot;,dflt:0,editType:&quot;calc&quot;},preservegaps:{valType:&quot;boolean&quot;,dflt:!1,editType:&quot;calc&quot;},editType:&quot;calc&quot;},r.supplyDefaults=function(t){function e(e,i){return n.coerce(t,a,r.attributes,e,i)}var a={};if(e(&quot;enabled&quot;)){e(&quot;preservegaps&quot;),e(&quot;operation&quot;),e(&quot;value&quot;),e(&quot;target&quot;);var o=i.getComponentMethod(&quot;calendars&quot;,&quot;handleDefaults&quot;);o(t,a,&quot;valuecalendar&quot;,null),o(t,a,&quot;targetcalendar&quot;,null)}return a},r.calcTransform=function(t,e,r){function i(t,r){for(var i=0;i&lt;p.length;i++){t(n.nestedProperty(e,p[i]),r)}}if(r.enabled){var u=n.getTargetArray(e,r);if(u){var f=r.target,h=u.length,d=r.targetcalendar,p=e._arrayAttrs;if(&quot;string&quot;==typeof f){var m=n.nestedProperty(e,f+&quot;calendar&quot;).get();m&amp;&amp;(d=m)}var g,v,y=function(t,e,r){function n(t){return-1!==t.indexOf(a)}var i,a=t.operation,o=t.value,u=Array.isArray(o),f=function(r){return e(r,0,t.valuecalendar)},h=function(t){return e(t,0,r)};switch(n(s)?i=f(u?o[0]:o):n(l)?i=u?[f(o[0]),f(o[1])]:[f(o),f(o)]:n(c)&amp;&amp;(i=u?o.map(f):[f(o)]),a){case&quot;=&quot;:return function(t){return h(t)===i};case&quot;!=&quot;:return function(t){return h(t)!==i};case&quot;&lt;&quot;:return function(t){return h(t)&lt;i};case&quot;&lt;=&quot;:return function(t){return h(t)&lt;=i};case&quot;&gt;&quot;:return function(t){return h(t)&gt;i};case&quot;&gt;=&quot;:return function(t){return h(t)&gt;=i};case&quot;[]&quot;:return function(t){var e=h(t);return e&gt;=i[0]&amp;&amp;e&lt;=i[1]};case&quot;()&quot;:return function(t){var e=h(t);return e&gt;i[0]&amp;&amp;e&lt;i[1]};case&quot;[)&quot;:return function(t){var e=h(t);return e&gt;=i[0]&amp;&amp;e&lt;i[1]};case&quot;(]&quot;:return function(t){var e=h(t);return e&gt;i[0]&amp;&amp;e&lt;=i[1]};case&quot;][&quot;:return function(t){var e=h(t);return e&lt;=i[0]||e&gt;=i[1]};case&quot;)(&quot;:return function(t){var e=h(t);return e&lt;i[0]||e&gt;i[1]};case&quot;](&quot;:return function(t){var e=h(t);return e&lt;=i[0]||e&gt;i[1]};case&quot;)[&quot;:return function(t){var e=h(t);return e&lt;i[0]||e&gt;=i[1]};case&quot;{}&quot;:return function(t){return-1!==i.indexOf(h(t))};case&quot;}{&quot;:return function(t){return-1===i.indexOf(h(t))}}}(r,a.getDataToCoordFunc(t,e,f,u),d),x={},b={},_=0;r.preservegaps?(g=function(t){x[t.astr]=n.extendDeep([],t.get()),t.set(new Array(h))},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)}),i(g);for(var w=o(e.transforms,r),M=0;M&lt;h;M++){y(u[M])&amp;&amp;(i(v,M),b[_++]=w(M))}r._indexToPoints=b}}}},{&quot;../lib&quot;:743,&quot;../plots/cartesian/axes&quot;:789,&quot;../registry&quot;:873,&quot;./helpers&quot;:1169}],1168:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../lib&quot;),i=t(&quot;../plot_api/plot_schema&quot;),a=t(&quot;../plots/plots&quot;),o=t(&quot;./helpers&quot;).pointsAccessorFunction;r.moduleType=&quot;transform&quot;,r.name=&quot;groupby&quot;,r.attributes={enabled:{valType:&quot;boolean&quot;,dflt:!0,editType:&quot;calc&quot;},groups:{valType:&quot;data_array&quot;,dflt:[],editType:&quot;calc&quot;},nameformat:{valType:&quot;string&quot;,editType:&quot;calc&quot;},styles:{_isLinkedToArray:&quot;style&quot;,target:{valType:&quot;string&quot;,editType:&quot;calc&quot;},value:{valType:&quot;any&quot;,dflt:{},editType:&quot;calc&quot;},editType:&quot;calc&quot;},editType:&quot;calc&quot;},r.supplyDefaults=function(t,e,i){function a(e,i){return n.coerce(t,s,r.attributes,e,i)}var o,s={};if(!a(&quot;enabled&quot;))return s;a(&quot;groups&quot;),a(&quot;nameformat&quot;,i._dataLength&gt;1?&quot;%{group} (%{trace})&quot;:&quot;%{group}&quot;);var l=t.styles,c=s.styles=[];if(l)for(o=0;o&lt;l.length;o++)c[o]={},n.coerce(l[o],c[o],r.attributes.styles,&quot;target&quot;),n.coerce(l[o],c[o],r.attributes.styles,&quot;value&quot;);return s},r.transform=function(t,e){var r,s,l,c=[];for(s=0;s&lt;t.length;s++)for(r=function(t,e){var r,s,l,c,u,f,h,d,p,m,g=e.transform,v=t.transforms[e.transformIndex].groups,y=o(t.transforms,g);if(!Array.isArray(v)||0===v.length)return[t];var x=n.filterUnique(v),b=new Array(x.length),_=v.length,w=i.findArrayAttributes(t),M=g.styles||[],k={};for(r=0;r&lt;M.length;r++)k[M[r].target]=M[r].value;g.styles&amp;&amp;(m=n.keyedContainer(g,&quot;styles&quot;,&quot;target&quot;,&quot;value.name&quot;));var A={},T={};for(r=0;r&lt;x.length;r++){A[f=x[r]]=r,T[f]=0,(h=b[r]=n.extendDeepNoArrays({},t))._group=f,h.transforms[e.transformIndex]._indexToPoints={};var S=null;for(m&amp;&amp;(S=m.get(f)),h.name=S||n.templateString(g.nameformat,{trace:t.name,group:f}),d=h.transforms,h.transforms=[],s=0;s&lt;d.length;s++)h.transforms[s]=n.extendDeepNoArrays({},d[s]);for(s=0;s&lt;w.length;s++)n.nestedProperty(h,w[s]).set([])}for(l=0;l&lt;w.length;l++){for(c=w[l],s=0,p=[];s&lt;x.length;s++)p[s]=n.nestedProperty(b[s],c).get();for(u=n.nestedProperty(t,c).get(),s=0;s&lt;_;s++)p[A[v[s]]].push(u[s])}for(s=0;s&lt;_;s++)(h=b[A[v[s]]]).transforms[e.transformIndex]._indexToPoints[T[v[s]]]=y(s),T[v[s]]++;for(r=0;r&lt;x.length;r++)f=x[r],h=b[r],a.clearExpandedTraceDefaultColors(h),h=n.extendDeepNoArrays(h,k[f]||{});return b}(t[s],e),l=0;l&lt;r.length;l++)c.push(r[l]);return c}},{&quot;../lib&quot;:743,&quot;../plot_api/plot_schema&quot;:778,&quot;../plots/plots&quot;:852,&quot;./helpers&quot;:1169}],1169:[function(t,e,r){&quot;use strict&quot;;r.pointsAccessorFunction=function(t,e){for(var r,n,i=0;i&lt;t.length&amp;&amp;(r=t[i])!==e;i++)r._indexToPoints&amp;&amp;!1!==r.enabled&amp;&amp;(n=r._indexToPoints);return n?function(t){return n[t]}:function(t){return[t]}}},{}],1170:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../lib&quot;),i=t(&quot;../plots/cartesian/axes&quot;),a=t(&quot;./helpers&quot;).pointsAccessorFunction;r.moduleType=&quot;transform&quot;,r.name=&quot;sort&quot;,r.attributes={enabled:{valType:&quot;boolean&quot;,dflt:!0,editType:&quot;calc&quot;},target:{valType:&quot;string&quot;,strict:!0,noBlank:!0,arrayOk:!0,dflt:&quot;x&quot;,editType:&quot;calc&quot;},order:{valType:&quot;enumerated&quot;,values:[&quot;ascending&quot;,&quot;descending&quot;],dflt:&quot;ascending&quot;,editType:&quot;calc&quot;},editType:&quot;calc&quot;},r.supplyDefaults=function(t){function e(e,a){return n.coerce(t,i,r.attributes,e,a)}var i={};return e(&quot;enabled&quot;)&amp;&amp;(e(&quot;target&quot;),e(&quot;order&quot;)),i},r.calcTransform=function(t,e,r){if(r.enabled){var o=n.getTargetArray(e,r);if(o){var s,l,c=r.target,u=o.length,f=e._arrayAttrs,h=function(t,e,r){for(var n=e.length,i=new Array(n),a=e.slice().sort(function(t,e){switch(t.order){case&quot;ascending&quot;:return function(t,r){return e(t)-e(r)};case&quot;descending&quot;:return function(t,r){return e(r)-e(t)}}}(t,r)),o=0;o&lt;n;o++)for(var s=e[o],l=0;l&lt;n;l++)if(s===a[l]){i[l]=o,a[l]=null;break}return i}(r,o,i.getDataToCoordFunc(t,e,c,o)),d=a(e.transforms,r),p={};for(s=0;s&lt;f.length;s++){var m=n.nestedProperty(e,f[s]),g=m.get(),v=new Array(u);for(l=0;l&lt;u;l++)v[l]=g[h[l]];m.set(v)}for(l=0;l&lt;u;l++)p[l]=d(h[l]);r._indexToPoints=p}}}},{&quot;../lib&quot;:743,&quot;../plots/cartesian/axes&quot;:789,&quot;./helpers&quot;:1169}]},{},[20])(20)});
&lt;/script&gt;
&lt;div id=&quot;4fd4f298-898f-404a-9b17-c81b9d8c1dea&quot; style=&quot;height: 100%; width: 100%;&quot; class=&quot;plotly-graph-div&quot;&gt;&lt;/div&gt;
&lt;script type=&quot;text/javascript&quot;&gt;window.PLOTLYENV=window.PLOTLYENV || {};window.PLOTLYENV.BASE_URL=&quot;https://plot.ly&quot;;Plotly.newPlot(&quot;4fd4f298-898f-404a-9b17-c81b9d8c1dea&quot;, [{&quot;type&quot;: &quot;histogram&quot;, &quot;x&quot;: [&quot;2011-06-14 01:18:00&quot;, &quot;2011-06-26 20:25:00&quot;, &quot;2011-06-26 20:27:00&quot;, &quot;2011-09-15 21:54:00&quot;, &quot;2011-09-15 21:55:00&quot;, &quot;2011-10-01 16:58:00&quot;, &quot;2011-10-01 16:59:00&quot;, &quot;2011-11-22 00:35:00&quot;, &quot;2011-11-22 00:39:00&quot;, &quot;2011-12-16 13:34:00&quot;, &quot;2011-12-16 13:36:00&quot;, &quot;2011-12-16 13:37:00&quot;, &quot;2011-12-16 13:38:00&quot;, &quot;2011-12-16 13:42:00&quot;, &quot;2011-12-16 13:43:00&quot;, &quot;2011-12-16 13:48:00&quot;, &quot;2011-12-16 13:49:00&quot;, &quot;2011-12-16 13:51:00&quot;, &quot;2011-12-16 13:52:00&quot;, &quot;2011-12-16 13:53:00&quot;, &quot;2011-12-16 13:54:00&quot;, &quot;2012-03-03 19:38:00&quot;, &quot;2012-03-24 17:54:00&quot;, &quot;2012-04-06 19:11:00&quot;, &quot;2012-04-06 19:12:00&quot;, &quot;2012-04-07 19:52:00&quot;, &quot;2012-04-07 22:21:00&quot;, &quot;2012-04-07 22:22:00&quot;, &quot;2012-04-07 22:23:00&quot;, &quot;2012-04-07 22:24:00&quot;, &quot;2012-04-07 22:25:00&quot;, &quot;2012-04-07 22:26:00&quot;, &quot;2012-04-07 22:30:00&quot;, &quot;2012-05-10 14:48:00&quot;, &quot;2012-05-11 15:06:00&quot;, &quot;2012-05-11 15:07:00&quot;, &quot;2012-05-11 15:08:00&quot;, &quot;2012-05-11 15:09:00&quot;, &quot;2012-05-11 15:10:00&quot;, &quot;2012-06-04 23:19:00&quot;, &quot;2012-07-06 22:28:00&quot;, &quot;2012-07-06 22:29:00&quot;, &quot;2012-09-09 21:11:00&quot;, &quot;2012-09-09 21:12:00&quot;, &quot;2012-09-09 21:13:00&quot;, &quot;2012-09-09 21:15:00&quot;, &quot;2012-09-09 21:16:00&quot;, &quot;2012-09-09 21:18:00&quot;, &quot;2012-09-09 21:19:00&quot;, &quot;2012-09-09 21:20:00&quot;, &quot;2012-09-09 21:21:00&quot;, &quot;2012-09-09 21:26:00&quot;, &quot;2012-09-19 22:13:00&quot;, &quot;2012-09-19 22:14:00&quot;, &quot;2012-09-21 21:21:00&quot;, &quot;2012-09-27 20:32:00&quot;, &quot;2012-09-27 20:34:00&quot;, &quot;2012-09-27 20:41:00&quot;, &quot;2012-09-27 20:42:00&quot;, &quot;2012-09-27 20:43:00&quot;, &quot;2012-09-27 20:44:00&quot;, &quot;2012-09-27 20:45:00&quot;, &quot;2012-09-27 20:46:00&quot;, &quot;2012-09-27 20:47:00&quot;, &quot;2012-09-27 20:48:00&quot;, &quot;2012-09-27 20:49:00&quot;, &quot;2012-09-27 20:50:00&quot;, &quot;2012-10-12 11:35:00&quot;, &quot;2012-10-12 11:36:00&quot;, &quot;2012-10-12 11:37:00&quot;, &quot;2012-10-12 11:38:00&quot;, &quot;2012-10-12 11:39:00&quot;, &quot;2012-10-12 11:40:00&quot;, &quot;2012-10-12 11:41:00&quot;, &quot;2012-10-12 11:42:00&quot;, &quot;2012-10-12 11:43:00&quot;, &quot;2012-10-12 11:44:00&quot;, &quot;2012-10-12 11:45:00&quot;, &quot;2012-10-12 11:46:00&quot;, &quot;2012-10-12 11:47:00&quot;, &quot;2012-10-12 11:48:00&quot;, &quot;2012-10-12 11:49:00&quot;, &quot;2012-10-14 18:04:00&quot;, &quot;2012-10-14 18:24:00&quot;, &quot;2012-10-15 17:37:00&quot;, &quot;2012-10-15 17:38:00&quot;, &quot;2012-10-15 17:39:00&quot;, &quot;2012-10-15 17:41:00&quot;, &quot;2012-10-15 17:42:00&quot;, &quot;2012-10-15 17:43:00&quot;, &quot;2012-10-15 17:44:00&quot;, &quot;2012-10-17 19:15:00&quot;, &quot;2012-10-17 19:16:00&quot;, &quot;2012-10-17 19:17:00&quot;, &quot;2012-10-17 19:18:00&quot;, &quot;2012-10-17 19:19:00&quot;, &quot;2012-10-17 19:20:00&quot;, &quot;2012-10-20 15:52:00&quot;, &quot;2012-10-20 15:54:00&quot;, &quot;2012-10-20 15:55:00&quot;, &quot;2012-10-20 21:54:00&quot;, &quot;2013-01-02 16:29:00&quot;, &quot;2013-02-15 23:49:00&quot;, &quot;2013-02-15 23:50:00&quot;, &quot;2013-02-17 13:02:00&quot;, &quot;2013-02-17 14:17:00&quot;, &quot;2013-05-15 01:24:00&quot;, &quot;2013-05-15 01:26:00&quot;, &quot;2013-07-23 00:37:00&quot;, &quot;2013-07-23 00:39:00&quot;, &quot;2013-07-23 00:40:00&quot;, &quot;2013-07-23 00:41:00&quot;, &quot;2013-07-23 00:42:00&quot;, &quot;2013-07-23 01:13:00&quot;, &quot;2013-07-23 01:36:00&quot;, &quot;2013-07-25 13:56:00&quot;, &quot;2013-07-25 13:57:00&quot;, &quot;2013-07-25 13:59:00&quot;, &quot;2013-07-25 17:21:00&quot;, &quot;2013-08-28 19:31:00&quot;, &quot;2013-08-28 19:32:00&quot;, &quot;2013-08-29 12:29:00&quot;, &quot;2013-08-29 12:31:00&quot;, &quot;2013-08-29 15:42:00&quot;, &quot;2013-08-29 18:08:00&quot;, &quot;2013-09-10 23:48:00&quot;, &quot;2013-09-10 23:49:00&quot;, &quot;2013-09-11 19:49:00&quot;, &quot;2013-09-12 23:09:00&quot;, &quot;2013-09-12 23:10:00&quot;, &quot;2013-09-12 23:11:00&quot;, &quot;2013-09-12 23:13:00&quot;, &quot;2013-09-12 23:15:00&quot;, &quot;2013-09-16 21:41:00&quot;, &quot;2013-09-16 21:42:00&quot;, &quot;2013-09-16 21:44:00&quot;, &quot;2013-09-16 23:55:00&quot;, &quot;2013-09-16 23:56:00&quot;, &quot;2013-09-17&quot;, &quot;2013-09-17 00:01:00&quot;, &quot;2013-09-17 00:02:00&quot;, &quot;2013-09-21 15:22:00&quot;, &quot;2013-09-29 16:26:00&quot;, &quot;2013-10-08 18:03:00&quot;, &quot;2013-10-08 18:04:00&quot;, &quot;2013-10-08 18:05:00&quot;, &quot;2013-10-08 18:07:00&quot;, &quot;2013-10-08 18:09:00&quot;, &quot;2013-10-08 18:10:00&quot;, &quot;2013-10-08 18:11:00&quot;, &quot;2013-10-08 18:12:00&quot;, &quot;2013-10-08 18:14:00&quot;, &quot;2013-10-08 18:16:00&quot;, &quot;2013-10-08 18:17:00&quot;, &quot;2013-10-10 13:13:00&quot;, &quot;2013-10-10 19:09:00&quot;, &quot;2013-10-10 19:10:00&quot;, &quot;2013-10-10 21:44:00&quot;, &quot;2013-10-10 23:53:00&quot;, &quot;2013-10-10 23:54:00&quot;, &quot;2013-10-10 23:55:00&quot;, &quot;2013-10-10 23:56:00&quot;, &quot;2013-12-27 23:02:00&quot;, &quot;2013-12-27 23:04:00&quot;, &quot;2013-12-27 23:05:00&quot;, &quot;2014-07-01 13:00:00&quot;, &quot;2014-07-01 13:01:00&quot;, &quot;2014-07-01 13:02:00&quot;, &quot;2014-07-01 13:03:00&quot;, &quot;2014-10-27 17:18:00&quot;, &quot;2014-10-27 17:19:00&quot;, &quot;2014-10-27 17:23:00&quot;, &quot;2014-10-27 17:24:00&quot;, &quot;2014-10-27 17:26:00&quot;, &quot;2014-10-27 18:12:00&quot;, &quot;2014-10-30 22:45:00&quot;, &quot;2014-10-31 16:44:00&quot;, &quot;2014-10-31 16:46:00&quot;, &quot;2014-11-03 00:30:00&quot;, &quot;2014-11-03 00:31:00&quot;, &quot;2014-11-03 00:32:00&quot;, &quot;2014-11-03 12:43:00&quot;, &quot;2014-11-03 12:44:00&quot;, &quot;2014-11-03 12:49:00&quot;, &quot;2014-11-03 17:05:00&quot;, &quot;2014-11-05 17:33:00&quot;, &quot;2014-11-05 17:38:00&quot;, &quot;2014-11-09 18:16:00&quot;, &quot;2014-11-09 18:17:00&quot;, &quot;2014-11-09 18:21:00&quot;, &quot;2014-11-09 18:23:00&quot;, &quot;2014-11-09 18:25:00&quot;, &quot;2014-11-09 18:31:00&quot;, &quot;2014-11-10 13:07:00&quot;, &quot;2014-11-10 13:08:00&quot;, &quot;2014-11-11 15:48:00&quot;, &quot;2014-12-12 13:54:00&quot;, &quot;2014-12-12 13:55:00&quot;, &quot;2014-12-12 13:56:00&quot;, &quot;2014-12-12 13:57:00&quot;, &quot;2014-12-12 14:00:00&quot;, &quot;2014-12-12 14:02:00&quot;, &quot;2014-12-12 14:04:00&quot;, &quot;2014-12-12 14:06:00&quot;, &quot;2014-12-12 14:07:00&quot;, &quot;2014-12-12 14:08:00&quot;, &quot;2014-12-12 14:09:00&quot;, &quot;2014-12-12 14:10:00&quot;, &quot;2014-12-12 14:11:00&quot;, &quot;2014-12-12 14:12:00&quot;, &quot;2014-12-12 14:13:00&quot;, &quot;2014-12-12 14:14:00&quot;, &quot;2014-12-12 14:15:00&quot;, &quot;2014-12-12 14:16:00&quot;, &quot;2014-12-12 14:17:00&quot;, &quot;2014-12-12 14:28:00&quot;, &quot;2014-12-12 14:30:00&quot;, &quot;2014-12-12 14:35:00&quot;, &quot;2014-12-12 17:53:00&quot;, &quot;2015-01-02 17:51:00&quot;, &quot;2015-02-01 06:36:00&quot;, &quot;2015-02-01 06:50:00&quot;, &quot;2015-02-01 06:53:00&quot;, &quot;2015-02-01 06:56:00&quot;, &quot;2015-02-01 06:57:00&quot;, &quot;2015-02-01 06:58:00&quot;, &quot;2015-02-01 07:01:00&quot;, &quot;2015-02-01 07:02:00&quot;, &quot;2015-02-01 07:03:00&quot;, &quot;2015-02-01 07:09:00&quot;, &quot;2015-02-03 23:25:00&quot;, &quot;2015-02-03 23:26:00&quot;, &quot;2015-03-08 12:34:00&quot;, &quot;2015-03-08 15:01:00&quot;, &quot;2015-03-08 15:46:00&quot;, &quot;2015-03-08 15:49:00&quot;, &quot;2015-03-08 20:13:00&quot;, &quot;2015-07-02 21:29:00&quot;, &quot;2015-07-02 21:30:00&quot;, &quot;2015-07-02 21:31:00&quot;, &quot;2015-07-02 21:39:00&quot;, &quot;2015-07-02 21:43:00&quot;, &quot;2015-07-02 21:46:00&quot;, &quot;2015-07-02 21:48:00&quot;, &quot;2015-07-02 21:49:00&quot;, &quot;2015-07-02 21:50:00&quot;, &quot;2015-07-02 21:51:00&quot;, &quot;2015-07-02 21:56:00&quot;, &quot;2015-07-02 22:06:00&quot;, &quot;2015-07-02 22:10:00&quot;, &quot;2015-07-02 22:17:00&quot;, &quot;2015-07-02 23:10:00&quot;, &quot;2015-07-03 19:01:00&quot;, &quot;2015-07-03 19:55:00&quot;, &quot;2015-07-03 20:17:00&quot;, &quot;2015-07-03 20:18:00&quot;, &quot;2015-07-06 11:38:00&quot;, &quot;2015-07-13 22:58:00&quot;, &quot;2015-07-13 23:57:00&quot;, &quot;2015-07-28 11:47:00&quot;, &quot;2015-09-05 16:46:00&quot;, &quot;2015-09-05 16:47:00&quot;, &quot;2015-09-05 16:50:00&quot;, &quot;2015-09-05 16:54:00&quot;, &quot;2015-09-06 17:04:00&quot;, &quot;2015-09-06 17:05:00&quot;, &quot;2015-09-06 19:12:00&quot;, &quot;2015-09-06 19:21:00&quot;, &quot;2015-09-06 19:23:00&quot;, &quot;2015-09-06 19:25:00&quot;, &quot;2015-09-27 16:31:00&quot;, &quot;2015-09-27 16:32:00&quot;, &quot;2015-09-27 16:34:00&quot;, &quot;2015-10-17 15:32:00&quot;, &quot;2015-10-17 15:33:00&quot;, &quot;2015-10-17 15:34:00&quot;, &quot;2015-10-17 15:35:00&quot;, &quot;2015-10-29 20:57:00&quot;, &quot;2015-10-29 21:02:00&quot;, &quot;2015-10-29 21:06:00&quot;, &quot;2015-10-29 21:18:00&quot;, &quot;2015-11-14 12:19:00&quot;, &quot;2015-11-16 15:11:00&quot;, &quot;2015-11-23 22:57:00&quot;, &quot;2015-12-03 19:24:00&quot;, &quot;2015-12-03 19:25:00&quot;, &quot;2015-12-03 19:26:00&quot;, &quot;2015-12-03 19:27:00&quot;, &quot;2015-12-03 19:31:00&quot;, &quot;2015-12-03 19:32:00&quot;, &quot;2015-12-05 20:26:00&quot;, &quot;2015-12-07 19:51:00&quot;, &quot;2015-12-07 19:52:00&quot;, &quot;2015-12-09 23:35:00&quot;, &quot;2015-12-17 20:19:00&quot;, &quot;2015-12-17 20:22:00&quot;, &quot;2015-12-17 20:32:00&quot;, &quot;2015-12-18 11:55:00&quot;, &quot;2015-12-18 11:56:00&quot;, &quot;2015-12-18 11:59:00&quot;, &quot;2015-12-18 12:06:00&quot;, &quot;2015-12-18 12:08:00&quot;, &quot;2015-12-18 12:09:00&quot;, &quot;2015-12-18 12:11:00&quot;, &quot;2015-12-18 12:12:00&quot;, &quot;2015-12-18 12:13:00&quot;, &quot;2015-12-18 12:15:00&quot;, &quot;2015-12-18 12:16:00&quot;, &quot;2015-12-18 12:17:00&quot;, &quot;2015-12-18 12:19:00&quot;, &quot;2015-12-18 12:21:00&quot;, &quot;2015-12-18 12:22:00&quot;, &quot;2015-12-18 12:24:00&quot;, &quot;2015-12-18 12:25:00&quot;, &quot;2015-12-18 12:26:00&quot;, &quot;2015-12-18 12:27:00&quot;, &quot;2015-12-18 12:28:00&quot;, &quot;2015-12-18 12:35:00&quot;, &quot;2015-12-18 12:42:00&quot;, &quot;2015-12-18 12:44:00&quot;, &quot;2015-12-18 12:46:00&quot;, &quot;2015-12-18 12:47:00&quot;, &quot;2015-12-18 12:50:00&quot;, &quot;2015-12-18 13:11:00&quot;, &quot;2015-12-18 14:40:00&quot;, &quot;2015-12-18 14:42:00&quot;, &quot;2015-12-18 15:28:00&quot;, &quot;2015-12-18 15:29:00&quot;, &quot;2015-12-18 16:51:00&quot;, &quot;2015-12-18 16:52:00&quot;, &quot;2015-12-18 16:55:00&quot;, &quot;2015-12-18 16:56:00&quot;, &quot;2015-12-18 17:36:00&quot;, &quot;2015-12-18 17:37:00&quot;, &quot;2015-12-18 18:10:00&quot;, &quot;2015-12-18 19:20:00&quot;, &quot;2015-12-18 20:36:00&quot;, &quot;2015-12-18 20:37:00&quot;, &quot;2015-12-19 11:48:00&quot;, &quot;2015-12-19 14:46:00&quot;, &quot;2015-12-19 14:51:00&quot;, &quot;2015-12-19 15:05:00&quot;, &quot;2015-12-19 15:58:00&quot;, &quot;2015-12-19 16:04:00&quot;, &quot;2015-12-21 13:26:00&quot;, &quot;2015-12-21 13:31:00&quot;, &quot;2015-12-21 13:33:00&quot;, &quot;2015-12-26 13:03:00&quot;, &quot;2015-12-26 15:14:00&quot;, &quot;2015-12-26 19:03:00&quot;, &quot;2015-12-26 19:19:00&quot;, &quot;2015-12-26 19:20:00&quot;, &quot;2015-12-27 00:39:00&quot;, &quot;2015-12-27 00:40:00&quot;, &quot;2015-12-27 00:44:00&quot;, &quot;2015-12-27 00:46:00&quot;, &quot;2015-12-28 11:04:00&quot;, &quot;2015-12-28 11:07:00&quot;, &quot;2015-12-28 11:09:00&quot;, &quot;2016-01-03 22:57:00&quot;, &quot;2016-01-03 22:58:00&quot;, &quot;2016-01-03 22:59:00&quot;, &quot;2016-01-05 00:57:00&quot;, &quot;2016-01-05 00:58:00&quot;, &quot;2016-01-05 00:59:00&quot;, &quot;2016-01-05 01:00:00&quot;, &quot;2016-01-09 14:00:00&quot;, &quot;2016-01-09 17:36:00&quot;, &quot;2016-01-13 13:49:00&quot;, &quot;2016-01-13 13:50:00&quot;, &quot;2016-01-13 13:51:00&quot;, &quot;2016-01-13 13:52:00&quot;, &quot;2016-01-15 18:58:00&quot;, &quot;2016-01-15 18:59:00&quot;, &quot;2016-01-15 21:29:00&quot;, &quot;2016-01-15 21:41:00&quot;, &quot;2016-01-20 13:53:00&quot;, &quot;2016-01-22 12:44:00&quot;, &quot;2016-01-25 17:59:00&quot;, &quot;2016-01-25 18:03:00&quot;, &quot;2016-01-25 18:17:00&quot;, &quot;2016-01-25 18:28:00&quot;, &quot;2016-01-26 20:11:00&quot;, &quot;2016-01-26 20:12:00&quot;, &quot;2016-01-26 20:13:00&quot;, &quot;2016-01-26 20:27:00&quot;, &quot;2016-01-26 20:28:00&quot;, &quot;2016-01-26 20:30:00&quot;, &quot;2016-01-26 20:40:00&quot;, &quot;2016-01-27 18:06:00&quot;, &quot;2016-01-27 18:07:00&quot;, &quot;2016-01-27 20:08:00&quot;, &quot;2016-01-28 20:40:00&quot;, &quot;2016-01-28 20:46:00&quot;, &quot;2016-01-28 20:47:00&quot;, &quot;2016-01-28 20:48:00&quot;, &quot;2016-01-28 20:49:00&quot;, &quot;2016-01-28 20:50:00&quot;, &quot;2016-01-28 20:51:00&quot;, &quot;2016-01-30 14:52:00&quot;, &quot;2016-02-01 19:40:00&quot;, &quot;2016-02-01 19:47:00&quot;, &quot;2016-02-01 19:51:00&quot;, &quot;2016-02-01 20:15:00&quot;, &quot;2016-02-01 22:15:00&quot;, &quot;2016-02-02 17:03:00&quot;, &quot;2016-02-02 20:04:00&quot;, &quot;2016-02-02 20:05:00&quot;, &quot;2016-02-03 18:44:00&quot;, &quot;2016-02-03 19:24:00&quot;, &quot;2016-02-03 19:53:00&quot;, &quot;2016-02-03 19:56:00&quot;, &quot;2016-02-04 13:13:00&quot;, &quot;2016-02-04 13:45:00&quot;, &quot;2016-02-04 13:48:00&quot;, &quot;2016-02-04 13:49:00&quot;, &quot;2016-02-04 13:50:00&quot;, &quot;2016-02-04 17:41:00&quot;, &quot;2016-02-04 17:42:00&quot;, &quot;2016-02-05 14:41:00&quot;, &quot;2016-02-05 14:43:00&quot;, &quot;2016-02-05 18:47:00&quot;, &quot;2016-02-05 18:51:00&quot;, &quot;2016-02-05 19:33:00&quot;, &quot;2016-02-05 19:36:00&quot;, &quot;2016-02-06 18:24:00&quot;, &quot;2016-02-06 18:26:00&quot;, &quot;2016-02-06 18:27:00&quot;, &quot;2016-02-06 20:01:00&quot;, &quot;2016-02-06 20:05:00&quot;, &quot;2016-02-06 20:07:00&quot;, &quot;2016-02-09 21:51:00&quot;, &quot;2016-02-09 21:53:00&quot;, &quot;2016-02-09 21:54:00&quot;, &quot;2016-02-09 21:55:00&quot;, &quot;2016-02-09 22:58:00&quot;, &quot;2016-02-09 23:10:00&quot;, &quot;2016-02-09 23:22:00&quot;, &quot;2016-02-11 19:17:00&quot;, &quot;2016-02-11 19:20:00&quot;, &quot;2016-02-11 19:33:00&quot;, &quot;2016-02-12 12:54:00&quot;, &quot;2016-02-12 15:53:00&quot;, &quot;2016-02-12 15:54:00&quot;, &quot;2016-02-12 15:55:00&quot;, &quot;2016-02-15 14:36:00&quot;, &quot;2016-02-15 14:37:00&quot;, &quot;2016-02-15 14:38:00&quot;, &quot;2016-02-15 14:39:00&quot;, &quot;2016-02-15 15:29:00&quot;, &quot;2016-02-15 16:53:00&quot;, &quot;2016-02-15 16:54:00&quot;, &quot;2016-02-15 16:55:00&quot;, &quot;2016-02-15 20:44:00&quot;, &quot;2016-02-17 11:46:00&quot;, &quot;2016-02-17 11:48:00&quot;, &quot;2016-03-01 13:22:00&quot;, &quot;2016-03-01 13:30:00&quot;, &quot;2016-03-04 14:45:00&quot;, &quot;2016-03-08 18:25:00&quot;, &quot;2016-03-08 18:27:00&quot;, &quot;2016-03-08 18:30:00&quot;, &quot;2016-03-08 18:39:00&quot;, &quot;2016-03-08 18:40:00&quot;, &quot;2016-03-08 18:45:00&quot;, &quot;2016-03-08 18:48:00&quot;, &quot;2016-03-08 18:50:00&quot;, &quot;2016-03-08 18:52:00&quot;, &quot;2016-03-08 18:53:00&quot;, &quot;2016-03-08 18:56:00&quot;, &quot;2016-03-08 18:57:00&quot;, &quot;2016-03-09 13:42:00&quot;, &quot;2016-03-09 13:43:00&quot;, &quot;2016-03-09 13:47:00&quot;, &quot;2016-03-09 13:48:00&quot;, &quot;2016-03-09 14:58:00&quot;, &quot;2016-03-09 14:59:00&quot;, &quot;2016-03-09 15:00:00&quot;, &quot;2016-03-09 15:01:00&quot;, &quot;2016-03-09 15:02:00&quot;, &quot;2016-03-09 15:03:00&quot;, &quot;2016-03-09 15:05:00&quot;, &quot;2016-03-09 15:06:00&quot;, &quot;2016-03-09 15:08:00&quot;, &quot;2016-03-09 15:35:00&quot;, &quot;2016-03-09 15:36:00&quot;, &quot;2016-03-09 15:47:00&quot;, &quot;2016-03-09 15:48:00&quot;, &quot;2016-03-09 15:49:00&quot;, &quot;2016-03-09 15:50:00&quot;, &quot;2016-03-09 15:51:00&quot;, &quot;2016-03-10 12:55:00&quot;, &quot;2016-03-10 12:57:00&quot;, &quot;2016-03-10 12:58:00&quot;, &quot;2016-03-10 13:02:00&quot;, &quot;2016-03-10 16:03:00&quot;, &quot;2016-03-10 23:35:00&quot;, &quot;2016-03-10 23:36:00&quot;, &quot;2016-03-10 23:37:00&quot;, &quot;2016-03-11 13:46:00&quot;, &quot;2016-03-11 13:53:00&quot;, &quot;2016-03-11 13:54:00&quot;, &quot;2016-03-11 13:55:00&quot;, &quot;2016-03-14 19:35:00&quot;, &quot;2016-03-14 19:36:00&quot;, &quot;2016-03-14 19:37:00&quot;, &quot;2016-03-14 19:38:00&quot;, &quot;2016-03-14 22:17:00&quot;, &quot;2016-03-15 12:58:00&quot;, &quot;2016-03-15 13:01:00&quot;, &quot;2016-03-15 13:03:00&quot;, &quot;2016-03-15 13:04:00&quot;, &quot;2016-03-15 13:06:00&quot;, &quot;2016-03-15 13:07:00&quot;, &quot;2016-03-15 13:09:00&quot;, &quot;2016-03-15 15:17:00&quot;, &quot;2016-03-15 15:19:00&quot;, &quot;2016-03-15 20:23:00&quot;, &quot;2016-03-17 10:44:00&quot;, &quot;2016-03-17 19:57:00&quot;, &quot;2016-03-18 15:17:00&quot;, &quot;2016-03-18 15:22:00&quot;, &quot;2016-03-18 15:23:00&quot;, &quot;2016-03-18 15:36:00&quot;, &quot;2016-03-18 15:39:00&quot;, &quot;2016-03-18 15:40:00&quot;, &quot;2016-03-21 12:54:00&quot;, &quot;2016-03-21 14:11:00&quot;, &quot;2016-03-21 14:27:00&quot;, &quot;2016-03-21 19:19:00&quot;, &quot;2016-03-21 19:20:00&quot;, &quot;2016-03-23 12:03:00&quot;, &quot;2016-03-23 12:14:00&quot;, &quot;2016-03-23 22:07:00&quot;, &quot;2016-03-24 19:07:00&quot;, &quot;2016-03-24 19:08:00&quot;, &quot;2016-03-24 19:09:00&quot;, &quot;2016-03-24 19:10:00&quot;, &quot;2016-03-24 19:11:00&quot;, &quot;2016-03-25 22:44:00&quot;, &quot;2016-04-01 02:26:00&quot;, &quot;2016-04-01 02:28:00&quot;, &quot;2016-04-01 02:29:00&quot;, &quot;2016-04-01 02:33:00&quot;, &quot;2016-04-01 02:34:00&quot;, &quot;2016-04-01 18:02:00&quot;, &quot;2016-04-02 12:27:00&quot;, &quot;2016-04-02 12:29:00&quot;, &quot;2016-04-02 12:31:00&quot;, &quot;2016-04-02 13:22:00&quot;, &quot;2016-04-02 17:29:00&quot;, &quot;2016-04-02 23:30:00&quot;, &quot;2016-04-02 23:32:00&quot;, &quot;2016-04-02 23:33:00&quot;, &quot;2016-04-03 00:15:00&quot;, &quot;2016-04-03 00:16:00&quot;, &quot;2016-04-03 00:17:00&quot;, &quot;2016-04-03 03:01:00&quot;, &quot;2016-04-03 11:20:00&quot;, &quot;2016-04-03 11:21:00&quot;, &quot;2016-04-04 13:13:00&quot;, &quot;2016-04-04 13:14:00&quot;, &quot;2016-04-04 15:53:00&quot;, &quot;2016-04-04 15:55:00&quot;, &quot;2016-04-04 15:56:00&quot;, &quot;2016-04-04 15:57:00&quot;, &quot;2016-04-08 10:42:00&quot;, &quot;2016-04-08 11:33:00&quot;, &quot;2016-04-09 18:50:00&quot;, &quot;2016-04-09 19:49:00&quot;, &quot;2016-04-10 15:36:00&quot;, &quot;2016-04-10 16:03:00&quot;, &quot;2016-04-10 16:13:00&quot;, &quot;2016-04-11 23:51:00&quot;, &quot;2016-04-11 23:52:00&quot;, &quot;2016-04-11 23:53:00&quot;, &quot;2016-04-12 17:59:00&quot;, &quot;2016-04-16 18:58:00&quot;, &quot;2016-04-20 17:43:00&quot;, &quot;2016-04-20 17:44:00&quot;, &quot;2016-04-20 17:45:00&quot;, &quot;2016-04-20 17:46:00&quot;, &quot;2016-04-20 17:48:00&quot;, &quot;2016-04-21 15:16:00&quot;, &quot;2016-04-21 15:51:00&quot;, &quot;2016-04-21 15:52:00&quot;, &quot;2016-04-21 15:55:00&quot;, &quot;2016-04-22 18:49:00&quot;, &quot;2016-04-22 18:50:00&quot;, &quot;2016-04-22 18:51:00&quot;, &quot;2016-04-23 03:00:00&quot;, &quot;2016-04-23 03:02:00&quot;, &quot;2016-04-23 03:04:00&quot;, &quot;2016-04-23 03:05:00&quot;, &quot;2016-04-24 15:08:00&quot;, &quot;2016-04-24 15:09:00&quot;, &quot;2016-04-24 16:51:00&quot;, &quot;2016-04-24 16:52:00&quot;, &quot;2016-04-24 17:11:00&quot;, &quot;2016-04-24 18:05:00&quot;, &quot;2016-04-25 15:38:00&quot;, &quot;2016-04-25 15:39:00&quot;, &quot;2016-04-25 15:40:00&quot;, &quot;2016-04-25 18:48:00&quot;, &quot;2016-04-26 01:09:00&quot;, &quot;2016-04-26 01:11:00&quot;, &quot;2016-04-26 01:14:00&quot;, &quot;2016-04-26 18:08:00&quot;, &quot;2016-04-26 18:09:00&quot;, &quot;2016-04-26 18:10:00&quot;, &quot;2016-04-26 18:11:00&quot;, &quot;2016-04-26 18:12:00&quot;, &quot;2016-04-27 00:14:00&quot;, &quot;2016-04-28 12:40:00&quot;, &quot;2016-04-28 13:46:00&quot;, &quot;2016-04-28 13:47:00&quot;, &quot;2016-04-28 14:30:00&quot;, &quot;2016-04-28 15:43:00&quot;, &quot;2016-04-29 15:37:00&quot;, &quot;2016-04-29 15:40:00&quot;, &quot;2016-04-29 15:56:00&quot;, &quot;2016-04-29 15:58:00&quot;, &quot;2016-04-30 20:33:00&quot;, &quot;2016-04-30 20:34:00&quot;, &quot;2016-04-30 20:39:00&quot;, &quot;2016-04-30 21:46:00&quot;, &quot;2016-04-30 22:00:00&quot;, &quot;2016-04-30 22:01:00&quot;, &quot;2016-04-30 22:02:00&quot;, &quot;2016-04-30 22:03:00&quot;, &quot;2016-04-30 22:05:00&quot;, &quot;2016-05-01 14:55:00&quot;, &quot;2016-05-10 15:45:00&quot;, &quot;2016-05-10 15:46:00&quot;, &quot;2016-05-10 15:47:00&quot;, &quot;2016-05-10 15:48:00&quot;, &quot;2016-05-10 15:54:00&quot;, &quot;2016-05-10 15:56:00&quot;, &quot;2016-05-10 15:57:00&quot;, &quot;2016-05-10 15:58:00&quot;, &quot;2016-05-10 15:59:00&quot;, &quot;2016-05-10 16:00:00&quot;, &quot;2016-05-10 16:09:00&quot;, &quot;2016-05-10 16:19:00&quot;, &quot;2016-05-10 16:22:00&quot;, &quot;2016-05-11 14:53:00&quot;, &quot;2016-05-11 14:54:00&quot;, &quot;2016-05-11 14:55:00&quot;, &quot;2016-05-11 14:56:00&quot;, &quot;2016-05-11 14:58:00&quot;, &quot;2016-05-11 17:02:00&quot;, &quot;2016-05-11 17:03:00&quot;, &quot;2016-05-14 14:36:00&quot;, &quot;2016-05-16 13:28:00&quot;, &quot;2016-05-16 13:29:00&quot;, &quot;2016-05-17 13:27:00&quot;, &quot;2016-05-17 14:48:00&quot;, &quot;2016-05-17 14:49:00&quot;, &quot;2016-05-17 14:58:00&quot;, &quot;2016-05-17 15:00:00&quot;, &quot;2016-05-18 22:57:00&quot;, &quot;2016-05-18 22:58:00&quot;, &quot;2016-05-22 15:01:00&quot;, &quot;2016-05-22 15:02:00&quot;, &quot;2016-05-22 15:03:00&quot;, &quot;2016-05-22 15:04:00&quot;, &quot;2016-05-22 15:07:00&quot;, &quot;2016-05-22 15:17:00&quot;, &quot;2016-05-22 17:15:00&quot;, &quot;2016-05-23 21:35:00&quot;, &quot;2016-05-29 15:10:00&quot;, &quot;2016-05-29 15:11:00&quot;, &quot;2016-05-29 15:12:00&quot;, &quot;2016-05-29 15:13:00&quot;, &quot;2016-05-29 15:15:00&quot;, &quot;2016-05-29 17:49:00&quot;, &quot;2016-05-29 17:50:00&quot;, &quot;2016-05-29 17:51:00&quot;, &quot;2016-05-30 20:17:00&quot;, &quot;2016-05-30 20:25:00&quot;, &quot;2016-05-31 21:08:00&quot;, &quot;2016-05-31 21:12:00&quot;, &quot;2016-06-01 12:47:00&quot;, &quot;2016-06-03 00:40:00&quot;, &quot;2016-06-03 01:02:00&quot;, &quot;2016-06-03 10:23:00&quot;, &quot;2016-06-03 10:25:00&quot;, &quot;2016-06-03 10:29:00&quot;, &quot;2016-06-03 13:23:00&quot;, &quot;2016-06-04 16:15:00&quot;, &quot;2016-06-04 16:16:00&quot;, &quot;2016-06-04 16:17:00&quot;, &quot;2016-06-04 16:24:00&quot;, &quot;2016-06-04 18:52:00&quot;, &quot;2016-06-04 18:59:00&quot;, &quot;2016-06-04 19:00:00&quot;, &quot;2016-06-04 19:44:00&quot;, &quot;2016-06-04 19:51:00&quot;, &quot;2016-06-04 19:52:00&quot;, &quot;2016-06-04 19:54:00&quot;, &quot;2016-06-05 22:46:00&quot;, &quot;2016-06-06 10:42:00&quot;, &quot;2016-06-06 10:43:00&quot;, &quot;2016-06-06 10:44:00&quot;, &quot;2016-06-06 10:45:00&quot;, &quot;2016-06-10 10:22:00&quot;, &quot;2016-06-10 10:29:00&quot;, &quot;2016-06-20 18:55:00&quot;, &quot;2016-06-20 18:56:00&quot;, &quot;2016-06-20 18:57:00&quot;, &quot;2016-06-20 18:58:00&quot;, &quot;2016-06-20 18:59:00&quot;, &quot;2016-06-20 19:03:00&quot;, &quot;2016-06-22 18:01:00&quot;, &quot;2016-06-22 18:03:00&quot;, &quot;2016-06-22 18:06:00&quot;, &quot;2016-06-22 18:07:00&quot;, &quot;2016-06-22 18:08:00&quot;, &quot;2016-06-22 18:09:00&quot;, &quot;2016-06-22 18:12:00&quot;, &quot;2016-06-22 18:13:00&quot;, &quot;2016-06-22 18:14:00&quot;, &quot;2016-06-22 18:15:00&quot;, &quot;2016-06-23 10:32:00&quot;, &quot;2016-06-23 10:33:00&quot;, &quot;2016-06-23 10:34:00&quot;, &quot;2016-06-23 10:35:00&quot;, &quot;2016-06-25 22:06:00&quot;, &quot;2016-07-02 18:35:00&quot;, &quot;2016-07-06 10:39:00&quot;, &quot;2016-07-06 10:40:00&quot;, &quot;2016-07-06 10:41:00&quot;, &quot;2016-07-06 10:42:00&quot;, &quot;2016-07-06 10:43:00&quot;, &quot;2016-07-06 10:46:00&quot;, &quot;2016-07-06 10:47:00&quot;, &quot;2016-07-06 10:48:00&quot;, &quot;2016-07-06 10:50:00&quot;, &quot;2016-07-06 10:52:00&quot;, &quot;2016-07-06 10:56:00&quot;, &quot;2016-07-06 10:59:00&quot;, &quot;2016-07-06 11:01:00&quot;, &quot;2016-07-21 15:53:00&quot;, &quot;2016-07-21 15:54:00&quot;, &quot;2016-07-21 15:55:00&quot;, &quot;2016-07-21 15:56:00&quot;, &quot;2016-07-21 15:57:00&quot;, &quot;2016-07-21 15:58:00&quot;, &quot;2016-07-21 15:59:00&quot;, &quot;2016-07-21 16:15:00&quot;, &quot;2016-07-21 18:19:00&quot;, &quot;2016-07-22 16:52:00&quot;, &quot;2016-07-22 16:53:00&quot;, &quot;2016-07-22 16:57:00&quot;, &quot;2016-07-23 11:29:00&quot;, &quot;2016-07-23 12:29:00&quot;, &quot;2016-07-23 15:33:00&quot;, &quot;2016-07-23 15:42:00&quot;, &quot;2016-07-23 16:02:00&quot;, &quot;2016-07-23 16:04:00&quot;, &quot;2016-07-23 16:05:00&quot;, &quot;2016-07-24 17:17:00&quot;, &quot;2016-07-26 13:15:00&quot;, &quot;2016-07-26 13:16:00&quot;, &quot;2016-07-26 13:17:00&quot;, &quot;2016-07-26 13:18:00&quot;, &quot;2016-07-26 13:19:00&quot;, &quot;2016-07-26 13:20:00&quot;, &quot;2016-07-26 13:22:00&quot;, &quot;2016-07-30 15:24:00&quot;, &quot;2016-07-30 16:05:00&quot;, &quot;2016-07-30 16:06:00&quot;, &quot;2016-07-30 16:07:00&quot;, &quot;2016-08-05 10:48:00&quot;, &quot;2016-08-05 10:50:00&quot;, &quot;2016-08-05 10:51:00&quot;, &quot;2016-08-05 10:53:00&quot;, &quot;2016-08-06 11:36:00&quot;, &quot;2016-08-10 18:24:00&quot;, &quot;2016-08-11 15:02:00&quot;, &quot;2016-08-11 17:35:00&quot;, &quot;2016-08-17 09:46:00&quot;, &quot;2016-08-17 09:47:00&quot;, &quot;2016-08-17 09:48:00&quot;, &quot;2016-08-17 09:50:00&quot;, &quot;2016-08-17 09:51:00&quot;, &quot;2016-08-17 09:52:00&quot;, &quot;2016-08-17 09:54:00&quot;, &quot;2016-08-17 09:55:00&quot;, &quot;2016-08-17 09:57:00&quot;, &quot;2016-08-17 09:58:00&quot;, &quot;2016-08-17 09:59:00&quot;, &quot;2016-08-17 10:00:00&quot;, &quot;2016-08-17 10:07:00&quot;, &quot;2016-08-17 10:15:00&quot;, &quot;2016-08-17 19:55:00&quot;, &quot;2016-08-19 17:34:00&quot;, &quot;2016-08-19 18:11:00&quot;, &quot;2016-08-26 10:27:00&quot;, &quot;2016-08-26 10:29:00&quot;, &quot;2016-08-26 10:32:00&quot;, &quot;2016-08-26 10:33:00&quot;, &quot;2016-08-26 10:35:00&quot;, &quot;2016-09-06 00:21:00&quot;, &quot;2016-09-06 00:22:00&quot;, &quot;2016-09-06 00:24:00&quot;, &quot;2016-09-06 00:26:00&quot;, &quot;2016-09-06 00:27:00&quot;, &quot;2016-09-06 01:56:00&quot;, &quot;2016-10-26 17:09:00&quot;, &quot;2016-10-26 17:12:00&quot;, &quot;2016-10-26 17:13:00&quot;, &quot;2016-10-26 17:15:00&quot;, &quot;2016-10-26 17:16:00&quot;, &quot;2016-10-26 17:18:00&quot;, &quot;2016-10-26 17:22:00&quot;, &quot;2016-11-13 22:15:00&quot;, &quot;2016-11-15 07:56:00&quot;, &quot;2016-12-18 00:27:00&quot;, &quot;2016-12-18 00:39:00&quot;, &quot;2016-12-18 00:42:00&quot;, &quot;2016-12-18 00:43:00&quot;, &quot;2016-12-19 20:12:00&quot;, &quot;2016-12-19 20:39:00&quot;, &quot;2016-12-21 22:37:00&quot;, &quot;2016-12-21 22:40:00&quot;, &quot;2016-12-21 22:41:00&quot;, &quot;2016-12-21 22:53:00&quot;, &quot;2016-12-21 23:15:00&quot;, &quot;2017-02-16 20:02:00&quot;, &quot;2017-02-17 10:15:00&quot;, &quot;2017-02-17 10:16:00&quot;, &quot;2017-02-17 10:17:00&quot;, &quot;2017-02-17 10:18:00&quot;, &quot;2017-02-17 10:19:00&quot;, &quot;2017-02-17 10:20:00&quot;, &quot;2017-02-17 10:21:00&quot;, &quot;2017-02-17 10:22:00&quot;, &quot;2017-02-17 10:23:00&quot;, &quot;2017-08-14 10:47:00&quot;, &quot;2017-08-14 13:47:00&quot;, &quot;2017-08-14 13:49:00&quot;, &quot;2017-08-14 13:50:00&quot;, &quot;2017-08-14 14:00:00&quot;, &quot;2017-08-14 14:01:00&quot;, &quot;2017-08-14 14:02:00&quot;, &quot;2017-08-14 15:52:00&quot;, &quot;2017-08-14 20:02:00&quot;, &quot;2017-08-14 20:03:00&quot;, &quot;2017-08-20 23:03:00&quot;, &quot;2017-09-11 00:46:00&quot;, &quot;2017-09-11 01:01:00&quot;, &quot;2017-09-11 08:59:00&quot;, &quot;2017-09-11 19:09:00&quot;, &quot;2017-09-11 20:58:00&quot;, &quot;2017-09-11 20:59:00&quot;, &quot;2017-09-11 21:00:00&quot;, &quot;2017-09-11 21:01:00&quot;, &quot;2017-09-11 22:05:00&quot;, &quot;2017-09-11 22:20:00&quot;, &quot;2017-09-11 22:21:00&quot;, &quot;2017-09-18 13:20:00&quot;, &quot;2017-10-12 21:39:00&quot;, &quot;2017-10-13 11:22:00&quot;, &quot;2017-10-14 15:05:00&quot;, &quot;2017-10-14 15:06:00&quot;, &quot;2017-10-14 15:07:00&quot;, &quot;2017-10-22 10:56:00&quot;, &quot;2017-10-22 13:40:00&quot;, &quot;2017-10-22 13:52:00&quot;, &quot;2017-10-22 21:44:00&quot;, &quot;2017-10-22 21:47:00&quot;, &quot;2017-10-23 12:36:00&quot;, &quot;2017-10-23 12:51:00&quot;, &quot;2017-10-23 14:47:00&quot;, &quot;2017-10-23 14:48:00&quot;, &quot;2017-10-23 14:49:00&quot;, &quot;2017-10-24 10:42:00&quot;, &quot;2017-10-24 10:43:00&quot;, &quot;2017-10-24 11:54:00&quot;, &quot;2017-10-24 11:55:00&quot;, &quot;2017-10-24 11:56:00&quot;, &quot;2017-10-24 11:57:00&quot;, &quot;2017-10-24 15:25:00&quot;, &quot;2017-10-24 17:42:00&quot;, &quot;2017-10-24 17:43:00&quot;, &quot;2017-10-24 18:15:00&quot;, &quot;2017-10-24 22:07:00&quot;, &quot;2017-10-26 22:46:00&quot;, &quot;2017-10-26 22:55:00&quot;, &quot;2017-11-06 16:24:00&quot;, &quot;2017-11-06 16:25:00&quot;, &quot;2017-11-06 17:42:00&quot;, &quot;2017-11-06 21:34:00&quot;, &quot;2017-11-06 21:35:00&quot;, &quot;2017-11-06 21:36:00&quot;, &quot;2017-11-06 21:38:00&quot;, &quot;2017-11-06 21:46:00&quot;, &quot;2017-11-12 14:49:00&quot;, &quot;2017-11-12 15:00:00&quot;, &quot;2017-11-13 12:16:00&quot;, &quot;2017-11-13 17:41:00&quot;, &quot;2017-11-13 18:21:00&quot;, &quot;2017-12-16 20:54:00&quot;, &quot;2017-12-16 20:58:00&quot;, &quot;2017-12-16 20:59:00&quot;, &quot;2017-12-16 21:00:00&quot;, &quot;2017-12-18 20:06:00&quot;, &quot;2017-12-18 23:07:00&quot;, &quot;2017-12-19 13:46:00&quot;, &quot;2017-12-19 13:49:00&quot;, &quot;2017-12-19 13:50:00&quot;, &quot;2017-12-21 12:56:00&quot;, &quot;2017-12-21 12:57:00&quot;, &quot;2017-12-21 13:08:00&quot;, &quot;2017-12-21 16:24:00&quot;, &quot;2017-12-21 16:26:00&quot;, &quot;2017-12-21 16:27:00&quot;, &quot;2017-12-21 16:31:00&quot;, &quot;2017-12-22 15:12:00&quot;, &quot;2017-12-22 15:13:00&quot;, &quot;2017-12-22 15:15:00&quot;, &quot;2017-12-25 01:10:00&quot;, &quot;2017-12-25 01:11:00&quot;, &quot;2017-12-25 01:49:00&quot;, &quot;2017-12-25 01:50:00&quot;, &quot;2017-12-30 23:59:00&quot;, &quot;2017-12-31 14:03:00&quot;, &quot;2017-12-31 14:36:00&quot;, &quot;2017-12-31 15:03:00&quot;, &quot;2017-12-31 16:13:00&quot;, &quot;2017-12-31 17:50:00&quot;, &quot;2017-12-31 17:51:00&quot;, &quot;2017-12-31 17:54:00&quot;, &quot;2017-12-31 17:56:00&quot;, &quot;2017-12-31 17:58:00&quot;, &quot;2017-12-31 18:18:00&quot;, &quot;2017-12-31 18:21:00&quot;, &quot;2017-12-31 18:22:00&quot;, &quot;2017-12-31 18:23:00&quot;, &quot;2017-12-31 18:25:00&quot;, &quot;2018-01-01 15:12:00&quot;, &quot;2018-01-03 23:26:00&quot;, &quot;2018-01-03 23:28:00&quot;, &quot;2018-01-03 23:29:00&quot;, &quot;2018-01-04 00:26:00&quot;, &quot;2018-01-04 00:28:00&quot;, &quot;2018-01-04 00:29:00&quot;, &quot;2018-01-04 01:12:00&quot;, &quot;2018-01-04 12:04:00&quot;, &quot;2018-01-04 12:10:00&quot;, &quot;2018-01-04 12:11:00&quot;, &quot;2018-01-04 12:15:00&quot;, &quot;2018-01-04 14:59:00&quot;, &quot;2018-01-04 15:04:00&quot;, &quot;2018-01-04 15:45:00&quot;, &quot;2018-01-04 15:46:00&quot;, &quot;2018-01-04 16:03:00&quot;, &quot;2018-01-04 16:35:00&quot;, &quot;2018-01-04 16:37:00&quot;, &quot;2018-01-04 16:42:00&quot;, &quot;2018-01-04 19:38:00&quot;, &quot;2018-01-04 23:08:00&quot;, &quot;2018-01-05 17:43:00&quot;, &quot;2018-01-05 17:44:00&quot;, &quot;2018-01-05 17:45:00&quot;, &quot;2018-01-05 17:49:00&quot;, &quot;2018-01-08 19:29:00&quot;, &quot;2018-01-08 19:33:00&quot;, &quot;2018-01-09 19:11:00&quot;, &quot;2018-01-09 19:13:00&quot;, &quot;2018-01-09 19:14:00&quot;, &quot;2018-01-09 19:21:00&quot;, &quot;2018-01-11 20:03:00&quot;, &quot;2018-01-15 09:49:00&quot;, &quot;2018-01-15 13:32:00&quot;, &quot;2018-01-16 17:28:00&quot;, &quot;2018-01-17 11:08:00&quot;, &quot;2018-01-17 11:09:00&quot;, &quot;2018-01-17 12:07:00&quot;, &quot;2018-01-17 12:09:00&quot;, &quot;2018-01-17 12:10:00&quot;, &quot;2018-01-17 12:57:00&quot;, &quot;2018-01-17 12:58:00&quot;, &quot;2018-01-17 12:59:00&quot;, &quot;2018-01-17 13:00:00&quot;, &quot;2018-01-17 13:01:00&quot;, &quot;2018-01-17 13:02:00&quot;, &quot;2018-01-17 13:03:00&quot;, &quot;2018-01-17 13:04:00&quot;, &quot;2018-01-17 13:08:00&quot;, &quot;2018-01-17 22:57:00&quot;, &quot;2018-01-19 14:12:00&quot;, &quot;2018-01-19 14:15:00&quot;, &quot;2018-01-19 14:16:00&quot;, &quot;2018-01-19 14:17:00&quot;, &quot;2018-01-19 14:18:00&quot;, &quot;2018-01-19 14:19:00&quot;, &quot;2018-01-19 14:20:00&quot;, &quot;2018-01-19 14:23:00&quot;, &quot;2018-01-19 14:24:00&quot;, &quot;2018-01-19 14:25:00&quot;, &quot;2018-01-19 14:26:00&quot;, &quot;2018-01-19 14:27:00&quot;, &quot;2018-01-20 19:34:00&quot;, &quot;2018-01-20 19:35:00&quot;, &quot;2018-01-23 10:26:00&quot;, &quot;2018-01-23 16:35:00&quot;, &quot;2018-01-23 17:12:00&quot;, &quot;2018-01-23 17:16:00&quot;, &quot;2018-01-23 17:17:00&quot;, &quot;2018-01-23 17:18:00&quot;, &quot;2018-01-23 17:32:00&quot;, &quot;2018-01-24 10:56:00&quot;, &quot;2018-01-24 11:19:00&quot;, &quot;2018-01-24 11:20:00&quot;, &quot;2018-01-25 21:16:00&quot;, &quot;2018-01-29 16:06:00&quot;, &quot;2018-02-03 19:40:00&quot;, &quot;2018-02-06 16:51:00&quot;, &quot;2018-02-06 16:52:00&quot;, &quot;2018-02-06 17:04:00&quot;, &quot;2018-02-11 16:15:00&quot;, &quot;2018-02-11 16:16:00&quot;, &quot;2018-03-02 15:10:00&quot;, &quot;2018-03-02 15:11:00&quot;, &quot;2018-03-02 23:32:00&quot;, &quot;2018-03-02 23:36:00&quot;, &quot;2018-03-02 23:37:00&quot;, &quot;2018-03-02 23:39:00&quot;, &quot;2018-03-02 23:40:00&quot;, &quot;2018-03-05 16:29:00&quot;, &quot;2018-03-05 16:30:00&quot;, &quot;2018-03-05 16:31:00&quot;, &quot;2018-03-05 16:32:00&quot;, &quot;2018-03-05 16:33:00&quot;, &quot;2018-03-05 16:34:00&quot;, &quot;2018-03-05 16:35:00&quot;, &quot;2018-03-05 16:36:00&quot;, &quot;2018-03-05 16:37:00&quot;, &quot;2018-03-05 16:38:00&quot;, &quot;2018-03-05 16:39:00&quot;, &quot;2018-03-05 16:40:00&quot;, &quot;2018-03-06 18:05:00&quot;, &quot;2018-03-06 18:30:00&quot;, &quot;2018-03-10 08:33:00&quot;, &quot;2018-03-11 08:03:00&quot;], &quot;y&quot;: [3, 1, 5, 1, 1, 4, 1, 1, 1, 1, 2, 1, 1, 3, 4, 3, 1, 4, 2, 2, 1, 1, 1, 2, 2, 9, 1, 1, 2, 9, 22, 18, 7, 1, 1, 1, 8, 3, 3, 1, 2, 5, 4, 4, 6, 2, 4, 2, 3, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 3, 2, 3, 1, 3, 1, 1, 1, 6, 9, 6, 2, 7, 11, 12, 4, 6, 5, 4, 1, 4, 3, 4, 4, 1, 1, 4, 1, 1, 3, 1, 5, 2, 7, 1, 1, 2, 1, 3, 2, 2, 1, 3, 5, 10, 1, 2, 2, 2, 6, 4, 1, 1, 2, 1, 1, 6, 2, 2, 1, 1, 1, 1, 1, 2, 1, 4, 2, 1, 1, 7, 4, 2, 2, 4, 3, 1, 1, 1, 1, 3, 4, 1, 2, 3, 4, 1, 1, 2, 3, 2, 5, 1, 1, 1, 1, 3, 1, 1, 2, 2, 2, 1, 1, 2, 5, 1, 7, 1, 2, 1, 1, 2, 2, 3, 1, 1, 1, 2, 3, 3, 8, 1, 1, 3, 3, 5, 1, 1, 1, 1, 3, 1, 1, 5, 1, 1, 2, 1, 2, 2, 2, 1, 3, 2, 2, 3, 4, 4, 3, 5, 4, 3, 1, 3, 1, 2, 1, 1, 3, 1, 2, 1, 2, 3, 1, 1, 4, 2, 3, 1, 2, 2, 2, 1, 4, 2, 2, 2, 2, 3, 6, 3, 4, 3, 1, 1, 3, 3, 1, 2, 1, 1, 1, 1, 1, 4, 1, 1, 2, 3, 2, 2, 4, 4, 1, 1, 1, 1, 3, 2, 1, 2, 1, 1, 4, 2, 1, 2, 2, 4, 1, 2, 1, 1, 1, 2, 2, 2, 1, 2, 2, 2, 2, 2, 3, 2, 1, 2, 1, 1, 1, 4, 2, 2, 4, 4, 1, 2, 2, 2, 9, 2, 1, 1, 1, 1, 1, 2, 2, 4, 1, 1, 4, 3, 3, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 3, 1, 2, 1, 1, 1, 1, 1, 4, 5, 2, 1, 1, 1, 1, 1, 3, 1, 3, 2, 1, 1, 3, 2, 1, 2, 1, 5, 1, 1, 1, 4, 1, 5, 1, 5, 1, 1, 1, 1, 2, 2, 1, 1, 2, 1, 2, 3, 2, 1, 2, 1, 2, 3, 1, 1, 1, 6, 6, 2, 4, 5, 1, 3, 4, 2, 2, 2, 2, 1, 3, 3, 2, 1, 4, 3, 1, 1, 2, 1, 1, 1, 1, 1, 9, 1, 1, 2, 2, 4, 1, 2, 1, 2, 1, 2, 1, 2, 1, 4, 1, 1, 1, 2, 1, 2, 3, 6, 1, 3, 1, 1, 2, 2, 1, 1, 3, 1, 2, 1, 1, 1, 4, 1, 1, 1, 2, 2, 1, 1, 1, 3, 1, 2, 1, 4, 1, 1, 1, 2, 8, 5, 3, 1, 2, 1, 2, 2, 5, 1, 2, 2, 1, 3, 1, 1, 1, 2, 1, 2, 2, 1, 1, 1, 1, 1, 8, 3, 1, 3, 1, 3, 1, 4, 2, 2, 1, 1, 4, 1, 1, 1, 1, 1, 1, 1, 3, 6, 1, 3, 3, 3, 1, 2, 3, 1, 2, 2, 4, 3, 2, 1, 1, 4, 1, 1, 2, 7, 1, 1, 2, 1, 1, 2, 4, 3, 2, 1, 2, 1, 1, 1, 2, 5, 1, 1, 1, 2, 2, 1, 3, 1, 1, 1, 1, 2, 3, 1, 4, 1, 1, 2, 2, 5, 2, 2, 1, 3, 1, 1, 1, 5, 3, 1, 1, 1, 1, 1, 3, 1, 1, 1, 2, 2, 2, 2, 2, 2, 1, 1, 4, 3, 4, 2, 2, 1, 3, 1, 1, 1, 1, 1, 2, 2, 1, 2, 1, 3, 1, 1, 2, 1, 5, 1, 1, 3, 4, 4, 1, 1, 1, 1, 2, 1, 2, 1, 2, 1, 1, 4, 3, 1, 5, 1, 5, 1, 1, 1, 1, 1, 1, 2, 1, 1, 4, 1, 2, 3, 1, 2, 1, 1, 1, 1, 5, 2, 1, 3, 2, 2, 1, 3, 1, 1, 3, 3, 1, 1, 1, 1, 1, 3, 1, 1, 3, 3, 1, 2, 1, 3, 1, 3, 1, 2, 1, 1, 5, 2, 1, 1, 1, 2, 6, 2, 4, 1, 3, 4, 1, 1, 5, 1, 2, 3, 2, 1, 1, 1, 1, 1, 4, 1, 2, 3, 1, 2, 2, 2, 2, 1, 3, 1, 1, 1, 1, 1, 1, 1, 2, 3, 1, 1, 2, 2, 1, 1, 2, 1, 1, 1, 3, 1, 2, 1, 4, 1, 1, 1, 2, 3, 2, 1, 1, 2, 1, 1, 1, 1, 3, 1, 2, 3, 2, 1, 2, 1, 2, 3, 5, 1, 2, 1, 1, 4, 1, 1, 3, 1, 2, 3, 1, 3, 2, 3, 1, 1, 1, 1, 2, 1, 1, 2, 2, 1, 1, 1, 2, 1, 3, 1, 1, 1, 1, 1, 1, 3, 1, 1, 1, 2, 1, 3, 1, 4, 2, 2, 1, 1, 2, 2, 1, 1, 1, 1, 2, 3, 2, 1, 1, 2, 1, 1, 1, 1, 1, 1, 2, 3, 2, 1, 2, 1, 1, 3, 1, 1, 2, 1, 1, 1, 1, 2, 1, 5, 1, 2, 1, 3, 4, 1, 1, 2, 6, 2, 5, 1, 6, 1, 1, 1, 1, 5, 3, 1, 2, 1, 1, 2, 1, 3, 1, 1, 3, 1, 1, 1, 1, 2, 2, 2, 3, 1, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 2, 1, 3, 1, 2, 1, 1, 2, 1, 1, 1, 1, 3, 1, 1, 1, 3, 1, 1, 3, 3, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 2, 3, 1, 2, 1, 3, 1, 1, 1, 1, 1, 1, 1, 2, 2, 1, 2, 4, 1, 3, 2, 1, 2, 2, 4, 2, 5, 2, 4, 2, 3, 5, 1, 1, 4, 1, 3, 1, 4, 2, 2, 3, 1, 1, 1, 1, 1, 1, 2, 2, 2, 1, 1, 1, 2, 1, 2, 1, 2, 1, 2, 1, 1, 1, 1, 1, 2, 1, 3, 1, 1, 1, 3, 2, 1, 1, 1, 2, 5, 4, 1, 1, 1, 4, 2, 3, 4, 5, 2, 1, 1, 1, 1], &quot;nbinsx&quot;: 70, &quot;histfunc&quot;: &quot;sum&quot;, &quot;name&quot;: &quot;Nathan Cohen&quot;}, {&quot;type&quot;: &quot;histogram&quot;, &quot;x&quot;: [&quot;2011-06-26 20:25:00&quot;, &quot;2011-09-15 21:54:00&quot;, &quot;2011-10-01 16:58:00&quot;, &quot;2011-10-01 16:59:00&quot;, &quot;2011-11-22 00:35:00&quot;, &quot;2011-12-16 13:36:00&quot;, &quot;2011-12-16 13:37:00&quot;, &quot;2011-12-16 13:41:00&quot;, &quot;2011-12-16 13:42:00&quot;, &quot;2011-12-16 13:47:00&quot;, &quot;2011-12-16 13:48:00&quot;, &quot;2011-12-16 13:49:00&quot;, &quot;2011-12-16 13:52:00&quot;, &quot;2012-04-06 19:10:00&quot;, &quot;2012-04-06 19:12:00&quot;, &quot;2012-04-07 19:55:00&quot;, &quot;2012-04-07 19:56:00&quot;, &quot;2012-04-07 19:57:00&quot;, &quot;2012-04-07 19:58:00&quot;, &quot;2012-04-07 22:21:00&quot;, &quot;2012-04-07 22:23:00&quot;, &quot;2012-04-07 22:24:00&quot;, &quot;2012-04-07 22:25:00&quot;, &quot;2012-04-07 22:26:00&quot;, &quot;2012-05-11 15:06:00&quot;, &quot;2012-05-11 15:07:00&quot;, &quot;2012-05-11 15:09:00&quot;, &quot;2012-07-06 22:28:00&quot;, &quot;2012-07-06 22:29:00&quot;, &quot;2012-09-09 21:11:00&quot;, &quot;2012-09-09 21:12:00&quot;, &quot;2012-09-09 21:13:00&quot;, &quot;2012-09-09 21:15:00&quot;, &quot;2012-09-09 21:16:00&quot;, &quot;2012-09-09 21:17:00&quot;, &quot;2012-09-09 21:18:00&quot;, &quot;2012-09-09 21:19:00&quot;, &quot;2012-09-09 21:20:00&quot;, &quot;2012-09-09 21:21:00&quot;, &quot;2012-09-09 21:26:00&quot;, &quot;2012-09-09 21:27:00&quot;, &quot;2012-09-27 20:32:00&quot;, &quot;2012-09-27 20:41:00&quot;, &quot;2012-09-27 20:42:00&quot;, &quot;2012-09-27 20:43:00&quot;, &quot;2012-09-27 20:44:00&quot;, &quot;2012-09-27 20:45:00&quot;, &quot;2012-09-27 20:46:00&quot;, &quot;2012-09-27 20:47:00&quot;, &quot;2012-09-27 20:48:00&quot;, &quot;2012-09-27 20:49:00&quot;, &quot;2012-09-27 20:50:00&quot;, &quot;2012-10-12 11:36:00&quot;, &quot;2012-10-12 11:37:00&quot;, &quot;2012-10-12 11:38:00&quot;, &quot;2012-10-12 11:39:00&quot;, &quot;2012-10-12 11:40:00&quot;, &quot;2012-10-12 11:41:00&quot;, &quot;2012-10-12 11:42:00&quot;, &quot;2012-10-12 11:44:00&quot;, &quot;2012-10-12 11:45:00&quot;, &quot;2012-10-12 11:48:00&quot;, &quot;2012-10-15 17:37:00&quot;, &quot;2012-10-15 17:38:00&quot;, &quot;2012-10-15 17:40:00&quot;, &quot;2012-10-15 17:43:00&quot;, &quot;2012-10-15 17:44:00&quot;, &quot;2012-10-17 19:16:00&quot;, &quot;2012-10-17 19:17:00&quot;, &quot;2012-10-17 19:18:00&quot;, &quot;2012-10-20 15:55:00&quot;, &quot;2013-02-17 14:16:00&quot;, &quot;2013-02-17 14:17:00&quot;, &quot;2013-05-15 01:14:00&quot;, &quot;2013-05-15 01:24:00&quot;, &quot;2013-05-15 01:25:00&quot;, &quot;2013-05-15 01:26:00&quot;, &quot;2013-07-23 00:37:00&quot;, &quot;2013-07-23 00:39:00&quot;, &quot;2013-07-23 00:40:00&quot;, &quot;2013-07-23 00:41:00&quot;, &quot;2013-07-23 00:43:00&quot;, &quot;2013-07-23 01:12:00&quot;, &quot;2013-07-23 01:14:00&quot;, &quot;2013-07-25 13:56:00&quot;, &quot;2013-07-25 13:59:00&quot;, &quot;2013-07-25 14:00:00&quot;, &quot;2013-07-25 17:14:00&quot;, &quot;2013-07-25 17:18:00&quot;, &quot;2013-07-25 17:22:00&quot;, &quot;2013-08-28 19:31:00&quot;, &quot;2013-08-29 12:31:00&quot;, &quot;2013-09-10 23:48:00&quot;, &quot;2013-09-10 23:49:00&quot;, &quot;2013-09-12 23:09:00&quot;, &quot;2013-09-12 23:10:00&quot;, &quot;2013-09-12 23:11:00&quot;, &quot;2013-09-12 23:12:00&quot;, &quot;2013-09-12 23:13:00&quot;, &quot;2013-09-12 23:15:00&quot;, &quot;2013-09-16 21:41:00&quot;, &quot;2013-09-16 21:42:00&quot;, &quot;2013-09-16 21:44:00&quot;, &quot;2013-09-16 23:56:00&quot;, &quot;2013-09-16 23:58:00&quot;, &quot;2013-09-17&quot;, &quot;2013-09-17 00:01:00&quot;, &quot;2013-10-08 18:03:00&quot;, &quot;2013-10-08 18:04:00&quot;, &quot;2013-10-08 18:05:00&quot;, &quot;2013-10-08 18:07:00&quot;, &quot;2013-10-08 18:08:00&quot;, &quot;2013-10-08 18:10:00&quot;, &quot;2013-10-08 18:11:00&quot;, &quot;2013-10-08 18:13:00&quot;, &quot;2013-10-08 18:14:00&quot;, &quot;2013-10-08 20:12:00&quot;, &quot;2013-10-10 19:10:00&quot;, &quot;2013-10-10 23:52:00&quot;, &quot;2013-10-10 23:53:00&quot;, &quot;2013-10-10 23:54:00&quot;, &quot;2013-10-10 23:55:00&quot;, &quot;2013-10-10 23:56:00&quot;, &quot;2013-12-27 23:01:00&quot;, &quot;2013-12-27 23:02:00&quot;, &quot;2013-12-27 23:04:00&quot;, &quot;2013-12-27 23:06:00&quot;, &quot;2014-07-01 13:01:00&quot;, &quot;2014-07-01 13:02:00&quot;, &quot;2014-07-01 13:03:00&quot;, &quot;2014-10-27 17:22:00&quot;, &quot;2014-10-27 17:23:00&quot;, &quot;2014-10-27 17:25:00&quot;, &quot;2014-10-27 17:29:00&quot;, &quot;2014-10-27 18:07:00&quot;, &quot;2014-10-27 18:14:00&quot;, &quot;2014-10-27 18:32:00&quot;, &quot;2014-10-27 22:11:00&quot;, &quot;2014-10-27 22:12:00&quot;, &quot;2014-10-31 16:45:00&quot;, &quot;2014-10-31 16:46:00&quot;, &quot;2014-11-03 00:30:00&quot;, &quot;2014-11-03 00:31:00&quot;, &quot;2014-11-03 00:32:00&quot;, &quot;2014-11-03 00:34:00&quot;, &quot;2014-11-03 12:44:00&quot;, &quot;2014-11-03 12:45:00&quot;, &quot;2014-11-03 12:50:00&quot;, &quot;2014-11-03 17:05:00&quot;, &quot;2014-11-03 17:31:00&quot;, &quot;2014-11-05 17:34:00&quot;, &quot;2014-11-09 18:22:00&quot;, &quot;2014-11-09 18:24:00&quot;, &quot;2014-11-09 18:25:00&quot;, &quot;2014-11-10 13:10:00&quot;, &quot;2014-12-12 13:54:00&quot;, &quot;2014-12-12 13:56:00&quot;, &quot;2014-12-12 13:58:00&quot;, &quot;2014-12-12 14:01:00&quot;, &quot;2014-12-12 14:03:00&quot;, &quot;2014-12-12 14:05:00&quot;, &quot;2014-12-12 14:07:00&quot;, &quot;2014-12-12 14:09:00&quot;, &quot;2014-12-12 14:10:00&quot;, &quot;2014-12-12 14:11:00&quot;, &quot;2014-12-12 14:12:00&quot;, &quot;2014-12-12 14:13:00&quot;, &quot;2014-12-12 14:14:00&quot;, &quot;2014-12-12 14:15:00&quot;, &quot;2014-12-12 14:16:00&quot;, &quot;2014-12-12 14:18:00&quot;, &quot;2014-12-12 14:29:00&quot;, &quot;2014-12-12 14:57:00&quot;, &quot;2015-01-02 17:54:00&quot;, &quot;2015-02-01 02:02:00&quot;, &quot;2015-02-01 06:49:00&quot;, &quot;2015-02-01 06:51:00&quot;, &quot;2015-02-01 06:55:00&quot;, &quot;2015-02-01 06:57:00&quot;, &quot;2015-02-01 07:00:00&quot;, &quot;2015-02-01 07:08:00&quot;, &quot;2015-02-01 07:20:00&quot;, &quot;2015-02-01 07:24:00&quot;, &quot;2015-02-03 23:58:00&quot;, &quot;2015-03-08 15:44:00&quot;, &quot;2015-03-08 15:49:00&quot;, &quot;2015-03-08 20:12:00&quot;, &quot;2015-03-08 20:13:00&quot;, &quot;2015-03-08 20:14:00&quot;, &quot;2015-07-02 21:37:00&quot;, &quot;2015-07-02 21:41:00&quot;, &quot;2015-07-02 21:45:00&quot;, &quot;2015-07-02 21:46:00&quot;, &quot;2015-07-02 21:48:00&quot;, &quot;2015-07-02 21:50:00&quot;, &quot;2015-07-02 21:51:00&quot;, &quot;2015-07-02 23:02:00&quot;, &quot;2015-07-03 13:53:00&quot;, &quot;2015-07-03 19:01:00&quot;, &quot;2015-07-13 23:21:00&quot;, &quot;2015-07-13 23:31:00&quot;, &quot;2015-07-13 23:34:00&quot;, &quot;2015-07-13 23:35:00&quot;, &quot;2015-07-28 11:48:00&quot;, &quot;2015-09-05 16:47:00&quot;, &quot;2015-09-05 16:49:00&quot;, &quot;2015-09-05 16:52:00&quot;, &quot;2015-09-06 18:11:00&quot;, &quot;2015-09-06 19:12:00&quot;, &quot;2015-09-06 19:14:00&quot;, &quot;2015-09-06 19:22:00&quot;, &quot;2015-09-06 19:24:00&quot;, &quot;2015-09-06 19:25:00&quot;, &quot;2015-09-27 16:31:00&quot;, &quot;2015-09-27 16:32:00&quot;, &quot;2015-09-27 16:33:00&quot;, &quot;2015-10-06 18:09:00&quot;, &quot;2015-10-17 15:32:00&quot;, &quot;2015-10-17 15:33:00&quot;, &quot;2015-10-17 15:35:00&quot;, &quot;2015-10-17 15:37:00&quot;, &quot;2015-10-29 21:02:00&quot;, &quot;2015-10-29 21:06:00&quot;, &quot;2015-10-29 21:17:00&quot;, &quot;2015-11-01 13:08:00&quot;, &quot;2015-11-01 15:26:00&quot;, &quot;2015-11-16 14:45:00&quot;, &quot;2015-12-03 19:24:00&quot;, &quot;2015-12-03 19:25:00&quot;, &quot;2015-12-03 19:26:00&quot;, &quot;2015-12-03 19:27:00&quot;, &quot;2015-12-03 19:30:00&quot;, &quot;2015-12-03 19:32:00&quot;, &quot;2015-12-03 19:34:00&quot;, &quot;2015-12-07 19:38:00&quot;, &quot;2015-12-07 19:52:00&quot;, &quot;2015-12-10 09:33:00&quot;, &quot;2015-12-17 20:19:00&quot;, &quot;2015-12-17 20:20:00&quot;, &quot;2015-12-17 20:28:00&quot;, &quot;2015-12-17 20:36:00&quot;, &quot;2015-12-17 20:37:00&quot;, &quot;2015-12-18 11:55:00&quot;, &quot;2015-12-18 11:56:00&quot;, &quot;2015-12-18 11:57:00&quot;, &quot;2015-12-18 12:03:00&quot;, &quot;2015-12-18 12:06:00&quot;, &quot;2015-12-18 12:08:00&quot;, &quot;2015-12-18 12:09:00&quot;, &quot;2015-12-18 12:10:00&quot;, &quot;2015-12-18 12:11:00&quot;, &quot;2015-12-18 12:12:00&quot;, &quot;2015-12-18 12:13:00&quot;, &quot;2015-12-18 12:14:00&quot;, &quot;2015-12-18 12:15:00&quot;, &quot;2015-12-18 12:16:00&quot;, &quot;2015-12-18 12:17:00&quot;, &quot;2015-12-18 12:19:00&quot;, &quot;2015-12-18 12:20:00&quot;, &quot;2015-12-18 12:21:00&quot;, &quot;2015-12-18 12:22:00&quot;, &quot;2015-12-18 12:23:00&quot;, &quot;2015-12-18 12:24:00&quot;, &quot;2015-12-18 12:25:00&quot;, &quot;2015-12-18 12:26:00&quot;, &quot;2015-12-18 12:27:00&quot;, &quot;2015-12-18 12:28:00&quot;, &quot;2015-12-18 12:29:00&quot;, &quot;2015-12-18 12:40:00&quot;, &quot;2015-12-18 12:42:00&quot;, &quot;2015-12-18 12:45:00&quot;, &quot;2015-12-18 12:49:00&quot;, &quot;2015-12-18 12:53:00&quot;, &quot;2015-12-18 13:10:00&quot;, &quot;2015-12-18 13:11:00&quot;, &quot;2015-12-18 14:41:00&quot;, &quot;2015-12-18 14:42:00&quot;, &quot;2015-12-18 15:28:00&quot;, &quot;2015-12-18 15:29:00&quot;, &quot;2015-12-18 16:34:00&quot;, &quot;2015-12-18 16:53:00&quot;, &quot;2015-12-18 16:56:00&quot;, &quot;2015-12-18 17:37:00&quot;, &quot;2015-12-18 18:28:00&quot;, &quot;2015-12-18 19:18:00&quot;, &quot;2015-12-18 20:21:00&quot;, &quot;2015-12-18 20:37:00&quot;, &quot;2015-12-19 15:00:00&quot;, &quot;2015-12-19 15:01:00&quot;, &quot;2015-12-19 15:58:00&quot;, &quot;2015-12-19 16:05:00&quot;, &quot;2015-12-21 09:42:00&quot;, &quot;2015-12-21 13:31:00&quot;, &quot;2015-12-21 13:32:00&quot;, &quot;2015-12-21 13:33:00&quot;, &quot;2015-12-26 13:03:00&quot;, &quot;2015-12-26 13:04:00&quot;, &quot;2015-12-26 15:38:00&quot;, &quot;2015-12-26 19:09:00&quot;, &quot;2015-12-26 19:20:00&quot;, &quot;2015-12-26 19:31:00&quot;, &quot;2015-12-27 00:40:00&quot;, &quot;2015-12-27 00:43:00&quot;, &quot;2015-12-27 00:44:00&quot;, &quot;2015-12-27 00:47:00&quot;, &quot;2015-12-28 11:07:00&quot;, &quot;2015-12-28 11:09:00&quot;, &quot;2015-12-28 11:14:00&quot;, &quot;2016-01-03 22:58:00&quot;, &quot;2016-01-03 22:59:00&quot;, &quot;2016-01-05 00:57:00&quot;, &quot;2016-01-05 00:58:00&quot;, &quot;2016-01-05 00:59:00&quot;, &quot;2016-01-05 01:00:00&quot;, &quot;2016-01-13 13:49:00&quot;, &quot;2016-01-13 13:50:00&quot;, &quot;2016-01-13 13:51:00&quot;, &quot;2016-01-13 13:52:00&quot;, &quot;2016-01-13 13:53:00&quot;, &quot;2016-01-14 00:33:00&quot;, &quot;2016-01-15 18:58:00&quot;, &quot;2016-01-15 18:59:00&quot;, &quot;2016-01-15 21:34:00&quot;, &quot;2016-01-15 21:41:00&quot;, &quot;2016-01-20 13:37:00&quot;, &quot;2016-01-20 13:53:00&quot;, &quot;2016-01-22 12:44:00&quot;, &quot;2016-01-25 17:59:00&quot;, &quot;2016-01-25 18:00:00&quot;, &quot;2016-01-25 18:08:00&quot;, &quot;2016-01-25 18:28:00&quot;, &quot;2016-01-25 18:29:00&quot;, &quot;2016-01-26 10:43:00&quot;, &quot;2016-01-26 12:59:00&quot;, &quot;2016-01-26 20:04:00&quot;, &quot;2016-01-26 20:12:00&quot;, &quot;2016-01-26 20:13:00&quot;, &quot;2016-01-26 20:25:00&quot;, &quot;2016-01-26 20:28:00&quot;, &quot;2016-01-26 20:30:00&quot;, &quot;2016-01-26 20:33:00&quot;, &quot;2016-01-26 20:41:00&quot;, &quot;2016-01-27 18:07:00&quot;, &quot;2016-01-27 20:12:00&quot;, &quot;2016-01-28 20:45:00&quot;, &quot;2016-01-28 20:47:00&quot;, &quot;2016-01-28 20:48:00&quot;, &quot;2016-01-28 20:51:00&quot;, &quot;2016-02-01 19:38:00&quot;, &quot;2016-02-01 19:40:00&quot;, &quot;2016-02-01 19:41:00&quot;, &quot;2016-02-01 19:43:00&quot;, &quot;2016-02-01 19:49:00&quot;, &quot;2016-02-01 20:16:00&quot;, &quot;2016-02-01 22:16:00&quot;, &quot;2016-02-02 15:58:00&quot;, &quot;2016-02-02 17:02:00&quot;, &quot;2016-02-02 17:03:00&quot;, &quot;2016-02-02 20:04:00&quot;, &quot;2016-02-02 20:05:00&quot;, &quot;2016-02-02 20:06:00&quot;, &quot;2016-02-02 20:07:00&quot;, &quot;2016-02-03 18:44:00&quot;, &quot;2016-02-03 18:51:00&quot;, &quot;2016-02-03 19:24:00&quot;, &quot;2016-02-03 19:42:00&quot;, &quot;2016-02-03 19:56:00&quot;, &quot;2016-02-03 20:10:00&quot;, &quot;2016-02-04 01:55:00&quot;, &quot;2016-02-04 13:13:00&quot;, &quot;2016-02-04 13:14:00&quot;, &quot;2016-02-04 13:47:00&quot;, &quot;2016-02-04 13:49:00&quot;, &quot;2016-02-04 17:37:00&quot;, &quot;2016-02-04 17:42:00&quot;, &quot;2016-02-05 14:42:00&quot;, &quot;2016-02-05 18:46:00&quot;, &quot;2016-02-05 18:51:00&quot;, &quot;2016-02-05 18:52:00&quot;, &quot;2016-02-05 19:25:00&quot;, &quot;2016-02-06 18:24:00&quot;, &quot;2016-02-06 18:26:00&quot;, &quot;2016-02-06 18:27:00&quot;, &quot;2016-02-06 20:04:00&quot;, &quot;2016-02-06 20:06:00&quot;, &quot;2016-02-09 21:52:00&quot;, &quot;2016-02-09 21:53:00&quot;, &quot;2016-02-09 21:54:00&quot;, &quot;2016-02-09 23:22:00&quot;, &quot;2016-02-11 19:05:00&quot;, &quot;2016-02-11 19:17:00&quot;, &quot;2016-02-11 19:18:00&quot;, &quot;2016-02-11 19:32:00&quot;, &quot;2016-02-11 19:33:00&quot;, &quot;2016-02-11 19:35:00&quot;, &quot;2016-02-12 12:54:00&quot;, &quot;2016-02-12 12:55:00&quot;, &quot;2016-02-12 15:53:00&quot;, &quot;2016-02-12 15:54:00&quot;, &quot;2016-02-12 15:55:00&quot;, &quot;2016-02-13 20:11:00&quot;, &quot;2016-02-15 14:38:00&quot;, &quot;2016-02-15 14:39:00&quot;, &quot;2016-02-15 15:28:00&quot;, &quot;2016-02-15 15:29:00&quot;, &quot;2016-02-15 16:53:00&quot;, &quot;2016-02-15 16:54:00&quot;, &quot;2016-02-15 16:55:00&quot;, &quot;2016-02-15 17:00:00&quot;, &quot;2016-02-15 17:02:00&quot;, &quot;2016-02-15 20:44:00&quot;, &quot;2016-02-17 11:48:00&quot;, &quot;2016-02-17 11:51:00&quot;, &quot;2016-03-01 13:30:00&quot;, &quot;2016-03-08 18:27:00&quot;, &quot;2016-03-08 18:32:00&quot;, &quot;2016-03-08 18:39:00&quot;, &quot;2016-03-08 18:40:00&quot;, &quot;2016-03-08 18:44:00&quot;, &quot;2016-03-08 18:47:00&quot;, &quot;2016-03-08 18:49:00&quot;, &quot;2016-03-08 18:52:00&quot;, &quot;2016-03-08 18:53:00&quot;, &quot;2016-03-08 18:56:00&quot;, &quot;2016-03-08 18:57:00&quot;, &quot;2016-03-08 19:05:00&quot;, &quot;2016-03-08 20:05:00&quot;, &quot;2016-03-08 20:07:00&quot;, &quot;2016-03-09 13:46:00&quot;, &quot;2016-03-09 14:59:00&quot;, &quot;2016-03-09 15:00:00&quot;, &quot;2016-03-09 15:01:00&quot;, &quot;2016-03-09 15:02:00&quot;, &quot;2016-03-09 15:04:00&quot;, &quot;2016-03-09 15:05:00&quot;, &quot;2016-03-09 15:29:00&quot;, &quot;2016-03-09 15:35:00&quot;, &quot;2016-03-09 15:48:00&quot;, &quot;2016-03-09 15:49:00&quot;, &quot;2016-03-09 15:50:00&quot;, &quot;2016-03-09 15:51:00&quot;, &quot;2016-03-09 15:56:00&quot;, &quot;2016-03-09 16:24:00&quot;, &quot;2016-03-09 17:44:00&quot;, &quot;2016-03-09 17:45:00&quot;, &quot;2016-03-10 12:45:00&quot;, &quot;2016-03-10 12:58:00&quot;, &quot;2016-03-10 12:59:00&quot;, &quot;2016-03-10 13:00:00&quot;, &quot;2016-03-10 13:12:00&quot;, &quot;2016-03-10 14:35:00&quot;, &quot;2016-03-10 23:35:00&quot;, &quot;2016-03-11 13:17:00&quot;, &quot;2016-03-11 13:48:00&quot;, &quot;2016-03-11 13:55:00&quot;, &quot;2016-03-11 14:01:00&quot;, &quot;2016-03-14 19:35:00&quot;, &quot;2016-03-14 19:37:00&quot;, &quot;2016-03-14 20:18:00&quot;, &quot;2016-03-14 21:36:00&quot;, &quot;2016-03-14 22:30:00&quot;, &quot;2016-03-15 13:00:00&quot;, &quot;2016-03-15 13:01:00&quot;, &quot;2016-03-15 13:02:00&quot;, &quot;2016-03-15 13:04:00&quot;, &quot;2016-03-15 13:05:00&quot;, &quot;2016-03-15 13:06:00&quot;, &quot;2016-03-15 13:07:00&quot;, &quot;2016-03-15 13:09:00&quot;, &quot;2016-03-15 13:11:00&quot;, &quot;2016-03-15 13:17:00&quot;, &quot;2016-03-15 13:26:00&quot;, &quot;2016-03-15 15:19:00&quot;, &quot;2016-03-16 12:04:00&quot;, &quot;2016-03-17 10:43:00&quot;, &quot;2016-03-17 10:57:00&quot;, &quot;2016-03-17 18:29:00&quot;, &quot;2016-03-18 15:12:00&quot;, &quot;2016-03-18 15:21:00&quot;, &quot;2016-03-18 15:23:00&quot;, &quot;2016-03-18 15:36:00&quot;, &quot;2016-03-18 15:39:00&quot;, &quot;2016-03-18 15:40:00&quot;, &quot;2016-03-21 12:53:00&quot;, &quot;2016-03-21 12:56:00&quot;, &quot;2016-03-21 12:57:00&quot;, &quot;2016-03-21 15:11:00&quot;, &quot;2016-03-21 19:20:00&quot;, &quot;2016-03-21 19:21:00&quot;, &quot;2016-03-23 12:08:00&quot;, &quot;2016-03-23 12:20:00&quot;, &quot;2016-03-23 22:08:00&quot;, &quot;2016-03-24 19:06:00&quot;, &quot;2016-03-24 19:07:00&quot;, &quot;2016-03-24 19:08:00&quot;, &quot;2016-03-24 19:09:00&quot;, &quot;2016-03-24 19:10:00&quot;, &quot;2016-04-01 02:25:00&quot;, &quot;2016-04-01 02:26:00&quot;, &quot;2016-04-01 02:27:00&quot;, &quot;2016-04-01 02:33:00&quot;, &quot;2016-04-01 02:34:00&quot;, &quot;2016-04-01 16:35:00&quot;, &quot;2016-04-02 12:28:00&quot;, &quot;2016-04-02 12:30:00&quot;, &quot;2016-04-02 12:37:00&quot;, &quot;2016-04-02 23:32:00&quot;, &quot;2016-04-02 23:33:00&quot;, &quot;2016-04-03 00:15:00&quot;, &quot;2016-04-03 00:16:00&quot;, &quot;2016-04-03 00:17:00&quot;, &quot;2016-04-03 12:31:00&quot;, &quot;2016-04-04 12:01:00&quot;, &quot;2016-04-04 12:02:00&quot;, &quot;2016-04-04 13:13:00&quot;, &quot;2016-04-04 13:14:00&quot;, &quot;2016-04-04 15:55:00&quot;, &quot;2016-04-04 15:56:00&quot;, &quot;2016-04-04 15:57:00&quot;, &quot;2016-04-04 15:58:00&quot;, &quot;2016-04-04 17:08:00&quot;, &quot;2016-04-08 14:48:00&quot;, &quot;2016-04-09 19:49:00&quot;, &quot;2016-04-10 16:02:00&quot;, &quot;2016-04-11 23:51:00&quot;, &quot;2016-04-11 23:52:00&quot;, &quot;2016-04-11 23:53:00&quot;, &quot;2016-04-12 17:57:00&quot;, &quot;2016-04-16 19:00:00&quot;, &quot;2016-04-16 20:59:00&quot;, &quot;2016-04-20 17:43:00&quot;, &quot;2016-04-20 17:44:00&quot;, &quot;2016-04-20 17:45:00&quot;, &quot;2016-04-20 17:46:00&quot;, &quot;2016-04-20 17:48:00&quot;, &quot;2016-04-21 15:16:00&quot;, &quot;2016-04-21 15:22:00&quot;, &quot;2016-04-21 15:51:00&quot;, &quot;2016-04-21 15:52:00&quot;, &quot;2016-04-21 15:57:00&quot;, &quot;2016-04-22 18:49:00&quot;, &quot;2016-04-22 18:50:00&quot;, &quot;2016-04-22 18:51:00&quot;, &quot;2016-04-22 18:57:00&quot;, &quot;2016-04-23 03:04:00&quot;, &quot;2016-04-24 15:08:00&quot;, &quot;2016-04-24 15:15:00&quot;, &quot;2016-04-24 16:51:00&quot;, &quot;2016-04-24 18:40:00&quot;, &quot;2016-04-25 15:38:00&quot;, &quot;2016-04-25 15:39:00&quot;, &quot;2016-04-25 15:40:00&quot;, &quot;2016-04-25 15:44:00&quot;, &quot;2016-04-25 18:58:00&quot;, &quot;2016-04-25 19:12:00&quot;, &quot;2016-04-26 01:11:00&quot;, &quot;2016-04-26 01:12:00&quot;, &quot;2016-04-26 18:09:00&quot;, &quot;2016-04-26 18:10:00&quot;, &quot;2016-04-26 18:11:00&quot;, &quot;2016-04-26 18:12:00&quot;, &quot;2016-04-27 00:15:00&quot;, &quot;2016-04-28 12:39:00&quot;, &quot;2016-04-28 12:40:00&quot;, &quot;2016-04-28 13:47:00&quot;, &quot;2016-04-28 14:31:00&quot;, &quot;2016-04-28 15:22:00&quot;, &quot;2016-04-28 20:19:00&quot;, &quot;2016-04-29 15:35:00&quot;, &quot;2016-04-29 15:38:00&quot;, &quot;2016-04-29 15:41:00&quot;, &quot;2016-04-29 15:57:00&quot;, &quot;2016-04-29 16:01:00&quot;, &quot;2016-04-30 20:33:00&quot;, &quot;2016-04-30 20:34:00&quot;, &quot;2016-04-30 20:39:00&quot;, &quot;2016-04-30 21:52:00&quot;, &quot;2016-04-30 22:01:00&quot;, &quot;2016-04-30 22:03:00&quot;, &quot;2016-04-30 22:04:00&quot;, &quot;2016-05-01 15:14:00&quot;, &quot;2016-05-10 15:45:00&quot;, &quot;2016-05-10 15:46:00&quot;, &quot;2016-05-10 15:48:00&quot;, &quot;2016-05-10 15:56:00&quot;, &quot;2016-05-10 15:57:00&quot;, &quot;2016-05-10 15:59:00&quot;, &quot;2016-05-10 16:10:00&quot;, &quot;2016-05-10 16:20:00&quot;, &quot;2016-05-11 14:54:00&quot;, &quot;2016-05-11 14:55:00&quot;, &quot;2016-05-11 14:57:00&quot;, &quot;2016-05-11 14:58:00&quot;, &quot;2016-05-11 14:59:00&quot;, &quot;2016-05-11 17:02:00&quot;, &quot;2016-05-11 17:03:00&quot;, &quot;2016-05-13 11:34:00&quot;, &quot;2016-05-16 13:29:00&quot;, &quot;2016-05-17 14:35:00&quot;, &quot;2016-05-17 14:57:00&quot;, &quot;2016-05-17 14:58:00&quot;, &quot;2016-05-17 14:59:00&quot;, &quot;2016-05-18 22:57:00&quot;, &quot;2016-05-18 22:58:00&quot;, &quot;2016-05-22 15:02:00&quot;, &quot;2016-05-22 15:06:00&quot;, &quot;2016-05-22 15:19:00&quot;, &quot;2016-05-23 21:35:00&quot;, &quot;2016-05-29 15:11:00&quot;, &quot;2016-05-29 15:12:00&quot;, &quot;2016-05-29 15:14:00&quot;, &quot;2016-05-29 17:43:00&quot;, &quot;2016-05-29 17:50:00&quot;, &quot;2016-05-30 20:19:00&quot;, &quot;2016-05-31 21:09:00&quot;, &quot;2016-05-31 21:11:00&quot;, &quot;2016-05-31 21:12:00&quot;, &quot;2016-06-03 10:25:00&quot;, &quot;2016-06-03 10:29:00&quot;, &quot;2016-06-04 16:15:00&quot;, &quot;2016-06-04 16:23:00&quot;, &quot;2016-06-04 16:24:00&quot;, &quot;2016-06-04 18:58:00&quot;, &quot;2016-06-04 18:59:00&quot;, &quot;2016-06-04 19:00:00&quot;, &quot;2016-06-04 19:51:00&quot;, &quot;2016-06-04 19:52:00&quot;, &quot;2016-06-06 10:43:00&quot;, &quot;2016-06-06 10:44:00&quot;, &quot;2016-06-06 10:45:00&quot;, &quot;2016-06-10 10:26:00&quot;, &quot;2016-06-20 18:55:00&quot;, &quot;2016-06-20 18:56:00&quot;, &quot;2016-06-20 18:57:00&quot;, &quot;2016-06-20 19:03:00&quot;, &quot;2016-06-20 23:49:00&quot;, &quot;2016-06-22 18:01:00&quot;, &quot;2016-06-22 18:02:00&quot;, &quot;2016-06-22 18:07:00&quot;, &quot;2016-06-22 18:08:00&quot;, &quot;2016-06-22 18:10:00&quot;, &quot;2016-06-22 18:12:00&quot;, &quot;2016-06-22 18:15:00&quot;, &quot;2016-06-23 10:29:00&quot;, &quot;2016-06-23 10:32:00&quot;, &quot;2016-06-23 10:33:00&quot;, &quot;2016-06-23 10:34:00&quot;, &quot;2016-06-23 12:37:00&quot;, &quot;2016-07-02 19:09:00&quot;, &quot;2016-07-06 10:39:00&quot;, &quot;2016-07-06 10:40:00&quot;, &quot;2016-07-06 10:41:00&quot;, &quot;2016-07-06 10:45:00&quot;, &quot;2016-07-06 10:49:00&quot;, &quot;2016-07-06 10:51:00&quot;, &quot;2016-07-06 10:53:00&quot;, &quot;2016-07-06 10:59:00&quot;, &quot;2016-07-06 11:04:00&quot;, &quot;2016-07-21 15:53:00&quot;, &quot;2016-07-21 15:54:00&quot;, &quot;2016-07-21 15:56:00&quot;, &quot;2016-07-21 15:57:00&quot;, &quot;2016-07-21 16:09:00&quot;, &quot;2016-07-21 18:18:00&quot;, &quot;2016-07-21 18:19:00&quot;, &quot;2016-07-22 16:53:00&quot;, &quot;2016-07-22 16:57:00&quot;, &quot;2016-07-23 12:29:00&quot;, &quot;2016-07-23 16:02:00&quot;, &quot;2016-07-23 16:03:00&quot;, &quot;2016-07-23 16:05:00&quot;, &quot;2016-07-24 17:17:00&quot;, &quot;2016-07-24 17:18:00&quot;, &quot;2016-07-24 17:19:00&quot;, &quot;2016-07-26 13:15:00&quot;, &quot;2016-07-26 13:17:00&quot;, &quot;2016-07-26 13:18:00&quot;, &quot;2016-07-26 13:20:00&quot;, &quot;2016-07-26 13:24:00&quot;, &quot;2016-07-30 16:04:00&quot;, &quot;2016-07-30 16:05:00&quot;, &quot;2016-07-30 16:06:00&quot;, &quot;2016-08-05 10:50:00&quot;, &quot;2016-08-05 10:51:00&quot;, &quot;2016-08-05 10:52:00&quot;, &quot;2016-08-10 18:23:00&quot;, &quot;2016-08-10 18:25:00&quot;, &quot;2016-08-11 15:41:00&quot;, &quot;2016-08-11 17:40:00&quot;, &quot;2016-08-17 09:46:00&quot;, &quot;2016-08-17 09:48:00&quot;, &quot;2016-08-17 09:49:00&quot;, &quot;2016-08-17 09:50:00&quot;, &quot;2016-08-17 09:51:00&quot;, &quot;2016-08-17 09:52:00&quot;, &quot;2016-08-17 09:53:00&quot;, &quot;2016-08-17 09:54:00&quot;, &quot;2016-08-17 09:56:00&quot;, &quot;2016-08-17 09:57:00&quot;, &quot;2016-08-17 09:58:00&quot;, &quot;2016-08-17 09:59:00&quot;, &quot;2016-08-17 10:10:00&quot;, &quot;2016-08-17 10:12:00&quot;, &quot;2016-08-17 10:19:00&quot;, &quot;2016-08-19 18:09:00&quot;, &quot;2016-08-26 10:29:00&quot;, &quot;2016-08-26 10:30:00&quot;, &quot;2016-08-26 10:32:00&quot;, &quot;2016-08-26 10:33:00&quot;, &quot;2016-08-26 10:34:00&quot;, &quot;2016-08-26 10:35:00&quot;, &quot;2016-08-26 10:36:00&quot;, &quot;2016-08-26 10:37:00&quot;, &quot;2016-09-06 00:21:00&quot;, &quot;2016-09-06 00:22:00&quot;, &quot;2016-09-06 00:23:00&quot;, &quot;2016-09-06 00:27:00&quot;, &quot;2016-09-06 00:28:00&quot;, &quot;2016-10-26 17:12:00&quot;, &quot;2016-10-26 17:13:00&quot;, &quot;2016-10-26 17:20:00&quot;, &quot;2016-10-26 17:22:00&quot;, &quot;2016-10-26 17:23:00&quot;, &quot;2016-11-15 09:40:00&quot;, &quot;2016-12-18 00:38:00&quot;, &quot;2016-12-18 00:42:00&quot;, &quot;2016-12-18 00:43:00&quot;, &quot;2016-12-18 00:50:00&quot;, &quot;2016-12-19 20:16:00&quot;, &quot;2016-12-21 22:40:00&quot;, &quot;2016-12-21 22:41:00&quot;, &quot;2016-12-21 22:53:00&quot;, &quot;2016-12-21 23:15:00&quot;, &quot;2016-12-21 23:16:00&quot;, &quot;2017-02-17 10:15:00&quot;, &quot;2017-02-17 10:16:00&quot;, &quot;2017-02-17 10:18:00&quot;, &quot;2017-02-17 10:20:00&quot;, &quot;2017-02-17 10:21:00&quot;, &quot;2017-02-17 10:22:00&quot;, &quot;2017-02-17 10:23:00&quot;, &quot;2017-02-17 10:25:00&quot;, &quot;2017-08-14 13:48:00&quot;, &quot;2017-08-14 13:59:00&quot;, &quot;2017-08-14 14:01:00&quot;, &quot;2017-08-14 14:03:00&quot;, &quot;2017-08-14 14:30:00&quot;, &quot;2017-08-14 15:51:00&quot;, &quot;2017-08-14 15:52:00&quot;, &quot;2017-08-14 19:20:00&quot;, &quot;2017-08-14 20:04:00&quot;, &quot;2017-09-11 01:22:00&quot;, &quot;2017-09-11 12:53:00&quot;, &quot;2017-09-11 20:20:00&quot;, &quot;2017-09-11 22:08:00&quot;, &quot;2017-09-11 22:09:00&quot;, &quot;2017-09-11 22:10:00&quot;, &quot;2017-09-11 22:19:00&quot;, &quot;2017-09-11 22:20:00&quot;, &quot;2017-09-12 00:05:00&quot;, &quot;2017-10-13 11:01:00&quot;, &quot;2017-10-13 11:02:00&quot;, &quot;2017-10-14 16:06:00&quot;, &quot;2017-10-22 12:52:00&quot;, &quot;2017-10-22 13:46:00&quot;, &quot;2017-10-22 21:43:00&quot;, &quot;2017-10-22 21:44:00&quot;, &quot;2017-10-22 21:45:00&quot;, &quot;2017-10-22 21:47:00&quot;, &quot;2017-10-22 22:53:00&quot;, &quot;2017-10-23 12:32:00&quot;, &quot;2017-10-23 12:37:00&quot;, &quot;2017-10-23 14:47:00&quot;, &quot;2017-10-23 14:48:00&quot;, &quot;2017-10-23 14:49:00&quot;, &quot;2017-10-24 11:52:00&quot;, &quot;2017-10-24 11:54:00&quot;, &quot;2017-10-24 11:55:00&quot;, &quot;2017-10-24 11:56:00&quot;, &quot;2017-10-24 11:57:00&quot;, &quot;2017-10-24 15:51:00&quot;, &quot;2017-10-24 18:10:00&quot;, &quot;2017-10-24 18:11:00&quot;, &quot;2017-10-24 18:12:00&quot;, &quot;2017-10-24 18:17:00&quot;, &quot;2017-10-26 22:29:00&quot;, &quot;2017-10-26 22:53:00&quot;, &quot;2017-10-26 22:54:00&quot;, &quot;2017-10-26 22:56:00&quot;, &quot;2017-11-06 17:22:00&quot;, &quot;2017-11-06 17:24:00&quot;, &quot;2017-11-06 19:51:00&quot;, &quot;2017-11-06 19:52:00&quot;, &quot;2017-11-06 21:35:00&quot;, &quot;2017-11-06 21:36:00&quot;, &quot;2017-11-06 21:37:00&quot;, &quot;2017-11-06 21:38:00&quot;, &quot;2017-11-06 21:39:00&quot;, &quot;2017-11-12 14:59:00&quot;, &quot;2017-11-13 12:09:00&quot;, &quot;2017-11-13 12:17:00&quot;, &quot;2017-11-13 17:40:00&quot;, &quot;2017-12-16 20:57:00&quot;, &quot;2017-12-16 20:58:00&quot;, &quot;2017-12-16 20:59:00&quot;, &quot;2017-12-16 21:00:00&quot;, &quot;2017-12-18 20:04:00&quot;, &quot;2017-12-18 20:06:00&quot;, &quot;2017-12-18 23:08:00&quot;, &quot;2017-12-19 13:29:00&quot;, &quot;2017-12-19 13:48:00&quot;, &quot;2017-12-19 13:49:00&quot;, &quot;2017-12-19 13:50:00&quot;, &quot;2017-12-21 12:29:00&quot;, &quot;2017-12-21 12:56:00&quot;, &quot;2017-12-21 12:58:00&quot;, &quot;2017-12-21 16:24:00&quot;, &quot;2017-12-21 16:27:00&quot;, &quot;2017-12-22 15:13:00&quot;, &quot;2017-12-22 15:14:00&quot;, &quot;2017-12-22 15:15:00&quot;, &quot;2017-12-22 15:16:00&quot;, &quot;2017-12-25 01:11:00&quot;, &quot;2017-12-25 01:12:00&quot;, &quot;2017-12-25 01:29:00&quot;, &quot;2017-12-25 01:50:00&quot;, &quot;2017-12-30 20:27:00&quot;, &quot;2017-12-31 14:36:00&quot;, &quot;2017-12-31 14:40:00&quot;, &quot;2017-12-31 14:41:00&quot;, &quot;2017-12-31 16:12:00&quot;, &quot;2017-12-31 16:14:00&quot;, &quot;2017-12-31 17:50:00&quot;, &quot;2017-12-31 17:51:00&quot;, &quot;2017-12-31 17:54:00&quot;, &quot;2017-12-31 17:58:00&quot;, &quot;2017-12-31 18:00:00&quot;, &quot;2017-12-31 18:11:00&quot;, &quot;2017-12-31 18:20:00&quot;, &quot;2017-12-31 18:21:00&quot;, &quot;2017-12-31 18:22:00&quot;, &quot;2017-12-31 18:23:00&quot;, &quot;2017-12-31 18:24:00&quot;, &quot;2017-12-31 18:25:00&quot;, &quot;2017-12-31 18:26:00&quot;, &quot;2018-01-01 13:36:00&quot;, &quot;2018-01-01 16:39:00&quot;, &quot;2018-01-03 21:33:00&quot;, &quot;2018-01-03 23:26:00&quot;, &quot;2018-01-03 23:28:00&quot;, &quot;2018-01-03 23:29:00&quot;, &quot;2018-01-04 00:28:00&quot;, &quot;2018-01-04 01:07:00&quot;, &quot;2018-01-04 12:10:00&quot;, &quot;2018-01-04 12:13:00&quot;, &quot;2018-01-04 15:03:00&quot;, &quot;2018-01-04 16:01:00&quot;, &quot;2018-01-04 16:23:00&quot;, &quot;2018-01-04 16:34:00&quot;, &quot;2018-01-04 16:36:00&quot;, &quot;2018-01-04 16:37:00&quot;, &quot;2018-01-04 16:40:00&quot;, &quot;2018-01-05 17:44:00&quot;, &quot;2018-01-05 17:49:00&quot;, &quot;2018-01-09 19:13:00&quot;, &quot;2018-01-09 19:14:00&quot;, &quot;2018-01-09 19:30:00&quot;, &quot;2018-01-11 19:55:00&quot;, &quot;2018-01-11 20:04:00&quot;, &quot;2018-01-15 13:28:00&quot;, &quot;2018-01-15 13:33:00&quot;, &quot;2018-01-15 16:12:00&quot;, &quot;2018-01-15 16:16:00&quot;, &quot;2018-01-17 12:07:00&quot;, &quot;2018-01-17 12:08:00&quot;, &quot;2018-01-17 12:09:00&quot;, &quot;2018-01-17 12:13:00&quot;, &quot;2018-01-17 12:17:00&quot;, &quot;2018-01-17 12:18:00&quot;, &quot;2018-01-17 12:19:00&quot;, &quot;2018-01-17 12:21:00&quot;, &quot;2018-01-17 12:29:00&quot;, &quot;2018-01-17 12:38:00&quot;, &quot;2018-01-17 12:57:00&quot;, &quot;2018-01-17 12:59:00&quot;, &quot;2018-01-17 13:00:00&quot;, &quot;2018-01-17 13:01:00&quot;, &quot;2018-01-17 13:02:00&quot;, &quot;2018-01-17 13:03:00&quot;, &quot;2018-01-17 13:04:00&quot;, &quot;2018-01-17 13:33:00&quot;, &quot;2018-01-19 11:21:00&quot;, &quot;2018-01-19 11:22:00&quot;, &quot;2018-01-19 14:12:00&quot;, &quot;2018-01-19 14:16:00&quot;, &quot;2018-01-19 14:17:00&quot;, &quot;2018-01-19 14:19:00&quot;, &quot;2018-01-19 14:26:00&quot;, &quot;2018-01-20 19:35:00&quot;, &quot;2018-01-23 12:30:00&quot;, &quot;2018-01-24 11:19:00&quot;, &quot;2018-01-24 11:20:00&quot;, &quot;2018-01-29 11:39:00&quot;, &quot;2018-02-06 17:04:00&quot;, &quot;2018-02-11 16:16:00&quot;, &quot;2018-03-02 13:41:00&quot;, &quot;2018-03-02 23:35:00&quot;, &quot;2018-03-02 23:36:00&quot;, &quot;2018-03-02 23:37:00&quot;, &quot;2018-03-02 23:38:00&quot;, &quot;2018-03-02 23:39:00&quot;, &quot;2018-03-05 16:30:00&quot;, &quot;2018-03-05 16:31:00&quot;, &quot;2018-03-05 16:32:00&quot;, &quot;2018-03-05 16:33:00&quot;, &quot;2018-03-05 16:34:00&quot;, &quot;2018-03-05 16:35:00&quot;, &quot;2018-03-05 16:36:00&quot;, &quot;2018-03-05 16:37:00&quot;, &quot;2018-03-05 16:38:00&quot;, &quot;2018-03-05 16:39:00&quot;, &quot;2018-03-06 18:28:00&quot;, &quot;2018-03-11 01:10:00&quot;, &quot;2018-03-11 01:11:00&quot;, &quot;2018-03-11 22:35:00&quot;, &quot;2018-03-11 22:37:00&quot;], &quot;y&quot;: [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 3, 1, 3, 2, 1, 1, 1, 1, 2, 2, 6, 1, 2, 5, 2, 3, 1, 3, 1, 3, 3, 1, 1, 1, 2, 1, 1, 1, 1, 3, 2, 6, 2, 1, 1, 1, 1, 1, 1, 3, 3, 1, 3, 4, 1, 1, 3, 1, 2, 1, 1, 2, 1, 3, 3, 1, 2, 1, 1, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 2, 1, 1, 2, 3, 3, 2, 1, 1, 1, 2, 1, 1, 2, 1, 1, 2, 3, 5, 1, 1, 1, 1, 1, 2, 1, 2, 2, 4, 2, 1, 6, 3, 2, 2, 2, 2, 1, 1, 3, 1, 1, 1, 1, 1, 1, 4, 1, 1, 2, 1, 1, 1, 1, 2, 1, 1, 1, 2, 1, 1, 2, 1, 1, 1, 2, 2, 3, 4, 2, 7, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 2, 2, 1, 1, 2, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 2, 1, 1, 1, 1, 1, 1, 3, 4, 1, 2, 1, 1, 1, 1, 2, 1, 1, 2, 2, 2, 2, 1, 1, 2, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 1, 4, 3, 4, 3, 1, 3, 2, 1, 2, 3, 2, 3, 1, 1, 1, 2, 1, 3, 1, 3, 1, 2, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 2, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 2, 1, 1, 1, 1, 1, 2, 2, 1, 2, 1, 3, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 2, 1, 1, 1, 1, 1, 3, 4, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 2, 2, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 2, 2, 1, 3, 1, 2, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 3, 1, 1, 1, 1, 1, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 3, 3, 1, 1, 1, 2, 1, 2, 1, 1, 1, 1, 1, 2, 3, 1, 2, 1, 2, 1, 1, 1, 2, 1, 2, 1, 1, 2, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 2, 1, 1, 1, 1, 2, 4, 1, 2, 1, 1, 1, 1, 1, 1, 4, 2, 1, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 1, 1, 1, 1, 2, 1, 1, 2, 2, 1, 1, 1, 2, 1, 1, 4, 2, 3, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 2, 1, 1, 2, 1, 1, 2, 1, 1, 1, 1, 1, 2, 2, 1, 2, 1, 1, 1, 1, 2, 2, 1, 1, 1, 1, 2, 4, 2, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 2, 2, 1, 1, 2, 1, 1, 1, 2, 4, 1, 1, 2, 1, 1, 2, 1, 2, 1, 1, 2, 2, 1, 1, 1, 1, 2, 1, 1, 2, 2, 3, 2, 1, 3, 4, 1, 1, 1, 3, 5, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 1, 3, 2, 1, 1, 2, 1, 1, 3, 2, 3, 3, 1, 1, 1, 2, 2, 3, 1, 2, 1, 1, 2, 1, 1, 1, 3, 1, 1, 1, 1, 2, 1, 2, 1, 3, 1, 5, 2, 1, 1, 1, 2, 1, 1, 1, 2, 1, 2, 2, 1, 1, 1, 1, 1, 1, 1, 5, 5, 1, 1, 2, 2, 1, 2, 1, 1, 3, 2, 2, 2, 2, 2, 2, 1, 1, 2, 1, 1, 1, 1, 1, 2, 1, 3, 2, 1, 2, 1, 2, 2, 1, 1, 1, 1, 4, 3, 1, 1, 4, 1, 1, 1, 1, 1, 2, 1, 1, 1, 2, 1, 1, 1, 4, 1, 2, 3, 3, 2, 1, 1, 2, 2, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 1, 1, 2, 2, 2, 1, 1, 1, 1, 1, 1, 2, 1, 3, 1, 2, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 3, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 2, 1, 1, 1, 2, 2, 2, 1, 4, 1, 2, 2, 2, 1, 1, 1, 1, 1, 3, 3, 1, 1, 3, 2, 2, 1, 3, 3, 2, 3, 1, 1, 2, 1, 3, 1, 1, 1, 1, 1, 1, 1, 2, 2, 1, 1, 1, 1, 1, 5, 2, 2, 1, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 1, 1, 1, 2, 1, 3, 4, 1, 2, 3, 2, 1, 1, 3, 1, 2, 2, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 1, 4, 3, 2, 1, 2, 5, 2, 2, 8, 3, 1, 1, 1, 1, 1], &quot;nbinsx&quot;: 70, &quot;histfunc&quot;: &quot;sum&quot;, &quot;name&quot;: &quot;Nyco Remi&quot;}], {&quot;barmode&quot;: &quot;stack&quot;}, {&quot;showLink&quot;: true, &quot;linkText&quot;: &quot;Export to plot.ly&quot;})&lt;/script&gt;

&lt;p&gt;I can clearly see different periods in our friendship with Nyco, with a big spike when we lived together in Paris and talked a lot about “l’appart” ( the apartment ). Then more messages recently as he helped me through some web-dev projects and as we talked about his own project as well : &lt;a href=&quot;https://geekinapp.games/&quot;&gt;geekin&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Hovering your mouse over the bars will allow you to see more specificaly how many messages were sent and by whom.&lt;br /&gt;
From this chart it looks like I’m &lt;strong&gt;quite the talker&lt;/strong&gt;, but I beg to differ.&lt;/p&gt;

&lt;p&gt;To prove my point, I created yet another function that simply shows the average length of the messages sent by someone :&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/images/meanmess.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Told you ! I’m not &lt;strong&gt;that&lt;/strong&gt; talkative, I just like &lt;em&gt;dynamic typing&lt;/em&gt;. When writing to someone and telling a story, if I know that the other person is actively reading my messages, I’d rather send multiple messages to make my story more lively than write a huge paragraph with punctuation.&lt;br /&gt;
But that’s me.&lt;/p&gt;

&lt;p&gt;Since I already had all the messages sent by my friend, I went ahead and created yet another function to display a wordcloud of my friends speech, you can call it with:&lt;/p&gt;

&lt;p&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;create_wordcloud(friend_name,language)&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Since I got friends with whom I speak in a few different languages, I had to add this extra ‘language’ argument to be able to filter correctly through each language’s stopwords.&lt;/p&gt;

&lt;p&gt;Here’s Nyco’s wordcloud :&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/images/nycowordcld.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;I told you we talked a lot about &lt;strong&gt;“l’appart”&lt;/strong&gt;.&lt;/p&gt;

&lt;h2 id=&quot;we-need-to-go-deeper-&quot;&gt;We need to go deeper !&lt;/h2&gt;

&lt;p&gt;This is where this stuff gets a little bit cooler/creepier/scarier.&lt;br /&gt;
Using a technique with which I’m pretty familar ( if you’ve been reading my articles on Medium or my other blog posts you should be familiar with it as well ), I managed to represent the 100 Facebook friends with whom I talk the most in a 3D space.&lt;/p&gt;

&lt;p&gt;Here are a few things to keep in mind to understand this plot :&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Each point represents a person&lt;/li&gt;
  &lt;li&gt;The color of each point represents their gender&lt;/li&gt;
  &lt;li&gt;The coordinates of a point depend on the vocabulary used by this person&lt;/li&gt;
  &lt;li&gt;If two points are close, they use similar phrasing/vocabulary&lt;/li&gt;
  &lt;li&gt;For privacy reasons, I changed the names of my friends on this plot&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Let’s not wait any longer.&lt;/p&gt;

&lt;script type=&quot;text/javascript&quot;&gt;/**
* plotly.js v1.33.1
* Copyright 2012-2018, Plotly, Inc.
* All rights reserved.
* Licensed under the MIT license
*/
!function(t){if(&quot;object&quot;==typeof exports&amp;&amp;&quot;undefined&quot;!=typeof module)module.exports=t();else if(&quot;function&quot;==typeof define&amp;&amp;define.amd)define([],t);else{(&quot;undefined&quot;!=typeof window?window:&quot;undefined&quot;!=typeof global?global:&quot;undefined&quot;!=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=&quot;function&quot;==typeof require&amp;&amp;require;if(!s&amp;&amp;l)return l(o,!0);if(a)return a(o,!0);var c=new Error(&quot;Cannot find module '&quot;+o+&quot;'&quot;);throw c.code=&quot;MODULE_NOT_FOUND&quot;,c}var u=r[o]={exports:{}};e[o][0].call(u.exports,function(t){var r=e[o][1][t];return i(r||t)},u,u.exports,t,e,r,n)}return r[o].exports}for(var a=&quot;function&quot;==typeof require&amp;&amp;require,o=0;o&lt;n.length;o++)i(n[o]);return i}({1:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../src/lib&quot;),i={&quot;X,X div&quot;:&quot;font-family:'Open Sans', verdana, arial, sans-serif;margin:0;padding:0;&quot;,&quot;X input,X button&quot;:&quot;font-family:'Open Sans', verdana, arial, sans-serif;&quot;,&quot;X input:focus,X button:focus&quot;:&quot;outline:none;&quot;,&quot;X a&quot;:&quot;text-decoration:none;&quot;,&quot;X a:hover&quot;:&quot;text-decoration:none;&quot;,&quot;X .crisp&quot;:&quot;shape-rendering:crispEdges;&quot;,&quot;X .user-select-none&quot;:&quot;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;&quot;,&quot;X svg&quot;:&quot;overflow:hidden;&quot;,&quot;X svg a&quot;:&quot;fill:#447adb;&quot;,&quot;X svg a:hover&quot;:&quot;fill:#3c6dc5;&quot;,&quot;X .main-svg&quot;:&quot;position:absolute;top:0;left:0;pointer-events:none;&quot;,&quot;X .main-svg .draglayer&quot;:&quot;pointer-events:all;&quot;,&quot;X .cursor-default&quot;:&quot;cursor:default;&quot;,&quot;X .cursor-pointer&quot;:&quot;cursor:pointer;&quot;,&quot;X .cursor-crosshair&quot;:&quot;cursor:crosshair;&quot;,&quot;X .cursor-move&quot;:&quot;cursor:move;&quot;,&quot;X .cursor-col-resize&quot;:&quot;cursor:col-resize;&quot;,&quot;X .cursor-row-resize&quot;:&quot;cursor:row-resize;&quot;,&quot;X .cursor-ns-resize&quot;:&quot;cursor:ns-resize;&quot;,&quot;X .cursor-ew-resize&quot;:&quot;cursor:ew-resize;&quot;,&quot;X .cursor-sw-resize&quot;:&quot;cursor:sw-resize;&quot;,&quot;X .cursor-s-resize&quot;:&quot;cursor:s-resize;&quot;,&quot;X .cursor-se-resize&quot;:&quot;cursor:se-resize;&quot;,&quot;X .cursor-w-resize&quot;:&quot;cursor:w-resize;&quot;,&quot;X .cursor-e-resize&quot;:&quot;cursor:e-resize;&quot;,&quot;X .cursor-nw-resize&quot;:&quot;cursor:nw-resize;&quot;,&quot;X .cursor-n-resize&quot;:&quot;cursor:n-resize;&quot;,&quot;X .cursor-ne-resize&quot;:&quot;cursor:ne-resize;&quot;,&quot;X .modebar&quot;:&quot;position:absolute;top:2px;right:2px;z-index:1001;background:rgba(255,255,255,0.7);&quot;,&quot;X .modebar--hover&quot;:&quot;opacity:0;-webkit-transition:opacity 0.3s ease 0s;-moz-transition:opacity 0.3s ease 0s;-ms-transition:opacity 0.3s ease 0s;-o-transition:opacity 0.3s ease 0s;transition:opacity 0.3s ease 0s;&quot;,&quot;X:hover .modebar--hover&quot;:&quot;opacity:1;&quot;,&quot;X .modebar-group&quot;:&quot;float:left;display:inline-block;box-sizing:border-box;margin-left:8px;position:relative;vertical-align:middle;white-space:nowrap;&quot;,&quot;X .modebar-group:first-child&quot;:&quot;margin-left:0px;&quot;,&quot;X .modebar-btn&quot;:&quot;position:relative;font-size:16px;padding:3px 4px;cursor:pointer;line-height:normal;box-sizing:border-box;&quot;,&quot;X .modebar-btn svg&quot;:&quot;position:relative;top:2px;&quot;,&quot;X .modebar-btn path&quot;:&quot;fill:rgba(0,31,95,0.3);&quot;,&quot;X .modebar-btn.active path,X .modebar-btn:hover path&quot;:&quot;fill:rgba(0,22,72,0.5);&quot;,&quot;X .modebar-btn.modebar-btn--logo&quot;:&quot;padding:3px 1px;&quot;,&quot;X .modebar-btn.modebar-btn--logo path&quot;:&quot;fill:#447adb !important;&quot;,&quot;X [data-title]:before,X [data-title]:after&quot;:&quot;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%;&quot;,&quot;X [data-title]:hover:before,X [data-title]:hover:after&quot;:&quot;display:block;opacity:1;&quot;,&quot;X [data-title]:before&quot;:&quot;content:'';position:absolute;background:transparent;border:6px solid transparent;z-index:1002;margin-top:-12px;border-bottom-color:#69738a;margin-right:-6px;&quot;,&quot;X [data-title]:after&quot;:&quot;content:attr(data-title);background:#69738a;color:white;padding:8px 10px;font-size:12px;line-height:12px;white-space:nowrap;margin-right:-18px;border-radius:2px;&quot;,&quot;X .select-outline&quot;:&quot;fill:none;stroke-width:1;shape-rendering:crispEdges;&quot;,&quot;X .select-outline-1&quot;:&quot;stroke:white;&quot;,&quot;X .select-outline-2&quot;:&quot;stroke:black;stroke-dasharray:2px 2px;&quot;,Y:&quot;font-family:'Open Sans';position:fixed;top:50px;right:20px;z-index:10000;font-size:10pt;max-width:180px;&quot;,&quot;Y p&quot;:&quot;margin:0;&quot;,&quot;Y .notifier-note&quot;:&quot;min-width:180px;max-width:250px;border:1px solid #fff;z-index:3000;margin:0;background-color:#8c97af;background-color:rgba(140,151,175,0.9);color:#fff;padding:10px;overflow-wrap:break-word;word-wrap:break-word;-ms-hyphens:auto;-webkit-hyphens:auto;hyphens:auto;&quot;,&quot;Y .notifier-close&quot;:&quot;color:#fff;opacity:0.8;float:right;padding:0 5px;background:none;border:none;font-size:20px;font-weight:bold;line-height:20px;&quot;,&quot;Y .notifier-close:hover&quot;:&quot;color:#444;text-decoration:none;cursor:pointer;&quot;};for(var a in i){var o=a.replace(/^,/,&quot; ,&quot;).replace(/X/g,&quot;.js-plotly-plot .plotly&quot;).replace(/Y/g,&quot;.plotly-notifier&quot;);n.addStyleRule(o,i[a])}},{&quot;../src/lib&quot;:743}],2:[function(t,e,r){&quot;use strict&quot;;e.exports={undo:{width:857.1,path:&quot;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&quot;,ascent:850,descent:-150},home:{width:928.6,path:&quot;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&quot;,ascent:850,descent:-150},&quot;camera-retro&quot;:{width:1e3,path:&quot;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&quot;,ascent:850,descent:-150},zoombox:{width:1e3,path:&quot;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&quot;,ascent:850,descent:-150},pan:{width:1e3,path:&quot;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&quot;,ascent:850,descent:-150},zoom_plus:{width:1e3,path:&quot;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&quot;,ascent:850,descent:-150},zoom_minus:{width:1e3,path:&quot;m0 788l0-876 875 0 0 876-875 0z m688-500l-500 0 0 125 500 0 0-125z&quot;,ascent:850,descent:-150},autoscale:{width:1e3,path:&quot;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&quot;,ascent:850,descent:-150},tooltip_basic:{width:1500,path:&quot;m375 725l0 0-375-375 375-374 0-1 1125 0 0 750-1125 0z&quot;,ascent:850,descent:-150},tooltip_compare:{width:1125,path:&quot;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&quot;,ascent:850,descent:-150},plotlylogo:{width:1542,path:&quot;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&quot;,ascent:850,descent:-150},&quot;z-axis&quot;:{width:1e3,path:&quot;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&quot;,ascent:850,descent:-150},&quot;3d_rotate&quot;:{width:1e3,path:&quot;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&quot;,ascent:850,descent:-150},camera:{width:1e3,path:&quot;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&quot;,ascent:850,descent:-150},movie:{width:1e3,path:&quot;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&quot;,ascent:850,descent:-150},question:{width:857.1,path:&quot;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&quot;,ascent:850,descent:-150},disk:{width:857.1,path:&quot;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&quot;,ascent:850,descent:-150},lasso:{width:1031,path:&quot;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&quot;,ascent:850,descent:-150},selectbox:{width:1e3,path:&quot;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&quot;,ascent:850,descent:-150},spikeline:{width:1e3,path:&quot;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&quot;,ascent:850,descent:-150}}},{}],3:[function(t,e,r){&quot;use strict&quot;;e.exports=t(&quot;../src/transforms/aggregate&quot;)},{&quot;../src/transforms/aggregate&quot;:1166}],4:[function(t,e,r){&quot;use strict&quot;;e.exports=t(&quot;../src/traces/bar&quot;)},{&quot;../src/traces/bar&quot;:887}],5:[function(t,e,r){&quot;use strict&quot;;e.exports=t(&quot;../src/traces/box&quot;)},{&quot;../src/traces/box&quot;:900}],6:[function(t,e,r){&quot;use strict&quot;;e.exports=t(&quot;../src/components/calendars&quot;)},{&quot;../src/components/calendars&quot;:616}],7:[function(t,e,r){&quot;use strict&quot;;e.exports=t(&quot;../src/traces/candlestick&quot;)},{&quot;../src/traces/candlestick&quot;:909}],8:[function(t,e,r){&quot;use strict&quot;;e.exports=t(&quot;../src/traces/carpet&quot;)},{&quot;../src/traces/carpet&quot;:930}],9:[function(t,e,r){&quot;use strict&quot;;e.exports=t(&quot;../src/traces/choropleth&quot;)},{&quot;../src/traces/choropleth&quot;:945}],10:[function(t,e,r){&quot;use strict&quot;;e.exports=t(&quot;../src/traces/contour&quot;)},{&quot;../src/traces/contour&quot;:958}],11:[function(t,e,r){&quot;use strict&quot;;e.exports=t(&quot;../src/traces/contourcarpet&quot;)},{&quot;../src/traces/contourcarpet&quot;:973}],12:[function(t,e,r){&quot;use strict&quot;;e.exports=t(&quot;../src/core&quot;)},{&quot;../src/core&quot;:724}],13:[function(t,e,r){&quot;use strict&quot;;e.exports=t(&quot;../src/transforms/filter&quot;)},{&quot;../src/transforms/filter&quot;:1167}],14:[function(t,e,r){&quot;use strict&quot;;e.exports=t(&quot;../src/transforms/groupby&quot;)},{&quot;../src/transforms/groupby&quot;:1168}],15:[function(t,e,r){&quot;use strict&quot;;e.exports=t(&quot;../src/traces/heatmap&quot;)},{&quot;../src/traces/heatmap&quot;:986}],16:[function(t,e,r){&quot;use strict&quot;;e.exports=t(&quot;../src/traces/heatmapgl&quot;)},{&quot;../src/traces/heatmapgl&quot;:996}],17:[function(t,e,r){&quot;use strict&quot;;e.exports=t(&quot;../src/traces/histogram&quot;)},{&quot;../src/traces/histogram&quot;:1007}],18:[function(t,e,r){&quot;use strict&quot;;e.exports=t(&quot;../src/traces/histogram2d&quot;)},{&quot;../src/traces/histogram2d&quot;:1013}],19:[function(t,e,r){&quot;use strict&quot;;e.exports=t(&quot;../src/traces/histogram2dcontour&quot;)},{&quot;../src/traces/histogram2dcontour&quot;:1017}],20:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;./core&quot;);n.register([t(&quot;./bar&quot;),t(&quot;./box&quot;),t(&quot;./heatmap&quot;),t(&quot;./histogram&quot;),t(&quot;./histogram2d&quot;),t(&quot;./histogram2dcontour&quot;),t(&quot;./pie&quot;),t(&quot;./contour&quot;),t(&quot;./scatterternary&quot;),t(&quot;./violin&quot;),t(&quot;./scatter3d&quot;),t(&quot;./surface&quot;),t(&quot;./mesh3d&quot;),t(&quot;./scattergeo&quot;),t(&quot;./choropleth&quot;),t(&quot;./scattergl&quot;),t(&quot;./pointcloud&quot;),t(&quot;./heatmapgl&quot;),t(&quot;./parcoords&quot;),t(&quot;./scattermapbox&quot;),t(&quot;./sankey&quot;),t(&quot;./table&quot;),t(&quot;./carpet&quot;),t(&quot;./scattercarpet&quot;),t(&quot;./contourcarpet&quot;),t(&quot;./ohlc&quot;),t(&quot;./candlestick&quot;),t(&quot;./scatterpolar&quot;),t(&quot;./scatterpolargl&quot;)]),n.register([t(&quot;./aggregate&quot;),t(&quot;./filter&quot;),t(&quot;./groupby&quot;),t(&quot;./sort&quot;)]),n.register([t(&quot;./calendars&quot;)]),e.exports=n},{&quot;./aggregate&quot;:3,&quot;./bar&quot;:4,&quot;./box&quot;:5,&quot;./calendars&quot;:6,&quot;./candlestick&quot;:7,&quot;./carpet&quot;:8,&quot;./choropleth&quot;:9,&quot;./contour&quot;:10,&quot;./contourcarpet&quot;:11,&quot;./core&quot;:12,&quot;./filter&quot;:13,&quot;./groupby&quot;:14,&quot;./heatmap&quot;:15,&quot;./heatmapgl&quot;:16,&quot;./histogram&quot;:17,&quot;./histogram2d&quot;:18,&quot;./histogram2dcontour&quot;:19,&quot;./mesh3d&quot;:21,&quot;./ohlc&quot;:22,&quot;./parcoords&quot;:23,&quot;./pie&quot;:24,&quot;./pointcloud&quot;:25,&quot;./sankey&quot;:26,&quot;./scatter3d&quot;:27,&quot;./scattercarpet&quot;:28,&quot;./scattergeo&quot;:29,&quot;./scattergl&quot;:30,&quot;./scattermapbox&quot;:31,&quot;./scatterpolar&quot;:32,&quot;./scatterpolargl&quot;:33,&quot;./scatterternary&quot;:34,&quot;./sort&quot;:35,&quot;./surface&quot;:36,&quot;./table&quot;:37,&quot;./violin&quot;:38}],21:[function(t,e,r){&quot;use strict&quot;;e.exports=t(&quot;../src/traces/mesh3d&quot;)},{&quot;../src/traces/mesh3d&quot;:1023}],22:[function(t,e,r){&quot;use strict&quot;;e.exports=t(&quot;../src/traces/ohlc&quot;)},{&quot;../src/traces/ohlc&quot;:1028}],23:[function(t,e,r){&quot;use strict&quot;;e.exports=t(&quot;../src/traces/parcoords&quot;)},{&quot;../src/traces/parcoords&quot;:1037}],24:[function(t,e,r){&quot;use strict&quot;;e.exports=t(&quot;../src/traces/pie&quot;)},{&quot;../src/traces/pie&quot;:1047}],25:[function(t,e,r){&quot;use strict&quot;;e.exports=t(&quot;../src/traces/pointcloud&quot;)},{&quot;../src/traces/pointcloud&quot;:1056}],26:[function(t,e,r){&quot;use strict&quot;;e.exports=t(&quot;../src/traces/sankey&quot;)},{&quot;../src/traces/sankey&quot;:1062}],27:[function(t,e,r){&quot;use strict&quot;;e.exports=t(&quot;../src/traces/scatter3d&quot;)},{&quot;../src/traces/scatter3d&quot;:1096}],28:[function(t,e,r){&quot;use strict&quot;;e.exports=t(&quot;../src/traces/scattercarpet&quot;)},{&quot;../src/traces/scattercarpet&quot;:1102}],29:[function(t,e,r){&quot;use strict&quot;;e.exports=t(&quot;../src/traces/scattergeo&quot;)},{&quot;../src/traces/scattergeo&quot;:1109}],30:[function(t,e,r){&quot;use strict&quot;;e.exports=t(&quot;../src/traces/scattergl&quot;)},{&quot;../src/traces/scattergl&quot;:1115}],31:[function(t,e,r){&quot;use strict&quot;;e.exports=t(&quot;../src/traces/scattermapbox&quot;)},{&quot;../src/traces/scattermapbox&quot;:1121}],32:[function(t,e,r){&quot;use strict&quot;;e.exports=t(&quot;../src/traces/scatterpolar&quot;)},{&quot;../src/traces/scatterpolar&quot;:1128}],33:[function(t,e,r){&quot;use strict&quot;;e.exports=t(&quot;../src/traces/scatterpolargl&quot;)},{&quot;../src/traces/scatterpolargl&quot;:1132}],34:[function(t,e,r){&quot;use strict&quot;;e.exports=t(&quot;../src/traces/scatterternary&quot;)},{&quot;../src/traces/scatterternary&quot;:1138}],35:[function(t,e,r){&quot;use strict&quot;;e.exports=t(&quot;../src/transforms/sort&quot;)},{&quot;../src/transforms/sort&quot;:1170}],36:[function(t,e,r){&quot;use strict&quot;;e.exports=t(&quot;../src/traces/surface&quot;)},{&quot;../src/traces/surface&quot;:1145}],37:[function(t,e,r){&quot;use strict&quot;;e.exports=t(&quot;../src/traces/table&quot;)},{&quot;../src/traces/table&quot;:1153}],38:[function(t,e,r){&quot;use strict&quot;;e.exports=t(&quot;../src/traces/violin&quot;)},{&quot;../src/traces/violin&quot;:1160}],39:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t,e){function r(e,r,i,a){var o=1/t.clientHeight,s=o*(r-m),l=o*(i-g),u=p.flipX?1:-1,h=p.flipY?1:-1,d=Math.PI*p.rotateSpeed,y=n();if(1&amp;e)a.shift?c.rotate(y,0,0,-s*d):c.rotate(y,u*d*s,-h*d*l,0);else if(2&amp;e)c.pan(y,-p.translateSpeed*s*f,p.translateSpeed*l*f,0);else if(4&amp;e){var x=p.zoomSpeed*l/window.innerHeight*(y-c.lastT())*50;c.pan(y,0,0,f*(Math.exp(x)-1))}m=r,g=i,v=a}t=t||document.body;var l=[.01,1/0];&quot;distanceLimits&quot;in(e=e||{})&amp;&amp;(l[0]=e.distanceLimits[0],l[1]=e.distanceLimits[1]),&quot;zoomMin&quot;in e&amp;&amp;(l[0]=e.zoomMin),&quot;zoomMax&quot;in e&amp;&amp;(l[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||&quot;orbit&quot;,distanceLimits:l}),u=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],f=0,h=t.clientWidth,d=t.clientHeight,p={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,tick:function(){var e=n(),r=this.delay;c.idle(e-r),c.flush(e-(100+2*r));var i=e-2*r;c.recalcMatrix(i);for(var a=!0,o=c.computedMatrix,s=0;s&lt;16;++s)a=a&amp;&amp;u[s]===o[s],u[s]=o[s];var l=t.clientWidth===h&amp;&amp;t.clientHeight===d;return h=t.clientWidth,d=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)}};Object.defineProperties(p,{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){return c.setMode(t),c.getMode()},enumerable:!0},center:{get:function(){return c.computedCenter},set:function(t){return c.lookAt(c.lastT(),t),c.computedCenter},enumerable:!0},eye:{get:function(){return c.computedEye},set:function(t){return c.lookAt(c.lastT(),null,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(l)},set:function(t){return c.setDistanceLimits(t),t},enumerable:!0}}),t.addEventListener(&quot;contextmenu&quot;,function(t){return t.preventDefault(),!1});var m=0,g=0,v={shift:!1,control:!1,alt:!1,meta:!1};return a(t,r),t.addEventListener(&quot;touchstart&quot;,function(e){var n=s(e.changedTouches[0],t);r(0,n[0],n[1],v),r(1,n[0],n[1],v)}),t.addEventListener(&quot;touchmove&quot;,function(e){var n=s(e.changedTouches[0],t);r(1,n[0],n[1],v)}),t.addEventListener(&quot;touchend&quot;,function(e){s(e.changedTouches[0],t),r(0,m,g,v)}),o(t,function(t,e,r){var i=p.flipX?1:-1,a=p.flipY?1:-1,o=n();if(Math.abs(t)&gt;Math.abs(e))c.rotate(o,0,0,-t*i*Math.PI*p.rotateSpeed/window.innerWidth);else{var s=p.zoomSpeed*a*e/window.innerHeight*(o-c.lastT())/100;c.pan(o,0,0,f*(Math.exp(s)-1))}},!0),p};var n=t(&quot;right-now&quot;),i=t(&quot;3d-view&quot;),a=t(&quot;mouse-change&quot;),o=t(&quot;mouse-wheel&quot;),s=t(&quot;mouse-event-offset&quot;)},{&quot;3d-view&quot;:40,&quot;mouse-change&quot;:443,&quot;mouse-event-offset&quot;:444,&quot;mouse-wheel&quot;:446,&quot;right-now&quot;:509}],40:[function(t,e,r){&quot;use strict&quot;;function n(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=&quot;turntable&quot;,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}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||&quot;turntable&quot;,u=i(),f=a(),h=o();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 n({turntable:u,orbit:f,matrix:h},c)};var i=t(&quot;turntable-camera-controller&quot;),a=t(&quot;orbit-camera-controller&quot;),o=t(&quot;matrix-camera-controller&quot;),s=n.prototype;[[&quot;flush&quot;,1],[&quot;idle&quot;,1],[&quot;lookAt&quot;,4],[&quot;rotate&quot;,4],[&quot;pan&quot;,4],[&quot;translate&quot;,4],[&quot;setMatrix&quot;,2],[&quot;setDistanceLimits&quot;,2],[&quot;setDistance&quot;,2]].forEach(function(t){for(var e=t[0],r=[],n=0;n&lt;t[1];++n)r.push(&quot;a&quot;+n);var i=&quot;var cc=this._controllerList;for(var i=0;i&lt;cc.length;++i){cc[i].&quot;+t[0]+&quot;(&quot;+r.join()+&quot;)}&quot;;s[e]=Function.apply(null,r.concat(i))}),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&lt;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}},{&quot;matrix-camera-controller&quot;:441,&quot;orbit-camera-controller&quot;:464,&quot;turntable-camera-controller&quot;:551}],41:[function(t,e,r){!function(n,i){&quot;object&quot;==typeof r&amp;&amp;void 0!==e?i(r,t(&quot;d3-array&quot;),t(&quot;d3-collection&quot;),t(&quot;d3-interpolate&quot;)):i(n.d3=n.d3||{},n.d3,n.d3,n.d3)}(this,function(t,e,r,n){&quot;use strict&quot;;t.sankey=function(){function t(){for(var t,e=h,r=0;e.length;)t=[],e.forEach(function(e){e.x=r,e.dx=c,e.sourceLinks.forEach(function(e){t.indexOf(e.target)&lt;0&amp;&amp;t.push(e.target)})}),e=t,++r;!function(t){h.forEach(function(e){e.sourceLinks.length||(e.x=t-1)})}(r),function(t){h.forEach(function(e){e.x*=t})}((f[0]-c)/(r-1))}function i(t){function n(){a.forEach(function(t){var e,r,n,a=0,o=t.length;for(t.sort(i),n=0;n&lt;o;++n)(r=a-(e=t[n]).y)&gt;0&amp;&amp;(e.y+=r),a=e.y+e.dy+u;if((r=a-u-f[1])&gt;0)for(a=e.y-=r,n=o-2;n&gt;=0;--n)(r=(e=t[n]).y+e.dy+u-a)&gt;0&amp;&amp;(e.y-=r),a=e.y})}function i(t,e){return t.y-e.y}var a=r.nest().key(function(t){return t.x}).sortKeys(e.ascending).entries(h).map(function(t){return t.values});!function(){var t=e.min(a,function(t){return(f[1]-(t.length-1)*u)/e.sum(t,s)});a.forEach(function(e){e.forEach(function(e,r){e.y=r,e.dy=e.value*t})}),d.forEach(function(e){e.dy=e.value*t})}(),n();for(var l=1;t&gt;0;--t)!function(t){function r(t){return o(t.target)*t.value}a.slice().reverse().forEach(function(n){n.forEach(function(n){if(n.sourceLinks.length){var i=e.sum(n.sourceLinks,r)/e.sum(n.sourceLinks,s);n.y+=(i-o(n))*t}})})}(l*=.99),n(),function(t){function r(t){return o(t.source)*t.value}a.forEach(function(n){n.forEach(function(n){if(n.targetLinks.length){var i=e.sum(n.targetLinks,r)/e.sum(n.targetLinks,s);n.y+=(i-o(n))*t}})})}(l),n()}function a(){function t(t,e){return t.source.y-e.source.y||t.originalIndex-e.originalIndex}function e(t,e){return t.target.y-e.target.y||t.originalIndex-e.originalIndex}h.forEach(function(r){r.sourceLinks.sort(e),r.targetLinks.sort(t)}),h.forEach(function(t){var e=0,r=0;t.sourceLinks.forEach(function(t){t.sy=e,e+=t.dy}),t.targetLinks.forEach(function(t){t.ty=r,r+=t.dy})})}function o(t){return t.y+t.dy/2}function s(t){return t.value}var l={},c=24,u=8,f=[1,1],h=[],d=[];return l.nodeWidth=function(t){return arguments.length?(c=+t,l):c},l.nodePadding=function(t){return arguments.length?(u=+t,l):u},l.nodes=function(t){return arguments.length?(h=t,l):h},l.links=function(t){return arguments.length?(d=t,l):d},l.size=function(t){return arguments.length?(f=t,l):f},l.layout=function(r){return h.forEach(function(t){t.sourceLinks=[],t.targetLinks=[]}),d.forEach(function(t,e){var r=t.source,n=t.target;&quot;number&quot;==typeof r&amp;&amp;(r=t.source=h[t.source]),&quot;number&quot;==typeof n&amp;&amp;(n=t.target=h[t.target]),t.originalIndex=e,r.sourceLinks.push(t),n.targetLinks.push(t)}),h.forEach(function(t){t.value=Math.max(e.sum(t.sourceLinks,s),e.sum(t.targetLinks,s))}),t(),i(r),a(),l},l.relayout=function(){return a(),l},l.link=function(){function t(t){var r=t.source.x+t.source.dx,i=t.target.x,a=n.interpolateNumber(r,i),o=a(e),s=a(1-e),l=t.source.y+t.sy,c=l+t.dy,u=t.target.y+t.ty,f=u+t.dy;return&quot;M&quot;+r+&quot;,&quot;+l+&quot;C&quot;+o+&quot;,&quot;+l+&quot; &quot;+s+&quot;,&quot;+u+&quot; &quot;+i+&quot;,&quot;+u+&quot;L&quot;+i+&quot;,&quot;+f+&quot;C&quot;+s+&quot;,&quot;+f+&quot; &quot;+o+&quot;,&quot;+c+&quot; &quot;+r+&quot;,&quot;+c+&quot;Z&quot;}var e=.5;return t.curvature=function(r){return arguments.length?(e=+r,t):e},t},l},Object.defineProperty(t,&quot;__esModule&quot;,{value:!0})})},{&quot;d3-array&quot;:120,&quot;d3-collection&quot;:121,&quot;d3-interpolate&quot;:125}],42:[function(t,e,r){&quot;use strict&quot;;var n=&quot;undefined&quot;==typeof WeakMap?t(&quot;weak-map&quot;):WeakMap,i=t(&quot;gl-buffer&quot;),a=t(&quot;gl-vao&quot;),o=new n;e.exports=function(t){var e=o.get(t),r=e&amp;&amp;(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()}},{&quot;gl-buffer&quot;:165,&quot;gl-vao&quot;:259,&quot;weak-map&quot;:573}],43:[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&quot;a&quot;:t[6]+=n,t[7]+=i;break;case&quot;v&quot;:t[1]+=i;break;case&quot;h&quot;:t[1]+=n;break;default:for(var s=1;s&lt;t.length;)t[s++]+=n,t[s++]+=i}switch(o){case&quot;Z&quot;:n=e,i=r;break;case&quot;H&quot;:n=t[1];break;case&quot;V&quot;:i=t[1];break;case&quot;M&quot;:n=e=t[1],i=r=t[2];break;default:n=t[t.length-2],i=t[t.length-1]}return t})}},{}],44:[function(t,e,r){var n=t(&quot;pad-left&quot;);e.exports=function(t,e,r){e=&quot;number&quot;==typeof e?e:1,r=r||&quot;: &quot;;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(&quot;\n&quot;)}},{&quot;pad-left&quot;:465}],45:[function(t,e,r){&quot;use strict&quot;;function n(t,e){for(var r=new Array(e+1),n=0;n&lt;t.length;++n)r[n]=t[n];for(n=0;n&lt;=t.length;++n){for(var a=t.length;a&lt;=e;++a){for(var o=new Array(e),s=0;s&lt;e;++s)o[s]=Math.pow(a+1-n,s);r[a]=o}if(i.apply(void 0,r))return!0}return!1}e.exports=function(t){var e=t.length;if(0===e)return[];if(1===e)return[0];for(var r=t[0].length,i=[t[0]],a=[0],o=1;o&lt;e;++o)if(i.push(t[o]),n(i,r)){if(a.push(o),a.length===r+1)return a}else i.pop();return a};var i=t(&quot;robust-orientation&quot;)},{&quot;robust-orientation&quot;:515}],46:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t,e){return n(e).filter(function(r){for(var n=new Array(r.length),a=0;a&lt;r.length;++a)n[a]=e[r[a]];return i(n)*t&lt;1})};var n=t(&quot;delaunay-triangulate&quot;),i=t(&quot;circumradius&quot;)},{circumradius:92,&quot;delaunay-triangulate&quot;:130}],47:[function(t,e,r){e.exports=function(t,e){return i(n(t,e))};var n=t(&quot;alpha-complex&quot;),i=t(&quot;simplicial-complex-boundary&quot;)},{&quot;alpha-complex&quot;:46,&quot;simplicial-complex-boundary&quot;:523}],48:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t,e){if(!t||null==t.length)throw Error(&quot;Argument should be an array&quot;);e=null==e?1:Math.floor(e);for(var r=Array(2*e),n=0;n&lt;e;n++){for(var i=-1/0,a=1/0,o=n,s=t.length;o&lt;s;o+=e)t[o]&gt;i&amp;&amp;(i=t[o]),t[o]&lt;a&amp;&amp;(a=t[o]);r[n]=a,r[e+n]=i}return r}},{}],49:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;array-bounds&quot;);e.exports=function(t,e,r){if(!t||null==t.length)throw Error(&quot;Argument should be an array&quot;);null==e&amp;&amp;(e=1),null==r&amp;&amp;(r=n(t,e));for(var i=0;i&lt;e;i++){var a=r[e+i],o=r[i],s=i,l=t.length;if(a===1/0&amp;&amp;o===-1/0)for(s=i;s&lt;l;s+=e)t[s]=t[s]===a?1:t[s]===o?0:.5;else if(a===1/0)for(s=i;s&lt;l;s+=e)t[s]=t[s]===a?1:0;else if(o===-1/0)for(s=i;s&lt;l;s+=e)t[s]=t[s]===o?0:1;else{var c=a-o;for(s=i;s&lt;l;s+=e)t[s]=0===c?.5:(t[s]-o)/c}}return t}},{&quot;array-bounds&quot;:48}],50:[function(t,e,r){&quot;use strict&quot;;e.exports=function(){var t={},e=/^rgba?\(\s*\d{1,3}\s*,\s*\d{1,3}\s*,\s*\d{1,3}\s*(,.*)?\)$/,r=/^rgba?\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,?\s*(.*)?\)$/;return t.isPlainObject=function(t){return!Array.isArray(t)&amp;&amp;null!==t&amp;&amp;&quot;object&quot;==typeof t},t.linspace=function(t,e,r){for(var n=(e-t)/Math.max(r-1,1),i=[],a=0;a&lt;r;a++)i.push(t+a*n);return i},t.zip3=function(t,e,r){for(var n=Math.min.apply(null,[t.length,e.length,r.length]),i=[],a=0;a&lt;n;a++)i.push([t[a],e[a],r[a]]);return i},t.sum=function(t){function e(t){for(var n=0;n&lt;t.length;n++)Array.isArray(t[n])?e(t[n]):r+=t[n]}var r=0;return e(t),r},t.zip=function(){for(var t=[].slice.call(arguments),e=t.map(function(t){return t.length}),r=Math.min.apply(null,e),n=[],i=0;i&lt;r;i++){n[i]=[];for(var a=0;a&lt;t.length;++a)n[i][a]=t[a][i]}return n},t.isEqual=function(t,e){if(t.length!==e.length)return!1;for(var r=t.length;r--;)if(t[r]!==e[r])return!1;return!0},t.copy2D=function(t){for(var e=[],r=0;r&lt;t.length;++r){e[r]=[];for(var n=0;n&lt;t[r].length;++n)e[r][n]=t[r][n]}return e},t.copy1D=function(t){for(var e=[],r=0;r&lt;t.length;++r)e[r]=t[r];return e},t.str2RgbArray=function(t,n){var i,a;if(&quot;string&quot;!=typeof t)return t;if(i=[],&quot;#&quot;===t[0]?(3===(t=t.substr(1)).length&amp;&amp;(t+=t),a=parseInt(t,16),i[0]=a&gt;&gt;16&amp;255,i[1]=a&gt;&gt;8&amp;255,i[2]=255&amp;a):e.test(t)&amp;&amp;(a=t.match(r),i[0]=parseInt(a[1]),i[1]=parseInt(a[2]),i[2]=parseInt(a[3])),!n)for(var o=0;o&lt;3;++o)i[o]=i[o]/255;return i},t.str2RgbaArray=function(t,n){var i,a;if(&quot;string&quot;!=typeof t)return t;if(i=[],&quot;#&quot;===t[0]?(3===(t=t.substr(1)).length&amp;&amp;(t+=t),a=parseInt(t,16),i[0]=a&gt;&gt;16&amp;255,i[1]=a&gt;&gt;8&amp;255,i[2]=255&amp;a):e.test(t)&amp;&amp;(a=t.match(r),i[0]=parseInt(a[1]),i[1]=parseInt(a[2]),i[2]=parseInt(a[3]),a[4]?i[3]=parseFloat(a[4]):i[3]=1),!n)for(var o=0;o&lt;3;++o)i[o]=i[o]/255;return i},t}()},{}],51:[function(t,e,r){(function(r){&quot;use strict&quot;;function n(t,e){if(t===e)return 0;for(var r=t.length,n=e.length,i=0,a=Math.min(r,n);i&lt;a;++i)if(t[i]!==e[i]){r=t[i],n=e[i];break}return r&lt;n?-1:n&lt;r?1:0}function i(t){return r.Buffer&amp;&amp;&quot;function&quot;==typeof r.Buffer.isBuffer?r.Buffer.isBuffer(t):!(null==t||!t._isBuffer)}function a(t){return Object.prototype.toString.call(t)}function o(t){return!i(t)&amp;&amp;(&quot;function&quot;==typeof r.ArrayBuffer&amp;&amp;(&quot;function&quot;==typeof ArrayBuffer.isView?ArrayBuffer.isView(t):!!t&amp;&amp;(t instanceof DataView||!!(t.buffer&amp;&amp;t.buffer instanceof ArrayBuffer))))}function s(t){if(v.isFunction(t)){if(b)return t.name;var e=t.toString().match(w);return e&amp;&amp;e[1]}}function l(t,e){return&quot;string&quot;==typeof t?t.length&lt;e?t:t.slice(0,e):t}function c(t){if(b||!v.isFunction(t))return v.inspect(t);var e=s(t);return&quot;[Function&quot;+(e?&quot;: &quot;+e:&quot;&quot;)+&quot;]&quot;}function u(t,e,r,n,i){throw new _.AssertionError({message:r,actual:t,expected:e,operator:n,stackStartFunction:i})}function f(t,e){t||u(t,!0,e,&quot;==&quot;,_.ok)}function h(t,e,r,s){if(t===e)return!0;if(i(t)&amp;&amp;i(e))return 0===n(t,e);if(v.isDate(t)&amp;&amp;v.isDate(e))return t.getTime()===e.getTime();if(v.isRegExp(t)&amp;&amp;v.isRegExp(e))return t.source===e.source&amp;&amp;t.global===e.global&amp;&amp;t.multiline===e.multiline&amp;&amp;t.lastIndex===e.lastIndex&amp;&amp;t.ignoreCase===e.ignoreCase;if(null!==t&amp;&amp;&quot;object&quot;==typeof t||null!==e&amp;&amp;&quot;object&quot;==typeof e){if(o(t)&amp;&amp;o(e)&amp;&amp;a(t)===a(e)&amp;&amp;!(t instanceof Float32Array||t instanceof Float64Array))return 0===n(new Uint8Array(t.buffer),new Uint8Array(e.buffer));if(i(t)!==i(e))return!1;var l=(s=s||{actual:[],expected:[]}).actual.indexOf(t);return-1!==l&amp;&amp;l===s.expected.indexOf(e)||(s.actual.push(t),s.expected.push(e),function(t,e,r,n){if(null===t||void 0===t||null===e||void 0===e)return!1;if(v.isPrimitive(t)||v.isPrimitive(e))return t===e;if(r&amp;&amp;Object.getPrototypeOf(t)!==Object.getPrototypeOf(e))return!1;var i=d(t),a=d(e);if(i&amp;&amp;!a||!i&amp;&amp;a)return!1;if(i)return t=x.call(t),e=x.call(e),h(t,e,r);var o,s,l=M(t),c=M(e);if(l.length!==c.length)return!1;for(l.sort(),c.sort(),s=l.length-1;s&gt;=0;s--)if(l[s]!==c[s])return!1;for(s=l.length-1;s&gt;=0;s--)if(o=l[s],!h(t[o],e[o],r,n))return!1;return!0}(t,e,r,s))}return r?t===e:t==e}function d(t){return&quot;[object Arguments]&quot;==Object.prototype.toString.call(t)}function p(t,e,r){h(t,e,!0)&amp;&amp;u(t,e,r,&quot;notDeepStrictEqual&quot;,p)}function m(t,e){if(!t||!e)return!1;if(&quot;[object RegExp]&quot;==Object.prototype.toString.call(e))return e.test(t);try{if(t instanceof e)return!0}catch(t){}return!Error.isPrototypeOf(e)&amp;&amp;!0===e.call({},t)}function g(t,e,r,n){var i;if(&quot;function&quot;!=typeof e)throw new TypeError('&quot;block&quot; argument must be a function');&quot;string&quot;==typeof r&amp;&amp;(n=r,r=null),i=function(t){var e;try{t()}catch(t){e=t}return e}(e),n=(r&amp;&amp;r.name?&quot; (&quot;+r.name+&quot;).&quot;:&quot;.&quot;)+(n?&quot; &quot;+n:&quot;.&quot;),t&amp;&amp;!i&amp;&amp;u(i,r,&quot;Missing expected exception&quot;+n);var a=&quot;string&quot;==typeof n,o=!t&amp;&amp;v.isError(i),s=!t&amp;&amp;i&amp;&amp;!r;if((o&amp;&amp;a&amp;&amp;m(i,r)||s)&amp;&amp;u(i,r,&quot;Got unwanted exception&quot;+n),t&amp;&amp;i&amp;&amp;r&amp;&amp;!m(i,r)||!t&amp;&amp;i)throw i}var v=t(&quot;util/&quot;),y=Object.prototype.hasOwnProperty,x=Array.prototype.slice,b=&quot;foo&quot;===function(){}.name,_=e.exports=f,w=/\s*function\s+([^\(\s]*)\s*/;_.AssertionError=function(t){this.name=&quot;AssertionError&quot;,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 l(c(t.actual),128)+&quot; &quot;+t.operator+&quot; &quot;+l(c(t.expected),128)}(this),this.generatedMessage=!0);var e=t.stackStartFunction||u;if(Error.captureStackTrace)Error.captureStackTrace(this,e);else{var r=new Error;if(r.stack){var n=r.stack,i=s(e),a=n.indexOf(&quot;\n&quot;+i);if(a&gt;=0){var o=n.indexOf(&quot;\n&quot;,a+1);n=n.substring(o+1)}this.stack=n}}},v.inherits(_.AssertionError,Error),_.fail=u,_.ok=f,_.equal=function(t,e,r){t!=e&amp;&amp;u(t,e,r,&quot;==&quot;,_.equal)},_.notEqual=function(t,e,r){t==e&amp;&amp;u(t,e,r,&quot;!=&quot;,_.notEqual)},_.deepEqual=function(t,e,r){h(t,e,!1)||u(t,e,r,&quot;deepEqual&quot;,_.deepEqual)},_.deepStrictEqual=function(t,e,r){h(t,e,!0)||u(t,e,r,&quot;deepStrictEqual&quot;,_.deepStrictEqual)},_.notDeepEqual=function(t,e,r){h(t,e,!1)&amp;&amp;u(t,e,r,&quot;notDeepEqual&quot;,_.notDeepEqual)},_.notDeepStrictEqual=p,_.strictEqual=function(t,e,r){t!==e&amp;&amp;u(t,e,r,&quot;===&quot;,_.strictEqual)},_.notStrictEqual=function(t,e,r){t===e&amp;&amp;u(t,e,r,&quot;!==&quot;,_.notStrictEqual)},_.throws=function(t,e,r){g(!0,t,e,r)},_.doesNotThrow=function(t,e,r){g(!1,t,e,r)},_.ifError=function(t){if(t)throw t};var M=Object.keys||function(t){var e=[];for(var r in t)y.call(t,r)&amp;&amp;e.push(r);return e}}).call(this,&quot;undefined&quot;!=typeof global?global:&quot;undefined&quot;!=typeof self?self:&quot;undefined&quot;!=typeof window?window:{})},{&quot;util/&quot;:563}],52:[function(t,e,r){e.exports=function(t){return atob(t)}},{}],53:[function(t,e,r){&quot;use strict&quot;;function n(t){for(var e=0,r=0;r&lt;t.length;++r)e+=t[r];return e}e.exports=function(t,e){for(var r=e.length,a=new Array(r+1),o=0;o&lt;r;++o){for(var s=new Array(r+1),l=0;l&lt;=r;++l)s[l]=t[l][o];a[o]=s}for(a[r]=new Array(r+1),o=0;o&lt;=r;++o)a[r][o]=1;var c=new Array(r+1);for(o=0;o&lt;r;++o)c[o]=e[o];c[r]=1;var u=i(a,c),f=n(u[r+1]);0===f&amp;&amp;(f=1);var h=new Array(r+1);for(o=0;o&lt;=r;++o)h[o]=n(u[o])/f;return h};var i=t(&quot;robust-linear-solve&quot;)},{&quot;robust-linear-solve&quot;:514}],54:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;./lib/rationalize&quot;);e.exports=function(t,e){return n(t[0].mul(e[1]).add(e[0].mul(t[1])),t[1].mul(e[1]))}},{&quot;./lib/rationalize&quot;:64}],55:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t,e){return t[0].mul(e[1]).cmp(e[0].mul(t[1]))}},{}],56:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;./lib/rationalize&quot;);e.exports=function(t,e){return n(t[0].mul(e[1]),t[1].mul(e[0]))}},{&quot;./lib/rationalize&quot;:64}],57:[function(t,e,r){&quot;use strict&quot;;function n(t,e){if(i(t))return e?c(t,n(e)):[t[0].clone(),t[1].clone()];var r,u,f=0;if(a(t))r=t.clone();else if(&quot;string&quot;==typeof t)r=s(t);else{if(0===t)return[o(0),o(1)];if(t===Math.floor(t))r=o(t);else{for(;t!==Math.floor(t);)t*=Math.pow(2,256),f-=256;r=o(t)}}if(i(e))r.mul(e[1]),u=e[0].clone();else if(a(e))u=e.clone();else if(&quot;string&quot;==typeof e)u=s(e);else if(e)if(e===Math.floor(e))u=o(e);else{for(;e!==Math.floor(e);)e*=Math.pow(2,256),f+=256;u=o(e)}else u=o(1);return f&gt;0?r=r.ushln(f):f&lt;0&amp;&amp;(u=u.ushln(-f)),l(r,u)}var i=t(&quot;./is-rat&quot;),a=t(&quot;./lib/is-bn&quot;),o=t(&quot;./lib/num-to-bn&quot;),s=t(&quot;./lib/str-to-bn&quot;),l=t(&quot;./lib/rationalize&quot;),c=t(&quot;./div&quot;);e.exports=n},{&quot;./div&quot;:56,&quot;./is-rat&quot;:58,&quot;./lib/is-bn&quot;:62,&quot;./lib/num-to-bn&quot;:63,&quot;./lib/rationalize&quot;:64,&quot;./lib/str-to-bn&quot;:65}],58:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;./lib/is-bn&quot;);e.exports=function(t){return Array.isArray(t)&amp;&amp;2===t.length&amp;&amp;n(t[0])&amp;&amp;n(t[1])}},{&quot;./lib/is-bn&quot;:62}],59:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;bn.js&quot;);e.exports=function(t){return t.cmp(new n(0))}},{&quot;bn.js&quot;:73}],60:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;./bn-sign&quot;);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&lt;e;a++)i+=r[a]*Math.pow(67108864,a);return n(t)*i}},{&quot;./bn-sign&quot;:59}],61:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;double-bits&quot;),i=t(&quot;bit-twiddle&quot;).countTrailingZeros;e.exports=function(t){var e=i(n.lo(t));if(e&lt;32)return e;var r=i(n.hi(t));return r&gt;20?52:r+32}},{&quot;bit-twiddle&quot;:71,&quot;double-bits&quot;:131}],62:[function(t,e,r){&quot;use strict&quot;;t(&quot;bn.js&quot;);e.exports=function(t){return t&amp;&amp;&quot;object&quot;==typeof t&amp;&amp;Boolean(t.words)}},{&quot;bn.js&quot;:73}],63:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;bn.js&quot;),i=t(&quot;double-bits&quot;);e.exports=function(t){var e=i.exponent(t);return e&lt;52?new n(t):new n(t*Math.pow(2,52-e)).ushln(e-52)}},{&quot;bn.js&quot;:73,&quot;double-bits&quot;:131}],64:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;./num-to-bn&quot;),i=t(&quot;./bn-sign&quot;);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&lt;0&amp;&amp;(t=t.neg(),e=e.neg());var o=t.gcd(e);return o.cmpn(1)?[t.div(o),e.div(o)]:[t,e]}},{&quot;./bn-sign&quot;:59,&quot;./num-to-bn&quot;:63}],65:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;bn.js&quot;);e.exports=function(t){return new n(t)}},{&quot;bn.js&quot;:73}],66:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;./lib/rationalize&quot;);e.exports=function(t,e){return n(t[0].mul(e[0]),t[1].mul(e[1]))}},{&quot;./lib/rationalize&quot;:64}],67:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;./lib/bn-sign&quot;);e.exports=function(t){return n(t[0])*n(t[1])}},{&quot;./lib/bn-sign&quot;:59}],68:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;./lib/rationalize&quot;);e.exports=function(t,e){return n(t[0].mul(e[1]).sub(t[1].mul(e[0])),t[1].mul(e[1]))}},{&quot;./lib/rationalize&quot;:64}],69:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;./lib/bn-to-num&quot;),i=t(&quot;./lib/ctz&quot;);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;return c*(s+(h=n(l.ushln(u).divRound(r)))*Math.pow(2,-u))}var f=r.bitLength()-l.bitLength()+53,h=n(l.ushln(f).divRound(r));return f&lt;1023?c*h*Math.pow(2,-f):(h*=Math.pow(2,-1023),c*h*Math.pow(2,1023-f))}},{&quot;./lib/bn-to-num&quot;:60,&quot;./lib/ctz&quot;:61}],70:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,n,i,a){var o=[&quot;function &quot;,t,&quot;(a,l,h,&quot;,n.join(&quot;,&quot;),&quot;){&quot;,a?&quot;&quot;:&quot;var i=&quot;,r?&quot;l-1&quot;:&quot;h+1&quot;,&quot;;while(l&lt;=h){var m=(l+h)&gt;&gt;&gt;1,x=a&quot;,i?&quot;.get(m)&quot;:&quot;[m]&quot;];return a?e.indexOf(&quot;c&quot;)&lt;0?o.push(&quot;;if(x===y){return m}else if(x&lt;=y){&quot;):o.push(&quot;;var p=c(x,y);if(p===0){return m}else if(p&lt;=0){&quot;):o.push(&quot;;if(&quot;,e,&quot;){i=m;&quot;),r?o.push(&quot;l=m+1}else{h=m-1}&quot;):o.push(&quot;h=m-1}else{l=m+1}&quot;),o.push(&quot;}&quot;),a?o.push(&quot;return -1};&quot;):o.push(&quot;return i};&quot;),o.join(&quot;&quot;)}function i(t,e,r,i){return new Function([n(&quot;A&quot;,&quot;x&quot;+t+&quot;y&quot;,e,[&quot;y&quot;],!1,i),n(&quot;B&quot;,&quot;x&quot;+t+&quot;y&quot;,e,[&quot;y&quot;],!0,i),n(&quot;P&quot;,&quot;c(x,y)&quot;+t+&quot;0&quot;,e,[&quot;y&quot;,&quot;c&quot;],!1,i),n(&quot;Q&quot;,&quot;c(x,y)&quot;+t+&quot;0&quot;,e,[&quot;y&quot;,&quot;c&quot;],!0,i),&quot;function dispatchBsearch&quot;,r,&quot;(a,y,c,l,h){if(a.shape){if(typeof(c)==='function'){return Q(a,(l===undefined)?0:l|0,(h===undefined)?a.shape[0]-1:h|0,y,c)}else{return B(a,(c===undefined)?0:c|0,(l===undefined)?a.shape[0]-1:l|0,y)}}else{if(typeof(c)==='function'){return P(a,(l===undefined)?0:l|0,(h===undefined)?a.length-1:h|0,y,c)}else{return A(a,(c===undefined)?0:c|0,(l===undefined)?a.length-1:l|0,y)}}}return dispatchBsearch&quot;,r].join(&quot;&quot;))()}e.exports={ge:i(&quot;&gt;=&quot;,!1,&quot;GE&quot;),gt:i(&quot;&gt;&quot;,!1,&quot;GT&quot;),lt:i(&quot;&lt;&quot;,!0,&quot;LT&quot;),le:i(&quot;&lt;=&quot;,!0,&quot;LE&quot;),eq:i(&quot;-&quot;,!0,&quot;EQ&quot;,!0)}},{}],71:[function(t,e,r){&quot;use strict&quot;;&quot;use restrict&quot;;function n(t){var e=32;return(t&amp;=-t)&amp;&amp;e--,65535&amp;t&amp;&amp;(e-=16),16711935&amp;t&amp;&amp;(e-=8),252645135&amp;t&amp;&amp;(e-=4),858993459&amp;t&amp;&amp;(e-=2),1431655765&amp;t&amp;&amp;(e-=1),e}r.INT_BITS=32,r.INT_MAX=2147483647,r.INT_MIN=-1&lt;&lt;31,r.sign=function(t){return(t&gt;0)-(t&lt;0)},r.abs=function(t){var e=t&gt;&gt;31;return(t^e)-e},r.min=function(t,e){return e^(t^e)&amp;-(t&lt;e)},r.max=function(t,e){return t^(t^e)&amp;-(t&lt;e)},r.isPow2=function(t){return!(t&amp;t-1||!t)},r.log2=function(t){var e,r;return e=(t&gt;65535)&lt;&lt;4,t&gt;&gt;&gt;=e,r=(t&gt;255)&lt;&lt;3,t&gt;&gt;&gt;=r,e|=r,r=(t&gt;15)&lt;&lt;2,t&gt;&gt;&gt;=r,e|=r,r=(t&gt;3)&lt;&lt;1,t&gt;&gt;&gt;=r,(e|=r)|t&gt;&gt;1},r.log10=function(t){return t&gt;=1e9?9:t&gt;=1e8?8:t&gt;=1e7?7:t&gt;=1e6?6:t&gt;=1e5?5:t&gt;=1e4?4:t&gt;=1e3?3:t&gt;=100?2:t&gt;=10?1:0},r.popCount=function(t){return t-=t&gt;&gt;&gt;1&amp;1431655765,16843009*((t=(858993459&amp;t)+(t&gt;&gt;&gt;2&amp;858993459))+(t&gt;&gt;&gt;4)&amp;252645135)&gt;&gt;&gt;24},r.countTrailingZeros=n,r.nextPow2=function(t){return t+=0===t,--t,t|=t&gt;&gt;&gt;1,t|=t&gt;&gt;&gt;2,t|=t&gt;&gt;&gt;4,t|=t&gt;&gt;&gt;8,(t|=t&gt;&gt;&gt;16)+1},r.prevPow2=function(t){return t|=t&gt;&gt;&gt;1,t|=t&gt;&gt;&gt;2,t|=t&gt;&gt;&gt;4,t|=t&gt;&gt;&gt;8,(t|=t&gt;&gt;&gt;16)-(t&gt;&gt;&gt;1)},r.parity=function(t){return t^=t&gt;&gt;&gt;16,t^=t&gt;&gt;&gt;8,t^=t&gt;&gt;&gt;4,27030&gt;&gt;&gt;(t&amp;=15)&amp;1};var i=new Array(256);!function(t){for(var e=0;e&lt;256;++e){var r=e,n=e,i=7;for(r&gt;&gt;&gt;=1;r;r&gt;&gt;&gt;=1)n&lt;&lt;=1,n|=1&amp;r,--i;t[e]=n&lt;&lt;i&amp;255}}(i),r.reverse=function(t){return i[255&amp;t]&lt;&lt;24|i[t&gt;&gt;&gt;8&amp;255]&lt;&lt;16|i[t&gt;&gt;&gt;16&amp;255]&lt;&lt;8|i[t&gt;&gt;&gt;24&amp;255]},r.interleave2=function(t,e){return t&amp;=65535,t=16711935&amp;(t|t&lt;&lt;8),t=252645135&amp;(t|t&lt;&lt;4),t=858993459&amp;(t|t&lt;&lt;2),t=1431655765&amp;(t|t&lt;&lt;1),e&amp;=65535,e=16711935&amp;(e|e&lt;&lt;8),e=252645135&amp;(e|e&lt;&lt;4),e=858993459&amp;(e|e&lt;&lt;2),e=1431655765&amp;(e|e&lt;&lt;1),t|e&lt;&lt;1},r.deinterleave2=function(t,e){return t=t&gt;&gt;&gt;e&amp;1431655765,t=858993459&amp;(t|t&gt;&gt;&gt;1),t=252645135&amp;(t|t&gt;&gt;&gt;2),t=16711935&amp;(t|t&gt;&gt;&gt;4),(t=65535&amp;(t|t&gt;&gt;&gt;16))&lt;&lt;16&gt;&gt;16},r.interleave3=function(t,e,r){return t&amp;=1023,t=4278190335&amp;(t|t&lt;&lt;16),t=251719695&amp;(t|t&lt;&lt;8),t=3272356035&amp;(t|t&lt;&lt;4),t=1227133513&amp;(t|t&lt;&lt;2),e&amp;=1023,e=4278190335&amp;(e|e&lt;&lt;16),e=251719695&amp;(e|e&lt;&lt;8),e=3272356035&amp;(e|e&lt;&lt;4),e=1227133513&amp;(e|e&lt;&lt;2),t|=e&lt;&lt;1,r&amp;=1023,r=4278190335&amp;(r|r&lt;&lt;16),r=251719695&amp;(r|r&lt;&lt;8),r=3272356035&amp;(r|r&lt;&lt;4),r=1227133513&amp;(r|r&lt;&lt;2),t|r&lt;&lt;2},r.deinterleave3=function(t,e){return t=t&gt;&gt;&gt;e&amp;1227133513,t=3272356035&amp;(t|t&gt;&gt;&gt;2),t=251719695&amp;(t|t&gt;&gt;&gt;4),t=4278190335&amp;(t|t&gt;&gt;&gt;8),(t=1023&amp;(t|t&gt;&gt;&gt;16))&lt;&lt;22&gt;&gt;22},r.nextCombination=function(t){var e=t|t-1;return e+1|(~e&amp;-~e)-1&gt;&gt;&gt;n(t)+1}},{}],72:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,n,a,o,s){for(var l=0;l&lt;e;l++){for(var c=0;c&lt;r;c++)n[c]=t[c*e+l];for(i(n,a,o,s,r),c=0;c&lt;r;c++)t[c*e+l]=a[c]}for(c=0;c&lt;r;c++){for(l=0;l&lt;e;l++)n[l]=t[c*e+l];for(i(n,a,o,s,e),l=0;l&lt;e;l++)t[c*e+l]=Math.sqrt(a[l])}}function i(t,e,r,n,i){r[0]=0,n[0]=-o,n[1]=+o;for(var a=1,s=0;a&lt;i;a++){for(var l=(t[a]+a*a-(t[r[s]]+r[s]*r[s]))/(2*a-2*r[s]);l&lt;=n[s];)s--,l=(t[a]+a*a-(t[r[s]]+r[s]*r[s]))/(2*a-2*r[s]);r[++s]=a,n[s]=l,n[s+1]=+o}for(a=0,s=0;a&lt;i;a++){for(;n[s+1]&lt;a;)s++;e[a]=(a-r[s])*(a-r[s])+t[r[s]]}}var a=t(&quot;clamp&quot;);e.exports=function(t,e){e||(e={});var r,i,s,l,c,u,f,h,d,p,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(&quot;For raw data width and height should be provided by options&quot;);r=e.width,i=e.height,l=t,u=e.stride?e.stride:Math.floor(t.length/r/i)}else window.HTMLCanvasElement&amp;&amp;t instanceof window.HTMLCanvasElement?(f=(h=t).getContext(&quot;2d&quot;),r=h.width,i=h.height,l=(d=f.getImageData(0,0,r,i)).data,u=4):window.CanvasRenderingContext2D&amp;&amp;t instanceof window.CanvasRenderingContext2D?(f=t,r=(h=t.canvas).width,i=h.height,l=(d=f.getImageData(0,0,r,i)).data,u=4):window.ImageData&amp;&amp;t instanceof window.ImageData&amp;&amp;(d=t,r=t.width,i=t.height,l=d.data,u=4);if(s=Math.max(r,i),window.Uint8ClampedArray&amp;&amp;l instanceof window.Uint8ClampedArray||window.Uint8Array&amp;&amp;l instanceof window.Uint8Array)for(c=l,l=Array(r*i),p=0,m=c.length;p&lt;m;p++)l[p]=c[p*u+y]/255;else if(1!==u)throw Error(&quot;Raw data can have only 1 value per pixel&quot;);var x=Array(r*i),b=Array(r*i),_=Array(s),w=Array(s),M=Array(s+1),k=Array(s);for(p=0,m=r*i;p&lt;m;p++){var A=l[p];x[p]=1===A?0:0===A?o:Math.pow(Math.max(0,.5-A),2),b[p]=1===A?o:0===A?0:Math.pow(Math.max(0,A-.5),2)}n(x,r,i,_,w,k,M),n(b,r,i,_,w,k,M);var T=window.Float32Array?new Float32Array(r*i):new Array(r*i);for(p=0,m=r*i;p&lt;m;p++)T[p]=a(1-((x[p]-b[p])/v+g),0,1);return T};var o=1e20},{clamp:93}],73:[function(t,e,r){!function(e,r){&quot;use strict&quot;;function n(t,e){if(!t)throw new Error(e||&quot;Assertion failed&quot;)}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&amp;&amp;(&quot;le&quot;!==e&amp;&amp;&quot;be&quot;!==e||(r=e,e=10),this._init(t||0,e||10,r||&quot;be&quot;))}function o(t,e,r){for(var n=0,i=Math.min(t.length,r),a=e;a&lt;i;a++){var o=t.charCodeAt(a)-48;n&lt;&lt;=4,n|=o&gt;=49&amp;&amp;o&lt;=54?o-49+10:o&gt;=17&amp;&amp;o&lt;=22?o-17+10:15&amp;o}return n}function s(t,e,r,n){for(var i=0,a=Math.min(t.length,r),o=e;o&lt;a;o++){var s=t.charCodeAt(o)-48;i*=n,i+=s&gt;=49?s-49+10:s&gt;=17?s-17+10:s}return i}function l(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&amp;o,l=o/67108864|0;r.words[0]=s;for(var c=1;c&lt;n;c++){for(var u=l&gt;&gt;&gt;26,f=67108863&amp;l,h=Math.min(c,e.length-1),d=Math.max(0,c-t.length+1);d&lt;=h;d++){var p=c-d|0;u+=(o=(i=0|t.words[p])*(a=0|e.words[d])+f)/67108864|0,f=67108863&amp;o}r.words[c]=0|f,l=0|u}return 0!==l?r.words[c]=0|l:r.length--,r.strip()}function c(t,e,r){return(new u).mulp(t,e,r)}function u(t,e){this.x=t,this.y=e}function f(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 h(){f.call(this,&quot;k256&quot;,&quot;ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f&quot;)}function d(){f.call(this,&quot;p224&quot;,&quot;ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001&quot;)}function p(){f.call(this,&quot;p192&quot;,&quot;ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff&quot;)}function m(){f.call(this,&quot;25519&quot;,&quot;7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed&quot;)}function g(t){if(&quot;string&quot;==typeof t){var e=a._prime(t);this.m=e.p,this.prime=e}else n(t.gtn(1),&quot;modulus must be greater than 1&quot;),this.m=t,this.prime=null}function v(t){g.call(this,t),this.shift=this.m.bitLength(),this.shift%26!=0&amp;&amp;(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)}&quot;object&quot;==typeof e?e.exports=a:r.BN=a,a.BN=a,a.wordSize=26;var y;try{y=t(&quot;buffer&quot;).Buffer}catch(t){}a.isBN=function(t){return t instanceof a||null!==t&amp;&amp;&quot;object&quot;==typeof t&amp;&amp;t.constructor.wordSize===a.wordSize&amp;&amp;Array.isArray(t.words)},a.max=function(t,e){return t.cmp(e)&gt;0?t:e},a.min=function(t,e){return t.cmp(e)&lt;0?t:e},a.prototype._init=function(t,e,r){if(&quot;number&quot;==typeof t)return this._initNumber(t,e,r);if(&quot;object&quot;==typeof t)return this._initArray(t,e,r);&quot;hex&quot;===e&amp;&amp;(e=16),n(e===(0|e)&amp;&amp;e&gt;=2&amp;&amp;e&lt;=36);var i=0;&quot;-&quot;===(t=t.toString().replace(/\s+/g,&quot;&quot;))[0]&amp;&amp;i++,16===e?this._parseHex(t,i):this._parseBase(t,e,i),&quot;-&quot;===t[0]&amp;&amp;(this.negative=1),this.strip(),&quot;le&quot;===r&amp;&amp;this._initArray(this.toArray(),e,r)},a.prototype._initNumber=function(t,e,r){t&lt;0&amp;&amp;(this.negative=1,t=-t),t&lt;67108864?(this.words=[67108863&amp;t],this.length=1):t&lt;4503599627370496?(this.words=[67108863&amp;t,t/67108864&amp;67108863],this.length=2):(n(t&lt;9007199254740992),this.words=[67108863&amp;t,t/67108864&amp;67108863,1],this.length=3),&quot;le&quot;===r&amp;&amp;this._initArray(this.toArray(),e,r)},a.prototype._initArray=function(t,e,r){if(n(&quot;number&quot;==typeof t.length),t.length&lt;=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&lt;this.length;i++)this.words[i]=0;var a,o,s=0;if(&quot;be&quot;===r)for(i=t.length-1,a=0;i&gt;=0;i-=3)o=t[i]|t[i-1]&lt;&lt;8|t[i-2]&lt;&lt;16,this.words[a]|=o&lt;&lt;s&amp;67108863,this.words[a+1]=o&gt;&gt;&gt;26-s&amp;67108863,(s+=24)&gt;=26&amp;&amp;(s-=26,a++);else if(&quot;le&quot;===r)for(i=0,a=0;i&lt;t.length;i+=3)o=t[i]|t[i+1]&lt;&lt;8|t[i+2]&lt;&lt;16,this.words[a]|=o&lt;&lt;s&amp;67108863,this.words[a+1]=o&gt;&gt;&gt;26-s&amp;67108863,(s+=24)&gt;=26&amp;&amp;(s-=26,a++);return this.strip()},a.prototype._parseHex=function(t,e){this.length=Math.ceil((t.length-e)/6),this.words=new Array(this.length);for(var r=0;r&lt;this.length;r++)this.words[r]=0;var n,i,a=0;for(r=t.length-6,n=0;r&gt;=e;r-=6)i=o(t,r,r+6),this.words[n]|=i&lt;&lt;a&amp;67108863,this.words[n+1]|=i&gt;&gt;&gt;26-a&amp;4194303,(a+=24)&gt;=26&amp;&amp;(a-=26,n++);r+6!==e&amp;&amp;(i=o(t,e,r+6),this.words[n]|=i&lt;&lt;a&amp;67108863,this.words[n+1]|=i&gt;&gt;&gt;26-a&amp;4194303),this.strip()},a.prototype._parseBase=function(t,e,r){this.words=[0],this.length=1;for(var n=0,i=1;i&lt;=67108863;i*=e)n++;n--,i=i/e|0;for(var a=t.length-r,o=a%n,l=Math.min(a,a-o)+r,c=0,u=r;u&lt;l;u+=n)c=s(t,u,u+n,e),this.imuln(i),this.words[0]+c&lt;67108864?this.words[0]+=c:this._iaddn(c);if(0!==o){var f=1;for(c=s(t,u,t.length,e),u=0;u&lt;o;u++)f*=e;this.imuln(f),this.words[0]+c&lt;67108864?this.words[0]+=c:this._iaddn(c)}},a.prototype.copy=function(t){t.words=new Array(this.length);for(var e=0;e&lt;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&lt;t;)this.words[this.length++]=0;return this},a.prototype.strip=function(){for(;this.length&gt;1&amp;&amp;0===this.words[this.length-1];)this.length--;return this._normSign()},a.prototype._normSign=function(){return 1===this.length&amp;&amp;0===this.words[0]&amp;&amp;(this.negative=0),this},a.prototype.inspect=function(){return(this.red?&quot;&lt;BN-R: &quot;:&quot;&lt;BN: &quot;)+this.toString(16)+&quot;&gt;&quot;};var x=[&quot;&quot;,&quot;0&quot;,&quot;00&quot;,&quot;000&quot;,&quot;0000&quot;,&quot;00000&quot;,&quot;000000&quot;,&quot;0000000&quot;,&quot;00000000&quot;,&quot;000000000&quot;,&quot;0000000000&quot;,&quot;00000000000&quot;,&quot;000000000000&quot;,&quot;0000000000000&quot;,&quot;00000000000000&quot;,&quot;000000000000000&quot;,&quot;0000000000000000&quot;,&quot;00000000000000000&quot;,&quot;000000000000000000&quot;,&quot;0000000000000000000&quot;,&quot;00000000000000000000&quot;,&quot;000000000000000000000&quot;,&quot;0000000000000000000000&quot;,&quot;00000000000000000000000&quot;,&quot;000000000000000000000000&quot;,&quot;0000000000000000000000000&quot;],b=[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],_=[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];a.prototype.toString=function(t,e){t=t||10,e=0|e||1;var r;if(16===t||&quot;hex&quot;===t){r=&quot;&quot;;for(var i=0,a=0,o=0;o&lt;this.length;o++){var s=this.words[o],l=(16777215&amp;(s&lt;&lt;i|a)).toString(16);r=0!==(a=s&gt;&gt;&gt;24-i&amp;16777215)||o!==this.length-1?x[6-l.length]+l+r:l+r,(i+=2)&gt;=26&amp;&amp;(i-=26,o--)}for(0!==a&amp;&amp;(r=a.toString(16)+r);r.length%e!=0;)r=&quot;0&quot;+r;return 0!==this.negative&amp;&amp;(r=&quot;-&quot;+r),r}if(t===(0|t)&amp;&amp;t&gt;=2&amp;&amp;t&lt;=36){var c=b[t],u=_[t];r=&quot;&quot;;var f=this.clone();for(f.negative=0;!f.isZero();){var h=f.modn(u).toString(t);r=(f=f.idivn(u)).isZero()?h+r:x[c-h.length]+h+r}for(this.isZero()&amp;&amp;(r=&quot;0&quot;+r);r.length%e!=0;)r=&quot;0&quot;+r;return 0!==this.negative&amp;&amp;(r=&quot;-&quot;+r),r}n(!1,&quot;Base should be between 2 and 36&quot;)},a.prototype.toNumber=function(){var t=this.words[0];return 2===this.length?t+=67108864*this.words[1]:3===this.length&amp;&amp;1===this.words[2]?t+=4503599627370496+67108864*this.words[1]:this.length&gt;2&amp;&amp;n(!1,&quot;Number can only safely store up to 53 bits&quot;),0!==this.negative?-t:t},a.prototype.toJSON=function(){return this.toString(16)},a.prototype.toBuffer=function(t,e){return n(void 0!==y),this.toArrayLike(y,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&lt;=a,&quot;byte array longer than desired length&quot;),n(a&gt;0,&quot;Requested array length &lt;= 0&quot;),this.strip();var o,s,l=&quot;le&quot;===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&lt;a;s++)c[s]=0}else{for(s=0;s&lt;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&gt;=4096&amp;&amp;(r+=13,e&gt;&gt;&gt;=13),e&gt;=64&amp;&amp;(r+=7,e&gt;&gt;&gt;=7),e&gt;=8&amp;&amp;(r+=4,e&gt;&gt;&gt;=4),e&gt;=2&amp;&amp;(r+=2,e&gt;&gt;&gt;=2),r+e},a.prototype._zeroBits=function(t){if(0===t)return 26;var e=t,r=0;return 0==(8191&amp;e)&amp;&amp;(r+=13,e&gt;&gt;&gt;=13),0==(127&amp;e)&amp;&amp;(r+=7,e&gt;&gt;&gt;=7),0==(15&amp;e)&amp;&amp;(r+=4,e&gt;&gt;&gt;=4),0==(3&amp;e)&amp;&amp;(r+=2,e&gt;&gt;&gt;=2),0==(1&amp;e)&amp;&amp;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&lt;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&lt;t.length;)this.words[this.length++]=0;for(var e=0;e&lt;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&gt;t.length?this.clone().ior(t):t.clone().ior(this)},a.prototype.uor=function(t){return this.length&gt;t.length?this.clone().iuor(t):t.clone().iuor(this)},a.prototype.iuand=function(t){var e;e=this.length&gt;t.length?t:this;for(var r=0;r&lt;e.length;r++)this.words[r]=this.words[r]&amp;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&gt;t.length?this.clone().iand(t):t.clone().iand(this)},a.prototype.uand=function(t){return this.length&gt;t.length?this.clone().iuand(t):t.clone().iuand(this)},a.prototype.iuxor=function(t){var e,r;this.length&gt;t.length?(e=this,r=t):(e=t,r=this);for(var n=0;n&lt;r.length;n++)this.words[n]=e.words[n]^r.words[n];if(this!==e)for(;n&lt;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&gt;t.length?this.clone().ixor(t):t.clone().ixor(this)},a.prototype.uxor=function(t){return this.length&gt;t.length?this.clone().iuxor(t):t.clone().iuxor(this)},a.prototype.inotn=function(t){n(&quot;number&quot;==typeof t&amp;&amp;t&gt;=0);var e=0|Math.ceil(t/26),r=t%26;this._expand(e),r&gt;0&amp;&amp;e--;for(var i=0;i&lt;e;i++)this.words[i]=67108863&amp;~this.words[i];return r&gt;0&amp;&amp;(this.words[i]=~this.words[i]&amp;67108863&gt;&gt;26-r),this.strip()},a.prototype.notn=function(t){return this.clone().inotn(t)},a.prototype.setn=function(t,e){n(&quot;number&quot;==typeof t&amp;&amp;t&gt;=0);var r=t/26|0,i=t%26;return this._expand(r+1),this.words[r]=e?this.words[r]|1&lt;&lt;i:this.words[r]&amp;~(1&lt;&lt;i),this.strip()},a.prototype.iadd=function(t){var e;if(0!==this.negative&amp;&amp;0===t.negative)return this.negative=0,e=this.isub(t),this.negative^=1,this._normSign();if(0===this.negative&amp;&amp;0!==t.negative)return t.negative=0,e=this.isub(t),t.negative=1,e._normSign();var r,n;this.length&gt;t.length?(r=this,n=t):(r=t,n=this);for(var i=0,a=0;a&lt;n.length;a++)e=(0|r.words[a])+(0|n.words[a])+i,this.words[a]=67108863&amp;e,i=e&gt;&gt;&gt;26;for(;0!==i&amp;&amp;a&lt;r.length;a++)e=(0|r.words[a])+i,this.words[a]=67108863&amp;e,i=e&gt;&gt;&gt;26;if(this.length=r.length,0!==i)this.words[this.length]=i,this.length++;else if(r!==this)for(;a&lt;r.length;a++)this.words[a]=r.words[a];return this},a.prototype.add=function(t){var e;return 0!==t.negative&amp;&amp;0===this.negative?(t.negative=0,e=this.sub(t),t.negative^=1,e):0===t.negative&amp;&amp;0!==this.negative?(this.negative=0,e=t.sub(this),this.negative=1,e):this.length&gt;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=this.cmp(t);if(0===r)return this.negative=0,this.length=1,this.words[0]=0,this;var n,i;r&gt;0?(n=this,i=t):(n=t,i=this);for(var a=0,o=0;o&lt;i.length;o++)a=(e=(0|n.words[o])-(0|i.words[o])+a)&gt;&gt;26,this.words[o]=67108863&amp;e;for(;0!==a&amp;&amp;o&lt;n.length;o++)a=(e=(0|n.words[o])+a)&gt;&gt;26,this.words[o]=67108863&amp;e;if(0===a&amp;&amp;o&lt;n.length&amp;&amp;n!==this)for(;o&lt;n.length;o++)this.words[o]=n.words[o];return this.length=Math.max(this.length,o),n!==this&amp;&amp;(this.negative=1),this.strip()},a.prototype.sub=function(t){return this.clone().isub(t)};var w=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&amp;u,h=u&gt;&gt;&gt;13,d=0|o[1],p=8191&amp;d,m=d&gt;&gt;&gt;13,g=0|o[2],v=8191&amp;g,y=g&gt;&gt;&gt;13,x=0|o[3],b=8191&amp;x,_=x&gt;&gt;&gt;13,w=0|o[4],M=8191&amp;w,k=w&gt;&gt;&gt;13,A=0|o[5],T=8191&amp;A,S=A&gt;&gt;&gt;13,E=0|o[6],L=8191&amp;E,C=E&gt;&gt;&gt;13,z=0|o[7],D=8191&amp;z,I=z&gt;&gt;&gt;13,P=0|o[8],O=8191&amp;P,F=P&gt;&gt;&gt;13,R=0|o[9],N=8191&amp;R,j=R&gt;&gt;&gt;13,B=0|s[0],U=8191&amp;B,V=B&gt;&gt;&gt;13,q=0|s[1],H=8191&amp;q,G=q&gt;&gt;&gt;13,Y=0|s[2],W=8191&amp;Y,X=Y&gt;&gt;&gt;13,Z=0|s[3],J=8191&amp;Z,K=Z&gt;&gt;&gt;13,Q=0|s[4],$=8191&amp;Q,tt=Q&gt;&gt;&gt;13,et=0|s[5],rt=8191&amp;et,nt=et&gt;&gt;&gt;13,it=0|s[6],at=8191&amp;it,ot=it&gt;&gt;&gt;13,st=0|s[7],lt=8191&amp;st,ct=st&gt;&gt;&gt;13,ut=0|s[8],ft=8191&amp;ut,ht=ut&gt;&gt;&gt;13,dt=0|s[9],pt=8191&amp;dt,mt=dt&gt;&gt;&gt;13;r.negative=t.negative^e.negative,r.length=19;var gt=(c+(n=Math.imul(f,U))|0)+((8191&amp;(i=(i=Math.imul(f,V))+Math.imul(h,U)|0))&lt;&lt;13)|0;c=((a=Math.imul(h,V))+(i&gt;&gt;&gt;13)|0)+(gt&gt;&gt;&gt;26)|0,gt&amp;=67108863,n=Math.imul(p,U),i=(i=Math.imul(p,V))+Math.imul(m,U)|0,a=Math.imul(m,V);var vt=(c+(n=n+Math.imul(f,H)|0)|0)+((8191&amp;(i=(i=i+Math.imul(f,G)|0)+Math.imul(h,H)|0))&lt;&lt;13)|0;c=((a=a+Math.imul(h,G)|0)+(i&gt;&gt;&gt;13)|0)+(vt&gt;&gt;&gt;26)|0,vt&amp;=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(p,H)|0,i=(i=i+Math.imul(p,G)|0)+Math.imul(m,H)|0,a=a+Math.imul(m,G)|0;var yt=(c+(n=n+Math.imul(f,W)|0)|0)+((8191&amp;(i=(i=i+Math.imul(f,X)|0)+Math.imul(h,W)|0))&lt;&lt;13)|0;c=((a=a+Math.imul(h,X)|0)+(i&gt;&gt;&gt;13)|0)+(yt&gt;&gt;&gt;26)|0,yt&amp;=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,H)|0,i=(i=i+Math.imul(v,G)|0)+Math.imul(y,H)|0,a=a+Math.imul(y,G)|0,n=n+Math.imul(p,W)|0,i=(i=i+Math.imul(p,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&amp;(i=(i=i+Math.imul(f,K)|0)+Math.imul(h,J)|0))&lt;&lt;13)|0;c=((a=a+Math.imul(h,K)|0)+(i&gt;&gt;&gt;13)|0)+(xt&gt;&gt;&gt;26)|0,xt&amp;=67108863,n=Math.imul(M,U),i=(i=Math.imul(M,V))+Math.imul(k,U)|0,a=Math.imul(k,V),n=n+Math.imul(b,H)|0,i=(i=i+Math.imul(b,G)|0)+Math.imul(_,H)|0,a=a+Math.imul(_,G)|0,n=n+Math.imul(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(p,J)|0,i=(i=i+Math.imul(p,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&amp;(i=(i=i+Math.imul(f,tt)|0)+Math.imul(h,$)|0))&lt;&lt;13)|0;c=((a=a+Math.imul(h,tt)|0)+(i&gt;&gt;&gt;13)|0)+(bt&gt;&gt;&gt;26)|0,bt&amp;=67108863,n=Math.imul(T,U),i=(i=Math.imul(T,V))+Math.imul(S,U)|0,a=Math.imul(S,V),n=n+Math.imul(M,H)|0,i=(i=i+Math.imul(M,G)|0)+Math.imul(k,H)|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(p,$)|0,i=(i=i+Math.imul(p,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&amp;(i=(i=i+Math.imul(f,nt)|0)+Math.imul(h,rt)|0))&lt;&lt;13)|0;c=((a=a+Math.imul(h,nt)|0)+(i&gt;&gt;&gt;13)|0)+(_t&gt;&gt;&gt;26)|0,_t&amp;=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(T,H)|0,i=(i=i+Math.imul(T,G)|0)+Math.imul(S,H)|0,a=a+Math.imul(S,G)|0,n=n+Math.imul(M,W)|0,i=(i=i+Math.imul(M,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(p,rt)|0,i=(i=i+Math.imul(p,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&amp;(i=(i=i+Math.imul(f,ot)|0)+Math.imul(h,at)|0))&lt;&lt;13)|0;c=((a=a+Math.imul(h,ot)|0)+(i&gt;&gt;&gt;13)|0)+(wt&gt;&gt;&gt;26)|0,wt&amp;=67108863,n=Math.imul(D,U),i=(i=Math.imul(D,V))+Math.imul(I,U)|0,a=Math.imul(I,V),n=n+Math.imul(L,H)|0,i=(i=i+Math.imul(L,G)|0)+Math.imul(C,H)|0,a=a+Math.imul(C,G)|0,n=n+Math.imul(T,W)|0,i=(i=i+Math.imul(T,X)|0)+Math.imul(S,W)|0,a=a+Math.imul(S,X)|0,n=n+Math.imul(M,J)|0,i=(i=i+Math.imul(M,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(p,at)|0,i=(i=i+Math.imul(p,ot)|0)+Math.imul(m,at)|0,a=a+Math.imul(m,ot)|0;var Mt=(c+(n=n+Math.imul(f,lt)|0)|0)+((8191&amp;(i=(i=i+Math.imul(f,ct)|0)+Math.imul(h,lt)|0))&lt;&lt;13)|0;c=((a=a+Math.imul(h,ct)|0)+(i&gt;&gt;&gt;13)|0)+(Mt&gt;&gt;&gt;26)|0,Mt&amp;=67108863,n=Math.imul(O,U),i=(i=Math.imul(O,V))+Math.imul(F,U)|0,a=Math.imul(F,V),n=n+Math.imul(D,H)|0,i=(i=i+Math.imul(D,G)|0)+Math.imul(I,H)|0,a=a+Math.imul(I,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(T,J)|0,i=(i=i+Math.imul(T,K)|0)+Math.imul(S,J)|0,a=a+Math.imul(S,K)|0,n=n+Math.imul(M,$)|0,i=(i=i+Math.imul(M,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(p,lt)|0,i=(i=i+Math.imul(p,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&amp;(i=(i=i+Math.imul(f,ht)|0)+Math.imul(h,ft)|0))&lt;&lt;13)|0;c=((a=a+Math.imul(h,ht)|0)+(i&gt;&gt;&gt;13)|0)+(kt&gt;&gt;&gt;26)|0,kt&amp;=67108863,n=Math.imul(N,U),i=(i=Math.imul(N,V))+Math.imul(j,U)|0,a=Math.imul(j,V),n=n+Math.imul(O,H)|0,i=(i=i+Math.imul(O,G)|0)+Math.imul(F,H)|0,a=a+Math.imul(F,G)|0,n=n+Math.imul(D,W)|0,i=(i=i+Math.imul(D,X)|0)+Math.imul(I,W)|0,a=a+Math.imul(I,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(T,$)|0,i=(i=i+Math.imul(T,tt)|0)+Math.imul(S,$)|0,a=a+Math.imul(S,tt)|0,n=n+Math.imul(M,rt)|0,i=(i=i+Math.imul(M,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(p,ft)|0,i=(i=i+Math.imul(p,ht)|0)+Math.imul(m,ft)|0,a=a+Math.imul(m,ht)|0;var At=(c+(n=n+Math.imul(f,pt)|0)|0)+((8191&amp;(i=(i=i+Math.imul(f,mt)|0)+Math.imul(h,pt)|0))&lt;&lt;13)|0;c=((a=a+Math.imul(h,mt)|0)+(i&gt;&gt;&gt;13)|0)+(At&gt;&gt;&gt;26)|0,At&amp;=67108863,n=Math.imul(N,H),i=(i=Math.imul(N,G))+Math.imul(j,H)|0,a=Math.imul(j,G),n=n+Math.imul(O,W)|0,i=(i=i+Math.imul(O,X)|0)+Math.imul(F,W)|0,a=a+Math.imul(F,X)|0,n=n+Math.imul(D,J)|0,i=(i=i+Math.imul(D,K)|0)+Math.imul(I,J)|0,a=a+Math.imul(I,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(T,rt)|0,i=(i=i+Math.imul(T,nt)|0)+Math.imul(S,rt)|0,a=a+Math.imul(S,nt)|0,n=n+Math.imul(M,at)|0,i=(i=i+Math.imul(M,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 Tt=(c+(n=n+Math.imul(p,pt)|0)|0)+((8191&amp;(i=(i=i+Math.imul(p,mt)|0)+Math.imul(m,pt)|0))&lt;&lt;13)|0;c=((a=a+Math.imul(m,mt)|0)+(i&gt;&gt;&gt;13)|0)+(Tt&gt;&gt;&gt;26)|0,Tt&amp;=67108863,n=Math.imul(N,W),i=(i=Math.imul(N,X))+Math.imul(j,W)|0,a=Math.imul(j,X),n=n+Math.imul(O,J)|0,i=(i=i+Math.imul(O,K)|0)+Math.imul(F,J)|0,a=a+Math.imul(F,K)|0,n=n+Math.imul(D,$)|0,i=(i=i+Math.imul(D,tt)|0)+Math.imul(I,$)|0,a=a+Math.imul(I,tt)|0,n=n+Math.imul(L,rt)|0,i=(i=i+Math.imul(L,nt)|0)+Math.imul(C,rt)|0,a=a+Math.imul(C,nt)|0,n=n+Math.imul(T,at)|0,i=(i=i+Math.imul(T,ot)|0)+Math.imul(S,at)|0,a=a+Math.imul(S,ot)|0,n=n+Math.imul(M,lt)|0,i=(i=i+Math.imul(M,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,pt)|0)|0)+((8191&amp;(i=(i=i+Math.imul(v,mt)|0)+Math.imul(y,pt)|0))&lt;&lt;13)|0;c=((a=a+Math.imul(y,mt)|0)+(i&gt;&gt;&gt;13)|0)+(St&gt;&gt;&gt;26)|0,St&amp;=67108863,n=Math.imul(N,J),i=(i=Math.imul(N,K))+Math.imul(j,J)|0,a=Math.imul(j,K),n=n+Math.imul(O,$)|0,i=(i=i+Math.imul(O,tt)|0)+Math.imul(F,$)|0,a=a+Math.imul(F,tt)|0,n=n+Math.imul(D,rt)|0,i=(i=i+Math.imul(D,nt)|0)+Math.imul(I,rt)|0,a=a+Math.imul(I,nt)|0,n=n+Math.imul(L,at)|0,i=(i=i+Math.imul(L,ot)|0)+Math.imul(C,at)|0,a=a+Math.imul(C,ot)|0,n=n+Math.imul(T,lt)|0,i=(i=i+Math.imul(T,ct)|0)+Math.imul(S,lt)|0,a=a+Math.imul(S,ct)|0,n=n+Math.imul(M,ft)|0,i=(i=i+Math.imul(M,ht)|0)+Math.imul(k,ft)|0,a=a+Math.imul(k,ht)|0;var Et=(c+(n=n+Math.imul(b,pt)|0)|0)+((8191&amp;(i=(i=i+Math.imul(b,mt)|0)+Math.imul(_,pt)|0))&lt;&lt;13)|0;c=((a=a+Math.imul(_,mt)|0)+(i&gt;&gt;&gt;13)|0)+(Et&gt;&gt;&gt;26)|0,Et&amp;=67108863,n=Math.imul(N,$),i=(i=Math.imul(N,tt))+Math.imul(j,$)|0,a=Math.imul(j,tt),n=n+Math.imul(O,rt)|0,i=(i=i+Math.imul(O,nt)|0)+Math.imul(F,rt)|0,a=a+Math.imul(F,nt)|0,n=n+Math.imul(D,at)|0,i=(i=i+Math.imul(D,ot)|0)+Math.imul(I,at)|0,a=a+Math.imul(I,ot)|0,n=n+Math.imul(L,lt)|0,i=(i=i+Math.imul(L,ct)|0)+Math.imul(C,lt)|0,a=a+Math.imul(C,ct)|0,n=n+Math.imul(T,ft)|0,i=(i=i+Math.imul(T,ht)|0)+Math.imul(S,ft)|0,a=a+Math.imul(S,ht)|0;var Lt=(c+(n=n+Math.imul(M,pt)|0)|0)+((8191&amp;(i=(i=i+Math.imul(M,mt)|0)+Math.imul(k,pt)|0))&lt;&lt;13)|0;c=((a=a+Math.imul(k,mt)|0)+(i&gt;&gt;&gt;13)|0)+(Lt&gt;&gt;&gt;26)|0,Lt&amp;=67108863,n=Math.imul(N,rt),i=(i=Math.imul(N,nt))+Math.imul(j,rt)|0,a=Math.imul(j,nt),n=n+Math.imul(O,at)|0,i=(i=i+Math.imul(O,ot)|0)+Math.imul(F,at)|0,a=a+Math.imul(F,ot)|0,n=n+Math.imul(D,lt)|0,i=(i=i+Math.imul(D,ct)|0)+Math.imul(I,lt)|0,a=a+Math.imul(I,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(T,pt)|0)|0)+((8191&amp;(i=(i=i+Math.imul(T,mt)|0)+Math.imul(S,pt)|0))&lt;&lt;13)|0;c=((a=a+Math.imul(S,mt)|0)+(i&gt;&gt;&gt;13)|0)+(Ct&gt;&gt;&gt;26)|0,Ct&amp;=67108863,n=Math.imul(N,at),i=(i=Math.imul(N,ot))+Math.imul(j,at)|0,a=Math.imul(j,ot),n=n+Math.imul(O,lt)|0,i=(i=i+Math.imul(O,ct)|0)+Math.imul(F,lt)|0,a=a+Math.imul(F,ct)|0,n=n+Math.imul(D,ft)|0,i=(i=i+Math.imul(D,ht)|0)+Math.imul(I,ft)|0,a=a+Math.imul(I,ht)|0;var zt=(c+(n=n+Math.imul(L,pt)|0)|0)+((8191&amp;(i=(i=i+Math.imul(L,mt)|0)+Math.imul(C,pt)|0))&lt;&lt;13)|0;c=((a=a+Math.imul(C,mt)|0)+(i&gt;&gt;&gt;13)|0)+(zt&gt;&gt;&gt;26)|0,zt&amp;=67108863,n=Math.imul(N,lt),i=(i=Math.imul(N,ct))+Math.imul(j,lt)|0,a=Math.imul(j,ct),n=n+Math.imul(O,ft)|0,i=(i=i+Math.imul(O,ht)|0)+Math.imul(F,ft)|0,a=a+Math.imul(F,ht)|0;var Dt=(c+(n=n+Math.imul(D,pt)|0)|0)+((8191&amp;(i=(i=i+Math.imul(D,mt)|0)+Math.imul(I,pt)|0))&lt;&lt;13)|0;c=((a=a+Math.imul(I,mt)|0)+(i&gt;&gt;&gt;13)|0)+(Dt&gt;&gt;&gt;26)|0,Dt&amp;=67108863,n=Math.imul(N,ft),i=(i=Math.imul(N,ht))+Math.imul(j,ft)|0,a=Math.imul(j,ht);var It=(c+(n=n+Math.imul(O,pt)|0)|0)+((8191&amp;(i=(i=i+Math.imul(O,mt)|0)+Math.imul(F,pt)|0))&lt;&lt;13)|0;c=((a=a+Math.imul(F,mt)|0)+(i&gt;&gt;&gt;13)|0)+(It&gt;&gt;&gt;26)|0,It&amp;=67108863;var Pt=(c+(n=Math.imul(N,pt))|0)+((8191&amp;(i=(i=Math.imul(N,mt))+Math.imul(j,pt)|0))&lt;&lt;13)|0;return c=((a=Math.imul(j,mt))+(i&gt;&gt;&gt;13)|0)+(Pt&gt;&gt;&gt;26)|0,Pt&amp;=67108863,l[0]=gt,l[1]=vt,l[2]=yt,l[3]=xt,l[4]=bt,l[5]=_t,l[6]=wt,l[7]=Mt,l[8]=kt,l[9]=At,l[10]=Tt,l[11]=St,l[12]=Et,l[13]=Lt,l[14]=Ct,l[15]=zt,l[16]=Dt,l[17]=It,l[18]=Pt,0!==c&amp;&amp;(l[19]=c,r.length++),r};Math.imul||(w=l),a.prototype.mulTo=function(t,e){var r=this.length+t.length;return 10===this.length&amp;&amp;10===t.length?w(this,t,e):r&lt;63?l(this,t,e):r&lt;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&lt;r.length-1;a++){var o=i;i=0;for(var s=67108863&amp;n,l=Math.min(a,e.length-1),c=Math.max(0,a-t.length+1);c&lt;=l;c++){var u=a-c,f=(0|t.words[u])*(0|e.words[c]),h=67108863&amp;f;s=67108863&amp;(h=h+s|0),i+=(o=(o=o+(f/67108864|0)|0)+(h&gt;&gt;&gt;26)|0)&gt;&gt;&gt;26,o&amp;=67108863}r.words[a]=s,n=o,o=i}return 0!==n?r.words[a]=n:r.length--,r.strip()}(this,t,e):c(this,t,e)},u.prototype.makeRBT=function(t){for(var e=new Array(t),r=a.prototype._countBits(t)-1,n=0;n&lt;t;n++)e[n]=this.revBin(n,r,t);return e},u.prototype.revBin=function(t,e,r){if(0===t||t===r-1)return t;for(var n=0,i=0;i&lt;e;i++)n|=(1&amp;t)&lt;&lt;e-i-1,t&gt;&gt;=1;return n},u.prototype.permute=function(t,e,r,n,i,a){for(var o=0;o&lt;a;o++)n[o]=e[t[o]],i[o]=r[t[o]]},u.prototype.transform=function(t,e,r,n,i,a){this.permute(a,t,e,r,n,i);for(var o=1;o&lt;i;o&lt;&lt;=1)for(var s=o&lt;&lt;1,l=Math.cos(2*Math.PI/s),c=Math.sin(2*Math.PI/s),u=0;u&lt;i;u+=s)for(var f=l,h=c,d=0;d&lt;o;d++){var p=r[u+d],m=n[u+d],g=r[u+d+o],v=n[u+d+o],y=f*g-h*v;v=f*v+h*g,g=y,r[u+d]=p+g,n[u+d]=m+v,r[u+d+o]=p-g,n[u+d+o]=m-v,d!==s&amp;&amp;(y=l*f-c*h,h=l*h+c*f,f=y)}},u.prototype.guessLen13b=function(t,e){var r=1|Math.max(e,t),n=1&amp;r,i=0;for(r=r/2|0;r;r&gt;&gt;&gt;=1)i++;return 1&lt;&lt;i+1+n},u.prototype.conjugate=function(t,e,r){if(!(r&lt;=1))for(var n=0;n&lt;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}},u.prototype.normalize13b=function(t,e){for(var r=0,n=0;n&lt;e/2;n++){var i=8192*Math.round(t[2*n+1]/e)+Math.round(t[2*n]/e)+r;t[n]=67108863&amp;i,r=i&lt;67108864?0:i/67108864|0}return t},u.prototype.convert13b=function(t,e,r,i){for(var a=0,o=0;o&lt;e;o++)a+=0|t[o],r[2*o]=8191&amp;a,a&gt;&gt;&gt;=13,r[2*o+1]=8191&amp;a,a&gt;&gt;&gt;=13;for(o=2*e;o&lt;i;++o)r[o]=0;n(0===a),n(0==(-8192&amp;a))},u.prototype.stub=function(t){for(var e=new Array(t),r=0;r&lt;t;r++)e[r]=0;return e},u.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 d=0;d&lt;n;d++){var p=s[d]*u[d]-l[d]*f[d];l[d]=s[d]*f[d]+l[d]*u[d],s[d]=p}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),c(this,t,e)},a.prototype.imul=function(t){return this.clone().mulTo(t,this)},a.prototype.imuln=function(t){n(&quot;number&quot;==typeof t),n(t&lt;67108864);for(var e=0,r=0;r&lt;this.length;r++){var i=(0|this.words[r])*t,a=(67108863&amp;i)+(67108863&amp;e);e&gt;&gt;=26,e+=i/67108864|0,e+=a&gt;&gt;&gt;26,this.words[r]=67108863&amp;a}return 0!==e&amp;&amp;(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&lt;e.length;r++){var n=r/26|0,i=r%26;e[r]=(t.words[n]&amp;1&lt;&lt;i)&gt;&gt;&gt;i}return e}(t);if(0===e.length)return new a(1);for(var r=this,n=0;n&lt;e.length&amp;&amp;0===e[n];n++,r=r.sqr());if(++n&lt;e.length)for(var i=r.sqr();n&lt;e.length;n++,i=i.sqr())0!==e[n]&amp;&amp;(r=r.mul(i));return r},a.prototype.iushln=function(t){n(&quot;number&quot;==typeof t&amp;&amp;t&gt;=0);var e,r=t%26,i=(t-r)/26,a=67108863&gt;&gt;&gt;26-r&lt;&lt;26-r;if(0!==r){var o=0;for(e=0;e&lt;this.length;e++){var s=this.words[e]&amp;a,l=(0|this.words[e])-s&lt;&lt;r;this.words[e]=l|o,o=s&gt;&gt;&gt;26-r}o&amp;&amp;(this.words[e]=o,this.length++)}if(0!==i){for(e=this.length-1;e&gt;=0;e--)this.words[e+i]=this.words[e];for(e=0;e&lt;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){n(&quot;number&quot;==typeof t&amp;&amp;t&gt;=0);var i;i=e?(e-e%26)/26:0;var a=t%26,o=Math.min((t-a)/26,this.length),s=67108863^67108863&gt;&gt;&gt;a&lt;&lt;a,l=r;if(i-=o,i=Math.max(0,i),l){for(var c=0;c&lt;o;c++)l.words[c]=this.words[c];l.length=o}if(0===o);else if(this.length&gt;o)for(this.length-=o,c=0;c&lt;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&gt;=0&amp;&amp;(0!==u||c&gt;=i);c--){var f=0|this.words[c];this.words[c]=u&lt;&lt;26-a|f&gt;&gt;&gt;a,u=f&amp;s}return l&amp;&amp;0!==u&amp;&amp;(l.words[l.length++]=u),0===this.length&amp;&amp;(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(&quot;number&quot;==typeof t&amp;&amp;t&gt;=0);var e=t%26,r=(t-e)/26,i=1&lt;&lt;e;if(this.length&lt;=r)return!1;return!!(this.words[r]&amp;i)},a.prototype.imaskn=function(t){n(&quot;number&quot;==typeof t&amp;&amp;t&gt;=0);var e=t%26,r=(t-e)/26;if(n(0===this.negative,&quot;imaskn works only with positive numbers&quot;),this.length&lt;=r)return this;if(0!==e&amp;&amp;r++,this.length=Math.min(r,this.length),0!==e){var i=67108863^67108863&gt;&gt;&gt;e&lt;&lt;e;this.words[this.length-1]&amp;=i}return this.strip()},a.prototype.maskn=function(t){return this.clone().imaskn(t)},a.prototype.iaddn=function(t){return n(&quot;number&quot;==typeof t),n(t&lt;67108864),t&lt;0?this.isubn(-t):0!==this.negative?1===this.length&amp;&amp;(0|this.words[0])&lt;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&lt;this.length&amp;&amp;this.words[e]&gt;=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(&quot;number&quot;==typeof t),n(t&lt;67108864),t&lt;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&amp;&amp;this.words[0]&lt;0)this.words[0]=-this.words[0],this.negative=1;else for(var e=0;e&lt;this.length&amp;&amp;this.words[e]&lt;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=t.length+r;this._expand(a);var o,s=0;for(i=0;i&lt;t.length;i++){o=(0|this.words[i+r])+s;var l=(0|t.words[i])*e;s=((o-=67108863&amp;l)&gt;&gt;26)-(l/67108864|0),this.words[i+r]=67108863&amp;o}for(;i&lt;this.length-r;i++)s=(o=(0|this.words[i+r])+s)&gt;&gt;26,this.words[i+r]=67108863&amp;o;if(0===s)return this.strip();for(n(-1===s),s=0,i=0;i&lt;this.length;i++)s=(o=-(0|this.words[i])+s)&gt;&gt;26,this.words[i]=67108863&amp;o;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))&amp;&amp;(i=i.ushln(r),n.iushln(r),o=0|i.words[i.length-1]);var s,l=n.length-i.length;if(&quot;mod&quot;!==e){(s=new a(null)).length=l+1,s.words=new Array(s.length);for(var c=0;c&lt;s.length;c++)s.words[c]=0}var u=n.clone()._ishlnsubmul(i,1,l);0===u.negative&amp;&amp;(n=u,s&amp;&amp;(s.words[l]=1));for(var f=l-1;f&gt;=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&amp;&amp;(s.words[f]=h)}return s&amp;&amp;s.strip(),n.strip(),&quot;div&quot;!==e&amp;&amp;0!==r&amp;&amp;n.iushrn(r),{div:s||null,mod:n}},a.prototype.divmod=function(t,e,r){if(n(!t.isZero()),this.isZero())return{div:new a(0),mod:new a(0)};var i,o,s;return 0!==this.negative&amp;&amp;0===t.negative?(s=this.neg().divmod(t,e),&quot;mod&quot;!==e&amp;&amp;(i=s.div.neg()),&quot;div&quot;!==e&amp;&amp;(o=s.mod.neg(),r&amp;&amp;0!==o.negative&amp;&amp;o.iadd(t)),{div:i,mod:o}):0===this.negative&amp;&amp;0!==t.negative?(s=this.divmod(t.neg(),e),&quot;mod&quot;!==e&amp;&amp;(i=s.div.neg()),{div:i,mod:s.mod}):0!=(this.negative&amp;t.negative)?(s=this.neg().divmod(t.neg(),e),&quot;div&quot;!==e&amp;&amp;(o=s.mod.neg(),r&amp;&amp;0!==o.negative&amp;&amp;o.isub(t)),{div:s.div,mod:o}):t.length&gt;this.length||this.cmp(t)&lt;0?{div:new a(0),mod:this}:1===t.length?&quot;div&quot;===e?{div:this.divn(t.words[0]),mod:null}:&quot;mod&quot;===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)},a.prototype.div=function(t){return this.divmod(t,&quot;div&quot;,!1).div},a.prototype.mod=function(t){return this.divmod(t,&quot;mod&quot;,!1).mod},a.prototype.umod=function(t){return this.divmod(t,&quot;mod&quot;,!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&lt;0||1===i&amp;&amp;0===a?e.div:0!==e.div.negative?e.div.isubn(1):e.div.iaddn(1)},a.prototype.modn=function(t){n(t&lt;=67108863);for(var e=(1&lt;&lt;26)%t,r=0,i=this.length-1;i&gt;=0;i--)r=(e*r+(0|this.words[i]))%t;return r},a.prototype.idivn=function(t){n(t&lt;=67108863);for(var e=0,r=this.length-1;r&gt;=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()&amp;&amp;r.isEven();)e.iushrn(1),r.iushrn(1),++c;for(var u=r.clone(),f=e.clone();!e.isZero();){for(var h=0,d=1;0==(e.words[0]&amp;d)&amp;&amp;h&lt;26;++h,d&lt;&lt;=1);if(h&gt;0)for(e.iushrn(h);h-- &gt;0;)(i.isOdd()||o.isOdd())&amp;&amp;(i.iadd(u),o.isub(f)),i.iushrn(1),o.iushrn(1);for(var p=0,m=1;0==(r.words[0]&amp;m)&amp;&amp;p&lt;26;++p,m&lt;&lt;=1);if(p&gt;0)for(r.iushrn(p);p-- &gt;0;)(s.isOdd()||l.isOdd())&amp;&amp;(s.iadd(u),l.isub(f)),s.iushrn(1),l.iushrn(1);e.cmp(r)&gt;=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=new a(1),o=new a(0),s=r.clone();e.cmpn(1)&gt;0&amp;&amp;r.cmpn(1)&gt;0;){for(var l=0,c=1;0==(e.words[0]&amp;c)&amp;&amp;l&lt;26;++l,c&lt;&lt;=1);if(l&gt;0)for(e.iushrn(l);l-- &gt;0;)i.isOdd()&amp;&amp;i.iadd(s),i.iushrn(1);for(var u=0,f=1;0==(r.words[0]&amp;f)&amp;&amp;u&lt;26;++u,f&lt;&lt;=1);if(u&gt;0)for(r.iushrn(u);u-- &gt;0;)o.isOdd()&amp;&amp;o.iadd(s),o.iushrn(1);e.cmp(r)&gt;=0?(e.isub(r),i.isub(o)):(r.isub(e),o.isub(i))}var h;return(h=0===e.cmpn(1)?i:o).cmpn(0)&lt;0&amp;&amp;h.iadd(t),h},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()&amp;&amp;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&lt;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&amp;this.words[0])},a.prototype.isOdd=function(){return 1==(1&amp;this.words[0])},a.prototype.andln=function(t){return this.words[0]&amp;t},a.prototype.bincn=function(t){n(&quot;number&quot;==typeof t);var e=t%26,r=(t-e)/26,i=1&lt;&lt;e;if(this.length&lt;=r)return this._expand(r+1),this.words[r]|=i,this;for(var a=i,o=r;0!==a&amp;&amp;o&lt;this.length;o++){var s=0|this.words[o];a=(s+=a)&gt;&gt;&gt;26,s&amp;=67108863,this.words[o]=s}return 0!==a&amp;&amp;(this.words[o]=a,this.length++),this},a.prototype.isZero=function(){return 1===this.length&amp;&amp;0===this.words[0]},a.prototype.cmpn=function(t){var e=t&lt;0;if(0!==this.negative&amp;&amp;!e)return-1;if(0===this.negative&amp;&amp;e)return 1;this.strip();var r;if(this.length&gt;1)r=1;else{e&amp;&amp;(t=-t),n(t&lt;=67108863,&quot;Number is too big&quot;);var i=0|this.words[0];r=i===t?0:i&lt;t?-1:1}return 0!==this.negative?0|-r:r},a.prototype.cmp=function(t){if(0!==this.negative&amp;&amp;0===t.negative)return-1;if(0===this.negative&amp;&amp;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&gt;t.length)return 1;if(this.length&lt;t.length)return-1;for(var e=0,r=this.length-1;r&gt;=0;r--){var n=0|this.words[r],i=0|t.words[r];if(n!==i){n&lt;i?e=-1:n&gt;i&amp;&amp;(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)&gt;=0},a.prototype.gte=function(t){return this.cmp(t)&gt;=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)&lt;=0},a.prototype.lte=function(t){return this.cmp(t)&lt;=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 g(t)},a.prototype.toRed=function(t){return n(!this.red,&quot;Already a number in reduction context&quot;),n(0===this.negative,&quot;red works only with positives&quot;),t.convertTo(this)._forceRed(t)},a.prototype.fromRed=function(){return n(this.red,&quot;fromRed works only with numbers in reduction context&quot;),this.red.convertFrom(this)},a.prototype._forceRed=function(t){return this.red=t,this},a.prototype.forceRed=function(t){return n(!this.red,&quot;Already a number in reduction context&quot;),this._forceRed(t)},a.prototype.redAdd=function(t){return n(this.red,&quot;redAdd works only with red numbers&quot;),this.red.add(this,t)},a.prototype.redIAdd=function(t){return n(this.red,&quot;redIAdd works only with red numbers&quot;),this.red.iadd(this,t)},a.prototype.redSub=function(t){return n(this.red,&quot;redSub works only with red numbers&quot;),this.red.sub(this,t)},a.prototype.redISub=function(t){return n(this.red,&quot;redISub works only with red numbers&quot;),this.red.isub(this,t)},a.prototype.redShl=function(t){return n(this.red,&quot;redShl works only with red numbers&quot;),this.red.shl(this,t)},a.prototype.redMul=function(t){return n(this.red,&quot;redMul works only with red numbers&quot;),this.red._verify2(this,t),this.red.mul(this,t)},a.prototype.redIMul=function(t){return n(this.red,&quot;redMul works only with red numbers&quot;),this.red._verify2(this,t),this.red.imul(this,t)},a.prototype.redSqr=function(){return n(this.red,&quot;redSqr works only with red numbers&quot;),this.red._verify1(this),this.red.sqr(this)},a.prototype.redISqr=function(){return n(this.red,&quot;redISqr works only with red numbers&quot;),this.red._verify1(this),this.red.isqr(this)},a.prototype.redSqrt=function(){return n(this.red,&quot;redSqrt works only with red numbers&quot;),this.red._verify1(this),this.red.sqrt(this)},a.prototype.redInvm=function(){return n(this.red,&quot;redInvm works only with red numbers&quot;),this.red._verify1(this),this.red.invm(this)},a.prototype.redNeg=function(){return n(this.red,&quot;redNeg works only with red numbers&quot;),this.red._verify1(this),this.red.neg(this)},a.prototype.redPow=function(t){return n(this.red&amp;&amp;!t.red,&quot;redPow(normalNum)&quot;),this.red._verify1(this),this.red.pow(this,t)};var M={k256:null,p224:null,p192:null,p25519:null};f.prototype._tmp=function(){var t=new a(null);return t.words=new Array(Math.ceil(this.n/13)),t},f.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&gt;this.n);var n=e&lt;this.n?-1:r.ucmp(this.p);return 0===n?(r.words[0]=0,r.length=1):n&gt;0?r.isub(this.p):r.strip(),r},f.prototype.split=function(t,e){t.iushrn(this.n,0,e)},f.prototype.imulK=function(t){return t.imul(this.k)},i(h,f),h.prototype.split=function(t,e){for(var r=Math.min(t.length,9),n=0;n&lt;r;n++)e.words[n]=t.words[n];if(e.length=r,t.length&lt;=9)return t.words[0]=0,void(t.length=1);var i=t.words[9];for(e.words[e.length++]=4194303&amp;i,n=10;n&lt;t.length;n++){var a=0|t.words[n];t.words[n-10]=(4194303&amp;a)&lt;&lt;4|i&gt;&gt;&gt;22,i=a}i&gt;&gt;&gt;=22,t.words[n-10]=i,0===i&amp;&amp;t.length&gt;10?t.length-=10:t.length-=9},h.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&lt;t.length;r++){var n=0|t.words[r];e+=977*n,t.words[r]=67108863&amp;e,e=64*n+(e/67108864|0)}return 0===t.words[t.length-1]&amp;&amp;(t.length--,0===t.words[t.length-1]&amp;&amp;t.length--),t},i(d,f),i(p,f),i(m,f),m.prototype.imulK=function(t){for(var e=0,r=0;r&lt;t.length;r++){var n=19*(0|t.words[r])+e,i=67108863&amp;n;n&gt;&gt;&gt;=26,t.words[r]=i,e=n}return 0!==e&amp;&amp;(t.words[t.length++]=e),t},a._prime=function(t){if(M[t])return M[t];var e;if(&quot;k256&quot;===t)e=new h;else if(&quot;p224&quot;===t)e=new d;else if(&quot;p192&quot;===t)e=new p;else{if(&quot;p25519&quot;!==t)throw new Error(&quot;Unknown prime &quot;+t);e=new m}return M[t]=e,e},g.prototype._verify1=function(t){n(0===t.negative,&quot;red works only with positives&quot;),n(t.red,&quot;red works only with red numbers&quot;)},g.prototype._verify2=function(t,e){n(0==(t.negative|e.negative),&quot;red works only with positives&quot;),n(t.red&amp;&amp;t.red===e.red,&quot;red works only with red numbers&quot;)},g.prototype.imod=function(t){return this.prime?this.prime.ireduce(t)._forceRed(this):t.umod(this.m)._forceRed(this)},g.prototype.neg=function(t){return t.isZero()?t.clone():this.m.sub(t)._forceRed(this)},g.prototype.add=function(t,e){this._verify2(t,e);var r=t.add(e);return r.cmp(this.m)&gt;=0&amp;&amp;r.isub(this.m),r._forceRed(this)},g.prototype.iadd=function(t,e){this._verify2(t,e);var r=t.iadd(e);return r.cmp(this.m)&gt;=0&amp;&amp;r.isub(this.m),r},g.prototype.sub=function(t,e){this._verify2(t,e);var r=t.sub(e);return r.cmpn(0)&lt;0&amp;&amp;r.iadd(this.m),r._forceRed(this)},g.prototype.isub=function(t,e){this._verify2(t,e);var r=t.isub(e);return r.cmpn(0)&lt;0&amp;&amp;r.iadd(this.m),r},g.prototype.shl=function(t,e){return this._verify1(t),this.imod(t.ushln(e))},g.prototype.imul=function(t,e){return this._verify2(t,e),this.imod(t.imul(e))},g.prototype.mul=function(t,e){return this._verify2(t,e),this.imod(t.mul(e))},g.prototype.isqr=function(t){return this.imul(t,t.clone())},g.prototype.sqr=function(t){return this.mul(t,t)},g.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()&amp;&amp;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)),d=this.pow(t,i),p=o;0!==d.cmp(s);){for(var m=d,g=0;0!==m.cmp(s);g++)m=m.redSqr();n(g&lt;p);var v=this.pow(f,new a(1).iushln(p-g-1));h=h.redMul(v),f=v.redSqr(),d=d.redMul(f),p=g}return h},g.prototype.invm=function(t){var e=t._invmp(this.m);return 0!==e.negative?(e.negative=0,this.imod(e).redNeg()):this.imod(e)},g.prototype.pow=function(t,e){if(e.isZero())return new a(1);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&lt;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&amp;&amp;(l=26),n=e.length-1;n&gt;=0;n--){for(var c=e.words[n],u=l-1;u&gt;=0;u--){var f=c&gt;&gt;u&amp;1;i!==r[0]&amp;&amp;(i=this.sqr(i)),0!==f||0!==o?(o&lt;&lt;=1,o|=f,(4===++s||0===n&amp;&amp;0===u)&amp;&amp;(i=this.mul(i,r[o]),s=0,o=0)):s=0}l=26}return i},g.prototype.convertTo=function(t){var e=t.umod(this.m);return e===t?e.clone():e},g.prototype.convertFrom=function(t){var e=t.clone();return e.red=null,e},a.mont=function(t){return new v(t)},i(v,g),v.prototype.convertTo=function(t){return this.imod(t.ushln(this.shift))},v.prototype.convertFrom=function(t){var e=this.imod(t.mul(this.rinv));return e.red=null,e},v.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)&gt;=0?a=i.isub(this.m):i.cmpn(0)&lt;0&amp;&amp;(a=i.iadd(this.m)),a._forceRed(this)},v.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)&gt;=0?o=i.isub(this.m):i.cmpn(0)&lt;0&amp;&amp;(o=i.iadd(this.m)),o._forceRed(this)},v.prototype.invm=function(t){return this.imod(t._invmp(this.m).mul(this.r2))._forceRed(this)}}(void 0===e||e,this)},{}],74:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t){var e,r,n,i=t.length,a=0;for(e=0;e&lt;i;++e)a+=t[e].length;var o=new Array(a),s=0;for(e=0;e&lt;i;++e){var l=t[e],c=l.length;for(r=0;r&lt;c;++r){var u=o[s++]=new Array(c-1),f=0;for(n=0;n&lt;c;++n)n!==r&amp;&amp;(u[f++]=l[n]);if(1&amp;r){var h=u[1];u[1]=u[0],u[0]=h}}}return o}},{}],75:[function(t,e,r){&quot;use strict&quot;;function n(t,e){for(var r=0;r&lt;t;++r)if(!(e[r]&lt;=e[r+t]))return!0;return!1}function i(t,e,r,i){for(var a=0,o=0,s=0,l=t.length;s&lt;l;++s){var c=t[s];if(!n(e,c)){for(var u=0;u&lt;2*e;++u)r[a++]=c[u];i[o++]=s}}return o}function a(t,e,r,n){var a=t.length,o=e.length;if(!(a&lt;=0||o&lt;=0)){var s=t[0].length&gt;&gt;&gt;1;if(!(s&lt;=0)){var f,h=l.mallocDouble(2*s*a),d=l.mallocInt32(a);if((a=i(t,s,h,d))&gt;0){if(1===s&amp;&amp;n)c.init(a),f=c.sweepComplete(s,r,0,a,h,d,0,a,h,d);else{var p=l.mallocDouble(2*s*o),m=l.mallocInt32(o);(o=i(e,s,p,m))&gt;0&amp;&amp;(c.init(a+o),f=1===s?c.sweepBipartite(s,r,0,a,h,d,0,o,p,m):u(s,r,n,a,h,d,o,p,m),l.free(p),l.free(m))}l.free(h),l.free(d)}return f}}}function o(t,e){s.push([t,e])}e.exports=function(t,e,r){switch(arguments.length){case 1:return function(t){return s=[],a(t,t,o,!0),s}(t);case 2:return&quot;function&quot;==typeof e?a(t,t,e,!0):function(t,e){return s=[],a(t,e,o,!1),s}(t,e);case 3:return a(t,e,r,!1);default:throw new Error(&quot;box-intersect: Invalid arguments&quot;)}};var s,l=t(&quot;typedarray-pool&quot;),c=t(&quot;./lib/sweep&quot;),u=t(&quot;./lib/intersect&quot;)},{&quot;./lib/intersect&quot;:77,&quot;./lib/sweep&quot;:81,&quot;typedarray-pool&quot;:554}],76:[function(t,e,r){&quot;use strict&quot;;function n(t){function e(e,r){var s=function(t,e,r){var n=&quot;bruteForce&quot;+(t?&quot;Red&quot;:&quot;Blue&quot;)+(e?&quot;Flip&quot;:&quot;&quot;)+(r?&quot;Full&quot;:&quot;&quot;),s=[&quot;function &quot;,n,&quot;(&quot;,_.join(),&quot;){&quot;,&quot;var &quot;,l,&quot;=2*&quot;,i,&quot;;&quot;],w=&quot;for(var i=&quot;+c+&quot;,&quot;+d+&quot;=&quot;+l+&quot;*&quot;+c+&quot;;i&lt;&quot;+u+&quot;;++i,&quot;+d+&quot;+=&quot;+l+&quot;){var x0=&quot;+f+&quot;[&quot;+a+&quot;+&quot;+d+&quot;],x1=&quot;+f+&quot;[&quot;+a+&quot;+&quot;+d+&quot;+&quot;+i+&quot;],xi=&quot;+h+&quot;[i];&quot;,M=&quot;for(var j=&quot;+p+&quot;,&quot;+y+&quot;=&quot;+l+&quot;*&quot;+p+&quot;;j&lt;&quot;+m+&quot;;++j,&quot;+y+&quot;+=&quot;+l+&quot;){var y0=&quot;+g+&quot;[&quot;+a+&quot;+&quot;+y+&quot;],&quot;+(r?&quot;y1=&quot;+g+&quot;[&quot;+a+&quot;+&quot;+y+&quot;+&quot;+i+&quot;],&quot;:&quot;&quot;)+&quot;yi=&quot;+v+&quot;[j];&quot;;return t?s.push(w,b,&quot;:&quot;,M):s.push(M,b,&quot;:&quot;,w),r?s.push(&quot;if(y1&lt;x0||x1&lt;y0)continue;&quot;):e?s.push(&quot;if(y0&lt;=x0||x1&lt;y0)continue;&quot;):s.push(&quot;if(y0&lt;x0||x1&lt;y0)continue;&quot;),s.push(&quot;for(var k=&quot;+a+&quot;+1;k&lt;&quot;+i+&quot;;++k){var r0=&quot;+f+&quot;[k+&quot;+d+&quot;],r1=&quot;+f+&quot;[k+&quot;+i+&quot;+&quot;+d+&quot;],b0=&quot;+g+&quot;[k+&quot;+y+&quot;],b1=&quot;+g+&quot;[k+&quot;+i+&quot;+&quot;+y+&quot;];if(r1&lt;b0||b1&lt;r0)continue &quot;+b+&quot;;}var &quot;+x+&quot;=&quot;+o+&quot;(&quot;),e?s.push(&quot;yi,xi&quot;):s.push(&quot;xi,yi&quot;),s.push(&quot;);if(&quot;+x+&quot;!==void 0)return &quot;+x+&quot;;}}}&quot;),{name:n,code:s.join(&quot;&quot;)}}(e,r,t);n.push(s.code),M.push(&quot;return &quot;+s.name+&quot;(&quot;+_.join()+&quot;);&quot;)}var r=&quot;bruteForce&quot;+(t?&quot;Full&quot;:&quot;Partial&quot;),n=[],w=_.slice();t||w.splice(3,0,s);var M=[&quot;function &quot;+r+&quot;(&quot;+w.join()+&quot;){&quot;];M.push(&quot;if(&quot;+u+&quot;-&quot;+c+&quot;&gt;&quot;+m+&quot;-&quot;+p+&quot;){&quot;),t?(e(!0,!1),M.push(&quot;}else{&quot;),e(!1,!1)):(M.push(&quot;if(&quot;+s+&quot;){&quot;),e(!0,!0),M.push(&quot;}else{&quot;),e(!0,!1),M.push(&quot;}}else{if(&quot;+s+&quot;){&quot;),e(!1,!0),M.push(&quot;}else{&quot;),e(!1,!1),M.push(&quot;}&quot;)),M.push(&quot;}}return &quot;+r);var k=n.join(&quot;&quot;)+M.join(&quot;&quot;);return new Function(k)()}var i=&quot;d&quot;,a=&quot;ax&quot;,o=&quot;vv&quot;,s=&quot;fp&quot;,l=&quot;es&quot;,c=&quot;rs&quot;,u=&quot;re&quot;,f=&quot;rb&quot;,h=&quot;ri&quot;,d=&quot;rp&quot;,p=&quot;bs&quot;,m=&quot;be&quot;,g=&quot;bb&quot;,v=&quot;bi&quot;,y=&quot;bp&quot;,x=&quot;rv&quot;,b=&quot;Q&quot;,_=[i,a,o,c,u,f,h,p,m,g,v];r.partial=n(!1),r.full=n(!0)},{}],77:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,n,i,a,o,s,l){var c=M*t;A[c]=e,A[c+1]=r,A[c+2]=n,A[c+3]=i,A[c+4]=a,A[c+5]=o;var u=k*t;T[u]=s,T[u+1]=l}function i(t,e,r,n,i,a,o,s,l,c,u){var f=2*t,h=l*f,d=c[h+e];t:for(var p=i,m=i*f;p&lt;a;++p,m+=f){var g=o[m+e],v=o[m+e+t];if(!(d&lt;g||v&lt;d)&amp;&amp;(!n||d!==g)){for(var y=s[p],x=e+1;x&lt;t;++x){g=o[m+x],v=o[m+x+t];var b=c[h+x],_=c[h+x+t];if(v&lt;b||_&lt;g)continue t}var w;if(void 0!==(w=n?r(u,y):r(y,u)))return w}}}function a(t,e,r,n,i,a,o,s,l,c){var u=2*t,f=s*u,h=l[f+e];t:for(var d=n,p=n*u;d&lt;i;++d,p+=u){var m=o[d];if(m!==c){var g=a[p+e],v=a[p+e+t];if(!(h&lt;g||v&lt;h)){for(var y=e+1;y&lt;t;++y){g=a[p+y],v=a[p+y+t];var x=l[f+y],b=l[f+y+t];if(v&lt;x||b&lt;g)continue t}var _=r(m,c);if(void 0!==_)return _}}}}e.exports=function(t,e,r,l,d,S,E,L,C){!function(t,e){var r=8*s.log2(e+1)*(t+1)|0,n=s.nextPow2(M*r);A.length&lt;n&amp;&amp;(o.free(A),A=o.mallocInt32(n));var i=s.nextPow2(k*r);T&lt;i&amp;&amp;(o.free(T),T=o.mallocDouble(i))}(t,l+E);var z,D=0,I=2*t;for(n(D++,0,0,l,0,E,r?16:0,-1/0,1/0),r||n(D++,0,0,E,0,l,1,-1/0,1/0);D&gt;0;){var P=(D-=1)*M,O=A[P],F=A[P+1],R=A[P+2],N=A[P+3],j=A[P+4],B=A[P+5],U=D*k,V=T[U],q=T[U+1],H=1&amp;B,G=!!(16&amp;B),Y=d,W=S,X=L,Z=C;if(H&amp;&amp;(Y=L,W=C,X=d,Z=S),!(2&amp;B&amp;&amp;(R=x(t,O,F,R,Y,W,q),F&gt;=R)||4&amp;B&amp;&amp;(F=b(t,O,F,R,Y,W,V))&gt;=R)){var J=R-F,K=j-N;if(G){if(t*J*(J+K)&lt;g){if(void 0!==(z=f.scanComplete(t,O,e,F,R,Y,W,N,j,X,Z)))return z;continue}}else{if(t*Math.min(J,K)&lt;p){if(void 0!==(z=c(t,O,e,H,F,R,Y,W,N,j,X,Z)))return z;continue}if(t*J*K&lt;m){if(void 0!==(z=f.scanBipartite(t,O,e,H,F,R,Y,W,N,j,X,Z)))return z;continue}}var Q=v(t,O,F,R,Y,W,V,q);if(F&lt;Q)if(t*(Q-F)&lt;p){if(void 0!==(z=u(t,O+1,e,F,Q,Y,W,N,j,X,Z)))return z}else if(O===t-2){if(void 0!==(z=H?f.sweepBipartite(t,e,N,j,X,Z,F,Q,Y,W):f.sweepBipartite(t,e,F,Q,Y,W,N,j,X,Z)))return z}else n(D++,O+1,F,Q,N,j,H,-1/0,1/0),n(D++,O+1,N,j,F,Q,1^H,-1/0,1/0);if(Q&lt;R){var $=h(t,O,N,j,X,Z),tt=X[I*$+O],et=y(t,O,$,j,X,Z,tt);if(et&lt;j&amp;&amp;n(D++,O,Q,R,et,j,(4|H)+(G?16:0),tt,q),N&lt;$&amp;&amp;n(D++,O,Q,R,N,$,(2|H)+(G?16:0),V,tt),$+1===et){if(void 0!==(z=G?a(t,O,e,Q,R,Y,W,$,X,Z[$]):i(t,O,e,H,Q,R,Y,W,$,X,Z[$])))return z}else if($&lt;et){var rt;if(G){if(rt=_(t,O,Q,R,Y,W,tt),Q&lt;rt){var nt=y(t,O,Q,rt,Y,W,tt);if(O===t-2){if(Q&lt;nt&amp;&amp;void 0!==(z=f.sweepComplete(t,e,Q,nt,Y,W,$,et,X,Z)))return z;if(nt&lt;rt&amp;&amp;void 0!==(z=f.sweepBipartite(t,e,nt,rt,Y,W,$,et,X,Z)))return z}else Q&lt;nt&amp;&amp;n(D++,O+1,Q,nt,$,et,16,-1/0,1/0),nt&lt;rt&amp;&amp;(n(D++,O+1,nt,rt,$,et,0,-1/0,1/0),n(D++,O+1,$,et,nt,rt,1,-1/0,1/0))}}else Q&lt;(rt=H?w(t,O,Q,R,Y,W,tt):_(t,O,Q,R,Y,W,tt))&amp;&amp;(O===t-2?z=H?f.sweepBipartite(t,e,$,et,X,Z,Q,rt,Y,W):f.sweepBipartite(t,e,Q,rt,Y,W,$,et,X,Z):(n(D++,O+1,Q,rt,$,et,H,-1/0,1/0),n(D++,O+1,$,et,Q,rt,1^H,-1/0,1/0)))}}}}};var o=t(&quot;typedarray-pool&quot;),s=t(&quot;bit-twiddle&quot;),l=t(&quot;./brute&quot;),c=l.partial,u=l.full,f=t(&quot;./sweep&quot;),h=t(&quot;./median&quot;),d=t(&quot;./partition&quot;),p=128,m=1&lt;&lt;22,g=1&lt;&lt;22,v=d(&quot;!(lo&gt;=p0)&amp;&amp;!(p1&gt;=hi)&quot;,[&quot;p0&quot;,&quot;p1&quot;]),y=d(&quot;lo===p0&quot;,[&quot;p0&quot;]),x=d(&quot;lo&lt;p0&quot;,[&quot;p0&quot;]),b=d(&quot;hi&lt;=p0&quot;,[&quot;p0&quot;]),_=d(&quot;lo&lt;=p0&amp;&amp;p0&lt;=hi&quot;,[&quot;p0&quot;]),w=d(&quot;lo&lt;p0&amp;&amp;p0&lt;=hi&quot;,[&quot;p0&quot;]),M=6,k=2,A=o.mallocInt32(1024),T=o.mallocDouble(1024)},{&quot;./brute&quot;:76,&quot;./median&quot;:78,&quot;./partition&quot;:79,&quot;./sweep&quot;:81,&quot;bit-twiddle&quot;:71,&quot;typedarray-pool&quot;:554}],78:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,n,i,a){for(var o=2*t,s=o*(r+1)+e,l=r+1;l&lt;n;++l,s+=o)for(var c=i[s],u=l,f=o*(l-1);u&gt;r&amp;&amp;i[f+e]&gt;c;--u,f-=o){for(var h=f,d=f+o,p=0;p&lt;o;++p,++h,++d){var m=i[h];i[h]=i[d],i[d]=m}var g=a[u];a[u]=a[u-1],a[u-1]=g}}e.exports=function(t,e,r,o,s,l){if(o&lt;=r+1)return r;for(var c=r,u=o,f=o+r&gt;&gt;&gt;1,h=2*t,d=f,p=s[h*f+e];c&lt;u;){if(u-c&lt;a){n(t,e,c,u,s,l),p=s[h*f+e];break}var m=u-c,g=Math.random()*m+c|0,v=s[h*g+e],y=Math.random()*m+c|0,x=s[h*y+e],b=Math.random()*m+c|0,_=s[h*b+e];v&lt;=x?_&gt;=x?(d=y,p=x):v&gt;=_?(d=g,p=v):(d=b,p=_):x&gt;=_?(d=y,p=x):_&gt;=v?(d=g,p=v):(d=b,p=_);for(var w=h*(u-1),M=h*d,k=0;k&lt;h;++k,++w,++M){var A=s[w];s[w]=s[M],s[M]=A}var T=l[u-1];for(l[u-1]=l[d],l[d]=T,w=h*(u-1),M=h*(d=i(t,e,c,u-1,s,l,p)),k=0;k&lt;h;++k,++w,++M)A=s[w],s[w]=s[M],s[M]=A;if(T=l[u-1],l[u-1]=l[d],l[d]=T,f&lt;d){for(u=d-1;c&lt;u&amp;&amp;s[h*(u-1)+e]===p;)u-=1;u+=1}else{if(!(d&lt;f))break;for(c=d+1;c&lt;u&amp;&amp;s[h*c+e]===p;)c+=1}}return i(t,e,r,f,s,l,s[h*f+e])};var i=t(&quot;./partition&quot;)(&quot;lo&lt;p0&quot;,[&quot;p0&quot;]),a=8},{&quot;./partition&quot;:79}],79:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t,e){var r=&quot;abcdef&quot;.split(&quot;&quot;).concat(e),i=[];return t.indexOf(&quot;lo&quot;)&gt;=0&amp;&amp;i.push(&quot;lo=e[k+n]&quot;),t.indexOf(&quot;hi&quot;)&gt;=0&amp;&amp;i.push(&quot;hi=e[k+o]&quot;),r.push(n.replace(&quot;_&quot;,i.join()).replace(&quot;$&quot;,t)),Function.apply(void 0,r)};var n=&quot;for(var j=2*a,k=j*c,l=k,m=c,n=b,o=a+b,p=c;d&gt;p;++p,k+=j){var _;if($)if(m===p)m+=1,l+=j;else{for(var s=0;j&gt;s;++s){var t=e[k+s];e[k+s]=e[l],e[l++]=t}var u=f[p];f[p]=f[m],f[m++]=u}}return m&quot;},{}],80:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r){for(var n=2*(t+1),i=t+1;i&lt;=e;++i){for(var a=r[n++],o=r[n++],s=i,l=n-2;s-- &gt;t;){var c=r[l-2],u=r[l-1];if(c&lt;a)break;if(c===a&amp;&amp;u&lt;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&lt;i)&amp;&amp;(n!==i||r[t+1]&gt;r[e+1])}function c(t,e,r,n){var i=n[t*=2];return i&lt;e||i===e&amp;&amp;n[t+1]&lt;r}function u(t,e,r){var h=(e-t+1)/6|0,d=t+h,p=e-h,m=t+e&gt;&gt;1,g=m-h,v=m+h,y=d,x=g,b=m,_=v,w=p,M=t+1,k=e-1,A=0;l(y,x,r)&amp;&amp;(A=y,y=x,x=A),l(_,w,r)&amp;&amp;(A=_,_=w,w=A),l(y,b,r)&amp;&amp;(A=y,y=b,b=A),l(x,b,r)&amp;&amp;(A=x,x=b,b=A),l(y,_,r)&amp;&amp;(A=y,y=_,_=A),l(b,_,r)&amp;&amp;(A=b,b=_,_=A),l(x,w,r)&amp;&amp;(A=x,x=w,w=A),l(x,b,r)&amp;&amp;(A=x,x=b,b=A),l(_,w,r)&amp;&amp;(A=_,_=w,w=A);for(var T=r[2*x],S=r[2*x+1],E=r[2*_],L=r[2*_+1],C=2*y,z=2*b,D=2*w,I=2*d,P=2*m,O=2*p,F=0;F&lt;2;++F){var R=r[C+F],N=r[z+F],j=r[D+F];r[I+F]=R,r[P+F]=N,r[O+F]=j}a(g,t,r),a(v,e,r);for(var B=M;B&lt;=k;++B)if(c(B,T,S,r))B!==M&amp;&amp;i(B,M,r),++M;else if(!c(B,E,L,r))for(;;){if(c(k,E,L,r)){c(k,T,S,r)?(o(B,M,k,r),++M,--k):(i(B,k,r),--k);break}if(--k&lt;B)break}s(t,M-1,T,S,r),s(e,k+1,E,L,r),M-2-t&lt;=f?n(t,M-2,r):u(t,M-2,r),e-(k+2)&lt;=f?n(k+2,e,r):u(k+2,e,r),k-M&lt;=f?n(M,k,r):u(M,k,r)}e.exports=function(t,e){e&lt;=4*f?n(0,e-1,t):u(0,e-1,t)};var f=32},{}],81:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,n){var i=e[n],a=t[r-1];t[i]=a,e[a]=i}function i(t,e,r,n){t[r]=n,e[n]=r}e.exports={init:function(t){var e=o.nextPow2(t);c.length&lt;e&amp;&amp;(a.free(c),c=a.mallocInt32(e)),u.length&lt;e&amp;&amp;(a.free(u),u=a.mallocInt32(e)),f.length&lt;e&amp;&amp;(a.free(f),f=a.mallocInt32(e)),h.length&lt;e&amp;&amp;(a.free(h),h=a.mallocInt32(e)),d.length&lt;e&amp;&amp;(a.free(d),d=a.mallocInt32(e)),p.length&lt;e&amp;&amp;(a.free(p),p=a.mallocInt32(e));var r=8*e;m.length&lt;r&amp;&amp;(a.free(m),m=a.mallocDouble(r))},sweepBipartite:function(t,e,r,a,o,d,p,g,v,y){for(var x=0,b=2*t,_=t-1,w=b-1,M=r;M&lt;a;++M){var k=d[M],A=b*M;m[x++]=o[A+_],m[x++]=-(k+1),m[x++]=o[A+w],m[x++]=k}for(M=p;M&lt;g;++M){k=y[M]+l;var T=b*M;m[x++]=v[T+_],m[x++]=-k,m[x++]=v[T+w],m[x++]=k}var S=x&gt;&gt;&gt;1;s(m,S);var E=0,L=0;for(M=0;M&lt;S;++M){var C=0|m[2*M+1];if(C&gt;=l)n(f,h,L--,C=C-l|0);else if(C&gt;=0)n(c,u,E--,C);else if(C&lt;=-l){C=-C-l|0;for(var z=0;z&lt;E;++z)if(void 0!==(D=e(c[z],C)))return D;i(f,h,L++,C)}else{for(C=-C-1|0,z=0;z&lt;L;++z){var D;if(void 0!==(D=e(C,f[z])))return D}i(c,u,E++,C)}}},sweepComplete:function(t,e,r,a,o,l,g,v,y,x){for(var b=0,_=2*t,w=t-1,M=_-1,k=r;k&lt;a;++k){var A=l[k]+1&lt;&lt;1,T=_*k;m[b++]=o[T+w],m[b++]=-A,m[b++]=o[T+M],m[b++]=A}for(k=g;k&lt;v;++k){A=x[k]+1&lt;&lt;1;var S=_*k;m[b++]=y[S+w],m[b++]=1|-A,m[b++]=y[S+M],m[b++]=1|A}var E=b&gt;&gt;&gt;1;s(m,E);var L=0,C=0,z=0;for(k=0;k&lt;E;++k){var D=0|m[2*k+1],I=1&amp;D;if(k&lt;E-1&amp;&amp;D&gt;&gt;1==m[2*k+3]&gt;&gt;1&amp;&amp;(I=2,k+=1),D&lt;0){for(var P=-(D&gt;&gt;1)-1,O=0;O&lt;z;++O)if(void 0!==(F=e(d[O],P)))return F;if(0!==I)for(O=0;O&lt;L;++O)if(void 0!==(F=e(c[O],P)))return F;if(1!==I)for(O=0;O&lt;C;++O){var F;if(void 0!==(F=e(f[O],P)))return F}0===I?i(c,u,L++,P):1===I?i(f,h,C++,P):2===I&amp;&amp;i(d,p,z++,P)}else P=(D&gt;&gt;1)-1,0===I?n(c,u,L--,P):1===I?n(f,h,C--,P):2===I&amp;&amp;n(d,p,z--,P)}},scanBipartite:function(t,e,r,a,o,f,h,d,p,g,v,y){var x=0,b=2*t,_=e,w=e+t,M=1,k=1;a?k=l:M=l;for(var A=o;A&lt;f;++A){var T=A+M,S=b*A;m[x++]=h[S+_],m[x++]=-T,m[x++]=h[S+w],m[x++]=T}for(A=p;A&lt;g;++A){T=A+k;var E=b*A;m[x++]=v[E+_],m[x++]=-T}var L=x&gt;&gt;&gt;1;s(m,L);var C=0;for(A=0;A&lt;L;++A){var z=0|m[2*A+1];if(z&lt;0){var D=!1;if((T=-z)&gt;=l?(D=!a,T-=l):(D=!!a,T-=1),D)i(c,u,C++,T);else{var I=y[T],P=b*T,O=v[P+e+1],F=v[P+e+1+t];t:for(var R=0;R&lt;C;++R){var N=c[R],j=b*N;if(!(F&lt;h[j+e+1]||h[j+e+1+t]&lt;O)){for(var B=e+2;B&lt;t;++B)if(v[P+B+t]&lt;h[j+B]||h[j+B+t]&lt;v[P+B])continue t;var U,V=d[N];if(void 0!==(U=a?r(I,V):r(V,I)))return U}}}}else n(c,u,C--,z-M)}},scanComplete:function(t,e,r,n,i,a,o,u,f,h,d){for(var p=0,g=2*t,v=e,y=e+t,x=n;x&lt;i;++x){var b=x+l,_=g*x;m[p++]=a[_+v],m[p++]=-b,m[p++]=a[_+y],m[p++]=b}for(x=u;x&lt;f;++x){b=x+1;var w=g*x;m[p++]=h[w+v],m[p++]=-b}var M=p&gt;&gt;&gt;1;s(m,M);var k=0;for(x=0;x&lt;M;++x){var A=0|m[2*x+1];if(A&lt;0)if((b=-A)&gt;=l)c[k++]=b-l;else{var T=d[b-=1],S=g*b,E=h[S+e+1],L=h[S+e+1+t];t:for(var C=0;C&lt;k;++C){var z=c[C],D=o[z];if(D===T)break;var I=g*z;if(!(L&lt;a[I+e+1]||a[I+e+1+t]&lt;E)){for(var P=e+2;P&lt;t;++P)if(h[S+P+t]&lt;a[I+P]||a[I+P+t]&lt;h[S+P])continue t;var O=r(D,T);if(void 0!==O)return O}}}else{for(b=A-l,C=k-1;C&gt;=0;--C)if(c[C]===b){for(P=C+1;P&lt;k;++P)c[P-1]=c[P];break}--k}}}};var a=t(&quot;typedarray-pool&quot;),o=t(&quot;bit-twiddle&quot;),s=t(&quot;./sort&quot;),l=1&lt;&lt;28,c=a.mallocInt32(1024),u=a.mallocInt32(1024),f=a.mallocInt32(1024),h=a.mallocInt32(1024),d=a.mallocInt32(1024),p=a.mallocInt32(1024),m=a.mallocDouble(8192)},{&quot;./sort&quot;:80,&quot;bit-twiddle&quot;:71,&quot;typedarray-pool&quot;:554}],82:[function(t,e,r){&quot;use strict&quot;;function n(t){if(t&gt;P)throw new RangeError(&quot;Invalid typed array length&quot;);var e=new Uint8Array(t);return e.__proto__=i.prototype,e}function i(t,e,r){if(&quot;number&quot;==typeof t){if(&quot;string&quot;==typeof e)throw new Error(&quot;If encoding is specified then the first argument must be a string&quot;);return s(t)}return a(t,e,r)}function a(t,e,r){if(&quot;number&quot;==typeof t)throw new TypeError('&quot;value&quot; argument must not be a number');return t instanceof ArrayBuffer?function(t,e,r){if(e&lt;0||t.byteLength&lt;e)throw new RangeError(&quot;'offset' is out of bounds&quot;);if(t.byteLength&lt;e+(r||0))throw new RangeError(&quot;'length' is out of bounds&quot;);var n;n=void 0===e&amp;&amp;void 0===r?new Uint8Array(t):void 0===r?new Uint8Array(t,e):new Uint8Array(t,e,r);return n.__proto__=i.prototype,n}(t,e,r):&quot;string&quot;==typeof t?function(t,e){&quot;string&quot;==typeof e&amp;&amp;&quot;&quot;!==e||(e=&quot;utf8&quot;);if(!i.isEncoding(e))throw new TypeError('&quot;encoding&quot; must be a valid string encoding');var r=0|u(t,e),a=n(r),o=a.write(t,e);o!==r&amp;&amp;(a=a.slice(0,o));return a}(t,e):function(t){if(i.isBuffer(t)){var e=0|c(t.length),r=n(e);return 0===r.length?r:(t.copy(r,0,0,e),r)}if(t){if(C(t)||&quot;length&quot;in t)return&quot;number&quot;!=typeof t.length||z(t.length)?n(0):l(t);if(&quot;Buffer&quot;===t.type&amp;&amp;Array.isArray(t.data))return l(t.data)}throw new TypeError(&quot;First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.&quot;)}(t)}function o(t){if(&quot;number&quot;!=typeof t)throw new TypeError('&quot;size&quot; argument must be a number');if(t&lt;0)throw new RangeError('&quot;size&quot; argument must not be negative')}function s(t){return o(t),n(t&lt;0?0:0|c(t))}function l(t){for(var e=t.length&lt;0?0:0|c(t.length),r=n(e),i=0;i&lt;e;i+=1)r[i]=255&amp;t[i];return r}function c(t){if(t&gt;=P)throw new RangeError(&quot;Attempt to allocate Buffer larger than maximum size: 0x&quot;+P.toString(16)+&quot; bytes&quot;);return 0|t}function u(t,e){if(i.isBuffer(t))return t.length;if(C(t)||t instanceof ArrayBuffer)return t.byteLength;&quot;string&quot;!=typeof t&amp;&amp;(t=&quot;&quot;+t);var r=t.length;if(0===r)return 0;for(var n=!1;;)switch(e){case&quot;ascii&quot;:case&quot;latin1&quot;:case&quot;binary&quot;:return r;case&quot;utf8&quot;:case&quot;utf-8&quot;:case void 0:return S(t).length;case&quot;ucs2&quot;:case&quot;ucs-2&quot;:case&quot;utf16le&quot;:case&quot;utf-16le&quot;:return 2*r;case&quot;hex&quot;:return r&gt;&gt;&gt;1;case&quot;base64&quot;:return E(t).length;default:if(n)return S(t).length;e=(&quot;&quot;+e).toLowerCase(),n=!0}}function f(t,e,r){var n=!1;if((void 0===e||e&lt;0)&amp;&amp;(e=0),e&gt;this.length)return&quot;&quot;;if((void 0===r||r&gt;this.length)&amp;&amp;(r=this.length),r&lt;=0)return&quot;&quot;;if(r&gt;&gt;&gt;=0,e&gt;&gt;&gt;=0,r&lt;=e)return&quot;&quot;;for(t||(t=&quot;utf8&quot;);;)switch(t){case&quot;hex&quot;:return function(t,e,r){var n=t.length;(!e||e&lt;0)&amp;&amp;(e=0);(!r||r&lt;0||r&gt;n)&amp;&amp;(r=n);for(var i=&quot;&quot;,a=e;a&lt;r;++a)i+=function(t){return t&lt;16?&quot;0&quot;+t.toString(16):t.toString(16)}(t[a]);return i}(this,e,r);case&quot;utf8&quot;:case&quot;utf-8&quot;:return _(this,e,r);case&quot;ascii&quot;:return function(t,e,r){var n=&quot;&quot;;r=Math.min(t.length,r);for(var i=e;i&lt;r;++i)n+=String.fromCharCode(127&amp;t[i]);return n}(this,e,r);case&quot;latin1&quot;:case&quot;binary&quot;:return function(t,e,r){var n=&quot;&quot;;r=Math.min(t.length,r);for(var i=e;i&lt;r;++i)n+=String.fromCharCode(t[i]);return n}(this,e,r);case&quot;base64&quot;:return function(t,e,r){return 0===e&amp;&amp;r===t.length?D.fromByteArray(t):D.fromByteArray(t.slice(e,r))}(this,e,r);case&quot;ucs2&quot;:case&quot;ucs-2&quot;:case&quot;utf16le&quot;:case&quot;utf-16le&quot;:return function(t,e,r){for(var n=t.slice(e,r),i=&quot;&quot;,a=0;a&lt;n.length;a+=2)i+=String.fromCharCode(n[a]+256*n[a+1]);return i}(this,e,r);default:if(n)throw new TypeError(&quot;Unknown encoding: &quot;+t);t=(t+&quot;&quot;).toLowerCase(),n=!0}}function h(t,e,r){var n=t[e];t[e]=t[r],t[r]=n}function d(t,e,r,n,a){if(0===t.length)return-1;if(&quot;string&quot;==typeof r?(n=r,r=0):r&gt;2147483647?r=2147483647:r&lt;-2147483648&amp;&amp;(r=-2147483648),r=+r,z(r)&amp;&amp;(r=a?0:t.length-1),r&lt;0&amp;&amp;(r=t.length+r),r&gt;=t.length){if(a)return-1;r=t.length-1}else if(r&lt;0){if(!a)return-1;r=0}if(&quot;string&quot;==typeof e&amp;&amp;(e=i.from(e,n)),i.isBuffer(e))return 0===e.length?-1:p(t,e,r,n,a);if(&quot;number&quot;==typeof e)return e&amp;=255,&quot;function&quot;==typeof Uint8Array.prototype.indexOf?a?Uint8Array.prototype.indexOf.call(t,e,r):Uint8Array.prototype.lastIndexOf.call(t,e,r):p(t,[e],r,n,a);throw new TypeError(&quot;val must be string, number or Buffer&quot;)}function p(t,e,r,n,i){function a(t,e){return 1===o?t[e]:t.readUInt16BE(e*o)}var o=1,s=t.length,l=e.length;if(void 0!==n&amp;&amp;(&quot;ucs2&quot;===(n=String(n).toLowerCase())||&quot;ucs-2&quot;===n||&quot;utf16le&quot;===n||&quot;utf-16le&quot;===n)){if(t.length&lt;2||e.length&lt;2)return-1;o=2,s/=2,l/=2,r/=2}var c;if(i){var u=-1;for(c=r;c&lt;s;c++)if(a(t,c)===a(e,-1===u?0:c-u)){if(-1===u&amp;&amp;(u=c),c-u+1===l)return u*o}else-1!==u&amp;&amp;(c-=c-u),u=-1}else for(r+l&gt;s&amp;&amp;(r=s-l),c=r;c&gt;=0;c--){for(var f=!0,h=0;h&lt;l;h++)if(a(t,c+h)!==a(e,h)){f=!1;break}if(f)return c}return-1}function m(t,e,r,n){r=Number(r)||0;var i=t.length-r;n?(n=Number(n))&gt;i&amp;&amp;(n=i):n=i;var a=e.length;if(a%2!=0)throw new TypeError(&quot;Invalid hex string&quot;);n&gt;a/2&amp;&amp;(n=a/2);for(var o=0;o&lt;n;++o){var s=parseInt(e.substr(2*o,2),16);if(z(s))return o;t[r+o]=s}return o}function g(t,e,r,n){return L(S(e,t.length-r),t,r,n)}function v(t,e,r,n){return L(function(t){for(var e=[],r=0;r&lt;t.length;++r)e.push(255&amp;t.charCodeAt(r));return e}(e),t,r,n)}function y(t,e,r,n){return v(t,e,r,n)}function x(t,e,r,n){return L(E(e),t,r,n)}function b(t,e,r,n){return L(function(t,e){for(var r,n,i,a=[],o=0;o&lt;t.length&amp;&amp;!((e-=2)&lt;0);++o)r=t.charCodeAt(o),n=r&gt;&gt;8,i=r%256,a.push(i),a.push(n);return a}(e,t.length-r),t,r,n)}function _(t,e,r){r=Math.min(t.length,r);for(var n=[],i=e;i&lt;r;){var a=t[i],o=null,s=a&gt;239?4:a&gt;223?3:a&gt;191?2:1;if(i+s&lt;=r){var l,c,u,f;switch(s){case 1:a&lt;128&amp;&amp;(o=a);break;case 2:128==(192&amp;(l=t[i+1]))&amp;&amp;(f=(31&amp;a)&lt;&lt;6|63&amp;l)&gt;127&amp;&amp;(o=f);break;case 3:l=t[i+1],c=t[i+2],128==(192&amp;l)&amp;&amp;128==(192&amp;c)&amp;&amp;(f=(15&amp;a)&lt;&lt;12|(63&amp;l)&lt;&lt;6|63&amp;c)&gt;2047&amp;&amp;(f&lt;55296||f&gt;57343)&amp;&amp;(o=f);break;case 4:l=t[i+1],c=t[i+2],u=t[i+3],128==(192&amp;l)&amp;&amp;128==(192&amp;c)&amp;&amp;128==(192&amp;u)&amp;&amp;(f=(15&amp;a)&lt;&lt;18|(63&amp;l)&lt;&lt;12|(63&amp;c)&lt;&lt;6|63&amp;u)&gt;65535&amp;&amp;f&lt;1114112&amp;&amp;(o=f)}}null===o?(o=65533,s=1):o&gt;65535&amp;&amp;(o-=65536,n.push(o&gt;&gt;&gt;10&amp;1023|55296),o=56320|1023&amp;o),n.push(o),i+=s}return function(t){var e=t.length;if(e&lt;=O)return String.fromCharCode.apply(String,t);var r=&quot;&quot;,n=0;for(;n&lt;e;)r+=String.fromCharCode.apply(String,t.slice(n,n+=O));return r}(n)}function w(t,e,r){if(t%1!=0||t&lt;0)throw new RangeError(&quot;offset is not uint&quot;);if(t+e&gt;r)throw new RangeError(&quot;Trying to access beyond buffer length&quot;)}function M(t,e,r,n,a,o){if(!i.isBuffer(t))throw new TypeError('&quot;buffer&quot; argument must be a Buffer instance');if(e&gt;a||e&lt;o)throw new RangeError('&quot;value&quot; argument is out of bounds');if(r+n&gt;t.length)throw new RangeError(&quot;Index out of range&quot;)}function k(t,e,r,n,i,a){if(r+n&gt;t.length)throw new RangeError(&quot;Index out of range&quot;);if(r&lt;0)throw new RangeError(&quot;Index out of range&quot;)}function A(t,e,r,n,i){return e=+e,r&gt;&gt;&gt;=0,i||k(t,0,r,4),I.write(t,e,r,n,23,4),r+4}function T(t,e,r,n,i){return e=+e,r&gt;&gt;&gt;=0,i||k(t,0,r,8),I.write(t,e,r,n,52,8),r+8}function S(t,e){e=e||1/0;for(var r,n=t.length,i=null,a=[],o=0;o&lt;n;++o){if((r=t.charCodeAt(o))&gt;55295&amp;&amp;r&lt;57344){if(!i){if(r&gt;56319){(e-=3)&gt;-1&amp;&amp;a.push(239,191,189);continue}if(o+1===n){(e-=3)&gt;-1&amp;&amp;a.push(239,191,189);continue}i=r;continue}if(r&lt;56320){(e-=3)&gt;-1&amp;&amp;a.push(239,191,189),i=r;continue}r=65536+(i-55296&lt;&lt;10|r-56320)}else i&amp;&amp;(e-=3)&gt;-1&amp;&amp;a.push(239,191,189);if(i=null,r&lt;128){if((e-=1)&lt;0)break;a.push(r)}else if(r&lt;2048){if((e-=2)&lt;0)break;a.push(r&gt;&gt;6|192,63&amp;r|128)}else if(r&lt;65536){if((e-=3)&lt;0)break;a.push(r&gt;&gt;12|224,r&gt;&gt;6&amp;63|128,63&amp;r|128)}else{if(!(r&lt;1114112))throw new Error(&quot;Invalid code point&quot;);if((e-=4)&lt;0)break;a.push(r&gt;&gt;18|240,r&gt;&gt;12&amp;63|128,r&gt;&gt;6&amp;63|128,63&amp;r|128)}}return a}function E(t){return D.toByteArray(function(t){if((t=t.trim().replace(F,&quot;&quot;)).length&lt;2)return&quot;&quot;;for(;t.length%4!=0;)t+=&quot;=&quot;;return t}(t))}function L(t,e,r,n){for(var i=0;i&lt;n&amp;&amp;!(i+r&gt;=e.length||i&gt;=t.length);++i)e[i+r]=t[i];return i}function C(t){return&quot;function&quot;==typeof ArrayBuffer.isView&amp;&amp;ArrayBuffer.isView(t)}function z(t){return t!=t}var D=t(&quot;base64-js&quot;),I=t(&quot;ieee754&quot;);r.Buffer=i,r.SlowBuffer=function(t){return+t!=t&amp;&amp;(t=0),i.alloc(+t)},r.INSPECT_MAX_BYTES=50;var P=2147483647;r.kMaxLength=P,(i.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}}())||&quot;undefined&quot;==typeof console||&quot;function&quot;!=typeof console.error||console.error(&quot;This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support.&quot;),&quot;undefined&quot;!=typeof Symbol&amp;&amp;Symbol.species&amp;&amp;i[Symbol.species]===i&amp;&amp;Object.defineProperty(i,Symbol.species,{value:null,configurable:!0,enumerable:!1,writable:!1}),i.poolSize=8192,i.from=function(t,e,r){return a(t,e,r)},i.prototype.__proto__=Uint8Array.prototype,i.__proto__=Uint8Array,i.alloc=function(t,e,r){return function(t,e,r){return o(t),t&lt;=0?n(t):void 0!==e?&quot;string&quot;==typeof r?n(t).fill(e,r):n(t).fill(e):n(t)}(t,e,r)},i.allocUnsafe=function(t){return s(t)},i.allocUnsafeSlow=function(t){return s(t)},i.isBuffer=function(t){return null!=t&amp;&amp;!0===t._isBuffer},i.compare=function(t,e){if(!i.isBuffer(t)||!i.isBuffer(e))throw new TypeError(&quot;Arguments must be Buffers&quot;);if(t===e)return 0;for(var r=t.length,n=e.length,a=0,o=Math.min(r,n);a&lt;o;++a)if(t[a]!==e[a]){r=t[a],n=e[a];break}return r&lt;n?-1:n&lt;r?1:0},i.isEncoding=function(t){switch(String(t).toLowerCase()){case&quot;hex&quot;:case&quot;utf8&quot;:case&quot;utf-8&quot;:case&quot;ascii&quot;:case&quot;latin1&quot;:case&quot;binary&quot;:case&quot;base64&quot;:case&quot;ucs2&quot;:case&quot;ucs-2&quot;:case&quot;utf16le&quot;:case&quot;utf-16le&quot;:return!0;default:return!1}},i.concat=function(t,e){if(!Array.isArray(t))throw new TypeError('&quot;list&quot; argument must be an Array of Buffers');if(0===t.length)return i.alloc(0);var r;if(void 0===e)for(e=0,r=0;r&lt;t.length;++r)e+=t[r].length;var n=i.allocUnsafe(e),a=0;for(r=0;r&lt;t.length;++r){var o=t[r];if(!i.isBuffer(o))throw new TypeError('&quot;list&quot; argument must be an Array of Buffers');o.copy(n,a),a+=o.length}return n},i.byteLength=u,i.prototype._isBuffer=!0,i.prototype.swap16=function(){var t=this.length;if(t%2!=0)throw new RangeError(&quot;Buffer size must be a multiple of 16-bits&quot;);for(var e=0;e&lt;t;e+=2)h(this,e,e+1);return this},i.prototype.swap32=function(){var t=this.length;if(t%4!=0)throw new RangeError(&quot;Buffer size must be a multiple of 32-bits&quot;);for(var e=0;e&lt;t;e+=4)h(this,e,e+3),h(this,e+1,e+2);return this},i.prototype.swap64=function(){var t=this.length;if(t%8!=0)throw new RangeError(&quot;Buffer size must be a multiple of 64-bits&quot;);for(var e=0;e&lt;t;e+=8)h(this,e,e+7),h(this,e+1,e+6),h(this,e+2,e+5),h(this,e+3,e+4);return this},i.prototype.toString=function(){var t=this.length;return 0===t?&quot;&quot;:0===arguments.length?_(this,0,t):f.apply(this,arguments)},i.prototype.equals=function(t){if(!i.isBuffer(t))throw new TypeError(&quot;Argument must be a Buffer&quot;);return this===t||0===i.compare(this,t)},i.prototype.inspect=function(){var t=&quot;&quot;,e=r.INSPECT_MAX_BYTES;return this.length&gt;0&amp;&amp;(t=this.toString(&quot;hex&quot;,0,e).match(/.{2}/g).join(&quot; &quot;),this.length&gt;e&amp;&amp;(t+=&quot; ... &quot;)),&quot;&lt;Buffer &quot;+t+&quot;&gt;&quot;},i.prototype.compare=function(t,e,r,n,a){if(!i.isBuffer(t))throw new TypeError(&quot;Argument must be a Buffer&quot;);if(void 0===e&amp;&amp;(e=0),void 0===r&amp;&amp;(r=t?t.length:0),void 0===n&amp;&amp;(n=0),void 0===a&amp;&amp;(a=this.length),e&lt;0||r&gt;t.length||n&lt;0||a&gt;this.length)throw new RangeError(&quot;out of range index&quot;);if(n&gt;=a&amp;&amp;e&gt;=r)return 0;if(n&gt;=a)return-1;if(e&gt;=r)return 1;if(e&gt;&gt;&gt;=0,r&gt;&gt;&gt;=0,n&gt;&gt;&gt;=0,a&gt;&gt;&gt;=0,this===t)return 0;for(var o=a-n,s=r-e,l=Math.min(o,s),c=this.slice(n,a),u=t.slice(e,r),f=0;f&lt;l;++f)if(c[f]!==u[f]){o=c[f],s=u[f];break}return o&lt;s?-1:s&lt;o?1:0},i.prototype.includes=function(t,e,r){return-1!==this.indexOf(t,e,r)},i.prototype.indexOf=function(t,e,r){return d(this,t,e,r,!0)},i.prototype.lastIndexOf=function(t,e,r){return d(this,t,e,r,!1)},i.prototype.write=function(t,e,r,n){if(void 0===e)n=&quot;utf8&quot;,r=this.length,e=0;else if(void 0===r&amp;&amp;&quot;string&quot;==typeof e)n=e,r=this.length,e=0;else{if(!isFinite(e))throw new Error(&quot;Buffer.write(string, encoding, offset[, length]) is no longer supported&quot;);e&gt;&gt;&gt;=0,isFinite(r)?(r&gt;&gt;&gt;=0,void 0===n&amp;&amp;(n=&quot;utf8&quot;)):(n=r,r=void 0)}var i=this.length-e;if((void 0===r||r&gt;i)&amp;&amp;(r=i),t.length&gt;0&amp;&amp;(r&lt;0||e&lt;0)||e&gt;this.length)throw new RangeError(&quot;Attempt to write outside buffer bounds&quot;);n||(n=&quot;utf8&quot;);for(var a=!1;;)switch(n){case&quot;hex&quot;:return m(this,t,e,r);case&quot;utf8&quot;:case&quot;utf-8&quot;:return g(this,t,e,r);case&quot;ascii&quot;:return v(this,t,e,r);case&quot;latin1&quot;:case&quot;binary&quot;:return y(this,t,e,r);case&quot;base64&quot;:return x(this,t,e,r);case&quot;ucs2&quot;:case&quot;ucs-2&quot;:case&quot;utf16le&quot;:case&quot;utf-16le&quot;:return b(this,t,e,r);default:if(a)throw new TypeError(&quot;Unknown encoding: &quot;+n);n=(&quot;&quot;+n).toLowerCase(),a=!0}},i.prototype.toJSON=function(){return{type:&quot;Buffer&quot;,data:Array.prototype.slice.call(this._arr||this,0)}};var O=4096;i.prototype.slice=function(t,e){var r=this.length;t=~~t,e=void 0===e?r:~~e,t&lt;0?(t+=r)&lt;0&amp;&amp;(t=0):t&gt;r&amp;&amp;(t=r),e&lt;0?(e+=r)&lt;0&amp;&amp;(e=0):e&gt;r&amp;&amp;(e=r),e&lt;t&amp;&amp;(e=t);var n=this.subarray(t,e);return n.__proto__=i.prototype,n},i.prototype.readUIntLE=function(t,e,r){t&gt;&gt;&gt;=0,e&gt;&gt;&gt;=0,r||w(t,e,this.length);for(var n=this[t],i=1,a=0;++a&lt;e&amp;&amp;(i*=256);)n+=this[t+a]*i;return n},i.prototype.readUIntBE=function(t,e,r){t&gt;&gt;&gt;=0,e&gt;&gt;&gt;=0,r||w(t,e,this.length);for(var n=this[t+--e],i=1;e&gt;0&amp;&amp;(i*=256);)n+=this[t+--e]*i;return n},i.prototype.readUInt8=function(t,e){return t&gt;&gt;&gt;=0,e||w(t,1,this.length),this[t]},i.prototype.readUInt16LE=function(t,e){return t&gt;&gt;&gt;=0,e||w(t,2,this.length),this[t]|this[t+1]&lt;&lt;8},i.prototype.readUInt16BE=function(t,e){return t&gt;&gt;&gt;=0,e||w(t,2,this.length),this[t]&lt;&lt;8|this[t+1]},i.prototype.readUInt32LE=function(t,e){return t&gt;&gt;&gt;=0,e||w(t,4,this.length),(this[t]|this[t+1]&lt;&lt;8|this[t+2]&lt;&lt;16)+16777216*this[t+3]},i.prototype.readUInt32BE=function(t,e){return t&gt;&gt;&gt;=0,e||w(t,4,this.length),16777216*this[t]+(this[t+1]&lt;&lt;16|this[t+2]&lt;&lt;8|this[t+3])},i.prototype.readIntLE=function(t,e,r){t&gt;&gt;&gt;=0,e&gt;&gt;&gt;=0,r||w(t,e,this.length);for(var n=this[t],i=1,a=0;++a&lt;e&amp;&amp;(i*=256);)n+=this[t+a]*i;return i*=128,n&gt;=i&amp;&amp;(n-=Math.pow(2,8*e)),n},i.prototype.readIntBE=function(t,e,r){t&gt;&gt;&gt;=0,e&gt;&gt;&gt;=0,r||w(t,e,this.length);for(var n=e,i=1,a=this[t+--n];n&gt;0&amp;&amp;(i*=256);)a+=this[t+--n]*i;return i*=128,a&gt;=i&amp;&amp;(a-=Math.pow(2,8*e)),a},i.prototype.readInt8=function(t,e){return t&gt;&gt;&gt;=0,e||w(t,1,this.length),128&amp;this[t]?-1*(255-this[t]+1):this[t]},i.prototype.readInt16LE=function(t,e){t&gt;&gt;&gt;=0,e||w(t,2,this.length);var r=this[t]|this[t+1]&lt;&lt;8;return 32768&amp;r?4294901760|r:r},i.prototype.readInt16BE=function(t,e){t&gt;&gt;&gt;=0,e||w(t,2,this.length);var r=this[t+1]|this[t]&lt;&lt;8;return 32768&amp;r?4294901760|r:r},i.prototype.readInt32LE=function(t,e){return t&gt;&gt;&gt;=0,e||w(t,4,this.length),this[t]|this[t+1]&lt;&lt;8|this[t+2]&lt;&lt;16|this[t+3]&lt;&lt;24},i.prototype.readInt32BE=function(t,e){return t&gt;&gt;&gt;=0,e||w(t,4,this.length),this[t]&lt;&lt;24|this[t+1]&lt;&lt;16|this[t+2]&lt;&lt;8|this[t+3]},i.prototype.readFloatLE=function(t,e){return t&gt;&gt;&gt;=0,e||w(t,4,this.length),I.read(this,t,!0,23,4)},i.prototype.readFloatBE=function(t,e){return t&gt;&gt;&gt;=0,e||w(t,4,this.length),I.read(this,t,!1,23,4)},i.prototype.readDoubleLE=function(t,e){return t&gt;&gt;&gt;=0,e||w(t,8,this.length),I.read(this,t,!0,52,8)},i.prototype.readDoubleBE=function(t,e){return t&gt;&gt;&gt;=0,e||w(t,8,this.length),I.read(this,t,!1,52,8)},i.prototype.writeUIntLE=function(t,e,r,n){if(t=+t,e&gt;&gt;&gt;=0,r&gt;&gt;&gt;=0,!n){M(this,t,e,r,Math.pow(2,8*r)-1,0)}var i=1,a=0;for(this[e]=255&amp;t;++a&lt;r&amp;&amp;(i*=256);)this[e+a]=t/i&amp;255;return e+r},i.prototype.writeUIntBE=function(t,e,r,n){if(t=+t,e&gt;&gt;&gt;=0,r&gt;&gt;&gt;=0,!n){M(this,t,e,r,Math.pow(2,8*r)-1,0)}var i=r-1,a=1;for(this[e+i]=255&amp;t;--i&gt;=0&amp;&amp;(a*=256);)this[e+i]=t/a&amp;255;return e+r},i.prototype.writeUInt8=function(t,e,r){return t=+t,e&gt;&gt;&gt;=0,r||M(this,t,e,1,255,0),this[e]=255&amp;t,e+1},i.prototype.writeUInt16LE=function(t,e,r){return t=+t,e&gt;&gt;&gt;=0,r||M(this,t,e,2,65535,0),this[e]=255&amp;t,this[e+1]=t&gt;&gt;&gt;8,e+2},i.prototype.writeUInt16BE=function(t,e,r){return t=+t,e&gt;&gt;&gt;=0,r||M(this,t,e,2,65535,0),this[e]=t&gt;&gt;&gt;8,this[e+1]=255&amp;t,e+2},i.prototype.writeUInt32LE=function(t,e,r){return t=+t,e&gt;&gt;&gt;=0,r||M(this,t,e,4,4294967295,0),this[e+3]=t&gt;&gt;&gt;24,this[e+2]=t&gt;&gt;&gt;16,this[e+1]=t&gt;&gt;&gt;8,this[e]=255&amp;t,e+4},i.prototype.writeUInt32BE=function(t,e,r){return t=+t,e&gt;&gt;&gt;=0,r||M(this,t,e,4,4294967295,0),this[e]=t&gt;&gt;&gt;24,this[e+1]=t&gt;&gt;&gt;16,this[e+2]=t&gt;&gt;&gt;8,this[e+3]=255&amp;t,e+4},i.prototype.writeIntLE=function(t,e,r,n){if(t=+t,e&gt;&gt;&gt;=0,!n){var i=Math.pow(2,8*r-1);M(this,t,e,r,i-1,-i)}var a=0,o=1,s=0;for(this[e]=255&amp;t;++a&lt;r&amp;&amp;(o*=256);)t&lt;0&amp;&amp;0===s&amp;&amp;0!==this[e+a-1]&amp;&amp;(s=1),this[e+a]=(t/o&gt;&gt;0)-s&amp;255;return e+r},i.prototype.writeIntBE=function(t,e,r,n){if(t=+t,e&gt;&gt;&gt;=0,!n){var i=Math.pow(2,8*r-1);M(this,t,e,r,i-1,-i)}var a=r-1,o=1,s=0;for(this[e+a]=255&amp;t;--a&gt;=0&amp;&amp;(o*=256);)t&lt;0&amp;&amp;0===s&amp;&amp;0!==this[e+a+1]&amp;&amp;(s=1),this[e+a]=(t/o&gt;&gt;0)-s&amp;255;return e+r},i.prototype.writeInt8=function(t,e,r){return t=+t,e&gt;&gt;&gt;=0,r||M(this,t,e,1,127,-128),t&lt;0&amp;&amp;(t=255+t+1),this[e]=255&amp;t,e+1},i.prototype.writeInt16LE=function(t,e,r){return t=+t,e&gt;&gt;&gt;=0,r||M(this,t,e,2,32767,-32768),this[e]=255&amp;t,this[e+1]=t&gt;&gt;&gt;8,e+2},i.prototype.writeInt16BE=function(t,e,r){return t=+t,e&gt;&gt;&gt;=0,r||M(this,t,e,2,32767,-32768),this[e]=t&gt;&gt;&gt;8,this[e+1]=255&amp;t,e+2},i.prototype.writeInt32LE=function(t,e,r){return t=+t,e&gt;&gt;&gt;=0,r||M(this,t,e,4,2147483647,-2147483648),this[e]=255&amp;t,this[e+1]=t&gt;&gt;&gt;8,this[e+2]=t&gt;&gt;&gt;16,this[e+3]=t&gt;&gt;&gt;24,e+4},i.prototype.writeInt32BE=function(t,e,r){return t=+t,e&gt;&gt;&gt;=0,r||M(this,t,e,4,2147483647,-2147483648),t&lt;0&amp;&amp;(t=4294967295+t+1),this[e]=t&gt;&gt;&gt;24,this[e+1]=t&gt;&gt;&gt;16,this[e+2]=t&gt;&gt;&gt;8,this[e+3]=255&amp;t,e+4},i.prototype.writeFloatLE=function(t,e,r){return A(this,t,e,!0,r)},i.prototype.writeFloatBE=function(t,e,r){return A(this,t,e,!1,r)},i.prototype.writeDoubleLE=function(t,e,r){return T(this,t,e,!0,r)},i.prototype.writeDoubleBE=function(t,e,r){return T(this,t,e,!1,r)},i.prototype.copy=function(t,e,r,n){if(r||(r=0),n||0===n||(n=this.length),e&gt;=t.length&amp;&amp;(e=t.length),e||(e=0),n&gt;0&amp;&amp;n&lt;r&amp;&amp;(n=r),n===r)return 0;if(0===t.length||0===this.length)return 0;if(e&lt;0)throw new RangeError(&quot;targetStart out of bounds&quot;);if(r&lt;0||r&gt;=this.length)throw new RangeError(&quot;sourceStart out of bounds&quot;);if(n&lt;0)throw new RangeError(&quot;sourceEnd out of bounds&quot;);n&gt;this.length&amp;&amp;(n=this.length),t.length-e&lt;n-r&amp;&amp;(n=t.length-e+r);var i,a=n-r;if(this===t&amp;&amp;r&lt;e&amp;&amp;e&lt;n)for(i=a-1;i&gt;=0;--i)t[i+e]=this[i+r];else if(a&lt;1e3)for(i=0;i&lt;a;++i)t[i+e]=this[i+r];else Uint8Array.prototype.set.call(t,this.subarray(r,r+a),e);return a},i.prototype.fill=function(t,e,r,n){if(&quot;string&quot;==typeof t){if(&quot;string&quot;==typeof e?(n=e,e=0,r=this.length):&quot;string&quot;==typeof r&amp;&amp;(n=r,r=this.length),1===t.length){var a=t.charCodeAt(0);a&lt;256&amp;&amp;(t=a)}if(void 0!==n&amp;&amp;&quot;string&quot;!=typeof n)throw new TypeError(&quot;encoding must be a string&quot;);if(&quot;string&quot;==typeof n&amp;&amp;!i.isEncoding(n))throw new TypeError(&quot;Unknown encoding: &quot;+n)}else&quot;number&quot;==typeof t&amp;&amp;(t&amp;=255);if(e&lt;0||this.length&lt;e||this.length&lt;r)throw new RangeError(&quot;Out of range index&quot;);if(r&lt;=e)return this;e&gt;&gt;&gt;=0,r=void 0===r?this.length:r&gt;&gt;&gt;0,t||(t=0);var o;if(&quot;number&quot;==typeof t)for(o=e;o&lt;r;++o)this[o]=t;else{var s=i.isBuffer(t)?t:new i(t,n),l=s.length;for(o=0;o&lt;r-e;++o)this[o+e]=s[o%l]}return this};var F=/[^+/0-9A-Za-z-_]/g},{&quot;base64-js&quot;:83,ieee754:277}],83:[function(t,e,r){&quot;use strict&quot;;function n(t){var e=t.length;if(e%4&gt;0)throw new Error(&quot;Invalid string. Length must be a multiple of 4&quot;);return&quot;=&quot;===t[e-2]?2:&quot;=&quot;===t[e-1]?1:0}function i(t){return o[t&gt;&gt;18&amp;63]+o[t&gt;&gt;12&amp;63]+o[t&gt;&gt;6&amp;63]+o[63&amp;t]}function a(t,e,r){for(var n,a=[],o=e;o&lt;r;o+=3)n=(t[o]&lt;&lt;16)+(t[o+1]&lt;&lt;8)+t[o+2],a.push(i(n));return a.join(&quot;&quot;)}r.byteLength=function(t){return 3*t.length/4-n(t)},r.toByteArray=function(t){var e,r,i,a,o,c,u=t.length;o=n(t),c=new l(3*u/4-o),i=o&gt;0?u-4:u;var f=0;for(e=0,r=0;e&lt;i;e+=4,r+=3)a=s[t.charCodeAt(e)]&lt;&lt;18|s[t.charCodeAt(e+1)]&lt;&lt;12|s[t.charCodeAt(e+2)]&lt;&lt;6|s[t.charCodeAt(e+3)],c[f++]=a&gt;&gt;16&amp;255,c[f++]=a&gt;&gt;8&amp;255,c[f++]=255&amp;a;return 2===o?(a=s[t.charCodeAt(e)]&lt;&lt;2|s[t.charCodeAt(e+1)]&gt;&gt;4,c[f++]=255&amp;a):1===o&amp;&amp;(a=s[t.charCodeAt(e)]&lt;&lt;10|s[t.charCodeAt(e+1)]&lt;&lt;4|s[t.charCodeAt(e+2)]&gt;&gt;2,c[f++]=a&gt;&gt;8&amp;255,c[f++]=255&amp;a),c},r.fromByteArray=function(t){for(var e,r=t.length,n=r%3,i=&quot;&quot;,s=[],l=0,c=r-n;l&lt;c;l+=16383)s.push(a(t,l,l+16383&gt;c?c:l+16383));return 1===n?(e=t[r-1],i+=o[e&gt;&gt;2],i+=o[e&lt;&lt;4&amp;63],i+=&quot;==&quot;):2===n&amp;&amp;(e=(t[r-2]&lt;&lt;8)+t[r-1],i+=o[e&gt;&gt;10],i+=o[e&gt;&gt;4&amp;63],i+=o[e&lt;&lt;2&amp;63],i+=&quot;=&quot;),s.push(i),s.join(&quot;&quot;)};for(var o=[],s=[],l=&quot;undefined&quot;!=typeof Uint8Array?Uint8Array:Array,c=&quot;ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/&quot;,u=0,f=c.length;u&lt;f;++u)o[u]=c[u],s[c.charCodeAt(u)]=u;s[&quot;-&quot;.charCodeAt(0)]=62,s[&quot;_&quot;.charCodeAt(0)]=63},{}],84:[function(t,e,r){&quot;use strict&quot;;function n(t){return[Math.min(t[0],t[1]),Math.max(t[0],t[1])]}function i(t,e){return t[0]-e[0]||t[1]-e[1]}function a(t,e,r){return e in t?t[e]:r}var o=t(&quot;./lib/monotone&quot;),s=t(&quot;./lib/triangulation&quot;),l=t(&quot;./lib/delaunay&quot;),c=t(&quot;./lib/filter&quot;);e.exports=function(t,e,r){Array.isArray(e)?(r=r||{},e=e||[]):(r=e||{},e=[]);var u=!!a(r,&quot;delaunay&quot;,!0),f=!!a(r,&quot;interior&quot;,!0),h=!!a(r,&quot;exterior&quot;,!0),d=!!a(r,&quot;infinity&quot;,!1);if(!f&amp;&amp;!h||0===t.length)return[];var p=o(t,e);if(u||f!==h||d){for(var m=s(t.length,function(t){return t.map(n).sort(i)}(e)),g=0;g&lt;p.length;++g){var v=p[g];m.addTriangle(v[0],v[1],v[2])}return u&amp;&amp;l(t,m),h?f?d?c(m,0,d):m.cells():c(m,1,d):c(m,-1)}return p}},{&quot;./lib/delaunay&quot;:85,&quot;./lib/filter&quot;:86,&quot;./lib/monotone&quot;:87,&quot;./lib/triangulation&quot;:88}],85:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,n,a,o){var s=e.opposite(n,a);if(!(s&lt;0)){if(a&lt;n){var l=n;n=a,a=l,l=o,o=s,s=l}e.isConstraint(n,a)||i(t[n],t[a],t[o],t[s])&lt;0&amp;&amp;r.push(n,a)}}var i=t(&quot;robust-in-sphere&quot;)[4];t(&quot;binary-search-bounds&quot;);e.exports=function(t,e){for(var r=[],a=t.length,o=e.stars,s=0;s&lt;a;++s)for(var l=o[s],c=1;c&lt;l.length;c+=2)if(!((d=l[c])&lt;s||e.isConstraint(s,d))){for(var u=l[c-1],f=-1,h=1;h&lt;l.length;h+=2)if(l[h-1]===d){f=l[h];break}f&lt;0||i(t[s],t[d],t[u],t[f])&lt;0&amp;&amp;r.push(s,d)}for(;r.length&gt;0;){for(var d=r.pop(),p=(u=-1,f=-1,l=o[s=r.pop()],1);p&lt;l.length;p+=2){var m=l[p-1],g=l[p];m===d?f=g:g===d&amp;&amp;(u=m)}u&lt;0||f&lt;0||i(t[s],t[d],t[u],t[f])&gt;=0||(e.flip(s,d),n(t,e,r,u,s,f),n(t,e,r,s,f,u),n(t,e,r,f,d,u),n(t,e,r,d,u,f))}}},{&quot;binary-search-bounds&quot;:89,&quot;robust-in-sphere&quot;:513}],86:[function(t,e,r){&quot;use strict&quot;;function n(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 i(t,e){return t[0]-e[0]||t[1]-e[1]||t[2]-e[2]}var a=t(&quot;binary-search-bounds&quot;);e.exports=function(t,e,r){var a=function(t,e){for(var r=t.cells(),a=r.length,o=0;o&lt;a;++o){var s=(v=r[o])[0],l=v[1],c=v[2];l&lt;c?l&lt;s&amp;&amp;(v[0]=l,v[1]=c,v[2]=s):c&lt;s&amp;&amp;(v[0]=c,v[1]=s,v[2]=l)}r.sort(i);var u=new Array(a);for(o=0;o&lt;u.length;++o)u[o]=0;var f=[],h=[],d=new Array(3*a),p=new Array(3*a),m=null;e&amp;&amp;(m=[]);var g=new n(r,d,p,u,f,h,m);for(o=0;o&lt;a;++o)for(var v=r[o],y=0;y&lt;3;++y){s=v[y],l=v[(y+1)%3];var x=d[3*o+y]=g.locate(l,s,t.opposite(l,s)),b=p[3*o+y]=t.isConstraint(s,l);x&lt;0&amp;&amp;(b?h.push(o):(f.push(o),u[o]=1),e&amp;&amp;m.push([l,s,-1]))}return g}(t,r);if(0===e)return r?a.cells.concat(a.boundary):a.cells;for(var o=1,s=a.active,l=a.next,c=a.flags,u=a.cells,f=a.constraint,h=a.neighbor;s.length&gt;0||l.length&gt;0;){for(;s.length&gt;0;){var d=s.pop();if(c[d]!==-o){c[d]=o,u[d];for(var p=0;p&lt;3;++p){var m=h[3*d+p];m&gt;=0&amp;&amp;0===c[m]&amp;&amp;(f[3*d+p]?l.push(m):(s.push(m),c[m]=o))}}}var g=l;l=s,s=g,l.length=0,o=-o}var v=function(t,e,r){for(var n=0,i=0;i&lt;t.length;++i)e[i]===r&amp;&amp;(t[n++]=t[i]);return t.length=n,t}(u,c,e);return r?v.concat(a.boundary):v};n.prototype.locate=function(){var t=[0,0,0];return function(e,r,n){var o=e,s=r,l=n;return r&lt;n?r&lt;e&amp;&amp;(o=r,s=n,l=e):n&lt;e&amp;&amp;(o=n,s=e,l=r),o&lt;0?-1:(t[0]=o,t[1]=s,t[2]=l,a.eq(this.cells,t,i))}}()},{&quot;binary-search-bounds&quot;:89}],87:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,n,i){this.a=t,this.b=e,this.idx=r,this.lowerIds=n,this.upperIds=i}function i(t,e,r,n){this.a=t,this.b=e,this.type=r,this.idx=n}function a(t,e){var r=t.a[0]-e.a[0]||t.a[1]-e.a[1]||t.type-e.type;return r||(t.type!==d&amp;&amp;(r=h(t.a,t.b,e.b))?r:t.idx-e.idx)}function o(t,e){return h(t.a,t.b,e)}function s(t,e,r,n,i){for(var a=f.lt(e,n,o),s=f.gt(e,n,o),l=a;l&lt;s;++l){for(var c=e[l],u=c.lowerIds,d=u.length;d&gt;1&amp;&amp;h(r[u[d-2]],r[u[d-1]],n)&gt;0;)t.push([u[d-1],u[d-2],i]),d-=1;u.length=d,u.push(i);var p=c.upperIds;for(d=p.length;d&gt;1&amp;&amp;h(r[p[d-2]],r[p[d-1]],n)&lt;0;)t.push([p[d-2],p[d-1],i]),d-=1;p.length=d,p.push(i)}}function l(t,e){var r;return(r=t.a[0]&lt;e.a[0]?h(t.a,t.b,e.a):h(e.b,e.a,t.a))?r:(r=e.b[0]&lt;t.b[0]?h(t.a,t.b,e.b):h(e.b,e.a,t.b))||t.idx-e.idx}function c(t,e,r){var i=f.le(t,r,l),a=t[i],o=a.upperIds,s=o[o.length-1];a.upperIds=[s],t.splice(i+1,0,new n(r.a,r.b,r.idx,[s],o))}function u(t,e,r){var n=r.a;r.a=r.b,r.b=n;var i=f.eq(t,r,l),a=t[i];t[i-1].upperIds=a.upperIds,t.splice(i,1)}var f=t(&quot;binary-search-bounds&quot;),h=t(&quot;robust-orientation&quot;)[3],d=0,p=1,m=2;e.exports=function(t,e){for(var r=t.length,o=e.length,l=[],f=0;f&lt;r;++f)l.push(new i(t[f],null,d,f));for(f=0;f&lt;o;++f){var h=e[f],g=t[h[0]],v=t[h[1]];g[0]&lt;v[0]?l.push(new i(g,v,m,f),new i(v,g,p,f)):g[0]&gt;v[0]&amp;&amp;l.push(new i(v,g,m,f),new i(g,v,p,f))}l.sort(a);for(var y=l[0].a[0]-(1+Math.abs(l[0].a[0]))*Math.pow(2,-52),x=[new n([y,1],[y,0],-1,[],[],[],[])],b=[],_=(f=0,l.length);f&lt;_;++f){var w=l[f],M=w.type;M===d?s(b,x,t,w.a,w.idx):M===m?c(x,0,w):u(x,0,w)}return b}},{&quot;binary-search-bounds&quot;:89,&quot;robust-orientation&quot;:515}],88:[function(t,e,r){&quot;use strict&quot;;function n(t,e){this.stars=t,this.edges=e}function i(t,e,r){for(var n=1,i=t.length;n&lt;i;n+=2)if(t[n-1]===e&amp;&amp;t[n]===r)return t[n-1]=t[i-2],t[n]=t[i-1],void(t.length=i-2)}var a=t(&quot;binary-search-bounds&quot;);e.exports=function(t,e){for(var r=new Array(t),i=0;i&lt;t;++i)r[i]=[];return new n(r,e)};var o=n.prototype;o.isConstraint=function(){function t(t,e){return t[0]-e[0]||t[1]-e[1]}var e=[0,0];return function(r,n){return e[0]=Math.min(r,n),e[1]=Math.max(r,n),a.eq(this.edges,e,t)&gt;=0}}(),o.removeTriangle=function(t,e,r){var n=this.stars;i(n[t],e,r),i(n[e],r,t),i(n[r],t,e)},o.addTriangle=function(t,e,r){var n=this.stars;n[t].push(e,r),n[e].push(r,t),n[r].push(t,e)},o.opposite=function(t,e){for(var r=this.stars[e],n=1,i=r.length;n&lt;i;n+=2)if(r[n]===t)return r[n-1];return-1},o.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)},o.edges=function(){for(var t=this.stars,e=[],r=0,n=t.length;r&lt;n;++r)for(var i=t[r],a=0,o=i.length;a&lt;o;a+=2)e.push([i[a],i[a+1]]);return e},o.cells=function(){for(var t=this.stars,e=[],r=0,n=t.length;r&lt;n;++r)for(var i=t[r],a=0,o=i.length;a&lt;o;a+=2){var s=i[a],l=i[a+1];r&lt;Math.min(s,l)&amp;&amp;e.push([r,s,l])}return e}},{&quot;binary-search-bounds&quot;:89}],89:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,n,i){var a=[&quot;function &quot;,t,&quot;(a,l,h,&quot;,n.join(&quot;,&quot;),&quot;){&quot;,i?&quot;&quot;:&quot;var i=&quot;,r?&quot;l-1&quot;:&quot;h+1&quot;,&quot;;while(l&lt;=h){var m=(l+h)&gt;&gt;&gt;1,x=a[m]&quot;];return i?e.indexOf(&quot;c&quot;)&lt;0?a.push(&quot;;if(x===y){return m}else if(x&lt;=y){&quot;):a.push(&quot;;var p=c(x,y);if(p===0){return m}else if(p&lt;=0){&quot;):a.push(&quot;;if(&quot;,e,&quot;){i=m;&quot;),r?a.push(&quot;l=m+1}else{h=m-1}&quot;):a.push(&quot;h=m-1}else{l=m+1}&quot;),a.push(&quot;}&quot;),i?a.push(&quot;return -1};&quot;):a.push(&quot;return i};&quot;),a.join(&quot;&quot;)}function i(t,e,r,i){return new Function([n(&quot;A&quot;,&quot;x&quot;+t+&quot;y&quot;,e,[&quot;y&quot;],i),n(&quot;P&quot;,&quot;c(x,y)&quot;+t+&quot;0&quot;,e,[&quot;y&quot;,&quot;c&quot;],i),&quot;function dispatchBsearch&quot;,r,&quot;(a,y,c,l,h){if(typeof(c)==='function'){return P(a,(l===void 0)?0:l|0,(h===void 0)?a.length-1:h|0,y,c)}else{return A(a,(c===void 0)?0:c|0,(l===void 0)?a.length-1:l|0,y)}}return dispatchBsearch&quot;,r].join(&quot;&quot;))()}e.exports={ge:i(&quot;&gt;=&quot;,!1,&quot;GE&quot;),gt:i(&quot;&gt;&quot;,!1,&quot;GT&quot;),lt:i(&quot;&lt;&quot;,!0,&quot;LT&quot;),le:i(&quot;&lt;=&quot;,!0,&quot;LE&quot;),eq:i(&quot;-&quot;,!0,&quot;EQ&quot;,!0)}},{}],90:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t){for(var e=1,r=1;r&lt;t.length;++r)for(var n=0;n&lt;r;++n)if(t[r]&lt;t[n])e=-e;else if(t[n]===t[r])return 0;return e}},{}],91:[function(t,e,r){&quot;use strict&quot;;function n(t,e){for(var r=0,n=t.length,i=0;i&lt;n;++i)r+=t[i]*e[i];return r}function i(t){var e=t.length;if(0===e)return[];t[0].length;var r=o([t.length+1,t.length+1],1),i=o([t.length+1],1);r[e][e]=0;for(var a=0;a&lt;e;++a){for(var l=0;l&lt;=a;++l)r[l][a]=r[a][l]=2*n(t[a],t[l]);i[a]=n(t[a],t[a])}var c=s(r,i),u=0,f=c[e+1];for(a=0;a&lt;f.length;++a)u+=f[a];var h=new Array(e);for(a=0;a&lt;e;++a){f=c[a];var d=0;for(l=0;l&lt;f.length;++l)d+=f[l];h[a]=d/u}return h}function a(t){if(0===t.length)return[];for(var e=t[0].length,r=o([e]),n=i(t),a=0;a&lt;t.length;++a)for(var s=0;s&lt;e;++s)r[s]+=t[a][s]*n[a];return r}var o=t(&quot;dup&quot;),s=t(&quot;robust-linear-solve&quot;);a.barycenetric=i,e.exports=a},{dup:134,&quot;robust-linear-solve&quot;:514}],92:[function(t,e,r){e.exports=function(t){for(var e=n(t),r=0,i=0;i&lt;t.length;++i)for(var a=t[i],o=0;o&lt;e.length;++o)r+=Math.pow(a[o]-e[o],2);return Math.sqrt(r/t.length)};var n=t(&quot;circumcenter&quot;)},{circumcenter:91}],93:[function(t,e,r){e.exports=function(t,e,r){return e&lt;r?t&lt;e?e:t&gt;r?r:t:t&lt;r?r:t&gt;e?e:t}},{}],94:[function(t,e,r){&quot;use strict&quot;;function n(t){var e=m(t);return[v(e,-1/0),v(e,1/0)]}function i(t){for(var e=new Array(t.length),r=0;r&lt;t.length;++r){var n=t[r];e[r]=[v(n[0],-1/0),v(n[1],-1/0),v(n[0],1/0),v(n[1],1/0)]}return e}function a(t,e,r){for(var i=e.length,a=new u(i),o=[],s=0;s&lt;e.length;++s){var l=e[s],c=n(l[0]),h=n(l[1]);o.push([v(c[0],-1/0),v(h[0],-1/0),v(c[1],1/0),v(h[1],1/0)])}f(o,function(t,e){a.link(t,e)});var d=!0,p=new Array(i);for(s=0;s&lt;i;++s){(g=a.find(s))!==s&amp;&amp;(d=!1,t[g]=[Math.min(t[s][0],t[g][0]),Math.min(t[s][1],t[g][1])])}if(d)return null;var m=0;for(s=0;s&lt;i;++s){var g;(g=a.find(s))===s?(p[s]=m,t[m++]=t[s]):p[s]=-1}t.length=m;for(s=0;s&lt;i;++s)p[s]&lt;0&amp;&amp;(p[s]=p[a.find(s)]);return p}function o(t,e){return t[0]-e[0]||t[1]-e[1]}function s(t,e){var r=t[0]-e[0]||t[1]-e[1];return r||(t[2]&lt;e[2]?-1:t[2]&gt;e[2]?1:0)}function l(t,e,r){if(0!==t.length){if(e)for(var n=0;n&lt;t.length;++n){var i=e[(l=t[n])[0]],a=e[l[1]];l[0]=Math.min(i,a),l[1]=Math.max(i,a)}else for(n=0;n&lt;t.length;++n){var l;i=(l=t[n])[0],a=l[1];l[0]=Math.min(i,a),l[1]=Math.max(i,a)}r?t.sort(s):t.sort(o);var c=1;for(n=1;n&lt;t.length;++n){var u=t[n-1],f=t[n];(f[0]!==u[0]||f[1]!==u[1]||r&amp;&amp;f[2]!==u[2])&amp;&amp;(t[c++]=f)}t.length=c}}function c(t,e,r){var n=function(t,e){for(var r=new Array(e.length),n=0;n&lt;e.length;++n){var i=e[n],a=t[i[0]],o=t[i[1]];r[n]=[v(Math.min(a[0],o[0]),-1/0),v(Math.min(a[1],o[1]),-1/0),v(Math.max(a[0],o[0]),1/0),v(Math.max(a[1],o[1]),1/0)]}return r}(t,e),o=function(t,e,r){var n=[];return f(r,function(r,i){var a=e[r],o=e[i];if(a[0]!==o[0]&amp;&amp;a[0]!==o[1]&amp;&amp;a[1]!==o[0]&amp;&amp;a[1]!==o[1]){var s=t[a[0]],l=t[a[1]],c=t[o[0]],u=t[o[1]];h(s,l,c,u)&amp;&amp;n.push([r,i])}}),n}(t,e,n),s=i(t),c=function(t,e,r,n){var i=[];return f(r,n,function(r,n){var a=e[r];if(a[0]!==n&amp;&amp;a[1]!==n){var o=t[n],s=t[a[0]],l=t[a[1]];h(s,l,o,o)&amp;&amp;i.push([r,n])}}),i}(t,e,n,s),u=a(t,function(t,e,r,n,i){var a,o,s=t.map(function(t){return[d(t[0]),d(t[1])]});for(a=0;a&lt;r.length;++a){var l=r[a];o=l[0];var c=l[1],u=e[o],f=e[c],h=y(g(t[u[0]]),g(t[u[1]]),g(t[f[0]]),g(t[f[1]]));if(h){var v=t.length;t.push([m(h[0]),m(h[1])]),s.push(h),n.push([o,v],[c,v])}}for(n.sort(function(t,e){if(t[0]!==e[0])return t[0]-e[0];var r=s[t[1]],n=s[e[1]];return p(r[0],n[0])||p(r[1],n[1])}),a=n.length-1;a&gt;=0;--a){var x=e[o=(S=n[a])[0]],b=x[0],_=x[1],w=t[b],M=t[_];if((w[0]-M[0]||w[1]-M[1])&lt;0){var k=b;b=_,_=k}x[0]=b;var A,T=x[1]=S[1];for(i&amp;&amp;(A=x[2]);a&gt;0&amp;&amp;n[a-1][0]===o;){var S,E=(S=n[--a])[1];i?e.push([T,E,A]):e.push([T,E]),T=E}i?e.push([T,_,A]):e.push([T,_])}return s}(t,e,o,c,r));return l(e,u,r),!!u||(o.length&gt;0||c.length&gt;0)}e.exports=function(t,e,r){var n;if(r){n=e;for(var o=new Array(e.length),s=0;s&lt;e.length;++s){var u=e[s];o[s]=[u[0],u[1],r[s]]}e=o}for(var f=function(t,e,r){var n=a(t,[],i(t));return l(e,n,r),!!n}(t,e,!!r);c(t,e,!!r);)f=!0;if(r&amp;&amp;f)for(n.length=0,r.length=0,s=0;s&lt;e.length;++s)u=e[s],n.push([u[0],u[1]]),r.push(u[2]);return f};var u=t(&quot;union-find&quot;),f=t(&quot;box-intersect&quot;),h=t(&quot;robust-segment-intersect&quot;),d=t(&quot;big-rat&quot;),p=t(&quot;big-rat/cmp&quot;),m=t(&quot;big-rat/to-float&quot;),g=t(&quot;rat-vec&quot;),v=t(&quot;nextafter&quot;),y=t(&quot;./lib/rat-seg-intersect&quot;)},{&quot;./lib/rat-seg-intersect&quot;:95,&quot;big-rat&quot;:57,&quot;big-rat/cmp&quot;:55,&quot;big-rat/to-float&quot;:69,&quot;box-intersect&quot;:75,nextafter:459,&quot;rat-vec&quot;:496,&quot;robust-segment-intersect&quot;:518,&quot;union-find&quot;:555}],95:[function(t,e,r){&quot;use strict&quot;;function n(t,e){return o(i(t[0],e[1]),i(t[1],e[0]))}e.exports=function(t,e,r,i){var o=l(e,t),f=l(i,r),h=n(o,f);if(0===s(h))return null;var d=n(f,l(t,r)),p=a(d,h),m=u(o,p);return c(t,m)};var i=t(&quot;big-rat/mul&quot;),a=t(&quot;big-rat/div&quot;),o=t(&quot;big-rat/sub&quot;),s=t(&quot;big-rat/sign&quot;),l=t(&quot;rat-vec/sub&quot;),c=t(&quot;rat-vec/add&quot;),u=t(&quot;rat-vec/muls&quot;)},{&quot;big-rat/div&quot;:56,&quot;big-rat/mul&quot;:66,&quot;big-rat/sign&quot;:67,&quot;big-rat/sub&quot;:68,&quot;rat-vec/add&quot;:495,&quot;rat-vec/muls&quot;:497,&quot;rat-vec/sub&quot;:498}],96:[function(t,e,r){(function(t){var r=function(){&quot;use strict&quot;;function e(r,i,a,o){function s(r,a){if(null===r)return null;if(0==a)return r;var f,h;if(&quot;object&quot;!=typeof r)return r;if(e.__isArray(r))f=[];else if(e.__isRegExp(r))f=new RegExp(r.source,n(r)),r.lastIndex&amp;&amp;(f.lastIndex=r.lastIndex);else if(e.__isDate(r))f=new Date(r.getTime());else{if(u&amp;&amp;t.isBuffer(r))return f=new t(r.length),r.copy(f),f;void 0===o?(h=Object.getPrototypeOf(r),f=Object.create(h)):(f=Object.create(o),h=o)}if(i){var d=l.indexOf(r);if(-1!=d)return c[d];l.push(r),c.push(f)}for(var p in r){var m;h&amp;&amp;(m=Object.getOwnPropertyDescriptor(h,p)),m&amp;&amp;null==m.set||(f[p]=s(r[p],a-1))}return f}&quot;object&quot;==typeof i&amp;&amp;(a=i.depth,o=i.prototype,i.filter,i=i.circular);var l=[],c=[],u=void 0!==t;return void 0===i&amp;&amp;(i=!0),void 0===a&amp;&amp;(a=1/0),s(r,a)}function r(t){return Object.prototype.toString.call(t)}function n(t){var e=&quot;&quot;;return t.global&amp;&amp;(e+=&quot;g&quot;),t.ignoreCase&amp;&amp;(e+=&quot;i&quot;),t.multiline&amp;&amp;(e+=&quot;m&quot;),e}return e.clonePrototype=function(t){if(null===t)return null;var e=function(){};return e.prototype=t,new e},e.__objToStr=r,e.__isDate=function(t){return&quot;object&quot;==typeof t&amp;&amp;&quot;[object Date]&quot;===r(t)},e.__isArray=function(t){return&quot;object&quot;==typeof t&amp;&amp;&quot;[object Array]&quot;===r(t)},e.__isRegExp=function(t){return&quot;object&quot;==typeof t&amp;&amp;&quot;[object RegExp]&quot;===r(t)},e.__getRegExpFlags=n,e}();&quot;object&quot;==typeof e&amp;&amp;e.exports&amp;&amp;(e.exports=r)}).call(this,t(&quot;buffer&quot;).Buffer)},{buffer:82}],97:[function(t,e,r){&quot;use strict&quot;;function n(t,e){null==e&amp;&amp;(e=!0);var r=t[0],n=t[1],a=t[2],o=t[3];null==o&amp;&amp;(o=e?1:255),e&amp;&amp;(r*=255,n*=255,a*=255,o*=255);return 16777216*(r=255&amp;i(r,0,255))+((n=255&amp;i(n,0,255))&lt;&lt;16)+((a=255&amp;i(a,0,255))&lt;&lt;8)+(o=255&amp;i(o,0,255))}var i=t(&quot;clamp&quot;);e.exports=n,e.exports.to=n,e.exports.from=function(t,e){var r=(t=+t)&gt;&gt;&gt;24,n=(16711680&amp;t)&gt;&gt;&gt;16,i=(65280&amp;t)&gt;&gt;&gt;8,a=255&amp;t;return!1===e?[r,n,i,a]:[r/255,n/255,i/255,a/255]}},{clamp:93}],98:[function(t,e,r){&quot;use strict&quot;;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]}},{}],99:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;color-rgba&quot;),i=t(&quot;clamp&quot;),a=t(&quot;dtype&quot;);e.exports=function(t,e){&quot;float&quot;!==e&amp;&amp;e||(e=&quot;array&quot;),&quot;uint&quot;===e&amp;&amp;(e=&quot;uint8&quot;),&quot;uint_clamped&quot;===e&amp;&amp;(e=&quot;uint8_clamped&quot;);var r=a(e),o=new r(4);if(t instanceof r)return Array.isArray(t)?t.slice():(o.set(t),o);var s=&quot;uint8&quot;!==e&amp;&amp;&quot;uint8_clamped&quot;!==e;return t instanceof Uint8Array||t instanceof Uint8ClampedArray?(o[0]=t[0],o[1]=t[1],o[2]=t[2],o[3]=null!=t[3]?t[3]:255,s&amp;&amp;(o[0]/=255,o[1]/=255,o[2]/=255,o[3]/=255),o):(t.length&amp;&amp;&quot;string&quot;!=typeof t||((t=n(t))[0]/=255,t[1]/=255,t[2]/=255),s?(o[0]=t[0],o[1]=t[1],o[2]=t[2],o[3]=null!=t[3]?t[3]:1):(o[0]=i(Math.round(255*t[0]),0,255),o[1]=i(Math.round(255*t[1]),0,255),o[2]=i(Math.round(255*t[2]),0,255),o[3]=null==t[3]?255:i(Math.floor(255*t[3]),0,255)),o)}},{clamp:93,&quot;color-rgba&quot;:101,dtype:133}],100:[function(t,e,r){(function(r){&quot;use strict&quot;;var n=t(&quot;color-name&quot;),i=t(&quot;is-plain-obj&quot;),a=t(&quot;defined&quot;);e.exports=function(t){var e,s,l=[],c=1;if(&quot;string&quot;==typeof t)if(n[t])l=n[t].slice(),s=&quot;rgb&quot;;else if(&quot;transparent&quot;===t)c=0,s=&quot;rgb&quot;,l=[0,0,0];else if(/^#[A-Fa-f0-9]+$/.test(t)){var u=t.slice(1);c=1,(h=u.length)&lt;=4?(l=[parseInt(u[0]+u[0],16),parseInt(u[1]+u[1],16),parseInt(u[2]+u[2],16)],4===h&amp;&amp;(c=parseInt(u[3]+u[3],16)/255)):(l=[parseInt(u[0]+u[1],16),parseInt(u[2]+u[3],16),parseInt(u[4]+u[5],16)],8===h&amp;&amp;(c=parseInt(u[6]+u[7],16)/255)),l[0]||(l[0]=0),l[1]||(l[1]=0),l[2]||(l[2]=0),s=&quot;rgb&quot;}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];s=u=f.replace(/a$/,&quot;&quot;);var h=&quot;cmyk&quot;===u?4:&quot;gray&quot;===u?1:3;l=e[2].trim().split(/\s*,\s*/).map(function(t,e){if(/%$/.test(t))return e===h?parseFloat(t)/100:&quot;rgb&quot;===u?255*parseFloat(t)/100:parseFloat(t);if(&quot;h&quot;===u[e]){if(/deg$/.test(t))return parseFloat(t);if(void 0!==o[t])return o[t]}return parseFloat(t)}),f===u&amp;&amp;l.push(1),c=void 0===l[h]?1:l[h],l=l.slice(0,h)}else t.length&gt;10&amp;&amp;/[0-9](?:\s|\/)/.test(t)&amp;&amp;(l=t.match(/([0-9]+)/g).map(function(t){return parseFloat(t)}),s=t.match(/([a-z])/gi).join(&quot;&quot;).toLowerCase());else if(&quot;number&quot;==typeof t)s=&quot;rgb&quot;,l=[t&gt;&gt;&gt;16,(65280&amp;t)&gt;&gt;&gt;8,255&amp;t];else if(i(t)){var d=a(t.r,t.red,t.R,null);null!==d?(s=&quot;rgb&quot;,l=[d,a(t.g,t.green,t.G),a(t.b,t.blue,t.B)]):(s=&quot;hsl&quot;,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&amp;&amp;(c/=100)}else(Array.isArray(t)||r.ArrayBuffer&amp;&amp;ArrayBuffer.isView&amp;&amp;ArrayBuffer.isView(t))&amp;&amp;(l=[t[0],t[1],t[2]],s=&quot;rgb&quot;,c=4===t.length?t[3]:1);return{space:s,values:l,alpha:c}};var o={red:0,orange:60,yellow:120,green:180,blue:240,purple:300}}).call(this,&quot;undefined&quot;!=typeof global?global:&quot;undefined&quot;!=typeof self?self:&quot;undefined&quot;!=typeof window?window:{})},{&quot;color-name&quot;:98,defined:129,&quot;is-plain-obj&quot;:286}],101:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;color-parse&quot;),i=t(&quot;color-space/hsl&quot;),a=t(&quot;clamp&quot;);e.exports=function(t){var e;if(&quot;string&quot;!=typeof t)throw Error(&quot;Argument should be a string&quot;);var r=n(t);return r.space?(e=Array(3),e[0]=a(r.values[0],0,255),e[1]=a(r.values[1],0,255),e[2]=a(r.values[2],0,255),&quot;h&quot;===r.space[0]&amp;&amp;(e=i.rgb(e)),e.push(a(r.alpha,0,1)),e):[]}},{clamp:93,&quot;color-parse&quot;:100,&quot;color-space/hsl&quot;:102}],102:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;./rgb&quot;);e.exports={name:&quot;hsl&quot;,min:[0,0,0],max:[360,100,100],channel:[&quot;hue&quot;,&quot;saturation&quot;,&quot;lightness&quot;],alias:[&quot;HSL&quot;],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,a];e=2*l-(r=l&lt;.5?l*(1+s):l+s-l*s),i=[0,0,0];for(var c=0;c&lt;3;c++)(n=o+1/3*-(c-1))&lt;0?n++:n&gt;1&amp;&amp;n--,a=6*n&lt;1?e+6*(r-e)*n:2*n&lt;1?r:3*n&lt;2?e+(r-e)*(2/3-n)*6:e,i[c]=255*a;return i}},n.hsl=function(t){var e,r,n,i=t[0]/255,a=t[1]/255,o=t[2]/255,s=Math.min(i,a,o),l=Math.max(i,a,o),c=l-s;return l===s?e=0:i===l?e=(a-o)/c:a===l?e=2+(o-i)/c:o===l&amp;&amp;(e=4+(i-a)/c),(e=Math.min(60*e,360))&lt;0&amp;&amp;(e+=360),n=(s+l)/2,r=l===s?0:n&lt;=.5?c/(l+s):c/(2-l-s),[e,100*r,100*n]}},{&quot;./rgb&quot;:103}],103:[function(t,e,r){&quot;use strict&quot;;e.exports={name:&quot;rgb&quot;,min:[0,0,0],max:[255,255,255],channel:[&quot;red&quot;,&quot;green&quot;,&quot;blue&quot;],alias:[&quot;RGB&quot;]}},{}],104:[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]}],cool:[{index:0,rgb:[0,255,255]},{index:1,rgb:[255,0,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:0,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]}],&quot;rainbow-soft&quot;:[{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]}],&quot;freesurface-blue&quot;:[{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]}],&quot;freesurface-red&quot;:[{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]}],&quot;velocity-blue&quot;:[{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]}],&quot;velocity-green&quot;:[{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]}]}},{}],105:[function(t,e,r){&quot;use strict&quot;;function n(t){for(var e,r=&quot;#&quot;,n=0;n&lt;3;++n)r+=(&quot;00&quot;+(e=(e=t[n]).toString(16))).substr(e.length);return r}function i(t){return&quot;rgba(&quot;+t.join(&quot;,&quot;)+&quot;)&quot;}var a=t(&quot;arraytools&quot;),o=t(&quot;clone&quot;),s=t(&quot;./colorScales&quot;);e.exports=function(t){var e,r,l,c,u,f,h,d,p,m,g,v,y,x=[],b=[],_=[],w=[];if(a.isPlainObject(t)||(t={}),p=t.nshades||72,d=t.format||&quot;hex&quot;,(h=t.colormap)||(h=&quot;jet&quot;),&quot;string&quot;==typeof h){if(h=h.toLowerCase(),!s[h])throw Error(h+&quot; not a supported colorscale&quot;);f=o(s[h])}else{if(!Array.isArray(h))throw Error(&quot;unsupported colormap option&quot;,h);f=o(h)}if(f.length&gt;p)throw new Error(h+&quot; map requires nshades to be at least size &quot;+f.length);for(g=Array.isArray(t.alpha)?2!==t.alpha.length?[1,1]:o(t.alpha):&quot;number&quot;==typeof t.alpha?[t.alpha,t.alpha]:[1,1],e=f.map(function(t){return Math.round(t.index*p)}),g[0]&lt;0&amp;&amp;(g[0]=0),g[1]&lt;0&amp;&amp;(g[0]=0),g[0]&gt;1&amp;&amp;(g[0]=1),g[1]&gt;1&amp;&amp;(g[0]=1),y=0;y&lt;e.length;++y)v=f[y].index,4===(r=f[y].rgb).length&amp;&amp;r[3]&gt;=0&amp;&amp;r[3]&lt;=1||(r[3]=g[0]+(g[1]-g[0])*v);for(y=0;y&lt;e.length-1;++y)u=e[y+1]-e[y],l=f[y].rgb,c=f[y+1].rgb,x=x.concat(a.linspace(l[0],c[0],u)),b=b.concat(a.linspace(l[1],c[1],u)),_=_.concat(a.linspace(l[2],c[2],u)),w=w.concat(a.linspace(l[3],c[3],u));return x=x.map(Math.round),b=b.map(Math.round),_=_.map(Math.round),m=a.zip(x,b,_,w),&quot;hex&quot;===d&amp;&amp;(m=m.map(n)),&quot;rgbaString&quot;===d&amp;&amp;(m=m.map(i)),m}},{&quot;./colorScales&quot;:104,arraytools:50,clone:96}],106:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r){var n=o(t[0],-e[0]),i=o(t[1],-e[1]),a=o(r[0],-e[0]),c=o(r[1],-e[1]),u=l(s(n,a),s(i,c));return u[u.length-1]&gt;=0}e.exports=function(t,e,r,o){var s=i(e,r,o);if(0===s){var l=a(i(t,e,r)),c=a(i(t,e,o));if(l===c){if(0===l){var u=n(t,e,r);return u===n(t,e,o)?0:u?1:-1}return 0}return 0===c?l&gt;0?-1:n(t,e,o)?-1:1:0===l?c&gt;0?1:n(t,e,r)?1:-1:a(c-l)}var f=i(t,e,r);return f&gt;0?s&gt;0&amp;&amp;i(t,e,o)&gt;0?1:-1:f&lt;0?s&gt;0||i(t,e,o)&gt;0?1:-1:i(t,e,o)&gt;0?1:n(t,e,r)?1:-1};var i=t(&quot;robust-orientation&quot;),a=t(&quot;signum&quot;),o=t(&quot;two-sum&quot;),s=t(&quot;robust-product&quot;),l=t(&quot;robust-sum&quot;)},{&quot;robust-orientation&quot;:515,&quot;robust-product&quot;:516,&quot;robust-sum&quot;:520,signum:522,&quot;two-sum&quot;:553}],107:[function(t,e,r){function n(t,e){return t-e}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]||i(t[0],t[1])-i(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=i(t[0],t[1]),c=i(e[0],e[1]);return i(l,t[2])-i(c,e[2])||i(l+t[2],o)-i(c+e[2],s);case 4:var u=t[0],f=t[1],h=t[2],d=t[3],p=e[0],m=e[1],g=e[2],v=e[3];return u+f+h+d-(p+m+g+v)||i(u,f,h,d)-i(p,m,g,v,p)||i(u+f,u+h,u+d,f+h,f+d,h+d)-i(p+m,p+g,p+v,m+g,m+v,g+v)||i(u+f+h,u+f+d,u+h+d,f+h+d)-i(p+m+g,p+m+v,p+g+v,m+g+v);default:for(var y=t.slice().sort(n),x=e.slice().sort(n),b=0;b&lt;r;++b)if(a=y[b]-x[b])return a;return 0}};var i=Math.min},{}],108:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;compare-cell&quot;),i=t(&quot;cell-orientation&quot;);e.exports=function(t,e){return n(t,e)||i(t)-i(e)}},{&quot;cell-orientation&quot;:90,&quot;compare-cell&quot;:107}],109:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;./lib/ch1d&quot;),i=t(&quot;./lib/ch2d&quot;),a=t(&quot;./lib/chnd&quot;);e.exports=function(t){var e=t.length;if(0===e)return[];if(1===e)return[[0]];var r=t[0].length;return 0===r?[]:1===r?n(t):2===r?i(t):a(t,r)}},{&quot;./lib/ch1d&quot;:110,&quot;./lib/ch2d&quot;:111,&quot;./lib/chnd&quot;:112}],110:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t){for(var e=0,r=0,n=1;n&lt;t.length;++n)t[n][0]&lt;t[e][0]&amp;&amp;(e=n),t[n][0]&gt;t[r][0]&amp;&amp;(r=n);return e&lt;r?[[e],[r]]:e&gt;r?[[r],[e]]:[[e]]}},{}],111:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t){var e=n(t),r=e.length;if(r&lt;=2)return[];for(var i=new Array(r),a=e[r-1],o=0;o&lt;r;++o){var s=e[o];i[o]=[a,s],a=s}return i};var n=t(&quot;monotone-convex-hull-2d&quot;)},{&quot;monotone-convex-hull-2d&quot;:442}],112:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t,e){try{return n(t,!0)}catch(o){var r=i(t);if(r.length&lt;=e)return[];var a=function(t,e){for(var r=t.length,n=new Array(r),i=0;i&lt;e.length;++i)n[i]=t[e[i]];var a=e.length;for(i=0;i&lt;r;++i)e.indexOf(i)&lt;0&amp;&amp;(n[a++]=t[i]);return n}(t,r);return function(t,e){for(var r=t.length,n=e.length,i=0;i&lt;r;++i)for(var a=t[i],o=0;o&lt;a.length;++o){var s=a[o];if(s&lt;n)a[o]=e[s];else{s-=n;for(var l=0;l&lt;n;++l)s&gt;=e[l]&amp;&amp;(s+=1);a[o]=s}}return t}(n(a,!0),r)}};var n=t(&quot;incremental-convex-hull&quot;),i=t(&quot;affine-hull&quot;)},{&quot;affine-hull&quot;:45,&quot;incremental-convex-hull&quot;:278}],113:[function(t,e,r){e.exports={AFG:&quot;afghan&quot;,ALA:&quot;\\b\\wland&quot;,ALB:&quot;albania&quot;,DZA:&quot;algeria&quot;,ASM:&quot;^(?=.*americ).*samoa&quot;,AND:&quot;andorra&quot;,AGO:&quot;angola&quot;,AIA:&quot;anguill?a&quot;,ATA:&quot;antarctica&quot;,ATG:&quot;antigua&quot;,ARG:&quot;argentin&quot;,ARM:&quot;armenia&quot;,ABW:&quot;^(?!.*bonaire).*\\baruba&quot;,AUS:&quot;australia&quot;,AUT:&quot;^(?!.*hungary).*austria|\\baustri.*\\bemp&quot;,AZE:&quot;azerbaijan&quot;,BHS:&quot;bahamas&quot;,BHR:&quot;bahrain&quot;,BGD:&quot;bangladesh|^(?=.*east).*paki?stan&quot;,BRB:&quot;barbados&quot;,BLR:&quot;belarus|byelo&quot;,BEL:&quot;^(?!.*luxem).*belgium&quot;,BLZ:&quot;belize|^(?=.*british).*honduras&quot;,BEN:&quot;benin|dahome&quot;,BMU:&quot;bermuda&quot;,BTN:&quot;bhutan&quot;,BOL:&quot;bolivia&quot;,BES:&quot;^(?=.*bonaire).*eustatius|^(?=.*carib).*netherlands|\\bbes.?islands&quot;,BIH:&quot;herzegovina|bosnia&quot;,BWA:&quot;botswana|bechuana&quot;,BVT:&quot;bouvet&quot;,BRA:&quot;brazil&quot;,IOT:&quot;british.?indian.?ocean&quot;,BRN:&quot;brunei&quot;,BGR:&quot;bulgaria&quot;,BFA:&quot;burkina|\\bfaso|upper.?volta&quot;,BDI:&quot;burundi&quot;,CPV:&quot;verde&quot;,KHM:&quot;cambodia|kampuchea|khmer&quot;,CMR:&quot;cameroon&quot;,CAN:&quot;canada&quot;,CYM:&quot;cayman&quot;,CAF:&quot;\\bcentral.african.republic&quot;,TCD:&quot;\\bchad&quot;,CHL:&quot;\\bchile&quot;,CHN:&quot;^(?!.*\\bmac)(?!.*\\bhong)(?!.*\\btai)(?!.*\\brep).*china|^(?=.*peo)(?=.*rep).*china&quot;,CXR:&quot;christmas&quot;,CCK:&quot;\\bcocos|keeling&quot;,COL:&quot;colombia&quot;,COM:&quot;comoro&quot;,COG:&quot;^(?!.*\\bdem)(?!.*\\bd[\\.]?r)(?!.*kinshasa)(?!.*zaire)(?!.*belg)(?!.*l.opoldville)(?!.*free).*\\bcongo&quot;,COK:&quot;\\bcook&quot;,CRI:&quot;costa.?rica&quot;,CIV:&quot;ivoire|ivory&quot;,HRV:&quot;croatia&quot;,CUB:&quot;\\bcuba&quot;,CUW:&quot;^(?!.*bonaire).*\\bcura(c|\xe7)ao&quot;,CYP:&quot;cyprus&quot;,CSK:&quot;czechoslovakia&quot;,CZE:&quot;^(?=.*rep).*czech|czechia|bohemia&quot;,COD:&quot;\\bdem.*congo|congo.*\\bdem|congo.*\\bd[\\.]?r|\\bd[\\.]?r.*congo|belgian.?congo|congo.?free.?state|kinshasa|zaire|l.opoldville|drc|droc|rdc&quot;,DNK:&quot;denmark&quot;,DJI:&quot;djibouti&quot;,DMA:&quot;dominica(?!n)&quot;,DOM:&quot;dominican.rep&quot;,ECU:&quot;ecuador&quot;,EGY:&quot;egypt&quot;,SLV:&quot;el.?salvador&quot;,GNQ:&quot;guine.*eq|eq.*guine|^(?=.*span).*guinea&quot;,ERI:&quot;eritrea&quot;,EST:&quot;estonia&quot;,ETH:&quot;ethiopia|abyssinia&quot;,FLK:&quot;falkland|malvinas&quot;,FRO:&quot;faroe|faeroe&quot;,FJI:&quot;fiji&quot;,FIN:&quot;finland&quot;,FRA:&quot;^(?!.*\\bdep)(?!.*martinique).*france|french.?republic|\\bgaul&quot;,GUF:&quot;^(?=.*french).*guiana&quot;,PYF:&quot;french.?polynesia|tahiti&quot;,ATF:&quot;french.?southern&quot;,GAB:&quot;gabon&quot;,GMB:&quot;gambia&quot;,GEO:&quot;^(?!.*south).*georgia&quot;,DDR:&quot;german.?democratic.?republic|democratic.?republic.*germany|east.germany&quot;,DEU:&quot;^(?!.*east).*germany|^(?=.*\\bfed.*\\brep).*german&quot;,GHA:&quot;ghana|gold.?coast&quot;,GIB:&quot;gibraltar&quot;,GRC:&quot;greece|hellenic|hellas&quot;,GRL:&quot;greenland&quot;,GRD:&quot;grenada&quot;,GLP:&quot;guadeloupe&quot;,GUM:&quot;\\bguam&quot;,GTM:&quot;guatemala&quot;,GGY:&quot;guernsey&quot;,GIN:&quot;^(?!.*eq)(?!.*span)(?!.*bissau)(?!.*portu)(?!.*new).*guinea&quot;,GNB:&quot;bissau|^(?=.*portu).*guinea&quot;,GUY:&quot;guyana|british.?guiana&quot;,HTI:&quot;haiti&quot;,HMD:&quot;heard.*mcdonald&quot;,VAT:&quot;holy.?see|vatican|papal.?st&quot;,HND:&quot;^(?!.*brit).*honduras&quot;,HKG:&quot;hong.?kong&quot;,HUN:&quot;^(?!.*austr).*hungary&quot;,ISL:&quot;iceland&quot;,IND:&quot;india(?!.*ocea)&quot;,IDN:&quot;indonesia&quot;,IRN:&quot;\\biran|persia&quot;,IRQ:&quot;\\biraq|mesopotamia&quot;,IRL:&quot;(^ireland)|(^republic.*ireland)&quot;,IMN:&quot;^(?=.*isle).*\\bman&quot;,ISR:&quot;israel&quot;,ITA:&quot;italy&quot;,JAM:&quot;jamaica&quot;,JPN:&quot;japan&quot;,JEY:&quot;jersey&quot;,JOR:&quot;jordan&quot;,KAZ:&quot;kazak&quot;,KEN:&quot;kenya|british.?east.?africa|east.?africa.?prot&quot;,KIR:&quot;kiribati&quot;,PRK:&quot;^(?=.*democrat|people|north|d.*p.*.r).*\\bkorea|dprk|korea.*(d.*p.*r)&quot;,KWT:&quot;kuwait&quot;,KGZ:&quot;kyrgyz|kirghiz&quot;,LAO:&quot;\\blaos?\\b&quot;,LVA:&quot;latvia&quot;,LBN:&quot;lebanon&quot;,LSO:&quot;lesotho|basuto&quot;,LBR:&quot;liberia&quot;,LBY:&quot;libya&quot;,LIE:&quot;liechtenstein&quot;,LTU:&quot;lithuania&quot;,LUX:&quot;^(?!.*belg).*luxem&quot;,MAC:&quot;maca(o|u)&quot;,MDG:&quot;madagascar|malagasy&quot;,MWI:&quot;malawi|nyasa&quot;,MYS:&quot;malaysia&quot;,MDV:&quot;maldive&quot;,MLI:&quot;\\bmali\\b&quot;,MLT:&quot;\\bmalta&quot;,MHL:&quot;marshall&quot;,MTQ:&quot;martinique&quot;,MRT:&quot;mauritania&quot;,MUS:&quot;mauritius&quot;,MYT:&quot;\\bmayotte&quot;,MEX:&quot;\\bmexic&quot;,FSM:&quot;fed.*micronesia|micronesia.*fed&quot;,MCO:&quot;monaco&quot;,MNG:&quot;mongolia&quot;,MNE:&quot;^(?!.*serbia).*montenegro&quot;,MSR:&quot;montserrat&quot;,MAR:&quot;morocco|\\bmaroc&quot;,MOZ:&quot;mozambique&quot;,MMR:&quot;myanmar|burma&quot;,NAM:&quot;namibia&quot;,NRU:&quot;nauru&quot;,NPL:&quot;nepal&quot;,NLD:&quot;^(?!.*\\bant)(?!.*\\bcarib).*netherlands&quot;,ANT:&quot;^(?=.*\\bant).*(nether|dutch)&quot;,NCL:&quot;new.?caledonia&quot;,NZL:&quot;new.?zealand&quot;,NIC:&quot;nicaragua&quot;,NER:&quot;\\bniger(?!ia)&quot;,NGA:&quot;nigeria&quot;,NIU:&quot;niue&quot;,NFK:&quot;norfolk&quot;,MNP:&quot;mariana&quot;,NOR:&quot;norway&quot;,OMN:&quot;\\boman|trucial&quot;,PAK:&quot;^(?!.*east).*paki?stan&quot;,PLW:&quot;palau&quot;,PSE:&quot;palestin|\\bgaza|west.?bank&quot;,PAN:&quot;panama&quot;,PNG:&quot;papua|new.?guinea&quot;,PRY:&quot;paraguay&quot;,PER:&quot;peru&quot;,PHL:&quot;philippines&quot;,PCN:&quot;pitcairn&quot;,POL:&quot;poland&quot;,PRT:&quot;portugal&quot;,PRI:&quot;puerto.?rico&quot;,QAT:&quot;qatar&quot;,KOR:&quot;^(?!.*d.*p.*r)(?!.*democrat)(?!.*people)(?!.*north).*\\bkorea(?!.*d.*p.*r)&quot;,MDA:&quot;moldov|b(a|e)ssarabia&quot;,REU:&quot;r(e|\xe9)union&quot;,ROU:&quot;r(o|u|ou)mania&quot;,RUS:&quot;\\brussia|soviet.?union|u\\.?s\\.?s\\.?r|socialist.?republics&quot;,RWA:&quot;rwanda&quot;,BLM:&quot;barth(e|\xe9)lemy&quot;,SHN:&quot;helena&quot;,KNA:&quot;kitts|\\bnevis&quot;,LCA:&quot;\\blucia&quot;,MAF:&quot;^(?=.*collectivity).*martin|^(?=.*france).*martin(?!ique)|^(?=.*french).*martin(?!ique)&quot;,SPM:&quot;miquelon&quot;,VCT:&quot;vincent&quot;,WSM:&quot;^(?!.*amer).*samoa&quot;,SMR:&quot;san.?marino&quot;,STP:&quot;\\bs(a|\xe3)o.?tom(e|\xe9)&quot;,SAU:&quot;\\bsa\\w*.?arabia&quot;,SEN:&quot;senegal&quot;,SRB:&quot;^(?!.*monte).*serbia&quot;,SYC:&quot;seychell&quot;,SLE:&quot;sierra&quot;,SGP:&quot;singapore&quot;,SXM:&quot;^(?!.*martin)(?!.*saba).*maarten&quot;,SVK:&quot;^(?!.*cze).*slovak&quot;,SVN:&quot;slovenia&quot;,SLB:&quot;solomon&quot;,SOM:&quot;somali&quot;,ZAF:&quot;south.africa|s\\\\..?africa&quot;,SGS:&quot;south.?georgia|sandwich&quot;,SSD:&quot;\\bs\\w*.?sudan&quot;,ESP:&quot;spain&quot;,LKA:&quot;sri.?lanka|ceylon&quot;,SDN:&quot;^(?!.*\\bs(?!u)).*sudan&quot;,SUR:&quot;surinam|dutch.?guiana&quot;,SJM:&quot;svalbard&quot;,SWZ:&quot;swaziland&quot;,SWE:&quot;sweden&quot;,CHE:&quot;switz|swiss&quot;,SYR:&quot;syria&quot;,TWN:&quot;taiwan|taipei|formosa|^(?!.*peo)(?=.*rep).*china&quot;,TJK:&quot;tajik&quot;,THA:&quot;thailand|\\bsiam&quot;,MKD:&quot;macedonia|fyrom&quot;,TLS:&quot;^(?=.*leste).*timor|^(?=.*east).*timor&quot;,TGO:&quot;togo&quot;,TKL:&quot;tokelau&quot;,TON:&quot;tonga&quot;,TTO:&quot;trinidad|tobago&quot;,TUN:&quot;tunisia&quot;,TUR:&quot;turkey&quot;,TKM:&quot;turkmen&quot;,TCA:&quot;turks&quot;,TUV:&quot;tuvalu&quot;,UGA:&quot;uganda&quot;,UKR:&quot;ukrain&quot;,ARE:&quot;emirates|^u\\.?a\\.?e\\.?$|united.?arab.?em&quot;,GBR:&quot;united.?kingdom|britain|^u\\.?k\\.?$&quot;,TZA:&quot;tanzania&quot;,USA:&quot;united.?states\\b(?!.*islands)|\\bu\\.?s\\.?a\\.?\\b|^\\s*u\\.?s\\.?\\b(?!.*islands)&quot;,UMI:&quot;minor.?outlying.?is&quot;,URY:&quot;uruguay&quot;,UZB:&quot;uzbek&quot;,VUT:&quot;vanuatu|new.?hebrides&quot;,VEN:&quot;venezuela&quot;,VNM:&quot;^(?!.*republic).*viet.?nam|^(?=.*socialist).*viet.?nam&quot;,VGB:&quot;^(?=.*\\bu\\.?\\s?k).*virgin|^(?=.*brit).*virgin|^(?=.*kingdom).*virgin&quot;,VIR:&quot;^(?=.*\\bu\\.?\\s?s).*virgin|^(?=.*states).*virgin&quot;,WLF:&quot;futuna|wallis&quot;,ESH:&quot;western.sahara&quot;,YEM:&quot;^(?!.*arab)(?!.*north)(?!.*sana)(?!.*peo)(?!.*dem)(?!.*south)(?!.*aden)(?!.*\\bp\\.?d\\.?r).*yemen&quot;,YMD:&quot;^(?=.*peo).*yemen|^(?!.*rep)(?=.*dem).*yemen|^(?=.*south).*yemen|^(?=.*aden).*yemen|^(?=.*\\bp\\.?d\\.?r).*yemen&quot;,YUG:&quot;yugoslavia&quot;,ZMB:&quot;zambia|northern.?rhodesia&quot;,EAZ:&quot;zanzibar&quot;,ZWE:&quot;zimbabwe|^(?!.*northern).*rhodesia&quot;}},{}],114:[function(t,e,r){function n(t){return(t=Math.round(t))&lt;0?0:t&gt;255?255:t}function i(t){return t&lt;0?0:t&gt;1?1:t}function a(t){return n(&quot;%&quot;===t[t.length-1]?parseFloat(t)/100*255:parseInt(t))}function o(t){return i(&quot;%&quot;===t[t.length-1]?parseFloat(t)/100:parseFloat(t))}function s(t,e,r){return r&lt;0?r+=1:r&gt;1&amp;&amp;(r-=1),6*r&lt;1?t+(e-t)*r*6:2*r&lt;1?e:3*r&lt;2?t+(e-t)*(2/3-r)*6:t}function l(t){var e=t.replace(/ /g,&quot;&quot;).toLowerCase();if(e in c)return c[e].slice();if(&quot;#&quot;===e[0]){if(4===e.length){return(r=parseInt(e.substr(1),16))&gt;=0&amp;&amp;r&lt;=4095?[(3840&amp;r)&gt;&gt;4|(3840&amp;r)&gt;&gt;8,240&amp;r|(240&amp;r)&gt;&gt;4,15&amp;r|(15&amp;r)&lt;&lt;4,1]:null}if(7===e.length){var r;return(r=parseInt(e.substr(1),16))&gt;=0&amp;&amp;r&lt;=16777215?[(16711680&amp;r)&gt;&gt;16,(65280&amp;r)&gt;&gt;8,255&amp;r,1]:null}return null}var i=e.indexOf(&quot;(&quot;),l=e.indexOf(&quot;)&quot;);if(-1!==i&amp;&amp;l+1===e.length){var u=e.substr(0,i),f=e.substr(i+1,l-(i+1)).split(&quot;,&quot;),h=1;switch(u){case&quot;rgba&quot;:if(4!==f.length)return null;h=o(f.pop());case&quot;rgb&quot;:return 3!==f.length?null:[a(f[0]),a(f[1]),a(f[2]),h];case&quot;hsla&quot;:if(4!==f.length)return null;h=o(f.pop());case&quot;hsl&quot;:if(3!==f.length)return null;var d=(parseFloat(f[0])%360+360)%360/360,p=o(f[1]),m=o(f[2]),g=m&lt;=.5?m*(p+1):m+p-m*p,v=2*m-g;return[n(255*s(v,g,d+1/3)),n(255*s(v,g,d)),n(255*s(v,g,d-1/3)),h];default:return null}}return null}var c={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]};try{r.parseCSSColor=l}catch(t){}},{}],115:[function(t,e,r){&quot;use strict&quot;;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 d=t.length-1;d&gt;=0;--d)a[d]=c*t[d]+u*e[d]+f*r[d]+h*n[d];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&gt;=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}},{}],116:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;./lib/thunk.js&quot;);e.exports=function(t){var e=new function(){this.argTypes=[],this.shimArgs=[],this.arrayArgs=[],this.arrayBlockIndices=[],this.scalarArgs=[],this.offsetArgs=[],this.offsetArgIndex=[],this.indexArgs=[],this.shapeArgs=[],this.funcName=&quot;&quot;,this.pre=null,this.body=null,this.post=null,this.debug=!1};e.pre=t.pre,e.body=t.body,e.post=t.post;var r=t.args.slice(0);e.argTypes=r;for(var i=0;i&lt;r.length;++i){var a=r[i];if(&quot;array&quot;===a||&quot;object&quot;==typeof a&amp;&amp;a.blockIndices){if(e.argTypes[i]=&quot;array&quot;,e.arrayArgs.push(i),e.arrayBlockIndices.push(a.blockIndices?a.blockIndices:0),e.shimArgs.push(&quot;array&quot;+i),i&lt;e.pre.args.length&amp;&amp;e.pre.args[i].count&gt;0)throw new Error(&quot;cwise: pre() block may not reference array args&quot;);if(i&lt;e.post.args.length&amp;&amp;e.post.args[i].count&gt;0)throw new Error(&quot;cwise: post() block may not reference array args&quot;)}else if(&quot;scalar&quot;===a)e.scalarArgs.push(i),e.shimArgs.push(&quot;scalar&quot;+i);else if(&quot;index&quot;===a){if(e.indexArgs.push(i),i&lt;e.pre.args.length&amp;&amp;e.pre.args[i].count&gt;0)throw new Error(&quot;cwise: pre() block may not reference array index&quot;);if(i&lt;e.body.args.length&amp;&amp;e.body.args[i].lvalue)throw new Error(&quot;cwise: body() block may not write to array index&quot;);if(i&lt;e.post.args.length&amp;&amp;e.post.args[i].count&gt;0)throw new Error(&quot;cwise: post() block may not reference array index&quot;)}else if(&quot;shape&quot;===a){if(e.shapeArgs.push(i),i&lt;e.pre.args.length&amp;&amp;e.pre.args[i].lvalue)throw new Error(&quot;cwise: pre() block may not write to array shape&quot;);if(i&lt;e.body.args.length&amp;&amp;e.body.args[i].lvalue)throw new Error(&quot;cwise: body() block may not write to array shape&quot;);if(i&lt;e.post.args.length&amp;&amp;e.post.args[i].lvalue)throw new Error(&quot;cwise: post() block may not write to array shape&quot;)}else{if(&quot;object&quot;!=typeof a||!a.offset)throw new Error(&quot;cwise: Unknown argument type &quot;+r[i]);e.argTypes[i]=&quot;offset&quot;,e.offsetArgs.push({array:a.array,offset:a.offset}),e.offsetArgIndex.push(i)}}if(e.arrayArgs.length&lt;=0)throw new Error(&quot;cwise: No array arguments specified&quot;);if(e.pre.args.length&gt;r.length)throw new Error(&quot;cwise: Too many arguments in pre() block&quot;);if(e.body.args.length&gt;r.length)throw new Error(&quot;cwise: Too many arguments in body() block&quot;);if(e.post.args.length&gt;r.length)throw new Error(&quot;cwise: Too many arguments in post() block&quot;);return e.debug=!!t.printCode||!!t.debug,e.funcName=t.funcName||&quot;cwise&quot;,e.blockSize=t.blockSize||64,n(e)}},{&quot;./lib/thunk.js&quot;:118}],117:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r){var n,i,a=t.length,o=e.arrayArgs.length,s=e.indexArgs.length&gt;0,l=[],c=[],u=0,f=0;for(n=0;n&lt;a;++n)c.push([&quot;i&quot;,n,&quot;=0&quot;].join(&quot;&quot;));for(i=0;i&lt;o;++i)for(n=0;n&lt;a;++n)f=u,u=t[n],0===n?c.push([&quot;d&quot;,i,&quot;s&quot;,n,&quot;=t&quot;,i,&quot;p&quot;,u].join(&quot;&quot;)):c.push([&quot;d&quot;,i,&quot;s&quot;,n,&quot;=(t&quot;,i,&quot;p&quot;,u,&quot;-s&quot;,f,&quot;*t&quot;,i,&quot;p&quot;,f,&quot;)&quot;].join(&quot;&quot;));for(l.push(&quot;var &quot;+c.join(&quot;,&quot;)),n=a-1;n&gt;=0;--n)u=t[n],l.push([&quot;for(i&quot;,n,&quot;=0;i&quot;,n,&quot;&lt;s&quot;,u,&quot;;++i&quot;,n,&quot;){&quot;].join(&quot;&quot;));for(l.push(r),n=0;n&lt;a;++n){for(f=u,u=t[n],i=0;i&lt;o;++i)l.push([&quot;p&quot;,i,&quot;+=d&quot;,i,&quot;s&quot;,n].join(&quot;&quot;));s&amp;&amp;(n&gt;0&amp;&amp;l.push([&quot;index[&quot;,f,&quot;]-=s&quot;,f].join(&quot;&quot;)),l.push([&quot;++index[&quot;,u,&quot;]&quot;].join(&quot;&quot;))),l.push(&quot;}&quot;)}return l.join(&quot;\n&quot;)}function i(t,e,r){for(var n=t.body,i=[],a=[],o=0;o&lt;t.args.length;++o){var s=t.args[o];if(!(s.count&lt;=0)){var l=new RegExp(s.name,&quot;g&quot;),c=&quot;&quot;,u=e.arrayArgs.indexOf(o);switch(e.argTypes[o]){case&quot;offset&quot;:var f=e.offsetArgIndex.indexOf(o);u=e.offsetArgs[f].array,c=&quot;+q&quot;+f;case&quot;array&quot;:c=&quot;p&quot;+u+c;var h=&quot;l&quot;+o,d=&quot;a&quot;+u;if(0===e.arrayBlockIndices[u])1===s.count?&quot;generic&quot;===r[u]?s.lvalue?(i.push([&quot;var &quot;,h,&quot;=&quot;,d,&quot;.get(&quot;,c,&quot;)&quot;].join(&quot;&quot;)),n=n.replace(l,h),a.push([d,&quot;.set(&quot;,c,&quot;,&quot;,h,&quot;)&quot;].join(&quot;&quot;))):n=n.replace(l,[d,&quot;.get(&quot;,c,&quot;)&quot;].join(&quot;&quot;)):n=n.replace(l,[d,&quot;[&quot;,c,&quot;]&quot;].join(&quot;&quot;)):&quot;generic&quot;===r[u]?(i.push([&quot;var &quot;,h,&quot;=&quot;,d,&quot;.get(&quot;,c,&quot;)&quot;].join(&quot;&quot;)),n=n.replace(l,h),s.lvalue&amp;&amp;a.push([d,&quot;.set(&quot;,c,&quot;,&quot;,h,&quot;)&quot;].join(&quot;&quot;))):(i.push([&quot;var &quot;,h,&quot;=&quot;,d,&quot;[&quot;,c,&quot;]&quot;].join(&quot;&quot;)),n=n.replace(l,h),s.lvalue&amp;&amp;a.push([d,&quot;[&quot;,c,&quot;]=&quot;,h].join(&quot;&quot;)));else{for(var p=[s.name],m=[c],g=0;g&lt;Math.abs(e.arrayBlockIndices[u]);g++)p.push(&quot;\\s*\\[([^\\]]+)\\]&quot;),m.push(&quot;$&quot;+(g+1)+&quot;*t&quot;+u+&quot;b&quot;+g);if(l=new RegExp(p.join(&quot;&quot;),&quot;g&quot;),c=m.join(&quot;+&quot;),&quot;generic&quot;===r[u])throw new Error(&quot;cwise: Generic arrays not supported in combination with blocks!&quot;);n=n.replace(l,[d,&quot;[&quot;,c,&quot;]&quot;].join(&quot;&quot;))}break;case&quot;scalar&quot;:n=n.replace(l,&quot;Y&quot;+e.scalarArgs.indexOf(o));break;case&quot;index&quot;:n=n.replace(l,&quot;index&quot;);break;case&quot;shape&quot;:n=n.replace(l,&quot;shape&quot;)}}}return[i.join(&quot;\n&quot;),n,a.join(&quot;\n&quot;)].join(&quot;\n&quot;).trim()}var a=t(&quot;uniq&quot;);e.exports=function(t,e){for(var r=e[1].length-Math.abs(t.arrayBlockIndices[0])|0,o=new Array(t.arrayArgs.length),s=new Array(t.arrayArgs.length),l=0;l&lt;t.arrayArgs.length;++l)s[l]=e[2*l],o[l]=e[2*l+1];var c=[],u=[],f=[],h=[],d=[];for(l=0;l&lt;t.arrayArgs.length;++l){t.arrayBlockIndices[l]&lt;0?(f.push(0),h.push(r),c.push(r),u.push(r+t.arrayBlockIndices[l])):(f.push(t.arrayBlockIndices[l]),h.push(t.arrayBlockIndices[l]+r),c.push(0),u.push(t.arrayBlockIndices[l]));for(var p=[],m=0;m&lt;o[l].length;m++)f[l]&lt;=o[l][m]&amp;&amp;o[l][m]&lt;h[l]&amp;&amp;p.push(o[l][m]-f[l]);d.push(p)}var g=[&quot;SS&quot;],v=[&quot;'use strict'&quot;],y=[];for(m=0;m&lt;r;++m)y.push([&quot;s&quot;,m,&quot;=SS[&quot;,m,&quot;]&quot;].join(&quot;&quot;));for(l=0;l&lt;t.arrayArgs.length;++l){for(g.push(&quot;a&quot;+l),g.push(&quot;t&quot;+l),g.push(&quot;p&quot;+l),m=0;m&lt;r;++m)y.push([&quot;t&quot;,l,&quot;p&quot;,m,&quot;=t&quot;,l,&quot;[&quot;,f[l]+m,&quot;]&quot;].join(&quot;&quot;));for(m=0;m&lt;Math.abs(t.arrayBlockIndices[l]);++m)y.push([&quot;t&quot;,l,&quot;b&quot;,m,&quot;=t&quot;,l,&quot;[&quot;,c[l]+m,&quot;]&quot;].join(&quot;&quot;))}for(l=0;l&lt;t.scalarArgs.length;++l)g.push(&quot;Y&quot;+l);if(t.shapeArgs.length&gt;0&amp;&amp;y.push(&quot;shape=SS.slice(0)&quot;),t.indexArgs.length&gt;0){var x=new Array(r);for(l=0;l&lt;r;++l)x[l]=&quot;0&quot;;y.push([&quot;index=[&quot;,x.join(&quot;,&quot;),&quot;]&quot;].join(&quot;&quot;))}for(l=0;l&lt;t.offsetArgs.length;++l){var b=t.offsetArgs[l],_=[];for(m=0;m&lt;b.offset.length;++m)0!==b.offset[m]&amp;&amp;(1===b.offset[m]?_.push([&quot;t&quot;,b.array,&quot;p&quot;,m].join(&quot;&quot;)):_.push([b.offset[m],&quot;*t&quot;,b.array,&quot;p&quot;,m].join(&quot;&quot;)));0===_.length?y.push(&quot;q&quot;+l+&quot;=0&quot;):y.push([&quot;q&quot;,l,&quot;=&quot;,_.join(&quot;+&quot;)].join(&quot;&quot;))}var w=a([].concat(t.pre.thisVars).concat(t.body.thisVars).concat(t.post.thisVars));for(y=y.concat(w),v.push(&quot;var &quot;+y.join(&quot;,&quot;)),l=0;l&lt;t.arrayArgs.length;++l)v.push(&quot;p&quot;+l+&quot;|=0&quot;);t.pre.body.length&gt;3&amp;&amp;v.push(i(t.pre,t,s));var M=i(t.body,t,s),k=function(t){for(var e=0,r=t[0].length;e&lt;r;){for(var n=1;n&lt;t.length;++n)if(t[n][e]!==t[0][e])return e;++e}return e}(d);k&lt;r?v.push(function(t,e,r,i){for(var a=e.length,o=r.arrayArgs.length,s=r.blockSize,l=r.indexArgs.length&gt;0,c=[],u=0;u&lt;o;++u)c.push([&quot;var offset&quot;,u,&quot;=p&quot;,u].join(&quot;&quot;));for(u=t;u&lt;a;++u)c.push([&quot;for(var j&quot;+u+&quot;=SS[&quot;,e[u],&quot;]|0;j&quot;,u,&quot;&gt;0;){&quot;].join(&quot;&quot;)),c.push([&quot;if(j&quot;,u,&quot;&lt;&quot;,s,&quot;){&quot;].join(&quot;&quot;)),c.push([&quot;s&quot;,e[u],&quot;=j&quot;,u].join(&quot;&quot;)),c.push([&quot;j&quot;,u,&quot;=0&quot;].join(&quot;&quot;)),c.push([&quot;}else{s&quot;,e[u],&quot;=&quot;,s].join(&quot;&quot;)),c.push([&quot;j&quot;,u,&quot;-=&quot;,s,&quot;}&quot;].join(&quot;&quot;)),l&amp;&amp;c.push([&quot;index[&quot;,e[u],&quot;]=j&quot;,u].join(&quot;&quot;));for(u=0;u&lt;o;++u){for(var f=[&quot;offset&quot;+u],h=t;h&lt;a;++h)f.push([&quot;j&quot;,h,&quot;*t&quot;,u,&quot;p&quot;,e[h]].join(&quot;&quot;));c.push([&quot;p&quot;,u,&quot;=(&quot;,f.join(&quot;+&quot;),&quot;)&quot;].join(&quot;&quot;))}for(c.push(n(e,r,i)),u=t;u&lt;a;++u)c.push(&quot;}&quot;);return c.join(&quot;\n&quot;)}(k,d[0],t,M)):v.push(n(d[0],t,M)),t.post.body.length&gt;3&amp;&amp;v.push(i(t.post,t,s)),t.debug&amp;&amp;console.log(&quot;-----Generated cwise routine for &quot;,e,&quot;:\n&quot;+v.join(&quot;\n&quot;)+&quot;\n----------&quot;);var A=[t.funcName||&quot;unnamed&quot;,&quot;_cwise_loop_&quot;,o[0].join(&quot;s&quot;),&quot;m&quot;,k,function(t){for(var e=new Array(t.length),r=!0,n=0;n&lt;t.length;++n){var i=t[n],a=i.match(/\d+/);a=a?a[0]:&quot;&quot;,0===i.charAt(0)?e[n]=&quot;u&quot;+i.charAt(1)+a:e[n]=i.charAt(0)+a,n&gt;0&amp;&amp;(r=r&amp;&amp;e[n]===e[n-1])}return r?e[0]:e.join(&quot;&quot;)}(s)].join(&quot;&quot;);return new Function([&quot;function &quot;,A,&quot;(&quot;,g.join(&quot;,&quot;),&quot;){&quot;,v.join(&quot;\n&quot;),&quot;} return &quot;,A].join(&quot;&quot;))()}},{uniq:556}],118:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;./compile.js&quot;);e.exports=function(t){var e=[&quot;'use strict'&quot;,&quot;var CACHED={}&quot;],r=[],i=t.funcName+&quot;_cwise_thunk&quot;;e.push([&quot;return function &quot;,i,&quot;(&quot;,t.shimArgs.join(&quot;,&quot;),&quot;){&quot;].join(&quot;&quot;));for(var a=[],o=[],s=[[&quot;array&quot;,t.arrayArgs[0],&quot;.shape.slice(&quot;,Math.max(0,t.arrayBlockIndices[0]),t.arrayBlockIndices[0]&lt;0?&quot;,&quot;+t.arrayBlockIndices[0]+&quot;)&quot;:&quot;)&quot;].join(&quot;&quot;)],l=[],c=[],u=0;u&lt;t.arrayArgs.length;++u){var f=t.arrayArgs[u];r.push([&quot;t&quot;,f,&quot;=array&quot;,f,&quot;.dtype,&quot;,&quot;r&quot;,f,&quot;=array&quot;,f,&quot;.order&quot;].join(&quot;&quot;)),a.push(&quot;t&quot;+f),a.push(&quot;r&quot;+f),o.push(&quot;t&quot;+f),o.push(&quot;r&quot;+f+&quot;.join()&quot;),s.push(&quot;array&quot;+f+&quot;.data&quot;),s.push(&quot;array&quot;+f+&quot;.stride&quot;),s.push(&quot;array&quot;+f+&quot;.offset|0&quot;),u&gt;0&amp;&amp;(l.push(&quot;array&quot;+t.arrayArgs[0]+&quot;.shape.length===array&quot;+f+&quot;.shape.length+&quot;+(Math.abs(t.arrayBlockIndices[0])-Math.abs(t.arrayBlockIndices[u]))),c.push(&quot;array&quot;+t.arrayArgs[0]+&quot;.shape[shapeIndex+&quot;+Math.max(0,t.arrayBlockIndices[0])+&quot;]===array&quot;+f+&quot;.shape[shapeIndex+&quot;+Math.max(0,t.arrayBlockIndices[u])+&quot;]&quot;))}for(t.arrayArgs.length&gt;1&amp;&amp;(e.push(&quot;if (!(&quot;+l.join(&quot; &amp;&amp; &quot;)+&quot;)) throw new Error('cwise: Arrays do not all have the same dimensionality!')&quot;),e.push(&quot;for(var shapeIndex=array&quot;+t.arrayArgs[0]+&quot;.shape.length-&quot;+Math.abs(t.arrayBlockIndices[0])+&quot;; shapeIndex--\x3e0;) {&quot;),e.push(&quot;if (!(&quot;+c.join(&quot; &amp;&amp; &quot;)+&quot;)) throw new Error('cwise: Arrays do not all have the same shape!')&quot;),e.push(&quot;}&quot;)),u=0;u&lt;t.scalarArgs.length;++u)s.push(&quot;scalar&quot;+t.scalarArgs[u]);return r.push([&quot;type=[&quot;,o.join(&quot;,&quot;),&quot;].join()&quot;].join(&quot;&quot;)),r.push(&quot;proc=CACHED[type]&quot;),e.push(&quot;var &quot;+r.join(&quot;,&quot;)),e.push([&quot;if(!proc){&quot;,&quot;CACHED[type]=proc=compile([&quot;,a.join(&quot;,&quot;),&quot;])}&quot;,&quot;return proc(&quot;,s.join(&quot;,&quot;),&quot;)}&quot;].join(&quot;&quot;)),t.debug&amp;&amp;console.log(&quot;-----Generated thunk:\n&quot;+e.join(&quot;\n&quot;)+&quot;\n----------&quot;),new Function(&quot;compile&quot;,e.join(&quot;\n&quot;))(n.bind(void 0,t))}},{&quot;./compile.js&quot;:117}],119:[function(t,e,r){e.exports=t(&quot;cwise-compiler&quot;)},{&quot;cwise-compiler&quot;:116}],120:[function(t,e,r){!function(t,n){n(&quot;object&quot;==typeof r&amp;&amp;void 0!==e?r:t.d3=t.d3||{})}(this,function(t){&quot;use strict&quot;;function e(t,e){return[t,e]}function r(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&gt;=0?(a&gt;=b?10:a&gt;=_?5:a&gt;=w?2:1)*Math.pow(10,i):-Math.pow(10,-i)/(a&gt;=b?10:a&gt;=_?5:a&gt;=w?2:1)}function n(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&gt;=b?i*=10:a&gt;=_?i*=5:a&gt;=w&amp;&amp;(i*=2),e&lt;t?-i:i}function i(t){return t.length}var a=function(t,e){return t&lt;e?-1:t&gt;e?1:t&gt;=e?0:NaN},o=function(t){return 1===t.length&amp;&amp;(t=function(t){return function(e,r){return a(t(e),r)}}(t)),{left:function(e,r,n,i){for(null==n&amp;&amp;(n=0),null==i&amp;&amp;(i=e.length);n&lt;i;){var a=n+i&gt;&gt;&gt;1;t(e[a],r)&lt;0?n=a+1:i=a}return n},right:function(e,r,n,i){for(null==n&amp;&amp;(n=0),null==i&amp;&amp;(i=e.length);n&lt;i;){var a=n+i&gt;&gt;&gt;1;t(e[a],r)&gt;0?i=a:n=a+1}return n}}},s=o(a),l=s.right,c=s.left,u=function(t){return null===t?NaN:+t},f=function(t,e){var r,n,i=t.length,a=0,o=-1,s=0,l=0;if(null==e)for(;++o&lt;i;)isNaN(r=u(t[o]))||(l+=(n=r-s)*(r-(s+=n/++a)));else for(;++o&lt;i;)isNaN(r=u(e(t[o],o,t)))||(l+=(n=r-s)*(r-(s+=n/++a)));if(a&gt;1)return l/(a-1)},h=function(t,e){var r=f(t,e);return r?Math.sqrt(r):r},d=function(t,e){var r,n,i,a=t.length,o=-1;if(null==e){for(;++o&lt;a;)if(null!=(r=t[o])&amp;&amp;r&gt;=r)for(n=i=r;++o&lt;a;)null!=(r=t[o])&amp;&amp;(n&gt;r&amp;&amp;(n=r),i&lt;r&amp;&amp;(i=r))}else for(;++o&lt;a;)if(null!=(r=e(t[o],o,t))&amp;&amp;r&gt;=r)for(n=i=r;++o&lt;a;)null!=(r=e(t[o],o,t))&amp;&amp;(n&gt;r&amp;&amp;(n=r),i&lt;r&amp;&amp;(i=r));return[n,i]},p=Array.prototype,m=p.slice,g=p.map,v=function(t){return function(){return t}},y=function(t){return t},x=function(t,e,r){t=+t,e=+e,r=(i=arguments.length)&lt;2?(e=t,t=0,1):i&lt;3?1:+r;for(var n=-1,i=0|Math.max(0,Math.ceil((e-t)/r)),a=new Array(i);++n&lt;i;)a[n]=t+n*r;return a},b=Math.sqrt(50),_=Math.sqrt(10),w=Math.sqrt(2),M=function(t){return Math.ceil(Math.log(t.length)/Math.LN2)+1},k=function(t,e,r){if(null==r&amp;&amp;(r=u),n=t.length){if((e=+e)&lt;=0||n&lt;2)return+r(t[0],0,t);if(e&gt;=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)}},A=function(t,e){var r,n,i=t.length,a=-1;if(null==e){for(;++a&lt;i;)if(null!=(r=t[a])&amp;&amp;r&gt;=r)for(n=r;++a&lt;i;)null!=(r=t[a])&amp;&amp;n&gt;r&amp;&amp;(n=r)}else for(;++a&lt;i;)if(null!=(r=e(t[a],a,t))&amp;&amp;r&gt;=r)for(n=r;++a&lt;i;)null!=(r=e(t[a],a,t))&amp;&amp;n&gt;r&amp;&amp;(n=r);return n},T=function(t){if(!(a=t.length))return[];for(var e=-1,r=A(t,i),n=new Array(r);++e&lt;r;)for(var a,o=-1,s=n[e]=new Array(a);++o&lt;a;)s[o]=t[o][e];return n};t.bisect=l,t.bisectRight=l,t.bisectLeft=c,t.ascending=a,t.bisector=o,t.cross=function(t,r,n){var i,a,o,s,l=t.length,c=r.length,u=new Array(l*c);for(null==n&amp;&amp;(n=e),i=o=0;i&lt;l;++i)for(s=t[i],a=0;a&lt;c;++a,++o)u[o]=n(s,r[a]);return u},t.descending=function(t,e){return e&lt;t?-1:e&gt;t?1:e&gt;=t?0:NaN},t.deviation=h,t.extent=d,t.histogram=function(){function t(t){var a,o,s=t.length,c=new Array(s);for(a=0;a&lt;s;++a)c[a]=e(t[a],a,t);var u=r(c),f=u[0],h=u[1],d=i(c,f,h);Array.isArray(d)||(d=n(f,h,d),d=x(Math.ceil(f/d)*d,Math.floor(h/d)*d,d));for(var p=d.length;d[0]&lt;=f;)d.shift(),--p;for(;d[p-1]&gt;h;)d.pop(),--p;var m,g=new Array(p+1);for(a=0;a&lt;=p;++a)(m=g[a]=[]).x0=a&gt;0?d[a-1]:f,m.x1=a&lt;p?d[a]:h;for(a=0;a&lt;s;++a)f&lt;=(o=c[a])&amp;&amp;o&lt;=h&amp;&amp;g[l(d,o,0,p)].push(t[a]);return g}var e=y,r=d,i=M;return t.value=function(r){return arguments.length?(e=&quot;function&quot;==typeof r?r:v(r),t):e},t.domain=function(e){return arguments.length?(r=&quot;function&quot;==typeof e?e:v([e[0],e[1]]),t):r},t.thresholds=function(e){return arguments.length?(i=&quot;function&quot;==typeof e?e:v(Array.isArray(e)?m.call(e):e),t):i},t},t.thresholdFreedmanDiaconis=function(t,e,r){return t=g.call(t,u).sort(a),Math.ceil((r-e)/(2*(k(t,.75)-k(t,.25))*Math.pow(t.length,-1/3)))},t.thresholdScott=function(t,e,r){return Math.ceil((r-e)/(3.5*h(t)*Math.pow(t.length,-1/3)))},t.thresholdSturges=M,t.max=function(t,e){var r,n,i=t.length,a=-1;if(null==e){for(;++a&lt;i;)if(null!=(r=t[a])&amp;&amp;r&gt;=r)for(n=r;++a&lt;i;)null!=(r=t[a])&amp;&amp;r&gt;n&amp;&amp;(n=r)}else for(;++a&lt;i;)if(null!=(r=e(t[a],a,t))&amp;&amp;r&gt;=r)for(n=r;++a&lt;i;)null!=(r=e(t[a],a,t))&amp;&amp;r&gt;n&amp;&amp;(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&lt;n;)isNaN(r=u(t[a]))?--i:o+=r;else for(;++a&lt;n;)isNaN(r=u(e(t[a],a,t)))?--i:o+=r;if(i)return o/i},t.median=function(t,e){var r,n=t.length,i=-1,o=[];if(null==e)for(;++i&lt;n;)isNaN(r=u(t[i]))||o.push(r);else for(;++i&lt;n;)isNaN(r=u(e(t[i],i,t)))||o.push(r);return k(o.sort(a),.5)},t.merge=function(t){for(var e,r,n,i=t.length,a=-1,o=0;++a&lt;i;)o+=t[a].length;for(r=new Array(o);--i&gt;=0;)for(e=(n=t[i]).length;--e&gt;=0;)r[--o]=n[e];return r},t.min=A,t.pairs=function(t,r){null==r&amp;&amp;(r=e);for(var n=0,i=t.length-1,a=t[0],o=new Array(i&lt;0?0:i);n&lt;i;)o[n]=r(a,a=t[++n]);return o},t.permute=function(t,e){for(var r=e.length,n=new Array(r);r--;)n[r]=t[e[r]];return n},t.quantile=k,t.range=x,t.scan=function(t,e){if(r=t.length){var r,n,i=0,o=0,s=t[o];for(null==e&amp;&amp;(e=a);++i&lt;r;)(e(n=t[i],s)&lt;0||0!==e(s,s))&amp;&amp;(s=n,o=i);return 0===e(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&lt;n;)(r=+t[i])&amp;&amp;(a+=r);else for(;++i&lt;n;)(r=+e(t[i],i,t))&amp;&amp;(a+=r);return a},t.ticks=function(t,e,n){var i,a,o,s=e&lt;t,l=-1;if(s&amp;&amp;(i=t,t=e,e=i),0===(o=r(t,e,n))||!isFinite(o))return[];if(o&gt;0)for(t=Math.ceil(t/o),e=Math.floor(e/o),a=new Array(i=Math.ceil(e-t+1));++l&lt;i;)a[l]=(t+l)*o;else for(t=Math.floor(t*o),e=Math.ceil(e*o),a=new Array(i=Math.ceil(t-e+1));++l&lt;i;)a[l]=(t-l)/o;return s&amp;&amp;a.reverse(),a},t.tickIncrement=r,t.tickStep=n,t.transpose=T,t.variance=f,t.zip=function(){return T(arguments)},Object.defineProperty(t,&quot;__esModule&quot;,{value:!0})})},{}],121:[function(t,e,r){!function(t,n){n(&quot;object&quot;==typeof r&amp;&amp;void 0!==e?r:t.d3=t.d3||{})}(this,function(t){&quot;use strict&quot;;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&lt;o;)n.set(a,t[a]);else for(;++a&lt;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(){}function l(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&lt;i;)r.add(t[n]);else for(;++n&lt;i;)r.add(e(t[n],n,t))}return r}e.prototype=r.prototype={constructor:e,has:function(t){return&quot;$&quot;+t in this},get:function(t){return this[&quot;$&quot;+t]},set:function(t,e){return this[&quot;$&quot;+t]=e,this},remove:function(t){var e=&quot;$&quot;+t;return e in this&amp;&amp;delete this[e]},clear:function(){for(var t in this)&quot;$&quot;===t[0]&amp;&amp;delete this[t]},keys:function(){var t=[];for(var e in this)&quot;$&quot;===e[0]&amp;&amp;t.push(e.slice(1));return t},values:function(){var t=[];for(var e in this)&quot;$&quot;===e[0]&amp;&amp;t.push(this[e]);return t},entries:function(){var t=[];for(var e in this)&quot;$&quot;===e[0]&amp;&amp;t.push({key:e.slice(1),value:this[e]});return t},size:function(){var t=0;for(var e in this)&quot;$&quot;===e[0]&amp;&amp;++t;return t},empty:function(){for(var t in this)if(&quot;$&quot;===t[0])return!1;return!0},each:function(t){for(var e in this)&quot;$&quot;===e[0]&amp;&amp;t(this[e],e.slice(1),this)}};var c=r.prototype;s.prototype=l.prototype={constructor:s,has:c.has,add:function(t){return t+=&quot;&quot;,this[&quot;$&quot;+t]=t,this},remove:c.remove,clear:c.clear,values:c.keys,size:c.size,empty:c.empty,each:c.each};t.nest=function(){function t(e,n,i,a){if(n&gt;=u.length)return null!=l?l(e):null!=s?e.sort(s):e;for(var o,c,f,h=-1,d=e.length,p=u[n++],m=r(),g=i();++h&lt;d;)(f=m.get(o=p(c=e[h])+&quot;&quot;))?f.push(c):m.set(o,[c]);return m.each(function(e,r){a(g,r,t(e,n,i,a))}),g}function e(t,r){if(++r&gt;u.length)return t;var n,i=f[r-1];return null!=l&amp;&amp;r&gt;=u.length?n=t.entries():(n=[],t.each(function(t,i){n.push({key:i,values:e(t,r)})})),null!=i?n.sort(function(t,e){return i(t.key,e.key)}):n}var s,l,c,u=[],f=[];return c={object:function(e){return t(e,0,n,i)},map:function(e){return t(e,0,a,o)},entries:function(r){return e(t(r,0,a,o),0)},key:function(t){return u.push(t),c},sortKeys:function(t){return f[u.length-1]=t,c},sortValues:function(t){return s=t,c},rollup:function(t){return l=t,c}}},t.set=l,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,&quot;__esModule&quot;,{value:!0})})},{}],122:[function(t,e,r){!function(t,n){n(&quot;object&quot;==typeof r&amp;&amp;void 0!==e?r:t.d3=t.d3||{})}(this,function(t){&quot;use strict&quot;;function e(t,e){var r=Object.create(t.prototype);for(var n in e)r[n]=e[n];return r}function r(){}function n(t){var e;return t=(t+&quot;&quot;).trim().toLowerCase(),(e=E.exec(t))?(e=parseInt(e[1],16),new l(e&gt;&gt;8&amp;15|e&gt;&gt;4&amp;240,e&gt;&gt;4&amp;15|240&amp;e,(15&amp;e)&lt;&lt;4|15&amp;e,1)):(e=L.exec(t))?i(parseInt(e[1],16)):(e=C.exec(t))?new l(e[1],e[2],e[3],1):(e=z.exec(t))?new l(255*e[1]/100,255*e[2]/100,255*e[3]/100,1):(e=D.exec(t))?a(e[1],e[2],e[3],e[4]):(e=I.exec(t))?a(255*e[1]/100,255*e[2]/100,255*e[3]/100,e[4]):(e=P.exec(t))?c(e[1],e[2]/100,e[3]/100,1):(e=O.exec(t))?c(e[1],e[2]/100,e[3]/100,e[4]):F.hasOwnProperty(t)?i(F[t]):&quot;transparent&quot;===t?new l(NaN,NaN,NaN,0):null}function i(t){return new l(t&gt;&gt;16&amp;255,t&gt;&gt;8&amp;255,255&amp;t,1)}function a(t,e,r,n){return n&lt;=0&amp;&amp;(t=e=r=NaN),new l(t,e,r,n)}function o(t){return t instanceof r||(t=n(t)),t?(t=t.rgb(),new l(t.r,t.g,t.b,t.opacity)):new l}function s(t,e,r,n){return 1===arguments.length?o(t):new l(t,e,r,null==n?1:n)}function l(t,e,r,n){this.r=+t,this.g=+e,this.b=+r,this.opacity=+n}function c(t,e,r,n){return n&lt;=0?t=e=r=NaN:r&lt;=0||r&gt;=1?t=e=NaN:e&lt;=0&amp;&amp;(t=NaN),new f(t,e,r,n)}function u(t,e,i,a){return 1===arguments.length?function(t){if(t instanceof f)return new f(t.h,t.s,t.l,t.opacity);if(t instanceof r||(t=n(t)),!t)return new f;if(t instanceof f)return t;var e=(t=t.rgb()).r/255,i=t.g/255,a=t.b/255,o=Math.min(e,i,a),s=Math.max(e,i,a),l=NaN,c=s-o,u=(s+o)/2;return c?(l=e===s?(i-a)/c+6*(i&lt;a):i===s?(a-e)/c+2:(e-i)/c+4,c/=u&lt;.5?s+o:2-s-o,l*=60):c=u&gt;0&amp;&amp;u&lt;1?0:l,new f(l,c,u,t.opacity)}(t):new f(t,e,i,null==a?1:a)}function f(t,e,r,n){this.h=+t,this.s=+e,this.l=+r,this.opacity=+n}function h(t,e,r){return 255*(t&lt;60?e+(r-e)*t/60:t&lt;180?r:t&lt;240?e+(r-e)*(240-t)/60:e)}function d(t){if(t instanceof m)return new m(t.l,t.a,t.b,t.opacity);if(t instanceof _){var e=t.h*R;return new m(t.l,Math.cos(e)*t.c,Math.sin(e)*t.c,t.opacity)}t instanceof l||(t=o(t));var r=x(t.r),n=x(t.g),i=x(t.b),a=g((.4124564*r+.3575761*n+.1804375*i)/j),s=g((.2126729*r+.7151522*n+.072175*i)/B);return new m(116*s-16,500*(a-s),200*(s-g((.0193339*r+.119192*n+.9503041*i)/U)),t.opacity)}function p(t,e,r,n){return 1===arguments.length?d(t):new m(t,e,r,null==n?1:n)}function m(t,e,r,n){this.l=+t,this.a=+e,this.b=+r,this.opacity=+n}function g(t){return t&gt;G?Math.pow(t,1/3):t/H+V}function v(t){return t&gt;q?t*t*t:H*(t-V)}function y(t){return 255*(t&lt;=.0031308?12.92*t:1.055*Math.pow(t,1/2.4)-.055)}function x(t){return(t/=255)&lt;=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function b(t,e,r,n){return 1===arguments.length?function(t){if(t instanceof _)return new _(t.h,t.c,t.l,t.opacity);t instanceof m||(t=d(t));var e=Math.atan2(t.b,t.a)*N;return new _(e&lt;0?e+360:e,Math.sqrt(t.a*t.a+t.b*t.b),t.l,t.opacity)}(t):new _(t,e,r,null==n?1:n)}function _(t,e,r,n){this.h=+t,this.c=+e,this.l=+r,this.opacity=+n}function w(t,e,r,n){return 1===arguments.length?function(t){if(t instanceof M)return new M(t.h,t.s,t.l,t.opacity);t instanceof l||(t=o(t));var e=t.r/255,r=t.g/255,n=t.b/255,i=(K*n+Z*e-J*r)/(K+Z-J),a=n-i,s=(X*(r-i)-Y*a)/W,c=Math.sqrt(s*s+a*a)/(X*i*(1-i)),u=c?Math.atan2(s,a)*N-120:NaN;return new M(u&lt;0?u+360:u,c,i,t.opacity)}(t):new M(t,e,r,null==n?1:n)}function M(t,e,r,n){this.h=+t,this.s=+e,this.l=+r,this.opacity=+n}var k=function(t,e,r){t.prototype=e.prototype=r,r.constructor=t},A=&quot;\\s*([+-]?\\d+)\\s*&quot;,T=&quot;\\s*([+-]?\\d*\\.?\\d+(?:[eE][+-]?\\d+)?)\\s*&quot;,S=&quot;\\s*([+-]?\\d*\\.?\\d+(?:[eE][+-]?\\d+)?)%\\s*&quot;,E=/^#([0-9a-f]{3})$/,L=/^#([0-9a-f]{6})$/,C=new RegExp(&quot;^rgb\\(&quot;+[A,A,A]+&quot;\\)$&quot;),z=new RegExp(&quot;^rgb\\(&quot;+[S,S,S]+&quot;\\)$&quot;),D=new RegExp(&quot;^rgba\\(&quot;+[A,A,A,T]+&quot;\\)$&quot;),I=new RegExp(&quot;^rgba\\(&quot;+[S,S,S,T]+&quot;\\)$&quot;),P=new RegExp(&quot;^hsl\\(&quot;+[T,S,S]+&quot;\\)$&quot;),O=new RegExp(&quot;^hsla\\(&quot;+[T,S,S,T]+&quot;\\)$&quot;),F={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};k(r,n,{displayable:function(){return this.rgb().displayable()},toString:function(){return this.rgb()+&quot;&quot;}}),k(l,s,e(r,{brighter:function(t){return t=null==t?1/.7:Math.pow(1/.7,t),new l(this.r*t,this.g*t,this.b*t,this.opacity)},darker:function(t){return t=null==t?.7:Math.pow(.7,t),new l(this.r*t,this.g*t,this.b*t,this.opacity)},rgb:function(){return this},displayable:function(){return 0&lt;=this.r&amp;&amp;this.r&lt;=255&amp;&amp;0&lt;=this.g&amp;&amp;this.g&lt;=255&amp;&amp;0&lt;=this.b&amp;&amp;this.b&lt;=255&amp;&amp;0&lt;=this.opacity&amp;&amp;this.opacity&lt;=1},toString:function(){var t=this.opacity;return(1===(t=isNaN(t)?1:Math.max(0,Math.min(1,t)))?&quot;rgb(&quot;:&quot;rgba(&quot;)+Math.max(0,Math.min(255,Math.round(this.r)||0))+&quot;, &quot;+Math.max(0,Math.min(255,Math.round(this.g)||0))+&quot;, &quot;+Math.max(0,Math.min(255,Math.round(this.b)||0))+(1===t?&quot;)&quot;:&quot;, &quot;+t+&quot;)&quot;)}})),k(f,u,e(r,{brighter:function(t){return t=null==t?1/.7:Math.pow(1/.7,t),new f(this.h,this.s,this.l*t,this.opacity)},darker:function(t){return t=null==t?.7:Math.pow(.7,t),new f(this.h,this.s,this.l*t,this.opacity)},rgb:function(){var t=this.h%360+360*(this.h&lt;0),e=isNaN(t)||isNaN(this.s)?0:this.s,r=this.l,n=r+(r&lt;.5?r:1-r)*e,i=2*r-n;return new l(h(t&gt;=240?t-240:t+120,i,n),h(t,i,n),h(t&lt;120?t+240:t-120,i,n),this.opacity)},displayable:function(){return(0&lt;=this.s&amp;&amp;this.s&lt;=1||isNaN(this.s))&amp;&amp;0&lt;=this.l&amp;&amp;this.l&lt;=1&amp;&amp;0&lt;=this.opacity&amp;&amp;this.opacity&lt;=1}}));var R=Math.PI/180,N=180/Math.PI,j=.95047,B=1,U=1.08883,V=4/29,q=6/29,H=3*q*q,G=q*q*q;k(m,p,e(r,{brighter:function(t){return new m(this.l+18*(null==t?1:t),this.a,this.b,this.opacity)},darker:function(t){return new m(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 t=B*v(t),e=j*v(e),r=U*v(r),new l(y(3.2404542*e-1.5371385*t-.4985314*r),y(-.969266*e+1.8760108*t+.041556*r),y(.0556434*e-.2040259*t+1.0572252*r),this.opacity)}})),k(_,b,e(r,{brighter:function(t){return new _(this.h,this.c,this.l+18*(null==t?1:t),this.opacity)},darker:function(t){return new _(this.h,this.c,this.l-18*(null==t?1:t),this.opacity)},rgb:function(){return d(this).rgb()}}));var Y=-.29227,W=-.90649,X=1.97294,Z=X*W,J=1.78277*X,K=1.78277*Y- -.14861*W;k(M,w,e(r,{brighter:function(t){return t=null==t?1/.7:Math.pow(1/.7,t),new M(this.h,this.s,this.l*t,this.opacity)},darker:function(t){return t=null==t?.7:Math.pow(.7,t),new M(this.h,this.s,this.l*t,this.opacity)},rgb:function(){var t=isNaN(this.h)?0:(this.h+120)*R,e=+this.l,r=isNaN(this.s)?0:this.s*e*(1-e),n=Math.cos(t),i=Math.sin(t);return new l(255*(e+r*(-.14861*n+1.78277*i)),255*(e+r*(Y*n+W*i)),255*(e+r*(X*n)),this.opacity)}})),t.color=n,t.rgb=s,t.hsl=u,t.lab=p,t.hcl=b,t.cubehelix=w,Object.defineProperty(t,&quot;__esModule&quot;,{value:!0})})},{}],123:[function(t,e,r){!function(t,n){n(&quot;object&quot;==typeof r&amp;&amp;void 0!==e?r:t.d3=t.d3||{})}(this,function(t){&quot;use strict&quot;;function e(){for(var t,e=0,n=arguments.length,i={};e&lt;n;++e){if(!(t=arguments[e]+&quot;&quot;)||t in i)throw new Error(&quot;illegal type: &quot;+t);i[t]=[]}return new r(i)}function r(t){this._=t}function n(t,e,r){for(var n=0,a=t.length;n&lt;a;++n)if(t[n].name===e){t[n]=i,t=t.slice(0,n).concat(t.slice(n+1));break}return null!=r&amp;&amp;t.push({name:e,value:r}),t}var i={value:function(){}};r.prototype=e.prototype={constructor:r,on:function(t,e){var r,i=this._,a=function(t,e){return t.trim().split(/^|\s+/).map(function(t){var r=&quot;&quot;,n=t.indexOf(&quot;.&quot;);if(n&gt;=0&amp;&amp;(r=t.slice(n+1),t=t.slice(0,n)),t&amp;&amp;!e.hasOwnProperty(t))throw new Error(&quot;unknown type: &quot;+t);return{type:t,name:r}})}(t+&quot;&quot;,i),o=-1,s=a.length;if(!(arguments.length&lt;2)){if(null!=e&amp;&amp;&quot;function&quot;!=typeof e)throw new Error(&quot;invalid callback: &quot;+e);for(;++o&lt;s;)if(r=(t=a[o]).type)i[r]=n(i[r],t.name,e);else if(null==e)for(r in i)i[r]=n(i[r],t.name,null);return this}for(;++o&lt;s;)if((r=(t=a[o]).type)&amp;&amp;(r=function(t,e){for(var r,n=0,i=t.length;n&lt;i;++n)if((r=t[n]).name===e)return r.value}(i[r],t.name)))return r},copy:function(){var t={},e=this._;for(var n in e)t[n]=e[n].slice();return new r(t)},call:function(t,e){if((r=arguments.length-2)&gt;0)for(var r,n,i=new Array(r),a=0;a&lt;r;++a)i[a]=arguments[a+2];if(!this._.hasOwnProperty(t))throw new Error(&quot;unknown type: &quot;+t);for(a=0,r=(n=this._[t]).length;a&lt;r;++a)n[a].value.apply(e,i)},apply:function(t,e,r){if(!this._.hasOwnProperty(t))throw new Error(&quot;unknown type: &quot;+t);for(var n=this._[t],i=0,a=n.length;i&lt;a;++i)n[i].value.apply(e,r)}},t.dispatch=e,Object.defineProperty(t,&quot;__esModule&quot;,{value:!0})})},{}],124:[function(t,e,r){!function(n,i){&quot;object&quot;==typeof r&amp;&amp;void 0!==e?i(r,t(&quot;d3-quadtree&quot;),t(&quot;d3-collection&quot;),t(&quot;d3-dispatch&quot;),t(&quot;d3-timer&quot;)):i(n.d3=n.d3||{},n.d3,n.d3,n.d3,n.d3)}(this,function(t,e,r,n,i){&quot;use strict&quot;;function a(t){return t.x+t.vx}function o(t){return t.y+t.vy}function s(t){return t.index}function l(t,e){var r=t.get(e);if(!r)throw new Error(&quot;missing: &quot;+e);return r}function c(t){return t.x}function u(t){return t.y}var f=function(t){return function(){return t}},h=function(){return 1e-6*(Math.random()-.5)},d=10,p=Math.PI*(3-Math.sqrt(5));t.forceCenter=function(t,e){function r(){var r,i,a=n.length,o=0,s=0;for(r=0;r&lt;a;++r)o+=(i=n[r]).x,s+=i.y;for(o=o/a-t,s=s/a-e,r=0;r&lt;a;++r)(i=n[r]).x-=o,i.y-=s}var n;return null==t&amp;&amp;(t=0),null==e&amp;&amp;(e=0),r.initialize=function(t){n=t},r.x=function(e){return arguments.length?(t=+e,r):t},r.y=function(t){return arguments.length?(e=+t,r):e},r},t.forceCollide=function(t){function r(){function t(t,e,r,n,i){var a=t.data,o=t.r,s=m+o;if(!a)return e&gt;d+s||n&lt;d-s||r&gt;p+s||i&lt;p-s;if(a.index&gt;f.index){var l=d-a.x-a.vx,u=p-a.y-a.vy,v=l*l+u*u;v&lt;s*s&amp;&amp;(0===l&amp;&amp;(l=h(),v+=l*l),0===u&amp;&amp;(u=h(),v+=u*u),v=(s-(v=Math.sqrt(v)))/v*c,f.vx+=(l*=v)*(s=(o*=o)/(g+o)),f.vy+=(u*=v)*s,a.vx-=l*(s=1-s),a.vy-=u*s)}}for(var r,i,f,d,p,m,g,v=s.length,y=0;y&lt;u;++y)for(i=e.quadtree(s,a,o).visitAfter(n),r=0;r&lt;v;++r)f=s[r],m=l[f.index],g=m*m,d=f.x+f.vx,p=f.y+f.vy,i.visit(t)}function n(t){if(t.data)return t.r=l[t.data.index];for(var e=t.r=0;e&lt;4;++e)t[e]&amp;&amp;t[e].r&gt;t.r&amp;&amp;(t.r=t[e].r)}function i(){if(s){var e,r,n=s.length;for(l=new Array(n),e=0;e&lt;n;++e)r=s[e],l[r.index]=+t(r,e,s)}}var s,l,c=1,u=1;return&quot;function&quot;!=typeof t&amp;&amp;(t=f(null==t?1:+t)),r.initialize=function(t){s=t,i()},r.iterations=function(t){return arguments.length?(u=+t,r):u},r.strength=function(t){return arguments.length?(c=+t,r):c},r.radius=function(e){return arguments.length?(t=&quot;function&quot;==typeof e?e:f(+e),i(),r):t},r},t.forceLink=function(t){function e(e){for(var r=0,n=t.length;r&lt;y;++r)for(var i,a,s,l,u,f,d,m=0;m&lt;n;++m)a=(i=t[m]).source,l=(s=i.target).x+s.vx-a.x-a.vx||h(),u=s.y+s.vy-a.y-a.vy||h(),l*=f=((f=Math.sqrt(l*l+u*u))-c[m])/f*e*o[m],u*=f,s.vx-=l*(d=p[m]),s.vy-=u*d,a.vx+=l*(d=1-d),a.vy+=u*d}function n(){if(u){var e,n,s=u.length,f=t.length,h=r.map(u,m);for(e=0,d=new Array(s);e&lt;f;++e)(n=t[e]).index=e,&quot;object&quot;!=typeof n.source&amp;&amp;(n.source=l(h,n.source)),&quot;object&quot;!=typeof n.target&amp;&amp;(n.target=l(h,n.target)),d[n.source.index]=(d[n.source.index]||0)+1,d[n.target.index]=(d[n.target.index]||0)+1;for(e=0,p=new Array(f);e&lt;f;++e)n=t[e],p[e]=d[n.source.index]/(d[n.source.index]+d[n.target.index]);o=new Array(f),i(),c=new Array(f),a()}}function i(){if(u)for(var e=0,r=t.length;e&lt;r;++e)o[e]=+g(t[e],e,t)}function a(){if(u)for(var e=0,r=t.length;e&lt;r;++e)c[e]=+v(t[e],e,t)}var o,c,u,d,p,m=s,g=function(t){return 1/Math.min(d[t.source.index],d[t.target.index])},v=f(30),y=1;return null==t&amp;&amp;(t=[]),e.initialize=function(t){u=t,n()},e.links=function(r){return arguments.length?(t=r,n(),e):t},e.id=function(t){return arguments.length?(m=t,e):m},e.iterations=function(t){return arguments.length?(y=+t,e):y},e.strength=function(t){return arguments.length?(g=&quot;function&quot;==typeof t?t:f(+t),i(),e):g},e.distance=function(t){return arguments.length?(v=&quot;function&quot;==typeof t?t:f(+t),a(),e):v},e},t.forceManyBody=function(){function t(t){var r,l=a.length,f=e.quadtree(a,c,u).visitAfter(n);for(s=t,r=0;r&lt;l;++r)o=a[r],f.visit(i)}function r(){if(a){var t,e,r=a.length;for(l=new Array(r),t=0;t&lt;r;++t)e=a[t],l[e.index]=+d(e,t,a)}}function n(t){var e,r,n,i,a,o=0;if(t.length){for(n=i=a=0;a&lt;4;++a)(e=t[a])&amp;&amp;(r=e.value)&amp;&amp;(o+=r,n+=r*e.x,i+=r*e.y);t.x=n/o,t.y=i/o}else{(e=t).x=e.data.x,e.y=e.data.y;do{o+=l[e.data.index]}while(e=e.next)}t.value=o}function i(t,e,r,n){if(!t.value)return!0;var i=t.x-o.x,a=t.y-o.y,c=n-e,u=i*i+a*a;if(c*c/g&lt;u)return u&lt;m&amp;&amp;(0===i&amp;&amp;(i=h(),u+=i*i),0===a&amp;&amp;(a=h(),u+=a*a),u&lt;p&amp;&amp;(u=Math.sqrt(p*u)),o.vx+=i*t.value*s/u,o.vy+=a*t.value*s/u),!0;if(!(t.length||u&gt;=m)){(t.data!==o||t.next)&amp;&amp;(0===i&amp;&amp;(i=h(),u+=i*i),0===a&amp;&amp;(a=h(),u+=a*a),u&lt;p&amp;&amp;(u=Math.sqrt(p*u)));do{t.data!==o&amp;&amp;(c=l[t.data.index]*s/u,o.vx+=i*c,o.vy+=a*c)}while(t=t.next)}}var a,o,s,l,d=f(-30),p=1,m=1/0,g=.81;return t.initialize=function(t){a=t,r()},t.strength=function(e){return arguments.length?(d=&quot;function&quot;==typeof e?e:f(+e),r(),t):d},t.distanceMin=function(e){return arguments.length?(p=e*e,t):Math.sqrt(p)},t.distanceMax=function(e){return arguments.length?(m=e*e,t):Math.sqrt(m)},t.theta=function(e){return arguments.length?(g=e*e,t):Math.sqrt(g)},t},t.forceSimulation=function(t){function e(){a(),y.call(&quot;tick&quot;,l),c&lt;u&amp;&amp;(v.stop(),y.call(&quot;end&quot;,l))}function a(){var e,r,n=t.length;for(c+=(h-c)*f,g.each(function(t){t(c)}),e=0;e&lt;n;++e)null==(r=t[e]).fx?r.x+=r.vx*=m:(r.x=r.fx,r.vx=0),null==r.fy?r.y+=r.vy*=m:(r.y=r.fy,r.vy=0)}function o(){for(var e,r=0,n=t.length;r&lt;n;++r){if(e=t[r],e.index=r,isNaN(e.x)||isNaN(e.y)){var i=d*Math.sqrt(r),a=r*p;e.x=i*Math.cos(a),e.y=i*Math.sin(a)}(isNaN(e.vx)||isNaN(e.vy))&amp;&amp;(e.vx=e.vy=0)}}function s(e){return e.initialize&amp;&amp;e.initialize(t),e}var l,c=1,u=.001,f=1-Math.pow(u,1/300),h=0,m=.6,g=r.map(),v=i.timer(e),y=n.dispatch(&quot;tick&quot;,&quot;end&quot;);return null==t&amp;&amp;(t=[]),o(),l={tick:a,restart:function(){return v.restart(e),l},stop:function(){return v.stop(),l},nodes:function(e){return arguments.length?(t=e,o(),g.each(s),l):t},alpha:function(t){return arguments.length?(c=+t,l):c},alphaMin:function(t){return arguments.length?(u=+t,l):u},alphaDecay:function(t){return arguments.length?(f=+t,l):+f},alphaTarget:function(t){return arguments.length?(h=+t,l):h},velocityDecay:function(t){return arguments.length?(m=1-t,l):1-m},force:function(t,e){return arguments.length&gt;1?(null==e?g.remove(t):g.set(t,s(e)),l):g.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&lt;u;++c)(o=(i=e-(s=t[c]).x)*i+(a=r-s.y)*a)&lt;n&amp;&amp;(l=s,n=o);return l},on:function(t,e){return arguments.length&gt;1?(y.on(t,e),l):y.on(t)}}},t.forceX=function(t){function e(t){for(var e,r=0,o=n.length;r&lt;o;++r)(e=n[r]).vx+=(a[r]-e.x)*i[r]*t}function r(){if(n){var e,r=n.length;for(i=new Array(r),a=new Array(r),e=0;e&lt;r;++e)i[e]=isNaN(a[e]=+t(n[e],e,n))?0:+o(n[e],e,n)}}var n,i,a,o=f(.1);return&quot;function&quot;!=typeof t&amp;&amp;(t=f(null==t?0:+t)),e.initialize=function(t){n=t,r()},e.strength=function(t){return arguments.length?(o=&quot;function&quot;==typeof t?t:f(+t),r(),e):o},e.x=function(n){return arguments.length?(t=&quot;function&quot;==typeof n?n:f(+n),r(),e):t},e},t.forceY=function(t){function e(t){for(var e,r=0,o=n.length;r&lt;o;++r)(e=n[r]).vy+=(a[r]-e.y)*i[r]*t}function r(){if(n){var e,r=n.length;for(i=new Array(r),a=new Array(r),e=0;e&lt;r;++e)i[e]=isNaN(a[e]=+t(n[e],e,n))?0:+o(n[e],e,n)}}var n,i,a,o=f(.1);return&quot;function&quot;!=typeof t&amp;&amp;(t=f(null==t?0:+t)),e.initialize=function(t){n=t,r()},e.strength=function(t){return arguments.length?(o=&quot;function&quot;==typeof t?t:f(+t),r(),e):o},e.y=function(n){return arguments.length?(t=&quot;function&quot;==typeof n?n:f(+n),r(),e):t},e},Object.defineProperty(t,&quot;__esModule&quot;,{value:!0})})},{&quot;d3-collection&quot;:121,&quot;d3-dispatch&quot;:123,&quot;d3-quadtree&quot;:126,&quot;d3-timer&quot;:127}],125:[function(t,e,r){!function(n,i){&quot;object&quot;==typeof r&amp;&amp;void 0!==e?i(r,t(&quot;d3-color&quot;)):i(n.d3=n.d3||{},n.d3)}(this,function(t,e){&quot;use strict&quot;;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,e){return function(r){return t+r*e}}function i(t,e){var r=e-t;return r?n(t,r&gt;180||r&lt;-180?r-360*Math.round(r/360):r):x(isNaN(t)?e:t)}function a(t){return 1==(t=+t)?o: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):x(isNaN(e)?r:e)}}function o(t,e){var r=e-t;return r?n(t,r):x(isNaN(t)?e:t)}function s(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&lt;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+&quot;&quot;}}}function l(t,e,r,n){function i(t){return t.length?t.pop()+&quot; &quot;:&quot;&quot;}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(&quot;translate(&quot;,null,e,null,r);s.push({i:l-4,x:A(t,i)},{i:l-2,x:A(n,a)})}else(i||a)&amp;&amp;o.push(&quot;translate(&quot;+i+e+a+r)}(a.translateX,a.translateY,o.translateX,o.translateY,s,l),function(t,e,r,a){t!==e?(t-e&gt;180?e+=360:e-t&gt;180&amp;&amp;(t+=360),a.push({i:r.push(i(r)+&quot;rotate(&quot;,null,n)-2,x:A(t,e)})):e&amp;&amp;r.push(i(r)+&quot;rotate(&quot;+e+n)}(a.rotate,o.rotate,s,l),function(t,e,r,a){t!==e?a.push({i:r.push(i(r)+&quot;skewX(&quot;,null,n)-2,x:A(t,e)}):e&amp;&amp;r.push(i(r)+&quot;skewX(&quot;+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)+&quot;scale(&quot;,null,&quot;,&quot;,null,&quot;)&quot;);o.push({i:s-4,x:A(t,r)},{i:s-2,x:A(e,n)})}else 1===r&amp;&amp;1===n||a.push(i(a)+&quot;scale(&quot;+r+&quot;,&quot;+n+&quot;)&quot;)}(a.scaleX,a.scaleY,o.scaleX,o.scaleY,s,l),a=o=null,function(t){for(var e,r=-1,n=l.length;++r&lt;n;)s[(e=l[r]).i]=e.x(t);return s.join(&quot;&quot;)}}}function c(t){return((t=Math.exp(t))+1/t)/2}function u(t){return function(r,n){var i=t((r=e.hsl(r)).h,(n=e.hsl(n)).h),a=o(r.s,n.s),s=o(r.l,n.l),l=o(r.opacity,n.opacity);return function(t){return r.h=i(t),r.s=a(t),r.l=s(t),r.opacity=l(t),r+&quot;&quot;}}}function f(t){return function(r,n){var i=t((r=e.hcl(r)).h,(n=e.hcl(n)).h),a=o(r.c,n.c),s=o(r.l,n.l),l=o(r.opacity,n.opacity);return function(t){return r.h=i(t),r.c=a(t),r.l=s(t),r.opacity=l(t),r+&quot;&quot;}}}function h(t){return function r(n){function i(r,i){var a=t((r=e.cubehelix(r)).h,(i=e.cubehelix(i)).h),s=o(r.s,i.s),l=o(r.l,i.l),c=o(r.opacity,i.opacity);return function(t){return r.h=a(t),r.s=s(t),r.l=l(Math.pow(t,n)),r.opacity=c(t),r+&quot;&quot;}}return n=+n,i.gamma=r,i}(1)}var d,p,m,g,v=function(t){var e=t.length-1;return function(n){var i=n&lt;=0?n=0:n&gt;=1?(n=1,e-1):Math.floor(n*e),a=t[i],o=t[i+1],s=i&gt;0?t[i-1]:2*a-o,l=i&lt;e-1?t[i+2]:2*o-a;return r((n-i/e)*e,s,a,o,l)}},y=function(t){var e=t.length;return function(n){var i=Math.floor(((n%=1)&lt;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)}},x=function(t){return function(){return t}},b=function t(r){function n(t,r){var n=i((t=e.rgb(t)).r,(r=e.rgb(r)).r),a=i(t.g,r.g),s=i(t.b,r.b),l=o(t.opacity,r.opacity);return function(e){return t.r=n(e),t.g=a(e),t.b=s(e),t.opacity=l(e),t+&quot;&quot;}}var i=a(r);return n.gamma=t,n}(1),_=s(v),w=s(y),M=function(t,e){var r,n=e?e.length:0,i=t?Math.min(n,t.length):0,a=new Array(n),o=new Array(n);for(r=0;r&lt;i;++r)a[r]=C(t[r],e[r]);for(;r&lt;n;++r)o[r]=e[r];return function(t){for(r=0;r&lt;i;++r)o[r]=a[r](t);return o}},k=function(t,e){var r=new Date;return t=+t,e-=t,function(n){return r.setTime(t+e*n),r}},A=function(t,e){return t=+t,e-=t,function(r){return t+e*r}},T=function(t,e){var r,n={},i={};null!==t&amp;&amp;&quot;object&quot;==typeof t||(t={}),null!==e&amp;&amp;&quot;object&quot;==typeof e||(e={});for(r in e)r in t?n[r]=C(t[r],e[r]):i[r]=e[r];return function(t){for(r in n)i[r]=n[r](t);return i}},S=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,E=new RegExp(S.source,&quot;g&quot;),L=function(t,e){var r,n,i,a=S.lastIndex=E.lastIndex=0,o=-1,s=[],l=[];for(t+=&quot;&quot;,e+=&quot;&quot;;(r=S.exec(t))&amp;&amp;(n=E.exec(e));)(i=n.index)&gt;a&amp;&amp;(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:A(r,n)})),a=E.lastIndex;return a&lt;e.length&amp;&amp;(i=e.slice(a),s[o]?s[o]+=i:s[++o]=i),s.length&lt;2?l[0]?function(t){return function(e){return t(e)+&quot;&quot;}}(l[0].x):function(t){return function(){return t}}(e):(e=l.length,function(t){for(var r,n=0;n&lt;e;++n)s[(r=l[n]).i]=r.x(t);return s.join(&quot;&quot;)})},C=function(t,r){var n,i=typeof r;return null==r||&quot;boolean&quot;===i?x(r):(&quot;number&quot;===i?A:&quot;string&quot;===i?(n=e.color(r))?(r=n,b):L:r instanceof e.color?b:r instanceof Date?k:Array.isArray(r)?M:isNaN(r)?T:A)(t,r)},z=180/Math.PI,D={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1},I=function(t,e,r,n,i,a){var o,s,l;return(o=Math.sqrt(t*t+e*e))&amp;&amp;(t/=o,e/=o),(l=t*r+e*n)&amp;&amp;(r-=t*l,n-=e*l),(s=Math.sqrt(r*r+n*n))&amp;&amp;(r/=s,n/=s,l/=s),t*n&lt;e*r&amp;&amp;(t=-t,e=-e,l=-l,o=-o),{translateX:i,translateY:a,rotate:Math.atan2(e,t)*z,skewX:Math.atan(l)*z,scaleX:o,scaleY:s}},P=l(function(t){return&quot;none&quot;===t?D:(d||(d=document.createElement(&quot;DIV&quot;),p=document.documentElement,m=document.defaultView),d.style.transform=t,t=m.getComputedStyle(p.appendChild(d),null).getPropertyValue(&quot;transform&quot;),p.removeChild(d),t=t.slice(7,-1).split(&quot;,&quot;),I(+t[0],+t[1],+t[2],+t[3],+t[4],+t[5]))},&quot;px, &quot;,&quot;px)&quot;,&quot;deg)&quot;),O=l(function(t){return null==t?D:(g||(g=document.createElementNS(&quot;http://www.w3.org/2000/svg&quot;,&quot;g&quot;)),g.setAttribute(&quot;transform&quot;,t),(t=g.transform.baseVal.consolidate())?(t=t.matrix,I(t.a,t.b,t.c,t.d,t.e,t.f)):D)},&quot;, &quot;,&quot;)&quot;,&quot;)&quot;),F=Math.SQRT2,R=u(i),N=u(o),j=f(i),B=f(o),U=h(i),V=h(o);t.interpolate=C,t.interpolateArray=M,t.interpolateBasis=v,t.interpolateBasisClosed=y,t.interpolateDate=k,t.interpolateNumber=A,t.interpolateObject=T,t.interpolateRound=function(t,e){return t=+t,e-=t,function(r){return Math.round(t+e*r)}},t.interpolateString=L,t.interpolateTransformCss=P,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],u=e[2],f=s-i,h=l-a,d=f*f+h*h;if(d&lt;1e-12)n=Math.log(u/o)/F,r=function(t){return[i+t*f,a+t*h,o*Math.exp(F*t*n)]};else{var p=Math.sqrt(d),m=(u*u-o*o+4*d)/(2*o*2*p),g=(u*u-o*o-4*d)/(2*u*2*p),v=Math.log(Math.sqrt(m*m+1)-m),y=Math.log(Math.sqrt(g*g+1)-g);n=(y-v)/F,r=function(t){var e=t*n,r=c(v),s=o/(2*p)*(r*function(t){return((t=Math.exp(2*t))-1)/(t+1)}(F*e+v)-function(t){return((t=Math.exp(t))-1/t)/2}(v));return[i+s*f,a+s*h,o*r/c(F*e+v)]}}return r.duration=1e3*n,r},t.interpolateRgb=b,t.interpolateRgbBasis=_,t.interpolateRgbBasisClosed=w,t.interpolateHsl=R,t.interpolateHslLong=N,t.interpolateLab=function(t,r){var n=o((t=e.lab(t)).l,(r=e.lab(r)).l),i=o(t.a,r.a),a=o(t.b,r.b),s=o(t.opacity,r.opacity);return function(e){return t.l=n(e),t.a=i(e),t.b=a(e),t.opacity=s(e),t+&quot;&quot;}},t.interpolateHcl=j,t.interpolateHclLong=B,t.interpolateCubehelix=U,t.interpolateCubehelixLong=V,t.quantize=function(t,e){for(var r=new Array(e),n=0;n&lt;e;++n)r[n]=t(n/(e-1));return r},Object.defineProperty(t,&quot;__esModule&quot;,{value:!0})})},{&quot;d3-color&quot;:122}],126:[function(t,e,r){!function(t,n){n(&quot;object&quot;==typeof r&amp;&amp;void 0!==e?r:t.d3=t.d3||{})}(this,function(t){&quot;use strict&quot;;function e(t,e,r,n){if(isNaN(e)||isNaN(r))return t;var i,a,o,s,l,c,u,f,h,d=t._root,p={data:n},m=t._x0,g=t._y0,v=t._x1,y=t._y1;if(!d)return t._root=p,t;for(;d.length;)if((c=e&gt;=(a=(m+v)/2))?m=a:v=a,(u=r&gt;=(o=(g+y)/2))?g=o:y=o,i=d,!(d=d[f=u&lt;&lt;1|c]))return i[f]=p,t;if(s=+t._x.call(null,d.data),l=+t._y.call(null,d.data),e===s&amp;&amp;r===l)return p.next=d,i?i[f]=p:t._root=p,t;do{i=i?i[f]=new Array(4):t._root=new Array(4),(c=e&gt;=(a=(m+v)/2))?m=a:v=a,(u=r&gt;=(o=(g+y)/2))?g=o:y=o}while((f=u&lt;&lt;1|c)==(h=(l&gt;=o)&lt;&lt;1|s&gt;=a));return i[h]=d,i[f]=p,t}function r(t,e,r){var i=new n(null==e?function(t){return t[0]}:e,null==r?function(t){return t[1]}:r,NaN,NaN,NaN,NaN);return null==t?i:i.addAll(t)}function n(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 i(t){for(var e={data:t.data},r=e;t=t.next;)r=r.next={data:t.data};return e}var a=function(t,e,r,n,i){this.node=t,this.x0=e,this.y0=r,this.x1=n,this.y1=i},o=r.prototype=n.prototype;o.copy=function(){var t,e,r=new n(this._x,this._y,this._x0,this._y0,this._x1,this._y1),a=this._root;if(!a)return r;if(!a.length)return r._root=i(a),r;for(t=[{source:a,target:r._root=new Array(4)}];a=t.pop();)for(var o=0;o&lt;4;++o)(e=a.source[o])&amp;&amp;(e.length?t.push({source:e,target:a.target[o]=new Array(4)}):a.target[o]=i(e));return r},o.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)},o.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&lt;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&lt;c&amp;&amp;(c=i),i&gt;f&amp;&amp;(f=i),a&lt;u&amp;&amp;(u=a),a&gt;h&amp;&amp;(h=a));for(f&lt;c&amp;&amp;(c=this._x0,f=this._x1),h&lt;u&amp;&amp;(u=this._y0,h=this._y1),this.cover(c,u).cover(f,h),n=0;n&lt;o;++n)e(this,s[n],l[n],t[n]);return this},o.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{if(!(r&gt;t||t&gt;i||n&gt;e||e&gt;a))return this;var o,s,l=i-r,c=this._root;switch(s=(e&lt;(n+a)/2)&lt;&lt;1|t&lt;(r+i)/2){case 0:do{o=new Array(4),o[s]=c,c=o}while(l*=2,i=r+l,a=n+l,t&gt;i||e&gt;a);break;case 1:do{o=new Array(4),o[s]=c,c=o}while(l*=2,r=i-l,a=n+l,r&gt;t||e&gt;a);break;case 2:do{o=new Array(4),o[s]=c,c=o}while(l*=2,i=r+l,n=a-l,t&gt;i||n&gt;e);break;case 3:do{o=new Array(4),o[s]=c,c=o}while(l*=2,r=i-l,n=a-l,r&gt;t||n&gt;e)}this._root&amp;&amp;this._root.length&amp;&amp;(this._root=c)}return this._x0=r,this._y0=n,this._x1=i,this._y1=a,this},o.data=function(){var t=[];return this.visit(function(e){if(!e.length)do{t.push(e.data)}while(e=e.next)}),t},o.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]]},o.find=function(t,e,r){var n,i,o,s,l,c,u,f=this._x0,h=this._y0,d=this._x1,p=this._y1,m=[],g=this._root;for(g&amp;&amp;m.push(new a(g,f,h,d,p)),null==r?r=1/0:(f=t-r,h=e-r,d=t+r,p=e+r,r*=r);c=m.pop();)if(!(!(g=c.node)||(i=c.x0)&gt;d||(o=c.y0)&gt;p||(s=c.x1)&lt;f||(l=c.y1)&lt;h))if(g.length){var v=(i+s)/2,y=(o+l)/2;m.push(new a(g[3],v,y,s,l),new a(g[2],i,y,v,l),new a(g[1],v,o,s,y),new a(g[0],i,o,v,y)),(u=(e&gt;=y)&lt;&lt;1|t&gt;=v)&amp;&amp;(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(_&lt;r){var w=Math.sqrt(r=_);f=t-w,h=e-w,d=t+w,p=e+w,n=g.data}}return n},o.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,d=this._root,p=this._x0,m=this._y0,g=this._x1,v=this._y1;if(!d)return this;if(d.length)for(;;){if((c=a&gt;=(s=(p+g)/2))?p=s:g=s,(u=o&gt;=(l=(m+v)/2))?m=l:v=l,e=d,!(d=d[f=u&lt;&lt;1|c]))return this;if(!d.length)break;(e[f+1&amp;3]||e[f+2&amp;3]||e[f+3&amp;3])&amp;&amp;(r=e,h=f)}for(;d.data!==t;)if(n=d,!(d=d.next))return this;return(i=d.next)&amp;&amp;delete d.next,n?(i?n.next=i:delete n.next,this):e?(i?e[f]=i:delete e[f],(d=e[0]||e[1]||e[2]||e[3])&amp;&amp;d===(e[3]||e[2]||e[1]||e[0])&amp;&amp;!d.length&amp;&amp;(r?r[h]=d:this._root=d),this):(this._root=i,this)},o.removeAll=function(t){for(var e=0,r=t.length;e&lt;r;++e)this.remove(t[e]);return this},o.root=function(){return this._root},o.size=function(){var t=0;return this.visit(function(e){if(!e.length)do{++t}while(e=e.next)}),t},o.visit=function(t){var e,r,n,i,o,s,l=[],c=this._root;for(c&amp;&amp;l.push(new a(c,this._x0,this._y0,this._x1,this._y1));e=l.pop();)if(!t(c=e.node,n=e.x0,i=e.y0,o=e.x1,s=e.y1)&amp;&amp;c.length){var u=(n+o)/2,f=(i+s)/2;(r=c[3])&amp;&amp;l.push(new a(r,u,f,o,s)),(r=c[2])&amp;&amp;l.push(new a(r,n,f,u,s)),(r=c[1])&amp;&amp;l.push(new a(r,u,i,o,f)),(r=c[0])&amp;&amp;l.push(new a(r,n,i,u,f))}return this},o.visitAfter=function(t){var e,r=[],n=[];for(this._root&amp;&amp;r.push(new a(this._root,this._x0,this._y0,this._x1,this._y1));e=r.pop();){var i=e.node;if(i.length){var o,s=e.x0,l=e.y0,c=e.x1,u=e.y1,f=(s+c)/2,h=(l+u)/2;(o=i[0])&amp;&amp;r.push(new a(o,s,l,f,h)),(o=i[1])&amp;&amp;r.push(new a(o,f,l,c,h)),(o=i[2])&amp;&amp;r.push(new a(o,s,h,f,u)),(o=i[3])&amp;&amp;r.push(new a(o,f,h,c,u))}n.push(e)}for(;e=n.pop();)t(e.node,e.x0,e.y0,e.x1,e.y1);return this},o.x=function(t){return arguments.length?(this._x=t,this):this._x},o.y=function(t){return arguments.length?(this._y=t,this):this._y},t.quadtree=r,Object.defineProperty(t,&quot;__esModule&quot;,{value:!0})})},{}],127:[function(t,e,r){!function(t,n){n(&quot;object&quot;==typeof r&amp;&amp;void 0!==e?r:t.d3=t.d3||{})}(this,function(t){&quot;use strict&quot;;function e(){return g||(x(r),g=y.now()+v)}function r(){g=0}function n(){this._call=this._time=this._next=null}function i(t,e,r){var i=new n;return i.restart(t,e,r),i}function a(){e(),++f;for(var t,r=c;r;)(t=g-r._time)&gt;=0&amp;&amp;r._call.call(null,t),r=r._next;--f}function o(){g=(m=y.now())+v,f=h=0;try{a()}finally{f=0,function(){var t,e,r=c,n=1/0;for(;r;)r._call?(n&gt;r._time&amp;&amp;(n=r._time),t=r,r=r._next):(e=r._next,r._next=null,r=t?t._next=e:c=e);u=t,l(n)}(),g=0}}function s(){var t=y.now(),e=t-m;e&gt;p&amp;&amp;(v-=e,m=t)}function l(t){if(!f){h&amp;&amp;(h=clearTimeout(h));var e=t-g;e&gt;24?(t&lt;1/0&amp;&amp;(h=setTimeout(o,e)),d&amp;&amp;(d=clearInterval(d))):(d||(m=g,d=setInterval(s,p)),f=1,x(o))}}var c,u,f=0,h=0,d=0,p=1e3,m=0,g=0,v=0,y=&quot;object&quot;==typeof performance&amp;&amp;performance.now?performance:Date,x=&quot;function&quot;==typeof requestAnimationFrame?requestAnimationFrame:function(t){setTimeout(t,17)};n.prototype=i.prototype={constructor:n,restart:function(t,r,n){if(&quot;function&quot;!=typeof t)throw new TypeError(&quot;callback is not a function&quot;);n=(null==n?e():+n)+(null==r?0:+r),this._next||u===this||(u?u._next=this:c=this,u=this),this._call=t,this._time=n,l()},stop:function(){this._call&amp;&amp;(this._call=null,this._time=1/0,l())}};t.now=e,t.timer=i,t.timerFlush=a,t.timeout=function(t,e,r){var i=new n;return e=null==e?0:+e,i.restart(function(r){i.stop(),t(r+e)},e,r),i},t.interval=function(t,r,i){var a=new n,o=r;return null==r?(a.restart(t,r,i),a):(r=+r,i=null==i?e():+i,a.restart(function e(n){n+=o,a.restart(e,o+=r,i),t(n)},r,i),a)},Object.defineProperty(t,&quot;__esModule&quot;,{value:!0})})},{}],128:[function(t,e,r){!function(){function t(t){return t&amp;&amp;(t.ownerDocument||t.document||t).documentElement}function r(t){return t&amp;&amp;(t.ownerDocument&amp;&amp;t.ownerDocument.defaultView||t.document&amp;&amp;t||t.defaultView)}function n(t,e){return t&lt;e?-1:t&gt;e?1:t&gt;=e?0:NaN}function i(t){return null===t?NaN:+t}function a(t){return!isNaN(t)}function o(t){return{left:function(e,r,n,i){for(arguments.length&lt;3&amp;&amp;(n=0),arguments.length&lt;4&amp;&amp;(i=e.length);n&lt;i;){var a=n+i&gt;&gt;&gt;1;t(e[a],r)&lt;0?n=a+1:i=a}return n},right:function(e,r,n,i){for(arguments.length&lt;3&amp;&amp;(n=0),arguments.length&lt;4&amp;&amp;(i=e.length);n&lt;i;){var a=n+i&gt;&gt;&gt;1;t(e[a],r)&gt;0?i=a:n=a+1}return n}}}function s(t){return t.length}function l(t,e){for(var r in e)Object.defineProperty(t.prototype,r,{value:e[r],enumerable:!1})}function c(){this._=Object.create(null)}function u(t){return(t+=&quot;&quot;)===oa||t[0]===sa?sa+t:t}function f(t){return(t+=&quot;&quot;)[0]===sa?t.slice(1):t}function h(t){return u(t)in this._}function d(t){return(t=u(t))in this._&amp;&amp;delete this._[t]}function p(){var t=[];for(var e in this._)t.push(f(e));return t}function m(){var t=0;for(var e in this._)++t;return t}function g(){for(var t in this._)return!1;return!0}function v(){this._=Object.create(null)}function y(t){return t}function x(t,e){if(e in t)return e;e=e.charAt(0).toUpperCase()+e.slice(1);for(var r=0,n=la.length;r&lt;n;++r){var i=la[r]+e;if(i in t)return i}}function b(){}function _(){}function w(t){function e(){for(var e,n=r,i=-1,a=n.length;++i&lt;a;)(e=n[i].on)&amp;&amp;e.apply(this,arguments);return t}var r=[],n=new c;return e.on=function(e,i){var a,o=n.get(e);return arguments.length&lt;2?o&amp;&amp;o.on:(o&amp;&amp;(o.on=null,r=r.slice(0,a=r.indexOf(o)).concat(r.slice(a+1)),n.remove(e)),i&amp;&amp;r.push(n.set(e,{on:i})),t)},e}function M(){Zi.event.preventDefault()}function k(){for(var t,e=Zi.event;t=e.sourceEvent;)e=t;return e}function A(t){for(var e=new _,r=0,n=arguments.length;++r&lt;n;)e[arguments[r]]=w(e);return e.of=function(r,n){return function(i){try{var a=i.sourceEvent=Zi.event;i.target=t,Zi.event=i,e[i.type].apply(r,n)}finally{Zi.event=a}}},e}function T(t){return ua(t,pa),t}function S(t){return&quot;function&quot;==typeof t?t:function(){return fa(t,this)}}function E(t){return&quot;function&quot;==typeof t?t:function(){return ha(t,this)}}function L(t,e){return t=Zi.ns.qualify(t),null==e?t.local?function(){this.removeAttributeNS(t.space,t.local)}:function(){this.removeAttribute(t)}:&quot;function&quot;==typeof e?t.local?function(){var r=e.apply(this,arguments);null==r?this.removeAttributeNS(t.space,t.local):this.setAttributeNS(t.space,t.local,r)}:function(){var r=e.apply(this,arguments);null==r?this.removeAttribute(t):this.setAttribute(t,r)}:t.local?function(){this.setAttributeNS(t.space,t.local,e)}:function(){this.setAttribute(t,e)}}function C(t){return t.trim().replace(/\s+/g,&quot; &quot;)}function z(t){return new RegExp(&quot;(?:^|\\s+)&quot;+Zi.requote(t)+&quot;(?:\\s+|$)&quot;,&quot;g&quot;)}function D(t){return(t+&quot;&quot;).trim().split(/^|\s+/)}function I(t,e){var r=(t=D(t).map(P)).length;return&quot;function&quot;==typeof e?function(){for(var n=-1,i=e.apply(this,arguments);++n&lt;r;)t[n](this,i)}:function(){for(var n=-1;++n&lt;r;)t[n](this,e)}}function P(t){var e=z(t);return function(r,n){if(i=r.classList)return n?i.add(t):i.remove(t);var i=r.getAttribute(&quot;class&quot;)||&quot;&quot;;n?(e.lastIndex=0,e.test(i)||r.setAttribute(&quot;class&quot;,C(i+&quot; &quot;+t))):r.setAttribute(&quot;class&quot;,C(i.replace(e,&quot; &quot;)))}}function O(t,e,r){return null==e?function(){this.style.removeProperty(t)}:&quot;function&quot;==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 F(t,e){return null==e?function(){delete this[t]}:&quot;function&quot;==typeof e?function(){var r=e.apply(this,arguments);null==r?delete this[t]:this[t]=r}:function(){this[t]=e}}function R(t){return&quot;function&quot;==typeof t?t:(t=Zi.ns.qualify(t)).local?function(){return this.ownerDocument.createElementNS(t.space,t.local)}:function(){var e=this.ownerDocument,r=this.namespaceURI;return r===ma&amp;&amp;e.documentElement.namespaceURI===ma?e.createElement(t):e.createElementNS(r,t)}}function N(){var t=this.parentNode;t&amp;&amp;t.removeChild(this)}function j(t){return{__data__:t}}function B(t){return function(){return da(this,t)}}function U(t,e){for(var r=0,n=t.length;r&lt;n;r++)for(var i,a=t[r],o=0,s=a.length;o&lt;s;o++)(i=a[o])&amp;&amp;e(i,o,r);return t}function V(t){return ua(t,va),t}function q(t,e,r){function n(){var e=this[i];e&amp;&amp;(this.removeEventListener(t,e,e.$),delete this[i])}var i=&quot;__on&quot;+t,a=t.indexOf(&quot;.&quot;),o=H;a&gt;0&amp;&amp;(t=t.slice(0,a));var s=ya.get(t);return s&amp;&amp;(t=s,o=G),a?e?function(){var a=o(e,Ki(arguments));n.call(this),this.addEventListener(t,this[i]=a,a.$=r),a._=e}:n:e?b:function(){var e,r=new RegExp(&quot;^__on([^.]+)&quot;+Zi.requote(t)+&quot;$&quot;);for(var n in this)if(e=n.match(r)){var i=this[n];this.removeEventListener(e[1],i,i.$),delete this[n]}}}function H(t,e){return function(r){var n=Zi.event;Zi.event=r,e[0]=this.__data__;try{t.apply(this,e)}finally{Zi.event=n}}}function G(t,e){var r=H(t,e);return function(t){var e=t.relatedTarget;e&amp;&amp;(e===this||8&amp;e.compareDocumentPosition(this))||r.call(this,t)}}function Y(e){var n=&quot;.dragsuppress-&quot;+ ++ba,i=&quot;click&quot;+n,a=Zi.select(r(e)).on(&quot;touchmove&quot;+n,M).on(&quot;dragstart&quot;+n,M).on(&quot;selectstart&quot;+n,M);if(null==xa&amp;&amp;(xa=!(&quot;onselectstart&quot;in e)&amp;&amp;x(e.style,&quot;userSelect&quot;)),xa){var o=t(e).style,s=o[xa];o[xa]=&quot;none&quot;}return function(t){if(a.on(n,null),xa&amp;&amp;(o[xa]=s),t){var e=function(){a.on(i,null)};a.on(i,function(){M(),e()},!0),setTimeout(e,0)}}}function W(t,e){e.changedTouches&amp;&amp;(e=e.changedTouches[0]);var n=t.ownerSVGElement||t;if(n.createSVGPoint){var i=n.createSVGPoint();if(_a&lt;0){var a=r(t);if(a.scrollX||a.scrollY){var o=(n=Zi.select(&quot;body&quot;).append(&quot;svg&quot;).style({position:&quot;absolute&quot;,top:0,left:0,margin:0,padding:0,border:&quot;none&quot;},&quot;important&quot;))[0][0].getScreenCTM();_a=!(o.f||o.e),n.remove()}}return _a?(i.x=e.pageX,i.y=e.pageY):(i.x=e.clientX,i.y=e.clientY),i=i.matrixTransform(t.getScreenCTM().inverse()),[i.x,i.y]}var s=t.getBoundingClientRect();return[e.clientX-s.left-t.clientLeft,e.clientY-s.top-t.clientTop]}function X(){return Zi.event.changedTouches[0].identifier}function Z(t){return t&gt;0?1:t&lt;0?-1:0}function J(t,e,r){return(e[0]-t[0])*(r[1]-t[1])-(e[1]-t[1])*(r[0]-t[0])}function K(t){return t&gt;1?0:t&lt;-1?ka:Math.acos(t)}function Q(t){return t&gt;1?Sa:t&lt;-1?-Sa:Math.asin(t)}function $(t){return((t=Math.exp(t))+1/t)/2}function tt(t){return(t=Math.sin(t/2))*t}function et(){}function rt(t,e,r){return this instanceof rt?(this.h=+t,this.s=+e,void(this.l=+r)):arguments.length&lt;2?t instanceof rt?new rt(t.h,t.s,t.l):gt(&quot;&quot;+t,vt,rt):new rt(t,e,r)}function nt(t,e,r){function n(t){return Math.round(255*function(t){return t&gt;360?t-=360:t&lt;0&amp;&amp;(t+=360),t&lt;60?i+(a-i)*t/60:t&lt;180?a:t&lt;240?i+(a-i)*(240-t)/60:i}(t))}var i,a;return t=isNaN(t)?0:(t%=360)&lt;0?t+360:t,e=isNaN(e)?0:e&lt;0?0:e&gt;1?1:e,r=r&lt;0?0:r&gt;1?1:r,a=r&lt;=.5?r*(1+e):r+e-r*e,i=2*r-a,new ht(n(t+120),n(t),n(t-120))}function it(t,e,r){return this instanceof it?(this.h=+t,this.c=+e,void(this.l=+r)):arguments.length&lt;2?t instanceof it?new it(t.h,t.c,t.l):t instanceof ot?lt(t.l,t.a,t.b):lt((t=yt((t=Zi.rgb(t)).r,t.g,t.b)).l,t.a,t.b):new it(t,e,r)}function at(t,e,r){return isNaN(t)&amp;&amp;(t=0),isNaN(e)&amp;&amp;(e=0),new ot(r,Math.cos(t*=Ea)*e,Math.sin(t)*e)}function ot(t,e,r){return this instanceof ot?(this.l=+t,this.a=+e,void(this.b=+r)):arguments.length&lt;2?t instanceof ot?new ot(t.l,t.a,t.b):t instanceof it?at(t.h,t.c,t.l):yt((t=ht(t)).r,t.g,t.b):new ot(t,e,r)}function st(t,e,r){var n=(t+16)/116,i=n+e/500,a=n-r/200;return i=ct(i)*Ra,n=ct(n)*Na,a=ct(a)*ja,new ht(ft(3.2404542*i-1.5371385*n-.4985314*a),ft(-.969266*i+1.8760108*n+.041556*a),ft(.0556434*i-.2040259*n+1.0572252*a))}function lt(t,e,r){return t&gt;0?new it(Math.atan2(r,e)*La,Math.sqrt(e*e+r*r),t):new it(NaN,NaN,t)}function ct(t){return t&gt;.206893034?t*t*t:(t-4/29)/7.787037}function ut(t){return t&gt;.008856?Math.pow(t,1/3):7.787037*t+4/29}function ft(t){return Math.round(255*(t&lt;=.00304?12.92*t:1.055*Math.pow(t,1/2.4)-.055))}function ht(t,e,r){return this instanceof ht?(this.r=~~t,this.g=~~e,void(this.b=~~r)):arguments.length&lt;2?t instanceof ht?new ht(t.r,t.g,t.b):gt(&quot;&quot;+t,ht,nt):new ht(t,e,r)}function dt(t){return new ht(t&gt;&gt;16,t&gt;&gt;8&amp;255,255&amp;t)}function pt(t){return dt(t)+&quot;&quot;}function mt(t){return t&lt;16?&quot;0&quot;+Math.max(0,t).toString(16):Math.min(255,t).toString(16)}function gt(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(&quot;,&quot;),n[1]){case&quot;hsl&quot;:return r(parseFloat(i[0]),parseFloat(i[1])/100,parseFloat(i[2])/100);case&quot;rgb&quot;:return e(bt(i[0]),bt(i[1]),bt(i[2]))}return(a=Va.get(t))?e(a.r,a.g,a.b):(null==t||&quot;#&quot;!==t.charAt(0)||isNaN(a=parseInt(t.slice(1),16))||(4===t.length?(o=(3840&amp;a)&gt;&gt;4,o|=o&gt;&gt;4,s=240&amp;a,s|=s&gt;&gt;4,l=15&amp;a,l|=l&lt;&lt;4):7===t.length&amp;&amp;(o=(16711680&amp;a)&gt;&gt;16,s=(65280&amp;a)&gt;&gt;8,l=255&amp;a)),e(o,s,l))}function vt(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&lt;.5?s/(o+a):s/(2-o-a),n=t==o?(e-r)/s+(e&lt;r?6:0):e==o?(r-t)/s+2:(t-e)/s+4,n*=60):(n=NaN,i=l&gt;0&amp;&amp;l&lt;1?0:n),new rt(n,i,l)}function yt(t,e,r){var n=ut((.4124564*(t=xt(t))+.3575761*(e=xt(e))+.1804375*(r=xt(r)))/Ra),i=ut((.2126729*t+.7151522*e+.072175*r)/Na);return ot(116*i-16,500*(n-i),200*(i-ut((.0193339*t+.119192*e+.9503041*r)/ja)))}function xt(t){return(t/=255)&lt;=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function bt(t){var e=parseFloat(t);return&quot;%&quot;===t.charAt(t.length-1)?Math.round(2.55*e):e}function _t(t){return&quot;function&quot;==typeof t?t:function(){return t}}function wt(t){return function(e,r,n){return 2===arguments.length&amp;&amp;&quot;function&quot;==typeof r&amp;&amp;(n=r,r=null),Mt(e,r,t,n)}}function Mt(t,e,r,n){function i(){var t,e=l.status;if(!e&amp;&amp;function(t){var e=t.responseType;return e&amp;&amp;&quot;text&quot;!==e?t.response:t.responseText}(l)||e&gt;=200&amp;&amp;e&lt;300||304===e){try{t=r.call(a,l)}catch(t){return void o.error.call(a,t)}o.load.call(a,t)}else o.error.call(a,l)}var a={},o=Zi.dispatch(&quot;beforesend&quot;,&quot;progress&quot;,&quot;load&quot;,&quot;error&quot;),s={},l=new XMLHttpRequest,c=null;return!this.XDomainRequest||&quot;withCredentials&quot;in l||!/^(http(s)?:)?\/\//.test(t)||(l=new XDomainRequest),&quot;onload&quot;in l?l.onload=l.onerror=i:l.onreadystatechange=function(){l.readyState&gt;3&amp;&amp;i()},l.onprogress=function(t){var e=Zi.event;Zi.event=t;try{o.progress.call(a,l)}finally{Zi.event=e}},a.header=function(t,e){return t=(t+&quot;&quot;).toLowerCase(),arguments.length&lt;2?s[t]:(null==e?delete s[t]:s[t]=e+&quot;&quot;,a)},a.mimeType=function(t){return arguments.length?(e=null==t?null:t+&quot;&quot;,a):e},a.responseType=function(t){return arguments.length?(c=t,a):c},a.response=function(t){return r=t,a},[&quot;get&quot;,&quot;post&quot;].forEach(function(t){a[t]=function(){return a.send.apply(a,[t].concat(Ki(arguments)))}}),a.send=function(r,n,i){if(2===arguments.length&amp;&amp;&quot;function&quot;==typeof n&amp;&amp;(i=n,n=null),l.open(r,t,!0),null==e||&quot;accept&quot;in s||(s.accept=e+&quot;,*/*&quot;),l.setRequestHeader)for(var u in s)l.setRequestHeader(u,s[u]);return null!=e&amp;&amp;l.overrideMimeType&amp;&amp;l.overrideMimeType(e),null!=c&amp;&amp;(l.responseType=c),null!=i&amp;&amp;a.on(&quot;error&quot;,i).on(&quot;load&quot;,function(t){i(null,t)}),o.beforesend.call(a,l),l.send(null==n?null:n),a},a.abort=function(){return l.abort(),a},Zi.rebind(a,o,&quot;on&quot;),null==n?a:a.get(function(t){return 1===t.length?function(e,r){t(null==e?r:null)}:t}(n))}function kt(t,e,r){var n=arguments.length;n&lt;2&amp;&amp;(e=0),n&lt;3&amp;&amp;(r=Date.now());var i={c:t,t:r+e,n:null};return Ha?Ha.n=i:qa=i,Ha=i,Ga||(Ya=clearTimeout(Ya),Ga=1,Wa(At)),i}function At(){var t=Tt(),e=St()-t;e&gt;24?(isFinite(e)&amp;&amp;(clearTimeout(Ya),Ya=setTimeout(At,e)),Ga=0):(Ga=1,Wa(At))}function Tt(){for(var t=Date.now(),e=qa;e;)t&gt;=e.t&amp;&amp;e.c(t-e.t)&amp;&amp;(e.c=null),e=e.n;return t}function St(){for(var t,e=qa,r=1/0;e;)e.c?(e.t&lt;r&amp;&amp;(r=e.t),e=(t=e).n):e=t?t.n=e.n:qa=e.n;return Ha=t,r}function Et(t,e){return e-(t?Math.ceil(Math.log(t)/Math.LN10):1)}function Lt(){this._=new Date(arguments.length&gt;1?Date.UTC.apply(this,arguments):arguments[0])}function Ct(t,e,r){function n(e){var r=t(e),n=a(r,1);return e-r&lt;n-e?r:n}function i(r){return e(r=t(new Qa(r-1)),1),r}function a(t,r){return e(t=new Qa(+t),r),t}function o(t,n,a){var o=i(t),s=[];if(a&gt;1)for(;o&lt;n;)r(o)%a||s.push(new Date(+o)),e(o,1);else for(;o&lt;n;)s.push(new Date(+o)),e(o,1);return s}t.floor=t,t.round=n,t.ceil=i,t.offset=a,t.range=o;var s=t.utc=zt(t);return s.floor=s,s.round=zt(n),s.ceil=zt(i),s.offset=zt(a),s.range=function(t,e,r){try{Qa=Lt;var n=new Lt;return n._=t,o(n,e,r)}finally{Qa=Date}},t}function zt(t){return function(e,r){try{Qa=Lt;var n=new Lt;return n._=e,t(n,r)._}finally{Qa=Date}}}function Dt(t,e,r){var n=t&lt;0?&quot;-&quot;:&quot;&quot;,i=(n?-t:t)+&quot;&quot;,a=i.length;return n+(a&lt;r?new Array(r-a+1).join(e)+i:i)}function It(t){return new RegExp(&quot;^(?:&quot;+t.map(Zi.requote).join(&quot;|&quot;)+&quot;)&quot;,&quot;i&quot;)}function Pt(t){for(var e=new c,r=-1,n=t.length;++r&lt;n;)e.set(t[r].toLowerCase(),r);return e}function Ot(t,e,r){eo.lastIndex=0;var n=eo.exec(e.slice(r,r+1));return n?(t.w=+n[0],r+n[0].length):-1}function Ft(t,e,r){eo.lastIndex=0;var n=eo.exec(e.slice(r));return n?(t.U=+n[0],r+n[0].length):-1}function Rt(t,e,r){eo.lastIndex=0;var n=eo.exec(e.slice(r));return n?(t.W=+n[0],r+n[0].length):-1}function Nt(t,e,r){eo.lastIndex=0;var n=eo.exec(e.slice(r,r+4));return n?(t.y=+n[0],r+n[0].length):-1}function jt(t,e,r){eo.lastIndex=0;var n=eo.exec(e.slice(r,r+2));return n?(t.y=function(t){return t+(t&gt;68?1900:2e3)}(+n[0]),r+n[0].length):-1}function Bt(t,e,r){return/^[+-]\d{4}$/.test(e=e.slice(r,r+5))?(t.Z=-e,r+5):-1}function Ut(t,e,r){eo.lastIndex=0;var n=eo.exec(e.slice(r,r+2));return n?(t.m=n[0]-1,r+n[0].length):-1}function Vt(t,e,r){eo.lastIndex=0;var n=eo.exec(e.slice(r,r+2));return n?(t.d=+n[0],r+n[0].length):-1}function qt(t,e,r){eo.lastIndex=0;var n=eo.exec(e.slice(r,r+3));return n?(t.j=+n[0],r+n[0].length):-1}function Ht(t,e,r){eo.lastIndex=0;var n=eo.exec(e.slice(r,r+2));return n?(t.H=+n[0],r+n[0].length):-1}function Gt(t,e,r){eo.lastIndex=0;var n=eo.exec(e.slice(r,r+2));return n?(t.M=+n[0],r+n[0].length):-1}function Yt(t,e,r){eo.lastIndex=0;var n=eo.exec(e.slice(r,r+2));return n?(t.S=+n[0],r+n[0].length):-1}function Wt(t,e,r){eo.lastIndex=0;var n=eo.exec(e.slice(r,r+3));return n?(t.L=+n[0],r+n[0].length):-1}function Xt(t){var e=t.getTimezoneOffset(),r=e&gt;0?&quot;-&quot;:&quot;+&quot;,n=aa(e)/60|0,i=aa(e)%60;return r+Dt(n,&quot;0&quot;,2)+Dt(i,&quot;0&quot;,2)}function Zt(t,e,r){ro.lastIndex=0;var n=ro.exec(e.slice(r,r+1));return n?r+n[0].length:-1}function Jt(t){for(var e=t.length,r=-1;++r&lt;e;)t[r][0]=this(t[r][0]);return function(e){for(var r=0,n=t[r];!n[1](e);)n=t[++r];return n[0](e)}}function Kt(){}function Qt(t,e,r){var n=r.s=t+e,i=n-t,a=n-i;r.t=t-a+(e-i)}function $t(t,e){t&amp;&amp;oo.hasOwnProperty(t.type)&amp;&amp;oo[t.type](t,e)}function te(t,e,r){var n,i=-1,a=t.length-r;for(e.lineStart();++i&lt;a;)n=t[i],e.point(n[0],n[1],n[2]);e.lineEnd()}function ee(t,e){var r=-1,n=t.length;for(e.polygonStart();++r&lt;n;)te(t[r],e,1);e.polygonEnd()}function re(){function t(t,e){e=e*Ea/2+ka/4;var r=(t*=Ea)-n,o=r&gt;=0?1:-1,s=o*r,l=Math.cos(e),c=Math.sin(e),u=a*c,f=i*l+u*Math.cos(s),h=u*o*Math.sin(s);lo.add(Math.atan2(h,f)),n=t,i=l,a=c}var e,r,n,i,a;co.point=function(o,s){co.point=t,n=(e=o)*Ea,i=Math.cos(s=(r=s)*Ea/2+ka/4),a=Math.sin(s)},co.lineEnd=function(){t(e,r)}}function ne(t){var e=t[0],r=t[1],n=Math.cos(r);return[n*Math.cos(e),n*Math.sin(e),Math.sin(r)]}function ie(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]}function ae(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 oe(t,e){t[0]+=e[0],t[1]+=e[1],t[2]+=e[2]}function se(t,e){return[t[0]*e,t[1]*e,t[2]*e]}function le(t){var e=Math.sqrt(t[0]*t[0]+t[1]*t[1]+t[2]*t[2]);t[0]/=e,t[1]/=e,t[2]/=e}function ce(t){return[Math.atan2(t[1],t[0]),Q(t[2])]}function ue(t,e){return aa(t[0]-e[0])&lt;wa&amp;&amp;aa(t[1]-e[1])&lt;wa}function fe(t,e){t*=Ea;var r=Math.cos(e*=Ea);he(r*Math.cos(t),r*Math.sin(t),Math.sin(e))}function he(t,e,r){ho+=(t-ho)/++uo,po+=(e-po)/uo,mo+=(r-mo)/uo}function de(){function t(t,i){t*=Ea;var a=Math.cos(i*=Ea),o=a*Math.cos(t),s=a*Math.sin(t),l=Math.sin(i),c=Math.atan2(Math.sqrt((c=r*l-n*s)*c+(c=n*o-e*l)*c+(c=e*s-r*o)*c),e*o+r*s+n*l);fo+=c,go+=c*(e+(e=o)),vo+=c*(r+(r=s)),yo+=c*(n+(n=l)),he(e,r,n)}var e,r,n;wo.point=function(i,a){i*=Ea;var o=Math.cos(a*=Ea);e=o*Math.cos(i),r=o*Math.sin(i),n=Math.sin(a),wo.point=t,he(e,r,n)}}function pe(){wo.point=fe}function me(){function t(t,e){t*=Ea;var r=Math.cos(e*=Ea),o=r*Math.cos(t),s=r*Math.sin(t),l=Math.sin(e),c=i*l-a*s,u=a*o-n*l,f=n*s-i*o,h=Math.sqrt(c*c+u*u+f*f),d=n*o+i*s+a*l,p=h&amp;&amp;-K(d)/h,m=Math.atan2(h,d);xo+=p*c,bo+=p*u,_o+=p*f,fo+=m,go+=m*(n+(n=o)),vo+=m*(i+(i=s)),yo+=m*(a+(a=l)),he(n,i,a)}var e,r,n,i,a;wo.point=function(o,s){e=o,r=s,wo.point=t,o*=Ea;var l=Math.cos(s*=Ea);n=l*Math.cos(o),i=l*Math.sin(o),a=Math.sin(s),he(n,i,a)},wo.lineEnd=function(){t(e,r),wo.lineEnd=pe,wo.point=fe}}function ge(t,e){function r(r,n){return r=t(r,n),e(r[0],r[1])}return t.invert&amp;&amp;e.invert&amp;&amp;(r.invert=function(r,n){return(r=e.invert(r,n))&amp;&amp;t.invert(r[0],r[1])}),r}function ve(){return!0}function ye(t,e,r,n,i){var a=[],o=[];if(t.forEach(function(t){if(!((e=t.length-1)&lt;=0)){var e,r=t[0],n=t[e];if(ue(r,n)){i.lineStart();for(var s=0;s&lt;e;++s)i.point((r=t[s])[0],r[1]);i.lineEnd()}else{var l=new be(r,t,null,!0),c=new be(r,null,l,!1);l.o=c,a.push(l),o.push(c),c=new be(n,null,l=new be(n,t,null,!1),!0),l.o=c,a.push(l),o.push(c)}}}),o.sort(e),xe(a),xe(o),a.length){for(var s=0,l=r,c=o.length;s&lt;c;++s)o[s].e=l=!l;for(var u,f,h=a[0];;){for(var d=h,p=!0;d.v;)if((d=d.n)===h)return;u=d.z,i.lineStart();do{if(d.v=d.o.v=!0,d.e){if(p)for(s=0,c=u.length;s&lt;c;++s)i.point((f=u[s])[0],f[1]);else n(d.x,d.n.x,1,i);d=d.n}else{if(p)for(s=(u=d.p.z).length-1;s&gt;=0;--s)i.point((f=u[s])[0],f[1]);else n(d.x,d.p.x,-1,i);d=d.p}u=(d=d.o).z,p=!p}while(!d.v);i.lineEnd()}}}function xe(t){if(e=t.length){for(var e,r,n=0,i=t[0];++n&lt;e;)i.n=r=t[n],r.p=i,i=r;i.n=r=t[0],r.p=i}}function be(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 _e(t,e,r,n){return function(i,a){function o(e,r){var n=i(e,r);t(e=n[0],r=n[1])&amp;&amp;a.point(e,r)}function s(t,e){var r=i(t,e);g.point(r[0],r[1])}function l(){y.point=s,g.lineStart()}function c(){y.point=o,g.lineEnd()}function u(t,e){m.push([t,e]);var r=i(t,e);b.point(r[0],r[1])}function f(){b.lineStart(),m=[]}function h(){u(m[0][0],m[0][1]),b.lineEnd();var t,e=b.clean(),r=x.buffer(),n=r.length;if(m.pop(),p.push(m),m=null,n)if(1&amp;e){var i,o=-1;if((n=(t=r[0]).length-1)&gt;0){for(_||(a.polygonStart(),_=!0),a.lineStart();++o&lt;n;)a.point((i=t[o])[0],i[1]);a.lineEnd()}}else n&gt;1&amp;&amp;2&amp;e&amp;&amp;r.push(r.pop().concat(r.shift())),d.push(r.filter(we))}var d,p,m,g=e(a),v=i.invert(n[0],n[1]),y={point:o,lineStart:l,lineEnd:c,polygonStart:function(){y.point=u,y.lineStart=f,y.lineEnd=h,d=[],p=[]},polygonEnd:function(){y.point=o,y.lineStart=l,y.lineEnd=c,d=Zi.merge(d);var t=function(t,e){var r=t[0],n=t[1],i=[Math.sin(r),-Math.cos(r),0],a=0,o=0;lo.reset();for(var s=0,l=e.length;s&lt;l;++s){var c=e[s],u=c.length;if(u)for(var f=c[0],h=f[0],d=f[1]/2+ka/4,p=Math.sin(d),m=Math.cos(d),g=1;;){g===u&amp;&amp;(g=0);var v=(t=c[g])[0],y=t[1]/2+ka/4,x=Math.sin(y),b=Math.cos(y),_=v-h,w=_&gt;=0?1:-1,M=w*_,k=M&gt;ka,A=p*x;if(lo.add(Math.atan2(A*w*Math.sin(M),m*b+A*Math.cos(M))),a+=k?_+w*Aa:_,k^h&gt;=r^v&gt;=r){var T=ae(ne(f),ne(t));le(T);var S=ae(i,T);le(S);var E=(k^_&gt;=0?-1:1)*Q(S[2]);(n&gt;E||n===E&amp;&amp;(T[0]||T[1]))&amp;&amp;(o+=k^_&gt;=0?1:-1)}if(!g++)break;h=v,p=x,m=b,f=t}}return(a&lt;-wa||a&lt;wa&amp;&amp;lo&lt;-wa)^1&amp;o}(v,p);d.length?(_||(a.polygonStart(),_=!0),ye(d,ke,t,r,a)):t&amp;&amp;(_||(a.polygonStart(),_=!0),a.lineStart(),r(null,null,1,a),a.lineEnd()),_&amp;&amp;(a.polygonEnd(),_=!1),d=p=null},sphere:function(){a.polygonStart(),a.lineStart(),r(null,null,1,a),a.lineEnd(),a.polygonEnd()}},x=Me(),b=e(x),_=!1;return y}}function we(t){return t.length&gt;1}function Me(){var t,e=[];return{lineStart:function(){e.push(t=[])},point:function(e,r){t.push([e,r])},lineEnd:b,buffer:function(){var r=e;return e=[],t=null,r},rejoin:function(){e.length&gt;1&amp;&amp;e.push(e.pop().concat(e.shift()))}}}function ke(t,e){return((t=t.x)[0]&lt;0?t[1]-Sa-wa:Sa-t[1])-((e=e.x)[0]&lt;0?e[1]-Sa-wa:Sa-e[1])}function Ae(t,e,r,n){return function(i){var a,o=i.a,s=i.b,l=o.x,c=o.y,u=0,f=1,h=s.x-l,d=s.y-c;if(a=t-l,h||!(a&gt;0)){if(a/=h,h&lt;0){if(a&lt;u)return;a&lt;f&amp;&amp;(f=a)}else if(h&gt;0){if(a&gt;f)return;a&gt;u&amp;&amp;(u=a)}if(a=r-l,h||!(a&lt;0)){if(a/=h,h&lt;0){if(a&gt;f)return;a&gt;u&amp;&amp;(u=a)}else if(h&gt;0){if(a&lt;u)return;a&lt;f&amp;&amp;(f=a)}if(a=e-c,d||!(a&gt;0)){if(a/=d,d&lt;0){if(a&lt;u)return;a&lt;f&amp;&amp;(f=a)}else if(d&gt;0){if(a&gt;f)return;a&gt;u&amp;&amp;(u=a)}if(a=n-c,d||!(a&lt;0)){if(a/=d,d&lt;0){if(a&gt;f)return;a&gt;u&amp;&amp;(u=a)}else if(d&gt;0){if(a&lt;u)return;a&lt;f&amp;&amp;(f=a)}return u&gt;0&amp;&amp;(i.a={x:l+u*h,y:c+u*d}),f&lt;1&amp;&amp;(i.b={x:l+f*h,y:c+f*d}),i}}}}}}function Te(t,e,r,n){function i(n,i){return aa(n[0]-t)&lt;wa?i&gt;0?0:3:aa(n[0]-r)&lt;wa?i&gt;0?2:1:aa(n[1]-e)&lt;wa?i&gt;0?1:0:i&gt;0?3:2}function a(t,e){return o(t.x,e.x)}function o(t,e){var r=i(t,1),n=i(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(s){function l(a,s,l,c){var u=0,f=0;if(null==a||(u=i(a,l))!==(f=i(s,l))||o(a,s)&lt;0^l&gt;0)do{c.point(0===u||3===u?t:r,u&gt;1?n:e)}while((u=(u+l+4)%4)!==f);else c.point(s[0],s[1])}function c(i,a){return t&lt;=i&amp;&amp;i&lt;=r&amp;&amp;e&lt;=a&amp;&amp;a&lt;=n}function u(t,e){c(t,e)&amp;&amp;s.point(t,e)}function f(t,e){var r=c(t=Math.max(-ko,Math.min(ko,t)),e=Math.max(-ko,Math.min(ko,e)));if(d&amp;&amp;p.push([t,e]),_)m=t,g=e,v=r,_=!1,r&amp;&amp;(s.lineStart(),s.point(t,e));else if(r&amp;&amp;b)s.point(t,e);else{var n={a:{x:y,y:x},b:{x:t,y:e}};A(n)?(b||(s.lineStart(),s.point(n.a.x,n.a.y)),s.point(n.b.x,n.b.y),r||s.lineEnd(),w=!1):r&amp;&amp;(s.lineStart(),s.point(t,e),w=!1)}y=t,x=e,b=r}var h,d,p,m,g,v,y,x,b,_,w,M=s,k=Me(),A=Ae(t,e,r,n),T={point:u,lineStart:function(){T.point=f,d&amp;&amp;d.push(p=[]),_=!0,b=!1,y=x=NaN},lineEnd:function(){h&amp;&amp;(f(m,g),v&amp;&amp;b&amp;&amp;k.rejoin(),h.push(k.buffer())),T.point=u,b&amp;&amp;s.lineEnd()},polygonStart:function(){s=k,h=[],d=[],w=!0},polygonEnd:function(){s=M,h=Zi.merge(h);var e=function(t){for(var e=0,r=d.length,n=t[1],i=0;i&lt;r;++i)for(var a,o=1,s=d[i],l=s.length,c=s[0];o&lt;l;++o)a=s[o],c[1]&lt;=n?a[1]&gt;n&amp;&amp;J(c,a,t)&gt;0&amp;&amp;++e:a[1]&lt;=n&amp;&amp;J(c,a,t)&lt;0&amp;&amp;--e,c=a;return 0!==e}([t,n]),r=w&amp;&amp;e,i=h.length;(r||i)&amp;&amp;(s.polygonStart(),r&amp;&amp;(s.lineStart(),l(null,null,1,s),s.lineEnd()),i&amp;&amp;ye(h,a,e,l,s),s.polygonEnd()),h=d=p=null}};return T}}function Se(t){var e=0,r=ka/3,n=je(t),i=n(e,r);return i.parallels=function(t){return arguments.length?n(e=t[0]*ka/180,r=t[1]*ka/180):[e/ka*180,r/ka*180]},i}function Ee(t,e){function r(t,e){var r=Math.sqrt(a-2*i*Math.sin(e))/i;return[r*Math.sin(t*=i),o-r*Math.cos(t)]}var n=Math.sin(t),i=(n+Math.sin(e))/2,a=1+n*(2*i-n),o=Math.sqrt(a)/i;return r.invert=function(t,e){var r=o-e;return[Math.atan2(t,r)/i,Q((a-(t*t+r*r)*i*i)/(2*i))]},r}function Le(){function t(t,e){To+=i*t-n*e,n=t,i=e}var e,r,n,i;zo.point=function(a,o){zo.point=t,e=n=a,r=i=o},zo.lineEnd=function(){t(e,r)}}function Ce(t){return&quot;m0,&quot;+t+&quot;a&quot;+t+&quot;,&quot;+t+&quot; 0 1,1 0,&quot;+-2*t+&quot;a&quot;+t+&quot;,&quot;+t+&quot; 0 1,1 0,&quot;+2*t+&quot;z&quot;}function ze(t,e){ho+=t,po+=e,++mo}function De(){function t(t,n){var i=t-e,a=n-r,o=Math.sqrt(i*i+a*a);go+=o*(e+t)/2,vo+=o*(r+n)/2,yo+=o,ze(e=t,r=n)}var e,r;Io.point=function(n,i){Io.point=t,ze(e=n,r=i)}}function Ie(){Io.point=ze}function Pe(){function t(t,e){var r=t-n,a=e-i,o=Math.sqrt(r*r+a*a);go+=o*(n+t)/2,vo+=o*(i+e)/2,yo+=o,xo+=(o=i*t-n*e)*(n+t),bo+=o*(i+e),_o+=3*o,ze(n=t,i=e)}var e,r,n,i;Io.point=function(a,o){Io.point=t,ze(e=n=a,r=i=o)},Io.lineEnd=function(){t(e,r)}}function Oe(t){function e(e){return(a?function(e){function n(r,n){r=t(r,n),e.point(r[0],r[1])}function i(){x=NaN,k.point=o,e.lineStart()}function o(n,i){var o=ne([n,i]),s=t(n,i);r(x,b,y,_,w,M,x=s[0],b=s[1],y=n,_=o[0],w=o[1],M=o[2],a,e),e.point(x,b)}function s(){k.point=n,e.lineEnd()}function l(){i(),k.point=c,k.lineEnd=u}function c(t,e){o(f=t,h=e),d=x,p=b,m=_,g=w,v=M,k.point=o}function u(){r(x,b,y,_,w,M,d,p,f,m,g,v,a,e),k.lineEnd=s,s()}var f,h,d,p,m,g,v,y,x,b,_,w,M,k={point:n,lineStart:i,lineEnd:s,polygonStart:function(){e.polygonStart(),k.lineStart=l},polygonEnd:function(){e.polygonEnd(),k.lineStart=i}};return k}:function(e){return Re(e,function(r,n){r=t(r,n),e.point(r[0],r[1])})})(e)}function r(e,a,o,s,l,c,u,f,h,d,p,m,g,v){var y=u-e,x=f-a,b=y*y+x*x;if(b&gt;4*n&amp;&amp;g--){var _=s+d,w=l+p,M=c+m,k=Math.sqrt(_*_+w*w+M*M),A=Math.asin(M/=k),T=aa(aa(M)-1)&lt;wa||aa(o-h)&lt;wa?(o+h)/2:Math.atan2(w,_),S=t(T,A),E=S[0],L=S[1],C=E-e,z=L-a,D=x*C-y*z;(D*D/b&gt;n||aa((y*C+x*z)/b-.5)&gt;.3||s*d+l*p+c*m&lt;i)&amp;&amp;(r(e,a,o,s,l,c,E,L,T,_/=k,w/=k,M,g,v),v.point(E,L),r(E,L,T,_,w,M,u,f,h,d,p,m,g,v))}}var n=.5,i=Math.cos(30*Ea),a=16;return e.precision=function(t){return arguments.length?(a=(n=t*t)&gt;0&amp;&amp;16,e):Math.sqrt(n)},e}function Fe(t){this.stream=t}function Re(t,e){return{point:e,sphere:function(){t.sphere()},lineStart:function(){t.lineStart()},lineEnd:function(){t.lineEnd()},polygonStart:function(){t.polygonStart()},polygonEnd:function(){t.polygonEnd()}}}function Ne(t){return je(function(){return t})()}function je(t){function e(t){return t=o(t[0]*Ea,t[1]*Ea),[t[0]*f+s,l-t[1]*f]}function r(){o=ge(a=qe(g,v,x),i);var t=i(p,m);return s=h-t[0]*f,l=d+t[1]*f,n()}function n(){return c&amp;&amp;(c.valid=!1,c=null),e}var i,a,o,s,l,c,u=Oe(function(t,e){return t=i(t,e),[t[0]*f+s,l-t[1]*f]}),f=150,h=480,d=250,p=0,m=0,g=0,v=0,x=0,b=Mo,_=y,w=null,M=null;return e.stream=function(t){return c&amp;&amp;(c.valid=!1),c=Be(b(a,u(_(t)))),c.valid=!0,c},e.clipAngle=function(t){return arguments.length?(b=null==t?(w=t,Mo):function(t){function e(t,e){return Math.cos(t)*Math.cos(e)&gt;i}function r(t,e,r){var n=[1,0,0],a=ae(ne(t),ne(e)),o=ie(a,a),s=a[0],l=o-s*s;if(!l)return!r&amp;&amp;t;var c=i*o/l,u=-i*s/l,f=ae(n,a),h=se(n,c);oe(h,se(a,u));var d=f,p=ie(h,d),m=ie(d,d),g=p*p-m*(ie(h,h)-1);if(!(g&lt;0)){var v=Math.sqrt(g),y=se(d,(-p-v)/m);if(oe(y,h),y=ce(y),!r)return y;var x,b=t[0],_=e[0],w=t[1],M=e[1];_&lt;b&amp;&amp;(x=b,b=_,_=x);var k=_-b,A=aa(k-ka)&lt;wa;if(!A&amp;&amp;M&lt;w&amp;&amp;(x=w,w=M,M=x),A||k&lt;wa?A?w+M&gt;0^y[1]&lt;(aa(y[0]-b)&lt;wa?w:M):w&lt;=y[1]&amp;&amp;y[1]&lt;=M:k&gt;ka^(b&lt;=y[0]&amp;&amp;y[0]&lt;=_)){var T=se(d,(-p+v)/m);return oe(T,h),[y,ce(T)]}}}function n(e,r){var n=a?t:ka-t,i=0;return e&lt;-n?i|=1:e&gt;n&amp;&amp;(i|=2),r&lt;-n?i|=4:r&gt;n&amp;&amp;(i|=8),i}var i=Math.cos(t),a=i&gt;0,o=aa(i)&gt;wa;return _e(e,function(t){var i,s,l,c,u;return{lineStart:function(){c=l=!1,u=1},point:function(f,h){var d,p=[f,h],m=e(f,h),g=a?m?0:n(f,h):m?n(f+(f&lt;0?ka:-ka),h):0;if(!i&amp;&amp;(c=l=m)&amp;&amp;t.lineStart(),m!==l&amp;&amp;(d=r(i,p),(ue(i,d)||ue(p,d))&amp;&amp;(p[0]+=wa,p[1]+=wa,m=e(p[0],p[1]))),m!==l)u=0,m?(t.lineStart(),d=r(p,i),t.point(d[0],d[1])):(d=r(i,p),t.point(d[0],d[1]),t.lineEnd()),i=d;else if(o&amp;&amp;i&amp;&amp;a^m){var v;g&amp;s||!(v=r(p,i,!0))||(u=0,a?(t.lineStart(),t.point(v[0][0],v[0][1]),t.point(v[1][0],v[1][1]),t.lineEnd()):(t.point(v[1][0],v[1][1]),t.lineEnd(),t.lineStart(),t.point(v[0][0],v[0][1])))}!m||i&amp;&amp;ue(i,p)||t.point(p[0],p[1]),i=p,l=m,s=g},lineEnd:function(){l&amp;&amp;t.lineEnd(),i=null},clean:function(){return u|(c&amp;&amp;l)&lt;&lt;1}}},We(t,6*Ea),a?[0,-t]:[-ka,t-ka])}((w=+t)*Ea),n()):w},e.clipExtent=function(t){return arguments.length?(M=t,_=t?Te(t[0][0],t[0][1],t[1][0],t[1][1]):y,n()):M},e.scale=function(t){return arguments.length?(f=+t,r()):f},e.translate=function(t){return arguments.length?(h=+t[0],d=+t[1],r()):[h,d]},e.center=function(t){return arguments.length?(p=t[0]%360*Ea,m=t[1]%360*Ea,r()):[p*La,m*La]},e.rotate=function(t){return arguments.length?(g=t[0]%360*Ea,v=t[1]%360*Ea,x=t.length&gt;2?t[2]%360*Ea:0,r()):[g*La,v*La,x*La]},Zi.rebind(e,u,&quot;precision&quot;),function(){return i=t.apply(this,arguments),e.invert=i.invert&amp;&amp;function(t){return(t=o.invert((t[0]-s)/f,(l-t[1])/f))&amp;&amp;[t[0]*La,t[1]*La]},r()}}function Be(t){return Re(t,function(e,r){t.point(e*Ea,r*Ea)})}function Ue(t,e){return[t,e]}function Ve(t,e){return[t&gt;ka?t-Aa:t&lt;-ka?t+Aa:t,e]}function qe(t,e,r){return t?e||r?ge(Ge(t),Ye(e,r)):Ge(t):e||r?Ye(e,r):Ve}function He(t){return function(e,r){return e+=t,[e&gt;ka?e-Aa:e&lt;-ka?e+Aa:e,r]}}function Ge(t){var e=He(t);return e.invert=He(-t),e}function Ye(t,e){function r(t,e){var r=Math.cos(e),s=Math.cos(t)*r,l=Math.sin(t)*r,c=Math.sin(e),u=c*n+s*i;return[Math.atan2(l*a-u*o,s*n-c*i),Q(u*a+l*o)]}var n=Math.cos(t),i=Math.sin(t),a=Math.cos(e),o=Math.sin(e);return r.invert=function(t,e){var r=Math.cos(e),s=Math.cos(t)*r,l=Math.sin(t)*r,c=Math.sin(e),u=c*a-l*o;return[Math.atan2(l*a+c*o,s*n+u*i),Q(u*n-s*i)]},r}function We(t,e){var r=Math.cos(t),n=Math.sin(t);return function(i,a,o,s){var l=o*e;null!=i?(i=Xe(r,i),a=Xe(r,a),(o&gt;0?i&lt;a:i&gt;a)&amp;&amp;(i+=o*Aa)):(i=t+o*Aa,a=t-.5*l);for(var c,u=i;o&gt;0?u&gt;a:u&lt;a;u-=l)s.point((c=ce([r,-n*Math.cos(u),-n*Math.sin(u)]))[0],c[1])}}function Xe(t,e){var r=ne(e);r[0]-=t,le(r);var n=K(-r[1]);return((-r[2]&lt;0?-n:n)+2*Math.PI-wa)%(2*Math.PI)}function Ze(t,e,r){var n=Zi.range(t,e-wa,r).concat(e);return function(t){return n.map(function(e){return[t,e]})}}function Je(t,e,r){var n=Zi.range(t,e-wa,r).concat(e);return function(t){return n.map(function(e){return[e,t]})}}function Ke(t){return t.source}function Qe(t){return t.target}function $e(t,e){function r(e,r){var n=Math.cos(e),i=Math.cos(r),a=t(n*i);return[a*i*Math.sin(e),a*Math.sin(r)]}return r.invert=function(t,r){var n=Math.sqrt(t*t+r*r),i=e(n),a=Math.sin(i),o=Math.cos(i);return[Math.atan2(t*a,n*o),Math.asin(n&amp;&amp;r*a/n)]},r}function tr(t,e){function r(t,e){o&gt;0?e&lt;-Sa+wa&amp;&amp;(e=-Sa+wa):e&gt;Sa-wa&amp;&amp;(e=Sa-wa);var r=o/Math.pow(i(e),a);return[r*Math.sin(a*t),o-r*Math.cos(a*t)]}var n=Math.cos(t),i=function(t){return Math.tan(ka/4+t/2)},a=t===e?Math.sin(t):Math.log(n/Math.cos(e))/Math.log(i(e)/i(t)),o=n*Math.pow(i(t),a)/a;return a?(r.invert=function(t,e){var r=o-e,n=Z(a)*Math.sqrt(t*t+r*r);return[Math.atan2(t,r)/a,2*Math.atan(Math.pow(o/n,1/a))-Sa]},r):rr}function er(t,e){function r(t,e){var r=a-e;return[r*Math.sin(i*t),a-r*Math.cos(i*t)]}var n=Math.cos(t),i=t===e?Math.sin(t):(n-Math.cos(e))/(e-t),a=n/i+t;return aa(i)&lt;wa?Ue:(r.invert=function(t,e){var r=a-e;return[Math.atan2(t,r)/i,a-Z(i)*Math.sqrt(t*t+r*r)]},r)}function rr(t,e){return[t,Math.log(Math.tan(ka/4+e/2))]}function nr(t){var e,r=Ne(t),n=r.scale,i=r.translate,a=r.clipExtent;return r.scale=function(){var t=n.apply(r,arguments);return t===r?e?r.clipExtent(null):r:t},r.translate=function(){var t=i.apply(r,arguments);return t===r?e?r.clipExtent(null):r:t},r.clipExtent=function(t){var o=a.apply(r,arguments);if(o===r){if(e=null==t){var s=ka*n(),l=i();a([[l[0]-s,l[1]-s],[l[0]+s,l[1]+s]])}}else e&amp;&amp;(o=null);return o},r.clipExtent(null)}function ir(t,e){return[Math.log(Math.tan(ka/4+e/2)),-t]}function ar(t){return t[0]}function or(t){return t[1]}function sr(t){for(var e=t.length,r=[0,1],n=2,i=2;i&lt;e;i++){for(;n&gt;1&amp;&amp;J(t[r[n-2]],t[r[n-1]],t[i])&lt;=0;)--n;r[n++]=i}return r.slice(0,n)}function lr(t,e){return t[0]-e[0]||t[1]-e[1]}function cr(t,e,r){return(r[0]-e[0])*(t[1]-e[1])&lt;(r[1]-e[1])*(t[0]-e[0])}function ur(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 fr(t){var e=t[0],r=t[t.length-1];return!(e[0]-r[0]||e[1]-r[1])}function hr(t){var e=Wo.pop()||new function(){Sr(this),this.edge=this.site=this.circle=null};return e.site=t,e}function dr(t){_r(t),Ho.remove(t),Wo.push(t),Sr(t)}function pr(t){var e=t.circle,r=e.x,n=e.cy,i={x:r,y:n},a=t.P,o=t.N,s=[t];dr(t);for(var l=a;l.circle&amp;&amp;aa(r-l.circle.x)&lt;wa&amp;&amp;aa(n-l.circle.cy)&lt;wa;)a=l.P,s.unshift(l),dr(l),l=a;s.unshift(l),_r(l);for(var c=o;c.circle&amp;&amp;aa(r-c.circle.x)&lt;wa&amp;&amp;aa(n-c.circle.cy)&lt;wa;)o=c.N,s.push(c),dr(c),c=o;s.push(c),_r(c);var u,f=s.length;for(u=1;u&lt;f;++u)c=s[u],l=s[u-1],kr(c.edge,l.site,c.site,i);l=s[0],(c=s[f-1]).edge=Mr(l.site,c.site,null,i),br(l),br(c)}function mr(t){for(var e,r,n,i,a=t.x,o=t.y,s=Ho._;s;)if((n=gr(s,o)-a)&gt;wa)s=s.L;else{if(!((i=a-function(t,e){var r=t.N;if(r)return gr(r,e);var n=t.site;return n.y===e?n.x:1/0}(s,o))&gt;wa)){n&gt;-wa?(e=s.P,r=s):i&gt;-wa?(e=s,r=s.N):e=r=s;break}if(!s.R){e=s;break}s=s.R}var l=hr(t);if(Ho.insert(e,l),e||r){if(e===r)return _r(e),r=hr(e.site),Ho.insert(l,r),l.edge=r.edge=Mr(e.site,l.site),br(e),void br(r);if(r){_r(e),_r(r);var c=e.site,u=c.x,f=c.y,h=t.x-u,d=t.y-f,p=r.site,m=p.x-u,g=p.y-f,v=2*(h*g-d*m),y=h*h+d*d,x=m*m+g*g,b={x:(g*y-d*x)/v+u,y:(h*x-m*y)/v+f};kr(r.edge,c,p,b),l.edge=Mr(c,t,null,b),r.edge=Mr(t,p,null,b),br(e),br(r)}else l.edge=Mr(e.site,l.site)}}function gr(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 vr(t){this.site=t,this.edges=[]}function yr(t){for(var e,r,n,i,a,o,s,l,c,u,f=t[0][0],h=t[1][0],d=t[0][1],p=t[1][1],m=qo,g=m.length;g--;)if((a=m[g])&amp;&amp;a.prepare())for(l=(s=a.edges).length,o=0;o&lt;l;)n=(u=s[o].end()).x,i=u.y,e=(c=s[++o%l].start()).x,r=c.y,(aa(n-e)&gt;wa||aa(i-r)&gt;wa)&amp;&amp;(s.splice(o,0,new Ar(function(t,e,r){var n=new wr(t,null);return n.a=e,n.b=r,Vo.push(n),n}(a.site,u,aa(n-f)&lt;wa&amp;&amp;p-i&gt;wa?{x:f,y:aa(e-f)&lt;wa?r:p}:aa(i-p)&lt;wa&amp;&amp;h-n&gt;wa?{x:aa(r-p)&lt;wa?e:h,y:p}:aa(n-h)&lt;wa&amp;&amp;i-d&gt;wa?{x:h,y:aa(e-h)&lt;wa?r:d}:aa(i-d)&lt;wa&amp;&amp;n-f&gt;wa?{x:aa(r-d)&lt;wa?e:f,y:d}:null),a.site,null)),++l)}function xr(t,e){return e.angle-t.angle}function br(t){var e=t.P,r=t.N;if(e&amp;&amp;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&gt;=-Ma)){var h=l*l+c*c,d=u*u+g*g,p=(g*h-c*d)/f,m=(l*d-u*h)/f,g=m+s,v=Xo.pop()||new function(){Sr(this),this.x=this.y=this.arc=this.site=this.cy=null};v.arc=t,v.site=i,v.x=p+o,v.y=g+Math.sqrt(p*p+m*m),v.cy=g,t.circle=v;for(var y=null,x=Yo._;x;)if(v.y&lt;x.y||v.y===x.y&amp;&amp;v.x&lt;=x.x){if(!x.L){y=x.P;break}x=x.L}else{if(!x.R){y=x;break}x=x.R}Yo.insert(y,v),y||(Go=v)}}}}function _r(t){var e=t.circle;e&amp;&amp;(e.P||(Go=e.N),Yo.remove(e),Xo.push(e),Sr(e),t.circle=null)}function wr(t,e){this.l=t,this.r=e,this.a=this.b=null}function Mr(t,e,r,n){var i=new wr(t,e);return Vo.push(i),r&amp;&amp;kr(i,t,e,r),n&amp;&amp;kr(i,e,t,n),qo[t.i].edges.push(new Ar(i,t,e)),qo[e.i].edges.push(new Ar(i,e,t)),i}function kr(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 Ar(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 Sr(t){t.U=t.C=t.L=t.R=t.P=t.N=null}function Er(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&amp;&amp;(r.R.U=r),n.L=r}function Lr(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&amp;&amp;(r.L.U=r),n.R=r}function Cr(t){for(;t.L;)t=t.L;return t}function zr(t,e){var r,n,i,a=t.sort(Dr).pop();for(Vo=[],qo=new Array(t.length),Ho=new Tr,Yo=new Tr;;)if(i=Go,a&amp;&amp;(!i||a.y&lt;i.y||a.y===i.y&amp;&amp;a.x&lt;i.x))a.x===r&amp;&amp;a.y===n||(qo[a.i]=new vr(a),mr(a),r=a.x,n=a.y),a=t.pop();else{if(!i)break;pr(i.arc)}e&amp;&amp;(function(t){for(var e,r=Vo,n=Ae(t[0][0],t[0][1],t[1][0],t[1][1]),i=r.length;i--;)(!function(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,d=u.y,p=f.x,m=f.y,g=(h+p)/2,v=(d+m)/2;if(m===d){if(g&lt;o||g&gt;=s)return;if(h&gt;p){if(a){if(a.y&gt;=c)return}else a={x:g,y:l};r={x:g,y:c}}else{if(a){if(a.y&lt;l)return}else a={x:g,y:c};r={x:g,y:l}}}else if(n=(h-p)/(m-d),i=v-n*g,n&lt;-1||n&gt;1)if(h&gt;p){if(a){if(a.y&gt;=c)return}else a={x:(l-i)/n,y:l};r={x:(c-i)/n,y:c}}else{if(a){if(a.y&lt;l)return}else a={x:(c-i)/n,y:c};r={x:(l-i)/n,y:l}}else if(d&lt;m){if(a){if(a.x&gt;=s)return}else a={x:o,y:n*o+i};r={x:s,y:n*s+i}}else{if(a){if(a.x&lt;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}(e=r[i],t)||!n(e)||aa(e.a.x-e.b.x)&lt;wa&amp;&amp;aa(e.a.y-e.b.y)&lt;wa)&amp;&amp;(e.a=e.b=null,r.splice(i,1))}(e),yr(e));var o={cells:qo,edges:Vo};return Ho=Yo=Vo=qo=null,o}function Dr(t,e){return e.y-t.y||e.x-t.x}function Ir(t){return t.x}function Pr(t){return t.y}function Or(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]&amp;&amp;Or(t,l[0],r,n,o,s),l[1]&amp;&amp;Or(t,l[1],o,n,i,s),l[2]&amp;&amp;Or(t,l[2],r,s,o,a),l[3]&amp;&amp;Or(t,l[3],o,s,i,a)}}function Fr(t,e){t=Zi.rgb(t),e=Zi.rgb(e);var r=t.r,n=t.g,i=t.b,a=e.r-r,o=e.g-n,s=e.b-i;return function(t){return&quot;#&quot;+mt(Math.round(r+a*t))+mt(Math.round(n+o*t))+mt(Math.round(i+s*t))}}function Rr(t,e){var r,n={},i={};for(r in t)r in e?n[r]=Br(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 Nr(t,e){return t=+t,e=+e,function(r){return t*(1-r)+e*r}}function jr(t,e){var r,n,i,a=Jo.lastIndex=Ko.lastIndex=0,o=-1,s=[],l=[];for(t+=&quot;&quot;,e+=&quot;&quot;;(r=Jo.exec(t))&amp;&amp;(n=Ko.exec(e));)(i=n.index)&gt;a&amp;&amp;(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:Nr(r,n)})),a=Ko.lastIndex;return a&lt;e.length&amp;&amp;(i=e.slice(a),s[o]?s[o]+=i:s[++o]=i),s.length&lt;2?l[0]?(e=l[0].x,function(t){return e(t)+&quot;&quot;}):function(){return e}:(e=l.length,function(t){for(var r,n=0;n&lt;e;++n)s[(r=l[n]).i]=r.x(t);return s.join(&quot;&quot;)})}function Br(t,e){for(var r,n=Zi.interpolators.length;--n&gt;=0&amp;&amp;!(r=Zi.interpolators[n](t,e)););return r}function Ur(t,e){var r,n=[],i=[],a=t.length,o=e.length,s=Math.min(t.length,e.length);for(r=0;r&lt;s;++r)n.push(Br(t[r],e[r]));for(;r&lt;a;++r)i[r]=t[r];for(;r&lt;o;++r)i[r]=e[r];return function(t){for(r=0;r&lt;s;++r)i[r]=n[r](t);return i}}function Vr(t){return function(e){return 1-t(1-e)}}function qr(t){return function(e){return.5*(e&lt;.5?t(2*e):2-t(2-2*e))}}function Hr(t){return t*t}function Gr(t){return t*t*t}function Yr(t){return 1-Math.cos(t*Sa)}function Wr(t){return Math.pow(2,10*(t-1))}function Xr(t){return 1-Math.sqrt(1-t*t)}function Zr(t){return t&lt;1/2.75?7.5625*t*t:t&lt;2/2.75?7.5625*(t-=1.5/2.75)*t+.75:t&lt;2.5/2.75?7.5625*(t-=2.25/2.75)*t+.9375:7.5625*(t-=2.625/2.75)*t+.984375}function Jr(t,e){return e-=t,function(r){return Math.round(t+e*r)}}function Kr(t){var e=[t.a,t.b],r=[t.c,t.d],n=$r(e),i=Qr(e,r),a=$r(function(t,e,r){return t[0]+=r*e[0],t[1]+=r*e[1],t}(r,e,-i))||0;e[0]*r[1]&lt;r[0]*e[1]&amp;&amp;(e[0]*=-1,e[1]*=-1,n*=-1,i*=-1),this.rotate=(n?Math.atan2(e[1],e[0]):Math.atan2(-r[0],r[1]))*La,this.translate=[t.e,t.f],this.scale=[n,a],this.skew=a?Math.atan2(i,a)*La:0}function Qr(t,e){return t[0]*e[0]+t[1]*e[1]}function $r(t){var e=Math.sqrt(Qr(t,t));return e&amp;&amp;(t[0]/=e,t[1]/=e),e}function tn(t){return t.length?t.pop()+&quot;,&quot;:&quot;&quot;}function en(t,e){var r=[],n=[];return t=Zi.transform(t),e=Zi.transform(e),function(t,e,r,n){if(t[0]!==e[0]||t[1]!==e[1]){var i=r.push(&quot;translate(&quot;,null,&quot;,&quot;,null,&quot;)&quot;);n.push({i:i-4,x:Nr(t[0],e[0])},{i:i-2,x:Nr(t[1],e[1])})}else(e[0]||e[1])&amp;&amp;r.push(&quot;translate(&quot;+e+&quot;)&quot;)}(t.translate,e.translate,r,n),function(t,e,r,n){t!==e?(t-e&gt;180?e+=360:e-t&gt;180&amp;&amp;(t+=360),n.push({i:r.push(tn(r)+&quot;rotate(&quot;,null,&quot;)&quot;)-2,x:Nr(t,e)})):e&amp;&amp;r.push(tn(r)+&quot;rotate(&quot;+e+&quot;)&quot;)}(t.rotate,e.rotate,r,n),function(t,e,r,n){t!==e?n.push({i:r.push(tn(r)+&quot;skewX(&quot;,null,&quot;)&quot;)-2,x:Nr(t,e)}):e&amp;&amp;r.push(tn(r)+&quot;skewX(&quot;+e+&quot;)&quot;)}(t.skew,e.skew,r,n),function(t,e,r,n){if(t[0]!==e[0]||t[1]!==e[1]){var i=r.push(tn(r)+&quot;scale(&quot;,null,&quot;,&quot;,null,&quot;)&quot;);n.push({i:i-4,x:Nr(t[0],e[0])},{i:i-2,x:Nr(t[1],e[1])})}else 1===e[0]&amp;&amp;1===e[1]||r.push(tn(r)+&quot;scale(&quot;+e+&quot;)&quot;)}(t.scale,e.scale,r,n),t=e=null,function(t){for(var e,i=-1,a=n.length;++i&lt;a;)r[(e=n[i]).i]=e.x(t);return r.join(&quot;&quot;)}}function rn(t){for(var e=t.source,r=t.target,n=function(t,e){if(t===e)return t;var r=nn(t),n=nn(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 nn(t){for(var e=[],r=t.parent;null!=r;)e.push(t),t=r,r=r.parent;return e.push(t),e}function an(t){t.fixed|=2}function on(t){t.fixed&amp;=-7}function sn(t){t.fixed|=4,t.px=t.x,t.py=t.y}function ln(t){t.fixed&amp;=-5}function cn(t,e,r){var n=0,i=0;if(t.charge=0,!t.leaf)for(var a,o=t.nodes,s=o.length,l=-1;++l&lt;s;)null!=(a=o[l])&amp;&amp;(cn(a,e,r),t.charge+=a.charge,n+=a.charge*a.cx,i+=a.charge*a.cy);if(t.point){t.leaf||(t.point.x+=Math.random()-.5,t.point.y+=Math.random()-.5);var c=e*r[t.point.index];t.charge+=t.pointCharge=c,n+=c*t.point.x,i+=c*t.point.y}t.cx=n/t.charge,t.cy=i/t.charge}function un(t,e){return Zi.rebind(t,e,&quot;sort&quot;,&quot;children&quot;,&quot;value&quot;),t.nodes=t,t.links=gn,t}function fn(t,e){for(var r=[t];null!=(t=r.pop());)if(e(t),(i=t.children)&amp;&amp;(n=i.length))for(var n,i;--n&gt;=0;)r.push(i[n])}function hn(t,e){for(var r=[t],n=[];null!=(t=r.pop());)if(n.push(t),(a=t.children)&amp;&amp;(i=a.length))for(var i,a,o=-1;++o&lt;i;)r.push(a[o]);for(;null!=(t=n.pop());)e(t)}function dn(t){return t.children}function pn(t){return t.value}function mn(t,e){return e.value-t.value}function gn(t){return Zi.merge(t.map(function(t){return(t.children||[]).map(function(e){return{source:t,target:e}})}))}function vn(t){return t.x}function yn(t){return t.y}function xn(t,e,r){t.y0=e,t.y=r}function bn(t){return Zi.range(t.length)}function _n(t){for(var e=-1,r=t[0].length,n=[];++e&lt;r;)n[e]=0;return n}function wn(t){for(var e,r=1,n=0,i=t[0][1],a=t.length;r&lt;a;++r)(e=t[r][1])&gt;i&amp;&amp;(n=r,i=e);return n}function Mn(t){return t.reduce(kn,0)}function kn(t,e){return t+e[1]}function An(t,e){return Tn(t,Math.ceil(Math.log(e.length)/Math.LN2+1))}function Tn(t,e){for(var r=-1,n=+t[0],i=(t[1]-n)/e,a=[];++r&lt;=e;)a[r]=i*r+n;return a}function Sn(t){return[Zi.min(t),Zi.max(t)]}function En(t,e){return t.value-e.value}function Ln(t,e){var r=t._pack_next;t._pack_next=e,e._pack_prev=t,e._pack_next=r,r._pack_prev=e}function Cn(t,e){t._pack_next=e,e._pack_prev=t}function zn(t,e){var r=e.x-t.x,n=e.y-t.y,i=t.r+e.r;return.999*i*i&gt;r*r+n*n}function Dn(t){function e(t){u=Math.min(t.x-t.r,u),f=Math.max(t.x+t.r,f),h=Math.min(t.y-t.r,h),d=Math.max(t.y+t.r,d)}if((r=t.children)&amp;&amp;(c=r.length)){var r,n,i,a,o,s,l,c,u=1/0,f=-1/0,h=1/0,d=-1/0;if(r.forEach(In),n=r[0],n.x=-n.r,n.y=0,e(n),c&gt;1&amp;&amp;(i=r[1],i.x=i.r,i.y=0,e(i),c&gt;2))for(Fn(n,i,a=r[2]),e(a),Ln(n,a),n._pack_prev=a,Ln(a,i),i=n._pack_next,o=3;o&lt;c;o++){Fn(n,i,a=r[o]);var p=0,m=1,g=1;for(s=i._pack_next;s!==i;s=s._pack_next,m++)if(zn(s,a)){p=1;break}if(1==p)for(l=n._pack_prev;l!==s._pack_prev&amp;&amp;!zn(l,a);l=l._pack_prev,g++);p?(m&lt;g||m==g&amp;&amp;i.r&lt;n.r?Cn(n,i=s):Cn(n=l,i),o--):(Ln(n,a),i=a,e(a))}var v=(u+f)/2,y=(h+d)/2,x=0;for(o=0;o&lt;c;o++)(a=r[o]).x-=v,a.y-=y,x=Math.max(x,a.r+Math.sqrt(a.x*a.x+a.y*a.y));t.r=x,r.forEach(Pn)}}function In(t){t._pack_next=t._pack_prev=t}function Pn(t){delete t._pack_next,delete t._pack_prev}function On(t,e,r,n){var i=t.children;if(t.x=e+=n*t.x,t.y=r+=n*t.y,t.r*=n,i)for(var a=-1,o=i.length;++a&lt;o;)On(i[a],e,r,n)}function Fn(t,e,r){var n=t.r+r.r,i=e.x-t.x,a=e.y-t.y;if(n&amp;&amp;(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 Rn(t,e){return t.parent==e.parent?1:2}function Nn(t){var e=t.children;return e.length?e[0]:t.t}function jn(t){var e,r=t.children;return(e=r.length)?r[e-1]:t.t}function Bn(t){var e=t.children;return e&amp;&amp;e.length?Bn(e[0]):t}function Un(t){var e,r=t.children;return r&amp;&amp;(e=r.length)?Un(r[e-1]):t}function Vn(t){return{x:t.x,y:t.y,dx:t.dx,dy:t.dy}}function qn(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&lt;0&amp;&amp;(r+=i/2,i=0),a&lt;0&amp;&amp;(n+=a/2,a=0),{x:r,y:n,dx:i,dy:a}}function Hn(t){var e=t[0],r=t[t.length-1];return e&lt;r?[e,r]:[r,e]}function Gn(t){return t.rangeExtent?t.rangeExtent():Hn(t.range())}function Yn(t,e){var r,n=0,i=t.length-1,a=t[n],o=t[i];return o&lt;a&amp;&amp;(r=n,n=i,i=r,r=a,a=o,o=r),t[n]=e.floor(a),t[i]=e.ceil(o),t}function Wn(t){return t?{floor:function(e){return Math.floor(e/t)*t},ceil:function(e){return Math.ceil(e/t)*t}}:ls}function Xn(t,e,r,n){function i(){var i=Math.min(t.length,e.length)&gt;2?function(t,e,r,n){var i=[],a=[],o=0,s=Math.min(t.length,e.length)-1;for(t[s]&lt;t[0]&amp;&amp;(t=t.slice().reverse(),e=e.slice().reverse());++o&lt;=s;)i.push(r(t[o-1],t[o])),a.push(n(e[o-1],e[o]));return function(e){var r=Zi.bisect(t,e,1,s)-1;return a[r](i[r](e))}}:function(t,e,r,n){var i=r(t[0],t[1]),a=n(e[0],e[1]);return function(t){return a(i(t))}},l=n?function(t,e){return e=(e-=t=+t)||1/e,function(r){return Math.max(0,Math.min(1,(r-t)/e))}}:function(t,e){return e=(e-=t=+t)||1/e,function(r){return(r-t)/e}};return o=i(t,e,l,r),s=i(e,t,l,Br),a}function a(t){return o(t)}var o,s;return a.invert=function(t){return s(t)},a.domain=function(e){return arguments.length?(t=e.map(Number),i()):t},a.range=function(t){return arguments.length?(e=t,i()):e},a.rangeRound=function(t){return a.range(t).interpolate(Jr)},a.clamp=function(t){return arguments.length?(n=t,i()):n},a.interpolate=function(t){return arguments.length?(r=t,i()):r},a.ticks=function(e){return Qn(t,e)},a.tickFormat=function(e,r){return $n(t,e,r)},a.nice=function(e){return Jn(t,e),i()},a.copy=function(){return Xn(t,e,r,n)},i()}function Zn(t,e){return Zi.rebind(t,e,&quot;range&quot;,&quot;rangeRound&quot;,&quot;interpolate&quot;,&quot;clamp&quot;)}function Jn(t,e){return Yn(t,Wn(Kn(t,e)[2])),Yn(t,Wn(Kn(t,e)[2])),t}function Kn(t,e){null==e&amp;&amp;(e=10);var r=Hn(t),n=r[1]-r[0],i=Math.pow(10,Math.floor(Math.log(n/e)/Math.LN10)),a=e/n*i;return a&lt;=.15?i*=10:a&lt;=.35?i*=5:a&lt;=.75&amp;&amp;(i*=2),r[0]=Math.ceil(r[0]/i)*i,r[1]=Math.floor(r[1]/i)*i+.5*i,r[2]=i,r}function Qn(t,e){return Zi.range.apply(Zi,Kn(t,e))}function $n(t,e,r){var n=Kn(t,e);if(r){var i=Za.exec(r);if(i.shift(),&quot;s&quot;===i[8]){var a=Zi.formatPrefix(Math.max(aa(n[0]),aa(n[1])));return i[7]||(i[7]=&quot;.&quot;+ti(a.scale(n[2]))),i[8]=&quot;f&quot;,r=Zi.format(i.join(&quot;&quot;)),function(t){return r(a.scale(t))+a.symbol}}i[7]||(i[7]=&quot;.&quot;+function(t,e){var r=ti(e[2]);return t in cs?Math.abs(r-ti(Math.max(aa(e[0]),aa(e[1]))))+ +(&quot;e&quot;!==t):r-2*(&quot;%&quot;===t)}(i[8],n)),r=i.join(&quot;&quot;)}else r=&quot;,.&quot;+ti(n[2])+&quot;f&quot;;return Zi.format(r)}function ti(t){return-Math.floor(Math.log(t)/Math.LN10+.01)}function ei(t,e,r,n){function i(t){return(r?Math.log(t&lt;0?0:t):-Math.log(t&gt;0?0:-t))/Math.log(e)}function a(t){return r?Math.pow(e,t):-Math.pow(e,-t)}function o(e){return t(i(e))}return o.invert=function(e){return a(t.invert(e))},o.domain=function(e){return arguments.length?(r=e[0]&gt;=0,t.domain((n=e.map(Number)).map(i)),o):n},o.base=function(r){return arguments.length?(e=+r,t.domain(n.map(i)),o):e},o.nice=function(){var e=Yn(n.map(i),r?Math:fs);return t.domain(e),n=e.map(a),o},o.ticks=function(){var t=Hn(n),o=[],s=t[0],l=t[1],c=Math.floor(i(s)),u=Math.ceil(i(l)),f=e%1?2:e;if(isFinite(u-c)){if(r){for(;c&lt;u;c++)for(var h=1;h&lt;f;h++)o.push(a(c)*h);o.push(a(c))}else for(o.push(a(c));c++&lt;u;)for(h=f-1;h&gt;0;h--)o.push(a(c)*h);for(c=0;o[c]&lt;s;c++);for(u=o.length;o[u-1]&gt;l;u--);o=o.slice(c,u)}return o},o.tickFormat=function(t,r){if(!arguments.length)return us;arguments.length&lt;2?r=us:&quot;function&quot;!=typeof r&amp;&amp;(r=Zi.format(r));var n=Math.max(1,e*t/o.ticks().length);return function(t){var o=t/a(Math.round(i(t)));return o*e&lt;e-.5&amp;&amp;(o*=e),o&lt;=n?r(t):&quot;&quot;}},o.copy=function(){return ei(t.copy(),e,r,n)},Zn(o,t)}function ri(t,e,r){function n(e){return t(i(e))}var i=ni(e),a=ni(1/e);return n.invert=function(e){return a(t.invert(e))},n.domain=function(e){return arguments.length?(t.domain((r=e.map(Number)).map(i)),n):r},n.ticks=function(t){return Qn(r,t)},n.tickFormat=function(t,e){return $n(r,t,e)},n.nice=function(t){return n.domain(Jn(r,t))},n.exponent=function(o){return arguments.length?(i=ni(e=o),a=ni(1/e),t.domain(r.map(i)),n):e},n.copy=function(){return ri(t.copy(),e,r)},Zn(n,t)}function ni(t){return function(e){return e&lt;0?-Math.pow(-e,t):Math.pow(e,t)}}function ii(t,e){function r(r){return a[((i.get(r)||(&quot;range&quot;===e.t?i.set(r,t.push(r)):NaN))-1)%a.length]}function n(e,r){return Zi.range(t.length).map(function(t){return e+r*t})}var i,a,o;return r.domain=function(n){if(!arguments.length)return t;t=[],i=new c;for(var a,o=-1,s=n.length;++o&lt;s;)i.has(a=n[o])||i.set(a,t.push(a));return r[e.t].apply(r,e.a)},r.range=function(t){return arguments.length?(a=t,o=0,e={t:&quot;range&quot;,a:arguments},r):a},r.rangePoints=function(i,s){arguments.length&lt;2&amp;&amp;(s=0);var l=i[0],c=i[1],u=t.length&lt;2?(l=(l+c)/2,0):(c-l)/(t.length-1+s);return a=n(l+u*s/2,u),o=0,e={t:&quot;rangePoints&quot;,a:arguments},r},r.rangeRoundPoints=function(i,s){arguments.length&lt;2&amp;&amp;(s=0);var l=i[0],c=i[1],u=t.length&lt;2?(l=c=Math.round((l+c)/2),0):(c-l)/(t.length-1+s)|0;return a=n(l+Math.round(u*s/2+(c-l-(t.length-1+s)*u)/2),u),o=0,e={t:&quot;rangeRoundPoints&quot;,a:arguments},r},r.rangeBands=function(i,s,l){arguments.length&lt;2&amp;&amp;(s=0),arguments.length&lt;3&amp;&amp;(l=s);var c=i[1]&lt;i[0],u=i[c-0],f=(i[1-c]-u)/(t.length-s+2*l);return a=n(u+f*l,f),c&amp;&amp;a.reverse(),o=f*(1-s),e={t:&quot;rangeBands&quot;,a:arguments},r},r.rangeRoundBands=function(i,s,l){arguments.length&lt;2&amp;&amp;(s=0),arguments.length&lt;3&amp;&amp;(l=s);var c=i[1]&lt;i[0],u=i[c-0],f=i[1-c],h=Math.floor((f-u)/(t.length-s+2*l));return a=n(u+Math.round((f-u-(t.length-s)*h)/2),h),c&amp;&amp;a.reverse(),o=Math.round(h*(1-s)),e={t:&quot;rangeRoundBands&quot;,a:arguments},r},r.rangeBand=function(){return o},r.rangeExtent=function(){return Hn(e.a[0])},r.copy=function(){return ii(t,e)},r.domain(t)}function ai(t,e){function r(){var r=0,n=e.length;for(s=[];++r&lt;n;)s[r-1]=Zi.quantile(t,r/n);return o}function o(t){if(!isNaN(t=+t))return e[Zi.bisect(s,t)]}var s;return o.domain=function(e){return arguments.length?(t=e.map(i).filter(a).sort(n),r()):t},o.range=function(t){return arguments.length?(e=t,r()):e},o.quantiles=function(){return s},o.invertExtent=function(r){return(r=e.indexOf(r))&lt;0?[NaN,NaN]:[r&gt;0?s[r-1]:t[0],r&lt;s.length?s[r]:t[t.length-1]]},o.copy=function(){return ai(t,e)},r()}function oi(t,e,r){function n(e){return r[Math.max(0,Math.min(o,Math.floor(a*(e-t))))]}function i(){return a=r.length/(e-t),o=r.length-1,n}var a,o;return n.domain=function(r){return arguments.length?(t=+r[0],e=+r[r.length-1],i()):[t,e]},n.range=function(t){return arguments.length?(r=t,i()):r},n.invertExtent=function(e){return e=r.indexOf(e),e=e&lt;0?NaN:e/a+t,[e,e+1/a]},n.copy=function(){return oi(t,e,r)},i()}function si(t,e){function r(r){if(r&lt;=r)return e[Zi.bisect(t,r)]}return r.domain=function(e){return arguments.length?(t=e,r):t},r.range=function(t){return arguments.length?(e=t,r):e},r.invertExtent=function(r){return r=e.indexOf(r),[t[r-1],t[r]]},r.copy=function(){return si(t,e)},r}function li(t){function e(t){return+t}return e.invert=e,e.domain=e.range=function(r){return arguments.length?(t=r.map(e),e):t},e.ticks=function(e){return Qn(t,e)},e.tickFormat=function(e,r){return $n(t,e,r)},e.copy=function(){return li(t)},e}function ci(){return 0}function ui(t){return t.innerRadius}function fi(t){return t.outerRadius}function hi(t){return t.startAngle}function di(t){return t.endAngle}function pi(t){return t&amp;&amp;t.padAngle}function mi(t,e,r,n){return(t-r)*e-(e-n)*t&gt;0?0:1}function gi(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,d=e[1]+c,p=(u+h)/2,m=(f+d)/2,g=h-u,v=d-f,y=g*g+v*v,x=r-n,b=u*d-h*f,_=(v&lt;0?-1:1)*Math.sqrt(Math.max(0,x*x*y-b*b)),w=(b*v-g*_)/y,M=(-b*g-v*_)/y,k=(b*v+g*_)/y,A=(-b*g+v*_)/y,T=w-p,S=M-m,E=k-p,L=A-m;return T*T+S*S&gt;E*E+L*L&amp;&amp;(w=k,M=A),[[w-l,M-c],[w*r/x,M*r/x]]}function vi(t){function e(e){function o(){c.push(&quot;M&quot;,a(t(u),s))}for(var l,c=[],u=[],f=-1,h=e.length,d=_t(r),p=_t(n);++f&lt;h;)i.call(this,l=e[f],f)?u.push([+d.call(this,l,f),+p.call(this,l,f)]):u.length&amp;&amp;(o(),u=[]);return u.length&amp;&amp;o(),c.length?c.join(&quot;&quot;):null}var r=ar,n=or,i=ve,a=yi,o=a.key,s=.7;return e.x=function(t){return arguments.length?(r=t,e):r},e.y=function(t){return arguments.length?(n=t,e):n},e.defined=function(t){return arguments.length?(i=t,e):i},e.interpolate=function(t){return arguments.length?(o=&quot;function&quot;==typeof t?a=t:(a=vs.get(t)||yi).key,e):o},e.tension=function(t){return arguments.length?(s=t,e):s},e}function yi(t){return t.length&gt;1?t.join(&quot;L&quot;):t+&quot;Z&quot;}function xi(t){return t.join(&quot;L&quot;)+&quot;Z&quot;}function bi(t){for(var e=0,r=t.length,n=t[0],i=[n[0],&quot;,&quot;,n[1]];++e&lt;r;)i.push(&quot;V&quot;,(n=t[e])[1],&quot;H&quot;,n[0]);return i.join(&quot;&quot;)}function _i(t){for(var e=0,r=t.length,n=t[0],i=[n[0],&quot;,&quot;,n[1]];++e&lt;r;)i.push(&quot;H&quot;,(n=t[e])[0],&quot;V&quot;,n[1]);return i.join(&quot;&quot;)}function wi(t,e){if(e.length&lt;1||t.length!=e.length&amp;&amp;t.length!=e.length+2)return yi(t);var r=t.length!=e.length,n=&quot;&quot;,i=t[0],a=t[1],o=e[0],s=o,l=1;if(r&amp;&amp;(n+=&quot;Q&quot;+(a[0]-2*o[0]/3)+&quot;,&quot;+(a[1]-2*o[1]/3)+&quot;,&quot;+a[0]+&quot;,&quot;+a[1],i=t[1],l=2),e.length&gt;1){s=e[1],a=t[l],l++,n+=&quot;C&quot;+(i[0]+o[0])+&quot;,&quot;+(i[1]+o[1])+&quot;,&quot;+(a[0]-s[0])+&quot;,&quot;+(a[1]-s[1])+&quot;,&quot;+a[0]+&quot;,&quot;+a[1];for(var c=2;c&lt;e.length;c++,l++)a=t[l],s=e[c],n+=&quot;S&quot;+(a[0]-s[0])+&quot;,&quot;+(a[1]-s[1])+&quot;,&quot;+a[0]+&quot;,&quot;+a[1]}if(r){var u=t[l];n+=&quot;Q&quot;+(a[0]+2*s[0]/3)+&quot;,&quot;+(a[1]+2*s[1]/3)+&quot;,&quot;+u[0]+&quot;,&quot;+u[1]}return n}function Mi(t,e){for(var r,n=[],i=(1-e)/2,a=t[0],o=t[1],s=1,l=t.length;++s&lt;l;)r=a,a=o,o=t[s],n.push([i*(o[0]-r[0]),i*(o[1]-r[1])]);return n}function ki(t){if(t.length&lt;3)return yi(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,&quot;,&quot;,a,&quot;L&quot;,Ai(bs,o),&quot;,&quot;,Ai(bs,s)];for(t.push(t[r-1]);++e&lt;=r;)n=t[e],o.shift(),o.push(n[0]),s.shift(),s.push(n[1]),Ti(l,o,s);return t.pop(),l.push(&quot;L&quot;,n),l.join(&quot;&quot;)}function Ai(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]+t[3]*e[3]}function Ti(t,e,r){t.push(&quot;C&quot;,Ai(ys,e),&quot;,&quot;,Ai(ys,r),&quot;,&quot;,Ai(xs,e),&quot;,&quot;,Ai(xs,r),&quot;,&quot;,Ai(bs,e),&quot;,&quot;,Ai(bs,r))}function Si(t,e){return(e[1]-t[1])/(e[0]-t[0])}function Ei(t){for(var e,r,n,i,a=[],o=function(t){for(var e=0,r=t.length-1,n=[],i=t[0],a=t[1],o=n[0]=Si(i,a);++e&lt;r;)n[e]=(o+(o=Si(i=a,a=t[e+1])))/2;return n[e]=o,n}(t),s=-1,l=t.length-1;++s&lt;l;)e=Si(t[s],t[s+1]),aa(e)&lt;wa?o[s]=o[s+1]=0:(i=(r=o[s]/e)*r+(n=o[s+1]/e)*n)&gt;9&amp;&amp;(i=3*e/Math.sqrt(i),o[s]=i*r,o[s+1]=i*n);for(s=-1;++s&lt;=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}function Li(t){for(var e,r,n,i=-1,a=t.length;++i&lt;a;)r=(e=t[i])[0],n=e[1]-Sa,e[0]=r*Math.cos(n),e[1]=r*Math.sin(n);return t}function Ci(t){function e(e){function l(){m.push(&quot;M&quot;,s(t(v),f),u,c(t(g.reverse()),f),&quot;Z&quot;)}for(var h,d,p,m=[],g=[],v=[],y=-1,x=e.length,b=_t(r),_=_t(i),w=r===n?function(){return d}:_t(n),M=i===a?function(){return p}:_t(a);++y&lt;x;)o.call(this,h=e[y],y)?(g.push([d=+b.call(this,h,y),p=+_.call(this,h,y)]),v.push([+w.call(this,h,y),+M.call(this,h,y)])):g.length&amp;&amp;(l(),g=[],v=[]);return g.length&amp;&amp;l(),m.length?m.join(&quot;&quot;):null}var r=ar,n=ar,i=0,a=or,o=ve,s=yi,l=s.key,c=s,u=&quot;L&quot;,f=.7;return e.x=function(t){return arguments.length?(r=n=t,e):n},e.x0=function(t){return arguments.length?(r=t,e):r},e.x1=function(t){return arguments.length?(n=t,e):n},e.y=function(t){return arguments.length?(i=a=t,e):a},e.y0=function(t){return arguments.length?(i=t,e):i},e.y1=function(t){return arguments.length?(a=t,e):a},e.defined=function(t){return arguments.length?(o=t,e):o},e.interpolate=function(t){return arguments.length?(l=&quot;function&quot;==typeof t?s=t:(s=vs.get(t)||yi).key,c=s.reverse||s,u=s.closed?&quot;M&quot;:&quot;L&quot;,e):l},e.tension=function(t){return arguments.length?(f=t,e):f},e}function zi(t){return t.radius}function Di(t){return[t.x,t.y]}function Ii(){return 64}function Pi(){return&quot;circle&quot;}function Oi(t){var e=Math.sqrt(t/ka);return&quot;M0,&quot;+e+&quot;A&quot;+e+&quot;,&quot;+e+&quot; 0 1,1 0,&quot;+-e+&quot;A&quot;+e+&quot;,&quot;+e+&quot; 0 1,1 0,&quot;+e+&quot;Z&quot;}function Fi(t){return function(){var e,r,n;(e=this[t])&amp;&amp;(n=e[r=e.active])&amp;&amp;(n.timer.c=null,n.timer.t=NaN,--e.count?delete e[r]:delete this[t],e.active+=.5,n.event&amp;&amp;n.event.interrupt.call(this,this.__data__,n.index))}}function Ri(t,e,r){return ua(t,Ss),t.namespace=e,t.id=r,t}function Ni(t,e,r,n){var i=t.id,a=t.namespace;return U(t,&quot;function&quot;==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 ji(t){return null==t&amp;&amp;(t=&quot;&quot;),function(){this.textContent=t}}function Bi(t){return null==t?&quot;__transition__&quot;:&quot;__transition_&quot;+t+&quot;__&quot;}function Ui(t,e,r,n,i){function a(t){var e=m.delay;if(u.t=e+l,e&lt;=t)return o(t-e);u.c=o}function o(r){var i=p.active,a=p[i];a&amp;&amp;(a.timer.c=null,a.timer.t=NaN,--p.count,delete p[i],a.event&amp;&amp;a.event.interrupt.call(t,t.__data__,a.index));for(var o in p)if(+o&lt;n){var c=p[o];c.timer.c=null,c.timer.t=NaN,--p.count,delete p[o]}u.c=s,kt(function(){return u.c&amp;&amp;s(r||1)&amp;&amp;(u.c=null,u.t=NaN),1},0,l),p.active=n,m.event&amp;&amp;m.event.start.call(t,t.__data__,e),d=[],m.tween.forEach(function(r,n){(n=n.call(t,t.__data__,e))&amp;&amp;d.push(n)}),h=m.ease,f=m.duration}function s(i){for(var a=i/f,o=h(a),s=d.length;s&gt;0;)d[--s].call(t,o);if(a&gt;=1)return m.event&amp;&amp;m.event.end.call(t,t.__data__,e),--p.count?delete p[n]:delete t[r],1}var l,u,f,h,d,p=t[r]||(t[r]={active:0,count:0}),m=p[n];m||(l=i.time,u=kt(a,0,l),m=p[n]={tween:new c,time:l,timer:u,delay:i.delay,duration:i.duration,ease:i.ease,index:e},i=null,++p.count)}function Vi(t,e,r){t.attr(&quot;transform&quot;,function(t){var n=e(t);return&quot;translate(&quot;+(isFinite(n)?n:r(t))+&quot;,0)&quot;})}function qi(t,e,r){t.attr(&quot;transform&quot;,function(t){var n=e(t);return&quot;translate(0,&quot;+(isFinite(n)?n:r(t))+&quot;)&quot;})}function Hi(t){return t.toISOString()}function Gi(t,e,r){function n(e){return t(e)}function i(t,r){var n=(t[1]-t[0])/r,i=Zi.bisect(Fs,n);return i==Fs.length?[e.year,Kn(t.map(function(t){return t/31536e6}),r)[2]]:i?e[n/Fs[i-1]&lt;Fs[i]/n?i-1:i]:[js,Kn(t,r)[2]]}return n.invert=function(e){return Yi(t.invert(e))},n.domain=function(e){return arguments.length?(t.domain(e),n):t.domain().map(Yi)},n.nice=function(t,e){function r(r){return!isNaN(r)&amp;&amp;!t.range(r,Yi(+r+1),e).length}var a=n.domain(),o=Hn(a),s=null==t?i(o,10):&quot;number&quot;==typeof t&amp;&amp;i(o,t);return s&amp;&amp;(t=s[0],e=s[1]),n.domain(Yn(a,e&gt;1?{floor:function(e){for(;r(e=t.floor(e));)e=Yi(e-1);return e},ceil:function(e){for(;r(e=t.ceil(e));)e=Yi(+e+1);return e}}:t))},n.ticks=function(t,e){var r=Hn(n.domain()),a=null==t?i(r,10):&quot;number&quot;==typeof t?i(r,t):!t.range&amp;&amp;[{range:t},e];return a&amp;&amp;(t=a[0],e=a[1]),t.range(r[0],Yi(+r[1]+1),e&lt;1?1:e)},n.tickFormat=function(){return r},n.copy=function(){return Gi(t.copy(),e,r)},Zn(n,t)}function Yi(t){return new Date(t)}function Wi(t){return JSON.parse(t.responseText)}function Xi(t){var e=Qi.createRange();return e.selectNode(Qi.body),e.createContextualFragment(t.responseText)}var Zi={version:&quot;3.5.17&quot;},Ji=[].slice,Ki=function(t){return Ji.call(t)},Qi=this.document;if(Qi)try{Ki(Qi.documentElement.childNodes)[0].nodeType}catch(t){Ki=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}),Qi)try{Qi.createElement(&quot;DIV&quot;).style.setProperty(&quot;opacity&quot;,0,&quot;&quot;)}catch(t){var $i=this.Element.prototype,ta=$i.setAttribute,ea=$i.setAttributeNS,ra=this.CSSStyleDeclaration.prototype,na=ra.setProperty;$i.setAttribute=function(t,e){ta.call(this,t,e+&quot;&quot;)},$i.setAttributeNS=function(t,e,r){ea.call(this,t,e,r+&quot;&quot;)},ra.setProperty=function(t,e,r){na.call(this,t,e+&quot;&quot;,r)}}Zi.ascending=n,Zi.descending=function(t,e){return e&lt;t?-1:e&gt;t?1:e&gt;=t?0:NaN},Zi.min=function(t,e){var r,n,i=-1,a=t.length;if(1===arguments.length){for(;++i&lt;a;)if(null!=(n=t[i])&amp;&amp;n&gt;=n){r=n;break}for(;++i&lt;a;)null!=(n=t[i])&amp;&amp;r&gt;n&amp;&amp;(r=n)}else{for(;++i&lt;a;)if(null!=(n=e.call(t,t[i],i))&amp;&amp;n&gt;=n){r=n;break}for(;++i&lt;a;)null!=(n=e.call(t,t[i],i))&amp;&amp;r&gt;n&amp;&amp;(r=n)}return r},Zi.max=function(t,e){var r,n,i=-1,a=t.length;if(1===arguments.length){for(;++i&lt;a;)if(null!=(n=t[i])&amp;&amp;n&gt;=n){r=n;break}for(;++i&lt;a;)null!=(n=t[i])&amp;&amp;n&gt;r&amp;&amp;(r=n)}else{for(;++i&lt;a;)if(null!=(n=e.call(t,t[i],i))&amp;&amp;n&gt;=n){r=n;break}for(;++i&lt;a;)null!=(n=e.call(t,t[i],i))&amp;&amp;n&gt;r&amp;&amp;(r=n)}return r},Zi.extent=function(t,e){var r,n,i,a=-1,o=t.length;if(1===arguments.length){for(;++a&lt;o;)if(null!=(n=t[a])&amp;&amp;n&gt;=n){r=i=n;break}for(;++a&lt;o;)null!=(n=t[a])&amp;&amp;(r&gt;n&amp;&amp;(r=n),i&lt;n&amp;&amp;(i=n))}else{for(;++a&lt;o;)if(null!=(n=e.call(t,t[a],a))&amp;&amp;n&gt;=n){r=i=n;break}for(;++a&lt;o;)null!=(n=e.call(t,t[a],a))&amp;&amp;(r&gt;n&amp;&amp;(r=n),i&lt;n&amp;&amp;(i=n))}return[r,i]},Zi.sum=function(t,e){var r,n=0,i=t.length,o=-1;if(1===arguments.length)for(;++o&lt;i;)a(r=+t[o])&amp;&amp;(n+=r);else for(;++o&lt;i;)a(r=+e.call(t,t[o],o))&amp;&amp;(n+=r);return n},Zi.mean=function(t,e){var r,n=0,o=t.length,s=-1,l=o;if(1===arguments.length)for(;++s&lt;o;)a(r=i(t[s]))?n+=r:--l;else for(;++s&lt;o;)a(r=i(e.call(t,t[s],s)))?n+=r:--l;if(l)return n/l},Zi.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},Zi.median=function(t,e){var r,o=[],s=t.length,l=-1;if(1===arguments.length)for(;++l&lt;s;)a(r=i(t[l]))&amp;&amp;o.push(r);else for(;++l&lt;s;)a(r=i(e.call(t,t[l],l)))&amp;&amp;o.push(r);if(o.length)return Zi.quantile(o.sort(n),.5)},Zi.variance=function(t,e){var r,n,o=t.length,s=0,l=0,c=-1,u=0;if(1===arguments.length)for(;++c&lt;o;)a(r=i(t[c]))&amp;&amp;(l+=(n=r-s)*(r-(s+=n/++u)));else for(;++c&lt;o;)a(r=i(e.call(t,t[c],c)))&amp;&amp;(l+=(n=r-s)*(r-(s+=n/++u)));if(u&gt;1)return l/(u-1)},Zi.deviation=function(){var t=Zi.variance.apply(this,arguments);return t?Math.sqrt(t):t};var ia=o(n);Zi.bisectLeft=ia.left,Zi.bisect=Zi.bisectRight=ia.right,Zi.bisector=function(t){return o(1===t.length?function(e,r){return n(t(e),r)}:t)},Zi.shuffle=function(t,e,r){(a=arguments.length)&lt;3&amp;&amp;(r=t.length,a&lt;2&amp;&amp;(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},Zi.permute=function(t,e){for(var r=e.length,n=new Array(r);r--;)n[r]=t[e[r]];return n},Zi.pairs=function(t){for(var e=0,r=t.length-1,n=t[0],i=new Array(r&lt;0?0:r);e&lt;r;)i[e]=[n,n=t[++e]];return i},Zi.transpose=function(t){if(!(i=t.length))return[];for(var e=-1,r=Zi.min(t,s),n=new Array(r);++e&lt;r;)for(var i,a=-1,o=n[e]=new Array(i);++a&lt;i;)o[a]=t[a][e];return n},Zi.zip=function(){return Zi.transpose(arguments)},Zi.keys=function(t){var e=[];for(var r in t)e.push(r);return e},Zi.values=function(t){var e=[];for(var r in t)e.push(t[r]);return e},Zi.entries=function(t){var e=[];for(var r in t)e.push({key:r,value:t[r]});return e},Zi.merge=function(t){for(var e,r,n,i=t.length,a=-1,o=0;++a&lt;i;)o+=t[a].length;for(r=new Array(o);--i&gt;=0;)for(e=(n=t[i]).length;--e&gt;=0;)r[--o]=n[e];return r};var aa=Math.abs;Zi.range=function(t,e,r){if(arguments.length&lt;3&amp;&amp;(r=1,arguments.length&lt;2&amp;&amp;(e=t,t=0)),(e-t)/r==1/0)throw new Error(&quot;infinite range&quot;);var n,i=[],a=function(t){for(var e=1;t*e%1;)e*=10;return e}(aa(r)),o=-1;if(t*=a,e*=a,(r*=a)&lt;0)for(;(n=t+r*++o)&gt;e;)i.push(n/a);else for(;(n=t+r*++o)&lt;e;)i.push(n/a);return i},Zi.map=function(t,e){var r=new c;if(t instanceof c)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&lt;a;)r.set(i,t[i]);else for(;++i&lt;a;)r.set(e.call(t,n=t[i],i),n)}else for(var o in t)r.set(o,t[o]);return r};var oa=&quot;__proto__&quot;,sa=&quot;\0&quot;;l(c,{has:h,get:function(t){return this._[u(t)]},set:function(t,e){return this._[u(t)]=e},remove:d,keys:p,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:f(e),value:this._[e]});return t},size:m,empty:g,forEach:function(t){for(var e in this._)t.call(this,f(e),this._[e])}}),Zi.nest=function(){function t(e,o,s){if(s&gt;=a.length)return n?n.call(i,o):r?o.sort(r):o;for(var l,u,f,h,d=-1,p=o.length,m=a[s++],g=new c;++d&lt;p;)(h=g.get(l=m(u=o[d])))?h.push(u):g.set(l,[u]);return e?(u=e(),f=function(r,n){u.set(r,t(e,n,s))}):(u={},f=function(r,n){u[r]=t(e,n,s)}),g.forEach(f),u}function e(t,r){if(r&gt;=a.length)return t;var n=[],i=o[r++];return t.forEach(function(t,i){n.push({key:t,values:e(i,r)})}),i?n.sort(function(t,e){return i(t.key,e.key)}):n}var r,n,i={},a=[],o=[];return i.map=function(e,r){return t(r,e,0)},i.entries=function(r){return e(t(Zi.map,r,0),0)},i.key=function(t){return a.push(t),i},i.sortKeys=function(t){return o[a.length-1]=t,i},i.sortValues=function(t){return r=t,i},i.rollup=function(t){return n=t,i},i},Zi.set=function(t){var e=new v;if(t)for(var r=0,n=t.length;r&lt;n;++r)e.add(t[r]);return e},l(v,{has:h,add:function(t){return this._[u(t+=&quot;&quot;)]=!0,t},remove:d,values:p,size:m,empty:g,forEach:function(t){for(var e in this._)t.call(this,f(e))}}),Zi.behavior={},Zi.rebind=function(t,e){for(var r,n=1,i=arguments.length;++n&lt;i;)t[r=arguments[n]]=function(t,e,r){return function(){var n=r.apply(e,arguments);return n===e?t:n}}(t,e,e[r]);return t};var la=[&quot;webkit&quot;,&quot;ms&quot;,&quot;moz&quot;,&quot;Moz&quot;,&quot;o&quot;,&quot;O&quot;];Zi.dispatch=function(){for(var t=new _,e=-1,r=arguments.length;++e&lt;r;)t[arguments[e]]=w(t);return t},_.prototype.on=function(t,e){var r=t.indexOf(&quot;.&quot;),n=&quot;&quot;;if(r&gt;=0&amp;&amp;(n=t.slice(r+1),t=t.slice(0,r)),t)return arguments.length&lt;2?this[t].on(n):this[t].on(n,e);if(2===arguments.length){if(null==e)for(t in this)this.hasOwnProperty(t)&amp;&amp;this[t].on(n,null);return this}},Zi.event=null,Zi.requote=function(t){return t.replace(ca,&quot;\\$&amp;&quot;)};var ca=/[\\\^\$\*\+\?\|\[\]\(\)\.\{\}]/g,ua={}.__proto__?function(t,e){t.__proto__=e}:function(t,e){for(var r in e)t[r]=e[r]},fa=function(t,e){return e.querySelector(t)},ha=function(t,e){return e.querySelectorAll(t)},da=function(t,e){var r=t.matches||t[x(t,&quot;matchesSelector&quot;)];return(da=function(t,e){return r.call(t,e)})(t,e)};&quot;function&quot;==typeof Sizzle&amp;&amp;(fa=function(t,e){return Sizzle(t,e)[0]||null},ha=Sizzle,da=Sizzle.matchesSelector),Zi.selection=function(){return Zi.select(Qi.documentElement)};var pa=Zi.selection.prototype=[];pa.select=function(t){var e,r,n,i,a=[];t=S(t);for(var o=-1,s=this.length;++o&lt;s;){a.push(e=[]),e.parentNode=(n=this[o]).parentNode;for(var l=-1,c=n.length;++l&lt;c;)(i=n[l])?(e.push(r=t.call(i,i.__data__,l,o)),r&amp;&amp;&quot;__data__&quot;in i&amp;&amp;(r.__data__=i.__data__)):e.push(null)}return T(a)},pa.selectAll=function(t){var e,r,n=[];t=E(t);for(var i=-1,a=this.length;++i&lt;a;)for(var o=this[i],s=-1,l=o.length;++s&lt;l;)(r=o[s])&amp;&amp;(n.push(e=Ki(t.call(r,r.__data__,s,i))),e.parentNode=r);return T(n)};var ma=&quot;http://www.w3.org/1999/xhtml&quot;,ga={svg:&quot;http://www.w3.org/2000/svg&quot;,xhtml:ma,xlink:&quot;http://www.w3.org/1999/xlink&quot;,xml:&quot;http://www.w3.org/XML/1998/namespace&quot;,xmlns:&quot;http://www.w3.org/2000/xmlns/&quot;};Zi.ns={prefix:ga,qualify:function(t){var e=t.indexOf(&quot;:&quot;),r=t;return e&gt;=0&amp;&amp;&quot;xmlns&quot;!==(r=t.slice(0,e))&amp;&amp;(t=t.slice(e+1)),ga.hasOwnProperty(r)?{space:ga[r],local:t}:t}},pa.attr=function(t,e){if(arguments.length&lt;2){if(&quot;string&quot;==typeof t){var r=this.node();return(t=Zi.ns.qualify(t)).local?r.getAttributeNS(t.space,t.local):r.getAttribute(t)}for(e in t)this.each(L(e,t[e]));return this}return this.each(L(t,e))},pa.classed=function(t,e){if(arguments.length&lt;2){if(&quot;string&quot;==typeof t){var r=this.node(),n=(t=D(t)).length,i=-1;if(e=r.classList){for(;++i&lt;n;)if(!e.contains(t[i]))return!1}else for(e=r.getAttribute(&quot;class&quot;);++i&lt;n;)if(!z(t[i]).test(e))return!1;return!0}for(e in t)this.each(I(e,t[e]));return this}return this.each(I(t,e))},pa.style=function(t,e,n){var i=arguments.length;if(i&lt;3){if(&quot;string&quot;!=typeof t){i&lt;2&amp;&amp;(e=&quot;&quot;);for(n in t)this.each(O(n,t[n],e));return this}if(i&lt;2){var a=this.node();return r(a).getComputedStyle(a,null).getPropertyValue(t)}n=&quot;&quot;}return this.each(O(t,e,n))},pa.property=function(t,e){if(arguments.length&lt;2){if(&quot;string&quot;==typeof t)return this.node()[t];for(e in t)this.each(F(e,t[e]));return this}return this.each(F(t,e))},pa.text=function(t){return arguments.length?this.each(&quot;function&quot;==typeof t?function(){var e=t.apply(this,arguments);this.textContent=null==e?&quot;&quot;:e}:null==t?function(){this.textContent=&quot;&quot;}:function(){this.textContent=t}):this.node().textContent},pa.html=function(t){return arguments.length?this.each(&quot;function&quot;==typeof t?function(){var e=t.apply(this,arguments);this.innerHTML=null==e?&quot;&quot;:e}:null==t?function(){this.innerHTML=&quot;&quot;}:function(){this.innerHTML=t}):this.node().innerHTML},pa.append=function(t){return t=R(t),this.select(function(){return this.appendChild(t.apply(this,arguments))})},pa.insert=function(t,e){return t=R(t),e=S(e),this.select(function(){return this.insertBefore(t.apply(this,arguments),e.apply(this,arguments)||null)})},pa.remove=function(){return this.each(N)},pa.data=function(t,e){function r(t,r){var n,i,a,o=t.length,f=r.length,h=Math.min(o,f),d=new Array(f),p=new Array(f),m=new Array(o);if(e){var g,v=new c,y=new Array(o);for(n=-1;++n&lt;o;)(i=t[n])&amp;&amp;(v.has(g=e.call(i,i.__data__,n))?m[n]=i:v.set(g,i),y[n]=g);for(n=-1;++n&lt;f;)(i=v.get(g=e.call(r,a=r[n],n)))?!0!==i&amp;&amp;(d[n]=i,i.__data__=a):p[n]=j(a),v.set(g,!0);for(n=-1;++n&lt;o;)n in y&amp;&amp;!0!==v.get(y[n])&amp;&amp;(m[n]=t[n])}else{for(n=-1;++n&lt;h;)i=t[n],a=r[n],i?(i.__data__=a,d[n]=i):p[n]=j(a);for(;n&lt;f;++n)p[n]=j(r[n]);for(;n&lt;o;++n)m[n]=t[n]}p.update=d,p.parentNode=d.parentNode=m.parentNode=t.parentNode,s.push(p),l.push(d),u.push(m)}var n,i,a=-1,o=this.length;if(!arguments.length){for(t=new Array(o=(n=this[0]).length);++a&lt;o;)(i=n[a])&amp;&amp;(t[a]=i.__data__);return t}var s=V([]),l=T([]),u=T([]);if(&quot;function&quot;==typeof t)for(;++a&lt;o;)r(n=this[a],t.call(n,n.parentNode.__data__,a));else for(;++a&lt;o;)r(n=this[a],t);return l.enter=function(){return s},l.exit=function(){return u},l},pa.datum=function(t){return arguments.length?this.property(&quot;__data__&quot;,t):this.property(&quot;__data__&quot;)},pa.filter=function(t){var e,r,n,i=[];&quot;function&quot;!=typeof t&amp;&amp;(t=B(t));for(var a=0,o=this.length;a&lt;o;a++){i.push(e=[]),e.parentNode=(r=this[a]).parentNode;for(var s=0,l=r.length;s&lt;l;s++)(n=r[s])&amp;&amp;t.call(n,n.__data__,s,a)&amp;&amp;e.push(n)}return T(i)},pa.order=function(){for(var t=-1,e=this.length;++t&lt;e;)for(var r,n=this[t],i=n.length-1,a=n[i];--i&gt;=0;)(r=n[i])&amp;&amp;(a&amp;&amp;a!==r.nextSibling&amp;&amp;a.parentNode.insertBefore(r,a),a=r);return this},pa.sort=function(t){t=function(t){return arguments.length||(t=n),function(e,r){return e&amp;&amp;r?t(e.__data__,r.__data__):!e-!r}}.apply(this,arguments);for(var e=-1,r=this.length;++e&lt;r;)this[e].sort(t);return this.order()},pa.each=function(t){return U(this,function(e,r,n){t.call(e,e.__data__,r,n)})},pa.call=function(t){var e=Ki(arguments);return t.apply(e[0]=this,e),this},pa.empty=function(){return!this.node()},pa.node=function(){for(var t=0,e=this.length;t&lt;e;t++)for(var r=this[t],n=0,i=r.length;n&lt;i;n++){var a=r[n];if(a)return a}return null},pa.size=function(){var t=0;return U(this,function(){++t}),t};var va=[];Zi.selection.enter=V,Zi.selection.enter.prototype=va,va.append=pa.append,va.empty=pa.empty,va.node=pa.node,va.call=pa.call,va.size=pa.size,va.select=function(t){for(var e,r,n,i,a,o=[],s=-1,l=this.length;++s&lt;l;){n=(i=this[s]).update,o.push(e=[]),e.parentNode=i.parentNode;for(var c=-1,u=i.length;++c&lt;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 T(o)},va.insert=function(t,e){return arguments.length&lt;2&amp;&amp;(e=function(t){var e,r;return function(n,i,a){var o,s=t[a].update,l=s.length;for(a!=r&amp;&amp;(r=a,e=0),i&gt;=e&amp;&amp;(e=i+1);!(o=s[e])&amp;&amp;++e&lt;l;);return o}}(this)),pa.insert.call(this,t,e)},Zi.select=function(e){var r;return&quot;string&quot;==typeof e?(r=[fa(e,Qi)]).parentNode=Qi.documentElement:(r=[e]).parentNode=t(e),T([r])},Zi.selectAll=function(t){var e;return&quot;string&quot;==typeof t?(e=Ki(ha(t,Qi))).parentNode=Qi.documentElement:(e=Ki(t)).parentNode=null,T([e])},pa.on=function(t,e,r){var n=arguments.length;if(n&lt;3){if(&quot;string&quot;!=typeof t){n&lt;2&amp;&amp;(e=!1);for(r in t)this.each(q(r,t[r],e));return this}if(n&lt;2)return(n=this.node()[&quot;__on&quot;+t])&amp;&amp;n._;r=!1}return this.each(q(t,e,r))};var ya=Zi.map({mouseenter:&quot;mouseover&quot;,mouseleave:&quot;mouseout&quot;});Qi&amp;&amp;ya.forEach(function(t){&quot;on&quot;+t in Qi&amp;&amp;ya.remove(t)});var xa,ba=0;Zi.mouse=function(t){return W(t,k())};var _a=this.navigator&amp;&amp;/WebKit/.test(this.navigator.userAgent)?-1:0;Zi.touch=function(t,e,r){if(arguments.length&lt;3&amp;&amp;(r=e,e=k().changedTouches),e)for(var n,i=0,a=e.length;i&lt;a;++i)if((n=e[i]).identifier===r)return W(t,n)},Zi.behavior.drag=function(){function t(){this.on(&quot;mousedown.drag&quot;,a).on(&quot;touchstart.drag&quot;,o)}function e(t,e,r,a,o){return function(){var s,l=Zi.event.target.correspondingElement||Zi.event.target,c=this.parentNode,u=n.of(this,arguments),f=0,h=t(),d=&quot;.drag&quot;+(null==h?&quot;&quot;:&quot;-&quot;+h),p=Zi.select(r(l)).on(a+d,function(){var t,r,n=e(c,h);n&amp;&amp;(t=n[0]-g[0],r=n[1]-g[1],f|=t|r,g=n,u({type:&quot;drag&quot;,x:n[0]+s[0],y:n[1]+s[1],dx:t,dy:r}))}).on(o+d,function(){e(c,h)&amp;&amp;(p.on(a+d,null).on(o+d,null),m(f),u({type:&quot;dragend&quot;}))}),m=Y(l),g=e(c,h);s=i?[(s=i.apply(this,arguments)).x-g[0],s.y-g[1]]:[0,0],u({type:&quot;dragstart&quot;})}}var n=A(t,&quot;drag&quot;,&quot;dragstart&quot;,&quot;dragend&quot;),i=null,a=e(b,Zi.mouse,r,&quot;mousemove&quot;,&quot;mouseup&quot;),o=e(X,Zi.touch,y,&quot;touchmove&quot;,&quot;touchend&quot;);return t.origin=function(e){return arguments.length?(i=e,t):i},Zi.rebind(t,n,&quot;on&quot;)},Zi.touches=function(t,e){return arguments.length&lt;2&amp;&amp;(e=k().touches),e?Ki(e).map(function(e){var r=W(t,e);return r.identifier=e.identifier,r}):[]};var wa=1e-6,Ma=wa*wa,ka=Math.PI,Aa=2*ka,Ta=Aa-wa,Sa=ka/2,Ea=ka/180,La=180/ka,Ca=Math.SQRT2;Zi.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&lt;Ma)n=Math.log(c/o)/Ca,r=function(t){return[i+t*u,a+t*f,o*Math.exp(Ca*t*n)]};else{var d=Math.sqrt(h),p=(c*c-o*o+4*h)/(2*o*2*d),m=(c*c-o*o-4*h)/(2*c*2*d),g=Math.log(Math.sqrt(p*p+1)-p),v=Math.log(Math.sqrt(m*m+1)-m);n=(v-g)/Ca,r=function(t){var e=t*n,r=$(g),s=o/(2*d)*(r*function(t){return((t=Math.exp(2*t))-1)/(t+1)}(Ca*e+g)-function(t){return((t=Math.exp(t))-1/t)/2}(g));return[i+s*u,a+s*f,o*r/$(Ca*e+g)]}}return r.duration=1e3*n,r},Zi.behavior.zoom=function(){function t(t){t.on(C,u).on(Da+&quot;.zoom&quot;,h).on(&quot;dblclick.zoom&quot;,d).on(I,f)}function e(t){return[(t[0]-k.x)/k.k,(t[1]-k.y)/k.k]}function n(t){k.k=Math.max(S[0],Math.min(S[1],t))}function i(t,e){e=function(t){return[t[0]*k.k+k.x,t[1]*k.k+k.y]}(e),k.x+=t[0]-e[0],k.y+=t[1]-e[1]}function a(e,r,a,o){e.__chart__={x:k.x,y:k.y,k:k.k},n(Math.pow(2,o)),i(m=r,a),e=Zi.select(e),E&gt;0&amp;&amp;(e=e.transition().duration(E)),e.call(t.event)}function o(){b&amp;&amp;b.domain(x.range().map(function(t){return(t-k.x)/k.k}).map(x.invert)),w&amp;&amp;w.domain(_.range().map(function(t){return(t-k.y)/k.k}).map(_.invert))}function s(t){L++||t({type:&quot;zoomstart&quot;})}function l(t){o(),t({type:&quot;zoom&quot;,scale:k.k,translate:[k.x,k.y]})}function c(t){--L||(t({type:&quot;zoomend&quot;}),m=null)}function u(){var t=this,n=P.of(t,arguments),a=0,o=Zi.select(r(t)).on(z,function(){a=1,i(Zi.mouse(t),u),l(n)}).on(D,function(){o.on(z,null).on(D,null),f(a),c(n)}),u=e(Zi.mouse(t)),f=Y(t);Ts.call(t),s(n)}function f(){function t(){var t=Zi.touches(p);return d=k.k,t.forEach(function(t){t.identifier in g&amp;&amp;(g[t.identifier]=e(t))}),t}function r(){var e=Zi.event.target;Zi.select(e).on(b,o).on(_,h),w.push(e);for(var r=Zi.event.changedTouches,n=0,i=r.length;n&lt;i;++n)g[r[n].identifier]=null;var s=t(),l=Date.now();if(1===s.length){if(l-y&lt;500){var c=s[0];a(p,c,g[c.identifier],Math.floor(Math.log(k.k)/Math.LN2)+1),M()}y=l}else if(s.length&gt;1){c=s[0];var u=s[1],f=c[0]-u[0],d=c[1]-u[1];v=f*f+d*d}}function o(){var t,e,r,a,o=Zi.touches(p);Ts.call(p);for(var s=0,c=o.length;s&lt;c;++s,a=null)if(r=o[s],a=g[r.identifier]){if(e)break;t=r,e=a}if(a){var u=(u=r[0]-t[0])*u+(u=r[1]-t[1])*u,f=v&amp;&amp;Math.sqrt(u/v);t=[(t[0]+r[0])/2,(t[1]+r[1])/2],e=[(e[0]+a[0])/2,(e[1]+a[1])/2],n(f*d)}y=null,i(t,e),l(m)}function h(){if(Zi.event.touches.length){for(var e=Zi.event.changedTouches,r=0,n=e.length;r&lt;n;++r)delete g[e[r].identifier];for(var i in g)return void t()}Zi.selectAll(w).on(x,null),A.on(C,u).on(I,f),T(),c(m)}var d,p=this,m=P.of(p,arguments),g={},v=0,x=&quot;.zoom-&quot;+Zi.event.changedTouches[0].identifier,b=&quot;touchmove&quot;+x,_=&quot;touchend&quot;+x,w=[],A=Zi.select(p),T=Y(p);r(),s(m),A.on(C,null).on(I,r)}function h(){var t=P.of(this,arguments);v?clearTimeout(v):(Ts.call(this),p=e(m=g||Zi.mouse(this)),s(t)),v=setTimeout(function(){v=null,c(t)},50),M(),n(Math.pow(2,.002*za())*k.k),i(m,p),l(t)}function d(){var t=Zi.mouse(this),r=Math.log(k.k)/Math.LN2;a(this,t,e(t),Zi.event.shiftKey?Math.ceil(r)-1:Math.floor(r)+1)}var p,m,g,v,y,x,b,_,w,k={x:0,y:0,k:1},T=[960,500],S=Ia,E=250,L=0,C=&quot;mousedown.zoom&quot;,z=&quot;mousemove.zoom&quot;,D=&quot;mouseup.zoom&quot;,I=&quot;touchstart.zoom&quot;,P=A(t,&quot;zoomstart&quot;,&quot;zoom&quot;,&quot;zoomend&quot;);return Da||(Da=&quot;onwheel&quot;in Qi?(za=function(){return-Zi.event.deltaY*(Zi.event.deltaMode?120:1)},&quot;wheel&quot;):&quot;onmousewheel&quot;in Qi?(za=function(){return Zi.event.wheelDelta},&quot;mousewheel&quot;):(za=function(){return-Zi.event.detail},&quot;MozMousePixelScroll&quot;)),t.event=function(t){t.each(function(){var t=P.of(this,arguments),e=k;ks?Zi.select(this).transition().each(&quot;start.zoom&quot;,function(){k=this.__chart__||{x:0,y:0,k:1},s(t)}).tween(&quot;zoom:zoom&quot;,function(){var r=T[0],n=T[1],i=m?m[0]:r/2,a=m?m[1]:n/2,o=Zi.interpolateZoom([(i-k.x)/k.k,(a-k.y)/k.k,r/k.k],[(i-e.x)/e.k,(a-e.y)/e.k,r/e.k]);return function(e){var n=o(e),s=r/n[2];this.__chart__=k={x:i-n[0]*s,y:a-n[1]*s,k:s},l(t)}}).each(&quot;interrupt.zoom&quot;,function(){c(t)}).each(&quot;end.zoom&quot;,function(){c(t)}):(this.__chart__=k,s(t),l(t),c(t))})},t.translate=function(e){return arguments.length?(k={x:+e[0],y:+e[1],k:k.k},o(),t):[k.x,k.y]},t.scale=function(e){return arguments.length?(k={x:k.x,y:k.y,k:null},n(+e),o(),t):k.k},t.scaleExtent=function(e){return arguments.length?(S=null==e?Ia:[+e[0],+e[1]],t):S},t.center=function(e){return arguments.length?(g=e&amp;&amp;[+e[0],+e[1]],t):g},t.size=function(e){return arguments.length?(T=e&amp;&amp;[+e[0],+e[1]],t):T},t.duration=function(e){return arguments.length?(E=+e,t):E},t.x=function(e){return arguments.length?(b=e,x=e.copy(),k={x:0,y:0,k:1},t):b},t.y=function(e){return arguments.length?(w=e,_=e.copy(),k={x:0,y:0,k:1},t):w},Zi.rebind(t,P,&quot;on&quot;)};var za,Da,Ia=[0,1/0];Zi.color=et,et.prototype.toString=function(){return this.rgb()+&quot;&quot;},Zi.hsl=rt;var Pa=rt.prototype=new et;Pa.brighter=function(t){return t=Math.pow(.7,arguments.length?t:1),new rt(this.h,this.s,this.l/t)},Pa.darker=function(t){return t=Math.pow(.7,arguments.length?t:1),new rt(this.h,this.s,t*this.l)},Pa.rgb=function(){return nt(this.h,this.s,this.l)},Zi.hcl=it;var Oa=it.prototype=new et;Oa.brighter=function(t){return new it(this.h,this.c,Math.min(100,this.l+Fa*(arguments.length?t:1)))},Oa.darker=function(t){return new it(this.h,this.c,Math.max(0,this.l-Fa*(arguments.length?t:1)))},Oa.rgb=function(){return at(this.h,this.c,this.l).rgb()},Zi.lab=ot;var Fa=18,Ra=.95047,Na=1,ja=1.08883,Ba=ot.prototype=new et;Ba.brighter=function(t){return new ot(Math.min(100,this.l+Fa*(arguments.length?t:1)),this.a,this.b)},Ba.darker=function(t){return new ot(Math.max(0,this.l-Fa*(arguments.length?t:1)),this.a,this.b)},Ba.rgb=function(){return st(this.l,this.a,this.b)},Zi.rgb=ht;var Ua=ht.prototype=new et;Ua.brighter=function(t){t=Math.pow(.7,arguments.length?t:1);var e=this.r,r=this.g,n=this.b;return e||r||n?(e&amp;&amp;e&lt;30&amp;&amp;(e=30),r&amp;&amp;r&lt;30&amp;&amp;(r=30),n&amp;&amp;n&lt;30&amp;&amp;(n=30),new ht(Math.min(255,e/t),Math.min(255,r/t),Math.min(255,n/t))):new ht(30,30,30)},Ua.darker=function(t){return t=Math.pow(.7,arguments.length?t:1),new ht(t*this.r,t*this.g,t*this.b)},Ua.hsl=function(){return vt(this.r,this.g,this.b)},Ua.toString=function(){return&quot;#&quot;+mt(this.r)+mt(this.g)+mt(this.b)};var Va=Zi.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});Va.forEach(function(t,e){Va.set(t,dt(e))}),Zi.functor=_t,Zi.xhr=wt(y),Zi.dsv=function(t,e){function r(t,r,a){arguments.length&lt;3&amp;&amp;(a=r,r=null);var o=Mt(t,e,null==r?n:i(r),a);return o.row=function(t){return arguments.length?o.response(null==(r=t)?n:i(t)):r},o}function n(t){return r.parse(t.responseText)}function i(t){return function(e){return r.parse(e.responseText,t)}}function a(e){return e.map(o).join(t)}function o(t){return s.test(t)?'&quot;'+t.replace(/\&quot;/g,'&quot;&quot;')+'&quot;':t}var s=new RegExp('[&quot;'+t+&quot;\n]&quot;),l=t.charCodeAt(0);return r.parse=function(t,e){var n;return r.parseRows(t,function(t,r){if(n)return n(t,r-1);var i=new Function(&quot;d&quot;,&quot;return {&quot;+t.map(function(t,e){return JSON.stringify(t)+&quot;: d[&quot;+e+&quot;]&quot;}).join(&quot;,&quot;)+&quot;}&quot;);n=e?function(t,r){return e(i(t),r)}:i})},r.parseRows=function(t,e){function r(){if(u&gt;=c)return o;if(i)return i=!1,a;var e=u;if(34===t.charCodeAt(e)){for(var r=e;r++&lt;c;)if(34===t.charCodeAt(r)){if(34!==t.charCodeAt(r+1))break;++r}u=r+2;return 13===(n=t.charCodeAt(r+1))?(i=!0,10===t.charCodeAt(r+2)&amp;&amp;++u):10===n&amp;&amp;(i=!0),t.slice(e+1,r).replace(/&quot;&quot;/g,'&quot;')}for(;u&lt;c;){var n,s=1;if(10===(n=t.charCodeAt(u++)))i=!0;else if(13===n)i=!0,10===t.charCodeAt(u)&amp;&amp;(++u,++s);else if(n!==l)continue;return t.slice(e,u-s)}return t.slice(e)}for(var n,i,a={},o={},s=[],c=t.length,u=0,f=0;(n=r())!==o;){for(var h=[];n!==a&amp;&amp;n!==o;)h.push(n),n=r();e&amp;&amp;null==(h=e(h,f++))||s.push(h)}return s},r.format=function(e){if(Array.isArray(e[0]))return r.formatRows(e);var n=new v,i=[];return e.forEach(function(t){for(var e in t)n.has(e)||i.push(n.add(e))}),[i.map(o).join(t)].concat(e.map(function(e){return i.map(function(t){return o(e[t])}).join(t)})).join(&quot;\n&quot;)},r.formatRows=function(t){return t.map(a).join(&quot;\n&quot;)},r},Zi.csv=Zi.dsv(&quot;,&quot;,&quot;text/csv&quot;),Zi.tsv=Zi.dsv(&quot;\t&quot;,&quot;text/tab-separated-values&quot;);var qa,Ha,Ga,Ya,Wa=this[x(this,&quot;requestAnimationFrame&quot;)]||function(t){setTimeout(t,17)};Zi.timer=function(){kt.apply(this,arguments)},Zi.timer.flush=function(){Tt(),St()},Zi.round=function(t,e){return e?Math.round(t*(e=Math.pow(10,e)))/e:Math.round(t)};var Xa=[&quot;y&quot;,&quot;z&quot;,&quot;a&quot;,&quot;f&quot;,&quot;p&quot;,&quot;n&quot;,&quot;\xb5&quot;,&quot;m&quot;,&quot;&quot;,&quot;k&quot;,&quot;M&quot;,&quot;G&quot;,&quot;T&quot;,&quot;P&quot;,&quot;E&quot;,&quot;Z&quot;,&quot;Y&quot;].map(function(t,e){var r=Math.pow(10,3*aa(8-e));return{scale:e&gt;8?function(t){return t/r}:function(t){return t*r},symbol:t}});Zi.formatPrefix=function(t,e){var r=0;return(t=+t)&amp;&amp;(t&lt;0&amp;&amp;(t*=-1),e&amp;&amp;(t=Zi.round(t,Et(t,e))),r=1+Math.floor(1e-12+Math.log(t)/Math.LN10),r=Math.max(-24,Math.min(24,3*Math.floor((r-1)/3)))),Xa[8+r/3]};var Za=/(?:([^{])?([&lt;&gt;=^]))?([+\- ])?([$#])?(0)?(\d+)?(,)?(\.-?\d+)?([a-z%])?/i,Ja=Zi.map({b:function(t){return t.toString(2)},c:function(t){return String.fromCharCode(t)},o:function(t){return t.toString(8)},x:function(t){return t.toString(16)},X:function(t){return t.toString(16).toUpperCase()},g:function(t,e){return t.toPrecision(e)},e:function(t,e){return t.toExponential(e)},f:function(t,e){return t.toFixed(e)},r:function(t,e){return(t=Zi.round(t,Et(t,e))).toFixed(Math.max(0,Math.min(20,Et(t*(1+1e-15),e))))}}),Ka=Zi.time={},Qa=Date;Lt.prototype={getDate:function(){return this._.getUTCDate()},getDay:function(){return this._.getUTCDay()},getFullYear:function(){return this._.getUTCFullYear()},getHours:function(){return this._.getUTCHours()},getMilliseconds:function(){return this._.getUTCMilliseconds()},getMinutes:function(){return this._.getUTCMinutes()},getMonth:function(){return this._.getUTCMonth()},getSeconds:function(){return this._.getUTCSeconds()},getTime:function(){return this._.getTime()},getTimezoneOffset:function(){return 0},valueOf:function(){return this._.valueOf()},setDate:function(){$a.setUTCDate.apply(this._,arguments)},setDay:function(){$a.setUTCDay.apply(this._,arguments)},setFullYear:function(){$a.setUTCFullYear.apply(this._,arguments)},setHours:function(){$a.setUTCHours.apply(this._,arguments)},setMilliseconds:function(){$a.setUTCMilliseconds.apply(this._,arguments)},setMinutes:function(){$a.setUTCMinutes.apply(this._,arguments)},setMonth:function(){$a.setUTCMonth.apply(this._,arguments)},setSeconds:function(){$a.setUTCSeconds.apply(this._,arguments)},setTime:function(){$a.setTime.apply(this._,arguments)}};var $a=Date.prototype;Ka.year=Ct(function(t){return(t=Ka.day(t)).setMonth(0,1),t},function(t,e){t.setFullYear(t.getFullYear()+e)},function(t){return t.getFullYear()}),Ka.years=Ka.year.range,Ka.years.utc=Ka.year.utc.range,Ka.day=Ct(function(t){var e=new Qa(2e3,0);return e.setFullYear(t.getFullYear(),t.getMonth(),t.getDate()),e},function(t,e){t.setDate(t.getDate()+e)},function(t){return t.getDate()-1}),Ka.days=Ka.day.range,Ka.days.utc=Ka.day.utc.range,Ka.dayOfYear=function(t){var e=Ka.year(t);return Math.floor((t-e-6e4*(t.getTimezoneOffset()-e.getTimezoneOffset()))/864e5)},[&quot;sunday&quot;,&quot;monday&quot;,&quot;tuesday&quot;,&quot;wednesday&quot;,&quot;thursday&quot;,&quot;friday&quot;,&quot;saturday&quot;].forEach(function(t,e){e=7-e;var r=Ka[t]=Ct(function(t){return(t=Ka.day(t)).setDate(t.getDate()-(t.getDay()+e)%7),t},function(t,e){t.setDate(t.getDate()+7*Math.floor(e))},function(t){var r=Ka.year(t).getDay();return Math.floor((Ka.dayOfYear(t)+(r+e)%7)/7)-(r!==e)});Ka[t+&quot;s&quot;]=r.range,Ka[t+&quot;s&quot;].utc=r.utc.range,Ka[t+&quot;OfYear&quot;]=function(t){var r=Ka.year(t).getDay();return Math.floor((Ka.dayOfYear(t)+(r+e)%7)/7)}}),Ka.week=Ka.sunday,Ka.weeks=Ka.sunday.range,Ka.weeks.utc=Ka.sunday.utc.range,Ka.weekOfYear=Ka.sundayOfYear;var to={&quot;-&quot;:&quot;&quot;,_:&quot; &quot;,0:&quot;0&quot;},eo=/^\s*\d+/,ro=/^%/;Zi.locale=function(t){return{numberFormat:function(t){var e=t.decimal,r=t.thousands,n=t.grouping,i=t.currency,a=n&amp;&amp;r?function(t,e){for(var i=t.length,a=[],o=0,s=n[0],l=0;i&gt;0&amp;&amp;s&gt;0&amp;&amp;(l+s+1&gt;e&amp;&amp;(s=Math.max(1,e-l)),a.push(t.substring(i-=s,i+s)),!((l+=s+1)&gt;e));)s=n[o=(o+1)%n.length];return a.reverse().join(r)}:y;return function(t){var r=Za.exec(t),n=r[1]||&quot; &quot;,o=r[2]||&quot;&gt;&quot;,s=r[3]||&quot;-&quot;,l=r[4]||&quot;&quot;,c=r[5],u=+r[6],f=r[7],h=r[8],d=r[9],p=1,m=&quot;&quot;,g=&quot;&quot;,v=!1,y=!0;switch(h&amp;&amp;(h=+h.substring(1)),(c||&quot;0&quot;===n&amp;&amp;&quot;=&quot;===o)&amp;&amp;(c=n=&quot;0&quot;,o=&quot;=&quot;),d){case&quot;n&quot;:f=!0,d=&quot;g&quot;;break;case&quot;%&quot;:p=100,g=&quot;%&quot;,d=&quot;f&quot;;break;case&quot;p&quot;:p=100,g=&quot;%&quot;,d=&quot;r&quot;;break;case&quot;b&quot;:case&quot;o&quot;:case&quot;x&quot;:case&quot;X&quot;:&quot;#&quot;===l&amp;&amp;(m=&quot;0&quot;+d.toLowerCase());case&quot;c&quot;:y=!1;case&quot;d&quot;:v=!0,h=0;break;case&quot;s&quot;:p=-1,d=&quot;r&quot;}&quot;$&quot;===l&amp;&amp;(m=i[0],g=i[1]),&quot;r&quot;!=d||h||(d=&quot;g&quot;),null!=h&amp;&amp;(&quot;g&quot;==d?h=Math.max(1,Math.min(21,h)):&quot;e&quot;!=d&amp;&amp;&quot;f&quot;!=d||(h=Math.max(0,Math.min(20,h)))),d=Ja.get(d)||function(t){return t+&quot;&quot;};var x=c&amp;&amp;f;return function(t){var r=g;if(v&amp;&amp;t%1)return&quot;&quot;;var i=t&lt;0||0===t&amp;&amp;1/t&lt;0?(t=-t,&quot;-&quot;):&quot;-&quot;===s?&quot;&quot;:s;if(p&lt;0){var l=Zi.formatPrefix(t,h);t=l.scale(t),r=l.symbol+g}else t*=p;var b,_,w=(t=d(t,h)).lastIndexOf(&quot;.&quot;);if(w&lt;0){var M=y?t.lastIndexOf(&quot;e&quot;):-1;M&lt;0?(b=t,_=&quot;&quot;):(b=t.substring(0,M),_=t.substring(M))}else b=t.substring(0,w),_=e+t.substring(w+1);!c&amp;&amp;f&amp;&amp;(b=a(b,1/0));var k=m.length+b.length+_.length+(x?0:i.length),A=k&lt;u?new Array(k=u-k+1).join(n):&quot;&quot;;return x&amp;&amp;(b=a(A+b,A.length?u-_.length:1/0)),i+=m,t=b+_,(&quot;&lt;&quot;===o?i+t+A:&quot;&gt;&quot;===o?A+i+t:&quot;^&quot;===o?A.substring(0,k&gt;&gt;=1)+i+t+A.substring(k):i+(x?t:A+t))+r}}}(t),timeFormat:function(t){function e(t){function e(e){for(var r,i,a,o=[],s=-1,l=0;++s&lt;n;)37===t.charCodeAt(s)&amp;&amp;(o.push(t.slice(l,s)),null!=(i=to[r=t.charAt(++s)])&amp;&amp;(r=t.charAt(++s)),(a=b[r])&amp;&amp;(r=a(e,null==i?&quot;e&quot;===r?&quot; &quot;:&quot;0&quot;:i)),o.push(r),l=s+1);return o.push(t.slice(l,s)),o.join(&quot;&quot;)}var n=t.length;return e.parse=function(e){var n={y:1900,m:0,d:1,H:0,M:0,S:0,L:0,Z:null};if(r(n,t,e,0)!=e.length)return null;&quot;p&quot;in n&amp;&amp;(n.H=n.H%12+12*n.p);var i=null!=n.Z&amp;&amp;Qa!==Lt,a=new(i?Lt:Qa);return&quot;j&quot;in n?a.setFullYear(n.y,0,n.j):&quot;W&quot;in n||&quot;U&quot;in n?(&quot;w&quot;in n||(n.w=&quot;W&quot;in n?1:0),a.setFullYear(n.y,0,1),a.setFullYear(n.y,0,&quot;W&quot;in n?(n.w+6)%7+7*n.W-(a.getDay()+5)%7:n.w+7*n.U-(a.getDay()+6)%7)):a.setFullYear(n.y,n.m,n.d),a.setHours(n.H+(n.Z/100|0),n.M+n.Z%100,n.S,n.L),i?a._:a},e.toString=function(){return t},e}function r(t,e,r,n){for(var i,a,o,s=0,l=e.length,c=r.length;s&lt;l;){if(n&gt;=c)return-1;if(37===(i=e.charCodeAt(s++))){if(o=e.charAt(s++),!(a=_[o in to?e.charAt(s++):o])||(n=a(t,r,n))&lt;0)return-1}else if(i!=r.charCodeAt(n++))return-1}return n}var n=t.dateTime,i=t.date,a=t.time,o=t.periods,s=t.days,l=t.shortDays,c=t.months,u=t.shortMonths;e.multi=(e.utc=function(t){function r(t){try{var e=new(Qa=Lt);return e._=t,n(e)}finally{Qa=Date}}var n=e(t);return r.parse=function(t){try{Qa=Lt;var e=n.parse(t);return e&amp;&amp;e._}finally{Qa=Date}},r.toString=n.toString,r}).multi=Jt;var f=Zi.map(),h=It(s),d=Pt(s),p=It(l),m=Pt(l),g=It(c),v=Pt(c),y=It(u),x=Pt(u);o.forEach(function(t,e){f.set(t.toLowerCase(),e)});var b={a:function(t){return l[t.getDay()]},A:function(t){return s[t.getDay()]},b:function(t){return u[t.getMonth()]},B:function(t){return c[t.getMonth()]},c:e(n),d:function(t,e){return Dt(t.getDate(),e,2)},e:function(t,e){return Dt(t.getDate(),e,2)},H:function(t,e){return Dt(t.getHours(),e,2)},I:function(t,e){return Dt(t.getHours()%12||12,e,2)},j:function(t,e){return Dt(1+Ka.dayOfYear(t),e,3)},L:function(t,e){return Dt(t.getMilliseconds(),e,3)},m:function(t,e){return Dt(t.getMonth()+1,e,2)},M:function(t,e){return Dt(t.getMinutes(),e,2)},p:function(t){return o[+(t.getHours()&gt;=12)]},S:function(t,e){return Dt(t.getSeconds(),e,2)},U:function(t,e){return Dt(Ka.sundayOfYear(t),e,2)},w:function(t){return t.getDay()},W:function(t,e){return Dt(Ka.mondayOfYear(t),e,2)},x:e(i),X:e(a),y:function(t,e){return Dt(t.getFullYear()%100,e,2)},Y:function(t,e){return Dt(t.getFullYear()%1e4,e,4)},Z:Xt,&quot;%&quot;:function(){return&quot;%&quot;}},_={a:function(t,e,r){p.lastIndex=0;var n=p.exec(e.slice(r));return n?(t.w=m.get(n[0].toLowerCase()),r+n[0].length):-1},A:function(t,e,r){h.lastIndex=0;var n=h.exec(e.slice(r));return n?(t.w=d.get(n[0].toLowerCase()),r+n[0].length):-1},b:function(t,e,r){y.lastIndex=0;var n=y.exec(e.slice(r));return n?(t.m=x.get(n[0].toLowerCase()),r+n[0].length):-1},B:function(t,e,r){g.lastIndex=0;var n=g.exec(e.slice(r));return n?(t.m=v.get(n[0].toLowerCase()),r+n[0].length):-1},c:function(t,e,n){return r(t,b.c.toString(),e,n)},d:Vt,e:Vt,H:Ht,I:Ht,j:qt,L:Wt,m:Ut,M:Gt,p:function(t,e,r){var n=f.get(e.slice(r,r+=2).toLowerCase());return null==n?-1:(t.p=n,r)},S:Yt,U:Ft,w:Ot,W:Rt,x:function(t,e,n){return r(t,b.x.toString(),e,n)},X:function(t,e,n){return r(t,b.X.toString(),e,n)},y:jt,Y:Nt,Z:Bt,&quot;%&quot;:Zt};return e}(t)}};var no=Zi.locale({decimal:&quot;.&quot;,thousands:&quot;,&quot;,grouping:[3],currency:[&quot;$&quot;,&quot;&quot;],dateTime:&quot;%a %b %e %X %Y&quot;,date:&quot;%m/%d/%Y&quot;,time:&quot;%H:%M:%S&quot;,periods:[&quot;AM&quot;,&quot;PM&quot;],days:[&quot;Sunday&quot;,&quot;Monday&quot;,&quot;Tuesday&quot;,&quot;Wednesday&quot;,&quot;Thursday&quot;,&quot;Friday&quot;,&quot;Saturday&quot;],shortDays:[&quot;Sun&quot;,&quot;Mon&quot;,&quot;Tue&quot;,&quot;Wed&quot;,&quot;Thu&quot;,&quot;Fri&quot;,&quot;Sat&quot;],months:[&quot;January&quot;,&quot;February&quot;,&quot;March&quot;,&quot;April&quot;,&quot;May&quot;,&quot;June&quot;,&quot;July&quot;,&quot;August&quot;,&quot;September&quot;,&quot;October&quot;,&quot;November&quot;,&quot;December&quot;],shortMonths:[&quot;Jan&quot;,&quot;Feb&quot;,&quot;Mar&quot;,&quot;Apr&quot;,&quot;May&quot;,&quot;Jun&quot;,&quot;Jul&quot;,&quot;Aug&quot;,&quot;Sep&quot;,&quot;Oct&quot;,&quot;Nov&quot;,&quot;Dec&quot;]});Zi.format=no.numberFormat,Zi.geo={},Kt.prototype={s:0,t:0,add:function(t){Qt(t,this.t,io),Qt(io.s,this.s,this),this.s?this.t+=io.t:this.s=io.t},reset:function(){this.s=this.t=0},valueOf:function(){return this.s}};var io=new Kt;Zi.geo.stream=function(t,e){t&amp;&amp;ao.hasOwnProperty(t.type)?ao[t.type](t,e):$t(t,e)};var ao={Feature:function(t,e){$t(t.geometry,e)},FeatureCollection:function(t,e){for(var r=t.features,n=-1,i=r.length;++n&lt;i;)$t(r[n].geometry,e)}},oo={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&lt;i;)t=r[n],e.point(t[0],t[1],t[2])},LineString:function(t,e){te(t.coordinates,e,0)},MultiLineString:function(t,e){for(var r=t.coordinates,n=-1,i=r.length;++n&lt;i;)te(r[n],e,0)},Polygon:function(t,e){ee(t.coordinates,e)},MultiPolygon:function(t,e){for(var r=t.coordinates,n=-1,i=r.length;++n&lt;i;)ee(r[n],e)},GeometryCollection:function(t,e){for(var r=t.geometries,n=-1,i=r.length;++n&lt;i;)$t(r[n],e)}};Zi.geo.area=function(t){return so=0,Zi.geo.stream(t,co),so};var so,lo=new Kt,co={sphere:function(){so+=4*ka},point:b,lineStart:b,lineEnd:b,polygonStart:function(){lo.reset(),co.lineStart=re},polygonEnd:function(){var t=2*lo;so+=t&lt;0?4*ka+t:t,co.lineStart=co.lineEnd=co.point=b}};Zi.geo.bounds=function(){function t(t,e){x.push(b=[u=t,h=t]),e&lt;f&amp;&amp;(f=e),e&gt;d&amp;&amp;(d=e)}function e(e,r){var n=ne([e*Ea,r*Ea]);if(v){var i=ae(v,n),a=ae([i[1],-i[0],0],i);le(a),a=ce(a);var o=e-p,l=o&gt;0?1:-1,c=a[0]*La*l,m=aa(o)&gt;180;if(m^(l*p&lt;c&amp;&amp;c&lt;l*e)){(g=a[1]*La)&gt;d&amp;&amp;(d=g)}else if(c=(c+360)%360-180,m^(l*p&lt;c&amp;&amp;c&lt;l*e)){var g;(g=-a[1]*La)&lt;f&amp;&amp;(f=g)}else r&lt;f&amp;&amp;(f=r),r&gt;d&amp;&amp;(d=r);m?e&lt;p?s(u,e)&gt;s(u,h)&amp;&amp;(h=e):s(e,h)&gt;s(u,h)&amp;&amp;(u=e):h&gt;=u?(e&lt;u&amp;&amp;(u=e),e&gt;h&amp;&amp;(h=e)):e&gt;p?s(u,e)&gt;s(u,h)&amp;&amp;(h=e):s(e,h)&gt;s(u,h)&amp;&amp;(u=e)}else t(e,r);v=n,p=e}function r(){_.point=e}function n(){b[0]=u,b[1]=h,_.point=t,v=null}function i(t,r){if(v){var n=t-p;y+=aa(n)&gt;180?n+(n&gt;0?360:-360):n}else m=t,g=r;co.point(t,r),e(t,r)}function a(){co.lineStart()}function o(){i(m,g),co.lineEnd(),aa(y)&gt;wa&amp;&amp;(u=-(h=180)),b[0]=u,b[1]=h,v=null}function s(t,e){return(e-=t)&lt;0?e+360:e}function l(t,e){return t[0]-e[0]}function c(t,e){return e[0]&lt;=e[1]?e[0]&lt;=t&amp;&amp;t&lt;=e[1]:t&lt;e[0]||e[1]&lt;t}var u,f,h,d,p,m,g,v,y,x,b,_={point:t,lineStart:r,lineEnd:n,polygonStart:function(){_.point=i,_.lineStart=a,_.lineEnd=o,y=0,co.polygonStart()},polygonEnd:function(){co.polygonEnd(),_.point=t,_.lineStart=r,_.lineEnd=n,lo&lt;0?(u=-(h=180),f=-(d=90)):y&gt;wa?d=90:y&lt;-wa&amp;&amp;(f=-90),b[0]=u,b[1]=h}};return function(t){d=h=-(u=f=1/0),x=[],Zi.geo.stream(t,_);if(i=x.length){x.sort(l);for(var e=1,r=[p=x[0]];e&lt;i;++e)c((a=x[e])[0],p)||c(a[1],p)?(s(p[0],a[1])&gt;s(p[0],p[1])&amp;&amp;(p[1]=a[1]),s(a[0],p[1])&gt;s(p[0],p[1])&amp;&amp;(p[0]=a[0])):r.push(p=a);for(var n,i,a,o=-1/0,p=(e=0,r[i=r.length-1]);e&lt;=i;p=a,++e)a=r[e],(n=s(p[1],a[0]))&gt;o&amp;&amp;(o=n,u=a[0],h=p[1])}return x=b=null,u===1/0||f===1/0?[[NaN,NaN],[NaN,NaN]]:[[u,f],[h,d]]}}(),Zi.geo.centroid=function(t){uo=fo=ho=po=mo=go=vo=yo=xo=bo=_o=0,Zi.geo.stream(t,wo);var e=xo,r=bo,n=_o,i=e*e+r*r+n*n;return i&lt;Ma&amp;&amp;(e=go,r=vo,n=yo,fo&lt;wa&amp;&amp;(e=ho,r=po,n=mo),(i=e*e+r*r+n*n)&lt;Ma)?[NaN,NaN]:[Math.atan2(r,e)*La,Q(n/Math.sqrt(i))*La]};var uo,fo,ho,po,mo,go,vo,yo,xo,bo,_o,wo={sphere:b,point:fe,lineStart:de,lineEnd:pe,polygonStart:function(){wo.lineStart=me},polygonEnd:function(){wo.lineStart=de}},Mo=_e(ve,function(t){var e,r=NaN,n=NaN,i=NaN;return{lineStart:function(){t.lineStart(),e=1},point:function(a,o){var s=a&gt;0?ka:-ka,l=aa(a-r);aa(l-ka)&lt;wa?(t.point(r,n=(n+o)/2&gt;0?Sa:-Sa),t.point(i,n),t.lineEnd(),t.lineStart(),t.point(s,n),t.point(a,n),e=0):i!==s&amp;&amp;l&gt;=ka&amp;&amp;(aa(r-i)&lt;wa&amp;&amp;(r-=i*wa),aa(a-s)&lt;wa&amp;&amp;(a-=s*wa),n=function(t,e,r,n){var i,a,o=Math.sin(t-r);return aa(o)&gt;wa?Math.atan((Math.sin(e)*(a=Math.cos(n))*Math.sin(r)-Math.sin(n)*(i=Math.cos(e))*Math.sin(t))/(i*a*o)):(e+n)/2}(r,n,a,o),t.point(i,n),t.lineEnd(),t.lineStart(),t.point(s,n),e=0),t.point(r=a,n=o),i=s},lineEnd:function(){t.lineEnd(),r=n=NaN},clean:function(){return 2-e}}},function(t,e,r,n){var i;if(null==t)i=r*Sa,n.point(-ka,i),n.point(0,i),n.point(ka,i),n.point(ka,0),n.point(ka,-i),n.point(0,-i),n.point(-ka,-i),n.point(-ka,0),n.point(-ka,i);else if(aa(t[0]-e[0])&gt;wa){var a=t[0]&lt;e[0]?ka:-ka;i=r*a/2,n.point(-a,i),n.point(0,i),n.point(a,i)}else n.point(e[0],e[1])},[-ka,-ka/2]),ko=1e9;Zi.geo.clipExtent=function(){var t,e,r,n,i,a,o={stream:function(t){return i&amp;&amp;(i.valid=!1),i=a(t),i.valid=!0,i},extent:function(s){return arguments.length?(a=Te(t=+s[0][0],e=+s[0][1],r=+s[1][0],n=+s[1][1]),i&amp;&amp;(i.valid=!1,i=null),o):[[t,e],[r,n]]}};return o.extent([[0,0],[960,500]])},(Zi.geo.conicEqualArea=function(){return Se(Ee)}).raw=Ee,Zi.geo.albers=function(){return Zi.geo.conicEqualArea().rotate([96,0]).center([-.6,38.7]).parallels([29.5,45.5]).scale(1070)},Zi.geo.albersUsa=function(){function t(t){var a=t[0],o=t[1];return e=null,r(a,o),e||(n(a,o),e)||i(a,o),e}var e,r,n,i,a=Zi.geo.albers(),o=Zi.geo.conicEqualArea().rotate([154,0]).center([-2,58.5]).parallels([55,65]),s=Zi.geo.conicEqualArea().rotate([157,0]).center([-3,19.9]).parallels([8,18]),l={point:function(t,r){e=[t,r]}};return t.invert=function(t){var e=a.scale(),r=a.translate(),n=(t[0]-r[0])/e,i=(t[1]-r[1])/e;return(i&gt;=.12&amp;&amp;i&lt;.234&amp;&amp;n&gt;=-.425&amp;&amp;n&lt;-.214?o:i&gt;=.166&amp;&amp;i&lt;.234&amp;&amp;n&gt;=-.214&amp;&amp;n&lt;-.115?s:a).invert(t)},t.stream=function(t){var e=a.stream(t),r=o.stream(t),n=s.stream(t);return{point:function(t,i){e.point(t,i),r.point(t,i),n.point(t,i)},sphere:function(){e.sphere(),r.sphere(),n.sphere()},lineStart:function(){e.lineStart(),r.lineStart(),n.lineStart()},lineEnd:function(){e.lineEnd(),r.lineEnd(),n.lineEnd()},polygonStart:function(){e.polygonStart(),r.polygonStart(),n.polygonStart()},polygonEnd:function(){e.polygonEnd(),r.polygonEnd(),n.polygonEnd()}}},t.precision=function(e){return arguments.length?(a.precision(e),o.precision(e),s.precision(e),t):a.precision()},t.scale=function(e){return arguments.length?(a.scale(e),o.scale(.35*e),s.scale(e),t.translate(a.translate())):a.scale()},t.translate=function(e){if(!arguments.length)return a.translate();var c=a.scale(),u=+e[0],f=+e[1];return r=a.translate(e).clipExtent([[u-.455*c,f-.238*c],[u+.455*c,f+.238*c]]).stream(l).point,n=o.translate([u-.307*c,f+.201*c]).clipExtent([[u-.425*c+wa,f+.12*c+wa],[u-.214*c-wa,f+.234*c-wa]]).stream(l).point,i=s.translate([u-.205*c,f+.212*c]).clipExtent([[u-.214*c+wa,f+.166*c+wa],[u-.115*c-wa,f+.234*c-wa]]).stream(l).point,t},t.scale(1070)};var Ao,To,So,Eo,Lo,Co,zo={point:b,lineStart:b,lineEnd:b,polygonStart:function(){To=0,zo.lineStart=Le},polygonEnd:function(){zo.lineStart=zo.lineEnd=zo.point=b,Ao+=aa(To/2)}},Do={point:function(t,e){t&lt;So&amp;&amp;(So=t),t&gt;Lo&amp;&amp;(Lo=t),e&lt;Eo&amp;&amp;(Eo=e),e&gt;Co&amp;&amp;(Co=e)},lineStart:b,lineEnd:b,polygonStart:b,polygonEnd:b},Io={point:ze,lineStart:De,lineEnd:Ie,polygonStart:function(){Io.lineStart=Pe},polygonEnd:function(){Io.point=ze,Io.lineStart=De,Io.lineEnd=Ie}};Zi.geo.path=function(){function t(t){return t&amp;&amp;(&quot;function&quot;==typeof s&amp;&amp;a.pointRadius(+s.apply(this,arguments)),o&amp;&amp;o.valid||(o=i(a)),Zi.geo.stream(t,o)),a.result()}function e(){return o=null,t}var r,n,i,a,o,s=4.5;return t.area=function(t){return Ao=0,Zi.geo.stream(t,i(zo)),Ao},t.centroid=function(t){return ho=po=mo=go=vo=yo=xo=bo=_o=0,Zi.geo.stream(t,i(Io)),_o?[xo/_o,bo/_o]:yo?[go/yo,vo/yo]:mo?[ho/mo,po/mo]:[NaN,NaN]},t.bounds=function(t){return Lo=Co=-(So=Eo=1/0),Zi.geo.stream(t,i(Do)),[[So,Eo],[Lo,Co]]},t.projection=function(t){return arguments.length?(i=(r=t)?t.stream||function(t){var e=Oe(function(e,r){return t([e*La,r*La])});return function(t){return Be(e(t))}}(t):y,e()):r},t.context=function(t){return arguments.length?(a=null==(n=t)?new function(){function t(t,e){o.push(&quot;M&quot;,t,&quot;,&quot;,e,a)}function e(t,e){o.push(&quot;M&quot;,t,&quot;,&quot;,e),s.point=r}function r(t,e){o.push(&quot;L&quot;,t,&quot;,&quot;,e)}function n(){s.point=t}function i(){o.push(&quot;Z&quot;)}var a=Ce(4.5),o=[],s={point:t,lineStart:function(){s.point=e},lineEnd:n,polygonStart:function(){s.lineEnd=i},polygonEnd:function(){s.lineEnd=n,s.point=t},pointRadius:function(t){return a=Ce(t),s},result:function(){if(o.length){var t=o.join(&quot;&quot;);return o=[],t}}};return s}:new function(t){function e(e,r){t.moveTo(e+o,r),t.arc(e,r,o,0,Aa)}function r(e,r){t.moveTo(e,r),s.point=n}function n(e,r){t.lineTo(e,r)}function i(){s.point=e}function a(){t.closePath()}var o=4.5,s={point:e,lineStart:function(){s.point=r},lineEnd:i,polygonStart:function(){s.lineEnd=a},polygonEnd:function(){s.lineEnd=i,s.point=e},pointRadius:function(t){return o=t,s},result:b};return s}(t),&quot;function&quot;!=typeof s&amp;&amp;a.pointRadius(s),e()):n},t.pointRadius=function(e){return arguments.length?(s=&quot;function&quot;==typeof e?e:(a.pointRadius(+e),+e),t):s},t.projection(Zi.geo.albersUsa()).context(null)},Zi.geo.transform=function(t){return{stream:function(e){var r=new Fe(e);for(var n in t)r[n]=t[n];return r}}},Fe.prototype={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()}},Zi.geo.projection=Ne,Zi.geo.projectionMutator=je,(Zi.geo.equirectangular=function(){return Ne(Ue)}).raw=Ue.invert=Ue,Zi.geo.rotation=function(t){function e(e){return e=t(e[0]*Ea,e[1]*Ea),e[0]*=La,e[1]*=La,e}return t=qe(t[0]%360*Ea,t[1]*Ea,t.length&gt;2?t[2]*Ea:0),e.invert=function(e){return e=t.invert(e[0]*Ea,e[1]*Ea),e[0]*=La,e[1]*=La,e},e},Ve.invert=Ue,Zi.geo.circle=function(){function t(){var t=&quot;function&quot;==typeof n?n.apply(this,arguments):n,e=qe(-t[0]*Ea,-t[1]*Ea,0).invert,i=[];return r(null,null,1,{point:function(t,r){i.push(t=e(t,r)),t[0]*=La,t[1]*=La}}),{type:&quot;Polygon&quot;,coordinates:[i]}}var e,r,n=[0,0],i=6;return t.origin=function(e){return arguments.length?(n=e,t):n},t.angle=function(n){return arguments.length?(r=We((e=+n)*Ea,i*Ea),t):e},t.precision=function(n){return arguments.length?(r=We(e*Ea,(i=+n)*Ea),t):i},t.angle(90)},Zi.geo.distance=function(t,e){var r,n=(e[0]-t[0])*Ea,i=t[1]*Ea,a=e[1]*Ea,o=Math.sin(n),s=Math.cos(n),l=Math.sin(i),c=Math.cos(i),u=Math.sin(a),f=Math.cos(a);return Math.atan2(Math.sqrt((r=f*o)*r+(r=c*u-l*f*s)*r),l*u+c*f*s)},Zi.geo.graticule=function(){function t(){return{type:&quot;MultiLineString&quot;,coordinates:e()}}function e(){return Zi.range(Math.ceil(a/g)*g,i,g).map(h).concat(Zi.range(Math.ceil(c/v)*v,l,v).map(d)).concat(Zi.range(Math.ceil(n/p)*p,r,p).filter(function(t){return aa(t%g)&gt;wa}).map(u)).concat(Zi.range(Math.ceil(s/m)*m,o,m).filter(function(t){return aa(t%v)&gt;wa}).map(f))}var r,n,i,a,o,s,l,c,u,f,h,d,p=10,m=p,g=90,v=360,y=2.5;return t.lines=function(){return e().map(function(t){return{type:&quot;LineString&quot;,coordinates:t}})},t.outline=function(){return{type:&quot;Polygon&quot;,coordinates:[h(a).concat(d(l).slice(1),h(i).reverse().slice(1),d(c).reverse().slice(1))]}},t.extent=function(e){return arguments.length?t.majorExtent(e).minorExtent(e):t.minorExtent()},t.majorExtent=function(e){return arguments.length?(a=+e[0][0],i=+e[1][0],c=+e[0][1],l=+e[1][1],a&gt;i&amp;&amp;(e=a,a=i,i=e),c&gt;l&amp;&amp;(e=c,c=l,l=e),t.precision(y)):[[a,c],[i,l]]},t.minorExtent=function(e){return arguments.length?(n=+e[0][0],r=+e[1][0],s=+e[0][1],o=+e[1][1],n&gt;r&amp;&amp;(e=n,n=r,r=e),s&gt;o&amp;&amp;(e=s,s=o,o=e),t.precision(y)):[[n,s],[r,o]]},t.step=function(e){return arguments.length?t.majorStep(e).minorStep(e):t.minorStep()},t.majorStep=function(e){return arguments.length?(g=+e[0],v=+e[1],t):[g,v]},t.minorStep=function(e){return arguments.length?(p=+e[0],m=+e[1],t):[p,m]},t.precision=function(e){return arguments.length?(y=+e,u=Ze(s,o,90),f=Je(n,r,y),h=Ze(c,l,90),d=Je(a,i,y),t):y},t.majorExtent([[-180,-90+wa],[180,90-wa]]).minorExtent([[-180,-80-wa],[180,80+wa]])},Zi.geo.greatArc=function(){function t(){return{type:&quot;LineString&quot;,coordinates:[e||n.apply(this,arguments),r||i.apply(this,arguments)]}}var e,r,n=Ke,i=Qe;return t.distance=function(){return Zi.geo.distance(e||n.apply(this,arguments),r||i.apply(this,arguments))},t.source=function(r){return arguments.length?(n=r,e=&quot;function&quot;==typeof r?null:r,t):n},t.target=function(e){return arguments.length?(i=e,r=&quot;function&quot;==typeof e?null:e,t):i},t.precision=function(){return arguments.length?t:0},t},Zi.geo.interpolate=function(t,e){return function(t,e,r,n){var i=Math.cos(e),a=Math.sin(e),o=Math.cos(n),s=Math.sin(n),l=i*Math.cos(t),c=i*Math.sin(t),u=o*Math.cos(r),f=o*Math.sin(r),h=2*Math.asin(Math.sqrt(tt(n-e)+i*o*tt(r-t))),d=1/Math.sin(h),p=h?function(t){var e=Math.sin(t*=h)*d,r=Math.sin(h-t)*d,n=r*l+e*u,i=r*c+e*f,o=r*a+e*s;return[Math.atan2(i,n)*La,Math.atan2(o,Math.sqrt(n*n+i*i))*La]}:function(){return[t*La,e*La]};return p.distance=h,p}(t[0]*Ea,t[1]*Ea,e[0]*Ea,e[1]*Ea)},Zi.geo.length=function(t){return Po=0,Zi.geo.stream(t,Oo),Po};var Po,Oo={sphere:b,point:b,lineStart:function(){function t(t,i){var a=Math.sin(i*=Ea),o=Math.cos(i),s=aa((t*=Ea)-e),l=Math.cos(s);Po+=Math.atan2(Math.sqrt((s=o*Math.sin(s))*s+(s=n*a-r*o*l)*s),r*a+n*o*l),e=t,r=a,n=o}var e,r,n;Oo.point=function(i,a){e=i*Ea,r=Math.sin(a*=Ea),n=Math.cos(a),Oo.point=t},Oo.lineEnd=function(){Oo.point=Oo.lineEnd=b}},lineEnd:b,polygonStart:b,polygonEnd:b},Fo=$e(function(t){return Math.sqrt(2/(1+t))},function(t){return 2*Math.asin(t/2)});(Zi.geo.azimuthalEqualArea=function(){return Ne(Fo)}).raw=Fo;var Ro=$e(function(t){var e=Math.acos(t);return e&amp;&amp;e/Math.sin(e)},y);(Zi.geo.azimuthalEquidistant=function(){return Ne(Ro)}).raw=Ro,(Zi.geo.conicConformal=function(){return Se(tr)}).raw=tr,(Zi.geo.conicEquidistant=function(){return Se(er)}).raw=er;var No=$e(function(t){return 1/t},Math.atan);(Zi.geo.gnomonic=function(){return Ne(No)}).raw=No,rr.invert=function(t,e){return[t,2*Math.atan(Math.exp(e))-Sa]},(Zi.geo.mercator=function(){return nr(rr)}).raw=rr;var jo=$e(function(){return 1},Math.asin);(Zi.geo.orthographic=function(){return Ne(jo)}).raw=jo;var Bo=$e(function(t){return 1/(1+t)},function(t){return 2*Math.atan(t)});(Zi.geo.stereographic=function(){return Ne(Bo)}).raw=Bo,ir.invert=function(t,e){return[-e,2*Math.atan(Math.exp(t))-Sa]},(Zi.geo.transverseMercator=function(){var t=nr(ir),e=t.center,r=t.rotate;return t.center=function(t){return t?e([-t[1],t[0]]):(t=e(),[t[1],-t[0]])},t.rotate=function(t){return t?r([t[0],t[1],t.length&gt;2?t[2]+90:90]):(t=r(),[t[0],t[1],t[2]-90])},r([0,0,90])}).raw=ir,Zi.geom={},Zi.geom.hull=function(t){function e(t){if(t.length&lt;3)return[];var e,i=_t(r),a=_t(n),o=t.length,s=[],l=[];for(e=0;e&lt;o;e++)s.push([+i.call(this,t[e],e),+a.call(this,t[e],e),e]);for(s.sort(lr),e=0;e&lt;o;e++)l.push([s[e][0],-s[e][1]]);var c=sr(s),u=sr(l),f=u[0]===c[0],h=u[u.length-1]===c[c.length-1],d=[];for(e=c.length-1;e&gt;=0;--e)d.push(t[s[c[e]][2]]);for(e=+f;e&lt;u.length-h;++e)d.push(t[s[u[e]][2]]);return d}var r=ar,n=or;return arguments.length?e(t):(e.x=function(t){return arguments.length?(r=t,e):r},e.y=function(t){return arguments.length?(n=t,e):n},e)},Zi.geom.polygon=function(t){return ua(t,Uo),t};var Uo=Zi.geom.polygon.prototype=[];Uo.area=function(){for(var t,e=-1,r=this.length,n=this[r-1],i=0;++e&lt;r;)t=n,n=this[e],i+=t[1]*n[0]-t[0]*n[1];return.5*i},Uo.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&lt;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]},Uo.clip=function(t){for(var e,r,n,i,a,o,s=fr(t),l=-1,c=this.length-fr(this),u=this[c-1];++l&lt;c;){for(e=t.slice(),t.length=0,i=this[l],a=e[(n=e.length-s)-1],r=-1;++r&lt;n;)cr(o=e[r],u,i)?(cr(a,u,i)||t.push(ur(a,o,u,i)),t.push(o)):cr(a,u,i)&amp;&amp;t.push(ur(a,o,u,i)),a=o;s&amp;&amp;t.push(t[0]),u=i}return t};var Vo,qo,Ho,Go,Yo,Wo=[],Xo=[];vr.prototype.prepare=function(){for(var t,e=this.edges,r=e.length;r--;)(t=e[r].edge).b&amp;&amp;t.a||e.splice(r,1);return e.sort(xr),e.length},Ar.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&amp;&amp;(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=Cr(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&amp;&amp;r.C;)r===(n=r.U).L?(i=n.R)&amp;&amp;i.C?(r.C=i.C=!1,n.C=!0,t=n):(t===r.R&amp;&amp;(Er(this,r),r=(t=r).U),r.C=!1,n.C=!0,Lr(this,n)):(i=n.L)&amp;&amp;i.C?(r.C=i.C=!1,n.C=!0,t=n):(t===r.L&amp;&amp;(Lr(this,r),r=(t=r).U),r.C=!1,n.C=!0,Er(this,n)),r=t.U;this._.C=!1},remove:function(t){t.N&amp;&amp;(t.N.P=t.P),t.P&amp;&amp;(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?Cr(o):a:o,i?i.L===t?i.L=r:i.R=r:this._=r,a&amp;&amp;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&amp;&amp;(t.U=i),!n)if(t&amp;&amp;t.C)t.C=!1;else{do{if(t===this._)break;if(t===i.L){if((e=i.R).C&amp;&amp;(e.C=!1,i.C=!0,Er(this,i),e=i.R),e.L&amp;&amp;e.L.C||e.R&amp;&amp;e.R.C){e.R&amp;&amp;e.R.C||(e.L.C=!1,e.C=!0,Lr(this,e),e=i.R),e.C=i.C,i.C=e.R.C=!1,Er(this,i),t=this._;break}}else if((e=i.L).C&amp;&amp;(e.C=!1,i.C=!0,Lr(this,i),e=i.L),e.L&amp;&amp;e.L.C||e.R&amp;&amp;e.R.C){e.L&amp;&amp;e.L.C||(e.R.C=!1,e.C=!0,Er(this,e),e=i.L),e.C=i.C,i.C=e.L.C=!1,Lr(this,i),t=this._;break}e.C=!0,t=i,i=i.U}while(!t.C);t&amp;&amp;(t.C=!1)}}},Zi.geom.voronoi=function(t){function e(t){var e=new Array(t.length),n=s[0][0],i=s[0][1],a=s[1][0],o=s[1][1];return zr(r(t),s).cells.forEach(function(r,s){var l=r.edges,c=r.site;(e[s]=l.length?l.map(function(t){var e=t.start();return[e.x,e.y]}):c.x&gt;=n&amp;&amp;c.x&lt;=a&amp;&amp;c.y&gt;=i&amp;&amp;c.y&lt;=o?[[n,o],[a,o],[a,i],[n,i]]:[]).point=t[s]}),e}function r(t){return t.map(function(t,e){return{x:Math.round(a(t,e)/wa)*wa,y:Math.round(o(t,e)/wa)*wa,i:e}})}var n=ar,i=or,a=n,o=i,s=Zo;return t?e(t):(e.links=function(t){return zr(r(t)).edges.filter(function(t){return t.l&amp;&amp;t.r}).map(function(e){return{source:t[e.l.i],target:t[e.r.i]}})},e.triangles=function(t){var e=[];return zr(r(t)).cells.forEach(function(r,n){for(var i,a=r.site,o=r.edges.sort(xr),s=-1,l=o.length,c=o[l-1].edge,u=c.l===a?c.r:c.l;++s&lt;l;)c,i=u,u=(c=o[s].edge).l===a?c.r:c.l,n&lt;i.i&amp;&amp;n&lt;u.i&amp;&amp;function(t,e,r){return(t.x-r.x)*(e.y-t.y)-(t.x-e.x)*(r.y-t.y)}(a,i,u)&lt;0&amp;&amp;e.push([t[n],t[i.i],t[u.i]])}),e},e.x=function(t){return arguments.length?(a=_t(n=t),e):n},e.y=function(t){return arguments.length?(o=_t(i=t),e):i},e.clipExtent=function(t){return arguments.length?(s=null==t?Zo:t,e):s===Zo?null:s},e.size=function(t){return arguments.length?e.clipExtent(t&amp;&amp;[[0,0],t]):s===Zo?null:s&amp;&amp;s[1]},e)};var Zo=[[-1e6,-1e6],[1e6,1e6]];Zi.geom.delaunay=function(t){return Zi.geom.voronoi().triangles(t)},Zi.geom.quadtree=function(t,e,r,n,i){function a(t){function a(t,e,r,n,i,a,o,s){if(!isNaN(r)&amp;&amp;!isNaN(n))if(t.leaf){var l=t.x,u=t.y;if(null!=l)if(aa(l-r)+aa(u-n)&lt;.01)c(t,e,r,n,i,a,o,s);else{var f=t.point;t.x=t.y=t.point=null,c(t,f,l,u,i,a,o,s),c(t,e,r,n,i,a,o,s)}else t.x=r,t.y=n,t.point=e}else c(t,e,r,n,i,a,o,s)}function c(t,e,r,n,i,o,s,l){var c=.5*(i+s),u=.5*(o+l),f=r&gt;=c,h=n&gt;=u,d=h&lt;&lt;1|f;t.leaf=!1,t=t.nodes[d]||(t.nodes[d]={leaf:!0,nodes:[],point:null,x:null,y:null}),f?i=c:s=c,h?o=u:l=u,a(t,e,r,n,i,o,s,l)}var u,f,h,d,p,m,g,v,y,x=_t(s),b=_t(l);if(null!=e)m=e,g=r,v=n,y=i;else if(v=y=-(m=g=1/0),f=[],h=[],p=t.length,o)for(d=0;d&lt;p;++d)(u=t[d]).x&lt;m&amp;&amp;(m=u.x),u.y&lt;g&amp;&amp;(g=u.y),u.x&gt;v&amp;&amp;(v=u.x),u.y&gt;y&amp;&amp;(y=u.y),f.push(u.x),h.push(u.y);else for(d=0;d&lt;p;++d){var _=+x(u=t[d],d),w=+b(u,d);_&lt;m&amp;&amp;(m=_),w&lt;g&amp;&amp;(g=w),_&gt;v&amp;&amp;(v=_),w&gt;y&amp;&amp;(y=w),f.push(_),h.push(w)}var M=v-m,k=y-g;M&gt;k?y=g+M:v=m+k;var A={leaf:!0,nodes:[],point:null,x:null,y:null};if(A.add=function(t){a(A,t,+x(t,++d),+b(t,d),m,g,v,y)},A.visit=function(t){Or(t,A,m,g,v,y)},A.find=function(t){return function(t,e,r,n,i,a,o){var s,l=1/0;return function t(c,u,f,h,d){if(!(u&gt;a||f&gt;o||h&lt;n||d&lt;i)){if(p=c.point){var p,m=e-c.x,g=r-c.y,v=m*m+g*g;if(v&lt;l){var y=Math.sqrt(l=v);n=e-y,i=r-y,a=e+y,o=r+y,s=p}}for(var x=c.nodes,b=.5*(u+h),_=.5*(f+d),w=(r&gt;=_)&lt;&lt;1|e&gt;=b,M=w+4;w&lt;M;++w)if(c=x[3&amp;w])switch(3&amp;w){case 0:t(c,u,f,b,_);break;case 1:t(c,b,f,h,_);break;case 2:t(c,u,_,b,d);break;case 3:t(c,b,_,h,d)}}}(t,n,i,a,o),s}(A,t[0],t[1],m,g,v,y)},d=-1,null==e){for(;++d&lt;p;)a(A,t[d],f[d],h[d],m,g,v,y);--d}else t.forEach(A.add);return f=h=t=u=null,A}var o,s=ar,l=or;return(o=arguments.length)?(s=Ir,l=Pr,3===o&amp;&amp;(i=r,n=e,r=e=0),a(t)):(a.x=function(t){return arguments.length?(s=t,a):s},a.y=function(t){return arguments.length?(l=t,a):l},a.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]),a):null==e?null:[[e,r],[n,i]]},a.size=function(t){return arguments.length?(null==t?e=r=n=i=null:(e=r=0,n=+t[0],i=+t[1]),a):null==e?null:[n-e,i-r]},a)},Zi.interpolateRgb=Fr,Zi.interpolateObject=Rr,Zi.interpolateNumber=Nr,Zi.interpolateString=jr;var Jo=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,Ko=new RegExp(Jo.source,&quot;g&quot;);Zi.interpolate=Br,Zi.interpolators=[function(t,e){var r=typeof e;return(&quot;string&quot;===r?Va.has(e.toLowerCase())||/^(#|rgb\(|hsl\()/i.test(e)?Fr:jr:e instanceof et?Fr:Array.isArray(e)?Ur:&quot;object&quot;===r&amp;&amp;isNaN(e)?Rr:Nr)(t,e)}],Zi.interpolateArray=Ur;var Qo=function(){return y},$o=Zi.map({linear:Qo,poly:function(t){return function(e){return Math.pow(e,t)}},quad:function(){return Hr},cubic:function(){return Gr},sin:function(){return Yr},exp:function(){return Wr},circle:function(){return Xr},elastic:function(t,e){var r;return arguments.length&lt;2&amp;&amp;(e=.45),arguments.length?r=e/Aa*Math.asin(1/t):(t=1,r=e/4),function(n){return 1+t*Math.pow(2,-10*n)*Math.sin((n-r)*Aa/e)}},back:function(t){return t||(t=1.70158),function(e){return e*e*((t+1)*e-t)}},bounce:function(){return Zr}}),ts=Zi.map({in:y,out:Vr,&quot;in-out&quot;:qr,&quot;out-in&quot;:function(t){return qr(Vr(t))}});Zi.ease=function(t){var e=t.indexOf(&quot;-&quot;),r=e&gt;=0?t.slice(0,e):t,n=e&gt;=0?t.slice(e+1):&quot;in&quot;;return r=$o.get(r)||Qo,n=ts.get(n)||y,function(t){return function(e){return e&lt;=0?0:e&gt;=1?1:t(e)}}(n(r.apply(null,Ji.call(arguments,1))))},Zi.interpolateHcl=function(t,e){t=Zi.hcl(t),e=Zi.hcl(e);var r=t.h,n=t.c,i=t.l,a=e.h-r,o=e.c-n,s=e.l-i;return isNaN(o)&amp;&amp;(o=0,n=isNaN(n)?e.c:n),isNaN(a)?(a=0,r=isNaN(r)?e.h:r):a&gt;180?a-=360:a&lt;-180&amp;&amp;(a+=360),function(t){return at(r+a*t,n+o*t,i+s*t)+&quot;&quot;}},Zi.interpolateHsl=function(t,e){t=Zi.hsl(t),e=Zi.hsl(e);var r=t.h,n=t.s,i=t.l,a=e.h-r,o=e.s-n,s=e.l-i;return isNaN(o)&amp;&amp;(o=0,n=isNaN(n)?e.s:n),isNaN(a)?(a=0,r=isNaN(r)?e.h:r):a&gt;180?a-=360:a&lt;-180&amp;&amp;(a+=360),function(t){return nt(r+a*t,n+o*t,i+s*t)+&quot;&quot;}},Zi.interpolateLab=function(t,e){t=Zi.lab(t),e=Zi.lab(e);var r=t.l,n=t.a,i=t.b,a=e.l-r,o=e.a-n,s=e.b-i;return function(t){return st(r+a*t,n+o*t,i+s*t)+&quot;&quot;}},Zi.interpolateRound=Jr,Zi.transform=function(t){var e=Qi.createElementNS(Zi.ns.prefix.svg,&quot;g&quot;);return(Zi.transform=function(t){if(null!=t){e.setAttribute(&quot;transform&quot;,t);var r=e.transform.baseVal.consolidate()}return new Kr(r?r.matrix:es)})(t)},Kr.prototype.toString=function(){return&quot;translate(&quot;+this.translate+&quot;)rotate(&quot;+this.rotate+&quot;)skewX(&quot;+this.skew+&quot;)scale(&quot;+this.scale+&quot;)&quot;};var es={a:1,b:0,c:0,d:1,e:0,f:0};Zi.interpolateTransform=en,Zi.layout={},Zi.layout.bundle=function(){return function(t){for(var e=[],r=-1,n=t.length;++r&lt;n;)e.push(rn(t[r]));return e}},Zi.layout.chord=function(){function t(){var t,c,f,h,d,p={},m=[],g=Zi.range(a),v=[];for(r=[],n=[],t=0,h=-1;++h&lt;a;){for(c=0,d=-1;++d&lt;a;)c+=i[h][d];m.push(c),v.push(Zi.range(a)),t+=c}for(o&amp;&amp;g.sort(function(t,e){return o(m[t],m[e])}),s&amp;&amp;v.forEach(function(t,e){t.sort(function(t,r){return s(i[e][t],i[e][r])})}),t=(Aa-u*a)/t,c=0,h=-1;++h&lt;a;){for(f=c,d=-1;++d&lt;a;){var y=g[h],x=v[y][d],b=i[y][x],_=c,w=c+=b*t;p[y+&quot;-&quot;+x]={index:y,subindex:x,startAngle:_,endAngle:w,value:b}}n[y]={index:y,startAngle:f,endAngle:c,value:m[y]},c+=u}for(h=-1;++h&lt;a;)for(d=h-1;++d&lt;a;){var M=p[h+&quot;-&quot;+d],k=p[d+&quot;-&quot;+h];(M.value||k.value)&amp;&amp;r.push(M.value&lt;k.value?{source:k,target:M}:{source:M,target:k})}l&amp;&amp;e()}function e(){r.sort(function(t,e){return l((t.source.value+t.target.value)/2,(e.source.value+e.target.value)/2)})}var r,n,i,a,o,s,l,c={},u=0;return c.matrix=function(t){return arguments.length?(a=(i=t)&amp;&amp;i.length,r=n=null,c):i},c.padding=function(t){return arguments.length?(u=t,r=n=null,c):u},c.sortGroups=function(t){return arguments.length?(o=t,r=n=null,c):o},c.sortSubgroups=function(t){return arguments.length?(s=t,r=null,c):s},c.sortChords=function(t){return arguments.length?(l=t,r&amp;&amp;e(),c):l},c.chords=function(){return r||t(),r},c.groups=function(){return n||t(),n},c},Zi.layout.force=function(){function t(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/v&lt;l){if(l&lt;m){var c=e.charge/l;t.px-=a*c,t.py-=o*c}return!0}if(e.point&amp;&amp;l&amp;&amp;l&lt;m){c=e.pointCharge/l;t.px-=a*c,t.py-=o*c}}return!e.charge}}function e(t){t.px=Zi.event.x,t.py=Zi.event.y,l.resume()}var r,n,i,a,o,s,l={},c=Zi.dispatch(&quot;start&quot;,&quot;tick&quot;,&quot;end&quot;),u=[1,1],f=.9,h=rs,d=ns,p=-30,m=is,g=.1,v=.64,x=[],b=[];return l.tick=function(){if((i*=.99)&lt;.005)return r=null,c.end({type:&quot;end&quot;,alpha:i=0}),!0;var e,n,l,h,d,m,v,y,_,w=x.length,M=b.length;for(n=0;n&lt;M;++n)h=(l=b[n]).source,(m=(y=(d=l.target).x-h.x)*y+(_=d.y-h.y)*_)&amp;&amp;(y*=m=i*o[n]*((m=Math.sqrt(m))-a[n])/m,_*=m,d.x-=y*(v=h.weight+d.weight?h.weight/(h.weight+d.weight):.5),d.y-=_*v,h.x+=y*(v=1-v),h.y+=_*v);if((v=i*g)&amp;&amp;(y=u[0]/2,_=u[1]/2,n=-1,v))for(;++n&lt;w;)(l=x[n]).x+=(y-l.x)*v,l.y+=(_-l.y)*v;if(p)for(cn(e=Zi.geom.quadtree(x),i,s),n=-1;++n&lt;w;)(l=x[n]).fixed||e.visit(t(l));for(n=-1;++n&lt;w;)(l=x[n]).fixed?(l.x=l.px,l.y=l.py):(l.x-=(l.px-(l.px=l.x))*f,l.y-=(l.py-(l.py=l.y))*f);c.tick({type:&quot;tick&quot;,alpha:i})},l.nodes=function(t){return arguments.length?(x=t,l):x},l.links=function(t){return arguments.length?(b=t,l):b},l.size=function(t){return arguments.length?(u=t,l):u},l.linkDistance=function(t){return arguments.length?(h=&quot;function&quot;==typeof t?t:+t,l):h},l.distance=l.linkDistance,l.linkStrength=function(t){return arguments.length?(d=&quot;function&quot;==typeof t?t:+t,l):d},l.friction=function(t){return arguments.length?(f=+t,l):f},l.charge=function(t){return arguments.length?(p=&quot;function&quot;==typeof t?t:+t,l):p},l.chargeDistance=function(t){return arguments.length?(m=t*t,l):Math.sqrt(m)},l.gravity=function(t){return arguments.length?(g=+t,l):g},l.theta=function(t){return arguments.length?(v=t*t,l):Math.sqrt(v)},l.alpha=function(t){return arguments.length?(t=+t,i?t&gt;0?i=t:(r.c=null,r.t=NaN,r=null,c.end({type:&quot;end&quot;,alpha:i=0})):t&gt;0&amp;&amp;(c.start({type:&quot;start&quot;,alpha:i=t}),r=kt(l.tick)),l):i},l.start=function(){function t(t,n){if(!r){for(r=new Array(i),l=0;l&lt;i;++l)r[l]=[];for(l=0;l&lt;c;++l){var a=b[l];r[a.source.index].push(a.target),r[a.target.index].push(a.source)}}for(var o,s=r[e],l=-1,u=s.length;++l&lt;u;)if(!isNaN(o=s[l][t]))return o;return Math.random()*n}var e,r,n,i=x.length,c=b.length,f=u[0],m=u[1];for(e=0;e&lt;i;++e)(n=x[e]).index=e,n.weight=0;for(e=0;e&lt;c;++e)&quot;number&quot;==typeof(n=b[e]).source&amp;&amp;(n.source=x[n.source]),&quot;number&quot;==typeof n.target&amp;&amp;(n.target=x[n.target]),++n.source.weight,++n.target.weight;for(e=0;e&lt;i;++e)n=x[e],isNaN(n.x)&amp;&amp;(n.x=t(&quot;x&quot;,f)),isNaN(n.y)&amp;&amp;(n.y=t(&quot;y&quot;,m)),isNaN(n.px)&amp;&amp;(n.px=n.x),isNaN(n.py)&amp;&amp;(n.py=n.y);if(a=[],&quot;function&quot;==typeof h)for(e=0;e&lt;c;++e)a[e]=+h.call(this,b[e],e);else for(e=0;e&lt;c;++e)a[e]=h;if(o=[],&quot;function&quot;==typeof d)for(e=0;e&lt;c;++e)o[e]=+d.call(this,b[e],e);else for(e=0;e&lt;c;++e)o[e]=d;if(s=[],&quot;function&quot;==typeof p)for(e=0;e&lt;i;++e)s[e]=+p.call(this,x[e],e);else for(e=0;e&lt;i;++e)s[e]=p;return l.resume()},l.resume=function(){return l.alpha(.1)},l.stop=function(){return l.alpha(0)},l.drag=function(){if(n||(n=Zi.behavior.drag().origin(y).on(&quot;dragstart.force&quot;,an).on(&quot;drag.force&quot;,e).on(&quot;dragend.force&quot;,on)),!arguments.length)return n;this.on(&quot;mouseover.force&quot;,sn).on(&quot;mouseout.force&quot;,ln).call(n)},Zi.rebind(l,c,&quot;on&quot;)};var rs=20,ns=1,is=1/0;Zi.layout.hierarchy=function(){function t(i){var a,o=[i],s=[];for(i.depth=0;null!=(a=o.pop());)if(s.push(a),(c=r.call(t,a,a.depth))&amp;&amp;(l=c.length)){for(var l,c,u;--l&gt;=0;)o.push(u=c[l]),u.parent=a,u.depth=a.depth+1;n&amp;&amp;(a.value=0),a.children=c}else n&amp;&amp;(a.value=+n.call(t,a,a.depth)||0),delete a.children;return hn(i,function(t){var r,i;e&amp;&amp;(r=t.children)&amp;&amp;r.sort(e),n&amp;&amp;(i=t.parent)&amp;&amp;(i.value+=t.value)}),s}var e=mn,r=dn,n=pn;return t.sort=function(r){return arguments.length?(e=r,t):e},t.children=function(e){return arguments.length?(r=e,t):r},t.value=function(e){return arguments.length?(n=e,t):n},t.revalue=function(e){return n&amp;&amp;(fn(e,function(t){t.children&amp;&amp;(t.value=0)}),hn(e,function(e){var r;e.children||(e.value=+n.call(t,e,e.depth)||0),(r=e.parent)&amp;&amp;(r.value+=e.value)})),e},t},Zi.layout.partition=function(){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&amp;&amp;(o=a.length)){var o,s,l,c=-1;for(n=e.value?n/e.value:0;++c&lt;o;)t(s=a[c],r,l=s.value*n,i),r+=l}}function e(t){var r=t.children,n=0;if(r&amp;&amp;(i=r.length))for(var i,a=-1;++a&lt;i;)n=Math.max(n,e(r[a]));return 1+n}function r(r,a){var o=n.call(this,r,a);return t(o[0],0,i[0],i[1]/e(o[0])),o}var n=Zi.layout.hierarchy(),i=[1,1];return r.size=function(t){return arguments.length?(i=t,r):i},un(r,n)},Zi.layout.pie=function(){function t(o){var s,l=o.length,c=o.map(function(r,n){return+e.call(t,r,n)}),u=+(&quot;function&quot;==typeof n?n.apply(this,arguments):n),f=(&quot;function&quot;==typeof i?i.apply(this,arguments):i)-u,h=Math.min(Math.abs(f)/l,+(&quot;function&quot;==typeof a?a.apply(this,arguments):a)),d=h*(f&lt;0?-1:1),p=Zi.sum(c),m=p?(f-l*d)/p:0,g=Zi.range(l),v=[];return null!=r&amp;&amp;g.sort(r===as?function(t,e){return c[e]-c[t]}:function(t,e){return r(o[t],o[e])}),g.forEach(function(t){v[t]={data:o[t],value:s=c[t],startAngle:u,endAngle:u+=s*m+d,padAngle:h}}),v}var e=Number,r=as,n=0,i=Aa,a=0;return t.value=function(r){return arguments.length?(e=r,t):e},t.sort=function(e){return arguments.length?(r=e,t):r},t.startAngle=function(e){return arguments.length?(n=e,t):n},t.endAngle=function(e){return arguments.length?(i=e,t):i},t.padAngle=function(e){return arguments.length?(a=e,t):a},t};var as={};Zi.layout.stack=function(){function t(s,l){if(!(h=s.length))return s;var c=s.map(function(r,n){return e.call(t,r,n)}),u=c.map(function(e){return e.map(function(e,r){return[a.call(t,e,r),o.call(t,e,r)]})}),f=r.call(t,u,l);c=Zi.permute(c,f),u=Zi.permute(u,f);var h,d,p,m,g=n.call(t,u,l),v=c[0].length;for(p=0;p&lt;v;++p)for(i.call(t,c[0][p],m=g[p],u[0][p][1]),d=1;d&lt;h;++d)i.call(t,c[d][p],m+=u[d-1][p][1],u[d][p][1]);return s}var e=y,r=bn,n=_n,i=xn,a=vn,o=yn;return t.values=function(r){return arguments.length?(e=r,t):e},t.order=function(e){return arguments.length?(r=&quot;function&quot;==typeof e?e:os.get(e)||bn,t):r},t.offset=function(e){return arguments.length?(n=&quot;function&quot;==typeof e?e:ss.get(e)||_n,t):n},t.x=function(e){return arguments.length?(a=e,t):a},t.y=function(e){return arguments.length?(o=e,t):o},t.out=function(e){return arguments.length?(i=e,t):i},t};var os=Zi.map({&quot;inside-out&quot;:function(t){var e,r,n=t.length,i=t.map(wn),a=t.map(Mn),o=Zi.range(n).sort(function(t,e){return i[t]-i[e]}),s=0,l=0,c=[],u=[];for(e=0;e&lt;n;++e)r=o[e],s&lt;l?(s+=a[r],c.push(r)):(l+=a[r],u.push(r));return u.reverse().concat(c)},reverse:function(t){return Zi.range(t.length).reverse()},default:bn}),ss=Zi.map({silhouette:function(t){var e,r,n,i=t.length,a=t[0].length,o=[],s=0,l=[];for(r=0;r&lt;a;++r){for(e=0,n=0;e&lt;i;e++)n+=t[e][r][1];n&gt;s&amp;&amp;(s=n),o.push(n)}for(r=0;r&lt;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,d=[];for(d[0]=l=c=0,r=1;r&lt;h;++r){for(e=0,i=0;e&lt;u;++e)i+=t[e][r][1];for(e=0,a=0,s=f[r][0]-f[r-1][0];e&lt;u;++e){for(n=0,o=(t[e][r][1]-t[e][r-1][1])/(2*s);n&lt;e;++n)o+=(t[n][r][1]-t[n][r-1][1])/s;a+=o*t[e][r][1]}d[r]=l-=i?a/i*s:0,l&lt;c&amp;&amp;(c=l)}for(r=0;r&lt;h;++r)d[r]-=c;return d},expand:function(t){var e,r,n,i=t.length,a=t[0].length,o=1/i,s=[];for(r=0;r&lt;a;++r){for(e=0,n=0;e&lt;i;e++)n+=t[e][r][1];if(n)for(e=0;e&lt;i;e++)t[e][r][1]/=n;else for(e=0;e&lt;i;e++)t[e][r][1]=o}for(r=0;r&lt;a;++r)s[r]=0;return s},zero:_n});Zi.layout.histogram=function(){function t(t,a){for(var o,s,l=[],c=t.map(r,this),u=n.call(this,c,a),f=i.call(this,u,c,a),h=(a=-1,c.length),d=f.length-1,p=e?1:1/h;++a&lt;d;)(o=l[a]=[]).dx=f[a+1]-(o.x=f[a]),o.y=0;if(d&gt;0)for(a=-1;++a&lt;h;)(s=c[a])&gt;=u[0]&amp;&amp;s&lt;=u[1]&amp;&amp;((o=l[Zi.bisect(f,s,1,d)-1]).y+=p,o.push(t[a]));return l}var e=!0,r=Number,n=Sn,i=An;return t.value=function(e){return arguments.length?(r=e,t):r},t.range=function(e){return arguments.length?(n=_t(e),t):n},t.bins=function(e){return arguments.length?(i=&quot;number&quot;==typeof e?function(t){return Tn(t,e)}:_t(e),t):i},t.frequency=function(r){return arguments.length?(e=!!r,t):e},t},Zi.layout.pack=function(){function t(t,a){var o=r.call(this,t,a),s=o[0],l=i[0],c=i[1],u=null==e?Math.sqrt:&quot;function&quot;==typeof e?e:function(){return e};if(s.x=s.y=0,hn(s,function(t){t.r=+u(t.value)}),hn(s,Dn),n){var f=n*(e?1:Math.max(2*s.r/l,2*s.r/c))/2;hn(s,function(t){t.r+=f}),hn(s,Dn),hn(s,function(t){t.r-=f})}return On(s,l/2,c/2,e?1:1/Math.max(2*s.r/l,2*s.r/c)),o}var e,r=Zi.layout.hierarchy().sort(En),n=0,i=[1,1];return t.size=function(e){return arguments.length?(i=e,t):i},t.radius=function(r){return arguments.length?(e=null==r||&quot;function&quot;==typeof r?r:+r,t):e},t.padding=function(e){return arguments.length?(n=+e,t):n},un(t,r)},Zi.layout.tree=function(){function t(t,l){var c=i.call(this,t,l),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&lt;s;++o)n.push((a[o]=i={_:a[o],parent:e,children:(i=a[o].children)&amp;&amp;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(hn(f,e),f.parent.m=-f.z,fn(f,r),s)fn(u,n);else{var h=u,d=u,p=u;fn(u,function(t){t.x&lt;h.x&amp;&amp;(h=t),t.x&gt;d.x&amp;&amp;(d=t),t.depth&gt;p.depth&amp;&amp;(p=t)});var m=a(h,d)/2-h.x,g=o[0]/(d.x+a(d,h)/2+m),v=o[1]/(p.depth||1);fn(u,function(t){t.x=(t.x+m)*g,t.y=t.depth*v})}return c}function e(t){var e=t.children,r=t.parent.children,n=t.i?r[t.i-1]:null;if(e.length){!function(t){for(var e,r=0,n=0,i=t.children,a=i.length;--a&gt;=0;)(e=i[a]).z+=r,e.m+=r,r+=e.s+(n+=e.c)}(t);var i=(e[0].z+e[e.length-1].z)/2;n?(t.z=n.z+a(t._,n._),t.m=t.z-i):t.z=i}else n&amp;&amp;(t.z=n.z+a(t._,n._));t.parent.A=function(t,e,r){if(e){for(var n,i=t,o=t,s=e,l=i.parent.children[0],c=i.m,u=o.m,f=s.m,h=l.m;s=jn(s),i=Nn(i),s&amp;&amp;i;)l=Nn(l),(o=jn(o)).a=t,(n=s.z+f-i.z-c+a(s._,i._))&gt;0&amp;&amp;(!function(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(t,e,r){return t.a.parent===e.parent?t.a:r}(s,t,r),t,n),c+=n,u+=n),f+=s.m,c+=i.m,h+=l.m,u+=o.m;s&amp;&amp;!jn(o)&amp;&amp;(o.t=s,o.m+=f-u),i&amp;&amp;!Nn(l)&amp;&amp;(l.t=i,l.m+=c-h,r=t)}return r}(t,n,t.parent.A||r[0])}function r(t){t._.x=t.z+t.parent.m,t.m+=t.parent.m}function n(t){t.x*=o[0],t.y=t.depth*o[1]}var i=Zi.layout.hierarchy().sort(null).value(null),a=Rn,o=[1,1],s=null;return t.separation=function(e){return arguments.length?(a=e,t):a},t.size=function(e){return arguments.length?(s=null==(o=e)?n:null,t):s?null:o},t.nodeSize=function(e){return arguments.length?(s=null==(o=e)?null:n,t):s?o:null},un(t,i)},Zi.layout.cluster=function(){function t(t,a){var o,s=e.call(this,t,a),l=s[0],c=0;hn(l,function(t){var e=t.children;e&amp;&amp;e.length?(t.x=function(t){return t.reduce(function(t,e){return t+e.x},0)/t.length}(e),t.y=function(t){return 1+Zi.max(t,function(t){return t.y})}(e)):(t.x=o?c+=r(t,o):0,t.y=0,o=t)});var u=Bn(l),f=Un(l),h=u.x-r(u,f)/2,d=f.x+r(f,u)/2;return hn(l,i?function(t){t.x=(t.x-l.x)*n[0],t.y=(l.y-t.y)*n[1]}:function(t){t.x=(t.x-h)/(d-h)*n[0],t.y=(1-(l.y?t.y/l.y:1))*n[1]}),s}var e=Zi.layout.hierarchy().sort(null).value(null),r=Rn,n=[1,1],i=!1;return t.separation=function(e){return arguments.length?(r=e,t):r},t.size=function(e){return arguments.length?(i=null==(n=e),t):i?null:n},t.nodeSize=function(e){return arguments.length?(i=null!=(n=e),t):i?n:null},un(t,e)},Zi.layout.treemap=function(){function t(t,e){for(var r,n,i=-1,a=t.length;++i&lt;a;)n=(r=t[i]).value*(e&lt;0?0:e),r.area=isNaN(n)||n&lt;=0?0:n}function e(r){var i=r.children;if(i&amp;&amp;i.length){var a,o,s,l=u(r),c=[],f=i.slice(),p=1/0,m=&quot;slice&quot;===h?l.dx:&quot;dice&quot;===h?l.dy:&quot;slice-dice&quot;===h?1&amp;r.depth?l.dy:l.dx:Math.min(l.dx,l.dy);for(t(f,l.dx*l.dy/r.value),c.area=0;(s=f.length)&gt;0;)c.push(a=f[s-1]),c.area+=a.area,&quot;squarify&quot;!==h||(o=function(t,e){var r,n=t.area,i=0,a=1/0,o=-1,s=t.length;for(;++o&lt;s;)(r=t[o].area)&amp;&amp;(r&lt;a&amp;&amp;(a=r),r&gt;i&amp;&amp;(i=r));return n*=n,e*=e,n?Math.max(e*i*d/n,n/(e*a*d)):1/0}(c,m))&lt;=p?(f.pop(),p=o):(c.area-=c.pop().area,n(c,m,l,!1),m=Math.min(l.dx,l.dy),c.length=c.area=0,p=1/0);c.length&amp;&amp;(n(c,m,l,!0),c.length=c.area=0),i.forEach(e)}}function r(e){var i=e.children;if(i&amp;&amp;i.length){var a,o=u(e),s=i.slice(),l=[];for(t(s,o.dx*o.dy/e.value),l.area=0;a=s.pop();)l.push(a),l.area+=a.area,null!=a.z&amp;&amp;(n(l,a.z?o.dx:o.dy,o,!s.length),l.length=l.area=0);i.forEach(r)}}function n(t,e,r,n){var i,a=-1,o=t.length,l=r.x,c=r.y,u=e?s(t.area/e):0;if(e==r.dx){for((n||u&gt;r.dy)&amp;&amp;(u=r.dy);++a&lt;o;)(i=t[a]).x=l,i.y=c,i.dy=u,l+=i.dx=Math.min(r.x+r.dx-l,u?s(i.area/u):0);i.z=!0,i.dx+=r.x+r.dx-l,r.y+=u,r.dy-=u}else{for((n||u&gt;r.dx)&amp;&amp;(u=r.dx);++a&lt;o;)(i=t[a]).x=l,i.y=c,i.dx=u,c+=i.dy=Math.min(r.y+r.dy-c,u?s(i.area/u):0);i.z=!1,i.dy+=r.y+r.dy-c,r.x+=u,r.dx-=u}}function i(n){var i=a||o(n),s=i[0];return s.x=s.y=0,s.value?(s.dx=l[0],s.dy=l[1]):s.dx=s.dy=0,a&amp;&amp;o.revalue(s),t([s],s.dx*s.dy/s.value),(a?r:e)(s),f&amp;&amp;(a=i),i}var a,o=Zi.layout.hierarchy(),s=Math.round,l=[1,1],c=null,u=Vn,f=!1,h=&quot;squarify&quot;,d=.5*(1+Math.sqrt(5));return i.size=function(t){return arguments.length?(l=t,i):l},i.padding=function(t){function e(e){return qn(e,t)}if(!arguments.length)return c;var r;return u=null==(c=t)?Vn:&quot;function&quot;==(r=typeof t)?function(e){var r=t.call(i,e,e.depth);return null==r?Vn(e):qn(e,&quot;number&quot;==typeof r?[r,r,r,r]:r)}:&quot;number&quot;===r?(t=[t,t,t,t],e):e,i},i.round=function(t){return arguments.length?(s=t?Math.round:Number,i):s!=Number},i.sticky=function(t){return arguments.length?(f=t,a=null,i):f},i.ratio=function(t){return arguments.length?(d=t,i):d},i.mode=function(t){return arguments.length?(h=t+&quot;&quot;,i):h},un(i,o)},Zi.random={normal:function(t,e){var r=arguments.length;return r&lt;2&amp;&amp;(e=1),r&lt;1&amp;&amp;(t=0),function(){var r,n,i;do{i=(r=2*Math.random()-1)*r+(n=2*Math.random()-1)*n}while(!i||i&gt;1);return t+e*r*Math.sqrt(-2*Math.log(i)/i)}},logNormal:function(){var t=Zi.random.normal.apply(Zi,arguments);return function(){return Math.exp(t())}},bates:function(t){var e=Zi.random.irwinHall(t);return function(){return e()/t}},irwinHall:function(t){return function(){for(var e=0,r=0;r&lt;t;r++)e+=Math.random();return e}}},Zi.scale={};var ls={floor:y,ceil:y};Zi.scale.linear=function(){return Xn([0,1],[0,1],Br,!1)};var cs={s:1,g:1,p:1,r:1,e:1};Zi.scale.log=function(){return ei(Zi.scale.linear().domain([0,1]),10,!0,[1,10])};var us=Zi.format(&quot;.0e&quot;),fs={floor:function(t){return-Math.ceil(-t)},ceil:function(t){return-Math.floor(-t)}};Zi.scale.pow=function(){return ri(Zi.scale.linear(),1,[0,1])},Zi.scale.sqrt=function(){return Zi.scale.pow().exponent(.5)},Zi.scale.ordinal=function(){return ii([],{t:&quot;range&quot;,a:[[]]})},Zi.scale.category10=function(){return Zi.scale.ordinal().range(hs)},Zi.scale.category20=function(){return Zi.scale.ordinal().range(ds)},Zi.scale.category20b=function(){return Zi.scale.ordinal().range(ps)},Zi.scale.category20c=function(){return Zi.scale.ordinal().range(ms)};var hs=[2062260,16744206,2924588,14034728,9725885,9197131,14907330,8355711,12369186,1556175].map(pt),ds=[2062260,11454440,16744206,16759672,2924588,10018698,14034728,16750742,9725885,12955861,9197131,12885140,14907330,16234194,8355711,13092807,12369186,14408589,1556175,10410725].map(pt),ps=[3750777,5395619,7040719,10264286,6519097,9216594,11915115,13556636,9202993,12426809,15186514,15190932,8666169,11356490,14049643,15177372,8077683,10834324,13528509,14589654].map(pt),ms=[3244733,7057110,10406625,13032431,15095053,16616764,16625259,16634018,3253076,7652470,10607003,13101504,7695281,10394312,12369372,14342891,6513507,9868950,12434877,14277081].map(pt);Zi.scale.quantile=function(){return ai([],[])},Zi.scale.quantize=function(){return oi(0,1,[0,1])},Zi.scale.threshold=function(){return si([.5],[0,1])},Zi.scale.identity=function(){return li([0,1])},Zi.svg={},Zi.svg.arc=function(){function t(){var t=Math.max(0,+r.apply(this,arguments)),c=Math.max(0,+n.apply(this,arguments)),u=o.apply(this,arguments)-Sa,f=s.apply(this,arguments)-Sa,h=Math.abs(f-u),d=u&gt;f?0:1;if(c&lt;t&amp;&amp;(p=c,c=t,t=p),h&gt;=Ta)return e(c,d)+(t?e(t,1-d):&quot;&quot;)+&quot;Z&quot;;var p,m,g,v,y,x,b,_,w,M,k,A,T=0,S=0,E=[];if((v=(+l.apply(this,arguments)||0)/2)&amp;&amp;(g=a===gs?Math.sqrt(t*t+c*c):+a.apply(this,arguments),d||(S*=-1),c&amp;&amp;(S=Q(g/c*Math.sin(v))),t&amp;&amp;(T=Q(g/t*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)&lt;=ka?0:1;if(S&amp;&amp;mi(y,x,b,_)===d^L){var C=(u+f)/2;y=c*Math.cos(C),x=c*Math.sin(C),b=_=null}}else y=x=0;if(t){w=t*Math.cos(f-T),M=t*Math.sin(f-T),k=t*Math.cos(u+T),A=t*Math.sin(u+T);var z=Math.abs(u-f+2*T)&lt;=ka?0:1;if(T&amp;&amp;mi(w,M,k,A)===1-d^z){var D=(u+f)/2;w=t*Math.cos(D),M=t*Math.sin(D),k=A=null}}else w=M=0;if(h&gt;wa&amp;&amp;(p=Math.min(Math.abs(c-t)/2,+i.apply(this,arguments)))&gt;.001){m=t&lt;c^d?0:1;var I=p,P=p;if(h&lt;ka){var O=null==k?[w,M]:null==b?[y,x]:ur([y,x],[k,A],[b,_],[w,M]),F=y-O[0],R=x-O[1],N=b-O[0],j=_-O[1],B=1/Math.sin(Math.acos((F*N+R*j)/(Math.sqrt(F*F+R*R)*Math.sqrt(N*N+j*j)))/2),U=Math.sqrt(O[0]*O[0]+O[1]*O[1]);P=Math.min(p,(t-U)/(B-1)),I=Math.min(p,(c-U)/(B+1))}if(null!=b){var V=gi(null==k?[w,M]:[k,A],[y,x],c,I,d),q=gi([b,_],[w,M],c,I,d);p===I?E.push(&quot;M&quot;,V[0],&quot;A&quot;,I,&quot;,&quot;,I,&quot; 0 0,&quot;,m,&quot; &quot;,V[1],&quot;A&quot;,c,&quot;,&quot;,c,&quot; 0 &quot;,1-d^mi(V[1][0],V[1][1],q[1][0],q[1][1]),&quot;,&quot;,d,&quot; &quot;,q[1],&quot;A&quot;,I,&quot;,&quot;,I,&quot; 0 0,&quot;,m,&quot; &quot;,q[0]):E.push(&quot;M&quot;,V[0],&quot;A&quot;,I,&quot;,&quot;,I,&quot; 0 1,&quot;,m,&quot; &quot;,q[0])}else E.push(&quot;M&quot;,y,&quot;,&quot;,x);if(null!=k){var H=gi([y,x],[k,A],t,-P,d),G=gi([w,M],null==b?[y,x]:[b,_],t,-P,d);p===P?E.push(&quot;L&quot;,G[0],&quot;A&quot;,P,&quot;,&quot;,P,&quot; 0 0,&quot;,m,&quot; &quot;,G[1],&quot;A&quot;,t,&quot;,&quot;,t,&quot; 0 &quot;,d^mi(G[1][0],G[1][1],H[1][0],H[1][1]),&quot;,&quot;,1-d,&quot; &quot;,H[1],&quot;A&quot;,P,&quot;,&quot;,P,&quot; 0 0,&quot;,m,&quot; &quot;,H[0]):E.push(&quot;L&quot;,G[0],&quot;A&quot;,P,&quot;,&quot;,P,&quot; 0 0,&quot;,m,&quot; &quot;,H[0])}else E.push(&quot;L&quot;,w,&quot;,&quot;,M)}else E.push(&quot;M&quot;,y,&quot;,&quot;,x),null!=b&amp;&amp;E.push(&quot;A&quot;,c,&quot;,&quot;,c,&quot; 0 &quot;,L,&quot;,&quot;,d,&quot; &quot;,b,&quot;,&quot;,_),E.push(&quot;L&quot;,w,&quot;,&quot;,M),null!=k&amp;&amp;E.push(&quot;A&quot;,t,&quot;,&quot;,t,&quot; 0 &quot;,z,&quot;,&quot;,1-d,&quot; &quot;,k,&quot;,&quot;,A);return E.push(&quot;Z&quot;),E.join(&quot;&quot;)}function e(t,e){return&quot;M0,&quot;+t+&quot;A&quot;+t+&quot;,&quot;+t+&quot; 0 1,&quot;+e+&quot; 0,&quot;+-t+&quot;A&quot;+t+&quot;,&quot;+t+&quot; 0 1,&quot;+e+&quot; 0,&quot;+t}var r=ui,n=fi,i=ci,a=gs,o=hi,s=di,l=pi;return t.innerRadius=function(e){return arguments.length?(r=_t(e),t):r},t.outerRadius=function(e){return arguments.length?(n=_t(e),t):n},t.cornerRadius=function(e){return arguments.length?(i=_t(e),t):i},t.padRadius=function(e){return arguments.length?(a=e==gs?gs:_t(e),t):a},t.startAngle=function(e){return arguments.length?(o=_t(e),t):o},t.endAngle=function(e){return arguments.length?(s=_t(e),t):s},t.padAngle=function(e){return arguments.length?(l=_t(e),t):l},t.centroid=function(){var t=(+r.apply(this,arguments)+ +n.apply(this,arguments))/2,e=(+o.apply(this,arguments)+ +s.apply(this,arguments))/2-Sa;return[Math.cos(e)*t,Math.sin(e)*t]},t};var gs=&quot;auto&quot;;Zi.svg.line=function(){return vi(y)};var vs=Zi.map({linear:yi,&quot;linear-closed&quot;:xi,step:function(t){for(var e=0,r=t.length,n=t[0],i=[n[0],&quot;,&quot;,n[1]];++e&lt;r;)i.push(&quot;H&quot;,(n[0]+(n=t[e])[0])/2,&quot;V&quot;,n[1]);return r&gt;1&amp;&amp;i.push(&quot;H&quot;,n[0]),i.join(&quot;&quot;)},&quot;step-before&quot;:bi,&quot;step-after&quot;:_i,basis:ki,&quot;basis-open&quot;:function(t){if(t.length&lt;4)return yi(t);for(var e,r=[],n=-1,i=t.length,a=[0],o=[0];++n&lt;3;)e=t[n],a.push(e[0]),o.push(e[1]);for(r.push(Ai(bs,a)+&quot;,&quot;+Ai(bs,o)),--n;++n&lt;i;)e=t[n],a.shift(),a.push(e[0]),o.shift(),o.push(e[1]),Ti(r,a,o);return r.join(&quot;&quot;)},&quot;basis-closed&quot;:function(t){for(var e,r,n=-1,i=t.length,a=i+4,o=[],s=[];++n&lt;4;)r=t[n%i],o.push(r[0]),s.push(r[1]);for(e=[Ai(bs,o),&quot;,&quot;,Ai(bs,s)],--n;++n&lt;a;)r=t[n%i],o.shift(),o.push(r[0]),s.shift(),s.push(r[1]),Ti(e,o,s);return e.join(&quot;&quot;)},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&lt;=r;)i=c/r,(n=t[c])[0]=e*n[0]+(1-e)*(a+i*s),n[1]=e*n[1]+(1-e)*(o+i*l);return ki(t)},cardinal:function(t,e){return t.length&lt;3?yi(t):t[0]+wi(t,Mi(t,e))},&quot;cardinal-open&quot;:function(t,e){return t.length&lt;4?yi(t):t[1]+wi(t.slice(1,-1),Mi(t,e))},&quot;cardinal-closed&quot;:function(t,e){return t.length&lt;3?xi(t):t[0]+wi((t.push(t[0]),t),Mi([t[t.length-2]].concat(t,[t[1]]),e))},monotone:function(t){return t.length&lt;3?yi(t):t[0]+wi(t,Ei(t))}});vs.forEach(function(t,e){e.key=t,e.closed=/-closed$/.test(t)});var ys=[0,2/3,1/3,0],xs=[0,1/3,2/3,0],bs=[0,1/6,2/3,1/6];Zi.svg.line.radial=function(){var t=vi(Li);return t.radius=t.x,delete t.x,t.angle=t.y,delete t.y,t},bi.reverse=_i,_i.reverse=bi,Zi.svg.area=function(){return Ci(y)},Zi.svg.area.radial=function(){var t=Ci(Li);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},Zi.svg.chord=function(){function t(t,o){var s=e(this,i,t,o),l=e(this,a,t,o);return&quot;M&quot;+s.p0+r(s.r,s.p1,s.a1-s.a0)+(function(t,e){return t.a0==e.a0&amp;&amp;t.a1==e.a1}(s,l)?n(s.r,s.p1,s.r,s.p0):n(s.r,s.p1,l.r,l.p0)+r(l.r,l.p1,l.a1-l.a0)+n(l.r,l.p1,s.r,s.p0))+&quot;Z&quot;}function e(t,e,r,n){var i=e.call(t,r,n),a=o.call(t,i,n),c=s.call(t,i,n)-Sa,u=l.call(t,i,n)-Sa;return{r:a,a0:c,a1:u,p0:[a*Math.cos(c),a*Math.sin(c)],p1:[a*Math.cos(u),a*Math.sin(u)]}}function r(t,e,r){return&quot;A&quot;+t+&quot;,&quot;+t+&quot; 0 &quot;+ +(r&gt;ka)+&quot;,1 &quot;+e}function n(t,e,r,n){return&quot;Q 0,0 &quot;+n}var i=Ke,a=Qe,o=zi,s=hi,l=di;return t.radius=function(e){return arguments.length?(o=_t(e),t):o},t.source=function(e){return arguments.length?(i=_t(e),t):i},t.target=function(e){return arguments.length?(a=_t(e),t):a},t.startAngle=function(e){return arguments.length?(s=_t(e),t):s},t.endAngle=function(e){return arguments.length?(l=_t(e),t):l},t},Zi.svg.diagonal=function(){function t(t,i){var a=e.call(this,t,i),o=r.call(this,t,i),s=(a.y+o.y)/2,l=[a,{x:a.x,y:s},{x:o.x,y:s},o];return&quot;M&quot;+(l=l.map(n))[0]+&quot;C&quot;+l[1]+&quot; &quot;+l[2]+&quot; &quot;+l[3]}var e=Ke,r=Qe,n=Di;return t.source=function(r){return arguments.length?(e=_t(r),t):e},t.target=function(e){return arguments.length?(r=_t(e),t):r},t.projection=function(e){return arguments.length?(n=e,t):n},t},Zi.svg.diagonal.radial=function(){var t=Zi.svg.diagonal(),e=Di,r=t.projection;return t.projection=function(t){return arguments.length?r(function(t){return function(){var e=t.apply(this,arguments),r=e[0],n=e[1]-Sa;return[r*Math.cos(n),r*Math.sin(n)]}}(e=t)):e},t},Zi.svg.symbol=function(){function t(t,n){return(_s.get(e.call(this,t,n))||Oi)(r.call(this,t,n))}var e=Pi,r=Ii;return t.type=function(r){return arguments.length?(e=_t(r),t):e},t.size=function(e){return arguments.length?(r=_t(e),t):r},t};var _s=Zi.map({circle:Oi,cross:function(t){var e=Math.sqrt(t/5)/2;return&quot;M&quot;+-3*e+&quot;,&quot;+-e+&quot;H&quot;+-e+&quot;V&quot;+-3*e+&quot;H&quot;+e+&quot;V&quot;+-e+&quot;H&quot;+3*e+&quot;V&quot;+e+&quot;H&quot;+e+&quot;V&quot;+3*e+&quot;H&quot;+-e+&quot;V&quot;+e+&quot;H&quot;+-3*e+&quot;Z&quot;},diamond:function(t){var e=Math.sqrt(t/(2*Ms)),r=e*Ms;return&quot;M0,&quot;+-e+&quot;L&quot;+r+&quot;,0 0,&quot;+e+&quot; &quot;+-r+&quot;,0Z&quot;},square:function(t){var e=Math.sqrt(t)/2;return&quot;M&quot;+-e+&quot;,&quot;+-e+&quot;L&quot;+e+&quot;,&quot;+-e+&quot; &quot;+e+&quot;,&quot;+e+&quot; &quot;+-e+&quot;,&quot;+e+&quot;Z&quot;},&quot;triangle-down&quot;:function(t){var e=Math.sqrt(t/ws),r=e*ws/2;return&quot;M0,&quot;+r+&quot;L&quot;+e+&quot;,&quot;+-r+&quot; &quot;+-e+&quot;,&quot;+-r+&quot;Z&quot;},&quot;triangle-up&quot;:function(t){var e=Math.sqrt(t/ws),r=e*ws/2;return&quot;M0,&quot;+-r+&quot;L&quot;+e+&quot;,&quot;+r+&quot; &quot;+-e+&quot;,&quot;+r+&quot;Z&quot;}});Zi.svg.symbolTypes=_s.keys();var ws=Math.sqrt(3),Ms=Math.tan(30*Ea);pa.transition=function(t){for(var e,r,n=ks||++Es,i=Bi(t),a=[],o=As||{time:Date.now(),ease:function(t){if(t&lt;=0)return 0;if(t&gt;=1)return 1;var e=t*t,r=e*t;return 4*(t&lt;.5?r:3*(t-e)+r-.75)},delay:0,duration:250},s=-1,l=this.length;++s&lt;l;){a.push(e=[]);for(var c=this[s],u=-1,f=c.length;++u&lt;f;)(r=c[u])&amp;&amp;Ui(r,u,i,n,o),e.push(r)}return Ri(a,i,n)},pa.interrupt=function(t){return this.each(null==t?Ts:Fi(Bi(t)))};var ks,As,Ts=Fi(Bi()),Ss=[],Es=0;Ss.call=pa.call,Ss.empty=pa.empty,Ss.node=pa.node,Ss.size=pa.size,Zi.transition=function(t,e){return t&amp;&amp;t.transition?ks?t.transition(e):t:Zi.selection().transition(t)},Zi.transition.prototype=Ss,Ss.select=function(t){var e,r,n,i=this.id,a=this.namespace,o=[];t=S(t);for(var s=-1,l=this.length;++s&lt;l;){o.push(e=[]);for(var c=this[s],u=-1,f=c.length;++u&lt;f;)(n=c[u])&amp;&amp;(r=t.call(n,n.__data__,u,s))?(&quot;__data__&quot;in n&amp;&amp;(r.__data__=n.__data__),Ui(r,u,a,i,n[a][i]),e.push(r)):e.push(null)}return Ri(o,a,i)},Ss.selectAll=function(t){var e,r,n,i,a,o=this.id,s=this.namespace,l=[];t=E(t);for(var c=-1,u=this.length;++c&lt;u;)for(var f=this[c],h=-1,d=f.length;++h&lt;d;)if(n=f[h]){a=n[s][o],r=t.call(n,n.__data__,h,c),l.push(e=[]);for(var p=-1,m=r.length;++p&lt;m;)(i=r[p])&amp;&amp;Ui(i,p,s,o,a),e.push(i)}return Ri(l,s,o)},Ss.filter=function(t){var e,r,n=[];&quot;function&quot;!=typeof t&amp;&amp;(t=B(t));for(var i=0,a=this.length;i&lt;a;i++){n.push(e=[]);for(var o,s=0,l=(o=this[i]).length;s&lt;l;s++)(r=o[s])&amp;&amp;t.call(r,r.__data__,s,i)&amp;&amp;e.push(r)}return Ri(n,this.namespace,this.id)},Ss.tween=function(t,e){var r=this.id,n=this.namespace;return arguments.length&lt;2?this.node()[n][r].tween.get(t):U(this,null==e?function(e){e[n][r].tween.remove(t)}:function(i){i[n][r].tween.set(t,e)})},Ss.attr=function(t,e){if(arguments.length&lt;2){for(e in t)this.attr(e,t[e]);return this}var r=&quot;transform&quot;==t?en:Br,n=Zi.ns.qualify(t);return Ni(this,&quot;attr.&quot;+t,e,n.local?function(t){return null==t?function(){this.removeAttributeNS(n.space,n.local)}:(t+=&quot;&quot;,function(){var e,i=this.getAttributeNS(n.space,n.local);return i!==t&amp;&amp;(e=r(i,t),function(t){this.setAttributeNS(n.space,n.local,e(t))})})}:function(t){return null==t?function(){this.removeAttribute(n)}:(t+=&quot;&quot;,function(){var e,i=this.getAttribute(n);return i!==t&amp;&amp;(e=r(i,t),function(t){this.setAttribute(n,e(t))})})})},Ss.attrTween=function(t,e){var r=Zi.ns.qualify(t);return this.tween(&quot;attr.&quot;+t,r.local?function(t,n){var i=e.call(this,t,n,this.getAttributeNS(r.space,r.local));return i&amp;&amp;function(t){this.setAttributeNS(r.space,r.local,i(t))}}:function(t,n){var i=e.call(this,t,n,this.getAttribute(r));return i&amp;&amp;function(t){this.setAttribute(r,i(t))}})},Ss.style=function(t,e,n){var i=arguments.length;if(i&lt;3){if(&quot;string&quot;!=typeof t){i&lt;2&amp;&amp;(e=&quot;&quot;);for(n in t)this.style(n,t[n],e);return this}n=&quot;&quot;}return Ni(this,&quot;style.&quot;+t,e,function(e){return null==e?function(){this.style.removeProperty(t)}:(e+=&quot;&quot;,function(){var i,a=r(this).getComputedStyle(this,null).getPropertyValue(t);return a!==e&amp;&amp;(i=Br(a,e),function(e){this.style.setProperty(t,i(e),n)})})})},Ss.styleTween=function(t,e,n){return arguments.length&lt;3&amp;&amp;(n=&quot;&quot;),this.tween(&quot;style.&quot;+t,function(i,a){var o=e.call(this,i,a,r(this).getComputedStyle(this,null).getPropertyValue(t));return o&amp;&amp;function(e){this.style.setProperty(t,o(e),n)}})},Ss.text=function(t){return Ni(this,&quot;text&quot;,t,ji)},Ss.remove=function(){var t=this.namespace;return this.each(&quot;end.transition&quot;,function(){var e;this[t].count&lt;2&amp;&amp;(e=this.parentNode)&amp;&amp;e.removeChild(this)})},Ss.ease=function(t){var e=this.id,r=this.namespace;return arguments.length&lt;1?this.node()[r][e].ease:(&quot;function&quot;!=typeof t&amp;&amp;(t=Zi.ease.apply(Zi,arguments)),U(this,function(n){n[r][e].ease=t}))},Ss.delay=function(t){var e=this.id,r=this.namespace;return arguments.length&lt;1?this.node()[r][e].delay:U(this,&quot;function&quot;==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}))},Ss.duration=function(t){var e=this.id,r=this.namespace;return arguments.length&lt;1?this.node()[r][e].duration:U(this,&quot;function&quot;==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}))},Ss.each=function(t,e){var r=this.id,n=this.namespace;if(arguments.length&lt;2){var i=As,a=ks;try{ks=r,U(this,function(e,i,a){As=e[n][r],t.call(e,e.__data__,i,a)})}finally{As=i,ks=a}}else U(this,function(i){var a=i[n][r];(a.event||(a.event=Zi.dispatch(&quot;start&quot;,&quot;end&quot;,&quot;interrupt&quot;))).on(t,e)});return this},Ss.transition=function(){for(var t,e,r,n=this.id,i=++Es,a=this.namespace,o=[],s=0,l=this.length;s&lt;l;s++){o.push(t=[]);for(var c,u=0,f=(c=this[s]).length;u&lt;f;u++)(e=c[u])&amp;&amp;Ui(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 Ri(o,a,i)},Zi.svg.axis=function(){function t(t){t.each(function(){var t,c=Zi.select(this),u=this.__chart__||r,f=this.__chart__=r.copy(),h=null==l?f.ticks?f.ticks.apply(f,s):f.domain():l,d=null==e?f.tickFormat?f.tickFormat.apply(f,s):y:e,p=c.selectAll(&quot;.tick&quot;).data(h,f),m=p.enter().insert(&quot;g&quot;,&quot;.domain&quot;).attr(&quot;class&quot;,&quot;tick&quot;).style(&quot;opacity&quot;,wa),g=Zi.transition(p.exit()).style(&quot;opacity&quot;,wa).remove(),v=Zi.transition(p.order()).style(&quot;opacity&quot;,1),x=Math.max(i,0)+o,b=Gn(f),_=c.selectAll(&quot;.domain&quot;).data([0]),w=(_.enter().append(&quot;path&quot;).attr(&quot;class&quot;,&quot;domain&quot;),Zi.transition(_));m.append(&quot;line&quot;),m.append(&quot;text&quot;);var M,k,A,T,S=m.select(&quot;line&quot;),E=v.select(&quot;line&quot;),L=p.select(&quot;text&quot;).text(d),C=m.select(&quot;text&quot;),z=v.select(&quot;text&quot;),D=&quot;top&quot;===n||&quot;left&quot;===n?-1:1;if(&quot;bottom&quot;===n||&quot;top&quot;===n?(t=Vi,M=&quot;x&quot;,A=&quot;y&quot;,k=&quot;x2&quot;,T=&quot;y2&quot;,L.attr(&quot;dy&quot;,D&lt;0?&quot;0em&quot;:&quot;.71em&quot;).style(&quot;text-anchor&quot;,&quot;middle&quot;),w.attr(&quot;d&quot;,&quot;M&quot;+b[0]+&quot;,&quot;+D*a+&quot;V0H&quot;+b[1]+&quot;V&quot;+D*a)):(t=qi,M=&quot;y&quot;,A=&quot;x&quot;,k=&quot;y2&quot;,T=&quot;x2&quot;,L.attr(&quot;dy&quot;,&quot;.32em&quot;).style(&quot;text-anchor&quot;,D&lt;0?&quot;end&quot;:&quot;start&quot;),w.attr(&quot;d&quot;,&quot;M&quot;+D*a+&quot;,&quot;+b[0]+&quot;H0V&quot;+b[1]+&quot;H&quot;+D*a)),S.attr(T,D*i),C.attr(A,D*x),E.attr(k,0).attr(T,D*i),z.attr(M,0).attr(A,D*x),f.rangeBand){var I=f,P=I.rangeBand()/2;u=f=function(t){return I(t)+P}}else u.rangeBand?u=f:g.call(t,f,u);m.call(t,u,f),v.call(t,f,f)})}var e,r=Zi.scale.linear(),n=Ls,i=6,a=6,o=3,s=[10],l=null;return t.scale=function(e){return arguments.length?(r=e,t):r},t.orient=function(e){return arguments.length?(n=e in Cs?e+&quot;&quot;:Ls,t):n},t.ticks=function(){return arguments.length?(s=Ki(arguments),t):s},t.tickValues=function(e){return arguments.length?(l=e,t):l},t.tickFormat=function(r){return arguments.length?(e=r,t):e},t.tickSize=function(e){var r=arguments.length;return r?(i=+e,a=+arguments[r-1],t):i},t.innerTickSize=function(e){return arguments.length?(i=+e,t):i},t.outerTickSize=function(e){return arguments.length?(a=+e,t):a},t.tickPadding=function(e){return arguments.length?(o=+e,t):o},t.tickSubdivide=function(){return arguments.length&amp;&amp;t},t};var Ls=&quot;bottom&quot;,Cs={top:1,right:1,bottom:1,left:1};Zi.svg.brush=function(){function t(r){r.each(function(){var r=Zi.select(this).style(&quot;pointer-events&quot;,&quot;all&quot;).style(&quot;-webkit-tap-highlight-color&quot;,&quot;rgba(0,0,0,0)&quot;).on(&quot;mousedown.brush&quot;,a).on(&quot;touchstart.brush&quot;,a),o=r.selectAll(&quot;.background&quot;).data([0]);o.enter().append(&quot;rect&quot;).attr(&quot;class&quot;,&quot;background&quot;).style(&quot;visibility&quot;,&quot;hidden&quot;).style(&quot;cursor&quot;,&quot;crosshair&quot;),r.selectAll(&quot;.extent&quot;).data([0]).enter().append(&quot;rect&quot;).attr(&quot;class&quot;,&quot;extent&quot;).style(&quot;cursor&quot;,&quot;move&quot;);var s=r.selectAll(&quot;.resize&quot;).data(m,y);s.exit().remove(),s.enter().append(&quot;g&quot;).attr(&quot;class&quot;,function(t){return&quot;resize &quot;+t}).style(&quot;cursor&quot;,function(t){return zs[t]}).append(&quot;rect&quot;).attr(&quot;x&quot;,function(t){return/[ew]$/.test(t)?-3:null}).attr(&quot;y&quot;,function(t){return/^[ns]/.test(t)?-3:null}).attr(&quot;width&quot;,6).attr(&quot;height&quot;,6).style(&quot;visibility&quot;,&quot;hidden&quot;),s.style(&quot;display&quot;,t.empty()?&quot;none&quot;:null);var l,f=Zi.transition(r),h=Zi.transition(o);c&amp;&amp;(l=Gn(c),h.attr(&quot;x&quot;,l[0]).attr(&quot;width&quot;,l[1]-l[0]),n(f)),u&amp;&amp;(l=Gn(u),h.attr(&quot;y&quot;,l[0]).attr(&quot;height&quot;,l[1]-l[0]),i(f)),e(f)})}function e(t){t.selectAll(&quot;.resize&quot;).attr(&quot;transform&quot;,function(t){return&quot;translate(&quot;+f[+/e$/.test(t)]+&quot;,&quot;+h[+/^s/.test(t)]+&quot;)&quot;})}function n(t){t.select(&quot;.extent&quot;).attr(&quot;x&quot;,f[0]),t.selectAll(&quot;.extent,.n&gt;rect,.s&gt;rect&quot;).attr(&quot;width&quot;,f[1]-f[0])}function i(t){t.select(&quot;.extent&quot;).attr(&quot;y&quot;,h[0]),t.selectAll(&quot;.extent,.e&gt;rect,.w&gt;rect&quot;).attr(&quot;height&quot;,h[1]-h[0])}function a(){function a(){var t=Zi.mouse(x),r=!1;y&amp;&amp;(t[0]+=y[0],t[1]+=y[1]),S||(Zi.event.altKey?(v||(v=[(f[0]+f[1])/2,(h[0]+h[1])/2]),L[0]=f[+(t[0]&lt;v[0])],L[1]=h[+(t[1]&lt;v[1])]):v=null),A&amp;&amp;m(t,c,0)&amp;&amp;(n(w),r=!0),T&amp;&amp;m(t,u,1)&amp;&amp;(i(w),r=!0),r&amp;&amp;(e(w),_({type:&quot;brush&quot;,mode:S?&quot;move&quot;:&quot;resize&quot;}))}function m(t,e,r){var n,i,a=Gn(e),l=a[0],c=a[1],u=L[r],m=r?h:f,g=m[1]-m[0];if(S&amp;&amp;(l-=u,c-=g+u),n=(r?p:d)?Math.max(l,Math.min(c,t[r])):t[r],S?i=(n+=u)+g:(v&amp;&amp;(u=Math.max(l,Math.min(c,2*v[r]-n))),u&lt;n?(i=n,n=u):i=u),m[0]!=n||m[1]!=i)return r?s=null:o=null,m[0]=n,m[1]=i,!0}function g(){a(),w.style(&quot;pointer-events&quot;,&quot;all&quot;).selectAll(&quot;.resize&quot;).style(&quot;display&quot;,t.empty()?&quot;none&quot;:null),Zi.select(&quot;body&quot;).style(&quot;cursor&quot;,null),C.on(&quot;mousemove.brush&quot;,null).on(&quot;mouseup.brush&quot;,null).on(&quot;touchmove.brush&quot;,null).on(&quot;touchend.brush&quot;,null).on(&quot;keydown.brush&quot;,null).on(&quot;keyup.brush&quot;,null),E(),_({type:&quot;brushend&quot;})}var v,y,x=this,b=Zi.select(Zi.event.target),_=l.of(x,arguments),w=Zi.select(x),k=b.datum(),A=!/^(n|s)$/.test(k)&amp;&amp;c,T=!/^(e|w)$/.test(k)&amp;&amp;u,S=b.classed(&quot;extent&quot;),E=Y(x),L=Zi.mouse(x),C=Zi.select(r(x)).on(&quot;keydown.brush&quot;,function(){32==Zi.event.keyCode&amp;&amp;(S||(v=null,L[0]-=f[1],L[1]-=h[1],S=2),M())}).on(&quot;keyup.brush&quot;,function(){32==Zi.event.keyCode&amp;&amp;2==S&amp;&amp;(L[0]+=f[1],L[1]+=h[1],S=0,M())});if(Zi.event.changedTouches?C.on(&quot;touchmove.brush&quot;,a).on(&quot;touchend.brush&quot;,g):C.on(&quot;mousemove.brush&quot;,a).on(&quot;mouseup.brush&quot;,g),w.interrupt().selectAll(&quot;*&quot;).interrupt(),S)L[0]=f[0]-L[0],L[1]=h[0]-L[1];else if(k){var z=+/w$/.test(k),D=+/^n/.test(k);y=[f[1-z]-L[0],h[1-D]-L[1]],L[0]=f[z],L[1]=h[D]}else Zi.event.altKey&amp;&amp;(v=L.slice());w.style(&quot;pointer-events&quot;,&quot;none&quot;).selectAll(&quot;.resize&quot;).style(&quot;display&quot;,null),Zi.select(&quot;body&quot;).style(&quot;cursor&quot;,b.style(&quot;cursor&quot;)),_({type:&quot;brushstart&quot;}),a()}var o,s,l=A(t,&quot;brushstart&quot;,&quot;brush&quot;,&quot;brushend&quot;),c=null,u=null,f=[0,0],h=[0,0],d=!0,p=!0,m=Ds[0];return t.event=function(t){t.each(function(){var t=l.of(this,arguments),e={x:f,y:h,i:o,j:s},r=this.__chart__||e;this.__chart__=e,ks?Zi.select(this).transition().each(&quot;start.brush&quot;,function(){o=r.i,s=r.j,f=r.x,h=r.y,t({type:&quot;brushstart&quot;})}).tween(&quot;brush:brush&quot;,function(){var r=Ur(f,e.x),n=Ur(h,e.y);return o=s=null,function(i){f=e.x=r(i),h=e.y=n(i),t({type:&quot;brush&quot;,mode:&quot;resize&quot;})}}).each(&quot;end.brush&quot;,function(){o=e.i,s=e.j,t({type:&quot;brush&quot;,mode:&quot;resize&quot;}),t({type:&quot;brushend&quot;})}):(t({type:&quot;brushstart&quot;}),t({type:&quot;brush&quot;,mode:&quot;resize&quot;}),t({type:&quot;brushend&quot;}))})},t.x=function(e){return arguments.length?(c=e,m=Ds[!c&lt;&lt;1|!u],t):c},t.y=function(e){return arguments.length?(u=e,m=Ds[!c&lt;&lt;1|!u],t):u},t.clamp=function(e){return arguments.length?(c&amp;&amp;u?(d=!!e[0],p=!!e[1]):c?d=!!e:u&amp;&amp;(p=!!e),t):c&amp;&amp;u?[d,p]:c?d:u?p:null},t.extent=function(e){var r,n,i,a,l;return arguments.length?(c&amp;&amp;(r=e[0],n=e[1],u&amp;&amp;(r=r[0],n=n[0]),o=[r,n],c.invert&amp;&amp;(r=c(r),n=c(n)),n&lt;r&amp;&amp;(l=r,r=n,n=l),r==f[0]&amp;&amp;n==f[1]||(f=[r,n])),u&amp;&amp;(i=e[0],a=e[1],c&amp;&amp;(i=i[1],a=a[1]),s=[i,a],u.invert&amp;&amp;(i=u(i),a=u(a)),a&lt;i&amp;&amp;(l=i,i=a,a=l),i==h[0]&amp;&amp;a==h[1]||(h=[i,a])),t):(c&amp;&amp;(o?(r=o[0],n=o[1]):(r=f[0],n=f[1],c.invert&amp;&amp;(r=c.invert(r),n=c.invert(n)),n&lt;r&amp;&amp;(l=r,r=n,n=l))),u&amp;&amp;(s?(i=s[0],a=s[1]):(i=h[0],a=h[1],u.invert&amp;&amp;(i=u.invert(i),a=u.invert(a)),a&lt;i&amp;&amp;(l=i,i=a,a=l))),c&amp;&amp;u?[[r,i],[n,a]]:c?[r,n]:u&amp;&amp;[i,a])},t.clear=function(){return t.empty()||(f=[0,0],h=[0,0],o=s=null),t},t.empty=function(){return!!c&amp;&amp;f[0]==f[1]||!!u&amp;&amp;h[0]==h[1]},Zi.rebind(t,l,&quot;on&quot;)};var zs={n:&quot;ns-resize&quot;,e:&quot;ew-resize&quot;,s:&quot;ns-resize&quot;,w:&quot;ew-resize&quot;,nw:&quot;nwse-resize&quot;,ne:&quot;nesw-resize&quot;,se:&quot;nwse-resize&quot;,sw:&quot;nesw-resize&quot;},Ds=[[&quot;n&quot;,&quot;e&quot;,&quot;s&quot;,&quot;w&quot;,&quot;nw&quot;,&quot;ne&quot;,&quot;se&quot;,&quot;sw&quot;],[&quot;e&quot;,&quot;w&quot;],[&quot;n&quot;,&quot;s&quot;],[]],Is=Ka.format=no.timeFormat,Ps=Is.utc,Os=Ps(&quot;%Y-%m-%dT%H:%M:%S.%LZ&quot;);Is.iso=Date.prototype.toISOString&amp;&amp;+new Date(&quot;2000-01-01T00:00:00.000Z&quot;)?Hi:Os,Hi.parse=function(t){var e=new Date(t);return isNaN(e)?null:e},Hi.toString=Os.toString,Ka.second=Ct(function(t){return new Qa(1e3*Math.floor(t/1e3))},function(t,e){t.setTime(t.getTime()+1e3*Math.floor(e))},function(t){return t.getSeconds()}),Ka.seconds=Ka.second.range,Ka.seconds.utc=Ka.second.utc.range,Ka.minute=Ct(function(t){return new Qa(6e4*Math.floor(t/6e4))},function(t,e){t.setTime(t.getTime()+6e4*Math.floor(e))},function(t){return t.getMinutes()}),Ka.minutes=Ka.minute.range,Ka.minutes.utc=Ka.minute.utc.range,Ka.hour=Ct(function(t){var e=t.getTimezoneOffset()/60;return new Qa(36e5*(Math.floor(t/36e5-e)+e))},function(t,e){t.setTime(t.getTime()+36e5*Math.floor(e))},function(t){return t.getHours()}),Ka.hours=Ka.hour.range,Ka.hours.utc=Ka.hour.utc.range,Ka.month=Ct(function(t){return(t=Ka.day(t)).setDate(1),t},function(t,e){t.setMonth(t.getMonth()+e)},function(t){return t.getMonth()}),Ka.months=Ka.month.range,Ka.months.utc=Ka.month.utc.range;var Fs=[1e3,5e3,15e3,3e4,6e4,3e5,9e5,18e5,36e5,108e5,216e5,432e5,864e5,1728e5,6048e5,2592e6,7776e6,31536e6],Rs=[[Ka.second,1],[Ka.second,5],[Ka.second,15],[Ka.second,30],[Ka.minute,1],[Ka.minute,5],[Ka.minute,15],[Ka.minute,30],[Ka.hour,1],[Ka.hour,3],[Ka.hour,6],[Ka.hour,12],[Ka.day,1],[Ka.day,2],[Ka.week,1],[Ka.month,1],[Ka.month,3],[Ka.year,1]],Ns=Is.multi([[&quot;.%L&quot;,function(t){return t.getMilliseconds()}],[&quot;:%S&quot;,function(t){return t.getSeconds()}],[&quot;%I:%M&quot;,function(t){return t.getMinutes()}],[&quot;%I %p&quot;,function(t){return t.getHours()}],[&quot;%a %d&quot;,function(t){return t.getDay()&amp;&amp;1!=t.getDate()}],[&quot;%b %d&quot;,function(t){return 1!=t.getDate()}],[&quot;%B&quot;,function(t){return t.getMonth()}],[&quot;%Y&quot;,ve]]),js={range:function(t,e,r){return Zi.range(Math.ceil(t/r)*r,+e,r).map(Yi)},floor:y,ceil:y};Rs.year=Ka.year,Ka.scale=function(){return Gi(Zi.scale.linear(),Rs,Ns)};var Bs=Rs.map(function(t){return[t[0].utc,t[1]]}),Us=Ps.multi([[&quot;.%L&quot;,function(t){return t.getUTCMilliseconds()}],[&quot;:%S&quot;,function(t){return t.getUTCSeconds()}],[&quot;%I:%M&quot;,function(t){return t.getUTCMinutes()}],[&quot;%I %p&quot;,function(t){return t.getUTCHours()}],[&quot;%a %d&quot;,function(t){return t.getUTCDay()&amp;&amp;1!=t.getUTCDate()}],[&quot;%b %d&quot;,function(t){return 1!=t.getUTCDate()}],[&quot;%B&quot;,function(t){return t.getUTCMonth()}],[&quot;%Y&quot;,ve]]);Bs.year=Ka.year.utc,Ka.scale.utc=function(){return Gi(Zi.scale.linear(),Bs,Us)},Zi.text=wt(function(t){return t.responseText}),Zi.json=function(t,e){return Mt(t,&quot;application/json&quot;,Wi,e)},Zi.html=function(t,e){return Mt(t,&quot;text/html&quot;,Xi,e)},Zi.xml=wt(function(t){return t.responseXML}),&quot;object&quot;==typeof e&amp;&amp;e.exports?e.exports=Zi:this.d3=Zi}()},{}],129:[function(t,e,r){e.exports=function(){for(var t=0;t&lt;arguments.length;t++)if(void 0!==arguments[t])return arguments[t]}},{}],130:[function(t,e,r){&quot;use strict&quot;;function n(t,e){this.point=t,this.index=e}function i(t,e){for(var r=t.point,n=e.point,i=r.length,a=0;a&lt;i;++a){var o=n[a]-r[a];if(o)return o}return 0}var a=t(&quot;incremental-convex-hull&quot;),o=t(&quot;uniq&quot;);e.exports=function(t,e){var r=t.length;if(0===r)return[];var s=t[0].length;if(s&lt;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&lt;t;++a){var o=n[a-1],s=n[a];i[a-1]=[o[1],s[1]]}return r&amp;&amp;i.push([-1,i[0][1]],[i[t-1][1],-1]),i}(r,t,e);for(var l=new Array(r),c=1,u=0;u&lt;r;++u){for(var f=t[u],h=new Array(s+1),d=0,p=0;p&lt;s;++p){var m=f[p];h[p]=m,d+=m*m}h[s]=d,l[u]=new n(h,u),c=Math.max(d,c)}o(l,i),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&lt;=s;++u)x[u]=0;for(x[s]=y,g[0]=x.slice(),v[0]=-1,u=0;u&lt;=s;++u)(h=x.slice())[u]=1,g[u+1]=h,v[u+1]=-1;for(u=0;u&lt;r;++u){var b=l[u];g[u+s+1]=b.point,v[u+s+1]=b.index}var _=a(g,!1);if(_=e?_.filter(function(t){for(var e=0,r=0;r&lt;=s;++r){var n=v[t[r]];if(n&lt;0&amp;&amp;++e&gt;=2)return!1;t[r]=n}return!0}):_.filter(function(t){for(var e=0;e&lt;=s;++e){var r=v[t[e]];if(r&lt;0)return!1;t[e]=r}return!0}),1&amp;s)for(u=0;u&lt;_.length;++u)h=(b=_[u])[0],b[0]=b[1],b[1]=h;return _}},{&quot;incremental-convex-hull&quot;:278,uniq:556}],131:[function(t,e,r){(function(t){var r=!1;if(&quot;undefined&quot;!=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]]};function a(t,e){return i[0]=t,i[1]=e,n[0]}e.exports.pack=a;function o(t){return n[0]=t,i[0]}e.exports.lo=o;function s(t){return n[0]=t,i[1]}e.exports.hi=s}else if(1072693248===i[0]){e.exports=function(t){return n[0]=t,[i[1],i[0]]};function l(t,e){return i[1]=t,i[0]=e,n[0]}e.exports.pack=l;function c(t){return n[0]=t,i[1]}e.exports.lo=c;function u(t){return n[0]=t,i[0]}e.exports.hi=u}else r=!1}if(!r){var f=new t(8);e.exports=function(t){return f.writeDoubleLE(t,0,!0),[f.readUInt32LE(0,!0),f.readUInt32LE(4,!0)]};function h(t,e){return f.writeUInt32LE(t,0,!0),f.writeUInt32LE(e,4,!0),f.readDoubleLE(0,!0)}e.exports.pack=h;function d(t){return f.writeDoubleLE(t,0,!0),f.readUInt32LE(0,!0)}e.exports.lo=d;function p(t){return f.writeDoubleLE(t,0,!0),f.readUInt32LE(4,!0)}e.exports.hi=p}e.exports.sign=function(t){return e.exports.hi(t)&gt;&gt;&gt;31},e.exports.exponent=function(t){return(e.exports.hi(t)&lt;&lt;1&gt;&gt;&gt;21)-1023},e.exports.fraction=function(t){var r=e.exports.lo(t),n=e.exports.hi(t),i=1048575&amp;n;return 2146435072&amp;n&amp;&amp;(i+=1&lt;&lt;20),[r,i]},e.exports.denormalized=function(t){return!(2146435072&amp;e.exports.hi(t))}}).call(this,t(&quot;buffer&quot;).Buffer)},{buffer:82}],132:[function(t,e,r){var n=t(&quot;abs-svg-path&quot;),i=t(&quot;normalize-svg-path&quot;),a={M:&quot;moveTo&quot;,C:&quot;bezierCurveTo&quot;};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()}},{&quot;abs-svg-path&quot;:43,&quot;normalize-svg-path&quot;:460}],133:[function(t,e,r){e.exports=function(t){switch(t){case&quot;int8&quot;:return Int8Array;case&quot;int16&quot;:return Int16Array;case&quot;int32&quot;:return Int32Array;case&quot;uint8&quot;:return Uint8Array;case&quot;uint16&quot;:return Uint16Array;case&quot;uint32&quot;:return Uint32Array;case&quot;float32&quot;:return Float32Array;case&quot;float64&quot;:return Float64Array;case&quot;array&quot;:return Array;case&quot;uint8_clamped&quot;:return Uint8ClampedArray}}},{}],134:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r){var i=0|t[r];if(i&lt;=0)return[];var a,o=new Array(i);if(r===t.length-1)for(a=0;a&lt;i;++a)o[a]=e;else for(a=0;a&lt;i;++a)o[a]=n(t,e,r+1);return o}e.exports=function(t,e){switch(void 0===e&amp;&amp;(e=0),typeof t){case&quot;number&quot;:if(t&gt;0)return function(t,e){var r,n;for(r=new Array(t),n=0;n&lt;t;++n)r[n]=e;return r}(0|t,e);break;case&quot;object&quot;:if(&quot;number&quot;==typeof t.length)return n(t,e,0)}return[]}},{}],135:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r){r=r||2;var n=e&amp;&amp;e.length,l=n?e[0]*r:t.length,u=i(t,0,l,r,!0),f=[];if(!u)return f;var h,m,g,v,y,x,b;if(n&amp;&amp;(u=function(t,e,r,n){var o,l,u,f,h,m=[];for(o=0,l=e.length;o&lt;l;o++)u=e[o]*n,f=o&lt;l-1?e[o+1]*n:t.length,(h=i(t,u,f,n,!1))===h.next&amp;&amp;(h.steiner=!0),m.push(function(t){var e=t,r=t;do{e.x&lt;r.x&amp;&amp;(r=e),e=e.next}while(e!==t);return r}(h));for(m.sort(s),o=0;o&lt;m.length;o++)!function(t,e){if(e=function(t,e){var r,n=e,i=t.x,a=t.y,o=-1/0;do{if(a&lt;=n.y&amp;&amp;a&gt;=n.next.y){var s=n.x+(a-n.y)*(n.next.x-n.x)/(n.next.y-n.y);if(s&lt;=i&amp;&amp;s&gt;o){if(o=s,s===i){if(a===n.y)return n;if(a===n.next.y)return n.next}r=n.x&lt;n.next.x?n:n.next}}n=n.next}while(n!==e);if(!r)return null;if(i===o)return r.prev;var l,u=r,f=r.x,h=r.y,p=1/0;for(n=r.next;n!==u;)i&gt;=n.x&amp;&amp;n.x&gt;=f&amp;&amp;c(a&lt;h?i:o,a,f,h,a&lt;h?o:i,a,n.x,n.y)&amp;&amp;((l=Math.abs(a-n.y)/(i-n.x))&lt;p||l===p&amp;&amp;n.x&gt;r.x)&amp;&amp;d(n,t)&amp;&amp;(r=n,p=l),n=n.next;return r}(t,e)){var r=p(e,t);a(r,r.next)}}(m[o],r),r=a(r,r.next);return r}(t,e,u,r)),t.length&gt;80*r){h=g=t[0],m=v=t[1];for(var _=r;_&lt;l;_+=r)y=t[_],x=t[_+1],y&lt;h&amp;&amp;(h=y),x&lt;m&amp;&amp;(m=x),y&gt;g&amp;&amp;(g=y),x&gt;v&amp;&amp;(v=x);b=Math.max(g-h,v-m)}return o(u,f,r,h,m,b),f}function i(t,e,r,n,i){var a,o;if(i===y(t,e,r,n)&gt;0)for(a=e;a&lt;r;a+=n)o=m(a,t[a],t[a+1],o);else for(a=r-n;a&gt;=e;a-=n)o=m(a,t[a],t[a+1],o);return o&amp;&amp;f(o,o.next)&amp;&amp;(g(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||!f(n,n.next)&amp;&amp;0!==u(n.prev,n,n.next))n=n.next;else{if(g(n),(n=e=n.prev)===n.next)return null;r=!0}}while(r||n!==e);return e}function o(t,e,r,n,i,s,m){if(t){!m&amp;&amp;s&amp;&amp;function(t,e,r,n){var i=t;do{null===i.z&amp;&amp;(i.z=l(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&lt;c&amp;&amp;(s++,n=n.nextZ);e++);for(l=c;s&gt;0||l&gt;0&amp;&amp;n;)0===s?(i=n,n=n.nextZ,l--):0!==l&amp;&amp;n?r.z&lt;=n.z?(i=r,r=r.nextZ,s--):(i=n,n=n.nextZ,l--):(i=r,r=r.nextZ,s--),a?a.nextZ=i:t=i,i.prevZ=a,a=i;r=n}a.nextZ=null,c*=2}while(o&gt;1)}(i)}(t,n,i,s);for(var v,y,x=t;t.prev!==t.next;)if(v=t.prev,y=t.next,s?function(t,e,r,n){var i=t.prev,a=t,o=t.next;if(u(i,a,o)&gt;=0)return!1;var s=i.x&lt;a.x?i.x&lt;o.x?i.x:o.x:a.x&lt;o.x?a.x:o.x,f=i.y&lt;a.y?i.y&lt;o.y?i.y:o.y:a.y&lt;o.y?a.y:o.y,h=i.x&gt;a.x?i.x&gt;o.x?i.x:o.x:a.x&gt;o.x?a.x:o.x,d=i.y&gt;a.y?i.y&gt;o.y?i.y:o.y:a.y&gt;o.y?a.y:o.y,p=l(s,f,e,r,n),m=l(h,d,e,r,n),g=t.nextZ;for(;g&amp;&amp;g.z&lt;=m;){if(g!==t.prev&amp;&amp;g!==t.next&amp;&amp;c(i.x,i.y,a.x,a.y,o.x,o.y,g.x,g.y)&amp;&amp;u(g.prev,g,g.next)&gt;=0)return!1;g=g.nextZ}g=t.prevZ;for(;g&amp;&amp;g.z&gt;=p;){if(g!==t.prev&amp;&amp;g!==t.next&amp;&amp;c(i.x,i.y,a.x,a.y,o.x,o.y,g.x,g.y)&amp;&amp;u(g.prev,g,g.next)&gt;=0)return!1;g=g.prevZ}return!0}(t,n,i,s):function(t){var e=t.prev,r=t,n=t.next;if(u(e,r,n)&gt;=0)return!1;var i=t.next.next;for(;i!==t.prev;){if(c(e.x,e.y,r.x,r.y,n.x,n.y,i.x,i.y)&amp;&amp;u(i.prev,i,i.next)&gt;=0)return!1;i=i.next}return!0}(t))e.push(v.i/r),e.push(t.i/r),e.push(y.i/r),g(t),t=y.next,x=y.next;else if((t=y)===x){m?1===m?o(t=function(t,e,r){var n=t;do{var i=n.prev,a=n.next.next;!f(i,a)&amp;&amp;h(i,n,n.next,a)&amp;&amp;d(i,a)&amp;&amp;d(a,i)&amp;&amp;(e.push(i.i/r),e.push(n.i/r),e.push(a.i/r),g(n),g(n.next),n=t=a),n=n.next}while(n!==t);return n}(t,e,r),e,r,n,i,s,2):2===m&amp;&amp;function(t,e,r,n,i,s){var l=t;do{for(var c=l.next.next;c!==l.prev;){if(l.i!==c.i&amp;&amp;function(t,e){return t.next.i!==e.i&amp;&amp;t.prev.i!==e.i&amp;&amp;!function(t,e){var r=t;do{if(r.i!==t.i&amp;&amp;r.next.i!==t.i&amp;&amp;r.i!==e.i&amp;&amp;r.next.i!==e.i&amp;&amp;h(r,r.next,t,e))return!0;r=r.next}while(r!==t);return!1}(t,e)&amp;&amp;d(t,e)&amp;&amp;d(e,t)&amp;&amp;function(t,e){var r=t,n=!1,i=(t.x+e.x)/2,a=(t.y+e.y)/2;do{r.y&gt;a!=r.next.y&gt;a&amp;&amp;i&lt;(r.next.x-r.x)*(a-r.y)/(r.next.y-r.y)+r.x&amp;&amp;(n=!n),r=r.next}while(r!==t);return n}(t,e)}(l,c)){var u=p(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)}(t,e,r,n,i,s):o(a(t),e,r,n,i,s,1);break}}}function s(t,e){return t.x-e.x}function l(t,e,r,n,i){return t=32767*(t-r)/i,e=32767*(e-n)/i,t=16711935&amp;(t|t&lt;&lt;8),t=252645135&amp;(t|t&lt;&lt;4),t=858993459&amp;(t|t&lt;&lt;2),t=1431655765&amp;(t|t&lt;&lt;1),e=16711935&amp;(e|e&lt;&lt;8),e=252645135&amp;(e|e&lt;&lt;4),e=858993459&amp;(e|e&lt;&lt;2),e=1431655765&amp;(e|e&lt;&lt;1),t|e&lt;&lt;1}function c(t,e,r,n,i,a,o,s){return(i-o)*(e-s)-(t-o)*(a-s)&gt;=0&amp;&amp;(t-o)*(n-s)-(r-o)*(e-s)&gt;=0&amp;&amp;(r-o)*(a-s)-(i-o)*(n-s)&gt;=0}function u(t,e,r){return(e.y-t.y)*(r.x-e.x)-(e.x-t.x)*(r.y-e.y)}function f(t,e){return t.x===e.x&amp;&amp;t.y===e.y}function h(t,e,r,n){return!!(f(t,e)&amp;&amp;f(r,n)||f(t,n)&amp;&amp;f(r,e))||u(t,e,r)&gt;0!=u(t,e,n)&gt;0&amp;&amp;u(r,n,t)&gt;0!=u(r,n,e)&gt;0}function d(t,e){return u(t.prev,t,t.next)&lt;0?u(t,e,t.next)&gt;=0&amp;&amp;u(t,t.prev,e)&gt;=0:u(t,e,t.prev)&lt;0||u(t,t.next,e)&lt;0}function p(t,e){var r=new v(t.i,t.x,t.y),n=new v(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 m(t,e,r,n){var i=new v(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 g(t){t.next.prev=t.prev,t.prev.next=t.next,t.prevZ&amp;&amp;(t.prevZ.nextZ=t.nextZ),t.nextZ&amp;&amp;(t.nextZ.prevZ=t.prevZ)}function v(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 y(t,e,r,n){for(var i=0,a=e,o=r-n;a&lt;r;a+=n)i+=(t[o]-t[a])*(t[a+1]+t[o+1]),o=a;return i}e.exports=n,n.deviation=function(t,e,r,n){var i=e&amp;&amp;e.length,a=i?e[0]*r:t.length,o=Math.abs(y(t,0,a,r));if(i)for(var s=0,l=e.length;s&lt;l;s++){var c=e[s]*r,u=s&lt;l-1?e[s+1]*r:t.length;o-=Math.abs(y(t,c,u,r))}var f=0;for(s=0;s&lt;n.length;s+=3){var h=n[s]*r,d=n[s+1]*r,p=n[s+2]*r;f+=Math.abs((t[h]-t[p])*(t[d+1]-t[h+1])-(t[h]-t[d])*(t[p+1]-t[h+1]))}return 0===o&amp;&amp;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&lt;t.length;i++){for(var a=0;a&lt;t[i].length;a++)for(var o=0;o&lt;e;o++)r.vertices.push(t[i][a][o]);i&gt;0&amp;&amp;(n+=t[i-1].length,r.holes.push(n))}return r}},{}],136:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t,e){var r=t.length;if(&quot;number&quot;!=typeof e){e=0;for(var i=0;i&lt;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&lt;e;++i)o[i]=[];for(i=0;i&lt;r;++i)o[(a=t[i])[0]].push(a[1]),o[a[1]].push(a[0]);for(var s=0;s&lt;e;++s)n(o[s],function(t,e){return t-e});return o};var n=t(&quot;uniq&quot;)},{uniq:556}],137:[function(t,e,r){(function(n,i){!function(t,n){&quot;object&quot;==typeof r&amp;&amp;void 0!==e?e.exports=n():t.ES6Promise=n()}(this,function(){&quot;use strict&quot;;function e(t){return&quot;function&quot;==typeof t}function r(){var t=setTimeout;return function(){return t(a,1)}}function a(){for(var t=0;t&lt;A;t+=2){(0,P[t])(P[t+1]),P[t]=void 0,P[t+1]=void 0}A=0}function o(){try{var e=t(&quot;vertx&quot;);return T=e.runOnLoop||e.runOnContext,function(){T(a)}}catch(t){return r()}}function s(t,e){var r=arguments,n=this,i=new this.constructor(c);void 0===i[F]&amp;&amp;b(i);var a=n._state;return a?function(){var t=r[a-1];E(function(){return x(a,i,t,n._result)})}():g(n,i,t,e),i}function l(t){if(t&amp;&amp;&quot;object&quot;==typeof t&amp;&amp;t.constructor===this)return t;var e=new this(c);return h(e,t),e}function c(){}function u(t){try{return t.then}catch(t){return B.error=t,B}}function f(t,r,n){r.constructor===t.constructor&amp;&amp;n===s&amp;&amp;r.constructor.resolve===l?function(t,e){e._state===N?p(t,e._result):e._state===j?m(t,e._result):g(e,void 0,function(e){return h(t,e)},function(e){return m(t,e)})}(t,r):n===B?m(t,B.error):void 0===n?p(t,r):e(n)?function(t,e,r){E(function(t){var n=!1,i=function(t,e,r,n){try{t.call(e,r,n)}catch(t){return t}}(r,e,function(r){n||(n=!0,e!==r?h(t,r):p(t,r))},function(e){n||(n=!0,m(t,e))},t._label);!n&amp;&amp;i&amp;&amp;(n=!0,m(t,i))},t)}(t,r,n):p(t,r)}function h(t,e){t===e?m(t,new TypeError(&quot;You cannot resolve a promise with itself&quot;)):!function(t){return&quot;function&quot;==typeof t||&quot;object&quot;==typeof t&amp;&amp;null!==t}(e)?p(t,e):f(t,e,u(e))}function d(t){t._onerror&amp;&amp;t._onerror(t._result),v(t)}function p(t,e){t._state===R&amp;&amp;(t._result=e,t._state=N,0!==t._subscribers.length&amp;&amp;E(v,t))}function m(t,e){t._state===R&amp;&amp;(t._state=j,t._result=e,E(d,t))}function g(t,e,r,n){var i=t._subscribers,a=i.length;t._onerror=null,i[a]=e,i[a+N]=r,i[a+j]=n,0===a&amp;&amp;t._state&amp;&amp;E(v,t)}function v(t){var e=t._subscribers,r=t._state;if(0!==e.length){for(var n=void 0,i=void 0,a=t._result,o=0;o&lt;e.length;o+=3)n=e[o],i=e[o+r],n?x(r,n,i,a):i(a);t._subscribers.length=0}}function y(){this.error=null}function x(t,r,n,i){var a=e(n),o=void 0,s=void 0,l=void 0,c=void 0;if(a){if((o=function(t,e){try{return t(e)}catch(t){return U.error=t,U}}(n,i))===U?(c=!0,s=o.error,o=null):l=!0,r===o)return void m(r,new TypeError(&quot;A promises callback cannot return that same promise.&quot;))}else o=i,l=!0;r._state!==R||(a&amp;&amp;l?h(r,o):c?m(r,s):t===N?p(r,o):t===j&amp;&amp;m(r,o))}function b(t){t[F]=V++,t._state=void 0,t._result=void 0,t._subscribers=[]}function _(t,e){this._instanceConstructor=t,this.promise=new t(c),this.promise[F]||b(this.promise),k(e)?(this._input=e,this.length=e.length,this._remaining=e.length,this._result=new Array(this.length),0===this.length?p(this.promise,this._result):(this.length=this.length||0,this._enumerate(),0===this._remaining&amp;&amp;p(this.promise,this._result))):m(this.promise,new Error(&quot;Array Methods must be provided an Array&quot;))}function w(t){this[F]=V++,this._result=this._state=void 0,this._subscribers=[],c!==t&amp;&amp;(&quot;function&quot;!=typeof t&amp;&amp;function(){throw new TypeError(&quot;You must pass a resolver function as the first argument to the promise constructor&quot;)}(),this instanceof w?function(t,e){try{e(function(e){h(t,e)},function(e){m(t,e)})}catch(e){m(t,e)}}(this,t):function(){throw new TypeError(&quot;Failed to construct 'Promise': Please use the 'new' operator, this object constructor cannot be called as a function.&quot;)}())}function M(){var t=void 0;if(void 0!==i)t=i;else if(&quot;undefined&quot;!=typeof self)t=self;else try{t=Function(&quot;return this&quot;)()}catch(t){throw new Error(&quot;polyfill failed because global object is unavailable in this environment&quot;)}var e=t.Promise;if(e){var r=null;try{r=Object.prototype.toString.call(e.resolve())}catch(t){}if(&quot;[object Promise]&quot;===r&amp;&amp;!e.cast)return}t.Promise=w}var k=Array.isArray?Array.isArray:function(t){return&quot;[object Array]&quot;===Object.prototype.toString.call(t)},A=0,T=void 0,S=void 0,E=function(t,e){P[A]=t,P[A+1]=e,2===(A+=2)&amp;&amp;(S?S(a):O())},L=&quot;undefined&quot;!=typeof window?window:void 0,C=L||{},z=C.MutationObserver||C.WebKitMutationObserver,D=&quot;undefined&quot;==typeof self&amp;&amp;void 0!==n&amp;&amp;&quot;[object process]&quot;==={}.toString.call(n),I=&quot;undefined&quot;!=typeof Uint8ClampedArray&amp;&amp;&quot;undefined&quot;!=typeof importScripts&amp;&amp;&quot;undefined&quot;!=typeof MessageChannel,P=new Array(1e3),O=void 0;O=D?function(){return n.nextTick(a)}:z?function(){var t=0,e=new z(a),r=document.createTextNode(&quot;&quot;);return e.observe(r,{characterData:!0}),function(){r.data=t=++t%2}}():I?function(){var t=new MessageChannel;return t.port1.onmessage=a,function(){return t.port2.postMessage(0)}}():void 0===L&amp;&amp;&quot;function&quot;==typeof t?o():r();var F=Math.random().toString(36).substring(16),R=void 0,N=1,j=2,B=new y,U=new y,V=0;return _.prototype._enumerate=function(){for(var t=this.length,e=this._input,r=0;this._state===R&amp;&amp;r&lt;t;r++)this._eachEntry(e[r],r)},_.prototype._eachEntry=function(t,e){var r=this._instanceConstructor,n=r.resolve;if(n===l){var i=u(t);if(i===s&amp;&amp;t._state!==R)this._settledAt(t._state,e,t._result);else if(&quot;function&quot;!=typeof i)this._remaining--,this._result[e]=t;else if(r===w){var a=new r(c);f(a,t,i),this._willSettleAt(a,e)}else this._willSettleAt(new r(function(e){return e(t)}),e)}else this._willSettleAt(n(t),e)},_.prototype._settledAt=function(t,e,r){var n=this.promise;n._state===R&amp;&amp;(this._remaining--,t===j?m(n,r):this._result[e]=r),0===this._remaining&amp;&amp;p(n,this._result)},_.prototype._willSettleAt=function(t,e){var r=this;g(t,void 0,function(t){return r._settledAt(N,e,t)},function(t){return r._settledAt(j,e,t)})},w.all=function(t){return new _(this,t).promise},w.race=function(t){var e=this;return new e(k(t)?function(r,n){for(var i=t.length,a=0;a&lt;i;a++)e.resolve(t[a]).then(r,n)}:function(t,e){return e(new TypeError(&quot;You must pass an array to race.&quot;))})},w.resolve=l,w.reject=function(t){var e=new this(c);return m(e,t),e},w._setScheduler=function(t){S=t},w._setAsap=function(t){E=t},w._asap=E,w.prototype={constructor:w,then:s,catch:function(t){return this.then(null,t)}},M(),w.polyfill=M,w.Promise=w,w})}).call(this,t(&quot;_process&quot;),&quot;undefined&quot;!=typeof global?global:&quot;undefined&quot;!=typeof self?self:&quot;undefined&quot;!=typeof window?window:{})},{_process:488}],138:[function(t,e,r){function n(){this._events=this._events||{},this._maxListeners=this._maxListeners||void 0}function i(t){return&quot;function&quot;==typeof t}function a(t){return&quot;object&quot;==typeof t&amp;&amp;null!==t}function o(t){return void 0===t}e.exports=n,n.EventEmitter=n,n.prototype._events=void 0,n.prototype._maxListeners=void 0,n.defaultMaxListeners=10,n.prototype.setMaxListeners=function(t){if(!function(t){return&quot;number&quot;==typeof t}(t)||t&lt;0||isNaN(t))throw TypeError(&quot;n must be a positive number&quot;);return this._maxListeners=t,this},n.prototype.emit=function(t){var e,r,n,s,l,c;if(this._events||(this._events={}),&quot;error&quot;===t&amp;&amp;(!this._events.error||a(this._events.error)&amp;&amp;!this._events.error.length)){if((e=arguments[1])instanceof Error)throw e;var u=new Error('Uncaught, unspecified &quot;error&quot; event. ('+e+&quot;)&quot;);throw u.context=e,u}if(r=this._events[t],o(r))return!1;if(i(r))switch(arguments.length){case 1:r.call(this);break;case 2:r.call(this,arguments[1]);break;case 3:r.call(this,arguments[1],arguments[2]);break;default:s=Array.prototype.slice.call(arguments,1),r.apply(this,s)}else if(a(r))for(s=Array.prototype.slice.call(arguments,1),n=(c=r.slice()).length,l=0;l&lt;n;l++)c[l].apply(this,s);return!0},n.prototype.addListener=function(t,e){var r;if(!i(e))throw TypeError(&quot;listener must be a function&quot;);return this._events||(this._events={}),this._events.newListener&amp;&amp;this.emit(&quot;newListener&quot;,t,i(e.listener)?e.listener:e),this._events[t]?a(this._events[t])?this._events[t].push(e):this._events[t]=[this._events[t],e]:this._events[t]=e,a(this._events[t])&amp;&amp;!this._events[t].warned&amp;&amp;(r=o(this._maxListeners)?n.defaultMaxListeners:this._maxListeners)&amp;&amp;r&gt;0&amp;&amp;this._events[t].length&gt;r&amp;&amp;(this._events[t].warned=!0,console.error(&quot;(node) warning: possible EventEmitter memory leak detected. %d listeners added. Use emitter.setMaxListeners() to increase limit.&quot;,this._events[t].length),&quot;function&quot;==typeof console.trace&amp;&amp;console.trace()),this},n.prototype.on=n.prototype.addListener,n.prototype.once=function(t,e){function r(){this.removeListener(t,r),n||(n=!0,e.apply(this,arguments))}if(!i(e))throw TypeError(&quot;listener must be a function&quot;);var n=!1;return r.listener=e,this.on(t,r),this},n.prototype.removeListener=function(t,e){var r,n,o,s;if(!i(e))throw TypeError(&quot;listener must be a function&quot;);if(!this._events||!this._events[t])return this;if(r=this._events[t],o=r.length,n=-1,r===e||i(r.listener)&amp;&amp;r.listener===e)delete this._events[t],this._events.removeListener&amp;&amp;this.emit(&quot;removeListener&quot;,t,e);else if(a(r)){for(s=o;s-- &gt;0;)if(r[s]===e||r[s].listener&amp;&amp;r[s].listener===e){n=s;break}if(n&lt;0)return this;1===r.length?(r.length=0,delete this._events[t]):r.splice(n,1),this._events.removeListener&amp;&amp;this.emit(&quot;removeListener&quot;,t,e)}return this},n.prototype.removeAllListeners=function(t){var e,r;if(!this._events)return this;if(!this._events.removeListener)return 0===arguments.length?this._events={}:this._events[t]&amp;&amp;delete this._events[t],this;if(0===arguments.length){for(e in this._events)&quot;removeListener&quot;!==e&amp;&amp;this.removeAllListeners(e);return this.removeAllListeners(&quot;removeListener&quot;),this._events={},this}if(r=this._events[t],i(r))this.removeListener(t,r);else if(r)for(;r.length;)this.removeListener(t,r[r.length-1]);return delete this._events[t],this},n.prototype.listeners=function(t){return this._events&amp;&amp;this._events[t]?i(this._events[t])?[this._events[t]]:this._events[t].slice():[]},n.prototype.listenerCount=function(t){if(this._events){var e=this._events[t];if(i(e))return 1;if(e)return e.length}return 0},n.listenerCount=function(t,e){return t.listenerCount(e)}},{}],139:[function(t,e,r){&quot;use strict&quot;;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]]]}},{}],140:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t){var e=typeof t;if(&quot;string&quot;===e){var r=t;if(0===(t=+t)&amp;&amp;function(t){for(var e,r=t.length,n=0;n&lt;r;n++)if(((e=t.charCodeAt(n))&lt;9||e&gt;13)&amp;&amp;32!==e&amp;&amp;133!==e&amp;&amp;160!==e&amp;&amp;5760!==e&amp;&amp;6158!==e&amp;&amp;(e&lt;8192||e&gt;8205)&amp;&amp;8232!==e&amp;&amp;8233!==e&amp;&amp;8239!==e&amp;&amp;8287!==e&amp;&amp;8288!==e&amp;&amp;12288!==e&amp;&amp;65279!==e)return!1;return!0}(r))return!1}else if(&quot;number&quot;!==e)return!1;return t-t&lt;1}},{}],141:[function(t,e,r){&quot;use strict&quot;;function n(t){if(!t)return&quot;true&quot;;var e=t[0];if(t.length&lt;=1)return&quot;any&quot;===e?&quot;false&quot;:&quot;true&quot;;return&quot;(&quot;+(&quot;==&quot;===e?a(t[1],t[2],&quot;===&quot;,!1):&quot;!=&quot;===e?a(t[1],t[2],&quot;!==&quot;,!1):&quot;&lt;&quot;===e||&quot;&gt;&quot;===e||&quot;&lt;=&quot;===e||&quot;&gt;=&quot;===e?a(t[1],t[2],e,!0):&quot;any&quot;===e?o(t.slice(1),&quot;||&quot;):&quot;all&quot;===e?o(t.slice(1),&quot;&amp;&amp;&quot;):&quot;none&quot;===e?c(o(t.slice(1),&quot;||&quot;)):&quot;in&quot;===e?s(t[1],t.slice(2)):&quot;!in&quot;===e?c(s(t[1],t.slice(2))):&quot;has&quot;===e?l(t[1]):&quot;!has&quot;===e?c(l([t[1]])):&quot;true&quot;)+&quot;)&quot;}function i(t){return&quot;$type&quot;===t?&quot;f.type&quot;:&quot;$id&quot;===t?&quot;f.id&quot;:&quot;p[&quot;+JSON.stringify(t)+&quot;]&quot;}function a(t,e,r,n){var a=i(t),o=&quot;$type&quot;===t?f.indexOf(e):JSON.stringify(e);return(n?&quot;typeof &quot;+a+&quot;=== typeof &quot;+o+&quot;&amp;&amp;&quot;:&quot;&quot;)+a+r+o}function o(t,e){return t.map(n).join(e)}function s(t,e){&quot;$type&quot;===t&amp;&amp;(e=e.map(function(t){return f.indexOf(t)}));var r=JSON.stringify(e.sort(u)),n=i(t);return e.length&lt;=200?r+&quot;.indexOf(&quot;+n+&quot;) !== -1&quot;:&quot;function(v, a, i, j) {while (i &lt;= j) { var m = (i + j) &gt;&gt; 1;    if (a[m] === v) return true; if (a[m] &gt; v) j = m - 1; else i = m + 1;}return false; }(&quot;+n+&quot;, &quot;+r+&quot;,0,&quot;+(e.length-1)+&quot;)&quot;}function l(t){return JSON.stringify(t)+&quot; in p&quot;}function c(t){return&quot;!(&quot;+t+&quot;)&quot;}function u(t,e){return t&lt;e?-1:t&gt;e?1:0}e.exports=function(t){return new Function(&quot;f&quot;,&quot;var p = (f &amp;&amp; f.properties || {}); return &quot;+n(t))};var f=[&quot;Unknown&quot;,&quot;Point&quot;,&quot;LineString&quot;,&quot;Polygon&quot;]},{}],142:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r){return Math.min(e,Math.max(t,r))}function i(t,e,r){this.dimension=t.length,this.bounds=[new Array(this.dimension),new Array(this.dimension)];for(var n=0;n&lt;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()]}function a(t){for(var e=new Array(t),r=0;r&lt;t;++r)e[r]=0;return e}e.exports=function(t,e,r){switch(arguments.length){case 0:return new i([0],[0],0);case 1:return&quot;number&quot;==typeof t?new i(n=a(t),n,0):new i(t,a(t.length),0);case 2:if(&quot;number&quot;==typeof e){var n;return new i(t,n=a(t.length),+e)}r=0;case 3:if(t.length!==e.length)throw new Error(&quot;state and velocity lengths must match&quot;);return new i(t,e,r)}};var o=t(&quot;cubic-hermite&quot;),s=t(&quot;binary-search-bounds&quot;),l=i.prototype;l.flush=function(t){var e=s.gt(this._time,t)-1;e&lt;=0||(this._time.splice(0,e),this._state.splice(0,e*this.dimension),this._velocity.splice(0,e*this.dimension))},l.curve=function(t){var e=this._time,r=e.length,i=s.le(e,t),a=this._scratch[0],l=this._state,c=this._velocity,u=this.dimension,f=this.bounds;if(i&lt;0)for(var h=u-1,d=0;d&lt;u;++d,--h)a[d]=l[h];else if(i&gt;=r-1){h=l.length-1;var p=t-e[r-1];for(d=0;d&lt;u;++d,--h)a[d]=l[h]+p*c[h]}else{h=u*(i+1)-1;var m=e[i],g=e[i+1]-m||1,v=this._scratch[1],y=this._scratch[2],x=this._scratch[3],b=this._scratch[4],_=!0;for(d=0;d&lt;u;++d,--h)v[d]=l[h],x[d]=c[h]*g,y[d]=l[h+u],b[d]=c[h+u]*g,_=_&amp;&amp;v[d]===y[d]&amp;&amp;x[d]===b[d]&amp;&amp;0===x[d];if(_)for(d=0;d&lt;u;++d)a[d]=v[d];else o(v,x,y,b,(t-m)/g,a)}var w=f[0],M=f[1];for(d=0;d&lt;u;++d)a[d]=n(w[d],M[d],a[d]);return a},l.dcurve=function(t){var e=this._time,r=e.length,n=s.le(e,t),i=this._scratch[0],a=this._state,l=this._velocity,c=this.dimension;if(n&gt;=r-1)for(var u=a.length-1,f=(e[r-1],0);f&lt;c;++f,--u)i[f]=l[u];else{u=c*(n+1)-1;var h=e[n],d=e[n+1]-h||1,p=this._scratch[1],m=this._scratch[2],g=this._scratch[3],v=this._scratch[4],y=!0;for(f=0;f&lt;c;++f,--u)p[f]=a[u],g[f]=l[u]*d,m[f]=a[u+c],v[f]=l[u+c]*d,y=y&amp;&amp;p[f]===m[f]&amp;&amp;g[f]===v[f]&amp;&amp;0===g[f];if(y)for(f=0;f&lt;c;++f)i[f]=0;else{o.derivative(p,g,m,v,(t-h)/d,i);for(f=0;f&lt;c;++f)i[f]/=d}}return i},l.lastT=function(){var t=this._time;return t[t.length-1]},l.stable=function(){for(var t=this._velocity,e=t.length,r=this.dimension-1;r&gt;=0;--r)if(t[--e])return!1;return!0},l.jump=function(t){var e=this.lastT(),r=this.dimension;if(!(t&lt;e||arguments.length!==r+1)){var i=this._state,a=this._velocity,o=i.length-this.dimension,s=this.bounds,l=s[0],c=s[1];this._time.push(e,t);for(var u=0;u&lt;2;++u)for(var f=0;f&lt;r;++f)i.push(i[o++]),a.push(0);this._time.push(t);for(f=r;f&gt;0;--f)i.push(n(l[f-1],c[f-1],arguments[f])),a.push(0)}},l.push=function(t){var e=this.lastT(),r=this.dimension;if(!(t&lt;e||arguments.length!==r+1)){var i=this._state,a=this._velocity,o=i.length-this.dimension,s=t-e,l=this.bounds,c=l[0],u=l[1],f=s&gt;1e-6?1/s:0;this._time.push(t);for(var h=r;h&gt;0;--h){var d=n(c[h-1],u[h-1],arguments[h]);i.push(d),a.push((d-i[o++])*f)}}},l.set=function(t){var e=this.dimension;if(!(t&lt;this.lastT()||arguments.length!==e+1)){var r=this._state,i=this._velocity,a=this.bounds,o=a[0],s=a[1];this._time.push(t);for(var l=e;l&gt;0;--l)r.push(n(o[l-1],s[l-1],arguments[l])),i.push(0)}},l.move=function(t){var e=this.lastT(),r=this.dimension;if(!(t&lt;=e||arguments.length!==r+1)){var i=this._state,a=this._velocity,o=i.length-this.dimension,s=this.bounds,l=s[0],c=s[1],u=t-e,f=u&gt;1e-6?1/u:0;this._time.push(t);for(var h=r;h&gt;0;--h){var d=arguments[h];i.push(n(l[h-1],c[h-1],i[o++]+d)),a.push(d*f)}}},l.idle=function(t){var e=this.lastT();if(!(t&lt;e)){var r=this.dimension,i=this._state,a=this._velocity,o=i.length-r,s=this.bounds,l=s[0],c=s[1],u=t-e;this._time.push(t);for(var f=r-1;f&gt;=0;--f)i.push(n(l[f],c[f],i[o]+u*a[o])),a.push(0),o+=1}}},{&quot;binary-search-bounds&quot;:70,&quot;cubic-hermite&quot;:115}],143:[function(t,e,r){var n=t(&quot;dtype&quot;);e.exports=function(t,e,r){if(!t)throw new TypeError(&quot;must specify data as first parameter&quot;);if(r=0|+(r||0),Array.isArray(t)&amp;&amp;Array.isArray(t[0])){var i=t[0].length,a=t.length*i;e&amp;&amp;&quot;string&quot;!=typeof e||(e=new(n(e||&quot;float32&quot;))(a+r));var o=e.length-r;if(a!==o)throw new Error(&quot;source length &quot;+a+&quot; (&quot;+i+&quot;x&quot;+t.length+&quot;) does not match destination length &quot;+o);for(var s=0,l=r;s&lt;t.length;s++)for(var c=0;c&lt;i;c++)e[l++]=t[s][c]}else if(e&amp;&amp;&quot;string&quot;!=typeof e)e.set(t,r);else{var u=n(e||&quot;float32&quot;);0===r?e=new u(t):(e=new u(t.length+r)).set(t,r)}return e}},{dtype:133}],144:[function(t,e,r){&quot;use strict&quot;;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}function l(t,e){if(e.left){if(r=l(t,e.left))return r}var r;return(r=t(e.key,e.value))||(e.right?l(t,e.right):void 0)}function c(t,e,r,n){if(e(t,n.key)&lt;=0){if(n.left){if(i=c(t,e,r,n.left))return i}var i;if(i=r(n.key,n.value))return i}if(n.right)return c(t,e,r,n.right)}function u(t,e,r,n,i){var a,o=r(t,i.key),s=r(e,i.key);if(o&lt;=0){if(i.left&amp;&amp;(a=u(t,e,r,n,i.left)))return a;if(s&gt;0&amp;&amp;(a=n(i.key,i.value)))return a}if(s&gt;0&amp;&amp;i.right)return u(t,e,r,n,i.right)}function f(t,e){this.tree=t,this._stack=e}function h(t,e){t.key=e.key,t.value=e.value,t.left=e.left,t.right=e.right,t._color=e._color,t._count=e._count}e.exports=function(t){return new s(t||function(t,e){return t&lt;e?-1:t&gt;e?1:0},null)};var d=0,p=1,m=s.prototype;Object.defineProperty(m,&quot;keys&quot;,{get:function(){var t=[];return this.forEach(function(e,r){t.push(e)}),t}}),Object.defineProperty(m,&quot;values&quot;,{get:function(){var t=[];return this.forEach(function(e,r){t.push(r)}),t}}),Object.defineProperty(m,&quot;length&quot;,{get:function(){return this.root?this.root._count:0}}),m.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&lt;=0?i.left:i.right}l.push(new n(d,t,e,null,null,1));for(var f=l.length-2;f&gt;=0;--f){i=l[f];c[f]&lt;=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&gt;1;--f){var h=l[f-1];i=l[f];if(h._color===p||i._color===p)break;var m=l[f-2];if(m.left===h)if(h.left===i){if(!(g=m.right)||g._color!==d){if(m._color=d,m.left=h.right,h._color=p,h.right=m,l[f-2]=h,l[f-1]=i,o(m),o(h),f&gt;=3){(v=l[f-3]).left===m?v.left=h:v.right=h}break}h._color=p,m.right=a(p,g),m._color=d,f-=1}else{if(!(g=m.right)||g._color!==d){if(h.right=i.left,m._color=d,m.left=i.right,i._color=p,i.left=h,i.right=m,l[f-2]=i,l[f-1]=h,o(m),o(h),o(i),f&gt;=3){(v=l[f-3]).left===m?v.left=i:v.right=i}break}h._color=p,m.right=a(p,g),m._color=d,f-=1}else if(h.right===i){if(!(g=m.left)||g._color!==d){if(m._color=d,m.right=h.left,h._color=p,h.left=m,l[f-2]=h,l[f-1]=i,o(m),o(h),f&gt;=3){(v=l[f-3]).right===m?v.right=h:v.left=h}break}h._color=p,m.left=a(p,g),m._color=d,f-=1}else{var g;if(!(g=m.left)||g._color!==d){if(h.left=i.right,m._color=d,m.right=i.left,i._color=p,i.right=h,i.left=m,l[f-2]=i,l[f-1]=h,o(m),o(h),o(i),f&gt;=3){var v;(v=l[f-3]).right===m?v.right=i:v.left=i}break}h._color=p,m.left=a(p,g),m._color=d,f-=1}}return l[0]._color=p,new s(r,l[0])},m.forEach=function(t,e,r){if(this.root)switch(arguments.length){case 1:return l(t,this.root);case 2:return c(e,this._compare,t,this.root);case 3:if(this._compare(e,r)&gt;=0)return;return u(e,r,this._compare,t,this.root)}},Object.defineProperty(m,&quot;begin&quot;,{get:function(){for(var t=[],e=this.root;e;)t.push(e),e=e.left;return new f(this,t)}}),Object.defineProperty(m,&quot;end&quot;,{get:function(){for(var t=[],e=this.root;e;)t.push(e),e=e.right;return new f(this,t)}}),m.at=function(t){if(t&lt;0)return new f(this,[]);for(var e=this.root,r=[];;){if(r.push(e),e.left){if(t&lt;e.left._count){e=e.left;continue}t-=e.left._count}if(!t)return new f(this,r);if(t-=1,!e.right)break;if(t&gt;=e.right._count)break;e=e.right}return new f(this,[])},m.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&lt;=0&amp;&amp;(i=n.length),r=a&lt;=0?r.left:r.right}return n.length=i,new f(this,n)},m.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&lt;0&amp;&amp;(i=n.length),r=a&lt;0?r.left:r.right}return n.length=i,new f(this,n)},m.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&gt;0&amp;&amp;(i=n.length),r=a&lt;=0?r.left:r.right}return n.length=i,new f(this,n)},m.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&gt;=0&amp;&amp;(i=n.length),r=a&lt;0?r.left:r.right}return n.length=i,new f(this,n)},m.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 f(this,n);r=i&lt;=0?r.left:r.right}return new f(this,[])},m.remove=function(t){var e=this.find(t);return e?e.remove():this},m.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&lt;=0?r.left:r.right}};var g=f.prototype;Object.defineProperty(g,&quot;valid&quot;,{get:function(){return this._stack.length&gt;0}}),Object.defineProperty(g,&quot;node&quot;,{get:function(){return this._stack.length&gt;0?this._stack[this._stack.length-1]:null},enumerable:!0}),g.clone=function(){return new f(this.tree,this._stack.slice())},g.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&gt;=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&amp;&amp;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&gt;=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((r=e[e.length-1])._color===d){var f=e[e.length-2];f.left===r?f.left=null:f.right===r&amp;&amp;(f.right=null),e.pop();for(l=0;l&lt;e.length;++l)e[l]._count--;return new s(this.tree._compare,e[0])}if(r.left||r.right){r.left?h(r,r.left):r.right&amp;&amp;h(r,r.right),r._color=p;for(l=0;l&lt;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&lt;e.length;++l)e[l]._count--;var m=e[e.length-2];return function(t){for(var e,r,n,s,l=t.length-1;l&gt;=0;--l){if(e=t[l],0===l)return void(e._color=p);if((r=t[l-1]).left===e){if((n=r.right).right&amp;&amp;n.right._color===d)return n=r.right=i(n),s=n.right=i(n.right),r.right=n.left,n.left=r,n.right=s,n._color=r._color,e._color=p,r._color=p,s._color=p,o(r),o(n),l&gt;1&amp;&amp;((c=t[l-2]).left===r?c.left=n:c.right=n),void(t[l-1]=n);if(n.left&amp;&amp;n.left._color===d)return n=r.right=i(n),s=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=p,n._color=p,e._color=p,o(r),o(n),o(s),l&gt;1&amp;&amp;((c=t[l-2]).left===r?c.left=s:c.right=s),void(t[l-1]=s);if(n._color===p){if(r._color===d)return r._color=p,void(r.right=a(d,n));r.right=a(d,n);continue}n=i(n),r.right=n.left,n.left=r,n._color=r._color,r._color=d,o(r),o(n),l&gt;1&amp;&amp;((c=t[l-2]).left===r?c.left=n:c.right=n),t[l-1]=n,t[l]=r,l+1&lt;t.length?t[l+1]=e:t.push(e),l+=2}else{if((n=r.left).left&amp;&amp;n.left._color===d)return n=r.left=i(n),s=n.left=i(n.left),r.left=n.right,n.right=r,n.left=s,n._color=r._color,e._color=p,r._color=p,s._color=p,o(r),o(n),l&gt;1&amp;&amp;((c=t[l-2]).right===r?c.right=n:c.left=n),void(t[l-1]=n);if(n.right&amp;&amp;n.right._color===d)return n=r.left=i(n),s=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=p,n._color=p,e._color=p,o(r),o(n),o(s),l&gt;1&amp;&amp;((c=t[l-2]).right===r?c.right=s:c.left=s),void(t[l-1]=s);if(n._color===p){if(r._color===d)return r._color=p,void(r.left=a(d,n));r.left=a(d,n);continue}if(n=i(n),r.left=n.right,n.right=r,n._color=r._color,r._color=d,o(r),o(n),l&gt;1){var c;(c=t[l-2]).right===r?c.right=n:c.left=n}t[l-1]=n,t[l]=r,l+1&lt;t.length?t[l+1]=e:t.push(e),l+=2}}}(e),m.left===r?m.left=null:m.right=null,new s(this.tree._compare,e[0])},Object.defineProperty(g,&quot;key&quot;,{get:function(){if(this._stack.length&gt;0)return this._stack[this._stack.length-1].key},enumerable:!0}),Object.defineProperty(g,&quot;value&quot;,{get:function(){if(this._stack.length&gt;0)return this._stack[this._stack.length-1].value},enumerable:!0}),Object.defineProperty(g,&quot;index&quot;,{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&amp;&amp;(t=e[e.length-1].left._count);for(var n=e.length-2;n&gt;=0;--n)e[n+1]===e[n].right&amp;&amp;(++t,e[n].left&amp;&amp;(t+=e[n].left._count));return t},enumerable:!0}),g.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&gt;0&amp;&amp;t[t.length-1].right===e;)e=t[t.length-1],t.pop()}},Object.defineProperty(g,&quot;hasNext&quot;,{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&gt;0;--e)if(t[e-1].left===t[e])return!0;return!1}}),g.update=function(t){var e=this._stack;if(0===e.length)throw new Error(&quot;Can't update empty node!&quot;);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&gt;=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])},g.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&gt;0&amp;&amp;t[t.length-1].left===e;)e=t[t.length-1],t.pop()}},Object.defineProperty(g,&quot;hasPrev&quot;,{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&gt;0;--e)if(t[e-1].right===t[e])return!0;return!1}})},{}],145:[function(t,e,r){function n(t){if(t&lt;0)return Number(&quot;0/0&quot;);for(var e=o[0],r=o.length-1;r&gt;0;--r)e+=o[r]/(t+r);var n=t+a+.5;return.5*Math.log(2*Math.PI)+(t+.5)*Math.log(n)-n+Math.log(e)-Math.log(t)}var i=[.9999999999998099,676.5203681218851,-1259.1392167224028,771.3234287776531,-176.6150291621406,12.507343278686905,-.13857109526572012,9984369578019572e-21,1.5056327351493116e-7],a=607/128,o=[.9999999999999971,57.15623566586292,-59.59796035547549,14.136097974741746,-.4919138160976202,3399464998481189e-20,4652362892704858e-20,-9837447530487956e-20,.0001580887032249125,-.00021026444172410488,.00021743961811521265,-.0001643181065367639,8441822398385275e-20,-26190838401581408e-21,36899182659531625e-22];e.exports=function t(e){if(e&lt;.5)return Math.PI/(Math.sin(Math.PI*e)*t(1-e));if(e&gt;100)return Math.exp(n(e));e-=1;for(var r=i[0],a=1;a&lt;9;a++)r+=i[a]/(e+a);var o=e+7+.5;return Math.sqrt(2*Math.PI)*Math.pow(o,e+.5)*Math.exp(-o)*r},e.exports.log=n},{}],146:[function(t,e,r){function n(t){var e=0;if(t&amp;&amp;t.length&gt;0){e+=Math.abs(i(t[0]));for(var r=1;r&lt;t.length;r++)e-=Math.abs(i(t[r]))}return e}function i(t){var e=0;if(t.length&gt;2){for(var r,n,i=0;i&lt;t.length-1;i++)r=t[i],e+=a((n=t[i+1])[0]-r[0])*(2+Math.sin(a(r[1]))+Math.sin(a(n[1])));e=e*o.RADIUS*o.RADIUS/2}return e}function a(t){return t*Math.PI/180}var o=t(&quot;wgs84&quot;);e.exports.geometry=function(t){if(&quot;Polygon&quot;===t.type)return n(t.coordinates);if(&quot;MultiPolygon&quot;===t.type){for(var e=0,r=0;r&lt;t.coordinates.length;r++)e+=n(t.coordinates[r]);return e}return null},e.exports.ring=i},{wgs84:579}],147:[function(t,e,r){function n(t,e){switch(t&amp;&amp;t.type||null){case&quot;FeatureCollection&quot;:return t.features=t.features.map(i(n,e)),t;case&quot;Feature&quot;:return t.geometry=n(t.geometry,e),t;case&quot;Polygon&quot;:case&quot;MultiPolygon&quot;:return function(t,e){&quot;Polygon&quot;===t.type?t.coordinates=a(t.coordinates,e):&quot;MultiPolygon&quot;===t.type&amp;&amp;(t.coordinates=t.coordinates.map(i(a,e)));return t}(t,e);default:return t}}function i(t,e){return function(r){return t(r,e)}}function a(t,e){e=!!e,t[0]=o(t[0],!e);for(var r=1;r&lt;t.length;r++)t[r]=o(t[r],e);return t}function o(t,e){return function(t){return s.ring(t)&gt;=0}(t)===e?t:t.reverse()}var s=t(&quot;geojson-area&quot;);e.exports=n},{&quot;geojson-area&quot;:146}],148:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,n,i){return e.length&amp;&amp;(e.area=r,e.dist=n,void 0!==i&amp;&amp;(e.outer=i),t.push(e)),[]}e.exports=function(t,e,r,a,o,s,l,c){if(r/=e,a/=e,l&gt;=r&amp;&amp;c&lt;=a)return t;if(l&gt;a||c&lt;r)return null;for(var u=[],f=0;f&lt;t.length;f++){var h,d,p=t[f],m=p.geometry,g=p.type;if(h=p.min[o],d=p.max[o],h&gt;=r&amp;&amp;d&lt;=a)u.push(p);else if(!(h&gt;a||d&lt;r)){var v=1===g?function(t,e,r,n){for(var i=[],a=0;a&lt;t.length;a++){var o=t[a],s=o[n];s&gt;=e&amp;&amp;s&lt;=r&amp;&amp;i.push(o)}return i}(m,r,a,o):function(t,e,r,i,a,o){for(var s=[],l=0;l&lt;t.length;l++){var c,u,f,h=0,d=0,p=null,m=t[l],g=m.area,v=m.dist,y=m.outer,x=m.length,b=[];for(u=0;u&lt;x-1;u++)c=p||m[u],p=m[u+1],h=d||c[i],d=p[i],h&lt;e?d&gt;r?(b.push(a(c,p,e),a(c,p,r)),o||(b=n(s,b,g,v,y))):d&gt;=e&amp;&amp;b.push(a(c,p,e)):h&gt;r?d&lt;e?(b.push(a(c,p,r),a(c,p,e)),o||(b=n(s,b,g,v,y))):d&lt;=r&amp;&amp;b.push(a(c,p,r)):(b.push(c),d&lt;e?(b.push(a(c,p,e)),o||(b=n(s,b,g,v,y))):d&gt;r&amp;&amp;(b.push(a(c,p,r)),o||(b=n(s,b,g,v,y))));c=m[x-1],(h=c[i])&gt;=e&amp;&amp;h&lt;=r&amp;&amp;b.push(c),f=b[b.length-1],o&amp;&amp;f&amp;&amp;(b[0][0]!==f[0]||b[0][1]!==f[1])&amp;&amp;b.push(b[0]),n(s,b,g,v,y)}return s}(m,r,a,o,s,3===g);v.length&amp;&amp;u.push(i(p.tags,g,v,p.id))}}return u.length?u:null};var i=t(&quot;./feature&quot;)},{&quot;./feature&quot;:150}],149:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r){if(null!==e.geometry){var o,l,c,u,f=e.geometry,h=f.type,d=f.coordinates,p=e.properties,m=e.id;if(&quot;Point&quot;===h)t.push(s(p,1,[a(d)],m));else if(&quot;MultiPoint&quot;===h)t.push(s(p,1,i(d),m));else if(&quot;LineString&quot;===h)t.push(s(p,2,[i(d,r)],m));else if(&quot;MultiLineString&quot;===h||&quot;Polygon&quot;===h){for(c=[],o=0;o&lt;d.length;o++)u=i(d[o],r),&quot;Polygon&quot;===h&amp;&amp;(u.outer=0===o),c.push(u);t.push(s(p,&quot;Polygon&quot;===h?3:2,c,m))}else if(&quot;MultiPolygon&quot;===h){for(c=[],o=0;o&lt;d.length;o++)for(l=0;l&lt;d[o].length;l++)(u=i(d[o][l],r)).outer=0===l,c.push(u);t.push(s(p,3,c,m))}else{if(&quot;GeometryCollection&quot;!==h)throw new Error(&quot;Input data is not a valid GeoJSON object.&quot;);for(o=0;o&lt;f.geometries.length;o++)n(t,{geometry:f.geometries[o],properties:p},r)}}}function i(t,e){for(var r=[],n=0;n&lt;t.length;n++)r.push(a(t[n]));return e&amp;&amp;(o(r,e),function(t){for(var e,r,n=0,i=0,a=0;a&lt;t.length-1;a++)e=r||t[a],r=t[a+1],n+=e[0]*r[1]-r[0]*e[1],i+=Math.abs(r[0]-e[0])+Math.abs(r[1]-e[1]);t.area=Math.abs(n/2),t.dist=i}(r)),r}function a(t){var e=Math.sin(t[1]*Math.PI/180),r=t[0]/360+.5,n=.5-.25*Math.log((1+e)/(1-e))/Math.PI;return n=n&lt;0?0:n&gt;1?1:n,[r,n,0]}e.exports=function(t,e){var r=[];if(&quot;FeatureCollection&quot;===t.type)for(var i=0;i&lt;t.features.length;i++)n(r,t.features[i],e);else&quot;Feature&quot;===t.type?n(r,t,e):n(r,{geometry:t},e);return r};var o=t(&quot;./simplify&quot;),s=t(&quot;./feature&quot;)},{&quot;./feature&quot;:150,&quot;./simplify&quot;:152}],150:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r){for(var n,i=0;i&lt;r.length;i++)n=r[i],t[0]=Math.min(n[0],t[0]),e[0]=Math.max(n[0],e[0]),t[1]=Math.min(n[1],t[1]),e[1]=Math.max(n[1],e[1])}e.exports=function(t,e,r,i){var a={id:i||null,type:e,geometry:r,tags:t||null,min:[1/0,1/0],max:[-1/0,-1/0]};return function(t){var e=t.geometry,r=t.min,i=t.max;if(1===t.type)n(r,i,e);else for(var a=0;a&lt;e.length;a++)n(r,i,e[a])}(a),a}},{}],151:[function(t,e,r){&quot;use strict&quot;;function n(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;r&amp;&amp;console.time(&quot;preprocess data&quot;);var n=1&lt;&lt;e.maxZoom,i=l(t,e.tolerance/(n*e.extent));this.tiles={},this.tileCoords=[],r&amp;&amp;(console.timeEnd(&quot;preprocess data&quot;),console.log(&quot;index: maxZoom: %d, maxPoints: %d&quot;,e.indexMaxZoom,e.indexMaxPoints),console.time(&quot;generate tiles&quot;),this.stats={},this.total=0),(i=f(i,e.buffer/e.extent,a)).length&amp;&amp;this.splitTile(i,0,0,0),r&amp;&amp;(i.length&amp;&amp;console.log(&quot;features: %d, points: %d&quot;,this.tiles[0].numFeatures,this.tiles[0].numPoints),console.timeEnd(&quot;generate tiles&quot;),console.log(&quot;tiles generated:&quot;,this.total,JSON.stringify(this.stats)))}function i(t,e,r){return 32*((1&lt;&lt;t)*r+e)+t}function a(t,e,r){return[r,(r-t[0])*(e[1]-t[1])/(e[0]-t[0])+t[1],1]}function o(t,e,r){return[(r-t[1])*(e[0]-t[0])/(e[1]-t[1])+t[0],r,1]}function s(t,e,r){var n=t.source;if(1!==n.length)return!1;var i=n[0];if(3!==i.type||i.geometry.length&gt;1)return!1;var a=i.geometry[0].length;if(5!==a)return!1;for(var o=0;o&lt;a;o++){var s=c.point(i.geometry[0][o],e,t.z2,t.x,t.y);if(s[0]!==-r&amp;&amp;s[0]!==e+r||s[1]!==-r&amp;&amp;s[1]!==e+r)return!1}return!0}e.exports=function(t,e){return new n(t,e)};var l=t(&quot;./convert&quot;),c=t(&quot;./transform&quot;),u=t(&quot;./clip&quot;),f=t(&quot;./wrap&quot;),h=t(&quot;./tile&quot;);n.prototype.options={maxZoom:14,indexMaxZoom:5,indexMaxPoints:1e5,solidChildren:!1,tolerance:3,extent:4096,buffer:64,debug:0},n.prototype.splitTile=function(t,e,r,n,l,c,f){for(var d=[t,e,r,n],p=this.options,m=p.debug,g=null;d.length;){n=d.pop(),r=d.pop(),e=d.pop(),t=d.pop();var v=1&lt;&lt;e,y=i(e,r,n),x=this.tiles[y],b=e===p.maxZoom?0:p.tolerance/(v*p.extent);if(!x&amp;&amp;(m&gt;1&amp;&amp;console.time(&quot;creation&quot;),x=this.tiles[y]=h(t,v,r,n,b,e===p.maxZoom),this.tileCoords.push({z:e,x:r,y:n}),m)){m&gt;1&amp;&amp;(console.log(&quot;tile z%d-%d-%d (features: %d, points: %d, simplified: %d)&quot;,e,r,n,x.numFeatures,x.numPoints,x.numSimplified),console.timeEnd(&quot;creation&quot;));var _=&quot;z&quot;+e;this.stats[_]=(this.stats[_]||0)+1,this.total++}if(x.source=t,l){if(e===p.maxZoom||e===l)continue;var w=1&lt;&lt;l-e;if(r!==Math.floor(c/w)||n!==Math.floor(f/w))continue}else if(e===p.indexMaxZoom||x.numPoints&lt;=p.indexMaxPoints)continue;if(p.solidChildren||!s(x,p.extent,p.buffer)){x.source=null,m&gt;1&amp;&amp;console.time(&quot;clipping&quot;);var M,k,A,T,S,E,L=.5*p.buffer/p.extent,C=.5-L,z=.5+L,D=1+L;M=k=A=T=null,S=u(t,v,r-L,r+z,0,a,x.min[0],x.max[0]),E=u(t,v,r+C,r+D,0,a,x.min[0],x.max[0]),S&amp;&amp;(M=u(S,v,n-L,n+z,1,o,x.min[1],x.max[1]),k=u(S,v,n+C,n+D,1,o,x.min[1],x.max[1])),E&amp;&amp;(A=u(E,v,n-L,n+z,1,o,x.min[1],x.max[1]),T=u(E,v,n+C,n+D,1,o,x.min[1],x.max[1])),m&gt;1&amp;&amp;console.timeEnd(&quot;clipping&quot;),t.length&amp;&amp;(d.push(M||[],e+1,2*r,2*n),d.push(k||[],e+1,2*r,2*n+1),d.push(A||[],e+1,2*r+1,2*n),d.push(T||[],e+1,2*r+1,2*n+1))}else l&amp;&amp;(g=e)}return g},n.prototype.getTile=function(t,e,r){var n=this.options,a=n.extent,o=n.debug,l=1&lt;&lt;t,u=i(t,e=(e%l+l)%l,r);if(this.tiles[u])return c.tile(this.tiles[u],a);o&gt;1&amp;&amp;console.log(&quot;drilling down to z%d-%d-%d&quot;,t,e,r);for(var f,h=t,d=e,p=r;!f&amp;&amp;h&gt;0;)h--,d=Math.floor(d/2),p=Math.floor(p/2),f=this.tiles[i(h,d,p)];if(!f||!f.source)return null;if(o&gt;1&amp;&amp;console.log(&quot;found parent tile z%d-%d-%d&quot;,h,d,p),s(f,a,n.buffer))return c.tile(f,a);o&gt;1&amp;&amp;console.time(&quot;drilling down&quot;);var m=this.splitTile(f.source,h,d,p,t,e,r);if(o&gt;1&amp;&amp;console.timeEnd(&quot;drilling down&quot;),null!==m){var g=1&lt;&lt;t-m;u=i(m,Math.floor(e/g),Math.floor(r/g))}return this.tiles[u]?c.tile(this.tiles[u],a):null}},{&quot;./clip&quot;:148,&quot;./convert&quot;:149,&quot;./tile&quot;:153,&quot;./transform&quot;:154,&quot;./wrap&quot;:155}],152:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t,e){var r,n,i,a,o=e*e,s=0,l=t.length-1,c=[];for(t[s][2]=1,t[l][2]=1;l;){for(n=0,r=s+1;r&lt;l;r++)(i=function(t,e,r){var n=e[0],i=e[1],a=r[0],o=r[1],s=t[0],l=t[1],c=a-n,u=o-i;if(0!==c||0!==u){var f=((s-n)*c+(l-i)*u)/(c*c+u*u);f&gt;1?(n=a,i=o):f&gt;0&amp;&amp;(n+=c*f,i+=u*f)}return c=s-n,u=l-i,c*c+u*u}(t[r],t[s],t[l]))&gt;n&amp;&amp;(a=r,n=i);n&gt;o?(t[a][2]=n,c.push(s),c.push(a),s=a):(l=c.pop(),s=c.pop())}}},{}],153:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t,e,r,n,i,a){for(var o={features:[],numPoints:0,numSimplified:0,numFeatures:0,source:null,x:r,y:n,z2:e,transformed:!1,min:[2,1],max:[-1,0]},s=0;s&lt;t.length;s++){o.numFeatures++,function(t,e,r,n){var i,a,o,s,l=e.geometry,c=e.type,u=[],f=r*r;if(1===c)for(i=0;i&lt;l.length;i++)u.push(l[i]),t.numPoints++,t.numSimplified++;else for(i=0;i&lt;l.length;i++)if(o=l[i],n||!(2===c&amp;&amp;o.dist&lt;r||3===c&amp;&amp;o.area&lt;f)){var h=[];for(a=0;a&lt;o.length;a++)s=o[a],(n||s[2]&gt;f)&amp;&amp;(h.push(s),t.numSimplified++),t.numPoints++;3===c&amp;&amp;function(t,e){(function(t){for(var e,r,n=0,i=0,a=t.length,o=a-1;i&lt;a;o=i++)e=t[i],r=t[o],n+=(r[0]-e[0])*(e[1]+r[1]);return n})(t)&lt;0===e&amp;&amp;t.reverse()}(h,o.outer),u.push(h)}else t.numPoints+=o.length;if(u.length){var d={geometry:u,type:c,tags:e.tags||null};null!==e.id&amp;&amp;(d.id=e.id),t.features.push(d)}}(o,t[s],i,a);var l=t[s].min,c=t[s].max;l[0]&lt;o.min[0]&amp;&amp;(o.min[0]=l[0]),l[1]&lt;o.min[1]&amp;&amp;(o.min[1]=l[1]),c[0]&gt;o.max[0]&amp;&amp;(o.max[0]=c[0]),c[1]&gt;o.max[1]&amp;&amp;(o.max[1]=c[1])}return o}},{}],154:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,n,i){return[Math.round(e*(t[0]*r-n)),Math.round(e*(t[1]*r-i))]}r.tile=function(t,e){if(t.transformed)return t;var r,i,a,o=t.z2,s=t.x,l=t.y;for(r=0;r&lt;t.features.length;r++){var c=t.features[r],u=c.geometry;if(1===c.type)for(i=0;i&lt;u.length;i++)u[i]=n(u[i],e,o,s,l);else for(i=0;i&lt;u.length;i++){var f=u[i];for(a=0;a&lt;f.length;a++)f[a]=n(f[a],e,o,s,l)}}return t.transformed=!0,t},r.point=n},{}],155:[function(t,e,r){&quot;use strict&quot;;function n(t,e){for(var r=[],n=0;n&lt;t.length;n++){var a,s=t[n],l=s.type;if(1===l)a=i(s.geometry,e);else{a=[];for(var c=0;c&lt;s.geometry.length;c++)a.push(i(s.geometry[c],e))}r.push(o(s.tags,l,a,s.id))}return r}function i(t,e){var r=[];r.area=t.area,r.dist=t.dist;for(var n=0;n&lt;t.length;n++)r.push([t[n][0]+e,t[n][1],t[n][2]]);return r}var a=t(&quot;./clip&quot;),o=t(&quot;./feature&quot;);e.exports=function(t,e,r){var i=t,o=a(t,1,-1-e,e,0,r,-1,2),s=a(t,1,1-e,2+e,0,r,-1,2);return(o||s)&amp;&amp;(i=a(t,1,-e,1+e,0,r,-1,2)||[],o&amp;&amp;(i=n(o,1).concat(i)),s&amp;&amp;(i=i.concat(n(s,-1)))),i}},{&quot;./clip&quot;:148,&quot;./feature&quot;:150}],156:[function(t,e,r){e.exports=function(t,e){if(&quot;string&quot;!=typeof t)throw new TypeError(&quot;must specify type string&quot;);if(e=e||{},&quot;undefined&quot;==typeof document&amp;&amp;!e.canvas)return null;var r=e.canvas||document.createElement(&quot;canvas&quot;);&quot;number&quot;==typeof e.width&amp;&amp;(r.width=e.width),&quot;number&quot;==typeof e.height&amp;&amp;(r.height=e.height);var n,i=e;try{var a=[t];0===t.indexOf(&quot;webgl&quot;)&amp;&amp;a.push(&quot;experimental-&quot;+t);for(var o=0;o&lt;a.length;o++)if(n=r.getContext(a[o],i))return n}catch(t){n=null}return n||null}},{}],157:[function(t,e,r){&quot;use strict&quot;;function n(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t}function i(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=[&quot;sans-serif&quot;,&quot;sans-serif&quot;,&quot;sans-serif&quot;],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=[10,10,10],this.lastCubeProps={cubeEdges:[0,0,0],axis:[0,0,0]},this.labels=[&quot;x&quot;,&quot;y&quot;,&quot;z&quot;],this.labelEnable=[!0,!0,!0],this.labelFont=&quot;sans-serif&quot;,this.labelSize=[20,20,20],this.labelAngle=[0,0,0],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=c(t)}function a(){this.primalOffset=[0,0,0],this.primalMinor=[0,0,0],this.mirrorOffset=[0,0,0],this.mirrorMinor=[0,0,0]}function o(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&lt;3;++u)if(e!==u){var f=a,h=s,d=o,p=l;c&amp;1&lt;&lt;u&amp;&amp;(f=s,h=a,d=l,p=o),f[u]=r[0][u],h[u]=r[1][u],i[u]&gt;0?(d[u]=-1,p[u]=0):(d[u]=0,p[u]=1)}}e.exports=function(t,e){var r=new i(t);return r.update(e),r};var s=t(&quot;./lib/text.js&quot;),l=t(&quot;./lib/lines.js&quot;),c=t(&quot;./lib/background.js&quot;),u=t(&quot;./lib/cube.js&quot;),f=t(&quot;./lib/ticks.js&quot;),h=new Float32Array([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]),d=i.prototype;d.update=function(t){function e(e,r,n){if(n in t){var i,a=t[n],o=this[n];(e?Array.isArray(a)&amp;&amp;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&lt;3;++s)if(i[s]!==o[s])return!0}return!1}t=t||{};var r,n=e.bind(this,!1,Number),i=e.bind(this,!1,Boolean),a=e.bind(this,!1,String),o=e.bind(this,!0,function(t){if(Array.isArray(t)){if(3===t.length)return[+t[0],+t[1],+t[2],1];if(4===t.length)return[+t[0],+t[1],+t[2],+t[3]]}return[0,0,0,1]}),c=!1,u=!1;if(&quot;bounds&quot;in t)for(var h=t.bounds,d=0;d&lt;2;++d)for(var p=0;p&lt;3;++p)h[d][p]!==this.bounds[d][p]&amp;&amp;(u=!0),this.bounds[d][p]=h[d][p];if(&quot;ticks&quot;in t){r=t.ticks,c=!0,this.autoTicks=!1;for(d=0;d&lt;3;++d)this.tickSpacing[d]=0}else n(&quot;tickSpacing&quot;)&amp;&amp;(this.autoTicks=!0,u=!0);if(this._firstInit&amp;&amp;(&quot;ticks&quot;in t||&quot;tickSpacing&quot;in t||(this.autoTicks=!0),u=!0,c=!0,this._firstInit=!1),u&amp;&amp;this.autoTicks&amp;&amp;(r=f.create(this.bounds,this.tickSpacing),c=!0),c){for(d=0;d&lt;3;++d)r[d].sort(function(t,e){return t.x-e.x});f.equal(r,this.ticks)?c=!1:this.ticks=r}i(&quot;tickEnable&quot;),a(&quot;tickFont&quot;)&amp;&amp;(c=!0),n(&quot;tickSize&quot;),n(&quot;tickAngle&quot;),n(&quot;tickPad&quot;),o(&quot;tickColor&quot;);var m=a(&quot;labels&quot;);a(&quot;labelFont&quot;)&amp;&amp;(m=!0),i(&quot;labelEnable&quot;),n(&quot;labelSize&quot;),n(&quot;labelPad&quot;),o(&quot;labelColor&quot;),i(&quot;lineEnable&quot;),i(&quot;lineMirror&quot;),n(&quot;lineWidth&quot;),o(&quot;lineColor&quot;),i(&quot;lineTickEnable&quot;),i(&quot;lineTickMirror&quot;),n(&quot;lineTickLength&quot;),n(&quot;lineTickWidth&quot;),o(&quot;lineTickColor&quot;),i(&quot;gridEnable&quot;),n(&quot;gridWidth&quot;),o(&quot;gridColor&quot;),i(&quot;zeroEnable&quot;),o(&quot;zeroLineColor&quot;),n(&quot;zeroLineWidth&quot;),i(&quot;backgroundEnable&quot;),o(&quot;backgroundColor&quot;),this._text?this._text&amp;&amp;(m||c)&amp;&amp;this._text.update(this.bounds,this.labels,this.labelFont,this.ticks,this.tickFont):this._text=s(this.gl,this.bounds,this.labels,this.labelFont,this.ticks,this.tickFont),this._lines&amp;&amp;c&amp;&amp;(this._lines.dispose(),this._lines=null),this._lines||(this._lines=l(this.gl,this.bounds,this.ticks))};var p=[new a,new a,new a],m=[0,0,0],g={model:h,view:h,projection:h};d.isOpaque=function(){return!0},d.isTransparent=function(){return!1},d.drawTransparent=function(t){};var v=[0,0,0],y=[0,0,0],x=[0,0,0];d.draw=function(t){t=t||g;for(var e=this.gl,r=t.model||h,i=t.view||h,a=t.projection||h,s=this.bounds,l=u(r,i,a,s),c=l.cubeEdges,f=l.axis,d=i[12],b=i[13],_=i[14],w=i[15],M=this.pixelRatio*(a[3]*d+a[7]*b+a[11]*_+a[15]*w)/e.drawingBufferHeight,k=0;k&lt;3;++k)this.lastCubeProps.cubeEdges[k]=c[k],this.lastCubeProps.axis[k]=f[k];var A=p;for(k=0;k&lt;3;++k)o(p[k],k,this.bounds,c,f);e=this.gl;var T=m;for(k=0;k&lt;3;++k)this.backgroundEnable[k]?T[k]=f[k]:T[k]=0;this._background.draw(r,i,a,s,T,this.backgroundColor),this._lines.bind(r,i,a,this);for(k=0;k&lt;3;++k){var S=[0,0,0];f[k]&gt;0?S[k]=s[1][k]:S[k]=s[0][k];for(var E=0;E&lt;2;++E){var L=(k+1+E)%3,C=(k+1+(1^E))%3;this.gridEnable[L]&amp;&amp;this._lines.drawGrid(L,C,this.bounds,S,this.gridColor[L],this.gridWidth[L]*this.pixelRatio)}for(E=0;E&lt;2;++E){L=(k+1+E)%3,C=(k+1+(1^E))%3;this.zeroEnable[C]&amp;&amp;s[0][C]&lt;=0&amp;&amp;s[1][C]&gt;=0&amp;&amp;this._lines.drawZero(L,C,this.bounds,S,this.zeroLineColor[C],this.zeroLineWidth[C]*this.pixelRatio)}}for(k=0;k&lt;3;++k){this.lineEnable[k]&amp;&amp;this._lines.drawAxisLine(k,this.bounds,A[k].primalOffset,this.lineColor[k],this.lineWidth[k]*this.pixelRatio),this.lineMirror[k]&amp;&amp;this._lines.drawAxisLine(k,this.bounds,A[k].mirrorOffset,this.lineColor[k],this.lineWidth[k]*this.pixelRatio);var z=n(v,A[k].primalMinor),D=n(y,A[k].mirrorMinor),I=this.lineTickLength;for(E=0;E&lt;3;++E){var P=M/r[5*E];z[E]*=I[E]*P,D[E]*=I[E]*P}this.lineTickEnable[k]&amp;&amp;this._lines.drawAxisTicks(k,A[k].primalOffset,z,this.lineTickColor[k],this.lineTickWidth[k]*this.pixelRatio),this.lineTickMirror[k]&amp;&amp;this._lines.drawAxisTicks(k,A[k].mirrorOffset,D,this.lineTickColor[k],this.lineTickWidth[k]*this.pixelRatio)}this._text.bind(r,i,a,this.pixelRatio);for(k=0;k&lt;3;++k){var O=A[k].primalMinor,F=n(x,A[k].primalOffset);for(E=0;E&lt;3;++E)this.lineTickEnable[k]&amp;&amp;(F[E]+=M*O[E]*Math.max(this.lineTickLength[E],0)/r[5*E]);if(this.tickEnable[k]){for(E=0;E&lt;3;++E)F[E]+=M*O[E]*this.tickPad[E]/r[5*E];this._text.drawTicks(k,this.tickSize[k],this.tickAngle[k],F,this.tickColor[k])}if(this.labelEnable[k]){for(E=0;E&lt;3;++E)F[E]+=M*O[E]*this.labelPad[E]/r[5*E];F[k]+=.5*(s[0][k]+s[1][k]),this._text.drawLabel(k,this.labelSize[k],this.labelAngle[k],F,this.labelColor[k])}}},d.dispose=function(){this._text.dispose(),this._lines.dispose(),this._background.dispose(),this._lines=null,this._text=null,this._background=null,this.gl=null}},{&quot;./lib/background.js&quot;:158,&quot;./lib/cube.js&quot;:159,&quot;./lib/lines.js&quot;:160,&quot;./lib/text.js&quot;:162,&quot;./lib/ticks.js&quot;:163}],158:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,n){this.gl=t,this.buffer=e,this.vao=r,this.shader=n}e.exports=function(t){for(var e=[],r=[],s=0,l=0;l&lt;3;++l)for(var c=(l+1)%3,u=(l+2)%3,f=[0,0,0],h=[0,0,0],d=-1;d&lt;=1;d+=2){r.push(s,s+2,s+1,s+1,s+2,s+3),f[l]=d,h[l]=d;for(var p=-1;p&lt;=1;p+=2){f[c]=p;for(var m=-1;m&lt;=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=i(t,new Float32Array(e)),y=i(t,new Uint16Array(r),t.ELEMENT_ARRAY_BUFFER),x=a(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=o(t);return b.attributes.position.location=0,b.attributes.normal.location=1,new n(t,v,x,b)};var i=t(&quot;gl-buffer&quot;),a=t(&quot;gl-vao&quot;),o=t(&quot;./shaders&quot;).bg,s=n.prototype;s.draw=function(t,e,r,n,i,a){for(var o=!1,s=0;s&lt;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),l.disable(l.POLYGON_OFFSET_FILL)}},s.dispose=function(){this.vao.dispose(),this.buffer.dispose(),this.shader.dispose()}},{&quot;./shaders&quot;:161,&quot;gl-buffer&quot;:165,&quot;gl-vao&quot;:259}],159:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r){for(var n=0;n&lt;4;++n){t[n]=r[12+n];for(var i=0;i&lt;3;++i)t[n]+=e[i]*r[4*i+n]}}function i(t){for(var e=0;e&lt;p.length;++e)if((t=s.positive(t,p[e])).length&lt;3)return 0;var r=t[0],n=r[0]/r[3],i=r[1]/r[3],a=0;for(e=1;e+1&lt;t.length;++e){var o=t[e],l=t[e+1],c=o[0]/o[3]-n,u=o[1]/o[3]-i,f=l[0]/l[3]-n,h=l[1]/l[3]-i;a+=Math.abs(c*h-u*f)}return a}e.exports=function(t,e,r,s){o(c,e,t),o(c,r,c);for(var p=0,y=0;y&lt;2;++y){h[2]=s[y][2];for(var x=0;x&lt;2;++x){h[1]=s[x][1];for(var b=0;b&lt;2;++b)h[0]=s[b][0],n(u[p],h,c),p+=1}}var _=-1;for(y=0;y&lt;8;++y){for(var w=u[y][3],M=0;M&lt;3;++M)f[y][M]=u[y][M]/w;w&lt;0&amp;&amp;(_&lt;0?_=y:f[y][2]&lt;f[_][2]&amp;&amp;(_=y))}if(_&lt;0){_=0;for(var k=0;k&lt;3;++k){for(var A=(k+2)%3,T=(k+1)%3,S=-1,E=-1,L=0;L&lt;2;++L){var C=(D=L&lt;&lt;k)+(L&lt;&lt;A)+(1-L&lt;&lt;T),z=D+(1-L&lt;&lt;A)+(L&lt;&lt;T);l(f[D],f[C],f[z],d)&lt;0||(L?S=1:E=1)}if(S&lt;0||E&lt;0)E&gt;S&amp;&amp;(_|=1&lt;&lt;k);else{for(L=0;L&lt;2;++L){C=(D=L&lt;&lt;k)+(L&lt;&lt;A)+(1-L&lt;&lt;T),z=D+(1-L&lt;&lt;A)+(L&lt;&lt;T);var D,I=i([u[D],u[C],u[z],u[D+(1&lt;&lt;A)+(1&lt;&lt;T)]]);L?S=I:E=I}E&gt;S&amp;&amp;(_|=1&lt;&lt;k)}}}var P=7^_,O=-1;for(y=0;y&lt;8;++y)y!==_&amp;&amp;y!==P&amp;&amp;(O&lt;0?O=y:f[O][1]&gt;f[y][1]&amp;&amp;(O=y));var F=-1;for(y=0;y&lt;3;++y)(N=O^1&lt;&lt;y)!==_&amp;&amp;N!==P&amp;&amp;(F&lt;0&amp;&amp;(F=N),(T=f[N])[0]&lt;f[F][0]&amp;&amp;(F=N));var R=-1;for(y=0;y&lt;3;++y){var N;(N=O^1&lt;&lt;y)!==_&amp;&amp;N!==P&amp;&amp;N!==F&amp;&amp;(R&lt;0&amp;&amp;(R=N),(T=f[N])[0]&gt;f[R][0]&amp;&amp;(R=N))}var j=m;j[0]=j[1]=j[2]=0,j[a.log2(F^O)]=O&amp;F,j[a.log2(O^R)]=O&amp;R;var B=7^R;B===_||B===P?(B=7^F,j[a.log2(R^B)]=B&amp;R):j[a.log2(F^B)]=B&amp;F;var U=g,V=_;for(k=0;k&lt;3;++k)U[k]=V&amp;1&lt;&lt;k?-1:1;return v};var a=t(&quot;bit-twiddle&quot;),o=t(&quot;gl-mat4/multiply&quot;),s=(t(&quot;gl-mat4/invert&quot;),t(&quot;split-polygon&quot;)),l=t(&quot;robust-orientation&quot;),c=new Array(16),u=(new Array(16),new Array(8)),f=new Array(8),h=new Array(3),d=[0,0,0];!function(){for(var t=0;t&lt;8;++t)u[t]=[1,1,1,1],f[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]],m=[1,1,1],g=[0,0,0],v={cubeEdges:m,axis:g}},{&quot;bit-twiddle&quot;:71,&quot;gl-mat4/invert&quot;:186,&quot;gl-mat4/multiply&quot;:188,&quot;robust-orientation&quot;:515,&quot;split-polygon&quot;:535}],160:[function(t,e,r){&quot;use strict&quot;;function n(t){return t[0]=t[1]=t[2]=0,t}function i(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t}function a(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}e.exports=function(t,e,r){var n=[],i=[0,0,0],c=[0,0,0],u=[0,0,0],f=[0,0,0];n.push(0,0,1,0,1,1,0,0,-1,0,0,-1,0,1,1,0,1,-1);for(var h=0;h&lt;3;++h){for(var d=n.length/3|0,p=0;p&lt;r[h].length;++p){var m=+r[h][p].x;n.push(m,0,1,m,1,1,m,0,-1,m,0,-1,m,1,1,m,1,-1)}var g=n.length/3|0;i[h]=d,c[h]=g-d,d=n.length/3|0;for(var v=0;v&lt;r[h].length;++v)m=+r[h][v].x,n.push(m,0,1,m,1,1,m,0,-1,m,0,-1,m,1,1,m,1,-1);g=n.length/3|0,u[h]=d,f[h]=g-d}var y=o(t,new Float32Array(n)),x=s(t,[{buffer:y,type:t.FLOAT,size:3,stride:0,offset:0}]),b=l(t);return b.attributes.position.location=0,new a(t,y,x,b,c,i,f,u)};var o=t(&quot;gl-buffer&quot;),s=t(&quot;gl-vao&quot;),l=t(&quot;./shaders&quot;).line,c=[0,0,0],u=[0,0,0],f=[0,0,0],h=[0,0,0],d=[1,1],p=a.prototype;p.bind=function(t,e,r){this.shader.bind(),this.shader.uniforms.model=t,this.shader.uniforms.view=e,this.shader.uniforms.projection=r,d[0]=this.gl.drawingBufferWidth,d[1]=this.gl.drawingBufferHeight,this.shader.uniforms.screenShape=d,this.vao.bind()},p.drawAxisLine=function(t,e,r,a,o){var s=n(u);this.shader.uniforms.majorAxis=u,s[t]=e[1][t]-e[0][t],this.shader.uniforms.minorAxis=s;var l=i(h,r);l[t]+=e[0][t],this.shader.uniforms.offset=l,this.shader.uniforms.lineWidth=o,this.shader.uniforms.color=a;(c=n(f))[(t+2)%3]=1,this.shader.uniforms.screenAxis=c,this.vao.draw(this.gl.TRIANGLES,6);var c;(c=n(f))[(t+1)%3]=1,this.shader.uniforms.screenAxis=c,this.vao.draw(this.gl.TRIANGLES,6)},p.drawAxisTicks=function(t,e,r,i,a){if(this.tickCount[t]){var o=n(c);o[t]=1,this.shader.uniforms.majorAxis=o,this.shader.uniforms.offset=e,this.shader.uniforms.minorAxis=r,this.shader.uniforms.color=i,this.shader.uniforms.lineWidth=a;var s=n(f);s[t]=1,this.shader.uniforms.screenAxis=s,this.vao.draw(this.gl.TRIANGLES,this.tickCount[t],this.tickOffset[t])}},p.drawGrid=function(t,e,r,a,o,s){if(this.gridCount[t]){var l=n(u);l[e]=r[1][e]-r[0][e],this.shader.uniforms.minorAxis=l;var d=i(h,a);d[e]+=r[0][e],this.shader.uniforms.offset=d;var p=n(c);p[t]=1,this.shader.uniforms.majorAxis=p;var m=n(f);m[t]=1,this.shader.uniforms.screenAxis=m,this.shader.uniforms.lineWidth=s,this.shader.uniforms.color=o,this.vao.draw(this.gl.TRIANGLES,this.gridCount[t],this.gridOffset[t])}},p.drawZero=function(t,e,r,a,o,s){var l=n(u);this.shader.uniforms.majorAxis=l,l[t]=r[1][t]-r[0][t],this.shader.uniforms.minorAxis=l;var c=i(h,a);c[t]+=r[0][t],this.shader.uniforms.offset=c;var d=n(f);d[e]=1,this.shader.uniforms.screenAxis=d,this.shader.uniforms.lineWidth=s,this.shader.uniforms.color=o,this.vao.draw(this.gl.TRIANGLES,6)},p.dispose=function(){this.vao.dispose(),this.vertBuffer.dispose(),this.shader.dispose()}},{&quot;./shaders&quot;:161,&quot;gl-buffer&quot;:165,&quot;gl-vao&quot;:259}],161:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;gl-shader&quot;);r.line=function(t){return n(t,&quot;#define GLSLIFY 1\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&quot;,&quot;precision mediump float;\n#define GLSLIFY 1\nuniform vec4 color;\nvoid main() {\n  gl_FragColor = color;\n}&quot;,null,[{name:&quot;position&quot;,type:&quot;vec3&quot;}])};r.text=function(t){return n(t,&quot;#define GLSLIFY 1\nattribute vec3 position;\n\nuniform mat4 model, view, projection;\nuniform vec3 offset, axis;\nuniform float scale, angle, pixelScale;\nuniform vec2 resolution;\n\nvoid main() {  \n  //Compute plane offset\n  vec2 planeCoord = position.xy * pixelScale;\n  mat2 planeXform = scale * mat2(cos(angle), sin(angle),\n                                -sin(angle), cos(angle));\n  vec2 viewOffset = 2.0 * planeXform * planeCoord / resolution;\n\n  //Compute world offset\n  float axisDistance = position.z;\n  vec3 dataPosition = axisDistance * axis + offset;\n  vec4 worldPosition = model * vec4(dataPosition, 1);\n  \n  //Compute clip position\n  vec4 viewPosition = view * worldPosition;\n  vec4 clipPosition = projection * viewPosition;\n  clipPosition /= clipPosition.w;\n\n  //Apply text offset in clip coordinates\n  clipPosition += vec4(viewOffset, 0, 0);\n\n  //Done\n  gl_Position = clipPosition;\n}&quot;,&quot;precision mediump float;\n#define GLSLIFY 1\nuniform vec4 color;\nvoid main() {\n  gl_FragColor = color;\n}&quot;,null,[{name:&quot;position&quot;,type:&quot;vec3&quot;}])};r.bg=function(t){return n(t,&quot;#define GLSLIFY 1\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  if(dot(normal, enable) &gt; 0.0) {\n    vec3 nPosition = mix(bounds[0], bounds[1], 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  colorChannel = abs(normal);\n}&quot;,&quot;precision mediump 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}&quot;,null,[{name:&quot;position&quot;,type:&quot;vec3&quot;},{name:&quot;normal&quot;,type:&quot;vec3&quot;}])}},{&quot;gl-shader&quot;:243}],162:[function(t,e,r){(function(r){&quot;use strict&quot;;function n(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}e.exports=function(t,e,r,o,l,c){var u=i(t),f=a(t,[{buffer:u,size:3}]),h=s(t);h.attributes.position.location=0;var d=new n(t,h,u,f);return d.update(e,r,o,l,c),d};var i=t(&quot;gl-buffer&quot;),a=t(&quot;gl-vao&quot;),o=t(&quot;vectorize-text&quot;),s=t(&quot;./shaders&quot;).text,l=window||r.global||{},c=l.__TEXT_CACHE||{};l.__TEXT_CACHE={};var u=n.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.update=function(t,e,r,n,i){function a(t,e,r,n){var i=c[r];i||(i=c[r]={});var a=i[e];a||(a=i[e]=function(t,e){try{return o(t,e)}catch(t){return console.warn(&quot;error vectorizing text:&quot;,t),{cells:[],positions:[]}}}(e,{triangles:!0,font:r,textAlign:&quot;center&quot;,textBaseline:&quot;middle&quot;}));for(var l=(n||12)/12,u=a.positions,f=a.cells,h=0,d=f.length;h&lt;d;++h)for(var p=f[h],m=2;m&gt;=0;--m){var g=u[p[m]];s.push(l*g[0],-l*g[1],t)}}this.gl;for(var s=[],l=[0,0,0],u=[0,0,0],f=[0,0,0],h=[0,0,0],d=0;d&lt;3;++d){f[d]=s.length/3|0,a(.5*(t[0][d]+t[1][d]),e[d],r),h[d]=(s.length/3|0)-f[d],l[d]=s.length/3|0;for(var p=0;p&lt;n[d].length;++p)n[d][p].text&amp;&amp;a(n[d][p].x,n[d][p].text,n[d][p].font||i,n[d][p].fontSize||12);u[d]=(s.length/3|0)-l[d]}this.buffer.update(s),this.tickOffset=l,this.tickCount=u,this.labelOffset=f,this.labelCount=h};var h=[0,0,0];u.drawTicks=function(t,e,r,n,i){if(this.tickCount[t]){var a=h;a[0]=a[1]=a[2]=0,a[t]=1,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.vao.draw(this.gl.TRIANGLES,this.tickCount[t],this.tickOffset[t])}};var d=[0,0,0];u.drawLabel=function(t,e,r,n,i){this.labelCount[t]&amp;&amp;(this.shader.uniforms.axis=d,this.shader.uniforms.color=i,this.shader.uniforms.angle=r,this.shader.uniforms.scale=e,this.shader.uniforms.offset=n,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,t(&quot;_process&quot;))},{&quot;./shaders&quot;:161,_process:488,&quot;gl-buffer&quot;:165,&quot;gl-vao&quot;:259,&quot;vectorize-text&quot;:568}],163:[function(t,e,r){&quot;use strict&quot;;function n(t,e){var r=t+&quot;&quot;,n=r.indexOf(&quot;.&quot;),i=0;n&gt;=0&amp;&amp;(i=r.length-n-1);var a=Math.pow(10,i),o=Math.round(t*e*a),s=o+&quot;&quot;;if(s.indexOf(&quot;e&quot;)&gt;=0)return s;var l=o/a,c=o%a;o&lt;0?(l=0|-Math.ceil(l),c=0|-c):(l=0|Math.floor(l),c|=0);var u=&quot;&quot;+l;if(o&lt;0&amp;&amp;(u=&quot;-&quot;+u),i){for(var f=&quot;&quot;+c;f.length&lt;i;)f=&quot;0&quot;+f;return u+&quot;.&quot;+f}return u}r.create=function(t,e){for(var r=[],i=0;i&lt;3;++i){for(var a=[],o=(t[0][i],t[1][i],0);o*e[i]&lt;=t[1][i];++o)a.push({x:o*e[i],text:n(e[i],o)});for(o=-1;o*e[i]&gt;=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&lt;3;++r){if(t[r].length!==e[r].length)return!1;for(var n=0;n&lt;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}},{}],164:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r){this.lo=t,this.hi=e,this.pixelsPerDataUnit=r}function i(t,e,r,n,i){for(var a=0;a&lt;3;++a){for(var o=d,s=p,l=0;l&lt;3;++l)s[l]=o[l]=r[l];s[3]=o[3]=1,s[a]+=1,u(s,s,e),s[3]&lt;0&amp;&amp;(t[a]=1/0),o[a]-=1,u(o,o,e),o[3]&lt;0&amp;&amp;(t[a]=1/0);var c=(o[0]/o[3]-s[0]/s[3])*n,f=(o[1]/o[3]-s[1]/s[3])*i;t[a]=.25*Math.sqrt(c*c+f*f)}return t}e.exports=function(t,e,r,n,u){var d=e.model||f,p=e.view||f,v=e.projection||f,y=t.bounds,x=(u=u||s(d,p,v,y)).axis;u.edges,l(h,p,d),l(h,v,h);for(var b=m,_=0;_&lt;3;++_)b[_].lo=1/0,b[_].hi=-1/0,b[_].pixelsPerDataUnit=1/0;var w=a(c(h,h));c(h,h);for(var M=0;M&lt;3;++M){var k=(M+1)%3,A=(M+2)%3,T=g;t:for(_=0;_&lt;2;++_){var S=[];if(x[M]&lt;0!=!!_){T[M]=y[_][M];for(var E=0;E&lt;2;++E){T[k]=y[E^_][k];for(var L=0;L&lt;2;++L)T[A]=y[L^E^_][A],S.push(T.slice())}for(E=0;E&lt;w.length;++E){if(0===S.length)continue t;S=o.positive(S,w[E])}for(E=0;E&lt;S.length;++E){A=S[E];var C=i(g,h,A,r,n);for(L=0;L&lt;3;++L)b[L].lo=Math.min(b[L].lo,A[L]),b[L].hi=Math.max(b[L].hi,A[L]),L!==M&amp;&amp;(b[L].pixelsPerDataUnit=Math.min(b[L].pixelsPerDataUnit,Math.abs(C[L])))}}}}return b};var a=t(&quot;extract-frustum-planes&quot;),o=t(&quot;split-polygon&quot;),s=t(&quot;./lib/cube.js&quot;),l=t(&quot;gl-mat4/multiply&quot;),c=t(&quot;gl-mat4/transpose&quot;),u=t(&quot;gl-vec4/transformMat4&quot;),f=new Float32Array([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]),h=new Float32Array(16),d=[0,0,0,1],p=[0,0,0,1],m=[new n(1/0,-1/0,1/0),new n(1/0,-1/0,1/0),new n(1/0,-1/0,1/0)],g=[0,0,0]},{&quot;./lib/cube.js&quot;:159,&quot;extract-frustum-planes&quot;:139,&quot;gl-mat4/multiply&quot;:188,&quot;gl-mat4/transpose&quot;:196,&quot;gl-vec4/transformMat4&quot;:265,&quot;split-polygon&quot;:535}],165:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,n,i){this.gl=t,this.type=e,this.handle=r,this.length=n,this.usage=i}function i(t,e,r,n,i,a){var o=i.length*i.BYTES_PER_ELEMENT;if(a&lt;0)return t.bufferData(e,i,n),o;if(o+a&gt;r)throw new Error(&quot;gl-buffer: If resizing buffer, must not specify offset&quot;);return t.bufferSubData(e,a,i),r}function a(t,e){for(var r=o.malloc(t.length,e),n=t.length,i=0;i&lt;n;++i)r[i]=t[i];return r}var o=t(&quot;typedarray-pool&quot;),s=t(&quot;ndarray-ops&quot;),l=t(&quot;ndarray&quot;),c=[&quot;uint8&quot;,&quot;uint8_clamped&quot;,&quot;uint16&quot;,&quot;uint32&quot;,&quot;int8&quot;,&quot;int16&quot;,&quot;int32&quot;,&quot;float32&quot;],u=n.prototype;u.bind=function(){this.gl.bindBuffer(this.type,this.handle)},u.unbind=function(){this.gl.bindBuffer(this.type,null)},u.dispose=function(){this.gl.deleteBuffer(this.handle)},u.update=function(t,e){if(&quot;number&quot;!=typeof e&amp;&amp;(e=-1),this.bind(),&quot;object&quot;==typeof t&amp;&amp;void 0!==t.shape){var r=t.dtype;if(c.indexOf(r)&lt;0&amp;&amp;(r=&quot;float32&quot;),this.type===this.gl.ELEMENT_ARRAY_BUFFER){r=gl.getExtension(&quot;OES_element_index_uint&quot;)&amp;&amp;&quot;uint16&quot;!==r?&quot;uint32&quot;:&quot;uint16&quot;}if(r===t.dtype&amp;&amp;function(t,e){for(var r=1,n=e.length-1;n&gt;=0;--n){if(e[n]!==r)return!1;r*=t[n]}return!0}(t.shape,t.stride))0===t.offset&amp;&amp;t.data.length===t.shape[0]?this.length=i(this.gl,this.type,this.length,this.usage,t.data,e):this.length=i(this.gl,this.type,this.length,this.usage,t.data.subarray(t.offset,t.shape[0]),e);else{var n=o.malloc(t.size,r),u=l(n,t.shape);s.assign(u,t),this.length=e&lt;0?i(this.gl,this.type,this.length,this.usage,n,e):i(this.gl,this.type,this.length,this.usage,n.subarray(0,t.size),e),o.free(n)}}else if(Array.isArray(t)){var f;f=this.type===this.gl.ELEMENT_ARRAY_BUFFER?a(t,&quot;uint16&quot;):a(t,&quot;float32&quot;),this.length=e&lt;0?i(this.gl,this.type,this.length,this.usage,f,e):i(this.gl,this.type,this.length,this.usage,f.subarray(0,t.length),e),o.free(f)}else if(&quot;object&quot;==typeof t&amp;&amp;&quot;number&quot;==typeof t.length)this.length=i(this.gl,this.type,this.length,this.usage,t,e);else{if(&quot;number&quot;!=typeof t&amp;&amp;void 0!==t)throw new Error(&quot;gl-buffer: Invalid data type&quot;);if(e&gt;=0)throw new Error(&quot;gl-buffer: Cannot specify offset when resizing buffer&quot;);(t|=0)&lt;=0&amp;&amp;(t=1),this.gl.bufferData(this.type,0|t,this.usage),this.length=t}},e.exports=function(t,e,r,i){if(r=r||t.ARRAY_BUFFER,i=i||t.DYNAMIC_DRAW,r!==t.ARRAY_BUFFER&amp;&amp;r!==t.ELEMENT_ARRAY_BUFFER)throw new Error(&quot;gl-buffer: Invalid type for webgl buffer, must be either gl.ARRAY_BUFFER or gl.ELEMENT_ARRAY_BUFFER&quot;);if(i!==t.DYNAMIC_DRAW&amp;&amp;i!==t.STATIC_DRAW&amp;&amp;i!==t.STREAM_DRAW)throw new Error(&quot;gl-buffer: Invalid usage for buffer, must be either gl.DYNAMIC_DRAW, gl.STATIC_DRAW or gl.STREAM_DRAW&quot;);var a=new n(t,r,t.createBuffer(),0,i);return a.update(e),a}},{ndarray:458,&quot;ndarray-ops&quot;:452,&quot;typedarray-pool&quot;:554}],166:[function(t,e,r){e.exports={0:&quot;NONE&quot;,1:&quot;ONE&quot;,2:&quot;LINE_LOOP&quot;,3:&quot;LINE_STRIP&quot;,4:&quot;TRIANGLES&quot;,5:&quot;TRIANGLE_STRIP&quot;,6:&quot;TRIANGLE_FAN&quot;,256:&quot;DEPTH_BUFFER_BIT&quot;,512:&quot;NEVER&quot;,513:&quot;LESS&quot;,514:&quot;EQUAL&quot;,515:&quot;LEQUAL&quot;,516:&quot;GREATER&quot;,517:&quot;NOTEQUAL&quot;,518:&quot;GEQUAL&quot;,519:&quot;ALWAYS&quot;,768:&quot;SRC_COLOR&quot;,769:&quot;ONE_MINUS_SRC_COLOR&quot;,770:&quot;SRC_ALPHA&quot;,771:&quot;ONE_MINUS_SRC_ALPHA&quot;,772:&quot;DST_ALPHA&quot;,773:&quot;ONE_MINUS_DST_ALPHA&quot;,774:&quot;DST_COLOR&quot;,775:&quot;ONE_MINUS_DST_COLOR&quot;,776:&quot;SRC_ALPHA_SATURATE&quot;,1024:&quot;STENCIL_BUFFER_BIT&quot;,1028:&quot;FRONT&quot;,1029:&quot;BACK&quot;,1032:&quot;FRONT_AND_BACK&quot;,1280:&quot;INVALID_ENUM&quot;,1281:&quot;INVALID_VALUE&quot;,1282:&quot;INVALID_OPERATION&quot;,1285:&quot;OUT_OF_MEMORY&quot;,1286:&quot;INVALID_FRAMEBUFFER_OPERATION&quot;,2304:&quot;CW&quot;,2305:&quot;CCW&quot;,2849:&quot;LINE_WIDTH&quot;,2884:&quot;CULL_FACE&quot;,2885:&quot;CULL_FACE_MODE&quot;,2886:&quot;FRONT_FACE&quot;,2928:&quot;DEPTH_RANGE&quot;,2929:&quot;DEPTH_TEST&quot;,2930:&quot;DEPTH_WRITEMASK&quot;,2931:&quot;DEPTH_CLEAR_VALUE&quot;,2932:&quot;DEPTH_FUNC&quot;,2960:&quot;STENCIL_TEST&quot;,2961:&quot;STENCIL_CLEAR_VALUE&quot;,2962:&quot;STENCIL_FUNC&quot;,2963:&quot;STENCIL_VALUE_MASK&quot;,2964:&quot;STENCIL_FAIL&quot;,2965:&quot;STENCIL_PASS_DEPTH_FAIL&quot;,2966:&quot;STENCIL_PASS_DEPTH_PASS&quot;,2967:&quot;STENCIL_REF&quot;,2968:&quot;STENCIL_WRITEMASK&quot;,2978:&quot;VIEWPORT&quot;,3024:&quot;DITHER&quot;,3042:&quot;BLEND&quot;,3088:&quot;SCISSOR_BOX&quot;,3089:&quot;SCISSOR_TEST&quot;,3106:&quot;COLOR_CLEAR_VALUE&quot;,3107:&quot;COLOR_WRITEMASK&quot;,3317:&quot;UNPACK_ALIGNMENT&quot;,3333:&quot;PACK_ALIGNMENT&quot;,3379:&quot;MAX_TEXTURE_SIZE&quot;,3386:&quot;MAX_VIEWPORT_DIMS&quot;,3408:&quot;SUBPIXEL_BITS&quot;,3410:&quot;RED_BITS&quot;,3411:&quot;GREEN_BITS&quot;,3412:&quot;BLUE_BITS&quot;,3413:&quot;ALPHA_BITS&quot;,3414:&quot;DEPTH_BITS&quot;,3415:&quot;STENCIL_BITS&quot;,3553:&quot;TEXTURE_2D&quot;,4352:&quot;DONT_CARE&quot;,4353:&quot;FASTEST&quot;,4354:&quot;NICEST&quot;,5120:&quot;BYTE&quot;,5121:&quot;UNSIGNED_BYTE&quot;,5122:&quot;SHORT&quot;,5123:&quot;UNSIGNED_SHORT&quot;,5124:&quot;INT&quot;,5125:&quot;UNSIGNED_INT&quot;,5126:&quot;FLOAT&quot;,5386:&quot;INVERT&quot;,5890:&quot;TEXTURE&quot;,6401:&quot;STENCIL_INDEX&quot;,6402:&quot;DEPTH_COMPONENT&quot;,6406:&quot;ALPHA&quot;,6407:&quot;RGB&quot;,6408:&quot;RGBA&quot;,6409:&quot;LUMINANCE&quot;,6410:&quot;LUMINANCE_ALPHA&quot;,7680:&quot;KEEP&quot;,7681:&quot;REPLACE&quot;,7682:&quot;INCR&quot;,7683:&quot;DECR&quot;,7936:&quot;VENDOR&quot;,7937:&quot;RENDERER&quot;,7938:&quot;VERSION&quot;,9728:&quot;NEAREST&quot;,9729:&quot;LINEAR&quot;,9984:&quot;NEAREST_MIPMAP_NEAREST&quot;,9985:&quot;LINEAR_MIPMAP_NEAREST&quot;,9986:&quot;NEAREST_MIPMAP_LINEAR&quot;,9987:&quot;LINEAR_MIPMAP_LINEAR&quot;,10240:&quot;TEXTURE_MAG_FILTER&quot;,10241:&quot;TEXTURE_MIN_FILTER&quot;,10242:&quot;TEXTURE_WRAP_S&quot;,10243:&quot;TEXTURE_WRAP_T&quot;,10497:&quot;REPEAT&quot;,10752:&quot;POLYGON_OFFSET_UNITS&quot;,16384:&quot;COLOR_BUFFER_BIT&quot;,32769:&quot;CONSTANT_COLOR&quot;,32770:&quot;ONE_MINUS_CONSTANT_COLOR&quot;,32771:&quot;CONSTANT_ALPHA&quot;,32772:&quot;ONE_MINUS_CONSTANT_ALPHA&quot;,32773:&quot;BLEND_COLOR&quot;,32774:&quot;FUNC_ADD&quot;,32777:&quot;BLEND_EQUATION_RGB&quot;,32778:&quot;FUNC_SUBTRACT&quot;,32779:&quot;FUNC_REVERSE_SUBTRACT&quot;,32819:&quot;UNSIGNED_SHORT_4_4_4_4&quot;,32820:&quot;UNSIGNED_SHORT_5_5_5_1&quot;,32823:&quot;POLYGON_OFFSET_FILL&quot;,32824:&quot;POLYGON_OFFSET_FACTOR&quot;,32854:&quot;RGBA4&quot;,32855:&quot;RGB5_A1&quot;,32873:&quot;TEXTURE_BINDING_2D&quot;,32926:&quot;SAMPLE_ALPHA_TO_COVERAGE&quot;,32928:&quot;SAMPLE_COVERAGE&quot;,32936:&quot;SAMPLE_BUFFERS&quot;,32937:&quot;SAMPLES&quot;,32938:&quot;SAMPLE_COVERAGE_VALUE&quot;,32939:&quot;SAMPLE_COVERAGE_INVERT&quot;,32968:&quot;BLEND_DST_RGB&quot;,32969:&quot;BLEND_SRC_RGB&quot;,32970:&quot;BLEND_DST_ALPHA&quot;,32971:&quot;BLEND_SRC_ALPHA&quot;,33071:&quot;CLAMP_TO_EDGE&quot;,33170:&quot;GENERATE_MIPMAP_HINT&quot;,33189:&quot;DEPTH_COMPONENT16&quot;,33306:&quot;DEPTH_STENCIL_ATTACHMENT&quot;,33635:&quot;UNSIGNED_SHORT_5_6_5&quot;,33648:&quot;MIRRORED_REPEAT&quot;,33901:&quot;ALIASED_POINT_SIZE_RANGE&quot;,33902:&quot;ALIASED_LINE_WIDTH_RANGE&quot;,33984:&quot;TEXTURE0&quot;,33985:&quot;TEXTURE1&quot;,33986:&quot;TEXTURE2&quot;,33987:&quot;TEXTURE3&quot;,33988:&quot;TEXTURE4&quot;,33989:&quot;TEXTURE5&quot;,33990:&quot;TEXTURE6&quot;,33991:&quot;TEXTURE7&quot;,33992:&quot;TEXTURE8&quot;,33993:&quot;TEXTURE9&quot;,33994:&quot;TEXTURE10&quot;,33995:&quot;TEXTURE11&quot;,33996:&quot;TEXTURE12&quot;,33997:&quot;TEXTURE13&quot;,33998:&quot;TEXTURE14&quot;,33999:&quot;TEXTURE15&quot;,34e3:&quot;TEXTURE16&quot;,34001:&quot;TEXTURE17&quot;,34002:&quot;TEXTURE18&quot;,34003:&quot;TEXTURE19&quot;,34004:&quot;TEXTURE20&quot;,34005:&quot;TEXTURE21&quot;,34006:&quot;TEXTURE22&quot;,34007:&quot;TEXTURE23&quot;,34008:&quot;TEXTURE24&quot;,34009:&quot;TEXTURE25&quot;,34010:&quot;TEXTURE26&quot;,34011:&quot;TEXTURE27&quot;,34012:&quot;TEXTURE28&quot;,34013:&quot;TEXTURE29&quot;,34014:&quot;TEXTURE30&quot;,34015:&quot;TEXTURE31&quot;,34016:&quot;ACTIVE_TEXTURE&quot;,34024:&quot;MAX_RENDERBUFFER_SIZE&quot;,34041:&quot;DEPTH_STENCIL&quot;,34055:&quot;INCR_WRAP&quot;,34056:&quot;DECR_WRAP&quot;,34067:&quot;TEXTURE_CUBE_MAP&quot;,34068:&quot;TEXTURE_BINDING_CUBE_MAP&quot;,34069:&quot;TEXTURE_CUBE_MAP_POSITIVE_X&quot;,34070:&quot;TEXTURE_CUBE_MAP_NEGATIVE_X&quot;,34071:&quot;TEXTURE_CUBE_MAP_POSITIVE_Y&quot;,34072:&quot;TEXTURE_CUBE_MAP_NEGATIVE_Y&quot;,34073:&quot;TEXTURE_CUBE_MAP_POSITIVE_Z&quot;,34074:&quot;TEXTURE_CUBE_MAP_NEGATIVE_Z&quot;,34076:&quot;MAX_CUBE_MAP_TEXTURE_SIZE&quot;,34338:&quot;VERTEX_ATTRIB_ARRAY_ENABLED&quot;,34339:&quot;VERTEX_ATTRIB_ARRAY_SIZE&quot;,34340:&quot;VERTEX_ATTRIB_ARRAY_STRIDE&quot;,34341:&quot;VERTEX_ATTRIB_ARRAY_TYPE&quot;,34342:&quot;CURRENT_VERTEX_ATTRIB&quot;,34373:&quot;VERTEX_ATTRIB_ARRAY_POINTER&quot;,34466:&quot;NUM_COMPRESSED_TEXTURE_FORMATS&quot;,34467:&quot;COMPRESSED_TEXTURE_FORMATS&quot;,34660:&quot;BUFFER_SIZE&quot;,34661:&quot;BUFFER_USAGE&quot;,34816:&quot;STENCIL_BACK_FUNC&quot;,34817:&quot;STENCIL_BACK_FAIL&quot;,34818:&quot;STENCIL_BACK_PASS_DEPTH_FAIL&quot;,34819:&quot;STENCIL_BACK_PASS_DEPTH_PASS&quot;,34877:&quot;BLEND_EQUATION_ALPHA&quot;,34921:&quot;MAX_VERTEX_ATTRIBS&quot;,34922:&quot;VERTEX_ATTRIB_ARRAY_NORMALIZED&quot;,34930:&quot;MAX_TEXTURE_IMAGE_UNITS&quot;,34962:&quot;ARRAY_BUFFER&quot;,34963:&quot;ELEMENT_ARRAY_BUFFER&quot;,34964:&quot;ARRAY_BUFFER_BINDING&quot;,34965:&quot;ELEMENT_ARRAY_BUFFER_BINDING&quot;,34975:&quot;VERTEX_ATTRIB_ARRAY_BUFFER_BINDING&quot;,35040:&quot;STREAM_DRAW&quot;,35044:&quot;STATIC_DRAW&quot;,35048:&quot;DYNAMIC_DRAW&quot;,35632:&quot;FRAGMENT_SHADER&quot;,35633:&quot;VERTEX_SHADER&quot;,35660:&quot;MAX_VERTEX_TEXTURE_IMAGE_UNITS&quot;,35661:&quot;MAX_COMBINED_TEXTURE_IMAGE_UNITS&quot;,35663:&quot;SHADER_TYPE&quot;,35664:&quot;FLOAT_VEC2&quot;,35665:&quot;FLOAT_VEC3&quot;,35666:&quot;FLOAT_VEC4&quot;,35667:&quot;INT_VEC2&quot;,35668:&quot;INT_VEC3&quot;,35669:&quot;INT_VEC4&quot;,35670:&quot;BOOL&quot;,35671:&quot;BOOL_VEC2&quot;,35672:&quot;BOOL_VEC3&quot;,35673:&quot;BOOL_VEC4&quot;,35674:&quot;FLOAT_MAT2&quot;,35675:&quot;FLOAT_MAT3&quot;,35676:&quot;FLOAT_MAT4&quot;,35678:&quot;SAMPLER_2D&quot;,35680:&quot;SAMPLER_CUBE&quot;,35712:&quot;DELETE_STATUS&quot;,35713:&quot;COMPILE_STATUS&quot;,35714:&quot;LINK_STATUS&quot;,35715:&quot;VALIDATE_STATUS&quot;,35716:&quot;INFO_LOG_LENGTH&quot;,35717:&quot;ATTACHED_SHADERS&quot;,35718:&quot;ACTIVE_UNIFORMS&quot;,35719:&quot;ACTIVE_UNIFORM_MAX_LENGTH&quot;,35720:&quot;SHADER_SOURCE_LENGTH&quot;,35721:&quot;ACTIVE_ATTRIBUTES&quot;,35722:&quot;ACTIVE_ATTRIBUTE_MAX_LENGTH&quot;,35724:&quot;SHADING_LANGUAGE_VERSION&quot;,35725:&quot;CURRENT_PROGRAM&quot;,36003:&quot;STENCIL_BACK_REF&quot;,36004:&quot;STENCIL_BACK_VALUE_MASK&quot;,36005:&quot;STENCIL_BACK_WRITEMASK&quot;,36006:&quot;FRAMEBUFFER_BINDING&quot;,36007:&quot;RENDERBUFFER_BINDING&quot;,36048:&quot;FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE&quot;,36049:&quot;FRAMEBUFFER_ATTACHMENT_OBJECT_NAME&quot;,36050:&quot;FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL&quot;,36051:&quot;FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE&quot;,36053:&quot;FRAMEBUFFER_COMPLETE&quot;,36054:&quot;FRAMEBUFFER_INCOMPLETE_ATTACHMENT&quot;,36055:&quot;FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT&quot;,36057:&quot;FRAMEBUFFER_INCOMPLETE_DIMENSIONS&quot;,36061:&quot;FRAMEBUFFER_UNSUPPORTED&quot;,36064:&quot;COLOR_ATTACHMENT0&quot;,36096:&quot;DEPTH_ATTACHMENT&quot;,36128:&quot;STENCIL_ATTACHMENT&quot;,36160:&quot;FRAMEBUFFER&quot;,36161:&quot;RENDERBUFFER&quot;,36162:&quot;RENDERBUFFER_WIDTH&quot;,36163:&quot;RENDERBUFFER_HEIGHT&quot;,36164:&quot;RENDERBUFFER_INTERNAL_FORMAT&quot;,36168:&quot;STENCIL_INDEX8&quot;,36176:&quot;RENDERBUFFER_RED_SIZE&quot;,36177:&quot;RENDERBUFFER_GREEN_SIZE&quot;,36178:&quot;RENDERBUFFER_BLUE_SIZE&quot;,36179:&quot;RENDERBUFFER_ALPHA_SIZE&quot;,36180:&quot;RENDERBUFFER_DEPTH_SIZE&quot;,36181:&quot;RENDERBUFFER_STENCIL_SIZE&quot;,36194:&quot;RGB565&quot;,36336:&quot;LOW_FLOAT&quot;,36337:&quot;MEDIUM_FLOAT&quot;,36338:&quot;HIGH_FLOAT&quot;,36339:&quot;LOW_INT&quot;,36340:&quot;MEDIUM_INT&quot;,36341:&quot;HIGH_INT&quot;,36346:&quot;SHADER_COMPILER&quot;,36347:&quot;MAX_VERTEX_UNIFORM_VECTORS&quot;,36348:&quot;MAX_VARYING_VECTORS&quot;,36349:&quot;MAX_FRAGMENT_UNIFORM_VECTORS&quot;,37440:&quot;UNPACK_FLIP_Y_WEBGL&quot;,37441:&quot;UNPACK_PREMULTIPLY_ALPHA_WEBGL&quot;,37442:&quot;CONTEXT_LOST_WEBGL&quot;,37443:&quot;UNPACK_COLORSPACE_CONVERSION_WEBGL&quot;,37444:&quot;BROWSER_DEFAULT_WEBGL&quot;}},{}],167:[function(t,e,r){var n=t(&quot;./1.0/numbers&quot;);e.exports=function(t){return n[t]}},{&quot;./1.0/numbers&quot;:166}],168:[function(t,e,r){&quot;use strict&quot;;function n(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}function i(t,e){for(var r=0;r&lt;3;++r)t[0][r]=Math.min(t[0][r],e[r]),t[1][r]=Math.max(t[1][r],e[r])}function a(t,e,r,n){for(var i=f[n],a=0;a&lt;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}e.exports=function(t){var e=t.gl,r=o(e),i=s(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}]),a=l(e);a.attributes.position.location=0,a.attributes.color.location=1,a.attributes.offset.location=2;var c=new n(e,r,i,a);return c.update(t),c};var o=t(&quot;gl-buffer&quot;),s=t(&quot;gl-vao&quot;),l=t(&quot;./shaders/index&quot;),c=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],u=n.prototype;u.isOpaque=function(){return this.opacity&gt;=1},u.isTransparent=function(){return this.opacity&lt;1},u.drawTransparent=u.draw=function(t){var e=this.gl,r=this.shader.uniforms;this.shader.bind();var n=r.view=t.view||c,i=r.projection=t.projection||c;r.model=t.model||c,r.clipBounds=this.clipBounds,r.opacity=this.opacity;var a=n[12],o=n[13],s=n[14],l=n[15],u=this.pixelRatio*(i[3]*a+i[7]*o+i[11]*s+i[15]*l)/e.drawingBufferHeight;this.vao.bind();for(var f=0;f&lt;3;++f)e.lineWidth(this.lineWidth[f]),r.capSize=this.capSize[f]*u,this.lineCount[f]&amp;&amp;e.drawArrays(e.LINES,this.lineOffset[f],this.lineCount[f]);this.vao.unbind()};var f=function(){for(var t=new Array(3),e=0;e&lt;3;++e){for(var r=[],n=1;n&lt;=2;++n)for(var i=-1;i&lt;=1;i+=2){var a=[0,0,0];a[(n+e)%3]=i,r.push(a)}t[e]=r}return t}();u.update=function(t){&quot;lineWidth&quot;in(t=t||{})&amp;&amp;(this.lineWidth=t.lineWidth,Array.isArray(this.lineWidth)||(this.lineWidth=[this.lineWidth,this.lineWidth,this.lineWidth])),&quot;capSize&quot;in t&amp;&amp;(this.capSize=t.capSize,Array.isArray(this.capSize)||(this.capSize=[this.capSize,this.capSize,this.capSize])),&quot;opacity&quot;in t&amp;&amp;(this.opacity=t.opacity);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&amp;&amp;n){var o=[],s=r.length,l=0;this.bounds=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],this.lineCount=[0,0,0];for(var c=0;c&lt;3;++c){this.lineOffset[c]=l;t:for(var u=0;u&lt;s;++u){for(var f=r[u],h=0;h&lt;3;++h)if(isNaN(f[h])||!isFinite(f[h]))continue t;var d=n[u],p=e[c];if(Array.isArray(p[0])&amp;&amp;(p=e[u]),3===p.length&amp;&amp;(p=[p[0],p[1],p[2],1]),!isNaN(d[0][c])&amp;&amp;!isNaN(d[1][c])){if(d[0][c]&lt;0){(m=f.slice())[c]+=d[0][c],o.push(f[0],f[1],f[2],p[0],p[1],p[2],p[3],0,0,0,m[0],m[1],m[2],p[0],p[1],p[2],p[3],0,0,0),i(this.bounds,m),l+=2+a(o,m,p,c)}if(d[1][c]&gt;0){var m;(m=f.slice())[c]+=d[1][c],o.push(f[0],f[1],f[2],p[0],p[1],p[2],p[3],0,0,0,m[0],m[1],m[2],p[0],p[1],p[2],p[3],0,0,0),i(this.bounds,m),l+=2+a(o,m,p,c)}}}this.lineCount[c]=l-this.lineOffset[c]}this.buffer.update(o)}},u.dispose=function(){this.shader.dispose(),this.buffer.dispose(),this.vao.dispose()}},{&quot;./shaders/index&quot;:170,&quot;gl-buffer&quot;:165,&quot;gl-vao&quot;:259}],169:[function(t,e,r){e.exports=function(t){&quot;string&quot;==typeof t&amp;&amp;(t=[t]);for(var e=[].slice.call(arguments,1),r=[],n=0;n&lt;t.length-1;n++)r.push(t[n],e[n]||&quot;&quot;);return r.push(t[n]),r.join(&quot;&quot;)}},{}],170:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;glslify&quot;),i=t(&quot;gl-shader&quot;),a=n([&quot;precision mediump 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}&quot;]),o=n([&quot;precision mediump float;\n#define GLSLIFY 1\nuniform vec3 clipBounds[2];\nuniform float opacity;\nvarying vec3 fragPosition;\nvarying vec4 fragColor;\n\nvoid main() {\n  if(any(lessThan(fragPosition, clipBounds[0])) || any(greaterThan(fragPosition, clipBounds[1]))) {\n    discard;\n  }\n  gl_FragColor = opacity * fragColor;\n}&quot;]);e.exports=function(t){return i(t,a,o,null,[{name:&quot;position&quot;,type:&quot;vec3&quot;},{name:&quot;color&quot;,type:&quot;vec4&quot;},{name:&quot;offset&quot;,type:&quot;vec3&quot;}])}},{&quot;gl-shader&quot;:243,glslify:169}],171:[function(t,e,r){&quot;use strict&quot;;function n(t){return[t.getParameter(t.FRAMEBUFFER_BINDING),t.getParameter(t.RENDERBUFFER_BINDING),t.getParameter(t.TEXTURE_BINDING_2D)]}function i(t,e){t.bindFramebuffer(t.FRAMEBUFFER,e[0]),t.bindRenderbuffer(t.RENDERBUFFER,e[1]),t.bindTexture(t.TEXTURE_2D,e[2])}function a(t){switch(t){case f:throw new Error(&quot;gl-fbo: Framebuffer unsupported&quot;);case h:throw new Error(&quot;gl-fbo: Framebuffer incomplete attachment&quot;);case d:throw new Error(&quot;gl-fbo: Framebuffer incomplete dimensions&quot;);case p:throw new Error(&quot;gl-fbo: Framebuffer incomplete missing attachment&quot;);default:throw new Error(&quot;gl-fbo: Framebuffer failed for unspecified reason&quot;)}}function o(t,e,r,n,i,a){if(!n)return null;var o=u(t,e,r,i,n);return o.magFilter=t.NEAREST,o.minFilter=t.NEAREST,o.mipSamples=1,o.bind(),t.framebufferTexture2D(t.FRAMEBUFFER,a,t.TEXTURE_2D,o.handle,0),o}function s(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 l(t,e,r,l,c,u,f,h){this.gl=t,this._shape=[0|e,0|r],this._destroyed=!1,this._ext=h,this.color=new Array(c);for(var d=0;d&lt;c;++d)this.color[d]=null;this._color_rb=null,this.depth=null,this._depth_rb=null,this._colorType=l,this._useDepth=u,this._useStencil=f;var p=this,g=[0|e,0|r];Object.defineProperties(g,{0:{get:function(){return p._shape[0]},set:function(t){return p.width=t}},1:{get:function(){return p._shape[1]},set:function(t){return p.height=t}}}),this._shapeVector=g,function(t){var e=n(t.gl),r=t.gl,l=t.handle=r.createFramebuffer(),c=t._shape[0],u=t._shape[1],f=t.color.length,h=t._ext,d=t._useStencil,p=t._useDepth,g=t._colorType;r.bindFramebuffer(r.FRAMEBUFFER,l);for(var v=0;v&lt;f;++v)t.color[v]=o(r,c,u,g,r.RGBA,r.COLOR_ATTACHMENT0+v);0===f?(t._color_rb=s(r,c,u,r.RGBA4,r.COLOR_ATTACHMENT0),h&amp;&amp;h.drawBuffersWEBGL(m[0])):f&gt;1&amp;&amp;h.drawBuffersWEBGL(m[f]);var y=r.getExtension(&quot;WEBGL_depth_texture&quot;);y?d?t.depth=o(r,c,u,y.UNSIGNED_INT_24_8_WEBGL,r.DEPTH_STENCIL,r.DEPTH_STENCIL_ATTACHMENT):p&amp;&amp;(t.depth=o(r,c,u,r.UNSIGNED_SHORT,r.DEPTH_COMPONENT,r.DEPTH_ATTACHMENT)):p&amp;&amp;d?t._depth_rb=s(r,c,u,r.DEPTH_STENCIL,r.DEPTH_STENCIL_ATTACHMENT):p?t._depth_rb=s(r,c,u,r.DEPTH_COMPONENT16,r.DEPTH_ATTACHMENT):d&amp;&amp;(t._depth_rb=s(r,c,u,r.STENCIL_INDEX,r.STENCIL_ATTACHMENT));var x=r.checkFramebufferStatus(r.FRAMEBUFFER);if(x!==r.FRAMEBUFFER_COMPLETE){for(t._destroyed=!0,r.bindFramebuffer(r.FRAMEBUFFER,null),r.deleteFramebuffer(t.handle),t.handle=null,t.depth&amp;&amp;(t.depth.dispose(),t.depth=null),t._depth_rb&amp;&amp;(r.deleteRenderbuffer(t._depth_rb),t._depth_rb=null),v=0;v&lt;t.color.length;++v)t.color[v].dispose(),t.color[v]=null;t._color_rb&amp;&amp;(r.deleteRenderbuffer(t._color_rb),t._color_rb=null),i(r,e),a(x)}i(r,e)}(this)}function c(t,e,r){if(t._destroyed)throw new Error(&quot;gl-fbo: Can't resize destroyed FBO&quot;);if(t._shape[0]!==e||t._shape[1]!==r){var o=t.gl,s=o.getParameter(o.MAX_RENDERBUFFER_SIZE);if(e&lt;0||e&gt;s||r&lt;0||r&gt;s)throw new Error(&quot;gl-fbo: Can't resize FBO, invalid dimensions&quot;);t._shape[0]=e,t._shape[1]=r;for(var l=n(o),c=0;c&lt;t.color.length;++c)t.color[c].shape=t._shape;t._color_rb&amp;&amp;(o.bindRenderbuffer(o.RENDERBUFFER,t._color_rb),o.renderbufferStorage(o.RENDERBUFFER,o.RGBA4,t._shape[0],t._shape[1])),t.depth&amp;&amp;(t.depth.shape=t._shape),t._depth_rb&amp;&amp;(o.bindRenderbuffer(o.RENDERBUFFER,t._depth_rb),t._useDepth&amp;&amp;t._useStencil?o.renderbufferStorage(o.RENDERBUFFER,o.DEPTH_STENCIL,t._shape[0],t._shape[1]):t._useDepth?o.renderbufferStorage(o.RENDERBUFFER,o.DEPTH_COMPONENT16,t._shape[0],t._shape[1]):t._useStencil&amp;&amp;o.renderbufferStorage(o.RENDERBUFFER,o.STENCIL_INDEX,t._shape[0],t._shape[1])),o.bindFramebuffer(o.FRAMEBUFFER,t.handle);var u=o.checkFramebufferStatus(o.FRAMEBUFFER);u!==o.FRAMEBUFFER_COMPLETE&amp;&amp;(t.dispose(),i(o,l),a(u)),i(o,l)}}var u=t(&quot;gl-texture2d&quot;);e.exports=function(t,e,r,n){f||(f=t.FRAMEBUFFER_UNSUPPORTED,h=t.FRAMEBUFFER_INCOMPLETE_ATTACHMENT,d=t.FRAMEBUFFER_INCOMPLETE_DIMENSIONS,p=t.FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT);var i=t.getExtension(&quot;WEBGL_draw_buffers&quot;);if(!m&amp;&amp;i&amp;&amp;function(t,e){var r=t.getParameter(e.MAX_COLOR_ATTACHMENTS_WEBGL);m=new Array(r+1);for(var n=0;n&lt;=r;++n){for(var i=new Array(r),a=0;a&lt;n;++a)i[a]=t.COLOR_ATTACHMENT0+a;for(a=n;a&lt;r;++a)i[a]=t.NONE;m[n]=i}}(t,i),Array.isArray(e)&amp;&amp;(n=r,r=0|e[1],e=0|e[0]),&quot;number&quot;!=typeof e)throw new Error(&quot;gl-fbo: Missing shape parameter&quot;);var a=t.getParameter(t.MAX_RENDERBUFFER_SIZE);if(e&lt;0||e&gt;a||r&lt;0||r&gt;a)throw new Error(&quot;gl-fbo: Parameters are too large for FBO&quot;);var o=1;if(&quot;color&quot;in(n=n||{})){if((o=Math.max(0|n.color,0))&lt;0)throw new Error(&quot;gl-fbo: Must specify a nonnegative number of colors&quot;);if(o&gt;1){if(!i)throw new Error(&quot;gl-fbo: Multiple draw buffer extension not supported&quot;);if(o&gt;t.getParameter(i.MAX_COLOR_ATTACHMENTS_WEBGL))throw new Error(&quot;gl-fbo: Context does not support &quot;+o+&quot; draw buffers&quot;)}}var s=t.UNSIGNED_BYTE,c=t.getExtension(&quot;OES_texture_float&quot;);if(n.float&amp;&amp;o&gt;0){if(!c)throw new Error(&quot;gl-fbo: Context does not support floating point textures&quot;);s=t.FLOAT}else n.preferFloat&amp;&amp;o&gt;0&amp;&amp;c&amp;&amp;(s=t.FLOAT);var u=!0;&quot;depth&quot;in n&amp;&amp;(u=!!n.depth);var g=!1;return&quot;stencil&quot;in n&amp;&amp;(g=!!n.stencil),new l(t,e,r,s,o,u,g,i)};var f,h,d,p,m=null,g=l.prototype;Object.defineProperties(g,{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(&quot;gl-fbo: Shape vector must be length 2&quot;);var e=0|t[0],r=0|t[1];return c(this,e,r),[e,r]},enumerable:!1},width:{get:function(){return this._destroyed?0:this._shape[0]},set:function(t){return t|=0,c(this,t,this._shape[1]),t},enumerable:!1},height:{get:function(){return this._destroyed?0:this._shape[1]},set:function(t){return t|=0,c(this,this._shape[0],t),t},enumerable:!1}}),g.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])}},g.dispose=function(){if(!this._destroyed){this._destroyed=!0;var t=this.gl;t.deleteFramebuffer(this.handle),this.handle=null,this.depth&amp;&amp;(this.depth.dispose(),this.depth=null),this._depth_rb&amp;&amp;(t.deleteRenderbuffer(this._depth_rb),this._depth_rb=null);for(var e=0;e&lt;this.color.length;++e)this.color[e].dispose(),this.color[e]=null;this._color_rb&amp;&amp;(t.deleteRenderbuffer(this._color_rb),this._color_rb=null)}}},{&quot;gl-texture2d&quot;:255}],172:[function(t,e,r){var n=t(&quot;sprintf-js&quot;).sprintf,i=t(&quot;gl-constants/lookup&quot;),a=t(&quot;glsl-shader-name&quot;),o=t(&quot;add-line-numbers&quot;);e.exports=function(t,e,r){&quot;use strict&quot;;var s=a(e)||&quot;of unknown name (see npm glsl-shader-name)&quot;,l=&quot;unknown type&quot;;void 0!==r&amp;&amp;(l=r===i.FRAGMENT_SHADER?&quot;fragment&quot;:&quot;vertex&quot;);for(var c=n(&quot;Error compiling %s shader %s:\n&quot;,l,s),u=n(&quot;%s%s&quot;,c,t),f=t.split(&quot;\n&quot;),h={},d=0;d&lt;f.length;d++){var p=f[d];if(&quot;&quot;!==p){var m=parseInt(p.split(&quot;:&quot;)[2]);if(isNaN(m))throw new Error(n(&quot;Could not parse error: %s&quot;,p));h[m]=p}}var g=o(e).split(&quot;\n&quot;);for(d=0;d&lt;g.length;d++)if((h[d+3]||h[d+2]||h[d+1])&amp;&amp;(c+=g[d]+&quot;\n&quot;,h[d+1])){var v=h[d+1];v=v.substr(v.split(&quot;:&quot;,3).join(&quot;:&quot;).length+1).trim(),c+=n(&quot;^^^ %s\n\n&quot;,v)}return{long:c.trim(),short:u.trim()}}},{&quot;add-line-numbers&quot;:44,&quot;gl-constants/lookup&quot;:167,&quot;glsl-shader-name&quot;:267,&quot;sprintf-js&quot;:536}],173:[function(t,e,r){&quot;use strict&quot;;function n(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}e.exports=function(t,e){var r=t.gl,i=new n(t,s(r,c.vertex,c.fragment),s(r,c.pickVertex,c.pickFragment),l(r),l(r),l(r),l(r));return i.update(e),t.addObject(i),i};var i=t(&quot;binary-search-bounds&quot;),a=t(&quot;iota-array&quot;),o=t(&quot;typedarray-pool&quot;),s=t(&quot;gl-shader&quot;),l=t(&quot;gl-buffer&quot;),c=t(&quot;./lib/shaders&quot;),u=n.prototype,f=[0,0,1,0,0,1,1,0,1,1,0,1];u.draw=function(){var t=[1,0,0,0,1,0,0,0,1];return function(){var e=this.plot,r=this.shader,n=this.bounds,i=this.numVertices;if(!(i&lt;=0)){var a=e.gl,o=e.dataBox,s=n[2]-n[0],l=n[3]-n[1],c=o[2]-o[0],u=o[3]-o[1];t[0]=2*s/c,t[4]=2*l/u,t[6]=2*(n[0]-o[0])/c-1,t[7]=2*(n[1]-o[1])/u-1,r.bind();var f=r.uniforms;f.viewTransform=t,f.shape=this.shape;var h=r.attributes;this.positionBuffer.bind(),h.position.pointer(),this.weightBuffer.bind(),h.weight.pointer(a.UNSIGNED_BYTE,!1),this.colorBuffer.bind(),h.color.pointer(a.UNSIGNED_BYTE,!0),a.drawArrays(a.TRIANGLES,0,i)}}}(),u.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&lt;=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 d=0;d&lt;4;++d)e[d]=r&gt;&gt;8*d&amp;255;this.pickOffset=r,i.bind();var p=i.uniforms;p.viewTransform=t,p.pickOffset=e,p.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]}}}(),u.pick=function(t,e,r){var n=this.pickOffset,i=this.shape[0]*this.shape[1];if(r&lt;n||r&gt;=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]]}},u.update=function(t){var e=(t=t||{}).shape||[0,0],r=t.x||a(e[0]),n=t.y||a(e[1]),s=t.z||new Float32Array(e[0]*e[1]);this.xData=r,this.yData=n;var l=t.colorLevels||[0],c=t.colorValues||[0,0,0,1],u=l.length,h=this.bounds,d=h[0]=r[0],p=h[1]=n[0],m=1/((h[2]=r[r.length-1])-d),g=1/((h[3]=n[n.length-1])-p),v=e[0],y=e[1];this.shape=[v,y];var x=(v-1)*(y-1)*(f.length&gt;&gt;&gt;1);this.numVertices=x;for(var b=o.mallocUint8(4*x),_=o.mallocFloat32(2*x),w=o.mallocUint8(2*x),M=o.mallocUint32(x),k=0,A=0;A&lt;y-1;++A)for(var T=g*(n[A]-p),S=g*(n[A+1]-p),E=0;E&lt;v-1;++E)for(var L=m*(r[E]-d),C=m*(r[E+1]-d),z=0;z&lt;f.length;z+=2){var D,I,P,O,F=f[z],R=f[z+1],N=s[(A+R)*v+(E+F)],j=i.le(l,N);if(j&lt;0)D=c[0],I=c[1],P=c[2],O=c[3];else if(j===u-1)D=c[4*u-4],I=c[4*u-3],P=c[4*u-2],O=c[4*u-1];else{var B=(N-l[j])/(l[j+1]-l[j]),U=1-B,V=4*j,q=4*(j+1);D=U*c[V]+B*c[q],I=U*c[V+1]+B*c[q+1],P=U*c[V+2]+B*c[q+2],O=U*c[V+3]+B*c[q+3]}b[4*k]=255*D,b[4*k+1]=255*I,b[4*k+2]=255*P,b[4*k+3]=255*O,_[2*k]=.5*L+.5*C,_[2*k+1]=.5*T+.5*S,w[2*k]=F,w[2*k+1]=R,M[k]=A*v+E,k+=1}this.positionBuffer.update(_),this.weightBuffer.update(w),this.colorBuffer.update(b),this.idBuffer.update(M),o.free(_),o.free(b),o.free(w),o.free(M)},u.dispose=function(){this.shader.dispose(),this.pickShader.dispose(),this.positionBuffer.dispose(),this.weightBuffer.dispose(),this.colorBuffer.dispose(),this.idBuffer.dispose(),this.plot.removeObject(this)}},{&quot;./lib/shaders&quot;:174,&quot;binary-search-bounds&quot;:175,&quot;gl-buffer&quot;:165,&quot;gl-shader&quot;:243,&quot;iota-array&quot;:281,&quot;typedarray-pool&quot;:554}],174:[function(t,e,r){&quot;use strict&quot;;e.exports={fragment:&quot;precision lowp float;\n#define GLSLIFY 1\nvarying vec4 fragColor;\nvoid main() {\n  gl_FragColor = vec4(fragColor.rgb * fragColor.a, fragColor.a);\n}\n&quot;,vertex:&quot;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&quot;,pickFragment:&quot;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&quot;,pickVertex:&quot;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&quot;}},{}],175:[function(t,e,r){arguments[4][89][0].apply(r,arguments)},{dup:89}],176:[function(t,e,r){var n=t(&quot;gl-shader&quot;),i=&quot;precision mediump 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\nvoid main() {\n  vec4 projected = projection * view * model * vec4(position, 1.0);\n  vec4 tangentClip = projection * view * model * vec4(nextPosition - position, 0.0);\n  vec2 tangent = normalize(screenShape * tangentClip.xy);\n  vec2 offset = 0.5 * pixelRatio * lineWidth * vec2(tangent.y, -tangent.x) / screenShape;\n\n  gl_Position = vec4(projected.xy + projected.w * offset, projected.zw);\n\n  worldPosition = position;\n  pixelArcLength = arcLength;\n  fragColor = color;\n}\n&quot;,a=[{name:&quot;position&quot;,type:&quot;vec3&quot;},{name:&quot;nextPosition&quot;,type:&quot;vec3&quot;},{name:&quot;arcLength&quot;,type:&quot;float&quot;},{name:&quot;lineWidth&quot;,type:&quot;float&quot;},{name:&quot;color&quot;,type:&quot;vec4&quot;}];r.createShader=function(t){return n(t,i,&quot;precision mediump float;\n#define GLSLIFY 1\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(any(lessThan(worldPosition, clipBounds[0])) || any(greaterThan(worldPosition, clipBounds[1]))) {\n    discard;\n  }\n  float dashWeight = texture2D(dashTexture, vec2(dashScale * pixelArcLength, 0)).r;\n  if(dashWeight &lt; 0.5) {\n    discard;\n  }\n  gl_FragColor = fragColor * opacity;\n}\n&quot;,null,a)},r.createPickShader=function(t){return n(t,i,&quot;precision mediump float;\n#define GLSLIFY 1\n\n#define FLOAT_MAX  1.70141184e38\n#define FLOAT_MIN  1.17549435e-38\n\nlowp vec4 encode_float_1_0(highp float v) {\n  highp float av = abs(v);\n\n  //Handle special cases\n  if(av &lt; FLOAT_MIN) {\n    return vec4(0.0, 0.0, 0.0, 0.0);\n  } else if(v &gt; FLOAT_MAX) {\n    return vec4(127.0, 128.0, 0.0, 0.0) / 255.0;\n  } else if(v &lt; -FLOAT_MAX) {\n    return vec4(255.0, 128.0, 0.0, 0.0) / 255.0;\n  }\n\n  highp vec4 c = vec4(0,0,0,0);\n\n  //Compute exponent and mantissa\n  highp float e = floor(log2(av));\n  highp 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  highp 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\n\n\nuniform float pickId;\nuniform vec3 clipBounds[2];\n\nvarying vec3 worldPosition;\nvarying float pixelArcLength;\nvarying vec4 fragColor;\n\nvoid main() {\n  if(any(lessThan(worldPosition, clipBounds[0])) || any(greaterThan(worldPosition, clipBounds[1]))) {\n    discard;\n  }\n  gl_FragColor = vec4(pickId/255.0, encode_float_1_0(pixelArcLength).xyz);\n}&quot;,null,a)}},{&quot;gl-shader&quot;:243}],177:[function(t,e,r){&quot;use strict&quot;;function n(t,e){for(var r=0,n=0;n&lt;3;++n){var i=t[n]-e[n];r+=i*i}return Math.sqrt(r)}function i(t){for(var e=[[-1e6,-1e6,-1e6],[1e6,1e6,1e6]],r=0;r&lt;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 a(t,e,r,n){this.arcLength=t,this.position=e,this.index=r,this.dataCoordinate=n}function o(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.dirty=!0,this.pixelRatio=1}e.exports=function(t){var e=t.gl||t.scene&amp;&amp;t.scene.gl,r=p(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 n=m(e);n.attributes.position.location=0,n.attributes.nextPosition.location=1,n.attributes.arcLength.location=2,n.attributes.lineWidth.location=3,n.attributes.color.location=4;for(var i=s(e),a=l(e,[{buffer:i,size:3,offset:0,stride:48},{buffer:i,size:3,offset:12,stride:48},{buffer:i,size:1,offset:24,stride:48},{buffer:i,size:1,offset:28,stride:48},{buffer:i,size:4,offset:32,stride:48}]),u=h(new Array(1024),[256,1,4]),f=0;f&lt;1024;++f)u.data[f]=255;var d=c(e,u);d.wrap=e.REPEAT;var g=new o(e,r,n,i,a,d);return g.update(t),g};var s=t(&quot;gl-buffer&quot;),l=t(&quot;gl-vao&quot;),c=t(&quot;gl-texture2d&quot;),u=t(&quot;glsl-read-float&quot;),f=t(&quot;binary-search-bounds&quot;),h=t(&quot;ndarray&quot;),d=t(&quot;./lib/shaders&quot;),p=d.createShader,m=d.createPickShader,g=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],v=o.prototype;v.isTransparent=function(){return this.opacity&lt;1},v.isOpaque=function(){return this.opacity&gt;=1},v.pickSlots=1,v.setPickBase=function(t){this.pickId=t},v.drawTransparent=v.draw=function(t){var e=this.gl,r=this.shader,n=this.vao;r.bind(),r.uniforms={model:t.model||g,view:t.view||g,projection:t.projection||g,clipBounds:i(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)},v.drawPick=function(t){var e=this.gl,r=this.pickShader,n=this.vao;r.bind(),r.uniforms={model:t.model||g,view:t.view||g,projection:t.projection||g,pickId:this.pickId,clipBounds:i(this.clipBounds),screenShape:[e.drawingBufferWidth,e.drawingBufferHeight],pixelRatio:this.pixelRatio},n.bind(),n.draw(e.TRIANGLE_STRIP,this.vertexCount)},v.update=function(t){var e,r;this.dirty=!0;var i=!!t.connectGaps;&quot;dashScale&quot;in t&amp;&amp;(this.dashScale=t.dashScale),&quot;opacity&quot;in t&amp;&amp;(this.opacity=+t.opacity);var a=t.position||t.positions;if(a){var o=t.color||t.colors||[0,0,0,1],s=t.lineWidth||1,l=[],c=[],u=[],d=0,p=0,m=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],g=!1;t:for(e=1;e&lt;a.length;++e){var v=a[e-1],y=a[e];for(c.push(d),u.push(v.slice()),r=0;r&lt;3;++r){if(isNaN(v[r])||isNaN(y[r])||!isFinite(v[r])||!isFinite(y[r])){if(!i&amp;&amp;l.length&gt;0){for(var x=0;x&lt;24;++x)l.push(l[l.length-12]);p+=2,g=!0}continue t}m[0][r]=Math.min(m[0][r],v[r],y[r]),m[1][r]=Math.max(m[1][r],v[r],y[r])}var b,_;Array.isArray(o[0])?(b=o[e-1],_=o[e]):b=_=o,3===b.length&amp;&amp;(b=[b[0],b[1],b[2],1]),3===_.length&amp;&amp;(_=[_[0],_[1],_[2],1]);var w;w=Array.isArray(s)?s[e-1]:s;var M=d;if(d+=n(v,y),g){for(r=0;r&lt;2;++r)l.push(v[0],v[1],v[2],y[0],y[1],y[2],M,w,b[0],b[1],b[2],b[3]);p+=2,g=!1}l.push(v[0],v[1],v[2],y[0],y[1],y[2],M,w,b[0],b[1],b[2],b[3],v[0],v[1],v[2],y[0],y[1],y[2],M,-w,b[0],b[1],b[2],b[3],y[0],y[1],y[2],v[0],v[1],v[2],d,-w,_[0],_[1],_[2],_[3],y[0],y[1],y[2],v[0],v[1],v[2],d,w,_[0],_[1],_[2],_[3]),p+=4}if(this.buffer.update(l),c.push(d),u.push(a[a.length-1].slice()),this.bounds=m,this.vertexCount=p,this.points=u,this.arcLength=c,&quot;dashes&quot;in t){var k=t.dashes.slice();for(k.unshift(0),e=1;e&lt;k.length;++e)k[e]=k[e-1]+k[e];var A=h(new Array(1024),[256,1,4]);for(e=0;e&lt;256;++e){for(r=0;r&lt;4;++r)A.set(e,0,r,0);1&amp;f.le(k,k[k.length-1]*e/255)?A.set(e,0,0,0):A.set(e,0,0,255)}this.texture.setPixels(A)}}},v.dispose=function(){this.shader.dispose(),this.vao.dispose(),this.buffer.dispose()},v.pick=function(t){if(!t)return null;if(t.id!==this.pickId)return null;var e=u(t.value[0],t.value[1],t.value[2],0),r=f.le(this.arcLength,e);if(r&lt;0)return null;if(r===this.arcLength.length-1)return new a(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)],o=(e-this.arcLength[r])/(this.arcLength[r+1]-this.arcLength[r]),s=1-o,l=[0,0,0],c=0;c&lt;3;++c)l[c]=s*n[c]+o*i[c];var h=Math.min(o&lt;.5?r:r+1,this.points.length-1);return new a(e,l,h,this.points[h])}},{&quot;./lib/shaders&quot;:176,&quot;binary-search-bounds&quot;:70,&quot;gl-buffer&quot;:165,&quot;gl-texture2d&quot;:255,&quot;gl-vao&quot;:259,&quot;glsl-read-float&quot;:266,ndarray:458}],178:[function(t,e,r){e.exports=function(t,e){var r=e[0],n=e[1],i=e[2],a=e[3],o=r*a-i*n;return o?(o=1/o,t[0]=a*o,t[1]=-n*o,t[2]=-i*o,t[3]=r*o,t):null}},{}],179:[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=u*o-s*c,h=-u*a+s*l,d=c*a-o*l,p=r*f+n*h+i*d;return p?(p=1/p,t[0]=f*p,t[1]=(-u*n+i*c)*p,t[2]=(s*n-i*o)*p,t[3]=h*p,t[4]=(u*r-i*l)*p,t[5]=(-s*r+i*a)*p,t[6]=d*p,t[7]=(-c*r+n*l)*p,t[8]=(o*r-n*a)*p,t):null}},{}],180:[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}},{}],181:[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}},{}],182:[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],d=t[12],p=t[13],m=t[14],g=t[15];return(e*o-r*a)*(f*g-h*m)-(e*s-n*a)*(u*g-h*p)+(e*l-i*a)*(u*m-f*p)+(r*s-n*o)*(c*g-h*d)-(r*l-i*o)*(c*m-f*d)+(n*l-i*s)*(c*p-u*d)}},{}],183:[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,d=i*s,p=i*l,m=a*o,g=a*s,v=a*l;return t[0]=1-f-p,t[1]=u+v,t[2]=h-g,t[3]=0,t[4]=u-v,t[5]=1-c-p,t[6]=d+m,t[7]=0,t[8]=h+g,t[9]=d-m,t[10]=1-c-f,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}},{}],184:[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,d=i*l,p=i*c,m=a*c,g=o*s,v=o*l,y=o*c;return t[0]=1-(d+m),t[1]=f+y,t[2]=h-v,t[3]=0,t[4]=f-y,t[5]=1-(u+m),t[6]=p+g,t[7]=0,t[8]=h+v,t[9]=p-g,t[10]=1-(u+d),t[11]=0,t[12]=r[0],t[13]=r[1],t[14]=r[2],t[15]=1,t}},{}],185:[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}},{}],186:[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],d=e[11],p=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,M=i*c-a*l,k=u*m-f*p,A=u*g-h*p,T=u*v-d*p,S=f*g-h*m,E=f*v-d*m,L=h*v-d*g,C=y*L-x*E+b*S+_*T-w*A+M*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*M-g*w+v*_)*C,t[3]=(h*w-f*M-d*_)*C,t[4]=(l*T-o*L-c*A)*C,t[5]=(r*L-i*T+a*A)*C,t[6]=(g*b-p*M-v*x)*C,t[7]=(u*M-h*b+d*x)*C,t[8]=(o*E-s*T+c*k)*C,t[9]=(n*T-r*E-a*k)*C,t[10]=(p*w-m*b+v*y)*C,t[11]=(f*b-u*w-d*y)*C,t[12]=(s*A-o*S-l*k)*C,t[13]=(r*S-n*A+i*k)*C,t[14]=(m*x-p*_-g*y)*C,t[15]=(u*_-f*x+h*y)*C,t):null}},{}],187:[function(t,e,r){var n=t(&quot;./identity&quot;);e.exports=function(t,e,r,i){var a,o,s,l,c,u,f,h,d,p,m=e[0],g=e[1],v=e[2],y=i[0],x=i[1],b=i[2],_=r[0],w=r[1],M=r[2];return Math.abs(m-_)&lt;1e-6&amp;&amp;Math.abs(g-w)&lt;1e-6&amp;&amp;Math.abs(v-M)&lt;1e-6?n(t):(f=m-_,h=g-w,d=v-M,p=1/Math.sqrt(f*f+h*h+d*d),f*=p,h*=p,d*=p,a=x*d-b*h,o=b*f-y*d,s=y*h-x*f,(p=Math.sqrt(a*a+o*o+s*s))?(a*=p=1/p,o*=p,s*=p):(a=0,o=0,s=0),l=h*s-d*o,c=d*a-f*s,u=f*o-h*a,(p=Math.sqrt(l*l+c*c+u*u))?(l*=p=1/p,c*=p,u*=p):(l=0,c=0,u=0),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]=d,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+d*v),t[15]=1,t)}},{&quot;./identity&quot;:185}],188:[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],d=e[10],p=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+_*d+w*v,t[3]=x*o+b*u+_*p+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+_*d+w*v,t[7]=x*o+b*u+_*p+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+_*d+w*v,t[11]=x*o+b*u+_*p+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+_*d+w*v,t[15]=x*o+b*u+_*p+w*y,t}},{}],189:[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}},{}],190:[function(t,e,r){e.exports=function(t,e,r,n){var i,a,o,s,l,c,u,f,h,d,p,m,g,v,y,x,b,_,w,M,k,A,T,S,E=n[0],L=n[1],C=n[2],z=Math.sqrt(E*E+L*L+C*C);return Math.abs(z)&lt;1e-6?null:(z=1/z,E*=z,L*=z,C*=z,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],d=e[6],p=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,M=L*L*o+a,k=C*L*o+E*i,A=E*C*o+L*i,T=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+d*b+v*_,t[3]=u*x+p*b+y*_,t[4]=s*w+f*M+m*k,t[5]=l*w+h*M+g*k,t[6]=c*w+d*M+v*k,t[7]=u*w+p*M+y*k,t[8]=s*A+f*T+m*S,t[9]=l*A+h*T+g*S,t[10]=c*A+d*T+v*S,t[11]=u*A+p*T+y*S,e!==t&amp;&amp;(t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]),t)}},{}],191:[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];return e!==t&amp;&amp;(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}},{}],192:[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];return e!==t&amp;&amp;(t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]),t[0]=a*i-c*n,t[1]=o*i-u*n,t[2]=s*i-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}},{}],193:[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];return e!==t&amp;&amp;(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}},{}],194:[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}},{}],195:[function(t,e,r){e.exports=function(t,e,r){var n,i,a,o,s,l,c,u,f,h,d,p,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],d=e[10],p=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]=d,t[11]=p,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+d*v+e[14],t[15]=o*m+u*g+p*v+e[15]),t}},{}],196:[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}},{}],197:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t,e){switch(e.length){case 0:break;case 1:t[0]=1/e[0];break;case 4:n(t,e);break;case 9:i(t,e);break;case 16:a(t,e);break;default:throw new Error(&quot;currently supports matrices up to 4x4&quot;)}return t};var n=t(&quot;gl-mat2/invert&quot;),i=t(&quot;gl-mat3/invert&quot;),a=t(&quot;gl-mat4/invert&quot;)},{&quot;gl-mat2/invert&quot;:178,&quot;gl-mat3/invert&quot;:179,&quot;gl-mat4/invert&quot;:186}],198:[function(t,e,r){r.glMatrix=t(&quot;./gl-matrix/common.js&quot;),r.mat2=t(&quot;./gl-matrix/mat2.js&quot;),r.mat2d=t(&quot;./gl-matrix/mat2d.js&quot;),r.mat3=t(&quot;./gl-matrix/mat3.js&quot;),r.mat4=t(&quot;./gl-matrix/mat4.js&quot;),r.quat=t(&quot;./gl-matrix/quat.js&quot;),r.vec2=t(&quot;./gl-matrix/vec2.js&quot;),r.vec3=t(&quot;./gl-matrix/vec3.js&quot;),r.vec4=t(&quot;./gl-matrix/vec4.js&quot;)},{&quot;./gl-matrix/common.js&quot;:199,&quot;./gl-matrix/mat2.js&quot;:200,&quot;./gl-matrix/mat2d.js&quot;:201,&quot;./gl-matrix/mat3.js&quot;:202,&quot;./gl-matrix/mat4.js&quot;:203,&quot;./gl-matrix/quat.js&quot;:204,&quot;./gl-matrix/vec2.js&quot;:205,&quot;./gl-matrix/vec3.js&quot;:206,&quot;./gl-matrix/vec4.js&quot;:207}],199:[function(t,e,r){var n={};n.EPSILON=1e-6,n.ARRAY_TYPE=&quot;undefined&quot;!=typeof Float32Array?Float32Array:Array,n.RANDOM=Math.random,n.ENABLE_SIMD=!1,n.SIMD_AVAILABLE=n.ARRAY_TYPE===Float32Array&amp;&amp;&quot;SIMD&quot;in this,n.USE_SIMD=n.ENABLE_SIMD&amp;&amp;n.SIMD_AVAILABLE,n.setMatrixArrayType=function(t){n.ARRAY_TYPE=t};var i=Math.PI/180;n.toRadian=function(t){return t*i},n.equals=function(t,e){return Math.abs(t-e)&lt;=n.EPSILON*Math.max(1,Math.abs(t),Math.abs(e))},e.exports=n},{}],200:[function(t,e,r){var n=t(&quot;./common.js&quot;),i={};i.create=function(){var t=new n.ARRAY_TYPE(4);return t[0]=1,t[1]=0,t[2]=0,t[3]=1,t},i.clone=function(t){var e=new n.ARRAY_TYPE(4);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e},i.copy=function(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t},i.identity=function(t){return t[0]=1,t[1]=0,t[2]=0,t[3]=1,t},i.fromValues=function(t,e,r,i){var a=new n.ARRAY_TYPE(4);return a[0]=t,a[1]=e,a[2]=r,a[3]=i,a},i.set=function(t,e,r,n,i){return t[0]=e,t[1]=r,t[2]=n,t[3]=i,t},i.transpose=function(t,e){if(t===e){var r=e[1];t[1]=e[2],t[2]=r}else t[0]=e[0],t[1]=e[2],t[2]=e[1],t[3]=e[3];return t},i.invert=function(t,e){var r=e[0],n=e[1],i=e[2],a=e[3],o=r*a-i*n;return o?(o=1/o,t[0]=a*o,t[1]=-n*o,t[2]=-i*o,t[3]=r*o,t):null},i.adjoint=function(t,e){var r=e[0];return t[0]=e[3],t[1]=-e[1],t[2]=-e[2],t[3]=r,t},i.determinant=function(t){return t[0]*t[3]-t[2]*t[1]},i.multiply=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=e[3],s=r[0],l=r[1],c=r[2],u=r[3];return t[0]=n*s+a*l,t[1]=i*s+o*l,t[2]=n*c+a*u,t[3]=i*c+o*u,t},i.mul=i.multiply,i.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},i.scale=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=e[3],s=r[0],l=r[1];return t[0]=n*s,t[1]=i*s,t[2]=a*l,t[3]=o*l,t},i.fromRotation=function(t,e){var r=Math.sin(e),n=Math.cos(e);return t[0]=n,t[1]=r,t[2]=-r,t[3]=n,t},i.fromScaling=function(t,e){return t[0]=e[0],t[1]=0,t[2]=0,t[3]=e[1],t},i.str=function(t){return&quot;mat2(&quot;+t[0]+&quot;, &quot;+t[1]+&quot;, &quot;+t[2]+&quot;, &quot;+t[3]+&quot;)&quot;},i.frob=function(t){return Math.sqrt(Math.pow(t[0],2)+Math.pow(t[1],2)+Math.pow(t[2],2)+Math.pow(t[3],2))},i.LDU=function(t,e,r,n){return t[2]=n[2]/n[0],r[0]=n[0],r[1]=n[1],r[3]=n[3]-t[2]*r[1],[t,e,r]},i.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[3]=e[3]+r[3],t},i.subtract=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},i.sub=i.subtract,i.exactEquals=function(t,e){return t[0]===e[0]&amp;&amp;t[1]===e[1]&amp;&amp;t[2]===e[2]&amp;&amp;t[3]===e[3]},i.equals=function(t,e){var r=t[0],i=t[1],a=t[2],o=t[3],s=e[0],l=e[1],c=e[2],u=e[3];return Math.abs(r-s)&lt;=n.EPSILON*Math.max(1,Math.abs(r),Math.abs(s))&amp;&amp;Math.abs(i-l)&lt;=n.EPSILON*Math.max(1,Math.abs(i),Math.abs(l))&amp;&amp;Math.abs(a-c)&lt;=n.EPSILON*Math.max(1,Math.abs(a),Math.abs(c))&amp;&amp;Math.abs(o-u)&lt;=n.EPSILON*Math.max(1,Math.abs(o),Math.abs(u))},i.multiplyScalar=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},i.multiplyScalarAndAdd=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},e.exports=i},{&quot;./common.js&quot;:199}],201:[function(t,e,r){var n=t(&quot;./common.js&quot;),i={};i.create=function(){var t=new n.ARRAY_TYPE(6);return t[0]=1,t[1]=0,t[2]=0,t[3]=1,t[4]=0,t[5]=0,t},i.clone=function(t){var e=new n.ARRAY_TYPE(6);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},i.copy=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},i.identity=function(t){return t[0]=1,t[1]=0,t[2]=0,t[3]=1,t[4]=0,t[5]=0,t},i.fromValues=function(t,e,r,i,a,o){var s=new n.ARRAY_TYPE(6);return s[0]=t,s[1]=e,s[2]=r,s[3]=i,s[4]=a,s[5]=o,s},i.set=function(t,e,r,n,i,a,o){return t[0]=e,t[1]=r,t[2]=n,t[3]=i,t[4]=a,t[5]=o,t},i.invert=function(t,e){var r=e[0],n=e[1],i=e[2],a=e[3],o=e[4],s=e[5],l=r*a-n*i;return l?(l=1/l,t[0]=a*l,t[1]=-n*l,t[2]=-i*l,t[3]=r*l,t[4]=(i*s-a*o)*l,t[5]=(n*o-r*s)*l,t):null},i.determinant=function(t){return t[0]*t[3]-t[1]*t[2]},i.multiply=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=e[3],s=e[4],l=e[5],c=r[0],u=r[1],f=r[2],h=r[3],d=r[4],p=r[5];return t[0]=n*c+a*u,t[1]=i*c+o*u,t[2]=n*f+a*h,t[3]=i*f+o*h,t[4]=n*d+a*p+s,t[5]=i*d+o*p+l,t},i.mul=i.multiply,i.rotate=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=e[3],s=e[4],l=e[5],c=Math.sin(r),u=Math.cos(r);return t[0]=n*u+a*c,t[1]=i*u+o*c,t[2]=n*-c+a*u,t[3]=i*-c+o*u,t[4]=s,t[5]=l,t},i.scale=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=e[3],s=e[4],l=e[5],c=r[0],u=r[1];return t[0]=n*c,t[1]=i*c,t[2]=a*u,t[3]=o*u,t[4]=s,t[5]=l,t},i.translate=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=e[3],s=e[4],l=e[5],c=r[0],u=r[1];return t[0]=n,t[1]=i,t[2]=a,t[3]=o,t[4]=n*c+a*u+s,t[5]=i*c+o*u+l,t},i.fromRotation=function(t,e){var r=Math.sin(e),n=Math.cos(e);return t[0]=n,t[1]=r,t[2]=-r,t[3]=n,t[4]=0,t[5]=0,t},i.fromScaling=function(t,e){return t[0]=e[0],t[1]=0,t[2]=0,t[3]=e[1],t[4]=0,t[5]=0,t},i.fromTranslation=function(t,e){return t[0]=1,t[1]=0,t[2]=0,t[3]=1,t[4]=e[0],t[5]=e[1],t},i.str=function(t){return&quot;mat2d(&quot;+t[0]+&quot;, &quot;+t[1]+&quot;, &quot;+t[2]+&quot;, &quot;+t[3]+&quot;, &quot;+t[4]+&quot;, &quot;+t[5]+&quot;)&quot;},i.frob=function(t){return Math.sqrt(Math.pow(t[0],2)+Math.pow(t[1],2)+Math.pow(t[2],2)+Math.pow(t[3],2)+Math.pow(t[4],2)+Math.pow(t[5],2)+1)},i.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[3]=e[3]+r[3],t[4]=e[4]+r[4],t[5]=e[5]+r[5],t},i.subtract=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[4]=e[4]-r[4],t[5]=e[5]-r[5],t},i.sub=i.subtract,i.multiplyScalar=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[4]=e[4]*r,t[5]=e[5]*r,t},i.multiplyScalarAndAdd=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[4]=e[4]+r[4]*n,t[5]=e[5]+r[5]*n,t},i.exactEquals=function(t,e){return t[0]===e[0]&amp;&amp;t[1]===e[1]&amp;&amp;t[2]===e[2]&amp;&amp;t[3]===e[3]&amp;&amp;t[4]===e[4]&amp;&amp;t[5]===e[5]},i.equals=function(t,e){var r=t[0],i=t[1],a=t[2],o=t[3],s=t[4],l=t[5],c=e[0],u=e[1],f=e[2],h=e[3],d=e[4],p=e[5];return Math.abs(r-c)&lt;=n.EPSILON*Math.max(1,Math.abs(r),Math.abs(c))&amp;&amp;Math.abs(i-u)&lt;=n.EPSILON*Math.max(1,Math.abs(i),Math.abs(u))&amp;&amp;Math.abs(a-f)&lt;=n.EPSILON*Math.max(1,Math.abs(a),Math.abs(f))&amp;&amp;Math.abs(o-h)&lt;=n.EPSILON*Math.max(1,Math.abs(o),Math.abs(h))&amp;&amp;Math.abs(s-d)&lt;=n.EPSILON*Math.max(1,Math.abs(s),Math.abs(d))&amp;&amp;Math.abs(l-p)&lt;=n.EPSILON*Math.max(1,Math.abs(l),Math.abs(p))},e.exports=i},{&quot;./common.js&quot;:199}],202:[function(t,e,r){var n=t(&quot;./common.js&quot;),i={};i.create=function(){var t=new n.ARRAY_TYPE(9);return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=1,t[5]=0,t[6]=0,t[7]=0,t[8]=1,t},i.fromMat4=function(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[4],t[4]=e[5],t[5]=e[6],t[6]=e[8],t[7]=e[9],t[8]=e[10],t},i.clone=function(t){var e=new n.ARRAY_TYPE(9);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},i.copy=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},i.fromValues=function(t,e,r,i,a,o,s,l,c){var u=new n.ARRAY_TYPE(9);return u[0]=t,u[1]=e,u[2]=r,u[3]=i,u[4]=a,u[5]=o,u[6]=s,u[7]=l,u[8]=c,u},i.set=function(t,e,r,n,i,a,o,s,l,c){return t[0]=e,t[1]=r,t[2]=n,t[3]=i,t[4]=a,t[5]=o,t[6]=s,t[7]=l,t[8]=c,t},i.identity=function(t){return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=1,t[5]=0,t[6]=0,t[7]=0,t[8]=1,t},i.transpose=function(t,e){if(t===e){var r=e[1],n=e[2],i=e[5];t[1]=e[3],t[2]=e[6],t[3]=r,t[5]=e[7],t[6]=n,t[7]=i}else t[0]=e[0],t[1]=e[3],t[2]=e[6],t[3]=e[1],t[4]=e[4],t[5]=e[7],t[6]=e[2],t[7]=e[5],t[8]=e[8];return t},i.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=u*o-s*c,h=-u*a+s*l,d=c*a-o*l,p=r*f+n*h+i*d;return p?(p=1/p,t[0]=f*p,t[1]=(-u*n+i*c)*p,t[2]=(s*n-i*o)*p,t[3]=h*p,t[4]=(u*r-i*l)*p,t[5]=(-s*r+i*a)*p,t[6]=d*p,t[7]=(-c*r+n*l)*p,t[8]=(o*r-n*a)*p,t):null},i.adjoint=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];return t[0]=o*u-s*c,t[1]=i*c-n*u,t[2]=n*s-i*o,t[3]=s*l-a*u,t[4]=r*u-i*l,t[5]=i*a-r*s,t[6]=a*c-o*l,t[7]=n*l-r*c,t[8]=r*o-n*a,t},i.determinant=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];return e*(c*a-o*l)+r*(-c*i+o*s)+n*(l*i-a*s)},i.multiply=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=r[0],d=r[1],p=r[2],m=r[3],g=r[4],v=r[5],y=r[6],x=r[7],b=r[8];return t[0]=h*n+d*o+p*c,t[1]=h*i+d*s+p*u,t[2]=h*a+d*l+p*f,t[3]=m*n+g*o+v*c,t[4]=m*i+g*s+v*u,t[5]=m*a+g*l+v*f,t[6]=y*n+x*o+b*c,t[7]=y*i+x*s+b*u,t[8]=y*a+x*l+b*f,t},i.mul=i.multiply,i.translate=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=r[0],d=r[1];return t[0]=n,t[1]=i,t[2]=a,t[3]=o,t[4]=s,t[5]=l,t[6]=h*n+d*o+c,t[7]=h*i+d*s+u,t[8]=h*a+d*l+f,t},i.rotate=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=Math.sin(r),d=Math.cos(r);return t[0]=d*n+h*o,t[1]=d*i+h*s,t[2]=d*a+h*l,t[3]=d*o-h*n,t[4]=d*s-h*i,t[5]=d*l-h*a,t[6]=c,t[7]=u,t[8]=f,t},i.scale=function(t,e,r){var n=r[0],i=r[1];return t[0]=n*e[0],t[1]=n*e[1],t[2]=n*e[2],t[3]=i*e[3],t[4]=i*e[4],t[5]=i*e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t},i.fromTranslation=function(t,e){return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=1,t[5]=0,t[6]=e[0],t[7]=e[1],t[8]=1,t},i.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},i.fromScaling=function(t,e){return t[0]=e[0],t[1]=0,t[2]=0,t[3]=0,t[4]=e[1],t[5]=0,t[6]=0,t[7]=0,t[8]=1,t},i.fromMat2d=function(t,e){return t[0]=e[0],t[1]=e[1],t[2]=0,t[3]=e[2],t[4]=e[3],t[5]=0,t[6]=e[4],t[7]=e[5],t[8]=1,t},i.fromQuat=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,d=i*s,p=i*l,m=a*o,g=a*s,v=a*l;return t[0]=1-f-p,t[3]=u-v,t[6]=h+g,t[1]=u+v,t[4]=1-c-p,t[7]=d-m,t[2]=h-g,t[5]=d+m,t[8]=1-c-f,t},i.normalFromMat4=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],d=e[11],p=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,M=i*c-a*l,k=u*m-f*p,A=u*g-h*p,T=u*v-d*p,S=f*g-h*m,E=f*v-d*m,L=h*v-d*g,C=y*L-x*E+b*S+_*T-w*A+M*k;return C?(C=1/C,t[0]=(s*L-l*E+c*S)*C,t[1]=(l*T-o*L-c*A)*C,t[2]=(o*E-s*T+c*k)*C,t[3]=(i*E-n*L-a*S)*C,t[4]=(r*L-i*T+a*A)*C,t[5]=(n*T-r*E-a*k)*C,t[6]=(m*M-g*w+v*_)*C,t[7]=(g*b-p*M-v*x)*C,t[8]=(p*w-m*b+v*y)*C,t):null},i.str=function(t){return&quot;mat3(&quot;+t[0]+&quot;, &quot;+t[1]+&quot;, &quot;+t[2]+&quot;, &quot;+t[3]+&quot;, &quot;+t[4]+&quot;, &quot;+t[5]+&quot;, &quot;+t[6]+&quot;, &quot;+t[7]+&quot;, &quot;+t[8]+&quot;)&quot;},i.frob=function(t){return Math.sqrt(Math.pow(t[0],2)+Math.pow(t[1],2)+Math.pow(t[2],2)+Math.pow(t[3],2)+Math.pow(t[4],2)+Math.pow(t[5],2)+Math.pow(t[6],2)+Math.pow(t[7],2)+Math.pow(t[8],2))},i.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[3]=e[3]+r[3],t[4]=e[4]+r[4],t[5]=e[5]+r[5],t[6]=e[6]+r[6],t[7]=e[7]+r[7],t[8]=e[8]+r[8],t},i.subtract=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[4]=e[4]-r[4],t[5]=e[5]-r[5],t[6]=e[6]-r[6],t[7]=e[7]-r[7],t[8]=e[8]-r[8],t},i.sub=i.subtract,i.multiplyScalar=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[4]=e[4]*r,t[5]=e[5]*r,t[6]=e[6]*r,t[7]=e[7]*r,t[8]=e[8]*r,t},i.multiplyScalarAndAdd=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[4]=e[4]+r[4]*n,t[5]=e[5]+r[5]*n,t[6]=e[6]+r[6]*n,t[7]=e[7]+r[7]*n,t[8]=e[8]+r[8]*n,t},i.exactEquals=function(t,e){return t[0]===e[0]&amp;&amp;t[1]===e[1]&amp;&amp;t[2]===e[2]&amp;&amp;t[3]===e[3]&amp;&amp;t[4]===e[4]&amp;&amp;t[5]===e[5]&amp;&amp;t[6]===e[6]&amp;&amp;t[7]===e[7]&amp;&amp;t[8]===e[8]},i.equals=function(t,e){var r=t[0],i=t[1],a=t[2],o=t[3],s=t[4],l=t[5],c=t[6],u=t[7],f=t[8],h=e[0],d=e[1],p=e[2],m=e[3],g=e[4],v=e[5],y=t[6],x=e[7],b=e[8];return Math.abs(r-h)&lt;=n.EPSILON*Math.max(1,Math.abs(r),Math.abs(h))&amp;&amp;Math.abs(i-d)&lt;=n.EPSILON*Math.max(1,Math.abs(i),Math.abs(d))&amp;&amp;Math.abs(a-p)&lt;=n.EPSILON*Math.max(1,Math.abs(a),Math.abs(p))&amp;&amp;Math.abs(o-m)&lt;=n.EPSILON*Math.max(1,Math.abs(o),Math.abs(m))&amp;&amp;Math.abs(s-g)&lt;=n.EPSILON*Math.max(1,Math.abs(s),Math.abs(g))&amp;&amp;Math.abs(l-v)&lt;=n.EPSILON*Math.max(1,Math.abs(l),Math.abs(v))&amp;&amp;Math.abs(c-y)&lt;=n.EPSILON*Math.max(1,Math.abs(c),Math.abs(y))&amp;&amp;Math.abs(u-x)&lt;=n.EPSILON*Math.max(1,Math.abs(u),Math.abs(x))&amp;&amp;Math.abs(f-b)&lt;=n.EPSILON*Math.max(1,Math.abs(f),Math.abs(b))},e.exports=i},{&quot;./common.js&quot;:199}],203:[function(t,e,r){var n=t(&quot;./common.js&quot;),i={scalar:{},SIMD:{}};i.create=function(){var t=new n.ARRAY_TYPE(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},i.clone=function(t){var e=new n.ARRAY_TYPE(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},i.copy=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},i.fromValues=function(t,e,r,i,a,o,s,l,c,u,f,h,d,p,m,g){var v=new n.ARRAY_TYPE(16);return v[0]=t,v[1]=e,v[2]=r,v[3]=i,v[4]=a,v[5]=o,v[6]=s,v[7]=l,v[8]=c,v[9]=u,v[10]=f,v[11]=h,v[12]=d,v[13]=p,v[14]=m,v[15]=g,v},i.set=function(t,e,r,n,i,a,o,s,l,c,u,f,h,d,p,m,g){return t[0]=e,t[1]=r,t[2]=n,t[3]=i,t[4]=a,t[5]=o,t[6]=s,t[7]=l,t[8]=c,t[9]=u,t[10]=f,t[11]=h,t[12]=d,t[13]=p,t[14]=m,t[15]=g,t},i.identity=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},i.scalar.transpose=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},i.SIMD.transpose=function(t,e){var r,n,i,a,o,s,l,c,u,f;return r=SIMD.Float32x4.load(e,0),n=SIMD.Float32x4.load(e,4),i=SIMD.Float32x4.load(e,8),a=SIMD.Float32x4.load(e,12),o=SIMD.Float32x4.shuffle(r,n,0,1,4,5),s=SIMD.Float32x4.shuffle(i,a,0,1,4,5),l=SIMD.Float32x4.shuffle(o,s,0,2,4,6),c=SIMD.Float32x4.shuffle(o,s,1,3,5,7),SIMD.Float32x4.store(t,0,l),SIMD.Float32x4.store(t,4,c),o=SIMD.Float32x4.shuffle(r,n,2,3,6,7),s=SIMD.Float32x4.shuffle(i,a,2,3,6,7),u=SIMD.Float32x4.shuffle(o,s,0,2,4,6),f=SIMD.Float32x4.shuffle(o,s,1,3,5,7),SIMD.Float32x4.store(t,8,u),SIMD.Float32x4.store(t,12,f),t},i.transpose=n.USE_SIMD?i.SIMD.transpose:i.scalar.transpose,i.scalar.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],d=e[11],p=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,M=i*c-a*l,k=u*m-f*p,A=u*g-h*p,T=u*v-d*p,S=f*g-h*m,E=f*v-d*m,L=h*v-d*g,C=y*L-x*E+b*S+_*T-w*A+M*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*M-g*w+v*_)*C,t[3]=(h*w-f*M-d*_)*C,t[4]=(l*T-o*L-c*A)*C,t[5]=(r*L-i*T+a*A)*C,t[6]=(g*b-p*M-v*x)*C,t[7]=(u*M-h*b+d*x)*C,t[8]=(o*E-s*T+c*k)*C,t[9]=(n*T-r*E-a*k)*C,t[10]=(p*w-m*b+v*y)*C,t[11]=(f*b-u*w-d*y)*C,t[12]=(s*A-o*S-l*k)*C,t[13]=(r*S-n*A+i*k)*C,t[14]=(m*x-p*_-g*y)*C,t[15]=(u*_-f*x+h*y)*C,t):null},i.SIMD.invert=function(t,e){var r,n,i,a,o,s,l,c,u,f,h=SIMD.Float32x4.load(e,0),d=SIMD.Float32x4.load(e,4),p=SIMD.Float32x4.load(e,8),m=SIMD.Float32x4.load(e,12);return o=SIMD.Float32x4.shuffle(h,d,0,1,4,5),n=SIMD.Float32x4.shuffle(p,m,0,1,4,5),r=SIMD.Float32x4.shuffle(o,n,0,2,4,6),n=SIMD.Float32x4.shuffle(n,o,1,3,5,7),o=SIMD.Float32x4.shuffle(h,d,2,3,6,7),a=SIMD.Float32x4.shuffle(p,m,2,3,6,7),i=SIMD.Float32x4.shuffle(o,a,0,2,4,6),a=SIMD.Float32x4.shuffle(a,o,1,3,5,7),o=SIMD.Float32x4.mul(i,a),o=SIMD.Float32x4.swizzle(o,1,0,3,2),s=SIMD.Float32x4.mul(n,o),l=SIMD.Float32x4.mul(r,o),o=SIMD.Float32x4.swizzle(o,2,3,0,1),s=SIMD.Float32x4.sub(SIMD.Float32x4.mul(n,o),s),l=SIMD.Float32x4.sub(SIMD.Float32x4.mul(r,o),l),l=SIMD.Float32x4.swizzle(l,2,3,0,1),o=SIMD.Float32x4.mul(n,i),o=SIMD.Float32x4.swizzle(o,1,0,3,2),s=SIMD.Float32x4.add(SIMD.Float32x4.mul(a,o),s),u=SIMD.Float32x4.mul(r,o),o=SIMD.Float32x4.swizzle(o,2,3,0,1),s=SIMD.Float32x4.sub(s,SIMD.Float32x4.mul(a,o)),u=SIMD.Float32x4.sub(SIMD.Float32x4.mul(r,o),u),u=SIMD.Float32x4.swizzle(u,2,3,0,1),o=SIMD.Float32x4.mul(SIMD.Float32x4.swizzle(n,2,3,0,1),a),o=SIMD.Float32x4.swizzle(o,1,0,3,2),i=SIMD.Float32x4.swizzle(i,2,3,0,1),s=SIMD.Float32x4.add(SIMD.Float32x4.mul(i,o),s),c=SIMD.Float32x4.mul(r,o),o=SIMD.Float32x4.swizzle(o,2,3,0,1),s=SIMD.Float32x4.sub(s,SIMD.Float32x4.mul(i,o)),c=SIMD.Float32x4.sub(SIMD.Float32x4.mul(r,o),c),c=SIMD.Float32x4.swizzle(c,2,3,0,1),o=SIMD.Float32x4.mul(r,n),o=SIMD.Float32x4.swizzle(o,1,0,3,2),c=SIMD.Float32x4.add(SIMD.Float32x4.mul(a,o),c),u=SIMD.Float32x4.sub(SIMD.Float32x4.mul(i,o),u),o=SIMD.Float32x4.swizzle(o,2,3,0,1),c=SIMD.Float32x4.sub(SIMD.Float32x4.mul(a,o),c),u=SIMD.Float32x4.sub(u,SIMD.Float32x4.mul(i,o)),o=SIMD.Float32x4.mul(r,a),o=SIMD.Float32x4.swizzle(o,1,0,3,2),l=SIMD.Float32x4.sub(l,SIMD.Float32x4.mul(i,o)),c=SIMD.Float32x4.add(SIMD.Float32x4.mul(n,o),c),o=SIMD.Float32x4.swizzle(o,2,3,0,1),l=SIMD.Float32x4.add(SIMD.Float32x4.mul(i,o),l),c=SIMD.Float32x4.sub(c,SIMD.Float32x4.mul(n,o)),o=SIMD.Float32x4.mul(r,i),o=SIMD.Float32x4.swizzle(o,1,0,3,2),l=SIMD.Float32x4.add(SIMD.Float32x4.mul(a,o),l),u=SIMD.Float32x4.sub(u,SIMD.Float32x4.mul(n,o)),o=SIMD.Float32x4.swizzle(o,2,3,0,1),l=SIMD.Float32x4.sub(l,SIMD.Float32x4.mul(a,o)),u=SIMD.Float32x4.add(SIMD.Float32x4.mul(n,o),u),f=SIMD.Float32x4.mul(r,s),f=SIMD.Float32x4.add(SIMD.Float32x4.swizzle(f,2,3,0,1),f),f=SIMD.Float32x4.add(SIMD.Float32x4.swizzle(f,1,0,3,2),f),o=SIMD.Float32x4.reciprocalApproximation(f),f=SIMD.Float32x4.sub(SIMD.Float32x4.add(o,o),SIMD.Float32x4.mul(f,SIMD.Float32x4.mul(o,o))),(f=SIMD.Float32x4.swizzle(f,0,0,0,0))?(SIMD.Float32x4.store(t,0,SIMD.Float32x4.mul(f,s)),SIMD.Float32x4.store(t,4,SIMD.Float32x4.mul(f,l)),SIMD.Float32x4.store(t,8,SIMD.Float32x4.mul(f,c)),SIMD.Float32x4.store(t,12,SIMD.Float32x4.mul(f,u)),t):null},i.invert=n.USE_SIMD?i.SIMD.invert:i.scalar.invert,i.scalar.adjoint=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],d=e[11],p=e[12],m=e[13],g=e[14],v=e[15];return t[0]=s*(h*v-d*g)-f*(l*v-c*g)+m*(l*d-c*h),t[1]=-(n*(h*v-d*g)-f*(i*v-a*g)+m*(i*d-a*h)),t[2]=n*(l*v-c*g)-s*(i*v-a*g)+m*(i*c-a*l),t[3]=-(n*(l*d-c*h)-s*(i*d-a*h)+f*(i*c-a*l)),t[4]=-(o*(h*v-d*g)-u*(l*v-c*g)+p*(l*d-c*h)),t[5]=r*(h*v-d*g)-u*(i*v-a*g)+p*(i*d-a*h),t[6]=-(r*(l*v-c*g)-o*(i*v-a*g)+p*(i*c-a*l)),t[7]=r*(l*d-c*h)-o*(i*d-a*h)+u*(i*c-a*l),t[8]=o*(f*v-d*m)-u*(s*v-c*m)+p*(s*d-c*f),t[9]=-(r*(f*v-d*m)-u*(n*v-a*m)+p*(n*d-a*f)),t[10]=r*(s*v-c*m)-o*(n*v-a*m)+p*(n*c-a*s),t[11]=-(r*(s*d-c*f)-o*(n*d-a*f)+u*(n*c-a*s)),t[12]=-(o*(f*g-h*m)-u*(s*g-l*m)+p*(s*h-l*f)),t[13]=r*(f*g-h*m)-u*(n*g-i*m)+p*(n*h-i*f),t[14]=-(r*(s*g-l*m)-o*(n*g-i*m)+p*(n*l-i*s)),t[15]=r*(s*h-l*f)-o*(n*h-i*f)+u*(n*l-i*s),t},i.SIMD.adjoint=function(t,e){var r,n,i,a,o,s,l,c,u,f=SIMD.Float32x4.load(e,0),h=SIMD.Float32x4.load(e,4),d=SIMD.Float32x4.load(e,8),p=SIMD.Float32x4.load(e,12);return o=SIMD.Float32x4.shuffle(f,h,0,1,4,5),n=SIMD.Float32x4.shuffle(d,p,0,1,4,5),r=SIMD.Float32x4.shuffle(o,n,0,2,4,6),n=SIMD.Float32x4.shuffle(n,o,1,3,5,7),o=SIMD.Float32x4.shuffle(f,h,2,3,6,7),a=SIMD.Float32x4.shuffle(d,p,2,3,6,7),i=SIMD.Float32x4.shuffle(o,a,0,2,4,6),a=SIMD.Float32x4.shuffle(a,o,1,3,5,7),o=SIMD.Float32x4.mul(i,a),o=SIMD.Float32x4.swizzle(o,1,0,3,2),s=SIMD.Float32x4.mul(n,o),l=SIMD.Float32x4.mul(r,o),o=SIMD.Float32x4.swizzle(o,2,3,0,1),s=SIMD.Float32x4.sub(SIMD.Float32x4.mul(n,o),s),l=SIMD.Float32x4.sub(SIMD.Float32x4.mul(r,o),l),l=SIMD.Float32x4.swizzle(l,2,3,0,1),o=SIMD.Float32x4.mul(n,i),o=SIMD.Float32x4.swizzle(o,1,0,3,2),s=SIMD.Float32x4.add(SIMD.Float32x4.mul(a,o),s),u=SIMD.Float32x4.mul(r,o),o=SIMD.Float32x4.swizzle(o,2,3,0,1),s=SIMD.Float32x4.sub(s,SIMD.Float32x4.mul(a,o)),u=SIMD.Float32x4.sub(SIMD.Float32x4.mul(r,o),u),u=SIMD.Float32x4.swizzle(u,2,3,0,1),o=SIMD.Float32x4.mul(SIMD.Float32x4.swizzle(n,2,3,0,1),a),o=SIMD.Float32x4.swizzle(o,1,0,3,2),i=SIMD.Float32x4.swizzle(i,2,3,0,1),s=SIMD.Float32x4.add(SIMD.Float32x4.mul(i,o),s),c=SIMD.Float32x4.mul(r,o),o=SIMD.Float32x4.swizzle(o,2,3,0,1),s=SIMD.Float32x4.sub(s,SIMD.Float32x4.mul(i,o)),c=SIMD.Float32x4.sub(SIMD.Float32x4.mul(r,o),c),c=SIMD.Float32x4.swizzle(c,2,3,0,1),o=SIMD.Float32x4.mul(r,n),o=SIMD.Float32x4.swizzle(o,1,0,3,2),c=SIMD.Float32x4.add(SIMD.Float32x4.mul(a,o),c),u=SIMD.Float32x4.sub(SIMD.Float32x4.mul(i,o),u),o=SIMD.Float32x4.swizzle(o,2,3,0,1),c=SIMD.Float32x4.sub(SIMD.Float32x4.mul(a,o),c),u=SIMD.Float32x4.sub(u,SIMD.Float32x4.mul(i,o)),o=SIMD.Float32x4.mul(r,a),o=SIMD.Float32x4.swizzle(o,1,0,3,2),l=SIMD.Float32x4.sub(l,SIMD.Float32x4.mul(i,o)),c=SIMD.Float32x4.add(SIMD.Float32x4.mul(n,o),c),o=SIMD.Float32x4.swizzle(o,2,3,0,1),l=SIMD.Float32x4.add(SIMD.Float32x4.mul(i,o),l),c=SIMD.Float32x4.sub(c,SIMD.Float32x4.mul(n,o)),o=SIMD.Float32x4.mul(r,i),o=SIMD.Float32x4.swizzle(o,1,0,3,2),l=SIMD.Float32x4.add(SIMD.Float32x4.mul(a,o),l),u=SIMD.Float32x4.sub(u,SIMD.Float32x4.mul(n,o)),o=SIMD.Float32x4.swizzle(o,2,3,0,1),l=SIMD.Float32x4.sub(l,SIMD.Float32x4.mul(a,o)),u=SIMD.Float32x4.add(SIMD.Float32x4.mul(n,o),u),SIMD.Float32x4.store(t,0,s),SIMD.Float32x4.store(t,4,l),SIMD.Float32x4.store(t,8,c),SIMD.Float32x4.store(t,12,u),t},i.adjoint=n.USE_SIMD?i.SIMD.adjoint:i.scalar.adjoint,i.determinant=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],d=t[12],p=t[13],m=t[14],g=t[15];return(e*o-r*a)*(f*g-h*m)-(e*s-n*a)*(u*g-h*p)+(e*l-i*a)*(u*m-f*p)+(r*s-n*o)*(c*g-h*d)-(r*l-i*o)*(c*m-f*d)+(n*l-i*s)*(c*p-u*d)},i.SIMD.multiply=function(t,e,r){var n=SIMD.Float32x4.load(e,0),i=SIMD.Float32x4.load(e,4),a=SIMD.Float32x4.load(e,8),o=SIMD.Float32x4.load(e,12),s=SIMD.Float32x4.load(r,0),l=SIMD.Float32x4.add(SIMD.Float32x4.mul(SIMD.Float32x4.swizzle(s,0,0,0,0),n),SIMD.Float32x4.add(SIMD.Float32x4.mul(SIMD.Float32x4.swizzle(s,1,1,1,1),i),SIMD.Float32x4.add(SIMD.Float32x4.mul(SIMD.Float32x4.swizzle(s,2,2,2,2),a),SIMD.Float32x4.mul(SIMD.Float32x4.swizzle(s,3,3,3,3),o))));SIMD.Float32x4.store(t,0,l);var c=SIMD.Float32x4.load(r,4),u=SIMD.Float32x4.add(SIMD.Float32x4.mul(SIMD.Float32x4.swizzle(c,0,0,0,0),n),SIMD.Float32x4.add(SIMD.Float32x4.mul(SIMD.Float32x4.swizzle(c,1,1,1,1),i),SIMD.Float32x4.add(SIMD.Float32x4.mul(SIMD.Float32x4.swizzle(c,2,2,2,2),a),SIMD.Float32x4.mul(SIMD.Float32x4.swizzle(c,3,3,3,3),o))));SIMD.Float32x4.store(t,4,u);var f=SIMD.Float32x4.load(r,8),h=SIMD.Float32x4.add(SIMD.Float32x4.mul(SIMD.Float32x4.swizzle(f,0,0,0,0),n),SIMD.Float32x4.add(SIMD.Float32x4.mul(SIMD.Float32x4.swizzle(f,1,1,1,1),i),SIMD.Float32x4.add(SIMD.Float32x4.mul(SIMD.Float32x4.swizzle(f,2,2,2,2),a),SIMD.Float32x4.mul(SIMD.Float32x4.swizzle(f,3,3,3,3),o))));SIMD.Float32x4.store(t,8,h);var d=SIMD.Float32x4.load(r,12),p=SIMD.Float32x4.add(SIMD.Float32x4.mul(SIMD.Float32x4.swizzle(d,0,0,0,0),n),SIMD.Float32x4.add(SIMD.Float32x4.mul(SIMD.Float32x4.swizzle(d,1,1,1,1),i),SIMD.Float32x4.add(SIMD.Float32x4.mul(SIMD.Float32x4.swizzle(d,2,2,2,2),a),SIMD.Float32x4.mul(SIMD.Float32x4.swizzle(d,3,3,3,3),o))));return SIMD.Float32x4.store(t,12,p),t},i.scalar.multiply=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],d=e[10],p=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+_*d+w*v,t[3]=x*o+b*u+_*p+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+_*d+w*v,t[7]=x*o+b*u+_*p+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+_*d+w*v,t[11]=x*o+b*u+_*p+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+_*d+w*v,t[15]=x*o+b*u+_*p+w*y,t},i.multiply=n.USE_SIMD?i.SIMD.multiply:i.scalar.multiply,i.mul=i.multiply,i.scalar.translate=function(t,e,r){var n,i,a,o,s,l,c,u,f,h,d,p,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],d=e[10],p=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]=d,t[11]=p,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+d*v+e[14],t[15]=o*m+u*g+p*v+e[15]),t},i.SIMD.translate=function(t,e,r){var n=SIMD.Float32x4.load(e,0),i=SIMD.Float32x4.load(e,4),a=SIMD.Float32x4.load(e,8),o=SIMD.Float32x4.load(e,12),s=SIMD.Float32x4(r[0],r[1],r[2],0);e!==t&amp;&amp;(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]),n=SIMD.Float32x4.mul(n,SIMD.Float32x4.swizzle(s,0,0,0,0)),i=SIMD.Float32x4.mul(i,SIMD.Float32x4.swizzle(s,1,1,1,1)),a=SIMD.Float32x4.mul(a,SIMD.Float32x4.swizzle(s,2,2,2,2));var l=SIMD.Float32x4.add(n,SIMD.Float32x4.add(i,SIMD.Float32x4.add(a,o)));return SIMD.Float32x4.store(t,12,l),t},i.translate=n.USE_SIMD?i.SIMD.translate:i.scalar.translate,i.scalar.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},i.SIMD.scale=function(t,e,r){var n,i,a,o=SIMD.Float32x4(r[0],r[1],r[2],0);return n=SIMD.Float32x4.load(e,0),SIMD.Float32x4.store(t,0,SIMD.Float32x4.mul(n,SIMD.Float32x4.swizzle(o,0,0,0,0))),i=SIMD.Float32x4.load(e,4),SIMD.Float32x4.store(t,4,SIMD.Float32x4.mul(i,SIMD.Float32x4.swizzle(o,1,1,1,1))),a=SIMD.Float32x4.load(e,8),SIMD.Float32x4.store(t,8,SIMD.Float32x4.mul(a,SIMD.Float32x4.swizzle(o,2,2,2,2))),t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t},i.scale=n.USE_SIMD?i.SIMD.scale:i.scalar.scale,i.rotate=function(t,e,r,i){var a,o,s,l,c,u,f,h,d,p,m,g,v,y,x,b,_,w,M,k,A,T,S,E,L=i[0],C=i[1],z=i[2],D=Math.sqrt(L*L+C*C+z*z);return Math.abs(D)&lt;n.EPSILON?null:(D=1/D,L*=D,C*=D,z*=D,a=Math.sin(r),o=Math.cos(r),s=1-o,l=e[0],c=e[1],u=e[2],f=e[3],h=e[4],d=e[5],p=e[6],m=e[7],g=e[8],v=e[9],y=e[10],x=e[11],b=L*L*s+o,_=C*L*s+z*a,w=z*L*s-C*a,M=L*C*s-z*a,k=C*C*s+o,A=z*C*s+L*a,T=L*z*s+C*a,S=C*z*s-L*a,E=z*z*s+o,t[0]=l*b+h*_+g*w,t[1]=c*b+d*_+v*w,t[2]=u*b+p*_+y*w,t[3]=f*b+m*_+x*w,t[4]=l*M+h*k+g*A,t[5]=c*M+d*k+v*A,t[6]=u*M+p*k+y*A,t[7]=f*M+m*k+x*A,t[8]=l*T+h*S+g*E,t[9]=c*T+d*S+v*E,t[10]=u*T+p*S+y*E,t[11]=f*T+m*S+x*E,e!==t&amp;&amp;(t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]),t)},i.scalar.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&amp;&amp;(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},i.SIMD.rotateX=function(t,e,r){var n=SIMD.Float32x4.splat(Math.sin(r)),i=SIMD.Float32x4.splat(Math.cos(r));e!==t&amp;&amp;(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]);var a=SIMD.Float32x4.load(e,4),o=SIMD.Float32x4.load(e,8);return SIMD.Float32x4.store(t,4,SIMD.Float32x4.add(SIMD.Float32x4.mul(a,i),SIMD.Float32x4.mul(o,n))),SIMD.Float32x4.store(t,8,SIMD.Float32x4.sub(SIMD.Float32x4.mul(o,i),SIMD.Float32x4.mul(a,n))),t},i.rotateX=n.USE_SIMD?i.SIMD.rotateX:i.scalar.rotateX,i.scalar.rotateY=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];return e!==t&amp;&amp;(t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]),t[0]=a*i-c*n,t[1]=o*i-u*n,t[2]=s*i-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},i.SIMD.rotateY=function(t,e,r){var n=SIMD.Float32x4.splat(Math.sin(r)),i=SIMD.Float32x4.splat(Math.cos(r));e!==t&amp;&amp;(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]);var a=SIMD.Float32x4.load(e,0),o=SIMD.Float32x4.load(e,8);return SIMD.Float32x4.store(t,0,SIMD.Float32x4.sub(SIMD.Float32x4.mul(a,i),SIMD.Float32x4.mul(o,n))),SIMD.Float32x4.store(t,8,SIMD.Float32x4.add(SIMD.Float32x4.mul(a,n),SIMD.Float32x4.mul(o,i))),t},i.rotateY=n.USE_SIMD?i.SIMD.rotateY:i.scalar.rotateY,i.scalar.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&amp;&amp;(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},i.SIMD.rotateZ=function(t,e,r){var n=SIMD.Float32x4.splat(Math.sin(r)),i=SIMD.Float32x4.splat(Math.cos(r));e!==t&amp;&amp;(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]);var a=SIMD.Float32x4.load(e,0),o=SIMD.Float32x4.load(e,4);return SIMD.Float32x4.store(t,0,SIMD.Float32x4.add(SIMD.Float32x4.mul(a,i),SIMD.Float32x4.mul(o,n))),SIMD.Float32x4.store(t,4,SIMD.Float32x4.sub(SIMD.Float32x4.mul(o,i),SIMD.Float32x4.mul(a,n))),t},i.rotateZ=n.USE_SIMD?i.SIMD.rotateZ:i.scalar.rotateZ,i.fromTranslation=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},i.fromScaling=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},i.fromRotation=function(t,e,r){var i,a,o,s=r[0],l=r[1],c=r[2],u=Math.sqrt(s*s+l*l+c*c);return Math.abs(u)&lt;n.EPSILON?null:(u=1/u,s*=u,l*=u,c*=u,i=Math.sin(e),a=Math.cos(e),o=1-a,t[0]=s*s*o+a,t[1]=l*s*o+c*i,t[2]=c*s*o-l*i,t[3]=0,t[4]=s*l*o-c*i,t[5]=l*l*o+a,t[6]=c*l*o+s*i,t[7]=0,t[8]=s*c*o+l*i,t[9]=l*c*o-s*i,t[10]=c*c*o+a,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t)},i.fromXRotation=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},i.fromYRotation=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},i.fromZRotation=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},i.fromRotationTranslation=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,d=i*l,p=i*c,m=a*c,g=o*s,v=o*l,y=o*c;return t[0]=1-(d+m),t[1]=f+y,t[2]=h-v,t[3]=0,t[4]=f-y,t[5]=1-(u+m),t[6]=p+g,t[7]=0,t[8]=h+v,t[9]=p-g,t[10]=1-(u+d),t[11]=0,t[12]=r[0],t[13]=r[1],t[14]=r[2],t[15]=1,t},i.getTranslation=function(t,e){return t[0]=e[12],t[1]=e[13],t[2]=e[14],t},i.getRotation=function(t,e){var r=e[0]+e[5]+e[10],n=0;return r&gt;0?(n=2*Math.sqrt(r+1),t[3]=.25*n,t[0]=(e[6]-e[9])/n,t[1]=(e[8]-e[2])/n,t[2]=(e[1]-e[4])/n):e[0]&gt;e[5]&amp;e[0]&gt;e[10]?(n=2*Math.sqrt(1+e[0]-e[5]-e[10]),t[3]=(e[6]-e[9])/n,t[0]=.25*n,t[1]=(e[1]+e[4])/n,t[2]=(e[8]+e[2])/n):e[5]&gt;e[10]?(n=2*Math.sqrt(1+e[5]-e[0]-e[10]),t[3]=(e[8]-e[2])/n,t[0]=(e[1]+e[4])/n,t[1]=.25*n,t[2]=(e[6]+e[9])/n):(n=2*Math.sqrt(1+e[10]-e[0]-e[5]),t[3]=(e[1]-e[4])/n,t[0]=(e[8]+e[2])/n,t[1]=(e[6]+e[9])/n,t[2]=.25*n),t},i.fromRotationTranslationScale=function(t,e,r,n){var i=e[0],a=e[1],o=e[2],s=e[3],l=i+i,c=a+a,u=o+o,f=i*l,h=i*c,d=i*u,p=a*c,m=a*u,g=o*u,v=s*l,y=s*c,x=s*u,b=n[0],_=n[1],w=n[2];return t[0]=(1-(p+g))*b,t[1]=(h+x)*b,t[2]=(d-y)*b,t[3]=0,t[4]=(h-x)*_,t[5]=(1-(f+g))*_,t[6]=(m+v)*_,t[7]=0,t[8]=(d+y)*w,t[9]=(m-v)*w,t[10]=(1-(f+p))*w,t[11]=0,t[12]=r[0],t[13]=r[1],t[14]=r[2],t[15]=1,t},i.fromRotationTranslationScaleOrigin=function(t,e,r,n,i){var a=e[0],o=e[1],s=e[2],l=e[3],c=a+a,u=o+o,f=s+s,h=a*c,d=a*u,p=a*f,m=o*u,g=o*f,v=s*f,y=l*c,x=l*u,b=l*f,_=n[0],w=n[1],M=n[2],k=i[0],A=i[1],T=i[2];return t[0]=(1-(m+v))*_,t[1]=(d+b)*_,t[2]=(p-x)*_,t[3]=0,t[4]=(d-b)*w,t[5]=(1-(h+v))*w,t[6]=(g+y)*w,t[7]=0,t[8]=(p+x)*M,t[9]=(g-y)*M,t[10]=(1-(h+m))*M,t[11]=0,t[12]=r[0]+k-(t[0]*k+t[4]*A+t[8]*T),t[13]=r[1]+A-(t[1]*k+t[5]*A+t[9]*T),t[14]=r[2]+T-(t[2]*k+t[6]*A+t[10]*T),t[15]=1,t},i.fromQuat=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,d=i*s,p=i*l,m=a*o,g=a*s,v=a*l;return t[0]=1-f-p,t[1]=u+v,t[2]=h-g,t[3]=0,t[4]=u-v,t[5]=1-c-p,t[6]=d+m,t[7]=0,t[8]=h+g,t[9]=d-m,t[10]=1-c-f,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t},i.frustum=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},i.perspective=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},i.perspectiveFromFieldOfView=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},i.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},i.lookAt=function(t,e,r,a){var o,s,l,c,u,f,h,d,p,m,g=e[0],v=e[1],y=e[2],x=a[0],b=a[1],_=a[2],w=r[0],M=r[1],k=r[2];return Math.abs(g-w)&lt;n.EPSILON&amp;&amp;Math.abs(v-M)&lt;n.EPSILON&amp;&amp;Math.abs(y-k)&lt;n.EPSILON?i.identity(t):(h=g-w,d=v-M,p=y-k,m=1/Math.sqrt(h*h+d*d+p*p),h*=m,d*=m,p*=m,o=b*p-_*d,s=_*h-x*p,l=x*d-b*h,(m=Math.sqrt(o*o+s*s+l*l))?(o*=m=1/m,s*=m,l*=m):(o=0,s=0,l=0),c=d*l-p*s,u=p*o-h*l,f=h*s-d*o,(m=Math.sqrt(c*c+u*u+f*f))?(c*=m=1/m,u*=m,f*=m):(c=0,u=0,f=0),t[0]=o,t[1]=c,t[2]=h,t[3]=0,t[4]=s,t[5]=u,t[6]=d,t[7]=0,t[8]=l,t[9]=f,t[10]=p,t[11]=0,t[12]=-(o*g+s*v+l*y),t[13]=-(c*g+u*v+f*y),t[14]=-(h*g+d*v+p*y),t[15]=1,t)},i.str=function(t){return&quot;mat4(&quot;+t[0]+&quot;, &quot;+t[1]+&quot;, &quot;+t[2]+&quot;, &quot;+t[3]+&quot;, &quot;+t[4]+&quot;, &quot;+t[5]+&quot;, &quot;+t[6]+&quot;, &quot;+t[7]+&quot;, &quot;+t[8]+&quot;, &quot;+t[9]+&quot;, &quot;+t[10]+&quot;, &quot;+t[11]+&quot;, &quot;+t[12]+&quot;, &quot;+t[13]+&quot;, &quot;+t[14]+&quot;, &quot;+t[15]+&quot;)&quot;},i.frob=function(t){return Math.sqrt(Math.pow(t[0],2)+Math.pow(t[1],2)+Math.pow(t[2],2)+Math.pow(t[3],2)+Math.pow(t[4],2)+Math.pow(t[5],2)+Math.pow(t[6],2)+Math.pow(t[7],2)+Math.pow(t[8],2)+Math.pow(t[9],2)+Math.pow(t[10],2)+Math.pow(t[11],2)+Math.pow(t[12],2)+Math.pow(t[13],2)+Math.pow(t[14],2)+Math.pow(t[15],2))},i.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[3]=e[3]+r[3],t[4]=e[4]+r[4],t[5]=e[5]+r[5],t[6]=e[6]+r[6],t[7]=e[7]+r[7],t[8]=e[8]+r[8],t[9]=e[9]+r[9],t[10]=e[10]+r[10],t[11]=e[11]+r[11],t[12]=e[12]+r[12],t[13]=e[13]+r[13],t[14]=e[14]+r[14],t[15]=e[15]+r[15],t},i.subtract=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[4]=e[4]-r[4],t[5]=e[5]-r[5],t[6]=e[6]-r[6],t[7]=e[7]-r[7],t[8]=e[8]-r[8],t[9]=e[9]-r[9],t[10]=e[10]-r[10],t[11]=e[11]-r[11],t[12]=e[12]-r[12],t[13]=e[13]-r[13],t[14]=e[14]-r[14],t[15]=e[15]-r[15],t},i.sub=i.subtract,i.multiplyScalar=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[4]=e[4]*r,t[5]=e[5]*r,t[6]=e[6]*r,t[7]=e[7]*r,t[8]=e[8]*r,t[9]=e[9]*r,t[10]=e[10]*r,t[11]=e[11]*r,t[12]=e[12]*r,t[13]=e[13]*r,t[14]=e[14]*r,t[15]=e[15]*r,t},i.multiplyScalarAndAdd=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[4]=e[4]+r[4]*n,t[5]=e[5]+r[5]*n,t[6]=e[6]+r[6]*n,t[7]=e[7]+r[7]*n,t[8]=e[8]+r[8]*n,t[9]=e[9]+r[9]*n,t[10]=e[10]+r[10]*n,t[11]=e[11]+r[11]*n,t[12]=e[12]+r[12]*n,t[13]=e[13]+r[13]*n,t[14]=e[14]+r[14]*n,t[15]=e[15]+r[15]*n,t},i.exactEquals=function(t,e){return t[0]===e[0]&amp;&amp;t[1]===e[1]&amp;&amp;t[2]===e[2]&amp;&amp;t[3]===e[3]&amp;&amp;t[4]===e[4]&amp;&amp;t[5]===e[5]&amp;&amp;t[6]===e[6]&amp;&amp;t[7]===e[7]&amp;&amp;t[8]===e[8]&amp;&amp;t[9]===e[9]&amp;&amp;t[10]===e[10]&amp;&amp;t[11]===e[11]&amp;&amp;t[12]===e[12]&amp;&amp;t[13]===e[13]&amp;&amp;t[14]===e[14]&amp;&amp;t[15]===e[15]},i.equals=function(t,e){var r=t[0],i=t[1],a=t[2],o=t[3],s=t[4],l=t[5],c=t[6],u=t[7],f=t[8],h=t[9],d=t[10],p=t[11],m=t[12],g=t[13],v=t[14],y=t[15],x=e[0],b=e[1],_=e[2],w=e[3],M=e[4],k=e[5],A=e[6],T=e[7],S=e[8],E=e[9],L=e[10],C=e[11],z=e[12],D=e[13],I=e[14],P=e[15];return Math.abs(r-x)&lt;=n.EPSILON*Math.max(1,Math.abs(r),Math.abs(x))&amp;&amp;Math.abs(i-b)&lt;=n.EPSILON*Math.max(1,Math.abs(i),Math.abs(b))&amp;&amp;Math.abs(a-_)&lt;=n.EPSILON*Math.max(1,Math.abs(a),Math.abs(_))&amp;&amp;Math.abs(o-w)&lt;=n.EPSILON*Math.max(1,Math.abs(o),Math.abs(w))&amp;&amp;Math.abs(s-M)&lt;=n.EPSILON*Math.max(1,Math.abs(s),Math.abs(M))&amp;&amp;Math.abs(l-k)&lt;=n.EPSILON*Math.max(1,Math.abs(l),Math.abs(k))&amp;&amp;Math.abs(c-A)&lt;=n.EPSILON*Math.max(1,Math.abs(c),Math.abs(A))&amp;&amp;Math.abs(u-T)&lt;=n.EPSILON*Math.max(1,Math.abs(u),Math.abs(T))&amp;&amp;Math.abs(f-S)&lt;=n.EPSILON*Math.max(1,Math.abs(f),Math.abs(S))&amp;&amp;Math.abs(h-E)&lt;=n.EPSILON*Math.max(1,Math.abs(h),Math.abs(E))&amp;&amp;Math.abs(d-L)&lt;=n.EPSILON*Math.max(1,Math.abs(d),Math.abs(L))&amp;&amp;Math.abs(p-C)&lt;=n.EPSILON*Math.max(1,Math.abs(p),Math.abs(C))&amp;&amp;Math.abs(m-z)&lt;=n.EPSILON*Math.max(1,Math.abs(m),Math.abs(z))&amp;&amp;Math.abs(g-D)&lt;=n.EPSILON*Math.max(1,Math.abs(g),Math.abs(D))&amp;&amp;Math.abs(v-I)&lt;=n.EPSILON*Math.max(1,Math.abs(v),Math.abs(I))&amp;&amp;Math.abs(y-P)&lt;=n.EPSILON*Math.max(1,Math.abs(y),Math.abs(P))},e.exports=i},{&quot;./common.js&quot;:199}],204:[function(t,e,r){var n=t(&quot;./common.js&quot;),i=t(&quot;./mat3.js&quot;),a=t(&quot;./vec3.js&quot;),o=t(&quot;./vec4.js&quot;),s={};s.create=function(){var t=new n.ARRAY_TYPE(4);return t[0]=0,t[1]=0,t[2]=0,t[3]=1,t},s.rotationTo=function(){var t=a.create(),e=a.fromValues(1,0,0),r=a.fromValues(0,1,0);return function(n,i,o){var l=a.dot(i,o);return l&lt;-.999999?(a.cross(t,e,i),a.length(t)&lt;1e-6&amp;&amp;a.cross(t,r,i),a.normalize(t,t),s.setAxisAngle(n,t,Math.PI),n):l&gt;.999999?(n[0]=0,n[1]=0,n[2]=0,n[3]=1,n):(a.cross(t,i,o),n[0]=t[0],n[1]=t[1],n[2]=t[2],n[3]=1+l,s.normalize(n,n))}}(),s.setAxes=function(){var t=i.create();return function(e,r,n,i){return t[0]=n[0],t[3]=n[1],t[6]=n[2],t[1]=i[0],t[4]=i[1],t[7]=i[2],t[2]=-r[0],t[5]=-r[1],t[8]=-r[2],s.normalize(e,s.fromMat3(e,t))}}(),s.clone=o.clone,s.fromValues=o.fromValues,s.copy=o.copy,s.set=o.set,s.identity=function(t){return t[0]=0,t[1]=0,t[2]=0,t[3]=1,t},s.setAxisAngle=function(t,e,r){r*=.5;var n=Math.sin(r);return t[0]=n*e[0],t[1]=n*e[1],t[2]=n*e[2],t[3]=Math.cos(r),t},s.getAxisAngle=function(t,e){var r=2*Math.acos(e[3]),n=Math.sin(r/2);return 0!=n?(t[0]=e[0]/n,t[1]=e[1]/n,t[2]=e[2]/n):(t[0]=1,t[1]=0,t[2]=0),r},s.add=o.add,s.multiply=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=e[3],s=r[0],l=r[1],c=r[2],u=r[3];return t[0]=n*u+o*s+i*c-a*l,t[1]=i*u+o*l+a*s-n*c,t[2]=a*u+o*c+n*l-i*s,t[3]=o*u-n*s-i*l-a*c,t},s.mul=s.multiply,s.scale=o.scale,s.rotateX=function(t,e,r){r*=.5;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+o*s,t[1]=i*l+a*s,t[2]=a*l-i*s,t[3]=o*l-n*s,t},s.rotateY=function(t,e,r){r*=.5;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]=a*l+n*s,t[3]=o*l-i*s,t},s.rotateZ=function(t,e,r){r*=.5;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+i*s,t[1]=i*l-n*s,t[2]=a*l+o*s,t[3]=o*l-a*s,t},s.calculateW=function(t,e){var r=e[0],n=e[1],i=e[2];return t[0]=r,t[1]=n,t[2]=i,t[3]=Math.sqrt(Math.abs(1-r*r-n*n-i*i)),t},s.dot=o.dot,s.lerp=o.lerp,s.slerp=function(t,e,r,n){var i,a,o,s,l,c=e[0],u=e[1],f=e[2],h=e[3],d=r[0],p=r[1],m=r[2],g=r[3];return(a=c*d+u*p+f*m+h*g)&lt;0&amp;&amp;(a=-a,d=-d,p=-p,m=-m,g=-g),1-a&gt;1e-6?(i=Math.acos(a),o=Math.sin(i),s=Math.sin((1-n)*i)/o,l=Math.sin(n*i)/o):(s=1-n,l=n),t[0]=s*c+l*d,t[1]=s*u+l*p,t[2]=s*f+l*m,t[3]=s*h+l*g,t},s.sqlerp=function(){var t=s.create(),e=s.create();return function(r,n,i,a,o,l){return s.slerp(t,n,o,l),s.slerp(e,i,a,l),s.slerp(r,t,e,2*l*(1-l)),r}}(),s.invert=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,s=o?1/o:0;return t[0]=-r*s,t[1]=-n*s,t[2]=-i*s,t[3]=a*s,t},s.conjugate=function(t,e){return t[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t[3]=e[3],t},s.length=o.length,s.len=s.length,s.squaredLength=o.squaredLength,s.sqrLen=s.squaredLength,s.normalize=o.normalize,s.fromMat3=function(t,e){var r,n=e[0]+e[4]+e[8];if(n&gt;0)r=Math.sqrt(n+1),t[3]=.5*r,r=.5/r,t[0]=(e[5]-e[7])*r,t[1]=(e[6]-e[2])*r,t[2]=(e[1]-e[3])*r;else{var i=0;e[4]&gt;e[0]&amp;&amp;(i=1),e[8]&gt;e[3*i+i]&amp;&amp;(i=2);var a=(i+1)%3,o=(i+2)%3;r=Math.sqrt(e[3*i+i]-e[3*a+a]-e[3*o+o]+1),t[i]=.5*r,r=.5/r,t[3]=(e[3*a+o]-e[3*o+a])*r,t[a]=(e[3*a+i]+e[3*i+a])*r,t[o]=(e[3*o+i]+e[3*i+o])*r}return t},s.str=function(t){return&quot;quat(&quot;+t[0]+&quot;, &quot;+t[1]+&quot;, &quot;+t[2]+&quot;, &quot;+t[3]+&quot;)&quot;},s.exactEquals=o.exactEquals,s.equals=o.equals,e.exports=s},{&quot;./common.js&quot;:199,&quot;./mat3.js&quot;:202,&quot;./vec3.js&quot;:206,&quot;./vec4.js&quot;:207}],205:[function(t,e,r){var n=t(&quot;./common.js&quot;),i={};i.create=function(){var t=new n.ARRAY_TYPE(2);return t[0]=0,t[1]=0,t},i.clone=function(t){var e=new n.ARRAY_TYPE(2);return e[0]=t[0],e[1]=t[1],e},i.fromValues=function(t,e){var r=new n.ARRAY_TYPE(2);return r[0]=t,r[1]=e,r},i.copy=function(t,e){return t[0]=e[0],t[1]=e[1],t},i.set=function(t,e,r){return t[0]=e,t[1]=r,t},i.add=function(t,e,r){return t[0]=e[0]+r[0],t[1]=e[1]+r[1],t},i.subtract=function(t,e,r){return t[0]=e[0]-r[0],t[1]=e[1]-r[1],t},i.sub=i.subtract,i.multiply=function(t,e,r){return t[0]=e[0]*r[0],t[1]=e[1]*r[1],t},i.mul=i.multiply,i.divide=function(t,e,r){return t[0]=e[0]/r[0],t[1]=e[1]/r[1],t},i.div=i.divide,i.ceil=function(t,e){return t[0]=Math.ceil(e[0]),t[1]=Math.ceil(e[1]),t},i.floor=function(t,e){return t[0]=Math.floor(e[0]),t[1]=Math.floor(e[1]),t},i.min=function(t,e,r){return t[0]=Math.min(e[0],r[0]),t[1]=Math.min(e[1],r[1]),t},i.max=function(t,e,r){return t[0]=Math.max(e[0],r[0]),t[1]=Math.max(e[1],r[1]),t},i.round=function(t,e){return t[0]=Math.round(e[0]),t[1]=Math.round(e[1]),t},i.scale=function(t,e,r){return t[0]=e[0]*r,t[1]=e[1]*r,t},i.scaleAndAdd=function(t,e,r,n){return t[0]=e[0]+r[0]*n,t[1]=e[1]+r[1]*n,t},i.distance=function(t,e){var r=e[0]-t[0],n=e[1]-t[1];return Math.sqrt(r*r+n*n)},i.dist=i.distance,i.squaredDistance=function(t,e){var r=e[0]-t[0],n=e[1]-t[1];return r*r+n*n},i.sqrDist=i.squaredDistance,i.length=function(t){var e=t[0],r=t[1];return Math.sqrt(e*e+r*r)},i.len=i.length,i.squaredLength=function(t){var e=t[0],r=t[1];return e*e+r*r},i.sqrLen=i.squaredLength,i.negate=function(t,e){return t[0]=-e[0],t[1]=-e[1],t},i.inverse=function(t,e){return t[0]=1/e[0],t[1]=1/e[1],t},i.normalize=function(t,e){var r=e[0],n=e[1],i=r*r+n*n;return i&gt;0&amp;&amp;(i=1/Math.sqrt(i),t[0]=e[0]*i,t[1]=e[1]*i),t},i.dot=function(t,e){return t[0]*e[0]+t[1]*e[1]},i.cross=function(t,e,r){var n=e[0]*r[1]-e[1]*r[0];return t[0]=t[1]=0,t[2]=n,t},i.lerp=function(t,e,r,n){var i=e[0],a=e[1];return t[0]=i+n*(r[0]-i),t[1]=a+n*(r[1]-a),t},i.random=function(t,e){e=e||1;var r=2*n.RANDOM()*Math.PI;return t[0]=Math.cos(r)*e,t[1]=Math.sin(r)*e,t},i.transformMat2=function(t,e,r){var n=e[0],i=e[1];return t[0]=r[0]*n+r[2]*i,t[1]=r[1]*n+r[3]*i,t},i.transformMat2d=function(t,e,r){var n=e[0],i=e[1];return t[0]=r[0]*n+r[2]*i+r[4],t[1]=r[1]*n+r[3]*i+r[5],t},i.transformMat3=function(t,e,r){var n=e[0],i=e[1];return t[0]=r[0]*n+r[3]*i+r[6],t[1]=r[1]*n+r[4]*i+r[7],t},i.transformMat4=function(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},i.forEach=function(){var t=i.create();return function(e,r,n,i,a,o){var s,l;for(r||(r=2),n||(n=0),l=i?Math.min(i*r+n,e.length):e.length,s=n;s&lt;l;s+=r)t[0]=e[s],t[1]=e[s+1],a(t,t,o),e[s]=t[0],e[s+1]=t[1];return e}}(),i.str=function(t){return&quot;vec2(&quot;+t[0]+&quot;, &quot;+t[1]+&quot;)&quot;},i.exactEquals=function(t,e){return t[0]===e[0]&amp;&amp;t[1]===e[1]},i.equals=function(t,e){var r=t[0],i=t[1],a=e[0],o=e[1];return Math.abs(r-a)&lt;=n.EPSILON*Math.max(1,Math.abs(r),Math.abs(a))&amp;&amp;Math.abs(i-o)&lt;=n.EPSILON*Math.max(1,Math.abs(i),Math.abs(o))},e.exports=i},{&quot;./common.js&quot;:199}],206:[function(t,e,r){var n=t(&quot;./common.js&quot;),i={};i.create=function(){var t=new n.ARRAY_TYPE(3);return t[0]=0,t[1]=0,t[2]=0,t},i.clone=function(t){var e=new n.ARRAY_TYPE(3);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e},i.fromValues=function(t,e,r){var i=new n.ARRAY_TYPE(3);return i[0]=t,i[1]=e,i[2]=r,i},i.copy=function(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t},i.set=function(t,e,r,n){return t[0]=e,t[1]=r,t[2]=n,t},i.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},i.subtract=function(t,e,r){return t[0]=e[0]-r[0],t[1]=e[1]-r[1],t[2]=e[2]-r[2],t},i.sub=i.subtract,i.multiply=function(t,e,r){return t[0]=e[0]*r[0],t[1]=e[1]*r[1],t[2]=e[2]*r[2],t},i.mul=i.multiply,i.divide=function(t,e,r){return t[0]=e[0]/r[0],t[1]=e[1]/r[1],t[2]=e[2]/r[2],t},i.div=i.divide,i.ceil=function(t,e){return t[0]=Math.ceil(e[0]),t[1]=Math.ceil(e[1]),t[2]=Math.ceil(e[2]),t},i.floor=function(t,e){return t[0]=Math.floor(e[0]),t[1]=Math.floor(e[1]),t[2]=Math.floor(e[2]),t},i.min=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},i.max=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},i.round=function(t,e){return t[0]=Math.round(e[0]),t[1]=Math.round(e[1]),t[2]=Math.round(e[2]),t},i.scale=function(t,e,r){return t[0]=e[0]*r,t[1]=e[1]*r,t[2]=e[2]*r,t},i.scaleAndAdd=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},i.distance=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)},i.dist=i.distance,i.squaredDistance=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},i.sqrDist=i.squaredDistance,i.length=function(t){var e=t[0],r=t[1],n=t[2];return Math.sqrt(e*e+r*r+n*n)},i.len=i.length,i.squaredLength=function(t){var e=t[0],r=t[1],n=t[2];return e*e+r*r+n*n},i.sqrLen=i.squaredLength,i.negate=function(t,e){return t[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t},i.inverse=function(t,e){return t[0]=1/e[0],t[1]=1/e[1],t[2]=1/e[2],t},i.normalize=function(t,e){var r=e[0],n=e[1],i=e[2],a=r*r+n*n+i*i;return a&gt;0&amp;&amp;(a=1/Math.sqrt(a),t[0]=e[0]*a,t[1]=e[1]*a,t[2]=e[2]*a),t},i.dot=function(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]},i.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},i.lerp=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},i.hermite=function(t,e,r,n,i,a){var o=a*a,s=o*(2*a-3)+1,l=o*(a-2)+a,c=o*(a-1),u=o*(3-2*a);return t[0]=e[0]*s+r[0]*l+n[0]*c+i[0]*u,t[1]=e[1]*s+r[1]*l+n[1]*c+i[1]*u,t[2]=e[2]*s+r[2]*l+n[2]*c+i[2]*u,t},i.bezier=function(t,e,r,n,i,a){var o=1-a,s=o*o,l=a*a,c=s*o,u=3*a*s,f=3*l*o,h=l*a;return t[0]=e[0]*c+r[0]*u+n[0]*f+i[0]*h,t[1]=e[1]*c+r[1]*u+n[1]*f+i[1]*h,t[2]=e[2]*c+r[2]*u+n[2]*f+i[2]*h,t},i.random=function(t,e){e=e||1;var r=2*n.RANDOM()*Math.PI,i=2*n.RANDOM()-1,a=Math.sqrt(1-i*i)*e;return t[0]=Math.cos(r)*a,t[1]=Math.sin(r)*a,t[2]=i*e,t},i.transformMat4=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},i.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},i.transformQuat=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,d=-o*n-s*i-l*a;return t[0]=u*c+d*-o+f*-l-h*-s,t[1]=f*c+d*-s+h*-o-u*-l,t[2]=h*c+d*-l+u*-s-f*-o,t},i.rotateX=function(t,e,r,n){var i=[],a=[];return i[0]=e[0]-r[0],i[1]=e[1]-r[1],i[2]=e[2]-r[2],a[0]=i[0],a[1]=i[1]*Math.cos(n)-i[2]*Math.sin(n),a[2]=i[1]*Math.sin(n)+i[2]*Math.cos(n),t[0]=a[0]+r[0],t[1]=a[1]+r[1],t[2]=a[2]+r[2],t},i.rotateY=function(t,e,r,n){var i=[],a=[];return i[0]=e[0]-r[0],i[1]=e[1]-r[1],i[2]=e[2]-r[2],a[0]=i[2]*Math.sin(n)+i[0]*Math.cos(n),a[1]=i[1],a[2]=i[2]*Math.cos(n)-i[0]*Math.sin(n),t[0]=a[0]+r[0],t[1]=a[1]+r[1],t[2]=a[2]+r[2],t},i.rotateZ=function(t,e,r,n){var i=[],a=[];return i[0]=e[0]-r[0],i[1]=e[1]-r[1],i[2]=e[2]-r[2],a[0]=i[0]*Math.cos(n)-i[1]*Math.sin(n),a[1]=i[0]*Math.sin(n)+i[1]*Math.cos(n),a[2]=i[2],t[0]=a[0]+r[0],t[1]=a[1]+r[1],t[2]=a[2]+r[2],t},i.forEach=function(){var t=i.create();return function(e,r,n,i,a,o){var s,l;for(r||(r=3),n||(n=0),l=i?Math.min(i*r+n,e.length):e.length,s=n;s&lt;l;s+=r)t[0]=e[s],t[1]=e[s+1],t[2]=e[s+2],a(t,t,o),e[s]=t[0],e[s+1]=t[1],e[s+2]=t[2];return e}}(),i.angle=function(t,e){var r=i.fromValues(t[0],t[1],t[2]),n=i.fromValues(e[0],e[1],e[2]);i.normalize(r,r),i.normalize(n,n);var a=i.dot(r,n);return a&gt;1?0:Math.acos(a)},i.str=function(t){return&quot;vec3(&quot;+t[0]+&quot;, &quot;+t[1]+&quot;, &quot;+t[2]+&quot;)&quot;},i.exactEquals=function(t,e){return t[0]===e[0]&amp;&amp;t[1]===e[1]&amp;&amp;t[2]===e[2]},i.equals=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)&lt;=n.EPSILON*Math.max(1,Math.abs(r),Math.abs(o))&amp;&amp;Math.abs(i-s)&lt;=n.EPSILON*Math.max(1,Math.abs(i),Math.abs(s))&amp;&amp;Math.abs(a-l)&lt;=n.EPSILON*Math.max(1,Math.abs(a),Math.abs(l))},e.exports=i},{&quot;./common.js&quot;:199}],207:[function(t,e,r){var n=t(&quot;./common.js&quot;),i={};i.create=function(){var t=new n.ARRAY_TYPE(4);return t[0]=0,t[1]=0,t[2]=0,t[3]=0,t},i.clone=function(t){var e=new n.ARRAY_TYPE(4);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e},i.fromValues=function(t,e,r,i){var a=new n.ARRAY_TYPE(4);return a[0]=t,a[1]=e,a[2]=r,a[3]=i,a},i.copy=function(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t},i.set=function(t,e,r,n,i){return t[0]=e,t[1]=r,t[2]=n,t[3]=i,t},i.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[3]=e[3]+r[3],t},i.subtract=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},i.sub=i.subtract,i.multiply=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},i.mul=i.multiply,i.divide=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},i.div=i.divide,i.ceil=function(t,e){return t[0]=Math.ceil(e[0]),t[1]=Math.ceil(e[1]),t[2]=Math.ceil(e[2]),t[3]=Math.ceil(e[3]),t},i.floor=function(t,e){return t[0]=Math.floor(e[0]),t[1]=Math.floor(e[1]),t[2]=Math.floor(e[2]),t[3]=Math.floor(e[3]),t},i.min=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},i.max=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},i.round=function(t,e){return t[0]=Math.round(e[0]),t[1]=Math.round(e[1]),t[2]=Math.round(e[2]),t[3]=Math.round(e[3]),t},i.scale=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},i.scaleAndAdd=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},i.distance=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)},i.dist=i.distance,i.squaredDistance=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},i.sqrDist=i.squaredDistance,i.length=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)},i.len=i.length,i.squaredLength=function(t){var e=t[0],r=t[1],n=t[2],i=t[3];return e*e+r*r+n*n+i*i},i.sqrLen=i.squaredLength,i.negate=function(t,e){return t[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t[3]=-e[3],t},i.inverse=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},i.normalize=function(t,e){var r=e[0],n=e[1],i=e[2],a=e[3],o=r*r+n*n+i*i+a*a;return o&gt;0&amp;&amp;(o=1/Math.sqrt(o),t[0]=r*o,t[1]=n*o,t[2]=i*o,t[3]=a*o),t},i.dot=function(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]+t[3]*e[3]},i.lerp=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},i.random=function(t,e){return e=e||1,t[0]=n.RANDOM(),t[1]=n.RANDOM(),t[2]=n.RANDOM(),t[3]=n.RANDOM(),i.normalize(t,t),i.scale(t,t,e),t},i.transformMat4=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},i.transformQuat=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,d=-o*n-s*i-l*a;return t[0]=u*c+d*-o+f*-l-h*-s,t[1]=f*c+d*-s+h*-o-u*-l,t[2]=h*c+d*-l+u*-s-f*-o,t[3]=e[3],t},i.forEach=function(){var t=i.create();return function(e,r,n,i,a,o){var s,l;for(r||(r=4),n||(n=0),l=i?Math.min(i*r+n,e.length):e.length,s=n;s&lt;l;s+=r)t[0]=e[s],t[1]=e[s+1],t[2]=e[s+2],t[3]=e[s+3],a(t,t,o),e[s]=t[0],e[s+1]=t[1],e[s+2]=t[2],e[s+3]=t[3];return e}}(),i.str=function(t){return&quot;vec4(&quot;+t[0]+&quot;, &quot;+t[1]+&quot;, &quot;+t[2]+&quot;, &quot;+t[3]+&quot;)&quot;},i.exactEquals=function(t,e){return t[0]===e[0]&amp;&amp;t[1]===e[1]&amp;&amp;t[2]===e[2]&amp;&amp;t[3]===e[3]},i.equals=function(t,e){var r=t[0],i=t[1],a=t[2],o=t[3],s=e[0],l=e[1],c=e[2],u=e[3];return Math.abs(r-s)&lt;=n.EPSILON*Math.max(1,Math.abs(r),Math.abs(s))&amp;&amp;Math.abs(i-l)&lt;=n.EPSILON*Math.max(1,Math.abs(i),Math.abs(l))&amp;&amp;Math.abs(a-c)&lt;=n.EPSILON*Math.max(1,Math.abs(a),Math.abs(c))&amp;&amp;Math.abs(o-u)&lt;=n.EPSILON*Math.max(1,Math.abs(o),Math.abs(u))},e.exports=i},{&quot;./common.js&quot;:199}],208:[function(t,e,r){&quot;use strict&quot;;function n(t,e){for(var r=[0,0,0,0],n=0;n&lt;4;++n)for(var i=0;i&lt;4;++i)r[i]+=t[4*n+i]*e[n];return r}function i(t,e,r,i,a){for(var o=n(i,n(r,n(e,[t[0],t[1],t[2],1]))),s=0;s&lt;3;++s)o[s]/=o[3];return[.5*a[0]*(1+o[0]),.5*a[1]*(1-o[1])]}var a=t(&quot;barycentric&quot;),o=t(&quot;polytope-closest-point/lib/closest_point_2d.js&quot;);e.exports=function(t,e,r,n,s,l){if(1===t.length)return[0,t[0].slice()];for(var c=new Array(t.length),u=0;u&lt;t.length;++u)c[u]=i(t[u],r,n,s,l);var f=0,h=1/0;for(u=0;u&lt;c.length;++u){for(var d=0,p=0;p&lt;2;++p)d+=Math.pow(c[u][p]-e[p],2);d&lt;h&amp;&amp;(h=d,f=u)}var m=function(t,e){if(2===t.length){for(var r=0,n=0,i=0;i&lt;2;++i)r+=Math.pow(e[i]-t[0][i],2),n+=Math.pow(e[i]-t[1][i],2);return r=Math.sqrt(r),n=Math.sqrt(n),r+n&lt;1e-6?[1,0]:[n/(r+n),r/(n+r)]}if(3===t.length){var s=[0,0];return o(t[0],t[1],t[2],e,s),a(t,s)}return[]}(c,e),g=0;for(u=0;u&lt;3;++u){if(m[u]&lt;-.001||m[u]&gt;1.0001)return null;g+=m[u]}return Math.abs(g-1)&gt;.001?null:[f,function(t,e){for(var r=[0,0,0],n=0;n&lt;t.length;++n)for(var i=t[n],a=e[n],o=0;o&lt;3;++o)r[o]+=a*i[o];return r}(t,m),m]}},{barycentric:53,&quot;polytope-closest-point/lib/closest_point_2d.js&quot;:487}],209:[function(t,e,r){var n=&quot;precision mediump float;\n#define GLSLIFY 1\n\nuniform vec3  clipBounds[2];\nuniform float pickId;\n\nvarying vec3 f_position;\nvarying vec4 f_id;\n\nvoid main() {\n  if(any(lessThan(f_position, clipBounds[0])) || \n     any(greaterThan(f_position, clipBounds[1]))) {\n    discard;\n  }\n  gl_FragColor = vec4(pickId, f_id.xyz);\n}&quot;;r.meshShader={vertex:&quot;precision mediump float;\n#define GLSLIFY 1\n\nattribute vec3 position, normal;\nattribute vec4 color;\nattribute vec2 uv;\n\nuniform mat4 model\n           , view\n           , projection;\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\nvoid main() {\n  vec4 m_position  = model * vec4(position, 1.0);\n  vec4 t_position  = view * m_position;\n  gl_Position      = projection * t_position;\n  f_color          = color;\n  f_normal         = normal;\n  f_data           = position;\n  f_eyeDirection   = eyePosition   - position;\n  f_lightDirection = lightPosition - position;\n  f_uv             = uv;\n}&quot;,fragment:&quot;precision mediump float;\n#define GLSLIFY 1\n\nfloat beckmannDistribution_2_0(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\n\n\nfloat cookTorranceSpecular_1_1(\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_2_0(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\n\nuniform vec3 clipBounds[2];\nuniform float roughness\n            , fresnel\n            , kambient\n            , kdiffuse\n            , kspecular\n            , opacity;\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(any(lessThan(f_data, clipBounds[0])) || \n     any(greaterThan(f_data, clipBounds[1]))) {\n    discard;\n  }\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 = cookTorranceSpecular_1_1(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}&quot;,attributes:[{name:&quot;position&quot;,type:&quot;vec3&quot;},{name:&quot;normal&quot;,type:&quot;vec3&quot;},{name:&quot;color&quot;,type:&quot;vec4&quot;},{name:&quot;uv&quot;,type:&quot;vec2&quot;}]},r.wireShader={vertex:&quot;precision mediump 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}&quot;,fragment:&quot;precision mediump float;\n#define GLSLIFY 1\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(any(lessThan(f_data, clipBounds[0])) || \n     any(greaterThan(f_data, clipBounds[1]))) {\n    discard;\n  }\n\n  gl_FragColor = f_color * texture2D(texture, f_uv) * opacity;\n}&quot;,attributes:[{name:&quot;position&quot;,type:&quot;vec3&quot;},{name:&quot;color&quot;,type:&quot;vec4&quot;},{name:&quot;uv&quot;,type:&quot;vec2&quot;}]},r.pointShader={vertex:&quot;precision mediump float;\n#define GLSLIFY 1\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(any(lessThan(position, clipBounds[0])) || \n     any(greaterThan(position, clipBounds[1]))) {\n    gl_Position = vec4(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}&quot;,fragment:&quot;precision mediump 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) &gt; 0.25) {\n    discard;\n  }\n  gl_FragColor = f_color * texture2D(texture, f_uv) * opacity;\n}&quot;,attributes:[{name:&quot;position&quot;,type:&quot;vec3&quot;},{name:&quot;color&quot;,type:&quot;vec4&quot;},{name:&quot;uv&quot;,type:&quot;vec2&quot;},{name:&quot;pointSize&quot;,type:&quot;float&quot;}]},r.pickShader={vertex:&quot;precision mediump 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}&quot;,fragment:n,attributes:[{name:&quot;position&quot;,type:&quot;vec3&quot;},{name:&quot;id&quot;,type:&quot;vec4&quot;}]},r.pointPickShader={vertex:&quot;precision mediump float;\n#define GLSLIFY 1\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(any(lessThan(position, clipBounds[0])) || \n     any(greaterThan(position, clipBounds[1]))) {\n    gl_Position = vec4(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}&quot;,fragment:n,attributes:[{name:&quot;position&quot;,type:&quot;vec3&quot;},{name:&quot;pointSize&quot;,type:&quot;float&quot;},{name:&quot;id&quot;,type:&quot;vec4&quot;}]},r.contourShader={vertex:&quot;precision mediump 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}&quot;,fragment:&quot;precision mediump float;\n#define GLSLIFY 1\n\nuniform vec3 contourColor;\n\nvoid main() {\n  gl_FragColor = vec4(contourColor,1);\n}\n&quot;,attributes:[{name:&quot;position&quot;,type:&quot;vec3&quot;}]}},{}],210:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,n,i,a,o,s,l,c,u,f,h,d,p,m,g,v,y,x,b,_,w,k,A,T,S){this.gl=t,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=d,this.triangleCount=0,this.lineWidth=1,this.edgePositions=p,this.edgeColors=g,this.edgeUVs=v,this.edgeIds=m,this.edgeVAO=y,this.edgeCount=0,this.pointPositions=x,this.pointColors=_,this.pointUVs=w,this.pointSizes=k,this.pointIds=b,this.pointVAO=A,this.pointCount=0,this.contourLineWidth=1,this.contourPositions=T,this.contourVAO=S,this.contourCount=0,this.contourColor=[0,0,0],this.contourEnable=!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._model=M,this._view=M,this._projection=M,this._resolution=[1,1]}var i=t(&quot;gl-shader&quot;),a=t(&quot;gl-buffer&quot;),o=t(&quot;gl-vao&quot;),s=t(&quot;gl-texture2d&quot;),l=t(&quot;normals&quot;),c=t(&quot;gl-mat4/multiply&quot;),u=t(&quot;gl-mat4/invert&quot;),f=t(&quot;ndarray&quot;),h=t(&quot;colormap&quot;),d=t(&quot;simplicial-complex-contour&quot;),p=t(&quot;typedarray-pool&quot;),m=t(&quot;./lib/shaders&quot;),g=t(&quot;./lib/closest-point&quot;),v=m.meshShader,y=m.wireShader,x=m.pointShader,b=m.pickShader,_=m.pointPickShader,w=m.contourShader,M=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],k=n.prototype;k.isOpaque=function(){return this.opacity&gt;=1},k.isTransparent=function(){return this.opacity&lt;1},k.pickSlots=1,k.setPickBase=function(t){this.pickId=t},k.highlight=function(t){if(t&amp;&amp;this.contourEnable){for(var e=d(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&lt;a;++l)for(var c=r[l],u=0;u&lt;2;++u){var f=c[0];2===c.length&amp;&amp;(f=c[u]);for(var h=n[f][0],m=n[f][1],g=i[f],v=1-g,y=this.positions[h],x=this.positions[m],b=0;b&lt;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,&quot;contourEnable&quot;in t&amp;&amp;(this.contourEnable=t.contourEnable),&quot;contourColor&quot;in t&amp;&amp;(this.contourColor=t.contourColor),&quot;lineWidth&quot;in t&amp;&amp;(this.lineWidth=t.lineWidth),&quot;lightPosition&quot;in t&amp;&amp;(this.lightPosition=t.lightPosition),&quot;opacity&quot;in t&amp;&amp;(this.opacity=t.opacity),&quot;ambient&quot;in t&amp;&amp;(this.ambientLight=t.ambient),&quot;diffuse&quot;in t&amp;&amp;(this.diffuseLight=t.diffuse),&quot;specular&quot;in t&amp;&amp;(this.specularLight=t.specular),&quot;roughness&quot;in t&amp;&amp;(this.roughness=t.roughness),&quot;fresnel&quot;in t&amp;&amp;(this.fresnel=t.fresnel),t.texture?(this.texture.dispose(),this.texture=s(e,t.texture)):t.colormap&amp;&amp;(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=h({colormap:t,nshades:256,format:&quot;rgba&quot;}),r=new Uint8Array(1024),n=0;n&lt;256;++n){for(var i=e[n],a=0;a&lt;3;++a)r[4*n+a]=i[a];r[4*n+3]=255*i[3]}return f(r,[256,256,4],[4,0,1])}(t.colormap)),this.texture.generateMipmap());var r=t.cells,n=t.positions;if(n&amp;&amp;r){var i=[],a=[],o=[],c=[],u=[],d=[],p=[],m=[],g=[],v=[],y=[],x=[],b=[],_=[];this.cells=r,this.positions=n;var w=t.vertexNormals,M=t.cellNormals,k=void 0===t.vertexNormalsEpsilon?1e-6:t.vertexNormalsEpsilon,A=void 0===t.faceNormalsEpsilon?1e-6:t.faceNormalsEpsilon;t.useFacetNormals&amp;&amp;!M&amp;&amp;(M=l.faceNormals(r,n,A)),M||w||(w=l.vertexNormals(r,n,k));var T=t.vertexColors,S=t.cellColors,E=t.meshColor||[1,1,1,1],L=t.vertexUVs,C=t.vertexIntensity,z=t.cellUVs,D=t.cellIntensity,I=1/0,P=-1/0;if(!L&amp;&amp;!z)if(C)if(t.vertexIntensityBounds)I=+t.vertexIntensityBounds[0],P=+t.vertexIntensityBounds[1];else for(var O=0;O&lt;C.length;++O){var F=C[O];I=Math.min(I,F),P=Math.max(P,F)}else if(D)for(O=0;O&lt;D.length;++O){F=D[O];I=Math.min(I,F),P=Math.max(P,F)}else for(O=0;O&lt;n.length;++O){F=n[O][2];I=Math.min(I,F),P=Math.max(P,F)}this.intensity=C||(D?function(t,e,r){for(var n=new Array(e),i=0;i&lt;e;++i)n[i]=0;var a=t.length;for(i=0;i&lt;a;++i)for(var o=t[i],s=0;s&lt;o.length;++s)n[o[s]]=r[i];return n}(r,n.length,D):function(t){for(var e=t.length,r=new Array(e),n=0;n&lt;e;++n)r[n]=t[n][2];return r}(n));var R=t.pointSizes,N=t.pointSize||1;this.bounds=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]];for(O=0;O&lt;n.length;++O)for(var j=n[O],B=0;B&lt;3;++B)!isNaN(j[B])&amp;&amp;isFinite(j[B])&amp;&amp;(this.bounds[0][B]=Math.min(this.bounds[0][B],j[B]),this.bounds[1][B]=Math.max(this.bounds[1][B],j[B]));var U=0,V=0,q=0;t:for(O=0;O&lt;r.length;++O){var H=r[O];switch(H.length){case 1:for(j=n[Y=H[0]],B=0;B&lt;3;++B)if(isNaN(j[B])||!isFinite(j[B]))continue t;v.push(j[0],j[1],j[2]);3===(W=T?T[Y]:S?S[O]:E).length?y.push(W[0],W[1],W[2],1):y.push(W[0],W[1],W[2],W[3]);X=L?L[Y]:C?[(C[Y]-I)/(P-I),0]:z?z[O]:D?[(D[O]-I)/(P-I),0]:[(j[2]-I)/(P-I),0],x.push(X[0],X[1]),R?b.push(R[Y]):b.push(N),_.push(O),q+=1;break;case 2:for(B=0;B&lt;2;++B){j=n[Y=H[B]];for(var G=0;G&lt;3;++G)if(isNaN(j[G])||!isFinite(j[G]))continue t}for(B=0;B&lt;2;++B){j=n[Y=H[B]];d.push(j[0],j[1],j[2]);3===(W=T?T[Y]:S?S[O]:E).length?p.push(W[0],W[1],W[2],1):p.push(W[0],W[1],W[2],W[3]);X=L?L[Y]:C?[(C[Y]-I)/(P-I),0]:z?z[O]:D?[(D[O]-I)/(P-I),0]:[(j[2]-I)/(P-I),0],m.push(X[0],X[1]),g.push(O)}V+=1;break;case 3:for(B=0;B&lt;3;++B)for(j=n[Y=H[B]],G=0;G&lt;3;++G)if(isNaN(j[G])||!isFinite(j[G]))continue t;for(B=0;B&lt;3;++B){var Y;j=n[Y=H[B]];i.push(j[0],j[1],j[2]);var W;3===(W=T?T[Y]:S?S[O]:E).length?a.push(W[0],W[1],W[2],1):a.push(W[0],W[1],W[2],W[3]);var X;X=L?L[Y]:C?[(C[Y]-I)/(P-I),0]:z?z[O]:D?[(D[O]-I)/(P-I),0]:[(j[2]-I)/(P-I),0],c.push(X[0],X[1]);var Z;Z=w?w[Y]:M[O],o.push(Z[0],Z[1],Z[2]),u.push(O)}U+=1}}this.pointCount=q,this.edgeCount=V,this.triangleCount=U,this.pointPositions.update(v),this.pointColors.update(y),this.pointUVs.update(x),this.pointSizes.update(b),this.pointIds.update(new Uint32Array(_)),this.edgePositions.update(d),this.edgeColors.update(p),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(o),this.triangleIds.update(new Uint32Array(u))}},k.drawTransparent=k.draw=function(t){t=t||{};for(var e=this.gl,r=t.model||M,n=t.view||M,i=t.projection||M,a=[[-1e6,-1e6,-1e6],[1e6,1e6,1e6]],o=0;o&lt;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,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,contourColor:this.contourColor,texture:0};this.texture.bind(0);var l=new Array(16);c(l,s.view,s.model),c(l,s.projection,l),u(l,l);for(o=0;o&lt;3;++o)s.eyePosition[o]=l[12+o]/l[15];var f=l[15];for(o=0;o&lt;3;++o)f+=this.lightPosition[o]*l[4*o+3];for(o=0;o&lt;3;++o){for(var h=l[12+o],d=0;d&lt;3;++d)h+=l[4*d+o]*this.lightPosition[d];s.lightPosition[o]=h/f}if(this.triangleCount&gt;0){(p=this.triShader).bind(),p.uniforms=s,this.triangleVAO.bind(),e.drawArrays(e.TRIANGLES,0,3*this.triangleCount),this.triangleVAO.unbind()}if(this.edgeCount&gt;0&amp;&amp;this.lineWidth&gt;0){(p=this.lineShader).bind(),p.uniforms=s,this.edgeVAO.bind(),e.lineWidth(this.lineWidth),e.drawArrays(e.LINES,0,2*this.edgeCount),this.edgeVAO.unbind()}if(this.pointCount&gt;0){(p=this.pointShader).bind(),p.uniforms=s,this.pointVAO.bind(),e.drawArrays(e.POINTS,0,this.pointCount),this.pointVAO.unbind()}if(this.contourEnable&amp;&amp;this.contourCount&gt;0&amp;&amp;this.contourLineWidth&gt;0){var p;(p=this.contourShader).bind(),p.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||M,n=t.view||M,i=t.projection||M,a=[[-1e6,-1e6,-1e6],[1e6,1e6,1e6]],o=0;o&lt;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,pickId:this.pickId/255};if((l=this.pickShader).bind(),l.uniforms=s,this.triangleCount&gt;0&amp;&amp;(this.triangleVAO.bind(),e.drawArrays(e.TRIANGLES,0,3*this.triangleCount),this.triangleVAO.unbind()),this.edgeCount&gt;0&amp;&amp;(this.edgeVAO.bind(),e.lineWidth(this.lineWidth),e.drawArrays(e.LINES,0,2*this.edgeCount),this.edgeVAO.unbind()),this.pointCount&gt;0){var l;(l=this.pointPickShader).bind(),l.uniforms=s,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&lt;r.length;++a)i[a]=n[r[a]];var o=g(i,[t.coord[0],this._resolution[1]-t.coord[1]],this._model,this._view,this._projection,this._resolution);if(!o)return null;var s=o[2],l=0;for(a=0;a&lt;r.length;++a)l+=s[a]*this.intensity[r[a]];return{position:o[1],index:r[o[0]],cell:r,cellId:e,intensity:l,dataCoordinate:this.positions[r[o[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&amp;&amp;(t=(e=t).gl);var r=function(t){var e=i(t,v.vertex,v.fragment);return e.attributes.position.location=0,e.attributes.color.location=2,e.attributes.uv.location=3,e.attributes.normal.location=4,e}(t),l=function(t){var e=i(t,y.vertex,y.fragment);return e.attributes.position.location=0,e.attributes.color.location=2,e.attributes.uv.location=3,e}(t),c=function(t){var e=i(t,x.vertex,x.fragment);return e.attributes.position.location=0,e.attributes.color.location=2,e.attributes.uv.location=3,e.attributes.pointSize.location=4,e}(t),u=function(t){var e=i(t,b.vertex,b.fragment);return e.attributes.position.location=0,e.attributes.id.location=1,e}(t),h=function(t){var e=i(t,_.vertex,_.fragment);return e.attributes.position.location=0,e.attributes.id.location=1,e.attributes.pointSize.location=4,e}(t),d=function(t){var e=i(t,w.vertex,w.fragment);return e.attributes.position.location=0,e}(t),p=s(t,f(new Uint8Array([255,255,255,255]),[1,1,4]));p.generateMipmap(),p.minFilter=t.LINEAR_MIPMAP_LINEAR,p.magFilter=t.LINEAR;var m=a(t),g=a(t),M=a(t),k=a(t),A=a(t),T=o(t,[{buffer:m,type:t.FLOAT,size:3},{buffer:A,type:t.UNSIGNED_BYTE,size:4,normalized:!0},{buffer:g,type:t.FLOAT,size:4},{buffer:M,type:t.FLOAT,size:2},{buffer:k,type:t.FLOAT,size:3}]),S=a(t),E=a(t),L=a(t),C=a(t),z=o(t,[{buffer:S,type:t.FLOAT,size:3},{buffer:C,type:t.UNSIGNED_BYTE,size:4,normalized:!0},{buffer:E,type:t.FLOAT,size:4},{buffer:L,type:t.FLOAT,size:2}]),D=a(t),I=a(t),P=a(t),O=a(t),F=a(t),R=o(t,[{buffer:D,type:t.FLOAT,size:3},{buffer:F,type:t.UNSIGNED_BYTE,size:4,normalized:!0},{buffer:I,type:t.FLOAT,size:4},{buffer:P,type:t.FLOAT,size:2},{buffer:O,type:t.FLOAT,size:1}]),N=a(t),j=new n(t,p,r,l,c,u,h,d,m,A,g,M,k,T,S,C,E,L,z,D,F,I,P,O,R,N,o(t,[{buffer:N,type:t.FLOAT,size:3}]));return j.update(e),j}},{&quot;./lib/closest-point&quot;:208,&quot;./lib/shaders&quot;:209,colormap:105,&quot;gl-buffer&quot;:165,&quot;gl-mat4/invert&quot;:186,&quot;gl-mat4/multiply&quot;:188,&quot;gl-shader&quot;:243,&quot;gl-texture2d&quot;:255,&quot;gl-vao&quot;:259,ndarray:458,normals:461,&quot;simplicial-complex-contour&quot;:524,&quot;typedarray-pool&quot;:554}],211:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r){this.plot=t,this.vbo=e,this.shader=r}e.exports=function(t){var e=t.gl;return new n(t,i(e,[0,0,0,1,1,0,1,1]),a(e,o.boxVert,o.lineFrag))};var i=t(&quot;gl-buffer&quot;),a=t(&quot;gl-shader&quot;),o=t(&quot;./shaders&quot;),s=n.prototype;s.bind=function(){var t=this.shader;this.vbo.bind(),this.shader.bind(),t.attributes.coord.pointer(),t.uniforms.screenBox=this.plot.screenBox},s.drawBox=function(){var t=[0,0],e=[0,0];return function(r,n,i,a,o){var s=this.plot,l=this.shader,c=s.gl;t[0]=r,t[1]=n,e[0]=i,e[1]=a,l.uniforms.lo=t,l.uniforms.hi=e,l.uniforms.color=o,c.drawArrays(c.TRIANGLE_STRIP,0,4)}}(),s.dispose=function(){this.vbo.dispose(),this.shader.dispose()}},{&quot;./shaders&quot;:214,&quot;gl-buffer&quot;:165,&quot;gl-shader&quot;:217}],212:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,n){this.plot=t,this.vbo=e,this.shader=r,this.tickShader=n,this.ticks=[[],[]]}function i(t,e){return t-e}e.exports=function(t){var e=t.gl;return new n(t,a(e),o(e,l.gridVert,l.gridFrag),o(e,l.tickVert,l.gridFrag))};var a=t(&quot;gl-buffer&quot;),o=t(&quot;gl-shader&quot;),s=t(&quot;binary-search-bounds&quot;),l=t(&quot;./shaders&quot;),c=n.prototype;c.draw=function(){var t=[0,0],e=[0,0],r=[0,0];return function(){for(var n=this.plot,i=this.vbo,a=this.shader,o=this.ticks,s=n.gl,l=n._tickBounds,c=n.dataBox,u=n.viewBox,f=n.gridLineWidth,h=n.gridLineColor,d=n.gridLineEnable,p=n.pixelRatio,m=0;m&lt;2;++m){var g=l[m],v=l[m+2]-g,y=.5*(c[m+2]+c[m]),x=c[m+2]-c[m];e[m]=2*v/x,t[m]=2*(g-y)/x}a.bind(),i.bind(),a.attributes.dataCoord.pointer(),a.uniforms.dataShift=t,a.uniforms.dataScale=e;var b=0;for(m=0;m&lt;2;++m){r[0]=r[1]=0,r[m]=1,a.uniforms.dataAxis=r,a.uniforms.lineWidth=f[m]/(u[m+2]-u[m])*p,a.uniforms.color=h[m];var _=6*o[m].length;d[m]&amp;&amp;_&amp;&amp;s.drawArrays(s.TRIANGLES,b,_),b+=_}}}(),c.drawTickMarks=function(){var t=[0,0],e=[0,0],r=[1,0],n=[0,1],a=[0,0],o=[0,0];return function(){for(var l=this.plot,c=this.vbo,u=this.tickShader,f=this.ticks,h=l.gl,d=l._tickBounds,p=l.dataBox,m=l.viewBox,g=l.pixelRatio,v=l.screenBox,y=v[2]-v[0],x=v[3]-v[1],b=m[2]-m[0],_=m[3]-m[1],w=0;w&lt;2;++w){var M=d[w],k=d[w+2]-M,A=.5*(p[w+2]+p[w]),T=p[w+2]-p[w];e[w]=2*k/T,t[w]=2*(M-A)/T}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=l.tickMarkLength,L=l.tickMarkWidth,C=l.tickMarkColor,z=6*f[0].length,D=Math.min(s.ge(f[0],(p[0]-d[0])/(d[2]-d[0]),i),f[0].length),I=Math.min(s.gt(f[0],(p[2]-d[0])/(d[2]-d[0]),i),f[0].length),P=0+6*D,O=6*Math.max(0,I-D),F=Math.min(s.ge(f[1],(p[1]-d[1])/(d[3]-d[1]),i),f[1].length),R=Math.min(s.gt(f[1],(p[3]-d[1])/(d[3]-d[1]),i),f[1].length),N=z+6*F,j=6*Math.max(0,R-F);a[0]=2*(m[0]-E[1])/y-1,a[1]=(m[3]+m[1])/x-1,o[0]=E[1]*g/y,o[1]=L[1]*g/x,j&amp;&amp;(S.color=C[1],S.tickScale=o,S.dataAxis=n,S.screenOffset=a,h.drawArrays(h.TRIANGLES,N,j)),a[0]=(m[2]+m[0])/y-1,a[1]=2*(m[1]-E[0])/x-1,o[0]=L[0]*g/y,o[1]=E[0]*g/x,O&amp;&amp;(S.color=C[0],S.tickScale=o,S.dataAxis=r,S.screenOffset=a,h.drawArrays(h.TRIANGLES,P,O)),a[0]=2*(m[2]+E[3])/y-1,a[1]=(m[3]+m[1])/x-1,o[0]=E[3]*g/y,o[1]=L[3]*g/x,j&amp;&amp;(S.color=C[3],S.tickScale=o,S.dataAxis=n,S.screenOffset=a,h.drawArrays(h.TRIANGLES,N,j)),a[0]=(m[2]+m[0])/y-1,a[1]=2*(m[3]+E[2])/x-1,o[0]=L[2]*g/y,o[1]=E[2]*g/x,O&amp;&amp;(S.color=C[2],S.tickScale=o,S.dataAxis=r,S.screenOffset=a,h.drawArrays(h.TRIANGLES,P,O))}}(),c.update=function(){var t=[1,1,-1,-1,1,-1],e=[1,-1,1,1,-1,-1];return function(r){for(var n=r.ticks,i=r.bounds,a=new Float32Array(18*(n[0].length+n[1].length)),o=(this.plot.zeroLineEnable,0),s=[[],[]],l=0;l&lt;2;++l)for(var c=s[l],u=n[l],f=i[l],h=i[l+2],d=0;d&lt;u.length;++d){var p=(u[d].x-f)/(h-f);c.push(p);for(var m=0;m&lt;6;++m)a[o++]=p,a[o++]=t[m],a[o++]=e[m]}this.ticks=s,this.vbo.update(a)}}(),c.dispose=function(){this.vbo.dispose(),this.shader.dispose(),this.tickShader.dispose()}},{&quot;./shaders&quot;:214,&quot;binary-search-bounds&quot;:216,&quot;gl-buffer&quot;:165,&quot;gl-shader&quot;:217}],213:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r){this.plot=t,this.vbo=e,this.shader=r}e.exports=function(t){var e=t.gl;return new n(t,i(e,[-1,-1,-1,1,1,-1,1,1]),a(e,o.lineVert,o.lineFrag))};var i=t(&quot;gl-buffer&quot;),a=t(&quot;gl-shader&quot;),o=t(&quot;./shaders&quot;),s=n.prototype;s.bind=function(){var t=this.shader;this.vbo.bind(),this.shader.bind(),t.attributes.coord.pointer(),t.uniforms.screenBox=this.plot.screenBox},s.drawLine=function(){var t=[0,0],e=[0,0];return function(r,n,i,a,o,s){var l=this.plot,c=this.shader,u=l.gl;t[0]=r,t[1]=n,e[0]=i,e[1]=a,c.uniforms.start=t,c.uniforms.end=e,c.uniforms.width=o*l.pixelRatio,c.uniforms.color=s,u.drawArrays(u.TRIANGLE_STRIP,0,4)}}(),s.dispose=function(){this.vbo.dispose(),this.shader.dispose()}},{&quot;./shaders&quot;:214,&quot;gl-buffer&quot;:165,&quot;gl-shader&quot;:217}],214:[function(t,e,r){&quot;use strict&quot;;var n=&quot;precision lowp float;\n#define GLSLIFY 1\nuniform vec4 color;\nvoid main() {\n  gl_FragColor = vec4(color.xyz * color.w, color.w);\n}\n&quot;;e.exports={lineVert:&quot;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&quot;,lineFrag:n,textVert:&quot;#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&quot;,textFrag:n,gridVert:&quot;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&quot;,gridFrag:n,boxVert:&quot;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&quot;,tickVert:&quot;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&quot;}},{}],215:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r){this.plot=t,this.vbo=e,this.shader=r,this.tickOffset=[[],[]],this.tickX=[[],[]],this.labelOffset=[0,0],this.labelCount=[0,0]}e.exports=function(t){var e=t.gl;return new n(t,i(e),a(e,l.textVert,l.textFrag))};var i=t(&quot;gl-buffer&quot;),a=t(&quot;gl-shader&quot;),o=t(&quot;text-cache&quot;),s=t(&quot;binary-search-bounds&quot;),l=t(&quot;./shaders&quot;),c=n.prototype;c.drawTicks=function(){var t=[0,0],e=[0,0],r=[0,0];return function(n){var i=this.plot,a=this.shader,o=this.tickX[n],l=this.tickOffset[n],c=i.gl,u=i.viewBox,f=i.dataBox,h=i.screenBox,d=i.pixelRatio,p=i.tickEnable,m=i.tickPad,g=i.tickColor,v=i.tickAngle,y=i.labelEnable,x=i.labelPad,b=i.labelColor,_=i.labelAngle,w=this.labelOffset[n],M=this.labelCount[n],k=s.lt(o,f[n]),A=s.le(o,f[n+2]);t[0]=t[1]=0,t[n]=1,e[n]=(u[2+n]+u[n])/(h[2+n]-h[n])-1;var T=2/h[2+(1^n)]-h[1^n];e[1^n]=T*u[1^n]-1,p[n]&amp;&amp;(e[1^n]-=T*d*m[n],k&lt;A&amp;&amp;l[A]&gt;l[k]&amp;&amp;(a.uniforms.dataAxis=t,a.uniforms.screenOffset=e,a.uniforms.color=g[n],a.uniforms.angle=v[n],c.drawArrays(c.TRIANGLES,l[k],l[A]-l[k]))),y[n]&amp;&amp;M&amp;&amp;(e[1^n]-=T*d*x[n],a.uniforms.dataAxis=r,a.uniforms.screenOffset=e,a.uniforms.color=b[n],a.uniforms.angle=_[n],c.drawArrays(c.TRIANGLES,w,M)),e[1^n]=T*u[2+(1^n)]-1,p[n+2]&amp;&amp;(e[1^n]+=T*d*m[n+2],k&lt;A&amp;&amp;l[A]&gt;l[k]&amp;&amp;(a.uniforms.dataAxis=t,a.uniforms.screenOffset=e,a.uniforms.color=g[n+2],a.uniforms.angle=v[n+2],c.drawArrays(c.TRIANGLES,l[k],l[A]-l[k]))),y[n+2]&amp;&amp;M&amp;&amp;(e[1^n]+=T*d*x[n+2],a.uniforms.dataAxis=r,a.uniforms.screenOffset=e,a.uniforms.color=b[n+2],a.uniforms.angle=_[n+2],c.drawArrays(c.TRIANGLES,w,M))}}(),c.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&lt;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)}}}(),c.bind=function(){var t=[0,0],e=[0,0],r=[0,0];return function(){var n=this.plot,i=this.shader,a=n._tickBounds,o=n.dataBox,s=n.screenBox,l=n.viewBox;i.bind();for(var c=0;c&lt;2;++c){var u=a[c],f=a[c+2]-u,h=.5*(o[c+2]+o[c]),d=o[c+2]-o[c],p=l[c],m=l[c+2]-p,g=s[c],v=s[c+2]-g;e[c]=2*f/d*m/v,t[c]=2*(u-h)/d*m/v}r[1]=2*n.pixelRatio/(s[3]-s[1]),r[0]=r[1]*(s[3]-s[1])/(s[2]-s[0]),i.uniforms.dataScale=e,i.uniforms.dataShift=t,i.uniforms.textScale=r,this.vbo.bind(),i.attributes.textCoordinate.pointer()}}(),c.update=function(t){var e,r,n,i,a,s=[],l=t.ticks,c=t.bounds;for(a=0;a&lt;2;++a){var u=[Math.floor(s.length/3)],f=[-1/0],h=l[a];for(e=0;e&lt;h.length;++e){var d=h[e],p=d.x,m=d.text,g=d.font||&quot;sans-serif&quot;;i=d.fontSize||12;for(var v=1/(c[a+2]-c[a]),y=c[a],x=m.split(&quot;\n&quot;),b=0;b&lt;x.length;b++)for(n=o(g,x[b]).data,r=0;r&lt;n.length;r+=2)s.push(n[r]*i,-n[r+1]*i-b*i*1.2,(p-y)*v);u.push(Math.floor(s.length/3)),f.push(p)}this.tickOffset[a]=u,this.tickX[a]=f}for(a=0;a&lt;2;++a){for(this.labelOffset[a]=Math.floor(s.length/3),n=o(t.labelFont[a],t.labels[a],{textAlign:&quot;center&quot;}).data,i=t.labelSize[a],e=0;e&lt;n.length;e+=2)s.push(n[e]*i,-n[e+1]*i,0);this.labelCount[a]=Math.floor(s.length/3)-this.labelOffset[a]}for(this.titleOffset=Math.floor(s.length/3),n=o(t.titleFont,t.title).data,i=t.titleSize,e=0;e&lt;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)},c.dispose=function(){this.vbo.dispose(),this.shader.dispose()}},{&quot;./shaders&quot;:214,&quot;binary-search-bounds&quot;:216,&quot;gl-buffer&quot;:165,&quot;gl-shader&quot;:217,&quot;text-cache&quot;:545}],216:[function(t,e,r){arguments[4][89][0].apply(r,arguments)},{dup:89}],217:[function(t,e,r){&quot;use strict&quot;;function n(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}function i(t,e){return t.name&lt;e.name?-1:1}var a=t(&quot;./lib/create-uniforms&quot;),o=t(&quot;./lib/create-attributes&quot;),s=t(&quot;./lib/reflect&quot;),l=t(&quot;./lib/shader-cache&quot;),c=t(&quot;./lib/runtime-reflect&quot;),u=t(&quot;./lib/GLError&quot;),f=n.prototype;f.bind=function(){this.program||this._relink();var t,e=this.gl.getProgramParameter(this.program,this.gl.ACTIVE_ATTRIBUTES),r=this.gl.lastAttribCount;if(e&gt;r)for(t=r;t&lt;e;t++)this.gl.enableVertexAttribArray(t);else if(r&gt;e)for(t=e;t&lt;r;t++)this.gl.disableVertexAttribArray(t);this.gl.lastAttribCount=e,this.gl.useProgram(this.program)},f.dispose=function(){for(var t=this.gl.lastAttribCount,e=0;e&lt;t;e++)this.gl.disableVertexAttribArray(e);this.gl.lastAttribCount=0,this._fref&amp;&amp;this._fref.dispose(),this._vref&amp;&amp;this._vref.dispose(),this.attributes=this.types=this.vertShader=this.fragShader=this.program=this._relink=this._fref=this._vref=null},f.update=function(t,e,r,n){function f(){d.program=l.program(p,d._vref,d._fref,_,w);for(var t=0;t&lt;r.length;++t)E[t]=p.getUniformLocation(d.program,r[t].name)}if(!e||1===arguments.length){var h=t;t=h.vertex,e=h.fragment,r=h.uniforms,n=h.attributes}var d=this,p=d.gl,m=d._vref;d._vref=l.shader(p,p.VERTEX_SHADER,t),m&amp;&amp;m.dispose(),d.vertShader=d._vref.shader;var g=this._fref;if(d._fref=l.shader(p,p.FRAGMENT_SHADER,e),g&amp;&amp;g.dispose(),d.fragShader=d._fref.shader,!r||!n){var v=p.createProgram();if(p.attachShader(v,d.fragShader),p.attachShader(v,d.vertShader),p.linkProgram(v),!p.getProgramParameter(v,p.LINK_STATUS)){var y=p.getProgramInfoLog(v);throw new u(y,&quot;Error linking program:&quot;+y)}r=r||c.uniforms(p,v),n=n||c.attributes(p,v),p.deleteProgram(v)}(n=n.slice()).sort(i);var x,b=[],_=[],w=[];for(x=0;x&lt;n.length;++x){var M=n[x];if(M.type.indexOf(&quot;mat&quot;)&gt;=0){for(var k=0|M.type.charAt(M.type.length-1),A=new Array(k),T=0;T&lt;k;++T)A[T]=w.length,_.push(M.name+&quot;[&quot;+T+&quot;]&quot;),&quot;number&quot;==typeof M.location?w.push(M.location+T):Array.isArray(M.location)&amp;&amp;M.location.length===k&amp;&amp;&quot;number&quot;==typeof M.location[T]?w.push(0|M.location[T]):w.push(-1);b.push({name:M.name,type:M.type,locations:A})}else b.push({name:M.name,type:M.type,locations:[w.length]}),_.push(M.name),&quot;number&quot;==typeof M.location?w.push(0|M.location):w.push(-1)}var S=0;for(x=0;x&lt;w.length;++x)if(w[x]&lt;0){for(;w.indexOf(S)&gt;=0;)S+=1;w[x]=S}var E=new Array(r.length);f(),d._relink=f,d.types={uniforms:s(r),attributes:s(n)},d.attributes=o(p,d,b,w),Object.defineProperty(d,&quot;uniforms&quot;,a(p,d,r,E))},e.exports=function(t,e,r,i,a){var o=new n(t);return o.update(e,r,i,a),o}},{&quot;./lib/GLError&quot;:218,&quot;./lib/create-attributes&quot;:219,&quot;./lib/create-uniforms&quot;:220,&quot;./lib/reflect&quot;:221,&quot;./lib/runtime-reflect&quot;:222,&quot;./lib/shader-cache&quot;:223}],218:[function(t,e,r){function n(t,e,r){this.shortMessage=e||&quot;&quot;,this.longMessage=r||&quot;&quot;,this.rawError=t||&quot;&quot;,this.message=&quot;gl-shader: &quot;+(e||t||&quot;&quot;)+(r?&quot;\n&quot;+r:&quot;&quot;),this.stack=(new Error).stack}(n.prototype=new Error).name=&quot;GLError&quot;,n.prototype.constructor=n,e.exports=n},{}],219:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,n,i,a){this._gl=t,this._wrapper=e,this._index=r,this._locations=n,this._dimension=i,this._constFunc=a}function i(t,e,r,i,a,o,s){for(var l=[&quot;gl&quot;,&quot;v&quot;],c=[],u=0;u&lt;a;++u)l.push(&quot;x&quot;+u),c.push(&quot;x&quot;+u);l.push(&quot;if(x0.length===void 0){return gl.vertexAttrib&quot;+a+&quot;f(v,&quot;+c.join()+&quot;)}else{return gl.vertexAttrib&quot;+a+&quot;fv(v,x0)}&quot;);var f=Function.apply(null,l),h=new n(t,e,r,i,a,f);Object.defineProperty(o,s,{set:function(e){return t.disableVertexAttribArray(i[r]),f(t,i[r],e),e},get:function(){return h},enumerable:!0})}function a(t,e,r,n,a,o,s){for(var l=new Array(a),c=new Array(a),u=0;u&lt;a;++u)i(t,e,r[u],n,a,l,u),c[u]=l[u];Object.defineProperty(l,&quot;location&quot;,{set:function(t){if(Array.isArray(t))for(var e=0;e&lt;a;++e)c[e].location=t[e];else for(e=0;e&lt;a;++e)c[e].location=t+e;return t},get:function(){for(var t=new Array(a),e=0;e&lt;a;++e)t[e]=n[r[e]];return t},enumerable:!0}),l.pointer=function(e,i,o,s){e=e||t.FLOAT,i=!!i,o=o||a*a,s=s||0;for(var l=0;l&lt;a;++l){var c=n[r[l]];t.vertexAttribPointer(c,a,e,i,o,s+l*a),t.enableVertexAttribArray(c)}};var f=new Array(a),h=t[&quot;vertexAttrib&quot;+a+&quot;fv&quot;];Object.defineProperty(o,s,{set:function(e){for(var i=0;i&lt;a;++i){var o=n[r[i]];if(t.disableVertexAttribArray(o),Array.isArray(e[0]))h.call(t,o,e[i]);else{for(var s=0;s&lt;a;++s)f[s]=e[a*i+s];h.call(t,o,f)}}return e},get:function(){return l},enumerable:!0})}e.exports=function(t,e,r,n){for(var s={},l=0,c=r.length;l&lt;c;++l){var u=r[l],f=u.name,h=u.type,d=u.locations;switch(h){case&quot;bool&quot;:case&quot;int&quot;:case&quot;float&quot;:i(t,e,d[0],n,1,s,f);break;default:if(h.indexOf(&quot;vec&quot;)&gt;=0){if((p=h.charCodeAt(h.length-1)-48)&lt;2||p&gt;4)throw new o(&quot;&quot;,&quot;Invalid data type for attribute &quot;+f+&quot;: &quot;+h);i(t,e,d[0],n,p,s,f)}else{if(!(h.indexOf(&quot;mat&quot;)&gt;=0))throw new o(&quot;&quot;,&quot;Unknown data type for attribute &quot;+f+&quot;: &quot;+h);var p;if((p=h.charCodeAt(h.length-1)-48)&lt;2||p&gt;4)throw new o(&quot;&quot;,&quot;Invalid data type for attribute &quot;+f+&quot;: &quot;+h);a(t,e,d,n,p,s,f)}}}return s};var o=t(&quot;./GLError&quot;),s=n.prototype;s.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)},s.set=function(t,e,r,n){return this._constFunc(this._locations[this._index],t,e,r,n)},Object.defineProperty(s,&quot;location&quot;,{get:function(){return this._locations[this._index]},set:function(t){return t!==this._locations[this._index]&amp;&amp;(this._locations[this._index]=0|t,this._wrapper.program=null),0|t}})},{&quot;./GLError&quot;:218}],220:[function(t,e,r){&quot;use strict&quot;;function n(t){return new Function(&quot;y&quot;,&quot;return function(){return y}&quot;)(t)}function i(t,e){for(var r=new Array(t),n=0;n&lt;t;++n)r[n]=e;return r}var a=t(&quot;./reflect&quot;),o=t(&quot;./GLError&quot;);e.exports=function(t,e,r,s){function l(t,e,r){switch(r){case&quot;bool&quot;:case&quot;int&quot;:case&quot;sampler2D&quot;:case&quot;samplerCube&quot;:return&quot;gl.uniform1i(locations[&quot;+e+&quot;],obj&quot;+t+&quot;)&quot;;case&quot;float&quot;:return&quot;gl.uniform1f(locations[&quot;+e+&quot;],obj&quot;+t+&quot;)&quot;;default:var n=r.indexOf(&quot;vec&quot;);if(!(0&lt;=n&amp;&amp;n&lt;=1&amp;&amp;r.length===4+n)){if(0===r.indexOf(&quot;mat&quot;)&amp;&amp;4===r.length){if((i=r.charCodeAt(r.length-1)-48)&lt;2||i&gt;4)throw new o(&quot;&quot;,&quot;Invalid uniform dimension type for matrix &quot;+name+&quot;: &quot;+r);return&quot;gl.uniformMatrix&quot;+i+&quot;fv(locations[&quot;+e+&quot;],false,obj&quot;+t+&quot;)&quot;}throw new o(&quot;&quot;,&quot;Unknown uniform data type for &quot;+name+&quot;: &quot;+r)}var i;if((i=r.charCodeAt(r.length-1)-48)&lt;2||i&gt;4)throw new o(&quot;&quot;,&quot;Invalid data type&quot;);switch(r.charAt(0)){case&quot;b&quot;:case&quot;i&quot;:return&quot;gl.uniform&quot;+i+&quot;iv(locations[&quot;+e+&quot;],obj&quot;+t+&quot;)&quot;;case&quot;v&quot;:return&quot;gl.uniform&quot;+i+&quot;fv(locations[&quot;+e+&quot;],obj&quot;+t+&quot;)&quot;;default:throw new o(&quot;&quot;,&quot;Unrecognized data type for vector &quot;+name+&quot;: &quot;+r)}}}function c(t,e){if(&quot;object&quot;!=typeof e)return[[t,e]];var r=[];for(var n in e){var i=e[n],a=t;parseInt(n)+&quot;&quot;===n?a+=&quot;[&quot;+n+&quot;]&quot;:a+=&quot;.&quot;+n,&quot;object&quot;==typeof i?r.push.apply(r,c(a,i)):r.push([a,i])}return r}function u(e){for(var n=[&quot;return function updateProperty(obj){&quot;],i=c(&quot;&quot;,e),a=0;a&lt;i.length;++a){var o=i[a],u=o[0],f=o[1];s[f]&amp;&amp;n.push(l(u,f,r[f].type))}return n.push(&quot;return obj}&quot;),new Function(&quot;gl&quot;,&quot;locations&quot;,n.join(&quot;\n&quot;))(t,s)}function f(a,l,c){if(&quot;object&quot;==typeof c){var f=h(c);Object.defineProperty(a,l,{get:n(f),set:u(c),enumerable:!0,configurable:!1})}else s[c]?Object.defineProperty(a,l,{get:function(r){return new Function(&quot;gl&quot;,&quot;wrapper&quot;,&quot;locations&quot;,&quot;return function(){return gl.getUniform(wrapper.program,locations[&quot;+r+&quot;])}&quot;)(t,e,s)}(c),set:u(c),enumerable:!0,configurable:!1}):a[l]=function(t){switch(t){case&quot;bool&quot;:return!1;case&quot;int&quot;:case&quot;sampler2D&quot;:case&quot;samplerCube&quot;:case&quot;float&quot;:return 0;default:var e=t.indexOf(&quot;vec&quot;);if(0&lt;=e&amp;&amp;e&lt;=1&amp;&amp;t.length===4+e){if((r=t.charCodeAt(t.length-1)-48)&lt;2||r&gt;4)throw new o(&quot;&quot;,&quot;Invalid data type&quot;);return&quot;b&quot;===t.charAt(0)?i(r,!1):i(r,0)}if(0===t.indexOf(&quot;mat&quot;)&amp;&amp;4===t.length){var r;if((r=t.charCodeAt(t.length-1)-48)&lt;2||r&gt;4)throw new o(&quot;&quot;,&quot;Invalid uniform dimension type for matrix &quot;+name+&quot;: &quot;+t);return i(r*r,0)}throw new o(&quot;&quot;,&quot;Unknown uniform data type for &quot;+name+&quot;: &quot;+t)}}(r[c].type)}function h(t){var e;if(Array.isArray(t)){e=new Array(t.length);for(var r=0;r&lt;t.length;++r)f(e,r,t[r])}else{e={};for(var n in t)f(e,n,t[n])}return e}var d=a(r,!0);return{get:n(h(d)),set:u(d),enumerable:!0,configurable:!0}}},{&quot;./GLError&quot;:218,&quot;./reflect&quot;:221}],221:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t,e){for(var r={},n=0;n&lt;t.length;++n)for(var i=t[n].name.split(&quot;.&quot;),a=r,o=0;o&lt;i.length;++o){var s=i[o].split(&quot;[&quot;);if(s.length&gt;1){s[0]in a||(a[s[0]]=[]),a=a[s[0]];for(var l=1;l&lt;s.length;++l){var c=parseInt(s[l]);l&lt;s.length-1||o&lt;i.length-1?(c in a||(l&lt;s.length-1?a[c]=[]:a[c]={}),a=a[c]):a[c]=e?n:t[n].type}}else o&lt;i.length-1?(s[0]in a||(a[s[0]]={}),a=a[s[0]]):a[s[0]]=e?n:t[n].type}return r}},{}],222:[function(t,e,r){&quot;use strict&quot;;function n(t,e){if(!a){var r=Object.keys(i);a={};for(var n=0;n&lt;r.length;++n){var o=r[n];a[t[o]]=i[o]}}return a[e]}r.uniforms=function(t,e){for(var r=t.getProgramParameter(e,t.ACTIVE_UNIFORMS),i=[],a=0;a&lt;r;++a){var o=t.getActiveUniform(e,a);if(o){var s=n(t,o.type);if(o.size&gt;1)for(var l=0;l&lt;o.size;++l)i.push({name:o.name.replace(&quot;[0]&quot;,&quot;[&quot;+l+&quot;]&quot;),type:s});else i.push({name:o.name,type:s})}}return i},r.attributes=function(t,e){for(var r=t.getProgramParameter(e,t.ACTIVE_ATTRIBUTES),i=[],a=0;a&lt;r;++a){var o=t.getActiveAttrib(e,a);o&amp;&amp;i.push({name:o.name,type:n(t,o.type)})}return i};var i={FLOAT:&quot;float&quot;,FLOAT_VEC2:&quot;vec2&quot;,FLOAT_VEC3:&quot;vec3&quot;,FLOAT_VEC4:&quot;vec4&quot;,INT:&quot;int&quot;,INT_VEC2:&quot;ivec2&quot;,INT_VEC3:&quot;ivec3&quot;,INT_VEC4:&quot;ivec4&quot;,BOOL:&quot;bool&quot;,BOOL_VEC2:&quot;bvec2&quot;,BOOL_VEC3:&quot;bvec3&quot;,BOOL_VEC4:&quot;bvec4&quot;,FLOAT_MAT2:&quot;mat2&quot;,FLOAT_MAT3:&quot;mat3&quot;,FLOAT_MAT4:&quot;mat4&quot;,SAMPLER_2D:&quot;sampler2D&quot;,SAMPLER_CUBE:&quot;samplerCube&quot;},a=null},{}],223:[function(t,e,r){&quot;use strict&quot;;function n(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 i(t){this.gl=t,this.shaders=[{},{}],this.programs={}}function a(t){var e=l.get(t);return e||(e=new i(t),l.set(t,e)),e}r.shader=function(t,e,r){return a(t).getShaderReference(e,r)},r.program=function(t,e,r,n,i){return a(t).getProgram(e,r,n,i)};var o=t(&quot;./GLError&quot;),s=t(&quot;gl-format-compiler-error&quot;),l=new(&quot;undefined&quot;==typeof WeakMap?t(&quot;weakmap-shim&quot;):WeakMap),c=0;n.prototype.dispose=function(){if(0==--this.count){for(var t=this.cache,e=t.gl,r=this.programs,n=0,i=r.length;n&lt;i;++n){var a=t.programs[r[n]];a&amp;&amp;(delete t.programs[n],e.deleteProgram(a))}e.deleteShader(this.shader),delete t.shaders[this.type===e.FRAGMENT_SHADER|0][this.src]}};var u=i.prototype;u.getShaderReference=function(t,e){var r=this.gl,i=this.shaders[t===r.FRAGMENT_SHADER|0],a=i[e];if(a&amp;&amp;r.isShader(a.shader))a.count+=1;else{var l=function(t,e,r){var n=t.createShader(e);if(t.shaderSource(n,r),t.compileShader(n),!t.getShaderParameter(n,t.COMPILE_STATUS)){var i=t.getShaderInfoLog(n);try{var a=s(i,r,e)}catch(t){throw console.warn(&quot;Failed to format compiler error: &quot;+t),new o(i,&quot;Error compiling shader:\n&quot;+i)}throw new o(i,a.short,a.long)}return n}(r,t,e);a=i[e]=new n(c++,e,t,l,[],1,this)}return a},u.getProgram=function(t,e,r,n){var i=[t.id,e.id,r.join(&quot;:&quot;),n.join(&quot;:&quot;)].join(&quot;@&quot;),a=this.programs[i];return a&amp;&amp;this.gl.isProgram(a)||(this.programs[i]=a=function(t,e,r,n,i){var a=t.createProgram();t.attachShader(a,e),t.attachShader(a,r);for(var s=0;s&lt;n.length;++s)t.bindAttribLocation(a,i[s],n[s]);if(t.linkProgram(a),!t.getProgramParameter(a,t.LINK_STATUS)){var l=t.getProgramInfoLog(a);throw new o(l,&quot;Error linking program: &quot;+l)}return a}(this.gl,t.shader,e.shader,r,n),t.programs.push(i),e.programs.push(i)),a}},{&quot;./GLError&quot;:218,&quot;gl-format-compiler-error&quot;:172,&quot;weakmap-shim&quot;:576}],224:[function(t,e,r){&quot;use strict&quot;;function n(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}function i(t){for(var e=t.slice(),r=0;r&lt;e.length;++r)e[r]=e[r].slice();return e}function a(t,e){return t.x-e.x}e.exports=function(t){var e=t.gl,r=new n(e,o(e,[e.drawingBufferWidth,e.drawingBufferHeight]));return r.grid=s(r),r.text=l(r),r.line=c(r),r.box=u(r),r.update(t),r};var o=t(&quot;gl-select-static&quot;),s=t(&quot;./lib/grid&quot;),l=t(&quot;./lib/text&quot;),c=t(&quot;./lib/line&quot;),u=t(&quot;./lib/box&quot;),f=n.prototype;f.setDirty=function(){this.dirty=this.pickDirty=!0},f.setOverlayDirty=function(){this.dirty=!0},f.nextDepthValue=function(){return this._depthCounter++/65536},f.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&amp;&amp;(this._pickTimeout&amp;&amp;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,d=this.zeroLineWidth;if(f[0]||f[1]){o.bind();for(var p=0;p&lt;2;++p)if(f[p]&amp;&amp;n[p]&lt;=0&amp;&amp;n[p+2]&gt;=0){var m=e[p]-n[p]*(e[p+2]-e[p])/(n[p+2]-n[p]);0===p?o.drawLine(m,e[1],m,e[3],d[p],h[p]):o.drawLine(e[0],m,e[2],m,d[p],h[p])}}for(p=0;p&lt;l.length;++p)l[p].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;g[1]&amp;&amp;o.drawLine(r[0],r[1]-.5*v[1]*i,r[0],r[3]+.5*v[3]*i,v[1],y[1]),g[0]&amp;&amp;o.drawLine(r[0]-.5*v[0]*i,r[1],r[2]+.5*v[2]*i,r[1],v[0],y[0]),g[3]&amp;&amp;o.drawLine(r[2],r[1]-.5*v[1]*i,r[2],r[3]+.5*v[3]*i,v[3],y[3]),g[2]&amp;&amp;o.drawLine(r[0]-.5*v[0]*i,r[3],r[2]+.5*v[2]*i,r[3],v[2],y[2]),s.bind();for(p=0;p&lt;2;++p)s.drawTicks(p);this.titleEnable&amp;&amp;s.drawTitle();var x=this.overlays;for(p=0;p&lt;x.length;++p)x[p].draw();t.disable(t.SCISSOR_TEST),t.disable(t.BLEND),t.depthMask(!0)}},f.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&lt;r.length;++n)e=r[n].drawPick(e);t.end()}},f.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]&lt;&lt;8)+(s.value[1]&lt;&lt;16)+(s.value[2]&lt;&lt;24),c=this.objects,u=0;u&lt;c.length;++u){var f=c[u].pick(a,o,l);if(f)return f}return null}},f.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()},f.setDataBox=function(t){var e=this.dataBox;(e[0]!==t[0]||e[1]!==t[1]||e[2]!==t[2]||e[3]!==t[3])&amp;&amp;(e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],this.setDirty())},f.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()},f.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,o=(n[2]-n[0])/(n[3]-n[1]);this.setDataBox(t.dataBox||[-10,-10/o,10,10/o]),this.borderColor=!1!==t.borderColor&amp;&amp;(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=i(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=i(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=i(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=!(&quot;titleEnable&quot;in t&amp;&amp;!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=i(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=i(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=i(t.borderLineColor||[[0,0,0,1],[0,0,0,1],[0,0,0,1],[0,0,0,1]]);var s=t.ticks||[[],[]],l=this._tickBounds;l[0]=l[1]=1/0,l[2]=l[3]=-1/0;for(var c=0;c&lt;2;++c){var u=s[c].slice(0);0!==u.length&amp;&amp;(u.sort(a),l[c]=Math.min(l[c],u[0].x),l[c+2]=Math.max(l[c+2],u[u.length-1].x))}this.grid.update({bounds:l,ticks:s}),this.text.update({bounds:l,ticks:s,labels:t.labels||[&quot;x&quot;,&quot;y&quot;],labelSize:t.labelSize||[12,12],labelFont:t.labelFont||[&quot;sans-serif&quot;,&quot;sans-serif&quot;],title:t.title||&quot;&quot;,titleSize:t.titleSize||18,titleFont:t.titleFont||&quot;sans-serif&quot;}),this.static=!!t.static,this.setDirty()},f.dispose=function(){this.box.dispose(),this.grid.dispose(),this.text.dispose(),this.line.dispose();for(var t=this.objects.length-1;t&gt;=0;--t)this.objects[t].dispose();this.objects.length=0;for(t=this.overlays.length-1;t&gt;=0;--t)this.overlays[t].dispose();this.overlays.length=0,this.gl=null},f.addObject=function(t){this.objects.indexOf(t)&lt;0&amp;&amp;(this.objects.push(t),this.setDirty())},f.removeObject=function(t){for(var e=this.objects,r=0;r&lt;e.length;++r)if(e[r]===t){e.splice(r,1),this.setDirty();break}},f.addOverlay=function(t){this.overlays.indexOf(t)&lt;0&amp;&amp;(this.overlays.push(t),this.setOverlayDirty())},f.removeOverlay=function(t){for(var e=this.overlays,r=0;r&lt;e.length;++r)if(e[r]===t){e.splice(r,1),this.setOverlayDirty();break}}},{&quot;./lib/box&quot;:211,&quot;./lib/grid&quot;:212,&quot;./lib/line&quot;:213,&quot;./lib/text&quot;:215,&quot;gl-select-static&quot;:242}],225:[function(t,e,r){var n=t(&quot;gl-shader&quot;);e.exports=function(t){return n(t,&quot;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}&quot;,&quot;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}&quot;,null,[{name:&quot;position&quot;,type:&quot;vec2&quot;}])}},{&quot;gl-shader&quot;:243}],226:[function(t,e,r){&quot;use strict&quot;;function n(t){var e=Math.round(Math.log(Math.abs(t))/Math.log(10));if(e&lt;0){var r=Math.round(Math.pow(10,-e));return Math.ceil(t*r)/r}if(e&gt;0){r=Math.round(Math.pow(10,e));return Math.ceil(t/r)*r}return Math.ceil(t)}function i(t){return&quot;boolean&quot;!=typeof t||t}e.exports=function(t){function e(){if(!x&amp;&amp;U.autoResize){var t=b.parentNode,e=1,r=1;t&amp;&amp;t!==document.body?(e=t.clientWidth,r=t.clientHeight):(e=window.innerWidth,r=window.innerHeight);var n=0|Math.ceil(e*U.pixelRatio),i=0|Math.ceil(r*U.pixelRatio);if(n!==b.width||i!==b.height){b.width=n,b.height=i;var a=b.style;a.position=a.position||&quot;absolute&quot;,a.left=&quot;0px&quot;,a.top=&quot;0px&quot;,a.width=e+&quot;px&quot;,a.height=r+&quot;px&quot;,O=!0}}}function r(){for(var t=z.length,e=P.length,r=0;r&lt;e;++r)I[r]=0;t:for(r=0;r&lt;t;++r){var n=z[r],i=n.pickSlots;if(i){for(var a=0;a&lt;e;++a)if(I[a]+i&lt;255){D[r]=a,n.setPickBase(I[a]+1),I[a]+=i;continue t}var o=c(_,B);D[r]=e,P.push(o),I.push(i),n.setPickBase(1),e+=1}else D[r]=-1}for(;e&gt;0&amp;&amp;0===I[e-1];)I.pop(),P.pop().dispose()}function g(){if(U.contextLost)return!0;_.isContextLost()&amp;&amp;(U.contextLost=!0,U.mouseListener.enabled=!1,U.selection.object=null,U.oncontextloss&amp;&amp;U.oncontextloss())}function v(){if(!g()){e();var t=U.camera.tick();j.view=U.camera.matrix,O=O||t,F=F||t,E.pixelRatio=U.pixelRatio,C.pixelRatio=U.pixelRatio;var r=z.length,i=G[0],a=G[1];i[0]=i[1]=i[2]=1/0,a[0]=a[1]=a[2]=-1/0;for(var o=0;o&lt;r;++o){(L=z[o]).pixelRatio=U.pixelRatio,L.axes=U.axes,O=O||!!L.dirty,F=F||!!L.dirty;var l=L.bounds;if(l)for(var c=l[0],u=l[1],h=0;h&lt;3;++h)i[h]=Math.min(i[h],c[h]),a[h]=Math.max(a[h],u[h])}var p=U.bounds;if(U.autoBounds)for(h=0;h&lt;3;++h){if(a[h]&lt;i[h])i[h]=-1,a[h]=1;else{i[h]===a[h]&amp;&amp;(i[h]-=1,a[h]+=1);var m=.05*(a[h]-i[h]);i[h]=i[h]-m,a[h]=a[h]+m}p[0][h]=i[h],p[1][h]=a[h]}var v=!1;for(h=0;h&lt;3;++h)v=v||Y[0][h]!==p[0][h]||Y[1][h]!==p[1][h],Y[0][h]=p[0][h],Y[1][h]=p[1][h];if(F=F||v,O=O||v){if(v){var y=[0,0,0];for(o=0;o&lt;3;++o)y[o]=n((p[1][o]-p[0][o])/10);E.autoTicks?E.update({bounds:p,tickSpacing:y}):E.update({bounds:p})}var x=_.drawingBufferWidth,b=_.drawingBufferHeight;for(B[0]=x,B[1]=b,V[0]=0|Math.max(x/U.pixelRatio,1),V[1]=0|Math.max(b/U.pixelRatio,1),d(R,U.fovy,x/b,U.zNear,U.zFar),o=0;o&lt;16;++o)N[o]=0;N[15]=1;var w=0;for(o=0;o&lt;3;++o)w=Math.max(w,p[1][o]-p[0][o]);for(o=0;o&lt;3;++o)U.autoScale?N[5*o]=U.aspect[o]/(p[1][o]-p[0][o]):N[5*o]=1/w,U.autoCenter&amp;&amp;(N[12+o]=.5*-N[5*o]*(p[0][o]+p[1][o]));for(o=0;o&lt;r;++o)(L=z[o]).axesBounds=p,U.clipToBounds&amp;&amp;(L.clipBounds=p);M.object&amp;&amp;(U.snapToData?C.position=M.dataCoordinate:C.position=M.dataPosition,C.bounds=p),F&amp;&amp;(F=!1,function(){if(!g()){_.colorMask(!0,!0,!0,!0),_.depthMask(!0),_.disable(_.BLEND),_.enable(_.DEPTH_TEST);for(var t=z.length,e=P.length,r=0;r&lt;e;++r){var n=P[r];n.shape=V,n.begin();for(var i=0;i&lt;t;++i)if(D[i]===r){var a=z[i];a.drawPick&amp;&amp;(a.pixelRatio=1,a.drawPick(j))}n.end()}}}()),U.axesPixels=s(U.axes,j,x,b),U.onrender&amp;&amp;U.onrender(),_.bindFramebuffer(_.FRAMEBUFFER,null),_.viewport(0,0,x,b);var T=U.clearColor;_.clearColor(T[0],T[1],T[2],T[3]),_.clear(_.COLOR_BUFFER_BIT|_.DEPTH_BUFFER_BIT),_.depthMask(!0),_.colorMask(!0,!0,!0,!0),_.enable(_.DEPTH_TEST),_.depthFunc(_.LEQUAL),_.disable(_.BLEND),_.disable(_.CULL_FACE);var S=!1;for(E.enable&amp;&amp;(S=S||E.isTransparent(),E.draw(j)),C.axes=E,M.object&amp;&amp;C.draw(j),_.disable(_.CULL_FACE),o=0;o&lt;r;++o)(L=z[o]).axes=E,L.pixelRatio=U.pixelRatio,L.isOpaque&amp;&amp;L.isOpaque()&amp;&amp;L.draw(j),L.isTransparent&amp;&amp;L.isTransparent()&amp;&amp;(S=!0);if(S){for(k.shape=B,k.bind(),_.clear(_.DEPTH_BUFFER_BIT),_.colorMask(!1,!1,!1,!1),_.depthMask(!0),_.depthFunc(_.LESS),E.enable&amp;&amp;E.isTransparent()&amp;&amp;E.drawTransparent(j),o=0;o&lt;r;++o)(L=z[o]).isOpaque&amp;&amp;L.isOpaque()&amp;&amp;L.draw(j);for(_.enable(_.BLEND),_.blendEquation(_.FUNC_ADD),_.blendFunc(_.ONE,_.ONE_MINUS_SRC_ALPHA),_.colorMask(!0,!0,!0,!0),_.depthMask(!1),_.clearColor(0,0,0,0),_.clear(_.COLOR_BUFFER_BIT),E.isTransparent()&amp;&amp;E.drawTransparent(j),o=0;o&lt;r;++o){var L;(L=z[o]).isTransparent&amp;&amp;L.isTransparent()&amp;&amp;L.drawTransparent(j)}_.bindFramebuffer(_.FRAMEBUFFER,null),_.blendFunc(_.ONE,_.ONE_MINUS_SRC_ALPHA),_.disable(_.DEPTH_TEST),A.bind(),k.color[0].bind(0),A.uniforms.accumBuffer=0,f(_),_.disable(_.BLEND)}for(O=!1,o=0;o&lt;r;++o)z[o].dirty=!1}}}function y(){x||U.contextLost||(requestAnimationFrame(y),v())}var x=!1,b=((t=t||{}).pixelRatio||parseFloat(window.devicePixelRatio),t.canvas);b||(b=document.createElement(&quot;canvas&quot;),t.container?t.container.appendChild(b):document.body.appendChild(b));var _=t.gl;if(_||(_=function(t,e){var r=null;try{(r=t.getContext(&quot;webgl&quot;,e))||(r=t.getContext(&quot;experimental-webgl&quot;,e))}catch(t){return null}return r}(b,t.glOptions||{premultipliedAlpha:!0,antialias:!0})),!_)throw new Error(&quot;webgl not supported&quot;);var w=t.bounds||[[-10,-10,-10],[10,10,10]],M=new function(){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},k=u(_,[_.drawingBufferWidth,_.drawingBufferHeight],{preferFloat:!m}),A=p(_),T=t.camera||{eye:[2,0,0],center:[0,0,0],up:[0,1,0],zoomMin:.1,zoomMax:100,mode:&quot;turntable&quot;},S=t.axes||{},E=o(_,S);E.enable=!S.disable;var L=t.spikes||{},C=l(_,L),z=[],D=[],I=[],P=[],O=!0,F=!0,R=new Array(16),N=new Array(16),j={view:null,projection:R,model:N},B=(F=!0,[_.drawingBufferWidth,_.drawingBufferHeight]),U={gl:_,contextLost:!1,pixelRatio:t.pixelRatio||parseFloat(window.devicePixelRatio),canvas:b,selection:M,camera:a(b,T),axes:E,axesPixels:null,spikes:C,bounds:w,objects:z,shape:B,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:i(t.autoResize),autoBounds:i(t.autoBounds),autoScale:!!t.autoScale,autoCenter:i(t.autoCenter),clipToBounds:i(t.clipToBounds),snapToData:!!t.snapToData,onselect:t.onselect||null,onrender:t.onrender||null,onclick:t.onclick||null,cameraParams:j,oncontextloss:null,mouseListener:null},V=[_.drawingBufferWidth/U.pixelRatio|0,_.drawingBufferHeight/U.pixelRatio|0];U.autoResize&amp;&amp;e(),window.addEventListener(&quot;resize&quot;,e),U.update=function(t){x||(t=t||{},O=!0,F=!0)},U.add=function(t){x||(t.axes=E,z.push(t),D.push(-1),O=!0,F=!0,r())},U.remove=function(t){if(!x){var e=z.indexOf(t);e&lt;0||(z.splice(e,1),D.pop(),O=!0,F=!0,r())}},U.dispose=function(){if(!x&amp;&amp;(x=!0,window.removeEventListener(&quot;resize&quot;,e),b.removeEventListener(&quot;webglcontextlost&quot;,g),U.mouseListener.enabled=!1,!U.contextLost)){E.dispose(),C.dispose();for(var t=0;t&lt;z.length;++t)z[t].dispose();for(k.dispose(),t=0;t&lt;P.length;++t)P[t].dispose();A.dispose(),_=null,E=null,C=null,z=[]}};var q=!1,H=0;U.mouseListener=h(b,function(t,e,r){if(!x){var n=P.length,i=z.length,a=M.object;M.distance=1/0,M.mouse[0]=e,M.mouse[1]=r,M.object=null,M.screen=null,M.dataCoordinate=M.dataPosition=null;var o=!1;if(t&amp;&amp;H)q=!0;else{q&amp;&amp;(F=!0),q=!1;for(var s=0;s&lt;n;++s){var l=P[s].query(e,V[1]-r-1,U.pickRadius);if(l){if(l.distance&gt;M.distance)continue;for(var c=0;c&lt;i;++c){var u=z[c];if(D[c]===s){var f=u.pick(l);f&amp;&amp;(M.buttons=t,M.screen=l.coord,M.distance=l.distance,M.object=u,M.index=f.distance,M.dataPosition=f.position,M.dataCoordinate=f.dataCoordinate,M.data=f,o=!0)}}}}}a&amp;&amp;a!==M.object&amp;&amp;(a.highlight&amp;&amp;a.highlight(null),O=!0),M.object&amp;&amp;(M.object.highlight&amp;&amp;M.object.highlight(M.data),O=!0),(o=o||M.object!==a)&amp;&amp;U.onselect&amp;&amp;U.onselect(M),1&amp;t&amp;&amp;!(1&amp;H)&amp;&amp;U.onclick&amp;&amp;U.onclick(M),H=t}}),b.addEventListener(&quot;webglcontextlost&quot;,g);var G=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],Y=[G[0].slice(),G[1].slice()];return y(),U.redraw=function(){x||(O=!0,v())},U};var a=t(&quot;3d-view-controls&quot;),o=t(&quot;gl-axes3d&quot;),s=t(&quot;gl-axes3d/properties&quot;),l=t(&quot;gl-spikes3d&quot;),c=t(&quot;gl-select-static&quot;),u=t(&quot;gl-fbo&quot;),f=t(&quot;a-big-triangle&quot;),h=t(&quot;mouse-change&quot;),d=t(&quot;gl-mat4/perspective&quot;),p=t(&quot;./lib/shader&quot;),m=t(&quot;is-mobile&quot;)()},{&quot;./lib/shader&quot;:225,&quot;3d-view-controls&quot;:39,&quot;a-big-triangle&quot;:42,&quot;gl-axes3d&quot;:157,&quot;gl-axes3d/properties&quot;:164,&quot;gl-fbo&quot;:171,&quot;gl-mat4/perspective&quot;:189,&quot;gl-select-static&quot;:242,&quot;gl-spikes3d&quot;:252,&quot;is-mobile&quot;:285,&quot;mouse-change&quot;:443}],227:[function(t,e,r){r.pointVertex=&quot;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}&quot;,r.pointFragment=&quot;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 &gt; 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&quot;,r.pickVertex=&quot;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&quot;,r.pickFragment=&quot;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 &gt; 1.0) {\n    discard;\n  }\n  gl_FragColor = fragId / 255.0;\n}\n&quot;},{}],228:[function(t,e,r){arguments[4][217][0].apply(r,arguments)},{&quot;./lib/GLError&quot;:229,&quot;./lib/create-attributes&quot;:230,&quot;./lib/create-uniforms&quot;:231,&quot;./lib/reflect&quot;:232,&quot;./lib/runtime-reflect&quot;:233,&quot;./lib/shader-cache&quot;:234,dup:217}],229:[function(t,e,r){arguments[4][218][0].apply(r,arguments)},{dup:218}],230:[function(t,e,r){arguments[4][219][0].apply(r,arguments)},{&quot;./GLError&quot;:229,dup:219}],231:[function(t,e,r){arguments[4][220][0].apply(r,arguments)},{&quot;./GLError&quot;:229,&quot;./reflect&quot;:232,dup:220}],232:[function(t,e,r){arguments[4][221][0].apply(r,arguments)},{dup:221}],233:[function(t,e,r){arguments[4][222][0].apply(r,arguments)},{dup:222}],234:[function(t,e,r){arguments[4][223][0].apply(r,arguments)},{&quot;./GLError&quot;:229,dup:223,&quot;gl-format-compiler-error&quot;:172,&quot;weakmap-shim&quot;:576}],235:[function(t,e,r){&quot;use strict&quot;;function n(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}var i=t(&quot;gl-shader&quot;),a=t(&quot;gl-buffer&quot;),o=t(&quot;typedarray-pool&quot;),s=t(&quot;./lib/shader&quot;);e.exports=function(t,e){var r=t.gl,o=new n(t,a(r),a(r),i(r,s.pointVertex,s.pointFragment),i(r,s.pickVertex,s.pickFragment));return o.update(e),t.addObject(o),o};var l=n.prototype;l.dispose=function(){this.shader.dispose(),this.pickShader.dispose(),this.offsetBuffer.dispose(),this.pickBuffer.dispose(),this.plot.removeObject(this)},l.update=function(t){function e(e,r){return e in t?t[e]:r}var r;t=t||{},this.sizeMin=e(&quot;sizeMin&quot;,.5),this.sizeMax=e(&quot;sizeMax&quot;,20),this.color=e(&quot;color&quot;,[1,0,0,1]).slice(),this.areaRatio=e(&quot;areaRatio&quot;,1),this.borderColor=e(&quot;borderColor&quot;,[0,0,0,1]).slice(),this.blend=e(&quot;blend&quot;,!1);var n=t.positions.length&gt;&gt;&gt;1,i=t.positions instanceof Float32Array,a=t.idToIndex instanceof Int32Array&amp;&amp;t.idToIndex.length&gt;=n,s=t.positions,l=i?s:o.mallocFloat32(s.length),c=a?t.idToIndex:o.mallocInt32(n);if(i||l.set(s),!a)for(l.set(s),r=0;r&lt;n;r++)c[r]=r;this.points=s,this.offsetBuffer.update(l),this.pickBuffer.update(c),i||o.free(l),a||o.free(c),this.pointCount=n,this.pickOffset=0},l.unifiedDraw=function(){var t=[1,0,0,0,1,0,0,0,1],e=[0,0,0,0];return function(r){var n=void 0!==r,i=n?this.pickShader:this.shader,a=this.plot.gl,o=this.plot.dataBox;if(0===this.pointCount)return r;var s=o[2]-o[0],l=o[3]-o[1],c=function(t,e){var r,n=0,i=t.length&gt;&gt;&gt;1;for(r=0;r&lt;i;r++){var a=t[2*r],o=t[2*r+1];a&gt;=e[0]&amp;&amp;a&lt;=e[2]&amp;&amp;o&gt;=e[1]&amp;&amp;o&lt;=e[3]&amp;&amp;n++}return n}(this.points,o),u=this.plot.pickPixelRatio*Math.max(Math.min(this.sizeMinCap,this.sizeMin),Math.min(this.sizeMax,this.sizeMax/Math.pow(c,.33333)));t[0]=2/s,t[4]=2/l,t[6]=-2*o[0]/s-1,t[7]=-2*o[1]/l-1,this.offsetBuffer.bind(),i.bind(),i.attributes.position.pointer(),i.uniforms.matrix=t,i.uniforms.color=this.color,i.uniforms.borderColor=this.borderColor,i.uniforms.pointCloud=u&lt;5,i.uniforms.pointSize=u,i.uniforms.centerFraction=Math.min(1,Math.max(0,Math.sqrt(1-this.areaRatio))),n&amp;&amp;(e[0]=255&amp;r,e[1]=r&gt;&gt;8&amp;255,e[2]=r&gt;&gt;16&amp;255,e[3]=r&gt;&gt;24&amp;255,this.pickBuffer.bind(),i.attributes.pickId.pointer(a.UNSIGNED_BYTE),i.uniforms.pickOffset=e,this.pickOffset=r);var f=a.getParameter(a.BLEND),h=a.getParameter(a.DITHER);return f&amp;&amp;!this.blend&amp;&amp;a.disable(a.BLEND),h&amp;&amp;a.disable(a.DITHER),a.drawArrays(a.POINTS,0,this.pointCount),f&amp;&amp;!this.blend&amp;&amp;a.enable(a.BLEND),h&amp;&amp;a.enable(a.DITHER),r+this.pointCount}}(),l.draw=l.unifiedDraw,l.drawPick=l.unifiedDraw,l.pick=function(t,e,r){var n=this.pickOffset,i=this.pointCount;if(r&lt;n||r&gt;=n+i)return null;var a=r-n,o=this.points;return{object:this,pointId:a,dataCoord:[o[2*a],o[2*a+1]]}}},{&quot;./lib/shader&quot;:227,&quot;gl-buffer&quot;:165,&quot;gl-shader&quot;:228,&quot;typedarray-pool&quot;:554}],236:[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],d=r[0],p=r[1],m=r[2],g=r[3];return(a=c*d+u*p+f*m+h*g)&lt;0&amp;&amp;(a=-a,d=-d,p=-p,m=-m,g=-g),1-a&gt;1e-6?(i=Math.acos(a),o=Math.sin(i),s=Math.sin((1-n)*i)/o,l=Math.sin(n*i)/o):(s=1-n,l=n),t[0]=s*c+l*d,t[1]=s*u+l*p,t[2]=s*f+l*m,t[3]=s*h+l*g,t}},{}],237:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;vectorize-text&quot;);e.exports=function(t,e){var r=i[e];if(r||(r=i[e]={}),t in r)return r[t];for(var a=n(t,{textAlign:&quot;center&quot;,textBaseline:&quot;middle&quot;,lineHeight:1,font:e}),o=n(t,{triangles:!0,textAlign:&quot;center&quot;,textBaseline:&quot;middle&quot;,lineHeight:1,font:e}),s=[[1/0,1/0],[-1/0,-1/0]],l=0;l&lt;a.positions.length;++l)for(var c=a.positions[l],u=0;u&lt;2;++u)s[0][u]=Math.min(s[0][u],c[u]),s[1][u]=Math.max(s[1][u],c[u]);return r[t]=[o,a,s]};var i={}},{&quot;vectorize-text&quot;:568}],238:[function(t,e,r){function n(t,e){var r=i(t,e),n=r.attributes;return n.position.location=0,n.color.location=1,n.glyph.location=2,n.id.location=3,r}var i=t(&quot;gl-shader&quot;),a=&quot;precision mediump float;\n#define GLSLIFY 1\n\nattribute vec3 position;\nattribute vec4 color;\nattribute vec2 glyph;\nattribute vec4 id;\n\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(any(lessThan(position, clipBounds[0]))   || \n     any(greaterThan(position, clipBounds[1])) ) {\n    gl_Position = vec4(0,0,0,0);\n  } else {\n    float scale = 1.0;\n    if(distance(highlightId, id) &lt; 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}&quot;,o=&quot;precision mediump float;\n#define GLSLIFY 1\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(any(lessThan(position, clipBounds[0])) || any(greaterThan(position, clipBounds[1]))) {\n    gl_Position = vec4(0,0,0,0);\n  } else {\n    float scale = pixelRatio;\n    if(distance(highlightId.bgr, id.bgr) &lt; 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}&quot;,s=&quot;precision mediump float;\n#define GLSLIFY 1\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(any(lessThan(position, clipBounds[0]))   ||\n     any(greaterThan(position, clipBounds[1])) ) {\n    gl_Position = vec4(0,0,0,0);\n  } else {\n    float lscale = pixelRatio * scale;\n    if(distance(highlightId, id) &lt; 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&quot;,l=&quot;precision mediump float;\n#define GLSLIFY 1\n\nuniform vec3 fragClipBounds[2];\nuniform float opacity;\n\nvarying vec4 interpColor;\nvarying vec4 pickId;\nvarying vec3 dataCoordinate;\n\nvoid main() {\n  if(any(lessThan(dataCoordinate, fragClipBounds[0]))   ||\n     any(greaterThan(dataCoordinate, fragClipBounds[1])) ) {\n    discard;\n  } else {\n    gl_FragColor = interpColor * opacity;\n  }\n}\n&quot;,c=&quot;precision mediump float;\n#define GLSLIFY 1\n\nuniform vec3 fragClipBounds[2];\nuniform float pickGroup;\n\nvarying vec4 pickId;\nvarying vec3 dataCoordinate;\n\nvoid main() {\n  if(any(lessThan(dataCoordinate, fragClipBounds[0]))   || \n     any(greaterThan(dataCoordinate, fragClipBounds[1])) ) {\n    discard;\n  } else {\n    gl_FragColor = vec4(pickGroup, pickId.bgr);\n  }\n}&quot;,u=[{name:&quot;position&quot;,type:&quot;vec3&quot;},{name:&quot;color&quot;,type:&quot;vec4&quot;},{name:&quot;glyph&quot;,type:&quot;vec2&quot;},{name:&quot;id&quot;,type:&quot;vec4&quot;}],f={vertex:a,fragment:l,attributes:u},h={vertex:o,fragment:l,attributes:u},d={vertex:s,fragment:l,attributes:u},p={vertex:a,fragment:c,attributes:u},m={vertex:o,fragment:c,attributes:u},g={vertex:s,fragment:c,attributes:u};r.createPerspective=function(t){return n(t,f)},r.createOrtho=function(t){return n(t,h)},r.createProject=function(t){return n(t,d)},r.createPickPerspective=function(t){return n(t,p)},r.createPickOrtho=function(t){return n(t,m)},r.createPickProject=function(t){return n(t,g)}},{&quot;gl-shader&quot;:243}],239:[function(t,e,r){&quot;use strict&quot;;function n(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 i(t,e,r,i){return n(i,i),n(i,i),n(i,i)}function a(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.lineWidth=0,this.projectScale=[2/3,2/3,2/3],this.projectOpacity=[1,1,1],this.pickId=0,this.pickPerspectiveShader=c,this.pickOrthoShader=u,this.pickProjectShader=f,this.points=[],this._selectResult=new function(t,e){this.index=t,this.dataCoordinate=this.position=e}(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}function o(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 l(t,e,r,n){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[r]=n,t}function c(t,e,r,n,a){var c,u=e.axesProject,f=e.gl,h=t.uniforms,d=r.model||v,m=r.view||v,g=r.projection||v,y=e.axesBounds,S=function(t){for(var e=T,r=0;r&lt;2;++r)for(var n=0;n&lt;3;++n)e[r][n]=Math.max(Math.min(t[r][n],1e8),-1e8);return e}(e.clipBounds);c=e.axes?e.axes.lastCubeProps.axis:[1,1,1],x[0]=2/f.drawingBufferWidth,x[1]=2/f.drawingBufferHeight,t.bind(),h.view=m,h.projection=g,h.screenSize=x,h.highlightId=e.highlightId,h.highlightScale=e.highlightScale,h.clipBounds=S,h.pickGroup=e.pickId/255,h.pixelRatio=e.pixelRatio;for(var E=0;E&lt;3;++E)if(u[E]&amp;&amp;e.projectOpacity[E]&lt;1===n){h.scale=e.projectScale[E],h.opacity=e.projectOpacity[E];for(var L=k,C=0;C&lt;16;++C)L[C]=0;for(C=0;C&lt;4;++C)L[5*C]=1;L[5*E]=0,c[E]&lt;0?L[12+E]=y[0][E]:L[12+E]=y[1][E],p(L,d,L),h.model=L;var z=(E+1)%3,D=(E+2)%3,I=o(b),P=o(_);I[z]=1,P[D]=1;var O=i(0,0,0,s(w,I)),F=i(0,0,0,s(M,P));if(Math.abs(O[1])&gt;Math.abs(F[1])){var R=O;O=F,F=R,R=I,I=P,P=R;var N=z;z=D,D=N}O[0]&lt;0&amp;&amp;(I[z]=-1),F[1]&gt;0&amp;&amp;(P[D]=-1);var j=0,B=0;for(C=0;C&lt;4;++C)j+=Math.pow(d[4*z+C],2),B+=Math.pow(d[4*D+C],2);I[z]/=Math.sqrt(j),P[D]/=Math.sqrt(B),h.axes[0]=I,h.axes[1]=P,h.fragClipBounds[0]=l(A,S[0],E,-1e8),h.fragClipBounds[1]=l(A,S[1],E,1e8),e.vao.draw(f.TRIANGLES,e.vertexCount),e.lineWidth&gt;0&amp;&amp;(f.lineWidth(e.lineWidth),e.vao.draw(f.LINES,e.lineVertexCount,e.vertexCount))}}function u(t,e,r,n,i,a){var o=r.gl;if(r.vao.bind(),i===r.opacity&lt;1||a){t.bind();var s=t.uniforms;s.model=n.model||v,s.view=n.view||v,s.projection=n.projection||v,x[0]=2/o.drawingBufferWidth,x[1]=2/o.drawingBufferHeight,s.screenSize=x,s.highlightId=r.highlightId,s.highlightScale=r.highlightScale,s.fragClipBounds=S,s.clipBounds=r.axes.bounds,s.opacity=r.opacity,s.pickGroup=r.pickId/255,s.pixelRatio=r.pixelRatio,r.vao.draw(o.TRIANGLES,r.vertexCount),r.lineWidth&gt;0&amp;&amp;(o.lineWidth(r.lineWidth),r.vao.draw(o.LINES,r.lineVertexCount,r.vertexCount))}c(e,r,n,i),r.vao.unbind()}var f=t(&quot;gl-buffer&quot;),h=t(&quot;gl-vao&quot;),d=t(&quot;typedarray-pool&quot;),p=t(&quot;gl-mat4/multiply&quot;),m=t(&quot;./lib/shaders&quot;),g=t(&quot;./lib/glyphs&quot;),v=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];e.exports=function(t){var e=t.gl,r=m.createPerspective(e),n=m.createOrtho(e),i=m.createProject(e),o=m.createPickPerspective(e),s=m.createPickOrtho(e),l=m.createPickProject(e),c=f(e),u=f(e),d=f(e),p=f(e),g=new a(e,r,n,i,c,u,d,p,h(e,[{buffer:c,size:3,type:e.FLOAT},{buffer:u,size:4,type:e.FLOAT},{buffer:d,size:2,type:e.FLOAT},{buffer:p,size:4,type:e.UNSIGNED_BYTE,normalized:!0}]),o,s,l);return g.update(t),g};var y=a.prototype;y.pickSlots=1,y.setPickBase=function(t){this.pickId=t},y.isTransparent=function(){if(this.opacity&lt;1)return!0;for(var t=0;t&lt;3;++t)if(this.axesProject[t]&amp;&amp;this.projectOpacity[t]&lt;1)return!0;return!1},y.isOpaque=function(){if(this.opacity&gt;=1)return!0;for(var t=0;t&lt;3;++t)if(this.axesProject[t]&amp;&amp;this.projectOpacity[t]&gt;=1)return!0;return!1};var x=[0,0],b=[0,0,0],_=[0,0,0],w=[0,0,0,1],M=[0,0,0,1],k=v.slice(),A=[0,0,0],T=[[0,0,0],[0,0,0]],S=[[-1e8,-1e8,-1e8],[1e8,1e8,1e8]];y.draw=function(t){u(this.useOrtho?this.orthoShader:this.shader,this.projectShader,this,t,!1,!1)},y.drawTransparent=function(t){u(this.useOrtho?this.orthoShader:this.shader,this.projectShader,this,t,!0,!1)},y.drawPick=function(t){u(this.useOrtho?this.pickOrthoShader:this.pickPerspectiveShader,this.pickProjectShader,this,t,!1,!0)},y.pick=function(t){if(!t)return null;if(t.id!==this.pickId)return null;var e=t.value[2]+(t.value[1]&lt;&lt;8)+(t.value[0]&lt;&lt;16);if(e&gt;=this.pointCount||e&lt;0)return null;var r=this.points[e],n=this._selectResult;n.index=e;for(var i=0;i&lt;3;++i)n.position[i]=n.dataCoordinate[i]=r[i];return n},y.highlight=function(t){if(t){var e=t.index,r=255&amp;e,n=e&gt;&gt;8&amp;255,i=e&gt;&gt;16&amp;255;this.highlightId=[r/255,n/255,i/255,0]}else this.highlightId=[1,1,1,1]},y.update=function(t){if(&quot;perspective&quot;in(t=t||{})&amp;&amp;(this.useOrtho=!t.perspective),&quot;orthographic&quot;in t&amp;&amp;(this.useOrtho=!!t.orthographic),&quot;lineWidth&quot;in t&amp;&amp;(this.lineWidth=t.lineWidth),&quot;project&quot;in t)if(Array.isArray(t.project))this.axesProject=t.project;else{var e=!!t.project;this.axesProject=[e,e,e]}if(&quot;projectScale&quot;in t)if(Array.isArray(t.projectScale))this.projectScale=t.projectScale.slice();else{var r=+t.projectScale;this.projectScale=[r,r,r]}if(&quot;projectOpacity&quot;in t)if(Array.isArray(t.projectOpacity))this.projectOpacity=t.projectOpacity.slice();else{r=+t.projectOpacity;this.projectOpacity=[r,r,r]}&quot;opacity&quot;in t&amp;&amp;(this.opacity=t.opacity),this.dirty=!0;var n=t.position;if(n){var i=t.font||&quot;normal&quot;,a=t.alignment||[0,0],o=[1/0,1/0,1/0],s=[-1/0,-1/0,-1/0],l=t.glyph,c=t.color,u=t.size,f=t.angle,h=t.lineColor,p=0,m=0,v=0,y=n.length;t:for(var x=0;x&lt;y;++x){for(var b=n[x],_=0;_&lt;3;++_)if(isNaN(b[_])||!isFinite(b[_]))continue t;var w=(R=Array.isArray(l)?g(l[x],i):l?g(l,i):g(&quot;\u25cf&quot;,i))[0],M=R[1],k=R[2];m+=3*w.cells.length,v+=2*M.edges.length}var A=m+v,T=d.mallocFloat(3*A),S=d.mallocFloat(4*A),E=d.mallocFloat(2*A),L=d.mallocUint32(A),C=[0,a[1]],z=0,D=m,I=[0,0,0,1],P=[0,0,0,1],O=Array.isArray(c)&amp;&amp;Array.isArray(c[0]),F=Array.isArray(h)&amp;&amp;Array.isArray(h[0]);t:for(x=0;x&lt;y;++x){for(b=n[x],_=0;_&lt;3;++_){if(isNaN(b[_])||!isFinite(b[_])){p+=1;continue t}s[_]=Math.max(s[_],b[_]),o[_]=Math.min(o[_],b[_])}var R;w=(R=Array.isArray(l)?g(l[x],i):l?g(l,i):g(&quot;\u25cf&quot;,i))[0],M=R[1],k=R[2];if(Array.isArray(c)){if(3===(N=O?c[x]:c).length){for(_=0;_&lt;3;++_)I[_]=N[_];I[3]=1}else if(4===N.length)for(_=0;_&lt;4;++_)I[_]=N[_]}else I[0]=I[1]=I[2]=0,I[3]=1;if(Array.isArray(h)){var N;if(3===(N=F?h[x]:h).length){for(_=0;_&lt;3;++_)P[_]=N[_];P[_]=1}else if(4===N.length)for(_=0;_&lt;4;++_)P[_]=N[_]}else P[0]=P[1]=P[2]=0,P[3]=1;var j=.5;Array.isArray(u)?j=+u[x]:u?j=+u:this.useOrtho&amp;&amp;(j=12);var B=0;Array.isArray(f)?B=+f[x]:f&amp;&amp;(B=+f);var U=Math.cos(B),V=Math.sin(B);for(b=n[x],_=0;_&lt;3;++_)s[_]=Math.max(s[_],b[_]),o[_]=Math.min(o[_],b[_]);a[0]&lt;0?C[0]=a[0]*(1+k[1][0]):a[0]&gt;0&amp;&amp;(C[0]=-a[0]*(1+k[0][0]));var q=w.cells,H=w.positions;for(_=0;_&lt;q.length;++_)for(var G=q[_],Y=0;Y&lt;3;++Y){for(var W=0;W&lt;3;++W)T[3*z+W]=b[W];for(W=0;W&lt;4;++W)S[4*z+W]=I[W];L[z]=p;var X=H[G[Y]];E[2*z]=j*(U*X[0]-V*X[1]+C[0]),E[2*z+1]=j*(V*X[0]+U*X[1]+C[1]),z+=1}for(q=M.edges,H=M.positions,_=0;_&lt;q.length;++_)for(G=q[_],Y=0;Y&lt;2;++Y){for(W=0;W&lt;3;++W)T[3*D+W]=b[W];for(W=0;W&lt;4;++W)S[4*D+W]=P[W];L[D]=p;X=H[G[Y]];E[2*D]=j*(U*X[0]-V*X[1]+C[0]),E[2*D+1]=j*(V*X[0]+U*X[1]+C[1]),D+=1}p+=1}this.vertexCount=m,this.lineVertexCount=v,this.pointBuffer.update(T),this.colorBuffer.update(S),this.glyphBuffer.update(E),this.idBuffer.update(new Uint32Array(L)),d.free(T),d.free(S),d.free(E),d.free(L),this.bounds=[o,s],this.points=n,this.pointCount=n.length}},y.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()}},{&quot;./lib/glyphs&quot;:237,&quot;./lib/shaders&quot;:238,&quot;gl-buffer&quot;:165,&quot;gl-mat4/multiply&quot;:188,&quot;gl-vao&quot;:259,&quot;typedarray-pool&quot;:554}],240:[function(t,e,r){&quot;use strict&quot;;r.boxVertex=&quot;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&quot;,r.boxFragment=&quot;precision mediump float;\n#define GLSLIFY 1\n\nuniform vec4 color;\n\nvoid main() {\n  gl_FragColor = color;\n}\n&quot;},{}],241:[function(t,e,r){&quot;use strict&quot;;function n(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}var i=t(&quot;gl-shader&quot;),a=t(&quot;gl-buffer&quot;),o=t(&quot;./lib/shaders&quot;);e.exports=function(t,e){var r=t.gl,s=new n(t,a(r,[0,0,0,1,1,0,1,1]),i(r,o.boxVertex,o.boxFragment));return s.update(e),t.addOverlay(s),s};var s=n.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],d=(e[2]-l[0])*(c[2]-c[0])/(l[2]-l[0])+c[0],p=(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]),d=Math.min(d,c[2]),p=Math.min(p,c[3]),!(d&lt;f||p&lt;h)){o.bind();var m=s[2]-s[0],g=s[3]-s[1];if(this.outerFill&amp;&amp;(o.drawBox(0,0,m,h,i),o.drawBox(0,h,f,p,i),o.drawBox(0,p,m,g,i),o.drawBox(d,h,m,p,i)),this.innerFill&amp;&amp;o.drawBox(f,h,d,p,n),r&gt;0){var v=r*u;o.drawBox(f-v,h-v,d+v,h+v,a),o.drawBox(f-v,p-v,d+v,p+v,a),o.drawBox(f-v,h-v,f+v,p+v,a),o.drawBox(d-v,h-v,d+v,p+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)}},{&quot;./lib/shaders&quot;:240,&quot;gl-buffer&quot;:165,&quot;gl-shader&quot;:243}],242:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r){this.gl=t,this.fbo=e,this.buffer=r,this._readTimeout=null;var n=this;this._readCallback=function(){n.gl&amp;&amp;(e.bind(),t.readPixels(0,0,e.shape[0],e.shape[1],t.RGBA,t.UNSIGNED_BYTE,n.buffer),n._readTimeout=null)}}e.exports=function(t,e){return new n(t,i(t,e),a.mallocUint8(e[0]*e[1]*4))};var i=t(&quot;gl-fbo&quot;),a=t(&quot;typedarray-pool&quot;),o=t(&quot;ndarray&quot;),s=t(&quot;bit-twiddle&quot;).nextPow2,l=t(&quot;cwise/lib/wrapper&quot;)({args:[&quot;array&quot;,{offset:[0,0,1],array:0},{offset:[0,0,2],array:0},{offset:[0,0,3],array:0},&quot;scalar&quot;,&quot;scalar&quot;,&quot;index&quot;],pre:{body:&quot;{this_closestD2=1e8,this_closestX=-1,this_closestY=-1}&quot;,args:[],thisVars:[&quot;this_closestD2&quot;,&quot;this_closestX&quot;,&quot;this_closestY&quot;],localVars:[]},body:{body:&quot;{if(_inline_46_arg0_&lt;255||_inline_46_arg1_&lt;255||_inline_46_arg2_&lt;255||_inline_46_arg3_&lt;255){var _inline_46_l=_inline_46_arg4_-_inline_46_arg6_[0],_inline_46_a=_inline_46_arg5_-_inline_46_arg6_[1],_inline_46_f=_inline_46_l*_inline_46_l+_inline_46_a*_inline_46_a;_inline_46_f&lt;this_closestD2&amp;&amp;(this_closestD2=_inline_46_f,this_closestX=_inline_46_arg6_[0],this_closestY=_inline_46_arg6_[1])}}&quot;,args:[{name:&quot;_inline_46_arg0_&quot;,lvalue:!1,rvalue:!0,count:1},{name:&quot;_inline_46_arg1_&quot;,lvalue:!1,rvalue:!0,count:1},{name:&quot;_inline_46_arg2_&quot;,lvalue:!1,rvalue:!0,count:1},{name:&quot;_inline_46_arg3_&quot;,lvalue:!1,rvalue:!0,count:1},{name:&quot;_inline_46_arg4_&quot;,lvalue:!1,rvalue:!0,count:1},{name:&quot;_inline_46_arg5_&quot;,lvalue:!1,rvalue:!0,count:1},{name:&quot;_inline_46_arg6_&quot;,lvalue:!1,rvalue:!0,count:4}],thisVars:[&quot;this_closestD2&quot;,&quot;this_closestX&quot;,&quot;this_closestY&quot;],localVars:[&quot;_inline_46_a&quot;,&quot;_inline_46_f&quot;,&quot;_inline_46_l&quot;]},post:{body:&quot;{return[this_closestX,this_closestY,this_closestD2]}&quot;,args:[],thisVars:[&quot;this_closestD2&quot;,&quot;this_closestX&quot;,&quot;this_closestY&quot;],localVars:[]},debug:!1,funcName:&quot;cwise&quot;,blockSize:64}),c=n.prototype;Object.defineProperty(c,&quot;shape&quot;,{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&gt;this.buffer.length){a.free(this.buffer);for(var n=this.buffer=a.mallocUint8(s(r*e*4)),i=0;i&lt;r*e*4;++i)n[i]=255}return t}}}),c.begin=function(){var t=this.gl;this.shape;t&amp;&amp;(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&amp;&amp;(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,&quot;number&quot;!=typeof r&amp;&amp;(r=1);var i=0|Math.min(Math.max(t-r,0),n[0]),a=0|Math.min(Math.max(t+r,0),n[0]),s=0|Math.min(Math.max(e-r,0),n[1]),c=0|Math.min(Math.max(e+r,0),n[1]);if(a&lt;=i||c&lt;=s)return null;var u=[a-i,c-s],f=o(this.buffer,[u[0],u[1],4],[4,4*n[0],1],4*(i+n[0]*s)),h=l(f.hi(u[0],u[1],1),r,r),d=h[0],p=h[1];if(d&lt;0||Math.pow(this.radius,2)&lt;h[2])return null;return new function(t,e,r,n,i){this.coord=[t,e],this.id=r,this.value=n,this.distance=i}(d+i|0,p+s|0,f.get(d,p,0),[f.get(d,p,1),f.get(d,p,2),f.get(d,p,3)],Math.sqrt(h[2]))},c.dispose=function(){this.gl&amp;&amp;(this.fbo.dispose(),a.free(this.buffer),this.gl=null,this._readTimeout&amp;&amp;clearTimeout(this._readTimeout))}},{&quot;bit-twiddle&quot;:71,&quot;cwise/lib/wrapper&quot;:119,&quot;gl-fbo&quot;:171,ndarray:458,&quot;typedarray-pool&quot;:554}],243:[function(t,e,r){&quot;use strict&quot;;function n(t){this.gl=t,this._vref=this._fref=this._relink=this.vertShader=this.fragShader=this.program=this.attributes=this.uniforms=this.types=null}function i(t,e){return t.name&lt;e.name?-1:1}var a=t(&quot;./lib/create-uniforms&quot;),o=t(&quot;./lib/create-attributes&quot;),s=t(&quot;./lib/reflect&quot;),l=t(&quot;./lib/shader-cache&quot;),c=t(&quot;./lib/runtime-reflect&quot;),u=t(&quot;./lib/GLError&quot;),f=n.prototype;f.bind=function(){this.program||this._relink(),this.gl.useProgram(this.program)},f.dispose=function(){this._fref&amp;&amp;this._fref.dispose(),this._vref&amp;&amp;this._vref.dispose(),this.attributes=this.types=this.vertShader=this.fragShader=this.program=this._relink=this._fref=this._vref=null},f.update=function(t,e,r,n){function f(){d.program=l.program(p,d._vref,d._fref,b,_);for(var t=0;t&lt;r.length;++t)E[t]=p.getUniformLocation(d.program,r[t].name)}if(!e||1===arguments.length){var h=t;t=h.vertex,e=h.fragment,r=h.uniforms,n=h.attributes}var d=this,p=d.gl,m=d._vref;d._vref=l.shader(p,p.VERTEX_SHADER,t),m&amp;&amp;m.dispose(),d.vertShader=d._vref.shader;var g=this._fref;if(d._fref=l.shader(p,p.FRAGMENT_SHADER,e),g&amp;&amp;g.dispose(),d.fragShader=d._fref.shader,!r||!n){var v=p.createProgram();if(p.attachShader(v,d.fragShader),p.attachShader(v,d.vertShader),p.linkProgram(v),!p.getProgramParameter(v,p.LINK_STATUS)){var y=p.getProgramInfoLog(v);throw new u(y,&quot;Error linking program:&quot;+y)}r=r||c.uniforms(p,v),n=n||c.attributes(p,v),p.deleteProgram(v)}(n=n.slice()).sort(i);for(var x=[],b=[],_=[],w=0;w&lt;n.length;++w){var M=n[w];if(M.type.indexOf(&quot;mat&quot;)&gt;=0){for(var k=0|M.type.charAt(M.type.length-1),A=new Array(k),T=0;T&lt;k;++T)A[T]=_.length,b.push(M.name+&quot;[&quot;+T+&quot;]&quot;),&quot;number&quot;==typeof M.location?_.push(M.location+T):Array.isArray(M.location)&amp;&amp;M.location.length===k&amp;&amp;&quot;number&quot;==typeof M.location[T]?_.push(0|M.location[T]):_.push(-1);x.push({name:M.name,type:M.type,locations:A})}else x.push({name:M.name,type:M.type,locations:[_.length]}),b.push(M.name),&quot;number&quot;==typeof M.location?_.push(0|M.location):_.push(-1)}var S=0;for(w=0;w&lt;_.length;++w)if(_[w]&lt;0){for(;_.indexOf(S)&gt;=0;)S+=1;_[w]=S}var E=new Array(r.length);f(),d._relink=f,d.types={uniforms:s(r),attributes:s(n)},d.attributes=o(p,d,x,_),Object.defineProperty(d,&quot;uniforms&quot;,a(p,d,r,E))},e.exports=function(t,e,r,i,a){var o=new n(t);return o.update(e,r,i,a),o}},{&quot;./lib/GLError&quot;:244,&quot;./lib/create-attributes&quot;:245,&quot;./lib/create-uniforms&quot;:246,&quot;./lib/reflect&quot;:247,&quot;./lib/runtime-reflect&quot;:248,&quot;./lib/shader-cache&quot;:249}],244:[function(t,e,r){arguments[4][218][0].apply(r,arguments)},{dup:218}],245:[function(t,e,r){arguments[4][219][0].apply(r,arguments)},{&quot;./GLError&quot;:244,dup:219}],246:[function(t,e,r){arguments[4][220][0].apply(r,arguments)},{&quot;./GLError&quot;:244,&quot;./reflect&quot;:247,dup:220}],247:[function(t,e,r){arguments[4][221][0].apply(r,arguments)},{dup:221}],248:[function(t,e,r){arguments[4][222][0].apply(r,arguments)},{dup:222}],249:[function(t,e,r){arguments[4][223][0].apply(r,arguments)},{&quot;./GLError&quot;:244,dup:223,&quot;gl-format-compiler-error&quot;:172,&quot;weakmap-shim&quot;:576}],250:[function(t,e,r){&quot;use strict&quot;;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]&lt;=n[0]&amp;&amp;n[0]&lt;=o[2]&amp;&amp;o[1]&lt;=n[1]&amp;&amp;n[1]&lt;=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]&amp;&amp;a.drawLine(l,c,s[0],c,e[0],r[0]),t[1]&amp;&amp;a.drawLine(l,c,l,s[1],e[1],r[1]),t[2]&amp;&amp;a.drawLine(l,c,s[2],c,e[2],r[2]),t[3]&amp;&amp;a.drawLine(l,c,l,s[3],e[3],r[3])}},i.dispose=function(){this.plot.removeOverlay(this)}},{}],251:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;gl-shader&quot;);e.exports=function(t){return n(t,&quot;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&quot;,&quot;precision mediump float;\n#define GLSLIFY 1\n\nvarying vec4 fragColor;\n\nvoid main() {\n  gl_FragColor = fragColor;\n}&quot;,null,[{name:&quot;position&quot;,type:&quot;vec3&quot;},{name:&quot;color&quot;,type:&quot;vec3&quot;},{name:&quot;weight&quot;,type:&quot;float&quot;}])}},{&quot;gl-shader&quot;:243}],252:[function(t,e,r){&quot;use strict&quot;;function n(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 i=t(&quot;gl-buffer&quot;),a=t(&quot;gl-vao&quot;),o=t(&quot;./shaders/index&quot;);e.exports=function(t,e){function r(t,e,r,n,i,a){var o=[t,e,r,0,0,0,1];o[n+3]=1,o[n]=i,s.push.apply(s,o),o[6]=-1,s.push.apply(s,o),o[n]=a,s.push.apply(s,o),s.push.apply(s,o),o[6]=1,s.push.apply(s,o),o[n]=i,s.push.apply(s,o)}var s=[];r(0,0,0,0,0,1),r(0,0,0,1,0,1),r(0,0,0,2,0,1),r(1,0,0,1,-1,1),r(1,0,0,2,-1,1),r(0,1,0,0,-1,1),r(0,1,0,2,-1,1),r(0,0,1,0,-1,1),r(0,0,1,1,-1,1);var l=i(t,s),c=a(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=o(t);u.attributes.position.location=0,u.attributes.color.location=1,u.attributes.weight.location=2;var f=new n(t,l,c,u);return f.update(e),f};var s=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],l=n.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||s,o=t.view||s,l=t.projection||s;this.axes&amp;&amp;(i=this.axes.lastCubeProps.axis);for(var h=c,d=u,p=0;p&lt;3;++p)i&amp;&amp;i[p]&lt;0?(h[p]=this.bounds[0][p],d[p]=this.bounds[1][p]):(h[p]=this.bounds[1][p],d[p]=this.bounds[0][p]);f[0]=e.drawingBufferWidth,f[1]=e.drawingBufferHeight,n.uniforms.model=a,n.uniforms.view=o,n.uniforms.projection=l,n.uniforms.coordinates=[this.position,h,d],n.uniforms.colors=this.colors,n.uniforms.screenShape=f;for(p=0;p&lt;3;++p)n.uniforms.lineWidth=this.lineWidth[p]*this.pixelRatio,this.enabled[p]&amp;&amp;(r.draw(e.TRIANGLES,6,6*p),this.drawSides[p]&amp;&amp;r.draw(e.TRIANGLES,12,18+12*p));r.unbind()},l.update=function(t){t&amp;&amp;(&quot;bounds&quot;in t&amp;&amp;(this.bounds=t.bounds),&quot;position&quot;in t&amp;&amp;(this.position=t.position),&quot;lineWidth&quot;in t&amp;&amp;(this.lineWidth=t.lineWidth),&quot;colors&quot;in t&amp;&amp;(this.colors=t.colors),&quot;enabled&quot;in t&amp;&amp;(this.enabled=t.enabled),&quot;drawSides&quot;in t&amp;&amp;(this.drawSides=t.drawSides))},l.dispose=function(){this.vao.dispose(),this.buffer.dispose(),this.shader.dispose()}},{&quot;./shaders/index&quot;:251,&quot;gl-buffer&quot;:165,&quot;gl-vao&quot;:259}],253:[function(t,e,r){var n=t(&quot;gl-shader&quot;),i=&quot;precision mediump float;\n#define GLSLIFY 1\n\nattribute vec4 uv;\nattribute vec3 f;\nattribute vec3 normal;\n\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  worldCoordinate = vec3(uv.zw, f.x);\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&quot;,a=&quot;precision mediump float;\n#define GLSLIFY 1\n\nfloat beckmannDistribution_2_0(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\n\n\nfloat beckmannSpecular_1_1(\n  vec3 lightDirection,\n  vec3 viewDirection,\n  vec3 surfaceNormal,\n  float roughness) {\n  return beckmannDistribution_2_0(dot(surfaceNormal, normalize(lightDirection + viewDirection)), roughness);\n}\n\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 (kill &gt; 0.0 ||\n    any(lessThan(worldCoordinate, clipBounds[0])) || any(greaterThan(worldCoordinate, clipBounds[1]))) {\n    discard;\n  }\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_1_1(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 = step(vertexColor, .5) * texture2D(colormap, vec2(value, value)) + 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&quot;,o=&quot;precision mediump float;\n#define GLSLIFY 1\n\nattribute vec4 uv;\nattribute float f;\n\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  vec4 worldPosition = model * vec4(dataCoordinate, 1.0);\n\n  vec4 clipPosition = projection * view * worldPosition;\n  clipPosition.z = clipPosition.z + zOffset;\n\n  gl_Position = clipPosition;\n  value = f;\n  kill = -1.0;\n  worldCoordinate = dataCoordinate;\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&quot;,s=&quot;precision mediump float;\n#define GLSLIFY 1\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 &gt; 0.0 ||\n    any(lessThan(worldCoordinate, clipBounds[0])) || any(greaterThan(worldCoordinate, clipBounds[1]))) {\n    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&quot;;r.createShader=function(t){var e=n(t,i,a,null,[{name:&quot;uv&quot;,type:&quot;vec4&quot;},{name:&quot;f&quot;,type:&quot;vec3&quot;},{name:&quot;normal&quot;,type:&quot;vec3&quot;}]);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,i,s,null,[{name:&quot;uv&quot;,type:&quot;vec4&quot;},{name:&quot;f&quot;,type:&quot;vec3&quot;},{name:&quot;normal&quot;,type:&quot;vec3&quot;}]);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,o,a,null,[{name:&quot;uv&quot;,type:&quot;vec4&quot;},{name:&quot;f&quot;,type:&quot;float&quot;}]);return e.attributes.uv.location=0,e.attributes.f.location=1,e},r.createPickContourShader=function(t){var e=n(t,o,s,null,[{name:&quot;uv&quot;,type:&quot;vec4&quot;},{name:&quot;f&quot;,type:&quot;float&quot;}]);return e.attributes.uv.location=0,e.attributes.f.location=1,e}},{&quot;gl-shader&quot;:243}],254:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,n,i,a,o,s,l,c,u,f,h,d){this.gl=t,this.shape=e,this.bounds=r,this.intensityBounds=[],this._shader=n,this._pickShader=i,this._coordinateBuffer=a,this._vao=o,this._colorMap=s,this._contourShader=l,this._contourPickShader=c,this._contourBuffer=u,this._contourVAO=f,this._contourOffsets=[[],[],[]],this._contourCounts=[[],[],[]],this._vertexCount=0,this._pickResult=new function(t,e,r,n,i){this.position=t,this.index=e,this.uv=r,this.level=n,this.dataCoordinate=i}([0,0,0],[0,0],[0,0],[0,0,0],[0,0,0]),this._dynamicBuffer=h,this._dynamicVAO=d,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=[y(p.mallocFloat(1024),[0,0]),y(p.mallocFloat(1024),[0,0]),y(p.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.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}function i(t,e){var r,n,i,a=e.axes&amp;&amp;e.axes.lastCubeProps.axis||O,o=e.showSurface,s=e.showContour;for(r=0;r&lt;3;++r)for(o=o||e.surfaceProject[r],n=0;n&lt;3;++n)s=s||e.contourProject[r][n];for(r=0;r&lt;3;++r){var l=F.projections[r];for(n=0;n&lt;16;++n)l[n]=0;for(n=0;n&lt;4;++n)l[5*n]=1;l[5*r]=0,l[12+r]=e.axesBounds[+(a[r]&gt;0)][r],b(l,t.model,l);var c=F.clipBounds[r];for(i=0;i&lt;2;++i)for(n=0;n&lt;3;++n)c[i][n]=t.clipBounds[i][n];c[0][r]=-1e8,c[1][r]=1e8}return F.showSurface=o,F.showContour=s,F}function a(t,e){t=t||{};var r=this.gl;r.disable(r.CULL_FACE),this._colorMap.bind(0);var n=R;n.model=t.model||C,n.view=t.view||C,n.projection=t.projection||C,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.contourColor=this.contourColor[0],n.inverseModel=_(n.inverseModel,n.model);for(var a=0;a&lt;2;++a)for(var o=n.clipBounds[a],s=0;s&lt;3;++s)o[s]=Math.min(Math.max(this.clipBounds[a][s],-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=j,n.vertexColor=this.vertexColor;var l=N;for(b(l,n.view,n.model),b(l,n.projection,l),_(l,l),a=0;a&lt;3;++a)n.eyePosition[a]=l[12+a]/l[15];var c=l[15];for(a=0;a&lt;3;++a)c+=this.lightPosition[a]*l[4*a+3];for(a=0;a&lt;3;++a){var u=l[12+a];for(s=0;s&lt;3;++s)u+=l[4*s+a]*this.lightPosition[s];n.lightPosition[a]=u/c}var f=i(n,this);if(f.showSurface&amp;&amp;e===this.opacity&lt;1){for(this._shader.bind(),this._shader.uniforms=n,this._vao.bind(),this.showSurface&amp;&amp;this._vertexCount&amp;&amp;this._vao.draw(r.TRIANGLES,this._vertexCount),a=0;a&lt;3;++a)this.surfaceProject[a]&amp;&amp;this.vertexCount&amp;&amp;(this._shader.uniforms.model=f.projections[a],this._shader.uniforms.clipBounds=f.clipBounds[a],this._vao.draw(r.TRIANGLES,this._vertexCount));this._vao.unbind()}if(f.showContour&amp;&amp;!e){var h=this._contourShader;n.kambient=1,n.kdiffuse=0,n.kspecular=0,n.opacity=1,h.bind(),h.uniforms=n;var d=this._contourVAO;for(d.bind(),a=0;a&lt;3;++a)for(h.uniforms.permutation=D[a],r.lineWidth(this.contourWidth[a]),s=0;s&lt;this.contourLevels[a].length;++s)this._contourCounts[a][s]&amp;&amp;(s===this.highlightLevel[a]?(h.uniforms.contourColor=this.highlightColor[a],h.uniforms.contourTint=this.highlightTint[a]):0!==s&amp;&amp;s-1!==this.highlightLevel[a]||(h.uniforms.contourColor=this.contourColor[a],h.uniforms.contourTint=this.contourTint[a]),h.uniforms.height=this.contourLevels[a][s],d.draw(r.LINES,this._contourCounts[a][s],this._contourOffsets[a][s]));for(a=0;a&lt;3;++a)for(h.uniforms.model=f.projections[a],h.uniforms.clipBounds=f.clipBounds[a],s=0;s&lt;3;++s)if(this.contourProject[a][s]){h.uniforms.permutation=D[s],r.lineWidth(this.contourWidth[s]);for(var p=0;p&lt;this.contourLevels[s].length;++p)p===this.highlightLevel[s]?(h.uniforms.contourColor=this.highlightColor[s],h.uniforms.contourTint=this.highlightTint[s]):0!==p&amp;&amp;p-1!==this.highlightLevel[s]||(h.uniforms.contourColor=this.contourColor[s],h.uniforms.contourTint=this.contourTint[s]),h.uniforms.height=this.contourLevels[s][p],d.draw(r.LINES,this._contourCounts[s][p],this._contourOffsets[s][p])}for((d=this._dynamicVAO).bind(),a=0;a&lt;3;++a)if(0!==this._dynamicCounts[a])for(h.uniforms.model=n.model,h.uniforms.clipBounds=n.clipBounds,h.uniforms.permutation=D[a],r.lineWidth(this.dynamicWidth[a]),h.uniforms.contourColor=this.dynamicColor[a],h.uniforms.contourTint=this.dynamicTint[a],h.uniforms.height=this.dynamicLevel[a],d.draw(r.LINES,this._dynamicCounts[a],this._dynamicOffsets[a]),s=0;s&lt;3;++s)this.contourProject[s][a]&amp;&amp;(h.uniforms.model=f.projections[s],h.uniforms.clipBounds=f.clipBounds[s],d.draw(r.LINES,this._dynamicCounts[a],this._dynamicOffsets[a]));d.unbind()}}function o(t,e){var r=e.shape.slice(),n=t.shape.slice();g.assign(t.lo(1,1).hi(r[0],r[1]),e),g.assign(t.lo(1).hi(r[0],1),e.hi(r[0],1)),g.assign(t.lo(1,n[1]-1).hi(r[0],1),e.lo(0,r[1]-1).hi(r[0],1)),g.assign(t.lo(0,1).hi(1,r[1]),e.hi(1)),g.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))}function s(t,e){return Array.isArray(t)?[e(t[0]),e(t[1]),e(t[2])]:[e(t),e(t),e(t)]}function l(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 c(t){if(Array.isArray(t)){if(Array.isArray(t))return[l(t[0]),l(t[1]),l(t[2])];var e=l(t);return[e.slice(),e.slice(),e.slice()]}}e.exports=function(t){var e=t.gl,r=A(e),i=S(e),a=T(e),o=E(e),s=f(e),l=h(e,[{buffer:s,size:4,stride:L,offset:0},{buffer:s,size:3,stride:L,offset:16},{buffer:s,size:3,stride:L,offset:28}]),c=f(e),u=h(e,[{buffer:c,size:4,stride:20,offset:0},{buffer:c,size:1,stride:20,offset:16}]),p=f(e),m=h(e,[{buffer:p,size:2,type:e.FLOAT}]),g=d(e,1,I,e.RGBA,e.UNSIGNED_BYTE);g.minFilter=e.LINEAR,g.magFilter=e.LINEAR;var v=new n(e,[0,0],[[0,0,0],[0,0,0]],r,i,s,l,g,a,o,c,u,p,m),y={levels:[[],[],[]]};for(var x in t)y[x]=t[x];return y.colormap=y.colormap||&quot;jet&quot;,v.update(y),v};var u=t(&quot;bit-twiddle&quot;),f=t(&quot;gl-buffer&quot;),h=t(&quot;gl-vao&quot;),d=t(&quot;gl-texture2d&quot;),p=t(&quot;typedarray-pool&quot;),m=t(&quot;colormap&quot;),g=t(&quot;ndarray-ops&quot;),v=t(&quot;ndarray-pack&quot;),y=t(&quot;ndarray&quot;),x=t(&quot;surface-nets&quot;),b=t(&quot;gl-mat4/multiply&quot;),_=t(&quot;gl-mat4/invert&quot;),w=t(&quot;binary-search-bounds&quot;),M=t(&quot;ndarray-gradient&quot;),k=t(&quot;./lib/shaders&quot;),A=k.createShader,T=k.createContourShader,S=k.createPickShader,E=k.createPickContourShader,L=40,C=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],z=[[0,0],[0,1],[1,0],[1,1],[1,0],[0,1]],D=[[0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0]];!function(){for(var t=0;t&lt;3;++t){var e=D[t],r=(t+2)%3;e[(t+1)%3+0]=1,e[r+3]=1,e[t+6]=1}}();var I=256,P=n.prototype;P.isTransparent=function(){return this.opacity&lt;1},P.isOpaque=function(){if(this.opacity&gt;=1)return!0;for(var t=0;t&lt;3;++t)if(this._contourCounts[t].length&gt;0||this._dynamicCounts[t]&gt;0)return!0;return!1},P.pickSlots=1,P.setPickBase=function(t){this.pickId=t};var O=[0,0,0],F={showSurface:!1,showContour:!1,projections:[C.slice(),C.slice(),C.slice()],clipBounds:[[[0,0,0],[0,0,0]],[[0,0,0],[0,0,0]],[[0,0,0],[0,0,0]]]},R={model:C,view:C,projection:C,inverseModel:C.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,kambient:1,kdiffuse:1,kspecular:1,lightPosition:[1e3,1e3,1e3],eyePosition:[0,0,0],roughness:1,fresnel:1,opacity:1,vertexColor:0},N=C.slice(),j=[1,0,0,0,1,0,0,0,1];P.draw=function(t){return a.call(this,t,!1)},P.drawTransparent=function(t){return a.call(this,t,!0)};var B={model:C,view:C,projection:C,inverseModel:C,clipBounds:[[0,0,0],[0,0,0]],height:0,shape:[0,0],pickId:0,lowerBound:[0,0,0],upperBound:[0,0,0],zOffset:0,permutation:[1,0,0,0,1,0,0,0,1],lightPosition:[0,0,0],eyePosition:[0,0,0]};P.drawPick=function(t){t=t||{};var e=this.gl;e.disable(e.CULL_FACE);var r=B;r.model=t.model||C,r.view=t.view||C,r.projection=t.projection||C,r.shape=this._field[2].shape,r.pickId=this.pickId/255,r.lowerBound=this.bounds[0],r.upperBound=this.bounds[1],r.permutation=j;for(var n=0;n&lt;2;++n)for(var a=r.clipBounds[n],o=0;o&lt;3;++o)a[o]=Math.min(Math.max(this.clipBounds[n][o],-1e8),1e8);var s=i(r,this);if(s.showSurface){for(this._pickShader.bind(),this._pickShader.uniforms=r,this._vao.bind(),this._vao.draw(e.TRIANGLES,this._vertexCount),n=0;n&lt;3;++n)this.surfaceProject[n]&amp;&amp;(this._pickShader.uniforms.model=s.projections[n],this._pickShader.uniforms.clipBounds=s.clipBounds[n],this._vao.draw(e.TRIANGLES,this._vertexCount));this._vao.unbind()}if(s.showContour){var l=this._contourPickShader;l.bind(),l.uniforms=r;var c=this._contourVAO;for(c.bind(),o=0;o&lt;3;++o)for(e.lineWidth(this.contourWidth[o]),l.uniforms.permutation=D[o],n=0;n&lt;this.contourLevels[o].length;++n)this._contourCounts[o][n]&amp;&amp;(l.uniforms.height=this.contourLevels[o][n],c.draw(e.LINES,this._contourCounts[o][n],this._contourOffsets[o][n]));for(n=0;n&lt;3;++n)for(l.uniforms.model=s.projections[n],l.uniforms.clipBounds=s.clipBounds[n],o=0;o&lt;3;++o)if(this.contourProject[n][o]){l.uniforms.permutation=D[o],e.lineWidth(this.contourWidth[o]);for(var u=0;u&lt;this.contourLevels[o].length;++u)this._contourCounts[o][u]&amp;&amp;(l.uniforms.height=this.contourLevels[o][u],c.draw(e.LINES,this._contourCounts[o][u],this._contourOffsets[o][u]))}c.unbind()}},P.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]&gt;&gt;4)/16)/255,i=Math.floor(n),a=n-i,o=e[1]*(t.value[1]+(15&amp;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&lt;2;++u)for(var f=u?a:1-a,h=0;h&lt;2;++h)for(var d=i+u,p=s+h,m=f*(h?l:1-l),g=0;g&lt;3;++g)c[g]+=this._field[g].get(d,p)*m;for(var v=this._pickResult.level,y=0;y&lt;3;++y)if(v[y]=w.le(this.contourLevels[y],c[y]),v[y]&lt;0)this.contourLevels[y].length&gt;0&amp;&amp;(v[y]=0);else if(v[y]&lt;this.contourLevels[y].length-1){var x=this.contourLevels[y][v[y]],b=this.contourLevels[y][v[y]+1];Math.abs(x-c[y])&gt;Math.abs(b-c[y])&amp;&amp;(v[y]+=1)}for(r.index[0]=a&lt;.5?i:i+1,r.index[1]=l&lt;.5?s:s+1,r.uv[0]=n/e[0],r.uv[1]=o/e[1],g=0;g&lt;3;++g)r.dataCoordinate[g]=this._field[g].get(r.index[0],r.index[1]);return r},P.update=function(t){t=t||{},this.dirty=!0,&quot;contourWidth&quot;in t&amp;&amp;(this.contourWidth=s(t.contourWidth,Number)),&quot;showContour&quot;in t&amp;&amp;(this.showContour=s(t.showContour,Boolean)),&quot;showSurface&quot;in t&amp;&amp;(this.showSurface=!!t.showSurface),&quot;contourTint&quot;in t&amp;&amp;(this.contourTint=s(t.contourTint,Boolean)),&quot;contourColor&quot;in t&amp;&amp;(this.contourColor=c(t.contourColor)),&quot;contourProject&quot;in t&amp;&amp;(this.contourProject=s(t.contourProject,function(t){return s(t,Boolean)})),&quot;surfaceProject&quot;in t&amp;&amp;(this.surfaceProject=t.surfaceProject),&quot;dynamicColor&quot;in t&amp;&amp;(this.dynamicColor=c(t.dynamicColor)),&quot;dynamicTint&quot;in t&amp;&amp;(this.dynamicTint=s(t.dynamicTint,Number)),&quot;dynamicWidth&quot;in t&amp;&amp;(this.dynamicWidth=s(t.dynamicWidth,Number)),&quot;opacity&quot;in t&amp;&amp;(this.opacity=t.opacity),&quot;colorBounds&quot;in t&amp;&amp;(this.colorBounds=t.colorBounds),&quot;vertexColor&quot;in t&amp;&amp;(this.vertexColor=t.vertexColor?1:0);var e=t.field||t.coords&amp;&amp;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)),&quot;field&quot;in t||&quot;coords&quot;in t){var n=(e.shape[0]+2)*(e.shape[1]+2);n&gt;this._field[2].data.length&amp;&amp;(p.freeFloat(this._field[2].data),this._field[2].data=p.mallocFloat(u.nextPow2(n))),this._field[2]=y(this._field[2].data,[e.shape[0]+2,e.shape[1]+2]),o(this._field[2],e),this.shape=e.shape.slice();for(var i=this.shape,a=0;a&lt;2;++a)this._field[2].size&gt;this._field[a].data.length&amp;&amp;(p.freeFloat(this._field[a].data),this._field[a].data=p.mallocFloat(this._field[2].size)),this._field[a]=y(this._field[a].data,[i[0]+2,i[1]+2]);if(t.coords){var l=t.coords;if(!Array.isArray(l)||3!==l.length)throw new Error(&quot;gl-surface: invalid coordinates for x/y&quot;);for(a=0;a&lt;2;++a){var f=l[a];for(w=0;w&lt;2;++w)if(f.shape[w]!==i[w])throw new Error(&quot;gl-surface: coords have incorrect shape&quot;);o(this._field[a],f)}}else if(t.ticks){var h=t.ticks;if(!Array.isArray(h)||2!==h.length)throw new Error(&quot;gl-surface: invalid ticks&quot;);for(a=0;a&lt;2;++a){var d=h[a];if((Array.isArray(d)||d.length)&amp;&amp;(d=y(d)),d.shape[0]!==i[a])throw new Error(&quot;gl-surface: invalid tick length&quot;);var b=y(d.data,i);b.stride[a]=d.stride[0],b.stride[1^a]=0,o(this._field[a],b)}}else{for(a=0;a&lt;2;++a){var _=[0,0];_[a]=1,this._field[a]=y(this._field[a].data,[i[0]+2,i[1]+2],_,0)}this._field[0].set(0,0,0);for(var w=0;w&lt;i[0];++w)this._field[0].set(w+1,0,w);for(this._field[0].set(i[0]+1,0,i[0]-1),this._field[1].set(0,0,0),w=0;w&lt;i[1];++w)this._field[1].set(0,w+1,w);this._field[1].set(0,i[1]+1,i[1]-1)}var k=this._field,A=y(p.mallocFloat(3*k[2].size*2),[3,i[0]+2,i[1]+2,2]);for(a=0;a&lt;3;++a)M(A.pick(a),k[a],&quot;mirror&quot;);var T=y(p.mallocFloat(3*k[2].size),[i[0]+2,i[1]+2,3]);for(a=0;a&lt;i[0]+2;++a)for(w=0;w&lt;i[1]+2;++w){var S=A.get(0,a,w,0),E=A.get(0,a,w,1),L=A.get(1,a,w,0),C=A.get(1,a,w,1),D=A.get(2,a,w,0),P=A.get(2,a,w,1),O=L*P-C*D,F=D*E-P*S,R=S*C-E*L,N=Math.sqrt(O*O+F*F+R*R);N&lt;1e-8?(N=Math.max(Math.abs(O),Math.abs(F),Math.abs(R)))&lt;1e-8?(R=1,F=O=0,N=1):N=1/N:N=1/Math.sqrt(N),T.set(a,w,0,O*N),T.set(a,w,1,F*N),T.set(a,w,2,R*N)}p.free(A.data);var j=[1/0,1/0,1/0],B=[-1/0,-1/0,-1/0],U=1/0,V=-1/0,q=(i[0]-1)*(i[1]-1)*6,H=p.mallocFloat(u.nextPow2(10*q)),G=0,Y=0;for(a=0;a&lt;i[0]-1;++a)t:for(w=0;w&lt;i[1]-1;++w){for(var W=0;W&lt;2;++W)for(var X=0;X&lt;2;++X)for(var Z=0;Z&lt;3;++Z){var J=this._field[Z].get(1+a+W,1+w+X);if(isNaN(J)||!isFinite(J))continue t}for(Z=0;Z&lt;6;++Z){var K=a+z[Z][0],Q=w+z[Z][1],$=this._field[0].get(K+1,Q+1),tt=this._field[1].get(K+1,Q+1),et=J=this._field[2].get(K+1,Q+1);O=T.get(K+1,Q+1,0),F=T.get(K+1,Q+1,1),R=T.get(K+1,Q+1,2),t.intensity&amp;&amp;(et=t.intensity.get(K,Q)),H[G++]=K,H[G++]=Q,H[G++]=$,H[G++]=tt,H[G++]=J,H[G++]=0,H[G++]=et,H[G++]=O,H[G++]=F,H[G++]=R,j[0]=Math.min(j[0],$),j[1]=Math.min(j[1],tt),j[2]=Math.min(j[2],J),U=Math.min(U,et),B[0]=Math.max(B[0],$),B[1]=Math.max(B[1],tt),B[2]=Math.max(B[2],J),V=Math.max(V,et),Y+=1}}for(t.intensityBounds&amp;&amp;(U=+t.intensityBounds[0],V=+t.intensityBounds[1]),a=6;a&lt;G;a+=10)H[a]=(H[a]-U)/(V-U);this._vertexCount=Y,this._coordinateBuffer.update(H.subarray(0,G)),p.freeFloat(H),p.free(T.data),this.bounds=[j,B],this.intensity=t.intensity||this._field[2],this.intensityBounds[0]===U&amp;&amp;this.intensityBounds[1]===V||(r=!0),this.intensityBounds=[U,V]}if(&quot;levels&quot;in t){var rt=t.levels;for(rt=Array.isArray(rt[0])?rt.slice():[[],[],rt],a=0;a&lt;3;++a)rt[a]=rt[a].slice(),rt.sort(function(t,e){return t-e});t:for(a=0;a&lt;3;++a){if(rt[a].length!==this.contourLevels[a].length){r=!0;break}for(w=0;w&lt;rt[a].length;++w)if(rt[a][w]!==this.contourLevels[a][w]){r=!0;break t}}this.contourLevels=rt}if(r){k=this._field,i=this.shape;for(var nt=[],it=0;it&lt;3;++it){rt=this.contourLevels[it];var at=[],ot=[],st=[0,0,0];for(a=0;a&lt;rt.length;++a){var lt=x(this._field[it],rt[a]);at.push(nt.length/5|0),Y=0;t:for(w=0;w&lt;lt.cells.length;++w){var ct=lt.cells[w];for(Z=0;Z&lt;2;++Z){var ut=lt.positions[ct[Z]],ft=ut[0],ht=0|Math.floor(ft),dt=ft-ht,pt=ut[1],mt=0|Math.floor(pt),gt=pt-mt,vt=!1;e:for(var yt=0;yt&lt;3;++yt){st[yt]=0;var xt=(it+yt+1)%3;for(W=0;W&lt;2;++W){var bt=W?dt:1-dt;for(K=0|Math.min(Math.max(ht+W,0),i[0]),X=0;X&lt;2;++X){var _t=X?gt:1-gt;if(Q=0|Math.min(Math.max(mt+X,0),i[1]),J=yt&lt;2?this._field[xt].get(K,Q):(this.intensity.get(K,Q)-this.intensityBounds[0])/(this.intensityBounds[1]-this.intensityBounds[0]),!isFinite(J)||isNaN(J)){vt=!0;break e}var wt=bt*_t;st[yt]+=wt*J}}}if(vt){if(Z&gt;0){for(var Mt=0;Mt&lt;5;++Mt)nt.pop();Y-=1}continue t}nt.push(st[0],st[1],ut[0],ut[1],st[2]),Y+=1}}ot.push(Y)}this._contourOffsets[it]=at,this._contourCounts[it]=ot}var kt=p.mallocFloat(nt.length);for(a=0;a&lt;nt.length;++a)kt[a]=nt[a];this._contourBuffer.update(kt),p.freeFloat(kt)}t.colormap&amp;&amp;this._colorMap.setPixels(function(t){var e=v([m({colormap:t,nshades:I,format:&quot;rgba&quot;}).map(function(t){return[t[0],t[1],t[2],255*t[3]]})]);return g.divseq(e,255),e}(t.colormap))},P.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&lt;3;++t)p.freeFloat(this._field[t].data)},P.highlight=function(t){if(!t)return this._dynamicCounts=[0,0,0],this.dyanamicLevel=[NaN,NaN,NaN],void(this.highlightLevel=[-1,-1,-1]);for(var e=0;e&lt;3;++e)this.enableHighlight[e]?this.highlightLevel[e]=t.level[e]:this.highlightLevel[e]=-1;var r;if(r=this.snapToData?t.dataCoordinate:t.position,this.enableDynamic[0]&amp;&amp;r[0]!==this.dynamicLevel[0]||this.enableDynamic[1]&amp;&amp;r[1]!==this.dynamicLevel[1]||this.enableDynamic[2]&amp;&amp;r[2]!==this.dynamicLevel[2]){for(var n=0,i=this.shape,a=p.mallocFloat(12*i[0]*i[1]),o=0;o&lt;3;++o)if(this.enableDynamic[o]){this.dynamicLevel[o]=r[o];var s=(o+1)%3,l=(o+2)%3,c=this._field[o],u=this._field[s],f=this._field[l],h=(this.intensity,x(c,r[o])),d=h.cells,m=h.positions;for(this._dynamicOffsets[o]=n,e=0;e&lt;d.length;++e)for(var g=d[e],v=0;v&lt;2;++v){var y=m[g[v]],b=+y[0],_=0|b,w=0|Math.min(_+1,i[0]),M=b-_,k=1-M,A=+y[1],T=0|A,S=0|Math.min(T+1,i[1]),E=A-T,L=1-E,C=k*L,z=k*E,D=M*L,I=M*E,P=C*u.get(_,T)+z*u.get(_,S)+D*u.get(w,T)+I*u.get(w,S),O=C*f.get(_,T)+z*f.get(_,S)+D*f.get(w,T)+I*f.get(w,S);if(isNaN(P)||isNaN(O)){v&amp;&amp;(n-=1);break}a[2*n+0]=P,a[2*n+1]=O,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)),p.freeFloat(a)}}},{&quot;./lib/shaders&quot;:253,&quot;binary-search-bounds&quot;:70,&quot;bit-twiddle&quot;:71,colormap:105,&quot;gl-buffer&quot;:165,&quot;gl-mat4/invert&quot;:186,&quot;gl-mat4/multiply&quot;:188,&quot;gl-texture2d&quot;:255,&quot;gl-vao&quot;:259,ndarray:458,&quot;ndarray-gradient&quot;:449,&quot;ndarray-ops&quot;:452,&quot;ndarray-pack&quot;:453,&quot;surface-nets&quot;:540,&quot;typedarray-pool&quot;:554}],255:[function(t,e,r){&quot;use strict&quot;;function n(t){return&quot;undefined&quot;!=typeof HTMLCanvasElement&amp;&amp;t instanceof HTMLCanvasElement||&quot;undefined&quot;!=typeof HTMLImageElement&amp;&amp;t instanceof HTMLImageElement||&quot;undefined&quot;!=typeof HTMLVideoElement&amp;&amp;t instanceof HTMLVideoElement||&quot;undefined&quot;!=typeof ImageData&amp;&amp;t instanceof ImageData}function i(t,e,r){var n=t.gl,i=n.getParameter(n.MAX_TEXTURE_SIZE);if(e&lt;0||e&gt;i||r&lt;0||r&gt;i)throw new Error(&quot;gl-texture2d: Invalid texture size&quot;);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 a(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}function o(t,e){return 3===t.length?1===e[2]&amp;&amp;e[1]===t[0]*t[2]&amp;&amp;e[0]===t[2]:1===e[0]&amp;&amp;e[1]===t[0]}function s(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 l(t,e,r,n,i){var o=t.getParameter(t.MAX_TEXTURE_SIZE);if(e&lt;0||e&gt;o||r&lt;0||r&gt;o)throw new Error(&quot;gl-texture2d: Invalid texture shape&quot;);if(i===t.FLOAT&amp;&amp;!t.getExtension(&quot;OES_texture_float&quot;))throw new Error(&quot;gl-texture2d: Floating point textures not supported on this platform&quot;);var l=s(t);return t.texImage2D(t.TEXTURE_2D,0,n,e,r,0,n,i,null),new a(t,l,e,r,n,i)}var c=t(&quot;ndarray&quot;),u=t(&quot;ndarray-ops&quot;),f=t(&quot;typedarray-pool&quot;);e.exports=function(t){if(arguments.length&lt;=1)throw new Error(&quot;gl-texture2d: Missing arguments for texture2d constructor&quot;);if(h||function(t){h=[t.LINEAR,t.NEAREST_MIPMAP_LINEAR,t.LINEAR_MIPMAP_NEAREST,t.LINEAR_MIPMAP_NEAREST],d=[t.NEAREST,t.LINEAR,t.NEAREST_MIPMAP_NEAREST,t.NEAREST_MIPMAP_LINEAR,t.LINEAR_MIPMAP_NEAREST,t.LINEAR_MIPMAP_LINEAR],p=[t.REPEAT,t.CLAMP_TO_EDGE,t.MIRRORED_REPEAT]}(t),&quot;number&quot;==typeof arguments[1])return l(t,arguments[1],arguments[2],arguments[3]||t.RGBA,arguments[4]||t.UNSIGNED_BYTE);if(Array.isArray(arguments[1]))return l(t,0|arguments[1][0],0|arguments[1][1],arguments[2]||t.RGBA,arguments[3]||t.UNSIGNED_BYTE);if(&quot;object&quot;==typeof arguments[1]){var e=arguments[1],r=n(e)?e:e.raw;if(r)return function(t,e,r,n,i,o){var l=s(t);return t.texImage2D(t.TEXTURE_2D,0,i,i,o,e),new a(t,l,r,n,i,o)}(t,r,0|e.width,0|e.height,arguments[2]||t.RGBA,arguments[3]||t.UNSIGNED_BYTE);if(e.shape&amp;&amp;e.data&amp;&amp;e.stride)return function(t,e){var r=e.dtype,n=e.shape.slice(),i=t.getParameter(t.MAX_TEXTURE_SIZE);if(n[0]&lt;0||n[0]&gt;i||n[1]&lt;0||n[1]&gt;i)throw new Error(&quot;gl-texture2d: Invalid texture size&quot;);var l=o(n,e.stride.slice()),h=0;&quot;float32&quot;===r?h=t.FLOAT:&quot;float64&quot;===r?(h=t.FLOAT,l=!1,r=&quot;float32&quot;):&quot;uint8&quot;===r?h=t.UNSIGNED_BYTE:(h=t.UNSIGNED_BYTE,l=!1,r=&quot;uint8&quot;);var d=0;if(2===n.length)d=t.LUMINANCE,n=[n[0],n[1],1],e=c(e.data,n,[e.stride[0],e.stride[1],1],e.offset);else{if(3!==n.length)throw new Error(&quot;gl-texture2d: Invalid shape for texture&quot;);if(1===n[2])d=t.ALPHA;else if(2===n[2])d=t.LUMINANCE_ALPHA;else if(3===n[2])d=t.RGB;else{if(4!==n[2])throw new Error(&quot;gl-texture2d: Invalid shape for pixel coords&quot;);d=t.RGBA}}h!==t.FLOAT||t.getExtension(&quot;OES_texture_float&quot;)||(h=t.UNSIGNED_BYTE,l=!1);var p,g,v=e.size;if(l)p=0===e.offset&amp;&amp;e.data.length===v?e.data:e.data.subarray(e.offset,e.offset+v);else{var y=[n[2],n[2]*n[0],1];g=f.malloc(v,r);var x=c(g,n,y,0);&quot;float32&quot;!==r&amp;&amp;&quot;float64&quot;!==r||h!==t.UNSIGNED_BYTE?u.assign(x,e):m(x,e),p=g.subarray(0,v)}var b=s(t);return t.texImage2D(t.TEXTURE_2D,0,d,n[0],n[1],0,d,h,p),l||f.free(g),new a(t,b,n[0],n[1],d,h)}(t,e)}throw new Error(&quot;gl-texture2d: Invalid arguments for texture2d constructor&quot;)};var h=null,d=null,p=null,m=function(t,e){u.muls(t,e,255)},g=a.prototype;Object.defineProperties(g,{minFilter:{get:function(){return this._minFilter},set:function(t){this.bind();var e=this.gl;if(this.type===e.FLOAT&amp;&amp;h.indexOf(t)&gt;=0&amp;&amp;(e.getExtension(&quot;OES_texture_float_linear&quot;)||(t=e.NEAREST)),d.indexOf(t)&lt;0)throw new Error(&quot;gl-texture2d: Unknown filter mode &quot;+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&amp;&amp;h.indexOf(t)&gt;=0&amp;&amp;(e.getExtension(&quot;OES_texture_float_linear&quot;)||(t=e.NEAREST)),d.indexOf(t)&lt;0)throw new Error(&quot;gl-texture2d: Unknown filter mode &quot;+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(&quot;EXT_texture_filter_anisotropic&quot;);r&amp;&amp;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(),p.indexOf(t)&lt;0)throw new Error(&quot;gl-texture2d: Unknown wrap mode &quot;+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(),p.indexOf(t)&lt;0)throw new Error(&quot;gl-texture2d: Unknown wrap mode &quot;+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(&quot;gl-texture2d: Must specify wrap mode for rows and columns&quot;);for(var e=0;e&lt;2;++e)if(p.indexOf(t[e])&lt;0)throw new Error(&quot;gl-texture2d: Unknown wrap mode &quot;+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(&quot;gl-texture2d: Invalid texture shape&quot;)}else t=[0|t,0|t];return i(this,0|t[0],0|t[1]),[0|t[0],0|t[1]]}},width:{get:function(){return this._shape[0]},set:function(t){return t|=0,i(this,t,this._shape[1]),t}},height:{get:function(){return this._shape[1]},set:function(t){return t|=0,i(this,this._shape[0],t),t}}}),g.bind=function(t){var e=this.gl;return void 0!==t&amp;&amp;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},g.dispose=function(){this.gl.deleteTexture(this.handle)},g.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&gt;0;++e,t&gt;&gt;&gt;=1)this._mipLevels.indexOf(e)&lt;0&amp;&amp;this._mipLevels.push(e)},g.setPixels=function(t,e,r,i){var a=this.gl;this.bind(),Array.isArray(e)?(i=r,r=0|e[1],e=0|e[0]):(e=e||0,r=r||0),i=i||0;var s=n(t)?t:t.raw;if(s){this._mipLevels.indexOf(i)&lt;0?(a.texImage2D(a.TEXTURE_2D,0,this.format,this.format,this.type,s),this._mipLevels.push(i)):a.texSubImage2D(a.TEXTURE_2D,i,e,r,this.format,this.type,s)}else{if(!(t.shape&amp;&amp;t.stride&amp;&amp;t.data))throw new Error(&quot;gl-texture2d: Unsupported data type&quot;);if(t.shape.length&lt;2||e+t.shape[1]&gt;this._shape[1]&gt;&gt;&gt;i||r+t.shape[0]&gt;this._shape[0]&gt;&gt;&gt;i||e&lt;0||r&lt;0)throw new Error(&quot;gl-texture2d: Texture dimensions are out of bounds&quot;);!function(t,e,r,n,i,a,s,l){var h=l.dtype,d=l.shape.slice();if(d.length&lt;2||d.length&gt;3)throw new Error(&quot;gl-texture2d: Invalid ndarray, must be 2d or 3d&quot;);var p=0,g=0,v=o(d,l.stride.slice());if(&quot;float32&quot;===h?p=t.FLOAT:&quot;float64&quot;===h?(p=t.FLOAT,v=!1,h=&quot;float32&quot;):&quot;uint8&quot;===h?p=t.UNSIGNED_BYTE:(p=t.UNSIGNED_BYTE,v=!1,h=&quot;uint8&quot;),2===d.length)g=t.LUMINANCE,d=[d[0],d[1],1],l=c(l.data,d,[l.stride[0],l.stride[1],1],l.offset);else{if(3!==d.length)throw new Error(&quot;gl-texture2d: Invalid shape for texture&quot;);if(1===d[2])g=t.ALPHA;else if(2===d[2])g=t.LUMINANCE_ALPHA;else if(3===d[2])g=t.RGB;else{if(4!==d[2])throw new Error(&quot;gl-texture2d: Invalid shape for pixel coords&quot;);g=t.RGBA}d[2]}if(g!==t.LUMINANCE&amp;&amp;g!==t.ALPHA||i!==t.LUMINANCE&amp;&amp;i!==t.ALPHA||(g=i),g!==i)throw new Error(&quot;gl-texture2d: Incompatible texture format for setPixels&quot;);var y=l.size,x=s.indexOf(n)&lt;0;if(x&amp;&amp;s.push(n),p===a&amp;&amp;v)0===l.offset&amp;&amp;l.data.length===y?x?t.texImage2D(t.TEXTURE_2D,n,i,d[0],d[1],0,i,a,l.data):t.texSubImage2D(t.TEXTURE_2D,n,e,r,d[0],d[1],i,a,l.data):x?t.texImage2D(t.TEXTURE_2D,n,i,d[0],d[1],0,i,a,l.data.subarray(l.offset,l.offset+y)):t.texSubImage2D(t.TEXTURE_2D,n,e,r,d[0],d[1],i,a,l.data.subarray(l.offset,l.offset+y));else{var b;b=a===t.FLOAT?f.mallocFloat32(y):f.mallocUint8(y);var _=c(b,d,[d[2],d[2]*d[0],1]);p===t.FLOAT&amp;&amp;a===t.UNSIGNED_BYTE?m(_,l):u.assign(_,l),x?t.texImage2D(t.TEXTURE_2D,n,i,d[0],d[1],0,i,a,b.subarray(0,y)):t.texSubImage2D(t.TEXTURE_2D,n,e,r,d[0],d[1],i,a,b.subarray(0,y)),a===t.FLOAT?f.freeFloat32(b):f.freeUint8(b)}}(a,e,r,i,this.format,this.type,this._mipLevels,t)}}},{ndarray:458,&quot;ndarray-ops&quot;:452,&quot;typedarray-pool&quot;:554}],256:[function(t,e,r){&quot;use strict&quot;;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&gt;n)throw new Error(&quot;gl-vao: Too many vertex attributes&quot;);for(var i=0;i&lt;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(&quot;number&quot;==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(&quot;gl-vao: Invalid vertex attribute&quot;);t.vertexAttrib4f(i,a[0],a[1],a[2],a[3])}t.disableVertexAttribArray(i)}}for(;i&lt;n;++i)t.disableVertexAttribArray(i)}else for(t.bindBuffer(t.ARRAY_BUFFER,null),i=0;i&lt;n;++i)t.disableVertexAttribArray(i)}},{}],257:[function(t,e,r){&quot;use strict&quot;;function n(t){this.gl=t,this._elements=null,this._attributes=null,this._elementsType=t.UNSIGNED_SHORT}var i=t(&quot;./do-bind.js&quot;);n.prototype.bind=function(){i(this.gl,this._elements,this._attributes)},n.prototype.update=function(t,e,r){this._elements=e,this._attributes=t,this._elementsType=r||this.gl.UNSIGNED_SHORT},n.prototype.dispose=function(){},n.prototype.unbind=function(){},n.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 n(t)}},{&quot;./do-bind.js&quot;:256}],258:[function(t,e,r){&quot;use strict&quot;;function n(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 i(t,e,r){this.gl=t,this._ext=e,this.handle=r,this._attribs=[],this._useElements=!1,this._elementsType=t.UNSIGNED_SHORT}var a=t(&quot;./do-bind.js&quot;);n.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)}},i.prototype.bind=function(){this._ext.bindVertexArrayOES(this.handle);for(var t=0;t&lt;this._attribs.length;++t)this._attribs[t].bind(this.gl)},i.prototype.unbind=function(){this._ext.bindVertexArrayOES(null)},i.prototype.dispose=function(){this._ext.deleteVertexArrayOES(this.handle)},i.prototype.update=function(t,e,r){if(this.bind(),a(this.gl,e,t),this.unbind(),this._attribs.length=0,t)for(var i=0;i&lt;t.length;++i){var o=t[i];&quot;number&quot;==typeof o?this._attribs.push(new n(i,1,o)):Array.isArray(o)&amp;&amp;this._attribs.push(new n(i,o.length,o[0],o[1],o[2],o[3]))}this._useElements=!!e,this._elementsType=r||this.gl.UNSIGNED_SHORT},i.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 i(t,e,e.createVertexArrayOES())}},{&quot;./do-bind.js&quot;:256}],259:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;./lib/vao-native.js&quot;),i=t(&quot;./lib/vao-emulated.js&quot;);e.exports=function(t,e,r,a){var o,s=t.createVertexArray?new function(t){this.bindVertexArrayOES=t.bindVertexArray.bind(t),this.createVertexArrayOES=t.createVertexArray.bind(t),this.deleteVertexArrayOES=t.deleteVertexArray.bind(t)}(t):t.getExtension(&quot;OES_vertex_array_object&quot;);return(o=s?n(t,s):i(t)).update(e,r,a),o}},{&quot;./lib/vao-emulated.js&quot;:257,&quot;./lib/vao-native.js&quot;:258}],260:[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}},{}],261:[function(t,e,r){e.exports=function(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]}},{}],262:[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)}},{}],263:[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}},{}],264:[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;return a&gt;0&amp;&amp;(a=1/Math.sqrt(a),t[0]=e[0]*a,t[1]=e[1]*a,t[2]=e[2]*a),t}},{}],265:[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}},{}],266:[function(t,e,r){e.exports=function(t,e,r,a){return n[0]=a,n[1]=r,n[2]=e,n[3]=t,i[0]};var n=new Uint8Array(4),i=new Float32Array(n.buffer)},{}],267:[function(t,e,r){var n=t(&quot;glsl-tokenizer&quot;),i=t(&quot;atob-lite&quot;);e.exports=function(t){for(var e=Array.isArray(t)?t:n(t),r=0;r&lt;e.length;r++){var a=e[r];if(&quot;preprocessor&quot;===a.type){var o=a.data.match(/\#define\s+SHADER_NAME(_B64)?\s+(.+)$/);if(o&amp;&amp;o[2]){var s=o[1],l=o[2];return(s?i(l):l).trim()}}}}},{&quot;atob-lite&quot;:52,&quot;glsl-tokenizer&quot;:274}],268:[function(t,e,r){e.exports=function(t){function e(t){t.length&amp;&amp;D.push({type:w[C],data:t,position:O,line:I,column:P})}function r(t){E=0,S=(N+=t).length;for(var r;A=N[E],E&lt;S;){switch(r=E,C){case u:E=&quot;/&quot;===A&amp;&amp;&quot;*&quot;===T?(z.push(A),e(z.join(&quot;&quot;)),C=l,E+1):(z.push(A),T=A,E+1);break;case f:case h:E=M();break;case d:E=function(){if(&quot;.&quot;===T&amp;&amp;/\d/.test(A))return C=m,E;if(&quot;/&quot;===T&amp;&amp;&quot;*&quot;===A)return C=u,E;if(&quot;/&quot;===T&amp;&amp;&quot;/&quot;===A)return C=f,E;if(&quot;.&quot;===A&amp;&amp;z.length){for(;k(z););return C=m,E}if(&quot;;&quot;===A||&quot;)&quot;===A||&quot;(&quot;===A){if(z.length)for(;k(z););return e(A),C=l,E+1}var t=2===z.length&amp;&amp;&quot;=&quot;!==A;if(/[\w_\d\s]/.test(A)||t){for(;k(z););return C=l,E}return z.push(A),T=A,E+1}();break;case p:E=&quot;.&quot;===A?(z.push(A),C=m,T=A,E+1):/[eE]/.test(A)?(z.push(A),C=m,T=A,E+1):&quot;x&quot;===A&amp;&amp;1===z.length&amp;&amp;&quot;0&quot;===z[0]?(C=_,z.push(A),T=A,E+1):/[^\d]/.test(A)?(e(z.join(&quot;&quot;)),C=l,E):(z.push(A),T=A,E+1);break;case _:E=/[^a-fA-F0-9]/.test(A)?(e(z.join(&quot;&quot;)),C=l,E):(z.push(A),T=A,E+1);break;case m:&quot;f&quot;===A&amp;&amp;(z.push(A),T=A,E+=1),E=/[eE]/.test(A)?(z.push(A),T=A,E+1):&quot;-&quot;===A&amp;&amp;/[eE]/.test(T)?(z.push(A),T=A,E+1):/[^\d]/.test(A)?(e(z.join(&quot;&quot;)),C=l,E):(z.push(A),T=A,E+1);break;case c:E=function(){if(/[^\d\w_]/.test(A)){var t=z.join(&quot;&quot;);return C=B.indexOf(t)&gt;-1?y:j.indexOf(t)&gt;-1?v:g,e(z.join(&quot;&quot;)),C=l,E}return z.push(A),T=A,E+1}();break;case x:E=/[^\s]/g.test(A)?(e(z.join(&quot;&quot;)),C=l,E):(z.push(A),T=A,E+1);break;case l:z=z.length?[]:z,E=&quot;/&quot;===T&amp;&amp;&quot;*&quot;===A?(O=L+E-1,C=u,T=A,E+1):&quot;/&quot;===T&amp;&amp;&quot;/&quot;===A?(O=L+E-1,C=f,T=A,E+1):&quot;#&quot;===A?(C=h,O=L+E,E):/\s/.test(A)?(C=x,O=L+E,E):(F=/\d/.test(A),R=/[^\w_]/.test(A),O=L+E,C=F?p:R?d:c,E)}if(r!==E)switch(N[r]){case&quot;\n&quot;:P=0,++I;break;default:++P}}return L+=E,N=N.slice(E),D}function M(){return&quot;\r&quot;!==A&amp;&amp;&quot;\n&quot;!==A||&quot;\\&quot;===T?(z.push(A),T=A,E+1):(e(z.join(&quot;&quot;)),C=l,E)}function k(t){for(var r,n,a=0;;){if(r=i.indexOf(t.slice(0,t.length+a).join(&quot;&quot;)),n=i[r],-1===r){if(a--+t.length&gt;0)continue;n=t.slice(0,1).join(&quot;&quot;)}return e(n),O+=n.length,(z=z.slice(n.length)).length}}var A,T,S,E=0,L=0,C=l,z=[],D=[],I=1,P=0,O=0,F=!1,R=!1,N=&quot;&quot;,j=a,B=n;return&quot;300 es&quot;===(t=t||{}).version&amp;&amp;(j=s,B=o),function(t){return D=[],null!==t?r(t.replace?t.replace(/\r\n/g,&quot;\n&quot;):t):(z.length&amp;&amp;e(z.join(&quot;&quot;)),C=b,e(&quot;(eof)&quot;),D)}};var n=t(&quot;./lib/literals&quot;),i=t(&quot;./lib/operators&quot;),a=t(&quot;./lib/builtins&quot;),o=t(&quot;./lib/literals-300es&quot;),s=t(&quot;./lib/builtins-300es&quot;),l=999,c=9999,u=0,f=1,h=2,d=3,p=4,m=5,g=6,v=7,y=8,x=9,b=10,_=11,w=[&quot;block-comment&quot;,&quot;line-comment&quot;,&quot;preprocessor&quot;,&quot;operator&quot;,&quot;integer&quot;,&quot;float&quot;,&quot;ident&quot;,&quot;builtin&quot;,&quot;keyword&quot;,&quot;whitespace&quot;,&quot;eof&quot;,&quot;integer&quot;]},{&quot;./lib/builtins&quot;:270,&quot;./lib/builtins-300es&quot;:269,&quot;./lib/literals&quot;:272,&quot;./lib/literals-300es&quot;:271,&quot;./lib/operators&quot;:273}],269:[function(t,e,r){var n=t(&quot;./builtins&quot;);n=n.slice().filter(function(t){return!/^(gl\_|texture)/.test(t)}),e.exports=n.concat([&quot;gl_VertexID&quot;,&quot;gl_InstanceID&quot;,&quot;gl_Position&quot;,&quot;gl_PointSize&quot;,&quot;gl_FragCoord&quot;,&quot;gl_FrontFacing&quot;,&quot;gl_FragDepth&quot;,&quot;gl_PointCoord&quot;,&quot;gl_MaxVertexAttribs&quot;,&quot;gl_MaxVertexUniformVectors&quot;,&quot;gl_MaxVertexOutputVectors&quot;,&quot;gl_MaxFragmentInputVectors&quot;,&quot;gl_MaxVertexTextureImageUnits&quot;,&quot;gl_MaxCombinedTextureImageUnits&quot;,&quot;gl_MaxTextureImageUnits&quot;,&quot;gl_MaxFragmentUniformVectors&quot;,&quot;gl_MaxDrawBuffers&quot;,&quot;gl_MinProgramTexelOffset&quot;,&quot;gl_MaxProgramTexelOffset&quot;,&quot;gl_DepthRangeParameters&quot;,&quot;gl_DepthRange&quot;,&quot;trunc&quot;,&quot;round&quot;,&quot;roundEven&quot;,&quot;isnan&quot;,&quot;isinf&quot;,&quot;floatBitsToInt&quot;,&quot;floatBitsToUint&quot;,&quot;intBitsToFloat&quot;,&quot;uintBitsToFloat&quot;,&quot;packSnorm2x16&quot;,&quot;unpackSnorm2x16&quot;,&quot;packUnorm2x16&quot;,&quot;unpackUnorm2x16&quot;,&quot;packHalf2x16&quot;,&quot;unpackHalf2x16&quot;,&quot;outerProduct&quot;,&quot;transpose&quot;,&quot;determinant&quot;,&quot;inverse&quot;,&quot;texture&quot;,&quot;textureSize&quot;,&quot;textureProj&quot;,&quot;textureLod&quot;,&quot;textureOffset&quot;,&quot;texelFetch&quot;,&quot;texelFetchOffset&quot;,&quot;textureProjOffset&quot;,&quot;textureLodOffset&quot;,&quot;textureProjLod&quot;,&quot;textureProjLodOffset&quot;,&quot;textureGrad&quot;,&quot;textureGradOffset&quot;,&quot;textureProjGrad&quot;,&quot;textureProjGradOffset&quot;])},{&quot;./builtins&quot;:270}],270:[function(t,e,r){e.exports=[&quot;abs&quot;,&quot;acos&quot;,&quot;all&quot;,&quot;any&quot;,&quot;asin&quot;,&quot;atan&quot;,&quot;ceil&quot;,&quot;clamp&quot;,&quot;cos&quot;,&quot;cross&quot;,&quot;dFdx&quot;,&quot;dFdy&quot;,&quot;degrees&quot;,&quot;distance&quot;,&quot;dot&quot;,&quot;equal&quot;,&quot;exp&quot;,&quot;exp2&quot;,&quot;faceforward&quot;,&quot;floor&quot;,&quot;fract&quot;,&quot;gl_BackColor&quot;,&quot;gl_BackLightModelProduct&quot;,&quot;gl_BackLightProduct&quot;,&quot;gl_BackMaterial&quot;,&quot;gl_BackSecondaryColor&quot;,&quot;gl_ClipPlane&quot;,&quot;gl_ClipVertex&quot;,&quot;gl_Color&quot;,&quot;gl_DepthRange&quot;,&quot;gl_DepthRangeParameters&quot;,&quot;gl_EyePlaneQ&quot;,&quot;gl_EyePlaneR&quot;,&quot;gl_EyePlaneS&quot;,&quot;gl_EyePlaneT&quot;,&quot;gl_Fog&quot;,&quot;gl_FogCoord&quot;,&quot;gl_FogFragCoord&quot;,&quot;gl_FogParameters&quot;,&quot;gl_FragColor&quot;,&quot;gl_FragCoord&quot;,&quot;gl_FragData&quot;,&quot;gl_FragDepth&quot;,&quot;gl_FragDepthEXT&quot;,&quot;gl_FrontColor&quot;,&quot;gl_FrontFacing&quot;,&quot;gl_FrontLightModelProduct&quot;,&quot;gl_FrontLightProduct&quot;,&quot;gl_FrontMaterial&quot;,&quot;gl_FrontSecondaryColor&quot;,&quot;gl_LightModel&quot;,&quot;gl_LightModelParameters&quot;,&quot;gl_LightModelProducts&quot;,&quot;gl_LightProducts&quot;,&quot;gl_LightSource&quot;,&quot;gl_LightSourceParameters&quot;,&quot;gl_MaterialParameters&quot;,&quot;gl_MaxClipPlanes&quot;,&quot;gl_MaxCombinedTextureImageUnits&quot;,&quot;gl_MaxDrawBuffers&quot;,&quot;gl_MaxFragmentUniformComponents&quot;,&quot;gl_MaxLights&quot;,&quot;gl_MaxTextureCoords&quot;,&quot;gl_MaxTextureImageUnits&quot;,&quot;gl_MaxTextureUnits&quot;,&quot;gl_MaxVaryingFloats&quot;,&quot;gl_MaxVertexAttribs&quot;,&quot;gl_MaxVertexTextureImageUnits&quot;,&quot;gl_MaxVertexUniformComponents&quot;,&quot;gl_ModelViewMatrix&quot;,&quot;gl_ModelViewMatrixInverse&quot;,&quot;gl_ModelViewMatrixInverseTranspose&quot;,&quot;gl_ModelViewMatrixTranspose&quot;,&quot;gl_ModelViewProjectionMatrix&quot;,&quot;gl_ModelViewProjectionMatrixInverse&quot;,&quot;gl_ModelViewProjectionMatrixInverseTranspose&quot;,&quot;gl_ModelViewProjectionMatrixTranspose&quot;,&quot;gl_MultiTexCoord0&quot;,&quot;gl_MultiTexCoord1&quot;,&quot;gl_MultiTexCoord2&quot;,&quot;gl_MultiTexCoord3&quot;,&quot;gl_MultiTexCoord4&quot;,&quot;gl_MultiTexCoord5&quot;,&quot;gl_MultiTexCoord6&quot;,&quot;gl_MultiTexCoord7&quot;,&quot;gl_Normal&quot;,&quot;gl_NormalMatrix&quot;,&quot;gl_NormalScale&quot;,&quot;gl_ObjectPlaneQ&quot;,&quot;gl_ObjectPlaneR&quot;,&quot;gl_ObjectPlaneS&quot;,&quot;gl_ObjectPlaneT&quot;,&quot;gl_Point&quot;,&quot;gl_PointCoord&quot;,&quot;gl_PointParameters&quot;,&quot;gl_PointSize&quot;,&quot;gl_Position&quot;,&quot;gl_ProjectionMatrix&quot;,&quot;gl_ProjectionMatrixInverse&quot;,&quot;gl_ProjectionMatrixInverseTranspose&quot;,&quot;gl_ProjectionMatrixTranspose&quot;,&quot;gl_SecondaryColor&quot;,&quot;gl_TexCoord&quot;,&quot;gl_TextureEnvColor&quot;,&quot;gl_TextureMatrix&quot;,&quot;gl_TextureMatrixInverse&quot;,&quot;gl_TextureMatrixInverseTranspose&quot;,&quot;gl_TextureMatrixTranspose&quot;,&quot;gl_Vertex&quot;,&quot;greaterThan&quot;,&quot;greaterThanEqual&quot;,&quot;inversesqrt&quot;,&quot;length&quot;,&quot;lessThan&quot;,&quot;lessThanEqual&quot;,&quot;log&quot;,&quot;log2&quot;,&quot;matrixCompMult&quot;,&quot;max&quot;,&quot;min&quot;,&quot;mix&quot;,&quot;mod&quot;,&quot;normalize&quot;,&quot;not&quot;,&quot;notEqual&quot;,&quot;pow&quot;,&quot;radians&quot;,&quot;reflect&quot;,&quot;refract&quot;,&quot;sign&quot;,&quot;sin&quot;,&quot;smoothstep&quot;,&quot;sqrt&quot;,&quot;step&quot;,&quot;tan&quot;,&quot;texture2D&quot;,&quot;texture2DLod&quot;,&quot;texture2DProj&quot;,&quot;texture2DProjLod&quot;,&quot;textureCube&quot;,&quot;textureCubeLod&quot;,&quot;texture2DLodEXT&quot;,&quot;texture2DProjLodEXT&quot;,&quot;textureCubeLodEXT&quot;,&quot;texture2DGradEXT&quot;,&quot;texture2DProjGradEXT&quot;,&quot;textureCubeGradEXT&quot;]},{}],271:[function(t,e,r){var n=t(&quot;./literals&quot;);e.exports=n.slice().concat([&quot;layout&quot;,&quot;centroid&quot;,&quot;smooth&quot;,&quot;case&quot;,&quot;mat2x2&quot;,&quot;mat2x3&quot;,&quot;mat2x4&quot;,&quot;mat3x2&quot;,&quot;mat3x3&quot;,&quot;mat3x4&quot;,&quot;mat4x2&quot;,&quot;mat4x3&quot;,&quot;mat4x4&quot;,&quot;uint&quot;,&quot;uvec2&quot;,&quot;uvec3&quot;,&quot;uvec4&quot;,&quot;samplerCubeShadow&quot;,&quot;sampler2DArray&quot;,&quot;sampler2DArrayShadow&quot;,&quot;isampler2D&quot;,&quot;isampler3D&quot;,&quot;isamplerCube&quot;,&quot;isampler2DArray&quot;,&quot;usampler2D&quot;,&quot;usampler3D&quot;,&quot;usamplerCube&quot;,&quot;usampler2DArray&quot;,&quot;coherent&quot;,&quot;restrict&quot;,&quot;readonly&quot;,&quot;writeonly&quot;,&quot;resource&quot;,&quot;atomic_uint&quot;,&quot;noperspective&quot;,&quot;patch&quot;,&quot;sample&quot;,&quot;subroutine&quot;,&quot;common&quot;,&quot;partition&quot;,&quot;active&quot;,&quot;filter&quot;,&quot;image1D&quot;,&quot;image2D&quot;,&quot;image3D&quot;,&quot;imageCube&quot;,&quot;iimage1D&quot;,&quot;iimage2D&quot;,&quot;iimage3D&quot;,&quot;iimageCube&quot;,&quot;uimage1D&quot;,&quot;uimage2D&quot;,&quot;uimage3D&quot;,&quot;uimageCube&quot;,&quot;image1DArray&quot;,&quot;image2DArray&quot;,&quot;iimage1DArray&quot;,&quot;iimage2DArray&quot;,&quot;uimage1DArray&quot;,&quot;uimage2DArray&quot;,&quot;image1DShadow&quot;,&quot;image2DShadow&quot;,&quot;image1DArrayShadow&quot;,&quot;image2DArrayShadow&quot;,&quot;imageBuffer&quot;,&quot;iimageBuffer&quot;,&quot;uimageBuffer&quot;,&quot;sampler1DArray&quot;,&quot;sampler1DArrayShadow&quot;,&quot;isampler1D&quot;,&quot;isampler1DArray&quot;,&quot;usampler1D&quot;,&quot;usampler1DArray&quot;,&quot;isampler2DRect&quot;,&quot;usampler2DRect&quot;,&quot;samplerBuffer&quot;,&quot;isamplerBuffer&quot;,&quot;usamplerBuffer&quot;,&quot;sampler2DMS&quot;,&quot;isampler2DMS&quot;,&quot;usampler2DMS&quot;,&quot;sampler2DMSArray&quot;,&quot;isampler2DMSArray&quot;,&quot;usampler2DMSArray&quot;])},{&quot;./literals&quot;:272}],272:[function(t,e,r){e.exports=[&quot;precision&quot;,&quot;highp&quot;,&quot;mediump&quot;,&quot;lowp&quot;,&quot;attribute&quot;,&quot;const&quot;,&quot;uniform&quot;,&quot;varying&quot;,&quot;break&quot;,&quot;continue&quot;,&quot;do&quot;,&quot;for&quot;,&quot;while&quot;,&quot;if&quot;,&quot;else&quot;,&quot;in&quot;,&quot;out&quot;,&quot;inout&quot;,&quot;float&quot;,&quot;int&quot;,&quot;void&quot;,&quot;bool&quot;,&quot;true&quot;,&quot;false&quot;,&quot;discard&quot;,&quot;return&quot;,&quot;mat2&quot;,&quot;mat3&quot;,&quot;mat4&quot;,&quot;vec2&quot;,&quot;vec3&quot;,&quot;vec4&quot;,&quot;ivec2&quot;,&quot;ivec3&quot;,&quot;ivec4&quot;,&quot;bvec2&quot;,&quot;bvec3&quot;,&quot;bvec4&quot;,&quot;sampler1D&quot;,&quot;sampler2D&quot;,&quot;sampler3D&quot;,&quot;samplerCube&quot;,&quot;sampler1DShadow&quot;,&quot;sampler2DShadow&quot;,&quot;struct&quot;,&quot;asm&quot;,&quot;class&quot;,&quot;union&quot;,&quot;enum&quot;,&quot;typedef&quot;,&quot;template&quot;,&quot;this&quot;,&quot;packed&quot;,&quot;goto&quot;,&quot;switch&quot;,&quot;default&quot;,&quot;inline&quot;,&quot;noinline&quot;,&quot;volatile&quot;,&quot;public&quot;,&quot;static&quot;,&quot;extern&quot;,&quot;external&quot;,&quot;interface&quot;,&quot;long&quot;,&quot;short&quot;,&quot;double&quot;,&quot;half&quot;,&quot;fixed&quot;,&quot;unsigned&quot;,&quot;input&quot;,&quot;output&quot;,&quot;hvec2&quot;,&quot;hvec3&quot;,&quot;hvec4&quot;,&quot;dvec2&quot;,&quot;dvec3&quot;,&quot;dvec4&quot;,&quot;fvec2&quot;,&quot;fvec3&quot;,&quot;fvec4&quot;,&quot;sampler2DRect&quot;,&quot;sampler3DRect&quot;,&quot;sampler2DRectShadow&quot;,&quot;sizeof&quot;,&quot;cast&quot;,&quot;namespace&quot;,&quot;using&quot;]},{}],273:[function(t,e,r){e.exports=[&quot;&lt;&lt;=&quot;,&quot;&gt;&gt;=&quot;,&quot;++&quot;,&quot;--&quot;,&quot;&lt;&lt;&quot;,&quot;&gt;&gt;&quot;,&quot;&lt;=&quot;,&quot;&gt;=&quot;,&quot;==&quot;,&quot;!=&quot;,&quot;&amp;&amp;&quot;,&quot;||&quot;,&quot;+=&quot;,&quot;-=&quot;,&quot;*=&quot;,&quot;/=&quot;,&quot;%=&quot;,&quot;&amp;=&quot;,&quot;^^&quot;,&quot;^=&quot;,&quot;|=&quot;,&quot;(&quot;,&quot;)&quot;,&quot;[&quot;,&quot;]&quot;,&quot;.&quot;,&quot;!&quot;,&quot;~&quot;,&quot;*&quot;,&quot;/&quot;,&quot;%&quot;,&quot;+&quot;,&quot;-&quot;,&quot;&lt;&quot;,&quot;&gt;&quot;,&quot;&amp;&quot;,&quot;^&quot;,&quot;|&quot;,&quot;?&quot;,&quot;:&quot;,&quot;=&quot;,&quot;,&quot;,&quot;;&quot;,&quot;{&quot;,&quot;}&quot;]},{}],274:[function(t,e,r){var n=t(&quot;./index&quot;);e.exports=function(t,e){var r=n(e),i=[];return i=i.concat(r(t)),i=i.concat(r(null))}},{&quot;./index&quot;:268}],275:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r){var n=this.cells=[];if(t instanceof ArrayBuffer){this.arrayBuffer=t;var a=new Int32Array(this.arrayBuffer);t=a[0],e=a[1],r=a[2],this.d=e+2*r;for(var o=0;o&lt;this.d*this.d;o++){var s=a[i+o],l=a[i+o+1];n.push(s===l?null:a.subarray(s,l))}var c=a[i+n.length],u=a[i+n.length+1];this.keys=a.subarray(c,u),this.bboxes=a.subarray(u),this.insert=this._insertReadonly}else{this.d=e+2*r;for(var f=0;f&lt;this.d*this.d;f++)n.push([]);this.keys=[],this.bboxes=[]}this.n=e,this.extent=t,this.padding=r,this.scale=e/t,this.uid=0;var h=r/e*t;this.min=-h,this.max=t+h}e.exports=n;var i=3;n.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)},n.prototype._insertReadonly=function(){throw&quot;Cannot insert into a GridIndex created from an ArrayBuffer.&quot;},n.prototype._insertCell=function(t,e,r,n,i,a){this.cells[i].push(a)},n.prototype.query=function(t,e,r,n){var i=this.min,a=this.max;if(t&lt;=i&amp;&amp;e&lt;=i&amp;&amp;a&lt;=r&amp;&amp;a&lt;=n)return Array.prototype.slice.call(this.keys);var o=[],s={};return this._forEachCell(t,e,r,n,this._queryCell,o,s),o},n.prototype._queryCell=function(t,e,r,n,i,a,o){var s=this.cells[i];if(null!==s)for(var l=this.keys,c=this.bboxes,u=0;u&lt;s.length;u++){var f=s[u];if(void 0===o[f]){var h=4*f;t&lt;=c[h+2]&amp;&amp;e&lt;=c[h+3]&amp;&amp;r&gt;=c[h+0]&amp;&amp;n&gt;=c[h+1]?(o[f]=!0,a.push(l[f])):o[f]=!1}}},n.prototype._forEachCell=function(t,e,r,n,i,a,o){for(var s=this._convertToCellCoord(t),l=this._convertToCellCoord(e),c=this._convertToCellCoord(r),u=this._convertToCellCoord(n),f=s;f&lt;=c;f++)for(var h=l;h&lt;=u;h++){var d=this.d*h+f;if(i.call(this,t,e,r,n,d,a,o))return}},n.prototype._convertToCellCoord=function(t){return Math.max(0,Math.min(this.d-1,Math.floor(t*this.scale)+this.padding))},n.prototype.toArrayBuffer=function(){if(this.arrayBuffer)return this.arrayBuffer;for(var t=this.cells,e=i+this.cells.length+1+1,r=0,n=0;n&lt;this.cells.length;n++)r+=this.cells[n].length;var a=new Int32Array(e+r+this.keys.length+this.bboxes.length);a[0]=this.extent,a[1]=this.n,a[2]=this.padding;for(var o=e,s=0;s&lt;t.length;s++){var l=t[s];a[i+s]=o,a.set(l,o),o+=l.length}return a[i+t.length]=o,a.set(this.keys,o),o+=this.keys.length,a[i+t.length+1]=o,a.set(this.bboxes,o),o+=this.bboxes.length,a.buffer}},{}],276:[function(t,e,r){(function(r){&quot;use strict&quot;;var n,i=t(&quot;is-browser&quot;);n=&quot;function&quot;==typeof r.matchMedia?!r.matchMedia(&quot;(hover: none)&quot;).matches:i,e.exports=n}).call(this,&quot;undefined&quot;!=typeof global?global:&quot;undefined&quot;!=typeof self?self:&quot;undefined&quot;!=typeof window?window:{})},{&quot;is-browser&quot;:282}],277:[function(t,e,r){r.read=function(t,e,r,n,i){var a,o,s=8*i-n-1,l=(1&lt;&lt;s)-1,c=l&gt;&gt;1,u=-7,f=r?i-1:0,h=r?-1:1,d=t[e+f];for(f+=h,a=d&amp;(1&lt;&lt;-u)-1,d&gt;&gt;=-u,u+=s;u&gt;0;a=256*a+t[e+f],f+=h,u-=8);for(o=a&amp;(1&lt;&lt;-u)-1,a&gt;&gt;=-u,u+=n;u&gt;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*(d?-1:1);o+=Math.pow(2,n),a-=c}return(d?-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&lt;&lt;c)-1,f=u&gt;&gt;1,h=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,d=n?0:a-1,p=n?1:-1,m=e&lt;0||0===e&amp;&amp;1/e&lt;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))&lt;1&amp;&amp;(o--,l*=2),(e+=o+f&gt;=1?h/l:h*Math.pow(2,1-f))*l&gt;=2&amp;&amp;(o++,l/=2),o+f&gt;=u?(s=0,o=u):o+f&gt;=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&gt;=8;t[r+d]=255&amp;s,d+=p,s/=256,i-=8);for(o=o&lt;&lt;i|s,c+=i;c&gt;0;t[r+d]=255&amp;o,d+=p,o/=256,c-=8);t[r+d-p]|=128*m}},{}],278:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r){this.vertices=t,this.adjacent=e,this.boundary=r,this.lastVisited=-1}function i(t,e,r){this.vertices=t,this.cell=e,this.index=r}function a(t,e){return l(t.vertices,e.vertices)}function o(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 n=0;n&lt;=t;++n)this.tuple[n]=this.vertices[n];var i=c[t];i||(i=c[t]=function(t){for(var e=[&quot;function orient(){var tuple=this.tuple;return test(&quot;],r=0;r&lt;=t;++r)r&gt;0&amp;&amp;e.push(&quot;,&quot;),e.push(&quot;tuple[&quot;,r,&quot;]&quot;);e.push(&quot;)}return orient&quot;);var n=new Function(&quot;test&quot;,e.join(&quot;&quot;)),i=s[t+1];return i||(i=s),n(i)}(t)),this.orient=i}e.exports=function(t,e){var r=t.length;if(0===r)throw new Error(&quot;Must have at least d+1 points&quot;);var i=t[0].length;if(r&lt;=i)throw new Error(&quot;Must input at least d+1 points&quot;);var a=t.slice(0,i+1),l=s.apply(void 0,a);if(0===l)throw new Error(&quot;Input not in general position&quot;);for(var c=new Array(i+1),u=0;u&lt;=i;++u)c[u]=u;l&lt;0&amp;&amp;(c[0]=1,c[1]=0);var f=new n(c,new Array(i+1),!1),h=f.adjacent,d=new Array(i+2);for(u=0;u&lt;=i;++u){for(var p=c.slice(),m=0;m&lt;=i;++m)m===u&amp;&amp;(p[m]=-1);var g=p[0];p[0]=p[1],p[1]=g;var v=new n(p,new Array(i+1),!0);h[u]=v,d[u]=v}for(d[i+1]=f,u=0;u&lt;=i;++u){p=h[u].vertices;var y=h[u].adjacent;for(m=0;m&lt;=i;++m){var x=p[m];if(x&lt;0)y[m]=f;else for(var b=0;b&lt;=i;++b)h[b].vertices.indexOf(x)&lt;0&amp;&amp;(y[m]=h[b])}}var _=new o(i,a,d),w=!!e;for(u=i+1;u&lt;r;++u)_.insert(t[u],w);return _.boundary()};var s=t(&quot;robust-orientation&quot;),l=t(&quot;simplicial-complex&quot;).compareCells;n.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 c=[],u=o.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&gt;0;){(t=o.pop()).vertices;for(var s=t.adjacent,l=0;l&lt;=r;++l){var c=s[l];if(c.boundary&amp;&amp;!(c.lastVisited&lt;=-n)){for(var u=c.vertices,f=0;f&lt;=r;++f){var h=u[f];i[f]=h&lt;0?e:a[h]}var d=this.orient();if(d&gt;0)return c;c.lastVisited=-n,0===d&amp;&amp;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&lt;=n;++u)a[u]=i[l[u]];s.lastVisited=r;for(u=0;u&lt;=n;++u){var f=c[u];if(!(f.lastVisited&gt;=r)){var h=a[u];a[u]=t;var d=this.orient();if(a[u]=h,d&lt;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,o=this.dimension,s=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&gt;0;){var d=(e=f.pop()).vertices,p=e.adjacent,m=d.indexOf(r);if(!(m&lt;0))for(var g=0;g&lt;=o;++g)if(g!==m){var v=p[g];if(v.boundary&amp;&amp;!(v.lastVisited&gt;=r)){var y=v.vertices;if(v.lastVisited!==-r){for(var x=0,b=0;b&lt;=o;++b)y[b]&lt;0?(x=b,l[b]=t):l[b]=s[y[b]];if(this.orient()&gt;0){y[x]=r,v.boundary=!1,c.push(v),f.push(v),v.lastVisited=r;continue}v.lastVisited=-r}var _=v.adjacent,w=d.slice(),M=p.slice(),k=new n(w,M,!0);u.push(k);var A=_.indexOf(e);if(!(A&lt;0)){_[A]=k,M[m]=v,w[g]=-1,M[g]=e,p[g]=k,k.flip();for(b=0;b&lt;=o;++b){var T=w[b];if(!(T&lt;0||T===r)){for(var S=new Array(o-1),E=0,L=0;L&lt;=o;++L){var C=w[L];C&lt;0||L===b||(S[E++]=C)}h.push(new i(S,k,b))}}}}}}h.sort(a);for(g=0;g+1&lt;h.length;g+=2){var z=h[g],D=h[g+1],I=z.index,P=D.index;I&lt;0||P&lt;0||(z.cell.adjacent[z.index]=D.cell,D.cell.adjacent[D.index]=z.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&lt;=i;++o){var s=n.vertices[o];a[o]=s&lt;0?t:r[s]}var l=this.orient(a);l&lt;0||(0!==l||(n=this.handleBoundaryDegeneracy(n,t)))&amp;&amp;this.addPeaks(t,n)}},u.boundary=function(){for(var t=this.dimension,e=[],r=this.simplices,n=r.length,i=0;i&lt;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&lt;=t;++u)s[u]&gt;=0?o[l++]=s[u]:c=1&amp;u;if(c===(1&amp;t)){var f=o[0];o[0]=o[1],o[1]=f}e.push(o)}}return e}},{&quot;robust-orientation&quot;:515,&quot;simplicial-complex&quot;:526}],279:[function(t,e,r){&quot;use strict&quot;;function n(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}function i(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 a(t,e){var r=p(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 o(t,e){var r=t.intervals([]);r.push(e),a(t,r)}function s(t,e){var r=t.intervals([]),n=r.indexOf(e);return n&lt;0?v:(r.splice(n,1),a(t,r),y)}function l(t,e,r){for(var n=0;n&lt;t.length&amp;&amp;t[n][0]&lt;=e;++n){var i=r(t[n]);if(i)return i}}function c(t,e,r){for(var n=t.length-1;n&gt;=0&amp;&amp;t[n][1]&gt;=e;--n){var i=r(t[n]);if(i)return i}}function u(t,e){for(var r=0;r&lt;t.length;++r){var n=e(t[r]);if(n)return n}}function f(t,e){return t-e}function h(t,e){var r=t[0]-e[0];return r||t[1]-e[1]}function d(t,e){var r=t[1]-e[1];return r||t[0]-e[0]}function p(t){if(0===t.length)return null;for(var e=[],r=0;r&lt;t.length;++r)e.push(t[r][0],t[r][1]);e.sort(f);var i=e[e.length&gt;&gt;1],a=[],o=[],s=[];for(r=0;r&lt;t.length;++r){var l=t[r];l[1]&lt;i?a.push(l):i&lt;l[0]?o.push(l):s.push(l)}var c=s,u=s.slice();return c.sort(h),u.sort(d),new n(i,p(a),p(o),c,u)}function m(t){this.root=t}var g=t(&quot;binary-search-bounds&quot;),v=0,y=1;e.exports=function(t){return new m(t&amp;&amp;0!==t.length?p(t):null)};var x=n.prototype;x.intervals=function(t){return t.push.apply(t,this.leftPoints),this.left&amp;&amp;this.left.intervals(t),this.right&amp;&amp;this.right.intervals(t),t},x.insert=function(t){var e=this.count-this.leftPoints.length;if(this.count+=1,t[1]&lt;this.mid)this.left?4*(this.left.count+1)&gt;3*(e+1)?o(this,t):this.left.insert(t):this.left=p([t]);else if(t[0]&gt;this.mid)this.right?4*(this.right.count+1)&gt;3*(e+1)?o(this,t):this.right.insert(t):this.right=p([t]);else{var r=g.ge(this.leftPoints,t,h),n=g.ge(this.rightPoints,t,d);this.leftPoints.splice(r,0,t),this.rightPoints.splice(n,0,t)}},x.remove=function(t){var e=this.count-this.leftPoints;if(t[1]&lt;this.mid){if(!this.left)return v;if(4*(this.right?this.right.count:0)&gt;3*(e-1))return s(this,t);return 2===(o=this.left.remove(t))?(this.left=null,this.count-=1,y):(o===y&amp;&amp;(this.count-=1),o)}if(t[0]&gt;this.mid){if(!this.right)return v;if(4*(this.left?this.left.count:0)&gt;3*(e-1))return s(this,t);return 2===(o=this.right.remove(t))?(this.right=null,this.count-=1,y):(o===y&amp;&amp;(this.count-=1),o)}if(1===this.count)return this.leftPoints[0]===t?2:v;if(1===this.leftPoints.length&amp;&amp;this.leftPoints[0]===t){if(this.left&amp;&amp;this.right){for(var r=this,n=this.left;n.right;)r=n,n=n.right;if(r===this)n.right=this.right;else{var a=this.left,o=this.right;r.count-=n.count,r.right=n.left,n.left=a,n.right=o}i(this,n),this.count=(this.left?this.left.count:0)+(this.right?this.right.count:0)+this.leftPoints.length}else this.left?i(this,this.left):i(this,this.right);return y}for(a=g.ge(this.leftPoints,t,h);a&lt;this.leftPoints.length&amp;&amp;this.leftPoints[a][0]===t[0];++a)if(this.leftPoints[a]===t){this.count-=1,this.leftPoints.splice(a,1);for(o=g.ge(this.rightPoints,t,d);o&lt;this.rightPoints.length&amp;&amp;this.rightPoints[o][1]===t[1];++o)if(this.rightPoints[o]===t)return this.rightPoints.splice(o,1),y}return v},x.queryPoint=function(t,e){if(t&lt;this.mid){if(this.left){if(r=this.left.queryPoint(t,e))return r}return l(this.leftPoints,t,e)}if(t&gt;this.mid){if(this.right){var r;if(r=this.right.queryPoint(t,e))return r}return c(this.rightPoints,t,e)}return u(this.leftPoints,e)},x.queryInterval=function(t,e,r){if(t&lt;this.mid&amp;&amp;this.left){if(n=this.left.queryInterval(t,e,r))return n}if(e&gt;this.mid&amp;&amp;this.right){var n;if(n=this.right.queryInterval(t,e,r))return n}return e&lt;this.mid?l(this.leftPoints,e,r):t&gt;this.mid?c(this.rightPoints,t,r):u(this.leftPoints,r)};var b=m.prototype;b.insert=function(t){this.root?this.root.insert(t):this.root=new n(t[0],null,null,[t],[t])},b.remove=function(t){if(this.root){var e=this.root.remove(t);return 2===e&amp;&amp;(this.root=null),e!==v}return!1},b.queryPoint=function(t,e){if(this.root)return this.root.queryPoint(t,e)},b.queryInterval=function(t,e,r){if(t&lt;=e&amp;&amp;this.root)return this.root.queryInterval(t,e,r)},Object.defineProperty(b,&quot;count&quot;,{get:function(){return this.root?this.root.count:0}}),Object.defineProperty(b,&quot;intervals&quot;,{get:function(){return this.root?this.root.intervals([]):[]}})},{&quot;binary-search-bounds&quot;:70}],280:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t,e){e=e||new Array(t.length);for(var r=0;r&lt;t.length;++r)e[t[r]]=r;return e}},{}],281:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t){for(var e=new Array(t),r=0;r&lt;t;++r)e[r]=r;return e}},{}],282:[function(t,e,r){e.exports=!0},{}],283:[function(t,e,r){function n(t){return!!t.constructor&amp;&amp;&quot;function&quot;==typeof t.constructor.isBuffer&amp;&amp;t.constructor.isBuffer(t)}e.exports=function(t){return null!=t&amp;&amp;(n(t)||function(t){return&quot;function&quot;==typeof t.readFloatLE&amp;&amp;&quot;function&quot;==typeof t.slice&amp;&amp;n(t.slice(0,0))}(t)||!!t._isBuffer)}},{}],284:[function(t,e,r){&quot;use strict&quot;;e.exports=&quot;undefined&quot;!=typeof navigator&amp;&amp;(/MSIE/.test(navigator.userAgent)||/Trident\//.test(navigator.appVersion))},{}],285:[function(t,e,r){e.exports=function(t){return t||&quot;undefined&quot;==typeof navigator||(t=navigator.userAgent),t&amp;&amp;t.headers&amp;&amp;&quot;string&quot;==typeof t.headers[&quot;user-agent&quot;]&amp;&amp;(t=t.headers[&quot;user-agent&quot;]),&quot;string&quot;==typeof t&amp;&amp;(/(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(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i.test(t)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(t.substr(0,4)))}},{}],286:[function(t,e,r){&quot;use strict&quot;;var n=Object.prototype.toString;e.exports=function(t){var e;return&quot;[object Object]&quot;===n.call(t)&amp;&amp;(null===(e=Object.getPrototypeOf(t))||e===Object.getPrototypeOf({}))}},{}],287:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t){return&quot;string&quot;==typeof t&amp;&amp;(t=t.trim(),!!(/^[mzlhvcsqta]\s*[-+.0-9][^mlhvzcsqta]+/i.test(t)&amp;&amp;/[\dz]$/i.test(t)&amp;&amp;t.length&gt;4))}},{}],288:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,n,a){e=e||function(t){return t[0]},r=r||function(t){return t[1]},a=a||Array,this.nodeSize=n||64,this.points=t,this.ids=new a(t.length),this.coords=new a(2*t.length);for(var o=0;o&lt;t.length;o++)this.ids[o]=o,this.coords[2*o]=e(t[o]),this.coords[2*o+1]=r(t[o]);i(this.ids,this.coords,this.nodeSize,0,this.ids.length-1,0)}var i=t(&quot;./sort&quot;),a=t(&quot;./range&quot;),o=t(&quot;./within&quot;);e.exports=function(t,e,r,i,a){return new n(t,e,r,i,a)},n.prototype={range:function(t,e,r,n){return a(this.ids,this.coords,t,e,r,n,this.nodeSize)},within:function(t,e,r){return o(this.ids,this.coords,t,e,r,this.nodeSize)}}},{&quot;./range&quot;:289,&quot;./sort&quot;:290,&quot;./within&quot;:291}],289:[function(t,e,r){&quot;use strict&quot;;e.exports=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(),d=c.pop();if(h-d&lt;=o)for(var p=d;p&lt;=h;p++)s=e[2*p],l=e[2*p+1],s&gt;=r&amp;&amp;s&lt;=i&amp;&amp;l&gt;=n&amp;&amp;l&lt;=a&amp;&amp;u.push(t[p]);else{var m=Math.floor((d+h)/2);s=e[2*m],l=e[2*m+1],s&gt;=r&amp;&amp;s&lt;=i&amp;&amp;l&gt;=n&amp;&amp;l&lt;=a&amp;&amp;u.push(t[m]);var g=(f+1)%2;(0===f?r&lt;=s:n&lt;=l)&amp;&amp;(c.push(d),c.push(m-1),c.push(g)),(0===f?i&gt;=s:a&gt;=l)&amp;&amp;(c.push(m+1),c.push(h),c.push(g))}}return u}},{}],290:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,a,o,s){if(!(o-a&lt;=r)){var l=Math.floor((a+o)/2);i(t,e,l,a,o,s%2),n(t,e,r,a,l-1,s+1),n(t,e,r,l+1,o,s+1)}}function i(t,e,r,n,o,s){for(;o&gt;n;){if(o-n&gt;600){var l=o-n+1,c=r-n+1,u=Math.log(l),f=.5*Math.exp(2*u/3),h=.5*Math.sqrt(u*f*(l-f)/l)*(c-l/2&lt;0?-1:1);i(t,e,r,Math.max(n,Math.floor(r-c*f/l+h)),Math.min(o,Math.floor(r+(l-c)*f/l+h)),s)}var d=e[2*r+s],p=n,m=o;for(a(t,e,n,r),e[2*o+s]&gt;d&amp;&amp;a(t,e,n,o);p&lt;m;){for(a(t,e,p,m),p++,m--;e[2*p+s]&lt;d;)p++;for(;e[2*m+s]&gt;d;)m--}e[2*n+s]===d?a(t,e,n,m):a(t,e,++m,o),m&lt;=r&amp;&amp;(n=m+1),r&lt;=m&amp;&amp;(o=m-1)}}function a(t,e,r,n){o(t,r,n),o(e,2*r,2*n),o(e,2*r+1,2*n+1)}function o(t,e,r){var n=t[e];t[e]=t[r],t[r]=n}e.exports=n},{}],291:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,n){var i=t-r,a=e-n;return i*i+a*a}e.exports=function(t,e,r,i,a,o){for(var s=[0,t.length-1,0],l=[],c=a*a;s.length;){var u=s.pop(),f=s.pop(),h=s.pop();if(f-h&lt;=o)for(var d=h;d&lt;=f;d++)n(e[2*d],e[2*d+1],r,i)&lt;=c&amp;&amp;l.push(t[d]);else{var p=Math.floor((h+f)/2),m=e[2*p],g=e[2*p+1];n(m,g,r,i)&lt;=c&amp;&amp;l.push(t[p]);var v=(u+1)%2;(0===u?r-a&lt;=m:i-a&lt;=g)&amp;&amp;(s.push(h),s.push(p-1),s.push(v)),(0===u?r+a&gt;=m:i+a&gt;=g)&amp;&amp;(s.push(p+1),s.push(f),s.push(v))}}return l}},{}],292:[function(t,e,r){&quot;use strict&quot;;function n(t,e){if(!(this instanceof n))return new n(t,e);this.nodeSize=e||64,this.coords=t.slice();var r=Math.floor(t.length/2);this.ids=Array(r);for(var i=0;i&lt;r;i++)this.ids[i]=i;a(this.ids,this.coords,this.nodeSize,0,this.ids.length-1,0)}function i(t,e,r,n){var i=t-r,a=e-n;return i*i+a*a}function a(t,e,r,n,i,s){if(!(i-n&lt;=r)){var l=Math.floor((n+i)/2);o(t,e,l,n,i,s%2),a(t,e,r,n,l-1,s+1),a(t,e,r,l+1,i,s+1)}}function o(t,e,r,n,i,a){for(;i&gt;n;){if(i-n&gt;600){var l=i-n+1,c=r-n+1,u=Math.log(l),f=.5*Math.exp(2*u/3),h=.5*Math.sqrt(u*f*(l-f)/l)*(c-l/2&lt;0?-1:1);o(t,e,r,Math.max(n,Math.floor(r-c*f/l+h)),Math.min(i,Math.floor(r+(l-c)*f/l+h)),a)}var d=e[2*r+a],p=n,m=i;for(s(t,e,n,r),e[2*i+a]&gt;d&amp;&amp;s(t,e,n,i);p&lt;m;){for(s(t,e,p,m),p++,m--;e[2*p+a]&lt;d;)p++;for(;e[2*m+a]&gt;d;)m--}e[2*n+a]===d?s(t,e,n,m):s(t,e,++m,i),m&lt;=r&amp;&amp;(n=m+1),r&lt;=m&amp;&amp;(i=m-1)}}function s(t,e,r,n){l(t,r,n),l(e,2*r,2*n),l(e,2*r+1,2*n+1)}function l(t,e,r){var n=t[e];t[e]=t[r],t[r]=n}e.exports=n,n.prototype.range=function(t,e,r,n){for(var i,a,o=this.ids,s=this.coords,l=this.nodeSize,c=[0,o.length-1,0],u=[];c.length;){var f=c.pop(),h=c.pop(),d=c.pop();if(h-d&lt;=l)for(var p=d;p&lt;=h;p++)i=s[2*p],a=s[2*p+1],i&gt;=t&amp;&amp;i&lt;=r&amp;&amp;a&gt;=e&amp;&amp;a&lt;=n&amp;&amp;u.push(o[p]);else{var m=Math.floor((d+h)/2);i=s[2*m],a=s[2*m+1],i&gt;=t&amp;&amp;i&lt;=r&amp;&amp;a&gt;=e&amp;&amp;a&lt;=n&amp;&amp;u.push(o[m]);var g=(f+1)%2;(0===f?t&lt;=i:e&lt;=a)&amp;&amp;(c.push(d),c.push(m-1),c.push(g)),(0===f?r&gt;=i:n&gt;=a)&amp;&amp;(c.push(m+1),c.push(h),c.push(g))}}return u},n.prototype.within=function(t,e,r){for(var n=this.ids,a=this.coords,o=this.nodeSize,s=[0,n.length-1,0],l=[],c=r*r;s.length;){var u=s.pop(),f=s.pop(),h=s.pop();if(f-h&lt;=o)for(var d=h;d&lt;=f;d++)i(a[2*d],a[2*d+1],t,e)&lt;=c&amp;&amp;l.push(n[d]);else{var p=Math.floor((h+f)/2),m=a[2*p],g=a[2*p+1];i(m,g,t,e)&lt;=c&amp;&amp;l.push(n[p]);var v=(u+1)%2;(0===u?t-r&lt;=m:e-r&lt;=g)&amp;&amp;(s.push(h),s.push(p-1),s.push(v)),(0===u?t+r&gt;=m:e+r&gt;=g)&amp;&amp;(s.push(p+1),s.push(f),s.push(v))}}return l}},{}],293:[function(t,e,r){&quot;use strict&quot;;function n(t,e){var r;if(u(t)){var l,c=t.stops&amp;&amp;&quot;object&quot;==typeof t.stops[0][0],f=c||void 0!==t.property,h=c||!f,d=t.type||e||&quot;exponential&quot;;if(&quot;exponential&quot;===d)l=o;else if(&quot;interval&quot;===d)l=a;else if(&quot;categorical&quot;===d)l=i;else{if(&quot;identity&quot;!==d)throw new Error('Unknown function type &quot;'+d+'&quot;');l=s}if(c){for(var p={},m=[],g=0;g&lt;t.stops.length;g++){var v=t.stops[g];void 0===p[v[0].zoom]&amp;&amp;(p[v[0].zoom]={zoom:v[0].zoom,type:t.type,property:t.property,stops:[]}),p[v[0].zoom].stops.push([v[0].value,v[1]])}for(var y in p)m.push([p[y].zoom,n(p[y])]);(r=function(e,r){return o({stops:m,base:t.base},e)(e,r)}).isFeatureConstant=!1,r.isZoomConstant=!1}else h?((r=function(e){return l(t,e)}).isFeatureConstant=!0,r.isZoomConstant=!1):((r=function(e,r){return l(t,r[t.property])}).isFeatureConstant=!1,r.isZoomConstant=!0)}else(r=function(){return t}).isFeatureConstant=!0,r.isZoomConstant=!0;return r}function i(t,e){for(var r=0;r&lt;t.stops.length;r++)if(e===t.stops[r][0])return t.stops[r][1];return t.stops[0][1]}function a(t,e){for(var r=0;r&lt;t.stops.length&amp;&amp;!(e&lt;t.stops[r][0]);r++);return t.stops[Math.max(r-1,0)][1]}function o(t,e){for(var r=void 0!==t.base?t.base:1,n=0;!(n&gt;=t.stops.length||e&lt;=t.stops[n][0]);)n++;return 0===n?t.stops[n][1]:n===t.stops.length?t.stops[n-1][1]:l(e,r,t.stops[n-1][0],t.stops[n][0],t.stops[n-1][1],t.stops[n][1])}function s(t,e){return e}function l(t,e,r,n,i,a){return&quot;function&quot;==typeof i?function(){var o=i.apply(void 0,arguments),s=a.apply(void 0,arguments);return l(t,e,r,n,o,s)}:i.length?function(t,e,r,n,i,a){for(var o=[],s=0;s&lt;i.length;s++)o[s]=c(t,e,r,n,i[s],a[s]);return o}(t,e,r,n,i,a):c(t,e,r,n,i,a)}function c(t,e,r,n,i,a){var o,s=n-r,l=t-r;return o=1===e?l/s:(Math.pow(e,l)-1)/(Math.pow(e,s)-1),i*(1-o)+a*o}function u(t){return&quot;object&quot;==typeof t&amp;&amp;(t.stops||&quot;identity&quot;===t.type)}e.exports.isFunctionDefinition=u,e.exports.interpolated=function(t){return n(t,&quot;exponential&quot;)},e.exports[&quot;piecewise-constant&quot;]=function(t){return n(t,&quot;interval&quot;)}},{}],294:[function(t,e,r){t(&quot;path&quot;);e.exports={debug:{fragmentSource:&quot;#ifdef GL_ES\nprecision mediump float;\n#else\n#define lowp\n#define mediump\n#define highp\n#endif\n\nuniform lowp vec4 u_color;\n\nvoid main() {\n    gl_FragColor = u_color;\n}\n&quot;,vertexSource:&quot;#ifdef GL_ES\nprecision highp float;\n#else\n#define lowp\n#define mediump\n#define highp\n#endif\n\nattribute vec2 a_pos;\n\nuniform mat4 u_matrix;\n\nvoid main() {\n    gl_Position = u_matrix * vec4(a_pos, step(32767.0, a_pos.x), 1);\n}\n&quot;},fill:{fragmentSource:&quot;#ifdef GL_ES\nprecision mediump float;\n#else\n#define lowp\n#define mediump\n#define highp\n#endif\n\n#pragma mapbox: define lowp vec4 color\n#pragma mapbox: define lowp float opacity\n\nvoid main() {\n    #pragma mapbox: initialize lowp vec4 color\n    #pragma mapbox: initialize lowp float opacity\n\n    gl_FragColor = color * opacity;\n\n#ifdef OVERDRAW_INSPECTOR\n    gl_FragColor = vec4(1.0);\n#endif\n}\n&quot;,vertexSource:&quot;#ifdef GL_ES\nprecision highp float;\n#else\n#define lowp\n#define mediump\n#define highp\n#endif\n\nattribute vec2 a_pos;\n\nuniform mat4 u_matrix;\n\n#pragma mapbox: define lowp vec4 color\n#pragma mapbox: define lowp float opacity\n\nvoid main() {\n    #pragma mapbox: initialize lowp vec4 color\n    #pragma mapbox: initialize lowp float opacity\n\n    gl_Position = u_matrix * vec4(a_pos, 0, 1);\n}\n&quot;},circle:{fragmentSource:&quot;#ifdef GL_ES\nprecision mediump float;\n#else\n#define lowp\n#define mediump\n#define highp\n#endif\n\n#pragma mapbox: define lowp vec4 color\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n\nvarying vec2 v_extrude;\nvarying lowp float v_antialiasblur;\n\nvoid main() {\n    #pragma mapbox: initialize lowp vec4 color\n    #pragma mapbox: initialize lowp float blur\n    #pragma mapbox: initialize lowp float opacity\n\n    float t = smoothstep(1.0 - max(blur, v_antialiasblur), 1.0, length(v_extrude));\n    gl_FragColor = color * (1.0 - t) * opacity;\n\n#ifdef OVERDRAW_INSPECTOR\n    gl_FragColor = vec4(1.0);\n#endif\n}\n&quot;,vertexSource:&quot;#ifdef GL_ES\nprecision highp float;\n#else\n#define lowp\n#define mediump\n#define highp\n#endif\n\nuniform mat4 u_matrix;\nuniform bool u_scale_with_map;\nuniform vec2 u_extrude_scale;\nuniform float u_devicepixelratio;\n\nattribute vec2 a_pos;\n\n#pragma mapbox: define lowp vec4 color\n#pragma mapbox: define mediump float radius\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n\nvarying vec2 v_extrude;\nvarying lowp float v_antialiasblur;\n\nvoid main(void) {\n    #pragma mapbox: initialize lowp vec4 color\n    #pragma mapbox: initialize mediump float radius\n    #pragma mapbox: initialize lowp float blur\n    #pragma mapbox: initialize lowp float opacity\n\n    // unencode the extrusion vector that we snuck into the a_pos vector\n    v_extrude = vec2(mod(a_pos, 2.0) * 2.0 - 1.0);\n\n    vec2 extrude = v_extrude * radius * u_extrude_scale;\n    // multiply a_pos by 0.5, since we had it * 2 in order to sneak\n    // in extrusion data\n    gl_Position = u_matrix * vec4(floor(a_pos * 0.5), 0, 1);\n\n    if (u_scale_with_map) {\n        gl_Position.xy += extrude;\n    } else {\n        gl_Position.xy += extrude * gl_Position.w;\n    }\n\n    // This is a minimum blur distance that serves as a faux-antialiasing for\n    // the circle. since blur is a ratio of the circle's size and the intent is\n    // to keep the blur at roughly 1px, the two are inversely related.\n    v_antialiasblur = 1.0 / u_devicepixelratio / radius;\n}\n&quot;},line:{fragmentSource:&quot;#ifdef GL_ES\nprecision mediump float;\n#else\n#define lowp\n#define mediump\n#define highp\n#endif\n\nuniform lowp vec4 u_color;\nuniform lowp float u_opacity;\nuniform float u_blur;\n\nvarying vec2 v_linewidth;\nvarying vec2 v_normal;\nvarying float v_gamma_scale;\n\nvoid main() {\n    // Calculate the distance of the pixel from the line in pixels.\n    float dist = length(v_normal) * v_linewidth.s;\n\n    // Calculate the antialiasing fade factor. This is either when fading in\n    // the line in case of an offset line (v_linewidth.t) or when fading out\n    // (v_linewidth.s)\n    float blur = u_blur * v_gamma_scale;\n    float alpha = clamp(min(dist - (v_linewidth.t - blur), v_linewidth.s - dist) / blur, 0.0, 1.0);\n\n    gl_FragColor = u_color * (alpha * u_opacity);\n\n#ifdef OVERDRAW_INSPECTOR\n    gl_FragColor = vec4(1.0);\n#endif\n}\n&quot;,vertexSource:&quot;#ifdef GL_ES\nprecision highp float;\n#else\n#define lowp\n#define mediump\n#define highp\n#endif\n\n// floor(127 / 2) == 63.0\n// the maximum allowed miter limit is 2.0 at the moment. the extrude normal is\n// stored in a byte (-128..127). we scale regular normals up to length 63, but\n// there are also \&quot;special\&quot; normals that have a bigger length (of up to 126 in\n// this case).\n// #define scale 63.0\n#define scale 0.015873016\n\nattribute vec2 a_pos;\nattribute vec4 a_data;\n\nuniform mat4 u_matrix;\nuniform mediump float u_ratio;\nuniform mediump float u_linewidth;\nuniform mediump float u_gapwidth;\nuniform mediump float u_antialiasing;\nuniform mediump float u_extra;\nuniform mat2 u_antialiasingmatrix;\nuniform mediump float u_offset;\nuniform mediump float u_blur;\n\nvarying vec2 v_normal;\nvarying vec2 v_linewidth;\nvarying float v_gamma_scale;\n\nvoid main() {\n    vec2 a_extrude = a_data.xy - 128.0;\n    float a_direction = mod(a_data.z, 4.0) - 1.0;\n\n    // We store the texture normals in the most insignificant bit\n    // transform y so that 0 =&gt; -1 and 1 =&gt; 1\n    // In the texture normal, x is 0 if the normal points straight up/down and 1 if it's a round cap\n    // y is 1 if the normal points up, and -1 if it points down\n    mediump vec2 normal = mod(a_pos, 2.0);\n    normal.y = sign(normal.y - 0.5);\n    v_normal = normal;\n\n    float inset = u_gapwidth + (u_gapwidth &gt; 0.0 ? u_antialiasing : 0.0);\n    float outset = u_gapwidth + u_linewidth * (u_gapwidth &gt; 0.0 ? 2.0 : 1.0) + u_antialiasing;\n\n    // Scale the extrusion vector down to a normal and then up by the line width\n    // of this vertex.\n    mediump vec2 dist = outset * a_extrude * scale;\n\n    // Calculate the offset when drawing a line that is to the side of the actual line.\n    // We do this by creating a vector that points towards the extrude, but rotate\n    // it when we're drawing round end points (a_direction = -1 or 1) since their\n    // extrude vector points in another direction.\n    mediump float u = 0.5 * a_direction;\n    mediump float t = 1.0 - abs(u);\n    mediump vec2 offset = u_offset * a_extrude * scale * normal.y * mat2(t, -u, u, t);\n\n    // Remove the texture normal bit of the position before scaling it with the\n    // model/view matrix.\n    gl_Position = u_matrix * vec4(floor(a_pos * 0.5) + (offset + dist) / u_ratio, 0.0, 1.0);\n\n    // position of y on the screen\n    float y = gl_Position.y / gl_Position.w;\n\n    // how much features are squished in the y direction by the tilt\n    float squish_scale = length(a_extrude) / length(u_antialiasingmatrix * a_extrude);\n\n    // how much features are squished in all directions by the perspectiveness\n    float perspective_scale = 1.0 / (1.0 - min(y * u_extra, 0.9));\n\n    v_linewidth = vec2(outset, inset);\n    v_gamma_scale = perspective_scale * squish_scale;\n}\n&quot;},linepattern:{fragmentSource:&quot;#ifdef GL_ES\nprecision mediump float;\n#else\n#define lowp\n#define mediump\n#define highp\n#endif\n\nuniform float u_blur;\n\nuniform vec2 u_pattern_size_a;\nuniform vec2 u_pattern_size_b;\nuniform vec2 u_pattern_tl_a;\nuniform vec2 u_pattern_br_a;\nuniform vec2 u_pattern_tl_b;\nuniform vec2 u_pattern_br_b;\nuniform float u_fade;\nuniform float u_opacity;\n\nuniform sampler2D u_image;\n\nvarying vec2 v_normal;\nvarying vec2 v_linewidth;\nvarying float v_linesofar;\nvarying float v_gamma_scale;\n\nvoid main() {\n    // Calculate the distance of the pixel from the line in pixels.\n    float dist = length(v_normal) * v_linewidth.s;\n\n    // Calculate the antialiasing fade factor. This is either when fading in\n    // the line in case of an offset line (v_linewidth.t) or when fading out\n    // (v_linewidth.s)\n    float blur = u_blur * v_gamma_scale;\n    float alpha = clamp(min(dist - (v_linewidth.t - blur), v_linewidth.s - dist) / blur, 0.0, 1.0);\n\n    float x_a = mod(v_linesofar / u_pattern_size_a.x, 1.0);\n    float x_b = mod(v_linesofar / u_pattern_size_b.x, 1.0);\n    float y_a = 0.5 + (v_normal.y * v_linewidth.s / u_pattern_size_a.y);\n    float y_b = 0.5 + (v_normal.y * v_linewidth.s / u_pattern_size_b.y);\n    vec2 pos_a = mix(u_pattern_tl_a, u_pattern_br_a, vec2(x_a, y_a));\n    vec2 pos_b = mix(u_pattern_tl_b, u_pattern_br_b, vec2(x_b, y_b));\n\n    vec4 color = mix(texture2D(u_image, pos_a), texture2D(u_image, pos_b), u_fade);\n\n    alpha *= u_opacity;\n\n    gl_FragColor = color * alpha;\n\n#ifdef OVERDRAW_INSPECTOR\n    gl_FragColor = vec4(1.0);\n#endif\n}\n&quot;,vertexSource:&quot;#ifdef GL_ES\nprecision highp float;\n#else\n#define lowp\n#define mediump\n#define highp\n#endif\n\n// floor(127 / 2) == 63.0\n// the maximum allowed miter limit is 2.0 at the moment. the extrude normal is\n// stored in a byte (-128..127). we scale regular normals up to length 63, but\n// there are also \&quot;special\&quot; normals that have a bigger length (of up to 126 in\n// this case).\n// #define scale 63.0\n#define scale 0.015873016\n\n// We scale the distance before adding it to the buffers so that we can store\n// long distances for long segments. Use this value to unscale the distance.\n#define LINE_DISTANCE_SCALE 2.0\n\nattribute vec2 a_pos;\nattribute vec4 a_data;\n\nuniform mat4 u_matrix;\nuniform mediump float u_ratio;\nuniform mediump float u_linewidth;\nuniform mediump float u_gapwidth;\nuniform mediump float u_antialiasing;\nuniform mediump float u_extra;\nuniform mat2 u_antialiasingmatrix;\nuniform mediump float u_offset;\n\nvarying vec2 v_normal;\nvarying vec2 v_linewidth;\nvarying float v_linesofar;\nvarying float v_gamma_scale;\n\nvoid main() {\n    vec2 a_extrude = a_data.xy - 128.0;\n    float a_direction = mod(a_data.z, 4.0) - 1.0;\n    float a_linesofar = (floor(a_data.z / 4.0) + a_data.w * 64.0) * LINE_DISTANCE_SCALE;\n\n    // We store the texture normals in the most insignificant bit\n    // transform y so that 0 =&gt; -1 and 1 =&gt; 1\n    // In the texture normal, x is 0 if the normal points straight up/down and 1 if it's a round cap\n    // y is 1 if the normal points up, and -1 if it points down\n    mediump vec2 normal = mod(a_pos, 2.0);\n    normal.y = sign(normal.y - 0.5);\n    v_normal = normal;\n\n    float inset = u_gapwidth + (u_gapwidth &gt; 0.0 ? u_antialiasing : 0.0);\n    float outset = u_gapwidth + u_linewidth * (u_gapwidth &gt; 0.0 ? 2.0 : 1.0) + u_antialiasing;\n\n    // Scale the extrusion vector down to a normal and then up by the line width\n    // of this vertex.\n    mediump vec2 dist = outset * a_extrude * scale;\n\n    // Calculate the offset when drawing a line that is to the side of the actual line.\n    // We do this by creating a vector that points towards the extrude, but rotate\n    // it when we're drawing round end points (a_direction = -1 or 1) since their\n    // extrude vector points in another direction.\n    mediump float u = 0.5 * a_direction;\n    mediump float t = 1.0 - abs(u);\n    mediump vec2 offset = u_offset * a_extrude * scale * normal.y * mat2(t, -u, u, t);\n\n    // Remove the texture normal bit of the position before scaling it with the\n    // model/view matrix.\n    gl_Position = u_matrix * vec4(floor(a_pos * 0.5) + (offset + dist) / u_ratio, 0.0, 1.0);\n    v_linesofar = a_linesofar;\n\n    // position of y on the screen\n    float y = gl_Position.y / gl_Position.w;\n\n    // how much features are squished in the y direction by the tilt\n    float squish_scale = length(a_extrude) / length(u_antialiasingmatrix * a_extrude);\n\n    // how much features are squished in all directions by the perspectiveness\n    float perspective_scale = 1.0 / (1.0 - min(y * u_extra, 0.9));\n\n    v_linewidth = vec2(outset, inset);\n    v_gamma_scale = perspective_scale * squish_scale;\n}\n&quot;},linesdfpattern:{fragmentSource:&quot;#ifdef GL_ES\nprecision mediump float;\n#else\n#define lowp\n#define mediump\n#define highp\n#endif\n\nuniform lowp vec4 u_color;\nuniform lowp float u_opacity;\n\nuniform float u_blur;\nuniform sampler2D u_image;\nuniform float u_sdfgamma;\nuniform float u_mix;\n\nvarying vec2 v_normal;\nvarying vec2 v_linewidth;\nvarying vec2 v_tex_a;\nvarying vec2 v_tex_b;\nvarying float v_gamma_scale;\n\nvoid main() {\n    // Calculate the distance of the pixel from the line in pixels.\n    float dist = length(v_normal) * v_linewidth.s;\n\n    // Calculate the antialiasing fade factor. This is either when fading in\n    // the line in case of an offset line (v_linewidth.t) or when fading out\n    // (v_linewidth.s)\n    float blur = u_blur * v_gamma_scale;\n    float alpha = clamp(min(dist - (v_linewidth.t - blur), v_linewidth.s - dist) / blur, 0.0, 1.0);\n\n    float sdfdist_a = texture2D(u_image, v_tex_a).a;\n    float sdfdist_b = texture2D(u_image, v_tex_b).a;\n    float sdfdist = mix(sdfdist_a, sdfdist_b, u_mix);\n    alpha *= smoothstep(0.5 - u_sdfgamma, 0.5 + u_sdfgamma, sdfdist);\n\n    gl_FragColor = u_color * (alpha * u_opacity);\n\n#ifdef OVERDRAW_INSPECTOR\n    gl_FragColor = vec4(1.0);\n#endif\n}\n&quot;,vertexSource:&quot;#ifdef GL_ES\nprecision highp float;\n#else\n#define lowp\n#define mediump\n#define highp\n#endif\n\n// floor(127 / 2) == 63.0\n// the maximum allowed miter limit is 2.0 at the moment. the extrude normal is\n// stored in a byte (-128..127). we scale regular normals up to length 63, but\n// there are also \&quot;special\&quot; normals that have a bigger length (of up to 126 in\n// this case).\n// #define scale 63.0\n#define scale 0.015873016\n\n// We scale the distance before adding it to the buffers so that we can store\n// long distances for long segments. Use this value to unscale the distance.\n#define LINE_DISTANCE_SCALE 2.0\n\nattribute vec2 a_pos;\nattribute vec4 a_data;\n\nuniform mat4 u_matrix;\nuniform mediump float u_ratio;\nuniform mediump float u_linewidth;\nuniform mediump float u_gapwidth;\nuniform mediump float u_antialiasing;\nuniform vec2 u_patternscale_a;\nuniform float u_tex_y_a;\nuniform vec2 u_patternscale_b;\nuniform float u_tex_y_b;\nuniform float u_extra;\nuniform mat2 u_antialiasingmatrix;\nuniform mediump float u_offset;\n\nvarying vec2 v_normal;\nvarying vec2 v_linewidth;\nvarying vec2 v_tex_a;\nvarying vec2 v_tex_b;\nvarying float v_gamma_scale;\n\nvoid main() {\n    vec2 a_extrude = a_data.xy - 128.0;\n    float a_direction = mod(a_data.z, 4.0) - 1.0;\n    float a_linesofar = (floor(a_data.z / 4.0) + a_data.w * 64.0) * LINE_DISTANCE_SCALE;\n\n    // We store the texture normals in the most insignificant bit\n    // transform y so that 0 =&gt; -1 and 1 =&gt; 1\n    // In the texture normal, x is 0 if the normal points straight up/down and 1 if it's a round cap\n    // y is 1 if the normal points up, and -1 if it points down\n    mediump vec2 normal = mod(a_pos, 2.0);\n    normal.y = sign(normal.y - 0.5);\n    v_normal = normal;\n\n    float inset = u_gapwidth + (u_gapwidth &gt; 0.0 ? u_antialiasing : 0.0);\n    float outset = u_gapwidth + u_linewidth * (u_gapwidth &gt; 0.0 ? 2.0 : 1.0) + u_antialiasing;\n\n    // Scale the extrusion vector down to a normal and then up by the line width\n    // of this vertex.\n    mediump vec2 dist = outset * a_extrude * scale;\n\n    // Calculate the offset when drawing a line that is to the side of the actual line.\n    // We do this by creating a vector that points towards the extrude, but rotate\n    // it when we're drawing round end points (a_direction = -1 or 1) since their\n    // extrude vector points in another direction.\n    mediump float u = 0.5 * a_direction;\n    mediump float t = 1.0 - abs(u);\n    mediump vec2 offset = u_offset * a_extrude * scale * normal.y * mat2(t, -u, u, t);\n\n    // Remove the texture normal bit of the position before scaling it with the\n    // model/view matrix.\n    gl_Position = u_matrix * vec4(floor(a_pos * 0.5) + (offset + dist) / u_ratio, 0.0, 1.0);\n\n    v_tex_a = vec2(a_linesofar * u_patternscale_a.x, normal.y * u_patternscale_a.y + u_tex_y_a);\n    v_tex_b = vec2(a_linesofar * u_patternscale_b.x, normal.y * u_patternscale_b.y + u_tex_y_b);\n\n    // position of y on the screen\n    float y = gl_Position.y / gl_Position.w;\n\n    // how much features are squished in the y direction by the tilt\n    float squish_scale = length(a_extrude) / length(u_antialiasingmatrix * a_extrude);\n\n    // how much features are squished in all directions by the perspectiveness\n    float perspective_scale = 1.0 / (1.0 - min(y * u_extra, 0.9));\n\n    v_linewidth = vec2(outset, inset);\n    v_gamma_scale = perspective_scale * squish_scale;\n}\n&quot;},outline:{fragmentSource:&quot;#ifdef GL_ES\nprecision mediump float;\n#else\n#define lowp\n#define mediump\n#define highp\n#endif\n\n#pragma mapbox: define lowp vec4 outline_color\n#pragma mapbox: define lowp float opacity\n\nvarying vec2 v_pos;\n\nvoid main() {\n    #pragma mapbox: initialize lowp vec4 outline_color\n    #pragma mapbox: initialize lowp float opacity\n\n    float dist = length(v_pos - gl_FragCoord.xy);\n    float alpha = smoothstep(1.0, 0.0, dist);\n    gl_FragColor = outline_color * (alpha * opacity);\n\n#ifdef OVERDRAW_INSPECTOR\n    gl_FragColor = vec4(1.0);\n#endif\n}\n&quot;,vertexSource:&quot;#ifdef GL_ES\nprecision highp float;\n#else\n#define lowp\n#define mediump\n#define highp\n#endif\n\nattribute vec2 a_pos;\n\nuniform mat4 u_matrix;\nuniform vec2 u_world;\n\nvarying vec2 v_pos;\n\n#pragma mapbox: define lowp vec4 outline_color\n#pragma mapbox: define lowp float opacity\n\nvoid main() {\n    #pragma mapbox: initialize lowp vec4 outline_color\n    #pragma mapbox: initialize lowp float opacity\n\n    gl_Position = u_matrix * vec4(a_pos, 0, 1);\n    v_pos = (gl_Position.xy / gl_Position.w + 1.0) / 2.0 * u_world;\n}\n&quot;},outlinepattern:{fragmentSource:&quot;#ifdef GL_ES\nprecision mediump float;\n#else\n#define lowp\n#define mediump\n#define highp\n#endif\n\nuniform float u_opacity;\nuniform vec2 u_pattern_tl_a;\nuniform vec2 u_pattern_br_a;\nuniform vec2 u_pattern_tl_b;\nuniform vec2 u_pattern_br_b;\nuniform float u_mix;\n\nuniform sampler2D u_image;\n\nvarying vec2 v_pos_a;\nvarying vec2 v_pos_b;\nvarying vec2 v_pos;\n\nvoid main() {\n    vec2 imagecoord = mod(v_pos_a, 1.0);\n    vec2 pos = mix(u_pattern_tl_a, u_pattern_br_a, imagecoord);\n    vec4 color1 = texture2D(u_image, pos);\n\n    vec2 imagecoord_b = mod(v_pos_b, 1.0);\n    vec2 pos2 = mix(u_pattern_tl_b, u_pattern_br_b, imagecoord_b);\n    vec4 color2 = texture2D(u_image, pos2);\n\n    // find distance to outline for alpha interpolation\n\n    float dist = length(v_pos - gl_FragCoord.xy);\n    float alpha = smoothstep(1.0, 0.0, dist);\n    \n\n    gl_FragColor = mix(color1, color2, u_mix) * alpha * u_opacity;\n\n#ifdef OVERDRAW_INSPECTOR\n    gl_FragColor = vec4(1.0);\n#endif\n}\n&quot;,vertexSource:&quot;#ifdef GL_ES\nprecision highp float;\n#else\n#define lowp\n#define mediump\n#define highp\n#endif\n\nuniform vec2 u_pattern_size_a;\nuniform vec2 u_pattern_size_b;\nuniform vec2 u_pixel_coord_upper;\nuniform vec2 u_pixel_coord_lower;\nuniform float u_scale_a;\nuniform float u_scale_b;\nuniform float u_tile_units_to_pixels;\n\nattribute vec2 a_pos;\n\nuniform mat4 u_matrix;\nuniform vec2 u_world;\n\nvarying vec2 v_pos_a;\nvarying vec2 v_pos_b;\nvarying vec2 v_pos;\n\nvoid main() {\n    gl_Position = u_matrix * vec4(a_pos, 0, 1);\n    vec2 scaled_size_a = u_scale_a * u_pattern_size_a;\n    vec2 scaled_size_b = u_scale_b * u_pattern_size_b;\n\n    // the correct offset needs to be calculated.\n    //\n    // The offset depends on how many pixels are between the world origin and\n    // the edge of the tile:\n    // vec2 offset = mod(pixel_coord, size)\n    //\n    // At high zoom levels there are a ton of pixels between the world origin\n    // and the edge of the tile. The glsl spec only guarantees 16 bits of\n    // precision for highp floats. We need more than that.\n    //\n    // The pixel_coord is passed in as two 16 bit values:\n    // pixel_coord_upper = floor(pixel_coord / 2^16)\n    // pixel_coord_lower = mod(pixel_coord, 2^16)\n    //\n    // The offset is calculated in a series of steps that should preserve this precision:\n    vec2 offset_a = mod(mod(mod(u_pixel_coord_upper, scaled_size_a) * 256.0, scaled_size_a) * 256.0 + u_pixel_coord_lower, scaled_size_a);\n    vec2 offset_b = mod(mod(mod(u_pixel_coord_upper, scaled_size_b) * 256.0, scaled_size_b) * 256.0 + u_pixel_coord_lower, scaled_size_b);\n\n    v_pos_a = (u_tile_units_to_pixels * a_pos + offset_a) / scaled_size_a;\n    v_pos_b = (u_tile_units_to_pixels * a_pos + offset_b) / scaled_size_b;\n\n    v_pos = (gl_Position.xy / gl_Position.w + 1.0) / 2.0 * u_world;\n}\n&quot;},pattern:{fragmentSource:&quot;#ifdef GL_ES\nprecision mediump float;\n#else\n#define lowp\n#define mediump\n#define highp\n#endif\n\nuniform float u_opacity;\nuniform vec2 u_pattern_tl_a;\nuniform vec2 u_pattern_br_a;\nuniform vec2 u_pattern_tl_b;\nuniform vec2 u_pattern_br_b;\nuniform float u_mix;\n\nuniform sampler2D u_image;\n\nvarying vec2 v_pos_a;\nvarying vec2 v_pos_b;\n\nvoid main() {\n\n    vec2 imagecoord = mod(v_pos_a, 1.0);\n    vec2 pos = mix(u_pattern_tl_a, u_pattern_br_a, imagecoord);\n    vec4 color1 = texture2D(u_image, pos);\n\n    vec2 imagecoord_b = mod(v_pos_b, 1.0);\n    vec2 pos2 = mix(u_pattern_tl_b, u_pattern_br_b, imagecoord_b);\n    vec4 color2 = texture2D(u_image, pos2);\n\n    gl_FragColor = mix(color1, color2, u_mix) * u_opacity;\n\n#ifdef OVERDRAW_INSPECTOR\n    gl_FragColor = vec4(1.0);\n#endif\n}\n&quot;,vertexSource:&quot;#ifdef GL_ES\nprecision highp float;\n#else\n#define lowp\n#define mediump\n#define highp\n#endif\n\nuniform mat4 u_matrix;\nuniform vec2 u_pattern_size_a;\nuniform vec2 u_pattern_size_b;\nuniform vec2 u_pixel_coord_upper;\nuniform vec2 u_pixel_coord_lower;\nuniform float u_scale_a;\nuniform float u_scale_b;\nuniform float u_tile_units_to_pixels;\n\nattribute vec2 a_pos;\n\nvarying vec2 v_pos_a;\nvarying vec2 v_pos_b;\n\nvoid main() {\n    gl_Position = u_matrix * vec4(a_pos, 0, 1);\n    vec2 scaled_size_a = u_scale_a * u_pattern_size_a;\n    vec2 scaled_size_b = u_scale_b * u_pattern_size_b;\n\n    // the correct offset needs to be calculated.\n    //\n    // The offset depends on how many pixels are between the world origin and\n    // the edge of the tile:\n    // vec2 offset = mod(pixel_coord, size)\n    //\n    // At high zoom levels there are a ton of pixels between the world origin\n    // and the edge of the tile. The glsl spec only guarantees 16 bits of\n    // precision for highp floats. We need more than that.\n    //\n    // The pixel_coord is passed in as two 16 bit values:\n    // pixel_coord_upper = floor(pixel_coord / 2^16)\n    // pixel_coord_lower = mod(pixel_coord, 2^16)\n    //\n    // The offset is calculated in a series of steps that should preserve this precision:\n    vec2 offset_a = mod(mod(mod(u_pixel_coord_upper, scaled_size_a) * 256.0, scaled_size_a) * 256.0 + u_pixel_coord_lower, scaled_size_a);\n    vec2 offset_b = mod(mod(mod(u_pixel_coord_upper, scaled_size_b) * 256.0, scaled_size_b) * 256.0 + u_pixel_coord_lower, scaled_size_b);\n\n    v_pos_a = (u_tile_units_to_pixels * a_pos + offset_a) / scaled_size_a;\n    v_pos_b = (u_tile_units_to_pixels * a_pos + offset_b) / scaled_size_b;\n}\n&quot;},raster:{fragmentSource:&quot;#ifdef GL_ES\nprecision mediump float;\n#else\n#define lowp\n#define mediump\n#define highp\n#endif\n\nuniform float u_opacity0;\nuniform float u_opacity1;\nuniform sampler2D u_image0;\nuniform sampler2D u_image1;\nvarying vec2 v_pos0;\nvarying vec2 v_pos1;\n\nuniform float u_brightness_low;\nuniform float u_brightness_high;\n\nuniform float u_saturation_factor;\nuniform float u_contrast_factor;\nuniform vec3 u_spin_weights;\n\nvoid main() {\n\n    // read and cross-fade colors from the main and parent tiles\n    vec4 color0 = texture2D(u_image0, v_pos0);\n    vec4 color1 = texture2D(u_image1, v_pos1);\n    vec4 color = color0 * u_opacity0 + color1 * u_opacity1;\n    vec3 rgb = color.rgb;\n\n    // spin\n    rgb = vec3(\n        dot(rgb, u_spin_weights.xyz),\n        dot(rgb, u_spin_weights.zxy),\n        dot(rgb, u_spin_weights.yzx));\n\n    // saturation\n    float average = (color.r + color.g + color.b) / 3.0;\n    rgb += (average - rgb) * u_saturation_factor;\n\n    // contrast\n    rgb = (rgb - 0.5) * u_contrast_factor + 0.5;\n\n    // brightness\n    vec3 u_high_vec = vec3(u_brightness_low, u_brightness_low, u_brightness_low);\n    vec3 u_low_vec = vec3(u_brightness_high, u_brightness_high, u_brightness_high);\n\n    gl_FragColor = vec4(mix(u_high_vec, u_low_vec, rgb), color.a);\n\n#ifdef OVERDRAW_INSPECTOR\n    gl_FragColor = vec4(1.0);\n#endif\n}\n&quot;,vertexSource:&quot;#ifdef GL_ES\nprecision highp float;\n#else\n#define lowp\n#define mediump\n#define highp\n#endif\n\nuniform mat4 u_matrix;\nuniform vec2 u_tl_parent;\nuniform float u_scale_parent;\nuniform float u_buffer_scale;\n\nattribute vec2 a_pos;\nattribute vec2 a_texture_pos;\n\nvarying vec2 v_pos0;\nvarying vec2 v_pos1;\n\nvoid main() {\n    gl_Position = u_matrix * vec4(a_pos, 0, 1);\n    v_pos0 = (((a_texture_pos / 32767.0) - 0.5) / u_buffer_scale ) + 0.5;\n    v_pos1 = (v_pos0 * u_scale_parent) + u_tl_parent;\n}\n&quot;},icon:{fragmentSource:&quot;#ifdef GL_ES\nprecision mediump float;\n#else\n#define lowp\n#define mediump\n#define highp\n#endif\n\nuniform sampler2D u_texture;\nuniform sampler2D u_fadetexture;\nuniform lowp float u_opacity;\n\nvarying vec2 v_tex;\nvarying vec2 v_fade_tex;\n\nvoid main() {\n    lowp float alpha = texture2D(u_fadetexture, v_fade_tex).a * u_opacity;\n    gl_FragColor = texture2D(u_texture, v_tex) * alpha;\n\n#ifdef OVERDRAW_INSPECTOR\n    gl_FragColor = vec4(1.0);\n#endif\n}\n&quot;,vertexSource:&quot;#ifdef GL_ES\nprecision highp float;\n#else\n#define lowp\n#define mediump\n#define highp\n#endif\n\nattribute vec2 a_pos;\nattribute vec2 a_offset;\nattribute vec2 a_texture_pos;\nattribute vec4 a_data;\n\n\n// matrix is for the vertex position.\nuniform mat4 u_matrix;\n\nuniform mediump float u_zoom;\nuniform bool u_rotate_with_map;\nuniform vec2 u_extrude_scale;\n\nuniform vec2 u_texsize;\n\nvarying vec2 v_tex;\nvarying vec2 v_fade_tex;\n\nvoid main() {\n    vec2 a_tex = a_texture_pos.xy;\n    mediump float a_labelminzoom = a_data[0];\n    mediump vec2 a_zoom = a_data.pq;\n    mediump float a_minzoom = a_zoom[0];\n    mediump float a_maxzoom = a_zoom[1];\n\n    // u_zoom is the current zoom level adjusted for the change in font size\n    mediump float z = 2.0 - step(a_minzoom, u_zoom) - (1.0 - step(a_maxzoom, u_zoom));\n\n    vec2 extrude = u_extrude_scale * (a_offset / 64.0);\n    if (u_rotate_with_map) {\n        gl_Position = u_matrix * vec4(a_pos + extrude, 0, 1);\n        gl_Position.z += z * gl_Position.w;\n    } else {\n        gl_Position = u_matrix * vec4(a_pos, 0, 1) + vec4(extrude, 0, 0);\n    }\n\n    v_tex = a_tex / u_texsize;\n    v_fade_tex = vec2(a_labelminzoom / 255.0, 0.0);\n}\n&quot;},sdf:{fragmentSource:&quot;#ifdef GL_ES\nprecision mediump float;\n#else\n#define lowp\n#define mediump\n#define highp\n#endif\n\nuniform sampler2D u_texture;\nuniform sampler2D u_fadetexture;\nuniform lowp vec4 u_color;\nuniform lowp float u_opacity;\nuniform lowp float u_buffer;\nuniform lowp float u_gamma;\n\nvarying vec2 v_tex;\nvarying vec2 v_fade_tex;\nvarying float v_gamma_scale;\n\nvoid main() {\n    lowp float dist = texture2D(u_texture, v_tex).a;\n    lowp float fade_alpha = texture2D(u_fadetexture, v_fade_tex).a;\n    lowp float gamma = u_gamma * v_gamma_scale;\n    lowp float alpha = smoothstep(u_buffer - gamma, u_buffer + gamma, dist) * fade_alpha;\n\n    gl_FragColor = u_color * (alpha * u_opacity);\n\n#ifdef OVERDRAW_INSPECTOR\n    gl_FragColor = vec4(1.0);\n#endif\n}\n&quot;,vertexSource:&quot;#ifdef GL_ES\nprecision highp float;\n#else\n#define lowp\n#define mediump\n#define highp\n#endif\n\nconst float PI = 3.141592653589793;\n\nattribute vec2 a_pos;\nattribute vec2 a_offset;\nattribute vec2 a_texture_pos;\nattribute vec4 a_data;\n\n\n// matrix is for the vertex position.\nuniform mat4 u_matrix;\n\nuniform mediump float u_zoom;\nuniform bool u_rotate_with_map;\nuniform bool u_pitch_with_map;\nuniform mediump float u_pitch;\nuniform mediump float u_bearing;\nuniform mediump float u_aspect_ratio;\nuniform vec2 u_extrude_scale;\n\nuniform vec2 u_texsize;\n\nvarying vec2 v_tex;\nvarying vec2 v_fade_tex;\nvarying float v_gamma_scale;\n\nvoid main() {\n    vec2 a_tex = a_texture_pos.xy;\n    mediump float a_labelminzoom = a_data[0];\n    mediump vec2 a_zoom = a_data.pq;\n    mediump float a_minzoom = a_zoom[0];\n    mediump float a_maxzoom = a_zoom[1];\n\n    // u_zoom is the current zoom level adjusted for the change in font size\n    mediump float z = 2.0 - step(a_minzoom, u_zoom) - (1.0 - step(a_maxzoom, u_zoom));\n\n    // pitch-alignment: map\n    // rotation-alignment: map | viewport\n    if (u_pitch_with_map) {\n        lowp float angle = u_rotate_with_map ? (a_data[1] / 256.0 * 2.0 * PI) : u_bearing;\n        lowp float asin = sin(angle);\n        lowp float acos = cos(angle);\n        mat2 RotationMatrix = mat2(acos, asin, -1.0 * asin, acos);\n        vec2 offset = RotationMatrix * a_offset;\n        vec2 extrude = u_extrude_scale * (offset / 64.0);\n        gl_Position = u_matrix * vec4(a_pos + extrude, 0, 1);\n        gl_Position.z += z * gl_Position.w;\n    // pitch-alignment: viewport\n    // rotation-alignment: map\n    } else if (u_rotate_with_map) {\n        // foreshortening factor to apply on pitched maps\n        // as a label goes from horizontal &lt;=&gt; vertical in angle\n        // it goes from 0% foreshortening to up to around 70% foreshortening\n        lowp float pitchfactor = 1.0 - cos(u_pitch * sin(u_pitch * 0.75));\n\n        lowp float lineangle = a_data[1] / 256.0 * 2.0 * PI;\n\n        // use the lineangle to position points a,b along the line\n        // project the points and calculate the label angle in projected space\n        // this calculation allows labels to be rendered unskewed on pitched maps\n        vec4 a = u_matrix * vec4(a_pos, 0, 1);\n        vec4 b = u_matrix * vec4(a_pos + vec2(cos(lineangle),sin(lineangle)), 0, 1);\n        lowp float angle = atan((b[1]/b[3] - a[1]/a[3])/u_aspect_ratio, b[0]/b[3] - a[0]/a[3]);\n        lowp float asin = sin(angle);\n        lowp float acos = cos(angle);\n        mat2 RotationMatrix = mat2(acos, -1.0 * asin, asin, acos);\n\n        vec2 offset = RotationMatrix * (vec2((1.0-pitchfactor)+(pitchfactor*cos(angle*2.0)), 1.0) * a_offset);\n        vec2 extrude = u_extrude_scale * (offset / 64.0);\n        gl_Position = u_matrix * vec4(a_pos, 0, 1) + vec4(extrude, 0, 0);\n        gl_Position.z += z * gl_Position.w;\n    // pitch-alignment: viewport\n    // rotation-alignment: viewport\n    } else {\n        vec2 extrude = u_extrude_scale * (a_offset / 64.0);\n        gl_Position = u_matrix * vec4(a_pos, 0, 1) + vec4(extrude, 0, 0);\n    }\n\n    v_gamma_scale = (gl_Position.w - 0.5);\n\n    v_tex = a_tex / u_texsize;\n    v_fade_tex = vec2(a_labelminzoom / 255.0, 0.0);\n}\n&quot;},collisionbox:{fragmentSource:&quot;#ifdef GL_ES\nprecision mediump float;\n#else\n#define lowp\n#define mediump\n#define highp\n#endif\n\nuniform float u_zoom;\nuniform float u_maxzoom;\n\nvarying float v_max_zoom;\nvarying float v_placement_zoom;\n\nvoid main() {\n\n    float alpha = 0.5;\n\n    gl_FragColor = vec4(0.0, 1.0, 0.0, 1.0) * alpha;\n\n    if (v_placement_zoom &gt; u_zoom) {\n        gl_FragColor = vec4(1.0, 0.0, 0.0, 1.0) * alpha;\n    }\n\n    if (u_zoom &gt;= v_max_zoom) {\n        gl_FragColor = vec4(0.0, 0.0, 0.0, 1.0) * alpha * 0.25;\n    }\n\n    if (v_placement_zoom &gt;= u_maxzoom) {\n        gl_FragColor = vec4(0.0, 0.0, 1.0, 1.0) * alpha * 0.2;\n    }\n}\n&quot;,vertexSource:&quot;#ifdef GL_ES\nprecision highp float;\n#else\n#define lowp\n#define mediump\n#define highp\n#endif\n\nattribute vec2 a_pos;\nattribute vec2 a_extrude;\nattribute vec2 a_data;\n\nuniform mat4 u_matrix;\nuniform float u_scale;\n\nvarying float v_max_zoom;\nvarying float v_placement_zoom;\n\nvoid main() {\n    gl_Position = u_matrix * vec4(a_pos + a_extrude / u_scale, 0.0, 1.0);\n\n    v_max_zoom = a_data.x;\n    v_placement_zoom = a_data.y;\n}\n&quot;}},e.exports.util=&quot;float evaluate_zoom_function_1(const vec4 values, const float t) {\n    if (t &lt; 1.0) {\n        return mix(values[0], values[1], t);\n    } else if (t &lt; 2.0) {\n        return mix(values[1], values[2], t - 1.0);\n    } else {\n        return mix(values[2], values[3], t - 2.0);\n    }\n}\nvec4 evaluate_zoom_function_4(const vec4 value0, const vec4 value1, const vec4 value2, const vec4 value3, const float t) {\n    if (t &lt; 1.0) {\n        return mix(value0, value1, t);\n    } else if (t &lt; 2.0) {\n        return mix(value1, value2, t - 1.0);\n    } else {\n        return mix(value2, value3, t - 2.0);\n    }\n}\n&quot;},{path:468}],295:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;util&quot;).format;e.exports=function(t,e){this.message=(t?t+&quot;: &quot;:&quot;&quot;)+n.apply(n,Array.prototype.slice.call(arguments,2)),null!==e&amp;&amp;void 0!==e&amp;&amp;e.__line__&amp;&amp;(this.line=e.__line__)}},{util:563}],296:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t){for(var e=1;e&lt;arguments.length;e++){var r=arguments[e];for(var n in r)t[n]=r[n]}return t}},{}],297:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t){return t instanceof Number?&quot;number&quot;:t instanceof String?&quot;string&quot;:t instanceof Boolean?&quot;boolean&quot;:Array.isArray(t)?&quot;array&quot;:null===t?&quot;null&quot;:typeof t}},{}],298:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t){return t instanceof Number||t instanceof String||t instanceof Boolean?t.valueOf():t}},{}],299:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../error/validation_error&quot;),i=t(&quot;../util/get_type&quot;),a=t(&quot;../util/extend&quot;);e.exports=function(e){var r=t(&quot;./validate_function&quot;),o=t(&quot;./validate_object&quot;),s={&quot;*&quot;:function(){return[]},array:t(&quot;./validate_array&quot;),boolean:t(&quot;./validate_boolean&quot;),number:t(&quot;./validate_number&quot;),color:t(&quot;./validate_color&quot;),constants:t(&quot;./validate_constants&quot;),enum:t(&quot;./validate_enum&quot;),filter:t(&quot;./validate_filter&quot;),function:t(&quot;./validate_function&quot;),layer:t(&quot;./validate_layer&quot;),object:t(&quot;./validate_object&quot;),source:t(&quot;./validate_source&quot;),string:t(&quot;./validate_string&quot;)},l=e.value,c=e.valueSpec,u=e.key,f=e.styleSpec,h=e.style;if(&quot;string&quot;===i(l)&amp;&amp;&quot;@&quot;===l[0]){if(f.$version&gt;7)return[new n(u,l,&quot;constants have been deprecated as of v8&quot;)];if(!(l in h.constants))return[new n(u,l,'constant &quot;%s&quot; not found',l)];e=a({},e,{value:h.constants[l]})}return c.function&amp;&amp;&quot;object&quot;===i(l)?r(e):c.type&amp;&amp;s[c.type]?s[c.type](e):o(a({},e,{valueSpec:c.type?f[c.type]:c}))}},{&quot;../error/validation_error&quot;:295,&quot;../util/extend&quot;:296,&quot;../util/get_type&quot;:297,&quot;./validate_array&quot;:300,&quot;./validate_boolean&quot;:301,&quot;./validate_color&quot;:302,&quot;./validate_constants&quot;:303,&quot;./validate_enum&quot;:304,&quot;./validate_filter&quot;:305,&quot;./validate_function&quot;:306,&quot;./validate_layer&quot;:308,&quot;./validate_number&quot;:310,&quot;./validate_object&quot;:311,&quot;./validate_source&quot;:313,&quot;./validate_string&quot;:314}],300:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../util/get_type&quot;),i=t(&quot;./validate&quot;),a=t(&quot;../error/validation_error&quot;);e.exports=function(t){var e=t.value,r=t.valueSpec,o=t.style,s=t.styleSpec,l=t.key,c=t.arrayElementValidator||i;if(&quot;array&quot;!==n(e))return[new a(l,e,&quot;array expected, %s found&quot;,n(e))];if(r.length&amp;&amp;e.length!==r.length)return[new a(l,e,&quot;array length %d expected, length %d found&quot;,r.length,e.length)];if(r[&quot;min-length&quot;]&amp;&amp;e.length&lt;r[&quot;min-length&quot;])return[new a(l,e,&quot;array length at least %d expected, length %d found&quot;,r[&quot;min-length&quot;],e.length)];var u={type:r.value};s.$version&lt;7&amp;&amp;(u.function=r.function),&quot;object&quot;===n(r.value)&amp;&amp;(u=r.value);for(var f=[],h=0;h&lt;e.length;h++)f=f.concat(c({array:e,arrayIndex:h,value:e[h],valueSpec:u,style:o,styleSpec:s,key:l+&quot;[&quot;+h+&quot;]&quot;}));return f}},{&quot;../error/validation_error&quot;:295,&quot;../util/get_type&quot;:297,&quot;./validate&quot;:299}],301:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../util/get_type&quot;),i=t(&quot;../error/validation_error&quot;);e.exports=function(t){var e=t.value,r=t.key,a=n(e);return&quot;boolean&quot;!==a?[new i(r,e,&quot;boolean expected, %s found&quot;,a)]:[]}},{&quot;../error/validation_error&quot;:295,&quot;../util/get_type&quot;:297}],302:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../error/validation_error&quot;),i=t(&quot;../util/get_type&quot;),a=t(&quot;csscolorparser&quot;).parseCSSColor;e.exports=function(t){var e=t.key,r=t.value,o=i(r);return&quot;string&quot;!==o?[new n(e,r,&quot;color expected, %s found&quot;,o)]:null===a(r)?[new n(e,r,'color expected, &quot;%s&quot; found',r)]:[]}},{&quot;../error/validation_error&quot;:295,&quot;../util/get_type&quot;:297,csscolorparser:114}],303:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../error/validation_error&quot;),i=t(&quot;../util/get_type&quot;);e.exports=function(t){var e=t.key,r=t.value;if(t.styleSpec.$version&gt;7)return r?[new n(e,r,&quot;constants have been deprecated as of v8&quot;)]:[];var a=i(r);if(&quot;object&quot;!==a)return[new n(e,r,&quot;object expected, %s found&quot;,a)];var o=[];for(var s in r)&quot;@&quot;!==s[0]&amp;&amp;o.push(new n(e+&quot;.&quot;+s,r[s],'constants must start with &quot;@&quot;'));return o}},{&quot;../error/validation_error&quot;:295,&quot;../util/get_type&quot;:297}],304:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../error/validation_error&quot;),i=t(&quot;../util/unbundle_jsonlint&quot;);e.exports=function(t){var e=t.key,r=t.value,a=t.valueSpec,o=[];return-1===a.values.indexOf(i(r))&amp;&amp;o.push(new n(e,r,&quot;expected one of [%s], %s found&quot;,a.values.join(&quot;, &quot;),r)),o}},{&quot;../error/validation_error&quot;:295,&quot;../util/unbundle_jsonlint&quot;:298}],305:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../error/validation_error&quot;),i=t(&quot;./validate_enum&quot;),a=t(&quot;../util/get_type&quot;),o=t(&quot;../util/unbundle_jsonlint&quot;);e.exports=function t(e){var r,s=e.value,l=e.key,c=e.styleSpec,u=[];if(&quot;array&quot;!==a(s))return[new n(l,s,&quot;array expected, %s found&quot;,a(s))];if(s.length&lt;1)return[new n(l,s,&quot;filter array must have at least 1 element&quot;)];switch(u=u.concat(i({key:l+&quot;[0]&quot;,value:s[0],valueSpec:c.filter_operator,style:e.style,styleSpec:e.styleSpec})),o(s[0])){case&quot;&lt;&quot;:case&quot;&lt;=&quot;:case&quot;&gt;&quot;:case&quot;&gt;=&quot;:s.length&gt;=2&amp;&amp;&quot;$type&quot;==s[1]&amp;&amp;u.push(new n(l,s,'&quot;$type&quot; cannot be use with operator &quot;%s&quot;',s[0]));case&quot;==&quot;:case&quot;!=&quot;:3!=s.length&amp;&amp;u.push(new n(l,s,'filter array for operator &quot;%s&quot; must have 3 elements',s[0]));case&quot;in&quot;:case&quot;!in&quot;:s.length&gt;=2&amp;&amp;(&quot;string&quot;!==(r=a(s[1]))?u.push(new n(l+&quot;[1]&quot;,s[1],&quot;string expected, %s found&quot;,r)):&quot;@&quot;===s[1][0]&amp;&amp;u.push(new n(l+&quot;[1]&quot;,s[1],&quot;filter key cannot be a constant&quot;)));for(var f=2;f&lt;s.length;f++)r=a(s[f]),&quot;$type&quot;==s[1]?u=u.concat(i({key:l+&quot;[&quot;+f+&quot;]&quot;,value:s[f],valueSpec:c.geometry_type,style:e.style,styleSpec:e.styleSpec})):&quot;string&quot;===r&amp;&amp;&quot;@&quot;===s[f][0]?u.push(new n(l+&quot;[&quot;+f+&quot;]&quot;,s[f],&quot;filter value cannot be a constant&quot;)):&quot;string&quot;!==r&amp;&amp;&quot;number&quot;!==r&amp;&amp;&quot;boolean&quot;!==r&amp;&amp;u.push(new n(l+&quot;[&quot;+f+&quot;]&quot;,s[f],&quot;string, number, or boolean expected, %s found&quot;,r));break;case&quot;any&quot;:case&quot;all&quot;:case&quot;none&quot;:for(f=1;f&lt;s.length;f++)u=u.concat(t({key:l+&quot;[&quot;+f+&quot;]&quot;,value:s[f],style:e.style,styleSpec:e.styleSpec}));break;case&quot;has&quot;:case&quot;!has&quot;:r=a(s[1]),2!==s.length?u.push(new n(l,s,'filter array for &quot;%s&quot; operator must have 2 elements',s[0])):&quot;string&quot;!==r?u.push(new n(l+&quot;[1]&quot;,s[1],&quot;string expected, %s found&quot;,r)):&quot;@&quot;===s[1][0]&amp;&amp;u.push(new n(l+&quot;[1]&quot;,s[1],&quot;filter key cannot be a constant&quot;))}return u}},{&quot;../error/validation_error&quot;:295,&quot;../util/get_type&quot;:297,&quot;../util/unbundle_jsonlint&quot;:298,&quot;./validate_enum&quot;:304}],306:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../error/validation_error&quot;),i=t(&quot;../util/get_type&quot;),a=t(&quot;./validate&quot;),o=t(&quot;./validate_object&quot;),s=t(&quot;./validate_array&quot;),l=t(&quot;./validate_number&quot;);e.exports=function(t){function e(t){var e=[],s=t.value,f=t.key;if(&quot;array&quot;!==i(s))return[new n(f,s,&quot;array expected, %s found&quot;,i(s))];if(2!==s.length)return[new n(f,s,&quot;array length %d expected, length %d found&quot;,2,s.length)];var d=i(s[0]);if(c||(c=d),d!==c)return[new n(f,s,&quot;%s stop key type must match previous stop key type %s&quot;,d,c)];if(&quot;object&quot;===d){if(void 0===s[0].zoom)return[new n(f,s,&quot;object stop key must have zoom&quot;)];if(void 0===s[0].value)return[new n(f,s,&quot;object stop key must have value&quot;)];e=e.concat(o({key:f+&quot;[0]&quot;,value:s[0],valueSpec:{zoom:{}},style:t.style,styleSpec:t.styleSpec,objectElementValidators:{zoom:l,value:r}}))}else e=e.concat((h?l:r)({key:f+&quot;[0]&quot;,value:s[0],valueSpec:{},style:t.style,styleSpec:t.styleSpec}));return e=e.concat(a({key:f+&quot;[1]&quot;,value:s[1],valueSpec:u,style:t.style,styleSpec:t.styleSpec})),&quot;number&quot;===i(s[0])&amp;&amp;(&quot;piecewise-constant&quot;===u.function&amp;&amp;s[0]%1!=0&amp;&amp;e.push(new n(f+&quot;[0]&quot;,s[0],&quot;zoom level for piecewise-constant functions must be an integer&quot;)),0!==t.arrayIndex&amp;&amp;s[0]&lt;t.array[t.arrayIndex-1][0]&amp;&amp;e.push(new n(f+&quot;[0]&quot;,s[0],&quot;array stops must appear in ascending order&quot;))),e}function r(t){var e=[],r=i(t.value);return&quot;number&quot;!==r&amp;&amp;&quot;string&quot;!==r&amp;&amp;&quot;array&quot;!==r&amp;&amp;e.push(new n(t.key,t.value,&quot;property value must be a number, string or array&quot;)),e}var c,u=t.valueSpec,f=void 0!==t.value.property||&quot;object&quot;===c,h=void 0===t.value.property||&quot;object&quot;===c,d=o({key:t.key,value:t.value,valueSpec:t.styleSpec.function,style:t.style,styleSpec:t.styleSpec,objectElementValidators:{stops:function(t){var r=[],a=t.value;return r=r.concat(s({key:t.key,value:a,valueSpec:t.valueSpec,style:t.style,styleSpec:t.styleSpec,arrayElementValidator:e})),&quot;array&quot;===i(a)&amp;&amp;0===a.length&amp;&amp;r.push(new n(t.key,a,&quot;array must have at least one stop&quot;)),r}}});return t.styleSpec.$version&gt;=8&amp;&amp;(f&amp;&amp;!t.valueSpec[&quot;property-function&quot;]?d.push(new n(t.key,t.value,&quot;property functions not supported&quot;)):h&amp;&amp;!t.valueSpec[&quot;zoom-function&quot;]&amp;&amp;d.push(new n(t.key,t.value,&quot;zoom functions not supported&quot;))),d}},{&quot;../error/validation_error&quot;:295,&quot;../util/get_type&quot;:297,&quot;./validate&quot;:299,&quot;./validate_array&quot;:300,&quot;./validate_number&quot;:310,&quot;./validate_object&quot;:311}],307:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../error/validation_error&quot;),i=t(&quot;./validate_string&quot;);e.exports=function(t){var e=t.value,r=t.key,a=i(t);return a.length?a:(-1===e.indexOf(&quot;{fontstack}&quot;)&amp;&amp;a.push(new n(r,e,'&quot;glyphs&quot; url must include a &quot;{fontstack}&quot; token')),-1===e.indexOf(&quot;{range}&quot;)&amp;&amp;a.push(new n(r,e,'&quot;glyphs&quot; url must include a &quot;{range}&quot; token')),a)}},{&quot;../error/validation_error&quot;:295,&quot;./validate_string&quot;:314}],308:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../error/validation_error&quot;),i=t(&quot;../util/unbundle_jsonlint&quot;),a=t(&quot;./validate_object&quot;),o=t(&quot;./validate_filter&quot;),s=t(&quot;./validate_paint_property&quot;),l=t(&quot;./validate_layout_property&quot;),c=t(&quot;../util/extend&quot;);e.exports=function(t){var e=[],r=t.value,u=t.key,f=t.style,h=t.styleSpec;r.type||r.ref||e.push(new n(u,r,'either &quot;type&quot; or &quot;ref&quot; is required'));var d=i(r.type),p=i(r.ref);if(r.id)for(var m=0;m&lt;t.arrayIndex;m++){var g=f.layers[m];i(g.id)===i(r.id)&amp;&amp;e.push(new n(u,r.id,'duplicate layer id &quot;%s&quot;, previously used at line %d',r.id,g.id.__line__))}if(&quot;ref&quot;in r){[&quot;type&quot;,&quot;source&quot;,&quot;source-layer&quot;,&quot;filter&quot;,&quot;layout&quot;].forEach(function(t){t in r&amp;&amp;e.push(new n(u,r[t],'&quot;%s&quot; is prohibited for ref layers',t))});var v;f.layers.forEach(function(t){t.id==p&amp;&amp;(v=t)}),v?v.ref?e.push(new n(u,r.ref,&quot;ref cannot reference another ref layer&quot;)):d=i(v.type):e.push(new n(u,r.ref,'ref layer &quot;%s&quot; not found',p))}else if(&quot;background&quot;!==d)if(r.source){var y=f.sources&amp;&amp;f.sources[r.source];y?&quot;vector&quot;==y.type&amp;&amp;&quot;raster&quot;==d?e.push(new n(u,r.source,'layer &quot;%s&quot; requires a raster source',r.id)):&quot;raster&quot;==y.type&amp;&amp;&quot;raster&quot;!=d?e.push(new n(u,r.source,'layer &quot;%s&quot; requires a vector source',r.id)):&quot;vector&quot;!=y.type||r[&quot;source-layer&quot;]||e.push(new n(u,r,'layer &quot;%s&quot; must specify a &quot;source-layer&quot;',r.id)):e.push(new n(u,r.source,'source &quot;%s&quot; not found',r.source))}else e.push(new n(u,r,'missing required property &quot;source&quot;'));return e=e.concat(a({key:u,value:r,valueSpec:h.layer,style:t.style,styleSpec:t.styleSpec,objectElementValidators:{filter:o,layout:function(t){return a({layer:r,key:t.key,value:t.value,style:t.style,styleSpec:t.styleSpec,objectElementValidators:{&quot;*&quot;:function(t){return l(c({layerType:d},t))}}})},paint:function(t){return a({layer:r,key:t.key,value:t.value,style:t.style,styleSpec:t.styleSpec,objectElementValidators:{&quot;*&quot;:function(t){return s(c({layerType:d},t))}}})}}}))}},{&quot;../error/validation_error&quot;:295,&quot;../util/extend&quot;:296,&quot;../util/unbundle_jsonlint&quot;:298,&quot;./validate_filter&quot;:305,&quot;./validate_layout_property&quot;:309,&quot;./validate_object&quot;:311,&quot;./validate_paint_property&quot;:312}],309:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;./validate&quot;),i=t(&quot;../error/validation_error&quot;);e.exports=function(t){var e=t.key,r=t.style,a=t.styleSpec,o=t.value,s=t.objectKey,l=a[&quot;layout_&quot;+t.layerType];if(t.valueSpec||l[s]){var c=[];return&quot;symbol&quot;===t.layerType&amp;&amp;(&quot;icon-image&quot;===s&amp;&amp;r&amp;&amp;!r.sprite?c.push(new i(e,o,'use of &quot;icon-image&quot; requires a style &quot;sprite&quot; property')):&quot;text-field&quot;===s&amp;&amp;r&amp;&amp;!r.glyphs&amp;&amp;c.push(new i(e,o,'use of &quot;text-field&quot; requires a style &quot;glyphs&quot; property'))),c.concat(n({key:t.key,value:o,valueSpec:t.valueSpec||l[s],style:r,styleSpec:a}))}return[new i(e,o,'unknown property &quot;%s&quot;',s)]}},{&quot;../error/validation_error&quot;:295,&quot;./validate&quot;:299}],310:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../util/get_type&quot;),i=t(&quot;../error/validation_error&quot;);e.exports=function(t){var e=t.key,r=t.value,a=t.valueSpec,o=n(r);return&quot;number&quot;!==o?[new i(e,r,&quot;number expected, %s found&quot;,o)]:&quot;minimum&quot;in a&amp;&amp;r&lt;a.minimum?[new i(e,r,&quot;%s is less than the minimum value %s&quot;,r,a.minimum)]:&quot;maximum&quot;in a&amp;&amp;r&gt;a.maximum?[new i(e,r,&quot;%s is greater than the maximum value %s&quot;,r,a.maximum)]:[]}},{&quot;../error/validation_error&quot;:295,&quot;../util/get_type&quot;:297}],311:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../error/validation_error&quot;),i=t(&quot;../util/get_type&quot;),a=t(&quot;./validate&quot;);e.exports=function(t){var e=t.key,r=t.value,o=t.valueSpec,s=t.objectElementValidators||{},l=t.style,c=t.styleSpec,u=[],f=i(r);if(&quot;object&quot;!==f)return[new n(e,r,&quot;object expected, %s found&quot;,f)];for(var h in r){var d=h.split(&quot;.&quot;)[0],p=o&amp;&amp;(o[d]||o[&quot;*&quot;]),m=s[d]||s[&quot;*&quot;];p||m?u=u.concat((m||a)({key:(e?e+&quot;.&quot;:e)+h,value:r[h],valueSpec:p,style:l,styleSpec:c,object:r,objectKey:h})):&quot;&quot;!==e&amp;&amp;1!==e.split(&quot;.&quot;).length&amp;&amp;u.push(new n(e,r[h],'unknown property &quot;%s&quot;',h))}for(d in o)o[d].required&amp;&amp;void 0===o[d].default&amp;&amp;void 0===r[d]&amp;&amp;u.push(new n(e,r,'missing required property &quot;%s&quot;',d));return u}},{&quot;../error/validation_error&quot;:295,&quot;../util/get_type&quot;:297,&quot;./validate&quot;:299}],312:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;./validate&quot;),i=t(&quot;../error/validation_error&quot;);e.exports=function(t){var e=t.key,r=t.style,a=t.styleSpec,o=t.value,s=t.objectKey,l=a[&quot;paint_&quot;+t.layerType],c=s.match(/^(.*)-transition$/);return c&amp;&amp;l[c[1]]&amp;&amp;l[c[1]].transition?n({key:e,value:o,valueSpec:a.transition,style:r,styleSpec:a}):t.valueSpec||l[s]?n({key:t.key,value:o,valueSpec:t.valueSpec||l[s],style:r,styleSpec:a}):[new i(e,o,'unknown property &quot;%s&quot;',s)]}},{&quot;../error/validation_error&quot;:295,&quot;./validate&quot;:299}],313:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../error/validation_error&quot;),i=t(&quot;../util/unbundle_jsonlint&quot;),a=t(&quot;./validate_object&quot;),o=t(&quot;./validate_enum&quot;);e.exports=function(t){var e=t.value,r=t.key,s=t.styleSpec,l=t.style;if(!e.type)return[new n(r,e,'&quot;type&quot; is required')];switch(i(e.type)){case&quot;vector&quot;:case&quot;raster&quot;:var c=[];if(c=c.concat(a({key:r,value:e,valueSpec:s.source_tile,style:t.style,styleSpec:s})),&quot;url&quot;in e)for(var u in e)[&quot;type&quot;,&quot;url&quot;,&quot;tileSize&quot;].indexOf(u)&lt;0&amp;&amp;c.push(new n(r+&quot;.&quot;+u,e[u],'a source with a &quot;url&quot; property may not include a &quot;%s&quot; property',u));return c;case&quot;geojson&quot;:return a({key:r,value:e,valueSpec:s.source_geojson,style:l,styleSpec:s});case&quot;video&quot;:return a({key:r,value:e,valueSpec:s.source_video,style:l,styleSpec:s});case&quot;image&quot;:return a({key:r,value:e,valueSpec:s.source_image,style:l,styleSpec:s});default:return o({key:r+&quot;.type&quot;,value:e.type,valueSpec:{values:[&quot;vector&quot;,&quot;raster&quot;,&quot;geojson&quot;,&quot;video&quot;,&quot;image&quot;]},style:l,styleSpec:s})}}},{&quot;../error/validation_error&quot;:295,&quot;../util/unbundle_jsonlint&quot;:298,&quot;./validate_enum&quot;:304,&quot;./validate_object&quot;:311}],314:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../util/get_type&quot;),i=t(&quot;../error/validation_error&quot;);e.exports=function(t){var e=t.value,r=t.key,a=n(e);return&quot;string&quot;!==a?[new i(r,e,&quot;string expected, %s found&quot;,a)]:[]}},{&quot;../error/validation_error&quot;:295,&quot;../util/get_type&quot;:297}],315:[function(t,e,r){&quot;use strict&quot;;function n(t,e){e=e||l;var r=[];return r=r.concat(s({key:&quot;&quot;,value:t,valueSpec:e.$root,styleSpec:e,style:t,objectElementValidators:{glyphs:c}})),e.$version&gt;7&amp;&amp;t.constants&amp;&amp;(r=r.concat(o({key:&quot;constants&quot;,value:t.constants,style:t,styleSpec:e}))),i(r)}function i(t){return[].concat(t).sort(function(t,e){return t.line-e.line})}function a(t){return function(){return i(t.apply(this,arguments))}}var o=t(&quot;./validate/validate_constants&quot;),s=t(&quot;./validate/validate&quot;),l=t(&quot;../reference/latest.min&quot;),c=t(&quot;./validate/validate_glyphs_url&quot;);n.source=a(t(&quot;./validate/validate_source&quot;)),n.layer=a(t(&quot;./validate/validate_layer&quot;)),n.filter=a(t(&quot;./validate/validate_filter&quot;)),n.paintProperty=a(t(&quot;./validate/validate_paint_property&quot;)),n.layoutProperty=a(t(&quot;./validate/validate_layout_property&quot;)),e.exports=n},{&quot;../reference/latest.min&quot;:316,&quot;./validate/validate&quot;:299,&quot;./validate/validate_constants&quot;:303,&quot;./validate/validate_filter&quot;:305,&quot;./validate/validate_glyphs_url&quot;:307,&quot;./validate/validate_layer&quot;:308,&quot;./validate/validate_layout_property&quot;:309,&quot;./validate/validate_paint_property&quot;:312,&quot;./validate/validate_source&quot;:313}],316:[function(t,e,r){e.exports=t(&quot;./v8.min.json&quot;)},{&quot;./v8.min.json&quot;:317}],317:[function(t,e,r){e.exports={$version:8,$root:{version:{required:!0,type:&quot;enum&quot;,values:[8]},name:{type:&quot;string&quot;},metadata:{type:&quot;*&quot;},center:{type:&quot;array&quot;,value:&quot;number&quot;},zoom:{type:&quot;number&quot;},bearing:{type:&quot;number&quot;,default:0,period:360,units:&quot;degrees&quot;},pitch:{type:&quot;number&quot;,default:0,units:&quot;degrees&quot;},sources:{required:!0,type:&quot;sources&quot;},sprite:{type:&quot;string&quot;},glyphs:{type:&quot;string&quot;},transition:{type:&quot;transition&quot;},layers:{required:!0,type:&quot;array&quot;,value:&quot;layer&quot;}},sources:{&quot;*&quot;:{type:&quot;source&quot;}},source:[&quot;source_tile&quot;,&quot;source_geojson&quot;,&quot;source_video&quot;,&quot;source_image&quot;],source_tile:{type:{required:!0,type:&quot;enum&quot;,values:[&quot;vector&quot;,&quot;raster&quot;]},url:{type:&quot;string&quot;},tiles:{type:&quot;array&quot;,value:&quot;string&quot;},minzoom:{type:&quot;number&quot;,default:0},maxzoom:{type:&quot;number&quot;,default:22},tileSize:{type:&quot;number&quot;,default:512,units:&quot;pixels&quot;},&quot;*&quot;:{type:&quot;*&quot;}},source_geojson:{type:{required:!0,type:&quot;enum&quot;,values:[&quot;geojson&quot;]},data:{type:&quot;*&quot;},maxzoom:{type:&quot;number&quot;,default:14},buffer:{type:&quot;number&quot;,default:64},tolerance:{type:&quot;number&quot;,default:3},cluster:{type:&quot;boolean&quot;,default:!1},clusterRadius:{type:&quot;number&quot;,default:400},clusterMaxZoom:{type:&quot;number&quot;}},source_video:{type:{required:!0,type:&quot;enum&quot;,values:[&quot;video&quot;]},urls:{required:!0,type:&quot;array&quot;,value:&quot;string&quot;},coordinates:{required:!0,type:&quot;array&quot;,length:4,value:{type:&quot;array&quot;,length:2,value:&quot;number&quot;}}},source_image:{type:{required:!0,type:&quot;enum&quot;,values:[&quot;image&quot;]},url:{required:!0,type:&quot;string&quot;},coordinates:{required:!0,type:&quot;array&quot;,length:4,value:{type:&quot;array&quot;,length:2,value:&quot;number&quot;}}},layer:{id:{type:&quot;string&quot;,required:!0},type:{type:&quot;enum&quot;,values:[&quot;fill&quot;,&quot;line&quot;,&quot;symbol&quot;,&quot;circle&quot;,&quot;raster&quot;,&quot;background&quot;]},metadata:{type:&quot;*&quot;},ref:{type:&quot;string&quot;},source:{type:&quot;string&quot;},&quot;source-layer&quot;:{type:&quot;string&quot;},minzoom:{type:&quot;number&quot;,minimum:0,maximum:22},maxzoom:{type:&quot;number&quot;,minimum:0,maximum:22},interactive:{type:&quot;boolean&quot;,default:!1},filter:{type:&quot;filter&quot;},layout:{type:&quot;layout&quot;},paint:{type:&quot;paint&quot;},&quot;paint.*&quot;:{type:&quot;paint&quot;}},layout:[&quot;layout_fill&quot;,&quot;layout_line&quot;,&quot;layout_circle&quot;,&quot;layout_symbol&quot;,&quot;layout_raster&quot;,&quot;layout_background&quot;],layout_background:{visibility:{type:&quot;enum&quot;,function:&quot;piecewise-constant&quot;,&quot;zoom-function&quot;:!0,values:[&quot;visible&quot;,&quot;none&quot;],default:&quot;visible&quot;}},layout_fill:{visibility:{type:&quot;enum&quot;,function:&quot;piecewise-constant&quot;,&quot;zoom-function&quot;:!0,values:[&quot;visible&quot;,&quot;none&quot;],default:&quot;visible&quot;}},layout_circle:{visibility:{type:&quot;enum&quot;,function:&quot;piecewise-constant&quot;,&quot;zoom-function&quot;:!0,values:[&quot;visible&quot;,&quot;none&quot;],default:&quot;visible&quot;}},layout_line:{&quot;line-cap&quot;:{type:&quot;enum&quot;,function:&quot;piecewise-constant&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,values:[&quot;butt&quot;,&quot;round&quot;,&quot;square&quot;],default:&quot;butt&quot;},&quot;line-join&quot;:{type:&quot;enum&quot;,function:&quot;piecewise-constant&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,values:[&quot;bevel&quot;,&quot;round&quot;,&quot;miter&quot;],default:&quot;miter&quot;},&quot;line-miter-limit&quot;:{type:&quot;number&quot;,default:2,function:&quot;interpolated&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,requires:[{&quot;line-join&quot;:&quot;miter&quot;}]},&quot;line-round-limit&quot;:{type:&quot;number&quot;,default:1.05,function:&quot;interpolated&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,requires:[{&quot;line-join&quot;:&quot;round&quot;}]},visibility:{type:&quot;enum&quot;,function:&quot;piecewise-constant&quot;,&quot;zoom-function&quot;:!0,values:[&quot;visible&quot;,&quot;none&quot;],default:&quot;visible&quot;}},layout_symbol:{&quot;symbol-placement&quot;:{type:&quot;enum&quot;,function:&quot;piecewise-constant&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,values:[&quot;point&quot;,&quot;line&quot;],default:&quot;point&quot;},&quot;symbol-spacing&quot;:{type:&quot;number&quot;,default:250,minimum:1,function:&quot;interpolated&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,units:&quot;pixels&quot;,requires:[{&quot;symbol-placement&quot;:&quot;line&quot;}]},&quot;symbol-avoid-edges&quot;:{type:&quot;boolean&quot;,function:&quot;piecewise-constant&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,default:!1},&quot;icon-allow-overlap&quot;:{type:&quot;boolean&quot;,function:&quot;piecewise-constant&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,default:!1,requires:[&quot;icon-image&quot;]},&quot;icon-ignore-placement&quot;:{type:&quot;boolean&quot;,function:&quot;piecewise-constant&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,default:!1,requires:[&quot;icon-image&quot;]},&quot;icon-optional&quot;:{type:&quot;boolean&quot;,function:&quot;piecewise-constant&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,default:!1,requires:[&quot;icon-image&quot;,&quot;text-field&quot;]},&quot;icon-rotation-alignment&quot;:{type:&quot;enum&quot;,function:&quot;piecewise-constant&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,values:[&quot;map&quot;,&quot;viewport&quot;],default:&quot;viewport&quot;,requires:[&quot;icon-image&quot;]},&quot;icon-size&quot;:{type:&quot;number&quot;,default:1,minimum:0,function:&quot;interpolated&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,requires:[&quot;icon-image&quot;]},&quot;icon-text-fit&quot;:{type:&quot;enum&quot;,function:&quot;piecewise-constant&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!1,values:[&quot;none&quot;,&quot;both&quot;,&quot;width&quot;,&quot;height&quot;],default:&quot;none&quot;,requires:[&quot;icon-image&quot;,&quot;text-field&quot;]},&quot;icon-text-fit-padding&quot;:{type:&quot;array&quot;,value:&quot;number&quot;,length:4,default:[0,0,0,0],units:&quot;pixels&quot;,function:&quot;interpolated&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,requires:[&quot;icon-image&quot;,&quot;icon-text-fit&quot;,&quot;text-field&quot;]},&quot;icon-image&quot;:{type:&quot;string&quot;,function:&quot;piecewise-constant&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,tokens:!0},&quot;icon-rotate&quot;:{type:&quot;number&quot;,default:0,period:360,function:&quot;interpolated&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,units:&quot;degrees&quot;,requires:[&quot;icon-image&quot;]},&quot;icon-padding&quot;:{type:&quot;number&quot;,default:2,minimum:0,function:&quot;interpolated&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,units:&quot;pixels&quot;,requires:[&quot;icon-image&quot;]},&quot;icon-keep-upright&quot;:{type:&quot;boolean&quot;,function:&quot;piecewise-constant&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,default:!1,requires:[&quot;icon-image&quot;,{&quot;icon-rotation-alignment&quot;:&quot;map&quot;},{&quot;symbol-placement&quot;:&quot;line&quot;}]},&quot;icon-offset&quot;:{type:&quot;array&quot;,value:&quot;number&quot;,length:2,default:[0,0],function:&quot;interpolated&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,requires:[&quot;icon-image&quot;]},&quot;text-pitch-alignment&quot;:{type:&quot;enum&quot;,function:&quot;piecewise-constant&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,values:[&quot;map&quot;,&quot;viewport&quot;],requires:[&quot;text-field&quot;]},&quot;text-rotation-alignment&quot;:{type:&quot;enum&quot;,function:&quot;piecewise-constant&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,values:[&quot;map&quot;,&quot;viewport&quot;],default:&quot;viewport&quot;,requires:[&quot;text-field&quot;]},&quot;text-field&quot;:{type:&quot;string&quot;,function:&quot;piecewise-constant&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,default:&quot;&quot;,tokens:!0},&quot;text-font&quot;:{type:&quot;array&quot;,value:&quot;string&quot;,function:&quot;piecewise-constant&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,default:[&quot;Open Sans Regular&quot;,&quot;Arial Unicode MS Regular&quot;],requires:[&quot;text-field&quot;]},&quot;text-size&quot;:{type:&quot;number&quot;,default:16,minimum:0,units:&quot;pixels&quot;,function:&quot;interpolated&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,requires:[&quot;text-field&quot;]},&quot;text-max-width&quot;:{type:&quot;number&quot;,default:10,minimum:0,units:&quot;em&quot;,function:&quot;interpolated&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,requires:[&quot;text-field&quot;]},&quot;text-line-height&quot;:{type:&quot;number&quot;,default:1.2,units:&quot;em&quot;,function:&quot;interpolated&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,requires:[&quot;text-field&quot;]},&quot;text-letter-spacing&quot;:{type:&quot;number&quot;,default:0,units:&quot;em&quot;,function:&quot;interpolated&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,requires:[&quot;text-field&quot;]},&quot;text-justify&quot;:{type:&quot;enum&quot;,function:&quot;piecewise-constant&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,values:[&quot;left&quot;,&quot;center&quot;,&quot;right&quot;],default:&quot;center&quot;,requires:[&quot;text-field&quot;]},&quot;text-anchor&quot;:{type:&quot;enum&quot;,function:&quot;piecewise-constant&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,values:[&quot;center&quot;,&quot;left&quot;,&quot;right&quot;,&quot;top&quot;,&quot;bottom&quot;,&quot;top-left&quot;,&quot;top-right&quot;,&quot;bottom-left&quot;,&quot;bottom-right&quot;],default:&quot;center&quot;,requires:[&quot;text-field&quot;]},&quot;text-max-angle&quot;:{type:&quot;number&quot;,default:45,units:&quot;degrees&quot;,function:&quot;interpolated&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,requires:[&quot;text-field&quot;,{&quot;symbol-placement&quot;:&quot;line&quot;}]},&quot;text-rotate&quot;:{type:&quot;number&quot;,default:0,period:360,units:&quot;degrees&quot;,function:&quot;interpolated&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,requires:[&quot;text-field&quot;]},&quot;text-padding&quot;:{type:&quot;number&quot;,default:2,minimum:0,units:&quot;pixels&quot;,function:&quot;interpolated&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,requires:[&quot;text-field&quot;]},&quot;text-keep-upright&quot;:{type:&quot;boolean&quot;,function:&quot;piecewise-constant&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,default:!0,requires:[&quot;text-field&quot;,{&quot;text-rotation-alignment&quot;:&quot;map&quot;},{&quot;symbol-placement&quot;:&quot;line&quot;}]},&quot;text-transform&quot;:{type:&quot;enum&quot;,function:&quot;piecewise-constant&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,values:[&quot;none&quot;,&quot;uppercase&quot;,&quot;lowercase&quot;],default:&quot;none&quot;,requires:[&quot;text-field&quot;]},&quot;text-offset&quot;:{type:&quot;array&quot;,value:&quot;number&quot;,units:&quot;ems&quot;,function:&quot;interpolated&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,length:2,default:[0,0],requires:[&quot;text-field&quot;]},&quot;text-allow-overlap&quot;:{type:&quot;boolean&quot;,function:&quot;piecewise-constant&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,default:!1,requires:[&quot;text-field&quot;]},&quot;text-ignore-placement&quot;:{type:&quot;boolean&quot;,function:&quot;piecewise-constant&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,default:!1,requires:[&quot;text-field&quot;]},&quot;text-optional&quot;:{type:&quot;boolean&quot;,function:&quot;piecewise-constant&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,default:!1,requires:[&quot;text-field&quot;,&quot;icon-image&quot;]},visibility:{type:&quot;enum&quot;,function:&quot;piecewise-constant&quot;,&quot;zoom-function&quot;:!0,values:[&quot;visible&quot;,&quot;none&quot;],default:&quot;visible&quot;}},layout_raster:{visibility:{type:&quot;enum&quot;,function:&quot;piecewise-constant&quot;,&quot;zoom-function&quot;:!0,values:[&quot;visible&quot;,&quot;none&quot;],default:&quot;visible&quot;}},filter:{type:&quot;array&quot;,value:&quot;*&quot;},filter_operator:{type:&quot;enum&quot;,values:[&quot;==&quot;,&quot;!=&quot;,&quot;&gt;&quot;,&quot;&gt;=&quot;,&quot;&lt;&quot;,&quot;&lt;=&quot;,&quot;in&quot;,&quot;!in&quot;,&quot;all&quot;,&quot;any&quot;,&quot;none&quot;,&quot;has&quot;,&quot;!has&quot;]},geometry_type:{type:&quot;enum&quot;,values:[&quot;Point&quot;,&quot;LineString&quot;,&quot;Polygon&quot;]},color_operation:{type:&quot;enum&quot;,values:[&quot;lighten&quot;,&quot;saturate&quot;,&quot;spin&quot;,&quot;fade&quot;,&quot;mix&quot;]},function:{stops:{type:&quot;array&quot;,required:!0,value:&quot;function_stop&quot;},base:{type:&quot;number&quot;,default:1,minimum:0},property:{type:&quot;string&quot;,default:&quot;$zoom&quot;},type:{type:&quot;enum&quot;,values:[&quot;exponential&quot;,&quot;interval&quot;,&quot;categorical&quot;],default:&quot;exponential&quot;}},function_stop:{type:&quot;array&quot;,minimum:0,maximum:22,value:[&quot;number&quot;,&quot;color&quot;],length:2},paint:[&quot;paint_fill&quot;,&quot;paint_line&quot;,&quot;paint_circle&quot;,&quot;paint_symbol&quot;,&quot;paint_raster&quot;,&quot;paint_background&quot;],paint_fill:{&quot;fill-antialias&quot;:{type:&quot;boolean&quot;,function:&quot;piecewise-constant&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,default:!0},&quot;fill-opacity&quot;:{type:&quot;number&quot;,function:&quot;interpolated&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,default:1,minimum:0,maximum:1,transition:!0},&quot;fill-color&quot;:{type:&quot;color&quot;,default:&quot;#000000&quot;,function:&quot;interpolated&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,transition:!0,requires:[{&quot;!&quot;:&quot;fill-pattern&quot;}]},&quot;fill-outline-color&quot;:{type:&quot;color&quot;,function:&quot;interpolated&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,transition:!0,requires:[{&quot;!&quot;:&quot;fill-pattern&quot;},{&quot;fill-antialias&quot;:!0}]},&quot;fill-translate&quot;:{type:&quot;array&quot;,value:&quot;number&quot;,length:2,default:[0,0],function:&quot;interpolated&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,transition:!0,units:&quot;pixels&quot;},&quot;fill-translate-anchor&quot;:{type:&quot;enum&quot;,function:&quot;piecewise-constant&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,values:[&quot;map&quot;,&quot;viewport&quot;],default:&quot;map&quot;,requires:[&quot;fill-translate&quot;]},&quot;fill-pattern&quot;:{type:&quot;string&quot;,function:&quot;piecewise-constant&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,transition:!0}},paint_line:{&quot;line-opacity&quot;:{type:&quot;number&quot;,function:&quot;interpolated&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,default:1,minimum:0,maximum:1,transition:!0},&quot;line-color&quot;:{type:&quot;color&quot;,default:&quot;#000000&quot;,function:&quot;interpolated&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,transition:!0,requires:[{&quot;!&quot;:&quot;line-pattern&quot;}]},&quot;line-translate&quot;:{type:&quot;array&quot;,value:&quot;number&quot;,length:2,default:[0,0],function:&quot;interpolated&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,transition:!0,units:&quot;pixels&quot;},&quot;line-translate-anchor&quot;:{type:&quot;enum&quot;,function:&quot;piecewise-constant&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,values:[&quot;map&quot;,&quot;viewport&quot;],default:&quot;map&quot;,requires:[&quot;line-translate&quot;]},&quot;line-width&quot;:{type:&quot;number&quot;,default:1,minimum:0,function:&quot;interpolated&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,transition:!0,units:&quot;pixels&quot;},&quot;line-gap-width&quot;:{type:&quot;number&quot;,default:0,minimum:0,function:&quot;interpolated&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,transition:!0,units:&quot;pixels&quot;},&quot;line-offset&quot;:{type:&quot;number&quot;,default:0,function:&quot;interpolated&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,transition:!0,units:&quot;pixels&quot;},&quot;line-blur&quot;:{type:&quot;number&quot;,default:0,minimum:0,function:&quot;interpolated&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,transition:!0,units:&quot;pixels&quot;},&quot;line-dasharray&quot;:{type:&quot;array&quot;,value:&quot;number&quot;,function:&quot;piecewise-constant&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,minimum:0,transition:!0,units:&quot;line widths&quot;,requires:[{&quot;!&quot;:&quot;line-pattern&quot;}]},&quot;line-pattern&quot;:{type:&quot;string&quot;,function:&quot;piecewise-constant&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,transition:!0}},paint_circle:{&quot;circle-radius&quot;:{type:&quot;number&quot;,default:5,minimum:0,function:&quot;interpolated&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,transition:!0,units:&quot;pixels&quot;},&quot;circle-color&quot;:{type:&quot;color&quot;,default:&quot;#000000&quot;,function:&quot;interpolated&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,transition:!0},&quot;circle-blur&quot;:{type:&quot;number&quot;,default:0,function:&quot;interpolated&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,transition:!0},&quot;circle-opacity&quot;:{type:&quot;number&quot;,default:1,minimum:0,maximum:1,function:&quot;interpolated&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,transition:!0},&quot;circle-translate&quot;:{type:&quot;array&quot;,value:&quot;number&quot;,length:2,default:[0,0],function:&quot;interpolated&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,transition:!0,units:&quot;pixels&quot;},&quot;circle-translate-anchor&quot;:{type:&quot;enum&quot;,function:&quot;piecewise-constant&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,values:[&quot;map&quot;,&quot;viewport&quot;],default:&quot;map&quot;,requires:[&quot;circle-translate&quot;]},&quot;circle-pitch-scale&quot;:{type:&quot;enum&quot;,function:&quot;piecewise-constant&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,values:[&quot;map&quot;,&quot;viewport&quot;],default:&quot;map&quot;}},paint_symbol:{&quot;icon-opacity&quot;:{type:&quot;number&quot;,default:1,minimum:0,maximum:1,function:&quot;interpolated&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,transition:!0,requires:[&quot;icon-image&quot;]},&quot;icon-color&quot;:{type:&quot;color&quot;,default:&quot;#000000&quot;,function:&quot;interpolated&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,transition:!0,requires:[&quot;icon-image&quot;]},&quot;icon-halo-color&quot;:{type:&quot;color&quot;,default:&quot;rgba(0, 0, 0, 0)&quot;,function:&quot;interpolated&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,transition:!0,requires:[&quot;icon-image&quot;]},&quot;icon-halo-width&quot;:{type:&quot;number&quot;,default:0,minimum:0,function:&quot;interpolated&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,transition:!0,units:&quot;pixels&quot;,requires:[&quot;icon-image&quot;]},&quot;icon-halo-blur&quot;:{type:&quot;number&quot;,default:0,minimum:0,function:&quot;interpolated&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,transition:!0,units:&quot;pixels&quot;,requires:[&quot;icon-image&quot;]},&quot;icon-translate&quot;:{type:&quot;array&quot;,value:&quot;number&quot;,length:2,default:[0,0],function:&quot;interpolated&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,transition:!0,units:&quot;pixels&quot;,requires:[&quot;icon-image&quot;]},&quot;icon-translate-anchor&quot;:{type:&quot;enum&quot;,function:&quot;piecewise-constant&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,values:[&quot;map&quot;,&quot;viewport&quot;],default:&quot;map&quot;,requires:[&quot;icon-image&quot;,&quot;icon-translate&quot;]},&quot;text-opacity&quot;:{type:&quot;number&quot;,default:1,minimum:0,maximum:1,function:&quot;interpolated&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,transition:!0,requires:[&quot;text-field&quot;]},&quot;text-color&quot;:{type:&quot;color&quot;,default:&quot;#000000&quot;,function:&quot;interpolated&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,transition:!0,requires:[&quot;text-field&quot;]},&quot;text-halo-color&quot;:{type:&quot;color&quot;,default:&quot;rgba(0, 0, 0, 0)&quot;,function:&quot;interpolated&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,transition:!0,requires:[&quot;text-field&quot;]},&quot;text-halo-width&quot;:{type:&quot;number&quot;,default:0,minimum:0,function:&quot;interpolated&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,transition:!0,units:&quot;pixels&quot;,requires:[&quot;text-field&quot;]},&quot;text-halo-blur&quot;:{type:&quot;number&quot;,default:0,minimum:0,function:&quot;interpolated&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,transition:!0,units:&quot;pixels&quot;,requires:[&quot;text-field&quot;]},&quot;text-translate&quot;:{type:&quot;array&quot;,value:&quot;number&quot;,length:2,default:[0,0],function:&quot;interpolated&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,transition:!0,units:&quot;pixels&quot;,requires:[&quot;text-field&quot;]},&quot;text-translate-anchor&quot;:{type:&quot;enum&quot;,function:&quot;piecewise-constant&quot;,&quot;zoom-function&quot;:!0,&quot;property-function&quot;:!0,values:[&quot;map&quot;,&quot;viewport&quot;],default:&quot;map&quot;,requires:[&quot;text-field&quot;,&quot;text-translate&quot;]}},paint_raster:{&quot;raster-opacity&quot;:{type:&quot;number&quot;,default:1,minimum:0,maximum:1,function:&quot;interpolated&quot;,&quot;zoom-function&quot;:!0,transition:!0},&quot;raster-hue-rotate&quot;:{type:&quot;number&quot;,default:0,period:360,function:&quot;interpolated&quot;,&quot;zoom-function&quot;:!0,transition:!0,units:&quot;degrees&quot;},&quot;raster-brightness-min&quot;:{type:&quot;number&quot;,function:&quot;interpolated&quot;,&quot;zoom-function&quot;:!0,default:0,minimum:0,maximum:1,transition:!0},&quot;raster-brightness-max&quot;:{type:&quot;number&quot;,function:&quot;interpolated&quot;,&quot;zoom-function&quot;:!0,default:1,minimum:0,maximum:1,transition:!0},&quot;raster-saturation&quot;:{type:&quot;number&quot;,default:0,minimum:-1,maximum:1,function:&quot;interpolated&quot;,&quot;zoom-function&quot;:!0,transition:!0},&quot;raster-contrast&quot;:{type:&quot;number&quot;,default:0,minimum:-1,maximum:1,function:&quot;interpolated&quot;,&quot;zoom-function&quot;:!0,transition:!0},&quot;raster-fade-duration&quot;:{type:&quot;number&quot;,default:300,minimum:0,function:&quot;interpolated&quot;,&quot;zoom-function&quot;:!0,transition:!0,units:&quot;milliseconds&quot;}},paint_background:{&quot;background-color&quot;:{type:&quot;color&quot;,default:&quot;#000000&quot;,function:&quot;interpolated&quot;,&quot;zoom-function&quot;:!0,transition:!0,requires:[{&quot;!&quot;:&quot;background-pattern&quot;}]},&quot;background-pattern&quot;:{type:&quot;string&quot;,function:&quot;piecewise-constant&quot;,&quot;zoom-function&quot;:!0,transition:!0},&quot;background-opacity&quot;:{type:&quot;number&quot;,default:1,minimum:0,maximum:1,function:&quot;interpolated&quot;,&quot;zoom-function&quot;:!0,transition:!0}},transition:{duration:{type:&quot;number&quot;,default:300,minimum:0,units:&quot;milliseconds&quot;},delay:{type:&quot;number&quot;,default:0,minimum:0,units:&quot;milliseconds&quot;}}}},{}],318:[function(t,e,r){&quot;use strict&quot;;function n(t){return!!(&quot;undefined&quot;!=typeof window&amp;&amp;&quot;undefined&quot;!=typeof document&amp;&amp;Array.prototype&amp;&amp;Array.prototype.every&amp;&amp;Array.prototype.filter&amp;&amp;Array.prototype.forEach&amp;&amp;Array.prototype.indexOf&amp;&amp;Array.prototype.lastIndexOf&amp;&amp;Array.prototype.map&amp;&amp;Array.prototype.some&amp;&amp;Array.prototype.reduce&amp;&amp;Array.prototype.reduceRight&amp;&amp;Array.isArray&amp;&amp;Function.prototype&amp;&amp;Function.prototype.bind&amp;&amp;Object.keys&amp;&amp;Object.create&amp;&amp;Object.getPrototypeOf&amp;&amp;Object.getOwnPropertyNames&amp;&amp;Object.isSealed&amp;&amp;Object.isFrozen&amp;&amp;Object.isExtensible&amp;&amp;Object.getOwnPropertyDescriptor&amp;&amp;Object.defineProperty&amp;&amp;Object.defineProperties&amp;&amp;Object.seal&amp;&amp;Object.freeze&amp;&amp;Object.preventExtensions&amp;&amp;&quot;JSON&quot;in window&amp;&amp;&quot;parse&quot;in JSON&amp;&amp;&quot;stringify&quot;in JSON&amp;&amp;&quot;Worker&quot;in window&amp;&amp;&quot;Uint8ClampedArray&quot;in window&amp;&amp;function(t){void 0===i[t]&amp;&amp;(i[t]=function(t){var e=document.createElement(&quot;canvas&quot;),r=Object.create(n.webGLContextAttributes);return r.failIfMajorPerformanceCaveat=t,e.probablySupportsContext?e.probablySupportsContext(&quot;webgl&quot;,r)||e.probablySupportsContext(&quot;experimental-webgl&quot;,r):e.supportsContext?e.supportsContext(&quot;webgl&quot;,r)||e.supportsContext(&quot;experimental-webgl&quot;,r):e.getContext(&quot;webgl&quot;,r)||e.getContext(&quot;experimental-webgl&quot;,r)}(t));return i[t]}(t&amp;&amp;t.failIfMajorPerformanceCaveat))}void 0!==e&amp;&amp;e.exports?e.exports=n:window&amp;&amp;(window.mapboxgl=window.mapboxgl||{},window.mapboxgl.supported=n);var i={};n.webGLContextAttributes={antialias:!1,alpha:!0,stencil:!0,depth:!0}},{}],319:[function(t,e,r){&quot;use strict&quot;;function n(t){var e=t.layoutVertexArrayType;this.layoutVertexArray=new e;var r=t.elementArrayType;r&amp;&amp;(this.elementArray=new r);var n=t.elementArrayType2;n&amp;&amp;(this.elementArray2=new n),this.paintVertexArrays=i.mapObject(t.paintVertexArrayTypes,function(t){return new t})}var i=t(&quot;../util/util&quot;);e.exports=n,n.MAX_VERTEX_ARRAY_LENGTH=Math.pow(2,16)-1,n.prototype.hasCapacityFor=function(t){return this.layoutVertexArray.length+t&lt;=n.MAX_VERTEX_ARRAY_LENGTH},n.prototype.isEmpty=function(){return 0===this.layoutVertexArray.length},n.prototype.trim=function(){this.layoutVertexArray.trim(),this.elementArray&amp;&amp;this.elementArray.trim(),this.elementArray2&amp;&amp;this.elementArray2.trim();for(var t in this.paintVertexArrays)this.paintVertexArrays[t].trim()},n.prototype.serialize=function(){return{layoutVertexArray:this.layoutVertexArray.serialize(),elementArray:this.elementArray&amp;&amp;this.elementArray.serialize(),elementArray2:this.elementArray2&amp;&amp;this.elementArray2.serialize(),paintVertexArrays:i.mapObject(this.paintVertexArrays,function(t){return t.serialize()})}},n.prototype.getTransferables=function(t){t.push(this.layoutVertexArray.arrayBuffer),this.elementArray&amp;&amp;t.push(this.elementArray.arrayBuffer),this.elementArray2&amp;&amp;t.push(this.elementArray2.arrayBuffer);for(var e in this.paintVertexArrays)t.push(this.paintVertexArrays[e].arrayBuffer)}},{&quot;../util/util&quot;:433}],320:[function(t,e,r){&quot;use strict&quot;;function n(t){if(this.zoom=t.zoom,this.overscaling=t.overscaling,this.layer=t.layer,this.childLayers=t.childLayers,this.type=this.layer.type,this.features=[],this.id=this.layer.id,this.index=t.index,this.sourceLayer=this.layer.sourceLayer,this.sourceLayerIndex=t.sourceLayerIndex,this.minZoom=this.layer.minzoom,this.maxZoom=this.layer.maxzoom,this.paintAttributes=function(t){var e={};for(var r in t.programInterfaces){for(var n=e[r]={},a=0;a&lt;t.childLayers.length;a++){var o=t.childLayers[a];n[o.id]={attributes:[],uniforms:[],defines:[],vertexPragmas:{define:{},initialize:{}},fragmentPragmas:{define:{},initialize:{}}}}var s=t.programInterfaces[r];if(s.paintAttributes)for(var c=&quot;{precision}&quot;,f=&quot;{type}&quot;,h=0;h&lt;s.paintAttributes.length;h++){var d=s.paintAttributes[h];d.multiplier=d.multiplier||1;for(var p=0;p&lt;t.childLayers.length;p++){var m=t.childLayers[p],g=n[m.id],v=d.name;u(&quot;a_&quot;===d.name.slice(0,2));var y,x=d.name.slice(2);if(g.fragmentPragmas.initialize[x]=&quot;&quot;,m.isPaintValueFeatureConstant(d.paintProperty))g.uniforms.push(d),g.fragmentPragmas.define[x]=g.vertexPragmas.define[x]=[&quot;uniform&quot;,c,f,v].join(&quot; &quot;)+&quot;;&quot;,g.fragmentPragmas.initialize[x]=g.vertexPragmas.initialize[x]=[c,f,x,&quot;=&quot;,v].join(&quot; &quot;)+&quot;;\n&quot;;else if(m.isPaintValueZoomConstant(d.paintProperty)){g.attributes.push(l.extend({},d,{name:v})),y=[&quot;varying&quot;,c,f,x].join(&quot; &quot;)+&quot;;\n&quot;;var b=[g.fragmentPragmas.define[x],&quot;attribute&quot;,c,f,v].join(&quot; &quot;)+&quot;;\n&quot;;g.fragmentPragmas.define[x]=y,g.vertexPragmas.define[x]=y+b,g.vertexPragmas.initialize[x]=[x,&quot;=&quot;,v,&quot;/&quot;,d.multiplier.toFixed(1)].join(&quot; &quot;)+&quot;;\n&quot;}else{for(var _=&quot;u_&quot;+v.slice(2)+&quot;_t&quot;,w=m.getPaintValueStopZoomLevels(d.paintProperty),M=0;M&lt;w.length&amp;&amp;w[M]&lt;t.zoom;)M++;for(var k=Math.max(0,Math.min(w.length-4,M-2)),A=[],T=0;T&lt;4;T++)A.push(w[Math.min(k+T,w.length-1)]);y=[&quot;varying&quot;,c,f,x].join(&quot; &quot;)+&quot;;\n&quot;,g.vertexPragmas.define[x]=y+[&quot;uniform&quot;,&quot;lowp&quot;,&quot;float&quot;,_].join(&quot; &quot;)+&quot;;\n&quot;,g.fragmentPragmas.define[x]=y,g.uniforms.push(l.extend({},d,{name:_,getValue:function(t,e){return function(r,n){var i=r.getPaintInterpolationT(t.paintProperty,n.zoom);return[Math.max(0,Math.min(4,i-e))]}}(d,k),components:1}));var S=d.components;if(1===S)g.attributes.push(l.extend({},d,{getValue:i(d,A),isFunction:!0,components:4*S})),g.vertexPragmas.define[x]+=[&quot;attribute&quot;,c,&quot;vec4&quot;,v].join(&quot; &quot;)+&quot;;\n&quot;,g.vertexPragmas.initialize[x]=[x,&quot;=&quot;,&quot;evaluate_zoom_function_1(&quot;+v+&quot;, &quot;+_+&quot;)&quot;,&quot;/&quot;,d.multiplier.toFixed(1)].join(&quot; &quot;)+&quot;;\n&quot;;else{for(var E=[],L=0;L&lt;4;L++)E.push(v+L),g.attributes.push(l.extend({},d,{getValue:i(d,[A[L]]),isFunction:!0,name:v+L})),g.vertexPragmas.define[x]+=[&quot;attribute&quot;,c,f,v+L].join(&quot; &quot;)+&quot;;\n&quot;;g.vertexPragmas.initialize[x]=[x,&quot; = &quot;,&quot;evaluate_zoom_function_4(&quot;+E.join(&quot;, &quot;)+&quot;, &quot;+_+&quot;)&quot;,&quot;/&quot;,d.multiplier.toFixed(1)].join(&quot; &quot;)+&quot;;\n&quot;}}}}}return e}(this),t.arrays){var e=this.programInterfaces;this.bufferGroups=l.mapObject(t.arrays,function(r,n){var i=e[n],a=t.paintVertexArrayTypes[n];return r.map(function(t){return new s(t,{layoutVertexArrayType:i.layoutVertexArrayType.serialize(),elementArrayType:i.elementArrayType&amp;&amp;i.elementArrayType.serialize(),elementArrayType2:i.elementArrayType2&amp;&amp;i.elementArrayType2.serialize(),paintVertexArrayTypes:a})})})}}function i(t,e){return function(r,n,i){if(1===e.length)return t.getValue(r,l.extend({},n,{zoom:e[0]}),i);for(var a=[],o=0;o&lt;e.length;o++){var s=e[o];a.push(t.getValue(r,l.extend({},n,{zoom:s}),i)[0])}return a}}var a=t(&quot;feature-filter&quot;),o=t(&quot;./array_group&quot;),s=t(&quot;./buffer_group&quot;),l=t(&quot;../util/util&quot;),c=t(&quot;../util/struct_array&quot;),u=t(&quot;assert&quot;);e.exports=n,n.create=function(e){return new({fill:t(&quot;./bucket/fill_bucket&quot;),line:t(&quot;./bucket/line_bucket&quot;),circle:t(&quot;./bucket/circle_bucket&quot;),symbol:t(&quot;./bucket/symbol_bucket&quot;)}[e.layer.type])(e)},n.EXTENT=8192,n.prototype.populateArrays=function(){this.createArrays(),this.recalculateStyleLayers();for(var t=0;t&lt;this.features.length;t++)this.addFeature(this.features[t]);this.trimArrays()},n.prototype.prepareArrayGroup=function(t,e){var r=this.arrayGroups[t],n=r.length&amp;&amp;r[r.length-1];return n&amp;&amp;n.hasCapacityFor(e)||((n=new o({layoutVertexArrayType:this.programInterfaces[t].layoutVertexArrayType,elementArrayType:this.programInterfaces[t].elementArrayType,elementArrayType2:this.programInterfaces[t].elementArrayType2,paintVertexArrayTypes:this.paintVertexArrayTypes[t]})).index=r.length,r.push(n)),n},n.prototype.createArrays=function(){this.arrayGroups={},this.paintVertexArrayTypes={};for(var t in this.programInterfaces){this.arrayGroups[t]=[];var e=this.paintVertexArrayTypes[t]={},r=this.paintAttributes[t];for(var i in r)e[i]=new n.VertexArrayType(r[i].attributes)}},n.prototype.destroy=function(t){for(var e in this.bufferGroups)for(var r=this.bufferGroups[e],n=0;n&lt;r.length;n++)r[n].destroy(t)},n.prototype.trimArrays=function(){for(var t in this.arrayGroups)for(var e=this.arrayGroups[t],r=0;r&lt;e.length;r++)e[r].trim()},n.prototype.isEmpty=function(){for(var t in this.arrayGroups)for(var e=this.arrayGroups[t],r=0;r&lt;e.length;r++)if(!e[r].isEmpty())return!1;return!0},n.prototype.getTransferables=function(t){for(var e in this.arrayGroups)for(var r=this.arrayGroups[e],n=0;n&lt;r.length;n++)r[n].getTransferables(t)},n.prototype.setUniforms=function(t,e,r,n,i){for(var a=this.paintAttributes[e][n.id].uniforms,o=0;o&lt;a.length;o++){var s=a[o],l=r[s.name];t[&quot;uniform&quot;+s.components+&quot;fv&quot;](l,s.getValue(n,i))}},n.prototype.serialize=function(){return{layerId:this.layer.id,zoom:this.zoom,arrays:l.mapObject(this.arrayGroups,function(t){return t.map(function(t){return t.serialize()})}),paintVertexArrayTypes:l.mapObject(this.paintVertexArrayTypes,function(t){return l.mapObject(t,function(t){return t.serialize()})}),childLayerIds:this.childLayers.map(function(t){return t.id})}},n.prototype.createFilter=function(){this.filter||(this.filter=a(this.layer.filter))};var f={lastIntegerZoom:1/0,lastIntegerZoomTime:0,lastZoom:0};n.prototype.recalculateStyleLayers=function(){for(var t=0;t&lt;this.childLayers.length;t++)this.childLayers[t].recalculate(this.zoom,f)},n.prototype.populatePaintArrays=function(t,e,r,n,i){for(var a=0;a&lt;this.childLayers.length;a++)for(var o=this.childLayers[a],s=this.arrayGroups[t],l=n.index;l&lt;s.length;l++){var c=s[l],u=c.layoutVertexArray.length,f=c.paintVertexArrays[o.id];f.resize(u);for(var h=this.paintAttributes[t][o.id].attributes,d=0;d&lt;h.length;d++)for(var p=h[d],m=p.getValue(o,e,r),g=p.multiplier||1,v=p.components||1,y=l===n.index?i:0;y&lt;u;y++)for(var x=f.get(y),b=0;b&lt;v;b++){x[v&gt;1?p.name+b:p.name]=m[b]*g}}},n.VertexArrayType=function(t){return new c({members:t,alignment:4})},n.ElementArrayType=function(t){return new c({members:[{type:&quot;Uint16&quot;,name:&quot;vertices&quot;,components:t||3}]})}},{&quot;../util/struct_array&quot;:431,&quot;../util/util&quot;:433,&quot;./array_group&quot;:319,&quot;./bucket/circle_bucket&quot;:321,&quot;./bucket/fill_bucket&quot;:322,&quot;./bucket/line_bucket&quot;:323,&quot;./bucket/symbol_bucket&quot;:324,&quot;./buffer_group&quot;:326,assert:51,&quot;feature-filter&quot;:141}],321:[function(t,e,r){&quot;use strict&quot;;function n(){i.apply(this,arguments)}var i=t(&quot;../bucket&quot;),a=t(&quot;../../util/util&quot;),o=t(&quot;../load_geometry&quot;),s=i.EXTENT;e.exports=n,(n.prototype=a.inherit(i,{})).addCircleVertex=function(t,e,r,n,i){return t.emplaceBack(2*e+(n+1)/2,2*r+(i+1)/2)},n.prototype.programInterfaces={circle:{layoutVertexArrayType:new i.VertexArrayType([{name:&quot;a_pos&quot;,components:2,type:&quot;Int16&quot;}]),elementArrayType:new i.ElementArrayType,paintAttributes:[{name:&quot;a_color&quot;,components:4,type:&quot;Uint8&quot;,getValue:function(t,e,r){return t.getPaintValue(&quot;circle-color&quot;,e,r)},multiplier:255,paintProperty:&quot;circle-color&quot;},{name:&quot;a_radius&quot;,components:1,type:&quot;Uint16&quot;,isLayerConstant:!1,getValue:function(t,e,r){return[t.getPaintValue(&quot;circle-radius&quot;,e,r)]},multiplier:10,paintProperty:&quot;circle-radius&quot;},{name:&quot;a_blur&quot;,components:1,type:&quot;Uint16&quot;,isLayerConstant:!1,getValue:function(t,e,r){return[t.getPaintValue(&quot;circle-blur&quot;,e,r)]},multiplier:10,paintProperty:&quot;circle-blur&quot;},{name:&quot;a_opacity&quot;,components:1,type:&quot;Uint16&quot;,isLayerConstant:!1,getValue:function(t,e,r){return[t.getPaintValue(&quot;circle-opacity&quot;,e,r)]},multiplier:255,paintProperty:&quot;circle-opacity&quot;}]}},n.prototype.addFeature=function(t){for(var e={zoom:this.zoom},r=o(t),n=this.prepareArrayGroup(&quot;circle&quot;,0),i=n.layoutVertexArray.length,a=0;a&lt;r.length;a++)for(var l=0;l&lt;r[a].length;l++){var c=r[a][l].x,u=r[a][l].y;if(!(c&lt;0||c&gt;=s||u&lt;0||u&gt;=s)){var f=this.prepareArrayGroup(&quot;circle&quot;,4),h=f.layoutVertexArray,d=this.addCircleVertex(h,c,u,-1,-1);this.addCircleVertex(h,c,u,1,-1),this.addCircleVertex(h,c,u,1,1),this.addCircleVertex(h,c,u,-1,1),f.elementArray.emplaceBack(d,d+1,d+2),f.elementArray.emplaceBack(d,d+3,d+2)}}this.populatePaintArrays(&quot;circle&quot;,e,t.properties,n,i)}},{&quot;../../util/util&quot;:433,&quot;../bucket&quot;:320,&quot;../load_geometry&quot;:328}],322:[function(t,e,r){&quot;use strict&quot;;function n(){i.apply(this,arguments)}var i=t(&quot;../bucket&quot;),a=t(&quot;../../util/util&quot;),o=t(&quot;../load_geometry&quot;),s=t(&quot;earcut&quot;),l=t(&quot;../../util/classify_rings&quot;);e.exports=n,(n.prototype=a.inherit(i,{})).programInterfaces={fill:{layoutVertexArrayType:new i.VertexArrayType([{name:&quot;a_pos&quot;,components:2,type:&quot;Int16&quot;}]),elementArrayType:new i.ElementArrayType(1),elementArrayType2:new i.ElementArrayType(2),paintAttributes:[{name:&quot;a_color&quot;,components:4,type:&quot;Uint8&quot;,getValue:function(t,e,r){return t.getPaintValue(&quot;fill-color&quot;,e,r)},multiplier:255,paintProperty:&quot;fill-color&quot;},{name:&quot;a_outline_color&quot;,components:4,type:&quot;Uint8&quot;,getValue:function(t,e,r){return t.getPaintValue(&quot;fill-outline-color&quot;,e,r)},multiplier:255,paintProperty:&quot;fill-outline-color&quot;},{name:&quot;a_opacity&quot;,components:1,type:&quot;Uint8&quot;,getValue:function(t,e,r){return[t.getPaintValue(&quot;fill-opacity&quot;,e,r)]},multiplier:255,paintProperty:&quot;fill-opacity&quot;}]}},n.prototype.addFeature=function(t){for(var e=o(t),r=l(e,500),n=this.prepareArrayGroup(&quot;fill&quot;,0),i=n.layoutVertexArray.length,a=0;a&lt;r.length;a++)this.addPolygon(r[a]);this.populatePaintArrays(&quot;fill&quot;,{zoom:this.zoom},t.properties,n,i)},n.prototype.addPolygon=function(t){for(var e=0,r=0;r&lt;t.length;r++)e+=t[r].length;for(var n=this.prepareArrayGroup(&quot;fill&quot;,e),i=[],a=[],o=n.layoutVertexArray.length,l=0;l&lt;t.length;l++){var c=t[l];l&gt;0&amp;&amp;a.push(i.length/2);for(var u=0;u&lt;c.length;u++){var f=c[u],h=n.layoutVertexArray.emplaceBack(f.x,f.y);u&gt;=1&amp;&amp;n.elementArray2.emplaceBack(h-1,h),i.push(f.x),i.push(f.y)}}for(var d=s(i,a),p=0;p&lt;d.length;p++)n.elementArray.emplaceBack(d[p]+o)}},{&quot;../../util/classify_rings&quot;:421,&quot;../../util/util&quot;:433,&quot;../bucket&quot;:320,&quot;../load_geometry&quot;:328,earcut:135}],323:[function(t,e,r){&quot;use strict&quot;;function n(){i.apply(this,arguments)}var i=t(&quot;../bucket&quot;),a=t(&quot;../../util/util&quot;),o=t(&quot;../load_geometry&quot;),s=i.EXTENT,l=Math.cos(Math.PI/180*37.5),c=Math.pow(2,14)/.5;e.exports=n,(n.prototype=a.inherit(i,{})).addLineVertex=function(t,e,r,n,i,a,o){return t.emplaceBack(e.x&lt;&lt;1|n,e.y&lt;&lt;1|i,Math.round(63*r.x)+128,Math.round(63*r.y)+128,1+(0===a?0:a&lt;0?-1:1)|(.5*o&amp;63)&lt;&lt;2,.5*o&gt;&gt;6)},n.prototype.programInterfaces={line:{layoutVertexArrayType:new i.VertexArrayType([{name:&quot;a_pos&quot;,components:2,type:&quot;Int16&quot;},{name:&quot;a_data&quot;,components:4,type:&quot;Uint8&quot;}]),elementArrayType:new i.ElementArrayType}},n.prototype.addFeature=function(t){for(var e=o(t,15),r=0;r&lt;e.length;r++)this.addLine(e[r],this.layer.layout[&quot;line-join&quot;],this.layer.layout[&quot;line-cap&quot;],this.layer.layout[&quot;line-miter-limit&quot;],this.layer.layout[&quot;line-round-limit&quot;])},n.prototype.addLine=function(t,e,r,n,i){for(var a=t.length;a&gt;2&amp;&amp;t[a-1].equals(t[a-2]);)a--;if(!(t.length&lt;2)){&quot;bevel&quot;===e&amp;&amp;(n=1.05);var o=s/(512*this.overscaling)*15,c=t[0],u=t[a-1],f=c.equals(u);if(this.prepareArrayGroup(&quot;line&quot;,10*a),2!==a||!f){this.distance=0;var h,d,p,m,g,v,y,x=r,b=f?&quot;butt&quot;:r,_=!0;this.e1=this.e2=this.e3=-1,f&amp;&amp;(h=t[a-2],g=c.sub(h)._unit()._perp());for(var w=0;w&lt;a;w++)if(!(p=f&amp;&amp;w===a-1?t[1]:t[w+1])||!t[w].equals(p)){g&amp;&amp;(m=g),h&amp;&amp;(d=h),h=t[w],g=p?p.sub(h)._unit()._perp():m;var M=(m=m||g).add(g)._unit(),k=M.x*g.x+M.y*g.y,A=1/k,T=k&lt;l&amp;&amp;d&amp;&amp;p;if(T&amp;&amp;w&gt;0){var S=h.dist(d);if(S&gt;2*o){var E=h.sub(h.sub(d)._mult(o/S)._round());this.distance+=E.dist(d),this.addCurrentVertex(E,this.distance,m.mult(1),0,0,!1),d=E}}var L=d&amp;&amp;p,C=L?e:p?x:b;if(L&amp;&amp;&quot;round&quot;===C&amp;&amp;(A&lt;i?C=&quot;miter&quot;:A&lt;=2&amp;&amp;(C=&quot;fakeround&quot;)),&quot;miter&quot;===C&amp;&amp;A&gt;n&amp;&amp;(C=&quot;bevel&quot;),&quot;bevel&quot;===C&amp;&amp;(A&gt;2&amp;&amp;(C=&quot;flipbevel&quot;),A&lt;n&amp;&amp;(C=&quot;miter&quot;)),d&amp;&amp;(this.distance+=h.dist(d)),&quot;miter&quot;===C)M._mult(A),this.addCurrentVertex(h,this.distance,M,0,0,!1);else if(&quot;flipbevel&quot;===C){if(A&gt;100)M=g.clone();else{var z=m.x*g.y-m.y*g.x&gt;0?-1:1,D=A*m.add(g).mag()/m.sub(g).mag();M._perp()._mult(D*z)}this.addCurrentVertex(h,this.distance,M,0,0,!1),this.addCurrentVertex(h,this.distance,M.mult(-1),0,0,!1)}else if(&quot;bevel&quot;===C||&quot;fakeround&quot;===C){var I=m.x*g.y-m.y*g.x&gt;0,P=-Math.sqrt(A*A-1);if(I?(y=0,v=P):(v=0,y=P),_||this.addCurrentVertex(h,this.distance,m,v,y,!1),&quot;fakeround&quot;===C){for(var O,F=Math.floor(8*(.5-(k-.5))),R=0;R&lt;F;R++)O=g.mult((R+1)/(F+1))._add(m)._unit(),this.addPieSliceVertex(h,this.distance,O,I);this.addPieSliceVertex(h,this.distance,M,I);for(var N=F-1;N&gt;=0;N--)O=m.mult((N+1)/(F+1))._add(g)._unit(),this.addPieSliceVertex(h,this.distance,O,I)}p&amp;&amp;this.addCurrentVertex(h,this.distance,g,-v,-y,!1)}else&quot;butt&quot;===C?(_||this.addCurrentVertex(h,this.distance,m,0,0,!1),p&amp;&amp;this.addCurrentVertex(h,this.distance,g,0,0,!1)):&quot;square&quot;===C?(_||(this.addCurrentVertex(h,this.distance,m,1,1,!1),this.e1=this.e2=-1),p&amp;&amp;this.addCurrentVertex(h,this.distance,g,-1,-1,!1)):&quot;round&quot;===C&amp;&amp;(_||(this.addCurrentVertex(h,this.distance,m,0,0,!1),this.addCurrentVertex(h,this.distance,m,1,1,!0),this.e1=this.e2=-1),p&amp;&amp;(this.addCurrentVertex(h,this.distance,g,-1,-1,!0),this.addCurrentVertex(h,this.distance,g,0,0,!1)));if(T&amp;&amp;w&lt;a-1){var j=h.dist(p);if(j&gt;2*o){var B=h.add(p.sub(h)._mult(o/j)._round());this.distance+=B.dist(h),this.addCurrentVertex(B,this.distance,g.mult(1),0,0,!1),h=B}}_=!1}}}},n.prototype.addCurrentVertex=function(t,e,r,n,i,a){var o,s=a?1:0,l=this.arrayGroups.line[this.arrayGroups.line.length-1],u=l.layoutVertexArray,f=l.elementArray;o=r.clone(),n&amp;&amp;o._sub(r.perp()._mult(n)),this.e3=this.addLineVertex(u,t,o,s,0,n,e),this.e1&gt;=0&amp;&amp;this.e2&gt;=0&amp;&amp;f.emplaceBack(this.e1,this.e2,this.e3),this.e1=this.e2,this.e2=this.e3,o=r.mult(-1),i&amp;&amp;o._sub(r.perp()._mult(i)),this.e3=this.addLineVertex(u,t,o,s,1,-i,e),this.e1&gt;=0&amp;&amp;this.e2&gt;=0&amp;&amp;f.emplaceBack(this.e1,this.e2,this.e3),this.e1=this.e2,this.e2=this.e3,e&gt;c/2&amp;&amp;(this.distance=0,this.addCurrentVertex(t,this.distance,r,n,i,a))},n.prototype.addPieSliceVertex=function(t,e,r,n){var i=n?1:0;r=r.mult(n?-1:1);var a=this.arrayGroups.line[this.arrayGroups.line.length-1],o=a.layoutVertexArray,s=a.elementArray;this.e3=this.addLineVertex(o,t,r,0,i,0,e),this.e1&gt;=0&amp;&amp;this.e2&gt;=0&amp;&amp;s.emplaceBack(this.e1,this.e2,this.e3),n?this.e2=this.e3:this.e1=this.e3}},{&quot;../../util/util&quot;:433,&quot;../bucket&quot;:320,&quot;../load_geometry&quot;:328}],324:[function(t,e,r){&quot;use strict&quot;;function n(t){o.apply(this,arguments),this.showCollisionBoxes=t.showCollisionBoxes,this.overscaling=t.overscaling,this.collisionBoxArray=t.collisionBoxArray,this.symbolQuadsArray=t.symbolQuadsArray,this.symbolInstancesArray=t.symbolInstancesArray,this.sdfIcons=t.sdfIcons,this.iconsNeedLinear=t.iconsNeedLinear,this.adjustedTextSize=t.adjustedTextSize,this.adjustedIconSize=t.adjustedIconSize,this.fontstack=t.fontstack}function i(t,e,r,n,i,a,o,s,l,c,u){return t.emplaceBack(e,r,Math.round(64*n),Math.round(64*i),a/4,o/4,10*(c||0),u,10*(s||0),10*Math.min(l||25,25))}var a=t(&quot;point-geometry&quot;),o=t(&quot;../bucket&quot;),s=t(&quot;../../symbol/anchor&quot;),l=t(&quot;../../symbol/get_anchors&quot;),c=t(&quot;../../util/token&quot;),u=t(&quot;../../symbol/quads&quot;),f=t(&quot;../../symbol/shaping&quot;),h=t(&quot;../../symbol/resolve_text&quot;),d=t(&quot;../../symbol/mergelines&quot;),p=t(&quot;../../symbol/clip_line&quot;),m=t(&quot;../../util/util&quot;),g=t(&quot;../load_geometry&quot;),v=t(&quot;../../symbol/collision_feature&quot;),y=f.shapeText,x=f.shapeIcon,b=u.getGlyphQuads,_=u.getIconQuads,w=o.EXTENT;e.exports=n,n.MAX_QUADS=65535,(n.prototype=m.inherit(o,{})).serialize=function(){var t=o.prototype.serialize.apply(this);return t.sdfIcons=this.sdfIcons,t.iconsNeedLinear=this.iconsNeedLinear,t.adjustedTextSize=this.adjustedTextSize,t.adjustedIconSize=this.adjustedIconSize,t.fontstack=this.fontstack,t};var M=new o.VertexArrayType([{name:&quot;a_pos&quot;,components:2,type:&quot;Int16&quot;},{name:&quot;a_offset&quot;,components:2,type:&quot;Int16&quot;},{name:&quot;a_texture_pos&quot;,components:2,type:&quot;Uint16&quot;},{name:&quot;a_data&quot;,components:4,type:&quot;Uint8&quot;}]),k=new o.ElementArrayType;n.prototype.addCollisionBoxVertex=function(t,e,r,n,i){return t.emplaceBack(e.x,e.y,Math.round(r.x),Math.round(r.y),10*n,10*i)},n.prototype.programInterfaces={glyph:{layoutVertexArrayType:M,elementArrayType:k},icon:{layoutVertexArrayType:M,elementArrayType:k},collisionBox:{layoutVertexArrayType:new o.VertexArrayType([{name:&quot;a_pos&quot;,components:2,type:&quot;Int16&quot;},{name:&quot;a_extrude&quot;,components:2,type:&quot;Int16&quot;},{name:&quot;a_data&quot;,components:2,type:&quot;Uint8&quot;}])}},n.prototype.populateArrays=function(t,e,r){var n={lastIntegerZoom:1/0,lastIntegerZoomTime:0,lastZoom:0};this.adjustedTextMaxSize=this.layer.getLayoutValue(&quot;text-size&quot;,{zoom:18,zoomHistory:n}),this.adjustedTextSize=this.layer.getLayoutValue(&quot;text-size&quot;,{zoom:this.zoom+1,zoomHistory:n}),this.adjustedIconMaxSize=this.layer.getLayoutValue(&quot;icon-size&quot;,{zoom:18,zoomHistory:n}),this.adjustedIconSize=this.layer.getLayoutValue(&quot;icon-size&quot;,{zoom:this.zoom+1,zoomHistory:n});var i=512*this.overscaling;this.tilePixelRatio=w/i,this.compareText={},this.iconsNeedLinear=!1,this.symbolInstancesStartIndex=this.symbolInstancesArray.length;var a=this.layer.layout,o=this.features,s=this.textFeatures,l=.5,u=.5;switch(a[&quot;text-anchor&quot;]){case&quot;right&quot;:case&quot;top-right&quot;:case&quot;bottom-right&quot;:l=1;break;case&quot;left&quot;:case&quot;top-left&quot;:case&quot;bottom-left&quot;:l=0}switch(a[&quot;text-anchor&quot;]){case&quot;bottom&quot;:case&quot;bottom-right&quot;:case&quot;bottom-left&quot;:u=1;break;case&quot;top&quot;:case&quot;top-right&quot;:case&quot;top-left&quot;:u=0}for(var f=&quot;right&quot;===a[&quot;text-justify&quot;]?1:&quot;left&quot;===a[&quot;text-justify&quot;]?0:.5,h=24*a[&quot;text-line-height&quot;],p=&quot;line&quot;!==a[&quot;symbol-placement&quot;]?24*a[&quot;text-max-width&quot;]:0,v=24*a[&quot;text-letter-spacing&quot;],b=[24*a[&quot;text-offset&quot;][0],24*a[&quot;text-offset&quot;][1]],_=this.fontstack=a[&quot;text-font&quot;].join(&quot;,&quot;),M=[],k=0;k&lt;o.length;k++)M.push(g(o[k]));if(&quot;line&quot;===a[&quot;symbol-placement&quot;]){var A=d(o,s,M);M=A.geometries,o=A.features,s=A.textFeatures}for(var T,S,E=0;E&lt;o.length;E++)if(M[E]){if(T=s[E]?y(s[E],e[_],p,h,l,u,f,v,b):null,a[&quot;icon-image&quot;]){var L=r[c(o[E].properties,a[&quot;icon-image&quot;])];S=x(L,a),L&amp;&amp;(void 0===this.sdfIcons?this.sdfIcons=L.sdf:this.sdfIcons!==L.sdf&amp;&amp;m.warnOnce(&quot;Style sheet warning: Cannot mix SDF and non-SDF icons in one buffer&quot;),1!==L.pixelRatio?this.iconsNeedLinear=!0:0===a[&quot;icon-rotate&quot;]&amp;&amp;this.layer.isLayoutValueFeatureConstant(&quot;icon-rotate&quot;)||(this.iconsNeedLinear=!0))}else S=null;(T||S)&amp;&amp;this.addFeature(M[E],T,S,o[E])}this.symbolInstancesEndIndex=this.symbolInstancesArray.length,this.placeFeatures(t,this.showCollisionBoxes),this.trimArrays()},n.prototype.addFeature=function(t,e,r,n){var i=this.layer.layout,a=this.adjustedTextSize/24,o=void 0!==this.adjustedTextMaxSize?this.adjustedTextMaxSize:this.adjustedTextSize,c=this.tilePixelRatio*a,u=this.tilePixelRatio*o/24,f=this.tilePixelRatio*this.adjustedIconSize,h=this.tilePixelRatio*i[&quot;symbol-spacing&quot;],d=i[&quot;symbol-avoid-edges&quot;],m=i[&quot;text-padding&quot;]*this.tilePixelRatio,g=i[&quot;icon-padding&quot;]*this.tilePixelRatio,v=i[&quot;text-max-angle&quot;]/180*Math.PI,y=&quot;map&quot;===i[&quot;text-rotation-alignment&quot;]&amp;&amp;&quot;line&quot;===i[&quot;symbol-placement&quot;],x=&quot;map&quot;===i[&quot;icon-rotation-alignment&quot;]&amp;&amp;&quot;line&quot;===i[&quot;symbol-placement&quot;],b=i[&quot;text-allow-overlap&quot;]||i[&quot;icon-allow-overlap&quot;]||i[&quot;text-ignore-placement&quot;]||i[&quot;icon-ignore-placement&quot;],_=&quot;line&quot;===i[&quot;symbol-placement&quot;],M=h/2;_&amp;&amp;(t=p(t,0,0,w,w));for(var k=0;k&lt;t.length;k++)for(var A,T=t[k],S=0,E=(A=_?l(T,h,v,e,r,24,u,this.overscaling,w):[new s(T[0].x,T[0].y,0)]).length;S&lt;E;S++){var L=A[S];if(!(e&amp;&amp;_&amp;&amp;this.anchorIsTooClose(e.text,M,L))){var C=!(L.x&lt;0||L.x&gt;w||L.y&lt;0||L.y&gt;w);if(!d||C){var z=C||b;this.addSymbolInstance(L,T,e,r,this.layer,z,this.symbolInstancesArray.length,this.collisionBoxArray,n.index,this.sourceLayerIndex,this.index,c,m,y,f,g,x,{zoom:this.zoom},n.properties)}}}},n.prototype.anchorIsTooClose=function(t,e,r){var n=this.compareText;if(t in n){for(var i=n[t],a=i.length-1;a&gt;=0;a--)if(r.dist(i[a])&lt;e)return!0}else n[t]=[];return n[t].push(r),!1},n.prototype.placeFeatures=function(t,e){this.recalculateStyleLayers(),this.createArrays();var r=this.layer.layout,n=t.maxScale,i=&quot;map&quot;===r[&quot;text-rotation-alignment&quot;]&amp;&amp;&quot;line&quot;===r[&quot;symbol-placement&quot;],a=&quot;map&quot;===r[&quot;icon-rotation-alignment&quot;]&amp;&amp;&quot;line&quot;===r[&quot;symbol-placement&quot;];if(r[&quot;text-allow-overlap&quot;]||r[&quot;icon-allow-overlap&quot;]||r[&quot;text-ignore-placement&quot;]||r[&quot;icon-ignore-placement&quot;]){var o=this.symbolInstancesArray.toArray(this.symbolInstancesStartIndex,this.symbolInstancesEndIndex),s=t.angle,l=Math.sin(s),c=Math.cos(s);this.sortedSymbolInstances=o.sort(function(t,e){return(l*t.anchorPointX+c*t.anchorPointY|0)-(l*e.anchorPointX+c*e.anchorPointY|0)||e.index-t.index})}for(var u=this.symbolInstancesStartIndex;u&lt;this.symbolInstancesEndIndex;u++){var f=this.sortedSymbolInstances?this.sortedSymbolInstances[u-this.symbolInstancesStartIndex]:this.symbolInstancesArray.get(u),h={boxStartIndex:f.textBoxStartIndex,boxEndIndex:f.textBoxEndIndex},d={boxStartIndex:f.iconBoxStartIndex,boxEndIndex:f.iconBoxEndIndex},p=!(f.textBoxStartIndex===f.textBoxEndIndex),m=!(f.iconBoxStartIndex===f.iconBoxEndIndex),g=r[&quot;text-optional&quot;]||!p,v=r[&quot;icon-optional&quot;]||!m,y=p?t.placeCollisionFeature(h,r[&quot;text-allow-overlap&quot;],r[&quot;symbol-avoid-edges&quot;]):t.minScale,x=m?t.placeCollisionFeature(d,r[&quot;icon-allow-overlap&quot;],r[&quot;symbol-avoid-edges&quot;]):t.minScale;g||v?!v&amp;&amp;y?y=Math.max(x,y):!g&amp;&amp;x&amp;&amp;(x=Math.max(x,y)):x=y=Math.max(x,y),p&amp;&amp;(t.insertCollisionFeature(h,y,r[&quot;text-ignore-placement&quot;]),y&lt;=n&amp;&amp;this.addSymbols(&quot;glyph&quot;,f.glyphQuadStartIndex,f.glyphQuadEndIndex,y,r[&quot;text-keep-upright&quot;],i,t.angle)),m&amp;&amp;(t.insertCollisionFeature(d,x,r[&quot;icon-ignore-placement&quot;]),x&lt;=n&amp;&amp;this.addSymbols(&quot;icon&quot;,f.iconQuadStartIndex,f.iconQuadEndIndex,x,r[&quot;icon-keep-upright&quot;],a,t.angle))}e&amp;&amp;this.addToDebugBuffers(t)},n.prototype.addSymbols=function(t,e,r,n,a,o,s){for(var l=this.prepareArrayGroup(t,4*(r-e)),c=l.elementArray,u=l.layoutVertexArray,f=this.zoom,h=Math.max(Math.log(n)/Math.LN2+f,0),d=e;d&lt;r;d++){var p=this.symbolQuadsArray.get(d).SymbolQuad,m=(p.anchorAngle+s+Math.PI)%(2*Math.PI);if(!(a&amp;&amp;o&amp;&amp;(m&lt;=Math.PI/2||m&gt;3*Math.PI/2))){var g=p.tl,v=p.tr,y=p.bl,x=p.br,b=p.tex,_=p.anchorPoint,w=Math.max(f+Math.log(p.minScale)/Math.LN2,h),M=Math.min(f+Math.log(p.maxScale)/Math.LN2,25);if(!(M&lt;=w)){w===h&amp;&amp;(w=0);var k=Math.round(p.glyphAngle/(2*Math.PI)*256),A=i(u,_.x,_.y,g.x,g.y,b.x,b.y,w,M,h,k);i(u,_.x,_.y,v.x,v.y,b.x+b.w,b.y,w,M,h,k),i(u,_.x,_.y,y.x,y.y,b.x,b.y+b.h,w,M,h,k),i(u,_.x,_.y,x.x,x.y,b.x+b.w,b.y+b.h,w,M,h,k),c.emplaceBack(A,A+1,A+2),c.emplaceBack(A+1,A+2,A+3)}}}},n.prototype.updateIcons=function(t){this.recalculateStyleLayers();var e=this.layer.layout[&quot;icon-image&quot;];if(e)for(var r=0;r&lt;this.features.length;r++){var n=c(this.features[r].properties,e);n&amp;&amp;(t[n]=!0)}},n.prototype.updateFont=function(t){this.recalculateStyleLayers();var e=this.layer.layout[&quot;text-font&quot;],r=t[e]=t[e]||{};this.textFeatures=h(this.features,this.layer.layout,r)},n.prototype.addToDebugBuffers=function(t){for(var e=this.prepareArrayGroup(&quot;collisionBox&quot;,0).layoutVertexArray,r=-t.angle,n=t.yStretch,i=this.symbolInstancesStartIndex;i&lt;this.symbolInstancesEndIndex;i++){var o=this.symbolInstancesArray.get(i);o.textCollisionFeature={boxStartIndex:o.textBoxStartIndex,boxEndIndex:o.textBoxEndIndex},o.iconCollisionFeature={boxStartIndex:o.iconBoxStartIndex,boxEndIndex:o.iconBoxEndIndex};for(var s=0;s&lt;2;s++){var l=o[0===s?&quot;textCollisionFeature&quot;:&quot;iconCollisionFeature&quot;];if(l)for(var c=l.boxStartIndex;c&lt;l.boxEndIndex;c++){var u=this.collisionBoxArray.get(c),f=u.anchorPoint,h=new a(u.x1,u.y1*n)._rotate(r),d=new a(u.x2,u.y1*n)._rotate(r),p=new a(u.x1,u.y2*n)._rotate(r),m=new a(u.x2,u.y2*n)._rotate(r),g=Math.max(0,Math.min(25,this.zoom+Math.log(u.maxScale)/Math.LN2)),v=Math.max(0,Math.min(25,this.zoom+Math.log(u.placementScale)/Math.LN2));this.addCollisionBoxVertex(e,f,h,g,v),this.addCollisionBoxVertex(e,f,d,g,v),this.addCollisionBoxVertex(e,f,d,g,v),this.addCollisionBoxVertex(e,f,m,g,v),this.addCollisionBoxVertex(e,f,m,g,v),this.addCollisionBoxVertex(e,f,p,g,v),this.addCollisionBoxVertex(e,f,p,g,v),this.addCollisionBoxVertex(e,f,h,g,v)}}}},n.prototype.addSymbolInstance=function(t,e,r,i,a,o,s,l,c,u,f,h,d,p,g,y,x,w,M){var k,A,T,S,E,L,C,z;if(r&amp;&amp;(C=o?b(t,r,h,e,a,p):[],E=new v(l,e,t,c,u,f,r,h,d,p,!1)),k=this.symbolQuadsArray.length,C&amp;&amp;C.length)for(var D=0;D&lt;C.length;D++)this.addSymbolQuad(C[D]);A=this.symbolQuadsArray.length;var I=E?E.boxStartIndex:this.collisionBoxArray.length,P=E?E.boxEndIndex:this.collisionBoxArray.length;i&amp;&amp;(z=o?_(t,i,g,e,a,x,r,w,M):[],L=new v(l,e,t,c,u,f,i,g,y,x,!0)),T=this.symbolQuadsArray.length,z&amp;&amp;1===z.length&amp;&amp;this.addSymbolQuad(z[0]),S=this.symbolQuadsArray.length;var O=L?L.boxStartIndex:this.collisionBoxArray.length,F=L?L.boxEndIndex:this.collisionBoxArray.length;return S&gt;n.MAX_QUADS&amp;&amp;m.warnOnce(&quot;Too many symbols being rendered in a tile. See https://github.com/mapbox/mapbox-gl-js/issues/2907&quot;),A&gt;n.MAX_QUADS&amp;&amp;m.warnOnce(&quot;Too many glyphs being rendered in a tile. See https://github.com/mapbox/mapbox-gl-js/issues/2907&quot;),this.symbolInstancesArray.emplaceBack(I,P,O,F,k,A,T,S,t.x,t.y,s)},n.prototype.addSymbolQuad=function(t){return this.symbolQuadsArray.emplaceBack(t.anchorPoint.x,t.anchorPoint.y,t.tl.x,t.tl.y,t.tr.x,t.tr.y,t.bl.x,t.bl.y,t.br.x,t.br.y,t.tex.h,t.tex.w,t.tex.x,t.tex.y,t.anchorAngle,t.glyphAngle,t.maxScale,t.minScale)}},{&quot;../../symbol/anchor&quot;:382,&quot;../../symbol/clip_line&quot;:384,&quot;../../symbol/collision_feature&quot;:386,&quot;../../symbol/get_anchors&quot;:388,&quot;../../symbol/mergelines&quot;:391,&quot;../../symbol/quads&quot;:392,&quot;../../symbol/resolve_text&quot;:393,&quot;../../symbol/shaping&quot;:394,&quot;../../util/token&quot;:432,&quot;../../util/util&quot;:433,&quot;../bucket&quot;:320,&quot;../load_geometry&quot;:328,&quot;point-geometry&quot;:477}],325:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r){this.arrayBuffer=t.arrayBuffer,this.length=t.length,this.attributes=e.members,this.itemSize=e.bytesPerElement,this.type=r,this.arrayType=e}e.exports=n,n.prototype.bind=function(t){var e=t[this.type];this.buffer?t.bindBuffer(e,this.buffer):(this.buffer=t.createBuffer(),t.bindBuffer(e,this.buffer),t.bufferData(e,this.arrayBuffer,t.STATIC_DRAW),this.arrayBuffer=null)};var i={Int8:&quot;BYTE&quot;,Uint8:&quot;UNSIGNED_BYTE&quot;,Int16:&quot;SHORT&quot;,Uint16:&quot;UNSIGNED_SHORT&quot;};n.prototype.setVertexAttribPointers=function(t,e){for(var r=0;r&lt;this.attributes.length;r++){var n=this.attributes[r],a=e[n.name];void 0!==a&amp;&amp;t.vertexAttribPointer(a,n.components,t[i[n.type]],!1,this.arrayType.bytesPerElement,n.offset)}},n.prototype.destroy=function(t){this.buffer&amp;&amp;t.deleteBuffer(this.buffer)},n.BufferType={VERTEX:&quot;ARRAY_BUFFER&quot;,ELEMENT:&quot;ELEMENT_ARRAY_BUFFER&quot;}},{}],326:[function(t,e,r){&quot;use strict&quot;;function n(t,e){this.layoutVertexBuffer=new a(t.layoutVertexArray,e.layoutVertexArrayType,a.BufferType.VERTEX),t.elementArray&amp;&amp;(this.elementBuffer=new a(t.elementArray,e.elementArrayType,a.BufferType.ELEMENT));var r,n=this.vaos={};t.elementArray2&amp;&amp;(this.elementBuffer2=new a(t.elementArray2,e.elementArrayType2,a.BufferType.ELEMENT),r=this.secondVaos={}),this.paintVertexBuffers=i.mapObject(t.paintVertexArrays,function(i,s){return n[s]=new o,t.elementArray2&amp;&amp;(r[s]=new o),new a(i,e.paintVertexArrayTypes[s],a.BufferType.VERTEX)})}var i=t(&quot;../util/util&quot;),a=t(&quot;./buffer&quot;),o=t(&quot;../render/vertex_array_object&quot;);e.exports=n,n.prototype.destroy=function(t){this.layoutVertexBuffer.destroy(t),this.elementBuffer&amp;&amp;this.elementBuffer.destroy(t),this.elementBuffer2&amp;&amp;this.elementBuffer2.destroy(t);for(var e in this.paintVertexBuffers)this.paintVertexBuffers[e].destroy(t);for(var r in this.vaos)this.vaos[r].destroy(t);for(var n in this.secondVaos)this.secondVaos[n].destroy(t)}},{&quot;../render/vertex_array_object&quot;:348,&quot;../util/util&quot;:433,&quot;./buffer&quot;:325}],327:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r){if(t.grid){var n=t,i=e;t=n.coord,e=n.overscaling,this.grid=new d(n.grid),this.featureIndexArray=new M(n.featureIndexArray),this.rawTileData=i,this.bucketLayerIDs=n.bucketLayerIDs}else this.grid=new d(u,16,0),this.featureIndexArray=new M;this.coord=t,this.overscaling=e,this.x=t.x,this.y=t.y,this.z=t.z-Math.log(e)/Math.LN2,this.setCollisionTile(r)}function i(t){return Math.sqrt(t[0]*t[0]+t[1]*t[1])}function a(t,e){return e-t}function o(t){return t[&quot;line-gap-width&quot;]&gt;0?t[&quot;line-gap-width&quot;]+2*t[&quot;line-width&quot;]:t[&quot;line-width&quot;]}function s(t,e,r,n,i){if(!e[0]&amp;&amp;!e[1])return t;e=l.convert(e),&quot;viewport&quot;===r&amp;&amp;e._rotate(-n);for(var a=[],o=0;o&lt;t.length;o++){for(var s=t[o],c=[],u=0;u&lt;s.length;u++)c.push(s[u].sub(e._mult(i)));a.push(c)}return a}var l=t(&quot;point-geometry&quot;),c=t(&quot;./load_geometry&quot;),u=t(&quot;./bucket&quot;).EXTENT,f=t(&quot;feature-filter&quot;),h=t(&quot;../util/struct_array&quot;),d=t(&quot;grid-index&quot;),p=t(&quot;../util/dictionary_coder&quot;),m=t(&quot;vector-tile&quot;),g=t(&quot;pbf&quot;),v=t(&quot;../util/vectortile_to_geojson&quot;),y=t(&quot;../util/util&quot;).arraysIntersect,x=t(&quot;../util/intersection_tests&quot;),b=x.multiPolygonIntersectsBufferedMultiPoint,_=x.multiPolygonIntersectsMultiPolygon,w=x.multiPolygonIntersectsBufferedMultiLine,M=new h({members:[{type:&quot;Uint32&quot;,name:&quot;featureIndex&quot;},{type:&quot;Uint16&quot;,name:&quot;sourceLayerIndex&quot;},{type:&quot;Uint16&quot;,name:&quot;bucketIndex&quot;}]});e.exports=n,n.prototype.insert=function(t,e,r,n){var i=this.featureIndexArray.length;this.featureIndexArray.emplaceBack(e,r,n);for(var a=c(t),o=0;o&lt;a.length;o++){for(var s=a[o],l=[1/0,1/0,-1/0,-1/0],u=0;u&lt;s.length;u++){var f=s[u];l[0]=Math.min(l[0],f.x),l[1]=Math.min(l[1],f.y),l[2]=Math.max(l[2],f.x),l[3]=Math.max(l[3],f.y)}this.grid.insert(i,l[0],l[1],l[2],l[3])}},n.prototype.setCollisionTile=function(t){this.collisionTile=t},n.prototype.serialize=function(){var t={coord:this.coord,overscaling:this.overscaling,grid:this.grid.toArrayBuffer(),featureIndexArray:this.featureIndexArray.serialize(),bucketLayerIDs:this.bucketLayerIDs};return{data:t,transferables:[t.grid,t.featureIndexArray.arrayBuffer]}},n.prototype.query=function(t,e){this.vtLayers||(this.vtLayers=new m.VectorTile(new g(new Uint8Array(this.rawTileData))).layers,this.sourceLayerCoder=new p(this.vtLayers?Object.keys(this.vtLayers).sort():[&quot;_geojsonTileLayer&quot;]));var r={},n=t.params||{},s=u/t.tileSize/t.scale,c=f(n.filter),h=0;for(var d in e){var v=e[d],y=v.paint,x=0;&quot;line&quot;===v.type?x=o(y)/2+Math.abs(y[&quot;line-offset&quot;])+i(y[&quot;line-translate&quot;]):&quot;fill&quot;===v.type?x=i(y[&quot;fill-translate&quot;]):&quot;circle&quot;===v.type&amp;&amp;(x=y[&quot;circle-radius&quot;]+i(y[&quot;circle-translate&quot;])),h=Math.max(h,x*s)}for(var b=t.queryGeometry.map(function(t){return t.map(function(t){return new l(t.x,t.y)})}),_=1/0,w=1/0,M=-1/0,k=-1/0,A=0;A&lt;b.length;A++)for(var T=b[A],S=0;S&lt;T.length;S++){var E=T[S];_=Math.min(_,E.x),w=Math.min(w,E.y),M=Math.max(M,E.x),k=Math.max(k,E.y)}var L=this.grid.query(_-h,w-h,M+h,k+h);L.sort(a),this.filterMatching(r,L,this.featureIndexArray,b,c,n.layers,e,t.bearing,s);var C=this.collisionTile.queryRenderedSymbols(_,w,M,k,t.scale);return C.sort(),this.filterMatching(r,C,this.collisionTile.collisionBoxArray,b,c,n.layers,e,t.bearing,s),r},n.prototype.filterMatching=function(t,e,r,n,i,a,u,f,h){for(var d,p=0;p&lt;e.length;p++){var m=e[p];if(m!==d){d=m;var g=r.get(m),x=this.bucketLayerIDs[g.bucketIndex];if(!a||y(a,x)){var M=this.sourceLayerCoder.decode(g.sourceLayerIndex),k=this.vtLayers[M].feature(g.featureIndex);if(i(k))for(var A=null,T=0;T&lt;x.length;T++){var S=x[T];if(!(a&amp;&amp;a.indexOf(S)&lt;0)){var E=u[S];if(E){var L;if(&quot;symbol&quot;!==E.type){A||(A=c(k));var C=E.paint;if(&quot;line&quot;===E.type){L=s(n,C[&quot;line-translate&quot;],C[&quot;line-translate-anchor&quot;],f,h);var z=o(C)/2*h;if(C[&quot;line-offset&quot;]&amp;&amp;(A=function(t,e){for(var r=[],n=new l(0,0),i=0;i&lt;t.length;i++){for(var a=t[i],o=[],s=0;s&lt;a.length;s++){var c=a[s-1],u=a[s],f=a[s+1],h=0===s?n:u.sub(c)._unit()._perp(),d=s===a.length-1?n:f.sub(u)._unit()._perp(),p=h._add(d)._unit(),m=p.x*d.x+p.y*d.y;p._mult(1/m),o.push(p._mult(e)._add(u))}r.push(o)}return r}(A,C[&quot;line-offset&quot;]*h)),!w(L,A,z))continue}else if(&quot;fill&quot;===E.type){if(L=s(n,C[&quot;fill-translate&quot;],C[&quot;fill-translate-anchor&quot;],f,h),!_(L,A))continue}else if(&quot;circle&quot;===E.type){L=s(n,C[&quot;circle-translate&quot;],C[&quot;circle-translate-anchor&quot;],f,h);var D=C[&quot;circle-radius&quot;]*h;if(!b(L,A,D))continue}}var I=new v(k,this.z,this.x,this.y);I.layer=E.serialize({includeRefProperties:!0});var P=t[S];void 0===P&amp;&amp;(P=t[S]=[]),P.push(I)}}}}}}}},{&quot;../util/dictionary_coder&quot;:423,&quot;../util/intersection_tests&quot;:428,&quot;../util/struct_array&quot;:431,&quot;../util/util&quot;:433,&quot;../util/vectortile_to_geojson&quot;:434,&quot;./bucket&quot;:320,&quot;./load_geometry&quot;:328,&quot;feature-filter&quot;:141,&quot;grid-index&quot;:275,pbf:470,&quot;point-geometry&quot;:477,&quot;vector-tile&quot;:564}],328:[function(t,e,r){&quot;use strict&quot;;function n(t){return{min:-1*Math.pow(2,t-1),max:Math.pow(2,t-1)-1}}var i=t(&quot;../util/util&quot;),a=t(&quot;./bucket&quot;).EXTENT,o=t(&quot;assert&quot;),s={15:n(15),16:n(16)};e.exports=function(t,e){var r=s[e||16];o(r);for(var n=a/t.extent,l=t.loadGeometry(),c=0;c&lt;l.length;c++)for(var u=l[c],f=0;f&lt;u.length;f++){var h=u[f];h.x=Math.round(h.x*n),h.y=Math.round(h.y*n),(h.x&lt;r.min||h.x&gt;r.max||h.y&lt;r.min||h.y&gt;r.max)&amp;&amp;i.warnOnce(&quot;Geometry exceeds allowed extent, reduce your vector tile buffer size&quot;)}return l}},{&quot;../util/util&quot;:433,&quot;./bucket&quot;:320,assert:51}],329:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r){this.column=t,this.row=e,this.zoom=r}e.exports=n,n.prototype={clone:function(){return new n(this.column,this.row,this.zoom)},zoomTo:function(t){return this.clone()._zoomTo(t)},sub:function(t){return this.clone()._sub(t)},_zoomTo:function(t){var e=Math.pow(2,t-this.zoom);return this.column*=e,this.row*=e,this.zoom=t,this},_sub:function(t){return t=t.zoomTo(this.zoom),this.column-=t.column,this.row-=t.row,this}}},{}],330:[function(t,e,r){&quot;use strict&quot;;function n(t,e){if(isNaN(t)||isNaN(e))throw new Error(&quot;Invalid LngLat object: (&quot;+t+&quot;, &quot;+e+&quot;)&quot;);if(this.lng=+t,this.lat=+e,this.lat&gt;90||this.lat&lt;-90)throw new Error(&quot;Invalid LngLat latitude value: must be between -90 and 90&quot;)}e.exports=n;var i=t(&quot;../util/util&quot;).wrap;n.prototype.wrap=function(){return new n(i(this.lng,-180,180),this.lat)},n.prototype.toArray=function(){return[this.lng,this.lat]},n.prototype.toString=function(){return&quot;LngLat(&quot;+this.lng+&quot;, &quot;+this.lat+&quot;)&quot;},n.convert=function(t){return t instanceof n?t:Array.isArray(t)?new n(t[0],t[1]):t}},{&quot;../util/util&quot;:433}],331:[function(t,e,r){&quot;use strict&quot;;function n(t,e){t&amp;&amp;(e?this.extend(t).extend(e):4===t.length?this.extend([t[0],t[1]]).extend([t[2],t[3]]):this.extend(t[0]).extend(t[1]))}e.exports=n;var i=t(&quot;./lng_lat&quot;);n.prototype={extend:function(t){var e,r,a=this._sw,o=this._ne;if(t instanceof i)e=t,r=t;else{if(!(t instanceof n))return t?this.extend(i.convert(t)||n.convert(t)):this;if(e=t._sw,r=t._ne,!e||!r)return this}return a||o?(a.lng=Math.min(e.lng,a.lng),a.lat=Math.min(e.lat,a.lat),o.lng=Math.max(r.lng,o.lng),o.lat=Math.max(r.lat,o.lat)):(this._sw=new i(e.lng,e.lat),this._ne=new i(r.lng,r.lat)),this},getCenter:function(){return new i((this._sw.lng+this._ne.lng)/2,(this._sw.lat+this._ne.lat)/2)},getSouthWest:function(){return this._sw},getNorthEast:function(){return this._ne},getNorthWest:function(){return new i(this.getWest(),this.getNorth())},getSouthEast:function(){return new i(this.getEast(),this.getSouth())},getWest:function(){return this._sw.lng},getSouth:function(){return this._sw.lat},getEast:function(){return this._ne.lng},getNorth:function(){return this._ne.lat},toArray:function(){return[this._sw.toArray(),this._ne.toArray()]},toString:function(){return&quot;LngLatBounds(&quot;+this._sw.toString()+&quot;, &quot;+this._ne.toString()+&quot;)&quot;}},n.convert=function(t){return!t||t instanceof n?t:new n(t)}},{&quot;./lng_lat&quot;:330}],332:[function(t,e,r){&quot;use strict&quot;;function n(t,e){this.tileSize=512,this._minZoom=t||0,this._maxZoom=e||22,this.latRange=[-85.05113,85.05113],this.width=0,this.height=0,this._center=new i(0,0),this.zoom=0,this.angle=0,this._altitude=1.5,this._pitch=0,this._unmodified=!0}var i=t(&quot;./lng_lat&quot;),a=t(&quot;point-geometry&quot;),o=t(&quot;./coordinate&quot;),s=t(&quot;../util/util&quot;).wrap,l=t(&quot;../util/interpolate&quot;),c=t(&quot;../source/tile_coord&quot;),u=t(&quot;../data/bucket&quot;).EXTENT,f=t(&quot;gl-matrix&quot;),h=f.vec4,d=f.mat4,p=f.mat2;e.exports=n,n.prototype={get minZoom(){return this._minZoom},set minZoom(t){this._minZoom!==t&amp;&amp;(this._minZoom=t,this.zoom=Math.max(this.zoom,t))},get maxZoom(){return this._maxZoom},set maxZoom(t){this._maxZoom!==t&amp;&amp;(this._maxZoom=t,this.zoom=Math.min(this.zoom,t))},get worldSize(){return this.tileSize*this.scale},get centerPoint(){return this.size._div(2)},get size(){return new a(this.width,this.height)},get bearing(){return-this.angle/Math.PI*180},set bearing(t){var e=-s(t,-180,180)*Math.PI/180;this.angle!==e&amp;&amp;(this._unmodified=!1,this.angle=e,this._calcMatrices(),this.rotationMatrix=p.create(),p.rotate(this.rotationMatrix,this.rotationMatrix,this.angle))},get pitch(){return this._pitch/Math.PI*180},set pitch(t){var e=Math.min(60,t)/180*Math.PI;this._pitch!==e&amp;&amp;(this._unmodified=!1,this._pitch=e,this._calcMatrices())},get altitude(){return this._altitude},set altitude(t){var e=Math.max(.75,t);this._altitude!==e&amp;&amp;(this._unmodified=!1,this._altitude=e,this._calcMatrices())},get zoom(){return this._zoom},set zoom(t){var e=Math.min(Math.max(t,this.minZoom),this.maxZoom);this._zoom!==e&amp;&amp;(this._unmodified=!1,this._zoom=e,this.scale=this.zoomScale(e),this.tileZoom=Math.floor(e),this.zoomFraction=e-this.tileZoom,this._calcMatrices(),this._constrain())},get center(){return this._center},set center(t){t.lat===this._center.lat&amp;&amp;t.lng===this._center.lng||(this._unmodified=!1,this._center=t,this._calcMatrices(),this._constrain())},coveringZoomLevel:function(t){return(t.roundZoom?Math.round:Math.floor)(this.zoom+this.scaleZoom(this.tileSize/t.tileSize))},coveringTiles:function(t){var e=this.coveringZoomLevel(t),r=e;if(e&lt;t.minzoom)return[];e&gt;t.maxzoom&amp;&amp;(e=t.maxzoom);var n=this.locationCoordinate(this.center)._zoomTo(e),i=new a(n.column-.5,n.row-.5);return c.cover(e,[this.pointCoordinate(new a(0,0))._zoomTo(e),this.pointCoordinate(new a(this.width,0))._zoomTo(e),this.pointCoordinate(new a(this.width,this.height))._zoomTo(e),this.pointCoordinate(new a(0,this.height))._zoomTo(e)],t.reparseOverscaled?r:e).sort(function(t,e){return i.dist(t)-i.dist(e)})},resize:function(t,e){this.width=t,this.height=e,this.pixelsToGLUnits=[2/t,-2/e],this._calcMatrices(),this._constrain()},get unmodified(){return this._unmodified},zoomScale:function(t){return Math.pow(2,t)},scaleZoom:function(t){return Math.log(t)/Math.LN2},project:function(t,e){return new a(this.lngX(t.lng,e),this.latY(t.lat,e))},unproject:function(t,e){return new i(this.xLng(t.x,e),this.yLat(t.y,e))},get x(){return this.lngX(this.center.lng)},get y(){return this.latY(this.center.lat)},get point(){return new a(this.x,this.y)},lngX:function(t,e){return(180+t)*(e||this.worldSize)/360},latY:function(t,e){return(180-180/Math.PI*Math.log(Math.tan(Math.PI/4+t*Math.PI/360)))*(e||this.worldSize)/360},xLng:function(t,e){return 360*t/(e||this.worldSize)-180},yLat:function(t,e){var r=180-360*t/(e||this.worldSize);return 360/Math.PI*Math.atan(Math.exp(r*Math.PI/180))-90},panBy:function(t){var e=this.centerPoint._add(t);this.center=this.pointLocation(e)},setLocationAtPoint:function(t,e){var r=this.locationCoordinate(t),n=this.pointCoordinate(e),i=this.pointCoordinate(this.centerPoint),a=n._sub(r);this._unmodified=!1,this.center=this.coordinateLocation(i._sub(a))},locationPoint:function(t){return this.coordinatePoint(this.locationCoordinate(t))},pointLocation:function(t){return this.coordinateLocation(this.pointCoordinate(t))},locationCoordinate:function(t){var e=this.zoomScale(this.tileZoom)/this.worldSize,r=i.convert(t);return new o(this.lngX(r.lng)*e,this.latY(r.lat)*e,this.tileZoom)},coordinateLocation:function(t){var e=this.zoomScale(t.zoom);return new i(this.xLng(t.column,e),this.yLat(t.row,e))},pointCoordinate:function(t){var e=[t.x,t.y,0,1],r=[t.x,t.y,1,1];h.transformMat4(e,e,this.pixelMatrixInverse),h.transformMat4(r,r,this.pixelMatrixInverse);var n=e[3],i=r[3],a=e[0]/n,s=r[0]/i,c=e[1]/n,u=r[1]/i,f=e[2]/n,d=r[2]/i,p=f===d?0:(0-f)/(d-f),m=this.worldSize/this.zoomScale(this.tileZoom);return new o(l(a,s,p)/m,l(c,u,p)/m,this.tileZoom)},coordinatePoint:function(t){var e=this.worldSize/this.zoomScale(t.zoom),r=[t.column*e,t.row*e,0,1];return h.transformMat4(r,r,this.pixelMatrix),new a(r[0]/r[3],r[1]/r[3])},calculatePosMatrix:function(t,e){void 0===e&amp;&amp;(e=1/0),t instanceof c&amp;&amp;(t=t.toCoordinate(e));var r=Math.min(t.zoom,e),n=this.worldSize/Math.pow(2,r),i=new Float64Array(16);return d.identity(i),d.translate(i,i,[t.column*n,t.row*n,0]),d.scale(i,i,[n/u,n/u,1]),d.multiply(i,this.projMatrix,i),new Float32Array(i)},_constrain:function(){if(this.center&amp;&amp;this.width&amp;&amp;this.height&amp;&amp;!this._constraining){this._constraining=!0;var t,e,r,n,i,o,s,l,c=this.size,u=this._unmodified;this.latRange&amp;&amp;(t=this.latY(this.latRange[1]),i=(e=this.latY(this.latRange[0]))-t&lt;c.y?c.y/(e-t):0),this.lngRange&amp;&amp;(r=this.lngX(this.lngRange[0]),o=(n=this.lngX(this.lngRange[1]))-r&lt;c.x?c.x/(n-r):0);var f=Math.max(o||0,i||0);if(f)return this.center=this.unproject(new a(o?(n+r)/2:this.x,i?(e+t)/2:this.y)),this.zoom+=this.scaleZoom(f),this._unmodified=u,void(this._constraining=!1);if(this.latRange){var h=this.y,d=c.y/2;h-d&lt;t&amp;&amp;(l=t+d),h+d&gt;e&amp;&amp;(l=e-d)}if(this.lngRange){var p=this.x,m=c.x/2;p-m&lt;r&amp;&amp;(s=r+m),p+m&gt;n&amp;&amp;(s=n-m)}void 0===s&amp;&amp;void 0===l||(this.center=this.unproject(new a(void 0!==s?s:this.x,void 0!==l?l:this.y))),this._unmodified=u,this._constraining=!1}},_calcMatrices:function(){if(this.height){var t=Math.atan(.5/this.altitude),e=Math.sin(t)*this.altitude/Math.sin(Math.PI/2-this._pitch-t),r=Math.cos(Math.PI/2-this._pitch)*e+this.altitude,n=new Float64Array(16);if(d.perspective(n,2*Math.atan(this.height/2/this.altitude),this.width/this.height,.1,r),d.translate(n,n,[0,0,-this.altitude]),d.scale(n,n,[1,-1,1/this.height]),d.rotateX(n,n,this._pitch),d.rotateZ(n,n,this.angle),d.translate(n,n,[-this.x,-this.y,0]),this.projMatrix=n,n=d.create(),d.scale(n,n,[this.width/2,-this.height/2,1]),d.translate(n,n,[1,-1,0]),this.pixelMatrix=d.multiply(new Float64Array(16),n,this.projMatrix),!(n=d.invert(new Float64Array(16),this.pixelMatrix)))throw new Error(&quot;failed to invert matrix&quot;);this.pixelMatrixInverse=n}}}},{&quot;../data/bucket&quot;:320,&quot;../source/tile_coord&quot;:360,&quot;../util/interpolate&quot;:427,&quot;../util/util&quot;:433,&quot;./coordinate&quot;:329,&quot;./lng_lat&quot;:330,&quot;gl-matrix&quot;:198,&quot;point-geometry&quot;:477}],333:[function(t,e,r){&quot;use strict&quot;;var n={&quot; &quot;:[16,[]],&quot;!&quot;:[10,[5,21,5,7,-1,-1,5,2,4,1,5,0,6,1,5,2]],'&quot;':[16,[4,21,4,14,-1,-1,12,21,12,14]],&quot;#&quot;:[21,[11,25,4,-7,-1,-1,17,25,10,-7,-1,-1,4,12,18,12,-1,-1,3,6,17,6]],$:[20,[8,25,8,-4,-1,-1,12,25,12,-4,-1,-1,17,18,15,20,12,21,8,21,5,20,3,18,3,16,4,14,5,13,7,12,13,10,15,9,16,8,17,6,17,3,15,1,12,0,8,0,5,1,3,3]],&quot;%&quot;:[24,[21,21,3,0,-1,-1,8,21,10,19,10,17,9,15,7,14,5,14,3,16,3,18,4,20,6,21,8,21,10,20,13,19,16,19,19,20,21,21,-1,-1,17,7,15,6,14,4,14,2,16,0,18,0,20,1,21,3,21,5,19,7,17,7]],&quot;&amp;&quot;:[26,[23,12,23,13,22,14,21,14,20,13,19,11,17,6,15,3,13,1,11,0,7,0,5,1,4,2,3,4,3,6,4,8,5,9,12,13,13,14,14,16,14,18,13,20,11,21,9,20,8,18,8,16,9,13,11,10,16,3,18,1,20,0,22,0,23,1,23,2]],&quot;'&quot;:[10,[5,19,4,20,5,21,6,20,6,18,5,16,4,15]],&quot;(&quot;:[14,[11,25,9,23,7,20,5,16,4,11,4,7,5,2,7,-2,9,-5,11,-7]],&quot;)&quot;:[14,[3,25,5,23,7,20,9,16,10,11,10,7,9,2,7,-2,5,-5,3,-7]],&quot;*&quot;:[16,[8,21,8,9,-1,-1,3,18,13,12,-1,-1,13,18,3,12]],&quot;+&quot;:[26,[13,18,13,0,-1,-1,4,9,22,9]],&quot;,&quot;:[10,[6,1,5,0,4,1,5,2,6,1,6,-1,5,-3,4,-4]],&quot;-&quot;:[26,[4,9,22,9]],&quot;.&quot;:[10,[5,2,4,1,5,0,6,1,5,2]],&quot;/&quot;:[22,[20,25,2,-7]],0:[20,[9,21,6,20,4,17,3,12,3,9,4,4,6,1,9,0,11,0,14,1,16,4,17,9,17,12,16,17,14,20,11,21,9,21]],1:[20,[6,17,8,18,11,21,11,0]],2:[20,[4,16,4,17,5,19,6,20,8,21,12,21,14,20,15,19,16,17,16,15,15,13,13,10,3,0,17,0]],3:[20,[5,21,16,21,10,13,13,13,15,12,16,11,17,8,17,6,16,3,14,1,11,0,8,0,5,1,4,2,3,4]],4:[20,[13,21,3,7,18,7,-1,-1,13,21,13,0]],5:[20,[15,21,5,21,4,12,5,13,8,14,11,14,14,13,16,11,17,8,17,6,16,3,14,1,11,0,8,0,5,1,4,2,3,4]],6:[20,[16,18,15,20,12,21,10,21,7,20,5,17,4,12,4,7,5,3,7,1,10,0,11,0,14,1,16,3,17,6,17,7,16,10,14,12,11,13,10,13,7,12,5,10,4,7]],7:[20,[17,21,7,0,-1,-1,3,21,17,21]],8:[20,[8,21,5,20,4,18,4,16,5,14,7,13,11,12,14,11,16,9,17,7,17,4,16,2,15,1,12,0,8,0,5,1,4,2,3,4,3,7,4,9,6,11,9,12,13,13,15,14,16,16,16,18,15,20,12,21,8,21]],9:[20,[16,14,15,11,13,9,10,8,9,8,6,9,4,11,3,14,3,15,4,18,6,20,9,21,10,21,13,20,15,18,16,14,16,9,15,4,13,1,10,0,8,0,5,1,4,3]],&quot;:&quot;:[10,[5,14,4,13,5,12,6,13,5,14,-1,-1,5,2,4,1,5,0,6,1,5,2]],&quot;;&quot;:[10,[5,14,4,13,5,12,6,13,5,14,-1,-1,6,1,5,0,4,1,5,2,6,1,6,-1,5,-3,4,-4]],&quot;&lt;&quot;:[24,[20,18,4,9,20,0]],&quot;=&quot;:[26,[4,12,22,12,-1,-1,4,6,22,6]],&quot;&gt;&quot;:[24,[4,18,20,9,4,0]],&quot;?&quot;:[18,[3,16,3,17,4,19,5,20,7,21,11,21,13,20,14,19,15,17,15,15,14,13,13,12,9,10,9,7,-1,-1,9,2,8,1,9,0,10,1,9,2]],&quot;@&quot;:[27,[18,13,17,15,15,16,12,16,10,15,9,14,8,11,8,8,9,6,11,5,14,5,16,6,17,8,-1,-1,12,16,10,14,9,11,9,8,10,6,11,5,-1,-1,18,16,17,8,17,6,19,5,21,5,23,7,24,10,24,12,23,15,22,17,20,19,18,20,15,21,12,21,9,20,7,19,5,17,4,15,3,12,3,9,4,6,5,4,7,2,9,1,12,0,15,0,18,1,20,2,21,3,-1,-1,19,16,18,8,18,6,19,5]],A:[18,[9,21,1,0,-1,-1,9,21,17,0,-1,-1,4,7,14,7]],B:[21,[4,21,4,0,-1,-1,4,21,13,21,16,20,17,19,18,17,18,15,17,13,16,12,13,11,-1,-1,4,11,13,11,16,10,17,9,18,7,18,4,17,2,16,1,13,0,4,0]],C:[21,[18,16,17,18,15,20,13,21,9,21,7,20,5,18,4,16,3,13,3,8,4,5,5,3,7,1,9,0,13,0,15,1,17,3,18,5]],D:[21,[4,21,4,0,-1,-1,4,21,11,21,14,20,16,18,17,16,18,13,18,8,17,5,16,3,14,1,11,0,4,0]],E:[19,[4,21,4,0,-1,-1,4,21,17,21,-1,-1,4,11,12,11,-1,-1,4,0,17,0]],F:[18,[4,21,4,0,-1,-1,4,21,17,21,-1,-1,4,11,12,11]],G:[21,[18,16,17,18,15,20,13,21,9,21,7,20,5,18,4,16,3,13,3,8,4,5,5,3,7,1,9,0,13,0,15,1,17,3,18,5,18,8,-1,-1,13,8,18,8]],H:[22,[4,21,4,0,-1,-1,18,21,18,0,-1,-1,4,11,18,11]],I:[8,[4,21,4,0]],J:[16,[12,21,12,5,11,2,10,1,8,0,6,0,4,1,3,2,2,5,2,7]],K:[21,[4,21,4,0,-1,-1,18,21,4,7,-1,-1,9,12,18,0]],L:[17,[4,21,4,0,-1,-1,4,0,16,0]],M:[24,[4,21,4,0,-1,-1,4,21,12,0,-1,-1,20,21,12,0,-1,-1,20,21,20,0]],N:[22,[4,21,4,0,-1,-1,4,21,18,0,-1,-1,18,21,18,0]],O:[22,[9,21,7,20,5,18,4,16,3,13,3,8,4,5,5,3,7,1,9,0,13,0,15,1,17,3,18,5,19,8,19,13,18,16,17,18,15,20,13,21,9,21]],P:[21,[4,21,4,0,-1,-1,4,21,13,21,16,20,17,19,18,17,18,14,17,12,16,11,13,10,4,10]],Q:[22,[9,21,7,20,5,18,4,16,3,13,3,8,4,5,5,3,7,1,9,0,13,0,15,1,17,3,18,5,19,8,19,13,18,16,17,18,15,20,13,21,9,21,-1,-1,12,4,18,-2]],R:[21,[4,21,4,0,-1,-1,4,21,13,21,16,20,17,19,18,17,18,15,17,13,16,12,13,11,4,11,-1,-1,11,11,18,0]],S:[20,[17,18,15,20,12,21,8,21,5,20,3,18,3,16,4,14,5,13,7,12,13,10,15,9,16,8,17,6,17,3,15,1,12,0,8,0,5,1,3,3]],T:[16,[8,21,8,0,-1,-1,1,21,15,21]],U:[22,[4,21,4,6,5,3,7,1,10,0,12,0,15,1,17,3,18,6,18,21]],V:[18,[1,21,9,0,-1,-1,17,21,9,0]],W:[24,[2,21,7,0,-1,-1,12,21,7,0,-1,-1,12,21,17,0,-1,-1,22,21,17,0]],X:[20,[3,21,17,0,-1,-1,17,21,3,0]],Y:[18,[1,21,9,11,9,0,-1,-1,17,21,9,11]],Z:[20,[17,21,3,0,-1,-1,3,21,17,21,-1,-1,3,0,17,0]],&quot;[&quot;:[14,[4,25,4,-7,-1,-1,5,25,5,-7,-1,-1,4,25,11,25,-1,-1,4,-7,11,-7]],&quot;\\&quot;:[14,[0,21,14,-3]],&quot;]&quot;:[14,[9,25,9,-7,-1,-1,10,25,10,-7,-1,-1,3,25,10,25,-1,-1,3,-7,10,-7]],&quot;^&quot;:[16,[6,15,8,18,10,15,-1,-1,3,12,8,17,13,12,-1,-1,8,17,8,0]],_:[16,[0,-2,16,-2]],&quot;`&quot;:[10,[6,21,5,20,4,18,4,16,5,15,6,16,5,17]],a:[19,[15,14,15,0,-1,-1,15,11,13,13,11,14,8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3]],b:[19,[4,21,4,0,-1,-1,4,11,6,13,8,14,11,14,13,13,15,11,16,8,16,6,15,3,13,1,11,0,8,0,6,1,4,3]],c:[18,[15,11,13,13,11,14,8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3]],d:[19,[15,21,15,0,-1,-1,15,11,13,13,11,14,8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3]],e:[18,[3,8,15,8,15,10,14,12,13,13,11,14,8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3]],f:[12,[10,21,8,21,6,20,5,17,5,0,-1,-1,2,14,9,14]],g:[19,[15,14,15,-2,14,-5,13,-6,11,-7,8,-7,6,-6,-1,-1,15,11,13,13,11,14,8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3]],h:[19,[4,21,4,0,-1,-1,4,10,7,13,9,14,12,14,14,13,15,10,15,0]],i:[8,[3,21,4,20,5,21,4,22,3,21,-1,-1,4,14,4,0]],j:[10,[5,21,6,20,7,21,6,22,5,21,-1,-1,6,14,6,-3,5,-6,3,-7,1,-7]],k:[17,[4,21,4,0,-1,-1,14,14,4,4,-1,-1,8,8,15,0]],l:[8,[4,21,4,0]],m:[30,[4,14,4,0,-1,-1,4,10,7,13,9,14,12,14,14,13,15,10,15,0,-1,-1,15,10,18,13,20,14,23,14,25,13,26,10,26,0]],n:[19,[4,14,4,0,-1,-1,4,10,7,13,9,14,12,14,14,13,15,10,15,0]],o:[19,[8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3,16,6,16,8,15,11,13,13,11,14,8,14]],p:[19,[4,14,4,-7,-1,-1,4,11,6,13,8,14,11,14,13,13,15,11,16,8,16,6,15,3,13,1,11,0,8,0,6,1,4,3]],q:[19,[15,14,15,-7,-1,-1,15,11,13,13,11,14,8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3]],r:[13,[4,14,4,0,-1,-1,4,8,5,11,7,13,9,14,12,14]],s:[17,[14,11,13,13,10,14,7,14,4,13,3,11,4,9,6,8,11,7,13,6,14,4,14,3,13,1,10,0,7,0,4,1,3,3]],t:[12,[5,21,5,4,6,1,8,0,10,0,-1,-1,2,14,9,14]],u:[19,[4,14,4,4,5,1,7,0,10,0,12,1,15,4,-1,-1,15,14,15,0]],v:[16,[2,14,8,0,-1,-1,14,14,8,0]],w:[22,[3,14,7,0,-1,-1,11,14,7,0,-1,-1,11,14,15,0,-1,-1,19,14,15,0]],x:[17,[3,14,14,0,-1,-1,14,14,3,0]],y:[16,[2,14,8,0,-1,-1,14,14,8,0,6,-4,4,-6,2,-7,1,-7]],z:[17,[14,14,3,0,-1,-1,3,14,14,14,-1,-1,3,0,14,0]],&quot;{&quot;:[14,[9,25,7,24,6,23,5,21,5,19,6,17,7,16,8,14,8,12,6,10,-1,-1,7,24,6,22,6,20,7,18,8,17,9,15,9,13,8,11,4,9,8,7,9,5,9,3,8,1,7,0,6,-2,6,-4,7,-6,-1,-1,6,8,8,6,8,4,7,2,6,1,5,-1,5,-3,6,-5,7,-6,9,-7]],&quot;|&quot;:[8,[4,25,4,-7]],&quot;}&quot;:[14,[5,25,7,24,8,23,9,21,9,19,8,17,7,16,6,14,6,12,8,10,-1,-1,7,24,8,22,8,20,7,18,6,17,5,15,5,13,6,11,10,9,6,7,5,5,5,3,6,1,7,0,8,-2,8,-4,7,-6,-1,-1,8,8,6,6,6,4,7,2,8,1,9,-1,9,-3,8,-5,7,-6,5,-7]],&quot;~&quot;:[24,[3,6,3,8,4,11,6,12,8,12,10,11,14,8,16,7,18,7,20,8,21,10,-1,-1,3,8,4,10,6,11,8,11,10,10,14,7,16,6,18,6,20,7,21,10,21,12]]};e.exports=function(t,e,r,i){i=i||1;var a,o,s,l,c,u,f,h,d=[];for(a=0,o=t.length;a&lt;o;a++)if(c=n[t[a]]){for(h=null,s=0,l=c[1].length;s&lt;l;s+=2)-1===c[1][s]&amp;&amp;-1===c[1][s+1]?h=null:(u=e+c[1][s]*i,f=r-c[1][s+1]*i,h&amp;&amp;d.push(h.x,h.y,u,f),h={x:u,y:f});e+=c[0]*i}return d}},{}],334:[function(t,e,r){&quot;use strict&quot;;var n=e.exports={};n.version=t(&quot;../package.json&quot;).version,n.Map=t(&quot;./ui/map&quot;),n.Control=t(&quot;./ui/control/control&quot;),n.Navigation=t(&quot;./ui/control/navigation&quot;),n.Geolocate=t(&quot;./ui/control/geolocate&quot;),n.Attribution=t(&quot;./ui/control/attribution&quot;),n.Popup=t(&quot;./ui/popup&quot;),n.Marker=t(&quot;./ui/marker&quot;),n.Style=t(&quot;./style/style&quot;),n.LngLat=t(&quot;./geo/lng_lat&quot;),n.LngLatBounds=t(&quot;./geo/lng_lat_bounds&quot;),n.Point=t(&quot;point-geometry&quot;),n.Evented=t(&quot;./util/evented&quot;),n.util=t(&quot;./util/util&quot;),n.supported=t(&quot;./util/browser&quot;).supported;var i=t(&quot;./util/ajax&quot;);n.util.getJSON=i.getJSON,n.util.getArrayBuffer=i.getArrayBuffer;var a=t(&quot;./util/config&quot;);n.config=a,Object.defineProperty(n,&quot;accessToken&quot;,{get:function(){return a.ACCESS_TOKEN},set:function(t){a.ACCESS_TOKEN=t}})},{&quot;../package.json&quot;:435,&quot;./geo/lng_lat&quot;:330,&quot;./geo/lng_lat_bounds&quot;:331,&quot;./style/style&quot;:369,&quot;./ui/control/attribution&quot;:400,&quot;./ui/control/control&quot;:401,&quot;./ui/control/geolocate&quot;:402,&quot;./ui/control/navigation&quot;:403,&quot;./ui/map&quot;:412,&quot;./ui/marker&quot;:413,&quot;./ui/popup&quot;:414,&quot;./util/ajax&quot;:416,&quot;./util/browser&quot;:417,&quot;./util/config&quot;:422,&quot;./util/evented&quot;:425,&quot;./util/util&quot;:433,&quot;point-geometry&quot;:477}],335:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;assert&quot;);e.exports=function(t){for(var e={define:{},initialize:{}},r=0;r&lt;t.length;r++){var i=t[r];n(&quot;u_&quot;===i.name.slice(0,2));var a=&quot;{precision} &quot;+(1===i.components?&quot;float&quot;:&quot;vec&quot;+i.components);e.define[i.name.slice(2)]=&quot;uniform &quot;+a+&quot; &quot;+i.name+&quot;;\n&quot;,e.initialize[i.name.slice(2)]=a+&quot; &quot;+i.name.slice(2)+&quot; = &quot;+i.name+&quot;;\n&quot;}return e}},{assert:51}],336:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../source/pixels_to_tile_units&quot;),i=t(&quot;./create_uniform_pragmas&quot;),a=512;e.exports=function(t,e,r){var o,s=t.gl,l=t.transform,c=r.paint[&quot;background-color&quot;],u=r.paint[&quot;background-pattern&quot;],f=r.paint[&quot;background-opacity&quot;],h=u?t.spriteAtlas.getPosition(u.from,!0):null,d=u?t.spriteAtlas.getPosition(u.to,!0):null;if(t.setDepthSublayer(0),h&amp;&amp;d){if(t.isOpaquePass)return;o=t.useProgram(&quot;pattern&quot;),s.uniform1i(o.u_image,0),s.uniform2fv(o.u_pattern_tl_a,h.tl),s.uniform2fv(o.u_pattern_br_a,h.br),s.uniform2fv(o.u_pattern_tl_b,d.tl),s.uniform2fv(o.u_pattern_br_b,d.br),s.uniform1f(o.u_opacity,f),s.uniform1f(o.u_mix,u.t),s.uniform2fv(o.u_pattern_size_a,h.size),s.uniform2fv(o.u_pattern_size_b,d.size),s.uniform1f(o.u_scale_a,u.fromScale),s.uniform1f(o.u_scale_b,u.toScale),s.activeTexture(s.TEXTURE0),t.spriteAtlas.bind(s,!0),t.tileExtentPatternVAO.bind(s,o,t.tileExtentBuffer)}else{if(t.isOpaquePass!==(1===c[3]))return;var p=i([{name:&quot;u_color&quot;,components:4},{name:&quot;u_opacity&quot;,components:1}]);o=t.useProgram(&quot;fill&quot;,[],p,p),s.uniform4fv(o.u_color,c),s.uniform1f(o.u_opacity,f),t.tileExtentVAO.bind(s,o,t.tileExtentBuffer)}s.disable(s.STENCIL_TEST);for(var m=l.coveringTiles({tileSize:a}),g=0;g&lt;m.length;g++){var v=m[g];if(h&amp;&amp;d){var y={coord:v,tileSize:a};s.uniform1f(o.u_tile_units_to_pixels,1/n(y,1,t.transform.tileZoom));var x=y.tileSize*Math.pow(2,t.transform.tileZoom-y.coord.z),b=x*(y.coord.x+v.w*Math.pow(2,y.coord.z)),_=x*y.coord.y;s.uniform2f(o.u_pixel_coord_upper,b&gt;&gt;16,_&gt;&gt;16),s.uniform2f(o.u_pixel_coord_lower,65535&amp;b,65535&amp;_)}s.uniformMatrix4fv(o.u_matrix,!1,t.transform.calculatePosMatrix(v)),s.drawArrays(s.TRIANGLE_STRIP,0,t.tileExtentBuffer.length)}s.stencilMask(0),s.stencilFunc(s.EQUAL,128,128)}},{&quot;../source/pixels_to_tile_units&quot;:354,&quot;./create_uniform_pragmas&quot;:335}],337:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../util/browser&quot;);e.exports=function(t,e,r,i){if(!t.isOpaquePass){var a=t.gl;t.setDepthSublayer(0),t.depthMask(!1),a.disable(a.STENCIL_TEST);for(var o=0;o&lt;i.length;o++){var s=i[o],l=e.getTile(s),c=l.getBucket(r);if(c){var u=c.bufferGroups.circle;if(u){var f=c.paintAttributes.circle[r.id],h=t.useProgram(&quot;circle&quot;,f.defines,f.vertexPragmas,f.fragmentPragmas);&quot;map&quot;===r.paint[&quot;circle-pitch-scale&quot;]?(a.uniform1i(h.u_scale_with_map,!0),a.uniform2f(h.u_extrude_scale,t.transform.pixelsToGLUnits[0]*t.transform.altitude,t.transform.pixelsToGLUnits[1]*t.transform.altitude)):(a.uniform1i(h.u_scale_with_map,!1),a.uniform2fv(h.u_extrude_scale,t.transform.pixelsToGLUnits)),a.uniform1f(h.u_devicepixelratio,n.devicePixelRatio),a.uniformMatrix4fv(h.u_matrix,!1,t.translatePosMatrix(s.posMatrix,l,r.paint[&quot;circle-translate&quot;],r.paint[&quot;circle-translate-anchor&quot;])),c.setUniforms(a,&quot;circle&quot;,h,r,{zoom:t.transform.zoom});for(var d=0;d&lt;u.length;d++){var p=u[d];p.vaos[r.id].bind(a,h,p.layoutVertexBuffer,p.elementBuffer,p.paintVertexBuffers[r.id]),a.drawElements(a.TRIANGLES,3*p.elementBuffer.length,a.UNSIGNED_SHORT,0)}}}}}}},{&quot;../util/browser&quot;:417}],338:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t,e,r,n){var i=t.gl;i.enable(i.STENCIL_TEST);for(var a=t.useProgram(&quot;collisionbox&quot;),o=0;o&lt;n.length;o++){var s=n[o],l=e.getTile(s),c=l.getBucket(r);if(c){var u=c.bufferGroups.collisionBox;if(u&amp;&amp;u.length){var f=u[0];0!==f.layoutVertexBuffer.length&amp;&amp;(i.uniformMatrix4fv(a.u_matrix,!1,s.posMatrix),t.enableTileClippingMask(s),t.lineWidth(1),i.uniform1f(a.u_scale,Math.pow(2,t.transform.zoom-l.coord.z)),i.uniform1f(a.u_zoom,10*t.transform.zoom),i.uniform1f(a.u_maxzoom,10*(l.coord.z+1)),f.vaos[r.id].bind(i,a,f.layoutVertexBuffer),i.drawArrays(i.LINES,0,f.layoutVertexBuffer.length))}}}}},{}],339:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../lib/debugtext&quot;),i=t(&quot;../util/browser&quot;),a=t(&quot;gl-matrix&quot;).mat4,o=t(&quot;../data/bucket&quot;).EXTENT,s=t(&quot;../data/buffer&quot;),l=t(&quot;./vertex_array_object&quot;);e.exports=function(t,e,r){if(!t.isOpaquePass&amp;&amp;t.options.debug)for(var c=0;c&lt;r.length;c++)!function(t,e,r){var c=t.gl;c.disable(c.STENCIL_TEST),t.lineWidth(1*i.devicePixelRatio);var u=r.posMatrix,f=t.useProgram(&quot;debug&quot;);c.uniformMatrix4fv(f.u_matrix,!1,u),c.uniform4f(f.u_color,1,0,0,1),t.debugVAO.bind(c,f,t.debugBuffer),c.drawArrays(c.LINE_STRIP,0,t.debugBuffer.length);for(var h=n(r.toString(),50,200,5),d=new t.PosArray,p=0;p&lt;h.length;p+=2)d.emplaceBack(h[p],h[p+1]);var m=new s(d.serialize(),t.PosArray.serialize(),s.BufferType.VERTEX);(new l).bind(c,f,m),c.uniform4f(f.u_color,1,1,1,1);for(var g=e.getTile(r).tileSize,v=o/(Math.pow(2,t.transform.zoom-r.z)*g),y=[[-1,-1],[-1,1],[1,-1],[1,1]],x=0;x&lt;y.length;x++){var b=y[x];c.uniformMatrix4fv(f.u_matrix,!1,a.translate([],u,[v*b[0],v*b[1],0])),c.drawArrays(c.LINES,0,m.length)}c.uniform4f(f.u_color,0,0,0,1),c.uniformMatrix4fv(f.u_matrix,!1,u),c.drawArrays(c.LINES,0,m.length)}(t,e,r[c])}},{&quot;../data/bucket&quot;:320,&quot;../data/buffer&quot;:325,&quot;../lib/debugtext&quot;:333,&quot;../util/browser&quot;:417,&quot;./vertex_array_object&quot;:348,&quot;gl-matrix&quot;:198}],340:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,n,a,o){var s=a.gl,l=a.spriteAtlas.getPosition(t.from,!0),c=a.spriteAtlas.getPosition(t.to,!0);if(l&amp;&amp;c){s.uniform1i(o.u_image,0),s.uniform2fv(o.u_pattern_tl_a,l.tl),s.uniform2fv(o.u_pattern_br_a,l.br),s.uniform2fv(o.u_pattern_tl_b,c.tl),s.uniform2fv(o.u_pattern_br_b,c.br),s.uniform1f(o.u_opacity,e),s.uniform1f(o.u_mix,t.t),s.uniform1f(o.u_tile_units_to_pixels,1/i(r,1,a.transform.tileZoom)),s.uniform2fv(o.u_pattern_size_a,l.size),s.uniform2fv(o.u_pattern_size_b,c.size),s.uniform1f(o.u_scale_a,t.fromScale),s.uniform1f(o.u_scale_b,t.toScale);var u=r.tileSize*Math.pow(2,a.transform.tileZoom-r.coord.z),f=u*(r.coord.x+n.w*Math.pow(2,r.coord.z)),h=u*r.coord.y;s.uniform2f(o.u_pixel_coord_upper,f&gt;&gt;16,h&gt;&gt;16),s.uniform2f(o.u_pixel_coord_lower,65535&amp;f,65535&amp;h),s.activeTexture(s.TEXTURE0),a.spriteAtlas.bind(s,!0)}}var i=t(&quot;../source/pixels_to_tile_units&quot;);e.exports=function(t,e,r,i){var a=t.gl;a.enable(a.STENCIL_TEST);var o;if(o=!r.paint[&quot;fill-pattern&quot;]&amp;&amp;r.isPaintValueFeatureConstant(&quot;fill-color&quot;)&amp;&amp;r.isPaintValueFeatureConstant(&quot;fill-opacity&quot;)&amp;&amp;1===r.paint[&quot;fill-color&quot;][3]&amp;&amp;1===r.paint[&quot;fill-opacity&quot;],t.isOpaquePass===o){t.setDepthSublayer(1);for(var s=0;s&lt;i.length;s++)!function(t,e,r,i){var a=e.getTile(i),o=a.getBucket(r);if(o){var s=o.bufferGroups.fill;if(s){var l,c=t.gl,u=r.paint[&quot;fill-pattern&quot;];if(u)l=t.useProgram(&quot;pattern&quot;),n(u,r.paint[&quot;fill-opacity&quot;],a,i,t,l),c.activeTexture(c.TEXTURE0),t.spriteAtlas.bind(c,!0);else{var f=o.paintAttributes.fill[r.id];l=t.useProgram(&quot;fill&quot;,f.defines,f.vertexPragmas,f.fragmentPragmas),o.setUniforms(c,&quot;fill&quot;,l,r,{zoom:t.transform.zoom})}c.uniformMatrix4fv(l.u_matrix,!1,t.translatePosMatrix(i.posMatrix,a,r.paint[&quot;fill-translate&quot;],r.paint[&quot;fill-translate-anchor&quot;])),t.enableTileClippingMask(i);for(var h=0;h&lt;s.length;h++){var d=s[h];d.vaos[r.id].bind(c,l,d.layoutVertexBuffer,d.elementBuffer,d.paintVertexBuffers[r.id]),c.drawElements(c.TRIANGLES,d.elementBuffer.length,c.UNSIGNED_SHORT,0)}}}}(t,e,r,i[s])}if(!t.isOpaquePass&amp;&amp;r.paint[&quot;fill-antialias&quot;]){t.lineWidth(2),t.depthMask(!1);var l=r.getPaintProperty(&quot;fill-outline-color&quot;);!l&amp;&amp;r.paint[&quot;fill-pattern&quot;]||!l?t.setDepthSublayer(0):t.setDepthSublayer(2);for(var c=0;c&lt;i.length;c++)!function(t,e,r,i){var a=e.getTile(i),o=a.getBucket(r);if(o){var s,l=t.gl,c=o.bufferGroups.fill,u=r.paint[&quot;fill-pattern&quot;],f=r.paint[&quot;fill-opacity&quot;],h=r.getPaintProperty(&quot;fill-outline-color&quot;);if(u&amp;&amp;!h)s=t.useProgram(&quot;outlinepattern&quot;),l.uniform2f(s.u_world,l.drawingBufferWidth,l.drawingBufferHeight);else{var d=o.paintAttributes.fill[r.id];s=t.useProgram(&quot;outline&quot;,d.defines,d.vertexPragmas,d.fragmentPragmas),l.uniform2f(s.u_world,l.drawingBufferWidth,l.drawingBufferHeight),l.uniform1f(s.u_opacity,f),o.setUniforms(l,&quot;fill&quot;,s,r,{zoom:t.transform.zoom})}l.uniformMatrix4fv(s.u_matrix,!1,t.translatePosMatrix(i.posMatrix,a,r.paint[&quot;fill-translate&quot;],r.paint[&quot;fill-translate-anchor&quot;])),u&amp;&amp;n(u,f,a,i,t,s),t.enableTileClippingMask(i);for(var p=0;p&lt;c.length;p++){var m=c[p];m.secondVaos[r.id].bind(l,s,m.layoutVertexBuffer,m.elementBuffer2,m.paintVertexBuffers[r.id]),l.drawElements(l.LINES,2*m.elementBuffer2.length,l.UNSIGNED_SHORT,0)}}}(t,e,r,i[c])}}},{&quot;../source/pixels_to_tile_units&quot;:354}],341:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../util/browser&quot;),i=t(&quot;gl-matrix&quot;).mat2,a=t(&quot;../source/pixels_to_tile_units&quot;);e.exports=function(t,e,r,o){if(!t.isOpaquePass){t.setDepthSublayer(0),t.depthMask(!1);var s=t.gl;if(s.enable(s.STENCIL_TEST),!(r.paint[&quot;line-width&quot;]&lt;=0)){var l=1/n.devicePixelRatio,c=r.paint[&quot;line-blur&quot;]+l,u=r.paint[&quot;line-color&quot;],f=t.transform,h=i.create();i.scale(h,h,[1,Math.cos(f._pitch)]),i.rotate(h,h,t.transform.angle);var d,p,m,g,v,y=Math.sqrt(f.height*f.height/4*(1+f.altitude*f.altitude)),x=(y+f.height/2*Math.tan(f._pitch))/y-1,b=r.paint[&quot;line-dasharray&quot;],_=r.paint[&quot;line-pattern&quot;];if(b)d=t.useProgram(&quot;linesdfpattern&quot;),s.uniform1f(d.u_linewidth,r.paint[&quot;line-width&quot;]/2),s.uniform1f(d.u_gapwidth,r.paint[&quot;line-gap-width&quot;]/2),s.uniform1f(d.u_antialiasing,l/2),s.uniform1f(d.u_blur,c),s.uniform4fv(d.u_color,u),s.uniform1f(d.u_opacity,r.paint[&quot;line-opacity&quot;]),p=t.lineAtlas.getDash(b.from,&quot;round&quot;===r.layout[&quot;line-cap&quot;]),m=t.lineAtlas.getDash(b.to,&quot;round&quot;===r.layout[&quot;line-cap&quot;]),s.uniform1i(d.u_image,0),s.activeTexture(s.TEXTURE0),t.lineAtlas.bind(s),s.uniform1f(d.u_tex_y_a,p.y),s.uniform1f(d.u_tex_y_b,m.y),s.uniform1f(d.u_mix,b.t),s.uniform1f(d.u_extra,x),s.uniform1f(d.u_offset,-r.paint[&quot;line-offset&quot;]),s.uniformMatrix2fv(d.u_antialiasingmatrix,!1,h);else if(_){if(g=t.spriteAtlas.getPosition(_.from,!0),v=t.spriteAtlas.getPosition(_.to,!0),!g||!v)return;d=t.useProgram(&quot;linepattern&quot;),s.uniform1i(d.u_image,0),s.activeTexture(s.TEXTURE0),t.spriteAtlas.bind(s,!0),s.uniform1f(d.u_linewidth,r.paint[&quot;line-width&quot;]/2),s.uniform1f(d.u_gapwidth,r.paint[&quot;line-gap-width&quot;]/2),s.uniform1f(d.u_antialiasing,l/2),s.uniform1f(d.u_blur,c),s.uniform2fv(d.u_pattern_tl_a,g.tl),s.uniform2fv(d.u_pattern_br_a,g.br),s.uniform2fv(d.u_pattern_tl_b,v.tl),s.uniform2fv(d.u_pattern_br_b,v.br),s.uniform1f(d.u_fade,_.t),s.uniform1f(d.u_opacity,r.paint[&quot;line-opacity&quot;]),s.uniform1f(d.u_extra,x),s.uniform1f(d.u_offset,-r.paint[&quot;line-offset&quot;]),s.uniformMatrix2fv(d.u_antialiasingmatrix,!1,h)}else d=t.useProgram(&quot;line&quot;),s.uniform1f(d.u_linewidth,r.paint[&quot;line-width&quot;]/2),s.uniform1f(d.u_gapwidth,r.paint[&quot;line-gap-width&quot;]/2),s.uniform1f(d.u_antialiasing,l/2),s.uniform1f(d.u_blur,c),s.uniform1f(d.u_extra,x),s.uniform1f(d.u_offset,-r.paint[&quot;line-offset&quot;]),s.uniformMatrix2fv(d.u_antialiasingmatrix,!1,h),s.uniform4fv(d.u_color,u),s.uniform1f(d.u_opacity,r.paint[&quot;line-opacity&quot;]);for(var w=0;w&lt;o.length;w++){var M=o[w],k=e.getTile(M),A=k.getBucket(r);if(A){var T=A.bufferGroups.line;if(T){t.enableTileClippingMask(M);var S=t.translatePosMatrix(M.posMatrix,k,r.paint[&quot;line-translate&quot;],r.paint[&quot;line-translate-anchor&quot;]);s.uniformMatrix4fv(d.u_matrix,!1,S);var E=1/a(k,1,t.transform.zoom);if(b){var L=p.width*b.fromScale,C=m.width*b.toScale,z=[1/a(k,L,t.transform.tileZoom),-p.height/2],D=[1/a(k,C,t.transform.tileZoom),-m.height/2],I=t.lineAtlas.width/(256*Math.min(L,C)*n.devicePixelRatio)/2;s.uniform1f(d.u_ratio,E),s.uniform2fv(d.u_patternscale_a,z),s.uniform2fv(d.u_patternscale_b,D),s.uniform1f(d.u_sdfgamma,I)}else _?(s.uniform1f(d.u_ratio,E),s.uniform2fv(d.u_pattern_size_a,[a(k,g.size[0]*_.fromScale,t.transform.tileZoom),v.size[1]]),s.uniform2fv(d.u_pattern_size_b,[a(k,v.size[0]*_.toScale,t.transform.tileZoom),v.size[1]])):s.uniform1f(d.u_ratio,E);for(var P=0;P&lt;T.length;P++){var O=T[P];O.vaos[r.id].bind(s,d,O.layoutVertexBuffer,O.elementBuffer),s.drawElements(s.TRIANGLES,3*O.elementBuffer.length,s.UNSIGNED_SHORT,0)}}}}}}}},{&quot;../source/pixels_to_tile_units&quot;:354,&quot;../util/browser&quot;:417,&quot;gl-matrix&quot;:198}],342:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,n){if(!t.isOpaquePass){var a=t.gl;a.enable(a.DEPTH_TEST),t.depthMask(!0),a.depthFunc(a.LESS);for(var o=n.length&amp;&amp;n[0].z,s=0;s&lt;n.length;s++){var l=n[s];t.setDepthSublayer(l.z-o),function(t,e,r,n){var a=t.gl;a.disable(a.STENCIL_TEST);var o=e.getTile(n),s=t.transform.calculatePosMatrix(n,e.maxzoom),l=t.useProgram(&quot;raster&quot;);a.uniformMatrix4fv(l.u_matrix,!1,s),a.uniform1f(l.u_brightness_low,r.paint[&quot;raster-brightness-min&quot;]),a.uniform1f(l.u_brightness_high,r.paint[&quot;raster-brightness-max&quot;]),a.uniform1f(l.u_saturation_factor,function(t){return t&gt;0?1-1/(1.001-t):-t}(r.paint[&quot;raster-saturation&quot;])),a.uniform1f(l.u_contrast_factor,function(t){return t&gt;0?1/(1-t):1+t}(r.paint[&quot;raster-contrast&quot;])),a.uniform3fv(l.u_spin_weights,function(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]}(r.paint[&quot;raster-hue-rotate&quot;]));var c,u,f=o.source&amp;&amp;o.source.findLoadedParent(n,0,{}),h=function(t,e,r,n){var a=[1,0],o=r.paint[&quot;raster-fade-duration&quot;];if(t.source&amp;&amp;o&gt;0){var s=(new Date).getTime(),l=(s-t.timeAdded)/o,c=e?(s-e.timeAdded)/o:-1,u=n.coveringZoomLevel(t.source),f=!!e&amp;&amp;Math.abs(e.coord.z-u)&gt;Math.abs(t.coord.z-u);!e||f?(a[0]=i.clamp(l,0,1),a[1]=1-a[0]):(a[0]=i.clamp(1-c,0,1),a[1]=1-a[0])}var h=r.paint[&quot;raster-opacity&quot;];return a[0]*=h,a[1]*=h,a}(o,f,r,t.transform);a.activeTexture(a.TEXTURE0),a.bindTexture(a.TEXTURE_2D,o.texture),a.activeTexture(a.TEXTURE1),f?(a.bindTexture(a.TEXTURE_2D,f.texture),c=Math.pow(2,f.coord.z-o.coord.z),u=[o.coord.x*c%1,o.coord.y*c%1]):(a.bindTexture(a.TEXTURE_2D,o.texture),h[1]=0);a.uniform2fv(l.u_tl_parent,u||[0,0]),a.uniform1f(l.u_scale_parent,c||1),a.uniform1f(l.u_buffer_scale,1),a.uniform1f(l.u_opacity0,h[0]),a.uniform1f(l.u_opacity1,h[1]),a.uniform1i(l.u_image0,0),a.uniform1i(l.u_image1,1);var d=o.boundsBuffer||t.rasterBoundsBuffer;(o.boundsVAO||t.rasterBoundsVAO).bind(a,l,d),a.drawArrays(a.TRIANGLE_STRIP,0,d.length)}(t,e,r,l)}a.depthFunc(a.LEQUAL)}}var i=t(&quot;../util/util&quot;),a=t(&quot;../util/struct_array&quot;);e.exports=n,n.RasterBoundsArray=new a({members:[{name:&quot;a_pos&quot;,type:&quot;Int16&quot;,components:2},{name:&quot;a_texture_pos&quot;,type:&quot;Int16&quot;,components:2}]})},{&quot;../util/struct_array&quot;:431,&quot;../util/util&quot;:433}],343:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,n,a,s,l,c,u,f,h,d,p,m,g){for(var v=0;v&lt;n.length;v++){var y=e.getTile(n[v]),x=y.getBucket(r);if(x){var b=x.bufferGroups,_=a?b.glyph:b.icon;_.length&amp;&amp;(t.enableTileClippingMask(n[v]),function(t,e,r,n,a,s,l,c,u,f,h,d,p,m,g,v,y,x,b,_,w){var M,k,A,T=t.gl,S=t.transform,E=&quot;map&quot;===m,L=&quot;map&quot;===g,C=l?24:1,z=v/C;L?(k=o(n,1,t.transform.zoom)*z,A=1/Math.cos(S._pitch),M=[k,k]):(k=t.transform.altitude*z,A=1,M=[S.pixelsToGLUnits[0]*k,S.pixelsToGLUnits[1]*k]);if(!l&amp;&amp;!t.style.sprite.loaded())return;var D=t.useProgram(c?&quot;sdf&quot;:&quot;icon&quot;);if(T.uniformMatrix4fv(D.u_matrix,!1,t.translatePosMatrix(r,n,d,p)),T.uniform1i(D.u_rotate_with_map,E),T.uniform1i(D.u_pitch_with_map,L),T.uniform2fv(D.u_extrude_scale,M),T.activeTexture(T.TEXTURE0),T.uniform1i(D.u_texture,0),l){var I=h&amp;&amp;t.glyphSource.getGlyphAtlas(h);if(!I)return;I.updateTexture(T),T.uniform2f(D.u_texsize,I.width/4,I.height/4)}else{var P=t.options.rotating||t.options.zooming,O=1!==z||i.devicePixelRatio!==t.spriteAtlas.pixelRatio||u,F=L||t.transform.pitch;t.spriteAtlas.bind(T,c||P||O||F),T.uniform2f(D.u_texsize,t.spriteAtlas.width/4,t.spriteAtlas.height/4)}var R=Math.log(v/f)/Math.LN2||0;T.uniform1f(D.u_zoom,10*(t.transform.zoom-R)),T.activeTexture(T.TEXTURE1),t.frameHistory.bind(T),T.uniform1i(D.u_fadetexture,1);var N;if(c){var j=.105*C/v/i.devicePixelRatio;if(y){T.uniform1f(D.u_gamma,(1.19*b/z/8+j)*A),T.uniform4fv(D.u_color,x),T.uniform1f(D.u_opacity,_),T.uniform1f(D.u_buffer,(6-y/z)/8);for(var B=0;B&lt;s.length;B++)(N=s[B]).vaos[e.id].bind(T,D,N.layoutVertexBuffer,N.elementBuffer),T.drawElements(T.TRIANGLES,3*N.elementBuffer.length,T.UNSIGNED_SHORT,0)}T.uniform1f(D.u_gamma,j*A),T.uniform4fv(D.u_color,w),T.uniform1f(D.u_opacity,_),T.uniform1f(D.u_buffer,.75),T.uniform1f(D.u_pitch,S.pitch/360*2*Math.PI),T.uniform1f(D.u_bearing,S.bearing/360*2*Math.PI),T.uniform1f(D.u_aspect_ratio,S.width/S.height);for(var U=0;U&lt;s.length;U++)(N=s[U]).vaos[e.id].bind(T,D,N.layoutVertexBuffer,N.elementBuffer),T.drawElements(T.TRIANGLES,3*N.elementBuffer.length,T.UNSIGNED_SHORT,0)}else{T.uniform1f(D.u_opacity,_);for(var V=0;V&lt;s.length;V++)(N=s[V]).vaos[e.id].bind(T,D,N.layoutVertexBuffer,N.elementBuffer),T.drawElements(T.TRIANGLES,3*N.elementBuffer.length,T.UNSIGNED_SHORT,0)}}(t,r,n[v].posMatrix,y,0,_,a,a||x.sdfIcons,!a&amp;&amp;x.iconsNeedLinear,a?x.adjustedTextSize:x.adjustedIconSize,x.fontstack,s,l,c,u,f,h,d,p,m,g))}}}var i=t(&quot;../util/browser&quot;),a=t(&quot;./draw_collision_debug&quot;),o=t(&quot;../source/pixels_to_tile_units&quot;);e.exports=function(t,e,r,i){if(!t.isOpaquePass){var o=!(r.layout[&quot;text-allow-overlap&quot;]||r.layout[&quot;icon-allow-overlap&quot;]||r.layout[&quot;text-ignore-placement&quot;]||r.layout[&quot;icon-ignore-placement&quot;]),s=t.gl;o?s.disable(s.STENCIL_TEST):s.enable(s.STENCIL_TEST),t.setDepthSublayer(0),t.depthMask(!1),s.disable(s.DEPTH_TEST),n(t,e,r,i,!1,r.paint[&quot;icon-translate&quot;],r.paint[&quot;icon-translate-anchor&quot;],r.layout[&quot;icon-rotation-alignment&quot;],r.layout[&quot;icon-rotation-alignment&quot;],r.layout[&quot;icon-size&quot;],r.paint[&quot;icon-halo-width&quot;],r.paint[&quot;icon-halo-color&quot;],r.paint[&quot;icon-halo-blur&quot;],r.paint[&quot;icon-opacity&quot;],r.paint[&quot;icon-color&quot;]),n(t,e,r,i,!0,r.paint[&quot;text-translate&quot;],r.paint[&quot;text-translate-anchor&quot;],r.layout[&quot;text-rotation-alignment&quot;],r.layout[&quot;text-pitch-alignment&quot;],r.layout[&quot;text-size&quot;],r.paint[&quot;text-halo-width&quot;],r.paint[&quot;text-halo-color&quot;],r.paint[&quot;text-halo-blur&quot;],r.paint[&quot;text-opacity&quot;],r.paint[&quot;text-color&quot;]),s.enable(s.DEPTH_TEST),e.map.showCollisionBoxes&amp;&amp;a(t,e,r,i)}}},{&quot;../source/pixels_to_tile_units&quot;:354,&quot;../util/browser&quot;:417,&quot;./draw_collision_debug&quot;:338}],344:[function(t,e,r){&quot;use strict&quot;;function n(){this.changeTimes=new Float64Array(256),this.changeOpacities=new Uint8Array(256),this.opacities=new Uint8ClampedArray(256),this.array=new Uint8Array(this.opacities.buffer),this.fadeDuration=300,this.previousZoom=0,this.firstFrame=!0}e.exports=n,n.prototype.record=function(t){var e=Date.now();this.firstFrame&amp;&amp;(e=0,this.firstFrame=!1);var r;if((t=Math.floor(10*t))&lt;this.previousZoom)for(r=t+1;r&lt;=this.previousZoom;r++)this.changeTimes[r]=e,this.changeOpacities[r]=this.opacities[r];else for(r=t;r&gt;this.previousZoom;r--)this.changeTimes[r]=e,this.changeOpacities[r]=this.opacities[r];for(r=0;r&lt;256;r++){var n=(e-this.changeTimes[r])/this.fadeDuration*255;this.opacities[r]=r&lt;=t?this.changeOpacities[r]+n:this.changeOpacities[r]-n}this.changed=!0,this.previousZoom=t},n.prototype.bind=function(t){this.texture?(t.bindTexture(t.TEXTURE_2D,this.texture),this.changed&amp;&amp;(t.texSubImage2D(t.TEXTURE_2D,0,0,0,256,1,t.ALPHA,t.UNSIGNED_BYTE,this.array),this.changed=!1)):(this.texture=t.createTexture(),t.bindTexture(t.TEXTURE_2D,this.texture),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),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MIN_FILTER,t.NEAREST),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MAG_FILTER,t.NEAREST),t.texImage2D(t.TEXTURE_2D,0,t.ALPHA,256,1,0,t.ALPHA,t.UNSIGNED_BYTE,this.array))}},{}],345:[function(t,e,r){&quot;use strict&quot;;function n(t,e){this.width=t,this.height=e,this.nextRow=0,this.bytes=4,this.data=new Uint8Array(this.width*this.height*this.bytes),this.positions={}}var i=t(&quot;../util/util&quot;);e.exports=n,n.prototype.setSprite=function(t){this.sprite=t},n.prototype.getDash=function(t,e){var r=t.join(&quot;,&quot;)+e;return this.positions[r]||(this.positions[r]=this.addDash(t,e)),this.positions[r]},n.prototype.addDash=function(t,e){var r=e?7:0,n=2*r+1;if(this.nextRow+n&gt;this.height)return i.warnOnce(&quot;LineAtlas out of space&quot;),null;for(var a=0,o=0;o&lt;t.length;o++)a+=t[o];for(var s=this.width/a,l=s/2,c=t.length%2==1,u=-r;u&lt;=r;u++)for(var f=this.nextRow+r+u,h=this.width*f,d=c?-t[t.length-1]:0,p=t[0],m=1,g=0;g&lt;this.width;g++){for(;p&lt;g/s;)d=p,p+=t[m],c&amp;&amp;m===t.length-1&amp;&amp;(p+=t[0]),m++;var v,y=Math.abs(g-d*s),x=Math.abs(g-p*s),b=Math.min(y,x),_=m%2==1;if(e){var w=r?u/r*(l+1):0;if(_){var M=l-Math.abs(w);v=Math.sqrt(b*b+M*M)}else v=l-Math.sqrt(b*b+w*w)}else v=(_?1:-1)*b;this.data[3+4*(h+g)]=Math.max(0,Math.min(255,v+128))}var k={y:(this.nextRow+r+.5)/this.height,height:2*r/this.height,width:a};return this.nextRow+=n,this.dirty=!0,k},n.prototype.bind=function(t){this.texture?(t.bindTexture(t.TEXTURE_2D,this.texture),this.dirty&amp;&amp;(this.dirty=!1,t.texSubImage2D(t.TEXTURE_2D,0,0,0,this.width,this.height,t.RGBA,t.UNSIGNED_BYTE,this.data))):(this.texture=t.createTexture(),t.bindTexture(t.TEXTURE_2D,this.texture),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_S,t.REPEAT),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_T,t.REPEAT),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MIN_FILTER,t.LINEAR),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MAG_FILTER,t.LINEAR),t.texImage2D(t.TEXTURE_2D,0,t.RGBA,this.width,this.height,0,t.RGBA,t.UNSIGNED_BYTE,this.data))}},{&quot;../util/util&quot;:433}],346:[function(t,e,r){&quot;use strict&quot;;function n(t,e){this.gl=t,this.transform=e,this.reusableTextures={},this.preFbos={},this.frameHistory=new o,this.setup(),this.numSublayers=s.maxUnderzooming+s.maxOverzooming+1,this.depthEpsilon=1/Math.pow(2,16),this.lineWidthRange=t.getParameter(t.ALIASED_LINE_WIDTH_RANGE)}var i=t(&quot;../util/browser&quot;),a=t(&quot;gl-matrix&quot;).mat4,o=t(&quot;./frame_history&quot;),s=t(&quot;../source/source_cache&quot;),l=t(&quot;../data/bucket&quot;).EXTENT,c=t(&quot;../source/pixels_to_tile_units&quot;),u=t(&quot;../util/util&quot;),f=t(&quot;../util/struct_array&quot;),h=t(&quot;../data/buffer&quot;),d=t(&quot;./vertex_array_object&quot;),p=t(&quot;./draw_raster&quot;).RasterBoundsArray,m=t(&quot;./create_uniform_pragmas&quot;);e.exports=n,u.extend(n.prototype,t(&quot;./painter/use_program&quot;)),n.prototype.resize=function(t,e){var r=this.gl;this.width=t*i.devicePixelRatio,this.height=e*i.devicePixelRatio,r.viewport(0,0,this.width,this.height)},n.prototype.setup=function(){var t=this.gl;t.verbose=!0,t.enable(t.BLEND),t.blendFunc(t.ONE,t.ONE_MINUS_SRC_ALPHA),t.enable(t.STENCIL_TEST),t.enable(t.DEPTH_TEST),t.depthFunc(t.LEQUAL),this._depthMask=!1,t.depthMask(!1);var e=this.PosArray=new f({members:[{name:&quot;a_pos&quot;,type:&quot;Int16&quot;,components:2}]}),r=new e;r.emplaceBack(0,0),r.emplaceBack(l,0),r.emplaceBack(0,l),r.emplaceBack(l,l),this.tileExtentBuffer=new h(r.serialize(),e.serialize(),h.BufferType.VERTEX),this.tileExtentVAO=new d,this.tileExtentPatternVAO=new d;var n=new e;n.emplaceBack(0,0),n.emplaceBack(l,0),n.emplaceBack(l,l),n.emplaceBack(0,l),n.emplaceBack(0,0),this.debugBuffer=new h(n.serialize(),e.serialize(),h.BufferType.VERTEX),this.debugVAO=new d;var i=new p;i.emplaceBack(0,0,0,0),i.emplaceBack(l,0,32767,0),i.emplaceBack(0,l,0,32767),i.emplaceBack(l,l,32767,32767),this.rasterBoundsBuffer=new h(i.serialize(),p.serialize(),h.BufferType.VERTEX),this.rasterBoundsVAO=new d},n.prototype.clearColor=function(){var t=this.gl;t.clearColor(0,0,0,0),t.clear(t.COLOR_BUFFER_BIT)},n.prototype.clearStencil=function(){var t=this.gl;t.clearStencil(0),t.stencilMask(255),t.clear(t.STENCIL_BUFFER_BIT)},n.prototype.clearDepth=function(){var t=this.gl;t.clearDepth(1),this.depthMask(!0),t.clear(t.DEPTH_BUFFER_BIT)},n.prototype._renderTileClippingMasks=function(t){var e=this.gl;e.colorMask(!1,!1,!1,!1),this.depthMask(!1),e.disable(e.DEPTH_TEST),e.enable(e.STENCIL_TEST),e.stencilMask(248),e.stencilOp(e.KEEP,e.KEEP,e.REPLACE);var r=1;this._tileClippingMaskIDs={};for(var n=0;n&lt;t.length;n++){var i=t[n],a=this._tileClippingMaskIDs[i.id]=r++&lt;&lt;3;e.stencilFunc(e.ALWAYS,a,248);var o=m([{name:&quot;u_color&quot;,components:4},{name:&quot;u_opacity&quot;,components:1}]),s=this.useProgram(&quot;fill&quot;,[],o,o);e.uniformMatrix4fv(s.u_matrix,!1,i.posMatrix),this.tileExtentVAO.bind(e,s,this.tileExtentBuffer),e.drawArrays(e.TRIANGLE_STRIP,0,this.tileExtentBuffer.length)}e.stencilMask(0),e.colorMask(!0,!0,!0,!0),this.depthMask(!0),e.enable(e.DEPTH_TEST)},n.prototype.enableTileClippingMask=function(t){var e=this.gl;e.stencilFunc(e.EQUAL,this._tileClippingMaskIDs[t.id],248)},n.prototype.prepareBuffers=function(){},n.prototype.bindDefaultFramebuffer=function(){var t=this.gl;t.bindFramebuffer(t.FRAMEBUFFER,null)};var g={symbol:t(&quot;./draw_symbol&quot;),circle:t(&quot;./draw_circle&quot;),line:t(&quot;./draw_line&quot;),fill:t(&quot;./draw_fill&quot;),raster:t(&quot;./draw_raster&quot;),background:t(&quot;./draw_background&quot;),debug:t(&quot;./draw_debug&quot;)};n.prototype.render=function(t,e){this.style=t,this.options=e,this.lineAtlas=t.lineAtlas,this.spriteAtlas=t.spriteAtlas,this.spriteAtlas.setSprite(t.sprite),this.glyphSource=t.glyphSource,this.frameHistory.record(this.transform.zoom),this.prepareBuffers(),this.clearColor(),this.clearDepth(),this.showOverdrawInspector(e.showOverdrawInspector),this.depthRange=(t._order.length+2)*this.numSublayers*this.depthEpsilon,this.renderPass({isOpaquePass:!0}),this.renderPass({isOpaquePass:!1})},n.prototype.renderPass=function(t){var e=this.style._groups,r=t.isOpaquePass;this.currentLayer=r?this.style._order.length:-1;for(var n=0;n&lt;e.length;n++){var i,a=e[r?e.length-1-n:n],o=this.style.sources[a.source],s=[];if(o){for(s=o.getVisibleCoordinates(),i=0;i&lt;s.length;i++)s[i].posMatrix=this.transform.calculatePosMatrix(s[i],o.maxzoom);this.clearStencil(),o.prepare&amp;&amp;o.prepare(),o.isTileClipped&amp;&amp;this._renderTileClippingMasks(s)}for(r?(this._showOverdrawInspector||this.gl.disable(this.gl.BLEND),this.isOpaquePass=!0):(this.gl.enable(this.gl.BLEND),this.isOpaquePass=!1,s.reverse()),i=0;i&lt;a.length;i++){var l=a[r?a.length-1-i:i];this.currentLayer+=r?-1:1,this.renderLayer(this,o,l,s)}o&amp;&amp;g.debug(this,o,s)}},n.prototype.depthMask=function(t){t!==this._depthMask&amp;&amp;(this._depthMask=t,this.gl.depthMask(t))},n.prototype.renderLayer=function(t,e,r,n){r.isHidden(this.transform.zoom)||(&quot;background&quot;===r.type||n.length)&amp;&amp;(this.id=r.id,g[r.type](t,e,r,n))},n.prototype.setDepthSublayer=function(t){var e=1-((1+this.currentLayer)*this.numSublayers+t)*this.depthEpsilon,r=e-1+this.depthRange;this.gl.depthRange(r,e)},n.prototype.translatePosMatrix=function(t,e,r,n){if(!r[0]&amp;&amp;!r[1])return t;if(&quot;viewport&quot;===n){var i=Math.sin(-this.transform.angle),o=Math.cos(-this.transform.angle);r=[r[0]*o-r[1]*i,r[0]*i+r[1]*o]}var s=[c(e,r[0],this.transform.zoom),c(e,r[1],this.transform.zoom),0],l=new Float32Array(16);return a.translate(l,t,s),l},n.prototype.saveTexture=function(t){var e=this.reusableTextures[t.size];e?e.push(t):this.reusableTextures[t.size]=[t]},n.prototype.getTexture=function(t){var e=this.reusableTextures[t];return e&amp;&amp;e.length&gt;0?e.pop():null},n.prototype.lineWidth=function(t){this.gl.lineWidth(u.clamp(t,this.lineWidthRange[0],this.lineWidthRange[1]))},n.prototype.showOverdrawInspector=function(t){if(t||this._showOverdrawInspector){this._showOverdrawInspector=t;var e=this.gl;if(t){e.blendFunc(e.CONSTANT_COLOR,e.ONE);e.blendColor(1/8,1/8,1/8,0),e.clearColor(0,0,0,1),e.clear(e.COLOR_BUFFER_BIT)}else e.blendFunc(e.ONE,e.ONE_MINUS_SRC_ALPHA)}}},{&quot;../data/bucket&quot;:320,&quot;../data/buffer&quot;:325,&quot;../source/pixels_to_tile_units&quot;:354,&quot;../source/source_cache&quot;:358,&quot;../util/browser&quot;:417,&quot;../util/struct_array&quot;:431,&quot;../util/util&quot;:433,&quot;./create_uniform_pragmas&quot;:335,&quot;./draw_background&quot;:336,&quot;./draw_circle&quot;:337,&quot;./draw_debug&quot;:339,&quot;./draw_fill&quot;:340,&quot;./draw_line&quot;:341,&quot;./draw_raster&quot;:342,&quot;./draw_symbol&quot;:343,&quot;./frame_history&quot;:344,&quot;./painter/use_program&quot;:347,&quot;./vertex_array_object&quot;:348,&quot;gl-matrix&quot;:198}],347:[function(t,e,r){&quot;use strict&quot;;function n(t,e){return t.replace(/#pragma mapbox: ([\w]+) ([\w]+) ([\w]+) ([\w]+)/g,function(t,r,n,i,a){return e[r][a].replace(/{type}/g,i).replace(/{precision}/g,n)})}var i=t(&quot;assert&quot;),a=t(&quot;../../util/util&quot;),o=t(&quot;mapbox-gl-shaders&quot;),s=o.util;e.exports._createProgram=function(t,e,r,l){for(var c=this.gl,u=c.createProgram(),f=o[t],h=&quot;#define MAPBOX_GL_JS;\n&quot;,d=0;d&lt;e.length;d++)h+=&quot;#define &quot;+e[d]+&quot;;\n&quot;;var p=c.createShader(c.FRAGMENT_SHADER);c.shaderSource(p,n(h+f.fragmentSource,l)),c.compileShader(p),i(c.getShaderParameter(p,c.COMPILE_STATUS),c.getShaderInfoLog(p)),c.attachShader(u,p);var m=c.createShader(c.VERTEX_SHADER);c.shaderSource(m,n(h+s+f.vertexSource,r)),c.compileShader(m),i(c.getShaderParameter(m,c.COMPILE_STATUS),c.getShaderInfoLog(m)),c.attachShader(u,m),c.linkProgram(u),i(c.getProgramParameter(u,c.LINK_STATUS),c.getProgramInfoLog(u));for(var g={},v=c.getProgramParameter(u,c.ACTIVE_ATTRIBUTES),y=0;y&lt;v;y++){var x=c.getActiveAttrib(u,y);g[x.name]=c.getAttribLocation(u,x.name)}for(var b={},_=c.getProgramParameter(u,c.ACTIVE_UNIFORMS),w=0;w&lt;_;w++){var M=c.getActiveUniform(u,w);b[M.name]=c.getUniformLocation(u,M.name)}return a.extend({program:u,definition:f,attributes:g,numAttributes:v},g,b)},e.exports._createProgramCached=function(t,e,r,n){this.cache=this.cache||{};var i=JSON.stringify({name:t,defines:e,vertexPragmas:r,fragmentPragmas:n});return this.cache[i]||(this.cache[i]=this._createProgram(t,e,r,n)),this.cache[i]},e.exports.useProgram=function(t,e,r,n){var i=this.gl;e=e||[],this._showOverdrawInspector&amp;&amp;(e=e.concat(&quot;OVERDRAW_INSPECTOR&quot;));var a=this._createProgramCached(t,e,r,n);return this.currentProgram!==a&amp;&amp;(i.useProgram(a.program),this.currentProgram=a),a}},{&quot;../../util/util&quot;:433,assert:51,&quot;mapbox-gl-shaders&quot;:294}],348:[function(t,e,r){&quot;use strict&quot;;function n(){this.boundProgram=null,this.boundVertexBuffer=null,this.boundVertexBuffer2=null,this.boundElementBuffer=null,this.vao=null}var i=t(&quot;assert&quot;);e.exports=n,n.prototype.bind=function(t,e,r,n,i){void 0===t.extVertexArrayObject&amp;&amp;(t.extVertexArrayObject=t.getExtension(&quot;OES_vertex_array_object&quot;));var a=!this.vao||this.boundProgram!==e||this.boundVertexBuffer!==r||this.boundVertexBuffer2!==i||this.boundElementBuffer!==n;!t.extVertexArrayObject||a?this.freshBind(t,e,r,n,i):t.extVertexArrayObject.bindVertexArrayOES(this.vao)},n.prototype.freshBind=function(t,e,r,n,a){var o,s=e.numAttributes;if(t.extVertexArrayObject)this.vao&amp;&amp;this.destroy(t),this.vao=t.extVertexArrayObject.createVertexArrayOES(),t.extVertexArrayObject.bindVertexArrayOES(this.vao),o=0,this.boundProgram=e,this.boundVertexBuffer=r,this.boundVertexBuffer2=a,this.boundElementBuffer=n;else{o=t.currentNumAttributes||0;for(var l=s;l&lt;o;l++)i(0!==l),t.disableVertexAttribArray(l)}for(var c=o;c&lt;s;c++)t.enableVertexAttribArray(c);r.bind(t),r.setVertexAttribPointers(t,e),a&amp;&amp;(a.bind(t),a.setVertexAttribPointers(t,e)),n&amp;&amp;n.bind(t),t.currentNumAttributes=s},n.prototype.unbind=function(t){var e=t.extVertexArrayObject;e&amp;&amp;e.bindVertexArrayOES(null)},n.prototype.destroy=function(t){var e=t.extVertexArrayObject;e&amp;&amp;this.vao&amp;&amp;(e.deleteVertexArrayOES(this.vao),this.vao=null)}},{assert:51}],349:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r){e=e||{},this.id=t,this.dispatcher=r,this._data=e.data,void 0!==e.maxzoom&amp;&amp;(this.maxzoom=e.maxzoom),e.type&amp;&amp;(this.type=e.type);var n=s/this.tileSize;this.workerOptions=a.extend({source:this.id,cluster:e.cluster||!1,geojsonVtOptions:{buffer:(void 0!==e.buffer?e.buffer:128)*n,tolerance:(void 0!==e.tolerance?e.tolerance:.375)*n,extent:s,maxZoom:this.maxzoom},superclusterOptions:{maxZoom:Math.min(e.clusterMaxZoom,this.maxzoom-1)||this.maxzoom-1,extent:s,radius:(e.clusterRadius||50)*n,log:!1}},e.workerOptions),this._updateWorkerData(function(t){t?this.fire(&quot;error&quot;,{error:t}):this.fire(&quot;load&quot;)}.bind(this))}var i=t(&quot;../util/evented&quot;),a=t(&quot;../util/util&quot;),o=t(&quot;resolve-url&quot;),s=t(&quot;../data/bucket&quot;).EXTENT;e.exports=n,n.prototype=a.inherit(i,{type:&quot;geojson&quot;,minzoom:0,maxzoom:18,tileSize:512,isTileClipped:!0,reparseOverscaled:!0,onAdd:function(t){this.map=t},setData:function(t){return this._data=t,this._updateWorkerData(function(t){if(t)return this.fire(&quot;error&quot;,{error:t});this.fire(&quot;change&quot;)}.bind(this)),this},_updateWorkerData:function(t){var e=a.extend({},this.workerOptions),r=this._data;&quot;string&quot;==typeof r?e.url=&quot;undefined&quot;!=typeof window?o(window.location.href,r):r:e.data=JSON.stringify(r),this.workerID=this.dispatcher.send(this.type+&quot;.loadData&quot;,e,function(e){this._loaded=!0,t(e)}.bind(this))},loadTile:function(t,e){var r=t.coord.z&gt;this.maxzoom?Math.pow(2,t.coord.z-this.maxzoom):1,n={type:this.type,uid:t.uid,coord:t.coord,zoom:t.coord.z,maxZoom:this.maxzoom,tileSize:this.tileSize,source:this.id,overscaling:r,angle:this.map.transform.angle,pitch:this.map.transform.pitch,showCollisionBoxes:this.map.showCollisionBoxes};t.workerID=this.dispatcher.send(&quot;load tile&quot;,n,function(r,n){if(t.unloadVectorData(this.map.painter),!t.aborted)return r?e(r):(t.loadVectorData(n,this.map.style),t.redoWhenDone&amp;&amp;(t.redoWhenDone=!1,t.redoPlacement(this)),e(null))}.bind(this),this.workerID)},abortTile:function(t){t.aborted=!0},unloadTile:function(t){t.unloadVectorData(this.map.painter),this.dispatcher.send(&quot;remove tile&quot;,{uid:t.uid,source:this.id},function(){},t.workerID)},serialize:function(){return{type:this.type,data:this._data}}})},{&quot;../data/bucket&quot;:320,&quot;../util/evented&quot;:425,&quot;../util/util&quot;:433,&quot;resolve-url&quot;:508}],350:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r){r&amp;&amp;(this.loadGeoJSON=r),f.call(this,t,e)}var i=t(&quot;../util/util&quot;),a=t(&quot;../util/ajax&quot;),o=t(&quot;geojson-rewind&quot;),s=t(&quot;./geojson_wrapper&quot;),l=t(&quot;vt-pbf&quot;),c=t(&quot;supercluster&quot;),u=t(&quot;geojson-vt&quot;),f=t(&quot;./vector_tile_worker_source&quot;);e.exports=n,n.prototype=i.inherit(f,{_geoJSONIndexes:{},loadVectorData:function(t,e){var r=t.source,n=t.coord;if(!this._geoJSONIndexes[r])return e(null,null);var i=this._geoJSONIndexes[r].getTile(Math.min(n.z,t.maxZoom),n.x,n.y);if(!i)return e(null,null);var a=new s(i.features);a.name=&quot;_geojsonTileLayer&quot;;var o=l({layers:{_geojsonTileLayer:a}});0===o.byteOffset&amp;&amp;o.byteLength===o.buffer.byteLength||(o=new Uint8Array(o)),e(null,{tile:a,rawTileData:o.buffer})},loadData:function(t,e){var r=function(r,n){return r?e(r):&quot;object&quot;!=typeof n?e(new Error(&quot;Input data is not a valid GeoJSON object.&quot;)):(o(n,!0),void this._indexData(n,t,function(r,n){if(r)return e(r);this._geoJSONIndexes[t.source]=n,e(null)}.bind(this)))}.bind(this);this.loadGeoJSON(t,r)},loadGeoJSON:function(t,e){if(t.url)a.getJSON(t.url,e);else{if(&quot;string&quot;!=typeof t.data)return e(new Error(&quot;Input data is not a valid GeoJSON object.&quot;));try{return e(null,JSON.parse(t.data))}catch(t){return e(new Error(&quot;Input data is not a valid GeoJSON object.&quot;))}}},_indexData:function(t,e,r){try{e.cluster?r(null,c(e.superclusterOptions).load(t.features)):r(null,u(t,e.geojsonVtOptions))}catch(t){return r(t)}}})},{&quot;../util/ajax&quot;:416,&quot;../util/util&quot;:433,&quot;./geojson_wrapper&quot;:351,&quot;./vector_tile_worker_source&quot;:362,&quot;geojson-rewind&quot;:147,&quot;geojson-vt&quot;:151,supercluster:538,&quot;vt-pbf&quot;:570}],351:[function(t,e,r){&quot;use strict&quot;;function n(t){this.features=t,this.length=t.length,this.extent=s}function i(t){if(this.type=t.type,1===t.type){this.rawGeometry=[];for(var e=0;e&lt;t.geometry.length;e++)this.rawGeometry.push([t.geometry[e]])}else this.rawGeometry=t.geometry;this.properties=t.tags,this.extent=s}var a=t(&quot;point-geometry&quot;),o=t(&quot;vector-tile&quot;).VectorTileFeature,s=t(&quot;../data/bucket&quot;).EXTENT;e.exports=n,n.prototype.feature=function(t){return new i(this.features[t])},i.prototype.loadGeometry=function(){var t=this.rawGeometry;this.geometry=[];for(var e=0;e&lt;t.length;e++){for(var r=t[e],n=[],i=0;i&lt;r.length;i++)n.push(new a(r[i][0],r[i][1]));this.geometry.push(n)}return this.geometry},i.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&lt;t.length;a++)for(var o=t[a],s=0;s&lt;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]},i.prototype.toGeoJSON=o.prototype.toGeoJSON},{&quot;../data/bucket&quot;:320,&quot;point-geometry&quot;:477,&quot;vector-tile&quot;:564}],352:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r){this.id=t,this.dispatcher=r,this.url=e.url,this.coordinates=e.coordinates,c.getImage(e.url,function(t,r){if(t)return this.fire(&quot;error&quot;,{error:t});this.image=r,this.image.addEventListener(&quot;load&quot;,function(){this.map._rerender()}.bind(this)),this._loaded=!0,this.fire(&quot;load&quot;),this.map&amp;&amp;this.setCoordinates(e.coordinates)}.bind(this))}var i=t(&quot;../util/util&quot;),a=t(&quot;./tile_coord&quot;),o=t(&quot;../geo/lng_lat&quot;),s=t(&quot;point-geometry&quot;),l=t(&quot;../util/evented&quot;),c=t(&quot;../util/ajax&quot;),u=t(&quot;../data/bucket&quot;).EXTENT,f=t(&quot;../render/draw_raster&quot;).RasterBoundsArray,h=t(&quot;../data/buffer&quot;),d=t(&quot;../render/vertex_array_object&quot;);e.exports=n,n.prototype=i.inherit(l,{minzoom:0,maxzoom:22,tileSize:512,onAdd:function(t){this.map=t,this.image&amp;&amp;this.setCoordinates(this.coordinates)},setCoordinates:function(t){this.coordinates=t;var e=this.map,r=t.map(function(t){return e.transform.locationCoordinate(o.convert(t)).zoomTo(0)}),n=this.centerCoord=i.getCoordinatesCenter(r);return n.column=Math.round(n.column),n.row=Math.round(n.row),this.minzoom=this.maxzoom=n.zoom,this._coord=new a(n.zoom,n.column,n.row),this._tileCoords=r.map(function(t){var e=t.zoomTo(n.zoom);return new s(Math.round((e.column-n.column)*u),Math.round((e.row-n.row)*u))}),this.fire(&quot;change&quot;),this},_setTile:function(t){this._prepared=!1,this.tile=t;var e=new f;e.emplaceBack(this._tileCoords[0].x,this._tileCoords[0].y,0,0),e.emplaceBack(this._tileCoords[1].x,this._tileCoords[1].y,32767,0),e.emplaceBack(this._tileCoords[3].x,this._tileCoords[3].y,0,32767),e.emplaceBack(this._tileCoords[2].x,this._tileCoords[2].y,32767,32767),this.tile.buckets={},this.tile.boundsBuffer=new h(e.serialize(),f.serialize(),h.BufferType.VERTEX),this.tile.boundsVAO=new d,this.tile.state=&quot;loaded&quot;},prepare:function(){if(this._loaded&amp;&amp;this.image&amp;&amp;this.image.complete&amp;&amp;this.tile){var t=this.map.painter.gl;this._prepared?(t.bindTexture(t.TEXTURE_2D,this.tile.texture),t.texSubImage2D(t.TEXTURE_2D,0,0,0,t.RGBA,t.UNSIGNED_BYTE,this.image)):(this.tile.texture=t.createTexture(),t.bindTexture(t.TEXTURE_2D,this.tile.texture),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),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MIN_FILTER,t.LINEAR),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MAG_FILTER,t.LINEAR),t.texImage2D(t.TEXTURE_2D,0,t.RGBA,t.RGBA,t.UNSIGNED_BYTE,this.image))}},loadTile:function(t,e){this._coord&amp;&amp;this._coord.toString()===t.coord.toString()?(this._setTile(t),e(null)):(t.state=&quot;errored&quot;,e(null))},serialize:function(){return{type:&quot;image&quot;,urls:this.url,coordinates:this.coordinates}}})},{&quot;../data/bucket&quot;:320,&quot;../data/buffer&quot;:325,&quot;../geo/lng_lat&quot;:330,&quot;../render/draw_raster&quot;:342,&quot;../render/vertex_array_object&quot;:348,&quot;../util/ajax&quot;:416,&quot;../util/evented&quot;:425,&quot;../util/util&quot;:433,&quot;./tile_coord&quot;:360,&quot;point-geometry&quot;:477}],353:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../util/util&quot;),i=t(&quot;../util/ajax&quot;),a=t(&quot;../util/browser&quot;),o=t(&quot;../util/mapbox&quot;).normalizeSourceURL;e.exports=function(t,e){var r=function(t,r){if(t)return e(t);var i=n.pick(r,[&quot;tiles&quot;,&quot;minzoom&quot;,&quot;maxzoom&quot;,&quot;attribution&quot;]);r.vector_layers&amp;&amp;(i.vectorLayers=r.vector_layers,i.vectorLayerIds=i.vectorLayers.map(function(t){return t.id})),e(null,i)};t.url?i.getJSON(o(t.url),r):a.frame(r.bind(null,null,t))}},{&quot;../util/ajax&quot;:416,&quot;../util/browser&quot;:417,&quot;../util/mapbox&quot;:430,&quot;../util/util&quot;:433}],354:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../data/bucket&quot;);e.exports=function(t,e,r){return e*(n.EXTENT/(t.tileSize*Math.pow(2,r-t.coord.z)))}},{&quot;../data/bucket&quot;:320}],355:[function(t,e,r){&quot;use strict&quot;;function n(t,e){var r=t.coord,n=e.coord;return r.z-n.z||r.y-n.y||r.w-n.w||r.x-n.x}var i=t(&quot;./tile_coord&quot;);r.rendered=function(t,e,r,i,a,o){var s=t.tilesIn(r);s.sort(n);for(var l=[],c=0;c&lt;s.length;c++){var u=s[c];u.tile.featureIndex&amp;&amp;l.push(u.tile.featureIndex.query({queryGeometry:u.queryGeometry,scale:u.scale,tileSize:u.tile.tileSize,bearing:o,params:i},e))}return function(t){for(var e=t[0]||{},r=1;r&lt;t.length;r++){var n=t[r];for(var i in n){var a=n[i],o=e[i];if(void 0===o)o=e[i]=a;else for(var s=0;s&lt;a.length;s++)o.push(a[s])}}return e}(l)},r.source=function(t,e){for(var r=t.getRenderableIds().map(function(e){return t.getTileByID(e)}),n=[],a={},o=0;o&lt;r.length;o++){var s=r[o],l=new i(Math.min(s.sourceMaxZoom,s.coord.z),s.coord.x,s.coord.y,0).id;a[l]||(a[l]=!0,s.querySourceFeatures(n,e))}return n}},{&quot;./tile_coord&quot;:360}],356:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r){this.id=t,this.dispatcher=r,i.extend(this,i.pick(e,[&quot;url&quot;,&quot;scheme&quot;,&quot;tileSize&quot;])),s(e,function(t,e){if(t)return this.fire(&quot;error&quot;,t);i.extend(this,e),this.fire(&quot;load&quot;)}.bind(this))}var i=t(&quot;../util/util&quot;),a=t(&quot;../util/ajax&quot;),o=t(&quot;../util/evented&quot;),s=t(&quot;./load_tilejson&quot;),l=t(&quot;../util/mapbox&quot;).normalizeTileURL;e.exports=n,n.prototype=i.inherit(o,{minzoom:0,maxzoom:22,roundZoom:!0,scheme:&quot;xyz&quot;,tileSize:512,_loaded:!1,onAdd:function(t){this.map=t},serialize:function(){return{type:&quot;raster&quot;,url:this.url,tileSize:this.tileSize}},loadTile:function(t,e){var r=l(t.coord.url(this.tiles,null,this.scheme),this.url,this.tileSize);t.request=a.getImage(r,function(r,n){if(delete t.request,!t.aborted){if(r)return e(r);var i=this.map.painter.gl;t.texture=this.map.painter.getTexture(n.width),t.texture?(i.bindTexture(i.TEXTURE_2D,t.texture),i.texSubImage2D(i.TEXTURE_2D,0,0,0,i.RGBA,i.UNSIGNED_BYTE,n)):(t.texture=i.createTexture(),i.bindTexture(i.TEXTURE_2D,t.texture),i.texParameteri(i.TEXTURE_2D,i.TEXTURE_MIN_FILTER,i.LINEAR_MIPMAP_NEAREST),i.texParameteri(i.TEXTURE_2D,i.TEXTURE_MAG_FILTER,i.LINEAR),i.texParameteri(i.TEXTURE_2D,i.TEXTURE_WRAP_S,i.CLAMP_TO_EDGE),i.texParameteri(i.TEXTURE_2D,i.TEXTURE_WRAP_T,i.CLAMP_TO_EDGE),i.pixelStorei(i.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!0),i.texImage2D(i.TEXTURE_2D,0,i.RGBA,i.RGBA,i.UNSIGNED_BYTE,n),t.texture.size=n.width),i.generateMipmap(i.TEXTURE_2D),this.map.animationLoop.set(this.map.style.rasterFadeDuration),t.state=&quot;loaded&quot;,e(null)}}.bind(this))},abortTile:function(t){t.request&amp;&amp;(t.request.abort(),delete t.request)},unloadTile:function(t){t.texture&amp;&amp;this.map.painter.saveTexture(t.texture)}})},{&quot;../util/ajax&quot;:416,&quot;../util/evented&quot;:425,&quot;../util/mapbox&quot;:430,&quot;../util/util&quot;:433,&quot;./load_tilejson&quot;:353}],357:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../util/util&quot;),i={vector:t(&quot;../source/vector_tile_source&quot;),raster:t(&quot;../source/raster_tile_source&quot;),geojson:t(&quot;../source/geojson_source&quot;),video:t(&quot;../source/video_source&quot;),image:t(&quot;../source/image_source&quot;)};r.create=function(t,e,r){if((e=new i[e.type](t,e,r)).id!==t)throw new Error(&quot;Expected Source id to be &quot;+t+&quot; instead of &quot;+e.id);return n.bindAll([&quot;load&quot;,&quot;abort&quot;,&quot;unload&quot;,&quot;serialize&quot;,&quot;prepare&quot;],e),e},r.getType=function(t){return i[t]},r.setType=function(t,e){i[t]=e}},{&quot;../source/geojson_source&quot;:349,&quot;../source/image_source&quot;:352,&quot;../source/raster_tile_source&quot;:356,&quot;../source/vector_tile_source&quot;:361,&quot;../source/video_source&quot;:363,&quot;../util/util&quot;:433}],358:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r){this.id=t,this.dispatcher=r;var n=this._source=o.create(t,e,r).on(&quot;load&quot;,function(){this.map&amp;&amp;this._source.onAdd&amp;&amp;this._source.onAdd(this.map),this._sourceLoaded=!0,this.tileSize=n.tileSize,this.minzoom=n.minzoom,this.maxzoom=n.maxzoom,this.roundZoom=n.roundZoom,this.reparseOverscaled=n.reparseOverscaled,this.isTileClipped=n.isTileClipped,this.attribution=n.attribution,this.vectorLayerIds=n.vectorLayerIds,this.fire(&quot;load&quot;)}.bind(this)).on(&quot;error&quot;,function(t){this._sourceErrored=!0,this.fire(&quot;error&quot;,t)}.bind(this)).on(&quot;change&quot;,function(){this.reload(),this.transform&amp;&amp;this.update(this.transform,this.map&amp;&amp;this.map.style.rasterFadeDuration),this.fire(&quot;change&quot;)}.bind(this));this._tiles={},this._cache=new u(0,this.unloadTile.bind(this)),this._isIdRenderable=this._isIdRenderable.bind(this)}function i(t,e,r){var n=r.zoomTo(Math.min(t.z,e));return{x:(n.column-(t.x+t.w*Math.pow(2,t.z)))*d,y:(n.row-t.y)*d}}function a(t,e){return t%32-e%32}var o=t(&quot;./source&quot;),s=t(&quot;./tile&quot;),l=t(&quot;../util/evented&quot;),c=t(&quot;./tile_coord&quot;),u=t(&quot;../util/lru_cache&quot;),f=t(&quot;../geo/coordinate&quot;),h=t(&quot;../util/util&quot;),d=t(&quot;../data/bucket&quot;).EXTENT;e.exports=n,n.maxOverzooming=10,n.maxUnderzooming=3,n.prototype=h.inherit(l,{onAdd:function(t){this.map=t,this._source&amp;&amp;this._source.onAdd&amp;&amp;this._source.onAdd(t)},loaded:function(){if(this._sourceErrored)return!0;if(!this._sourceLoaded)return!1;for(var t in this._tiles){var e=this._tiles[t];if(&quot;loaded&quot;!==e.state&amp;&amp;&quot;errored&quot;!==e.state)return!1}return!0},getSource:function(){return this._source},loadTile:function(t,e){return this._source.loadTile(t,e)},unloadTile:function(t){if(this._source.unloadTile)return this._source.unloadTile(t)},abortTile:function(t){if(this._source.abortTile)return this._source.abortTile(t)},serialize:function(){return this._source.serialize()},prepare:function(){if(this._sourceLoaded&amp;&amp;this._source.prepare)return this._source.prepare()},getIds:function(){return Object.keys(this._tiles).map(Number).sort(a)},getRenderableIds:function(){return this.getIds().filter(this._isIdRenderable)},_isIdRenderable:function(t){return this._tiles[t].isRenderable()&amp;&amp;!this._coveredTiles[t]},reload:function(){this._cache.reset();for(var t in this._tiles){var e=this._tiles[t];&quot;loading&quot;!==e.state&amp;&amp;(e.state=&quot;reloading&quot;),this.loadTile(this._tiles[t],this._tileLoaded.bind(this,this._tiles[t]))}},_tileLoaded:function(t,e){if(e)return t.state=&quot;errored&quot;,this.fire(&quot;tile.error&quot;,{tile:t,error:e}),void this._source.fire(&quot;tile.error&quot;,{tile:t,error:e});t.source=this,t.timeAdded=(new Date).getTime(),this.fire(&quot;tile.load&quot;,{tile:t}),this._source.fire(&quot;tile.load&quot;,{tile:t})},getTile:function(t){return this.getTileByID(t.id)},getTileByID:function(t){return this._tiles[t]},getZoom:function(t){return t.zoom+t.scaleZoom(t.tileSize/this.tileSize)},findLoadedChildren:function(t,e,r){var n=!1;for(var i in this._tiles){var a=this._tiles[i];if(!(r[i]||!a.isRenderable()||a.coord.z&lt;=t.z||a.coord.z&gt;e)){var o=Math.pow(2,Math.min(a.coord.z,this.maxzoom)-Math.min(t.z,this.maxzoom));if(Math.floor(a.coord.x/o)===t.x&amp;&amp;Math.floor(a.coord.y/o)===t.y)for(r[i]=!0,n=!0;a&amp;&amp;a.coord.z-1&gt;t.z;){var s=a.coord.parent(this.maxzoom).id;(a=this._tiles[s])&amp;&amp;a.isRenderable()&amp;&amp;(delete r[i],r[s]=!0)}}}return n},findLoadedParent:function(t,e,r){for(var n=t.z-1;n&gt;=e;n--){t=t.parent(this.maxzoom);var i=this._tiles[t.id];if(i&amp;&amp;i.isRenderable())return r[t.id]=!0,i;if(this._cache.has(t.id))return this.addTile(t),r[t.id]=!0,this._tiles[t.id]}},updateCacheSize:function(t){var e=(Math.ceil(t.width/t.tileSize)+1)*(Math.ceil(t.height/t.tileSize)+1);this._cache.setMaxSize(Math.floor(5*e))},update:function(t,e){if(this._sourceLoaded){var r,i,a;this.updateCacheSize(t);var o=(this.roundZoom?Math.round:Math.floor)(this.getZoom(t)),s=Math.max(o-n.maxOverzooming,this.minzoom),l=Math.max(o+n.maxUnderzooming,this.minzoom),u={},f=(new Date).getTime();this._coveredTiles={};var d=this.used?t.coveringTiles(this._source):[];for(r=0;r&lt;d.length;r++)i=d[r],a=this.addTile(i),u[i.id]=!0,a.isRenderable()||this.findLoadedChildren(i,l,u)||this.findLoadedParent(i,s,u);for(var p={},m=Object.keys(u),g=0;g&lt;m.length;g++){var v=m[g];i=c.fromID(v),(a=this._tiles[v])&amp;&amp;a.timeAdded&gt;f-(e||0)&amp;&amp;(this.findLoadedChildren(i,l,u)&amp;&amp;(u[v]=!0),this.findLoadedParent(i,s,p))}var y;for(y in p)u[y]||(this._coveredTiles[y]=!0);for(y in p)u[y]=!0;var x=h.keysDifference(this._tiles,u);for(r=0;r&lt;x.length;r++)this.removeTile(+x[r]);this.transform=t}},addTile:function(t){var e=this._tiles[t.id];if(e)return e;var r=t.wrapped();if((e=this._tiles[r.id])||(e=this._cache.get(r.id))&amp;&amp;this._redoPlacement&amp;&amp;this._redoPlacement(e),!e){var n=t.z,i=n&gt;this.maxzoom?Math.pow(2,n-this.maxzoom):1;e=new s(r,this.tileSize*i,this.maxzoom),this.loadTile(e,this._tileLoaded.bind(this,e))}return e.uses++,this._tiles[t.id]=e,this.fire(&quot;tile.add&quot;,{tile:e}),this._source.fire(&quot;tile.add&quot;,{tile:e}),e},removeTile:function(t){var e=this._tiles[t];e&amp;&amp;(e.uses--,delete this._tiles[t],this.fire(&quot;tile.remove&quot;,{tile:e}),this._source.fire(&quot;tile.remove&quot;,{tile:e}),e.uses&gt;0||(e.isRenderable()?this._cache.add(e.coord.wrapped().id,e):(e.aborted=!0,this.abortTile(e),this.unloadTile(e))))},clearTiles:function(){for(var t in this._tiles)this.removeTile(t);this._cache.reset()},tilesIn:function(t){for(var e={},r=this.getIds(),n=1/0,a=1/0,o=-1/0,s=-1/0,l=t[0].zoom,u=0;u&lt;t.length;u++){var h=t[u];n=Math.min(n,h.column),a=Math.min(a,h.row),o=Math.max(o,h.column),s=Math.max(s,h.row)}for(var p=0;p&lt;r.length;p++){var m=this._tiles[r[p]],g=c.fromID(r[p]),v=[i(g,m.sourceMaxZoom,new f(n,a,l)),i(g,m.sourceMaxZoom,new f(o,s,l))];if(v[0].x&lt;d&amp;&amp;v[0].y&lt;d&amp;&amp;v[1].x&gt;=0&amp;&amp;v[1].y&gt;=0){for(var y=[],x=0;x&lt;t.length;x++)y.push(i(g,m.sourceMaxZoom,t[x]));var b=e[m.coord.id];void 0===b&amp;&amp;(b=e[m.coord.id]={tile:m,coord:g,queryGeometry:[],scale:Math.pow(2,this.transform.zoom-m.coord.z)}),b.queryGeometry.push(y)}}var _=[];for(var w in e)_.push(e[w]);return _},redoPlacement:function(){for(var t=this.getIds(),e=0;e&lt;t.length;e++){this.getTileByID(t[e]).redoPlacement(this)}},getVisibleCoordinates:function(){return this.getRenderableIds().map(c.fromID)}})},{&quot;../data/bucket&quot;:320,&quot;../geo/coordinate&quot;:329,&quot;../util/evented&quot;:425,&quot;../util/lru_cache&quot;:429,&quot;../util/util&quot;:433,&quot;./source&quot;:357,&quot;./tile&quot;:359,&quot;./tile_coord&quot;:360}],359:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r){this.coord=t,this.uid=a.uniqueId(),this.uses=0,this.tileSize=e,this.sourceMaxZoom=r,this.buckets={},this.state=&quot;loading&quot;}function i(t,e){if(e){for(var r={},n=0;n&lt;t.length;n++){var i=e.getLayer(t[n].layerId);if(i){var s=o.create(a.extend({layer:i,childLayers:t[n].childLayerIds.map(e.getLayer.bind(e)).filter(function(t){return t})},t[n]));r[s.id]=s}}return r}}var a=t(&quot;../util/util&quot;),o=t(&quot;../data/bucket&quot;),s=t(&quot;../data/feature_index&quot;),l=t(&quot;vector-tile&quot;),c=t(&quot;pbf&quot;),u=t(&quot;../util/vectortile_to_geojson&quot;),f=t(&quot;feature-filter&quot;),h=t(&quot;../symbol/collision_tile&quot;),d=t(&quot;../symbol/collision_box&quot;),p=t(&quot;../symbol/symbol_instances&quot;),m=t(&quot;../symbol/symbol_quads&quot;);e.exports=n,n.prototype={loadVectorData:function(t,e){this.state=&quot;loaded&quot;,t&amp;&amp;(this.collisionBoxArray=new d(t.collisionBoxArray),this.collisionTile=new h(t.collisionTile,this.collisionBoxArray),this.symbolInstancesArray=new p(t.symbolInstancesArray),this.symbolQuadsArray=new m(t.symbolQuadsArray),this.featureIndex=new s(t.featureIndex,t.rawTileData,this.collisionTile),this.rawTileData=t.rawTileData,this.buckets=i(t.buckets,e))},reloadSymbolData:function(t,e,r){if(&quot;unloaded&quot;!==this.state){this.collisionTile=new h(t.collisionTile,this.collisionBoxArray),this.featureIndex.setCollisionTile(this.collisionTile);for(var n in this.buckets){var o=this.buckets[n];&quot;symbol&quot;===o.type&amp;&amp;(o.destroy(e.gl),delete this.buckets[n])}a.extend(this.buckets,i(t.buckets,r))}},unloadVectorData:function(t){for(var e in this.buckets){this.buckets[e].destroy(t.gl)}this.collisionBoxArray=null,this.symbolQuadsArray=null,this.symbolInstancesArray=null,this.collisionTile=null,this.featureIndex=null,this.rawTileData=null,this.buckets=null,this.state=&quot;unloaded&quot;},redoPlacement:function(t){&quot;loaded&quot;===this.state&amp;&amp;&quot;reloading&quot;!==this.state?(this.state=&quot;reloading&quot;,t.dispatcher.send(&quot;redo placement&quot;,{uid:this.uid,source:t.id,angle:t.map.transform.angle,pitch:t.map.transform.pitch,showCollisionBoxes:t.map.showCollisionBoxes},function(e,r){this.reloadSymbolData(r,t.map.painter,t.map.style),t.fire(&quot;tile.load&quot;,{tile:this}),this.state=&quot;loaded&quot;,this.redoWhenDone&amp;&amp;(this.redoPlacement(t),this.redoWhenDone=!1)}.bind(this),this.workerID)):this.redoWhenDone=!0},getBucket:function(t){return this.buckets&amp;&amp;this.buckets[t.ref||t.id]},querySourceFeatures:function(t,e){if(this.rawTileData){this.vtLayers||(this.vtLayers=new l.VectorTile(new c(new Uint8Array(this.rawTileData))).layers);var r=this.vtLayers._geojsonTileLayer||this.vtLayers[e.sourceLayer];if(r)for(var n=f(e.filter),i={z:this.coord.z,x:this.coord.x,y:this.coord.y},a=0;a&lt;r.length;a++){var o=r.feature(a);if(n(o)){var s=new u(o,this.coord.z,this.coord.x,this.coord.y);s.tile=i,t.push(s)}}}},isRenderable:function(){return&quot;loaded&quot;===this.state||&quot;reloading&quot;===this.state}}},{&quot;../data/bucket&quot;:320,&quot;../data/feature_index&quot;:327,&quot;../symbol/collision_box&quot;:385,&quot;../symbol/collision_tile&quot;:387,&quot;../symbol/symbol_instances&quot;:396,&quot;../symbol/symbol_quads&quot;:397,&quot;../util/util&quot;:433,&quot;../util/vectortile_to_geojson&quot;:434,&quot;feature-filter&quot;:141,pbf:470,&quot;vector-tile&quot;:564}],360:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,n){s(!isNaN(t)&amp;&amp;t&gt;=0&amp;&amp;t%1==0),s(!isNaN(e)&amp;&amp;e&gt;=0&amp;&amp;e%1==0),s(!isNaN(r)&amp;&amp;r&gt;=0&amp;&amp;r%1==0),isNaN(n)&amp;&amp;(n=0),this.z=+t,this.x=+e,this.y=+r,this.w=+n,(n*=2)&lt;0&amp;&amp;(n=-1*n-1);var i=1&lt;&lt;this.z;this.id=32*(i*i*n+i*this.y+this.x)+this.z,this.posMatrix=null}function i(t,e){if(t.row&gt;e.row){var r=t;t=e,e=r}return{x0:t.column,y0:t.row,x1:e.column,y1:e.row,dx:e.column-t.column,dy:e.row-t.row}}function a(t,e,r,n,i){var a=Math.max(r,Math.floor(e.y0)),o=Math.min(n,Math.ceil(e.y1));if(t.x0===e.x0&amp;&amp;t.y0===e.y0?t.x0+e.dy/t.dy*t.dx&lt;e.x1:t.x1-e.dy/t.dy*t.dx&lt;e.x0){var s=t;t=e,e=s}for(var l=t.dx/t.dy,c=e.dx/e.dy,u=t.dx&gt;0,f=e.dx&lt;0,h=a;h&lt;o;h++){var d=l*Math.max(0,Math.min(t.dy,h+u-t.y0))+t.x0,p=c*Math.max(0,Math.min(e.dy,h+f-e.y0))+e.x0;i(Math.floor(p),Math.ceil(d),h)}}function o(t,e,r,n,o,s){var l,c=i(t,e),u=i(e,r),f=i(r,t);c.dy&gt;u.dy&amp;&amp;(l=c,c=u,u=l),c.dy&gt;f.dy&amp;&amp;(l=c,c=f,f=l),u.dy&gt;f.dy&amp;&amp;(l=u,u=f,f=l),c.dy&amp;&amp;a(f,c,n,o,s),u.dy&amp;&amp;a(f,u,n,o,s)}var s=t(&quot;assert&quot;),l=t(&quot;whoots-js&quot;),c=t(&quot;../geo/coordinate&quot;);e.exports=n,n.prototype.toString=function(){return this.z+&quot;/&quot;+this.x+&quot;/&quot;+this.y},n.prototype.toCoordinate=function(t){var e=Math.min(this.z,t),r=Math.pow(2,e),n=this.y,i=this.x+r*this.w;return new c(i,n,e)},n.fromID=function(t){var e=t%32,r=1&lt;&lt;e,i=(t-e)/32,a=i%r,o=(i-a)/r%r,s=Math.floor(i/(r*r));return s%2!=0&amp;&amp;(s=-1*s-1),s/=2,new n(e,a,o,s)},n.prototype.url=function(t,e,r){var n=l.getTileBBox(this.x,this.y,this.z),i=function(t,e,r){for(var n,i=&quot;&quot;,a=t;a&gt;0;a--)i+=(e&amp;(n=1&lt;&lt;a-1)?1:0)+(r&amp;n?2:0);return i}(this.z,this.x,this.y);return t[(this.x+this.y)%t.length].replace(&quot;{prefix}&quot;,(this.x%16).toString(16)+(this.y%16).toString(16)).replace(&quot;{z}&quot;,Math.min(this.z,e||this.z)).replace(&quot;{x}&quot;,this.x).replace(&quot;{y}&quot;,&quot;tms&quot;===r?Math.pow(2,this.z)-this.y-1:this.y).replace(&quot;{quadkey}&quot;,i).replace(&quot;{bbox-epsg-3857}&quot;,n)},n.prototype.parent=function(t){return 0===this.z?null:this.z&gt;t?new n(this.z-1,this.x,this.y,this.w):new n(this.z-1,Math.floor(this.x/2),Math.floor(this.y/2),this.w)},n.prototype.wrapped=function(){return new n(this.z,this.x,this.y,0)},n.prototype.children=function(t){if(this.z&gt;=t)return[new n(this.z+1,this.x,this.y,this.w)];var e=this.z+1,r=2*this.x,i=2*this.y;return[new n(e,r,i,this.w),new n(e,r+1,i,this.w),new n(e,r,i+1,this.w),new n(e,r+1,i+1,this.w)]},n.cover=function(t,e,r){function i(t,e,i){var o,l;if(i&gt;=0&amp;&amp;i&lt;=a)for(o=t;o&lt;e;o++)l=new n(r,(o%a+a)%a,i,Math.floor(o/a)),s[l.id]=l}var a=1&lt;&lt;t,s={};return o(e[0],e[1],e[2],0,a,i),o(e[2],e[3],e[0],0,a,i),Object.keys(s).map(function(t){return s[t]})}},{&quot;../geo/coordinate&quot;:329,assert:51,&quot;whoots-js&quot;:580}],361:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r){if(this.id=t,this.dispatcher=r,a.extend(this,a.pick(e,[&quot;url&quot;,&quot;scheme&quot;,&quot;tileSize&quot;])),this._options=a.extend({type:&quot;vector&quot;},e),512!==this.tileSize)throw new Error(&quot;vector tile sources must have a tileSize of 512&quot;);o(e,function(t,e){t?this.fire(&quot;error&quot;,t):(a.extend(this,e),this.fire(&quot;load&quot;))}.bind(this))}var i=t(&quot;../util/evented&quot;),a=t(&quot;../util/util&quot;),o=t(&quot;./load_tilejson&quot;),s=t(&quot;../util/mapbox&quot;).normalizeTileURL;e.exports=n,n.prototype=a.inherit(i,{minzoom:0,maxzoom:22,scheme:&quot;xyz&quot;,tileSize:512,reparseOverscaled:!0,isTileClipped:!0,onAdd:function(t){this.map=t},serialize:function(){return a.extend({},this._options)},loadTile:function(t,e){function r(r,n){if(!t.aborted){if(r)return e(r);t.loadVectorData(n,this.map.style),t.redoWhenDone&amp;&amp;(t.redoWhenDone=!1,t.redoPlacement(this)),e(null),t.reloadCallback&amp;&amp;(this.loadTile(t,t.reloadCallback),t.reloadCallback=null)}}var n=t.coord.z&gt;this.maxzoom?Math.pow(2,t.coord.z-this.maxzoom):1,i={url:s(t.coord.url(this.tiles,this.maxzoom,this.scheme),this.url),uid:t.uid,coord:t.coord,zoom:t.coord.z,tileSize:this.tileSize*n,source:this.id,overscaling:n,angle:this.map.transform.angle,pitch:this.map.transform.pitch,showCollisionBoxes:this.map.showCollisionBoxes};t.workerID?&quot;loading&quot;===t.state?t.reloadCallback=e:(i.rawTileData=t.rawTileData,this.dispatcher.send(&quot;reload tile&quot;,i,r.bind(this),t.workerID)):t.workerID=this.dispatcher.send(&quot;load tile&quot;,i,r.bind(this))},abortTile:function(t){this.dispatcher.send(&quot;abort tile&quot;,{uid:t.uid,source:this.id},null,t.workerID)},unloadTile:function(t){t.unloadVectorData(this.map.painter),this.dispatcher.send(&quot;remove tile&quot;,{uid:t.uid,source:this.id},null,t.workerID)}})},{&quot;../util/evented&quot;:425,&quot;../util/mapbox&quot;:430,&quot;../util/util&quot;:433,&quot;./load_tilejson&quot;:353}],362:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r){this.actor=t,this.styleLayers=e,r&amp;&amp;(this.loadVectorData=r),this.loading={},this.loaded={}}var i=t(&quot;../util/ajax&quot;),a=t(&quot;vector-tile&quot;),o=t(&quot;pbf&quot;),s=t(&quot;./worker_tile&quot;);e.exports=n,n.prototype={loadTile:function(t,e){var r=t.source,n=t.uid;this.loading[r]||(this.loading[r]={});var i=this.loading[r][n]=new s(t);i.abort=this.loadVectorData(t,function(t,a){return delete this.loading[r][n],t?e(t):a?(i.data=a.tile,i.parse(i.data,this.styleLayers.getLayerFamilies(),this.actor,a.rawTileData,e),this.loaded[r]=this.loaded[r]||{},void(this.loaded[r][n]=i)):e(null,null)}.bind(this))},reloadTile:function(t,e){var r=this.loaded[t.source],n=t.uid;if(r&amp;&amp;r[n]){var i=r[n];i.parse(i.data,this.styleLayers.getLayerFamilies(),this.actor,t.rawTileData,e)}},abortTile:function(t){var e=this.loading[t.source],r=t.uid;e&amp;&amp;e[r]&amp;&amp;e[r].abort&amp;&amp;(e[r].abort(),delete e[r])},removeTile:function(t){var e=this.loaded[t.source],r=t.uid;e&amp;&amp;e[r]&amp;&amp;delete e[r]},loadVectorData:function(t,e){var r=i.getArrayBuffer(t.url,function(t,r){if(t)return e(t);var n=new a.VectorTile(new o(new Uint8Array(r)));e(t,{tile:n,rawTileData:r})}.bind(this));return function(){r.abort()}},redoPlacement:function(t,e){var r=this.loaded[t.source],n=this.loading[t.source],i=t.uid;if(r&amp;&amp;r[i]){var a=r[i].redoPlacement(t.angle,t.pitch,t.showCollisionBoxes);a.result&amp;&amp;e(null,a.result,a.transferables)}else n&amp;&amp;n[i]&amp;&amp;(n[i].angle=t.angle)}}},{&quot;../util/ajax&quot;:416,&quot;./worker_tile&quot;:365,pbf:470,&quot;vector-tile&quot;:564}],363:[function(t,e,r){&quot;use strict&quot;;function n(t,e){this.id=t,this.urls=e.urls,this.coordinates=e.coordinates,c.getVideo(e.urls,function(t,r){if(t)return this.fire(&quot;error&quot;,{error:t});this.video=r,this.video.loop=!0;var n;this.video.addEventListener(&quot;playing&quot;,function(){n=this.map.style.animationLoop.set(1/0),this.map._rerender()}.bind(this)),this.video.addEventListener(&quot;pause&quot;,function(){this.map.style.animationLoop.cancel(n)}.bind(this)),this.map&amp;&amp;(this.video.play(),this.setCoordinates(e.coordinates)),this.fire(&quot;load&quot;)}.bind(this))}var i=t(&quot;../util/util&quot;),a=t(&quot;./tile_coord&quot;),o=t(&quot;../geo/lng_lat&quot;),s=t(&quot;point-geometry&quot;),l=t(&quot;../util/evented&quot;),c=t(&quot;../util/ajax&quot;),u=t(&quot;../data/bucket&quot;).EXTENT,f=t(&quot;../render/draw_raster&quot;).RasterBoundsArray,h=t(&quot;../data/buffer&quot;),d=t(&quot;../render/vertex_array_object&quot;);e.exports=n,n.prototype=i.inherit(l,{minzoom:0,maxzoom:22,tileSize:512,roundZoom:!0,getVideo:function(){return this.video},onAdd:function(t){this.map||(this.map=t,this.video&amp;&amp;(this.video.play(),this.setCoordinates(this.coordinates)))},setCoordinates:function(t){this.coordinates=t;var e=this.map,r=t.map(function(t){return e.transform.locationCoordinate(o.convert(t)).zoomTo(0)}),n=this.centerCoord=i.getCoordinatesCenter(r);return n.column=Math.round(n.column),n.row=Math.round(n.row),this.minzoom=this.maxzoom=n.zoom,this._coord=new a(n.zoom,n.column,n.row),this._tileCoords=r.map(function(t){var e=t.zoomTo(n.zoom);return new s(Math.round((e.column-n.column)*u),Math.round((e.row-n.row)*u))}),this.fire(&quot;change&quot;),this},_setTile:function(t){this._prepared=!1,this.tile=t;var e=new f;e.emplaceBack(this._tileCoords[0].x,this._tileCoords[0].y,0,0),e.emplaceBack(this._tileCoords[1].x,this._tileCoords[1].y,32767,0),e.emplaceBack(this._tileCoords[3].x,this._tileCoords[3].y,0,32767),e.emplaceBack(this._tileCoords[2].x,this._tileCoords[2].y,32767,32767),this.tile.buckets={},this.tile.boundsBuffer=new h(e.serialize(),f.serialize(),h.BufferType.VERTEX),this.tile.boundsVAO=new d,this.tile.state=&quot;loaded&quot;},prepare:function(){if(!(this.video.readyState&lt;2)&amp;&amp;this.tile){var t=this.map.painter.gl;this._prepared?(t.bindTexture(t.TEXTURE_2D,this.tile.texture),t.texSubImage2D(t.TEXTURE_2D,0,0,0,t.RGBA,t.UNSIGNED_BYTE,this.video)):(this._prepared=!0,this.tile.texture=t.createTexture(),t.bindTexture(t.TEXTURE_2D,this.tile.texture),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),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MIN_FILTER,t.LINEAR),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MAG_FILTER,t.LINEAR),t.texImage2D(t.TEXTURE_2D,0,t.RGBA,t.RGBA,t.UNSIGNED_BYTE,this.video)),this._currentTime=this.video.currentTime}},loadTile:function(t,e){this._coord&amp;&amp;this._coord.toString()===t.coord.toString()?(this._setTile(t),e(null)):(t.state=&quot;errored&quot;,e(null))},serialize:function(){return{type:&quot;video&quot;,urls:this.urls,coordinates:this.coordinates}}})},{&quot;../data/bucket&quot;:320,&quot;../data/buffer&quot;:325,&quot;../geo/lng_lat&quot;:330,&quot;../render/draw_raster&quot;:342,&quot;../render/vertex_array_object&quot;:348,&quot;../util/ajax&quot;:416,&quot;../util/evented&quot;:425,&quot;../util/util&quot;:433,&quot;./tile_coord&quot;:360,&quot;point-geometry&quot;:477}],364:[function(t,e,r){&quot;use strict&quot;;function n(t){this.self=t,this.actor=new a(t,this);var e={getLayers:function(){return this.layers}.bind(this),getLayerFamilies:function(){return this.layerFamilies}.bind(this)};this.workerSources={vector:new l(this.actor,e),geojson:new c(this.actor,e)},this.self.registerWorkerSource=function(t,r){if(this.workerSources[t])throw new Error('Worker source with name &quot;'+t+'&quot; already registered.');this.workerSources[t]=new r(this.actor,e)}.bind(this)}function i(t){var e={};for(var r in t){var n=t[r],i=n.ref||n.id,a=t[i];a.layout&amp;&amp;&quot;none&quot;===a.layout.visibility||(e[i]=e[i]||[],r===i?e[i].unshift(n):e[i].push(n))}return e}var a=t(&quot;../util/actor&quot;),o=t(&quot;../style/style_layer&quot;),s=t(&quot;../util/util&quot;),l=t(&quot;./vector_tile_worker_source&quot;),c=t(&quot;./geojson_worker_source&quot;);e.exports=function(t){return new n(t)},s.extend(n.prototype,{&quot;set layers&quot;:function(t){function e(t){var e=o.create(t,t.ref&amp;&amp;r.layers[t.ref]);e.updatePaintTransitions({},{transition:!1}),r.layers[e.id]=e}this.layers={};for(var r=this,n=[],a=0;a&lt;t.length;a++){var s=t[a];&quot;fill&quot;!==s.type&amp;&amp;&quot;line&quot;!==s.type&amp;&amp;&quot;circle&quot;!==s.type&amp;&amp;&quot;symbol&quot;!==s.type||(s.ref?n.push(a):e(s))}for(var l=0;l&lt;n.length;l++)e(t[n[l]]);this.layerFamilies=i(this.layers)},&quot;update layers&quot;:function(t){function e(t){var e=a.layers[t.ref];a.layers[t.id]?a.layers[t.id].set(t,e):a.layers[t.id]=o.create(t,e),a.layers[t.id].updatePaintTransitions({},{transition:!1})}var r,n,a=this;for(r in t)(n=t[r]).ref&amp;&amp;e(n);for(r in t)(n=t[r]).ref||e(n);this.layerFamilies=i(this.layers)},&quot;load tile&quot;:function(t,e){var r=t.type||&quot;vector&quot;;this.workerSources[r].loadTile(t,e)},&quot;reload tile&quot;:function(t,e){var r=t.type||&quot;vector&quot;;this.workerSources[r].reloadTile(t,e)},&quot;abort tile&quot;:function(t){var e=t.type||&quot;vector&quot;;this.workerSources[e].abortTile(t)},&quot;remove tile&quot;:function(t){var e=t.type||&quot;vector&quot;;this.workerSources[e].removeTile(t)},&quot;redo placement&quot;:function(t,e){var r=t.type||&quot;vector&quot;;this.workerSources[r].redoPlacement(t,e)},&quot;load worker source&quot;:function(t,e){try{this.self.importScripts(t.url),e()}catch(t){e(t)}}})},{&quot;../style/style_layer&quot;:372,&quot;../util/actor&quot;:415,&quot;../util/util&quot;:433,&quot;./geojson_worker_source&quot;:350,&quot;./vector_tile_worker_source&quot;:362}],365:[function(t,e,r){&quot;use strict&quot;;function n(t){this.coord=t.coord,this.uid=t.uid,this.zoom=t.zoom,this.tileSize=t.tileSize,this.source=t.source,this.overscaling=t.overscaling,this.angle=t.angle,this.pitch=t.pitch,this.showCollisionBoxes=t.showCollisionBoxes}function i(t){return!t.isEmpty()}function a(t){return t.serialize()}function o(t){var e=[];for(var r in t)t[r].getTransferables(e);return e}function s(t){return t.id}var l=t(&quot;../data/feature_index&quot;),c=t(&quot;../symbol/collision_tile&quot;),u=t(&quot;../data/bucket&quot;),f=t(&quot;../symbol/collision_box&quot;),h=t(&quot;../util/dictionary_coder&quot;),d=t(&quot;../util/util&quot;),p=t(&quot;../symbol/symbol_instances&quot;),m=t(&quot;../symbol/symbol_quads&quot;);e.exports=n,n.prototype.parse=function(t,e,r,n,g){function v(t,e){for(var r=0;r&lt;t.length;r++){var n=t.feature(r);n.index=r;for(var i in e)e[i].filter(n)&amp;&amp;e[i].features.push(n)}}function y(t){if(t)return g(t);if(2==++j){for(var e=P.length-1;e&gt;=0;e--)x(E,P[e]);b()}}function x(t,e){if(e.populateArrays(A,N,R),&quot;symbol&quot;!==e.type)for(var r=0;r&lt;e.features.length;r++){var n=e.features[r];T.insert(n,n.index,e.sourceLayerIndex,e.index)}e.features=null}function b(){E.status=&quot;done&quot;,E.redoPlacementAfterDone&amp;&amp;(E.redoPlacement(E.angle,E.pitch,null),E.redoPlacementAfterDone=!1);var t=T.serialize(),e=A.serialize(),r=E.collisionBoxArray.serialize(),s=E.symbolInstancesArray.serialize(),l=E.symbolQuadsArray.serialize(),c=[n].concat(t.transferables).concat(e.transferables),u=I.filter(i);g(null,{buckets:u.map(a),featureIndex:t.data,collisionTile:e.data,collisionBoxArray:r,symbolInstancesArray:s,symbolQuadsArray:l,rawTileData:n},o(u).concat(c))}this.status=&quot;parsing&quot;,this.data=t,this.collisionBoxArray=new f,this.symbolInstancesArray=new p,this.symbolQuadsArray=new m;var _,w,M,k,A=new c(this.angle,this.pitch,this.collisionBoxArray),T=new l(this.coord,this.overscaling,A,t.layers),S=new h(t.layers?Object.keys(t.layers).sort():[&quot;_geojsonTileLayer&quot;]),E=this,L={},C={},z=0;for(var D in e)(w=e[D][0]).source===this.source&amp;&amp;(w.ref||w.minzoom&amp;&amp;this.zoom&lt;w.minzoom||w.maxzoom&amp;&amp;this.zoom&gt;=w.maxzoom||w.layout&amp;&amp;&quot;none&quot;===w.layout.visibility||t.layers&amp;&amp;!t.layers[w.sourceLayer]||((k=u.create({layer:w,index:z++,childLayers:e[D],zoom:this.zoom,overscaling:this.overscaling,showCollisionBoxes:this.showCollisionBoxes,collisionBoxArray:this.collisionBoxArray,symbolQuadsArray:this.symbolQuadsArray,symbolInstancesArray:this.symbolInstancesArray,sourceLayerIndex:S.encode(w.sourceLayer||&quot;_geojsonTileLayer&quot;)})).createFilter(),L[w.id]=k,t.layers&amp;&amp;(C[M=w.sourceLayer]=C[M]||{},C[M][w.id]=k)));if(t.layers)for(M in C)1===w.version&amp;&amp;d.warnOnce('Vector tile source &quot;'+this.source+'&quot; layer &quot;'+M+'&quot; does not use vector tile spec v2 and therefore may have some rendering errors.'),(w=t.layers[M])&amp;&amp;v(w,C[M]);else v(t,L);var I=[],P=this.symbolBuckets=[],O=[];T.bucketLayerIDs={};for(var F in L)0!==(k=L[F]).features.length&amp;&amp;(T.bucketLayerIDs[k.index]=k.childLayers.map(s),I.push(k),&quot;symbol&quot;===k.type?P.push(k):O.push(k));var R={},N={},j=0;if(P.length&gt;0){for(_=P.length-1;_&gt;=0;_--)P[_].updateIcons(R),P[_].updateFont(N);for(var B in N)N[B]=Object.keys(N[B]).map(Number);R=Object.keys(R),r.send(&quot;get glyphs&quot;,{uid:this.uid,stacks:N},function(t,e){N=e,y(t)}),R.length?r.send(&quot;get icons&quot;,{icons:R},function(t,e){R=e,y(t)}):y()}for(_=O.length-1;_&gt;=0;_--)x(0,O[_]);if(0===P.length)return b()},n.prototype.redoPlacement=function(t,e,r){if(&quot;done&quot;!==this.status)return this.redoPlacementAfterDone=!0,this.angle=t,{};for(var n=new c(t,e,this.collisionBoxArray),s=this.symbolBuckets,l=s.length-1;l&gt;=0;l--)s[l].placeFeatures(n,r);var u=n.serialize(),f=s.filter(i);return{result:{buckets:f.map(a),collisionTile:u.data},transferables:o(f).concat(u.transferables)}}},{&quot;../data/bucket&quot;:320,&quot;../data/feature_index&quot;:327,&quot;../symbol/collision_box&quot;:385,&quot;../symbol/collision_tile&quot;:387,&quot;../symbol/symbol_instances&quot;:396,&quot;../symbol/symbol_quads&quot;:397,&quot;../util/dictionary_coder&quot;:423,&quot;../util/util&quot;:433}],366:[function(t,e,r){&quot;use strict&quot;;function n(){this.n=0,this.times=[]}e.exports=n,n.prototype.stopped=function(){return this.times=this.times.filter(function(t){return t.time&gt;=(new Date).getTime()}),!this.times.length},n.prototype.set=function(t){return this.times.push({id:this.n,time:t+(new Date).getTime()}),this.n++},n.prototype.cancel=function(t){this.times=this.times.filter(function(e){return e.id!==t})}},{}],367:[function(t,e,r){&quot;use strict&quot;;function n(t){this.base=t,this.retina=s.devicePixelRatio&gt;1;var e=this.retina?&quot;@2x&quot;:&quot;&quot;;o.getJSON(l(t,e,&quot;.json&quot;),function(t,e){t?this.fire(&quot;error&quot;,{error:t}):(this.data=e,this.img&amp;&amp;this.fire(&quot;load&quot;))}.bind(this)),o.getImage(l(t,e,&quot;.png&quot;),function(t,e){if(t)this.fire(&quot;error&quot;,{error:t});else{for(var r=e.getData(),n=e.data=new Uint8Array(r.length),i=0;i&lt;r.length;i+=4){var a=r[i+3]/255;n[i+0]=r[i+0]*a,n[i+1]=r[i+1]*a,n[i+2]=r[i+2]*a,n[i+3]=r[i+3]}this.img=e,this.data&amp;&amp;this.fire(&quot;load&quot;)}}.bind(this))}function i(){}var a=t(&quot;../util/evented&quot;),o=t(&quot;../util/ajax&quot;),s=t(&quot;../util/browser&quot;),l=t(&quot;../util/mapbox&quot;).normalizeSpriteURL;e.exports=n,(n.prototype=Object.create(a)).toJSON=function(){return this.base},n.prototype.loaded=function(){return!(!this.data||!this.img)},n.prototype.resize=function(){if(s.devicePixelRatio&gt;1!==this.retina){var t=new n(this.base);t.on(&quot;load&quot;,function(){this.img=t.img,this.data=t.data,this.retina=t.retina}.bind(this))}},i.prototype={x:0,y:0,width:0,height:0,pixelRatio:1,sdf:!1},n.prototype.getSpritePosition=function(t){if(!this.loaded())return new i;var e=this.data&amp;&amp;this.data[t];return e&amp;&amp;this.img?e:new i}},{&quot;../util/ajax&quot;:416,&quot;../util/browser&quot;:417,&quot;../util/evented&quot;:425,&quot;../util/mapbox&quot;:430}],368:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;csscolorparser&quot;).parseCSSColor,i=t(&quot;../util/util&quot;),a=t(&quot;./style_function&quot;),o={};e.exports=function t(e){if(a.isFunctionDefinition(e))return i.extend({},e,{stops:e.stops.map(function(e){return[e[0],t(e[1])]})});if(&quot;string&quot;==typeof e){if(!o[e]){var r=n(e);if(!r)throw new Error(&quot;Invalid color &quot;+e);o[e]=[r[0]/255*r[3],r[1]/255*r[3],r[2]/255*r[3],r[3]]}return o[e]}throw new Error(&quot;Invalid color &quot;+e)}},{&quot;../util/util&quot;:433,&quot;./style_function&quot;:371,csscolorparser:114}],369:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r){this.animationLoop=e||new m,this.dispatcher=new p(r||1,this),this.spriteAtlas=new l(1024,1024),this.lineAtlas=new c(256,512),this._layers={},this._order=[],this._groups=[],this.sources={},this.zoomHistory={},u.bindAll([&quot;_forwardSourceEvent&quot;,&quot;_forwardTileEvent&quot;,&quot;_forwardLayerEvent&quot;,&quot;_redoPlacement&quot;],this),this._resetUpdates();var n=function(t,e){if(t)this.fire(&quot;error&quot;,{error:t});else if(!g.emitErrors(this,g(e))){this._loaded=!0,this.stylesheet=e,this.updateClasses();var r=e.sources;for(var n in r)this.addSource(n,r[n]);e.sprite&amp;&amp;(this.sprite=new o(e.sprite),this.sprite.on(&quot;load&quot;,this.fire.bind(this,&quot;change&quot;))),this.glyphSource=new s(e.glyphs),this._resolve(),this.fire(&quot;load&quot;)}}.bind(this);&quot;string&quot;==typeof t?f.getJSON(h(t),n):d.frame(n.bind(this,null,t)),this.on(&quot;source.load&quot;,function(t){var e=t.source;if(e&amp;&amp;e.vectorLayerIds)for(var r in this._layers){var n=this._layers[r];n.source===e.id&amp;&amp;this._validateLayer(n)}})}var i=t(&quot;../util/evented&quot;),a=t(&quot;./style_layer&quot;),o=t(&quot;./image_sprite&quot;),s=t(&quot;../symbol/glyph_source&quot;),l=t(&quot;../symbol/sprite_atlas&quot;),c=t(&quot;../render/line_atlas&quot;),u=t(&quot;../util/util&quot;),f=t(&quot;../util/ajax&quot;),h=t(&quot;../util/mapbox&quot;).normalizeStyleURL,d=t(&quot;../util/browser&quot;),p=t(&quot;../util/dispatcher&quot;),m=t(&quot;./animation_loop&quot;),g=t(&quot;./validate_style&quot;),v=t(&quot;../source/source&quot;),y=t(&quot;../source/query_features&quot;),x=t(&quot;../source/source_cache&quot;),b=t(&quot;./style_spec&quot;),_=t(&quot;./style_function&quot;);e.exports=n,n.prototype=u.inherit(i,{_loaded:!1,_validateLayer:function(t){var e=this.sources[t.source];t.sourceLayer&amp;&amp;e&amp;&amp;e.vectorLayerIds&amp;&amp;-1===e.vectorLayerIds.indexOf(t.sourceLayer)&amp;&amp;this.fire(&quot;error&quot;,{error:new Error('Source layer &quot;'+t.sourceLayer+'&quot; does not exist on source &quot;'+e.id+'&quot; as specified by style layer &quot;'+t.id+'&quot;')})},loaded:function(){if(!this._loaded)return!1;if(Object.keys(this._updates.sources).length)return!1;for(var t in this.sources)if(!this.sources[t].loaded())return!1;return!(this.sprite&amp;&amp;!this.sprite.loaded())},_resolve:function(){var t,e;this._layers={},this._order=this.stylesheet.layers.map(function(t){return t.id});for(var r=0;r&lt;this.stylesheet.layers.length;r++)(e=this.stylesheet.layers[r]).ref||(t=a.create(e),this._layers[t.id]=t,t.on(&quot;error&quot;,this._forwardLayerEvent));for(var n=0;n&lt;this.stylesheet.layers.length;n++)if((e=this.stylesheet.layers[n]).ref){var i=this.getLayer(e.ref);t=a.create(e,i),this._layers[t.id]=t,t.on(&quot;error&quot;,this._forwardLayerEvent)}this._groupLayers(),this._updateWorkerLayers()},_groupLayers:function(){var t;this._groups=[];for(var e=0;e&lt;this._order.length;++e){var r=this._layers[this._order[e]];t&amp;&amp;r.source===t.source||((t=[]).source=r.source,this._groups.push(t)),t.push(r)}},_updateWorkerLayers:function(t){this.dispatcher.broadcast(t?&quot;update layers&quot;:&quot;set layers&quot;,this._serializeLayers(t))},_serializeLayers:function(t){t=t||this._order;for(var e=[],r={includeRefProperties:!0},n=0;n&lt;t.length;n++)e.push(this._layers[t[n]].serialize(r));return e},_applyClasses:function(t,e){if(this._loaded){t=t||[],e=e||{transition:!0};var r=this.stylesheet.transition||{},n=this._updates.allPaintProps?this._layers:this._updates.paintProps;for(var i in n){var a=this._layers[i],o=this._updates.paintProps[i];if(this._updates.allPaintProps||o.all)a.updatePaintTransitions(t,e,r,this.animationLoop);else for(var s in o)this._layers[i].updatePaintTransition(s,t,e,r,this.animationLoop)}}},_recalculate:function(t){for(var e in this.sources)this.sources[e].used=!1;this._updateZoomHistory(t),this.rasterFadeDuration=300;for(var r in this._layers){var n=this._layers[r];n.recalculate(t,this.zoomHistory),!n.isHidden(t)&amp;&amp;n.source&amp;&amp;(this.sources[n.source].used=!0)}Math.floor(this.z)!==Math.floor(t)&amp;&amp;this.animationLoop.set(300),this.z=t,this.fire(&quot;zoom&quot;)},_updateZoomHistory:function(t){var e=this.zoomHistory;void 0===e.lastIntegerZoom&amp;&amp;(e.lastIntegerZoom=Math.floor(t),e.lastIntegerZoomTime=0,e.lastZoom=t),Math.floor(e.lastZoom)&lt;Math.floor(t)?(e.lastIntegerZoom=Math.floor(t),e.lastIntegerZoomTime=Date.now()):Math.floor(e.lastZoom)&gt;Math.floor(t)&amp;&amp;(e.lastIntegerZoom=Math.floor(t+1),e.lastIntegerZoomTime=Date.now()),e.lastZoom=t},_checkLoaded:function(){if(!this._loaded)throw new Error(&quot;Style is not done loading&quot;)},update:function(t,e){if(!this._updates.changed)return this;if(this._updates.allLayers)this._groupLayers(),this._updateWorkerLayers();else{var r=Object.keys(this._updates.layers);r.length&amp;&amp;this._updateWorkerLayers(r)}var n,i=Object.keys(this._updates.sources);for(n=0;n&lt;i.length;n++)this._reloadSource(i[n]);for(n=0;n&lt;this._updates.events.length;n++){var a=this._updates.events[n];this.fire(a[0],a[1])}return this._applyClasses(t,e),this._updates.changed&amp;&amp;this.fire(&quot;change&quot;),this._resetUpdates(),this},_resetUpdates:function(){this._updates={events:[],layers:{},sources:{},paintProps:{}}},addSource:function(t,e){if(this._checkLoaded(),void 0!==this.sources[t])throw new Error(&quot;There is already a source with this ID&quot;);if(!e.type)throw new Error(&quot;The type property must be defined, but the only the following properties were given: &quot;+Object.keys(e)+&quot;.&quot;);return[&quot;vector&quot;,&quot;raster&quot;,&quot;geojson&quot;,&quot;video&quot;,&quot;image&quot;].indexOf(e.type)&gt;=0&amp;&amp;this._handleErrors(g.source,&quot;sources.&quot;+t,e)?this:(e=new x(t,e,this.dispatcher),this.sources[t]=e,e.style=this,e.on(&quot;load&quot;,this._forwardSourceEvent).on(&quot;error&quot;,this._forwardSourceEvent).on(&quot;change&quot;,this._forwardSourceEvent).on(&quot;tile.add&quot;,this._forwardTileEvent).on(&quot;tile.load&quot;,this._forwardTileEvent).on(&quot;tile.error&quot;,this._forwardTileEvent).on(&quot;tile.remove&quot;,this._forwardTileEvent).on(&quot;tile.stats&quot;,this._forwardTileEvent),this._updates.events.push([&quot;source.add&quot;,{source:e}]),this._updates.changed=!0,this)},removeSource:function(t){if(this._checkLoaded(),void 0===this.sources[t])throw new Error(&quot;There is no source with this ID&quot;);var e=this.sources[t];return delete this.sources[t],delete this._updates.sources[t],e.off(&quot;load&quot;,this._forwardSourceEvent).off(&quot;error&quot;,this._forwardSourceEvent).off(&quot;change&quot;,this._forwardSourceEvent).off(&quot;tile.add&quot;,this._forwardTileEvent).off(&quot;tile.load&quot;,this._forwardTileEvent).off(&quot;tile.error&quot;,this._forwardTileEvent).off(&quot;tile.remove&quot;,this._forwardTileEvent).off(&quot;tile.stats&quot;,this._forwardTileEvent),this._updates.events.push([&quot;source.remove&quot;,{source:e}]),this._updates.changed=!0,this},getSource:function(t){return this.sources[t]&amp;&amp;this.sources[t].getSource()},addLayer:function(t,e){if(this._checkLoaded(),!(t instanceof a)){if(this._handleErrors(g.layer,&quot;layers.&quot;+t.id,t,!1,{arrayIndex:-1}))return this;var r=t.ref&amp;&amp;this.getLayer(t.ref);t=a.create(t,r)}return this._validateLayer(t),t.on(&quot;error&quot;,this._forwardLayerEvent),this._layers[t.id]=t,this._order.splice(e?this._order.indexOf(e):1/0,0,t.id),this._updates.allLayers=!0,t.source&amp;&amp;(this._updates.sources[t.source]=!0),this._updates.events.push([&quot;layer.add&quot;,{layer:t}]),this.updateClasses(t.id)},removeLayer:function(t){this._checkLoaded();var e=this._layers[t];if(void 0===e)throw new Error(&quot;There is no layer with this ID&quot;);for(var r in this._layers)this._layers[r].ref===t&amp;&amp;this.removeLayer(r);return e.off(&quot;error&quot;,this._forwardLayerEvent),delete this._layers[t],delete this._updates.layers[t],delete this._updates.paintProps[t],this._order.splice(this._order.indexOf(t),1),this._updates.allLayers=!0,this._updates.events.push([&quot;layer.remove&quot;,{layer:e}]),this._updates.changed=!0,this},getLayer:function(t){return this._layers[t]},getReferentLayer:function(t){var e=this.getLayer(t);return e.ref&amp;&amp;(e=this.getLayer(e.ref)),e},setLayerZoomRange:function(t,e,r){this._checkLoaded();var n=this.getReferentLayer(t);return n.minzoom===e&amp;&amp;n.maxzoom===r?this:(null!=e&amp;&amp;(n.minzoom=e),null!=r&amp;&amp;(n.maxzoom=r),this._updateLayer(n))},setFilter:function(t,e){this._checkLoaded();var r=this.getReferentLayer(t);return null!==e&amp;&amp;this._handleErrors(g.filter,&quot;layers.&quot;+r.id+&quot;.filter&quot;,e)?this:u.deepEqual(r.filter,e)?this:(r.filter=u.clone(e),this._updateLayer(r))},getFilter:function(t){return this.getReferentLayer(t).filter},setLayoutProperty:function(t,e,r){this._checkLoaded();var n=this.getReferentLayer(t);return u.deepEqual(n.getLayoutProperty(e),r)?this:(n.setLayoutProperty(e,r),this._updateLayer(n))},getLayoutProperty:function(t,e){return this.getReferentLayer(t).getLayoutProperty(e)},setPaintProperty:function(t,e,r,n){this._checkLoaded();var i=this.getLayer(t);if(u.deepEqual(i.getPaintProperty(e,n),r))return this;var a=i.isPaintValueFeatureConstant(e);i.setPaintProperty(e,r,n);return!(r&amp;&amp;_.isFunctionDefinition(r)&amp;&amp;&quot;$zoom&quot;!==r.property&amp;&amp;void 0!==r.property)&amp;&amp;a||(this._updates.layers[t]=!0,i.source&amp;&amp;(this._updates.sources[i.source]=!0)),this.updateClasses(t,e)},getPaintProperty:function(t,e,r){return this.getLayer(t).getPaintProperty(e,r)},updateClasses:function(t,e){if(this._updates.changed=!0,t){var r=this._updates.paintProps;r[t]||(r[t]={}),r[t][e||&quot;all&quot;]=!0}else this._updates.allPaintProps=!0;return this},serialize:function(){return u.filterObject({version:this.stylesheet.version,name:this.stylesheet.name,metadata:this.stylesheet.metadata,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:u.mapObject(this.sources,function(t){return t.serialize()}),layers:this._order.map(function(t){return this._layers[t].serialize()},this)},function(t){return void 0!==t})},_updateLayer:function(t){return this._updates.layers[t.id]=!0,t.source&amp;&amp;(this._updates.sources[t.source]=!0),this._updates.changed=!0,this},_flattenRenderedFeatures:function(t){for(var e=[],r=this._order.length-1;r&gt;=0;r--)for(var n=this._order[r],i=0;i&lt;t.length;i++){var a=t[i][n];if(a)for(var o=0;o&lt;a.length;o++)e.push(a[o])}return e},queryRenderedFeatures:function(t,e,r,n){e&amp;&amp;e.filter&amp;&amp;this._handleErrors(g.filter,&quot;queryRenderedFeatures.filter&quot;,e.filter,!0);var i={};if(e&amp;&amp;e.layers)for(var a=0;a&lt;e.layers.length;a++){var o=e.layers[a];i[this._layers[o].source]=!0}var s=[];for(var l in this.sources)if(!e.layers||i[l]){var c=this.sources[l],u=y.rendered(c,this._layers,t,e,r,n);s.push(u)}return this._flattenRenderedFeatures(s)},querySourceFeatures:function(t,e){e&amp;&amp;e.filter&amp;&amp;this._handleErrors(g.filter,&quot;querySourceFeatures.filter&quot;,e.filter,!0);var r=this.sources[t];return r?y.source(r,e):[]},addSourceType:function(t,e,r){return v.getType(t)?r(new Error('A source type called &quot;'+t+'&quot; already exists.')):(v.setType(t,e),e.workerSourceURL?void this.dispatcher.broadcast(&quot;load worker source&quot;,{name:t,url:e.workerSourceURL},r):r(null,null))},_handleErrors:function(t,e,r,n,i){var a=n?g.throwErrors:g.emitErrors,o=t.call(g,u.extend({key:e,style:this.serialize(),value:r,styleSpec:b},i));return a.call(g,this,o)},_remove:function(){this.dispatcher.remove()},_reloadSource:function(t){this.sources[t].reload()},_updateSources:function(t){for(var e in this.sources)this.sources[e].update(t)},_redoPlacement:function(){for(var t in this.sources)this.sources[t].redoPlacement&amp;&amp;this.sources[t].redoPlacement()},_forwardSourceEvent:function(t){this.fire(&quot;source.&quot;+t.type,u.extend({source:t.target.getSource()},t))},_forwardTileEvent:function(t){this.fire(t.type,u.extend({source:t.target},t))},_forwardLayerEvent:function(t){this.fire(&quot;layer.&quot;+t.type,u.extend({layer:{id:t.target.id}},t))},&quot;get sprite json&quot;:function(t,e){var r=this.sprite;r.loaded()?e(null,{sprite:r.data,retina:r.retina}):r.on(&quot;load&quot;,function(){e(null,{sprite:r.data,retina:r.retina})})},&quot;get icons&quot;:function(t,e){var r=this.sprite,n=this.spriteAtlas;r.loaded()?(n.setSprite(r),n.addIcons(t.icons,e)):r.on(&quot;load&quot;,function(){n.setSprite(r),n.addIcons(t.icons,e)})},&quot;get glyphs&quot;:function(t,e){function r(t,r,n){t&amp;&amp;console.error(t),a[n]=r,0===--i&amp;&amp;e(null,a)}var n=t.stacks,i=Object.keys(n).length,a={};for(var o in n)this.glyphSource.getSimpleGlyphs(o,n[o],t.uid,r)}})},{&quot;../render/line_atlas&quot;:345,&quot;../source/query_features&quot;:355,&quot;../source/source&quot;:357,&quot;../source/source_cache&quot;:358,&quot;../symbol/glyph_source&quot;:390,&quot;../symbol/sprite_atlas&quot;:395,&quot;../util/ajax&quot;:416,&quot;../util/browser&quot;:417,&quot;../util/dispatcher&quot;:424,&quot;../util/evented&quot;:425,&quot;../util/mapbox&quot;:430,&quot;../util/util&quot;:433,&quot;./animation_loop&quot;:366,&quot;./image_sprite&quot;:367,&quot;./style_function&quot;:371,&quot;./style_layer&quot;:372,&quot;./style_spec&quot;:379,&quot;./validate_style&quot;:381}],370:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;./style_function&quot;),i=t(&quot;./parse_color&quot;),a=t(&quot;../util/util&quot;);e.exports=function(t,e){this.value=a.clone(e),this.isFunction=n.isFunctionDefinition(e),this.json=JSON.stringify(this.value);var r=&quot;color&quot;===t.type&amp;&amp;this.value?i(this.value):e;if(this.calculate=n[t.function||&quot;piecewise-constant&quot;](r),this.isFeatureConstant=this.calculate.isFeatureConstant,this.isZoomConstant=this.calculate.isZoomConstant,&quot;piecewise-constant&quot;===t.function&amp;&amp;t.transition&amp;&amp;(this.calculate=function(t){return function(e,r){var n,i,a,o=e.zoom,s=e.zoomHistory,l=e.duration,c=o%1,u=Math.min((Date.now()-s.lastIntegerZoomTime)/l,1),f=1;return o&gt;s.lastIntegerZoom?(n=c+(1-c)*u,f*=2,i=t({zoom:o-1},r),a=t({zoom:o},r)):(n=1-(1-u)*c,a=t({zoom:o},r),i=t({zoom:o+1},r),f/=2),void 0===i||void 0===a?void 0:{from:i,fromScale:f,to:a,toScale:1,t:n}}}(this.calculate)),!this.isFeatureConstant&amp;&amp;!this.isZoomConstant){this.stopZoomLevels=[];for(var o=[],s=this.value.stops,l=0;l&lt;this.value.stops.length;l++){var c=s[l][0].zoom;this.stopZoomLevels.indexOf(c)&lt;0&amp;&amp;(this.stopZoomLevels.push(c),o.push([c,o.length]))}this.calculateInterpolationT=n.interpolated({stops:o,base:e.base})}}},{&quot;../util/util&quot;:433,&quot;./parse_color&quot;:368,&quot;./style_function&quot;:371}],371:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;mapbox-gl-function&quot;);r.interpolated=function(t){var e=n.interpolated(t),r=function(t,r){return e(t&amp;&amp;t.zoom,r||{})};return r.isFeatureConstant=e.isFeatureConstant,r.isZoomConstant=e.isZoomConstant,r},r[&quot;piecewise-constant&quot;]=function(t){var e=n[&quot;piecewise-constant&quot;](t),r=function(t,r){return e(t&amp;&amp;t.zoom,r||{})};return r.isFeatureConstant=e.isFeatureConstant,r.isZoomConstant=e.isZoomConstant,r},r.isFunctionDefinition=n.isFunctionDefinition},{&quot;mapbox-gl-function&quot;:293}],372:[function(t,e,r){&quot;use strict&quot;;function n(t,e){this.set(t,e)}function i(t){return t.value}var a=t(&quot;../util/util&quot;),o=t(&quot;./style_transition&quot;),s=t(&quot;./style_declaration&quot;),l=t(&quot;./style_spec&quot;),c=t(&quot;./validate_style&quot;),u=t(&quot;./parse_color&quot;),f=t(&quot;../util/evented&quot;);e.exports=n;n.create=function(e,r){return new({background:t(&quot;./style_layer/background_style_layer&quot;),circle:t(&quot;./style_layer/circle_style_layer&quot;),fill:t(&quot;./style_layer/fill_style_layer&quot;),line:t(&quot;./style_layer/line_style_layer&quot;),raster:t(&quot;./style_layer/raster_style_layer&quot;),symbol:t(&quot;./style_layer/symbol_style_layer&quot;)}[(r||e).type])(e,r)},n.prototype=a.inherit(f,{set:function(t,e){this.id=t.id,this.ref=t.ref,this.metadata=t.metadata,this.type=(e||t).type,this.source=(e||t).source,this.sourceLayer=(e||t)[&quot;source-layer&quot;],this.minzoom=(e||t).minzoom,this.maxzoom=(e||t).maxzoom,this.filter=(e||t).filter,this.paint={},this.layout={},this._paintSpecifications=l[&quot;paint_&quot;+this.type],this._layoutSpecifications=l[&quot;layout_&quot;+this.type],this._paintTransitions={},this._paintTransitionOptions={},this._paintDeclarations={},this._layoutDeclarations={},this._layoutFunctions={};var r,n;for(var i in t){var a=i.match(/^paint(?:\.(.*))?$/);if(a){var o=a[1]||&quot;&quot;;for(r in t[i])this.setPaintProperty(r,t[i][r],o)}}if(this.ref)this._layoutDeclarations=e._layoutDeclarations;else for(n in t.layout)this.setLayoutProperty(n,t.layout[n]);for(r in this._paintSpecifications)this.paint[r]=this.getPaintValue(r);for(n in this._layoutSpecifications)this._updateLayoutValue(n)},setLayoutProperty:function(t,e){if(null==e)delete this._layoutDeclarations[t];else{var r=&quot;layers.&quot;+this.id+&quot;.layout.&quot;+t;if(this._handleErrors(c.layoutProperty,r,t,e))return;this._layoutDeclarations[t]=new s(this._layoutSpecifications[t],e)}this._updateLayoutValue(t)},getLayoutProperty:function(t){return this._layoutDeclarations[t]&amp;&amp;this._layoutDeclarations[t].value},getLayoutValue:function(t,e,r){var n=this._layoutSpecifications[t],i=this._layoutDeclarations[t];return i?i.calculate(e,r):n.default},setPaintProperty:function(t,e,r){var n=&quot;layers.&quot;+this.id+(r?'[&quot;paint.'+r+'&quot;].':&quot;.paint.&quot;)+t;if(a.endsWith(t,&quot;-transition&quot;))if(this._paintTransitionOptions[r||&quot;&quot;]||(this._paintTransitionOptions[r||&quot;&quot;]={}),null===e||void 0===e)delete this._paintTransitionOptions[r||&quot;&quot;][t];else{if(this._handleErrors(c.paintProperty,n,t,e))return;this._paintTransitionOptions[r||&quot;&quot;][t]=e}else if(this._paintDeclarations[r||&quot;&quot;]||(this._paintDeclarations[r||&quot;&quot;]={}),null===e||void 0===e)delete this._paintDeclarations[r||&quot;&quot;][t];else{if(this._handleErrors(c.paintProperty,n,t,e))return;this._paintDeclarations[r||&quot;&quot;][t]=new s(this._paintSpecifications[t],e)}},getPaintProperty:function(t,e){return e=e||&quot;&quot;,a.endsWith(t,&quot;-transition&quot;)?this._paintTransitionOptions[e]&amp;&amp;this._paintTransitionOptions[e][t]:this._paintDeclarations[e]&amp;&amp;this._paintDeclarations[e][t]&amp;&amp;this._paintDeclarations[e][t].value},getPaintValue:function(t,e,r){var n=this._paintSpecifications[t],i=this._paintTransitions[t];return i?i.calculate(e,r):&quot;color&quot;===n.type&amp;&amp;n.default?u(n.default):n.default},getPaintValueStopZoomLevels:function(t){var e=this._paintTransitions[t];return e?e.declaration.stopZoomLevels:[]},getPaintInterpolationT:function(t,e){return this._paintTransitions[t].declaration.calculateInterpolationT({zoom:e})},isPaintValueFeatureConstant:function(t){var e=this._paintTransitions[t];return!e||e.declaration.isFeatureConstant},isLayoutValueFeatureConstant:function(t){var e=this._layoutDeclarations[t];return!e||e.isFeatureConstant},isPaintValueZoomConstant:function(t){var e=this._paintTransitions[t];return!e||e.declaration.isZoomConstant},isHidden:function(t){return!!(this.minzoom&amp;&amp;t&lt;this.minzoom)||(!!(this.maxzoom&amp;&amp;t&gt;=this.maxzoom)||(&quot;none&quot;===this.layout.visibility||0===this.paint[this.type+&quot;-opacity&quot;]))},updatePaintTransitions:function(t,e,r,n){for(var i=a.extend({},this._paintDeclarations[&quot;&quot;]),o=0;o&lt;t.length;o++)a.extend(i,this._paintDeclarations[t[o]]);var s;for(s in i)this._applyPaintDeclaration(s,i[s],e,r,n);for(s in this._paintTransitions)s in i||this._applyPaintDeclaration(s,null,e,r,n)},updatePaintTransition:function(t,e,r,n,i){for(var a=this._paintDeclarations[&quot;&quot;][t],o=0;o&lt;e.length;o++){var s=this._paintDeclarations[e[o]];s&amp;&amp;s[t]&amp;&amp;(a=s[t])}this._applyPaintDeclaration(t,a,r,n,i)},recalculate:function(t,e){for(var r in this._paintTransitions)this.paint[r]=this.getPaintValue(r,{zoom:t,zoomHistory:e});for(var n in this._layoutFunctions)this.layout[n]=this.getLayoutValue(n,{zoom:t,zoomHistory:e})},serialize:function(t){var e={id:this.id,ref:this.ref,metadata:this.metadata,minzoom:this.minzoom,maxzoom:this.maxzoom};for(var r in this._paintDeclarations){e[&quot;&quot;===r?&quot;paint&quot;:&quot;paint.&quot;+r]=a.mapObject(this._paintDeclarations[r],i)}return(!this.ref||t&amp;&amp;t.includeRefProperties)&amp;&amp;a.extend(e,{type:this.type,source:this.source,&quot;source-layer&quot;:this.sourceLayer,filter:this.filter,layout:a.mapObject(this._layoutDeclarations,i)}),a.filterObject(e,function(t,e){return void 0!==t&amp;&amp;!(&quot;layout&quot;===e&amp;&amp;!Object.keys(t).length)})},_applyPaintDeclaration:function(t,e,r,n,i){var l=r.transition?this._paintTransitions[t]:void 0,c=this._paintSpecifications[t];if(null!==e&amp;&amp;void 0!==e||(e=new s(c,c.default)),!l||l.declaration.json!==e.json){var u=a.extend({duration:300,delay:0},n,this.getPaintProperty(t+&quot;-transition&quot;)),f=this._paintTransitions[t]=new o(c,e,l,u);f.instant()||(f.loopID=i.set(f.endTime-Date.now())),l&amp;&amp;i.cancel(l.loopID)}},_updateLayoutValue:function(t){var e=this._layoutDeclarations[t];e&amp;&amp;e.isFunction?this._layoutFunctions[t]=!0:(delete this._layoutFunctions[t],this.layout[t]=this.getLayoutValue(t))},_handleErrors:function(t,e,r,n){return c.emitErrors(this,t.call(c,{key:e,layerType:this.type,objectKey:r,value:n,styleSpec:l,style:{glyphs:!0,sprite:!0}}))}})},{&quot;../util/evented&quot;:425,&quot;../util/util&quot;:433,&quot;./parse_color&quot;:368,&quot;./style_declaration&quot;:370,&quot;./style_layer/background_style_layer&quot;:373,&quot;./style_layer/circle_style_layer&quot;:374,&quot;./style_layer/fill_style_layer&quot;:375,&quot;./style_layer/line_style_layer&quot;:376,&quot;./style_layer/raster_style_layer&quot;:377,&quot;./style_layer/symbol_style_layer&quot;:378,&quot;./style_spec&quot;:379,&quot;./style_transition&quot;:380,&quot;./validate_style&quot;:381}],373:[function(t,e,r){&quot;use strict&quot;;function n(){a.apply(this,arguments)}var i=t(&quot;../../util/util&quot;),a=t(&quot;../style_layer&quot;);e.exports=n,n.prototype=i.inherit(a,{})},{&quot;../../util/util&quot;:433,&quot;../style_layer&quot;:372}],374:[function(t,e,r){&quot;use strict&quot;;function n(){a.apply(this,arguments)}var i=t(&quot;../../util/util&quot;),a=t(&quot;../style_layer&quot;);e.exports=n,n.prototype=i.inherit(a,{})},{&quot;../../util/util&quot;:433,&quot;../style_layer&quot;:372}],375:[function(t,e,r){&quot;use strict&quot;;function n(){a.apply(this,arguments)}var i=t(&quot;../../util/util&quot;),a=t(&quot;../style_layer&quot;);n.prototype=i.inherit(a,{getPaintValue:function(t,e,r){return&quot;fill-outline-color&quot;===t&amp;&amp;void 0===this.getPaintProperty(&quot;fill-outline-color&quot;)?a.prototype.getPaintValue.call(this,&quot;fill-color&quot;,e,r):a.prototype.getPaintValue.call(this,t,e,r)},getPaintValueStopZoomLevels:function(t){return&quot;fill-outline-color&quot;===t&amp;&amp;void 0===this.getPaintProperty(&quot;fill-outline-color&quot;)?a.prototype.getPaintValueStopZoomLevels.call(this,&quot;fill-color&quot;):a.prototype.getPaintValueStopZoomLevels.call(this,arguments)},getPaintInterpolationT:function(t,e){return&quot;fill-outline-color&quot;===t&amp;&amp;void 0===this.getPaintProperty(&quot;fill-outline-color&quot;)?a.prototype.getPaintInterpolationT.call(this,&quot;fill-color&quot;,e):a.prototype.getPaintInterpolationT.call(this,t,e)},isPaintValueFeatureConstant:function(t){return&quot;fill-outline-color&quot;===t&amp;&amp;void 0===this.getPaintProperty(&quot;fill-outline-color&quot;)?a.prototype.isPaintValueFeatureConstant.call(this,&quot;fill-color&quot;):a.prototype.isPaintValueFeatureConstant.call(this,t)},isPaintValueZoomConstant:function(t){return&quot;fill-outline-color&quot;===t&amp;&amp;void 0===this.getPaintProperty(&quot;fill-outline-color&quot;)?a.prototype.isPaintValueZoomConstant.call(this,&quot;fill-color&quot;):a.prototype.isPaintValueZoomConstant.call(this,t)}}),e.exports=n},{&quot;../../util/util&quot;:433,&quot;../style_layer&quot;:372}],376:[function(t,e,r){&quot;use strict&quot;;function n(){a.apply(this,arguments)}var i=t(&quot;../../util/util&quot;),a=t(&quot;../style_layer&quot;);e.exports=n,n.prototype=i.inherit(a,{getPaintValue:function(t,e,r){var n=a.prototype.getPaintValue.apply(this,arguments);if(n&amp;&amp;&quot;line-dasharray&quot;===t){var i=Math.floor(e.zoom);this._flooredZoom!==i&amp;&amp;(this._flooredZoom=i,this._flooredLineWidth=this.getPaintValue(&quot;line-width&quot;,e,r)),n.fromScale*=this._flooredLineWidth,n.toScale*=this._flooredLineWidth}return n}})},{&quot;../../util/util&quot;:433,&quot;../style_layer&quot;:372}],377:[function(t,e,r){&quot;use strict&quot;;function n(){a.apply(this,arguments)}var i=t(&quot;../../util/util&quot;),a=t(&quot;../style_layer&quot;);e.exports=n,n.prototype=i.inherit(a,{})},{&quot;../../util/util&quot;:433,&quot;../style_layer&quot;:372}],378:[function(t,e,r){&quot;use strict&quot;;function n(){a.apply(this,arguments)}var i=t(&quot;../../util/util&quot;),a=t(&quot;../style_layer&quot;);e.exports=n,n.prototype=i.inherit(a,{isHidden:function(){if(a.prototype.isHidden.apply(this,arguments))return!0;var t=0===this.paint[&quot;text-opacity&quot;]||!this.layout[&quot;text-field&quot;],e=0===this.paint[&quot;icon-opacity&quot;]||!this.layout[&quot;icon-image&quot;];return!(!t||!e)},getLayoutValue:function(t,e,r){return(&quot;text-rotation-alignment&quot;!==t||&quot;line&quot;!==this.getLayoutValue(&quot;symbol-placement&quot;,e,r)||this.getLayoutProperty(&quot;text-rotation-alignment&quot;))&amp;&amp;(&quot;icon-rotation-alignment&quot;!==t||&quot;line&quot;!==this.getLayoutValue(&quot;symbol-placement&quot;,e,r)||this.getLayoutProperty(&quot;icon-rotation-alignment&quot;))?&quot;text-pitch-alignment&quot;!==t||this.getLayoutProperty(&quot;text-pitch-alignment&quot;)?a.prototype.getLayoutValue.apply(this,arguments):this.getLayoutValue(&quot;text-rotation-alignment&quot;):&quot;map&quot;}})},{&quot;../../util/util&quot;:433,&quot;../style_layer&quot;:372}],379:[function(t,e,r){&quot;use strict&quot;;e.exports=t(&quot;mapbox-gl-style-spec/reference/latest.min&quot;)},{&quot;mapbox-gl-style-spec/reference/latest.min&quot;:316}],380:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,n){this.declaration=e,this.startTime=this.endTime=(new Date).getTime(),&quot;piecewise-constant&quot;===t.function&amp;&amp;t.transition?this.interp=i:this.interp=o[t.type],this.oldTransition=r,this.duration=n.duration||0,this.delay=n.delay||0,this.instant()||(this.endTime=this.startTime+this.duration+this.delay,this.ease=a.easeCubicInOut),r&amp;&amp;r.endTime&lt;=this.startTime&amp;&amp;delete r.oldTransition}function i(t,e,r){return void 0===(t&amp;&amp;t.to)||void 0===(e&amp;&amp;e.to)?void 0:{from:t.to,fromScale:t.toScale,to:e.to,toScale:e.toScale,t:r}}var a=t(&quot;../util/util&quot;),o=t(&quot;../util/interpolate&quot;);e.exports=n,n.prototype.instant=function(){return!this.oldTransition||!this.interp||0===this.duration&amp;&amp;0===this.delay},n.prototype.calculate=function(t,e){var r=this.declaration.calculate(a.extend({},t,{duration:this.duration}),e);if(this.instant())return r;var n=t.time||Date.now();if(n&lt;this.endTime){var i=this.oldTransition.calculate(a.extend({},t,{time:this.startTime}),e),o=this.ease((n-this.startTime-this.delay)/this.duration);r=this.interp(i,r,o)}return r}},{&quot;../util/interpolate&quot;:427,&quot;../util/util&quot;:433}],381:[function(t,e,r){&quot;use strict&quot;;e.exports=t(&quot;mapbox-gl-style-spec/lib/validate_style.min&quot;),e.exports.emitErrors=function(t,e){if(e&amp;&amp;e.length){for(var r=0;r&lt;e.length;r++)t.fire(&quot;error&quot;,{error:new Error(e[r].message)});return!0}return!1},e.exports.throwErrors=function(t,e){if(e)for(var r=0;r&lt;e.length;r++)throw new Error(e[r].message)}},{&quot;mapbox-gl-style-spec/lib/validate_style.min&quot;:315}],382:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,n){this.x=t,this.y=e,this.angle=r,void 0!==n&amp;&amp;(this.segment=n)}var i=t(&quot;point-geometry&quot;);e.exports=n,(n.prototype=Object.create(i.prototype)).clone=function(){return new n(this.x,this.y,this.angle,this.segment)}},{&quot;point-geometry&quot;:477}],383:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t,e,r,n,i){if(void 0===e.segment)return!0;for(var a=e,o=e.segment+1,s=0;s&gt;-r/2;){if(--o&lt;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&lt;r/2;){var u=t[o-1],f=t[o],h=t[o+1];if(!h)return!1;var d=u.angleTo(f)-f.angleTo(h);for(d=Math.abs((d+3*Math.PI)%(2*Math.PI)-Math.PI),l.push({distance:s,angleDelta:d}),c+=d;s-l[0].distance&gt;n;)c-=l.shift().angleDelta;if(c&gt;i)return!1;o++,s+=f.dist(h)}return!0}},{}],384:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;point-geometry&quot;);e.exports=function(t,e,r,i,a){for(var o=[],s=0;s&lt;t.length;s++)for(var l,c=t[s],u=0;u&lt;c.length-1;u++){var f=c[u],h=c[u+1];f.x&lt;e&amp;&amp;h.x&lt;e||(f.x&lt;e?f=new n(e,f.y+(h.y-f.y)*((e-f.x)/(h.x-f.x)))._round():h.x&lt;e&amp;&amp;(h=new n(e,f.y+(h.y-f.y)*((e-f.x)/(h.x-f.x)))._round()),f.y&lt;r&amp;&amp;h.y&lt;r||(f.y&lt;r?f=new n(f.x+(h.x-f.x)*((r-f.y)/(h.y-f.y)),r)._round():h.y&lt;r&amp;&amp;(h=new n(f.x+(h.x-f.x)*((r-f.y)/(h.y-f.y)),r)._round()),f.x&gt;=i&amp;&amp;h.x&gt;=i||(f.x&gt;=i?f=new n(i,f.y+(h.y-f.y)*((i-f.x)/(h.x-f.x)))._round():h.x&gt;=i&amp;&amp;(h=new n(i,f.y+(h.y-f.y)*((i-f.x)/(h.x-f.x)))._round()),f.y&gt;=a&amp;&amp;h.y&gt;=a||(f.y&gt;=a?f=new n(f.x+(h.x-f.x)*((a-f.y)/(h.y-f.y)),a)._round():h.y&gt;=a&amp;&amp;(h=new n(f.x+(h.x-f.x)*((a-f.y)/(h.y-f.y)),a)._round()),l&amp;&amp;f.equals(l[l.length-1])||(l=[f],o.push(l)),l.push(h)))))}return o}},{&quot;point-geometry&quot;:477}],385:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../util/struct_array&quot;),i=t(&quot;../util/util&quot;),a=t(&quot;point-geometry&quot;),o=e.exports=new n({members:[{type:&quot;Int16&quot;,name:&quot;anchorPointX&quot;},{type:&quot;Int16&quot;,name:&quot;anchorPointY&quot;},{type:&quot;Int16&quot;,name:&quot;x1&quot;},{type:&quot;Int16&quot;,name:&quot;y1&quot;},{type:&quot;Int16&quot;,name:&quot;x2&quot;},{type:&quot;Int16&quot;,name:&quot;y2&quot;},{type:&quot;Float32&quot;,name:&quot;maxScale&quot;},{type:&quot;Uint32&quot;,name:&quot;featureIndex&quot;},{type:&quot;Uint16&quot;,name:&quot;sourceLayerIndex&quot;},{type:&quot;Uint16&quot;,name:&quot;bucketIndex&quot;},{type:&quot;Int16&quot;,name:&quot;bbox0&quot;},{type:&quot;Int16&quot;,name:&quot;bbox1&quot;},{type:&quot;Int16&quot;,name:&quot;bbox2&quot;},{type:&quot;Int16&quot;,name:&quot;bbox3&quot;},{type:&quot;Float32&quot;,name:&quot;placementScale&quot;}]});i.extendAll(o.prototype.StructType.prototype,{get anchorPoint(){return new a(this.anchorPointX,this.anchorPointY)}})},{&quot;../util/struct_array&quot;:431,&quot;../util/util&quot;:433,&quot;point-geometry&quot;:477}],386:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,n,i,a,o,s,l,c,u){var f=o.top*s-l,h=o.bottom*s+l,d=o.left*s-l,p=o.right*s+l;if(this.boxStartIndex=t.length,c){var m=h-f,g=p-d;if(m&gt;0)if(m=Math.max(10*s,m),u){var v=e[r.segment+1].sub(e[r.segment])._unit()._mult(g),y=[r.sub(v),r.add(v)];this._addLineCollisionBoxes(t,y,r,0,g,m,n,i,a)}else this._addLineCollisionBoxes(t,e,r,r.segment,g,m,n,i,a)}else t.emplaceBack(r.x,r.y,d,f,p,h,1/0,n,i,a,0,0,0,0,0);this.boxEndIndex=t.length}e.exports=n,n.prototype._addLineCollisionBoxes=function(t,e,r,n,i,a,o,s,l){var c=a/2,u=Math.floor(i/c),f=-a/2,h=this.boxes,d=r,p=n+1,m=f;do{if(--p&lt;0)return h;m-=e[p].dist(d),d=e[p]}while(m&gt;-i/2);for(var g=e[p].dist(e[p+1]),v=0;v&lt;u;v++){for(var y=-i/2+v*c;m+g&lt;y;){if(m+=g,++p+1&gt;=e.length)return h;g=e[p].dist(e[p+1])}var x=y-m,b=e[p],_=e[p+1].sub(b)._unit()._mult(x)._add(b)._round(),w=i/2/Math.max(Math.abs(y-f)-c/2,0);t.emplaceBack(_.x,_.y,-a/2,-a/2,a/2,a/2,w,o,s,l,0,0,0,0,0)}return h}},{}],387:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r){if(&quot;object&quot;==typeof t){var n=t;r=e,t=n.angle,e=n.pitch,this.grid=new o(n.grid),this.ignoredGrid=new o(n.ignoredGrid)}else this.grid=new o(a,12,6),this.ignoredGrid=new o(a,12,0);this.angle=t,this.pitch=e;var i=Math.sin(t),s=Math.cos(t);if(this.rotationMatrix=[s,-i,i,s],this.reverseRotationMatrix=[s,i,-i,s],this.yStretch=1/Math.cos(e/180*Math.PI),this.yStretch=Math.pow(this.yStretch,1.3),this.collisionBoxArray=r,0===r.length){r.emplaceBack();r.emplaceBack(0,0,0,-32767,0,32767,32767,0,0,0,0,0,0,0,0,0),r.emplaceBack(a,0,0,-32767,0,32767,32767,0,0,0,0,0,0,0,0,0),r.emplaceBack(0,0,-32767,0,32767,0,32767,0,0,0,0,0,0,0,0,0),r.emplaceBack(0,a,-32767,0,32767,0,32767,0,0,0,0,0,0,0,0,0)}this.tempCollisionBox=r.get(0),this.edges=[r.get(1),r.get(2),r.get(3),r.get(4)]}var i=t(&quot;point-geometry&quot;),a=t(&quot;../data/bucket&quot;).EXTENT,o=t(&quot;grid-index&quot;);e.exports=n,n.prototype.serialize=function(){var t={angle:this.angle,pitch:this.pitch,grid:this.grid.toArrayBuffer(),ignoredGrid:this.ignoredGrid.toArrayBuffer()};return{data:t,transferables:[t.grid,t.ignoredGrid]}},n.prototype.minScale=.25,n.prototype.maxScale=2,n.prototype.placeCollisionFeature=function(t,e,r){for(var n=this.collisionBoxArray,a=this.minScale,o=this.rotationMatrix,s=this.yStretch,l=t.boxStartIndex;l&lt;t.boxEndIndex;l++){var c=n.get(l),u=c.anchorPoint._matMult(o),f=u.x,h=u.y,d=f+c.x1,p=h+c.y1*s,m=f+c.x2,g=h+c.y2*s;if(c.bbox0=d,c.bbox1=p,c.bbox2=m,c.bbox3=g,!e)for(var v=this.grid.query(d,p,m,g),y=0;y&lt;v.length;y++){var x=n.get(v[y]),b=x.anchorPoint._matMult(o);if((a=this.getPlacementScale(a,u,c,b,x))&gt;=this.maxScale)return a}if(r){var _;if(this.angle){var w=this.reverseRotationMatrix,M=new i(c.x1,c.y1).matMult(w),k=new i(c.x2,c.y1).matMult(w),A=new i(c.x1,c.y2).matMult(w),T=new i(c.x2,c.y2).matMult(w);(_=this.tempCollisionBox).anchorPointX=c.anchorPoint.x,_.anchorPointY=c.anchorPoint.y,_.x1=Math.min(M.x,k.x,A.x,T.x),_.y1=Math.min(M.y,k.x,A.x,T.x),_.x2=Math.max(M.x,k.x,A.x,T.x),_.y2=Math.max(M.y,k.x,A.x,T.x),_.maxScale=c.maxScale}else _=c;for(var S=0;S&lt;this.edges.length;S++){var E=this.edges[S];if((a=this.getPlacementScale(a,c.anchorPoint,_,E.anchorPoint,E))&gt;=this.maxScale)return a}}}return a},n.prototype.queryRenderedSymbols=function(t,e,r,n,a){var o={},s=[],l=this.collisionBoxArray,c=this.rotationMatrix,u=new i(t,e)._matMult(c),f=this.tempCollisionBox;f.anchorX=u.x,f.anchorY=u.y,f.x1=0,f.y1=0,f.x2=r-t,f.y2=n-e,f.maxScale=a,a=f.maxScale;for(var h=[u.x+f.x1/a,u.y+f.y1/a*this.yStretch,u.x+f.x2/a,u.y+f.y2/a*this.yStretch],d=this.grid.query(h[0],h[1],h[2],h[3]),p=this.ignoredGrid.query(h[0],h[1],h[2],h[3]),m=0;m&lt;p.length;m++)d.push(p[m]);for(var g=0;g&lt;d.length;g++){var v=l.get(d[g]),y=v.sourceLayerIndex,x=v.featureIndex;if(void 0===o[y]&amp;&amp;(o[y]={}),!o[y][x]){var b=v.anchorPoint.matMult(c);this.getPlacementScale(this.minScale,u,f,b,v)&gt;=a&amp;&amp;(o[y][x]=!0,s.push(d[g]))}}return s},n.prototype.getPlacementScale=function(t,e,r,n,i){var a=e.x-n.x,o=e.y-n.y,s=(i.x1-r.x2)/a,l=(i.x2-r.x1)/a,c=(i.y1-r.y2)*this.yStretch/o,u=(i.y2-r.y1)*this.yStretch/o;(isNaN(s)||isNaN(l))&amp;&amp;(s=l=1),(isNaN(c)||isNaN(u))&amp;&amp;(c=u=1);var f=Math.min(Math.max(s,l),Math.max(c,u)),h=i.maxScale,d=r.maxScale;return f&gt;h&amp;&amp;(f=h),f&gt;d&amp;&amp;(f=d),f&gt;t&amp;&amp;f&gt;=i.placementScale&amp;&amp;(t=f),t},n.prototype.insertCollisionFeature=function(t,e,r){for(var n=r?this.ignoredGrid:this.grid,i=this.collisionBoxArray,a=t.boxStartIndex;a&lt;t.boxEndIndex;a++){var o=i.get(a);o.placementScale=e,e&lt;this.maxScale&amp;&amp;n.insert(a,o.bbox0,o.bbox1,o.bbox2,o.bbox3)}}},{&quot;../data/bucket&quot;:320,&quot;grid-index&quot;:275,&quot;point-geometry&quot;:477}],388:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,s,l,c,u,f,h){for(var d=c/2,p=0,m=0;m&lt;t.length-1;m++)p+=t[m].dist(t[m+1]);for(var g=0,v=e-r,y=[],x=0;x&lt;t.length-1;x++){for(var b=t[x],_=t[x+1],w=b.dist(_),M=_.angleTo(b);v+r&lt;g+w;){var k=((v+=r)-g)/w,A=i(b.x,_.x,k),T=i(b.y,_.y,k);if(A&gt;=0&amp;&amp;A&lt;h&amp;&amp;T&gt;=0&amp;&amp;T&lt;h&amp;&amp;v-d&gt;=0&amp;&amp;v+d&lt;=p){var S=new a(A,T,M,x)._round();s&amp;&amp;!o(t,S,c,s,l)||y.push(S)}}g+=w}return f||y.length||u||(y=n(t,g/2,r,s,l,c,u,!0,h)),y}var i=t(&quot;../util/interpolate&quot;),a=t(&quot;../symbol/anchor&quot;),o=t(&quot;./check_max_angle&quot;);e.exports=function(t,e,r,i,a,o,s,l,c){var u=i?.6*o*s:0,f=Math.max(i?i.right-i.left:0,a?a.right-a.left:0),h=0===t[0].x||t[0].x===c||0===t[0].y||t[0].y===c;return e-f*s&lt;e/4&amp;&amp;(e=f*s+e/4),n(t,h?e/2*l%e:(f/2+2*o)*s*l%e,e,u,r,f*s,h,!1,c)}},{&quot;../symbol/anchor&quot;:382,&quot;../util/interpolate&quot;:427,&quot;./check_max_angle&quot;:383}],389:[function(t,e,r){&quot;use strict&quot;;function n(){this.width=o,this.height=o,this.bin=new i(this.width,this.height),this.index={},this.ids={},this.data=new Uint8Array(this.width*this.height)}var i=t(&quot;shelf-pack&quot;),a=t(&quot;../util/util&quot;),o=128;e.exports=n,n.prototype.getGlyphs=function(){var t,e,r,n={};for(var i in this.ids)e=(t=i.split(&quot;#&quot;))[0],r=t[1],n[e]||(n[e]=[]),n[e].push(r);return n},n.prototype.getRects=function(){var t,e,r,n={};for(var i in this.ids)e=(t=i.split(&quot;#&quot;))[0],r=t[1],n[e]||(n[e]={}),n[e][r]=this.index[i];return n},n.prototype.addGlyph=function(t,e,r,n){if(!r)return null;var i=e+&quot;#&quot;+r.id;if(this.index[i])return this.ids[i].indexOf(t)&lt;0&amp;&amp;this.ids[i].push(t),this.index[i];if(!r.bitmap)return null;var o=r.width+2*n,s=r.height+2*n,l=o+2,c=s+2;l+=4-l%4,c+=4-c%4;var u=this.bin.packOne(l,c);if(u||(this.resize(),u=this.bin.packOne(l,c)),!u)return a.warnOnce(&quot;glyph bitmap overflow&quot;),null;this.index[i]=u,this.ids[i]=[t];for(var f=this.data,h=r.bitmap,d=0;d&lt;s;d++)for(var p=this.width*(u.y+d+1)+u.x+1,m=o*d,g=0;g&lt;o;g++)f[p+g]=h[m+g];return this.dirty=!0,u},n.prototype.resize=function(){var t=this.width,e=this.height;if(!(t&gt;=2048||e&gt;=2048)){this.texture&amp;&amp;(this.gl&amp;&amp;this.gl.deleteTexture(this.texture),this.texture=null),this.width*=4,this.height*=4,this.bin.resize(this.width,this.height);for(var r=new ArrayBuffer(this.width*this.height),n=0;n&lt;e;n++){var i=new Uint8Array(this.data.buffer,e*n,t);new Uint8Array(r,e*n*4,t).set(i)}this.data=new Uint8Array(r)}},n.prototype.bind=function(t){this.gl=t,this.texture?t.bindTexture(t.TEXTURE_2D,this.texture):(this.texture=t.createTexture(),t.bindTexture(t.TEXTURE_2D,this.texture),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MAG_FILTER,t.LINEAR),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MIN_FILTER,t.LINEAR),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),t.texImage2D(t.TEXTURE_2D,0,t.ALPHA,this.width,this.height,0,t.ALPHA,t.UNSIGNED_BYTE,null))},n.prototype.updateTexture=function(t){this.bind(t),this.dirty&amp;&amp;(t.texSubImage2D(t.TEXTURE_2D,0,0,0,this.width,this.height,t.ALPHA,t.UNSIGNED_BYTE,this.data),this.dirty=!1)}},{&quot;../util/util&quot;:433,&quot;shelf-pack&quot;:521}],390:[function(t,e,r){&quot;use strict&quot;;function n(t){this.url=t&amp;&amp;a(t),this.atlases={},this.stacks={},this.loading={}}function i(t,e,r){this.advance=t.advance,this.left=t.left-r-1,this.top=t.top+r+1,this.rect=e}var a=t(&quot;../util/mapbox&quot;).normalizeGlyphsURL,o=t(&quot;../util/ajax&quot;).getArrayBuffer,s=t(&quot;../util/glyphs&quot;),l=t(&quot;../symbol/glyph_atlas&quot;),c=t(&quot;pbf&quot;);e.exports=n,n.prototype.getSimpleGlyphs=function(t,e,r,n){void 0===this.stacks[t]&amp;&amp;(this.stacks[t]={}),void 0===this.atlases[t]&amp;&amp;(this.atlases[t]=new l);for(var a,o={},s=this.stacks[t],c=this.atlases[t],u={},f=0,h=0;h&lt;e.length;h++){var d=e[h];if(a=Math.floor(d/256),s[a]){var p=s[a].glyphs[d],m=c.addGlyph(r,t,p,3);p&amp;&amp;(o[d]=new i(p,m,3))}else void 0===u[a]&amp;&amp;(u[a]=[],f++),u[a].push(d)}f||n(void 0,o,t);var g=function(e,a,s){if(!e)for(var l=this.stacks[t][a]=s.stacks[0],h=0;h&lt;u[a].length;h++){var d=u[a][h],p=l.glyphs[d],m=c.addGlyph(r,t,p,3);p&amp;&amp;(o[d]=new i(p,m,3))}--f||n(void 0,o,t)}.bind(this);for(var v in u)this.loadRange(t,v,g)},n.prototype.loadRange=function(t,e,r){if(256*e&gt;65535)return r(&quot;glyphs &gt; 65535 not supported&quot;);void 0===this.loading[t]&amp;&amp;(this.loading[t]={});var n=this.loading[t];if(n[e])n[e].push(r);else{n[e]=[r];var i=function(t,e,r,n){return n=n||&quot;abc&quot;,r.replace(&quot;{s}&quot;,n[t.length%n.length]).replace(&quot;{fontstack}&quot;,t).replace(&quot;{range}&quot;,e)}(t,256*e+&quot;-&quot;+(256*e+255),this.url);o(i,function(t,r){for(var i=!t&amp;&amp;new s(new c(new Uint8Array(r))),a=0;a&lt;n[e].length;a++)n[e][a](t,e,i);delete n[e]})}},n.prototype.getGlyphAtlas=function(t){return this.atlases[t]}},{&quot;../symbol/glyph_atlas&quot;:389,&quot;../util/ajax&quot;:416,&quot;../util/glyphs&quot;:426,&quot;../util/mapbox&quot;:430,pbf:470}],391:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t,e,r){function n(n){u.push(t[n]),f.push(r[n]),h.push(e[n]),d++}function i(t,e,r){var n=c[t];return delete c[t],c[e]=n,f[n][0].pop(),f[n][0]=f[n][0].concat(r[0]),n}function a(t,e,r){var n=l[e];return delete l[e],l[t]=n,f[n][0].shift(),f[n][0]=r[0].concat(f[n][0]),n}function o(t,e,r){var n=r?e[0][e[0].length-1]:e[0][0];return t+&quot;:&quot;+n.x+&quot;:&quot;+n.y}var s,l={},c={},u=[],f=[],h=[],d=0;for(s=0;s&lt;t.length;s++){var p=r[s],m=e[s];if(m){var g=o(m,p),v=o(m,p,!0);if(g in c&amp;&amp;v in l&amp;&amp;c[g]!==l[v]){var y=a(g,v,p),x=i(g,v,f[y]);delete l[g],delete c[v],c[o(m,f[x],!0)]=x,f[y]=null}else g in c?i(g,v,p):v in l?a(g,v,p):(n(s),l[g]=d-1,c[v]=d-1)}else n(s)}return{features:u,textFeatures:h,geometries:f}}},{}],392:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,n,i,a,o,s,l,c){this.anchorPoint=t,this.tl=e,this.tr=r,this.bl=n,this.br=i,this.tex=a,this.anchorAngle=o,this.glyphAngle=s,this.minScale=l,this.maxScale=c}function i(t,e,r,n,i,s){var l=!s;r&lt;0&amp;&amp;(s=!s),s&amp;&amp;i++;var c=new a(e.x,e.y),u=n[i],f=1/0;r=Math.abs(r);for(var h=o;;){var d=c.dist(u),p=r/d,m=Math.atan2(u.y-c.y,u.x-c.x);if(s||(m+=Math.PI),t.push({anchorPoint:c,offset:l?Math.PI:0,minScale:p,maxScale:f,angle:(m+2*Math.PI)%(2*Math.PI)}),p&lt;=h)break;for(c=u;c.equals(u);)if(i+=s?1:-1,!(u=n[i]))return p;var g=u.sub(c)._unit();c=c.sub(g._mult(d)),f=p}return h}var a=t(&quot;point-geometry&quot;);e.exports={getIconQuads:function(t,e,r,i,s,l,c,u,f){var h,d,p,m,g=e.image.rect,v=s.layout,y=e.left-1,x=y+g.w/e.image.pixelRatio,b=e.top-1,_=b+g.h/e.image.pixelRatio;if(&quot;none&quot;!==v[&quot;icon-text-fit&quot;]&amp;&amp;c){var w=x-y,M=_-b,k=v[&quot;text-size&quot;]/24,A=c.left*k,T=c.right*k,S=c.top*k,E=T-A,L=c.bottom*k-S,C=v[&quot;icon-text-fit-padding&quot;][0],z=v[&quot;icon-text-fit-padding&quot;][1],D=v[&quot;icon-text-fit-padding&quot;][2],I=v[&quot;icon-text-fit-padding&quot;][3],P=&quot;width&quot;===v[&quot;icon-text-fit&quot;]?.5*(L-M):0,O=&quot;height&quot;===v[&quot;icon-text-fit&quot;]?.5*(E-w):0,F=&quot;width&quot;===v[&quot;icon-text-fit&quot;]||&quot;both&quot;===v[&quot;icon-text-fit&quot;]?E:w,R=&quot;height&quot;===v[&quot;icon-text-fit&quot;]||&quot;both&quot;===v[&quot;icon-text-fit&quot;]?L:M;h=new a(A+O-I,S+P-C),d=new a(A+O+z+F,S+P-C),p=new a(A+O+z+F,S+P+D+R),m=new a(A+O-I,S+P+D+R)}else h=new a(y,b),d=new a(x,b),p=new a(x,_),m=new a(y,_);var N=s.getLayoutValue(&quot;icon-rotate&quot;,u,f)*Math.PI/180;if(l){var j=i[t.segment];if(t.y===j.y&amp;&amp;t.x===j.x&amp;&amp;t.segment+1&lt;i.length){var B=i[t.segment+1];N+=Math.atan2(t.y-B.y,t.x-B.x)+Math.PI}else N+=Math.atan2(t.y-j.y,t.x-j.x)}if(N){var U=Math.sin(N),V=Math.cos(N),q=[V,-U,U,V];h=h.matMult(q),d=d.matMult(q),m=m.matMult(q),p=p.matMult(q)}return[new n(new a(t.x,t.y),h,d,m,p,e.image.rect,0,0,o,1/0)]},getGlyphQuads:function(t,e,r,s,l,c){for(var u=l.layout[&quot;text-rotate&quot;]*Math.PI/180,f=l.layout[&quot;text-keep-upright&quot;],h=e.positionedGlyphs,d=[],p=0;p&lt;h.length;p++){var m=h[p],g=m.glyph,v=g.rect;if(v){var y,x=(m.x+g.advance/2)*r,b=o;c?(b=i(y=[],t,x,s,t.segment,!0),f&amp;&amp;(b=Math.min(b,i(y,t,x,s,t.segment,!1)))):y=[{anchorPoint:new a(t.x,t.y),offset:0,angle:0,maxScale:1/0,minScale:o}];for(var _=m.x+g.left,w=m.y-g.top,M=_+v.w,k=w+v.h,A=new a(_,w),T=new a(M,w),S=new a(_,k),E=new a(M,k),L=0;L&lt;y.length;L++){var C=y[L],z=A,D=T,I=S,P=E;if(u){var O=Math.sin(u),F=Math.cos(u),R=[F,-O,O,F];z=z.matMult(R),D=D.matMult(R),I=I.matMult(R),P=P.matMult(R)}var N=Math.max(C.minScale,b),j=(t.angle+C.offset+2*Math.PI)%(2*Math.PI),B=(C.angle+C.offset+2*Math.PI)%(2*Math.PI);d.push(new n(C.anchorPoint,z,D,I,P,v,j,B,N,C.maxScale))}}}return d},SymbolQuad:n};var o=.5},{&quot;point-geometry&quot;:477}],393:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../util/token&quot;);e.exports=function(t,e,r){for(var i=[],a=0,o=t.length;a&lt;o;a++){var s=n(t[a].properties,e[&quot;text-field&quot;]);if(s){s=s.toString();var l=e[&quot;text-transform&quot;];&quot;uppercase&quot;===l?s=s.toLocaleUpperCase():&quot;lowercase&quot;===l&amp;&amp;(s=s.toLocaleLowerCase());for(var c=0;c&lt;s.length;c++)r[s.charCodeAt(c)]=!0;i[a]=s}else i[a]=null}return i}},{&quot;../util/token&quot;:432}],394:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,n){this.codePoint=t,this.x=e,this.y=r,this.glyph=n}function i(t,e,r,n,i){for(var a=e[t[n].codePoint].advance,o=(t[n].x+a)*i,s=r;s&lt;=n;s++)t[s].x-=o}e.exports={shapeText:function(t,e,r,s,l,c,u,f,h){for(var d=[],p=new function(t,e,r,n,i,a){this.positionedGlyphs=t,this.text=e,this.top=r,this.bottom=n,this.left=i,this.right=a}(d,t,h[1],h[1],h[0],h[0]),m=0,g=0;g&lt;t.length;g++){var v=t.charCodeAt(g),y=e[v];y&amp;&amp;(d.push(new n(v,m,-17,y)),m+=y.advance+f)}return!!d.length&amp;&amp;(function(t,e,r,n,s,l,c,u){var f=null,h=0,d=0,p=0,m=0,g=t.positionedGlyphs;if(n)for(var v=0;v&lt;g.length;v++){var y=g[v];if(y.x-=h,y.y+=r*p,y.x&gt;n&amp;&amp;null!==f){var x=g[f+1].x;m=Math.max(x,m);for(var b=f+1;b&lt;=v;b++)g[b].y+=r,g[b].x-=x;if(c){var _=f;a[g[f].codePoint]&amp;&amp;_--,i(g,e,d,_,c)}d=f+1,f=null,h+=x,p++}o[y.codePoint]&amp;&amp;(f=v)}var w=g[g.length-1],M=w.x+e[w.codePoint].advance;m=Math.max(m,M);var k=(p+1)*r;i(g,e,d,g.length-1,c),function(t,e,r,n,i,a,o,s){for(var l=(e-r)*i+s[0],c=(-n*(o+1)+.5)*a+s[1],u=0;u&lt;t.length;u++)t[u].x+=l,t[u].y+=c}(g,c,s,l,m,r,p,u),t.top+=-l*k,t.bottom=t.top+k,t.left+=-s*m,t.right=t.left+m}(p,e,s,r,l,c,u,h),p)},shapeIcon:function(t,e){if(!t||!t.rect)return null;var r=e[&quot;icon-offset&quot;][0],n=e[&quot;icon-offset&quot;][1],i=r-t.width/2,a=i+t.width,o=n-t.height/2;return new function(t,e,r,n,i){this.image=t,this.top=e,this.bottom=r,this.left=n,this.right=i}(t,o,o+t.height,i,a)}};var a={32:!0,8203:!0},o={32:!0,38:!0,43:!0,45:!0,47:!0,173:!0,183:!0,8203:!0,8208:!0,8211:!0}},{}],395:[function(t,e,r){&quot;use strict&quot;;function n(t,e){this.width=t,this.height=e,this.bin=new i(t,e),this.images={},this.data=!1,this.texture=0,this.filter=0,this.pixelRatio=1,this.dirty=!0}var i=t(&quot;shelf-pack&quot;),a=t(&quot;../util/browser&quot;),o=t(&quot;../util/util&quot;);e.exports=n,n.prototype.allocateImage=function(t,e){var r=(t/=this.pixelRatio)+2+(4-(t+2)%4),n=(e/=this.pixelRatio)+2+(4-(e+2)%4),i=this.bin.packOne(r,n);return i||(o.warnOnce(&quot;SpriteAtlas out of space.&quot;),null)},n.prototype.getImage=function(t,e){if(this.images[t])return this.images[t];if(!this.sprite)return null;var r=this.sprite.getSpritePosition(t);if(!r.width||!r.height)return null;var n=this.allocateImage(r.width,r.height);if(!n)return null;var i=new function(t,e,r,n,i){this.rect=t,this.width=e,this.height=r,this.sdf=n,this.pixelRatio=i}(n,r.width/r.pixelRatio,r.height/r.pixelRatio,r.sdf,r.pixelRatio/this.pixelRatio);return this.images[t]=i,this.copy(n,r,e),i},n.prototype.getPosition=function(t,e){var r=this.getImage(t,e),n=r&amp;&amp;r.rect;if(!n)return null;var i=r.width*r.pixelRatio,a=r.height*r.pixelRatio;return{size:[r.width,r.height],tl:[(n.x+1)/this.width,(n.y+1)/this.height],br:[(n.x+1+i)/this.width,(n.y+1+a)/this.height]}},n.prototype.allocate=function(){if(!this.data){var t=Math.floor(this.width*this.pixelRatio),e=Math.floor(this.height*this.pixelRatio);this.data=new Uint32Array(t*e);for(var r=0;r&lt;this.data.length;r++)this.data[r]=0}},n.prototype.copy=function(t,e,r){if(this.sprite.img.data){var n=new Uint32Array(this.sprite.img.data.buffer);this.allocate();var i=this.data;!function(t,e,r,n,i,a,o,s,l,c,u){var f,h,d=n*e+r,p=s*a+o;if(u)for(p-=a,h=-1;h&lt;=c;h++,d=((h+c)%c+n)*e+r,p+=a)for(f=-1;f&lt;=l;f++)i[p+f]=t[d+(f+l)%l];else for(h=0;h&lt;c;h++,d+=e,p+=a)for(f=0;f&lt;l;f++)i[p+f]=t[d+f]}(n,this.sprite.img.width,e.x,e.y,i,this.width*this.pixelRatio,(t.x+1)*this.pixelRatio,(t.y+1)*this.pixelRatio,e.width,e.height,r),this.dirty=!0}},n.prototype.setSprite=function(t){t&amp;&amp;(this.pixelRatio=a.devicePixelRatio&gt;1?2:1,this.canvas&amp;&amp;(this.canvas.width=this.width*this.pixelRatio,this.canvas.height=this.height*this.pixelRatio)),this.sprite=t},n.prototype.addIcons=function(t,e){for(var r=0;r&lt;t.length;r++)this.getImage(t[r]);e(null,this.images)},n.prototype.bind=function(t,e){var r=!1;this.texture?t.bindTexture(t.TEXTURE_2D,this.texture):(this.texture=t.createTexture(),t.bindTexture(t.TEXTURE_2D,this.texture),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),r=!0);var n=e?t.LINEAR:t.NEAREST;n!==this.filter&amp;&amp;(t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MIN_FILTER,n),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MAG_FILTER,n),this.filter=n),this.dirty&amp;&amp;(this.allocate(),r?t.texImage2D(t.TEXTURE_2D,0,t.RGBA,this.width*this.pixelRatio,this.height*this.pixelRatio,0,t.RGBA,t.UNSIGNED_BYTE,new Uint8Array(this.data.buffer)):t.texSubImage2D(t.TEXTURE_2D,0,0,0,this.width*this.pixelRatio,this.height*this.pixelRatio,t.RGBA,t.UNSIGNED_BYTE,new Uint8Array(this.data.buffer)),this.dirty=!1)}},{&quot;../util/browser&quot;:417,&quot;../util/util&quot;:433,&quot;shelf-pack&quot;:521}],396:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../util/struct_array&quot;),i=t(&quot;../util/util&quot;),a=t(&quot;point-geometry&quot;),o=e.exports=new n({members:[{type:&quot;Uint16&quot;,name:&quot;textBoxStartIndex&quot;},{type:&quot;Uint16&quot;,name:&quot;textBoxEndIndex&quot;},{type:&quot;Uint16&quot;,name:&quot;iconBoxStartIndex&quot;},{type:&quot;Uint16&quot;,name:&quot;iconBoxEndIndex&quot;},{type:&quot;Uint16&quot;,name:&quot;glyphQuadStartIndex&quot;},{type:&quot;Uint16&quot;,name:&quot;glyphQuadEndIndex&quot;},{type:&quot;Uint16&quot;,name:&quot;iconQuadStartIndex&quot;},{type:&quot;Uint16&quot;,name:&quot;iconQuadEndIndex&quot;},{type:&quot;Int16&quot;,name:&quot;anchorPointX&quot;},{type:&quot;Int16&quot;,name:&quot;anchorPointY&quot;},{type:&quot;Int8&quot;,name:&quot;index&quot;}]});i.extendAll(o.prototype.StructType.prototype,{get anchorPoint(){return new a(this.anchorPointX,this.anchorPointY)}})},{&quot;../util/struct_array&quot;:431,&quot;../util/util&quot;:433,&quot;point-geometry&quot;:477}],397:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../util/struct_array&quot;),i=t(&quot;../util/util&quot;),a=t(&quot;point-geometry&quot;),o=t(&quot;./quads&quot;).SymbolQuad,s=e.exports=new n({members:[{type:&quot;Int16&quot;,name:&quot;anchorPointX&quot;},{type:&quot;Int16&quot;,name:&quot;anchorPointY&quot;},{type:&quot;Float32&quot;,name:&quot;tlX&quot;},{type:&quot;Float32&quot;,name:&quot;tlY&quot;},{type:&quot;Float32&quot;,name:&quot;trX&quot;},{type:&quot;Float32&quot;,name:&quot;trY&quot;},{type:&quot;Float32&quot;,name:&quot;blX&quot;},{type:&quot;Float32&quot;,name:&quot;blY&quot;},{type:&quot;Float32&quot;,name:&quot;brX&quot;},{type:&quot;Float32&quot;,name:&quot;brY&quot;},{type:&quot;Int16&quot;,name:&quot;texH&quot;},{type:&quot;Int16&quot;,name:&quot;texW&quot;},{type:&quot;Int16&quot;,name:&quot;texX&quot;},{type:&quot;Int16&quot;,name:&quot;texY&quot;},{type:&quot;Float32&quot;,name:&quot;anchorAngle&quot;},{type:&quot;Float32&quot;,name:&quot;glyphAngle&quot;},{type:&quot;Float32&quot;,name:&quot;maxScale&quot;},{type:&quot;Float32&quot;,name:&quot;minScale&quot;}]});i.extendAll(s.prototype.StructType.prototype,{get anchorPoint(){return new a(this.anchorPointX,this.anchorPointY)},get SymbolQuad(){return new o(this.anchorPoint,new a(this.tlX,this.tlY),new a(this.trX,this.trY),new a(this.blX,this.blY),new a(this.brX,this.brY),{x:this.texX,y:this.texY,h:this.texH,w:this.texW,height:this.texH,width:this.texW},this.anchorAngle,this.glyphAngle,this.minScale,this.maxScale)}})},{&quot;../util/struct_array&quot;:431,&quot;../util/util&quot;:433,&quot;./quads&quot;:392,&quot;point-geometry&quot;:477}],398:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../util/dom&quot;),i=t(&quot;point-geometry&quot;),a={scrollZoom:t(&quot;./handler/scroll_zoom&quot;),boxZoom:t(&quot;./handler/box_zoom&quot;),dragRotate:t(&quot;./handler/drag_rotate&quot;),dragPan:t(&quot;./handler/drag_pan&quot;),keyboard:t(&quot;./handler/keyboard&quot;),doubleClickZoom:t(&quot;./handler/dblclick_zoom&quot;),touchZoomRotate:t(&quot;./handler/touch_zoom_rotate&quot;)};e.exports=function(t,e){function r(){f=null}function o(e,r){var i=n.mousePos(l,r);return t.fire(e,{lngLat:t.unproject(i),point:i,originalEvent:r})}function s(e,r){var a=n.touchPos(l,r),o=a.reduce(function(t,e,r,n){return t.add(e.div(n.length))},new i(0,0));return t.fire(e,{lngLat:t.unproject(o),point:o,lngLats:a.map(function(e){return t.unproject(e)},this),points:a,originalEvent:r})}var l=t.getCanvasContainer(),c=null,u=null,f=null;for(var h in a)t[h]=new a[h](t,e),e.interactive&amp;&amp;e[h]&amp;&amp;t[h].enable();l.addEventListener(&quot;mouseout&quot;,function(t){o(&quot;mouseout&quot;,t)},!1),l.addEventListener(&quot;mousedown&quot;,function(e){t.stop(),u=n.mousePos(l,e),o(&quot;mousedown&quot;,e)},!1),l.addEventListener(&quot;mouseup&quot;,function(e){var r=t.dragRotate&amp;&amp;t.dragRotate.isActive();c&amp;&amp;!r&amp;&amp;o(&quot;contextmenu&quot;,c),c=null,o(&quot;mouseup&quot;,e)},!1),l.addEventListener(&quot;mousemove&quot;,function(e){if(!(t.dragPan&amp;&amp;t.dragPan.isActive()||t.dragRotate&amp;&amp;t.dragRotate.isActive())){for(var r=e.toElement||e.target;r&amp;&amp;r!==l;)r=r.parentNode;r===l&amp;&amp;o(&quot;mousemove&quot;,e)}},!1),l.addEventListener(&quot;touchstart&quot;,function(e){t.stop(),s(&quot;touchstart&quot;,e),!e.touches||e.touches.length&gt;1||(f?(clearTimeout(f),f=null,o(&quot;dblclick&quot;,e)):f=setTimeout(r,300))},!1),l.addEventListener(&quot;touchend&quot;,function(t){s(&quot;touchend&quot;,t)},!1),l.addEventListener(&quot;touchmove&quot;,function(t){s(&quot;touchmove&quot;,t)},!1),l.addEventListener(&quot;touchcancel&quot;,function(t){s(&quot;touchcancel&quot;,t)},!1),l.addEventListener(&quot;click&quot;,function(t){n.mousePos(l,t).equals(u)&amp;&amp;o(&quot;click&quot;,t)},!1),l.addEventListener(&quot;dblclick&quot;,function(t){o(&quot;dblclick&quot;,t),t.preventDefault()},!1),l.addEventListener(&quot;contextmenu&quot;,function(t){c=t,t.preventDefault()},!1)}},{&quot;../util/dom&quot;:419,&quot;./handler/box_zoom&quot;:404,&quot;./handler/dblclick_zoom&quot;:405,&quot;./handler/drag_pan&quot;:406,&quot;./handler/drag_rotate&quot;:407,&quot;./handler/keyboard&quot;:408,&quot;./handler/scroll_zoom&quot;:409,&quot;./handler/touch_zoom_rotate&quot;:410,&quot;point-geometry&quot;:477}],399:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../util/util&quot;),i=t(&quot;../util/interpolate&quot;),a=t(&quot;../util/browser&quot;),o=t(&quot;../geo/lng_lat&quot;),s=t(&quot;../geo/lng_lat_bounds&quot;),l=t(&quot;point-geometry&quot;),c=e.exports=function(){};n.extend(c.prototype,{getCenter:function(){return this.transform.center},setCenter:function(t,e){return this.jumpTo({center:t},e),this},panBy:function(t,e,r){return this.panTo(this.transform.center,n.extend({offset:l.convert(t).mult(-1)},e),r),this},panTo:function(t,e,r){return this.easeTo(n.extend({center:t},e),r)},getZoom:function(){return this.transform.zoom},setZoom:function(t,e){return this.jumpTo({zoom:t},e),this},zoomTo:function(t,e,r){return this.easeTo(n.extend({zoom:t},e),r)},zoomIn:function(t,e){return this.zoomTo(this.getZoom()+1,t,e),this},zoomOut:function(t,e){return this.zoomTo(this.getZoom()-1,t,e),this},getBearing:function(){return this.transform.bearing},setBearing:function(t,e){return this.jumpTo({bearing:t},e),this},rotateTo:function(t,e,r){return this.easeTo(n.extend({bearing:t},e),r)},resetNorth:function(t,e){return this.rotateTo(0,n.extend({duration:1e3},t),e),this},snapToNorth:function(t,e){return Math.abs(this.getBearing())&lt;this._bearingSnap?this.resetNorth(t,e):this},getPitch:function(){return this.transform.pitch},setPitch:function(t,e){return this.jumpTo({pitch:t},e),this},fitBounds:function(t,e,r){e=n.extend({padding:0,offset:[0,0],maxZoom:1/0},e),t=s.convert(t);var i=l.convert(e.offset),a=this.transform,o=a.project(t.getNorthWest()),c=a.project(t.getSouthEast()),u=c.sub(o),f=(a.width-2*e.padding-2*Math.abs(i.x))/u.x,h=(a.height-2*e.padding-2*Math.abs(i.y))/u.y;return e.center=a.unproject(o.add(c).div(2)),e.zoom=Math.min(a.scaleZoom(a.scale*Math.min(f,h)),e.maxZoom),e.bearing=0,e.linear?this.easeTo(e,r):this.flyTo(e,r)},jumpTo:function(t,e){this.stop();var r=this.transform,n=!1,i=!1,a=!1;return&quot;zoom&quot;in t&amp;&amp;r.zoom!==+t.zoom&amp;&amp;(n=!0,r.zoom=+t.zoom),&quot;center&quot;in t&amp;&amp;(r.center=o.convert(t.center)),&quot;bearing&quot;in t&amp;&amp;r.bearing!==+t.bearing&amp;&amp;(i=!0,r.bearing=+t.bearing),&quot;pitch&quot;in t&amp;&amp;r.pitch!==+t.pitch&amp;&amp;(a=!0,r.pitch=+t.pitch),this.fire(&quot;movestart&quot;,e).fire(&quot;move&quot;,e),n&amp;&amp;this.fire(&quot;zoomstart&quot;,e).fire(&quot;zoom&quot;,e).fire(&quot;zoomend&quot;,e),i&amp;&amp;this.fire(&quot;rotate&quot;,e),a&amp;&amp;this.fire(&quot;pitch&quot;,e),this.fire(&quot;moveend&quot;,e)},easeTo:function(t,e){this.stop(),t=n.extend({offset:[0,0],duration:500,easing:n.ease},t);var r,a,s=this.transform,c=l.convert(t.offset),u=this.getZoom(),f=this.getBearing(),h=this.getPitch(),d=&quot;zoom&quot;in t?+t.zoom:u,p=&quot;bearing&quot;in t?this._normalizeBearing(t.bearing,f):f,m=&quot;pitch&quot;in t?+t.pitch:h;&quot;center&quot;in t?(r=o.convert(t.center),a=s.centerPoint.add(c)):&quot;around&quot;in t?(r=o.convert(t.around),a=s.locationPoint(r)):(a=s.centerPoint.add(c),r=s.pointLocation(a));var g=s.locationPoint(r);return!1===t.animate&amp;&amp;(t.duration=0),this.zooming=d!==u,this.rotating=f!==p,this.pitching=m!==h,t.noMoveStart||this.fire(&quot;movestart&quot;,e),this.zooming&amp;&amp;this.fire(&quot;zoomstart&quot;,e),clearTimeout(this._onEaseEnd),this._ease(function(t){this.zooming&amp;&amp;(s.zoom=i(u,d,t)),this.rotating&amp;&amp;(s.bearing=i(f,p,t)),this.pitching&amp;&amp;(s.pitch=i(h,m,t)),s.setLocationAtPoint(r,g.add(a.sub(g)._mult(t))),this.fire(&quot;move&quot;,e),this.zooming&amp;&amp;this.fire(&quot;zoom&quot;,e),this.rotating&amp;&amp;this.fire(&quot;rotate&quot;,e),this.pitching&amp;&amp;this.fire(&quot;pitch&quot;,e)},function(){t.delayEndEvents?this._onEaseEnd=setTimeout(this._easeToEnd.bind(this,e),t.delayEndEvents):this._easeToEnd(e)}.bind(this),t),this},_easeToEnd:function(t){var e=this.zooming;this.zooming=!1,this.rotating=!1,this.pitching=!1,e&amp;&amp;this.fire(&quot;zoomend&quot;,t),this.fire(&quot;moveend&quot;,t)},flyTo:function(t,e){function r(t){var e=(k*k-M*M+(t?-1:1)*E*E*A*A)/(2*(t?k:M)*E*A);return Math.log(Math.sqrt(e*e+1)-e)}function a(t){return(Math.exp(t)-Math.exp(-t))/2}function s(t){return(Math.exp(t)+Math.exp(-t))/2}this.stop(),t=n.extend({offset:[0,0],speed:1.2,curve:1.42,easing:n.ease},t);var c=this.transform,u=l.convert(t.offset),f=this.getZoom(),h=this.getBearing(),d=this.getPitch(),p=&quot;center&quot;in t?o.convert(t.center):this.getCenter(),m=&quot;zoom&quot;in t?+t.zoom:f,g=&quot;bearing&quot;in t?this._normalizeBearing(t.bearing,h):h,v=&quot;pitch&quot;in t?+t.pitch:d;Math.abs(c.center.lng)+Math.abs(p.lng)&gt;180&amp;&amp;(c.center.lng&gt;0&amp;&amp;p.lng&lt;0?p.lng+=360:c.center.lng&lt;0&amp;&amp;p.lng&gt;0&amp;&amp;(p.lng-=360));var y=c.zoomScale(m-f),x=c.point,b=&quot;center&quot;in t?c.project(p).sub(u.div(y)):x,_=c.worldSize,w=t.curve,M=Math.max(c.width,c.height),k=M/y,A=b.sub(x).mag();if(&quot;minZoom&quot;in t){var T=n.clamp(Math.min(t.minZoom,f,m),c.minZoom,c.maxZoom),S=M/c.zoomScale(T-f);w=Math.sqrt(S/A*2)}var E=w*w,L=r(0),C=function(t){return s(L)/s(L+w*t)},z=function(t){return M*((s(L)*function(t){return a(t)/s(t)}(L+w*t)-a(L))/E)/A},D=(r(1)-L)/w;if(Math.abs(A)&lt;1e-6){if(Math.abs(M-k)&lt;1e-6)return this.easeTo(t);var I=k&lt;M?-1:1;D=Math.abs(Math.log(k/M))/w,z=function(){return 0},C=function(t){return Math.exp(I*w*t)}}if(&quot;duration&quot;in t)t.duration=+t.duration;else{var P=&quot;screenSpeed&quot;in t?+t.screenSpeed/w:+t.speed;t.duration=1e3*D/P}return this.zooming=!0,h!==g&amp;&amp;(this.rotating=!0),d!==v&amp;&amp;(this.pitching=!0),this.fire(&quot;movestart&quot;,e),this.fire(&quot;zoomstart&quot;,e),this._ease(function(t){var r=t*D,n=z(r);c.zoom=f+c.scaleZoom(1/C(r)),c.center=c.unproject(x.add(b.sub(x).mult(n)),_),this.rotating&amp;&amp;(c.bearing=i(h,g,t)),this.pitching&amp;&amp;(c.pitch=i(d,v,t)),this.fire(&quot;move&quot;,e),this.fire(&quot;zoom&quot;,e),this.rotating&amp;&amp;this.fire(&quot;rotate&quot;,e),this.pitching&amp;&amp;this.fire(&quot;pitch&quot;,e)},function(){this.zooming=!1,this.rotating=!1,this.pitching=!1,this.fire(&quot;zoomend&quot;,e),this.fire(&quot;moveend&quot;,e)},t),this},isEasing:function(){return!!this._abortFn},stop:function(){return this._abortFn&amp;&amp;(this._abortFn(),this._finishEase()),this},_ease:function(t,e,r){this._finishFn=e,this._abortFn=a.timed(function(e){t.call(this,r.easing(e)),1===e&amp;&amp;this._finishEase()},!1===r.animate?0:r.duration,this)},_finishEase:function(){delete this._abortFn;var t=this._finishFn;delete this._finishFn,t.call(this)},_normalizeBearing:function(t,e){t=n.wrap(t,-180,180);var r=Math.abs(t-e);return Math.abs(t-360-e)&lt;r&amp;&amp;(t-=360),Math.abs(t+360-e)&lt;r&amp;&amp;(t+=360),t},_updateEasing:function(t,e,r){var i;if(this.ease){var a=this.ease,o=(Date.now()-a.start)/a.duration,s=a.easing(o+.01)-a.easing(o),l=.27/Math.sqrt(s*s+1e-4)*.01,c=Math.sqrt(.0729-l*l);i=n.bezier(l,c,.25,1)}else i=r?n.bezier.apply(n,r):n.ease;return this.ease={start:(new Date).getTime(),to:Math.pow(2,e),duration:t,easing:i},i}})},{&quot;../geo/lng_lat&quot;:330,&quot;../geo/lng_lat_bounds&quot;:331,&quot;../util/browser&quot;:417,&quot;../util/interpolate&quot;:427,&quot;../util/util&quot;:433,&quot;point-geometry&quot;:477}],400:[function(t,e,r){&quot;use strict&quot;;function n(t){o.setOptions(this,t)}var i=t(&quot;./control&quot;),a=t(&quot;../../util/dom&quot;),o=t(&quot;../../util/util&quot;);e.exports=n,n.createAttributionString=function(t){var e=[];for(var r in t){var n=t[r];n.attribution&amp;&amp;e.indexOf(n.attribution)&lt;0&amp;&amp;e.push(n.attribution)}return e.sort(function(t,e){return t.length-e.length}),(e=e.filter(function(t,r){for(var n=r+1;n&lt;e.length;n++)if(e[n].indexOf(t)&gt;=0)return!1;return!0})).join(&quot; | &quot;)},n.prototype=o.inherit(i,{options:{position:&quot;bottom-right&quot;},onAdd:function(t){var e=this._container=a.create(&quot;div&quot;,&quot;mapboxgl-ctrl-attrib&quot;,t.getContainer());return this._update(),t.on(&quot;source.load&quot;,this._update.bind(this)),t.on(&quot;source.change&quot;,this._update.bind(this)),t.on(&quot;source.remove&quot;,this._update.bind(this)),t.on(&quot;moveend&quot;,this._updateEditLink.bind(this)),e},_update:function(){this._map.style&amp;&amp;(this._container.innerHTML=n.createAttributionString(this._map.style.sources)),this._editLink=this._container.getElementsByClassName(&quot;mapbox-improve-map&quot;)[0],this._updateEditLink()},_updateEditLink:function(){if(this._editLink){var t=this._map.getCenter();this._editLink.href=&quot;https://www.mapbox.com/map-feedback/#/&quot;+t.lng+&quot;/&quot;+t.lat+&quot;/&quot;+Math.round(this._map.getZoom()+1)}}})},{&quot;../../util/dom&quot;:419,&quot;../../util/util&quot;:433,&quot;./control&quot;:401}],401:[function(t,e,r){&quot;use strict&quot;;function n(){}var i=t(&quot;../../util/util&quot;),a=t(&quot;../../util/evented&quot;);e.exports=n,n.prototype={addTo:function(t){this._map=t;var e=this._container=this.onAdd(t);if(this.options&amp;&amp;this.options.position){var r=this.options.position,n=t._controlCorners[r];e.className+=&quot; mapboxgl-ctrl&quot;,-1!==r.indexOf(&quot;bottom&quot;)?n.insertBefore(e,n.firstChild):n.appendChild(e)}return this},remove:function(){return this._container.parentNode.removeChild(this._container),this.onRemove&amp;&amp;this.onRemove(this._map),this._map=null,this}},i.extend(n.prototype,a)},{&quot;../../util/evented&quot;:425,&quot;../../util/util&quot;:433}],402:[function(t,e,r){&quot;use strict&quot;;function n(t){s.setOptions(this,t)}var i=t(&quot;./control&quot;),a=t(&quot;../../util/browser&quot;),o=t(&quot;../../util/dom&quot;),s=t(&quot;../../util/util&quot;);e.exports=n;var l={enableHighAccuracy:!1,timeout:6e3};n.prototype=s.inherit(i,{options:{position:&quot;top-right&quot;},onAdd:function(t){var e=this._container=o.create(&quot;div&quot;,&quot;mapboxgl-ctrl-group&quot;,t.getContainer());return a.supportsGeolocation?(this._container.addEventListener(&quot;contextmenu&quot;,this._onContextMenu.bind(this)),this._geolocateButton=o.create(&quot;button&quot;,&quot;mapboxgl-ctrl-icon mapboxgl-ctrl-geolocate&quot;,this._container),this._geolocateButton.type=&quot;button&quot;,this._geolocateButton.addEventListener(&quot;click&quot;,this._onClickGeolocate.bind(this)),e):e},_onContextMenu:function(t){t.preventDefault()},_onClickGeolocate:function(){navigator.geolocation.getCurrentPosition(this._success.bind(this),this._error.bind(this),l),this._timeoutId=setTimeout(this._finish.bind(this),1e4)},_success:function(t){this._map.jumpTo({center:[t.coords.longitude,t.coords.latitude],zoom:17,bearing:0,pitch:0}),this.fire(&quot;geolocate&quot;,t),this._finish()},_error:function(t){this.fire(&quot;error&quot;,t),this._finish()},_finish:function(){this._timeoutId&amp;&amp;clearTimeout(this._timeoutId),this._timeoutId=void 0}})},{&quot;../../util/browser&quot;:417,&quot;../../util/dom&quot;:419,&quot;../../util/util&quot;:433,&quot;./control&quot;:401}],403:[function(t,e,r){&quot;use strict&quot;;function n(t){s.setOptions(this,t)}function i(t){return new MouseEvent(t.type,{button:2,buttons:2,bubbles:!0,cancelable:!0,detail:t.detail,view:t.view,screenX:t.screenX,screenY:t.screenY,clientX:t.clientX,clientY:t.clientY,movementX:t.movementX,movementY:t.movementY,ctrlKey:t.ctrlKey,shiftKey:t.shiftKey,altKey:t.altKey,metaKey:t.metaKey})}var a=t(&quot;./control&quot;),o=t(&quot;../../util/dom&quot;),s=t(&quot;../../util/util&quot;);e.exports=n,n.prototype=s.inherit(a,{options:{position:&quot;top-right&quot;},onAdd:function(t){var e=&quot;mapboxgl-ctrl&quot;,r=this._container=o.create(&quot;div&quot;,e+&quot;-group&quot;,t.getContainer());return this._container.addEventListener(&quot;contextmenu&quot;,this._onContextMenu.bind(this)),this._zoomInButton=this._createButton(e+&quot;-icon &quot;+e+&quot;-zoom-in&quot;,t.zoomIn.bind(t)),this._zoomOutButton=this._createButton(e+&quot;-icon &quot;+e+&quot;-zoom-out&quot;,t.zoomOut.bind(t)),this._compass=this._createButton(e+&quot;-icon &quot;+e+&quot;-compass&quot;,t.resetNorth.bind(t)),this._compassArrow=o.create(&quot;div&quot;,&quot;arrow&quot;,this._compass),this._compass.addEventListener(&quot;mousedown&quot;,this._onCompassDown.bind(this)),this._onCompassMove=this._onCompassMove.bind(this),this._onCompassUp=this._onCompassUp.bind(this),t.on(&quot;rotate&quot;,this._rotateCompassArrow.bind(this)),this._rotateCompassArrow(),this._el=t.getCanvasContainer(),r},_onContextMenu:function(t){t.preventDefault()},_onCompassDown:function(t){0===t.button&amp;&amp;(o.disableDrag(),document.addEventListener(&quot;mousemove&quot;,this._onCompassMove),document.addEventListener(&quot;mouseup&quot;,this._onCompassUp),this._el.dispatchEvent(i(t)),t.stopPropagation())},_onCompassMove:function(t){0===t.button&amp;&amp;(this._el.dispatchEvent(i(t)),t.stopPropagation())},_onCompassUp:function(t){0===t.button&amp;&amp;(document.removeEventListener(&quot;mousemove&quot;,this._onCompassMove),document.removeEventListener(&quot;mouseup&quot;,this._onCompassUp),o.enableDrag(),this._el.dispatchEvent(i(t)),t.stopPropagation())},_createButton:function(t,e){var r=o.create(&quot;button&quot;,t,this._container);return r.type=&quot;button&quot;,r.addEventListener(&quot;click&quot;,function(){e()}),r},_rotateCompassArrow:function(){var t=&quot;rotate(&quot;+this._map.transform.angle*(180/Math.PI)+&quot;deg)&quot;;this._compassArrow.style.transform=t}})},{&quot;../../util/dom&quot;:419,&quot;../../util/util&quot;:433,&quot;./control&quot;:401}],404:[function(t,e,r){&quot;use strict&quot;;function n(t){this._map=t,this._el=t.getCanvasContainer(),this._container=t.getContainer(),o.bindHandlers(this)}var i=t(&quot;../../util/dom&quot;),a=t(&quot;../../geo/lng_lat_bounds&quot;),o=t(&quot;../../util/util&quot;);e.exports=n,n.prototype={_enabled:!1,_active:!1,isEnabled:function(){return this._enabled},isActive:function(){return this._active},enable:function(){this.isEnabled()||(this._el.addEventListener(&quot;mousedown&quot;,this._onMouseDown,!1),this._enabled=!0)},disable:function(){this.isEnabled()&amp;&amp;(this._el.removeEventListener(&quot;mousedown&quot;,this._onMouseDown),this._enabled=!1)},_onMouseDown:function(t){t.shiftKey&amp;&amp;0===t.button&amp;&amp;(document.addEventListener(&quot;mousemove&quot;,this._onMouseMove,!1),document.addEventListener(&quot;keydown&quot;,this._onKeyDown,!1),document.addEventListener(&quot;mouseup&quot;,this._onMouseUp,!1),i.disableDrag(),this._startPos=i.mousePos(this._el,t),this._active=!0)},_onMouseMove:function(t){var e=this._startPos,r=i.mousePos(this._el,t);this._box||(this._box=i.create(&quot;div&quot;,&quot;mapboxgl-boxzoom&quot;,this._container),this._container.classList.add(&quot;mapboxgl-crosshair&quot;),this._fireEvent(&quot;boxzoomstart&quot;,t));var n=Math.min(e.x,r.x),a=Math.max(e.x,r.x),o=Math.min(e.y,r.y),s=Math.max(e.y,r.y);i.setTransform(this._box,&quot;translate(&quot;+n+&quot;px,&quot;+o+&quot;px)&quot;),this._box.style.width=a-n+&quot;px&quot;,this._box.style.height=s-o+&quot;px&quot;},_onMouseUp:function(t){if(0===t.button){var e=this._startPos,r=i.mousePos(this._el,t),n=new a(this._map.unproject(e),this._map.unproject(r));this._finish(),e.x===r.x&amp;&amp;e.y===r.y?this._fireEvent(&quot;boxzoomcancel&quot;,t):this._map.fitBounds(n,{linear:!0}).fire(&quot;boxzoomend&quot;,{originalEvent:t,boxZoomBounds:n})}},_onKeyDown:function(t){27===t.keyCode&amp;&amp;(this._finish(),this._fireEvent(&quot;boxzoomcancel&quot;,t))},_finish:function(){this._active=!1,document.removeEventListener(&quot;mousemove&quot;,this._onMouseMove,!1),document.removeEventListener(&quot;keydown&quot;,this._onKeyDown,!1),document.removeEventListener(&quot;mouseup&quot;,this._onMouseUp,!1),this._container.classList.remove(&quot;mapboxgl-crosshair&quot;),this._box&amp;&amp;(this._box.parentNode.removeChild(this._box),this._box=null),i.enableDrag()},_fireEvent:function(t,e){return this._map.fire(t,{originalEvent:e})}}},{&quot;../../geo/lng_lat_bounds&quot;:331,&quot;../../util/dom&quot;:419,&quot;../../util/util&quot;:433}],405:[function(t,e,r){&quot;use strict&quot;;function n(t){this._map=t,this._onDblClick=this._onDblClick.bind(this)}e.exports=n,n.prototype={_enabled:!1,isEnabled:function(){return this._enabled},enable:function(){this.isEnabled()||(this._map.on(&quot;dblclick&quot;,this._onDblClick),this._enabled=!0)},disable:function(){this.isEnabled()&amp;&amp;(this._map.off(&quot;dblclick&quot;,this._onDblClick),this._enabled=!1)},_onDblClick:function(t){this._map.zoomTo(this._map.getZoom()+(t.originalEvent.shiftKey?-1:1),{around:t.lngLat},t)}}},{}],406:[function(t,e,r){&quot;use strict&quot;;function n(t){this._map=t,this._el=t.getCanvasContainer(),a.bindHandlers(this)}var i=t(&quot;../../util/dom&quot;),a=t(&quot;../../util/util&quot;);e.exports=n;var o=a.bezier(0,0,.3,1);n.prototype={_enabled:!1,_active:!1,isEnabled:function(){return this._enabled},isActive:function(){return this._active},enable:function(){this.isEnabled()||(this._el.addEventListener(&quot;mousedown&quot;,this._onDown),this._el.addEventListener(&quot;touchstart&quot;,this._onDown),this._enabled=!0)},disable:function(){this.isEnabled()&amp;&amp;(this._el.removeEventListener(&quot;mousedown&quot;,this._onDown),this._el.removeEventListener(&quot;touchstart&quot;,this._onDown),this._enabled=!1)},_onDown:function(t){this._ignoreEvent(t)||this.isActive()||(t.touches?(document.addEventListener(&quot;touchmove&quot;,this._onMove),document.addEventListener(&quot;touchend&quot;,this._onTouchEnd)):(document.addEventListener(&quot;mousemove&quot;,this._onMove),document.addEventListener(&quot;mouseup&quot;,this._onMouseUp)),this._active=!1,this._startPos=this._pos=i.mousePos(this._el,t),this._inertia=[[Date.now(),this._pos]])},_onMove:function(t){if(!this._ignoreEvent(t)){this.isActive()||(this._active=!0,this._fireEvent(&quot;dragstart&quot;,t),this._fireEvent(&quot;movestart&quot;,t));var e=i.mousePos(this._el,t),r=this._map;r.stop(),this._drainInertiaBuffer(),this._inertia.push([Date.now(),e]),r.transform.setLocationAtPoint(r.transform.pointLocation(this._pos),e),this._fireEvent(&quot;drag&quot;,t),this._fireEvent(&quot;move&quot;,t),this._pos=e,t.preventDefault()}},_onUp:function(t){if(this.isActive()){this._active=!1,this._fireEvent(&quot;dragend&quot;,t),this._drainInertiaBuffer();var e=function(){this._fireEvent(&quot;moveend&quot;,t)}.bind(this),r=this._inertia;if(r.length&lt;2)e();else{var n=r[r.length-1],i=r[0],a=n[1].sub(i[1]),s=(n[0]-i[0])/1e3;if(0===s||n[1].equals(i[1]))e();else{var l=a.mult(.3/s),c=l.mag();c&gt;1400&amp;&amp;(c=1400,l._unit()._mult(c));var u=c/750,f=l.mult(-u/2);this._map.panBy(f,{duration:1e3*u,easing:o,noMoveStart:!0},{originalEvent:t})}}}},_onMouseUp:function(t){this._ignoreEvent(t)||(this._onUp(t),document.removeEventListener(&quot;mousemove&quot;,this._onMove),document.removeEventListener(&quot;mouseup&quot;,this._onMouseUp))},_onTouchEnd:function(t){this._ignoreEvent(t)||(this._onUp(t),document.removeEventListener(&quot;touchmove&quot;,this._onMove),document.removeEventListener(&quot;touchend&quot;,this._onTouchEnd))},_fireEvent:function(t,e){return this._map.fire(t,{originalEvent:e})},_ignoreEvent:function(t){var e=this._map;if(e.boxZoom&amp;&amp;e.boxZoom.isActive())return!0;if(e.dragRotate&amp;&amp;e.dragRotate.isActive())return!0;if(t.touches)return t.touches.length&gt;1;if(t.ctrlKey)return!0;return&quot;mousemove&quot;===t.type?!1&amp;t.buttons:0!==t.button},_drainInertiaBuffer:function(){for(var t=this._inertia,e=Date.now();t.length&gt;0&amp;&amp;e-t[0][0]&gt;160;)t.shift()}}},{&quot;../../util/dom&quot;:419,&quot;../../util/util&quot;:433}],407:[function(t,e,r){&quot;use strict&quot;;function n(t,e){this._map=t,this._el=t.getCanvasContainer(),this._bearingSnap=e.bearingSnap,o.bindHandlers(this)}var i=t(&quot;../../util/dom&quot;),a=t(&quot;point-geometry&quot;),o=t(&quot;../../util/util&quot;);e.exports=n;var s=o.bezier(0,0,.25,1);n.prototype={_enabled:!1,_active:!1,isEnabled:function(){return this._enabled},isActive:function(){return this._active},enable:function(){this.isEnabled()||(this._el.addEventListener(&quot;mousedown&quot;,this._onDown),this._enabled=!0)},disable:function(){this.isEnabled()&amp;&amp;(this._el.removeEventListener(&quot;mousedown&quot;,this._onDown),this._enabled=!1)},_onDown:function(t){if(!this._ignoreEvent(t)&amp;&amp;!this.isActive()){document.addEventListener(&quot;mousemove&quot;,this._onMove),document.addEventListener(&quot;mouseup&quot;,this._onUp),this._active=!1,this._inertia=[[Date.now(),this._map.getBearing()]],this._startPos=this._pos=i.mousePos(this._el,t),this._center=this._map.transform.centerPoint;var e=this._startPos.sub(this._center);e.mag()&lt;200&amp;&amp;(this._center=this._startPos.add(new a(-200,0)._rotate(e.angle()))),t.preventDefault()}},_onMove:function(t){if(!this._ignoreEvent(t)){this.isActive()||(this._active=!0,this._fireEvent(&quot;rotatestart&quot;,t),this._fireEvent(&quot;movestart&quot;,t));var e=this._map;e.stop();var r=this._pos,n=i.mousePos(this._el,t),a=this._center,o=r.sub(a).angleWith(n.sub(a))/Math.PI*180,s=e.getBearing()-o,l=this._inertia,c=l[l.length-1];this._drainInertiaBuffer(),l.push([Date.now(),e._normalizeBearing(s,c[1])]),e.transform.bearing=s,this._fireEvent(&quot;rotate&quot;,t),this._fireEvent(&quot;move&quot;,t),this._pos=n}},_onUp:function(t){if(!this._ignoreEvent(t)&amp;&amp;(document.removeEventListener(&quot;mousemove&quot;,this._onMove),document.removeEventListener(&quot;mouseup&quot;,this._onUp),this.isActive())){this._active=!1,this._fireEvent(&quot;rotateend&quot;,t),this._drainInertiaBuffer();var e=this._map,r=e.getBearing(),n=this._inertia,i=function(){Math.abs(r)&lt;this._bearingSnap?e.resetNorth({noMoveStart:!0},{originalEvent:t}):this._fireEvent(&quot;moveend&quot;,t)}.bind(this);if(n.length&lt;2)i();else{var a=n[0],o=n[n.length-1],l=n[n.length-2],c=e._normalizeBearing(r,l[1]),u=o[1]-a[1],f=u&lt;0?-1:1,h=(o[0]-a[0])/1e3;if(0!==u&amp;&amp;0!==h){var d=Math.abs(u*(.25/h));d&gt;180&amp;&amp;(d=180);var p=d/180;c+=f*d*(p/2),Math.abs(e._normalizeBearing(c,0))&lt;this._bearingSnap&amp;&amp;(c=e._normalizeBearing(0,c)),e.rotateTo(c,{duration:1e3*p,easing:s,noMoveStart:!0},{originalEvent:t})}else i()}}},_fireEvent:function(t,e){return this._map.fire(t,{originalEvent:e})},_ignoreEvent:function(t){var e=this._map;if(e.boxZoom&amp;&amp;e.boxZoom.isActive())return!0;if(e.dragPan&amp;&amp;e.dragPan.isActive())return!0;if(t.touches)return t.touches.length&gt;1;var r=t.ctrlKey?1:2,n=t.ctrlKey?0:2;return&quot;mousemove&quot;===t.type?t.buttons&amp;0===r:t.button!==n},_drainInertiaBuffer:function(){for(var t=this._inertia,e=Date.now();t.length&gt;0&amp;&amp;e-t[0][0]&gt;160;)t.shift()}}},{&quot;../../util/dom&quot;:419,&quot;../../util/util&quot;:433,&quot;point-geometry&quot;:477}],408:[function(t,e,r){&quot;use strict&quot;;function n(t){this._map=t,this._el=t.getCanvasContainer(),this._onKeyDown=this._onKeyDown.bind(this)}e.exports=n;n.prototype={_enabled:!1,isEnabled:function(){return this._enabled},enable:function(){this.isEnabled()||(this._el.addEventListener(&quot;keydown&quot;,this._onKeyDown,!1),this._enabled=!0)},disable:function(){this.isEnabled()&amp;&amp;(this._el.removeEventListener(&quot;keydown&quot;,this._onKeyDown),this._enabled=!1)},_onKeyDown:function(t){if(!(t.altKey||t.ctrlKey||t.metaKey)){var e=this._map,r={originalEvent:t};if(!e.isEasing())switch(t.keyCode){case 61:case 107:case 171:case 187:e.zoomTo(Math.round(e.getZoom())+(t.shiftKey?2:1),r);break;case 189:case 109:case 173:e.zoomTo(Math.round(e.getZoom())-(t.shiftKey?2:1),r);break;case 37:t.shiftKey?e.easeTo({bearing:e.getBearing()-2},r):(t.preventDefault(),e.panBy([-80,0],r));break;case 39:t.shiftKey?e.easeTo({bearing:e.getBearing()+2},r):(t.preventDefault(),e.panBy([80,0],r));break;case 38:t.shiftKey?e.easeTo({pitch:e.getPitch()+5},r):(t.preventDefault(),e.panBy([0,-80],r));break;case 40:t.shiftKey?e.easeTo({pitch:Math.max(e.getPitch()-5,0)},r):(t.preventDefault(),e.panBy([0,80],r))}}}}},{}],409:[function(t,e,r){&quot;use strict&quot;;function n(t){this._map=t,this._el=t.getCanvasContainer(),o.bindHandlers(this)}var i=t(&quot;../../util/dom&quot;),a=t(&quot;../../util/browser&quot;),o=t(&quot;../../util/util&quot;);e.exports=n;var s=&quot;undefined&quot;!=typeof navigator?navigator.userAgent.toLowerCase():&quot;&quot;,l=-1!==s.indexOf(&quot;firefox&quot;),c=-1!==s.indexOf(&quot;safari&quot;)&amp;&amp;-1===s.indexOf(&quot;chrom&quot;);n.prototype={_enabled:!1,isEnabled:function(){return this._enabled},enable:function(){this.isEnabled()||(this._el.addEventListener(&quot;wheel&quot;,this._onWheel,!1),this._el.addEventListener(&quot;mousewheel&quot;,this._onWheel,!1),this._enabled=!0)},disable:function(){this.isEnabled()&amp;&amp;(this._el.removeEventListener(&quot;wheel&quot;,this._onWheel),this._el.removeEventListener(&quot;mousewheel&quot;,this._onWheel),this._enabled=!1)},_onWheel:function(t){var e;&quot;wheel&quot;===t.type?(e=t.deltaY,l&amp;&amp;t.deltaMode===window.WheelEvent.DOM_DELTA_PIXEL&amp;&amp;(e/=a.devicePixelRatio),t.deltaMode===window.WheelEvent.DOM_DELTA_LINE&amp;&amp;(e*=40)):&quot;mousewheel&quot;===t.type&amp;&amp;(e=-t.wheelDeltaY,c&amp;&amp;(e/=3));var r=a.now(),n=r-(this._time||0);this._pos=i.mousePos(this._el,t),this._time=r,0!==e&amp;&amp;e%4.000244140625==0?(this._type=&quot;wheel&quot;,e=Math.floor(e/4)):0!==e&amp;&amp;Math.abs(e)&lt;4?this._type=&quot;trackpad&quot;:n&gt;400?(this._type=null,this._lastValue=e,this._timeout=setTimeout(this._onTimeout,40)):this._type||(this._type=Math.abs(n*e)&lt;200?&quot;trackpad&quot;:&quot;wheel&quot;,this._timeout&amp;&amp;(clearTimeout(this._timeout),this._timeout=null,e+=this._lastValue)),t.shiftKey&amp;&amp;e&amp;&amp;(e/=4),this._type&amp;&amp;this._zoom(-e,t),t.preventDefault()},_onTimeout:function(){this._type=&quot;wheel&quot;,this._zoom(-this._lastValue)},_zoom:function(t,e){if(0!==t){var r=this._map,n=2/(1+Math.exp(-Math.abs(t/100)));t&lt;0&amp;&amp;0!==n&amp;&amp;(n=1/n);var i=r.ease?r.ease.to:r.transform.scale,a=r.transform.scaleZoom(i*n);r.zoomTo(a,{duration:0,around:r.unproject(this._pos),delayEndEvents:200},{originalEvent:e})}}}},{&quot;../../util/browser&quot;:417,&quot;../../util/dom&quot;:419,&quot;../../util/util&quot;:433}],410:[function(t,e,r){&quot;use strict&quot;;function n(t){this._map=t,this._el=t.getCanvasContainer(),a.bindHandlers(this)}var i=t(&quot;../../util/dom&quot;),a=t(&quot;../../util/util&quot;);e.exports=n;var o=a.bezier(0,0,.15,1);n.prototype={_enabled:!1,isEnabled:function(){return this._enabled},enable:function(){this.isEnabled()||(this._el.addEventListener(&quot;touchstart&quot;,this._onStart,!1),this._enabled=!0)},disable:function(){this.isEnabled()&amp;&amp;(this._el.removeEventListener(&quot;touchstart&quot;,this._onStart),this._enabled=!1)},disableRotation:function(){this._rotationDisabled=!0},enableRotation:function(){this._rotationDisabled=!1},_onStart:function(t){if(2===t.touches.length){var e=i.mousePos(this._el,t.touches[0]),r=i.mousePos(this._el,t.touches[1]);this._startVec=e.sub(r),this._startScale=this._map.transform.scale,this._startBearing=this._map.transform.bearing,this._gestureIntent=void 0,this._inertia=[],document.addEventListener(&quot;touchmove&quot;,this._onMove,!1),document.addEventListener(&quot;touchend&quot;,this._onEnd,!1)}},_onMove:function(t){if(2===t.touches.length){var e=i.mousePos(this._el,t.touches[0]),r=i.mousePos(this._el,t.touches[1]),n=e.add(r).div(2),a=e.sub(r),o=a.mag()/this._startVec.mag(),s=this._rotationDisabled?0:180*a.angleWith(this._startVec)/Math.PI,l=this._map;if(this._gestureIntent){var c={duration:0,around:l.unproject(n)};&quot;rotate&quot;===this._gestureIntent&amp;&amp;(c.bearing=this._startBearing+s),&quot;zoom&quot;!==this._gestureIntent&amp;&amp;&quot;rotate&quot;!==this._gestureIntent||(c.zoom=l.transform.scaleZoom(this._startScale*o)),l.stop(),this._drainInertiaBuffer(),this._inertia.push([Date.now(),o,n]),l.easeTo(c,{originalEvent:t})}else{var u=Math.abs(1-o)&gt;.15;Math.abs(s)&gt;4?this._gestureIntent=&quot;rotate&quot;:u&amp;&amp;(this._gestureIntent=&quot;zoom&quot;),this._gestureIntent&amp;&amp;(this._startVec=a,this._startScale=l.transform.scale,this._startBearing=l.transform.bearing)}t.preventDefault()}},_onEnd:function(t){document.removeEventListener(&quot;touchmove&quot;,this._onMove),document.removeEventListener(&quot;touchend&quot;,this._onEnd),this._drainInertiaBuffer();var e=this._inertia,r=this._map;if(e.length&lt;2)r.snapToNorth({},{originalEvent:t});else{var n=e[e.length-1],i=e[0],a=r.transform.scaleZoom(this._startScale*n[1]),s=r.transform.scaleZoom(this._startScale*i[1]),l=a-s,c=(n[0]-i[0])/1e3,u=n[2];if(0!==c&amp;&amp;a!==s){var f=.15*l/c;Math.abs(f)&gt;2.5&amp;&amp;(f=f&gt;0?2.5:-2.5);var h=1e3*Math.abs(f/(12*.15)),d=a+f*h/2e3;d&lt;0&amp;&amp;(d=0),r.easeTo({zoom:d,duration:h,easing:o,around:r.unproject(u)},{originalEvent:t})}else r.snapToNorth({},{originalEvent:t})}},_drainInertiaBuffer:function(){for(var t=this._inertia,e=Date.now();t.length&gt;2&amp;&amp;e-t[0][0]&gt;160;)t.shift()}}},{&quot;../../util/dom&quot;:419,&quot;../../util/util&quot;:433}],411:[function(t,e,r){&quot;use strict&quot;;function n(){i.bindAll([&quot;_onHashChange&quot;,&quot;_updateHash&quot;],this)}e.exports=n;var i=t(&quot;../util/util&quot;);n.prototype={addTo:function(t){return this._map=t,window.addEventListener(&quot;hashchange&quot;,this._onHashChange,!1),this._map.on(&quot;moveend&quot;,this._updateHash),this},remove:function(){return window.removeEventListener(&quot;hashchange&quot;,this._onHashChange,!1),this._map.off(&quot;moveend&quot;,this._updateHash),delete this._map,this},_onHashChange:function(){var t=location.hash.replace(&quot;#&quot;,&quot;&quot;).split(&quot;/&quot;);return t.length&gt;=3&amp;&amp;(this._map.jumpTo({center:[+t[2],+t[1]],zoom:+t[0],bearing:+(t[3]||0)}),!0)},_updateHash:function(){var t=this._map.getCenter(),e=this._map.getZoom(),r=this._map.getBearing(),n=Math.max(0,Math.ceil(Math.log(e)/Math.LN2)),i=&quot;#&quot;+Math.round(100*e)/100+&quot;/&quot;+t.lat.toFixed(n)+&quot;/&quot;+t.lng.toFixed(n)+(r?&quot;/&quot;+Math.round(10*r)/10:&quot;&quot;);window.history.replaceState(&quot;&quot;,&quot;&quot;,i)}}},{&quot;../util/util&quot;:433}],412:[function(t,e,r){&quot;use strict&quot;;function n(t){t.parentNode&amp;&amp;t.parentNode.removeChild(t)}var i=t(&quot;../util/canvas&quot;),a=t(&quot;../util/util&quot;),o=t(&quot;../util/browser&quot;),s=t(&quot;../util/browser&quot;).window,l=t(&quot;../util/evented&quot;),c=t(&quot;../util/dom&quot;),u=t(&quot;../style/style&quot;),f=t(&quot;../style/animation_loop&quot;),h=t(&quot;../render/painter&quot;),d=t(&quot;../geo/transform&quot;),p=t(&quot;./hash&quot;),m=t(&quot;./bind_handlers&quot;),g=t(&quot;./camera&quot;),v=t(&quot;../geo/lng_lat&quot;),y=t(&quot;../geo/lng_lat_bounds&quot;),x=t(&quot;point-geometry&quot;),b=t(&quot;./control/attribution&quot;),_={center:[0,0],zoom:0,bearing:0,pitch:0,minZoom:0,maxZoom:20,interactive:!0,scrollZoom:!0,boxZoom:!0,dragRotate:!0,dragPan:!0,keyboard:!0,doubleClickZoom:!0,touchZoomRotate:!0,bearingSnap:7,hash:!1,attributionControl:!0,failIfMajorPerformanceCaveat:!1,preserveDrawingBuffer:!1,trackResize:!0,workerCount:Math.max(o.hardwareConcurrency-1,1)},w=e.exports=function(t){if((t=a.extend({},_,t)).workerCount&lt;1)throw new Error(&quot;workerCount must an integer greater than or equal to 1.&quot;);this._interactive=t.interactive,this._failIfMajorPerformanceCaveat=t.failIfMajorPerformanceCaveat,this._preserveDrawingBuffer=t.preserveDrawingBuffer,this._trackResize=t.trackResize,this._workerCount=t.workerCount,this._bearingSnap=t.bearingSnap,&quot;string&quot;==typeof t.container?this._container=document.getElementById(t.container):this._container=t.container,this.animationLoop=new f,this.transform=new d(t.minZoom,t.maxZoom),t.maxBounds&amp;&amp;this.setMaxBounds(t.maxBounds),a.bindAll([&quot;_forwardStyleEvent&quot;,&quot;_forwardSourceEvent&quot;,&quot;_forwardLayerEvent&quot;,&quot;_forwardTileEvent&quot;,&quot;_onStyleLoad&quot;,&quot;_onStyleChange&quot;,&quot;_onSourceAdd&quot;,&quot;_onSourceRemove&quot;,&quot;_onSourceUpdate&quot;,&quot;_onWindowOnline&quot;,&quot;_onWindowResize&quot;,&quot;_update&quot;,&quot;_render&quot;],this),this._setupContainer(),this._setupPainter(),this.on(&quot;move&quot;,this._update.bind(this,!1)),this.on(&quot;zoom&quot;,this._update.bind(this,!0)),this.on(&quot;moveend&quot;,function(){this.animationLoop.set(300),this._rerender()}.bind(this)),void 0!==s&amp;&amp;(s.addEventListener(&quot;online&quot;,this._onWindowOnline,!1),s.addEventListener(&quot;resize&quot;,this._onWindowResize,!1)),m(this,t),this._hash=t.hash&amp;&amp;(new p).addTo(this),this._hash&amp;&amp;this._hash._onHashChange()||this.jumpTo({center:t.center,zoom:t.zoom,bearing:t.bearing,pitch:t.pitch}),this.stacks={},this._classes=[],this.resize(),t.classes&amp;&amp;this.setClasses(t.classes),t.style&amp;&amp;this.setStyle(t.style),t.attributionControl&amp;&amp;this.addControl(new b(t.attributionControl));var e=this.fire.bind(this,&quot;error&quot;);this.on(&quot;style.error&quot;,e),this.on(&quot;source.error&quot;,e),this.on(&quot;tile.error&quot;,e),this.on(&quot;layer.error&quot;,e)};a.extend(w.prototype,l),a.extend(w.prototype,g.prototype),a.extend(w.prototype,{addControl:function(t){return t.addTo(this),this},addClass:function(t,e){return this._classes.indexOf(t)&gt;=0||&quot;&quot;===t?this:(this._classes.push(t),this._classOptions=e,this.style&amp;&amp;this.style.updateClasses(),this._update(!0))},removeClass:function(t,e){var r=this._classes.indexOf(t);return r&lt;0||&quot;&quot;===t?this:(this._classes.splice(r,1),this._classOptions=e,this.style&amp;&amp;this.style.updateClasses(),this._update(!0))},setClasses:function(t,e){for(var r={},n=0;n&lt;t.length;n++)&quot;&quot;!==t[n]&amp;&amp;(r[t[n]]=!0);return this._classes=Object.keys(r),this._classOptions=e,this.style&amp;&amp;this.style.updateClasses(),this._update(!0)},hasClass:function(t){return this._classes.indexOf(t)&gt;=0},getClasses:function(){return this._classes},resize:function(){var t=0,e=0;return this._container&amp;&amp;(t=this._container.offsetWidth||400,e=this._container.offsetHeight||300),this._canvas.resize(t,e),this.transform.resize(t,e),this.painter.resize(t,e),this.fire(&quot;movestart&quot;).fire(&quot;move&quot;).fire(&quot;resize&quot;).fire(&quot;moveend&quot;)},getBounds:function(){var t=new y(this.transform.pointLocation(new x(0,0)),this.transform.pointLocation(this.transform.size));return(this.transform.angle||this.transform.pitch)&amp;&amp;(t.extend(this.transform.pointLocation(new x(this.transform.size.x,0))),t.extend(this.transform.pointLocation(new x(0,this.transform.size.y)))),t},setMaxBounds:function(t){if(t){var e=y.convert(t);this.transform.lngRange=[e.getWest(),e.getEast()],this.transform.latRange=[e.getSouth(),e.getNorth()],this.transform._constrain(),this._update()}else null!==t&amp;&amp;void 0!==t||(this.transform.lngRange=[],this.transform.latRange=[],this._update());return this},setMinZoom:function(t){if((t=null===t||void 0===t?0:t)&gt;=0&amp;&amp;t&lt;=this.transform.maxZoom)return this.transform.minZoom=t,this._update(),this.getZoom()&lt;t&amp;&amp;this.setZoom(t),this;throw new Error(&quot;minZoom must be between 0 and the current maxZoom, inclusive&quot;)},setMaxZoom:function(t){if((t=null===t||void 0===t?20:t)&gt;=this.transform.minZoom&amp;&amp;t&lt;=20)return this.transform.maxZoom=t,this._update(),this.getZoom()&gt;t&amp;&amp;this.setZoom(t),this;throw new Error(&quot;maxZoom must be between the current minZoom and 20, inclusive&quot;)},project:function(t){return this.transform.locationPoint(v.convert(t))},unproject:function(t){return this.transform.pointLocation(x.convert(t))},queryRenderedFeatures:function(){var t,e={};return 2===arguments.length?(t=arguments[0],e=arguments[1]):1===arguments.length&amp;&amp;function(t){return t instanceof x||Array.isArray(t)}(arguments[0])?t=arguments[0]:1===arguments.length&amp;&amp;(e=arguments[0]),this.style.queryRenderedFeatures(this._makeQueryGeometry(t),e,this.transform.zoom,this.transform.angle)},_makeQueryGeometry:function(t){void 0===t&amp;&amp;(t=[x.convert([0,0]),x.convert([this.transform.width,this.transform.height])]);var e;if(t instanceof x||&quot;number&quot;==typeof t[0]){e=[x.convert(t)]}else{var r=[x.convert(t[0]),x.convert(t[1])];e=[r[0],new x(r[1].x,r[0].y),r[1],new x(r[0].x,r[1].y),r[0]]}return e=e.map(function(t){return this.transform.pointCoordinate(t)}.bind(this))},querySourceFeatures:function(t,e){return this.style.querySourceFeatures(t,e)},setStyle:function(t){return this.style&amp;&amp;(this.style.off(&quot;load&quot;,this._onStyleLoad).off(&quot;error&quot;,this._forwardStyleEvent).off(&quot;change&quot;,this._onStyleChange).off(&quot;source.add&quot;,this._onSourceAdd).off(&quot;source.remove&quot;,this._onSourceRemove).off(&quot;source.load&quot;,this._onSourceUpdate).off(&quot;source.error&quot;,this._forwardSourceEvent).off(&quot;source.change&quot;,this._onSourceUpdate).off(&quot;layer.add&quot;,this._forwardLayerEvent).off(&quot;layer.remove&quot;,this._forwardLayerEvent).off(&quot;layer.error&quot;,this._forwardLayerEvent).off(&quot;tile.add&quot;,this._forwardTileEvent).off(&quot;tile.remove&quot;,this._forwardTileEvent).off(&quot;tile.load&quot;,this._update).off(&quot;tile.error&quot;,this._forwardTileEvent).off(&quot;tile.stats&quot;,this._forwardTileEvent)._remove(),this.off(&quot;rotate&quot;,this.style._redoPlacement),this.off(&quot;pitch&quot;,this.style._redoPlacement)),t?(this.style=t instanceof u?t:new u(t,this.animationLoop,this._workerCount),this.style.on(&quot;load&quot;,this._onStyleLoad).on(&quot;error&quot;,this._forwardStyleEvent).on(&quot;change&quot;,this._onStyleChange).on(&quot;source.add&quot;,this._onSourceAdd).on(&quot;source.remove&quot;,this._onSourceRemove).on(&quot;source.load&quot;,this._onSourceUpdate).on(&quot;source.error&quot;,this._forwardSourceEvent).on(&quot;source.change&quot;,this._onSourceUpdate).on(&quot;layer.add&quot;,this._forwardLayerEvent).on(&quot;layer.remove&quot;,this._forwardLayerEvent).on(&quot;layer.error&quot;,this._forwardLayerEvent).on(&quot;tile.add&quot;,this._forwardTileEvent).on(&quot;tile.remove&quot;,this._forwardTileEvent).on(&quot;tile.load&quot;,this._update).on(&quot;tile.error&quot;,this._forwardTileEvent).on(&quot;tile.stats&quot;,this._forwardTileEvent),this.on(&quot;rotate&quot;,this.style._redoPlacement),this.on(&quot;pitch&quot;,this.style._redoPlacement),this):(this.style=null,this)},getStyle:function(){if(this.style)return this.style.serialize()},addSource:function(t,e){return this.style.addSource(t,e),this._update(!0),this},addSourceType:function(t,e,r){return this.style.addSourceType(t,e,r)},removeSource:function(t){return this.style.removeSource(t),this._update(!0),this},getSource:function(t){return this.style.getSource(t)},addLayer:function(t,e){return this.style.addLayer(t,e),this._update(!0),this},removeLayer:function(t){return this.style.removeLayer(t),this._update(!0),this},getLayer:function(t){return this.style.getLayer(t)},setFilter:function(t,e){return this.style.setFilter(t,e),this._update(!0),this},setLayerZoomRange:function(t,e,r){return this.style.setLayerZoomRange(t,e,r),this._update(!0),this},getFilter:function(t){return this.style.getFilter(t)},setPaintProperty:function(t,e,r,n){return this.style.setPaintProperty(t,e,r,n),this._update(!0),this},getPaintProperty:function(t,e,r){return this.style.getPaintProperty(t,e,r)},setLayoutProperty:function(t,e,r){return this.style.setLayoutProperty(t,e,r),this._update(!0),this},getLayoutProperty:function(t,e){return this.style.getLayoutProperty(t,e)},getContainer:function(){return this._container},getCanvasContainer:function(){return this._canvasContainer},getCanvas:function(){return this._canvas.getElement()},_setupContainer:function(){var t=this._container;t.classList.add(&quot;mapboxgl-map&quot;);var e=this._canvasContainer=c.create(&quot;div&quot;,&quot;mapboxgl-canvas-container&quot;,t);this._interactive&amp;&amp;e.classList.add(&quot;mapboxgl-interactive&quot;),this._canvas=new i(this,e);var r=this._controlContainer=c.create(&quot;div&quot;,&quot;mapboxgl-control-container&quot;,t),n=this._controlCorners={};[&quot;top-left&quot;,&quot;top-right&quot;,&quot;bottom-left&quot;,&quot;bottom-right&quot;].forEach(function(t){n[t]=c.create(&quot;div&quot;,&quot;mapboxgl-ctrl-&quot;+t,r)})},_setupPainter:function(){var t=this._canvas.getWebGLContext({failIfMajorPerformanceCaveat:this._failIfMajorPerformanceCaveat,preserveDrawingBuffer:this._preserveDrawingBuffer});t?this.painter=new h(t,this.transform):this.fire(&quot;error&quot;,{error:new Error(&quot;Failed to initialize WebGL&quot;)})},_contextLost:function(t){t.preventDefault(),this._frameId&amp;&amp;o.cancelFrame(this._frameId),this.fire(&quot;webglcontextlost&quot;,{originalEvent:t})},_contextRestored:function(t){this._setupPainter(),this.resize(),this._update(),this.fire(&quot;webglcontextrestored&quot;,{originalEvent:t})},loaded:function(){return!this._styleDirty&amp;&amp;!this._sourcesDirty&amp;&amp;!(!this.style||!this.style.loaded())},_update:function(t){return this.style?(this._styleDirty=this._styleDirty||t,this._sourcesDirty=!0,this._rerender(),this):this},_render:function(){try{this.style&amp;&amp;this._styleDirty&amp;&amp;(this._styleDirty=!1,this.style.update(this._classes,this._classOptions),this._classOptions=null,this.style._recalculate(this.transform.zoom)),this.style&amp;&amp;this._sourcesDirty&amp;&amp;(this._sourcesDirty=!1,this.style._updateSources(this.transform)),this.painter.render(this.style,{debug:this.showTileBoundaries,showOverdrawInspector:this._showOverdrawInspector,vertices:this.vertices,rotating:this.rotating,zooming:this.zooming}),this.fire(&quot;render&quot;),this.loaded()&amp;&amp;!this._loaded&amp;&amp;(this._loaded=!0,this.fire(&quot;load&quot;)),this._frameId=null,this.animationLoop.stopped()||(this._styleDirty=!0),(this._sourcesDirty||this._repaint||this._styleDirty)&amp;&amp;this._rerender()}catch(t){this.fire(&quot;error&quot;,{error:t})}return this},remove:function(){this._hash&amp;&amp;this._hash.remove(),o.cancelFrame(this._frameId),this.setStyle(null),void 0!==s&amp;&amp;s.removeEventListener(&quot;resize&quot;,this._onWindowResize,!1);var t=this.painter.gl.getExtension(&quot;WEBGL_lose_context&quot;);t&amp;&amp;t.loseContext(),n(this._canvasContainer),n(this._controlContainer),this._container.classList.remove(&quot;mapboxgl-map&quot;)},_rerender:function(){this.style&amp;&amp;!this._frameId&amp;&amp;(this._frameId=o.frame(this._render))},_forwardStyleEvent:function(t){this.fire(&quot;style.&quot;+t.type,a.extend({style:t.target},t))},_forwardSourceEvent:function(t){this.fire(t.type,a.extend({style:t.target},t))},_forwardLayerEvent:function(t){this.fire(t.type,a.extend({style:t.target},t))},_forwardTileEvent:function(t){this.fire(t.type,a.extend({style:t.target},t))},_onStyleLoad:function(t){this.transform.unmodified&amp;&amp;this.jumpTo(this.style.stylesheet),this.style.update(this._classes,{transition:!1}),this._forwardStyleEvent(t)},_onStyleChange:function(t){this._update(!0),this._forwardStyleEvent(t)},_onSourceAdd:function(t){var e=t.source;e.onAdd&amp;&amp;e.onAdd(this),this._forwardSourceEvent(t)},_onSourceRemove:function(t){var e=t.source;e.onRemove&amp;&amp;e.onRemove(this),this._forwardSourceEvent(t)},_onSourceUpdate:function(t){this._update(),this._forwardSourceEvent(t)},_onWindowOnline:function(){this._update()},_onWindowResize:function(){this._trackResize&amp;&amp;this.stop().resize()._update()}}),a.extendAll(w.prototype,{_showTileBoundaries:!1,get showTileBoundaries(){return this._showTileBoundaries},set showTileBoundaries(t){this._showTileBoundaries!==t&amp;&amp;(this._showTileBoundaries=t,this._update())},_showCollisionBoxes:!1,get showCollisionBoxes(){return this._showCollisionBoxes},set showCollisionBoxes(t){this._showCollisionBoxes!==t&amp;&amp;(this._showCollisionBoxes=t,this.style._redoPlacement())},_showOverdrawInspector:!1,get showOverdrawInspector(){return this._showOverdrawInspector},set showOverdrawInspector(t){this._showOverdrawInspector!==t&amp;&amp;(this._showOverdrawInspector=t,this._update())},_repaint:!1,get repaint(){return this._repaint},set repaint(t){this._repaint=t,this._update()},_vertices:!1,get vertices(){return this._vertices},set vertices(t){this._vertices=t,this._update()}})},{&quot;../geo/lng_lat&quot;:330,&quot;../geo/lng_lat_bounds&quot;:331,&quot;../geo/transform&quot;:332,&quot;../render/painter&quot;:346,&quot;../style/animation_loop&quot;:366,&quot;../style/style&quot;:369,&quot;../util/browser&quot;:417,&quot;../util/canvas&quot;:418,&quot;../util/dom&quot;:419,&quot;../util/evented&quot;:425,&quot;../util/util&quot;:433,&quot;./bind_handlers&quot;:398,&quot;./camera&quot;:399,&quot;./control/attribution&quot;:400,&quot;./hash&quot;:411,&quot;point-geometry&quot;:477}],413:[function(t,e,r){&quot;use strict&quot;;function n(t,e){t||(t=i.create(&quot;div&quot;)),t.classList.add(&quot;mapboxgl-marker&quot;),this._el=t,this._offset=o.convert(e&amp;&amp;e.offset||[0,0]),this._update=this._update.bind(this)}e.exports=n;var i=t(&quot;../util/dom&quot;),a=t(&quot;../geo/lng_lat&quot;),o=t(&quot;point-geometry&quot;);n.prototype={addTo:function(t){return this.remove(),this._map=t,t.getCanvasContainer().appendChild(this._el),t.on(&quot;move&quot;,this._update),this._update(),this},remove:function(){this._map&amp;&amp;(this._map.off(&quot;move&quot;,this._update),this._map=null);var t=this._el.parentNode;return t&amp;&amp;t.removeChild(this._el),this},getLngLat:function(){return this._lngLat},setLngLat:function(t){return this._lngLat=a.convert(t),this._update(),this},getElement:function(){return this._el},_update:function(){if(this._map){var t=this._map.project(this._lngLat)._add(this._offset);i.setTransform(this._el,&quot;translate(&quot;+t.x+&quot;px,&quot;+t.y+&quot;px)&quot;)}}}},{&quot;../geo/lng_lat&quot;:330,&quot;../util/dom&quot;:419,&quot;point-geometry&quot;:477}],414:[function(t,e,r){&quot;use strict&quot;;function n(t){i.setOptions(this,t),i.bindAll([&quot;_update&quot;,&quot;_onClickClose&quot;],this)}e.exports=n;var i=t(&quot;../util/util&quot;),a=t(&quot;../util/evented&quot;),o=t(&quot;../util/dom&quot;),s=t(&quot;../geo/lng_lat&quot;);n.prototype=i.inherit(a,{options:{closeButton:!0,closeOnClick:!0},addTo:function(t){return this._map=t,this._map.on(&quot;move&quot;,this._update),this.options.closeOnClick&amp;&amp;this._map.on(&quot;click&quot;,this._onClickClose),this._update(),this},remove:function(){return this._content&amp;&amp;this._content.parentNode&amp;&amp;this._content.parentNode.removeChild(this._content),this._container&amp;&amp;(this._container.parentNode.removeChild(this._container),delete this._container),this._map&amp;&amp;(this._map.off(&quot;move&quot;,this._update),this._map.off(&quot;click&quot;,this._onClickClose),delete this._map),this.fire(&quot;close&quot;),this},getLngLat:function(){return this._lngLat},setLngLat:function(t){return this._lngLat=s.convert(t),this._update(),this},setText:function(t){return this.setDOMContent(document.createTextNode(t))},setHTML:function(t){var e,r=document.createDocumentFragment(),n=document.createElement(&quot;body&quot;);for(n.innerHTML=t;e=n.firstChild;)r.appendChild(e);return this.setDOMContent(r)},setDOMContent:function(t){return this._createContent(),this._content.appendChild(t),this._update(),this},_createContent:function(){this._content&amp;&amp;this._content.parentNode&amp;&amp;this._content.parentNode.removeChild(this._content),this._content=o.create(&quot;div&quot;,&quot;mapboxgl-popup-content&quot;,this._container),this.options.closeButton&amp;&amp;(this._closeButton=o.create(&quot;button&quot;,&quot;mapboxgl-popup-close-button&quot;,this._content),this._closeButton.type=&quot;button&quot;,this._closeButton.innerHTML=&quot;&amp;#215;&quot;,this._closeButton.addEventListener(&quot;click&quot;,this._onClickClose))},_update:function(){if(this._map&amp;&amp;this._lngLat&amp;&amp;this._content){this._container||(this._container=o.create(&quot;div&quot;,&quot;mapboxgl-popup&quot;,this._map.getContainer()),this._tip=o.create(&quot;div&quot;,&quot;mapboxgl-popup-tip&quot;,this._container),this._container.appendChild(this._content));var t=this._map.project(this._lngLat).round(),e=this.options.anchor;if(!e){var r=this._container.offsetWidth,n=this._container.offsetHeight;e=t.y&lt;n?[&quot;top&quot;]:t.y&gt;this._map.transform.height-n?[&quot;bottom&quot;]:[],t.x&lt;r/2?e.push(&quot;left&quot;):t.x&gt;this._map.transform.width-r/2&amp;&amp;e.push(&quot;right&quot;),e=0===e.length?&quot;bottom&quot;:e.join(&quot;-&quot;)}var i={top:&quot;translate(-50%,0)&quot;,&quot;top-left&quot;:&quot;translate(0,0)&quot;,&quot;top-right&quot;:&quot;translate(-100%,0)&quot;,bottom:&quot;translate(-50%,-100%)&quot;,&quot;bottom-left&quot;:&quot;translate(0,-100%)&quot;,&quot;bottom-right&quot;:&quot;translate(-100%,-100%)&quot;,left:&quot;translate(0,-50%)&quot;,right:&quot;translate(-100%,-50%)&quot;},a=this._container.classList;for(var s in i)a.remove(&quot;mapboxgl-popup-anchor-&quot;+s);a.add(&quot;mapboxgl-popup-anchor-&quot;+e),o.setTransform(this._container,i[e]+&quot; translate(&quot;+t.x+&quot;px,&quot;+t.y+&quot;px)&quot;)}},_onClickClose:function(){this.remove()}})},{&quot;../geo/lng_lat&quot;:330,&quot;../util/dom&quot;:419,&quot;../util/evented&quot;:425,&quot;../util/util&quot;:433}],415:[function(t,e,r){&quot;use strict&quot;;function n(t,e){this.target=t,this.parent=e,this.callbacks={},this.callbackID=0,this.receive=this.receive.bind(this),this.target.addEventListener(&quot;message&quot;,this.receive,!1)}e.exports=n,n.prototype.receive=function(t){function e(t,e,r){this.postMessage({type:&quot;&lt;response&gt;&quot;,id:String(i),error:t?String(t):null,data:e},r)}var r,n=t.data,i=n.id;if(&quot;&lt;response&gt;&quot;===n.type)r=this.callbacks[n.id],delete this.callbacks[n.id],r&amp;&amp;r(n.error||null,n.data);else if(void 0!==n.id&amp;&amp;this.parent[n.type])this.parent[n.type](n.data,e.bind(this));else if(void 0!==n.id&amp;&amp;this.parent.workerSources){var a=n.type.split(&quot;.&quot;);this.parent.workerSources[a[0]][a[1]](n.data,e.bind(this))}else this.parent[n.type](n.data)},n.prototype.send=function(t,e,r,n){var i=null;r&amp;&amp;(this.callbacks[i=this.callbackID++]=r),this.postMessage({type:t,id:String(i),data:e},n)},n.prototype.postMessage=function(t,e){this.target.postMessage(t,e)}},{}],416:[function(t,e,r){&quot;use strict&quot;;function n(t){var e=document.createElement(&quot;a&quot;);return e.href=t,e.protocol===document.location.protocol&amp;&amp;e.host===document.location.host}r.getJSON=function(t,e){var r=new XMLHttpRequest;return r.open(&quot;GET&quot;,t,!0),r.setRequestHeader(&quot;Accept&quot;,&quot;application/json&quot;),r.onerror=function(t){e(t)},r.onload=function(){if(r.status&gt;=200&amp;&amp;r.status&lt;300&amp;&amp;r.response){var t;try{t=JSON.parse(r.response)}catch(t){return e(t)}e(null,t)}else e(new Error(r.statusText))},r.send(),r},r.getArrayBuffer=function(t,e){var r=new XMLHttpRequest;return r.open(&quot;GET&quot;,t,!0),r.responseType=&quot;arraybuffer&quot;,r.onerror=function(t){e(t)},r.onload=function(){r.status&gt;=200&amp;&amp;r.status&lt;300&amp;&amp;r.response?e(null,r.response):e(new Error(r.statusText))},r.send(),r},r.getImage=function(t,e){return r.getArrayBuffer(t,function(t,r){if(t)return e(t);var n=new Image;n.onload=function(){e(null,n),(window.URL||window.webkitURL).revokeObjectURL(n.src)};var i=new Blob([new Uint8Array(r)],{type:&quot;image/png&quot;});return n.src=(window.URL||window.webkitURL).createObjectURL(i),n.getData=function(){var t=document.createElement(&quot;canvas&quot;),e=t.getContext(&quot;2d&quot;);return t.width=n.width,t.height=n.height,e.drawImage(n,0,0),e.getImageData(0,0,n.width,n.height).data},n})},r.getVideo=function(t,e){var r=document.createElement(&quot;video&quot;);r.onloadstart=function(){e(null,r)};for(var i=0;i&lt;t.length;i++){var a=document.createElement(&quot;source&quot;);n(t[i])||(r.crossOrigin=&quot;Anonymous&quot;),a.src=t[i],r.appendChild(a)}return r.getData=function(){return r},r}},{}],417:[function(t,e,r){&quot;use strict&quot;;r.window=window,e.exports.now=window.performance&amp;&amp;window.performance.now?window.performance.now.bind(window.performance):Date.now.bind(Date);var n=window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||window.msRequestAnimationFrame;r.frame=function(t){return n(t)};var i=window.cancelAnimationFrame||window.mozCancelAnimationFrame||window.webkitCancelAnimationFrame||window.msCancelAnimationFrame;r.cancelFrame=function(t){i(t)},r.timed=function(t,n,i){function a(l){o||((l=e.exports.now())&gt;=s+n?t.call(i,1):(t.call(i,(l-s)/n),r.frame(a)))}if(!n)return t.call(i,1),null;var o=!1,s=e.exports.now();return r.frame(a),function(){o=!0}},r.supported=t(&quot;mapbox-gl-supported&quot;),r.hardwareConcurrency=navigator.hardwareConcurrency||4,Object.defineProperty(r,&quot;devicePixelRatio&quot;,{get:function(){return window.devicePixelRatio}}),r.supportsWebp=!1;var a=document.createElement(&quot;img&quot;);a.onload=function(){r.supportsWebp=!0},a.src=&quot;data:image/webp;base64,UklGRh4AAABXRUJQVlA4TBEAAAAvAQAAAAfQ//73v/+BiOh/AAA=&quot;,r.supportsGeolocation=!!navigator.geolocation},{&quot;mapbox-gl-supported&quot;:318}],418:[function(t,e,r){&quot;use strict&quot;;function n(t,e){this.canvas=document.createElement(&quot;canvas&quot;),t&amp;&amp;e&amp;&amp;(this.canvas.style.position=&quot;absolute&quot;,this.canvas.classList.add(&quot;mapboxgl-canvas&quot;),this.canvas.addEventListener(&quot;webglcontextlost&quot;,t._contextLost.bind(t),!1),this.canvas.addEventListener(&quot;webglcontextrestored&quot;,t._contextRestored.bind(t),!1),this.canvas.setAttribute(&quot;tabindex&quot;,0),e.appendChild(this.canvas))}var i=t(&quot;../util&quot;),a=t(&quot;mapbox-gl-supported&quot;);e.exports=n,n.prototype.resize=function(t,e){var r=window.devicePixelRatio||1;this.canvas.width=r*t,this.canvas.height=r*e,this.canvas.style.width=t+&quot;px&quot;,this.canvas.style.height=e+&quot;px&quot;},n.prototype.getWebGLContext=function(t){return t=i.extend({},t,a.webGLContextAttributes),this.canvas.getContext(&quot;webgl&quot;,t)||this.canvas.getContext(&quot;experimental-webgl&quot;,t)},n.prototype.getElement=function(){return this.canvas}},{&quot;../util&quot;:433,&quot;mapbox-gl-supported&quot;:318}],419:[function(t,e,r){&quot;use strict&quot;;function n(t){for(var e=0;e&lt;t.length;e++)if(t[e]in s)return t[e]}function i(t){t.preventDefault(),t.stopPropagation(),window.removeEventListener(&quot;click&quot;,i,!0)}var a=t(&quot;point-geometry&quot;);r.create=function(t,e,r){var n=document.createElement(t);return e&amp;&amp;(n.className=e),r&amp;&amp;r.appendChild(n),n};var o,s=document.documentElement.style,l=n([&quot;userSelect&quot;,&quot;MozUserSelect&quot;,&quot;WebkitUserSelect&quot;,&quot;msUserSelect&quot;]);r.disableDrag=function(){l&amp;&amp;(o=s[l],s[l]=&quot;none&quot;)},r.enableDrag=function(){l&amp;&amp;(s[l]=o)};var c=n([&quot;transform&quot;,&quot;WebkitTransform&quot;]);r.setTransform=function(t,e){t.style[c]=e},r.suppressClick=function(){window.addEventListener(&quot;click&quot;,i,!0),window.setTimeout(function(){window.removeEventListener(&quot;click&quot;,i,!0)},0)},r.mousePos=function(t,e){var r=t.getBoundingClientRect();return e=e.touches?e.touches[0]:e,new a(e.clientX-r.left-t.clientLeft,e.clientY-r.top-t.clientTop)},r.touchPos=function(t,e){for(var r=t.getBoundingClientRect(),n=[],i=0;i&lt;e.touches.length;i++)n.push(new a(e.touches[i].clientX-r.left-t.clientLeft,e.touches[i].clientY-r.top-t.clientTop));return n}},{&quot;point-geometry&quot;:477}],420:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;webworkify&quot;);e.exports=function(){return new n(t(&quot;../../source/worker&quot;))}},{&quot;../../source/worker&quot;:364,webworkify:578}],421:[function(t,e,r){&quot;use strict&quot;;function n(t,e){return e.area-t.area}var i=t(&quot;quickselect&quot;);e.exports=function(t,e){var r=t.length;if(r&lt;=1)return[t];for(var a,o,s=[],l=0;l&lt;r;l++){var c=function(t){for(var e,r,n=0,i=0,a=t.length,o=a-1;i&lt;a;o=i++)e=t[i],n+=((r=t[o]).x-e.x)*(e.y+r.y);return n}(t[l]);0!==c&amp;&amp;(t[l].area=Math.abs(c),void 0===o&amp;&amp;(o=c&lt;0),o===c&lt;0?(a&amp;&amp;s.push(a),a=[t[l]]):a.push(t[l]))}if(a&amp;&amp;s.push(a),e&gt;1)for(var u=0;u&lt;s.length;u++)s[u].length&lt;=e||(i(s[u],e,1,s[u].length-1,n),s[u]=s[u].slice(0,e));return s}},{quickselect:494}],422:[function(t,e,r){&quot;use strict&quot;;e.exports={API_URL:&quot;https://api.mapbox.com&quot;,REQUIRE_ACCESS_TOKEN:!0}},{}],423:[function(t,e,r){&quot;use strict&quot;;function n(t){this._stringToNumber={},this._numberToString=[];for(var e=0;e&lt;t.length;e++){var r=t[e];this._stringToNumber[r]=e,this._numberToString[e]=r}}var i=t(&quot;assert&quot;);e.exports=n,n.prototype.encode=function(t){return i(t in this._stringToNumber),this._stringToNumber[t]},n.prototype.decode=function(t){return i(t&lt;this._numberToString.length),this._numberToString[t]}},{assert:51}],424:[function(t,e,r){&quot;use strict&quot;;function n(t,e){this.actors=[],this.currentActor=0;for(var r=0;r&lt;t;r++){var n=new o,i=new a(n,e);i.name=&quot;Worker &quot;+r,this.actors.push(i)}}var i=t(&quot;./util&quot;),a=t(&quot;./actor&quot;),o=t(&quot;./web_worker&quot;);e.exports=n,n.prototype={broadcast:function(t,e,r){r=r||function(){},i.asyncAll(this.actors,function(r,n){r.send(t,e,n)},r)},send:function(t,e,r,n,i){return(&quot;number&quot;!=typeof n||isNaN(n))&amp;&amp;(n=this.currentActor=(this.currentActor+1)%this.actors.length),this.actors[n].send(t,e,r,i),n},remove:function(){for(var t=0;t&lt;this.actors.length;t++)this.actors[t].target.terminate();this.actors=[]}}},{&quot;./actor&quot;:415,&quot;./util&quot;:433,&quot;./web_worker&quot;:420}],425:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;./util&quot;),i={on:function(t,e){return this._events=this._events||{},this._events[t]=this._events[t]||[],this._events[t].push(e),this},off:function(t,e){if(!t)return delete this._events,this;if(!this.listens(t))return this;if(e){var r=this._events[t].indexOf(e);r&gt;=0&amp;&amp;this._events[t].splice(r,1),this._events[t].length||delete this._events[t]}else delete this._events[t];return this},once:function(t,e){var r=function(n){this.off(t,r),e.call(this,n)}.bind(this);return this.on(t,r),this},fire:function(t,e){if(!this.listens(t))return n.endsWith(t,&quot;error&quot;)&amp;&amp;console.error(e&amp;&amp;e.error||e||&quot;Empty error event&quot;),this;e=n.extend({},e),n.extend(e,{type:t,target:this});for(var r=this._events[t].slice(),i=0;i&lt;r.length;i++)r[i].call(this,e);return this},listens:function(t){return!(!this._events||!this._events[t])}};e.exports=i},{&quot;./util&quot;:433}],426:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r){if(1===t){var n=r.readMessage(i,{glyphs:{}});e.push(n)}}function i(t,e,r){if(1===t)e.name=r.readString();else if(2===t)e.range=r.readString();else if(3===t){var n=r.readMessage(a,{});e.glyphs[n.id]=n}}function a(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&amp;&amp;(e.advance=r.readVarint())}e.exports=function(t,e){this.stacks=t.readFields(n,[],e)}},{}],427:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r){return t*(1-r)+e*r}e.exports=n,n.number=n,n.vec2=function(t,e,r){return[n(t[0],e[0],r),n(t[1],e[1],r)]},n.color=function(t,e,r){return[n(t[0],e[0],r),n(t[1],e[1],r),n(t[2],e[2],r),n(t[3],e[3],r)]},n.array=function(t,e,r){return t.map(function(t,i){return n(t,e[i],r)})}},{}],428:[function(t,e,r){&quot;use strict&quot;;function n(t,e){for(var r=0;r&lt;t.length-1;r++)for(var n=t[r],a=t[r+1],o=0;o&lt;e.length-1;o++){if(function(t,e,r,n){return i(t,r,n)!==i(e,r,n)&amp;&amp;i(t,e,r)!==i(t,e,n)}(n,a,e[o],e[o+1]))return!0}return!1}function i(t,e,r){return(r.y-t.y)*(e.x-t.x)&gt;(e.y-t.y)*(r.x-t.x)}function a(t,e,r){var n=r*r;if(1===e.length)return t.distSqr(e[0])&lt;n;for(var i=1;i&lt;e.length;i++){if(function(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&lt;0?t.distSqr(e):i&gt;1?t.distSqr(r):t.distSqr(r.sub(e)._mult(i)._add(e))}(t,e[i-1],e[i])&lt;n)return!0}return!1}function o(t,e){for(var r,n,i,a=!1,o=0;o&lt;t.length;o++)for(var s=0,l=(r=t[o]).length-1;s&lt;r.length;l=s++)n=r[s],i=r[l],n.y&gt;e.y!=i.y&gt;e.y&amp;&amp;e.x&lt;(i.x-n.x)*(e.y-n.y)/(i.y-n.y)+n.x&amp;&amp;(a=!a);return a}function s(t,e){for(var r=!1,n=0,i=t.length-1;n&lt;t.length;i=n++){var a=t[n],o=t[i];a.y&gt;e.y!=o.y&gt;e.y&amp;&amp;e.x&lt;(o.x-a.x)*(e.y-a.y)/(o.y-a.y)+a.x&amp;&amp;(r=!r)}return r}e.exports={multiPolygonIntersectsBufferedMultiPoint:function(t,e,r){for(var n=0;n&lt;t.length;n++)for(var i=t[n],o=0;o&lt;e.length;o++)for(var l=e[o],c=0;c&lt;l.length;c++){var u=l[c];if(s(i,u))return!0;if(a(u,i,r))return!0}return!1},multiPolygonIntersectsMultiPolygon:function(t,e){if(1===t.length&amp;&amp;1===t[0].length)return o(e,t[0][0]);for(var r=0;r&lt;e.length;r++)for(var i=e[r],a=0;a&lt;i.length;a++)if(o(t,i[a]))return!0;for(var s=0;s&lt;t.length;s++){for(var l=t[s],c=0;c&lt;l.length;c++)if(o(e,l[c]))return!0;for(var u=0;u&lt;e.length;u++)if(n(l,e[u]))return!0}return!1},multiPolygonIntersectsBufferedMultiLine:function(t,e,r){for(var i=0;i&lt;e.length;i++)for(var o=e[i],l=0;l&lt;t.length;l++){var c=t[l];if(c.length&gt;=3)for(var u=0;u&lt;o.length;u++)if(s(c,o[u]))return!0;if(function(t,e,r){if(t.length&gt;1){if(n(t,e))return!0;for(var i=0;i&lt;e.length;i++)if(a(e[i],t,r))return!0}for(var o=0;o&lt;t.length;o++)if(a(t[o],e,r))return!0;return!1}(c,o,r))return!0}return!1}}},{}],429:[function(t,e,r){&quot;use strict&quot;;function n(t,e){this.max=t,this.onRemove=e,this.reset()}e.exports=n,n.prototype.reset=function(){for(var t in this.data)this.onRemove(this.data[t]);return this.data={},this.order=[],this},n.prototype.add=function(t,e){if(this.has(t))this.order.splice(this.order.indexOf(t),1),this.data[t]=e,this.order.push(t);else if(this.data[t]=e,this.order.push(t),this.order.length&gt;this.max){var r=this.get(this.order[0]);r&amp;&amp;this.onRemove(r)}return this},n.prototype.has=function(t){return t in this.data},n.prototype.keys=function(){return this.order},n.prototype.get=function(t){if(!this.has(t))return null;var e=this.data[t];return delete this.data[t],this.order.splice(this.order.indexOf(t),1),e},n.prototype.setMaxSize=function(t){for(this.max=t;this.order.length&gt;this.max;){var e=this.get(this.order[0]);e&amp;&amp;this.onRemove(e)}return this}},{}],430:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r){if(!(r=r||a.ACCESS_TOKEN)&amp;&amp;a.REQUIRE_ACCESS_TOKEN)throw new Error(&quot;An API access token is required to use Mapbox GL. See https://www.mapbox.com/developers/api/#access-tokens&quot;);if(t=t.replace(/^mapbox:\/\//,a.API_URL+e),t+=-1!==t.indexOf(&quot;?&quot;)?&quot;&amp;access_token=&quot;:&quot;?access_token=&quot;,a.REQUIRE_ACCESS_TOKEN){if(&quot;s&quot;===r[0])throw new Error(&quot;Use a public access token (pk.*) with Mapbox GL JS, not a secret access token (sk.*). See https://www.mapbox.com/developers/api/#access-tokens&quot;);t+=r}return t}function i(t){return t?&quot;?&quot;+t:&quot;&quot;}var a=t(&quot;./config&quot;),o=t(&quot;./browser&quot;),s=t(&quot;url&quot;),l=t(&quot;./util&quot;);e.exports.normalizeStyleURL=function(t,e){var r=s.parse(t);return&quot;mapbox:&quot;!==r.protocol?t:n(&quot;mapbox:/&quot;+r.pathname+i(r.query),&quot;/styles/v1/&quot;,e)},e.exports.normalizeSourceURL=function(t,e){return&quot;mapbox:&quot;!==s.parse(t).protocol?t:n(t+&quot;.json&quot;,&quot;/v4/&quot;,e)+&quot;&amp;secure&quot;},e.exports.normalizeGlyphsURL=function(t,e){var r=s.parse(t);if(&quot;mapbox:&quot;!==r.protocol)return t;return n(&quot;mapbox://&quot;+r.pathname.split(&quot;/&quot;)[1]+&quot;/{fontstack}/{range}.pbf&quot;+i(r.query),&quot;/fonts/v1/&quot;,e)},e.exports.normalizeSpriteURL=function(t,e,r,a){var o=s.parse(t);return&quot;mapbox:&quot;!==o.protocol?(o.pathname+=e+r,s.format(o)):n(&quot;mapbox:/&quot;+o.pathname+&quot;/sprite&quot;+e+r+i(o.query),&quot;/styles/v1/&quot;,a)},e.exports.normalizeTileURL=function(t,e,r){var n=s.parse(t,!0);if(!e)return t;if(&quot;mapbox:&quot;!==s.parse(e).protocol)return t;var i=o.supportsWebp?&quot;.webp&quot;:&quot;$1&quot;,c=o.devicePixelRatio&gt;=2||512===r?&quot;@2x&quot;:&quot;&quot;;return s.format({protocol:n.protocol,hostname:n.hostname,pathname:n.pathname.replace(/(\.(?:png|jpg)\d*)/,c+i),query:function(t){return t.access_token&amp;&amp;&quot;tk.&quot;===t.access_token.slice(0,3)?l.extend({},t,{access_token:a.ACCESS_TOKEN}):t}(n.query)})}},{&quot;./browser&quot;:417,&quot;./config&quot;:422,&quot;./util&quot;:433,url:559}],431:[function(t,e,r){&quot;use strict&quot;;function n(){return{members:this.prototype.StructType.prototype.members,alignment:this.prototype.StructType.prototype.alignment,bytesPerElement:this.prototype.bytesPerElement}}function i(t,e){return Math.ceil(t/e)*e}function a(t){return f[t].BYTES_PER_ELEMENT}function o(t){return t.toLowerCase()}function s(t,e){var r=&quot;this._pos&quot;+a(t.type).toFixed(0)+&quot; + &quot;+(t.offset/a(t.type)+e).toFixed(0);return&quot;this._structArray.&quot;+o(t.type)+&quot;[&quot;+r+&quot;]&quot;}function l(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}function c(t){void 0!==t?(this.arrayBuffer=t.arrayBuffer,this.length=t.length,this.capacity=this.arrayBuffer.byteLength/this.bytesPerElement,this._refreshViews()):(this.capacity=-1,this.resize(0))}var u=t(&quot;assert&quot;);e.exports=function(t){function e(){l.apply(this,arguments)}function r(){c.apply(this,arguments),this.members=e.prototype.members}var d=JSON.stringify(t);if(h[d])return h[d];void 0===t.alignment&amp;&amp;(t.alignment=1);var p=0,m=0,g=[&quot;Uint8&quot;];return(e.prototype=Object.create(l.prototype)).members=t.members.map(function(r){r={name:r.name,type:r.type,components:r.components||1},u(r.name.length),u(r.type in f),g.indexOf(r.type)&lt;0&amp;&amp;g.push(r.type);var n=a(r.type);m=Math.max(m,n),r.offset=p=i(p,Math.max(t.alignment,n));for(var o=0;o&lt;r.components;o++)Object.defineProperty(e.prototype,r.name+(1===r.components?&quot;&quot;:o),{get:function(t,e){return new Function([],&quot;return &quot;+s(t,e)+&quot;;&quot;)}(r,o),set:function(t,e){return new Function([&quot;x&quot;],s(t,e)+&quot; = x;&quot;)}(r,o)});return p+=n*r.components,r}),e.prototype.alignment=t.alignment,e.prototype.size=i(p,Math.max(m,t.alignment)),r.serialize=n,r.prototype=Object.create(c.prototype),r.prototype.StructType=e,r.prototype.bytesPerElement=e.prototype.size,r.prototype.emplaceBack=function(t,e){for(var r=[],n=[],i=&quot;var i = this.length;\nthis.resize(this.length + 1);\n&quot;,s=0;s&lt;t.length;s++){var l=t[s],c=a(l.type);r.indexOf(c)&lt;0&amp;&amp;(r.push(c),i+=&quot;var o&quot;+c.toFixed(0)+&quot; = i * &quot;+(e/c).toFixed(0)+&quot;;\n&quot;);for(var u=0;u&lt;l.components;u++){var f=&quot;v&quot;+n.length,h=&quot;o&quot;+c.toFixed(0)+&quot; + &quot;+(l.offset/c+u).toFixed(0);i+=&quot;this.&quot;+o(l.type)+&quot;[&quot;+h+&quot;] = &quot;+f+&quot;;\n&quot;,n.push(f)}}return i+=&quot;return i;&quot;,new Function(n,i)}(e.prototype.members,e.prototype.size),r.prototype._usedTypes=g,h[d]=r,r};var f={Int8:Int8Array,Uint8:Uint8Array,Uint8Clamped:Uint8ClampedArray,Int16:Int16Array,Uint16:Uint16Array,Int32:Int32Array,Uint32:Uint32Array,Float32:Float32Array,Float64:Float64Array},h={};c.prototype.DEFAULT_CAPACITY=128,c.prototype.RESIZE_MULTIPLIER=5,c.prototype.serialize=function(){return this.trim(),{length:this.length,arrayBuffer:this.arrayBuffer}},c.prototype.get=function(t){return new this.StructType(this,t)},c.prototype.trim=function(){this.length!==this.capacity&amp;&amp;(this.capacity=this.length,this.arrayBuffer=this.arrayBuffer.slice(0,this.length*this.bytesPerElement),this._refreshViews())},c.prototype.resize=function(t){if(this.length=t,t&gt;this.capacity){this.capacity=Math.max(t,Math.floor(this.capacity*this.RESIZE_MULTIPLIER),this.DEFAULT_CAPACITY),this.arrayBuffer=new ArrayBuffer(this.capacity*this.bytesPerElement);var e=this.uint8;this._refreshViews(),e&amp;&amp;this.uint8.set(e)}},c.prototype._refreshViews=function(){for(var t=0;t&lt;this._usedTypes.length;t++){var e=this._usedTypes[t];this[o(e)]=new f[e](this.arrayBuffer)}},c.prototype.toArray=function(t,e){for(var r=[],n=t;n&lt;e;n++){var i=this.get(n);r.push(i)}return r}},{assert:51}],432:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t,e){return e.replace(/{([^{}]+)}/g,function(e,r){return r in t?t[r]:&quot;&quot;})}},{}],433:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;unitbezier&quot;),i=t(&quot;../geo/coordinate&quot;);r.easeCubicInOut=function(t){if(t&lt;=0)return 0;if(t&gt;=1)return 1;var e=t*t,r=e*t;return 4*(t&lt;.5?r:3*(t-e)+r-.75)},r.bezier=function(t,e,r,i){var a=new n(t,e,r,i);return function(t){return a.solve(t)}},r.ease=r.bezier(.25,.1,.25,1),r.clamp=function(t,e,r){return Math.min(r,Math.max(e,t))},r.wrap=function(t,e,r){var n=r-e,i=((t-e)%n+n)%n+e;return i===e?r:i},r.coalesce=function(){for(var t=0;t&lt;arguments.length;t++){var e=arguments[t];if(null!==e&amp;&amp;void 0!==e)return e}},r.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&amp;&amp;(a=t),i[o]=e,0==--n&amp;&amp;r(a,i)})})},r.keysDifference=function(t,e){var r=[];for(var n in t)n in e||r.push(n);return r},r.extend=function(t){for(var e=1;e&lt;arguments.length;e++){var r=arguments[e];for(var n in r)t[n]=r[n]}return t},r.extendAll=function(t,e){for(var r in e)Object.defineProperty(t,r,Object.getOwnPropertyDescriptor(e,r));return t},r.inherit=function(t,e){var n=&quot;function&quot;==typeof t?t.prototype:t,i=Object.create(n);return r.extendAll(i,e),i},r.pick=function(t,e){for(var r={},n=0;n&lt;e.length;n++){var i=e[n];i in t&amp;&amp;(r[i]=t[i])}return r};var a=1;r.uniqueId=function(){return a++},r.debounce=function(t,e){var r,n;return function(){n=arguments,clearTimeout(r),r=setTimeout(function(){t.apply(null,n)},e)}},r.bindAll=function(t,e){t.forEach(function(t){e[t]&amp;&amp;(e[t]=e[t].bind(e))})},r.bindHandlers=function(t){for(var e in t)&quot;function&quot;==typeof t[e]&amp;&amp;0===e.indexOf(&quot;_on&quot;)&amp;&amp;(t[e]=t[e].bind(t))},r.setOptions=function(t,e){t.hasOwnProperty(&quot;options&quot;)||(t.options=t.options?Object.create(t.options):{});for(var r in e)t.options[r]=e[r];return t.options},r.getCoordinatesCenter=function(t){for(var e=1/0,r=1/0,n=-1/0,a=-1/0,o=0;o&lt;t.length;o++)e=Math.min(e,t[o].column),r=Math.min(r,t[o].row),n=Math.max(n,t[o].column),a=Math.max(a,t[o].row);var s=n-e,l=a-r,c=Math.max(s,l);return new i((e+n)/2,(r+a)/2,0).zoomTo(Math.floor(-Math.log(c)/Math.LN2))},r.endsWith=function(t,e){return-1!==t.indexOf(e,t.length-e.length)},r.startsWith=function(t,e){return 0===t.indexOf(e)},r.mapObject=function(t,e,r){var n={};for(var i in t)n[i]=e.call(r||this,t[i],i,t);return n},r.filterObject=function(t,e,r){var n={};for(var i in t)e.call(r||this,t[i],i,t)&amp;&amp;(n[i]=t[i]);return n},r.deepEqual=function t(e,r){if(Array.isArray(e)){if(!Array.isArray(r)||e.length!==r.length)return!1;for(var n=0;n&lt;e.length;n++)if(!t(e[n],r[n]))return!1;return!0}if(&quot;object&quot;==typeof e&amp;&amp;null!==e&amp;&amp;null!==r){if(&quot;object&quot;!=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},r.clone=function(t){return Array.isArray(t)?t.map(r.clone):&quot;object&quot;==typeof t?r.mapObject(t,r.clone):t},r.arraysIntersect=function(t,e){for(var r=0;r&lt;t.length;r++)if(e.indexOf(t[r])&gt;=0)return!0;return!1};var o={};r.warnOnce=function(t){o[t]||(&quot;undefined&quot;!=typeof console&amp;&amp;console.warn(t),o[t]=!0)}},{&quot;../geo/coordinate&quot;:329,unitbezier:557}],434:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,n){this._vectorTileFeature=t,t._z=e,t._x=r,t._y=n,this.properties=t.properties,null!=t.id&amp;&amp;(this.id=t.id)}e.exports=n,n.prototype={type:&quot;Feature&quot;,get geometry(){return void 0===this._geometry&amp;&amp;(this._geometry=this._vectorTileFeature.toGeoJSON(this._vectorTileFeature._x,this._vectorTileFeature._y,this._vectorTileFeature._z).geometry),this._geometry},set geometry(t){this._geometry=t},toJSON:function(){var t={};for(var e in this)&quot;_geometry&quot;!==e&amp;&amp;&quot;_vectorTileFeature&quot;!==e&amp;&amp;&quot;toJSON&quot;!==e&amp;&amp;(t[e]=this[e]);return t}}},{}],435:[function(t,e,r){e.exports={_args:[[&quot;mapbox-gl@0.22.1&quot;,&quot;/Users/alex/plotly/plotly.js&quot;]],_from:&quot;mapbox-gl@0.22.1&quot;,_id:&quot;mapbox-gl@0.22.1&quot;,_inBundle:!1,_integrity:&quot;sha1-kqllVH1MLyTCLLxIfu2khpTLYno=&quot;,_location:&quot;/mapbox-gl&quot;,_phantomChildren:{},_requested:{type:&quot;version&quot;,registry:!0,raw:&quot;mapbox-gl@0.22.1&quot;,name:&quot;mapbox-gl&quot;,escapedName:&quot;mapbox-gl&quot;,rawSpec:&quot;0.22.1&quot;,saveSpec:null,fetchSpec:&quot;0.22.1&quot;},_requiredBy:[&quot;/&quot;],_resolved:&quot;https://registry.npmjs.org/mapbox-gl/-/mapbox-gl-0.22.1.tgz&quot;,_spec:&quot;0.22.1&quot;,_where:&quot;/Users/alex/plotly/plotly.js&quot;,browser:{&quot;./js/util/ajax.js&quot;:&quot;./js/util/browser/ajax.js&quot;,&quot;./js/util/browser.js&quot;:&quot;./js/util/browser/browser.js&quot;,&quot;./js/util/canvas.js&quot;:&quot;./js/util/browser/canvas.js&quot;,&quot;./js/util/dom.js&quot;:&quot;./js/util/browser/dom.js&quot;,&quot;./js/util/web_worker.js&quot;:&quot;./js/util/browser/web_worker.js&quot;},bugs:{url:&quot;https://github.com/mapbox/mapbox-gl-js/issues&quot;},dependencies:{csscolorparser:&quot;^1.0.2&quot;,earcut:&quot;^2.0.3&quot;,&quot;feature-filter&quot;:&quot;^2.2.0&quot;,&quot;geojson-rewind&quot;:&quot;^0.1.0&quot;,&quot;geojson-vt&quot;:&quot;^2.4.0&quot;,&quot;gl-matrix&quot;:&quot;^2.3.1&quot;,&quot;grid-index&quot;:&quot;^1.0.0&quot;,&quot;mapbox-gl-function&quot;:&quot;^1.2.1&quot;,&quot;mapbox-gl-shaders&quot;:&quot;github:mapbox/mapbox-gl-shaders#de2ab007455aa2587c552694c68583f94c9f2747&quot;,&quot;mapbox-gl-style-spec&quot;:&quot;github:mapbox/mapbox-gl-style-spec#83b1a3e5837d785af582efd5ed1a212f2df6a4ae&quot;,&quot;mapbox-gl-supported&quot;:&quot;^1.2.0&quot;,pbf:&quot;^1.3.2&quot;,pngjs:&quot;^2.2.0&quot;,&quot;point-geometry&quot;:&quot;^0.0.0&quot;,quickselect:&quot;^1.0.0&quot;,request:&quot;^2.39.0&quot;,&quot;resolve-url&quot;:&quot;^0.2.1&quot;,&quot;shelf-pack&quot;:&quot;^1.0.0&quot;,supercluster:&quot;^2.0.1&quot;,unassertify:&quot;^2.0.0&quot;,unitbezier:&quot;^0.0.0&quot;,&quot;vector-tile&quot;:&quot;^1.3.0&quot;,&quot;vt-pbf&quot;:&quot;^2.0.2&quot;,webworkify:&quot;^1.3.0&quot;,&quot;whoots-js&quot;:&quot;^2.0.0&quot;},description:&quot;A WebGL interactive maps library&quot;,devDependencies:{&quot;babel-preset-react&quot;:&quot;^6.11.1&quot;,babelify:&quot;^7.3.0&quot;,benchmark:&quot;~2.1.0&quot;,browserify:&quot;^13.0.0&quot;,clipboard:&quot;^1.5.12&quot;,&quot;concat-stream&quot;:&quot;1.5.1&quot;,coveralls:&quot;^2.11.8&quot;,doctrine:&quot;^1.2.1&quot;,documentation:&quot;https://github.com/documentationjs/documentation/archive/bb41619c734e59ef3fbc3648610032efcfdaaace.tar.gz&quot;,&quot;documentation-theme-utils&quot;:&quot;3.0.0&quot;,envify:&quot;^3.4.0&quot;,eslint:&quot;^2.5.3&quot;,&quot;eslint-config-mourner&quot;:&quot;^2.0.0&quot;,&quot;eslint-plugin-html&quot;:&quot;^1.5.1&quot;,gl:&quot;^4.0.1&quot;,handlebars:&quot;4.0.5&quot;,&quot;highlight.js&quot;:&quot;9.3.0&quot;,istanbul:&quot;^0.4.2&quot;,&quot;json-loader&quot;:&quot;^0.5.4&quot;,lodash:&quot;^4.13.1&quot;,&quot;mapbox-gl-test-suite&quot;:&quot;github:mapbox/mapbox-gl-test-suite#7babab52fb02788ebbc38384139bf350e8e38552&quot;,&quot;memory-fs&quot;:&quot;^0.3.0&quot;,minifyify:&quot;^7.0.1&quot;,&quot;npm-run-all&quot;:&quot;^3.0.0&quot;,nyc:&quot;6.4.0&quot;,proxyquire:&quot;^1.7.9&quot;,remark:&quot;4.2.2&quot;,&quot;remark-html&quot;:&quot;3.0.0&quot;,sinon:&quot;^1.15.4&quot;,st:&quot;^1.2.0&quot;,tap:&quot;^5.7.0&quot;,&quot;transform-loader&quot;:&quot;^0.2.3&quot;,&quot;unist-util-visit&quot;:&quot;1.1.0&quot;,vinyl:&quot;1.1.1&quot;,&quot;vinyl-fs&quot;:&quot;2.4.3&quot;,watchify:&quot;^3.7.0&quot;,webpack:&quot;^1.13.1&quot;,&quot;webworkify-webpack&quot;:&quot;^1.1.3&quot;},engines:{node:&quot;&gt;=4.0.0&quot;},homepage:&quot;https://github.com/mapbox/mapbox-gl-js#readme&quot;,license:&quot;BSD-3-Clause&quot;,main:&quot;js/mapbox-gl.js&quot;,name:&quot;mapbox-gl&quot;,repository:{type:&quot;git&quot;,url:&quot;git://github.com/mapbox/mapbox-gl-js.git&quot;},scripts:{build:&quot;npm run build-docs # invoked by publisher when publishing docs on the mb-pages branch&quot;,&quot;build-dev&quot;:&quot;browserify js/mapbox-gl.js --debug --standalone mapboxgl &gt; dist/mapbox-gl-dev.js &amp;&amp; tap --no-coverage test/build/dev.test.js&quot;,&quot;build-docs&quot;:&quot;documentation build --github --format html -c documentation.yml --theme ./docs/_theme --output docs/api/&quot;,&quot;build-min&quot;:&quot;browserify js/mapbox-gl.js --debug -t unassertify --plugin [minifyify --map mapbox-gl.js.map --output dist/mapbox-gl.js.map] --standalone mapboxgl &gt; dist/mapbox-gl.js &amp;&amp; tap --no-coverage test/build/min.test.js&quot;,&quot;build-token&quot;:&quot;browserify debug/access-token-src.js --debug -t envify &gt; debug/access-token.js&quot;,lint:&quot;eslint  --ignore-path .gitignore js test bench docs/_posts/examples/*.html&quot;,&quot;open-changed-examples&quot;:&quot;git diff --name-only mb-pages HEAD -- docs/_posts/examples/*.html | awk '{print \&quot;http://127.0.0.1:4000/mapbox-gl-js/example/\&quot; substr($0,33,length($0)-37)}' | xargs open&quot;,start:&quot;run-p build-token watch-dev watch-bench start-server&quot;,&quot;start-bench&quot;:&quot;run-p build-token watch-bench start-server&quot;,&quot;start-debug&quot;:&quot;run-p build-token watch-dev start-server&quot;,&quot;start-docs&quot;:&quot;npm run build-min &amp;&amp; npm run build-docs &amp;&amp; jekyll serve -w&quot;,&quot;start-server&quot;:&quot;st --no-cache --localhost --port 9966 --index index.html .&quot;,test:&quot;npm run lint &amp;&amp; tap --reporter dot test/js/*/*.js test/build/webpack.test.js&quot;,&quot;test-suite&quot;:&quot;node test/render.test.js &amp;&amp; node test/query.test.js&quot;,&quot;watch-bench&quot;:&quot;node bench/download-data.js &amp;&amp; watchify bench/index.js --plugin [minifyify --no-map] -t [babelify --presets react] -t unassertify -t envify -o bench/bench.js -v&quot;,&quot;watch-dev&quot;:&quot;watchify js/mapbox-gl.js --debug --standalone mapboxgl -o dist/mapbox-gl-dev.js -v&quot;},version:&quot;0.22.1&quot;}},{}],436:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r){for(var n=new Array(t),i=0;i&lt;t;++i)n[i]=0,i===e&amp;&amp;(n[i]+=.5),i===r&amp;&amp;(n[i]+=.5);return n}function i(t,e){if(0===e||e===(1&lt;&lt;t+1)-1)return[];for(var r=[],i=[],o=0;o&lt;=t;++o)if(e&amp;1&lt;&lt;o){r.push(n(t,o-1,o-1)),i.push(null);for(var s=0;s&lt;=t;++s)~e&amp;1&lt;&lt;s&amp;&amp;(r.push(n(t,o-1,s-1)),i.push([o,s]))}var l=a(r),c=[];t:for(o=0;o&lt;l.length;++o){var u=l[o],f=[];for(s=0;s&lt;u.length;++s){if(!i[u[s]])continue t;f.push(i[u[s]].slice())}c.push(f)}return c}e.exports=function(t){for(var e=1&lt;&lt;t+1,r=new Array(e),n=0;n&lt;e;++n)r[n]=i(t,n);return r};var a=t(&quot;convex-hull&quot;)},{&quot;convex-hull&quot;:109}],437:[function(t,e,r){function n(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}var i=t(&quot;./normalize&quot;),a=t(&quot;gl-mat4/create&quot;),o=t(&quot;gl-mat4/clone&quot;),s=t(&quot;gl-mat4/determinant&quot;),l=t(&quot;gl-mat4/invert&quot;),c=t(&quot;gl-mat4/transpose&quot;),u={length:t(&quot;gl-vec3/length&quot;),normalize:t(&quot;gl-vec3/normalize&quot;),dot:t(&quot;gl-vec3/dot&quot;),cross:t(&quot;gl-vec3/cross&quot;)},f=a(),h=a(),d=[0,0,0,0],p=[[0,0,0],[0,0,0],[0,0,0]],m=[0,0,0];e.exports=function(t,e,r,a,g,v){if(e||(e=[0,0,0]),r||(r=[0,0,0]),a||(a=[0,0,0]),g||(g=[0,0,0,1]),v||(v=[0,0,0,1]),!i(f,t))return!1;if(o(h,f),h[3]=0,h[7]=0,h[11]=0,h[15]=1,Math.abs(s(h)&lt;1e-8))return!1;var y=f[3],x=f[7],b=f[11],_=f[12],w=f[13],M=f[14],k=f[15];if(0!==y||0!==x||0!==b){d[0]=y,d[1]=x,d[2]=b,d[3]=k;if(!l(h,h))return!1;c(h,h),function(t,e,r){var n=e[0],i=e[1],a=e[2],o=e[3];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}(g,d,h)}else g[0]=g[1]=g[2]=0,g[3]=1;if(e[0]=_,e[1]=w,e[2]=M,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,f),r[0]=u.length(p[0]),u.normalize(p[0],p[0]),a[0]=u.dot(p[0],p[1]),n(p[1],p[1],p[0],1,-a[0]),r[1]=u.length(p[1]),u.normalize(p[1],p[1]),a[0]/=r[1],a[1]=u.dot(p[0],p[2]),n(p[2],p[2],p[0],1,-a[1]),a[2]=u.dot(p[1],p[2]),n(p[2],p[2],p[1],1,-a[2]),r[2]=u.length(p[2]),u.normalize(p[2],p[2]),a[1]/=r[2],a[2]/=r[2],u.cross(m,p[1],p[2]),u.dot(p[0],m)&lt;0)for(var A=0;A&lt;3;A++)r[A]*=-1,p[A][0]*=-1,p[A][1]*=-1,p[A][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]&gt;p[1][2]&amp;&amp;(v[0]=-v[0]),p[0][2]&gt;p[2][0]&amp;&amp;(v[1]=-v[1]),p[1][0]&gt;p[0][1]&amp;&amp;(v[2]=-v[2]),!0}},{&quot;./normalize&quot;:438,&quot;gl-mat4/clone&quot;:180,&quot;gl-mat4/create&quot;:181,&quot;gl-mat4/determinant&quot;:182,&quot;gl-mat4/invert&quot;:186,&quot;gl-mat4/transpose&quot;:196,&quot;gl-vec3/cross&quot;:260,&quot;gl-vec3/dot&quot;:261,&quot;gl-vec3/length&quot;:262,&quot;gl-vec3/normalize&quot;:264}],438:[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&lt;16;i++)t[i]=e[i]*n;return!0}},{}],439:[function(t,e,r){function n(){return{translate:i(),scale:i(1),skew:i(),perspective:[0,0,0,1],quaternion:[0,0,0,1]}}function i(t){return[t||0,t||0,t||0]}var a=t(&quot;gl-vec3/lerp&quot;),o=t(&quot;mat4-recompose&quot;),s=t(&quot;mat4-decompose&quot;),l=t(&quot;gl-mat4/determinant&quot;),c=t(&quot;quat-slerp&quot;),u=n(),f=n(),h=n();e.exports=function(t,e,r,n){if(0===l(e)||0===l(r))return!1;var i=s(e,u.translate,u.scale,u.skew,u.perspective,u.quaternion),d=s(r,f.translate,f.scale,f.skew,f.perspective,f.quaternion);return!(!i||!d||(a(h.translate,u.translate,f.translate,n),a(h.skew,u.skew,f.skew,n),a(h.scale,u.scale,f.scale,n),a(h.perspective,u.perspective,f.perspective,n),c(h.quaternion,u.quaternion,f.quaternion,n),o(t,h.translate,h.scale,h.skew,h.perspective,h.quaternion),0))}},{&quot;gl-mat4/determinant&quot;:182,&quot;gl-vec3/lerp&quot;:263,&quot;mat4-decompose&quot;:437,&quot;mat4-recompose&quot;:440,&quot;quat-slerp&quot;:490}],440:[function(t,e,r){var n={identity:t(&quot;gl-mat4/identity&quot;),translate:t(&quot;gl-mat4/translate&quot;),multiply:t(&quot;gl-mat4/multiply&quot;),create:t(&quot;gl-mat4/create&quot;),scale:t(&quot;gl-mat4/scale&quot;),fromRotationTranslation:t(&quot;gl-mat4/fromRotationTranslation&quot;)},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]&amp;&amp;(i[9]=a[2],n.multiply(t,t,i)),0!==a[1]&amp;&amp;(i[9]=0,i[8]=a[1],n.multiply(t,t,i)),0!==a[0]&amp;&amp;(i[8]=0,i[4]=a[0],n.multiply(t,t,i)),n.scale(t,t,r),t}},{&quot;gl-mat4/create&quot;:181,&quot;gl-mat4/fromRotationTranslation&quot;:184,&quot;gl-mat4/identity&quot;:185,&quot;gl-mat4/multiply&quot;:188,&quot;gl-mat4/scale&quot;:194,&quot;gl-mat4/translate&quot;:195}],441:[function(t,e,r){&quot;use strict&quot;;function n(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]}var i=t(&quot;binary-search-bounds&quot;),a=t(&quot;mat4-interpolate&quot;),o=t(&quot;gl-mat4/invert&quot;),s=t(&quot;gl-mat4/rotateX&quot;),l=t(&quot;gl-mat4/rotateY&quot;),c=t(&quot;gl-mat4/rotateZ&quot;),u=t(&quot;gl-mat4/lookAt&quot;),f=t(&quot;gl-mat4/translate&quot;),h=(t(&quot;gl-mat4/scale&quot;),t(&quot;gl-vec3/normalize&quot;)),d=[0,0,0];e.exports=function(t){return new n((t=t||{}).matrix||[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1])};var p=n.prototype;p.recalcMatrix=function(t){var e=this._time,r=i.le(e,t),n=this.computedMatrix;if(!(r&lt;0)){var s=this._components;if(r===e.length-1)for(var l=16*r,c=0;c&lt;16;++c)n[c]=s[l++];else{var u=e[r+1]-e[r],f=(l=16*r,this.prevMatrix),d=!0;for(c=0;c&lt;16;++c)f[c]=s[l++];var p=this.nextMatrix;for(c=0;c&lt;16;++c)p[c]=s[l++],d=d&amp;&amp;f[c]===p[c];if(u&lt;1e-6||d)for(c=0;c&lt;16;++c)n[c]=f[c];else a(n,f,p,(t-e[r])/u)}var m=this.computedUp;m[0]=n[1],m[1]=n[5],m[2]=n[9],h(m,m);var g=this.computedInverse;o(g,n);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&lt;3;++c)x[c]=v[c]-n[2+4*c]*b}},p.idle=function(t){if(!(t&lt;this.lastT())){for(var e=this._components,r=e.length-16,n=0;n&lt;16;++n)e.push(e[r++]);this._time.push(t)}},p.flush=function(t){var e=i.gt(this._time,t)-2;e&lt;0||(this._time.splice(0,e),this._components.splice(0,16*e))},p.lastT=function(){return this._time[this._time.length-1]},p.lookAt=function(t,e,r,n){this.recalcMatrix(t),e=e||this.computedEye,r=r||d,n=n||this.computedUp,this.setMatrix(t,u(this.computedMatrix,e,r,n));for(var i=0,a=0;a&lt;3;++a)i+=Math.pow(r[a]-e[a],2);i=Math.log(Math.sqrt(i)),this.computedRadius[0]=i},p.rotate=function(t,e,r,n){this.recalcMatrix(t);var i=this.computedInverse;e&amp;&amp;l(i,i,e),r&amp;&amp;s(i,i,r),n&amp;&amp;c(i,i,n),this.setMatrix(t,o(this.computedMatrix,i))};var m=[0,0,0];p.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;f(i,i,m),this.setMatrix(t,o(i,i))},p.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;f(i,i,m),this.setMatrix(t,i)},p.setMatrix=function(t,e){if(!(t&lt;this.lastT())){this._time.push(t);for(var r=0;r&lt;16;++r)this._components.push(e[r])}},p.setDistance=function(t,e){this.computedRadius[0]=e},p.setDistanceLimits=function(t,e){var r=this._limits;r[0]=t,r[1]=e},p.getDistanceLimits=function(t){var e=this._limits;return t?(t[0]=e[0],t[1]=e[1],t):e}},{&quot;binary-search-bounds&quot;:70,&quot;gl-mat4/invert&quot;:186,&quot;gl-mat4/lookAt&quot;:187,&quot;gl-mat4/rotateX&quot;:191,&quot;gl-mat4/rotateY&quot;:192,&quot;gl-mat4/rotateZ&quot;:193,&quot;gl-mat4/scale&quot;:194,&quot;gl-mat4/translate&quot;:195,&quot;gl-vec3/normalize&quot;:264,&quot;mat4-interpolate&quot;:439}],442:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t){var e=t.length;if(e&lt;3){for(var r=new Array(e),i=0;i&lt;e;++i)r[i]=i;return 2===e&amp;&amp;t[0][0]===t[1][0]&amp;&amp;t[0][1]===t[1][1]?[0]:r}var a=new Array(e);for(i=0;i&lt;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&lt;e;++i){for(var l=a[i],c=t[l],u=o.length;u&gt;1&amp;&amp;n(t[o[u-2]],t[o[u-1]],c)&lt;=0;)u-=1,o.pop();for(o.push(l),u=s.length;u&gt;1&amp;&amp;n(t[s[u-2]],t[s[u-1]],c)&gt;=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&lt;h;++i)r[f++]=o[i];for(var d=s.length-2;d&gt;0;--d)r[f++]=s[d];return r};var n=t(&quot;robust-orientation&quot;)[3]},{&quot;robust-orientation&quot;:515}],443:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t,e){function r(t){var e=!1;return&quot;altKey&quot;in t&amp;&amp;(e=e||t.altKey!==m.alt,m.alt=!!t.altKey),&quot;shiftKey&quot;in t&amp;&amp;(e=e||t.shiftKey!==m.shift,m.shift=!!t.shiftKey),&quot;ctrlKey&quot;in t&amp;&amp;(e=e||t.ctrlKey!==m.control,m.control=!!t.ctrlKey),&quot;metaKey&quot;in t&amp;&amp;(e=e||t.metaKey!==m.meta,m.meta=!!t.metaKey),e}function i(t,i){var a=n.x(i),o=n.y(i);&quot;buttons&quot;in i&amp;&amp;(t=0|i.buttons),(t!==h||a!==d||o!==p||r(i))&amp;&amp;(h=0|t,d=a||0,p=o||0,e&amp;&amp;e(h,d,p,m))}function a(t){i(0,t)}function o(){(h||d||p||m.shift||m.alt||m.meta||m.control)&amp;&amp;(d=p=0,h=0,m.shift=m.alt=m.control=m.meta=!1,e&amp;&amp;e(0,0,0,m))}function s(t){r(t)&amp;&amp;e&amp;&amp;e(h,d,p,m)}function l(t){0===n.buttons(t)?i(0,t):i(h,t)}function c(t){i(h|n.buttons(t),t)}function u(t){i(h&amp;~n.buttons(t),t)}function f(){g||(g=!0,t.addEventListener(&quot;mousemove&quot;,l),t.addEventListener(&quot;mousedown&quot;,c),t.addEventListener(&quot;mouseup&quot;,u),t.addEventListener(&quot;mouseleave&quot;,a),t.addEventListener(&quot;mouseenter&quot;,a),t.addEventListener(&quot;mouseout&quot;,a),t.addEventListener(&quot;mouseover&quot;,a),t.addEventListener(&quot;blur&quot;,o),t.addEventListener(&quot;keyup&quot;,s),t.addEventListener(&quot;keydown&quot;,s),t.addEventListener(&quot;keypress&quot;,s),t!==window&amp;&amp;(window.addEventListener(&quot;blur&quot;,o),window.addEventListener(&quot;keyup&quot;,s),window.addEventListener(&quot;keydown&quot;,s),window.addEventListener(&quot;keypress&quot;,s)))}e||(e=t,t=window);var h=0,d=0,p=0,m={shift:!1,alt:!1,control:!1,meta:!1},g=!1;f();var v={element:t};return Object.defineProperties(v,{enabled:{get:function(){return g},set:function(e){e?f():g&amp;&amp;(g=!1,t.removeEventListener(&quot;mousemove&quot;,l),t.removeEventListener(&quot;mousedown&quot;,c),t.removeEventListener(&quot;mouseup&quot;,u),t.removeEventListener(&quot;mouseleave&quot;,a),t.removeEventListener(&quot;mouseenter&quot;,a),t.removeEventListener(&quot;mouseout&quot;,a),t.removeEventListener(&quot;mouseover&quot;,a),t.removeEventListener(&quot;blur&quot;,o),t.removeEventListener(&quot;keyup&quot;,s),t.removeEventListener(&quot;keydown&quot;,s),t.removeEventListener(&quot;keypress&quot;,s),t!==window&amp;&amp;(window.removeEventListener(&quot;blur&quot;,o),window.removeEventListener(&quot;keyup&quot;,s),window.removeEventListener(&quot;keydown&quot;,s),window.removeEventListener(&quot;keypress&quot;,s)))},enumerable:!0},buttons:{get:function(){return h},enumerable:!0},x:{get:function(){return d},enumerable:!0},y:{get:function(){return p},enumerable:!0},mods:{get:function(){return m},enumerable:!0}}),v};var n=t(&quot;mouse-event&quot;)},{&quot;mouse-event&quot;:445}],444:[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=function(t){return t===window||t===document||t===document.body?n:t.getBoundingClientRect()}(e);return r[0]=i-o.left,r[1]=a-o.top,r}},{}],445:[function(t,e,r){&quot;use strict&quot;;function n(t){return t.target||t.srcElement||window}r.buttons=function(t){if(&quot;object&quot;==typeof t){if(&quot;buttons&quot;in t)return t.buttons;if(&quot;which&quot;in t){if(2===(e=t.which))return 4;if(3===e)return 2;if(e&gt;0)return 1&lt;&lt;e-1}else if(&quot;button&quot;in t){var e;if(1===(e=t.button))return 4;if(2===e)return 2;if(e&gt;=0)return 1&lt;&lt;e}}return 0},r.element=n,r.x=function(t){if(&quot;object&quot;==typeof t){if(&quot;offsetX&quot;in t)return t.offsetX;var e=n(t).getBoundingClientRect();return t.clientX-e.left}return 0},r.y=function(t){if(&quot;object&quot;==typeof t){if(&quot;offsetY&quot;in t)return t.offsetY;var e=n(t).getBoundingClientRect();return t.clientY-e.top}return 0}},{}],446:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;to-px&quot;);e.exports=function(t,e,r){&quot;function&quot;==typeof t&amp;&amp;(r=!!e,e=t,t=window);var i=n(&quot;ex&quot;,t),a=function(t){r&amp;&amp;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(n*=s,a*=s,o*=s,n||a||o)return e(n,a,o,t)};return t.addEventListener(&quot;wheel&quot;,a),a}},{&quot;to-px&quot;:548}],447:[function(t,e,r){&quot;use strict&quot;;function n(t){return&quot;a&quot;+t}function i(t){return&quot;d&quot;+t}function a(t,e){return&quot;c&quot;+t+&quot;_&quot;+e}function o(t){return&quot;s&quot;+t}function s(t,e){return&quot;t&quot;+t+&quot;_&quot;+e}function l(t){return&quot;o&quot;+t}function c(t){return&quot;x&quot;+t}function u(t){return&quot;p&quot;+t}function f(t,e){return&quot;d&quot;+t+&quot;_&quot;+e}function h(t){return&quot;i&quot;+t}function d(t,e){return&quot;u&quot;+t+&quot;_&quot;+e}function p(t){return&quot;b&quot;+t}function m(t){return&quot;y&quot;+t}function g(t){return&quot;e&quot;+t}function v(t){return&quot;v&quot;+t}function y(t,e,r){for(var n=0,i=0;i&lt;t;++i)e&amp;1&lt;&lt;i&amp;&amp;(n|=1&lt;&lt;r[i]);return n}function x(t,e,r,x,S,E){function L(t,e){F.push(&quot;for(&quot;,h(S[t]),&quot;=&quot;,e,&quot;;&quot;,h(S[t]),&quot;&lt;&quot;,o(S[t]),&quot;;&quot;,&quot;++&quot;,h(S[t]),&quot;){&quot;)}function C(t){for(var e=0;e&lt;I;++e)F.push(u(e),&quot;+=&quot;,d(e,S[t]),&quot;;&quot;);F.push(&quot;}&quot;)}function z(){for(var t=1;t&lt;1&lt;&lt;P;++t)F.push(T,&quot;=&quot;,g(t),&quot;;&quot;,g(t),&quot;=&quot;,m(t),&quot;;&quot;,m(t),&quot;=&quot;,T,&quot;;&quot;)}function D(t,e){if(t&lt;0)!function(t){for(var e=0;e&lt;I;++e)E[e]?F.push(a(e,0),&quot;=&quot;,i(e),&quot;.get(&quot;,u(e),&quot;);&quot;):F.push(a(e,0),&quot;=&quot;,i(e),&quot;[&quot;,u(e),&quot;];&quot;);var r=[];for(e=0;e&lt;I;++e)r.push(a(e,0));for(e=0;e&lt;x;++e)r.push(c(e));F.push(p(0),&quot;=&quot;,w,&quot;[&quot;,A,&quot;]=phase(&quot;,r.join(),&quot;);&quot;);for(var n=1;n&lt;1&lt;&lt;P;++n)F.push(p(n),&quot;=&quot;,w,&quot;[&quot;,A,&quot;+&quot;,g(n),&quot;];&quot;);var o=[];for(n=1;n&lt;1&lt;&lt;P;++n)o.push(&quot;(&quot;+p(0)+&quot;!==&quot;+p(n)+&quot;)&quot;);F.push(&quot;if(&quot;,o.join(&quot;||&quot;),&quot;){&quot;);var s=[];for(e=0;e&lt;P;++e)s.push(h(e));for(e=0;e&lt;I;++e)for(s.push(a(e,0)),n=1;n&lt;1&lt;&lt;P;++n)E[e]?F.push(a(e,n),&quot;=&quot;,i(e),&quot;.get(&quot;,u(e),&quot;+&quot;,f(e,n),&quot;);&quot;):F.push(a(e,n),&quot;=&quot;,i(e),&quot;[&quot;,u(e),&quot;+&quot;,f(e,n),&quot;];&quot;),s.push(a(e,n));for(e=0;e&lt;1&lt;&lt;P;++e)s.push(p(e));for(e=0;e&lt;x;++e)s.push(c(e));F.push(&quot;vertex(&quot;,s.join(),&quot;);&quot;,v(0),&quot;=&quot;,_,&quot;[&quot;,A,&quot;]=&quot;,M,&quot;++;&quot;);var l=(1&lt;&lt;P)-1,d=p(l);for(n=0;n&lt;P;++n)if(0==(t&amp;~(1&lt;&lt;n))){for(var m=l^1&lt;&lt;n,y=p(m),b=[],k=m;k&gt;0;k=k-1&amp;m)b.push(_+&quot;[&quot;+A+&quot;+&quot;+g(k)+&quot;]&quot;);for(b.push(v(0)),k=0;k&lt;I;++k)1&amp;n?b.push(a(k,l),a(k,m)):b.push(a(k,m),a(k,l));for(1&amp;n?b.push(d,y):b.push(y,d),k=0;k&lt;x;++k)b.push(c(k));F.push(&quot;if(&quot;,d,&quot;!==&quot;,y,&quot;){&quot;,&quot;face(&quot;,b.join(),&quot;)}&quot;)}F.push(&quot;}&quot;,A,&quot;+=1;&quot;)}(e);else{!function(t){for(var e=t-1;e&gt;=0;--e)L(e,0);var r=[];for(e=0;e&lt;I;++e)E[e]?r.push(i(e)+&quot;.get(&quot;+u(e)+&quot;)&quot;):r.push(i(e)+&quot;[&quot;+u(e)+&quot;]&quot;);for(e=0;e&lt;x;++e)r.push(c(e));for(F.push(w,&quot;[&quot;,A,&quot;++]=phase(&quot;,r.join(),&quot;);&quot;),e=0;e&lt;t;++e)C(e);for(var n=0;n&lt;I;++n)F.push(u(n),&quot;+=&quot;,d(n,S[t]),&quot;;&quot;)}(t),F.push(&quot;if(&quot;,o(S[t]),&quot;&gt;0){&quot;,h(S[t]),&quot;=1;&quot;),D(t-1,e|1&lt;&lt;S[t]);for(var r=0;r&lt;I;++r)F.push(u(r),&quot;+=&quot;,d(r,S[t]),&quot;;&quot;);t===P-1&amp;&amp;(F.push(A,&quot;=0;&quot;),z()),L(t,2),D(t-1,e),t===P-1&amp;&amp;(F.push(&quot;if(&quot;,h(S[P-1]),&quot;&amp;1){&quot;,A,&quot;=0;}&quot;),z()),C(t),F.push(&quot;}&quot;)}}var I=E.length,P=S.length;if(P&lt;2)throw new Error(&quot;ndarray-extract-contour: Dimension must be at least 2&quot;);for(var O=&quot;extractContour&quot;+S.join(&quot;_&quot;),F=[],R=[],N=[],j=0;j&lt;I;++j)N.push(n(j));for(j=0;j&lt;x;++j)N.push(c(j));for(j=0;j&lt;P;++j)R.push(o(j)+&quot;=&quot;+n(0)+&quot;.shape[&quot;+j+&quot;]|0&quot;);for(j=0;j&lt;I;++j){R.push(i(j)+&quot;=&quot;+n(j)+&quot;.data&quot;,l(j)+&quot;=&quot;+n(j)+&quot;.offset|0&quot;);for(var B=0;B&lt;P;++B)R.push(s(j,B)+&quot;=&quot;+n(j)+&quot;.stride[&quot;+B+&quot;]|0&quot;)}for(j=0;j&lt;I;++j){R.push(u(j)+&quot;=&quot;+l(j)),R.push(a(j,0));for(B=1;B&lt;1&lt;&lt;P;++B){for(var U=[],V=0;V&lt;P;++V)B&amp;1&lt;&lt;V&amp;&amp;U.push(&quot;-&quot;+s(j,V));R.push(f(j,B)+&quot;=(&quot;+U.join(&quot;&quot;)+&quot;)|0&quot;),R.push(a(j,B)+&quot;=0&quot;)}}for(j=0;j&lt;I;++j)for(B=0;B&lt;P;++B){var q=[s(j,S[B])];B&gt;0&amp;&amp;q.push(s(j,S[B-1])+&quot;*&quot;+o(S[B-1])),R.push(d(j,S[B])+&quot;=(&quot;+q.join(&quot;-&quot;)+&quot;)|0&quot;)}for(j=0;j&lt;P;++j)R.push(h(j)+&quot;=0&quot;);R.push(M+&quot;=0&quot;);var H=[&quot;2&quot;];for(j=P-2;j&gt;=0;--j)H.push(o(S[j]));R.push(k+&quot;=(&quot;+H.join(&quot;*&quot;)+&quot;)|0&quot;,w+&quot;=mallocUint32(&quot;+k+&quot;)&quot;,_+&quot;=mallocUint32(&quot;+k+&quot;)&quot;,A+&quot;=0&quot;),R.push(p(0)+&quot;=0&quot;);for(B=1;B&lt;1&lt;&lt;P;++B){var G=[],Y=[];for(V=0;V&lt;P;++V)B&amp;1&lt;&lt;V&amp;&amp;(0===Y.length?G.push(&quot;1&quot;):G.unshift(Y.join(&quot;*&quot;))),Y.push(o(S[V]));var W=&quot;&quot;;G[0].indexOf(o(S[P-2]))&lt;0&amp;&amp;(W=&quot;-&quot;);var X=y(P,B,S);R.push(g(X)+&quot;=(-&quot;+G.join(&quot;-&quot;)+&quot;)|0&quot;,m(X)+&quot;=(&quot;+W+G.join(&quot;-&quot;)+&quot;)|0&quot;,p(X)+&quot;=0&quot;)}R.push(v(0)+&quot;=0&quot;,T+&quot;=0&quot;),D(P-1,0),F.push(&quot;freeUint32(&quot;,_,&quot;);freeUint32(&quot;,w,&quot;);&quot;);var Z=[&quot;'use strict';&quot;,&quot;function &quot;,O,&quot;(&quot;,N.join(),&quot;){&quot;,&quot;var &quot;,R.join(),&quot;;&quot;,F.join(&quot;&quot;),&quot;}&quot;,&quot;return &quot;,O].join(&quot;&quot;);return new Function(&quot;vertex&quot;,&quot;face&quot;,&quot;phase&quot;,&quot;mallocUint32&quot;,&quot;freeUint32&quot;,Z)(t,e,r,b.mallocUint32,b.freeUint32)}var b=t(&quot;typedarray-pool&quot;);e.exports=function(t){function e(t){throw new Error(&quot;ndarray-extract-contour: &quot;+t)}&quot;object&quot;!=typeof t&amp;&amp;e(&quot;Must specify arguments&quot;);var r=t.order;Array.isArray(r)||e(&quot;Must specify order&quot;);var n=t.arrayArguments||1;n&lt;1&amp;&amp;e(&quot;Must have at least one array argument&quot;);var i=t.scalarArguments||0;i&lt;0&amp;&amp;e(&quot;Scalar arg count must be &gt; 0&quot;),&quot;function&quot;!=typeof t.vertex&amp;&amp;e(&quot;Must specify vertex creation function&quot;),&quot;function&quot;!=typeof t.cell&amp;&amp;e(&quot;Must specify cell creation function&quot;),&quot;function&quot;!=typeof t.phase&amp;&amp;e(&quot;Must specify phase function&quot;);for(var a=t.getters||[],o=new Array(n),s=0;s&lt;n;++s)a.indexOf(s)&gt;=0?o[s]=!0:o[s]=!1;return x(t.vertex,t.cell,t.phase,i,r,o)};var _=&quot;V&quot;,w=&quot;P&quot;,M=&quot;N&quot;,k=&quot;Q&quot;,A=&quot;X&quot;,T=&quot;T&quot;},{&quot;typedarray-pool&quot;:554}],448:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;cwise/lib/wrapper&quot;)({args:[&quot;index&quot;,&quot;array&quot;,&quot;scalar&quot;],pre:{body:&quot;{}&quot;,args:[],thisVars:[],localVars:[]},body:{body:&quot;{_inline_1_arg1_=_inline_1_arg2_.apply(void 0,_inline_1_arg0_)}&quot;,args:[{name:&quot;_inline_1_arg0_&quot;,lvalue:!1,rvalue:!0,count:1},{name:&quot;_inline_1_arg1_&quot;,lvalue:!0,rvalue:!1,count:1},{name:&quot;_inline_1_arg2_&quot;,lvalue:!1,rvalue:!0,count:1}],thisVars:[],localVars:[]},post:{body:&quot;{}&quot;,args:[],thisVars:[],localVars:[]},debug:!1,funcName:&quot;cwise&quot;,blockSize:64});e.exports=function(t,e){return n(t,e),t}},{&quot;cwise/lib/wrapper&quot;:119}],449:[function(t,e,r){&quot;use strict&quot;;function n(t){if(t in o)return o[t];for(var e=[],r=0;r&lt;t;++r)e.push(&quot;out&quot;,r,&quot;s=0.5*(inp&quot;,r,&quot;l-inp&quot;,r,&quot;r);&quot;);var n=[&quot;array&quot;],s=[&quot;junk&quot;];for(r=0;r&lt;t;++r){n.push(&quot;array&quot;),s.push(&quot;out&quot;+r+&quot;s&quot;);var c=i(t);c[r]=-1,n.push({array:0,offset:c.slice()}),c[r]=1,n.push({array:0,offset:c.slice()}),s.push(&quot;inp&quot;+r+&quot;l&quot;,&quot;inp&quot;+r+&quot;r&quot;)}return o[t]=a({args:n,pre:l,post:l,body:{body:e.join(&quot;&quot;),args:s.map(function(t){return{name:t,lvalue:0===t.indexOf(&quot;out&quot;),rvalue:0===t.indexOf(&quot;inp&quot;),count:&quot;junk&quot;!==t|0}}),thisVars:[],localVars:[]},funcName:&quot;fdTemplate&quot;+t})}e.exports=function(t,e,r){if(Array.isArray(r)){if(r.length!==e.dimension)throw new Error(&quot;ndarray-gradient: invalid boundary conditions&quot;)}else r=&quot;string&quot;==typeof r?i(e.dimension,r):i(e.dimension,&quot;clamp&quot;);if(t.dimension!==e.dimension+1)throw new Error(&quot;ndarray-gradient: output dimension must be +1 input dimension&quot;);if(t.shape[e.dimension]!==e.dimension)throw new Error(&quot;ndarray-gradient: output shape must match input shape&quot;);for(var a=0;a&lt;e.dimension;++a)if(t.shape[a]!==e.shape[a])throw new Error(&quot;ndarray-gradient: shape mismatch&quot;);return 0===e.size?t:e.dimension&lt;=0?(t.set(0),t):function(t){function e(e){for(var r=i-e.length,n=[],o=[],s=[],l=0;l&lt;i;++l)e.indexOf(l+1)&gt;=0?s.push(&quot;0&quot;):e.indexOf(-(l+1))&gt;=0?s.push(&quot;s[&quot;+l+&quot;]-1&quot;):(s.push(&quot;-1&quot;),n.push(&quot;1&quot;),o.push(&quot;s[&quot;+l+&quot;]-2&quot;));var c=&quot;.lo(&quot;+n.join()+&quot;).hi(&quot;+o.join()+&quot;)&quot;;if(0===n.length&amp;&amp;(c=&quot;&quot;),r&gt;0){for(a.push(&quot;if(1&quot;),l=0;l&lt;i;++l)e.indexOf(l+1)&gt;=0||e.indexOf(-(l+1))&gt;=0||a.push(&quot;&amp;&amp;s[&quot;,l,&quot;]&gt;2&quot;);for(a.push(&quot;){grad&quot;,r,&quot;(src.pick(&quot;,s.join(),&quot;)&quot;,c),l=0;l&lt;i;++l)e.indexOf(l+1)&gt;=0||e.indexOf(-(l+1))&gt;=0||a.push(&quot;,dst.pick(&quot;,s.join(),&quot;,&quot;,l,&quot;)&quot;,c);a.push(&quot;);&quot;)}for(l=0;l&lt;e.length;++l){var u=Math.abs(e[l])-1,f=&quot;dst.pick(&quot;+s.join()+&quot;,&quot;+u+&quot;)&quot;+c;switch(t[u]){case&quot;clamp&quot;:var h=s.slice(),d=s.slice();e[l]&lt;0?h[u]=&quot;s[&quot;+u+&quot;]-2&quot;:d[u]=&quot;1&quot;,0===r?a.push(&quot;if(s[&quot;,u,&quot;]&gt;1){dst.set(&quot;,s.join(),&quot;,&quot;,u,&quot;,0.5*(src.get(&quot;,h.join(),&quot;)-src.get(&quot;,d.join(),&quot;)))}else{dst.set(&quot;,s.join(),&quot;,&quot;,u,&quot;,0)};&quot;):a.push(&quot;if(s[&quot;,u,&quot;]&gt;1){diff(&quot;,f,&quot;,src.pick(&quot;,h.join(),&quot;)&quot;,c,&quot;,src.pick(&quot;,d.join(),&quot;)&quot;,c,&quot;);}else{zero(&quot;,f,&quot;);};&quot;);break;case&quot;mirror&quot;:0===r?a.push(&quot;dst.set(&quot;,s.join(),&quot;,&quot;,u,&quot;,0);&quot;):a.push(&quot;zero(&quot;,f,&quot;);&quot;);break;case&quot;wrap&quot;:var p=s.slice(),m=s.slice();e[l]&lt;0?(p[u]=&quot;s[&quot;+u+&quot;]-2&quot;,m[u]=&quot;0&quot;):(p[u]=&quot;s[&quot;+u+&quot;]-1&quot;,m[u]=&quot;1&quot;),0===r?a.push(&quot;if(s[&quot;,u,&quot;]&gt;2){dst.set(&quot;,s.join(),&quot;,&quot;,u,&quot;,0.5*(src.get(&quot;,p.join(),&quot;)-src.get(&quot;,m.join(),&quot;)))}else{dst.set(&quot;,s.join(),&quot;,&quot;,u,&quot;,0)};&quot;):a.push(&quot;if(s[&quot;,u,&quot;]&gt;2){diff(&quot;,f,&quot;,src.pick(&quot;,p.join(),&quot;)&quot;,c,&quot;,src.pick(&quot;,m.join(),&quot;)&quot;,c,&quot;);}else{zero(&quot;,f,&quot;);};&quot;);break;default:throw new Error(&quot;ndarray-gradient: Invalid boundary condition&quot;)}}r&gt;0&amp;&amp;a.push(&quot;};&quot;)}var r=t.join();if(v=s[r])return v;for(var i=t.length,a=[&quot;function gradient(dst,src){var s=src.shape.slice();&quot;],l=0;l&lt;1&lt;&lt;i;++l){for(var f=[],h=0;h&lt;i;++h)l&amp;1&lt;&lt;h&amp;&amp;f.push(h+1);for(var d=0;d&lt;1&lt;&lt;f.length;++d){var p=f.slice();for(h=0;h&lt;f.length;++h)d&amp;1&lt;&lt;h&amp;&amp;(p[h]=-p[h]);e(p)}}a.push(&quot;return dst;};return gradient&quot;);var m=[&quot;diff&quot;,&quot;zero&quot;],g=[c,u];for(l=1;l&lt;=i;++l)m.push(&quot;grad&quot;+l),g.push(n(l));m.push(a.join(&quot;&quot;));var v=Function.apply(void 0,m).apply(void 0,g);return o[r]=v,v}(r)(t,e)};var i=t(&quot;dup&quot;),a=t(&quot;cwise-compiler&quot;),o={},s={},l={body:&quot;&quot;,args:[],thisVars:[],localVars:[]},c=a({args:[&quot;array&quot;,&quot;array&quot;,&quot;array&quot;],pre:l,post:l,body:{args:[{name:&quot;out&quot;,lvalue:!0,rvalue:!1,count:1},{name:&quot;left&quot;,lvalue:!1,rvalue:!0,count:1},{name:&quot;right&quot;,lvalue:!1,rvalue:!0,count:1}],body:&quot;out=0.5*(left-right)&quot;,thisVars:[],localVars:[]},funcName:&quot;cdiff&quot;}),u=a({args:[&quot;array&quot;],pre:l,post:l,body:{args:[{name:&quot;out&quot;,lvalue:!0,rvalue:!1,count:1}],body:&quot;out=0&quot;,thisVars:[],localVars:[]},funcName:&quot;zero&quot;})},{&quot;cwise-compiler&quot;:116,dup:134}],450:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;ndarray-warp&quot;),i=t(&quot;gl-matrix-invert&quot;);e.exports=function(t,e,r){var a=e.dimension,o=i([],r);return n(t,e,function(t,e){for(var r=0;r&lt;a;++r){t[r]=o[(a+1)*a+r];for(var n=0;n&lt;a;++n)t[r]+=o[(a+1)*n+r]*e[n]}var i=o[(a+1)*(a+1)-1];for(n=0;n&lt;a;++n)i+=o[(a+1)*n+a]*e[n];var s=1/i;for(r=0;r&lt;a;++r)t[r]*=s;return t}),t}},{&quot;gl-matrix-invert&quot;:197,&quot;ndarray-warp&quot;:457}],451:[function(t,e,r){&quot;use strict&quot;;function n(t,e){var r=Math.floor(e),n=e-r,i=0&lt;=r&amp;&amp;r&lt;t.shape[0],a=0&lt;=r+1&amp;&amp;r+1&lt;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&lt;=n&amp;&amp;n&lt;t.shape[0],o=0&lt;=n+1&amp;&amp;n+1&lt;t.shape[0],s=Math.floor(r),l=r-s,c=0&lt;=s&amp;&amp;s&lt;t.shape[1],u=0&lt;=s+1&amp;&amp;s+1&lt;t.shape[1],f=a&amp;&amp;c?t.get(n,s):0,h=a&amp;&amp;u?t.get(n,s+1):0;return(1-l)*((1-i)*f+i*(o&amp;&amp;c?t.get(n+1,s):0))+l*((1-i)*h+i*(o&amp;&amp;u?t.get(n+1,s+1):0))}function a(t,e,r,n){var i=Math.floor(e),a=e-i,o=0&lt;=i&amp;&amp;i&lt;t.shape[0],s=0&lt;=i+1&amp;&amp;i+1&lt;t.shape[0],l=Math.floor(r),c=r-l,u=0&lt;=l&amp;&amp;l&lt;t.shape[1],f=0&lt;=l+1&amp;&amp;l+1&lt;t.shape[1],h=Math.floor(n),d=n-h,p=0&lt;=h&amp;&amp;h&lt;t.shape[2],m=0&lt;=h+1&amp;&amp;h+1&lt;t.shape[2],g=o&amp;&amp;u&amp;&amp;p?t.get(i,l,h):0,v=o&amp;&amp;f&amp;&amp;p?t.get(i,l+1,h):0,y=s&amp;&amp;u&amp;&amp;p?t.get(i+1,l,h):0,x=s&amp;&amp;f&amp;&amp;p?t.get(i+1,l+1,h):0,b=o&amp;&amp;u&amp;&amp;m?t.get(i,l,h+1):0,_=o&amp;&amp;f&amp;&amp;m?t.get(i,l+1,h+1):0;return(1-d)*((1-c)*((1-a)*g+a*y)+c*((1-a)*v+a*x))+d*((1-c)*((1-a)*b+a*(s&amp;&amp;u&amp;&amp;m?t.get(i+1,l,h+1):0))+c*((1-a)*_+a*(s&amp;&amp;f&amp;&amp;m?t.get(i+1,l+1,h+1):0)))}e.exports=function(t,e,r,o){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,o);default:return function(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&lt;n;++e)r=+arguments[e+1],i[e]=Math.floor(r),a[e]=r-i[e],o[e]=0&lt;=i[e]&amp;&amp;i[e]&lt;t.shape[e],s[e]=0&lt;=i[e]+1&amp;&amp;i[e]+1&lt;t.shape[e];var l,c,u,f=0;t:for(e=0;e&lt;1&lt;&lt;n;++e){for(c=1,u=t.offset,l=0;l&lt;n;++l)if(e&amp;1&lt;&lt;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}.apply(void 0,arguments)}},e.exports.d1=n,e.exports.d2=i,e.exports.d3=a},{}],452:[function(t,e,r){&quot;use strict&quot;;function n(t){if(!t)return o;for(var e=0;e&lt;t.args.length;++e){var r=t.args[e];t.args[e]=0===e?{name:r,lvalue:!0,rvalue:!!t.rvalue,count:t.count||1}:{name:r,lvalue:!1,rvalue:!0,count:1}}return t.thisVars||(t.thisVars=[]),t.localVars||(t.localVars=[]),t}function i(t){for(var e=[],r=0;r&lt;t.args.length;++r)e.push(&quot;a&quot;+r);return new Function(&quot;P&quot;,[&quot;return function &quot;,t.funcName,&quot;_ndarrayops(&quot;,e.join(&quot;,&quot;),&quot;) {P(&quot;,e.join(&quot;,&quot;),&quot;);return a0}&quot;].join(&quot;&quot;))(function(t){return a({args:t.args,pre:n(t.pre),body:n(t.body),post:n(t.proc),funcName:t.funcName})}(t))}var a=t(&quot;cwise-compiler&quot;),o={body:&quot;&quot;,args:[],thisVars:[],localVars:[]},s={add:&quot;+&quot;,sub:&quot;-&quot;,mul:&quot;*&quot;,div:&quot;/&quot;,mod:&quot;%&quot;,band:&quot;&amp;&quot;,bor:&quot;|&quot;,bxor:&quot;^&quot;,lshift:&quot;&lt;&lt;&quot;,rshift:&quot;&gt;&gt;&quot;,rrshift:&quot;&gt;&gt;&gt;&quot;};!function(){for(var t in s){var e=s[t];r[t]=i({args:[&quot;array&quot;,&quot;array&quot;,&quot;array&quot;],body:{args:[&quot;a&quot;,&quot;b&quot;,&quot;c&quot;],body:&quot;a=b&quot;+e+&quot;c&quot;},funcName:t}),r[t+&quot;eq&quot;]=i({args:[&quot;array&quot;,&quot;array&quot;],body:{args:[&quot;a&quot;,&quot;b&quot;],body:&quot;a&quot;+e+&quot;=b&quot;},rvalue:!0,funcName:t+&quot;eq&quot;}),r[t+&quot;s&quot;]=i({args:[&quot;array&quot;,&quot;array&quot;,&quot;scalar&quot;],body:{args:[&quot;a&quot;,&quot;b&quot;,&quot;s&quot;],body:&quot;a=b&quot;+e+&quot;s&quot;},funcName:t+&quot;s&quot;}),r[t+&quot;seq&quot;]=i({args:[&quot;array&quot;,&quot;scalar&quot;],body:{args:[&quot;a&quot;,&quot;s&quot;],body:&quot;a&quot;+e+&quot;=s&quot;},rvalue:!0,funcName:t+&quot;seq&quot;})}}();var l={not:&quot;!&quot;,bnot:&quot;~&quot;,neg:&quot;-&quot;,recip:&quot;1.0/&quot;};!function(){for(var t in l){var e=l[t];r[t]=i({args:[&quot;array&quot;,&quot;array&quot;],body:{args:[&quot;a&quot;,&quot;b&quot;],body:&quot;a=&quot;+e+&quot;b&quot;},funcName:t}),r[t+&quot;eq&quot;]=i({args:[&quot;array&quot;],body:{args:[&quot;a&quot;],body:&quot;a=&quot;+e+&quot;a&quot;},rvalue:!0,count:2,funcName:t+&quot;eq&quot;})}}();var c={and:&quot;&amp;&amp;&quot;,or:&quot;||&quot;,eq:&quot;===&quot;,neq:&quot;!==&quot;,lt:&quot;&lt;&quot;,gt:&quot;&gt;&quot;,leq:&quot;&lt;=&quot;,geq:&quot;&gt;=&quot;};!function(){for(var t in c){var e=c[t];r[t]=i({args:[&quot;array&quot;,&quot;array&quot;,&quot;array&quot;],body:{args:[&quot;a&quot;,&quot;b&quot;,&quot;c&quot;],body:&quot;a=b&quot;+e+&quot;c&quot;},funcName:t}),r[t+&quot;s&quot;]=i({args:[&quot;array&quot;,&quot;array&quot;,&quot;scalar&quot;],body:{args:[&quot;a&quot;,&quot;b&quot;,&quot;s&quot;],body:&quot;a=b&quot;+e+&quot;s&quot;},funcName:t+&quot;s&quot;}),r[t+&quot;eq&quot;]=i({args:[&quot;array&quot;,&quot;array&quot;],body:{args:[&quot;a&quot;,&quot;b&quot;],body:&quot;a=a&quot;+e+&quot;b&quot;},rvalue:!0,count:2,funcName:t+&quot;eq&quot;}),r[t+&quot;seq&quot;]=i({args:[&quot;array&quot;,&quot;scalar&quot;],body:{args:[&quot;a&quot;,&quot;s&quot;],body:&quot;a=a&quot;+e+&quot;s&quot;},rvalue:!0,count:2,funcName:t+&quot;seq&quot;})}}();var u=[&quot;abs&quot;,&quot;acos&quot;,&quot;asin&quot;,&quot;atan&quot;,&quot;ceil&quot;,&quot;cos&quot;,&quot;exp&quot;,&quot;floor&quot;,&quot;log&quot;,&quot;round&quot;,&quot;sin&quot;,&quot;sqrt&quot;,&quot;tan&quot;];!function(){for(var t=0;t&lt;u.length;++t){var e=u[t];r[e]=i({args:[&quot;array&quot;,&quot;array&quot;],pre:{args:[],body:&quot;this_f=Math.&quot;+e,thisVars:[&quot;this_f&quot;]},body:{args:[&quot;a&quot;,&quot;b&quot;],body:&quot;a=this_f(b)&quot;,thisVars:[&quot;this_f&quot;]},funcName:e}),r[e+&quot;eq&quot;]=i({args:[&quot;array&quot;],pre:{args:[],body:&quot;this_f=Math.&quot;+e,thisVars:[&quot;this_f&quot;]},body:{args:[&quot;a&quot;],body:&quot;a=this_f(a)&quot;,thisVars:[&quot;this_f&quot;]},rvalue:!0,count:2,funcName:e+&quot;eq&quot;})}}();var f=[&quot;max&quot;,&quot;min&quot;,&quot;atan2&quot;,&quot;pow&quot;];!function(){for(var t=0;t&lt;f.length;++t){var e=f[t];r[e]=i({args:[&quot;array&quot;,&quot;array&quot;,&quot;array&quot;],pre:{args:[],body:&quot;this_f=Math.&quot;+e,thisVars:[&quot;this_f&quot;]},body:{args:[&quot;a&quot;,&quot;b&quot;,&quot;c&quot;],body:&quot;a=this_f(b,c)&quot;,thisVars:[&quot;this_f&quot;]},funcName:e}),r[e+&quot;s&quot;]=i({args:[&quot;array&quot;,&quot;array&quot;,&quot;scalar&quot;],pre:{args:[],body:&quot;this_f=Math.&quot;+e,thisVars:[&quot;this_f&quot;]},body:{args:[&quot;a&quot;,&quot;b&quot;,&quot;c&quot;],body:&quot;a=this_f(b,c)&quot;,thisVars:[&quot;this_f&quot;]},funcName:e+&quot;s&quot;}),r[e+&quot;eq&quot;]=i({args:[&quot;array&quot;,&quot;array&quot;],pre:{args:[],body:&quot;this_f=Math.&quot;+e,thisVars:[&quot;this_f&quot;]},body:{args:[&quot;a&quot;,&quot;b&quot;],body:&quot;a=this_f(a,b)&quot;,thisVars:[&quot;this_f&quot;]},rvalue:!0,count:2,funcName:e+&quot;eq&quot;}),r[e+&quot;seq&quot;]=i({args:[&quot;array&quot;,&quot;scalar&quot;],pre:{args:[],body:&quot;this_f=Math.&quot;+e,thisVars:[&quot;this_f&quot;]},body:{args:[&quot;a&quot;,&quot;b&quot;],body:&quot;a=this_f(a,b)&quot;,thisVars:[&quot;this_f&quot;]},rvalue:!0,count:2,funcName:e+&quot;seq&quot;})}}();var h=[&quot;atan2&quot;,&quot;pow&quot;];!function(){for(var t=0;t&lt;h.length;++t){var e=h[t];r[e+&quot;op&quot;]=i({args:[&quot;array&quot;,&quot;array&quot;,&quot;array&quot;],pre:{args:[],body:&quot;this_f=Math.&quot;+e,thisVars:[&quot;this_f&quot;]},body:{args:[&quot;a&quot;,&quot;b&quot;,&quot;c&quot;],body:&quot;a=this_f(c,b)&quot;,thisVars:[&quot;this_f&quot;]},funcName:e+&quot;op&quot;}),r[e+&quot;ops&quot;]=i({args:[&quot;array&quot;,&quot;array&quot;,&quot;scalar&quot;],pre:{args:[],body:&quot;this_f=Math.&quot;+e,thisVars:[&quot;this_f&quot;]},body:{args:[&quot;a&quot;,&quot;b&quot;,&quot;c&quot;],body:&quot;a=this_f(c,b)&quot;,thisVars:[&quot;this_f&quot;]},funcName:e+&quot;ops&quot;}),r[e+&quot;opeq&quot;]=i({args:[&quot;array&quot;,&quot;array&quot;],pre:{args:[],body:&quot;this_f=Math.&quot;+e,thisVars:[&quot;this_f&quot;]},body:{args:[&quot;a&quot;,&quot;b&quot;],body:&quot;a=this_f(b,a)&quot;,thisVars:[&quot;this_f&quot;]},rvalue:!0,count:2,funcName:e+&quot;opeq&quot;}),r[e+&quot;opseq&quot;]=i({args:[&quot;array&quot;,&quot;scalar&quot;],pre:{args:[],body:&quot;this_f=Math.&quot;+e,thisVars:[&quot;this_f&quot;]},body:{args:[&quot;a&quot;,&quot;b&quot;],body:&quot;a=this_f(b,a)&quot;,thisVars:[&quot;this_f&quot;]},rvalue:!0,count:2,funcName:e+&quot;opseq&quot;})}}(),r.any=a({args:[&quot;array&quot;],pre:o,body:{args:[{name:&quot;a&quot;,lvalue:!1,rvalue:!0,count:1}],body:&quot;if(a){return true}&quot;,localVars:[],thisVars:[]},post:{args:[],localVars:[],thisVars:[],body:&quot;return false&quot;},funcName:&quot;any&quot;}),r.all=a({args:[&quot;array&quot;],pre:o,body:{args:[{name:&quot;x&quot;,lvalue:!1,rvalue:!0,count:1}],body:&quot;if(!x){return false}&quot;,localVars:[],thisVars:[]},post:{args:[],localVars:[],thisVars:[],body:&quot;return true&quot;},funcName:&quot;all&quot;}),r.sum=a({args:[&quot;array&quot;],pre:{args:[],localVars:[],thisVars:[&quot;this_s&quot;],body:&quot;this_s=0&quot;},body:{args:[{name:&quot;a&quot;,lvalue:!1,rvalue:!0,count:1}],body:&quot;this_s+=a&quot;,localVars:[],thisVars:[&quot;this_s&quot;]},post:{args:[],localVars:[],thisVars:[&quot;this_s&quot;],body:&quot;return this_s&quot;},funcName:&quot;sum&quot;}),r.prod=a({args:[&quot;array&quot;],pre:{args:[],localVars:[],thisVars:[&quot;this_s&quot;],body:&quot;this_s=1&quot;},body:{args:[{name:&quot;a&quot;,lvalue:!1,rvalue:!0,count:1}],body:&quot;this_s*=a&quot;,localVars:[],thisVars:[&quot;this_s&quot;]},post:{args:[],localVars:[],thisVars:[&quot;this_s&quot;],body:&quot;return this_s&quot;},funcName:&quot;prod&quot;}),r.norm2squared=a({args:[&quot;array&quot;],pre:{args:[],localVars:[],thisVars:[&quot;this_s&quot;],body:&quot;this_s=0&quot;},body:{args:[{name:&quot;a&quot;,lvalue:!1,rvalue:!0,count:2}],body:&quot;this_s+=a*a&quot;,localVars:[],thisVars:[&quot;this_s&quot;]},post:{args:[],localVars:[],thisVars:[&quot;this_s&quot;],body:&quot;return this_s&quot;},funcName:&quot;norm2squared&quot;}),r.norm2=a({args:[&quot;array&quot;],pre:{args:[],localVars:[],thisVars:[&quot;this_s&quot;],body:&quot;this_s=0&quot;},body:{args:[{name:&quot;a&quot;,lvalue:!1,rvalue:!0,count:2}],body:&quot;this_s+=a*a&quot;,localVars:[],thisVars:[&quot;this_s&quot;]},post:{args:[],localVars:[],thisVars:[&quot;this_s&quot;],body:&quot;return Math.sqrt(this_s)&quot;},funcName:&quot;norm2&quot;}),r.norminf=a({args:[&quot;array&quot;],pre:{args:[],localVars:[],thisVars:[&quot;this_s&quot;],body:&quot;this_s=0&quot;},body:{args:[{name:&quot;a&quot;,lvalue:!1,rvalue:!0,count:4}],body:&quot;if(-a&gt;this_s){this_s=-a}else if(a&gt;this_s){this_s=a}&quot;,localVars:[],thisVars:[&quot;this_s&quot;]},post:{args:[],localVars:[],thisVars:[&quot;this_s&quot;],body:&quot;return this_s&quot;},funcName:&quot;norminf&quot;}),r.norm1=a({args:[&quot;array&quot;],pre:{args:[],localVars:[],thisVars:[&quot;this_s&quot;],body:&quot;this_s=0&quot;},body:{args:[{name:&quot;a&quot;,lvalue:!1,rvalue:!0,count:3}],body:&quot;this_s+=a&lt;0?-a:a&quot;,localVars:[],thisVars:[&quot;this_s&quot;]},post:{args:[],localVars:[],thisVars:[&quot;this_s&quot;],body:&quot;return this_s&quot;},funcName:&quot;norm1&quot;}),r.sup=a({args:[&quot;array&quot;],pre:{body:&quot;this_h=-Infinity&quot;,args:[],thisVars:[&quot;this_h&quot;],localVars:[]},body:{body:&quot;if(_inline_1_arg0_&gt;this_h)this_h=_inline_1_arg0_&quot;,args:[{name:&quot;_inline_1_arg0_&quot;,lvalue:!1,rvalue:!0,count:2}],thisVars:[&quot;this_h&quot;],localVars:[]},post:{body:&quot;return this_h&quot;,args:[],thisVars:[&quot;this_h&quot;],localVars:[]}}),r.inf=a({args:[&quot;array&quot;],pre:{body:&quot;this_h=Infinity&quot;,args:[],thisVars:[&quot;this_h&quot;],localVars:[]},body:{body:&quot;if(_inline_1_arg0_&lt;this_h)this_h=_inline_1_arg0_&quot;,args:[{name:&quot;_inline_1_arg0_&quot;,lvalue:!1,rvalue:!0,count:2}],thisVars:[&quot;this_h&quot;],localVars:[]},post:{body:&quot;return this_h&quot;,args:[],thisVars:[&quot;this_h&quot;],localVars:[]}}),r.argmin=a({args:[&quot;index&quot;,&quot;array&quot;,&quot;shape&quot;],pre:{body:&quot;{this_v=Infinity;this_i=_inline_0_arg2_.slice(0)}&quot;,args:[{name:&quot;_inline_0_arg0_&quot;,lvalue:!1,rvalue:!1,count:0},{name:&quot;_inline_0_arg1_&quot;,lvalue:!1,rvalue:!1,count:0},{name:&quot;_inline_0_arg2_&quot;,lvalue:!1,rvalue:!0,count:1}],thisVars:[&quot;this_i&quot;,&quot;this_v&quot;],localVars:[]},body:{body:&quot;{if(_inline_1_arg1_&lt;this_v){this_v=_inline_1_arg1_;for(var _inline_1_k=0;_inline_1_k&lt;_inline_1_arg0_.length;++_inline_1_k){this_i[_inline_1_k]=_inline_1_arg0_[_inline_1_k]}}}&quot;,args:[{name:&quot;_inline_1_arg0_&quot;,lvalue:!1,rvalue:!0,count:2},{name:&quot;_inline_1_arg1_&quot;,lvalue:!1,rvalue:!0,count:2}],thisVars:[&quot;this_i&quot;,&quot;this_v&quot;],localVars:[&quot;_inline_1_k&quot;]},post:{body:&quot;{return this_i}&quot;,args:[],thisVars:[&quot;this_i&quot;],localVars:[]}}),r.argmax=a({args:[&quot;index&quot;,&quot;array&quot;,&quot;shape&quot;],pre:{body:&quot;{this_v=-Infinity;this_i=_inline_0_arg2_.slice(0)}&quot;,args:[{name:&quot;_inline_0_arg0_&quot;,lvalue:!1,rvalue:!1,count:0},{name:&quot;_inline_0_arg1_&quot;,lvalue:!1,rvalue:!1,count:0},{name:&quot;_inline_0_arg2_&quot;,lvalue:!1,rvalue:!0,count:1}],thisVars:[&quot;this_i&quot;,&quot;this_v&quot;],localVars:[]},body:{body:&quot;{if(_inline_1_arg1_&gt;this_v){this_v=_inline_1_arg1_;for(var _inline_1_k=0;_inline_1_k&lt;_inline_1_arg0_.length;++_inline_1_k){this_i[_inline_1_k]=_inline_1_arg0_[_inline_1_k]}}}&quot;,args:[{name:&quot;_inline_1_arg0_&quot;,lvalue:!1,rvalue:!0,count:2},{name:&quot;_inline_1_arg1_&quot;,lvalue:!1,rvalue:!0,count:2}],thisVars:[&quot;this_i&quot;,&quot;this_v&quot;],localVars:[&quot;_inline_1_k&quot;]},post:{body:&quot;{return this_i}&quot;,args:[],thisVars:[&quot;this_i&quot;],localVars:[]}}),r.random=i({args:[&quot;array&quot;],pre:{args:[],body:&quot;this_f=Math.random&quot;,thisVars:[&quot;this_f&quot;]},body:{args:[&quot;a&quot;],body:&quot;a=this_f()&quot;,thisVars:[&quot;this_f&quot;]},funcName:&quot;random&quot;}),r.assign=i({args:[&quot;array&quot;,&quot;array&quot;],body:{args:[&quot;a&quot;,&quot;b&quot;],body:&quot;a=b&quot;},funcName:&quot;assign&quot;}),r.assigns=i({args:[&quot;array&quot;,&quot;scalar&quot;],body:{args:[&quot;a&quot;,&quot;b&quot;],body:&quot;a=b&quot;},funcName:&quot;assigns&quot;}),r.equals=a({args:[&quot;array&quot;,&quot;array&quot;],pre:o,body:{args:[{name:&quot;x&quot;,lvalue:!1,rvalue:!0,count:1},{name:&quot;y&quot;,lvalue:!1,rvalue:!0,count:1}],body:&quot;if(x!==y){return false}&quot;,localVars:[],thisVars:[]},post:{args:[],localVars:[],thisVars:[],body:&quot;return true&quot;},funcName:&quot;equals&quot;})},{&quot;cwise-compiler&quot;:116}],453:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;ndarray&quot;),i=t(&quot;./doConvert.js&quot;);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)}},{&quot;./doConvert.js&quot;:454,ndarray:458}],454:[function(t,e,r){e.exports=t(&quot;cwise-compiler&quot;)({args:[&quot;array&quot;,&quot;scalar&quot;,&quot;index&quot;],pre:{body:&quot;{}&quot;,args:[],thisVars:[],localVars:[]},body:{body:&quot;{\nvar _inline_1_v=_inline_1_arg1_,_inline_1_i\nfor(_inline_1_i=0;_inline_1_i&lt;_inline_1_arg2_.length-1;++_inline_1_i) {\n_inline_1_v=_inline_1_v[_inline_1_arg2_[_inline_1_i]]\n}\n_inline_1_arg0_=_inline_1_v[_inline_1_arg2_[_inline_1_arg2_.length-1]]\n}&quot;,args:[{name:&quot;_inline_1_arg0_&quot;,lvalue:!0,rvalue:!1,count:1},{name:&quot;_inline_1_arg1_&quot;,lvalue:!1,rvalue:!0,count:1},{name:&quot;_inline_1_arg2_&quot;,lvalue:!1,rvalue:!0,count:4}],thisVars:[],localVars:[&quot;_inline_1_i&quot;,&quot;_inline_1_v&quot;]},post:{body:&quot;{}&quot;,args:[],thisVars:[],localVars:[]},funcName:&quot;convert&quot;,blockSize:64})},{&quot;cwise-compiler&quot;:116}],455:[function(t,e,r){&quot;use strict&quot;;function n(t){switch(t){case&quot;uint8&quot;:return[a.mallocUint8,a.freeUint8];case&quot;uint16&quot;:return[a.mallocUint16,a.freeUint16];case&quot;uint32&quot;:return[a.mallocUint32,a.freeUint32];case&quot;int8&quot;:return[a.mallocInt8,a.freeInt8];case&quot;int16&quot;:return[a.mallocInt16,a.freeInt16];case&quot;int32&quot;:return[a.mallocInt32,a.freeInt32];case&quot;float32&quot;:return[a.mallocFloat,a.freeFloat];case&quot;float64&quot;:return[a.mallocDouble,a.freeDouble];default:return null}}function i(t){for(var e=[],r=0;r&lt;t;++r)e.push(&quot;s&quot;+r);for(r=0;r&lt;t;++r)e.push(&quot;n&quot;+r);for(r=1;r&lt;t;++r)e.push(&quot;d&quot;+r);for(r=1;r&lt;t;++r)e.push(&quot;e&quot;+r);for(r=1;r&lt;t;++r)e.push(&quot;f&quot;+r);return e}var a=t(&quot;typedarray-pool&quot;),o=32;e.exports=function(t,e){var r=[&quot;'use strict'&quot;],a=[&quot;ndarraySortWrapper&quot;,t.join(&quot;d&quot;),e].join(&quot;&quot;);r.push([&quot;function &quot;,a,&quot;(&quot;,[&quot;array&quot;].join(&quot;,&quot;),&quot;){&quot;].join(&quot;&quot;));for(var s=[&quot;data=array.data,offset=array.offset|0,shape=array.shape,stride=array.stride&quot;],l=0;l&lt;t.length;++l)s.push([&quot;s&quot;,l,&quot;=stride[&quot;,l,&quot;]|0,n&quot;,l,&quot;=shape[&quot;,l,&quot;]|0&quot;].join(&quot;&quot;));var c=new Array(t.length),u=[];for(l=0;l&lt;t.length;++l)0!==(p=t[l])&amp;&amp;(0===u.length?c[p]=&quot;1&quot;:c[p]=u.join(&quot;*&quot;),u.push(&quot;n&quot;+p));var f=-1,h=-1;for(l=0;l&lt;t.length;++l){var d=t[l];0!==d&amp;&amp;(f&gt;0?s.push([&quot;d&quot;,d,&quot;=s&quot;,d,&quot;-d&quot;,f,&quot;*n&quot;,f].join(&quot;&quot;)):s.push([&quot;d&quot;,d,&quot;=s&quot;,d].join(&quot;&quot;)),f=d);var p;0!=(p=t.length-1-l)&amp;&amp;(h&gt;0?s.push([&quot;e&quot;,p,&quot;=s&quot;,p,&quot;-e&quot;,h,&quot;*n&quot;,h,&quot;,f&quot;,p,&quot;=&quot;,c[p],&quot;-f&quot;,h,&quot;*n&quot;,h].join(&quot;&quot;)):s.push([&quot;e&quot;,p,&quot;=s&quot;,p,&quot;,f&quot;,p,&quot;=&quot;,c[p]].join(&quot;&quot;)),h=p)}r.push(&quot;var &quot;+s.join(&quot;,&quot;));var m=[&quot;0&quot;,&quot;n0-1&quot;,&quot;data&quot;,&quot;offset&quot;].concat(i(t.length));r.push([&quot;if(n0&lt;=&quot;,o,&quot;){&quot;,&quot;insertionSort(&quot;,m.join(&quot;,&quot;),&quot;)}else{&quot;,&quot;quickSort(&quot;,m.join(&quot;,&quot;),&quot;)}&quot;].join(&quot;&quot;)),r.push(&quot;}return &quot;+a);var g=new Function(&quot;insertionSort&quot;,&quot;quickSort&quot;,r.join(&quot;\n&quot;)),v=function(t,e){function r(t){return&quot;generic&quot;===e?[&quot;data.get(&quot;,t,&quot;)&quot;].join(&quot;&quot;):[&quot;data[&quot;,t,&quot;]&quot;].join(&quot;&quot;)}function a(t,r){return&quot;generic&quot;===e?[&quot;data.set(&quot;,t,&quot;,&quot;,r,&quot;)&quot;].join(&quot;&quot;):[&quot;data[&quot;,t,&quot;]=&quot;,r].join(&quot;&quot;)}var o=[&quot;'use strict'&quot;],s=[&quot;ndarrayInsertionSort&quot;,t.join(&quot;d&quot;),e].join(&quot;&quot;),l=[&quot;left&quot;,&quot;right&quot;,&quot;data&quot;,&quot;offset&quot;].concat(i(t.length)),c=n(e),u=[&quot;i,j,cptr,ptr=left*s0+offset&quot;];if(t.length&gt;1){for(var f=[],h=1;h&lt;t.length;++h)u.push(&quot;i&quot;+h),f.push(&quot;n&quot;+h);c?u.push(&quot;scratch=malloc(&quot;+f.join(&quot;*&quot;)+&quot;)&quot;):u.push(&quot;scratch=new Array(&quot;+f.join(&quot;*&quot;)+&quot;)&quot;),u.push(&quot;dptr&quot;,&quot;sptr&quot;,&quot;a&quot;,&quot;b&quot;)}else u.push(&quot;scratch&quot;);if(o.push([&quot;function &quot;,s,&quot;(&quot;,l.join(&quot;,&quot;),&quot;){var &quot;,u.join(&quot;,&quot;)].join(&quot;&quot;),&quot;for(i=left+1;i&lt;=right;++i){&quot;,&quot;j=i;ptr+=s0&quot;,&quot;cptr=ptr&quot;),t.length&gt;1){for(o.push(&quot;dptr=0;sptr=ptr&quot;),h=t.length-1;h&gt;=0;--h)0!==(d=t[h])&amp;&amp;o.push([&quot;for(i&quot;,d,&quot;=0;i&quot;,d,&quot;&lt;n&quot;,d,&quot;;++i&quot;,d,&quot;){&quot;].join(&quot;&quot;));for(o.push(&quot;scratch[dptr++]=&quot;,r(&quot;sptr&quot;)),h=0;h&lt;t.length;++h)0!==(d=t[h])&amp;&amp;o.push(&quot;sptr+=d&quot;+d,&quot;}&quot;);for(o.push(&quot;__g:while(j--\x3eleft){&quot;,&quot;dptr=0&quot;,&quot;sptr=cptr-s0&quot;),h=1;h&lt;t.length;++h)1===h&amp;&amp;o.push(&quot;__l:&quot;),o.push([&quot;for(i&quot;,h,&quot;=0;i&quot;,h,&quot;&lt;n&quot;,h,&quot;;++i&quot;,h,&quot;){&quot;].join(&quot;&quot;));for(o.push([&quot;a=&quot;,r(&quot;sptr&quot;),&quot;\nb=scratch[dptr]\nif(a&lt;b){break __g}\nif(a&gt;b){break __l}&quot;].join(&quot;&quot;)),h=t.length-1;h&gt;=1;--h)o.push(&quot;sptr+=e&quot;+h,&quot;dptr+=f&quot;+h,&quot;}&quot;);for(o.push(&quot;dptr=cptr;sptr=cptr-s0&quot;),h=t.length-1;h&gt;=0;--h)0!==(d=t[h])&amp;&amp;o.push([&quot;for(i&quot;,d,&quot;=0;i&quot;,d,&quot;&lt;n&quot;,d,&quot;;++i&quot;,d,&quot;){&quot;].join(&quot;&quot;));for(o.push(a(&quot;dptr&quot;,r(&quot;sptr&quot;))),h=0;h&lt;t.length;++h)0!==(d=t[h])&amp;&amp;o.push([&quot;dptr+=d&quot;,d,&quot;;sptr+=d&quot;,d].join(&quot;&quot;),&quot;}&quot;);for(o.push(&quot;cptr-=s0\n}&quot;),o.push(&quot;dptr=cptr;sptr=0&quot;),h=t.length-1;h&gt;=0;--h)0!==(d=t[h])&amp;&amp;o.push([&quot;for(i&quot;,d,&quot;=0;i&quot;,d,&quot;&lt;n&quot;,d,&quot;;++i&quot;,d,&quot;){&quot;].join(&quot;&quot;));for(o.push(a(&quot;dptr&quot;,&quot;scratch[sptr++]&quot;)),h=0;h&lt;t.length;++h){var d;0!==(d=t[h])&amp;&amp;o.push(&quot;dptr+=d&quot;+d,&quot;}&quot;)}}else o.push(&quot;scratch=&quot;+r(&quot;ptr&quot;),&quot;while((j--\x3eleft)&amp;&amp;(&quot;+r(&quot;cptr-s0&quot;)+&quot;&gt;scratch)){&quot;,a(&quot;cptr&quot;,r(&quot;cptr-s0&quot;)),&quot;cptr-=s0&quot;,&quot;}&quot;,a(&quot;cptr&quot;,&quot;scratch&quot;));return o.push(&quot;}&quot;),t.length&gt;1&amp;&amp;c&amp;&amp;o.push(&quot;free(scratch)&quot;),o.push(&quot;} return &quot;+s),c?new Function(&quot;malloc&quot;,&quot;free&quot;,o.join(&quot;\n&quot;))(c[0],c[1]):new Function(o.join(&quot;\n&quot;))()}(t,e);return g(v,function(t,e,r){function a(t){return[&quot;(offset+&quot;,t,&quot;*s0)&quot;].join(&quot;&quot;)}function s(t){return&quot;generic&quot;===e?[&quot;data.get(&quot;,t,&quot;)&quot;].join(&quot;&quot;):[&quot;data[&quot;,t,&quot;]&quot;].join(&quot;&quot;)}function l(t,r){return&quot;generic&quot;===e?[&quot;data.set(&quot;,t,&quot;,&quot;,r,&quot;)&quot;].join(&quot;&quot;):[&quot;data[&quot;,t,&quot;]=&quot;,r].join(&quot;&quot;)}function c(e,r,n){if(1===e.length)_.push(&quot;ptr0=&quot;+a(e[0]));else for(var i=0;i&lt;e.length;++i)_.push([&quot;b_ptr&quot;,i,&quot;=s0*&quot;,e[i]].join(&quot;&quot;));for(r&amp;&amp;_.push(&quot;pivot_ptr=0&quot;),_.push(&quot;ptr_shift=offset&quot;),i=t.length-1;i&gt;=0;--i)0!==(o=t[i])&amp;&amp;_.push([&quot;for(i&quot;,o,&quot;=0;i&quot;,o,&quot;&lt;n&quot;,o,&quot;;++i&quot;,o,&quot;){&quot;].join(&quot;&quot;));if(e.length&gt;1)for(i=0;i&lt;e.length;++i)_.push([&quot;ptr&quot;,i,&quot;=b_ptr&quot;,i,&quot;+ptr_shift&quot;].join(&quot;&quot;));for(_.push(n),r&amp;&amp;_.push(&quot;++pivot_ptr&quot;),i=0;i&lt;t.length;++i){var o;0!==(o=t[i])&amp;&amp;(e.length&gt;1?_.push(&quot;ptr_shift+=d&quot;+o):_.push(&quot;ptr0+=d&quot;+o),_.push(&quot;}&quot;))}}function u(e,r,n,i){if(1===r.length)_.push(&quot;ptr0=&quot;+a(r[0]));else{for(var o=0;o&lt;r.length;++o)_.push([&quot;b_ptr&quot;,o,&quot;=s0*&quot;,r[o]].join(&quot;&quot;));_.push(&quot;ptr_shift=offset&quot;)}for(n&amp;&amp;_.push(&quot;pivot_ptr=0&quot;),e&amp;&amp;_.push(e+&quot;:&quot;),o=1;o&lt;t.length;++o)_.push([&quot;for(i&quot;,o,&quot;=0;i&quot;,o,&quot;&lt;n&quot;,o,&quot;;++i&quot;,o,&quot;){&quot;].join(&quot;&quot;));if(r.length&gt;1)for(o=0;o&lt;r.length;++o)_.push([&quot;ptr&quot;,o,&quot;=b_ptr&quot;,o,&quot;+ptr_shift&quot;].join(&quot;&quot;));for(_.push(i),o=t.length-1;o&gt;=1;--o)n&amp;&amp;_.push(&quot;pivot_ptr+=f&quot;+o),r.length&gt;1?_.push(&quot;ptr_shift+=e&quot;+o):_.push(&quot;ptr0+=e&quot;+o),_.push(&quot;}&quot;)}function f(){t.length&gt;1&amp;&amp;k&amp;&amp;_.push(&quot;free(pivot1)&quot;,&quot;free(pivot2)&quot;)}function h(e,r){var n=&quot;el&quot;+e,i=&quot;el&quot;+r;if(t.length&gt;1){var o=&quot;__l&quot;+ ++A;u(o,[n,i],!1,[&quot;comp=&quot;,s(&quot;ptr0&quot;),&quot;-&quot;,s(&quot;ptr1&quot;),&quot;\n&quot;,&quot;if(comp&gt;0){tmp0=&quot;,n,&quot;;&quot;,n,&quot;=&quot;,i,&quot;;&quot;,i,&quot;=tmp0;break &quot;,o,&quot;}\n&quot;,&quot;if(comp&lt;0){break &quot;,o,&quot;}&quot;].join(&quot;&quot;))}else _.push([&quot;if(&quot;,s(a(n)),&quot;&gt;&quot;,s(a(i)),&quot;){tmp0=&quot;,n,&quot;;&quot;,n,&quot;=&quot;,i,&quot;;&quot;,i,&quot;=tmp0}&quot;].join(&quot;&quot;))}function d(e,r){t.length&gt;1?c([e,r],!1,l(&quot;ptr0&quot;,s(&quot;ptr1&quot;))):_.push(l(a(e),s(a(r))))}function p(e,r,n){if(t.length&gt;1){var i=&quot;__l&quot;+ ++A;u(i,[r],!0,[e,&quot;=&quot;,s(&quot;ptr0&quot;),&quot;-pivot&quot;,n,&quot;[pivot_ptr]\n&quot;,&quot;if(&quot;,e,&quot;!==0){break &quot;,i,&quot;}&quot;].join(&quot;&quot;))}else _.push([e,&quot;=&quot;,s(a(r)),&quot;-pivot&quot;,n].join(&quot;&quot;))}function m(e,r){t.length&gt;1?c([e,r],!1,[&quot;tmp=&quot;,s(&quot;ptr0&quot;),&quot;\n&quot;,l(&quot;ptr0&quot;,s(&quot;ptr1&quot;)),&quot;\n&quot;,l(&quot;ptr1&quot;,&quot;tmp&quot;)].join(&quot;&quot;)):_.push([&quot;ptr0=&quot;,a(e),&quot;\n&quot;,&quot;ptr1=&quot;,a(r),&quot;\n&quot;,&quot;tmp=&quot;,s(&quot;ptr0&quot;),&quot;\n&quot;,l(&quot;ptr0&quot;,s(&quot;ptr1&quot;)),&quot;\n&quot;,l(&quot;ptr1&quot;,&quot;tmp&quot;)].join(&quot;&quot;))}function g(e,r,n){t.length&gt;1?(c([e,r,n],!1,[&quot;tmp=&quot;,s(&quot;ptr0&quot;),&quot;\n&quot;,l(&quot;ptr0&quot;,s(&quot;ptr1&quot;)),&quot;\n&quot;,l(&quot;ptr1&quot;,s(&quot;ptr2&quot;)),&quot;\n&quot;,l(&quot;ptr2&quot;,&quot;tmp&quot;)].join(&quot;&quot;)),_.push(&quot;++&quot;+r,&quot;--&quot;+n)):_.push([&quot;ptr0=&quot;,a(e),&quot;\n&quot;,&quot;ptr1=&quot;,a(r),&quot;\n&quot;,&quot;ptr2=&quot;,a(n),&quot;\n&quot;,&quot;++&quot;,r,&quot;\n&quot;,&quot;--&quot;,n,&quot;\n&quot;,&quot;tmp=&quot;,s(&quot;ptr0&quot;),&quot;\n&quot;,l(&quot;ptr0&quot;,s(&quot;ptr1&quot;)),&quot;\n&quot;,l(&quot;ptr1&quot;,s(&quot;ptr2&quot;)),&quot;\n&quot;,l(&quot;ptr2&quot;,&quot;tmp&quot;)].join(&quot;&quot;))}function v(t,e){m(t,e),_.push(&quot;--&quot;+e)}function y(e,r,n){t.length&gt;1?c([e,r],!0,[l(&quot;ptr0&quot;,s(&quot;ptr1&quot;)),&quot;\n&quot;,l(&quot;ptr1&quot;,[&quot;pivot&quot;,n,&quot;[pivot_ptr]&quot;].join(&quot;&quot;))].join(&quot;&quot;)):_.push(l(a(e),s(a(r))),l(a(r),&quot;pivot&quot;+n))}function x(e,r){_.push([&quot;if((&quot;,r,&quot;-&quot;,e,&quot;)&lt;=&quot;,o,&quot;){\n&quot;,&quot;insertionSort(&quot;,e,&quot;,&quot;,r,&quot;,data,offset,&quot;,i(t.length).join(&quot;,&quot;),&quot;)\n&quot;,&quot;}else{\n&quot;,w,&quot;(&quot;,e,&quot;,&quot;,r,&quot;,data,offset,&quot;,i(t.length).join(&quot;,&quot;),&quot;)\n&quot;,&quot;}&quot;].join(&quot;&quot;))}function b(e,r,n){t.length&gt;1?(_.push([&quot;__l&quot;,++A,&quot;:while(true){&quot;].join(&quot;&quot;)),c([e],!0,[&quot;if(&quot;,s(&quot;ptr0&quot;),&quot;!==pivot&quot;,r,&quot;[pivot_ptr]){break __l&quot;,A,&quot;}&quot;].join(&quot;&quot;)),_.push(n,&quot;}&quot;)):_.push([&quot;while(&quot;,s(a(e)),&quot;===pivot&quot;,r,&quot;){&quot;,n,&quot;}&quot;].join(&quot;&quot;))}var _=[&quot;'use strict'&quot;],w=[&quot;ndarrayQuickSort&quot;,t.join(&quot;d&quot;),e].join(&quot;&quot;),M=[&quot;left&quot;,&quot;right&quot;,&quot;data&quot;,&quot;offset&quot;].concat(i(t.length)),k=n(e),A=0;_.push([&quot;function &quot;,w,&quot;(&quot;,M.join(&quot;,&quot;),&quot;){&quot;].join(&quot;&quot;));var T=[&quot;sixth=((right-left+1)/6)|0&quot;,&quot;index1=left+sixth&quot;,&quot;index5=right-sixth&quot;,&quot;index3=(left+right)&gt;&gt;1&quot;,&quot;index2=index3-sixth&quot;,&quot;index4=index3+sixth&quot;,&quot;el1=index1&quot;,&quot;el2=index2&quot;,&quot;el3=index3&quot;,&quot;el4=index4&quot;,&quot;el5=index5&quot;,&quot;less=left+1&quot;,&quot;great=right-1&quot;,&quot;pivots_are_equal=true&quot;,&quot;tmp&quot;,&quot;tmp0&quot;,&quot;x&quot;,&quot;y&quot;,&quot;z&quot;,&quot;k&quot;,&quot;ptr0&quot;,&quot;ptr1&quot;,&quot;ptr2&quot;,&quot;comp_pivot1=0&quot;,&quot;comp_pivot2=0&quot;,&quot;comp=0&quot;];if(t.length&gt;1){for(var S=[],E=1;E&lt;t.length;++E)S.push(&quot;n&quot;+E),T.push(&quot;i&quot;+E);for(E=0;E&lt;8;++E)T.push(&quot;b_ptr&quot;+E);T.push(&quot;ptr3&quot;,&quot;ptr4&quot;,&quot;ptr5&quot;,&quot;ptr6&quot;,&quot;ptr7&quot;,&quot;pivot_ptr&quot;,&quot;ptr_shift&quot;,&quot;elementSize=&quot;+S.join(&quot;*&quot;)),k?T.push(&quot;pivot1=malloc(elementSize)&quot;,&quot;pivot2=malloc(elementSize)&quot;):T.push(&quot;pivot1=new Array(elementSize),pivot2=new Array(elementSize)&quot;)}else T.push(&quot;pivot1&quot;,&quot;pivot2&quot;);return _.push(&quot;var &quot;+T.join(&quot;,&quot;)),h(1,2),h(4,5),h(1,3),h(2,3),h(1,4),h(3,4),h(2,5),h(2,3),h(4,5),t.length&gt;1?c([&quot;el1&quot;,&quot;el2&quot;,&quot;el3&quot;,&quot;el4&quot;,&quot;el5&quot;,&quot;index1&quot;,&quot;index3&quot;,&quot;index5&quot;],!0,[&quot;pivot1[pivot_ptr]=&quot;,s(&quot;ptr1&quot;),&quot;\n&quot;,&quot;pivot2[pivot_ptr]=&quot;,s(&quot;ptr3&quot;),&quot;\n&quot;,&quot;pivots_are_equal=pivots_are_equal&amp;&amp;(pivot1[pivot_ptr]===pivot2[pivot_ptr])\n&quot;,&quot;x=&quot;,s(&quot;ptr0&quot;),&quot;\n&quot;,&quot;y=&quot;,s(&quot;ptr2&quot;),&quot;\n&quot;,&quot;z=&quot;,s(&quot;ptr4&quot;),&quot;\n&quot;,l(&quot;ptr5&quot;,&quot;x&quot;),&quot;\n&quot;,l(&quot;ptr6&quot;,&quot;y&quot;),&quot;\n&quot;,l(&quot;ptr7&quot;,&quot;z&quot;)].join(&quot;&quot;)):_.push([&quot;pivot1=&quot;,s(a(&quot;el2&quot;)),&quot;\n&quot;,&quot;pivot2=&quot;,s(a(&quot;el4&quot;)),&quot;\n&quot;,&quot;pivots_are_equal=pivot1===pivot2\n&quot;,&quot;x=&quot;,s(a(&quot;el1&quot;)),&quot;\n&quot;,&quot;y=&quot;,s(a(&quot;el3&quot;)),&quot;\n&quot;,&quot;z=&quot;,s(a(&quot;el5&quot;)),&quot;\n&quot;,l(a(&quot;index1&quot;),&quot;x&quot;),&quot;\n&quot;,l(a(&quot;index3&quot;),&quot;y&quot;),&quot;\n&quot;,l(a(&quot;index5&quot;),&quot;z&quot;)].join(&quot;&quot;)),d(&quot;index2&quot;,&quot;left&quot;),d(&quot;index4&quot;,&quot;right&quot;),_.push(&quot;if(pivots_are_equal){&quot;),_.push(&quot;for(k=less;k&lt;=great;++k){&quot;),p(&quot;comp&quot;,&quot;k&quot;,1),_.push(&quot;if(comp===0){continue}&quot;),_.push(&quot;if(comp&lt;0){&quot;),_.push(&quot;if(k!==less){&quot;),m(&quot;k&quot;,&quot;less&quot;),_.push(&quot;}&quot;),_.push(&quot;++less&quot;),_.push(&quot;}else{&quot;),_.push(&quot;while(true){&quot;),p(&quot;comp&quot;,&quot;great&quot;,1),_.push(&quot;if(comp&gt;0){&quot;),_.push(&quot;great--&quot;),_.push(&quot;}else if(comp&lt;0){&quot;),g(&quot;k&quot;,&quot;less&quot;,&quot;great&quot;),_.push(&quot;break&quot;),_.push(&quot;}else{&quot;),v(&quot;k&quot;,&quot;great&quot;),_.push(&quot;break&quot;),_.push(&quot;}&quot;),_.push(&quot;}&quot;),_.push(&quot;}&quot;),_.push(&quot;}&quot;),_.push(&quot;}else{&quot;),_.push(&quot;for(k=less;k&lt;=great;++k){&quot;),p(&quot;comp_pivot1&quot;,&quot;k&quot;,1),_.push(&quot;if(comp_pivot1&lt;0){&quot;),_.push(&quot;if(k!==less){&quot;),m(&quot;k&quot;,&quot;less&quot;),_.push(&quot;}&quot;),_.push(&quot;++less&quot;),_.push(&quot;}else{&quot;),p(&quot;comp_pivot2&quot;,&quot;k&quot;,2),_.push(&quot;if(comp_pivot2&gt;0){&quot;),_.push(&quot;while(true){&quot;),p(&quot;comp&quot;,&quot;great&quot;,2),_.push(&quot;if(comp&gt;0){&quot;),_.push(&quot;if(--great&lt;k){break}&quot;),_.push(&quot;continue&quot;),_.push(&quot;}else{&quot;),p(&quot;comp&quot;,&quot;great&quot;,1),_.push(&quot;if(comp&lt;0){&quot;),g(&quot;k&quot;,&quot;less&quot;,&quot;great&quot;),_.push(&quot;}else{&quot;),v(&quot;k&quot;,&quot;great&quot;),_.push(&quot;}&quot;),_.push(&quot;break&quot;),_.push(&quot;}&quot;),_.push(&quot;}&quot;),_.push(&quot;}&quot;),_.push(&quot;}&quot;),_.push(&quot;}&quot;),_.push(&quot;}&quot;),y(&quot;left&quot;,&quot;(less-1)&quot;,1),y(&quot;right&quot;,&quot;(great+1)&quot;,2),x(&quot;left&quot;,&quot;(less-2)&quot;),x(&quot;(great+2)&quot;,&quot;right&quot;),_.push(&quot;if(pivots_are_equal){&quot;),f(),_.push(&quot;return&quot;),_.push(&quot;}&quot;),_.push(&quot;if(less&lt;index1&amp;&amp;great&gt;index5){&quot;),b(&quot;less&quot;,1,&quot;++less&quot;),b(&quot;great&quot;,2,&quot;--great&quot;),_.push(&quot;for(k=less;k&lt;=great;++k){&quot;),p(&quot;comp_pivot1&quot;,&quot;k&quot;,1),_.push(&quot;if(comp_pivot1===0){&quot;),_.push(&quot;if(k!==less){&quot;),m(&quot;k&quot;,&quot;less&quot;),_.push(&quot;}&quot;),_.push(&quot;++less&quot;),_.push(&quot;}else{&quot;),p(&quot;comp_pivot2&quot;,&quot;k&quot;,2),_.push(&quot;if(comp_pivot2===0){&quot;),_.push(&quot;while(true){&quot;),p(&quot;comp&quot;,&quot;great&quot;,2),_.push(&quot;if(comp===0){&quot;),_.push(&quot;if(--great&lt;k){break}&quot;),_.push(&quot;continue&quot;),_.push(&quot;}else{&quot;),p(&quot;comp&quot;,&quot;great&quot;,1),_.push(&quot;if(comp&lt;0){&quot;),g(&quot;k&quot;,&quot;less&quot;,&quot;great&quot;),_.push(&quot;}else{&quot;),v(&quot;k&quot;,&quot;great&quot;),_.push(&quot;}&quot;),_.push(&quot;break&quot;),_.push(&quot;}&quot;),_.push(&quot;}&quot;),_.push(&quot;}&quot;),_.push(&quot;}&quot;),_.push(&quot;}&quot;),_.push(&quot;}&quot;),f(),x(&quot;less&quot;,&quot;great&quot;),_.push(&quot;}return &quot;+w),t.length&gt;1&amp;&amp;k?new Function(&quot;insertionSort&quot;,&quot;malloc&quot;,&quot;free&quot;,_.join(&quot;\n&quot;))(r,k[0],k[1]):new Function(&quot;insertionSort&quot;,_.join(&quot;\n&quot;))(r)}(t,e,v))}},{&quot;typedarray-pool&quot;:554}],456:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;./lib/compile_sort.js&quot;),i={};e.exports=function(t){var e=t.order,r=t.dtype,a=[e,r].join(&quot;:&quot;),o=i[a];return o||(i[a]=o=n(e,r)),o(t),t}},{&quot;./lib/compile_sort.js&quot;:455}],457:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;ndarray-linear-interpolate&quot;),i=t(&quot;cwise/lib/wrapper&quot;)({args:[&quot;index&quot;,&quot;array&quot;,&quot;scalar&quot;,&quot;scalar&quot;,&quot;scalar&quot;],pre:{body:&quot;{this_warped=new Array(_inline_9_arg4_)}&quot;,args:[{name:&quot;_inline_9_arg0_&quot;,lvalue:!1,rvalue:!1,count:0},{name:&quot;_inline_9_arg1_&quot;,lvalue:!1,rvalue:!1,count:0},{name:&quot;_inline_9_arg2_&quot;,lvalue:!1,rvalue:!1,count:0},{name:&quot;_inline_9_arg3_&quot;,lvalue:!1,rvalue:!1,count:0},{name:&quot;_inline_9_arg4_&quot;,lvalue:!1,rvalue:!0,count:1}],thisVars:[&quot;this_warped&quot;],localVars:[]},body:{body:&quot;{_inline_10_arg2_(this_warped,_inline_10_arg0_),_inline_10_arg1_=_inline_10_arg3_.apply(void 0,this_warped)}&quot;,args:[{name:&quot;_inline_10_arg0_&quot;,lvalue:!1,rvalue:!0,count:1},{name:&quot;_inline_10_arg1_&quot;,lvalue:!0,rvalue:!1,count:1},{name:&quot;_inline_10_arg2_&quot;,lvalue:!1,rvalue:!0,count:1},{name:&quot;_inline_10_arg3_&quot;,lvalue:!1,rvalue:!0,count:1},{name:&quot;_inline_10_arg4_&quot;,lvalue:!1,rvalue:!1,count:0}],thisVars:[&quot;this_warped&quot;],localVars:[]},post:{body:&quot;{}&quot;,args:[],thisVars:[],localVars:[]},debug:!1,funcName:&quot;warpND&quot;,blockSize:64}),a=t(&quot;cwise/lib/wrapper&quot;)({args:[&quot;index&quot;,&quot;array&quot;,&quot;scalar&quot;,&quot;scalar&quot;,&quot;scalar&quot;],pre:{body:&quot;{this_warped=[0]}&quot;,args:[],thisVars:[&quot;this_warped&quot;],localVars:[]},body:{body:&quot;{_inline_13_arg2_(this_warped,_inline_13_arg0_),_inline_13_arg1_=_inline_13_arg3_(_inline_13_arg4_,this_warped[0])}&quot;,args:[{name:&quot;_inline_13_arg0_&quot;,lvalue:!1,rvalue:!0,count:1},{name:&quot;_inline_13_arg1_&quot;,lvalue:!0,rvalue:!1,count:1},{name:&quot;_inline_13_arg2_&quot;,lvalue:!1,rvalue:!0,count:1},{name:&quot;_inline_13_arg3_&quot;,lvalue:!1,rvalue:!0,count:1},{name:&quot;_inline_13_arg4_&quot;,lvalue:!1,rvalue:!0,count:1}],thisVars:[&quot;this_warped&quot;],localVars:[]},post:{body:&quot;{}&quot;,args:[],thisVars:[],localVars:[]},debug:!1,funcName:&quot;warp1D&quot;,blockSize:64}),o=t(&quot;cwise/lib/wrapper&quot;)({args:[&quot;index&quot;,&quot;array&quot;,&quot;scalar&quot;,&quot;scalar&quot;,&quot;scalar&quot;],pre:{body:&quot;{this_warped=[0,0]}&quot;,args:[],thisVars:[&quot;this_warped&quot;],localVars:[]},body:{body:&quot;{_inline_16_arg2_(this_warped,_inline_16_arg0_),_inline_16_arg1_=_inline_16_arg3_(_inline_16_arg4_,this_warped[0],this_warped[1])}&quot;,args:[{name:&quot;_inline_16_arg0_&quot;,lvalue:!1,rvalue:!0,count:1},{name:&quot;_inline_16_arg1_&quot;,lvalue:!0,rvalue:!1,count:1},{name:&quot;_inline_16_arg2_&quot;,lvalue:!1,rvalue:!0,count:1},{name:&quot;_inline_16_arg3_&quot;,lvalue:!1,rvalue:!0,count:1},{name:&quot;_inline_16_arg4_&quot;,lvalue:!1,rvalue:!0,count:1}],thisVars:[&quot;this_warped&quot;],localVars:[]},post:{body:&quot;{}&quot;,args:[],thisVars:[],localVars:[]},debug:!1,funcName:&quot;warp2D&quot;,blockSize:64}),s=t(&quot;cwise/lib/wrapper&quot;)({args:[&quot;index&quot;,&quot;array&quot;,&quot;scalar&quot;,&quot;scalar&quot;,&quot;scalar&quot;],pre:{body:&quot;{this_warped=[0,0,0]}&quot;,args:[],thisVars:[&quot;this_warped&quot;],localVars:[]},body:{body:&quot;{_inline_19_arg2_(this_warped,_inline_19_arg0_),_inline_19_arg1_=_inline_19_arg3_(_inline_19_arg4_,this_warped[0],this_warped[1],this_warped[2])}&quot;,args:[{name:&quot;_inline_19_arg0_&quot;,lvalue:!1,rvalue:!0,count:1},{name:&quot;_inline_19_arg1_&quot;,lvalue:!0,rvalue:!1,count:1},{name:&quot;_inline_19_arg2_&quot;,lvalue:!1,rvalue:!0,count:1},{name:&quot;_inline_19_arg3_&quot;,lvalue:!1,rvalue:!0,count:1},{name:&quot;_inline_19_arg4_&quot;,lvalue:!1,rvalue:!0,count:1}],thisVars:[&quot;this_warped&quot;],localVars:[]},post:{body:&quot;{}&quot;,args:[],thisVars:[],localVars:[]},debug:!1,funcName:&quot;warp3D&quot;,blockSize:64});e.exports=function(t,e,r){switch(e.shape.length){case 1:a(t,r,n.d1,e);break;case 2:o(t,r,n.d2,e);break;case 3:s(t,r,n.d3,e);break;default:i(t,r,n.bind(void 0,e),e.shape.length)}return t}},{&quot;cwise/lib/wrapper&quot;:119,&quot;ndarray-linear-interpolate&quot;:451}],458:[function(t,e,r){function n(t,e){return t[0]-e[0]}function i(){var t,e=this.stride,r=new Array(e.length);for(t=0;t&lt;r.length;++t)r[t]=[Math.abs(e[t]),t];r.sort(n);var i=new Array(r.length);for(t=0;t&lt;i.length;++t)i[t]=r[t][1];return i}function a(t,e){var r=[&quot;View&quot;,e,&quot;d&quot;,t].join(&quot;&quot;);e&lt;0&amp;&amp;(r=&quot;View_Nil&quot;+t);var n=&quot;generic&quot;===t;if(-1===e){var a=&quot;function &quot;+r+&quot;(a){this.data=a;};var proto=&quot;+r+&quot;.prototype;proto.dtype='&quot;+t+&quot;';proto.index=function(){return -1};proto.size=0;proto.dimension=-1;proto.shape=proto.stride=proto.order=[];proto.lo=proto.hi=proto.transpose=proto.step=function(){return new &quot;+r+&quot;(this.data);};proto.get=proto.set=function(){};proto.pick=function(){return null};return function construct_&quot;+r+&quot;(a){return new &quot;+r+&quot;(a);}&quot;;return new Function(a)()}if(0===e){a=&quot;function &quot;+r+&quot;(a,d) {this.data = a;this.offset = d};var proto=&quot;+r+&quot;.prototype;proto.dtype='&quot;+t+&quot;';proto.index=function(){return this.offset};proto.dimension=0;proto.size=1;proto.shape=proto.stride=proto.order=[];proto.lo=proto.hi=proto.transpose=proto.step=function &quot;+r+&quot;_copy() {return new &quot;+r+&quot;(this.data,this.offset)};proto.pick=function &quot;+r+&quot;_pick(){return TrivialArray(this.data);};proto.valueOf=proto.get=function &quot;+r+&quot;_get(){return &quot;+(n?&quot;this.data.get(this.offset)&quot;:&quot;this.data[this.offset]&quot;)+&quot;};proto.set=function &quot;+r+&quot;_set(v){return &quot;+(n?&quot;this.data.set(this.offset,v)&quot;:&quot;this.data[this.offset]=v&quot;)+&quot;};return function construct_&quot;+r+&quot;(a,b,c,d){return new &quot;+r+&quot;(a,d)}&quot;;return new Function(&quot;TrivialArray&quot;,a)(c[t][0])}a=[&quot;'use strict'&quot;];var s=o(e),l=s.map(function(t){return&quot;i&quot;+t}),u=&quot;this.offset+&quot;+s.map(function(t){return&quot;this.stride[&quot;+t+&quot;]*i&quot;+t}).join(&quot;+&quot;),f=s.map(function(t){return&quot;b&quot;+t}).join(&quot;,&quot;),h=s.map(function(t){return&quot;c&quot;+t}).join(&quot;,&quot;);a.push(&quot;function &quot;+r+&quot;(a,&quot;+f+&quot;,&quot;+h+&quot;,d){this.data=a&quot;,&quot;this.shape=[&quot;+f+&quot;]&quot;,&quot;this.stride=[&quot;+h+&quot;]&quot;,&quot;this.offset=d|0}&quot;,&quot;var proto=&quot;+r+&quot;.prototype&quot;,&quot;proto.dtype='&quot;+t+&quot;'&quot;,&quot;proto.dimension=&quot;+e),a.push(&quot;Object.defineProperty(proto,'size',{get:function &quot;+r+&quot;_size(){return &quot;+s.map(function(t){return&quot;this.shape[&quot;+t+&quot;]&quot;}).join(&quot;*&quot;),&quot;}})&quot;),1===e?a.push(&quot;proto.order=[0]&quot;):(a.push(&quot;Object.defineProperty(proto,'order',{get:&quot;),e&lt;4?(a.push(&quot;function &quot;+r+&quot;_order(){&quot;),2===e?a.push(&quot;return (Math.abs(this.stride[0])&gt;Math.abs(this.stride[1]))?[1,0]:[0,1]}})&quot;):3===e&amp;&amp;a.push(&quot;var s0=Math.abs(this.stride[0]),s1=Math.abs(this.stride[1]),s2=Math.abs(this.stride[2]);if(s0&gt;s1){if(s1&gt;s2){return [2,1,0];}else if(s0&gt;s2){return [1,2,0];}else{return [1,0,2];}}else if(s0&gt;s2){return [2,0,1];}else if(s2&gt;s1){return [0,1,2];}else{return [0,2,1];}}})&quot;)):a.push(&quot;ORDER})&quot;)),a.push(&quot;proto.set=function &quot;+r+&quot;_set(&quot;+l.join(&quot;,&quot;)+&quot;,v){&quot;),n?a.push(&quot;return this.data.set(&quot;+u+&quot;,v)}&quot;):a.push(&quot;return this.data[&quot;+u+&quot;]=v}&quot;),a.push(&quot;proto.get=function &quot;+r+&quot;_get(&quot;+l.join(&quot;,&quot;)+&quot;){&quot;),n?a.push(&quot;return this.data.get(&quot;+u+&quot;)}&quot;):a.push(&quot;return this.data[&quot;+u+&quot;]}&quot;),a.push(&quot;proto.index=function &quot;+r+&quot;_index(&quot;,l.join(),&quot;){return &quot;+u+&quot;}&quot;),a.push(&quot;proto.hi=function &quot;+r+&quot;_hi(&quot;+l.join(&quot;,&quot;)+&quot;){return new &quot;+r+&quot;(this.data,&quot;+s.map(function(t){return[&quot;(typeof i&quot;,t,&quot;!=='number'||i&quot;,t,&quot;&lt;0)?this.shape[&quot;,t,&quot;]:i&quot;,t,&quot;|0&quot;].join(&quot;&quot;)}).join(&quot;,&quot;)+&quot;,&quot;+s.map(function(t){return&quot;this.stride[&quot;+t+&quot;]&quot;}).join(&quot;,&quot;)+&quot;,this.offset)}&quot;);var d=s.map(function(t){return&quot;a&quot;+t+&quot;=this.shape[&quot;+t+&quot;]&quot;}),p=s.map(function(t){return&quot;c&quot;+t+&quot;=this.stride[&quot;+t+&quot;]&quot;});a.push(&quot;proto.lo=function &quot;+r+&quot;_lo(&quot;+l.join(&quot;,&quot;)+&quot;){var b=this.offset,d=0,&quot;+d.join(&quot;,&quot;)+&quot;,&quot;+p.join(&quot;,&quot;));for(var m=0;m&lt;e;++m)a.push(&quot;if(typeof i&quot;+m+&quot;==='number'&amp;&amp;i&quot;+m+&quot;&gt;=0){d=i&quot;+m+&quot;|0;b+=c&quot;+m+&quot;*d;a&quot;+m+&quot;-=d}&quot;);a.push(&quot;return new &quot;+r+&quot;(this.data,&quot;+s.map(function(t){return&quot;a&quot;+t}).join(&quot;,&quot;)+&quot;,&quot;+s.map(function(t){return&quot;c&quot;+t}).join(&quot;,&quot;)+&quot;,b)}&quot;),a.push(&quot;proto.step=function &quot;+r+&quot;_step(&quot;+l.join(&quot;,&quot;)+&quot;){var &quot;+s.map(function(t){return&quot;a&quot;+t+&quot;=this.shape[&quot;+t+&quot;]&quot;}).join(&quot;,&quot;)+&quot;,&quot;+s.map(function(t){return&quot;b&quot;+t+&quot;=this.stride[&quot;+t+&quot;]&quot;}).join(&quot;,&quot;)+&quot;,c=this.offset,d=0,ceil=Math.ceil&quot;);for(m=0;m&lt;e;++m)a.push(&quot;if(typeof i&quot;+m+&quot;==='number'){d=i&quot;+m+&quot;|0;if(d&lt;0){c+=b&quot;+m+&quot;*(a&quot;+m+&quot;-1);a&quot;+m+&quot;=ceil(-a&quot;+m+&quot;/d)}else{a&quot;+m+&quot;=ceil(a&quot;+m+&quot;/d)}b&quot;+m+&quot;*=d}&quot;);a.push(&quot;return new &quot;+r+&quot;(this.data,&quot;+s.map(function(t){return&quot;a&quot;+t}).join(&quot;,&quot;)+&quot;,&quot;+s.map(function(t){return&quot;b&quot;+t}).join(&quot;,&quot;)+&quot;,c)}&quot;);var g=new Array(e),v=new Array(e);for(m=0;m&lt;e;++m)g[m]=&quot;a[i&quot;+m+&quot;]&quot;,v[m]=&quot;b[i&quot;+m+&quot;]&quot;;a.push(&quot;proto.transpose=function &quot;+r+&quot;_transpose(&quot;+l+&quot;){&quot;+l.map(function(t,e){return t+&quot;=(&quot;+t+&quot;===undefined?&quot;+e+&quot;:&quot;+t+&quot;|0)&quot;}).join(&quot;;&quot;),&quot;var a=this.shape,b=this.stride;return new &quot;+r+&quot;(this.data,&quot;+g.join(&quot;,&quot;)+&quot;,&quot;+v.join(&quot;,&quot;)+&quot;,this.offset)}&quot;),a.push(&quot;proto.pick=function &quot;+r+&quot;_pick(&quot;+l+&quot;){var a=[],b=[],c=this.offset&quot;);for(m=0;m&lt;e;++m)a.push(&quot;if(typeof i&quot;+m+&quot;==='number'&amp;&amp;i&quot;+m+&quot;&gt;=0){c=(c+this.stride[&quot;+m+&quot;]*i&quot;+m+&quot;)|0}else{a.push(this.shape[&quot;+m+&quot;]);b.push(this.stride[&quot;+m+&quot;])}&quot;);a.push(&quot;var ctor=CTOR_LIST[a.length+1];return ctor(this.data,a,b,c)}&quot;),a.push(&quot;return function construct_&quot;+r+&quot;(data,shape,stride,offset){return new &quot;+r+&quot;(data,&quot;+s.map(function(t){return&quot;shape[&quot;+t+&quot;]&quot;}).join(&quot;,&quot;)+&quot;,&quot;+s.map(function(t){return&quot;stride[&quot;+t+&quot;]&quot;}).join(&quot;,&quot;)+&quot;,offset)}&quot;);return new Function(&quot;CTOR_LIST&quot;,&quot;ORDER&quot;,a.join(&quot;\n&quot;))(c[t],i)}var o=t(&quot;iota-array&quot;),s=t(&quot;is-buffer&quot;),l=&quot;undefined&quot;!=typeof Float64Array,c={float32:[],float64:[],int8:[],int16:[],int32:[],uint8:[],uint16:[],uint32:[],array:[],uint8_clamped:[],buffer:[],generic:[]};e.exports=function(t,e,r,n){if(void 0===t)return(0,c.array[0])([]);&quot;number&quot;==typeof t&amp;&amp;(t=[t]),void 0===e&amp;&amp;(e=[t.length]);var i=e.length;if(void 0===r){r=new Array(i);for(var o=i-1,u=1;o&gt;=0;--o)r[o]=u,u*=e[o]}if(void 0===n)for(n=0,o=0;o&lt;i;++o)r[o]&lt;0&amp;&amp;(n-=(e[o]-1)*r[o]);for(var f=function(t){if(s(t))return&quot;buffer&quot;;if(l)switch(Object.prototype.toString.call(t)){case&quot;[object Float64Array]&quot;:return&quot;float64&quot;;case&quot;[object Float32Array]&quot;:return&quot;float32&quot;;case&quot;[object Int8Array]&quot;:return&quot;int8&quot;;case&quot;[object Int16Array]&quot;:return&quot;int16&quot;;case&quot;[object Int32Array]&quot;:return&quot;int32&quot;;case&quot;[object Uint8Array]&quot;:return&quot;uint8&quot;;case&quot;[object Uint16Array]&quot;:return&quot;uint16&quot;;case&quot;[object Uint32Array]&quot;:return&quot;uint32&quot;;case&quot;[object Uint8ClampedArray]&quot;:return&quot;uint8_clamped&quot;}return Array.isArray(t)?&quot;array&quot;:&quot;generic&quot;}(t),h=c[f];h.length&lt;=i+1;)h.push(a(f,h.length-1));return(0,h[i+1])(t,e,r,n)}},{&quot;iota-array&quot;:281,&quot;is-buffer&quot;:283}],459:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;double-bits&quot;),i=Math.pow(2,-1074),a=-1&gt;&gt;&gt;0;e.exports=function(t,e){if(isNaN(t)||isNaN(e))return NaN;if(t===e)return t;if(0===t)return e&lt;0?-i:i;var r=n.hi(t),o=n.lo(t);return e&gt;t==t&gt;0?o===a?(r+=1,o=0):o+=1:0===o?(o=a,r-=1):o-=1,n.pack(o,r)}},{&quot;double-bits&quot;:131}],460:[function(t,e,r){function n(t,e,r,n){return[&quot;C&quot;,t,e,r,n,r,n]}function i(t,e,r,n,i,a){return[&quot;C&quot;,t/3+2/3*r,e/3+2/3*n,i/3+2/3*r,a/3+2/3*n,i,a]}function a(t,e,r,n,i,s,u,f,h,d){if(d)M=d[0],k=d[1],_=d[2],w=d[3];else{var p=o(t,e,-i);t=p.x,e=p.y;var m=(t-(f=(p=o(f,h,-i)).x))/2,g=(e-(h=p.y))/2,v=m*m/(r*r)+g*g/(n*n);v&gt;1&amp;&amp;(r*=v=Math.sqrt(v),n*=v);var y=r*r,x=n*n,b=(s==u?-1:1)*Math.sqrt(Math.abs((y*x-y*g*g-x*m*m)/(y*g*g+x*m*m)));b==1/0&amp;&amp;(b=1);var _=b*r*g/n+(t+f)/2,w=b*-n*m/r+(e+h)/2,M=Math.asin(((e-w)/n).toFixed(9)),k=Math.asin(((h-w)/n).toFixed(9));M=t&lt;_?l-M:M,k=f&lt;_?l-k:k,M&lt;0&amp;&amp;(M=2*l+M),k&lt;0&amp;&amp;(k=2*l+k),u&amp;&amp;M&gt;k&amp;&amp;(M-=2*l),!u&amp;&amp;k&gt;M&amp;&amp;(k-=2*l)}if(Math.abs(k-M)&gt;c){var A=k,T=f,S=h;k=M+c*(u&amp;&amp;k&gt;M?1:-1);var E=a(f=_+r*Math.cos(k),h=w+n*Math.sin(k),r,n,i,0,u,T,S,[k,A,_,w])}var L=Math.tan((k-M)/4),C=4/3*r*L,z=4/3*n*L,D=[2*t-(t+C*Math.sin(M)),2*e-(e-z*Math.cos(M)),f+C*Math.sin(k),h-z*Math.cos(k),f,h];if(d)return D;E&amp;&amp;(D=D.concat(E));for(var I=0;I&lt;D.length;){var P=o(D[I],D[I+1],i);D[I++]=P.x,D[I++]=P.y}return D}function o(t,e,r){return{x:t*Math.cos(r)-e*Math.sin(r),y:t*Math.sin(r)+e*Math.cos(r)}}function s(t){return t*(l/180)}var l=Math.PI,c=s(120);e.exports=function(t){for(var e,r=[],o=0,l=0,c=0,u=0,f=null,h=null,d=0,p=0,m=0,g=t.length;m&lt;g;m++){var v=t[m],y=v[0];switch(y){case&quot;M&quot;:c=v[1],u=v[2];break;case&quot;A&quot;:(v=a(d,p,v[1],v[2],s(v[3]),v[4],v[5],v[6],v[7])).unshift(&quot;C&quot;),v.length&gt;7&amp;&amp;(r.push(v.splice(0,7)),v.unshift(&quot;C&quot;));break;case&quot;S&quot;:var x=d,b=p;&quot;C&quot;!=e&amp;&amp;&quot;S&quot;!=e||(x+=x-o,b+=b-l),v=[&quot;C&quot;,x,b,v[1],v[2],v[3],v[4]];break;case&quot;T&quot;:&quot;Q&quot;==e||&quot;T&quot;==e?(f=2*d-f,h=2*p-h):(f=d,h=p),v=i(d,p,f,h,v[1],v[2]);break;case&quot;Q&quot;:f=v[1],h=v[2],v=i(d,p,v[1],v[2],v[3],v[4]);break;case&quot;L&quot;:v=n(d,p,v[1],v[2]);break;case&quot;H&quot;:v=n(d,p,v[1],p);break;case&quot;V&quot;:v=n(d,p,d,v[1]);break;case&quot;Z&quot;:v=n(d,p,c,u)}e=y,d=v[v.length-2],p=v[v.length-1],v.length&gt;4?(o=v[v.length-4],l=v[v.length-3]):(o=d,l=p),r.push(v)}return r}},{}],461:[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&lt;n;++o)i[o]=[0,0,0];for(o=0;o&lt;t.length;++o)for(var s=t[o],l=0,c=s[s.length-1],u=s[0],f=0;f&lt;s.length;++f){l=c,c=u,u=s[(f+1)%s.length];for(var h=e[l],d=e[c],p=e[u],m=new Array(3),g=0,v=new Array(3),y=0,x=0;x&lt;3;++x)m[x]=h[x]-d[x],g+=m[x]*m[x],v[x]=p[x]-d[x],y+=v[x]*v[x];if(g*y&gt;a){var b=i[c],_=1/Math.sqrt(g*y);for(x=0;x&lt;3;++x){var w=(x+1)%3,M=(x+2)%3;b[x]+=_*(v[w]*m[M]-v[M]*m[w])}}}for(o=0;o&lt;n;++o){b=i[o];var k=0;for(x=0;x&lt;3;++x)k+=b[x]*b[x];if(k&gt;a)for(_=1/Math.sqrt(k),x=0;x&lt;3;++x)b[x]*=_;else for(x=0;x&lt;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&lt;n;++o){for(var s=t[o],l=new Array(3),c=0;c&lt;3;++c)l[c]=e[s[c]];var u=new Array(3),f=new Array(3);for(c=0;c&lt;3;++c)u[c]=l[1][c]-l[0][c],f[c]=l[2][c]-l[0][c];var h=new Array(3),d=0;for(c=0;c&lt;3;++c){var p=(c+1)%3,m=(c+2)%3;h[c]=u[p]*f[m]-u[m]*f[p],d+=h[c]*h[c]}d=d&gt;a?1/Math.sqrt(d):0;for(c=0;c&lt;3;++c)h[c]*=d;i[o]=h}return i}},{}],462:[function(t,e,r){&quot;use strict&quot;;var n=Object.getOwnPropertySymbols,i=Object.prototype.hasOwnProperty,a=Object.prototype.propertyIsEnumerable;e.exports=function(){try{if(!Object.assign)return!1;var t=new String(&quot;abc&quot;);if(t[5]=&quot;de&quot;,&quot;5&quot;===Object.getOwnPropertyNames(t)[0])return!1;for(var e={},r=0;r&lt;10;r++)e[&quot;_&quot;+String.fromCharCode(r)]=r;if(&quot;0123456789&quot;!==Object.getOwnPropertyNames(e).map(function(t){return e[t]}).join(&quot;&quot;))return!1;var n={};return&quot;abcdefghijklmnopqrst&quot;.split(&quot;&quot;).forEach(function(t){n[t]=t}),&quot;abcdefghijklmnopqrst&quot;===Object.keys(Object.assign({},n)).join(&quot;&quot;)}catch(t){return!1}}()?Object.assign:function(t,e){for(var r,o,s=function(t){if(null===t||void 0===t)throw new TypeError(&quot;Object.assign cannot be called with null or undefined&quot;);return Object(t)}(t),l=1;l&lt;arguments.length;l++){r=Object(arguments[l]);for(var c in r)i.call(r,c)&amp;&amp;(s[c]=r[c]);if(n){o=n(r);for(var u=0;u&lt;o.length;u++)a.call(r,o[u])&amp;&amp;(s[o[u]]=r[o[u]])}}return s}},{}],463:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t,e,r,n,i,a,o,s,l,c){var u=e+a+c;if(f&gt;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&gt;=h?(t[0]=.5*f,t[1]=.5*(i+r)/f,t[2]=.5*(s+n)/f,t[3]=.5*(o-l)/f):a&gt;=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}},{}],464:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r){return Math.sqrt(Math.pow(t,2)+Math.pow(e,2)+Math.pow(r,2))}function i(t,e,r,n){return Math.sqrt(Math.pow(t,2)+Math.pow(e,2)+Math.pow(r,2)+Math.pow(n,2))}function a(t,e){var r=e[0],n=e[1],a=e[2],o=e[3],s=i(r,n,a,o);s&gt;1e-6?(t[0]=r/s,t[1]=n/s,t[2]=a/s,t[3]=o/s):(t[0]=t[1]=t[2]=0,t[3]=1)}function o(t,e,r){this.radius=s([r]),this.center=s(e),this.rotation=s(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)}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),a(r=[].slice.call(r,0,4),r);var i=new o(r,e,Math.log(n));return i.setDistanceLimits(t.zoomMin,t.zoomMax),(&quot;eye&quot;in t||&quot;up&quot;in t)&amp;&amp;i.lookAt(0,t.eye,t.center,t.up),i};var s=t(&quot;filtered-vector&quot;),l=t(&quot;gl-mat4/lookAt&quot;),c=t(&quot;gl-mat4/fromQuat&quot;),u=t(&quot;gl-mat4/invert&quot;),f=t(&quot;./lib/quatFromFrame&quot;),h=o.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;a(e,e);var r=this.computedMatrix;c(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&lt;3;++l){for(var u=0,f=0;f&lt;3;++f)u+=r[l+4*f]*i[f];r[12+l]=-u}},h.getMatrix=function(t,e){this.recalcMatrix(t);var r=this.computedMatrix;if(e){for(var n=0;n&lt;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,i){e=e||0,r=r||0,i=i||0,this.recalcMatrix(t);var a=this.computedMatrix,o=a[1],s=a[5],l=a[9],c=n(o,s,l);o/=c,s/=c,l/=c;var u=a[0],f=a[4],h=a[8],d=u*o+f*s+h*l,p=n(u-=o*d,f-=s*d,h-=l*d);u/=p,f/=p,h/=p;var m=a[2],g=a[6],v=a[10],y=m*o+g*s+v*l,x=m*u+g*f+v*h,b=n(m-=y*o+x*u,g-=y*s+x*f,v-=y*l+x*h);m/=b,g/=b,v/=b;var _=u*e+o*r,w=f*e+s*r,M=h*e+l*r;this.center.move(t,_,w,M);var k=Math.exp(this.computedRadius[0]);k=Math.max(1e-4,k+i),this.radius.set(t,Math.log(k))},h.rotate=function(t,e,r,a){this.recalcMatrix(t),e=e||0,r=r||0;var o=this.computedMatrix,s=o[0],l=o[4],c=o[8],u=o[1],f=o[5],h=o[9],d=o[2],p=o[6],m=o[10],g=e*s+r*u,v=e*l+r*f,y=e*c+r*h,x=-(p*y-m*v),b=-(m*g-d*y),_=-(d*v-p*g),w=Math.sqrt(Math.max(0,1-Math.pow(x,2)-Math.pow(b,2)-Math.pow(_,2))),M=i(x,b,_,w);M&gt;1e-6?(x/=M,b/=M,_/=M,w/=M):(x=b=_=0,w=1);var k=this.computedRotation,A=k[0],T=k[1],S=k[2],E=k[3],L=A*w+E*x+T*_-S*b,C=T*w+E*b+S*x-A*_,z=S*w+E*_+A*b-T*x,D=E*w-A*x-T*b-S*_;if(a){x=d,b=p,_=m;var I=Math.sin(a)/n(x,b,_);x*=I,b*=I,_*=I,D=D*(w=Math.cos(e))-(L=L*w+D*x+C*_-z*b)*x-(C=C*w+D*b+z*x-L*_)*b-(z=z*w+D*_+L*b-C*x)*_}var P=i(L,C,z,D);P&gt;1e-6?(L/=P,C/=P,z/=P,D/=P):(L=C=z=0,D=1),this.rotation.set(t,L,C,z,D)},h.lookAt=function(t,e,r,n){this.recalcMatrix(t),r=r||this.computedCenter,e=e||this.computedEye,n=n||this.computedUp;var i=this.computedMatrix;l(i,e,r,n);var o=this.computedRotation;f(o,i[0],i[1],i[2],i[4],i[5],i[6],i[8],i[9],i[10]),a(o,o),this.rotation.set(t,o[0],o[1],o[2],o[3]);for(var s=0,c=0;c&lt;3;++c)s+=Math.pow(r[c]-e[c],2);this.radius.set(t,.5*Math.log(Math.max(s,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;f(r,e[0],e[1],e[2],e[4],e[5],e[6],e[8],e[9],e[10]),a(r,r),this.rotation.set(t,r[0],r[1],r[2],r[3]);var n=this.computedMatrix;u(n,e);var i=n[15];if(Math.abs(i)&gt;1e-6){var o=n[12]/i,s=n[13]/i,l=n[14]/i;this.recalcMatrix(t);var c=Math.exp(this.computedRadius[0]);this.center.set(t,o-n[2]*c,s-n[6]*c,l-n[10]*c),this.radius.idle(t)}else this.center.idle(t),this.radius.idle(t)},h.setDistance=function(t,e){e&gt;0&amp;&amp;this.radius.set(t,Math.log(e))},h.setDistanceLimits=function(t,e){t=t&gt;0?Math.log(t):-1/0,e=e&gt;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&amp;&amp;this.center.set(e,r[0],r[1],r[2]);var n=t.rotation;n&amp;&amp;this.rotation.set(e,n[0],n[1],n[2],n[3]);var i=t.distance;i&amp;&amp;i&gt;0&amp;&amp;this.radius.set(e,Math.log(i)),this.setDistanceLimits(t.zoomMin,t.zoomMax)}},{&quot;./lib/quatFromFrame&quot;:463,&quot;filtered-vector&quot;:142,&quot;gl-mat4/fromQuat&quot;:183,&quot;gl-mat4/invert&quot;:186,&quot;gl-mat4/lookAt&quot;:187}],465:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;repeat-string&quot;);e.exports=function(t,e,r){return r=void 0!==r?r+&quot;&quot;:&quot; &quot;,n(r,e)+t}},{&quot;repeat-string&quot;:507}],466:[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),&quot;m&quot;==o&amp;&amp;i.length&gt;2&amp;&amp;(e.push([r].concat(i.splice(0,2))),o=&quot;l&quot;,r=&quot;m&quot;==r?&quot;l&quot;:&quot;L&quot;);;){if(i.length==n[o])return i.unshift(r),e.push(i);if(i.length&lt;n[o])throw new Error(&quot;malformed path data&quot;);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,a=/-?[0-9]*\.?[0-9]+(?:e[-+]?\d+)?/gi},{}],467:[function(t,e,r){e.exports=function(t,e){e||(e=[0,&quot;&quot;]),t=String(t);var r=parseFloat(t,10);return e[0]=r,e[1]=t.match(/[\d.\-\+]*\s*(.*)/)[1]||&quot;&quot;,e}},{}],468:[function(t,e,r){(function(t){function e(t,e){for(var r=0,n=t.length-1;n&gt;=0;n--){var i=t[n];&quot;.&quot;===i?t.splice(n,1):&quot;..&quot;===i?(t.splice(n,1),r++):r&amp;&amp;(t.splice(n,1),r--)}if(e)for(;r--;r)t.unshift(&quot;..&quot;);return t}function n(t,e){if(t.filter)return t.filter(e);for(var r=[],n=0;n&lt;t.length;n++)e(t[n],n,t)&amp;&amp;r.push(t[n]);return r}var i=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/,a=function(t){return i.exec(t).slice(1)};r.resolve=function(){for(var r=&quot;&quot;,i=!1,a=arguments.length-1;a&gt;=-1&amp;&amp;!i;a--){var o=a&gt;=0?arguments[a]:t.cwd();if(&quot;string&quot;!=typeof o)throw new TypeError(&quot;Arguments to path.resolve must be strings&quot;);o&amp;&amp;(r=o+&quot;/&quot;+r,i=&quot;/&quot;===o.charAt(0))}return r=e(n(r.split(&quot;/&quot;),function(t){return!!t}),!i).join(&quot;/&quot;),(i?&quot;/&quot;:&quot;&quot;)+r||&quot;.&quot;},r.normalize=function(t){var i=r.isAbsolute(t),a=&quot;/&quot;===o(t,-1);return(t=e(n(t.split(&quot;/&quot;),function(t){return!!t}),!i).join(&quot;/&quot;))||i||(t=&quot;.&quot;),t&amp;&amp;a&amp;&amp;(t+=&quot;/&quot;),(i?&quot;/&quot;:&quot;&quot;)+t},r.isAbsolute=function(t){return&quot;/&quot;===t.charAt(0)},r.join=function(){var t=Array.prototype.slice.call(arguments,0);return r.normalize(n(t,function(t,e){if(&quot;string&quot;!=typeof t)throw new TypeError(&quot;Arguments to path.join must be strings&quot;);return t}).join(&quot;/&quot;))},r.relative=function(t,e){function n(t){for(var e=0;e&lt;t.length&amp;&amp;&quot;&quot;===t[e];e++);for(var r=t.length-1;r&gt;=0&amp;&amp;&quot;&quot;===t[r];r--);return e&gt;r?[]:t.slice(e,r-e+1)}t=r.resolve(t).substr(1),e=r.resolve(e).substr(1);for(var i=n(t.split(&quot;/&quot;)),a=n(e.split(&quot;/&quot;)),o=Math.min(i.length,a.length),s=o,l=0;l&lt;o;l++)if(i[l]!==a[l]){s=l;break}var c=[];for(l=s;l&lt;i.length;l++)c.push(&quot;..&quot;);return(c=c.concat(a.slice(s))).join(&quot;/&quot;)},r.sep=&quot;/&quot;,r.delimiter=&quot;:&quot;,r.dirname=function(t){var e=a(t),r=e[0],n=e[1];return r||n?(n&amp;&amp;(n=n.substr(0,n.length-1)),r+n):&quot;.&quot;},r.basename=function(t,e){var r=a(t)[2];return e&amp;&amp;r.substr(-1*e.length)===e&amp;&amp;(r=r.substr(0,r.length-e.length)),r},r.extname=function(t){return a(t)[3]};var o=&quot;b&quot;===&quot;ab&quot;.substr(-1)?function(t,e,r){return t.substr(e,r)}:function(t,e,r){return e&lt;0&amp;&amp;(e=t.length+e),t.substr(e,r)}}).call(this,t(&quot;_process&quot;))},{_process:488}],469:[function(t,e,r){&quot;use strict&quot;;function n(t){var e;t&amp;&amp;t.length&amp;&amp;(t=(e=t).length);var r=new Uint8Array(t||0);return e&amp;&amp;r.set(e),r.readUInt32LE=a.readUInt32LE,r.writeUInt32LE=a.writeUInt32LE,r.readInt32LE=a.readInt32LE,r.writeInt32LE=a.writeInt32LE,r.readFloatLE=a.readFloatLE,r.writeFloatLE=a.writeFloatLE,r.readDoubleLE=a.readDoubleLE,r.writeDoubleLE=a.writeDoubleLE,r.toString=a.toString,r.write=a.write,r.slice=a.slice,r.copy=a.copy,r._isBuffer=!0,r}function i(t){for(var e,r,n=t.length,i=[],a=0;a&lt;n;a++){if((e=t.charCodeAt(a))&gt;55295&amp;&amp;e&lt;57344){if(!r){e&gt;56319||a+1===n?i.push(239,191,189):r=e;continue}if(e&lt;56320){i.push(239,191,189),r=e;continue}e=r-55296&lt;&lt;10|e-56320|65536,r=null}else r&amp;&amp;(i.push(239,191,189),r=null);e&lt;128?i.push(e):e&lt;2048?i.push(e&gt;&gt;6|192,63&amp;e|128):e&lt;65536?i.push(e&gt;&gt;12|224,e&gt;&gt;6&amp;63|128,63&amp;e|128):i.push(e&gt;&gt;18|240,e&gt;&gt;12&amp;63|128,e&gt;&gt;6&amp;63|128,63&amp;e|128)}return i}e.exports=n;var a,o,s,l=t(&quot;ieee754&quot;);(a={readUInt32LE:function(t){return(this[t]|this[t+1]&lt;&lt;8|this[t+2]&lt;&lt;16)+16777216*this[t+3]},writeUInt32LE:function(t,e){this[e]=t,this[e+1]=t&gt;&gt;&gt;8,this[e+2]=t&gt;&gt;&gt;16,this[e+3]=t&gt;&gt;&gt;24},readInt32LE:function(t){return(this[t]|this[t+1]&lt;&lt;8|this[t+2]&lt;&lt;16)+(this[t+3]&lt;&lt;24)},readFloatLE:function(t){return l.read(this,t,!0,23,4)},readDoubleLE:function(t){return l.read(this,t,!0,52,8)},writeFloatLE:function(t,e){return l.write(this,t,e,!0,23,4)},writeDoubleLE:function(t,e){return l.write(this,t,e,!0,52,8)},toString:function(t,e,r){var n=&quot;&quot;,i=&quot;&quot;;e=e||0,r=Math.min(this.length,r||this.length);for(var a=e;a&lt;r;a++){var o=this[a];o&lt;=127?(n+=decodeURIComponent(i)+String.fromCharCode(o),i=&quot;&quot;):i+=&quot;%&quot;+o.toString(16)}return n+=decodeURIComponent(i)},write:function(t,e){for(var r=t===o?s:i(t),n=0;n&lt;r.length;n++)this[e+n]=r[n]},slice:function(t,e){return this.subarray(t,e)},copy:function(t,e){e=e||0;for(var r=0;r&lt;this.length;r++)t[e+r]=this[r]}}).writeInt32LE=a.writeUInt32LE,n.byteLength=function(t){return o=t,(s=i(t)).length},n.isBuffer=function(t){return!(!t||!t._isBuffer)}},{ieee754:277}],470:[function(t,e,r){(function(r){&quot;use strict&quot;;function n(t){this.buf=d.isBuffer(t)?t:new d(t||0),this.pos=0,this.length=this.buf.length}function i(t,e){for(var r=0;r&lt;t.length;r++)e.writeVarint(t[r])}function a(t,e){for(var r=0;r&lt;t.length;r++)e.writeSVarint(t[r])}function o(t,e){for(var r=0;r&lt;t.length;r++)e.writeFloat(t[r])}function s(t,e){for(var r=0;r&lt;t.length;r++)e.writeDouble(t[r])}function l(t,e){for(var r=0;r&lt;t.length;r++)e.writeBoolean(t[r])}function c(t,e){for(var r=0;r&lt;t.length;r++)e.writeFixed32(t[r])}function u(t,e){for(var r=0;r&lt;t.length;r++)e.writeSFixed32(t[r])}function f(t,e){for(var r=0;r&lt;t.length;r++)e.writeFixed64(t[r])}function h(t,e){for(var r=0;r&lt;t.length;r++)e.writeSFixed64(t[r])}e.exports=n;var d=r.Buffer||t(&quot;./buffer&quot;);n.Varint=0,n.Fixed64=1,n.Bytes=2,n.Fixed32=5;var p=Math.pow(2,63);n.prototype={destroy:function(){this.buf=null},readFields:function(t,e,r){for(r=r||this.length;this.pos&lt;r;){var n=this.readVarint(),i=n&gt;&gt;3,a=this.pos;t(i,e,this),this.pos===a&amp;&amp;this.skip(n)}return e},readMessage:function(t,e){return this.readFields(t,e,this.readVarint()+this.pos)},readFixed32:function(){var t=this.buf.readUInt32LE(this.pos);return this.pos+=4,t},readSFixed32:function(){var t=this.buf.readInt32LE(this.pos);return this.pos+=4,t},readFixed64:function(){var t=this.buf.readUInt32LE(this.pos)+4294967296*this.buf.readUInt32LE(this.pos+4);return this.pos+=8,t},readSFixed64:function(){var t=this.buf.readUInt32LE(this.pos)+4294967296*this.buf.readInt32LE(this.pos+4);return this.pos+=8,t},readFloat:function(){var t=this.buf.readFloatLE(this.pos);return this.pos+=4,t},readDouble:function(){var t=this.buf.readDoubleLE(this.pos);return this.pos+=8,t},readVarint:function(){var t,e,r=this.buf;return e=r[this.pos++],t=127&amp;e,e&lt;128?t:(e=r[this.pos++],t|=(127&amp;e)&lt;&lt;7,e&lt;128?t:(e=r[this.pos++],t|=(127&amp;e)&lt;&lt;14,e&lt;128?t:(e=r[this.pos++],t|=(127&amp;e)&lt;&lt;21,e&lt;128?t:function(t,e){var r,n=e.buf;if(r=n[e.pos++],t+=268435456*(127&amp;r),r&lt;128)return t;if(r=n[e.pos++],t+=34359738368*(127&amp;r),r&lt;128)return t;if(r=n[e.pos++],t+=4398046511104*(127&amp;r),r&lt;128)return t;if(r=n[e.pos++],t+=562949953421312*(127&amp;r),r&lt;128)return t;if(r=n[e.pos++],t+=72057594037927940*(127&amp;r),r&lt;128)return t;if(r=n[e.pos++],t+=0x8000000000000000*(127&amp;r),r&lt;128)return t;throw new Error(&quot;Expected varint not more than 10 bytes&quot;)}(t,this))))},readVarint64:function(){var t=this.pos,e=this.readVarint();if(e&lt;p)return e;for(var r=this.pos-2;255===this.buf[r];)r--;r&lt;t&amp;&amp;(r=t),e=0;for(var n=0;n&lt;r-t+1;n++){var i=127&amp;~this.buf[t+n];e+=n&lt;4?i&lt;&lt;7*n:i*Math.pow(2,7*n)}return-e-1},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.buf.toString(&quot;utf8&quot;,this.pos,t);return this.pos=t,e},readBytes:function(){var t=this.readVarint()+this.pos,e=this.buf.slice(this.pos,t);return this.pos=t,e},readPackedVarint:function(){for(var t=this.readVarint()+this.pos,e=[];this.pos&lt;t;)e.push(this.readVarint());return e},readPackedSVarint:function(){for(var t=this.readVarint()+this.pos,e=[];this.pos&lt;t;)e.push(this.readSVarint());return e},readPackedBoolean:function(){for(var t=this.readVarint()+this.pos,e=[];this.pos&lt;t;)e.push(this.readBoolean());return e},readPackedFloat:function(){for(var t=this.readVarint()+this.pos,e=[];this.pos&lt;t;)e.push(this.readFloat());return e},readPackedDouble:function(){for(var t=this.readVarint()+this.pos,e=[];this.pos&lt;t;)e.push(this.readDouble());return e},readPackedFixed32:function(){for(var t=this.readVarint()+this.pos,e=[];this.pos&lt;t;)e.push(this.readFixed32());return e},readPackedSFixed32:function(){for(var t=this.readVarint()+this.pos,e=[];this.pos&lt;t;)e.push(this.readSFixed32());return e},readPackedFixed64:function(){for(var t=this.readVarint()+this.pos,e=[];this.pos&lt;t;)e.push(this.readFixed64());return e},readPackedSFixed64:function(){for(var t=this.readVarint()+this.pos,e=[];this.pos&lt;t;)e.push(this.readSFixed64());return e},skip:function(t){var e=7&amp;t;if(e===n.Varint)for(;this.buf[this.pos++]&gt;127;);else if(e===n.Bytes)this.pos=this.readVarint()+this.pos;else if(e===n.Fixed32)this.pos+=4;else{if(e!==n.Fixed64)throw new Error(&quot;Unimplemented type: &quot;+e);this.pos+=8}},writeTag:function(t,e){this.writeVarint(t&lt;&lt;3|e)},realloc:function(t){for(var e=this.length||16;e&lt;this.pos+t;)e*=2;if(e!==this.length){var r=new d(e);this.buf.copy(r),this.buf=r,this.length=e}},finish:function(){return this.length=this.pos,this.pos=0,this.buf.slice(0,this.length)},writeFixed32:function(t){this.realloc(4),this.buf.writeUInt32LE(t,this.pos),this.pos+=4},writeSFixed32:function(t){this.realloc(4),this.buf.writeInt32LE(t,this.pos),this.pos+=4},writeFixed64:function(t){this.realloc(8),this.buf.writeInt32LE(-1&amp;t,this.pos),this.buf.writeUInt32LE(Math.floor(t*(1/4294967296)),this.pos+4),this.pos+=8},writeSFixed64:function(t){this.realloc(8),this.buf.writeInt32LE(-1&amp;t,this.pos),this.buf.writeInt32LE(Math.floor(t*(1/4294967296)),this.pos+4),this.pos+=8},writeVarint:function(t){(t=+t)&gt;268435455?function(t,e){e.realloc(10);for(var r=e.pos+10;t&gt;=1;){if(e.pos&gt;=r)throw new Error(&quot;Given varint doesn't fit into 10 bytes&quot;);var n=255&amp;t;e.buf[e.pos++]=n|(t&gt;=128?128:0),t/=128}}(t,this):(this.realloc(4),this.buf[this.pos++]=127&amp;t|(t&gt;127?128:0),t&lt;=127||(this.buf[this.pos++]=127&amp;(t&gt;&gt;&gt;=7)|(t&gt;127?128:0),t&lt;=127||(this.buf[this.pos++]=127&amp;(t&gt;&gt;&gt;=7)|(t&gt;127?128:0),t&lt;=127||(this.buf[this.pos++]=t&gt;&gt;&gt;7&amp;127))))},writeSVarint:function(t){this.writeVarint(t&lt;0?2*-t-1:2*t)},writeBoolean:function(t){this.writeVarint(Boolean(t))},writeString:function(t){t=String(t);var e=d.byteLength(t);this.writeVarint(e),this.realloc(e),this.buf.write(t,this.pos),this.pos+=e},writeFloat:function(t){this.realloc(4),this.buf.writeFloatLE(t,this.pos),this.pos+=4},writeDouble:function(t){this.realloc(8),this.buf.writeDoubleLE(t,this.pos),this.pos+=8},writeBytes:function(t){var e=t.length;this.writeVarint(e),this.realloc(e);for(var r=0;r&lt;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&gt;=128&amp;&amp;function(t,e,r){var n=e&lt;=16383?1:e&lt;=2097151?2:e&lt;=268435455?3:Math.ceil(Math.log(e)/(7*Math.LN2));r.realloc(n);for(var i=r.pos-1;i&gt;=t;i--)r.buf[i+n]=r.buf[i]}(r,n,this),this.pos=r-1,this.writeVarint(n),this.pos+=n},writeMessage:function(t,e,r){this.writeTag(t,n.Bytes),this.writeRawMessage(e,r)},writePackedVarint:function(t,e){this.writeMessage(t,i,e)},writePackedSVarint:function(t,e){this.writeMessage(t,a,e)},writePackedBoolean:function(t,e){this.writeMessage(t,l,e)},writePackedFloat:function(t,e){this.writeMessage(t,o,e)},writePackedDouble:function(t,e){this.writeMessage(t,s,e)},writePackedFixed32:function(t,e){this.writeMessage(t,c,e)},writePackedSFixed32:function(t,e){this.writeMessage(t,u,e)},writePackedFixed64:function(t,e){this.writeMessage(t,f,e)},writePackedSFixed64:function(t,e){this.writeMessage(t,h,e)},writeBytesField:function(t,e){this.writeTag(t,n.Bytes),this.writeBytes(e)},writeFixed32Field:function(t,e){this.writeTag(t,n.Fixed32),this.writeFixed32(e)},writeSFixed32Field:function(t,e){this.writeTag(t,n.Fixed32),this.writeSFixed32(e)},writeFixed64Field:function(t,e){this.writeTag(t,n.Fixed64),this.writeFixed64(e)},writeSFixed64Field:function(t,e){this.writeTag(t,n.Fixed64),this.writeSFixed64(e)},writeVarintField:function(t,e){this.writeTag(t,n.Varint),this.writeVarint(e)},writeSVarintField:function(t,e){this.writeTag(t,n.Varint),this.writeSVarint(e)},writeStringField:function(t,e){this.writeTag(t,n.Bytes),this.writeString(e)},writeFloatField:function(t,e){this.writeTag(t,n.Fixed32),this.writeFloat(e)},writeDoubleField:function(t,e){this.writeTag(t,n.Fixed64),this.writeDouble(e)},writeBooleanField:function(t,e){this.writeVarintField(t,Boolean(e))}}}).call(this,&quot;undefined&quot;!=typeof global?global:&quot;undefined&quot;!=typeof self?self:&quot;undefined&quot;!=typeof window?window:{})},{&quot;./buffer&quot;:469}],471:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t){var e=t.length;if(e&lt;n){for(var r=1,a=0;a&lt;e;++a)for(var o=0;o&lt;a;++o)if(t[a]&lt;t[o])r=-r;else if(t[a]===t[o])return 0;return r}var s=i.mallocUint8(e);for(a=0;a&lt;e;++a)s[a]=0;for(r=1,a=0;a&lt;e;++a)if(!s[a]){var l=1;for(s[a]=1,o=t[a];o!==a;o=t[o]){if(s[o])return i.freeUint8(s),0;l+=1,s[o]=1}1&amp;l||(r=-r)}return i.freeUint8(s),r};var n=32,i=t(&quot;typedarray-pool&quot;)},{&quot;typedarray-pool&quot;:554}],472:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;typedarray-pool&quot;),i=t(&quot;invert-permutation&quot;);r.rank=function(t){var e=t.length;switch(e){case 0:case 1:return 0;case 2:return t[1]}var r,a,o,s=n.mallocUint32(e),l=n.mallocUint32(e),c=0;for(i(t,l),o=0;o&lt;e;++o)s[o]=t[o];for(o=e-1;o&gt;0;--o)a=l[o],r=s[o],s[o]=s[a],s[a]=r,l[o]=l[r],l[r]=a,c=(c+r)*o;return n.freeUint32(l),n.freeUint32(s),c},r.unrank=function(t,e,r){switch(t){case 0:return r||[];case 1:return r?(r[0]=0,r):[0];case 2:return r?(e?(r[0]=0,r[1]=1):(r[0]=1,r[1]=0),r):e?[0,1]:[1,0]}var n,i,a,o=1;for((r=r||new Array(t))[0]=0,a=1;a&lt;t;++a)r[a]=a,o=o*a|0;for(a=t-1;a&gt;0;--a)e=e-(n=e/o|0)*o|0,o=o/a|0,i=0|r[a],r[a]=0|r[n],r[n]=0|i;return r}},{&quot;invert-permutation&quot;:280,&quot;typedarray-pool&quot;:554}],473:[function(t,e,r){&quot;use strict&quot;;function n(t){return i[t]?i[t]:(&quot;string&quot;==typeof t&amp;&amp;(t=i[t]=t.split(/\s*,\s*|\s+/)),t)}e.exports=function(t,e,r){var i,a,o={};if(&quot;string&quot;==typeof e&amp;&amp;(e=n(e)),Array.isArray(e)){var s={};for(a=0;a&lt;e.length;a++)s[e[a]]=!0;e=s}for(i in e)e[i]=n(e[i]);var l={};for(i in e){var c=e[i];if(Array.isArray(c))for(a=0;a&lt;c.length;a++){var u=c[a];if(r&amp;&amp;(l[u]=!0),u in t){if(o[i]=t[u],r)for(var f=a;f&lt;c.length;f++)l[c[f]]=!0;break}}else i in t&amp;&amp;(e[i]&amp;&amp;(o[i]=t[i]),r&amp;&amp;(l[i]=!0))}if(r)for(i in t)l[i]||(o[i]=t[i]);return o};var i={}},{}],474:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t,e){function r(t,e){var r=c[e][t[e]];r.splice(r.indexOf(t),1)}function i(t,i,a){for(var o,s,l,u=0;u&lt;2;++u)if(c[u][i].length&gt;0){o=c[u][i][0],l=u;break}s=o[1^l];for(var f=0;f&lt;2;++f)for(var h=c[f][i],d=0;d&lt;h.length;++d){var p=h[d],m=p[1^f];n(e[t],e[i],e[s],e[m])&gt;0&amp;&amp;(o=p,s=m,l=f)}return a?s:(o&amp;&amp;r(o,l),s)}function a(t,a){var o=c[a][t][0],s=[t];r(o,a);for(var l=o[1^a];;){for(;l!==t;)s.push(l),l=i(s[s.length-2],l,!1);if(c[0][t].length+c[1][t].length===0)break;var u=s[s.length-1],f=t,h=s[1],d=i(u,f,!0);if(n(e[u],e[f],e[h],e[d])&lt;0)break;s.push(t),l=i(u,f)}return s}function o(t,e){return e[1]===e[e.length-1]}for(var s=0|e.length,l=t.length,c=[new Array(s),new Array(s)],u=0;u&lt;s;++u)c[0][u]=[],c[1][u]=[];for(u=0;u&lt;l;++u){var f=t[u];c[0][f[0]].push(f),c[1][f[1]].push(f)}var h=[];for(u=0;u&lt;s;++u)c[0][u].length+c[1][u].length===0&amp;&amp;h.push([u]);for(u=0;u&lt;s;++u)for(var d=0;d&lt;2;++d){for(var p=[];c[d][u].length&gt;0;){c[0][u].length;var m=a(u,d);o(0,m)?p.push.apply(p,m):(p.length&gt;0&amp;&amp;h.push(p),p=m)}p.length&gt;0&amp;&amp;h.push(p)}return h};var n=t(&quot;compare-angle&quot;)},{&quot;compare-angle&quot;:106}],475:[function(t,e,r){&quot;use strict&quot;;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&lt;e.length;++s){var l=r[s].length;a[s]=l,i[s]=!0,l&lt;=1&amp;&amp;o.push(s)}for(;o.length&gt;0;){i[d=o.pop()]=!1;var c=r[d];for(s=0;s&lt;c.length;++s){var u=c[s];0==--a[u]&amp;&amp;o.push(u)}}var f=new Array(e.length),h=[];for(s=0;s&lt;e.length;++s)if(i[s]){var d=h.length;f[s]=d,h.push(e[s])}else f[s]=-1;var p=[];for(s=0;s&lt;t.length;++s){var m=t[s];i[m[0]]&amp;&amp;i[m[1]]&amp;&amp;p.push([f[m[0]],f[m[1]]])}return[p,h]};var n=t(&quot;edges-to-adjacency-list&quot;)},{&quot;edges-to-adjacency-list&quot;:136}],476:[function(t,e,r){&quot;use strict&quot;;function n(t,e){for(var r=new Array(t),n=0;n&lt;t;++n)r[n]=e;return r}e.exports=function(t,e){function r(t){for(var e=t.length,r=0;r&lt;e;++r)if(!C[t[r]])return!1;return!0}t=(R=u(t,e))[0];for(var f=(e=R[1]).length,h=(t.length,i(t,e.length)),d=0;d&lt;f;++d)if(h[d].length%2==1)throw new Error(&quot;planar-graph-to-polyline: graph must be manifold&quot;);var p=a(t,e),m=(p=p.filter(function(t){for(var r=t.length,n=[0],i=0;i&lt;r;++i){var a=e[t[i]],o=e[t[(i+1)%r]],c=s(-a[0],a[1]),u=s(-a[0],o[1]),f=s(o[0],a[1]),h=s(o[0],o[1]);n=l(n,l(l(c,u),l(f,h)))}return n[n.length-1]&gt;0})).length,g=new Array(m),v=new Array(m);for(d=0;d&lt;m;++d){g[d]=d;var y=new Array(m),x=p[d].map(function(t){return e[t]}),b=o([x]),_=0;t:for(var w=0;w&lt;m;++w)if(y[w]=0,d!==w){for(var M=(H=p[w]).length,k=0;k&lt;M;++k){var A=b(e[H[k]]);if(0!==A){A&lt;0&amp;&amp;(y[w]=1,_+=1);continue t}}y[w]=1,_+=1}v[d]=[_,d,y]}for(v.sort(function(t,e){return e[0]-t[0]}),d=0;d&lt;m;++d){var T=(y=v[d])[1],S=y[2];for(w=0;w&lt;m;++w)S[w]&amp;&amp;(g[w]=T)}var E=function(t){for(var e=new Array(t),r=0;r&lt;t;++r)e[r]=[];return e}(m);for(d=0;d&lt;m;++d)E[d].push(g[d]),E[g[d]].push(d);var L={},C=n(f,!1);for(d=0;d&lt;m;++d)for(M=(H=p[d]).length,w=0;w&lt;M;++w){var z=H[w],D=H[(w+1)%M],I=Math.min(z,D)+&quot;:&quot;+Math.max(z,D);if(I in L){var P=L[I];E[P].push(d),E[d].push(P),C[z]=C[D]=!0}else L[I]=d}var O=[],F=n(m,-1);for(d=0;d&lt;m;++d)g[d]!==d||r(p[d])?F[d]=-1:(O.push(d),F[d]=0);for(var R=[];O.length&gt;0;){var N=O.pop(),j=E[N];c(j,function(t,e){return t-e});var B,U=j.length,V=F[N];for(0===V&amp;&amp;(B=[H=p[N]]),d=0;d&lt;U;++d){var q=j[d];if(!(F[q]&gt;=0)&amp;&amp;(F[q]=1^V,O.push(q),0===V)){var H;r(H=p[q])||(H.reverse(),B.push(H))}}0===V&amp;&amp;R.push(B)}return R};var i=t(&quot;edges-to-adjacency-list&quot;),a=t(&quot;planar-dual&quot;),o=t(&quot;point-in-big-polygon&quot;),s=t(&quot;two-product&quot;),l=t(&quot;robust-sum&quot;),c=t(&quot;uniq&quot;),u=t(&quot;./lib/trim-leaves&quot;)},{&quot;./lib/trim-leaves&quot;:475,&quot;edges-to-adjacency-list&quot;:136,&quot;planar-dual&quot;:474,&quot;point-in-big-polygon&quot;:478,&quot;robust-sum&quot;:520,&quot;two-product&quot;:552,uniq:556}],477:[function(t,e,r){&quot;use strict&quot;;function n(t,e){this.x=t,this.y=e}e.exports=n,n.prototype={clone:function(){return new n(this.x,this.y)},add:function(t){return this.clone()._add(t)},sub:function(t){return this.clone()._sub(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)},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&amp;&amp;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},_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},_round:function(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this}},n.convert=function(t){return t instanceof n?t:Array.isArray(t)?new n(t[0],t[1]):t}},{}],478:[function(t,e,r){function n(){return!0}function i(t){for(var e={},r=0;r&lt;t.length;++r){var i=t[r],a=i[0][0],o=i[0][1],s=i[1][1],c=[Math.min(o,s),Math.max(o,s)];a in e?e[a].push(c):e[a]=[c]}var u={},f=Object.keys(e);for(r=0;r&lt;f.length;++r){var h=e[f[r]];u[f[r]]=l(h)}return function(t){return function(e,r){var i=t[e];return!!i&amp;&amp;!!i.queryPoint(r,n)}}(u)}function a(t){return 1}e.exports=function(t){for(var e=t.length,r=[],n=[],l=0;l&lt;e;++l)for(var u=t[l],f=u.length,h=f-1,d=0;d&lt;f;h=d++){var p=u[h],m=u[d];p[0]===m[0]?n.push([p,m]):r.push([p,m])}if(0===r.length)return 0===n.length?a:function(t){return function(e){return t(e[0],e[1])?0:1}}(i(n));var g=s(r),v=function(t,e){return function(r){var n=c.le(e,r[0]);if(n&lt;0)return 1;var i=t[n];if(!i){if(!(n&gt;0&amp;&amp;e[n]===r[0]))return 1;i=t[n-1]}for(var a=1;i;){var s=i.key,l=o(r,s[0],s[1]);if(s[0][0]&lt;s[1][0])if(l&lt;0)i=i.left;else{if(!(l&gt;0))return 0;a=-1,i=i.right}else if(l&gt;0)i=i.left;else{if(!(l&lt;0))return 0;a=1,i=i.right}}return a}}(g.slabs,g.coordinates);return 0===n.length?v:function(t,e){return function(r){return t(r[0],r[1])?0:e(r)}}(i(n),v)};var o=t(&quot;robust-orientation&quot;)[3],s=t(&quot;slab-decomposition&quot;),l=t(&quot;interval-tree-1d&quot;),c=t(&quot;binary-search-bounds&quot;)},{&quot;binary-search-bounds&quot;:70,&quot;interval-tree-1d&quot;:279,&quot;robust-orientation&quot;:515,&quot;slab-decomposition&quot;:532}],479:[function(t,e,r){function n(t,e,r){var n=i.segments(t),a=i.segments(e),o=r(i.combine(n,a));return i.polygon(o)}var i,a=t(&quot;./lib/build-log&quot;),o=t(&quot;./lib/epsilon&quot;),s=t(&quot;./lib/intersecter&quot;),l=t(&quot;./lib/segment-chainer&quot;),c=t(&quot;./lib/segment-selector&quot;),u=t(&quot;./lib/geojson&quot;),f=!1,h=o();i={buildLog:function(t){return!0===t?f=a():!1===t&amp;&amp;(f=!1),!1!==f&amp;&amp;f.list},epsilon:function(t){return h.epsilon(t)},segments:function(t){var e=s(!0,h,f);return t.regions.forEach(e.addRegion),{segments:e.calculate(t.inverted),inverted:t.inverted}},combine:function(t,e){return{combined:s(!1,h,f).calculate(t.segments,t.inverted,e.segments,e.inverted),inverted1:t.inverted,inverted2:e.inverted}},selectUnion:function(t){return{segments:c.union(t.combined,f),inverted:t.inverted1||t.inverted2}},selectIntersect:function(t){return{segments:c.intersect(t.combined,f),inverted:t.inverted1&amp;&amp;t.inverted2}},selectDifference:function(t){return{segments:c.difference(t.combined,f),inverted:t.inverted1&amp;&amp;!t.inverted2}},selectDifferenceRev:function(t){return{segments:c.differenceRev(t.combined,f),inverted:!t.inverted1&amp;&amp;t.inverted2}},selectXor:function(t){return{segments:c.xor(t.combined,f),inverted:t.inverted1!==t.inverted2}},polygon:function(t){return{regions:l(t.segments,h,f),inverted:t.inverted}},polygonFromGeoJSON:function(t){return u.toPolygon(i,t)},polygonToGeoJSON:function(t){return u.fromPolygon(i,h,t)},union:function(t,e){return n(t,e,i.selectUnion)},intersect:function(t,e){return n(t,e,i.selectIntersect)},difference:function(t,e){return n(t,e,i.selectDifference)},differenceRev:function(t,e){return n(t,e,i.selectDifferenceRev)},xor:function(t,e){return n(t,e,i.selectXor)}},&quot;object&quot;==typeof window&amp;&amp;(window.PolyBool=i),e.exports=i},{&quot;./lib/build-log&quot;:480,&quot;./lib/epsilon&quot;:481,&quot;./lib/geojson&quot;:482,&quot;./lib/intersecter&quot;:483,&quot;./lib/segment-chainer&quot;:485,&quot;./lib/segment-selector&quot;:486}],480:[function(t,e,r){e.exports=function(){function t(t,r){return e.list.push({type:t,data:r?JSON.parse(JSON.stringify(r)):void 0}),e}var e,r=0,n=!1;return e={list:[],segmentId:function(){return r++},checkIntersection:function(e,r){return t(&quot;check&quot;,{seg1:e,seg2:r})},segmentChop:function(e,r){return t(&quot;div_seg&quot;,{seg:e,pt:r}),t(&quot;chop&quot;,{seg:e,pt:r})},statusRemove:function(e){return t(&quot;pop_seg&quot;,{seg:e})},segmentUpdate:function(e){return t(&quot;seg_update&quot;,{seg:e})},segmentNew:function(e,r){return t(&quot;new_seg&quot;,{seg:e,primary:r})},segmentRemove:function(e){return t(&quot;rem_seg&quot;,{seg:e})},tempStatus:function(e,r,n){return t(&quot;temp_status&quot;,{seg:e,above:r,below:n})},rewind:function(e){return t(&quot;rewind&quot;,{seg:e})},status:function(e,r,n){return t(&quot;status&quot;,{seg:e,above:r,below:n})},vert:function(r){return r===n?e:(n=r,t(&quot;vert&quot;,{x:r}))},log:function(e){return&quot;string&quot;!=typeof e&amp;&amp;(e=JSON.stringify(e,!1,&quot;  &quot;)),t(&quot;log&quot;,{txt:e})},reset:function(){return t(&quot;reset&quot;)},selected:function(e){return t(&quot;selected&quot;,{segs:e})},chainStart:function(e){return t(&quot;chain_start&quot;,{seg:e})},chainRemoveHead:function(e,r){return t(&quot;chain_rem_head&quot;,{index:e,pt:r})},chainRemoveTail:function(e,r){return t(&quot;chain_rem_tail&quot;,{index:e,pt:r})},chainNew:function(e,r){return t(&quot;chain_new&quot;,{pt1:e,pt2:r})},chainMatch:function(e){return t(&quot;chain_match&quot;,{index:e})},chainClose:function(e){return t(&quot;chain_close&quot;,{index:e})},chainAddHead:function(e,r){return t(&quot;chain_add_head&quot;,{index:e,pt:r})},chainAddTail:function(e,r){return t(&quot;chain_add_tail&quot;,{index:e,pt:r})},chainConnect:function(e,r){return t(&quot;chain_con&quot;,{index1:e,index2:r})},chainReverse:function(e){return t(&quot;chain_rev&quot;,{index:e})},chainJoin:function(e,r){return t(&quot;chain_join&quot;,{index1:e,index2:r})},done:function(){return t(&quot;done&quot;)}}}},{}],481:[function(t,e,r){e.exports=function(t){&quot;number&quot;!=typeof t&amp;&amp;(t=1e-10);var e={epsilon:function(e){return&quot;number&quot;==typeof e&amp;&amp;(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)&gt;=-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&lt;t)&amp;&amp;!(l-(a*a+s*s)&gt;-t)},pointsSameX:function(e,r){return Math.abs(e[0]-r[0])&lt;t},pointsSameY:function(e,r){return Math.abs(e[1]-r[1])&lt;t},pointsSame:function(t,r){return e.pointsSameX(t,r)&amp;&amp;e.pointsSameY(t,r)},pointsCompare:function(t,r){return e.pointsSameX(t,r)?e.pointsSameY(t,r)?0:t[1]&lt;r[1]?-1:1:t[0]&lt;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)&lt;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)&lt;t)return!1;var u=e[0]-n[0],f=e[1]-n[1],h=(s*f-l*u)/c,d=(a*f-o*u)/c,p={alongA:0,alongB:0,pt:[e[0]+h*a,e[1]+h*o]};return p.alongA=h&lt;=-t?-2:h&lt;t?-1:h-1&lt;=-t?0:h-1&lt;t?1:2,p.alongB=d&lt;=-t?-2:d&lt;t?-1:d-1&lt;=-t?0:d-1&lt;t?1:2,p},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&lt;r.length;l++){var c=r[l][0],u=r[l][1];u-i&gt;t!=o-i&gt;t&amp;&amp;(a-c)*(i-u)/(o-u)+c-n&gt;t&amp;&amp;(s=!s),a=c,o=u}return s}};return e}},{}],482:[function(t,e,r){var n={toPolygon:function(t,e){function r(e){function r(e){var r=e.slice(0,e.length-1);return t.segments({inverted:!1,regions:[r]})}if(e.length&lt;=0)return t.segments({inverted:!1,regions:[]});for(var n=r(e[0]),i=1;i&lt;e.length;i++)n=t.selectDifference(t.combine(n,r(e[i])));return n}if(&quot;Polygon&quot;===e.type)return t.polygon(r(e.coordinates));if(&quot;MultiPolygon&quot;===e.type){for(var n=t.segments({inverted:!1,regions:[]}),i=0;i&lt;e.coordinates.length;i++)n=t.selectUnion(t.combine(n,r(e.coordinates[i])));return t.polygon(n)}throw new Error(&quot;PolyBool: Cannot convert GeoJSON object to PolyBool polygon&quot;)},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:[]}}function a(t,e){for(var r=0;r&lt;t.children.length;r++){if(n(e,(s=t.children[r]).region))return void a(s,e)}var o=i(e);for(r=0;r&lt;t.children.length;r++){var s;n((s=t.children[r]).region,e)&amp;&amp;(o.children.push(s),t.children.splice(r,1),r--)}t.children.push(o)}function o(t,e){for(var r=0,n=t[t.length-1][0],i=t[t.length-1][1],a=[],o=0;o&lt;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&lt;0!==e&amp;&amp;a.reverse(),a.push([a[0][0],a[0][1]]),a}function s(t){var e=[o(t.region,!1)];f.push(e);for(var r=0;r&lt;t.children.length;r++)e.push(function(t){for(var e=0;e&lt;t.children.length;e++)s(t.children[e]);return o(t.region,!0)}(t.children[r]))}r=t.polygon(t.segments(r));for(var l=i(null),c=0;c&lt;r.regions.length;c++){var u=r.regions[c];u.length&lt;3||a(l,u)}var f=[];for(c=0;c&lt;l.children.length;c++)s(l.children[c]);return f.length&lt;=0?{type:&quot;Polygon&quot;,coordinates:[]}:1==f.length?{type:&quot;Polygon&quot;,coordinates:f[0]}:{type:&quot;MultiPolygon&quot;,coordinates:f}}};e.exports=n},{}],483:[function(t,e,r){var n=t(&quot;./linked-list&quot;);e.exports=function(t,e,r){function i(t,e){return{id:r?r.segmentId():-1,start:t,end:e,myFill:{above:null,below:null},otherFill:null}}function a(t,e,n){return{id:r?r.segmentId():-1,start:t,end:e,myFill:{above:n.myFill.above,below:n.myFill.below},otherFill:null}}function o(t,r){u.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)&lt;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=a(e,t.seg.end,t.seg);return function(t,e){r&amp;&amp;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,a){function o(t){return c.findTransition(function(r){return function(t,r){var n=t.seg.start,i=t.seg.end,a=r.seg.start,o=r.seg.end;return e.pointsCollinear(n,a,o)?e.pointsCollinear(i,a,o)?1:e.pointAboveOrOnLine(i,a,o)?1:-1:e.pointAboveOrOnLine(n,a,o)?1:-1}(t,r.ev)&gt;0})}function s(t,n){var i=t.seg,a=n.seg,o=i.start,s=i.end,c=a.start,u=a.end;r&amp;&amp;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),d=e.pointsSame(s,u);if(h&amp;&amp;d)return n;var p=!h&amp;&amp;e.pointBetween(o,c,u),m=!d&amp;&amp;e.pointBetween(s,c,u);if(h)return m?l(n,s):l(t,u),n;p&amp;&amp;(d||(m?l(n,s):l(t,u)),l(n,o))}else 0===f.alongA&amp;&amp;(-1===f.alongB?l(t,c):0===f.alongB?l(t,f.pt):1===f.alongB&amp;&amp;l(t,u)),0===f.alongB&amp;&amp;(-1===f.alongA?l(n,o):0===f.alongA?l(n,f.pt):1===f.alongA&amp;&amp;l(n,s));return!1}for(var c=n.create(),f=[];!u.isEmpty();){var h=u.getHead();if(r&amp;&amp;r.vert(h.pt[0]),h.isStart){r&amp;&amp;r.segmentNew(h.seg,h.primary);var d=o(h),p=d.before?d.before.ev:null,m=d.after?d.after.ev:null;r&amp;&amp;r.tempStatus(h.seg,!!p&amp;&amp;p.seg,!!m&amp;&amp;m.seg);var g=function(){if(p){var t=s(h,p);if(t)return t}return!!m&amp;&amp;s(h,m)}();if(g&amp;&amp;(t?(v=null===h.seg.myFill.below||h.seg.myFill.above!==h.seg.myFill.below)&amp;&amp;(g.seg.myFill.above=!g.seg.myFill.above):g.seg.otherFill=h.seg.myFill,r&amp;&amp;r.segmentUpdate(g.seg),h.other.remove(),h.remove()),u.getHead()!==h){r&amp;&amp;r.rewind(h.seg);continue}if(t){var v;v=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=v?!h.seg.myFill.below:h.seg.myFill.below}else if(null===h.seg.otherFill){var y;y=m?h.primary===m.primary?m.seg.otherFill.above:m.seg.myFill.above:h.primary?a:i,h.seg.otherFill={above:y,below:y}}r&amp;&amp;r.status(h.seg,!!p&amp;&amp;p.seg,!!m&amp;&amp;m.seg),h.other.status=d.insert(n.node({ev:h}))}else{var x=h.status;if(null===x)throw new Error(&quot;PolyBool: Zero-length segment detected; your epsilon is probably too small or too large&quot;);if(c.exists(x.prev)&amp;&amp;c.exists(x.next)&amp;&amp;s(x.prev.ev,x.next.ev),r&amp;&amp;r.statusRemove(x.ev.seg),x.remove(),!h.primary){var b=h.seg.myFill;h.seg.myFill=h.seg.otherFill,h.seg.otherFill=b}f.push(h.seg)}u.getHead().remove()}return r&amp;&amp;r.done(),f}var u=n.create();return t?{addRegion:function(t){for(var r,n=t[t.length-1],a=0;a&lt;t.length;a++){r=n,n=t[a];var o=e.pointsCompare(r,n);0!==o&amp;&amp;s(i(o&lt;0?r:n,o&lt;0?n:r),!0)}},calculate:function(t){return c(t,!1)}}:{calculate:function(t,e,r,n){return t.forEach(function(t){s(a(t.start,t.end,t),!0)}),r.forEach(function(t){s(a(t.start,t.end,t),!1)}),c(e,n)}}}},{&quot;./linked-list&quot;:484}],484:[function(t,e,r){e.exports={create:function(){var t={root:{root:!0,next:null},exists:function(e){return null!==e&amp;&amp;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&amp;&amp;!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&amp;&amp;(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&amp;&amp;(t.next.prev=t.prev),t.prev=null,t.next=null},t}}},{}],485:[function(t,e,r){e.exports=function(t,e,r){var n=[],i=[];return t.forEach(function(t){function a(t,e,r){return h.index=t,h.matches_head=e,h.matches_pt1=r,h===u?(h=f,!1):(h=null,!0)}function o(t){r&amp;&amp;r.chainReverse(t),n[t].reverse()}function s(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)&amp;&amp;(r&amp;&amp;r.chainRemoveTail(t,s),a.pop(),s=l),e.pointsCollinear(s,c,u)&amp;&amp;(r&amp;&amp;r.chainRemoveHead(i,c),o.shift()),r&amp;&amp;r.chainJoin(t,i),n[t]=a.concat(o),n.splice(i,1)}var l=t.start,c=t.end;if(e.pointsSame(l,c))console.warn(&quot;PolyBool: Warning: Zero-length segment detected; your epsilon is probably too small or too large&quot;);else{r&amp;&amp;r.chainStart(t);for(var u={index:0,matches_head:!1,matches_pt1:!1},f={index:0,matches_head:!1,matches_pt1:!1},h=u,d=0;d&lt;n.length;d++){var p=(x=n[d])[0],m=(x[1],x[x.length-1]);if(x[x.length-2],e.pointsSame(p,l)){if(a(d,!0,!0))break}else if(e.pointsSame(p,c)){if(a(d,!0,!1))break}else if(e.pointsSame(m,l)){if(a(d,!1,!0))break}else if(e.pointsSame(m,c)&amp;&amp;a(d,!1,!1))break}if(h===u)return n.push([l,c]),void(r&amp;&amp;r.chainNew(l,c));if(h===f){r&amp;&amp;r.chainMatch(u.index);var g=u.index,v=u.matches_pt1?c:l,y=u.matches_head,x=n[g],b=y?x[0]:x[x.length-1],_=y?x[1]:x[x.length-2],w=y?x[x.length-1]:x[0],M=y?x[x.length-2]:x[1];return e.pointsCollinear(_,b,v)&amp;&amp;(y?(r&amp;&amp;r.chainRemoveHead(u.index,v),x.shift()):(r&amp;&amp;r.chainRemoveTail(u.index,v),x.pop()),b=_),e.pointsSame(w,v)?(n.splice(g,1),e.pointsCollinear(M,w,b)&amp;&amp;(y?(r&amp;&amp;r.chainRemoveTail(u.index,b),x.pop()):(r&amp;&amp;r.chainRemoveHead(u.index,b),x.shift())),r&amp;&amp;r.chainClose(u.index),void i.push(x)):void(y?(r&amp;&amp;r.chainAddHead(u.index,v),x.unshift(v)):(r&amp;&amp;r.chainAddTail(u.index,v),x.push(v)))}var k=u.index,A=f.index;r&amp;&amp;r.chainConnect(k,A);var T=n[k].length&lt;n[A].length;u.matches_head?f.matches_head?T?(o(k),s(k,A)):(o(A),s(A,k)):s(A,k):f.matches_head?s(k,A):T?(o(k),s(A,k)):(o(A),s(k,A))}}),i}},{}],486:[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&amp;&amp;t.otherFill.above?2:0)+(t.otherFill&amp;&amp;t.otherFill.below?1:0);0!==e[i]&amp;&amp;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&amp;&amp;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},{}],487:[function(t,e,r){&quot;use strict&quot;;var n=new Float64Array(4),i=new Float64Array(4),a=new Float64Array(4);e.exports=function(t,e,r,o,s){n.length&lt;o.length&amp;&amp;(n=new Float64Array(o.length),i=new Float64Array(o.length),a=new Float64Array(o.length));for(var l=0;l&lt;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,d=0,p=0;for(l=0;l&lt;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,d+=v*g,p+=v*v}var y,x=Math.abs(c*f-u*u),b=u*d-f*h,_=u*h-c*d;if(b+_&lt;=x)if(b&lt;0)_&lt;0&amp;&amp;h&lt;0?(_=0,-h&gt;=c?(b=1,y=c+2*h+p):y=h*(b=-h/c)+p):(b=0,d&gt;=0?(_=0,y=p):-d&gt;=f?(_=1,y=f+2*d+p):y=d*(_=-d/f)+p);else if(_&lt;0)_=0,h&gt;=0?(b=0,y=p):-h&gt;=c?(b=1,y=c+2*h+p):y=h*(b=-h/c)+p;else{var w=1/x;y=(b*=w)*(c*b+u*(_*=w)+2*h)+_*(u*b+f*_+2*d)+p}else{var M,k,A,T;b&lt;0?(k=f+d)&gt;(M=u+h)?(A=k-M)&gt;=(T=c-2*u+f)?(b=1,_=0,y=c+2*h+p):y=(b=A/T)*(c*b+u*(_=1-b)+2*h)+_*(u*b+f*_+2*d)+p:(b=0,k&lt;=0?(_=1,y=f+2*d+p):d&gt;=0?(_=0,y=p):y=d*(_=-d/f)+p):_&lt;0?(k=c+h)&gt;(M=u+d)?(A=k-M)&gt;=(T=c-2*u+f)?(_=1,b=0,y=f+2*d+p):y=(b=1-(_=A/T))*(c*b+u*_+2*h)+_*(u*b+f*_+2*d)+p:(_=0,k&lt;=0?(b=1,y=c+2*h+p):h&gt;=0?(b=0,y=p):y=h*(b=-h/c)+p):(A=f+d-u-h)&lt;=0?(b=0,_=1,y=f+2*d+p):A&gt;=(T=c-2*u+f)?(b=1,_=0,y=c+2*h+p):y=(b=A/T)*(c*b+u*(_=1-b)+2*h)+_*(u*b+f*_+2*d)+p}var S=1-b-_;for(l=0;l&lt;o.length;++l)s[l]=S*t[l]+b*e[l]+_*r[l];return y&lt;0?0:y}},{}],488:[function(t,e,r){function n(){throw new Error(&quot;setTimeout has not been defined&quot;)}function i(){throw new Error(&quot;clearTimeout has not been defined&quot;)}function a(t){if(u===setTimeout)return setTimeout(t,0);if((u===n||!u)&amp;&amp;setTimeout)return u=setTimeout,setTimeout(t,0);try{return u(t,0)}catch(e){try{return u.call(null,t,0)}catch(e){return u.call(this,t,0)}}}function o(){m&amp;&amp;d&amp;&amp;(m=!1,d.length?p=d.concat(p):g=-1,p.length&amp;&amp;s())}function s(){if(!m){var t=a(o);m=!0;for(var e=p.length;e;){for(d=p,p=[];++g&lt;e;)d&amp;&amp;d[g].run();g=-1,e=p.length}d=null,m=!1,function(t){if(f===clearTimeout)return clearTimeout(t);if((f===i||!f)&amp;&amp;clearTimeout)return f=clearTimeout,clearTimeout(t);try{f(t)}catch(e){try{return f.call(null,t)}catch(e){return f.call(this,t)}}}(t)}}function l(t,e){this.fun=t,this.array=e}function c(){}var u,f,h=e.exports={};!function(){try{u=&quot;function&quot;==typeof setTimeout?setTimeout:n}catch(t){u=n}try{f=&quot;function&quot;==typeof clearTimeout?clearTimeout:i}catch(t){f=i}}();var d,p=[],m=!1,g=-1;h.nextTick=function(t){var e=new Array(arguments.length-1);if(arguments.length&gt;1)for(var r=1;r&lt;arguments.length;r++)e[r-1]=arguments[r];p.push(new l(t,e)),1!==p.length||m||a(s)},l.prototype.run=function(){this.fun.apply(null,this.array)},h.title=&quot;browser&quot;,h.browser=!0,h.env={},h.argv=[],h.version=&quot;&quot;,h.versions={},h.on=c,h.addListener=c,h.once=c,h.off=c,h.removeListener=c,h.removeAllListeners=c,h.emit=c,h.prependListener=c,h.prependOnceListener=c,h.listeners=function(t){return[]},h.binding=function(t){throw new Error(&quot;process.binding is not supported&quot;)},h.cwd=function(){return&quot;/&quot;},h.chdir=function(t){throw new Error(&quot;process.chdir is not supported&quot;)},h.umask=function(){return 0}},{}],489:[function(t,e,r){(function(t){!function(n){function i(t){throw new RangeError(z[t])}function a(t,e){for(var r=t.length,n=[];r--;)n[r]=e(t[r]);return n}function o(t,e){var r=t.split(&quot;@&quot;),n=&quot;&quot;;r.length&gt;1&amp;&amp;(n=r[0]+&quot;@&quot;,t=r[1]);return n+a((t=t.replace(C,&quot;.&quot;)).split(&quot;.&quot;),e).join(&quot;.&quot;)}function s(t){for(var e,r,n=[],i=0,a=t.length;i&lt;a;)(e=t.charCodeAt(i++))&gt;=55296&amp;&amp;e&lt;=56319&amp;&amp;i&lt;a?56320==(64512&amp;(r=t.charCodeAt(i++)))?n.push(((1023&amp;e)&lt;&lt;10)+(1023&amp;r)+65536):(n.push(e),i--):n.push(e);return n}function l(t){return a(t,function(t){var e=&quot;&quot;;return t&gt;65535&amp;&amp;(e+=P((t-=65536)&gt;&gt;&gt;10&amp;1023|55296),t=56320|1023&amp;t),e+=P(t)}).join(&quot;&quot;)}function c(t){return t-48&lt;10?t-22:t-65&lt;26?t-65:t-97&lt;26?t-97:b}function u(t,e){return t+22+75*(t&lt;26)-((0!=e)&lt;&lt;5)}function f(t,e,r){var n=0;for(t=r?I(t/k):t&gt;&gt;1,t+=I(t/e);t&gt;D*w&gt;&gt;1;n+=b)t=I(t/D);return I(n+(D+1)*t/(t+M))}function h(t){var e,r,n,a,o,s,u,h,d,p,m=[],g=t.length,v=0,y=T,M=A;for((r=t.lastIndexOf(S))&lt;0&amp;&amp;(r=0),n=0;n&lt;r;++n)t.charCodeAt(n)&gt;=128&amp;&amp;i(&quot;not-basic&quot;),m.push(t.charCodeAt(n));for(a=r&gt;0?r+1:0;a&lt;g;){for(o=v,s=1,u=b;a&gt;=g&amp;&amp;i(&quot;invalid-input&quot;),((h=c(t.charCodeAt(a++)))&gt;=b||h&gt;I((x-v)/s))&amp;&amp;i(&quot;overflow&quot;),v+=h*s,d=u&lt;=M?_:u&gt;=M+w?w:u-M,!(h&lt;d);u+=b)s&gt;I(x/(p=b-d))&amp;&amp;i(&quot;overflow&quot;),s*=p;M=f(v-o,e=m.length+1,0==o),I(v/e)&gt;x-y&amp;&amp;i(&quot;overflow&quot;),y+=I(v/e),v%=e,m.splice(v++,0,y)}return l(m)}function d(t){var e,r,n,a,o,l,c,h,d,p,m,g,v,y,M,k=[];for(g=(t=s(t)).length,e=T,r=0,o=A,l=0;l&lt;g;++l)(m=t[l])&lt;128&amp;&amp;k.push(P(m));for(n=a=k.length,a&amp;&amp;k.push(S);n&lt;g;){for(c=x,l=0;l&lt;g;++l)(m=t[l])&gt;=e&amp;&amp;m&lt;c&amp;&amp;(c=m);for(c-e&gt;I((x-r)/(v=n+1))&amp;&amp;i(&quot;overflow&quot;),r+=(c-e)*v,e=c,l=0;l&lt;g;++l)if((m=t[l])&lt;e&amp;&amp;++r&gt;x&amp;&amp;i(&quot;overflow&quot;),m==e){for(h=r,d=b;p=d&lt;=o?_:d&gt;=o+w?w:d-o,!(h&lt;p);d+=b)M=h-p,y=b-p,k.push(P(u(p+M%y,0))),h=I(M/y);k.push(P(u(h,0))),o=f(r,v,n==a),r=0,++n}++r,++e}return k.join(&quot;&quot;)}var p=&quot;object&quot;==typeof r&amp;&amp;r&amp;&amp;!r.nodeType&amp;&amp;r,m=&quot;object&quot;==typeof e&amp;&amp;e&amp;&amp;!e.nodeType&amp;&amp;e,g=&quot;object&quot;==typeof t&amp;&amp;t;g.global!==g&amp;&amp;g.window!==g&amp;&amp;g.self!==g||(n=g);var v,y,x=2147483647,b=36,_=1,w=26,M=38,k=700,A=72,T=128,S=&quot;-&quot;,E=/^xn--/,L=/[^\x20-\x7E]/,C=/[\x2E\u3002\uFF0E\uFF61]/g,z={overflow:&quot;Overflow: input needs wider integers to process&quot;,&quot;not-basic&quot;:&quot;Illegal input &gt;= 0x80 (not a basic code point)&quot;,&quot;invalid-input&quot;:&quot;Invalid input&quot;},D=b-_,I=Math.floor,P=String.fromCharCode;if(v={version:&quot;1.4.1&quot;,ucs2:{decode:s,encode:l},decode:h,encode:d,toASCII:function(t){return o(t,function(t){return L.test(t)?&quot;xn--&quot;+d(t):t})},toUnicode:function(t){return o(t,function(t){return E.test(t)?h(t.slice(4).toLowerCase()):t})}},p&amp;&amp;m)if(e.exports==p)m.exports=v;else for(y in v)v.hasOwnProperty(y)&amp;&amp;(p[y]=v[y]);else n.punycode=v}(this)}).call(this,&quot;undefined&quot;!=typeof global?global:&quot;undefined&quot;!=typeof self?self:&quot;undefined&quot;!=typeof window?window:{})},{}],490:[function(t,e,r){e.exports=t(&quot;gl-quat/slerp&quot;)},{&quot;gl-quat/slerp&quot;:236}],491:[function(t,e,r){&quot;use strict&quot;;function n(t,e){return Object.prototype.hasOwnProperty.call(t,e)}e.exports=function(t,e,r,a){e=e||&quot;&amp;&quot;,r=r||&quot;=&quot;;var o={};if(&quot;string&quot;!=typeof t||0===t.length)return o;var s=/\+/g;t=t.split(e);var l=1e3;a&amp;&amp;&quot;number&quot;==typeof a.maxKeys&amp;&amp;(l=a.maxKeys);var c=t.length;l&gt;0&amp;&amp;c&gt;l&amp;&amp;(c=l);for(var u=0;u&lt;c;++u){var f,h,d,p,m=t[u].replace(s,&quot;%20&quot;),g=m.indexOf(r);g&gt;=0?(f=m.substr(0,g),h=m.substr(g+1)):(f=m,h=&quot;&quot;),d=decodeURIComponent(f),p=decodeURIComponent(h),n(o,d)?i(o[d])?o[d].push(p):o[d]=[o[d],p]:o[d]=p}return o};var i=Array.isArray||function(t){return&quot;[object Array]&quot;===Object.prototype.toString.call(t)}},{}],492:[function(t,e,r){&quot;use strict&quot;;function n(t,e){if(t.map)return t.map(e);for(var r=[],n=0;n&lt;t.length;n++)r.push(e(t[n],n));return r}var i=function(t){switch(typeof t){case&quot;string&quot;:return t;case&quot;boolean&quot;:return t?&quot;true&quot;:&quot;false&quot;;case&quot;number&quot;:return isFinite(t)?t:&quot;&quot;;default:return&quot;&quot;}};e.exports=function(t,e,r,s){return e=e||&quot;&amp;&quot;,r=r||&quot;=&quot;,null===t&amp;&amp;(t=void 0),&quot;object&quot;==typeof t?n(o(t),function(o){var s=encodeURIComponent(i(o))+r;return a(t[o])?n(t[o],function(t){return s+encodeURIComponent(i(t))}).join(e):s+encodeURIComponent(i(t[o]))}).join(e):s?encodeURIComponent(i(s))+r+encodeURIComponent(i(t)):&quot;&quot;};var a=Array.isArray||function(t){return&quot;[object Array]&quot;===Object.prototype.toString.call(t)},o=Object.keys||function(t){var e=[];for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&amp;&amp;e.push(r);return e}},{}],493:[function(t,e,r){&quot;use strict&quot;;r.decode=r.parse=t(&quot;./decode&quot;),r.encode=r.stringify=t(&quot;./encode&quot;)},{&quot;./decode&quot;:491,&quot;./encode&quot;:492}],494:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,a,o){for(r=r||0,a=a||t.length-1,o=o||function(t,e){return t&lt;e?-1:t&gt;e?1:0};a&gt;r;){if(a-r&gt;600){var s=a-r+1,l=e-r+1,c=Math.log(s),u=.5*Math.exp(2*c/3),f=.5*Math.sqrt(c*u*(s-u)/s)*(l-s/2&lt;0?-1:1);n(t,e,Math.max(r,Math.floor(e-l*u/s+f)),Math.min(a,Math.floor(e+(s-l)*u/s+f)),o)}var h=t[e],d=r,p=a;for(i(t,r,e),o(t[a],h)&gt;0&amp;&amp;i(t,r,a);d&lt;p;){for(i(t,d,p),d++,p--;o(t[d],h)&lt;0;)d++;for(;o(t[p],h)&gt;0;)p--}0===o(t[r],h)?i(t,r,p):i(t,++p,a),p&lt;=e&amp;&amp;(r=p+1),e&lt;=p&amp;&amp;(a=p-1)}}function i(t,e,r){var n=t[e];t[e]=t[r],t[r]=n}e.exports=n},{}],495:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;big-rat/add&quot;);e.exports=function(t,e){for(var r=t.length,i=new Array(r),a=0;a&lt;r;++a)i[a]=n(t[a],e[a]);return i}},{&quot;big-rat/add&quot;:54}],496:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t){for(var e=new Array(t.length),r=0;r&lt;t.length;++r)e[r]=n(t[r]);return e};var n=t(&quot;big-rat&quot;)},{&quot;big-rat&quot;:57}],497:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;big-rat&quot;),i=t(&quot;big-rat/mul&quot;);e.exports=function(t,e){for(var r=n(e),a=t.length,o=new Array(a),s=0;s&lt;a;++s)o[s]=i(t[s],r);return o}},{&quot;big-rat&quot;:57,&quot;big-rat/mul&quot;:66}],498:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;big-rat/sub&quot;);e.exports=function(t,e){for(var r=t.length,i=new Array(r),a=0;a&lt;r;++a)i[a]=n(t[a],e[a]);return i}},{&quot;big-rat/sub&quot;:68}],499:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;compare-cell&quot;),i=t(&quot;compare-oriented-cell&quot;),a=t(&quot;cell-orientation&quot;);e.exports=function(t){t.sort(i);for(var e=t.length,r=0,o=0;o&lt;e;++o){var s=t[o],l=a(s);if(0!==l){if(r&gt;0){var c=t[r-1];if(0===n(s,c)&amp;&amp;a(c)!==l){r-=1;continue}}t[r++]=s}}return t.length=r,t}},{&quot;cell-orientation&quot;:90,&quot;compare-cell&quot;:107,&quot;compare-oriented-cell&quot;:108}],500:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;array-bounds&quot;),i=t(&quot;color-normalize&quot;),a=t(&quot;update-diff&quot;),o=t(&quot;pick-by-alias&quot;),s=t(&quot;object-assign&quot;),l=t(&quot;flatten-vertex-data&quot;),c=t(&quot;to-float32&quot;),u=c.float32,f=c.fract32;e.exports=function(t,e){function r(t){t?p(t):null===t&amp;&amp;m(),c()}function c(e){if(&quot;number&quot;==typeof e)return d(e);e&amp;&amp;!Array.isArray(e)&amp;&amp;(e=[e]),t._refresh(),k.forEach(function(t,r){t&amp;&amp;(e&amp;&amp;(e[r]?t.draw=!0:t.draw=!1),t.draw?d(r):t.draw=!0)})}function d(t){&quot;number&quot;==typeof t&amp;&amp;(t=k[t]),null!=t&amp;&amp;t&amp;&amp;t.count&amp;&amp;t.color&amp;&amp;t.opacity&amp;&amp;t.positions&amp;&amp;t.positions.length&gt;1&amp;&amp;(t.scaleRatio=[t.scale[0]*t.viewport.width,t.scale[1]*t.viewport.height],g(t),t.after&amp;&amp;t.after(t))}function p(t){if(t){null!=t.length?&quot;number&quot;==typeof t[0]&amp;&amp;(t=[{positions:t}]):Array.isArray(t)||(t=[t]);var e=0,r=0;if(k=t.map(function(t,c){var u=k[c];return t?(&quot;function&quot;==typeof t?t={after:t}:&quot;number&quot;==typeof t[0]&amp;&amp;(t={positions:t}),t=o(t,{color:&quot;color colors fill&quot;,capSize:&quot;capSize cap capsize cap-size&quot;,lineWidth:&quot;lineWidth line-width width line thickness&quot;,opacity:&quot;opacity alpha&quot;,range:&quot;range dataBox&quot;,viewport:&quot;viewport viewBox&quot;,errors:&quot;errors error&quot;,positions:&quot;positions position data points&quot;}),u||(k[c]=u={id:c,scale:null,translate:null,scaleFract:null,translateFract:null,draw:!0},t=s({},M,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,&quot;float64&quot;),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=&quot;transparent&quot;),!Array.isArray(t)||&quot;number&quot;==typeof t[0]){var n=t;t=Array(r);for(var a=0;a&lt;r;a++)t[a]=n}if(t.length&lt;r)throw Error(&quot;Not enough colors&quot;);for(var o=new Uint8Array(4*r),s=0;s&lt;r;s++){var l=i(t[s],&quot;uint8&quot;);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:w.drawingBufferWidth,height:w.drawingBufferHeight},e}}]),u):u}),e||r){var c=k.reduce(function(t,e,r){return t+(e?e.count:0)},0),h=new Float64Array(2*c),d=new Uint8Array(4*c),p=new Float32Array(4*c);k.forEach(function(t,e){if(t){var r=t.positions,n=t.count,i=t.offset,a=t.color,o=t.errors;n&amp;&amp;(d.set(a,4*i),p.set(o,4*i),h.set(r,2*i))}}),v(u(h)),y(f(h)),x(d),b(p)}}}function m(){v.destroy(),y.destroy(),x.destroy(),b.destroy(),_.destroy()}if(&quot;function&quot;==typeof t?(e||(e={}),e.regl=t):e=t,e.length&amp;&amp;(e.positions=e),!(t=e.regl).hasExtension(&quot;ANGLE_instanced_arrays&quot;))throw Error(&quot;regl-error2d: `ANGLE_instanced_arrays` extension should be enabled&quot;);var g,v,y,x,b,_,w=t._gl,M={color:&quot;black&quot;,capSize:5,lineWidth:1,opacity:1,viewport:null,range:null,offset:0,count:0,bounds:null,positions:[],errors:[]},k=[];return x=t.buffer({usage:&quot;dynamic&quot;,type:&quot;uint8&quot;,data:null}),v=t.buffer({usage:&quot;dynamic&quot;,type:&quot;float&quot;,data:null}),y=t.buffer({usage:&quot;dynamic&quot;,type:&quot;float&quot;,data:null}),b=t.buffer({usage:&quot;dynamic&quot;,type:&quot;float&quot;,data:null}),_=t.buffer({usage:&quot;static&quot;,type:&quot;float&quot;,data:h}),p(e),g=t({vert:&quot;\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&quot;,frag:&quot;\n\t\tprecision mediump 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&quot;,uniforms:{range:t.prop(&quot;range&quot;),lineWidth:t.prop(&quot;lineWidth&quot;),capSize:t.prop(&quot;capSize&quot;),opacity:t.prop(&quot;opacity&quot;),scale:t.prop(&quot;scale&quot;),translate:t.prop(&quot;translate&quot;),scaleFract:t.prop(&quot;scaleFract&quot;),translateFract:t.prop(&quot;translateFract&quot;),viewport:function(t,e){return[e.viewport.x,e.viewport.y,t.viewportWidth,t.viewportHeight]}},attributes:{color:{buffer:x,offset:function(t,e){return 4*e.offset},divisor:1},position:{buffer:v,offset:function(t,e){return 8*e.offset},divisor:1},positionFract:{buffer:y,offset:function(t,e){return 8*e.offset},divisor:1},error:{buffer:b,offset:function(t,e){return 16*e.offset},divisor:1},direction:{buffer:_,stride:24,offset:0},lineOffset:{buffer:_,stride:24,offset:8},capOffset:{buffer:_,stride:24,offset:16}},primitive:&quot;triangles&quot;,blend:{enable:!0,color:[0,0,0,0],equation:{rgb:&quot;add&quot;,alpha:&quot;add&quot;},func:{srcRGB:&quot;src alpha&quot;,dstRGB:&quot;one minus src alpha&quot;,srcAlpha:&quot;one minus dst alpha&quot;,dstAlpha:&quot;one&quot;}},depth:{enable:!1},scissor:{enable:!0,box:t.prop(&quot;viewport&quot;)},viewport:t.prop(&quot;viewport&quot;),stencil:!1,instances:t.prop(&quot;count&quot;),count:h.length}),s(r,{update:p,draw:c,destroy:m,regl:t,gl:w,canvas:w.canvas,groups:k}),r};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]]},{&quot;array-bounds&quot;:48,&quot;color-normalize&quot;:99,&quot;flatten-vertex-data&quot;:143,&quot;object-assign&quot;:462,&quot;pick-by-alias&quot;:473,&quot;to-float32&quot;:547,&quot;update-diff&quot;:558}],501:[function(t,e,r){&quot;use strict&quot;;function n(t){var e=new Float32Array(t.length);e.set(t);for(var r=0,n=e.length;r&lt;n;r++)e[r]=t[r]-e[r];return e}var i=t(&quot;color-normalize&quot;),a=t(&quot;array-bounds&quot;),o=t(&quot;object-assign&quot;),s=t(&quot;glslify&quot;),l=t(&quot;pick-by-alias&quot;),c=t(&quot;update-diff&quot;),u=t(&quot;flatten-vertex-data&quot;),f=t(&quot;earcut&quot;),h=t(&quot;array-normalize&quot;);e.exports=function(t,e){function r(t){t?m(t):null===t&amp;&amp;g(),d()}function d(t){if(&quot;number&quot;==typeof t)return p(t);t&amp;&amp;!Array.isArray(t)&amp;&amp;(t=[t]),S.forEach(function(e,r){t&amp;&amp;(t[r]?e.draw=!0:e.draw=!1),e.draw?p(r):e.draw=!0})}function p(e){&quot;number&quot;==typeof e&amp;&amp;(e=S[e]),e&amp;&amp;e.count&amp;&amp;e.opacity&amp;&amp;e.positions&amp;&amp;e.positions.length&gt;2&amp;&amp;(t._refresh(),e.fill&amp;&amp;e.triangles&amp;&amp;e.triangles.length&gt;2&amp;&amp;x(e),e.thickness&amp;&amp;e.color&amp;&amp;(e.scaleRatio=[e.scale[0]*e.viewport.width,e.scale[1]*e.viewport.height],e.scaleRatio[0]&gt;L||e.scaleRatio[1]&gt;L?y(e):&quot;rect&quot;===e.join||!e.join&amp;&amp;(e.thickness&lt;=2||e.positions.length&gt;=C)?y(e):v(e),e.after&amp;&amp;e.after(e)))}function m(t){if(t){null!=t.length?&quot;number&quot;==typeof t[0]&amp;&amp;(t=[{positions:t}]):Array.isArray(t)||(t=[t]);var e=0;if(S=t.map(function(t,r){var s=S[r];return t?(&quot;function&quot;==typeof t?t={after:t}:&quot;number&quot;==typeof t[0]&amp;&amp;(t={positions:t}),t=l(t,{positions:&quot;positions points data coords&quot;,thickness:&quot;thickness lineWidth lineWidths line-width linewidth width stroke-width strokewidth strokeWidth&quot;,join:&quot;lineJoin linejoin join type mode&quot;,miterLimit:&quot;miterlimit miterLimit&quot;,dashes:&quot;dash dashes dasharray dash-array dashArray&quot;,color:&quot;color stroke colors stroke-color strokeColor&quot;,fill:&quot;fill fill-color fillColor&quot;,opacity:&quot;alpha opacity&quot;,overlay:&quot;overlay crease overlap intersect&quot;,close:&quot;closed close closed-path closePath&quot;,range:&quot;range dataBox&quot;,viewport:&quot;viewport viewBox&quot;,hole:&quot;holes hole hollow&quot;,after:&quot;after callback done pass&quot;}),s||(S[r]=s={id:r,scale:null,scaleFract:null,translate:null,translateFract:null,count:0,offset:0,dashLength:0,hole:!0},t=o({},T,t)),c(s,t,[{thickness:parseFloat,opacity:parseFloat,miterLimit:parseFloat,overlay:Boolean,join:function(t){return t},after:function(t){return t},hole:function(t){return t||[]},positions:function(t,r,n){t=u(t,&quot;float64&quot;);var i=Math.floor(t.length/2),o=a(t,2);return r.range||n.range||(n.range=o),r.count=i,r.bounds=o,e+=i,t},fill:function(t){return t?i(t,&quot;uint8&quot;):null},dashes:function(t,e,r){var n,i=e.dashLength;if(!t||t.length&lt;2)i=1,n=new Uint8Array([255,255,255,255,255,255,255,255]);else{i=0;for(var a=0;a&lt;t.length;++a)i+=t[a];n=new Uint8Array(i*E);for(var o=0,s=255,l=0;l&lt;2;l++)for(var c=0;c&lt;t.length;++c){for(var u=0,f=t[c]*E*.5;u&lt;f;++u)n[o++]=s;s^=255}}return k.subimage({data:n,width:n.length,height:1},0,e.id),e.dashLength=i,n}},{close:function(t,e,r){return null!=t?t:e.positions.length&gt;=4&amp;&amp;e.positions[0]===e.positions[e.positions.length-2]&amp;&amp;e.positions[1]===e.positions[e.positions.length-1]},positions:function(t,e,r){if(e.fill&amp;&amp;t.length){for(var n=[],i={},a=0,o=0,s=0,l=e.count;o&lt;l;o++){var c=e.positions[2*o],u=e.positions[2*o+1];Number.isNaN(c)||Number.isNaN(u)?(c=e.positions[2*a],u=e.positions[2*a+1],i[o]=a):a=o,n[s++]=c,n[s++]=u}for(var h=f(n,e.hole),d=0,p=h.length;d&lt;p;d++)null!=i[h[d]]&amp;&amp;(h[d]=i[h[d]]);e.triangles=h}return e.positions},color:function(t,e,r){var n=e.count;if(t||(t=&quot;transparent&quot;),!Array.isArray(t)||&quot;number&quot;==typeof t[0]){var a=t;t=Array(n);for(var o=0;o&lt;n;o++)t[o]=a}if(t.length&lt;n)throw Error(&quot;Not enough colors&quot;);for(var s=new Uint8Array(4*n+4),l=0;l&lt;n;l++){var c=i(t[l],&quot;uint8&quot;);s.set(c,4*l)}return s},range:function(t,e,r){if(!e.count)return null;var i=e.bounds;t||(t=i);var a=h(t.slice(),2,i);return e.scale=[1/(a[2]-a[0]),1/(a[3]-a[1])],e.translate=[-a[0],-a[1]],e.scaleFract=n(e.scale),e.translateFract=n(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:A.drawingBufferWidth,height:A.drawingBufferHeight},e}}]),s):s}),e){var s=2*e+6*S.length,d=new Float64Array(s),p=0,m=new Uint8Array(2*s);S.forEach(function(t,e){if(t){var r=t.positions,n=t.count,i=t.color;if(t.offset=p,n){var a=new Float64Array(r.length);a.set(r),h(a,2,t.bounds),t.close?r[0]===r[2*n-2]&amp;&amp;r[1]===r[2*n-1]?(d[2*p+0]=a[2*n-4],d[2*p+1]=a[2*n-3]):(d[2*p+0]=a[2*n-2],d[2*p+1]=a[2*n-1]):(d[2*p+0]=a[0],d[2*p+1]=a[1]),m[4*p+0]=i[0],m[4*p+1]=i[1],m[4*p+2]=i[2],m[4*p+3]=i[3],d.set(a,2*p+2),m.set(i,4*p+4),t.close?r[0]===r[2*n-2]&amp;&amp;r[1]===r[2*n-1]?(d[2*p+2*n+2]=a[2],d[2*p+2*n+3]=a[3],p+=n+2,t.count-=1):(d[2*p+2*n+2]=a[0],d[2*p+2*n+3]=a[1],d[2*p+2*n+4]=a[2],d[2*p+2*n+5]=a[3],p+=n+3):(d[2*p+2*n+2]=a[2*n-2],d[2*p+2*n+3]=a[2*n-1],d[2*p+2*n+4]=a[2*n-2],d[2*p+2*n+5]=a[2*n-1],p+=n+3)}}}),b(m),w(function(t){if(t instanceof Float32Array)return t;var e=new Float32Array(t);return e.set(t),e}(d)),M(n(d))}return r}}function g(){S.length=0,b.destroy(),_.destroy(),w.destroy(),k.destroy()}if(&quot;function&quot;==typeof t?(e||(e={}),e.regl=t):e=t,e.length&amp;&amp;(e.positions=e),!(t=e.regl).hasExtension(&quot;ANGLE_instanced_arrays&quot;))throw Error(&quot;regl-error2d: `ANGLE_instanced_arrays` extension should be enabled&quot;);var v,y,x,b,_,w,M,k,A=t._gl,T={positions:[],dashes:null,join:null,miterLimit:1,thickness:10,cap:&quot;square&quot;,color:&quot;black&quot;,opacity:1,overlay:!1,viewport:null,range:null,close:null,fill:null},S=[],E=2,L=3e6,C=1e4;b=t.buffer({usage:&quot;dynamic&quot;,type:&quot;uint8&quot;,data:null}),_=t.buffer({usage:&quot;static&quot;,type:&quot;float&quot;,data:[0,1,0,0,1,1,1,0]}),w=t.buffer({usage:&quot;dynamic&quot;,type:&quot;float&quot;,data:null}),M=t.buffer({usage:&quot;dynamic&quot;,type:&quot;float&quot;,data:null}),k=t.texture({channels:1,data:new Uint8Array(524288),width:256,height:2048,mag:&quot;linear&quot;,min:&quot;linear&quot;}),m(e);var z={primitive:&quot;triangle strip&quot;,instances:t.prop(&quot;count&quot;),count:4,offset:0,uniforms:{miterMode:function(t,e){return&quot;round&quot;===e.join?2:1},miterLimit:t.prop(&quot;miterLimit&quot;),scale:t.prop(&quot;scale&quot;),scaleFract:t.prop(&quot;scaleFract&quot;),translateFract:t.prop(&quot;translateFract&quot;),translate:t.prop(&quot;translate&quot;),thickness:t.prop(&quot;thickness&quot;),dashPattern:k,dashLength:t.prop(&quot;dashLength&quot;),dashShape:[256,2048],opacity:t.prop(&quot;opacity&quot;),pixelRatio:t.context(&quot;pixelRatio&quot;),id:t.prop(&quot;id&quot;),scaleRatio:t.prop(&quot;scaleRatio&quot;),viewport:function(t,e){return[e.viewport.x,e.viewport.y,t.viewportWidth,t.viewportHeight]}},blend:{enable:!0,color:[0,0,0,0],equation:{rgb:&quot;add&quot;,alpha:&quot;add&quot;},func:{srcRGB:&quot;src alpha&quot;,dstRGB:&quot;one minus src alpha&quot;,srcAlpha:&quot;one minus dst alpha&quot;,dstAlpha:&quot;one&quot;}},depth:{enable:function(t,e){return!e.overlay}},scissor:{enable:!0,box:t.prop(&quot;viewport&quot;)},stencil:!1,viewport:t.prop(&quot;viewport&quot;)};return v=t(o({cull:{enable:!0,face:&quot;back&quot;},vert:s([&quot;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, scaleRatio;\nuniform float thickness, pixelRatio, id;\nuniform vec4 viewport;\nuniform float miterLimit, dashLength, miterMode;\n\nvarying vec4 fragColor;\nvarying vec4 startCutoff, endCutoff;\nvarying vec2 tangent;\nvarying vec2 startCoord, endCoord;\nvarying float enableStartMiter, enableEndMiter;\n\nconst float MAX_LINES = 256.;\nconst float REVERSE_THRESHOLD = -.875;\nconst float MIN_DIST = 1.;\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\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 &lt; 0.0 || 0.0 &lt; val || val == 0.0 ) ? false : true;\n}\n\nvoid main() {\n\tvec2 aCoord = aCoord, bCoord = bCoord, prevCoord = prevCoord, nextCoord = nextCoord;\n\tvec2 normalWidth = thickness / scaleRatio;\n\n\tfloat lineStart = 1. - lineEnd;\n\tfloat lineBot = 1. - lineTop;\n\tfloat depth = (MAX_LINES - 1. - id) / MAX_LINES;\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 prevDirection = normalize(prevDiff);\n\tvec2 currDirection = normalize(currDiff);\n\tvec2 nextDirection = normalize(nextDiff);\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\tif (prevDirection == currDirection) {\n\t\tstartJoinDirection = currNormal;\n\t}\n\tif (nextDirection == currDirection) {\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) &lt;= REVERSE_THRESHOLD &amp;&amp; abs(dot(currTangent, prevNormal)) * min(length(prevDiff), length(currDiff)) &lt;  length(normalWidth * currNormal);\n\tbool nextReverse = dot(currTangent, nextTangent) &lt;= REVERSE_THRESHOLD &amp;&amp; abs(dot(currTangent, nextNormal)) * min(length(nextDiff), length(currDiff)) &lt;  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 &amp;&amp; baClipping &gt; 0. &amp;&amp; baClipping &lt; 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 &amp;&amp; abClipping &gt; 0. &amp;&amp; abClipping &lt; 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 + translate) * scale;\n\tvec2 aBotPosition = (aBotCoord + translate) * scale;\n\n\tvec2 bTopPosition = (bTopCoord + translate) * scale;\n\tvec2 bBotPosition = (bBotCoord + translate) * scale;\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 + translate) * scaleRatio + viewport.xy;\n\tendCoord = (bCoord + translate) * scaleRatio + 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 + translate.xyxy) * scaleRatio.xyxy;\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 + translate.xyxy) * scaleRatio.xyxy;\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 + translate.xyxy) * scaleRatio.xyxy;\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 + translate.xyxy) * scaleRatio.xyxy;\n\t\t\tendCutoff += viewport.xyxy;\n\t\t\tendCutoff += endMiterWidth.xyxy;\n\t\t}\n\t}\n}\n&quot;]),frag:s([&quot;precision highp float;\n#define GLSLIFY 1\n\nuniform sampler2D dashPattern;\nuniform vec2 dashShape;\nuniform float dashLength, pixelRatio, thickness, opacity, id, miterMode;\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 &lt; -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 &lt; -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 &lt; 0.) {\n\t\t\t\tfloat radius = length(gl_FragCoord.xy - startCoord);\n\n\t\t\t\tif(radius &gt; 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 &lt; 0.) {\n\t\t\t\tfloat radius = length(gl_FragCoord.xy - endCoord);\n\n\t\t\t\tif(radius &gt; 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(dashPattern, vec2(t * dashLength * 2. / dashShape.x, (id + .5) / dashShape.y)).r;\n\n\tgl_FragColor = fragColor * dash;\n\tgl_FragColor.a *= alpha * opacity * dash;\n}\n&quot;]),attributes:{lineEnd:{buffer:_,divisor:0,stride:8,offset:0},lineTop:{buffer:_,divisor:0,stride:8,offset:4},aColor:{buffer:b,stride:4,offset:function(t,e){return 4*e.offset},divisor:1},bColor:{buffer:b,stride:4,offset:function(t,e){return 4*e.offset+4},divisor:1},prevCoord:{buffer:w,stride:8,offset:function(t,e){return 8*e.offset},divisor:1},aCoord:{buffer:w,stride:8,offset:function(t,e){return 8+8*e.offset},divisor:1},bCoord:{buffer:w,stride:8,offset:function(t,e){return 16+8*e.offset},divisor:1},nextCoord:{buffer:w,stride:8,offset:function(t,e){return 24+8*e.offset},divisor:1}}},z)),y=t(o({vert:s([&quot;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, scaleRatio;\nuniform float thickness, pixelRatio, id;\nuniform vec4 viewport;\n\nvarying vec4 fragColor;\nvarying vec2 tangent;\n\nconst float MAX_LINES = 256.;\n\nvec2 project(vec2 position, vec2 positionFract, vec2 scale, vec2 scaleFract, vec2 translate, vec2 translateFract) {\n  return (position + translate) * scale\n       + (positionFract + translateFract) * scale\n       + (position + translate) * scaleFract\n       + (positionFract + translateFract) * scaleFract;\n}\n\nvoid main() {\n\t// vec2 scaleRatio = scale * viewport.zw;\n\tvec2 normalWidth = thickness / scaleRatio;\n\n\tfloat lineStart = 1. - lineEnd;\n\tfloat lineOffset = lineTop * 2. - 1.;\n\tfloat depth = (MAX_LINES - 1. - id) / (MAX_LINES);\n\n\tvec2 diff = (bCoord + bCoordFract - aCoord - aCoordFract);\n\ttangent = normalize(diff * scaleRatio);\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&quot;]),frag:s([&quot;precision highp float;\n#define GLSLIFY 1\n\nuniform sampler2D dashPattern;\nuniform vec2 dashShape;\nuniform float dashLength, pixelRatio, thickness, opacity, id;\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(dashPattern, vec2(t * dashLength * 2. / dashShape.x, (id + .5) / dashShape.y)).r;\n\n\tgl_FragColor = fragColor * dash;\n\tgl_FragColor.a *= alpha * opacity * dash;\n}\n&quot;]),attributes:{lineEnd:{buffer:_,divisor:0,stride:8,offset:0},lineTop:{buffer:_,divisor:0,stride:8,offset:4},aCoord:{buffer:w,stride:8,offset:function(t,e){return 8+8*e.offset},divisor:1},bCoord:{buffer:w,stride:8,offset:function(t,e){return 16+8*e.offset},divisor:1},aCoordFract:{buffer:M,stride:8,offset:function(t,e){return 8+8*e.offset},divisor:1},bCoordFract:{buffer:M,stride:8,offset:function(t,e){return 16+8*e.offset},divisor:1},color:{buffer:b,stride:4,offset:function(t,e){return 4*e.offset},divisor:1}}},z)),x=t({primitive:&quot;triangle&quot;,elements:function(t,e){return e.triangles},offset:0,vert:s([&quot;precision highp float;\n#define GLSLIFY 1\n\nattribute vec2 position, positionFract;\n\nuniform vec4 color;\nuniform vec2 scale, scaleFract, translate, translateFract, scaleRatio;\nuniform float pixelRatio, id;\nuniform vec4 viewport;\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 + translate) * scale\n       + (positionFract + translateFract) * scale\n       + (position + translate) * scaleFract\n       + (positionFract + translateFract) * scaleFract;\n\n\tgl_Position = vec4(position * 2.0 - 1.0, depth, 1);\n\n\tfragColor = color / 255.;\n}\n&quot;]),frag:s([&quot;precision highp float;\n#define GLSLIFY 1\n\nuniform float opacity;\n\nvarying vec4 fragColor;\n\nvoid main() {\n\tgl_FragColor = fragColor;\n\tgl_FragColor.a *= opacity;\n}\n&quot;]),uniforms:{scale:t.prop(&quot;scale&quot;),color:t.prop(&quot;fill&quot;),scaleFract:t.prop(&quot;scaleFract&quot;),translateFract:t.prop(&quot;translateFract&quot;),translate:t.prop(&quot;translate&quot;),opacity:t.prop(&quot;opacity&quot;),pixelRatio:t.context(&quot;pixelRatio&quot;),id:t.prop(&quot;id&quot;),viewport:function(t,e){return[e.viewport.x,e.viewport.y,t.viewportWidth,t.viewportHeight]}},attributes:{position:{buffer:w,stride:8,offset:function(t,e){return 8+8*e.offset}},positionFract:{buffer:M,stride:8,offset:function(t,e){return 8+8*e.offset}}},blend:z.blend,depth:{enable:!1},scissor:z.scissor,stencil:z.stencil,viewport:z.viewport}),o(r,{update:m,draw:d,destroy:g,regl:t,gl:A,canvas:A.canvas,lines:S}),r}},{&quot;array-bounds&quot;:48,&quot;array-normalize&quot;:49,&quot;color-normalize&quot;:99,earcut:135,&quot;flatten-vertex-data&quot;:143,glslify:502,&quot;object-assign&quot;:462,&quot;pick-by-alias&quot;:473,&quot;update-diff&quot;:558}],502:[function(t,e,r){arguments[4][169][0].apply(r,arguments)},{dup:169}],503:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;color-normalize&quot;),i=t(&quot;array-bounds&quot;),a=t(&quot;color-id&quot;),o=t(&quot;snap-points-2d&quot;),s=t(&quot;object-assign&quot;),l=t(&quot;glslify&quot;),c=t(&quot;binary-search-bounds&quot;),u=t(&quot;pick-by-alias&quot;),f=t(&quot;update-diff&quot;),h=t(&quot;flatten-vertex-data&quot;),d=t(&quot;is-iexplorer&quot;),p=t(&quot;to-float32&quot;),m=p.float32,g=p.fract32;e.exports=function(t,e){function r(t){t?x(t):null===t&amp;&amp;M(),p()}function p(t){if(&quot;number&quot;==typeof t)return v(t);Array.isArray(t)?t.forEach(function(t,e){if(null!=t)return t.length?v(t,e):v(t)}):O.forEach(function(t,e){t&amp;&amp;v(e)})}function v(e,r){&quot;number&quot;==typeof e&amp;&amp;(e=O[e]);var n;if(Array.isArray(e)&amp;&amp;(n=e,e=O[r]),e&amp;&amp;e.count&amp;&amp;e.opacity){var i;if(n){i=Array(e.count);for(var a=0;a&lt;n.length;a++)i[n[a]]=!0}if(e.markerIds[0]){t._refresh();var o=y(e.markerIds[0],e,i);A(o)}for(var s=[],l=1;l&lt;e.markerIds.length;l++){var c=e.markerIds[l];c&amp;&amp;c.length&amp;&amp;[].push.apply(s,y(c,e,i))}s.length&amp;&amp;(t._refresh(),k(s))}}function y(t,e,r){function n(t,e){for(var r=[],n=0,i=t.length;n&lt;i;n++){var o=t[n];e[o-a]&amp;&amp;r.push(o)}return r}var i=e.range,a=e.offset;if(!t.snap){var o=r?n(t.data,r):t.elements;return[s({},e,{elements:o,offset:0,count:r?o.length:t.length,marker:F[t.id]})]}for(var l=[],u=t.lod,f=t.x,h=t.id,d=(i[2]-i[0])/e.viewport.width,p=u.length;p--;){var m=u[p];if(!(m.pixelSize&amp;&amp;m.pixelSize&lt;d&amp;&amp;p&gt;1)){var g=m.offset,v=m.count+g,y=c.ge(f,i[0],g,v-1),x=c.lt(f,i[2],y,v-1)+1;if(!(x&lt;=y))if(r){var b=n(t.data.subarray(y,x),r);l.push(s({},e,{elements:b,marker:F[h],offset:0,count:b.length}))}else l.push(s({},e,{elements:t.elements,marker:F[h],offset:y,count:x-y}))}}return l}function x(e){if(e){null!=e.length?&quot;number&quot;==typeof e[0]&amp;&amp;(e=[{positions:e}]):Array.isArray(e)||(e=[e]);var r=0,n=0,a=0;O=e.map(function(e,l){var c=O[l];return e?(&quot;function&quot;==typeof e?e={after:e}:&quot;number&quot;==typeof e[0]&amp;&amp;(e={positions:e}),e=u(e,{positions:&quot;positions data points&quot;,snap:&quot;snap cluster&quot;,size:&quot;sizes size radius&quot;,borderSize:&quot;borderSizes borderSize stroke-width strokeWidth outline&quot;,color:&quot;colors color fill fill-color fillColor&quot;,borderColor:&quot;borderColors borderColor stroke stroke-color strokeColor&quot;,palette:&quot;palette swatch&quot;,marker:&quot;markers marker shape&quot;,range:&quot;range dataBox&quot;,viewport:&quot;viewport viewBox&quot;,opacity:&quot;opacity alpha&quot;}),c||(O[l]=c={id:l,scale:null,translate:null,scaleFract:null,translateFract:null,markerIds:[]},e=s({},P,e)),!e.positions||&quot;marker&quot;in e||(e.marker=c.marker,delete c.marker),f(c,e,[{snap:!0,size:function(t){return n+=t.length?1:0,t},borderSize:function(t){return n+=t.length?1:0,t},opacity:parseFloat,color:function(t){return t=w(t),a++,t},borderColor:function(t){return t=w(t),a++,t},positions:function(t,e,n){t=h(t,&quot;float64&quot;);var a=e.count=Math.floor(t.length/2),o=e.bounds=a?i(t,2):null;return n.range||e.range||(delete e.range,n.range=o),e.offset=r,r+=a,n.marker||e.marker||(delete e.marker,n.marker=null),t}},{marker:function(t,e,r){if(e.markerIds.length=0,t&amp;&amp;&quot;number&quot;!=typeof t[0])for(var n=0,i=t.length;n&lt;i;n++){var a=_(t[n]);e.markerIds[a]||(e.markerIds[a]=[]),e.markerIds[a].push(n)}else{for(var o=_(t),s=Array(e.count),l=0;l&lt;e.count;l++)s[l]=l;e.markerIds[o]=s}return t}},{positions:function(e,r){for(var n=r.markerIds,i=r.snap,a=r.bounds,s=r.offset,l=0;l&lt;n.length;l++){var c=n[l];if(c&amp;&amp;c.length){var u=c.length,f=void 0;if(c.id=l,i&amp;&amp;(!0===i||u&gt;i)){c.snap=!0;var h=c.x=Array(u),d=c.w=Array(u),p=void 0;if(n.length&gt;1){p=Array(2*u);for(var m=0;m&lt;u;m++){var g=c[m];p[2*m]=e[2*g],p[2*m+1]=e[2*g+1]}}else(p=new Float64Array(e.length)).set(e);var v=new Uint32Array(u);c.lod=o(p,v,d,a),f=new Uint32Array(u);for(var y=0;y&lt;u;y++){var x=c[v[y]];f[y]=x+s,h[y]=e[2*x]}}else{f=new Uint32Array(u);for(var b=0;b&lt;u;b++)f[b]=c[b]+s}c.data=f,c.elements=t.elements({primitive:&quot;points&quot;,type:&quot;uint32&quot;,data:f})}}},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=g(e.scale),e.translateFract=g(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:z.drawingBufferWidth,height:z.drawingBufferHeight},e}}]),c):c}),b({point:r,size:n,color:a})}}function b(t){var e=t.point,r=t.size,n=t.color,i=O.reduce(function(t,e,r){return t+(e?e.count:0)},0);if(e){var a=new Float32Array(2*i),o=new Float32Array(2*i);O.forEach(function(t,e){if(t){var r=t.positions,n=t.count,i=t.offset;n&amp;&amp;(a.set(m(r),2*i),o.set(g(r),2*i))}}),S(a),E(o)}if(r){var s=new Uint8Array(2*i);O.forEach(function(t,e){if(t){var r=t.count,n=t.offset,i=t.size,a=t.borderSize;if(r&amp;&amp;(i.length||a.length)){for(var o=new Uint8Array(2*r),l=0;l&lt;r;l++)o[2*l]=Math.round(255*(null==i[l]?i:i[l])/j),o[2*l+1]=Math.round(255*(null==a[l]?a:a[l])/j);s.set(o,2*n)}}}),T(s)}if(n){var l=new Uint16Array(2*i);O.forEach(function(t,e){if(t){var r=t.count,n=t.offset,i=t.color,a=t.borderColor;if(r&amp;&amp;(i.length||a.length)){for(var o=new Uint16Array(2*r),s=0;s&lt;r;s++)o[2*s]=null==i[s]?i:i[s],o[2*s+1]=null==a[s]?a:a[s];l.set(o,2*n)}}}),L(l)}}function _(e){var r=null==e?0:R.indexOf(e);if(r&gt;=0)return r;var n;if(e instanceof Uint8Array||e instanceof Uint8ClampedArray)n=e;else{n=new Uint8Array(e.length);for(var i=0,a=e.length;i&lt;a;i++)n[i]=255*e[i]}var o=Math.floor(Math.sqrt(n.length));return r=F.length,R.push(e),F.push(t.texture({channels:1,data:n,radius:o,mag:&quot;linear&quot;,min:&quot;linear&quot;})),r}function w(t){Array.isArray(t)||(t=[t]);for(var e=D.length,r=[],i=0;i&lt;t.length;i++){var o=t[i];if(&quot;number&quot;!=typeof o){o=n(o,&quot;uint8&quot;);var s=a(o,!1);if(null==I[s]){var l=D.length;I[s]=Math.floor(l/4),D[l]=o[0],D[l+1]=o[1],D[l+2]=o[2],D[l+3]=o[3]}r[i]=Math.min(I[s],N-1)}else r[i]=o}return e&lt;4*N&amp;&amp;C.subimage({width:Math.min(.25*D.length,N),height:1,data:D.slice(0,4*N)},0,0),1===r.length?r[0]:r}function M(){O.length=0,T.destroy(),S.destroy(),E.destroy(),L.destroy(),C.destroy()}&quot;function&quot;==typeof t?(e||(e={}),e.regl=t):(e=t,t=null),e&amp;&amp;e.length&amp;&amp;(e.positions=e);var k,A,T,S,E,L,C,z=(t=e.regl)._gl,D=[],I={},P={color:&quot;black&quot;,borderColor:&quot;transparent&quot;,borderSize:1,size:12,opacity:1,marker:void 0,viewport:null,range:null,pixelSize:null,offset:0,count:0,bounds:null,positions:[],snap:1e4},O=[],F=[null],R=[null],N=4096,j=100;C=t.texture({data:new Uint8Array(4*N),width:N,height:1,type:&quot;uint8&quot;,format:&quot;rgba&quot;,wrapS:&quot;clamp&quot;,wrapT:&quot;clamp&quot;,mag:&quot;nearest&quot;,min:&quot;nearest&quot;}),T=t.buffer({usage:&quot;dynamic&quot;,type:&quot;float&quot;,data:null}),L=t.buffer({usage:&quot;dynamic&quot;,type:&quot;uint16&quot;,data:null}),S=t.buffer({usage:&quot;dynamic&quot;,type:&quot;float&quot;,data:null}),E=t.buffer({usage:&quot;dynamic&quot;,type:&quot;float&quot;,data:null}),e.clone?(O=e.clone.groups.map(function(e){return(e=s({},e)).markerIds&amp;&amp;(e.markerIds=e.markerIds.map(function(e){var r=e.slice();return r.lod=e.lod,r.snap=e.snap,r.data=e.data,r.id=e.id,r.x=e.x,r.w=e.w,r.elements=t.elements({primitive:&quot;points&quot;,type:&quot;uint32&quot;,data:e.data}),r})),e}),e.clone.markers.forEach(function(t){_(t)}),b({point:!0,color:!0,size:!0})):x(e);var B={uniforms:{pixelRatio:t.context(&quot;pixelRatio&quot;),palette:C,scale:t.prop(&quot;scale&quot;),scaleFract:t.prop(&quot;scaleFract&quot;),translate:t.prop(&quot;translate&quot;),translateFract:t.prop(&quot;translateFract&quot;),opacity:t.prop(&quot;opacity&quot;),marker:t.prop(&quot;marker&quot;)},attributes:{position:S,positionFract:E,size:function(t,e){return e.size.length?{buffer:T,stride:2,offset:0}:{constant:[Math.round(255*e.size/j)]}},borderSize:function(t,e){return e.borderSize.length?{buffer:T,stride:2,offset:1}:{constant:[Math.round(255*e.borderSize/j)]}},colorId:function(t,e){return e.color.length?{buffer:L,stride:4,offset:0}:{constant:[e.color]}},borderColorId:function(t,e){return e.borderColor.length?{buffer:L,stride:4,offset:2}:{constant:[e.borderColor]}}},blend:{enable:!0,color:[0,0,0,1],func:{srcRGB:&quot;src alpha&quot;,dstRGB:&quot;one minus src alpha&quot;,srcAlpha:&quot;one minus dst alpha&quot;,dstAlpha:&quot;one&quot;}},scissor:{enable:!0,box:t.prop(&quot;viewport&quot;)},viewport:t.prop(&quot;viewport&quot;),stencil:{enable:!1},depth:{enable:!1},elements:t.prop(&quot;elements&quot;),count:t.prop(&quot;count&quot;),offset:t.prop(&quot;offset&quot;),primitive:&quot;points&quot;};if(d)A=t(s({},B,{frag:l([&quot;precision mediump float;\n#define GLSLIFY 1\n\nuniform vec4 color, borderColor;\nuniform float opacity;\nvarying float fragBorderRadius, fragWidth, fragBorderSize, fragSize;\n\nfloat smoothStep(float x, float y) {\n  return 1.0 / (1.0 + exp(50.0*(x - y)));\n}\n\nvoid main() {\n  float radius = length(2.0*gl_PointCoord.xy-1.0);\n  if(radius &gt; 1.0) {\n    discard;\n  }\n\n  float centerFraction = fragBorderSize == 0. ? 2. : fragSize / (fragSize + fragBorderSize + 1.25);\n\n  vec4 baseColor = mix(borderColor, color, smoothStep(radius, centerFraction));\n  float alpha = 1.0 - pow(1.0 - baseColor.a, 1.);\n  gl_FragColor = vec4(baseColor.rgb * alpha, alpha);\n}\n&quot;]),vert:l([&quot;precision highp float;\n#define GLSLIFY 1\n\nattribute vec2 position, positionFract;\nattribute float size, borderSize;\n\nuniform vec2 scale, scaleFract, translate, translateFract;\nuniform float pixelRatio;\nuniform sampler2D palette;\n\nconst float paletteSize = 4096., maxSize = 100.;\n\nvarying vec4 fragColor, fragBorderColor;\nvarying float fragBorderRadius, fragWidth, fragBorderSize, fragSize;\n\nvoid main() {\n  float size = size * maxSize / 255.;\n  float borderSize = borderSize * maxSize / 255.;\n  fragBorderSize = borderSize;\n  fragSize = size;\n\n  gl_PointSize = (size + borderSize) * pixelRatio;\n\n  vec2 pos = (position + translate) * scale\n\t\t\t+ (positionFract + translateFract) * scale\n\t\t\t+ (position + translate) * scaleFract\n\t\t\t+ (positionFract + translateFract) * scaleFract;\n\n  gl_Position = vec4(pos * 2. - 1., 0, 1);\n\n  fragBorderRadius = borderSize == 0. ? 2. : 1. - 2. * borderSize / (size + borderSize);\n  fragWidth = 1. / gl_PointSize;\n}\n&quot;]),uniforms:{color:function(t,e){var r=e.color.length?e.color[0]:e.color;return D.slice(4*r,4*r+4).map(function(t){return t/255})},borderColor:function(t,e){var r=e.borderColor.length?e.borderColor[0]:e.borderColor;return D.slice(4*r,4*r+4).map(function(t){return t/255})},pixelRatio:t.context(&quot;pixelRatio&quot;),palette:C,scale:t.prop(&quot;scale&quot;),scaleFract:t.prop(&quot;scaleFract&quot;),translate:t.prop(&quot;translate&quot;),translateFract:t.prop(&quot;translateFract&quot;),opacity:t.prop(&quot;opacity&quot;),marker:t.prop(&quot;marker&quot;)},attributes:{position:S,positionFract:E,size:B.attributes.size,borderSize:B.attributes.borderSize}}));else{var U=s({},B);U.frag=l([&quot;precision mediump float;\n#define GLSLIFY 1\n\nvarying vec4 fragColor, fragBorderColor;\nvarying float fragWidth, fragBorderColorLevel, fragColorLevel;\n\nuniform sampler2D marker;\nuniform float pixelRatio, opacity;\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(marker, gl_PointCoord).r, delta = fragWidth;\n\n  //max-distance alpha\n  if (dist &lt; 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);\n    return;\n  }\n\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&quot;]),U.vert=l([&quot;precision mediump float;\n#define GLSLIFY 1\n\nattribute vec2 position, positionFract;\nattribute float size, borderSize;\nattribute float colorId, borderColorId;\n\nuniform vec2 scale, scaleFract, translate, translateFract;\nuniform float pixelRatio;\nuniform sampler2D palette;\n\nconst float paletteSize = 4096., maxSize = 100.;\nconst float borderLevel = .5;\n\nvarying vec4 fragColor, fragBorderColor;\nvarying float fragPointSize, fragBorderRadius,\n\t\tfragWidth, fragBorderColorLevel, fragColorLevel;\n\nvoid main() {\n  vec4 color = texture2D(palette, vec2((colorId + .5) / paletteSize, 0));\n  vec4 borderColor = texture2D(palette, vec2((borderColorId + .5) / paletteSize, 0));\n\n  float size = size * maxSize / 255.;\n  float borderSize = borderSize * maxSize / 255.;\n\n  gl_PointSize = 2. * size * pixelRatio;\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}\n&quot;]),k=t(U);var V=s({},B);V.frag=l([&quot;precision highp float;\n#define GLSLIFY 1\n\nvarying vec4 fragColor, fragBorderColor;\n\nuniform float opacity;\nvarying float fragBorderRadius, fragWidth;\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 &gt; 1.0 + delta) {\n\t\tdiscard;\n\t\treturn;\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&quot;]),V.vert=l([&quot;precision highp float;\n#define GLSLIFY 1\n\nattribute vec2 position, positionFract;\nattribute float size, borderSize;\nattribute float colorId, borderColorId;\n\nuniform vec2 scale, scaleFract, translate, translateFract;\nuniform float pixelRatio;\nuniform sampler2D palette;\n\nconst float paletteSize = 4096., maxSize = 100.;\n\nvarying vec4 fragColor, fragBorderColor;\nvarying float fragBorderRadius, fragWidth;\n\nvoid main() {\n  vec4 color = texture2D(palette, vec2((colorId + .5) / paletteSize, 0));\n  vec4 borderColor = texture2D(palette, vec2((borderColorId + .5) / paletteSize, 0));\n\n  float size = size * maxSize / 255.;\n  float borderSize = borderSize * maxSize / 255.;\n\n  gl_PointSize = (size + borderSize) * pixelRatio;\n\n  vec2 pos = (position + translate) * scale\n\t\t\t+ (positionFract + translateFract) * scale\n\t\t\t+ (position + translate) * scaleFract\n\t\t\t+ (positionFract + translateFract) * scaleFract;\n\n  gl_Position = vec4(pos * 2. - 1., 0, 1);\n\n  fragBorderRadius = borderSize == 0. ? 2. : 1. - 2. * borderSize / (size + borderSize);\n  fragColor = color;\n  fragBorderColor = borderColor;\n  fragWidth = 1. / gl_PointSize;\n}\n&quot;]),A=t(V)}return s(r,{update:x,draw:p,destroy:M,regl:t,gl:z,canvas:z.canvas,groups:O,markers:R}),r}},{&quot;array-bounds&quot;:48,&quot;binary-search-bounds&quot;:504,&quot;color-id&quot;:97,&quot;color-normalize&quot;:99,&quot;flatten-vertex-data&quot;:143,glslify:505,&quot;is-iexplorer&quot;:284,&quot;object-assign&quot;:462,&quot;pick-by-alias&quot;:473,&quot;snap-points-2d&quot;:534,&quot;to-float32&quot;:547,&quot;update-diff&quot;:558}],504:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,n,i){var a=[&quot;function &quot;,t,&quot;(a,l,h,&quot;,n.join(&quot;,&quot;),&quot;){&quot;,i?&quot;&quot;:&quot;var i=&quot;,r?&quot;l-1&quot;:&quot;h+1&quot;,&quot;;while(l&lt;=h){var m=(l+h)&gt;&gt;&gt;1,x=a[m]&quot;];return i?e.indexOf(&quot;c&quot;)&lt;0?a.push(&quot;;if(x===y){return m}else if(x&lt;=y){&quot;):a.push(&quot;;var p=c(x,y);if(p===0){return m}else if(p&lt;=0){&quot;):a.push(&quot;;if(&quot;,e,&quot;){i=m;&quot;),r?a.push(&quot;l=m+1}else{h=m-1}&quot;):a.push(&quot;h=m-1}else{l=m+1}&quot;),a.push(&quot;}&quot;),i?a.push(&quot;return -1};&quot;):a.push(&quot;return i};&quot;),a.join(&quot;&quot;)}function i(t,e,r,i){return new Function([n(&quot;A&quot;,&quot;x&quot;+t+&quot;y&quot;,e,[&quot;y&quot;],i),n(&quot;P&quot;,&quot;c(x,y)&quot;+t+&quot;0&quot;,e,[&quot;y&quot;,&quot;c&quot;],i),&quot;function dispatchBsearch&quot;,r,&quot;(a,y,c,l,h){if(typeof(c)==='function'){return P(a,(l===void 0)?0:l|0,(h===void 0)?a.length-1:h|0,y,c)}else{return A(a,(c===void 0)?0:c|0,(l===void 0)?a.length-1:l|0,y)}}return dispatchBsearch&quot;,r].join(&quot;&quot;))()}e.exports={ge:i(&quot;&gt;=&quot;,!1,&quot;GE&quot;),gt:i(&quot;&gt;&quot;,!1,&quot;GT&quot;),lt:i(&quot;&lt;&quot;,!0,&quot;LT&quot;),le:i(&quot;&lt;=&quot;,!0,&quot;LE&quot;),eq:i(&quot;-&quot;,!0,&quot;EQ&quot;,!0)}},{}],505:[function(t,e,r){arguments[4][169][0].apply(r,arguments)},{dup:169}],506:[function(t,e,r){!function(t,n){&quot;object&quot;==typeof r&amp;&amp;void 0!==e?e.exports=n():t.createREGL=n()}(this,function(){function t(t,e){this.id=j++,this.type=t,this.data=e}function e(t){if(0===t.length)return[];var r=t.charAt(0),n=t.charAt(t.length-1);if(1&lt;t.length&amp;&amp;r===n&amp;&amp;('&quot;'===r||&quot;'&quot;===r))return['&quot;'+t.substr(1,t.length-2).replace(/\\/g,&quot;\\\\&quot;).replace(/&quot;/g,'\\&quot;')+'&quot;'];if(r=/\[(false|true|null|\d+|'[^']*'|&quot;[^&quot;]*&quot;)\]/.exec(t))return e(t.substr(0,r.index)).concat(e(r[1])).concat(e(t.substr(r.index+r[0].length)));if(1===(r=t.split(&quot;.&quot;)).length)return['&quot;'+t.replace(/\\/g,&quot;\\\\&quot;).replace(/&quot;/g,'\\&quot;')+'&quot;'];for(t=[],n=0;n&lt;r.length;++n)t=t.concat(e(r[n]));return t}function r(t){return&quot;[&quot;+e(t).join(&quot;][&quot;)+&quot;]&quot;}function n(t){return&quot;string&quot;==typeof t?t.split():t}function i(t){return&quot;string&quot;==typeof t?document.querySelector(t):t}function a(t){var e,r,a,o,s=t||{};t={};var l=[],c=[],u=&quot;undefined&quot;==typeof window?1:window.devicePixelRatio,f=!1,h=function(t){},d=function(){};if(&quot;string&quot;==typeof s?e=document.querySelector(s):&quot;object&quot;==typeof s&amp;&amp;(&quot;string&quot;==typeof s.nodeName&amp;&amp;&quot;function&quot;==typeof s.appendChild&amp;&amp;&quot;function&quot;==typeof s.getBoundingClientRect?e=s:&quot;function&quot;==typeof s.drawArrays||&quot;function&quot;==typeof s.drawElements?(o=s,a=o.canvas):(&quot;gl&quot;in s?o=s.gl:&quot;canvas&quot;in s?a=i(s.canvas):&quot;container&quot;in s&amp;&amp;(r=i(s.container)),&quot;attributes&quot;in s&amp;&amp;(t=s.attributes),&quot;extensions&quot;in s&amp;&amp;(l=n(s.extensions)),&quot;optionalExtensions&quot;in s&amp;&amp;(c=n(s.optionalExtensions)),&quot;onDone&quot;in s&amp;&amp;(h=s.onDone),&quot;profile&quot;in s&amp;&amp;(f=!!s.profile),&quot;pixelRatio&quot;in s&amp;&amp;(u=+s.pixelRatio))),e&amp;&amp;(&quot;canvas&quot;===e.nodeName.toLowerCase()?a=e:r=e),!o){if(!a){if(!(e=function(t,e,r){function n(){var e=window.innerWidth,n=window.innerHeight;t!==document.body&amp;&amp;(n=t.getBoundingClientRect(),e=n.right-n.left,n=n.bottom-n.top),i.width=r*e,i.height=r*n,N(i.style,{width:e+&quot;px&quot;,height:n+&quot;px&quot;})}var i=document.createElement(&quot;canvas&quot;);return N(i.style,{border:0,margin:0,padding:0,top:0,left:0}),t.appendChild(i),t===document.body&amp;&amp;(i.style.position=&quot;absolute&quot;,N(t.style,{margin:0,padding:0})),window.addEventListener(&quot;resize&quot;,n,!1),n(),{canvas:i,onDestroy:function(){window.removeEventListener(&quot;resize&quot;,n),t.removeChild(i)}}}(r||document.body,0,u)))return null;a=e.canvas,d=e.onDestroy}o=function(t,e){function r(r){try{return t.getContext(r,e)}catch(t){return null}}return r(&quot;webgl&quot;)||r(&quot;experimental-webgl&quot;)||r(&quot;webgl-experimental&quot;)}(a,t)}return o?{gl:o,canvas:a,container:r,extensions:l,optionalExtensions:c,pixelRatio:u,profile:f,onDone:h,onDestroy:d}:(d(),h(&quot;webgl not supported, try upgrading your browser or graphics drivers http://get.webgl.org&quot;),null)}function o(t){return!!t&amp;&amp;&quot;object&quot;==typeof t&amp;&amp;Array.isArray(t.shape)&amp;&amp;Array.isArray(t.stride)&amp;&amp;&quot;number&quot;==typeof t.offset&amp;&amp;t.shape.length===t.stride.length&amp;&amp;(Array.isArray(t.data)||q(t.data))}function s(t,e){for(var r=Array(t),n=0;n&lt;t;++n)r[n]=e(n);return r}function l(t){var e,r;return e=(65535&lt;t)&lt;&lt;4,t&gt;&gt;&gt;=e,r=(255&lt;t)&lt;&lt;3,t&gt;&gt;&gt;=r,e|=r,r=(15&lt;t)&lt;&lt;2,t&gt;&gt;&gt;=r,e|=r,r=(3&lt;t)&lt;&lt;1,e|r|t&gt;&gt;&gt;r&gt;&gt;1}function c(t){t:{for(var e=16;268435456&gt;=e;e*=16)if(t&lt;=e){t=e;break t}t=0}return 0&lt;(e=G[l(t)&gt;&gt;2]).length?e.pop():new ArrayBuffer(t)}function u(t){G[l(t.byteLength)&gt;&gt;2].push(t)}function f(t,e,r,n,i,a){for(var o=0;o&lt;e;++o)for(var s=t[o],l=0;l&lt;r;++l)for(var c=s[l],u=0;u&lt;n;++u)i[a++]=c[u]}function h(t,e,r,n,i){for(var a=1,o=r+1;o&lt;e.length;++o)a*=e[o];var s=e[r];if(4==e.length-r){var l=e[r+1],c=e[r+2];for(e=e[r+3],o=0;o&lt;s;++o)f(t[o],l,c,e,n,i),i+=a}else for(o=0;o&lt;s;++o)h(t[o],e,r+1,n,i),i+=a}function d(t){return 0|X[Object.prototype.toString.call(t)]}function p(t,e){for(var r=0;r&lt;e.length;++r)t[r]=e[r]}function m(t,e,r,n,i,a,o){for(var s=0,l=0;l&lt;r;++l)for(var c=0;c&lt;n;++c)t[s++]=e[i*l+a*c+o]}function g(t){for(var e=Y.allocType(5123,t.length),r=0;r&lt;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{et[0]=t[r];var n=(a=rt[0])&gt;&gt;&gt;31&lt;&lt;15,i=(a&lt;&lt;1&gt;&gt;&gt;24)-127,a=a&gt;&gt;13&amp;1023;e[r]=-24&gt;i?n:-14&gt;i?n+(a+1024&gt;&gt;-14-i):15&lt;i?n+31744:n+(i+15&lt;&lt;10)+a}return e}function v(t){return Array.isArray(t)||q(t)}function y(t){return Array.isArray(t)&amp;&amp;(0===t.length||&quot;number&quot;==typeof t[0])}function x(t){return!(!Array.isArray(t)||0===t.length||!v(t[0]))}function b(t){return Object.prototype.toString.call(t)}function _(t){if(!t)return!1;var e=b(t);return 0&lt;=ot.indexOf(e)||(y(t)||x(t)||o(t))}function w(t,e){36193===t.type?(t.data=g(e),Y.freeType(e)):t.data=e}function M(t,e,r,n,i,a){if(t=void 0!==lt[t]?lt[t]:at[t]*st[e],a&amp;&amp;(t*=6),i){for(n=0;1&lt;=r;)n+=t*r*r,r/=2;return n}return t*r*n}function k(t,e,r,n,i,a,s){function l(){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(&quot;object&quot;==typeof e&amp;&amp;e){&quot;premultiplyAlpha&quot;in e&amp;&amp;(t.premultiplyAlpha=e.premultiplyAlpha),&quot;flipY&quot;in e&amp;&amp;(t.flipY=e.flipY),&quot;alignment&quot;in e&amp;&amp;(t.unpackAlignment=e.alignment),&quot;colorSpace&quot;in e&amp;&amp;(t.colorSpace=V[e.colorSpace]),&quot;type&quot;in e&amp;&amp;(t.type=G[e.type]);var r=t.width,n=t.height,i=t.channels,a=!1;&quot;shape&quot;in e?(r=e.shape[0],n=e.shape[1],3===e.shape.length&amp;&amp;(i=e.shape[2],a=!0)):(&quot;radius&quot;in e&amp;&amp;(r=n=e.radius),&quot;width&quot;in e&amp;&amp;(r=e.width),&quot;height&quot;in e&amp;&amp;(n=e.height),&quot;channels&quot;in e&amp;&amp;(i=e.channels,a=!0)),t.width=0|r,t.height=0|n,t.channels=0|i,r=!1,&quot;format&quot;in e&amp;&amp;(r=e.format,n=t.internalformat=Z[r],t.format=st[n],r in G&amp;&amp;!(&quot;type&quot;in e)&amp;&amp;(t.type=G[r]),r in J&amp;&amp;(t.compressed=!0),r=!0),!a&amp;&amp;r?t.channels=at[t.format]:a&amp;&amp;!r&amp;&amp;t.channels!==it[t.format]&amp;&amp;(t.format=t.internalformat=it[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(){l.call(this),this.yOffset=this.xOffset=0,this.data=null,this.needsFree=!1,this.element=null,this.needsCopy=!1}function d(t,e){var r=null;if(_(e)?r=e:e&amp;&amp;(u(t,e),&quot;x&quot;in e&amp;&amp;(t.xOffset=0|e.x),&quot;y&quot;in e&amp;&amp;(t.yOffset=0|e.y),_(e.data)&amp;&amp;(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(q(r))t.channels=t.channels||4,t.data=r,&quot;type&quot;in e||5121!==t.type||(t.type=0|X[Object.prototype.toString.call(r)]);else if(y(r)){switch(t.channels=t.channels||4,n=r,a=n.length,t.type){case 5121:case 5123:case 5125:case 5126:(a=Y.allocType(t.type,a)).set(n),t.data=a;break;case 36193:t.data=g(n)}t.alignment=1,t.needsFree=!0}else if(o(r)){n=r.data,Array.isArray(n)||5121!==t.type||(t.type=0|X[Object.prototype.toString.call(n)]);a=r.shape;var s,l,c,f,h=r.stride;3===a.length?(c=a[2],f=h[2]):f=c=1,s=a[0],l=a[1],a=h[0],h=h[1],t.alignment=1,t.width=s,t.height=l,t.channels=c,t.format=t.internalformat=it[c],t.needsFree=!0,s=f,r=r.offset,c=t.width,f=t.height,l=t.channels;for(var d=Y.allocType(36193===t.type?5126:t.type,c*f*l),p=0,m=0;m&lt;f;++m)for(var M=0;M&lt;c;++M)for(var k=0;k&lt;l;++k)d[p++]=n[a*M+h*m+s*k+r];w(t,d)}else if(&quot;[object HTMLCanvasElement]&quot;===b(r)||&quot;[object CanvasRenderingContext2D]&quot;===b(r))&quot;[object HTMLCanvasElement]&quot;===b(r)?t.element=r:t.element=r.canvas,t.width=t.element.width,t.height=t.element.height,t.channels=4;else if(&quot;[object HTMLImageElement]&quot;===b(r))t.element=r,t.width=r.naturalWidth,t.height=r.naturalHeight,t.channels=4;else if(&quot;[object HTMLVideoElement]&quot;===b(r))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=v(r[0][0])?h||r[0][0].length:h||1,s=W.shape(r),c=1,f=0;f&lt;s.length;++f)c*=s[f];c=Y.allocType(36193===t.type?5126:t.type,c),W.flatten(r,s,&quot;&quot;,c),w(t,c),t.alignment=1,t.width=n,t.height=a,t.channels=h,t.format=t.internalformat=it[h],t.needsFree=!0}}else t.width=t.width||1,t.height=t.height||1,t.channels=t.channels||4}function p(e,r,i,a,o){var s=e.element,l=e.data,c=e.internalformat,u=e.format,h=e.type,d=e.width,p=e.height;f(e),s?t.texSubImage2D(r,o,i,a,u,h,s):e.compressed?t.compressedTexSubImage2D(r,o,i,a,c,d,p,l):e.needsCopy?(n(),t.copyTexSubImage2D(r,o,i,a,e.xOffset,e.yOffset,d,p)):t.texSubImage2D(r,o,i,a,d,p,u,h,l)}function m(){return lt.pop()||new h}function k(t){t.needsFree&amp;&amp;Y.freeType(t.data),h.call(t),lt.push(t)}function A(t,e,r){var n=t.images[0]=m();t.mipmask=1,n.width=t.width=e,n.height=t.height=r,n.channels=t.channels=4}function T(t,e){var r=null;if(_(e))r=t.images[0]=m(),c(r,t),d(r,e),t.mipmask=1;else if(u(t,e),Array.isArray(e.mipmap))for(var n=e.mipmap,i=0;i&lt;n.length;++i)r=t.images[i]=m(),c(r,t),r.width&gt;&gt;=i,r.height&gt;&gt;=i,d(r,n[i]),t.mipmask|=1&lt;&lt;i;else r=t.images[0]=m(),c(r,t),d(r,e),t.mipmask=1;c(t,t.images[0])}function S(e,r){for(var i=e.images,a=0;a&lt;i.length&amp;&amp;i[a];++a){var o=i[a],s=r,l=a,c=o.element,u=o.data,h=o.internalformat,d=o.format,p=o.type,m=o.width,g=o.height;f(o),c?t.texImage2D(s,l,d,d,p,c):o.compressed?t.compressedTexImage2D(s,l,h,m,g,0,u):o.needsCopy?(n(),t.copyTexImage2D(s,l,d,o.xOffset,o.yOffset,m,g,0)):t.texImage2D(s,l,d,m,g,0,d,p,u)}}function E(){var t=ct.pop()||new function(){l.call(this),this.genMipmaps=!1,this.mipmapHint=4352,this.mipmask=0,this.images=Array(16)};l.call(t);for(var e=t.mipmask=0;16&gt;e;++e)t.images[e]=null;return t}function L(t){for(var e=t.images,r=0;r&lt;e.length;++r)e[r]&amp;&amp;k(e[r]),e[r]=null;ct.push(t)}function C(){this.magFilter=this.minFilter=9728,this.wrapT=this.wrapS=33071,this.anisotropic=1,this.genMipmaps=!1,this.mipmapHint=4352}function z(t,e){&quot;min&quot;in e&amp;&amp;(t.minFilter=U[e.min],0&lt;=nt.indexOf(t.minFilter)&amp;&amp;(t.genMipmaps=!0)),&quot;mag&quot;in e&amp;&amp;(t.magFilter=B[e.mag]);var r=t.wrapS,n=t.wrapT;if(&quot;wrap&quot;in e){var i=e.wrap;&quot;string&quot;==typeof i?r=n=j[i]:Array.isArray(i)&amp;&amp;(r=j[i[0]],n=j[i[1]])}else&quot;wrapS&quot;in e&amp;&amp;(r=j[e.wrapS]),&quot;wrapT&quot;in e&amp;&amp;(n=j[e.wrapT]);if(t.wrapS=r,t.wrapT=n,&quot;anisotropic&quot;in e&amp;&amp;(t.anisotropic=e.anisotropic),&quot;mipmap&quot;in e){switch(r=!1,typeof e.mipmap){case&quot;string&quot;:t.mipmapHint=R[e.mipmap],r=t.genMipmaps=!0;break;case&quot;boolean&quot;:r=t.genMipmaps=e.mipmap;break;case&quot;object&quot;:t.genMipmaps=!1,r=!0}!r||&quot;min&quot;in e||(t.minFilter=9984)}}function D(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&amp;&amp;t.texParameteri(n,34046,r.anisotropic),r.genMipmaps&amp;&amp;(t.hint(33170,r.mipmapHint),t.generateMipmap(n))}function I(e){l.call(this),this.mipmask=0,this.internalformat=6408,this.id=ut++,this.refCount=1,this.target=e,this.texture=t.createTexture(),this.unit=-1,this.bindCount=0,this.texInfo=new C,s.profile&amp;&amp;(this.stats={size:0})}function P(e){t.activeTexture(33984),t.bindTexture(e.target,e.texture)}function O(){var e=dt[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&lt;=n&amp;&amp;(t.activeTexture(33984+n),t.bindTexture(i,null),dt[n]=null),t.deleteTexture(r),e.texture=null,e.params=null,e.pixels=null,e.refCount=0,delete ft[e.id],a.textureCount--}var R={&quot;don't care&quot;:4352,&quot;dont care&quot;:4352,nice:4354,fast:4353},j={repeat:10497,clamp:33071,mirror:33648},B={nearest:9728,linear:9729},U=N({mipmap:9987,&quot;nearest mipmap nearest&quot;:9984,&quot;linear mipmap nearest&quot;:9985,&quot;nearest mipmap linear&quot;:9986,&quot;linear mipmap linear&quot;:9987},B),V={none:0,browser:37444},G={uint8:5121,rgba4:32819,rgb565:33635,&quot;rgb5 a1&quot;:32820},Z={alpha:6406,luminance:6409,&quot;luminance alpha&quot;:6410,rgb:6407,rgba:6408,rgba4:32854,&quot;rgb5 a1&quot;:32855,rgb565:36194},J={};e.ext_srgb&amp;&amp;(Z.srgb=35904,Z.srgba=35906),e.oes_texture_float&amp;&amp;(G.float32=G.float=5126),e.oes_texture_half_float&amp;&amp;(G.float16=G[&quot;half float&quot;]=36193),e.webgl_depth_texture&amp;&amp;(N(Z,{depth:6402,&quot;depth stencil&quot;:34041}),N(G,{uint16:5123,uint32:5125,&quot;depth stencil&quot;:34042})),e.webgl_compressed_texture_s3tc&amp;&amp;N(J,{&quot;rgb s3tc dxt1&quot;:33776,&quot;rgba s3tc dxt1&quot;:33777,&quot;rgba s3tc dxt3&quot;:33778,&quot;rgba s3tc dxt5&quot;:33779}),e.webgl_compressed_texture_atc&amp;&amp;N(J,{&quot;rgb atc&quot;:35986,&quot;rgba atc explicit alpha&quot;:35987,&quot;rgba atc interpolated alpha&quot;:34798}),e.webgl_compressed_texture_pvrtc&amp;&amp;N(J,{&quot;rgb pvrtc 4bppv1&quot;:35840,&quot;rgb pvrtc 2bppv1&quot;:35841,&quot;rgba pvrtc 4bppv1&quot;:35842,&quot;rgba pvrtc 2bppv1&quot;:35843}),e.webgl_compressed_texture_etc1&amp;&amp;(J[&quot;rgb etc1&quot;]=36196);var K=Array.prototype.slice.call(t.getParameter(34467));Object.keys(J).forEach(function(t){var e=J[t];0&lt;=K.indexOf(e)&amp;&amp;(Z[t]=e)});var Q=Object.keys(Z);r.textureFormats=Q;var $=[];Object.keys(Z).forEach(function(t){$[Z[t]]=t});var tt=[];Object.keys(G).forEach(function(t){tt[G[t]]=t});var et=[];Object.keys(B).forEach(function(t){et[B[t]]=t});var rt=[];Object.keys(U).forEach(function(t){rt[U[t]]=t});var ot=[];Object.keys(j).forEach(function(t){ot[j[t]]=t});var st=Q.reduce(function(t,e){var r=Z[e];return 6409===r||6406===r||6409===r||6410===r||6402===r||34041===r?t[r]=r:32855===r||0&lt;=e.indexOf(&quot;rgba&quot;)?t[r]=6408:t[r]=6407,t},{}),lt=[],ct=[],ut=0,ft={},ht=r.maxTextureUnits,dt=Array(ht).map(function(){return null});return N(I.prototype,{bind:function(){this.bindCount+=1;var e=this.unit;if(0&gt;e){for(var r=0;r&lt;ht;++r){var n=dt[r];if(n){if(0&lt;n.bindCount)continue;n.unit=-1}dt[r]=this,e=r;break}s.profile&amp;&amp;a.maxTextureUnits&lt;e+1&amp;&amp;(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&gt;=--this.refCount&amp;&amp;F(this)}}),s.profile&amp;&amp;(a.getTotalTextureSize=function(){var t=0;return Object.keys(ft).forEach(function(e){t+=ft[e].stats.size}),t}),{create2D:function(e,r){function n(t,e){var r=i.texInfo;C.call(r);var a=E();return&quot;number&quot;==typeof t?&quot;number&quot;==typeof e?A(a,0|t,0|e):A(a,0|t,0|t):t?(z(r,t),T(a,t)):A(a,1,1),r.genMipmaps&amp;&amp;(a.mipmask=(a.width&lt;&lt;1)-1),i.mipmask=a.mipmask,c(i,a),i.internalformat=a.internalformat,n.width=a.width,n.height=a.height,P(i),S(a,3553),D(r,3553),O(),L(a),s.profile&amp;&amp;(i.stats.size=M(i.internalformat,i.type,a.width,a.height,r.genMipmaps,!1)),n.format=$[i.internalformat],n.type=tt[i.type],n.mag=et[r.magFilter],n.min=rt[r.minFilter],n.wrapS=ot[r.wrapS],n.wrapT=ot[r.wrapT],n}var i=new I(3553);return ft[i.id]=i,a.textureCount++,n(e,r),n.subimage=function(t,e,r,a){e|=0,r|=0,a|=0;var o=m();return c(o,i),o.width=0,o.height=0,d(o,t),o.width=o.width||(i.width&gt;&gt;a)-e,o.height=o.height||(i.height&gt;&gt;a)-r,P(i),p(o,3553,e,r,a),O(),k(o),n},n.resize=function(e,r){var a=0|e,o=0|r||a;if(a===i.width&amp;&amp;o===i.height)return n;n.width=i.width=a,n.height=i.height=o,P(i);for(var l=0;i.mipmask&gt;&gt;l;++l)t.texImage2D(3553,l,i.format,a&gt;&gt;l,o&gt;&gt;l,0,i.format,i.type,null);return O(),s.profile&amp;&amp;(i.stats.size=M(i.internalformat,i.type,a,o,!1,!1)),n},n._reglType=&quot;texture2d&quot;,n._texture=i,s.profile&amp;&amp;(n.stats=i.stats),n.destroy=function(){i.decRef()},n},createCube:function(e,r,n,i,o,l){function f(t,e,r,n,i,a){var o,l=h.texInfo;for(C.call(l),o=0;6&gt;o;++o)g[o]=E();if(&quot;number&quot;!=typeof t&amp;&amp;t){if(&quot;object&quot;==typeof t)if(e)T(g[0],t),T(g[1],e),T(g[2],r),T(g[3],n),T(g[4],i),T(g[5],a);else if(z(l,t),u(h,t),&quot;faces&quot;in t)for(t=t.faces,o=0;6&gt;o;++o)c(g[o],h),T(g[o],t[o]);else for(o=0;6&gt;o;++o)T(g[o],t)}else for(t=0|t||1,o=0;6&gt;o;++o)A(g[o],t,t);for(c(h,g[0]),h.mipmask=l.genMipmaps?(g[0].width&lt;&lt;1)-1:g[0].mipmask,h.internalformat=g[0].internalformat,f.width=g[0].width,f.height=g[0].height,P(h),o=0;6&gt;o;++o)S(g[o],34069+o);for(D(l,34067),O(),s.profile&amp;&amp;(h.stats.size=M(h.internalformat,h.type,f.width,f.height,l.genMipmaps,!0)),f.format=$[h.internalformat],f.type=tt[h.type],f.mag=et[l.magFilter],f.min=rt[l.minFilter],f.wrapS=ot[l.wrapS],f.wrapT=ot[l.wrapT],o=0;6&gt;o;++o)L(g[o]);return f}var h=new I(34067);ft[h.id]=h,a.cubeCount++;var g=Array(6);return f(e,r,n,i,o,l),f.subimage=function(t,e,r,n,i){r|=0,n|=0,i|=0;var a=m();return c(a,h),a.width=0,a.height=0,d(a,e),a.width=a.width||(h.width&gt;&gt;i)-r,a.height=a.height||(h.height&gt;&gt;i)-n,P(h),p(a,34069+t,r,n,i),O(),k(a),f},f.resize=function(e){if((e|=0)!==h.width){f.width=h.width=e,f.height=h.height=e,P(h);for(var r=0;6&gt;r;++r)for(var n=0;h.mipmask&gt;&gt;n;++n)t.texImage2D(34069+r,n,h.format,e&gt;&gt;n,e&gt;&gt;n,0,h.format,h.type,null);return O(),s.profile&amp;&amp;(h.stats.size=M(h.internalformat,h.type,f.width,f.height,!1,!0)),f}},f._reglType=&quot;textureCube&quot;,f._texture=h,s.profile&amp;&amp;(f.stats=h.stats),f.destroy=function(){h.decRef()},f},clear:function(){for(var e=0;e&lt;ht;++e)t.activeTexture(33984+e),t.bindTexture(3553,null),dt[e]=null;H(ft).forEach(F),a.cubeCount=0,a.textureCount=0},getTexture:function(t){return null},restore:function(){H(ft).forEach(function(e){e.texture=t.createTexture(),t.bindTexture(e.target,e.texture);for(var r=0;32&gt;r;++r)if(0!=(e.mipmask&amp;1&lt;&lt;r))if(3553===e.target)t.texImage2D(3553,r,e.internalformat,e.width&gt;&gt;r,e.height&gt;&gt;r,0,e.internalformat,e.type,null);else for(var n=0;6&gt;n;++n)t.texImage2D(34069+n,r,e.internalformat,e.width&gt;&gt;r,e.height&gt;&gt;r,0,e.internalformat,e.type,null);D(e.texInfo,e.target)})}}}function A(){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 T(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&lt;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?l:c)[n])){var a=e.str(n),o=t.createShader(r);t.shaderSource(o,a),t.compileShader(o),i[n]=o}return o}function s(r,s){var l,c;l=o(35632,r.fragId),c=o(35633,r.vertId);var u=r.program=t.createProgram();t.attachShader(u,l),t.attachShader(u,c),t.linkProgram(u);var f=t.getProgramParameter(u,35718);n.profile&amp;&amp;(r.stats.uniformsCount=f);var h=r.uniforms;for(l=0;l&lt;f;++l)if(c=t.getActiveUniform(u,l))if(1&lt;c.size)for(var d=0;d&lt;c.size;++d){var p=c.name.replace(&quot;[0]&quot;,&quot;[&quot;+d+&quot;]&quot;);a(h,new i(p,e.id(p),t.getUniformLocation(u,p),c))}else a(h,new i(c.name,e.id(c.name),t.getUniformLocation(u,c.name),c));for(f=t.getProgramParameter(u,35721),n.profile&amp;&amp;(r.stats.attributesCount=f),h=r.attributes,l=0;l&lt;f;++l)(c=t.getActiveAttrib(u,l))&amp;&amp;a(h,new i(c.name,e.id(c.name),t.getAttribLocation(u,c.name),c))}var l={},c={},u={},f=[],h=0;return n.profile&amp;&amp;(r.getMaxUniformsCount=function(){var t=0;return f.forEach(function(e){e.stats.uniformsCount&gt;t&amp;&amp;(t=e.stats.uniformsCount)}),t},r.getMaxAttributesCount=function(){var t=0;return f.forEach(function(e){e.stats.attributesCount&gt;t&amp;&amp;(t=e.stats.attributesCount)}),t}),{clear:function(){var e=t.deleteShader.bind(t);H(l).forEach(e),l={},H(c).forEach(e),c={},f.forEach(function(e){t.deleteProgram(e.program)}),f.length=0,u={},r.shaderCount=0},program:function(t,e,i){var a=u[e];a||(a=u[e]={});var o=a[t];return o||(o=new function(t,e){this.id=h++,this.fragId=t,this.vertId=e,this.program=null,this.uniforms=[],this.attributes=[],n.profile&amp;&amp;(this.stats={uniformsCount:0,attributesCount:0})}(e,t),r.shaderCount++,s(o),a[t]=o,f.push(o)),o},restore:function(){l={},c={};for(var t=0;t&lt;f.length;++t)s(f[t])},shader:o,frag:-1,vert:-1}}function S(t,e,r,n,i,a){function o(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 q(i)?u=i:i&amp;&amp;(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&amp;&amp;(u=u||new Float32Array(i))),t.pixelStorei(3333,4),t.readPixels(o,s,l,c,6408,a,u),u}return function(t){return t&amp;&amp;&quot;framebuffer&quot;in t?function(t){var r;return e.setFBO({framebuffer:t.framebuffer},function(){r=o(t)}),r}(t):o(t)}}function E(t){return Array.prototype.slice.call(t)}function L(t){return E(t).join(&quot;&quot;)}function C(t){return Array.isArray(t)||q(t)||o(t)}function z(t){return t.sort(function(t,e){return&quot;viewport&quot;===t?-1:&quot;viewport&quot;===e?1:t&lt;e?-1:1})}function D(t,e,r,n){this.thisDep=t,this.contextDep=e,this.propDep=r,this.append=n}function I(t){return t&amp;&amp;!(t.thisDep||t.contextDep||t.propDep)}function P(t){return new D(!1,!1,!1,t)}function O(t,e){var r=t.type;return 0===r?(r=t.data.length,new D(!0,1&lt;=r,2&lt;=r,e)):4===r?(r=t.data,new D(r.thisDep,r.contextDep,r.propDep,e)):new D(3===r,2===r,1===r,e)}function F(t,e,r,n,i,a,o,l,c,u,f,h,d,p,m){function g(t){return t.replace(&quot;.&quot;,&quot;_&quot;)}function y(t,e,r){var n=g(t);$.push(t),Q[n]=K[n]=!!r,et[n]=e}function x(t,e,r){var n=g(t);$.push(t),Array.isArray(r)?(K[n]=r.slice(),Q[n]=r.slice()):K[n]=Q[n]=r,rt[n]=e}function b(){var t=function(){function t(){var t=[],e=[];return N(function(){t.push.apply(t,E(arguments))},{def:function(){var n=&quot;v&quot;+r++;return e.push(n),0&lt;arguments.length&amp;&amp;(t.push(n,&quot;=&quot;),t.push.apply(t,E(arguments)),t.push(&quot;;&quot;)),n},toString:function(){return L([0&lt;e.length?&quot;var &quot;+e+&quot;;&quot;:&quot;&quot;,L(t)])}})}function e(){function e(t,e){n(t,e,&quot;=&quot;,r.def(t,e),&quot;;&quot;)}var r=t(),n=t(),i=r.toString,a=n.toString;return N(function(){r.apply(r,E(arguments))},{def:r.def,entry:r,exit:n,save:e,set:function(t,n,i){e(t,n),r(t,n,&quot;=&quot;,i,&quot;;&quot;)},toString:function(){return i()+a()}})}var r=0,n=[],i=[],a=t(),o={};return{global:a,link:function(t){for(var e=0;e&lt;i.length;++e)if(i[e]===t)return n[e];return e=&quot;g&quot;+r++,n.push(e),i.push(t),e},block:t,proc:function(t,r){function n(){var t=&quot;a&quot;+i.length;return i.push(t),t}var i=[];r=r||0;for(var a=0;a&lt;r;++a)n();var s=(a=e()).toString;return o[t]=N(a,{arg:n,toString:function(){return L([&quot;function(&quot;,i.join(),&quot;){&quot;,s(),&quot;}&quot;])}})},scope:e,cond:function(){var t=L(arguments),r=e(),n=e(),i=r.toString,a=n.toString;return N(r,{then:function(){return r.apply(r,E(arguments)),this},else:function(){return n.apply(n,E(arguments)),this},toString:function(){var e=a();return e&amp;&amp;(e=&quot;else{&quot;+e+&quot;}&quot;),L([&quot;if(&quot;,t,&quot;){&quot;,i(),&quot;}&quot;,e])}})},compile:function(){var t=['&quot;use strict&quot;;',a,&quot;return {&quot;];Object.keys(o).forEach(function(e){t.push('&quot;',e,'&quot;:',o[e].toString(),&quot;,&quot;)}),t.push(&quot;}&quot;);var e=L(t).replace(/;/g,&quot;;\n&quot;).replace(/}/g,&quot;}\n&quot;).replace(/{/g,&quot;{\n&quot;);return Function.apply(null,n.concat(e)).apply(null,i)}}}(),r=t.link,n=t.global;t.id=at++,t.batchId=&quot;0&quot;;var i=r(nt),a=t.shared={props:&quot;a0&quot;};Object.keys(nt).forEach(function(t){a[t]=n.def(i,&quot;.&quot;,t)});var o=t.next={},s=t.current={};Object.keys(rt).forEach(function(t){Array.isArray(K[t])&amp;&amp;(o[t]=n.def(a.next,&quot;.&quot;,t),s[t]=n.def(a.current,&quot;.&quot;,t))});var l=t.constants={};Object.keys(it).forEach(function(t){l[t]=n.def(JSON.stringify(it[t]))}),t.invoke=function(e,n){switch(n.type){case 0:var i=[&quot;this&quot;,a.context,a.props,t.batchId];return e.def(r(n.data),&quot;.call(&quot;,i.slice(0,Math.max(n.data.length+1,4)),&quot;)&quot;);case 1:return e.def(a.props,n.data);case 2:return e.def(a.context,n.data);case 3:return e.def(&quot;this&quot;,n.data);case 4:return n.data.append(t,e),n.data.ref}},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 Y),c[t]=r(n)},t}function _(t,r,n,o,c){var u=function(t,e){var r=t.static,n=t.dynamic;if(&quot;framebuffer&quot;in r){var i=r.framebuffer;return i?(i=l.getFramebuffer(i),P(function(t,e){var r=t.link(i),n=t.shared;return e.set(n.framebuffer,&quot;.next&quot;,r),n=n.context,e.set(n,&quot;.framebufferWidth&quot;,r+&quot;.width&quot;),e.set(n,&quot;.framebufferHeight&quot;,r+&quot;.height&quot;),r})):P(function(t,e){var r=t.shared;return e.set(r.framebuffer,&quot;.next&quot;,&quot;null&quot;),r=r.context,e.set(r,&quot;.framebufferWidth&quot;,r+&quot;.drawingBufferWidth&quot;),e.set(r,&quot;.framebufferHeight&quot;,r+&quot;.drawingBufferHeight&quot;),&quot;null&quot;})}if(&quot;framebuffer&quot;in n){var a=n.framebuffer;return O(a,function(t,e){var r=t.invoke(e,a),n=t.shared,i=n.framebuffer;return r=e.def(i,&quot;.getFramebuffer(&quot;,r,&quot;)&quot;),e.set(i,&quot;.next&quot;,r),n=n.context,e.set(n,&quot;.framebufferWidth&quot;,r+&quot;?&quot;+r+&quot;.width:&quot;+n+&quot;.drawingBufferWidth&quot;),e.set(n,&quot;.framebufferHeight&quot;,r+&quot;?&quot;+r+&quot;.height:&quot;+n+&quot;.drawingBufferHeight&quot;),r})}return null}(t),h=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&quot;width&quot;in r?n=0|r.width:t=!1,&quot;height&quot;in r?o=0|r.height:t=!1,new D(!t&amp;&amp;e&amp;&amp;e.thisDep,!t&amp;&amp;e&amp;&amp;e.contextDep,!t&amp;&amp;e&amp;&amp;e.propDep,function(t,e){var i=t.shared.context,a=n;&quot;width&quot;in r||(a=e.def(i,&quot;.&quot;,&quot;framebufferWidth&quot;,&quot;-&quot;,s));var c=o;return&quot;height&quot;in r||(c=e.def(i,&quot;.&quot;,&quot;framebufferHeight&quot;,&quot;-&quot;,l)),[s,l,a,c]})}if(t in a){var c=a[t];return t=O(c,function(t,e){var r=t.invoke(e,c),n=t.shared.context,i=e.def(r,&quot;.x|0&quot;),a=e.def(r,&quot;.y|0&quot;);return[i,a,e.def('&quot;width&quot; in ',r,&quot;?&quot;,r,&quot;.width|0:&quot;,&quot;(&quot;,n,&quot;.&quot;,&quot;framebufferWidth&quot;,&quot;-&quot;,i,&quot;)&quot;),r=e.def('&quot;height&quot; in ',r,&quot;?&quot;,r,&quot;.height|0:&quot;,&quot;(&quot;,n,&quot;.&quot;,&quot;framebufferHeight&quot;,&quot;-&quot;,a,&quot;)&quot;)]}),e&amp;&amp;(t.thisDep=t.thisDep||e.thisDep,t.contextDep=t.contextDep||e.contextDep,t.propDep=t.propDep||e.propDep),t}return e?new D(e.thisDep,e.contextDep,e.propDep,function(t,e){var r=t.shared.context;return[0,0,e.def(r,&quot;.&quot;,&quot;framebufferWidth&quot;),e.def(r,&quot;.&quot;,&quot;framebufferHeight&quot;)]}):null}var i=t.static,a=t.dynamic;if(t=n(&quot;viewport&quot;)){var o=t;t=new D(t.thisDep,t.contextDep,t.propDep,function(t,e){var r=o.append(t,e),n=t.shared.context;return e.set(n,&quot;.viewportWidth&quot;,r[2]),e.set(n,&quot;.viewportHeight&quot;,r[3]),r})}return{viewport:t,scissor_box:n(&quot;scissor.box&quot;)}}(t,u),d=function(t,e){function r(t,e){if(t in n){var r=0|n[t];return P(function(t,n){return e&amp;&amp;(t.OFFSET=r),r})}if(t in i){var a=i[t];return O(a,function(t,r){var n=t.invoke(r,a);return e&amp;&amp;(t.OFFSET=n),n})}return e&amp;&amp;o?P(function(t,e){return t.OFFSET=&quot;0&quot;,0}):null}var n=t.static,i=t.dynamic,o=function(){if(&quot;elements&quot;in n){var t=n.elements;C(t)?t=a.getElements(a.create(t,!0)):t&amp;&amp;(t=a.getElements(t));var e=P(function(e,r){if(t){var n=e.link(t);return e.ELEMENTS=n}return e.ELEMENTS=null});return e.value=t,e}if(&quot;elements&quot;in i){var r=i.elements;return O(r,function(t,e){var n=(i=t.shared).isBufferArgs,i=i.elements,a=t.invoke(e,r),o=e.def(&quot;null&quot;);return n=e.def(n,&quot;(&quot;,a,&quot;)&quot;),a=t.cond(n).then(o,&quot;=&quot;,i,&quot;.createStream(&quot;,a,&quot;);&quot;).else(o,&quot;=&quot;,i,&quot;.getElements(&quot;,a,&quot;);&quot;),e.entry(a),e.exit(t.cond(n).then(i,&quot;.destroyStream(&quot;,o,&quot;);&quot;)),t.ELEMENTS=o})}return null}(),s=r(&quot;offset&quot;,!0);return{elements:o,primitive:function(){if(&quot;primitive&quot;in n){var t=n.primitive;return P(function(e,r){return tt[t]})}if(&quot;primitive&quot;in i){var e=i.primitive;return O(e,function(t,r){var n=t.constants.primTypes,i=t.invoke(r,e);return r.def(n,&quot;[&quot;,i,&quot;]&quot;)})}return o?I(o)?P(o.value?function(t,e){return e.def(t.ELEMENTS,&quot;.primType&quot;)}:function(){return 4}):new D(o.thisDep,o.contextDep,o.propDep,function(t,e){var r=t.ELEMENTS;return e.def(r,&quot;?&quot;,r,&quot;.primType:&quot;,4)}):null}(),count:function(){if(&quot;count&quot;in n){var t=0|n.count;return P(function(){return t})}if(&quot;count&quot;in i){var e=i.count;return O(e,function(t,r){return t.invoke(r,e)})}return o?I(o)?o?s?new D(s.thisDep,s.contextDep,s.propDep,function(t,e){return e.def(t.ELEMENTS,&quot;.vertCount-&quot;,t.OFFSET)}):P(function(t,e){return e.def(t.ELEMENTS,&quot;.vertCount&quot;)}):P(function(){return-1}):new D(o.thisDep||s.thisDep,o.contextDep||s.contextDep,o.propDep||s.propDep,function(t,e){var r=t.ELEMENTS;return t.OFFSET?e.def(r,&quot;?&quot;,r,&quot;.vertCount-&quot;,t.OFFSET,&quot;:-1&quot;):e.def(r,&quot;?&quot;,r,&quot;.vertCount:-1&quot;)}):null}(),instances:r(&quot;instances&quot;,!1),offset:s}}(t),p=function(t,e){var r=t.static,n=t.dynamic,i={};return $.forEach(function(t){function e(e,o){if(t in r){var s=e(r[t]);i[a]=P(function(){return s})}else if(t in n){var l=n[t];i[a]=O(l,function(t,e){return o(t,e,t.invoke(e,l))})}}var a=g(t);switch(t){case&quot;cull.enable&quot;:case&quot;blend.enable&quot;:case&quot;dither&quot;:case&quot;stencil.enable&quot;:case&quot;depth.enable&quot;:case&quot;scissor.enable&quot;:case&quot;polygonOffset.enable&quot;:case&quot;sample.alpha&quot;:case&quot;sample.enable&quot;:case&quot;depth.mask&quot;:return e(function(t){return t},function(t,e,r){return r});case&quot;depth.func&quot;:return e(function(t){return mt[t]},function(t,e,r){return e.def(t.constants.compareFuncs,&quot;[&quot;,r,&quot;]&quot;)});case&quot;depth.range&quot;:return e(function(t){return t},function(t,e,r){return t=e.def(&quot;+&quot;,r,&quot;[0]&quot;),e=e.def(&quot;+&quot;,r,&quot;[1]&quot;),[t,e]});case&quot;blend.func&quot;:return e(function(t){return[pt[&quot;srcRGB&quot;in t?t.srcRGB:t.src],pt[&quot;dstRGB&quot;in t?t.dstRGB:t.dst],pt[&quot;srcAlpha&quot;in t?t.srcAlpha:t.src],pt[&quot;dstAlpha&quot;in t?t.dstAlpha:t.dst]]},function(t,e,r){function n(t,n){return e.def('&quot;',t,n,'&quot; in ',r,&quot;?&quot;,r,&quot;.&quot;,t,n,&quot;:&quot;,r,&quot;.&quot;,t)}t=t.constants.blendFuncs;var i=n(&quot;src&quot;,&quot;RGB&quot;),a=n(&quot;dst&quot;,&quot;RGB&quot;),o=(i=e.def(t,&quot;[&quot;,i,&quot;]&quot;),e.def(t,&quot;[&quot;,n(&quot;src&quot;,&quot;Alpha&quot;),&quot;]&quot;));return a=e.def(t,&quot;[&quot;,a,&quot;]&quot;),t=e.def(t,&quot;[&quot;,n(&quot;dst&quot;,&quot;Alpha&quot;),&quot;]&quot;),[i,a,o,t]});case&quot;blend.equation&quot;:return e(function(t){return&quot;string&quot;==typeof t?[W[t],W[t]]:&quot;object&quot;==typeof t?[W[t.rgb],W[t.alpha]]:void 0},function(t,e,r){var n=t.constants.blendEquations,i=e.def(),a=e.def();return(t=t.cond(&quot;typeof &quot;,r,'===&quot;string&quot;')).then(i,&quot;=&quot;,a,&quot;=&quot;,n,&quot;[&quot;,r,&quot;];&quot;),t.else(i,&quot;=&quot;,n,&quot;[&quot;,r,&quot;.rgb];&quot;,a,&quot;=&quot;,n,&quot;[&quot;,r,&quot;.alpha];&quot;),e(t),[i,a]});case&quot;blend.color&quot;:return e(function(t){return s(4,function(e){return+t[e]})},function(t,e,r){return s(4,function(t){return e.def(&quot;+&quot;,r,&quot;[&quot;,t,&quot;]&quot;)})});case&quot;stencil.mask&quot;:return e(function(t){return 0|t},function(t,e,r){return e.def(r,&quot;|0&quot;)});case&quot;stencil.func&quot;:return e(function(t){return[mt[t.cmp||&quot;keep&quot;],t.ref||0,&quot;mask&quot;in t?t.mask:-1]},function(t,e,r){t=e.def('&quot;cmp&quot; in ',r,&quot;?&quot;,t.constants.compareFuncs,&quot;[&quot;,r,&quot;.cmp]&quot;,&quot;:&quot;,7680);var n=e.def(r,&quot;.ref|0&quot;);return e=e.def('&quot;mask&quot; in ',r,&quot;?&quot;,r,&quot;.mask|0:-1&quot;),[t,n,e]});case&quot;stencil.opFront&quot;:case&quot;stencil.opBack&quot;:return e(function(e){return[&quot;stencil.opBack&quot;===t?1029:1028,gt[e.fail||&quot;keep&quot;],gt[e.zfail||&quot;keep&quot;],gt[e.zpass||&quot;keep&quot;]]},function(e,r,n){function i(t){return r.def('&quot;',t,'&quot; in ',n,&quot;?&quot;,a,&quot;[&quot;,n,&quot;.&quot;,t,&quot;]:&quot;,7680)}var a=e.constants.stencilOps;return[&quot;stencil.opBack&quot;===t?1029:1028,i(&quot;fail&quot;),i(&quot;zfail&quot;),i(&quot;zpass&quot;)]});case&quot;polygonOffset.offset&quot;:return e(function(t){return[0|t.factor,0|t.units]},function(t,e,r){return t=e.def(r,&quot;.factor|0&quot;),e=e.def(r,&quot;.units|0&quot;),[t,e]});case&quot;cull.face&quot;:return e(function(t){var e=0;return&quot;front&quot;===t?e=1028:&quot;back&quot;===t&amp;&amp;(e=1029),e},function(t,e,r){return e.def(r,'===&quot;front&quot;?',1028,&quot;:&quot;,1029)});case&quot;lineWidth&quot;:return e(function(t){return t},function(t,e,r){return r});case&quot;frontFace&quot;:return e(function(t){return vt[t]},function(t,e,r){return e.def(r+'===&quot;cw&quot;?2304:2305')});case&quot;colorMask&quot;:return e(function(t){return t.map(function(t){return!!t})},function(t,e,r){return s(4,function(t){return&quot;!!&quot;+r+&quot;[&quot;+t+&quot;]&quot;})});case&quot;sample.coverage&quot;:return e(function(t){return[&quot;value&quot;in t?t.value:1,!!t.invert]},function(t,e,r){return t=e.def('&quot;value&quot; in ',r,&quot;?+&quot;,r,&quot;.value:1&quot;),e=e.def(&quot;!!&quot;,r,&quot;.invert&quot;),[t,e]})}}),i}(t),m=function(t){function r(t){if(t in n){var r=e.id(n[t]);return t=P(function(){return r}),t.id=r,t}if(t in i){var a=i[t];return O(a,function(t,e){var r=t.invoke(e,a);return e.def(t.shared.strings,&quot;.id(&quot;,r,&quot;)&quot;)})}return null}var n=t.static,i=t.dynamic,a=r(&quot;frag&quot;),o=r(&quot;vert&quot;),s=null;return I(a)&amp;&amp;I(o)?(s=f.program(o.id,a.id),t=P(function(t,e){return t.link(s)})):t=new D(a&amp;&amp;a.thisDep||o&amp;&amp;o.thisDep,a&amp;&amp;a.contextDep||o&amp;&amp;o.contextDep,a&amp;&amp;a.propDep||o&amp;&amp;o.propDep,function(t,e){var r,n=t.shared.shader;r=a?a.append(t,e):e.def(n,&quot;.&quot;,&quot;frag&quot;);var i;return i=o?o.append(t,e):e.def(n,&quot;.&quot;,&quot;vert&quot;),e.def(n+&quot;.program(&quot;+i+&quot;,&quot;+r+&quot;)&quot;)}),{frag:a,vert:o,progVar:t,program:s}}(t),y=h.viewport;return y&amp;&amp;(p.viewport=y),y=g(&quot;scissor.box&quot;),(h=h[y])&amp;&amp;(p[y]=h),h=0&lt;Object.keys(p).length,u={framebuffer:u,draw:d,shader:m,state:p,dirty:h},u.profile=function(t){var e=t.static;t=t.dynamic;var r;if(&quot;profile&quot;in e){var n=!!e.profile;(r=P(function(t,e){return n})).enable=n}else if(&quot;profile&quot;in t){var i=t.profile;r=O(i,function(t,e){return t.invoke(e,i)})}return r}(t),u.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(&quot;number&quot;==typeof n||&quot;boolean&quot;==typeof n)e=P(function(){return n});else if(&quot;function&quot;==typeof n){var a=n._reglType;&quot;texture2d&quot;===a||&quot;textureCube&quot;===a?e=P(function(t){return t.link(n)}):&quot;framebuffer&quot;!==a&amp;&amp;&quot;framebufferCube&quot;!==a||(e=P(function(t){return t.link(n.color[0])}))}else v(n)&amp;&amp;(e=P(function(t){return t.global.def(&quot;[&quot;,s(n.length,function(t){return n[t]}),&quot;]&quot;)}));e.value=n,i[t]=e}),Object.keys(n).forEach(function(t){var e=n[t];i[t]=O(e,function(t,r){return t.invoke(r,e)})}),i}(n),u.attributes=function(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 Y;if(C(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(r.constant){var l=r.constant;s.buffer=&quot;null&quot;,s.state=2,&quot;number&quot;==typeof l?s.x=l:ht.forEach(function(t,e){e&lt;l.length&amp;&amp;(s[t]=l[e])})}else{var c=C(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,d=!!r.normalized,p=0;&quot;type&quot;in r&amp;&amp;(p=Z[r.type]),r=0|r.divisor,s.buffer=c,s.state=1,s.size=h,s.normalized=d,s.type=p||c.dtype,s.offset=u,s.stride=f,s.divisor=r}o[t]=P(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&amp;&amp;(n.buffer=t.link(s.buffer),n.type=n.type||n.buffer+&quot;.dtype&quot;),r[a]=n})}),Object.keys(a).forEach(function(t){var e=a[t];o[t]=O(e,function(t,r){function n(t){r(l[t],&quot;=&quot;,i,&quot;.&quot;,t,&quot;|0;&quot;)}var i=t.invoke(r,e),a=t.shared,o=a.isBufferArgs,s=a.buffer,l={isStream:r.def(!1)},c=new Y;c.state=1,Object.keys(c).forEach(function(t){l[t]=r.def(&quot;&quot;+c[t])});var u=l.buffer,f=l.type;return r(&quot;if(&quot;,o,&quot;(&quot;,i,&quot;)){&quot;,l.isStream,&quot;=true;&quot;,u,&quot;=&quot;,s,&quot;.createStream(&quot;,34962,&quot;,&quot;,i,&quot;);&quot;,f,&quot;=&quot;,u,&quot;.dtype;&quot;,&quot;}else{&quot;,u,&quot;=&quot;,s,&quot;.getBuffer(&quot;,i,&quot;);&quot;,&quot;if(&quot;,u,&quot;){&quot;,f,&quot;=&quot;,u,&quot;.dtype;&quot;,'}else if(&quot;constant&quot; in ',i,&quot;){&quot;,l.state,&quot;=&quot;,2,&quot;;&quot;,&quot;if(typeof &quot;+i+'.constant === &quot;number&quot;){',l[ht[0]],&quot;=&quot;,i,&quot;.constant;&quot;,ht.slice(1).map(function(t){return l[t]}).join(&quot;=&quot;),&quot;=0;&quot;,&quot;}else{&quot;,ht.map(function(t,e){return l[t]+&quot;=&quot;+i+&quot;.constant.length&gt;=&quot;+e+&quot;?&quot;+i+&quot;.constant[&quot;+e+&quot;]:0;&quot;}).join(&quot;&quot;),&quot;}}else{&quot;,&quot;if(&quot;,o,&quot;(&quot;,i,&quot;.buffer)){&quot;,u,&quot;=&quot;,s,&quot;.createStream(&quot;,34962,&quot;,&quot;,i,&quot;.buffer);&quot;,&quot;}else{&quot;,u,&quot;=&quot;,s,&quot;.getBuffer(&quot;,i,&quot;.buffer);&quot;,&quot;}&quot;,f,'=&quot;type&quot; in ',i,&quot;?&quot;,a.glTypes,&quot;[&quot;,i,&quot;.type]:&quot;,u,&quot;.dtype;&quot;,l.normalized,&quot;=!!&quot;,i,&quot;.normalized;&quot;),n(&quot;size&quot;),n(&quot;offset&quot;),n(&quot;stride&quot;),n(&quot;divisor&quot;),r(&quot;}}&quot;),r.exit(&quot;if(&quot;,l.isStream,&quot;){&quot;,s,&quot;.destroyStream(&quot;,u,&quot;);&quot;,&quot;}&quot;),l})}),o}(r),u.context=function(t){var e=t.static,r=t.dynamic,n={};return Object.keys(e).forEach(function(t){var r=e[t];n[t]=P(function(t,e){return&quot;number&quot;==typeof r||&quot;boolean&quot;==typeof r?&quot;&quot;+r:t.link(r)})}),Object.keys(r).forEach(function(t){var e=r[t];n[t]=O(e,function(t,r){return t.invoke(r,e)})}),n}(o),u}function w(t,e,r){var n=t.shared.context,i=t.scope();Object.keys(r).forEach(function(a){e.save(n,&quot;.&quot;+a),i(n,&quot;.&quot;,a,&quot;=&quot;,r[a].append(t,e),&quot;;&quot;)}),e(i)}function M(t,e,r,n){var i,a=(s=t.shared).gl,o=s.framebuffer;J&amp;&amp;(i=e.def(s.extensions,&quot;.webgl_draw_buffers&quot;));var s=(l=t.constants).drawBuffer,l=l.backBuffer;t=r?r.append(t,e):e.def(o,&quot;.next&quot;),n||e(&quot;if(&quot;,t,&quot;!==&quot;,o,&quot;.cur){&quot;),e(&quot;if(&quot;,t,&quot;){&quot;,a,&quot;.bindFramebuffer(&quot;,36160,&quot;,&quot;,t,&quot;.framebuffer);&quot;),J&amp;&amp;e(i,&quot;.drawBuffersWEBGL(&quot;,s,&quot;[&quot;,t,&quot;.colorAttachments.length]);&quot;),e(&quot;}else{&quot;,a,&quot;.bindFramebuffer(&quot;,36160,&quot;,null);&quot;),J&amp;&amp;e(i,&quot;.drawBuffersWEBGL(&quot;,l,&quot;);&quot;),e(&quot;}&quot;,o,&quot;.cur=&quot;,t,&quot;;&quot;),n||e(&quot;}&quot;)}function k(t,e,r){var n=t.shared,i=n.gl,a=t.current,o=t.next,l=n.current,c=n.next,u=t.cond(l,&quot;.dirty&quot;);$.forEach(function(e){if(!((e=g(e))in r.state)){var n,f;if(e in o){n=o[e],f=a[e];var h=s(K[e].length,function(t){return u.def(n,&quot;[&quot;,t,&quot;]&quot;)});u(t.cond(h.map(function(t,e){return t+&quot;!==&quot;+f+&quot;[&quot;+e+&quot;]&quot;}).join(&quot;||&quot;)).then(i,&quot;.&quot;,rt[e],&quot;(&quot;,h,&quot;);&quot;,h.map(function(t,e){return f+&quot;[&quot;+e+&quot;]=&quot;+t}).join(&quot;;&quot;),&quot;;&quot;))}else n=u.def(c,&quot;.&quot;,e),h=t.cond(n,&quot;!==&quot;,l,&quot;.&quot;,e),u(h),e in et?h(t.cond(n).then(i,&quot;.enable(&quot;,et[e],&quot;);&quot;).else(i,&quot;.disable(&quot;,et[e],&quot;);&quot;),l,&quot;.&quot;,e,&quot;=&quot;,n,&quot;;&quot;):h(i,&quot;.&quot;,rt[e],&quot;(&quot;,n,&quot;);&quot;,l,&quot;.&quot;,e,&quot;=&quot;,n,&quot;;&quot;)}}),0===Object.keys(r.state).length&amp;&amp;u(l,&quot;.dirty=false;&quot;),e(u)}function A(t,e,r,n){var i=t.shared,a=t.current,o=i.current,s=i.gl;z(Object.keys(r)).forEach(function(i){var l=r[i];if(!n||n(l)){var c=l.append(t,e);if(et[i]){var u=et[i];I(l)?c?e(s,&quot;.enable(&quot;,u,&quot;);&quot;):e(s,&quot;.disable(&quot;,u,&quot;);&quot;):e(t.cond(c).then(s,&quot;.enable(&quot;,u,&quot;);&quot;).else(s,&quot;.disable(&quot;,u,&quot;);&quot;)),e(o,&quot;.&quot;,i,&quot;=&quot;,c,&quot;;&quot;)}else if(v(c)){var f=a[i];e(s,&quot;.&quot;,rt[i],&quot;(&quot;,c,&quot;);&quot;,c.map(function(t,e){return f+&quot;[&quot;+e+&quot;]=&quot;+t}).join(&quot;;&quot;),&quot;;&quot;)}else e(s,&quot;.&quot;,rt[i],&quot;(&quot;,c,&quot;);&quot;,o,&quot;.&quot;,i,&quot;=&quot;,c,&quot;;&quot;)}})}function T(t,e){X&amp;&amp;(t.instancing=e.def(t.shared.extensions,&quot;.angle_instanced_arrays&quot;))}function S(t,e,r,n,i){function a(){return&quot;undefined&quot;==typeof performance?&quot;Date.now()&quot;:&quot;performance.now()&quot;}function o(t){t(c=e.def(),&quot;=&quot;,a(),&quot;;&quot;),&quot;string&quot;==typeof i?t(h,&quot;.count+=&quot;,i,&quot;;&quot;):t(h,&quot;.count++;&quot;),p&amp;&amp;(n?(u=e.def(),t(u,&quot;=&quot;,m,&quot;.getNumPendingQueries();&quot;)):t(m,&quot;.beginQuery(&quot;,h,&quot;);&quot;))}function s(t){t(h,&quot;.cpuTime+=&quot;,a(),&quot;-&quot;,c,&quot;;&quot;),p&amp;&amp;(n?t(m,&quot;.pushScopeStats(&quot;,u,&quot;,&quot;,m,&quot;.getNumPendingQueries(),&quot;,h,&quot;);&quot;):t(m,&quot;.endQuery();&quot;))}function l(t){var r=e.def(d,&quot;.profile&quot;);e(d,&quot;.profile=&quot;,t,&quot;;&quot;),e.exit(d,&quot;.profile=&quot;,r,&quot;;&quot;)}var c,u,f=t.shared,h=t.stats,d=f.current,m=f.timer;if(r=r.profile){if(I(r))return void(r.enable?(o(e),s(e.exit),l(&quot;true&quot;)):l(&quot;false&quot;));l(r=r.append(t,e))}else r=e.def(d,&quot;.profile&quot;);o(f=t.block()),e(&quot;if(&quot;,r,&quot;){&quot;,f,&quot;}&quot;),s(t=t.block()),e.exit(&quot;if(&quot;,r,&quot;){&quot;,t,&quot;}&quot;)}function F(t,e,r,n,i){var a=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(yt))return;var c=t.scopeAttrib(s);o={},Object.keys(new Y).forEach(function(t){o[t]=e.def(c,&quot;.&quot;,t)})}!function(r,n,i){function o(){e(&quot;if(!&quot;,u,&quot;.buffer){&quot;,l,&quot;.enableVertexAttribArray(&quot;,c,&quot;);}&quot;);var r,a=i.type;r=i.size?e.def(i.size,&quot;||&quot;,n):n,e(&quot;if(&quot;,u,&quot;.type!==&quot;,a,&quot;||&quot;,u,&quot;.size!==&quot;,r,&quot;||&quot;,d.map(function(t){return u+&quot;.&quot;+t+&quot;!==&quot;+i[t]}).join(&quot;||&quot;),&quot;){&quot;,l,&quot;.bindBuffer(&quot;,34962,&quot;,&quot;,f,&quot;.buffer);&quot;,l,&quot;.vertexAttribPointer(&quot;,[c,r,a,i.normalized,i.stride,i.offset],&quot;);&quot;,u,&quot;.type=&quot;,a,&quot;;&quot;,u,&quot;.size=&quot;,r,&quot;;&quot;,d.map(function(t){return u+&quot;.&quot;+t+&quot;=&quot;+i[t]+&quot;;&quot;}).join(&quot;&quot;),&quot;}&quot;),X&amp;&amp;(a=i.divisor,e(&quot;if(&quot;,u,&quot;.divisor!==&quot;,a,&quot;){&quot;,t.instancing,&quot;.vertexAttribDivisorANGLE(&quot;,[c,a],&quot;);&quot;,u,&quot;.divisor=&quot;,a,&quot;;}&quot;))}function s(){e(&quot;if(&quot;,u,&quot;.buffer){&quot;,l,&quot;.disableVertexAttribArray(&quot;,c,&quot;);&quot;,&quot;}if(&quot;,ht.map(function(t,e){return u+&quot;.&quot;+t+&quot;!==&quot;+h[e]}).join(&quot;||&quot;),&quot;){&quot;,l,&quot;.vertexAttrib4f(&quot;,c,&quot;,&quot;,h,&quot;);&quot;,ht.map(function(t,e){return u+&quot;.&quot;+t+&quot;=&quot;+h[e]+&quot;;&quot;}).join(&quot;&quot;),&quot;}&quot;)}var l=a.gl,c=e.def(r,&quot;.location&quot;),u=e.def(a.attributes,&quot;[&quot;,c,&quot;]&quot;);r=i.state;var f=i.buffer,h=[i.x,i.y,i.z,i.w],d=[&quot;buffer&quot;,&quot;normalized&quot;,&quot;offset&quot;,&quot;stride&quot;];1===r?o():2===r?s():(e(&quot;if(&quot;,r,&quot;===&quot;,1,&quot;){&quot;),o(),e(&quot;}else{&quot;),s(),e(&quot;}&quot;))}(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 R(t,r,n,i,a){for(var o,l=t.shared,c=l.gl,u=0;u&lt;i.length;++u){var f,h=(m=i[u]).name,d=m.info.type,p=n.uniforms[h],m=t.link(m)+&quot;.location&quot;;if(p){if(!a(p))continue;if(I(p)){if(h=p.value,35678===d||35680===d)d=t.link(h._texture||h.color[0]._texture),r(c,&quot;.uniform1i(&quot;,m,&quot;,&quot;,d+&quot;.bind());&quot;),r.exit(d,&quot;.unbind();&quot;);else if(35674===d||35675===d||35676===d)h=t.global.def(&quot;new Float32Array([&quot;+Array.prototype.slice.call(h)+&quot;])&quot;),p=2,35675===d?p=3:35676===d&amp;&amp;(p=4),r(c,&quot;.uniformMatrix&quot;,p,&quot;fv(&quot;,m,&quot;,false,&quot;,h,&quot;);&quot;);else{switch(d){case 5126:o=&quot;1f&quot;;break;case 35664:o=&quot;2f&quot;;break;case 35665:o=&quot;3f&quot;;break;case 35666:o=&quot;4f&quot;;break;case 35670:case 5124:o=&quot;1i&quot;;break;case 35671:case 35667:o=&quot;2i&quot;;break;case 35672:case 35668:o=&quot;3i&quot;;break;case 35673:o=&quot;4i&quot;;break;case 35669:o=&quot;4i&quot;}r(c,&quot;.uniform&quot;,o,&quot;(&quot;,m,&quot;,&quot;,v(h)?Array.prototype.slice.call(h):h,&quot;);&quot;)}continue}f=p.append(t,r)}else{if(!a(yt))continue;f=r.def(l.uniforms,&quot;[&quot;,e.id(h),&quot;]&quot;)}switch(35678===d?r(&quot;if(&quot;,f,&quot;&amp;&amp;&quot;,f,'._reglType===&quot;framebuffer&quot;){',f,&quot;=&quot;,f,&quot;.color[0];&quot;,&quot;}&quot;):35680===d&amp;&amp;r(&quot;if(&quot;,f,&quot;&amp;&amp;&quot;,f,'._reglType===&quot;framebufferCube&quot;){',f,&quot;=&quot;,f,&quot;.color[0];&quot;,&quot;}&quot;),h=1,d){case 35678:case 35680:r(c,&quot;.uniform1i(&quot;,m,&quot;,&quot;,d=r.def(f,&quot;._texture&quot;),&quot;.bind());&quot;),r.exit(d,&quot;.unbind();&quot;);continue;case 5124:case 35670:o=&quot;1i&quot;;break;case 35667:case 35671:o=&quot;2i&quot;,h=2;break;case 35668:case 35672:o=&quot;3i&quot;,h=3;break;case 35669:case 35673:o=&quot;4i&quot;,h=4;break;case 5126:o=&quot;1f&quot;;break;case 35664:o=&quot;2f&quot;,h=2;break;case 35665:o=&quot;3f&quot;,h=3;break;case 35666:o=&quot;4f&quot;,h=4;break;case 35674:o=&quot;Matrix2fv&quot;;break;case 35675:o=&quot;Matrix3fv&quot;;break;case 35676:o=&quot;Matrix4fv&quot;}if(r(c,&quot;.uniform&quot;,o,&quot;(&quot;,m,&quot;,&quot;),&quot;M&quot;===o.charAt(0)){m=Math.pow(d-35674+2,2);var g=t.global.def(&quot;new Float32Array(&quot;,m,&quot;)&quot;);r(&quot;false,(Array.isArray(&quot;,f,&quot;)||&quot;,f,&quot; instanceof Float32Array)?&quot;,f,&quot;:(&quot;,s(m,function(t){return g+&quot;[&quot;+t+&quot;]=&quot;+f+&quot;[&quot;+t+&quot;]&quot;}),&quot;,&quot;,g,&quot;)&quot;)}else r(1&lt;h?s(h,function(t){return f+&quot;[&quot;+t+&quot;]&quot;}):f);r(&quot;);&quot;)}}function j(t,e,r,n){function i(i){var a=u[i];return a?a.contextDep&amp;&amp;n.contextDynamic||a.propDep?a.append(t,r):a.append(t,e):e.def(c,&quot;.&quot;,i)}function a(){function t(){r(g,&quot;.drawElementsInstancedANGLE(&quot;,[h,p,v,d+&quot;&lt;&lt;((&quot;+v+&quot;-5121)&gt;&gt;1)&quot;,m],&quot;);&quot;)}function e(){r(g,&quot;.drawArraysInstancedANGLE(&quot;,[h,d,p,m],&quot;);&quot;)}f?y?t():(r(&quot;if(&quot;,f,&quot;){&quot;),t(),r(&quot;}else{&quot;),e(),r(&quot;}&quot;)):e()}function o(){function t(){r(l+&quot;.drawElements(&quot;+[h,p,v,d+&quot;&lt;&lt;((&quot;+v+&quot;-5121)&gt;&gt;1)&quot;]+&quot;);&quot;)}function e(){r(l+&quot;.drawArrays(&quot;+[h,d,p]+&quot;);&quot;)}f?y?t():(r(&quot;if(&quot;,f,&quot;){&quot;),t(),r(&quot;}else{&quot;),e(),r(&quot;}&quot;)):e()}var s=t.shared,l=s.gl,c=s.draw,u=n.draw,f=function(){var i=u.elements,a=e;return i?((i.contextDep&amp;&amp;n.contextDynamic||i.propDep)&amp;&amp;(a=r),i=i.append(t,a)):i=a.def(c,&quot;.&quot;,&quot;elements&quot;),i&amp;&amp;a(&quot;if(&quot;+i+&quot;)&quot;+l+&quot;.bindBuffer(34963,&quot;+i+&quot;.buffer.buffer);&quot;),i}(),h=i(&quot;primitive&quot;),d=i(&quot;offset&quot;),p=function(){var i=u.count,a=e;return i?((i.contextDep&amp;&amp;n.contextDynamic||i.propDep)&amp;&amp;(a=r),i=i.append(t,a)):i=a.def(c,&quot;.&quot;,&quot;count&quot;),i}();if(&quot;number&quot;==typeof p){if(0===p)return}else r(&quot;if(&quot;,p,&quot;){&quot;),r.exit(&quot;}&quot;);var m,g;X&amp;&amp;(m=i(&quot;instances&quot;),g=t.instancing);var v=f+&quot;.type&quot;,y=u.elements&amp;&amp;I(u.elements);X&amp;&amp;(&quot;number&quot;!=typeof m||0&lt;=m)?&quot;string&quot;==typeof m?(r(&quot;if(&quot;,m,&quot;&gt;0){&quot;),a(),r(&quot;}else if(&quot;,m,&quot;&lt;0){&quot;),o(),r(&quot;}&quot;)):a():o()}function U(t,e,r,n,i){return e=b(),i=e.proc(&quot;body&quot;,i),X&amp;&amp;(e.instancing=i.def(e.shared.extensions,&quot;.angle_instanced_arrays&quot;)),t(e,i,r,n),e.compile().body}function V(t,e,r,n){T(t,e),F(t,e,r,n.attributes,function(){return!0}),R(t,e,r,n.uniforms,function(){return!0}),j(t,e,e,r)}function q(t,e,r,n){function i(){return!0}t.batchId=&quot;a1&quot;,T(t,e),F(t,e,r,n.attributes,i),R(t,e,r,n.uniforms,i),j(t,e,e,r)}function H(t,e,r,n){function i(t){return t.contextDep&amp;&amp;o||t.propDep}function a(t){return!i(t)}T(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,&quot;for(&quot;,s,&quot;=0;&quot;,s,&quot;&lt;&quot;,&quot;a1&quot;,&quot;;++&quot;,s,&quot;){&quot;,l,&quot;=&quot;,&quot;a0&quot;,&quot;[&quot;,s,&quot;];&quot;,u,&quot;}&quot;,c.exit),r.needsContext&amp;&amp;w(t,u,r.context),r.needsFramebuffer&amp;&amp;M(t,u,r.framebuffer),A(t,u,r.state,i),r.profile&amp;&amp;i(r.profile)&amp;&amp;S(t,u,r,!1,!0),n?(F(t,c,r,n.attributes,a),F(t,u,r,n.attributes,i),R(t,c,r,n.uniforms,a),R(t,u,r,n.uniforms,i),j(t,c,u,r)):(e=t.global.def(&quot;{}&quot;),n=r.shader.progVar.append(t,u),l=u.def(n,&quot;.id&quot;),c=u.def(e,&quot;[&quot;,l,&quot;]&quot;),u(t.shared.gl,&quot;.useProgram(&quot;,n,&quot;.program);&quot;,&quot;if(!&quot;,c,&quot;){&quot;,c,&quot;=&quot;,e,&quot;[&quot;,l,&quot;]=&quot;,t.link(function(e){return U(q,t,r,e,2)}),&quot;(&quot;,n,&quot;);}&quot;,c,&quot;.call(this,a0[&quot;,s,&quot;],&quot;,s,&quot;);&quot;))}function G(t,e,r){function n(t,e){o.forEach(function(r){var n=i[r];B.isDynamic(n)&amp;&amp;(n=t.invoke(e,n),e(u,&quot;.&quot;,r,&quot;=&quot;,n,&quot;;&quot;))})}var i=e.static[r];if(i&amp;&amp;function(t){if(&quot;object&quot;==typeof t&amp;&amp;!v(t)){for(var e=Object.keys(t),r=0;r&lt;e.length;++r)if(B.isDynamic(t[e[r]]))return!0;return!1}}(i)){var a=t.global,o=Object.keys(i),s=!1,l=!1,c=!1,u=t.global.def(&quot;{}&quot;);o.forEach(function(e){var r=i[e];if(B.isDynamic(r))&quot;function&quot;==typeof r&amp;&amp;(r=i[e]=B.unbox(r)),e=O(r,null),s=s||e.thisDep,c=c||e.propDep,l=l||e.contextDep;else{switch(a(u,&quot;.&quot;,e,&quot;=&quot;),typeof r){case&quot;number&quot;:a(r);break;case&quot;string&quot;:a('&quot;',r,'&quot;');break;case&quot;object&quot;:Array.isArray(r)&amp;&amp;a(&quot;[&quot;,r.join(),&quot;]&quot;);break;default:a(t.link(r))}a(&quot;;&quot;)}}),e.dynamic[r]=new B.DynamicVariable(4,{thisDep:s,contextDep:l,propDep:c,ref:u,append:n}),delete e.static[r]}}var Y=u.Record,W={add:32774,subtract:32778,&quot;reverse subtract&quot;:32779};r.ext_blend_minmax&amp;&amp;(W.min=32775,W.max=32776);var X=r.angle_instanced_arrays,J=r.webgl_draw_buffers,K={dirty:!0,profile:m.profile},Q={},$=[],et={},rt={};y(&quot;dither&quot;,3024),y(&quot;blend.enable&quot;,3042),x(&quot;blend.color&quot;,&quot;blendColor&quot;,[0,0,0,0]),x(&quot;blend.equation&quot;,&quot;blendEquationSeparate&quot;,[32774,32774]),x(&quot;blend.func&quot;,&quot;blendFuncSeparate&quot;,[1,0,1,0]),y(&quot;depth.enable&quot;,2929,!0),x(&quot;depth.func&quot;,&quot;depthFunc&quot;,513),x(&quot;depth.range&quot;,&quot;depthRange&quot;,[0,1]),x(&quot;depth.mask&quot;,&quot;depthMask&quot;,!0),x(&quot;colorMask&quot;,&quot;colorMask&quot;,[!0,!0,!0,!0]),y(&quot;cull.enable&quot;,2884),x(&quot;cull.face&quot;,&quot;cullFace&quot;,1029),x(&quot;frontFace&quot;,&quot;frontFace&quot;,2305),x(&quot;lineWidth&quot;,&quot;lineWidth&quot;,1),y(&quot;polygonOffset.enable&quot;,32823),x(&quot;polygonOffset.offset&quot;,&quot;polygonOffset&quot;,[0,0]),y(&quot;sample.alpha&quot;,32926),y(&quot;sample.enable&quot;,32928),x(&quot;sample.coverage&quot;,&quot;sampleCoverage&quot;,[1,!1]),y(&quot;stencil.enable&quot;,2960),x(&quot;stencil.mask&quot;,&quot;stencilMask&quot;,-1),x(&quot;stencil.func&quot;,&quot;stencilFunc&quot;,[519,0,-1]),x(&quot;stencil.opFront&quot;,&quot;stencilOpSeparate&quot;,[1028,7680,7680,7680]),x(&quot;stencil.opBack&quot;,&quot;stencilOpSeparate&quot;,[1029,7680,7680,7680]),y(&quot;scissor.enable&quot;,3089),x(&quot;scissor.box&quot;,&quot;scissor&quot;,[0,0,t.drawingBufferWidth,t.drawingBufferHeight]),x(&quot;viewport&quot;,&quot;viewport&quot;,[0,0,t.drawingBufferWidth,t.drawingBufferHeight]);var nt={gl:t,context:d,strings:e,next:Q,current:K,draw:h,elements:a,buffer:i,shader:f,attributes:u.state,uniforms:c,framebuffer:l,extensions:r,timer:p,isBufferArgs:C},it={primTypes:tt,compareFuncs:mt,blendFuncs:pt,blendEquations:W,stencilOps:gt,glTypes:Z,orientationType:vt};J&amp;&amp;(it.backBuffer=[1029],it.drawBuffer=s(n.maxDrawbuffers,function(t){return 0===t?[0]:s(t,function(t){return 36064+t})}));var at=0;return{next:Q,current:K,procs:function(){var e=b(),r=e.proc(&quot;poll&quot;),i=e.proc(&quot;refresh&quot;),a=e.block();r(a),i(a);var o=e.shared,l=o.gl,c=o.next,u=o.current;a(u,&quot;.dirty=false;&quot;),M(e,r),M(e,i,null,!0);var f,h=t.getExtension(&quot;angle_instanced_arrays&quot;);h&amp;&amp;(f=e.link(h));for(var d=0;d&lt;n.maxAttributes;++d){var p=i.def(o.attributes,&quot;[&quot;,d,&quot;]&quot;),m=e.cond(p,&quot;.buffer&quot;);m.then(l,&quot;.enableVertexAttribArray(&quot;,d,&quot;);&quot;,l,&quot;.bindBuffer(&quot;,34962,&quot;,&quot;,p,&quot;.buffer.buffer);&quot;,l,&quot;.vertexAttribPointer(&quot;,d,&quot;,&quot;,p,&quot;.size,&quot;,p,&quot;.type,&quot;,p,&quot;.normalized,&quot;,p,&quot;.stride,&quot;,p,&quot;.offset);&quot;).else(l,&quot;.disableVertexAttribArray(&quot;,d,&quot;);&quot;,l,&quot;.vertexAttrib4f(&quot;,d,&quot;,&quot;,p,&quot;.x,&quot;,p,&quot;.y,&quot;,p,&quot;.z,&quot;,p,&quot;.w);&quot;,p,&quot;.buffer=null;&quot;),i(m),h&amp;&amp;i(f,&quot;.vertexAttribDivisorANGLE(&quot;,d,&quot;,&quot;,p,&quot;.divisor);&quot;)}return Object.keys(et).forEach(function(t){var n=et[t],o=a.def(c,&quot;.&quot;,t),s=e.block();s(&quot;if(&quot;,o,&quot;){&quot;,l,&quot;.enable(&quot;,n,&quot;)}else{&quot;,l,&quot;.disable(&quot;,n,&quot;)}&quot;,u,&quot;.&quot;,t,&quot;=&quot;,o,&quot;;&quot;),i(s),r(&quot;if(&quot;,o,&quot;!==&quot;,u,&quot;.&quot;,t,&quot;){&quot;,s,&quot;}&quot;)}),Object.keys(rt).forEach(function(t){var n,o,f=rt[t],h=K[t],d=e.block();d(l,&quot;.&quot;,f,&quot;(&quot;),v(h)?(f=h.length,n=e.global.def(c,&quot;.&quot;,t),o=e.global.def(u,&quot;.&quot;,t),d(s(f,function(t){return n+&quot;[&quot;+t+&quot;]&quot;}),&quot;);&quot;,s(f,function(t){return o+&quot;[&quot;+t+&quot;]=&quot;+n+&quot;[&quot;+t+&quot;];&quot;}).join(&quot;&quot;)),r(&quot;if(&quot;,s(f,function(t){return n+&quot;[&quot;+t+&quot;]!==&quot;+o+&quot;[&quot;+t+&quot;]&quot;}).join(&quot;||&quot;),&quot;){&quot;,d,&quot;}&quot;)):(n=a.def(c,&quot;.&quot;,t),o=a.def(u,&quot;.&quot;,t),d(n,&quot;);&quot;,u,&quot;.&quot;,t,&quot;=&quot;,n,&quot;;&quot;),r(&quot;if(&quot;,n,&quot;!==&quot;,o,&quot;){&quot;,d,&quot;}&quot;)),i(d)}),e.compile()}(),compile:function(t,r,n,i,a){var o=b();return o.stats=o.link(a),Object.keys(r.static).forEach(function(t){G(o,r,t)}),dt.forEach(function(e){G(o,t,e)}),n=_(t,r,n,i),function(t,e){var r=t.proc(&quot;draw&quot;,1);T(t,r),w(t,r,e.context),M(t,r,e.framebuffer),k(t,r,e),A(t,r,e.state),S(t,r,e,!1,!0);var n=e.shader.progVar.append(t,r);if(r(t.shared.gl,&quot;.useProgram(&quot;,n,&quot;.program);&quot;),e.shader.program)V(t,r,e,e.shader.program);else{var i=t.global.def(&quot;{}&quot;),a=r.def(n,&quot;.id&quot;),o=r.def(i,&quot;[&quot;,a,&quot;]&quot;);r(t.cond(o).then(o,&quot;.call(this,a0);&quot;).else(o,&quot;=&quot;,i,&quot;[&quot;,a,&quot;]=&quot;,t.link(function(r){return U(V,t,e,r,1)}),&quot;(&quot;,n,&quot;);&quot;,o,&quot;.call(this,a0);&quot;))}0&lt;Object.keys(e.state).length&amp;&amp;r(t.shared.current,&quot;.dirty=true;&quot;)}(o,n),function(t,r){function n(e){var n=r.shader[e];n&amp;&amp;i.set(a.shader,&quot;.&quot;+e,n.append(t,i))}var i=t.proc(&quot;scope&quot;,3);t.batchId=&quot;a2&quot;;var a=t.shared,o=a.current;w(t,i,r.context),r.framebuffer&amp;&amp;r.framebuffer.append(t,i),z(Object.keys(r.state)).forEach(function(e){var n=r.state[e].append(t,i);v(n)?n.forEach(function(r,n){i.set(t.next[e],&quot;[&quot;+n+&quot;]&quot;,r)}):i.set(a.next,&quot;.&quot;+e,n)}),S(t,i,r,!0,!0),[&quot;elements&quot;,&quot;offset&quot;,&quot;count&quot;,&quot;instances&quot;,&quot;primitive&quot;].forEach(function(e){var n=r.draw[e];n&amp;&amp;i.set(a.draw,&quot;.&quot;+e,&quot;&quot;+n.append(t,i))}),Object.keys(r.uniforms).forEach(function(n){i.set(a.uniforms,&quot;[&quot;+e.id(n)+&quot;]&quot;,r.uniforms[n].append(t,i))}),Object.keys(r.attributes).forEach(function(e){var n=r.attributes[e].append(t,i),a=t.scopeAttrib(e);Object.keys(new Y).forEach(function(t){i.set(a,&quot;.&quot;+t,n[t])})}),n(&quot;vert&quot;),n(&quot;frag&quot;),0&lt;Object.keys(r.state).length&amp;&amp;(i(o,&quot;.dirty=true;&quot;),i.exit(o,&quot;.dirty=true;&quot;)),i(&quot;a1(&quot;,t.shared.context,&quot;,a0,&quot;,t.batchId,&quot;);&quot;)}(o,n),function(t,e){function r(t){return t.contextDep&amp;&amp;i||t.propDep}var n=t.proc(&quot;batch&quot;,2);t.batchId=&quot;0&quot;,T(t,n);var i=!1,a=!0;Object.keys(e.context).forEach(function(t){i=i||e.context[t].propDep}),i||(w(t,n,e.context),a=!1);var o=!1;if((s=e.framebuffer)?(s.propDep?i=o=!0:s.contextDep&amp;&amp;i&amp;&amp;(o=!0),o||M(t,n,s)):M(t,n,null),e.state.viewport&amp;&amp;e.state.viewport.propDep&amp;&amp;(i=!0),k(t,n,e),A(t,n,e.state,function(t){return!r(t)}),e.profile&amp;&amp;r(e.profile)||S(t,n,e,!1,&quot;a1&quot;),e.contextDep=i,e.needsContext=a,e.needsFramebuffer=o,(a=e.shader.progVar).contextDep&amp;&amp;i||a.propDep)H(t,n,e,null);else if(a=a.append(t,n),n(t.shared.gl,&quot;.useProgram(&quot;,a,&quot;.program);&quot;),e.shader.program)H(t,n,e,e.shader.program);else{var s=t.global.def(&quot;{}&quot;),l=(o=n.def(a,&quot;.id&quot;),n.def(s,&quot;[&quot;,o,&quot;]&quot;));n(t.cond(l).then(l,&quot;.call(this,a0,a1);&quot;).else(l,&quot;=&quot;,s,&quot;[&quot;,o,&quot;]=&quot;,t.link(function(r){return U(H,t,e,r,2)}),&quot;(&quot;,a,&quot;);&quot;,l,&quot;.call(this,a0,a1);&quot;))}0&lt;Object.keys(e.state).length&amp;&amp;n(t.shared.current,&quot;.dirty=true;&quot;)}(o,n),o.compile()}}}function R(t,e){for(var r=0;r&lt;t.length;++r)if(t[r]===e)return r;return-1}var N=function(t,e){for(var r=Object.keys(e),n=0;n&lt;r.length;++n)t[r[n]]=e[r[n]];return t},j=0,B={DynamicVariable:t,define:function(e,n){return new t(e,r(n+&quot;&quot;))},isDynamic:function(e){return&quot;function&quot;==typeof e&amp;&amp;!e._reglType||e instanceof t},unbox:function(e,r){return&quot;function&quot;==typeof e?new t(0,e):e},accessor:r},U={next:&quot;function&quot;==typeof requestAnimationFrame?function(t){return requestAnimationFrame(t)}:function(t){return setTimeout(t,16)},cancel:&quot;function&quot;==typeof cancelAnimationFrame?function(t){return cancelAnimationFrame(t)}:clearTimeout},V=&quot;undefined&quot;!=typeof performance&amp;&amp;performance.now?function(){return performance.now()}:function(){return+new Date},q=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},H=function(t){return Object.keys(t).map(function(e){return t[e]})},G=s(8,function(){return[]}),Y={alloc:c,free:u,allocType:function(t,e){var r=null;switch(t){case 5120:r=new Int8Array(c(e),0,e);break;case 5121:r=new Uint8Array(c(e),0,e);break;case 5122:r=new Int16Array(c(2*e),0,e);break;case 5123:r=new Uint16Array(c(2*e),0,e);break;case 5124:r=new Int32Array(c(4*e),0,e);break;case 5125:r=new Uint32Array(c(4*e),0,e);break;case 5126:r=new Float32Array(c(4*e),0,e);break;default:return null}return r.length!==e?r.subarray(0,e):r},freeType:function(t){u(t.buffer)}},W={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&lt;e.length;++a)i*=e[a];else i=0;switch(r=n||Y.allocType(r,i),e.length){case 0:break;case 1:for(n=e[0],e=0;e&lt;n;++e)r[e]=t[e];break;case 2:for(n=e[0],e=e[1],a=i=0;a&lt;n;++a)for(var o=t[a],s=0;s&lt;e;++s)r[i++]=o[s];break;case 3:f(t,e[0],e[1],e[2],r,0);break;default:h(t,e,0,r,0)}return r}},X={&quot;[object Int8Array]&quot;:5120,&quot;[object Int16Array]&quot;:5122,&quot;[object Int32Array]&quot;:5124,&quot;[object Uint8Array]&quot;:5121,&quot;[object Uint8ClampedArray]&quot;:5121,&quot;[object Uint16Array]&quot;:5123,&quot;[object Uint32Array]&quot;:5125,&quot;[object Float32Array]&quot;:5126,&quot;[object Float64Array]&quot;:5121,&quot;[object ArrayBuffer]&quot;:5121},Z={int8:5120,int16:5122,int32:5124,uint8:5121,uint16:5123,uint32:5125,float:5126,float32:5126},J={dynamic:35048,stream:35040,static:35044},K=W.flatten,Q=W.shape,$=[];$[5120]=1,$[5122]=2,$[5124]=4,$[5121]=1,$[5123]=2,$[5125]=4,$[5126]=4;var tt={points:0,point:0,lines:1,line:1,triangles:4,triangle:4,&quot;line loop&quot;:2,&quot;line strip&quot;:3,&quot;triangle strip&quot;:5,&quot;triangle fan&quot;:6},et=new Float32Array(1),rt=new Uint32Array(et.buffer),nt=[9984,9986,9985,9987],it=[0,6409,6410,6407,6408],at={};at[6409]=at[6406]=at[6402]=1,at[34041]=at[6410]=2,at[6407]=at[35904]=3,at[6408]=at[35906]=4;var ot=Object.keys(X).concat([&quot;[object HTMLCanvasElement]&quot;,&quot;[object CanvasRenderingContext2D]&quot;,&quot;[object HTMLImageElement]&quot;,&quot;[object HTMLVideoElement]&quot;]),st=[];st[5121]=1,st[5126]=4,st[36193]=2,st[5123]=2,st[5125]=4;var lt=[];lt[32854]=2,lt[32855]=2,lt[36194]=2,lt[34041]=4,lt[33776]=.5,lt[33777]=.5,lt[33778]=1,lt[33779]=1,lt[35986]=.5,lt[35987]=1,lt[34798]=1,lt[35840]=.5,lt[35841]=.25,lt[35842]=.5,lt[35843]=.25,lt[36196]=.5;var ct=[];ct[32854]=2,ct[32855]=2,ct[36194]=2,ct[33189]=2,ct[36168]=1,ct[34041]=4,ct[35907]=4,ct[34836]=16,ct[34842]=8,ct[34843]=6;var ut=[];ut[6408]=4;var ft=[];ft[5121]=1,ft[5126]=4,ft[36193]=2;var ht=[&quot;x&quot;,&quot;y&quot;,&quot;z&quot;,&quot;w&quot;],dt=&quot;blend.func blend.equation stencil.func stencil.opFront stencil.opBack sample.coverage viewport scissor.box polygonOffset.offset&quot;.split(&quot; &quot;),pt={0:0,1:1,zero:0,one:1,&quot;src color&quot;:768,&quot;one minus src color&quot;:769,&quot;src alpha&quot;:770,&quot;one minus src alpha&quot;:771,&quot;dst color&quot;:774,&quot;one minus dst color&quot;:775,&quot;dst alpha&quot;:772,&quot;one minus dst alpha&quot;:773,&quot;constant color&quot;:32769,&quot;one minus constant color&quot;:32770,&quot;constant alpha&quot;:32771,&quot;one minus constant alpha&quot;:32772,&quot;src alpha saturate&quot;:776},mt={never:512,less:513,&quot;&lt;&quot;:513,equal:514,&quot;=&quot;:514,&quot;==&quot;:514,&quot;===&quot;:514,lequal:515,&quot;&lt;=&quot;:515,greater:516,&quot;&gt;&quot;:516,notequal:517,&quot;!=&quot;:517,&quot;!==&quot;:517,gequal:518,&quot;&gt;=&quot;:518,always:519},gt={0:0,zero:0,keep:7680,replace:7681,increment:7682,decrement:7683,&quot;increment wrap&quot;:34055,&quot;decrement wrap&quot;:34056,invert:5386},vt={cw:2304,ccw:2305},yt=new D(!1,!1,!1,function(){});return function(t){function e(){if(0===it.length)E&amp;&amp;E.update(),lt=null;else{lt=U.next(e),h();for(var t=it.length-1;0&lt;=t;--t){var r=it[t];r&amp;&amp;r(D,null,0)}y.flush(),E&amp;&amp;E.update()}}function r(){!lt&amp;&amp;0&lt;it.length&amp;&amp;(lt=U.next(e))}function n(){lt&amp;&amp;(U.cancel(e),lt=null)}function i(t){t.preventDefault(),n(),at.forEach(function(t){t()})}function s(t){y.getError(),b.restore(),j.restore(),P.restore(),G.restore(),W.restore(),X.restore(),E&amp;&amp;E.restore(),et.procs.refresh(),r(),ot.forEach(function(t){t()})}function l(t){function e(t){var e={},r={};return Object.keys(t).forEach(function(n){var i=t[n];B.isDynamic(i)?r[n]=B.unbox(i,n):e[n]=i}),{dynamic:r,static:e}}var r=e(t.context||{}),n=e(t.uniforms||{}),i=e(t.attributes||{}),a=e(function(e){function r(t){if(t in n){var e=n[t];delete n[t],Object.keys(e).forEach(function(r){n[t+&quot;.&quot;+r]=e[r]})}}var n=N({},t);return delete n.uniforms,delete n.attributes,delete n.context,&quot;stencil&quot;in n&amp;&amp;n.stencil.op&amp;&amp;(n.stencil.opBack=n.stencil.opFront=n.stencil.op,delete n.stencil.op),r(&quot;blend&quot;),r(&quot;depth&quot;),r(&quot;cull&quot;),r(&quot;stencil&quot;),r(&quot;polygonOffset&quot;),r(&quot;scissor&quot;),r(&quot;sample&quot;),n}());t={gpuTime:0,cpuTime:0,count:0};var o=(r=et.compile(a,i,n,r,t)).draw,s=r.batch,l=r.scope,c=[];return N(function(t,e){var r;if(&quot;function&quot;==typeof t)return l.call(this,null,t,0);if(&quot;function&quot;==typeof e)if(&quot;number&quot;==typeof t)for(r=0;r&lt;t;++r)l.call(this,null,e,r);else{if(!Array.isArray(t))return l.call(this,t,e,0);for(r=0;r&lt;t.length;++r)l.call(this,t[r],e,r)}else if(&quot;number&quot;==typeof t){if(0&lt;t)return s.call(this,function(t){for(;c.length&lt;t;)c.push(null);return c}(0|t),0|t)}else{if(!Array.isArray(t))return o.call(this,t);if(t.length)return s.call(this,t,t.length)}},{stats:t})}function c(t,e){var r=0;et.procs.poll();var n=e.color;n&amp;&amp;(y.clearColor(+n[0]||0,+n[1]||0,+n[2]||0,+n[3]||0),r|=16384),&quot;depth&quot;in e&amp;&amp;(y.clearDepth(+e.depth),r|=256),&quot;stencil&quot;in e&amp;&amp;(y.clearStencil(0|e.stencil),r|=1024),y.clear(r)}function u(t){return it.push(t),r(),{cancel:function(){function e(){var t=R(it,e);it[t]=it[it.length-1],--it.length,0&gt;=it.length&amp;&amp;n()}var r=R(it,t);it[r]=e}}}function f(){var t=rt.viewport,e=rt.scissor_box;t[0]=t[1]=e[0]=e[1]=0,D.viewportWidth=D.framebufferWidth=D.drawingBufferWidth=t[2]=e[2]=y.drawingBufferWidth,D.viewportHeight=D.framebufferHeight=D.drawingBufferHeight=t[3]=e[3]=y.drawingBufferHeight}function h(){D.tick+=1,D.time=v(),f(),et.procs.poll()}function g(){f(),et.procs.refresh(),E&amp;&amp;E.update()}function v(){return(V()-L)/1e3}if(!(t=a(t)))return null;var y=t.gl,x=y.getContextAttributes();y.isContextLost();var b=function(t,e){function r(e){e=e.toLowerCase();var r;try{r=n[e]=t.getExtension(e)}catch(t){}return!!r}for(var n={},i=0;i&lt;e.extensions.length;++i){var a=e.extensions[i];if(!r(a))return e.onDestroy(),e.onDone('&quot;'+a+'&quot; 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(!r(t))throw Error(&quot;(regl): error restoring extension &quot;+t)})}}}(y,t);if(!b)return null;var _=function(){var t={&quot;&quot;:0},e=[&quot;&quot;];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]}}}(),w={bufferCount:0,elementsCount:0,framebufferCount:0,shaderCount:0,textureCount:0,cubeCount:0,renderbufferCount:0,maxTextureUnits:0},M=b.extensions,E=function(t,e){function r(t,e,r){var n=o.pop()||new function(){this.endQueryIndex=this.startQueryIndex=-1,this.sum=0,this.stats=null};n.startQueryIndex=t,n.endQueryIndex=e,n.sum=0,n.stats=r,s.push(n)}var n=e.ext_disjoint_timer_query;if(!n)return null;var i=[],a=[],o=[],s=[],l=[],c=[];return{beginQuery:function(t){var e=i.pop()||n.createQueryEXT();n.beginQueryEXT(35007,e),a.push(e),r(a.length-1,a.length,t)},endQuery:function(){n.endQueryEXT(35007)},pushScopeStats:r,update:function(){var t,e;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 r=c[0]=0;for(e=t=0;e&lt;a.length;++e){var u=a[e];n.getQueryObjectEXT(u,34919)?(r+=n.getQueryObjectEXT(u,34918),i.push(u)):a[t++]=u,l[e+1]=r,c[e+1]=t}for(a.length=t,e=t=0;e&lt;s.length;++e){var f=(r=s[e]).startQueryIndex;u=r.endQueryIndex,r.sum+=l[u]-l[f],f=c[f],(u=c[u])===f?(r.stats.gpuTime+=r.sum/1e6,o.push(r)):(r.startQueryIndex=f,r.endQueryIndex=u,s[t++]=r)}s.length=t}},getNumPendingQueries:function(){return a.length},clear:function(){i.push.apply(i,a);for(var t=0;t&lt;i.length;t++)n.deleteQueryEXT(i[t]);a.length=0,i.length=0},restore:function(){a.length=0,i.length=0}}}(0,M),L=V(),C=y.drawingBufferWidth,z=y.drawingBufferHeight,D={tick:0,time:0,viewportWidth:C,viewportHeight:z,framebufferWidth:C,framebufferHeight:z,drawingBufferWidth:C,drawingBufferHeight:z,pixelRatio:t.pixelRatio},I=function(t,e){var r=1;e.ext_texture_filter_anisotropic&amp;&amp;(r=t.getParameter(34047));var n=1,i=1;return e.webgl_draw_buffers&amp;&amp;(n=t.getParameter(34852),i=t.getParameter(36063)),{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)}}(y,M),P=function(t,e,r){function n(e){this.id=l++,this.buffer=t.createBuffer(),this.type=e,this.usage=35044,this.byteLength=0,this.dimension=1,this.dtype=5121,this.persistentData=null,r.profile&amp;&amp;(this.stats={size:0})}function i(e,r,n){e.byteLength=r.byteLength,t.bufferData(e.type,r,n)}function a(t,e,r,n,a,s){if(t.usage=r,Array.isArray(e)){if(t.dtype=n||5126,0&lt;e.length)if(Array.isArray(e[0])){a=Q(e);for(var l=n=1;l&lt;a.length;++l)n*=a[l];t.dimension=n,i(t,e=K(e,a,t.dtype),r),s?t.persistentData=e:Y.freeType(e)}else&quot;number&quot;==typeof e[0]?(t.dimension=a,a=Y.allocType(t.dtype,e.length),p(a,e),i(t,a,r),s?t.persistentData=a:Y.freeType(a)):q(e[0])&amp;&amp;(t.dimension=e[0].length,t.dtype=n||d(e[0])||5126,e=K(e,[e.length,e[0].length],t.dtype),i(t,e,r),s?t.persistentData=e:Y.freeType(e))}else if(q(e))t.dtype=n||d(e),t.dimension=a,i(t,e,r),s&amp;&amp;(t.persistentData=new Uint8Array(new Uint8Array(e.buffer)));else if(o(e)){a=e.shape;var c=e.stride,u=(l=e.offset,0),f=0,h=0,g=0;1===a.length?(u=a[0],f=1,h=c[0],g=0):2===a.length&amp;&amp;(u=a[0],f=a[1],h=c[0],g=c[1]),t.dtype=n||d(e.data)||5126,t.dimension=f,m(a=Y.allocType(t.dtype,u*f),e.data,u,f,h,g,l),i(t,a,r),s?t.persistentData=a:Y.freeType(a)}}function s(r){e.bufferCount--,t.deleteBuffer(r.buffer),r.buffer=null,delete c[r.id]}var l=0,c={};n.prototype.bind=function(){t.bindBuffer(this.type,this.buffer)},n.prototype.destroy=function(){s(this)};var u=[];return r.profile&amp;&amp;(e.getTotalBufferSize=function(){var t=0;return Object.keys(c).forEach(function(e){t+=c[e].stats.size}),t}),{create:function(i,l,u,f){function h(e){var n=35044,i=null,s=0,l=0,c=1;return Array.isArray(e)||q(e)||o(e)?i=e:&quot;number&quot;==typeof e?s=0|e:e&amp;&amp;(&quot;data&quot;in e&amp;&amp;(i=e.data),&quot;usage&quot;in e&amp;&amp;(n=J[e.usage]),&quot;type&quot;in e&amp;&amp;(l=Z[e.type]),&quot;dimension&quot;in e&amp;&amp;(c=0|e.dimension),&quot;length&quot;in e&amp;&amp;(s=0|e.length)),g.bind(),i?a(g,i,n,l,c,f):(t.bufferData(g.type,s,n),g.dtype=l||5121,g.usage=n,g.dimension=c,g.byteLength=s),r.profile&amp;&amp;(g.stats.size=g.byteLength*$[g.dtype]),h}e.bufferCount++;var g=new n(l);return c[g.id]=g,u||h(i),h._reglType=&quot;buffer&quot;,h._buffer=g,h.subdata=function(e,r){var n,i=0|(r||0);if(g.bind(),q(e))t.bufferSubData(g.type,i,e);else if(Array.isArray(e)){if(0&lt;e.length)if(&quot;number&quot;==typeof e[0]){var a=Y.allocType(g.dtype,e.length);p(a,e),t.bufferSubData(g.type,i,a),Y.freeType(a)}else(Array.isArray(e[0])||q(e[0]))&amp;&amp;(n=Q(e),a=K(e,n,g.dtype),t.bufferSubData(g.type,i,a),Y.freeType(a))}else if(o(e)){n=e.shape;var s=e.stride,l=a=0,c=0,u=0;1===n.length?(a=n[0],l=1,c=s[0],u=0):2===n.length&amp;&amp;(a=n[0],l=n[1],c=s[0],u=s[1]),n=Array.isArray(e.data)?g.dtype:d(e.data),m(n=Y.allocType(n,a*l),e.data,a,l,c,u,e.offset),t.bufferSubData(g.type,i,n),Y.freeType(n)}return h},r.profile&amp;&amp;(h.stats=g.stats),h.destroy=function(){s(g)},h},createStream:function(t,e){var r=u.pop();return r||(r=new n(t)),r.bind(),a(r,e,35040,0,1,!1),r},destroyStream:function(t){u.push(t)},clear:function(){H(c).forEach(s),u.forEach(s)},getBuffer:function(t){return t&amp;&amp;t._buffer instanceof n?t._buffer:null},restore:function(){H(c).forEach(function(e){e.buffer=t.createBuffer(),t.bindBuffer(e.type,e.buffer),t.bufferData(e.type,e.persistentData||e.byteLength,e.usage)})},_initBuffer:a}}(y,w,t),O=function(t,e,r,n){function i(t){this.id=c++,l[this.id]=this,this.buffer=t,this.primType=4,this.type=this.vertCount=0}function a(n,i,a,s,l,c,u){if(n.buffer.bind(),i){var f=u;u||q(i)&amp;&amp;(!o(i)||q(i.data))||(f=e.oes_element_index_uint?5125:5123),r._initBuffer(n.buffer,i,a,f,3)}else t.bufferData(34963,c,a),n.buffer.dtype=f||5121,n.buffer.usage=a,n.buffer.dimension=3,n.buffer.byteLength=c;if(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&gt;(i=l)&amp;&amp;(i=n.buffer.byteLength,5123===f?i&gt;&gt;=1:5125===f&amp;&amp;(i&gt;&gt;=2)),n.vertCount=i,i=s,0&gt;s&amp;&amp;(i=4,1===(s=n.buffer.dimension)&amp;&amp;(i=0),2===s&amp;&amp;(i=1),3===s&amp;&amp;(i=4)),n.primType=i}function s(t){n.elementsCount--,delete l[t.id],t.buffer.destroy(),t.buffer=null}var l={},c=0,u={uint8:5121,uint16:5123};e.oes_element_index_uint&amp;&amp;(u.uint32=5125),i.prototype.bind=function(){this.buffer.bind()};var f=[];return{create:function(t,e){function l(t){if(t)if(&quot;number&quot;==typeof t)c(t),f.primType=4,f.vertCount=0|t,f.type=5121;else{var e=null,r=35044,n=-1,i=-1,s=0,h=0;Array.isArray(t)||q(t)||o(t)?e=t:(&quot;data&quot;in t&amp;&amp;(e=t.data),&quot;usage&quot;in t&amp;&amp;(r=J[t.usage]),&quot;primitive&quot;in t&amp;&amp;(n=tt[t.primitive]),&quot;count&quot;in t&amp;&amp;(i=0|t.count),&quot;type&quot;in t&amp;&amp;(h=u[t.type]),&quot;length&quot;in t?s=0|t.length:(s=i,5123===h||5122===h?s*=2:5125!==h&amp;&amp;5124!==h||(s*=4))),a(f,e,r,n,i,s,h)}else c(),f.primType=4,f.vertCount=0,f.type=5121;return l}var c=r.create(null,34963,!0),f=new i(c._buffer);return n.elementsCount++,l(t),l._reglType=&quot;elements&quot;,l._elements=f,l.subdata=function(t,e){return c.subdata(t,e),l},l.destroy=function(){s(f)},l},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&quot;function&quot;==typeof t&amp;&amp;t._elements instanceof i?t._elements:null},clear:function(){H(l).forEach(s)}}}(y,M,P,w),j=(C=function(t,e,r,n,i){for(t=r.maxAttributes,e=Array(t),r=0;r&lt;t;++r)e[r]=new A;return{Record:A,scope:{},state:e}}(y,M,I),T(y,_,w,t)),G=k(y,M,I,function(){et.procs.poll()},D,w,t),W=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&amp;&amp;(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,&quot;rgb5 a1&quot;:32855,depth:33189,stencil:36168,&quot;depth stencil&quot;:34041};e.ext_srgb&amp;&amp;(s.srgba=35907),e.ext_color_buffer_half_float&amp;&amp;(s.rgba16f=34842,s.rgb16f=34843),e.webgl_color_buffer_float&amp;&amp;(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&gt;=--this.refCount&amp;&amp;o(this)},i.profile&amp;&amp;(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(&quot;object&quot;==typeof e&amp;&amp;e?(&quot;shape&quot;in e?(a=e.shape,n=0|a[0],a=0|a[1]):(&quot;radius&quot;in e&amp;&amp;(n=a=0|e.radius),&quot;width&quot;in e&amp;&amp;(n=0|e.width),&quot;height&quot;in e&amp;&amp;(a=0|e.height)),&quot;format&quot;in e&amp;&amp;(u=s[e.format])):&quot;number&quot;==typeof e?(n=0|e,a=&quot;number&quot;==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&amp;&amp;(c.stats.size=ct[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&amp;&amp;a===c.height?o:(o.width=c.width=n,o.height=c.height=a,t.bindRenderbuffer(36161,c.renderbuffer),t.renderbufferStorage(36161,c.format,n,a),i.profile&amp;&amp;(c.stats.size=ct[c.format]*c.width*c.height),o)},o._reglType=&quot;renderbuffer&quot;,o._renderbuffer=c,i.profile&amp;&amp;(o.stats=c.stats),o.destroy=function(){c.decRef()},o},clear:function(){H(u).forEach(o)},restore:function(){H(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)}}}(y,M,0,w,t),X=function(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&amp;&amp;(t=r.width,n=r.height),this.width=t,this.height=n}function s(t){t&amp;&amp;(t.texture&amp;&amp;t.texture._texture.decRef(),t.renderbuffer&amp;&amp;t.renderbuffer._renderbuffer.decRef())}function l(t,e,r){t&amp;&amp;(t.texture?t.texture._texture.refCount+=1:t.renderbuffer._renderbuffer.refCount+=1)}function c(e,r){r&amp;&amp;(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&quot;object&quot;==typeof t&amp;&amp;(i=t.data,&quot;target&quot;in t&amp;&amp;(e=0|t.target)),&quot;texture2d&quot;===(t=i._reglType)?r=i:&quot;textureCube&quot;===t?r=i:&quot;renderbuffer&quot;===t&amp;&amp;(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}),t._texture.refCount=0,new o(3553,t,null)):(t=i.create({width:t,height:e,format:a}),t._renderbuffer.refCount=0,new o(36161,null,t))}function h(t){return t&amp;&amp;(t.texture||t.renderbuffer)}function d(t,e,r){t&amp;&amp;(t.texture?t.texture.resize(e,r):t.renderbuffer&amp;&amp;t.renderbuffer.resize(e,r))}function p(){this.id=M++,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&lt;i.length;++n)c(36064+n,i[n]);for(n=i.length;n&lt;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.bindFramebuffer(36160,x.next),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 d=!0,p=&quot;rgba&quot;,g=&quot;uint8&quot;,y=1,x=null,w=null,M=null,k=!1;&quot;number&quot;==typeof t?(a=0|t,o=0|e||a):t?(&quot;shape&quot;in t?(o=t.shape,a=o[0],o=o[1]):(&quot;radius&quot;in t&amp;&amp;(a=o=t.radius),&quot;width&quot;in t&amp;&amp;(a=t.width),&quot;height&quot;in t&amp;&amp;(o=t.height)),(&quot;color&quot;in t||&quot;colors&quot;in t)&amp;&amp;(i=t.color||t.colors,Array.isArray(i)),i||(&quot;colorCount&quot;in t&amp;&amp;(y=0|t.colorCount),&quot;colorTexture&quot;in t&amp;&amp;(d=!!t.colorTexture,p=&quot;rgba4&quot;),&quot;colorType&quot;in t&amp;&amp;(g=t.colorType,!d)&amp;&amp;(&quot;half float&quot;===g||&quot;float16&quot;===g?p=&quot;rgba16f&quot;:&quot;float&quot;!==g&amp;&amp;&quot;float32&quot;!==g||(p=&quot;rgba32f&quot;)),&quot;colorFormat&quot;in t&amp;&amp;(p=t.colorFormat,0&lt;=b.indexOf(p)?d=!0:0&lt;=_.indexOf(p)&amp;&amp;(d=!1))),(&quot;depthTexture&quot;in t||&quot;depthStencilTexture&quot;in t)&amp;&amp;(k=!(!t.depthTexture&amp;&amp;!t.depthStencilTexture)),&quot;depth&quot;in t&amp;&amp;(&quot;boolean&quot;==typeof t.depth?s=t.depth:(x=t.depth,c=!1)),&quot;stencil&quot;in t&amp;&amp;(&quot;boolean&quot;==typeof t.stencil?c=t.stencil:(w=t.stencil,s=!1)),&quot;depthStencil&quot;in t&amp;&amp;(&quot;boolean&quot;==typeof t.depthStencil?s=c=t.depthStencil:(M=t.depthStencil,c=s=!1))):a=o=1;var A=null,T=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&lt;y;++i)A[i]=f(a,o,d,p,g);for(a=a||A[0].width,o=o||A[0].height,x?T=u(x):s&amp;&amp;!c&amp;&amp;(T=f(a,o,k,&quot;depth&quot;,&quot;uint32&quot;)),w?S=u(w):c&amp;&amp;!s&amp;&amp;(S=f(a,o,!1,&quot;stencil&quot;,&quot;uint8&quot;)),M?E=u(M):!x&amp;&amp;!w&amp;&amp;c&amp;&amp;s&amp;&amp;(E=f(a,o,k,&quot;depth stencil&quot;,&quot;depth stencil&quot;)),s=null,i=0;i&lt;A.length;++i)l(A[i]),A[i]&amp;&amp;A[i].texture&amp;&amp;(c=ut[A[i].texture._texture.format]*ft[A[i].texture._texture.type],null===s&amp;&amp;(s=c));return l(T),l(S),l(E),m(n),n.width=a,n.height=o,n.colorAttachments=A,n.depthAttachment=T,n.stencilAttachment=S,n.depthStencilAttachment=E,r.color=A.map(h),r.depth=h(T),r.stencil=h(S),r.depthStencil=h(E),r.width=n.width,r.height=n.height,v(n),r}var n=new p;return a.framebufferCount++,r(t,e),N(r,{resize:function(t,e){var i=0|t,a=0|e||i;if(i===n.width&amp;&amp;a===n.height)return r;for(var o=n.colorAttachments,s=0;s&lt;o.length;++s)d(o[s],i,a);return d(n.depthAttachment,i,a),d(n.stencilAttachment,i,a),d(n.depthStencilAttachment,i,a),n.width=r.width=i,n.height=r.height=a,v(n),r},_reglType:&quot;framebuffer&quot;,_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=[&quot;rgba&quot;],_=[&quot;rgba4&quot;,&quot;rgb565&quot;,&quot;rgb5 a1&quot;];e.ext_srgb&amp;&amp;_.push(&quot;srgba&quot;),e.ext_color_buffer_half_float&amp;&amp;_.push(&quot;rgba16f&quot;,&quot;rgb16f&quot;),e.webgl_color_buffer_float&amp;&amp;_.push(&quot;rgba32f&quot;);var w=[&quot;uint8&quot;];e.oes_texture_half_float&amp;&amp;w.push(&quot;half float&quot;,&quot;float16&quot;),e.oes_texture_float&amp;&amp;w.push(&quot;float&quot;,&quot;float32&quot;);var M=0,k={};return N(x,{getFramebuffer:function(t){return&quot;function&quot;==typeof t&amp;&amp;&quot;framebuffer&quot;===t._reglType&amp;&amp;(t=t._framebuffer)instanceof p?t:null},create:y,createCube:function(t){function e(t){var i,a={color:null},o=0,s=null;i=&quot;rgba&quot;;var l=&quot;uint8&quot;,c=1;if(&quot;number&quot;==typeof t?o=0|t:t?(&quot;shape&quot;in t?o=t.shape[0]:(&quot;radius&quot;in t&amp;&amp;(o=0|t.radius),&quot;width&quot;in t?o=0|t.width:&quot;height&quot;in t&amp;&amp;(o=0|t.height)),(&quot;color&quot;in t||&quot;colors&quot;in t)&amp;&amp;(s=t.color||t.colors,Array.isArray(s)),s||(&quot;colorCount&quot;in t&amp;&amp;(c=0|t.colorCount),&quot;colorType&quot;in t&amp;&amp;(l=t.colorType),&quot;colorFormat&quot;in t&amp;&amp;(i=t.colorFormat)),&quot;depth&quot;in t&amp;&amp;(a.depth=t.depth),&quot;stencil&quot;in t&amp;&amp;(a.stencil=t.stencil),&quot;depthStencil&quot;in t&amp;&amp;(a.depthStencil=t.depthStencil)):o=1,s)if(Array.isArray(s))for(t=[],i=0;i&lt;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&lt;c;++i)t[i]=n.createCube(s);for(a.color=Array(t.length),i=0;i&lt;t.length;++i)c=t[i],o=o||c.width,a.color[i]={target:34069,data:t[i]};for(i=0;6&gt;i;++i){for(c=0;c&lt;t.length;++c)a.color[c].target=34069+i;0&lt;i&amp;&amp;(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 N(e,{width:o,height:o,color:t})}var r=Array(6);return e(t),N(e,{faces:r,resize:function(t){var n=0|t;if(n===e.width)return e;var i=e.color;for(t=0;t&lt;i.length;++t)i[t].resize(n);for(t=0;6&gt;t;++t)r[t].resize(n);return e.width=e.height=n,e},_reglType:&quot;framebufferCube&quot;,destroy:function(){r.forEach(function(t){t.destroy()})}})},clear:function(){H(k).forEach(g)},restore:function(){H(k).forEach(function(e){e.framebuffer=t.createFramebuffer(),v(e)})}})}(y,M,I,G,W,w),et=F(y,_,M,I,P,O,0,X,{},C,j,{elements:null,primitive:4,count:-1,offset:0,instances:-1},D,E,t),rt=(_=S(y,X,et.procs.poll,D),et.next),nt=y.canvas,it=[],at=[],ot=[],st=[t.onDestroy],lt=null;nt&amp;&amp;(nt.addEventListener(&quot;webglcontextlost&quot;,i,!1),nt.addEventListener(&quot;webglcontextrestored&quot;,s,!1));var ht=X.setFBO=l({framebuffer:B.define.call(null,1,&quot;framebuffer&quot;)});return g(),x=N(l,{clear:function(t){if(&quot;framebuffer&quot;in t)if(t.framebuffer&amp;&amp;&quot;framebufferCube&quot;===t.framebuffer_reglType)for(var e=0;6&gt;e;++e)ht(N({framebuffer:t.framebuffer.faces[e]},t),c);else ht(t,c);else c(0,t)},prop:B.define.bind(null,1),context:B.define.bind(null,2),this:B.define.bind(null,3),draw:l({}),buffer:function(t){return P.create(t,34962,!1,!1)},elements:function(t){return O.create(t,!1)},texture:G.create2D,cube:G.createCube,renderbuffer:W.create,framebuffer:X.create,framebufferCube:X.createCube,attributes:x,frame:u,on:function(t,e){var r;switch(t){case&quot;frame&quot;:return u(e);case&quot;lost&quot;:r=at;break;case&quot;restore&quot;:r=ot;break;case&quot;destroy&quot;:r=st}return r.push(e),{cancel:function(){for(var t=0;t&lt;r.length;++t)if(r[t]===e){r[t]=r[r.length-1],r.pop();break}}}},limits:I,hasExtension:function(t){return 0&lt;=I.extensions.indexOf(t.toLowerCase())},read:_,destroy:function(){it.length=0,n(),nt&amp;&amp;(nt.removeEventListener(&quot;webglcontextlost&quot;,i),nt.removeEventListener(&quot;webglcontextrestored&quot;,s)),j.clear(),X.clear(),W.clear(),G.clear(),O.clear(),P.clear(),E&amp;&amp;E.clear(),st.forEach(function(t){t()})},_gl:y,_refresh:g,poll:function(){h(),E&amp;&amp;E.update()},now:v,stats:w}),t.onDone(null,x),x}})},{}],507:[function(t,e,r){&quot;use strict&quot;;var n,i=&quot;&quot;;e.exports=function(t,e){if(&quot;string&quot;!=typeof t)throw new TypeError(&quot;expected a string&quot;);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=&quot;&quot;;else if(i.length&gt;=r)return i.substr(0,r);for(;r&gt;i.length&amp;&amp;e&gt;1;)1&amp;e&amp;&amp;(i+=t),e&gt;&gt;=1,t+=t;return i+=t,i=i.substr(0,r)}},{}],508:[function(t,e,r){!function(t,n){&quot;object&quot;==typeof r?e.exports=n():t.resolveUrl=n()}(this,function(){return function(){var t=arguments.length;if(0===t)throw new Error(&quot;resolveUrl requires at least one argument; got none.&quot;);var e=document.createElement(&quot;base&quot;);if(e.href=arguments[0],1===t)return e.href;var r=document.getElementsByTagName(&quot;head&quot;)[0];r.insertBefore(e,r.firstChild);for(var n,i=document.createElement(&quot;a&quot;),a=1;a&lt;t;a++)i.href=arguments[a],n=i.href,e.href=n;return r.removeChild(e),n}})},{}],509:[function(t,e,r){(function(t){e.exports=t.performance&amp;&amp;t.performance.now?function(){return performance.now()}:Date.now||function(){return+new Date}}).call(this,&quot;undefined&quot;!=typeof global?global:&quot;undefined&quot;!=typeof self?self:&quot;undefined&quot;!=typeof window?window:{})},{}],510:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t){for(var e=t.length,r=t[t.length-1],n=e,i=e-2;i&gt;=0;--i){var a=r;(l=(s=t[i])-((r=a+s)-a))&amp;&amp;(t[--n]=r,r=l)}var o=0;for(i=n;i&lt;e;++i){var s,l;(l=(s=r)-((r=(a=t[i])+s)-a))&amp;&amp;(t[o++]=l)}return t[o++]=r,t.length=o,t}},{}],511:[function(t,e,r){&quot;use strict&quot;;function n(t,e){for(var r=new Array(t.length-1),n=1;n&lt;t.length;++n)for(var i=r[n-1]=new Array(t.length-1),a=0,o=0;a&lt;t.length;++a)a!==e&amp;&amp;(i[o++]=t[n][a]);return r}function i(t){return 1&amp;t?&quot;-&quot;:&quot;&quot;}function a(t){if(1===t.length)return t[0];if(2===t.length)return[&quot;sum(&quot;,t[0],&quot;,&quot;,t[1],&quot;)&quot;].join(&quot;&quot;);var e=t.length&gt;&gt;1;return[&quot;sum(&quot;,a(t.slice(0,e)),&quot;,&quot;,a(t.slice(e)),&quot;)&quot;].join(&quot;&quot;)}function o(t){if(2===t.length)return[&quot;sum(prod(&quot;,t[0][0],&quot;,&quot;,t[1][1],&quot;),prod(-&quot;,t[0][1],&quot;,&quot;,t[1][0],&quot;))&quot;].join(&quot;&quot;);for(var e=[],r=0;r&lt;t.length;++r)e.push([&quot;scale(&quot;,o(n(t,r)),&quot;,&quot;,i(r),t[0][r],&quot;)&quot;].join(&quot;&quot;));return a(e)}function s(t){return new Function(&quot;sum&quot;,&quot;scale&quot;,&quot;prod&quot;,&quot;compress&quot;,[&quot;function robustDeterminant&quot;,t,&quot;(m){return compress(&quot;,o(function(t){for(var e=new Array(t),r=0;r&lt;t;++r){e[r]=new Array(t);for(var n=0;n&lt;t;++n)e[r][n]=[&quot;m[&quot;,r,&quot;][&quot;,n,&quot;]&quot;].join(&quot;&quot;)}return e}(t)),&quot;)};return robustDeterminant&quot;,t].join(&quot;&quot;))(c,u,l,f)}var l=t(&quot;two-product&quot;),c=t(&quot;robust-sum&quot;),u=t(&quot;robust-scale&quot;),f=t(&quot;robust-compress&quot;),h=6,d=[function(){return[0]},function(t){return[t[0][0]]}];!function(){for(;d.length&lt;h;)d.push(s(d.length));for(var t=[],r=[&quot;function robustDeterminant(m){switch(m.length){&quot;],n=0;n&lt;h;++n)t.push(&quot;det&quot;+n),r.push(&quot;case &quot;,n,&quot;:return det&quot;,n,&quot;(m);&quot;);r.push(&quot;}var det=CACHE[m.length];if(!det)det=CACHE[m.length]=gen(m.length);return det(m);}return robustDeterminant&quot;),t.push(&quot;CACHE&quot;,&quot;gen&quot;,r.join(&quot;&quot;));var i=Function.apply(void 0,t);for(e.exports=i.apply(void 0,d.concat([d,s])),n=0;n&lt;d.length;++n)e.exports[n]=d[n]}()},{&quot;robust-compress&quot;:510,&quot;robust-scale&quot;:517,&quot;robust-sum&quot;:520,&quot;two-product&quot;:552}],512:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;two-product&quot;),i=t(&quot;robust-sum&quot;);e.exports=function(t,e){for(var r=n(t[0],e[0]),a=1;a&lt;t.length;++a)r=i(r,n(t[a],e[a]));return r}},{&quot;robust-sum&quot;:520,&quot;two-product&quot;:552}],513:[function(t,e,r){&quot;use strict&quot;;function n(t,e){for(var r=new Array(t.length-1),n=1;n&lt;t.length;++n)for(var i=r[n-1]=new Array(t.length-1),a=0,o=0;a&lt;t.length;++a)a!==e&amp;&amp;(i[o++]=t[n][a]);return r}function i(t){if(1===t.length)return t[0];if(2===t.length)return[&quot;sum(&quot;,t[0],&quot;,&quot;,t[1],&quot;)&quot;].join(&quot;&quot;);var e=t.length&gt;&gt;1;return[&quot;sum(&quot;,i(t.slice(0,e)),&quot;,&quot;,i(t.slice(e)),&quot;)&quot;].join(&quot;&quot;)}function a(t,e){if(&quot;m&quot;===t.charAt(0)){if(&quot;w&quot;===e.charAt(0)){var r=t.split(&quot;[&quot;);return[&quot;w&quot;,e.substr(1),&quot;m&quot;,r[0].substr(1)].join(&quot;&quot;)}return[&quot;prod(&quot;,t,&quot;,&quot;,e,&quot;)&quot;].join(&quot;&quot;)}return a(e,t)}function o(t){return!0&amp;t?&quot;-&quot;:&quot;&quot;}function s(t){if(2===t.length)return[[&quot;diff(&quot;,a(t[0][0],t[1][1]),&quot;,&quot;,a(t[1][0],t[0][1]),&quot;)&quot;].join(&quot;&quot;)];for(var e=[],r=0;r&lt;t.length;++r)e.push([&quot;scale(&quot;,i(s(n(t,r))),&quot;,&quot;,o(r),t[0][r],&quot;)&quot;].join(&quot;&quot;));return e}function l(t,e){for(var r=[],n=0;n&lt;e-2;++n)r.push([&quot;prod(m&quot;,t,&quot;[&quot;,n,&quot;],m&quot;,t,&quot;[&quot;,n,&quot;])&quot;].join(&quot;&quot;));return i(r)}function c(t){for(var e=[],r=[],a=function(t){for(var e=new Array(t),r=0;r&lt;t;++r){e[r]=new Array(t);for(var n=0;n&lt;t;++n)e[r][n]=[&quot;m&quot;,n,&quot;[&quot;,t-r-2,&quot;]&quot;].join(&quot;&quot;)}return e}(t),o=0;o&lt;t;++o)a[0][o]=&quot;1&quot;,a[t-1][o]=&quot;w&quot;+o;for(o=0;o&lt;t;++o)0==(1&amp;o)?e.push.apply(e,s(n(a,o))):r.push.apply(r,s(n(a,o)));var c=i(e),p=i(r),m=&quot;exactInSphere&quot;+t,g=[];for(o=0;o&lt;t;++o)g.push(&quot;m&quot;+o);var v=[&quot;function &quot;,m,&quot;(&quot;,g.join(),&quot;){&quot;];for(o=0;o&lt;t;++o){v.push(&quot;var w&quot;,o,&quot;=&quot;,l(o,t),&quot;;&quot;);for(var y=0;y&lt;t;++y)y!==o&amp;&amp;v.push(&quot;var w&quot;,o,&quot;m&quot;,y,&quot;=scale(w&quot;,o,&quot;,m&quot;,y,&quot;[0]);&quot;)}v.push(&quot;var p=&quot;,c,&quot;,n=&quot;,p,&quot;,d=diff(p,n);return d[d.length-1];}return &quot;,m);return new Function(&quot;sum&quot;,&quot;diff&quot;,&quot;prod&quot;,&quot;scale&quot;,v.join(&quot;&quot;))(f,h,u,d)}var u=t(&quot;two-product&quot;),f=t(&quot;robust-sum&quot;),h=t(&quot;robust-subtract&quot;),d=t(&quot;robust-scale&quot;),p=6,m=[function(){return 0},function(){return 0},function(){return 0}];!function(){for(;m.length&lt;=p;)m.push(c(m.length));for(var t=[],r=[&quot;slow&quot;],n=0;n&lt;=p;++n)t.push(&quot;a&quot;+n),r.push(&quot;o&quot;+n);var i=[&quot;function testInSphere(&quot;,t.join(),&quot;){switch(arguments.length){case 0:case 1:return 0;&quot;];for(n=2;n&lt;=p;++n)i.push(&quot;case &quot;,n,&quot;:return o&quot;,n,&quot;(&quot;,t.slice(0,n).join(),&quot;);&quot;);i.push(&quot;}var s=new Array(arguments.length);for(var i=0;i&lt;arguments.length;++i){s[i]=arguments[i]};return slow(s);}return testInSphere&quot;),r.push(i.join(&quot;&quot;));var a=Function.apply(void 0,r);for(e.exports=a.apply(void 0,[function(t){var e=m[t.length];return e||(e=m[t.length]=c(t.length)),e.apply(void 0,t)}].concat(m)),n=0;n&lt;=p;++n)e.exports[n]=m[n]}()},{&quot;robust-scale&quot;:517,&quot;robust-subtract&quot;:519,&quot;robust-sum&quot;:520,&quot;two-product&quot;:552}],514:[function(t,e,r){&quot;use strict&quot;;function n(t){for(var e=&quot;robustLinearSolve&quot;+t+&quot;d&quot;,r=[&quot;function &quot;,e,&quot;(A,b){return [&quot;],n=0;n&lt;t;++n){r.push(&quot;det([&quot;);for(var a=0;a&lt;t;++a){a&gt;0&amp;&amp;r.push(&quot;,&quot;),r.push(&quot;[&quot;);for(var o=0;o&lt;t;++o)o&gt;0&amp;&amp;r.push(&quot;,&quot;),o===n?r.push(&quot;+b[&quot;,a,&quot;]&quot;):r.push(&quot;+A[&quot;,a,&quot;][&quot;,o,&quot;]&quot;);r.push(&quot;]&quot;)}r.push(&quot;]),&quot;)}r.push(&quot;det(A)]}return &quot;,e);var s=new Function(&quot;det&quot;,r.join(&quot;&quot;));return s(t&lt;6?i[t]:i)}var i=t(&quot;robust-determinant&quot;),a=6,o=[function(){return[0]},function(t,e){return[[e[0]],[t[0][0]]]}];!function(){for(;o.length&lt;a;)o.push(n(o.length));for(var t=[],r=[&quot;function dispatchLinearSolve(A,b){switch(A.length){&quot;],i=0;i&lt;a;++i)t.push(&quot;s&quot;+i),r.push(&quot;case &quot;,i,&quot;:return s&quot;,i,&quot;(A,b);&quot;);r.push(&quot;}var s=CACHE[A.length];if(!s)s=CACHE[A.length]=g(A.length);return s(A,b)}return dispatchLinearSolve&quot;),t.push(&quot;CACHE&quot;,&quot;g&quot;,r.join(&quot;&quot;));var s=Function.apply(void 0,t);for(e.exports=s.apply(void 0,o.concat([o,n])),i=0;i&lt;a;++i)e.exports[i]=o[i]}()},{&quot;robust-determinant&quot;:511}],515:[function(t,e,r){&quot;use strict&quot;;function n(t,e){for(var r=new Array(t.length-1),n=1;n&lt;t.length;++n)for(var i=r[n-1]=new Array(t.length-1),a=0,o=0;a&lt;t.length;++a)a!==e&amp;&amp;(i[o++]=t[n][a]);return r}function i(t){return 1&amp;t?&quot;-&quot;:&quot;&quot;}function a(t){if(1===t.length)return t[0];if(2===t.length)return[&quot;sum(&quot;,t[0],&quot;,&quot;,t[1],&quot;)&quot;].join(&quot;&quot;);var e=t.length&gt;&gt;1;return[&quot;sum(&quot;,a(t.slice(0,e)),&quot;,&quot;,a(t.slice(e)),&quot;)&quot;].join(&quot;&quot;)}function o(t){if(2===t.length)return[[&quot;sum(prod(&quot;,t[0][0],&quot;,&quot;,t[1][1],&quot;),prod(-&quot;,t[0][1],&quot;,&quot;,t[1][0],&quot;))&quot;].join(&quot;&quot;)];for(var e=[],r=0;r&lt;t.length;++r)e.push([&quot;scale(&quot;,a(o(n(t,r))),&quot;,&quot;,i(r),t[0][r],&quot;)&quot;].join(&quot;&quot;));return e}function s(t){for(var e=[],r=[],i=function(t){for(var e=new Array(t),r=0;r&lt;t;++r){e[r]=new Array(t);for(var n=0;n&lt;t;++n)e[r][n]=[&quot;m&quot;,n,&quot;[&quot;,t-r-1,&quot;]&quot;].join(&quot;&quot;)}return e}(t),s=[],h=0;h&lt;t;++h)0==(1&amp;h)?e.push.apply(e,o(n(i,h))):r.push.apply(r,o(n(i,h))),s.push(&quot;m&quot;+h);var d=a(e),p=a(r),m=&quot;orientation&quot;+t+&quot;Exact&quot;,g=[&quot;function &quot;,m,&quot;(&quot;,s.join(),&quot;){var p=&quot;,d,&quot;,n=&quot;,p,&quot;,d=sub(p,n);return d[d.length-1];};return &quot;,m].join(&quot;&quot;);return new Function(&quot;sum&quot;,&quot;prod&quot;,&quot;scale&quot;,&quot;sub&quot;,g)(c,l,u,f)}var l=t(&quot;two-product&quot;),c=t(&quot;robust-sum&quot;),u=t(&quot;robust-scale&quot;),f=t(&quot;robust-subtract&quot;),h=5,d=s(3),p=s(4),m=[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&gt;0){if(a&lt;=0)return o;n=i+a}else{if(!(i&lt;0))return o;if(a&gt;=0)return o;n=-(i+a)}var s=3.3306690738754716e-16*n;return o&gt;=s||o&lt;=-s?o:d(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],h=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)+h*(y-x),_=7.771561172376103e-16*((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(h));return b&gt;_||-b&gt;_?b:p(t,e,r,n)}];!function(){for(;m.length&lt;=h;)m.push(s(m.length));for(var t=[],r=[&quot;slow&quot;],n=0;n&lt;=h;++n)t.push(&quot;a&quot;+n),r.push(&quot;o&quot;+n);var i=[&quot;function getOrientation(&quot;,t.join(),&quot;){switch(arguments.length){case 0:case 1:return 0;&quot;];for(n=2;n&lt;=h;++n)i.push(&quot;case &quot;,n,&quot;:return o&quot;,n,&quot;(&quot;,t.slice(0,n).join(),&quot;);&quot;);i.push(&quot;}var s=new Array(arguments.length);for(var i=0;i&lt;arguments.length;++i){s[i]=arguments[i]};return slow(s);}return getOrientation&quot;),r.push(i.join(&quot;&quot;));var a=Function.apply(void 0,r);for(e.exports=a.apply(void 0,[function(t){var e=m[t.length];return e||(e=m[t.length]=s(t.length)),e.apply(void 0,t)}].concat(m)),n=0;n&lt;=h;++n)e.exports[n]=m[n]}()},{&quot;robust-scale&quot;:517,&quot;robust-subtract&quot;:519,&quot;robust-sum&quot;:520,&quot;two-product&quot;:552}],516:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;robust-sum&quot;),i=t(&quot;robust-scale&quot;);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&lt;e.length)for(var a=0;a&lt;t.length;++a)r=n(r,i(e,t[a]));else for(a=0;a&lt;e.length;++a)r=n(r,i(t,e[a]));return r}},{&quot;robust-scale&quot;:517,&quot;robust-sum&quot;:520}],517:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;two-product&quot;),i=t(&quot;two-sum&quot;);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]&amp;&amp;(o[c++]=s[0]);for(var u=1;u&lt;r;++u){n(t[u],e,l);var f=s[1];i(f,l[0],s),s[0]&amp;&amp;(o[c++]=s[0]);var h=l[1],d=s[1],p=h+d,m=d-(p-h);s[1]=p,m&amp;&amp;(o[c++]=m)}return s[1]&amp;&amp;(o[c++]=s[1]),0===c&amp;&amp;(o[c++]=0),o.length=c,o}},{&quot;two-product&quot;:552,&quot;two-sum&quot;:553}],518:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t,e,r,i){var a=n(t,r,i),o=n(e,r,i);if(a&gt;0&amp;&amp;o&gt;0||a&lt;0&amp;&amp;o&lt;0)return!1;var s=n(r,t,e),l=n(i,t,e);return!(s&gt;0&amp;&amp;l&gt;0||s&lt;0&amp;&amp;l&lt;0)&amp;&amp;(0!==a||0!==o||0!==s||0!==l||function(t,e,r,n){for(var i=0;i&lt;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)&lt;s||l&lt;f)return!1}return!0}(t,e,r,i))};var n=t(&quot;robust-orientation&quot;)[3]},{&quot;robust-orientation&quot;:515}],519:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t,e){var r=0|t.length,n=0|e.length;if(1===r&amp;&amp;1===n)return function(t,e){var r=t+e,n=r-t,i=t-(r-n)+(e-n);return i?[i,r]:[r]}(t[0],-e[0]);var i,a,o=r+n,s=new Array(o),l=0,c=0,u=0,f=Math.abs,h=t[c],d=f(h),p=-e[u],m=f(p);d&lt;m?(a=h,(c+=1)&lt;r&amp;&amp;(d=f(h=t[c]))):(a=p,(u+=1)&lt;n&amp;&amp;(m=f(p=-e[u]))),c&lt;r&amp;&amp;d&lt;m||u&gt;=n?(i=h,(c+=1)&lt;r&amp;&amp;(d=f(h=t[c]))):(i=p,(u+=1)&lt;n&amp;&amp;(m=f(p=-e[u])));for(var g,v,y=i+a,x=y-i,b=a-x,_=b,w=y;c&lt;r&amp;&amp;u&lt;n;)d&lt;m?(i=h,(c+=1)&lt;r&amp;&amp;(d=f(h=t[c]))):(i=p,(u+=1)&lt;n&amp;&amp;(m=f(p=-e[u]))),(b=(a=_)-(x=(y=i+a)-i))&amp;&amp;(s[l++]=b),_=w-((g=w+y)-(v=g-w))+(y-v),w=g;for(;c&lt;r;)(b=(a=_)-(x=(y=(i=h)+a)-i))&amp;&amp;(s[l++]=b),_=w-((g=w+y)-(v=g-w))+(y-v),w=g,(c+=1)&lt;r&amp;&amp;(h=t[c]);for(;u&lt;n;)(b=(a=_)-(x=(y=(i=p)+a)-i))&amp;&amp;(s[l++]=b),_=w-((g=w+y)-(v=g-w))+(y-v),w=g,(u+=1)&lt;n&amp;&amp;(p=-e[u]);return _&amp;&amp;(s[l++]=_),w&amp;&amp;(s[l++]=w),l||(s[l++]=0),s.length=l,s}},{}],520:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t,e){var r=0|t.length,n=0|e.length;if(1===r&amp;&amp;1===n)return function(t,e){var r=t+e,n=r-t,i=t-(r-n)+(e-n);return i?[i,r]:[r]}(t[0],e[0]);var i,a,o=r+n,s=new Array(o),l=0,c=0,u=0,f=Math.abs,h=t[c],d=f(h),p=e[u],m=f(p);d&lt;m?(a=h,(c+=1)&lt;r&amp;&amp;(d=f(h=t[c]))):(a=p,(u+=1)&lt;n&amp;&amp;(m=f(p=e[u]))),c&lt;r&amp;&amp;d&lt;m||u&gt;=n?(i=h,(c+=1)&lt;r&amp;&amp;(d=f(h=t[c]))):(i=p,(u+=1)&lt;n&amp;&amp;(m=f(p=e[u])));for(var g,v,y=i+a,x=y-i,b=a-x,_=b,w=y;c&lt;r&amp;&amp;u&lt;n;)d&lt;m?(i=h,(c+=1)&lt;r&amp;&amp;(d=f(h=t[c]))):(i=p,(u+=1)&lt;n&amp;&amp;(m=f(p=e[u]))),(b=(a=_)-(x=(y=i+a)-i))&amp;&amp;(s[l++]=b),_=w-((g=w+y)-(v=g-w))+(y-v),w=g;for(;c&lt;r;)(b=(a=_)-(x=(y=(i=h)+a)-i))&amp;&amp;(s[l++]=b),_=w-((g=w+y)-(v=g-w))+(y-v),w=g,(c+=1)&lt;r&amp;&amp;(h=t[c]);for(;u&lt;n;)(b=(a=_)-(x=(y=(i=p)+a)-i))&amp;&amp;(s[l++]=b),_=w-((g=w+y)-(v=g-w))+(y-v),w=g,(u+=1)&lt;n&amp;&amp;(p=e[u]);return _&amp;&amp;(s[l++]=_),w&amp;&amp;(s[l++]=w),l||(s[l++]=0),s.length=l,s}},{}],521:[function(t,e,r){!function(t,n){&quot;object&quot;==typeof r&amp;&amp;void 0!==e?e.exports=n():t.ShelfPack=n()}(this,function(){function t(t,e,r){r=r||{},this.w=t||64,this.h=e||64,this.autoResize=!!r.autoResize,this.shelves=[],this.stats={},this.count=function(t){this.stats[t]=1+(0|this.stats[t])}}function e(t,e,r){this.x=0,this.y=t,this.w=this.free=e,this.h=r}return t.prototype.pack=function(t,e){t=[].concat(t),e=e||{};for(var r,n,i,a=[],o=0;o&lt;t.length;o++)if(r=t[o].w||t[o].width,n=t[o].h||t[o].height,r&amp;&amp;n){if(!(i=this.packOne(r,n)))continue;e.inPlace&amp;&amp;(t[o].x=i.x,t[o].y=i.y),a.push(i)}if(this.shelves.length&gt;0){for(var s=0,l=0,c=0;c&lt;this.shelves.length;c++){var u=this.shelves[c];l+=u.h,s=Math.max(u.w-u.free,s)}this.resize(s,l)}return a},t.prototype.packOne=function(t,r){for(var n,i,a=0,o={shelf:-1,waste:1/0},s=0;s&lt;this.shelves.length;s++){if(n=this.shelves[s],a+=n.h,r===n.h&amp;&amp;t&lt;=n.free)return this.count(r),n.alloc(t,r);r&gt;n.h||t&gt;n.free||r&lt;n.h&amp;&amp;t&lt;=n.free&amp;&amp;(i=n.h-r)&lt;o.waste&amp;&amp;(o.waste=i,o.shelf=s)}if(-1!==o.shelf)return n=this.shelves[o.shelf],this.count(r),n.alloc(t,r);if(r&lt;=this.h-a&amp;&amp;t&lt;=this.w)return n=new e(a,this.w,r),this.shelves.push(n),this.count(r),n.alloc(t,r);if(this.autoResize){var l,c,u,f;return l=c=this.h,((u=f=this.w)&lt;=l||t&gt;u)&amp;&amp;(f=2*Math.max(t,u)),(l&lt;u||r&gt;l)&amp;&amp;(c=2*Math.max(r,l)),this.resize(f,c),this.packOne(t,r)}return null},t.prototype.clear=function(){this.shelves=[],this.stats={}},t.prototype.resize=function(t,e){this.w=t,this.h=e;for(var r=0;r&lt;this.shelves.length;r++)this.shelves[r].resize(t);return!0},e.prototype.alloc=function(t,e){if(t&gt;this.free||e&gt;this.h)return null;var r=this.x;return this.x+=t,this.free-=t,{x:r,y:this.y,w:t,h:e,width:t,height:e}},e.prototype.resize=function(t){return this.free+=t-this.w,this.w=t,!0},t})},{}],522:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t){return t&lt;0?-1:t&gt;0?1:0}},{}],523:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t){return i(n(t))};var n=t(&quot;boundary-cells&quot;),i=t(&quot;reduce-simplicial-complex&quot;)},{&quot;boundary-cells&quot;:74,&quot;reduce-simplicial-complex&quot;:499}],524:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t,e,r,s){if(r=r||0,void 0===s&amp;&amp;(s=function(t){for(var e=t.length,r=0,n=0;n&lt;e;++n)r=0|Math.max(r,t[n].length);return r-1}(t)),0===t.length||s&lt;1)return{cells:[],vertexIds:[],vertexWeights:[]};var l=function(t,e){for(var r=t.length,n=i.mallocUint8(r),a=0;a&lt;r;++a)n[a]=t[a]&lt;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&lt;r;++c)for(var u=t[c],f=(e=u.length,0);f&lt;e;++f)for(var h=0;h&lt;f;++h){var d=u[h],p=u[f];s[l++]=0|Math.min(d,p),s[l++]=0|Math.max(d,p)}a(n(s,[l/2|0,2]));var m=2;for(c=2;c&lt;l;c+=2)s[c-2]===s[c]&amp;&amp;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&lt;s;++u){var f=o[2*u],h=o[2*u+1];if(r[f]!==r[h]){var d=e[f],p=e[h];o[2*c]=f,o[2*c+1]=h,l[c++]=(p-a)/(p-d)}}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&lt;n;++s){var l=a[2*s];if(l!==o){for(r[2*o+1]=s;++o&lt;l;)r[2*o]=s,r[2*o+1]=s;r[2*o]=s}}for(r[2*o+1]=n;++o&lt;e;)r[2*o]=r[2*o+1]=n;return r}(c,0|e.length),h=o(s)(t,c.data,f,l),d=function(t){for(var e=0|t.shape[0],r=t.data,n=new Array(e),i=0;i&lt;e;++i)n[i]=[r[2*i],r[2*i+1]];return n}(c),p=[].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:d,vertexWeights:p}};var n=t(&quot;ndarray&quot;),i=t(&quot;typedarray-pool&quot;),a=t(&quot;ndarray-sort&quot;),o=t(&quot;./lib/codegen&quot;)},{&quot;./lib/codegen&quot;:525,ndarray:458,&quot;ndarray-sort&quot;:456,&quot;typedarray-pool&quot;:554}],525:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t){var e=a[t];return e||(e=a[t]=function(t){function e(t){if(!(t.length&lt;=0)){c.push(&quot;R.push(&quot;);for(var e=0;e&lt;t.length;++e){var r=t[e];e&gt;0&amp;&amp;c.push(&quot;,&quot;),c.push(&quot;[&quot;);for(var n=0;n&lt;r.length;++n){var i=r[n];n&gt;0&amp;&amp;c.push(&quot;,&quot;),c.push(&quot;B(C,E,c[&quot;,i[0],&quot;],c[&quot;,i[1],&quot;])&quot;)}c.push(&quot;]&quot;)}c.push(&quot;);&quot;)}}var r=0,a=new Array(t+1);a[0]=[[]];for(var o=1;o&lt;=t;++o)for(var s=a[o]=i(o),l=0;l&lt;s.length;++l)r=Math.max(r,s[o].length);var c=[&quot;function B(C,E,i,j){&quot;,&quot;var a=Math.min(i,j)|0,b=Math.max(i,j)|0,l=C[2*a],h=C[2*a+1];&quot;,&quot;while(l&lt;h){&quot;,&quot;var m=(l+h)&gt;&gt;1,v=E[2*m+1];&quot;,&quot;if(v===b){return m}&quot;,&quot;if(b&lt;v){h=m}else{l=m+1}&quot;,&quot;}&quot;,&quot;return l;&quot;,&quot;};&quot;,&quot;function getContour&quot;,t,&quot;d(F,E,C,S){&quot;,&quot;var n=F.length,R=[];&quot;,&quot;for(var i=0;i&lt;n;++i){var c=F[i],l=c.length;&quot;];for(o=t+1;o&gt;1;--o){o&lt;t+1&amp;&amp;c.push(&quot;else &quot;),c.push(&quot;if(l===&quot;,o,&quot;){&quot;);var u=[];for(l=0;l&lt;o;++l)u.push(&quot;(S[c[&quot;+l+&quot;]]&lt;&lt;&quot;+l+&quot;)&quot;);for(c.push(&quot;var M=&quot;,u.join(&quot;+&quot;),&quot;;if(M===0||M===&quot;,(1&lt;&lt;o)-1,&quot;){continue}switch(M){&quot;),s=a[o-1],l=0;l&lt;s.length;++l)c.push(&quot;case &quot;,l,&quot;:&quot;),e(s[l]),c.push(&quot;break;&quot;);c.push(&quot;}}&quot;)}return c.push(&quot;}return R;};return getContour&quot;,t,&quot;d&quot;),new Function(&quot;pool&quot;,c.join(&quot;&quot;))(n)}(t)),e};var n=t(&quot;typedarray-pool&quot;),i=t(&quot;marching-simplex-table&quot;),a={}},{&quot;marching-simplex-table&quot;:436,&quot;typedarray-pool&quot;:554}],526:[function(t,e,r){&quot;use strict&quot;;&quot;use restrict&quot;;function n(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&lt;r;++h)if(n=u[h]-f[h])return n;return 0}}function i(t,e){return n(t[0],e[0])}function a(t,e){if(e){for(var r=t.length,a=new Array(r),o=0;o&lt;r;++o)a[o]=[t[o],e[o]];a.sort(i);for(o=0;o&lt;r;++o)t[o]=a[o][0],e[o]=a[o][1];return t}return t.sort(n),t}function o(t){if(0===t.length)return[];for(var e=1,r=t.length,i=1;i&lt;r;++i){var a=t[i];if(n(a,t[i-1])){if(i===e){e++;continue}t[e++]=a}}return t.length=e,t}function s(t,e){for(var r=0,i=t.length-1,a=-1;r&lt;=i;){var o=r+i&gt;&gt;1,s=n(t[o],e);s&lt;=0?(0===s&amp;&amp;(a=o),r=o+1):s&gt;0&amp;&amp;(i=o-1)}return a}function l(t,e){for(var r=new Array(t.length),i=0,a=r.length;i&lt;a;++i)r[i]=[];for(var o=[],l=(i=0,e.length);i&lt;l;++i)for(var c=e[i],f=c.length,h=1,d=1&lt;&lt;f;h&lt;d;++h){o.length=u.popCount(h);for(var p=0,m=0;m&lt;f;++m)h&amp;1&lt;&lt;m&amp;&amp;(o[p++]=c[m]);var g=s(t,o);if(!(g&lt;0))for(;r[g++].push(i),!(g&gt;=t.length||0!==n(t[g],o)););}return r}function c(t,e){if(e&lt;0)return[];for(var r=[],n=(1&lt;&lt;e+1)-1,i=0;i&lt;t.length;++i)for(var o=t[i],s=n;s&lt;1&lt;&lt;o.length;s=u.nextCombination(s)){for(var l=new Array(e+1),c=0,f=0;f&lt;o.length;++f)s&amp;1&lt;&lt;f&amp;&amp;(l[c++]=o[f]);r.push(l)}return a(r)}var u=t(&quot;bit-twiddle&quot;),f=t(&quot;union-find&quot;);r.dimension=function(t){for(var e=0,r=Math.max,n=0,i=t.length;n&lt;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&lt;i;++n)for(var a=t[n],o=0,s=a.length;o&lt;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&lt;n;++r)e[r]=t[r].slice(0);return e},r.compareCells=n,r.normalize=a,r.unique=o,r.findCell=s,r.incidence=l,r.dual=function(t,e){if(!e)return l(o(c(t,0)),t);for(var r=new Array(e),n=0;n&lt;e;++n)r[n]=[];n=0;for(var i=t.length;n&lt;i;++n)for(var a=t[n],s=0,u=a.length;s&lt;u;++s)r[a[s]].push(n);return r},r.explode=function(t){for(var e=[],r=0,n=t.length;r&lt;n;++r)for(var i=t[r],o=0|i.length,s=1,l=1&lt;&lt;o;s&lt;l;++s){for(var c=[],u=0;u&lt;o;++u)s&gt;&gt;&gt;u&amp;1&amp;&amp;c.push(i[u]);e.push(c)}return a(e)},r.skeleton=c,r.boundary=function(t){for(var e=[],r=0,n=t.length;r&lt;n;++r)for(var i=t[r],o=0,s=i.length;o&lt;s;++o){for(var l=new Array(i.length-1),c=0,u=0;c&lt;s;++c)c!==o&amp;&amp;(l[u++]=i[c]);e.push(l)}return a(e)},r.connectedComponents=function(t,e){return e?function(t,e){for(var r=new f(e),n=0;n&lt;t.length;++n)for(var i=t[n],a=0;a&lt;i.length;++a)for(var o=a+1;o&lt;i.length;++o)r.link(i[a],i[o]);var s=[],l=r.ranks;for(n=0;n&lt;l.length;++n)l[n]=-1;for(n=0;n&lt;t.length;++n){var c=r.find(t[n][0]);l[c]&lt;0?(l[c]=s.length,s.push([t[n].slice(0)])):s[l[c]].push(t[n].slice(0))}return s}(t,e):function(t){for(var e=o(a(c(t,0))),r=new f(e.length),n=0;n&lt;t.length;++n)for(var i=t[n],l=0;l&lt;i.length;++l)for(var u=s(e,[i[l]]),h=l+1;h&lt;i.length;++h)r.link(u,s(e,[i[h]]));var d=[],p=r.ranks;for(n=0;n&lt;p.length;++n)p[n]=-1;for(n=0;n&lt;t.length;++n){var m=r.find(s(e,[t[n][0]]));p[m]&lt;0?(p[m]=d.length,d.push([t[n].slice(0)])):d[p[m]].push(t[n].slice(0))}return d}(t)}},{&quot;bit-twiddle&quot;:71,&quot;union-find&quot;:555}],527:[function(t,e,r){arguments[4][71][0].apply(r,arguments)},{dup:71}],528:[function(t,e,r){arguments[4][526][0].apply(r,arguments)},{&quot;bit-twiddle&quot;:527,dup:526,&quot;union-find&quot;:529}],529:[function(t,e,r){&quot;use strict&quot;;&quot;use restrict&quot;;function n(t){this.roots=new Array(t),this.ranks=new Array(t);for(var e=0;e&lt;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&lt;s?a[r]=n:s&lt;o?a[n]=r:(a[n]=r,++i[r])}}},{}],530:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t,e,r){function a(t){if(b[t])return 1/0;var r=v[t],i=y[t];return r&lt;0||i&lt;0?1/0:function(t,e,r){return Math.abs(n(t,e,r))/Math.sqrt(Math.pow(e[0]-r[0],2)+Math.pow(e[1]-r[1],2))}(e[t],e[r],e[i])}function o(t,e){var r=A[t],n=A[e];A[t]=n,A[e]=r,T[r]=e,T[n]=t}function s(t){return x[A[t]]}function l(t){return 1&amp;t?t-1&gt;&gt;1:(t&gt;&gt;1)-1}function c(t){for(var e=s(t);;){var r=e,n=2*t+1,i=2*(t+1),a=t;if(n&lt;S){var l=s(n);l&lt;r&amp;&amp;(a=n,r=l)}if(i&lt;S&amp;&amp;s(i)&lt;r&amp;&amp;(a=i),a===t)return t;o(t,a),t=a}}function u(t){for(var e=s(t);t&gt;0;){var r=l(t);if(!(r&gt;=0&amp;&amp;e&lt;s(r)))return t;o(t,r),t=r}}function f(){if(S&gt;0){var t=A[0];return o(0,S-1),S-=1,c(0),t}return-1}function h(t,e){var r=A[t];return x[r]===e?t:(x[r]=-1/0,u(t),f(),x[r]=e,S+=1,u(S-1))}function d(t){if(!b[t]){b[t]=!0;var e=v[t],r=y[t];v[r]&gt;=0&amp;&amp;(v[r]=e),y[e]&gt;=0&amp;&amp;(y[e]=r),T[e]&gt;=0&amp;&amp;h(T[e],a(e)),T[r]&gt;=0&amp;&amp;h(T[r],a(r))}}function p(t,e){if(t[e]&lt;0)return e;var r=e,n=e;do{var i=t[n];if(!b[n]||i&lt;0||i===n)break;if(n=i,i=t[n],!b[n]||i&lt;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}for(var m=e.length,g=t.length,v=new Array(m),y=new Array(m),x=new Array(m),b=new Array(m),_=0;_&lt;m;++_)v[_]=y[_]=-1,x[_]=1/0,b[_]=!1;for(_=0;_&lt;g;++_){var w=t[_];if(2!==w.length)throw new Error(&quot;Input must be a graph&quot;);var M=w[1],k=w[0];-1!==y[k]?y[k]=-2:y[k]=M,-1!==v[M]?v[M]=-2:v[M]=k}var A=[],T=new Array(m);for(_=0;_&lt;m;++_)(x[_]=a(_))&lt;1/0?(T[_]=A.length,A.push(_)):T[_]=-1;var S=A.length;for(_=S&gt;&gt;1;_&gt;=0;--_)c(_);for(;;){var E=f();if(E&lt;0||x[E]&gt;r)break;d(E)}var L=[];for(_=0;_&lt;m;++_)b[_]||(T[_]=L.length,L.push(e[_].slice()));L.length;var C=[];return t.forEach(function(t){var e=p(v,t[0]),r=p(y,t[1]);if(e&gt;=0&amp;&amp;r&gt;=0&amp;&amp;e!==r){var n=T[e],i=T[r];n!==i&amp;&amp;C.push([n,i])}}),i.unique(i.normalize(C)),{positions:L,edges:C}};var n=t(&quot;robust-orientation&quot;),i=t(&quot;simplicial-complex&quot;)},{&quot;robust-orientation&quot;:515,&quot;simplicial-complex&quot;:528}],531:[function(t,e,r){&quot;use strict&quot;;function n(t,e){var r,n;if(e[0][0]&lt;e[1][0])r=e[0],n=e[1];else{if(!(e[0][0]&gt;e[1][0])){var a=Math.min(t[0][1],t[1][1]),o=Math.max(t[0][1],t[1][1]),s=Math.min(e[0][1],e[1][1]),l=Math.max(e[0][1],e[1][1]);return o&lt;s?o-s:a&gt;l?a-l:o-l}r=e[1],n=e[0]}var c,u;t[0][1]&lt;t[1][1]?(c=t[0],u=t[1]):(c=t[1],u=t[0]);var f=i(n,r,c);return f||((f=i(n,r,u))||u-n)}e.exports=function(t,e){var r,a;if(e[0][0]&lt;e[1][0])r=e[0],a=e[1];else{if(!(e[0][0]&gt;e[1][0]))return n(e,t);r=e[1],a=e[0]}var o,s;if(t[0][0]&lt;t[1][0])o=t[0],s=t[1];else{if(!(t[0][0]&gt;t[1][0]))return-n(t,e);o=t[1],s=t[0]}var l=i(r,a,s),c=i(r,a,o);if(l&lt;0){if(c&lt;=0)return l}else if(l&gt;0){if(c&gt;=0)return l}else if(c)return c;if(l=i(s,o,a),c=i(s,o,r),l&lt;0){if(c&lt;=0)return l}else if(l&gt;0){if(c&gt;=0)return l}else if(c)return c;return a[0]-s[0]};var i=t(&quot;robust-orientation&quot;)},{&quot;robust-orientation&quot;:515}],532:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r){this.slabs=t,this.coordinates=e,this.horizontal=r}function i(t,e){return t.y-e}function a(t,e){for(var r=null;t;){var n,i,o=t.key;o[0][0]&lt;o[1][0]?(n=o[0],i=o[1]):(n=o[1],i=o[0]);var s=u(n,i,e);if(s&lt;0)t=t.left;else if(s&gt;0)if(e[0]!==o[1][0])r=t,t=t.right;else{if(l=a(t.right,e))return l;t=t.left}else{if(e[0]!==o[1][0])return t;var l;if(l=a(t.right,e))return l;t=t.left}}return r}function o(t,e,r,n){this.y=t,this.index=e,this.start=r,this.closed=n}function s(t,e,r,n){this.x=t,this.segment=e,this.create=r,this.index=n}e.exports=function(t){for(var e=t.length,r=2*e,i=new Array(r),a=0;a&lt;e;++a){var l=t[a],u=l[0][0]&lt;l[1][0];i[2*a]=new s(l[0][0],l,u,a),i[2*a+1]=new s(l[1][0],l,!u,a)}i.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=c(f),d=[],p=[],m=[];for(a=0;a&lt;r;){for(var g=i[a].x,v=[];a&lt;r;){var y=i[a];if(y.x!==g)break;a+=1,y.segment[0][0]===y.x&amp;&amp;y.segment[1][0]===y.x?y.create&amp;&amp;(y.segment[0][1]&lt;y.segment[1][1]?(v.push(new o(y.segment[0][1],y.index,!0,!0)),v.push(new o(y.segment[1][1],y.index,!1,!1))):(v.push(new o(y.segment[1][1],y.index,!0,!1)),v.push(new o(y.segment[0][1],y.index,!1,!0)))):h=y.create?h.insert(y.segment,y.index):h.remove(y.segment)}d.push(h.root),p.push(g),m.push(v)}return new n(d,p,m)};var l=t(&quot;binary-search-bounds&quot;),c=t(&quot;functional-red-black-tree&quot;),u=t(&quot;robust-orientation&quot;),f=t(&quot;./lib/order-segments&quot;);n.prototype.castUp=function(t){var e=l.le(this.coordinates,t[0]);if(e&lt;0)return-1;this.slabs[e];var r=a(this.slabs[e],t),n=-1;if(r&amp;&amp;(n=r.value),this.coordinates[e]===t[0]){var o=null;if(r&amp;&amp;(o=r.key),e&gt;0){var s=a(this.slabs[e-1],t);s&amp;&amp;(o?f(s.key,o)&gt;0&amp;&amp;(o=s.key,n=s.value):(n=s.value,o=s.key))}var c=this.horizontal[e];if(c.length&gt;0){var h=l.ge(c,t[1],i);if(h&lt;c.length){var d=c[h];if(t[1]===d.y){if(d.closed)return d.index;for(;h&lt;c.length-1&amp;&amp;c[h+1].y===t[1];)if(h+=1,(d=c[h]).closed)return d.index;if(d.y===t[1]&amp;&amp;!d.start){if((h+=1)&gt;=c.length)return n;d=c[h]}}if(d.start)if(o){var p=u(o[0],o[1],[t[0],d.y]);o[0][0]&gt;o[1][0]&amp;&amp;(p=-p),p&gt;0&amp;&amp;(n=d.index)}else n=d.index;else d.y!==t[1]&amp;&amp;(n=d.index)}}}return n}},{&quot;./lib/order-segments&quot;:531,&quot;binary-search-bounds&quot;:70,&quot;functional-red-black-tree&quot;:144,&quot;robust-orientation&quot;:515}],533:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,n,i,a){for(var o=t+1;o&lt;=e;++o){for(var s=r[o],l=n[2*o],c=n[2*o+1],u=i[o],f=a[o],h=o;h&gt;t;){var d=r[h-1],p=n[2*(h-1)];if((d-s||l-p)&gt;=0)break;r[h]=d,n[2*h]=p,n[2*h+1]=n[2*h-1],i[h]=i[h-1],a[h]=a[h-1],h-=1}r[h]=s,n[2*h]=l,n[2*h+1]=c,i[h]=u,a[h]=f}}function i(t,e,r,n,i,a){var o=r[t],s=n[2*t],l=n[2*t+1],c=i[t],u=a[t];r[t]=r[e],n[2*t]=n[2*e],n[2*t+1]=n[2*e+1],i[t]=i[e],a[t]=a[e],r[e]=o,n[2*e]=s,n[2*e+1]=l,i[e]=c,a[e]=u}function a(t,e,r,n,i,a){r[t]=r[e],n[2*t]=n[2*e],n[2*t+1]=n[2*e+1],i[t]=i[e],a[t]=a[e]}function o(t,e,r,n,i,a,o){var s=n[t],l=i[2*t],c=i[2*t+1],u=a[t],f=o[t];n[t]=n[e],i[2*t]=i[2*e],i[2*t+1]=i[2*e+1],a[t]=a[e],o[t]=o[e],n[e]=n[r],i[2*e]=i[2*r],i[2*e+1]=i[2*r+1],a[e]=a[r],o[e]=o[r],n[r]=s,i[2*r]=l,i[2*r+1]=c,a[r]=u,o[r]=f}function s(t,e,r,n,i,a,o,s,l,c,u){s[t]=s[e],l[2*t]=l[2*e],l[2*t+1]=l[2*e+1],c[t]=c[e],u[t]=u[e],s[e]=r,l[2*e]=n,l[2*e+1]=i,c[e]=a,u[e]=o}function l(t,e,r,n,i){return(r[t]-r[e]||n[2*e]-n[2*t]||i[t]-i[e])&lt;0}function c(t,e,r,n,i,a,o,s){return(e-a[t]||o[2*t]-r||i-s[t])&lt;0}function u(t,e,r,h,d,p){var m=(e-t+1)/6|0,g=t+m,v=e-m,y=t+e&gt;&gt;1,x=y-m,b=y+m,_=g,w=x,M=y,k=b,A=v,T=t+1,S=e-1,E=0;l(_,w,r,h,d)&amp;&amp;(E=_,_=w,w=E),l(k,A,r,h,d)&amp;&amp;(E=k,k=A,A=E),l(_,M,r,h,d)&amp;&amp;(E=_,_=M,M=E),l(w,M,r,h,d)&amp;&amp;(E=w,w=M,M=E),l(_,k,r,h,d)&amp;&amp;(E=_,_=k,k=E),l(M,k,r,h,d)&amp;&amp;(E=M,M=k,k=E),l(w,A,r,h,d)&amp;&amp;(E=w,w=A,A=E),l(w,M,r,h,d)&amp;&amp;(E=w,w=M,M=E),l(k,A,r,h,d)&amp;&amp;(E=k,k=A,A=E);var L=r[w],C=h[2*w],z=h[2*w+1],D=d[w],I=p[w],P=r[k],O=h[2*k],F=h[2*k+1],R=d[k],N=p[k],j=_,B=M,U=A,V=g,q=y,H=v,G=r[j],Y=r[B],W=r[U];r[V]=G,r[q]=Y,r[H]=W;for(var X=0;X&lt;2;++X){var Z=h[2*j+X],J=h[2*B+X],K=h[2*U+X];h[2*V+X]=Z,h[2*q+X]=J,h[2*H+X]=K}var Q=d[j],$=d[B],tt=d[U];d[V]=Q,d[q]=$,d[H]=tt;var et=p[j],rt=p[B],nt=p[U];p[V]=et,p[q]=rt,p[H]=nt,a(x,t,r,h,d,p),a(b,e,r,h,d,p);for(var it=T;it&lt;=S;++it)if(c(it,L,C,0,D,r,h,d))it!==T&amp;&amp;i(it,T,r,h,d,p),++T;else if(!c(it,P,O,0,R,r,h,d))for(;;){if(c(S,P,O,0,R,r,h,d)){c(S,L,C,0,D,r,h,d)?(o(it,T,S,r,h,d,p),++T,--S):(i(it,S,r,h,d,p),--S);break}if(--S&lt;it)break}s(t,T-1,L,C,z,D,I,r,h,d,p),s(e,S+1,P,O,F,R,N,r,h,d,p),T-2-t&lt;=f?n(t,T-2,r,h,d,p):u(t,T-2,r,h,d,p),e-(S+2)&lt;=f?n(S+2,e,r,h,d,p):u(S+2,e,r,h,d,p),S-T&lt;=f?n(T,S,r,h,d,p):u(T,S,r,h,d,p)}e.exports=function(t,e,r,i,a){a&lt;=4*f?n(0,a-1,t,e,r,i):u(0,a-1,t,e,r,i)};var f=32},{}],534:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,n,i,a,o,s){for(var l=r,c=r;c&lt;n;++c){var u=t[2*c],f=t[2*c+1],h=e[c];i&lt;=u&amp;&amp;u&lt;=o&amp;&amp;a&lt;=f&amp;&amp;f&lt;=s&amp;&amp;(c===l?l+=1:(t[2*c]=t[2*l],t[2*c+1]=t[2*l+1],e[c]=e[l],t[2*l]=u,t[2*l+1]=f,e[l]=h,l+=1))}return l}function i(t,e,r){this.pixelSize=t,this.offset=e,this.count=r}var a=t(&quot;./lib/sort&quot;),o=t(&quot;array-bounds&quot;);e.exports=function(t,e,r,s){function l(i,a,o,s,c,u){var f=.5*o,h=s+1,d=c-s;r[b]=d,x[b++]=u;for(var p=0;p&lt;2;++p)for(var m=0;m&lt;2;++m){var g=i+p*f,v=a+m*f,y=n(t,e,h,c,g,v,g+f,v+f);if(y!==h){if(y-h&gt;=Math.max(.9*d,32)){var _=c+s&gt;&gt;&gt;1;l(g,v,f,h,_,u+1),h=_}l(g,v,f,h,y,u+1),h=y}}}var c=t.length&gt;&gt;&gt;1;if(c&lt;1)return[];e||(e=Array(c)),r||(r=Array(c)),s||(s=[]);for(var u=0;u&lt;c;++u)e[u]=u;if(!s.length||s.length&lt;4||s[0]&gt;=s[2]||s[1]&gt;=s[3]){var f=o(t,2);f[0]===f[2]&amp;&amp;(f[2]+=1),f[1]===f[3]&amp;&amp;(f[3]+=1),s[0]=f[0],s[1]=f[1],s[2]=f[2],s[3]=f[3]}var h=s[0],d=s[1],p=s[2],m=s[3],g=1/(p-h),v=1/(m-d),y=Math.max(p-h,m-d),x=new Int32Array(c),b=0;l(h,d,y,0,c,0),a(x,t,e,r,c);var _=[],w=0,M=c;for(b=c-1;b&gt;=0;--b){t[2*b]=(t[2*b]-h)*g,t[2*b+1]=(t[2*b+1]-d)*v;var k=x[b];k!==w&amp;&amp;(_.push(new i(y*Math.pow(.5,k),b+1,M-(b+1))),M=b+1,w=k)}return _.push(new i(y*Math.pow(.5,k+1),0,M)),_}},{&quot;./lib/sort&quot;:533,&quot;array-bounds&quot;:48}],535:[function(t,e,r){&quot;use strict&quot;;function n(t,e){var r=o(a(t,e),[e[e.length-1]]);return r[r.length-1]}function i(t,e,r,n){var i=-e/(n-e);i&lt;0?i=0:i&gt;1&amp;&amp;(i=1);for(var a=1-i,o=t.length,s=new Array(o),l=0;l&lt;o;++l)s[l]=i*t[l]+a*r[l];return s}var a=t(&quot;robust-dot-product&quot;),o=t(&quot;robust-sum&quot;);e.exports=function(t,e){for(var r=[],a=[],o=n(t[t.length-1],e),s=t[t.length-1],l=t[0],c=0;c&lt;t.length;++c,s=l){var u=n(l=t[c],e);if(o&lt;0&amp;&amp;u&gt;0||o&gt;0&amp;&amp;u&lt;0){var f=i(s,u,l,o);r.push(f),a.push(f.slice())}u&lt;0?a.push(l.slice()):u&gt;0?r.push(l.slice()):(r.push(l.slice()),a.push(l.slice())),o=u}return{positive:r,negative:a}},e.exports.positive=function(t,e){for(var r=[],a=n(t[t.length-1],e),o=t[t.length-1],s=t[0],l=0;l&lt;t.length;++l,o=s){var c=n(s=t[l],e);(a&lt;0&amp;&amp;c&gt;0||a&gt;0&amp;&amp;c&lt;0)&amp;&amp;r.push(i(o,c,s,a)),c&gt;=0&amp;&amp;r.push(s.slice()),a=c}return r},e.exports.negative=function(t,e){for(var r=[],a=n(t[t.length-1],e),o=t[t.length-1],s=t[0],l=0;l&lt;t.length;++l,o=s){var c=n(s=t[l],e);(a&lt;0&amp;&amp;c&gt;0||a&gt;0&amp;&amp;c&lt;0)&amp;&amp;r.push(i(o,c,s,a)),c&lt;=0&amp;&amp;r.push(s.slice()),a=c}return r}},{&quot;robust-dot-product&quot;:512,&quot;robust-sum&quot;:520}],536:[function(t,e,r){!function(t){function e(){var t=arguments[0],r=e.cache;return r[t]&amp;&amp;r.hasOwnProperty(t)||(r[t]=e.parse(t)),e.format.call(null,r[t],arguments)}function n(t){return Object.prototype.toString.call(t).slice(8,-1).toLowerCase()}var i={not_string:/[^s]/,number:/[diefg]/,json:/[j]/,not_json:/[^j]/,text:/^[^\x25]+/,modulo:/^\x25{2}/,placeholder:/^\x25(?:([1-9]\d*)\$|\(([^\)]+)\))?(\+)?(0|'[^$])?(-)?(\d+)?(?:\.(\d+))?([b-gijosuxX])/,key:/^([a-z_][a-z_\d]*)/i,key_access:/^\.([a-z_][a-z_\d]*)/i,index_access:/^\[(\d+)\]/,sign:/^[\+\-]/};e.format=function(t,r){var a,o,s,l,c,u,f,h=1,d=t.length,p=&quot;&quot;,m=[],g=!0,v=&quot;&quot;;for(o=0;o&lt;d;o++)if(&quot;string&quot;===(p=n(t[o])))m[m.length]=t[o];else if(&quot;array&quot;===p){if((l=t[o])[2])for(a=r[h],s=0;s&lt;l[2].length;s++){if(!a.hasOwnProperty(l[2][s]))throw new Error(e(&quot;[sprintf] property '%s' does not exist&quot;,l[2][s]));a=a[l[2][s]]}else a=l[1]?r[l[1]]:r[h++];if(&quot;function&quot;==n(a)&amp;&amp;(a=a()),i.not_string.test(l[8])&amp;&amp;i.not_json.test(l[8])&amp;&amp;&quot;number&quot;!=n(a)&amp;&amp;isNaN(a))throw new TypeError(e(&quot;[sprintf] expecting number but found %s&quot;,n(a)));switch(i.number.test(l[8])&amp;&amp;(g=a&gt;=0),l[8]){case&quot;b&quot;:a=a.toString(2);break;case&quot;c&quot;:a=String.fromCharCode(a);break;case&quot;d&quot;:case&quot;i&quot;:a=parseInt(a,10);break;case&quot;j&quot;:a=JSON.stringify(a,null,l[6]?parseInt(l[6]):0);break;case&quot;e&quot;:a=l[7]?a.toExponential(l[7]):a.toExponential();break;case&quot;f&quot;:a=l[7]?parseFloat(a).toFixed(l[7]):parseFloat(a);break;case&quot;g&quot;:a=l[7]?parseFloat(a).toPrecision(l[7]):parseFloat(a);break;case&quot;o&quot;:a=a.toString(8);break;case&quot;s&quot;:a=(a=String(a))&amp;&amp;l[7]?a.substring(0,l[7]):a;break;case&quot;u&quot;:a&gt;&gt;&gt;=0;break;case&quot;x&quot;:a=a.toString(16);break;case&quot;X&quot;:a=a.toString(16).toUpperCase()}i.json.test(l[8])?m[m.length]=a:(!i.number.test(l[8])||g&amp;&amp;!l[3]?v=&quot;&quot;:(v=g?&quot;+&quot;:&quot;-&quot;,a=a.toString().replace(i.sign,&quot;&quot;)),u=l[4]?&quot;0&quot;===l[4]?&quot;0&quot;:l[4].charAt(1):&quot; &quot;,f=l[6]-(v+a).length,c=l[6]&amp;&amp;f&gt;0?function(t,e){return Array(e+1).join(t)}(u,f):&quot;&quot;,m[m.length]=l[5]?v+a+c:&quot;0&quot;===u?v+c+a:c+v+a)}return m.join(&quot;&quot;)},e.cache={},e.parse=function(t){for(var e=t,r=[],n=[],a=0;e;){if(null!==(r=i.text.exec(e)))n[n.length]=r[0];else if(null!==(r=i.modulo.exec(e)))n[n.length]=&quot;%&quot;;else{if(null===(r=i.placeholder.exec(e)))throw new SyntaxError(&quot;[sprintf] unexpected placeholder&quot;);if(r[2]){a|=1;var o=[],s=r[2],l=[];if(null===(l=i.key.exec(s)))throw new SyntaxError(&quot;[sprintf] failed to parse named argument key&quot;);for(o[o.length]=l[1];&quot;&quot;!==(s=s.substring(l[0].length));)if(null!==(l=i.key_access.exec(s)))o[o.length]=l[1];else{if(null===(l=i.index_access.exec(s)))throw new SyntaxError(&quot;[sprintf] failed to parse named argument key&quot;);o[o.length]=l[1]}r[2]=o}else a|=2;if(3===a)throw new Error(&quot;[sprintf] mixing positional and named placeholders is not (yet) supported&quot;);n[n.length]=r}e=e.substring(r[0].length)}return n};var a=function(t,r,n){return(n=(r||[]).slice(0)).splice(0,0,t),e.apply(null,n)};void 0!==r?(r.sprintf=e,r.vsprintf=a):(t.sprintf=e,t.vsprintf=a)}(&quot;undefined&quot;==typeof window?this:window)},{}],537:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t){function e(e){var r=[e],c=[e];for(n[e]=i[e]=u,a[e]=!0,u+=1;c.length&gt;0;){e=c[c.length-1];var d=t[e];if(o[e]&lt;d.length){for(var p=o[e];p&lt;d.length;++p){var m=d[p];if(n[m]&lt;0){n[m]=i[m]=u,a[m]=!0,u+=1,r.push(m),c.push(m);break}a[m]&amp;&amp;(i[e]=0|Math.min(i[e],i[m])),s[m]&gt;=0&amp;&amp;l[e].push(s[m])}o[e]=p}else{if(i[e]===n[e]){var g=[],v=[],y=0;for(p=r.length-1;p&gt;=0;--p){var x=r[p];if(a[x]=!1,g.push(x),v.push(l[x]),y+=l[x].length,s[x]=f.length,x===e){r.length=p;break}}f.push(g);var b=new Array(y);for(p=0;p&lt;v.length;p++)for(var _=0;_&lt;v[p].length;_++)b[--y]=v[p][_];h.push(b)}c.pop()}}}for(var r=t.length,n=new Array(r),i=new Array(r),a=new Array(r),o=new Array(r),s=new Array(r),l=new Array(r),c=0;c&lt;r;++c)n[c]=-1,i[c]=0,a[c]=!1,o[c]=0,s[c]=-1,l[c]=[];var u=0,f=[],h=[];for(c=0;c&lt;r;++c)n[c]&lt;0&amp;&amp;e(c);var d;for(c=0;c&lt;h.length;c++){var p=h[c];if(0!==p.length){p.sort(function(t,e){return t-e}),d=[p[0]];for(var m=1;m&lt;p.length;m++)p[m]!==p[m-1]&amp;&amp;d.push(p[m]);h[c]=d}}return{components:f,adjacencyList:h}}},{}],538:[function(t,e,r){&quot;use strict&quot;;function n(t){this.options=c(Object.create(this.options),t),this.trees=new Array(this.options.maxZoom+1)}function i(t,e){var r=t.geometry.coordinates;return{x:s(r[0]),y:l(r[1]),zoom:1/0,id:e,parentId:-1}}function a(t){return{type:&quot;Feature&quot;,properties:o(t),geometry:{type:&quot;Point&quot;,coordinates:[function(t){return 360*(t-.5)}(t.x),function(t){var e=(180-360*t)*Math.PI/180;return 360*Math.atan(Math.exp(e))/Math.PI-90}(t.y)]}}}function o(t){var e=t.numPoints,r=e&gt;=1e4?Math.round(e/1e3)+&quot;k&quot;:e&gt;=1e3?Math.round(e/100)/10+&quot;k&quot;:e;return c(c({},t.properties),{cluster:!0,cluster_id:t.id,point_count:e,point_count_abbreviated:r})}function s(t){return t/360+.5}function l(t){var e=Math.sin(t*Math.PI/180),r=.5-.25*Math.log((1+e)/(1-e))/Math.PI;return r&lt;0?0:r&gt;1?1:r}function c(t,e){for(var r in e)t[r]=e[r];return t}function u(t){return t.x}function f(t){return t.y}var h=t(&quot;kdbush&quot;);e.exports=function(t){return new n(t)},n.prototype={options:{minZoom:0,maxZoom:16,radius:40,extent:512,nodeSize:64,log:!1,reduce:null,initial:function(){return{}},map:function(t){return t}},load:function(t){var e=this.options.log;e&amp;&amp;console.time(&quot;total time&quot;);var r=&quot;prepare &quot;+t.length+&quot; points&quot;;e&amp;&amp;console.time(r),this.points=t;var n=t.map(i);e&amp;&amp;console.timeEnd(r);for(var a=this.options.maxZoom;a&gt;=this.options.minZoom;a--){var o=+Date.now();this.trees[a+1]=h(n,u,f,this.options.nodeSize,Float32Array),n=this._cluster(n,a),e&amp;&amp;console.log(&quot;z%d: %d clusters in %dms&quot;,a,n.length,+Date.now()-o)}return this.trees[this.options.minZoom]=h(n,u,f,this.options.nodeSize,Float32Array),e&amp;&amp;console.timeEnd(&quot;total time&quot;),this},getClusters:function(t,e){for(var r=this.trees[this._limitZoom(e)],n=r.range(s(t[0]),l(t[3]),s(t[2]),l(t[1])),i=[],o=0;o&lt;n.length;o++){var c=r.points[n[o]];i.push(c.numPoints?a(c):this.points[c.id])}return i},getChildren:function(t,e){for(var r=this.trees[e+1].points[t],n=this.options.radius/(this.options.extent*Math.pow(2,e)),i=this.trees[e+1].within(r.x,r.y,n),o=[],s=0;s&lt;i.length;s++){var l=this.trees[e+1].points[i[s]];l.parentId===t&amp;&amp;o.push(l.numPoints?a(l):this.points[l.id])}return o},getLeaves:function(t,e,r,n){r=r||10,n=n||0;var i=[];return this._appendLeaves(i,t,e,r,n,0),i},getTile:function(t,e,r){var n=this.trees[this._limitZoom(t)],i=Math.pow(2,t),a=this.options.extent,o=this.options.radius/a,s=(r-o)/i,l=(r+1+o)/i,c={features:[]};return this._addTileFeatures(n.range((e-o)/i,s,(e+1+o)/i,l),n.points,e,r,i,c),0===e&amp;&amp;this._addTileFeatures(n.range(1-o/i,s,1,l),n.points,i,r,i,c),e===i-1&amp;&amp;this._addTileFeatures(n.range(0,s,o/i,l),n.points,-1,r,i,c),c.features.length?c:null},getClusterExpansionZoom:function(t,e){for(;e&lt;this.options.maxZoom;){var r=this.getChildren(t,e);if(e++,1!==r.length)break;t=r[0].properties.cluster_id}return e},_appendLeaves:function(t,e,r,n,i,a){for(var o=this.getChildren(e,r),s=0;s&lt;o.length;s++){var l=o[s].properties;if(l.cluster?a+l.point_count&lt;=i?a+=l.point_count:a=this._appendLeaves(t,l.cluster_id,r+1,n,i,a):a&lt;i?a++:t.push(o[s]),t.length===n)break}return a},_addTileFeatures:function(t,e,r,n,i,a){for(var s=0;s&lt;t.length;s++){var l=e[t[s]];a.features.push({type:1,geometry:[[Math.round(this.options.extent*(l.x*i-r)),Math.round(this.options.extent*(l.y*i-n))]],tags:l.numPoints?o(l):this.points[l.id].properties})}},_limitZoom:function(t){return Math.max(this.options.minZoom,Math.min(t,this.options.maxZoom+1))},_cluster:function(t,e){for(var r=[],n=this.options.radius/(this.options.extent*Math.pow(2,e)),i=0;i&lt;t.length;i++){var a=t[i];if(!(a.zoom&lt;=e)){a.zoom=e;var o=this.trees[e+1],s=o.within(a.x,a.y,n),l=a.numPoints||1,c=a.x*l,u=a.y*l,f=null;this.options.reduce&amp;&amp;(f=this.options.initial(),this._accumulate(f,a));for(var h=0;h&lt;s.length;h++){var d=o.points[s[h]];if(e&lt;d.zoom){var p=d.numPoints||1;d.zoom=e,c+=d.x*p,u+=d.y*p,l+=p,d.parentId=i,this.options.reduce&amp;&amp;this._accumulate(f,d)}}1===l?r.push(a):(a.parentId=i,r.push(function(t,e,r,n,i){return{x:t,y:e,zoom:1/0,id:n,properties:i,parentId:-1,numPoints:r}}(c/l,u/l,l,i,f)))}}return r},_accumulate:function(t,e){var r=e.numPoints?e.properties:this.options.map(this.points[e.id].properties);this.options.reduce(t,r)}}},{kdbush:288}],539:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t){return t.split(&quot;&quot;).map(function(t){return t in n?n[t]:&quot;&quot;}).join(&quot;&quot;)};var n={&quot; &quot;:&quot; &quot;,0:&quot;\u2070&quot;,1:&quot;\xb9&quot;,2:&quot;\xb2&quot;,3:&quot;\xb3&quot;,4:&quot;\u2074&quot;,5:&quot;\u2075&quot;,6:&quot;\u2076&quot;,7:&quot;\u2077&quot;,8:&quot;\u2078&quot;,9:&quot;\u2079&quot;,&quot;+&quot;:&quot;\u207a&quot;,&quot;-&quot;:&quot;\u207b&quot;,a:&quot;\u1d43&quot;,b:&quot;\u1d47&quot;,c:&quot;\u1d9c&quot;,d:&quot;\u1d48&quot;,e:&quot;\u1d49&quot;,f:&quot;\u1da0&quot;,g:&quot;\u1d4d&quot;,h:&quot;\u02b0&quot;,i:&quot;\u2071&quot;,j:&quot;\u02b2&quot;,k:&quot;\u1d4f&quot;,l:&quot;\u02e1&quot;,m:&quot;\u1d50&quot;,n:&quot;\u207f&quot;,o:&quot;\u1d52&quot;,p:&quot;\u1d56&quot;,r:&quot;\u02b3&quot;,s:&quot;\u02e2&quot;,t:&quot;\u1d57&quot;,u:&quot;\u1d58&quot;,v:&quot;\u1d5b&quot;,w:&quot;\u02b7&quot;,x:&quot;\u02e3&quot;,y:&quot;\u02b8&quot;,z:&quot;\u1dbb&quot;}},{}],540:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t,e){if(t.dimension&lt;=0)return{positions:[],cells:[]};if(1===t.dimension)return function(t,e){for(var r=a(t,e),n=r.length,i=new Array(n),o=new Array(n),s=0;s&lt;n;++s)i[s]=[r[s]],o[s]=[s];return{positions:i,cells:o}}(t,e);var r=t.order.join()+&quot;-&quot;+t.dtype,s=o[r];return e=+e||0,s||(s=o[r]=function(t,e){var r=t.length,a=[&quot;'use strict';&quot;],o=&quot;surfaceNets&quot;+t.join(&quot;_&quot;)+&quot;d&quot;+e;a.push(&quot;var contour=genContour({&quot;,&quot;order:[&quot;,t.join(),&quot;],&quot;,&quot;scalarArguments: 3,&quot;,&quot;phase:function phaseFunc(p,a,b,c) { return (p &gt; c)|0 },&quot;),&quot;generic&quot;===e&amp;&amp;a.push(&quot;getters:[0],&quot;);for(var s=[],l=[],c=0;c&lt;r;++c)s.push(&quot;d&quot;+c),l.push(&quot;d&quot;+c);for(c=0;c&lt;1&lt;&lt;r;++c)s.push(&quot;v&quot;+c),l.push(&quot;v&quot;+c);for(c=0;c&lt;1&lt;&lt;r;++c)s.push(&quot;p&quot;+c),l.push(&quot;p&quot;+c);s.push(&quot;a&quot;,&quot;b&quot;,&quot;c&quot;),l.push(&quot;a&quot;,&quot;c&quot;),a.push(&quot;vertex:function vertexFunc(&quot;,s.join(),&quot;){&quot;);var u=[];for(c=0;c&lt;1&lt;&lt;r;++c)u.push(&quot;(p&quot;+c+&quot;&lt;&lt;&quot;+c+&quot;)&quot;);a.push(&quot;var m=(&quot;,u.join(&quot;+&quot;),&quot;)|0;if(m===0||m===&quot;,(1&lt;&lt;(1&lt;&lt;r))-1,&quot;){return}&quot;);var f=[],h=[];for(1&lt;&lt;(1&lt;&lt;r)&lt;=128?(a.push(&quot;switch(m){&quot;),h=a):a.push(&quot;switch(m&gt;&gt;&gt;7){&quot;),c=0;c&lt;1&lt;&lt;(1&lt;&lt;r);++c){if(1&lt;&lt;(1&lt;&lt;r)&gt;128&amp;&amp;c%128==0){f.length&gt;0&amp;&amp;h.push(&quot;}}&quot;);var d=&quot;vExtra&quot;+f.length;a.push(&quot;case &quot;,c&gt;&gt;&gt;7,&quot;:&quot;,d,&quot;(m&amp;0x7f,&quot;,l.join(),&quot;);break;&quot;),h=[&quot;function &quot;,d,&quot;(m,&quot;,l.join(),&quot;){switch(m){&quot;],f.push(h)}h.push(&quot;case &quot;,127&amp;c,&quot;:&quot;);for(var p=new Array(r),m=new Array(r),g=new Array(r),v=new Array(r),y=0,x=0;x&lt;r;++x)p[x]=[],m[x]=[],g[x]=0,v[x]=0;for(x=0;x&lt;1&lt;&lt;r;++x)for(var b=0;b&lt;r;++b){var _=x^1&lt;&lt;b;if(!(_&gt;x)&amp;&amp;!(c&amp;1&lt;&lt;_)!=!(c&amp;1&lt;&lt;x)){var w=1;c&amp;1&lt;&lt;_?m[b].push(&quot;v&quot;+_+&quot;-v&quot;+x):(m[b].push(&quot;v&quot;+x+&quot;-v&quot;+_),w=-w),w&lt;0?(p[b].push(&quot;-v&quot;+x+&quot;-v&quot;+_),g[b]+=2):(p[b].push(&quot;v&quot;+x+&quot;+v&quot;+_),g[b]-=2),y+=1;for(var M=0;M&lt;r;++M)M!==b&amp;&amp;(_&amp;1&lt;&lt;M?v[M]+=1:v[M]-=1)}}var k=[];for(b=0;b&lt;r;++b)if(0===p[b].length)k.push(&quot;d&quot;+b+&quot;-0.5&quot;);else{var A=&quot;&quot;;g[b]&lt;0?A=g[b]+&quot;*c&quot;:g[b]&gt;0&amp;&amp;(A=&quot;+&quot;+g[b]+&quot;*c&quot;);var T=p[b].length/y*.5,S=.5+v[b]/y*.5;k.push(&quot;d&quot;+b+&quot;-&quot;+S+&quot;-&quot;+T+&quot;*(&quot;+p[b].join(&quot;+&quot;)+A+&quot;)/(&quot;+m[b].join(&quot;+&quot;)+&quot;)&quot;)}h.push(&quot;a.push([&quot;,k.join(),&quot;]);&quot;,&quot;break;&quot;)}a.push(&quot;}},&quot;),f.length&gt;0&amp;&amp;h.push(&quot;}}&quot;);var E=[];for(c=0;c&lt;1&lt;&lt;r-1;++c)E.push(&quot;v&quot;+c);E.push(&quot;c0&quot;,&quot;c1&quot;,&quot;p0&quot;,&quot;p1&quot;,&quot;a&quot;,&quot;b&quot;,&quot;c&quot;),a.push(&quot;cell:function cellFunc(&quot;,E.join(),&quot;){&quot;);var L=i(r-1);for(a.push(&quot;if(p0){b.push(&quot;,L.map(function(t){return&quot;[&quot;+t.map(function(t){return&quot;v&quot;+t})+&quot;]&quot;}).join(),&quot;)}else{b.push(&quot;,L.map(function(t){var e=t.slice();return e.reverse(),&quot;[&quot;+e.map(function(t){return&quot;v&quot;+t})+&quot;]&quot;}).join(),&quot;)}}});function &quot;,o,&quot;(array,level){var verts=[],cells=[];contour(array,verts,cells,level);return {positions:verts,cells:cells};} return &quot;,o,&quot;;&quot;),c=0;c&lt;f.length;++c)a.push(f[c].join(&quot;&quot;));return new Function(&quot;genContour&quot;,a.join(&quot;&quot;))(n)}(t.order,t.dtype)),s(t,e)};var n=t(&quot;ndarray-extract-contour&quot;),i=t(&quot;triangulate-hypercube&quot;),a=t(&quot;zero-crossings&quot;),o={}},{&quot;ndarray-extract-contour&quot;:447,&quot;triangulate-hypercube&quot;:550,&quot;zero-crossings&quot;:598}],541:[function(t,e,r){&quot;use strict&quot;;Object.defineProperty(r,&quot;__esModule&quot;,{value:!0});var n=function(){return 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)&amp;&amp;(r.push(o.value),!e||r.length!==e);n=!0);}catch(t){i=!0,a=t}finally{try{!n&amp;&amp;s.return&amp;&amp;s.return()}finally{if(i)throw a}}return r}(t,e);throw new TypeError(&quot;Invalid attempt to destructure non-iterable instance&quot;)}}(),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=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*n-e*r&lt;0?-1:1,a=(t*r+e*n)/(Math.sqrt(t*t+e*e)*Math.sqrt(t*t+e*e));return a&gt;1&amp;&amp;(a=1),a&lt;-1&amp;&amp;(a=-1),i*Math.acos(a)};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,d=void 0===h?0:h,p=t.largeArcFlag,m=void 0===p?0:p,g=t.sweepFlag,v=void 0===g?0:g,y=[];if(0===u||0===f)return[];var x=Math.sin(d*i/360),b=Math.cos(d*i/360),_=b*(e-l)/2+x*(r-c)/2,w=-x*(e-l)/2+b*(r-c)/2;if(0===_&amp;&amp;0===w)return[];u=Math.abs(u),f=Math.abs(f);var M=Math.pow(_,2)/Math.pow(u,2)+Math.pow(w,2)/Math.pow(f,2);M&gt;1&amp;&amp;(u*=Math.sqrt(M),f*=Math.sqrt(M));var k=function(t,e,r,n,a,o,l,c,u,f,h,d){var p=Math.pow(a,2),m=Math.pow(o,2),g=Math.pow(h,2),v=Math.pow(d,2),y=p*m-p*v-m*g;y&lt;0&amp;&amp;(y=0),y/=p*v+m*g;var x=(y=Math.sqrt(y)*(l===c?-1:1))*a/o*d,b=y*-o/a*h,_=f*x-u*b+(t+r)/2,w=u*x+f*b+(e+n)/2,M=(h-x)/a,k=(d-b)/o,A=(-h-x)/a,T=(-d-b)/o,S=s(1,0,M,k),E=s(M,k,A,T);return 0===c&amp;&amp;E&gt;0&amp;&amp;(E-=i),1===c&amp;&amp;E&lt;0&amp;&amp;(E+=i),[_,w,S,E]}(e,r,l,c,u,f,m,v,x,b,_,w),A=n(k,4),T=A[0],S=A[1],E=A[2],L=A[3],C=Math.max(Math.ceil(Math.abs(L)/(i/4)),1);L/=C;for(var z=0;z&lt;C;z++)y.push(o(E,L)),E+=L;return y.map(function(t){var e=a(t[0],u,f,b,x,T,S),r=e.x,n=e.y,i=a(t[1],u,f,b,x,T,S),o=i.x,s=i.y,l=a(t[2],u,f,b,x,T,S);return{x1:r,y1:n,x2:o,y2:s,x:l.x,y:l.y}})},e.exports=r.default},{}],542:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;parse-svg-path&quot;),i=t(&quot;abs-svg-path&quot;),a=t(&quot;normalize-svg-path&quot;),o=t(&quot;is-svg-path&quot;),s=t(&quot;assert&quot;);e.exports=function(t){if(Array.isArray(t)&amp;&amp;1===t.length&amp;&amp;&quot;string&quot;==typeof t[0]&amp;&amp;(t=t[0]),&quot;string&quot;==typeof t&amp;&amp;(s(o(t),&quot;String is not an SVG path.&quot;),t=n(t)),s(Array.isArray(t),&quot;Argument should be a string or an array of path segments.&quot;),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&lt;l;r++)for(var c=t[r].slice(1),u=0;u&lt;c.length;u+=2)c[u+0]&lt;e[0]&amp;&amp;(e[0]=c[u+0]),c[u+1]&lt;e[1]&amp;&amp;(e[1]=c[u+1]),c[u+0]&gt;e[2]&amp;&amp;(e[2]=c[u+0]),c[u+1]&gt;e[3]&amp;&amp;(e[3]=c[u+1]);return e}},{&quot;abs-svg-path&quot;:43,assert:51,&quot;is-svg-path&quot;:287,&quot;normalize-svg-path&quot;:543,&quot;parse-svg-path&quot;:466}],543:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,n){return[&quot;C&quot;,t,e,r,n,r,n]}function i(t,e,r,n,i,a){return[&quot;C&quot;,t/3+2/3*r,e/3+2/3*n,i/3+2/3*r,a/3+2/3*n,i,a]}e.exports=function(t){for(var e,r=[],o=0,s=0,l=0,c=0,u=null,f=null,h=0,d=0,p=0,m=t.length;p&lt;m;p++){var g=t[p],v=g[0];switch(v){case&quot;M&quot;:l=g[1],c=g[2];break;case&quot;A&quot;:var y=a({px:h,py:d,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&lt;y.length;b++)g=[&quot;C&quot;,(x=y[b]).x1,x.y1,x.x2,x.y2,x.x,x.y],b&lt;y.length-1&amp;&amp;r.push(g);break;case&quot;S&quot;:var _=h,w=d;&quot;C&quot;!=e&amp;&amp;&quot;S&quot;!=e||(_+=_-o,w+=w-s),g=[&quot;C&quot;,_,w,g[1],g[2],g[3],g[4]];break;case&quot;T&quot;:&quot;Q&quot;==e||&quot;T&quot;==e?(u=2*h-u,f=2*d-f):(u=h,f=d),g=i(h,d,u,f,g[1],g[2]);break;case&quot;Q&quot;:u=g[1],f=g[2],g=i(h,d,g[1],g[2],g[3],g[4]);break;case&quot;L&quot;:g=n(h,d,g[1],g[2]);break;case&quot;H&quot;:g=n(h,d,g[1],d);break;case&quot;V&quot;:g=n(h,d,h,g[1]);break;case&quot;Z&quot;:g=n(h,d,l,c)}e=v,h=g[g.length-2],d=g[g.length-1],g.length&gt;4?(o=g[g.length-4],s=g[g.length-3]):(o=h,s=d),r.push(g)}return r};var a=t(&quot;svg-arc-to-cubic-bezier&quot;)},{&quot;svg-arc-to-cubic-bezier&quot;:541}],544:[function(t,e,r){(function(r){&quot;use strict&quot;;var n=t(&quot;svg-path-bounds&quot;),i=t(&quot;parse-svg-path&quot;),a=t(&quot;draw-svg-path&quot;),o=t(&quot;is-svg-path&quot;),s=t(&quot;bitmap-sdf&quot;),l=document.createElement(&quot;canvas&quot;),c=l.getContext(&quot;2d&quot;);e.exports=function(t,e){if(!o(t))throw Error(&quot;Argument should be valid svg path string&quot;);e||(e={});var u,f;e.shape?(u=e.shape[0],f=e.shape[1]):(u=l.width=e.w||e.width||200,f=l.height=e.h||e.height||200);var h=Math.min(u,f),d=e.stroke||0,p=e.viewbox||e.viewBox||n(t),m=[u/(p[2]-p[0]),f/(p[3]-p[1])],g=Math.min(m[0]||0,m[1]||0)/2;if(c.fillStyle=&quot;black&quot;,c.fillRect(0,0,u,f),c.fillStyle=&quot;white&quot;,d&amp;&amp;(&quot;number&quot;!=typeof d&amp;&amp;(d=1),c.strokeStyle=d&gt;0?&quot;white&quot;:&quot;black&quot;,c.lineWidth=Math.abs(d)),c.translate(.5*u,.5*f),c.scale(g,g),r.Path2D){var v=new Path2D(t);c.fill(v),d&amp;&amp;c.stroke(v)}else{var y=i(t);a(c,y),c.fill(),d&amp;&amp;c.stroke()}return c.setTransform(1,0,0,1,0,0),s(c,{cutoff:null!=e.cutoff?e.cutoff:.5,radius:null!=e.radius?e.radius:.5*h})}}).call(this,&quot;undefined&quot;!=typeof global?global:&quot;undefined&quot;!=typeof self?self:&quot;undefined&quot;!=typeof window?window:{})},{&quot;bitmap-sdf&quot;:72,&quot;draw-svg-path&quot;:132,&quot;is-svg-path&quot;:287,&quot;parse-svg-path&quot;:466,&quot;svg-path-bounds&quot;:542}],545:[function(t,e,r){(function(r){&quot;use strict&quot;;function n(t,e,r){r=r||{};var a=o[t];a||(a=o[t]={&quot; &quot;:{data:new Float32Array(0),shape:.2}});var s=a[e];if(!s)if(e.length&lt;=1||!/\d/.test(e))s=a[e]=function(t){for(var e=t.cells,r=t.positions,n=new Float32Array(6*e.length),i=0,a=0,o=0;o&lt;e.length;++o)for(var s=e[o],l=0;l&lt;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}}(i(e,{triangles:!0,font:t,textAlign:r.textAlign||&quot;left&quot;,textBaseline:&quot;alphabetic&quot;}));else{for(var l=e.split(/(\d|\s)/),c=new Array(l.length),u=0,f=0,h=0;h&lt;l.length;++h)c[h]=n(t,l[h]),u+=c[h].data.length,f+=c[h].shape,h&gt;0&amp;&amp;(f+=.02);var d=new Float32Array(u),p=0,m=-.5*f;for(h=0;h&lt;c.length;++h){for(var g=c[h].data,v=0;v&lt;g.length;v+=2)d[p++]=g[v]+m,d[p++]=g[v+1];m+=c[h].shape+.02}s=a[e]={data:d,shape:f}}return s}e.exports=n;var i=t(&quot;vectorize-text&quot;),a=window||r.global||{},o=a.__TEXT_CACHE||{};a.__TEXT_CACHE={}}).call(this,t(&quot;_process&quot;))},{_process:488,&quot;vectorize-text&quot;:568}],546:[function(t,e,r){!function(t){function r(e,n){if(e=e||&quot;&quot;,n=n||{},e instanceof r)return e;if(!(this instanceof r))return new r(e,n);var i=function(e){var r={r:0,g:0,b:0},n=1,i=null,a=null,o=null,s=!1,l=!1;&quot;string&quot;==typeof e&amp;&amp;(e=function(t){t=t.replace(L,&quot;&quot;).replace(C,&quot;&quot;).toLowerCase();var e=!1;if(F[t])t=F[t],e=!0;else if(&quot;transparent&quot;==t)return{r:0,g:0,b:0,a:0,format:&quot;name&quot;};var r;if(r=N.rgb.exec(t))return{r:r[1],g:r[2],b:r[3]};if(r=N.rgba.exec(t))return{r:r[1],g:r[2],b:r[3],a:r[4]};if(r=N.hsl.exec(t))return{h:r[1],s:r[2],l:r[3]};if(r=N.hsla.exec(t))return{h:r[1],s:r[2],l:r[3],a:r[4]};if(r=N.hsv.exec(t))return{h:r[1],s:r[2],v:r[3]};if(r=N.hsva.exec(t))return{h:r[1],s:r[2],v:r[3],a:r[4]};if(r=N.hex8.exec(t))return{r:M(r[1]),g:M(r[2]),b:M(r[3]),a:S(r[4]),format:e?&quot;name&quot;:&quot;hex8&quot;};if(r=N.hex6.exec(t))return{r:M(r[1]),g:M(r[2]),b:M(r[3]),format:e?&quot;name&quot;:&quot;hex&quot;};if(r=N.hex4.exec(t))return{r:M(r[1]+&quot;&quot;+r[1]),g:M(r[2]+&quot;&quot;+r[2]),b:M(r[3]+&quot;&quot;+r[3]),a:S(r[4]+&quot;&quot;+r[4]),format:e?&quot;name&quot;:&quot;hex8&quot;};if(r=N.hex3.exec(t))return{r:M(r[1]+&quot;&quot;+r[1]),g:M(r[2]+&quot;&quot;+r[2]),b:M(r[3]+&quot;&quot;+r[3]),format:e?&quot;name&quot;:&quot;hex&quot;};return!1}(e));&quot;object&quot;==typeof e&amp;&amp;(E(e.r)&amp;&amp;E(e.g)&amp;&amp;E(e.b)?(r=function(t,e,r){return{r:255*_(t,255),g:255*_(e,255),b:255*_(r,255)}}(e.r,e.g,e.b),s=!0,l=&quot;%&quot;===String(e.r).substr(-1)?&quot;prgb&quot;:&quot;rgb&quot;):E(e.h)&amp;&amp;E(e.s)&amp;&amp;E(e.v)?(i=A(e.s),a=A(e.v),r=function(e,r,n){e=6*_(e,360),r=_(r,100),n=_(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,i,a),s=!0,l=&quot;hsv&quot;):E(e.h)&amp;&amp;E(e.s)&amp;&amp;E(e.l)&amp;&amp;(i=A(e.s),o=A(e.l),r=function(t,e,r){function n(t,e,r){return r&lt;0&amp;&amp;(r+=1),r&gt;1&amp;&amp;(r-=1),r&lt;1/6?t+6*(e-t)*r:r&lt;.5?e:r&lt;2/3?t+(e-t)*(2/3-r)*6:t}var i,a,o;t=_(t,360),e=_(e,100),r=_(r,100);if(0===e)i=a=o=r;else{var s=r&lt;.5?r*(1+e):r+e-r*e,l=2*r-s;i=n(l,s,t+1/3),a=n(l,s,t),o=n(l,s,t-1/3)}return{r:255*i,g:255*a,b:255*o}}(e.h,i,o),s=!0,l=&quot;hsl&quot;),e.hasOwnProperty(&quot;a&quot;)&amp;&amp;(n=e.a));return n=b(n),{ok:s,format:e.format||l,r:I(255,P(r.r,0)),g:I(255,P(r.g,0)),b:I(255,P(r.b,0)),a:n}}(e);this._originalInput=e,this._r=i.r,this._g=i.g,this._b=i.b,this._a=i.a,this._roundA=D(100*this._a)/100,this._format=n.format||i.format,this._gradientType=n.gradientType,this._r&lt;1&amp;&amp;(this._r=D(this._r)),this._g&lt;1&amp;&amp;(this._g=D(this._g)),this._b&lt;1&amp;&amp;(this._b=D(this._b)),this._ok=i.ok,this._tc_id=z++}function n(t,e,r){t=_(t,255),e=_(e,255),r=_(r,255);var n,i,a=P(t,e,r),o=I(t,e,r),s=(a+o)/2;if(a==o)n=i=0;else{var l=a-o;switch(i=s&gt;.5?l/(2-a-o):l/(a+o),a){case t:n=(e-r)/l+(e&lt;r?6:0);break;case e:n=(r-t)/l+2;break;case r:n=(t-e)/l+4}n/=6}return{h:n,s:i,l:s}}function i(t,e,r){t=_(t,255),e=_(e,255),r=_(r,255);var n,i,a=P(t,e,r),o=I(t,e,r),s=a-o;if(i=0===a?0:s/a,a==o)n=0;else{switch(a){case t:n=(e-r)/s+(e&lt;r?6:0);break;case e:n=(r-t)/s+2;break;case r:n=(t-e)/s+4}n/=6}return{h:n,s:i,v:a}}function a(t,e,r,n){var i=[k(D(t).toString(16)),k(D(e).toString(16)),k(D(r).toString(16))];return n&amp;&amp;i[0].charAt(0)==i[0].charAt(1)&amp;&amp;i[1].charAt(0)==i[1].charAt(1)&amp;&amp;i[2].charAt(0)==i[2].charAt(1)?i[0].charAt(0)+i[1].charAt(0)+i[2].charAt(0):i.join(&quot;&quot;)}function o(t,e,r,n){return[k(T(n)),k(D(t).toString(16)),k(D(e).toString(16)),k(D(r).toString(16))].join(&quot;&quot;)}function s(t,e){e=0===e?0:e||10;var n=r(t).toHsl();return n.s-=e/100,n.s=w(n.s),r(n)}function l(t,e){e=0===e?0:e||10;var n=r(t).toHsl();return n.s+=e/100,n.s=w(n.s),r(n)}function c(t){return r(t).desaturate(100)}function u(t,e){e=0===e?0:e||10;var n=r(t).toHsl();return n.l+=e/100,n.l=w(n.l),r(n)}function f(t,e){e=0===e?0:e||10;var n=r(t).toRgb();return n.r=P(0,I(255,n.r-D(-e/100*255))),n.g=P(0,I(255,n.g-D(-e/100*255))),n.b=P(0,I(255,n.b-D(-e/100*255))),r(n)}function h(t,e){e=0===e?0:e||10;var n=r(t).toHsl();return n.l-=e/100,n.l=w(n.l),r(n)}function d(t,e){var n=r(t).toHsl(),i=(n.h+e)%360;return n.h=i&lt;0?360+i:i,r(n)}function p(t){var e=r(t).toHsl();return e.h=(e.h+180)%360,r(e)}function m(t){var e=r(t).toHsl(),n=e.h;return[r(t),r({h:(n+120)%360,s:e.s,l:e.l}),r({h:(n+240)%360,s:e.s,l:e.l})]}function g(t){var e=r(t).toHsl(),n=e.h;return[r(t),r({h:(n+90)%360,s:e.s,l:e.l}),r({h:(n+180)%360,s:e.s,l:e.l}),r({h:(n+270)%360,s:e.s,l:e.l})]}function v(t){var e=r(t).toHsl(),n=e.h;return[r(t),r({h:(n+72)%360,s:e.s,l:e.l}),r({h:(n+216)%360,s:e.s,l:e.l})]}function y(t,e,n){e=e||6,n=n||30;var i=r(t).toHsl(),a=360/n,o=[r(t)];for(i.h=(i.h-(a*e&gt;&gt;1)+720)%360;--e;)i.h=(i.h+a)%360,o.push(r(i));return o}function x(t,e){e=e||6;for(var n=r(t).toHsv(),i=n.h,a=n.s,o=n.v,s=[],l=1/e;e--;)s.push(r({h:i,s:a,v:o})),o=(o+l)%1;return s}function b(t){return t=parseFloat(t),(isNaN(t)||t&lt;0||t&gt;1)&amp;&amp;(t=1),t}function _(e,r){(function(t){return&quot;string&quot;==typeof t&amp;&amp;-1!=t.indexOf(&quot;.&quot;)&amp;&amp;1===parseFloat(t)})(e)&amp;&amp;(e=&quot;100%&quot;);var n=function(t){return&quot;string&quot;==typeof t&amp;&amp;-1!=t.indexOf(&quot;%&quot;)}(e);return e=I(r,P(0,parseFloat(e))),n&amp;&amp;(e=parseInt(e*r,10)/100),t.abs(e-r)&lt;1e-6?1:e%r/parseFloat(r)}function w(t){return I(1,P(0,t))}function M(t){return parseInt(t,16)}function k(t){return 1==t.length?&quot;0&quot;+t:&quot;&quot;+t}function A(t){return t&lt;=1&amp;&amp;(t=100*t+&quot;%&quot;),t}function T(e){return t.round(255*parseFloat(e)).toString(16)}function S(t){return M(t)/255}function E(t){return!!N.CSS_UNIT.exec(t)}var L=/^\s+/,C=/\s+$/,z=0,D=t.round,I=t.min,P=t.max,O=t.random;r.prototype={isDark:function(){return this.getBrightness()&lt;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,a,o,s=this.toRgb();return e=s.r/255,r=s.g/255,n=s.b/255,i=e&lt;=.03928?e/12.92:t.pow((e+.055)/1.055,2.4),a=r&lt;=.03928?r/12.92:t.pow((r+.055)/1.055,2.4),o=n&lt;=.03928?n/12.92:t.pow((n+.055)/1.055,2.4),.2126*i+.7152*a+.0722*o},setAlpha:function(t){return this._a=b(t),this._roundA=D(100*this._a)/100,this},toHsv:function(){var t=i(this._r,this._g,this._b);return{h:360*t.h,s:t.s,v:t.v,a:this._a}},toHsvString:function(){var t=i(this._r,this._g,this._b),e=D(360*t.h),r=D(100*t.s),n=D(100*t.v);return 1==this._a?&quot;hsv(&quot;+e+&quot;, &quot;+r+&quot;%, &quot;+n+&quot;%)&quot;:&quot;hsva(&quot;+e+&quot;, &quot;+r+&quot;%, &quot;+n+&quot;%, &quot;+this._roundA+&quot;)&quot;},toHsl:function(){var t=n(this._r,this._g,this._b);return{h:360*t.h,s:t.s,l:t.l,a:this._a}},toHslString:function(){var t=n(this._r,this._g,this._b),e=D(360*t.h),r=D(100*t.s),i=D(100*t.l);return 1==this._a?&quot;hsl(&quot;+e+&quot;, &quot;+r+&quot;%, &quot;+i+&quot;%)&quot;:&quot;hsla(&quot;+e+&quot;, &quot;+r+&quot;%, &quot;+i+&quot;%, &quot;+this._roundA+&quot;)&quot;},toHex:function(t){return a(this._r,this._g,this._b,t)},toHexString:function(t){return&quot;#&quot;+this.toHex(t)},toHex8:function(t){return function(t,e,r,n,i){var a=[k(D(t).toString(16)),k(D(e).toString(16)),k(D(r).toString(16)),k(T(n))];return i&amp;&amp;a[0].charAt(0)==a[0].charAt(1)&amp;&amp;a[1].charAt(0)==a[1].charAt(1)&amp;&amp;a[2].charAt(0)==a[2].charAt(1)&amp;&amp;a[3].charAt(0)==a[3].charAt(1)?a[0].charAt(0)+a[1].charAt(0)+a[2].charAt(0)+a[3].charAt(0):a.join(&quot;&quot;)}(this._r,this._g,this._b,this._a,t)},toHex8String:function(t){return&quot;#&quot;+this.toHex8(t)},toRgb:function(){return{r:D(this._r),g:D(this._g),b:D(this._b),a:this._a}},toRgbString:function(){return 1==this._a?&quot;rgb(&quot;+D(this._r)+&quot;, &quot;+D(this._g)+&quot;, &quot;+D(this._b)+&quot;)&quot;:&quot;rgba(&quot;+D(this._r)+&quot;, &quot;+D(this._g)+&quot;, &quot;+D(this._b)+&quot;, &quot;+this._roundA+&quot;)&quot;},toPercentageRgb:function(){return{r:D(100*_(this._r,255))+&quot;%&quot;,g:D(100*_(this._g,255))+&quot;%&quot;,b:D(100*_(this._b,255))+&quot;%&quot;,a:this._a}},toPercentageRgbString:function(){return 1==this._a?&quot;rgb(&quot;+D(100*_(this._r,255))+&quot;%, &quot;+D(100*_(this._g,255))+&quot;%, &quot;+D(100*_(this._b,255))+&quot;%)&quot;:&quot;rgba(&quot;+D(100*_(this._r,255))+&quot;%, &quot;+D(100*_(this._g,255))+&quot;%, &quot;+D(100*_(this._b,255))+&quot;%, &quot;+this._roundA+&quot;)&quot;},toName:function(){return 0===this._a?&quot;transparent&quot;:!(this._a&lt;1)&amp;&amp;(R[a(this._r,this._g,this._b,!0)]||!1)},toFilter:function(t){var e=&quot;#&quot;+o(this._r,this._g,this._b,this._a),n=e,i=this._gradientType?&quot;GradientType = 1, &quot;:&quot;&quot;;if(t){var a=r(t);n=&quot;#&quot;+o(a._r,a._g,a._b,a._a)}return&quot;progid:DXImageTransform.Microsoft.gradient(&quot;+i+&quot;startColorstr=&quot;+e+&quot;,endColorstr=&quot;+n+&quot;)&quot;},toString:function(t){var e=!!t;t=t||this._format;var r=!1,n=this._a&lt;1&amp;&amp;this._a&gt;=0;return e||!n||&quot;hex&quot;!==t&amp;&amp;&quot;hex6&quot;!==t&amp;&amp;&quot;hex3&quot;!==t&amp;&amp;&quot;hex4&quot;!==t&amp;&amp;&quot;hex8&quot;!==t&amp;&amp;&quot;name&quot;!==t?(&quot;rgb&quot;===t&amp;&amp;(r=this.toRgbString()),&quot;prgb&quot;===t&amp;&amp;(r=this.toPercentageRgbString()),&quot;hex&quot;!==t&amp;&amp;&quot;hex6&quot;!==t||(r=this.toHexString()),&quot;hex3&quot;===t&amp;&amp;(r=this.toHexString(!0)),&quot;hex4&quot;===t&amp;&amp;(r=this.toHex8String(!0)),&quot;hex8&quot;===t&amp;&amp;(r=this.toHex8String()),&quot;name&quot;===t&amp;&amp;(r=this.toName()),&quot;hsl&quot;===t&amp;&amp;(r=this.toHslString()),&quot;hsv&quot;===t&amp;&amp;(r=this.toHsvString()),r||this.toHexString()):&quot;name&quot;===t&amp;&amp;0===this._a?this.toName():this.toRgbString()},clone:function(){return r(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(u,arguments)},brighten:function(){return this._applyModification(f,arguments)},darken:function(){return this._applyModification(h,arguments)},desaturate:function(){return this._applyModification(s,arguments)},saturate:function(){return this._applyModification(l,arguments)},greyscale:function(){return this._applyModification(c,arguments)},spin:function(){return this._applyModification(d,arguments)},_applyCombination:function(t,e){return t.apply(null,[this].concat([].slice.call(e)))},analogous:function(){return this._applyCombination(y,arguments)},complement:function(){return this._applyCombination(p,arguments)},monochromatic:function(){return this._applyCombination(x,arguments)},splitcomplement:function(){return this._applyCombination(v,arguments)},triad:function(){return this._applyCombination(m,arguments)},tetrad:function(){return this._applyCombination(g,arguments)}},r.fromRatio=function(t,e){if(&quot;object&quot;==typeof t){var n={};for(var i in t)t.hasOwnProperty(i)&amp;&amp;(n[i]=&quot;a&quot;===i?t[i]:A(t[i]));t=n}return r(t,e)},r.equals=function(t,e){return!(!t||!e)&amp;&amp;r(t).toRgbString()==r(e).toRgbString()},r.random=function(){return r.fromRatio({r:O(),g:O(),b:O()})},r.mix=function(t,e,n){n=0===n?0:n||50;var i=r(t).toRgb(),a=r(e).toRgb(),o=n/100;return r({r:(a.r-i.r)*o+i.r,g:(a.g-i.g)*o+i.g,b:(a.b-i.b)*o+i.b,a:(a.a-i.a)*o+i.a})},r.readability=function(e,n){var i=r(e),a=r(n);return(t.max(i.getLuminance(),a.getLuminance())+.05)/(t.min(i.getLuminance(),a.getLuminance())+.05)},r.isReadable=function(t,e,n){var i,a,o=r.readability(t,e);switch(a=!1,(i=function(t){var e,r;return t=t||{level:&quot;AA&quot;,size:&quot;small&quot;},e=(t.level||&quot;AA&quot;).toUpperCase(),r=(t.size||&quot;small&quot;).toLowerCase(),&quot;AA&quot;!==e&amp;&amp;&quot;AAA&quot;!==e&amp;&amp;(e=&quot;AA&quot;),&quot;small&quot;!==r&amp;&amp;&quot;large&quot;!==r&amp;&amp;(r=&quot;small&quot;),{level:e,size:r}}(n)).level+i.size){case&quot;AAsmall&quot;:case&quot;AAAlarge&quot;:a=o&gt;=4.5;break;case&quot;AAlarge&quot;:a=o&gt;=3;break;case&quot;AAAsmall&quot;:a=o&gt;=7}return a},r.mostReadable=function(t,e,n){var i,a,o,s,l=null,c=0;a=(n=n||{}).includeFallbackColors,o=n.level,s=n.size;for(var u=0;u&lt;e.length;u++)(i=r.readability(t,e[u]))&gt;c&amp;&amp;(c=i,l=r(e[u]));return r.isReadable(t,l,{level:o,size:s})||!a?l:(n.includeFallbackColors=!1,r.mostReadable(t,[&quot;#fff&quot;,&quot;#000&quot;],n))};var F=r.names={aliceblue:&quot;f0f8ff&quot;,antiquewhite:&quot;faebd7&quot;,aqua:&quot;0ff&quot;,aquamarine:&quot;7fffd4&quot;,azure:&quot;f0ffff&quot;,beige:&quot;f5f5dc&quot;,bisque:&quot;ffe4c4&quot;,black:&quot;000&quot;,blanchedalmond:&quot;ffebcd&quot;,blue:&quot;00f&quot;,blueviolet:&quot;8a2be2&quot;,brown:&quot;a52a2a&quot;,burlywood:&quot;deb887&quot;,burntsienna:&quot;ea7e5d&quot;,cadetblue:&quot;5f9ea0&quot;,chartreuse:&quot;7fff00&quot;,chocolate:&quot;d2691e&quot;,coral:&quot;ff7f50&quot;,cornflowerblue:&quot;6495ed&quot;,cornsilk:&quot;fff8dc&quot;,crimson:&quot;dc143c&quot;,cyan:&quot;0ff&quot;,darkblue:&quot;00008b&quot;,darkcyan:&quot;008b8b&quot;,darkgoldenrod:&quot;b8860b&quot;,darkgray:&quot;a9a9a9&quot;,darkgreen:&quot;006400&quot;,darkgrey:&quot;a9a9a9&quot;,darkkhaki:&quot;bdb76b&quot;,darkmagenta:&quot;8b008b&quot;,darkolivegreen:&quot;556b2f&quot;,darkorange:&quot;ff8c00&quot;,darkorchid:&quot;9932cc&quot;,darkred:&quot;8b0000&quot;,darksalmon:&quot;e9967a&quot;,darkseagreen:&quot;8fbc8f&quot;,darkslateblue:&quot;483d8b&quot;,darkslategray:&quot;2f4f4f&quot;,darkslategrey:&quot;2f4f4f&quot;,darkturquoise:&quot;00ced1&quot;,darkviolet:&quot;9400d3&quot;,deeppink:&quot;ff1493&quot;,deepskyblue:&quot;00bfff&quot;,dimgray:&quot;696969&quot;,dimgrey:&quot;696969&quot;,dodgerblue:&quot;1e90ff&quot;,firebrick:&quot;b22222&quot;,floralwhite:&quot;fffaf0&quot;,forestgreen:&quot;228b22&quot;,fuchsia:&quot;f0f&quot;,gainsboro:&quot;dcdcdc&quot;,ghostwhite:&quot;f8f8ff&quot;,gold:&quot;ffd700&quot;,goldenrod:&quot;daa520&quot;,gray:&quot;808080&quot;,green:&quot;008000&quot;,greenyellow:&quot;adff2f&quot;,grey:&quot;808080&quot;,honeydew:&quot;f0fff0&quot;,hotpink:&quot;ff69b4&quot;,indianred:&quot;cd5c5c&quot;,indigo:&quot;4b0082&quot;,ivory:&quot;fffff0&quot;,khaki:&quot;f0e68c&quot;,lavender:&quot;e6e6fa&quot;,lavenderblush:&quot;fff0f5&quot;,lawngreen:&quot;7cfc00&quot;,lemonchiffon:&quot;fffacd&quot;,lightblue:&quot;add8e6&quot;,lightcoral:&quot;f08080&quot;,lightcyan:&quot;e0ffff&quot;,lightgoldenrodyellow:&quot;fafad2&quot;,lightgray:&quot;d3d3d3&quot;,lightgreen:&quot;90ee90&quot;,lightgrey:&quot;d3d3d3&quot;,lightpink:&quot;ffb6c1&quot;,lightsalmon:&quot;ffa07a&quot;,lightseagreen:&quot;20b2aa&quot;,lightskyblue:&quot;87cefa&quot;,lightslategray:&quot;789&quot;,lightslategrey:&quot;789&quot;,lightsteelblue:&quot;b0c4de&quot;,lightyellow:&quot;ffffe0&quot;,lime:&quot;0f0&quot;,limegreen:&quot;32cd32&quot;,linen:&quot;faf0e6&quot;,magenta:&quot;f0f&quot;,maroon:&quot;800000&quot;,mediumaquamarine:&quot;66cdaa&quot;,mediumblue:&quot;0000cd&quot;,mediumorchid:&quot;ba55d3&quot;,mediumpurple:&quot;9370db&quot;,mediumseagreen:&quot;3cb371&quot;,mediumslateblue:&quot;7b68ee&quot;,mediumspringgreen:&quot;00fa9a&quot;,mediumturquoise:&quot;48d1cc&quot;,mediumvioletred:&quot;c71585&quot;,midnightblue:&quot;191970&quot;,mintcream:&quot;f5fffa&quot;,mistyrose:&quot;ffe4e1&quot;,moccasin:&quot;ffe4b5&quot;,navajowhite:&quot;ffdead&quot;,navy:&quot;000080&quot;,oldlace:&quot;fdf5e6&quot;,olive:&quot;808000&quot;,olivedrab:&quot;6b8e23&quot;,orange:&quot;ffa500&quot;,orangered:&quot;ff4500&quot;,orchid:&quot;da70d6&quot;,palegoldenrod:&quot;eee8aa&quot;,palegreen:&quot;98fb98&quot;,paleturquoise:&quot;afeeee&quot;,palevioletred:&quot;db7093&quot;,papayawhip:&quot;ffefd5&quot;,peachpuff:&quot;ffdab9&quot;,peru:&quot;cd853f&quot;,pink:&quot;ffc0cb&quot;,plum:&quot;dda0dd&quot;,powderblue:&quot;b0e0e6&quot;,purple:&quot;800080&quot;,rebeccapurple:&quot;663399&quot;,red:&quot;f00&quot;,rosybrown:&quot;bc8f8f&quot;,royalblue:&quot;4169e1&quot;,saddlebrown:&quot;8b4513&quot;,salmon:&quot;fa8072&quot;,sandybrown:&quot;f4a460&quot;,seagreen:&quot;2e8b57&quot;,seashell:&quot;fff5ee&quot;,sienna:&quot;a0522d&quot;,silver:&quot;c0c0c0&quot;,skyblue:&quot;87ceeb&quot;,slateblue:&quot;6a5acd&quot;,slategray:&quot;708090&quot;,slategrey:&quot;708090&quot;,snow:&quot;fffafa&quot;,springgreen:&quot;00ff7f&quot;,steelblue:&quot;4682b4&quot;,tan:&quot;d2b48c&quot;,teal:&quot;008080&quot;,thistle:&quot;d8bfd8&quot;,tomato:&quot;ff6347&quot;,turquoise:&quot;40e0d0&quot;,violet:&quot;ee82ee&quot;,wheat:&quot;f5deb3&quot;,white:&quot;fff&quot;,whitesmoke:&quot;f5f5f5&quot;,yellow:&quot;ff0&quot;,yellowgreen:&quot;9acd32&quot;},R=r.hexNames=function(t){var e={};for(var r in t)t.hasOwnProperty(r)&amp;&amp;(e[t[r]]=r);return e}(F),N=function(){var t=&quot;(?:[-\\+]?\\d*\\.\\d+%?)|(?:[-\\+]?\\d+%?)&quot;,e=&quot;[\\s|\\(]+(&quot;+t+&quot;)[,|\\s]+(&quot;+t+&quot;)[,|\\s]+(&quot;+t+&quot;)\\s*\\)?&quot;,r=&quot;[\\s|\\(]+(&quot;+t+&quot;)[,|\\s]+(&quot;+t+&quot;)[,|\\s]+(&quot;+t+&quot;)[,|\\s]+(&quot;+t+&quot;)\\s*\\)?&quot;;return{CSS_UNIT:new RegExp(t),rgb:new RegExp(&quot;rgb&quot;+e),rgba:new RegExp(&quot;rgba&quot;+r),hsl:new RegExp(&quot;hsl&quot;+e),hsla:new RegExp(&quot;hsla&quot;+r),hsv:new RegExp(&quot;hsv&quot;+e),hsva:new RegExp(&quot;hsva&quot;+r),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})$/}}();void 0!==e&amp;&amp;e.exports?e.exports=r:window.tinycolor=r}(Math)},{}],547:[function(t,e,r){&quot;use strict&quot;;function n(t){if(t instanceof Float32Array)return t;if(&quot;number&quot;==typeof t)return new Float32Array([t])[0];var e=new Float32Array(t);return e.set(t),e}e.exports=n,e.exports.float32=e.exports.float=n,e.exports.fract32=e.exports.fract=function(t){if(&quot;number&quot;==typeof t)return n(t-n(t));for(var e=n(t),r=0,i=e.length;r&lt;i;r++)e[r]=t[r]-e[r];return e}},{}],548:[function(t,e,r){&quot;use strict&quot;;function n(t,e){var r=a(getComputedStyle(t).getPropertyValue(e));return r[0]*i(r[1],t)}function i(t,e){switch(e=e||document.body,t=(t||&quot;px&quot;).trim().toLowerCase(),e!==window&amp;&amp;e!==document||(e=document.body),t){case&quot;%&quot;:return e.clientHeight/100;case&quot;ch&quot;:case&quot;ex&quot;:return function(t,e){var r=document.createElement(&quot;div&quot;);r.style[&quot;font-size&quot;]=&quot;128&quot;+t,e.appendChild(r);var i=n(r,&quot;font-size&quot;)/128;return e.removeChild(r),i}(t,e);case&quot;em&quot;:return n(e,&quot;font-size&quot;);case&quot;rem&quot;:return n(document.body,&quot;font-size&quot;);case&quot;vw&quot;:return window.innerWidth/100;case&quot;vh&quot;:return window.innerHeight/100;case&quot;vmin&quot;:return Math.min(window.innerWidth,window.innerHeight)/100;case&quot;vmax&quot;:return Math.max(window.innerWidth,window.innerHeight)/100;case&quot;in&quot;:return o;case&quot;cm&quot;:return o/2.54;case&quot;mm&quot;:return o/25.4;case&quot;pt&quot;:return o/72;case&quot;pc&quot;:return o/6}return 1}var a=t(&quot;parse-unit&quot;);e.exports=i;var o=96},{&quot;parse-unit&quot;:467}],549:[function(t,e,r){!function(t,n){n(&quot;object&quot;==typeof r&amp;&amp;void 0!==e?r:t.topojson=t.topojson||{})}(this,function(t){&quot;use strict&quot;;function e(t,e){var n=e.id,i=e.bbox,a=null==e.properties?{}:e.properties,o=r(t,e);return null==n&amp;&amp;null==i?{type:&quot;Feature&quot;,properties:a,geometry:o}:null==i?{type:&quot;Feature&quot;,id:n,properties:a,geometry:o}:{type:&quot;Feature&quot;,id:n,bbox:i,properties:a,geometry:o}}function r(t,e){function r(t,e){e.length&amp;&amp;e.pop();for(var r=f[t&lt;0?~t:t],n=0,i=r.length;n&lt;i;++n)e.push(u(r[n].slice(),n));t&lt;0&amp;&amp;l(e,i)}function n(t){return u(t.slice())}function i(t){for(var e=[],n=0,i=t.length;n&lt;i;++n)r(t[n],e);return e.length&lt;2&amp;&amp;e.push(e[0].slice()),e}function a(t){for(var e=i(t);e.length&lt;4;)e.push(e[0].slice());return e}function s(t){return t.map(a)}function c(t){var e,r=t.type;switch(r){case&quot;GeometryCollection&quot;:return{type:r,geometries:t.geometries.map(c)};case&quot;Point&quot;:e=n(t.coordinates);break;case&quot;MultiPoint&quot;:e=t.coordinates.map(n);break;case&quot;LineString&quot;:e=i(t.arcs);break;case&quot;MultiLineString&quot;:e=t.arcs.map(i);break;case&quot;Polygon&quot;:e=s(t.arcs);break;case&quot;MultiPolygon&quot;:e=t.arcs.map(s);break;default:return null}return{type:r,coordinates:e}}var u=o(t),f=t.arcs;return c(e)}function n(t,e,r){var n,i,a;if(arguments.length&gt;1)n=function(t,e,r){function n(t){var e=t&lt;0?~t:t;(c[e]||(c[e]=[])).push({i:t,g:s})}function i(t){t.forEach(n)}function a(t){t.forEach(i)}function o(t){switch(s=t,t.type){case&quot;GeometryCollection&quot;:t.geometries.forEach(o);break;case&quot;LineString&quot;:i(t.arcs);break;case&quot;MultiLineString&quot;:case&quot;Polygon&quot;:a(t.arcs);break;case&quot;MultiPolygon&quot;:!function(t){t.forEach(a)}(t.arcs)}}var s,l=[],c=[];return o(e),c.forEach(null==r?function(t){l.push(t[0].i)}:function(t){r(t[0].g,t[t.length-1].g)&amp;&amp;l.push(t[0].i)}),l}(0,e,r);else for(i=0,n=new Array(a=t.arcs.length);i&lt;a;++i)n[i]=i;return{type:&quot;MultiLineString&quot;,arcs:c(t,n)}}function i(t,e){function n(t){switch(t.type){case&quot;GeometryCollection&quot;:t.geometries.forEach(n);break;case&quot;Polygon&quot;:i(t.arcs);break;case&quot;MultiPolygon&quot;:t.arcs.forEach(i)}}function i(t){t.forEach(function(e){e.forEach(function(e){(o[e=e&lt;0?~e:e]||(o[e]=[])).push(t)})}),s.push(t)}function a(e){return function(t){for(var e,r=-1,n=t.length,i=t[n-1],a=0;++r&lt;n;)e=i,i=t[r],a+=e[0]*i[1]-e[1]*i[0];return Math.abs(a)}(r(t,{type:&quot;Polygon&quot;,arcs:[e]}).coordinates[0])}var o={},s=[],l=[];return e.forEach(n),s.forEach(function(t){if(!t._){var e=[],r=[t];for(t._=1,l.push(e);t=r.pop();)e.push(t),t.forEach(function(t){t.forEach(function(t){o[t&lt;0?~t:t].forEach(function(t){t._||(t._=1,r.push(t))})})})}}),s.forEach(function(t){delete t._}),{type:&quot;MultiPolygon&quot;,arcs:l.map(function(e){var r,n=[];if(e.forEach(function(t){t.forEach(function(t){t.forEach(function(t){o[t&lt;0?~t:t].length&lt;2&amp;&amp;n.push(t)})})}),n=c(t,n),(r=n.length)&gt;1)for(var i,s,l=1,u=a(n[0]);l&lt;r;++l)(i=a(n[l]))&gt;u&amp;&amp;(s=n[0],n[0]=n[l],n[l]=s,u=i);return n})}}var a=function(t){return t},o=function(t){if(null==(e=t.transform))return a;var e,r,n,i=e.scale[0],o=e.scale[1],s=e.translate[0],l=e.translate[1];return function(t,e){return e||(r=n=0),t[0]=(r+=t[0])*i+s,t[1]=(n+=t[1])*o+l,t}},s=function(t){function e(t){l[0]=t[0],l[1]=t[1],s(l),l[0]&lt;c&amp;&amp;(c=l[0]),l[0]&gt;f&amp;&amp;(f=l[0]),l[1]&lt;u&amp;&amp;(u=l[1]),l[1]&gt;h&amp;&amp;(h=l[1])}function r(t){switch(t.type){case&quot;GeometryCollection&quot;:t.geometries.forEach(r);break;case&quot;Point&quot;:e(t.coordinates);break;case&quot;MultiPoint&quot;:t.coordinates.forEach(e)}}var n=t.bbox;if(!n){var i,a,s=o(t),l=new Array(2),c=1/0,u=c,f=-c,h=-c;t.arcs.forEach(function(t){for(var e=-1,r=t.length;++e&lt;r;)i=t[e],l[0]=i[0],l[1]=i[1],s(l,e),l[0]&lt;c&amp;&amp;(c=l[0]),l[0]&gt;f&amp;&amp;(f=l[0]),l[1]&lt;u&amp;&amp;(u=l[1]),l[1]&gt;h&amp;&amp;(h=l[1])});for(a in t.objects)r(t.objects[a]);n=t.bbox=[c,u,f,h]}return n},l=function(t,e){for(var r,n=t.length,i=n-e;i&lt;--n;)r=t[i],t[i++]=t[n],t[n]=r},c=function(t,e){function r(t,e){for(var r in t){var i=t[r];delete e[i.start],delete i.start,delete i.end,i.forEach(function(t){n[t&lt;0?~t:t]=1}),o.push(i)}}var n={},i={},a={},o=[],s=-1;return e.forEach(function(r,n){var i,a=t.arcs[r&lt;0?~r:r];a.length&lt;3&amp;&amp;!a[1][0]&amp;&amp;!a[1][1]&amp;&amp;(i=e[++s],e[s]=r,e[n]=i)}),e.forEach(function(e){var r,n,o=function(e){var r,n=t.arcs[e&lt;0?~e:e],i=n[0];return t.transform?(r=[0,0],n.forEach(function(t){r[0]+=t[0],r[1]+=t[1]})):r=n[n.length-1],e&lt;0?[r,i]:[i,r]}(e),s=o[0],l=o[1];if(r=a[s])if(delete a[r.end],r.push(e),r.end=l,n=i[l]){delete i[n.start];var c=n===r?r:r.concat(n);i[c.start=r.start]=a[c.end=n.end]=c}else i[r.start]=a[r.end]=r;else if(r=i[l])if(delete i[r.start],r.unshift(e),r.start=s,n=a[s]){delete a[n.end];var u=n===r?r:n.concat(r);i[u.start=n.start]=a[u.end=r.end]=u}else i[r.start]=a[r.end]=r;else i[(r=[e]).start=s]=a[r.end=l]=r}),r(a,i),r(i,a),e.forEach(function(t){n[t&lt;0?~t:t]||o.push([t])}),o},u=function(t,e){for(var r=0,n=t.length;r&lt;n;){var i=r+n&gt;&gt;&gt;1;t[i]&lt;e?r=i+1:n=i}return r};t.bbox=s,t.feature=function(t,r){return&quot;GeometryCollection&quot;===r.type?{type:&quot;FeatureCollection&quot;,features:r.geometries.map(function(r){return e(t,r)})}:e(t,r)},t.mesh=function(t){return r(t,n.apply(this,arguments))},t.meshArcs=n,t.merge=function(t){return r(t,i.apply(this,arguments))},t.mergeArcs=i,t.neighbors=function(t){function e(t,e){t.forEach(function(t){t&lt;0&amp;&amp;(t=~t);var r=i[t];r?r.push(e):i[t]=[e]})}function r(t,r){t.forEach(function(t){e(t,r)})}function n(t,e){&quot;GeometryCollection&quot;===t.type?t.geometries.forEach(function(t){n(t,e)}):t.type in o&amp;&amp;o[t.type](t.arcs,e)}var i={},a=t.map(function(){return[]}),o={LineString:e,MultiLineString:r,Polygon:r,MultiPolygon:function(t,e){t.forEach(function(t){r(t,e)})}};t.forEach(n);for(var s in i)for(var l=i[s],c=l.length,f=0;f&lt;c;++f)for(var h=f+1;h&lt;c;++h){var d,p=l[f],m=l[h];(d=a[p])[s=u(d,m)]!==m&amp;&amp;d.splice(s,0,m),(d=a[m])[s=u(d,p)]!==p&amp;&amp;d.splice(s,0,p)}return a},t.quantize=function(t,e){function r(t){t[0]=Math.round((t[0]-o)/l),t[1]=Math.round((t[1]-c)/u)}function n(t){switch(t.type){case&quot;GeometryCollection&quot;:t.geometries.forEach(n);break;case&quot;Point&quot;:r(t.coordinates);break;case&quot;MultiPoint&quot;:t.coordinates.forEach(r)}}if(!((e=Math.floor(e))&gt;=2))throw new Error(&quot;n must be \u22652&quot;);if(t.transform)throw new Error(&quot;already quantized&quot;);var i,a=s(t),o=a[0],l=(a[2]-o)/(e-1)||1,c=a[1],u=(a[3]-c)/(e-1)||1;t.arcs.forEach(function(t){for(var e,r,n,i=1,a=1,s=t.length,f=t[0],h=f[0]=Math.round((f[0]-o)/l),d=f[1]=Math.round((f[1]-c)/u);i&lt;s;++i)f=t[i],r=Math.round((f[0]-o)/l),n=Math.round((f[1]-c)/u),r===h&amp;&amp;n===d||((e=t[a++])[0]=r-h,h=r,e[1]=n-d,d=n);a&lt;2&amp;&amp;((e=t[a++])[0]=0,e[1]=0),t.length=a});for(i in t.objects)n(t.objects[i]);return t.transform={scale:[l,u],translate:[o,c]},t},t.transform=o,t.untransform=function(t){if(null==(e=t.transform))return a;var e,r,n,i=e.scale[0],o=e.scale[1],s=e.translate[0],l=e.translate[1];return function(t,e){e||(r=n=0);var a=Math.round((t[0]-s)/i),c=Math.round((t[1]-l)/o);return t[0]=a-r,r=a,t[1]=c-n,n=c,t}},Object.defineProperty(t,&quot;__esModule&quot;,{value:!0})})},{}],550:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t){if(t&lt;0)return[];if(0===t)return[[0]];for(var e=0|Math.round(a(t+1)),r=[],o=0;o&lt;e;++o){for(var s=n.unrank(t,o),l=[0],c=0,u=0;u&lt;s.length;++u)c+=1&lt;&lt;s[u],l.push(c);i(s)&lt;1&amp;&amp;(l[0]=c,l[t]=0),r.push(l)}return r};var n=t(&quot;permutation-rank&quot;),i=t(&quot;permutation-parity&quot;),a=t(&quot;gamma&quot;)},{gamma:145,&quot;permutation-parity&quot;:471,&quot;permutation-rank&quot;:472}],551:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r){return Math.sqrt(Math.pow(t,2)+Math.pow(e,2)+Math.pow(r,2))}function i(t){return Math.min(1,Math.max(-1,t))}function a(t){var e=Math.abs(t[0]),r=Math.abs(t[1]),n=Math.abs(t[2]),i=[0,0,0];e&gt;Math.max(r,n)?i[2]=1:r&gt;Math.max(e,n)?i[0]=1:i[1]=1;for(var a=0,o=0,s=0;s&lt;3;++s)a+=t[s]*t[s],o+=i[s]*t[s];for(s=0;s&lt;3;++s)i[s]-=o/a*t[s];return f(i,i),i}function o(t,e,r,n,i,a,o,l){this.center=s(r),this.up=s(n),this.right=s(i),this.radius=s([a]),this.angle=s([o,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&lt;16;++c)this.computedMatrix[c]=.5;this.recalcMatrix(0)}e.exports=function(t){var e=(t=t||{}).center||[0,0,0],r=t.up||[0,1,0],i=t.right||a(r),s=t.radius||1,l=t.theta||0,c=t.phi||0;if(e=[].slice.call(e,0,3),r=[].slice.call(r,0,3),f(r,r),i=[].slice.call(i,0,3),f(i,i),&quot;eye&quot;in t){var d=t.eye,p=[d[0]-e[0],d[1]-e[1],d[2]-e[2]];u(i,p,r),n(i[0],i[1],i[2])&lt;1e-6?i=a(r):f(i,i),s=n(p[0],p[1],p[2]);var m=h(r,p)/s,g=h(i,p)/s;c=Math.acos(m),l=Math.acos(g)}return s=Math.log(s),new o(t.zoomMin,t.zoomMax,e,r,i,s,l,c)};var s=t(&quot;filtered-vector&quot;),l=t(&quot;gl-mat4/invert&quot;),c=t(&quot;gl-mat4/rotate&quot;),u=t(&quot;gl-vec3/cross&quot;),f=t(&quot;gl-vec3/normalize&quot;),h=t(&quot;gl-vec3/dot&quot;),d=o.prototype;d.setDistanceLimits=function(t,e){t=t&gt;0?Math.log(t):-1/0,e=e&gt;0?Math.log(e):1/0,e=Math.max(e,t),this.radius.bounds[0][0]=t,this.radius.bounds[1][0]=e},d.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])]},d.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,i=0,a=0,o=0;o&lt;3;++o)a+=e[o]*r[o],i+=e[o]*e[o];var s=Math.sqrt(i),l=0;for(o=0;o&lt;3;++o)r[o]-=e[o]*a/i,l+=r[o]*r[o],e[o]/=s;var c=Math.sqrt(l);for(o=0;o&lt;3;++o)r[o]/=c;var h=this.computedToward;u(h,e,r),f(h,h);var d=Math.exp(this.computedRadius[0]),p=this.computedAngle[0],m=this.computedAngle[1],g=Math.cos(p),v=Math.sin(p),y=Math.cos(m),x=Math.sin(m),b=this.computedCenter,_=g*y,w=v*y,M=x,k=-g*x,A=-v*x,T=y,S=this.computedEye,E=this.computedMatrix;for(o=0;o&lt;3;++o){var L=_*r[o]+w*h[o]+M*e[o];E[4*o+1]=k*r[o]+A*h[o]+T*e[o],E[4*o+2]=L,E[4*o+3]=0}var C=E[1],z=E[5],D=E[9],I=E[2],P=E[6],O=E[10],F=z*O-D*P,R=D*I-C*O,N=C*P-z*I,j=n(F,R,N);F/=j,R/=j,N/=j,E[0]=F,E[4]=R,E[8]=N;for(o=0;o&lt;3;++o)S[o]=b[o]+E[2+4*o]*d;for(o=0;o&lt;3;++o){l=0;for(var B=0;B&lt;3;++B)l+=E[o+4*B]*S[B];E[12+o]=-l}E[15]=1},d.getMatrix=function(t,e){this.recalcMatrix(t);var r=this.computedMatrix;if(e){for(var n=0;n&lt;16;++n)e[n]=r[n];return e}return r};var p=[0,0,0];d.rotate=function(t,e,r,n){if(this.angle.move(t,e,r),n){this.recalcMatrix(t);var i=this.computedMatrix;p[0]=i[2],p[1]=i[6],p[2]=i[10];for(var a=this.computedUp,o=this.computedRight,s=this.computedToward,l=0;l&lt;3;++l)i[4*l]=a[l],i[4*l+1]=o[l],i[4*l+2]=s[l];c(i,i,n,p);for(l=0;l&lt;3;++l)a[l]=i[4*l],o[l]=i[4*l+1];this.up.set(t,a[0],a[1],a[2]),this.right.set(t,o[0],o[1],o[2])}},d.pan=function(t,e,r,i){e=e||0,r=r||0,i=i||0,this.recalcMatrix(t);var a=this.computedMatrix,o=(Math.exp(this.computedRadius[0]),a[1]),s=a[5],l=a[9],c=n(o,s,l);o/=c,s/=c,l/=c;var u=a[0],f=a[4],h=a[8],d=u*o+f*s+h*l,p=n(u-=o*d,f-=s*d,h-=l*d),m=(u/=p)*e+o*r,g=(f/=p)*e+s*r,v=(h/=p)*e+l*r;this.center.move(t,m,g,v);var y=Math.exp(this.computedRadius[0]);y=Math.max(1e-4,y+i),this.radius.set(t,Math.log(y))},d.translate=function(t,e,r,n){this.center.move(t,e||0,r||0,n||0)},d.setMatrix=function(t,e,r,a){var o=1;&quot;number&quot;==typeof r&amp;&amp;(o=0|r),(o&lt;0||o&gt;3)&amp;&amp;(o=1);var s=(o+2)%3;e||(this.recalcMatrix(t),e=this.computedMatrix);var c=e[o],u=e[o+4],f=e[o+8];if(a){var h=Math.abs(c),d=Math.abs(u),p=Math.abs(f),m=Math.max(h,d,p);h===m?(c=c&lt;0?-1:1,u=f=0):p===m?(f=f&lt;0?-1:1,c=u=0):(u=u&lt;0?-1:1,c=f=0)}else{var g=n(c,u,f);c/=g,u/=g,f/=g}var v=e[s],y=e[s+4],x=e[s+8],b=v*c+y*u+x*f,_=n(v-=c*b,y-=u*b,x-=f*b),w=u*(x/=_)-f*(y/=_),M=f*(v/=_)-c*x,k=c*y-u*v,A=n(w,M,k);w/=A,M/=A,k/=A,this.center.jump(t,H,G,Y),this.radius.idle(t),this.up.jump(t,c,u,f),this.right.jump(t,v,y,x);var T,S;if(2===o){var E=e[1],L=e[5],C=e[9],z=E*v+L*y+C*x,D=E*w+L*M+C*k;T=F&lt;0?-Math.PI/2:Math.PI/2,S=Math.atan2(D,z)}else{var I=e[2],P=e[6],O=e[10],F=I*c+P*u+O*f,R=I*v+P*y+O*x,N=I*w+P*M+O*k;T=Math.asin(i(F)),S=Math.atan2(N,R)}this.angle.jump(t,S,T),this.recalcMatrix(t);var j=e[2],B=e[6],U=e[10],V=this.computedMatrix;l(V,e);var q=V[15],H=V[12]/q,G=V[13]/q,Y=V[14]/q,W=Math.exp(this.computedRadius[0]);this.center.jump(t,H-j*W,G-B*W,Y-U*W)},d.lastT=function(){return Math.max(this.center.lastT(),this.up.lastT(),this.right.lastT(),this.radius.lastT(),this.angle.lastT())},d.idle=function(t){this.center.idle(t),this.up.idle(t),this.right.idle(t),this.radius.idle(t),this.angle.idle(t)},d.flush=function(t){this.center.flush(t),this.up.flush(t),this.right.flush(t),this.radius.flush(t),this.angle.flush(t)},d.setDistance=function(t,e){e&gt;0&amp;&amp;this.radius.set(t,Math.log(e))},d.lookAt=function(t,e,r,a){this.recalcMatrix(t),e=e||this.computedEye,r=r||this.computedCenter;var o=(a=a||this.computedUp)[0],s=a[1],l=a[2],c=n(o,s,l);if(!(c&lt;1e-6)){o/=c,s/=c,l/=c;var u=e[0]-r[0],f=e[1]-r[1],h=e[2]-r[2],d=n(u,f,h);if(!(d&lt;1e-6)){u/=d,f/=d,h/=d;var p=this.computedRight,m=p[0],g=p[1],v=p[2],y=o*m+s*g+l*v,x=n(m-=y*o,g-=y*s,v-=y*l);if(!(x&lt;.01&amp;&amp;(m=s*h-l*f,g=l*u-o*h,v=o*f-s*u,(x=n(m,g,v))&lt;1e-6))){m/=x,g/=x,v/=x,this.up.set(t,o,s,l),this.right.set(t,m,g,v),this.center.set(t,r[0],r[1],r[2]),this.radius.set(t,Math.log(d));var b=s*v-l*g,_=l*m-o*v,w=o*g-s*m,M=n(b,_,w),k=o*u+s*f+l*h,A=m*u+g*f+v*h,T=(b/=M)*u+(_/=M)*f+(w/=M)*h,S=Math.asin(i(k)),E=Math.atan2(T,A),L=this.angle._state,C=L[L.length-1],z=L[L.length-2];C%=2*Math.PI;var D=Math.abs(C+2*Math.PI-E),I=Math.abs(C-E),P=Math.abs(C-2*Math.PI-E);D&lt;I&amp;&amp;(C+=2*Math.PI),P&lt;I&amp;&amp;(C-=2*Math.PI),this.angle.jump(this.angle.lastT(),C,z),this.angle.set(t,E,S)}}}}},{&quot;filtered-vector&quot;:142,&quot;gl-mat4/invert&quot;:186,&quot;gl-mat4/rotate&quot;:190,&quot;gl-vec3/cross&quot;:260,&quot;gl-vec3/dot&quot;:261,&quot;gl-vec3/normalize&quot;:264}],552:[function(t,e,r){&quot;use strict&quot;;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);return r?(r[0]=f,r[1]=i,r):[f,i]};var n=+(Math.pow(2,27)+1)},{}],553:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t,e,r){var n=t+e,i=n-t,a=e-i,o=t-(n-i);return r?(r[0]=o+a,r[1]=n,r):[o+a,n]}},{}],554:[function(t,e,r){(function(e,n){&quot;use strict&quot;;function i(t){if(t){var e=t.length||t.byteLength,r=v.log2(e);_[r].push(t)}}function a(t){t=v.nextPow2(t);var e=v.log2(t),r=_[e];return r.length&gt;0?r.pop():new ArrayBuffer(t)}function o(t){return new Uint8Array(a(t),0,t)}function s(t){return new Uint16Array(a(2*t),0,t)}function l(t){return new Uint32Array(a(4*t),0,t)}function c(t){return new Int8Array(a(t),0,t)}function u(t){return new Int16Array(a(2*t),0,t)}function f(t){return new Int32Array(a(4*t),0,t)}function h(t){return new Float32Array(a(4*t),0,t)}function d(t){return new Float64Array(a(8*t),0,t)}function p(t){return x?new Uint8ClampedArray(a(t),0,t):o(t)}function m(t){return new DataView(a(t),0,t)}function g(t){t=v.nextPow2(t);var e=v.log2(t),r=w[e];return r.length&gt;0?r.pop():new n(t)}var v=t(&quot;bit-twiddle&quot;),y=t(&quot;dup&quot;);e.__TYPEDARRAY_POOL||(e.__TYPEDARRAY_POOL={UINT8:y([32,0]),UINT16:y([32,0]),UINT32:y([32,0]),INT8:y([32,0]),INT16:y([32,0]),INT32:y([32,0]),FLOAT:y([32,0]),DOUBLE:y([32,0]),DATA:y([32,0]),UINT8C:y([32,0]),BUFFER:y([32,0])});var x=&quot;undefined&quot;!=typeof Uint8ClampedArray,b=e.__TYPEDARRAY_POOL;b.UINT8C||(b.UINT8C=y([32,0])),b.BUFFER||(b.BUFFER=y([32,0]));var _=b.DATA,w=b.BUFFER;r.free=function(t){if(n.isBuffer(t))w[v.log2(t.length)].push(t);else{if(&quot;[object ArrayBuffer]&quot;!==Object.prototype.toString.call(t)&amp;&amp;(t=t.buffer),!t)return;var e=t.length||t.byteLength,r=0|v.log2(e);_[r].push(t)}},r.freeUint8=r.freeUint16=r.freeUint32=r.freeInt8=r.freeInt16=r.freeInt32=r.freeFloat32=r.freeFloat=r.freeFloat64=r.freeDouble=r.freeUint8Clamped=r.freeDataView=function(t){i(t.buffer)},r.freeArrayBuffer=i,r.freeBuffer=function(t){w[v.log2(t.length)].push(t)},r.malloc=function(t,e){if(void 0===e||&quot;arraybuffer&quot;===e)return a(t);switch(e){case&quot;uint8&quot;:return o(t);case&quot;uint16&quot;:return s(t);case&quot;uint32&quot;:return l(t);case&quot;int8&quot;:return c(t);case&quot;int16&quot;:return u(t);case&quot;int32&quot;:return f(t);case&quot;float&quot;:case&quot;float32&quot;:return h(t);case&quot;double&quot;:case&quot;float64&quot;:return d(t);case&quot;uint8_clamped&quot;:return p(t);case&quot;buffer&quot;:return g(t);case&quot;data&quot;:case&quot;dataview&quot;:return m(t);default:return null}return null},r.mallocArrayBuffer=a,r.mallocUint8=o,r.mallocUint16=s,r.mallocUint32=l,r.mallocInt8=c,r.mallocInt16=u,r.mallocInt32=f,r.mallocFloat32=r.mallocFloat=h,r.mallocFloat64=r.mallocDouble=d,r.mallocUint8Clamped=p,r.mallocDataView=m,r.mallocBuffer=g,r.clearCache=function(){for(var t=0;t&lt;32;++t)b.UINT8[t].length=0,b.UINT16[t].length=0,b.UINT32[t].length=0,b.INT8[t].length=0,b.INT16[t].length=0,b.INT32[t].length=0,b.FLOAT[t].length=0,b.DOUBLE[t].length=0,b.UINT8C[t].length=0,_[t].length=0,w[t].length=0}}).call(this,&quot;undefined&quot;!=typeof global?global:&quot;undefined&quot;!=typeof self?self:&quot;undefined&quot;!=typeof window?window:{},t(&quot;buffer&quot;).Buffer)},{&quot;bit-twiddle&quot;:71,buffer:82,dup:134}],555:[function(t,e,r){&quot;use strict&quot;;&quot;use restrict&quot;;function n(t){this.roots=new Array(t),this.ranks=new Array(t);for(var e=0;e&lt;t;++e)this.roots[e]=e,this.ranks[e]=0}e.exports=n;var i=n.prototype;Object.defineProperty(i,&quot;length&quot;,{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&lt;s?a[r]=n:s&lt;o?a[n]=r:(a[n]=r,++i[r])}}},{}],556:[function(t,e,r){&quot;use strict&quot;;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&lt;n;++o)if(a=i,i=t[o],e(i,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&lt;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))}},{}],557:[function(t,e,r){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}e.exports=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){void 0===e&amp;&amp;(e=1e-6);var r,n,i,a,o;for(i=t,o=0;o&lt;8;o++){if(a=this.sampleCurveX(i)-t,Math.abs(a)&lt;e)return i;var s=this.sampleCurveDerivativeX(i);if(Math.abs(s)&lt;1e-6)break;i-=a/s}if(r=0,n=1,(i=t)&lt;r)return r;if(i&gt;n)return n;for(;r&lt;n;){if(a=this.sampleCurveX(i),Math.abs(a-t)&lt;e)return i;t&gt;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))}},{}],558:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t,e,r){Array.isArray(r)||(r=[].slice.call(arguments,2));for(var n=0,i=r.length;n&lt;i;n++){var a=r[n];for(var o in a)if((void 0===e[o]||Array.isArray(e[o])||t[o]!==e[o])&amp;&amp;o in e){var s;if(!0===a[o])s=e[o];else{if(!1===a[o])continue;if(&quot;function&quot;==typeof a[o]&amp;&amp;void 0===(s=a[o](e[o],t,e)))continue}t[o]=s}}return t}},{}],559:[function(t,e,r){&quot;use strict&quot;;function n(){this.protocol=null,this.slashes=null,this.auth=null,this.host=null,this.port=null,this.hostname=null,this.hash=null,this.search=null,this.query=null,this.pathname=null,this.path=null,this.href=null}function i(t,e,r){if(t&amp;&amp;o.isObject(t)&amp;&amp;t instanceof n)return t;var i=new n;return i.parse(t,e,r),i}var a=t(&quot;punycode&quot;),o=t(&quot;./util&quot;);r.parse=i,r.resolve=function(t,e){return i(t,!1,!0).resolve(e)},r.resolveObject=function(t,e){return t?i(t,!1,!0).resolveObject(e):e},r.format=function(t){return o.isString(t)&amp;&amp;(t=i(t)),t instanceof n?t.format():n.prototype.format.call(t)},r.Url=n;var s=/^([a-z0-9.+-]+:)/i,l=/:[0-9]*$/,c=/^(\/\/?(?!\/)[^\?\s]*)(\?[^\s]*)?$/,u=[&quot;{&quot;,&quot;}&quot;,&quot;|&quot;,&quot;\\&quot;,&quot;^&quot;,&quot;`&quot;].concat([&quot;&lt;&quot;,&quot;&gt;&quot;,'&quot;',&quot;`&quot;,&quot; &quot;,&quot;\r&quot;,&quot;\n&quot;,&quot;\t&quot;]),f=[&quot;'&quot;].concat(u),h=[&quot;%&quot;,&quot;/&quot;,&quot;?&quot;,&quot;;&quot;,&quot;#&quot;].concat(f),d=[&quot;/&quot;,&quot;?&quot;,&quot;#&quot;],p=/^[+a-z0-9A-Z_-]{0,63}$/,m=/^([+a-z0-9A-Z_-]{0,63})(.*)$/,g={javascript:!0,&quot;javascript:&quot;:!0},v={javascript:!0,&quot;javascript:&quot;:!0},y={http:!0,https:!0,ftp:!0,gopher:!0,file:!0,&quot;http:&quot;:!0,&quot;https:&quot;:!0,&quot;ftp:&quot;:!0,&quot;gopher:&quot;:!0,&quot;file:&quot;:!0},x=t(&quot;querystring&quot;);n.prototype.parse=function(t,e,r){if(!o.isString(t))throw new TypeError(&quot;Parameter 'url' must be a string, not &quot;+typeof t);var n=t.indexOf(&quot;?&quot;),i=-1!==n&amp;&amp;n&lt;t.indexOf(&quot;#&quot;)?&quot;?&quot;:&quot;#&quot;,l=t.split(i);l[0]=l[0].replace(/\\/g,&quot;/&quot;);var u=t=l.join(i);if(u=u.trim(),!r&amp;&amp;1===t.split(&quot;#&quot;).length){var b=c.exec(u);if(b)return this.path=u,this.href=u,this.pathname=b[1],b[2]?(this.search=b[2],this.query=e?x.parse(this.search.substr(1)):this.search.substr(1)):e&amp;&amp;(this.search=&quot;&quot;,this.query={}),this}var _=s.exec(u);if(_){var w=(_=_[0]).toLowerCase();this.protocol=w,u=u.substr(_.length)}if(r||_||u.match(/^\/\/[^@\/]+@[^@\/]+/)){var M=&quot;//&quot;===u.substr(0,2);!M||_&amp;&amp;v[_]||(u=u.substr(2),this.slashes=!0)}if(!v[_]&amp;&amp;(M||_&amp;&amp;!y[_])){for(var k=-1,A=0;A&lt;d.length;A++){-1!==(E=u.indexOf(d[A]))&amp;&amp;(-1===k||E&lt;k)&amp;&amp;(k=E)}var T,S;-1!==(S=-1===k?u.lastIndexOf(&quot;@&quot;):u.lastIndexOf(&quot;@&quot;,k))&amp;&amp;(T=u.slice(0,S),u=u.slice(S+1),this.auth=decodeURIComponent(T)),k=-1;for(A=0;A&lt;h.length;A++){var E;-1!==(E=u.indexOf(h[A]))&amp;&amp;(-1===k||E&lt;k)&amp;&amp;(k=E)}-1===k&amp;&amp;(k=u.length),this.host=u.slice(0,k),u=u.slice(k),this.parseHost(),this.hostname=this.hostname||&quot;&quot;;var L=&quot;[&quot;===this.hostname[0]&amp;&amp;&quot;]&quot;===this.hostname[this.hostname.length-1];if(!L)for(var C=this.hostname.split(/\./),z=(A=0,C.length);A&lt;z;A++){var D=C[A];if(D&amp;&amp;!D.match(p)){for(var I=&quot;&quot;,P=0,O=D.length;P&lt;O;P++)D.charCodeAt(P)&gt;127?I+=&quot;x&quot;:I+=D[P];if(!I.match(p)){var F=C.slice(0,A),R=C.slice(A+1),N=D.match(m);N&amp;&amp;(F.push(N[1]),R.unshift(N[2])),R.length&amp;&amp;(u=&quot;/&quot;+R.join(&quot;.&quot;)+u),this.hostname=F.join(&quot;.&quot;);break}}}this.hostname.length&gt;255?this.hostname=&quot;&quot;:this.hostname=this.hostname.toLowerCase(),L||(this.hostname=a.toASCII(this.hostname));var j=this.port?&quot;:&quot;+this.port:&quot;&quot;,B=this.hostname||&quot;&quot;;this.host=B+j,this.href+=this.host,L&amp;&amp;(this.hostname=this.hostname.substr(1,this.hostname.length-2),&quot;/&quot;!==u[0]&amp;&amp;(u=&quot;/&quot;+u))}if(!g[w])for(A=0,z=f.length;A&lt;z;A++){var U=f[A];if(-1!==u.indexOf(U)){var V=encodeURIComponent(U);V===U&amp;&amp;(V=escape(U)),u=u.split(U).join(V)}}var q=u.indexOf(&quot;#&quot;);-1!==q&amp;&amp;(this.hash=u.substr(q),u=u.slice(0,q));var H=u.indexOf(&quot;?&quot;);if(-1!==H?(this.search=u.substr(H),this.query=u.substr(H+1),e&amp;&amp;(this.query=x.parse(this.query)),u=u.slice(0,H)):e&amp;&amp;(this.search=&quot;&quot;,this.query={}),u&amp;&amp;(this.pathname=u),y[w]&amp;&amp;this.hostname&amp;&amp;!this.pathname&amp;&amp;(this.pathname=&quot;/&quot;),this.pathname||this.search){j=this.pathname||&quot;&quot;;var G=this.search||&quot;&quot;;this.path=j+G}return this.href=this.format(),this},n.prototype.format=function(){var t=this.auth||&quot;&quot;;t&amp;&amp;(t=(t=encodeURIComponent(t)).replace(/%3A/i,&quot;:&quot;),t+=&quot;@&quot;);var e=this.protocol||&quot;&quot;,r=this.pathname||&quot;&quot;,n=this.hash||&quot;&quot;,i=!1,a=&quot;&quot;;this.host?i=t+this.host:this.hostname&amp;&amp;(i=t+(-1===this.hostname.indexOf(&quot;:&quot;)?this.hostname:&quot;[&quot;+this.hostname+&quot;]&quot;),this.port&amp;&amp;(i+=&quot;:&quot;+this.port)),this.query&amp;&amp;o.isObject(this.query)&amp;&amp;Object.keys(this.query).length&amp;&amp;(a=x.stringify(this.query));var s=this.search||a&amp;&amp;&quot;?&quot;+a||&quot;&quot;;return e&amp;&amp;&quot;:&quot;!==e.substr(-1)&amp;&amp;(e+=&quot;:&quot;),this.slashes||(!e||y[e])&amp;&amp;!1!==i?(i=&quot;//&quot;+(i||&quot;&quot;),r&amp;&amp;&quot;/&quot;!==r.charAt(0)&amp;&amp;(r=&quot;/&quot;+r)):i||(i=&quot;&quot;),n&amp;&amp;&quot;#&quot;!==n.charAt(0)&amp;&amp;(n=&quot;#&quot;+n),s&amp;&amp;&quot;?&quot;!==s.charAt(0)&amp;&amp;(s=&quot;?&quot;+s),r=r.replace(/[?#]/g,function(t){return encodeURIComponent(t)}),s=s.replace(&quot;#&quot;,&quot;%23&quot;),e+i+r+s+n},n.prototype.resolve=function(t){return this.resolveObject(i(t,!1,!0)).format()},n.prototype.resolveObject=function(t){if(o.isString(t)){var e=new n;e.parse(t,!1,!0),t=e}for(var r=new n,i=Object.keys(this),a=0;a&lt;i.length;a++){var s=i[a];r[s]=this[s]}if(r.hash=t.hash,&quot;&quot;===t.href)return r.href=r.format(),r;if(t.slashes&amp;&amp;!t.protocol){for(var l=Object.keys(t),c=0;c&lt;l.length;c++){var u=l[c];&quot;protocol&quot;!==u&amp;&amp;(r[u]=t[u])}return y[r.protocol]&amp;&amp;r.hostname&amp;&amp;!r.pathname&amp;&amp;(r.path=r.pathname=&quot;/&quot;),r.href=r.format(),r}if(t.protocol&amp;&amp;t.protocol!==r.protocol){if(!y[t.protocol]){for(var f=Object.keys(t),h=0;h&lt;f.length;h++){var d=f[h];r[d]=t[d]}return r.href=r.format(),r}if(r.protocol=t.protocol,t.host||v[t.protocol])r.pathname=t.pathname;else{for(var p=(t.pathname||&quot;&quot;).split(&quot;/&quot;);p.length&amp;&amp;!(t.host=p.shift()););t.host||(t.host=&quot;&quot;),t.hostname||(t.hostname=&quot;&quot;),&quot;&quot;!==p[0]&amp;&amp;p.unshift(&quot;&quot;),p.length&lt;2&amp;&amp;p.unshift(&quot;&quot;),r.pathname=p.join(&quot;/&quot;)}if(r.search=t.search,r.query=t.query,r.host=t.host||&quot;&quot;,r.auth=t.auth,r.hostname=t.hostname||t.host,r.port=t.port,r.pathname||r.search){var m=r.pathname||&quot;&quot;,g=r.search||&quot;&quot;;r.path=m+g}return r.slashes=r.slashes||t.slashes,r.href=r.format(),r}var x=r.pathname&amp;&amp;&quot;/&quot;===r.pathname.charAt(0),b=t.host||t.pathname&amp;&amp;&quot;/&quot;===t.pathname.charAt(0),_=b||x||r.host&amp;&amp;t.pathname,w=_,M=r.pathname&amp;&amp;r.pathname.split(&quot;/&quot;)||[],k=(p=t.pathname&amp;&amp;t.pathname.split(&quot;/&quot;)||[],r.protocol&amp;&amp;!y[r.protocol]);if(k&amp;&amp;(r.hostname=&quot;&quot;,r.port=null,r.host&amp;&amp;(&quot;&quot;===M[0]?M[0]=r.host:M.unshift(r.host)),r.host=&quot;&quot;,t.protocol&amp;&amp;(t.hostname=null,t.port=null,t.host&amp;&amp;(&quot;&quot;===p[0]?p[0]=t.host:p.unshift(t.host)),t.host=null),_=_&amp;&amp;(&quot;&quot;===p[0]||&quot;&quot;===M[0])),b)r.host=t.host||&quot;&quot;===t.host?t.host:r.host,r.hostname=t.hostname||&quot;&quot;===t.hostname?t.hostname:r.hostname,r.search=t.search,r.query=t.query,M=p;else if(p.length)M||(M=[]),M.pop(),M=M.concat(p),r.search=t.search,r.query=t.query;else if(!o.isNullOrUndefined(t.search)){if(k){r.hostname=r.host=M.shift();(C=!!(r.host&amp;&amp;r.host.indexOf(&quot;@&quot;)&gt;0)&amp;&amp;r.host.split(&quot;@&quot;))&amp;&amp;(r.auth=C.shift(),r.host=r.hostname=C.shift())}return r.search=t.search,r.query=t.query,o.isNull(r.pathname)&amp;&amp;o.isNull(r.search)||(r.path=(r.pathname?r.pathname:&quot;&quot;)+(r.search?r.search:&quot;&quot;)),r.href=r.format(),r}if(!M.length)return r.pathname=null,r.search?r.path=&quot;/&quot;+r.search:r.path=null,r.href=r.format(),r;for(var A=M.slice(-1)[0],T=(r.host||t.host||M.length&gt;1)&amp;&amp;(&quot;.&quot;===A||&quot;..&quot;===A)||&quot;&quot;===A,S=0,E=M.length;E&gt;=0;E--)&quot;.&quot;===(A=M[E])?M.splice(E,1):&quot;..&quot;===A?(M.splice(E,1),S++):S&amp;&amp;(M.splice(E,1),S--);if(!_&amp;&amp;!w)for(;S--;S)M.unshift(&quot;..&quot;);!_||&quot;&quot;===M[0]||M[0]&amp;&amp;&quot;/&quot;===M[0].charAt(0)||M.unshift(&quot;&quot;),T&amp;&amp;&quot;/&quot;!==M.join(&quot;/&quot;).substr(-1)&amp;&amp;M.push(&quot;&quot;);var L=&quot;&quot;===M[0]||M[0]&amp;&amp;&quot;/&quot;===M[0].charAt(0);if(k){r.hostname=r.host=L?&quot;&quot;:M.length?M.shift():&quot;&quot;;var C;(C=!!(r.host&amp;&amp;r.host.indexOf(&quot;@&quot;)&gt;0)&amp;&amp;r.host.split(&quot;@&quot;))&amp;&amp;(r.auth=C.shift(),r.host=r.hostname=C.shift())}return(_=_||r.host&amp;&amp;M.length)&amp;&amp;!L&amp;&amp;M.unshift(&quot;&quot;),M.length?r.pathname=M.join(&quot;/&quot;):(r.pathname=null,r.path=null),o.isNull(r.pathname)&amp;&amp;o.isNull(r.search)||(r.path=(r.pathname?r.pathname:&quot;&quot;)+(r.search?r.search:&quot;&quot;)),r.auth=t.auth||r.auth,r.slashes=r.slashes||t.slashes,r.href=r.format(),r},n.prototype.parseHost=function(){var t=this.host,e=l.exec(t);e&amp;&amp;(&quot;:&quot;!==(e=e[0])&amp;&amp;(this.port=e.substr(1)),t=t.substr(0,t.length-e.length)),t&amp;&amp;(this.hostname=t)}},{&quot;./util&quot;:560,punycode:489,querystring:493}],560:[function(t,e,r){&quot;use strict&quot;;e.exports={isString:function(t){return&quot;string&quot;==typeof t},isObject:function(t){return&quot;object&quot;==typeof t&amp;&amp;null!==t},isNull:function(t){return null===t},isNullOrUndefined:function(t){return null==t}}},{}],561:[function(t,e,r){&quot;function&quot;==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}},{}],562:[function(t,e,r){e.exports=function(t){return t&amp;&amp;&quot;object&quot;==typeof t&amp;&amp;&quot;function&quot;==typeof t.copy&amp;&amp;&quot;function&quot;==typeof t.fill&amp;&amp;&quot;function&quot;==typeof t.readUInt8}},{}],563:[function(t,e,r){(function(e,n){function i(t,e){var n={seen:[],stylize:o};return arguments.length&gt;=3&amp;&amp;(n.depth=arguments[2]),arguments.length&gt;=4&amp;&amp;(n.colors=arguments[3]),f(e)?n.showHidden=e:e&amp;&amp;r._extend(n,e),m(n.showHidden)&amp;&amp;(n.showHidden=!1),m(n.depth)&amp;&amp;(n.depth=2),m(n.colors)&amp;&amp;(n.colors=!1),m(n.customInspect)&amp;&amp;(n.customInspect=!0),n.colors&amp;&amp;(n.stylize=a),s(n,t,n.depth)}function a(t,e){var r=i.styles[e];return r?&quot;\x1b[&quot;+i.colors[r][0]+&quot;m&quot;+t+&quot;\x1b[&quot;+i.colors[r][1]+&quot;m&quot;:t}function o(t,e){return t}function s(t,e,n){if(t.customInspect&amp;&amp;e&amp;&amp;b(e.inspect)&amp;&amp;e.inspect!==r.inspect&amp;&amp;(!e.constructor||e.constructor.prototype!==e)){var i=e.inspect(n,t);return p(i)||(i=s(t,i,n)),i}var a=function(t,e){if(m(e))return t.stylize(&quot;undefined&quot;,&quot;undefined&quot;);if(p(e)){var r=&quot;'&quot;+JSON.stringify(e).replace(/^&quot;|&quot;$/g,&quot;&quot;).replace(/'/g,&quot;\\'&quot;).replace(/\\&quot;/g,'&quot;')+&quot;'&quot;;return t.stylize(r,&quot;string&quot;)}if(d(e))return t.stylize(&quot;&quot;+e,&quot;number&quot;);if(f(e))return t.stylize(&quot;&quot;+e,&quot;boolean&quot;);if(h(e))return t.stylize(&quot;null&quot;,&quot;null&quot;)}(t,e);if(a)return a;var o=Object.keys(e),v=function(t){var e={};return t.forEach(function(t,r){e[t]=!0}),e}(o);if(t.showHidden&amp;&amp;(o=Object.getOwnPropertyNames(e)),x(e)&amp;&amp;(o.indexOf(&quot;message&quot;)&gt;=0||o.indexOf(&quot;description&quot;)&gt;=0))return l(e);if(0===o.length){if(b(e)){var _=e.name?&quot;: &quot;+e.name:&quot;&quot;;return t.stylize(&quot;[Function&quot;+_+&quot;]&quot;,&quot;special&quot;)}if(g(e))return t.stylize(RegExp.prototype.toString.call(e),&quot;regexp&quot;);if(y(e))return t.stylize(Date.prototype.toString.call(e),&quot;date&quot;);if(x(e))return l(e)}var w=&quot;&quot;,k=!1,A=[&quot;{&quot;,&quot;}&quot;];if(u(e)&amp;&amp;(k=!0,A=[&quot;[&quot;,&quot;]&quot;]),b(e)){w=&quot; [Function&quot;+(e.name?&quot;: &quot;+e.name:&quot;&quot;)+&quot;]&quot;}if(g(e)&amp;&amp;(w=&quot; &quot;+RegExp.prototype.toString.call(e)),y(e)&amp;&amp;(w=&quot; &quot;+Date.prototype.toUTCString.call(e)),x(e)&amp;&amp;(w=&quot; &quot;+l(e)),0===o.length&amp;&amp;(!k||0==e.length))return A[0]+w+A[1];if(n&lt;0)return g(e)?t.stylize(RegExp.prototype.toString.call(e),&quot;regexp&quot;):t.stylize(&quot;[Object]&quot;,&quot;special&quot;);t.seen.push(e);var T;return T=k?function(t,e,r,n,i){for(var a=[],o=0,s=e.length;o&lt;s;++o)M(e,String(o))?a.push(c(t,e,r,n,String(o),!0)):a.push(&quot;&quot;);return i.forEach(function(i){i.match(/^\d+$/)||a.push(c(t,e,r,n,i,!0))}),a}(t,e,n,v,o):o.map(function(r){return c(t,e,n,v,r,k)}),t.seen.pop(),function(t,e,r){var n=0;if(t.reduce(function(t,e){return n++,e.indexOf(&quot;\n&quot;)&gt;=0&amp;&amp;n++,t+e.replace(/\u001b\[\d\d?m/g,&quot;&quot;).length+1},0)&gt;60)return r[0]+(&quot;&quot;===e?&quot;&quot;:e+&quot;\n &quot;)+&quot; &quot;+t.join(&quot;,\n  &quot;)+&quot; &quot;+r[1];return r[0]+e+&quot; &quot;+t.join(&quot;, &quot;)+&quot; &quot;+r[1]}(T,w,A)}function l(t){return&quot;[&quot;+Error.prototype.toString.call(t)+&quot;]&quot;}function c(t,e,r,n,i,a){var o,l,c;if((c=Object.getOwnPropertyDescriptor(e,i)||{value:e[i]}).get?l=c.set?t.stylize(&quot;[Getter/Setter]&quot;,&quot;special&quot;):t.stylize(&quot;[Getter]&quot;,&quot;special&quot;):c.set&amp;&amp;(l=t.stylize(&quot;[Setter]&quot;,&quot;special&quot;)),M(n,i)||(o=&quot;[&quot;+i+&quot;]&quot;),l||(t.seen.indexOf(c.value)&lt;0?(l=h(r)?s(t,c.value,null):s(t,c.value,r-1)).indexOf(&quot;\n&quot;)&gt;-1&amp;&amp;(l=a?l.split(&quot;\n&quot;).map(function(t){return&quot;  &quot;+t}).join(&quot;\n&quot;).substr(2):&quot;\n&quot;+l.split(&quot;\n&quot;).map(function(t){return&quot;   &quot;+t}).join(&quot;\n&quot;)):l=t.stylize(&quot;[Circular]&quot;,&quot;special&quot;)),m(o)){if(a&amp;&amp;i.match(/^\d+$/))return l;(o=JSON.stringify(&quot;&quot;+i)).match(/^&quot;([a-zA-Z_][a-zA-Z_0-9]*)&quot;$/)?(o=o.substr(1,o.length-2),o=t.stylize(o,&quot;name&quot;)):(o=o.replace(/'/g,&quot;\\'&quot;).replace(/\\&quot;/g,'&quot;').replace(/(^&quot;|&quot;$)/g,&quot;'&quot;),o=t.stylize(o,&quot;string&quot;))}return o+&quot;: &quot;+l}function u(t){return Array.isArray(t)}function f(t){return&quot;boolean&quot;==typeof t}function h(t){return null===t}function d(t){return&quot;number&quot;==typeof t}function p(t){return&quot;string&quot;==typeof t}function m(t){return void 0===t}function g(t){return v(t)&amp;&amp;&quot;[object RegExp]&quot;===_(t)}function v(t){return&quot;object&quot;==typeof t&amp;&amp;null!==t}function y(t){return v(t)&amp;&amp;&quot;[object Date]&quot;===_(t)}function x(t){return v(t)&amp;&amp;(&quot;[object Error]&quot;===_(t)||t instanceof Error)}function b(t){return&quot;function&quot;==typeof t}function _(t){return Object.prototype.toString.call(t)}function w(t){return t&lt;10?&quot;0&quot;+t.toString(10):t.toString(10)}function M(t,e){return Object.prototype.hasOwnProperty.call(t,e)}var k=/%[sdj%]/g;r.format=function(t){if(!p(t)){for(var e=[],r=0;r&lt;arguments.length;r++)e.push(i(arguments[r]));return e.join(&quot; &quot;)}r=1;for(var n=arguments,a=n.length,o=String(t).replace(k,function(t){if(&quot;%%&quot;===t)return&quot;%&quot;;if(r&gt;=a)return t;switch(t){case&quot;%s&quot;:return String(n[r++]);case&quot;%d&quot;:return Number(n[r++]);case&quot;%j&quot;:try{return JSON.stringify(n[r++])}catch(t){return&quot;[Circular]&quot;}default:return t}}),s=n[r];r&lt;a;s=n[++r])h(s)||!v(s)?o+=&quot; &quot;+s:o+=&quot; &quot;+i(s);return o},r.deprecate=function(t,i){if(m(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,T={};r.debuglog=function(t){if(m(A)&amp;&amp;(A=e.env.NODE_DEBUG||&quot;&quot;),t=t.toUpperCase(),!T[t])if(new RegExp(&quot;\\b&quot;+t+&quot;\\b&quot;,&quot;i&quot;).test(A)){var n=e.pid;T[t]=function(){var e=r.format.apply(r,arguments);console.error(&quot;%s %d: %s&quot;,t,n,e)}}else T[t]=function(){};return T[t]},r.inspect=i,i.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]},i.styles={special:&quot;cyan&quot;,number:&quot;yellow&quot;,boolean:&quot;yellow&quot;,undefined:&quot;grey&quot;,null:&quot;bold&quot;,string:&quot;green&quot;,date:&quot;magenta&quot;,regexp:&quot;red&quot;},r.isArray=u,r.isBoolean=f,r.isNull=h,r.isNullOrUndefined=function(t){return null==t},r.isNumber=d,r.isString=p,r.isSymbol=function(t){return&quot;symbol&quot;==typeof t},r.isUndefined=m,r.isRegExp=g,r.isObject=v,r.isDate=y,r.isError=x,r.isFunction=b,r.isPrimitive=function(t){return null===t||&quot;boolean&quot;==typeof t||&quot;number&quot;==typeof t||&quot;string&quot;==typeof t||&quot;symbol&quot;==typeof t||void 0===t},r.isBuffer=t(&quot;./support/isBuffer&quot;);var S=[&quot;Jan&quot;,&quot;Feb&quot;,&quot;Mar&quot;,&quot;Apr&quot;,&quot;May&quot;,&quot;Jun&quot;,&quot;Jul&quot;,&quot;Aug&quot;,&quot;Sep&quot;,&quot;Oct&quot;,&quot;Nov&quot;,&quot;Dec&quot;];r.log=function(){console.log(&quot;%s - %s&quot;,function(){var t=new Date,e=[w(t.getHours()),w(t.getMinutes()),w(t.getSeconds())].join(&quot;:&quot;);return[t.getDate(),S[t.getMonth()],e].join(&quot; &quot;)}(),r.format.apply(r,arguments))},r.inherits=t(&quot;inherits&quot;),r._extend=function(t,e){if(!e||!v(e))return t;for(var r=Object.keys(e),n=r.length;n--;)t[r[n]]=e[r[n]];return t}}).call(this,t(&quot;_process&quot;),&quot;undefined&quot;!=typeof global?global:&quot;undefined&quot;!=typeof self?self:&quot;undefined&quot;!=typeof window?window:{})},{&quot;./support/isBuffer&quot;:562,_process:488,inherits:561}],564:[function(t,e,r){e.exports.VectorTile=t(&quot;./lib/vectortile.js&quot;),e.exports.VectorTileFeature=t(&quot;./lib/vectortilefeature.js&quot;),e.exports.VectorTileLayer=t(&quot;./lib/vectortilelayer.js&quot;)},{&quot;./lib/vectortile.js&quot;:565,&quot;./lib/vectortilefeature.js&quot;:566,&quot;./lib/vectortilelayer.js&quot;:567}],565:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r){if(3===t){var n=new i(r,r.readVarint()+r.pos);n.length&amp;&amp;(e[n.name]=n)}}var i=t(&quot;./vectortilelayer&quot;);e.exports=function(t,e){this.layers=t.readFields(n,{},e)}},{&quot;./vectortilelayer&quot;:567}],566:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,n,a){this.properties={},this.extent=r,this.type=0,this._pbf=t,this._geometry=-1,this._keys=n,this._values=a,t.readFields(i,this,e)}function i(t,e,r){1==t?e.id=r.readVarint():2==t?function(t,e){var r=t.readVarint()+t.pos;for(;t.pos&lt;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&amp;&amp;(e._geometry=r.pos)}var a=t(&quot;point-geometry&quot;);e.exports=n,n.types=[&quot;Unknown&quot;,&quot;Point&quot;,&quot;LineString&quot;,&quot;Polygon&quot;],n.prototype.loadGeometry=function(){var t=this._pbf;t.pos=this._geometry;for(var e,r=t.readVarint()+t.pos,n=1,i=0,o=0,s=0,l=[];t.pos&lt;r;){if(!i){var c=t.readVarint();n=7&amp;c,i=c&gt;&gt;3}if(i--,1===n||2===n)o+=t.readSVarint(),s+=t.readSVarint(),1===n&amp;&amp;(e&amp;&amp;l.push(e),e=[]),e.push(new a(o,s));else{if(7!==n)throw new Error(&quot;unknown command &quot;+n);e&amp;&amp;e.push(e[0].clone())}}return e&amp;&amp;l.push(e),l},n.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&lt;e;){if(!n){var u=t.readVarint();r=7&amp;u,n=u&gt;&gt;3}if(n--,1===r||2===r)i+=t.readSVarint(),a+=t.readSVarint(),i&lt;o&amp;&amp;(o=i),i&gt;s&amp;&amp;(s=i),a&lt;l&amp;&amp;(l=a),a&gt;c&amp;&amp;(c=a);else if(7!==r)throw new Error(&quot;unknown command &quot;+r)}return[o,l,s,c]},n.prototype.toGeoJSON=function(t,e,r){function i(t){for(var e=0;e&lt;t.length;e++){var r=t[e],n=180-360*(r.y+c)/s;t[e]=[360*(r.x+l)/s-180,360/Math.PI*Math.atan(Math.exp(n*Math.PI/180))-90]}}var a,o,s=this.extent*Math.pow(2,r),l=this.extent*t,c=this.extent*e,u=this.loadGeometry(),f=n.types[this.type];switch(this.type){case 1:var h=[];for(a=0;a&lt;u.length;a++)h[a]=u[a][0];i(u=h);break;case 2:for(a=0;a&lt;u.length;a++)i(u[a]);break;case 3:for(u=function(t){var e=t.length;if(e&lt;=1)return[t];for(var r,n,i=[],a=0;a&lt;e;a++){var o=function(t){for(var e,r,n=0,i=0,a=t.length,o=a-1;i&lt;a;o=i++)e=t[i],r=t[o],n+=(r.x-e.x)*(e.y+r.y);return n}(t[a]);0!==o&amp;&amp;(void 0===n&amp;&amp;(n=o&lt;0),n===o&lt;0?(r&amp;&amp;i.push(r),r=[t[a]]):r.push(t[a]))}return r&amp;&amp;i.push(r),i}(u),a=0;a&lt;u.length;a++)for(o=0;o&lt;u[a].length;o++)i(u[a][o])}1===u.length?u=u[0]:f=&quot;Multi&quot;+f;var d={type:&quot;Feature&quot;,geometry:{type:f,coordinates:u},properties:this.properties};return&quot;id&quot;in this&amp;&amp;(d.id=this.id),d}},{&quot;point-geometry&quot;:477}],567:[function(t,e,r){&quot;use strict&quot;;function n(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(i,this,e),this.length=this._features.length}function i(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&amp;&amp;e._values.push(function(t){var e=null,r=t.readVarint()+t.pos;for(;t.pos&lt;r;){var n=t.readVarint()&gt;&gt;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))}var a=t(&quot;./vectortilefeature.js&quot;);e.exports=n,n.prototype.feature=function(t){if(t&lt;0||t&gt;=this._features.length)throw new Error(&quot;feature index out of bounds&quot;);this._pbf.pos=this._features[t];var e=this._pbf.readVarint()+this._pbf.pos;return new a(this._pbf,e,this.extent,this._keys,this._values)}},{&quot;./vectortilefeature.js&quot;:566}],568:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t,e){return&quot;object&quot;==typeof e&amp;&amp;null!==e||(e={}),n(t,e.canvas||i,e.context||a,e)};var n=t(&quot;./lib/vtext&quot;),i=null,a=null;&quot;undefined&quot;!=typeof document&amp;&amp;((i=document.createElement(&quot;canvas&quot;)).width=8192,i.height=1024,a=i.getContext(&quot;2d&quot;))},{&quot;./lib/vtext&quot;:569}],569:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,n){var i=function(t,e){var r=a(t,128);return e?s(r.cells,r.positions,.25):{edges:r.cells,positions:r.positions}}(t,n),o=function(t,e,r){for(var n=e.textAlign||&quot;start&quot;,i=e.textBaseline||&quot;alphabetic&quot;,a=[1&lt;&lt;30,1&lt;&lt;30],o=[0,0],s=t.length,l=0;l&lt;s;++l)for(var c=t[l],u=0;u&lt;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&quot;center&quot;:f=-.5*(a[0]+o[0]);break;case&quot;right&quot;:case&quot;end&quot;:f=-o[0];break;case&quot;left&quot;:case&quot;start&quot;:f=-a[0];break;default:throw new Error(&quot;vectorize-text: Unrecognized textAlign: '&quot;+n+&quot;'&quot;)}var h=0;switch(i){case&quot;hanging&quot;:case&quot;top&quot;:h=-a[1];break;case&quot;middle&quot;:h=-.5*(a[1]+o[1]);break;case&quot;alphabetic&quot;:case&quot;ideographic&quot;:h=-3*r;break;case&quot;bottom&quot;:h=-o[1];break;default:throw new Error(&quot;vectorize-text: Unrecoginized textBaseline: '&quot;+i+&quot;'&quot;)}var d=1/r;return&quot;lineHeight&quot;in e?d*=+e.lineHeight:&quot;width&quot;in e?d=e.width/(o[0]-a[0]):&quot;height&quot;in e&amp;&amp;(d=e.height/(o[1]-a[1])),t.map(function(t){return[d*(t[0]+f),d*(t[1]+h)]})}(i.positions,e,r),f=i.edges,h=&quot;ccw&quot;===e.orientation;if(l(o,f),e.polygons||e.polygon||e.polyline){for(var d=u(f,o),p=new Array(d.length),m=0;m&lt;d.length;++m){for(var g=d[m],v=new Array(g.length),y=0;y&lt;g.length;++y){for(var x=g[y],b=new Array(x.length),_=0;_&lt;x.length;++_)b[_]=o[x[_]].slice();h&amp;&amp;b.reverse(),v[y]=b}p[m]=v}return p}return e.triangles||e.triangulate||e.triangle?{cells:c(o,f,{delaunay:!1,exterior:!1,interior:!0}),positions:o}:{edges:f,positions:o}}function i(t,e,r){try{return n(t,e,r,!0)}catch(t){}try{return n(t,e,r,!1)}catch(t){}return e.polygons||e.polyline||e.polygon?[]:e.triangles||e.triangulate||e.triangle?{cells:[],positions:[]}:{edges:[],positions:[]}}e.exports=function(t,e,r,n){var a=n.size||64,s=n.font||&quot;normal&quot;;return r.font=a+&quot;px &quot;+s,r.textAlign=&quot;start&quot;,r.textBaseline=&quot;alphabetic&quot;,r.direction=&quot;ltr&quot;,i(function(t,e,r,n){var i=0|Math.ceil(e.measureText(r).width+2*n);if(i&gt;8192)throw new Error(&quot;vectorize-text: String too long (sorry, this will get fixed later)&quot;);var a=3*n;t.height&lt;a&amp;&amp;(t.height=a),e.fillStyle=&quot;#000&quot;,e.fillRect(0,0,t.width,t.height),e.fillStyle=&quot;#fff&quot;,e.fillText(r,n,2*n);var s=e.getImageData(0,0,i,a);return o(s.data,[a,i,4]).pick(-1,-1,0).transpose(1,0)}(e,r,t,a),n,a)},e.exports.processPixels=i;var a=t(&quot;surface-nets&quot;),o=t(&quot;ndarray&quot;),s=t(&quot;simplify-planar-graph&quot;),l=t(&quot;clean-pslg&quot;),c=t(&quot;cdt2d&quot;),u=t(&quot;planar-graph-to-polyline&quot;)},{cdt2d:84,&quot;clean-pslg&quot;:94,ndarray:458,&quot;planar-graph-to-polyline&quot;:476,&quot;simplify-planar-graph&quot;:530,&quot;surface-nets&quot;:540}],570:[function(t,e,r){function n(t){var e=[];for(var r in t.layers)e.push(function(t){for(var e={name:t.name||&quot;&quot;,version:t.version||1,extent:t.extent||4096,keys:[],values:[],features:[]},r={},n={},o=0;o&lt;t.length;o++){var s=t.feature(o);s.geometry=function(t){for(var e=[],r=0,n=0,o=t.length,s=0;s&lt;o;s++){var l=t[s];e.push(i(1,1));for(var c=0;c&lt;l.length;c++){1===c&amp;&amp;e.push(i(2,l.length-1));var u=l[c].x-r,f=l[c].y-n;e.push(a(u),a(f)),r+=u,n+=f}}return e}(s.loadGeometry());var l=[];for(var c in s.properties){var u=r[c];void 0===u&amp;&amp;(e.keys.push(c),u=e.keys.length-1,r[c]=u);var f=function(t){var e,r=typeof t;&quot;string&quot;===r?e={string_value:t}:&quot;boolean&quot;===r?e={bool_value:t}:&quot;number&quot;===r?e=t%1!=0?{double_value:t}:t&lt;0?{sint_value:t}:{uint_value:t}:(t=JSON.stringify(t),e={string_value:t});return e.key=r+&quot;:&quot;+t,e}(s.properties[c]),h=n[f.key];void 0===h&amp;&amp;(e.values.push(f),h=e.values.length-1,n[f.key]=h),l.push(u),l.push(h)}s.tags=l,e.features.push(s)}return e}(t.layers[r]));var n=new o;return s.tile.write({layers:e},n),n.finish()}function i(t,e){return(e&lt;&lt;3)+(7&amp;t)}function a(t){return t&lt;&lt;1^t&gt;&gt;31}var o=t(&quot;pbf&quot;),s=t(&quot;./vector-tile-pb&quot;),l=t(&quot;./lib/geojson_wrapper&quot;);e.exports=n,e.exports.fromVectorTileJs=n,e.exports.fromGeojsonVt=function(t){var e={};for(var r in t)e[r]=new l(t[r].features),e[r].name=r;return n({layers:e})},e.exports.GeoJSONWrapper=l},{&quot;./lib/geojson_wrapper&quot;:571,&quot;./vector-tile-pb&quot;:572,pbf:470}],571:[function(t,e,r){&quot;use strict&quot;;function n(t){this.features=t,this.length=t.length}function i(t){this.id=&quot;number&quot;==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=4096}var a=t(&quot;point-geometry&quot;),o=t(&quot;vector-tile&quot;).VectorTileFeature;e.exports=n,n.prototype.feature=function(t){return new i(this.features[t])},i.prototype.loadGeometry=function(){var t=this.rawGeometry;this.geometry=[];for(var e=0;e&lt;t.length;e++){for(var r=t[e],n=[],i=0;i&lt;r.length;i++)n.push(new a(r[i][0],r[i][1]));this.geometry.push(n)}return this.geometry},i.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&lt;t.length;a++)for(var o=t[a],s=0;s&lt;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]},i.prototype.toGeoJSON=o.prototype.toGeoJSON},{&quot;point-geometry&quot;:477,&quot;vector-tile&quot;:564}],572:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r){3===t&amp;&amp;e.layers.push(u(r,r.readVarint()+r.pos))}function i(t,e){return t.readFields(a,{},e)}function a(t,e,r){1===t?e.string_value=r.readString():2===t?e.float_value=r.readFloat():3===t?e.double_value=r.readDouble():4===t?e.int_value=r.readVarint():5===t?e.uint_value=r.readVarint():6===t?e.sint_value=r.readSVarint():7===t&amp;&amp;(e.bool_value=r.readBoolean())}function o(t,e){void 0!==t.string_value&amp;&amp;e.writeStringField(1,t.string_value),void 0!==t.float_value&amp;&amp;e.writeFloatField(2,t.float_value),void 0!==t.double_value&amp;&amp;e.writeDoubleField(3,t.double_value),void 0!==t.int_value&amp;&amp;e.writeVarintField(4,t.int_value),void 0!==t.uint_value&amp;&amp;e.writeVarintField(5,t.uint_value),void 0!==t.sint_value&amp;&amp;e.writeSVarintField(6,t.sint_value),void 0!==t.bool_value&amp;&amp;e.writeBooleanField(7,t.bool_value)}function s(t,e){var r=t.readFields(l,{},e);return void 0===r.type&amp;&amp;(r.type=&quot;Unknown&quot;),r}function l(t,e,r){1===t?e.id=r.readVarint():2===t?e.tags=r.readPackedVarint():3===t?e.type=r.readVarint():4===t&amp;&amp;(e.geometry=r.readPackedVarint())}function c(t,e){void 0!==t.id&amp;&amp;e.writeVarintField(1,t.id),void 0!==t.tags&amp;&amp;e.writePackedVarint(2,t.tags),void 0!==t.type&amp;&amp;e.writeVarintField(3,t.type),void 0!==t.geometry&amp;&amp;e.writePackedVarint(4,t.geometry)}function u(t,e){return t.readFields(f,{features:[],keys:[],values:[]},e)}function f(t,e,r){15===t?e.version=r.readVarint():1===t?e.name=r.readString():2===t?e.features.push(s(r,r.readVarint()+r.pos)):3===t?e.keys.push(r.readString()):4===t?e.values.push(i(r,r.readVarint()+r.pos)):5===t&amp;&amp;(e.extent=r.readVarint())}function h(t,e){void 0!==t.version&amp;&amp;e.writeVarintField(15,t.version),void 0!==t.name&amp;&amp;e.writeStringField(1,t.name);var r;if(void 0!==t.features)for(r=0;r&lt;t.features.length;r++)e.writeMessage(2,c,t.features[r]);if(void 0!==t.keys)for(r=0;r&lt;t.keys.length;r++)e.writeStringField(3,t.keys[r]);if(void 0!==t.values)for(r=0;r&lt;t.values.length;r++)e.writeMessage(4,o,t.values[r]);void 0!==t.extent&amp;&amp;e.writeVarintField(5,t.extent)}var d=r.tile={read:function(t,e){return t.readFields(n,{layers:[]},e)},write:function(t,e){var r;if(void 0!==t.layers)for(r=0;r&lt;t.layers.length;r++)e.writeMessage(3,h,t.layers[r])}};d.GeomType={Unknown:0,Point:1,LineString:2,Polygon:3},d.value={read:i,write:o},d.feature={read:s,write:c},d.layer={read:u,write:h}},{}],573:[function(t,e,r){!function(){&quot;use strict&quot;;function t(e){e.permitHostObjects___&amp;&amp;e.permitHostObjects___(t)}function r(t){return!(t.substr(0,d.length)==d&amp;&amp;&quot;___&quot;===t.substr(t.length-3))}function n(t){if(t!==Object(t))throw new TypeError(&quot;Not an object: &quot;+t);var e=t[p];if(e&amp;&amp;e.key===t)return e;if(h(t)){e={key:t};try{return f(t,p,{value:e,writable:!1,enumerable:!1,configurable:!1}),e}catch(t){return}}}function i(t){return t.prototype=null,Object.freeze(t)}function a(){y||&quot;undefined&quot;==typeof console||(y=!0,console.warn(&quot;WeakMap should be invoked as new WeakMap(), not WeakMap(). This will be an error in the future.&quot;))}if(&quot;undefined&quot;==typeof ses||!ses.ok||ses.ok()){&quot;undefined&quot;!=typeof ses&amp;&amp;(ses.weakMapPermitHostObjects=t);var o=!1;if(&quot;function&quot;==typeof WeakMap){var s=WeakMap;if(&quot;undefined&quot;!=typeof navigator&amp;&amp;/Firefox/.test(navigator.userAgent));else{var l=new s,c=Object.freeze({});if(l.set(c,1),1===l.get(c))return void(e.exports=WeakMap);o=!0}}Object.prototype.hasOwnProperty;var u=Object.getOwnPropertyNames,f=Object.defineProperty,h=Object.isExtensible,d=&quot;weakmap:&quot;,p=d+&quot;ident:&quot;+Math.random()+&quot;___&quot;;if(&quot;undefined&quot;!=typeof crypto&amp;&amp;&quot;function&quot;==typeof crypto.getRandomValues&amp;&amp;&quot;function&quot;==typeof ArrayBuffer&amp;&amp;&quot;function&quot;==typeof Uint8Array){var m=new ArrayBuffer(25),g=new Uint8Array(m);crypto.getRandomValues(g),p=d+&quot;rand:&quot;+Array.prototype.map.call(g,function(t){return(t%36).toString(36)}).join(&quot;&quot;)+&quot;___&quot;}if(f(Object,&quot;getOwnPropertyNames&quot;,{value:function(t){return u(t).filter(r)}}),&quot;getPropertyNames&quot;in Object){var v=Object.getPropertyNames;f(Object,&quot;getPropertyNames&quot;,{value:function(t){return v(t).filter(r)}})}!function(){var t=Object.freeze;f(Object,&quot;freeze&quot;,{value:function(e){return n(e),t(e)}});var e=Object.seal;f(Object,&quot;seal&quot;,{value:function(t){return n(t),e(t)}});var r=Object.preventExtensions;f(Object,&quot;preventExtensions&quot;,{value:function(t){return n(t),r(t)}})}();var y=!1,x=0,b=function(){this instanceof b||a();var t=[],e=[],r=x++;return Object.create(b.prototype,{get___:{value:i(function(i,a){var o,s=n(i);return s?r in s?s[r]:a:(o=t.indexOf(i))&gt;=0?e[o]:a})},has___:{value:i(function(e){var i=n(e);return i?r in i:t.indexOf(e)&gt;=0})},set___:{value:i(function(i,a){var o,s=n(i);return s?s[r]=a:(o=t.indexOf(i))&gt;=0?e[o]=a:(o=t.length,e[o]=a,t[o]=i),this})},delete___:{value:i(function(i){var a,o,s=n(i);return s?r in s&amp;&amp;delete s[r]:!((a=t.indexOf(i))&lt;0||(o=t.length-1,t[a]=void 0,e[a]=e[o],t[a]=t[o],t.length=o,e.length=o,0))})}})};b.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}}),&quot;function&quot;==typeof s?function(){function r(){this instanceof b||a();var e,r=new s,n=void 0,l=!1;return e=o?function(t,e){return r.set(t,e),r.has(t)||(n||(n=new b),n.set(t,e)),this}:function(t,e){if(l)try{r.set(t,e)}catch(r){n||(n=new b),n.set___(t,e)}else r.set(t,e);return this},Object.create(b.prototype,{get___:{value:i(function(t,e){return n?r.has(t)?r.get(t):n.get___(t,e):r.get(t,e)})},has___:{value:i(function(t){return r.has(t)||!!n&amp;&amp;n.has___(t)})},set___:{value:i(e)},delete___:{value:i(function(t){var e=!!r.delete(t);return n?n.delete___(t)||e:e})},permitHostObjects___:{value:i(function(e){if(e!==t)throw new Error(&quot;bogus call to permitHostObjects___&quot;);l=!0})}})}o&amp;&amp;&quot;undefined&quot;!=typeof Proxy&amp;&amp;(Proxy=void 0),r.prototype=b.prototype,e.exports=r,Object.defineProperty(WeakMap.prototype,&quot;constructor&quot;,{value:WeakMap,enumerable:!1,configurable:!0,writable:!0})}():(&quot;undefined&quot;!=typeof Proxy&amp;&amp;(Proxy=void 0),e.exports=b)}}()},{}],574:[function(t,e,r){var n=t(&quot;./hidden-store.js&quot;);e.exports=function(){var t={};return function(e){if((&quot;object&quot;!=typeof e||null===e)&amp;&amp;&quot;function&quot;!=typeof e)throw new Error(&quot;Weakmap-shim: Key must be object&quot;);var r=e.valueOf(t);return r&amp;&amp;r.identity===t?r:n(e,t)}}},{&quot;./hidden-store.js&quot;:575}],575:[function(t,e,r){e.exports=function(t,e){var r={identity:e},n=t.valueOf;return Object.defineProperty(t,&quot;valueOf&quot;,{value:function(t){return t!==e?n.apply(this,arguments):r},writable:!0}),r}},{}],576:[function(t,e,r){var n=t(&quot;./create-store.js&quot;);e.exports=function(){var t=n();return{get:function(e,r){var n=t(e);return n.hasOwnProperty(&quot;value&quot;)?n.value:r},set:function(e,r){return t(e).value=r,this},has:function(e){return&quot;value&quot;in t(e)},delete:function(e){return delete t(e).value}}}},{&quot;./create-store.js&quot;:574}],577:[function(t,e,r){var n=t(&quot;get-canvas-context&quot;);e.exports=function(t){return n(&quot;webgl&quot;,t)}},{&quot;get-canvas-context&quot;:156}],578:[function(t,e,r){var n=arguments[3],i=arguments[4],a=arguments[5],o=JSON.stringify;e.exports=function(t,e){function r(t){g[t]=!0;for(var e in i[t][1]){var n=i[t][1][e];g[n]||r(n)}}for(var s,l=Object.keys(a),c=0,u=l.length;c&lt;u;c++){var f=l[c],h=a[f].exports;if(h===t||h&amp;&amp;h.default===t){s=f;break}}if(!s){s=Math.floor(Math.pow(16,8)*Math.random()).toString(16);var d={};for(c=0,u=l.length;c&lt;u;c++){d[f=l[c]]=f}i[s]=[Function([&quot;require&quot;,&quot;module&quot;,&quot;exports&quot;],&quot;(&quot;+t+&quot;)(self)&quot;),d]}var p=Math.floor(Math.pow(16,8)*Math.random()).toString(16),m={};m[s]=s,i[p]=[Function([&quot;require&quot;],&quot;var f = require(&quot;+o(s)+&quot;);(f.default ? f.default : f)(self);&quot;),m];var g={};r(p);var v=&quot;(&quot;+n+&quot;)({&quot;+Object.keys(g).map(function(t){return o(t)+&quot;:[&quot;+i[t][0]+&quot;,&quot;+o(i[t][1])+&quot;]&quot;}).join(&quot;,&quot;)+&quot;},{},[&quot;+o(p)+&quot;])&quot;,y=window.URL||window.webkitURL||window.mozURL||window.msURL,x=new Blob([v],{type:&quot;text/javascript&quot;});if(e&amp;&amp;e.bare)return x;var b=y.createObjectURL(x),_=new Worker(b);return _.objectURL=b,_}},{}],579:[function(t,e,r){e.exports.RADIUS=6378137,e.exports.FLATTENING=1/298.257223563,e.exports.POLAR_RADIUS=6356752.3142},{}],580:[function(t,e,r){!function(t,n){n(&quot;object&quot;==typeof r&amp;&amp;void 0!==e?r:t.WhooTS=t.WhooTS||{})}(this,function(t){function e(t,e,n){var i=r(256*t,256*(e=Math.pow(2,n)-e-1),n),a=r(256*(t+1),256*(e+1),n);return i[0]+&quot;,&quot;+i[1]+&quot;,&quot;+a[0]+&quot;,&quot;+a[1]}function r(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]}t.getURL=function(t,r,n,i,a,o){return o=o||{},t+&quot;?&quot;+[&quot;bbox=&quot;+e(n,i,a),&quot;format=&quot;+(o.format||&quot;image/png&quot;),&quot;service=&quot;+(o.service||&quot;WMS&quot;),&quot;version=&quot;+(o.version||&quot;1.1.1&quot;),&quot;request=&quot;+(o.request||&quot;GetMap&quot;),&quot;srs=&quot;+(o.srs||&quot;EPSG:3857&quot;),&quot;width=&quot;+(o.width||256),&quot;height=&quot;+(o.height||256),&quot;layers=&quot;+r].join(&quot;&amp;&quot;)},t.getTileBBox=e,t.getMercCoords=r,Object.defineProperty(t,&quot;__esModule&quot;,{value:!0})})},{}],581:[function(t,e,r){function n(t){this.local=this.regionalOptions[t||&quot;&quot;]||this.regionalOptions[&quot;&quot;]}var i=t(&quot;../main&quot;),a=t(&quot;object-assign&quot;),o=i.instance();a(n.prototype=new i.baseCalendar,{name:&quot;Chinese&quot;,jdEpoch:1721425.5,hasYearZero:!1,minMonth:0,firstMonth:0,minDay:1,regionalOptions:{&quot;&quot;:{name:&quot;Chinese&quot;,epochs:[&quot;BEC&quot;,&quot;EC&quot;],monthNumbers:function(t,e){if(&quot;string&quot;==typeof t){var r=t.match(l);return r?r[0]:&quot;&quot;}var n=this._validateYear(t),i=t.month(),a=&quot;&quot;+this.toChineseMonth(n,i);return e&amp;&amp;a.length&lt;2&amp;&amp;(a=&quot;0&quot;+a),this.isIntercalaryMonth(n,i)&amp;&amp;(a+=&quot;i&quot;),a},monthNames:function(t){if(&quot;string&quot;==typeof t){var e=t.match(c);return e?e[0]:&quot;&quot;}var r=this._validateYear(t),n=t.month(),i=[&quot;\u4e00\u6708&quot;,&quot;\u4e8c\u6708&quot;,&quot;\u4e09\u6708&quot;,&quot;\u56db\u6708&quot;,&quot;\u4e94\u6708&quot;,&quot;\u516d\u6708&quot;,&quot;\u4e03\u6708&quot;,&quot;\u516b\u6708&quot;,&quot;\u4e5d\u6708&quot;,&quot;\u5341\u6708&quot;,&quot;\u5341\u4e00\u6708&quot;,&quot;\u5341\u4e8c\u6708&quot;][this.toChineseMonth(r,n)-1];return this.isIntercalaryMonth(r,n)&amp;&amp;(i=&quot;\u95f0&quot;+i),i},monthNamesShort:function(t){if(&quot;string&quot;==typeof t){var e=t.match(u);return e?e[0]:&quot;&quot;}var r=this._validateYear(t),n=t.month(),i=[&quot;\u4e00&quot;,&quot;\u4e8c&quot;,&quot;\u4e09&quot;,&quot;\u56db&quot;,&quot;\u4e94&quot;,&quot;\u516d&quot;,&quot;\u4e03&quot;,&quot;\u516b&quot;,&quot;\u4e5d&quot;,&quot;\u5341&quot;,&quot;\u5341\u4e00&quot;,&quot;\u5341\u4e8c&quot;][this.toChineseMonth(r,n)-1];return this.isIntercalaryMonth(r,n)&amp;&amp;(i=&quot;\u95f0&quot;+i),i},parseMonth:function(t,e){t=this._validateYear(t);var r,n=parseInt(e);if(isNaN(n))&quot;\u95f0&quot;===e[0]&amp;&amp;(r=!0,e=e.substring(1)),&quot;\u6708&quot;===e[e.length-1]&amp;&amp;(e=e.substring(0,e.length-1)),n=1+[&quot;\u4e00&quot;,&quot;\u4e8c&quot;,&quot;\u4e09&quot;,&quot;\u56db&quot;,&quot;\u4e94&quot;,&quot;\u516d&quot;,&quot;\u4e03&quot;,&quot;\u516b&quot;,&quot;\u4e5d&quot;,&quot;\u5341&quot;,&quot;\u5341\u4e00&quot;,&quot;\u5341\u4e8c&quot;].indexOf(e);else{var i=e[e.length-1];r=&quot;i&quot;===i||&quot;I&quot;===i}return this.toMonthIndex(t,n,r)},dayNames:[&quot;Sunday&quot;,&quot;Monday&quot;,&quot;Tuesday&quot;,&quot;Wednesday&quot;,&quot;Thursday&quot;,&quot;Friday&quot;,&quot;Saturday&quot;],dayNamesShort:[&quot;Sun&quot;,&quot;Mon&quot;,&quot;Tue&quot;,&quot;Wed&quot;,&quot;Thu&quot;,&quot;Fri&quot;,&quot;Sat&quot;],dayNamesMin:[&quot;Su&quot;,&quot;Mo&quot;,&quot;Tu&quot;,&quot;We&quot;,&quot;Th&quot;,&quot;Fr&quot;,&quot;Sa&quot;],digits:null,dateFormat:&quot;yyyy/mm/dd&quot;,firstDay:1,isRTL:!1}},_validateYear:function(t,e){if(t.year&amp;&amp;(t=t.year()),&quot;number&quot;!=typeof t||t&lt;1888||t&gt;2111)throw e.replace(/\{0\}/,this.local.name);return t},toMonthIndex:function(t,e,r){var n=this.intercalaryMonth(t);if(r&amp;&amp;e!==n||e&lt;1||e&gt;12)throw i.local.invalidMonth.replace(/\{0\}/,this.local.name);return n?!r&amp;&amp;e&lt;=n?e-1:e:e-1},toChineseMonth:function(t,e){t.year&amp;&amp;(e=(t=t.year()).month());var r=this.intercalaryMonth(t);if(e&lt;0||e&gt;(r?12:11))throw i.local.invalidMonth.replace(/\{0\}/,this.local.name);return r?e&lt;r?e+1:e:e+1},intercalaryMonth:function(t){t=this._validateYear(t);return f[t-f[0]]&gt;&gt;13},isIntercalaryMonth:function(t,e){t.year&amp;&amp;(e=(t=t.year()).month());var r=this.intercalaryMonth(t);return!!r&amp;&amp;r===e},leapYear:function(t){return 0!==this.intercalaryMonth(t)},weekOfYear:function(t,e,r){var n,a=this._validateYear(t,i.local.invalidyear),s=h[a-h[0]],l=s&gt;&gt;9&amp;4095,c=s&gt;&gt;5&amp;15,u=31&amp;s;(n=o.newDate(l,c,u)).add(4-(n.dayOfWeek()||7),&quot;d&quot;);var f=this.toJD(t,e,r)-n.toJD();return 1+Math.floor(f/7)},monthsInYear:function(t){return this.leapYear(t)?13:12},daysInMonth:function(t,e){t.year&amp;&amp;(e=t.month(),t=t.year()),t=this._validateYear(t);var r=f[t-f[0]];if(e&gt;(r&gt;&gt;13?12:11))throw i.local.invalidMonth.replace(/\{0\}/,this.local.name);return r&amp;1&lt;&lt;12-e?30:29},weekDay:function(t,e,r){return(this.dayOfWeek(t,e,r)||7)&lt;6},toJD:function(t,e,r){var n=this._validate(t,s,r,i.local.invalidDate);t=this._validateYear(n.year()),e=n.month(),r=n.day();var a=this.isIntercalaryMonth(t,e),s=this.toChineseMonth(t,e),l=function(t,e,r,n,i){var a,o;if(&quot;object&quot;==typeof t)o=t,a=e||{};else{if(!(&quot;number&quot;==typeof t&amp;&amp;t&gt;=1888&amp;&amp;t&lt;=2111))throw new Error(&quot;Lunar year outside range 1888-2111&quot;);if(!(&quot;number&quot;==typeof e&amp;&amp;e&gt;=1&amp;&amp;e&lt;=12))throw new Error(&quot;Lunar month outside range 1 - 12&quot;);if(!(&quot;number&quot;==typeof r&amp;&amp;r&gt;=1&amp;&amp;r&lt;=30))throw new Error(&quot;Lunar day outside range 1 - 30&quot;);var s;&quot;object&quot;==typeof n?(s=!1,a=n):(s=!!n,a=i||{}),o={year:t,month:e,day:r,isIntercalary:s}}var l;l=o.day-1;var c,u=f[o.year-f[0]],d=u&gt;&gt;13;c=d?o.month&gt;d?o.month:o.isIntercalary?o.month:o.month-1:o.month-1;for(var p=0;p&lt;c;p++)l+=u&amp;1&lt;&lt;12-p?30:29;var m=h[o.year-h[0]],g=m&gt;&gt;9&amp;4095,v=m&gt;&gt;5&amp;15,y=31&amp;m,x=new Date(g,v-1,y+l);return a.year=x.getFullYear(),a.month=1+x.getMonth(),a.day=x.getDate(),a}(t,s,r,a);return o.toJD(l.year,l.month,l.day)},fromJD:function(t){var e=o.fromJD(t),r=function(t,e,r,n){var i,a;if(&quot;object&quot;==typeof t)i=t,a=e||{};else{if(!(&quot;number&quot;==typeof t&amp;&amp;t&gt;=1888&amp;&amp;t&lt;=2111))throw new Error(&quot;Solar year outside range 1888-2111&quot;);if(!(&quot;number&quot;==typeof e&amp;&amp;e&gt;=1&amp;&amp;e&lt;=12))throw new Error(&quot;Solar month outside range 1 - 12&quot;);if(!(&quot;number&quot;==typeof r&amp;&amp;r&gt;=1&amp;&amp;r&lt;=31))throw new Error(&quot;Solar day outside range 1 - 31&quot;);i={year:t,month:e,day:r},a=n||{}}var o=h[i.year-h[0]],s=i.year&lt;&lt;9|i.month&lt;&lt;5|i.day;a.year=s&gt;=o?i.year:i.year-1;var l,c=(o=h[a.year-h[0]])&gt;&gt;9&amp;4095,u=o&gt;&gt;5&amp;15,d=31&amp;o,p=new Date(c,u-1,d),m=new Date(i.year,i.month-1,i.day);l=Math.round((m-p)/864e5);var g,v=f[a.year-f[0]];for(g=0;g&lt;13;g++){var y=v&amp;1&lt;&lt;12-g?30:29;if(l&lt;y)break;l-=y}var x=v&gt;&gt;13;return!x||g&lt;x?(a.isIntercalary=!1,a.month=1+g):g===x?(a.isIntercalary=!0,a.month=g):(a.isIntercalary=!1,a.month=g),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 i=t.year(),a=t.month(),o=this.isIntercalaryMonth(i,a),s=this.toChineseMonth(i,a),l=Object.getPrototypeOf(n.prototype).add.call(this,t,e,r);if(&quot;y&quot;===r){var c=l.year(),u=l.month(),f=this.isIntercalaryMonth(c,s),h=o&amp;&amp;f?this.toMonthIndex(c,s,!0):this.toMonthIndex(c,s,!1);h!==u&amp;&amp;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;i.calendars.chinese=n;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]},{&quot;../main&quot;:595,&quot;object-assign&quot;:462}],582:[function(t,e,r){function n(t){this.local=this.regionalOptions[t||&quot;&quot;]||this.regionalOptions[&quot;&quot;]}var i=t(&quot;../main&quot;);t(&quot;object-assign&quot;)(n.prototype=new i.baseCalendar,{name:&quot;Coptic&quot;,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:{&quot;&quot;:{name:&quot;Coptic&quot;,epochs:[&quot;BAM&quot;,&quot;AM&quot;],monthNames:[&quot;Thout&quot;,&quot;Paopi&quot;,&quot;Hathor&quot;,&quot;Koiak&quot;,&quot;Tobi&quot;,&quot;Meshir&quot;,&quot;Paremhat&quot;,&quot;Paremoude&quot;,&quot;Pashons&quot;,&quot;Paoni&quot;,&quot;Epip&quot;,&quot;Mesori&quot;,&quot;Pi Kogi Enavot&quot;],monthNamesShort:[&quot;Tho&quot;,&quot;Pao&quot;,&quot;Hath&quot;,&quot;Koi&quot;,&quot;Tob&quot;,&quot;Mesh&quot;,&quot;Pat&quot;,&quot;Pad&quot;,&quot;Pash&quot;,&quot;Pao&quot;,&quot;Epi&quot;,&quot;Meso&quot;,&quot;PiK&quot;],dayNames:[&quot;Tkyriaka&quot;,&quot;Pesnau&quot;,&quot;Pshoment&quot;,&quot;Peftoou&quot;,&quot;Ptiou&quot;,&quot;Psoou&quot;,&quot;Psabbaton&quot;],dayNamesShort:[&quot;Tky&quot;,&quot;Pes&quot;,&quot;Psh&quot;,&quot;Pef&quot;,&quot;Pti&quot;,&quot;Pso&quot;,&quot;Psa&quot;],dayNamesMin:[&quot;Tk&quot;,&quot;Pes&quot;,&quot;Psh&quot;,&quot;Pef&quot;,&quot;Pt&quot;,&quot;Pso&quot;,&quot;Psa&quot;],digits:null,dateFormat:&quot;dd/mm/yyyy&quot;,firstDay:0,isRTL:!1}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,i.local.invalidYear);return(t=e.year()+(e.year()&lt;0?1:0))%4==3||t%4==-1},monthsInYear:function(t){return this._validate(t,this.minMonth,this.minDay,i.local.invalidYear||i.regionalOptions[&quot;&quot;].invalidYear),13},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(-n.dayOfWeek(),&quot;d&quot;),Math.floor((n.dayOfYear()-1)/7)+1},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,i.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(13===r.month()&amp;&amp;this.leapYear(r.year())?1:0)},weekDay:function(t,e,r){return(this.dayOfWeek(t,e,r)||7)&lt;6},toJD:function(t,e,r){var n=this._validate(t,e,r,i.local.invalidDate);return(t=n.year())&lt;0&amp;&amp;t++,n.day()+30*(n.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&lt;=0&amp;&amp;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)}}),i.calendars.coptic=n},{&quot;../main&quot;:595,&quot;object-assign&quot;:462}],583:[function(t,e,r){function n(t){this.local=this.regionalOptions[t||&quot;&quot;]||this.regionalOptions[&quot;&quot;]}var i=t(&quot;../main&quot;);t(&quot;object-assign&quot;)(n.prototype=new i.baseCalendar,{name:&quot;Discworld&quot;,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:{&quot;&quot;:{name:&quot;Discworld&quot;,epochs:[&quot;BUC&quot;,&quot;UC&quot;],monthNames:[&quot;Ick&quot;,&quot;Offle&quot;,&quot;February&quot;,&quot;March&quot;,&quot;April&quot;,&quot;May&quot;,&quot;June&quot;,&quot;Grune&quot;,&quot;August&quot;,&quot;Spune&quot;,&quot;Sektober&quot;,&quot;Ember&quot;,&quot;December&quot;],monthNamesShort:[&quot;Ick&quot;,&quot;Off&quot;,&quot;Feb&quot;,&quot;Mar&quot;,&quot;Apr&quot;,&quot;May&quot;,&quot;Jun&quot;,&quot;Gru&quot;,&quot;Aug&quot;,&quot;Spu&quot;,&quot;Sek&quot;,&quot;Emb&quot;,&quot;Dec&quot;],dayNames:[&quot;Sunday&quot;,&quot;Octeday&quot;,&quot;Monday&quot;,&quot;Tuesday&quot;,&quot;Wednesday&quot;,&quot;Thursday&quot;,&quot;Friday&quot;,&quot;Saturday&quot;],dayNamesShort:[&quot;Sun&quot;,&quot;Oct&quot;,&quot;Mon&quot;,&quot;Tue&quot;,&quot;Wed&quot;,&quot;Thu&quot;,&quot;Fri&quot;,&quot;Sat&quot;],dayNamesMin:[&quot;Su&quot;,&quot;Oc&quot;,&quot;Mo&quot;,&quot;Tu&quot;,&quot;We&quot;,&quot;Th&quot;,&quot;Fr&quot;,&quot;Sa&quot;],digits:null,dateFormat:&quot;yyyy/mm/dd&quot;,firstDay:2,isRTL:!1}},leapYear:function(t){return this._validate(t,this.minMonth,this.minDay,i.local.invalidYear),!1},monthsInYear:function(t){return this._validate(t,this.minMonth,this.minDay,i.local.invalidYear),13},daysInYear:function(t){return this._validate(t,this.minMonth,this.minDay,i.local.invalidYear),400},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(-n.dayOfWeek(),&quot;d&quot;),Math.floor((n.dayOfYear()-1)/8)+1},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,i.local.invalidMonth);return this.daysPerMonth[r.month()-1]},daysInWeek:function(){return 8},dayOfWeek:function(t,e,r){return(this._validate(t,e,r,i.local.invalidDate).day()+1)%8},weekDay:function(t,e,r){var n=this.dayOfWeek(t,e,r);return n&gt;=2&amp;&amp;n&lt;=6},extraInfo:function(t,e,r){var n=this._validate(t,e,r,i.local.invalidDate);return{century:a[Math.floor((n.year()-1)/100)+1]||&quot;&quot;}},toJD:function(t,e,r){var n=this._validate(t,e,r,i.local.invalidDate);return t=n.year()+(n.year()&lt;0?1:0),e=n.month(),(r=n.day())+(e&gt;1?16:0)+(e&gt;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&gt;15?16:0;var r=Math.floor(t/32)+1,n=t-32*(r-1)+1;return this.newDate(e&lt;=0?e-1:e,r,n)}});var a={20:&quot;Fruitbat&quot;,21:&quot;Anchovy&quot;};i.calendars.discworld=n},{&quot;../main&quot;:595,&quot;object-assign&quot;:462}],584:[function(t,e,r){function n(t){this.local=this.regionalOptions[t||&quot;&quot;]||this.regionalOptions[&quot;&quot;]}var i=t(&quot;../main&quot;);t(&quot;object-assign&quot;)(n.prototype=new i.baseCalendar,{name:&quot;Ethiopian&quot;,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:{&quot;&quot;:{name:&quot;Ethiopian&quot;,epochs:[&quot;BEE&quot;,&quot;EE&quot;],monthNames:[&quot;Meskerem&quot;,&quot;Tikemet&quot;,&quot;Hidar&quot;,&quot;Tahesas&quot;,&quot;Tir&quot;,&quot;Yekatit&quot;,&quot;Megabit&quot;,&quot;Miazia&quot;,&quot;Genbot&quot;,&quot;Sene&quot;,&quot;Hamle&quot;,&quot;Nehase&quot;,&quot;Pagume&quot;],monthNamesShort:[&quot;Mes&quot;,&quot;Tik&quot;,&quot;Hid&quot;,&quot;Tah&quot;,&quot;Tir&quot;,&quot;Yek&quot;,&quot;Meg&quot;,&quot;Mia&quot;,&quot;Gen&quot;,&quot;Sen&quot;,&quot;Ham&quot;,&quot;Neh&quot;,&quot;Pag&quot;],dayNames:[&quot;Ehud&quot;,&quot;Segno&quot;,&quot;Maksegno&quot;,&quot;Irob&quot;,&quot;Hamus&quot;,&quot;Arb&quot;,&quot;Kidame&quot;],dayNamesShort:[&quot;Ehu&quot;,&quot;Seg&quot;,&quot;Mak&quot;,&quot;Iro&quot;,&quot;Ham&quot;,&quot;Arb&quot;,&quot;Kid&quot;],dayNamesMin:[&quot;Eh&quot;,&quot;Se&quot;,&quot;Ma&quot;,&quot;Ir&quot;,&quot;Ha&quot;,&quot;Ar&quot;,&quot;Ki&quot;],digits:null,dateFormat:&quot;dd/mm/yyyy&quot;,firstDay:0,isRTL:!1}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,i.local.invalidYear);return(t=e.year()+(e.year()&lt;0?1:0))%4==3||t%4==-1},monthsInYear:function(t){return this._validate(t,this.minMonth,this.minDay,i.local.invalidYear||i.regionalOptions[&quot;&quot;].invalidYear),13},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(-n.dayOfWeek(),&quot;d&quot;),Math.floor((n.dayOfYear()-1)/7)+1},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,i.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(13===r.month()&amp;&amp;this.leapYear(r.year())?1:0)},weekDay:function(t,e,r){return(this.dayOfWeek(t,e,r)||7)&lt;6},toJD:function(t,e,r){var n=this._validate(t,e,r,i.local.invalidDate);return(t=n.year())&lt;0&amp;&amp;t++,n.day()+30*(n.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&lt;=0&amp;&amp;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)}}),i.calendars.ethiopian=n},{&quot;../main&quot;:595,&quot;object-assign&quot;:462}],585:[function(t,e,r){function n(t){this.local=this.regionalOptions[t||&quot;&quot;]||this.regionalOptions[&quot;&quot;]}function i(t,e){return t-e*Math.floor(t/e)}var a=t(&quot;../main&quot;);t(&quot;object-assign&quot;)(n.prototype=new a.baseCalendar,{name:&quot;Hebrew&quot;,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:{&quot;&quot;:{name:&quot;Hebrew&quot;,epochs:[&quot;BAM&quot;,&quot;AM&quot;],monthNames:[&quot;Nisan&quot;,&quot;Iyar&quot;,&quot;Sivan&quot;,&quot;Tammuz&quot;,&quot;Av&quot;,&quot;Elul&quot;,&quot;Tishrei&quot;,&quot;Cheshvan&quot;,&quot;Kislev&quot;,&quot;Tevet&quot;,&quot;Shevat&quot;,&quot;Adar&quot;,&quot;Adar II&quot;],monthNamesShort:[&quot;Nis&quot;,&quot;Iya&quot;,&quot;Siv&quot;,&quot;Tam&quot;,&quot;Av&quot;,&quot;Elu&quot;,&quot;Tis&quot;,&quot;Che&quot;,&quot;Kis&quot;,&quot;Tev&quot;,&quot;She&quot;,&quot;Ada&quot;,&quot;Ad2&quot;],dayNames:[&quot;Yom Rishon&quot;,&quot;Yom Sheni&quot;,&quot;Yom Shlishi&quot;,&quot;Yom Revi'i&quot;,&quot;Yom Chamishi&quot;,&quot;Yom Shishi&quot;,&quot;Yom Shabbat&quot;],dayNamesShort:[&quot;Ris&quot;,&quot;She&quot;,&quot;Shl&quot;,&quot;Rev&quot;,&quot;Cha&quot;,&quot;Shi&quot;,&quot;Sha&quot;],dayNamesMin:[&quot;Ri&quot;,&quot;She&quot;,&quot;Shl&quot;,&quot;Re&quot;,&quot;Ch&quot;,&quot;Shi&quot;,&quot;Sha&quot;],digits:null,dateFormat:&quot;dd/mm/yyyy&quot;,firstDay:0,isRTL:!1}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,a.local.invalidYear);return this._leapYear(e.year())},_leapYear:function(t){return t=t&lt;0?t+1:t,i(7*t+1,19)&lt;7},monthsInYear:function(t){return this._validate(t,this.minMonth,this.minDay,a.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(),&quot;d&quot;),Math.floor((n.dayOfYear()-1)/7)+1},daysInYear:function(t){return t=this._validate(t,this.minMonth,this.minDay,a.local.invalidYear).year(),this.toJD(-1===t?1:t+1,7,1)-this.toJD(t,7,1)},daysInMonth:function(t,e){return t.year&amp;&amp;(e=t.month(),t=t.year()),this._validate(t,e,this.minDay,a.local.invalidMonth),12===e&amp;&amp;this.leapYear(t)?30:8===e&amp;&amp;5===i(this.daysInYear(t),10)?30:9===e&amp;&amp;3===i(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 n=this._validate(t,e,r,a.local.invalidDate);return{yearType:(this.leapYear(n)?&quot;embolismic&quot;:&quot;common&quot;)+&quot; &quot;+[&quot;deficient&quot;,&quot;regular&quot;,&quot;complete&quot;][this.daysInYear(n)%10-3]}},toJD:function(t,e,r){var n=this._validate(t,e,r,a.local.invalidDate);t=n.year(),e=n.month(),r=n.day();var i=t&lt;=0?t+1:t,o=this.jdEpoch+this._delay1(i)+this._delay2(i)+r+1;if(e&lt;7){for(var s=7;s&lt;=this.monthsInYear(t);s++)o+=this.daysInMonth(t,s);for(s=1;s&lt;e;s++)o+=this.daysInMonth(t,s)}else for(s=7;s&lt;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 i(3*(n+1),7)&lt;3&amp;&amp;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&gt;=this.toJD(-1===e?1:e+1,7,1);)e++;for(var r=t&lt;this.toJD(e,1,1)?7:1;t&gt;this.toJD(e,r,this.daysInMonth(e,r));)r++;var n=t-this.toJD(e,r,1)+1;return this.newDate(e,r,n)}}),a.calendars.hebrew=n},{&quot;../main&quot;:595,&quot;object-assign&quot;:462}],586:[function(t,e,r){function n(t){this.local=this.regionalOptions[t||&quot;&quot;]||this.regionalOptions[&quot;&quot;]}var i=t(&quot;../main&quot;);t(&quot;object-assign&quot;)(n.prototype=new i.baseCalendar,{name:&quot;Islamic&quot;,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:{&quot;&quot;:{name:&quot;Islamic&quot;,epochs:[&quot;BH&quot;,&quot;AH&quot;],monthNames:[&quot;Muharram&quot;,&quot;Safar&quot;,&quot;Rabi' al-awwal&quot;,&quot;Rabi' al-thani&quot;,&quot;Jumada al-awwal&quot;,&quot;Jumada al-thani&quot;,&quot;Rajab&quot;,&quot;Sha'aban&quot;,&quot;Ramadan&quot;,&quot;Shawwal&quot;,&quot;Dhu al-Qi'dah&quot;,&quot;Dhu al-Hijjah&quot;],monthNamesShort:[&quot;Muh&quot;,&quot;Saf&quot;,&quot;Rab1&quot;,&quot;Rab2&quot;,&quot;Jum1&quot;,&quot;Jum2&quot;,&quot;Raj&quot;,&quot;Sha'&quot;,&quot;Ram&quot;,&quot;Shaw&quot;,&quot;DhuQ&quot;,&quot;DhuH&quot;],dayNames:[&quot;Yawm al-ahad&quot;,&quot;Yawm al-ithnayn&quot;,&quot;Yawm ath-thulaathaa'&quot;,&quot;Yawm al-arbi'aa'&quot;,&quot;Yawm al-kham\u012bs&quot;,&quot;Yawm al-jum'a&quot;,&quot;Yawm as-sabt&quot;],dayNamesShort:[&quot;Aha&quot;,&quot;Ith&quot;,&quot;Thu&quot;,&quot;Arb&quot;,&quot;Kha&quot;,&quot;Jum&quot;,&quot;Sab&quot;],dayNamesMin:[&quot;Ah&quot;,&quot;It&quot;,&quot;Th&quot;,&quot;Ar&quot;,&quot;Kh&quot;,&quot;Ju&quot;,&quot;Sa&quot;],digits:null,dateFormat:&quot;yyyy/mm/dd&quot;,firstDay:6,isRTL:!1}},leapYear:function(t){return(11*this._validate(t,this.minMonth,this.minDay,i.local.invalidYear).year()+14)%30&lt;11},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(-n.dayOfWeek(),&quot;d&quot;),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,i.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(12===r.month()&amp;&amp;this.leapYear(r.year())?1:0)},weekDay:function(t,e,r){return 5!==this.dayOfWeek(t,e,r)},toJD:function(t,e,r){var n=this._validate(t,e,r,i.local.invalidDate);return t=n.year(),e=n.month(),r=n.day(),t=t&lt;=0?t+1:t,r+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&lt;=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)}}),i.calendars.islamic=n},{&quot;../main&quot;:595,&quot;object-assign&quot;:462}],587:[function(t,e,r){function n(t){this.local=this.regionalOptions[t||&quot;&quot;]||this.regionalOptions[&quot;&quot;]}var i=t(&quot;../main&quot;);t(&quot;object-assign&quot;)(n.prototype=new i.baseCalendar,{name:&quot;Julian&quot;,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:{&quot;&quot;:{name:&quot;Julian&quot;,epochs:[&quot;BC&quot;,&quot;AD&quot;],monthNames:[&quot;January&quot;,&quot;February&quot;,&quot;March&quot;,&quot;April&quot;,&quot;May&quot;,&quot;June&quot;,&quot;July&quot;,&quot;August&quot;,&quot;September&quot;,&quot;October&quot;,&quot;November&quot;,&quot;December&quot;],monthNamesShort:[&quot;Jan&quot;,&quot;Feb&quot;,&quot;Mar&quot;,&quot;Apr&quot;,&quot;May&quot;,&quot;Jun&quot;,&quot;Jul&quot;,&quot;Aug&quot;,&quot;Sep&quot;,&quot;Oct&quot;,&quot;Nov&quot;,&quot;Dec&quot;],dayNames:[&quot;Sunday&quot;,&quot;Monday&quot;,&quot;Tuesday&quot;,&quot;Wednesday&quot;,&quot;Thursday&quot;,&quot;Friday&quot;,&quot;Saturday&quot;],dayNamesShort:[&quot;Sun&quot;,&quot;Mon&quot;,&quot;Tue&quot;,&quot;Wed&quot;,&quot;Thu&quot;,&quot;Fri&quot;,&quot;Sat&quot;],dayNamesMin:[&quot;Su&quot;,&quot;Mo&quot;,&quot;Tu&quot;,&quot;We&quot;,&quot;Th&quot;,&quot;Fr&quot;,&quot;Sa&quot;],digits:null,dateFormat:&quot;mm/dd/yyyy&quot;,firstDay:0,isRTL:!1}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,i.local.invalidYear);return(t=e.year()&lt;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),&quot;d&quot;),Math.floor((n.dayOfYear()-1)/7)+1},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,i.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(2===r.month()&amp;&amp;this.leapYear(r.year())?1:0)},weekDay:function(t,e,r){return(this.dayOfWeek(t,e,r)||7)&lt;6},toJD:function(t,e,r){var n=this._validate(t,e,r,i.local.invalidDate);return t=n.year(),e=n.month(),r=n.day(),t&lt;0&amp;&amp;t++,e&lt;=2&amp;&amp;(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&lt;14?1:13),o=r-Math.floor(a&gt;2?4716:4715),s=e-n-Math.floor(30.6001*i);return o&lt;=0&amp;&amp;o--,this.newDate(o,a,s)}}),i.calendars.julian=n},{&quot;../main&quot;:595,&quot;object-assign&quot;:462}],588:[function(t,e,r){function n(t){this.local=this.regionalOptions[t||&quot;&quot;]||this.regionalOptions[&quot;&quot;]}function i(t,e){return t-e*Math.floor(t/e)}function a(t,e){return i(t-1,e)+1}var o=t(&quot;../main&quot;);t(&quot;object-assign&quot;)(n.prototype=new o.baseCalendar,{name:&quot;Mayan&quot;,jdEpoch:584282.5,hasYearZero:!0,minMonth:0,firstMonth:0,minDay:0,regionalOptions:{&quot;&quot;:{name:&quot;Mayan&quot;,epochs:[&quot;&quot;,&quot;&quot;],monthNames:[&quot;0&quot;,&quot;1&quot;,&quot;2&quot;,&quot;3&quot;,&quot;4&quot;,&quot;5&quot;,&quot;6&quot;,&quot;7&quot;,&quot;8&quot;,&quot;9&quot;,&quot;10&quot;,&quot;11&quot;,&quot;12&quot;,&quot;13&quot;,&quot;14&quot;,&quot;15&quot;,&quot;16&quot;,&quot;17&quot;],monthNamesShort:[&quot;0&quot;,&quot;1&quot;,&quot;2&quot;,&quot;3&quot;,&quot;4&quot;,&quot;5&quot;,&quot;6&quot;,&quot;7&quot;,&quot;8&quot;,&quot;9&quot;,&quot;10&quot;,&quot;11&quot;,&quot;12&quot;,&quot;13&quot;,&quot;14&quot;,&quot;15&quot;,&quot;16&quot;,&quot;17&quot;],dayNames:[&quot;0&quot;,&quot;1&quot;,&quot;2&quot;,&quot;3&quot;,&quot;4&quot;,&quot;5&quot;,&quot;6&quot;,&quot;7&quot;,&quot;8&quot;,&quot;9&quot;,&quot;10&quot;,&quot;11&quot;,&quot;12&quot;,&quot;13&quot;,&quot;14&quot;,&quot;15&quot;,&quot;16&quot;,&quot;17&quot;,&quot;18&quot;,&quot;19&quot;],dayNamesShort:[&quot;0&quot;,&quot;1&quot;,&quot;2&quot;,&quot;3&quot;,&quot;4&quot;,&quot;5&quot;,&quot;6&quot;,&quot;7&quot;,&quot;8&quot;,&quot;9&quot;,&quot;10&quot;,&quot;11&quot;,&quot;12&quot;,&quot;13&quot;,&quot;14&quot;,&quot;15&quot;,&quot;16&quot;,&quot;17&quot;,&quot;18&quot;,&quot;19&quot;],dayNamesMin:[&quot;0&quot;,&quot;1&quot;,&quot;2&quot;,&quot;3&quot;,&quot;4&quot;,&quot;5&quot;,&quot;6&quot;,&quot;7&quot;,&quot;8&quot;,&quot;9&quot;,&quot;10&quot;,&quot;11&quot;,&quot;12&quot;,&quot;13&quot;,&quot;14&quot;,&quot;15&quot;,&quot;16&quot;,&quot;17&quot;,&quot;18&quot;,&quot;19&quot;],digits:null,dateFormat:&quot;YYYY.m.d&quot;,firstDay:0,isRTL:!1,haabMonths:[&quot;Pop&quot;,&quot;Uo&quot;,&quot;Zip&quot;,&quot;Zotz&quot;,&quot;Tzec&quot;,&quot;Xul&quot;,&quot;Yaxkin&quot;,&quot;Mol&quot;,&quot;Chen&quot;,&quot;Yax&quot;,&quot;Zac&quot;,&quot;Ceh&quot;,&quot;Mac&quot;,&quot;Kankin&quot;,&quot;Muan&quot;,&quot;Pax&quot;,&quot;Kayab&quot;,&quot;Cumku&quot;,&quot;Uayeb&quot;],tzolkinMonths:[&quot;Imix&quot;,&quot;Ik&quot;,&quot;Akbal&quot;,&quot;Kan&quot;,&quot;Chicchan&quot;,&quot;Cimi&quot;,&quot;Manik&quot;,&quot;Lamat&quot;,&quot;Muluc&quot;,&quot;Oc&quot;,&quot;Chuen&quot;,&quot;Eb&quot;,&quot;Ben&quot;,&quot;Ix&quot;,&quot;Men&quot;,&quot;Cib&quot;,&quot;Caban&quot;,&quot;Etznab&quot;,&quot;Cauac&quot;,&quot;Ahau&quot;]}},leapYear:function(t){return this._validate(t,this.minMonth,this.minDay,o.local.invalidYear),!1},formatYear:function(t){t=this._validate(t,this.minMonth,this.minDay,o.local.invalidYear).year();var e=Math.floor(t/400);t%=400,t+=t&lt;0?400:0;return e+&quot;.&quot;+Math.floor(t/20)+&quot;.&quot;+t%20},forYear:function(t){if((t=t.split(&quot;.&quot;)).length&lt;3)throw&quot;Invalid Mayan year&quot;;for(var e=0,r=0;r&lt;t.length;r++){var n=parseInt(t[r],10);if(Math.abs(n)&gt;19||r&gt;0&amp;&amp;n&lt;0)throw&quot;Invalid Mayan year&quot;;e=20*e+n}return e},monthsInYear:function(t){return this._validate(t,this.minMonth,this.minDay,o.local.invalidYear),18},weekOfYear:function(t,e,r){return this._validate(t,e,r,o.local.invalidDate),0},daysInYear:function(t){return this._validate(t,this.minMonth,this.minDay,o.local.invalidYear),360},daysInMonth:function(t,e){return this._validate(t,e,this.minDay,o.local.invalidMonth),20},daysInWeek:function(){return 5},dayOfWeek:function(t,e,r){return this._validate(t,e,r,o.local.invalidDate).day()},weekDay:function(t,e,r){return this._validate(t,e,r,o.local.invalidDate),!0},extraInfo:function(t,e,r){var n=this._validate(t,e,r,o.local.invalidDate).toJD(),i=this._toHaab(n),a=this._toTzolkin(n);return{haabMonthName:this.local.haabMonths[i[0]-1],haabMonth:i[0],haabDay:i[1],tzolkinDayName:this.local.tzolkinMonths[a[0]-1],tzolkinDay:a[0],tzolkinTrecena:a[1]}},_toHaab:function(t){var e=i((t-=this.jdEpoch)+8+340,365);return[Math.floor(e/20)+1,i(e,20)]},_toTzolkin:function(t){return t-=this.jdEpoch,[a(t+20,20),a(t+4,13)]},toJD:function(t,e,r){var n=this._validate(t,e,r,o.local.invalidDate);return n.day()+20*n.month()+360*n.year()+this.jdEpoch},fromJD:function(t){t=Math.floor(t)+.5-this.jdEpoch;var e=Math.floor(t/360);t%=360,t+=t&lt;0?360:0;var r=Math.floor(t/20),n=t%20;return this.newDate(e,r,n)}}),o.calendars.mayan=n},{&quot;../main&quot;:595,&quot;object-assign&quot;:462}],589:[function(t,e,r){function n(t){this.local=this.regionalOptions[t||&quot;&quot;]||this.regionalOptions[&quot;&quot;]}var i=t(&quot;../main&quot;),a=t(&quot;object-assign&quot;);n.prototype=new i.baseCalendar;var o=i.instance(&quot;gregorian&quot;);a(n.prototype,{name:&quot;Nanakshahi&quot;,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:{&quot;&quot;:{name:&quot;Nanakshahi&quot;,epochs:[&quot;BN&quot;,&quot;AN&quot;],monthNames:[&quot;Chet&quot;,&quot;Vaisakh&quot;,&quot;Jeth&quot;,&quot;Harh&quot;,&quot;Sawan&quot;,&quot;Bhadon&quot;,&quot;Assu&quot;,&quot;Katak&quot;,&quot;Maghar&quot;,&quot;Poh&quot;,&quot;Magh&quot;,&quot;Phagun&quot;],monthNamesShort:[&quot;Che&quot;,&quot;Vai&quot;,&quot;Jet&quot;,&quot;Har&quot;,&quot;Saw&quot;,&quot;Bha&quot;,&quot;Ass&quot;,&quot;Kat&quot;,&quot;Mgr&quot;,&quot;Poh&quot;,&quot;Mgh&quot;,&quot;Pha&quot;],dayNames:[&quot;Somvaar&quot;,&quot;Mangalvar&quot;,&quot;Budhvaar&quot;,&quot;Veervaar&quot;,&quot;Shukarvaar&quot;,&quot;Sanicharvaar&quot;,&quot;Etvaar&quot;],dayNamesShort:[&quot;Som&quot;,&quot;Mangal&quot;,&quot;Budh&quot;,&quot;Veer&quot;,&quot;Shukar&quot;,&quot;Sanichar&quot;,&quot;Et&quot;],dayNamesMin:[&quot;So&quot;,&quot;Ma&quot;,&quot;Bu&quot;,&quot;Ve&quot;,&quot;Sh&quot;,&quot;Sa&quot;,&quot;Et&quot;],digits:null,dateFormat:&quot;dd-mm-yyyy&quot;,firstDay:0,isRTL:!1}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,i.local.invalidYear||i.regionalOptions[&quot;&quot;].invalidYear);return o.leapYear(e.year()+(e.year()&lt;1?1:0)+1469)},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(1-(n.dayOfWeek()||7),&quot;d&quot;),Math.floor((n.dayOfYear()-1)/7)+1},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,i.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(12===r.month()&amp;&amp;this.leapYear(r.year())?1:0)},weekDay:function(t,e,r){return(this.dayOfWeek(t,e,r)||7)&lt;6},toJD:function(t,e,r){var n=this._validate(t,e,r,i.local.invalidMonth);(t=n.year())&lt;0&amp;&amp;t++;for(var a=n.day(),s=1;s&lt;n.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&gt;=this.toJD(e+1,1,1);)e++;for(var r=t-Math.floor(this.toJD(e,1,1)+.5)+1,n=1;r&gt;this.daysInMonth(e,n);)r-=this.daysInMonth(e,n),n++;return this.newDate(e,n,r)}}),i.calendars.nanakshahi=n},{&quot;../main&quot;:595,&quot;object-assign&quot;:462}],590:[function(t,e,r){function n(t){this.local=this.regionalOptions[t||&quot;&quot;]||this.regionalOptions[&quot;&quot;]}var i=t(&quot;../main&quot;);t(&quot;object-assign&quot;)(n.prototype=new i.baseCalendar,{name:&quot;Nepali&quot;,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:{&quot;&quot;:{name:&quot;Nepali&quot;,epochs:[&quot;BBS&quot;,&quot;ABS&quot;],monthNames:[&quot;Baisakh&quot;,&quot;Jestha&quot;,&quot;Ashadh&quot;,&quot;Shrawan&quot;,&quot;Bhadra&quot;,&quot;Ashwin&quot;,&quot;Kartik&quot;,&quot;Mangsir&quot;,&quot;Paush&quot;,&quot;Mangh&quot;,&quot;Falgun&quot;,&quot;Chaitra&quot;],monthNamesShort:[&quot;Bai&quot;,&quot;Je&quot;,&quot;As&quot;,&quot;Shra&quot;,&quot;Bha&quot;,&quot;Ash&quot;,&quot;Kar&quot;,&quot;Mang&quot;,&quot;Pau&quot;,&quot;Ma&quot;,&quot;Fal&quot;,&quot;Chai&quot;],dayNames:[&quot;Aaitabaar&quot;,&quot;Sombaar&quot;,&quot;Manglbaar&quot;,&quot;Budhabaar&quot;,&quot;Bihibaar&quot;,&quot;Shukrabaar&quot;,&quot;Shanibaar&quot;],dayNamesShort:[&quot;Aaita&quot;,&quot;Som&quot;,&quot;Mangl&quot;,&quot;Budha&quot;,&quot;Bihi&quot;,&quot;Shukra&quot;,&quot;Shani&quot;],dayNamesMin:[&quot;Aai&quot;,&quot;So&quot;,&quot;Man&quot;,&quot;Bu&quot;,&quot;Bi&quot;,&quot;Shu&quot;,&quot;Sha&quot;],digits:null,dateFormat:&quot;dd/mm/yyyy&quot;,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(),&quot;d&quot;),Math.floor((n.dayOfYear()-1)/7)+1},daysInYear:function(t){if(t=this._validate(t,this.minMonth,this.minDay,i.local.invalidYear).year(),void 0===this.NEPALI_CALENDAR_DATA[t])return this.daysPerYear;for(var e=0,r=this.minMonth;r&lt;=12;r++)e+=this.NEPALI_CALENDAR_DATA[t][r];return e},daysInMonth:function(t,e){return t.year&amp;&amp;(e=t.month(),t=t.year()),this._validate(t,e,this.minDay,i.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 n=this._validate(t,e,r,i.local.invalidDate);t=n.year(),e=n.month(),r=n.day();var a=i.instance(),o=0,s=e,l=t;this._createMissingCalendarData(t);var c=t-(s&gt;9||9===s&amp;&amp;r&gt;=this.NEPALI_CALENDAR_DATA[l][0]?56:57);for(9!==e&amp;&amp;(o=r,s--);9!==s;)s&lt;=0&amp;&amp;(s=12,l--),o+=this.NEPALI_CALENDAR_DATA[l][s],s--;return 9===e?(o+=r-this.NEPALI_CALENDAR_DATA[l][0])&lt;0&amp;&amp;(o+=a.daysInYear(c)):o+=this.NEPALI_CALENDAR_DATA[l][9]-this.NEPALI_CALENDAR_DATA[l][0],a.newDate(c,1,1).add(o,&quot;d&quot;).toJD()},fromJD:function(t){var e=i.instance().fromJD(t),r=e.year(),n=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;n&gt;l;)++o&gt;12&amp;&amp;(o=1,a++),l+=this.NEPALI_CALENDAR_DATA[a][o];var c=this.NEPALI_CALENDAR_DATA[a][o]-(l-n);return this.newDate(a,o,c)},_createMissingCalendarData:function(t){var e=this.daysPerMonth.slice(0);e.unshift(17);for(var r=t-1;r&lt;t+2;r++)void 0===this.NEPALI_CALENDAR_DATA[r]&amp;&amp;(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]}}),i.calendars.nepali=n},{&quot;../main&quot;:595,&quot;object-assign&quot;:462}],591:[function(t,e,r){function n(t){this.local=this.regionalOptions[t||&quot;&quot;]||this.regionalOptions[&quot;&quot;]}function i(t,e){return t-e*Math.floor(t/e)}var a=t(&quot;../main&quot;);t(&quot;object-assign&quot;)(n.prototype=new a.baseCalendar,{name:&quot;Persian&quot;,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:{&quot;&quot;:{name:&quot;Persian&quot;,epochs:[&quot;BP&quot;,&quot;AP&quot;],monthNames:[&quot;Farvardin&quot;,&quot;Ordibehesht&quot;,&quot;Khordad&quot;,&quot;Tir&quot;,&quot;Mordad&quot;,&quot;Shahrivar&quot;,&quot;Mehr&quot;,&quot;Aban&quot;,&quot;Azar&quot;,&quot;Day&quot;,&quot;Bahman&quot;,&quot;Esfand&quot;],monthNamesShort:[&quot;Far&quot;,&quot;Ord&quot;,&quot;Kho&quot;,&quot;Tir&quot;,&quot;Mor&quot;,&quot;Sha&quot;,&quot;Meh&quot;,&quot;Aba&quot;,&quot;Aza&quot;,&quot;Day&quot;,&quot;Bah&quot;,&quot;Esf&quot;],dayNames:[&quot;Yekshambe&quot;,&quot;Doshambe&quot;,&quot;Seshambe&quot;,&quot;Ch\xe6harshambe&quot;,&quot;Panjshambe&quot;,&quot;Jom'e&quot;,&quot;Shambe&quot;],dayNamesShort:[&quot;Yek&quot;,&quot;Do&quot;,&quot;Se&quot;,&quot;Ch\xe6&quot;,&quot;Panj&quot;,&quot;Jom&quot;,&quot;Sha&quot;],dayNamesMin:[&quot;Ye&quot;,&quot;Do&quot;,&quot;Se&quot;,&quot;Ch&quot;,&quot;Pa&quot;,&quot;Jo&quot;,&quot;Sh&quot;],digits:null,dateFormat:&quot;yyyy/mm/dd&quot;,firstDay:6,isRTL:!1}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,a.local.invalidYear);return 682*((e.year()-(e.year()&gt;0?474:473))%2820+474+38)%2816&lt;682},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(-(n.dayOfWeek()+1)%7,&quot;d&quot;),Math.floor((n.dayOfYear()-1)/7)+1},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,a.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(12===r.month()&amp;&amp;this.leapYear(r.year())?1:0)},weekDay:function(t,e,r){return 5!==this.dayOfWeek(t,e,r)},toJD:function(t,e,r){var n=this._validate(t,e,r,a.local.invalidDate);t=n.year(),e=n.month(),r=n.day();var o=t-(t&gt;=0?474:473),s=474+i(o,2820);return r+(e&lt;=7?31*(e-1):30*(e-1)+6)+Math.floor((682*s-110)/2816)+365*(s-1)+1029983*Math.floor(o/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=i(e,1029983),a=2820;if(1029982!==n){var o=Math.floor(n/366),s=i(n,366);a=Math.floor((2134*o+2816*s+2815)/1028522)+o+1}var l=a+2820*r+474;l=l&lt;=0?l-1:l;var c=t-this.toJD(l,1,1)+1,u=c&lt;=186?Math.ceil(c/31):Math.ceil((c-6)/30),f=t-this.toJD(l,u,1)+1;return this.newDate(l,u,f)}}),a.calendars.persian=n,a.calendars.jalali=n},{&quot;../main&quot;:595,&quot;object-assign&quot;:462}],592:[function(t,e,r){function n(t){this.local=this.regionalOptions[t||&quot;&quot;]||this.regionalOptions[&quot;&quot;]}var i=t(&quot;../main&quot;),a=t(&quot;object-assign&quot;),o=i.instance();a(n.prototype=new i.baseCalendar,{name:&quot;Taiwan&quot;,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:{&quot;&quot;:{name:&quot;Taiwan&quot;,epochs:[&quot;BROC&quot;,&quot;ROC&quot;],monthNames:[&quot;January&quot;,&quot;February&quot;,&quot;March&quot;,&quot;April&quot;,&quot;May&quot;,&quot;June&quot;,&quot;July&quot;,&quot;August&quot;,&quot;September&quot;,&quot;October&quot;,&quot;November&quot;,&quot;December&quot;],monthNamesShort:[&quot;Jan&quot;,&quot;Feb&quot;,&quot;Mar&quot;,&quot;Apr&quot;,&quot;May&quot;,&quot;Jun&quot;,&quot;Jul&quot;,&quot;Aug&quot;,&quot;Sep&quot;,&quot;Oct&quot;,&quot;Nov&quot;,&quot;Dec&quot;],dayNames:[&quot;Sunday&quot;,&quot;Monday&quot;,&quot;Tuesday&quot;,&quot;Wednesday&quot;,&quot;Thursday&quot;,&quot;Friday&quot;,&quot;Saturday&quot;],dayNamesShort:[&quot;Sun&quot;,&quot;Mon&quot;,&quot;Tue&quot;,&quot;Wed&quot;,&quot;Thu&quot;,&quot;Fri&quot;,&quot;Sat&quot;],dayNamesMin:[&quot;Su&quot;,&quot;Mo&quot;,&quot;Tu&quot;,&quot;We&quot;,&quot;Th&quot;,&quot;Fr&quot;,&quot;Sa&quot;],digits:null,dateFormat:&quot;yyyy/mm/dd&quot;,firstDay:1,isRTL:!1}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,i.local.invalidYear);t=this._t2gYear(e.year());return o.leapYear(t)},weekOfYear:function(t,e,r){var n=this._validate(t,this.minMonth,this.minDay,i.local.invalidYear);t=this._t2gYear(n.year());return o.weekOfYear(t,n.month(),n.day())},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,i.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(2===r.month()&amp;&amp;this.leapYear(r.year())?1:0)},weekDay:function(t,e,r){return(this.dayOfWeek(t,e,r)||7)&lt;6},toJD:function(t,e,r){var n=this._validate(t,e,r,i.local.invalidDate);t=this._t2gYear(n.year());return o.toJD(t,n.month(),n.day())},fromJD:function(t){var e=o.fromJD(t),r=this._g2tYear(e.year());return this.newDate(r,e.month(),e.day())},_t2gYear:function(t){return t+this.yearsOffset+(t&gt;=-this.yearsOffset&amp;&amp;t&lt;=-1?1:0)},_g2tYear:function(t){return t-this.yearsOffset-(t&gt;=1&amp;&amp;t&lt;=this.yearsOffset?1:0)}}),i.calendars.taiwan=n},{&quot;../main&quot;:595,&quot;object-assign&quot;:462}],593:[function(t,e,r){function n(t){this.local=this.regionalOptions[t||&quot;&quot;]||this.regionalOptions[&quot;&quot;]}var i=t(&quot;../main&quot;),a=t(&quot;object-assign&quot;),o=i.instance();a(n.prototype=new i.baseCalendar,{name:&quot;Thai&quot;,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:{&quot;&quot;:{name:&quot;Thai&quot;,epochs:[&quot;BBE&quot;,&quot;BE&quot;],monthNames:[&quot;January&quot;,&quot;February&quot;,&quot;March&quot;,&quot;April&quot;,&quot;May&quot;,&quot;June&quot;,&quot;July&quot;,&quot;August&quot;,&quot;September&quot;,&quot;October&quot;,&quot;November&quot;,&quot;December&quot;],monthNamesShort:[&quot;Jan&quot;,&quot;Feb&quot;,&quot;Mar&quot;,&quot;Apr&quot;,&quot;May&quot;,&quot;Jun&quot;,&quot;Jul&quot;,&quot;Aug&quot;,&quot;Sep&quot;,&quot;Oct&quot;,&quot;Nov&quot;,&quot;Dec&quot;],dayNames:[&quot;Sunday&quot;,&quot;Monday&quot;,&quot;Tuesday&quot;,&quot;Wednesday&quot;,&quot;Thursday&quot;,&quot;Friday&quot;,&quot;Saturday&quot;],dayNamesShort:[&quot;Sun&quot;,&quot;Mon&quot;,&quot;Tue&quot;,&quot;Wed&quot;,&quot;Thu&quot;,&quot;Fri&quot;,&quot;Sat&quot;],dayNamesMin:[&quot;Su&quot;,&quot;Mo&quot;,&quot;Tu&quot;,&quot;We&quot;,&quot;Th&quot;,&quot;Fr&quot;,&quot;Sa&quot;],digits:null,dateFormat:&quot;dd/mm/yyyy&quot;,firstDay:0,isRTL:!1}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,i.local.invalidYear);t=this._t2gYear(e.year());return o.leapYear(t)},weekOfYear:function(t,e,r){var n=this._validate(t,this.minMonth,this.minDay,i.local.invalidYear);t=this._t2gYear(n.year());return o.weekOfYear(t,n.month(),n.day())},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,i.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(2===r.month()&amp;&amp;this.leapYear(r.year())?1:0)},weekDay:function(t,e,r){return(this.dayOfWeek(t,e,r)||7)&lt;6},toJD:function(t,e,r){var n=this._validate(t,e,r,i.local.invalidDate);t=this._t2gYear(n.year());return o.toJD(t,n.month(),n.day())},fromJD:function(t){var e=o.fromJD(t),r=this._g2tYear(e.year());return this.newDate(r,e.month(),e.day())},_t2gYear:function(t){return t-this.yearsOffset-(t&gt;=1&amp;&amp;t&lt;=this.yearsOffset?1:0)},_g2tYear:function(t){return t+this.yearsOffset+(t&gt;=-this.yearsOffset&amp;&amp;t&lt;=-1?1:0)}}),i.calendars.thai=n},{&quot;../main&quot;:595,&quot;object-assign&quot;:462}],594:[function(t,e,r){function n(t){this.local=this.regionalOptions[t||&quot;&quot;]||this.regionalOptions[&quot;&quot;]}var i=t(&quot;../main&quot;);t(&quot;object-assign&quot;)(n.prototype=new i.baseCalendar,{name:&quot;UmmAlQura&quot;,hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{&quot;&quot;:{name:&quot;Umm al-Qura&quot;,epochs:[&quot;BH&quot;,&quot;AH&quot;],monthNames:[&quot;Al-Muharram&quot;,&quot;Safar&quot;,&quot;Rabi' al-awwal&quot;,&quot;Rabi' Al-Thani&quot;,&quot;Jumada Al-Awwal&quot;,&quot;Jumada Al-Thani&quot;,&quot;Rajab&quot;,&quot;Sha'aban&quot;,&quot;Ramadan&quot;,&quot;Shawwal&quot;,&quot;Dhu al-Qi'dah&quot;,&quot;Dhu al-Hijjah&quot;],monthNamesShort:[&quot;Muh&quot;,&quot;Saf&quot;,&quot;Rab1&quot;,&quot;Rab2&quot;,&quot;Jum1&quot;,&quot;Jum2&quot;,&quot;Raj&quot;,&quot;Sha'&quot;,&quot;Ram&quot;,&quot;Shaw&quot;,&quot;DhuQ&quot;,&quot;DhuH&quot;],dayNames:[&quot;Yawm al-Ahad&quot;,&quot;Yawm al-Ithnain&quot;,&quot;Yawm al-Thal\u0101th\u0101\u2019&quot;,&quot;Yawm al-Arba\u2018\u0101\u2019&quot;,&quot;Yawm al-Kham\u012bs&quot;,&quot;Yawm al-Jum\u2018a&quot;,&quot;Yawm al-Sabt&quot;],dayNamesMin:[&quot;Ah&quot;,&quot;Ith&quot;,&quot;Th&quot;,&quot;Ar&quot;,&quot;Kh&quot;,&quot;Ju&quot;,&quot;Sa&quot;],digits:null,dateFormat:&quot;yyyy/mm/dd&quot;,firstDay:6,isRTL:!0}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,i.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(),&quot;d&quot;),Math.floor((n.dayOfYear()-1)/7)+1},daysInYear:function(t){for(var e=0,r=1;r&lt;=12;r++)e+=this.daysInMonth(t,r);return e},daysInMonth:function(t,e){for(var r=this._validate(t,e,this.minDay,i.local.invalidMonth).toJD()-24e5+.5,n=0,o=0;o&lt;a.length;o++){if(a[o]&gt;r)return a[n]-a[n-1];n++}return 30},weekDay:function(t,e,r){return 5!==this.dayOfWeek(t,e,r)},toJD:function(t,e,r){var n=this._validate(t,e,r,i.local.invalidDate),o=12*(n.year()-1)+n.month()-15292;return n.day()+a[o-1]-1+24e5-.5},fromJD:function(t){for(var e=t-24e5+.5,r=0,n=0;n&lt;a.length&amp;&amp;!(a[n]&gt;e);n++)r++;var i=r+15292,o=Math.floor((i-1)/12),s=o+1,l=i-12*o,c=e-a[r-1]+1;return this.newDate(s,l,c)},isValid:function(t,e,r){var n=i.baseCalendar.prototype.isValid.apply(this,arguments);return n&amp;&amp;(n=(t=null!=t.year?t.year:t)&gt;=1276&amp;&amp;t&lt;=1500),n},_validate:function(t,e,r,n){var a=i.baseCalendar.prototype._validate.apply(this,arguments);if(a.year&lt;1276||a.year&gt;1500)throw n.replace(/\{0\}/,this.local.name);return a}}),i.calendars.ummalqura=n;var a=[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]},{&quot;../main&quot;:595,&quot;object-assign&quot;:462}],595:[function(t,e,r){function n(){this.regionalOptions=[],this.regionalOptions[&quot;&quot;]={invalidCalendar:&quot;Calendar {0} not found&quot;,invalidDate:&quot;Invalid {0} date&quot;,invalidMonth:&quot;Invalid {0} month&quot;,invalidYear:&quot;Invalid {0} year&quot;,differentCalendars:&quot;Cannot mix {0} and {1} dates&quot;},this.local=this.regionalOptions[&quot;&quot;],this.calendars={},this._localCals={}}function i(t,e,r,n){if(this._calendar=t,this._year=e,this._month=r,this._day=n,0===this._calendar._validateLevel&amp;&amp;!this._calendar.isValid(this._year,this._month,this._day))throw(c.local.invalidDate||c.regionalOptions[&quot;&quot;].invalidDate).replace(/\{0\}/,this._calendar.local.name)}function a(t,e){return t=&quot;&quot;+t,&quot;000000&quot;.substring(0,e-t.length)+t}function o(){this.shortYearCutoff=&quot;+10&quot;}function s(t){this.local=this.regionalOptions[t]||this.regionalOptions[&quot;&quot;]}var l=t(&quot;object-assign&quot;);l(n.prototype,{instance:function(t,e){t=(t||&quot;gregorian&quot;).toLowerCase(),e=e||&quot;&quot;;var r=this._localCals[t+&quot;-&quot;+e];if(!r&amp;&amp;this.calendars[t]&amp;&amp;(r=new this.calendars[t](e),this._localCals[t+&quot;-&quot;+e]=r),!r)throw(this.local.invalidCalendar||this.regionalOptions[&quot;&quot;].invalidCalendar).replace(/\{0\}/,t);return r},newDate:function(t,e,r,n,i){return(n=(null!=t&amp;&amp;t.year?t.calendar():&quot;string&quot;==typeof n?this.instance(n,i):n)||this.instance()).newDate(t,e,r)},substituteDigits:function(t){return function(e){return(e+&quot;&quot;).replace(/[0-9]/g,function(e){return t[e]})}},substituteChineseDigits:function(t,e){return function(r){for(var n=&quot;&quot;,i=0;r&gt;0;){var a=r%10;n=(0===a?&quot;&quot;:t[a]+e[i])+n,i++,r=Math.floor(r/10)}return 0===n.indexOf(t[1]+e[1])&amp;&amp;(n=n.substr(1)),n||t[0]}}}),l(i.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,&quot;y&quot;)},month:function(t){return 0===arguments.length?this._month:this.set(t,&quot;m&quot;)},day:function(t){return 0===arguments.length?this._day:this.set(t,&quot;d&quot;)},date:function(t,e,r){if(!this._calendar.isValid(t,e,r))throw(c.local.invalidDate||c.regionalOptions[&quot;&quot;].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[&quot;&quot;].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&lt;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()&lt;0?&quot;-&quot;:&quot;&quot;)+a(Math.abs(this.year()),4)+&quot;-&quot;+a(this.month(),2)+&quot;-&quot;+a(this.day(),2)}}),l(o.prototype,{_validateLevel:0,newDate:function(t,e,r){return null==t?this.today():(t.year&amp;&amp;(this._validate(t,e,r,c.local.invalidDate||c.regionalOptions[&quot;&quot;].invalidDate),r=t.day(),e=t.month(),t=t.year()),new i(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[&quot;&quot;].invalidYear).year()&lt;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[&quot;&quot;].invalidYear);return(e.year()&lt;0?&quot;-&quot;:&quot;&quot;)+a(Math.abs(e.year()),4)},monthsInYear:function(t){return this._validate(t,this.minMonth,this.minDay,c.local.invalidYear||c.regionalOptions[&quot;&quot;].invalidYear),12},monthOfYear:function(t,e){var r=this._validate(t,e,this.minDay,c.local.invalidMonth||c.regionalOptions[&quot;&quot;].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[&quot;&quot;].invalidMonth),r},daysInYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,c.local.invalidYear||c.regionalOptions[&quot;&quot;].invalidYear);return this.leapYear(e)?366:365},dayOfYear:function(t,e,r){var n=this._validate(t,e,r,c.local.invalidDate||c.regionalOptions[&quot;&quot;].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[&quot;&quot;].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[&quot;&quot;].invalidDate),{}},add:function(t,e,r){return this._validate(t,this.minMonth,this.minDay,c.local.invalidDate||c.regionalOptions[&quot;&quot;].invalidDate),this._correctAdd(t,this._add(t,e,r),e,r)},_add:function(t,e,r){if(this._validateLevel++,&quot;d&quot;===r||&quot;w&quot;===r){var n=t.toJD()+e*(&quot;w&quot;===r?this.daysInWeek():1),i=t.calendar().fromJD(n);return this._validateLevel--,[i.year(),i.month(),i.day()]}try{var a=t.year()+(&quot;y&quot;===r?e:0),o=t.monthOfYear()+(&quot;m&quot;===r?e:0);i=t.day();&quot;y&quot;===r?(t.month()!==this.fromMonthOfYear(a,o)&amp;&amp;(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)))):&quot;m&quot;===r&amp;&amp;(!function(t){for(;o&lt;t.minMonth;)a--,o+=t.monthsInYear(a);for(var e=t.monthsInYear(a);o&gt;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||&quot;y&quot;!==n&amp;&amp;&quot;m&quot;!==n||0!==e[0]&amp;&amp;t.year()&gt;0==e[0]&gt;0)){var i={y:[1,1,&quot;y&quot;],m:[1,this.monthsInYear(-1),&quot;m&quot;],w:[this.daysInWeek(),this.daysInYear(-1),&quot;d&quot;],d:[1,this.daysInYear(-1),&quot;d&quot;]}[n],a=r&lt;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[&quot;&quot;].invalidDate);var n=&quot;y&quot;===r?e:t.year(),i=&quot;m&quot;===r?e:t.month(),a=&quot;d&quot;===r?e:t.day();return&quot;y&quot;!==r&amp;&amp;&quot;m&quot;!==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&gt;=this.minMonth&amp;&amp;e-this.minMonth&lt;this.monthsInYear(i)&amp;&amp;r&gt;=this.minDay&amp;&amp;r-this.minDay&lt;this.daysInMonth(i)}return this._validateLevel--,n},toJSDate:function(t,e,r){var n=this._validate(t,e,r,c.local.invalidDate||c.regionalOptions[&quot;&quot;].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&amp;&amp;this.name!==t.calendar().name)throw(c.local.differentCalendars||c.regionalOptions[&quot;&quot;].differentCalendars).replace(/\{0\}/,this.local.name).replace(/\{1\}/,t.calendar().local.name);return t}try{if(this._validateLevel++,1===this._validateLevel&amp;&amp;!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(s.prototype=new o,{name:&quot;Gregorian&quot;,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:{&quot;&quot;:{name:&quot;Gregorian&quot;,epochs:[&quot;BCE&quot;,&quot;CE&quot;],monthNames:[&quot;January&quot;,&quot;February&quot;,&quot;March&quot;,&quot;April&quot;,&quot;May&quot;,&quot;June&quot;,&quot;July&quot;,&quot;August&quot;,&quot;September&quot;,&quot;October&quot;,&quot;November&quot;,&quot;December&quot;],monthNamesShort:[&quot;Jan&quot;,&quot;Feb&quot;,&quot;Mar&quot;,&quot;Apr&quot;,&quot;May&quot;,&quot;Jun&quot;,&quot;Jul&quot;,&quot;Aug&quot;,&quot;Sep&quot;,&quot;Oct&quot;,&quot;Nov&quot;,&quot;Dec&quot;],dayNames:[&quot;Sunday&quot;,&quot;Monday&quot;,&quot;Tuesday&quot;,&quot;Wednesday&quot;,&quot;Thursday&quot;,&quot;Friday&quot;,&quot;Saturday&quot;],dayNamesShort:[&quot;Sun&quot;,&quot;Mon&quot;,&quot;Tue&quot;,&quot;Wed&quot;,&quot;Thu&quot;,&quot;Fri&quot;,&quot;Sat&quot;],dayNamesMin:[&quot;Su&quot;,&quot;Mo&quot;,&quot;Tu&quot;,&quot;We&quot;,&quot;Th&quot;,&quot;Fr&quot;,&quot;Sa&quot;],digits:null,dateFormat:&quot;mm/dd/yyyy&quot;,firstDay:0,isRTL:!1}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,c.local.invalidYear||c.regionalOptions[&quot;&quot;].invalidYear);return(t=e.year()+(e.year()&lt;0?1:0))%4==0&amp;&amp;(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),&quot;d&quot;),Math.floor((n.dayOfYear()-1)/7)+1},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,c.local.invalidMonth||c.regionalOptions[&quot;&quot;].invalidMonth);return this.daysPerMonth[r.month()-1]+(2===r.month()&amp;&amp;this.leapYear(r.year())?1:0)},weekDay:function(t,e,r){return(this.dayOfWeek(t,e,r)||7)&lt;6},toJD:function(t,e,r){var n=this._validate(t,e,r,c.local.invalidDate||c.regionalOptions[&quot;&quot;].invalidDate);t=n.year(),e=n.month(),r=n.day(),t&lt;0&amp;&amp;t++,e&lt;3&amp;&amp;(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&gt;13.5?13:1),c=i-(l&gt;2.5?4716:4715);return c&lt;=0&amp;&amp;c--,this.newDate(c,l,s)},toJSDate:function(t,e,r){var n=this._validate(t,e,r,c.local.invalidDate||c.regionalOptions[&quot;&quot;].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()&gt;12?i.getHours()+2:0),i},fromJSDate:function(t){return this.newDate(t.getFullYear(),t.getMonth()+1,t.getDate())}});var c=e.exports=new n;c.cdate=i,c.baseCalendar=o,c.calendars.gregorian=s},{&quot;object-assign&quot;:462}],596:[function(t,e,r){var n=t(&quot;object-assign&quot;),i=t(&quot;./main&quot;);n(i.regionalOptions[&quot;&quot;],{invalidArguments:&quot;Invalid arguments&quot;,invalidFormat:&quot;Cannot format a date from another calendar&quot;,missingNumberAt:&quot;Missing number at position {0}&quot;,unknownNameAt:&quot;Unknown name at position {0}&quot;,unexpectedLiteralAt:&quot;Unexpected literal at position {0}&quot;,unexpectedText:&quot;Additional text found at end&quot;}),i.local=i.regionalOptions[&quot;&quot;],n(i.cdate.prototype,{formatDate:function(t,e){return&quot;string&quot;!=typeof t&amp;&amp;(e=t,t=&quot;&quot;),this._calendar.formatDate(t||&quot;&quot;,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:&quot;yyyy-mm-dd&quot;,COOKIE:&quot;D, dd M yyyy&quot;,FULL:&quot;DD, MM d, yyyy&quot;,ISO_8601:&quot;yyyy-mm-dd&quot;,JULIAN:&quot;J&quot;,RFC_822:&quot;D, d M yy&quot;,RFC_850:&quot;DD, dd-M-yy&quot;,RFC_1036:&quot;D, d M yy&quot;,RFC_1123:&quot;D, d M yyyy&quot;,RFC_2822:&quot;D, d M yyyy&quot;,RSS:&quot;D, d M yy&quot;,TICKS:&quot;!&quot;,TIMESTAMP:&quot;@&quot;,W3C:&quot;yyyy-mm-dd&quot;,formatDate:function(t,e,r){if(&quot;string&quot;!=typeof t&amp;&amp;(r=e,e=t,t=&quot;&quot;),!e)return&quot;&quot;;if(e.calendar()!==this)throw i.local.invalidFormat||i.regionalOptions[&quot;&quot;].invalidFormat;t=t||this.local.dateFormat;for(var n=(r=r||{}).dayNamesShort||this.local.dayNamesShort,a=r.dayNames||this.local.dayNames,o=r.monthNumbers||this.local.monthNumbers,s=r.monthNamesShort||this.local.monthNamesShort,l=r.monthNames||this.local.monthNames,c=(r.calculateWeek||this.local.calculateWeek,function(e,r){for(var n=1;x+n&lt;t.length&amp;&amp;t.charAt(x+n)===e;)n++;return x+=n-1,Math.floor(n/(r||1))&gt;1}),u=function(t,e,r,n){var i=&quot;&quot;+e;if(c(t,n))for(;i.length&lt;r;)i=&quot;0&quot;+i;return i},f=function(t,e,r,n){return c(t)?n[e]:r[e]},h=this,d=function(t){return&quot;function&quot;==typeof o?o.call(h,t,c(&quot;m&quot;)):g(u(&quot;m&quot;,t.month(),2))},p=function(t,e){return e?&quot;function&quot;==typeof l?l.call(h,t):l[t.month()-h.minMonth]:&quot;function&quot;==typeof s?s.call(h,t):s[t.month()-h.minMonth]},m=this.local.digits,g=function(t){return r.localNumbers&amp;&amp;m?m(t):t},v=&quot;&quot;,y=!1,x=0;x&lt;t.length;x++)if(y)&quot;'&quot;!==t.charAt(x)||c(&quot;'&quot;)?v+=t.charAt(x):y=!1;else switch(t.charAt(x)){case&quot;d&quot;:v+=g(u(&quot;d&quot;,e.day(),2));break;case&quot;D&quot;:v+=f(&quot;D&quot;,e.dayOfWeek(),n,a);break;case&quot;o&quot;:v+=u(&quot;o&quot;,e.dayOfYear(),3);break;case&quot;w&quot;:v+=u(&quot;w&quot;,e.weekOfYear(),2);break;case&quot;m&quot;:v+=d(e);break;case&quot;M&quot;:v+=p(e,c(&quot;M&quot;));break;case&quot;y&quot;:v+=c(&quot;y&quot;,2)?e.year():(e.year()%100&lt;10?&quot;0&quot;:&quot;&quot;)+e.year()%100;break;case&quot;Y&quot;:c(&quot;Y&quot;,2),v+=e.formatYear();break;case&quot;J&quot;:v+=e.toJD();break;case&quot;@&quot;:v+=(e.toJD()-this.UNIX_EPOCH)*this.SECS_PER_DAY;break;case&quot;!&quot;:v+=(e.toJD()-this.TICKS_EPOCH)*this.TICKS_PER_DAY;break;case&quot;'&quot;:c(&quot;'&quot;)?v+=&quot;'&quot;:y=!0;break;default:v+=t.charAt(x)}return v},parseDate:function(t,e,r){if(null==e)throw i.local.invalidArguments||i.regionalOptions[&quot;&quot;].invalidArguments;if(&quot;&quot;===(e=&quot;object&quot;==typeof e?e.toString():e+&quot;&quot;))return null;t=t||this.local.dateFormat;var n=(r=r||{}).shortYearCutoff||this.shortYearCutoff;n=&quot;string&quot;!=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,d=-1,p=-1,m=-1,g=!1,v=!1,y=function(e,r){for(var n=1;T+n&lt;t.length&amp;&amp;t.charAt(T+n)===e;)n++;return T+=n-1,Math.floor(n/(r||1))&gt;1},x=function(t,r){var n=y(t,r),a=[2,3,n?4:2,n?4:2,10,11,20][&quot;oyYJ@!&quot;.indexOf(t)+1],o=new RegExp(&quot;^-?\\d{1,&quot;+a+&quot;}&quot;),s=e.substring(A).match(o);if(!s)throw(i.local.missingNumberAt||i.regionalOptions[&quot;&quot;].missingNumberAt).replace(/\{0\}/,A);return A+=s[0].length,parseInt(s[0],10)},b=this,_=function(){if(&quot;function&quot;==typeof l){y(&quot;m&quot;);var t=l.call(b,e.substring(A));return A+=t.length,t}return x(&quot;m&quot;)},w=function(t,r,n,a){for(var o=y(t,a)?n:r,s=0;s&lt;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[&quot;&quot;].unknownNameAt).replace(/\{0\}/,A)},M=function(){if(&quot;function&quot;==typeof u){var t=y(&quot;M&quot;)?u.call(b,e.substring(A)):c.call(b,e.substring(A));return A+=t.length,t}return w(&quot;M&quot;,c,u)},k=function(){if(e.charAt(A)!==t.charAt(T))throw(i.local.unexpectedLiteralAt||i.regionalOptions[&quot;&quot;].unexpectedLiteralAt).replace(/\{0\}/,A);A++},A=0,T=0;T&lt;t.length;T++)if(v)&quot;'&quot;!==t.charAt(T)||y(&quot;'&quot;)?k():v=!1;else switch(t.charAt(T)){case&quot;d&quot;:p=x(&quot;d&quot;);break;case&quot;D&quot;:w(&quot;D&quot;,a,o);break;case&quot;o&quot;:m=x(&quot;o&quot;);break;case&quot;w&quot;:x(&quot;w&quot;);break;case&quot;m&quot;:d=_();break;case&quot;M&quot;:d=M();break;case&quot;y&quot;:var S=T;g=!y(&quot;y&quot;,2),T=S,h=x(&quot;y&quot;,2);break;case&quot;Y&quot;:h=x(&quot;Y&quot;,2);break;case&quot;J&quot;:f=x(&quot;J&quot;)+.5,&quot;.&quot;===e.charAt(A)&amp;&amp;(A++,x(&quot;J&quot;));break;case&quot;@&quot;:f=x(&quot;@&quot;)/this.SECS_PER_DAY+this.UNIX_EPOCH;break;case&quot;!&quot;:f=x(&quot;!&quot;)/this.TICKS_PER_DAY+this.TICKS_EPOCH;break;case&quot;*&quot;:A=e.length;break;case&quot;'&quot;:y(&quot;'&quot;)?k():v=!0;break;default:k()}if(A&lt;e.length)throw i.local.unexpectedText||i.regionalOptions[&quot;&quot;].unexpectedText;if(-1===h?h=this.today().year():h&lt;100&amp;&amp;g&amp;&amp;(h+=-1===n?1900:this.today().year()-this.today().year()%100-(h&lt;=n?0:100)),&quot;string&quot;==typeof d&amp;&amp;(d=s.call(this,h,d)),m&gt;-1){d=1,p=m;for(var E=this.daysInMonth(h,d);p&gt;E;E=this.daysInMonth(h,d))d++,p-=E}return f&gt;-1?this.fromJD(f):this.newDate(h,d,p)},determineDate:function(t,e,r,n,i){r&amp;&amp;&quot;object&quot;!=typeof r&amp;&amp;(i=n,n=r,r=null),&quot;string&quot;!=typeof n&amp;&amp;(i=n,n=&quot;&quot;);var a=this;return e=e?e.newDate():null,t=null==t?e:&quot;string&quot;==typeof t?function(t){try{return a.parseDate(n,t,i)}catch(t){}for(var e=((t=t.toLowerCase()).match(/^c/)&amp;&amp;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]||&quot;d&quot;),s=o.exec(t);return e}(t):&quot;number&quot;==typeof t?isNaN(t)||t===1/0||t===-1/0?e:a.today().add(t,&quot;d&quot;):a.newDate(t)}})},{&quot;./main&quot;:595,&quot;object-assign&quot;:462}],597:[function(t,e,r){e.exports=t(&quot;cwise-compiler&quot;)({args:[&quot;array&quot;,{offset:[1],array:0},&quot;scalar&quot;,&quot;scalar&quot;,&quot;index&quot;],pre:{body:&quot;{}&quot;,args:[],thisVars:[],localVars:[]},post:{body:&quot;{}&quot;,args:[],thisVars:[],localVars:[]},body:{body:&quot;{\n        var _inline_1_da = _inline_1_arg0_ - _inline_1_arg3_\n        var _inline_1_db = _inline_1_arg1_ - _inline_1_arg3_\n        if((_inline_1_da &gt;= 0) !== (_inline_1_db &gt;= 0)) {\n          _inline_1_arg2_.push(_inline_1_arg4_[0] + 0.5 + 0.5 * (_inline_1_da + _inline_1_db) / (_inline_1_da - _inline_1_db))\n        }\n      }&quot;,args:[{name:&quot;_inline_1_arg0_&quot;,lvalue:!1,rvalue:!0,count:1},{name:&quot;_inline_1_arg1_&quot;,lvalue:!1,rvalue:!0,count:1},{name:&quot;_inline_1_arg2_&quot;,lvalue:!1,rvalue:!0,count:1},{name:&quot;_inline_1_arg3_&quot;,lvalue:!1,rvalue:!0,count:2},{name:&quot;_inline_1_arg4_&quot;,lvalue:!1,rvalue:!0,count:1}],thisVars:[],localVars:[&quot;_inline_1_da&quot;,&quot;_inline_1_db&quot;]},funcName:&quot;zeroCrossings&quot;})},{&quot;cwise-compiler&quot;:116}],598:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t,e){var r=[];return e=+e||0,n(t.hi(t.shape[0]-1),r,e),r};var n=t(&quot;./lib/zc-core&quot;)},{&quot;./lib/zc-core&quot;:597}],599:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib&quot;),i=t(&quot;../../plots/cartesian/axes&quot;),a=t(&quot;./common_defaults&quot;),o=t(&quot;./attributes&quot;);e.exports=function(t,e,r,s,l){function c(r,i){return n.coerce(t,e,o,r,i)}s=s||{};var u=c(&quot;visible&quot;,!(l=l||{}).itemIsNotPlainObject),f=c(&quot;clicktoshow&quot;);if(!u&amp;&amp;!f)return e;a(t,e,r,c);for(var h=e.showarrow,d=[&quot;x&quot;,&quot;y&quot;],p=[-10,-30],m={_fullLayout:r},g=0;g&lt;2;g++){var v=d[g],y=i.coerceRef(t,e,m,v,&quot;&quot;,&quot;paper&quot;);if(i.coercePosition(e,m,c,y,v,.5),h){var x=&quot;a&quot;+v,b=i.coerceRef(t,e,m,x,&quot;pixel&quot;);&quot;pixel&quot;!==b&amp;&amp;b!==y&amp;&amp;(b=e[x]=&quot;pixel&quot;);var _=&quot;pixel&quot;===b?p[g]:.4;i.coercePosition(e,m,c,b,x,_)}c(v+&quot;anchor&quot;),c(v+&quot;shift&quot;)}if(n.noneOrAll(t,e,[&quot;x&quot;,&quot;y&quot;]),h&amp;&amp;n.noneOrAll(t,e,[&quot;ax&quot;,&quot;ay&quot;]),f){var w=c(&quot;xclick&quot;),M=c(&quot;yclick&quot;);e._xclick=void 0===w?e.x:i.cleanPosition(w,m,e.xref),e._yclick=void 0===M?e.y:i.cleanPosition(M,m,e.yref)}return e}},{&quot;../../lib&quot;:743,&quot;../../plots/cartesian/axes&quot;:789,&quot;./attributes&quot;:601,&quot;./common_defaults&quot;:604}],600:[function(t,e,r){&quot;use strict&quot;;e.exports=[{path:&quot;&quot;,backoff:0},{path:&quot;M-2.4,-3V3L0.6,0Z&quot;,backoff:.6},{path:&quot;M-3.7,-2.5V2.5L1.3,0Z&quot;,backoff:1.3},{path:&quot;M-4.45,-3L-1.65,-0.2V0.2L-4.45,3L1.55,0Z&quot;,backoff:1.55},{path:&quot;M-2.2,-2.2L-0.2,-0.2V0.2L-2.2,2.2L-1.4,3L1.6,0L-1.4,-3Z&quot;,backoff:1.6},{path:&quot;M-4.4,-2.1L-0.6,-0.2V0.2L-4.4,2.1L-4,3L2,0L-4,-3Z&quot;,backoff:2},{path:&quot;M2,0A2,2 0 1,1 0,-2A2,2 0 0,1 2,0Z&quot;,backoff:0,noRotate:!0},{path:&quot;M2,2V-2H-2V2Z&quot;,backoff:0,noRotate:!0}]},{}],601:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;./arrow_paths&quot;),i=t(&quot;../../plots/font_attributes&quot;),a=t(&quot;../../plots/cartesian/constants&quot;);e.exports={_isLinkedToArray:&quot;annotation&quot;,visible:{valType:&quot;boolean&quot;,dflt:!0,editType:&quot;calcIfAutorange&quot;},text:{valType:&quot;string&quot;,editType:&quot;calcIfAutorange&quot;},textangle:{valType:&quot;angle&quot;,dflt:0,editType:&quot;calcIfAutorange&quot;},font:i({editType:&quot;calcIfAutorange&quot;,colorEditType:&quot;arraydraw&quot;}),width:{valType:&quot;number&quot;,min:1,dflt:null,editType:&quot;calcIfAutorange&quot;},height:{valType:&quot;number&quot;,min:1,dflt:null,editType:&quot;calcIfAutorange&quot;},opacity:{valType:&quot;number&quot;,min:0,max:1,dflt:1,editType:&quot;arraydraw&quot;},align:{valType:&quot;enumerated&quot;,values:[&quot;left&quot;,&quot;center&quot;,&quot;right&quot;],dflt:&quot;center&quot;,editType:&quot;arraydraw&quot;},valign:{valType:&quot;enumerated&quot;,values:[&quot;top&quot;,&quot;middle&quot;,&quot;bottom&quot;],dflt:&quot;middle&quot;,editType:&quot;arraydraw&quot;},bgcolor:{valType:&quot;color&quot;,dflt:&quot;rgba(0,0,0,0)&quot;,editType:&quot;arraydraw&quot;},bordercolor:{valType:&quot;color&quot;,dflt:&quot;rgba(0,0,0,0)&quot;,editType:&quot;arraydraw&quot;},borderpad:{valType:&quot;number&quot;,min:0,dflt:1,editType:&quot;calcIfAutorange&quot;},borderwidth:{valType:&quot;number&quot;,min:0,dflt:1,editType:&quot;calcIfAutorange&quot;},showarrow:{valType:&quot;boolean&quot;,dflt:!0,editType:&quot;calcIfAutorange&quot;},arrowcolor:{valType:&quot;color&quot;,editType:&quot;arraydraw&quot;},arrowhead:{valType:&quot;integer&quot;,min:0,max:n.length,dflt:1,editType:&quot;arraydraw&quot;},startarrowhead:{valType:&quot;integer&quot;,min:0,max:n.length,dflt:1,editType:&quot;arraydraw&quot;},arrowside:{valType:&quot;flaglist&quot;,flags:[&quot;end&quot;,&quot;start&quot;],extras:[&quot;none&quot;],dflt:&quot;end&quot;,editType:&quot;arraydraw&quot;},arrowsize:{valType:&quot;number&quot;,min:.3,dflt:1,editType:&quot;calcIfAutorange&quot;},startarrowsize:{valType:&quot;number&quot;,min:.3,dflt:1,editType:&quot;calcIfAutorange&quot;},arrowwidth:{valType:&quot;number&quot;,min:.1,editType:&quot;calcIfAutorange&quot;},standoff:{valType:&quot;number&quot;,min:0,dflt:0,editType:&quot;calcIfAutorange&quot;},startstandoff:{valType:&quot;number&quot;,min:0,dflt:0,editType:&quot;calcIfAutorange&quot;},ax:{valType:&quot;any&quot;,editType:&quot;calcIfAutorange&quot;},ay:{valType:&quot;any&quot;,editType:&quot;calcIfAutorange&quot;},axref:{valType:&quot;enumerated&quot;,dflt:&quot;pixel&quot;,values:[&quot;pixel&quot;,a.idRegex.x.toString()],editType:&quot;calc&quot;},ayref:{valType:&quot;enumerated&quot;,dflt:&quot;pixel&quot;,values:[&quot;pixel&quot;,a.idRegex.y.toString()],editType:&quot;calc&quot;},xref:{valType:&quot;enumerated&quot;,values:[&quot;paper&quot;,a.idRegex.x.toString()],editType:&quot;calc&quot;},x:{valType:&quot;any&quot;,editType:&quot;calcIfAutorange&quot;},xanchor:{valType:&quot;enumerated&quot;,values:[&quot;auto&quot;,&quot;left&quot;,&quot;center&quot;,&quot;right&quot;],dflt:&quot;auto&quot;,editType:&quot;calcIfAutorange&quot;},xshift:{valType:&quot;number&quot;,dflt:0,editType:&quot;calcIfAutorange&quot;},yref:{valType:&quot;enumerated&quot;,values:[&quot;paper&quot;,a.idRegex.y.toString()],editType:&quot;calc&quot;},y:{valType:&quot;any&quot;,editType:&quot;calcIfAutorange&quot;},yanchor:{valType:&quot;enumerated&quot;,values:[&quot;auto&quot;,&quot;top&quot;,&quot;middle&quot;,&quot;bottom&quot;],dflt:&quot;auto&quot;,editType:&quot;calcIfAutorange&quot;},yshift:{valType:&quot;number&quot;,dflt:0,editType:&quot;calcIfAutorange&quot;},clicktoshow:{valType:&quot;enumerated&quot;,values:[!1,&quot;onoff&quot;,&quot;onout&quot;],dflt:!1,editType:&quot;arraydraw&quot;},xclick:{valType:&quot;any&quot;,editType:&quot;arraydraw&quot;},yclick:{valType:&quot;any&quot;,editType:&quot;arraydraw&quot;},hovertext:{valType:&quot;string&quot;,editType:&quot;arraydraw&quot;},hoverlabel:{bgcolor:{valType:&quot;color&quot;,editType:&quot;arraydraw&quot;},bordercolor:{valType:&quot;color&quot;,editType:&quot;arraydraw&quot;},font:i({editType:&quot;arraydraw&quot;}),editType:&quot;arraydraw&quot;},captureevents:{valType:&quot;boolean&quot;,editType:&quot;arraydraw&quot;},editType:&quot;calc&quot;,_deprecated:{ref:{valType:&quot;string&quot;,editType:&quot;calc&quot;}}}},{&quot;../../plots/cartesian/constants&quot;:794,&quot;../../plots/font_attributes&quot;:816,&quot;./arrow_paths&quot;:600}],602:[function(t,e,r){&quot;use strict&quot;;function n(t){var e=t._fullLayout;i.filterVisible(e.annotations).forEach(function(e){var r,n,i,o,s=a.getFromId(t,e.xref),l=a.getFromId(t,e.yref),c=3*e.arrowsize*e.arrowwidth||0,u=3*e.startarrowsize*e.arrowwidth||0;s&amp;&amp;s.autorange&amp;&amp;(r=c+e.xshift,n=c-e.xshift,i=u+e.xshift,o=u-e.xshift,e.axref===e.xref?(a.expand(s,[s.r2c(e.x)],{ppadplus:r,ppadminus:n}),a.expand(s,[s.r2c(e.ax)],{ppadplus:Math.max(e._xpadplus,i),ppadminus:Math.max(e._xpadminus,o)})):(i=e.ax?i+e.ax:i,o=e.ax?o-e.ax:o,a.expand(s,[s.r2c(e.x)],{ppadplus:Math.max(e._xpadplus,r,i),ppadminus:Math.max(e._xpadminus,n,o)}))),l&amp;&amp;l.autorange&amp;&amp;(r=c-e.yshift,n=c+e.yshift,i=u-e.yshift,o=u+e.yshift,e.ayref===e.yref?(a.expand(l,[l.r2c(e.y)],{ppadplus:r,ppadminus:n}),a.expand(l,[l.r2c(e.ay)],{ppadplus:Math.max(e._ypadplus,i),ppadminus:Math.max(e._ypadminus,o)})):(i=e.ay?i+e.ay:i,o=e.ay?o-e.ay:o,a.expand(l,[l.r2c(e.y)],{ppadplus:Math.max(e._ypadplus,r,i),ppadminus:Math.max(e._ypadminus,n,o)})))})}var i=t(&quot;../../lib&quot;),a=t(&quot;../../plots/cartesian/axes&quot;),o=t(&quot;./draw&quot;).draw;e.exports=function(t){var e=t._fullLayout,r=i.filterVisible(e.annotations);if(r.length&amp;&amp;t._fullData.length){var s={};r.forEach(function(t){s[t.xref]=1,s[t.yref]=1});for(var l in s){var c=a.getFromId(t,l);if(c&amp;&amp;c.autorange)return i.syncOrAsync([o,n],t)}}}},{&quot;../../lib&quot;:743,&quot;../../plots/cartesian/axes&quot;:789,&quot;./draw&quot;:607}],603:[function(t,e,r){&quot;use strict&quot;;function n(t,e){var r,n,a,o,s,l,c,u=t._fullLayout.annotations,f=[],h=[],d=[],p=(e||[]).length;for(r=0;r&lt;u.length;r++)if(a=u[r],o=a.clicktoshow){for(n=0;n&lt;p;n++)if(s=e[n],l=s.xaxis,c=s.yaxis,l._id===a.xref&amp;&amp;c._id===a.yref&amp;&amp;l.d2r(s.x)===i(a._xclick,l)&amp;&amp;c.d2r(s.y)===i(a._yclick,c)){(a.visible?&quot;onout&quot;===o?h:d:f).push(r);break}n===p&amp;&amp;a.visible&amp;&amp;&quot;onout&quot;===o&amp;&amp;h.push(r)}return{on:f,off:h,explicitOff:d}}function i(t,e){return&quot;log&quot;===e.type?e.l2r(t):e.d2r(t)}var a=t(&quot;../../plotly&quot;);e.exports={hasClickToShow:function(t,e){var r=n(t,e);return r.on.length&gt;0||r.explicitOff.length&gt;0},onClick:function(t,e){var r,i=n(t,e),o=i.on,s=i.off.concat(i.explicitOff),l={};if(o.length||s.length){for(r=0;r&lt;o.length;r++)l[&quot;annotations[&quot;+o[r]+&quot;].visible&quot;]=!0;for(r=0;r&lt;s.length;r++)l[&quot;annotations[&quot;+s[r]+&quot;].visible&quot;]=!1;return a.update(t,{},l)}}}},{&quot;../../plotly&quot;:784}],604:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib&quot;),i=t(&quot;../color&quot;);e.exports=function(t,e,r,a){a(&quot;opacity&quot;);var o=a(&quot;bgcolor&quot;),s=a(&quot;bordercolor&quot;),l=i.opacity(s);a(&quot;borderpad&quot;);var c=a(&quot;borderwidth&quot;),u=a(&quot;showarrow&quot;);a(&quot;text&quot;,u?&quot; &quot;:r._dfltTitle.annotation),a(&quot;textangle&quot;),n.coerceFont(a,&quot;font&quot;,r.font),a(&quot;width&quot;),a(&quot;align&quot;);if(a(&quot;height&quot;)&amp;&amp;a(&quot;valign&quot;),u){var f,h,d=a(&quot;arrowside&quot;);-1!==d.indexOf(&quot;end&quot;)&amp;&amp;(f=a(&quot;arrowhead&quot;),h=a(&quot;arrowsize&quot;)),-1!==d.indexOf(&quot;start&quot;)&amp;&amp;(a(&quot;startarrowhead&quot;,f),a(&quot;startarrowsize&quot;,h)),a(&quot;arrowcolor&quot;,l?e.bordercolor:i.defaultLine),a(&quot;arrowwidth&quot;,2*(l&amp;&amp;c||1)),a(&quot;standoff&quot;),a(&quot;startstandoff&quot;)}var p=a(&quot;hovertext&quot;),m=r.hoverlabel||{};if(p){var g=a(&quot;hoverlabel.bgcolor&quot;,m.bgcolor||(i.opacity(o)?i.rgb(o):i.defaultLine)),v=a(&quot;hoverlabel.bordercolor&quot;,m.bordercolor||i.contrast(g));n.coerceFont(a,&quot;hoverlabel.font&quot;,{family:m.font.family,size:m.font.size,color:m.font.color||v})}a(&quot;captureevents&quot;,!!p)}},{&quot;../../lib&quot;:743,&quot;../color&quot;:618}],605:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;fast-isnumeric&quot;),i=t(&quot;../../lib/to_log_range&quot;);e.exports=function(t,e,r,a){function o(t){var r=c[t],o=null;o=s?i(r,e.range):Math.pow(10,r),n(o)||(o=null),a(u+t,o)}e=e||{};var s=&quot;log&quot;===r&amp;&amp;&quot;linear&quot;===e.type,l=&quot;linear&quot;===r&amp;&amp;&quot;log&quot;===e.type;if(s||l)for(var c,u,f=t._fullLayout.annotations,h=e._id.charAt(0),d=0;d&lt;f.length;d++)c=f[d],u=&quot;annotations[&quot;+d+&quot;].&quot;,c[h+&quot;ref&quot;]===e._id&amp;&amp;o(h),c[&quot;a&quot;+h+&quot;ref&quot;]===e._id&amp;&amp;o(&quot;a&quot;+h)}},{&quot;../../lib/to_log_range&quot;:768,&quot;fast-isnumeric&quot;:140}],606:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../plots/array_container_defaults&quot;),i=t(&quot;./annotation_defaults&quot;);e.exports=function(t,e){n(t,e,{name:&quot;annotations&quot;,handleItemDefaults:i})}},{&quot;../../plots/array_container_defaults&quot;:786,&quot;./annotation_defaults&quot;:599}],607:[function(t,e,r){&quot;use strict&quot;;function n(t,e){var r=t._fullLayout.annotations[e]||{};i(t,r,e,!1,c.getFromId(t,r.xref),c.getFromId(t,r.yref))}function i(t,e,r,n,i,s){function c(r){return r.call(f.font,R).attr({&quot;text-anchor&quot;:{left:&quot;start&quot;,right:&quot;end&quot;}[e.align]||&quot;middle&quot;}),d.convertToTspans(r,t,v),r}function v(){function r(t,e){return&quot;auto&quot;===e&amp;&amp;(e=t&lt;1/3?&quot;left&quot;:t&gt;2/3?&quot;right&quot;:&quot;center&quot;),{center:0,middle:0,left:.5,bottom:-.5,right:-.5,top:.5}[e]}var a=N.selectAll(&quot;a&quot;);if(1===a.size()&amp;&amp;a.text()===N.text()){C.insert(&quot;a&quot;,&quot;:first-child&quot;).attr({&quot;xlink:xlink:href&quot;:a.attr(&quot;xlink:href&quot;),&quot;xlink:xlink:show&quot;:a.attr(&quot;xlink:show&quot;)}).style({cursor:&quot;pointer&quot;}).node().appendChild(P.node())}var c=C.select(&quot;.annotation-text-math-group&quot;),h=!c.empty(),v=f.bBox((h?c:N).node()),y=v.width,L=v.height,D=e.width||y,R=e.height||L,j=Math.round(D+2*I),B=Math.round(R+2*I);e._w=D,e._h=R;for(var U=!1,V=[&quot;x&quot;,&quot;y&quot;],q=0;q&lt;V.length;q++){var H,G,Y,W,X,Z=V[q],J=e[Z+&quot;ref&quot;]||Z,K=e[&quot;a&quot;+Z+&quot;ref&quot;],Q={x:i,y:s}[Z],$=(A+(&quot;x&quot;===Z?0:-90))*Math.PI/180,tt=j*Math.cos($),et=B*Math.sin($),rt=Math.abs(tt)+Math.abs(et),nt=e[Z+&quot;anchor&quot;],it=e[Z+&quot;shift&quot;]*(&quot;x&quot;===Z?1:-1),at=k[Z];if(Q){var ot=Q.r2fraction(e[Z]);if((t._dragging||!Q.autorange)&amp;&amp;(ot&lt;0||ot&gt;1)&amp;&amp;(K===J?((ot=Q.r2fraction(e[&quot;a&quot;+Z]))&lt;0||ot&gt;1)&amp;&amp;(U=!0):U=!0,U))continue;H=Q._offset+Q.r2p(e[Z]),W=.5}else&quot;x&quot;===Z?(Y=e[Z],H=_.l+_.w*Y):(Y=1-e[Z],H=_.t+_.h*Y),W=e.showarrow?.5:Y;if(e.showarrow){at.head=H;var st=e[&quot;a&quot;+Z];X=tt*r(.5,e.xanchor)-et*r(.5,e.yanchor),K===J?(at.tail=Q._offset+Q.r2p(st),G=X):(at.tail=H+st,G=X+st),at.text=at.tail+X;var lt=b[&quot;x&quot;===Z?&quot;width&quot;:&quot;height&quot;];if(&quot;paper&quot;===J&amp;&amp;(at.head=l.constrain(at.head,1,lt-1)),&quot;pixel&quot;===K){var ct=-Math.max(at.tail-3,at.text),ut=Math.min(at.tail+3,at.text)-lt;ct&gt;0?(at.tail+=ct,at.text+=ct):ut&gt;0&amp;&amp;(at.tail-=ut,at.text-=ut)}at.tail+=it,at.head+=it}else G=X=rt*r(W,nt),at.text=H+X;at.text+=it,X+=it,G+=it,e[&quot;_&quot;+Z+&quot;padplus&quot;]=rt/2+G,e[&quot;_&quot;+Z+&quot;padminus&quot;]=rt/2-G,e[&quot;_&quot;+Z+&quot;size&quot;]=rt,e[&quot;_&quot;+Z+&quot;shift&quot;]=X}if(U)C.remove();else{var ft=0,ht=0;if(&quot;left&quot;!==e.align&amp;&amp;(ft=(D-y)*(&quot;center&quot;===e.align?.5:1)),&quot;top&quot;!==e.valign&amp;&amp;(ht=(R-L)*(&quot;middle&quot;===e.valign?.5:1)),h)c.select(&quot;svg&quot;).attr({x:I+ft-1,y:I+ht}).call(f.setClipUrl,O?M:null);else{var dt=I+ht-v.top,pt=I+ft-v.left;N.call(d.positionText,pt,dt).call(f.setClipUrl,O?M:null)}F.select(&quot;rect&quot;).call(f.setRect,I,I,D,R),P.call(f.setRect,z/2,z/2,j-z,B-z),C.call(f.setTranslate,Math.round(k.x.text-j/2),Math.round(k.y.text-B/2)),S.attr({transform:&quot;rotate(&quot;+A+&quot;,&quot;+k.x.text+&quot;,&quot;+k.y.text+&quot;)&quot;});var mt=function(r,a){T.selectAll(&quot;.annotation-arrow-g&quot;).remove();var c=k.x.head,h=k.y.head,d=k.x.tail+r,p=k.y.tail+a,v=k.x.text+r,y=k.y.text+a,b=l.rotationXYMatrix(A,v,y),M=l.apply2DTransform(b),E=l.apply2DTransform2(b),L=+P.attr(&quot;width&quot;),z=+P.attr(&quot;height&quot;),D=v-.5*L,I=D+L,O=y-.5*z,F=O+z,R=[[D,O,D,F],[D,F,I,F],[I,F,I,O],[I,O,D,O]].map(E);if(!R.reduce(function(t,e){return t^!!l.segmentsIntersect(c,h,c+1e6,h+1e6,e[0],e[1],e[2],e[3])},!1)){R.forEach(function(t){var e=l.segmentsIntersect(d,p,c,h,t[0],t[1],t[2],t[3]);e&amp;&amp;(d=e.x,p=e.y)});var N=e.arrowwidth,j=e.arrowcolor,B=e.arrowside,U=T.append(&quot;g&quot;).style({opacity:u.opacity(j)}).classed(&quot;annotation-arrow-g&quot;,!0),V=U.append(&quot;path&quot;).attr(&quot;d&quot;,&quot;M&quot;+d+&quot;,&quot;+p+&quot;L&quot;+c+&quot;,&quot;+h).style(&quot;stroke-width&quot;,N+&quot;px&quot;).call(u.stroke,u.rgb(j));if(g(V,B,e),w.annotationPosition&amp;&amp;V.node().parentNode&amp;&amp;!n){var q=c,H=h;if(e.standoff){var G=Math.sqrt(Math.pow(c-d,2)+Math.pow(h-p,2));q+=e.standoff*(d-c)/G,H+=e.standoff*(p-h)/G}var Y,W,X,Z=U.append(&quot;path&quot;).classed(&quot;annotation-arrow&quot;,!0).classed(&quot;anndrag&quot;,!0).attr({d:&quot;M3,3H-3V-3H3ZM0,0L&quot;+(d-q)+&quot;,&quot;+(p-H),transform:&quot;translate(&quot;+q+&quot;,&quot;+H+&quot;)&quot;}).style(&quot;stroke-width&quot;,N+6+&quot;px&quot;).call(u.stroke,&quot;rgba(0,0,0,0)&quot;).call(u.fill,&quot;rgba(0,0,0,0)&quot;);m.init({element:Z.node(),gd:t,prepFn:function(){var t=f.getTranslate(C);W=t.x,X=t.y,Y={},i&amp;&amp;i.autorange&amp;&amp;(Y[i._name+&quot;.autorange&quot;]=!0),s&amp;&amp;s.autorange&amp;&amp;(Y[s._name+&quot;.autorange&quot;]=!0)},moveFn:function(t,r){var n=M(W,X),a=n[0]+t,o=n[1]+r;C.call(f.setTranslate,a,o),Y[x+&quot;.x&quot;]=i?i.p2r(i.r2p(e.x)+t):e.x+t/_.w,Y[x+&quot;.y&quot;]=s?s.p2r(s.r2p(e.y)+r):e.y-r/_.h,e.axref===e.xref&amp;&amp;(Y[x+&quot;.ax&quot;]=i.p2r(i.r2p(e.ax)+t)),e.ayref===e.yref&amp;&amp;(Y[x+&quot;.ay&quot;]=s.p2r(s.r2p(e.ay)+r)),U.attr(&quot;transform&quot;,&quot;translate(&quot;+t+&quot;,&quot;+r+&quot;)&quot;),S.attr({transform:&quot;rotate(&quot;+A+&quot;,&quot;+a+&quot;,&quot;+o+&quot;)&quot;})},doneFn:function(){o.relayout(t,Y);var e=document.querySelector(&quot;.js-notes-box-panel&quot;);e&amp;&amp;e.redraw(e.selectedObj)}})}}};if(e.showarrow&amp;&amp;mt(0,0),E){var gt,vt;m.init({element:C.node(),gd:t,prepFn:function(){vt=S.attr(&quot;transform&quot;),gt={}},moveFn:function(t,r){var a=&quot;pointer&quot;;if(e.showarrow)e.axref===e.xref?gt[x+&quot;.ax&quot;]=i.p2r(i.r2p(e.ax)+t):gt[x+&quot;.ax&quot;]=e.ax+t,e.ayref===e.yref?gt[x+&quot;.ay&quot;]=s.p2r(s.r2p(e.ay)+r):gt[x+&quot;.ay&quot;]=e.ay+r,mt(t,r);else{if(n)return;if(i)gt[x+&quot;.x&quot;]=e.x+t/i._m;else{var o=e._xsize/_.w,l=e.x+(e._xshift-e.xshift)/_.w-o/2;gt[x+&quot;.x&quot;]=m.align(l+t/_.w,o,0,1,e.xanchor)}if(s)gt[x+&quot;.y&quot;]=e.y+r/s._m;else{var c=e._ysize/_.h,u=e.y-(e._yshift+e.yshift)/_.h-c/2;gt[x+&quot;.y&quot;]=m.align(u-r/_.h,c,0,1,e.yanchor)}i&amp;&amp;s||(a=m.getCursor(i?.5:gt[x+&quot;.x&quot;],s?.5:gt[x+&quot;.y&quot;],e.xanchor,e.yanchor))}S.attr({transform:&quot;translate(&quot;+t+&quot;,&quot;+r+&quot;)&quot;+vt}),p(C,a)},doneFn:function(){p(C),o.relayout(t,gt);var e=document.querySelector(&quot;.js-notes-box-panel&quot;);e&amp;&amp;e.redraw(e.selectedObj)}})}}}var y,x,b=t._fullLayout,_=t._fullLayout._size,w=t._context.edits;n?(y=&quot;annotation-&quot;+n,x=n+&quot;.annotations[&quot;+r+&quot;]&quot;):(y=&quot;annotation&quot;,x=&quot;annotations[&quot;+r+&quot;]&quot;),b._infolayer.selectAll(&quot;.&quot;+y+'[data-index=&quot;'+r+'&quot;]').remove();var M=&quot;clip&quot;+b._uid+&quot;_ann&quot;+r;if(e._input&amp;&amp;!1!==e.visible){var k={x:{},y:{}},A=+e.textangle||0,T=b._infolayer.append(&quot;g&quot;).classed(y,!0).attr(&quot;data-index&quot;,String(r)).style(&quot;opacity&quot;,e.opacity),S=T.append(&quot;g&quot;).classed(&quot;annotation-text-g&quot;,!0),E=w[e.showarrow?&quot;annotationTail&quot;:&quot;annotationPosition&quot;],L=e.captureevents||w.annotationText||E,C=S.append(&quot;g&quot;).style(&quot;pointer-events&quot;,L?&quot;all&quot;:null).call(p,&quot;default&quot;).on(&quot;click&quot;,function(){t._dragging=!1;var i={index:r,annotation:e._input,fullAnnotation:e,event:a.event};n&amp;&amp;(i.subplotId=n),t.emit(&quot;plotly_clickannotation&quot;,i)});e.hovertext&amp;&amp;C.on(&quot;mouseover&quot;,function(){var r=e.hoverlabel,n=r.font,i=this.getBoundingClientRect(),a=t.getBoundingClientRect();h.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:b._hoverlayer.node(),outerContainer:b._paper.node(),gd:t})}).on(&quot;mouseout&quot;,function(){h.loneUnhover(b._hoverlayer.node())});var z=e.borderwidth,D=e.borderpad,I=z+D,P=C.append(&quot;rect&quot;).attr(&quot;class&quot;,&quot;bg&quot;).style(&quot;stroke-width&quot;,z+&quot;px&quot;).call(u.stroke,e.bordercolor).call(u.fill,e.bgcolor),O=e.width||e.height,F=b._topclips.selectAll(&quot;#&quot;+M).data(O?[0]:[]);F.enter().append(&quot;clipPath&quot;).classed(&quot;annclip&quot;,!0).attr(&quot;id&quot;,M).append(&quot;rect&quot;),F.exit().remove();var R=e.font,N=C.append(&quot;text&quot;).classed(&quot;annotation-text&quot;,!0).text(e.text);w.annotationText?N.call(d.makeEditable,{delegate:C,gd:t}).call(c).on(&quot;edit&quot;,function(r){e.text=r,this.call(c);var n={};n[x+&quot;.text&quot;]=e.text,i&amp;&amp;i.autorange&amp;&amp;(n[i._name+&quot;.autorange&quot;]=!0),s&amp;&amp;s.autorange&amp;&amp;(n[s._name+&quot;.autorange&quot;]=!0),o.relayout(t,n)}):N.call(c)}else a.selectAll(&quot;#&quot;+M).remove()}var a=t(&quot;d3&quot;),o=t(&quot;../../plotly&quot;),s=t(&quot;../../plots/plots&quot;),l=t(&quot;../../lib&quot;),c=t(&quot;../../plots/cartesian/axes&quot;),u=t(&quot;../color&quot;),f=t(&quot;../drawing&quot;),h=t(&quot;../fx&quot;),d=t(&quot;../../lib/svg_text_utils&quot;),p=t(&quot;../../lib/setcursor&quot;),m=t(&quot;../dragelement&quot;),g=t(&quot;./draw_arrow_head&quot;);e.exports={draw:function(t){var e=t._fullLayout;e._infolayer.selectAll(&quot;.annotation&quot;).remove();for(var r=0;r&lt;e.annotations.length;r++)e.annotations[r].visible&amp;&amp;n(t,r);return s.previousPromises(t)},drawOne:n,drawRaw:i}},{&quot;../../lib&quot;:743,&quot;../../lib/setcursor&quot;:762,&quot;../../lib/svg_text_utils&quot;:766,&quot;../../plotly&quot;:784,&quot;../../plots/cartesian/axes&quot;:789,&quot;../../plots/plots&quot;:852,&quot;../color&quot;:618,&quot;../dragelement&quot;:640,&quot;../drawing&quot;:643,&quot;../fx&quot;:660,&quot;./draw_arrow_head&quot;:608,d3:128}],608:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;d3&quot;),i=t(&quot;../color&quot;),a=t(&quot;./arrow_paths&quot;);e.exports=function(t,e,r){function o(){t.style(&quot;stroke-dasharray&quot;,&quot;0px,100px&quot;)}function s(e,a,o,s){e.path&amp;&amp;(e.noRotate&amp;&amp;(o=0),n.select(h.parentNode).append(&quot;path&quot;).attr({class:t.attr(&quot;class&quot;),d:e.path,transform:&quot;translate(&quot;+a.x+&quot;,&quot;+a.y+&quot;)&quot;+(o?&quot;rotate(&quot;+180*o/Math.PI+&quot;)&quot;:&quot;&quot;)+&quot;scale(&quot;+s+&quot;)&quot;}).style({fill:i.rgb(r.arrowcolor),&quot;stroke-width&quot;:0}))}var l,c,u,f,h=t.node(),d=a[r.arrowhead||0],p=a[r.startarrowhead||0],m=(r.arrowwidth||1)*(r.arrowsize||1),g=(r.arrowwidth||1)*(r.startarrowsize||1),v=e.indexOf(&quot;start&quot;)&gt;=0,y=e.indexOf(&quot;end&quot;)&gt;=0,x=d.backoff*m+r.standoff,b=p.backoff*g+r.startstandoff;if(&quot;line&quot;===h.nodeName){l={x:+t.attr(&quot;x1&quot;),y:+t.attr(&quot;y1&quot;)},c={x:+t.attr(&quot;x2&quot;),y:+t.attr(&quot;y2&quot;)};var _=l.x-c.x,w=l.y-c.y;if(u=Math.atan2(w,_),f=u+Math.PI,x&amp;&amp;b&amp;&amp;x+b&gt;Math.sqrt(_*_+w*w))return void o();if(x){if(x*x&gt;_*_+w*w)return void o();var M=x*Math.cos(u),k=x*Math.sin(u);c.x+=M,c.y+=k,t.attr({x2:c.x,y2:c.y})}if(b){if(b*b&gt;_*_+w*w)return void o();var A=b*Math.cos(u),T=b*Math.sin(u);l.x-=A,l.y-=T,t.attr({x1:l.x,y1:l.y})}}else if(&quot;path&quot;===h.nodeName){var S=h.getTotalLength(),E=&quot;&quot;;if(S&lt;x+b)return void o();var L=h.getPointAtLength(0),C=h.getPointAtLength(.1);u=Math.atan2(L.y-C.y,L.x-C.x),l=h.getPointAtLength(Math.min(b,S)),E=&quot;0px,&quot;+b+&quot;px,&quot;;var z=h.getPointAtLength(S),D=h.getPointAtLength(S-.1);f=Math.atan2(z.y-D.y,z.x-D.x),c=h.getPointAtLength(Math.max(0,S-x));E+=S-(E?b+x:x)+&quot;px,&quot;+S+&quot;px&quot;,t.style(&quot;stroke-dasharray&quot;,E)}v&amp;&amp;s(p,l,u,g),y&amp;&amp;s(d,c,f,m)}},{&quot;../color&quot;:618,&quot;./arrow_paths&quot;:600,d3:128}],609:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;./draw&quot;),i=t(&quot;./click&quot;);e.exports={moduleType:&quot;component&quot;,name:&quot;annotations&quot;,layoutAttributes:t(&quot;./attributes&quot;),supplyLayoutDefaults:t(&quot;./defaults&quot;),includeBasePlot:t(&quot;../../plots/cartesian/include_components&quot;)(&quot;annotations&quot;),calcAutorange:t(&quot;./calc_autorange&quot;),draw:n.draw,drawOne:n.drawOne,drawRaw:n.drawRaw,hasClickToShow:i.hasClickToShow,onClick:i.onClick,convertCoords:t(&quot;./convert_coords&quot;)}},{&quot;../../plots/cartesian/include_components&quot;:799,&quot;./attributes&quot;:601,&quot;./calc_autorange&quot;:602,&quot;./click&quot;:603,&quot;./convert_coords&quot;:605,&quot;./defaults&quot;:606,&quot;./draw&quot;:607}],610:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../annotations/attributes&quot;),i=t(&quot;../../plot_api/edit_types&quot;).overrideAll;e.exports=i({_isLinkedToArray:&quot;annotation&quot;,visible:n.visible,x:{valType:&quot;any&quot;},y:{valType:&quot;any&quot;},z:{valType:&quot;any&quot;},ax:{valType:&quot;number&quot;},ay:{valType:&quot;number&quot;},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},&quot;calc&quot;,&quot;from-root&quot;)},{&quot;../../plot_api/edit_types&quot;:773,&quot;../annotations/attributes&quot;:601}],611:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib&quot;),i=t(&quot;../../plots/cartesian/axes&quot;);e.exports=function(t){for(var e=t.fullSceneLayout.annotations,r=0;r&lt;e.length;r++)!function(t,e){var r=e.fullSceneLayout.domain,a=e.fullLayout._size,o={pdata:null,type:&quot;linear&quot;,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[r],t);t.fullLayout._infolayer.selectAll(&quot;.annotation-&quot;+t.id).remove()}},{&quot;../../lib&quot;:743,&quot;../../plots/cartesian/axes&quot;:789}],612:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,n,o){function c(r,n){return i.coerce(t,e,l,r,n)}function u(t){var n=t+&quot;axis&quot;,i={_fullLayout:{}};return i._fullLayout[n]=r[n],a.coercePosition(e,i,c,t,t,.5)}return c(&quot;visible&quot;,!o.itemIsNotPlainObject)?(s(t,e,n.fullLayout,c),u(&quot;x&quot;),u(&quot;y&quot;),u(&quot;z&quot;),i.noneOrAll(t,e,[&quot;x&quot;,&quot;y&quot;,&quot;z&quot;]),e.xref=&quot;x&quot;,e.yref=&quot;y&quot;,e.zref=&quot;z&quot;,c(&quot;xanchor&quot;),c(&quot;yanchor&quot;),c(&quot;xshift&quot;),c(&quot;yshift&quot;),e.showarrow&amp;&amp;(e.axref=&quot;pixel&quot;,e.ayref=&quot;pixel&quot;,c(&quot;ax&quot;,-10),c(&quot;ay&quot;,-30),i.noneOrAll(t,e,[&quot;ax&quot;,&quot;ay&quot;])),e):e}var i=t(&quot;../../lib&quot;),a=t(&quot;../../plots/cartesian/axes&quot;),o=t(&quot;../../plots/array_container_defaults&quot;),s=t(&quot;../annotations/common_defaults&quot;),l=t(&quot;./attributes&quot;);e.exports=function(t,e,r){o(t,e,{name:&quot;annotations&quot;,handleItemDefaults:n,fullLayout:r.fullLayout})}},{&quot;../../lib&quot;:743,&quot;../../plots/array_container_defaults&quot;:786,&quot;../../plots/cartesian/axes&quot;:789,&quot;../annotations/common_defaults&quot;:604,&quot;./attributes&quot;:610}],613:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../annotations/draw&quot;).drawRaw,i=t(&quot;../../plots/gl3d/project&quot;),a=[&quot;x&quot;,&quot;y&quot;,&quot;z&quot;];e.exports=function(t){for(var e=t.fullSceneLayout,r=t.dataScale,o=e.annotations,s=0;s&lt;o.length;s++){for(var l=o[s],c=!1,u=0;u&lt;3;u++){var f=a[u],h=l[f],d=e[f+&quot;axis&quot;].r2fraction(h);if(d&lt;0||d&gt;1){c=!0;break}}c?t.fullLayout._infolayer.select(&quot;.annotation-&quot;+t.id+'[data-index=&quot;'+s+'&quot;]').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))}}},{&quot;../../plots/gl3d/project&quot;:841,&quot;../annotations/draw&quot;:607}],614:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../registry&quot;),i=t(&quot;../../lib&quot;);e.exports={moduleType:&quot;component&quot;,name:&quot;annotations3d&quot;,schema:{subplots:{scene:{annotations:t(&quot;./attributes&quot;)}}},layoutAttributes:t(&quot;./attributes&quot;),handleDefaults:t(&quot;./defaults&quot;),includeBasePlot:function(t,e){var r=n.subplotsRegistry.gl3d;if(r)for(var a=r.attrRegex,o=Object.keys(t),s=0;s&lt;o.length;s++){var l=o[s];a.test(l)&amp;&amp;(t[l].annotations||[]).length&amp;&amp;(i.pushUnique(e._basePlotModules,r),i.pushUnique(e._subplots.gl3d,l))}},convert:t(&quot;./convert&quot;),draw:t(&quot;./draw&quot;)}},{&quot;../../lib&quot;:743,&quot;../../registry&quot;:873,&quot;./attributes&quot;:610,&quot;./convert&quot;:611,&quot;./defaults&quot;:612,&quot;./draw&quot;:613}],615:[function(t,e,r){&quot;use strict&quot;;e.exports=t(&quot;world-calendars/dist/main&quot;),t(&quot;world-calendars/dist/plus&quot;),t(&quot;world-calendars/dist/calendars/chinese&quot;),t(&quot;world-calendars/dist/calendars/coptic&quot;),t(&quot;world-calendars/dist/calendars/discworld&quot;),t(&quot;world-calendars/dist/calendars/ethiopian&quot;),t(&quot;world-calendars/dist/calendars/hebrew&quot;),t(&quot;world-calendars/dist/calendars/islamic&quot;),t(&quot;world-calendars/dist/calendars/julian&quot;),t(&quot;world-calendars/dist/calendars/mayan&quot;),t(&quot;world-calendars/dist/calendars/nanakshahi&quot;),t(&quot;world-calendars/dist/calendars/nepali&quot;),t(&quot;world-calendars/dist/calendars/persian&quot;),t(&quot;world-calendars/dist/calendars/taiwan&quot;),t(&quot;world-calendars/dist/calendars/thai&quot;),t(&quot;world-calendars/dist/calendars/ummalqura&quot;)},{&quot;world-calendars/dist/calendars/chinese&quot;:581,&quot;world-calendars/dist/calendars/coptic&quot;:582,&quot;world-calendars/dist/calendars/discworld&quot;:583,&quot;world-calendars/dist/calendars/ethiopian&quot;:584,&quot;world-calendars/dist/calendars/hebrew&quot;:585,&quot;world-calendars/dist/calendars/islamic&quot;:586,&quot;world-calendars/dist/calendars/julian&quot;:587,&quot;world-calendars/dist/calendars/mayan&quot;:588,&quot;world-calendars/dist/calendars/nanakshahi&quot;:589,&quot;world-calendars/dist/calendars/nepali&quot;:590,&quot;world-calendars/dist/calendars/persian&quot;:591,&quot;world-calendars/dist/calendars/taiwan&quot;:592,&quot;world-calendars/dist/calendars/thai&quot;:593,&quot;world-calendars/dist/calendars/ummalqura&quot;:594,&quot;world-calendars/dist/main&quot;:595,&quot;world-calendars/dist/plus&quot;:596}],616:[function(t,e,r){&quot;use strict&quot;;function n(t){var e=m[t];return e||(e=m[t]=o.instance(t))}function i(t){return s.extendFlat({},f,{description:t})}function a(t){return&quot;Sets the calendar system to use with `&quot;+t+&quot;` date data.&quot;}var o=t(&quot;./calendars&quot;),s=t(&quot;../../lib&quot;),l=t(&quot;../../constants/numerical&quot;),c=l.EPOCHJD,u=l.ONEDAY,f={valType:&quot;enumerated&quot;,values:Object.keys(o.calendars),editType:&quot;calc&quot;,dflt:&quot;gregorian&quot;},h=function(t,e,r,n){var i={};return i[r]=f,s.coerce(t,e,i,r,n)},d=&quot;##&quot;,p={d:{0:&quot;dd&quot;,&quot;-&quot;:&quot;d&quot;},e:{0:&quot;d&quot;,&quot;-&quot;:&quot;d&quot;},a:{0:&quot;D&quot;,&quot;-&quot;:&quot;D&quot;},A:{0:&quot;DD&quot;,&quot;-&quot;:&quot;DD&quot;},j:{0:&quot;oo&quot;,&quot;-&quot;:&quot;o&quot;},W:{0:&quot;ww&quot;,&quot;-&quot;:&quot;w&quot;},m:{0:&quot;mm&quot;,&quot;-&quot;:&quot;m&quot;},b:{0:&quot;M&quot;,&quot;-&quot;:&quot;M&quot;},B:{0:&quot;MM&quot;,&quot;-&quot;:&quot;MM&quot;},y:{0:&quot;yy&quot;,&quot;-&quot;:&quot;yy&quot;},Y:{0:&quot;yyyy&quot;,&quot;-&quot;:&quot;yyyy&quot;},U:d,w:d,c:{0:&quot;D M d %X yyyy&quot;,&quot;-&quot;:&quot;D M d %X yyyy&quot;},x:{0:&quot;mm/dd/yyyy&quot;,&quot;-&quot;:&quot;mm/dd/yyyy&quot;}},m={},g={xcalendar:i(a(&quot;x&quot;))},v=s.extendFlat({},g,{ycalendar:i(a(&quot;y&quot;))}),y=s.extendFlat({},v,{zcalendar:i(a(&quot;z&quot;))}),x=i([&quot;Sets the calendar system to use for `range` and `tick0`&quot;,&quot;if this is a date axis. This does not set the calendar for&quot;,&quot;interpreting data on this axis, that's specified in the trace&quot;,&quot;or via the global `layout.calendar`&quot;].join(&quot; &quot;));e.exports={moduleType:&quot;component&quot;,name:&quot;calendars&quot;,schema:{traces:{scatter:v,bar:v,box:v,heatmap:v,contour:v,histogram:v,histogram2d:v,histogram2dcontour:v,scatter3d:y,surface:y,mesh3d:y,scattergl:v,ohlc:g,candlestick:g},layout:{calendar:i([&quot;Sets the default calendar system to use for interpreting and&quot;,&quot;displaying dates throughout the plot.&quot;].join(&quot; &quot;))},subplots:{xaxis:{calendar:x},yaxis:{calendar:x},scene:{xaxis:{calendar:x},yaxis:{calendar:x},zaxis:{calendar:x}},polar:{radialaxis:{calendar:x}}},transforms:{filter:{valuecalendar:i([&quot;Sets the calendar system to use for `value`, if it is a date.&quot;].join(&quot; &quot;)),targetcalendar:i([&quot;Sets the calendar system to use for `target`, if it is an&quot;,&quot;array of dates. If `target` is a string (eg *x*) we use the&quot;,&quot;corresponding trace attribute (eg `xcalendar`) if it exists,&quot;,&quot;even if `targetcalendar` is provided.&quot;].join(&quot; &quot;))}}},layoutAttributes:f,handleDefaults:h,handleTraceDefaults:function(t,e,r,n){for(var i=0;i&lt;r.length;i++)h(t,e,r[i]+&quot;calendar&quot;,n.calendar)},CANONICAL_SUNDAY:{chinese:&quot;2000-01-02&quot;,coptic:&quot;2000-01-03&quot;,discworld:&quot;2000-01-03&quot;,ethiopian:&quot;2000-01-05&quot;,hebrew:&quot;5000-01-01&quot;,islamic:&quot;1000-01-02&quot;,julian:&quot;2000-01-03&quot;,mayan:&quot;5000-01-01&quot;,nanakshahi:&quot;1000-01-05&quot;,nepali:&quot;2000-01-05&quot;,persian:&quot;1000-01-01&quot;,jalali:&quot;1000-01-01&quot;,taiwan:&quot;1000-01-04&quot;,thai:&quot;2000-01-04&quot;,ummalqura:&quot;1400-01-06&quot;},CANONICAL_TICK:{chinese:&quot;2000-01-01&quot;,coptic:&quot;2000-01-01&quot;,discworld:&quot;2000-01-01&quot;,ethiopian:&quot;2000-01-01&quot;,hebrew:&quot;5000-01-01&quot;,islamic:&quot;1000-01-01&quot;,julian:&quot;2000-01-01&quot;,mayan:&quot;5000-01-01&quot;,nanakshahi:&quot;1000-01-01&quot;,nepali:&quot;2000-01-01&quot;,persian:&quot;1000-01-01&quot;,jalali:&quot;1000-01-01&quot;,taiwan:&quot;1000-01-01&quot;,thai:&quot;2000-01-01&quot;,ummalqura:&quot;1400-01-01&quot;},DFLTRANGE:{chinese:[&quot;2000-01-01&quot;,&quot;2001-01-01&quot;],coptic:[&quot;1700-01-01&quot;,&quot;1701-01-01&quot;],discworld:[&quot;1800-01-01&quot;,&quot;1801-01-01&quot;],ethiopian:[&quot;2000-01-01&quot;,&quot;2001-01-01&quot;],hebrew:[&quot;5700-01-01&quot;,&quot;5701-01-01&quot;],islamic:[&quot;1400-01-01&quot;,&quot;1401-01-01&quot;],julian:[&quot;2000-01-01&quot;,&quot;2001-01-01&quot;],mayan:[&quot;5200-01-01&quot;,&quot;5201-01-01&quot;],nanakshahi:[&quot;0500-01-01&quot;,&quot;0501-01-01&quot;],nepali:[&quot;2000-01-01&quot;,&quot;2001-01-01&quot;],persian:[&quot;1400-01-01&quot;,&quot;1401-01-01&quot;],jalali:[&quot;1400-01-01&quot;,&quot;1401-01-01&quot;],taiwan:[&quot;0100-01-01&quot;,&quot;0101-01-01&quot;],thai:[&quot;2500-01-01&quot;,&quot;2501-01-01&quot;],ummalqura:[&quot;1400-01-01&quot;,&quot;1401-01-01&quot;]},getCal:n,worldCalFmt:function(t,e,r){for(var i,a,o,s,l,f=Math.floor((e+.05)/u)+c,h=n(r).fromJD(f),m=0;-1!==(m=t.indexOf(&quot;%&quot;,m));)&quot;0&quot;===(i=t.charAt(m+1))||&quot;-&quot;===i||&quot;_&quot;===i?(o=3,a=t.charAt(m+2),&quot;_&quot;===i&amp;&amp;(i=&quot;-&quot;)):(a=i,i=&quot;0&quot;,o=2),(s=p[a])?(l=s===d?d:h.formatDate(s[i]),t=t.substr(0,m)+l+t.substr(m+o),m+=l.length):m+=o;return t}}},{&quot;../../constants/numerical&quot;:721,&quot;../../lib&quot;:743,&quot;./calendars&quot;:615}],617:[function(t,e,r){&quot;use strict&quot;;r.defaults=[&quot;#1f77b4&quot;,&quot;#ff7f0e&quot;,&quot;#2ca02c&quot;,&quot;#d62728&quot;,&quot;#9467bd&quot;,&quot;#8c564b&quot;,&quot;#e377c2&quot;,&quot;#7f7f7f&quot;,&quot;#bcbd22&quot;,&quot;#17becf&quot;],r.defaultLine=&quot;#444&quot;,r.lightLine=&quot;#eee&quot;,r.background=&quot;#fff&quot;,r.borderLine=&quot;#BEC8D9&quot;,r.lightFraction=1e3/11},{}],618:[function(t,e,r){&quot;use strict&quot;;function n(t){if(a(t)||&quot;string&quot;!=typeof t)return t;var e=t.trim();if(&quot;rgb&quot;!==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*/),i=&quot;a&quot;===e.charAt(3)&amp;&amp;4===n.length;if(!i&amp;&amp;3!==n.length)return t;for(var o=0;o&lt;n.length;o++){if(!n[o].length)return t;if(n[o]=Number(n[o]),!(n[o]&gt;=0))return t;if(3===o)n[o]&gt;1&amp;&amp;(n[o]=1);else if(n[o]&gt;=1)return t}var s=Math.round(255*n[0])+&quot;, &quot;+Math.round(255*n[1])+&quot;, &quot;+Math.round(255*n[2]);return i?&quot;rgba(&quot;+s+&quot;, &quot;+n[3]+&quot;)&quot;:&quot;rgb(&quot;+s+&quot;)&quot;}var i=t(&quot;tinycolor2&quot;),a=t(&quot;fast-isnumeric&quot;),o=e.exports={},s=t(&quot;./attributes&quot;);o.defaults=s.defaults;var l=o.defaultLine=s.defaultLine;o.lightLine=s.lightLine;var c=o.background=s.background;o.tinyRGB=function(t){var e=t.toRgb();return&quot;rgb(&quot;+Math.round(e.r)+&quot;, &quot;+Math.round(e.g)+&quot;, &quot;+Math.round(e.b)+&quot;)&quot;},o.rgb=function(t){return o.tinyRGB(i(t))},o.opacity=function(t){return t?i(t).getAlpha():0},o.addOpacity=function(t,e){var r=i(t).toRgb();return&quot;rgba(&quot;+Math.round(r.r)+&quot;, &quot;+Math.round(r.g)+&quot;, &quot;+Math.round(r.b)+&quot;, &quot;+e+&quot;)&quot;},o.combine=function(t,e){var r=i(t).toRgb();if(1===r.a)return i(t).toRgbString();var n=i(e||c).toRgb(),a=1===n.a?n:{r:255*(1-n.a)+n.r*n.a,g:255*(1-n.a)+n.g*n.a,b:255*(1-n.a)+n.b*n.a},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 i(o).toRgbString()},o.contrast=function(t,e,r){var n=i(t);1!==n.getAlpha()&amp;&amp;(n=i(o.combine(t,c)));return(n.isDark()?e?n.lighten(e):c:r?n.darken(r):l).toString()},o.stroke=function(t,e){var r=i(e);t.style({stroke:o.tinyRGB(r),&quot;stroke-opacity&quot;:r.getAlpha()})},o.fill=function(t,e){var r=i(e);t.style({fill:o.tinyRGB(r),&quot;fill-opacity&quot;:r.getAlpha()})},o.clean=function(t){if(t&amp;&amp;&quot;object&quot;==typeof t){var e,r,i,a,s=Object.keys(t);for(e=0;e&lt;s.length;e++)if(i=s[e],a=t[i],&quot;color&quot;===i.substr(i.length-5))if(Array.isArray(a))for(r=0;r&lt;a.length;r++)a[r]=n(a[r]);else t[i]=n(a);else if(&quot;colorscale&quot;===i.substr(i.length-10)&amp;&amp;Array.isArray(a))for(r=0;r&lt;a.length;r++)Array.isArray(a[r])&amp;&amp;(a[r][1]=n(a[r][1]));else if(Array.isArray(a)){var l=a[0];if(!Array.isArray(l)&amp;&amp;l&amp;&amp;&quot;object&quot;==typeof l)for(r=0;r&lt;a.length;r++)o.clean(a[r])}else a&amp;&amp;&quot;object&quot;==typeof a&amp;&amp;o.clean(a)}}},{&quot;./attributes&quot;:617,&quot;fast-isnumeric&quot;:140,tinycolor2:546}],619:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../plots/cartesian/layout_attributes&quot;),i=t(&quot;../../plots/font_attributes&quot;),a=t(&quot;../../lib/extend&quot;).extendFlat,o=t(&quot;../../plot_api/edit_types&quot;).overrideAll;e.exports=o({thicknessmode:{valType:&quot;enumerated&quot;,values:[&quot;fraction&quot;,&quot;pixels&quot;],dflt:&quot;pixels&quot;},thickness:{valType:&quot;number&quot;,min:0,dflt:30},lenmode:{valType:&quot;enumerated&quot;,values:[&quot;fraction&quot;,&quot;pixels&quot;],dflt:&quot;fraction&quot;},len:{valType:&quot;number&quot;,min:0,dflt:1},x:{valType:&quot;number&quot;,dflt:1.02,min:-2,max:3},xanchor:{valType:&quot;enumerated&quot;,values:[&quot;left&quot;,&quot;center&quot;,&quot;right&quot;],dflt:&quot;left&quot;},xpad:{valType:&quot;number&quot;,min:0,dflt:10},y:{valType:&quot;number&quot;,dflt:.5,min:-2,max:3},yanchor:{valType:&quot;enumerated&quot;,values:[&quot;top&quot;,&quot;middle&quot;,&quot;bottom&quot;],dflt:&quot;middle&quot;},ypad:{valType:&quot;number&quot;,min:0,dflt:10},outlinecolor:n.linecolor,outlinewidth:n.linewidth,bordercolor:n.linecolor,borderwidth:{valType:&quot;number&quot;,min:0,dflt:0},bgcolor:{valType:&quot;color&quot;,dflt:&quot;rgba(0,0,0,0)&quot;},tickmode:n.tickmode,nticks:n.nticks,tick0:n.tick0,dtick:n.dtick,tickvals:n.tickvals,ticktext:n.ticktext,ticks:a({},n.ticks,{dflt:&quot;&quot;}),ticklen:n.ticklen,tickwidth:n.tickwidth,tickcolor:n.tickcolor,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,showexponent:n.showexponent,title:{valType:&quot;string&quot;},titlefont:i({}),titleside:{valType:&quot;enumerated&quot;,values:[&quot;right&quot;,&quot;top&quot;,&quot;bottom&quot;],dflt:&quot;top&quot;}},&quot;colorbars&quot;,&quot;from-root&quot;)},{&quot;../../lib/extend&quot;:732,&quot;../../plot_api/edit_types&quot;:773,&quot;../../plots/cartesian/layout_attributes&quot;:801,&quot;../../plots/font_attributes&quot;:816}],620:[function(t,e,r){&quot;use strict&quot;;e.exports={cn:{colorbar:&quot;colorbar&quot;,cbbg:&quot;cbbg&quot;,cbfill:&quot;cbfill&quot;,cbfills:&quot;cbfills&quot;,cbline:&quot;cbline&quot;,cblines:&quot;cblines&quot;,cbaxis:&quot;cbaxis&quot;,cbtitleunshift:&quot;cbtitleunshift&quot;,cbtitle:&quot;cbtitle&quot;,cboutline:&quot;cboutline&quot;,crisp:&quot;crisp&quot;,jsPlaceholder:&quot;js-placeholder&quot;}}},{}],621:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib&quot;),i=t(&quot;../../plots/cartesian/tick_value_defaults&quot;),a=t(&quot;../../plots/cartesian/tick_mark_defaults&quot;),o=t(&quot;../../plots/cartesian/tick_label_defaults&quot;),s=t(&quot;./attributes&quot;);e.exports=function(t,e,r){function l(t,e){return n.coerce(u,c,s,t,e)}var c=e.colorbar={},u=t.colorbar||{};l(&quot;thickness&quot;,&quot;fraction&quot;===l(&quot;thicknessmode&quot;)?30/(r.width-r.margin.l-r.margin.r):30);l(&quot;len&quot;,&quot;fraction&quot;===l(&quot;lenmode&quot;)?1:r.height-r.margin.t-r.margin.b),l(&quot;x&quot;),l(&quot;xanchor&quot;),l(&quot;xpad&quot;),l(&quot;y&quot;),l(&quot;yanchor&quot;),l(&quot;ypad&quot;),n.noneOrAll(u,c,[&quot;x&quot;,&quot;y&quot;]),l(&quot;outlinecolor&quot;),l(&quot;outlinewidth&quot;),l(&quot;bordercolor&quot;),l(&quot;borderwidth&quot;),l(&quot;bgcolor&quot;),i(u,c,l,&quot;linear&quot;),o(u,c,l,&quot;linear&quot;,{outerTicks:!1,font:r.font,noHover:!0}),a(u,c,l,&quot;linear&quot;,{outerTicks:!1,font:r.font,noHover:!0}),l(&quot;title&quot;,r._dfltTitle.colorbar),n.coerceFont(l,&quot;titlefont&quot;,r.font),l(&quot;titleside&quot;)}},{&quot;../../lib&quot;:743,&quot;../../plots/cartesian/tick_label_defaults&quot;:809,&quot;../../plots/cartesian/tick_mark_defaults&quot;:810,&quot;../../plots/cartesian/tick_value_defaults&quot;:811,&quot;./attributes&quot;:619}],622:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;d3&quot;),i=t(&quot;tinycolor2&quot;),a=t(&quot;../../plotly&quot;),o=t(&quot;../../plots/plots&quot;),s=t(&quot;../../registry&quot;),l=t(&quot;../../plots/cartesian/axes&quot;),c=t(&quot;../dragelement&quot;),u=t(&quot;../../lib&quot;),f=t(&quot;../../lib/extend&quot;).extendFlat,h=t(&quot;../../lib/setcursor&quot;),d=t(&quot;../drawing&quot;),p=t(&quot;../color&quot;),m=t(&quot;../titles&quot;),g=t(&quot;../../lib/svg_text_utils&quot;),v=t(&quot;../../constants/alignment&quot;).LINE_SPACING,y=t(&quot;../../plots/cartesian/axis_defaults&quot;),x=t(&quot;../../plots/cartesian/position_defaults&quot;),b=t(&quot;../../plots/cartesian/layout_attributes&quot;),_=t(&quot;./attributes&quot;),w=t(&quot;./constants&quot;).cn;e.exports=function(t,e){function r(){function _(t,e){return u.coerce(tt,et,b,t,e)}function A(e,r){var n,i=M();n=s.traceIs(i,&quot;markerColorscale&quot;)?&quot;marker.colorbar.title&quot;:&quot;colorbar.title&quot;;var a={propContainer:et,propName:n,traceIndex:i.index,placeholder:T._dfltTitle.colorbar,containerGroup:st.select(&quot;.cbtitle&quot;)},o=&quot;h&quot;===e.charAt(0)?e.substr(1):&quot;h&quot;+e;st.selectAll(&quot;.&quot;+o+&quot;,.&quot;+o+&quot;-math-group&quot;).remove(),m.draw(t,e,f(a,r||{}))}var T=t._fullLayout,S=T._size;if(&quot;function&quot;==typeof k.fillcolor||&quot;function&quot;==typeof k.line.color){var E,L,C=n.extent((&quot;function&quot;==typeof k.fillcolor?k.fillcolor:k.line.color).domain()),z=[],D=[],I=&quot;function&quot;==typeof k.line.color?k.line.color:function(){return k.line.color},P=&quot;function&quot;==typeof k.fillcolor?k.fillcolor:function(){return k.fillcolor},O=k.levels.end+k.levels.size/100,F=k.levels.size,R=1.001*C[0]-.001*C[1],N=1.001*C[1]-.001*C[0];for(L=0;L&lt;1e5&amp;&amp;(E=k.levels.start+L*F,!(F&gt;0?E&gt;=O:E&lt;=O));L++)E&gt;R&amp;&amp;E&lt;N&amp;&amp;z.push(E);if(&quot;function&quot;==typeof k.fillcolor)if(k.filllevels)for(O=k.filllevels.end+k.filllevels.size/100,F=k.filllevels.size,L=0;L&lt;1e5&amp;&amp;(E=k.filllevels.start+L*F,!(F&gt;0?E&gt;=O:E&lt;=O));L++)E&gt;C[0]&amp;&amp;E&lt;C[1]&amp;&amp;D.push(E);else(D=z.map(function(t){return t-k.levels.size/2})).push(D[D.length-1]+k.levels.size);else k.fillcolor&amp;&amp;&quot;string&quot;==typeof k.fillcolor&amp;&amp;(D=[0]);k.levels.size&lt;0&amp;&amp;(z.reverse(),D.reverse());var j,B=T.height-T.margin.t-T.margin.b,U=T.width-T.margin.l-T.margin.r,V=Math.round(k.thickness*(&quot;fraction&quot;===k.thicknessmode?U:1)),q=V/S.w,H=Math.round(k.len*(&quot;fraction&quot;===k.lenmode?B:1)),G=H/S.h,Y=k.xpad/S.w,W=(k.borderwidth+k.outlinewidth)/2,X=k.ypad/S.h,Z=Math.round(k.x*S.w+k.xpad),J=k.x-q*({middle:.5,right:1}[k.xanchor]||0),K=k.y+G*(({top:-.5,bottom:.5}[k.yanchor]||0)-.5),Q=Math.round(S.h*(1-K)),$=Q-H,tt={type:&quot;linear&quot;,range:C,tickmode:k.tickmode,nticks:k.nticks,tick0:k.tick0,dtick:k.dtick,tickvals:k.tickvals,ticktext:k.ticktext,ticks:k.ticks,ticklen:k.ticklen,tickwidth:k.tickwidth,tickcolor:k.tickcolor,showticklabels:k.showticklabels,tickfont:k.tickfont,tickangle:k.tickangle,tickformat:k.tickformat,exponentformat:k.exponentformat,separatethousands:k.separatethousands,showexponent:k.showexponent,showtickprefix:k.showtickprefix,tickprefix:k.tickprefix,showticksuffix:k.showticksuffix,ticksuffix:k.ticksuffix,title:k.title,titlefont:k.titlefont,showline:!0,anchor:&quot;free&quot;,position:1},et={type:&quot;linear&quot;,_id:&quot;y&quot;+e},rt={letter:&quot;y&quot;,font:T.font,noHover:!0,calendar:T.calendar};if(y(tt,et,_,rt,T),x(tt,et,_,rt),et.position=k.x+Y+q,r.axis=et,-1!==[&quot;top&quot;,&quot;bottom&quot;].indexOf(k.titleside)&amp;&amp;(et.titleside=k.titleside,et.titlex=k.x+Y,et.titley=K+(&quot;top&quot;===k.titleside?G-X:X)),k.line.color&amp;&amp;&quot;auto&quot;===k.tickmode){et.tickmode=&quot;linear&quot;,et.tick0=k.levels.start;var nt=k.levels.size,it=u.constrain((Q-$)/50,4,15)+1,at=(C[1]-C[0])/((k.nticks||it)*nt);if(at&gt;1){var ot=Math.pow(10,Math.floor(Math.log(at)/Math.LN10));nt*=ot*u.roundUp(at/ot,[2,5,10]),(Math.abs(k.levels.start)/k.levels.size+1e-6)%1&lt;2e-6&amp;&amp;(et.tick0=0)}et.dtick=nt}et.domain=[K+X,K+G-X],et.setScale();var st=T._infolayer.selectAll(&quot;g.&quot;+e).data([0]);st.enter().append(&quot;g&quot;).classed(e,!0).classed(w.colorbar,!0).each(function(){var t=n.select(this);t.append(&quot;rect&quot;).classed(w.cbbg,!0),t.append(&quot;g&quot;).classed(w.cbfills,!0),t.append(&quot;g&quot;).classed(w.cblines,!0),t.append(&quot;g&quot;).classed(w.cbaxis,!0).classed(w.crisp,!0),t.append(&quot;g&quot;).classed(w.cbtitleunshift,!0).append(&quot;g&quot;).classed(w.cbtitle,!0),t.append(&quot;rect&quot;).classed(w.cboutline,!0),t.select(&quot;.cbtitle&quot;).datum(0)}),st.attr(&quot;transform&quot;,&quot;translate(&quot;+Math.round(S.l)+&quot;,&quot;+Math.round(S.t)+&quot;)&quot;);var lt=st.select(&quot;.cbtitleunshift&quot;).attr(&quot;transform&quot;,&quot;translate(-&quot;+Math.round(S.l)+&quot;,-&quot;+Math.round(S.t)+&quot;)&quot;);et._axislayer=st.select(&quot;.cbaxis&quot;);var ct=0;if(-1!==[&quot;top&quot;,&quot;bottom&quot;].indexOf(k.titleside)){var ut,ft=S.l+(k.x+Y)*S.w,ht=et.titlefont.size;ut=&quot;top&quot;===k.titleside?(1-(K+G-X))*S.h+S.t+3+.75*ht:(1-(K+X))*S.h+S.t-3-.25*ht,A(et._id+&quot;title&quot;,{attributes:{x:ft,y:ut,&quot;text-anchor&quot;:&quot;start&quot;}})}var dt=u.syncOrAsync([o.previousPromises,function(){if(-1!==[&quot;top&quot;,&quot;bottom&quot;].indexOf(k.titleside)){var e=st.select(&quot;.cbtitle&quot;),r=e.select(&quot;text&quot;),a=[-k.outlinewidth/2,k.outlinewidth/2],o=e.select(&quot;.h&quot;+et._id+&quot;title-math-group&quot;).node(),s=15.6;if(r.node()&amp;&amp;(s=parseInt(r.node().style.fontSize,10)*v),o?(ct=d.bBox(o).height)&gt;s&amp;&amp;(a[1]-=(ct-s)/2):r.node()&amp;&amp;!r.classed(w.jsPlaceholder)&amp;&amp;(ct=d.bBox(r.node()).height),ct){if(ct+=5,&quot;top&quot;===k.titleside)et.domain[1]-=ct/S.h,a[1]*=-1;else{et.domain[0]+=ct/S.h;var c=g.lineCount(r);a[1]+=(1-c)*s}e.attr(&quot;transform&quot;,&quot;translate(&quot;+a+&quot;)&quot;),et.setScale()}}st.selectAll(&quot;.cbfills,.cblines&quot;).attr(&quot;transform&quot;,&quot;translate(0,&quot;+Math.round(S.h*(1-et.domain[1]))+&quot;)&quot;),et._axislayer.attr(&quot;transform&quot;,&quot;translate(0,&quot;+Math.round(-S.t)+&quot;)&quot;);var f=st.select(&quot;.cbfills&quot;).selectAll(&quot;rect.cbfill&quot;).data(D);f.enter().append(&quot;rect&quot;).classed(w.cbfill,!0).style(&quot;stroke&quot;,&quot;none&quot;),f.exit().remove(),f.each(function(t,e){var r=[0===e?C[0]:(D[e]+D[e-1])/2,e===D.length-1?C[1]:(D[e]+D[e+1])/2].map(et.c2p).map(Math.round);e!==D.length-1&amp;&amp;(r[1]+=r[1]&gt;r[0]?1:-1);var a=P(t).replace(&quot;e-&quot;,&quot;&quot;),o=i(a).toHexString();n.select(this).attr({x:Z,width:Math.max(V,2),y:n.min(r),height:Math.max(n.max(r)-n.min(r),2),fill:o})});var h=st.select(&quot;.cblines&quot;).selectAll(&quot;path.cbline&quot;).data(k.line.color&amp;&amp;k.line.width?z:[]);return h.enter().append(&quot;path&quot;).classed(w.cbline,!0),h.exit().remove(),h.each(function(t){n.select(this).attr(&quot;d&quot;,&quot;M&quot;+Z+&quot;,&quot;+(Math.round(et.c2p(t))+k.line.width/2%1)+&quot;h&quot;+V).call(d.lineGroupStyle,k.line.width,I(t),k.line.dash)}),et._axislayer.selectAll(&quot;g.&quot;+et._id+&quot;tick,path&quot;).remove(),et._pos=Z+V+(k.outlinewidth||0)/2-(&quot;outside&quot;===k.ticks?1:0),et.side=&quot;right&quot;,u.syncOrAsync([function(){return l.doTicks(t,et,!0)},function(){if(-1===[&quot;top&quot;,&quot;bottom&quot;].indexOf(k.titleside)){var e=et.titlefont.size,r=et._offset+et._length/2,i=S.l+(et.position||0)*S.w+(&quot;right&quot;===et.side?10+e*(et.showticklabels?1:.5):-10-e*(et.showticklabels?.5:0));A(&quot;h&quot;+et._id+&quot;title&quot;,{avoid:{selection:n.select(t).selectAll(&quot;g.&quot;+et._id+&quot;tick&quot;),side:k.titleside,offsetLeft:S.l,offsetTop:0,maxShift:T.width},attributes:{x:i,y:r,&quot;text-anchor&quot;:&quot;middle&quot;},transform:{rotate:&quot;-90&quot;,offset:0}})}}])},o.previousPromises,function(){var r=V+k.outlinewidth/2+d.bBox(et._axislayer.node()).width;if((j=lt.select(&quot;text&quot;)).node()&amp;&amp;!j.classed(w.jsPlaceholder)){var n,i=lt.select(&quot;.h&quot;+et._id+&quot;title-math-group&quot;).node();n=i&amp;&amp;-1!==[&quot;top&quot;,&quot;bottom&quot;].indexOf(k.titleside)?d.bBox(i).width:d.bBox(lt.node()).right-Z-S.l,r=Math.max(r,n)}var a=2*k.xpad+r+k.borderwidth+k.outlinewidth/2,s=Q-$;st.select(&quot;.cbbg&quot;).attr({x:Z-k.xpad-(k.borderwidth+k.outlinewidth)/2,y:$-W,width:Math.max(a,2),height:Math.max(s+2*W,2)}).call(p.fill,k.bgcolor).call(p.stroke,k.bordercolor).style({&quot;stroke-width&quot;:k.borderwidth}),st.selectAll(&quot;.cboutline&quot;).attr({x:Z,y:$+k.ypad+(&quot;top&quot;===k.titleside?ct:0),width:Math.max(V,2),height:Math.max(s-2*k.ypad-ct,2)}).call(p.stroke,k.outlinecolor).style({fill:&quot;None&quot;,&quot;stroke-width&quot;:k.outlinewidth});var l=({center:.5,right:1}[k.xanchor]||0)*a;st.attr(&quot;transform&quot;,&quot;translate(&quot;+(S.l-l)+&quot;,&quot;+S.t+&quot;)&quot;),o.autoMargin(t,e,{x:k.x,y:k.y,l:a*({right:1,center:.5}[k.xanchor]||0),r:a*({left:1,center:.5}[k.xanchor]||0),t:s*({bottom:1,middle:.5}[k.yanchor]||0),b:s*({top:1,middle:.5}[k.yanchor]||0)})}],t);if(dt&amp;&amp;dt.then&amp;&amp;(t._promises||[]).push(dt),t._context.edits.colorbarPosition){var pt,mt,gt;c.init({element:st.node(),gd:t,prepFn:function(){pt=st.attr(&quot;transform&quot;),h(st)},moveFn:function(t,e){st.attr(&quot;transform&quot;,pt+&quot; translate(&quot;+t+&quot;,&quot;+e+&quot;)&quot;),mt=c.align(J+t/S.w,q,0,1,k.xanchor),gt=c.align(K-e/S.h,G,0,1,k.yanchor);var r=c.getCursor(mt,gt,k.xanchor,k.yanchor);h(st,r)},doneFn:function(){h(st),void 0!==mt&amp;&amp;void 0!==gt&amp;&amp;a.restyle(t,{&quot;colorbar.x&quot;:mt,&quot;colorbar.y&quot;:gt},M().index)}})}return dt}T._infolayer.selectAll(&quot;g.&quot;+e).remove()}function M(){var r,n,i=e.substr(2);for(r=0;r&lt;t._fullData.length;r++)if((n=t._fullData[r]).uid===i)return n}var k={};return Object.keys(_).forEach(function(t){k[t]=null}),k.fillcolor=null,k.line={color:null,width:null,dash:null},k.levels={start:null,end:null,size:null},k.filllevels=null,Object.keys(k).forEach(function(t){r[t]=function(e){return arguments.length?(k[t]=u.isPlainObject(k[t])?u.extendFlat(k[t],e):e,r):k[t]}}),r.options=function(t){return Object.keys(t).forEach(function(e){&quot;function&quot;==typeof r[e]&amp;&amp;r[e](t[e])}),r},r._opts=k,r}},{&quot;../../constants/alignment&quot;:716,&quot;../../lib&quot;:743,&quot;../../lib/extend&quot;:732,&quot;../../lib/setcursor&quot;:762,&quot;../../lib/svg_text_utils&quot;:766,&quot;../../plotly&quot;:784,&quot;../../plots/cartesian/axes&quot;:789,&quot;../../plots/cartesian/axis_defaults&quot;:791,&quot;../../plots/cartesian/layout_attributes&quot;:801,&quot;../../plots/cartesian/position_defaults&quot;:805,&quot;../../plots/plots&quot;:852,&quot;../../registry&quot;:873,&quot;../color&quot;:618,&quot;../dragelement&quot;:640,&quot;../drawing&quot;:643,&quot;../titles&quot;:709,&quot;./attributes&quot;:619,&quot;./constants&quot;:620,d3:128,tinycolor2:546}],623:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib&quot;);e.exports=function(t){return n.isPlainObject(t.colorbar)}},{&quot;../../lib&quot;:743}],624:[function(t,e,r){&quot;use strict&quot;;e.exports={zauto:{valType:&quot;boolean&quot;,dflt:!0,editType:&quot;calc&quot;,impliedEdits:{zmin:void 0,zmax:void 0}},zmin:{valType:&quot;number&quot;,dflt:null,editType:&quot;plot&quot;,impliedEdits:{zauto:!1}},zmax:{valType:&quot;number&quot;,dflt:null,editType:&quot;plot&quot;,impliedEdits:{zauto:!1}},colorscale:{valType:&quot;colorscale&quot;,editType:&quot;calc&quot;,impliedEdits:{autocolorscale:!1}},autocolorscale:{valType:&quot;boolean&quot;,dflt:!0,editType:&quot;calc&quot;,impliedEdits:{colorscale:void 0}},reversescale:{valType:&quot;boolean&quot;,dflt:!1,editType:&quot;calc&quot;},showscale:{valType:&quot;boolean&quot;,dflt:!0,editType:&quot;calc&quot;}}},{}],625:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib&quot;),i=t(&quot;./scales&quot;),a=t(&quot;./flip_scale&quot;);e.exports=function(t,e,r,o){var s,l;r?(s=n.nestedProperty(t,r).get(),l=n.nestedProperty(t._input,r).get()):(s=t,l=t._input);var c=o+&quot;auto&quot;,u=o+&quot;min&quot;,f=o+&quot;max&quot;,h=s[c],d=s[u],p=s[f],m=s.colorscale;!1===h&amp;&amp;void 0!==d||(d=n.aggNums(Math.min,null,e)),!1===h&amp;&amp;void 0!==p||(p=n.aggNums(Math.max,null,e)),d===p&amp;&amp;(d-=.5,p+=.5),s[u]=d,s[f]=p,l[u]=d,l[f]=p,l[c]=!1!==h||void 0===d&amp;&amp;void 0===p,s.autocolorscale&amp;&amp;(m=d*p&lt;0?i.RdBu:d&gt;=0?i.Reds:i.Blues,l.colorscale=m,s.reversescale&amp;&amp;(m=a(m)),s.colorscale=m)}},{&quot;../../lib&quot;:743,&quot;./flip_scale&quot;:630,&quot;./scales&quot;:637}],626:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;./attributes&quot;),i=t(&quot;../../lib/extend&quot;).extendFlat;t(&quot;./scales.js&quot;);e.exports=function(t,e,r){return{color:{valType:&quot;color&quot;,arrayOk:!0,editType:e||&quot;style&quot;},colorscale:i({},n.colorscale,{}),cauto:i({},n.zauto,{impliedEdits:{cmin:void 0,cmax:void 0}}),cmax:i({},n.zmax,{editType:e||n.zmax.editType,impliedEdits:{cauto:!1}}),cmin:i({},n.zmin,{editType:e||n.zmin.editType,impliedEdits:{cauto:!1}}),autocolorscale:i({},n.autocolorscale,{dflt:!1===r?r:n.autocolorscale.dflt}),reversescale:i({},n.reversescale,{})}}},{&quot;../../lib/extend&quot;:732,&quot;./attributes&quot;:624,&quot;./scales.js&quot;:637}],627:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;./scales&quot;);e.exports=n.RdBu},{&quot;./scales&quot;:637}],628:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;fast-isnumeric&quot;),i=t(&quot;../../lib&quot;),a=t(&quot;../colorbar/has_colorbar&quot;),o=t(&quot;../colorbar/defaults&quot;),s=t(&quot;./is_valid_scale&quot;),l=t(&quot;./flip_scale&quot;);e.exports=function(t,e,r,c,u){var f=u.prefix,h=u.cLetter,d=f.slice(0,f.length-1),p=f?i.nestedProperty(t,d).get()||{}:t,m=f?i.nestedProperty(e,d).get()||{}:e,g=p[h+&quot;min&quot;],v=p[h+&quot;max&quot;],y=p.colorscale;c(f+h+&quot;auto&quot;,!(n(g)&amp;&amp;n(v)&amp;&amp;g&lt;v)),c(f+h+&quot;min&quot;),c(f+h+&quot;max&quot;);var x;void 0!==y&amp;&amp;(x=!s(y)),c(f+&quot;autocolorscale&quot;,x);var b=c(f+&quot;colorscale&quot;);if(c(f+&quot;reversescale&quot;)&amp;&amp;(m.colorscale=l(b)),&quot;marker.line.&quot;!==f){var _;f&amp;&amp;(_=a(p));c(f+&quot;showscale&quot;,_)&amp;&amp;o(p,m,r)}}},{&quot;../../lib&quot;:743,&quot;../colorbar/defaults&quot;:621,&quot;../colorbar/has_colorbar&quot;:623,&quot;./flip_scale&quot;:630,&quot;./is_valid_scale&quot;:634,&quot;fast-isnumeric&quot;:140}],629:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t,e,r){for(var n=t.length,i=new Array(n),a=new Array(n),o=0;o&lt;n;o++){var s=t[o];i[o]=e+s[0]*(r-e),a[o]=s[1]}return{domain:i,range:a}}},{}],630:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t){for(var e,r=t.length,n=new Array(r),i=r-1,a=0;i&gt;=0;i--,a++)e=t[i],n[a]=[1-e[0],e[1]];return n}},{}],631:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;./scales&quot;),i=t(&quot;./default_scale&quot;),a=t(&quot;./is_valid_scale_array&quot;);e.exports=function(t,e){function r(){try{t=n[t]||JSON.parse(t)}catch(r){t=e}}return e||(e=i),t?(&quot;string&quot;==typeof t&amp;&amp;(r(),&quot;string&quot;==typeof t&amp;&amp;r()),a(t)?t:e):e}},{&quot;./default_scale&quot;:627,&quot;./is_valid_scale_array&quot;:635,&quot;./scales&quot;:637}],632:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;fast-isnumeric&quot;),i=t(&quot;../../lib&quot;),a=t(&quot;./is_valid_scale&quot;);e.exports=function(t,e){var r=e?i.nestedProperty(t,e).get()||{}:t,o=r.color,s=!1;if(Array.isArray(o))for(var l=0;l&lt;o.length;l++)if(n(o[l])){s=!0;break}return i.isPlainObject(r)&amp;&amp;(s||!0===r.showscale||n(r.cmin)&amp;&amp;n(r.cmax)||a(r.colorscale)||i.isPlainObject(r.colorbar))}},{&quot;../../lib&quot;:743,&quot;./is_valid_scale&quot;:634,&quot;fast-isnumeric&quot;:140}],633:[function(t,e,r){&quot;use strict&quot;;r.scales=t(&quot;./scales&quot;),r.defaultScale=t(&quot;./default_scale&quot;),r.attributes=t(&quot;./attributes&quot;),r.handleDefaults=t(&quot;./defaults&quot;),r.calc=t(&quot;./calc&quot;),r.hasColorscale=t(&quot;./has_colorscale&quot;),r.isValidScale=t(&quot;./is_valid_scale&quot;),r.getScale=t(&quot;./get_scale&quot;),r.flipScale=t(&quot;./flip_scale&quot;),r.extractScale=t(&quot;./extract_scale&quot;),r.makeColorScaleFunc=t(&quot;./make_color_scale_func&quot;)},{&quot;./attributes&quot;:624,&quot;./calc&quot;:625,&quot;./default_scale&quot;:627,&quot;./defaults&quot;:628,&quot;./extract_scale&quot;:629,&quot;./flip_scale&quot;:630,&quot;./get_scale&quot;:631,&quot;./has_colorscale&quot;:632,&quot;./is_valid_scale&quot;:634,&quot;./make_color_scale_func&quot;:636,&quot;./scales&quot;:637}],634:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;./scales&quot;),i=t(&quot;./is_valid_scale_array&quot;);e.exports=function(t){return void 0!==n[t]||i(t)}},{&quot;./is_valid_scale_array&quot;:635,&quot;./scales&quot;:637}],635:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;tinycolor2&quot;);e.exports=function(t){var e=0;if(!Array.isArray(t)||t.length&lt;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&lt;t.length;r++){var i=t[r];if(2!==i.length||+i[0]&lt;e||!n(i[1]).isValid())return!1;e=+i[0]}return!0}},{tinycolor2:546}],636:[function(t,e,r){&quot;use strict&quot;;function n(t){var e={r:t[0],g:t[1],b:t[2],a:t[3]};return a(e).toRgbString()}var i=t(&quot;d3&quot;),a=t(&quot;tinycolor2&quot;),o=t(&quot;fast-isnumeric&quot;),s=t(&quot;../color&quot;);e.exports=function(t,e){e=e||{};for(var r=t.domain,l=t.range,c=l.length,u=new Array(c),f=0;f&lt;c;f++){var h=a(l[f]).toRgb();u[f]=[h.r,h.g,h.b,h.a]}var d,p=i.scale.linear().domain(r).range(u).clamp(!0),m=e.noNumericCheck,g=e.returnArray;return d=m&amp;&amp;g?p:m?function(t){return n(p(t))}:g?function(t){return o(t)?p(t):a(t).isValid()?t:s.defaultLine}:function(t){return o(t)?n(p(t)):a(t).isValid()?t:s.defaultLine},d.domain=p.domain,d.range=function(){return l},d}},{&quot;../color&quot;:618,d3:128,&quot;fast-isnumeric&quot;:140,tinycolor2:546}],637:[function(t,e,r){&quot;use strict&quot;;e.exports={Greys:[[0,&quot;rgb(0,0,0)&quot;],[1,&quot;rgb(255,255,255)&quot;]],YlGnBu:[[0,&quot;rgb(8,29,88)&quot;],[.125,&quot;rgb(37,52,148)&quot;],[.25,&quot;rgb(34,94,168)&quot;],[.375,&quot;rgb(29,145,192)&quot;],[.5,&quot;rgb(65,182,196)&quot;],[.625,&quot;rgb(127,205,187)&quot;],[.75,&quot;rgb(199,233,180)&quot;],[.875,&quot;rgb(237,248,217)&quot;],[1,&quot;rgb(255,255,217)&quot;]],Greens:[[0,&quot;rgb(0,68,27)&quot;],[.125,&quot;rgb(0,109,44)&quot;],[.25,&quot;rgb(35,139,69)&quot;],[.375,&quot;rgb(65,171,93)&quot;],[.5,&quot;rgb(116,196,118)&quot;],[.625,&quot;rgb(161,217,155)&quot;],[.75,&quot;rgb(199,233,192)&quot;],[.875,&quot;rgb(229,245,224)&quot;],[1,&quot;rgb(247,252,245)&quot;]],YlOrRd:[[0,&quot;rgb(128,0,38)&quot;],[.125,&quot;rgb(189,0,38)&quot;],[.25,&quot;rgb(227,26,28)&quot;],[.375,&quot;rgb(252,78,42)&quot;],[.5,&quot;rgb(253,141,60)&quot;],[.625,&quot;rgb(254,178,76)&quot;],[.75,&quot;rgb(254,217,118)&quot;],[.875,&quot;rgb(255,237,160)&quot;],[1,&quot;rgb(255,255,204)&quot;]],Bluered:[[0,&quot;rgb(0,0,255)&quot;],[1,&quot;rgb(255,0,0)&quot;]],RdBu:[[0,&quot;rgb(5,10,172)&quot;],[.35,&quot;rgb(106,137,247)&quot;],[.5,&quot;rgb(190,190,190)&quot;],[.6,&quot;rgb(220,170,132)&quot;],[.7,&quot;rgb(230,145,90)&quot;],[1,&quot;rgb(178,10,28)&quot;]],Reds:[[0,&quot;rgb(220,220,220)&quot;],[.2,&quot;rgb(245,195,157)&quot;],[.4,&quot;rgb(245,160,105)&quot;],[1,&quot;rgb(178,10,28)&quot;]],Blues:[[0,&quot;rgb(5,10,172)&quot;],[.35,&quot;rgb(40,60,190)&quot;],[.5,&quot;rgb(70,100,245)&quot;],[.6,&quot;rgb(90,120,245)&quot;],[.7,&quot;rgb(106,137,247)&quot;],[1,&quot;rgb(220,220,220)&quot;]],Picnic:[[0,&quot;rgb(0,0,255)&quot;],[.1,&quot;rgb(51,153,255)&quot;],[.2,&quot;rgb(102,204,255)&quot;],[.3,&quot;rgb(153,204,255)&quot;],[.4,&quot;rgb(204,204,255)&quot;],[.5,&quot;rgb(255,255,255)&quot;],[.6,&quot;rgb(255,204,255)&quot;],[.7,&quot;rgb(255,153,255)&quot;],[.8,&quot;rgb(255,102,204)&quot;],[.9,&quot;rgb(255,102,102)&quot;],[1,&quot;rgb(255,0,0)&quot;]],Rainbow:[[0,&quot;rgb(150,0,90)&quot;],[.125,&quot;rgb(0,0,200)&quot;],[.25,&quot;rgb(0,25,255)&quot;],[.375,&quot;rgb(0,152,255)&quot;],[.5,&quot;rgb(44,255,150)&quot;],[.625,&quot;rgb(151,255,0)&quot;],[.75,&quot;rgb(255,234,0)&quot;],[.875,&quot;rgb(255,111,0)&quot;],[1,&quot;rgb(255,0,0)&quot;]],Portland:[[0,&quot;rgb(12,51,131)&quot;],[.25,&quot;rgb(10,136,186)&quot;],[.5,&quot;rgb(242,211,56)&quot;],[.75,&quot;rgb(242,143,56)&quot;],[1,&quot;rgb(217,30,30)&quot;]],Jet:[[0,&quot;rgb(0,0,131)&quot;],[.125,&quot;rgb(0,60,170)&quot;],[.375,&quot;rgb(5,255,255)&quot;],[.625,&quot;rgb(255,255,0)&quot;],[.875,&quot;rgb(250,0,0)&quot;],[1,&quot;rgb(128,0,0)&quot;]],Hot:[[0,&quot;rgb(0,0,0)&quot;],[.3,&quot;rgb(230,0,0)&quot;],[.6,&quot;rgb(255,210,0)&quot;],[1,&quot;rgb(255,255,255)&quot;]],Blackbody:[[0,&quot;rgb(0,0,0)&quot;],[.2,&quot;rgb(230,0,0)&quot;],[.4,&quot;rgb(230,210,0)&quot;],[.7,&quot;rgb(255,255,255)&quot;],[1,&quot;rgb(160,200,255)&quot;]],Earth:[[0,&quot;rgb(0,0,130)&quot;],[.1,&quot;rgb(0,180,180)&quot;],[.2,&quot;rgb(40,210,40)&quot;],[.4,&quot;rgb(230,230,50)&quot;],[.6,&quot;rgb(120,70,20)&quot;],[1,&quot;rgb(255,255,255)&quot;]],Electric:[[0,&quot;rgb(0,0,0)&quot;],[.15,&quot;rgb(30,0,100)&quot;],[.4,&quot;rgb(120,0,100)&quot;],[.6,&quot;rgb(160,90,0)&quot;],[.8,&quot;rgb(230,200,0)&quot;],[1,&quot;rgb(255,250,220)&quot;]],Viridis:[[0,&quot;#440154&quot;],[.06274509803921569,&quot;#48186a&quot;],[.12549019607843137,&quot;#472d7b&quot;],[.18823529411764706,&quot;#424086&quot;],[.25098039215686274,&quot;#3b528b&quot;],[.3137254901960784,&quot;#33638d&quot;],[.3764705882352941,&quot;#2c728e&quot;],[.4392156862745098,&quot;#26828e&quot;],[.5019607843137255,&quot;#21918c&quot;],[.5647058823529412,&quot;#1fa088&quot;],[.6274509803921569,&quot;#28ae80&quot;],[.6901960784313725,&quot;#3fbc73&quot;],[.7529411764705882,&quot;#5ec962&quot;],[.8156862745098039,&quot;#84d44b&quot;],[.8784313725490196,&quot;#addc30&quot;],[.9411764705882353,&quot;#d8e219&quot;],[1,&quot;#fde725&quot;]],Cividis:[[0,&quot;rgb(0,32,76)&quot;],[.058824,&quot;rgb(0,42,102)&quot;],[.117647,&quot;rgb(0,52,110)&quot;],[.176471,&quot;rgb(39,63,108)&quot;],[.235294,&quot;rgb(60,74,107)&quot;],[.294118,&quot;rgb(76,85,107)&quot;],[.352941,&quot;rgb(91,95,109)&quot;],[.411765,&quot;rgb(104,106,112)&quot;],[.470588,&quot;rgb(117,117,117)&quot;],[.529412,&quot;rgb(131,129,120)&quot;],[.588235,&quot;rgb(146,140,120)&quot;],[.647059,&quot;rgb(161,152,118)&quot;],[.705882,&quot;rgb(176,165,114)&quot;],[.764706,&quot;rgb(192,177,109)&quot;],[.823529,&quot;rgb(209,191,102)&quot;],[.882353,&quot;rgb(225,204,92)&quot;],[.941176,&quot;rgb(243,219,79)&quot;],[1,&quot;rgb(255,233,69)&quot;]]}},{}],638:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t,e,r,n,i){var a=(t-r)/(n-r),o=a+e/(n-r),s=(a+o)/2;return&quot;left&quot;===i||&quot;bottom&quot;===i?a:&quot;center&quot;===i||&quot;middle&quot;===i?s:&quot;right&quot;===i||&quot;top&quot;===i?o:a&lt;2/3-s?a:o&gt;4/3-s?o:s}},{}],639:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib&quot;),i=[[&quot;sw-resize&quot;,&quot;s-resize&quot;,&quot;se-resize&quot;],[&quot;w-resize&quot;,&quot;move&quot;,&quot;e-resize&quot;],[&quot;nw-resize&quot;,&quot;n-resize&quot;,&quot;ne-resize&quot;]];e.exports=function(t,e,r,a){return t=&quot;left&quot;===r?0:&quot;center&quot;===r?1:&quot;right&quot;===r?2:n.constrain(Math.floor(3*t),0,2),e=&quot;bottom&quot;===a?0:&quot;middle&quot;===a?1:&quot;top&quot;===a?2:n.constrain(Math.floor(3*e),0,2),i[e][t]}},{&quot;../../lib&quot;:743}],640:[function(t,e,r){&quot;use strict&quot;;function n(){var t=document.createElement(&quot;div&quot;);t.className=&quot;dragcover&quot;;var e=t.style;return e.position=&quot;fixed&quot;,e.left=0,e.right=0,e.top=0,e.bottom=0,e.zIndex=999999999,e.background=&quot;none&quot;,document.body.appendChild(t),t}function i(t){return a(t.changedTouches?t.changedTouches[0]:t,document.body)}var a=t(&quot;mouse-event-offset&quot;),o=t(&quot;has-hover&quot;),s=t(&quot;../../plotly&quot;),l=t(&quot;../../lib&quot;),c=t(&quot;../../plots/cartesian/constants&quot;),u=t(&quot;../../constants/interactions&quot;),f=e.exports={};f.align=t(&quot;./align&quot;),f.getCursor=t(&quot;./cursor&quot;);var h=t(&quot;./unhover&quot;);f.unhover=h.wrapped,f.unhoverRaw=h.raw;var d=l.eventListenerOptionsSupported();f.init=function(t){function e(e){_._dragged=!1,_._dragging=!0;var s=i(e);return h=s[0],p=s[1],x=e.target,y=e,b=e.buttons&amp;&amp;2===e.buttons||e.ctrlKey,(m=(new Date).getTime())-_._mouseDownTime&lt;M?w+=1:(w=1,_._mouseDownTime=m),t.prepFn&amp;&amp;t.prepFn(e,h,p),o&amp;&amp;!b?(v=n()).style.cursor=window.getComputedStyle(k).cursor:o||(v=document,g=window.getComputedStyle(document.documentElement).cursor,document.documentElement.style.cursor=window.getComputedStyle(k).cursor),document.addEventListener(&quot;mousemove&quot;,r),document.addEventListener(&quot;mouseup&quot;,a),document.addEventListener(&quot;touchmove&quot;,r),document.addEventListener(&quot;touchend&quot;,a),l.pauseEvent(e)}function r(e){var r=i(e),n=t.minDrag||c.MINDRAG,a=A(r[0]-h,r[1]-p,n),o=a[0],s=a[1];return(o||s)&amp;&amp;(_._dragged=!0,f.unhover(_)),_._dragged&amp;&amp;t.moveFn&amp;&amp;!b&amp;&amp;t.moveFn(o,s),l.pauseEvent(e)}function a(e){if(document.removeEventListener(&quot;mousemove&quot;,r),document.removeEventListener(&quot;mouseup&quot;,a),document.removeEventListener(&quot;touchmove&quot;,r),document.removeEventListener(&quot;touchend&quot;,a),o?l.removeElement(v):g&amp;&amp;(v.documentElement.style.cursor=g,g=null),_._dragging){if(_._dragging=!1,(new Date).getTime()-_._mouseDownTime&gt;M&amp;&amp;(w=Math.max(w-1,1)),_._dragged)t.doneFn&amp;&amp;t.doneFn(e);else if(t.clickFn&amp;&amp;t.clickFn(w,y),!b){var n;try{n=new MouseEvent(&quot;click&quot;,e)}catch(t){var c=i(e);(n=document.createEvent(&quot;MouseEvents&quot;)).initMouseEvent(&quot;click&quot;,e.bubbles,e.cancelable,e.view,e.detail,e.screenX,e.screenY,c[0],c[1],e.ctrlKey,e.altKey,e.shiftKey,e.metaKey,e.button,e.relatedTarget)}x.dispatchEvent(n)}return function(t){t._dragging=!1,t._replotPending&amp;&amp;s.plot(t)}(_),_._dragged=!1,l.pauseEvent(e)}_._dragged=!1}var h,p,m,g,v,y,x,b,_=t.gd,w=1,M=u.DBLCLICKDELAY,k=t.element;_._mouseDownTime||(_._mouseDownTime=0),k.style.pointerEvents=&quot;all&quot;,k.onmousedown=e,d?(k._ontouchstart&amp;&amp;k.removeEventListener(&quot;touchstart&quot;,k._ontouchstart),k._ontouchstart=e,k.addEventListener(&quot;touchstart&quot;,e,{passive:!1})):k.ontouchstart=e;var A=t.clampFn||function(t,e,r){return Math.abs(t)&lt;r&amp;&amp;(t=0),Math.abs(e)&lt;r&amp;&amp;(e=0),[t,e]}},f.coverSlip=n},{&quot;../../constants/interactions&quot;:720,&quot;../../lib&quot;:743,&quot;../../plotly&quot;:784,&quot;../../plots/cartesian/constants&quot;:794,&quot;./align&quot;:638,&quot;./cursor&quot;:639,&quot;./unhover&quot;:641,&quot;has-hover&quot;:276,&quot;mouse-event-offset&quot;:444}],641:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib/events&quot;),i=t(&quot;../../lib/throttle&quot;),a=t(&quot;../../lib/get_graph_div&quot;),o=t(&quot;../fx/constants&quot;),s=e.exports={};s.wrapped=function(t,e,r){(t=a(t))._fullLayout&amp;&amp;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&amp;&amp;!1===n.triggerHandler(t,&quot;plotly_beforehover&quot;,e)||(r._hoverlayer.selectAll(&quot;g&quot;).remove(),r._hoverlayer.selectAll(&quot;line&quot;).remove(),r._hoverlayer.selectAll(&quot;circle&quot;).remove(),t._hoverdata=void 0,e.target&amp;&amp;i&amp;&amp;t.emit(&quot;plotly_unhover&quot;,{event:e,points:i}))}},{&quot;../../lib/events&quot;:731,&quot;../../lib/get_graph_div&quot;:738,&quot;../../lib/throttle&quot;:767,&quot;../fx/constants&quot;:655}],642:[function(t,e,r){&quot;use strict&quot;;r.dash={valType:&quot;string&quot;,values:[&quot;solid&quot;,&quot;dot&quot;,&quot;dash&quot;,&quot;longdash&quot;,&quot;dashdot&quot;,&quot;longdashdot&quot;],dflt:&quot;solid&quot;,editType:&quot;style&quot;}},{}],643:[function(t,e,r){&quot;use strict&quot;;function n(t,e){var r=t%100;return _.symbolFuncs[r](e)+(t&gt;=200?k:&quot;&quot;)}function i(t,e,r,n){var i=l.select(t.node().parentNode),a=-1!==e.indexOf(&quot;top&quot;)?&quot;top&quot;:-1!==e.indexOf(&quot;bottom&quot;)?&quot;bottom&quot;:&quot;middle&quot;,o=-1!==e.indexOf(&quot;left&quot;)?&quot;end&quot;:-1!==e.indexOf(&quot;right&quot;)?&quot;start&quot;:&quot;middle&quot;,s=n?n/.8+1:0,c=(m.lineCount(t)-1)*v+1,u=S[o]*s,f=.75*r+S[a]*s+(S[a]-1)*c*r/2;t.attr(&quot;text-anchor&quot;,o),i.attr(&quot;transform&quot;,&quot;translate(&quot;+u+&quot;,&quot;+f+&quot;)&quot;)}function a(t,e){var r=t.ts||e.textfont.size;return c(r)&amp;&amp;r&gt;0?r:0}function o(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],c=Math.pow(i*i+a*a,E/2),u=Math.pow(o*o+s*s,E/2),f=(u*u*i-c*c*o)*n,h=(u*u*a-c*c*s)*n,d=3*u*(c+u),p=3*c*(c+u);return[[l.round(e[0]+(d&amp;&amp;f/d),2),l.round(e[1]+(d&amp;&amp;h/d),2)],[l.round(e[0]-(p&amp;&amp;f/p),2),l.round(e[1]-(p&amp;&amp;h/p),2)]]}function s(t){var e=t.getAttribute(&quot;data-unformatted&quot;);if(null!==e)return e+t.getAttribute(&quot;data-math&quot;)+t.getAttribute(&quot;text-anchor&quot;)+t.getAttribute(&quot;style&quot;)}var l=t(&quot;d3&quot;),c=t(&quot;fast-isnumeric&quot;),u=t(&quot;tinycolor2&quot;),f=t(&quot;../../registry&quot;),h=t(&quot;../color&quot;),d=t(&quot;../colorscale&quot;),p=t(&quot;../../lib&quot;),m=t(&quot;../../lib/svg_text_utils&quot;),g=t(&quot;../../constants/xmlns_namespaces&quot;),v=t(&quot;../../constants/alignment&quot;).LINE_SPACING,y=t(&quot;../../constants/interactions&quot;).DESELECTDIM,x=t(&quot;../../traces/scatter/subtypes&quot;),b=t(&quot;../../traces/scatter/make_bubble_size_func&quot;),_=e.exports={};_.font=function(t,e,r,n){p.isPlainObject(e)&amp;&amp;(n=e.color,r=e.size,e=e.family),e&amp;&amp;t.style(&quot;font-family&quot;,e),r+1&amp;&amp;t.style(&quot;font-size&quot;,r+&quot;px&quot;),n&amp;&amp;t.call(h.fill,n)},_.setPosition=function(t,e,r){t.attr(&quot;x&quot;,e).attr(&quot;y&quot;,r)},_.setSize=function(t,e,r){t.attr(&quot;width&quot;,e).attr(&quot;height&quot;,r)},_.setRect=function(t,e,r,n,i){t.call(_.setPosition,e,r).call(_.setSize,n,i)},_.translatePoint=function(t,e,r,n){var i=r.c2p(t.x),a=n.c2p(t.y);return!!(c(i)&amp;&amp;c(a)&amp;&amp;e.node())&amp;&amp;(&quot;text&quot;===e.node().nodeName?e.attr(&quot;x&quot;,i).attr(&quot;y&quot;,a):e.attr(&quot;transform&quot;,&quot;translate(&quot;+i+&quot;,&quot;+a+&quot;)&quot;),!0)},_.translatePoints=function(t,e,r){t.each(function(t){var n=l.select(this);_.translatePoint(t,n,e,r)})},_.hideOutsideRangePoint=function(t,e,r,n,i,a){e.attr(&quot;display&quot;,r.isPtWithinRange(t,i)&amp;&amp;n.isPtWithinRange(t,a)?null:&quot;none&quot;)},_.hideOutsideRangePoints=function(t,e){if(e._hasClipOnAxisFalse){var r=e.xaxis,n=e.yaxis;t.each(function(e){var i=e[0].trace,a=i.xcalendar,o=i.ycalendar;t.selectAll(&quot;.point,.textpoint&quot;).each(function(t){_.hideOutsideRangePoint(t,l.select(this),r,n,a,o)})})}},_.crispRound=function(t,e,r){return e&amp;&amp;c(e)?t._context.staticPlot?e:e&lt;1?1:Math.round(e):r||0},_.singleLineStyle=function(t,e,r,n,i){e.style(&quot;fill&quot;,&quot;none&quot;);var a=(((t||[])[0]||{}).trace||{}).line||{},o=r||a.width||0,s=i||a.dash||&quot;&quot;;h.stroke(e,n||a.color),_.dashLine(e,s,o)},_.lineGroupStyle=function(t,e,r,n){t.style(&quot;fill&quot;,&quot;none&quot;).each(function(t){var i=(((t||[])[0]||{}).trace||{}).line||{},a=e||i.width||0,o=n||i.dash||&quot;&quot;;l.select(this).call(h.stroke,r||i.color).call(_.dashLine,o,a)})},_.dashLine=function(t,e,r){r=+r||0,e=_.dashStyle(e,r),t.style({&quot;stroke-dasharray&quot;:e,&quot;stroke-width&quot;:r+&quot;px&quot;})},_.dashStyle=function(t,e){e=+e||1;var r=Math.max(e,3);return&quot;solid&quot;===t?t=&quot;&quot;:&quot;dot&quot;===t?t=r+&quot;px,&quot;+r+&quot;px&quot;:&quot;dash&quot;===t?t=3*r+&quot;px,&quot;+3*r+&quot;px&quot;:&quot;longdash&quot;===t?t=5*r+&quot;px,&quot;+5*r+&quot;px&quot;:&quot;dashdot&quot;===t?t=3*r+&quot;px,&quot;+r+&quot;px,&quot;+r+&quot;px,&quot;+r+&quot;px&quot;:&quot;longdashdot&quot;===t&amp;&amp;(t=5*r+&quot;px,&quot;+2*r+&quot;px,&quot;+r+&quot;px,&quot;+2*r+&quot;px&quot;),t},_.singleFillStyle=function(t){var e=(((l.select(t.node()).data()[0]||[])[0]||{}).trace||{}).fillcolor;e&amp;&amp;t.call(h.fill,e)},_.fillGroupStyle=function(t){t.style(&quot;stroke-width&quot;,0).each(function(e){var r=l.select(this);try{r.call(h.fill,e[0].trace.fillcolor)}catch(e){p.error(e,t),r.remove()}})};var w=t(&quot;./symbol_defs&quot;);_.symbolNames=[],_.symbolFuncs=[],_.symbolNeedLines={},_.symbolNoDot={},_.symbolNoFill={},_.symbolList=[],Object.keys(w).forEach(function(t){var e=w[t];_.symbolList=_.symbolList.concat([e.n,t,e.n+100,t+&quot;-open&quot;]),_.symbolNames[e.n]=t,_.symbolFuncs[e.n]=e.f,e.needLine&amp;&amp;(_.symbolNeedLines[e.n]=!0),e.noDot?_.symbolNoDot[e.n]=!0:_.symbolList=_.symbolList.concat([e.n+200,t+&quot;-dot&quot;,e.n+300,t+&quot;-open-dot&quot;]),e.noFill&amp;&amp;(_.symbolNoFill[e.n]=!0)});var M=_.symbolNames.length,k=&quot;M0,0.5L0.5,0L0,-0.5L-0.5,0Z&quot;;_.symbolNumber=function(t){if(&quot;string&quot;==typeof t){var e=0;t.indexOf(&quot;-open&quot;)&gt;0&amp;&amp;(e=100,t=t.replace(&quot;-open&quot;,&quot;&quot;)),t.indexOf(&quot;-dot&quot;)&gt;0&amp;&amp;(e+=200,t=t.replace(&quot;-dot&quot;,&quot;&quot;)),(t=_.symbolNames.indexOf(t))&gt;=0&amp;&amp;(t+=e)}return t%100&gt;=M||t&gt;=400?0:Math.floor(Math.max(t,0))};var A={x1:1,x2:0,y1:0,y2:0},T={x1:0,x2:0,y1:1,y2:0};_.gradient=function(t,e,r,n,i,a){var o=e._fullLayout._defs.select(&quot;.gradients&quot;).selectAll(&quot;#&quot;+r).data([n+i+a],p.identity);o.exit().remove(),o.enter().append(&quot;radial&quot;===n?&quot;radialGradient&quot;:&quot;linearGradient&quot;).each(function(){var t=l.select(this);&quot;horizontal&quot;===n?t.attr(A):&quot;vertical&quot;===n&amp;&amp;t.attr(T),t.attr(&quot;id&quot;,r);var e=u(i),o=u(a);t.append(&quot;stop&quot;).attr({offset:&quot;0%&quot;,&quot;stop-color&quot;:h.tinyRGB(o),&quot;stop-opacity&quot;:o.getAlpha()}),t.append(&quot;stop&quot;).attr({offset:&quot;100%&quot;,&quot;stop-color&quot;:h.tinyRGB(e),&quot;stop-opacity&quot;:e.getAlpha()})}),t.style({fill:&quot;url(#&quot;+r+&quot;)&quot;,&quot;fill-opacity&quot;:null})},_.initGradients=function(t){var e=t._fullLayout._defs.selectAll(&quot;.gradients&quot;).data([0]);e.enter().append(&quot;g&quot;).classed(&quot;gradients&quot;,!0),e.selectAll(&quot;linearGradient,radialGradient&quot;).remove()},_.singlePointStyle=function(t,e,r,i,a,o){var s=r.marker;!function(t,e,r,i,a,o,s,l){if(f.traceIs(r,&quot;symbols&quot;)){var c=b(r);e.attr(&quot;d&quot;,function(t){var e;e=&quot;various&quot;===t.ms||&quot;various&quot;===o.size?3:x.isBubble(r)?c(t.ms):(o.size||6)/2,t.mrc=e;var i=_.symbolNumber(t.mx||o.symbol)||0;return t.om=i%200&gt;=100,n(i,e)})}e.style(&quot;opacity&quot;,function(t){return(t.mo+1||o.opacity+1)-1});var u,d,p,m=!1;if(t.so?(p=s.outlierwidth,d=s.outliercolor,u=o.outliercolor):(p=(t.mlw+1||s.width+1||(t.trace?t.trace.marker.line.width:0)+1)-1,d=&quot;mlc&quot;in t?t.mlcc=a(t.mlc):Array.isArray(s.color)?h.defaultLine:s.color,Array.isArray(o.color)&amp;&amp;(u=h.defaultLine,m=!0),u=&quot;mc&quot;in t?t.mcc=i(t.mc):o.color||&quot;rgba(0,0,0,0)&quot;),t.om)e.call(h.stroke,u).style({&quot;stroke-width&quot;:(p||1)+&quot;px&quot;,fill:&quot;none&quot;});else{e.style(&quot;stroke-width&quot;,p+&quot;px&quot;);var g=o.gradient,v=t.mgt;if(v?m=!0:v=g&amp;&amp;g.type,v&amp;&amp;&quot;none&quot;!==v){var y=t.mgc;y?m=!0:y=g.color;var w=&quot;g&quot;+l._fullLayout._uid+&quot;-&quot;+r.uid;m&amp;&amp;(w+=&quot;-&quot;+t.i),e.call(_.gradient,l,w,v,u,y)}else e.call(h.fill,u);p&amp;&amp;e.call(h.stroke,d)}}(t,e,r,i,a,s,s.line,o)},_.pointStyle=function(t,e,r){if(t.size()){var n=e.marker,i=_.tryColorscale(n,&quot;&quot;),a=_.tryColorscale(n,&quot;line&quot;);t.each(function(t){_.singlePointStyle(t,l.select(this),e,i,a,r)})}},_.selectedPointStyle=function(t,e){if(t.size()&amp;&amp;e.selectedpoints){var r=e.selected||{},i=e.unselected||{},a=e.marker||{},o=r.marker||{},s=i.marker||{},c=a.opacity,u=o.opacity,d=s.opacity,p=void 0!==u,m=void 0!==d;t.each(function(t){var e,r=l.select(this),n=t.mo,i=void 0!==n;(i||p||m)&amp;&amp;(t.selected?p&amp;&amp;(e=u):e=m?d:y*(i?n:c)),void 0!==e&amp;&amp;r.style(&quot;opacity&quot;,e)});var g=o.color,v=s.color;(g||v)&amp;&amp;t.each(function(t){var e,r=l.select(this);t.selected?g&amp;&amp;(e=g):v&amp;&amp;(e=v),e&amp;&amp;h.fill(r,e)});var x=o.size,b=s.size,w=void 0!==x,M=void 0!==b;f.traceIs(e,&quot;symbols&quot;)&amp;&amp;(w||M)&amp;&amp;t.each(function(t){var e,r=l.select(this),i=t.mrc,o=t.mx||a.symbol||0;e=t.selected?w?x/2:i:M?b/2:i,r.attr(&quot;d&quot;,n(_.symbolNumber(o),e)),t.mrc2=e})}},_.tryColorscale=function(t,e){var r=e?p.nestedProperty(t,e).get():t,n=r.colorscale,i=r.color;return n&amp;&amp;Array.isArray(i)?d.makeColorScaleFunc(d.extractScale(n,r.cmin,r.cmax)):p.identity};var S={start:1,end:-1,middle:0,bottom:1,top:-1};_.textPointStyle=function(t,e,r){t.each(function(t){var n=l.select(this),o=p.extractOption(t,e,&quot;tx&quot;,&quot;text&quot;);if(o){var s=t.tp||e.textposition,c=a(t,e);n.call(_.font,t.tf||e.textfont.family,c,t.tc||e.textfont.color).text(o).call(m.convertToTspans,r).call(i,s,c,t.mrc)}else n.remove()})},_.selectedTextStyle=function(t,e){if(t.size()&amp;&amp;e.selectedpoints){var r=e.selected||{},n=e.unselected||{};t.each(function(t){var o,s=l.select(this),c=t.tc||e.textfont.color,u=t.tp||e.textposition,f=a(t,e),d=(r.textfont||{}).color,p=(n.textfont||{}).color;t.selected?d&amp;&amp;(o=d):p?o=p:d||(o=h.addOpacity(c,y)),o&amp;&amp;h.fill(s,o),i(s,u,f,t.mrc2||t.mrc)})}};var E=.5;_.smoothopen=function(t,e){if(t.length&lt;3)return&quot;M&quot;+t.join(&quot;L&quot;);var r,n=&quot;M&quot;+t[0],i=[];for(r=1;r&lt;t.length-1;r++)i.push(o(t[r-1],t[r],t[r+1],e));for(n+=&quot;Q&quot;+i[0][0]+&quot; &quot;+t[1],r=2;r&lt;t.length-1;r++)n+=&quot;C&quot;+i[r-2][1]+&quot; &quot;+i[r-1][0]+&quot; &quot;+t[r];return n+=&quot;Q&quot;+i[t.length-3][1]+&quot; &quot;+t[t.length-1]},_.smoothclosed=function(t,e){if(t.length&lt;3)return&quot;M&quot;+t.join(&quot;L&quot;)+&quot;Z&quot;;var r,n=&quot;M&quot;+t[0],i=t.length-1,a=[o(t[i],t[0],t[1],e)];for(r=1;r&lt;i;r++)a.push(o(t[r-1],t[r],t[r+1],e));for(a.push(o(t[i-1],t[i],t[0],e)),r=1;r&lt;=i;r++)n+=&quot;C&quot;+a[r-1][1]+&quot; &quot;+a[r][0]+&quot; &quot;+t[r];return n+=&quot;C&quot;+a[i][1]+&quot; &quot;+a[0][0]+&quot; &quot;+t[0]+&quot;Z&quot;};var L={hv:function(t,e){return&quot;H&quot;+l.round(e[0],2)+&quot;V&quot;+l.round(e[1],2)},vh:function(t,e){return&quot;V&quot;+l.round(e[1],2)+&quot;H&quot;+l.round(e[0],2)},hvh:function(t,e){return&quot;H&quot;+l.round((t[0]+e[0])/2,2)+&quot;V&quot;+l.round(e[1],2)+&quot;H&quot;+l.round(e[0],2)},vhv:function(t,e){return&quot;V&quot;+l.round((t[1]+e[1])/2,2)+&quot;H&quot;+l.round(e[0],2)+&quot;V&quot;+l.round(e[1],2)}};_.steps=function(t){var e=L[t]||function(t,e){return&quot;L&quot;+l.round(e[0],2)+&quot;,&quot;+l.round(e[1],2)};return function(t){for(var r=&quot;M&quot;+l.round(t[0][0],2)+&quot;,&quot;+l.round(t[0][1],2),n=1;n&lt;t.length;n++)r+=e(t[n-1],t[n]);return r}},_.makeTester=function(){var t=l.select(&quot;body&quot;).selectAll(&quot;#js-plotly-tester&quot;).data([0]);t.enter().append(&quot;svg&quot;).attr(&quot;id&quot;,&quot;js-plotly-tester&quot;).attr(g.svgAttrs).style({position:&quot;absolute&quot;,left:&quot;-10000px&quot;,top:&quot;-10000px&quot;,width:&quot;9000px&quot;,height:&quot;9000px&quot;,&quot;z-index&quot;:&quot;1&quot;});var e=t.selectAll(&quot;.js-reference-point&quot;).data([0]);e.enter().append(&quot;path&quot;).classed(&quot;js-reference-point&quot;,!0).attr(&quot;d&quot;,&quot;M0,0H1V1H0Z&quot;).style({&quot;stroke-width&quot;:0,fill:&quot;black&quot;}),_.tester=t,_.testref=e},_.savedBBoxes={};var C=0;_.bBox=function(t,e,r){r||(r=s(t));var n;if(r){if(n=_.savedBBoxes[r])return p.extendFlat({},n)}else if(1===t.childNodes.length){var i=t.childNodes[0];if(r=s(i)){var a=+i.getAttribute(&quot;x&quot;)||0,o=+i.getAttribute(&quot;y&quot;)||0,c=i.getAttribute(&quot;transform&quot;);if(!c){var u=_.bBox(i,!1,r);return a&amp;&amp;(u.left+=a,u.right+=a),o&amp;&amp;(u.top+=o,u.bottom+=o),u}if(r+=&quot;~&quot;+a+&quot;~&quot;+o+&quot;~&quot;+c,n=_.savedBBoxes[r])return p.extendFlat({},n)}}var f,h;e?f=t:(h=_.tester.node(),f=t.cloneNode(!0),h.appendChild(f)),l.select(f).attr(&quot;transform&quot;,null).call(m.positionText,0,0);var d=f.getBoundingClientRect(),g=_.testref.node().getBoundingClientRect();e||h.removeChild(f);var v={height:d.height,width:d.width,left:d.left-g.left,top:d.top-g.top,right:d.right-g.left,bottom:d.bottom-g.top};return C&gt;=1e4&amp;&amp;(_.savedBBoxes={},C=0),r&amp;&amp;(_.savedBBoxes[r]=v),C++,p.extendFlat({},v)},_.setClipUrl=function(t,e){if(e){var r=&quot;#&quot;+e,n=l.select(&quot;base&quot;);n.size()&amp;&amp;n.attr(&quot;href&quot;)&amp;&amp;(r=window.location.href.split(&quot;#&quot;)[0]+r),t.attr(&quot;clip-path&quot;,&quot;url(&quot;+r+&quot;)&quot;)}else t.attr(&quot;clip-path&quot;,null)},_.getTranslate=function(t){var e=(t[t.attr?&quot;attr&quot;:&quot;getAttribute&quot;](&quot;transform&quot;)||&quot;&quot;).replace(/.*\btranslate\((-?\d*\.?\d*)[^-\d]*(-?\d*\.?\d*)[^\d].*/,function(t,e,r){return[e,r].join(&quot; &quot;)}).split(&quot; &quot;);return{x:+e[0]||0,y:+e[1]||0}},_.setTranslate=function(t,e,r){var n=t.attr?&quot;attr&quot;:&quot;getAttribute&quot;,i=t.attr?&quot;attr&quot;:&quot;setAttribute&quot;,a=t[n](&quot;transform&quot;)||&quot;&quot;;return e=e||0,r=r||0,a=a.replace(/(\btranslate\(.*?\);?)/,&quot;&quot;).trim(),a+=&quot; translate(&quot;+e+&quot;, &quot;+r+&quot;)&quot;,a=a.trim(),t[i](&quot;transform&quot;,a),a},_.getScale=function(t){var e=(t[t.attr?&quot;attr&quot;:&quot;getAttribute&quot;](&quot;transform&quot;)||&quot;&quot;).replace(/.*\bscale\((\d*\.?\d*)[^\d]*(\d*\.?\d*)[^\d].*/,function(t,e,r){return[e,r].join(&quot; &quot;)}).split(&quot; &quot;);return{x:+e[0]||1,y:+e[1]||1}},_.setScale=function(t,e,r){var n=t.attr?&quot;attr&quot;:&quot;getAttribute&quot;,i=t.attr?&quot;attr&quot;:&quot;setAttribute&quot;,a=t[n](&quot;transform&quot;)||&quot;&quot;;return e=e||1,r=r||1,a=a.replace(/(\bscale\(.*?\);?)/,&quot;&quot;).trim(),a+=&quot; scale(&quot;+e+&quot;, &quot;+r+&quot;)&quot;,a=a.trim(),t[i](&quot;transform&quot;,a),a},_.setPointGroupScale=function(t,e,r){var n,i,a;return e=e||1,r=r||1,i=1===e&amp;&amp;1===r?&quot;&quot;:&quot; scale(&quot;+e+&quot;,&quot;+r+&quot;)&quot;,a=/\s*sc.*/,t.each(function(){n=(this.getAttribute(&quot;transform&quot;)||&quot;&quot;).replace(a,&quot;&quot;),n=(n+=i).trim(),this.setAttribute(&quot;transform&quot;,n)}),i};var z=/translate\([^)]*\)\s*$/;_.setTextPointsScale=function(t,e,r){t.each(function(){var t,n=l.select(this),i=n.select(&quot;text&quot;);if(i.node()){var a=parseFloat(i.attr(&quot;x&quot;)||0),o=parseFloat(i.attr(&quot;y&quot;)||0),s=(n.attr(&quot;transform&quot;)||&quot;&quot;).match(z);t=1===e&amp;&amp;1===r?[]:[&quot;translate(&quot;+a+&quot;,&quot;+o+&quot;)&quot;,&quot;scale(&quot;+e+&quot;,&quot;+r+&quot;)&quot;,&quot;translate(&quot;+-a+&quot;,&quot;+-o+&quot;)&quot;],s&amp;&amp;t.push(s),n.attr(&quot;transform&quot;,t.join(&quot; &quot;))}})}},{&quot;../../constants/alignment&quot;:716,&quot;../../constants/interactions&quot;:720,&quot;../../constants/xmlns_namespaces&quot;:723,&quot;../../lib&quot;:743,&quot;../../lib/svg_text_utils&quot;:766,&quot;../../registry&quot;:873,&quot;../../traces/scatter/make_bubble_size_func&quot;:1083,&quot;../../traces/scatter/subtypes&quot;:1088,&quot;../color&quot;:618,&quot;../colorscale&quot;:633,&quot;./symbol_defs&quot;:644,d3:128,&quot;fast-isnumeric&quot;:140,tinycolor2:546}],644:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;d3&quot;);e.exports={circle:{n:0,f:function(t){var e=n.round(t,2);return&quot;M&quot;+e+&quot;,0A&quot;+e+&quot;,&quot;+e+&quot; 0 1,1 0,-&quot;+e+&quot;A&quot;+e+&quot;,&quot;+e+&quot; 0 0,1 &quot;+e+&quot;,0Z&quot;}},square:{n:1,f:function(t){var e=n.round(t,2);return&quot;M&quot;+e+&quot;,&quot;+e+&quot;H-&quot;+e+&quot;V-&quot;+e+&quot;H&quot;+e+&quot;Z&quot;}},diamond:{n:2,f:function(t){var e=n.round(1.3*t,2);return&quot;M&quot;+e+&quot;,0L0,&quot;+e+&quot;L-&quot;+e+&quot;,0L0,-&quot;+e+&quot;Z&quot;}},cross:{n:3,f:function(t){var e=n.round(.4*t,2),r=n.round(1.2*t,2);return&quot;M&quot;+r+&quot;,&quot;+e+&quot;H&quot;+e+&quot;V&quot;+r+&quot;H-&quot;+e+&quot;V&quot;+e+&quot;H-&quot;+r+&quot;V-&quot;+e+&quot;H-&quot;+e+&quot;V-&quot;+r+&quot;H&quot;+e+&quot;V-&quot;+e+&quot;H&quot;+r+&quot;Z&quot;}},x:{n:4,f:function(t){var e=n.round(.8*t/Math.sqrt(2),2),r=&quot;l&quot;+e+&quot;,&quot;+e,i=&quot;l&quot;+e+&quot;,-&quot;+e,a=&quot;l-&quot;+e+&quot;,-&quot;+e,o=&quot;l-&quot;+e+&quot;,&quot;+e;return&quot;M0,&quot;+e+r+i+a+i+a+o+a+o+r+o+r+&quot;Z&quot;}},&quot;triangle-up&quot;:{n:5,f:function(t){var e=n.round(2*t/Math.sqrt(3),2);return&quot;M-&quot;+e+&quot;,&quot;+n.round(t/2,2)+&quot;H&quot;+e+&quot;L0,-&quot;+n.round(t,2)+&quot;Z&quot;}},&quot;triangle-down&quot;:{n:6,f:function(t){var e=n.round(2*t/Math.sqrt(3),2);return&quot;M-&quot;+e+&quot;,-&quot;+n.round(t/2,2)+&quot;H&quot;+e+&quot;L0,&quot;+n.round(t,2)+&quot;Z&quot;}},&quot;triangle-left&quot;:{n:7,f:function(t){var e=n.round(2*t/Math.sqrt(3),2);return&quot;M&quot;+n.round(t/2,2)+&quot;,-&quot;+e+&quot;V&quot;+e+&quot;L-&quot;+n.round(t,2)+&quot;,0Z&quot;}},&quot;triangle-right&quot;:{n:8,f:function(t){var e=n.round(2*t/Math.sqrt(3),2);return&quot;M-&quot;+n.round(t/2,2)+&quot;,-&quot;+e+&quot;V&quot;+e+&quot;L&quot;+n.round(t,2)+&quot;,0Z&quot;}},&quot;triangle-ne&quot;:{n:9,f:function(t){var e=n.round(.6*t,2),r=n.round(1.2*t,2);return&quot;M-&quot;+r+&quot;,-&quot;+e+&quot;H&quot;+e+&quot;V&quot;+r+&quot;Z&quot;}},&quot;triangle-se&quot;:{n:10,f:function(t){var e=n.round(.6*t,2),r=n.round(1.2*t,2);return&quot;M&quot;+e+&quot;,-&quot;+r+&quot;V&quot;+e+&quot;H-&quot;+r+&quot;Z&quot;}},&quot;triangle-sw&quot;:{n:11,f:function(t){var e=n.round(.6*t,2),r=n.round(1.2*t,2);return&quot;M&quot;+r+&quot;,&quot;+e+&quot;H-&quot;+e+&quot;V-&quot;+r+&quot;Z&quot;}},&quot;triangle-nw&quot;:{n:12,f:function(t){var e=n.round(.6*t,2),r=n.round(1.2*t,2);return&quot;M-&quot;+e+&quot;,&quot;+r+&quot;V-&quot;+e+&quot;H&quot;+r+&quot;Z&quot;}},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&quot;M&quot;+e+&quot;,&quot;+a+&quot;L&quot;+r+&quot;,&quot;+n.round(.809*t,2)+&quot;H-&quot;+r+&quot;L-&quot;+e+&quot;,&quot;+a+&quot;L0,&quot;+i+&quot;Z&quot;}},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&quot;M&quot;+i+&quot;,-&quot;+r+&quot;V&quot;+r+&quot;L0,&quot;+e+&quot;L-&quot;+i+&quot;,&quot;+r+&quot;V-&quot;+r+&quot;L0,-&quot;+e+&quot;Z&quot;}},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&quot;M-&quot;+r+&quot;,&quot;+i+&quot;H&quot;+r+&quot;L&quot;+e+&quot;,0L&quot;+r+&quot;,-&quot;+i+&quot;H-&quot;+r+&quot;L-&quot;+e+&quot;,0Z&quot;}},octagon:{n:16,f:function(t){var e=n.round(.924*t,2),r=n.round(.383*t,2);return&quot;M-&quot;+r+&quot;,-&quot;+e+&quot;H&quot;+r+&quot;L&quot;+e+&quot;,-&quot;+r+&quot;V&quot;+r+&quot;L&quot;+r+&quot;,&quot;+e+&quot;H-&quot;+r+&quot;L-&quot;+e+&quot;,&quot;+r+&quot;V-&quot;+r+&quot;Z&quot;}},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&quot;M&quot;+r+&quot;,&quot;+l+&quot;H&quot;+i+&quot;L&quot;+a+&quot;,&quot;+c+&quot;L&quot;+o+&quot;,&quot;+u+&quot;L0,&quot;+n.round(.382*e,2)+&quot;L-&quot;+o+&quot;,&quot;+u+&quot;L-&quot;+a+&quot;,&quot;+c+&quot;L-&quot;+i+&quot;,&quot;+l+&quot;H-&quot;+r+&quot;L0,&quot;+s+&quot;Z&quot;}},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&quot;M-&quot;+i+&quot;,0l-&quot;+r+&quot;,-&quot;+e+&quot;h&quot;+i+&quot;l&quot;+r+&quot;,-&quot;+e+&quot;l&quot;+r+&quot;,&quot;+e+&quot;h&quot;+i+&quot;l-&quot;+r+&quot;,&quot;+e+&quot;l&quot;+r+&quot;,&quot;+e+&quot;h-&quot;+i+&quot;l-&quot;+r+&quot;,&quot;+e+&quot;l-&quot;+r+&quot;,-&quot;+e+&quot;h-&quot;+i+&quot;Z&quot;}},&quot;star-triangle-up&quot;:{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=&quot;A &quot;+a+&quot;,&quot;+a+&quot; 0 0 1 &quot;;return&quot;M-&quot;+e+&quot;,&quot;+r+o+e+&quot;,&quot;+r+o+&quot;0,-&quot;+i+o+&quot;-&quot;+e+&quot;,&quot;+r+&quot;Z&quot;}},&quot;star-triangle-down&quot;:{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=&quot;A &quot;+a+&quot;,&quot;+a+&quot; 0 0 1 &quot;;return&quot;M&quot;+e+&quot;,-&quot;+r+o+&quot;-&quot;+e+&quot;,-&quot;+r+o+&quot;0,&quot;+i+o+e+&quot;,-&quot;+r+&quot;Z&quot;}},&quot;star-square&quot;:{n:21,f:function(t){var e=n.round(1.1*t,2),r=n.round(2*t,2),i=&quot;A &quot;+r+&quot;,&quot;+r+&quot; 0 0 1 &quot;;return&quot;M-&quot;+e+&quot;,-&quot;+e+i+&quot;-&quot;+e+&quot;,&quot;+e+i+e+&quot;,&quot;+e+i+e+&quot;,-&quot;+e+i+&quot;-&quot;+e+&quot;,-&quot;+e+&quot;Z&quot;}},&quot;star-diamond&quot;:{n:22,f:function(t){var e=n.round(1.4*t,2),r=n.round(1.9*t,2),i=&quot;A &quot;+r+&quot;,&quot;+r+&quot; 0 0 1 &quot;;return&quot;M-&quot;+e+&quot;,0&quot;+i+&quot;0,&quot;+e+i+e+&quot;,0&quot;+i+&quot;0,-&quot;+e+i+&quot;-&quot;+e+&quot;,0Z&quot;}},&quot;diamond-tall&quot;:{n:23,f:function(t){var e=n.round(.7*t,2),r=n.round(1.4*t,2);return&quot;M0,&quot;+r+&quot;L&quot;+e+&quot;,0L0,-&quot;+r+&quot;L-&quot;+e+&quot;,0Z&quot;}},&quot;diamond-wide&quot;:{n:24,f:function(t){var e=n.round(1.4*t,2),r=n.round(.7*t,2);return&quot;M0,&quot;+r+&quot;L&quot;+e+&quot;,0L0,-&quot;+r+&quot;L-&quot;+e+&quot;,0Z&quot;}},hourglass:{n:25,f:function(t){var e=n.round(t,2);return&quot;M&quot;+e+&quot;,&quot;+e+&quot;H-&quot;+e+&quot;L&quot;+e+&quot;,-&quot;+e+&quot;H-&quot;+e+&quot;Z&quot;},noDot:!0},bowtie:{n:26,f:function(t){var e=n.round(t,2);return&quot;M&quot;+e+&quot;,&quot;+e+&quot;V-&quot;+e+&quot;L-&quot;+e+&quot;,&quot;+e+&quot;V-&quot;+e+&quot;Z&quot;},noDot:!0},&quot;circle-cross&quot;:{n:27,f:function(t){var e=n.round(t,2);return&quot;M0,&quot;+e+&quot;V-&quot;+e+&quot;M&quot;+e+&quot;,0H-&quot;+e+&quot;M&quot;+e+&quot;,0A&quot;+e+&quot;,&quot;+e+&quot; 0 1,1 0,-&quot;+e+&quot;A&quot;+e+&quot;,&quot;+e+&quot; 0 0,1 &quot;+e+&quot;,0Z&quot;},needLine:!0,noDot:!0},&quot;circle-x&quot;:{n:28,f:function(t){var e=n.round(t,2),r=n.round(t/Math.sqrt(2),2);return&quot;M&quot;+r+&quot;,&quot;+r+&quot;L-&quot;+r+&quot;,-&quot;+r+&quot;M&quot;+r+&quot;,-&quot;+r+&quot;L-&quot;+r+&quot;,&quot;+r+&quot;M&quot;+e+&quot;,0A&quot;+e+&quot;,&quot;+e+&quot; 0 1,1 0,-&quot;+e+&quot;A&quot;+e+&quot;,&quot;+e+&quot; 0 0,1 &quot;+e+&quot;,0Z&quot;},needLine:!0,noDot:!0},&quot;square-cross&quot;:{n:29,f:function(t){var e=n.round(t,2);return&quot;M0,&quot;+e+&quot;V-&quot;+e+&quot;M&quot;+e+&quot;,0H-&quot;+e+&quot;M&quot;+e+&quot;,&quot;+e+&quot;H-&quot;+e+&quot;V-&quot;+e+&quot;H&quot;+e+&quot;Z&quot;},needLine:!0,noDot:!0},&quot;square-x&quot;:{n:30,f:function(t){var e=n.round(t,2);return&quot;M&quot;+e+&quot;,&quot;+e+&quot;L-&quot;+e+&quot;,-&quot;+e+&quot;M&quot;+e+&quot;,-&quot;+e+&quot;L-&quot;+e+&quot;,&quot;+e+&quot;M&quot;+e+&quot;,&quot;+e+&quot;H-&quot;+e+&quot;V-&quot;+e+&quot;H&quot;+e+&quot;Z&quot;},needLine:!0,noDot:!0},&quot;diamond-cross&quot;:{n:31,f:function(t){var e=n.round(1.3*t,2);return&quot;M&quot;+e+&quot;,0L0,&quot;+e+&quot;L-&quot;+e+&quot;,0L0,-&quot;+e+&quot;ZM0,-&quot;+e+&quot;V&quot;+e+&quot;M-&quot;+e+&quot;,0H&quot;+e},needLine:!0,noDot:!0},&quot;diamond-x&quot;:{n:32,f:function(t){var e=n.round(1.3*t,2),r=n.round(.65*t,2);return&quot;M&quot;+e+&quot;,0L0,&quot;+e+&quot;L-&quot;+e+&quot;,0L0,-&quot;+e+&quot;ZM-&quot;+r+&quot;,-&quot;+r+&quot;L&quot;+r+&quot;,&quot;+r+&quot;M-&quot;+r+&quot;,&quot;+r+&quot;L&quot;+r+&quot;,-&quot;+r},needLine:!0,noDot:!0},&quot;cross-thin&quot;:{n:33,f:function(t){var e=n.round(1.4*t,2);return&quot;M0,&quot;+e+&quot;V-&quot;+e+&quot;M&quot;+e+&quot;,0H-&quot;+e},needLine:!0,noDot:!0,noFill:!0},&quot;x-thin&quot;:{n:34,f:function(t){var e=n.round(t,2);return&quot;M&quot;+e+&quot;,&quot;+e+&quot;L-&quot;+e+&quot;,-&quot;+e+&quot;M&quot;+e+&quot;,-&quot;+e+&quot;L-&quot;+e+&quot;,&quot;+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&quot;M0,&quot;+e+&quot;V-&quot;+e+&quot;M&quot;+e+&quot;,0H-&quot;+e+&quot;M&quot;+r+&quot;,&quot;+r+&quot;L-&quot;+r+&quot;,-&quot;+r+&quot;M&quot;+r+&quot;,-&quot;+r+&quot;L-&quot;+r+&quot;,&quot;+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&quot;M&quot;+e+&quot;,&quot;+r+&quot;V-&quot;+r+&quot;m-&quot;+r+&quot;,0V&quot;+r+&quot;M&quot;+r+&quot;,&quot;+e+&quot;H-&quot;+r+&quot;m0,-&quot;+r+&quot;H&quot;+r},needLine:!0,noFill:!0},&quot;y-up&quot;:{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&quot;M-&quot;+e+&quot;,&quot;+i+&quot;L0,0M&quot;+e+&quot;,&quot;+i+&quot;L0,0M0,-&quot;+r+&quot;L0,0&quot;},needLine:!0,noDot:!0,noFill:!0},&quot;y-down&quot;:{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&quot;M-&quot;+e+&quot;,-&quot;+i+&quot;L0,0M&quot;+e+&quot;,-&quot;+i+&quot;L0,0M0,&quot;+r+&quot;L0,0&quot;},needLine:!0,noDot:!0,noFill:!0},&quot;y-left&quot;:{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&quot;M&quot;+i+&quot;,&quot;+e+&quot;L0,0M&quot;+i+&quot;,-&quot;+e+&quot;L0,0M-&quot;+r+&quot;,0L0,0&quot;},needLine:!0,noDot:!0,noFill:!0},&quot;y-right&quot;:{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&quot;M-&quot;+i+&quot;,&quot;+e+&quot;L0,0M-&quot;+i+&quot;,-&quot;+e+&quot;L0,0M&quot;+r+&quot;,0L0,0&quot;},needLine:!0,noDot:!0,noFill:!0},&quot;line-ew&quot;:{n:41,f:function(t){var e=n.round(1.4*t,2);return&quot;M&quot;+e+&quot;,0H-&quot;+e},needLine:!0,noDot:!0,noFill:!0},&quot;line-ns&quot;:{n:42,f:function(t){var e=n.round(1.4*t,2);return&quot;M0,&quot;+e+&quot;V-&quot;+e},needLine:!0,noDot:!0,noFill:!0},&quot;line-ne&quot;:{n:43,f:function(t){var e=n.round(t,2);return&quot;M&quot;+e+&quot;,-&quot;+e+&quot;L-&quot;+e+&quot;,&quot;+e},needLine:!0,noDot:!0,noFill:!0},&quot;line-nw&quot;:{n:44,f:function(t){var e=n.round(t,2);return&quot;M&quot;+e+&quot;,&quot;+e+&quot;L-&quot;+e+&quot;,-&quot;+e},needLine:!0,noDot:!0,noFill:!0}}},{d3:128}],645:[function(t,e,r){&quot;use strict&quot;;e.exports={visible:{valType:&quot;boolean&quot;,editType:&quot;calc&quot;},type:{valType:&quot;enumerated&quot;,values:[&quot;percent&quot;,&quot;constant&quot;,&quot;sqrt&quot;,&quot;data&quot;],editType:&quot;calc&quot;},symmetric:{valType:&quot;boolean&quot;,editType:&quot;calc&quot;},array:{valType:&quot;data_array&quot;,editType:&quot;calc&quot;},arrayminus:{valType:&quot;data_array&quot;,editType:&quot;calc&quot;},value:{valType:&quot;number&quot;,min:0,dflt:10,editType:&quot;calc&quot;},valueminus:{valType:&quot;number&quot;,min:0,dflt:10,editType:&quot;calc&quot;},traceref:{valType:&quot;integer&quot;,min:0,dflt:0,editType:&quot;style&quot;},tracerefminus:{valType:&quot;integer&quot;,min:0,dflt:0,editType:&quot;style&quot;},copy_ystyle:{valType:&quot;boolean&quot;,editType:&quot;plot&quot;},copy_zstyle:{valType:&quot;boolean&quot;,editType:&quot;style&quot;},color:{valType:&quot;color&quot;,editType:&quot;style&quot;},thickness:{valType:&quot;number&quot;,min:0,dflt:2,editType:&quot;style&quot;},width:{valType:&quot;number&quot;,min:0,editType:&quot;plot&quot;},editType:&quot;calc&quot;,_deprecated:{opacity:{valType:&quot;number&quot;,editType:&quot;style&quot;}}}},{}],646:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,n){var a=e[&quot;error_&quot;+n]||{},l=[];if(a.visible&amp;&amp;-1!==[&quot;linear&quot;,&quot;log&quot;].indexOf(r.type)){for(var c=s(a),u=0;u&lt;t.length;u++){var f=t[u],h=f[n];if(i(r.c2l(h))){var d=c(h,u);if(i(d[0])&amp;&amp;i(d[1])){var p=f[n+&quot;s&quot;]=h-d[0],m=f[n+&quot;h&quot;]=h+d[1];l.push(p,m)}}}o.expand(r,l,{padded:!0})}}var i=t(&quot;fast-isnumeric&quot;),a=t(&quot;../../registry&quot;),o=t(&quot;../../plots/cartesian/axes&quot;),s=t(&quot;./compute_error&quot;);e.exports=function(t){for(var e=t.calcdata,r=0;r&lt;e.length;r++){var i=e[r],s=i[0].trace;if(a.traceIs(s,&quot;errorBarsOK&quot;)){var l=o.getFromId(t,s.xaxis),c=o.getFromId(t,s.yaxis);n(i,s,l,&quot;x&quot;),n(i,s,c,&quot;y&quot;)}}}},{&quot;../../plots/cartesian/axes&quot;:789,&quot;../../registry&quot;:873,&quot;./compute_error&quot;:647,&quot;fast-isnumeric&quot;:140}],647:[function(t,e,r){&quot;use strict&quot;;function n(t,e){return&quot;percent&quot;===t?function(t){return Math.abs(t*e/100)}:&quot;constant&quot;===t?function(){return Math.abs(e)}:&quot;sqrt&quot;===t?function(t){return Math.sqrt(Math.abs(t))}:void 0}e.exports=function(t){var e=t.type,r=t.symmetric;if(&quot;data&quot;===e){var i=t.array,a=t.arrayminus;return r||void 0===a?function(t,e){var r=+i[e];return[r,r]}:function(t,e){return[+a[e],+i[e]]}}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)]}}},{}],648:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;fast-isnumeric&quot;),i=t(&quot;../../registry&quot;),a=t(&quot;../../lib&quot;),o=t(&quot;./attributes&quot;);e.exports=function(t,e,r,s){function l(t,e){return a.coerce(f,u,o,t,e)}var c=&quot;error_&quot;+s.axis,u=e[c]={},f=t[c]||{};if(!1!==l(&quot;visible&quot;,void 0!==f.array||void 0!==f.value||&quot;sqrt&quot;===f.type)){var h=l(&quot;type&quot;,&quot;array&quot;in f?&quot;data&quot;:&quot;percent&quot;),d=!0;if(&quot;sqrt&quot;!==h&amp;&amp;(d=l(&quot;symmetric&quot;,!((&quot;data&quot;===h?&quot;arrayminus&quot;:&quot;valueminus&quot;)in f))),&quot;data&quot;===h){if(l(&quot;array&quot;)||(u.array=[]),l(&quot;traceref&quot;),!d){l(&quot;arrayminus&quot;)||(u.arrayminus=[]),l(&quot;tracerefminus&quot;)}}else&quot;percent&quot;!==h&amp;&amp;&quot;constant&quot;!==h||(l(&quot;value&quot;),d||l(&quot;valueminus&quot;));var p=&quot;copy_&quot;+s.inherit+&quot;style&quot;;if(s.inherit){(e[&quot;error_&quot;+s.inherit]||{}).visible&amp;&amp;l(p,!(f.color||n(f.thickness)||n(f.width)))}s.inherit&amp;&amp;u[p]||(l(&quot;color&quot;,r),l(&quot;thickness&quot;),l(&quot;width&quot;,i.traceIs(e,&quot;gl3d&quot;)?0:4))}}},{&quot;../../lib&quot;:743,&quot;../../registry&quot;:873,&quot;./attributes&quot;:645,&quot;fast-isnumeric&quot;:140}],649:[function(t,e,r){&quot;use strict&quot;;var n=e.exports={};n.attributes=t(&quot;./attributes&quot;),n.supplyDefaults=t(&quot;./defaults&quot;),n.calc=t(&quot;./calc&quot;),n.calcFromTrace=function(t,e){for(var r=t.x||[],i=t.y||[],a=r.length||i.length,o=new Array(a),s=0;s&lt;a;s++)o[s]={x:r[s],y:i[s]};return o[0].trace=t,n.calc({calcdata:[o],_fullLayout:e}),o},n.plot=t(&quot;./plot&quot;),n.style=t(&quot;./style&quot;),n.hoverInfo=function(t,e,r){(e.error_y||{}).visible&amp;&amp;(r.yerr=t.yh-t.y,e.error_y.symmetric||(r.yerrneg=t.y-t.ys)),(e.error_x||{}).visible&amp;&amp;(r.xerr=t.xh-t.x,e.error_x.symmetric||(r.xerrneg=t.x-t.xs))}},{&quot;./attributes&quot;:645,&quot;./calc&quot;:646,&quot;./defaults&quot;:648,&quot;./plot&quot;:650,&quot;./style&quot;:651}],650:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;d3&quot;),i=t(&quot;fast-isnumeric&quot;),a=t(&quot;../drawing&quot;),o=t(&quot;../../traces/scatter/subtypes&quot;);e.exports=function(t,e,r){var s,l=e.xaxis,c=e.yaxis,u=r&amp;&amp;r.duration&gt;0;t.each(function(t){var f,h=t[0].trace,d=h.error_x||{},p=h.error_y||{};h.ids&amp;&amp;(f=function(t){return t.id});var m=o.hasMarkers(h)&amp;&amp;h.marker.maxdisplayed&gt;0;p.visible||d.visible||(t=[]);var g=n.select(this).selectAll(&quot;g.errorbar&quot;).data(t,f);if(g.exit().remove(),t.length){d.visible||g.selectAll(&quot;path.xerror&quot;).remove(),p.visible||g.selectAll(&quot;path.yerror&quot;).remove(),g.style(&quot;opacity&quot;,1);var v=g.enter().append(&quot;g&quot;).classed(&quot;errorbar&quot;,!0);u&amp;&amp;v.style(&quot;opacity&quot;,0).transition().duration(r.duration).style(&quot;opacity&quot;,1),a.setClipUrl(g,e.layerClipId),g.each(function(t){var e=n.select(this),a=function(t,e,r){var n={x:e.c2p(t.x),y:r.c2p(t.y)};return void 0!==t.yh&amp;&amp;(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&amp;&amp;(n.xh=e.c2p(t.xh),n.xs=e.c2p(t.xs),i(n.xs)||(n.noXS=!0,n.xs=e.c2p(t.xs,!0))),n}(t,l,c);if(!m||t.vis){var o;if(p.visible&amp;&amp;i(a.x)&amp;&amp;i(a.yh)&amp;&amp;i(a.ys)){var f=p.width;o=&quot;M&quot;+(a.x-f)+&quot;,&quot;+a.yh+&quot;h&quot;+2*f+&quot;m-&quot;+f+&quot;,0V&quot;+a.ys,a.noYS||(o+=&quot;m-&quot;+f+&quot;,0h&quot;+2*f);var h=e.select(&quot;path.yerror&quot;);(s=!h.size())?h=e.append(&quot;path&quot;).style(&quot;vector-effect&quot;,&quot;non-scaling-stroke&quot;).classed(&quot;yerror&quot;,!0):u&amp;&amp;(h=h.transition().duration(r.duration).ease(r.easing)),h.attr(&quot;d&quot;,o)}if(d.visible&amp;&amp;i(a.y)&amp;&amp;i(a.xh)&amp;&amp;i(a.xs)){var g=(d.copy_ystyle?p:d).width;o=&quot;M&quot;+a.xh+&quot;,&quot;+(a.y-g)+&quot;v&quot;+2*g+&quot;m0,-&quot;+g+&quot;H&quot;+a.xs,a.noXS||(o+=&quot;m0,-&quot;+g+&quot;v&quot;+2*g);var v=e.select(&quot;path.xerror&quot;);(s=!v.size())?v=e.append(&quot;path&quot;).style(&quot;vector-effect&quot;,&quot;non-scaling-stroke&quot;).classed(&quot;xerror&quot;,!0):u&amp;&amp;(v=v.transition().duration(r.duration).ease(r.easing)),v.attr(&quot;d&quot;,o)}}})}})}},{&quot;../../traces/scatter/subtypes&quot;:1088,&quot;../drawing&quot;:643,d3:128,&quot;fast-isnumeric&quot;:140}],651:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;d3&quot;),i=t(&quot;../color&quot;);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(&quot;path.yerror&quot;).style(&quot;stroke-width&quot;,r.thickness+&quot;px&quot;).call(i.stroke,r.color),a.copy_ystyle&amp;&amp;(a=r),o.selectAll(&quot;path.xerror&quot;).style(&quot;stroke-width&quot;,a.thickness+&quot;px&quot;).call(i.stroke,a.color)})}},{&quot;../color&quot;:618,d3:128}],652:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../plots/font_attributes&quot;);e.exports={hoverlabel:{bgcolor:{valType:&quot;color&quot;,arrayOk:!0,editType:&quot;none&quot;},bordercolor:{valType:&quot;color&quot;,arrayOk:!0,editType:&quot;none&quot;},font:n({arrayOk:!0,editType:&quot;none&quot;}),namelength:{valType:&quot;integer&quot;,min:-1,arrayOk:!0,editType:&quot;none&quot;},editType:&quot;calc&quot;}}},{&quot;../../plots/font_attributes&quot;:816}],653:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib&quot;),i=t(&quot;../../registry&quot;);e.exports=function(t){function e(t){return function(e){return n.coerceHoverinfo({hoverinfo:e},{_module:t._module},a)}}for(var r=t.calcdata,a=t._fullLayout,o=0;o&lt;r.length;o++){var s=r[o],l=s[0].trace;if(!i.traceIs(l,&quot;pie&quot;)){var c=i.traceIs(l,&quot;2dMap&quot;)?function(t,e,r,i){i=i||n.identity,Array.isArray(t)&amp;&amp;(e[0][r]=i(t))}:n.fillArray;c(l.hoverinfo,s,&quot;hi&quot;,e(l)),l.hoverlabel&amp;&amp;(c(l.hoverlabel.bgcolor,s,&quot;hbg&quot;),c(l.hoverlabel.bordercolor,s,&quot;hbc&quot;),c(l.hoverlabel.font.size,s,&quot;hts&quot;),c(l.hoverlabel.font.color,s,&quot;htc&quot;),c(l.hoverlabel.font.family,s,&quot;htf&quot;),c(l.hoverlabel.namelength,s,&quot;hnl&quot;))}}}},{&quot;../../lib&quot;:743,&quot;../../registry&quot;:873}],654:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../registry&quot;),i=t(&quot;./hover&quot;).hover;e.exports=function(t,e,r){function a(){t.emit(&quot;plotly_click&quot;,{points:t._hoverdata,event:e})}var o=n.getComponentMethod(&quot;annotations&quot;,&quot;onClick&quot;)(t,t._hoverdata);void 0!==r&amp;&amp;i(t,e,r,!0),t._hoverdata&amp;&amp;e&amp;&amp;e.target&amp;&amp;(o&amp;&amp;o.then?o.then(a):a(),e.stopImmediatePropagation&amp;&amp;e.stopImmediatePropagation())}},{&quot;../../registry&quot;:873,&quot;./hover&quot;:658}],655:[function(t,e,r){&quot;use strict&quot;;e.exports={MAXDIST:20,YANGLE:60,HOVERARROWSIZE:6,HOVERTEXTPAD:3,HOVERFONTSIZE:13,HOVERFONT:&quot;Arial, sans-serif&quot;,HOVERMINTIME:50,HOVERID:&quot;-hover&quot;}},{}],656:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib&quot;),i=t(&quot;./attributes&quot;),a=t(&quot;./hoverlabel_defaults&quot;);e.exports=function(t,e,r,o){a(t,e,function(r,a){return n.coerce(t,e,i,r,a)},o.hoverlabel)}},{&quot;../../lib&quot;:743,&quot;./attributes&quot;:652,&quot;./hoverlabel_defaults&quot;:659}],657:[function(t,e,r){&quot;use strict&quot;;function n(t){return s[t]||t}function i(t,e){return Array.isArray(e)?Array.isArray(t)&amp;&amp;Array.isArray(t[e[0]])?t[e[0]][e[1]]:void 0:t[e]}var a=t(&quot;../../lib&quot;),o=t(&quot;./constants&quot;);r.getSubplot=function(t){return t.subplot||t.xaxis+t.yaxis||t.geo},r.flat=function(t,e){for(var r=new Array(t.length),n=0;n&lt;t.length;n++)r[n]=e;return r},r.p2c=function(t,e){for(var r=new Array(t.length),n=0;n&lt;t.length;n++)r[n]=t[n].p2c(e);return r},r.getDistanceFunction=function(t,e,n,i){return&quot;closest&quot;===t?i||r.quadrature(e,n):&quot;x&quot;===t?e:n},r.getClosest=function(t,e,r){if(!1!==r.index)r.index&gt;=0&amp;&amp;r.index&lt;t.length?r.distance=0:r.index=!1;else for(var n=0;n&lt;t.length;n++){var i=e(t[n]);i&lt;=r.distance&amp;&amp;(r.index=n,r.distance=i)}return r},r.inbox=function(t,e){return t*e&lt;0||0===t?o.MAXDIST*(.6-.3/Math.max(3,Math.abs(t-e))):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=&quot;index&quot;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):(&quot;xVal&quot;in t?a.x=t.xVal:&quot;x&quot;in t&amp;&amp;(a.x=t.x),&quot;yVal&quot;in t?a.y=t.yVal:&quot;y&quot;in t&amp;&amp;(a.y=t.y),t.xa&amp;&amp;(a.xaxis=t.xa),t.ya&amp;&amp;(a.yaxis=t.ya),void 0!==t.zLabelVal&amp;&amp;(a.z=t.zLabelVal)),r.appendArrayPointValue(a,e,i),a},r.appendArrayPointValue=function(t,e,r){var o=e._arrayAttrs;if(o)for(var s=0;s&lt;o.length;s++){var l=o[s],c=n(l);if(void 0===t[c]){var u=i(a.nestedProperty(e,l).get(),r);void 0!==u&amp;&amp;(t[c]=u)}}},r.appendArrayMultiPointValues=function(t,e,r){var o=e._arrayAttrs;if(o)for(var s=0;s&lt;o.length;s++){var l=o[s],c=n(l);if(void 0===t[c]){for(var u=a.nestedProperty(e,l).get(),f=new Array(r.length),h=0;h&lt;r.length;h++)f[h]=i(u,r[h]);t[c]=f}}};var s={ids:&quot;id&quot;,locations:&quot;location&quot;,labels:&quot;label&quot;,values:&quot;value&quot;,&quot;marker.colors&quot;:&quot;color&quot;}},{&quot;../../lib&quot;:743,&quot;./constants&quot;:655}],658:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,n){function u(t,e){if(!t.length)return null;var r=t.map(function(t,e){var r=t.xa,n=t.ya,i=r.c2p(q),a=n.c2p(H);return{distance:function(t){var e=t.kink,r=(t.x1+t.x0)/2-i,n=(t.y1+t.y0)/2-a;return Math.max(Math.sqrt(r*r+n*n)-e,1-3/e)}(t),index:e}});return r=r.filter(function(t){return t.distance&lt;=e}).sort(function(t,e){return t.distance-e.distance}),r.length?t[r[0].index]:null}function d(t){return t?{xa:t.xa,ya:t.ya,x0:t.x0,x1:t.x1,y0:t.y0,y1:t.y1,distance:t.distance,curveNumber:t.trace.index,color:t.color,pointNumber:t.index}:null}r||(r=&quot;xy&quot;);var m=Array.isArray(r)?r:[r],_=t._fullLayout,w=_._plots||[],M=w[r];if(M){var A=M.overlays.map(function(t){return t.id});m=m.concat(A)}for(var T=m.length,S=new Array(T),E=new Array(T),L=0;L&lt;T;L++){var C=m[L],z=w[C];if(z)S[L]=y.getFromId(t,z.xaxis._id),E[L]=y.getFromId(t,z.yaxis._id);else{var D=_[C]._subplot;S[L]=D.xaxis,E[L]=D.yaxis}}var I=e.hovermode||_.hovermode;if(-1===[&quot;x&quot;,&quot;y&quot;,&quot;closest&quot;].indexOf(I)||!t.calcdata||t.querySelector(&quot;.zoombox&quot;)||t._dragging)return v.unhoverRaw(t,e);var P,O,F,R,N,j,B,U,V,q,H,G,Y,W=-1===_.hoverdistance?1/0:_.hoverdistance,X=-1===_.spikedistance?1/0:_.spikedistance,Z=[],J=[],K={hLinePoint:null,vLinePoint:null};if(Array.isArray(e))for(I=&quot;array&quot;,F=0;F&lt;e.length;F++)&quot;skip&quot;!==(N=t.calcdata[e[F].curveNumber||0])[0].trace.hoverinfo&amp;&amp;J.push(N);else{for(R=0;R&lt;t.calcdata.length;R++)&quot;skip&quot;!==(j=(N=t.calcdata[R])[0].trace).hoverinfo&amp;&amp;-1!==m.indexOf(b.getSubplot(j))&amp;&amp;J.push(N);var Q,$;if(!e.target)Q=&quot;xpx&quot;in e?e.xpx:S[0]._length/2,e.pointerX=Q+S[0]._offset,$=&quot;ypx&quot;in e?e.ypx:E[0]._length/2,e.pointerY=$+E[0]._offset;else{if(!1===h.triggerHandler(t,&quot;plotly_beforehover&quot;,e))return;var tt=e.target.getBoundingClientRect();if(Q=e.clientX-tt.left,$=e.clientY-tt.top,Q&lt;0||Q&gt;tt.width||$&lt;0||$&gt;tt.height)return v.unhoverRaw(t,e);e.pointerX=e.offsetX,e.pointerY=e.offsetY}if(P=&quot;xval&quot;in e?b.flat(m,e.xval):b.p2c(S,Q),O=&quot;yval&quot;in e?b.flat(m,e.yval):b.p2c(E,$),!c(P[0])||!c(O[0]))return f.warn(&quot;Fx.hover failed&quot;,e,t),v.unhoverRaw(t,e)}var et=1/0;for(R=0;R&lt;J.length;R++)if((N=J[R])&amp;&amp;N[0]&amp;&amp;N[0].trace&amp;&amp;!0===N[0].trace.visible&amp;&amp;(j=N[0].trace,-1===[&quot;carpet&quot;,&quot;contourcarpet&quot;].indexOf(j._module.name))){if(B=b.getSubplot(j),U=m.indexOf(B),V=I,G={cd:N,trace:j,xa:S[U],ya:E[U],index:!1,distance:Math.min(et,W),color:g.defaultLine,name:j.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},_[B]&amp;&amp;(G.subplot=_[B]._subplot),Y=Z.length,&quot;array&quot;===V){var rt=e[R];&quot;pointNumber&quot;in rt?(G.index=rt.pointNumber,V=&quot;closest&quot;):(V=&quot;&quot;,&quot;xval&quot;in rt&amp;&amp;(q=rt.xval,V=&quot;x&quot;),&quot;yval&quot;in rt&amp;&amp;(H=rt.yval,V=V?&quot;closest&quot;:&quot;y&quot;))}else q=P[U],H=O[U];if(0!==W)if(j._module&amp;&amp;j._module.hoverPoints){var nt=j._module.hoverPoints(G,q,H,V,_._hoverlayer);if(nt)for(var it,at=0;at&lt;nt.length;at++)it=nt[at],c(it.x0)&amp;&amp;c(it.y0)&amp;&amp;Z.push(function(t,e){function r(e,r,n){var i=s(r,n);i&amp;&amp;(t[e]=i)}var n=t.index,i=t.trace||{},a=t.cd[0],o=t.cd[n]||{},s=Array.isArray(n)?function(t,e){return f.castOption(a,n,t)||f.extractOption({},i,&quot;&quot;,e)}:function(t,e){return f.extractOption(o,i,t,e)};r(&quot;hoverinfo&quot;,&quot;hi&quot;,&quot;hoverinfo&quot;),r(&quot;color&quot;,&quot;hbg&quot;,&quot;hoverlabel.bgcolor&quot;),r(&quot;borderColor&quot;,&quot;hbc&quot;,&quot;hoverlabel.bordercolor&quot;),r(&quot;fontFamily&quot;,&quot;htf&quot;,&quot;hoverlabel.font.family&quot;),r(&quot;fontSize&quot;,&quot;hts&quot;,&quot;hoverlabel.font.size&quot;),r(&quot;fontColor&quot;,&quot;htc&quot;,&quot;hoverlabel.font.color&quot;),r(&quot;nameLength&quot;,&quot;hnl&quot;,&quot;hoverlabel.namelength&quot;),t.posref=&quot;y&quot;===e?(t.x0+t.x1)/2:(t.y0+t.y1)/2,t.x0=f.constrain(t.x0,0,t.xa._length),t.x1=f.constrain(t.x1,0,t.xa._length),t.y0=f.constrain(t.y0,0,t.ya._length),t.y1=f.constrain(t.y1,0,t.ya._length),void 0!==t.xLabelVal&amp;&amp;(t.xLabel=&quot;xLabel&quot;in t?t.xLabel:y.hoverLabelText(t.xa,t.xLabelVal),t.xVal=t.xa.c2d(t.xLabelVal));void 0!==t.yLabelVal&amp;&amp;(t.yLabel=&quot;yLabel&quot;in t?t.yLabel:y.hoverLabelText(t.ya,t.yLabelVal),t.yVal=t.ya.c2d(t.yLabelVal));void 0!==t.zLabelVal&amp;&amp;void 0===t.zLabel&amp;&amp;(t.zLabel=String(t.zLabelVal));if(!(isNaN(t.xerr)||&quot;log&quot;===t.xa.type&amp;&amp;t.xerr&lt;=0)){var l=y.tickText(t.xa,t.xa.c2l(t.xerr),&quot;hover&quot;).text;void 0!==t.xerrneg?t.xLabel+=&quot; +&quot;+l+&quot; / -&quot;+y.tickText(t.xa,t.xa.c2l(t.xerrneg),&quot;hover&quot;).text:t.xLabel+=&quot; \xb1 &quot;+l,&quot;x&quot;===e&amp;&amp;(t.distance+=1)}if(!(isNaN(t.yerr)||&quot;log&quot;===t.ya.type&amp;&amp;t.yerr&lt;=0)){var c=y.tickText(t.ya,t.ya.c2l(t.yerr),&quot;hover&quot;).text;void 0!==t.yerrneg?t.yLabel+=&quot; +&quot;+c+&quot; / -&quot;+y.tickText(t.ya,t.ya.c2l(t.yerrneg),&quot;hover&quot;).text:t.yLabel+=&quot; \xb1 &quot;+c,&quot;y&quot;===e&amp;&amp;(t.distance+=1)}var u=t.hoverinfo||t.trace.hoverinfo;&quot;all&quot;!==u&amp;&amp;(-1===(u=Array.isArray(u)?u:u.split(&quot;+&quot;)).indexOf(&quot;x&quot;)&amp;&amp;(t.xLabel=void 0),-1===u.indexOf(&quot;y&quot;)&amp;&amp;(t.yLabel=void 0),-1===u.indexOf(&quot;z&quot;)&amp;&amp;(t.zLabel=void 0),-1===u.indexOf(&quot;text&quot;)&amp;&amp;(t.text=void 0),-1===u.indexOf(&quot;name&quot;)&amp;&amp;(t.name=void 0));return t}(it,I))}else f.log(&quot;Unrecognized trace type in hover:&quot;,j);if(&quot;closest&quot;===I&amp;&amp;Z.length&gt;Y&amp;&amp;(Z.splice(0,Y),et=Z[0].distance),_._has(&quot;cartesian&quot;)&amp;&amp;0!==X&amp;&amp;0===Z.length){G.distance=X,G.index=!1;var ot=j._module.hoverPoints(G,q,H,&quot;closest&quot;,_._hoverlayer);if(ot){var st,lt=ot.filter(function(t){return t.xa.showspikes});if(lt.length){var ct=lt[0];c(ct.x0)&amp;&amp;c(ct.y0)&amp;&amp;(st=d(ct),(!K.vLinePoint||K.vLinePoint.distance&gt;st.distance)&amp;&amp;(K.vLinePoint=st))}var ut=ot.filter(function(t){return t.ya.showspikes});if(ut.length){var ft=ut[0];c(ft.x0)&amp;&amp;c(ft.y0)&amp;&amp;(st=d(ft),(!K.hLinePoint||K.hLinePoint.distance&gt;st.distance)&amp;&amp;(K.hLinePoint=st))}}}}var ht={fullLayout:_,container:_._hoverlayer,outerContainer:_._paperdiv,event:e},dt=t._spikepoints,pt={vLinePoint:K.vLinePoint,hLinePoint:K.hLinePoint};if(t._spikepoints=pt,_._has(&quot;cartesian&quot;)&amp;&amp;0!==X&amp;&amp;0!==Z.length){var mt=u(Z.filter(function(t){return t.ya.showspikes}),X);K.hLinePoint=d(mt);var gt=u(Z.filter(function(t){return t.xa.showspikes}),X);K.vLinePoint=d(gt)}if(0===Z.length){var vt=v.unhoverRaw(t,e);return!_._has(&quot;cartesian&quot;)||null===K.hLinePoint&amp;&amp;null===K.vLinePoint||s(dt)&amp;&amp;o(K,ht),vt}_._has(&quot;cartesian&quot;)&amp;&amp;s(dt)&amp;&amp;o(K,ht),Z.sort(function(t,e){return t.distance-e.distance});var yt=t._hoverdata,xt=[];for(F=0;F&lt;Z.length;F++){var bt=Z[F];xt.push(b.makeEventData(bt,bt.trace,bt.cd))}t._hoverdata=xt;var _t=&quot;y&quot;===I&amp;&amp;J.length&gt;1,wt=i(Z,{hovermode:I,rotateLabels:_t,bgColor:g.combine(_.plot_bgcolor||g.background,_.paper_bgcolor),container:_._hoverlayer,outerContainer:_._paperdiv,commonLabelOpts:_.hoverlabel,hoverdistance:_.hoverdistance},t);if(function(t,e,r){function n(t){var e=t[0],r=t[t.length-1];if(a=e.pmin-e.pos-e.dp+e.size,o=r.pos+r.dp+r.size-e.pmax,a&gt;.01){for(l=t.length-1;l&gt;=0;l--)t[l].dp+=a;i=!1}if(!(o&lt;.01)){if(a&lt;-.01){for(l=t.length-1;l&gt;=0;l--)t[l].dp-=o;i=!1}if(i){var n=0;for(s=0;s&lt;t.length;s++)(c=t[s]).pos+c.dp+c.size&gt;e.pmax&amp;&amp;n++;for(s=t.length-1;s&gt;=0&amp;&amp;!(n&lt;=0);s--)(c=t[s]).pos&gt;e.pmax-1&amp;&amp;(c.del=!0,n--);for(s=0;s&lt;t.length&amp;&amp;!(n&lt;=0);s++)if((c=t[s]).pos&lt;e.pmin+1)for(c.del=!0,n--,o=2*c.size,l=t.length-1;l&gt;=0;l--)t[l].dp-=o;for(s=t.length-1;s&gt;=0&amp;&amp;!(n&lt;=0);s--)(c=t[s]).pos+c.dp+c.size&gt;e.pmax&amp;&amp;(c.del=!0,n--)}}}var i,a,o,s,l,c,u,f=0,h=t.map(function(t,n){var i=t[e];return[{i:n,dp:0,pos:t.pos,posref:t.posref,size:t.by*(&quot;x&quot;===i._id.charAt(0)?k:1)/2,pmin:0,pmax:&quot;x&quot;===i._id.charAt(0)?r.width:r.height}]}).sort(function(t,e){return t[0].posref-e[0].posref});for(;!i&amp;&amp;f&lt;=t.length;){for(f++,i=!0,s=0;s&lt;h.length-1;){var d=h[s],p=h[s+1],m=d[d.length-1],g=p[0];if((a=m.pos+m.dp+m.size-g.pos-g.dp+g.size)&gt;.01&amp;&amp;m.pmin===g.pmin&amp;&amp;m.pmax===g.pmax){for(l=p.length-1;l&gt;=0;l--)p[l].dp+=a;for(d.push.apply(d,p),h.splice(s+1,1),u=0,l=d.length-1;l&gt;=0;l--)u+=d[l].dp;for(o=u/d.length,l=d.length-1;l&gt;=0;l--)d[l].dp-=o;i=!1}else s++}h.forEach(n)}for(s=h.length-1;s&gt;=0;s--){var v=h[s];for(l=v.length-1;l&gt;=0;l--){var y=v[l],x=t[y.i];x.offset=y.dp,x.del=y.del}}}(Z,_t?&quot;xa&quot;:&quot;ya&quot;,_),a(wt,_t),e.target&amp;&amp;e.target.tagName){var Mt=x.getComponentMethod(&quot;annotations&quot;,&quot;hasClickToShow&quot;)(t,xt);p(l.select(e.target),Mt?&quot;pointer&quot;:&quot;&quot;)}e.target&amp;&amp;!n&amp;&amp;function(t,e,r){if(!r||r.length!==t._hoverdata.length)return!0;for(var n=r.length-1;n&gt;=0;n--){var i=r[n],a=t._hoverdata[n];if(i.curveNumber!==a.curveNumber||String(i.pointNumber)!==String(a.pointNumber))return!0}return!1}(t,0,yt)&amp;&amp;(yt&amp;&amp;t.emit(&quot;plotly_unhover&quot;,{event:e,points:yt}),t.emit(&quot;plotly_hover&quot;,{event:e,points:t._hoverdata,xaxes:S,yaxes:E,xvals:P,yvals:O}))}function i(t,e,r){var n,i,a=e.hovermode,o=e.rotateLabels,s=e.bgColor,c=e.container,u=e.outerContainer,f=e.commonLabelOpts||{},h=e.fontFamily||_.HOVERFONT,p=e.fontSize||_.HOVERFONTSIZE,v=t[0],y=v.xa,x=v.ya,b=&quot;y&quot;===a?&quot;yLabel&quot;:&quot;xLabel&quot;,M=v[b],k=(String(M)||&quot;&quot;).split(&quot; &quot;)[0],A=u.node().getBoundingClientRect(),T=A.top,L=A.width,C=A.height,z=v.distance&lt;=e.hoverdistance&amp;&amp;(&quot;x&quot;===a||&quot;y&quot;===a);for(n=0;n&lt;t.length;n++){i=t[n].hoverinfo||t[n].trace.hoverinfo;var D=Array.isArray(i)?i:i.split(&quot;+&quot;);if(-1===D.indexOf(&quot;all&quot;)&amp;&amp;-1===D.indexOf(a)){z=!1;break}}var I=c.selectAll(&quot;g.axistext&quot;).data(z?[0]:[]);I.enter().append(&quot;g&quot;).classed(&quot;axistext&quot;,!0),I.exit().remove(),I.each(function(){var e=l.select(this),n=e.selectAll(&quot;path&quot;).data([0]),i=e.selectAll(&quot;text&quot;).data([0]);n.enter().append(&quot;path&quot;).style({&quot;stroke-width&quot;:&quot;1px&quot;}),n.style({fill:f.bgcolor||g.defaultLine,stroke:f.bordercolor||g.background}),i.enter().append(&quot;text&quot;).attr(&quot;data-notex&quot;,1),i.text(M).call(m.font,f.font.family||h,f.font.size||p,f.font.color||g.background).call(d.positionText,0,0).call(d.convertToTspans,r),e.attr(&quot;transform&quot;,&quot;&quot;);var o=i.node().getBoundingClientRect();if(&quot;x&quot;===a){i.attr(&quot;text-anchor&quot;,&quot;middle&quot;).call(d.positionText,0,&quot;top&quot;===y.side?T-o.bottom-S-E:T-o.top+S+E);var s=&quot;top&quot;===y.side?&quot;-&quot;:&quot;&quot;;n.attr(&quot;d&quot;,&quot;M0,0L&quot;+S+&quot;,&quot;+s+S+&quot;H&quot;+(E+o.width/2)+&quot;v&quot;+s+(2*E+o.height)+&quot;H-&quot;+(E+o.width/2)+&quot;V&quot;+s+S+&quot;H-&quot;+S+&quot;Z&quot;),e.attr(&quot;transform&quot;,&quot;translate(&quot;+(y._offset+(v.x0+v.x1)/2)+&quot;,&quot;+(x._offset+(&quot;top&quot;===y.side?0:x._length))+&quot;)&quot;)}else{i.attr(&quot;text-anchor&quot;,&quot;right&quot;===x.side?&quot;start&quot;:&quot;end&quot;).call(d.positionText,(&quot;right&quot;===x.side?1:-1)*(E+S),T-o.top-o.height/2);var c=&quot;right&quot;===x.side?&quot;&quot;:&quot;-&quot;;n.attr(&quot;d&quot;,&quot;M0,0L&quot;+c+S+&quot;,&quot;+S+&quot;V&quot;+(E+o.height/2)+&quot;h&quot;+c+(2*E+o.width)+&quot;V-&quot;+(E+o.height/2)+&quot;H&quot;+c+S+&quot;V-&quot;+S+&quot;Z&quot;),e.attr(&quot;transform&quot;,&quot;translate(&quot;+(y._offset+(&quot;right&quot;===x.side?y._length:0))+&quot;,&quot;+(x._offset+(v.y0+v.y1)/2)+&quot;)&quot;)}t=t.filter(function(t){return void 0!==t.zLabelVal||(t[b]||&quot;&quot;).split(&quot; &quot;)[0]===k})});var P=c.selectAll(&quot;g.hovertext&quot;).data(t,function(t){return[t.trace.index,t.index,t.x0,t.y0,t.name,t.attr,t.xa,t.ya||&quot;&quot;].join(&quot;,&quot;)});return P.enter().append(&quot;g&quot;).classed(&quot;hovertext&quot;,!0).each(function(){var t=l.select(this);t.append(&quot;rect&quot;).call(g.fill,g.addOpacity(s,.8)),t.append(&quot;text&quot;).classed(&quot;name&quot;,!0),t.append(&quot;path&quot;).style(&quot;stroke-width&quot;,&quot;1px&quot;),t.append(&quot;text&quot;).classed(&quot;nums&quot;,!0).call(m.font,h,p)}),P.exit().remove(),P.each(function(t){var e=l.select(this).attr(&quot;transform&quot;,&quot;&quot;),n=&quot;&quot;,i=&quot;&quot;,c=g.opacity(t.color)?t.color:g.defaultLine,u=g.combine(c,s),f=t.borderColor||g.contrast(u);if(void 0!==t.nameOverride&amp;&amp;(t.name=t.nameOverride),t.name){n=d.plainText(t.name||&quot;&quot;);var v=Math.round(t.nameLength);v&gt;-1&amp;&amp;n.length&gt;v&amp;&amp;(n=v&gt;3?n.substr(0,v-3)+&quot;...&quot;:n.substr(0,v))}void 0!==t.extraText&amp;&amp;(i+=t.extraText),void 0!==t.zLabel?(void 0!==t.xLabel&amp;&amp;(i+=&quot;x: &quot;+t.xLabel+&quot;&lt;br&gt;&quot;),void 0!==t.yLabel&amp;&amp;(i+=&quot;y: &quot;+t.yLabel+&quot;&lt;br&gt;&quot;),i+=(i?&quot;z: &quot;:&quot;&quot;)+t.zLabel):z&amp;&amp;t[a+&quot;Label&quot;]===M?i=t[(&quot;x&quot;===a?&quot;y&quot;:&quot;x&quot;)+&quot;Label&quot;]||&quot;&quot;:void 0===t.xLabel?void 0!==t.yLabel&amp;&amp;(i=t.yLabel):i=void 0===t.yLabel?t.xLabel:&quot;(&quot;+t.xLabel+&quot;, &quot;+t.yLabel+&quot;)&quot;,t.text&amp;&amp;!Array.isArray(t.text)&amp;&amp;(i+=(i?&quot;&lt;br&gt;&quot;:&quot;&quot;)+t.text),&quot;&quot;===i&amp;&amp;(&quot;&quot;===n&amp;&amp;e.remove(),i=n);var y=e.select(&quot;text.nums&quot;).call(m.font,t.fontFamily||h,t.fontSize||p,t.fontColor||f).text(i).attr(&quot;data-notex&quot;,1).call(d.positionText,0,0).call(d.convertToTspans,r),x=e.select(&quot;text.name&quot;),b=0;n&amp;&amp;n!==i?(x.call(m.font,t.fontFamily||h,t.fontSize||p,u).text(n).attr(&quot;data-notex&quot;,1).call(d.positionText,0,0).call(d.convertToTspans,r),b=x.node().getBoundingClientRect().width+2*E):(x.remove(),e.select(&quot;rect&quot;).remove()),e.select(&quot;path&quot;).style({fill:u,stroke:f});var _,k,A=y.node().getBoundingClientRect(),D=t.xa._offset+(t.x0+t.x1)/2,I=t.ya._offset+(t.y0+t.y1)/2,P=Math.abs(t.x1-t.x0),O=Math.abs(t.y1-t.y0),F=A.width+S+E+b;t.ty0=T-A.top,t.bx=A.width+2*E,t.by=A.height+2*E,t.anchor=&quot;start&quot;,t.txwidth=A.width,t.tx2width=b,t.offset=0,o?(t.pos=D,_=I+O/2+F&lt;=C,k=I-O/2-F&gt;=0,&quot;top&quot;!==t.idealAlign&amp;&amp;_||!k?_?(I+=O/2,t.anchor=&quot;start&quot;):t.anchor=&quot;middle&quot;:(I-=O/2,t.anchor=&quot;end&quot;)):(t.pos=I,_=D+P/2+F&lt;=L,k=D-P/2-F&gt;=0,&quot;left&quot;!==t.idealAlign&amp;&amp;_||!k?_?(D+=P/2,t.anchor=&quot;start&quot;):t.anchor=&quot;middle&quot;:(D-=P/2,t.anchor=&quot;end&quot;)),y.attr(&quot;text-anchor&quot;,t.anchor),b&amp;&amp;x.attr(&quot;text-anchor&quot;,t.anchor),e.attr(&quot;transform&quot;,&quot;translate(&quot;+D+&quot;,&quot;+I+&quot;)&quot;+(o?&quot;rotate(&quot;+w+&quot;)&quot;:&quot;&quot;))}),P}function a(t,e){t.each(function(t){var r=l.select(this);if(t.del)r.remove();else{var n=&quot;end&quot;===t.anchor?-1:1,i=r.select(&quot;text.nums&quot;),a={start:1,end:-1,middle:0}[t.anchor],o=a*(S+E),s=o+a*(t.txwidth+E),c=0,u=t.offset;&quot;middle&quot;===t.anchor&amp;&amp;(o-=t.tx2width/2,s-=t.tx2width/2),e&amp;&amp;(u*=-T,c=t.offset*A),r.select(&quot;path&quot;).attr(&quot;d&quot;,&quot;middle&quot;===t.anchor?&quot;M-&quot;+t.bx/2+&quot;,-&quot;+t.by/2+&quot;h&quot;+t.bx+&quot;v&quot;+t.by+&quot;h-&quot;+t.bx+&quot;Z&quot;:&quot;M0,0L&quot;+(n*S+c)+&quot;,&quot;+(S+u)+&quot;v&quot;+(t.by/2-S)+&quot;h&quot;+n*t.bx+&quot;v-&quot;+t.by+&quot;H&quot;+(n*S+c)+&quot;V&quot;+(u-S)+&quot;Z&quot;),i.call(d.positionText,o+c,u+t.ty0-t.by/2+E),t.tx2width&amp;&amp;(r.select(&quot;text.name&quot;).call(d.positionText,s+a*E+c,u+t.ty0-t.by/2+E),r.select(&quot;rect&quot;).call(m.setRect,s+(a-1)*t.tx2width/2+c,u-t.by/2-1,t.tx2width,t.by+2))}})}function o(t,e){var r,n,i=e.container,a=e.fullLayout,o=e.event,s=!!t.hLinePoint,l=!!t.vLinePoint;if(i.selectAll(&quot;.spikeline&quot;).remove(),l||s){var c=g.combine(a.plot_bgcolor,a.paper_bgcolor);if(s){var f,h,d=t.hLinePoint;r=d&amp;&amp;d.xa;&quot;cursor&quot;===(n=d&amp;&amp;d.ya).spikesnap?(f=o.pointerX,h=o.pointerY):(f=r._offset+(d.x0+d.x1)/2,h=n._offset+(d.y0+d.y1)/2);var p,v,y=u.readability(d.color,c)&lt;1.5?g.contrast(c):d.color,x=n.spikemode,b=n.spikethickness,_=n.spikecolor||y,w=n._boundingBox,M=(w.left+w.right)/2&lt;f?w.right:w.left;-1===x.indexOf(&quot;toaxis&quot;)&amp;&amp;-1===x.indexOf(&quot;across&quot;)||(-1!==x.indexOf(&quot;toaxis&quot;)&amp;&amp;(p=M,v=f),-1!==x.indexOf(&quot;across&quot;)&amp;&amp;(p=n._counterSpan[0],v=n._counterSpan[1]),i.insert(&quot;line&quot;,&quot;:first-child&quot;).attr({x1:p,x2:v,y1:h,y2:h,&quot;stroke-width&quot;:b,stroke:_,&quot;stroke-dasharray&quot;:m.dashStyle(n.spikedash,b)}).classed(&quot;spikeline&quot;,!0).classed(&quot;crisp&quot;,!0),i.insert(&quot;line&quot;,&quot;:first-child&quot;).attr({x1:p,x2:v,y1:h,y2:h,&quot;stroke-width&quot;:b+2,stroke:c}).classed(&quot;spikeline&quot;,!0).classed(&quot;crisp&quot;,!0)),-1!==x.indexOf(&quot;marker&quot;)&amp;&amp;i.insert(&quot;circle&quot;,&quot;:first-child&quot;).attr({cx:M+(&quot;right&quot;!==n.side?b:-b),cy:h,r:b,fill:_}).classed(&quot;spikeline&quot;,!0)}if(l){var k,A,T=t.vLinePoint;r=T&amp;&amp;T.xa,n=T&amp;&amp;T.ya;&quot;cursor&quot;===r.spikesnap?(k=o.pointerX,A=o.pointerY):(k=r._offset+(T.x0+T.x1)/2,A=n._offset+(T.y0+T.y1)/2);var S,E,L=u.readability(T.color,c)&lt;1.5?g.contrast(c):T.color,C=r.spikemode,z=r.spikethickness,D=r.spikecolor||L,I=r._boundingBox,P=(I.top+I.bottom)/2&lt;A?I.bottom:I.top;-1===C.indexOf(&quot;toaxis&quot;)&amp;&amp;-1===C.indexOf(&quot;across&quot;)||(-1!==C.indexOf(&quot;toaxis&quot;)&amp;&amp;(S=P,E=A),-1!==C.indexOf(&quot;across&quot;)&amp;&amp;(S=r._counterSpan[0],E=r._counterSpan[1]),i.insert(&quot;line&quot;,&quot;:first-child&quot;).attr({x1:k,x2:k,y1:S,y2:E,&quot;stroke-width&quot;:z,stroke:D,&quot;stroke-dasharray&quot;:m.dashStyle(r.spikedash,z)}).classed(&quot;spikeline&quot;,!0).classed(&quot;crisp&quot;,!0),i.insert(&quot;line&quot;,&quot;:first-child&quot;).attr({x1:k,x2:k,y1:S,y2:E,&quot;stroke-width&quot;:z+2,stroke:c}).classed(&quot;spikeline&quot;,!0).classed(&quot;crisp&quot;,!0)),-1!==C.indexOf(&quot;marker&quot;)&amp;&amp;i.insert(&quot;circle&quot;,&quot;:first-child&quot;).attr({cx:k,cy:P-(&quot;top&quot;!==r.side?z:-z),r:z,fill:D}).classed(&quot;spikeline&quot;,!0)}}}function s(t,e){return!e||(e.vLinePoint!==t._spikepoints.vLinePoint||e.hLinePoint!==t._spikepoints.hLinePoint)}var l=t(&quot;d3&quot;),c=t(&quot;fast-isnumeric&quot;),u=t(&quot;tinycolor2&quot;),f=t(&quot;../../lib&quot;),h=t(&quot;../../lib/events&quot;),d=t(&quot;../../lib/svg_text_utils&quot;),p=t(&quot;../../lib/override_cursor&quot;),m=t(&quot;../drawing&quot;),g=t(&quot;../color&quot;),v=t(&quot;../dragelement&quot;),y=t(&quot;../../plots/cartesian/axes&quot;),x=t(&quot;../../registry&quot;),b=t(&quot;./helpers&quot;),_=t(&quot;./constants&quot;),w=_.YANGLE,M=Math.PI*w/180,k=1/Math.sin(M),A=Math.cos(M),T=Math.sin(M),S=_.HOVERARROWSIZE,E=_.HOVERTEXTPAD;r.hover=function(t,e,r,i){t=f.getGraphDiv(t),f.throttle(t._fullLayout._uid+_.HOVERID,_.HOVERMINTIME,function(){n(t,e,r,i)})},r.loneHover=function(t,e){var r={color:t.color||g.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,trace:{index:0,hoverinfo:&quot;&quot;},xa:{_offset:0},ya:{_offset:0},index:0},n=l.select(e.container),o=e.outerContainer?l.select(e.outerContainer):n,s={hovermode:&quot;closest&quot;,rotateLabels:!1,bgColor:e.bgColor||g.background,container:n,outerContainer:o,hoverdistance:_.MAXDIST},c=i([r],s,e.gd);return a(c,s.rotateLabels),c.node()}},{&quot;../../lib&quot;:743,&quot;../../lib/events&quot;:731,&quot;../../lib/override_cursor&quot;:754,&quot;../../lib/svg_text_utils&quot;:766,&quot;../../plots/cartesian/axes&quot;:789,&quot;../../registry&quot;:873,&quot;../color&quot;:618,&quot;../dragelement&quot;:640,&quot;../drawing&quot;:643,&quot;./constants&quot;:655,&quot;./helpers&quot;:657,d3:128,&quot;fast-isnumeric&quot;:140,tinycolor2:546}],659:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib&quot;);e.exports=function(t,e,r,i){r(&quot;hoverlabel.bgcolor&quot;,(i=i||{}).bgcolor),r(&quot;hoverlabel.bordercolor&quot;,i.bordercolor),r(&quot;hoverlabel.namelength&quot;,i.namelength),n.coerceFont(r,&quot;hoverlabel.font&quot;,i.font)}},{&quot;../../lib&quot;:743}],660:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;d3&quot;),i=t(&quot;../../lib&quot;),a=t(&quot;../dragelement&quot;),o=t(&quot;./helpers&quot;),s=t(&quot;./layout_attributes&quot;);e.exports={moduleType:&quot;component&quot;,name:&quot;fx&quot;,constants:t(&quot;./constants&quot;),schema:{layout:s},attributes:t(&quot;./attributes&quot;),layoutAttributes:s,supplyLayoutGlobalDefaults:t(&quot;./layout_global_defaults&quot;),supplyDefaults:t(&quot;./defaults&quot;),supplyLayoutDefaults:t(&quot;./layout_defaults&quot;),calc:t(&quot;./calc&quot;),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,&quot;hoverlabel.&quot;+r)},castHoverinfo:function(t,e,r){return i.castOption(t,r,&quot;hoverinfo&quot;,function(r){return i.coerceHoverinfo({hoverinfo:r},{_module:t._module},e)})},hover:t(&quot;./hover&quot;).hover,unhover:a.unhover,loneHover:t(&quot;./hover&quot;).loneHover,loneUnhover:function(t){var e=i.isD3Selection(t)?t:n.select(t);e.selectAll(&quot;g.hovertext&quot;).remove(),e.selectAll(&quot;.spikeline&quot;).remove()},click:t(&quot;./click&quot;)}},{&quot;../../lib&quot;:743,&quot;../dragelement&quot;:640,&quot;./attributes&quot;:652,&quot;./calc&quot;:653,&quot;./click&quot;:654,&quot;./constants&quot;:655,&quot;./defaults&quot;:656,&quot;./helpers&quot;:657,&quot;./hover&quot;:658,&quot;./layout_attributes&quot;:661,&quot;./layout_defaults&quot;:662,&quot;./layout_global_defaults&quot;:663,d3:128}],661:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;./constants&quot;),i=t(&quot;../../plots/font_attributes&quot;)({editType:&quot;none&quot;});i.family.dflt=n.HOVERFONT,i.size.dflt=n.HOVERFONTSIZE,e.exports={dragmode:{valType:&quot;enumerated&quot;,values:[&quot;zoom&quot;,&quot;pan&quot;,&quot;select&quot;,&quot;lasso&quot;,&quot;orbit&quot;,&quot;turntable&quot;],dflt:&quot;zoom&quot;,editType:&quot;modebar&quot;},hovermode:{valType:&quot;enumerated&quot;,values:[&quot;x&quot;,&quot;y&quot;,&quot;closest&quot;,!1],editType:&quot;modebar&quot;},hoverdistance:{valType:&quot;integer&quot;,min:-1,dflt:20,editType:&quot;none&quot;},spikedistance:{valType:&quot;integer&quot;,min:-1,dflt:20,editType:&quot;none&quot;},hoverlabel:{bgcolor:{valType:&quot;color&quot;,editType:&quot;none&quot;},bordercolor:{valType:&quot;color&quot;,editType:&quot;none&quot;},font:i,namelength:{valType:&quot;integer&quot;,min:-1,dflt:15,editType:&quot;none&quot;},editType:&quot;none&quot;}}},{&quot;../../plots/font_attributes&quot;:816,&quot;./constants&quot;:655}],662:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib&quot;),i=t(&quot;./layout_attributes&quot;);e.exports=function(t,e,r){function a(r,a){return n.coerce(t,e,i,r,a)}a(&quot;dragmode&quot;);var o;e._has(&quot;cartesian&quot;)?(e._isHoriz=function(t){for(var e=!0,r=0;r&lt;t.length;r++)if(&quot;h&quot;!==t[r].orientation){e=!1;break}return e}(r),o=e._isHoriz?&quot;y&quot;:&quot;x&quot;):o=&quot;closest&quot;;a(&quot;hovermode&quot;,o)&amp;&amp;(a(&quot;hoverdistance&quot;),a(&quot;spikedistance&quot;));var s=e._has(&quot;mapbox&quot;),l=e._has(&quot;geo&quot;),c=e._basePlotModules.length;&quot;zoom&quot;===e.dragmode&amp;&amp;((s||l)&amp;&amp;1===c||s&amp;&amp;l&amp;&amp;2===c)&amp;&amp;(e.dragmode=&quot;pan&quot;)}},{&quot;../../lib&quot;:743,&quot;./layout_attributes&quot;:661}],663:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib&quot;),i=t(&quot;./hoverlabel_defaults&quot;),a=t(&quot;./layout_attributes&quot;);e.exports=function(t,e){i(t,e,function(r,i){return n.coerce(t,e,a,r,i)})}},{&quot;../../lib&quot;:743,&quot;./hoverlabel_defaults&quot;:659,&quot;./layout_attributes&quot;:661}],664:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../plots/cartesian/constants&quot;);e.exports={_isLinkedToArray:&quot;image&quot;,visible:{valType:&quot;boolean&quot;,dflt:!0,editType:&quot;arraydraw&quot;},source:{valType:&quot;string&quot;,editType:&quot;arraydraw&quot;},layer:{valType:&quot;enumerated&quot;,values:[&quot;below&quot;,&quot;above&quot;],dflt:&quot;above&quot;,editType:&quot;arraydraw&quot;},sizex:{valType:&quot;number&quot;,dflt:0,editType:&quot;arraydraw&quot;},sizey:{valType:&quot;number&quot;,dflt:0,editType:&quot;arraydraw&quot;},sizing:{valType:&quot;enumerated&quot;,values:[&quot;fill&quot;,&quot;contain&quot;,&quot;stretch&quot;],dflt:&quot;contain&quot;,editType:&quot;arraydraw&quot;},opacity:{valType:&quot;number&quot;,min:0,max:1,dflt:1,editType:&quot;arraydraw&quot;},x:{valType:&quot;any&quot;,dflt:0,editType:&quot;arraydraw&quot;},y:{valType:&quot;any&quot;,dflt:0,editType:&quot;arraydraw&quot;},xanchor:{valType:&quot;enumerated&quot;,values:[&quot;left&quot;,&quot;center&quot;,&quot;right&quot;],dflt:&quot;left&quot;,editType:&quot;arraydraw&quot;},yanchor:{valType:&quot;enumerated&quot;,values:[&quot;top&quot;,&quot;middle&quot;,&quot;bottom&quot;],dflt:&quot;top&quot;,editType:&quot;arraydraw&quot;},xref:{valType:&quot;enumerated&quot;,values:[&quot;paper&quot;,n.idRegex.x.toString()],dflt:&quot;paper&quot;,editType:&quot;arraydraw&quot;},yref:{valType:&quot;enumerated&quot;,values:[&quot;paper&quot;,n.idRegex.y.toString()],dflt:&quot;paper&quot;,editType:&quot;arraydraw&quot;},editType:&quot;arraydraw&quot;}},{&quot;../../plots/cartesian/constants&quot;:794}],665:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;fast-isnumeric&quot;),i=t(&quot;../../lib/to_log_range&quot;);e.exports=function(t,e,r,a){e=e||{};var o=&quot;log&quot;===r&amp;&amp;&quot;linear&quot;===e.type,s=&quot;linear&quot;===r&amp;&amp;&quot;log&quot;===e.type;if(o||s)for(var l,c,u=t._fullLayout.images,f=e._id.charAt(0),h=0;h&lt;u.length;h++)if(l=u[h],c=&quot;images[&quot;+h+&quot;].&quot;,l[f+&quot;ref&quot;]===e._id){var d=l[f],p=l[&quot;size&quot;+f],m=null,g=null;if(o){m=i(d,e.range);var v=p/Math.pow(10,m)/2;g=2*Math.log(v+Math.sqrt(1+v*v))/Math.LN10}else g=(m=Math.pow(10,d))*(Math.pow(10,p/2)-Math.pow(10,-p/2));n(m)?n(g)||(g=null):(m=null,g=null),a(c+f,m),a(c+&quot;size&quot;+f,g)}}},{&quot;../../lib/to_log_range&quot;:768,&quot;fast-isnumeric&quot;:140}],666:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r){function n(r,n){return i.coerce(t,e,s,r,n)}if(!n(&quot;visible&quot;,!!n(&quot;source&quot;)))return e;n(&quot;layer&quot;),n(&quot;xanchor&quot;),n(&quot;yanchor&quot;),n(&quot;sizex&quot;),n(&quot;sizey&quot;),n(&quot;sizing&quot;),n(&quot;opacity&quot;);for(var o={_fullLayout:r},l=[&quot;x&quot;,&quot;y&quot;],c=0;c&lt;2;c++){var u=l[c],f=a.coerceRef(t,e,o,u,&quot;paper&quot;);a.coercePosition(e,o,n,f,u,0)}return e}var i=t(&quot;../../lib&quot;),a=t(&quot;../../plots/cartesian/axes&quot;),o=t(&quot;../../plots/array_container_defaults&quot;),s=t(&quot;./attributes&quot;);e.exports=function(t,e){o(t,e,{name:&quot;images&quot;,handleItemDefaults:n})}},{&quot;../../lib&quot;:743,&quot;../../plots/array_container_defaults&quot;:786,&quot;../../plots/cartesian/axes&quot;:789,&quot;./attributes&quot;:664}],667:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;d3&quot;),i=t(&quot;../drawing&quot;),a=t(&quot;../../plots/cartesian/axes&quot;),o=t(&quot;../../constants/xmlns_namespaces&quot;);e.exports=function(t){function e(e){var r=n.select(this);if(!this.img||this.img.src!==e.source){r.attr(&quot;xmlns&quot;,o.svg);var i=new Promise(function(t){function n(){r.remove(),t()}var i=new Image;this.img=i,i.setAttribute(&quot;crossOrigin&quot;,&quot;anonymous&quot;),i.onerror=n,i.onload=function(){var e=document.createElement(&quot;canvas&quot;);e.width=this.width,e.height=this.height;e.getContext(&quot;2d&quot;).drawImage(this,0,0);var n=e.toDataURL(&quot;image/png&quot;);r.attr(&quot;xlink:href&quot;,n),t()},r.on(&quot;error&quot;,n),i.src=e.source}.bind(this));t._promises.push(i)}}function r(e){var r=n.select(this),o=a.getFromId(t,e.xref),s=a.getFromId(t,e.yref),l=c._size,u=o?Math.abs(o.l2p(e.sizex)-o.l2p(0)):e.sizex*l.w,f=s?Math.abs(s.l2p(e.sizey)-s.l2p(0)):e.sizey*l.h,h=u*m.x[e.xanchor].offset,d=f*m.y[e.yanchor].offset,p=m.x[e.xanchor].sizing+m.y[e.yanchor].sizing,g=(o?o.r2p(e.x)+o._offset:e.x*l.w+l.l)+h,v=(s?s.r2p(e.y)+s._offset:l.h-e.y*l.h+l.t)+d;switch(e.sizing){case&quot;fill&quot;:p+=&quot; slice&quot;;break;case&quot;stretch&quot;:p=&quot;none&quot;}r.attr({x:g,y:v,width:u,height:f,preserveAspectRatio:p,opacity:e.opacity});var y=(o?o._id:&quot;&quot;)+(s?s._id:&quot;&quot;);r.call(i.setClipUrl,y?&quot;clip&quot;+c._uid+y:null)}var s,l,c=t._fullLayout,u=[],f={},h=[];for(l=0;l&lt;c.images.length;l++){var d=c.images[l];if(d.visible)if(&quot;below&quot;===d.layer&amp;&amp;&quot;paper&quot;!==d.xref&amp;&amp;&quot;paper&quot;!==d.yref){s=d.xref+d.yref;var p=c._plots[s];if(!p){h.push(d);continue}p.mainplot&amp;&amp;(s=p.mainplot.id),f[s]||(f[s]=[]),f[s].push(d)}else&quot;above&quot;===d.layer?u.push(d):h.push(d)}var m={x:{left:{sizing:&quot;xMin&quot;,offset:0},center:{sizing:&quot;xMid&quot;,offset:-.5},right:{sizing:&quot;xMax&quot;,offset:-1}},y:{top:{sizing:&quot;YMin&quot;,offset:0},middle:{sizing:&quot;YMid&quot;,offset:-.5},bottom:{sizing:&quot;YMax&quot;,offset:-1}}},g=c._imageLowerLayer.selectAll(&quot;image&quot;).data(h),v=c._imageUpperLayer.selectAll(&quot;image&quot;).data(u);g.enter().append(&quot;image&quot;),v.enter().append(&quot;image&quot;),g.exit().remove(),v.exit().remove(),g.each(function(t){e.bind(this)(t),r.bind(this)(t)}),v.each(function(t){e.bind(this)(t),r.bind(this)(t)});var y=Object.keys(c._plots);for(l=0;l&lt;y.length;l++){s=y[l];var x=c._plots[s];if(x.imagelayer){var b=x.imagelayer.selectAll(&quot;image&quot;).data(f[s]||[]);b.enter().append(&quot;image&quot;),b.exit().remove(),b.each(function(t){e.bind(this)(t),r.bind(this)(t)})}}}},{&quot;../../constants/xmlns_namespaces&quot;:723,&quot;../../plots/cartesian/axes&quot;:789,&quot;../drawing&quot;:643,d3:128}],668:[function(t,e,r){&quot;use strict&quot;;e.exports={moduleType:&quot;component&quot;,name:&quot;images&quot;,layoutAttributes:t(&quot;./attributes&quot;),supplyLayoutDefaults:t(&quot;./defaults&quot;),includeBasePlot:t(&quot;../../plots/cartesian/include_components&quot;)(&quot;images&quot;),draw:t(&quot;./draw&quot;),convertCoords:t(&quot;./convert_coords&quot;)}},{&quot;../../plots/cartesian/include_components&quot;:799,&quot;./attributes&quot;:664,&quot;./convert_coords&quot;:665,&quot;./defaults&quot;:666,&quot;./draw&quot;:667}],669:[function(t,e,r){&quot;use strict&quot;;r.isRightAnchor=function(t){return&quot;right&quot;===t.xanchor||&quot;auto&quot;===t.xanchor&amp;&amp;t.x&gt;=2/3},r.isCenterAnchor=function(t){return&quot;center&quot;===t.xanchor||&quot;auto&quot;===t.xanchor&amp;&amp;t.x&gt;1/3&amp;&amp;t.x&lt;2/3},r.isBottomAnchor=function(t){return&quot;bottom&quot;===t.yanchor||&quot;auto&quot;===t.yanchor&amp;&amp;t.y&lt;=1/3},r.isMiddleAnchor=function(t){return&quot;middle&quot;===t.yanchor||&quot;auto&quot;===t.yanchor&amp;&amp;t.y&gt;1/3&amp;&amp;t.y&lt;2/3}},{}],670:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../plots/font_attributes&quot;),i=t(&quot;../color/attributes&quot;);e.exports={bgcolor:{valType:&quot;color&quot;,editType:&quot;legend&quot;},bordercolor:{valType:&quot;color&quot;,dflt:i.defaultLine,editType:&quot;legend&quot;},borderwidth:{valType:&quot;number&quot;,min:0,dflt:0,editType:&quot;legend&quot;},font:n({editType:&quot;legend&quot;}),orientation:{valType:&quot;enumerated&quot;,values:[&quot;v&quot;,&quot;h&quot;],dflt:&quot;v&quot;,editType:&quot;legend&quot;},traceorder:{valType:&quot;flaglist&quot;,flags:[&quot;reversed&quot;,&quot;grouped&quot;],extras:[&quot;normal&quot;],editType:&quot;legend&quot;},tracegroupgap:{valType:&quot;number&quot;,min:0,dflt:10,editType:&quot;legend&quot;},x:{valType:&quot;number&quot;,min:-2,max:3,dflt:1.02,editType:&quot;legend&quot;},xanchor:{valType:&quot;enumerated&quot;,values:[&quot;auto&quot;,&quot;left&quot;,&quot;center&quot;,&quot;right&quot;],dflt:&quot;left&quot;,editType:&quot;legend&quot;},y:{valType:&quot;number&quot;,min:-2,max:3,dflt:1,editType:&quot;legend&quot;},yanchor:{valType:&quot;enumerated&quot;,values:[&quot;auto&quot;,&quot;top&quot;,&quot;middle&quot;,&quot;bottom&quot;],dflt:&quot;auto&quot;,editType:&quot;legend&quot;},editType:&quot;legend&quot;}},{&quot;../../plots/font_attributes&quot;:816,&quot;../color/attributes&quot;:617}],671:[function(t,e,r){&quot;use strict&quot;;e.exports={scrollBarWidth:4,scrollBarHeight:20,scrollBarColor:&quot;#808BA4&quot;,scrollBarMargin:4}},{}],672:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../registry&quot;),i=t(&quot;../../lib&quot;),a=t(&quot;./attributes&quot;),o=t(&quot;../../plots/layout_attributes&quot;),s=t(&quot;./helpers&quot;);e.exports=function(t,e,r){function l(t,e){return i.coerce(d,p,a,t,e)}for(var c,u,f,h,d=t.legend||{},p=e.legend={},m=0,g=&quot;normal&quot;,v=0;v&lt;r.length;v++){var y=r[v];s.legendGetsTrace(y)&amp;&amp;(m++,n.traceIs(y,&quot;pie&quot;)&amp;&amp;m++),(n.traceIs(y,&quot;bar&quot;)&amp;&amp;&quot;stack&quot;===e.barmode||-1!==[&quot;tonextx&quot;,&quot;tonexty&quot;].indexOf(y.fill))&amp;&amp;(g=s.isGrouped({traceorder:g})?&quot;grouped+reversed&quot;:&quot;reversed&quot;),void 0!==y.legendgroup&amp;&amp;&quot;&quot;!==y.legendgroup&amp;&amp;(g=s.isReversed({traceorder:g})?&quot;reversed+grouped&quot;:&quot;grouped&quot;)}if(!1!==i.coerce(t,e,o,&quot;showlegend&quot;,m&gt;1)){if(l(&quot;bgcolor&quot;,e.paper_bgcolor),l(&quot;bordercolor&quot;),l(&quot;borderwidth&quot;),i.coerceFont(l,&quot;font&quot;,e.font),l(&quot;orientation&quot;),&quot;h&quot;===p.orientation){var x=t.xaxis;x&amp;&amp;x.rangeslider&amp;&amp;x.rangeslider.visible?(c=0,f=&quot;left&quot;,u=1.1,h=&quot;bottom&quot;):(c=0,f=&quot;left&quot;,u=-.1,h=&quot;top&quot;)}l(&quot;traceorder&quot;,g),s.isGrouped(e.legend)&amp;&amp;l(&quot;tracegroupgap&quot;),l(&quot;x&quot;,c),l(&quot;xanchor&quot;,f),l(&quot;y&quot;,u),l(&quot;yanchor&quot;,h),i.noneOrAll(d,p,[&quot;x&quot;,&quot;y&quot;])}}},{&quot;../../lib&quot;:743,&quot;../../plots/layout_attributes&quot;:843,&quot;../../registry&quot;:873,&quot;./attributes&quot;:670,&quot;./helpers&quot;:676}],673:[function(t,e,r){&quot;use strict&quot;;function n(t,e){function r(r){m.convertToTspans(r,e,function(){!function(t,e){var r=t.data()[0][0];if(!r.trace.showlegend)return void t.remove();var n,i,a=t.select(&quot;g[class*=math-group]&quot;),o=a.node(),s=e._fullLayout.legend.font.size*x;if(o){var l=d.bBox(o);n=l.height,i=l.width,d.setTranslate(a,0,n/4)}else{var c=t.select(&quot;.legendtext&quot;),u=m.lineCount(c),f=c.node();n=s*u,i=f?d.bBox(f).width:0;var h=s*(.3+(1-u)/2);m.positionText(c,40,h)}n=Math.max(n,16)+3,r.height=n,r.width=i}(t,e)})}var n=t.data()[0][0],i=e._fullLayout,a=n.trace,o=f.traceIs(a,&quot;pie&quot;),s=a.index,u=o?n.label:a.name,h=t.selectAll(&quot;text.legendtext&quot;).data([0]);h.enter().append(&quot;text&quot;).classed(&quot;legendtext&quot;,!0),h.attr(&quot;text-anchor&quot;,&quot;start&quot;).classed(&quot;user-select-none&quot;,!0).call(d.font,i.legend.font).text(u),e._context.edits.legendText&amp;&amp;!o?h.call(m.makeEditable,{gd:e}).call(r).on(&quot;edit&quot;,function(t){this.text(t).call(r);var i=t;this.text()||(t=&quot;    &quot;);var a,o=n.trace._fullInput||{},u={};if(-1!==[&quot;ohlc&quot;,&quot;candlestick&quot;].indexOf(o.type))u[(a=n.trace.transforms)[a.length-1].direction+&quot;.name&quot;]=t;else if(f.hasTransform(o,&quot;groupby&quot;)){var h=f.getTransformIndices(o,&quot;groupby&quot;),d=h[h.length-1],p=c.keyedContainer(o,&quot;transforms[&quot;+d+&quot;].styles&quot;,&quot;target&quot;,&quot;value.name&quot;);&quot;&quot;===i?p.remove(n.trace._group):p.set(n.trace._group,t),u=p.constructUpdate()}else u.name=t;return l.restyle(e,u,s)}):h.call(r)}function i(t,e){var r,n=1,i=t.selectAll(&quot;rect&quot;).data([0]);i.enter().append(&quot;rect&quot;).classed(&quot;legendtoggle&quot;,!0).style(&quot;cursor&quot;,&quot;pointer&quot;).attr(&quot;pointer-events&quot;,&quot;all&quot;).call(p.fill,&quot;rgba(0,0,0,0)&quot;),i.on(&quot;mousedown&quot;,function(){(r=(new Date).getTime())-e._legendMouseDownTime&lt;k?n+=1:(n=1,e._legendMouseDownTime=r)}),i.on(&quot;mouseup&quot;,function(){if(!e._dragged&amp;&amp;!e._editing){var r=e._fullLayout.legend;(new Date).getTime()-e._legendMouseDownTime&gt;k&amp;&amp;(n=Math.max(n-1,1)),1===n?r._clickTimeout=setTimeout(function(){g(t,e,n)},k):2===n&amp;&amp;(r._clickTimeout&amp;&amp;clearTimeout(r._clickTimeout),e._legendMouseDownTime=0,g(t,e,n))}})}function a(t,e,r){var n=t._fullLayout,i=n.legend,a=i.borderwidth,o=w.isGrouped(i),l=0;if(i.width=0,i.height=0,w.isVertical(i))o&amp;&amp;e.each(function(t,e){d.setTranslate(this,0,e*i.tracegroupgap)}),r.each(function(t){var e=t[0],r=e.height,n=e.width;d.setTranslate(this,a,5+a+i.height+r/2),i.height+=r,i.width=Math.max(i.width,n)}),i.width+=45+2*a,i.height+=10+2*a,o&amp;&amp;(i.height+=(i._lgroupsLength-1)*i.tracegroupgap),l=40;else if(o){for(var c=[i.width],u=e.data(),f=0,h=u.length;f&lt;h;f++){var p=u[f].map(function(t){return t[0].width}),m=40+Math.max.apply(null,p);i.width+=i.tracegroupgap+m,c.push(i.width)}e.each(function(t,e){d.setTranslate(this,c[e],0)}),e.each(function(){var t=0;s.select(this).selectAll(&quot;g.traces&quot;).each(function(e){var r=e[0].height;d.setTranslate(this,0,5+a+t+r/2),t+=r}),i.height=Math.max(i.height,t)}),i.height+=10+2*a,i.width+=2*a}else{var g,v=0,y=0,x=0,b=0,_=0,M=i.tracegroupgap||5;r.each(function(t){x=Math.max(40+t[0].width,x),_+=40+t[0].width+M}),g=n.width-(n.margin.r+n.margin.l)&gt;a+_-M,r.each(function(t){var e=t[0],r=g?40+t[0].width:x;a+b+M+r&gt;n.width-(n.margin.r+n.margin.l)&amp;&amp;(b=0,v+=y,i.height=i.height+y,y=0),d.setTranslate(this,a+b,5+a+e.height/2+v),i.width+=M+r,i.height=Math.max(i.height,e.height),b+=M+r,y=Math.max(e.height,y)}),i.width+=2*a,i.height+=10+2*a}i.width=Math.ceil(i.width),i.height=Math.ceil(i.height),r.each(function(e){var r=e[0];s.select(this).select(&quot;.legendtoggle&quot;).call(d.setRect,0,-r.height/2,(t._context.edits.legendText?0:i.width)+l,r.height)})}function o(t){var e=t._fullLayout.legend,r=&quot;left&quot;;M.isRightAnchor(e)?r=&quot;right&quot;:M.isCenterAnchor(e)&amp;&amp;(r=&quot;center&quot;);var n=&quot;top&quot;;M.isBottomAnchor(e)?n=&quot;bottom&quot;:M.isMiddleAnchor(e)&amp;&amp;(n=&quot;middle&quot;),u.autoMargin(t,&quot;legend&quot;,{x:e.x,y:e.y,l:e.width*({right:1,center:.5}[r]||0),r:e.width*({left:1,center:.5}[r]||0),b:e.height*({top:1,middle:.5}[n]||0),t:e.height*({bottom:1,middle:.5}[n]||0)})}var s=t(&quot;d3&quot;),l=t(&quot;../../plotly&quot;),c=t(&quot;../../lib&quot;),u=t(&quot;../../plots/plots&quot;),f=t(&quot;../../registry&quot;),h=t(&quot;../dragelement&quot;),d=t(&quot;../drawing&quot;),p=t(&quot;../color&quot;),m=t(&quot;../../lib/svg_text_utils&quot;),g=t(&quot;./handle_click&quot;),v=t(&quot;./constants&quot;),y=t(&quot;../../constants/interactions&quot;),x=t(&quot;../../constants/alignment&quot;).LINE_SPACING,b=t(&quot;./get_legend_data&quot;),_=t(&quot;./style&quot;),w=t(&quot;./helpers&quot;),M=t(&quot;./anchor_utils&quot;),k=y.DBLCLICKDELAY;e.exports=function(t){function e(t,e){E.attr(&quot;data-scroll&quot;,e).call(d.setTranslate,0,e),L.call(d.setRect,N,t,v.scrollBarWidth,v.scrollBarHeight),T.select(&quot;rect&quot;).attr({y:y.borderwidth-e})}var r=t._fullLayout,m=&quot;legend&quot;+r._uid;if(r._infolayer&amp;&amp;t.calcdata){t._legendMouseDownTime||(t._legendMouseDownTime=0);var y=r.legend,x=r.showlegend&amp;&amp;b(t.calcdata,y),w=r.hiddenlabels||[];if(!r.showlegend||!x.length)return r._infolayer.selectAll(&quot;.legend&quot;).remove(),r._topdefs.select(&quot;#&quot;+m).remove(),void u.autoMargin(t,&quot;legend&quot;);var A=r._infolayer.selectAll(&quot;g.legend&quot;).data([0]);A.enter().append(&quot;g&quot;).attr({class:&quot;legend&quot;,&quot;pointer-events&quot;:&quot;all&quot;});var T=r._topdefs.selectAll(&quot;#&quot;+m).data([0]);T.enter().append(&quot;clipPath&quot;).attr(&quot;id&quot;,m).append(&quot;rect&quot;);var S=A.selectAll(&quot;rect.bg&quot;).data([0]);S.enter().append(&quot;rect&quot;).attr({class:&quot;bg&quot;,&quot;shape-rendering&quot;:&quot;crispEdges&quot;}),S.call(p.stroke,y.bordercolor),S.call(p.fill,y.bgcolor),S.style(&quot;stroke-width&quot;,y.borderwidth+&quot;px&quot;);var E=A.selectAll(&quot;g.scrollbox&quot;).data([0]);E.enter().append(&quot;g&quot;).attr(&quot;class&quot;,&quot;scrollbox&quot;);var L=A.selectAll(&quot;rect.scrollbar&quot;).data([0]);L.enter().append(&quot;rect&quot;).attr({class:&quot;scrollbar&quot;,rx:20,ry:2,width:0,height:0}).call(p.fill,&quot;#808BA4&quot;);var C=E.selectAll(&quot;g.groups&quot;).data(x);C.enter().append(&quot;g&quot;).attr(&quot;class&quot;,&quot;groups&quot;),C.exit().remove();var z=C.selectAll(&quot;g.traces&quot;).data(c.identity);z.enter().append(&quot;g&quot;).attr(&quot;class&quot;,&quot;traces&quot;),z.exit().remove(),z.call(_,t).style(&quot;opacity&quot;,function(t){var e=t[0].trace;return f.traceIs(e,&quot;pie&quot;)?-1!==w.indexOf(t[0].label)?.5:1:&quot;legendonly&quot;===e.visible?.5:1}).each(function(){s.select(this).call(n,t).call(i,t)});var D=0!==A.enter().size();D&amp;&amp;(a(t,C,z),o(t));var I=r.width,P=r.height;a(t,C,z),y.height&gt;P?function(t){var e=t._fullLayout.legend,r=&quot;left&quot;;M.isRightAnchor(e)?r=&quot;right&quot;:M.isCenterAnchor(e)&amp;&amp;(r=&quot;center&quot;),u.autoMargin(t,&quot;legend&quot;,{x:e.x,y:.5,l:e.width*({right:1,center:.5}[r]||0),r:e.width*({left:1,center:.5}[r]||0),b:0,t:0})}(t):o(t);var O=r._size,F=O.l+O.w*y.x,R=O.t+O.h*(1-y.y);M.isRightAnchor(y)?F-=y.width:M.isCenterAnchor(y)&amp;&amp;(F-=y.width/2),M.isBottomAnchor(y)?R-=y.height:M.isMiddleAnchor(y)&amp;&amp;(R-=y.height/2);var N=y.width,j=O.w;N&gt;j?(F=O.l,N=j):(F+N&gt;I&amp;&amp;(F=I-N),F&lt;0&amp;&amp;(F=0),N=Math.min(I-F,y.width));var B=y.height,U=O.h;B&gt;U?(R=O.t,B=U):(R+B&gt;P&amp;&amp;(R=P-B),R&lt;0&amp;&amp;(R=0),B=Math.min(P-R,y.height)),d.setTranslate(A,F,R);var V,q,H=B-v.scrollBarHeight-2*v.scrollBarMargin,G=y.height-B;if(y.height&lt;=B||t._context.staticPlot)S.attr({width:N-y.borderwidth,height:B-y.borderwidth,x:y.borderwidth/2,y:y.borderwidth/2}),d.setTranslate(E,0,0),T.select(&quot;rect&quot;).attr({width:N-2*y.borderwidth,height:B-2*y.borderwidth,x:y.borderwidth,y:y.borderwidth}),E.call(d.setClipUrl,m);else{V=v.scrollBarMargin,q=E.attr(&quot;data-scroll&quot;)||0,S.attr({width:N-2*y.borderwidth+v.scrollBarWidth+v.scrollBarMargin,height:B-y.borderwidth,x:y.borderwidth/2,y:y.borderwidth/2}),T.select(&quot;rect&quot;).attr({width:N-2*y.borderwidth+v.scrollBarWidth+v.scrollBarMargin,height:B-2*y.borderwidth,x:y.borderwidth,y:y.borderwidth-q}),E.call(d.setClipUrl,m),D&amp;&amp;e(V,q),A.on(&quot;wheel&quot;,null),A.on(&quot;wheel&quot;,function(){q=c.constrain(E.attr(&quot;data-scroll&quot;)-s.event.deltaY/H*G,-G,0),e(V=v.scrollBarMargin-q/G*H,q),0!==q&amp;&amp;q!==-G&amp;&amp;s.event.preventDefault()}),L.on(&quot;.drag&quot;,null),E.on(&quot;.drag&quot;,null);var Y=s.behavior.drag().on(&quot;drag&quot;,function(){V=c.constrain(s.event.y-v.scrollBarHeight/2,v.scrollBarMargin,v.scrollBarMargin+H),q=-(V-v.scrollBarMargin)/H*G,e(V,q)});L.call(Y),E.call(Y)}if(t._context.edits.legendPosition){var W,X,Z,J;A.classed(&quot;cursor-move&quot;,!0),h.init({element:A.node(),gd:t,prepFn:function(){var t=d.getTranslate(A);Z=t.x,J=t.y},moveFn:function(t,e){var r=Z+t,n=J+e;d.setTranslate(A,r,n),W=h.align(r,0,O.l,O.l+O.w,y.xanchor),X=h.align(n,0,O.t+O.h,O.t,y.yanchor)},doneFn:function(){void 0!==W&amp;&amp;void 0!==X&amp;&amp;l.relayout(t,{&quot;legend.x&quot;:W,&quot;legend.y&quot;:X})},clickFn:function(e,n){var i=r._infolayer.selectAll(&quot;g.traces&quot;).filter(function(){var t=this.getBoundingClientRect();return n.clientX&gt;=t.left&amp;&amp;n.clientX&lt;=t.right&amp;&amp;n.clientY&gt;=t.top&amp;&amp;n.clientY&lt;=t.bottom});i.size()&gt;0&amp;&amp;(1===e?A._clickTimeout=setTimeout(function(){g(i,t,e)},k):2===e&amp;&amp;(A._clickTimeout&amp;&amp;clearTimeout(A._clickTimeout),g(i,t,e)))}})}}}},{&quot;../../constants/alignment&quot;:716,&quot;../../constants/interactions&quot;:720,&quot;../../lib&quot;:743,&quot;../../lib/svg_text_utils&quot;:766,&quot;../../plotly&quot;:784,&quot;../../plots/plots&quot;:852,&quot;../../registry&quot;:873,&quot;../color&quot;:618,&quot;../dragelement&quot;:640,&quot;../drawing&quot;:643,&quot;./anchor_utils&quot;:669,&quot;./constants&quot;:671,&quot;./get_legend_data&quot;:674,&quot;./handle_click&quot;:675,&quot;./helpers&quot;:676,&quot;./style&quot;:678,d3:128}],674:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../registry&quot;),i=t(&quot;./helpers&quot;);e.exports=function(t,e){function r(t,r){if(&quot;&quot;!==t&amp;&amp;i.isGrouped(e))-1===l.indexOf(t)?(l.push(t),c=!0,s[t]=[[r]]):s[t].push([r]);else{var n=&quot;~~i&quot;+f;l.push(n),s[n]=[[r]],f++}}var a,o,s={},l=[],c=!1,u={},f=0;for(a=0;a&lt;t.length;a++){var h=t[a],d=h[0],p=d.trace,m=p.legendgroup;if(i.legendGetsTrace(p)&amp;&amp;p.showlegend)if(n.traceIs(p,&quot;pie&quot;))for(u[m]||(u[m]={}),o=0;o&lt;h.length;o++){var g=h[o].label;u[m][g]||(r(m,{label:g,color:h[o].color,i:h[o].i,trace:p}),u[m][g]=!0)}else r(m,d)}if(!l.length)return[];var v,y,x=l.length;if(c&amp;&amp;i.isGrouped(e))for(y=new Array(x),a=0;a&lt;x;a++)v=s[l[a]],y[a]=i.isReversed(e)?v.reverse():v;else{for(y=[new Array(x)],a=0;a&lt;x;a++)v=s[l[a]][0],y[0][i.isReversed(e)?x-a-1:a]=v;x=1}return e._lgroupsLength=x,y}},{&quot;../../registry&quot;:873,&quot;./helpers&quot;:676}],675:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../plotly&quot;),i=t(&quot;../../lib&quot;),a=t(&quot;../../registry&quot;),o=!0;e.exports=function(t,e,r){function s(t,e,r){var n=b.indexOf(t),i=x[e];return i||(i=x[e]=[]),-1===b.indexOf(t)&amp;&amp;(b.push(t),n=b.length-1),i[n]=r,n}function l(t,e){var r=t._fullInput;if(a.hasTransform(r,&quot;groupby&quot;)){var n=_[r.index];if(!n){var o=a.getTransformIndices(r,&quot;groupby&quot;),l=o[o.length-1];n=i.keyedContainer(r,&quot;transforms[&quot;+l+&quot;].styles&quot;,&quot;target&quot;,&quot;value.visible&quot;),_[r.index]=n}var c=n.get(t._group);void 0===c&amp;&amp;(c=!0),!1!==c&amp;&amp;n.set(t._group,e),w[r.index]=s(r.index,&quot;visible&quot;,!1!==r.visible)}else{var u=!1!==r.visible&amp;&amp;e;s(r.index,&quot;visible&quot;,u)}}if(!e._dragged&amp;&amp;!e._editing){var c,u,f,h,d,p=e._fullLayout.hiddenlabels?e._fullLayout.hiddenlabels.slice():[],m=t.data()[0][0],g=e._fullData,v=m.trace,y=v.legendgroup,x={},b=[],_=[],w=[];if(1===r&amp;&amp;o&amp;&amp;e.data&amp;&amp;e._context.showTips?(i.notifier(i._(e,&quot;Double-click on legend to isolate one trace&quot;),&quot;long&quot;),o=!1):o=!1,a.traceIs(v,&quot;pie&quot;)){var M=m.label,k=p.indexOf(M);1===r?-1===k?p.push(M):p.splice(k,1):2===r&amp;&amp;(p=[],e.calcdata[0].forEach(function(t){M!==t.label&amp;&amp;p.push(t.label)}),e._fullLayout.hiddenlabels&amp;&amp;e._fullLayout.hiddenlabels.length===p.length&amp;&amp;-1===k&amp;&amp;(p=[])),n.relayout(e,&quot;hiddenlabels&quot;,p)}else{var A,T=y&amp;&amp;y.length,S=[];if(T)for(c=0;c&lt;g.length;c++)(A=g[c]).visible&amp;&amp;A.legendgroup===y&amp;&amp;S.push(c);if(1===r){var E;switch(v.visible){case!0:E=&quot;legendonly&quot;;break;case!1:E=!1;break;case&quot;legendonly&quot;:E=!0}if(T)for(c=0;c&lt;g.length;c++)!1!==g[c].visible&amp;&amp;g[c].legendgroup===y&amp;&amp;l(g[c],E);else l(v,E)}else if(2===r){var L,C,z=!0;for(c=0;c&lt;g.length;c++)if(!(g[c]===v)&amp;&amp;!(L=T&amp;&amp;g[c].legendgroup===y)&amp;&amp;!0===g[c].visible&amp;&amp;!a.traceIs(g[c],&quot;notLegendIsolatable&quot;)){z=!1;break}for(c=0;c&lt;g.length;c++)if(!1!==g[c].visible&amp;&amp;!a.traceIs(g[c],&quot;notLegendIsolatable&quot;))switch(v.visible){case&quot;legendonly&quot;:l(g[c],!0);break;case!0:C=!!z||&quot;legendonly&quot;,L=g[c]===v||T&amp;&amp;g[c].legendgroup===y,l(g[c],!!L||C)}}for(c=0;c&lt;_.length;c++)if(f=_[c]){var D=f.constructUpdate(),I=Object.keys(D);for(u=0;u&lt;I.length;u++)h=I[u],(x[h]=x[h]||[])[w[c]]=D[h]}for(d=Object.keys(x),c=0;c&lt;d.length;c++)for(h=d[c],u=0;u&lt;b.length;u++)x[h].hasOwnProperty(u)||(x[h][u]=void 0);n.restyle(e,x,b)}}}},{&quot;../../lib&quot;:743,&quot;../../plotly&quot;:784,&quot;../../registry&quot;:873}],676:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../registry&quot;);r.legendGetsTrace=function(t){return t.visible&amp;&amp;n.traceIs(t,&quot;showLegend&quot;)},r.isGrouped=function(t){return-1!==(t.traceorder||&quot;&quot;).indexOf(&quot;grouped&quot;)},r.isVertical=function(t){return&quot;h&quot;!==t.orientation},r.isReversed=function(t){return-1!==(t.traceorder||&quot;&quot;).indexOf(&quot;reversed&quot;)}},{&quot;../../registry&quot;:873}],677:[function(t,e,r){&quot;use strict&quot;;e.exports={moduleType:&quot;component&quot;,name:&quot;legend&quot;,layoutAttributes:t(&quot;./attributes&quot;),supplyLayoutDefaults:t(&quot;./defaults&quot;),draw:t(&quot;./draw&quot;),style:t(&quot;./style&quot;)}},{&quot;./attributes&quot;:670,&quot;./defaults&quot;:672,&quot;./draw&quot;:673,&quot;./style&quot;:678}],678:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;d3&quot;),i=t(&quot;../../registry&quot;),a=t(&quot;../../lib&quot;),o=t(&quot;../drawing&quot;),s=t(&quot;../color&quot;),l=t(&quot;../../traces/scatter/subtypes&quot;),c=t(&quot;../../traces/pie/style_one&quot;);e.exports=function(t,e){t.each(function(t){var e=n.select(this).selectAll(&quot;g.layers&quot;).data([0]);e.enter().append(&quot;g&quot;).classed(&quot;layers&quot;,!0),e.style(&quot;opacity&quot;,t[0].trace.opacity);e.selectAll(&quot;g.legendfill&quot;).data([t]).enter().append(&quot;g&quot;).classed(&quot;legendfill&quot;,!0);e.selectAll(&quot;g.legendlines&quot;).data([t]).enter().append(&quot;g&quot;).classed(&quot;legendlines&quot;,!0);var r=e.selectAll(&quot;g.legendsymbols&quot;).data([t]);r.enter().append(&quot;g&quot;).classed(&quot;legendsymbols&quot;,!0),r.selectAll(&quot;g.legendpoints&quot;).data([t]).enter().append(&quot;g&quot;).classed(&quot;legendpoints&quot;,!0)}).each(function(t){var e=t[0].trace,r=e.marker||{},a=r.line||{},o=n.select(this).select(&quot;g.legendpoints&quot;).selectAll(&quot;path.legendbar&quot;).data(i.traceIs(e,&quot;bar&quot;)?[t]:[]);o.enter().append(&quot;path&quot;).classed(&quot;legendbar&quot;,!0).attr(&quot;d&quot;,&quot;M6,6H-6V-6H6Z&quot;).attr(&quot;transform&quot;,&quot;translate(20,0)&quot;),o.exit().remove(),o.each(function(t){var e=n.select(this),i=t[0],o=(i.mlw+1||a.width+1)-1;e.style(&quot;stroke-width&quot;,o+&quot;px&quot;).call(s.fill,i.mc||r.color),o&amp;&amp;e.call(s.stroke,i.mlc||a.color)})}).each(function(t){var e=t[0].trace,r=n.select(this).select(&quot;g.legendpoints&quot;).selectAll(&quot;path.legendbox&quot;).data(i.traceIs(e,&quot;box-violin&quot;)&amp;&amp;e.visible?[t]:[]);r.enter().append(&quot;path&quot;).classed(&quot;legendbox&quot;,!0).attr(&quot;d&quot;,&quot;M6,6H-6V-6H6Z&quot;).attr(&quot;transform&quot;,&quot;translate(20,0)&quot;),r.exit().remove(),r.each(function(){var t=e.line.width,r=n.select(this);r.style(&quot;stroke-width&quot;,t+&quot;px&quot;).call(s.fill,e.fillcolor),t&amp;&amp;r.call(s.stroke,e.line.color)})}).each(function(t){var e=t[0].trace,r=n.select(this).select(&quot;g.legendpoints&quot;).selectAll(&quot;path.legendpie&quot;).data(i.traceIs(e,&quot;pie&quot;)&amp;&amp;e.visible?[t]:[]);r.enter().append(&quot;path&quot;).classed(&quot;legendpie&quot;,!0).attr(&quot;d&quot;,&quot;M6,6H-6V-6H6Z&quot;).attr(&quot;transform&quot;,&quot;translate(20,0)&quot;),r.exit().remove(),r.size()&amp;&amp;r.call(c,t[0],e)}).each(function(t){var e=t[0].trace,r=e.visible&amp;&amp;e.fill&amp;&amp;&quot;none&quot;!==e.fill,i=l.hasLines(e);e&amp;&amp;e._module&amp;&amp;&quot;contourcarpet&quot;===e._module.name&amp;&amp;(i=e.contours.showlines,r=&quot;fill&quot;===e.contours.coloring);var a=n.select(this).select(&quot;.legendfill&quot;).selectAll(&quot;path&quot;).data(r?[t]:[]);a.enter().append(&quot;path&quot;).classed(&quot;js-fill&quot;,!0),a.exit().remove(),a.attr(&quot;d&quot;,&quot;M5,0h30v6h-30z&quot;).call(o.fillGroupStyle);var s=n.select(this).select(&quot;.legendlines&quot;).selectAll(&quot;path&quot;).data(i?[t]:[]);s.enter().append(&quot;path&quot;).classed(&quot;js-line&quot;,!0).attr(&quot;d&quot;,&quot;M5,0h30&quot;),s.exit().remove(),s.call(o.lineGroupStyle)}).each(function(t){function r(t,e,r){var n=a.nestedProperty(f,t).get(),i=Array.isArray(n)&amp;&amp;e?e(n):n;if(r){if(i&lt;r[0])return r[0];if(i&gt;r[1])return r[1]}return i}function i(t){return t[0]}var s,c,u=t[0],f=u.trace,h=l.hasMarkers(f),d=l.hasText(f),p=l.hasLines(f);if(h||d||p){var m={},g={};h&amp;&amp;(m.mc=r(&quot;marker.color&quot;,i),m.mo=r(&quot;marker.opacity&quot;,a.mean,[.2,1]),m.ms=r(&quot;marker.size&quot;,a.mean,[2,16]),m.mlc=r(&quot;marker.line.color&quot;,i),m.mlw=r(&quot;marker.line.width&quot;,a.mean,[0,5]),g.marker={sizeref:1,sizemin:1,sizemode:&quot;diameter&quot;}),p&amp;&amp;(g.line={width:r(&quot;line.width&quot;,i,[0,10])}),d&amp;&amp;(m.tx=&quot;Aa&quot;,m.tp=r(&quot;textposition&quot;,i),m.ts=10,m.tc=r(&quot;textfont.color&quot;,i),m.tf=r(&quot;textfont.family&quot;,i)),s=[a.minExtend(u,m)],c=a.minExtend(f,g)}var v=n.select(this).select(&quot;g.legendpoints&quot;),y=v.selectAll(&quot;path.scatterpts&quot;).data(h?s:[]);y.enter().append(&quot;path&quot;).classed(&quot;scatterpts&quot;,!0).attr(&quot;transform&quot;,&quot;translate(20,0)&quot;),y.exit().remove(),y.call(o.pointStyle,c,e),h&amp;&amp;(s[0].mrc=3);var x=v.selectAll(&quot;g.pointtext&quot;).data(d?s:[]);x.enter().append(&quot;g&quot;).classed(&quot;pointtext&quot;,!0).append(&quot;text&quot;).attr(&quot;transform&quot;,&quot;translate(20,0)&quot;),x.exit().remove(),x.selectAll(&quot;text&quot;).call(o.textPointStyle,c,e)})}},{&quot;../../lib&quot;:743,&quot;../../registry&quot;:873,&quot;../../traces/pie/style_one&quot;:1052,&quot;../../traces/scatter/subtypes&quot;:1088,&quot;../color&quot;:618,&quot;../drawing&quot;:643,d3:128}],679:[function(t,e,r){&quot;use strict&quot;;function n(t,e){var r,n,i=e.currentTarget,a=i.getAttribute(&quot;data-attr&quot;),o=i.getAttribute(&quot;data-val&quot;)||!0,s=t._fullLayout,l={},c=h.list(t,null,!0),f=&quot;on&quot;;if(&quot;zoom&quot;===a){var d,p=&quot;in&quot;===o?.5:2,m=(1+p)/2,g=(1-p)/2;for(n=0;n&lt;c.length;n++)if(!(r=c[n]).fixedrange)if(d=r._name,&quot;auto&quot;===o)l[d+&quot;.autorange&quot;]=!0;else if(&quot;reset&quot;===o){if(void 0===r._rangeInitial)l[d+&quot;.autorange&quot;]=!0;else{var v=r._rangeInitial.slice();l[d+&quot;.range[0]&quot;]=v[0],l[d+&quot;.range[1]&quot;]=v[1]}void 0!==r._showSpikeInitial&amp;&amp;(l[d+&quot;.showspikes&quot;]=r._showSpikeInitial,&quot;on&quot;!==f||r._showSpikeInitial||(f=&quot;off&quot;))}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]];l[d+&quot;.range[0]&quot;]=r.l2r(x[0]),l[d+&quot;.range[1]&quot;]=r.l2r(x[1])}s._cartesianSpikesEnabled=f}else{if(&quot;hovermode&quot;!==a||&quot;x&quot;!==o&amp;&amp;&quot;y&quot;!==o){if(&quot;hovermode&quot;===a&amp;&amp;&quot;closest&quot;===o){for(n=0;n&lt;c.length;n++)r=c[n],&quot;on&quot;!==f||r.showspikes||(f=&quot;off&quot;);s._cartesianSpikesEnabled=f}}else o=s._isHoriz?&quot;y&quot;:&quot;x&quot;,i.setAttribute(&quot;data-val&quot;,o);l[a]=o}u.relayout(t,l)}function i(t,e){for(var r=e.currentTarget,n=r.getAttribute(&quot;data-attr&quot;),i=r.getAttribute(&quot;data-val&quot;)||!0,a=t._fullLayout._subplots.gl3d,o={},s=n.split(&quot;.&quot;),l=0;l&lt;a.length;l++)o[a[l]+&quot;.&quot;+s[1]]=i;u.relayout(t,o)}function a(t,e){for(var r=e.currentTarget.getAttribute(&quot;data-attr&quot;),n=t._fullLayout,i=n._subplots.gl3d,a={},o=0;o&lt;i.length;o++){var s=i[o],l=s+&quot;.camera&quot;,c=n[s]._scene;&quot;resetDefault&quot;===r?a[l]=null:&quot;resetLastSave&quot;===r&amp;&amp;(a[l]=d.extendDeep({},c.cameraInitial))}u.relayout(t,a)}function o(t,e){var r=e.currentTarget,n=r._previousVal||!1,i=t.layout,a=t._fullLayout,o=a._subplots.gl3d,s=[&quot;xaxis&quot;,&quot;yaxis&quot;,&quot;zaxis&quot;],l=[&quot;showspikes&quot;,&quot;spikesides&quot;,&quot;spikethickness&quot;,&quot;spikecolor&quot;],c={},f={},h={};if(n)h=d.extendDeep(i,n),r._previousVal=null;else{h={&quot;allaxes.showspikes&quot;:!1};for(var p=0;p&lt;o.length;p++){var m=o[p],g=a[m],v=c[m]={};v.hovermode=g.hovermode,h[m+&quot;.hovermode&quot;]=!1;for(var y=0;y&lt;3;y++){var x=s[y];f=v[x]={};for(var b=0;b&lt;l.length;b++){var _=l[b];f[_]=g[x][_]}}}r._previousVal=d.extendDeep({},c)}u.relayout(t,h)}function s(t,e){for(var r=e.currentTarget,n=r.getAttribute(&quot;data-attr&quot;),i=r.getAttribute(&quot;data-val&quot;)||!0,a=t._fullLayout,o=a._subplots.geo,s=0;s&lt;o.length;s++){var l=o[s],f=a[l];if(&quot;zoom&quot;===n){var h=f.projection.scale,d=&quot;in&quot;===i?2*h:.5*h;u.relayout(t,l+&quot;.projection.scale&quot;,d)}else&quot;reset&quot;===n&amp;&amp;c(t,&quot;geo&quot;)}}function l(t){var e,r=t._fullLayout;e=r._has(&quot;cartesian&quot;)?r._isHoriz?&quot;y&quot;:&quot;x&quot;:&quot;closest&quot;;var n=!t._fullLayout.hovermode&amp;&amp;e;u.relayout(t,&quot;hovermode&quot;,n)}function c(t,e){for(var r=t._fullLayout,n=r._subplots[e],i={},a=0;a&lt;n.length;a++)for(var o=n[a],s=r[o]._subplot.viewInitial,l=Object.keys(s),c=0;c&lt;l.length;c++){var f=l[c];i[o+&quot;.&quot;+f]=s[f]}u.relayout(t,i)}var u=t(&quot;../../plotly&quot;),f=t(&quot;../../plots/plots&quot;),h=t(&quot;../../plots/cartesian/axis_ids&quot;),d=t(&quot;../../lib&quot;),p=t(&quot;../../snapshot/download&quot;),m=t(&quot;../../../build/ploticon&quot;),g=d._,v=e.exports={};v.toImage={name:&quot;toImage&quot;,title:function(t){return g(t,&quot;Download plot as a png&quot;)},icon:m.camera,click:function(t){var e=&quot;png&quot;;d.notifier(g(t,&quot;Taking snapshot - this may take a few seconds&quot;),&quot;long&quot;),d.isIE()&amp;&amp;(d.notifier(g(t,&quot;IE only supports svg.  Changing format to svg.&quot;),&quot;long&quot;),e=&quot;svg&quot;),p(t,{format:e}).then(function(e){d.notifier(g(t,&quot;Snapshot succeeded&quot;)+&quot; - &quot;+e,&quot;long&quot;)}).catch(function(){d.notifier(g(t,&quot;Sorry, there was a problem downloading your snapshot!&quot;),&quot;long&quot;)})}},v.sendDataToCloud={name:&quot;sendDataToCloud&quot;,title:function(t){return g(t,&quot;Edit in Chart Studio&quot;)},icon:m.disk,click:function(t){f.sendDataToCloud(t)}},v.zoom2d={name:&quot;zoom2d&quot;,title:function(t){return g(t,&quot;Zoom&quot;)},attr:&quot;dragmode&quot;,val:&quot;zoom&quot;,icon:m.zoombox,click:n},v.pan2d={name:&quot;pan2d&quot;,title:function(t){return g(t,&quot;Pan&quot;)},attr:&quot;dragmode&quot;,val:&quot;pan&quot;,icon:m.pan,click:n},v.select2d={name:&quot;select2d&quot;,title:function(t){return g(t,&quot;Box Select&quot;)},attr:&quot;dragmode&quot;,val:&quot;select&quot;,icon:m.selectbox,click:n},v.lasso2d={name:&quot;lasso2d&quot;,title:function(t){return g(t,&quot;Lasso Select&quot;)},attr:&quot;dragmode&quot;,val:&quot;lasso&quot;,icon:m.lasso,click:n},v.zoomIn2d={name:&quot;zoomIn2d&quot;,title:function(t){return g(t,&quot;Zoom in&quot;)},attr:&quot;zoom&quot;,val:&quot;in&quot;,icon:m.zoom_plus,click:n},v.zoomOut2d={name:&quot;zoomOut2d&quot;,title:function(t){return g(t,&quot;Zoom out&quot;)},attr:&quot;zoom&quot;,val:&quot;out&quot;,icon:m.zoom_minus,click:n},v.autoScale2d={name:&quot;autoScale2d&quot;,title:function(t){return g(t,&quot;Autoscale&quot;)},attr:&quot;zoom&quot;,val:&quot;auto&quot;,icon:m.autoscale,click:n},v.resetScale2d={name:&quot;resetScale2d&quot;,title:function(t){return g(t,&quot;Reset axes&quot;)},attr:&quot;zoom&quot;,val:&quot;reset&quot;,icon:m.home,click:n},v.hoverClosestCartesian={name:&quot;hoverClosestCartesian&quot;,title:function(t){return g(t,&quot;Show closest data on hover&quot;)},attr:&quot;hovermode&quot;,val:&quot;closest&quot;,icon:m.tooltip_basic,gravity:&quot;ne&quot;,click:n},v.hoverCompareCartesian={name:&quot;hoverCompareCartesian&quot;,title:function(t){return g(t,&quot;Compare data on hover&quot;)},attr:&quot;hovermode&quot;,val:function(t){return t._fullLayout._isHoriz?&quot;y&quot;:&quot;x&quot;},icon:m.tooltip_compare,gravity:&quot;ne&quot;,click:n},v.zoom3d={name:&quot;zoom3d&quot;,title:function(t){return g(t,&quot;Zoom&quot;)},attr:&quot;scene.dragmode&quot;,val:&quot;zoom&quot;,icon:m.zoombox,click:i},v.pan3d={name:&quot;pan3d&quot;,title:function(t){return g(t,&quot;Pan&quot;)},attr:&quot;scene.dragmode&quot;,val:&quot;pan&quot;,icon:m.pan,click:i},v.orbitRotation={name:&quot;orbitRotation&quot;,title:function(t){return g(t,&quot;Orbital rotation&quot;)},attr:&quot;scene.dragmode&quot;,val:&quot;orbit&quot;,icon:m[&quot;3d_rotate&quot;],click:i},v.tableRotation={name:&quot;tableRotation&quot;,title:function(t){return g(t,&quot;Turntable rotation&quot;)},attr:&quot;scene.dragmode&quot;,val:&quot;turntable&quot;,icon:m[&quot;z-axis&quot;],click:i},v.resetCameraDefault3d={name:&quot;resetCameraDefault3d&quot;,title:function(t){return g(t,&quot;Reset camera to default&quot;)},attr:&quot;resetDefault&quot;,icon:m.home,click:a},v.resetCameraLastSave3d={name:&quot;resetCameraLastSave3d&quot;,title:function(t){return g(t,&quot;Reset camera to last save&quot;)},attr:&quot;resetLastSave&quot;,icon:m.movie,click:a},v.hoverClosest3d={name:&quot;hoverClosest3d&quot;,title:function(t){return g(t,&quot;Toggle show closest data on hover&quot;)},attr:&quot;hovermode&quot;,val:null,toggle:!0,icon:m.tooltip_basic,gravity:&quot;ne&quot;,click:o},v.zoomInGeo={name:&quot;zoomInGeo&quot;,title:function(t){return g(t,&quot;Zoom in&quot;)},attr:&quot;zoom&quot;,val:&quot;in&quot;,icon:m.zoom_plus,click:s},v.zoomOutGeo={name:&quot;zoomOutGeo&quot;,title:function(t){return g(t,&quot;Zoom out&quot;)},attr:&quot;zoom&quot;,val:&quot;out&quot;,icon:m.zoom_minus,click:s},v.resetGeo={name:&quot;resetGeo&quot;,title:function(t){return g(t,&quot;Reset&quot;)},attr:&quot;reset&quot;,val:null,icon:m.autoscale,click:s},v.hoverClosestGeo={name:&quot;hoverClosestGeo&quot;,title:function(t){return g(t,&quot;Toggle show closest data on hover&quot;)},attr:&quot;hovermode&quot;,val:null,toggle:!0,icon:m.tooltip_basic,gravity:&quot;ne&quot;,click:l},v.hoverClosestGl2d={name:&quot;hoverClosestGl2d&quot;,title:function(t){return g(t,&quot;Toggle show closest data on hover&quot;)},attr:&quot;hovermode&quot;,val:null,toggle:!0,icon:m.tooltip_basic,gravity:&quot;ne&quot;,click:l},v.hoverClosestPie={name:&quot;hoverClosestPie&quot;,title:function(t){return g(t,&quot;Toggle show closest data on hover&quot;)},attr:&quot;hovermode&quot;,val:&quot;closest&quot;,icon:m.tooltip_basic,gravity:&quot;ne&quot;,click:l},v.toggleHover={name:&quot;toggleHover&quot;,title:function(t){return g(t,&quot;Toggle show closest data on hover&quot;)},attr:&quot;hovermode&quot;,val:null,toggle:!0,icon:m.tooltip_basic,gravity:&quot;ne&quot;,click:function(t,e){l(t),o(t,e)}},v.resetViews={name:&quot;resetViews&quot;,title:function(t){return g(t,&quot;Reset views&quot;)},icon:m.home,click:function(t,e){var r=e.currentTarget;r.setAttribute(&quot;data-attr&quot;,&quot;zoom&quot;),r.setAttribute(&quot;data-val&quot;,&quot;reset&quot;),n(t,e),r.setAttribute(&quot;data-attr&quot;,&quot;resetLastSave&quot;),a(t,e),c(t,&quot;geo&quot;),c(t,&quot;mapbox&quot;)}},v.toggleSpikelines={name:&quot;toggleSpikelines&quot;,title:function(t){return g(t,&quot;Toggle Spike Lines&quot;)},icon:m.spikeline,attr:&quot;_cartesianSpikesEnabled&quot;,val:&quot;on&quot;,click:function(t){var e=t._fullLayout;e._cartesianSpikesEnabled=&quot;on&quot;===e._cartesianSpikesEnabled?&quot;off&quot;:&quot;on&quot;;var r=function(t){for(var e,r=t._fullLayout,n=h.list(t,null,!0),i={},a=0;a&lt;n.length;a++)i[(e=n[a])._name+&quot;.showspikes&quot;]=&quot;on&quot;===r._cartesianSpikesEnabled||e._showSpikeInitial;return i}(t);u.relayout(t,r)}},v.resetViewMapbox={name:&quot;resetViewMapbox&quot;,title:function(t){return g(t,&quot;Reset view&quot;)},attr:&quot;reset&quot;,icon:m.home,click:function(t){c(t,&quot;mapbox&quot;)}}},{&quot;../../../build/ploticon&quot;:2,&quot;../../lib&quot;:743,&quot;../../plotly&quot;:784,&quot;../../plots/cartesian/axis_ids&quot;:792,&quot;../../plots/plots&quot;:852,&quot;../../snapshot/download&quot;:875}],680:[function(t,e,r){&quot;use strict&quot;;r.manage=t(&quot;./manage&quot;)},{&quot;./manage&quot;:681}],681:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r){function n(t){for(var r=[],n=0;n&lt;t.length;n++){var i=t[n];-1===e.indexOf(i)&amp;&amp;r.push(c[i])}x.push(r)}var l=t._fullLayout,u=t._fullData,f=l._has(&quot;cartesian&quot;),h=l._has(&quot;gl3d&quot;),d=l._has(&quot;geo&quot;),p=l._has(&quot;pie&quot;),m=l._has(&quot;gl2d&quot;),g=l._has(&quot;ternary&quot;),v=l._has(&quot;mapbox&quot;),y=l._has(&quot;polar&quot;),x=[];if(n([&quot;toImage&quot;,&quot;sendDataToCloud&quot;]),(f||m||p||g)+d+h&gt;1)return n([&quot;resetViews&quot;,&quot;toggleHover&quot;]),i(x,r);h&amp;&amp;(n([&quot;zoom3d&quot;,&quot;pan3d&quot;,&quot;orbitRotation&quot;,&quot;tableRotation&quot;]),n([&quot;resetCameraDefault3d&quot;,&quot;resetCameraLastSave3d&quot;]),n([&quot;hoverClosest3d&quot;]));var b=function(t){for(var e=a.list({_fullLayout:t},null,!0),r=0;r&lt;e.length;r++)if(!e[r].fixedrange)return!1;return!0}(l),_=[];return((f||m)&amp;&amp;!b||g)&amp;&amp;(_=[&quot;zoom2d&quot;,&quot;pan2d&quot;]),(v||d)&amp;&amp;(_=[&quot;pan2d&quot;]),y&amp;&amp;(_=[&quot;zoom2d&quot;]),function(t){for(var e=!1,r=0;r&lt;t.length&amp;&amp;!e;r++){var n=t[r];n._module&amp;&amp;n._module.selectPoints&amp;&amp;(s.traceIs(n,&quot;scatter-like&quot;)?(o.hasMarkers(n)||o.hasText(n))&amp;&amp;(e=!0):s.traceIs(n,&quot;box-violin&quot;)?&quot;all&quot;!==n.boxpoints&amp;&amp;&quot;all&quot;!==n.points||(e=!0):e=!0)}return e}(u)&amp;&amp;(_.push(&quot;select2d&quot;),_.push(&quot;lasso2d&quot;)),_.length&amp;&amp;n(_),!f&amp;&amp;!m||b||g||n([&quot;zoomIn2d&quot;,&quot;zoomOut2d&quot;,&quot;autoScale2d&quot;,&quot;resetScale2d&quot;]),f&amp;&amp;p?n([&quot;toggleHover&quot;]):m?n([&quot;hoverClosestGl2d&quot;]):f?n([&quot;toggleSpikelines&quot;,&quot;hoverClosestCartesian&quot;,&quot;hoverCompareCartesian&quot;]):p?n([&quot;hoverClosestPie&quot;]):v?n([&quot;resetViewMapbox&quot;,&quot;toggleHover&quot;]):d&amp;&amp;(n([&quot;zoomInGeo&quot;,&quot;zoomOutGeo&quot;,&quot;resetGeo&quot;]),n([&quot;hoverClosestGeo&quot;])),i(x,r)}function i(t,e){if(e.length)if(Array.isArray(e[0]))for(var r=0;r&lt;e.length;r++)t.push(e[r]);else t.push(e);return t}var a=t(&quot;../../plots/cartesian/axis_ids&quot;),o=t(&quot;../../traces/scatter/subtypes&quot;),s=t(&quot;../../registry&quot;),l=t(&quot;./modebar&quot;),c=t(&quot;./buttons&quot;);e.exports=function(t){var e=t._fullLayout,r=t._context,i=e._modeBar;if(r.displayModeBar){if(!Array.isArray(r.modeBarButtonsToRemove))throw new Error([&quot;*modeBarButtonsToRemove* configuration options&quot;,&quot;must be an array.&quot;].join(&quot; &quot;));if(!Array.isArray(r.modeBarButtonsToAdd))throw new Error([&quot;*modeBarButtonsToAdd* configuration options&quot;,&quot;must be an array.&quot;].join(&quot; &quot;));var a,o=r.modeBarButtons;a=Array.isArray(o)&amp;&amp;o.length?function(t){for(var e=0;e&lt;t.length;e++)for(var r=t[e],n=0;n&lt;r.length;n++){var i=r[n];if(&quot;string&quot;==typeof i){if(void 0===c[i])throw new Error([&quot;*modeBarButtons* configuration options&quot;,&quot;invalid button name&quot;].join(&quot; &quot;));t[e][n]=c[i]}}return t}(o):n(t,r.modeBarButtonsToRemove,r.modeBarButtonsToAdd),i?i.update(t,a):e._modeBar=l(t,a)}else i&amp;&amp;(i.destroy(),delete e._modeBar)}},{&quot;../../plots/cartesian/axis_ids&quot;:792,&quot;../../registry&quot;:873,&quot;../../traces/scatter/subtypes&quot;:1088,&quot;./buttons&quot;:679,&quot;./modebar&quot;:682}],682:[function(t,e,r){&quot;use strict&quot;;function n(t){this.container=t.container,this.element=document.createElement(&quot;div&quot;),this.update(t.graphInfo,t.buttons),this.container.appendChild(this.element)}var i=t(&quot;d3&quot;),a=t(&quot;../../lib&quot;),o=t(&quot;../../../build/ploticon&quot;),s=n.prototype;s.update=function(t,e){this.graphInfo=t;var r=this.graphInfo._context;&quot;hover&quot;===r.displayModeBar?this.element.className=&quot;modebar modebar--hover&quot;:this.element.className=&quot;modebar&quot;;var n=!this.hasButtons(e),i=this.hasLogo!==r.displaylogo;(n||i)&amp;&amp;(this.removeAllButtons(),this.updateButtons(e),r.displaylogo&amp;&amp;(this.element.appendChild(this.getLogo()),this.hasLogo=!0)),this.updateActiveButton()},s.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(&quot;must provide button 'name' in button config&quot;);if(-1!==e.buttonsNames.indexOf(n))throw new Error(&quot;button name '&quot;+n+&quot;' is taken&quot;);e.buttonsNames.push(n);var i=e.createButton(t);e.buttonElements.push(i),r.appendChild(i)}),e.element.appendChild(r)})},s.createGroup=function(){var t=document.createElement(&quot;div&quot;);return t.className=&quot;modebar-group&quot;,t},s.createButton=function(t){var e=this,r=document.createElement(&quot;a&quot;);r.setAttribute(&quot;rel&quot;,&quot;tooltip&quot;),r.className=&quot;modebar-btn&quot;;var n=t.title;void 0===n?n=t.name:&quot;function&quot;==typeof n&amp;&amp;(n=n(this.graphInfo)),(n||0===n)&amp;&amp;r.setAttribute(&quot;data-title&quot;,n),void 0!==t.attr&amp;&amp;r.setAttribute(&quot;data-attr&quot;,t.attr);var a=t.val;void 0!==a&amp;&amp;(&quot;function&quot;==typeof a&amp;&amp;(a=a(this.graphInfo)),r.setAttribute(&quot;data-val&quot;,a));if(&quot;function&quot;!=typeof t.click)throw new Error(&quot;must provide button 'click' function in button config&quot;);return r.addEventListener(&quot;click&quot;,function(r){t.click(e.graphInfo,r),e.updateActiveButton(r.currentTarget)}),r.setAttribute(&quot;data-toggle&quot;,t.toggle||!1),t.toggle&amp;&amp;i.select(r).classed(&quot;active&quot;,!0),r.appendChild(this.createIcon(t.icon||o.question,t.name)),r.setAttribute(&quot;data-gravity&quot;,t.gravity||&quot;n&quot;),r},s.createIcon=function(t,e){var r=t.ascent-t.descent,n=&quot;http://www.w3.org/2000/svg&quot;,i=document.createElementNS(n,&quot;svg&quot;),a=document.createElementNS(n,&quot;path&quot;);i.setAttribute(&quot;height&quot;,&quot;1em&quot;),i.setAttribute(&quot;width&quot;,t.width/r+&quot;em&quot;),i.setAttribute(&quot;viewBox&quot;,[0,0,t.width,r].join(&quot; &quot;));var o=&quot;toggleSpikelines&quot;===e?&quot;matrix(1.5 0 0 -1.5 0 &quot;+t.ascent+&quot;)&quot;:&quot;matrix(1 0 0 -1 0 &quot;+t.ascent+&quot;)&quot;;return a.setAttribute(&quot;d&quot;,t.path),a.setAttribute(&quot;transform&quot;,o),i.appendChild(a),i},s.updateActiveButton=function(t){var e=this.graphInfo._fullLayout,r=void 0!==t?t.getAttribute(&quot;data-attr&quot;):null;this.buttonElements.forEach(function(t){var n=t.getAttribute(&quot;data-val&quot;)||!0,o=t.getAttribute(&quot;data-attr&quot;),s=&quot;true&quot;===t.getAttribute(&quot;data-toggle&quot;),l=i.select(t);if(s)o===r&amp;&amp;l.classed(&quot;active&quot;,!l.classed(&quot;active&quot;));else{var c=null===o?o:a.nestedProperty(e,o).get();l.classed(&quot;active&quot;,c===n)}})},s.hasButtons=function(t){var e=this.buttons;if(!e)return!1;if(t.length!==e.length)return!1;for(var r=0;r&lt;t.length;++r){if(t[r].length!==e[r].length)return!1;for(var n=0;n&lt;t[r].length;n++)if(t[r][n].name!==e[r][n].name)return!1}return!0},s.getLogo=function(){var t=this.createGroup(),e=document.createElement(&quot;a&quot;);return e.href=&quot;https://plot.ly/&quot;,e.target=&quot;_blank&quot;,e.setAttribute(&quot;data-title&quot;,a._(this.graphInfo,&quot;Produced with Plotly&quot;)),e.className=&quot;modebar-btn plotlyjsicon modebar-btn--logo&quot;,e.appendChild(this.createIcon(o.plotlylogo)),t.appendChild(e),t},s.removeAllButtons=function(){for(;this.element.firstChild;)this.element.removeChild(this.element.firstChild);this.hasLogo=!1},s.destroy=function(){a.removeElement(this.container.querySelector(&quot;.modebar&quot;))},e.exports=function(t,e){var r=t._fullLayout,a=new n({graphInfo:t,container:r._paperdiv.node(),buttons:e});return r._privateplot&amp;&amp;i.select(a.element).append(&quot;span&quot;).classed(&quot;badge-private float--left&quot;,!0).text(&quot;PRIVATE&quot;),a}},{&quot;../../../build/ploticon&quot;:2,&quot;../../lib&quot;:743,d3:128}],683:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../plots/font_attributes&quot;),i=t(&quot;../color/attributes&quot;),a=t(&quot;../../lib/extend&quot;).extendFlat,o=t(&quot;./button_attributes&quot;);o=a(o,{_isLinkedToArray:&quot;button&quot;}),e.exports={visible:{valType:&quot;boolean&quot;,editType:&quot;plot&quot;},buttons:o,x:{valType:&quot;number&quot;,min:-2,max:3,editType:&quot;plot&quot;},xanchor:{valType:&quot;enumerated&quot;,values:[&quot;auto&quot;,&quot;left&quot;,&quot;center&quot;,&quot;right&quot;],dflt:&quot;left&quot;,editType:&quot;plot&quot;},y:{valType:&quot;number&quot;,min:-2,max:3,editType:&quot;plot&quot;},yanchor:{valType:&quot;enumerated&quot;,values:[&quot;auto&quot;,&quot;top&quot;,&quot;middle&quot;,&quot;bottom&quot;],dflt:&quot;bottom&quot;,editType:&quot;plot&quot;},font:n({editType:&quot;plot&quot;}),bgcolor:{valType:&quot;color&quot;,dflt:i.lightLine,editType:&quot;plot&quot;},activecolor:{valType:&quot;color&quot;,editType:&quot;plot&quot;},bordercolor:{valType:&quot;color&quot;,dflt:i.defaultLine,editType:&quot;plot&quot;},borderwidth:{valType:&quot;number&quot;,min:0,dflt:0,editType:&quot;plot&quot;},editType:&quot;plot&quot;}},{&quot;../../lib/extend&quot;:732,&quot;../../plots/font_attributes&quot;:816,&quot;../color/attributes&quot;:617,&quot;./button_attributes&quot;:684}],684:[function(t,e,r){&quot;use strict&quot;;e.exports={step:{valType:&quot;enumerated&quot;,values:[&quot;month&quot;,&quot;year&quot;,&quot;day&quot;,&quot;hour&quot;,&quot;minute&quot;,&quot;second&quot;,&quot;all&quot;],dflt:&quot;month&quot;,editType:&quot;plot&quot;},stepmode:{valType:&quot;enumerated&quot;,values:[&quot;backward&quot;,&quot;todate&quot;],dflt:&quot;backward&quot;,editType:&quot;plot&quot;},count:{valType:&quot;number&quot;,min:0,dflt:1,editType:&quot;plot&quot;},label:{valType:&quot;string&quot;,editType:&quot;plot&quot;},editType:&quot;plot&quot;}},{}],685:[function(t,e,r){&quot;use strict&quot;;e.exports={yPad:.02,minButtonWidth:30,rx:3,ry:3,lightAmount:25,darkAmount:10}},{}],686:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib&quot;),i=t(&quot;../color&quot;),a=t(&quot;./attributes&quot;),o=t(&quot;./button_attributes&quot;),s=t(&quot;./constants&quot;);e.exports=function(t,e,r,l,c){function u(t,e){return n.coerce(f,h,a,t,e)}var f=t.rangeselector||{},h=e.rangeselector={};if(u(&quot;visible&quot;,function(t,e,r){function i(t,e){return n.coerce(a,s,o,t,e)}for(var a,s,l=t.buttons||[],c=e.buttons=[],u=0;u&lt;l.length;u++)if(a=l[u],s={},n.isPlainObject(a)){var f=i(&quot;step&quot;);&quot;all&quot;!==f&amp;&amp;(!r||&quot;gregorian&quot;===r||&quot;month&quot;!==f&amp;&amp;&quot;year&quot;!==f?i(&quot;stepmode&quot;):s.stepmode=&quot;backward&quot;,i(&quot;count&quot;)),i(&quot;label&quot;),s._index=u,c.push(s)}return c}(f,h,c).length&gt;0)){var d=function(t,e,r){for(var n=r.filter(function(r){return e[r].anchor===t._id}),i=0,a=0;a&lt;n.length;a++){var o=e[n[a]].domain;o&amp;&amp;(i=Math.max(o[1],i))}return[t.domain[0],i+s.yPad]}(e,r,l);u(&quot;x&quot;,d[0]),u(&quot;y&quot;,d[1]),n.noneOrAll(t,e,[&quot;x&quot;,&quot;y&quot;]),u(&quot;xanchor&quot;),u(&quot;yanchor&quot;),n.coerceFont(u,&quot;font&quot;,r.font);var p=u(&quot;bgcolor&quot;);u(&quot;activecolor&quot;,i.contrast(p,s.lightAmount,s.darkAmount)),u(&quot;bordercolor&quot;),u(&quot;borderwidth&quot;)}}},{&quot;../../lib&quot;:743,&quot;../color&quot;:618,&quot;./attributes&quot;:683,&quot;./button_attributes&quot;:684,&quot;./constants&quot;:685}],687:[function(t,e,r){&quot;use strict&quot;;function n(t){return t._id}function i(t,e,r){var n=t.selectAll(&quot;rect&quot;).data([0]);n.enter().append(&quot;rect&quot;).classed(&quot;selector-rect&quot;,!0),n.attr(&quot;shape-rendering&quot;,&quot;crispEdges&quot;),n.attr({rx:m.rx,ry:m.ry}),n.call(c.stroke,e.bordercolor).call(c.fill,function(t,e){return e.isActive||e.isHovered?t.activecolor:t.bgcolor}(e,r)).style(&quot;stroke-width&quot;,e.borderwidth+&quot;px&quot;)}function a(t,e,r,n){var i=t.selectAll(&quot;text&quot;).data([0]);i.enter().append(&quot;text&quot;).classed(&quot;selector-text&quot;,!0).classed(&quot;user-select-none&quot;,!0),i.attr(&quot;text-anchor&quot;,&quot;middle&quot;),i.call(u.font,e.font).text(function(t){return t.label?t.label:&quot;all&quot;===t.step?&quot;all&quot;:t.count+t.step.charAt(0)}(r)).call(function(t){f.convertToTspans(t,n)})}var o=t(&quot;d3&quot;),s=t(&quot;../../plotly&quot;),l=t(&quot;../../plots/plots&quot;),c=t(&quot;../color&quot;),u=t(&quot;../drawing&quot;),f=t(&quot;../../lib/svg_text_utils&quot;),h=t(&quot;../../plots/cartesian/axis_ids&quot;),d=t(&quot;../legend/anchor_utils&quot;),p=t(&quot;../../constants/alignment&quot;).LINE_SPACING,m=t(&quot;./constants&quot;),g=t(&quot;./get_update_object&quot;);e.exports=function(t){var e=t._fullLayout._infolayer.selectAll(&quot;.rangeselector&quot;).data(function(t){for(var e=h.list(t,&quot;x&quot;,!0),r=[],n=0;n&lt;e.length;n++){var i=e[n];i.rangeselector&amp;&amp;i.rangeselector.visible&amp;&amp;r.push(i)}return r}(t),n);e.enter().append(&quot;g&quot;).classed(&quot;rangeselector&quot;,!0),e.exit().remove(),e.style({cursor:&quot;pointer&quot;,&quot;pointer-events&quot;:&quot;all&quot;}),e.each(function(e){var r=o.select(this),n=e,c=n.rangeselector,h=r.selectAll(&quot;g.button&quot;).data(c.buttons);h.enter().append(&quot;g&quot;).classed(&quot;button&quot;,!0),h.exit().remove(),h.each(function(e){var r=o.select(this),l=g(n,e);e.isActive=function(t,e,r){if(&quot;all&quot;===e.step)return!0===t.autorange;var n=Object.keys(r);return t.range[0]===r[n[0]]&amp;&amp;t.range[1]===r[n[1]]}(n,e,l),r.call(i,c,e),r.call(a,c,e,t),r.on(&quot;click&quot;,function(){t._dragged||s.relayout(t,l)}),r.on(&quot;mouseover&quot;,function(){e.isHovered=!0,r.call(i,c,e)}),r.on(&quot;mouseout&quot;,function(){e.isHovered=!1,r.call(i,c,e)})}),function(t,e,r,n){r.width=0,r.height=0;var i=r.borderwidth;e.each(function(){var t=o.select(this).select(&quot;.selector-text&quot;),e=r.font.size*p,n=Math.max(e*f.lineCount(t),16)+3;r.height=Math.max(r.height,n)}),e.each(function(){var t=o.select(this),e=t.select(&quot;.selector-rect&quot;),n=t.select(&quot;.selector-text&quot;),a=n.node()&amp;&amp;u.bBox(n.node()).width,s=r.font.size*p,l=f.lineCount(n),c=Math.max(a+10,m.minButtonWidth);t.attr(&quot;transform&quot;,&quot;translate(&quot;+(i+r.width)+&quot;,&quot;+i+&quot;)&quot;),e.attr({x:0,y:0,width:c,height:r.height}),f.positionText(n,c/2,r.height/2-(l-1)*s/2+3),r.width+=c+5}),e.selectAll(&quot;rect&quot;).attr(&quot;height&quot;,r.height);var a=t._fullLayout._size;r.lx=a.l+a.w*r.x,r.ly=a.t+a.h*(1-r.y);var s=&quot;left&quot;;d.isRightAnchor(r)&amp;&amp;(r.lx-=r.width,s=&quot;right&quot;),d.isCenterAnchor(r)&amp;&amp;(r.lx-=r.width/2,s=&quot;center&quot;);var c=&quot;top&quot;;d.isBottomAnchor(r)&amp;&amp;(r.ly-=r.height,c=&quot;bottom&quot;),d.isMiddleAnchor(r)&amp;&amp;(r.ly-=r.height/2,c=&quot;middle&quot;),r.width=Math.ceil(r.width),r.height=Math.ceil(r.height),r.lx=Math.round(r.lx),r.ly=Math.round(r.ly),l.autoMargin(t,n+&quot;-range-selector&quot;,{x:r.x,y:r.y,l:r.width*({right:1,center:.5}[s]||0),r:r.width*({left:1,center:.5}[s]||0),b:r.height*({top:1,middle:.5}[c]||0),t:r.height*({bottom:1,middle:.5}[c]||0)})}(t,h,c,n._name),r.attr(&quot;transform&quot;,&quot;translate(&quot;+c.lx+&quot;,&quot;+c.ly+&quot;)&quot;)})}},{&quot;../../constants/alignment&quot;:716,&quot;../../lib/svg_text_utils&quot;:766,&quot;../../plotly&quot;:784,&quot;../../plots/cartesian/axis_ids&quot;:792,&quot;../../plots/plots&quot;:852,&quot;../color&quot;:618,&quot;../drawing&quot;:643,&quot;../legend/anchor_utils&quot;:669,&quot;./constants&quot;:685,&quot;./get_update_object&quot;:688,d3:128}],688:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;d3&quot;);e.exports=function(t,e){var r=t._name,i={};if(&quot;all&quot;===e.step)i[r+&quot;.autorange&quot;]=!0;else{var a=function(t,e){var r,i=t.range,a=new Date(t.r2l(i[1])),o=e.step,s=e.count;switch(e.stepmode){case&quot;backward&quot;:r=t.l2r(+n.time[o].utc.offset(a,-s));break;case&quot;todate&quot;:var l=n.time[o].utc.offset(a,-s);r=t.l2r(+n.time[o].utc.ceil(l))}return[r,i[1]]}(t,e);i[r+&quot;.range[0]&quot;]=a[0],i[r+&quot;.range[1]&quot;]=a[1]}return i}},{d3:128}],689:[function(t,e,r){&quot;use strict&quot;;e.exports={moduleType:&quot;component&quot;,name:&quot;rangeselector&quot;,schema:{subplots:{xaxis:{rangeselector:t(&quot;./attributes&quot;)}}},layoutAttributes:t(&quot;./attributes&quot;),handleDefaults:t(&quot;./defaults&quot;),draw:t(&quot;./draw&quot;)}},{&quot;./attributes&quot;:683,&quot;./defaults&quot;:686,&quot;./draw&quot;:687}],690:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../color/attributes&quot;);e.exports={bgcolor:{valType:&quot;color&quot;,dflt:n.background,editType:&quot;calc&quot;},bordercolor:{valType:&quot;color&quot;,dflt:n.defaultLine,editType:&quot;calc&quot;},borderwidth:{valType:&quot;integer&quot;,dflt:0,min:0,editType:&quot;calc&quot;},autorange:{valType:&quot;boolean&quot;,dflt:!0,editType:&quot;calc&quot;},range:{valType:&quot;info_array&quot;,items:[{valType:&quot;any&quot;,editType:&quot;calc&quot;},{valType:&quot;any&quot;,editType:&quot;calc&quot;}],editType:&quot;calc&quot;},thickness:{valType:&quot;number&quot;,dflt:.15,min:0,max:1,editType:&quot;calc&quot;},visible:{valType:&quot;boolean&quot;,dflt:!0,editType:&quot;calc&quot;},editType:&quot;calc&quot;}},{&quot;../color/attributes&quot;:617}],691:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../plots/cartesian/axes&quot;),i=t(&quot;./constants&quot;);e.exports=function(t){for(var e=n.list(t,&quot;x&quot;,!0),r=0;r&lt;e.length;r++){var a=e[r],o=a[i.name];o&amp;&amp;o.visible&amp;&amp;o.autorange&amp;&amp;a._min.length&amp;&amp;a._max.length&amp;&amp;(o._input.autorange=!0,o._input.range=o.range=n.getAutoRange(a))}}},{&quot;../../plots/cartesian/axes&quot;:789,&quot;./constants&quot;:692}],692:[function(t,e,r){&quot;use strict&quot;;e.exports={name:&quot;rangeslider&quot;,containerClassName:&quot;rangeslider-container&quot;,bgClassName:&quot;rangeslider-bg&quot;,rangePlotClassName:&quot;rangeslider-rangeplot&quot;,maskMinClassName:&quot;rangeslider-mask-min&quot;,maskMaxClassName:&quot;rangeslider-mask-max&quot;,slideBoxClassName:&quot;rangeslider-slidebox&quot;,grabberMinClassName:&quot;rangeslider-grabber-min&quot;,grabAreaMinClassName:&quot;rangeslider-grabarea-min&quot;,handleMinClassName:&quot;rangeslider-handle-min&quot;,grabberMaxClassName:&quot;rangeslider-grabber-max&quot;,grabAreaMaxClassName:&quot;rangeslider-grabarea-max&quot;,handleMaxClassName:&quot;rangeslider-handle-max&quot;,maskColor:&quot;rgba(0,0,0,0.4)&quot;,slideBoxFill:&quot;transparent&quot;,slideBoxCursor:&quot;ew-resize&quot;,grabAreaFill:&quot;transparent&quot;,grabAreaCursor:&quot;col-resize&quot;,grabAreaWidth:10,handleWidth:4,handleRadius:1,handleStrokeWidth:1,extraPad:15}},{}],693:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib&quot;),i=t(&quot;./attributes&quot;);e.exports=function(t,e,r){function a(t,e){return n.coerce(o,l,i,t,e)}if(t[r].rangeslider){n.isPlainObject(t[r].rangeslider)||(t[r].rangeslider={});var o=t[r].rangeslider,s=e[r],l=s.rangeslider={};if(a(&quot;visible&quot;)){if(a(&quot;bgcolor&quot;,e.plot_bgcolor),a(&quot;bordercolor&quot;),a(&quot;borderwidth&quot;),a(&quot;thickness&quot;),a(&quot;autorange&quot;,!s.isValidRange(o.range)),a(&quot;range&quot;),l.range){var c=l.range,u=s.range;c[0]=s.l2r(Math.min(s.r2l(c[0]),s.r2l(u[0]))),c[1]=s.l2r(Math.max(s.r2l(c[1]),s.r2l(u[1])))}s.cleanRange(&quot;rangeslider.range&quot;),l._input=o}}}},{&quot;../../lib&quot;:743,&quot;./attributes&quot;:690}],694:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,n){var i=t.select(&quot;rect.&quot;+b.slideBoxClassName).node(),a=t.select(&quot;rect.&quot;+b.grabAreaMinClassName).node(),o=t.select(&quot;rect.&quot;+b.grabAreaMaxClassName).node();t.on(&quot;mousedown&quot;,function(){function s(t){var s,l,c,y=+t.clientX-p;switch(h){case i:c=&quot;ew-resize&quot;,s=g+y,l=v+y;break;case a:c=&quot;col-resize&quot;,s=g+y,l=v;break;case o:c=&quot;col-resize&quot;,s=g,l=v+y;break;default:c=&quot;ew-resize&quot;,s=m,l=m+y}if(l&lt;s){var _=l;l=s,s=_}n._pixelMin=s,n._pixelMax=l,x(u.select(b),c),function(t,e,r,n){function i(t){return r.l2r(d.constrain(t,n._rl[0],n._rl[1]))}var a=i(n.p2d(n._pixelMin)),o=i(n.p2d(n._pixelMax));window.requestAnimationFrame(function(){f.relayout(e,r._name+&quot;.range&quot;,[a,o])})}(0,e,r,n)}function l(){b.removeEventListener(&quot;mousemove&quot;,s),b.removeEventListener(&quot;mouseup&quot;,l),d.removeElement(b)}var c=u.event,h=c.target,p=c.clientX,m=p-t.node().getBoundingClientRect().left,g=n.d2p(r._rl[0]),v=n.d2p(r._rl[1]),b=y.coverSlip();b.addEventListener(&quot;mousemove&quot;,s),b.addEventListener(&quot;mouseup&quot;,l)})}function i(t,e,r,n){var i=t.selectAll(&quot;rect.&quot;+b.bgClassName).data([0]);i.enter().append(&quot;rect&quot;).classed(b.bgClassName,!0).attr({x:0,y:0,&quot;shape-rendering&quot;:&quot;crispEdges&quot;});var a=n.borderwidth%2==0?n.borderwidth:n.borderwidth-1,o=-n._offsetShift,s=p.crispRound(e,n.borderwidth);i.attr({width:n._width+a,height:n._height+a,transform:&quot;translate(&quot;+o+&quot;,&quot;+o+&quot;)&quot;,fill:n.bgcolor,stroke:n.bordercolor,&quot;stroke-width&quot;:s})}function a(t,e,r,n){var i=e._fullLayout._topdefs.selectAll(&quot;#&quot;+n._clipId).data([0]);i.enter().append(&quot;clipPath&quot;).attr(&quot;id&quot;,n._clipId).append(&quot;rect&quot;).attr({x:0,y:0}),i.select(&quot;rect&quot;).attr({width:n._width,height:n._height})}function o(t,e,r,n){var i=v.getSubplots(e,r),a=e.calcdata,o=t.selectAll(&quot;g.&quot;+b.rangePlotClassName).data(i,d.identity);o.enter().append(&quot;g&quot;).attr(&quot;class&quot;,function(t){return b.rangePlotClassName+&quot; &quot;+t}).call(p.setClipUrl,n._clipId),o.order(),o.exit().remove();var s;o.each(function(t,i){var o=u.select(this),l=0===i,c=v.getFromId(e,t,&quot;y&quot;),f=c._name,d={data:[],layout:{xaxis:{type:r.type,domain:[0,1],range:n.range.slice(),calendar:r.calendar},width:n._width,height:n._height,margin:{t:0,b:0,l:0,r:0}},_context:e._context};d.layout[f]={type:c.type,domain:[0,1],range:c.range.slice(),calendar:c.calendar},h.supplyDefaults(d);var p={id:t,plotgroup:o,xaxis:d._fullLayout.xaxis,yaxis:d._fullLayout[f]};l?s=p:(p.mainplot=&quot;xy&quot;,p.mainplotinfo=s),g.rangePlot(e,p,function(t,e){for(var r=[],n=0;n&lt;t.length;n++){var i=t[n],a=i[0].trace;a.xaxis+a.yaxis===e&amp;&amp;r.push(i)}return r}(a,t))})}function s(t,e,r,n){var i=t.selectAll(&quot;rect.&quot;+b.maskMinClassName).data([0]);i.enter().append(&quot;rect&quot;).classed(b.maskMinClassName,!0).attr({x:0,y:0}).attr(&quot;shape-rendering&quot;,&quot;crispEdges&quot;),i.attr(&quot;height&quot;,n._height).call(m.fill,b.maskColor);var a=t.selectAll(&quot;rect.&quot;+b.maskMaxClassName).data([0]);a.enter().append(&quot;rect&quot;).classed(b.maskMaxClassName,!0).attr(&quot;y&quot;,0).attr(&quot;shape-rendering&quot;,&quot;crispEdges&quot;),a.attr(&quot;height&quot;,n._height).call(m.fill,b.maskColor)}function l(t,e,r,n){if(!e._context.staticPlot){var i=t.selectAll(&quot;rect.&quot;+b.slideBoxClassName).data([0]);i.enter().append(&quot;rect&quot;).classed(b.slideBoxClassName,!0).attr(&quot;y&quot;,0).attr(&quot;cursor&quot;,b.slideBoxCursor).attr(&quot;shape-rendering&quot;,&quot;crispEdges&quot;),i.attr({height:n._height,fill:b.slideBoxFill})}}function c(t,e,r,n){var i=t.selectAll(&quot;g.&quot;+b.grabberMinClassName).data([0]);i.enter().append(&quot;g&quot;).classed(b.grabberMinClassName,!0);var a=t.selectAll(&quot;g.&quot;+b.grabberMaxClassName).data([0]);a.enter().append(&quot;g&quot;).classed(b.grabberMaxClassName,!0);var o={x:0,width:b.handleWidth,rx:b.handleRadius,fill:m.background,stroke:m.defaultLine,&quot;stroke-width&quot;:b.handleStrokeWidth,&quot;shape-rendering&quot;:&quot;crispEdges&quot;},s={y:Math.round(n._height/4),height:Math.round(n._height/2)},l=i.selectAll(&quot;rect.&quot;+b.handleMinClassName).data([0]);l.enter().append(&quot;rect&quot;).classed(b.handleMinClassName,!0).attr(o),l.attr(s);var c=a.selectAll(&quot;rect.&quot;+b.handleMaxClassName).data([0]);if(c.enter().append(&quot;rect&quot;).classed(b.handleMaxClassName,!0).attr(o),c.attr(s),!e._context.staticPlot){var u={width:b.grabAreaWidth,x:0,y:0,fill:b.grabAreaFill,cursor:b.grabAreaCursor},f=i.selectAll(&quot;rect.&quot;+b.grabAreaMinClassName).data([0]);f.enter().append(&quot;rect&quot;).classed(b.grabAreaMinClassName,!0).attr(u),f.attr(&quot;height&quot;,n._height);var h=a.selectAll(&quot;rect.&quot;+b.grabAreaMaxClassName).data([0]);h.enter().append(&quot;rect&quot;).classed(b.grabAreaMaxClassName,!0).attr(u),h.attr(&quot;height&quot;,n._height)}}var u=t(&quot;d3&quot;),f=t(&quot;../../plotly&quot;),h=t(&quot;../../plots/plots&quot;),d=t(&quot;../../lib&quot;),p=t(&quot;../drawing&quot;),m=t(&quot;../color&quot;),g=t(&quot;../../plots/cartesian&quot;),v=t(&quot;../../plots/cartesian/axes&quot;),y=t(&quot;../dragelement&quot;),x=t(&quot;../../lib/setcursor&quot;),b=t(&quot;./constants&quot;);e.exports=function(t){var e=t._fullLayout,r=function(t){var e=v.list({_fullLayout:t},&quot;x&quot;,!0),r=b.name,n=[];if(t._has(&quot;gl2d&quot;))return n;for(var i=0;i&lt;e.length;i++){var a=e[i];a[r]&amp;&amp;a[r].visible&amp;&amp;n.push(a)}return n}(e),f=e._infolayer.selectAll(&quot;g.&quot;+b.containerClassName).data(r,function(t){return t._name});f.enter().append(&quot;g&quot;).classed(b.containerClassName,!0).attr(&quot;pointer-events&quot;,&quot;all&quot;),f.exit().each(function(t){var r=u.select(this),n=t[b.name];r.remove(),e._topdefs.select(&quot;#&quot;+n._clipId).remove()}),f.exit().size()&amp;&amp;function(t){for(var e=t._fullLayout._pushmargin||{},r=Object.keys(e),n=0;n&lt;r.length;n++){var i=r[n];-1!==i.indexOf(b.name)&amp;&amp;h.autoMargin(t,i)}}(t),0!==r.length&amp;&amp;f.each(function(r){var f=u.select(this),p=r[b.name],m=e[v.id2name(r.anchor)],g=e.margin,y=e._size,x=r.domain,_=m.domain,w=(r._boundingBox||{}).height||0;p._id=b.name+r._id,p._clipId=p._id+&quot;-&quot;+e._uid,p._width=y.w*(x[1]-x[0]),p._height=(e.height-g.b-g.t)*p.thickness,p._offsetShift=Math.floor(p.borderwidth/2);var M=Math.round(g.l+y.w*x[0]),k=Math.round(g.t+y.h*(1-_[0])+w+p._offsetShift+b.extraPad);f.attr(&quot;transform&quot;,&quot;translate(&quot;+M+&quot;,&quot;+k+&quot;)&quot;);var A=r.r2l(p.range[0]),T=r.r2l(p.range[1]),S=T-A;p.p2d=function(t){return t/p._width*S+A},p.d2p=function(t){return(t-A)/S*p._width},p._rl=[A,T],f.call(i,t,r,p).call(a,t,r,p).call(o,t,r,p).call(s,t,r,p).call(l,t,r,p).call(c,t,r,p),n(f,t,r,p),function(t,e,r,n){function i(t){return d.constrain(t,0,n._width)}function a(t){return d.constrain(t,-o,n._width+o)}var o=b.handleWidth/2,s=i(n.d2p(r._rl[0])),l=i(n.d2p(r._rl[1]));t.select(&quot;rect.&quot;+b.slideBoxClassName).attr(&quot;x&quot;,s).attr(&quot;width&quot;,l-s),t.select(&quot;rect.&quot;+b.maskMinClassName).attr(&quot;width&quot;,s),t.select(&quot;rect.&quot;+b.maskMaxClassName).attr(&quot;x&quot;,l).attr(&quot;width&quot;,n._width-l);var c=Math.round(a(s-o))-.5,u=Math.round(a(l-o))+.5;t.select(&quot;g.&quot;+b.grabberMinClassName).attr(&quot;transform&quot;,&quot;translate(&quot;+c+&quot;,0.5)&quot;),t.select(&quot;g.&quot;+b.grabberMaxClassName).attr(&quot;transform&quot;,&quot;translate(&quot;+u+&quot;,0.5)&quot;)}(f,0,r,p),h.autoMargin(t,p._id,{x:x[0],y:_[0],l:0,r:0,t:0,b:p._height+g.b+w,pad:b.extraPad+2*p._offsetShift})})}},{&quot;../../lib&quot;:743,&quot;../../lib/setcursor&quot;:762,&quot;../../plotly&quot;:784,&quot;../../plots/cartesian&quot;:800,&quot;../../plots/cartesian/axes&quot;:789,&quot;../../plots/plots&quot;:852,&quot;../color&quot;:618,&quot;../dragelement&quot;:640,&quot;../drawing&quot;:643,&quot;./constants&quot;:692,d3:128}],695:[function(t,e,r){&quot;use strict&quot;;e.exports={moduleType:&quot;component&quot;,name:&quot;rangeslider&quot;,schema:{subplots:{xaxis:{rangeslider:t(&quot;./attributes&quot;)}}},layoutAttributes:t(&quot;./attributes&quot;),handleDefaults:t(&quot;./defaults&quot;),calcAutorange:t(&quot;./calc_autorange&quot;),draw:t(&quot;./draw&quot;)}},{&quot;./attributes&quot;:690,&quot;./calc_autorange&quot;:691,&quot;./defaults&quot;:693,&quot;./draw&quot;:694}],696:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../annotations/attributes&quot;),i=t(&quot;../../traces/scatter/attributes&quot;).line,a=t(&quot;../drawing/attributes&quot;).dash,o=t(&quot;../../lib/extend&quot;).extendFlat;e.exports={_isLinkedToArray:&quot;shape&quot;,visible:{valType:&quot;boolean&quot;,dflt:!0,editType:&quot;calcIfAutorange&quot;},type:{valType:&quot;enumerated&quot;,values:[&quot;circle&quot;,&quot;rect&quot;,&quot;path&quot;,&quot;line&quot;],editType:&quot;calcIfAutorange&quot;},layer:{valType:&quot;enumerated&quot;,values:[&quot;below&quot;,&quot;above&quot;],dflt:&quot;above&quot;,editType:&quot;arraydraw&quot;},xref:o({},n.xref,{}),x0:{valType:&quot;any&quot;,editType:&quot;calcIfAutorange&quot;},x1:{valType:&quot;any&quot;,editType:&quot;calcIfAutorange&quot;},yref:o({},n.yref,{}),y0:{valType:&quot;any&quot;,editType:&quot;calcIfAutorange&quot;},y1:{valType:&quot;any&quot;,editType:&quot;calcIfAutorange&quot;},path:{valType:&quot;string&quot;,editType:&quot;calcIfAutorange&quot;},opacity:{valType:&quot;number&quot;,min:0,max:1,dflt:1,editType:&quot;arraydraw&quot;},line:{color:o({},i.color,{editType:&quot;arraydraw&quot;}),width:o({},i.width,{editType:&quot;calcIfAutorange&quot;}),dash:o({},a,{editType:&quot;arraydraw&quot;}),editType:&quot;calcIfAutorange&quot;},fillcolor:{valType:&quot;color&quot;,dflt:&quot;rgba(0,0,0,0)&quot;,editType:&quot;arraydraw&quot;},editType:&quot;arraydraw&quot;}},{&quot;../../lib/extend&quot;:732,&quot;../../traces/scatter/attributes&quot;:1066,&quot;../annotations/attributes&quot;:601,&quot;../drawing/attributes&quot;:642}],697:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,n,i){var a=&quot;category&quot;===t.type?t.r2c:t.d2c;if(void 0!==e)return[a(e),a(r)];if(n){var l,c,u,f,h=1/0,d=-1/0,p=n.match(o.segmentRE);for(&quot;date&quot;===t.type&amp;&amp;(a=s.decodeDate(a)),l=0;l&lt;p.length;l++)void 0!==(c=i[p[l].charAt(0)].drawn)&amp;&amp;(!(u=p[l].substr(1).match(o.paramRE))||u.length&lt;c||((f=a(u[c]))&lt;h&amp;&amp;(h=f),f&gt;d&amp;&amp;(d=f)));return d&gt;=h?[h,d]:void 0}}var i=t(&quot;../../lib&quot;),a=t(&quot;../../plots/cartesian/axes&quot;),o=t(&quot;./constants&quot;),s=t(&quot;./helpers&quot;);e.exports=function(t){var e=t._fullLayout,r=i.filterVisible(e.shapes);if(r.length&amp;&amp;t._fullData.length)for(var s=0;s&lt;r.length;s++){var l,c,u=r[s],f=u.line.width/2;&quot;paper&quot;!==u.xref&amp;&amp;(c=n(l=a.getFromId(t,u.xref),u.x0,u.x1,u.path,o.paramIsX))&amp;&amp;a.expand(l,c,{ppad:f}),&quot;paper&quot;!==u.yref&amp;&amp;(c=n(l=a.getFromId(t,u.yref),u.y0,u.y1,u.path,o.paramIsY))&amp;&amp;a.expand(l,c,{ppad:f})}}},{&quot;../../lib&quot;:743,&quot;../../plots/cartesian/axes&quot;:789,&quot;./constants&quot;:698,&quot;./helpers&quot;:701}],698:[function(t,e,r){&quot;use strict&quot;;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}}},{}],699:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../plots/array_container_defaults&quot;),i=t(&quot;./shape_defaults&quot;);e.exports=function(t,e){n(t,e,{name:&quot;shapes&quot;,handleItemDefaults:i})}},{&quot;../../plots/array_container_defaults&quot;:786,&quot;./shape_defaults&quot;:703}],700:[function(t,e,r){&quot;use strict&quot;;function n(t,e){function r(r){var n={&quot;data-index&quot;:e,&quot;fill-rule&quot;:&quot;evenodd&quot;,d:i(t,s)},d=s.line.width?s.line.color:&quot;rgba(0,0,0,0)&quot;,m=r.append(&quot;path&quot;).attr(n).style(&quot;opacity&quot;,s.opacity).call(c.stroke,d).call(c.fill,s.fillcolor).call(u.dashLine,s.line.dash,s.line.width),g=(s.xref+s.yref).replace(/paper/g,&quot;&quot;);m.call(u.setClipUrl,g?&quot;clip&quot;+t._fullLayout._uid+g:null),t._context.edits.shapePosition&amp;&amp;function(t,e,r,n){function s(t){var r=G.right-G.left,n=G.bottom-G.top,i=t.clientX-G.left,a=t.clientY-G.top,o=r&gt;V&amp;&amp;n&gt;q&amp;&amp;!t.shiftKey?f.getCursor(i/r,1-a/n):&quot;move&quot;;h(e,o),U=o.split(&quot;-&quot;)[0]}var c,u,d,m,g,v,y,x,b,_,w,M,k,A,T,S,E,L,C,z,D,I,P,O,F,R,N,j,B,U,V=10,q=10,H={element:e.node(),gd:t,prepFn:function(o){O=l.getFromId(t,r.xref),F=l.getFromId(t,r.yref),R=p.getDataToPixel(t,O),N=p.getDataToPixel(t,F,!0),j=p.getPixelToData(t,O),B=p.getPixelToData(t,F,!0);var f=&quot;shapes[&quot;+n+&quot;]&quot;;&quot;path&quot;===r.type?(I=r.path,P=f+&quot;.path&quot;):(u=R(r.x0),d=N(r.y0),m=R(r.x1),g=N(r.y1),v=f+&quot;.x0&quot;,y=f+&quot;.y0&quot;,x=f+&quot;.x1&quot;,b=f+&quot;.y1&quot;);u&lt;m?(M=u,S=f+&quot;.x0&quot;,z=&quot;x0&quot;,k=m,E=f+&quot;.x1&quot;,D=&quot;x1&quot;):(M=m,S=f+&quot;.x1&quot;,z=&quot;x1&quot;,k=u,E=f+&quot;.x0&quot;,D=&quot;x0&quot;);d&lt;g?(_=d,A=f+&quot;.y0&quot;,L=&quot;y0&quot;,w=g,T=f+&quot;.y1&quot;,C=&quot;y1&quot;):(_=g,A=f+&quot;.y1&quot;,L=&quot;y1&quot;,w=d,T=f+&quot;.y0&quot;,C=&quot;y0&quot;);c={},s(o),H.moveFn=&quot;move&quot;===U?function(n,o){if(&quot;path&quot;===r.type){var s=function(t){return j(R(t)+n)};O&amp;&amp;&quot;date&quot;===O.type&amp;&amp;(s=p.encodeDate(s));var l=function(t){return B(N(t)+o)};F&amp;&amp;&quot;date&quot;===F.type&amp;&amp;(l=p.encodeDate(l)),r.path=a(I,s,l),c[P]=r.path}else c[v]=r.x0=j(u+n),c[y]=r.y0=B(d+o),c[x]=r.x1=j(m+n),c[b]=r.y1=B(g+o);e.attr(&quot;d&quot;,i(t,r))}:function(n,o){if(&quot;path&quot;===r.type){var s=function(t){return j(R(t)+n)};O&amp;&amp;&quot;date&quot;===O.type&amp;&amp;(s=p.encodeDate(s));var l=function(t){return B(N(t)+o)};F&amp;&amp;&quot;date&quot;===F.type&amp;&amp;(l=p.encodeDate(l)),r.path=a(I,s,l),c[P]=r.path}else{var u=~U.indexOf(&quot;n&quot;)?_+o:_,f=~U.indexOf(&quot;s&quot;)?w+o:w,h=~U.indexOf(&quot;w&quot;)?M+n:M,d=~U.indexOf(&quot;e&quot;)?k+n:k;f-u&gt;q&amp;&amp;(c[A]=r[L]=B(u),c[T]=r[C]=B(f)),d-h&gt;V&amp;&amp;(c[S]=r[z]=j(h),c[E]=r[D]=j(d))}e.attr(&quot;d&quot;,i(t,r))}},doneFn:function(){h(e),o.relayout(t,c)}},G=H.element.getBoundingClientRect();f.init(H),e.node().onmousemove=s}(t,m,s,e)}t._fullLayout._paperdiv.selectAll('.shapelayer [data-index=&quot;'+e+'&quot;]').remove();var n=(t.layout.shapes||[])[e],s=t._fullLayout.shapes[e];if(n&amp;&amp;!1!==s.visible)if(&quot;below&quot;!==s.layer)r(t._fullLayout._shapeUpperLayer);else if(&quot;paper&quot;===s.xref||&quot;paper&quot;===s.yref)r(t._fullLayout._shapeLowerLayer);else{var d=t._fullLayout._plots[s.xref+s.yref];if(d){r((d.mainplotinfo||d).shapelayer)}else r(t._fullLayout._shapeLowerLayer)}}function i(t,e){var r,n,i,a,o=e.type,c=l.getFromId(t,e.xref),u=l.getFromId(t,e.yref),f=t._fullLayout._size;if(c?(r=p.shapePositionToRange(c),n=function(t){return c._offset+c.r2p(r(t,!0))}):n=function(t){return f.l+f.w*t},u?(i=p.shapePositionToRange(u),a=function(t){return u._offset+u.r2p(i(t,!0))}):a=function(t){return f.t+f.h*(1-t)},&quot;path&quot;===o)return c&amp;&amp;&quot;date&quot;===c.type&amp;&amp;(n=p.decodeDate(n)),u&amp;&amp;&quot;date&quot;===u.type&amp;&amp;(a=p.decodeDate(a)),function(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],l=d.numParams[i],c=t.substr(1).replace(d.paramRE,function(t){return a[n]?t=e(t):o[n]&amp;&amp;(t=r(t)),++n&gt;l&amp;&amp;(t=&quot;X&quot;),t});return n&gt;l&amp;&amp;(c=c.replace(/[\s,]*X.*/,&quot;&quot;),s.log(&quot;Ignoring extra params in segment &quot;+t)),i+c})}(e.path,n,a);var h=n(e.x0),m=n(e.x1),g=a(e.y0),v=a(e.y1);if(&quot;line&quot;===o)return&quot;M&quot;+h+&quot;,&quot;+g+&quot;L&quot;+m+&quot;,&quot;+v;if(&quot;rect&quot;===o)return&quot;M&quot;+h+&quot;,&quot;+g+&quot;H&quot;+m+&quot;V&quot;+v+&quot;H&quot;+h+&quot;Z&quot;;var y=(h+m)/2,x=(g+v)/2,b=Math.abs(y-h),_=Math.abs(x-g),w=&quot;A&quot;+b+&quot;,&quot;+_,M=y+b+&quot;,&quot;+x;return&quot;M&quot;+M+w+&quot; 0 1,1 &quot;+(y+&quot;,&quot;+(x-_))+w+&quot; 0 0,1 &quot;+M+&quot;Z&quot;}function a(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&gt;=s?t:(a[n]?t=e(t):o[n]&amp;&amp;(t=r(t)),n++,t)})})}var o=t(&quot;../../plotly&quot;),s=t(&quot;../../lib&quot;),l=t(&quot;../../plots/cartesian/axes&quot;),c=t(&quot;../color&quot;),u=t(&quot;../drawing&quot;),f=t(&quot;../dragelement&quot;),h=t(&quot;../../lib/setcursor&quot;),d=t(&quot;./constants&quot;),p=t(&quot;./helpers&quot;);e.exports={draw:function(t){var e=t._fullLayout;e._shapeUpperLayer.selectAll(&quot;path&quot;).remove(),e._shapeLowerLayer.selectAll(&quot;path&quot;).remove(),e._shapeSubplotLayers.selectAll(&quot;path&quot;).remove();for(var r=0;r&lt;e.shapes.length;r++)e.shapes[r].visible&amp;&amp;n(t,r)},drawOne:n}},{&quot;../../lib&quot;:743,&quot;../../lib/setcursor&quot;:762,&quot;../../plotly&quot;:784,&quot;../../plots/cartesian/axes&quot;:789,&quot;../color&quot;:618,&quot;../dragelement&quot;:640,&quot;../drawing&quot;:643,&quot;./constants&quot;:698,&quot;./helpers&quot;:701}],701:[function(t,e,r){&quot;use strict&quot;;r.rangeToShapePosition=function(t){return&quot;log&quot;===t.type?t.r2d:function(t){return t}},r.shapePositionToRange=function(t){return&quot;log&quot;===t.type?t.d2r:function(t){return t}},r.decodeDate=function(t){return function(e){return e.replace&amp;&amp;(e=e.replace(&quot;_&quot;,&quot; &quot;)),t(e)}},r.encodeDate=function(t){return function(e){return t(e).replace(&quot; &quot;,&quot;_&quot;)}},r.getDataToPixel=function(t,e,n){var i,a=t._fullLayout._size;if(e){var o=r.shapePositionToRange(e);i=function(t){return e._offset+e.r2p(o(t,!0))},&quot;date&quot;===e.type&amp;&amp;(i=r.decodeDate(i))}else i=n?function(t){return a.t+a.h*(1-t)}:function(t){return a.l+a.w*t};return i},r.getPixelToData=function(t,e,n){var i,a=t._fullLayout._size;if(e){var o=r.rangeToShapePosition(e);i=function(t){return o(e.p2r(t-e._offset))}}else i=n?function(t){return 1-(t-a.t)/a.h}:function(t){return(t-a.l)/a.w};return i}},{}],702:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;./draw&quot;);e.exports={moduleType:&quot;component&quot;,name:&quot;shapes&quot;,layoutAttributes:t(&quot;./attributes&quot;),supplyLayoutDefaults:t(&quot;./defaults&quot;),includeBasePlot:t(&quot;../../plots/cartesian/include_components&quot;)(&quot;shapes&quot;),calcAutorange:t(&quot;./calc_autorange&quot;),draw:n.draw,drawOne:n.drawOne}},{&quot;../../plots/cartesian/include_components&quot;:799,&quot;./attributes&quot;:696,&quot;./calc_autorange&quot;:697,&quot;./defaults&quot;:699,&quot;./draw&quot;:700}],703:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib&quot;),i=t(&quot;../../plots/cartesian/axes&quot;),a=t(&quot;./attributes&quot;),o=t(&quot;./helpers&quot;);e.exports=function(t,e,r,s,l){function c(r,i){return n.coerce(t,e,a,r,i)}s=s||{};if(!c(&quot;visible&quot;,!(l=l||{}).itemIsNotPlainObject))return e;c(&quot;layer&quot;),c(&quot;opacity&quot;),c(&quot;fillcolor&quot;),c(&quot;line.color&quot;),c(&quot;line.width&quot;),c(&quot;line.dash&quot;);for(var u=c(&quot;type&quot;,t.path?&quot;path&quot;:&quot;rect&quot;),f=[&quot;x&quot;,&quot;y&quot;],h=0;h&lt;2;h++){var d=f[h],p={_fullLayout:r},m=i.coerceRef(t,e,p,d,&quot;&quot;,&quot;paper&quot;);if(&quot;path&quot;!==u){var g,v,y;&quot;paper&quot;!==m?(g=i.getFromId(p,m),y=o.rangeToShapePosition(g),v=o.shapePositionToRange(g)):v=y=n.identity;var x=d+&quot;0&quot;,b=d+&quot;1&quot;,_=t[x],w=t[b];t[x]=v(t[x],!0),t[b]=v(t[b],!0),i.coercePosition(e,p,c,m,x,.25),i.coercePosition(e,p,c,m,b,.75),e[x]=y(e[x]),e[b]=y(e[b]),t[x]=_,t[b]=w}}return&quot;path&quot;===u?c(&quot;path&quot;):n.noneOrAll(t,e,[&quot;x0&quot;,&quot;x1&quot;,&quot;y0&quot;,&quot;y1&quot;]),e}},{&quot;../../lib&quot;:743,&quot;../../plots/cartesian/axes&quot;:789,&quot;./attributes&quot;:696,&quot;./helpers&quot;:701}],704:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../plots/font_attributes&quot;),i=t(&quot;../../plots/pad_attributes&quot;),a=t(&quot;../../lib/extend&quot;).extendDeepAll,o=t(&quot;../../plot_api/edit_types&quot;).overrideAll,s=t(&quot;../../plots/animation_attributes&quot;),l=t(&quot;./constants&quot;);e.exports=o({_isLinkedToArray:&quot;slider&quot;,visible:{valType:&quot;boolean&quot;,dflt:!0},active:{valType:&quot;number&quot;,min:0,dflt:0},steps:{_isLinkedToArray:&quot;step&quot;,method:{valType:&quot;enumerated&quot;,values:[&quot;restyle&quot;,&quot;relayout&quot;,&quot;animate&quot;,&quot;update&quot;,&quot;skip&quot;],dflt:&quot;restyle&quot;},args:{valType:&quot;info_array&quot;,freeLength:!0,items:[{valType:&quot;any&quot;},{valType:&quot;any&quot;},{valType:&quot;any&quot;}]},label:{valType:&quot;string&quot;},value:{valType:&quot;string&quot;},execute:{valType:&quot;boolean&quot;,dflt:!0}},lenmode:{valType:&quot;enumerated&quot;,values:[&quot;fraction&quot;,&quot;pixels&quot;],dflt:&quot;fraction&quot;},len:{valType:&quot;number&quot;,min:0,dflt:1},x:{valType:&quot;number&quot;,min:-2,max:3,dflt:0},pad:a({},i,{},{t:{dflt:20}}),xanchor:{valType:&quot;enumerated&quot;,values:[&quot;auto&quot;,&quot;left&quot;,&quot;center&quot;,&quot;right&quot;],dflt:&quot;left&quot;},y:{valType:&quot;number&quot;,min:-2,max:3,dflt:0},yanchor:{valType:&quot;enumerated&quot;,values:[&quot;auto&quot;,&quot;top&quot;,&quot;middle&quot;,&quot;bottom&quot;],dflt:&quot;top&quot;},transition:{duration:{valType:&quot;number&quot;,min:0,dflt:150},easing:{valType:&quot;enumerated&quot;,values:s.transition.easing.values,dflt:&quot;cubic-in-out&quot;}},currentvalue:{visible:{valType:&quot;boolean&quot;,dflt:!0},xanchor:{valType:&quot;enumerated&quot;,values:[&quot;left&quot;,&quot;center&quot;,&quot;right&quot;],dflt:&quot;left&quot;},offset:{valType:&quot;number&quot;,dflt:10},prefix:{valType:&quot;string&quot;},suffix:{valType:&quot;string&quot;},font:n({})},font:n({}),activebgcolor:{valType:&quot;color&quot;,dflt:l.gripBgActiveColor},bgcolor:{valType:&quot;color&quot;,dflt:l.railBgColor},bordercolor:{valType:&quot;color&quot;,dflt:l.railBorderColor},borderwidth:{valType:&quot;number&quot;,min:0,dflt:l.railBorderWidth},ticklen:{valType:&quot;number&quot;,min:0,dflt:l.tickLength},tickcolor:{valType:&quot;color&quot;,dflt:l.tickColor},tickwidth:{valType:&quot;number&quot;,min:0,dflt:1},minorticklen:{valType:&quot;number&quot;,min:0,dflt:l.minorTickLength}},&quot;arraydraw&quot;,&quot;from-root&quot;)},{&quot;../../lib/extend&quot;:732,&quot;../../plot_api/edit_types&quot;:773,&quot;../../plots/animation_attributes&quot;:785,&quot;../../plots/font_attributes&quot;:816,&quot;../../plots/pad_attributes&quot;:851,&quot;./constants&quot;:705}],705:[function(t,e,r){&quot;use strict&quot;;e.exports={name:&quot;sliders&quot;,containerClassName:&quot;slider-container&quot;,groupClassName:&quot;slider-group&quot;,inputAreaClass:&quot;slider-input-area&quot;,railRectClass:&quot;slider-rail-rect&quot;,railTouchRectClass:&quot;slider-rail-touch-rect&quot;,gripRectClass:&quot;slider-grip-rect&quot;,tickRectClass:&quot;slider-tick-rect&quot;,inputProxyClass:&quot;slider-input-proxy&quot;,labelsClass:&quot;slider-labels&quot;,labelGroupClass:&quot;slider-label-group&quot;,labelClass:&quot;slider-label&quot;,currentValueClass:&quot;slider-current-value&quot;,railHeight:5,menuIndexAttrName:&quot;slider-active-index&quot;,autoMarginIdRoot:&quot;slider-&quot;,minWidth:30,minHeight:30,textPadX:40,arrowOffsetX:4,railRadius:2,railWidth:5,railBorder:4,railBorderWidth:1,railBorderColor:&quot;#bec8d9&quot;,railBgColor:&quot;#f8fafc&quot;,railInset:8,stepInset:10,gripRadius:10,gripWidth:20,gripHeight:20,gripBorder:20,gripBorderWidth:1,gripBorderColor:&quot;#bec8d9&quot;,gripBgColor:&quot;#f6f8fa&quot;,gripBgActiveColor:&quot;#dbdde0&quot;,labelPadding:8,labelOffset:0,tickWidth:1,tickColor:&quot;#333&quot;,tickOffset:25,tickLength:7,minorTickOffset:25,minorTickColor:&quot;#333&quot;,minorTickLength:4,currentValuePadding:8,currentValueInset:0}},{}],706:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r){function n(r,n){return i.coerce(t,e,o,r,n)}if(n(&quot;visible&quot;,function(t,e){function r(t,e){return i.coerce(n,a,l,t,e)}var n,a,o=t.steps||[],s=e.steps=[];for(var c=0;c&lt;o.length;c++)n=o[c],a={},r(&quot;method&quot;),i.isPlainObject(n)&amp;&amp;(&quot;skip&quot;===a.method||Array.isArray(n.args))&amp;&amp;(r(&quot;args&quot;),r(&quot;label&quot;,&quot;step-&quot;+c),r(&quot;value&quot;,a.label),r(&quot;execute&quot;),s.push(a));return s}(t,e).length&gt;0)){n(&quot;active&quot;),n(&quot;x&quot;),n(&quot;y&quot;),i.noneOrAll(t,e,[&quot;x&quot;,&quot;y&quot;]),n(&quot;xanchor&quot;),n(&quot;yanchor&quot;),n(&quot;len&quot;),n(&quot;lenmode&quot;),n(&quot;pad.t&quot;),n(&quot;pad.r&quot;),n(&quot;pad.b&quot;),n(&quot;pad.l&quot;),i.coerceFont(n,&quot;font&quot;,r.font);n(&quot;currentvalue.visible&quot;)&amp;&amp;(n(&quot;currentvalue.xanchor&quot;),n(&quot;currentvalue.prefix&quot;),n(&quot;currentvalue.suffix&quot;),n(&quot;currentvalue.offset&quot;),i.coerceFont(n,&quot;currentvalue.font&quot;,e.font)),n(&quot;transition.duration&quot;),n(&quot;transition.easing&quot;),n(&quot;bgcolor&quot;),n(&quot;activebgcolor&quot;),n(&quot;bordercolor&quot;),n(&quot;borderwidth&quot;),n(&quot;ticklen&quot;),n(&quot;tickwidth&quot;),n(&quot;tickcolor&quot;),n(&quot;minorticklen&quot;)}}var i=t(&quot;../../lib&quot;),a=t(&quot;../../plots/array_container_defaults&quot;),o=t(&quot;./attributes&quot;),s=t(&quot;./constants&quot;).name,l=o.steps;e.exports=function(t,e){a(t,e,{name:s,handleItemDefaults:n})}},{&quot;../../lib&quot;:743,&quot;../../plots/array_container_defaults&quot;:786,&quot;./attributes&quot;:704,&quot;./constants&quot;:705}],707:[function(t,e,r){&quot;use strict&quot;;function n(t){return t._index}function i(t,e,r){if(e.currentvalue.visible){var n,i,a=t.selectAll(&quot;text&quot;).data([0]);switch(e.currentvalue.xanchor){case&quot;right&quot;:n=e.inputAreaLength-M.currentValueInset-e.currentValueMaxWidth,i=&quot;left&quot;;break;case&quot;center&quot;:n=.5*e.inputAreaLength,i=&quot;middle&quot;;break;default:n=M.currentValueInset,i=&quot;left&quot;}a.enter().append(&quot;text&quot;).classed(M.labelClass,!0).classed(&quot;user-select-none&quot;,!0).attr({&quot;text-anchor&quot;:i,&quot;data-notex&quot;:1});var o=e.currentvalue.prefix?e.currentvalue.prefix:&quot;&quot;;if(&quot;string&quot;==typeof r)o+=r;else{o+=e.steps[e.active].label}e.currentvalue.suffix&amp;&amp;(o+=e.currentvalue.suffix),a.call(b.font,e.currentvalue.font).text(o).call(_.convertToTspans,e.gd);var s=_.lineCount(a),l=(e.currentValueMaxLines+1-s)*e.currentvalue.font.size*k;return _.positionText(a,n,l),a}}function a(t,e,r){var n=t.selectAll(&quot;rect.&quot;+M.gripRectClass).data([0]);n.enter().append(&quot;rect&quot;).classed(M.gripRectClass,!0).call(u,e,t,r).style(&quot;pointer-events&quot;,&quot;all&quot;),n.attr({width:M.gripWidth,height:M.gripHeight,rx:M.gripRadius,ry:M.gripRadius}).call(x.stroke,r.bordercolor).call(x.fill,r.bgcolor).style(&quot;stroke-width&quot;,r.borderwidth+&quot;px&quot;)}function o(t,e,r){var n=t.selectAll(&quot;text&quot;).data([0]);return n.enter().append(&quot;text&quot;).classed(M.labelClass,!0).classed(&quot;user-select-none&quot;,!0).attr({&quot;text-anchor&quot;:&quot;middle&quot;,&quot;data-notex&quot;:1}),n.call(b.font,r.font).text(e.step.label).call(_.convertToTspans,r.gd),n}function s(t,e){var r=t.selectAll(&quot;g.&quot;+M.labelsClass).data([0]);r.enter().append(&quot;g&quot;).classed(M.labelsClass,!0);var n=r.selectAll(&quot;g.&quot;+M.labelGroupClass).data(e.labelSteps);n.enter().append(&quot;g&quot;).classed(M.labelGroupClass,!0),n.exit().remove(),n.each(function(t){var r=v.select(this);r.call(o,t,e),b.setTranslate(r,d(e,t.fraction),M.tickOffset+e.ticklen+e.font.size*k+M.labelOffset+e.currentValueTotalHeight)})}function l(t,e,r,n,i){var a=Math.round(n*(r.steps.length-1));a!==r.active&amp;&amp;c(t,e,r,a,!0,i)}function c(t,e,r,n,a,o){var s=r.active;r._input.active=r.active=n;var l=r.steps[r.active];e.call(h,r,r.active/(r.steps.length-1),o),e.call(i,r),t.emit(&quot;plotly_sliderchange&quot;,{slider:r,step:r.steps[r.active],interaction:a,previousActive:s}),l&amp;&amp;l.method&amp;&amp;a&amp;&amp;(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&amp;&amp;(r.execute&amp;&amp;y.executeAPICommand(t,r.method,r.args),e._nextMethod=null,e._nextMethodRaf=null)})))}function u(t,e,r){function n(){return r.data()[0]}var i=r.node(),a=v.select(e);t.on(&quot;mousedown&quot;,function(){var t=n();e.emit(&quot;plotly_sliderstart&quot;,{slider:t});var o=r.select(&quot;.&quot;+M.gripRectClass);v.event.stopPropagation(),v.event.preventDefault(),o.call(x.fill,t.activebgcolor);var s=p(t,v.mouse(i)[0]);l(e,r,t,s,!0),t._dragging=!0,a.on(&quot;mousemove&quot;,function(){var t=n(),a=p(t,v.mouse(i)[0]);l(e,r,t,a,!1)}),a.on(&quot;mouseup&quot;,function(){var t=n();t._dragging=!1,o.call(x.fill,t.bgcolor),a.on(&quot;mouseup&quot;,null),a.on(&quot;mousemove&quot;,null),e.emit(&quot;plotly_sliderend&quot;,{slider:t,step:t.steps[t.active]})})})}function f(t,e){var r=t.selectAll(&quot;rect.&quot;+M.tickRectClass).data(e.steps);r.enter().append(&quot;rect&quot;).classed(M.tickRectClass,!0),r.exit().remove(),r.attr({width:e.tickwidth+&quot;px&quot;,&quot;shape-rendering&quot;:&quot;crispEdges&quot;}),r.each(function(t,r){var n=r%e.labelStride==0,i=v.select(this);i.attr({height:n?e.ticklen:e.minorticklen}).call(x.fill,e.tickcolor),b.setTranslate(i,d(e,r/(e.steps.length-1))-.5*e.tickwidth,(n?M.tickOffset:M.minorTickOffset)+e.currentValueTotalHeight)})}function h(t,e,r,n){var i=t.select(&quot;rect.&quot;+M.gripRectClass),a=d(e,r);if(!e._invokingCommand){var o=i;n&amp;&amp;e.transition.duration&gt;0&amp;&amp;(o=o.transition().duration(e.transition.duration).ease(e.transition.easing)),o.attr(&quot;transform&quot;,&quot;translate(&quot;+(a-.5*M.gripWidth)+&quot;,&quot;+e.currentValueTotalHeight+&quot;)&quot;)}}function d(t,e){return t.inputAreaStart+M.stepInset+(t.inputAreaLength-2*M.stepInset)*Math.min(1,Math.max(0,e))}function p(t,e){return Math.min(1,Math.max(0,(e-M.stepInset-t.inputAreaStart)/(t.inputAreaLength-2*M.stepInset-2*t.inputAreaStart)))}function m(t,e,r){var n=t.selectAll(&quot;rect.&quot;+M.railTouchRectClass).data([0]);n.enter().append(&quot;rect&quot;).classed(M.railTouchRectClass,!0).call(u,e,t,r).style(&quot;pointer-events&quot;,&quot;all&quot;),n.attr({width:r.inputAreaLength,height:Math.max(r.inputAreaWidth,M.tickOffset+r.ticklen+r.labelHeight)}).call(x.fill,r.bgcolor).attr(&quot;opacity&quot;,0),b.setTranslate(n,0,r.currentValueTotalHeight)}function g(t,e){var r=t.selectAll(&quot;rect.&quot;+M.railRectClass).data([0]);r.enter().append(&quot;rect&quot;).classed(M.railRectClass,!0);var n=e.inputAreaLength-2*M.railInset;r.attr({width:n,height:M.railWidth,rx:M.railRadius,ry:M.railRadius,&quot;shape-rendering&quot;:&quot;crispEdges&quot;}).call(x.stroke,e.bordercolor).call(x.fill,e.bgcolor).style(&quot;stroke-width&quot;,e.borderwidth+&quot;px&quot;),b.setTranslate(r,M.railInset,.5*(e.inputAreaWidth-M.railWidth)+e.currentValueTotalHeight)}var v=t(&quot;d3&quot;),y=t(&quot;../../plots/plots&quot;),x=t(&quot;../color&quot;),b=t(&quot;../drawing&quot;),_=t(&quot;../../lib/svg_text_utils&quot;),w=t(&quot;../legend/anchor_utils&quot;),M=t(&quot;./constants&quot;),k=t(&quot;../../constants/alignment&quot;).LINE_SPACING;e.exports=function(t){var e=t._fullLayout,r=function(t,e){for(var r=t[M.name],n=[],i=0;i&lt;r.length;i++){var a=r[i];a.visible&amp;&amp;a.steps.length&amp;&amp;(a.gd=e,n.push(a))}return n}(e,t),l=e._infolayer.selectAll(&quot;g.&quot;+M.containerClassName).data(r.length&gt;0?[0]:[]);if(l.enter().append(&quot;g&quot;).classed(M.containerClassName,!0).style(&quot;cursor&quot;,&quot;ew-resize&quot;),l.exit().remove(),l.exit().size()&amp;&amp;function(t){for(var e=t._fullLayout._pushmargin||{},r=Object.keys(e),n=0;n&lt;r.length;n++){var i=r[n];-1!==i.indexOf(M.autoMarginIdRoot)&amp;&amp;y.autoMargin(t,i)}}(t),0!==r.length){var u=l.selectAll(&quot;g.&quot;+M.groupClassName).data(r,n);u.enter().append(&quot;g&quot;).classed(M.groupClassName,!0),u.exit().each(function(e){v.select(this).remove(),e._commandObserver.remove(),delete e._commandObserver,y.autoMargin(t,M.autoMarginIdRoot+e._index)});for(var d=0;d&lt;r.length;d++){var p=r[d];!function(t,e){var r=b.tester.selectAll(&quot;g.&quot;+M.labelGroupClass).data(e.steps);r.enter().append(&quot;g&quot;).classed(M.labelGroupClass,!0);var n=0,a=0;r.each(function(t){var r=o(v.select(this),{step:t},e).node();if(r){var i=b.bBox(r);a=Math.max(a,i.height),n=Math.max(n,i.width)}}),r.remove(),e.inputAreaWidth=Math.max(M.railWidth,M.gripHeight);var s=t._fullLayout._size;e.lx=s.l+s.w*e.x,e.ly=s.t+s.h*(1-e.y),&quot;fraction&quot;===e.lenmode?e.outerLength=Math.round(s.w*e.len):e.outerLength=e.len,e.lenPad=Math.round(.5*M.gripWidth),e.inputAreaStart=0,e.inputAreaLength=Math.round(e.outerLength-e.pad.l-e.pad.r);var l=(e.inputAreaLength-2*M.stepInset)/(e.steps.length-1),c=n+M.labelPadding;if(e.labelStride=Math.max(1,Math.ceil(c/l)),e.labelHeight=a,e.currentValueMaxWidth=0,e.currentValueHeight=0,e.currentValueTotalHeight=0,e.currentValueMaxLines=1,e.currentvalue.visible){var u=b.tester.append(&quot;g&quot;);r.each(function(t){var r=i(u,e,t.label),n=r.node()&amp;&amp;b.bBox(r.node())||{width:0,height:0},a=_.lineCount(r);e.currentValueMaxWidth=Math.max(e.currentValueMaxWidth,Math.ceil(n.width)),e.currentValueHeight=Math.max(e.currentValueHeight,Math.ceil(n.height)),e.currentValueMaxLines=Math.max(e.currentValueMaxLines,a)}),e.currentValueTotalHeight=e.currentValueHeight+e.currentvalue.offset,u.remove()}e.height=e.currentValueTotalHeight+M.tickOffset+e.ticklen+M.labelOffset+e.labelHeight+e.pad.t+e.pad.b;var f=&quot;left&quot;;w.isRightAnchor(e)&amp;&amp;(e.lx-=e.outerLength,f=&quot;right&quot;),w.isCenterAnchor(e)&amp;&amp;(e.lx-=e.outerLength/2,f=&quot;center&quot;);var h=&quot;top&quot;;w.isBottomAnchor(e)&amp;&amp;(e.ly-=e.height,h=&quot;bottom&quot;),w.isMiddleAnchor(e)&amp;&amp;(e.ly-=e.height/2,h=&quot;middle&quot;),e.outerLength=Math.ceil(e.outerLength),e.height=Math.ceil(e.height),e.lx=Math.round(e.lx),e.ly=Math.round(e.ly),y.autoMargin(t,M.autoMarginIdRoot+e._index,{x:e.x,y:e.y,l:e.outerLength*({right:1,center:.5}[f]||0),r:e.outerLength*({left:1,center:.5}[f]||0),b:e.height*({top:1,middle:.5}[h]||0),t:e.height*({bottom:1,middle:.5}[h]||0)})}(t,p)}u.each(function(e){if(!(e.steps.length&lt;2)){var r=v.select(this);!function(t){t.labelSteps=[];for(var e=t.steps.length,r=0;r&lt;e;r+=t.labelStride)t.labelSteps.push({fraction:r/(e-1),step:t.steps[r]})}(e),y.manageCommandObserver(t,e,e.steps,function(e){var n=r.data()[0];n.active!==e.index&amp;&amp;(n._dragging||c(t,r,n,e.index,!1,!0))}),function(t,e,r){r.active&gt;=r.steps.length&amp;&amp;(r.active=0),e.call(i,r).call(g,r).call(s,r).call(f,r).call(m,t,r).call(a,t,r),b.setTranslate(e,r.lx+r.pad.l,r.ly+r.pad.t),e.call(h,r,r.active/(r.steps.length-1),!1),e.call(i,r)}(t,v.select(this),e)}})}}},{&quot;../../constants/alignment&quot;:716,&quot;../../lib/svg_text_utils&quot;:766,&quot;../../plots/plots&quot;:852,&quot;../color&quot;:618,&quot;../drawing&quot;:643,&quot;../legend/anchor_utils&quot;:669,&quot;./constants&quot;:705,d3:128}],708:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;./constants&quot;);e.exports={moduleType:&quot;component&quot;,name:n.name,layoutAttributes:t(&quot;./attributes&quot;),supplyLayoutDefaults:t(&quot;./defaults&quot;),draw:t(&quot;./draw&quot;)}},{&quot;./attributes&quot;:704,&quot;./constants&quot;:705,&quot;./defaults&quot;:706,&quot;./draw&quot;:707}],709:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;d3&quot;),i=t(&quot;fast-isnumeric&quot;),a=t(&quot;../../plotly&quot;),o=t(&quot;../../plots/plots&quot;),s=t(&quot;../../lib&quot;),l=t(&quot;../drawing&quot;),c=t(&quot;../color&quot;),u=t(&quot;../../lib/svg_text_utils&quot;),f=t(&quot;../../constants/interactions&quot;),h=/ [XY][0-9]* /;(e.exports={}).draw=function(t,e,r){function d(t){s.syncOrAsync([p,m],t)}function p(e){var r;return M?(r=&quot;&quot;,M.rotate&amp;&amp;(r+=&quot;rotate(&quot;+[M.rotate,w.x,w.y]+&quot;)&quot;),M.offset&amp;&amp;(r+=&quot;translate(0, &quot;+M.offset+&quot;)&quot;)):r=null,e.attr(&quot;transform&quot;,r),e.style({&quot;font-family&quot;:S,&quot;font-size&quot;:n.round(E,2)+&quot;px&quot;,fill:c.rgb(L),opacity:C*c.opacity(L),&quot;font-weight&quot;:o.fontWeight}).attr(w).call(u.convertToTspans,t),o.previousPromises(t)}function m(t){var e=n.select(t.node().parentNode);if(_&amp;&amp;_.selection&amp;&amp;_.side&amp;&amp;D){e.attr(&quot;transform&quot;,null);var r=0,a={left:&quot;right&quot;,right:&quot;left&quot;,top:&quot;bottom&quot;,bottom:&quot;top&quot;}[_.side],o=-1!==[&quot;left&quot;,&quot;top&quot;].indexOf(_.side)?-1:1,c=i(_.pad)?_.pad:2,u=l.bBox(e.node()),f={left:0,top:0,right:A.width,bottom:A.height},h=_.maxShift||(f[_.side]-u[_.side])*(&quot;left&quot;===_.side||&quot;top&quot;===_.side?-1:1);if(h&lt;0)r=h;else{var d=_.offsetLeft||0,p=_.offsetTop||0;u.left-=d,u.right-=d,u.top-=p,u.bottom-=p,_.selection.each(function(){var t=l.bBox(this);s.bBoxIntersect(u,t,c)&amp;&amp;(r=Math.max(r,o*(t[_.side]-u[a])+c))}),r=Math.min(h,r)}if(r&gt;0||h&lt;0){var m={left:[-r,0],right:[r,0],top:[0,-r],bottom:[0,r]}[_.side];e.attr(&quot;transform&quot;,&quot;translate(&quot;+m+&quot;)&quot;)}}}var g,v=r.propContainer,y=r.propName,x=r.placeholder,b=r.traceIndex,_=r.avoid||{},w=r.attributes,M=r.transform,k=r.containerGroup,A=t._fullLayout,T=v.titlefont||{},S=T.family,E=T.size,L=T.color,C=1,z=!1,D=(v.title||&quot;&quot;).trim();&quot;title&quot;===y?g=&quot;titleText&quot;:-1!==y.indexOf(&quot;axis&quot;)?g=&quot;axisTitleText&quot;:y.indexOf(!0)&amp;&amp;(g=&quot;colorbarTitleText&quot;);var I=t._context.edits[g];&quot;&quot;===D?C=0:D.replace(h,&quot; % &quot;)===x.replace(h,&quot; % &quot;)&amp;&amp;(C=.2,z=!0,I||(D=&quot;&quot;));var P=D||I;k||(k=A._infolayer.selectAll(&quot;.g-&quot;+e).data([0])).enter().append(&quot;g&quot;).classed(&quot;g-&quot;+e,!0);var O=k.selectAll(&quot;text&quot;).data(P?[0]:[]);return O.enter().append(&quot;text&quot;),O.text(D).attr(&quot;class&quot;,e),O.exit().remove(),P?(O.call(d),I&amp;&amp;(D?O.on(&quot;.opacity&quot;,null):(C=0,z=!0,O.text(x).on(&quot;mouseover.opacity&quot;,function(){n.select(this).transition().duration(f.SHOW_PLACEHOLDER).style(&quot;opacity&quot;,1)}).on(&quot;mouseout.opacity&quot;,function(){n.select(this).transition().duration(f.HIDE_PLACEHOLDER).style(&quot;opacity&quot;,0)})),O.call(u.makeEditable,{gd:t}).on(&quot;edit&quot;,function(e){void 0!==b?a.restyle(t,y,e,b):a.relayout(t,y,e)}).on(&quot;cancel&quot;,function(){this.text(this.attr(&quot;data-unformatted&quot;)).call(d)}).on(&quot;input&quot;,function(t){this.text(t||&quot; &quot;).call(u.positionText,w.x,w.y)})),O.classed(&quot;js-placeholder&quot;,z),k):k}},{&quot;../../constants/interactions&quot;:720,&quot;../../lib&quot;:743,&quot;../../lib/svg_text_utils&quot;:766,&quot;../../plotly&quot;:784,&quot;../../plots/plots&quot;:852,&quot;../color&quot;:618,&quot;../drawing&quot;:643,d3:128,&quot;fast-isnumeric&quot;:140}],710:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../plots/font_attributes&quot;),i=t(&quot;../color/attributes&quot;),a=t(&quot;../../lib/extend&quot;).extendFlat,o=t(&quot;../../plot_api/edit_types&quot;).overrideAll,s=t(&quot;../../plots/pad_attributes&quot;);e.exports=o({_isLinkedToArray:&quot;updatemenu&quot;,_arrayAttrRegexps:[/^updatemenus\[(0|[1-9][0-9]+)\]\.buttons/],visible:{valType:&quot;boolean&quot;},type:{valType:&quot;enumerated&quot;,values:[&quot;dropdown&quot;,&quot;buttons&quot;],dflt:&quot;dropdown&quot;},direction:{valType:&quot;enumerated&quot;,values:[&quot;left&quot;,&quot;right&quot;,&quot;up&quot;,&quot;down&quot;],dflt:&quot;down&quot;},active:{valType:&quot;integer&quot;,min:-1,dflt:0},showactive:{valType:&quot;boolean&quot;,dflt:!0},buttons:{_isLinkedToArray:&quot;button&quot;,method:{valType:&quot;enumerated&quot;,values:[&quot;restyle&quot;,&quot;relayout&quot;,&quot;animate&quot;,&quot;update&quot;,&quot;skip&quot;],dflt:&quot;restyle&quot;},args:{valType:&quot;info_array&quot;,freeLength:!0,items:[{valType:&quot;any&quot;},{valType:&quot;any&quot;},{valType:&quot;any&quot;}]},label:{valType:&quot;string&quot;,dflt:&quot;&quot;},execute:{valType:&quot;boolean&quot;,dflt:!0}},x:{valType:&quot;number&quot;,min:-2,max:3,dflt:-.05},xanchor:{valType:&quot;enumerated&quot;,values:[&quot;auto&quot;,&quot;left&quot;,&quot;center&quot;,&quot;right&quot;],dflt:&quot;right&quot;},y:{valType:&quot;number&quot;,min:-2,max:3,dflt:1},yanchor:{valType:&quot;enumerated&quot;,values:[&quot;auto&quot;,&quot;top&quot;,&quot;middle&quot;,&quot;bottom&quot;],dflt:&quot;top&quot;},pad:a({},s,{}),font:n({}),bgcolor:{valType:&quot;color&quot;},bordercolor:{valType:&quot;color&quot;,dflt:i.borderLine},borderwidth:{valType:&quot;number&quot;,min:0,dflt:1,editType:&quot;arraydraw&quot;}},&quot;arraydraw&quot;,&quot;from-root&quot;)},{&quot;../../lib/extend&quot;:732,&quot;../../plot_api/edit_types&quot;:773,&quot;../../plots/font_attributes&quot;:816,&quot;../../plots/pad_attributes&quot;:851,&quot;../color/attributes&quot;:617}],711:[function(t,e,r){&quot;use strict&quot;;e.exports={name:&quot;updatemenus&quot;,containerClassName:&quot;updatemenu-container&quot;,headerGroupClassName:&quot;updatemenu-header-group&quot;,headerClassName:&quot;updatemenu-header&quot;,headerArrowClassName:&quot;updatemenu-header-arrow&quot;,dropdownButtonGroupClassName:&quot;updatemenu-dropdown-button-group&quot;,dropdownButtonClassName:&quot;updatemenu-dropdown-button&quot;,buttonClassName:&quot;updatemenu-button&quot;,itemRectClassName:&quot;updatemenu-item-rect&quot;,itemTextClassName:&quot;updatemenu-item-text&quot;,menuIndexAttrName:&quot;updatemenu-active-index&quot;,autoMarginIdRoot:&quot;updatemenu-&quot;,blankHeaderOpts:{label:&quot;  &quot;},minWidth:30,minHeight:30,textPadX:24,arrowPadX:16,rx:2,ry:2,textOffsetX:12,textOffsetY:3,arrowOffsetX:4,gapButtonHeader:5,gapButton:2,activeColor:&quot;#F4FAFF&quot;,hoverColor:&quot;#F4FAFF&quot;,arrowSymbol:{left:&quot;\u25c4&quot;,right:&quot;\u25ba&quot;,up:&quot;\u25b2&quot;,down:&quot;\u25bc&quot;}}},{}],712:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r){function n(r,n){return i.coerce(t,e,o,r,n)}n(&quot;visible&quot;,function(t,e){function r(t,e){return i.coerce(n,a,l,t,e)}var n,a,o=t.buttons||[],s=e.buttons=[];for(var c=0;c&lt;o.length;c++)n=o[c],a={},r(&quot;method&quot;),i.isPlainObject(n)&amp;&amp;(&quot;skip&quot;===a.method||Array.isArray(n.args))&amp;&amp;(r(&quot;args&quot;),r(&quot;label&quot;),r(&quot;execute&quot;),a._index=c,s.push(a));return s}(t,e).length&gt;0)&amp;&amp;(n(&quot;active&quot;),n(&quot;direction&quot;),n(&quot;type&quot;),n(&quot;showactive&quot;),n(&quot;x&quot;),n(&quot;y&quot;),i.noneOrAll(t,e,[&quot;x&quot;,&quot;y&quot;]),n(&quot;xanchor&quot;),n(&quot;yanchor&quot;),n(&quot;pad.t&quot;),n(&quot;pad.r&quot;),n(&quot;pad.b&quot;),n(&quot;pad.l&quot;),i.coerceFont(n,&quot;font&quot;,r.font),n(&quot;bgcolor&quot;,r.paper_bgcolor),n(&quot;bordercolor&quot;),n(&quot;borderwidth&quot;))}var i=t(&quot;../../lib&quot;),a=t(&quot;../../plots/array_container_defaults&quot;),o=t(&quot;./attributes&quot;),s=t(&quot;./constants&quot;).name,l=o.buttons;e.exports=function(t,e){a(t,e,{name:s,handleItemDefaults:n})}},{&quot;../../lib&quot;:743,&quot;../../plots/array_container_defaults&quot;:786,&quot;./attributes&quot;:710,&quot;./constants&quot;:711}],713:[function(t,e,r){&quot;use strict&quot;;function n(t){return t._index}function i(t,e){return+t.attr(M.menuIndexAttrName)===e._index}function a(t,e,r,n,i,a,l,c){e._input.active=e.active=l,&quot;buttons&quot;===e.type?s(t,n,null,null,e):&quot;dropdown&quot;===e.type&amp;&amp;(i.attr(M.menuIndexAttrName,&quot;-1&quot;),o(t,n,i,a,e),c||s(t,n,i,a,e))}function o(t,e,r,n,a){var o=e.selectAll(&quot;g.&quot;+M.headerClassName).data([0]);o.enter().append(&quot;g&quot;).classed(M.headerClassName,!0).style(&quot;pointer-events&quot;,&quot;all&quot;);var c=a.active,u=a.buttons[c]||M.blankHeaderOpts,f={y:a.pad.t,yPad:0,x:a.pad.l,xPad:0,index:0},g={width:a.headerWidth,height:a.headerHeight};o.call(l,a,u,t).call(p,a,f,g);var v=e.selectAll(&quot;text.&quot;+M.headerArrowClassName).data([0]);v.enter().append(&quot;text&quot;).classed(M.headerArrowClassName,!0).classed(&quot;user-select-none&quot;,!0).attr(&quot;text-anchor&quot;,&quot;end&quot;).call(x.font,a.font).text(M.arrowSymbol[a.direction]),v.attr({x:a.headerWidth-M.arrowOffsetX+a.pad.l,y:a.headerHeight/2+M.textOffsetY+a.pad.t}),o.on(&quot;click&quot;,function(){r.call(m),r.attr(M.menuIndexAttrName,i(r,a)?-1:String(a._index)),s(t,e,r,n,a)}),o.on(&quot;mouseover&quot;,function(){o.call(h)}),o.on(&quot;mouseout&quot;,function(){o.call(d,a)}),x.setTranslate(e,a.lx,a.ly)}function s(t,e,r,n,i){r||(r=e).attr(&quot;pointer-events&quot;,&quot;all&quot;);var o=function(t){return-1==+t.attr(M.menuIndexAttrName)}(r)&amp;&amp;&quot;buttons&quot;!==i.type?[]:i.buttons,s=&quot;dropdown&quot;===i.type?M.dropdownButtonClassName:M.buttonClassName,c=r.selectAll(&quot;g.&quot;+s).data(o),u=c.enter().append(&quot;g&quot;).classed(s,!0),m=c.exit();&quot;dropdown&quot;===i.type?(u.attr(&quot;opacity&quot;,&quot;0&quot;).transition().attr(&quot;opacity&quot;,&quot;1&quot;),m.transition().attr(&quot;opacity&quot;,&quot;0&quot;).remove()):m.remove();var y=0,x=0,b=-1!==[&quot;up&quot;,&quot;down&quot;].indexOf(i.direction);&quot;dropdown&quot;===i.type&amp;&amp;(b?x=i.headerHeight+M.gapButtonHeader:y=i.headerWidth+M.gapButtonHeader),&quot;dropdown&quot;===i.type&amp;&amp;&quot;up&quot;===i.direction&amp;&amp;(x=-M.gapButtonHeader+M.gapButton-i.openHeight),&quot;dropdown&quot;===i.type&amp;&amp;&quot;left&quot;===i.direction&amp;&amp;(y=-M.gapButtonHeader+M.gapButton-i.openWidth);var _={x:i.lx+y+i.pad.l,y:i.ly+x+i.pad.t,yPad:M.gapButton,xPad:M.gapButton,index:0},w={l:_.x+i.borderwidth,t:_.y+i.borderwidth};c.each(function(o,s){var u=g.select(this);u.call(l,i,o,t).call(p,i,_),u.on(&quot;click&quot;,function(){g.event.defaultPrevented||(a(t,i,0,e,r,n,s),o.execute&amp;&amp;v.executeAPICommand(t,o.method,o.args),t.emit(&quot;plotly_buttonclicked&quot;,{menu:i,button:o,active:i.active}))}),u.on(&quot;mouseover&quot;,function(){u.call(h)}),u.on(&quot;mouseout&quot;,function(){u.call(d,i),c.call(f,i)})}),c.call(f,i),b?(w.w=Math.max(i.openWidth,i.headerWidth),w.h=_.y-w.t):(w.w=_.x-w.l,w.h=Math.max(i.openHeight,i.headerHeight)),w.direction=i.direction,n&amp;&amp;(c.size()?function(t,e,r,n,i,a){var o,s,l,c=i.direction,u=&quot;up&quot;===c||&quot;down&quot;===c,f=i.active;if(u)for(s=0,l=0;l&lt;f;l++)s+=i.heights[l]+M.gapButton;else for(o=0,l=0;l&lt;f;l++)o+=i.widths[l]+M.gapButton;n.enable(a,o,s),n.hbar&amp;&amp;n.hbar.attr(&quot;opacity&quot;,&quot;0&quot;).transition().attr(&quot;opacity&quot;,&quot;1&quot;);n.vbar&amp;&amp;n.vbar.attr(&quot;opacity&quot;,&quot;0&quot;).transition().attr(&quot;opacity&quot;,&quot;1&quot;)}(0,0,0,n,i,w):function(t){var e=!!t.hbar,r=!!t.vbar;e&amp;&amp;t.hbar.transition().attr(&quot;opacity&quot;,&quot;0&quot;).each(&quot;end&quot;,function(){e=!1,r||t.disable()});r&amp;&amp;t.vbar.transition().attr(&quot;opacity&quot;,&quot;0&quot;).each(&quot;end&quot;,function(){r=!1,e||t.disable()})}(n))}function l(t,e,r,n){t.call(c,e).call(u,e,r,n)}function c(t,e){var r=t.selectAll(&quot;rect&quot;).data([0]);r.enter().append(&quot;rect&quot;).classed(M.itemRectClassName,!0).attr({rx:M.rx,ry:M.ry,&quot;shape-rendering&quot;:&quot;crispEdges&quot;}),r.call(y.stroke,e.bordercolor).call(y.fill,e.bgcolor).style(&quot;stroke-width&quot;,e.borderwidth+&quot;px&quot;)}function u(t,e,r,n){var i=t.selectAll(&quot;text&quot;).data([0]);i.enter().append(&quot;text&quot;).classed(M.itemTextClassName,!0).classed(&quot;user-select-none&quot;,!0).attr({&quot;text-anchor&quot;:&quot;start&quot;,&quot;data-notex&quot;:1}),i.call(x.font,e.font).text(r.label).call(b.convertToTspans,n)}function f(t,e){var r=e.active;t.each(function(t,n){var i=g.select(this);n===r&amp;&amp;e.showactive&amp;&amp;i.select(&quot;rect.&quot;+M.itemRectClassName).call(y.fill,M.activeColor)})}function h(t){t.select(&quot;rect.&quot;+M.itemRectClassName).call(y.fill,M.hoverColor)}function d(t,e){t.select(&quot;rect.&quot;+M.itemRectClassName).call(y.fill,e.bgcolor)}function p(t,e,r,n){n=n||{};var i=t.select(&quot;.&quot;+M.itemRectClassName),a=t.select(&quot;.&quot;+M.itemTextClassName),o=e.borderwidth,s=r.index;x.setTranslate(t,o+r.x,o+r.y);var l=-1!==[&quot;up&quot;,&quot;down&quot;].indexOf(e.direction),c=n.height||(l?e.heights[s]:e.height1);i.attr({x:0,y:0,width:n.width||(l?e.width1:e.widths[s]),height:c});var u=e.font.size*w,f=(b.lineCount(a)-1)*u/2;b.positionText(a,M.textOffsetX,c/2-f+M.textOffsetY),l?r.y+=e.heights[s]+r.yPad:r.x+=e.widths[s]+r.xPad,r.index++}function m(t){t.selectAll(&quot;g.&quot;+M.dropdownButtonClassName).remove()}var g=t(&quot;d3&quot;),v=t(&quot;../../plots/plots&quot;),y=t(&quot;../color&quot;),x=t(&quot;../drawing&quot;),b=t(&quot;../../lib/svg_text_utils&quot;),_=t(&quot;../legend/anchor_utils&quot;),w=t(&quot;../../constants/alignment&quot;).LINE_SPACING,M=t(&quot;./constants&quot;),k=t(&quot;./scrollbox&quot;);e.exports=function(t){var e=t._fullLayout,r=function(t){for(var e=t[M.name],r=[],n=0;n&lt;e.length;n++){var i=e[n];i.visible&amp;&amp;r.push(i)}return r}(e),c=e._menulayer.selectAll(&quot;g.&quot;+M.containerClassName).data(r.length&gt;0?[0]:[]);if(c.enter().append(&quot;g&quot;).classed(M.containerClassName,!0).style(&quot;cursor&quot;,&quot;pointer&quot;),c.exit().remove(),c.exit().size()&amp;&amp;function(t){for(var e=t._fullLayout._pushmargin||{},r=Object.keys(e),n=0;n&lt;r.length;n++){var i=r[n];-1!==i.indexOf(M.autoMarginIdRoot)&amp;&amp;v.autoMargin(t,i)}}(t),0!==r.length){var u=c.selectAll(&quot;g.&quot;+M.headerGroupClassName).data(r,n);u.enter().append(&quot;g&quot;).classed(M.headerGroupClassName,!0);var f=c.selectAll(&quot;g.&quot;+M.dropdownButtonGroupClassName).data([0]);f.enter().append(&quot;g&quot;).classed(M.dropdownButtonGroupClassName,!0).style(&quot;pointer-events&quot;,&quot;all&quot;);for(var h=0;h&lt;r.length;h++){var d=r[h];!function(t,e){e.width1=0,e.height1=0,e.heights=[],e.widths=[],e.totalWidth=0,e.totalHeight=0,e.openWidth=0,e.openHeight=0,e.lx=0,e.ly=0;var r=x.tester.selectAll(&quot;g.&quot;+M.dropdownButtonClassName).data(e.buttons);r.enter().append(&quot;g&quot;).classed(M.dropdownButtonClassName,!0);var n=-1!==[&quot;up&quot;,&quot;down&quot;].indexOf(e.direction);r.each(function(r,i){var a=g.select(this);a.call(l,e,r,t);var o=a.select(&quot;.&quot;+M.itemTextClassName),s=o.node()&amp;&amp;x.bBox(o.node()).width,c=Math.max(s+M.textPadX,M.minWidth),u=e.font.size*w,f=b.lineCount(o),h=Math.max(u*f,M.minHeight)+M.textOffsetY;h=Math.ceil(h),c=Math.ceil(c),e.widths[i]=c,e.heights[i]=h,e.height1=Math.max(e.height1,h),e.width1=Math.max(e.width1,c),n?(e.totalWidth=Math.max(e.totalWidth,c),e.openWidth=e.totalWidth,e.totalHeight+=h+M.gapButton,e.openHeight+=h+M.gapButton):(e.totalWidth+=c+M.gapButton,e.openWidth+=c+M.gapButton,e.totalHeight=Math.max(e.totalHeight,h),e.openHeight=e.totalHeight)}),n?e.totalHeight-=M.gapButton:e.totalWidth-=M.gapButton,e.headerWidth=e.width1+M.arrowPadX,e.headerHeight=e.height1,&quot;dropdown&quot;===e.type&amp;&amp;(n?(e.width1+=M.arrowPadX,e.totalHeight=e.height1):e.totalWidth=e.width1,e.totalWidth+=M.arrowPadX),r.remove();var i=e.totalWidth+e.pad.l+e.pad.r,a=e.totalHeight+e.pad.t+e.pad.b,o=t._fullLayout._size;e.lx=o.l+o.w*e.x,e.ly=o.t+o.h*(1-e.y);var s=&quot;left&quot;;_.isRightAnchor(e)&amp;&amp;(e.lx-=i,s=&quot;right&quot;),_.isCenterAnchor(e)&amp;&amp;(e.lx-=i/2,s=&quot;center&quot;);var c=&quot;top&quot;;_.isBottomAnchor(e)&amp;&amp;(e.ly-=a,c=&quot;bottom&quot;),_.isMiddleAnchor(e)&amp;&amp;(e.ly-=a/2,c=&quot;middle&quot;),e.totalWidth=Math.ceil(e.totalWidth),e.totalHeight=Math.ceil(e.totalHeight),e.lx=Math.round(e.lx),e.ly=Math.round(e.ly),v.autoMargin(t,M.autoMarginIdRoot+e._index,{x:e.x,y:e.y,l:i*({right:1,center:.5}[s]||0),r:i*({left:1,center:.5}[s]||0),b:a*({top:1,middle:.5}[c]||0),t:a*({bottom:1,middle:.5}[c]||0)})}(t,d)}var p=&quot;updatemenus&quot;+e._uid,y=new k(t,f,p);u.enter().size()&amp;&amp;(f.node().parentNode.appendChild(f.node()),f.call(m).attr(M.menuIndexAttrName,&quot;-1&quot;)),u.exit().each(function(e){g.select(this).remove(),f.call(m).attr(M.menuIndexAttrName,&quot;-1&quot;),v.autoMargin(t,M.autoMarginIdRoot+e._index)}),u.each(function(e){var r=g.select(this),n=&quot;dropdown&quot;===e.type?f:null;v.manageCommandObserver(t,e,e.buttons,function(i){a(t,e,e.buttons[i.index],r,n,y,i.index,!0)}),&quot;dropdown&quot;===e.type?(o(t,r,f,y,e),i(f,e)&amp;&amp;s(t,r,f,y,e)):s(t,r,null,null,e)})}}},{&quot;../../constants/alignment&quot;:716,&quot;../../lib/svg_text_utils&quot;:766,&quot;../../plots/plots&quot;:852,&quot;../color&quot;:618,&quot;../drawing&quot;:643,&quot;../legend/anchor_utils&quot;:669,&quot;./constants&quot;:711,&quot;./scrollbox&quot;:715,d3:128}],714:[function(t,e,r){arguments[4][708][0].apply(r,arguments)},{&quot;./attributes&quot;:710,&quot;./constants&quot;:711,&quot;./defaults&quot;:712,&quot;./draw&quot;:713,dup:708}],715:[function(t,e,r){&quot;use strict&quot;;function n(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(&quot;rect.scrollbox-bg&quot;).data([0]),this.bg.exit().on(&quot;.drag&quot;,null).on(&quot;wheel&quot;,null).remove(),this.bg.enter().append(&quot;rect&quot;).classed(&quot;scrollbox-bg&quot;,!0).style(&quot;pointer-events&quot;,&quot;all&quot;).attr({opacity:0,x:0,y:0,width:0,height:0})}e.exports=n;var i=t(&quot;d3&quot;),a=t(&quot;../color&quot;),o=t(&quot;../drawing&quot;),s=t(&quot;../../lib&quot;);n.barWidth=2,n.barLength=20,n.barRadius=2,n.barPad=1,n.barColor=&quot;#808BA4&quot;,n.prototype.enable=function(t,e,r){var s=this.gd._fullLayout,l=s.width,c=s.height;this.position=t;var u,f,h,d,p=this.position.l,m=this.position.w,g=this.position.t,v=this.position.h,y=this.position.direction,x=&quot;down&quot;===y,b=&quot;left&quot;===y,_=&quot;up&quot;===y,w=m,M=v;x||b||&quot;right&quot;===y||_||(this.position.direction=&quot;down&quot;,x=!0);x||_?(f=(u=p)+w,x?(h=g,M=(d=Math.min(h+M,c))-h):M=(d=g+M)-(h=Math.max(d-M,0))):(d=(h=g)+M,b?w=(f=p+w)-(u=Math.max(f-w,0)):(u=p,w=(f=Math.min(u+w,l))-u)),this._box={l:u,t:h,w:w,h:M};var k=m&gt;w,A=n.barLength+2*n.barPad,T=n.barWidth+2*n.barPad,S=p,E=g+v;E+T&gt;c&amp;&amp;(E=c-T);var L=this.container.selectAll(&quot;rect.scrollbar-horizontal&quot;).data(k?[0]:[]);L.exit().on(&quot;.drag&quot;,null).remove(),L.enter().append(&quot;rect&quot;).classed(&quot;scrollbar-horizontal&quot;,!0).call(a.fill,n.barColor),k?(this.hbar=L.attr({rx:n.barRadius,ry:n.barRadius,x:S,y:E,width:A,height:T}),this._hbarXMin=S+A/2,this._hbarTranslateMax=w-A):(delete this.hbar,delete this._hbarXMin,delete this._hbarTranslateMax);var C=v&gt;M,z=n.barWidth+2*n.barPad,D=n.barLength+2*n.barPad,I=p+m,P=g;I+z&gt;l&amp;&amp;(I=l-z);var O=this.container.selectAll(&quot;rect.scrollbar-vertical&quot;).data(C?[0]:[]);O.exit().on(&quot;.drag&quot;,null).remove(),O.enter().append(&quot;rect&quot;).classed(&quot;scrollbar-vertical&quot;,!0).call(a.fill,n.barColor),C?(this.vbar=O.attr({rx:n.barRadius,ry:n.barRadius,x:I,y:P,width:z,height:D}),this._vbarYMin=P+D/2,this._vbarTranslateMax=M-D):(delete this.vbar,delete this._vbarYMin,delete this._vbarTranslateMax);var F=this.id,R=u-.5,N=C?f+z+.5:f+.5,j=h-.5,B=k?d+T+.5:d+.5,U=s._topdefs.selectAll(&quot;#&quot;+F).data(k||C?[0]:[]);if(U.exit().remove(),U.enter().append(&quot;clipPath&quot;).attr(&quot;id&quot;,F).append(&quot;rect&quot;),k||C?(this._clipRect=U.select(&quot;rect&quot;).attr({x:Math.floor(R),y:Math.floor(j),width:Math.ceil(N)-Math.floor(R),height:Math.ceil(B)-Math.floor(j)}),this.container.call(o.setClipUrl,F),this.bg.attr({x:p,y:g,width:m,height:v})):(this.bg.attr({width:0,height:0}),this.container.on(&quot;wheel&quot;,null).on(&quot;.drag&quot;,null).call(o.setClipUrl,null),delete this._clipRect),k||C){var V=i.behavior.drag().on(&quot;dragstart&quot;,function(){i.event.sourceEvent.preventDefault()}).on(&quot;drag&quot;,this._onBoxDrag.bind(this));this.container.on(&quot;wheel&quot;,null).on(&quot;wheel&quot;,this._onBoxWheel.bind(this)).on(&quot;.drag&quot;,null).call(V);var q=i.behavior.drag().on(&quot;dragstart&quot;,function(){i.event.sourceEvent.preventDefault(),i.event.sourceEvent.stopPropagation()}).on(&quot;drag&quot;,this._onBarDrag.bind(this));k&amp;&amp;this.hbar.on(&quot;.drag&quot;,null).call(q),C&amp;&amp;this.vbar.on(&quot;.drag&quot;,null).call(q)}this.setTranslate(e,r)},n.prototype.disable=function(){(this.hbar||this.vbar)&amp;&amp;(this.bg.attr({width:0,height:0}),this.container.on(&quot;wheel&quot;,null).on(&quot;.drag&quot;,null).call(o.setClipUrl,null),delete this._clipRect),this.hbar&amp;&amp;(this.hbar.on(&quot;.drag&quot;,null),this.hbar.remove(),delete this.hbar,delete this._hbarXMin,delete this._hbarTranslateMax),this.vbar&amp;&amp;(this.vbar.on(&quot;.drag&quot;,null),this.vbar.remove(),delete this.vbar,delete this._vbarYMin,delete this._vbarTranslateMax)},n.prototype._onBoxDrag=function(){var t=this.translateX,e=this.translateY;this.hbar&amp;&amp;(t-=i.event.dx),this.vbar&amp;&amp;(e-=i.event.dy),this.setTranslate(t,e)},n.prototype._onBoxWheel=function(){var t=this.translateX,e=this.translateY;this.hbar&amp;&amp;(t+=i.event.deltaY),this.vbar&amp;&amp;(e+=i.event.deltaY),this.setTranslate(t,e)},n.prototype._onBarDrag=function(){var t=this.translateX,e=this.translateY;if(this.hbar){var r=t+this._hbarXMin,n=r+this._hbarTranslateMax;t=(s.constrain(i.event.x,r,n)-r)/(n-r)*(this.position.w-this._box.w)}if(this.vbar){var a=e+this._vbarYMin,o=a+this._vbarTranslateMax;e=(s.constrain(i.event.y,a,o)-a)/(o-a)*(this.position.h-this._box.h)}this.setTranslate(t,e)},n.prototype.setTranslate=function(t,e){var r=this.position.w-this._box.w,n=this.position.h-this._box.h;if(t=s.constrain(t||0,0,r),e=s.constrain(e||0,0,n),this.translateX=t,this.translateY=e,this.container.call(o.setTranslate,this._box.l-this.position.l-t,this._box.t-this.position.t-e),this._clipRect&amp;&amp;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(o.setTranslate,t+i*this._hbarTranslateMax,e)}if(this.vbar){var a=e/n;this.vbar.call(o.setTranslate,t,e+a*this._vbarTranslateMax)}}},{&quot;../../lib&quot;:743,&quot;../color&quot;:618,&quot;../drawing&quot;:643,d3:128}],716:[function(t,e,r){&quot;use strict&quot;;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},LINE_SPACING:1.3,MID_SHIFT:.35,OPPOSITE_SIDE:{left:&quot;right&quot;,right:&quot;left&quot;,top:&quot;bottom&quot;,bottom:&quot;top&quot;}}},{}],717:[function(t,e,r){&quot;use strict&quot;;e.exports={solid:[1],dot:[1,1],dash:[4,1],longdash:[8,1],dashdot:[4,1,1,1],longdashdot:[8,1,1,1]}},{}],718:[function(t,e,r){&quot;use strict&quot;;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]}},{}],719:[function(t,e,r){&quot;use strict&quot;;e.exports={circle:&quot;\u25cf&quot;,&quot;circle-open&quot;:&quot;\u25cb&quot;,square:&quot;\u25a0&quot;,&quot;square-open&quot;:&quot;\u25a1&quot;,diamond:&quot;\u25c6&quot;,&quot;diamond-open&quot;:&quot;\u25c7&quot;,cross:&quot;+&quot;,x:&quot;\u274c&quot;}},{}],720:[function(t,e,r){&quot;use strict&quot;;e.exports={SHOW_PLACEHOLDER:100,HIDE_PLACEHOLDER:1e3,DBLCLICKDELAY:300,DESELECTDIM:.2}},{}],721:[function(t,e,r){&quot;use strict&quot;;e.exports={BADNUM:void 0,FP_SAFE:Number.MAX_VALUE/1e4,ONEAVGYEAR:315576e5,ONEAVGMONTH:26298e5,ONEDAY:864e5,ONEHOUR:36e5,ONEMIN:6e4,ONESEC:1e3,EPOCHJD:2440587.5,ALMOST_EQUAL:1-1e-6,MINUS_SIGN:&quot;\u2212&quot;}},{}],722:[function(t,e,r){&quot;use strict&quot;;e.exports={entityToUnicode:{mu:&quot;\u03bc&quot;,&quot;#956&quot;:&quot;\u03bc&quot;,amp:&quot;&amp;&quot;,&quot;#28&quot;:&quot;&amp;&quot;,lt:&quot;&lt;&quot;,&quot;#60&quot;:&quot;&lt;&quot;,gt:&quot;&gt;&quot;,&quot;#62&quot;:&quot;&gt;&quot;,nbsp:&quot;\xa0&quot;,&quot;#160&quot;:&quot;\xa0&quot;,times:&quot;\xd7&quot;,&quot;#215&quot;:&quot;\xd7&quot;,plusmn:&quot;\xb1&quot;,&quot;#177&quot;:&quot;\xb1&quot;,deg:&quot;\xb0&quot;,&quot;#176&quot;:&quot;\xb0&quot;}}},{}],723:[function(t,e,r){&quot;use strict&quot;;r.xmlns=&quot;http://www.w3.org/2000/xmlns/&quot;,r.svg=&quot;http://www.w3.org/2000/svg&quot;,r.xlink=&quot;http://www.w3.org/1999/xlink&quot;,r.svgAttrs={xmlns:r.svg,&quot;xmlns:xlink&quot;:r.xlink}},{}],724:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;./plotly&quot;);r.version=&quot;1.33.1&quot;,t(&quot;es6-promise&quot;).polyfill(),t(&quot;../build/plotcss&quot;),t(&quot;./fonts/mathjax_config&quot;),r.plot=n.plot,r.newPlot=n.newPlot,r.restyle=n.restyle,r.relayout=n.relayout,r.redraw=n.redraw,r.update=n.update,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.setPlotConfig=t(&quot;./plot_api/set_plot_config&quot;),r.register=t(&quot;./plot_api/register&quot;),r.toImage=t(&quot;./plot_api/to_image&quot;),r.downloadImage=t(&quot;./snapshot/download&quot;),r.validate=t(&quot;./plot_api/validate&quot;),r.addFrames=n.addFrames,r.deleteFrames=n.deleteFrames,r.animate=n.animate,r.register(t(&quot;./traces/scatter&quot;)),r.register([t(&quot;./components/fx&quot;),t(&quot;./components/legend&quot;),t(&quot;./components/annotations&quot;),t(&quot;./components/annotations3d&quot;),t(&quot;./components/shapes&quot;),t(&quot;./components/images&quot;),t(&quot;./components/updatemenus&quot;),t(&quot;./components/sliders&quot;),t(&quot;./components/rangeslider&quot;),t(&quot;./components/rangeselector&quot;)]),r.register([t(&quot;./locale-en&quot;),t(&quot;./locale-en-us&quot;)]),r.Icons=t(&quot;../build/ploticon&quot;),r.Plots=n.Plots,r.Fx=t(&quot;./components/fx&quot;),r.Snapshot=t(&quot;./snapshot&quot;),r.PlotSchema=t(&quot;./plot_api/plot_schema&quot;),r.Queue=t(&quot;./lib/queue&quot;),r.d3=t(&quot;d3&quot;)},{&quot;../build/plotcss&quot;:1,&quot;../build/ploticon&quot;:2,&quot;./components/annotations&quot;:609,&quot;./components/annotations3d&quot;:614,&quot;./components/fx&quot;:660,&quot;./components/images&quot;:668,&quot;./components/legend&quot;:677,&quot;./components/rangeselector&quot;:689,&quot;./components/rangeslider&quot;:695,&quot;./components/shapes&quot;:702,&quot;./components/sliders&quot;:708,&quot;./components/updatemenus&quot;:714,&quot;./fonts/mathjax_config&quot;:725,&quot;./lib/queue&quot;:757,&quot;./locale-en&quot;:771,&quot;./locale-en-us&quot;:770,&quot;./plot_api/plot_schema&quot;:778,&quot;./plot_api/register&quot;:779,&quot;./plot_api/set_plot_config&quot;:780,&quot;./plot_api/to_image&quot;:782,&quot;./plot_api/validate&quot;:783,&quot;./plotly&quot;:784,&quot;./snapshot&quot;:878,&quot;./snapshot/download&quot;:875,&quot;./traces/scatter&quot;:1078,d3:128,&quot;es6-promise&quot;:137}],725:[function(t,e,r){&quot;use strict&quot;;&quot;undefined&quot;!=typeof MathJax?(r.MathJax=!0,MathJax.Hub.Config({messageStyle:&quot;none&quot;,skipStartupTypeset:!0,displayAlign:&quot;left&quot;,tex2jax:{inlineMath:[[&quot;$&quot;,&quot;$&quot;],[&quot;\\(&quot;,&quot;\\)&quot;]]}}),MathJax.Hub.Configured()):r.MathJax=!1},{}],726:[function(t,e,r){&quot;use strict&quot;;var n=Math.PI;r.deg2rad=function(t){return t/180*n},r.rad2deg=function(t){return t/n*180},r.wrap360=function(t){var e=t%360;return e&lt;0?e+360:e},r.wrap180=function(t){return Math.abs(t)&gt;180&amp;&amp;(t-=360*Math.round(t/360)),t}},{}],727:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;fast-isnumeric&quot;),i=t(&quot;../constants/numerical&quot;).BADNUM,a=/^['&quot;%,$#\s']+|[, ]|['&quot;%,$#\s']+$/g;e.exports=function(t){return&quot;string&quot;==typeof t&amp;&amp;(t=t.replace(a,&quot;&quot;)),n(t)?Number(t):i}},{&quot;../constants/numerical&quot;:721,&quot;fast-isnumeric&quot;:140}],728:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;fast-isnumeric&quot;),i=t(&quot;tinycolor2&quot;),a=t(&quot;../plots/attributes&quot;),o=t(&quot;../components/colorscale/get_scale&quot;),s=(Object.keys(t(&quot;../components/colorscale/scales&quot;)),t(&quot;./nested_property&quot;)),l=t(&quot;./regex&quot;).counter,c=t(&quot;../constants/interactions&quot;).DESELECTDIM,u=t(&quot;./angles&quot;).wrap180;r.valObjectMeta={data_array:{coerceFunction:function(t,e,r){Array.isArray(t)?e.set(t):void 0!==r&amp;&amp;e.set(r)}},enumerated:{coerceFunction:function(t,e,r,n){n.coerceNumber&amp;&amp;(t=+t),-1===n.values.indexOf(t)?e.set(r):e.set(t)},validateFunction:function(t,e){e.coerceNumber&amp;&amp;(t=+t);for(var r=e.values,n=0;n&lt;r.length;n++){var i=String(r[n]);if(&quot;/&quot;===i.charAt(0)&amp;&amp;&quot;/&quot;===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&amp;&amp;t&lt;i.min||void 0!==i.max&amp;&amp;t&gt;i.max?e.set(r):e.set(+t)}},integer:{coerceFunction:function(t,e,r,i){t%1||!n(t)||void 0!==i.min&amp;&amp;t&lt;i.min||void 0!==i.max&amp;&amp;t&gt;i.max?e.set(r):e.set(+t)}},string:{coerceFunction:function(t,e,r,n){if(&quot;string&quot;!=typeof t){var i=&quot;number&quot;==typeof t;!0!==n.strict&amp;&amp;i?e.set(String(t)):e.set(r)}else n.noBlank&amp;&amp;!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)&amp;&amp;t.length&amp;&amp;t.every(function(t){return i(t).isValid()})?e.set(t):e.set(r)}},colorscale:{coerceFunction:function(t,e,r){e.set(o(t,r))}},angle:{coerceFunction:function(t,e,r){&quot;auto&quot;===t?e.set(&quot;auto&quot;):n(t)?e.set(u(+t)):e.set(r)}},subplotid:{coerceFunction:function(t,e,r){&quot;string&quot;==typeof t&amp;&amp;l(r).test(t)?e.set(t):e.set(r)},validateFunction:function(t,e){var r=e.dflt;return t===r||&quot;string&quot;==typeof t&amp;&amp;!!l(r).test(t)}},flaglist:{coerceFunction:function(t,e,r,n){if(&quot;string&quot;==typeof t)if(-1===(n.extras||[]).indexOf(t)){for(var i=t.split(&quot;+&quot;),a=0;a&lt;i.length;){var o=i[a];-1===n.flags.indexOf(o)||i.indexOf(o)&lt;a?i.splice(a,1):a++}i.length?e.set(i.join(&quot;+&quot;)):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){if(Array.isArray(t)){var a=i.items,o=[];n=Array.isArray(n)?n:[];for(var s=0;s&lt;a.length;s++)r.coerce(t,o,a,&quot;[&quot;+s+&quot;]&quot;,n[s]);e.set(o)}else e.set(n)},validateFunction:function(t,e){if(!Array.isArray(t))return!1;var n=e.items;if(!e.freeLength&amp;&amp;t.length!==n.length)return!1;for(var i=0;i&lt;t.length;i++){if(!r.validate(t[i],e.items[i]))return!1}return!0}}},r.coerce=function(t,e,n,i,a){var o=s(n,i).get(),l=s(t,i),c=s(e,i),u=l.get();return void 0===a&amp;&amp;(a=o.dflt),o.arrayOk&amp;&amp;Array.isArray(u)?(c.set(u),u):(r.valObjectMeta[o.valType].coerceFunction(u,c,a,o),c.get())},r.coerce2=function(t,e,n,i,a){var o=s(t,i),l=r.coerce(t,e,n,i,a),c=o.get();return void 0!==c&amp;&amp;null!==c&amp;&amp;l},r.coerceFont=function(t,e,r){var n={};return r=r||{},n.family=t(e+&quot;.family&quot;,r.family),n.size=t(e+&quot;.size&quot;,r.size),n.color=t(e+&quot;.color&quot;,r.color),n},r.coerceHoverinfo=function(t,e,n){var i,o=e._module.attributes,s=o.hoverinfo?{hoverinfo:o.hoverinfo}:a,l=s.hoverinfo;if(1===n._dataLength){var c=&quot;all&quot;===l.dflt?l.flags.slice():l.dflt.split(&quot;+&quot;);c.splice(c.indexOf(&quot;name&quot;),1),i=c.join(&quot;+&quot;)}return r.coerce(t,e,s,&quot;hoverinfo&quot;,i)},r.coerceSelectionMarkerOpacity=function(t,e){if(t.marker){var r,n,i=t.marker.opacity;Array.isArray(i)||t.selected||t.unselected||(r=i,n=c*i),e(&quot;selected.marker.opacity&quot;,r),e(&quot;unselected.marker.opacity&quot;,n)}},r.validate=function(t,e){var n=r.valObjectMeta[e.valType];if(e.arrayOk&amp;&amp;Array.isArray(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}},{&quot;../components/colorscale/get_scale&quot;:631,&quot;../components/colorscale/scales&quot;:637,&quot;../constants/interactions&quot;:720,&quot;../plots/attributes&quot;:787,&quot;./angles&quot;:726,&quot;./nested_property&quot;:751,&quot;./regex&quot;:758,&quot;fast-isnumeric&quot;:140,tinycolor2:546}],729:[function(t,e,r){&quot;use strict&quot;;function n(t){return t&amp;&amp;x.componentsRegistry.calendars&amp;&amp;&quot;string&quot;==typeof t&amp;&amp;&quot;gregorian&quot;!==t}function i(t,e){return String(t+Math.pow(10,e)).substr(1)}function a(t,e,r,n,a){if((e||r||n||a)&amp;&amp;(t+=&quot; &quot;+i(e,2)+&quot;:&quot;+i(r,2),(n||a)&amp;&amp;(t+=&quot;:&quot;+i(n,2),a))){for(var o=4;a%10==0;)o-=1,a/=10;t+=&quot;.&quot;+i(a,o)}return t}function o(t,e){var r=f(t+.05,p),n=i(Math.floor(r/m),2)+&quot;:&quot;+i(f(Math.floor(r/g),60),2);if(&quot;M&quot;!==e){c(e)||(e=0);var a=(100+Math.min(f(t/v,60),C[e])).toFixed(e).substr(1);e&gt;0&amp;&amp;(a=a.replace(/0+$/,&quot;&quot;).replace(/[\.]$/,&quot;&quot;)),n+=&quot;:&quot;+a}return n}function s(t){return t.formatDate(&quot;yyyy&quot;)}var l=t(&quot;d3&quot;),c=t(&quot;fast-isnumeric&quot;),u=t(&quot;./loggers&quot;),f=t(&quot;./mod&quot;),h=t(&quot;../constants/numerical&quot;),d=h.BADNUM,p=h.ONEDAY,m=h.ONEHOUR,g=h.ONEMIN,v=h.ONESEC,y=h.EPOCHJD,x=t(&quot;../registry&quot;),b=l.time.format.utc,_=/^\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,w=/^\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,M=(new Date).getFullYear()-70;r.dateTick0=function(t,e){return n(t)?e?x.getComponentMethod(&quot;calendars&quot;,&quot;CANONICAL_SUNDAY&quot;)[t]:x.getComponentMethod(&quot;calendars&quot;,&quot;CANONICAL_TICK&quot;)[t]:e?&quot;2000-01-02&quot;:&quot;2000-01-01&quot;},r.dfltRange=function(t){return n(t)?x.getComponentMethod(&quot;calendars&quot;,&quot;DFLTRANGE&quot;)[t]:[&quot;2000-01-01&quot;,&quot;2001-01-01&quot;]},r.isJSDate=function(t){return&quot;object&quot;==typeof t&amp;&amp;null!==t&amp;&amp;&quot;function&quot;==typeof t.getTime};var k,A;r.dateTime2ms=function(t,e){if(r.isJSDate(t))return(t=Number(t)-t.getTimezoneOffset()*g)&gt;=k&amp;&amp;t&lt;=A?t:d;if(&quot;string&quot;!=typeof t&amp;&amp;&quot;number&quot;!=typeof t)return d;t=String(t);var i=n(e),a=t.charAt(0);!i||&quot;G&quot;!==a&amp;&amp;&quot;g&quot;!==a||(t=t.substr(1),e=&quot;&quot;);var o=i&amp;&amp;&quot;chinese&quot;===e.substr(0,7),s=t.match(o?w:_);if(!s)return d;var l=s[1],c=s[3]||&quot;1&quot;,u=Number(s[5]||1),f=Number(s[7]||0),h=Number(s[9]||0),b=Number(s[11]||0);if(i){if(2===l.length)return d;l=Number(l);var T;try{var S=x.getComponentMethod(&quot;calendars&quot;,&quot;getCal&quot;)(e);if(o){var E=&quot;i&quot;===c.charAt(c.length-1);c=parseInt(c,10),T=S.newDate(l,S.toMonthIndex(l,c,E),u)}else T=S.newDate(l,Number(c),u)}catch(t){return d}return T?(T.toJD()-y)*p+f*m+h*g+b*v:d}l=2===l.length?(Number(l)+2e3-M)%100+M:Number(l),c-=1;var L=new Date(Date.UTC(2e3,c,u,f,h));return L.setUTCFullYear(l),L.getUTCMonth()!==c?d:L.getUTCDate()!==u?d:L.getTime()+b*v},k=r.MIN_MS=r.dateTime2ms(&quot;-9999&quot;),A=r.MAX_MS=r.dateTime2ms(&quot;9999-12-31 23:59:59.9999&quot;),r.isDateTime=function(t,e){return r.dateTime2ms(t,e)!==d};var T=90*p,S=3*m,E=5*g;r.ms2DateTime=function(t,e,r){if(&quot;number&quot;!=typeof t||!(t&gt;=k&amp;&amp;t&lt;=A))return d;e||(e=0);var i,o,s,l,c,u,h=Math.floor(10*f(t+.05,1)),_=Math.round(t-h/10);if(n(r)){var w=Math.floor(_/p)+y,M=Math.floor(f(t,p));try{i=x.getComponentMethod(&quot;calendars&quot;,&quot;getCal&quot;)(r).fromJD(w).formatDate(&quot;yyyy-mm-dd&quot;)}catch(t){i=b(&quot;G%Y-%m-%d&quot;)(new Date(_))}if(&quot;-&quot;===i.charAt(0))for(;i.length&lt;11;)i=&quot;-0&quot;+i.substr(1);else for(;i.length&lt;10;)i=&quot;0&quot;+i;o=e&lt;T?Math.floor(M/m):0,s=e&lt;T?Math.floor(M%m/g):0,l=e&lt;S?Math.floor(M%g/v):0,c=e&lt;E?M%v*10+h:0}else u=new Date(_),i=b(&quot;%Y-%m-%d&quot;)(u),o=e&lt;T?u.getUTCHours():0,s=e&lt;T?u.getUTCMinutes():0,l=e&lt;S?u.getUTCSeconds():0,c=e&lt;E?10*u.getUTCMilliseconds()+h:0;return a(i,o,s,l,c)},r.ms2DateTimeLocal=function(t){if(!(t&gt;=k+p&amp;&amp;t&lt;=A-p))return d;var e=Math.floor(10*f(t+.05,1)),r=new Date(Math.round(t-e/10));return a(l.time.format(&quot;%Y-%m-%d&quot;)(r),r.getHours(),r.getMinutes(),r.getSeconds(),10*r.getUTCMilliseconds()+e)},r.cleanDate=function(t,e,i){if(r.isJSDate(t)||&quot;number&quot;==typeof t){if(n(i))return u.error(&quot;JS Dates and milliseconds are incompatible with world calendars&quot;,t),e;if(!(t=r.ms2DateTimeLocal(+t))&amp;&amp;void 0!==e)return e}else if(!r.isDateTime(t,i))return u.error(&quot;unrecognized date&quot;,t),e;return t};var L=/%\d?f/g,C=[59,59.9,59.99,59.999,59.9999];r.formatDate=function(t,e,r,i,a){var l,c;if(a=n(a)&amp;&amp;a,e)return function(t,e,r,i){t=t.replace(L,function(t){var r=Math.min(+t.charAt(1)||6,6);return(e/1e3%1+2).toFixed(r).substr(2).replace(/0+$/,&quot;&quot;)||&quot;0&quot;});var a=new Date(Math.floor(e+.05));if(n(i))try{t=x.getComponentMethod(&quot;calendars&quot;,&quot;worldCalFmt&quot;)(t,e,i)}catch(t){return&quot;Invalid&quot;}return r(t)(a)}(e,t,i,a);if(a)try{var u=Math.floor((t+.05)/p)+y,f=x.getComponentMethod(&quot;calendars&quot;,&quot;getCal&quot;)(a).fromJD(u);&quot;y&quot;===r?c=s(f):&quot;m&quot;===r?c=function(t){return t.formatDate(&quot;M yyyy&quot;)}(f):&quot;d&quot;===r?(l=s(f),c=function(t){return t.formatDate(&quot;M d&quot;)}(f)):(l=function(t){return t.formatDate(&quot;M d, yyyy&quot;)}(f),c=o(t,r))}catch(t){return&quot;Invalid&quot;}else{var h=new Date(Math.floor(t+.05));&quot;y&quot;===r?c=i(&quot;%Y&quot;)(h):&quot;m&quot;===r?c=i(&quot;%b %Y&quot;)(h):&quot;d&quot;===r?(l=i(&quot;%Y&quot;)(h),c=i(&quot;%b %-d&quot;)(h)):(l=i(&quot;%b %-d, %Y&quot;)(h),c=o(t,r))}return c+(l?&quot;\n&quot;+l:&quot;&quot;)};var z=3*p;r.incrementMonth=function(t,e,r){r=n(r)&amp;&amp;r;var i=f(t,p);if(t=Math.round(t-i),r)try{var a=Math.round(t/p)+y,o=x.getComponentMethod(&quot;calendars&quot;,&quot;getCal&quot;)(r),s=o.fromJD(a);return e%12?o.add(s,e,&quot;m&quot;):o.add(s,e/12,&quot;y&quot;),(s.toJD()-y)*p+i}catch(e){u.error(&quot;invalid ms &quot;+t+&quot; in calendar &quot;+r)}var l=new Date(t+z);return l.setUTCMonth(l.getUTCMonth()+e)+i-z},r.findExactDates=function(t,e){for(var r,i,a=0,o=0,s=0,l=0,u=n(e)&amp;&amp;x.getComponentMethod(&quot;calendars&quot;,&quot;getCal&quot;)(e),f=0;f&lt;t.length;f++)if(i=t[f],c(i)){if(!(i%p))if(u)try{1===(r=u.fromJD(i/p+y)).day()?1===r.month()?a++:o++:s++}catch(t){}else 1===(r=new Date(i)).getUTCDate()?0===r.getUTCMonth()?a++:o++:s++}else l++;s+=o+=a;var h=t.length-l;return{exactYears:a/h,exactMonths:o/h,exactDays:s/h}}},{&quot;../constants/numerical&quot;:721,&quot;../registry&quot;:873,&quot;./loggers&quot;:748,&quot;./mod&quot;:750,d3:128,&quot;fast-isnumeric&quot;:140}],730:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t,e){return Array.isArray(t)||(t=[]),t.length=e,t}},{}],731:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;events&quot;).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){&quot;undefined&quot;!=typeof jQuery&amp;&amp;jQuery(t).trigger(n,i),e.emit(n,i),r.emit(n,i)},t},triggerHandler:function(t,e,r){var n,i;&quot;undefined&quot;!=typeof jQuery&amp;&amp;(n=jQuery(t).triggerHandler(e,r));var a=t._ev;if(!a)return n;var o=a._events[e];if(!o)return n;&quot;function&quot;==typeof o&amp;&amp;(o=[o]);for(var s=o.pop(),l=0;l&lt;o.length;l++)o[l](r);return i=s(r),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:138}],732:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,o){var s,l,c,u,f,h,d=t[0],p=t.length;if(2===p&amp;&amp;a(d)&amp;&amp;a(t[1])&amp;&amp;0===d.length){if(function(t,e){var r,n;for(r=0;r&lt;t.length;r++){if(null!==(n=t[r])&amp;&amp;&quot;object&quot;==typeof n)return!1;void 0!==n&amp;&amp;(e[r]=n)}return!0}(t[1],d))return d;d.splice(0,d.length)}for(var m=1;m&lt;p;m++){s=t[m];for(l in s)c=d[l],u=s[l],o&amp;&amp;a(u)?d[l]=u:e&amp;&amp;u&amp;&amp;(i(u)||(f=a(u)))?(f?(f=!1,h=c&amp;&amp;a(c)?c:[]):h=c&amp;&amp;i(c)?c:{},d[l]=n([h,u],e,r,o)):(void 0!==u||r)&amp;&amp;(d[l]=u)}return d}var i=t(&quot;./is_plain_object.js&quot;),a=Array.isArray;r.extendFlat=function(){return n(arguments,!1,!1,!1)},r.extendDeep=function(){return n(arguments,!0,!1,!1)},r.extendDeepAll=function(){return n(arguments,!0,!0,!1)},r.extendDeepNoArrays=function(){return n(arguments,!0,!1,!0)}},{&quot;./is_plain_object.js&quot;:745}],733:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t){for(var e={},r=[],n=0,i=0;i&lt;t.length;i++){var a=t[i];1!==e[a]&amp;&amp;(e[a]=1,r[n++]=a)}return r}},{}],734:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t){for(var e=function(t){return Array.isArray(t)&amp;&amp;Array.isArray(t[0])&amp;&amp;t[0][0]&amp;&amp;t[0][0].trace}(t)?function(t){return!0===t[0].trace.visible}:function(t){return!0===t.visible},r=[],n=0;n&lt;t.length;n++){var i=t[n];e(i)&amp;&amp;r.push(i)}return r}},{}],735:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;country-regex&quot;),i=t(&quot;../lib&quot;),a=Object.keys(n),o={&quot;ISO-3&quot;:i.identity,&quot;USA-states&quot;:i.identity,&quot;country names&quot;:function(t){for(var e=0;e&lt;a.length;e++){var r=a[e];if(new RegExp(n[r]).test(t.trim().toLowerCase()))return r}return i.log(&quot;Unrecognized country name: &quot;+t+&quot;.&quot;),!1}};r.locationToFeature=function(t,e,r){if(!e||&quot;string&quot;!=typeof e)return!1;var n=function(t,e){return(0,o[t])(e)}(t,e);if(n){for(var a=0;a&lt;r.length;a++){var s=r[a];if(s.id===n)return s}i.log([&quot;Location with id&quot;,n,&quot;does not have a matching topojson feature at this resolution.&quot;].join(&quot; &quot;))}return!1}},{&quot;../lib&quot;:743,&quot;country-regex&quot;:113}],736:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../constants/numerical&quot;).BADNUM;r.calcTraceToLineCoords=function(t){for(var e=t[0].trace.connectgaps,r=[],i=[],a=0;a&lt;t.length;a++){var o=t[a].lonlat;o[0]!==n?i.push(o):!e&amp;&amp;i.length&gt;0&amp;&amp;(r.push(i),i=[])}return i.length&gt;0&amp;&amp;r.push(i),r},r.makeLine=function(t){return 1===t.length?{type:&quot;LineString&quot;,coordinates:t[0]}:{type:&quot;MultiLineString&quot;,coordinates:t}},r.makePolygon=function(t){if(1===t.length)return{type:&quot;Polygon&quot;,coordinates:t};for(var e=new Array(t.length),r=0;r&lt;t.length;r++)e[r]=[t[r]];return{type:&quot;MultiPolygon&quot;,coordinates:e}},r.makeBlank=function(){return{type:&quot;Point&quot;,coordinates:[]}}},{&quot;../constants/numerical&quot;:721}],737:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,n,i,a,o,s){var l=r-t,c=i-t,u=o-i,f=n-e,h=a-e,d=s-a,p=l*d-u*f;if(0===p)return null;var m=(c*d-u*h)/p,g=(c*f-l*h)/p;return g&lt;0||g&gt;1||m&lt;0||m&gt;1?null:{x:t+l*m,y:e+f*m}}function i(t,e,r,n,i){var a=n*t+i*e;if(a&lt;0)return n*n+i*i;if(a&gt;r){var o=n-t,s=i-e;return o*o+s*s}var l=n*e-i*t;return l*l/r}var a=t(&quot;./mod&quot;);r.segmentsIntersect=n,r.segmentDistance=function(t,e,r,a,o,s,l,c){if(n(t,e,r,a,o,s,l,c))return 0;var u=r-t,f=a-e,h=l-o,d=c-s,p=u*u+f*f,m=h*h+d*d,g=Math.min(i(u,f,p,o-t,s-e),i(u,f,p,l-t,c-e),i(h,d,m,t-o,e-s),i(h,d,m,r-o,a-s));return Math.sqrt(g)};var o,s,l;r.getTextLocation=function(t,e,r,n){if(t===s&amp;&amp;n===l||(o={},s=t,l=n),o[r])return o[r];var i=t.getPointAtLength(a(r-n/2,e)),c=t.getPointAtLength(a(r+n/2,e)),u=Math.atan((c.y-i.y)/(c.x-i.x)),f=t.getPointAtLength(a(r,e)),h={x:(4*f.x+i.x+c.x)/6,y:(4*f.y+i.y+c.y)/6,theta:u};return o[r]=h,h},r.clearLocationCache=function(){s=null},r.getVisibleSegment=function(t,e,r){function n(e){var r=t.getPointAtLength(e);0===e?i=r:e===f&amp;&amp;(a=r);var n=r.x&lt;o?o-r.x:r.x&gt;s?r.x-s:0,u=r.y&lt;l?l-r.y:r.y&gt;c?r.y-c:0;return Math.sqrt(n*n+u*u)}for(var i,a,o=e.left,s=e.right,l=e.top,c=e.bottom,u=0,f=t.getTotalLength(),h=f,d=n(u);d;){if((u+=d+r)&gt;h)return;d=n(u)}for(d=n(h);d;){if(h-=d+r,u&gt;h)return;d=n(h)}return{min:u,max:h,len:h-u,total:f,isClosed:0===u&amp;&amp;h===f&amp;&amp;Math.abs(i.x-a.x)&lt;.1&amp;&amp;Math.abs(i.y-a.y)&lt;.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]&gt;t.getPointAtLength(s)[r]?-1:1,f=0,h=0,d=s;f&lt;c;){if(i=(h+d)/2,a=t.getPointAtLength(i),o=a[r]-e,Math.abs(o)&lt;l)return a;u*o&gt;0?d=i:h=i,f++}return a}},{&quot;./mod&quot;:750}],738:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t){var e;if(&quot;string&quot;==typeof t){if(null===(e=document.getElementById(t)))throw new Error(&quot;No DOM element with id '&quot;+t+&quot;' exists on the page.&quot;);return e}if(null===t||void 0===t)throw new Error(&quot;DOM element provided is null or undefined&quot;);return t}},{}],739:[function(t,e,r){&quot;use strict&quot;;function n(t,e){var r=t;return r[3]*=e,r}function i(t){if(o(t))return u;var e=s(t);return e.length?e:u}function a(t){return o(t)?t:f}var o=t(&quot;fast-isnumeric&quot;),s=t(&quot;color-normalize&quot;),l=t(&quot;../components/colorscale&quot;),c=t(&quot;../components/color/attributes&quot;).defaultLine,u=s(c),f=1;e.exports=function(t,e,r){var o,c,h,d,p,m=t.color,g=Array.isArray(m),v=Array.isArray(e),y=[];if(o=void 0!==t.colorscale?l.makeColorScaleFunc(l.extractScale(t.colorscale,t.cmin,t.cmax)):i,c=g?function(t,e){return void 0===t[e]?u:s(o(t[e]))}:i,h=v?function(t,e){return void 0===t[e]?f:a(t[e])}:a,g||v)for(var x=0;x&lt;r;x++)d=c(m,x),p=h(e,x),y[x]=n(d,p);else y=n(s(m),e);return y}},{&quot;../components/color/attributes&quot;:617,&quot;../components/colorscale&quot;:633,&quot;color-normalize&quot;:99,&quot;fast-isnumeric&quot;:140}],740:[function(t,e,r){&quot;use strict&quot;;function n(t){return[t]}var i=t(&quot;./identity&quot;);e.exports={keyFun:function(t){return t.key},repeat:n,descend:i,wrap:n,unwrap:function(t){return t[0]}}},{&quot;./identity&quot;:742}],741:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;superscript-text&quot;),i=t(&quot;../constants/string_mappings&quot;);e.exports=function(t){return&quot;&quot;+function(t){for(var e=i.entityToUnicode,r=0;(r=t.indexOf(&quot;&amp;&quot;,r))&gt;=0;){var n=t.indexOf(&quot;;&quot;,r);if(n&lt;r)r+=1;else{var a=e[t.slice(r+1,n)];t=a?t.slice(0,r)+a+t.slice(n+1):t.slice(0,r)+t.slice(n+1)}}return t}(function(t){return t.replace(/\&lt;.*\&gt;/g,&quot;&quot;)}(function(t){for(var e=0;(e=t.indexOf(&quot;&lt;sup&gt;&quot;,e))&gt;=0;){var r=t.indexOf(&quot;&lt;/sup&gt;&quot;,e);if(r&lt;e)break;t=t.slice(0,e)+n(t.slice(e+5,r))+t.slice(r+6)}return t}(function(t){return t.replace(/\&lt;br\&gt;/g,&quot;\n&quot;)}(t))))}},{&quot;../constants/string_mappings&quot;:722,&quot;superscript-text&quot;:539}],742:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t){return t}},{}],743:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;d3&quot;),i=t(&quot;fast-isnumeric&quot;),a=t(&quot;../constants/numerical&quot;),o=a.FP_SAFE,s=a.BADNUM,l=e.exports={};l.nestedProperty=t(&quot;./nested_property&quot;),l.keyedContainer=t(&quot;./keyed_container&quot;),l.relativeAttr=t(&quot;./relative_attr&quot;),l.isPlainObject=t(&quot;./is_plain_object&quot;),l.isArray=t(&quot;./is_array&quot;),l.mod=t(&quot;./mod&quot;),l.toLogRange=t(&quot;./to_log_range&quot;),l.relinkPrivateKeys=t(&quot;./relink_private&quot;),l.ensureArray=t(&quot;./ensure_array&quot;);var c=t(&quot;./coerce&quot;);l.valObjectMeta=c.valObjectMeta,l.coerce=c.coerce,l.coerce2=c.coerce2,l.coerceFont=c.coerceFont,l.coerceHoverinfo=c.coerceHoverinfo,l.coerceSelectionMarkerOpacity=c.coerceSelectionMarkerOpacity,l.validate=c.validate;var u=t(&quot;./dates&quot;);l.dateTime2ms=u.dateTime2ms,l.isDateTime=u.isDateTime,l.ms2DateTime=u.ms2DateTime,l.ms2DateTimeLocal=u.ms2DateTimeLocal,l.cleanDate=u.cleanDate,l.isJSDate=u.isJSDate,l.formatDate=u.formatDate,l.incrementMonth=u.incrementMonth,l.dateTick0=u.dateTick0,l.dfltRange=u.dfltRange,l.findExactDates=u.findExactDates,l.MIN_MS=u.MIN_MS,l.MAX_MS=u.MAX_MS;var f=t(&quot;./search&quot;);l.findBin=f.findBin,l.sorterAsc=f.sorterAsc,l.sorterDes=f.sorterDes,l.distinctVals=f.distinctVals,l.roundUp=f.roundUp;var h=t(&quot;./stats&quot;);l.aggNums=h.aggNums,l.len=h.len,l.mean=h.mean,l.variance=h.variance,l.stdev=h.stdev,l.interp=h.interp;var d=t(&quot;./matrix&quot;);l.init2dArray=d.init2dArray,l.transposeRagged=d.transposeRagged,l.dot=d.dot,l.translationMatrix=d.translationMatrix,l.rotationMatrix=d.rotationMatrix,l.rotationXYMatrix=d.rotationXYMatrix,l.apply2DTransform=d.apply2DTransform,l.apply2DTransform2=d.apply2DTransform2;var p=t(&quot;./angles&quot;);l.deg2rad=p.deg2rad,l.rad2deg=p.rad2deg,l.wrap360=p.wrap360,l.wrap180=p.wrap180;var m=t(&quot;./geometry2d&quot;);l.segmentsIntersect=m.segmentsIntersect,l.segmentDistance=m.segmentDistance,l.getTextLocation=m.getTextLocation,l.clearLocationCache=m.clearLocationCache,l.getVisibleSegment=m.getVisibleSegment,l.findPointOnPath=m.findPointOnPath;var g=t(&quot;./extend&quot;);l.extendFlat=g.extendFlat,l.extendDeep=g.extendDeep,l.extendDeepAll=g.extendDeepAll,l.extendDeepNoArrays=g.extendDeepNoArrays;var v=t(&quot;./loggers&quot;);l.log=v.log,l.warn=v.warn,l.error=v.error;var y=t(&quot;./regex&quot;);l.counterRegex=y.counter;var x=t(&quot;./throttle&quot;);l.throttle=x.throttle,l.throttleDone=x.done,l.clearThrottle=x.clear,l.getGraphDiv=t(&quot;./get_graph_div&quot;),l._=t(&quot;./localize&quot;),l.notifier=t(&quot;./notifier&quot;),l.filterUnique=t(&quot;./filter_unique&quot;),l.filterVisible=t(&quot;./filter_visible&quot;),l.pushUnique=t(&quot;./push_unique&quot;),l.cleanNumber=t(&quot;./clean_number&quot;),l.ensureNumber=function(t){return i(t)?(t=Number(t))&lt;-o||t&gt;o?s:i(t)?Number(t):s:s},l.noop=t(&quot;./noop&quot;),l.identity=t(&quot;./identity&quot;),l.swapAttrs=function(t,e,r,n){r||(r=&quot;x&quot;),n||(n=&quot;y&quot;);for(var i=0;i&lt;e.length;i++){var a=e[i],o=l.nestedProperty(t,a.replace(&quot;?&quot;,r)),s=l.nestedProperty(t,a.replace(&quot;?&quot;,n)),c=o.get();o.set(s.get()),s.set(c)}},l.pauseEvent=function(t){return t.stopPropagation&amp;&amp;t.stopPropagation(),t.preventDefault&amp;&amp;t.preventDefault(),t.cancelBubble=!0,!1},l.raiseToTop=function(t){t.parentNode.appendChild(t)},l.cancelTransition=function(t){return t.transition().duration(0)},l.constrain=function(t,e,r){return e&gt;r?Math.max(r,Math.min(e,t)):Math.max(e,Math.min(r,t))},l.bBoxIntersect=function(t,e,r){return r=r||0,t.left&lt;=e.right+r&amp;&amp;e.left&lt;=t.right+r&amp;&amp;t.top&lt;=e.bottom+r&amp;&amp;e.top&lt;=t.bottom+r},l.simpleMap=function(t,e,r,n){for(var i=t.length,a=new Array(i),o=0;o&lt;i;o++)a[o]=e(t[o],r,n);return a},l.randstr=function t(e,r,n){if(n||(n=16),void 0===r&amp;&amp;(r=24),r&lt;=0)return&quot;0&quot;;var i,a,o=Math.log(Math.pow(2,r))/Math.log(n),s=&quot;&quot;;for(i=2;o===1/0;i*=2)o=Math.log(Math.pow(2,r/i))/Math.log(n)*i;var l=o-Math.floor(o);for(i=0;i&lt;Math.floor(o);i++)s=Math.floor(Math.random()*n).toString(n)+s;l&amp;&amp;(a=Math.pow(n,l),s=Math.floor(Math.random()*a).toString(n)+s);var c=parseInt(s,n);return e&amp;&amp;e.indexOf(s)&gt;-1||c!==1/0&amp;&amp;c&gt;=Math.pow(2,r)?t(e,r,n):s},l.OptionControl=function(t,e){t||(t={}),e||(e=&quot;opt&quot;);var r={};return r.optionList=[],r._newoption=function(n){n[e]=t,r[n.name]=n,r.optionList.push(n)},r[&quot;_&quot;+e]=t,r},l.smooth=function(t,e){if((e=Math.round(e)||0)&lt;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&lt;l;r++)c[r]=(1-Math.cos(Math.PI*(r+1)/e))/(2*e);for(r=0;r&lt;o;r++){for(a=0,n=0;n&lt;l;n++)(i=r+n+1-e)&lt;-o?i-=s*Math.round(i/s):i&gt;=s&amp;&amp;(i-=s*Math.floor(i/s)),i&lt;0?i=-1-i:i&gt;=o&amp;&amp;(i=s-1-i),a+=t[i]*c[n];u[r]=a}return u},l.syncOrAsync=function(t,e,r){function n(){return l.syncOrAsync(t,e,r)}for(var i,a;t.length;)if(a=t.splice(0,1)[0],(i=a(e))&amp;&amp;i.then)return i.then(n).then(void 0,l.promiseError);return r&amp;&amp;r(e)},l.stripTrailingSlash=function(t){return&quot;/&quot;===t.substr(-1)?t.substr(0,t.length-1):t},l.noneOrAll=function(t,e,r){if(t){var n,i,a=!1,o=!0;for(n=0;n&lt;r.length;n++)void 0!==(i=t[r[n]])&amp;&amp;null!==i?a=!0:o=!1;if(a&amp;&amp;!o)for(n=0;n&lt;r.length;n++)t[r[n]]=e[r[n]]}},l.mergeArray=function(t,e,r){if(Array.isArray(t))for(var n=Math.min(t.length,e.length),i=0;i&lt;n;i++)e[i][r]=t[i]},l.fillArray=function(t,e,r,n){if(n=n||l.identity,Array.isArray(t))for(var i=0;i&lt;e.length;i++)e[i][r]=n(t[i])},l.castOption=function(t,e,r,n){n=n||l.identity;var i=l.nestedProperty(t,r).get();return Array.isArray(i)?n(Array.isArray(e)&amp;&amp;Array.isArray(i[e[0]])?i[e[0]][e[1]]:i[e]):i},l.extractOption=function(t,e,r,n){if(r in t)return t[r];var i=l.nestedProperty(e,n).get();return Array.isArray(i)?void 0:i},l.tagSelected=function(t,e,r){function n(t){return i(t)&amp;&amp;t&gt;=0&amp;&amp;t%1==0}function a(e){return void 0!==e&amp;&amp;e&lt;t.length}var o,s=e.selectedpoints,l=e._indexToPoints;if(l){o={};for(var c in l)for(var u=l[c],f=0;f&lt;u.length;f++)o[u[f]]=c}for(var h=0;h&lt;s.length;h++){var d=s[h];if(n(d)){var p=o?o[d]:d,m=r?r[p]:p;a(m)&amp;&amp;(t[m].selected=1)}}},l.getTargetArray=function(t,e){var r=e.target;if(&quot;string&quot;==typeof r&amp;&amp;r){var n=l.nestedProperty(t,r).get();return!!Array.isArray(n)&amp;&amp;n}return!!Array.isArray(r)&amp;&amp;r},l.minExtend=function(t,e){var r={};&quot;object&quot;!=typeof e&amp;&amp;(e={});var n,i,a,o=Object.keys(t);for(n=0;n&lt;o.length;n++)a=t[i=o[n]],&quot;_&quot;!==i.charAt(0)&amp;&amp;&quot;function&quot;!=typeof a&amp;&amp;(&quot;module&quot;===i?r[i]=a:Array.isArray(a)?r[i]=a.slice(0,3):r[i]=a&amp;&amp;&quot;object&quot;==typeof a?l.minExtend(t[i],e[i]):a);for(o=Object.keys(e),n=0;n&lt;o.length;n++)&quot;object&quot;==typeof(a=e[i=o[n]])&amp;&amp;i in r&amp;&amp;&quot;object&quot;==typeof r[i]||(r[i]=a);return r},l.titleCase=function(t){return t.charAt(0).toUpperCase()+t.substr(1)},l.containsAny=function(t,e){for(var r=0;r&lt;e.length;r++)if(-1!==t.indexOf(e[r]))return!0;return!1},l.isPlotDiv=function(t){var e=n.select(t);return e.node()instanceof HTMLElement&amp;&amp;e.size()&amp;&amp;e.classed(&quot;js-plotly-plot&quot;)},l.removeElement=function(t){var e=t&amp;&amp;t.parentNode;e&amp;&amp;e.removeChild(t)},l.addStyleRule=function(t,e){if(!l.styleSheet){var r=document.createElement(&quot;style&quot;);r.appendChild(document.createTextNode(&quot;&quot;)),document.head.appendChild(r),l.styleSheet=r.sheet}var n=l.styleSheet;n.insertRule?n.insertRule(t+&quot;{&quot;+e+&quot;}&quot;,0):n.addRule?n.addRule(t,e,0):l.warn(&quot;addStyleRule failed&quot;)},l.isIE=function(){return void 0!==window.navigator.msSaveBlob},l.isD3Selection=function(t){return t&amp;&amp;&quot;function&quot;==typeof t.classed},l.objectFromPath=function(t,e){for(var r,n=t.split(&quot;.&quot;),i=r={},a=0;a&lt;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 b=/^([^\[\.]+)\.(.+)?/,_=/^([^\.]+)\[([0-9]+)\](\.)?(.+)?/;l.expandObjectPaths=function(t){var e,r,n,i,a,o,s;if(&quot;object&quot;==typeof t&amp;&amp;!Array.isArray(t))for(r in t)t.hasOwnProperty(r)&amp;&amp;((e=r.match(b))?(i=t[r],n=e[1],delete t[r],t[n]=l.extendDeepNoArrays(t[n]||{},l.objectFromPath(r,l.expandObjectPaths(i))[n])):(e=r.match(_))?(i=t[r],n=e[1],a=parseInt(e[2]),delete t[r],t[n]=t[n]||[],&quot;.&quot;===e[3]?(s=e[4],o=t[n][a]=t[n][a]||{},l.extendDeepNoArrays(o,l.objectFromPath(s,l.expandObjectPaths(i)))):t[n][a]=l.expandObjectPaths(i)):t[r]=l.expandObjectPaths(t[r]));return t},l.numSeparate=function(t,e,r){if(r||(r=!1),&quot;string&quot;!=typeof e||0===e.length)throw new Error(&quot;Separator string required for formatting!&quot;);&quot;number&quot;==typeof t&amp;&amp;(t=String(t));var n=/(\d+)(\d{3})/,i=e.charAt(0),a=e.charAt(1),o=t.split(&quot;.&quot;),s=o[0],l=o.length&gt;1?i+o[1]:&quot;&quot;;if(a&amp;&amp;(o.length&gt;1||s.length&gt;4||r))for(;n.test(s);)s=s.replace(n,&quot;$1&quot;+a+&quot;$2&quot;);return s+l};var w=/%{([^\s%{}]*)}/g,M=/^\w*$/;l.templateString=function(t,e){var r={};return t.replace(w,function(t,n){return M.test(n)?e[n]||&quot;&quot;:(r[n]=r[n]||l.nestedProperty(e,n).get,r[n]()||&quot;&quot;)})};l.subplotSort=function(t,e){for(var r=Math.min(t.length,e.length)+1,n=0,i=0,a=0;a&lt;r;a++){var o=t.charCodeAt(a)||0,s=e.charCodeAt(a)||0,l=o&gt;=48&amp;&amp;o&lt;=57,c=s&gt;=48&amp;&amp;s&lt;=57;if(l&amp;&amp;(n=10*n+o-48),c&amp;&amp;(i=10*i+s-48),!l||!c){if(n!==i)return n-i;if(o!==s)return o-s}}return i-n},l.eventListenerOptionsSupported=function(){var t=!1;try{var e=Object.defineProperty({},&quot;passive&quot;,{get:function(){t=!0}});window.addEventListener(&quot;test&quot;,null,e),window.removeEventListener(&quot;test&quot;,null,e)}catch(e){t=!1}return t}},{&quot;../constants/numerical&quot;:721,&quot;./angles&quot;:726,&quot;./clean_number&quot;:727,&quot;./coerce&quot;:728,&quot;./dates&quot;:729,&quot;./ensure_array&quot;:730,&quot;./extend&quot;:732,&quot;./filter_unique&quot;:733,&quot;./filter_visible&quot;:734,&quot;./geometry2d&quot;:737,&quot;./get_graph_div&quot;:738,&quot;./identity&quot;:742,&quot;./is_array&quot;:744,&quot;./is_plain_object&quot;:745,&quot;./keyed_container&quot;:746,&quot;./localize&quot;:747,&quot;./loggers&quot;:748,&quot;./matrix&quot;:749,&quot;./mod&quot;:750,&quot;./nested_property&quot;:751,&quot;./noop&quot;:752,&quot;./notifier&quot;:753,&quot;./push_unique&quot;:756,&quot;./regex&quot;:758,&quot;./relative_attr&quot;:759,&quot;./relink_private&quot;:760,&quot;./search&quot;:761,&quot;./stats&quot;:764,&quot;./throttle&quot;:767,&quot;./to_log_range&quot;:768,d3:128,&quot;fast-isnumeric&quot;:140}],744:[function(t,e,r){&quot;use strict&quot;;var n=&quot;undefined&quot;!=typeof ArrayBuffer&amp;&amp;ArrayBuffer.isView?ArrayBuffer:{isView:function(){return!1}};e.exports=function(t){return Array.isArray(t)||n.isView(t)}},{}],745:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t){return window&amp;&amp;window.process&amp;&amp;window.process.versions?&quot;[object Object]&quot;===Object.prototype.toString.call(t):&quot;[object Object]&quot;===Object.prototype.toString.call(t)&amp;&amp;Object.getPrototypeOf(t)===Object.prototype}},{}],746:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;./nested_property&quot;),i=/^\w*$/;e.exports=function(t,e,r,a){r=r||&quot;name&quot;,a=a||&quot;value&quot;;var o,s,l={};s=e&amp;&amp;e.length?n(t,e).get():t,e=e||&quot;&quot;,s=s||[];var c={};for(o=0;o&lt;s.length;o++)c[s[o][r]]=o;var u=i.test(a),f={set:function(t,e){var i=null===e?4:0,o=c[t];void 0===o?(i|=3,o=s.length,c[t]=o):e!==(u?s[o][a]:n(s[o],a).get())&amp;&amp;(i|=2);var h=s[o]=s[o]||{};return h[r]=t,u?h[a]=e:n(h,a).set(e),null!==e&amp;&amp;(i&amp;=-5),l[o]=l[o]|i,f},get:function(t){var e=c[t];return void 0===e?void 0:u?s[e][a]:n(s[e],a).get()},rename:function(t,e){var n=c[t];return void 0===n?f:(l[n]=1|l[n],c[e]=n,delete c[t],s[n][r]=e,f)},remove:function(t){var e=c[t];if(void 0===e)return f;var i=s[e];if(Object.keys(i).length&gt;2)return l[e]=2|l[e],f.set(t,null);if(u){for(o=e;o&lt;s.length;o++)l[o]=3|l[o];for(o=e;o&lt;s.length;o++)c[s[o][r]]--;s.splice(e,1),delete c[t]}else n(i,a).set(null),l[e]=6|l[e];return f},constructUpdate:function(){for(var t,i,o={},c=Object.keys(l),f=0;f&lt;c.length;f++)i=c[f],t=e+&quot;[&quot;+i+&quot;]&quot;,s[i]?(1&amp;l[i]&amp;&amp;(o[t+&quot;.&quot;+r]=s[i][r]),2&amp;l[i]&amp;&amp;(o[t+&quot;.&quot;+a]=u?4&amp;l[i]?null:s[i][a]:4&amp;l[i]?null:n(s[i],a).get())):o[t]=null;return o}};return f}},{&quot;./nested_property&quot;:751}],747:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../registry&quot;);e.exports=function(t,e){for(var r=t._context.locale,i=0;i&lt;2;i++){for(var a=t._context.locales,o=0;o&lt;2;o++){var s=(a[r]||{}).dictionary;if(s){var l=s[e];if(l)return l}a=n.localeRegistry}var c=r.split(&quot;-&quot;)[0];if(c===r)break;r=c}return e}},{&quot;../registry&quot;:873}],748:[function(t,e,r){&quot;use strict&quot;;function n(t,e){if(t.apply)t.apply(t,e);else for(var r=0;r&lt;e.length;r++)t(e[r])}var i=t(&quot;../plot_api/plot_config&quot;),a=e.exports={};a.log=function(){if(i.logging&gt;1){for(var t=[&quot;LOG:&quot;],e=0;e&lt;arguments.length;e++)t.push(arguments[e]);n(console.trace||console.log,t)}},a.warn=function(){if(i.logging&gt;0){for(var t=[&quot;WARN:&quot;],e=0;e&lt;arguments.length;e++)t.push(arguments[e]);n(console.trace||console.log,t)}},a.error=function(){if(i.logging&gt;0){for(var t=[&quot;ERROR:&quot;],e=0;e&lt;arguments.length;e++)t.push(arguments[e]);n(console.error,t)}}},{&quot;../plot_api/plot_config&quot;:777}],749:[function(t,e,r){&quot;use strict&quot;;r.init2dArray=function(t,e){for(var r=new Array(t),n=0;n&lt;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&lt;i;e++)n=Math.max(n,t[e].length);var a=new Array(n);for(e=0;e&lt;n;e++)for(a[e]=new Array(i),r=0;r&lt;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&lt;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&lt;o.length;i++)n[i]=r.dot(t,o[i])}else for(n=0,i=0;i&lt;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.apply2DTransform=function(t){return function(){var e=arguments;3===e.length&amp;&amp;(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)))}}},{}],750:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t,e){var r=t%e;return r&lt;0?r+e:r}},{}],751:[function(t,e,r){&quot;use strict&quot;;function n(t,e){return function(){var r,i,a,o,s,l=t;for(o=0;o&lt;e.length-1;o++){if(-1===(r=e[o])){for(i=!0,a=[],s=0;s&lt;l.length;s++)a[s]=n(l[s],e.slice(o+1))(),a[s]!==a[0]&amp;&amp;(i=!1);return i?a[0]:a}if(&quot;number&quot;==typeof r&amp;&amp;!c(l))return;if(&quot;object&quot;!=typeof(l=l[r])||null===l)return}if(&quot;object&quot;==typeof l&amp;&amp;null!==l&amp;&amp;null!==(a=l[e[o]]))return a}}function i(t,e){if(!function(t){return void 0===t||null===t||&quot;object&quot;==typeof t&amp;&amp;(c(t)?!t.length:!Object.keys(t).length)}(t)||u(t)&amp;&amp;&quot;]&quot;===e.charAt(e.length-1)||e.match(d)&amp;&amp;void 0!==t)return!1;if(!c(t))return!0;if(e.match(h))return!0;var r=f(e);return r&amp;&amp;&quot;&quot;===r.index}function a(t,e,r){return function(n){var l,u,f=t,h=&quot;&quot;,d=[[t,h]],p=i(n,r);for(u=0;u&lt;e.length-1;u++){if(&quot;number&quot;==typeof(l=e[u])&amp;&amp;!c(f))throw&quot;array index but container is not an array&quot;;if(-1===l){if(p=!function(t,e,r,n){var o,l=c(r),u=!0,f=r,h=n.replace(&quot;-1&quot;,0),d=!l&amp;&amp;i(r,h),p=e[0];for(o=0;o&lt;t.length;o++)h=n.replace(&quot;-1&quot;,o),l&amp;&amp;(f=r[o%r.length],d=i(f,h)),d&amp;&amp;(u=!1),s(t,o,p,d)&amp;&amp;a(t[o],e,n.replace(&quot;-1&quot;,o))(f);return u}(f,e.slice(u+1),n,r))break;return}if(!s(f,l,e[u+1],p))break;if(&quot;object&quot;!=typeof(f=f[l])||null===f)throw&quot;container is not an object&quot;;h=o(h,l),d.push([f,h])}p?(u===e.length-1&amp;&amp;delete f[e[u]],function(t){var e,r,n,a,s,l;for(e=t.length-1;e&gt;=0;e--){if(n=t[e][0],a=t[e][1],l=!1,c(n))for(r=n.length-1;r&gt;=0;r--)i(n[r],o(a,r))?l?n[r]=void 0:n.pop():l=!0;else if(&quot;object&quot;==typeof n&amp;&amp;null!==n)for(s=Object.keys(n),l=!1,r=s.length-1;r&gt;=0;r--)i(n[s[r]],o(a,s[r]))?delete n[s[r]]:l=!0;if(l)return}}(d)):f[e[u]]=n}}function o(t,e){var r=e;return l(e)?r=&quot;[&quot;+e+&quot;]&quot;:t&amp;&amp;(r=&quot;.&quot;+e),t+r}function s(t,e,r,n){if(void 0===t[e]){if(n)return!1;t[e]=&quot;number&quot;==typeof r?[]:{}}return!0}var l=t(&quot;fast-isnumeric&quot;),c=t(&quot;./is_array&quot;),u=t(&quot;./is_plain_object&quot;),f=t(&quot;../plot_api/container_array_match&quot;);e.exports=function(t,e){if(l(e))e=String(e);else if(&quot;string&quot;!=typeof e||&quot;[-1]&quot;===e.substr(e.length-4))throw&quot;bad property string&quot;;for(var r,i,o,s=0,c=e.split(&quot;.&quot;);s&lt;c.length;){if(r=String(c[s]).match(/^([^\[\]]*)((\[\-?[0-9]*\])+)$/)){if(r[1])c[s]=r[1];else{if(0!==s)throw&quot;bad property string&quot;;c.splice(0,1)}for(i=r[2].substr(1,r[2].length-2).split(&quot;][&quot;),o=0;o&lt;i.length;o++)s++,c.splice(s,0,Number(i[o]))}s++}return&quot;object&quot;!=typeof t?function(t,e,r){return{set:function(){throw&quot;bad container&quot;},get:function(){},astr:e,parts:r,obj:t}}(t,e,c):{set:a(t,c,e),get:n(t,c),astr:e,parts:c,obj:t}};var h=/(^|\.)((domain|range)(\.[xy])?|args|parallels)$/,d=/(^|\.)args\[/},{&quot;../plot_api/container_array_match&quot;:772,&quot;./is_array&quot;:744,&quot;./is_plain_object&quot;:745,&quot;fast-isnumeric&quot;:140}],752:[function(t,e,r){&quot;use strict&quot;;e.exports=function(){}},{}],753:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;d3&quot;),i=t(&quot;fast-isnumeric&quot;),a=[];e.exports=function(t,e){function r(t){t.duration(700).style(&quot;opacity&quot;,0).each(&quot;end&quot;,function(t){var e=a.indexOf(t);-1!==e&amp;&amp;a.splice(e,1),n.select(this).remove()})}if(-1===a.indexOf(t)){a.push(t);var o=1e3;i(e)?o=e:&quot;long&quot;===e&amp;&amp;(o=3e3);var s=n.select(&quot;body&quot;).selectAll(&quot;.plotly-notifier&quot;).data([0]);s.enter().append(&quot;div&quot;).classed(&quot;plotly-notifier&quot;,!0);s.selectAll(&quot;.notifier-note&quot;).data(a).enter().append(&quot;div&quot;).classed(&quot;notifier-note&quot;,!0).style(&quot;opacity&quot;,0).each(function(t){var e=n.select(this);e.append(&quot;button&quot;).classed(&quot;notifier-close&quot;,!0).html(&quot;&amp;times;&quot;).on(&quot;click&quot;,function(){e.transition().call(r)});for(var i=e.append(&quot;p&quot;),a=t.split(/&lt;br\s*\/?&gt;/g),s=0;s&lt;a.length;s++)s&amp;&amp;i.append(&quot;br&quot;),i.append(&quot;span&quot;).text(a[s]);e.transition().duration(700).style(&quot;opacity&quot;,1).transition().delay(o).call(r)})}}},{d3:128,&quot;fast-isnumeric&quot;:140}],754:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;./setcursor&quot;),i=&quot;data-savedcursor&quot;;e.exports=function(t,e){var r=t.attr(i);if(e){if(!r){for(var a=(t.attr(&quot;class&quot;)||&quot;&quot;).split(&quot; &quot;),o=0;o&lt;a.length;o++){var s=a[o];0===s.indexOf(&quot;cursor-&quot;)&amp;&amp;t.attr(i,s.substr(7)).classed(s,!1)}t.attr(i)||t.attr(i,&quot;!!&quot;)}n(t,e)}else r&amp;&amp;(t.attr(i,null),&quot;!!&quot;===r?n(t):n(t,r))}},{&quot;./setcursor&quot;:762}],755:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;./matrix&quot;).dot,i=t(&quot;../constants/numerical&quot;).BADNUM,a=e.exports={};a.tester=function(t){if(Array.isArray(t[0][0]))return a.multitester(t);var e,r=t.slice(),n=r[0][0],o=n,s=r[0][1],l=s;for(r.push(r[0]),e=1;e&lt;r.length;e++)n=Math.min(n,r[e][0]),o=Math.max(o,r[e][0]),s=Math.min(s,r[e][1]),l=Math.max(l,r[e][1]);var c,u=!1;5===r.length&amp;&amp;(r[0][0]===r[1][0]?r[2][0]===r[3][0]&amp;&amp;r[0][1]===r[3][1]&amp;&amp;r[1][1]===r[2][1]&amp;&amp;(u=!0,c=function(t){return t[0]===r[0][0]}):r[0][1]===r[1][1]&amp;&amp;r[2][1]===r[3][1]&amp;&amp;r[0][0]===r[3][0]&amp;&amp;r[1][0]===r[2][0]&amp;&amp;(u=!0,c=function(t){return t[1]===r[0][1]}));var f=!0,h=r[0];for(e=1;e&lt;r.length;e++)if(h[0]!==r[e][0]||h[1]!==r[e][1]){f=!1;break}return{xmin:n,xmax:o,ymin:s,ymax:l,pts:r,contains:u?function(t,e){var r=t[0],a=t[1];return!(r===i||r&lt;n||r&gt;o||a===i||a&lt;s||a&gt;l||e&amp;&amp;c(t))}:function(t,e){var a=t[0],c=t[1];if(a===i||a&lt;n||a&gt;o||c===i||c&lt;s||c&gt;l)return!1;var u,f,h,d,p,m=r.length,g=r[0][0],v=r[0][1],y=0;for(u=1;u&lt;m;u++)if(f=g,h=v,g=r[u][0],v=r[u][1],d=Math.min(f,g),!(a&lt;d||a&gt;Math.max(f,g)||c&gt;Math.max(h,v)))if(c&lt;Math.min(h,v))a!==d&amp;&amp;y++;else{if(p=g===f?c:h+(a-f)*(v-h)/(g-f),c===p)return 1!==u||!e;c&lt;=p&amp;&amp;a!==d&amp;&amp;y++}return y%2==1},isRect:u,degenerate:f}},a.multitester=function(t){for(var e=[],r=t[0][0][0],n=r,i=t[0][0][1],o=i,s=0;s&lt;t.length;s++){var l=a.tester(t[s]);l.subtract=t[s].subtract,e.push(l),r=Math.min(r,l.xmin),n=Math.max(n,l.xmax),i=Math.min(i,l.ymin),o=Math.max(o,l.ymax)}return{xmin:r,xmax:n,ymin:i,ymax:o,pts:[],contains:function(t,r){for(var n=!1,i=0;i&lt;e.length;i++)e[i].contains(t,r)&amp;&amp;(n=!1===e[i].subtract);return n},isRect:!1,degenerate:!1}};var o=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&lt;r;a++)if(o=[t[a][0]-l[0],t[a][1]-l[1]],(s=n(o,c))&lt;0||s&gt;u||Math.abs(n(o,h))&gt;i)return!0;return!1};a.filter=function(t,e){function r(r){t.push(r);var s=n.length,l=i;n.splice(a+1);for(var c=l+1;c&lt;t.length;c++)(c===t.length-1||o(t,l,c+1,e))&amp;&amp;(n.push(t[c]),n.length&lt;s-2&amp;&amp;(i=c,a=n.length-1),l=c)}var n=[t[0]],i=0,a=0;if(t.length&gt;1){r(t.pop())}return{addPt:r,raw:t,filtered:n}}},{&quot;../constants/numerical&quot;:721,&quot;./matrix&quot;:749}],756:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t,e){if(e instanceof RegExp){var r,n=e.toString();for(r=0;r&lt;t.length;r++)if(t[r]instanceof RegExp&amp;&amp;t[r].toString()===n)return t;t.push(e)}else e&amp;&amp;-1===t.indexOf(e)&amp;&amp;t.push(e);return t}},{}],757:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../lib&quot;),i=t(&quot;../plot_api/plot_config&quot;),a={};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&amp;&amp;(o.undo.calls.unshift(e),o.undo.args.unshift(r),o.redo.calls.push(n),o.redo.args.push(a)),t.undoQueue.queue.length&gt;i.queueLength&amp;&amp;(t.undoQueue.queue.shift(),t.undoQueue.index--))},a.startSequence=function(t){t.undoQueue=t.undoQueue||{index:0,queue:[],sequence:!1},t.undoQueue.sequence=!0,t.undoQueue.beginSequence=!0},a.stopSequence=function(t){t.undoQueue=t.undoQueue||{index:0,queue:[],sequence:!1},t.undoQueue.sequence=!1,t.undoQueue.beginSequence=!1},a.undo=function(t){var e,r;if(t.framework&amp;&amp;t.framework.isPolar)t.framework.undo();else if(!(void 0===t.undoQueue||isNaN(t.undoQueue.index)||t.undoQueue.index&lt;=0)){for(t.undoQueue.index--,e=t.undoQueue.queue[t.undoQueue.index],t.undoQueue.inSequence=!0,r=0;r&lt;e.undo.calls.length;r++)a.plotDo(t,e.undo.calls[r],e.undo.args[r]);t.undoQueue.inSequence=!1,t.autoplay=!1}},a.redo=function(t){var e,r;if(t.framework&amp;&amp;t.framework.isPolar)t.framework.redo();else if(!(void 0===t.undoQueue||isNaN(t.undoQueue.index)||t.undoQueue.index&gt;=t.undoQueue.queue.length)){for(e=t.undoQueue.queue[t.undoQueue.index],t.undoQueue.inSequence=!0,r=0;r&lt;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&lt;e.length;a++)r=e[a],i[a]=r===t?r:&quot;object&quot;==typeof r?Array.isArray(r)?n.extendDeep([],r):n.extendDeepAll({},r):r;return i}(t,r),e.apply(null,r)},e.exports=a},{&quot;../lib&quot;:743,&quot;../plot_api/plot_config&quot;:777}],758:[function(t,e,r){&quot;use strict&quot;;r.counter=function(t,e,r){return new RegExp(&quot;^&quot;+t+&quot;([2-9]|[1-9][0-9]+)?&quot;+(e||&quot;&quot;)+(r?&quot;&quot;:&quot;$&quot;))}},{}],759:[function(t,e,r){&quot;use strict&quot;;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(&quot;bad relativeAttr call:&quot;+[t,e]);t=&quot;&quot;}if(&quot;^&quot;!==e.charAt(0))break;e=e.slice(1)}return t&amp;&amp;&quot;[&quot;!==e.charAt(0)?t+&quot;.&quot;+e:t+e}},{}],760:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;./is_array&quot;),i=t(&quot;./is_plain_object&quot;);e.exports=function t(e,r){for(var a=Object.keys(r||{}),o=0;o&lt;a.length;o++){var s=a[o],l=r[s],c=e[s];if(&quot;_&quot;===s.charAt(0)||&quot;function&quot;==typeof l){if(s in e)continue;e[s]=l}else if(n(l)&amp;&amp;n(c)&amp;&amp;i(l[0]))for(var u=0;u&lt;l.length;u++)i(l[u])&amp;&amp;i(c[u])&amp;&amp;t(c[u],l[u]);else i(l)&amp;&amp;i(c)&amp;&amp;(t(c,l),Object.keys(c).length||delete e[s])}}},{&quot;./is_array&quot;:744,&quot;./is_plain_object&quot;:745}],761:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;fast-isnumeric&quot;),i=t(&quot;./loggers&quot;);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,s=0,l=e.length,c=0,u=l&gt;1?(e[l-1]-e[0])/(l-1):1;for(o=u&gt;=0?r?function(t,e){return t&lt;e}:function(t,e){return t&lt;=e}:r?function(t,e){return t&gt;=e}:function(t,e){return t&gt;e},t+=1e-9*u*(r?-1:1)*(u&gt;=0?1:-1);s&lt;l&amp;&amp;c++&lt;100;)o(e[a=Math.floor((s+l)/2)],t)?s=a+1:l=a;return c&gt;90&amp;&amp;i.log(&quot;Long binary search...&quot;),s-1},r.sorterAsc=function(t,e){return t-e},r.sorterDes=function(t,e){return e-t},r.distinctVals=function(t){var e=t.slice();e.sort(r.sorterAsc);for(var n=e.length-1,i=e[n]-e[0]||1,a=i/(n||1)/1e4,o=[e[0]],s=0;s&lt;n;s++)e[s+1]&gt;e[s]+a&amp;&amp;(i=Math.min(i,e[s+1]-e[s]),o.push(e[s+1]));return{vals:o,minDiff:i}},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&lt;a&amp;&amp;o++&lt;100;)e[n=c((i+a)/2)]&lt;=t?i=n+s:a=n-l;return e[i]}},{&quot;./loggers&quot;:748,&quot;fast-isnumeric&quot;:140}],762:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t,e){(t.attr(&quot;class&quot;)||&quot;&quot;).split(&quot; &quot;).forEach(function(e){0===e.indexOf(&quot;cursor-&quot;)&amp;&amp;t.classed(e,!1)}),e&amp;&amp;t.classed(&quot;cursor-&quot;+e,!0)}},{}],763:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../components/color&quot;),i=function(){};e.exports=function(t){for(var e in t)&quot;function&quot;==typeof t[e]&amp;&amp;(t[e]=i);t.destroy=function(){t.container.parentNode.removeChild(t.container)};var r=document.createElement(&quot;div&quot;);return r.textContent=&quot;Webgl is not supported by your browser - visit http://get.webgl.org for more info&quot;,r.style.cursor=&quot;pointer&quot;,r.style.fontSize=&quot;24px&quot;,r.style.color=n.defaults[0],t.container.appendChild(r),t.container.style.background=&quot;#FFFFFF&quot;,t.container.onclick=function(){window.open(&quot;http://get.webgl.org&quot;)},!1}},{&quot;../components/color&quot;:618}],764:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;fast-isnumeric&quot;);r.aggNums=function(t,e,i,a){var o,s;if(a||(a=i.length),n(e)||(e=!1),Array.isArray(i[0])){for(s=new Array(a),o=0;o&lt;a;o++)s[o]=r.aggNums(t,e,i[o]);i=s}for(o=0;o&lt;a;o++)n(e)?n(i[o])&amp;&amp;(e=t(+e,+i[o])):e=i[o];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.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.interp=function(t,e){if(!n(e))throw&quot;n should be a finite number&quot;;if((e=e*t.length-.5)&lt;0)return t[0];if(e&gt;t.length-1)return t[t.length-1];var r=e%1;return r*t[Math.ceil(e)]+(1-r)*t[Math.floor(e)]}},{&quot;fast-isnumeric&quot;:140}],765:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;color-normalize&quot;);e.exports=function(t){return t?n(t):[0,0,0,1]}},{&quot;color-normalize&quot;:99}],766:[function(t,e,r){&quot;use strict&quot;;function n(t,e){return t.node().getBoundingClientRect()[e]}function i(t,e,r){var n=&quot;math-output-&quot;+c.randstr([],64),i=l.select(&quot;body&quot;).append(&quot;div&quot;).attr({id:n}).style({visibility:&quot;hidden&quot;,position:&quot;absolute&quot;}).style({&quot;font-size&quot;:e.fontSize+&quot;px&quot;}).text(function(t){return t.replace(p,&quot;\\lt &quot;).replace(m,&quot;\\gt &quot;)}(t));MathJax.Hub.Queue([&quot;Typeset&quot;,MathJax.Hub,i.node()],function(){var e=l.select(&quot;body&quot;).select(&quot;#MathJax_SVG_glyphs&quot;);if(i.select(&quot;.MathJax_SVG&quot;).empty()||!i.select(&quot;svg&quot;).node())c.log(&quot;There was an error in the tex syntax.&quot;,t),r();else{var n=i.select(&quot;svg&quot;).node().getBoundingClientRect();r(i.select(&quot;.MathJax_SVG&quot;),e,n)}i.remove()})}function a(t,e){if(!t)return null;var r=t.match(e);return r&amp;&amp;(r[3]||r[4])}function o(t,e){function r(){p++;var e=document.createElementNS(u.svg,&quot;tspan&quot;);l.select(e).attr({class:&quot;line&quot;,dy:p*h+&quot;em&quot;}),t.appendChild(e),s=e;var r=d;if(d=[{node:e}],r.length&gt;1)for(var i=1;i&lt;r.length;i++)n(r[i])}function n(t){var e,r=t.type,n={};if(&quot;a&quot;===r){e=&quot;a&quot;;var a=t.target,o=t.href,c=t.popup;o&amp;&amp;(n={&quot;xlink:xlink:show&quot;:&quot;_blank&quot;===a||&quot;_&quot;!==a.charAt(0)?&quot;new&quot;:&quot;replace&quot;,target:a,&quot;xlink:xlink:href&quot;:o},c&amp;&amp;(n.onclick='window.open(this.href.baseVal,this.target.baseVal,&quot;'+c+'&quot;);return false;'))}else e=&quot;tspan&quot;;t.style&amp;&amp;(n.style=t.style);var f=document.createElementNS(u.svg,e);if(&quot;sup&quot;===r||&quot;sub&quot;===r){i(s,x),s.appendChild(f);var h=document.createElementNS(u.svg,&quot;tspan&quot;);i(h,x),l.select(h).attr(&quot;dy&quot;,y[r]),n.dy=v[r],s.appendChild(f),s.appendChild(h)}else s.appendChild(f);l.select(f).attr(n),s=t.node=f,d.push(t)}function i(t,e){t.appendChild(document.createTextNode(e))}function o(t){if(1!==d.length){var r=d.pop();t!==r.type&amp;&amp;c.log(&quot;Start tag &lt;&quot;+r.type+&quot;&gt; doesnt match end tag &lt;&quot;+t+&quot;&gt;. Pretending it did match.&quot;,e),s=d[d.length-1].node}else c.log(&quot;Ignoring unexpected end tag &lt;/&quot;+t+&quot;&gt;.&quot;,e)}e=function(t){return function(t,e){if(!t)return&quot;&quot;;for(var r=0;r&lt;e.length;r++){var n=e[r];t=t.replace(n.regExp,n.sub)}return t}(t,w)}(e).replace(M,&quot; &quot;);var s,f=!1,d=[],p=-1;T.test(e)?r():(s=t,d=[{node:t}]);for(var m=e.split(k),_=0;_&lt;m.length;_++){var D=m[_],I=D.match(A),P=I&amp;&amp;I[2].toLowerCase(),O=g[P];if(&quot;br&quot;===P)r();else if(void 0===O)i(s,D);else if(I[1])o(P);else{var F=I[4],R={type:P},N=a(F,S);if(N?(N=N.replace(z,&quot;$1 fill:&quot;),O&amp;&amp;(N+=&quot;;&quot;+O)):O&amp;&amp;(N=O),N&amp;&amp;(R.style=N),&quot;a&quot;===P){f=!0;var j=a(F,E);if(j){var B=document.createElement(&quot;a&quot;);B.href=j,-1!==b.indexOf(B.protocol)&amp;&amp;(R.href=encodeURI(j),R.target=a(F,L)||&quot;_blank&quot;,R.popup=a(F,C))}}n(R)}}return f}function s(t,e,r){var n,i,a,o=r.horizontalAlign,s=r.verticalAlign||&quot;top&quot;,l=t.node().getBoundingClientRect(),c=e.node().getBoundingClientRect();return i=&quot;bottom&quot;===s?function(){return l.bottom-n.height}:&quot;middle&quot;===s?function(){return l.top+(l.height-n.height)/2}:function(){return l.top},a=&quot;right&quot;===o?function(){return l.right-n.width}:&quot;center&quot;===o?function(){return l.left+(l.width-n.width)/2}:function(){return l.left},function(){return n=this.node().getBoundingClientRect(),this.style({top:i()-c.top+&quot;px&quot;,left:a()-c.left+&quot;px&quot;,&quot;z-index&quot;:1e3}),this}}var l=t(&quot;d3&quot;),c=t(&quot;../lib&quot;),u=t(&quot;../constants/xmlns_namespaces&quot;),f=t(&quot;../constants/string_mappings&quot;),h=t(&quot;../constants/alignment&quot;).LINE_SPACING,d=/([^$]*)([$]+[^$]*[$]+)([^$]*)/;r.convertToTspans=function(t,e,a){function s(){f.empty()||(h=t.attr(&quot;class&quot;)+&quot;-math&quot;,f.select(&quot;svg.&quot;+h).remove()),t.text(&quot;&quot;).style(&quot;white-space&quot;,&quot;pre&quot;);o(t.node(),c)&amp;&amp;t.style(&quot;pointer-events&quot;,&quot;all&quot;),r.positionText(t),a&amp;&amp;a.call(t)}var c=t.text(),u=!t.attr(&quot;data-notex&quot;)&amp;&amp;&quot;undefined&quot;!=typeof MathJax&amp;&amp;c.match(d),f=l.select(t.node().parentNode);if(!f.empty()){var h=t.attr(&quot;class&quot;)?t.attr(&quot;class&quot;).split(&quot; &quot;)[0]:&quot;text&quot;;return h+=&quot;-math&quot;,f.selectAll(&quot;svg.&quot;+h).remove(),f.selectAll(&quot;g.&quot;+h+&quot;-group&quot;).remove(),t.style(&quot;display&quot;,null).attr({&quot;data-unformatted&quot;:c,&quot;data-math&quot;:&quot;N&quot;}),u?(e&amp;&amp;e._promises||[]).push(new Promise(function(e){t.style(&quot;display&quot;,&quot;none&quot;);var r=parseInt(t.node().style.fontSize,10);i(u[2],{fontSize:r},function(i,o,l){f.selectAll(&quot;svg.&quot;+h).remove(),f.selectAll(&quot;g.&quot;+h+&quot;-group&quot;).remove();var u=i&amp;&amp;i.select(&quot;svg&quot;);if(!u||!u.node())return s(),void e();var d=f.append(&quot;g&quot;).classed(h+&quot;-group&quot;,!0).attr({&quot;pointer-events&quot;:&quot;none&quot;,&quot;data-unformatted&quot;:c,&quot;data-math&quot;:&quot;Y&quot;});d.node().appendChild(u.node()),o&amp;&amp;o.node()&amp;&amp;u.node().insertBefore(o.node().cloneNode(!0),u.node().firstChild),u.attr({class:h,height:l.height,preserveAspectRatio:&quot;xMinYMin meet&quot;}).style({overflow:&quot;visible&quot;,&quot;pointer-events&quot;:&quot;none&quot;});var p=t.node().style.fill||&quot;black&quot;;u.select(&quot;g&quot;).attr({fill:p,stroke:p});var m=n(u,&quot;width&quot;),g=n(u,&quot;height&quot;),v=+t.attr(&quot;x&quot;)-m*{start:0,middle:.5,end:1}[t.attr(&quot;text-anchor&quot;)||&quot;start&quot;],y=-(r||n(t,&quot;height&quot;))/4;&quot;y&quot;===h[0]?(d.attr({transform:&quot;rotate(&quot;+[-90,+t.attr(&quot;x&quot;),+t.attr(&quot;y&quot;)]+&quot;) translate(&quot;+[-m/2,y-g/2]+&quot;)&quot;}),u.attr({x:+t.attr(&quot;x&quot;),y:+t.attr(&quot;y&quot;)})):&quot;l&quot;===h[0]?u.attr({x:t.attr(&quot;x&quot;),y:y-g/2}):&quot;a&quot;===h[0]?u.attr({x:0,y:y}):u.attr({x:v,y:+t.attr(&quot;y&quot;)+y-g/2}),a&amp;&amp;a.call(t,d),e(d)})})):s(),t}};var p=/(&lt;|&amp;lt;|&amp;#60;)/g,m=/(&gt;|&amp;gt;|&amp;#62;)/g,g={sup:&quot;font-size:70%&quot;,sub:&quot;font-size:70%&quot;,b:&quot;font-weight:bold&quot;,i:&quot;font-style:italic&quot;,a:&quot;cursor:pointer&quot;,span:&quot;&quot;,em:&quot;font-style:italic;font-weight:bold&quot;},v={sub:&quot;0.3em&quot;,sup:&quot;-0.6em&quot;},y={sub:&quot;-0.21em&quot;,sup:&quot;0.42em&quot;},x=&quot;\u200b&quot;,b=[&quot;http:&quot;,&quot;https:&quot;,&quot;mailto:&quot;,&quot;&quot;,void 0,&quot;:&quot;],_=new RegExp(&quot;&lt;/?(&quot;+Object.keys(g).join(&quot;|&quot;)+&quot;)( [^&gt;]*)?/?&gt;&quot;,&quot;g&quot;),w=Object.keys(f.entityToUnicode).map(function(t){return{regExp:new RegExp(&quot;&amp;&quot;+t+&quot;;&quot;,&quot;g&quot;),sub:f.entityToUnicode[t]}}),M=/(\r\n?|\n)/g,k=/(&lt;[^&lt;&gt;]*&gt;)/,A=/&lt;(\/?)([^ &gt;]*)(\s+(.*))?&gt;/i,T=/&lt;br(\s+.*)?&gt;/i,S=/(^|[\s&quot;'])style\s*=\s*(&quot;([^&quot;]*);?&quot;|'([^']*);?')/i,E=/(^|[\s&quot;'])href\s*=\s*(&quot;([^&quot;]*)&quot;|'([^']*)')/i,L=/(^|[\s&quot;'])target\s*=\s*(&quot;([^&quot;\s]*)&quot;|'([^'\s]*)')/i,C=/(^|[\s&quot;'])popup\s*=\s*(&quot;([\w=,]*)&quot;|'([\w=,]*)')/i,z=/(^|;)\s*color:/;r.plainText=function(t){return(t||&quot;&quot;).replace(_,&quot; &quot;)},r.lineCount=function(t){return t.selectAll(&quot;tspan.line&quot;).size()||1},r.positionText=function(t,e,r){return t.each(function(){function t(t,e){return void 0===e?null===(e=n.attr(t))&amp;&amp;(n.attr(t,0),e=0):n.attr(t,e),e}var n=l.select(this),i=t(&quot;x&quot;,e),a=t(&quot;y&quot;,r);&quot;text&quot;===this.nodeName&amp;&amp;n.selectAll(&quot;tspan.line&quot;).attr({x:i,y:a})})},r.makeEditable=function(t,e){function r(){!function(){var r=l.select(i).select(&quot;.svg-container&quot;),a=r.append(&quot;div&quot;),c=t.node().style,u=parseFloat(c.fontSize||12);a.classed(&quot;plugin-editable editable&quot;,!0).style({position:&quot;absolute&quot;,&quot;font-family&quot;:c.fontFamily||&quot;Arial&quot;,&quot;font-size&quot;:u,color:e.fill||c.fill||&quot;black&quot;,opacity:1,&quot;background-color&quot;:e.background||&quot;transparent&quot;,outline:&quot;#ffffff33 1px solid&quot;,margin:[-u/8+1,0,0,-1].join(&quot;px &quot;)+&quot;px&quot;,padding:&quot;0&quot;,&quot;box-sizing&quot;:&quot;border-box&quot;}).attr({contenteditable:!0}).text(e.text||t.attr(&quot;data-unformatted&quot;)).call(s(t,r,e)).on(&quot;blur&quot;,function(){i._editing=!1,t.text(this.textContent).style({opacity:1});var e,r=l.select(this).attr(&quot;class&quot;);(e=r?&quot;.&quot;+r.split(&quot; &quot;)[0]+&quot;-math-group&quot;:&quot;[class*=-math-group]&quot;)&amp;&amp;l.select(t.node().parentNode).select(e).style({opacity:0});var n=this.textContent;l.select(this).transition().duration(0).remove(),l.select(document).on(&quot;mouseup&quot;,null),o.edit.call(t,n)}).on(&quot;focus&quot;,function(){var t=this;i._editing=!0,l.select(document).on(&quot;mouseup&quot;,function(){if(l.event.target===t)return!1;document.activeElement===a.node()&amp;&amp;a.node().blur()})}).on(&quot;keyup&quot;,function(){27===l.event.which?(i._editing=!1,t.style({opacity:1}),l.select(this).style({opacity:0}).on(&quot;blur&quot;,function(){return!1}).transition().remove(),o.cancel.call(t,this.textContent)):(o.input.call(t,this.textContent),l.select(this).call(s(t,r,e)))}).on(&quot;keydown&quot;,function(){13===l.event.which&amp;&amp;this.blur()}).call(n)}(),t.style({opacity:0});var r,a=c.attr(&quot;class&quot;);(r=a?&quot;.&quot;+a.split(&quot; &quot;)[0]+&quot;-math-group&quot;:&quot;[class*=-math-group]&quot;)&amp;&amp;l.select(t.node().parentNode).select(r).style({opacity:0})}function n(t){var e=t.node(),r=document.createRange();r.selectNodeContents(e);var n=window.getSelection();n.removeAllRanges(),n.addRange(r),e.focus()}var i=e.gd,a=e.delegate,o=l.dispatch(&quot;edit&quot;,&quot;input&quot;,&quot;cancel&quot;),c=a||t;if(t.style({&quot;pointer-events&quot;:a?&quot;none&quot;:&quot;all&quot;}),1!==t.size())throw new Error(&quot;boo&quot;);return e.immediate?r():c.on(&quot;click&quot;,r),l.rebind(t,o,&quot;on&quot;)}},{&quot;../constants/alignment&quot;:716,&quot;../constants/string_mappings&quot;:722,&quot;../constants/xmlns_namespaces&quot;:723,&quot;../lib&quot;:743,d3:128}],767:[function(t,e,r){&quot;use strict&quot;;function n(t){t&amp;&amp;null!==t.timer&amp;&amp;(clearTimeout(t.timer),t.timer=null)}var i={};r.throttle=function(t,e,r){function a(){r(),o.ts=Date.now(),o.onDone&amp;&amp;(o.onDone(),o.onDone=null)}var o=i[t],s=Date.now();if(!o){for(var l in i)i[l].ts&lt;s-6e4&amp;&amp;delete i[l];o=i[t]={ts:0,timer:null}}n(o),s&gt;o.ts+e?a():o.timer=setTimeout(function(){a(),o.timer=null},e)},r.done=function(t){var e=i[t];return e&amp;&amp;e.timer?new Promise(function(t){var r=e.onDone;e.onDone=function(){r&amp;&amp;r(),t(),e.onDone=null}}):Promise.resolve()},r.clear=function(t){if(t)n(i[t]),delete i[t];else for(var e in i)r.clear(e)}},{}],768:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;fast-isnumeric&quot;);e.exports=function(t,e){if(t&gt;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}},{&quot;fast-isnumeric&quot;:140}],769:[function(t,e,r){&quot;use strict&quot;;var n=e.exports={},i=t(&quot;../plots/geo/constants&quot;).locationmodeToLayer,a=t(&quot;topojson-client&quot;).feature;n.getTopojsonName=function(t){return[t.scope.replace(/ /g,&quot;-&quot;),&quot;_&quot;,t.resolution.toString(),&quot;m&quot;].join(&quot;&quot;)},n.getTopojsonPath=function(t,e){return t+e+&quot;.json&quot;},n.getTopojsonFeatures=function(t,e){var r=i[t.locationmode],n=e.objects[r];return a(e,n).features}},{&quot;../plots/geo/constants&quot;:818,&quot;topojson-client&quot;:549}],770:[function(t,e,r){&quot;use strict&quot;;e.exports={moduleType:&quot;locale&quot;,name:&quot;en-US&quot;,dictionary:{&quot;Click to enter Colorscale title&quot;:&quot;Click to enter Colorscale title&quot;},format:{date:&quot;%m/%d/%Y&quot;}}},{}],771:[function(t,e,r){&quot;use strict&quot;;e.exports={moduleType:&quot;locale&quot;,name:&quot;en&quot;,dictionary:{&quot;Click to enter Colorscale title&quot;:&quot;Click to enter Colourscale title&quot;},format:{days:[&quot;Sunday&quot;,&quot;Monday&quot;,&quot;Tuesday&quot;,&quot;Wednesday&quot;,&quot;Thursday&quot;,&quot;Friday&quot;],shortDays:[&quot;Sun&quot;,&quot;Mon&quot;,&quot;Tue&quot;,&quot;Wed&quot;,&quot;Thu&quot;,&quot;Fri&quot;,&quot;Sat&quot;],months:[&quot;January&quot;,&quot;February&quot;,&quot;March&quot;,&quot;April&quot;,&quot;May&quot;,&quot;June&quot;,&quot;July&quot;,&quot;August&quot;,&quot;September&quot;,&quot;October&quot;,&quot;November&quot;,&quot;December&quot;],shortMonths:[&quot;Jan&quot;,&quot;Feb&quot;,&quot;Mar&quot;,&quot;Apr&quot;,&quot;May&quot;,&quot;Jun&quot;,&quot;Jul&quot;,&quot;Aug&quot;,&quot;Sep&quot;,&quot;Oct&quot;,&quot;Nov&quot;,&quot;Dec&quot;],periods:[&quot;AM&quot;,&quot;PM&quot;],dateTime:&quot;%a %b %e %X %Y&quot;,date:&quot;%d/%m/%Y&quot;,time:&quot;%H:%M:%S&quot;,decimal:&quot;.&quot;,thousands:&quot;,&quot;,grouping:[3],currency:[&quot;$&quot;,&quot;&quot;]}}},{}],772:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../registry&quot;);e.exports=function(t){for(var e,r,i=n.layoutArrayContainers,a=n.layoutArrayRegexes,o=t.split(&quot;[&quot;)[0],s=0;s&lt;a.length;s++)if((r=t.match(a[s]))&amp;&amp;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]*)\](\.(.+))?$/))&amp;&amp;{array:e,index:Number(r[1]),property:r[3]||&quot;&quot;}:{array:e,index:&quot;&quot;,property:&quot;&quot;}}},{&quot;../registry&quot;:873}],773:[function(t,e,r){&quot;use strict&quot;;function n(t){for(var e={},r=0;r&lt;t.length;r++)e[t[r]]=!1;return e}function i(t,e,r){var n=s({},t);for(var i in n){var o=n[i];l(o)&amp;&amp;(n[i]=a(o,e,r,i))}return&quot;from-root&quot;===r&amp;&amp;(n.editType=e),n}function a(t,e,r,n){if(t.valType){var o=s({},t);if(o.editType=e,Array.isArray(t.items)){o.items=new Array(t.items.length);for(var l=0;l&lt;t.items.length;l++)o.items[l]=a(t.items[l],e,&quot;from-root&quot;)}return o}return i(t,e,&quot;_&quot;===n.charAt(0)?&quot;nested&quot;:&quot;from-root&quot;)}var o=t(&quot;../lib&quot;),s=o.extendFlat,l=o.isPlainObject,c={valType:&quot;flaglist&quot;,extras:[&quot;none&quot;],flags:[&quot;calc&quot;,&quot;calcIfAutorange&quot;,&quot;clearAxisTypes&quot;,&quot;plot&quot;,&quot;style&quot;,&quot;colorbars&quot;]},u={valType:&quot;flaglist&quot;,extras:[&quot;none&quot;],flags:[&quot;calc&quot;,&quot;calcIfAutorange&quot;,&quot;plot&quot;,&quot;legend&quot;,&quot;ticks&quot;,&quot;layoutstyle&quot;,&quot;modebar&quot;,&quot;camera&quot;,&quot;arraydraw&quot;]},f=c.flags.slice().concat([&quot;clearCalc&quot;,&quot;fullReplot&quot;]),h=u.flags.slice().concat(&quot;layoutReplot&quot;);e.exports={traces:c,layout:u,traceFlags:function(){return n(f)},layoutFlags:function(){return n(h)},update:function(t,e){var r=e.editType;if(r&amp;&amp;&quot;none&quot;!==r)for(var n=r.split(&quot;+&quot;),i=0;i&lt;n.length;i++)t[n[i]]=!0},overrideAll:i}},{&quot;../lib&quot;:743}],774:[function(t,e,r){&quot;use strict&quot;;function n(t,e){var r=t[e],n=e.charAt(0);r&amp;&amp;&quot;paper&quot;!==r&amp;&amp;(t[e]=d(r,n))}function i(t){var e=&quot;middle&quot;,r=&quot;center&quot;;return-1!==t.indexOf(&quot;top&quot;)?e=&quot;top&quot;:-1!==t.indexOf(&quot;bottom&quot;)&amp;&amp;(e=&quot;bottom&quot;),-1!==t.indexOf(&quot;left&quot;)?r=&quot;left&quot;:-1!==t.indexOf(&quot;right&quot;)&amp;&amp;(r=&quot;right&quot;),e+&quot; &quot;+r}function a(t,e){return e in t&amp;&amp;&quot;object&quot;==typeof t[e]&amp;&amp;0===Object.keys(t[e]).length}function o(t){var e=t.search(g);if(e&gt;0)return t.substr(0,e)}var s=t(&quot;fast-isnumeric&quot;),l=t(&quot;gl-mat4/fromQuat&quot;),c=t(&quot;../registry&quot;),u=t(&quot;../lib&quot;),f=t(&quot;../plots/plots&quot;),h=t(&quot;../plots/cartesian/axis_ids&quot;),d=h.cleanId,p=h.getFromTrace,m=t(&quot;../components/color&quot;);r.clearPromiseQueue=function(t){Array.isArray(t._promises)&amp;&amp;t._promises.length&gt;0&amp;&amp;u.log(&quot;Clearing previous rejected promises from queue.&quot;),t._promises=[]},r.cleanLayout=function(t){var e,r;t||(t={}),t.xaxis1&amp;&amp;(t.xaxis||(t.xaxis=t.xaxis1),delete t.xaxis1),t.yaxis1&amp;&amp;(t.yaxis||(t.yaxis=t.yaxis1),delete t.yaxis1),t.scene1&amp;&amp;(t.scene||(t.scene=t.scene1),delete t.scene1);var i=(f.subplotsRegistry.cartesian||{}).attrRegex,o=(f.subplotsRegistry.gl3d||{}).attrRegex,s=Object.keys(t);for(e=0;e&lt;s.length;e++){var c=s[e];if(i&amp;&amp;i.test(c)){var h=t[c];h.anchor&amp;&amp;&quot;free&quot;!==h.anchor&amp;&amp;(h.anchor=d(h.anchor)),h.overlaying&amp;&amp;(h.overlaying=d(h.overlaying)),h.type||(h.isdate?h.type=&quot;date&quot;:h.islog?h.type=&quot;log&quot;:!1===h.isdate&amp;&amp;!1===h.islog&amp;&amp;(h.type=&quot;linear&quot;)),&quot;withzero&quot;!==h.autorange&amp;&amp;&quot;tozero&quot;!==h.autorange||(h.autorange=!0,h.rangemode=&quot;tozero&quot;),delete h.islog,delete h.isdate,delete h.categories,a(h,&quot;domain&quot;)&amp;&amp;delete h.domain,void 0!==h.autotick&amp;&amp;(void 0===h.tickmode&amp;&amp;(h.tickmode=h.autotick?&quot;auto&quot;:&quot;linear&quot;),delete h.autotick)}else if(o&amp;&amp;o.test(c)){var p=t[c],g=p.cameraposition;if(Array.isArray(g)&amp;&amp;4===g[0].length){var v=g[0],y=g[1],x=g[2],b=l([],v),_=[];for(r=0;r&lt;3;++r)_[r]=y[r]+x*b[2+4*r];p.camera={eye:{x:_[0],y:_[1],z:_[2]},center:{x:y[0],y:y[1],z:y[2]},up:{x:b[1],y:b[5],z:b[9]}},delete p.cameraposition}}}var w=Array.isArray(t.annotations)?t.annotations.length:0;for(e=0;e&lt;w;e++){var M=t.annotations[e];u.isPlainObject(M)&amp;&amp;(M.ref&amp;&amp;(&quot;paper&quot;===M.ref?(M.xref=&quot;paper&quot;,M.yref=&quot;paper&quot;):&quot;data&quot;===M.ref&amp;&amp;(M.xref=&quot;x&quot;,M.yref=&quot;y&quot;),delete M.ref),n(M,&quot;xref&quot;),n(M,&quot;yref&quot;))}var k=Array.isArray(t.shapes)?t.shapes.length:0;for(e=0;e&lt;k;e++){var A=t.shapes[e];u.isPlainObject(A)&amp;&amp;(n(A,&quot;xref&quot;),n(A,&quot;yref&quot;))}var T=t.legend;return T&amp;&amp;(T.x&gt;3?(T.x=1.02,T.xanchor=&quot;left&quot;):T.x&lt;-2&amp;&amp;(T.x=-.02,T.xanchor=&quot;right&quot;),T.y&gt;3?(T.y=1.02,T.yanchor=&quot;bottom&quot;):T.y&lt;-2&amp;&amp;(T.y=-.02,T.yanchor=&quot;top&quot;)),&quot;rotate&quot;===t.dragmode&amp;&amp;(t.dragmode=&quot;orbit&quot;),m.clean(t),t},r.cleanData=function(t,e){for(var n=[],o=t.concat(Array.isArray(e)?e:[]).filter(function(t){return&quot;uid&quot;in t}).map(function(t){return t.uid}),s=0;s&lt;t.length;s++){var l,h=t[s];if(!(&quot;uid&quot;in h)||-1!==n.indexOf(h.uid)){var p;for(l=0;l&lt;100&amp;&amp;(p=u.randstr(o),-1!==n.indexOf(p));l++);h.uid=u.randstr(o),o.push(h.uid)}if(n.push(h.uid),&quot;histogramy&quot;===h.type&amp;&amp;&quot;xbins&quot;in h&amp;&amp;!(&quot;ybins&quot;in h)&amp;&amp;(h.ybins=h.xbins,delete h.xbins),h.error_y&amp;&amp;&quot;opacity&quot;in h.error_y){var g=m.defaults,v=h.error_y.color||(c.traceIs(h,&quot;bar&quot;)?m.defaultLine:g[s%g.length]);h.error_y.color=m.addOpacity(m.rgb(v),m.opacity(v)*h.error_y.opacity),delete h.error_y.opacity}if(&quot;bardir&quot;in h&amp;&amp;(&quot;h&quot;!==h.bardir||!c.traceIs(h,&quot;bar&quot;)&amp;&amp;&quot;histogram&quot;!==h.type.substr(0,9)||(h.orientation=&quot;h&quot;,r.swapXYData(h)),delete h.bardir),&quot;histogramy&quot;===h.type&amp;&amp;r.swapXYData(h),&quot;histogramx&quot;!==h.type&amp;&amp;&quot;histogramy&quot;!==h.type||(h.type=&quot;histogram&quot;),&quot;scl&quot;in h&amp;&amp;(h.colorscale=h.scl,delete h.scl),&quot;reversescl&quot;in h&amp;&amp;(h.reversescale=h.reversescl,delete h.reversescl),h.xaxis&amp;&amp;(h.xaxis=d(h.xaxis,&quot;x&quot;)),h.yaxis&amp;&amp;(h.yaxis=d(h.yaxis,&quot;y&quot;)),c.traceIs(h,&quot;gl3d&quot;)&amp;&amp;h.scene&amp;&amp;(h.scene=f.subplotsRegistry.gl3d.cleanId(h.scene)),c.traceIs(h,&quot;pie&quot;)||c.traceIs(h,&quot;bar&quot;)||(Array.isArray(h.textposition)?h.textposition=h.textposition.map(i):h.textposition&amp;&amp;(h.textposition=i(h.textposition))),c.traceIs(h,&quot;2dMap&quot;)&amp;&amp;(&quot;YIGnBu&quot;===h.colorscale&amp;&amp;(h.colorscale=&quot;YlGnBu&quot;),&quot;YIOrRd&quot;===h.colorscale&amp;&amp;(h.colorscale=&quot;YlOrRd&quot;)),c.traceIs(h,&quot;markerColorscale&quot;)&amp;&amp;h.marker){var y=h.marker;&quot;YIGnBu&quot;===y.colorscale&amp;&amp;(y.colorscale=&quot;YlGnBu&quot;),&quot;YIOrRd&quot;===y.colorscale&amp;&amp;(y.colorscale=&quot;YlOrRd&quot;)}if(&quot;surface&quot;===h.type&amp;&amp;u.isPlainObject(h.contours)){var x=[&quot;x&quot;,&quot;y&quot;,&quot;z&quot;];for(l=0;l&lt;x.length;l++){var b=h.contours[x[l]];u.isPlainObject(b)&amp;&amp;(b.highlightColor&amp;&amp;(b.highlightcolor=b.highlightColor,delete b.highlightColor),b.highlightWidth&amp;&amp;(b.highlightwidth=b.highlightWidth,delete b.highlightWidth))}}if(Array.isArray(h.transforms)){var _=h.transforms;for(l=0;l&lt;_.length;l++){var w=_[l];if(u.isPlainObject(w))switch(w.type){case&quot;filter&quot;:w.filtersrc&amp;&amp;(w.target=w.filtersrc,delete w.filtersrc),w.calendar&amp;&amp;(w.valuecalendar||(w.valuecalendar=w.calendar),delete w.calendar);break;case&quot;groupby&quot;:if(w.styles=w.styles||w.style,w.styles&amp;&amp;!Array.isArray(w.styles)){var M=w.styles,k=Object.keys(M);w.styles=[];for(var A=0;A&lt;k.length;A++)w.styles.push({target:k[A],value:M[k[A]]})}}}}a(h,&quot;line&quot;)&amp;&amp;delete h.line,&quot;marker&quot;in h&amp;&amp;(a(h.marker,&quot;line&quot;)&amp;&amp;delete h.marker.line,a(h,&quot;marker&quot;)&amp;&amp;delete h.marker),m.clean(h)}},r.swapXYData=function(t){var e;if(u.swapAttrs(t,[&quot;?&quot;,&quot;?0&quot;,&quot;d?&quot;,&quot;?bins&quot;,&quot;nbins?&quot;,&quot;autobin?&quot;,&quot;?src&quot;,&quot;error_?&quot;]),Array.isArray(t.z)&amp;&amp;Array.isArray(t.z[0])&amp;&amp;(t.transpose?delete t.transpose:t.transpose=!0),t.error_x&amp;&amp;t.error_y){var r=t.error_y,n=&quot;copy_ystyle&quot;in r?r.copy_ystyle:!(r.color||r.thickness||r.width);u.swapAttrs(t,[&quot;error_?.copy_ystyle&quot;]),n&amp;&amp;u.swapAttrs(t,[&quot;error_?.color&quot;,&quot;error_?.thickness&quot;,&quot;error_?.width&quot;])}if(&quot;string&quot;==typeof t.hoverinfo){var i=t.hoverinfo.split(&quot;+&quot;);for(e=0;e&lt;i.length;e++)&quot;x&quot;===i[e]?i[e]=&quot;y&quot;:&quot;y&quot;===i[e]&amp;&amp;(i[e]=&quot;x&quot;);t.hoverinfo=i.join(&quot;+&quot;)}},r.coerceTraceIndices=function(t,e){return s(e)?[e]:Array.isArray(e)&amp;&amp;e.length?e:t.data.map(function(t,e){return e})},r.manageArrayContainers=function(t,e,r){var n=t.obj,i=t.parts,a=i.length,o=i[a-1],l=s(o);if(l&amp;&amp;null===e){var c=i.slice(0,a-1).join(&quot;.&quot;);u.nestedProperty(n,c).get().splice(o,1)}else l&amp;&amp;void 0===t.get()?(void 0===t.get()&amp;&amp;(r[t.astr]=null),t.set(e)):t.set(e)};var g=/(\.[^\[\]\.]+|\[[^\[\]\.]+\])$/;r.hasParent=function(t,e){for(var r=o(e);r;){if(r in t)return!0;r=o(r)}return!1};var v=[&quot;x&quot;,&quot;y&quot;,&quot;z&quot;];r.clearAxisTypes=function(t,e,r){for(var n=0;n&lt;e.length;n++)for(var i=t._fullData[n],a=0;a&lt;3;a++){var o=p(t,i,v[a]);if(o&amp;&amp;&quot;log&quot;!==o.type){var s=o._name,l=o._id.substr(1);if(&quot;scene&quot;===l.substr(0,5)){if(void 0!==r[l])continue;s=l+&quot;.&quot;+s}var c=s+&quot;.type&quot;;void 0===r[s]&amp;&amp;void 0===r[c]&amp;&amp;u.nestedProperty(t.layout,c).set(null)}}}},{&quot;../components/color&quot;:618,&quot;../lib&quot;:743,&quot;../plots/cartesian/axis_ids&quot;:792,&quot;../plots/plots&quot;:852,&quot;../registry&quot;:873,&quot;fast-isnumeric&quot;:140,&quot;gl-mat4/fromQuat&quot;:183}],775:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../lib/nested_property&quot;),i=t(&quot;../lib/is_plain_object&quot;),a=t(&quot;../lib/noop&quot;),o=t(&quot;../lib/loggers&quot;),s=t(&quot;../lib/search&quot;).sorterAsc,l=t(&quot;../registry&quot;);r.containerArrayMatch=t(&quot;./container_array_match&quot;);var c=r.isAddVal=function(t){return&quot;add&quot;===t||i(t)},u=r.isRemoveVal=function(t){return null===t||&quot;remove&quot;===t};r.applyContainerArrayChanges=function(t,e,r,i){var f=e.astr,h=l.getComponentMethod(f,&quot;supplyLayoutDefaults&quot;),d=l.getComponentMethod(f,&quot;draw&quot;),p=l.getComponentMethod(f,&quot;drawOne&quot;),m=i.replot||i.recalc||h===a||d===a,g=t.layout,v=t._fullLayout;if(r[&quot;&quot;]){Object.keys(r).length&gt;1&amp;&amp;o.warn(&quot;Full array edits are incompatible with other edits&quot;,f);var y=r[&quot;&quot;][&quot;&quot;];if(u(y))e.set(null);else{if(!Array.isArray(y))return o.warn(&quot;Unrecognized full array edit value&quot;,f,y),!0;e.set(y)}return!m&amp;&amp;(h(g,v),d(t),!0)}var x,b,_,w,M,k,A,T=Object.keys(r).map(Number).sort(s),S=e.get(),E=S||[],L=n(v,f).get(),C=[],z=-1,D=E.length;for(x=0;x&lt;T.length;x++)if(_=T[x],w=r[_],M=Object.keys(w),k=w[&quot;&quot;],A=c(k),_&lt;0||_&gt;E.length-(A?0:1))o.warn(&quot;index out of range&quot;,f,_);else if(void 0!==k)M.length&gt;1&amp;&amp;o.warn(&quot;Insertion &amp; removal are incompatible with edits to the same index.&quot;,f,_),u(k)?C.push(_):A?(&quot;add&quot;===k&amp;&amp;(k={}),E.splice(_,0,k),L&amp;&amp;L.splice(_,0,{})):o.warn(&quot;Unrecognized full object edit value&quot;,f,_,k),-1===z&amp;&amp;(z=_);else for(b=0;b&lt;M.length;b++)n(E[_],M[b]).set(w[M[b]]);for(x=C.length-1;x&gt;=0;x--)E.splice(C[x],1),L&amp;&amp;L.splice(C[x],1);if(E.length?S||e.set(E):e.set(null),m)return!1;if(h(g,v),p!==a){var I;if(-1===z)I=T;else{for(D=Math.max(E.length,D),I=[],x=0;x&lt;T.length&amp;&amp;!((_=T[x])&gt;=z);x++)I.push(_);for(x=z;x&lt;D;x++)I.push(x)}for(x=0;x&lt;I.length;x++)p(t,I[x])}else d(t);return!0}},{&quot;../lib/is_plain_object&quot;:745,&quot;../lib/loggers&quot;:748,&quot;../lib/nested_property&quot;:751,&quot;../lib/noop&quot;:752,&quot;../lib/search&quot;:761,&quot;../registry&quot;:873,&quot;./container_array_match&quot;:772}],776:[function(t,e,r){&quot;use strict&quot;;function n(t,e){try{t._fullLayout._paper.style(&quot;background&quot;,e)}catch(t){v.error(t)}}function i(t,e){n(t,T.combine(e,&quot;white&quot;))}function a(t,e){var r,n,i=e+1,a=[];for(r=0;r&lt;t.length;r++)(n=t[r])&lt;0?a.push(i+n):a.push(n);return a}function o(t,e,r){var n,i;for(n=0;n&lt;e.length;n++){if((i=e[n])!==parseInt(i,10))throw new Error(&quot;all values in &quot;+r+&quot; must be integers&quot;);if(i&gt;=t.data.length||i&lt;-t.data.length)throw new Error(r+&quot; must be valid indices for gd.data.&quot;);if(e.indexOf(i,n+1)&gt;-1||i&gt;=0&amp;&amp;e.indexOf(-t.data.length+i)&gt;-1||i&lt;0&amp;&amp;e.indexOf(t.data.length+i)&gt;-1)throw new Error(&quot;each index in &quot;+r+&quot; must be unique.&quot;)}}function s(t,e,r){if(!Array.isArray(t.data))throw new Error(&quot;gd.data must be an array.&quot;);if(void 0===e)throw new Error(&quot;currentIndices is a required argument.&quot;);if(Array.isArray(e)||(e=[e]),o(t,e,&quot;currentIndices&quot;),void 0===r||Array.isArray(r)||(r=[r]),void 0!==r&amp;&amp;o(t,r,&quot;newIndices&quot;),void 0!==r&amp;&amp;e.length!==r.length)throw new Error(&quot;current and new indices must be of equal length.&quot;)}function l(t,e,r,n,i,s){!function(t,e,r,n){var i=v.isPlainObject(n);if(!Array.isArray(t.data))throw new Error(&quot;gd.data must be an array&quot;);if(!v.isPlainObject(e))throw new Error(&quot;update must be a key:value object&quot;);if(void 0===r)throw new Error(&quot;indices must be an integer or array of integers&quot;);o(t,r,&quot;indices&quot;);for(var a in e){if(!Array.isArray(e[a])||e[a].length!==r.length)throw new Error(&quot;attribute &quot;+a+&quot; must be an array of length equal to indices array length&quot;);if(i&amp;&amp;(!(a in n)||!Array.isArray(n[a])||n[a].length!==e[a].length))throw new Error(&quot;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&quot;)}}(t,e,r,n);for(var l,c,u,f=function(t,e,r,n){var i,o,s,l,c,u=v.isPlainObject(n),f=[];Array.isArray(r)||(r=[r]),r=a(r,t.data.length-1);for(var h in e)for(var d=0;d&lt;r.length;d++){if(i=t.data[r[d]],s=v.nestedProperty(i,h),o=s.get(),l=e[h][d],!Array.isArray(l))throw new Error(&quot;attribute: &quot;+h+&quot; index: &quot;+d+&quot; must be an array&quot;);if(!Array.isArray(o))throw new Error(&quot;cannot extend missing or non-array attribute: &quot;+h);c=u?n[h][d]:n,p(c)||(c=-1),f.push({prop:s,target:o,insert:l,maxp:Math.floor(c)})}return f}(t,e,r,n),h=[],d={},m={},g=0;g&lt;f.length;g++)c=f[g].prop,u=f[g].maxp,l=i(f[g].target,f[g].insert),u&gt;=0&amp;&amp;u&lt;l.length&amp;&amp;(h=s(l,u)),u=f[g].target.length,c.set(l),Array.isArray(d[c.astr])||(d[c.astr]=[]),Array.isArray(m[c.astr])||(m[c.astr]=[]),d[c.astr].push(h),m[c.astr].push(u);return{update:d,maxPoints:m}}function c(t){return void 0===t?null:t}function u(t,e,r){function n(){return r.map(function(){})}function i(t){var e=g.Axes.id2name(t);-1===u.indexOf(e)&amp;&amp;u.push(e)}function a(t){return&quot;LAYOUT&quot;+t+&quot;.autorange&quot;}function o(t){return&quot;LAYOUT&quot;+t+&quot;.range&quot;}function s(i,a,o){if(Array.isArray(i))i.forEach(function(t){s(t,a,o)});else if(!(i in e||z.hasParent(e,i))){var l;l=&quot;LAYOUT&quot;===i.substr(0,6)?v.nestedProperty(t.layout,i.replace(&quot;LAYOUT&quot;,&quot;&quot;)):v.nestedProperty(d[r[o]],i),i in y||(y[i]=n()),void 0===y[i][o]&amp;&amp;(y[i][o]=c(l.get())),void 0!==a&amp;&amp;l.set(a)}}var l,u,f=t._fullLayout,h=t._fullData,d=t.data,p=I.traceFlags(),m={},y={},x={};for(var M in e){if(z.hasParent(e,M))throw new Error(&quot;cannot set &quot;+M+&quot;and a parent attribute simultaneously&quot;);var k,A,T,S,E,L,C=e[M];if(m[M]=C,&quot;LAYOUT&quot;!==M.substr(0,6)){for(y[M]=n(),l=0;l&lt;r.length;l++)if(k=d[r[l]],A=h[r[l]],T=v.nestedProperty(k,M),S=T.get(),void 0!==(E=Array.isArray(C)?C[l%C.length]:C)){if((L=_.getTraceValObject(A,T.parts))&amp;&amp;L.impliedEdits&amp;&amp;null!==E)for(var D in L.impliedEdits)s(v.relativeAttr(M,D),L.impliedEdits[D],l);else if(&quot;colorbar.thicknessmode&quot;===M&amp;&amp;T.get()!==E&amp;&amp;-1!==[&quot;fraction&quot;,&quot;pixels&quot;].indexOf(E)&amp;&amp;A.colorbar){var P=-1!==[&quot;top&quot;,&quot;bottom&quot;].indexOf(A.colorbar.orient)?f.height-f.margin.t-f.margin.b:f.width-f.margin.l-f.margin.r;s(&quot;colorbar.thickness&quot;,A.colorbar.thickness*(&quot;fraction&quot;===E?1/P:P),l)}else if(&quot;colorbar.lenmode&quot;===M&amp;&amp;T.get()!==E&amp;&amp;-1!==[&quot;fraction&quot;,&quot;pixels&quot;].indexOf(E)&amp;&amp;A.colorbar){var O=-1!==[&quot;top&quot;,&quot;bottom&quot;].indexOf(A.colorbar.orient)?f.width-f.margin.l-f.margin.r:f.height-f.margin.t-f.margin.b;s(&quot;colorbar.len&quot;,A.colorbar.len*(&quot;fraction&quot;===E?1/O:O),l)}else&quot;colorbar.tick0&quot;!==M&amp;&amp;&quot;colorbar.dtick&quot;!==M||s(&quot;colorbar.tickmode&quot;,&quot;linear&quot;,l);if(&quot;type&quot;===M&amp;&amp;&quot;pie&quot;===E!=(&quot;pie&quot;===S)){var F=&quot;x&quot;,R=&quot;y&quot;;&quot;bar&quot;!==E&amp;&amp;&quot;bar&quot;!==S||&quot;h&quot;!==k.orientation||(F=&quot;y&quot;,R=&quot;x&quot;),v.swapAttrs(k,[&quot;?&quot;,&quot;?src&quot;],&quot;labels&quot;,F),v.swapAttrs(k,[&quot;d?&quot;,&quot;?0&quot;],&quot;label&quot;,F),v.swapAttrs(k,[&quot;?&quot;,&quot;?src&quot;],&quot;values&quot;,R),&quot;pie&quot;===S?(v.nestedProperty(k,&quot;marker.color&quot;).set(v.nestedProperty(k,&quot;marker.colors&quot;).get()),f._pielayer.selectAll(&quot;g.trace&quot;).remove()):b.traceIs(k,&quot;cartesian&quot;)&amp;&amp;(v.nestedProperty(k,&quot;marker.colors&quot;).set(v.nestedProperty(k,&quot;marker.color&quot;).get()),x[k.xaxis||&quot;x&quot;]=!0,x[k.yaxis||&quot;y&quot;]=!0)}y[M][l]=c(S);if(-1!==[&quot;swapxy&quot;,&quot;swapxyaxes&quot;,&quot;orientation&quot;,&quot;orientationaxes&quot;].indexOf(M)){if(&quot;orientation&quot;===M){T.set(E);var N=k.x&amp;&amp;!k.y?&quot;h&quot;:&quot;v&quot;;if((T.get()||N)===A.orientation)continue}else&quot;orientationaxes&quot;===M&amp;&amp;(k.orientation={v:&quot;h&quot;,h:&quot;v&quot;}[A.orientation]);z.swapXYData(k),p.calc=p.clearAxisTypes=!0}else-1!==w.dataArrayContainers.indexOf(T.parts[0])?(z.manageArrayContainers(T,E,y),p.calc=!0):(L?L.arrayOk&amp;&amp;(Array.isArray(E)||Array.isArray(S))?p.calc=!0:I.update(p,L):p.calc=!0,T.set(E))}if(-1!==[&quot;swapxyaxes&quot;,&quot;orientationaxes&quot;].indexOf(M)&amp;&amp;g.Axes.swap(t,r),&quot;orientationaxes&quot;===M){var j=v.nestedProperty(t.layout,&quot;hovermode&quot;);&quot;x&quot;===j.get()?j.set(&quot;y&quot;):&quot;y&quot;===j.get()&amp;&amp;j.set(&quot;x&quot;)}if(-1!==[&quot;orientation&quot;,&quot;type&quot;].indexOf(M)){for(u=[],l=0;l&lt;r.length;l++){var B=d[r[l]];b.traceIs(B,&quot;cartesian&quot;)&amp;&amp;(i(B.xaxis||&quot;x&quot;),i(B.yaxis||&quot;y&quot;),&quot;type&quot;===M&amp;&amp;s([&quot;autobinx&quot;,&quot;autobiny&quot;],!0,l))}s(u.map(a),!0,0),s(u.map(o),[0,1],0)}}else T=v.nestedProperty(t.layout,M.replace(&quot;LAYOUT&quot;,&quot;&quot;)),y[M]=[c(T.get())],T.set(Array.isArray(C)?C[0]:C),p.calc=!0}var U=!1,V=g.Axes.list(t);for(l=0;l&lt;V.length;l++)if(V[l].autorange){U=!0;break}var q=Object.keys(x);t:for(l=0;l&lt;q.length;l++){for(var H=q[l],G=H.charAt(0),Y=G+&quot;axis&quot;,W=0;W&lt;d.length;W++)if(b.traceIs(d[W],&quot;cartesian&quot;)&amp;&amp;(d[W][Y]||G)===H)continue t;s(&quot;LAYOUT&quot;+g.Axes.id2name(H),null,0)}return(p.calc||p.calcIfAutorange&amp;&amp;U)&amp;&amp;(p.clearCalc=!0),(p.calc||p.plot||p.calcIfAutorange)&amp;&amp;(p.fullReplot=!0),{flags:p,undoit:y,redoit:m,traces:r,eventData:v.extendDeepNoArrays([],[m,r])}}function f(t,e){function r(t,n){if(Array.isArray(t))t.forEach(function(t){r(t,n)});else if(!(t in e||z.hasParent(e,t))){var i=v.nestedProperty(l,t);t in A||(A[t]=c(i.get())),void 0!==n&amp;&amp;i.set(n)}}function n(e,r){if(!v.isPlainObject(e))return!1;var n=e[r+&quot;ref&quot;]||r,i=g.Axes.getFromId(t,n);return i||n.charAt(0)!==r||(i=g.Axes.getFromId(t,r)),(i||{}).autorange}function i(t){var e=N.name2id(t.split(&quot;.&quot;)[0]);return T[e]=1,e}var a,o,s,l=t.layout,u=t._fullLayout,f=Object.keys(e),h=g.Axes.list(t),d={};for(o=0;o&lt;f.length;o++)if(0===f[o].indexOf(&quot;allaxes&quot;)){for(s=0;s&lt;h.length;s++){var p=h[s]._id.substr(1),m=-1!==p.indexOf(&quot;scene&quot;)?p+&quot;.&quot;:&quot;&quot;,y=f[o].replace(&quot;allaxes&quot;,m+h[s]._name);e[y]||(e[y]=e[f[o]])}delete e[f[o]]}var x,M=I.layoutFlags(),k={},A={},T={};for(var S in e){if(z.hasParent(e,S))throw new Error(&quot;cannot set &quot;+S+&quot;and a parent attribute simultaneously&quot;);var E=v.nestedProperty(l,S),L=e[S],D=E.parts.length,O=&quot;string&quot;==typeof E.parts[D-1]?D-1:D-2,F=E.parts[O],R=E.parts[O-1]+&quot;.&quot;+F,j=E.parts.slice(0,O).join(&quot;.&quot;),B=v.nestedProperty(t.layout,j).get(),U=v.nestedProperty(u,j).get(),V=E.get();if(void 0!==L){k[S]=L,A[S]=&quot;reverse&quot;===F?L:c(V);var q=_.getLayoutValObject(u,E.parts);if(q&amp;&amp;q.impliedEdits&amp;&amp;null!==L)for(var H in q.impliedEdits)r(v.relativeAttr(S,H),q.impliedEdits[H]);if(-1!==[&quot;width&quot;,&quot;height&quot;].indexOf(S)&amp;&amp;null===L)u[S]=t._initialAutoSize[S];else if(R.match(/^[xyz]axis[0-9]*\.range(\[[0|1]\])?$/))i(R),v.nestedProperty(u,j+&quot;._inputRange&quot;).set(null);else if(R.match(/^[xyz]axis[0-9]*\.autorange$/)){i(R),v.nestedProperty(u,j+&quot;._inputRange&quot;).set(null);var G=v.nestedProperty(u,j).get();G._inputDomain&amp;&amp;(G._input.domain=G._inputDomain.slice())}else R.match(/^[xyz]axis[0-9]*\.domain(\[[0|1]\])?$/)&amp;&amp;v.nestedProperty(u,j+&quot;._inputDomain&quot;).set(null);if(&quot;type&quot;===F){var Y=B,W=&quot;linear&quot;===U.type&amp;&amp;&quot;log&quot;===L,X=&quot;log&quot;===U.type&amp;&amp;&quot;linear&quot;===L;if(W||X){if(Y&amp;&amp;Y.range)if(U.autorange)W&amp;&amp;(Y.range=Y.range[1]&gt;Y.range[0]?[1,2]:[2,1]);else{var Z=Y.range[0],J=Y.range[1];W?(Z&lt;=0&amp;&amp;J&lt;=0&amp;&amp;r(j+&quot;.autorange&quot;,!0),Z&lt;=0?Z=J/1e6:J&lt;=0&amp;&amp;(J=Z/1e6),r(j+&quot;.range[0]&quot;,Math.log(Z)/Math.LN10),r(j+&quot;.range[1]&quot;,Math.log(J)/Math.LN10)):(r(j+&quot;.range[0]&quot;,Math.pow(10,Z)),r(j+&quot;.range[1]&quot;,Math.pow(10,J)))}else r(j+&quot;.autorange&quot;,!0);Array.isArray(u._subplots.polar)&amp;&amp;u._subplots.polar.length&amp;&amp;u[E.parts[0]]&amp;&amp;&quot;radialaxis&quot;===E.parts[1]&amp;&amp;delete u[E.parts[0]]._subplot.viewInitial[&quot;radialaxis.range&quot;],b.getComponentMethod(&quot;annotations&quot;,&quot;convertCoords&quot;)(t,U,L,r),b.getComponentMethod(&quot;images&quot;,&quot;convertCoords&quot;)(t,U,L,r)}else r(j+&quot;.autorange&quot;,!0),r(j+&quot;.range&quot;,null);v.nestedProperty(u,j+&quot;._inputRange&quot;).set(null)}else if(F.match(P.AX_NAME_PATTERN)){var K=v.nestedProperty(u,S).get(),Q=(L||{}).type;Q&amp;&amp;&quot;-&quot;!==Q||(Q=&quot;linear&quot;),b.getComponentMethod(&quot;annotations&quot;,&quot;convertCoords&quot;)(t,K,Q,r),b.getComponentMethod(&quot;images&quot;,&quot;convertCoords&quot;)(t,K,Q,r)}var $=C.containerArrayMatch(S);if($){a=$.array,o=$.index;var tt=$.property,et=(v.nestedProperty(l,a)||[])[o]||{},rt=et,nt=q||{editType:&quot;calc&quot;},it=-1!==nt.editType.indexOf(&quot;calcIfAutorange&quot;);&quot;&quot;===o?(it?M.calc=!0:I.update(M,nt),it=!1):&quot;&quot;===tt&amp;&amp;(rt=L,C.isAddVal(L)?A[S]=null:C.isRemoveVal(L)?(A[S]=et,rt=et):v.warn(&quot;unrecognized full object value&quot;,e)),it&amp;&amp;(n(rt,&quot;x&quot;)||n(rt,&quot;y&quot;))?M.calc=!0:I.update(M,nt),d[a]||(d[a]={});var at=d[a][o];at||(at=d[a][o]={}),at[tt]=L,delete e[S]}else&quot;reverse&quot;===F?(B.range?B.range.reverse():(r(j+&quot;.autorange&quot;,!0),B.range=[1,0]),U.autorange?M.calc=!0:M.plot=!0):((!u._has(&quot;gl2d&quot;)&amp;&amp;!u._has(&quot;regl&quot;)||&quot;dragmode&quot;!==S||&quot;lasso&quot;!==L&amp;&amp;&quot;select&quot;!==L||&quot;lasso&quot;===V||&quot;select&quot;===V)&amp;&amp;q?I.update(M,q):M.calc=!0,E.set(L))}}for(a in d){C.applyContainerArrayChanges(t,v.nestedProperty(l,a),d[a],M)||(M.plot=!0)}var ot=u._axisConstraintGroups||[];for(x in T)for(o=0;o&lt;ot.length;o++){var st=ot[o];if(st[x]){M.calc=!0;for(var lt in st)T[lt]||(N.getFromId(t,lt)._constraintShrinkable=!0)}}var ct=u.width,ut=u.height;t.layout.autosize&amp;&amp;w.plotAutoSize(t,t.layout,u);return(e.height||e.width||u.width!==ct||u.height!==ut)&amp;&amp;(M.calc=!0),(M.plot||M.calc)&amp;&amp;(M.layoutReplot=!0),{flags:M,undoit:A,redoit:k,eventData:v.extendDeep({},k)}}function h(t){var e=d.select(t),r=t._fullLayout;if(r._container=e.selectAll(&quot;.plot-container&quot;).data([0]),r._container.enter().insert(&quot;div&quot;,&quot;:first-child&quot;).classed(&quot;plot-container&quot;,!0).classed(&quot;plotly&quot;,!0),r._paperdiv=r._container.selectAll(&quot;.svg-container&quot;).data([0]),r._paperdiv.enter().append(&quot;div&quot;).classed(&quot;svg-container&quot;,!0).style(&quot;position&quot;,&quot;relative&quot;),r._glcontainer=r._paperdiv.selectAll(&quot;.gl-container&quot;).data([{}]),r._glcontainer.enter().append(&quot;div&quot;).classed(&quot;gl-container&quot;,!0),r._glcanvas=null,r._paperdiv.selectAll(&quot;.main-svg&quot;).remove(),r._paper=r._paperdiv.insert(&quot;svg&quot;,&quot;:first-child&quot;).classed(&quot;main-svg&quot;,!0),r._toppaper=r._paperdiv.append(&quot;svg&quot;).classed(&quot;main-svg&quot;,!0),!r._uid){var n=[];d.selectAll(&quot;defs&quot;).each(function(){this.id&amp;&amp;n.push(this.id.split(&quot;-&quot;)[1])}),r._uid=v.randstr(n)}r._paperdiv.selectAll(&quot;.main-svg&quot;).attr(E.svgAttrs),r._defs=r._paper.append(&quot;defs&quot;).attr(&quot;id&quot;,&quot;defs-&quot;+r._uid),r._clips=r._defs.append(&quot;g&quot;).classed(&quot;clips&quot;,!0),r._topdefs=r._toppaper.append(&quot;defs&quot;).attr(&quot;id&quot;,&quot;topdefs-&quot;+r._uid),r._topclips=r._topdefs.append(&quot;g&quot;).classed(&quot;clips&quot;,!0),r._bgLayer=r._paper.append(&quot;g&quot;).classed(&quot;bglayer&quot;,!0),r._draggers=r._paper.append(&quot;g&quot;).classed(&quot;draglayer&quot;,!0);var i=r._paper.append(&quot;g&quot;).classed(&quot;layer-below&quot;,!0);r._imageLowerLayer=i.append(&quot;g&quot;).classed(&quot;imagelayer&quot;,!0),r._shapeLowerLayer=i.append(&quot;g&quot;).classed(&quot;shapelayer&quot;,!0),r._cartesianlayer=r._paper.append(&quot;g&quot;).classed(&quot;cartesianlayer&quot;,!0),r._polarlayer=r._paper.append(&quot;g&quot;).classed(&quot;polarlayer&quot;,!0),r._ternarylayer=r._paper.append(&quot;g&quot;).classed(&quot;ternarylayer&quot;,!0),r._geolayer=r._paper.append(&quot;g&quot;).classed(&quot;geolayer&quot;,!0),r._pielayer=r._paper.append(&quot;g&quot;).classed(&quot;pielayer&quot;,!0),r._glimages=r._paper.append(&quot;g&quot;).classed(&quot;glimages&quot;,!0);var a=r._toppaper.append(&quot;g&quot;).classed(&quot;layer-above&quot;,!0);r._imageUpperLayer=a.append(&quot;g&quot;).classed(&quot;imagelayer&quot;,!0),r._shapeUpperLayer=a.append(&quot;g&quot;).classed(&quot;shapelayer&quot;,!0),r._infolayer=r._toppaper.append(&quot;g&quot;).classed(&quot;infolayer&quot;,!0),r._menulayer=r._toppaper.append(&quot;g&quot;).classed(&quot;menulayer&quot;,!0),r._zoomlayer=r._toppaper.append(&quot;g&quot;).classed(&quot;zoomlayer&quot;,!0),r._hoverlayer=r._toppaper.append(&quot;g&quot;).classed(&quot;hoverlayer&quot;,!0),t.emit(&quot;plotly_framework&quot;)}var d=t(&quot;d3&quot;),p=t(&quot;fast-isnumeric&quot;),m=t(&quot;has-hover&quot;),g=t(&quot;../plotly&quot;),v=t(&quot;../lib&quot;),y=t(&quot;../lib/events&quot;),x=t(&quot;../lib/queue&quot;),b=t(&quot;../registry&quot;),_=t(&quot;./plot_schema&quot;),w=t(&quot;../plots/plots&quot;),M=t(&quot;../plots/polar/legacy&quot;),k=t(&quot;../plots/cartesian/graph_interact&quot;),A=t(&quot;../components/drawing&quot;),T=t(&quot;../components/color&quot;),S=t(&quot;../components/errorbars&quot;),E=t(&quot;../constants/xmlns_namespaces&quot;),L=t(&quot;../lib/svg_text_utils&quot;),C=t(&quot;./manage_arrays&quot;),z=t(&quot;./helpers&quot;),D=t(&quot;./subroutines&quot;),I=t(&quot;./edit_types&quot;),P=t(&quot;../plots/cartesian/constants&quot;),O=t(&quot;../plots/cartesian/constraints&quot;),F=O.enforce,R=O.clean,N=t(&quot;../plots/cartesian/axis_ids&quot;);g.plot=function(t,e,r,a){function o(){var e,r,n,i=t.calcdata;for(b.getComponentMethod(&quot;legend&quot;,&quot;draw&quot;)(t),b.getComponentMethod(&quot;rangeselector&quot;,&quot;draw&quot;)(t),b.getComponentMethod(&quot;sliders&quot;,&quot;draw&quot;)(t),b.getComponentMethod(&quot;updatemenus&quot;,&quot;draw&quot;)(t),e=0;e&lt;i.length;e++)!0===(n=(r=i[e])[0].trace).visible&amp;&amp;n._module.colorbar?n._module.colorbar(t,r):w.autoMargin(t,&quot;cb&quot;+n.uid);return w.doAutoMargin(t),w.previousPromises(t)}function s(){if(!t._transitioning){for(var e=g.Axes.list(t,&quot;&quot;,!0),r=0;r&lt;e.length;r++){var n=e[r];R(t,n),g.Axes.doAutoRange(n)}F(t),u&amp;&amp;g.Axes.saveRangeInitial(t)}}var l;if(t=v.getGraphDiv(t),y.init(t),v.isPlainObject(e)){var c=e;e=c.data,r=c.layout,a=c.config,l=c.frames}if(!1===y.triggerHandler(t,&quot;plotly_beforeplot&quot;,[e,r,a]))return Promise.reject();e||r||v.isPlotDiv(t)||v.warn(&quot;Calling Plotly.plot as if redrawing but this container doesn't yet have a plot.&quot;,t),function(t,e){t._context||(t._context=v.extendDeep({},g.defaultConfig));var r,a,o,s=t._context;if(e){for(a=Object.keys(e),r=0;r&lt;a.length;r++)&quot;editable&quot;!==(o=a[r])&amp;&amp;&quot;edits&quot;!==o&amp;&amp;o in s&amp;&amp;(&quot;setBackground&quot;===o&amp;&amp;&quot;opaque&quot;===e[o]?s[o]=i:s[o]=e[o]);e.plot3dPixelRatio&amp;&amp;!s.plotGlPixelRatio&amp;&amp;(s.plotGlPixelRatio=s.plot3dPixelRatio);var l=e.editable;if(void 0!==l)for(s.editable=l,a=Object.keys(s.edits),r=0;r&lt;a.length;r++)s.edits[a[r]]=l;if(e.edits)for(a=Object.keys(e.edits),r=0;r&lt;a.length;r++)(o=a[r])in s.edits&amp;&amp;(s.edits[o]=e.edits[o])}s.staticPlot&amp;&amp;(s.editable=!1,s.edits={},s.autosizable=!1,s.scrollZoom=!1,s.doubleClick=!1,s.showTips=!1,s.showLink=!1,s.displayModeBar=!1),&quot;hover&quot;!==s.displayModeBar||m||(s.displayModeBar=!0),&quot;transparent&quot;!==s.setBackground&amp;&amp;&quot;function&quot;==typeof s.setBackground||(s.setBackground=n)}(t,a),r||(r={}),d.select(t).classed(&quot;js-plotly-plot&quot;,!0),A.makeTester(),Array.isArray(t._promises)||(t._promises=[]);var u=0===(t.data||[]).length&amp;&amp;Array.isArray(e);if(Array.isArray(e)&amp;&amp;(z.cleanData(e,t.data),u?t.data=e:t.data.push.apply(t.data,e),t.empty=!1),t.layout&amp;&amp;!u||(t.layout=z.cleanLayout(r)),t._dragging&amp;&amp;!t._transitioning)return t._replotPending=!0,Promise.reject();t._replotPending=!1,w.supplyDefaults(t);var f=t._fullLayout;if(!f._has(&quot;polar&quot;)&amp;&amp;e&amp;&amp;e[0]&amp;&amp;e[0].r)return v.log(&quot;Legacy polar charts are deprecated!&quot;),function(t,e,r){var n=d.select(t).selectAll(&quot;.plot-container&quot;).data([0]);n.enter().insert(&quot;div&quot;,&quot;:first-child&quot;).classed(&quot;plot-container plotly&quot;,!0);var i=n.selectAll(&quot;.svg-container&quot;).data([0]);i.enter().append(&quot;div&quot;).classed(&quot;svg-container&quot;,!0).style(&quot;position&quot;,&quot;relative&quot;),i.html(&quot;&quot;),e&amp;&amp;(t.data=e),r&amp;&amp;(t.layout=r),M.manager.fillLayout(t),i.style({width:t._fullLayout.width+&quot;px&quot;,height:t._fullLayout.height+&quot;px&quot;}),t.framework=M.manager.framework(t),t.framework({data:t.data,layout:t.layout},i.node()),t.framework.setUndoPoint();var a=t.framework.svg(),o=1,s=t._fullLayout.title;&quot;&quot;!==s&amp;&amp;s||(o=0);var l=function(){this.call(L.convertToTspans,t)},c=a.select(&quot;.title-group text&quot;).call(l);if(t._context.edits.titleText){var u=v._(t,&quot;Click to enter Plot title&quot;);s&amp;&amp;s!==u||(o=.2,c.attr({&quot;data-unformatted&quot;:u}).text(u).style({opacity:o}).on(&quot;mouseover.opacity&quot;,function(){d.select(this).transition().duration(100).style(&quot;opacity&quot;,1)}).on(&quot;mouseout.opacity&quot;,function(){d.select(this).transition().duration(1e3).style(&quot;opacity&quot;,0)}));var f=function(){this.call(L.makeEditable,{gd:t}).on(&quot;edit&quot;,function(e){t.framework({layout:{title:e}}),this.text(e).call(l),this.call(f)}).on(&quot;cancel&quot;,function(){var t=this.attr(&quot;data-unformatted&quot;);this.text(t).call(l)})};c.call(f)}return t._context.setBackground(t,t._fullLayout.paper_bgcolor),w.addLinks(t),Promise.resolve()}(t,e,r);f._replotting=!0,u&amp;&amp;h(t),t.framework!==h&amp;&amp;(t.framework=h,h(t)),A.initGradients(t),u&amp;&amp;g.Axes.saveShowSpikeInitial(t);var p=!t.calcdata||t.calcdata.length!==(t._fullData||[]).length;p&amp;&amp;w.doCalcdata(t);for(var x=0;x&lt;t.calcdata.length;x++)t.calcdata[x][0].trace=t._fullData[x];var _=JSON.stringify(f._size),T=[w.previousPromises,function(){if(l)return g.addFrames(t,l)},function(){for(var e=f._basePlotModules,r=0;r&lt;e.length;r++)e[r].drawFramework&amp;&amp;e[r].drawFramework(t);return!f._glcanvas&amp;&amp;f._has(&quot;gl&quot;)&amp;&amp;(f._glcanvas=f._glcontainer.selectAll(&quot;.gl-canvas&quot;).data([{key:&quot;contextLayer&quot;,context:!0,pick:!1},{key:&quot;focusLayer&quot;,context:!1,pick:!1},{key:&quot;pickLayer&quot;,context:!1,pick:!0}],function(t){return t.key}),f._glcanvas.enter().append(&quot;canvas&quot;).attr(&quot;class&quot;,function(t){return&quot;gl-canvas gl-canvas-&quot;+t.key.replace(&quot;Layer&quot;,&quot;&quot;)}).style({position:&quot;absolute&quot;,top:0,left:0,width:&quot;100%&quot;,height:&quot;100%&quot;,overflow:&quot;visible&quot;,&quot;pointer-events&quot;:&quot;none&quot;})),f._glcanvas&amp;&amp;f._glcanvas.attr(&quot;width&quot;,f.width).attr(&quot;height&quot;,f.height),v.syncOrAsync([D.layoutStyles],t)},o,function(){if(JSON.stringify(f._size)!==_)return v.syncOrAsync([o,D.layoutStyles],t)},function(){if(p){var e,r,n,i=f._subplots.cartesian,a=f._modules,o=[];for(n=0;n&lt;a.length;n++)v.pushUnique(o,a[n].setPositions);if(o.length)for(r=0;r&lt;i.length;r++)for(e=f._plots[i[r]],n=0;n&lt;o.length;n++)o[n](t,e);return S.calc(t),v.syncOrAsync([b.getComponentMethod(&quot;shapes&quot;,&quot;calcAutorange&quot;),b.getComponentMethod(&quot;annotations&quot;,&quot;calcAutorange&quot;),s,b.getComponentMethod(&quot;rangeslider&quot;,&quot;calcAutorange&quot;)],t)}F(t)},D.layoutStyles,function(){return g.Axes.doTicks(t,&quot;redraw&quot;)},function(){var e,r=t.calcdata,n=f._infolayer.selectAll(&quot;g.rangeslider-container&quot;);for(e=0;e&lt;r.length;e++){var i=r[e][0].trace,a=!0===i.visible,o=i.uid;if(!a||!b.traceIs(i,&quot;2dMap&quot;)){var s=&quot;.hm&quot;+o+&quot;,.contour&quot;+o+&quot;,#clip&quot;+o;f._paper.selectAll(s).remove(),n.selectAll(s).remove()}a&amp;&amp;i._module.colorbar||f._infolayer.selectAll(&quot;.cb&quot;+o).remove()}var l=f._basePlotModules;for(e=0;e&lt;l.length;e++)l[e].plot(t);var c=f._paper.selectAll(&quot;.layer-subplot&quot;);return f._shapeSubplotLayers=c.selectAll(&quot;.shapelayer&quot;),w.style(t),b.getComponentMethod(&quot;shapes&quot;,&quot;draw&quot;)(t),b.getComponentMethod(&quot;annotations&quot;,&quot;draw&quot;)(t),w.addLinks(t),f._replotting=!1,w.previousPromises(t)},function(){b.getComponentMethod(&quot;shapes&quot;,&quot;draw&quot;)(t),b.getComponentMethod(&quot;images&quot;,&quot;draw&quot;)(t),b.getComponentMethod(&quot;annotations&quot;,&quot;draw&quot;)(t),b.getComponentMethod(&quot;legend&quot;,&quot;draw&quot;)(t),b.getComponentMethod(&quot;rangeslider&quot;,&quot;draw&quot;)(t),b.getComponentMethod(&quot;rangeselector&quot;,&quot;draw&quot;)(t),b.getComponentMethod(&quot;sliders&quot;,&quot;draw&quot;)(t),b.getComponentMethod(&quot;updatemenus&quot;,&quot;draw&quot;)(t)},k,w.rehover,w.previousPromises],E=v.syncOrAsync(T,t);return E&amp;&amp;E.then||(E=Promise.resolve()),E.then(function(){return t.emit(&quot;plotly_afterplot&quot;),t})},g.redraw=function(t){if(t=v.getGraphDiv(t),!v.isPlotDiv(t))throw new Error(&quot;This element is not a Plotly plot: &quot;+t);return z.cleanData(t.data,t.data),z.cleanLayout(t.layout),t.calcdata=void 0,g.plot(t).then(function(){return t.emit(&quot;plotly_redraw&quot;),t})},g.newPlot=function(t,e,r,n){return t=v.getGraphDiv(t),w.cleanPlot([],{},t._fullData||{},t._fullLayout||{}),w.purge(t),g.plot(t,e,r,n)},g.extendTraces=function t(e,r,n,i){var a=l(e=v.getGraphDiv(e),r,n,i,function(t,e){return t.concat(e)},function(t,e){return t.splice(0,t.length-e)}),o=g.redraw(e),s=[e,a.update,n,a.maxPoints];return x.add(e,g.prependTraces,s,t,arguments),o},g.prependTraces=function t(e,r,n,i){var a=l(e=v.getGraphDiv(e),r,n,i,function(t,e){return e.concat(t)},function(t,e){return t.splice(e,t.length)}),o=g.redraw(e),s=[e,a.update,n,a.maxPoints];return x.add(e,g.extendTraces,s,t,arguments),o},g.addTraces=function t(e,r,n){e=v.getGraphDiv(e);var i,a,o=[],l=g.deleteTraces,c=t,u=[e,o],f=[e,r];for(function(t,e,r){var n,i;if(!Array.isArray(t.data))throw new Error(&quot;gd.data must be an array.&quot;);if(void 0===e)throw new Error(&quot;traces must be defined.&quot;);for(Array.isArray(e)||(e=[e]),n=0;n&lt;e.length;n++)if(&quot;object&quot;!=typeof(i=e[n])||Array.isArray(i)||null===i)throw new Error(&quot;all values in traces array must be non-array objects&quot;);if(void 0===r||Array.isArray(r)||(r=[r]),void 0!==r&amp;&amp;r.length!==e.length)throw new Error(&quot;if indices is specified, traces.length must equal indices.length&quot;)}(e,r,n),Array.isArray(r)||(r=[r]),r=r.map(function(t){return v.extendFlat({},t)}),z.cleanData(r,e.data),i=0;i&lt;r.length;i++)e.data.push(r[i]);for(i=0;i&lt;r.length;i++)o.push(-r.length+i);if(void 0===n)return a=g.redraw(e),x.add(e,l,u,c,f),a;Array.isArray(n)||(n=[n]);try{s(e,o,n)}catch(t){throw e.data.splice(e.data.length-r.length,r.length),t}return x.startSequence(e),x.add(e,l,u,c,f),a=g.moveTraces(e,o,n),x.stopSequence(e),a},g.deleteTraces=function t(e,r){e=v.getGraphDiv(e);var n,i,s=[],l=g.addTraces,c=t,u=[e,s,r],f=[e,r];if(void 0===r)throw new Error(&quot;indices must be an integer or array of integers.&quot;);for(Array.isArray(r)||(r=[r]),o(e,r,&quot;indices&quot;),(r=a(r,e.data.length-1)).sort(v.sorterDes),n=0;n&lt;r.length;n+=1)i=e.data.splice(r[n],1)[0],s.push(i);var h=g.redraw(e);return x.add(e,l,u,c,f),h},g.moveTraces=function t(e,r,n){var i,o=[],l=[],c=t,u=t,f=[e=v.getGraphDiv(e),n,r],h=[e,r,n];if(s(e,r,n),r=Array.isArray(r)?r:[r],void 0===n)for(n=[],i=0;i&lt;r.length;i++)n.push(-r.length+i);for(n=Array.isArray(n)?n:[n],r=a(r,e.data.length-1),n=a(n,e.data.length-1),i=0;i&lt;e.data.length;i++)-1===r.indexOf(i)&amp;&amp;o.push(e.data[i]);for(i=0;i&lt;r.length;i++)l.push({newIndex:n[i],trace:e.data[r[i]]});for(l.sort(function(t,e){return t.newIndex-e.newIndex}),i=0;i&lt;l.length;i+=1)o.splice(l[i].newIndex,0,l[i].trace);e.data=o;var d=g.redraw(e);return x.add(e,c,f,u,h),d},g.restyle=function t(e,r,n,i){e=v.getGraphDiv(e),z.clearPromiseQueue(e);var a={};if(&quot;string&quot;==typeof r)a[r]=n;else{if(!v.isPlainObject(r))return v.warn(&quot;Restyle fail.&quot;,r,n,i),Promise.reject();a=v.extendFlat({},r),void 0===i&amp;&amp;(i=n)}Object.keys(a).length&amp;&amp;(e.changed=!0);var o=z.coerceTraceIndices(e,i),s=u(e,a,o),l=s.flags;l.clearCalc&amp;&amp;(e.calcdata=void 0),l.clearAxisTypes&amp;&amp;z.clearAxisTypes(e,o,{});var c=[];l.fullReplot?c.push(g.plot):(c.push(w.previousPromises),w.supplyDefaults(e),l.style&amp;&amp;c.push(D.doTraceStyle),l.colorbars&amp;&amp;c.push(D.doColorBars)),c.push(w.rehover),x.add(e,t,[e,s.undoit,s.traces],t,[e,s.redoit,s.traces]);var f=v.syncOrAsync(c,e);return f&amp;&amp;f.then||(f=Promise.resolve()),f.then(function(){return e.emit(&quot;plotly_restyle&quot;,s.eventData),e})},g.relayout=function t(e,r,n){if(e=v.getGraphDiv(e),z.clearPromiseQueue(e),e.framework&amp;&amp;e.framework.isPolar)return Promise.resolve(e);var i={};if(&quot;string&quot;==typeof r)i[r]=n;else{if(!v.isPlainObject(r))return v.warn(&quot;Relayout fail.&quot;,r,n),Promise.reject();i=v.extendFlat({},r)}Object.keys(i).length&amp;&amp;(e.changed=!0);var a=f(e,i),o=a.flags;o.calc&amp;&amp;(e.calcdata=void 0);var s=[w.previousPromises];o.layoutReplot?s.push(D.layoutReplot):Object.keys(i).length&amp;&amp;(w.supplyDefaults(e),o.legend&amp;&amp;s.push(D.doLegend),o.layoutstyle&amp;&amp;s.push(D.layoutStyles),o.ticks&amp;&amp;s.push(D.doTicksRelayout),o.modebar&amp;&amp;s.push(D.doModeBar),o.camera&amp;&amp;s.push(D.doCamera)),s.push(w.rehover),x.add(e,t,[e,a.undoit],t,[e,a.redoit]);var l=v.syncOrAsync(s,e);return l&amp;&amp;l.then||(l=Promise.resolve(e)),l.then(function(){return e.emit(&quot;plotly_relayout&quot;,a.eventData),e})},g.update=function t(e,r,n,i){if(e=v.getGraphDiv(e),z.clearPromiseQueue(e),e.framework&amp;&amp;e.framework.isPolar)return Promise.resolve(e);v.isPlainObject(r)||(r={}),v.isPlainObject(n)||(n={}),Object.keys(r).length&amp;&amp;(e.changed=!0),Object.keys(n).length&amp;&amp;(e.changed=!0);var a=z.coerceTraceIndices(e,i),o=u(e,v.extendFlat({},r),a),s=o.flags,l=f(e,v.extendFlat({},n)),c=l.flags;(s.clearCalc||c.calc)&amp;&amp;(e.calcdata=void 0),s.clearAxisTypes&amp;&amp;z.clearAxisTypes(e,a,n);var h=[];if(s.fullReplot&amp;&amp;c.layoutReplot){var d=e.data,p=e.layout;e.data=void 0,e.layout=void 0,h.push(function(){return g.plot(e,d,p)})}else s.fullReplot?h.push(g.plot):c.layoutReplot?h.push(D.layoutReplot):(h.push(w.previousPromises),w.supplyDefaults(e),s.style&amp;&amp;h.push(D.doTraceStyle),s.colorbars&amp;&amp;h.push(D.doColorBars),c.legend&amp;&amp;h.push(D.doLegend),c.layoutstyle&amp;&amp;h.push(D.layoutStyles),c.ticks&amp;&amp;h.push(D.doTicksRelayout),c.modebar&amp;&amp;h.push(D.doModeBar),c.camera&amp;&amp;h.push(D.doCamera));h.push(w.rehover),x.add(e,t,[e,o.undoit,l.undoit,o.traces],t,[e,o.redoit,l.redoit,o.traces]);var m=v.syncOrAsync(h,e);return m&amp;&amp;m.then||(m=Promise.resolve(e)),m.then(function(){return e.emit(&quot;plotly_update&quot;,{data:o.eventData,layout:l.eventData}),e})},g.animate=function(t,e,r){function n(t){return Array.isArray(s)?t&gt;=s.length?s[0]:s[t]:s}function i(t){return Array.isArray(l)?t&gt;=l.length?l[0]:l[t]:l}function a(t,e){var r=0;return function(){if(t&amp;&amp;++r===e)return t()}}if(t=v.getGraphDiv(t),!v.isPlotDiv(t))throw new Error(&quot;This element is not a Plotly plot: &quot;+t+&quot;. It's likely that you've failed to create a plot before animating it. For more details, see https://plot.ly/javascript/animations/&quot;);var o=t._transitionData;o._frameQueue||(o._frameQueue=[]);var s=(r=w.supplyAnimationDefaults(r)).transition,l=r.frame;return void 0===o._frameWaitingCnt&amp;&amp;(o._frameWaitingCnt=0),new Promise(function(l,c){function u(e){if(0!==e.length){for(var s=0;s&lt;e.length;s++){var u;u=&quot;byname&quot;===e[s].type?w.computeFrame(t,e[s].name):e[s].data;var f=i(s),h=n(s);h.duration=Math.min(h.duration,f.duration);var d={frame:u,name:e[s].name,frameOpts:f,transitionOpts:h};s===e.length-1&amp;&amp;(d.onComplete=a(l,2),d.onInterrupt=c),o._frameQueue.push(d)}&quot;immediate&quot;===r.mode&amp;&amp;(o._lastFrameAt=-1/0),o._animationRaf||function(){t.emit(&quot;plotly_animating&quot;),o._lastFrameAt=-1/0,o._timeToNext=0,o._runningTransitions=0,o._currentFrame=null;var e=function(){o._animationRaf=window.requestAnimationFrame(e),Date.now()-o._lastFrameAt&gt;o._timeToNext&amp;&amp;function(){o._currentFrame&amp;&amp;o._currentFrame.onComplete&amp;&amp;o._currentFrame.onComplete();var e=o._currentFrame=o._frameQueue.shift();if(e){var r=e.name?e.name.toString():null;t._fullLayout._currentFrame=r,o._lastFrameAt=Date.now(),o._timeToNext=e.frameOpts.duration,w.transition(t,e.frame.data,e.frame.layout,z.coerceTraceIndices(t,e.frame.traces),e.frameOpts,e.transitionOpts).then(function(){e.onComplete&amp;&amp;e.onComplete()}),t.emit(&quot;plotly_animatingframe&quot;,{name:r,frame:e.frame,animation:{frame:e.frameOpts,transition:e.transitionOpts}})}else t.emit(&quot;plotly_animated&quot;),window.cancelAnimationFrame(o._animationRaf),o._animationRaf=null}()};e()}()}}function f(t){return Array.isArray(s)?p&gt;=s.length?t.transitionOpts=s[p]:t.transitionOpts=s[0]:t.transitionOpts=s,p++,t}var h,d,p=0,m=[],g=void 0===e||null===e,y=Array.isArray(e);if(!g&amp;&amp;!y&amp;&amp;v.isPlainObject(e))m.push({type:&quot;object&quot;,data:f(v.extendFlat({},e))});else if(g||-1!==[&quot;string&quot;,&quot;number&quot;].indexOf(typeof e))for(h=0;h&lt;o._frames.length;h++)(d=o._frames[h])&amp;&amp;(g||String(d.group)===String(e))&amp;&amp;m.push({type:&quot;byname&quot;,name:String(d.name),data:f({name:d.name})});else if(y)for(h=0;h&lt;e.length;h++){var x=e[h];-1!==[&quot;number&quot;,&quot;string&quot;].indexOf(typeof x)?(x=String(x),m.push({type:&quot;byname&quot;,name:x,data:f({name:x})})):v.isPlainObject(x)&amp;&amp;m.push({type:&quot;object&quot;,data:f(v.extendFlat({},x))})}for(h=0;h&lt;m.length;h++)if(&quot;byname&quot;===(d=m[h]).type&amp;&amp;!o._frameHash[d.data.name])return v.warn('animate failure: frame not found: &quot;'+d.data.name+'&quot;'),void c();-1!==[&quot;next&quot;,&quot;immediate&quot;].indexOf(r.mode)&amp;&amp;function(){if(0!==o._frameQueue.length){for(;o._frameQueue.length;){var e=o._frameQueue.pop();e.onInterrupt&amp;&amp;e.onInterrupt()}t.emit(&quot;plotly_animationinterrupted&quot;,[])}}(),&quot;reverse&quot;===r.direction&amp;&amp;m.reverse();var b=t._fullLayout._currentFrame;if(b&amp;&amp;r.fromcurrent){var _=-1;for(h=0;h&lt;m.length;h++)if(&quot;byname&quot;===(d=m[h]).type&amp;&amp;d.name===b){_=h;break}if(_&gt;0&amp;&amp;_&lt;m.length-1){var M=[];for(h=0;h&lt;m.length;h++)d=m[h],(&quot;byname&quot;!==m[h].type||h&gt;_)&amp;&amp;M.push(d);m=M}}m.length&gt;0?u(m):(t.emit(&quot;plotly_animated&quot;),l())})},g.addFrames=function(t,e,r){t=v.getGraphDiv(t);var n=0;if(null===e||void 0===e)return Promise.resolve();if(!v.isPlotDiv(t))throw new Error(&quot;This element is not a Plotly plot: &quot;+t+&quot;. It's likely that you've failed to create a plot before adding frames. For more details, see https://plot.ly/javascript/animations/&quot;);var i,a,o,s,l=t._transitionData._frames,c=t._transitionData._frameHash;if(!Array.isArray(e))throw new Error(&quot;addFrames failure: frameList must be an Array of frame definitions&quot;+e);var u=l.length+2*e.length,f=[];for(i=e.length-1;i&gt;=0;i--)if(v.isPlainObject(e[i])){var h=(c[e[i].name]||{}).name,d=e[i].name;h&amp;&amp;d&amp;&amp;&quot;number&quot;==typeof d&amp;&amp;c[h]&amp;&amp;(n++,v.warn('addFrames: overwriting frame &quot;'+c[h].name+'&quot; with a frame whose name of type &quot;number&quot; also equates to &quot;'+h+'&quot;. This is valid but may potentially lead to unexpected behavior since all plotly.js frame names are stored internally as strings.'),n&gt;5&amp;&amp;v.warn(&quot;addFrames: This API call has yielded too many warnings. For the rest of this call, further warnings about numeric frame names will be suppressed.&quot;)),f.push({frame:w.supplyFrameDefaults(e[i]),index:r&amp;&amp;void 0!==r[i]&amp;&amp;null!==r[i]?r[i]:u+i})}f.sort(function(t,e){return t.index&gt;e.index?-1:t.index&lt;e.index?1:0});var p=[],m=[],g=l.length;for(i=f.length-1;i&gt;=0;i--){if(&quot;number&quot;==typeof(a=f[i].frame).name&amp;&amp;v.warn(&quot;Warning: addFrames accepts frames with numeric names, but the numbers areimplicitly cast to strings&quot;),!a.name)for(;c[a.name=&quot;frame &quot;+t._transitionData._counter++];);if(c[a.name]){for(o=0;o&lt;l.length&amp;&amp;(l[o]||{}).name!==a.name;o++);p.push({type:&quot;replace&quot;,index:o,value:a}),m.unshift({type:&quot;replace&quot;,index:o,value:l[o]})}else s=Math.max(0,Math.min(f[i].index,g)),p.push({type:&quot;insert&quot;,index:s,value:a}),m.unshift({type:&quot;delete&quot;,index:s}),g++}var y=w.modifyFrames,b=w.modifyFrames,_=[t,m],M=[t,p];return x&amp;&amp;x.add(t,y,_,b,M),w.modifyFrames(t,p)},g.deleteFrames=function(t,e){if(t=v.getGraphDiv(t),!v.isPlotDiv(t))throw new Error(&quot;This element is not a Plotly plot: &quot;+t);var r,n,i=t._transitionData._frames,a=[],o=[];if(!e)for(e=[],r=0;r&lt;i.length;r++)e.push(r);for((e=e.slice(0)).sort(),r=e.length-1;r&gt;=0;r--)n=e[r],a.push({type:&quot;delete&quot;,index:n}),o.unshift({type:&quot;insert&quot;,index:n,value:i[n]});var s=w.modifyFrames,l=w.modifyFrames,c=[t,o],u=[t,a];return x&amp;&amp;x.add(t,s,c,l,u),w.modifyFrames(t,a)},g.purge=function(t){var e=(t=v.getGraphDiv(t))._fullLayout||{},r=t._fullData||[];return w.cleanPlot([],{},r,e),w.purge(t),y.purge(t),e._container&amp;&amp;e._container.remove(),delete t._context,t}},{&quot;../components/color&quot;:618,&quot;../components/drawing&quot;:643,&quot;../components/errorbars&quot;:649,&quot;../constants/xmlns_namespaces&quot;:723,&quot;../lib&quot;:743,&quot;../lib/events&quot;:731,&quot;../lib/queue&quot;:757,&quot;../lib/svg_text_utils&quot;:766,&quot;../plotly&quot;:784,&quot;../plots/cartesian/axis_ids&quot;:792,&quot;../plots/cartesian/constants&quot;:794,&quot;../plots/cartesian/constraints&quot;:796,&quot;../plots/cartesian/graph_interact&quot;:798,&quot;../plots/plots&quot;:852,&quot;../plots/polar/legacy&quot;:860,&quot;../registry&quot;:873,&quot;./edit_types&quot;:773,&quot;./helpers&quot;:774,&quot;./manage_arrays&quot;:775,&quot;./plot_schema&quot;:778,&quot;./subroutines&quot;:781,d3:128,&quot;fast-isnumeric&quot;:140,&quot;has-hover&quot;:276}],777:[function(t,e,r){&quot;use strict&quot;;e.exports={staticPlot:!1,editable:!1,edits:{annotationPosition:!1,annotationTail:!1,annotationText:!1,axisTitleText:!1,colorbarPosition:!1,colorbarTitleText:!1,legendPosition:!1,legendText:!1,shapePosition:!1,titleText:!1},autosizable:!1,queueLength:0,fillFrame:!1,frameMargins:0,scrollZoom:!1,doubleClick:&quot;reset+autosize&quot;,showTips:!0,showAxisDragHandles:!0,showAxisRangeEntryBoxes:!0,showLink:!1,sendData:!0,linkText:&quot;Edit chart&quot;,showSources:!1,displayModeBar:&quot;hover&quot;,modeBarButtonsToRemove:[],modeBarButtonsToAdd:[],modeBarButtons:!1,displaylogo:!0,plotGlPixelRatio:2,setBackground:&quot;transparent&quot;,topojsonURL:&quot;https://cdn.plot.ly/&quot;,mapboxAccessToken:null,logging:1,globalTransforms:[],locale:&quot;en-US&quot;,locales:{}}},{}],778:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r){if(!t)return!1;if(t._isLinkedToArray)if(i(e[r]))r++;else if(r&lt;e.length)return!1;for(;r&lt;e.length;r++){var n=t[e[r]];if(!u.isPlainObject(n))break;if(t=n,r===e.length-1)break;if(t._isLinkedToArray){if(r++,!i(e[r]))return!1}else if(&quot;info_array&quot;===t.valType){var a=e[++r];if(!i(a)||a&gt;=t.items.length)return!1;t=t.items[a]}}return t}function i(t){return t===Math.round(t)&amp;&amp;t&gt;=0}function a(){var t,e,r={};x(r,h);for(t in c.subplotsRegistry)if((e=c.subplotsRegistry[t]).layoutAttributes)if(&quot;cartesian&quot;===e.name)s(r,e,&quot;xaxis&quot;),s(r,e,&quot;yaxis&quot;);else{s(r,e,&quot;subplot&quot;===e.attr?e.name:e.attr)}r=function(t){return y(t,{radialaxis:g.radialaxis,angularaxis:g.angularaxis}),y(t,g.layout),t}(r);for(t in c.componentsRegistry){var n=(e=c.componentsRegistry[t]).schema;if(n&amp;&amp;(n.subplots||n.layout)){var i=n.subplots;if(i&amp;&amp;i.xaxis&amp;&amp;!i.yaxis)for(var a in i.xaxis)delete r.yaxis[a]}else e.layoutAttributes&amp;&amp;l(r,e.layoutAttributes,e.name)}return{layoutAttributes:o(r)}}function o(t){return function(t){r.crawl(t,function(t,e,n){r.isValObject(t)?&quot;data_array&quot;===t.valType?(t.role=&quot;data&quot;,n[e+&quot;src&quot;]={valType:&quot;string&quot;,editType:&quot;none&quot;}):!0===t.arrayOk&amp;&amp;(n[e+&quot;src&quot;]={valType:&quot;string&quot;,editType:&quot;none&quot;}):u.isPlainObject(t)&amp;&amp;(t.role=&quot;object&quot;)})}(t),function(t){r.crawl(t,function(t,e,r){if(!t)return;var n=t[_];if(!n)return;delete t[_],r[e]={items:{}},r[e].items[n]=t,r[e].role=&quot;object&quot;})}(t),t}function s(t,e,r){var n=u.nestedProperty(t,r),i=x({},e.layoutAttributes);i[b]=!0,n.set(i)}function l(t,e,r){var n=u.nestedProperty(t,r);n.set(x(n.get()||{},e))}var c=t(&quot;../registry&quot;),u=t(&quot;../lib&quot;),f=t(&quot;../plots/attributes&quot;),h=t(&quot;../plots/layout_attributes&quot;),d=t(&quot;../plots/frame_attributes&quot;),p=t(&quot;../plots/animation_attributes&quot;),m=t(&quot;../plots/polar/legacy/area_attributes&quot;),g=t(&quot;../plots/polar/legacy/axis_attributes&quot;),v=t(&quot;./edit_types&quot;),y=u.extendFlat,x=u.extendDeepAll,b=&quot;_isSubplotObj&quot;,_=&quot;_isLinkedToArray&quot;,w=[b,_,&quot;_arrayAttrRegexps&quot;,&quot;_deprecated&quot;];r.IS_SUBPLOT_OBJ=b,r.IS_LINKED_TO_ARRAY=_,r.DEPRECATED=&quot;_deprecated&quot;,r.UNDERSCORE_ATTRS=w,r.get=function(){var t={};c.allTypes.concat(&quot;area&quot;).forEach(function(e){t[e]=function(t){var e,r;&quot;area&quot;===t?(e={attributes:m},r={}):r=(e=c.modules[t]._module).basePlotModule;var n={};n.type=null,x(n,f),x(n,e.attributes),r.attributes&amp;&amp;x(n,r.attributes),n.type=t;var i={meta:e.meta||{},attributes:o(n)};if(e.layoutAttributes){var a={};x(a,e.layoutAttributes),i.layoutAttributes=o(a)}return i}(e)});var e={};return Object.keys(c.transformsRegistry).forEach(function(t){e[t]=function(t){var e=c.transformsRegistry[t],r=x({},e.attributes);return Object.keys(c.componentsRegistry).forEach(function(e){var n=c.componentsRegistry[e];n.schema&amp;&amp;n.schema.transforms&amp;&amp;n.schema.transforms[t]&amp;&amp;Object.keys(n.schema.transforms[t]).forEach(function(e){l(r,n.schema.transforms[t][e],e)})}),{attributes:o(r)}}(t)}),{defs:{valObjects:u.valObjectMeta,metaKeys:w.concat([&quot;description&quot;,&quot;role&quot;,&quot;editType&quot;,&quot;impliedEdits&quot;]),editType:{traces:v.traces,layout:v.layout},impliedEdits:{}},traces:t,layout:a(),transforms:e,frames:function(){var t={frames:u.extendDeepAll({},d)};return o(t),t.frames}(),animation:o(p)}},r.crawl=function(t,e,n,i){var a=n||0;i=i||&quot;&quot;,Object.keys(t).forEach(function(n){var o=t[n];if(-1===w.indexOf(n)){var s=(i?i+&quot;.&quot;:&quot;&quot;)+n;e(o,n,t,a,s),r.isValObject(o)||u.isPlainObject(o)&amp;&amp;&quot;impliedEdits&quot;!==n&amp;&amp;r.crawl(o,e,a+1,s)}})},r.isValObject=function(t){return t&amp;&amp;void 0!==t.valType},r.findArrayAttributes=function(t){function e(e,r,a,o){i=i.slice(0,o).concat([r]);if(e&amp;&amp;(&quot;data_array&quot;===e.valType||!0===e.arrayOk)&amp;&amp;!(&quot;colorbar&quot;===i[o-1]&amp;&amp;(&quot;ticktext&quot;===r||&quot;tickvals&quot;===r))){var s=function(t){return t.join(&quot;.&quot;)}(i),l=u.nestedProperty(t,s).get();Array.isArray(l)&amp;&amp;n.push(s)}}var n=[],i=[];if(r.crawl(f,e),t._module&amp;&amp;t._module.attributes&amp;&amp;r.crawl(t._module.attributes,e),t.transforms)for(var a=t.transforms,o=0;o&lt;a.length;o++){var s=a[o]._module;s&amp;&amp;(i=[&quot;transforms[&quot;+o+&quot;]&quot;],r.crawl(s.attributes,e,1))}return t._fullInput&amp;&amp;t._fullInput._module&amp;&amp;t._fullInput._module.attributes&amp;&amp;(r.crawl(t._fullInput._module.attributes,e),n=u.filterUnique(n)),n},r.getTraceValObject=function(t,e){var r,a,o=e[0],s=1;if(&quot;transforms&quot;===o){if(!Array.isArray(t.transforms))return!1;var l=e[1];if(!i(l)||l&gt;=t.transforms.length)return!1;a=(r=(c.transformsRegistry[t.transforms[l].type]||{}).attributes)&amp;&amp;r[e[2]],s=3}else if(&quot;area&quot;===t.type)a=m[o];else{var u=t._module;if(u||(u=(c.modules[t.type||f.type.dflt]||{})._module),!u)return!1;if(r=u.attributes,!(a=r&amp;&amp;r[o])){var h=u.basePlotModule;h&amp;&amp;h.attributes&amp;&amp;(a=h.attributes[o])}a||(a=f[o])}return n(a,e,s)},r.getLayoutValObject=function(t,e){return n(function(t,e){var r,n,i,a,o=t._basePlotModules;if(o){var s;for(r=0;r&lt;o.length;r++){if((i=o[r]).attrRegex&amp;&amp;i.attrRegex.test(e)){if(i.layoutAttrOverrides)return i.layoutAttrOverrides;!s&amp;&amp;i.layoutAttributes&amp;&amp;(s=i.layoutAttributes)}var l=i.baseLayoutAttrOverrides;if(l&amp;&amp;e in l)return l[e]}if(s)return s}var u=t._modules;if(u)for(r=0;r&lt;u.length;r++)if((a=u[r].layoutAttributes)&amp;&amp;e in a)return a[e];for(n in c.componentsRegistry)if(!(i=c.componentsRegistry[n]).schema&amp;&amp;e===i.name)return i.layoutAttributes;return e in h?h[e]:&quot;radialaxis&quot;===e||&quot;angularaxis&quot;===e?g[e]:g.layout[e]||!1}(t,e[0]),e,1)}},{&quot;../lib&quot;:743,&quot;../plots/animation_attributes&quot;:785,&quot;../plots/attributes&quot;:787,&quot;../plots/frame_attributes&quot;:817,&quot;../plots/layout_attributes&quot;:843,&quot;../plots/polar/legacy/area_attributes&quot;:858,&quot;../plots/polar/legacy/axis_attributes&quot;:859,&quot;../registry&quot;:873,&quot;./edit_types&quot;:773}],779:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../registry&quot;),i=t(&quot;../lib&quot;);e.exports=function(t){if(!t)throw new Error(&quot;No argument passed to Plotly.register.&quot;);t&amp;&amp;!Array.isArray(t)&amp;&amp;(t=[t]);for(var e=0;e&lt;t.length;e++){var r=t[e];if(!r)throw new Error(&quot;Invalid module was attempted to be registered!&quot;);switch(r.moduleType){case&quot;trace&quot;:!function(t){n.register(t,t.name,t.categories,t.meta),n.subplotsRegistry[t.basePlotModule.name]||n.registerSubplot(t.basePlotModule)}(r);break;case&quot;transform&quot;:!function(t){if(&quot;string&quot;!=typeof t.name)throw new Error(&quot;Transform module *name* must be a string.&quot;);var e=&quot;Transform module &quot;+t.name,r=&quot;function&quot;==typeof t.transform,a=&quot;function&quot;==typeof t.calcTransform;if(!r&amp;&amp;!a)throw new Error(e+&quot; is missing a *transform* or *calcTransform* method.&quot;);r&amp;&amp;a&amp;&amp;i.log([e+&quot; has both a *transform* and *calcTransform* methods.&quot;,&quot;Please note that all *transform* methods are executed&quot;,&quot;before all *calcTransform* methods.&quot;].join(&quot; &quot;)),i.isPlainObject(t.attributes)||i.log(e+&quot; registered without an *attributes* object.&quot;),&quot;function&quot;!=typeof t.supplyDefaults&amp;&amp;i.log(e+&quot; registered without a *supplyDefaults* method.&quot;),n.registerTransform(t)}(r);break;case&quot;component&quot;:!function(t){if(&quot;string&quot;!=typeof t.name)throw new Error(&quot;Component module *name* must be a string.&quot;);n.registerComponent(t)}(r);break;case&quot;locale&quot;:n.registerLocale(r);break;default:throw new Error(&quot;Invalid module was attempted to be registered!&quot;)}}}},{&quot;../lib&quot;:743,&quot;../registry&quot;:873}],780:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../plotly&quot;),i=t(&quot;../lib&quot;);e.exports=function(t){return i.extendFlat(n.defaultConfig,t)}},{&quot;../lib&quot;:743,&quot;../plotly&quot;:784}],781:[function(t,e,r){&quot;use strict&quot;;function n(t,e){return(t.ticks||t.showline)&amp;&amp;(e===t._mainSubplot||&quot;all&quot;===t.mirror||&quot;allticks&quot;===t.mirror)}function i(t,e,r){if(!r.showline||!r._lw)return!1;if(&quot;all&quot;===r.mirror||&quot;allticks&quot;===r.mirror)return!0;var n=r._anchorAxis;if(!n)return!1;var i=v.FROM_BL[e];return r.side===e?n.domain[i]===t.domain[i]:r.mirror&amp;&amp;n.domain[1-i]===t.domain[1-i]}function a(t,e,r,n){if(i(t,e,r))return r._lw;for(var a=0;a&lt;n.length;a++){var o=n[a];if(o._mainAxis===r._mainAxis&amp;&amp;i(t,e,o))return o._lw}return 0}var o=t(&quot;d3&quot;),s=t(&quot;../plotly&quot;),l=t(&quot;../registry&quot;),c=t(&quot;../plots/plots&quot;),u=t(&quot;../lib&quot;),f=t(&quot;../components/color&quot;),h=t(&quot;../components/drawing&quot;),d=t(&quot;../components/titles&quot;),p=t(&quot;../components/modebar&quot;),m=t(&quot;../plots/cartesian/graph_interact&quot;),g=t(&quot;../plots/cartesian/constants&quot;),v=t(&quot;../constants/alignment&quot;);r.layoutStyles=function(t){return u.syncOrAsync([c.doAutoMargin,r.lsInner],t)},r.lsInner=function(t){function e(t,e,r){var n=t._lw/2;return&quot;x&quot;===t._id.charAt(0)?e?&quot;top&quot;===r?e._offset-u-n:e._offset+e._length+u+n:c.t+c.h*(1-(t.position||0))+n%1:e?&quot;right&quot;===r?e._offset+e._length+u+n:e._offset-u-n:c.l+c.w*(t.position||0)+n%1}var i,l=t._fullLayout,c=l._size,u=c.p,d=s.Axes.list(t),m=l._has(&quot;cartesian&quot;);for(i=0;i&lt;d.length;i++){var y=d[i];y.setScale();var x=y._anchorAxis;y._linepositions={},y._lw=h.crispRound(t,y.linewidth,1),y._mainLinePosition=e(y,x,y.side),y._mainMirrorPosition=y.mirror&amp;&amp;x?e(y,x,v.OPPOSITE_SIDE[y.side]):null}l._paperdiv.style({width:l.width+&quot;px&quot;,height:l.height+&quot;px&quot;}).selectAll(&quot;.main-svg&quot;).call(h.setSize,l.width,l.height),t._context.setBackground(t,l.paper_bgcolor);var b=l._paper.selectAll(&quot;g.subplot&quot;),_=[],w=[];b.each(function(t){var e=l._plots[t];if(e.mainplot)return e.bg&amp;&amp;e.bg.remove(),void(e.bg=void 0);var r=e.xaxis.domain,n=e.yaxis.domain,i=[];!function(t,e,r){for(var n=0;n&lt;r.length;n++){var i=r[n][0],a=r[n][1];if(!(i[0]&gt;=t[1]||i[1]&lt;=t[0])&amp;&amp;a[0]&lt;e[1]&amp;&amp;a[1]&gt;e[0])return!0}return!1}(r,n,w)?(_.push(t),w.push([r,n])):i=[0];var a=e.plotgroup.selectAll(&quot;.bg&quot;).data(i);a.enter().append(&quot;rect&quot;).classed(&quot;bg&quot;,!0),a.exit().remove(),a.each(function(){e.bg=a;var t=e.plotgroup.node();t.insertBefore(this,t.childNodes[0])})});var M=l._bgLayer.selectAll(&quot;.bg&quot;).data(_);return M.enter().append(&quot;rect&quot;).classed(&quot;bg&quot;,!0),M.exit().remove(),M.each(function(t){l._plots[t].bg=o.select(this)}),b.each(function(t){function r(t){return&quot;M&quot;+k+&quot;,&quot;+t+&quot;H&quot;+A}function o(t){return&quot;M&quot;+y._offset+&quot;,&quot;+t+&quot;h&quot;+y._length}function s(t){return&quot;M&quot;+t+&quot;,&quot;+z+&quot;V&quot;+C}function c(t){return&quot;M&quot;+t+&quot;,&quot;+x._offset+&quot;v&quot;+x._length}function p(e,r,n){if(!e.showline||t!==e._mainSubplot)return&quot;&quot;;if(!e._anchorAxis)return n(e._mainLinePosition);var i=r(e._mainLinePosition);return e.mirror&amp;&amp;(i+=r(e._mainMirrorPosition)),i}var v=l._plots[t],y=v.xaxis,x=v.yaxis;v.bg&amp;&amp;m&amp;&amp;v.bg.call(h.setRect,y._offset-u,x._offset-u,y._length+2*u,x._length+2*u).call(f.fill,l.plot_bgcolor).style(&quot;stroke-width&quot;,0),v.clipId=&quot;clip&quot;+l._uid+t+&quot;plot&quot;;var b=l._clips.selectAll(&quot;#&quot;+v.clipId).data([0]);b.enter().append(&quot;clipPath&quot;).attr({class:&quot;plotclip&quot;,id:v.clipId}).append(&quot;rect&quot;),b.selectAll(&quot;rect&quot;).attr({width:y._length,height:x._length}),h.setTranslate(v.plot,y._offset,x._offset);var _,w;for(v._hasClipOnAxisFalse?(_=null,w=v.clipId):(_=v.clipId,w=null),h.setClipUrl(v.plot,_),i=0;i&lt;g.traceLayerClasses.length;i++){var M=g.traceLayerClasses[i];&quot;scatterlayer&quot;!==M&amp;&amp;v.plot.selectAll(&quot;g.&quot;+M).call(h.setClipUrl,w)}if(v.layerClipId=w,m){var k,A,T,S,E,L,C,z,D,I,P,O,F;if(n(y,t)){E=a(y,&quot;left&quot;,x,d),k=y._offset-(E?u+E:0),L=a(y,&quot;right&quot;,x,d),A=y._offset+y._length+(L?u+L:0),T=e(y,x,&quot;bottom&quot;),S=e(y,x,&quot;top&quot;),(F=!y._anchorAxis||t!==y._mainSubplot)&amp;&amp;y.ticks&amp;&amp;&quot;allticks&quot;===y.mirror&amp;&amp;(y._linepositions[t]=[T,S]);var R=p(y,r,o);F&amp;&amp;y.showline&amp;&amp;(&quot;all&quot;===y.mirror||&quot;allticks&quot;===y.mirror)&amp;&amp;(R+=r(T)+r(S)),v.xlines.attr(&quot;d&quot;,R||&quot;M0,0&quot;).style(&quot;stroke-width&quot;,y._lw+&quot;px&quot;).call(f.stroke,y.showline?y.linecolor:&quot;rgba(0,0,0,0)&quot;)}if(n(x,t)){P=a(x,&quot;bottom&quot;,y,d),C=x._offset+x._length+(P?u:0),O=a(x,&quot;top&quot;,y,d),z=x._offset-(O?u:0),D=e(x,y,&quot;left&quot;),I=e(x,y,&quot;right&quot;),(F=!x._anchorAxis||t!==y._mainSubplot)&amp;&amp;x.ticks&amp;&amp;&quot;allticks&quot;===x.mirror&amp;&amp;(x._linepositions[t]=[D,I]);var N=p(x,s,c);F&amp;&amp;x.showline&amp;&amp;(&quot;all&quot;===x.mirror||&quot;allticks&quot;===x.mirror)&amp;&amp;(N+=s(D)+s(I)),v.ylines.attr(&quot;d&quot;,N||&quot;M0,0&quot;).style(&quot;stroke-width&quot;,x._lw+&quot;px&quot;).call(f.stroke,x.showline?x.linecolor:&quot;rgba(0,0,0,0)&quot;)}}}),s.Axes.makeClipPaths(t),r.drawMainTitle(t),p.manage(t),t._promises.length&amp;&amp;Promise.all(t._promises)},r.drawMainTitle=function(t){var e=t._fullLayout;d.draw(t,&quot;gtitle&quot;,{propContainer:e,propName:&quot;title&quot;,placeholder:e._dfltTitle.plot,attributes:{x:e.width/2,y:e._size.t/2,&quot;text-anchor&quot;:&quot;middle&quot;}})},r.doTraceStyle=function(t){for(var e=0;e&lt;t.calcdata.length;e++){var r=t.calcdata[e],n=(((r[0]||{}).trace||{})._module||{}).arraysToCalcdata;n&amp;&amp;n(r,r[0].trace)}return c.style(t),l.getComponentMethod(&quot;legend&quot;,&quot;draw&quot;)(t),c.previousPromises(t)},r.doColorBars=function(t){for(var e=0;e&lt;t.calcdata.length;e++){var r=t.calcdata[e][0];if((r.t||{}).cb){var n=r.trace,i=r.t.cb;l.traceIs(n,&quot;contour&quot;)&amp;&amp;i.line({width:!1!==n.contours.showlines?n.line.width:0,dash:n.line.dash,color:&quot;line&quot;===n.contours.coloring?i._opts.line.color:n.line.color}),l.traceIs(n,&quot;markerColorscale&quot;)?i.options(n.marker.colorbar)():i.options(n.colorbar)()}}return c.previousPromises(t)},r.layoutReplot=function(t){var e=t.layout;return t.layout=void 0,s.plot(t,&quot;&quot;,e)},r.doLegend=function(t){return l.getComponentMethod(&quot;legend&quot;,&quot;draw&quot;)(t),c.previousPromises(t)},r.doTicksRelayout=function(t){return s.Axes.doTicks(t,&quot;redraw&quot;),r.drawMainTitle(t),c.previousPromises(t)},r.doModeBar=function(t){var e=t._fullLayout;p.manage(t),m(t);for(var r=0;r&lt;e._basePlotModules.length;r++){var n=e._basePlotModules[r].updateFx;n&amp;&amp;n(e)}return c.previousPromises(t)},r.doCamera=function(t){for(var e=t._fullLayout,r=e._subplots.gl3d,n=0;n&lt;r.length;n++){var i=e[r[n]];i._scene.setCamera(i.camera)}}},{&quot;../components/color&quot;:618,&quot;../components/drawing&quot;:643,&quot;../components/modebar&quot;:680,&quot;../components/titles&quot;:709,&quot;../constants/alignment&quot;:716,&quot;../lib&quot;:743,&quot;../plotly&quot;:784,&quot;../plots/cartesian/constants&quot;:794,&quot;../plots/cartesian/graph_interact&quot;:798,&quot;../plots/plots&quot;:852,&quot;../registry&quot;:873,d3:128}],782:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../plotly&quot;),i=t(&quot;../lib&quot;),a=t(&quot;../snapshot/helpers&quot;),o=t(&quot;../snapshot/tosvg&quot;),s=t(&quot;../snapshot/svgtoimg&quot;),l={format:{valType:&quot;enumerated&quot;,values:[&quot;png&quot;,&quot;jpeg&quot;,&quot;webp&quot;,&quot;svg&quot;],dflt:&quot;png&quot;},width:{valType:&quot;number&quot;,min:1},height:{valType:&quot;number&quot;,min:1},scale:{valType:&quot;number&quot;,min:0,dflt:1},setBackground:{valType:&quot;any&quot;,dflt:!1},imageDataOnly:{valType:&quot;boolean&quot;,dflt:!1}},c=/^data:image\/\w+;base64,/;e.exports=function(t,e){function r(t){return!(t in e)||i.validate(e[t],l[t])}function u(t,r){return i.coerce(e,g,l,t,r)}function f(){return new Promise(function(t){setTimeout(t,a.getDelay(M._fullLayout))})}function h(){return new Promise(function(t,e){var r=o(M,v,b),a=M._fullLayout.width,l=M._fullLayout.height;if(n.purge(M),document.body.removeChild(M),&quot;svg&quot;===v)return t(w?r:&quot;data:image/svg+xml,&quot;+encodeURIComponent(r));var c=document.createElement(&quot;canvas&quot;);c.id=i.randstr(),s({format:v,width:a,height:l,scale:b,canvas:c,svg:r,promise:!0}).then(t).catch(e)})}e=e||{};var d,p,m;if(i.isPlainObject(t)?(d=t.data||[],p=t.layout||{},m=t.config||{}):(t=i.getGraphDiv(t),d=i.extendDeep([],t.data),p=i.extendDeep({},t.layout),m=t._context),!r(&quot;width&quot;)||!r(&quot;height&quot;))throw new Error(&quot;Height and width should be pixel values.&quot;);if(!r(&quot;format&quot;))throw new Error(&quot;Image format is not jpeg, png, svg or webp.&quot;);var g={},v=u(&quot;format&quot;),y=u(&quot;width&quot;),x=u(&quot;height&quot;),b=u(&quot;scale&quot;),_=u(&quot;setBackground&quot;),w=u(&quot;imageDataOnly&quot;),M=document.createElement(&quot;div&quot;);M.style.position=&quot;absolute&quot;,M.style.left=&quot;-5000px&quot;,document.body.appendChild(M);var k=i.extendFlat({},p);y&amp;&amp;(k.width=y),x&amp;&amp;(k.height=x);var A=i.extendFlat({},m,{staticPlot:!0,setBackground:_}),T=a.getRedrawFunc(M);return new Promise(function(t,e){n.plot(M,d,k,A).then(T).then(f).then(h).then(function(e){t(function(t){return w?t.replace(c,&quot;&quot;):t}(e))}).catch(function(t){e(t)})})}},{&quot;../lib&quot;:743,&quot;../plotly&quot;:784,&quot;../snapshot/helpers&quot;:877,&quot;../snapshot/svgtoimg&quot;:879,&quot;../snapshot/tosvg&quot;:881}],783:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,i,l,c){c=c||[];for(var u=Object.keys(t),d=0;d&lt;u.length;d++){var p=u[d];if(&quot;transforms&quot;!==p){var m=c.slice();m.push(p);var g=t[p],v=e[p],y=function(t,e){var r=o(e);return t[r.keyMinusId]}(r,p),x=&quot;info_array&quot;===(y||{}).valType,b=&quot;colorscale&quot;===(y||{}).valType;if(function(t,e){var r=o(e),n=r.keyMinusId,i=r.id;if(n in t&amp;&amp;t[n]._isSubplotObj&amp;&amp;i)return!0;return e in t}(r,p))if(f(g)&amp;&amp;f(v))n(g,v,y,i,l,m);else if(y.items&amp;&amp;!x&amp;&amp;h(g)){var _,w,M=y.items,k=M[Object.keys(M)[0]],A=[];for(_=0;_&lt;v.length;_++){var T=v[_]._index||_;(w=m.slice()).push(T),f(g[T])&amp;&amp;f(v[_])&amp;&amp;(A.push(T),n(g[T],v[_],k,i,l,w))}for(_=0;_&lt;g.length;_++)(w=m.slice()).push(_),f(g[_])?-1===A.indexOf(_)&amp;&amp;i.push(a(&quot;unused&quot;,l,w)):i.push(a(&quot;object&quot;,l,w,g[_]))}else!f(g)&amp;&amp;f(v)?i.push(a(&quot;object&quot;,l,m,g)):h(g)||!h(v)||x||b?p in e?s.validate(g,y)?&quot;enumerated&quot;===y.valType&amp;&amp;(y.coerceNumber&amp;&amp;g!==+v||g!==v)&amp;&amp;i.push(a(&quot;dynamic&quot;,l,m,g,v)):i.push(a(&quot;value&quot;,l,m,g)):i.push(a(&quot;unused&quot;,l,m,g)):i.push(a(&quot;array&quot;,l,m,g));else i.push(a(&quot;schema&quot;,l,m))}}return i}function i(t){return h(t)?&quot;In data trace &quot;+t[1]+&quot;, &quot;:&quot;In &quot;+t+&quot;, &quot;}function a(t,e,r,n,i){r=r||&quot;&quot;;var a,o;h(e)?(a=e[0],o=e[1]):(a=e,o=null);var l=function(t){if(!h(t))return String(t);for(var e=&quot;&quot;,r=0;r&lt;t.length;r++){var n=t[r];&quot;number&quot;==typeof n?e=e.substr(0,e.length-1)+&quot;[&quot;+n+&quot;]&quot;:e+=n,r&lt;t.length-1&amp;&amp;(e+=&quot;.&quot;)}return e}(r),c=d[t](e,l,n,i);return s.log(c),{code:t,container:a,trace:o,path:r,astr:l,msg:c}}function o(t){var e=t.match(p);return{keyMinusId:e&amp;&amp;e[1],id:e&amp;&amp;e[2]}}var s=t(&quot;../lib&quot;),l=t(&quot;../plots/plots&quot;),c=t(&quot;./plot_schema&quot;),u=t(&quot;./plot_config&quot;),f=s.isPlainObject,h=Array.isArray;e.exports=function(t,e){var r,i,o=c.get(),d=[],p={_context:s.extendFlat({},u)};h(t)?(p.data=s.extendDeep([],t),r=t):(p.data=[],r=[],d.push(a(&quot;array&quot;,&quot;data&quot;))),f(e)?(p.layout=s.extendDeep({},e),i=e):(p.layout={},i={},arguments.length&gt;1&amp;&amp;d.push(a(&quot;object&quot;,&quot;layout&quot;))),l.supplyDefaults(p);for(var m=p._fullData,g=r.length,v=0;v&lt;g;v++){var y=r[v],x=[&quot;data&quot;,v];if(f(y)){var b=m[v],_=b.type,w=o.traces[_].attributes;w.type={valType:&quot;enumerated&quot;,values:[_]},!1===b.visible&amp;&amp;!1!==y.visible&amp;&amp;d.push(a(&quot;invisible&quot;,x)),n(y,b,w,d,x);var M=y.transforms,k=b.transforms;if(M){h(M)||d.push(a(&quot;array&quot;,x,[&quot;transforms&quot;])),x.push(&quot;transforms&quot;);for(var A=0;A&lt;M.length;A++){var T=[&quot;transforms&quot;,A],S=M[A].type;if(f(M[A])){var E=o.transforms[S]?o.transforms[S].attributes:{};E.type={valType:&quot;enumerated&quot;,values:Object.keys(o.transforms)},n(M[A],k[A],E,d,x,T)}else d.push(a(&quot;object&quot;,x,T))}}}else d.push(a(&quot;object&quot;,x))}return n(i,p._fullLayout,function(t,e){for(var r=0;r&lt;e.length;r++){var n=e[r].type,i=t.traces[n].layoutAttributes;i&amp;&amp;s.extendFlat(t.layout.layoutAttributes,i)}return t.layout.layoutAttributes}(o,m),d,&quot;layout&quot;),0===d.length?void 0:d};var d={object:function(t,e){return(&quot;layout&quot;===t&amp;&amp;&quot;&quot;===e?&quot;The layout argument&quot;:&quot;data&quot;===t[0]&amp;&amp;&quot;&quot;===e?&quot;Trace &quot;+t[1]+&quot; in the data argument&quot;:i(t)+&quot;key &quot;+e)+&quot; must be linked to an object container&quot;},array:function(t,e){return(&quot;data&quot;===t?&quot;The data argument&quot;:i(t)+&quot;key &quot;+e)+&quot; must be linked to an array container&quot;},schema:function(t,e){return i(t)+&quot;key &quot;+e+&quot; is not part of the schema&quot;},unused:function(t,e,r){var n=f(r)?&quot;container&quot;:&quot;key&quot;;return i(t)+n+&quot; &quot;+e+&quot; did not get coerced&quot;},dynamic:function(t,e,r,n){return[i(t)+&quot;key&quot;,e,&quot;(set to '&quot;+r+&quot;')&quot;,&quot;got reset to&quot;,&quot;'&quot;+n+&quot;'&quot;,&quot;during defaults.&quot;].join(&quot; &quot;)},invisible:function(t){return&quot;Trace &quot;+t[1]+&quot; got defaulted to be not visible&quot;},value:function(t,e,r){return[i(t)+&quot;key &quot;+e,&quot;is set to an invalid value (&quot;+r+&quot;)&quot;].join(&quot; &quot;)}},p=s.counterRegex(&quot;([a-z]+)&quot;)},{&quot;../lib&quot;:743,&quot;../plots/plots&quot;:852,&quot;./plot_config&quot;:777,&quot;./plot_schema&quot;:778}],784:[function(t,e,r){&quot;use strict&quot;;r.defaultConfig=t(&quot;./plot_api/plot_config&quot;),r.Plots=t(&quot;./plots/plots&quot;),r.Axes=t(&quot;./plots/cartesian/axes&quot;),r.ModeBar=t(&quot;./components/modebar&quot;),t(&quot;./plot_api/plot_api&quot;)},{&quot;./components/modebar&quot;:680,&quot;./plot_api/plot_api&quot;:776,&quot;./plot_api/plot_config&quot;:777,&quot;./plots/cartesian/axes&quot;:789,&quot;./plots/plots&quot;:852}],785:[function(t,e,r){&quot;use strict&quot;;e.exports={mode:{valType:&quot;enumerated&quot;,dflt:&quot;afterall&quot;,values:[&quot;immediate&quot;,&quot;next&quot;,&quot;afterall&quot;]},direction:{valType:&quot;enumerated&quot;,values:[&quot;forward&quot;,&quot;reverse&quot;],dflt:&quot;forward&quot;},fromcurrent:{valType:&quot;boolean&quot;,dflt:!1},frame:{duration:{valType:&quot;number&quot;,min:0,dflt:500},redraw:{valType:&quot;boolean&quot;,dflt:!0}},transition:{duration:{valType:&quot;number&quot;,min:0,dflt:500},easing:{valType:&quot;enumerated&quot;,dflt:&quot;cubic-in-out&quot;,values:[&quot;linear&quot;,&quot;quad&quot;,&quot;cubic&quot;,&quot;sin&quot;,&quot;exp&quot;,&quot;circle&quot;,&quot;elastic&quot;,&quot;back&quot;,&quot;bounce&quot;,&quot;linear-in&quot;,&quot;quad-in&quot;,&quot;cubic-in&quot;,&quot;sin-in&quot;,&quot;exp-in&quot;,&quot;circle-in&quot;,&quot;elastic-in&quot;,&quot;back-in&quot;,&quot;bounce-in&quot;,&quot;linear-out&quot;,&quot;quad-out&quot;,&quot;cubic-out&quot;,&quot;sin-out&quot;,&quot;exp-out&quot;,&quot;circle-out&quot;,&quot;elastic-out&quot;,&quot;back-out&quot;,&quot;bounce-out&quot;,&quot;linear-in-out&quot;,&quot;quad-in-out&quot;,&quot;cubic-in-out&quot;,&quot;sin-in-out&quot;,&quot;exp-in-out&quot;,&quot;circle-in-out&quot;,&quot;elastic-in-out&quot;,&quot;back-in-out&quot;,&quot;bounce-in-out&quot;]}}}},{}],786:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../lib&quot;);e.exports=function(t,e,r){var i,a=r.name,o=e[a],s=n.isArray(t[a])?t[a]:[],l=e[a]=[];for(i=0;i&lt;s.length;i++){var c=s[i],u={},f={};n.isPlainObject(c)||(f.itemIsNotPlainObject=!0,c={}),r.handleItemDefaults(c,u,e,r,f),u._input=c,u._index=i,l.push(u)}if(n.isArray(o)){var h=Math.min(o.length,l.length);for(i=0;i&lt;h;i++)n.relinkPrivateKeys(l[i],o[i])}}},{&quot;../lib&quot;:743}],787:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../components/fx/attributes&quot;);e.exports={type:{valType:&quot;enumerated&quot;,values:[],dflt:&quot;scatter&quot;,editType:&quot;calc+clearAxisTypes&quot;},visible:{valType:&quot;enumerated&quot;,values:[!0,!1,&quot;legendonly&quot;],dflt:!0,editType:&quot;calc&quot;},showlegend:{valType:&quot;boolean&quot;,dflt:!0,editType:&quot;style&quot;},legendgroup:{valType:&quot;string&quot;,dflt:&quot;&quot;,editType:&quot;style&quot;},opacity:{valType:&quot;number&quot;,min:0,max:1,dflt:1,editType:&quot;style&quot;},name:{valType:&quot;string&quot;,editType:&quot;style&quot;},uid:{valType:&quot;string&quot;,dflt:&quot;&quot;,editType:&quot;calc&quot;},ids:{valType:&quot;data_array&quot;,editType:&quot;calc&quot;},customdata:{valType:&quot;data_array&quot;,editType:&quot;calc&quot;},selectedpoints:{valType:&quot;any&quot;,editType:&quot;calc&quot;},hoverinfo:{valType:&quot;flaglist&quot;,flags:[&quot;x&quot;,&quot;y&quot;,&quot;z&quot;,&quot;text&quot;,&quot;name&quot;],extras:[&quot;all&quot;,&quot;none&quot;,&quot;skip&quot;],arrayOk:!0,dflt:&quot;all&quot;,editType:&quot;none&quot;},hoverlabel:n.hoverlabel,stream:{token:{valType:&quot;string&quot;,noBlank:!0,strict:!0,editType:&quot;calc&quot;},maxpoints:{valType:&quot;number&quot;,min:0,max:1e4,dflt:500,editType:&quot;calc&quot;},editType:&quot;calc&quot;}}},{&quot;../components/fx/attributes&quot;:652}],788:[function(t,e,r){&quot;use strict&quot;;e.exports={xaxis:{valType:&quot;subplotid&quot;,dflt:&quot;x&quot;,editType:&quot;calc+clearAxisTypes&quot;},yaxis:{valType:&quot;subplotid&quot;,dflt:&quot;y&quot;,editType:&quot;calc+clearAxisTypes&quot;}}},{}],789:[function(t,e,r){&quot;use strict&quot;;function n(t){return+t}function i(t){return String(t)}function a(t,e,r){return e*v.roundUp(t/e,r)}function o(t){var e=t.dtick;if(t._tickexponent=0,m(e)||&quot;string&quot;==typeof e||(e=1),&quot;category&quot;===t.type&amp;&amp;(t._tickround=null),&quot;date&quot;===t.type){var r=t.r2l(t.tick0),n=t.l2r(r).replace(/(^-|i)/g,&quot;&quot;),i=n.length;if(&quot;M&quot;===String(e).charAt(0))i&gt;10||&quot;01-01&quot;!==n.substr(5)?t._tickround=&quot;d&quot;:t._tickround=+e.substr(1)%12==0?&quot;y&quot;:&quot;m&quot;;else if(e&gt;=T&amp;&amp;i&lt;=10||e&gt;=15*T)t._tickround=&quot;d&quot;;else if(e&gt;=E&amp;&amp;i&lt;=16||e&gt;=S)t._tickround=&quot;M&quot;;else if(e&gt;=L&amp;&amp;i&lt;=19||e&gt;=E)t._tickround=&quot;S&quot;;else{var a=t.l2r(r+e).replace(/^-/,&quot;&quot;).length;t._tickround=Math.max(i,a)-20}}else if(m(e)||&quot;L&quot;===e.charAt(0)){var o=t.range.map(t.r2d||Number);m(e)||(e=Number(e.substr(1))),t._tickround=2-Math.floor(Math.log(e)/Math.LN10+.01);var s=Math.max(Math.abs(o[0]),Math.abs(o[1])),l=Math.floor(Math.log(s)/Math.LN10+.01);Math.abs(l)&gt;3&amp;&amp;(c(t.exponentformat)&amp;&amp;!u(l)?t._tickexponent=3*Math.round((l-1)/3):t._tickexponent=l)}else t._tickround=null}function s(t,e,r){var n=t.tickfont||{};return{x:e,dx:0,dy:0,text:r||&quot;&quot;,fontSize:n.size,font:n.family,fontColor:n.color}}function l(t,e,r,n,i){if(&quot;radians&quot;!==t.thetaunit||r)e.text=f(e.x,t,i,n);else{var a=e.x/180;if(0===a)e.text=&quot;0&quot;;else{var o=function(t){function e(t,e){return Math.abs(t-e)&lt;=1e-6}function r(t,n){return e(n,0)?t:r(n,t%n)}var n=function(t){var r=1;for(;!e(Math.round(t*r)/r,t);)r*=10;return r}(t),i=t*n,a=Math.abs(r(i,n));return[Math.round(i/a),Math.round(n/a)]}(a);if(o[1]&gt;=100)e.text=f(v.deg2rad(e.x),t,i,n);else{var s=e.x&lt;0;1===o[1]?1===o[0]?e.text=&quot;\u03c0&quot;:e.text=o[0]+&quot;\u03c0&quot;:e.text=[&quot;&lt;sup&gt;&quot;,o[0],&quot;&lt;/sup&gt;&quot;,&quot;\u2044&quot;,&quot;&lt;sub&gt;&quot;,o[1],&quot;&lt;/sub&gt;&quot;,&quot;\u03c0&quot;].join(&quot;&quot;),s&amp;&amp;(e.text=C+e.text)}}}}function c(t){return&quot;SI&quot;===t||&quot;B&quot;===t}function u(t){return t&gt;14||t&lt;-15}function f(t,e,r,n){var i=t&lt;0,a=e._tickround,s=r||e.exponentformat||&quot;B&quot;,l=e._tickexponent,f=I.getTickFormat(e),h=e.separatethousands;if(n){var d={exponentformat:e.exponentformat,dtick:&quot;none&quot;===e.showexponent?e.dtick:m(t)?Math.abs(t)||1:1,range:&quot;none&quot;===e.showexponent?e.range.map(e.r2d):[0,t||1]};o(d),a=(Number(d._tickround)||0)+4,l=d._tickexponent,e.hoverformat&amp;&amp;(f=e.hoverformat)}if(f)return e._numFormat(f)(t).replace(/-/g,C);var p=Math.pow(10,-a)/2;if(&quot;none&quot;===s&amp;&amp;(l=0),(t=Math.abs(t))&lt;p)t=&quot;0&quot;,i=!1;else{if(t+=p,l&amp;&amp;(t*=Math.pow(10,-l),a+=l),0===a)t=String(Math.floor(t));else if(a&lt;0){t=(t=String(Math.round(t))).substr(0,t.length+a);for(var g=a;g&lt;0;g++)t+=&quot;0&quot;}else{var y=(t=String(t)).indexOf(&quot;.&quot;)+1;y&amp;&amp;(t=t.substr(0,y+a).replace(/\.?0+$/,&quot;&quot;))}t=v.numSeparate(t,e._separators,h)}if(l&amp;&amp;&quot;hide&quot;!==s){c(s)&amp;&amp;u(l)&amp;&amp;(s=&quot;power&quot;);var x;x=l&lt;0?C+-l:&quot;power&quot;!==s?&quot;+&quot;+l:String(l),&quot;e&quot;===s?t+=&quot;e&quot;+x:&quot;E&quot;===s?t+=&quot;E&quot;+x:&quot;power&quot;===s?t+=&quot;\xd710&lt;sup&gt;&quot;+x+&quot;&lt;/sup&gt;&quot;:&quot;B&quot;===s&amp;&amp;9===l?t+=&quot;B&quot;:c(s)&amp;&amp;(t+=H[l/3+5])}return i?C+t:t}function h(t,e){for(var r=0;r&lt;e.length;r++)-1===t.indexOf(e[r])&amp;&amp;t.push(e[r])}function d(t,e,r){var n,i,a=[],o=[],s=t.layout;for(n=0;n&lt;e.length;n++)a.push(I.getFromId(t,e[n]));for(n=0;n&lt;r.length;n++)o.push(I.getFromId(t,r[n]));var l=Object.keys(a[0]),c=[&quot;anchor&quot;,&quot;domain&quot;,&quot;overlaying&quot;,&quot;position&quot;,&quot;side&quot;,&quot;tickangle&quot;],u=[&quot;linear&quot;,&quot;log&quot;];for(n=0;n&lt;l.length;n++){var f=l[n],h=a[0][f],d=o[0][f],p=!0,m=!1,g=!1;if(&quot;_&quot;!==f.charAt(0)&amp;&amp;&quot;function&quot;!=typeof h&amp;&amp;-1===c.indexOf(f)){for(i=1;i&lt;a.length&amp;&amp;p;i++){var y=a[i][f];&quot;type&quot;===f&amp;&amp;-1!==u.indexOf(h)&amp;&amp;-1!==u.indexOf(y)&amp;&amp;h!==y?m=!0:y!==h&amp;&amp;(p=!1)}for(i=1;i&lt;o.length&amp;&amp;p;i++){var x=o[i][f];&quot;type&quot;===f&amp;&amp;-1!==u.indexOf(d)&amp;&amp;-1!==u.indexOf(x)&amp;&amp;d!==x?g=!0:o[i][f]!==d&amp;&amp;(p=!1)}p&amp;&amp;(m&amp;&amp;(s[a[0]._name].type=&quot;linear&quot;),g&amp;&amp;(s[o[0]._name].type=&quot;linear&quot;),function(t,e,r,n,i){var a,o=v.nestedProperty,s=o(t[r[0]._name],e).get(),l=o(t[n[0]._name],e).get();&quot;title&quot;===e&amp;&amp;(s===i.x&amp;&amp;(s=i.y),l===i.y&amp;&amp;(l=i.x));for(a=0;a&lt;r.length;a++)o(t,r[a]._name+&quot;.&quot;+e).set(l);for(a=0;a&lt;n.length;a++)o(t,n[a]._name+&quot;.&quot;+e).set(s)}(s,f,a,o,t._fullLayout._dfltTitle))}}for(n=0;n&lt;t._fullLayout.annotations.length;n++){var b=t._fullLayout.annotations[n];-1!==e.indexOf(b.xref)&amp;&amp;-1!==r.indexOf(b.yref)&amp;&amp;v.swapAttrs(s.annotations[n],[&quot;?&quot;])}}var p=t(&quot;d3&quot;),m=t(&quot;fast-isnumeric&quot;),g=t(&quot;../../registry&quot;),v=t(&quot;../../lib&quot;),y=t(&quot;../../lib/svg_text_utils&quot;),x=t(&quot;../../components/titles&quot;),b=t(&quot;../../components/color&quot;),_=t(&quot;../../components/drawing&quot;),w=t(&quot;../../constants/numerical&quot;),M=w.FP_SAFE,k=w.ONEAVGYEAR,A=w.ONEAVGMONTH,T=w.ONEDAY,S=w.ONEHOUR,E=w.ONEMIN,L=w.ONESEC,C=w.MINUS_SIGN,z=w.BADNUM,D=t(&quot;../../constants/alignment&quot;).MID_SHIFT,I=e.exports={};I.setConvert=t(&quot;./set_convert&quot;);var P=t(&quot;./axis_autotype&quot;),O=t(&quot;./axis_ids&quot;);I.id2name=O.id2name,I.cleanId=O.cleanId,I.list=O.list,I.listIds=O.listIds,I.getFromId=O.getFromId,I.getFromTrace=O.getFromTrace,I.coerceRef=function(t,e,r,n,i,a){var o=n.charAt(n.length-1),s=r._fullLayout._subplots[o+&quot;axis&quot;],l=n+&quot;ref&quot;,c={};return i||(i=s[0]||a),a||(a=i),c[l]={valType:&quot;enumerated&quot;,values:s.concat(a?[a]:[]),dflt:i},v.coerce(t,e,c,l)},I.coercePosition=function(t,e,r,n,i,a){var o,s;if(&quot;paper&quot;===n||&quot;pixel&quot;===n)o=v.ensureNumber,s=r(i,a);else{var l=I.getFromId(e,n);s=r(i,a=l.fraction2r(a)),o=l.cleanPos}t[i]=o(s)},I.cleanPosition=function(t,e,r){return(&quot;paper&quot;===r||&quot;pixel&quot;===r?v.ensureNumber:I.getFromId(e,r).cleanPos)(t)};var F=I.getDataConversions=function(t,e,r,a){var o,s=&quot;x&quot;===r||&quot;y&quot;===r||&quot;z&quot;===r?r:a;if(Array.isArray(s)){if(o={type:P(a),_categories:[]},I.setConvert(o),&quot;category&quot;===o.type)for(var l=0;l&lt;a.length;l++)o.d2c(a[l])}else o=I.getFromTrace(t,e,s);return o?{d2c:o.d2c,c2d:o.c2d}:&quot;ids&quot;===s?{d2c:i,c2d:i}:{d2c:n,c2d:n}};I.getDataToCoordFunc=function(t,e,r,n){return F(t,e,r,n).d2c},I.counterLetter=function(t){var e=t.charAt(0);return&quot;x&quot;===e?&quot;y&quot;:&quot;y&quot;===e?&quot;x&quot;:void 0},I.minDtick=function(t,e,r,n){-1===[&quot;log&quot;,&quot;category&quot;].indexOf(t.type)&amp;&amp;n?void 0===t._minDtick?(t._minDtick=e,t._forceTick0=r):t._minDtick&amp;&amp;((t._minDtick/e+1e-6)%1&lt;2e-6&amp;&amp;((r-t._forceTick0)/e%1+1.000001)%1&lt;2e-6?(t._minDtick=e,t._forceTick0=r):((e/t._minDtick+1e-6)%1&gt;2e-6||((r-t._forceTick0)/t._minDtick%1+1.000001)%1&gt;2e-6)&amp;&amp;(t._minDtick=0)):t._minDtick=0},I.getAutoRange=function(t){var e,r=[],n=t._min[0].val,i=t._max[0].val;for(e=1;e&lt;t._min.length&amp;&amp;n===i;e++)n=Math.min(n,t._min[e].val);for(e=1;e&lt;t._max.length&amp;&amp;n===i;e++)i=Math.max(i,t._max[e].val);var a,o,s,l,c,u,f,h=0,d=!1;if(t.range){var p=v.simpleMap(t.range,t.r2l);d=p[1]&lt;p[0]}for(&quot;reversed&quot;===t.autorange&amp;&amp;(d=!0,t.autorange=!0),e=0;e&lt;t._min.length;e++)for(o=t._min[e],a=0;a&lt;t._max.length;a++)f=(s=t._max[a]).val-o.val,u=t._length-o.pad-s.pad,f&gt;0&amp;&amp;u&gt;0&amp;&amp;f/u&gt;h&amp;&amp;(l=o,c=s,h=f/u);if(n===i){var m=n-1,g=n+1;r=&quot;tozero&quot;===t.rangemode?n&lt;0?[m,0]:[0,g]:&quot;nonnegative&quot;===t.rangemode?[Math.max(0,m),Math.max(0,g)]:[m,g]}else h&amp;&amp;(&quot;linear&quot;!==t.type&amp;&amp;&quot;-&quot;!==t.type||(&quot;tozero&quot;===t.rangemode?(l.val&gt;=0&amp;&amp;(l={val:0,pad:0}),c.val&lt;=0&amp;&amp;(c={val:0,pad:0})):&quot;nonnegative&quot;===t.rangemode&amp;&amp;(l.val-h*l.pad&lt;0&amp;&amp;(l={val:0,pad:0}),c.val&lt;0&amp;&amp;(c={val:1,pad:0})),h=(c.val-l.val)/(t._length-l.pad-c.pad)),r=[l.val-h*l.pad,c.val+h*c.pad]);return r[0]===r[1]&amp;&amp;(&quot;tozero&quot;===t.rangemode?r=r[0]&lt;0?[r[0],0]:r[0]&gt;0?[0,r[0]]:[0,1]:(r=[r[0]-1,r[0]+1],&quot;nonnegative&quot;===t.rangemode&amp;&amp;(r[0]=Math.max(0,r[0])))),d&amp;&amp;r.reverse(),v.simpleMap(r,t.l2r||Number)},I.doAutoRange=function(t){t._length||t.setScale();var e=t._min&amp;&amp;t._max&amp;&amp;t._min.length&amp;&amp;t._max.length;if(t.autorange&amp;&amp;e){t.range=I.getAutoRange(t),t._r=t.range.slice(),t._rl=v.simpleMap(t._r,t.r2l);var r=t._input;r.range=t.range.slice(),r.autorange=t.autorange}},I.saveRangeInitial=function(t,e){for(var r=I.list(t,&quot;&quot;,!0),n=!1,i=0;i&lt;r.length;i++){var a=r[i],o=void 0===a._rangeInitial,s=o||!(a.range[0]===a._rangeInitial[0]&amp;&amp;a.range[1]===a._rangeInitial[1]);(o&amp;&amp;!1===a.autorange||e&amp;&amp;s)&amp;&amp;(a._rangeInitial=a.range.slice(),n=!0)}return n},I.saveShowSpikeInitial=function(t,e){for(var r=I.list(t,&quot;&quot;,!0),n=!1,i=&quot;on&quot;,a=0;a&lt;r.length;a++){var o=r[a],s=void 0===o._showSpikeInitial,l=s||!(o.showspikes===o._showspikes);(s||e&amp;&amp;l)&amp;&amp;(o._showSpikeInitial=o.showspikes,n=!0),&quot;on&quot;!==i||o.showspikes||(i=&quot;off&quot;)}return t._fullLayout._cartesianSpikesEnabled=i,n},I.expand=function(t,e,r){function n(t){if(Array.isArray(t))return function(e){return Math.max(Number(t[e]||0),0)};var e=Math.max(Number(t||0),0);return function(){return e}}function i(r){function n(t){return m(t)&amp;&amp;Math.abs(t)&lt;M}if(l=e[r],m(l)){if(f=_(r)+x,h=w(r)+x,p=l-A(r),g=l+k(r),&quot;log&quot;===t.type&amp;&amp;p&lt;g/10&amp;&amp;(p=g/10),c=t.c2l(p),u=t.c2l(g),b&amp;&amp;(c=Math.min(0,c),u=Math.max(0,u)),n(c)){for(d=!0,o=0;o&lt;t._min.length&amp;&amp;d;o++)(s=t._min[o]).val&lt;=c&amp;&amp;s.pad&gt;=h?d=!1:s.val&gt;=c&amp;&amp;s.pad&lt;=h&amp;&amp;(t._min.splice(o,1),o--);d&amp;&amp;t._min.push({val:c,pad:b&amp;&amp;0===c?0:h})}if(n(u)){for(d=!0,o=0;o&lt;t._max.length&amp;&amp;d;o++)(s=t._max[o]).val&gt;=u&amp;&amp;s.pad&gt;=f?d=!1:s.val&lt;=u&amp;&amp;s.pad&lt;=f&amp;&amp;(t._max.splice(o,1),o--);d&amp;&amp;t._max.push({val:u,pad:b&amp;&amp;0===u?0:f})}}}if((t.autorange||!!v.nestedProperty(t,&quot;rangeslider.autorange&quot;).get())&amp;&amp;e){t._min||(t._min=[]),t._max||(t._max=[]),r||(r={}),t._m||t.setScale();var a,o,s,l,c,u,f,h,d,p,g,y=e.length,x=r.padded?.05*t._length:0,b=r.tozero&amp;&amp;(&quot;linear&quot;===t.type||&quot;-&quot;===t.type);x&amp;&amp;&quot;domain&quot;===t.constrain&amp;&amp;t._inputDomain&amp;&amp;(x*=(t._inputDomain[1]-t._inputDomain[0])/(t.domain[1]-t.domain[0]));var _=n((t._m&gt;0?r.ppadplus:r.ppadminus)||r.ppad||0),w=n((t._m&gt;0?r.ppadminus:r.ppadplus)||r.ppad||0),k=n(r.vpadplus||r.vpad),A=n(r.vpadminus||r.vpad);for(a=0;a&lt;6;a++)i(a);for(a=y-1;a&gt;5;a--)i(a)}},I.autoBin=function(t,e,r,n,i){var a=v.aggNums(Math.min,null,t),o=v.aggNums(Math.max,null,t);if(i||(i=e.calendar),&quot;category&quot;===e.type)return{start:a-.5,end:o+.5,size:1,_count:o-a+1};var s;if(r)s=(o-a)/r;else{var l=v.distinctVals(t),c=Math.pow(10,Math.floor(Math.log(l.minDiff)/Math.LN10)),u=c*v.roundUp(l.minDiff/c,[.9,1.9,4.9,9.9],!0);s=Math.max(u,2*v.stdev(t)/Math.pow(t.length,n?.25:.4)),m(s)||(s=1)}var f;f=&quot;log&quot;===e.type?{type:&quot;linear&quot;,range:[a,o]}:{type:e.type,range:v.simpleMap([a,o],e.c2r,0,i),calendar:i},I.setConvert(f),I.autoTicks(f,s);var h,d,p=I.tickIncrement(I.tickFirst(f),f.dtick,&quot;reverse&quot;,i);if(&quot;number&quot;==typeof f.dtick)h=(p=function(t,e,r,n,i){function a(e){return(1+100*(e-t)/r.dtick)%100&lt;2}for(var o=0,s=0,l=0,c=0,u=0;u&lt;e.length;u++)e[u]%1==0?l++:m(e[u])||c++,a(e[u])&amp;&amp;o++,a(e[u]+r.dtick/2)&amp;&amp;s++;var f=e.length-c;if(l===f&amp;&amp;&quot;date&quot;!==r.type)r.dtick&lt;1?t=n-.5*r.dtick:(t-=.5)+r.dtick&lt;n&amp;&amp;(t+=r.dtick);else if(s&lt;.1*f&amp;&amp;(o&gt;.3*f||a(n)||a(i))){var h=r.dtick/2;t+=t+h&lt;n?h:-h}return t}(p,t,f,a,o))+(d=1+Math.floor((o-p)/f.dtick))*f.dtick;else for(&quot;M&quot;===f.dtick.charAt(0)&amp;&amp;(p=function(t,e,r,n,i){var a=v.findExactDates(e,i);if(a.exactDays&gt;.8){var o=Number(r.substr(1));a.exactYears&gt;.8&amp;&amp;o%12==0?t=I.tickIncrement(t,&quot;M6&quot;,&quot;reverse&quot;)+1.5*T:a.exactMonths&gt;.8?t=I.tickIncrement(t,&quot;M1&quot;,&quot;reverse&quot;)+15.5*T:t-=T/2;var s=I.tickIncrement(t,r);if(s&lt;=n)return s}return t}(p,t,f.dtick,a,i)),h=p,d=0;h&lt;=o;)h=I.tickIncrement(h,f.dtick,!1,i),d++;return{start:e.c2r(p,0,i),end:e.c2r(h,0,i),size:f.dtick,_count:d}},I.calcTicks=function(t){var e=v.simpleMap(t.range,t.r2l);if(&quot;auto&quot;===t.tickmode||!t.dtick){var r,n=t.nticks;n||(&quot;category&quot;===t.type?(r=t.tickfont?1.2*(t.tickfont.size||12):15,n=t._length/r):(r=&quot;y&quot;===t._id.charAt(0)?40:80,n=v.constrain(t._length/r,4,9)+1),&quot;radialaxis&quot;===t._name&amp;&amp;(n*=2)),&quot;array&quot;===t.tickmode&amp;&amp;(n*=100),I.autoTicks(t,Math.abs(e[1]-e[0])/n),t._minDtick&gt;0&amp;&amp;t.dtick&lt;2*t._minDtick&amp;&amp;(t.dtick=t._minDtick,t.tick0=t.l2r(t._forceTick0))}if(t.tick0||(t.tick0=&quot;date&quot;===t.type?&quot;2000-01-01&quot;:0),o(t),&quot;array&quot;===t.tickmode)return function(t){var e,r,n=t.tickvals,i=t.ticktext,a=new Array(n.length),o=v.simpleMap(t.range,t.r2l),l=1.0001*o[0]-1e-4*o[1],c=1.0001*o[1]-1e-4*o[0],u=Math.min(l,c),f=Math.max(l,c),h=0;Array.isArray(i)||(i=[]);var d=&quot;category&quot;===t.type?t.d2l_noadd:t.d2l;for(&quot;log&quot;===t.type&amp;&amp;&quot;L&quot;!==String(t.dtick).charAt(0)&amp;&amp;(t.dtick=&quot;L&quot;+Math.pow(10,Math.floor(Math.min(t.range[0],t.range[1]))-1)),r=0;r&lt;n.length;r++)(e=d(n[r]))&gt;u&amp;&amp;e&lt;f&amp;&amp;(void 0===i[r]?a[h]=I.tickText(t,e):a[h]=s(t,e,String(i[r])),h++);return h&lt;n.length&amp;&amp;a.splice(h,n.length-h),a}(t);t._tmin=I.tickFirst(t);var i=e[1]&lt;e[0],a=[],l=1.0001*e[1]-1e-4*e[0];&quot;category&quot;===t.type&amp;&amp;(l=i?Math.max(-.5,l):Math.min(t._categories.length-.5,l));for(var c=null,u=Math.max(1e3,t._length||0),f=t._tmin;(i?f&gt;=l:f&lt;=l)&amp;&amp;!(a.length&gt;u||f===c);f=I.tickIncrement(f,t.dtick,i,t.calendar))c=f,a.push(f);&quot;angular&quot;===t._id&amp;&amp;360===Math.abs(e[1]-e[0])&amp;&amp;a.pop(),t._tmax=a[a.length-1],t._prevDateHead=&quot;&quot;,t._inCalcTicks=!0;for(var h=new Array(a.length),d=0;d&lt;a.length;d++)h[d]=I.tickText(t,a[d]);return t._inCalcTicks=!1,h};var R=[2,5,10],N=[1,2,3,6,12],j=[1,2,5,10,15,30],B=[1,2,3,7,14],U=[-.046,0,.301,.477,.602,.699,.778,.845,.903,.954,1],V=[-.301,0,.301,.699,1],q=[15,30,45,90,180];I.autoTicks=function(t,e){function r(t){return Math.pow(t,Math.floor(Math.log(e)/Math.LN10))}var n;if(&quot;date&quot;===t.type){t.tick0=v.dateTick0(t.calendar);var i=2*e;i&gt;k?(e/=k,n=r(10),t.dtick=&quot;M&quot;+12*a(e,n,R)):i&gt;A?(e/=A,t.dtick=&quot;M&quot;+a(e,1,N)):i&gt;T?(t.dtick=a(e,T,B),t.tick0=v.dateTick0(t.calendar,!0)):i&gt;S?t.dtick=a(e,S,N):i&gt;E?t.dtick=a(e,E,j):i&gt;L?t.dtick=a(e,L,j):(n=r(10),t.dtick=a(e,n,R))}else if(&quot;log&quot;===t.type){t.tick0=0;var o=v.simpleMap(t.range,t.r2l);if(e&gt;.7)t.dtick=Math.ceil(e);else if(Math.abs(o[1]-o[0])&lt;1){var s=1.5*Math.abs((o[1]-o[0])/e);e=Math.abs(Math.pow(10,o[1])-Math.pow(10,o[0]))/s,n=r(10),t.dtick=&quot;L&quot;+a(e,n,R)}else t.dtick=e&gt;.3?&quot;D2&quot;:&quot;D1&quot;}else&quot;category&quot;===t.type?(t.tick0=0,t.dtick=Math.ceil(Math.max(e,1))):&quot;angular&quot;===t._id?(t.tick0=0,n=1,t.dtick=a(e,n,q)):(t.tick0=0,n=r(10),t.dtick=a(e,n,R));if(0===t.dtick&amp;&amp;(t.dtick=1),!m(t.dtick)&amp;&amp;&quot;string&quot;!=typeof t.dtick){var l=t.dtick;throw t.dtick=1,&quot;ax.dtick error: &quot;+String(l)}},I.tickIncrement=function(t,e,r,n){var i=r?-1:1;if(m(e))return t+i*e;var a=e.charAt(0),o=i*Number(e.substr(1));if(&quot;M&quot;===a)return v.incrementMonth(t,o,n);if(&quot;L&quot;===a)return Math.log(Math.pow(10,t)+o)/Math.LN10;if(&quot;D&quot;===a){var s=&quot;D2&quot;===e?V:U,l=t+.01*i,c=v.roundUp(v.mod(l,1),s,r);return Math.floor(l)+Math.log(p.round(Math.pow(10,c),1))/Math.LN10}throw&quot;unrecognized dtick &quot;+String(e)},I.tickFirst=function(t){var e=t.r2l||Number,r=v.simpleMap(t.range,e),n=r[1]&lt;r[0],i=n?Math.floor:Math.ceil,a=1.0001*r[0]-1e-4*r[1],o=t.dtick,s=e(t.tick0);if(m(o)){var l=i((a-s)/o)*o+s;return&quot;category&quot;===t.type&amp;&amp;(l=v.constrain(l,0,t._categories.length-1)),l}var c=o.charAt(0),u=Number(o.substr(1));if(&quot;M&quot;===c){for(var f,h,d,g=0,y=s;g&lt;10;){if(((f=I.tickIncrement(y,o,n,t.calendar))-a)*(y-a)&lt;=0)return n?Math.min(y,f):Math.max(y,f);h=(a-(y+f)/2)/(f-y),d=c+(Math.abs(Math.round(h))||1)*u,y=I.tickIncrement(y,d,h&lt;0?!n:n,t.calendar),g++}return v.error(&quot;tickFirst did not converge&quot;,t),y}if(&quot;L&quot;===c)return Math.log(i((Math.pow(10,a)-s)/u)*u+s)/Math.LN10;if(&quot;D&quot;===c){var x=&quot;D2&quot;===o?V:U,b=v.roundUp(v.mod(a,1),x,n);return Math.floor(a)+Math.log(p.round(Math.pow(10,b),1))/Math.LN10}throw&quot;unrecognized dtick &quot;+String(o)},I.tickText=function(t,e,r){function n(n){var i;return void 0===n||(r?&quot;none&quot;===n:(i={first:t._tmin,last:t._tmax}[n],&quot;all&quot;!==n&amp;&amp;e!==i))}var i,a,o=s(t,e),h=&quot;array&quot;===t.tickmode,d=r||h,p=&quot;category&quot;===t.type?t.d2l_noadd:t.d2l;if(h&amp;&amp;Array.isArray(t.ticktext)){var g=v.simpleMap(t.range,t.r2l),y=Math.abs(g[1]-g[0])/1e4;for(a=0;a&lt;t.ticktext.length&amp;&amp;!(Math.abs(e-p(t.tickvals[a]))&lt;y);a++);if(a&lt;t.ticktext.length)return o.text=String(t.ticktext[a]),o}return i=r?&quot;never&quot;:&quot;none&quot;!==t.exponentformat&amp;&amp;n(t.showexponent)?&quot;hide&quot;:&quot;&quot;,&quot;date&quot;===t.type?function(t,e,r,n){var i=t._tickround,a=r&amp;&amp;t.hoverformat||I.getTickFormat(t);n&amp;&amp;(i=m(i)?4:{y:&quot;m&quot;,m:&quot;d&quot;,d:&quot;M&quot;,M:&quot;S&quot;,S:4}[i]);var o,s=v.formatDate(e.x,a,i,t._dateFormat,t.calendar),l=s.indexOf(&quot;\n&quot;);-1!==l&amp;&amp;(o=s.substr(l+1),s=s.substr(0,l)),n&amp;&amp;(&quot;00:00:00&quot;===s||&quot;00:00&quot;===s?(s=o,o=&quot;&quot;):8===s.length&amp;&amp;(s=s.replace(/:00$/,&quot;&quot;))),o&amp;&amp;(r?&quot;d&quot;===i?s+=&quot;, &quot;+o:s=o+(s?&quot;, &quot;+s:&quot;&quot;):t._inCalcTicks&amp;&amp;o===t._prevDateHead||(s+=&quot;&lt;br&gt;&quot;+o,t._prevDateHead=o)),e.text=s}(t,o,r,d):&quot;log&quot;===t.type?function(t,e,r,n,i){var a=t.dtick,o=e.x,s=t.tickformat;if(&quot;never&quot;===i&amp;&amp;(i=&quot;&quot;),!n||&quot;string&quot;==typeof a&amp;&amp;&quot;L&quot;===a.charAt(0)||(a=&quot;L3&quot;),s||&quot;string&quot;==typeof a&amp;&amp;&quot;L&quot;===a.charAt(0))e.text=f(Math.pow(10,o),t,i,n);else if(m(a)||&quot;D&quot;===a.charAt(0)&amp;&amp;v.mod(o+.01,1)&lt;.1){var l=Math.round(o);-1!==[&quot;e&quot;,&quot;E&quot;,&quot;power&quot;].indexOf(t.exponentformat)||c(t.exponentformat)&amp;&amp;u(l)?(e.text=0===l?1:1===l?&quot;10&quot;:l&gt;1?&quot;10&lt;sup&gt;&quot;+l+&quot;&lt;/sup&gt;&quot;:&quot;10&lt;sup&gt;&quot;+C+-l+&quot;&lt;/sup&gt;&quot;,e.fontSize*=1.25):(e.text=f(Math.pow(10,o),t,&quot;&quot;,&quot;fakehover&quot;),&quot;D1&quot;===a&amp;&amp;&quot;y&quot;===t._id.charAt(0)&amp;&amp;(e.dy-=e.fontSize/6))}else{if(&quot;D&quot;!==a.charAt(0))throw&quot;unrecognized dtick &quot;+String(a);e.text=String(Math.round(Math.pow(10,v.mod(o,1)))),e.fontSize*=.75}if(&quot;D1&quot;===t.dtick){var h=String(e.text).charAt(0);&quot;0&quot;!==h&amp;&amp;&quot;1&quot;!==h||(&quot;y&quot;===t._id.charAt(0)?e.dx-=e.fontSize/4:(e.dy+=e.fontSize/2,e.dx+=(t.range[1]&gt;t.range[0]?1:-1)*e.fontSize*(o&lt;0?.5:.25)))}}(t,o,0,d,i):&quot;category&quot;===t.type?function(t,e){var r=t._categories[Math.round(e.x)];void 0===r&amp;&amp;(r=&quot;&quot;),e.text=String(r)}(t,o):&quot;angular&quot;===t._id?l(t,o,r,d,i):function(t,e,r,n,i){&quot;never&quot;===i?i=&quot;&quot;:&quot;all&quot;===t.showexponent&amp;&amp;Math.abs(e.x/t.dtick)&lt;1e-6&amp;&amp;(i=&quot;hide&quot;),e.text=f(e.x,t,i,n)}(t,o,0,d,i),t.tickprefix&amp;&amp;!n(t.showtickprefix)&amp;&amp;(o.text=t.tickprefix+o.text),t.ticksuffix&amp;&amp;!n(t.showticksuffix)&amp;&amp;(o.text+=t.ticksuffix),o},I.hoverLabelText=function(t,e,r){if(r!==z&amp;&amp;r!==e)return I.hoverLabelText(t,e)+&quot; - &quot;+I.hoverLabelText(t,r);var n=&quot;log&quot;===t.type&amp;&amp;e&lt;=0,i=I.tickText(t,t.c2l(n?-e:e),&quot;hover&quot;).text;return n?0===e?&quot;0&quot;:C+i:i};var H=[&quot;f&quot;,&quot;p&quot;,&quot;n&quot;,&quot;\u03bc&quot;,&quot;m&quot;,&quot;&quot;,&quot;k&quot;,&quot;M&quot;,&quot;G&quot;,&quot;T&quot;];I.getTickFormat=function(t){function e(t){return&quot;string&quot;!=typeof t?t:Number(t.replace(&quot;M&quot;,&quot;&quot;))*A}function r(t,e){var r=[&quot;L&quot;,&quot;D&quot;];if(typeof t==typeof e){if(&quot;number&quot;==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,&quot;&quot;))-Number(e.replace(/(L|D)/g,&quot;&quot;)):n-i}return&quot;number&quot;==typeof t?1:-1}function n(t,e,r){var n=r||function(t){return t},i=e[0],a=e[1];return(!i&amp;&amp;&quot;number&quot;!=typeof i||n(i)&lt;=n(t))&amp;&amp;(!a&amp;&amp;&quot;number&quot;!=typeof a||n(a)&gt;=n(t))}function i(t,e){var n=null===e[0],i=null===e[1],a=r(t,e[0])&gt;=0,o=r(t,e[1])&lt;=0;return(n||a)&amp;&amp;(i||o)}var a,o;if(t.tickformatstops&amp;&amp;t.tickformatstops.length&gt;0)switch(t.type){case&quot;date&quot;:case&quot;linear&quot;:for(a=0;a&lt;t.tickformatstops.length;a++)if(n(t.dtick,t.tickformatstops[a].dtickrange,e)){o=t.tickformatstops[a];break}break;case&quot;log&quot;:for(a=0;a&lt;t.tickformatstops.length;a++)if(i(t.dtick,t.tickformatstops[a].dtickrange)){o=t.tickformatstops[a];break}}return o?o.value:t.tickformat},I.getSubplots=function(t,e){var r=t._fullLayout._subplots,n=r.cartesian.concat(r.gl2d||[]),i=e?I.findSubplotsWithAxis(n,e):n;return i.sort(function(t,e){var r=t.substr(1).split(&quot;y&quot;),n=e.substr(1).split(&quot;y&quot;);return r[0]===n[0]?+r[1]-+n[1]:+r[0]-+n[0]}),i},I.findSubplotsWithAxis=function(t,e){for(var r=new RegExp(&quot;x&quot;===e._id.charAt(0)?&quot;^&quot;+e._id+&quot;y&quot;:e._id+&quot;$&quot;),n=[],i=0;i&lt;t.length;i++){var a=t[i];r.test(a)&amp;&amp;n.push(a)}return n},I.makeClipPaths=function(t){var e,r,n=t._fullLayout,i={_offset:0,_length:n.width,_id:&quot;&quot;},a={_offset:0,_length:n.height,_id:&quot;&quot;},o=I.list(t,&quot;x&quot;,!0),s=I.list(t,&quot;y&quot;,!0),l=[];for(e=0;e&lt;o.length;e++)for(l.push({x:o[e],y:a}),r=0;r&lt;s.length;r++)0===e&amp;&amp;l.push({x:i,y:s[r]}),l.push({x:o[e],y:s[r]});var c=n._clips.selectAll(&quot;.axesclip&quot;).data(l,function(t){return t.x._id+t.y._id});c.enter().append(&quot;clipPath&quot;).classed(&quot;axesclip&quot;,!0).attr(&quot;id&quot;,function(t){return&quot;clip&quot;+n._uid+t.x._id+t.y._id}).append(&quot;rect&quot;),c.exit().remove(),c.each(function(t){p.select(this).select(&quot;rect&quot;).attr({x:t.x._offset||0,y:t.y._offset||0,width:t.x._length||1,height:t.y._length||1})})},I.doTicks=function(t,e,r){function n(t){var e=c.l2p(t.x);return e&gt;1&amp;&amp;e&lt;c._length-1}function i(t,e){var r=t.selectAll(&quot;path.&quot;+L).data(&quot;inside&quot;===c.ticks?H:S,E);e&amp;&amp;c.ticks?(r.enter().append(&quot;path&quot;).classed(L,1).classed(&quot;ticks&quot;,1).classed(&quot;crisp&quot;,1).call(b.stroke,c.tickcolor).style(&quot;stroke-width&quot;,B+&quot;px&quot;).attr(&quot;d&quot;,e),r.attr(&quot;transform&quot;,d),r.exit().remove()):r.remove()}function a(r,n){function i(t,e){t.each(function(t){var r=h(e,t),n=p.select(this),i=n.select(&quot;.text-math-group&quot;),a=d(t)+(m(e)&amp;&amp;0!=+e?&quot; rotate(&quot;+e+&quot;,&quot;+l(t)+&quot;,&quot;+(f(t)-t.fontSize/2)+&quot;)&quot;:&quot;&quot;);if(i.empty())n.select(&quot;text&quot;).attr({transform:a,&quot;text-anchor&quot;:r});else{var o=_.bBox(i.node()).width*{end:-.5,start:.5}[r];i.attr(&quot;transform&quot;,a+(o?&quot;translate(&quot;+o+&quot;,0)&quot;:&quot;&quot;))}})}function a(){function e(t,e){t[0]=Math.min(t[0],e[0]),t[1]=Math.max(t[1],e[1])}if(c.showticklabels){var n=t.getBoundingClientRect(),i=r.node().getBoundingClientRect();c._boundingBox={width:i.width,height:i.height,left:i.left-n.left,right:i.right-n.left,top:i.top-n.top,bottom:i.bottom-n.top}}else{var a,o=u._size;&quot;x&quot;===A?(a=&quot;free&quot;===c.anchor?o.t+o.h*(1-c.position):o.t+o.h*(1-c._anchorAxis.domain[{bottom:0,top:1}[c.side]]),c._boundingBox={top:a,bottom:a,left:c._offset,right:c._offset+c._length,width:c._length,height:0}):(a=&quot;free&quot;===c.anchor?o.l+o.w*c.position:o.l+o.w*c._anchorAxis.domain[{left:0,right:1}[c.side]],c._boundingBox={left:a,right:a,bottom:c._offset+c._length,top:c._offset,height:c._length,width:0})}if(M){var s=c._counterSpan=[1/0,-1/0];for(k=0;k&lt;M.length;k++){var l=u._plots[M[k]][&quot;x&quot;===A?&quot;yaxis&quot;:&quot;xaxis&quot;];e(s,[l._offset,l._offset+l._length])}&quot;free&quot;===c.anchor&amp;&amp;e(s,&quot;x&quot;===A?[c._boundingBox.bottom,c._boundingBox.top]:[c._boundingBox.right,c._boundingBox.left])}}var s=r.selectAll(&quot;g.&quot;+L).data(S,E);if(!m(n))return s.remove(),void o();if(!c.showticklabels)return s.remove(),o(),void a();var l,f,h,g,x;&quot;x&quot;===A?(l=function(t){return t.dx+R*x},g=n+(F+P)*(x=&quot;bottom&quot;===V?1:-1),f=function(t){return t.dy+g+t.fontSize*(&quot;bottom&quot;===V?1:-.2)},h=function(t){return m(t)&amp;&amp;0!==t&amp;&amp;180!==t?t*x&lt;0?&quot;end&quot;:&quot;start&quot;:&quot;middle&quot;}):&quot;y&quot;===A?(x=&quot;right&quot;===V?1:-1,f=function(t){return t.dy+t.fontSize*D-R*x},l=function(t){return t.dx+n+(F+P+(90===Math.abs(c.tickangle)?t.fontSize/2:0))*x},h=function(t){return m(t)&amp;&amp;90===Math.abs(t)?&quot;middle&quot;:&quot;right&quot;===V?&quot;start&quot;:&quot;end&quot;}):&quot;angular&quot;===e&amp;&amp;(c._labelShift=R,c._labelStandoff=F,c._pad=P,l=c._labelx,f=c._labely,h=c._labelanchor);var b=0,w=0,T=[];s.enter().append(&quot;g&quot;).classed(L,1).append(&quot;text&quot;).attr(&quot;text-anchor&quot;,&quot;middle&quot;).each(function(e){var r=p.select(this),n=t._promises.length;r.call(y.positionText,l(e),f(e)).call(_.font,e.font,e.fontSize,e.fontColor).text(e.text).call(y.convertToTspans,t),(n=t._promises[n])?T.push(t._promises.pop().then(function(){i(r,c.tickangle)})):i(r,c.tickangle)}),s.exit().remove(),s.each(function(t){b=Math.max(b,t.fontSize)}),&quot;angular&quot;===e&amp;&amp;s.each(function(t){p.select(this).select(&quot;text&quot;).call(y.positionText,l(t),f(t))}),i(s,c._lastangle||c.tickangle);var C=v.syncOrAsync([function(){return T.length&amp;&amp;Promise.all(T)},function(){if(i(s,c.tickangle),&quot;x&quot;===A&amp;&amp;!m(c.tickangle)&amp;&amp;(&quot;log&quot;!==c.type||&quot;D&quot;!==String(c.dtick).charAt(0))){var t=[];for(s.each(function(e){var r=p.select(this),n=r.select(&quot;.text-math-group&quot;),i=c.l2p(e.x);n.empty()&amp;&amp;(n=r.select(&quot;text&quot;));var a=_.bBox(n.node());t.push({top:0,bottom:10,height:10,left:i-a.width/2,right:i+a.width/2+2,width:a.width+2})}),k=0;k&lt;t.length-1;k++)if(v.bBoxIntersect(t[k],t[k+1])){w=30;break}w&amp;&amp;(Math.abs((S[S.length-1].x-S[0].x)*c._m)/(S.length-1)&lt;2.5*b&amp;&amp;(w=90),i(s,w)),c._lastangle=w}return o(),e+&quot; done&quot;},a]);return C&amp;&amp;C.then&amp;&amp;t._promises.push(C),C}function o(){if(!r){var n,i,a,o,s=O.getFromId(t,e),l=p.select(t).selectAll(&quot;g.&quot;+e+&quot;tick&quot;),c={selection:l,side:s.side},f=e.charAt(0),h=t._fullLayout._size,d=s.titlefont.size;if(l.size()){var m=_.getTranslate(l.node().parentNode);c.offsetLeft=m.x,c.offsetTop=m.y}var g=10+1.5*d+(s.linewidth?s.linewidth-1:0);&quot;x&quot;===f?(i=&quot;free&quot;===s.anchor?{_offset:h.t+(1-(s.position||0))*h.h,_length:0}:O.getFromId(t,s.anchor),a=s._offset+s._length/2,o=&quot;top&quot;===s.side?-g-d*(s.showticklabels?1:0):i._length+g+d*(s.showticklabels?1.5:.5),o+=i._offset,s.rangeslider&amp;&amp;s.rangeslider.visible&amp;&amp;s._boundingBox&amp;&amp;(o+=(u.height-u.margin.b-u.margin.t)*s.rangeslider.thickness+s._boundingBox.height),c.side||(c.side=&quot;bottom&quot;)):(i=&quot;free&quot;===s.anchor?{_offset:h.l+(s.position||0)*h.w,_length:0}:O.getFromId(t,s.anchor),o=s._offset+s._length/2,a=&quot;right&quot;===s.side?i._length+g+d*(s.showticklabels?1:.5):-g-d*(s.showticklabels?.5:0),a+=i._offset,n={rotate:&quot;-90&quot;,offset:0},c.side||(c.side=&quot;left&quot;)),x.draw(t,e+&quot;title&quot;,{propContainer:s,propName:s._name+&quot;.title&quot;,placeholder:u._dfltTitle[f],avoid:c,transform:n,attributes:{x:a,y:o,&quot;text-anchor&quot;:&quot;middle&quot;}})}}function s(t,e){return!0===t.visible&amp;&amp;t.xaxis+t.yaxis===e&amp;&amp;(!(!g.traceIs(t,&quot;bar&quot;)||t.orientation!=={x:&quot;h&quot;,y:&quot;v&quot;}[A])||t.fill&amp;&amp;t.fill.charAt(t.fill.length-1)===A)}function l(r,i,a){var o=r.gridlayer.selectAll(&quot;.&quot;+e),l=r.zerolinelayer,u=r[&quot;hidegrid&quot;+A]?[]:H,f=c._gridpath||(&quot;x&quot;===A?&quot;M0,&quot;+i._offset+&quot;v&quot;:&quot;M&quot;+i._offset+&quot;,0h&quot;)+i._length,h=o.selectAll(&quot;path.&quot;+C).data(!1===c.showgrid?[]:u,E);if(h.enter().append(&quot;path&quot;).classed(C,1).classed(&quot;crisp&quot;,1).attr(&quot;d&quot;,f).each(function(t){c.zeroline&amp;&amp;(&quot;linear&quot;===c.type||&quot;-&quot;===c.type)&amp;&amp;Math.abs(t.x)&lt;c.dtick/100&amp;&amp;p.select(this).remove()}),h.attr(&quot;transform&quot;,d).call(b.stroke,c.gridcolor||&quot;#ddd&quot;).style(&quot;stroke-width&quot;,N+&quot;px&quot;),&quot;function&quot;==typeof f&amp;&amp;h.attr(&quot;d&quot;,f),h.exit().remove(),l){for(var m=!1,g=0;g&lt;t._fullData.length;g++)if(s(t._fullData[g],a)){m=!0;break}var y=v.simpleMap(c.range,c.r2l),x=y[0]*y[1]&lt;=0&amp;&amp;c.zeroline&amp;&amp;(&quot;linear&quot;===c.type||&quot;-&quot;===c.type)&amp;&amp;u.length&amp;&amp;(m||n({x:0})||!c.showline),_=l.selectAll(&quot;path.&quot;+z).data(x?[{x:0,id:e}]:[]);_.enter().append(&quot;path&quot;).classed(z,1).classed(&quot;zl&quot;,1).classed(&quot;crisp&quot;,1).attr(&quot;d&quot;,f).each(function(){l.selectAll(&quot;path&quot;).sort(function(t,e){return O.idSort(t.id,e.id)})}),_.attr(&quot;transform&quot;,d).call(b.stroke,c.zerolinecolor||b.defaultLine).style(&quot;stroke-width&quot;,j+&quot;px&quot;),_.exit().remove()}}var c,u=t._fullLayout,f=!1;if(&quot;object&quot;==typeof e)e=(c=e)._id,f=!0;else if(c=I.getFromId(t,e),&quot;redraw&quot;===e&amp;&amp;u._paper.selectAll(&quot;g.subplot&quot;).each(function(t){var e=u._plots[t],r=e.xaxis,n=e.yaxis;e.xaxislayer.selectAll(&quot;.&quot;+r._id+&quot;tick&quot;).remove(),e.yaxislayer.selectAll(&quot;.&quot;+n._id+&quot;tick&quot;).remove(),e.gridlayer.selectAll(&quot;path&quot;).remove(),e.zerolinelayer.selectAll(&quot;path&quot;).remove(),u._infolayer.select(&quot;.g-&quot;+r._id+&quot;title&quot;).remove(),u._infolayer.select(&quot;.g-&quot;+n._id+&quot;title&quot;).remove()}),!e||&quot;redraw&quot;===e)return v.syncOrAsync(I.list(t,&quot;&quot;,!0).map(function(r){return function(){if(r._id){var n=I.doTicks(t,r._id);return&quot;redraw&quot;===e&amp;&amp;(r._r=r.range.slice(),r._rl=v.simpleMap(r._r,r.r2l)),n}}}));c.tickformat||(-1===[&quot;none&quot;,&quot;e&quot;,&quot;E&quot;,&quot;power&quot;,&quot;SI&quot;,&quot;B&quot;].indexOf(c.exponentformat)&amp;&amp;(c.exponentformat=&quot;e&quot;),-1===[&quot;all&quot;,&quot;first&quot;,&quot;last&quot;,&quot;none&quot;].indexOf(c.showexponent)&amp;&amp;(c.showexponent=&quot;all&quot;)),c.setScale();var h,d,w,M,k,A=e.charAt(0),T=I.counterLetter(e),S=I.calcTicks(c),E=function(t){return[t.text,t.x,c.mirror,t.font,t.fontSize,t.fontColor].join(&quot;_&quot;)},L=e+&quot;tick&quot;,C=e+&quot;grid&quot;,z=e+&quot;zl&quot;,P=(c.linewidth||1)/2,F=&quot;outside&quot;===c.ticks?c.ticklen:0,R=0,N=_.crispRound(t,c.gridwidth,1),j=_.crispRound(t,c.zerolinewidth,N),B=_.crispRound(t,c.tickwidth,1);if(c._counterangle&amp;&amp;&quot;outside&quot;===c.ticks){var U=c._counterangle*Math.PI/180;F=c.ticklen*Math.cos(U)+1,R=c.ticklen*Math.sin(U)}if(c.showticklabels&amp;&amp;(&quot;outside&quot;===c.ticks||c.showline)&amp;&amp;(F+=.2*c.tickfont.size),&quot;x&quot;===A)h=[&quot;bottom&quot;,&quot;top&quot;],d=c._transfn||function(t){return&quot;translate(&quot;+(c._offset+c.l2p(t.x))+&quot;,0)&quot;},w=function(t,e){if(c._counterangle){var r=c._counterangle*Math.PI/180;return&quot;M0,&quot;+t+&quot;l&quot;+Math.sin(r)*e+&quot;,&quot;+Math.cos(r)*e}return&quot;M0,&quot;+t+&quot;v&quot;+e};else if(&quot;y&quot;===A)h=[&quot;left&quot;,&quot;right&quot;],d=c._transfn||function(t){return&quot;translate(0,&quot;+(c._offset+c.l2p(t.x))+&quot;)&quot;},w=function(t,e){if(c._counterangle){var r=c._counterangle*Math.PI/180;return&quot;M&quot;+t+&quot;,0l&quot;+Math.cos(r)*e+&quot;,&quot;+-Math.sin(r)*e}return&quot;M&quot;+t+&quot;,0h&quot;+e};else{if(&quot;angular&quot;!==e)return void v.warn(&quot;Unrecognized doTicks axis:&quot;,e);h=[&quot;left&quot;,&quot;right&quot;],d=c._transfn,w=function(t,e){return&quot;M&quot;+t+&quot;,0h&quot;+e}}var V=c.side||h[0],q=[-1,1,V===h[1]?1:-1];if(&quot;inside&quot;!==c.ticks==(&quot;x&quot;===A)&amp;&amp;(q=q.map(function(t){return-t})),c.visible){c._tickFilter&amp;&amp;(S=S.filter(c._tickFilter));var H=S.filter(n);if(&quot;angular&quot;===c._id&amp;&amp;(H=S),f){if(i(c._axislayer,w(c._pos+P*q[2],q[2]*c.ticklen)),c._counteraxis){l({gridlayer:c._gridlayer,zerolinelayer:c._zerolinelayer},c._counteraxis)}return a(c._axislayer,c._pos)}if(u._has(&quot;cartesian&quot;)){var G={};(M=I.getSubplots(t,c)).map(function(t){var e=u._plots[t],r=e[T+&quot;axis&quot;],n=r._mainAxis._id;G[n]||(G[n]=1,l(e,r,t))});var Y=c._mainSubplot,W=u._plots[Y],X=[];if(c.ticks){var Z=q[2],J=w(c._mainLinePosition+P*Z,Z*c.ticklen);c._anchorAxis&amp;&amp;c.mirror&amp;&amp;!0!==c.mirror&amp;&amp;(J+=w(c._mainMirrorPosition-P*Z,-Z*c.ticklen)),i(W[A+&quot;axislayer&quot;],J),X=Object.keys(c._linepositions)}X.map(function(t){function e(t){var e=q[t];return w(n[t]+P*e,e*c.ticklen)}var r=u._plots[t][A+&quot;axislayer&quot;],n=c._linepositions[t]||[];i(r,e(0)+e(1))});return a(W[A+&quot;axislayer&quot;],c._mainLinePosition)}}},I.swap=function(t,e){for(var r=function(t,e){var r,n,i=[];for(r=0;r&lt;e.length;r++){var a=[],o=t._fullData[e[r]].xaxis,s=t._fullData[e[r]].yaxis;if(o&amp;&amp;s){for(n=0;n&lt;i.length;n++)-1===i[n].x.indexOf(o)&amp;&amp;-1===i[n].y.indexOf(s)||a.push(n);if(a.length){var l,c=i[a[0]];if(a.length&gt;1)for(n=1;n&lt;a.length;n++)l=i[a[n]],h(c.x,l.x),h(c.y,l.y);h(c.x,[o]),h(c.y,[s])}else i.push({x:[o],y:[s]})}}return i}(t,e),n=0;n&lt;r.length;n++)d(t,r[n].x,r[n].y)}},{&quot;../../components/color&quot;:618,&quot;../../components/drawing&quot;:643,&quot;../../components/titles&quot;:709,&quot;../../constants/alignment&quot;:716,&quot;../../constants/numerical&quot;:721,&quot;../../lib&quot;:743,&quot;../../lib/svg_text_utils&quot;:766,&quot;../../registry&quot;:873,&quot;./axis_autotype&quot;:790,&quot;./axis_ids&quot;:792,&quot;./set_convert&quot;:808,d3:128,&quot;fast-isnumeric&quot;:140}],790:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;fast-isnumeric&quot;),i=t(&quot;../../lib&quot;),a=t(&quot;../../constants/numerical&quot;).BADNUM;e.exports=function(t,e){return function(t,e){for(var r,a=0,o=0,s=Math.max(1,(t.length-1)/1e3),l=0;l&lt;t.length;l+=s)r=t[Math.round(l)],i.isDateTime(r,e)&amp;&amp;(a+=1),n(r)&amp;&amp;(o+=1);return a&gt;2*o}(t,e)?&quot;date&quot;:function(t){for(var e,r=Math.max(1,(t.length-1)/1e3),n=0,o=0,s=0;s&lt;t.length;s+=r)e=t[Math.round(s)],i.cleanNumber(e)!==a?n++:&quot;string&quot;==typeof e&amp;&amp;&quot;&quot;!==e&amp;&amp;&quot;None&quot;!==e&amp;&amp;o++;return o&gt;2*n}(t)?&quot;category&quot;:function(t){if(!t)return!1;for(var e=0;e&lt;t.length;e++)if(n(t[e]))return!0;return!1}(t)?&quot;linear&quot;:&quot;-&quot;}},{&quot;../../constants/numerical&quot;:721,&quot;../../lib&quot;:743,&quot;fast-isnumeric&quot;:140}],791:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../registry&quot;),i=t(&quot;../../lib&quot;),a=t(&quot;./layout_attributes&quot;),o=t(&quot;./tick_value_defaults&quot;),s=t(&quot;./tick_mark_defaults&quot;),l=t(&quot;./tick_label_defaults&quot;),c=t(&quot;./category_order_defaults&quot;),u=t(&quot;./line_grid_defaults&quot;),f=t(&quot;./set_convert&quot;),h=t(&quot;./ordered_categories&quot;);e.exports=function(t,e,r,d,p){var m=d.letter,g=d.font||{},v=r(&quot;visible&quot;,!d.cheateronly),y=e.type;if(&quot;date&quot;===y){n.getComponentMethod(&quot;calendars&quot;,&quot;handleDefaults&quot;)(t,e,&quot;calendar&quot;,d.calendar)}f(e,p);if(r(&quot;autorange&quot;,!e.isValidRange(t.range))&amp;&amp;r(&quot;rangemode&quot;),r(&quot;range&quot;),e.cleanRange(),c(t,e,r),e._initialCategories=&quot;category&quot;===y?h(m,e.categoryorder,e.categoryarray,d.data):[],!v)return e;var x=r(&quot;color&quot;),b=x===t.color?x:g.color;return r(&quot;title&quot;,p._dfltTitle[m]),i.coerceFont(r,&quot;titlefont&quot;,{family:g.family,size:Math.round(1.2*g.size),color:b}),o(t,e,r,y),l(t,e,r,y,d),s(t,e,r,d),u(t,e,r,{dfltColor:x,bgColor:d.bgColor,showGrid:d.showGrid,attributes:a}),(e.showline||e.ticks)&amp;&amp;r(&quot;mirror&quot;),e}},{&quot;../../lib&quot;:743,&quot;../../registry&quot;:873,&quot;./category_order_defaults&quot;:793,&quot;./layout_attributes&quot;:801,&quot;./line_grid_defaults&quot;:803,&quot;./ordered_categories&quot;:804,&quot;./set_convert&quot;:808,&quot;./tick_label_defaults&quot;:809,&quot;./tick_mark_defaults&quot;:810,&quot;./tick_value_defaults&quot;:811}],792:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../registry&quot;),i=t(&quot;./constants&quot;);r.id2name=function(t){if(&quot;string&quot;==typeof t&amp;&amp;t.match(i.AX_ID_PATTERN)){var e=t.substr(1);return&quot;1&quot;===e&amp;&amp;(e=&quot;&quot;),t.charAt(0)+&quot;axis&quot;+e}},r.name2id=function(t){if(t.match(i.AX_NAME_PATTERN)){var e=t.substr(5);return&quot;1&quot;===e&amp;&amp;(e=&quot;&quot;),t.charAt(0)+e}},r.cleanId=function(t,e){if(t.match(i.AX_ID_PATTERN)&amp;&amp;(!e||t.charAt(0)===e)){var r=t.substr(1).replace(/^0+/,&quot;&quot;);return&quot;1&quot;===r&amp;&amp;(r=&quot;&quot;),t.charAt(0)+r}},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&lt;o.length;a++){var l=o[a];s[a]=i[l.charAt(0)+&quot;axis&quot;+l.substr(1)]}if(!n){var c=i._subplots.gl3d||[];for(a=0;a&lt;c.length;a++){var u=i[c[a]];e?s.push(u[e+&quot;axis&quot;]):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+&quot;axis&quot;]:n.xaxis.concat(n.yaxis)},r.getFromId=function(t,e,n){var i=t._fullLayout;return&quot;x&quot;===n?e=e.replace(/y[0-9]*/,&quot;&quot;):&quot;y&quot;===n&amp;&amp;(e=e.replace(/x[0-9]*/,&quot;&quot;)),i[r.id2name(e)]},r.getFromTrace=function(t,e,i){var a=t._fullLayout,o=null;if(n.traceIs(e,&quot;gl3d&quot;)){var s=e.scene;&quot;scene&quot;===s.substr(0,5)&amp;&amp;(o=a[s][i+&quot;axis&quot;])}else o=r.getFromId(t,e[i+&quot;axis&quot;]||i);return o},r.idSort=function(t,e){var r=t.charAt(0),n=e.charAt(0);return r!==n?r&gt;n?1:-1:+(t.substr(1)||1)-+(e.substr(1)||1)}},{&quot;../../registry&quot;:873,&quot;./constants&quot;:794}],793:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t,e,r){if(&quot;category&quot;===e.type){var n,i=t.categoryarray,a=Array.isArray(i)&amp;&amp;i.length&gt;0;a&amp;&amp;(n=&quot;array&quot;);var o=r(&quot;categoryorder&quot;,n);&quot;array&quot;===o&amp;&amp;r(&quot;categoryarray&quot;),a||&quot;array&quot;!==o||(e.categoryorder=&quot;trace&quot;)}}},{}],794:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib&quot;).counterRegex;e.exports={idRegex:{x:n(&quot;x&quot;),y:n(&quot;y&quot;)},attrRegex:n(&quot;[xy]axis&quot;),xAxisMatch:n(&quot;xaxis&quot;),yAxisMatch:n(&quot;yaxis&quot;),AX_ID_PATTERN:/^[xyz][0-9]*$/,AX_NAME_PATTERN:/^[xyz]axis[0-9]*$/,SUBPLOT_PATTERN:/^x([0-9]*)y([0-9]*)$/,MINDRAG:8,MINSELECT:12,MINZOOM:20,DRAGGERSIZE:20,BENDPX:1.5,REDRAWDELAY:50,SELECTDELAY:100,SELECTID:&quot;-select&quot;,DFLTRANGEX:[-1,6],DFLTRANGEY:[-1,4],traceLayerClasses:[&quot;imagelayer&quot;,&quot;maplayer&quot;,&quot;barlayer&quot;,&quot;carpetlayer&quot;,&quot;violinlayer&quot;,&quot;boxlayer&quot;,&quot;scatterlayer&quot;],layerValue2layerClass:{&quot;above traces&quot;:&quot;above&quot;,&quot;below traces&quot;:&quot;below&quot;}}},{&quot;../../lib&quot;:743}],795:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib&quot;),i=t(&quot;./axis_ids&quot;).id2name;e.exports=function(t,e,r,a,o){var s=o._axisConstraintGroups,l=e._id,c=l.charAt(0);if(!e.fixedrange&amp;&amp;(r(&quot;constrain&quot;),n.coerce(t,e,{constraintoward:{valType:&quot;enumerated&quot;,values:&quot;x&quot;===c?[&quot;left&quot;,&quot;center&quot;,&quot;right&quot;]:[&quot;bottom&quot;,&quot;middle&quot;,&quot;top&quot;],dflt:&quot;x&quot;===c?&quot;center&quot;:&quot;middle&quot;}},&quot;constraintoward&quot;),t.scaleanchor)){var u=function(t,e,r,n){var a,o,s,l,c=n[i(e)].type,u=[];for(o=0;o&lt;r.length;o++)(s=r[o])!==e&amp;&amp;((l=n[i(s)]).type!==c||l.fixedrange||u.push(s));for(a=0;a&lt;t.length;a++)if(t[a][e]){var f=t[a],h=[];for(o=0;o&lt;u.length;o++)f[s=u[o]]||h.push(s);return{linkableAxes:h,thisGroup:f}}return{linkableAxes:u,thisGroup:null}}(s,l,a,o),f=n.coerce(t,e,{scaleanchor:{valType:&quot;enumerated&quot;,values:u.linkableAxes}},&quot;scaleanchor&quot;);if(f){var h=r(&quot;scaleratio&quot;);h||(h=e.scaleratio=1),function(t,e,r,n,i){var a,o,s,l,c;null===e?((e={})[r]=1,c=t.length,t.push(e)):c=t.indexOf(e);var u=Object.keys(e);for(a=0;a&lt;t.length;a++)if(s=t[a],a!==c&amp;&amp;s[n]){var f=s[n];for(o=0;o&lt;u.length;o++)s[l=u[o]]=f*i*e[l];return void t.splice(c,1)}if(1!==i)for(o=0;o&lt;u.length;o++)e[u[o]]*=i;e[n]=1}(s,u.thisGroup,l,f,h)}else-1!==a.indexOf(t.scaleanchor)&amp;&amp;n.warn(&quot;ignored &quot;+e._name+'.scaleanchor: &quot;'+t.scaleanchor+'&quot; to avoid either an infinite loop and possibly inconsistent scaleratios, or because the targetaxis has fixed range.')}}},{&quot;../../lib&quot;:743,&quot;./axis_ids&quot;:792}],796:[function(t,e,r){&quot;use strict&quot;;function n(t,e){var r=t._inputDomain,n=s[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]}var i=t(&quot;./axis_ids&quot;).id2name,a=t(&quot;./scale_zoom&quot;),o=t(&quot;../../constants/numerical&quot;).ALMOST_EQUAL,s=t(&quot;../../constants/alignment&quot;).FROM_BL;r.enforce=function(t){var e,r,s,l,c,u,f,h=t._fullLayout,d=h._axisConstraintGroups||[];for(e=0;e&lt;d.length;e++){var p=d[e],m=Object.keys(p),g=1/0,v=0,y=1/0,x={},b={},_=!1;for(r=0;r&lt;m.length;r++)b[s=m[r]]=l=h[i(s)],l._inputDomain?l.domain=l._inputDomain.slice():l._inputDomain=l.domain.slice(),l._inputRange||(l._inputRange=l.range.slice()),l.setScale(),x[s]=c=Math.abs(l._m)/p[s],g=Math.min(g,c),&quot;domain&quot;!==l.constrain&amp;&amp;l._constraintShrinkable||(y=Math.min(y,c)),delete l._constraintShrinkable,v=Math.max(v,c),&quot;domain&quot;===l.constrain&amp;&amp;(_=!0);if(!(g&gt;o*v)||_)for(r=0;r&lt;m.length;r++)if(s=m[r],c=x[s],l=b[s],u=l.constrain,c!==y||&quot;domain&quot;===u)if(f=c/y,&quot;range&quot;===u)a(l,f);else{var w=l._inputDomain,M=(l.domain[1]-l.domain[0])/(w[1]-w[0]),k=(l.r2l(l.range[1])-l.r2l(l.range[0]))/(l.r2l(l._inputRange[1])-l.r2l(l._inputRange[0]));if((f/=M)*k&lt;1){l.domain=l._input.domain=w.slice(),a(l,f);continue}if(k&lt;1&amp;&amp;(l.range=l._input.range=l._inputRange.slice(),f*=k),l.autorange&amp;&amp;l._min.length&amp;&amp;l._max.length){var A=l.r2l(l.range[0]),T=l.r2l(l.range[1]),S=(A+T)/2,E=S,L=S,C=Math.abs(T-S),z=S-C*f*1.0001,D=S+C*f*1.0001;n(l,f),l.setScale();var I,P,O=Math.abs(l._m);for(P=0;P&lt;l._min.length;P++)(I=l._min[P].val-l._min[P].pad/O)&gt;z&amp;&amp;I&lt;E&amp;&amp;(E=I);for(P=0;P&lt;l._max.length;P++)(I=l._max[P].val+l._max[P].pad/O)&lt;D&amp;&amp;I&gt;L&amp;&amp;(L=I);f/=(L-E)/(2*C),E=l.l2r(E),L=l.l2r(L),l.range=l._input.range=A&lt;T?[E,L]:[L,E]}n(l,f)}}},r.clean=function(t,e){if(e._inputDomain){for(var r=!1,n=e._id,i=t._fullLayout._axisConstraintGroups,a=0;a&lt;i.length;a++)if(i[a][n]){r=!0;break}r&amp;&amp;&quot;domain&quot;===e.constrain||(e._input.domain=e.domain=e._inputDomain,delete e._inputDomain)}}},{&quot;../../constants/alignment&quot;:716,&quot;../../constants/numerical&quot;:721,&quot;./axis_ids&quot;:792,&quot;./scale_zoom&quot;:806}],797:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,n){var i=t.draglayer.selectAll(&quot;.&quot;+r).data([0]);return i.enter().append(e).classed(&quot;drag&quot;,!0).classed(r,!0).style({fill:&quot;transparent&quot;,&quot;stroke-width&quot;:0}).attr(&quot;data-subplot&quot;,t.id),i.call(S,n),i.node()}function i(t,e,r,i,a,o,s){var l=n(t,&quot;rect&quot;,e,r);return y.select(l).call(A.setRect,i,a,o,s),l}function a(t,e){for(var r=0;r&lt;t.length;r++)if(!t[r].fixedrange)return e;return&quot;&quot;}function o(t,e,r,n,i){var a,s,l,c;for(a=0;a&lt;t.length;a++)(s=t[a]).fixedrange||(l=s._rl[0],c=s._rl[1]-l,s.range=[s.l2r(l+c*e),s.l2r(l+c*r)],n[s._name+&quot;.range[0]&quot;]=s.range[0],n[s._name+&quot;.range[1]&quot;]=s.range[1]);if(i&amp;&amp;i.length){var u=(e+(1-r))/2;o(i,u,1-u,n)}}function s(t,e){for(var r=0;r&lt;t.length;r++){var n=t[r];n.fixedrange||(n.range=[n.l2r(n._rl[0]-e/n._m),n.l2r(n._rl[1]-e/n._m)])}}function l(t,e,r,n,i){return t.append(&quot;path&quot;).attr(&quot;class&quot;,&quot;zoombox&quot;).style({fill:e&gt;.2?&quot;rgba(0,0,0,0)&quot;:&quot;rgba(255,255,255,0)&quot;,&quot;stroke-width&quot;:0}).attr(&quot;transform&quot;,&quot;translate(&quot;+r+&quot;, &quot;+n+&quot;)&quot;).attr(&quot;d&quot;,i+&quot;Z&quot;)}function c(t,e,r){return t.append(&quot;path&quot;).attr(&quot;class&quot;,&quot;zoombox-corners&quot;).style({fill:k.background,stroke:k.defaultLine,&quot;stroke-width&quot;:1,opacity:0}).attr(&quot;transform&quot;,&quot;translate(&quot;+e+&quot;, &quot;+r+&quot;)&quot;).attr(&quot;d&quot;,&quot;M0,0Z&quot;)}function u(t){t.selectAll(&quot;.select-outline&quot;).remove()}function f(t,e,r,n,i,a){t.attr(&quot;d&quot;,n+&quot;M&quot;+r.l+&quot;,&quot;+r.t+&quot;v&quot;+r.h+&quot;h&quot;+r.w+&quot;v-&quot;+r.h+&quot;h-&quot;+r.w+&quot;Z&quot;),h(t,e,i,a)}function h(t,e,r,n){r||(t.transition().style(&quot;fill&quot;,n&gt;.2?&quot;rgba(0,0,0,0.4)&quot;:&quot;rgba(255,255,255,0.3)&quot;).duration(200),e.transition().style(&quot;opacity&quot;,1).duration(200))}function d(t){y.select(t).selectAll(&quot;.zoombox,.js-zoombox-backdrop,.js-zoombox-menu,.zoombox-corners&quot;).remove()}function p(t){j&amp;&amp;t.data&amp;&amp;t._context.showTips&amp;&amp;(w.notifier(w._(t,&quot;Double-click to zoom back out&quot;),&quot;long&quot;),j=!1)}function m(t){return&quot;lasso&quot;===t||&quot;select&quot;===t}function g(t){var e=Math.floor(Math.min(t.b-t.t,t.r-t.l,R)/2);return&quot;M&quot;+(t.l-3.5)+&quot;,&quot;+(t.t-.5+e)+&quot;h3v&quot;+-e+&quot;h&quot;+e+&quot;v-3h-&quot;+(e+3)+&quot;ZM&quot;+(t.r+3.5)+&quot;,&quot;+(t.t-.5+e)+&quot;h-3v&quot;+-e+&quot;h&quot;+-e+&quot;v-3h&quot;+(e+3)+&quot;ZM&quot;+(t.r+3.5)+&quot;,&quot;+(t.b+.5-e)+&quot;h-3v&quot;+e+&quot;h&quot;+-e+&quot;v3h&quot;+(e+3)+&quot;ZM&quot;+(t.l-3.5)+&quot;,&quot;+(t.b+.5-e)+&quot;h3v&quot;+e+&quot;h&quot;+e+&quot;v3h-&quot;+(e+3)+&quot;Z&quot;}function v(t,e){if(N){var r=void 0!==t.onwheel?&quot;wheel&quot;:&quot;mousewheel&quot;;t._onwheel&amp;&amp;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&amp;&amp;(t.onmousewheel=e)}var y=t(&quot;d3&quot;),x=t(&quot;tinycolor2&quot;),b=t(&quot;../../plotly&quot;),_=t(&quot;../../registry&quot;),w=t(&quot;../../lib&quot;),M=t(&quot;../../lib/svg_text_utils&quot;),k=t(&quot;../../components/color&quot;),A=t(&quot;../../components/drawing&quot;),T=t(&quot;../../components/fx&quot;),S=t(&quot;../../lib/setcursor&quot;),E=t(&quot;../../components/dragelement&quot;),L=t(&quot;../../constants/alignment&quot;).FROM_TL,C=t(&quot;../plots&quot;),z=t(&quot;./axes&quot;).doTicks,D=t(&quot;./axis_ids&quot;).getFromId,I=t(&quot;./select&quot;),P=t(&quot;./scale_zoom&quot;),O=t(&quot;./constants&quot;),F=O.MINDRAG,R=O.MINZOOM,N=w.eventListenerOptionsSupported(),j=!0;e.exports={makeDragBox:function(t,e,r,n,h,k,S,N){function j(){X=[e.xaxis],Z=[e.yaxis];var r=X[0],n=Z[0];Q=r._length,$=n._length;var i=ot._axisConstraintGroups,o=[r._id],s=[n._id];W=[e].concat(S&amp;&amp;N?e.overlays:[]);for(var l=1;l&lt;W.length;l++){var c=W[l].xaxis,u=W[l].yaxis;-1===X.indexOf(c)&amp;&amp;(X.push(c),o.push(c._id)),-1===Z.indexOf(u)&amp;&amp;(Z.push(u),s.push(u._id))}tt=a(X,N),et=a(Z,S),rt=function(t,e){return t?&quot;nsew&quot;===t?&quot;pan&quot;===e?&quot;move&quot;:&quot;crosshair&quot;:t.toLowerCase()+&quot;-resize&quot;:&quot;pointer&quot;}(et+tt,ot.dragmode),J=r._offset,K=n._offset;var f=function(t,e,r){var n,i,a,o,s,l,c=!1,u={},f={};for(n=0;n&lt;t.length;n++){for(o=t[n],i=0;i&lt;e.length;i++)if(o[e[i]]){for(s in o)-1===(&quot;x&quot;===s.charAt(0)?e:r).indexOf(s)&amp;&amp;(u[s]=1);for(a=0;a&lt;r.length;a++)o[r[a]]&amp;&amp;(c=!0)}for(i=0;i&lt;r.length;i++)if(o[r[i]])for(l in o)-1===(&quot;x&quot;===l.charAt(0)?e:r).indexOf(l)&amp;&amp;(f[l]=1)}return c&amp;&amp;(w.extendFlat(u,f),f={}),{x:u,y:f,xy:c}}(i,o,s);nt=f.xy,it=[];for(var h in f.x)it.push(D(t,h));at=[];for(var d in f.y)at.push(D(t,d))}function B(e,r){function n(){xt=&quot;&quot;,mt.r=mt.l,mt.t=mt.b,_t.attr(&quot;d&quot;,&quot;M0,0Z&quot;)}if(t._transitioningWithDuration)return!1;var i=Math.max(0,Math.min(Q,e+dt)),a=Math.max(0,Math.min($,r+pt)),o=Math.abs(i-dt),s=Math.abs(a-pt);mt.l=Math.min(dt,i),mt.r=Math.max(dt,i),mt.t=Math.min(pt,a),mt.b=Math.max(pt,a),nt?o&gt;R||s&gt;R?(xt=&quot;xy&quot;,o/Q&gt;s/$?(s=o*$/Q,pt&gt;a?mt.t=pt-s:mt.b=pt+s):(o=s*Q/$,dt&gt;i?mt.l=dt-o:mt.r=dt+o),_t.attr(&quot;d&quot;,g(mt))):n():!et||s&lt;Math.min(Math.max(.6*o,F),R)?o&lt;F?n():(mt.t=0,mt.b=$,xt=&quot;x&quot;,_t.attr(&quot;d&quot;,function(t,e){return&quot;M&quot;+(t.l-.5)+&quot;,&quot;+(e-R-.5)+&quot;h-3v&quot;+(2*R+1)+&quot;h3ZM&quot;+(t.r+.5)+&quot;,&quot;+(e-R-.5)+&quot;h3v&quot;+(2*R+1)+&quot;h-3Z&quot;}(mt,pt))):!tt||o&lt;Math.min(.6*s,R)?(mt.l=0,mt.r=Q,xt=&quot;y&quot;,_t.attr(&quot;d&quot;,function(t,e){return&quot;M&quot;+(e-R-.5)+&quot;,&quot;+(t.t-.5)+&quot;v-3h&quot;+(2*R+1)+&quot;v3ZM&quot;+(e-R-.5)+&quot;,&quot;+(t.b+.5)+&quot;v3h&quot;+(2*R+1)+&quot;v-3Z&quot;}(mt,dt))):(xt=&quot;xy&quot;,_t.attr(&quot;d&quot;,g(mt))),mt.w=mt.r-mt.l,mt.h=mt.b-mt.t,f(bt,_t,mt,vt,yt,gt),yt=!0}function U(){if(Math.min(mt.h,mt.w)&lt;2*F)return d(t);&quot;xy&quot;!==xt&amp;&amp;&quot;x&quot;!==xt||o(X,mt.l/Q,mt.r/Q,wt,it),&quot;xy&quot;!==xt&amp;&amp;&quot;y&quot;!==xt||o(Z,($-mt.b)/$,($-mt.t)/$,wt,at),d(t),G(),p(t)}function V(e){function r(t,e,r){if(!t.fixedrange){var n=w.simpleMap(t.range,t.r2l),i=n[0]+(n[1]-n[0])*e;t.range=n.map(function(e){return t.l2r(i+(e-i)*r)})}}if(t._context.scrollZoom||ot._enablescrollzoom){if(t._transitioningWithDuration)return w.pauseEvent(e);var n=t.querySelector(&quot;.plotly&quot;);if(j(),!(n.scrollHeight-n.clientHeight&gt;10||n.scrollWidth-n.clientWidth&gt;10)){clearTimeout(kt);var i=-e.deltaY;if(isFinite(i)||(i=e.wheelDelta/10),isFinite(i)){var a,o=Math.exp(-Math.min(Math.max(i,-20),20)/200),s=Tt.draglayer.select(&quot;.nsewdrag&quot;).node().getBoundingClientRect(),l=(e.clientX-s.left)/s.width,c=(s.bottom-e.clientY)/s.height;if(N||nt){for(N||(l=.5),a=0;a&lt;X.length;a++)r(X[a],l,o);Mt[2]*=o,Mt[0]+=Mt[2]*l*(1/o-1)}if(S||nt){for(S||(c=.5),a=0;a&lt;Z.length;a++)r(Z[a],c,o);Mt[3]*=o,Mt[1]+=Mt[3]*(1-c)*(1/o-1)}return Y(Mt),H(S,N),kt=setTimeout(function(){Mt=[0,0,Q,$],G()},At),w.pauseEvent(e)}w.log(&quot;Did not find wheel motion attributes: &quot;,e)}}}function q(e,r){function n(t,e,r){for(var n,i,a=1-e,o=0;o&lt;t.length;o++){var s=t[o];if(!s.fixedrange){n=s,i=s._rl[a]+(s._rl[e]-s._rl[a])/function(t){return 1-(t&gt;=0?Math.min(t,.9):1/(1/Math.max(t,-.3)+3.222))}(r/s._length);var l=s.l2r(i);!1!==l&amp;&amp;void 0!==l&amp;&amp;(s.range[e]=l)}}return n._length*(n._rl[e]-i)/(n._rl[e]-n._rl[a])}if(!t._transitioningWithDuration){if(j(),&quot;ew&quot;===tt||&quot;ns&quot;===et)return tt&amp;&amp;s(X,e),et&amp;&amp;s(Z,r),Y([tt?-e:0,et?-r:0,Q,$]),void H(et,tt);if(nt&amp;&amp;tt&amp;&amp;et){var i=&quot;w&quot;===tt==(&quot;n&quot;===et)?1:-1,a=(e/Q+i*r/$)/2;e=a*Q,r=i*a*$}&quot;w&quot;===tt?e=n(X,0,e):&quot;e&quot;===tt?e=n(X,1,-e):tt||(e=0),&quot;n&quot;===et?r=n(Z,1,r):&quot;s&quot;===et?r=n(Z,0,-r):et||(r=0);var o=&quot;w&quot;===tt?e:0,l=&quot;n&quot;===et?r:0;if(nt){var c;if(!tt&amp;&amp;1===et.length){for(c=0;c&lt;X.length;c++)X[c].range=X[c]._r.slice(),P(X[c],1-r/$);o=(e=r*Q/$)/2}if(!et&amp;&amp;1===tt.length){for(c=0;c&lt;Z.length;c++)Z[c].range=Z[c]._r.slice(),P(Z[c],1-e/Q);l=(r=e*$/Q)/2}}Y([o,l,Q-e,$-r]),H(et,tt)}}function H(e,r){function n(t){for(a=0;a&lt;t.length;a++)t[a].fixedrange||o.push(t[a]._id)}function i(n,i,s){for(a=0;a&lt;n.length;a++){var l=n[a];if((r&amp;&amp;-1!==o.indexOf(l.xref)||e&amp;&amp;-1!==o.indexOf(l.yref))&amp;&amp;(i(t,a),s))return}}var a,o=[];for((r||nt)&amp;&amp;(n(X),n(it)),(e||nt)&amp;&amp;(n(Z),n(at)),wt={},a=0;a&lt;o.length;a++){var s=o[a];z(t,s,!0);var l=D(t,s);wt[l._name+&quot;.range[0]&quot;]=l.range[0],wt[l._name+&quot;.range[1]&quot;]=l.range[1]}i(ot.annotations||[],_.getComponentMethod(&quot;annotations&quot;,&quot;drawOne&quot;)),i(ot.shapes||[],_.getComponentMethod(&quot;shapes&quot;,&quot;drawOne&quot;)),i(ot.images||[],_.getComponentMethod(&quot;images&quot;,&quot;draw&quot;),!0)}function G(){Y([0,0,Q,$]),w.syncOrAsync([C.previousPromises,function(){b.relayout(t,wt)}],t)}function Y(t){function e(t){return t.fixedrange?0:d&amp;&amp;-1!==it.indexOf(t)?f:p&amp;&amp;-1!==(nt?it:at).indexOf(t)?h:0}function r(t,e){return e?(t.range=t._r.slice(),P(t,e),n(t,e)):0}function n(t,e){return t._length*(1-e)*L[t.constraintoward||&quot;middle&quot;]}var i,a,o,s,l,c=ot._plots,u=Object.keys(c),f=t[2]/X[0]._length,h=t[3]/Z[0]._length,d=N||nt,p=S||nt;for(ot._glcanvas&amp;&amp;ot._glcanvas.size()&amp;&amp;ot._glcanvas.each(function(t){t.regl&amp;&amp;t.regl.clear({color:!0})}),i=0;i&lt;u.length;i++){var m=c[u[i]],g=m.xaxis,v=m.yaxis,y=d&amp;&amp;!g.fixedrange&amp;&amp;-1!==X.indexOf(g),x=p&amp;&amp;!v.fixedrange&amp;&amp;-1!==Z.indexOf(v);if(m._scene&amp;&amp;m._scene.update){var b=w.simpleMap(g.range,g.r2l),_=w.simpleMap(v.range,v.r2l);m._scene.update({range:[b[0],_[0],b[1],_[1]]})}if(y?(a=f,s=N?t[0]:n(g,a)):s=r(g,a=e(g)),x?(o=h,l=S?t[1]:n(v,o)):l=r(v,o=e(v)),a||o){a||(a=1),o||(o=1);var M=g._offset-s/a,k=v._offset-l/o;ot._defs.select(&quot;#&quot;+m.clipId+&quot;&gt; rect&quot;).call(A.setTranslate,s,l).call(A.setScale,a,o);var T=m.plot.selectAll(&quot;.scatterlayer .trace, .boxlayer .trace, .violinlayer .trace&quot;);m.plot.call(A.setTranslate,M,k).call(A.setScale,1/a,1/o),T.selectAll(&quot;.point&quot;).call(A.setPointGroupScale,a,o),T.selectAll(&quot;.textpoint&quot;).call(A.setTextPointsScale,a,o),T.call(A.hideOutsideRangePoints,m)}}}var W,X,Z,J,K,Q,$,tt,et,rt,nt,it,at,ot=t._fullLayout,st=t._fullLayout._zoomlayer,lt=S+N===&quot;nsew&quot;,ct=1===(S+N).length;j();var ut=i(e,S+N+&quot;drag&quot;,rt,r,n,h,k),ft=!et&amp;&amp;!tt;if(ft&amp;&amp;!lt)return ut.onmousedown=null,ut.style.pointerEvents=&quot;none&quot;,ut;var ht={element:ut,gd:t,plotinfo:e,prepFn:function(e,r,n){var i=t._fullLayout.dragmode;ft||(lt?e.shiftKey?&quot;pan&quot;===i?i=&quot;zoom&quot;:m(i)||(i=&quot;pan&quot;):e.ctrlKey&amp;&amp;(i=&quot;pan&quot;):i=&quot;pan&quot;),ht.minDrag=&quot;lasso&quot;===i?1:void 0,m(i)?(ht.xaxes=X,ht.yaxes=Z,I(e,r,n,ht,i)):ft?u(st):&quot;zoom&quot;===i?(ht.moveFn=B,ht.doneFn=U,ht.minDrag=1,function(e,r,n){var i=ut.getBoundingClientRect();dt=r-i.left,pt=n-i.top,mt={l:dt,r:dt,w:0,t:pt,b:pt,h:0},gt=t._hmpixcount?t._hmlumcount/t._hmpixcount:x(t._fullLayout.plot_bgcolor).getLuminance(),yt=!1,xt=&quot;xy&quot;,bt=l(st,gt,J,K,vt=&quot;M0,0H&quot;+Q+&quot;V&quot;+$+&quot;H0V0&quot;),_t=c(st,J,K),u(st)}(0,r,n)):&quot;pan&quot;===i&amp;&amp;(ht.moveFn=q,ht.doneFn=G,u(st))},clickFn:function(r,n){if(d(t),2!==r||ct||function(){if(!t._transitioningWithDuration){var e,r,n,i=t._context.doubleClick,a=(tt?X:[]).concat(et?Z:[]),o={};if(&quot;reset+autosize&quot;===i)for(i=&quot;autosize&quot;,r=0;r&lt;a.length;r++)if((e=a[r])._rangeInitial&amp;&amp;(e.range[0]!==e._rangeInitial[0]||e.range[1]!==e._rangeInitial[1])||!e._rangeInitial&amp;&amp;!e.autorange){i=&quot;reset&quot;;break}if(&quot;autosize&quot;===i)for(r=0;r&lt;a.length;r++)(e=a[r]).fixedrange||(o[e._name+&quot;.autorange&quot;]=!0);else if(&quot;reset&quot;===i)for((tt||nt)&amp;&amp;(a=a.concat(it)),et&amp;&amp;!nt&amp;&amp;(a=a.concat(at)),nt&amp;&amp;(tt?et||(a=a.concat(Z)):a=a.concat(X)),r=0;r&lt;a.length;r++)(e=a[r])._rangeInitial?(n=e._rangeInitial,o[e._name+&quot;.range[0]&quot;]=n[0],o[e._name+&quot;.range[1]&quot;]=n[1]):o[e._name+&quot;.autorange&quot;]=!0;t.emit(&quot;plotly_doubleclick&quot;,null),b.relayout(t,o)}}(),lt)T.click(t,n,e.id);else if(1===r&amp;&amp;ct){var i=S?Z[0]:X[0],a=&quot;s&quot;===S||&quot;w&quot;===N?0:1,o=i._name+&quot;.range[&quot;+a+&quot;]&quot;,s=function(t,e){var r,n=t.range[e],i=Math.abs(n-t.range[1-e]);return&quot;date&quot;===t.type?n:&quot;log&quot;===t.type?(r=Math.ceil(Math.max(0,-Math.log(i)/Math.LN10))+3,y.format(&quot;.&quot;+r+&quot;g&quot;)(Math.pow(10,n))):(r=Math.floor(Math.log(Math.abs(n))/Math.LN10)-Math.floor(Math.log(i)/Math.LN10)+4,y.format(&quot;.&quot;+String(r)+&quot;g&quot;)(n))}(i,a),l=&quot;left&quot;,c=&quot;middle&quot;;if(i.fixedrange)return;S?(c=&quot;n&quot;===S?&quot;top&quot;:&quot;bottom&quot;,&quot;right&quot;===i.side&amp;&amp;(l=&quot;right&quot;)):&quot;e&quot;===N&amp;&amp;(l=&quot;right&quot;),t._context.showAxisRangeEntryBoxes&amp;&amp;y.select(ut).call(M.makeEditable,{gd:t,immediate:!0,background:ot.paper_bgcolor,text:String(s),fill:i.tickfont?i.tickfont.color:&quot;#444&quot;,horizontalAlign:l,verticalAlign:c}).on(&quot;edit&quot;,function(e){var r=i.d2r(e);void 0!==r&amp;&amp;b.relayout(t,o,r)})}}};E.init(ht);var dt,pt,mt,gt,vt,yt,xt,bt,_t,wt={},Mt=[0,0,Q,$],kt=null,At=O.REDRAWDELAY,Tt=e.mainplot?ot._plots[e.mainplot]:e;return S.length*N.length!=1&amp;&amp;v(ut,V),ut},makeDragger:n,makeRectDragger:i,makeZoombox:l,makeCorners:c,updateZoombox:f,xyCorners:g,transitionZoombox:h,removeZoombox:d,clearSelect:u,showDoubleClickNotifier:p,attachWheelEventHandler:v}},{&quot;../../components/color&quot;:618,&quot;../../components/dragelement&quot;:640,&quot;../../components/drawing&quot;:643,&quot;../../components/fx&quot;:660,&quot;../../constants/alignment&quot;:716,&quot;../../lib&quot;:743,&quot;../../lib/setcursor&quot;:762,&quot;../../lib/svg_text_utils&quot;:766,&quot;../../plotly&quot;:784,&quot;../../registry&quot;:873,&quot;../plots&quot;:852,&quot;./axes&quot;:789,&quot;./axis_ids&quot;:792,&quot;./constants&quot;:794,&quot;./scale_zoom&quot;:806,&quot;./select&quot;:807,d3:128,tinycolor2:546}],798:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../components/fx&quot;),i=t(&quot;../../components/dragelement&quot;),a=t(&quot;./constants&quot;),o=t(&quot;./dragbox&quot;).makeDragBox;e.exports=function(t){var e=t._fullLayout;if((e._has(&quot;cartesian&quot;)||e._has(&quot;gl2d&quot;))&amp;&amp;!t._context.staticPlot){Object.keys(e._plots||{}).sort(function(t,r){if((e._plots[t].mainplot&amp;&amp;!0)===(e._plots[r].mainplot&amp;&amp;!0)){var n=t.split(&quot;y&quot;),i=r.split(&quot;y&quot;);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 s=e._plots[r],l=s.xaxis,c=s.yaxis,u=a.DRAGGERSIZE;if(!s.mainplot){var f=o(t,s,l._offset,c._offset,l._length,c._length,&quot;ns&quot;,&quot;ew&quot;);f.onmousemove=function(e){t._fullLayout._rehover=function(){t._fullLayout._hoversubplot===r&amp;&amp;n.hover(t,e,r)},n.hover(t,e,r),t._fullLayout._lasthover=f,t._fullLayout._hoversubplot=r},f.onmouseout=function(e){t._dragging||(t._fullLayout._hoversubplot=null,i.unhover(t,e))},t._context.showAxisDragHandles&amp;&amp;(o(t,s,l._offset-u,c._offset-u,u,u,&quot;n&quot;,&quot;w&quot;),o(t,s,l._offset+l._length,c._offset-u,u,u,&quot;n&quot;,&quot;e&quot;),o(t,s,l._offset-u,c._offset+c._length,u,u,&quot;s&quot;,&quot;w&quot;),o(t,s,l._offset+l._length,c._offset+c._length,u,u,&quot;s&quot;,&quot;e&quot;))}if(t._context.showAxisDragHandles){if(r===l._mainSubplot){var h=l._mainLinePosition;&quot;top&quot;===l.side&amp;&amp;(h-=u),o(t,s,l._offset+.1*l._length,h,.8*l._length,u,&quot;&quot;,&quot;ew&quot;),o(t,s,l._offset,h,.1*l._length,u,&quot;&quot;,&quot;w&quot;),o(t,s,l._offset+.9*l._length,h,.1*l._length,u,&quot;&quot;,&quot;e&quot;)}if(r===c._mainSubplot){var d=c._mainLinePosition;&quot;right&quot;!==c.side&amp;&amp;(d-=u),o(t,s,d,c._offset+.1*c._length,u,.8*c._length,&quot;ns&quot;,&quot;&quot;),o(t,s,d,c._offset+.9*c._length,u,.1*c._length,&quot;s&quot;,&quot;&quot;),o(t,s,d,c._offset,u,.1*c._length,&quot;n&quot;,&quot;&quot;)}}});var r=e._hoverlayer.node();r.onmousemove=function(r){r.target=e._lasthover,n.hover(t,r,e._hoversubplot)},r.onclick=function(r){r.target=e._lasthover,n.click(t,r)},r.onmousedown=function(t){e._lasthover.onmousedown(t)}}}},{&quot;../../components/dragelement&quot;:640,&quot;../../components/fx&quot;:660,&quot;./constants&quot;:794,&quot;./dragbox&quot;:797}],799:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../registry&quot;),i=t(&quot;../../lib&quot;);e.exports=function(t){return function(e,r){var a=e[t];if(Array.isArray(a))for(var o=n.subplotsRegistry.cartesian,s=o.idRegex,l=r._subplots,c=l.xaxis,u=l.yaxis,f=l.cartesian,h=r._has(&quot;cartesian&quot;)||r._has(&quot;gl2d&quot;),d=0;d&lt;a.length;d++){var p=a[d];if(i.isPlainObject(p)){var m=p.xref,g=p.yref,v=s.x.test(m),y=s.y.test(g);if(v||y){h||i.pushUnique(r._basePlotModules,o);var x=!1;v&amp;&amp;-1===c.indexOf(m)&amp;&amp;(c.push(m),x=!0),y&amp;&amp;-1===u.indexOf(g)&amp;&amp;(u.push(g),x=!0),x&amp;&amp;v&amp;&amp;y&amp;&amp;f.push(m+g)}}}}}},{&quot;../../lib&quot;:743,&quot;../../registry&quot;:873}],800:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,n,i){var a=t._fullLayout._modules;e.plot&amp;&amp;e.plot.selectAll(&quot;g:not(.scatterlayer)&quot;).selectAll(&quot;g.trace&quot;).remove();for(var o=0;o&lt;a.length;o++){var s=a[o];if(&quot;cartesian&quot;===s.basePlotModule.name){var l=u(r,s);s.plot&amp;&amp;s.plot(t,e,l,n,i)}}}function i(t){var e=t.plotgroup,r=t.id,n=h.layerValue2layerClass[t.xaxis.layer],i=h.layerValue2layerClass[t.yaxis.layer];if(t.mainplot){var a=t.mainplotinfo,s=a.plotgroup,l=r+&quot;-x&quot;,c=r+&quot;-y&quot;;t.gridlayer=a.gridlayer,t.zerolinelayer=a.zerolinelayer,o(a.overlinesBelow,&quot;path&quot;,l),o(a.overlinesBelow,&quot;path&quot;,c),o(a.overaxesBelow,&quot;g&quot;,l),o(a.overaxesBelow,&quot;g&quot;,c),t.plot=o(a.overplot,&quot;g&quot;,r),o(a.overlinesAbove,&quot;path&quot;,l),o(a.overlinesAbove,&quot;path&quot;,c),o(a.overaxesAbove,&quot;g&quot;,l),o(a.overaxesAbove,&quot;g&quot;,c),t.xlines=s.select(&quot;.overlines-&quot;+n).select(&quot;.&quot;+l),t.ylines=s.select(&quot;.overlines-&quot;+i).select(&quot;.&quot;+c),t.xaxislayer=s.select(&quot;.overaxes-&quot;+n).select(&quot;.&quot;+l),t.yaxislayer=s.select(&quot;.overaxes-&quot;+i).select(&quot;.&quot;+c)}else{var u=o(e,&quot;g&quot;,&quot;layer-subplot&quot;);t.shapelayer=o(u,&quot;g&quot;,&quot;shapelayer&quot;),t.imagelayer=o(u,&quot;g&quot;,&quot;imagelayer&quot;),t.gridlayer=o(e,&quot;g&quot;,&quot;gridlayer&quot;),t.zerolinelayer=o(e,&quot;g&quot;,&quot;zerolinelayer&quot;),o(e,&quot;path&quot;,&quot;xlines-below&quot;),o(e,&quot;path&quot;,&quot;ylines-below&quot;),t.overlinesBelow=o(e,&quot;g&quot;,&quot;overlines-below&quot;),o(e,&quot;g&quot;,&quot;xaxislayer-below&quot;),o(e,&quot;g&quot;,&quot;yaxislayer-below&quot;),t.overaxesBelow=o(e,&quot;g&quot;,&quot;overaxes-below&quot;),t.plot=o(e,&quot;g&quot;,&quot;plot&quot;),t.overplot=o(e,&quot;g&quot;,&quot;overplot&quot;),o(e,&quot;path&quot;,&quot;xlines-above&quot;),o(e,&quot;path&quot;,&quot;ylines-above&quot;),t.overlinesAbove=o(e,&quot;g&quot;,&quot;overlines-above&quot;),o(e,&quot;g&quot;,&quot;xaxislayer-above&quot;),o(e,&quot;g&quot;,&quot;yaxislayer-above&quot;),t.overaxesAbove=o(e,&quot;g&quot;,&quot;overaxes-above&quot;),t.xlines=e.select(&quot;.xlines-&quot;+n),t.ylines=e.select(&quot;.ylines-&quot;+i),t.xaxislayer=e.select(&quot;.xaxislayer-&quot;+n),t.yaxislayer=e.select(&quot;.yaxislayer-&quot;+i)}o(t.gridlayer,&quot;g&quot;,t.xaxis._id,t.xaxis._id),o(t.gridlayer,&quot;g&quot;,t.yaxis._id,t.yaxis._id),t.gridlayer.selectAll(&quot;g&quot;).sort(f.idSort);for(var d=0;d&lt;h.traceLayerClasses.length;d++)o(t.plot,&quot;g&quot;,h.traceLayerClasses[d]);t.xlines.style(&quot;fill&quot;,&quot;none&quot;).classed(&quot;crisp&quot;,!0),t.ylines.style(&quot;fill&quot;,&quot;none&quot;).classed(&quot;crisp&quot;,!0)}function a(t,e){if(t){var r={};t.each(function(t){var n=s.select(this),i=&quot;clip&quot;+e._uid+t+&quot;plot&quot;;n.remove(),e._draggers.selectAll(&quot;g.&quot;+t).remove(),e._defs.select(&quot;#&quot;+i).remove(),r[t]=!0});for(var n=e._plots,i=Object.keys(n),a=0;a&lt;i.length;a++)for(var o=n[i[a]].overlays||[],l=0;l&lt;o.length;l++){var c=o[l];r[c.id]&amp;&amp;c.plot.selectAll(&quot;.trace&quot;).remove()}}}function o(t,e,r,n){var i=t.selectAll(&quot;.&quot;+r).data([n||0]);return i.enter().append(e).classed(r,!0),i}var s=t(&quot;d3&quot;),l=t(&quot;../../lib&quot;),c=t(&quot;../plots&quot;),u=t(&quot;../get_data&quot;).getModuleCalcData,f=t(&quot;./axis_ids&quot;),h=t(&quot;./constants&quot;),d=t(&quot;../../constants/xmlns_namespaces&quot;);r.name=&quot;cartesian&quot;,r.attr=[&quot;xaxis&quot;,&quot;yaxis&quot;],r.idRoot=[&quot;x&quot;,&quot;y&quot;],r.idRegex=h.idRegex,r.attrRegex=h.attrRegex,r.attributes=t(&quot;./attributes&quot;),r.layoutAttributes=t(&quot;./layout_attributes&quot;),r.supplyLayoutDefaults=t(&quot;./layout_defaults&quot;),r.transitionAxes=t(&quot;./transition_axes&quot;),r.finalizeSubplots=function(t,e){var r,n,i,a=e._subplots,o=a.xaxis,s=a.yaxis,c=a.cartesian,u=c.concat(a.gl2d||[]),d={},p={};for(r=0;r&lt;u.length;r++){var m=u[r].split(&quot;y&quot;);d[m[0]]=1,p[&quot;y&quot;+m[1]]=1}for(r=0;r&lt;o.length;r++)d[n=o[r]]||(i=(t[f.id2name(n)]||{}).anchor,h.idRegex.y.test(i)||(i=&quot;y&quot;),c.push(n+i),u.push(n+i),p[i]||(p[i]=1,l.pushUnique(s,i)));for(r=0;r&lt;s.length;r++)p[i=s[r]]||(n=(t[f.id2name(i)]||{}).anchor,h.idRegex.x.test(n)||(n=&quot;x&quot;),c.push(n+i),u.push(n+i),d[n]||(d[n]=1,l.pushUnique(o,n)));if(!u.length){var g=Object.keys(t);for(n=&quot;&quot;,i=&quot;&quot;,r=0;r&lt;g.length;r++){var v=g[r];if(h.attrRegex.test(v)){&quot;x&quot;===v.charAt(0)?(!n||+v.substr(5)&lt;+n.substr(5))&amp;&amp;(n=v):(!i||+v.substr(5)&lt;+i.substr(5))&amp;&amp;(i=v)}}n=n?f.name2id(n):&quot;x&quot;,i=i?f.name2id(i):&quot;y&quot;,o.push(n),s.push(i),c.push(n+i)}},r.plot=function(t,e,r,i){var a,o=t._fullLayout,s=o._subplots.cartesian,l=t.calcdata;if(!Array.isArray(e))for(e=[],a=0;a&lt;l.length;a++)e.push(a);for(o._glcanvas&amp;&amp;o._glcanvas.size()&amp;&amp;o._glcanvas.each(function(t){t.regl&amp;&amp;t.regl.clear({color:!0})}),a=0;a&lt;s.length;a++){for(var c,u=s[a],f=o._plots[u],h=[],d=0;d&lt;l.length;d++){var p=l[d],m=p[0].trace;m.xaxis+m.yaxis===u&amp;&amp;((-1!==e.indexOf(m.index)||m.carpet)&amp;&amp;(c&amp;&amp;c[0].trace.xaxis+c[0].trace.yaxis===u&amp;&amp;-1!==[&quot;tonextx&quot;,&quot;tonexty&quot;,&quot;tonext&quot;].indexOf(m.fill)&amp;&amp;-1===h.indexOf(c)&amp;&amp;h.push(c),h.push(p)),c=p)}n(t,f,h,r,i)}},r.clean=function(t,e,r,n){var i,o,s,l,c,u,f,h,d=n._modules||[],p=e._modules||[];for(c=0;c&lt;d.length;c++){&quot;scatter&quot;===d[c].name&amp;&amp;(i=!0);break}for(c=0;c&lt;p.length;c++)if(&quot;scatter&quot;===p[c].name){o=!0;break}for(c=0;c&lt;d.length;c++){&quot;scattergl&quot;===d[c].name&amp;&amp;(s=!0);break}for(c=0;c&lt;p.length;c++)if(&quot;scattergl&quot;===p[c].name){l=!0;break}if(i&amp;&amp;!o){for(u=n._plots,f=Object.keys(u||{}),c=0;c&lt;f.length;c++)(h=u[f[c]]).plot&amp;&amp;h.plot.select(&quot;g.scatterlayer&quot;).selectAll(&quot;g.trace&quot;).remove();n._infolayer.selectAll(&quot;g.rangeslider-container&quot;).select(&quot;g.scatterlayer&quot;).selectAll(&quot;g.trace&quot;).remove()}if(s&amp;&amp;!l)for(u=n._plots,f=Object.keys(u||{}),c=0;c&lt;f.length;c++)(h=u[f[c]])._scene&amp;&amp;h._scene.destroy();var m=n._subplots||{},g=e._subplots||{xaxis:[],yaxis:[]};if(m.xaxis&amp;&amp;m.yaxis){var v=m.xaxis.concat(m.yaxis),y=g.xaxis.concat(g.yaxis);for(c=0;c&lt;v.length;c++)-1===y.indexOf(v[c])&amp;&amp;n._infolayer.selectAll(&quot;.g-&quot;+v[c]+&quot;title&quot;).remove()}var x=n._has&amp;&amp;n._has(&quot;cartesian&quot;),b=e._has&amp;&amp;e._has(&quot;cartesian&quot;);x&amp;&amp;!b&amp;&amp;(a(n._cartesianlayer.selectAll(&quot;.subplot&quot;),n),n._defs.selectAll(&quot;.axesclip&quot;).remove())},r.drawFramework=function(t){var e=t._fullLayout,r=function(t){for(var e=t._fullLayout,r=Object.keys(e._plots),n=[],i=[],a=0;a&lt;r.length;a++){var o=r[a],s=e._plots[o],l=s.xaxis,c=s.yaxis,u=l._mainAxis,f=c._mainAxis,h=u._id+f._id;h!==o&amp;&amp;-1!==r.indexOf(h)?(s.mainplot=h,s.mainplotinfo=e._plots[h],i.push(o)):n.push(o)}return n=n.concat(i)}(t),n=e._cartesianlayer.selectAll(&quot;.subplot&quot;).data(r,l.identity);n.enter().append(&quot;g&quot;).attr(&quot;class&quot;,function(t){return&quot;subplot &quot;+t}),n.order(),n.exit().call(a,e),n.each(function(t){var r=e._plots[t];if(r.plotgroup=s.select(this),r.overlays=[],i(r),r.mainplot){e._plots[r.mainplot].overlays.push(r)}r.draglayer=o(e._draggers,&quot;g&quot;,t)})},r.rangePlot=function(t,e,r){i(e),n(t,e,r),c.style(t)},r.toSVG=function(t){var e=t._fullLayout._glimages,r=s.select(t).selectAll(&quot;.svg-container&quot;);r.filter(function(t,e){return e===r.size()-1}).selectAll(&quot;.gl-canvas-context, .gl-canvas-focus&quot;).each(function(){var t=this.toDataURL(&quot;image/png&quot;);e.append(&quot;svg:image&quot;).attr({xmlns:d.svg,&quot;xlink:href&quot;:t,preserveAspectRatio:&quot;none&quot;,x:0,y:0,width:this.width,height:this.height})})}},{&quot;../../constants/xmlns_namespaces&quot;:723,&quot;../../lib&quot;:743,&quot;../get_data&quot;:826,&quot;../plots&quot;:852,&quot;./attributes&quot;:788,&quot;./axis_ids&quot;:792,&quot;./constants&quot;:794,&quot;./layout_attributes&quot;:801,&quot;./layout_defaults&quot;:802,&quot;./transition_axes&quot;:812,d3:128}],801:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../font_attributes&quot;),i=t(&quot;../../components/color/attributes&quot;),a=t(&quot;../../components/drawing/attributes&quot;).dash,o=t(&quot;../../lib/extend&quot;).extendFlat,s=t(&quot;./constants&quot;);e.exports={visible:{valType:&quot;boolean&quot;,editType:&quot;plot&quot;},color:{valType:&quot;color&quot;,dflt:i.defaultLine,editType:&quot;ticks&quot;},title:{valType:&quot;string&quot;,editType:&quot;ticks&quot;},titlefont:n({editType:&quot;ticks&quot;}),type:{valType:&quot;enumerated&quot;,values:[&quot;-&quot;,&quot;linear&quot;,&quot;log&quot;,&quot;date&quot;,&quot;category&quot;],dflt:&quot;-&quot;,editType:&quot;calc&quot;},autorange:{valType:&quot;enumerated&quot;,values:[!0,!1,&quot;reversed&quot;],dflt:!0,editType:&quot;calc&quot;,impliedEdits:{&quot;range[0]&quot;:void 0,&quot;range[1]&quot;:void 0}},rangemode:{valType:&quot;enumerated&quot;,values:[&quot;normal&quot;,&quot;tozero&quot;,&quot;nonnegative&quot;],dflt:&quot;normal&quot;,editType:&quot;calc&quot;},range:{valType:&quot;info_array&quot;,items:[{valType:&quot;any&quot;,editType:&quot;plot&quot;,impliedEdits:{&quot;^autorange&quot;:!1}},{valType:&quot;any&quot;,editType:&quot;plot&quot;,impliedEdits:{&quot;^autorange&quot;:!1}}],editType:&quot;plot&quot;,impliedEdits:{autorange:!1}},fixedrange:{valType:&quot;boolean&quot;,dflt:!1,editType:&quot;calc&quot;},scaleanchor:{valType:&quot;enumerated&quot;,values:[s.idRegex.x.toString(),s.idRegex.y.toString()],editType:&quot;calc&quot;},scaleratio:{valType:&quot;number&quot;,min:0,dflt:1,editType:&quot;calc&quot;},constrain:{valType:&quot;enumerated&quot;,values:[&quot;range&quot;,&quot;domain&quot;],dflt:&quot;range&quot;,editType:&quot;calc&quot;},constraintoward:{valType:&quot;enumerated&quot;,values:[&quot;left&quot;,&quot;center&quot;,&quot;right&quot;,&quot;top&quot;,&quot;middle&quot;,&quot;bottom&quot;],editType:&quot;calc&quot;},tickmode:{valType:&quot;enumerated&quot;,values:[&quot;auto&quot;,&quot;linear&quot;,&quot;array&quot;],editType:&quot;ticks&quot;,impliedEdits:{tick0:void 0,dtick:void 0}},nticks:{valType:&quot;integer&quot;,min:0,dflt:0,editType:&quot;ticks&quot;},tick0:{valType:&quot;any&quot;,editType:&quot;ticks&quot;,impliedEdits:{tickmode:&quot;linear&quot;}},dtick:{valType:&quot;any&quot;,editType:&quot;ticks&quot;,impliedEdits:{tickmode:&quot;linear&quot;}},tickvals:{valType:&quot;data_array&quot;,editType:&quot;ticks&quot;},ticktext:{valType:&quot;data_array&quot;,editType:&quot;ticks&quot;},ticks:{valType:&quot;enumerated&quot;,values:[&quot;outside&quot;,&quot;inside&quot;,&quot;&quot;],editType:&quot;ticks&quot;},mirror:{valType:&quot;enumerated&quot;,values:[!0,&quot;ticks&quot;,!1,&quot;all&quot;,&quot;allticks&quot;],dflt:!1,editType:&quot;ticks+layoutstyle&quot;},ticklen:{valType:&quot;number&quot;,min:0,dflt:5,editType:&quot;ticks&quot;},tickwidth:{valType:&quot;number&quot;,min:0,dflt:1,editType:&quot;ticks&quot;},tickcolor:{valType:&quot;color&quot;,dflt:i.defaultLine,editType:&quot;ticks&quot;},showticklabels:{valType:&quot;boolean&quot;,dflt:!0,editType:&quot;ticks&quot;},showspikes:{valType:&quot;boolean&quot;,dflt:!1,editType:&quot;modebar&quot;},spikecolor:{valType:&quot;color&quot;,dflt:null,editType:&quot;none&quot;},spikethickness:{valType:&quot;number&quot;,dflt:3,editType:&quot;none&quot;},spikedash:o({},a,{dflt:&quot;dash&quot;,editType:&quot;none&quot;}),spikemode:{valType:&quot;flaglist&quot;,flags:[&quot;toaxis&quot;,&quot;across&quot;,&quot;marker&quot;],dflt:&quot;toaxis&quot;,editType:&quot;none&quot;},spikesnap:{valType:&quot;enumerated&quot;,values:[&quot;data&quot;,&quot;cursor&quot;],dflt:&quot;data&quot;,editType:&quot;none&quot;},tickfont:n({editType:&quot;ticks&quot;}),tickangle:{valType:&quot;angle&quot;,dflt:&quot;auto&quot;,editType:&quot;ticks&quot;},tickprefix:{valType:&quot;string&quot;,dflt:&quot;&quot;,editType:&quot;ticks&quot;},showtickprefix:{valType:&quot;enumerated&quot;,values:[&quot;all&quot;,&quot;first&quot;,&quot;last&quot;,&quot;none&quot;],dflt:&quot;all&quot;,editType:&quot;ticks&quot;},ticksuffix:{valType:&quot;string&quot;,dflt:&quot;&quot;,editType:&quot;ticks&quot;},showticksuffix:{valType:&quot;enumerated&quot;,values:[&quot;all&quot;,&quot;first&quot;,&quot;last&quot;,&quot;none&quot;],dflt:&quot;all&quot;,editType:&quot;ticks&quot;},showexponent:{valType:&quot;enumerated&quot;,values:[&quot;all&quot;,&quot;first&quot;,&quot;last&quot;,&quot;none&quot;],dflt:&quot;all&quot;,editType:&quot;ticks&quot;},exponentformat:{valType:&quot;enumerated&quot;,values:[&quot;none&quot;,&quot;e&quot;,&quot;E&quot;,&quot;power&quot;,&quot;SI&quot;,&quot;B&quot;],dflt:&quot;B&quot;,editType:&quot;ticks&quot;},separatethousands:{valType:&quot;boolean&quot;,dflt:!1,editType:&quot;ticks&quot;},tickformat:{valType:&quot;string&quot;,dflt:&quot;&quot;,editType:&quot;ticks&quot;},tickformatstops:{_isLinkedToArray:&quot;tickformatstop&quot;,dtickrange:{valType:&quot;info_array&quot;,items:[{valType:&quot;any&quot;,editType:&quot;ticks&quot;},{valType:&quot;any&quot;,editType:&quot;ticks&quot;}],editType:&quot;ticks&quot;},value:{valType:&quot;string&quot;,dflt:&quot;&quot;,editType:&quot;ticks&quot;},editType:&quot;ticks&quot;},hoverformat:{valType:&quot;string&quot;,dflt:&quot;&quot;,editType:&quot;none&quot;},showline:{valType:&quot;boolean&quot;,dflt:!1,editType:&quot;layoutstyle&quot;},linecolor:{valType:&quot;color&quot;,dflt:i.defaultLine,editType:&quot;layoutstyle&quot;},linewidth:{valType:&quot;number&quot;,min:0,dflt:1,editType:&quot;ticks+layoutstyle&quot;},showgrid:{valType:&quot;boolean&quot;,editType:&quot;ticks&quot;},gridcolor:{valType:&quot;color&quot;,dflt:i.lightLine,editType:&quot;ticks&quot;},gridwidth:{valType:&quot;number&quot;,min:0,dflt:1,editType:&quot;ticks&quot;},zeroline:{valType:&quot;boolean&quot;,editType:&quot;ticks&quot;},zerolinecolor:{valType:&quot;color&quot;,dflt:i.defaultLine,editType:&quot;ticks&quot;},zerolinewidth:{valType:&quot;number&quot;,dflt:1,editType:&quot;ticks&quot;},anchor:{valType:&quot;enumerated&quot;,values:[&quot;free&quot;,s.idRegex.x.toString(),s.idRegex.y.toString()],editType:&quot;plot&quot;},side:{valType:&quot;enumerated&quot;,values:[&quot;top&quot;,&quot;bottom&quot;,&quot;left&quot;,&quot;right&quot;],editType:&quot;plot&quot;},overlaying:{valType:&quot;enumerated&quot;,values:[&quot;free&quot;,s.idRegex.x.toString(),s.idRegex.y.toString()],editType:&quot;calc&quot;},layer:{valType:&quot;enumerated&quot;,values:[&quot;above traces&quot;,&quot;below traces&quot;],dflt:&quot;above traces&quot;,editType:&quot;plot&quot;},domain:{valType:&quot;info_array&quot;,items:[{valType:&quot;number&quot;,min:0,max:1,editType:&quot;calc&quot;},{valType:&quot;number&quot;,min:0,max:1,editType:&quot;calc&quot;}],dflt:[0,1],editType:&quot;calc&quot;},position:{valType:&quot;number&quot;,min:0,max:1,dflt:0,editType:&quot;plot&quot;},categoryorder:{valType:&quot;enumerated&quot;,values:[&quot;trace&quot;,&quot;category ascending&quot;,&quot;category descending&quot;,&quot;array&quot;],dflt:&quot;trace&quot;,editType:&quot;calc&quot;},categoryarray:{valType:&quot;data_array&quot;,editType:&quot;calc&quot;},editType:&quot;calc&quot;,_deprecated:{autotick:{valType:&quot;boolean&quot;,editType:&quot;ticks&quot;}}}},{&quot;../../components/color/attributes&quot;:617,&quot;../../components/drawing/attributes&quot;:642,&quot;../../lib/extend&quot;:732,&quot;../font_attributes&quot;:816,&quot;./constants&quot;:794}],802:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../registry&quot;),i=t(&quot;../../lib&quot;),a=t(&quot;../../components/color&quot;),o=t(&quot;../layout_attributes&quot;),s=t(&quot;./layout_attributes&quot;),l=t(&quot;./type_defaults&quot;),c=t(&quot;./axis_defaults&quot;),u=t(&quot;./constraint_defaults&quot;),f=t(&quot;./position_defaults&quot;),h=t(&quot;./axis_ids&quot;);e.exports=function(t,e,r){function d(t,e){return i.coerce(P,O,s,t,e)}function p(t,e){return i.coerce2(P,O,s,t,e)}function m(t){return&quot;x&quot;===t?S:T}function g(e,r){for(var n=&quot;x&quot;===e?E:L,i=[],a=0;a&lt;n.length;a++){var o=n[a];o===r||(t[o]||{}).overlaying||i.push(h.name2id(o))}return i}var v,y={},x={},b={},_={};for(v=0;v&lt;r.length;v++){var w=r[v];if(n.traceIs(w,&quot;cartesian&quot;)||n.traceIs(w,&quot;gl2d&quot;)){var M=h.id2name(w.xaxis),k=h.id2name(w.yaxis);if(n.traceIs(w,&quot;carpet&quot;)&amp;&amp;(&quot;carpet&quot;!==w.type||w._cheater)||M&amp;&amp;(x[M]=1),&quot;carpet&quot;===w.type&amp;&amp;w._cheater&amp;&amp;M&amp;&amp;(y[M]=1),n.traceIs(w,&quot;2dMap&quot;)&amp;&amp;(b[M]=!0,b[k]=!0),n.traceIs(w,&quot;oriented&quot;)){_[&quot;h&quot;===w.orientation?k:M]=!0}}}var A=e._subplots,T=A.xaxis,S=A.yaxis,E=i.simpleMap(T,h.id2name),L=i.simpleMap(S,h.id2name),C=E.concat(L),z=a.background;T.length&amp;&amp;S.length&amp;&amp;(z=i.coerce(t,e,o,&quot;plot_bgcolor&quot;));var D,I,P,O,F=a.combine(z,e.paper_bgcolor),R={x:m(&quot;x&quot;),y:m(&quot;y&quot;)};for(v=0;v&lt;C.length;v++){D=C[v],i.isPlainObject(t[D])||(t[D]={}),P=t[D],O=e[D]={},l(P,O,d,r,D);var N=g(I=D.charAt(0),D),j={letter:I,font:e.font,outerTicks:b[D],showGrid:!_[D],data:r,bgColor:F,calendar:e.calendar,cheateronly:&quot;x&quot;===I&amp;&amp;y[D]&amp;&amp;!x[D]};c(P,O,d,j,e);var B=p(&quot;spikecolor&quot;),U=p(&quot;spikethickness&quot;),V=p(&quot;spikedash&quot;),q=p(&quot;spikemode&quot;),H=p(&quot;spikesnap&quot;);d(&quot;showspikes&quot;,!!(B||U||V||q||H))||(delete O.spikecolor,delete O.spikethickness,delete O.spikedash,delete O.spikemode,delete O.spikesnap);var G={letter:I,counterAxes:R[I],overlayableAxes:N};f(P,O,d,G),O._input=P}var Y=n.getComponentMethod(&quot;rangeslider&quot;,&quot;handleDefaults&quot;),W=n.getComponentMethod(&quot;rangeselector&quot;,&quot;handleDefaults&quot;);for(v=0;v&lt;E.length;v++)D=E[v],P=t[D],O=e[D],Y(t,e,D),&quot;date&quot;===O.type&amp;&amp;W(P,O,e,L,O.calendar),d(&quot;fixedrange&quot;);for(v=0;v&lt;L.length;v++){D=L[v],P=t[D],O=e[D];var X=e[h.id2name(O.anchor)];d(&quot;fixedrange&quot;,X&amp;&amp;X.rangeslider&amp;&amp;X.rangeslider.visible)}e._axisConstraintGroups=[];var Z=R.x.concat(R.y);for(v=0;v&lt;C.length;v++)I=(D=C[v]).charAt(0),P=t[D],O=e[D],u(P,O,d,Z,e)}},{&quot;../../components/color&quot;:618,&quot;../../lib&quot;:743,&quot;../../registry&quot;:873,&quot;../layout_attributes&quot;:843,&quot;./axis_defaults&quot;:791,&quot;./axis_ids&quot;:792,&quot;./constraint_defaults&quot;:795,&quot;./layout_attributes&quot;:801,&quot;./position_defaults&quot;:805,&quot;./type_defaults&quot;:813}],803:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;tinycolor2&quot;).mix,i=t(&quot;../../components/color/attributes&quot;).lightFraction,a=t(&quot;../../lib&quot;);e.exports=function(t,e,r,o){function s(r,n){return a.coerce2(t,e,o.attributes,r,n)}var l=(o=o||{}).dfltColor,c=s(&quot;linecolor&quot;,l),u=s(&quot;linewidth&quot;);r(&quot;showline&quot;,o.showLine||!!c||!!u)||(delete e.linecolor,delete e.linewidth);var f=s(&quot;gridcolor&quot;,n(l,o.bgColor,o.blend||i).toRgbString()),h=s(&quot;gridwidth&quot;);if(r(&quot;showgrid&quot;,o.showGrid||!!f||!!h)||(delete e.gridcolor,delete e.gridwidth),!o.noZeroLine){var d=s(&quot;zerolinecolor&quot;,l),p=s(&quot;zerolinewidth&quot;);r(&quot;zeroline&quot;,o.showGrid||!!d||!!p)||(delete e.zerolinecolor,delete e.zerolinewidth)}}},{&quot;../../components/color/attributes&quot;:617,&quot;../../lib&quot;:743,tinycolor2:546}],804:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r){var n,a,o,s,l,c=[],u=r.map(function(e){return e[t]}),f=i.bisector(e).left;for(n=0;n&lt;u.length;n++)for(o=u[n],a=0;a&lt;o.length;a++)null!==(s=o[a])&amp;&amp;void 0!==s&amp;&amp;((l=f(c,s))&lt;c.length&amp;&amp;c[l]===s||c.splice(l,0,s));return c}var i=t(&quot;d3&quot;);e.exports=function(t,e,r,a){switch(e){case&quot;array&quot;:return Array.isArray(r)?r.slice():[];case&quot;category ascending&quot;:return n(t,i.ascending,a);case&quot;category descending&quot;:return n(t,i.descending,a);case&quot;trace&quot;:default:return[]}}},{d3:128}],805:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;fast-isnumeric&quot;),i=t(&quot;../../lib&quot;);e.exports=function(t,e,r,a){var o=a.counterAxes||[],s=a.overlayableAxes||[],l=a.letter;&quot;free&quot;===i.coerce(t,e,{anchor:{valType:&quot;enumerated&quot;,values:[&quot;free&quot;].concat(o),dflt:n(t.position)?&quot;free&quot;:o[0]||&quot;free&quot;}},&quot;anchor&quot;)&amp;&amp;r(&quot;position&quot;),i.coerce(t,e,{side:{valType:&quot;enumerated&quot;,values:&quot;x&quot;===l?[&quot;bottom&quot;,&quot;top&quot;]:[&quot;left&quot;,&quot;right&quot;],dflt:&quot;x&quot;===l?&quot;bottom&quot;:&quot;left&quot;}},&quot;side&quot;);var c=!1;if(s.length&amp;&amp;(c=i.coerce(t,e,{overlaying:{valType:&quot;enumerated&quot;,values:[!1].concat(s),dflt:!1}},&quot;overlaying&quot;)),!c){var u=r(&quot;domain&quot;);u[0]&gt;u[1]-.01&amp;&amp;(e.domain=[0,1]),i.noneOrAll(t.domain,e.domain,[0,1])}return r(&quot;layer&quot;),e}},{&quot;../../lib&quot;:743,&quot;fast-isnumeric&quot;:140}],806:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../constants/alignment&quot;).FROM_BL;e.exports=function(t,e,r){void 0===r&amp;&amp;(r=n[t.constraintoward||&quot;center&quot;]);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)]}},{&quot;../../constants/alignment&quot;:716}],807:[function(t,e,r){&quot;use strict&quot;;function n(t){return t._id}function i(t,e,r){var n,i,a;if(r){var o=r.points||[];for(n=0;n&lt;e.length;n++)(a=e[n].cd[0].trace).selectedpoints=[],a._input.selectedpoints=[];for(n=0;n&lt;o.length;n++){var s=o[n],l=s.data,c=s.fullData;s.pointIndices?([].push.apply(l.selectedpoints,s.pointIndices),[].push.apply(c.selectedpoints,s.pointIndices)):(l.selectedpoints.push(s.pointIndex),c.selectedpoints.push(s.pointIndex))}}else for(n=0;n&lt;e.length;n++)delete(a=e[n].cd[0].trace).selectedpoints,delete a._input.selectedpoints,e[n].cd[0].t&amp;&amp;e[n].cd[0].t.scene&amp;&amp;e[n].cd[0].t.scene.clearSelect();for(n=0;n&lt;e.length;n++)(i=e[n]).style&amp;&amp;i.style(t,i.cd)}var a=t(&quot;polybooljs&quot;),o=t(&quot;../../lib/polygon&quot;),s=t(&quot;../../lib/throttle&quot;),l=t(&quot;../../components/color&quot;),c=t(&quot;../../components/fx/helpers&quot;).makeEventData,u=t(&quot;../../components/fx&quot;),f=t(&quot;./axes&quot;),h=t(&quot;./constants&quot;),d=o.filter,p=o.tester,m=o.multitester,g=h.MINSELECT;e.exports=function(t,e,r,o,v){function y(t){var e=&quot;y&quot;===t._id.charAt(0)?1:0;return function(r){return t.p2d(r[e])}}function x(t,e){return t-e}var b,_,w,M,k=o.gd,A=k._fullLayout,T=A._zoomlayer,S=o.element.getBoundingClientRect(),E=o.plotinfo,L=E.xaxis._offset,C=E.yaxis._offset,z=e-S.left,D=r-S.top,I=z,P=D,O=&quot;M&quot;+z+&quot;,&quot;+D,F=o.xaxes[0]._length,R=o.yaxes[0]._length,N=o.xaxes.map(n),j=o.yaxes.map(n),B=o.xaxes.concat(o.yaxes),U=t.altKey;(t.shiftKey||t.altKey)&amp;&amp;E.selection&amp;&amp;E.selection.polygons&amp;&amp;!o.polygons?(o.polygons=E.selection.polygons,o.mergedPolygons=E.selection.mergedPolygons):(!t.shiftKey&amp;&amp;!t.altKey||(t.shiftKey||t.altKey)&amp;&amp;!E.selection)&amp;&amp;(E.selection={},E.selection.polygons=o.polygons=[],E.selection.mergedPolygons=o.mergedPolygons=[]),&quot;lasso&quot;===v&amp;&amp;(b=d([[z,D]],h.BENDPX));var V=T.selectAll(&quot;path.select-outline-&quot;+E.id).data([1,2]);V.enter().append(&quot;path&quot;).attr(&quot;class&quot;,function(t){return&quot;select-outline select-outline-&quot;+t+&quot; select-outline-&quot;+E.id}).attr(&quot;transform&quot;,&quot;translate(&quot;+L+&quot;, &quot;+C+&quot;)&quot;).attr(&quot;d&quot;,O+&quot;Z&quot;);var q,H,G,Y,W,X=T.append(&quot;path&quot;).attr(&quot;class&quot;,&quot;zoombox-corners&quot;).style({fill:l.background,stroke:l.defaultLine,&quot;stroke-width&quot;:1}).attr(&quot;transform&quot;,&quot;translate(&quot;+L+&quot;, &quot;+C+&quot;)&quot;).attr(&quot;d&quot;,&quot;M0,0Z&quot;),Z=[],J=A._uid+h.SELECTID,K=[];for(q=0;q&lt;k.calcdata.length;q++)if(H=k.calcdata[q],!0===(G=H[0].trace).visible&amp;&amp;G._module&amp;&amp;G._module.selectPoints)if(o.subplot)G.subplot!==o.subplot&amp;&amp;G.geo!==o.subplot||Z.push({selectPoints:G._module.selectPoints,style:G._module.style,cd:H,xaxis:o.xaxes[0],yaxis:o.yaxes[0]});else{if(-1===N.indexOf(G.xaxis))continue;if(-1===j.indexOf(G.yaxis))continue;Z.push({selectPoints:G._module.selectPoints,style:G._module.style,cd:H,xaxis:f.getFromId(k,G.xaxis),yaxis:f.getFromId(k,G.yaxis)})}var Q;Q=E.fillRangeItems?E.fillRangeItems:&quot;select&quot;===v?function(t,e){var r=t.range={};for(q=0;q&lt;B.length;q++){var n=B[q],i=n._id.charAt(0);r[n._id]=[n.p2d(e[i+&quot;min&quot;]),n.p2d(e[i+&quot;max&quot;])].sort(x)}}:function(t,e,r){var n=t.lassoPoints={};for(q=0;q&lt;B.length;q++){var i=B[q];n[i._id]=r.filtered.map(y(i))}},o.moveFn=function(t,e){I=Math.max(0,Math.min(F,t+z)),P=Math.max(0,Math.min(R,e+D));var r=Math.abs(I-z),n=Math.abs(P-D);&quot;select&quot;===v?n&lt;Math.min(.6*r,g)?((M=[[z,0],[z,R],[I,R],[I,0]]).xmin=Math.min(z,I),M.xmax=Math.max(z,I),M.ymin=Math.min(0,R),M.ymax=Math.max(0,R),X.attr(&quot;d&quot;,&quot;M&quot;+M.xmin+&quot;,&quot;+(D-g)+&quot;h-4v&quot;+2*g+&quot;h4ZM&quot;+(M.xmax-1)+&quot;,&quot;+(D-g)+&quot;h4v&quot;+2*g+&quot;h-4Z&quot;)):r&lt;Math.min(.6*n,g)?((M=[[0,D],[0,P],[F,P],[F,D]]).xmin=Math.min(0,F),M.xmax=Math.max(0,F),M.ymin=Math.min(D,P),M.ymax=Math.max(D,P),X.attr(&quot;d&quot;,&quot;M&quot;+(z-g)+&quot;,&quot;+M.ymin+&quot;v-4h&quot;+2*g+&quot;v4ZM&quot;+(z-g)+&quot;,&quot;+(M.ymax-1)+&quot;v4h&quot;+2*g+&quot;v-4Z&quot;)):((M=[[z,D],[z,P],[I,P],[I,D]]).xmin=Math.min(z,I),M.xmax=Math.max(z,I),M.ymin=Math.min(D,P),M.ymax=Math.max(D,P),X.attr(&quot;d&quot;,&quot;M0,0Z&quot;)):&quot;lasso&quot;===v&amp;&amp;(b.addPt([I,P]),M=b.filtered),o.polygons&amp;&amp;o.polygons.length?(w=function(t,e,r){return r?a.difference({regions:t,inverted:!1},{regions:[e],inverted:!1}).regions:a.union({regions:t,inverted:!1},{regions:[e],inverted:!1}).regions}(o.mergedPolygons,M,U),M.subtract=U,_=m(o.polygons.concat([M]))):(w=[M],_=p(M));var l=[];for(q=0;q&lt;w.length;q++){var u=w[q];l.push(u.join(&quot;L&quot;)+&quot;L&quot;+u[0])}V.attr(&quot;d&quot;,&quot;M&quot;+l.join(&quot;M&quot;)+&quot;Z&quot;),s.throttle(J,h.SELECTDELAY,function(){K=[];var t,e,r=[];for(q=0;q&lt;Z.length;q++)if(Y=Z[q],e=Y.selectPoints(Y,_),r.push(e),t=function(t,e){if(Array.isArray(t))for(var r=e.cd,n=e.cd[0].trace,i=0;i&lt;t.length;i++)t[i]=c(t[i],n,r);return t}(e,Y),K.length)for(var n=0;n&lt;t.length;n++)K.push(t[n]);else K=t;i(k,Z,W={points:K}),Q(W,M,b),o.gd.emit(&quot;plotly_selecting&quot;,W)})},o.clickFn=function(t,e){X.remove(),s.done(J).then(function(){if(s.clear(J),2===t){for(V.remove(),q=0;q&lt;Z.length;q++)(Y=Z[q]).selectPoints(Y,!1);i(k,Z),k.emit(&quot;plotly_deselect&quot;,null)}else k.emit(&quot;plotly_selected&quot;,void 0);u.click(k,e)})},o.doneFn=function(){X.remove(),s.done(J).then(function(){s.clear(J),o.gd.emit(&quot;plotly_selected&quot;,W),M&amp;&amp;o.polygons&amp;&amp;(M.subtract=U,o.polygons.push(M),o.mergedPolygons.length=0,[].push.apply(o.mergedPolygons,w))})}}},{&quot;../../components/color&quot;:618,&quot;../../components/fx&quot;:660,&quot;../../components/fx/helpers&quot;:657,&quot;../../lib/polygon&quot;:755,&quot;../../lib/throttle&quot;:767,&quot;./axes&quot;:789,&quot;./constants&quot;:794,polybooljs:479}],808:[function(t,e,r){&quot;use strict&quot;;function n(t){return Math.pow(10,t)}var i=t(&quot;d3&quot;),a=t(&quot;fast-isnumeric&quot;),o=t(&quot;../../lib&quot;),s=o.cleanNumber,l=o.ms2DateTime,c=o.dateTime2ms,u=o.ensureNumber,f=t(&quot;../../constants/numerical&quot;),h=f.FP_SAFE,d=f.BADNUM,p=t(&quot;./constants&quot;),m=t(&quot;./axis_ids&quot;);e.exports=function(t,e){function r(e,r){if(e&gt;0)return Math.log(e)/Math.LN10;if(e&lt;=0&amp;&amp;r&amp;&amp;t.range&amp;&amp;2===t.range.length){var n=t.range[0],i=t.range[1];return.5*(n+i-3*M*Math.abs(n-i))}return d}function f(e,r,n){var i=c(e,n||t.calendar);if(i===d){if(!a(e))return d;i=c(new Date(+e))}return i}function g(e,r,n){return l(e,r,n||t.calendar)}function v(e){return t._categories[Math.round(e)]}function y(e){if(null!==e&amp;&amp;void 0!==e){if(void 0===t._categoriesMap&amp;&amp;(t._categoriesMap={}),void 0!==t._categoriesMap[e])return t._categoriesMap[e];t._categories.push(e);var r=t._categories.length-1;return t._categoriesMap[e]=r,r}return d}function x(e){if(t._categoriesMap){var r=t._categoriesMap[e];if(void 0!==r)return r}if(a(e))return+e}function b(e){return a(e)?i.round(t._b+t._m*e,2):d}function _(e){return(e-t._b)/t._m}e=e||{};var w=(t._id||&quot;x&quot;).charAt(0),M=10;t.c2l=&quot;log&quot;===t.type?r:u,t.l2c=&quot;log&quot;===t.type?n:u,t.l2p=b,t.p2l=_,t.c2p=&quot;log&quot;===t.type?function(t,e){return b(r(t,e))}:b,t.p2c=&quot;log&quot;===t.type?function(t){return n(_(t))}:_,-1!==[&quot;linear&quot;,&quot;-&quot;].indexOf(t.type)?(t.d2r=t.r2d=t.d2c=t.r2c=t.d2l=t.r2l=s,t.c2d=t.c2r=t.l2d=t.l2r=u,t.d2p=t.r2p=function(e){return t.l2p(s(e))},t.p2d=t.p2r=_,t.cleanPos=u):&quot;log&quot;===t.type?(t.d2r=t.d2l=function(t,e){return r(s(t),e)},t.r2d=t.r2c=function(t){return n(s(t))},t.d2c=t.r2l=s,t.c2d=t.l2r=u,t.c2r=r,t.l2d=n,t.d2p=function(e,r){return t.l2p(t.d2r(e,r))},t.p2d=function(t){return n(_(t))},t.r2p=function(e){return t.l2p(s(e))},t.p2r=_,t.cleanPos=u):&quot;date&quot;===t.type?(t.d2r=t.r2d=o.identity,t.d2c=t.r2c=t.d2l=t.r2l=f,t.c2d=t.c2r=t.l2d=t.l2r=g,t.d2p=t.r2p=function(e,r,n){return t.l2p(f(e,0,n))},t.p2d=t.p2r=function(t,e,r){return g(_(t),e,r)},t.cleanPos=function(e){return o.cleanDate(e,d,t.calendar)}):&quot;category&quot;===t.type&amp;&amp;(t.d2c=t.d2l=y,t.r2d=t.c2d=t.l2d=v,t.d2r=t.d2l_noadd=x,t.r2c=function(e){var r=x(e);return void 0!==r?r:t.fraction2r(.5)},t.l2r=t.c2r=u,t.r2l=x,t.d2p=function(e){return t.l2p(t.r2c(e))},t.p2d=function(t){return v(_(t))},t.r2p=t.d2p,t.p2r=_,t.cleanPos=function(t){return&quot;string&quot;==typeof t&amp;&amp;&quot;&quot;!==t?t:u(t)}),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=&quot;range&quot;);var n,i,s=o.nestedProperty(t,e).get();if(i=&quot;date&quot;===t.type?o.dfltRange(t.calendar):&quot;y&quot;===w?p.DFLTRANGEY:r.dfltRange||p.DFLTRANGEX,i=i.slice(),s&amp;&amp;2===s.length)for(&quot;date&quot;===t.type&amp;&amp;(s[0]=o.cleanDate(s[0],d,t.calendar),s[1]=o.cleanDate(s[1],d,t.calendar)),n=0;n&lt;2;n++)if(&quot;date&quot;===t.type){if(!o.isDateTime(s[n],t.calendar)){t[e]=i;break}if(t.r2l(s[0])===t.r2l(s[1])){var l=o.constrain(t.r2l(s[0]),o.MIN_MS+1e3,o.MAX_MS-1e3);s[0]=t.l2r(l-1e3),s[1]=t.l2r(l+1e3);break}}else{if(!a(s[n])){if(!a(s[1-n])){t[e]=i;break}s[n]=s[1-n]*(n?10:.1)}if(s[n]&lt;-h?s[n]=-h:s[n]&gt;h&amp;&amp;(s[n]=h),s[0]===s[1]){var c=Math.max(1,Math.abs(1e-6*s[0]));s[0]-=c,s[1]+=c}}else o.nestedProperty(t,e).set(i)},t.setScale=function(r){var n=e._size;if(t._categories||(t._categories=[]),t._categoriesMap||(t._categoriesMap={}),t.overlaying){var i=m.getFromId({_fullLayout:e},t.overlaying);t.domain=i.domain}var a=r&amp;&amp;t._r?&quot;_r&quot;:&quot;range&quot;,o=t.calendar;t.cleanRange(a);var s=t.r2l(t[a][0],o),l=t.r2l(t[a][1],o);if(&quot;y&quot;===w?(t._offset=n.t+(1-t.domain[1])*n.h,t._length=n.h*(t.domain[1]-t.domain[0]),t._m=t._length/(s-l),t._b=-t._m*l):(t._offset=n.l+t.domain[0]*n.w,t._length=n.w*(t.domain[1]-t.domain[0]),t._m=t._length/(l-s),t._b=-t._m*s),!isFinite(t._m)||!isFinite(t._b))throw e._replotting=!1,new Error(&quot;Something went wrong with axis scaling&quot;)},t.makeCalcdata=function(e,r){var n,i,a,o=&quot;date&quot;===t.type&amp;&amp;e[r+&quot;calendar&quot;];if(r in e)for(n=e[r],i=new Array(n.length),a=0;a&lt;n.length;a++)i[a]=t.d2c(n[a],0,o);else{var s=r+&quot;0&quot;in e?t.d2c(e[r+&quot;0&quot;],0,o):0,l=e[&quot;d&quot;+r]?Number(e[&quot;d&quot;+r]):1;for(n=e[{x:&quot;y&quot;,y:&quot;x&quot;}[r]],i=new Array(n.length),a=0;a&lt;n.length;a++)i[a]=s+a*l}return i},t.isValidRange=function(e){return Array.isArray(e)&amp;&amp;2===e.length&amp;&amp;a(t.r2l(e[0]))&amp;&amp;a(t.r2l(e[1]))},t.isPtWithinRange=function(e,r){var n=t.c2l(e[w],null,r);return n&gt;=t.r2l(t.range[0])&amp;&amp;n&lt;=t.r2l(t.range[1])},t._min=[],t._max=[];var k=e._d3locale;&quot;date&quot;===t.type&amp;&amp;(t._dateFormat=k?k.timeFormat.utc:i.time.format.utc),t._separators=e.separators,t._numFormat=k?k.numberFormat:i.format,delete t._minDtick,delete t._forceTick0}},{&quot;../../constants/numerical&quot;:721,&quot;../../lib&quot;:743,&quot;./axis_ids&quot;:792,&quot;./constants&quot;:794,d3:128,&quot;fast-isnumeric&quot;:140}],809:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib&quot;),i=t(&quot;./layout_attributes&quot;);e.exports=function(t,e,r,a,o){var s=function(t){var e=[&quot;showexponent&quot;,&quot;showtickprefix&quot;,&quot;showticksuffix&quot;].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]]}(t);r(&quot;tickprefix&quot;)&amp;&amp;r(&quot;showtickprefix&quot;,s);r(&quot;ticksuffix&quot;,o.tickSuffixDflt)&amp;&amp;r(&quot;showticksuffix&quot;,s);if(r(&quot;showticklabels&quot;)){var l=o.font||{},c=e.color===t.color?e.color:l.color;if(n.coerceFont(r,&quot;tickfont&quot;,{family:l.family,size:l.size,color:c}),r(&quot;tickangle&quot;),&quot;category&quot;!==a){var u=r(&quot;tickformat&quot;);!function(t,e){function r(t,e){return n.coerce(s,l,i.tickformatstops,t,e)}var a=t.tickformatstops,o=e.tickformatstops=[];if(Array.isArray(a))for(var s,l,c=0;c&lt;a.length;c++)s=a[c],l={},r(&quot;dtickrange&quot;),r(&quot;value&quot;),o.push(l)}(t,e),u||&quot;date&quot;===a||(r(&quot;showexponent&quot;,s),r(&quot;exponentformat&quot;),r(&quot;separatethousands&quot;))}}&quot;category&quot;===a||o.noHover||r(&quot;hoverformat&quot;)}},{&quot;../../lib&quot;:743,&quot;./layout_attributes&quot;:801}],810:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib&quot;),i=t(&quot;./layout_attributes&quot;);e.exports=function(t,e,r,a){var o=n.coerce2(t,e,i,&quot;ticklen&quot;),s=n.coerce2(t,e,i,&quot;tickwidth&quot;),l=n.coerce2(t,e,i,&quot;tickcolor&quot;,e.color);r(&quot;ticks&quot;,a.outerTicks||o||s||l?&quot;outside&quot;:&quot;&quot;)||(delete e.ticklen,delete e.tickwidth,delete e.tickcolor)}},{&quot;../../lib&quot;:743,&quot;./layout_attributes&quot;:801}],811:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;fast-isnumeric&quot;),i=t(&quot;../../lib&quot;),a=t(&quot;../../constants/numerical&quot;).ONEDAY;e.exports=function(t,e,r,o){var s=&quot;auto&quot;;&quot;array&quot;!==t.tickmode||&quot;log&quot;!==o&amp;&amp;&quot;date&quot;!==o||(t.tickmode=&quot;auto&quot;),Array.isArray(t.tickvals)?s=&quot;array&quot;:t.dtick&amp;&amp;(s=&quot;linear&quot;);var l=r(&quot;tickmode&quot;,s);if(&quot;auto&quot;===l)r(&quot;nticks&quot;);else if(&quot;linear&quot;===l){var c=&quot;date&quot;===o?a:1,u=r(&quot;dtick&quot;,c);if(n(u))e.dtick=u&gt;0?Number(u):c;else if(&quot;string&quot;!=typeof u)e.dtick=c;else{var f=u.charAt(0),h=u.substr(1);((h=n(h)?Number(h):0)&lt;=0||!(&quot;date&quot;===o&amp;&amp;&quot;M&quot;===f&amp;&amp;h===Math.round(h)||&quot;log&quot;===o&amp;&amp;&quot;L&quot;===f||&quot;log&quot;===o&amp;&amp;&quot;D&quot;===f&amp;&amp;(1===h||2===h)))&amp;&amp;(e.dtick=c)}var d=&quot;date&quot;===o?i.dateTick0(e.calendar):0,p=r(&quot;tick0&quot;,d);&quot;date&quot;===o?e.tick0=i.cleanDate(p,d):n(p)&amp;&amp;&quot;D1&quot;!==u&amp;&amp;&quot;D2&quot;!==u?e.tick0=Number(p):e.tick0=d}else{void 0===r(&quot;tickvals&quot;)?e.tickmode=&quot;auto&quot;:r(&quot;ticktext&quot;)}}},{&quot;../../constants/numerical&quot;:721,&quot;../../lib&quot;:743,&quot;fast-isnumeric&quot;:140}],812:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;d3&quot;),i=t(&quot;../../plotly&quot;),a=t(&quot;../../registry&quot;),o=t(&quot;../../components/drawing&quot;),s=t(&quot;./axes&quot;),l=t(&quot;./constants&quot;).attrRegex;e.exports=function(t,e,r,c){function u(t){var e=t.xaxis,r=t.yaxis;d._defs.select(&quot;#&quot;+t.clipId+&quot;&gt; rect&quot;).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(&quot;.scatterlayer .trace&quot;);n.selectAll(&quot;.point&quot;).call(o.setPointGroupScale,1,1),n.selectAll(&quot;.textpoint&quot;).call(o.setTextPointsScale,1,1),n.call(o.hideOutsideRangePoints,t)}function f(e,r){var n,i,l,c=m[e.xaxis._id],u=m[e.yaxis._id],f=[];if(c){i=(n=t._fullLayout[c.axisName])._r,l=c.to,f[0]=(i[0]*(1-r)+r*l[0]-i[0])/(i[1]-i[0])*e.xaxis._length;var h=i[1]-i[0],p=l[1]-l[0];n.range[0]=i[0]*(1-r)+r*l[0],n.range[1]=i[1]*(1-r)+r*l[1],f[2]=e.xaxis._length*(1-r+r*p/h)}else f[0]=0,f[2]=e.xaxis._length;if(u){i=(n=t._fullLayout[u.axisName])._r,l=u.to,f[1]=(i[1]*(1-r)+r*l[1]-i[1])/(i[0]-i[1])*e.yaxis._length;var g=i[1]-i[0],v=l[1]-l[0];n.range[0]=i[0]*(1-r)+r*l[0],n.range[1]=i[1]*(1-r)+r*l[1],f[3]=e.yaxis._length*(1-r+r*v/g)}else f[1]=0,f[3]=e.yaxis._length;!function(e,r){function n(e,r,n){for(i=0;i&lt;e.length;i++){var a=e[i];if(-1===o.indexOf(a.xref)&amp;&amp;-1===o.indexOf(a.yref)||r(t,i),n)return}}var i,o=[];for(o=[e._id,r._id],i=0;i&lt;o.length;i++)s.doTicks(t,o[i],!0);n(d.annotations||[],a.getComponentMethod(&quot;annotations&quot;,&quot;drawOne&quot;)),n(d.shapes||[],a.getComponentMethod(&quot;shapes&quot;,&quot;drawOne&quot;)),n(d.images||[],a.getComponentMethod(&quot;images&quot;,&quot;draw&quot;),!0)}(e.xaxis,e.yaxis);var y=e.xaxis,x=e.yaxis,b=!!c,_=!!u,w=b?y._length/f[2]:1,M=_?x._length/f[3]:1,k=b?f[0]:0,A=_?f[1]:0,T=b?f[0]/f[2]*y._length:0,S=_?f[1]/f[3]*x._length:0,E=y._offset-T,L=x._offset-S;d._defs.select(&quot;#&quot;+e.clipId+&quot;&gt; rect&quot;).call(o.setTranslate,k,A).call(o.setScale,1/w,1/M),e.plot.call(o.setTranslate,E,L).call(o.setScale,w,M).selectAll(&quot;.points&quot;).selectAll(&quot;.point&quot;).call(o.setPointGroupScale,1/w,1/M),e.plot.selectAll(&quot;.points&quot;).selectAll(&quot;.textpoint&quot;).call(o.setTextPointsScale,1/w,1/M)}function h(){b=Date.now();for(var e=Math.min(1,(b-x)/r.duration),n=w(e),a=0;a&lt;v.length;a++)f(v[a],n);b-x&gt;r.duration?(!function(){for(var e={},r=0;r&lt;g.length;r++){var n=t._fullLayout[m[g[r]].axisName],a=m[g[r]].to;e[n._name+&quot;.range[0]&quot;]=a[0],e[n._name+&quot;.range[1]&quot;]=a[1],n.range=a.slice()}y&amp;&amp;y(),i.relayout(t,e).then(function(){for(var t=0;t&lt;v.length;t++)u(v[t])})}(),_=window.cancelAnimationFrame(h)):_=window.requestAnimationFrame(h)}var d=t._fullLayout,p=[],m=function(t){var e,r,n,i,a={};for(e in t)if((r=e.split(&quot;.&quot;))[0].match(l)){var o=e.charAt(0),s=r[0];if(n=d[s],i={},Array.isArray(t[e])?i.to=t[e].slice(0):Array.isArray(t[e].range)&amp;&amp;(i.to=t[e].range.slice(0)),!i.to)continue;i.axisName=s,i.length=n._length,p.push(o),a[o]=i}return a}(e),g=Object.keys(m),v=function(t,e,r){var n,i,a,o=t._plots,s=[];for(n in o){var l=o[n];if(-1===s.indexOf(l)){var c=l.xaxis._id,u=l.yaxis._id,f=l.xaxis.range,h=l.yaxis.range;l.xaxis._r=l.xaxis.range.slice(),l.yaxis._r=l.yaxis.range.slice(),i=r[c]?r[c].to:f,a=r[u]?r[u].to:h,f[0]===i[0]&amp;&amp;f[1]===i[1]&amp;&amp;h[0]===a[0]&amp;&amp;h[1]===a[1]||-1===e.indexOf(c)&amp;&amp;-1===e.indexOf(u)||s.push(l)}}return s}(d,g,m);if(!v.length)return function(){function e(e,r,n){for(var i=0;i&lt;e.length;i++)if(r(t,i),n)return}e(d.annotations||[],a.getComponentMethod(&quot;annotations&quot;,&quot;drawOne&quot;)),e(d.shapes||[],a.getComponentMethod(&quot;shapes&quot;,&quot;drawOne&quot;)),e(d.images||[],a.getComponentMethod(&quot;images&quot;,&quot;draw&quot;),!0)}(),!1;var y;c&amp;&amp;(y=c());var x,b,_,w=n.ease(r.easing);return t._transitionData._interruptCallbacks.push(function(){return window.cancelAnimationFrame(_),_=null,function(){for(var e={},r=0;r&lt;g.length;r++){var n=t._fullLayout[g[r]+&quot;axis&quot;];e[n._name+&quot;.range[0]&quot;]=n.range[0],e[n._name+&quot;.range[1]&quot;]=n.range[1],n.range=n._r.slice()}return i.relayout(t,e).then(function(){for(var t=0;t&lt;v.length;t++)u(v[t])})}()}),x=Date.now(),_=window.requestAnimationFrame(h),Promise.resolve()}},{&quot;../../components/drawing&quot;:643,&quot;../../plotly&quot;:784,&quot;../../registry&quot;:873,&quot;./axes&quot;:789,&quot;./constants&quot;:794,d3:128}],813:[function(t,e,r){&quot;use strict&quot;;function n(t,e){if(&quot;-&quot;===t.type){var r=t._id,n=r.charAt(0);-1!==r.indexOf(&quot;scene&quot;)&amp;&amp;(r=n);var l=function(t,e,r){for(var n=0;n&lt;t.length;n++){var i=t[n];if((i[r+&quot;axis&quot;]||r)===e){if(a(i,r))return i;if((i[r]||[]).length||i[r+&quot;0&quot;])return i}}}(e,r,n);if(l)if(&quot;histogram&quot;!==l.type||n!=={v:&quot;y&quot;,h:&quot;x&quot;}[l.orientation||&quot;v&quot;]){var c=n+&quot;calendar&quot;,u=l[c];if(a(l,n)){for(var f,h=i(l),d=[],p=0;p&lt;e.length;p++)f=e[p],o.traceIs(f,&quot;box-violin&quot;)&amp;&amp;(f[n+&quot;axis&quot;]||n)===r&amp;&amp;(void 0!==f[h]?d.push(f[h][0]):void 0!==f.name?d.push(f.name):d.push(&quot;text&quot;),f[c]!==u&amp;&amp;(u=void 0));t.type=s(d,u)}else t.type=s(l[n]||[l[n+&quot;0&quot;]],u)}else t.type=&quot;linear&quot;}}function i(t){return{v:&quot;x&quot;,h:&quot;y&quot;}[t.orientation||&quot;v&quot;]}function a(t,e){var r=i(t),n=o.traceIs(t,&quot;box-violin&quot;),a=o.traceIs(t._fullInput||{},&quot;candlestick&quot;);return n&amp;&amp;!a&amp;&amp;e===r&amp;&amp;void 0===t[r]&amp;&amp;void 0===t[r+&quot;0&quot;]}var o=t(&quot;../../registry&quot;),s=t(&quot;./axis_autotype&quot;),l=t(&quot;./axis_ids&quot;).name2id;e.exports=function(t,e,r,i,a){a&amp;&amp;(e._name=a,e._id=l(a));&quot;-&quot;===r(&quot;type&quot;)&amp;&amp;(n(e,i),&quot;-&quot;===e.type?e.type=&quot;linear&quot;:t.type=e.type)}},{&quot;../../registry&quot;:873,&quot;./axis_autotype&quot;:790,&quot;./axis_ids&quot;:792}],814:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r){var n,i,a,o=!1;if(&quot;data&quot;===e.type)n=t._fullData[null!==e.traces?e.traces[0]:0];else{if(&quot;layout&quot;!==e.type)return!1;n=t._fullLayout}return i=l.nestedProperty(n,e.prop).get(),(a=r[e.type]=r[e.type]||{}).hasOwnProperty(e.prop)&amp;&amp;a[e.prop]!==i&amp;&amp;(o=!0),a[e.prop]=i,{changed:o,value:i}}function i(t,e){var r=[],n=e[0],i={};if(&quot;string&quot;==typeof n)i[n]=e[1];else{if(!l.isPlainObject(n))return r;i=n}return o(i,function(t,e,n){r.push({type:&quot;layout&quot;,prop:t,value:n})},&quot;&quot;,0),r}function a(t,e){var r,n,i,a,s=[];if(n=e[0],i=e[1],r=e[2],a={},&quot;string&quot;==typeof n)a[n]=i;else{if(!l.isPlainObject(n))return s;a=n,void 0===r&amp;&amp;(r=i)}return void 0===r&amp;&amp;(r=null),o(a,function(e,n,i){var a;if(Array.isArray(i)){var o=Math.min(i.length,t.data.length);r&amp;&amp;(o=Math.min(o,r.length)),a=[];for(var l=0;l&lt;o;l++)a[l]=r?r[l]:l}else a=r?r.slice(0):null;if(null===a)Array.isArray(i)&amp;&amp;(i=i[0]);else if(Array.isArray(a)){if(!Array.isArray(i)){var c=i;i=[];for(var u=0;u&lt;a.length;u++)i[u]=c}i.length=Math.min(a.length,i.length)}s.push({type:&quot;data&quot;,prop:e,traces:a,value:i})},&quot;&quot;,0),s}function o(t,e,r,n){Object.keys(t).forEach(function(i){var a=t[i];if(&quot;_&quot;!==i[0]){var s=r+(n&gt;0?&quot;.&quot;:&quot;&quot;)+i;l.isPlainObject(a)?o(a,e,s,n+1):e(s,i,a)}})}var s=t(&quot;../plotly&quot;),l=t(&quot;../lib&quot;);r.manageCommandObserver=function(t,e,i,a){var o={},s=!0;e&amp;&amp;e._commandObserver&amp;&amp;(o=e._commandObserver),o.cache||(o.cache={}),o.lookupTable={};var c=r.hasSimpleAPICommandBindings(t,i,o.lookupTable);if(e&amp;&amp;e._commandObserver){if(c)return o;if(e._commandObserver.remove)return e._commandObserver.remove(),e._commandObserver=null,o}if(c){n(t,c,o.cache),o.check=function(){if(s){var e=n(t,c,o.cache);return e.changed&amp;&amp;a&amp;&amp;void 0!==o.lookupTable[e.value]&amp;&amp;(o.disable(),Promise.resolve(a({value:e.value,type:c.type,prop:c.prop,traces:c.traces,index:o.lookupTable[e.value]})).then(o.enable,o.enable)),e.changed}};for(var u=[&quot;plotly_relayout&quot;,&quot;plotly_redraw&quot;,&quot;plotly_restyle&quot;,&quot;plotly_update&quot;,&quot;plotly_animatingframe&quot;,&quot;plotly_afterplot&quot;],f=0;f&lt;u.length;f++)t._internalOn(u[f],o.check);o.remove=function(){for(var e=0;e&lt;u.length;e++)t._removeInternalListener(u[e],o.check)}}else l.log(&quot;Unable to automatically bind plot updates to API command&quot;),o.lookupTable={},o.remove=function(){};return o.disable=function(){s=!1},o.enable=function(){s=!0},e&amp;&amp;(e._commandObserver=o),o},r.hasSimpleAPICommandBindings=function(t,e,n){var i,a,o=e.length;for(i=0;i&lt;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&lt;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)&amp;&amp;a.traces.sort();var d=(s=f[0]).value;if(Array.isArray(d)){if(1!==d.length)return!1;d=d[0]}n&amp;&amp;(n[d]=i)}return a},r.executeAPICommand=function(t,e,r){if(&quot;skip&quot;===e)return Promise.resolve();var n=s[e],i=[t];Array.isArray(r)||(r=[]);for(var a=0;a&lt;r.length;a++)i.push(r[a]);return n.apply(null,i).catch(function(t){return l.warn(&quot;API call to Plotly.&quot;+e+&quot; rejected.&quot;,t),Promise.reject(t)})},r.computeAPICommandBindings=function(t,e,r){var n;switch(Array.isArray(r)||(r=[]),e){case&quot;restyle&quot;:n=a(t,r);break;case&quot;relayout&quot;:n=i(0,r);break;case&quot;update&quot;:n=a(t,[r[0],r[2]]).concat(i(0,[r[1]]));break;case&quot;animate&quot;:n=function(t,e){return Array.isArray(e[0])&amp;&amp;1===e[0].length&amp;&amp;-1!==[&quot;string&quot;,&quot;number&quot;].indexOf(typeof e[0][0])?[{type:&quot;layout&quot;,prop:&quot;_currentFrame&quot;,value:e[0][0].toString()}]:[]}(0,r);break;default:n=[]}return n}},{&quot;../lib&quot;:743,&quot;../plotly&quot;:784}],815:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../lib/extend&quot;).extendFlat;e.exports=function(t,e){t=t||{},e=e||{};var r={valType:&quot;info_array&quot;,editType:t.editType,items:[{valType:&quot;number&quot;,min:0,max:1},{valType:&quot;number&quot;,min:0,max:1}],dflt:[0,1]};t.name&amp;&amp;t.name,t.trace,e.description&amp;&amp;e.description;return{x:n({},r,{}),y:n({},r,{}),editType:t.editType}}},{&quot;../lib/extend&quot;:732}],816:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t){var e=t.editType,r=t.colorEditType;void 0===r&amp;&amp;(r=e);var n={family:{valType:&quot;string&quot;,noBlank:!0,strict:!0,editType:e},size:{valType:&quot;number&quot;,min:1,editType:e},color:{valType:&quot;color&quot;,editType:r},editType:e};return t.arrayOk&amp;&amp;(n.family.arrayOk=!0,n.size.arrayOk=!0,n.color.arrayOk=!0),n}},{}],817:[function(t,e,r){&quot;use strict&quot;;e.exports={_isLinkedToArray:&quot;frames_entry&quot;,group:{valType:&quot;string&quot;},name:{valType:&quot;string&quot;},traces:{valType:&quot;any&quot;},baseframe:{valType:&quot;string&quot;},data:{valType:&quot;any&quot;},layout:{valType:&quot;any&quot;}}},{}],818:[function(t,e,r){&quot;use strict&quot;;r.projNames={equirectangular:&quot;equirectangular&quot;,mercator:&quot;mercator&quot;,orthographic:&quot;orthographic&quot;,&quot;natural earth&quot;:&quot;naturalEarth&quot;,kavrayskiy7:&quot;kavrayskiy7&quot;,miller:&quot;miller&quot;,robinson:&quot;robinson&quot;,eckert4:&quot;eckert4&quot;,&quot;azimuthal equal area&quot;:&quot;azimuthalEqualArea&quot;,&quot;azimuthal equidistant&quot;:&quot;azimuthalEquidistant&quot;,&quot;conic equal area&quot;:&quot;conicEqualArea&quot;,&quot;conic conformal&quot;:&quot;conicConformal&quot;,&quot;conic equidistant&quot;:&quot;conicEquidistant&quot;,gnomonic:&quot;gnomonic&quot;,stereographic:&quot;stereographic&quot;,mollweide:&quot;mollweide&quot;,hammer:&quot;hammer&quot;,&quot;transverse mercator&quot;:&quot;transverseMercator&quot;,&quot;albers usa&quot;:&quot;albersUsa&quot;,&quot;winkel tripel&quot;:&quot;winkel3&quot;,aitoff:&quot;aitoff&quot;,sinusoidal:&quot;sinusoidal&quot;},r.axesNames=[&quot;lonaxis&quot;,&quot;lataxis&quot;],r.lonaxisSpan={orthographic:180,&quot;azimuthal equal area&quot;:360,&quot;azimuthal equidistant&quot;:360,&quot;conic conformal&quot;:180,gnomonic:160,stereographic:180,&quot;transverse mercator&quot;:180,&quot;*&quot;:360},r.lataxisSpan={&quot;conic conformal&quot;:150,stereographic:179.5,&quot;*&quot;:180},r.scopeDefaults={world:{lonaxisRange:[-180,180],lataxisRange:[-90,90],projType:&quot;equirectangular&quot;,projRotate:[0,0,0]},usa:{lonaxisRange:[-180,-50],lataxisRange:[15,80],projType:&quot;albers usa&quot;},europe:{lonaxisRange:[-30,60],lataxisRange:[30,85],projType:&quot;conic conformal&quot;,projRotate:[15,0,0],projParallels:[0,60]},asia:{lonaxisRange:[22,160],lataxisRange:[-15,55],projType:&quot;mercator&quot;,projRotate:[0,0,0]},africa:{lonaxisRange:[-30,60],lataxisRange:[-40,40],projType:&quot;mercator&quot;,projRotate:[0,0,0]},&quot;north america&quot;:{lonaxisRange:[-180,-45],lataxisRange:[5,85],projType:&quot;conic conformal&quot;,projRotate:[-100,0,0],projParallels:[29.5,45.5]},&quot;south america&quot;:{lonaxisRange:[-100,-30],lataxisRange:[-60,15],projType:&quot;mercator&quot;,projRotate:[0,0,0]}},r.clipPad=.001,r.precision=.1,r.landColor=&quot;#F0DC82&quot;,r.waterColor=&quot;#3399FF&quot;,r.locationmodeToLayer={&quot;ISO-3&quot;:&quot;countries&quot;,&quot;USA-states&quot;:&quot;subunits&quot;,&quot;country names&quot;:&quot;countries&quot;},r.sphereSVG={type:&quot;Sphere&quot;},r.fillLayers={ocean:1,land:1,lakes:1},r.lineLayers={subunits:1,countries:1,coastlines:1,rivers:1,frame:1},r.layers=[&quot;bg&quot;,&quot;ocean&quot;,&quot;land&quot;,&quot;lakes&quot;,&quot;subunits&quot;,&quot;countries&quot;,&quot;coastlines&quot;,&quot;rivers&quot;,&quot;lataxis&quot;,&quot;lonaxis&quot;,&quot;frame&quot;,&quot;backplot&quot;,&quot;frontplot&quot;],r.layersForChoropleth=[&quot;bg&quot;,&quot;ocean&quot;,&quot;land&quot;,&quot;subunits&quot;,&quot;countries&quot;,&quot;coastlines&quot;,&quot;lataxis&quot;,&quot;lonaxis&quot;,&quot;frame&quot;,&quot;backplot&quot;,&quot;rivers&quot;,&quot;lakes&quot;,&quot;frontplot&quot;],r.layerNameToAdjective={ocean:&quot;ocean&quot;,land:&quot;land&quot;,lakes:&quot;lake&quot;,subunits:&quot;subunit&quot;,countries:&quot;country&quot;,coastlines:&quot;coastline&quot;,rivers:&quot;river&quot;,frame:&quot;frame&quot;}},{}],819:[function(t,e,r){&quot;use strict&quot;;function n(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.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 i=t(&quot;d3&quot;),a=t(&quot;../../plotly&quot;),o=t(&quot;../../lib&quot;),s=t(&quot;../../components/color&quot;),l=t(&quot;../../components/drawing&quot;),c=t(&quot;../../components/fx&quot;),u=t(&quot;../plots&quot;),f=t(&quot;../cartesian/axes&quot;),h=t(&quot;../../components/dragelement&quot;),d=t(&quot;../cartesian/select&quot;),p=t(&quot;./zoom&quot;),m=t(&quot;./constants&quot;),g=t(&quot;../../lib/topojson_utils&quot;),v=t(&quot;topojson-client&quot;).feature;t(&quot;./projections&quot;)(i);var y=n.prototype;e.exports=function(t){return new n(t)},y.plot=function(t,e,r){var n=this,i=e[this.id],a=g.getTopojsonName(i);null===n.topojson||a!==n.topojsonName?(n.topojsonName=a,void 0===PlotlyGeoAssets.topojson[n.topojsonName]?r.push(n.fetchTopojson().then(function(r){PlotlyGeoAssets.topojson[n.topojsonName]=r,n.topojson=r,n.update(t,e)})):(n.topojson=PlotlyGeoAssets.topojson[n.topojsonName],n.update(t,e))):n.update(t,e)},y.fetchTopojson=function(){var t=g.getTopojsonPath(this.topojsonURL,this.topojsonName);return new Promise(function(e,r){i.json(t,function(n,i){if(n)return r(404===n.status?new Error([&quot;plotly.js could not find topojson file at&quot;,t,&quot;.&quot;,&quot;Make sure the *topojsonURL* plot config option&quot;,&quot;is set properly.&quot;].join(&quot; &quot;)):new Error([&quot;unexpected error while fetching topojson file at&quot;,t].join(&quot; &quot;)));e(i)})})},y.update=function(t,e){var r=e[this.id];if(!this.updateProjection(e,r)){this.hasChoropleth=!1;for(var n=0;n&lt;t.length;n++)if(&quot;choropleth&quot;===t[n][0].trace.type){this.hasChoropleth=!0;break}this.viewInitial||this.saveViewInitial(r),this.updateBaseLayers(e,r),this.updateDims(e,r),this.updateFx(e,r),u.generalUpdatePerTraceModule(this.graphDiv,this,t,r);var i=this.layers.frontplot.select(&quot;.scatterlayer&quot;);this.dataPoints.point=i.selectAll(&quot;.point&quot;),this.dataPoints.text=i.selectAll(&quot;text&quot;),this.dataPaths.line=i.selectAll(&quot;.js-line&quot;);var a=this.layers.backplot.select(&quot;.choroplethlayer&quot;);this.dataPaths.choropleth=a.selectAll(&quot;path&quot;),this.render()}},y.updateProjection=function(t,e){var r=t._size,n=e.domain,s=e.projection,l=s.rotation||{},c=e.center||{},u=this.projection=function(t){for(var e=t.projection.type,r=i.geo[m.projNames[e]](),n=t._isClipped?m.lonaxisSpan[e]/2:null,a=[&quot;center&quot;,&quot;rotate&quot;,&quot;parallels&quot;,&quot;clipExtent&quot;],o=function(t){return t?r:[]},s=0;s&lt;a.length;s++){var l=a[s];&quot;function&quot;!=typeof r[l]&amp;&amp;(r[l]=o)}return r.isLonLatOverEdges=function(t){if(null===r(t))return!0;if(n){var e=r.rotate();return i.geo.distance(t,[-e[0],-e[1]])&gt;n*Math.PI/180}return!1},r.getPath=function(){return i.geo.path().projection(r)},r.getBounds=function(t){return r.getPath().bounds(t)},r.fitExtent=function(t,e){var n=t[1][0]-t[0][0],i=t[1][1]-t[0][1],a=r.clipExtent&amp;&amp;r.clipExtent();r.scale(150).translate([0,0]),a&amp;&amp;r.clipExtent(null);var o=r.getBounds(e),s=Math.min(n/(o[1][0]-o[0][0]),i/(o[1][1]-o[0][1])),l=+t[0][0]+(n-s*(o[1][0]+o[0][0]))/2,c=+t[0][1]+(i-s*(o[1][1]+o[0][1]))/2;return a&amp;&amp;r.clipExtent(a),r.scale(150*s).translate([l,c])},r.precision(m.precision),n&amp;&amp;r.clipAngle(n-m.clipPad),r}(e);u.center([c.lon-l.lon,c.lat-l.lat]).rotate([-l.lon,-l.lat,l.roll]).parallels(s.parallels);var f=[[r.l+r.w*n.x[0],r.t+r.h*(1-n.y[1])],[r.l+r.w*n.x[1],r.t+r.h*(1-n.y[0])]],h=e.lonaxis,d=e.lataxis,p=function(t,e){var r=m.clipPad,n=t[0]+r,i=t[1]-r,a=e[0]+r,o=e[1]-r;n&gt;0&amp;&amp;i&lt;0&amp;&amp;(i+=360);var s=(i-n)/4;return{type:&quot;Polygon&quot;,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]]]}}(h.range,d.range);u.fitExtent(f,p);var g=this.bounds=u.getBounds(p),v=this.fitScale=u.scale(),y=u.translate();if(!isFinite(g[0][0])||!isFinite(g[0][1])||!isFinite(g[1][0])||!isFinite(g[1][1])||isNaN(y[0])||isNaN(y[0])){for(var x=this.graphDiv,b=[&quot;projection.rotation&quot;,&quot;center&quot;,&quot;lonaxis.range&quot;,&quot;lataxis.range&quot;],_=&quot;Invalid geo settings, relayout'ing to default view.&quot;,w={},M=0;M&lt;b.length;M++)w[this.id+&quot;.&quot;+b[M]]=null;return this.viewInitial=null,o.warn(_),x._promises.push(a.relayout(x,w)),_}var k=this.midPt=[(g[0][0]+g[1][0])/2,(g[0][1]+g[1][1])/2];if(u.scale(s.scale*v).translate([y[0]+(k[0]-y[0]),y[1]+(k[1]-y[1])]).clipExtent(g),e._isAlbersUsa){var A=u([c.lon,c.lat]),T=u.translate();u.translate([T[0]-(A[0]-T[0]),T[1]-(A[1]-T[1])])}},y.updateBaseLayers=function(t,e){function r(t){return&quot;lonaxis&quot;===t||&quot;lataxis&quot;===t}function n(t){return Boolean(m.lineLayers[t])}function a(t){return Boolean(m.fillLayers[t])}var o=this,c=o.topojson,u=o.layers,f=o.basePaths,h=(this.hasChoropleth?m.layersForChoropleth:m.layers).filter(function(t){return n(t)||a(t)?e[&quot;show&quot;+t]:!r(t)||e[t].showgrid}),d=o.framework.selectAll(&quot;.layer&quot;).data(h,String);d.exit().each(function(t){delete u[t],delete f[t],i.select(this).remove()}),d.enter().append(&quot;g&quot;).attr(&quot;class&quot;,function(t){return&quot;layer &quot;+t}).each(function(t){var e=u[t]=i.select(this);&quot;bg&quot;===t?o.bgRect=e.append(&quot;rect&quot;).style(&quot;pointer-events&quot;,&quot;all&quot;):r(t)?f[t]=e.append(&quot;path&quot;).style(&quot;fill&quot;,&quot;none&quot;):&quot;backplot&quot;===t?e.append(&quot;g&quot;).classed(&quot;choroplethlayer&quot;,!0):&quot;frontplot&quot;===t?e.append(&quot;g&quot;).classed(&quot;scatterlayer&quot;,!0):n(t)?f[t]=e.append(&quot;path&quot;).style(&quot;fill&quot;,&quot;none&quot;).style(&quot;stroke-miterlimit&quot;,2):a(t)&amp;&amp;(f[t]=e.append(&quot;path&quot;).style(&quot;stroke&quot;,&quot;none&quot;))}),d.order(),d.each(function(t){var o=f[t],u=m.layerNameToAdjective[t];&quot;frame&quot;===t?o.datum(m.sphereSVG):n(t)||a(t)?o.datum(v(c,c.objects[t])):r(t)&amp;&amp;o.datum(function(t,e){var r=e[t].dtick,n=m.scopeDefaults[e.scope],a=n.lonaxisRange,o=n.lataxisRange,s=&quot;lonaxis&quot;===t?[r]:[0,r];return i.geo.graticule().extent([[a[0],o[0]],[a[1],o[1]]]).step(s)}(t,e)).call(s.stroke,e[t].gridcolor).call(l.dashLine,&quot;&quot;,e[t].gridwidth),n(t)?o.call(s.stroke,e[u+&quot;color&quot;]).call(l.dashLine,&quot;&quot;,e[u+&quot;width&quot;]):a(t)&amp;&amp;o.call(s.fill,e[u+&quot;color&quot;])})},y.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,c=r[1][1]-a+n;l.setRect(this.clipRect,i,a,o,c),this.bgRect.call(l.setRect,i,a,o,c).call(s.fill,e.bgcolor),this.xaxis._offset=i,this.xaxis._length=o,this.yaxis._offset=a,this.yaxis._length=c},y.updateFx=function(t,e){function r(){var t=o.viewInitial,e={};for(var r in t)e[o.id+&quot;.&quot;+r]=t[r];a.relayout(s,e),s.emit(&quot;plotly_doubleclick&quot;,null)}function n(t){return o.projection.invert([t[0]+o.xaxis._offset,t[1]+o.yaxis._offset])}var o=this,s=o.graphDiv,l=o.bgRect,u=t.dragmode;if(!o.isStatic){if(&quot;pan&quot;===u)l.node().onmousedown=null,l.call(p(o,e)),l.on(&quot;dblclick.zoom&quot;,r);else if(&quot;select&quot;===u||&quot;lasso&quot;===u){l.on(&quot;.zoom&quot;,null);var f;&quot;select&quot;===u?f=function(t,e){(t.range={})[o.id]=[n([e.xmin,e.ymin]),n([e.xmax,e.ymax])]}:&quot;lasso&quot;===u&amp;&amp;(f=function(t,e,r){(t.lassoPoints={})[o.id]=r.filtered.map(n)});var m={element:o.bgRect.node(),gd:s,plotinfo:{xaxis:o.xaxis,yaxis:o.yaxis,fillRangeItems:f},xaxes:[o.xaxis],yaxes:[o.yaxis],subplot:o.id,clickFn:function(e){2===e&amp;&amp;t._zoomlayer.selectAll(&quot;.select-outline&quot;).remove()}};m.prepFn=function(t,e,r){d(t,e,r,m,u)},h.init(m)}l.on(&quot;mousemove&quot;,function(){var t=o.projection.invert(i.mouse(this));if(!t||isNaN(t[0])||isNaN(t[1]))return h.unhover(s,i.event);o.xaxis.p2c=function(){return t[0]},o.yaxis.p2c=function(){return t[1]},c.hover(s,i.event,o.id)}),l.on(&quot;mouseout&quot;,function(){h.unhover(s,i.event)}),l.on(&quot;click&quot;,function(){c.click(s,i.event)})}},y.makeFramework=function(){var t=this,e=t.graphDiv._fullLayout,r=&quot;clip&quot;+e._uid+t.id;t.clipDef=e._clips.append(&quot;clipPath&quot;).attr(&quot;id&quot;,r),t.clipRect=t.clipDef.append(&quot;rect&quot;),t.framework=i.select(t.container).append(&quot;g&quot;).attr(&quot;class&quot;,&quot;geo &quot;+t.id).call(l.setClipUrl,r),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:&quot;x&quot;,c2p:function(e){return t.project(e)[0]}},t.yaxis={_id:&quot;y&quot;,c2p:function(e){return t.project(e)[1]}},t.mockAxis={type:&quot;linear&quot;,showexponent:&quot;all&quot;,exponentformat:&quot;B&quot;},f.setConvert(t.mockAxis,e)},y.saveViewInitial=function(t){var e=t.center||{},r=t.projection,n=r.rotation||{};t._isScoped?this.viewInitial={&quot;center.lon&quot;:e.lon,&quot;center.lat&quot;:e.lat,&quot;projection.scale&quot;:r.scale}:t._isClipped?this.viewInitial={&quot;projection.scale&quot;:r.scale,&quot;projection.rotation.lon&quot;:n.lon,&quot;projection.rotation.lat&quot;:n.lat}:this.viewInitial={&quot;center.lon&quot;:e.lon,&quot;center.lat&quot;:e.lat,&quot;projection.scale&quot;:r.scale,&quot;projection.rotation.lon&quot;:n.lon}},y.render=function(){function t(t){var e=n(t.lonlat);return e?&quot;translate(&quot;+e[0]+&quot;,&quot;+e[1]+&quot;)&quot;:null}function e(t){return n.isLonLatOverEdges(t.lonlat)?&quot;none&quot;:null}var r,n=this.projection,i=n.getPath();for(r in this.basePaths)this.basePaths[r].attr(&quot;d&quot;,i);for(r in this.dataPaths)this.dataPaths[r].attr(&quot;d&quot;,function(t){return i(t.geojson)});for(r in this.dataPoints)this.dataPoints[r].attr(&quot;display&quot;,e).attr(&quot;transform&quot;,t)}},{&quot;../../components/color&quot;:618,&quot;../../components/dragelement&quot;:640,&quot;../../components/drawing&quot;:643,&quot;../../components/fx&quot;:660,&quot;../../lib&quot;:743,&quot;../../lib/topojson_utils&quot;:769,&quot;../../plotly&quot;:784,&quot;../cartesian/axes&quot;:789,&quot;../cartesian/select&quot;:807,&quot;../plots&quot;:852,&quot;./constants&quot;:818,&quot;./projections&quot;:824,&quot;./zoom&quot;:825,d3:128,&quot;topojson-client&quot;:549}],820:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;./geo&quot;),i=t(&quot;../../plots/get_data&quot;).getSubplotCalcData,a=t(&quot;../../lib&quot;).counterRegex;r.name=&quot;geo&quot;,r.attr=&quot;geo&quot;,r.idRoot=&quot;geo&quot;,r.idRegex=r.attrRegex=a(&quot;geo&quot;),r.attributes=t(&quot;./layout/attributes&quot;),r.layoutAttributes=t(&quot;./layout/layout_attributes&quot;),r.supplyLayoutDefaults=t(&quot;./layout/defaults&quot;),r.plot=function(t){var e=t._fullLayout,r=t.calcdata,a=e._subplots.geo;void 0===window.PlotlyGeoAssets&amp;&amp;(window.PlotlyGeoAssets={topojson:{}});for(var o=0;o&lt;a.length;o++){var s=a[o],l=i(r,&quot;geo&quot;,s),c=e[s]._subplot;c||(c=n({id:s,graphDiv:t,container:e._geolayer.node(),topojsonURL:t._context.topojsonURL,staticPlot:t._context.staticPlot}),e[s]._subplot=c),c.plot(l,e,t._promises)}},r.clean=function(t,e,r,n){for(var i=n._subplots.geo||[],a=0;a&lt;i.length;a++){var o=i[a],s=n[o]._subplot;!e[o]&amp;&amp;s&amp;&amp;(s.framework.remove(),s.clipDef.remove())}},r.updateFx=function(t){for(var e=t._subplots.geo,r=0;r&lt;e.length;r++){var n=t[e[r]];n._subplot.updateFx(t,n)}}},{&quot;../../lib&quot;:743,&quot;../../plots/get_data&quot;:826,&quot;./geo&quot;:819,&quot;./layout/attributes&quot;:821,&quot;./layout/defaults&quot;:822,&quot;./layout/layout_attributes&quot;:823}],821:[function(t,e,r){&quot;use strict&quot;;e.exports={geo:{valType:&quot;subplotid&quot;,dflt:&quot;geo&quot;,editType:&quot;calc&quot;}}},{}],822:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r){var n=r(&quot;resolution&quot;),i=r(&quot;scope&quot;),o=a.scopeDefaults[i],l=r(&quot;projection.type&quot;,o.projType),c=e._isAlbersUsa=&quot;albers usa&quot;===l;c&amp;&amp;(i=e.scope=&quot;usa&quot;);var u=e._isScoped=&quot;world&quot;!==i,f=e._isConic=-1!==l.indexOf(&quot;conic&quot;);e._isClipped=!!a.lonaxisSpan[l];for(var h=0;h&lt;s.length;h++){var d,p=s[h],m=[30,10][h];if(u)d=o[p+&quot;Range&quot;];else{var g=a[p+&quot;Span&quot;],v=(g[l]||g[&quot;*&quot;])/2,y=r(&quot;projection.rotation.&quot;+p.substr(0,3),o.projRotate[h]);d=[y-v,y+v]}r(p+&quot;.tick0&quot;,r(p+&quot;.range&quot;,d)[0]),r(p+&quot;.dtick&quot;,m),r(p+&quot;.showgrid&quot;)&amp;&amp;(r(p+&quot;.gridcolor&quot;),r(p+&quot;.gridwidth&quot;))}var x=e.lonaxis.range,b=e.lataxis.range,_=x[0],w=x[1];_&gt;0&amp;&amp;w&lt;0&amp;&amp;(w+=360);var M,k=(_+w)/2;if(!c){var A=u?o.projRotate:[k,0,0];M=r(&quot;projection.rotation.lon&quot;,A[0]),r(&quot;projection.rotation.lat&quot;,A[1]),r(&quot;projection.rotation.roll&quot;,A[2]),r(&quot;showcoastlines&quot;,!u)&amp;&amp;(r(&quot;coastlinecolor&quot;),r(&quot;coastlinewidth&quot;)),r(&quot;showocean&quot;)&amp;&amp;r(&quot;oceancolor&quot;)}var T,S;if(c?(T=-96.6,S=38.7):(T=u?k:M,S=(b[0]+b[1])/2),r(&quot;center.lon&quot;,T),r(&quot;center.lat&quot;,S),f){r(&quot;projection.parallels&quot;,o.projParallels||[0,60])}r(&quot;projection.scale&quot;),r(&quot;showland&quot;)&amp;&amp;r(&quot;landcolor&quot;),r(&quot;showlakes&quot;)&amp;&amp;r(&quot;lakecolor&quot;),r(&quot;showrivers&quot;)&amp;&amp;(r(&quot;rivercolor&quot;),r(&quot;riverwidth&quot;)),r(&quot;showcountries&quot;,u&amp;&amp;&quot;usa&quot;!==i)&amp;&amp;(r(&quot;countrycolor&quot;),r(&quot;countrywidth&quot;)),(&quot;usa&quot;===i||&quot;north america&quot;===i&amp;&amp;50===n)&amp;&amp;(r(&quot;showsubunits&quot;,!0),r(&quot;subunitcolor&quot;),r(&quot;subunitwidth&quot;)),u||r(&quot;showframe&quot;,!0)&amp;&amp;(r(&quot;framecolor&quot;),r(&quot;framewidth&quot;)),r(&quot;bgcolor&quot;)}var i=t(&quot;../../subplot_defaults&quot;),a=t(&quot;../constants&quot;),o=t(&quot;./layout_attributes&quot;),s=a.axesNames;e.exports=function(t,e,r){i(t,e,r,{type:&quot;geo&quot;,attributes:o,handleDefaults:n,partition:&quot;y&quot;})}},{&quot;../../subplot_defaults&quot;:865,&quot;../constants&quot;:818,&quot;./layout_attributes&quot;:823}],823:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../../components/color/attributes&quot;),i=t(&quot;../../domain_attributes&quot;),a=t(&quot;../constants&quot;),o=t(&quot;../../../plot_api/edit_types&quot;).overrideAll,s={range:{valType:&quot;info_array&quot;,items:[{valType:&quot;number&quot;},{valType:&quot;number&quot;}]},showgrid:{valType:&quot;boolean&quot;,dflt:!1},tick0:{valType:&quot;number&quot;},dtick:{valType:&quot;number&quot;},gridcolor:{valType:&quot;color&quot;,dflt:n.lightLine},gridwidth:{valType:&quot;number&quot;,min:0,dflt:1}};e.exports=o({domain:i({name:&quot;geo&quot;},{}),resolution:{valType:&quot;enumerated&quot;,values:[110,50],dflt:110,coerceNumber:!0},scope:{valType:&quot;enumerated&quot;,values:Object.keys(a.scopeDefaults),dflt:&quot;world&quot;},projection:{type:{valType:&quot;enumerated&quot;,values:Object.keys(a.projNames)},rotation:{lon:{valType:&quot;number&quot;},lat:{valType:&quot;number&quot;},roll:{valType:&quot;number&quot;}},parallels:{valType:&quot;info_array&quot;,items:[{valType:&quot;number&quot;},{valType:&quot;number&quot;}]},scale:{valType:&quot;number&quot;,min:0,dflt:1}},center:{lon:{valType:&quot;number&quot;},lat:{valType:&quot;number&quot;}},showcoastlines:{valType:&quot;boolean&quot;},coastlinecolor:{valType:&quot;color&quot;,dflt:n.defaultLine},coastlinewidth:{valType:&quot;number&quot;,min:0,dflt:1},showland:{valType:&quot;boolean&quot;,dflt:!1},landcolor:{valType:&quot;color&quot;,dflt:a.landColor},showocean:{valType:&quot;boolean&quot;,dflt:!1},oceancolor:{valType:&quot;color&quot;,dflt:a.waterColor},showlakes:{valType:&quot;boolean&quot;,dflt:!1},lakecolor:{valType:&quot;color&quot;,dflt:a.waterColor},showrivers:{valType:&quot;boolean&quot;,dflt:!1},rivercolor:{valType:&quot;color&quot;,dflt:a.waterColor},riverwidth:{valType:&quot;number&quot;,min:0,dflt:1},showcountries:{valType:&quot;boolean&quot;},countrycolor:{valType:&quot;color&quot;,dflt:n.defaultLine},countrywidth:{valType:&quot;number&quot;,min:0,dflt:1},showsubunits:{valType:&quot;boolean&quot;},subunitcolor:{valType:&quot;color&quot;,dflt:n.defaultLine},subunitwidth:{valType:&quot;number&quot;,min:0,dflt:1},showframe:{valType:&quot;boolean&quot;},framecolor:{valType:&quot;color&quot;,dflt:n.defaultLine},framewidth:{valType:&quot;number&quot;,min:0,dflt:1},bgcolor:{valType:&quot;color&quot;,dflt:n.background},lonaxis:s,lataxis:s},&quot;plot&quot;,&quot;from-root&quot;)},{&quot;../../../components/color/attributes&quot;:617,&quot;../../../plot_api/edit_types&quot;:773,&quot;../../domain_attributes&quot;:815,&quot;../constants&quot;:818}],824:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t){function e(t,e){return{type:&quot;Feature&quot;,id:t.id,properties:t.properties,geometry:r(t.geometry,e)}}function r(e,n){if(!e)return null;if(&quot;GeometryCollection&quot;===e.type)return{type:&quot;GeometryCollection&quot;,geometries:object.geometries.map(function(t){return r(t,n)})};if(!M.hasOwnProperty(e.type))return null;var i=M[e.type];return t.geo.stream(e,n(i)),i.result()}function n(){}function i(t){return t&gt;1?S:t&lt;-1?-S:Math.asin(t)}function a(t){return t&gt;1?0:t&lt;-1?T:Math.acos(t)}function o(t,e){var r=(2+S)*Math.sin(e);e/=2;for(var n=0,i=1/0;n&lt;10&amp;&amp;Math.abs(i)&gt;k;n++){var a=Math.cos(e);e-=i=(e+Math.sin(e)*(a+2)-r)/(2*a*(1+a))}return[2/Math.sqrt(T*(4+T))*t*(1+Math.cos(e)),2*Math.sqrt(T/(4+T))*Math.sin(e)]}function s(t,e){function r(r,n){var i=D(r/e,n);return i[0]*=t,i}return arguments.length&lt;2&amp;&amp;(e=t),1===e?D:e===1/0?l:(r.invert=function(r,n){var i=D.invert(r/t,n);return i[0]*=e,i},r)}function l(t,e){return[t*Math.cos(e)/Math.cos(e/=2),2*Math.sin(e)]}function c(t,e){return[3*t/(2*T)*Math.sqrt(T*T/3-e*e),e]}function u(t,e){return[t,1.25*Math.log(Math.tan(T/4+.4*e))]}function f(t){return function(e){var r,n=t*Math.sin(e),i=30;do{e-=r=(e+Math.sin(e)-n)/(1+Math.cos(e))}while(Math.abs(r)&gt;k&amp;&amp;--i&gt;0);return e/2}}function h(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 d(t,e){var r,n=Math.min(18,36*Math.abs(e)/T),i=Math.floor(n),a=n-i,o=(r=P[i])[0],s=r[1],l=(r=P[++i])[0],c=r[1],u=(r=P[Math.min(19,++i)])[0],f=r[1];return[t*(l+a*(u-o)/2+a*a*(u-2*l+o)/2),(e&gt;0?S:-S)*(c+a*(f-s)/2+a*a*(f-2*c+s)/2)]}function p(t,e){return[t*Math.cos(e),e]}function m(t,e){var r=Math.cos(e),n=function(t){return t?t/Math.sin(t):1}(a(r*Math.cos(t/=2)));return[2*r*Math.sin(t)*n,Math.sin(e)*n]}function g(t,e){var r=m(t,e);return[(r[0]+t/S)/2,(r[1]+e)/2]}t.geo.project=function(t,e){var n=e.stream;if(!n)throw new Error(&quot;not yet supported&quot;);return(t&amp;&amp;v.hasOwnProperty(t.type)?v[t.type]:r)(t,n)};var v={Feature:e,FeatureCollection:function(t,r){return{type:&quot;FeatureCollection&quot;,features:t.features.map(function(t){return e(t,r)})}}},y=[],x=[],b={point:function(t,e){y.push([t,e])},result:function(){var t=y.length?y.length&lt;2?{type:&quot;Point&quot;,coordinates:y[0]}:{type:&quot;MultiPoint&quot;,coordinates:y}:null;return y=[],t}},_={lineStart:n,point:function(t,e){y.push([t,e])},lineEnd:function(){y.length&amp;&amp;(x.push(y),y=[])},result:function(){var t=x.length?x.length&lt;2?{type:&quot;LineString&quot;,coordinates:x[0]}:{type:&quot;MultiLineString&quot;,coordinates:x}:null;return x=[],t}},w={polygonStart:n,lineStart:n,point:function(t,e){y.push([t,e])},lineEnd:function(){var t=y.length;if(t){do{y.push(y[0].slice())}while(++t&lt;4);x.push(y),y=[]}},polygonEnd:n,result:function(){if(!x.length)return null;var t=[],e=[];return x.forEach(function(r){!function(t){if((e=t.length)&lt;4)return!1;for(var e,r=0,n=t[e-1][1]*t[0][0]-t[e-1][0]*t[0][1];++r&lt;e;)n+=t[r-1][1]*t[r][0]-t[r-1][0]*t[r][1];return n&lt;=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&lt;o;s=a++){var l=t[a],c=l[0],u=l[1],f=t[s],h=f[0],d=f[1];u&gt;n^d&gt;n&amp;&amp;r&lt;(h-c)*(n-u)/(d-u)+c&amp;&amp;(i=!i)}return i}(t[0],r))return t.push(e),!0})||t.push([e])}),x=[],t.length?t.length&gt;1?{type:&quot;MultiPolygon&quot;,coordinates:t}:{type:&quot;Polygon&quot;,coordinates:t[0]}:null}},M={Point:b,MultiPoint:b,LineString:_,MultiLineString:_,Polygon:w,MultiPolygon:w,Sphere:w},k=1e-6,A=k*k,T=Math.PI,S=T/2,E=(Math.sqrt(T),T/180),L=180/T,C=t.geo.projection,z=t.geo.projectionMutator;t.geo.interrupt=function(e){function r(t,r){for(var n=r&lt;0?-1:1,i=a[+(r&lt;0)],o=0,s=i.length-1;o&lt;s&amp;&amp;t&gt;i[o][2][0];++o);var l=e(t-i[o][1][0],r);return l[0]+=e(i[o][1][0],n*r&gt;n*i[o][0][1]?i[o][0][1]:r)[0],l}function n(t,e){for(var r,n,i,a=-1,o=t.length,s=t[0],l=[];++a&lt;o;){n=((r=t[a])[0]-s[0])/e,i=(r[1]-s[1])/e;for(var c=0;c&lt;e;++c)l.push([s[0]+c*n,s[1]+c*i]);s=r}return l.push(r),l}var i,a=[[[[-T,0],[0,S],[T,0]]],[[[-T,0],[0,-S],[T,0]]]];e.invert&amp;&amp;(r.invert=function(t,n){for(var o=i[+(n&lt;0)],s=a[+(n&lt;0)],l=0,c=o.length;l&lt;c;++l){var u=o[l];if(u[0][0]&lt;=t&amp;&amp;t&lt;u[1][0]&amp;&amp;u[0][1]&lt;=n&amp;&amp;n&lt;u[1][1]){var f=e.invert(t-e(s[l][1][0],0)[0],n);return f[0]+=s[l][1][0],function(t,e){return Math.abs(t[0]-e[0])&lt;k&amp;&amp;Math.abs(t[1]-e[1])&lt;k}(r(f[0],f[1]),[t,n])?f:null}}});var o=t.geo.projection(r),s=o.stream;return o.stream=function(e){var r=o.rotate(),i=s(e),l=(o.rotate([0,0]),s(e));return o.rotate(r),i.sphere=function(){t.geo.stream(function(){for(var e=[],r=0,i=a[0].length;r&lt;i;++r){var o=180*(f=a[0][r])[0][0]/T,s=180*f[0][1]/T,l=180*f[1][1]/T,c=180*f[2][0]/T,u=180*f[2][1]/T;e.push(n([[o+1e-6,s+1e-6],[o+1e-6,l-1e-6],[c-1e-6,l-1e-6],[c-1e-6,u+1e-6]],30))}for(r=a[1].length-1;r&gt;=0;--r){var f;o=180*(f=a[1][r])[0][0]/T,s=180*f[0][1]/T,l=180*f[1][1]/T,c=180*f[2][0]/T,u=180*f[2][1]/T,e.push(n([[c-1e-6,u-1e-6],[c-1e-6,l+1e-6],[o+1e-6,l+1e-6],[o+1e-6,s-1e-6]],30))}return{type:&quot;Polygon&quot;,coordinates:[t.merge(e)]}}(),l)},i},o.lobes=function(t){return arguments.length?(a=t.map(function(t){return t.map(function(t){return[[t[0][0]*T/180,t[0][1]*T/180],[t[1][0]*T/180,t[1][1]*T/180],[t[2][0]*T/180,t[2][1]*T/180]]})}),i=a.map(function(t){return t.map(function(t){var r,n=e(t[0][0],t[0][1])[0],i=e(t[2][0],t[2][1])[0],a=e(t[1][0],t[0][1])[1],o=e(t[1][0],t[1][1])[1];return a&gt;o&amp;&amp;(r=a,a=o,o=r),[[n,a],[i,o]]})}),o):a.map(function(t){return t.map(function(t){return[[180*t[0][0]/T,180*t[0][1]/T],[180*t[1][0]/T,180*t[1][1]/T],[180*t[2][0]/T,180*t[2][1]/T]]})})},o},o.invert=function(t,e){var r=.5*e*Math.sqrt((4+T)/T),n=i(r),a=Math.cos(n);return[t/(2/Math.sqrt(T*(4+T))*(1+a)),i((n+r*(a+2))/(2+S))]},(t.geo.eckert4=function(){return C(o)}).raw=o;var D=t.geo.azimuthalEqualArea.raw;l.invert=function(t,e){var r=2*i(e/2);return[t*Math.cos(r/2)/Math.cos(r),r]},(t.geo.hammer=function(){var t=2,e=z(s),r=e(t);return r.coefficient=function(r){return arguments.length?e(t=+r):t},r}).raw=s,c.invert=function(t,e){return[2/3*T*t/Math.sqrt(T*T/3-e*e),e]},(t.geo.kavrayskiy7=function(){return C(c)}).raw=c,u.invert=function(t,e){return[t,2.5*Math.atan(Math.exp(.8*e))-.625*T]},(t.geo.miller=function(){return C(u)}).raw=u,f(T);var I=function(t,e,r){function n(r,n){return[t*r*Math.cos(n=a(n)),e*Math.sin(n)]}var a=f(r);return n.invert=function(n,a){var o=i(a/e);return[n/(t*Math.cos(o)),i((2*o+Math.sin(2*o))/r)]},n}(Math.SQRT2/S,Math.SQRT2,T);(t.geo.mollweide=function(){return C(I)}).raw=I,h.invert=function(t,e){var r,n=e,i=25;do{var a=n*n,o=a*a;n-=r=(n*(1.007226+a*(.015085+o*(.028874*a-.044475-.005916*o)))-e)/(1.007226+a*(.045255+o*(.259866*a-.311325-.005916*11*o)))}while(Math.abs(r)&gt;k&amp;&amp;--i&gt;0);return[t/(.8707+(a=n*n)*(a*(a*a*a*(.003971-.001529*a)-.013791)-.131979)),n]},(t.geo.naturalEarth=function(){return C(h)}).raw=h;var P=[[.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]];P.forEach(function(t){t[1]*=1.0144}),d.invert=function(t,e){var r=e/S,n=90*r,i=Math.min(18,Math.abs(n/5)),a=Math.max(0,Math.floor(i));do{var o=P[a][1],s=P[a+1][1],l=P[Math.min(19,a+2)][1],c=l-o,u=l-2*s+o,f=2*(Math.abs(r)-s)/c,h=u/c,d=f*(1-h*f*(1-2*h*f));if(d&gt;=0||1===a){n=(e&gt;=0?5:-5)*(d+i);var p,m=50;do{d=(i=Math.min(18,Math.abs(n)/5))-(a=Math.floor(i)),o=P[a][1],s=P[a+1][1],l=P[Math.min(19,a+2)][1],n-=(p=(e&gt;=0?S:-S)*(s+d*(l-o)/2+d*d*(l-2*s+o)/2)-e)*L}while(Math.abs(p)&gt;A&amp;&amp;--m&gt;0);break}}while(--a&gt;=0);var g=P[a][0],v=P[a+1][0],y=P[Math.min(19,a+2)][0];return[t/(v+d*(y-g)/2+d*d*(y-2*v+g)/2),n*E]},(t.geo.robinson=function(){return C(d)}).raw=d,p.invert=function(t,e){return[t/Math.cos(e),e]},(t.geo.sinusoidal=function(){return C(p)}).raw=p,m.invert=function(t,e){if(!(t*t+4*e*e&gt;T*T+k)){var r=t,n=e,i=25;do{var o,s=Math.sin(r),l=Math.sin(r/2),c=Math.cos(r/2),u=Math.sin(n),f=Math.cos(n),h=Math.sin(2*n),d=u*u,p=f*f,m=l*l,g=1-p*c*c,v=g?a(f*c)*Math.sqrt(o=1/g):o=0,y=2*v*f*l-t,x=v*u-e,b=o*(p*m+v*f*c*d),_=o*(.5*s*h-2*v*u*l),w=.25*o*(h*l-v*u*p*s),M=o*(d*c+v*m*f),A=_*w-M*b;if(!A)break;var S=(x*_-y*M)/A,E=(y*w-x*b)/A;r-=S,n-=E}while((Math.abs(S)&gt;k||Math.abs(E)&gt;k)&amp;&amp;--i&gt;0);return[r,n]}},(t.geo.aitoff=function(){return C(m)}).raw=m,g.invert=function(t,e){var r=t,n=e,i=25;do{var o,s=Math.cos(n),l=Math.sin(n),c=Math.sin(2*n),u=l*l,f=s*s,h=Math.sin(r),d=Math.cos(r/2),p=Math.sin(r/2),m=p*p,g=1-f*d*d,v=g?a(s*d)*Math.sqrt(o=1/g):o=0,y=.5*(2*v*s*p+r/S)-t,x=.5*(v*l+n)-e,b=.5*o*(f*m+v*s*d*u)+.5/S,_=o*(h*c/4-v*l*p),w=.125*o*(c*p-v*l*f*h),M=.5*o*(u*d+v*m*s)+.5,A=_*w-M*b,T=(x*_-y*M)/A,E=(y*w-x*b)/A;r-=T,n-=E}while((Math.abs(T)&gt;k||Math.abs(E)&gt;k)&amp;&amp;--i&gt;0);return[r,n]},(t.geo.winkel3=function(){return C(g)}).raw=g}},{}],825:[function(t,e,r){&quot;use strict&quot;;function n(t,e){return d.behavior.zoom().translate(e.translate()).scale(e.scale())}function i(t,e,r){function n(t,e){var r=p.nestedProperty(s,t);r.get()!==e&amp;&amp;(r.set(e),p.nestedProperty(o,t).set(e),l[i+&quot;.&quot;+t]=e)}var i=t.id,a=t.graphDiv,o=a.layout[i],s=a._fullLayout[i],l={};r(n),n(&quot;projection.scale&quot;,e.scale()/t.fitScale),a.emit(&quot;plotly_relayout&quot;,l)}function a(t,e){function r(r){var n=e.invert(t.midPt);r(&quot;center.lon&quot;,n[0]),r(&quot;center.lat&quot;,n[1])}var a=n(0,e);return a.on(&quot;zoomstart&quot;,function(){d.select(this).style(v)}).on(&quot;zoom&quot;,function(){e.scale(d.event.scale).translate(d.event.translate),t.render()}).on(&quot;zoomend&quot;,function(){d.select(this).style(y),i(t,e,r)}),a}function o(t,e){function r(t){return e.invert(t)}function a(r){var n=e.rotate(),i=e.invert(t.midPt);r(&quot;projection.rotation.lon&quot;,-n[0]),r(&quot;center.lon&quot;,i[0]),r(&quot;center.lat&quot;,i[1])}var o,s,l,c,u,f,h,p,m=n(0,e),g=2;return m.on(&quot;zoomstart&quot;,function(){d.select(this).style(v),o=d.mouse(this),s=e.rotate(),l=e.translate(),c=s,u=r(o)}).on(&quot;zoom&quot;,function(){if(f=d.mouse(this),function(t){var n=e(r(t));return Math.abs(n[0]-t[0])&gt;g||Math.abs(n[1]-t[1])&gt;g}(o))return m.scale(e.scale()),void m.translate(e.translate());e.scale(d.event.scale),e.translate([l[0],d.event.translate[1]]),u?r(f)&amp;&amp;(p=r(f),h=[c[0]+(p[0]-u[0]),s[1],s[2]],e.rotate(h),c=h):u=r(o=f),t.render()}).on(&quot;zoomend&quot;,function(){d.select(this).style(y),i(t,e,a)}),m}function s(t,e){function r(t){var r=e.rotate();t(&quot;projection.rotation.lon&quot;,-r[0]),t(&quot;projection.rotation.lat&quot;,-r[1])}var a,o={r:e.rotate(),k:e.scale()},s=n(0,e),u=function(t){var e=0,r=arguments.length,n=[];for(;++e&lt;r;)n.push(arguments[e]);var i=d.dispatch.apply(null,n);return i.of=function(e,r){return function(n){var a;try{a=n.sourceEvent=d.event,n.target=t,d.event=n,i[n.type].apply(e,r)}finally{d.event=a}}},i}(s,&quot;zoomstart&quot;,&quot;zoom&quot;,&quot;zoomend&quot;),p=0,x=s.on;return s.on(&quot;zoomstart&quot;,function(){d.select(this).style(v);var t=d.mouse(this),r=e.rotate(),n=r,i=e.translate(),y=function(t){var e=.5*t[0]*m,r=.5*t[1]*m,n=.5*t[2]*m,i=Math.sin(e),a=Math.cos(e),o=Math.sin(r),s=Math.cos(r),l=Math.sin(n),c=Math.cos(n);return[a*s*c+i*o*l,i*s*c-a*o*l,a*o*c+i*s*l,a*s*l-i*o*c]}(r);a=l(e,t),x.call(s,&quot;zoom&quot;,function(){var s=d.mouse(this);if(e.scale(o.k=d.event.scale),a){if(l(e,s)){e.rotate(r).translate(i);var p=l(e,s),m=function(t,e){if(!t||!e)return;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(h(r,r)),i=.5*Math.acos(Math.max(-1,Math.min(1,h(t,e)))),a=Math.sin(i)/n;return n&amp;&amp;[Math.cos(i),r[2]*a,-r[1]*a,r[0]*a]}(a,p),v=function(t){return[Math.atan2(2*(t[0]*t[1]+t[2]*t[3]),1-2*(t[1]*t[1]+t[2]*t[2]))*g,Math.asin(Math.max(-1,Math.min(1,2*(t[0]*t[2]-t[3]*t[1]))))*g,Math.atan2(2*(t[0]*t[3]+t[1]*t[2]),1-2*(t[2]*t[2]+t[3]*t[3]))*g]}(function(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]}(y,m)),x=o.r=function(t,e,r){var n=f(e,2,t[0]);n=f(n=f(n,1,t[1]),0,t[2]-r[2]);var i,a,o=e[0],s=e[1],l=e[2],u=n[0],h=n[1],d=n[2],p=Math.atan2(s,o)*g,m=Math.sqrt(o*o+s*s);Math.abs(h)&gt;m?(a=(h&gt;0?90:-90)-p,i=0):(a=Math.asin(h/m)*g-p,i=Math.sqrt(m*m-h*h));var v=180-a-2*p,y=(Math.atan2(d,u)-Math.atan2(l,i))*g,x=(Math.atan2(d,u)-Math.atan2(l,-i))*g,b=c(r[0],r[1],a,y),_=c(r[0],r[1],v,x);return b&lt;=_?[a,y,r[2]]:[v,x,r[2]]}(v,a,n);isFinite(x[0])&amp;&amp;isFinite(x[1])&amp;&amp;isFinite(x[2])||(x=n),e.rotate(x),n=x}}else a=l(e,t=s);!function(t){t({type:&quot;zoom&quot;})}(u.of(this,arguments))}),function(t){p++||t({type:&quot;zoomstart&quot;})}(u.of(this,arguments))}).on(&quot;zoomend&quot;,function(){d.select(this).style(y),x.call(s,&quot;zoom&quot;,null),function(t){--p||t({type:&quot;zoomend&quot;})}(u.of(this,arguments)),i(t,e,r)}).on(&quot;zoom.redraw&quot;,function(){t.render()}),d.rebind(s,u,&quot;on&quot;)}function l(t,e){var r=t.invert(e);return r&amp;&amp;isFinite(r[0])&amp;&amp;isFinite(r[1])&amp;&amp;function(t){var e=t[0]*m,r=t[1]*m,n=Math.cos(r);return[n*Math.cos(e),n*Math.sin(e),Math.sin(r)]}(r)}function c(t,e,r,n){var i=u(r-t),a=u(n-e);return Math.sqrt(i*i+a*a)}function u(t){return(t%360+540)%360-180}function f(t,e,r){var n=r*m,i=t.slice(),a=0===e?1:0,o=2===e?1:2,s=Math.cos(n),l=Math.sin(n);return i[a]=t[a]*s-t[o]*l,i[o]=t[o]*s+t[a]*l,i}function h(t,e){for(var r=0,n=0,i=t.length;n&lt;i;++n)r+=t[n]*e[n];return r}var d=t(&quot;d3&quot;),p=t(&quot;../../lib&quot;),m=Math.PI/180,g=180/Math.PI,v={cursor:&quot;pointer&quot;},y={cursor:&quot;auto&quot;};e.exports=function(t,e){var r=t.projection;return(e._isScoped?a:e._isClipped?s:o)(t,r)}},{&quot;../../lib&quot;:743,d3:128}],826:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../registry&quot;),i=t(&quot;./cartesian/constants&quot;).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&lt;t.length;s++){var l=t[s];l[0].trace[a]===r&amp;&amp;o.push(l)}return o},r.getModuleCalcData=function(t,e){var r=[],i=&quot;string&quot;==typeof e?n.getModule(e):e;if(!i)return r;for(var a=0;a&lt;t.length;a++){var o=t[a],s=o[0].trace;s._module===i&amp;&amp;!0===s.visible&amp;&amp;r.push(o)}return r},r.getSubplotData=function(t,e,r){if(!n.subplotsRegistry[e])return[];var a,o,s,l=n.subplotsRegistry[e].attr,c=[];if(&quot;gl2d&quot;===e){var u=r.match(i);o=&quot;x&quot;+u[1],s=&quot;y&quot;+u[2]}for(var f=0;f&lt;t.length;f++)a=t[f],&quot;gl2d&quot;===e&amp;&amp;n.traceIs(a,&quot;gl2d&quot;)?a[l[0]]===o&amp;&amp;a[l[1]]===s&amp;&amp;c.push(a):a[l]===r&amp;&amp;c.push(a);return c}},{&quot;../registry&quot;:873,&quot;./cartesian/constants&quot;:794}],827:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;mouse-change&quot;),i=t(&quot;mouse-wheel&quot;),a=t(&quot;mouse-event-offset&quot;),o=t(&quot;../cartesian/constants&quot;);e.exports=function(t){function e(){t.xaxis.autorange=!1,t.yaxis.autorange=!1}function r(r,n,i){function a(e,r,n){var i=Math.min(r,n),a=Math.max(r,n);i!==a?(f[e]=i,f[e+2]=a,c.dataBox=f,t.setRanges(f)):(t.selectBox.selectBox=[0,0,1,1],t.glplot.setDirty())}var s,u,f=t.calcDataBox(),h=l.viewBox,d=c.lastPos[0],p=c.lastPos[1],m=o.MINDRAG*l.pixelRatio,g=o.MINZOOM*l.pixelRatio;switch(n*=l.pixelRatio,i*=l.pixelRatio,i=h[3]-h[1]-i,t.fullLayout.dragmode){case&quot;zoom&quot;:if(r){var v=n/(h[2]-h[0])*(f[2]-f[0])+f[0],y=i/(h[3]-h[1])*(f[3]-f[1])+f[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]&amp;&amp;c.boxStart[1]===c.boxEnd[1]||(c.boxEnabled=!0);var x=Math.abs(c.dragStart[0]-n)&lt;g,b=Math.abs(c.dragStart[1]-i)&lt;g;if(!function(){for(var e=t.graphDiv._fullLayout._axisConstraintGroups,r=t.xaxis._id,n=t.yaxis._id,i=0;i&lt;e.length;i++)if(-1!==e[i][r]){if(-1!==e[i][n])return!0;break}return!1}()||x&amp;&amp;b)x&amp;&amp;(c.boxEnd[0]=c.boxStart[0]),b&amp;&amp;(c.boxEnd[1]=c.boxStart[1]);else{s=c.boxEnd[0]-c.boxStart[0],u=c.boxEnd[1]-c.boxStart[1];var _=(f[3]-f[1])/(f[2]-f[0]);Math.abs(s*_)&gt;Math.abs(u)?(c.boxEnd[1]=c.boxStart[1]+Math.abs(s)*_*(u&gt;=0?1:-1),c.boxEnd[1]&lt;f[1]?(c.boxEnd[1]=f[1],c.boxEnd[0]=c.boxStart[0]+(f[1]-c.boxStart[1])/Math.abs(_)):c.boxEnd[1]&gt;f[3]&amp;&amp;(c.boxEnd[1]=f[3],c.boxEnd[0]=c.boxStart[0]+(f[3]-c.boxStart[1])/Math.abs(_))):(c.boxEnd[0]=c.boxStart[0]+Math.abs(u)/_*(s&gt;=0?1:-1),c.boxEnd[0]&lt;f[0]?(c.boxEnd[0]=f[0],c.boxEnd[1]=c.boxStart[1]+(f[0]-c.boxStart[0])*Math.abs(_)):c.boxEnd[0]&gt;f[2]&amp;&amp;(c.boxEnd[0]=f[2],c.boxEnd[1]=c.boxStart[1]+(f[2]-c.boxStart[0])*Math.abs(_)))}}else c.boxEnabled?(s=c.boxStart[0]!==c.boxEnd[0],u=c.boxStart[1]!==c.boxEnd[1],s||u?(s&amp;&amp;(a(0,c.boxStart[0],c.boxEnd[0]),t.xaxis.autorange=!1),u&amp;&amp;(a(1,c.boxStart[1],c.boxEnd[1]),t.yaxis.autorange=!1),t.relayoutCallback()):t.glplot.setDirty(),c.boxEnabled=!1,c.boxInited=!1):c.boxInited&amp;&amp;(c.boxInited=!1);break;case&quot;pan&quot;:c.boxEnabled=!1,c.boxInited=!1,r?(c.panning||(c.dragStart[0]=n,c.dragStart[1]=i),Math.abs(c.dragStart[0]-n)&lt;m&amp;&amp;(n=c.dragStart[0]),Math.abs(c.dragStart[1]-i)&lt;m&amp;&amp;(i=c.dragStart[1]),s=(d-n)*(f[2]-f[0])/(l.viewBox[2]-l.viewBox[0]),u=(p-i)*(f[3]-f[1])/(l.viewBox[3]-l.viewBox[1]),f[0]+=s,f[2]+=s,f[1]+=u,f[3]+=u,t.setRanges(f),c.panning=!0,c.lastInputTime=Date.now(),e(),t.cameraChanged(),t.handleAnnotations()):c.panning&amp;&amp;(c.panning=!1,t.relayoutCallback())}c.lastPos[0]=n,c.lastPos[1]=i}var s=t.mouseContainer,l=t.glplot,c=new function(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]}(s,l);return c.mouseListener=n(s,r),s.addEventListener(&quot;touchstart&quot;,function(t){var e=a(t.changedTouches[0],s);r(0,e[0],e[1]),r(1,e[0],e[1])}),s.addEventListener(&quot;touchmove&quot;,function(t){t.preventDefault();var e=a(t.changedTouches[0],s);r(1,e[0],e[1])}),s.addEventListener(&quot;touchend&quot;,function(){r(0,c.lastPos[0],c.lastPos[1])}),c.wheelListener=i(s,function(r,n){if(!t.scrollZoom)return!1;var i=t.calcDataBox(),a=l.viewBox,o=c.lastPos[0],s=c.lastPos[1],u=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)*u+f,i[2]=(i[2]-f)*u+f,i[1]=(i[1]-h)*u+h,i[3]=(i[3]-h)*u+h,t.setRanges(i),c.lastInputTime=Date.now(),e(),t.cameraChanged(),t.handleAnnotations(),t.relayoutCallback(),!0}),c}},{&quot;../cartesian/constants&quot;:794,&quot;mouse-change&quot;:443,&quot;mouse-event-offset&quot;:444,&quot;mouse-wheel&quot;:446}],828:[function(t,e,r){&quot;use strict&quot;;function n(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=[&quot;x&quot;,&quot;y&quot;],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=[&quot;sans-serif&quot;,&quot;sans-serif&quot;],this.labelColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.title=&quot;&quot;,this.titleEnable=!0,this.titleCenter=[0,0,0,0],this.titleAngle=0,this.titleColor=[0,0,0,1],this.titleFont=&quot;sans-serif&quot;,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=!1,this.backgroundColor=[0,0,0,0],this.static=this.scene.staticPlot}var i=t(&quot;../cartesian/axes&quot;),a=t(&quot;../../lib/html2unicode&quot;),o=t(&quot;../../lib/str2rgbarray&quot;),s=n.prototype,l=[&quot;xaxis&quot;,&quot;yaxis&quot;];s.merge=function(t){this.titleEnable=!1,this.backgroundColor=o(t.plot_bgcolor);var e,r,n,i,s,c,u,f,h,d,p;for(d=0;d&lt;2;++d){var m=(e=l[d]).charAt(0);for(n=(r=t[this.scene[e]._name]).title===this.scene.fullLayout._dfltTitle[m]?&quot;&quot;:r.title,p=0;p&lt;=2;p+=2)this.labelEnable[d+p]=!1,this.labels[d+p]=a(n),this.labelColor[d+p]=o(r.titlefont.color),this.labelFont[d+p]=r.titlefont.family,this.labelSize[d+p]=r.titlefont.size,this.labelPad[d+p]=this.getLabelPad(e,r),this.tickEnable[d+p]=!1,this.tickColor[d+p]=o((r.tickfont||{}).color),this.tickAngle[d+p]=&quot;auto&quot;===r.tickangle?0:Math.PI*-r.tickangle/180,this.tickPad[d+p]=this.getTickPad(r),this.tickMarkLength[d+p]=0,this.tickMarkWidth[d+p]=r.tickwidth||0,this.tickMarkColor[d+p]=o(r.tickcolor),this.borderLineEnable[d+p]=!1,this.borderLineColor[d+p]=o(r.linecolor),this.borderLineWidth[d+p]=r.linewidth||0;u=this.hasSharedAxis(r),s=this.hasAxisInDfltPos(e,r)&amp;&amp;!u,c=this.hasAxisInAltrPos(e,r)&amp;&amp;!u,i=r.mirror||!1,f=u?-1!==String(i).indexOf(&quot;all&quot;):!!i,h=u?&quot;allticks&quot;===i:-1!==String(i).indexOf(&quot;ticks&quot;),s?this.labelEnable[d]=!0:c&amp;&amp;(this.labelEnable[d+2]=!0),s?this.tickEnable[d]=r.showticklabels:c&amp;&amp;(this.tickEnable[d+2]=r.showticklabels),(s||f)&amp;&amp;(this.borderLineEnable[d]=r.showline),(c||f)&amp;&amp;(this.borderLineEnable[d+2]=r.showline),(s||h)&amp;&amp;(this.tickMarkLength[d]=this.getTickMarkLength(r)),(c||h)&amp;&amp;(this.tickMarkLength[d+2]=this.getTickMarkLength(r)),this.gridLineEnable[d]=r.showgrid,this.gridLineColor[d]=o(r.gridcolor),this.gridLineWidth[d]=r.gridwidth,this.zeroLineEnable[d]=r.zeroline,this.zeroLineColor[d]=o(r.zerolinecolor),this.zeroLineWidth[d]=r.zerolinewidth}},s.hasSharedAxis=function(t){var e=this.scene,r=e.fullLayout._subplots.gl2d;return 0!==i.findSubplotsWithAxis(r,t).indexOf(e.id)},s.hasAxisInDfltPos=function(t,e){var r=e.side;return&quot;xaxis&quot;===t?&quot;bottom&quot;===r:&quot;yaxis&quot;===t?&quot;left&quot;===r:void 0},s.hasAxisInAltrPos=function(t,e){var r=e.side;return&quot;xaxis&quot;===t?&quot;top&quot;===r:&quot;yaxis&quot;===t?&quot;right&quot;===r:void 0},s.getLabelPad=function(t,e){var r=e.titlefont.size,n=e.showticklabels;return&quot;xaxis&quot;===t?&quot;top&quot;===e.side?r*(1.5+(n?1:0))-10:r*(1.5+(n?.5:0))-10:&quot;yaxis&quot;===t?&quot;right&quot;===e.side?10+r*(1.5+(n?1:.5)):10+r*(1.5+(n?.5:0)):void 0},s.getTickPad=function(t){return&quot;outside&quot;===t.ticks?10+t.ticklen:15},s.getTickMarkLength=function(t){if(!t.ticks)return 0;var e=t.ticklen;return&quot;inside&quot;===t.ticks?-e:e},e.exports=function(t){return new n(t)}},{&quot;../../lib/html2unicode&quot;:741,&quot;../../lib/str2rgbarray&quot;:765,&quot;../cartesian/axes&quot;:789}],829:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../plot_api/edit_types&quot;).overrideAll,i=t(&quot;./scene2d&quot;),a=t(&quot;../layout_attributes&quot;),o=t(&quot;../../constants/xmlns_namespaces&quot;),s=t(&quot;../cartesian/constants&quot;),l=t(&quot;../cartesian&quot;),c=t(&quot;../../components/fx/layout_attributes&quot;),u=t(&quot;../get_data&quot;).getSubplotData;r.name=&quot;gl2d&quot;,r.attr=[&quot;xaxis&quot;,&quot;yaxis&quot;],r.idRoot=[&quot;x&quot;,&quot;y&quot;],r.idRegex=s.idRegex,r.attrRegex=s.attrRegex,r.attributes=t(&quot;../cartesian/attributes&quot;),r.supplyLayoutDefaults=function(t,e,r){e._has(&quot;cartesian&quot;)||l.supplyLayoutDefaults(t,e,r)},r.layoutAttrOverrides=n(l.layoutAttributes,&quot;plot&quot;,&quot;from-root&quot;),r.baseLayoutAttrOverrides=n({plot_bgcolor:a.plot_bgcolor,hoverlabel:c.hoverlabel},&quot;plot&quot;,&quot;nested&quot;),r.plot=function(t){for(var e=t._fullLayout,r=t._fullData,n=e._subplots.gl2d,a=0;a&lt;n.length;a++){var o=n[a],s=e._plots[o],l=u(r,&quot;gl2d&quot;,o),c=s._scene2d;void 0===c&amp;&amp;(c=new i({id:o,graphDiv:t,container:t.querySelector(&quot;.gl-container&quot;),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&lt;i.length;a++){var o=i[a],s=n._plots[o];if(s._scene2d){0===u(t,&quot;gl2d&quot;,o).length&amp;&amp;(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&lt;r.length;n++){var i=e._plots[r[n]]._scene2d,a=i.toImage(&quot;png&quot;);e._glimages.append(&quot;svg:image&quot;).attr({xmlns:o.svg,&quot;xlink:href&quot;:a,x:0,y:0,width:&quot;100%&quot;,height:&quot;100%&quot;,preserveAspectRatio:&quot;none&quot;}),i.destroy()}},r.updateFx=function(t){for(var e=t._subplots.gl2d,r=0;r&lt;e.length;r++){t._plots[e[r]]._scene2d.updateFx(t.dragmode)}}},{&quot;../../components/fx/layout_attributes&quot;:661,&quot;../../constants/xmlns_namespaces&quot;:723,&quot;../../plot_api/edit_types&quot;:773,&quot;../cartesian&quot;:800,&quot;../cartesian/attributes&quot;:788,&quot;../cartesian/constants&quot;:794,&quot;../get_data&quot;:826,&quot;../layout_attributes&quot;:843,&quot;./scene2d&quot;:830}],830:[function(t,e,r){&quot;use strict&quot;;function n(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,this.fullData=null,this.updateRefs(e),this.makeFramework(),this.glplotOptions=d(this),this.glplotOptions.merge(e),this.glplot=c(this.glplotOptions),this.camera=p(this),this.traces={},this.spikes=u(this.glplot),this.selectBox=f(this.glplot,{innerFill:!1,outerFill:!0}),this.lastButtonState=0,this.pickResult=null,this.isMouseOver=!0,this.bounds=[1/0,1/0,-1/0,-1/0],this.stopped=!1,this.redraw=this.draw.bind(this),this.redraw()}var i,a,o=t(&quot;../../registry&quot;),s=t(&quot;../../plots/cartesian/axes&quot;),l=t(&quot;../../components/fx&quot;),c=t(&quot;gl-plot2d&quot;),u=t(&quot;gl-spikes2d&quot;),f=t(&quot;gl-select-box&quot;),h=t(&quot;webgl-context&quot;),d=t(&quot;./convert&quot;),p=t(&quot;./camera&quot;),m=t(&quot;../../lib/html2unicode&quot;),g=t(&quot;../../lib/show_no_webgl_msg&quot;),v=t(&quot;../cartesian/constraints&quot;),y=v.enforce,x=v.clean,b=[&quot;xaxis&quot;,&quot;yaxis&quot;],_=t(&quot;../cartesian/constants&quot;).SUBPLOT_PATTERN;e.exports=n;var w=n.prototype;w.makeFramework=function(){if(this.staticPlot){if(!(a||(i=document.createElement(&quot;canvas&quot;),a=h({canvas:i,preserveDrawingBuffer:!1,premultipliedAlpha:!0,antialias:!0}))))throw new Error(&quot;Error creating static canvas/context for image server&quot;);this.canvas=i,this.gl=a}else{var t=this.container.querySelector(&quot;.gl-canvas-focus&quot;),e=h({canvas:t,preserveDrawingBuffer:!0,premultipliedAlpha:!0});e||g(this),this.canvas=t,this.gl=e}var r=this.canvas;r.style.width=&quot;100%&quot;,r.style.height=&quot;100%&quot;,r.style.position=&quot;absolute&quot;,r.style.top=&quot;0px&quot;,r.style.left=&quot;0px&quot;,r.style[&quot;pointer-events&quot;]=&quot;none&quot;,this.updateSize(r),r.className+=&quot; user-select-none&quot;;var n=this.svgContainer=document.createElementNS(&quot;http://www.w3.org/2000/svg&quot;,&quot;svg&quot;);n.style.position=&quot;absolute&quot;,n.style.top=n.style.left=&quot;0px&quot;,n.style.width=n.style.height=&quot;100%&quot;,n.style[&quot;z-index&quot;]=20,n.style[&quot;pointer-events&quot;]=&quot;none&quot;;var o=this.mouseContainer=document.createElement(&quot;div&quot;);o.style.position=&quot;absolute&quot;,o.style[&quot;pointer-events&quot;]=&quot;auto&quot;,this.pickCanvas=this.container.querySelector(&quot;.gl-canvas-pick&quot;);var s=this.container;s.appendChild(n),s.appendChild(o);var l=this;o.addEventListener(&quot;mouseout&quot;,function(){l.isMouseOver=!1,l.unhover()}),o.addEventListener(&quot;mouseover&quot;,function(){l.isMouseOver=!0})},w.toImage=function(t){t||(t=&quot;png&quot;),this.stopped=!0,this.staticPlot&amp;&amp;this.container.appendChild(i),this.updateSize(this.canvas);var e=this.glplot.gl,r=e.drawingBufferWidth,n=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*n*4);e.readPixels(0,0,r,n,e.RGBA,e.UNSIGNED_BYTE,a);for(var o=0,s=n-1;o&lt;s;++o,--s)for(var l=0;l&lt;r;++l)for(var c=0;c&lt;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(&quot;canvas&quot;);f.width=r,f.height=n;var h=f.getContext(&quot;2d&quot;),d=h.createImageData(r,n);d.data.set(a),h.putImageData(d,0,0);var p;switch(t){case&quot;jpeg&quot;:p=f.toDataURL(&quot;image/jpeg&quot;);break;case&quot;webp&quot;:p=f.toDataURL(&quot;image/webp&quot;);break;default:p=f.toDataURL(&quot;image/png&quot;)}return this.staticPlot&amp;&amp;this.container.removeChild(i),p},w.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&amp;&amp;t.height===o||(t.width=a,t.height=o),this.redraw&amp;&amp;this.redraw(),t},w.computeTickMarks=function(){this.xaxis.setScale(),this.yaxis.setScale();for(var t=[s.calcTicks(this.xaxis),s.calcTicks(this.yaxis)],e=0;e&lt;2;++e)for(var r=0;r&lt;t[e].length;++r)t[e][r].text=m(t[e][r].text+&quot;&quot;);return t},w.updateRefs=function(t){this.fullLayout=t;var e=this.id.match(_),r=&quot;xaxis&quot;+e[1],n=&quot;yaxis&quot;+e[2];this.xaxis=this.fullLayout[r],this.yaxis=this.fullLayout[n]},w.relayoutCallback=function(){var t=this.graphDiv,e=this.xaxis,r=this.yaxis,n=t.layout;n.xaxis.autorange=e.autorange,n.xaxis.range=e.range.slice(0),n.yaxis.autorange=r.autorange,n.yaxis.range=r.range.slice(0);var i={lastInputTime:this.camera.lastInputTime};i[e._name]=e.range.slice(0),i[r._name]=r.range.slice(0),t.emit(&quot;plotly_relayout&quot;,i)},w.cameraChanged=function(){var t=this.camera;this.glplot.setDataBox(this.calcDataBox());var e=this.computeTickMarks();(function(t,e){for(var r=0;r&lt;2;++r){var n=t[r],i=e[r];if(n.length!==i.length)return!0;for(var a=0;a&lt;n.length;++a)if(n[a].x!==i[a].x)return!0}return!1})(e,this.glplotOptions.ticks)&amp;&amp;(this.glplotOptions.ticks=e,this.glplotOptions.dataBox=t.dataBox,this.glplot.update(this.glplotOptions),this.handleAnnotations())},w.handleAnnotations=function(){for(var t=this.graphDiv,e=this.fullLayout.annotations,r=0;r&lt;e.length;r++){var n=e[r];n.xref===this.xaxis._id&amp;&amp;n.yref===this.yaxis._id&amp;&amp;o.getComponentMethod(&quot;annotations&quot;,&quot;drawOne&quot;)(t,r)}},w.destroy=function(){if(this.glplot){var t=this.traces;t&amp;&amp;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(&quot;wheel&quot;,this.camera.wheelListener),this.camera=null}},w.plot=function(t,e,r){var n=this.glplot;this.updateRefs(r),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 l={_fullLayout:{_axisConstraintGroups:this.graphDiv._fullLayout._axisConstraintGroups,xaxis:this.xaxis,yaxis:this.yaxis}};x(l,this.xaxis),x(l,this.yaxis);var c=r._size,u=this.xaxis.domain,f=this.yaxis.domain;o.viewBox=[c.l+u[0]*c.w,c.b+f[0]*c.h,i-c.r-(1-u[1])*c.w,a-c.t-(1-f[1])*c.h],this.mouseContainer.style.width=c.w*(u[1]-u[0])+&quot;px&quot;,this.mouseContainer.style.height=c.h*(f[1]-f[0])+&quot;px&quot;,this.mouseContainer.height=c.h*(f[1]-f[0]),this.mouseContainer.style.left=c.l+u[0]*c.w+&quot;px&quot;,this.mouseContainer.style.top=c.t+(1-f[1])*c.h+&quot;px&quot;;var h=this.bounds;h[0]=h[1]=1/0,h[2]=h[3]=-1/0;var d,p,m=Object.keys(this.traces);for(p=0;p&lt;m.length;++p)for(var g=this.traces[m[p]],v=0;v&lt;2;++v)h[v]=Math.min(h[v],g.bounds[v]),h[v+2]=Math.max(h[v+2],g.bounds[v+2]);for(p=0;p&lt;2;++p)h[p]&gt;h[p+2]&amp;&amp;(h[p]=-1,h[p+2]=1),(d=this[b[p]])._length=o.viewBox[p+2]-o.viewBox[p],s.doAutoRange(d),d.setScale();y(l),o.ticks=this.computeTickMarks(),o.dataBox=this.calcDataBox(),o.merge(r),n.update(o),this.glplot.draw()},w.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])]},w.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])]},w.updateTraces=function(t,e){var r,n,i,a=Object.keys(this.traces);this.fullData=t;t:for(r=0;r&lt;a.length;r++){var o=a[r],s=this.traces[o];for(n=0;n&lt;t.length;n++)if((i=t[n]).uid===o&amp;&amp;i.type===s.type)continue t;s.dispose(),delete this.traces[o]}for(r=0;r&lt;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})},w.updateFx=function(t){&quot;lasso&quot;===t||&quot;select&quot;===t?(this.pickCanvas.style[&quot;pointer-events&quot;]=&quot;none&quot;,this.mouseContainer.style[&quot;pointer-events&quot;]=&quot;none&quot;):(this.pickCanvas.style[&quot;pointer-events&quot;]=&quot;auto&quot;,this.mouseContainer.style[&quot;pointer-events&quot;]=&quot;auto&quot;),this.mouseContainer.style.cursor=&quot;pan&quot;===t?&quot;move&quot;:&quot;zoom&quot;===t?&quot;crosshair&quot;:null},w.emitPointAction=function(t,e){for(var r,n=t.trace.uid,i=t.pointIndex,a=0;a&lt;this.fullData.length;a++)this.fullData[a].uid===n&amp;&amp;(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};l.appendArrayPointValue(o,r,i),this.graphDiv.emit(e,{points:[o]})},w.draw=function(){if(!this.stopped){requestAnimationFrame(this.redraw);var t=this.glplot,e=this.camera,r=e.mouseListener,n=1===this.lastButtonState&amp;&amp;0===r.buttons,i=this.fullLayout;this.lastButtonState=r.buttons,this.cameraChanged();var a,o=r.x*t.pixelRatio,s=this.canvas.height-t.pixelRatio*r.y;if(e.boxEnabled&amp;&amp;&quot;zoom&quot;===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&lt;2;u++)e.boxStart[u]===e.boxEnd[u]&amp;&amp;(c[u]=t.dataBox[u],c[u+2]=t.dataBox[u+2]);t.setDirty()}else if(!e.panning&amp;&amp;this.isMouseOver){this.selectBox.enabled=!1;var f=i._size,h=this.xaxis.domain,d=this.yaxis.domain,p=(a=t.pick(o/t.pixelRatio+f.l+h[0]*f.w,s/t.pixelRatio-(f.t+(1-d[1])*f.h)))&amp;&amp;a.object._trace.handlePick(a);if(p&amp;&amp;n&amp;&amp;this.emitPointAction(p,&quot;plotly_click&quot;),a&amp;&amp;&quot;skip&quot;!==a.object._trace.hoverinfo&amp;&amp;i.hovermode&amp;&amp;p&amp;&amp;(!this.lastPickResult||this.lastPickResult.traceUid!==p.trace.uid||this.lastPickResult.dataCoord[0]!==p.dataCoord[0]||this.lastPickResult.dataCoord[1]!==p.dataCoord[1])){var m=p;this.lastPickResult={traceUid:p.trace?p.trace.uid:null,dataCoord:p.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(p,&quot;plotly_hover&quot;);var g=this.fullData[m.trace.index]||{},v=m.pointIndex,y=l.castHoverinfo(g,i,v);if(y&amp;&amp;&quot;all&quot;!==y){var x=y.split(&quot;+&quot;);-1===x.indexOf(&quot;x&quot;)&amp;&amp;(m.traceCoord[0]=void 0),-1===x.indexOf(&quot;y&quot;)&amp;&amp;(m.traceCoord[1]=void 0),-1===x.indexOf(&quot;z&quot;)&amp;&amp;(m.traceCoord[2]=void 0),-1===x.indexOf(&quot;text&quot;)&amp;&amp;(m.textLabel=void 0),-1===x.indexOf(&quot;name&quot;)&amp;&amp;(m.name=void 0)}l.loneHover({x:m.screenCoord[0],y:m.screenCoord[1],xLabel:this.hoverFormatter(&quot;xaxis&quot;,m.traceCoord[0]),yLabel:this.hoverFormatter(&quot;yaxis&quot;,m.traceCoord[1]),zLabel:m.traceCoord[2],text:m.textLabel,name:m.name,color:l.castHoverOption(g,v,&quot;bgcolor&quot;)||m.color,borderColor:l.castHoverOption(g,v,&quot;bordercolor&quot;),fontFamily:l.castHoverOption(g,v,&quot;font.family&quot;),fontSize:l.castHoverOption(g,v,&quot;font.size&quot;),fontColor:l.castHoverOption(g,v,&quot;font.color&quot;)},{container:this.svgContainer,gd:this.graphDiv})}}a||this.unhover(),t.draw()}},w.unhover=function(){this.lastPickResult&amp;&amp;(this.spikes.update({}),this.lastPickResult=null,this.graphDiv.emit(&quot;plotly_unhover&quot;),l.loneUnhover(this.svgContainer))},w.hoverFormatter=function(t,e){if(void 0!==e){var r=this[t];return s.tickText(r,r.c2l(e),&quot;hover&quot;).text}}},{&quot;../../components/fx&quot;:660,&quot;../../lib/html2unicode&quot;:741,&quot;../../lib/show_no_webgl_msg&quot;:763,&quot;../../plots/cartesian/axes&quot;:789,&quot;../../registry&quot;:873,&quot;../cartesian/constants&quot;:794,&quot;../cartesian/constraints&quot;:796,&quot;./camera&quot;:827,&quot;./convert&quot;:828,&quot;gl-plot2d&quot;:224,&quot;gl-select-box&quot;:241,&quot;gl-spikes2d&quot;:250,&quot;webgl-context&quot;:577}],831:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t,e){function r(e,r,i,a){var o=p.keyBindingMode;if(!1!==o){var s=&quot;rotate&quot;===o,l=&quot;pan&quot;===o,u=&quot;zoom&quot;===o,h=!!a.control,d=!!a.alt,y=!!a.shift,x=!!(1&amp;e),b=!!(2&amp;e),_=!!(4&amp;e),w=1/t.clientHeight,M=w*(r-m),k=w*(i-g),A=p.flipX?1:-1,T=p.flipY?1:-1,S=n(),E=Math.PI*p.rotateSpeed;if((s&amp;&amp;x&amp;&amp;!h&amp;&amp;!d&amp;&amp;!y||x&amp;&amp;!h&amp;&amp;!d&amp;&amp;y)&amp;&amp;c.rotate(S,A*E*M,-T*E*k,0),(l&amp;&amp;x&amp;&amp;!h&amp;&amp;!d&amp;&amp;!y||b||x&amp;&amp;h&amp;&amp;!d&amp;&amp;!y)&amp;&amp;c.pan(S,-p.translateSpeed*M*f,p.translateSpeed*k*f,0),u&amp;&amp;x&amp;&amp;!h&amp;&amp;!d&amp;&amp;!y||_||x&amp;&amp;!h&amp;&amp;d&amp;&amp;!y){var L=-p.zoomSpeed*k/window.innerHeight*(S-c.lastT())*100;c.pan(S,0,0,f*(Math.exp(L)-1))}return m=r,g=i,v=a,!0}}t=t||document.body;var l=[.01,1/0];&quot;distanceLimits&quot;in(e=e||{})&amp;&amp;(l[0]=e.distanceLimits[0],l[1]=e.distanceLimits[1]),&quot;zoomMin&quot;in e&amp;&amp;(l[0]=e.zoomMin),&quot;zoomMax&quot;in e&amp;&amp;(l[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||&quot;orbit&quot;,distanceLimits:l}),u=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],f=0,h=t.clientWidth,d=t.clientHeight,p={keyBindingMode:&quot;rotate&quot;,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,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&lt;16;++s)a=a&amp;&amp;u[s]===o[s],u[s]=o[s];var l=t.clientWidth===h&amp;&amp;t.clientHeight===d;return h=t.clientWidth,d=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)}};Object.defineProperties(p,{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),&quot;turntable&quot;===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(l)},set:function(t){return c.setDistanceLimits(t),t},enumerable:!0}}),t.addEventListener(&quot;contextmenu&quot;,function(t){return t.preventDefault(),!1});var m=0,g=0,v={shift:!1,control:!1,alt:!1,meta:!1};return p.mouseListener=a(t,r),t.addEventListener(&quot;touchstart&quot;,function(e){var n=s(e.changedTouches[0],t);r(0,n[0],n[1],v),r(1,n[0],n[1],v)}),t.addEventListener(&quot;touchmove&quot;,function(e){var n=s(e.changedTouches[0],t);r(1,n[0],n[1],v)}),t.addEventListener(&quot;touchend&quot;,function(){r(0,m,g,v)}),p.wheelListener=o(t,function(t,e){if(!1!==p.keyBindingMode){var r=p.flipX?1:-1,i=p.flipY?1:-1,a=n();if(Math.abs(t)&gt;Math.abs(e))c.rotate(a,0,0,-t*r*Math.PI*p.rotateSpeed/window.innerWidth);else{var o=-p.zoomSpeed*i*e/window.innerHeight*(a-c.lastT())/20;c.pan(a,0,0,f*(Math.exp(o)-1))}}},!0),p};var n=t(&quot;right-now&quot;),i=t(&quot;3d-view&quot;),a=t(&quot;mouse-change&quot;),o=t(&quot;mouse-wheel&quot;),s=t(&quot;mouse-event-offset&quot;)},{&quot;3d-view&quot;:40,&quot;mouse-change&quot;:443,&quot;mouse-event-offset&quot;:444,&quot;mouse-wheel&quot;:446,&quot;right-now&quot;:509}],832:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../plot_api/edit_types&quot;).overrideAll,i=t(&quot;../../components/fx/layout_attributes&quot;),a=t(&quot;./scene&quot;),o=t(&quot;../get_data&quot;).getSubplotData,s=t(&quot;../../lib&quot;),l=t(&quot;../../constants/xmlns_namespaces&quot;);r.name=&quot;gl3d&quot;,r.attr=&quot;scene&quot;,r.idRoot=&quot;scene&quot;,r.idRegex=r.attrRegex=s.counterRegex(&quot;scene&quot;),r.attributes=t(&quot;./layout/attributes&quot;),r.layoutAttributes=t(&quot;./layout/layout_attributes&quot;),r.baseLayoutAttrOverrides=n({hoverlabel:i.hoverlabel},&quot;plot&quot;,&quot;nested&quot;),r.supplyLayoutDefaults=t(&quot;./layout/defaults&quot;),r.plot=function(t){for(var e=t._fullLayout,r=t._fullData,n=e._subplots.gl3d,i=0;i&lt;n.length;i++){var l=n[i],c=o(r,&quot;gl3d&quot;,l),u=e[l],f=u._scene;f||(f=new a({id:l,graphDiv:t,container:t.querySelector(&quot;.gl-container&quot;),staticPlot:t._context.staticPlot,plotGlPixelRatio:t._context.plotGlPixelRatio},e),u._scene=f),f.cameraInitial||(f.cameraInitial=s.extendDeep({},u.camera)),f.plot(c,e,t.layout)}},r.clean=function(t,e,r,n){for(var i=n._subplots.gl3d||[],a=0;a&lt;i.length;a++){var o=i[a];!e[o]&amp;&amp;n[o]._scene&amp;&amp;(n[o]._scene.destroy(),n._infolayer&amp;&amp;n._infolayer.selectAll(&quot;.annotation-&quot;+o).remove())}},r.toSVG=function(t){for(var e=t._fullLayout,r=e._subplots.gl3d,n=e._size,i=0;i&lt;r.length;i++){var a=e[r[i]],o=a.domain,s=a._scene,c=s.toImage(&quot;png&quot;);e._glimages.append(&quot;svg:image&quot;).attr({xmlns:l.svg,&quot;xlink:href&quot;: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:&quot;none&quot;}),s.destroy()}},r.cleanId=function(t){if(t.match(/^scene[0-9]*$/)){var e=t.substr(5);return&quot;1&quot;===e&amp;&amp;(e=&quot;&quot;),&quot;scene&quot;+e}},r.updateFx=function(t){for(var e=t._subplots.gl3d,r=0;r&lt;e.length;r++){t[e[r]]._scene.updateFx(t.dragmode,t.hovermode)}}},{&quot;../../components/fx/layout_attributes&quot;:661,&quot;../../constants/xmlns_namespaces&quot;:723,&quot;../../lib&quot;:743,&quot;../../plot_api/edit_types&quot;:773,&quot;../get_data&quot;:826,&quot;./layout/attributes&quot;:833,&quot;./layout/defaults&quot;:837,&quot;./layout/layout_attributes&quot;:838,&quot;./scene&quot;:842}],833:[function(t,e,r){&quot;use strict&quot;;e.exports={scene:{valType:&quot;subplotid&quot;,dflt:&quot;scene&quot;,editType:&quot;calc+clearAxisTypes&quot;}}},{}],834:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../../components/color&quot;),i=t(&quot;../../cartesian/layout_attributes&quot;),a=t(&quot;../../../lib/extend&quot;).extendFlat,o=t(&quot;../../../plot_api/edit_types&quot;).overrideAll;e.exports=o({visible:i.visible,showspikes:{valType:&quot;boolean&quot;,dflt:!0},spikesides:{valType:&quot;boolean&quot;,dflt:!0},spikethickness:{valType:&quot;number&quot;,min:0,dflt:2},spikecolor:{valType:&quot;color&quot;,dflt:n.defaultLine},showbackground:{valType:&quot;boolean&quot;,dflt:!1},backgroundcolor:{valType:&quot;color&quot;,dflt:&quot;rgba(204, 204, 204, 0.5)&quot;},showaxeslabels:{valType:&quot;boolean&quot;,dflt:!0},color:i.color,categoryorder:i.categoryorder,categoryarray:i.categoryarray,title:i.title,titlefont:i.titlefont,type:i.type,autorange:i.autorange,rangemode:i.rangemode,range:i.range,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,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:&quot;rgb(204, 204, 204)&quot;}),gridwidth:i.gridwidth,zeroline:i.zeroline,zerolinecolor:i.zerolinecolor,zerolinewidth:i.zerolinewidth},&quot;plot&quot;,&quot;from-root&quot;)},{&quot;../../../components/color&quot;:618,&quot;../../../lib/extend&quot;:732,&quot;../../../plot_api/edit_types&quot;:773,&quot;../../cartesian/layout_attributes&quot;:801}],835:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;tinycolor2&quot;).mix,i=t(&quot;../../../lib&quot;),a=t(&quot;./axis_attributes&quot;),o=t(&quot;../../cartesian/type_defaults&quot;),s=t(&quot;../../cartesian/axis_defaults&quot;),l=[&quot;xaxis&quot;,&quot;yaxis&quot;,&quot;zaxis&quot;];e.exports=function(t,e,r){function c(t,e){return i.coerce(u,f,a,t,e)}for(var u,f,h=0;h&lt;l.length;h++){var d=l[h];u=t[d]||{},f=e[d]={_id:d[0]+r.scene,_name:d},o(u,f,c,r.data),s(u,f,c,{font:r.font,letter:d[0],data:r.data,showGrid:!0,bgColor:r.bgColor,calendar:r.calendar},r.fullLayout),c(&quot;gridcolor&quot;,n(f.color,r.bgColor,13600/187).toRgbString()),c(&quot;title&quot;,d[0]),f.setScale=i.noop,c(&quot;showspikes&quot;)&amp;&amp;(c(&quot;spikesides&quot;),c(&quot;spikethickness&quot;),c(&quot;spikecolor&quot;,f.color)),c(&quot;showaxeslabels&quot;),c(&quot;showbackground&quot;)&amp;&amp;c(&quot;backgroundcolor&quot;)}}},{&quot;../../../lib&quot;:743,&quot;../../cartesian/axis_defaults&quot;:791,&quot;../../cartesian/type_defaults&quot;:813,&quot;./axis_attributes&quot;:834,tinycolor2:546}],836:[function(t,e,r){&quot;use strict&quot;;function n(){this.bounds=[[-10,-10,-10],[10,10,10]],this.ticks=[[],[],[]],this.tickEnable=[!0,!0,!0],this.tickFont=[&quot;sans-serif&quot;,&quot;sans-serif&quot;,&quot;sans-serif&quot;],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=[&quot;x&quot;,&quot;y&quot;,&quot;z&quot;],this.labelEnable=[!0,!0,!0],this.labelFont=[&quot;Open Sans&quot;,&quot;Open Sans&quot;,&quot;Open Sans&quot;],this.labelSize=[20,20,20],this.labelAngle=[0,0,0],this.labelColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.labelPad=[30,30,30],this.lineEnable=[!0,!0,!0],this.lineMirror=[!1,!1,!1],this.lineWidth=[1,1,1],this.lineColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.lineTickEnable=[!0,!0,!0],this.lineTickMirror=[!1,!1,!1],this.lineTickLength=[10,10,10],this.lineTickWidth=[1,1,1],this.lineTickColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.gridEnable=[!0,!0,!0],this.gridWidth=[1,1,1],this.gridColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.zeroEnable=[!0,!0,!0],this.zeroLineColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.zeroLineWidth=[2,2,2],this.backgroundEnable=[!0,!0,!0],this.backgroundColor=[[.8,.8,.8,.5],[.8,.8,.8,.5],[.8,.8,.8,.5]],this._defaultTickPad=this.tickPad.slice(),this._defaultLabelPad=this.labelPad.slice(),this._defaultLineTickLength=this.lineTickLength.slice()}var i=t(&quot;../../../lib/html2unicode&quot;),a=t(&quot;../../../lib/str2rgbarray&quot;),o=[&quot;xaxis&quot;,&quot;yaxis&quot;,&quot;zaxis&quot;];n.prototype.merge=function(t){for(var e=0;e&lt;3;++e){var r=t[o[e]];r.visible?(this.labels[e]=i(r.title),&quot;titlefont&quot;in r&amp;&amp;(r.titlefont.color&amp;&amp;(this.labelColor[e]=a(r.titlefont.color)),r.titlefont.family&amp;&amp;(this.labelFont[e]=r.titlefont.family),r.titlefont.size&amp;&amp;(this.labelSize[e]=r.titlefont.size)),&quot;showline&quot;in r&amp;&amp;(this.lineEnable[e]=r.showline),&quot;linecolor&quot;in r&amp;&amp;(this.lineColor[e]=a(r.linecolor)),&quot;linewidth&quot;in r&amp;&amp;(this.lineWidth[e]=r.linewidth),&quot;showgrid&quot;in r&amp;&amp;(this.gridEnable[e]=r.showgrid),&quot;gridcolor&quot;in r&amp;&amp;(this.gridColor[e]=a(r.gridcolor)),&quot;gridwidth&quot;in r&amp;&amp;(this.gridWidth[e]=r.gridwidth),&quot;log&quot;===r.type?this.zeroEnable[e]=!1:&quot;zeroline&quot;in r&amp;&amp;(this.zeroEnable[e]=r.zeroline),&quot;zerolinecolor&quot;in r&amp;&amp;(this.zeroLineColor[e]=a(r.zerolinecolor)),&quot;zerolinewidth&quot;in r&amp;&amp;(this.zeroLineWidth[e]=r.zerolinewidth),&quot;ticks&quot;in r&amp;&amp;r.ticks?this.lineTickEnable[e]=!0:this.lineTickEnable[e]=!1,&quot;ticklen&quot;in r&amp;&amp;(this.lineTickLength[e]=this._defaultLineTickLength[e]=r.ticklen),&quot;tickcolor&quot;in r&amp;&amp;(this.lineTickColor[e]=a(r.tickcolor)),&quot;tickwidth&quot;in r&amp;&amp;(this.lineTickWidth[e]=r.tickwidth),&quot;tickangle&quot;in r&amp;&amp;(this.tickAngle[e]=&quot;auto&quot;===r.tickangle?0:Math.PI*-r.tickangle/180),&quot;showticklabels&quot;in r&amp;&amp;(this.tickEnable[e]=r.showticklabels),&quot;tickfont&quot;in r&amp;&amp;(r.tickfont.color&amp;&amp;(this.tickColor[e]=a(r.tickfont.color)),r.tickfont.family&amp;&amp;(this.tickFont[e]=r.tickfont.family),r.tickfont.size&amp;&amp;(this.tickSize[e]=r.tickfont.size)),&quot;mirror&quot;in r?-1!==[&quot;ticks&quot;,&quot;all&quot;,&quot;allticks&quot;].indexOf(r.mirror)?(this.lineTickMirror[e]=!0,this.lineMirror[e]=!0):!0===r.mirror?(this.lineTickMirror[e]=!1,this.lineMirror[e]=!0):(this.lineTickMirror[e]=!1,this.lineMirror[e]=!1):this.lineMirror[e]=!1,&quot;showbackground&quot;in r&amp;&amp;!1!==r.showbackground?(this.backgroundEnable[e]=!0,this.backgroundColor[e]=a(r.backgroundcolor)):this.backgroundEnable[e]=!1):(this.tickEnable[e]=!1,this.labelEnable[e]=!1,this.lineEnable[e]=!1,this.lineTickEnable[e]=!1,this.gridEnable[e]=!1,this.zeroEnable[e]=!1,this.backgroundEnable[e]=!1)}},e.exports=function(t){var e=new n;return e.merge(t),e}},{&quot;../../../lib/html2unicode&quot;:741,&quot;../../../lib/str2rgbarray&quot;:765}],837:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,n){for(var i=r(&quot;bgcolor&quot;),s=a.combine(i,n.paper_bgcolor),c=[&quot;up&quot;,&quot;center&quot;,&quot;eye&quot;],u=0;u&lt;c.length;u++)r(&quot;camera.&quot;+c[u]+&quot;.x&quot;),r(&quot;camera.&quot;+c[u]+&quot;.y&quot;),r(&quot;camera.&quot;+c[u]+&quot;.z&quot;);var f=!!r(&quot;aspectratio.x&quot;)&amp;&amp;!!r(&quot;aspectratio.y&quot;)&amp;&amp;!!r(&quot;aspectratio.z&quot;),h=r(&quot;aspectmode&quot;,f?&quot;manual&quot;:&quot;auto&quot;);f||(t.aspectratio=e.aspectratio={x:1,y:1,z:1},&quot;manual&quot;===h&amp;&amp;(e.aspectmode=&quot;auto&quot;),t.aspectmode=e.aspectmode),l(t,e,{font:n.font,scene:n.id,data:n.fullData,bgColor:s,calendar:n.calendar,fullLayout:n.fullLayout}),o.getComponentMethod(&quot;annotations3d&quot;,&quot;handleDefaults&quot;)(t,e,n),r(&quot;dragmode&quot;,n.getDfltFromLayout(&quot;dragmode&quot;)),r(&quot;hovermode&quot;,n.getDfltFromLayout(&quot;hovermode&quot;))}var i=t(&quot;../../../lib&quot;),a=t(&quot;../../../components/color&quot;),o=t(&quot;../../../registry&quot;),s=t(&quot;../../subplot_defaults&quot;),l=t(&quot;./axis_defaults&quot;),c=t(&quot;./layout_attributes&quot;);e.exports=function(t,e,r){var a=e._basePlotModules.length&gt;1;s(t,e,r,{type:&quot;gl3d&quot;,attributes:c,handleDefaults:n,fullLayout:e,font:e.font,fullData:r,getDfltFromLayout:function(e){if(!a)return i.validate(t[e],c[e])?t[e]:void 0},paper_bgcolor:e.paper_bgcolor,calendar:e.calendar})}},{&quot;../../../components/color&quot;:618,&quot;../../../lib&quot;:743,&quot;../../../registry&quot;:873,&quot;../../subplot_defaults&quot;:865,&quot;./axis_defaults&quot;:835,&quot;./layout_attributes&quot;:838}],838:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r){return{x:{valType:&quot;number&quot;,dflt:t,editType:&quot;camera&quot;},y:{valType:&quot;number&quot;,dflt:e,editType:&quot;camera&quot;},z:{valType:&quot;number&quot;,dflt:r,editType:&quot;camera&quot;},editType:&quot;camera&quot;}}var i=t(&quot;./axis_attributes&quot;),a=t(&quot;../../domain_attributes&quot;),o=t(&quot;../../../lib/extend&quot;).extendFlat,s=t(&quot;../../../lib&quot;).counterRegex;e.exports={_arrayAttrRegexps:[s(&quot;scene&quot;,&quot;.annotations&quot;,!0)],bgcolor:{valType:&quot;color&quot;,dflt:&quot;rgba(0,0,0,0)&quot;,editType:&quot;plot&quot;},camera:{up:o(n(0,0,1),{}),center:o(n(0,0,0),{}),eye:o(n(1.25,1.25,1.25),{}),editType:&quot;camera&quot;},domain:a({name:&quot;scene&quot;,editType:&quot;plot&quot;}),aspectmode:{valType:&quot;enumerated&quot;,values:[&quot;auto&quot;,&quot;cube&quot;,&quot;data&quot;,&quot;manual&quot;],dflt:&quot;auto&quot;,editType:&quot;plot&quot;,impliedEdits:{&quot;aspectratio.x&quot;:void 0,&quot;aspectratio.y&quot;:void 0,&quot;aspectratio.z&quot;:void 0}},aspectratio:{x:{valType:&quot;number&quot;,min:0,editType:&quot;plot&quot;,impliedEdits:{&quot;^aspectmode&quot;:&quot;manual&quot;}},y:{valType:&quot;number&quot;,min:0,editType:&quot;plot&quot;,impliedEdits:{&quot;^aspectmode&quot;:&quot;manual&quot;}},z:{valType:&quot;number&quot;,min:0,editType:&quot;plot&quot;,impliedEdits:{&quot;^aspectmode&quot;:&quot;manual&quot;}},editType:&quot;plot&quot;,impliedEdits:{aspectmode:&quot;manual&quot;}},xaxis:i,yaxis:i,zaxis:i,dragmode:{valType:&quot;enumerated&quot;,values:[&quot;orbit&quot;,&quot;turntable&quot;,&quot;zoom&quot;,&quot;pan&quot;,!1],dflt:&quot;turntable&quot;,editType:&quot;plot&quot;},hovermode:{valType:&quot;enumerated&quot;,values:[&quot;closest&quot;,!1],dflt:&quot;closest&quot;,editType:&quot;modebar&quot;},editType:&quot;plot&quot;,_deprecated:{cameraposition:{valType:&quot;info_array&quot;,editType:&quot;camera&quot;}}}},{&quot;../../../lib&quot;:743,&quot;../../../lib/extend&quot;:732,&quot;../../domain_attributes&quot;:815,&quot;./axis_attributes&quot;:834}],839:[function(t,e,r){&quot;use strict&quot;;function n(){this.enabled=[!0,!0,!0],this.colors=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.drawSides=[!0,!0,!0],this.lineWidth=[1,1,1]}var i=t(&quot;../../../lib/str2rgbarray&quot;),a=[&quot;xaxis&quot;,&quot;yaxis&quot;,&quot;zaxis&quot;];n.prototype.merge=function(t){for(var e=0;e&lt;3;++e){var r=t[a[e]];r.visible?(this.enabled[e]=r.showspikes,this.colors[e]=i(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 n;return e.merge(t),e}},{&quot;../../../lib/str2rgbarray&quot;:765}],840:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t){for(var e=t.axesOptions,r=t.glplot.axesPixels,l=t.fullSceneLayout,c=[[],[],[]],u=0;u&lt;3;++u){var f=l[o[u]];if(f._length=(r[u].hi-r[u].lo)*r[u].pixelsPerDataUnit/t.dataScale[u],Math.abs(f._length)===1/0)c[u]=[];else{f.range[0]=r[u].lo/t.dataScale[u],f.range[1]=r[u].hi/t.dataScale[u],f._m=1/(t.dataScale[u]*r[u].pixelsPerDataUnit),f.range[0]===f.range[1]&amp;&amp;(f.range[0]-=1,f.range[1]+=1);var h=f.tickmode;if(&quot;auto&quot;===f.tickmode){f.tickmode=&quot;linear&quot;;var d=f.nticks||i.constrain(f._length/40,4,9);n.autoTicks(f,Math.abs(f.range[1]-f.range[0])/d)}for(var p=n.calcTicks(f),m=0;m&lt;p.length;++m)p[m].x=p[m].x*t.dataScale[u],p[m].text=a(p[m].text);c[u]=p,f.tickmode=h}}for(e.ticks=c,u=0;u&lt;3;++u)for(s[u]=.5*(t.glplot.bounds[0][u]+t.glplot.bounds[1][u]),m=0;m&lt;2;++m)e.bounds[m][u]=t.glplot.bounds[m][u];t.contourLevels=function(t){for(var e=new Array(3),r=0;r&lt;3;++r){for(var n=t[r],i=new Array(n.length),a=0;a&lt;n.length;++a)i[a]=n[a].x;e[r]=i}return e}(c)};var n=t(&quot;../../cartesian/axes&quot;),i=t(&quot;../../../lib&quot;),a=t(&quot;../../../lib/html2unicode&quot;),o=[&quot;xaxis&quot;,&quot;yaxis&quot;,&quot;zaxis&quot;],s=[0,0,0]},{&quot;../../../lib&quot;:743,&quot;../../../lib/html2unicode&quot;:741,&quot;../../cartesian/axes&quot;:789}],841:[function(t,e,r){&quot;use strict&quot;;function n(t,e){var r,n,i=[0,0,0,0];for(r=0;r&lt;4;++r)for(n=0;n&lt;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])))}},{}],842:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,n){var i={canvas:r,gl:n,container:t.container,axes:t.axesOptions,spikes:t.spikeOptions,pickRadius:10,snapToData:!0,autoScale:!0,autoBounds:!1};if(t.staticMode){if(!(c||(l=document.createElement(&quot;canvas&quot;),c=f({canvas:l,preserveDrawingBuffer:!0,premultipliedAlpha:!0,antialias:!0}))))throw new Error(&quot;error creating static canvas/context for image server&quot;);i.pixelRatio=t.pixelRatio,i.gl=c,i.canvas=l}try{t.glplot=u(i)}catch(e){v(t)}var a=function(t){if(!1!==t.fullSceneLayout.dragmode){var e={};e[t.id+&quot;.camera&quot;]=s(t.camera),t.saveCamera(t.graphDiv.layout),t.graphDiv.emit(&quot;plotly_relayout&quot;,e)}};if(t.glplot.canvas.addEventListener(&quot;mouseup&quot;,a.bind(null,t)),t.glplot.canvas.addEventListener(&quot;wheel&quot;,a.bind(null,t)),t.staticMode||t.glplot.canvas.addEventListener(&quot;webglcontextlost&quot;,function(t){d.warn(&quot;Lost WebGL context.&quot;),t.preventDefault()}),!t.camera){var o=t.fullSceneLayout.camera;t.camera=y(t.container,{center:[o.center.x,o.center.y,o.center.z],eye:[o.eye.x,o.eye.y,o.eye.z],up:[o.up.x,o.up.y,o.up.z],zoomMin:.1,zoomMax:100,mode:&quot;orbit&quot;})}return t.glplot.camera=t.camera,t.glplot.oncontextloss=function(){t.recoverContext()},t.glplot.onrender=function(t){function e(e,r){var n=t.fullSceneLayout[e];return p.tickText(n,n.d2l(r),&quot;hover&quot;).text}var r,n=t.svgContainer,i=t.container.getBoundingClientRect(),a=i.width,o=i.height;n.setAttributeNS(null,&quot;viewBox&quot;,&quot;0 0 &quot;+a+&quot; &quot;+o),n.setAttributeNS(null,&quot;width&quot;,a),n.setAttributeNS(null,&quot;height&quot;,o),w(t),t.glplot.axes.update(t.axesOptions);for(var s=Object.keys(t.traces),l=null,c=t.glplot.selection,u=0;u&lt;s.length;++u)&quot;skip&quot;!==(r=t.traces[s[u]]).data.hoverinfo&amp;&amp;r.handlePick(c)&amp;&amp;(l=r),r.setContourLevels&amp;&amp;r.setContourLevels();var f;if(null!==l){var h=x(t.glplot.cameraParams,c.dataCoordinate);r=l.data;var d=c.index,g=m.castHoverinfo(r,t.fullLayout,d),v=e(&quot;xaxis&quot;,c.traceCoordinate[0]),y=e(&quot;yaxis&quot;,c.traceCoordinate[1]),b=e(&quot;zaxis&quot;,c.traceCoordinate[2]);if(&quot;all&quot;!==g){var _=g.split(&quot;+&quot;);-1===_.indexOf(&quot;x&quot;)&amp;&amp;(v=void 0),-1===_.indexOf(&quot;y&quot;)&amp;&amp;(y=void 0),-1===_.indexOf(&quot;z&quot;)&amp;&amp;(b=void 0),-1===_.indexOf(&quot;text&quot;)&amp;&amp;(c.textLabel=void 0),-1===_.indexOf(&quot;name&quot;)&amp;&amp;(l.name=void 0)}t.fullSceneLayout.hovermode&amp;&amp;m.loneHover({x:(.5+.5*h[0]/h[3])*a,y:(.5-.5*h[1]/h[3])*o,xLabel:v,yLabel:y,zLabel:b,text:c.textLabel,name:l.name,color:m.castHoverOption(r,d,&quot;bgcolor&quot;)||l.color,borderColor:m.castHoverOption(r,d,&quot;bordercolor&quot;),fontFamily:m.castHoverOption(r,d,&quot;font.family&quot;),fontSize:m.castHoverOption(r,d,&quot;font.size&quot;),fontColor:m.castHoverOption(r,d,&quot;font.color&quot;)},{container:n,gd:t.graphDiv});var M={x:c.traceCoordinate[0],y:c.traceCoordinate[1],z:c.traceCoordinate[2],data:r._input,fullData:r,curveNumber:r.index,pointNumber:d};m.appendArrayPointValue(M,r,d);var k={points:[M]};c.buttons&amp;&amp;c.distance&lt;5?t.graphDiv.emit(&quot;plotly_click&quot;,k):t.graphDiv.emit(&quot;plotly_hover&quot;,k),f=k}else m.loneUnhover(n),t.graphDiv.emit(&quot;plotly_unhover&quot;,f);t.drawAnnotations(t)}.bind(null,t),t.traces={},!0}function i(t,e){var r=document.createElement(&quot;div&quot;),i=t.container;this.graphDiv=t.graphDiv;var a=document.createElementNS(&quot;http://www.w3.org/2000/svg&quot;,&quot;svg&quot;);a.style.position=&quot;absolute&quot;,a.style.top=a.style.left=&quot;0px&quot;,a.style.width=a.style.height=&quot;100%&quot;,a.style[&quot;z-index&quot;]=20,a.style[&quot;pointer-events&quot;]=&quot;none&quot;,r.appendChild(a),this.svgContainer=a,r.id=t.id,r.style.position=&quot;absolute&quot;,r.style.top=r.style.left=&quot;0px&quot;,r.style.width=r.style.height=&quot;100%&quot;,i.appendChild(r),this.fullLayout=e,this.id=t.id||&quot;scene&quot;,this.fullSceneLayout=e[this.id],this.plotArgs=[[],{},{}],this.axesOptions=b(e[this.id]),this.spikeOptions=_(e[this.id]),this.container=r,this.staticMode=!!t.staticPlot,this.pixelRatio=t.plotGlPixelRatio||2,this.dataScale=[1,1,1],this.contourLevels=[[],[],[]],this.convertAnnotations=h.getComponentMethod(&quot;annotations3d&quot;,&quot;convert&quot;),this.drawAnnotations=h.getComponentMethod(&quot;annotations3d&quot;,&quot;draw&quot;),n(this)}function a(t,e,r,n,i){for(var a,o=0;o&lt;e.length;++o)if(Array.isArray(e[o]))for(var s=0;s&lt;e[o].length;++s)a=t.d2l(e[o][s],0,i),!isNaN(a)&amp;&amp;isFinite(a)&amp;&amp;(n[0][r]=Math.min(n[0][r],a),n[1][r]=Math.max(n[1][r],a));else a=t.d2l(e[o],0,i),!isNaN(a)&amp;&amp;isFinite(a)&amp;&amp;(n[0][r]=Math.min(n[0][r],a),n[1][r]=Math.max(n[1][r],a))}function o(t,e,r){var n=t.fullSceneLayout;a(n.xaxis,e.x,0,r,e.xcalendar),a(n.yaxis,e.y,1,r,e.ycalendar),a(n.zaxis,e.z,2,r,e.zcalendar)}function s(t){return{up:{x:t.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]}}}var l,c,u=t(&quot;gl-plot3d&quot;),f=t(&quot;webgl-context&quot;),h=t(&quot;../../registry&quot;),d=t(&quot;../../lib&quot;),p=t(&quot;../../plots/cartesian/axes&quot;),m=t(&quot;../../components/fx&quot;),g=t(&quot;../../lib/str2rgbarray&quot;),v=t(&quot;../../lib/show_no_webgl_msg&quot;),y=t(&quot;./camera&quot;),x=t(&quot;./project&quot;),b=t(&quot;./layout/convert&quot;),_=t(&quot;./layout/spikes&quot;),w=t(&quot;./layout/tick_marks&quot;),M=i.prototype;M.recoverContext=function(){function t(){r.isContextLost()?requestAnimationFrame(t):n(e,e.fullLayout,i,r)?e.plot.apply(e,e.plotArgs):d.error(&quot;Catastrophic and unrecoverable WebGL error. Context lost.&quot;)}var e=this,r=this.glplot.gl,i=this.glplot.canvas;this.glplot.dispose(),requestAnimationFrame(t)};var k=[&quot;xaxis&quot;,&quot;yaxis&quot;,&quot;zaxis&quot;];M.plot=function(t,e,r){if(this.plotArgs=[t,e,r],!this.glplot.contextLost){var n,i,a,s,l,c,u=e[this.id],f=r[this.id];u.bgcolor?this.glplot.clearColor=g(u.bgcolor):this.glplot.clearColor=[0,0,0,0],this.glplot.snapToData=!0,this.fullLayout=e,this.fullSceneLayout=u,this.glplotLayout=u,this.axesOptions.merge(u),this.spikeOptions.merge(u),this.setCamera(u.camera),this.updateFx(u.dragmode,u.hovermode),this.glplot.update({}),this.setConvert(l),t?Array.isArray(t)||(t=[t]):t=[];var h=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]];for(a=0;a&lt;t.length;++a)!0===(n=t[a]).visible&amp;&amp;o(this,n,h);var d=[1,1,1];for(s=0;s&lt;3;++s)h[0][s]&gt;h[1][s]?d[s]=1:h[1][s]===h[0][s]?d[s]=1:d[s]=1/(h[1][s]-h[0][s]);for(this.dataScale=d,this.convertAnnotations(this),a=0;a&lt;t.length;++a)!0===(n=t[a]).visible&amp;&amp;((i=this.traces[n.uid])?i.update(n):(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&lt;p.length;++a){for(s=0;s&lt;t.length;++s)if(t[s].uid===p[a]&amp;&amp;!0===t[s].visible)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 m=[[0,0,0],[0,0,0]],v=[],y={};for(a=0;a&lt;3;++a){if(l=u[k[a]],(c=l.type)in y?(y[c].acc*=d[a],y[c].count+=1):y[c]={acc:d[a],count:1},l.autorange){m[0][a]=1/0,m[1][a]=-1/0;var x=this.glplot.objects,b=this.fullSceneLayout.annotations||[],_=l._name.charAt(0);for(s=0;s&lt;x.length;s++){var w=x[s].bounds;m[0][a]=Math.min(m[0][a],w[0][a]/d[a]),m[1][a]=Math.max(m[1][a],w[1][a]/d[a])}for(s=0;s&lt;b.length;s++){var M=b[s];if(M.visible){var A=l.r2l(M[_]);m[0][a]=Math.min(m[0][a],A),m[1][a]=Math.max(m[1][a],A)}}if(&quot;rangemode&quot;in l&amp;&amp;&quot;tozero&quot;===l.rangemode&amp;&amp;(m[0][a]=Math.min(m[0][a],0),m[1][a]=Math.max(m[1][a],0)),m[0][a]&gt;m[1][a])m[0][a]=-1,m[1][a]=1;else{var T=m[1][a]-m[0][a];m[0][a]-=T/32,m[1][a]+=T/32}}else{var S=l.range;m[0][a]=l.r2l(S[0]),m[1][a]=l.r2l(S[1])}m[0][a]===m[1][a]&amp;&amp;(m[0][a]-=1,m[1][a]+=1),v[a]=m[1][a]-m[0][a],this.glplot.bounds[0][a]=m[0][a]*d[a],this.glplot.bounds[1][a]=m[1][a]*d[a]}var E=[1,1,1];for(a=0;a&lt;3;++a){var L=y[c=(l=u[k[a]]).type];E[a]=Math.pow(L.acc,1/L.count)/d[a]}var C;if(&quot;auto&quot;===u.aspectmode)C=Math.max.apply(null,E)/Math.min.apply(null,E)&lt;=4?E:[1,1,1];else if(&quot;cube&quot;===u.aspectmode)C=[1,1,1];else if(&quot;data&quot;===u.aspectmode)C=E;else{if(&quot;manual&quot;!==u.aspectmode)throw new Error(&quot;scene.js aspectRatio was not one of the enumerated types&quot;);var z=u.aspectratio;C=[z.x,z.y,z.z]}u.aspectratio.x=f.aspectratio.x=C[0],u.aspectratio.y=f.aspectratio.y=C[1],u.aspectratio.z=f.aspectratio.z=C[2],this.glplot.aspect=C;var D=u.domain||null,I=e._size||null;if(D&amp;&amp;I){var P=this.container.style;P.position=&quot;absolute&quot;,P.left=I.l+D.x[0]*I.w+&quot;px&quot;,P.top=I.t+(1-D.y[1])*I.h+&quot;px&quot;,P.width=I.w*(D.x[1]-D.x[0])+&quot;px&quot;,P.height=I.h*(D.y[1]-D.y[0])+&quot;px&quot;}this.glplot.redraw()}},M.destroy=function(){this.glplot&amp;&amp;(this.camera.mouseListener.enabled=!1,this.container.removeEventListener(&quot;wheel&quot;,this.camera.wheelListener),this.camera=this.glplot.camera=null,this.glplot.dispose(),this.container.parentNode.removeChild(this.container),this.glplot=null)},M.getCamera=function(){return this.glplot.camera.view.recalcMatrix(this.camera.view.lastT()),s(this.glplot.camera)},M.setCamera=function(t){this.glplot.camera.lookAt.apply(this,function(t){return[[t.eye.x,t.eye.y,t.eye.z],[t.center.x,t.center.y,t.center.z],[t.up.x,t.up.y,t.up.z]]}(t))},M.saveCamera=function(t){function e(t,e,r,n){var i=[&quot;up&quot;,&quot;center&quot;,&quot;eye&quot;],a=[&quot;x&quot;,&quot;y&quot;,&quot;z&quot;];return e[i[r]]&amp;&amp;t[i[r]][a[n]]===e[i[r]][a[n]]}var r=this.getCamera(),n=d.nestedProperty(t,this.id+&quot;.camera&quot;),i=n.get(),a=!1;if(void 0===i)a=!0;else for(var o=0;o&lt;3;o++)for(var s=0;s&lt;3;s++)if(!e(r,i,o,s)){a=!0;break}return a&amp;&amp;n.set(r),a},M.updateFx=function(t,e){var r=this.camera;r&amp;&amp;(&quot;orbit&quot;===t?(r.mode=&quot;orbit&quot;,r.keyBindingMode=&quot;rotate&quot;):&quot;turntable&quot;===t?(r.up=[0,0,1],r.mode=&quot;turntable&quot;,r.keyBindingMode=&quot;rotate&quot;):r.keyBindingMode=t),this.fullSceneLayout.hovermode=e},M.toImage=function(t){t||(t=&quot;png&quot;),this.staticMode&amp;&amp;this.container.appendChild(l),this.glplot.redraw();var e=this.glplot.gl,r=e.drawingBufferWidth,n=e.drawingBufferHeight;e.bindFramebuffer(e.FRAMEBUFFER,null);var i=new Uint8Array(r*n*4);e.readPixels(0,0,r,n,e.RGBA,e.UNSIGNED_BYTE,i);for(var a=0,o=n-1;a&lt;o;++a,--o)for(var s=0;s&lt;r;++s)for(var c=0;c&lt;4;++c){var u=i[4*(r*a+s)+c];i[4*(r*a+s)+c]=i[4*(r*o+s)+c],i[4*(r*o+s)+c]=u}var f=document.createElement(&quot;canvas&quot;);f.width=r,f.height=n;var h=f.getContext(&quot;2d&quot;),d=h.createImageData(r,n);d.data.set(i),h.putImageData(d,0,0);var p;switch(t){case&quot;jpeg&quot;:p=f.toDataURL(&quot;image/jpeg&quot;);break;case&quot;webp&quot;:p=f.toDataURL(&quot;image/webp&quot;);break;default:p=f.toDataURL(&quot;image/png&quot;)}return this.staticMode&amp;&amp;this.container.removeChild(l),p},M.setConvert=function(){for(var t=0;t&lt;3;t++){var e=this.fullSceneLayout[k[t]];p.setConvert(e,this.fullLayout),e.setScale=d.noop}},e.exports=i},{&quot;../../components/fx&quot;:660,&quot;../../lib&quot;:743,&quot;../../lib/show_no_webgl_msg&quot;:763,&quot;../../lib/str2rgbarray&quot;:765,&quot;../../plots/cartesian/axes&quot;:789,&quot;../../registry&quot;:873,&quot;./camera&quot;:831,&quot;./layout/convert&quot;:836,&quot;./layout/spikes&quot;:839,&quot;./layout/tick_marks&quot;:840,&quot;./project&quot;:841,&quot;gl-plot3d&quot;:226,&quot;webgl-context&quot;:577}],843:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;./font_attributes&quot;),i=t(&quot;../components/color/attributes&quot;),a=n({editType:&quot;calc&quot;});a.family.dflt='&quot;Open Sans&quot;, verdana, arial, sans-serif',a.size.dflt=12,a.color.dflt=i.defaultLine,e.exports={font:a,title:{valType:&quot;string&quot;,editType:&quot;layoutstyle&quot;},titlefont:n({editType:&quot;layoutstyle&quot;}),autosize:{valType:&quot;boolean&quot;,dflt:!1,editType:&quot;none&quot;},width:{valType:&quot;number&quot;,min:10,dflt:700,editType:&quot;none&quot;},height:{valType:&quot;number&quot;,min:10,dflt:450,editType:&quot;none&quot;},margin:{l:{valType:&quot;number&quot;,min:0,dflt:80,editType:&quot;calc&quot;},r:{valType:&quot;number&quot;,min:0,dflt:80,editType:&quot;calc&quot;},t:{valType:&quot;number&quot;,min:0,dflt:100,editType:&quot;calc&quot;},b:{valType:&quot;number&quot;,min:0,dflt:80,editType:&quot;calc&quot;},pad:{valType:&quot;number&quot;,min:0,dflt:0,editType:&quot;calc&quot;},autoexpand:{valType:&quot;boolean&quot;,dflt:!0,editType:&quot;calc&quot;},editType:&quot;calc&quot;},paper_bgcolor:{valType:&quot;color&quot;,dflt:i.background,editType:&quot;plot&quot;},plot_bgcolor:{valType:&quot;color&quot;,dflt:i.background,editType:&quot;layoutstyle&quot;},separators:{valType:&quot;string&quot;,editType:&quot;plot&quot;},hidesources:{valType:&quot;boolean&quot;,dflt:!1,editType:&quot;plot&quot;},showlegend:{valType:&quot;boolean&quot;,editType:&quot;legend&quot;},colorway:{valType:&quot;colorlist&quot;,dflt:i.defaults,editType:&quot;calc&quot;}}},{&quot;../components/color/attributes&quot;:617,&quot;./font_attributes&quot;:816}],844:[function(t,e,r){&quot;use strict&quot;;e.exports={styleUrlPrefix:&quot;mapbox://styles/mapbox/&quot;,styleUrlSuffix:&quot;v9&quot;,controlContainerClassName:&quot;mapboxgl-control-container&quot;,noAccessTokenErrorMsg:[&quot;Missing Mapbox access token.&quot;,&quot;Mapbox trace type require a Mapbox access token to be registered.&quot;,&quot;For example:&quot;,&quot;  Plotly.plot(gd, data, layout, { mapboxAccessToken: 'my-access-token' });&quot;,&quot;More info here: https://www.mapbox.com/help/define-access-token/&quot;].join(&quot;\n&quot;),mapOnErrorMsg:&quot;Mapbox error.&quot;}},{}],845:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib&quot;);e.exports=function(t,e){var r=t.split(&quot; &quot;),i=r[0],a=r[1],o=Array.isArray(e)?n.mean(e):e,s=.5+o/100,l=1.5+o/100,c=[&quot;&quot;,&quot;&quot;],u=[0,0];switch(i){case&quot;top&quot;:c[0]=&quot;top&quot;,u[1]=-l;break;case&quot;bottom&quot;:c[0]=&quot;bottom&quot;,u[1]=l}switch(a){case&quot;left&quot;:c[1]=&quot;right&quot;,u[0]=-s;break;case&quot;right&quot;:c[1]=&quot;left&quot;,u[0]=s}var f;return f=c[0]&amp;&amp;c[1]?c.join(&quot;-&quot;):c[0]?c[0]:c[1]?c[1]:&quot;center&quot;,{anchor:f,offset:u}}},{&quot;../../lib&quot;:743}],846:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;mapbox-gl&quot;),i=t(&quot;../../lib&quot;),a=t(&quot;../../plots/get_data&quot;).getSubplotCalcData,o=t(&quot;../../constants/xmlns_namespaces&quot;),s=t(&quot;./mapbox&quot;),l=t(&quot;./constants&quot;);r.name=&quot;mapbox&quot;,r.attr=&quot;subplot&quot;,r.idRoot=&quot;mapbox&quot;,r.idRegex=r.attrRegex=i.counterRegex(&quot;mapbox&quot;),r.attributes={subplot:{valType:&quot;subplotid&quot;,dflt:&quot;mapbox&quot;,editType:&quot;calc&quot;}},r.layoutAttributes=t(&quot;./layout_attributes&quot;),r.supplyLayoutDefaults=t(&quot;./layout_defaults&quot;),r.plot=function(t){var e=t._fullLayout,r=t.calcdata,o=e._subplots.mapbox,c=function(t,e){var r=t._fullLayout,n=t._context;if(&quot;&quot;===n.mapboxAccessToken)return&quot;&quot;;for(var i=n.mapboxAccessToken,a=0;a&lt;e.length;a++){var o=r[e[a]];if(o.accesstoken){i=o.accesstoken;break}}if(!i)throw new Error(l.noAccessTokenErrorMsg);return i}(t,o);n.accessToken=c;for(var u=0;u&lt;o.length;u++){var f=o[u],h=a(r,&quot;mapbox&quot;,f),d=e[f],p=d._subplot;d.accesstoken=c,p||(p=s({gd:t,container:e._glcontainer.node(),id:f,fullLayout:e,staticPlot:t._context.staticPlot}),e[f]._subplot=p),p.viewInitial||(p.viewInitial={center:i.extendFlat({},d.center),zoom:d.zoom,bearing:d.bearing,pitch:d.pitch}),p.plot(h,e,t._promises)}},r.clean=function(t,e,r,n){for(var i=n._subplots.mapbox||[],a=0;a&lt;i.length;a++){var o=i[a];!e[o]&amp;&amp;n[o]._subplot&amp;&amp;n[o]._subplot.destroy()}},r.toSVG=function(t){for(var e=t._fullLayout,r=e._subplots.mapbox,n=e._size,i=0;i&lt;r.length;i++){var a=e[r[i]],s=a.domain,l=a._subplot,c=l.toImage(&quot;png&quot;);e._glimages.append(&quot;svg:image&quot;).attr({xmlns:o.svg,&quot;xlink:href&quot;:c,x:n.l+n.w*s.x[0],y:n.t+n.h*(1-s.y[1]),width:n.w*(s.x[1]-s.x[0]),height:n.h*(s.y[1]-s.y[0]),preserveAspectRatio:&quot;none&quot;}),l.destroy()}},r.updateFx=function(t){for(var e=t._subplots.mapbox,r=0;r&lt;e.length;r++){t[e[r]]._subplot.updateFx(t)}}},{&quot;../../constants/xmlns_namespaces&quot;:723,&quot;../../lib&quot;:743,&quot;../../plots/get_data&quot;:826,&quot;./constants&quot;:844,&quot;./layout_attributes&quot;:848,&quot;./layout_defaults&quot;:849,&quot;./mapbox&quot;:850,&quot;mapbox-gl&quot;:334}],847:[function(t,e,r){&quot;use strict&quot;;function n(t,e){this.mapbox=t,this.map=t.map,this.uid=t.uid+&quot;-layer&quot;+e,this.idSource=this.uid+&quot;-source&quot;,this.idLayer=this.uid+&quot;-layer&quot;,this.sourceType=null,this.source=null,this.layerType=null,this.below=null,this.visible=!1}function i(t){var e=t.source;return a.isPlainObject(e)||&quot;string&quot;==typeof e&amp;&amp;e.length&gt;0}var a=t(&quot;../../lib&quot;),o=t(&quot;./convert_text_opts&quot;),s=n.prototype;s.update=function(t){this.visible?this.needsNewSource(t)?(this.updateLayer(t),this.updateSource(t)):this.needsNewLayer(t)&amp;&amp;this.updateLayer(t):(this.updateSource(t),this.updateLayer(t)),this.updateStyle(t),this.visible=i(t)},s.needsNewSource=function(t){return this.sourceType!==t.sourcetype||this.source!==t.source||this.layerType!==t.type},s.needsNewLayer=function(t){return this.layerType!==t.type||this.below!==t.below},s.updateSource=function(t){var e=this.map;if(e.getSource(this.idSource)&amp;&amp;e.removeSource(this.idSource),this.sourceType=t.sourcetype,this.source=t.source,i(t)){var r=function(t){var e,r=t.sourcetype,n=t.source,i={type:r};return&quot;geojson&quot;===r?e=&quot;data&quot;:&quot;vector&quot;===r&amp;&amp;(e=&quot;string&quot;==typeof n?&quot;url&quot;:&quot;tiles&quot;),i[e]=n,i}(t);e.addSource(this.idSource,r)}},s.updateLayer=function(t){var e=this.map;if(e.getLayer(this.idLayer)&amp;&amp;e.removeLayer(this.idLayer),this.layerType=t.type,i(t)){e.addLayer({id:this.idLayer,source:this.idSource,&quot;source-layer&quot;:t.sourcelayer||&quot;&quot;,type:t.type},t.below);this.mapbox.setOptions(this.idLayer,&quot;setLayoutProperty&quot;,{visibility:&quot;visible&quot;})}},s.updateStyle=function(t){var e=function(t){var e={},r={};switch(t.type){case&quot;circle&quot;:a.extendFlat(r,{&quot;circle-radius&quot;:t.circle.radius,&quot;circle-color&quot;:t.color,&quot;circle-opacity&quot;:t.opacity});break;case&quot;line&quot;:a.extendFlat(r,{&quot;line-width&quot;:t.line.width,&quot;line-color&quot;:t.color,&quot;line-opacity&quot;:t.opacity});break;case&quot;fill&quot;:a.extendFlat(r,{&quot;fill-color&quot;:t.color,&quot;fill-outline-color&quot;:t.fill.outlinecolor,&quot;fill-opacity&quot;:t.opacity});break;case&quot;symbol&quot;:var n=t.symbol,i=o(n.textposition,n.iconsize);a.extendFlat(e,{&quot;icon-image&quot;:n.icon+&quot;-15&quot;,&quot;icon-size&quot;:n.iconsize/10,&quot;text-field&quot;:n.text,&quot;text-size&quot;:n.textfont.size,&quot;text-anchor&quot;:i.anchor,&quot;text-offset&quot;:i.offset}),a.extendFlat(r,{&quot;icon-color&quot;:t.color,&quot;text-color&quot;:n.textfont.color,&quot;text-opacity&quot;:t.opacity})}return{layout:e,paint:r}}(t);i(t)&amp;&amp;(this.mapbox.setOptions(this.idLayer,&quot;setLayoutProperty&quot;,e.layout),this.mapbox.setOptions(this.idLayer,&quot;setPaintProperty&quot;,e.paint))},s.dispose=function(){var t=this.map;t.removeLayer(this.idLayer),t.removeSource(this.idSource)},e.exports=function(t,e,r){var i=new n(t,e);return i.update(r),i}},{&quot;../../lib&quot;:743,&quot;./convert_text_opts&quot;:845}],848:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib&quot;),i=t(&quot;../../components/color&quot;).defaultLine,a=t(&quot;../domain_attributes&quot;),o=t(&quot;../font_attributes&quot;),s=t(&quot;../../traces/scatter/attributes&quot;).textposition,l=t(&quot;../../plot_api/edit_types&quot;).overrideAll,c=o({});c.family.dflt=&quot;Open Sans Regular, Arial Unicode MS Regular&quot;,e.exports=l({_arrayAttrRegexps:[n.counterRegex(&quot;mapbox&quot;,&quot;.layers&quot;,!0)],domain:a({name:&quot;mapbox&quot;}),accesstoken:{valType:&quot;string&quot;,noBlank:!0,strict:!0},style:{valType:&quot;any&quot;,values:[&quot;basic&quot;,&quot;streets&quot;,&quot;outdoors&quot;,&quot;light&quot;,&quot;dark&quot;,&quot;satellite&quot;,&quot;satellite-streets&quot;],dflt:&quot;basic&quot;},center:{lon:{valType:&quot;number&quot;,dflt:0},lat:{valType:&quot;number&quot;,dflt:0}},zoom:{valType:&quot;number&quot;,dflt:1},bearing:{valType:&quot;number&quot;,dflt:0},pitch:{valType:&quot;number&quot;,dflt:0},layers:{_isLinkedToArray:&quot;layer&quot;,sourcetype:{valType:&quot;enumerated&quot;,values:[&quot;geojson&quot;,&quot;vector&quot;],dflt:&quot;geojson&quot;},source:{valType:&quot;any&quot;},sourcelayer:{valType:&quot;string&quot;,dflt:&quot;&quot;},type:{valType:&quot;enumerated&quot;,values:[&quot;circle&quot;,&quot;line&quot;,&quot;fill&quot;,&quot;symbol&quot;],dflt:&quot;circle&quot;},below:{valType:&quot;string&quot;,dflt:&quot;&quot;},color:{valType:&quot;color&quot;,dflt:i},opacity:{valType:&quot;number&quot;,min:0,max:1,dflt:1},circle:{radius:{valType:&quot;number&quot;,dflt:15}},line:{width:{valType:&quot;number&quot;,dflt:2}},fill:{outlinecolor:{valType:&quot;color&quot;,dflt:i}},symbol:{icon:{valType:&quot;string&quot;,dflt:&quot;marker&quot;},iconsize:{valType:&quot;number&quot;,dflt:10},text:{valType:&quot;string&quot;,dflt:&quot;&quot;},textfont:c,textposition:n.extendFlat({},s,{arrayOk:!1})}}},&quot;plot&quot;,&quot;from-root&quot;)},{&quot;../../components/color&quot;:618,&quot;../../lib&quot;:743,&quot;../../plot_api/edit_types&quot;:773,&quot;../../traces/scatter/attributes&quot;:1066,&quot;../domain_attributes&quot;:815,&quot;../font_attributes&quot;:816}],849:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r){r(&quot;accesstoken&quot;),r(&quot;style&quot;),r(&quot;center.lon&quot;),r(&quot;center.lat&quot;),r(&quot;zoom&quot;),r(&quot;bearing&quot;),r(&quot;pitch&quot;),function(t,e){function r(t,e){return i.coerce(n,a,o.layers,t,e)}var n,a,s=t.layers||[],l=e.layers=[];for(var c=0;c&lt;s.length;c++)if(n=s[c],a={},i.isPlainObject(n)){var u=r(&quot;sourcetype&quot;);r(&quot;source&quot;),&quot;vector&quot;===u&amp;&amp;r(&quot;sourcelayer&quot;);var f=r(&quot;type&quot;);r(&quot;below&quot;),r(&quot;color&quot;),r(&quot;opacity&quot;),&quot;circle&quot;===f&amp;&amp;r(&quot;circle.radius&quot;),&quot;line&quot;===f&amp;&amp;r(&quot;line.width&quot;),&quot;fill&quot;===f&amp;&amp;r(&quot;fill.outlinecolor&quot;),&quot;symbol&quot;===f&amp;&amp;(r(&quot;symbol.icon&quot;),r(&quot;symbol.iconsize&quot;),r(&quot;symbol.text&quot;),i.coerceFont(r,&quot;symbol.textfont&quot;),r(&quot;symbol.textposition&quot;)),a._index=c,l.push(a)}}(t,e),e._input=t}var i=t(&quot;../../lib&quot;),a=t(&quot;../subplot_defaults&quot;),o=t(&quot;./layout_attributes&quot;);e.exports=function(t,e,r){a(t,e,r,{type:&quot;mapbox&quot;,attributes:o,handleDefaults:n,partition:&quot;y&quot;})}},{&quot;../../lib&quot;:743,&quot;../subplot_defaults&quot;:865,&quot;./layout_attributes&quot;:848}],850:[function(t,e,r){&quot;use strict&quot;;function n(t){this.id=t.id,this.gd=t.gd,this.container=t.container,this.isStatic=t.staticPlot;var e=t.fullLayout;this.uid=e._uid+&quot;-&quot;+this.id,this.opts=e[this.id],this.div=null,this.xaxis=null,this.yaxis=null,this.createFramework(e),this.map=null,this.accessToken=null,this.styleObj=null,this.traceHash={},this.layerList=[]}function i(t){var e=d.style.values,r=d.style.dflt,n={};return c.isPlainObject(t)?(n.id=t.id,n.style=t):&quot;string&quot;==typeof t?(n.id=t,n.style=-1!==e.indexOf(t)?a(t):t):(n.id=r,n.style=a(r)),n}function a(t){return h.styleUrlPrefix+t+&quot;-&quot;+h.styleUrlSuffix}function o(t){return[t.lon,t.lat]}var s=t(&quot;mapbox-gl&quot;),l=t(&quot;../../components/fx&quot;),c=t(&quot;../../lib&quot;),u=t(&quot;../../components/dragelement&quot;),f=t(&quot;../cartesian/select&quot;),h=t(&quot;./constants&quot;),d=t(&quot;./layout_attributes&quot;),p=t(&quot;./layers&quot;),m=n.prototype;e.exports=function(t){return new n(t)},m.plot=function(t,e,r){var n=this,i=n.opts=e[this.id];n.map&amp;&amp;i.accesstoken!==n.accessToken&amp;&amp;(n.map.remove(),n.map=null,n.styleObj=null,n.traceHash=[],n.layerList={});var a;a=n.map?new Promise(function(r,i){n.updateMap(t,e,r,i)}):new Promise(function(r,i){n.createMap(t,e,r,i)}),r.push(a)},m.createMap=function(t,e,r,n){function a(){l.loneUnhover(e._toppaper)}var u=this,f=u.gd,d=u.opts,p=u.styleObj=i(d.style);u.accessToken=d.accesstoken;var m=u.map=new s.Map({container:u.div,style:p.style,center:o(d.center),zoom:d.zoom,bearing:d.bearing,pitch:d.pitch,interactive:!u.isStatic,preserveDrawingBuffer:u.isStatic,doubleClickZoom:!1,boxZoom:!1}),g=h.controlContainerClassName,v=u.div.getElementsByClassName(g)[0];u.div.removeChild(v),m._canvas.canvas.style.left=&quot;0px&quot;,m._canvas.canvas.style.top=&quot;0px&quot;,u.rejectOnError(n),m.once(&quot;load&quot;,function(){u.updateData(t),u.updateLayout(e),u.resolveOnRender(r)}),u.isStatic||(m.on(&quot;moveend&quot;,function(t){if(u.map){var e=u.getView();if(d._input.center=d.center=e.center,d._input.zoom=d.zoom=e.zoom,d._input.bearing=d.bearing=e.bearing,d._input.pitch=d.pitch=e.pitch,t.originalEvent){var r={};r[u.id]=c.extendFlat({},e),f.emit(&quot;plotly_relayout&quot;,r)}}}),m.on(&quot;mousemove&quot;,function(t){var e=u.div.getBoundingClientRect();t.clientX=t.point.x+e.left,t.clientY=t.point.y+e.top,t.target.getBoundingClientRect=function(){return e},u.xaxis.p2c=function(){return t.lngLat.lng},u.yaxis.p2c=function(){return t.lngLat.lat},l.hover(f,t,u.id)}),m.on(&quot;click&quot;,function(t){l.click(f,t.originalEvent)}),m.on(&quot;dragstart&quot;,a),m.on(&quot;zoomstart&quot;,a),m.on(&quot;dblclick&quot;,function(){var t=u.viewInitial;m.setCenter(o(t.center)),m.setZoom(t.zoom),m.setBearing(t.bearing),m.setPitch(t.pitch);var e=u.getView();d._input.center=d.center=e.center,d._input.zoom=d.zoom=e.zoom,d._input.bearing=d.bearing=e.bearing,d._input.pitch=d.pitch=e.pitch,f.emit(&quot;plotly_doubleclick&quot;,null)}))},m.updateMap=function(t,e,r,n){var a=this,o=a.map;a.rejectOnError(n);var s=i(a.opts.style);a.styleObj.id!==s.id?(a.styleObj=s,o.setStyle(s.style),o.style.once(&quot;load&quot;,function(){a.traceHash={},a.updateData(t),a.updateLayout(e),a.resolveOnRender(r)})):(a.updateData(t),a.updateLayout(e),a.resolveOnRender(r))},m.updateData=function(t){var e,r,n,i,a=this.traceHash;for(n=0;n&lt;t.length;n++){var o=t[n];(e=a[(r=o[0].trace).uid])?e.update(o):r._module&amp;&amp;(a[r.uid]=r._module.plot(this,o))}var s=Object.keys(a);t:for(n=0;n&lt;s.length;n++){var l=s[n];for(i=0;i&lt;t.length;i++)if(r=t[i][0].trace,l===r.uid)continue t;(e=a[l]).dispose(),delete a[l]}},m.updateLayout=function(t){var e=this.map,r=this.opts;e.setCenter(o(r.center)),e.setZoom(r.zoom),e.setBearing(r.bearing),e.setPitch(r.pitch),this.updateLayers(),this.updateFramework(t),this.updateFx(t),this.map.resize()},m.resolveOnRender=function(t){var e=this.map;e.on(&quot;render&quot;,function r(){e.loaded()&amp;&amp;(e.off(&quot;render&quot;,r),t())})},m.rejectOnError=function(t){function e(){t(new Error(h.mapOnErrorMsg))}var r=this.map;r.once(&quot;error&quot;,e),r.once(&quot;style.error&quot;,e),r.once(&quot;source.error&quot;,e),r.once(&quot;tile.error&quot;,e),r.once(&quot;layer.error&quot;,e)},m.createFramework=function(t){var e=this,r=e.div=document.createElement(&quot;div&quot;);r.id=e.uid,r.style.position=&quot;absolute&quot;,e.container.appendChild(r),e.xaxis={_id:&quot;x&quot;,c2p:function(t){return e.project(t).x}},e.yaxis={_id:&quot;y&quot;,c2p:function(t){return e.project(t).y}},e.updateFramework(t)},m.updateFx=function(t){function e(t){var e=r.map.unproject(t);return[e.lng,e.lat]}var r=this,n=r.map,i=r.gd;if(!r.isStatic){var a,o=t.dragmode;if(a=&quot;select&quot;===o?function(t,n){(t.range={})[r.id]=[e([n.xmin,n.ymin]),e([n.xmax,n.ymax])]}:function(t,n,i){(t.lassoPoints={})[r.id]=i.filtered.map(e)},&quot;select&quot;===o||&quot;lasso&quot;===o){n.dragPan.disable();var s={element:r.div,gd:i,plotinfo:{xaxis:r.xaxis,yaxis:r.yaxis,fillRangeItems:a},xaxes:[r.xaxis],yaxes:[r.yaxis],subplot:r.id};s.prepFn=function(t,e,r){f(t,e,r,s,o)},u.init(s)}else n.dragPan.enable(),r.div.onmousedown=null}},m.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])+&quot;px&quot;,n.height=r.h*(e.y[1]-e.y[0])+&quot;px&quot;,n.left=r.l+e.x[0]*r.w+&quot;px&quot;,n.top=r.t+(1-e.y[1])*r.h+&quot;px&quot;,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])},m.updateLayers=function(){var t,e=this.opts.layers,r=this.layerList;if(e.length!==r.length){for(t=0;t&lt;r.length;t++)r[t].dispose();for(r=this.layerList=[],t=0;t&lt;e.length;t++)r.push(p(this,t,e[t]))}else for(t=0;t&lt;e.length;t++)r[t].update(e[t])},m.destroy=function(){this.map&amp;&amp;(this.map.remove(),this.map=null,this.container.removeChild(this.div))},m.toImage=function(){return this.map.getCanvas().toDataURL()},m.initSource=function(t){return this.map.addSource(t,{type:&quot;geojson&quot;,data:{type:&quot;Feature&quot;,geometry:{type:&quot;Point&quot;,coordinates:[]}}})},m.setSourceData=function(t,e){this.map.getSource(t).setData(e)},m.setOptions=function(t,e,r){for(var n=this.map,i=Object.keys(r),a=0;a&lt;i.length;a++){var o=i[a];n[e](t,o,r[o])}},m.project=function(t){return this.map.project(new s.LngLat(t[0],t[1]))},m.getView=function(){var t=this.map,e=t.getCenter();return{center:{lon:e.lng,lat:e.lat},zoom:t.getZoom(),bearing:t.getBearing(),pitch:t.getPitch()}}},{&quot;../../components/dragelement&quot;:640,&quot;../../components/fx&quot;:660,&quot;../../lib&quot;:743,&quot;../cartesian/select&quot;:807,&quot;./constants&quot;:844,&quot;./layers&quot;:847,&quot;./layout_attributes&quot;:848,&quot;mapbox-gl&quot;:334}],851:[function(t,e,r){&quot;use strict&quot;;e.exports={t:{valType:&quot;number&quot;,dflt:0,editType:&quot;arraydraw&quot;},r:{valType:&quot;number&quot;,dflt:0,editType:&quot;arraydraw&quot;},b:{valType:&quot;number&quot;,dflt:0,editType:&quot;arraydraw&quot;},l:{valType:&quot;number&quot;,dflt:0,editType:&quot;arraydraw&quot;},editType:&quot;arraydraw&quot;}},{}],852:[function(t,e,r){&quot;use strict&quot;;function n(t){for(var e=0;e&lt;t.length;e++){t[e]._categories=t[e]._initialCategories.slice(),t[e]._categoriesMap={};for(var r=0;r&lt;t[e]._categories.length;r++)t[e]._categoriesMap[t[e]._categories[r]]=r}}var i=t(&quot;d3&quot;),a=t(&quot;fast-isnumeric&quot;),o=t(&quot;../plotly&quot;),s=t(&quot;../plot_api/plot_schema&quot;),l=t(&quot;../registry&quot;),c=t(&quot;../plots/cartesian/axis_ids&quot;),u=t(&quot;../lib&quot;),f=u._,h=t(&quot;../components/color&quot;),d=t(&quot;../constants/numerical&quot;).BADNUM,p=e.exports={},m=t(&quot;./animation_attributes&quot;),g=t(&quot;./frame_attributes&quot;),v=u.relinkPrivateKeys;u.extendFlat(p,l),p.attributes=t(&quot;./attributes&quot;),p.attributes.type.values=p.allTypes,p.fontAttrs=t(&quot;./font_attributes&quot;),p.layoutAttributes=t(&quot;./layout_attributes&quot;),p.fontWeight=&quot;normal&quot;;var y=p.transformsRegistry,x=t(&quot;../components/errorbars&quot;),b=t(&quot;./command&quot;);p.executeAPICommand=b.executeAPICommand,p.computeAPICommandBindings=b.computeAPICommandBindings,p.manageCommandObserver=b.manageCommandObserver,p.hasSimpleAPICommandBindings=b.hasSimpleAPICommandBindings,p.redrawText=function(t){if(!((t=u.getGraphDiv(t)).data&amp;&amp;t.data[0]&amp;&amp;t.data[0].r))return new Promise(function(e){setTimeout(function(){l.getComponentMethod(&quot;annotations&quot;,&quot;draw&quot;)(t),l.getComponentMethod(&quot;legend&quot;,&quot;draw&quot;)(t),(t.calcdata||[]).forEach(function(t){t[0]&amp;&amp;t[0].t&amp;&amp;t[0].t.cb&amp;&amp;t[0].t.cb()}),e(p.previousPromises(t))},300)})},p.resize=function(t){return t=u.getGraphDiv(t),new Promise(function(e,r){t&amp;&amp;!function(t){var e=window.getComputedStyle(t).display;return!e||&quot;none&quot;===e}(t)||r(new Error(&quot;Resize must be passed a displayed plot div element.&quot;)),t._redrawTimer&amp;&amp;clearTimeout(t._redrawTimer),t._redrawTimer=setTimeout(function(){if(t.layout.width&amp;&amp;t.layout.height)e(t);else{delete t.layout.width,delete t.layout.height;var r=t.changed;t.autoplay=!0,o.relayout(t,{autosize:!0}).then(function(){t.changed=r,e(t)})}},100)})},p.previousPromises=function(t){if((t._promises||[]).length)return Promise.all(t._promises).then(function(){t._promises=[]})},p.addLinks=function(t){if(t._context.showLink||t._context.showSources){var e=t._fullLayout,r=e._paper.selectAll(&quot;text.js-plot-link-container&quot;).data([0]);r.enter().append(&quot;text&quot;).classed(&quot;js-plot-link-container&quot;,!0).style({&quot;font-family&quot;:'&quot;Open Sans&quot;, Arial, sans-serif',&quot;font-size&quot;:&quot;12px&quot;,fill:h.defaultLine,&quot;pointer-events&quot;:&quot;all&quot;}).each(function(){var t=i.select(this);t.append(&quot;tspan&quot;).classed(&quot;js-link-to-tool&quot;,!0),t.append(&quot;tspan&quot;).classed(&quot;js-link-spacer&quot;,!0),t.append(&quot;tspan&quot;).classed(&quot;js-sourcelinks&quot;,!0)});var n=r.node(),a={y:e._paper.attr(&quot;height&quot;)-9};document.body.contains(n)&amp;&amp;n.getComputedTextLength()&gt;=e.width-20?(a[&quot;text-anchor&quot;]=&quot;start&quot;,a.x=5):(a[&quot;text-anchor&quot;]=&quot;end&quot;,a.x=e._paper.attr(&quot;width&quot;)-7),r.attr(a);var o=r.select(&quot;.js-link-to-tool&quot;),s=r.select(&quot;.js-link-spacer&quot;),l=r.select(&quot;.js-sourcelinks&quot;);t._context.showSources&amp;&amp;t._context.showSources(t),t._context.showLink&amp;&amp;function(t,e){e.text(&quot;&quot;);var r=e.append(&quot;a&quot;).attr({&quot;xlink:xlink:href&quot;:&quot;#&quot;,class:&quot;link--impt link--embedview&quot;,&quot;font-weight&quot;:&quot;bold&quot;}).text(t._context.linkText+&quot; &quot;+String.fromCharCode(187));if(t._context.sendData)r.on(&quot;click&quot;,function(){p.sendDataToCloud(t)});else{var n=window.location.pathname.split(&quot;/&quot;),i=window.location.search;r.attr({&quot;xlink:xlink:show&quot;:&quot;new&quot;,&quot;xlink:xlink:href&quot;:&quot;/&quot;+n[2].split(&quot;.&quot;)[0]+&quot;/&quot;+n[1]+i})}}(t,o),s.text(o.text()&amp;&amp;l.text()?&quot; - &quot;:&quot;&quot;)}},p.sendDataToCloud=function(t){t.emit(&quot;plotly_beforeexport&quot;);var e=window.PLOTLYENV&amp;&amp;window.PLOTLYENV.BASE_URL||&quot;https://plot.ly&quot;,r=i.select(t).append(&quot;div&quot;).attr(&quot;id&quot;,&quot;hiddenform&quot;).style(&quot;display&quot;,&quot;none&quot;),n=r.append(&quot;form&quot;).attr({action:e+&quot;/external&quot;,method:&quot;post&quot;,target:&quot;_blank&quot;});return n.append(&quot;input&quot;).attr({type:&quot;text&quot;,name:&quot;data&quot;}).node().value=p.graphJson(t,!1,&quot;keepdata&quot;),n.node().submit(),r.remove(),t.emit(&quot;plotly_afterexport&quot;),!1},p.supplyDefaults=function(t){var e,r=t._fullLayout||{},n=t._fullLayout={},a=t.layout||{},o=t._fullData||[],s=t._fullData=[],h=t.data||[];t._transitionData||p.createTransitionData(t),n._dfltTitle={plot:f(t,&quot;Click to enter Plot title&quot;),x:f(t,&quot;Click to enter X axis title&quot;),y:f(t,&quot;Click to enter Y axis title&quot;),colorbar:f(t,&quot;Click to enter Colorscale title&quot;),annotation:f(t,&quot;new text&quot;)},n._traceWord=f(t,&quot;trace&quot;);var d=function(t){function e(t){for(var e=!0,r=0;r&lt;w.length;r++){var a=w[r];i[a]||(t[a]?i[a]=t[a]:e=!1)}e&amp;&amp;(n=!0)}for(var r=t._context.locale,n=!1,i={},a=0;a&lt;2;a++){for(var o=t._context.locales,s=0;s&lt;2;s++){var c=(o[r]||{}).format;if(c&amp;&amp;(e(c),n))break;o=l.localeRegistry}var u=r.split(&quot;-&quot;)[0];if(n||u===r)break;r=u}return n||e(l.localeRegistry.en.format),i}(t);if(r._initialAutoSizeIsDone){var m=r.width,g=r.height;p.supplyLayoutGlobalDefaults(a,n,d),a.width||(n.width=m),a.height||(n.height=g)}else{p.supplyLayoutGlobalDefaults(a,n,d);var y=!a.width||!a.height,x=n.autosize,b=t._context&amp;&amp;t._context.autosizable;y&amp;&amp;(x||b)?p.plotAutoSize(t,a,n):y&amp;&amp;p.sanitizeMargins(t),!x&amp;&amp;y&amp;&amp;(a.width=n.width,a.height=n.height)}n._d3locale=function(t,e){return t.decimal=e.charAt(0),t.thousands=e.charAt(1),i.locale(t)}(d,n.separators),n._initialAutoSizeIsDone=!0,n._dataLength=h.length,n._modules=[],n._basePlotModules=[],n._subplots=function(){var t,e,r={};if(!_){_=[];var n=l.subplotsRegistry;for(var i in n){var a=n[i].attr;if(a&amp;&amp;(_.push(i),Array.isArray(a)))for(e=0;e&lt;a.length;e++)u.pushUnique(_,a[e])}}for(t=0;t&lt;_.length;t++)r[_[t]]=[];return r}(),n._globalTransforms=(t._context||{}).globalTransforms,p.supplyDataDefaults(h,s,a,n),n._has=p._hasPlotType.bind(n);var M=n._modules;for(e=0;e&lt;M.length;e++){var k=M[e];k.cleanData&amp;&amp;k.cleanData(s)}if(o.length===h.length)for(e=0;e&lt;s.length;e++)v(s[e],o[e]);p.supplyLayoutModuleDefaults(a,n,s,t._transitionData),n._hasCartesian=n._has(&quot;cartesian&quot;),n._hasGeo=n._has(&quot;geo&quot;),n._hasGL3D=n._has(&quot;gl3d&quot;),n._hasGL2D=n._has(&quot;gl2d&quot;),n._hasTernary=n._has(&quot;ternary&quot;),n._hasPie=n._has(&quot;pie&quot;),p.cleanPlot(s,n,o,r),p.linkSubplots(s,n,o,r),v(n,r),p.doAutoMargin(t);var A=c.list(t);for(e=0;e&lt;A.length;e++){A[e].setScale()}if((t.calcdata||[]).length===s.length)for(e=0;e&lt;s.length;e++){var T=s[e],S=t.calcdata[e][0];S&amp;&amp;S.trace&amp;&amp;(S.trace._hasCalcTransform?function(t,e){var r,n,i=t.trace,a=i._arrayAttrs,o={};for(r=0;r&lt;a.length;r++)o[n=a[r]]=u.nestedProperty(i,n).get().slice();for(t.trace=e,r=0;r&lt;a.length;r++)n=a[r],u.nestedProperty(t.trace,n).set(o[n])}(S,T):S.trace=T)}};var _,w=[&quot;days&quot;,&quot;shortDays&quot;,&quot;months&quot;,&quot;shortMonths&quot;,&quot;periods&quot;,&quot;dateTime&quot;,&quot;date&quot;,&quot;time&quot;,&quot;decimal&quot;,&quot;thousands&quot;,&quot;grouping&quot;,&quot;currency&quot;];p.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=[])},p._hasPlotType=function(t){var e,r=this._basePlotModules||[];for(e=0;e&lt;r.length;e++){if(r[e].name===t)return!0}var n=this._modules||[];for(e=0;e&lt;n.length;e++){var i=n[e];if(i.categories&amp;&amp;i.categories.indexOf(t)&gt;=0)return!0}return!1},p.cleanPlot=function(t,e,r,n){var i,a,o=n._basePlotModules||[];for(i=0;i&lt;o.length;i++){var s=o[i];s.clean&amp;&amp;s.clean(t,e,r,n)}var l=!!n._paper,c=!!n._infolayer,u=n._has&amp;&amp;n._has(&quot;gl&quot;),f=e._has&amp;&amp;e._has(&quot;gl&quot;);u&amp;&amp;!f&amp;&amp;void 0!==n._glcontainer&amp;&amp;(n._glcontainer.selectAll(&quot;.gl-canvas&quot;).remove(),n._glcanvas=null);t:for(i=0;i&lt;r.length;i++){var h=r[i].uid;for(a=0;a&lt;t.length;a++){if(h===t[a].uid)continue t}var d=&quot;.hm&quot;+h+&quot;,.contour&quot;+h+&quot;,.carpet&quot;+h+&quot;,#clip&quot;+h+&quot;,.trace&quot;+h;l&amp;&amp;n._paper.selectAll(d).remove(),c&amp;&amp;(n._infolayer.selectAll(&quot;.cb&quot;+h).remove(),n._infolayer.selectAll(&quot;g.rangeslider-container&quot;).selectAll(d).remove())}n._zoomlayer&amp;&amp;n._zoomlayer.selectAll(&quot;.select-outline&quot;).remove()},p.linkSubplots=function(t,e,r,n){var i,a,o,s,l=n._plots||{},f=e._plots={},h=e._subplots,d={_fullData:t,_fullLayout:e},p=h.cartesian.concat(h.gl2d||[]);for(var m in h)h[m].sort(u.subplotSort);for(i=0;i&lt;p.length;i++){var g,v=l[o=p[i]],y=c.getFromId(d,o,&quot;x&quot;),x=c.getFromId(d,o,&quot;y&quot;);for(v?((g=f[o]=v).xaxis.layer!==y.layer&amp;&amp;(g.xlines.attr(&quot;d&quot;,null),g.xaxislayer.selectAll(&quot;*&quot;).remove()),g.yaxis.layer!==x.layer&amp;&amp;(g.ylines.attr(&quot;d&quot;,null),g.yaxislayer.selectAll(&quot;*&quot;).remove())):(g=f[o]={}).id=o,g.xaxis=y,g.yaxis=x,g._hasClipOnAxisFalse=!1,a=0;a&lt;t.length;a++){var b=t[a];if(b.xaxis===g.xaxis._id&amp;&amp;b.yaxis===g.yaxis._id&amp;&amp;!1===b.cliponaxis){g._hasClipOnAxisFalse=!0;break}}}var _=c.list(d,null,!0);for(i=0;i&lt;_.length;i++){var w=null;(s=_[i]).overlaying&amp;&amp;(w=c.getFromId(d,s.overlaying))&amp;&amp;w.overlaying&amp;&amp;(s.overlaying=!1,w=null),s._mainAxis=w||s,w&amp;&amp;(s.domain=w.domain.slice()),s._anchorAxis=&quot;free&quot;===s.anchor?null:c.getFromId(d,s.anchor)}for(i=0;i&lt;_.length;i++){var M=&quot;x&quot;===(s=_[i])._id.charAt(0),k=s._mainAxis._anchorAxis,A=&quot;&quot;,T=&quot;&quot;,S=&quot;&quot;;if(k&amp;&amp;(S=k._mainAxis._id,A=M?s._id+S:S+s._id),!A||-1===p.indexOf(A))for(A=&quot;&quot;,a=0;a&lt;p.length;a++){var E=(o=p[a]).indexOf(&quot;y&quot;),L=M?o.substr(0,E):o.substr(E),C=M?o.substr(E):o.substr(0,E);if(L===s._id){T||(T=o);var z=c.getFromId(d,C);if(S&amp;&amp;z.overlaying===S){A=o;break}}}s._mainSubplot=A||T}},p.clearExpandedTraceDefaultColors=function(t){function e(t,e,i,a){n[a]=e,n.length=a+1,&quot;color&quot;===t.valType&amp;&amp;void 0===t.dflt&amp;&amp;r.push(n.join(&quot;.&quot;))}var r,n,i;for(n=[],(r=t._module._colorAttrs)||(t._module._colorAttrs=r=[],s.crawl(t._module.attributes,e)),i=0;i&lt;r.length;i++){u.nestedProperty(t,&quot;_input.&quot;+r[i]).get()||u.nestedProperty(t,r[i]).set(null)}},p.supplyDataDefaults=function(t,e,r,n){function i(t){e.push(t);var r=t._module;r&amp;&amp;(!0===t.visible&amp;&amp;u.pushUnique(c,r),u.pushUnique(f,t._module.basePlotModule),h++,!1!==t._input.visible&amp;&amp;d++)}var a,o,s,c=n._modules,f=n._basePlotModules,h=0,d=0;n._transformModules=[];var m={},g=[];for(a=0;a&lt;t.length;a++){if(s=t[a],o=p.supplyTraceDefaults(s,d,n,a),o.index=a,o._input=s,o._expandedIndex=h,o.transforms&amp;&amp;o.transforms.length)for(var x=function(t,e,r,n){for(var i=t.transforms,a=[t],o=0;o&lt;i.length;o++){var s=i[o],l=y[s.type];l&amp;&amp;l.transform&amp;&amp;(a=l.transform(a,{transform:s,fullTrace:t,fullData:e,layout:r,fullLayout:n,transformIndex:o}))}return a}(o,e,r,n),b=0;b&lt;x.length;b++){var _=x[b],w=p.supplyTraceDefaults(_,h,n,a);v(w,_),_.uid=w.uid=o.uid+b,w.index=a,w._input=s,w._fullInput=o,w._expandedIndex=h,w._expandedInput=_,i(w)}else o._fullInput=o,o._expandedInput=o,i(o);l.traceIs(o,&quot;carpetAxis&quot;)&amp;&amp;(m[o.carpet]=o),l.traceIs(o,&quot;carpetDependent&quot;)&amp;&amp;g.push(a)}for(a=0;a&lt;g.length;a++)if((o=e[g[a]]).visible){var M=m[o.carpet];o._carpet=M,M&amp;&amp;M.visible?(o.xaxis=M.xaxis,o.yaxis=M.yaxis):o.visible=!1}},p.supplyAnimationDefaults=function(t){function e(e,r){return u.coerce(t||{},n,m,e,r)}t=t||{};var r,n={};if(e(&quot;mode&quot;),e(&quot;direction&quot;),e(&quot;fromcurrent&quot;),Array.isArray(t.frame))for(n.frame=[],r=0;r&lt;t.frame.length;r++)n.frame[r]=p.supplyAnimationFrameDefaults(t.frame[r]||{});else n.frame=p.supplyAnimationFrameDefaults(t.frame||{});if(Array.isArray(t.transition))for(n.transition=[],r=0;r&lt;t.transition.length;r++)n.transition[r]=p.supplyAnimationTransitionDefaults(t.transition[r]||{});else n.transition=p.supplyAnimationTransitionDefaults(t.transition||{});return n},p.supplyAnimationFrameDefaults=function(t){function e(e,n){return u.coerce(t||{},r,m.frame,e,n)}var r={};return e(&quot;duration&quot;),e(&quot;redraw&quot;),r},p.supplyAnimationTransitionDefaults=function(t){function e(e,n){return u.coerce(t||{},r,m.transition,e,n)}var r={};return e(&quot;duration&quot;),e(&quot;easing&quot;),r},p.supplyFrameDefaults=function(t){function e(e,n){return u.coerce(t,r,g,e,n)}var r={};return e(&quot;group&quot;),e(&quot;name&quot;),e(&quot;traces&quot;),e(&quot;baseframe&quot;),e(&quot;data&quot;),e(&quot;layout&quot;),r},p.supplyTraceDefaults=function(t,e,r,n){function i(e,r){return u.coerce(t,s,p.attributes,e,r)}var a,o=r.colorway||h.defaults,s={},c=o[e%o.length],f=i(&quot;visible&quot;);i(&quot;type&quot;),i(&quot;uid&quot;),i(&quot;name&quot;,r._traceWord+&quot; &quot;+n);var d=p.getModule(s);if(s._module=d,d){var m=d.basePlotModule,g=m.attr;if(g){var v=r._subplots,y=m.attributes,x=&quot;&quot;;if(&quot;gl2d&quot;!==m.name||f){if(Array.isArray(g))for(a=0;a&lt;g.length;a++){var b=g[a],_=u.coerce(t,s,y,b);v[b]&amp;&amp;u.pushUnique(v[b],_),x+=_}else x=u.coerce(t,s,y,g);v[m.name]&amp;&amp;u.pushUnique(v[m.name],x)}}}return f&amp;&amp;(i(&quot;customdata&quot;),i(&quot;ids&quot;),p.traceIs(s,&quot;showLegend&quot;)&amp;&amp;(i(&quot;showlegend&quot;),i(&quot;legendgroup&quot;)),l.getComponentMethod(&quot;fx&quot;,&quot;supplyDefaults&quot;)(t,s,c,r),d&amp;&amp;(d.supplyDefaults(t,s,c,r),u.coerceHoverinfo(t,s,r)),p.traceIs(s,&quot;noOpacity&quot;)||i(&quot;opacity&quot;),p.traceIs(s,&quot;notLegendIsolatable&quot;)&amp;&amp;(s.visible=!!s.visible),d&amp;&amp;d.selectPoints&amp;&amp;i(&quot;selectedpoints&quot;),p.supplyTransformDefaults(t,s,r)),s},p.supplyTransformDefaults=function(t,e,r){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&lt;o.length;l++){var c,f=o[l],h=f.type,d=y[h],p=!(f._module&amp;&amp;f._module===d),m=d&amp;&amp;&quot;function&quot;==typeof d.transform;d||u.warn(&quot;Unrecognized transform type &quot;+h+&quot;.&quot;),d&amp;&amp;d.supplyDefaults&amp;&amp;(p||m)?((c=d.supplyDefaults(f,e,r,t)).type=h,c._module=d,u.pushUnique(i,d)):c=u.extendFlat({},f),s.push(c)}},p.supplyLayoutGlobalDefaults=function(t,e,r){function n(r,n){return u.coerce(t,e,p.layoutAttributes,r,n)}var i=u.coerceFont(n,&quot;font&quot;);n(&quot;title&quot;,e._dfltTitle.plot),u.coerceFont(n,&quot;titlefont&quot;,{family:i.family,size:Math.round(1.4*i.size),color:i.color}),n(&quot;autosize&quot;,!(t.width&amp;&amp;t.height)),n(&quot;width&quot;),n(&quot;height&quot;),n(&quot;margin.l&quot;),n(&quot;margin.r&quot;),n(&quot;margin.t&quot;),n(&quot;margin.b&quot;),n(&quot;margin.pad&quot;),n(&quot;margin.autoexpand&quot;),t.width&amp;&amp;t.height&amp;&amp;p.sanitizeMargins(e),n(&quot;paper_bgcolor&quot;),n(&quot;separators&quot;,r.decimal+r.thousands),n(&quot;hidesources&quot;),n(&quot;colorway&quot;),l.getComponentMethod(&quot;calendars&quot;,&quot;handleDefaults&quot;)(t,e,&quot;calendar&quot;),l.getComponentMethod(&quot;fx&quot;,&quot;supplyLayoutGlobalDefaults&quot;)(t,e,n)},p.plotAutoSize=function(t,e,r){var n,i,o=t._context||{},s=o.frameMargins,l=u.isPlotDiv(t);if(l&amp;&amp;t.emit(&quot;plotly_autosize&quot;),o.fillFrame)n=window.innerWidth,i=window.innerHeight,document.body.style.overflow=&quot;hidden&quot;;else if(a(s)&amp;&amp;s&gt;0){var c=function(t){var e,r={left:0,right:0,bottom:0,top:0};if(t)for(e in t)t.hasOwnProperty(e)&amp;&amp;(r.left+=t[e].left||0,r.right+=t[e].right||0,r.bottom+=t[e].bottom||0,r.top+=t[e].top||0);return r}(t._boundingBoxMargins),f=c.left+c.right,h=c.bottom+c.top,d=1-2*s,m=r._container&amp;&amp;r._container.node?r._container.node().getBoundingClientRect():{width:r.width,height:r.height};n=Math.round(d*(m.width-f)),i=Math.round(d*(m.height-h))}else{var g=l?window.getComputedStyle(t):{};n=parseFloat(g.width)||r.width,i=parseFloat(g.height)||r.height}var v=p.layoutAttributes.width.min,y=p.layoutAttributes.height.min;n&lt;v&amp;&amp;(n=v),i&lt;y&amp;&amp;(i=y);var x=!e.width&amp;&amp;Math.abs(r.width-n)&gt;1,b=!e.height&amp;&amp;Math.abs(r.height-i)&gt;1;(b||x)&amp;&amp;(x&amp;&amp;(r.width=n),b&amp;&amp;(r.height=i)),t._initialAutoSize||(t._initialAutoSize={width:n,height:i}),p.sanitizeMargins(r)},p.supplyLayoutModuleDefaults=function(t,e,r,n){var i,a,o,s=l.componentsRegistry,c=e._basePlotModules,u=l.subplotsRegistry.cartesian;for(i in s)(o=s[i]).includeBasePlot&amp;&amp;o.includeBasePlot(t,e);for(c.length||c.push(u),e._has(&quot;cartesian&quot;)&amp;&amp;u.finalizeSubplots(t,e),a=0;a&lt;c.length;a++)(o=c[a]).supplyLayoutDefaults&amp;&amp;o.supplyLayoutDefaults(t,e,r);var f=e._modules;for(a=0;a&lt;f.length;a++)(o=f[a]).supplyLayoutDefaults&amp;&amp;o.supplyLayoutDefaults(t,e,r);var h=e._transformModules;for(a=0;a&lt;h.length;a++)(o=h[a]).supplyLayoutDefaults&amp;&amp;o.supplyLayoutDefaults(t,e,r,n);for(i in s)(o=s[i]).supplyLayoutDefaults&amp;&amp;o.supplyLayoutDefaults(t,e,r)},p.purge=function(t){var e=t._fullLayout||{};void 0!==e._glcontainer&amp;&amp;(e._glcontainer.selectAll(&quot;.gl-canvas&quot;).remove(),e._glcontainer.remove(),e._glcanvas=null),void 0!==e._geocontainer&amp;&amp;e._geocontainer.remove(),e._modeBar&amp;&amp;e._modeBar.destroy(),t._transitionData&amp;&amp;(t._transitionData._interruptCallbacks&amp;&amp;(t._transitionData._interruptCallbacks.length=0),t._transitionData._animationRaf&amp;&amp;window.cancelAnimationFrame(t._transitionData._animationRaf)),u.clearThrottle(),delete t.data,delete t.layout,delete t._fullData,delete t._fullLayout,delete t.calcdata,delete t.framework,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.firstscatter,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._hoverdata,delete t._snapshotInProgress,delete t._editing,delete t._replotPending,delete t._mouseDownTime,delete t._legendMouseDownTime,t.removeAllListeners&amp;&amp;t.removeAllListeners()},p.style=function(t){var e,r=t._fullLayout._modules,n=[];for(e=0;e&lt;r.length;e++){var i=r[e];i.style&amp;&amp;u.pushUnique(n,i.style)}for(e=0;e&lt;n.length;e++)n[e](t)},p.sanitizeMargins=function(t){if(t&amp;&amp;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&lt;0&amp;&amp;(e=(r-1)/(i.l+i.r),i.l=Math.floor(e*i.l),i.r=Math.floor(e*i.r)),o&lt;0&amp;&amp;(e=(n-1)/(i.t+i.b),i.t=Math.floor(e*i.t),i.b=Math.floor(e*i.b))}},p.autoMargin=function(t,e,r){var n=t._fullLayout;if(n._pushmargin||(n._pushmargin={}),!1!==n.margin.autoexpand){if(r){var i=void 0===r.pad?12:r.pad;r.l+r.r&gt;.5*n.width&amp;&amp;(r.l=r.r=0),r.b+r.t&gt;.5*n.height&amp;&amp;(r.b=r.t=0),n._pushmargin[e]={l:{val:r.x,size:r.l+i},r:{val:r.x,size:r.r+i},b:{val:r.y,size:r.b+i},t:{val:r.y,size:r.t+i}}}else delete n._pushmargin[e];n._replotting||p.doAutoMargin(t)}},p.doAutoMargin=function(t){var e=t._fullLayout;e._size||(e._size={}),e._pushmargin||(e._pushmargin={});var r=e._size,n=JSON.stringify(r),i=Math.max(e.margin.l||0,0),s=Math.max(e.margin.r||0,0),l=Math.max(e.margin.t||0,0),c=Math.max(e.margin.b||0,0),u=e._pushmargin;if(!1!==e.margin.autoexpand){u.base={l:{val:0,size:i},r:{val:1,size:s},t:{val:1,size:l},b:{val:0,size:c}};for(var f in u){var h=u[f].l||{},d=u[f].b||{},p=h.val,m=h.size,g=d.val,v=d.size;for(var y in u){if(a(m)&amp;&amp;u[y].r){var x=u[y].r.val,b=u[y].r.size;if(x&gt;p){var _=(m*x+(b-e.width)*p)/(x-p),w=(b*(1-p)+(m-e.width)*(1-x))/(x-p);_&gt;=0&amp;&amp;w&gt;=0&amp;&amp;_+w&gt;i+s&amp;&amp;(i=_,s=w)}}if(a(v)&amp;&amp;u[y].t){var M=u[y].t.val,k=u[y].t.size;if(M&gt;g){var A=(v*M+(k-e.height)*g)/(M-g),T=(k*(1-g)+(v-e.height)*(1-M))/(M-g);A&gt;=0&amp;&amp;T&gt;=0&amp;&amp;A+T&gt;c+l&amp;&amp;(c=A,l=T)}}}}}if(r.l=Math.round(i),r.r=Math.round(s),r.t=Math.round(l),r.b=Math.round(c),r.p=Math.round(e.margin.pad),r.w=Math.round(e.width)-r.l-r.r,r.h=Math.round(e.height)-r.t-r.b,!e._replotting&amp;&amp;&quot;{}&quot;!==n&amp;&amp;n!==JSON.stringify(e._size))return o.plot(t)},p.graphJson=function(t,e,r,n,i){function a(t){if(&quot;function&quot;==typeof t)return null;if(u.isPlainObject(t)){var e,n,i={};for(e in t)if(&quot;function&quot;!=typeof t[e]&amp;&amp;-1===[&quot;_&quot;,&quot;[&quot;].indexOf(e.charAt(0))){if(&quot;keepdata&quot;===r){if(&quot;src&quot;===e.substr(e.length-3))continue}else if(&quot;keepstream&quot;===r){if(&quot;string&quot;==typeof(n=t[e+&quot;src&quot;])&amp;&amp;n.indexOf(&quot;:&quot;)&gt;0&amp;&amp;!u.isPlainObject(t.stream))continue}else if(&quot;keepall&quot;!==r&amp;&amp;&quot;string&quot;==typeof(n=t[e+&quot;src&quot;])&amp;&amp;n.indexOf(&quot;:&quot;)&gt;0)continue;i[e]=a(t[e])}return i}return Array.isArray(t)?t.map(a):u.isJSDate(t)?u.ms2DateTimeLocal(+t):t}(i&amp;&amp;e&amp;&amp;!t._fullData||i&amp;&amp;!e&amp;&amp;!t._fullLayout)&amp;&amp;p.supplyDefaults(t);var o=i?t._fullData:t.data,s=i?t._fullLayout:t.layout,l=(t._transitionData||{})._frames,c={data:(o||[]).map(function(t){var r=a(t);return e&amp;&amp;delete r.fit,r})};return e||(c.layout=a(s)),t.framework&amp;&amp;t.framework.isPolar&amp;&amp;(c=t.framework.getConfig()),l&amp;&amp;(c.frames=a(l)),&quot;object&quot;===n?c:JSON.stringify(c)},p.modifyFrames=function(t,e){var r,n,i,a=t._transitionData._frames,o=t._transitionData._frameHash;for(r=0;r&lt;e.length;r++)switch((n=e[r]).type){case&quot;replace&quot;:i=n.value;var s=(a[n.index]||{}).name,l=i.name;a[n.index]=o[l]=i,l!==s&amp;&amp;(delete o[s],o[l]=i);break;case&quot;insert&quot;:o[(i=n.value).name]=i,a.splice(n.index,0,i);break;case&quot;delete&quot;:delete o[(i=a[n.index]).name],a.splice(n.index,1)}return Promise.resolve()},p.computeFrame=function(t,e){var r,n,i,a,o=t._transitionData._frameHash;if(!e)throw new Error(&quot;computeFrame must be given a string frame name&quot;);var s=o[e.toString()];if(!s)return!1;for(var l=[s],c=[s.name];s.baseframe&amp;&amp;(s=o[s.baseframe.toString()])&amp;&amp;-1===c.indexOf(s.name);)l.push(s),c.push(s.name);for(var u={};s=l.pop();)if(s.layout&amp;&amp;(u.layout=p.extendLayout(u.layout,s.layout)),s.data){if(u.data||(u.data=[]),!(n=s.traces))for(n=[],r=0;r&lt;s.data.length;r++)n[r]=r;for(u.traces||(u.traces=[]),r=0;r&lt;s.data.length;r++)void 0!==(i=n[r])&amp;&amp;null!==i&amp;&amp;(-1===(a=u.traces.indexOf(i))&amp;&amp;(a=u.data.length,u.traces[a]=i),u.data[a]=p.extendTrace(u.data[a],s.data[r]))}return u},p.recomputeFrameHash=function(t){for(var e=t._transitionData._frameHash={},r=t._transitionData._frames,n=0;n&lt;r.length;n++){var i=r[n];i&amp;&amp;i.name&amp;&amp;(e[i.name]=i)}},p.extendObjectWithContainers=function(t,e,r){var n,i,a,o,s,l,c,f,h=u.extendDeepNoArrays({},e||{}),d=u.expandObjectPaths(h),m={};if(r&amp;&amp;r.length)for(a=0;a&lt;r.length;a++)void 0===(i=(n=u.nestedProperty(d,r[a])).get())?u.nestedProperty(m,r[a]).set(null):(n.set(null),u.nestedProperty(m,r[a]).set(i));if(t=u.extendDeepNoArrays(t||{},d),r&amp;&amp;r.length)for(a=0;a&lt;r.length;a++)if(s=u.nestedProperty(m,r[a]),c=s.get()){for(f=(l=u.nestedProperty(t,r[a])).get(),Array.isArray(f)||(f=[],l.set(f)),o=0;o&lt;c.length;o++){var g=c[o];f[o]=null===g?null:p.extendObjectWithContainers(f[o],g)}l.set(f)}return t},p.dataArrayContainers=[&quot;transforms&quot;],p.layoutArrayContainers=l.layoutArrayContainers,p.extendTrace=function(t,e){return p.extendObjectWithContainers(t,e,p.dataArrayContainers)},p.extendLayout=function(t,e){return p.extendObjectWithContainers(t,e,p.layoutArrayContainers)},p.transition=function(t,e,r,n,i,a){var s,l,c=Array.isArray(e)?e.length:0,f=n.slice(0,c),h=[],d=!1;for(s=0;s&lt;f.length;s++){l=f[s];var m=t._fullData[l]._module;if(m&amp;&amp;!m.animatable){var g={};for(var v in e[s])g[v]=[e[s][v]]}}var y=[p.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)},function(){var n;for(n=0;n&lt;f.length;n++){var i=f[n],a=t._fullData[i]._module;a&amp;&amp;(a.animatable&amp;&amp;h.push(i),t.data[f[n]]=p.extendTrace(t.data[f[n]],e[n]))}var o=u.expandObjectPaths(u.extendDeepNoArrays({},r)),s=/^[xy]axis[0-9]*$/;for(var l in o)s.test(l)&amp;&amp;delete o[l].range;return p.extendLayout(t.layout,o),delete t.calcdata,p.supplyDefaults(t),p.doCalcdata(t),x.calc(t),Promise.resolve()},p.rehover,function(){return t.emit(&quot;plotly_transitioning&quot;,[]),new Promise(function(e){function n(){return c++,function(){f++,d||f!==c||function(e){t._transitionData&amp;&amp;(function(t){if(t)for(;t.length;)t.shift()}(t._transitionData._interruptCallbacks),Promise.resolve().then(function(){if(i.redraw)return o.redraw(t)}).then(function(){t._transitioning=!1,t._transitioningWithDuration=!1,t.emit(&quot;plotly_transitioned&quot;,[])}).then(e))}(e)}}t._transitioning=!0,a.duration&gt;0&amp;&amp;(t._transitioningWithDuration=!0),t._transitionData._interruptCallbacks.push(function(){d=!0}),i.redraw&amp;&amp;t._transitionData._interruptCallbacks.push(function(){return o.redraw(t)}),t._transitionData._interruptCallbacks.push(function(){t.emit(&quot;plotly_transitioninterrupted&quot;,[])});var s,l,c=0,f=0,p=t._fullLayout._basePlotModules,m=!1;if(r)for(l=0;l&lt;p.length;l++)if(p[l].transitionAxes){var g=u.expandObjectPaths(r);m=p[l].transitionAxes(t,g,a,n)||m}for(m?(s=u.extendFlat({},a)).duration=0:s=a,l=0;l&lt;p.length;l++)p[l].plot(t,h,s,n);setTimeout(n())})}],b=u.syncOrAsync(y,t);return b&amp;&amp;b.then||(b=Promise.resolve()),b.then(function(){return t})},p.doCalcdata=function(t,e){var r,i,a,o,u=c.list(t),f=t._fullData,h=t._fullLayout,p=new Array(f.length),m=(t.calcdata||[]).slice(0);for(t.calcdata=p,t.firstscatter=!0,h._numBoxes=0,h._numViolins=0,h._violinScaleGroupStats={},t._hmpixcount=0,t._hmlumcount=0,h._piecolormap={},h._piecolorway=null,h._piedefaultcolorcount=0,a=0;a&lt;f.length;a++)Array.isArray(e)&amp;&amp;-1===e.indexOf(a)&amp;&amp;(p[a]=m[a]);for(a=0;a&lt;f.length;a++)(r=f[a])._arrayAttrs=s.findArrayAttributes(r);var g=h._subplots.polar||[];for(a=0;a&lt;g.length;a++)u.push(h[g[a]].radialaxis,h[g[a]].angularaxis);n(u);var v=!1;for(a=0;a&lt;f.length;a++)if(!0===(r=f[a]).visible&amp;&amp;r.transforms)for((i=r._module)&amp;&amp;i.calc&amp;&amp;i.calc(t,r),o=0;o&lt;r.transforms.length;o++){var x=r.transforms[o];(i=y[x.type])&amp;&amp;i.calcTransform&amp;&amp;(r._hasCalcTransform=!0,v=!0,i.calcTransform(t,r,x))}if(v){for(a=0;a&lt;u.length;a++)u[a]._min=[],u[a]._max=[],u[a]._categories=[],u[a]._categoriesMap={};n(u)}for(a=0;a&lt;f.length;a++){var b=[];if(!0===(r=f[a]).visible){i=r._module;var _=r.transforms||[];for(o=_.length-1;o&gt;=0;o--)if(_[o].enabled){r._indexToPoints=_[o]._indexToPoints;break}i&amp;&amp;i.calc&amp;&amp;(b=i.calc(t,r))}Array.isArray(b)&amp;&amp;b[0]||(b=[{x:d,y:d}]),b[0].t||(b[0].t={}),b[0].trace=r,p[a]=b}l.getComponentMethod(&quot;fx&quot;,&quot;calc&quot;)(t)},p.rehover=function(t){t._fullLayout._rehover&amp;&amp;t._fullLayout._rehover()},p.generalUpdatePerTraceModule=function(t,e,r,n){var i,a=e.traceHash,o={};for(i=0;i&lt;r.length;i++){var s=r[i],l=s[0].trace;l.visible&amp;&amp;(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 d=o[h];d[0][0].trace._module.plot(t,e,u.filterVisible(d),n)}e.traceHash=o}},{&quot;../components/color&quot;:618,&quot;../components/errorbars&quot;:649,&quot;../constants/numerical&quot;:721,&quot;../lib&quot;:743,&quot;../plot_api/plot_schema&quot;:778,&quot;../plotly&quot;:784,&quot;../plots/cartesian/axis_ids&quot;:792,&quot;../registry&quot;:873,&quot;./animation_attributes&quot;:785,&quot;./attributes&quot;:787,&quot;./command&quot;:814,&quot;./font_attributes&quot;:816,&quot;./frame_attributes&quot;:817,&quot;./layout_attributes&quot;:843,d3:128,&quot;fast-isnumeric&quot;:140}],853:[function(t,e,r){&quot;use strict&quot;;e.exports={attr:&quot;subplot&quot;,name:&quot;polar&quot;,axisNames:[&quot;angularaxis&quot;,&quot;radialaxis&quot;],axisName2dataArray:{angularaxis:&quot;theta&quot;,radialaxis:&quot;r&quot;},layerNames:[&quot;draglayer&quot;,&quot;plotbg&quot;,&quot;backplot&quot;,&quot;angular-grid&quot;,&quot;radial-grid&quot;,&quot;frontplot&quot;,&quot;angular-axis&quot;,&quot;radial-axis&quot;,&quot;angular-line&quot;,&quot;radial-line&quot;],radialDragBoxSize:50,angularDragBoxSize:30,cornerLen:25,cornerHalfWidth:2,MINDRAG:8,MINZOOM:20,OFFEDGE:20}},{}],854:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib&quot;);r.setConvertAngular=function(t){function e(){return t.period?Math.max(t.period,t._categories.length):t._categories.length}function r(t){return(t-s)/o}var i,a,o={clockwise:-1,counterclockwise:1}[t.direction],s=n.deg2rad(t.rotation);&quot;linear&quot;===t.type?(i=function(t,e){return&quot;degrees&quot;===e?n.deg2rad(t):t},a=function(t,e){return&quot;degrees&quot;===e?n.rad2deg(t):t}):&quot;category&quot;===t.type&amp;&amp;(i=function(t){var r=e();return 2*t*Math.PI/r},a=function(t){return t*e()/Math.PI/2}),t.unTransformRad=r,t._c2rad=i,t.c2rad=function(t,e){return function(t){return o*t+s}(i(t,e))},t.rad2c=function(t,e){return a(r(t),e)},t.c2deg=function(e,r){return n.rad2deg(t.c2rad(e,r))},t.deg2c=function(e,r){return t.rad2c(n.deg2rad(e),r)}}},{&quot;../../lib&quot;:743}],855:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../get_data&quot;).getSubplotCalcData,i=t(&quot;../../lib&quot;).counterRegex,a=t(&quot;./polar&quot;),o=t(&quot;./constants&quot;),s=o.attr,l=o.name,c=i(l),u={};u[s]={valType:&quot;subplotid&quot;,dflt:l,editType:&quot;calc&quot;},e.exports={attr:s,name:l,idRoot:l,idRegex:c,attrRegex:c,attributes:u,layoutAttributes:t(&quot;./layout_attributes&quot;),supplyLayoutDefaults:t(&quot;./layout_defaults&quot;),plot:function(t){for(var e=t._fullLayout,r=t.calcdata,i=e._subplots[l],o=0;o&lt;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=0;a&lt;i.length;a++){var o=i[a],s=n[o]._subplot;if(!e[o]&amp;&amp;s){s.framework.remove(),s.layers[&quot;radial-axis-title&quot;].remove();for(var c in s.clipPaths)s.clipPaths[c].remove()}}},toSVG:t(&quot;../cartesian&quot;).toSVG}},{&quot;../../lib&quot;:743,&quot;../cartesian&quot;:800,&quot;../get_data&quot;:826,&quot;./constants&quot;:853,&quot;./layout_attributes&quot;:856,&quot;./layout_defaults&quot;:857,&quot;./polar&quot;:864}],856:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../components/color/attributes&quot;),i=t(&quot;../cartesian/layout_attributes&quot;),a=t(&quot;../domain_attributes&quot;),o=t(&quot;../../lib&quot;).extendFlat,s=t(&quot;../../plot_api/edit_types&quot;).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},&quot;plot&quot;,&quot;from-root&quot;),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,showticklabels:i.showticklabels,showtickprefix:i.showtickprefix,tickprefix:i.tickprefix,showticksuffix:i.showticksuffix,ticksuffix:i.ticksuffix,showexponent:i.showexponent,exponentformat:i.exponentformat,separatethousands:i.separatethousands,tickfont:i.tickfont,tickangle:i.tickangle,tickformat:i.tickformat,tickformatstops:i.tickformatstops,layer:i.layer},&quot;plot&quot;,&quot;from-root&quot;),u={visible:o({},i.visible,{dflt:!0}),type:i.type,autorange:i.autorange,rangemode:{valType:&quot;enumerated&quot;,values:[&quot;tozero&quot;,&quot;nonnegative&quot;,&quot;normal&quot;],dflt:&quot;tozero&quot;,editType:&quot;calc&quot;},range:i.range,categoryorder:i.categoryorder,categoryarray:i.categoryarray,angle:{valType:&quot;angle&quot;,editType:&quot;plot&quot;},side:{valType:&quot;enumerated&quot;,values:[&quot;clockwise&quot;,&quot;counterclockwise&quot;],dflt:&quot;clockwise&quot;,editType:&quot;plot&quot;},title:o({},i.title,{editType:&quot;plot&quot;,dflt:&quot;&quot;}),titlefont:s(i.titlefont,&quot;plot&quot;,&quot;from-root&quot;),hoverformat:i.hoverformat,editType:&quot;calc&quot;};o(u,l,c);var f={visible:o({},i.visible,{dflt:!0}),type:{valType:&quot;enumerated&quot;,values:[&quot;-&quot;,&quot;linear&quot;,&quot;category&quot;],dflt:&quot;-&quot;,editType:&quot;calc&quot;},categoryorder:i.categoryorder,categoryarray:i.categoryarray,thetaunit:{valType:&quot;enumerated&quot;,values:[&quot;radians&quot;,&quot;degrees&quot;],dflt:&quot;degrees&quot;,editType:&quot;calc&quot;},period:{valType:&quot;number&quot;,editType:&quot;calc&quot;,min:0},direction:{valType:&quot;enumerated&quot;,values:[&quot;counterclockwise&quot;,&quot;clockwise&quot;],dflt:&quot;counterclockwise&quot;,editType:&quot;calc&quot;},rotation:{valType:&quot;angle&quot;,editType:&quot;calc&quot;},hoverformat:i.hoverformat,editType:&quot;calc&quot;};o(f,l,c),e.exports={domain:a({name:&quot;polar&quot;,editType:&quot;plot&quot;}),sector:{valType:&quot;info_array&quot;,items:[{valType:&quot;number&quot;,editType:&quot;plot&quot;},{valType:&quot;number&quot;,editType:&quot;plot&quot;}],dflt:[0,360],editType:&quot;plot&quot;},bgcolor:{valType:&quot;color&quot;,editType:&quot;plot&quot;,dflt:n.background},radialaxis:u,angularaxis:f,editType:&quot;calc&quot;}},{&quot;../../components/color/attributes&quot;:617,&quot;../../lib&quot;:743,&quot;../../plot_api/edit_types&quot;:773,&quot;../cartesian/layout_attributes&quot;:801,&quot;../domain_attributes&quot;:815}],857:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,n){function o(t,e){return r(_+&quot;.&quot;+t,e)}var b=r(&quot;bgcolor&quot;);n.bgColor=a.combine(b,n.paper_bgcolor);for(var _,w=r(&quot;sector&quot;),M=s(n.fullData,y.name,n.id),k=n.layoutOut,A=0;A&lt;x.length;A++){_=x[A],i.isPlainObject(t[_])||(t[_]={});var T=t[_],S=e[_]={};S._id=S._name=_;var E=y.axisName2dataArray[_],L=function(t,e,r,n,i){if(&quot;-&quot;===r(&quot;type&quot;)){for(var a,o=0;o&lt;n.length;o++)if(n[o].visible){a=n[o];break}a&amp;&amp;(e.type=d(a[i],&quot;gregorian&quot;)),&quot;-&quot;===e.type?e.type=&quot;linear&quot;:t.type=e.type}return e.type}(T,S,o,M,E);f(T,S,o),S._initialCategories=&quot;category&quot;===L?p(E,S.categoryorder,S.categoryarray,M):[];var C=o(&quot;visible&quot;);m(S,k);var z,D;switch(C&amp;&amp;(D=(z=o(&quot;color&quot;))===T.color?z:n.font.color),S._m=1,_){case&quot;radialaxis&quot;:var I=o(&quot;autorange&quot;,!S.isValidRange(T.range));I&amp;&amp;o(&quot;rangemode&quot;),&quot;reversed&quot;===I&amp;&amp;(S._m=-1),o(&quot;range&quot;),S.cleanRange(&quot;range&quot;,{dfltRange:[0,1]}),C&amp;&amp;(o(&quot;side&quot;),o(&quot;angle&quot;,w[0]),o(&quot;title&quot;),i.coerceFont(o,&quot;titlefont&quot;,{family:n.font.family,size:Math.round(1.2*n.font.size),color:D}));break;case&quot;angularaxis&quot;:if(&quot;date&quot;===L){i.log(&quot;Polar plots do not support date angular axes yet.&quot;);for(var P=0;P&lt;M.length;P++)M[P].visible=!1;L=T.type=S.type=&quot;linear&quot;}o(&quot;linear&quot;===L?&quot;thetaunit&quot;:&quot;period&quot;);o(&quot;rotation&quot;,{counterclockwise:0,clockwise:90}[o(&quot;direction&quot;)]),g(S)}if(C){l(T,S,o,S.type),u(T,S,o,S.type,{noHover:!1,tickSuffixDflt:&quot;degrees&quot;===S.thetaunit?&quot;\xb0&quot;:void 0}),c(T,S,o,{outerTicks:!0});o(&quot;showticklabels&quot;)&amp;&amp;(i.coerceFont(o,&quot;tickfont&quot;,{family:n.font.family,size:n.font.size,color:D}),o(&quot;tickangle&quot;),o(&quot;tickformat&quot;)),h(T,S,o,{dfltColor:z,bgColor:n.bgColor,blend:60,showLine:!0,showGrid:!0,noZeroLine:!0,attributes:v[_]}),o(&quot;layer&quot;)}o(&quot;hoverformat&quot;),S._input=T}}var i=t(&quot;../../lib&quot;),a=t(&quot;../../components/color&quot;),o=t(&quot;../subplot_defaults&quot;),s=t(&quot;../get_data&quot;).getSubplotData,l=t(&quot;../cartesian/tick_value_defaults&quot;),c=t(&quot;../cartesian/tick_mark_defaults&quot;),u=t(&quot;../cartesian/tick_label_defaults&quot;),f=t(&quot;../cartesian/category_order_defaults&quot;),h=t(&quot;../cartesian/line_grid_defaults&quot;),d=t(&quot;../cartesian/axis_autotype&quot;),p=t(&quot;../cartesian/ordered_categories&quot;),m=t(&quot;../cartesian/set_convert&quot;),g=t(&quot;./helpers&quot;).setConvertAngular,v=t(&quot;./layout_attributes&quot;),y=t(&quot;./constants&quot;),x=y.axisNames;e.exports=function(t,e,r){o(t,e,r,{type:y.name,attributes:v,handleDefaults:n,font:e.font,paper_bgcolor:e.paper_bgcolor,fullData:r,layoutOut:e})}},{&quot;../../components/color&quot;:618,&quot;../../lib&quot;:743,&quot;../cartesian/axis_autotype&quot;:790,&quot;../cartesian/category_order_defaults&quot;:793,&quot;../cartesian/line_grid_defaults&quot;:803,&quot;../cartesian/ordered_categories&quot;:804,&quot;../cartesian/set_convert&quot;:808,&quot;../cartesian/tick_label_defaults&quot;:809,&quot;../cartesian/tick_mark_defaults&quot;:810,&quot;../cartesian/tick_value_defaults&quot;:811,&quot;../get_data&quot;:826,&quot;../subplot_defaults&quot;:865,&quot;./constants&quot;:853,&quot;./helpers&quot;:854,&quot;./layout_attributes&quot;:856}],858:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../../traces/scatter/attributes&quot;),i=n.marker;e.exports={r:n.r,t:n.t,marker:{color:i.color,size:i.size,symbol:i.symbol,opacity:i.opacity,editType:&quot;calc&quot;}}},{&quot;../../../traces/scatter/attributes&quot;:1066}],859:[function(t,e,r){&quot;use strict&quot;;function n(t,e){return a({},e,{showline:{valType:&quot;boolean&quot;},showticklabels:{valType:&quot;boolean&quot;},tickorientation:{valType:&quot;enumerated&quot;,values:[&quot;horizontal&quot;,&quot;vertical&quot;]},ticklen:{valType:&quot;number&quot;,min:0},tickcolor:{valType:&quot;color&quot;},ticksuffix:{valType:&quot;string&quot;},endpadding:{valType:&quot;number&quot;},visible:{valType:&quot;boolean&quot;}})}var i=t(&quot;../../cartesian/layout_attributes&quot;),a=t(&quot;../../../lib/extend&quot;).extendFlat,o=t(&quot;../../../plot_api/edit_types&quot;).overrideAll,s=a({},i.domain,{});e.exports=o({radialaxis:n(0,{range:{valType:&quot;info_array&quot;,items:[{valType:&quot;number&quot;},{valType:&quot;number&quot;}]},domain:s,orientation:{valType:&quot;number&quot;}}),angularaxis:n(0,{range:{valType:&quot;info_array&quot;,items:[{valType:&quot;number&quot;,dflt:0},{valType:&quot;number&quot;,dflt:360}]},domain:s}),layout:{direction:{valType:&quot;enumerated&quot;,values:[&quot;clockwise&quot;,&quot;counterclockwise&quot;]},orientation:{valType:&quot;angle&quot;}}},&quot;plot&quot;,&quot;nested&quot;)},{&quot;../../../lib/extend&quot;:732,&quot;../../../plot_api/edit_types&quot;:773,&quot;../../cartesian/layout_attributes&quot;:801}],860:[function(t,e,r){&quot;use strict&quot;;(e.exports=t(&quot;./micropolar&quot;)).manager=t(&quot;./micropolar_manager&quot;)},{&quot;./micropolar&quot;:861,&quot;./micropolar_manager&quot;:862}],861:[function(t,e,r){var n=t(&quot;d3&quot;),i=t(&quot;../../../lib&quot;).extendDeepAll,a=t(&quot;../../../constants/alignment&quot;).MID_SHIFT,o=e.exports={version:&quot;0.2.2&quot;};o.Axis=function(){var t,e,r,s,l={data:[],layout:{}},c={},u={},f=n.dispatch(&quot;hover&quot;),h={};return h.render=function(c){return function(c){e=c||e;var f=l.data,h=l.layout;(&quot;string&quot;==typeof e||e.nodeName)&amp;&amp;(e=n.select(e)),e.datum(f).each(function(e,l){function c(t,e){return s(t)%360+h.orientation}var f=e.slice();u={data:o.util.cloneJson(f),layout:o.util.cloneJson(h)};var d=0;f.forEach(function(t,e){t.color||(t.color=h.defaultColorRange[d],d=(d+1)%h.defaultColorRange.length),t.strokeColor||(t.strokeColor=&quot;LinePlot&quot;===t.geometry?t.color:n.rgb(t.color).darker().toString()),u.data[e].color=t.color,u.data[e].strokeColor=t.strokeColor,u.data[e].strokeDash=t.strokeDash,u.data[e].strokeSize=t.strokeSize});var p=f.filter(function(t,e){var r=t.visible;return void 0===r||!0===r}),m=!1,g=p.map(function(t,e){return m=m||void 0!==t.groupId,t});if(m){var v=[],y=n.nest().key(function(t,e){return void 0!==t.groupId?t.groupId:&quot;unstacked&quot;}).entries(g).map(function(t,e){if(&quot;unstacked&quot;===t.key)return t.values;var r=t.values[0].r.map(function(t,e){return 0});return t.values.forEach(function(t,e,n){t.yStack=[r],v.push(r),r=o.util.sumArrays(t.r,r)}),t.values});p=n.merge(y)}p.forEach(function(t,e){t.t=Array.isArray(t.t[0])?t.t:[t.t],t.r=Array.isArray(t.r[0])?t.r:[t.r]});var x=Math.min(h.width-h.margin.left-h.margin.right,h.height-h.margin.top-h.margin.bottom)/2;x=Math.max(10,x);var b,_=[h.margin.left+x,h.margin.top+x];b=m?[0,n.max(o.util.sumArrays(o.util.arrayLast(p).r[0],o.util.arrayLast(v)))]:n.extent(o.util.flattenArray(p.map(function(t,e){return t.r}))),h.radialAxis.domain!=o.DATAEXTENT&amp;&amp;(b[0]=0),r=n.scale.linear().domain(h.radialAxis.domain!=o.DATAEXTENT&amp;&amp;h.radialAxis.domain?h.radialAxis.domain:b).range([0,x]),u.layout.radialAxis.domain=r.domain();var w,M=o.util.flattenArray(p.map(function(t,e){return t.t})),k=&quot;string&quot;==typeof M[0];k&amp;&amp;(M=o.util.deduplicate(M),w=M.slice(),M=n.range(M.length),p=p.map(function(t,e){var r=t;return t.t=[M],m&amp;&amp;(r.yStack=t.yStack),r}));var A=p.filter(function(t,e){return&quot;LinePlot&quot;===t.geometry||&quot;DotPlot&quot;===t.geometry}).length===p.length,T=null===h.needsEndSpacing?k||!A:h.needsEndSpacing,S=h.angularAxis.domain&amp;&amp;h.angularAxis.domain!=o.DATAEXTENT&amp;&amp;!k&amp;&amp;h.angularAxis.domain[0]&gt;=0?h.angularAxis.domain:n.extent(M),E=Math.abs(M[1]-M[0]);A&amp;&amp;!k&amp;&amp;(E=0);var L=S.slice();T&amp;&amp;k&amp;&amp;(L[1]+=E);var C=h.angularAxis.ticksCount||4;C&gt;8&amp;&amp;(C=C/(C/8)+C%8),h.angularAxis.ticksStep&amp;&amp;(C=(L[1]-L[0])/C);var z=h.angularAxis.ticksStep||(L[1]-L[0])/(C*(h.minorTicks+1));w&amp;&amp;(z=Math.max(Math.round(z),1)),L[2]||(L[2]=z);var D=n.range.apply(this,L);if(D=D.map(function(t,e){return parseFloat(t.toPrecision(12))}),s=n.scale.linear().domain(L.slice(0,2)).range(&quot;clockwise&quot;===h.direction?[0,360]:[360,0]),u.layout.angularAxis.domain=s.domain(),u.layout.angularAxis.endPadding=T?E:0,void 0===(t=n.select(this).select(&quot;svg.chart-root&quot;))||t.empty()){var I=(new DOMParser).parseFromString(&quot;&lt;svg xmlns='http://www.w3.org/2000/svg' class='chart-root'&gt;' + '&lt;g class='outer-group'&gt;' + '&lt;g class='chart-group'&gt;' + '&lt;circle class='background-circle'&gt;&lt;/circle&gt;' + '&lt;g class='geometry-group'&gt;&lt;/g&gt;' + '&lt;g class='radial axis-group'&gt;' + '&lt;circle class='outside-circle'&gt;&lt;/circle&gt;' + '&lt;/g&gt;' + '&lt;g class='angular axis-group'&gt;&lt;/g&gt;' + '&lt;g class='guides-group'&gt;&lt;line&gt;&lt;/line&gt;&lt;circle r='0'&gt;&lt;/circle&gt;&lt;/g&gt;' + '&lt;/g&gt;' + '&lt;g class='legend-group'&gt;&lt;/g&gt;' + '&lt;g class='tooltips-group'&gt;&lt;/g&gt;' + '&lt;g class='title-group'&gt;&lt;text&gt;&lt;/text&gt;&lt;/g&gt;' + '&lt;/g&gt;' + '&lt;/svg&gt;&quot;,&quot;application/xml&quot;),P=this.appendChild(this.ownerDocument.importNode(I.documentElement,!0));t=n.select(P)}t.select(&quot;.guides-group&quot;).style({&quot;pointer-events&quot;:&quot;none&quot;}),t.select(&quot;.angular.axis-group&quot;).style({&quot;pointer-events&quot;:&quot;none&quot;}),t.select(&quot;.radial.axis-group&quot;).style({&quot;pointer-events&quot;:&quot;none&quot;});var O,F=t.select(&quot;.chart-group&quot;),R={fill:&quot;none&quot;,stroke:h.tickColor},N={&quot;font-size&quot;:h.font.size,&quot;font-family&quot;:h.font.family,fill:h.font.color,&quot;text-shadow&quot;:[&quot;-1px 0px&quot;,&quot;1px -1px&quot;,&quot;-1px 1px&quot;,&quot;1px 1px&quot;].map(function(t,e){return&quot; &quot;+t+&quot; 0 &quot;+h.font.outlineColor}).join(&quot;,&quot;)};if(h.showLegend){O=t.select(&quot;.legend-group&quot;).attr({transform:&quot;translate(&quot;+[x,h.margin.top]+&quot;)&quot;}).style({display:&quot;block&quot;});var j=p.map(function(t,e){var r=o.util.cloneJson(t);return r.symbol=&quot;DotPlot&quot;===t.geometry?t.dotType||&quot;circle&quot;:&quot;LinePlot&quot;!=t.geometry?&quot;square&quot;:&quot;line&quot;,r.visibleInLegend=void 0===t.visibleInLegend||t.visibleInLegend,r.color=&quot;LinePlot&quot;===t.geometry?t.strokeColor:t.color,r});o.Legend().config({data:p.map(function(t,e){return t.name||&quot;Element&quot;+e}),legendConfig:i({},o.Legend.defaultConfig().legendConfig,{container:O,elements:j,reverseOrder:h.legend.reverseOrder})})();var B=O.node().getBBox();x=Math.min(h.width-B.width-h.margin.left-h.margin.right,h.height-h.margin.top-h.margin.bottom)/2,x=Math.max(10,x),_=[h.margin.left+x,h.margin.top+x],r.range([0,x]),u.layout.radialAxis.domain=r.domain(),O.attr(&quot;transform&quot;,&quot;translate(&quot;+[_[0]+x,_[1]-x]+&quot;)&quot;)}else O=t.select(&quot;.legend-group&quot;).style({display:&quot;none&quot;});t.attr({width:h.width,height:h.height}).style({opacity:h.opacity}),F.attr(&quot;transform&quot;,&quot;translate(&quot;+_+&quot;)&quot;).style({cursor:&quot;crosshair&quot;});var U=[(h.width-(h.margin.left+h.margin.right+2*x+(B?B.width:0)))/2,(h.height-(h.margin.top+h.margin.bottom+2*x))/2];if(U[0]=Math.max(0,U[0]),U[1]=Math.max(0,U[1]),t.select(&quot;.outer-group&quot;).attr(&quot;transform&quot;,&quot;translate(&quot;+U+&quot;)&quot;),h.title){var V=t.select(&quot;g.title-group text&quot;).style(N).text(h.title),q=V.node().getBBox();V.attr({x:_[0]-q.width/2,y:_[1]-x-20})}var H=t.select(&quot;.radial.axis-group&quot;);if(h.radialAxis.gridLinesVisible){var G=H.selectAll(&quot;circle.grid-circle&quot;).data(r.ticks(5));G.enter().append(&quot;circle&quot;).attr({class:&quot;grid-circle&quot;}).style(R),G.attr(&quot;r&quot;,r),G.exit().remove()}H.select(&quot;circle.outside-circle&quot;).attr({r:x}).style(R);var Y=t.select(&quot;circle.background-circle&quot;).attr({r:x}).style({fill:h.backgroundColor,stroke:h.stroke});if(h.radialAxis.visible){var W=n.svg.axis().scale(r).ticks(5).tickSize(5);H.call(W).attr({transform:&quot;rotate(&quot;+h.radialAxis.orientation+&quot;)&quot;}),H.selectAll(&quot;.domain&quot;).style(R),H.selectAll(&quot;g&gt;text&quot;).text(function(t,e){return this.textContent+h.radialAxis.ticksSuffix}).style(N).style({&quot;text-anchor&quot;:&quot;start&quot;}).attr({x:0,y:0,dx:0,dy:0,transform:function(t,e){return&quot;horizontal&quot;===h.radialAxis.tickOrientation?&quot;rotate(&quot;+-h.radialAxis.orientation+&quot;) translate(&quot;+[0,N[&quot;font-size&quot;]]+&quot;)&quot;:&quot;translate(&quot;+[0,N[&quot;font-size&quot;]]+&quot;)&quot;}}),H.selectAll(&quot;g&gt;line&quot;).style({stroke:&quot;black&quot;})}var X=t.select(&quot;.angular.axis-group&quot;).selectAll(&quot;g.angular-tick&quot;).data(D),Z=X.enter().append(&quot;g&quot;).classed(&quot;angular-tick&quot;,!0);X.attr({transform:function(t,e){return&quot;rotate(&quot;+c(t)+&quot;)&quot;}}).style({display:h.angularAxis.visible?&quot;block&quot;:&quot;none&quot;}),X.exit().remove(),Z.append(&quot;line&quot;).classed(&quot;grid-line&quot;,!0).classed(&quot;major&quot;,function(t,e){return e%(h.minorTicks+1)==0}).classed(&quot;minor&quot;,function(t,e){return!(e%(h.minorTicks+1)==0)}).style(R),Z.selectAll(&quot;.minor&quot;).style({stroke:h.minorTickColor}),X.select(&quot;line.grid-line&quot;).attr({x1:h.tickLength?x-h.tickLength:0,x2:x}).style({display:h.angularAxis.gridLinesVisible?&quot;block&quot;:&quot;none&quot;}),Z.append(&quot;text&quot;).classed(&quot;axis-text&quot;,!0).style(N);var J=X.select(&quot;text.axis-text&quot;).attr({x:x+h.labelOffset,dy:a+&quot;em&quot;,transform:function(t,e){var r=c(t),n=x+h.labelOffset,i=h.angularAxis.tickOrientation;return&quot;horizontal&quot;==i?&quot;rotate(&quot;+-r+&quot; &quot;+n+&quot; 0)&quot;:&quot;radial&quot;==i?r&lt;270&amp;&amp;r&gt;90?&quot;rotate(180 &quot;+n+&quot; 0)&quot;:null:&quot;rotate(&quot;+(r&lt;=180&amp;&amp;r&gt;0?-90:90)+&quot; &quot;+n+&quot; 0)&quot;}}).style({&quot;text-anchor&quot;:&quot;middle&quot;,display:h.angularAxis.labelsVisible?&quot;block&quot;:&quot;none&quot;}).text(function(t,e){return e%(h.minorTicks+1)!=0?&quot;&quot;:w?w[t]+h.angularAxis.ticksSuffix:t+h.angularAxis.ticksSuffix}).style(N);h.angularAxis.rewriteTicks&amp;&amp;J.text(function(t,e){return e%(h.minorTicks+1)!=0?&quot;&quot;:h.angularAxis.rewriteTicks(this.textContent,e)});var K=n.max(F.selectAll(&quot;.angular-tick text&quot;)[0].map(function(t,e){return t.getCTM().e+t.getBBox().width}));O.attr({transform:&quot;translate(&quot;+[x+K,h.margin.top]+&quot;)&quot;});var Q=t.select(&quot;g.geometry-group&quot;).selectAll(&quot;g&quot;).size()&gt;0,$=t.select(&quot;g.geometry-group&quot;).selectAll(&quot;g.geometry&quot;).data(p);if($.enter().append(&quot;g&quot;).attr({class:function(t,e){return&quot;geometry geometry&quot;+e}}),$.exit().remove(),p[0]||Q){var tt=[];p.forEach(function(t,e){var n={};n.radialScale=r,n.angularScale=s,n.container=$.filter(function(t,r){return r==e}),n.geometry=t.geometry,n.orientation=h.orientation,n.direction=h.direction,n.index=e,tt.push({data:t,geometryConfig:n})});var et=[];n.nest().key(function(t,e){return void 0!==t.data.groupId||&quot;unstacked&quot;}).entries(tt).forEach(function(t,e){&quot;unstacked&quot;===t.key?et=et.concat(t.values.map(function(t,e){return[t]})):et.push(t.values)}),et.forEach(function(t,e){var r;r=Array.isArray(t)?t[0].geometryConfig.geometry:t.geometryConfig.geometry;var n=t.map(function(t,e){return i(o[r].defaultConfig(),t)});o[r]().config(n)()})}var rt,nt,it=t.select(&quot;.guides-group&quot;),at=t.select(&quot;.tooltips-group&quot;),ot=o.tooltipPanel().config({container:at,fontSize:8})(),st=o.tooltipPanel().config({container:at,fontSize:8})(),lt=o.tooltipPanel().config({container:at,hasTick:!0})();if(!k){var ct=it.select(&quot;line&quot;).attr({x1:0,y1:0,y2:0}).style({stroke:&quot;grey&quot;,&quot;pointer-events&quot;:&quot;none&quot;});F.on(&quot;mousemove.angular-guide&quot;,function(t,e){var r=o.util.getMousePos(Y).angle;ct.attr({x2:-x,transform:&quot;rotate(&quot;+r+&quot;)&quot;}).style({opacity:.5});var n=(r+180+360-h.orientation)%360;rt=s.invert(n);var i=o.util.convertToCartesian(x+12,r+180);ot.text(o.util.round(rt)).move([i[0]+_[0],i[1]+_[1]])}).on(&quot;mouseout.angular-guide&quot;,function(t,e){it.select(&quot;line&quot;).style({opacity:0})})}var ut=it.select(&quot;circle&quot;).style({stroke:&quot;grey&quot;,fill:&quot;none&quot;});F.on(&quot;mousemove.radial-guide&quot;,function(t,e){var n=o.util.getMousePos(Y).radius;ut.attr({r:n}).style({opacity:.5}),nt=r.invert(o.util.getMousePos(Y).radius);var i=o.util.convertToCartesian(n,h.radialAxis.orientation);st.text(o.util.round(nt)).move([i[0]+_[0],i[1]+_[1]])}).on(&quot;mouseout.radial-guide&quot;,function(t,e){ut.style({opacity:0}),lt.hide(),ot.hide(),st.hide()}),t.selectAll(&quot;.geometry-group .mark&quot;).on(&quot;mouseover.tooltip&quot;,function(e,r){var i=n.select(this),a=this.style.fill,s=&quot;black&quot;,l=this.style.opacity||1;if(i.attr({&quot;data-opacity&quot;:l}),a&amp;&amp;&quot;none&quot;!==a){i.attr({&quot;data-fill&quot;:a}),s=n.hsl(a).darker().toString(),i.style({fill:s,opacity:1});var c={t:o.util.round(e[0]),r:o.util.round(e[1])};k&amp;&amp;(c.t=w[e[0]]);var u=&quot;t: &quot;+c.t+&quot;, r: &quot;+c.r,f=this.getBoundingClientRect(),h=t.node().getBoundingClientRect(),d=[f.left+f.width/2-U[0]-h.left,f.top+f.height/2-U[1]-h.top];lt.config({color:s}).text(u),lt.move(d)}else a=this.style.stroke||&quot;black&quot;,i.attr({&quot;data-stroke&quot;:a}),s=n.hsl(a).darker().toString(),i.style({stroke:s,opacity:1})}).on(&quot;mousemove.tooltip&quot;,function(t,e){if(0!=n.event.which)return!1;n.select(this).attr(&quot;data-fill&quot;)&amp;&amp;lt.show()}).on(&quot;mouseout.tooltip&quot;,function(t,e){lt.hide();var r=n.select(this),i=r.attr(&quot;data-fill&quot;);i?r.style({fill:i,opacity:r.attr(&quot;data-opacity&quot;)}):r.style({stroke:r.attr(&quot;data-stroke&quot;),opacity:r.attr(&quot;data-opacity&quot;)})})})}(c),this},h.config=function(t){if(!arguments.length)return l;var e=o.util.cloneJson(t);return e.data.forEach(function(t,e){l.data[e]||(l.data[e]={}),i(l.data[e],o.Axis.defaultConfig().data[0]),i(l.data[e],t)}),i(l.layout,o.Axis.defaultConfig().layout),i(l.layout,e.layout),this},h.getLiveConfig=function(){return u},h.getinputConfig=function(){return c},h.radialScale=function(t){return r},h.angularScale=function(t){return s},h.svg=function(){return t},n.rebind(h,f,&quot;on&quot;),h},o.Axis.defaultConfig=function(t,e){return{data:[{t:[1,2,3,4],r:[10,11,12,13],name:&quot;Line1&quot;,geometry:&quot;LinePlot&quot;,color:null,strokeDash:&quot;solid&quot;,strokeColor:null,strokeSize:&quot;1&quot;,visibleInLegend:!0,opacity:1}],layout:{defaultColorRange:n.scale.category10().range(),title:null,height:450,width:500,margin:{top:40,right:40,bottom:40,left:40},font:{size:12,color:&quot;gray&quot;,outlineColor:&quot;white&quot;,family:&quot;Tahoma, sans-serif&quot;},direction:&quot;clockwise&quot;,orientation:0,labelOffset:10,radialAxis:{domain:null,orientation:-45,ticksSuffix:&quot;&quot;,visible:!0,gridLinesVisible:!0,tickOrientation:&quot;horizontal&quot;,rewriteTicks:null},angularAxis:{domain:[0,360],ticksSuffix:&quot;&quot;,visible:!0,gridLinesVisible:!0,labelsVisible:!0,tickOrientation:&quot;horizontal&quot;,rewriteTicks:null,ticksCount:null,ticksStep:null},minorTicks:0,tickLength:null,tickColor:&quot;silver&quot;,minorTickColor:&quot;#eee&quot;,backgroundColor:&quot;none&quot;,needsEndSpacing:null,showLegend:!0,legend:{reverseOrder:!1},opacity:1}}},o.util={},o.DATAEXTENT=&quot;dataExtent&quot;,o.AREA=&quot;AreaChart&quot;,o.LINE=&quot;LinePlot&quot;,o.DOT=&quot;DotPlot&quot;,o.BAR=&quot;BarChart&quot;,o.util._override=function(t,e){for(var r in t)r in e&amp;&amp;(e[r]=t[r])},o.util._extend=function(t,e){for(var r in t)e[r]=t[r]},o.util._rndSnd=function(){return 2*Math.random()-1+(2*Math.random()-1)+(2*Math.random()-1)},o.util.dataFromEquation2=function(t,e){var r=e||6;return n.range(0,360+r,r).map(function(e,r){var n=e*Math.PI/180;return[e,t(n)]})},o.util.dataFromEquation=function(t,e,r){var i=e||6,a=[],o=[];n.range(0,360+i,i).forEach(function(e,r){var n=e*Math.PI/180,i=t(n);a.push(e),o.push(i)});var s={t:a,r:o};return r&amp;&amp;(s.name=r),s},o.util.ensureArray=function(t,e){if(void 0===t)return null;var r=[].concat(t);return n.range(e).map(function(t,e){return r[e]||r[0]})},o.util.fillArrays=function(t,e,r){return e.forEach(function(e,n){t[e]=o.util.ensureArray(t[e],r)}),t},o.util.cloneJson=function(t){return JSON.parse(JSON.stringify(t))},o.util.validateKeys=function(t,e){&quot;string&quot;==typeof e&amp;&amp;(e=e.split(&quot;.&quot;));var r=e.shift();return t[r]&amp;&amp;(!e.length||objHasKeys(t[r],e))},o.util.sumArrays=function(t,e){return n.zip(t,e).map(function(t,e){return n.sum(t)})},o.util.arrayLast=function(t){return t[t.length-1]},o.util.arrayEqual=function(t,e){for(var r=Math.max(t.length,e.length,1);r-- &gt;=0&amp;&amp;t[r]===e[r];);return-2===r},o.util.flattenArray=function(t){for(var e=[];!o.util.arrayEqual(e,t);)e=t,t=[].concat.apply([],t);return t},o.util.deduplicate=function(t){return t.filter(function(t,e,r){return r.indexOf(t)==e})},o.util.convertToCartesian=function(t,e){var r=e*Math.PI/180;return[t*Math.cos(r),t*Math.sin(r)]},o.util.round=function(t,e){var r=e||2,n=Math.pow(10,r);return Math.round(t*n)/n},o.util.getMousePos=function(t){var e=n.mouse(t.node()),r=e[0],i=e[1],a={};return a.x=r,a.y=i,a.pos=e,a.angle=180*(Math.atan2(i,r)+Math.PI)/Math.PI,a.radius=Math.sqrt(r*r+i*i),a},o.util.duplicatesCount=function(t){for(var e,r={},n={},i=0,a=t.length;i&lt;a;i++)(e=t[i])in r?(r[e]++,n[e]=r[e]):r[e]=1;return n},o.util.duplicates=function(t){return Object.keys(o.util.duplicatesCount(t))},o.util.translator=function(t,e,r,n){if(n){var i=r.slice();r=e,e=i}var a=e.reduce(function(t,e){if(void 0!==t)return t[e]},t);void 0!==a&amp;&amp;(e.reduce(function(t,r,n){if(void 0!==t)return n===e.length-1&amp;&amp;delete t[r],t[r]},t),r.reduce(function(t,e,n){return void 0===t[e]&amp;&amp;(t[e]={}),n===r.length-1&amp;&amp;(t[e]=a),t[e]},t))},o.PolyChart=function(){function t(){var t=e[0].geometryConfig,r=t.container;&quot;string&quot;==typeof r&amp;&amp;(r=n.select(r)),r.datum(e).each(function(e,r){var i=!!e[0].data.yStack,o=e.map(function(t,e){return i?n.zip(t.data.t[0],t.data.r[0],t.data.yStack[0]):n.zip(t.data.t[0],t.data.r[0])}),s=t.angularScale,l=t.radialScale.domain()[0],c={};c.bar=function(r,i,a){var o=e[a].data,l=t.radialScale(r[1])-t.radialScale(0),c=t.radialScale(r[2]||0),u=o.barWidth;n.select(this).attr({class:&quot;mark bar&quot;,d:&quot;M&quot;+[[l+c,-u/2],[l+c,u/2],[c,u/2],[c,-u/2]].join(&quot;L&quot;)+&quot;Z&quot;,transform:function(e,r){return&quot;rotate(&quot;+(t.orientation+s(e[0]))+&quot;)&quot;}})},c.dot=function(r,i,a){var o=r[2]?[r[0],r[1]+r[2]]:r,s=n.svg.symbol().size(e[a].data.dotSize).type(e[a].data.dotType)(r,i);n.select(this).attr({class:&quot;mark dot&quot;,d:s,transform:function(e,r){var n=function(t){return{x:t.r*Math.cos(t.t),y:t.r*Math.sin(t.t)}}(function(e,r){return{r:t.radialScale(e[1]),t:(t.angularScale(e[0])+t.orientation)*Math.PI/180}}(o));return&quot;translate(&quot;+[n.x,n.y]+&quot;)&quot;}})};var u=n.svg.line.radial().interpolate(e[0].data.lineInterpolation).radius(function(e){return t.radialScale(e[1])}).angle(function(e){return t.angularScale(e[0])*Math.PI/180});c.line=function(r,i,a){var s=r[2]?o[a].map(function(t,e){return[t[0],t[1]+t[2]]}):o[a];if(n.select(this).each(c.dot).style({opacity:function(t,r){return+e[a].data.dotVisible},fill:p.stroke(r,i,a)}).attr({class:&quot;mark dot&quot;}),!(i&gt;0)){var l=n.select(this.parentNode).selectAll(&quot;path.line&quot;).data([0]);l.enter().insert(&quot;path&quot;),l.attr({class:&quot;line&quot;,d:u(s),transform:function(e,r){return&quot;rotate(&quot;+(t.orientation+90)+&quot;)&quot;},&quot;pointer-events&quot;:&quot;none&quot;}).style({fill:function(t,e){return p.fill(r,i,a)},&quot;fill-opacity&quot;:0,stroke:function(t,e){return p.stroke(r,i,a)},&quot;stroke-width&quot;:function(t,e){return p[&quot;stroke-width&quot;](r,i,a)},&quot;stroke-dasharray&quot;:function(t,e){return p[&quot;stroke-dasharray&quot;](r,i,a)},opacity:function(t,e){return p.opacity(r,i,a)},display:function(t,e){return p.display(r,i,a)}})}};var f=t.angularScale.range(),h=Math.abs(f[1]-f[0])/o[0].length*Math.PI/180,d=n.svg.arc().startAngle(function(t){return-h/2}).endAngle(function(t){return h/2}).innerRadius(function(e){return t.radialScale(l+(e[2]||0))}).outerRadius(function(e){return t.radialScale(l+(e[2]||0))+t.radialScale(e[1])});c.arc=function(e,r,i){n.select(this).attr({class:&quot;mark arc&quot;,d:d,transform:function(e,r){return&quot;rotate(&quot;+(t.orientation+s(e[0])+90)+&quot;)&quot;}})};var p={fill:function(t,r,n){return e[n].data.color},stroke:function(t,r,n){return e[n].data.strokeColor},&quot;stroke-width&quot;:function(t,r,n){return e[n].data.strokeSize+&quot;px&quot;},&quot;stroke-dasharray&quot;:function(t,r,n){return a[e[n].data.strokeDash]},opacity:function(t,r,n){return e[n].data.opacity},display:function(t,r,n){return void 0===e[n].data.visible||e[n].data.visible?&quot;block&quot;:&quot;none&quot;}},m=n.select(this).selectAll(&quot;g.layer&quot;).data(o);m.enter().append(&quot;g&quot;).attr({class:&quot;layer&quot;});var g=m.selectAll(&quot;path.mark&quot;).data(function(t,e){return t});g.enter().append(&quot;path&quot;).attr({class:&quot;mark&quot;}),g.style(p).each(c[t.geometryType]),g.exit().remove(),m.exit().remove()})}var e=[o.PolyChart.defaultConfig()],r=n.dispatch(&quot;hover&quot;),a={solid:&quot;none&quot;,dash:[5,2],dot:[2,5]};return t.config=function(t){return arguments.length?(t.forEach(function(t,r){e[r]||(e[r]={}),i(e[r],o.PolyChart.defaultConfig()),i(e[r],t)}),this):e},t.getColorScale=function(){},n.rebind(t,r,&quot;on&quot;),t},o.PolyChart.defaultConfig=function(){return{data:{name:&quot;geom1&quot;,t:[[1,2,3,4]],r:[[1,2,3,4]],dotType:&quot;circle&quot;,dotSize:64,dotVisible:!1,barWidth:20,color:&quot;#ffa500&quot;,strokeSize:1,strokeColor:&quot;silver&quot;,strokeDash:&quot;solid&quot;,opacity:1,index:0,visible:!0,visibleInLegend:!0},geometryConfig:{geometry:&quot;LinePlot&quot;,geometryType:&quot;arc&quot;,direction:&quot;clockwise&quot;,orientation:0,container:&quot;body&quot;,radialScale:null,angularScale:null,colorScale:n.scale.category20()}}},o.BarChart=function(){return o.PolyChart()},o.BarChart.defaultConfig=function(){return{geometryConfig:{geometryType:&quot;bar&quot;}}},o.AreaChart=function(){return o.PolyChart()},o.AreaChart.defaultConfig=function(){return{geometryConfig:{geometryType:&quot;arc&quot;}}},o.DotPlot=function(){return o.PolyChart()},o.DotPlot.defaultConfig=function(){return{geometryConfig:{geometryType:&quot;dot&quot;,dotType:&quot;circle&quot;}}},o.LinePlot=function(){return o.PolyChart()},o.LinePlot.defaultConfig=function(){return{geometryConfig:{geometryType:&quot;line&quot;}}},o.Legend=function(){function t(){var r=e.legendConfig,a=e.data.map(function(t,e){return[].concat(t).map(function(t,n){var a=i({},r.elements[e]);return a.name=t,a.color=[].concat(r.elements[e].color)[n],a})}),o=n.merge(a);o=o.filter(function(t,e){return r.elements[e]&amp;&amp;(r.elements[e].visibleInLegend||void 0===r.elements[e].visibleInLegend)}),r.reverseOrder&amp;&amp;(o=o.reverse());var s=r.container;(&quot;string&quot;==typeof s||s.nodeName)&amp;&amp;(s=n.select(s));var l=o.map(function(t,e){return t.color}),c=r.fontSize,u=null==r.isContinuous?&quot;number&quot;==typeof o[0]:r.isContinuous,f=u?r.height:c*o.length,h=s.classed(&quot;legend-group&quot;,!0).selectAll(&quot;svg&quot;).data([0]),d=h.enter().append(&quot;svg&quot;).attr({width:300,height:f+c,xmlns:&quot;http://www.w3.org/2000/svg&quot;,&quot;xmlns:xlink&quot;:&quot;http://www.w3.org/1999/xlink&quot;,version:&quot;1.1&quot;});d.append(&quot;g&quot;).classed(&quot;legend-axis&quot;,!0),d.append(&quot;g&quot;).classed(&quot;legend-marks&quot;,!0);var p=n.range(o.length),m=n.scale[u?&quot;linear&quot;:&quot;ordinal&quot;]().domain(p).range(l),g=n.scale[u?&quot;linear&quot;:&quot;ordinal&quot;]().domain(p)[u?&quot;range&quot;:&quot;rangePoints&quot;]([0,f]);if(u){var v=h.select(&quot;.legend-marks&quot;).append(&quot;defs&quot;).append(&quot;linearGradient&quot;).attr({id:&quot;grad1&quot;,x1:&quot;0%&quot;,y1:&quot;0%&quot;,x2:&quot;0%&quot;,y2:&quot;100%&quot;}).selectAll(&quot;stop&quot;).data(l);v.enter().append(&quot;stop&quot;),v.attr({offset:function(t,e){return e/(l.length-1)*100+&quot;%&quot;}}).style({&quot;stop-color&quot;:function(t,e){return t}}),h.append(&quot;rect&quot;).classed(&quot;legend-mark&quot;,!0).attr({height:r.height,width:r.colorBandWidth,fill:&quot;url(#grad1)&quot;})}else{var y=h.select(&quot;.legend-marks&quot;).selectAll(&quot;path.legend-mark&quot;).data(o);y.enter().append(&quot;path&quot;).classed(&quot;legend-mark&quot;,!0),y.attr({transform:function(t,e){return&quot;translate(&quot;+[c/2,g(e)+c/2]+&quot;)&quot;},d:function(t,e){return function(t,e){var r=3*e;return&quot;line&quot;===t?&quot;M&quot;+[[-e/2,-e/12],[e/2,-e/12],[e/2,e/12],[-e/2,e/12]]+&quot;Z&quot;:-1!=n.svg.symbolTypes.indexOf(t)?n.svg.symbol().type(t).size(r)():n.svg.symbol().type(&quot;square&quot;).size(r)()}(t.symbol,c)},fill:function(t,e){return m(e)}}),y.exit().remove()}var x=n.svg.axis().scale(g).orient(&quot;right&quot;),b=h.select(&quot;g.legend-axis&quot;).attr({transform:&quot;translate(&quot;+[u?r.colorBandWidth:c,c/2]+&quot;)&quot;}).call(x);return b.selectAll(&quot;.domain&quot;).style({fill:&quot;none&quot;,stroke:&quot;none&quot;}),b.selectAll(&quot;line&quot;).style({fill:&quot;none&quot;,stroke:u?r.textColor:&quot;none&quot;}),b.selectAll(&quot;text&quot;).style({fill:r.textColor,&quot;font-size&quot;:r.fontSize}).text(function(t,e){return o[e].name}),t}var e=o.Legend.defaultConfig(),r=n.dispatch(&quot;hover&quot;);return t.config=function(t){return arguments.length?(i(e,t),this):e},n.rebind(t,r,&quot;on&quot;),t},o.Legend.defaultConfig=function(t,e){return{data:[&quot;a&quot;,&quot;b&quot;,&quot;c&quot;],legendConfig:{elements:[{symbol:&quot;line&quot;,color:&quot;red&quot;},{symbol:&quot;square&quot;,color:&quot;yellow&quot;},{symbol:&quot;diamond&quot;,color:&quot;limegreen&quot;}],height:150,colorBandWidth:30,fontSize:12,container:&quot;body&quot;,isContinuous:null,textColor:&quot;grey&quot;,reverseOrder:!1}}},o.tooltipPanel=function(){var t,e,r,a={container:null,hasTick:!1,fontSize:12,color:&quot;white&quot;,padding:5},s=&quot;tooltip-&quot;+o.tooltipPanel.uid++,l=10,c=function(){var n=(t=a.container.selectAll(&quot;g.&quot;+s).data([0])).enter().append(&quot;g&quot;).classed(s,!0).style({&quot;pointer-events&quot;:&quot;none&quot;,display:&quot;none&quot;});return r=n.append(&quot;path&quot;).style({fill:&quot;white&quot;,&quot;fill-opacity&quot;:.9}).attr({d:&quot;M0 0&quot;}),e=n.append(&quot;text&quot;).attr({dx:a.padding+l,dy:.3*+a.fontSize}),c};return c.text=function(i){var o=n.hsl(a.color).l,s=o&gt;=.5?&quot;#aaa&quot;:&quot;white&quot;,u=o&gt;=.5?&quot;black&quot;:&quot;white&quot;,f=i||&quot;&quot;;e.style({fill:u,&quot;font-size&quot;:a.fontSize+&quot;px&quot;}).text(f);var h=a.padding,d=e.node().getBBox(),p={fill:a.color,stroke:s,&quot;stroke-width&quot;:&quot;2px&quot;},m=d.width+2*h+l,g=d.height+2*h;return r.attr({d:&quot;M&quot;+[[l,-g/2],[l,-g/4],[a.hasTick?0:l,0],[l,g/4],[l,g/2],[m,g/2],[m,-g/2]].join(&quot;L&quot;)+&quot;Z&quot;}).style(p),t.attr({transform:&quot;translate(&quot;+[l,-g/2+2*h]+&quot;)&quot;}),t.style({display:&quot;block&quot;}),c},c.move=function(e){if(t)return t.attr({transform:&quot;translate(&quot;+[e[0],e[1]]+&quot;)&quot;}).style({display:&quot;block&quot;}),c},c.hide=function(){if(t)return t.style({display:&quot;none&quot;}),c},c.show=function(){if(t)return t.style({display:&quot;block&quot;}),c},c.config=function(t){return i(a,t),c},c},o.tooltipPanel.uid=1,o.adapter={},o.adapter.plotly=function(){var t={};return t.convert=function(t,e){var r={};if(t.data&amp;&amp;(r.data=t.data.map(function(t,r){var n=i({},t);return[[n,[&quot;marker&quot;,&quot;color&quot;],[&quot;color&quot;]],[n,[&quot;marker&quot;,&quot;opacity&quot;],[&quot;opacity&quot;]],[n,[&quot;marker&quot;,&quot;line&quot;,&quot;color&quot;],[&quot;strokeColor&quot;]],[n,[&quot;marker&quot;,&quot;line&quot;,&quot;dash&quot;],[&quot;strokeDash&quot;]],[n,[&quot;marker&quot;,&quot;line&quot;,&quot;width&quot;],[&quot;strokeSize&quot;]],[n,[&quot;marker&quot;,&quot;symbol&quot;],[&quot;dotType&quot;]],[n,[&quot;marker&quot;,&quot;size&quot;],[&quot;dotSize&quot;]],[n,[&quot;marker&quot;,&quot;barWidth&quot;],[&quot;barWidth&quot;]],[n,[&quot;line&quot;,&quot;interpolation&quot;],[&quot;lineInterpolation&quot;]],[n,[&quot;showlegend&quot;],[&quot;visibleInLegend&quot;]]].forEach(function(t,r){o.util.translator.apply(null,t.concat(e))}),e||delete n.marker,e&amp;&amp;delete n.groupId,e?(&quot;LinePlot&quot;===n.geometry?(n.type=&quot;scatter&quot;,!0===n.dotVisible?(delete n.dotVisible,n.mode=&quot;lines+markers&quot;):n.mode=&quot;lines&quot;):&quot;DotPlot&quot;===n.geometry?(n.type=&quot;scatter&quot;,n.mode=&quot;markers&quot;):&quot;AreaChart&quot;===n.geometry?n.type=&quot;area&quot;:&quot;BarChart&quot;===n.geometry&amp;&amp;(n.type=&quot;bar&quot;),delete n.geometry):(&quot;scatter&quot;===n.type?&quot;lines&quot;===n.mode?n.geometry=&quot;LinePlot&quot;:&quot;markers&quot;===n.mode?n.geometry=&quot;DotPlot&quot;:&quot;lines+markers&quot;===n.mode&amp;&amp;(n.geometry=&quot;LinePlot&quot;,n.dotVisible=!0):&quot;area&quot;===n.type?n.geometry=&quot;AreaChart&quot;:&quot;bar&quot;===n.type&amp;&amp;(n.geometry=&quot;BarChart&quot;),delete n.mode,delete n.type),n}),!e&amp;&amp;t.layout&amp;&amp;&quot;stack&quot;===t.layout.barmode)){var a=o.util.duplicates(r.data.map(function(t,e){return t.geometry}));r.data.forEach(function(t,e){var n=a.indexOf(t.geometry);-1!=n&amp;&amp;(r.data[e].groupId=n)})}if(t.layout){var s=i({},t.layout);if([[s,[&quot;plot_bgcolor&quot;],[&quot;backgroundColor&quot;]],[s,[&quot;showlegend&quot;],[&quot;showLegend&quot;]],[s,[&quot;radialaxis&quot;],[&quot;radialAxis&quot;]],[s,[&quot;angularaxis&quot;],[&quot;angularAxis&quot;]],[s.angularaxis,[&quot;showline&quot;],[&quot;gridLinesVisible&quot;]],[s.angularaxis,[&quot;showticklabels&quot;],[&quot;labelsVisible&quot;]],[s.angularaxis,[&quot;nticks&quot;],[&quot;ticksCount&quot;]],[s.angularaxis,[&quot;tickorientation&quot;],[&quot;tickOrientation&quot;]],[s.angularaxis,[&quot;ticksuffix&quot;],[&quot;ticksSuffix&quot;]],[s.angularaxis,[&quot;range&quot;],[&quot;domain&quot;]],[s.angularaxis,[&quot;endpadding&quot;],[&quot;endPadding&quot;]],[s.radialaxis,[&quot;showline&quot;],[&quot;gridLinesVisible&quot;]],[s.radialaxis,[&quot;tickorientation&quot;],[&quot;tickOrientation&quot;]],[s.radialaxis,[&quot;ticksuffix&quot;],[&quot;ticksSuffix&quot;]],[s.radialaxis,[&quot;range&quot;],[&quot;domain&quot;]],[s.angularAxis,[&quot;showline&quot;],[&quot;gridLinesVisible&quot;]],[s.angularAxis,[&quot;showticklabels&quot;],[&quot;labelsVisible&quot;]],[s.angularAxis,[&quot;nticks&quot;],[&quot;ticksCount&quot;]],[s.angularAxis,[&quot;tickorientation&quot;],[&quot;tickOrientation&quot;]],[s.angularAxis,[&quot;ticksuffix&quot;],[&quot;ticksSuffix&quot;]],[s.angularAxis,[&quot;range&quot;],[&quot;domain&quot;]],[s.angularAxis,[&quot;endpadding&quot;],[&quot;endPadding&quot;]],[s.radialAxis,[&quot;showline&quot;],[&quot;gridLinesVisible&quot;]],[s.radialAxis,[&quot;tickorientation&quot;],[&quot;tickOrientation&quot;]],[s.radialAxis,[&quot;ticksuffix&quot;],[&quot;ticksSuffix&quot;]],[s.radialAxis,[&quot;range&quot;],[&quot;domain&quot;]],[s.font,[&quot;outlinecolor&quot;],[&quot;outlineColor&quot;]],[s.legend,[&quot;traceorder&quot;],[&quot;reverseOrder&quot;]],[s,[&quot;labeloffset&quot;],[&quot;labelOffset&quot;]],[s,[&quot;defaultcolorrange&quot;],[&quot;defaultColorRange&quot;]]].forEach(function(t,r){o.util.translator.apply(null,t.concat(e))}),e?(void 0!==s.tickLength&amp;&amp;(s.angularaxis.ticklen=s.tickLength,delete s.tickLength),s.tickColor&amp;&amp;(s.angularaxis.tickcolor=s.tickColor,delete s.tickColor)):(s.angularAxis&amp;&amp;void 0!==s.angularAxis.ticklen&amp;&amp;(s.tickLength=s.angularAxis.ticklen),s.angularAxis&amp;&amp;void 0!==s.angularAxis.tickcolor&amp;&amp;(s.tickColor=s.angularAxis.tickcolor)),s.legend&amp;&amp;&quot;boolean&quot;!=typeof s.legend.reverseOrder&amp;&amp;(s.legend.reverseOrder=&quot;normal&quot;!=s.legend.reverseOrder),s.legend&amp;&amp;&quot;boolean&quot;==typeof s.legend.traceorder&amp;&amp;(s.legend.traceorder=s.legend.traceorder?&quot;reversed&quot;:&quot;normal&quot;,delete s.legend.reverseOrder),s.margin&amp;&amp;void 0!==s.margin.t){var l=[&quot;t&quot;,&quot;r&quot;,&quot;b&quot;,&quot;l&quot;,&quot;pad&quot;],c=[&quot;top&quot;,&quot;right&quot;,&quot;bottom&quot;,&quot;left&quot;,&quot;pad&quot;],u={};n.entries(s.margin).forEach(function(t,e){u[c[l.indexOf(t.key)]]=t.value}),s.margin=u}e&amp;&amp;(delete s.needsEndSpacing,delete s.minorTickColor,delete s.minorTicks,delete s.angularaxis.ticksCount,delete s.angularaxis.ticksCount,delete s.angularaxis.ticksStep,delete s.angularaxis.rewriteTicks,delete s.angularaxis.nticks,delete s.radialaxis.ticksCount,delete s.radialaxis.ticksCount,delete s.radialaxis.ticksStep,delete s.radialaxis.rewriteTicks,delete s.radialaxis.nticks),r.layout=s}return r},t}},{&quot;../../../constants/alignment&quot;:716,&quot;../../../lib&quot;:743,d3:128}],862:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;d3&quot;),i=t(&quot;../../../lib&quot;),a=t(&quot;../../../components/color&quot;),o=t(&quot;./micropolar&quot;),s=t(&quot;./undo_manager&quot;),l=i.extendDeepAll,c=e.exports={};c.framework=function(t){function e(e,i){return i&amp;&amp;(f=i),n.select(n.select(f).node().parentNode).selectAll(&quot;.svg-container&gt;*:not(.chart-root)&quot;).remove(),r=r?l(r,e):e,a||(a=o.Axis()),u=o.adapter.plotly().convert(r),a.config(u).render(f),t.data=r.data,t.layout=r.layout,c.fillLayout(t),r}var r,i,a,u,f,h=new s;return e.isPolar=!0,e.svg=function(){return a.svg()},e.getConfig=function(){return r},e.getLiveConfig=function(){return o.adapter.plotly().convert(a.getLiveConfig(),!0)},e.getLiveScales=function(){return{t:a.angularScale(),r:a.radialScale()}},e.setUndoPoint=function(){var t=this,e=o.util.cloneJson(r);!function(e,r){h.add({undo:function(){r&amp;&amp;t(r)},redo:function(){t(e)}})}(e,i),i=o.util.cloneJson(e)},e.undo=function(){h.undo()},e.redo=function(){h.redo()},e},c.fillLayout=function(t){var e=n.select(t).selectAll(&quot;.plot-container&quot;),r=e.selectAll(&quot;.svg-container&quot;),i=t.framework&amp;&amp;t.framework.svg&amp;&amp;t.framework.svg(),o={width:800,height:600,paper_bgcolor:a.background,_container:e,_paperdiv:r,_paper:i};t._fullLayout=l(o,t.layout)}},{&quot;../../../components/color&quot;:618,&quot;../../../lib&quot;:743,&quot;./micropolar&quot;:861,&quot;./undo_manager&quot;:863,d3:128}],863:[function(t,e,r){&quot;use strict&quot;;e.exports=function(){function t(t,e){return t?(i=!0,t[e](),i=!1,this):this}var e,r=[],n=-1,i=!1;return{add:function(t){return i?this:(r.splice(n+1,r.length-n),r.push(t),n=r.length-1,this)},setCallback:function(t){e=t},undo:function(){var i=r[n];return i?(t(i,&quot;undo&quot;),n-=1,e&amp;&amp;e(i.undo),this):this},redo:function(){var i=r[n+1];return i?(t(i,&quot;redo&quot;),n+=1,e&amp;&amp;e(i.redo),this):this},clear:function(){r=[],n=-1},hasUndo:function(){return-1!==n},hasRedo:function(){return n&lt;r.length-1},getCommands:function(){return r},getPreviousCommand:function(){return r[n-1]},getIndex:function(){return n}}}},{}],864:[function(t,e,r){&quot;use strict&quot;;function n(t,e){this.id=e,this.gd=t,this._hasClipOnAxisFalse=null,this.traceHash={},this.layers={},this.clipPaths={},this.clipIds={},this.viewInitial={};var r=t._fullLayout,n=&quot;clip&quot;+r._uid+e;this.clipIds.circle=n+&quot;-circle&quot;,this.clipPaths.circle=r._clips.append(&quot;clipPath&quot;).attr(&quot;id&quot;,this.clipIds.circle),this.clipPaths.circle.append(&quot;path&quot;),this.framework=r._polarlayer.append(&quot;g&quot;).attr(&quot;class&quot;,e),this.radialTickLayout=null,this.angularTickLayout=null}function i(t,e,r){M.setConvert(t,r),t._min=e._min,t._max=e._max,t.setScale()}function a(t){var e=t.ticks+String(t.ticklen)+String(t.showticklabels);return&quot;side&quot;in t&amp;&amp;(e+=t.side),e}function o(t,e){if(l(e))return _.symbolFuncs[0](t);var r=t*Math.cos(D(e[0])),n=-t*Math.sin(D(e[0])),i=t*Math.cos(D(e[1])),a=-t*Math.sin(D(e[1]));return&quot;M&quot;+[r,n]+&quot;A&quot;+[t,t]+&quot; &quot;+(Math.abs(e[1]-e[0])&lt;=180?[0,0,0]:[0,1,0])+&quot; &quot;+[i,a]}function s(t,e){return o(t,e)+(l(e)?&quot;&quot;:&quot;L0,0Z&quot;)}function l(t){return 360===Math.abs(t[1]-t[0])}function c(t,e,r){return e?(t.attr(&quot;display&quot;,null),t.attr(r)):t&amp;&amp;t.attr(&quot;display&quot;,&quot;none&quot;),t}function u(t,e){return&quot;translate(&quot;+t+&quot;,&quot;+e+&quot;)&quot;}function f(t){return&quot;rotate(&quot;+t+&quot;)&quot;}function h(t){return Math.abs(t)&lt;1e-10?0:t&gt;0?1:-1}function d(t){return h(Math.cos(t))}function p(t){return h(Math.sin(t))}var m=t(&quot;d3&quot;),g=t(&quot;tinycolor2&quot;),v=t(&quot;../../plotly&quot;),y=t(&quot;../../registry&quot;),x=t(&quot;../../lib&quot;),b=t(&quot;../../components/color&quot;),_=t(&quot;../../components/drawing&quot;),w=t(&quot;../plots&quot;),M=t(&quot;../cartesian/axes&quot;),k=t(&quot;../../components/dragelement&quot;),A=t(&quot;../cartesian/dragbox&quot;),T=t(&quot;../../components/fx&quot;),S=t(&quot;../../components/titles&quot;),E=t(&quot;../cartesian/select&quot;),L=t(&quot;../../lib/setcursor&quot;),C=t(&quot;../../constants/alignment&quot;).MID_SHIFT,z=x._,D=x.deg2rad,I=x.rad2deg,P=x.wrap360,O=x.wrap180,F=t(&quot;./helpers&quot;).setConvertAngular,R=t(&quot;./constants&quot;),N=n.prototype;e.exports=function(t,e){return new n(t,e)},N.plot=function(t,e){var r=e[this.id];this._hasClipOnAxisFalse=!1;for(var n=0;n&lt;t.length;n++){if(!1===t[n][0].trace.cliponaxis){this._hasClipOnAxisFalse=!0;break}}this.updateLayers(e,r),this.updateLayout(e,r),w.generalUpdatePerTraceModule(this.gd,this,t,r),this.updateFx(e,r)},N.updateLayers=function(t,e){var r=this.layers,n=e.radialaxis,i=e.angularaxis,a=R.layerNames,o=a.indexOf(&quot;frontplot&quot;),s=a.slice(0,o),l=&quot;below traces&quot;===i.layer,c=&quot;below traces&quot;===n.layer;l&amp;&amp;s.push(&quot;angular-axis&quot;),c&amp;&amp;s.push(&quot;radial-axis&quot;),l&amp;&amp;s.push(&quot;angular-line&quot;),c&amp;&amp;s.push(&quot;radial-line&quot;),s.push(&quot;frontplot&quot;),l||s.push(&quot;angular-axis&quot;),c||s.push(&quot;radial-axis&quot;),l||s.push(&quot;angular-line&quot;),c||s.push(&quot;radial-line&quot;);var u=this.framework.selectAll(&quot;.polarsublayer&quot;).data(s,String);u.enter().append(&quot;g&quot;).attr(&quot;class&quot;,function(t){return&quot;polarsublayer &quot;+t}).each(function(t){var e=r[t]=m.select(this);switch(t){case&quot;frontplot&quot;:e.append(&quot;g&quot;).classed(&quot;scatterlayer&quot;,!0);break;case&quot;backplot&quot;:e.append(&quot;g&quot;).classed(&quot;maplayer&quot;,!0);break;case&quot;plotbg&quot;:r.bgcircle=e.append(&quot;path&quot;);break;case&quot;radial-grid&quot;:e.style(&quot;fill&quot;,&quot;none&quot;),e.append(&quot;g&quot;).classed(&quot;x&quot;,1);break;case&quot;angular-grid&quot;:e.style(&quot;fill&quot;,&quot;none&quot;),e.append(&quot;g&quot;).classed(&quot;angular&quot;,1);break;case&quot;radial-line&quot;:e.append(&quot;line&quot;).style(&quot;fill&quot;,&quot;none&quot;);break;case&quot;angular-line&quot;:e.append(&quot;path&quot;).style(&quot;fill&quot;,&quot;none&quot;)}}),u.order()},N.updateLayout=function(t,e){var r=this,n=r.layers,i=t._size,a=e.domain.x,o=e.domain.y;r.xOffset=i.l+i.w*a[0],r.yOffset=i.t+i.h*(1-o[1]);var l,c,f,h,d,p=r.xLength=i.w*(a[1]-a[0]),m=r.yLength=i.h*(o[1]-o[0]),g=r.sector=e.sector,v=r.sectorBBox=function(t){var e,r,n,i,a=t[0],o=t[1]-a,s=P(a),l=s+o,c=Math.cos(D(s)),u=Math.sin(D(s)),f=Math.cos(D(l)),h=Math.sin(D(l));return i=s&lt;=90&amp;&amp;l&gt;=90||s&gt;90&amp;&amp;l&gt;=450?1:u&lt;=0&amp;&amp;h&lt;=0?0:Math.max(u,h),e=s&lt;=180&amp;&amp;l&gt;=180||s&gt;180&amp;&amp;l&gt;=540?-1:c&gt;=0&amp;&amp;f&gt;=0?0:Math.min(c,f),r=s&lt;=270&amp;&amp;l&gt;=270||s&gt;270&amp;&amp;l&gt;=630?-1:u&gt;=0&amp;&amp;h&gt;=0?0:Math.min(u,h),n=l&gt;=360?1:c&lt;=0&amp;&amp;f&lt;=0?0:Math.max(c,f),[e,r,n,i]}(g),y=v[2]-v[0],x=v[3]-v[1],w=m/p,k=Math.abs(x/y);w&gt;k?(l=p,d=(m-(c=p*k))/i.h/2,f=[a[0],a[1]],h=[o[0]+d,o[1]-d]):(c=m,d=(p-(l=m/k))/i.w/2,f=[a[0]+d,a[1]-d],h=[o[0],o[1]]),r.xLength2=l,r.yLength2=c,r.xDomain2=f,r.yDomain2=h;var A=r.xOffset2=i.l+i.w*f[0],T=r.yOffset2=i.t+i.h*(1-h[1]),S=r.radius=l/y,E=r.cx=A-S*v[0],L=r.cy=T+S*v[3],C=r.cxx=E-A,z=r.cyy=L-T;r.updateRadialAxis(t,e),r.updateRadialAxisTitle(t,e),r.updateAngularAxis(t,e);var I=r.radialAxis.range,O=I[1]-I[0],F=r.xaxis={type:&quot;linear&quot;,_id:&quot;x&quot;,range:[v[0]*O,v[2]*O],domain:f};M.setConvert(F,t),F.setScale();var R=r.yaxis={type:&quot;linear&quot;,_id:&quot;y&quot;,range:[v[1]*O,v[3]*O],domain:h};M.setConvert(R,t),R.setScale(),F.isPtWithinRange=function(t){return r.isPtWithinSector(t)},R.isPtWithinRange=function(){return!0},n.frontplot.attr(&quot;transform&quot;,u(A,T)).call(_.setClipUrl,r._hasClipOnAxisFalse?null:r.clipIds.circle),n.bgcircle.attr({d:s(S,g),transform:u(E,L)}).call(b.fill,e.bgcolor),r.clipPaths.circle.select(&quot;path&quot;).attr(&quot;d&quot;,s(S,g)).attr(&quot;transform&quot;,u(C,z)),r.framework.selectAll(&quot;.crisp&quot;).classed(&quot;crisp&quot;,0)},N.updateRadialAxis=function(t,e){var r=this.gd,n=this.layers,s=this.radius,l=this.cx,h=this.cy,d=t._size,p=e.radialaxis,m=e.sector,g=P(m[0]);this.fillViewInitialKey(&quot;radialaxis.angle&quot;,p.angle);var v=this.radialAxis=x.extendFlat({},p,{_axislayer:n[&quot;radial-axis&quot;],_gridlayer:n[&quot;radial-grid&quot;],_id:&quot;x&quot;,_pos:0,side:{counterclockwise:&quot;top&quot;,clockwise:&quot;bottom&quot;}[p.side],domain:[0,s/d.w],anchor:&quot;free&quot;,position:0,_counteraxis:!0});i(v,p,t),M.doAutoRange(v),p.range=v.range.slice(),p._input.range=v.range.slice(),this.fillViewInitialKey(&quot;radialaxis.range&quot;,v.range.slice()),&quot;auto&quot;===v.tickangle&amp;&amp;g&gt;90&amp;&amp;g&lt;=270&amp;&amp;(v.tickangle=180),v._transfn=function(t){return&quot;translate(&quot;+v.l2p(t.x)+&quot;,0)&quot;},v._gridpath=function(t){return o(v.r2p(t.x),m)};var y=a(p);this.radialTickLayout!==y&amp;&amp;(n[&quot;radial-axis&quot;].selectAll(&quot;.xtick&quot;).remove(),this.radialTickLayout=y),M.doTicks(r,v,!0),c(n[&quot;radial-axis&quot;],p.showticklabels||p.ticks,{transform:u(l,h)+f(-p.angle)}),c(n[&quot;radial-grid&quot;],p.showgrid,{transform:u(l,h)}).selectAll(&quot;path&quot;).attr(&quot;transform&quot;,null),c(n[&quot;radial-line&quot;].select(&quot;line&quot;),p.showline,{x1:0,y1:0,x2:s,y2:0,transform:u(l,h)+f(-p.angle)}).attr(&quot;stroke-width&quot;,p.linewidth).call(b.stroke,p.linecolor)},N.updateRadialAxisTitle=function(t,e,r){var n=this.gd,i=this.radius,a=this.cx,o=this.cy,s=e.radialaxis,l=this.id+&quot;title&quot;,c=void 0!==r?r:s.angle,u=D(c),f=Math.cos(u),h=Math.sin(u),d=0;if(s.title){var p=_.bBox(this.layers[&quot;radial-axis&quot;].node()).height,m=s.titlefont.size;d=&quot;counterclockwise&quot;===s.side?-p-.4*m:p+.8*m}this.layers[&quot;radial-axis-title&quot;]=S.draw(n,l,{propContainer:s,propName:this.id+&quot;.radialaxis.title&quot;,placeholder:z(n,&quot;Click to enter radial axis title&quot;),attributes:{x:a+i/2*f+d*h,y:o-i/2*h+d*f,&quot;text-anchor&quot;:&quot;middle&quot;},transform:{rotate:-c}})},N.updateAngularAxis=function(t,e){function r(t){return T.c2rad(t.x,&quot;degrees&quot;)}function n(t){return[v*Math.cos(t),v*Math.sin(t)]}var o=this,h=o.gd,g=o.layers,v=o.radius,y=o.cx,_=o.cy,w=e.angularaxis,k=e.sector,A=k.map(D);o.fillViewInitialKey(&quot;angularaxis.rotation&quot;,w.rotation);var T=o.angularAxis=x.extendFlat({},w,{_axislayer:g[&quot;angular-axis&quot;],_gridlayer:g[&quot;angular-grid&quot;],_id:&quot;angular&quot;,_pos:0,side:&quot;right&quot;,domain:[0,Math.PI],anchor:&quot;free&quot;,position:0,_counteraxis:!0});&quot;linear&quot;===T.type?(T.autorange=!1,l(k)?T.range=k.slice():T.range=A.map(T.unTransformRad).map(I),&quot;radians&quot;===T.thetaunit&amp;&amp;(T.tick0=I(T.tick0),T.dtick=I(T.dtick))):&quot;category&quot;===T.type&amp;&amp;(T._tickFilter=function(t){return o.isPtWithinSector({r:o.radialAxis.range[1],rad:T.c2rad(t.x)})}),i(T,w,t),M.doAutoRange(T),T._transfn=function(t){var e=r(t),i=n(e),a=u(y+i[0],_-i[1]),o=m.select(this);return o&amp;&amp;o.node()&amp;&amp;o.classed(&quot;ticks&quot;)&amp;&amp;(a+=f(-I(e))),a},T._gridpath=function(t){var e=n(r(t));return&quot;M0,0L&quot;+-e[0]+&quot;,&quot;+e[1]};var S=&quot;outside&quot;!==w.ticks?.7:.5;T._labelx=function(t){var e=r(t),n=T._labelStandoff,i=T._pad;return(0===p(e)?0:Math.cos(e)*(n+i+S*t.fontSize))+d(e)*(t.dx+n+i)},T._labely=function(t){var e=r(t),n=T._labelStandoff,i=T._labelShift,a=T._pad;return t.dy+t.fontSize*C-i+-Math.sin(e)*(n+a+S*t.fontSize)},T._labelanchor=function(t,e){var n=r(e);return 0===p(n)?d(n)&gt;0?&quot;start&quot;:&quot;end&quot;:&quot;middle&quot;};var E=a(w);o.angularTickLayout!==E&amp;&amp;(g[&quot;angular-axis&quot;].selectAll(&quot;.angulartick&quot;).remove(),o.angularTickLayout=E),M.doTicks(h,T,!0),c(g[&quot;angular-line&quot;].select(&quot;path&quot;),w.showline,{d:s(v,k),transform:u(y,_)}).attr(&quot;stroke-width&quot;,w.linewidth).call(b.stroke,w.linecolor)},N.updateFx=function(t,e){this.gd._context.staticPlot||(this.updateAngularDrag(t,e),this.updateRadialDrag(t,e),this.updateMainDrag(t,e))},N.updateMainDrag=function(t,e){function r(t,e){var r=t-w,n=e-M;return Math.sqrt(r*r+n*n)}function n(t,e){return Math.atan2(M-e,t-w)}function i(t,e){return[t*Math.cos(e),t*Math.sin(-e)]}function a(t,e){var r=R.cornerLen,n=R.cornerHalfWidth;if(0===t)return s(2*n,S);var a=r/t/2,o=e-a,l=e+a,c=Math.max(0,Math.min(t,x)),u=c-n,f=c+n;return&quot;M&quot;+i(u,o)+&quot;A&quot;+[u,u]+&quot; 0,0,0 &quot;+i(u,l)+&quot;L&quot;+i(f,l)+&quot;A&quot;+[f,f]+&quot; 0,0,1 &quot;+i(f,o)+&quot;Z&quot;}function o(t,e){var i=C+t,o=z+e,l=r(C,z),c=Math.min(r(i,o),x),u=n(C,z),f=n(i,o);l&lt;y?l=0:x-l&lt;y?l=x:c&lt;y?c=0:x-c&lt;y&amp;&amp;(c=x);var h,d;Math.abs(c-l)&gt;p?(l&lt;c?(D=l,I=c):(D=c,I=l,f=[u,u=f][0]),h=P+s(I,S)+s(D,S),d=a(D,u)+a(I,f)):(D=null,I=null,h=P,d=&quot;M0,0Z&quot;),N.attr(&quot;d&quot;,h),j.attr(&quot;d&quot;,d),A.transitionZoombox(N,j,O,F),O=!0}function l(){if(A.removeZoombox(f),null!==D&amp;&amp;null!==I){A.showDoubleClickNotifier(f);var t=c.radialAxis.range,e=t[1]-t[0],r={};r[c.id+&quot;.radialaxis.range&quot;]=[t[0]+D*e/x,t[0]+I*e/x],v.relayout(f,r)}}var c=this,f=c.gd,h=c.layers,d=t._zoomlayer,p=R.MINZOOM,y=R.OFFEDGE,x=c.radius,b=c.cx,_=c.cy,w=c.cxx,M=c.cyy,S=e.sector,L=A.makeDragger(h,&quot;path&quot;,&quot;maindrag&quot;,&quot;crosshair&quot;);m.select(L).attr(&quot;d&quot;,s(x,S)).attr(&quot;transform&quot;,u(b,_));var C,z,D,I,P,O,F,N,j,B={element:L,gd:f,subplot:c.id,plotinfo:{xaxis:c.xaxis,yaxis:c.yaxis},xaxes:[c.xaxis],yaxes:[c.yaxis]};B.prepFn=function(t,e,r){var n=f._fullLayout.dragmode,i=L.getBoundingClientRect();switch(C=e-i.left,z=r-i.top,n){case&quot;zoom&quot;:B.moveFn=o,B.doneFn=l,function(){D=null,I=null,P=s(x,S),O=!1;var t=f._fullLayout[c.id];F=g(t.bgcolor).getLuminance(),(N=A.makeZoombox(d,F,b,_,P)).attr(&quot;fill-rule&quot;,&quot;evenodd&quot;),j=A.makeCorners(d,b,_),A.clearSelect(d)}();break;case&quot;select&quot;:case&quot;lasso&quot;:E(t,e,r,B,n)}},B.clickFn=function(t,e){if(A.removeZoombox(f),2===t){var r={};for(var n in c.viewInitial)r[c.id+&quot;.&quot;+n]=c.viewInitial[n];f.emit(&quot;plotly_doubleclick&quot;,null),v.relayout(f,r)}T.click(f,e,c.id)},L.onmousemove=function(t){T.hover(f,t,c.id),f._fullLayout._lasthover=L,f._fullLayout._hoversubplot=c.id},L.onmouseout=function(t){f._dragging||k.unhover(f,t)},k.init(B)},N.updateRadialDrag=function(t,e){function r(t,e){if(C)C(t,e);else{var r=[t,-e],n=[Math.cos(p),Math.sin(p)],d=Math.abs(x.dot(r,n)/Math.sqrt(x.dot(r,r)));isNaN(d)||(C=d&lt;.5?function(t,e){var r=E+t,n=L+e;z=I(Math.atan2(c-n,r-l));var a=u(l,c)+f(-z);o[&quot;radial-axis&quot;].attr(&quot;transform&quot;,a),o[&quot;radial-line&quot;].select(&quot;line&quot;).attr(&quot;transform&quot;,a);var s=i.gd._fullLayout,h=s[i.id];i.updateRadialAxisTitle(s,h,z)}:function(t,e){var r=x.dot([t,-e],[Math.cos(p),Math.sin(p)]),n=g[1]-b*r/s*.75;if(b&gt;0!=n&gt;g[0])return;P=h.range[1]=n,M.doTicks(a,i.radialAxis,!0),o[&quot;radial-grid&quot;].attr(&quot;transform&quot;,u(l,c)).selectAll(&quot;path&quot;).attr(&quot;transform&quot;,null);var f=P-g[0],d=i.sectorBBox;i.xaxis.range=[d[0]*f,d[2]*f],i.yaxis.range=[d[1]*f,d[3]*f],i.xaxis.setScale(),i.yaxis.setScale();for(var m in i.traceHash){var v=i.traceHash[m],_=x.filterVisible(v),w=v[0][0].trace._module,k=a._fullLayout[i.id];if(w.plot(a,i,_,k),!y.traceIs(m,&quot;gl&quot;))for(var A=0;A&lt;_.length;A++)w.style(a,_[A])}})}}function n(){null!==z?v.relayout(a,i.id+&quot;.radialaxis.angle&quot;,z):null!==P&amp;&amp;v.relayout(a,i.id+&quot;.radialaxis.range[1]&quot;,P)}var i=this,a=i.gd,o=i.layers,s=i.radius,l=i.cx,c=i.cy,h=i.radialAxis,d=e.radialaxis,p=D(d.angle),g=h.range.slice(),b=g[1]-g[0],_=R.radialDragBoxSize,w=_/2;if(d.visible){var T=A.makeRectDragger(o,&quot;radialdrag&quot;,&quot;crosshair&quot;,-w,-w,_,_),S={element:T,gd:a},E=l+(s+w)*Math.cos(p),L=c-(s+w)*Math.sin(p);m.select(T).attr(&quot;transform&quot;,u(E,L));var C,z,P;S.prepFn=function(){C=null,z=null,P=null,S.moveFn=r,S.doneFn=n,A.clearSelect(t._zoomlayer)},S.clampFn=function(t,e){return Math.sqrt(t*t+e*e)&lt;R.MINDRAG&amp;&amp;(t=0,e=0),[t,e]},k.init(S)}},N.updateAngularDrag=function(t,e){function r(t,e){return Math.atan2(g+w-e,t-p-w)}function n(t,e){var n=r(E+t,C+e),i=I(n-j);P=z+i,s.frontplot.attr(&quot;transform&quot;,u(a.xOffset2,a.yOffset2)+f([-i,p,g])),a.clipPaths.circle.select(&quot;path&quot;).attr(&quot;transform&quot;,u(p,g)+f(i)),U.each(function(){var t=m.select(this),e=_.getTranslate(t);t.attr(&quot;transform&quot;,u(e.x,e.y)+f([i]))}),V.each(function(){var t=m.select(this),e=t.select(&quot;text&quot;),r=_.getTranslate(t);t.attr(&quot;transform&quot;,f([i,e.attr(&quot;x&quot;),e.attr(&quot;y&quot;)])+u(r.x,r.y))});var c=a.angularAxis;c.rotation=O(P),&quot;linear&quot;!==c.type||l(b)||(c.range=N.map(D).map(c.unTransformRad).map(I)),F(c),M.doTicks(o,c,!0),a._hasClipOnAxisFalse&amp;&amp;!l(b)&amp;&amp;(a.sector=[N[0]-i,N[1]-i],B.call(_.hideOutsideRangePoints,a));for(var h in a.traceHash)if(y.traceIs(h,&quot;gl&quot;)){var d=a.traceHash[h],v=x.filterVisible(d),w=d[0][0].trace._module,k=o._fullLayout[a.id];w.plot(o,a,v,k)}}function i(){V.select(&quot;text&quot;).attr(&quot;transform&quot;,null);var t={};t[a.id+&quot;.angularaxis.rotation&quot;]=P,v.relayout(o,t)}var a=this,o=a.gd,s=a.layers,c=a.radius,h=a.cx,d=a.cy,p=a.cxx,g=a.cyy,b=e.sector,w=R.angularDragBoxSize,T=A.makeDragger(s,&quot;path&quot;,&quot;angulardrag&quot;,&quot;move&quot;),S={element:T,gd:o};m.select(T).attr(&quot;d&quot;,function(t,e,r){function n(t,e){return[t*Math.cos(e),-t*Math.sin(e)]}function i(t,e,r){return&quot;A&quot;+[t,t]+&quot; &quot;+[0,c,r]+&quot; &quot;+n(t,e)}var a,o,s,c=Math.abs(r[1]-r[0])&lt;=180?0:1;return l(r)?(a=0,s=2*Math.PI,o=Math.PI,&quot;M&quot;+n(t,a)+i(t,o,0)+i(t,s,0)+&quot;ZM&quot;+n(e,a)+i(e,o,1)+i(e,s,1)+&quot;Z&quot;):(a=D(r[0]),s=D(r[1]),&quot;M&quot;+n(t,a)+&quot;L&quot;+n(e,a)+i(e,s,0)+&quot;L&quot;+n(t,s)+i(t,a,1)+&quot;Z&quot;)}(c,c+w,b)).attr(&quot;transform&quot;,u(h,d)).call(L,&quot;move&quot;);var E,C,z,P,N,j,B=s.frontplot.select(&quot;.scatterlayer&quot;).selectAll(&quot;.trace&quot;),U=B.selectAll(&quot;.point&quot;),V=B.selectAll(&quot;.textpoint&quot;);S.prepFn=function(e,o,s){var l=t[a.id];N=l.sector.slice(),z=l.angularaxis.rotation;var c=T.getBoundingClientRect();E=o-c.left,C=s-c.top,j=r(E,C),S.moveFn=n,S.doneFn=i,A.clearSelect(t._zoomlayer)},k.init(S)},N.isPtWithinSector=function(t){var e=this.sector,r=this.radialAxis,n=r.range,i=r.c2r(t.r),a=P(e[0]),o=P(e[1]);a&gt;o&amp;&amp;(o+=360);var s,c,u=P(I(t.rad)),f=u+360;return n[1]&gt;=n[0]?(s=n[0],c=n[1]):(s=n[1],c=n[0]),i&gt;=s&amp;&amp;i&lt;=c&amp;&amp;(l(e)||u&gt;=a&amp;&amp;u&lt;=o||f&gt;=a&amp;&amp;f&lt;=o)},N.fillViewInitialKey=function(t,e){t in this.viewInitial||(this.viewInitial[t]=e)}},{&quot;../../components/color&quot;:618,&quot;../../components/dragelement&quot;:640,&quot;../../components/drawing&quot;:643,&quot;../../components/fx&quot;:660,&quot;../../components/titles&quot;:709,&quot;../../constants/alignment&quot;:716,&quot;../../lib&quot;:743,&quot;../../lib/setcursor&quot;:762,&quot;../../plotly&quot;:784,&quot;../../registry&quot;:873,&quot;../cartesian/axes&quot;:789,&quot;../cartesian/dragbox&quot;:797,&quot;../cartesian/select&quot;:807,&quot;../plots&quot;:852,&quot;./constants&quot;:853,&quot;./helpers&quot;:854,d3:128,tinycolor2:546}],865:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../lib&quot;);e.exports=function(t,e,r,i){function a(t,e){return n.coerce(o,s,c,t,e)}for(var o,s,l=i.type,c=i.attributes,u=i.handleDefaults,f=i.partition||&quot;x&quot;,h=e._subplots[l],d=h.length,p=0;p&lt;d;p++){var m=h[p];o=t[m]?t[m]:t[m]={},e[m]=s={},a(&quot;domain.&quot;+f,[p/d,(p+1)/d]),a(&quot;domain.&quot;+{x:&quot;y&quot;,y:&quot;x&quot;}[f]),i.id=m,u(o,s,a,i)}}},{&quot;../lib&quot;:743}],866:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;./ternary&quot;),i=t(&quot;../../plots/get_data&quot;).getSubplotCalcData,a=t(&quot;../../lib&quot;).counterRegex;r.name=&quot;ternary&quot;,r.attr=&quot;subplot&quot;,r.idRoot=&quot;ternary&quot;,r.idRegex=r.attrRegex=a(&quot;ternary&quot;),r.attributes=t(&quot;./layout/attributes&quot;),r.layoutAttributes=t(&quot;./layout/layout_attributes&quot;),r.supplyLayoutDefaults=t(&quot;./layout/defaults&quot;),r.plot=function(t){for(var e=t._fullLayout,r=t.calcdata,a=e._subplots.ternary,o=0;o&lt;a.length;o++){var s=a[o],l=i(r,&quot;ternary&quot;,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&lt;i.length;a++){var o=i[a],s=n[o]._subplot;!e[o]&amp;&amp;s&amp;&amp;(s.plotContainer.remove(),s.clipDef.remove(),s.clipDefRelative.remove(),s.layers[&quot;a-title&quot;].remove(),s.layers[&quot;b-title&quot;].remove(),s.layers[&quot;c-title&quot;].remove())}}},{&quot;../../lib&quot;:743,&quot;../../plots/get_data&quot;:826,&quot;./layout/attributes&quot;:867,&quot;./layout/defaults&quot;:870,&quot;./layout/layout_attributes&quot;:871,&quot;./ternary&quot;:872}],867:[function(t,e,r){&quot;use strict&quot;;e.exports={subplot:{valType:&quot;subplotid&quot;,dflt:&quot;ternary&quot;,editType:&quot;calc&quot;}}},{}],868:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../cartesian/layout_attributes&quot;),i=t(&quot;../../../lib/extend&quot;).extendFlat;e.exports={title:n.title,titlefont:n.titlefont,color:n.color,tickmode:n.tickmode,nticks:i({},n.nticks,{dflt:6,min:1}),tick0:n.tick0,dtick:n.dtick,tickvals:n.tickvals,ticktext:n.ticktext,ticks:n.ticks,ticklen:n.ticklen,tickwidth:n.tickwidth,tickcolor:n.tickcolor,showticklabels:n.showticklabels,showtickprefix:n.showtickprefix,tickprefix:n.tickprefix,showticksuffix:n.showticksuffix,ticksuffix:n.ticksuffix,showexponent:n.showexponent,exponentformat:n.exponentformat,separatethousands:n.separatethousands,tickfont:n.tickfont,tickangle:n.tickangle,tickformat:n.tickformat,tickformatstops:n.tickformatstops,hoverformat:n.hoverformat,showline:i({},n.showline,{dflt:!0}),linecolor:n.linecolor,linewidth:n.linewidth,showgrid:i({},n.showgrid,{dflt:!0}),gridcolor:n.gridcolor,gridwidth:n.gridwidth,layer:n.layer,min:{valType:&quot;number&quot;,dflt:0,min:0}}},{&quot;../../../lib/extend&quot;:732,&quot;../../cartesian/layout_attributes&quot;:801}],869:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../../lib&quot;),i=t(&quot;./axis_attributes&quot;),a=t(&quot;../../cartesian/tick_label_defaults&quot;),o=t(&quot;../../cartesian/tick_mark_defaults&quot;),s=t(&quot;../../cartesian/tick_value_defaults&quot;),l=t(&quot;../../cartesian/line_grid_defaults&quot;);e.exports=function(t,e,r){function c(r,a){return n.coerce(t,e,i,r,a)}e.type=&quot;linear&quot;;var u=c(&quot;color&quot;),f=u===t.color?u:r.font.color,h=e._name.charAt(0).toUpperCase(),d=&quot;Component &quot;+h,p=c(&quot;title&quot;,d);e._hovertitle=p===d?p:h,n.coerceFont(c,&quot;titlefont&quot;,{family:r.font.family,size:Math.round(1.2*r.font.size),color:f}),c(&quot;min&quot;),s(t,e,c,&quot;linear&quot;),a(t,e,c,&quot;linear&quot;,{noHover:!1}),o(t,e,c,{outerTicks:!0});c(&quot;showticklabels&quot;)&amp;&amp;(n.coerceFont(c,&quot;tickfont&quot;,{family:r.font.family,size:r.font.size,color:f}),c(&quot;tickangle&quot;),c(&quot;tickformat&quot;)),l(t,e,c,{dfltColor:u,bgColor:r.bgColor,blend:60,showLine:!0,showGrid:!0,noZeroLine:!0,attributes:i}),c(&quot;hoverformat&quot;),c(&quot;layer&quot;)}},{&quot;../../../lib&quot;:743,&quot;../../cartesian/line_grid_defaults&quot;:803,&quot;../../cartesian/tick_label_defaults&quot;:809,&quot;../../cartesian/tick_mark_defaults&quot;:810,&quot;../../cartesian/tick_value_defaults&quot;:811,&quot;./axis_attributes&quot;:868}],870:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,n){var a=r(&quot;bgcolor&quot;),o=r(&quot;sum&quot;);n.bgColor=i.combine(a,n.paper_bgcolor);for(var c,u,f,h=0;h&lt;l.length;h++)u=t[c=l[h]]||{},f=e[c]={_name:c,type:&quot;linear&quot;},s(u,f,n);var d=e.aaxis,p=e.baxis,m=e.caxis;d.min+p.min+m.min&gt;=o&amp;&amp;(d.min=0,p.min=0,m.min=0,t.aaxis&amp;&amp;delete t.aaxis.min,t.baxis&amp;&amp;delete t.baxis.min,t.caxis&amp;&amp;delete t.caxis.min)}var i=t(&quot;../../../components/color&quot;),a=t(&quot;../../subplot_defaults&quot;),o=t(&quot;./layout_attributes&quot;),s=t(&quot;./axis_defaults&quot;),l=[&quot;aaxis&quot;,&quot;baxis&quot;,&quot;caxis&quot;];e.exports=function(t,e,r){a(t,e,r,{type:&quot;ternary&quot;,attributes:o,handleDefaults:n,font:e.font,paper_bgcolor:e.paper_bgcolor})}},{&quot;../../../components/color&quot;:618,&quot;../../subplot_defaults&quot;:865,&quot;./axis_defaults&quot;:869,&quot;./layout_attributes&quot;:871}],871:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../../components/color/attributes&quot;),i=t(&quot;../../domain_attributes&quot;),a=t(&quot;./axis_attributes&quot;),o=t(&quot;../../../plot_api/edit_types&quot;).overrideAll;e.exports=o({domain:i({name:&quot;ternary&quot;}),bgcolor:{valType:&quot;color&quot;,dflt:n.background},sum:{valType:&quot;number&quot;,dflt:1,min:0},aaxis:a,baxis:a,caxis:a},&quot;plot&quot;,&quot;from-root&quot;)},{&quot;../../../components/color/attributes&quot;:617,&quot;../../../plot_api/edit_types&quot;:773,&quot;../../domain_attributes&quot;:815,&quot;./axis_attributes&quot;:868}],872:[function(t,e,r){&quot;use strict&quot;;function n(t,e){this.id=t.id,this.graphDiv=t.graphDiv,this.init(e),this.makeFramework(e)}function i(t){a.select(t).selectAll(&quot;.zoombox,.js-zoombox-backdrop,.js-zoombox-menu,.zoombox-corners&quot;).remove()}var a=t(&quot;d3&quot;),o=t(&quot;tinycolor2&quot;),s=t(&quot;../../plotly&quot;),l=t(&quot;../../lib&quot;),c=l._,u=t(&quot;../../components/color&quot;),f=t(&quot;../../components/drawing&quot;),h=t(&quot;../cartesian/set_convert&quot;),d=t(&quot;../../lib/extend&quot;).extendFlat,p=t(&quot;../plots&quot;),m=t(&quot;../cartesian/axes&quot;),g=t(&quot;../../components/dragelement&quot;),v=t(&quot;../../components/fx&quot;),y=t(&quot;../../components/titles&quot;),x=t(&quot;../cartesian/select&quot;),b=t(&quot;../cartesian/constants&quot;);e.exports=n;var _=n.prototype;_.init=function(t){this.container=t._ternarylayer,this.defs=t._defs,this.layoutId=t._uid,this.traceHash={},this.layers={}},_.plot=function(t,e){var r=e[this.id],n=e._size;this._hasClipOnAxisFalse=!1;for(var i=0;i&lt;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(&quot;path&quot;).call(u.fill,r.bgcolor)},_.makeFramework=function(t){var e=t[this.id],r=this.clipId=&quot;clip&quot;+this.layoutId+this.id;this.clipDef=t._clips.selectAll(&quot;#&quot;+r).data([0]),this.clipDef.enter().append(&quot;clipPath&quot;).attr(&quot;id&quot;,r).append(&quot;path&quot;).attr(&quot;d&quot;,&quot;M0,0Z&quot;);var n=this.clipIdRelative=&quot;clip-relative&quot;+this.layoutId+this.id;this.clipDefRelative=t._clips.selectAll(&quot;#&quot;+n).data([0]),this.clipDefRelative.enter().append(&quot;clipPath&quot;).attr(&quot;id&quot;,n).append(&quot;path&quot;).attr(&quot;d&quot;,&quot;M0,0Z&quot;),this.plotContainer=this.container.selectAll(&quot;g.&quot;+this.id).data([0]),this.plotContainer.enter().append(&quot;g&quot;).classed(this.id,!0),this.updateLayers(e),f.setClipUrl(this.layers.backplot,r),f.setClipUrl(this.layers.grids,r)},_.updateLayers=function(t){var e=this.layers,r=[&quot;draglayer&quot;,&quot;plotbg&quot;,&quot;backplot&quot;,&quot;grids&quot;];&quot;below traces&quot;===t.aaxis.layer&amp;&amp;r.push(&quot;aaxis&quot;,&quot;aline&quot;),&quot;below traces&quot;===t.baxis.layer&amp;&amp;r.push(&quot;baxis&quot;,&quot;bline&quot;),&quot;below traces&quot;===t.caxis.layer&amp;&amp;r.push(&quot;caxis&quot;,&quot;cline&quot;),r.push(&quot;frontplot&quot;),&quot;above traces&quot;===t.aaxis.layer&amp;&amp;r.push(&quot;aaxis&quot;,&quot;aline&quot;),&quot;above traces&quot;===t.baxis.layer&amp;&amp;r.push(&quot;baxis&quot;,&quot;bline&quot;),&quot;above traces&quot;===t.caxis.layer&amp;&amp;r.push(&quot;caxis&quot;,&quot;cline&quot;);var n=this.plotContainer.selectAll(&quot;g.toplevel&quot;).data(r,String),i=[&quot;agrid&quot;,&quot;bgrid&quot;,&quot;cgrid&quot;];n.enter().append(&quot;g&quot;).attr(&quot;class&quot;,function(t){return&quot;toplevel &quot;+t}).each(function(t){var r=a.select(this);e[t]=r,&quot;frontplot&quot;===t?r.append(&quot;g&quot;).classed(&quot;scatterlayer&quot;,!0):&quot;backplot&quot;===t?r.append(&quot;g&quot;).classed(&quot;maplayer&quot;,!0):&quot;plotbg&quot;===t?r.append(&quot;path&quot;).attr(&quot;d&quot;,&quot;M0,0Z&quot;):&quot;aline&quot;===t||&quot;bline&quot;===t||&quot;cline&quot;===t?r.append(&quot;path&quot;):&quot;grids&quot;===t&amp;&amp;i.forEach(function(t){e[t]=r.append(&quot;g&quot;).classed(&quot;grid &quot;+t,!0);var n=&quot;bgrid&quot;===t?&quot;x&quot;:&quot;y&quot;;e[t].append(&quot;g&quot;).classed(n,!0)})}),n.order()};var w=Math.sqrt(4/3);_.adjustLayout=function(t,e){var r,n,i,a,o,s,l=this,c=t.domain,p=(c.x[0]+c.x[1])/2,m=(c.y[0]+c.y[1])/2,g=c.x[1]-c.x[0],v=c.y[1]-c.y[0],y=g*e.w,x=v*e.h,b=t.sum,_=t.aaxis.min,M=t.baxis.min,k=t.caxis.min;y&gt;w*x?i=(a=x)*w:a=(i=y)/w,o=g*i/y,s=v*a/x,r=e.l+e.w*p-i/2,n=e.t+e.h*(1-m)-a/2,l.x0=r,l.y0=n,l.w=i,l.h=a,l.sum=b,l.xaxis={type:&quot;linear&quot;,range:[_+2*k-b,b-_-2*M],domain:[p-o/2,p+o/2],_id:&quot;x&quot;},h(l.xaxis,l.graphDiv._fullLayout),l.xaxis.setScale(),l.xaxis.isPtWithinRange=function(t){return t.a&gt;=l.aaxis.range[0]&amp;&amp;t.a&lt;=l.aaxis.range[1]&amp;&amp;t.b&gt;=l.baxis.range[1]&amp;&amp;t.b&lt;=l.baxis.range[0]&amp;&amp;t.c&gt;=l.caxis.range[1]&amp;&amp;t.c&lt;=l.caxis.range[0]},l.yaxis={type:&quot;linear&quot;,range:[_,b-M-k],domain:[m-s/2,m+s/2],_id:&quot;y&quot;},h(l.yaxis,l.graphDiv._fullLayout),l.yaxis.setScale(),l.yaxis.isPtWithinRange=function(){return!0};var A=l.yaxis.domain[0],T=l.aaxis=d({},t.aaxis,{visible:!0,range:[_,b-M-k],side:&quot;left&quot;,_counterangle:30,tickangle:(+t.aaxis.tickangle||0)-30,domain:[A,A+s*w],_axislayer:l.layers.aaxis,_gridlayer:l.layers.agrid,_pos:0,_id:&quot;y&quot;,_length:i,_gridpath:&quot;M0,0l&quot;+a+&quot;,-&quot;+i/2});h(T,l.graphDiv._fullLayout),T.setScale();var S=l.baxis=d({},t.baxis,{visible:!0,range:[b-_-k,M],side:&quot;bottom&quot;,_counterangle:30,domain:l.xaxis.domain,_axislayer:l.layers.baxis,_gridlayer:l.layers.bgrid,_counteraxis:l.aaxis,_pos:0,_id:&quot;x&quot;,_length:i,_gridpath:&quot;M0,0l-&quot;+i/2+&quot;,-&quot;+a});h(S,l.graphDiv._fullLayout),S.setScale(),T._counteraxis=S;var E=l.caxis=d({},t.caxis,{visible:!0,range:[b-_-M,k],side:&quot;right&quot;,_counterangle:30,tickangle:(+t.caxis.tickangle||0)+30,domain:[A,A+s*w],_axislayer:l.layers.caxis,_gridlayer:l.layers.cgrid,_counteraxis:l.baxis,_pos:0,_id:&quot;y&quot;,_length:i,_gridpath:&quot;M0,0l-&quot;+a+&quot;,&quot;+i/2});h(E,l.graphDiv._fullLayout),E.setScale();var L=&quot;M&quot;+r+&quot;,&quot;+(n+a)+&quot;h&quot;+i+&quot;l-&quot;+i/2+&quot;,-&quot;+a+&quot;Z&quot;;l.clipDef.select(&quot;path&quot;).attr(&quot;d&quot;,L),l.layers.plotbg.select(&quot;path&quot;).attr(&quot;d&quot;,L);var C=&quot;M0,&quot;+a+&quot;h&quot;+i+&quot;l-&quot;+i/2+&quot;,-&quot;+a+&quot;Z&quot;;l.clipDefRelative.select(&quot;path&quot;).attr(&quot;d&quot;,C);var z=&quot;translate(&quot;+r+&quot;,&quot;+n+&quot;)&quot;;l.plotContainer.selectAll(&quot;.scatterlayer,.maplayer&quot;).attr(&quot;transform&quot;,z),l.clipDefRelative.select(&quot;path&quot;).attr(&quot;transform&quot;,null);var D=&quot;translate(&quot;+(r-S._offset)+&quot;,&quot;+(n+a)+&quot;)&quot;;l.layers.baxis.attr(&quot;transform&quot;,D),l.layers.bgrid.attr(&quot;transform&quot;,D);var I=&quot;translate(&quot;+(r+i/2)+&quot;,&quot;+n+&quot;)rotate(30)translate(0,-&quot;+T._offset+&quot;)&quot;;l.layers.aaxis.attr(&quot;transform&quot;,I),l.layers.agrid.attr(&quot;transform&quot;,I);var P=&quot;translate(&quot;+(r+i/2)+&quot;,&quot;+n+&quot;)rotate(-30)translate(0,-&quot;+E._offset+&quot;)&quot;;l.layers.caxis.attr(&quot;transform&quot;,P),l.layers.cgrid.attr(&quot;transform&quot;,P),l.drawAxes(!0),l.plotContainer.selectAll(&quot;.crisp&quot;).classed(&quot;crisp&quot;,!1),l.layers.aline.select(&quot;path&quot;).attr(&quot;d&quot;,T.showline?&quot;M&quot;+r+&quot;,&quot;+(n+a)+&quot;l&quot;+i/2+&quot;,-&quot;+a:&quot;M0,0&quot;).call(u.stroke,T.linecolor||&quot;#000&quot;).style(&quot;stroke-width&quot;,(T.linewidth||0)+&quot;px&quot;),l.layers.bline.select(&quot;path&quot;).attr(&quot;d&quot;,S.showline?&quot;M&quot;+r+&quot;,&quot;+(n+a)+&quot;h&quot;+i:&quot;M0,0&quot;).call(u.stroke,S.linecolor||&quot;#000&quot;).style(&quot;stroke-width&quot;,(S.linewidth||0)+&quot;px&quot;),l.layers.cline.select(&quot;path&quot;).attr(&quot;d&quot;,E.showline?&quot;M&quot;+(r+i/2)+&quot;,&quot;+n+&quot;l&quot;+i/2+&quot;,&quot;+a:&quot;M0,0&quot;).call(u.stroke,E.linecolor||&quot;#000&quot;).style(&quot;stroke-width&quot;,(E.linewidth||0)+&quot;px&quot;),l.graphDiv._context.staticPlot||l.initInteractions(),f.setClipUrl(l.layers.frontplot,l._hasClipOnAxisFalse?null:l.clipId)},_.drawAxes=function(t){var e=this.graphDiv,r=this.id.substr(7)+&quot;title&quot;,n=this.aaxis,i=this.baxis,a=this.caxis;if(m.doTicks(e,n,!0),m.doTicks(e,i,!0),m.doTicks(e,a,!0),t){var o=Math.max(n.showticklabels?n.tickfont.size/2:0,(a.showticklabels?.75*a.tickfont.size:0)+(&quot;outside&quot;===a.ticks?.87*a.ticklen:0));this.layers[&quot;a-title&quot;]=y.draw(e,&quot;a&quot;+r,{propContainer:n,propName:this.id+&quot;.aaxis.title&quot;,placeholder:c(e,&quot;Click to enter Component A title&quot;),attributes:{x:this.x0+this.w/2,y:this.y0-n.titlefont.size/3-o,&quot;text-anchor&quot;:&quot;middle&quot;}});var s=(i.showticklabels?i.tickfont.size:0)+(&quot;outside&quot;===i.ticks?i.ticklen:0)+3;this.layers[&quot;b-title&quot;]=y.draw(e,&quot;b&quot;+r,{propContainer:i,propName:this.id+&quot;.baxis.title&quot;,placeholder:c(e,&quot;Click to enter Component B title&quot;),attributes:{x:this.x0-s,y:this.y0+this.h+.83*i.titlefont.size+s,&quot;text-anchor&quot;:&quot;middle&quot;}}),this.layers[&quot;c-title&quot;]=y.draw(e,&quot;c&quot;+r,{propContainer:a,propName:this.id+&quot;.caxis.title&quot;,placeholder:c(e,&quot;Click to enter Component C title&quot;),attributes:{x:this.x0+this.w+s,y:this.y0+this.h+.83*a.titlefont.size+s,&quot;text-anchor&quot;:&quot;middle&quot;}})}};var M=b.MINZOOM/2+.87,k=&quot;m-0.87,.5h&quot;+M+&quot;v3h-&quot;+(M+5.2)+&quot;l&quot;+(M/2+2.6)+&quot;,-&quot;+(.87*M+4.5)+&quot;l2.6,1.5l-&quot;+M/2+&quot;,&quot;+.87*M+&quot;Z&quot;,A=&quot;m0.87,.5h-&quot;+M+&quot;v3h&quot;+(M+5.2)+&quot;l-&quot;+(M/2+2.6)+&quot;,-&quot;+(.87*M+4.5)+&quot;l-2.6,1.5l&quot;+M/2+&quot;,&quot;+.87*M+&quot;Z&quot;,T=&quot;m0,1l&quot;+M/2+&quot;,&quot;+.87*M+&quot;l2.6,-1.5l-&quot;+(M/2+2.6)+&quot;,-&quot;+(.87*M+4.5)+&quot;l-&quot;+(M/2+2.6)+&quot;,&quot;+(.87*M+4.5)+&quot;l2.6,1.5l&quot;+M/2+&quot;,-&quot;+.87*M+&quot;Z&quot;,S=&quot;m0.5,0.5h5v-2h-5v-5h-2v5h-5v2h5v5h2Z&quot;,E=!0;_.initInteractions=function(){function t(t,e){return 1-e/O.h}function e(t,e){return 1-(t+(O.h-e)/Math.sqrt(3))/O.w}function r(t,e){return(t-(O.h-e)/Math.sqrt(3))/O.w}function n(n,i){var a=m+n,o=y+i,s=Math.max(0,Math.min(1,t(0,y),t(0,o))),l=Math.max(0,Math.min(1,e(m,y),e(a,o))),c=Math.max(0,Math.min(1,r(m,y),r(a,o))),u=(s/2+c)*O.w,f=(1-s/2-l)*O.w,h=(u+f)/2,d=f-u,p=(1-s)*O.h,g=p-d/w;d&lt;b.MINZOOM?(L=_,I.attr(&quot;d&quot;,z),P.attr(&quot;d&quot;,&quot;M0,0Z&quot;)):(L={a:_.a+s*M,b:_.b+l*M,c:_.c+c*M},I.attr(&quot;d&quot;,z+&quot;M&quot;+u+&quot;,&quot;+p+&quot;H&quot;+f+&quot;L&quot;+h+&quot;,&quot;+g+&quot;L&quot;+u+&quot;,&quot;+p+&quot;Z&quot;),P.attr(&quot;d&quot;,&quot;M&quot;+m+&quot;,&quot;+y+S+&quot;M&quot;+u+&quot;,&quot;+p+k+&quot;M&quot;+f+&quot;,&quot;+p+A+&quot;M&quot;+h+&quot;,&quot;+g+T)),D||(I.transition().style(&quot;fill&quot;,C&gt;.2?&quot;rgba(0,0,0,0.4)&quot;:&quot;rgba(255,255,255,0.3)&quot;).duration(200),P.transition().style(&quot;opacity&quot;,1).duration(200),D=!0)}function a(){if(i(R),L!==_){var t={};t[O.id+&quot;.aaxis.min&quot;]=L.a,t[O.id+&quot;.baxis.min&quot;]=L.b,t[O.id+&quot;.caxis.min&quot;]=L.c,s.relayout(R,t),E&amp;&amp;R.data&amp;&amp;R._context.showTips&amp;&amp;(l.notifier(c(R,&quot;Double-click to zoom back out&quot;),&quot;long&quot;),E=!1)}}function h(t,e){var r=t/O.xaxis._m,n=e/O.yaxis._m,i=[(L={a:_.a-n,b:_.b+(r+n)/2,c:_.c-(r-n)/2}).a,L.b,L.c].sort(),a=i.indexOf(L.a),o=i.indexOf(L.b),s=i.indexOf(L.c);i[0]&lt;0&amp;&amp;(i[1]+i[0]/2&lt;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),L={a:i[a],b:i[o],c:i[s]},e=(_.a-L.a)*O.yaxis._m,t=(_.c-L.c-_.b+L.b)*O.xaxis._m);var l=&quot;translate(&quot;+(O.x0+t)+&quot;,&quot;+(O.y0+e)+&quot;)&quot;;O.plotContainer.selectAll(&quot;.scatterlayer,.maplayer&quot;).attr(&quot;transform&quot;,l);var c=&quot;translate(&quot;+-t+&quot;,&quot;+-e+&quot;)&quot;;O.clipDefRelative.select(&quot;path&quot;).attr(&quot;transform&quot;,c),O.aaxis.range=[L.a,O.sum-L.b-L.c],O.baxis.range=[O.sum-L.a-L.c,L.b],O.caxis.range=[O.sum-L.a-L.b,L.c],O.drawAxes(!1),O.plotContainer.selectAll(&quot;.crisp&quot;).classed(&quot;crisp&quot;,!1),O._hasClipOnAxisFalse&amp;&amp;O.plotContainer.select(&quot;.scatterlayer&quot;).selectAll(&quot;.trace&quot;).call(f.hideOutsideRangePoints,O)}function d(){var t={};t[O.id+&quot;.aaxis.min&quot;]=L.a,t[O.id+&quot;.baxis.min&quot;]=L.b,t[O.id+&quot;.caxis.min&quot;]=L.c,s.relayout(R,t)}function p(){N.selectAll(&quot;.select-outline&quot;).remove()}var m,y,_,M,L,C,z,D,I,P,O=this,F=O.layers.plotbg.select(&quot;path&quot;).node(),R=O.graphDiv,N=R._fullLayout._zoomlayer,j={element:F,gd:R,plotinfo:{xaxis:O.xaxis,yaxis:O.yaxis},subplot:O.id,prepFn:function(t,e,r){j.xaxes=[O.xaxis],j.yaxes=[O.yaxis];var i=R._fullLayout.dragmode;t.shiftKey&amp;&amp;(i=&quot;pan&quot;===i?&quot;zoom&quot;:&quot;pan&quot;),j.minDrag=&quot;lasso&quot;===i?1:void 0,&quot;zoom&quot;===i?(j.moveFn=n,j.doneFn=a,function(t,e,r){var n=F.getBoundingClientRect();m=e-n.left,y=r-n.top,_={a:O.aaxis.range[0],b:O.baxis.range[1],c:O.caxis.range[1]},L=_,M=O.aaxis.range[1]-_.a,C=o(O.graphDiv._fullLayout[O.id].bgcolor).getLuminance(),z=&quot;M0,&quot;+O.h+&quot;L&quot;+O.w/2+&quot;, 0L&quot;+O.w+&quot;,&quot;+O.h+&quot;Z&quot;,D=!1,I=N.append(&quot;path&quot;).attr(&quot;class&quot;,&quot;zoombox&quot;).attr(&quot;transform&quot;,&quot;translate(&quot;+O.x0+&quot;, &quot;+O.y0+&quot;)&quot;).style({fill:C&gt;.2?&quot;rgba(0,0,0,0)&quot;:&quot;rgba(255,255,255,0)&quot;,&quot;stroke-width&quot;:0}).attr(&quot;d&quot;,z),P=N.append(&quot;path&quot;).attr(&quot;class&quot;,&quot;zoombox-corners&quot;).attr(&quot;transform&quot;,&quot;translate(&quot;+O.x0+&quot;, &quot;+O.y0+&quot;)&quot;).style({fill:u.background,stroke:u.defaultLine,&quot;stroke-width&quot;:1,opacity:0}).attr(&quot;d&quot;,&quot;M0,0Z&quot;),p()}(0,e,r)):&quot;pan&quot;===i?(j.moveFn=h,j.doneFn=d,_={a:O.aaxis.range[0],b:O.baxis.range[1],c:O.caxis.range[1]},L=_,p()):&quot;select&quot;!==i&amp;&amp;&quot;lasso&quot;!==i||x(t,e,r,j,i)},clickFn:function(t,e){if(i(R),2===t){var r={};r[O.id+&quot;.aaxis.min&quot;]=0,r[O.id+&quot;.baxis.min&quot;]=0,r[O.id+&quot;.caxis.min&quot;]=0,R.emit(&quot;plotly_doubleclick&quot;,null),s.relayout(R,r)}v.click(R,e,O.id)}};F.onmousemove=function(t){v.hover(R,t,O.id),R._fullLayout._lasthover=F,R._fullLayout._hoversubplot=O.id},F.onmouseout=function(t){R._dragging||g.unhover(R,t)},g.init(j)}},{&quot;../../components/color&quot;:618,&quot;../../components/dragelement&quot;:640,&quot;../../components/drawing&quot;:643,&quot;../../components/fx&quot;:660,&quot;../../components/titles&quot;:709,&quot;../../lib&quot;:743,&quot;../../lib/extend&quot;:732,&quot;../../plotly&quot;:784,&quot;../cartesian/axes&quot;:789,&quot;../cartesian/constants&quot;:794,&quot;../cartesian/select&quot;:807,&quot;../cartesian/set_convert&quot;:808,&quot;../plots&quot;:852,d3:128,tinycolor2:546}],873:[function(t,e,r){&quot;use strict&quot;;function n(t){if(t.layoutAttributes){var e=t.layoutAttributes._arrayAttrRegexps;if(e)for(var n=0;n&lt;e.length;n++)u(r.layoutArrayRegexes,e[n])}}function i(t,e){var n=r.componentsRegistry[t].schema;if(n&amp;&amp;n.traces){var i=n.traces[e];i&amp;&amp;d(r.modules[e]._module.attributes,i)}}function a(t,e){var n=r.componentsRegistry[t].schema;if(n&amp;&amp;n.transforms){var i=n.transforms[e];i&amp;&amp;d(r.transformsRegistry[e].attributes,i)}}function o(t,e){var n=r.componentsRegistry[t].schema;if(n&amp;&amp;n.subplots){var i=r.subplotsRegistry[e],a=i.layoutAttributes,o=&quot;subplot&quot;===i.attr?i.name:i.attr;Array.isArray(o)&amp;&amp;(o=o[0]);var s=n.subplots[o];a&amp;&amp;s&amp;&amp;d(a,s)}}function s(t){return&quot;object&quot;==typeof t&amp;&amp;(t=t.type),t}var l=t(&quot;./lib/loggers&quot;),c=t(&quot;./lib/noop&quot;),u=t(&quot;./lib/push_unique&quot;),f=t(&quot;./lib/extend&quot;),h=f.extendFlat,d=f.extendDeepAll,p=t(&quot;./plots/attributes&quot;),m=t(&quot;./plots/layout_attributes&quot;);r.modules={},r.allCategories={},r.allTypes=[],r.subplotsRegistry={},r.transformsRegistry={},r.componentsRegistry={},r.layoutArrayContainers=[],r.layoutArrayRegexes=[],r.traceLayoutAttributes={},r.localeRegistry={},r.register=function(t,e,n,a){if(r.modules[e])l.log(&quot;Type &quot;+e+&quot; already registered&quot;);else{for(var o={},s=0;s&lt;n.length;s++)o[n[s]]=!0,r.allCategories[n[s]]=!0;r.modules[e]={_module:t,categories:o},a&amp;&amp;Object.keys(a).length&amp;&amp;(r.modules[e].meta=a),r.allTypes.push(e);for(var c in r.componentsRegistry)i(c,e);t.layoutAttributes&amp;&amp;h(r.traceLayoutAttributes,t.layoutAttributes)}},r.registerSubplot=function(t){var e=t.name;if(r.subplotsRegistry[e])l.log(&quot;Plot type &quot;+e+&quot; already registered.&quot;);else{n(t),r.subplotsRegistry[e]=t;for(var i in r.componentsRegistry)o(i,t.name)}},r.registerComponent=function(t){var e=t.name;r.componentsRegistry[e]=t,t.layoutAttributes&amp;&amp;(t.layoutAttributes._isLinkedToArray&amp;&amp;u(r.layoutArrayContainers,e),n(t));for(var s in r.modules)i(e,s);for(var l in r.subplotsRegistry)o(e,l);for(var c in r.transformsRegistry)a(e,c);t.schema&amp;&amp;t.schema.layout&amp;&amp;d(m,t.schema.layout)},r.registerTransform=function(t){r.transformsRegistry[t.name]=t;for(var e in r.componentsRegistry)a(e,t.name)},r.getModule=function(t){var e=r.modules[s(t)];return!!e&amp;&amp;e._module},r.traceIs=function(t,e){if(&quot;various&quot;===(t=s(t)))return!1;var n=r.modules[t];return n||(t&amp;&amp;&quot;area&quot;!==t&amp;&amp;l.log(&quot;Unrecognized trace type &quot;+t+&quot;.&quot;),n=r.modules[p.type.dflt]),!!n.categories[e]},r.getTransformIndices=function(t,e){for(var r=[],n=t.transforms||[],i=0;i&lt;n.length;i++)n[i].type===e&amp;&amp;r.push(i);return r},r.hasTransform=function(t,e){for(var r=t.transforms||[],n=0;n&lt;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]||c:c},r.registerLocale=function(t){var e=t.name,n=e.split(&quot;-&quot;)[0],i=t.dictionary,a=t.format,o=i&amp;&amp;Object.keys(i).length,s=a&amp;&amp;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&amp;&amp;u.dictionary===c.dictionary&amp;&amp;(u.dictionary=i),s&amp;&amp;u.format===c.format&amp;&amp;(u.format=a)}o&amp;&amp;(c.dictionary=i),s&amp;&amp;(c.format=a)}},{&quot;./lib/extend&quot;:732,&quot;./lib/loggers&quot;:748,&quot;./lib/noop&quot;:752,&quot;./lib/push_unique&quot;:756,&quot;./plots/attributes&quot;:787,&quot;./plots/layout_attributes&quot;:843}],874:[function(t,e,r){&quot;use strict&quot;;function n(t){var e;switch(t){case&quot;themes__thumb&quot;:e={autosize:!0,width:150,height:150,title:&quot;&quot;,showlegend:!1,margin:{l:5,r:5,t:5,b:5,pad:0},annotations:[]};break;case&quot;thumbnail&quot;:e={title:&quot;&quot;,hidesources:!0,showlegend:!1,borderwidth:0,bordercolor:&quot;&quot;,margin:{l:1,r:1,t:1,b:1,pad:0},annotations:[]};break;default:e={}}return e}function i(t){return[&quot;xaxis&quot;,&quot;yaxis&quot;,&quot;zaxis&quot;].indexOf(t.slice(0,5))&gt;-1}var a=t(&quot;../lib&quot;),o=a.extendFlat,s=a.extendDeep;e.exports=function(t,e){t.framework&amp;&amp;t.framework.isPolar&amp;&amp;(t=t.framework.getConfig());var r,a=t.data,l=t.layout,c=s([],a),u=s({},l,n(e.tileClass)),f=t._context||{};if(e.width&amp;&amp;(u.width=e.width),e.height&amp;&amp;(u.height=e.height),&quot;thumbnail&quot;===e.tileClass||&quot;themes__thumb&quot;===e.tileClass){u.annotations=[];var h=Object.keys(u);for(r=0;r&lt;h.length;r++)i(h[r])&amp;&amp;(u[h[r]].title=&quot;&quot;);for(r=0;r&lt;c.length;r++){var d=c[r];d.showscale=!1,d.marker&amp;&amp;(d.marker.showscale=!1),&quot;pie&quot;===d.type&amp;&amp;(d.textposition=&quot;none&quot;)}}if(Array.isArray(e.annotations))for(r=0;r&lt;e.annotations.length;r++)u.annotations.push(e.annotations[r]);var p=Object.keys(u).filter(function(t){return t.match(/^scene\d*$/)});if(p.length){var m={};for(&quot;thumbnail&quot;===e.tileClass&amp;&amp;(m={title:&quot;&quot;,showaxeslabels:!1,showticklabels:!1,linetickenable:!1}),r=0;r&lt;p.length;r++){var g=u[p[r]];g.xaxis||(g.xaxis={}),g.yaxis||(g.yaxis={}),g.zaxis||(g.zaxis={}),o(g.xaxis,m),o(g.yaxis,m),o(g.zaxis,m),g._scene=null}}var v=document.createElement(&quot;div&quot;);e.tileClass&amp;&amp;(v.className=e.tileClass);var y={gd:v,td:v,layout:u,data:c,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:f.mapboxAccessToken}};return&quot;transparent&quot;!==e.setBackground&amp;&amp;(y.config.setBackground=e.setBackground||&quot;opaque&quot;),y.gd.defaultLayout=n(e.tileClass),y}},{&quot;../lib&quot;:743}],875:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../plot_api/to_image&quot;),i=t(&quot;../lib&quot;),a=t(&quot;./filesaver&quot;);e.exports=function(t,e){return e=e||{},e.format=e.format||&quot;png&quot;,new Promise(function(r,o){t._snapshotInProgress&amp;&amp;o(new Error(&quot;Snapshotting already in progress.&quot;)),i.isIE()&amp;&amp;&quot;svg&quot;!==e.format&amp;&amp;o(new Error(&quot;Sorry IE does not support downloading from canvas. Try {format:'svg'} instead.&quot;)),t._snapshotInProgress=!0;var s=n(t,e),l=e.filename||t.fn||&quot;newplot&quot;;l+=&quot;.&quot;+e.format,s.then(function(e){return t._snapshotInProgress=!1,a(e,l)}).then(function(t){r(t)}).catch(function(e){t._snapshotInProgress=!1,o(e)})})}},{&quot;../lib&quot;:743,&quot;../plot_api/to_image&quot;:782,&quot;./filesaver&quot;:876}],876:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t,e){var r=document.createElement(&quot;a&quot;),n=&quot;download&quot;in r,i=/Version\/[\d\.]+.*Safari/.test(navigator.userAgent);return new Promise(function(a,o){if(&quot;undefined&quot;!=typeof navigator&amp;&amp;/MSIE [1-9]\./.test(navigator.userAgent)&amp;&amp;o(new Error(&quot;IE &lt; 10 unsupported&quot;)),i&amp;&amp;(document.location.href=&quot;data:application/octet-stream&quot;+t.slice(t.search(/[,;]/)),a(e)),e||(e=&quot;download&quot;),n&amp;&amp;(r.href=t,r.download=e,document.body.appendChild(r),r.click(),document.body.removeChild(r),a(e)),&quot;undefined&quot;!=typeof navigator&amp;&amp;navigator.msSaveBlob){var s=t.split(/^data:image\/svg\+xml,/)[1],l=decodeURIComponent(s);navigator.msSaveBlob(new Blob([l]),e),a(e)}o(new Error(&quot;download error&quot;))})}},{}],877:[function(t,e,r){&quot;use strict&quot;;r.getDelay=function(t){return t._has&amp;&amp;(t._has(&quot;gl3d&quot;)||t._has(&quot;gl2d&quot;))?500:0},r.getRedrawFunc=function(t){var e=t._fullLayout||{};if(!(!(e._has&amp;&amp;e._has(&quot;polar&quot;))&amp;&amp;t.data&amp;&amp;t.data[0]&amp;&amp;t.data[0].r))return function(){(t.calcdata||[]).forEach(function(t){t[0]&amp;&amp;t[0].t&amp;&amp;t[0].t.cb&amp;&amp;t[0].t.cb()})}}},{}],878:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;./helpers&quot;),i={getDelay:n.getDelay,getRedrawFunc:n.getRedrawFunc,clone:t(&quot;./cloneplot&quot;),toSVG:t(&quot;./tosvg&quot;),svgToImg:t(&quot;./svgtoimg&quot;),toImage:t(&quot;./toimage&quot;),downloadImage:t(&quot;./download&quot;)};e.exports=i},{&quot;./cloneplot&quot;:874,&quot;./download&quot;:875,&quot;./helpers&quot;:877,&quot;./svgtoimg&quot;:879,&quot;./toimage&quot;:880,&quot;./tosvg&quot;:881}],879:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../lib&quot;),i=t(&quot;events&quot;).EventEmitter;e.exports=function(t){var e=t.emitter||new i,r=new Promise(function(i,a){var o=window.Image,s=t.svg,l=t.format||&quot;png&quot;;if(n.isIE()&amp;&amp;&quot;svg&quot;!==l){var c=new Error(&quot;Sorry IE does not support downloading from canvas. Try {format:'svg'} instead.&quot;);return a(c),t.promise?r:e.emit(&quot;error&quot;,c)}var u=t.canvas,f=t.scale||1,h=f*(t.width||300),d=f*(t.height||150),p=u.getContext(&quot;2d&quot;),m=new o,g=&quot;data:image/svg+xml,&quot;+encodeURIComponent(s);u.width=h,u.height=d,m.onload=function(){var r;switch(&quot;svg&quot;!==l&amp;&amp;p.drawImage(m,0,0,h,d),l){case&quot;jpeg&quot;:r=u.toDataURL(&quot;image/jpeg&quot;);break;case&quot;png&quot;:r=u.toDataURL(&quot;image/png&quot;);break;case&quot;webp&quot;:r=u.toDataURL(&quot;image/webp&quot;);break;case&quot;svg&quot;:r=g;break;default:var n=&quot;Image format is not jpeg, png, svg or webp.&quot;;if(a(new Error(n)),!t.promise)return e.emit(&quot;error&quot;,n)}i(r),t.promise||e.emit(&quot;success&quot;,r)},m.onerror=function(r){if(a(r),!t.promise)return e.emit(&quot;error&quot;,r)},m.src=g});return t.promise?r:e}},{&quot;../lib&quot;:743,events:138}],880:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;events&quot;).EventEmitter,i=t(&quot;../plotly&quot;),a=t(&quot;../lib&quot;),o=t(&quot;./helpers&quot;),s=t(&quot;./cloneplot&quot;),l=t(&quot;./tosvg&quot;),c=t(&quot;./svgtoimg&quot;);e.exports=function(t,e){var r=new n,u=s(t,{format:&quot;png&quot;}),f=u.gd;f.style.position=&quot;absolute&quot;,f.style.left=&quot;-5000px&quot;,document.body.appendChild(f);var h=o.getRedrawFunc(f);return i.plot(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(&quot;canvas&quot;);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&amp;&amp;document.body.removeChild(f)}},t)}).catch(function(t){r.emit(&quot;error&quot;,t)}),r}},{&quot;../lib&quot;:743,&quot;../plotly&quot;:784,&quot;./cloneplot&quot;:874,&quot;./helpers&quot;:877,&quot;./svgtoimg&quot;:879,&quot;./tosvg&quot;:881,events:138}],881:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;d3&quot;),i=t(&quot;../lib&quot;),a=t(&quot;../components/drawing&quot;),o=t(&quot;../components/color&quot;),s=t(&quot;../constants/xmlns_namespaces&quot;),l=/&quot;/g,c=&quot;TOBESTRIPPED&quot;,u=new RegExp('(&quot;'+c+&quot;)|(&quot;+c+'&quot;)',&quot;g&quot;);e.exports=function(t,e,r){var f,h=t._fullLayout,d=h._paper,p=h._toppaper,m=h.width,g=h.height;d.insert(&quot;rect&quot;,&quot;:first-child&quot;).call(a.setRect,0,0,m,g).call(o.fill,h.paper_bgcolor);var v=h._basePlotModules||[];for(f=0;f&lt;v.length;f++){var y=v[f];y.toSVG&amp;&amp;y.toSVG(t)}if(p){var x=p.node().childNodes,b=Array.prototype.slice.call(x);for(f=0;f&lt;b.length;f++){var _=b[f];_.childNodes.length&amp;&amp;d.node().appendChild(_)}}h._draggers&amp;&amp;h._draggers.remove(),d.node().style.background=&quot;&quot;,d.selectAll(&quot;text&quot;).attr({&quot;data-unformatted&quot;:null,&quot;data-math&quot;:null}).each(function(){var t=n.select(this);if(&quot;hidden&quot;!==this.style.visibility&amp;&amp;&quot;none&quot;!==this.style.display){t.style({visibility:null,display:null});var e=this.style.fontFamily;e&amp;&amp;-1!==e.indexOf('&quot;')&amp;&amp;t.style(&quot;font-family&quot;,e.replace(l,c))}else t.remove()}),d.selectAll(&quot;.point,.scatterpts&quot;).each(function(){var t=n.select(this),e=this.style.fill;e&amp;&amp;-1!==e.indexOf(&quot;url(&quot;)&amp;&amp;t.style(&quot;fill&quot;,e.replace(l,c))}),&quot;pdf&quot;!==e&amp;&amp;&quot;eps&quot;!==e||d.selectAll(&quot;#MathJax_SVG_glyphs path&quot;).attr(&quot;stroke-width&quot;,0),d.node().setAttributeNS(s.xmlns,&quot;xmlns&quot;,s.svg),d.node().setAttributeNS(s.xmlns,&quot;xmlns:xlink&quot;,s.xlink),&quot;svg&quot;===e&amp;&amp;r&amp;&amp;(d.attr(&quot;width&quot;,r*m),d.attr(&quot;height&quot;,r*g),d.attr(&quot;viewBox&quot;,&quot;0 0 &quot;+m+&quot; &quot;+g));var w=(new window.XMLSerializer).serializeToString(d.node());return w=function(t){var e=n.select(&quot;body&quot;).append(&quot;div&quot;).style({display:&quot;none&quot;}).html(&quot;&quot;),r=t.replace(/(&amp;[^;]*;)/gi,function(t){return&quot;&amp;lt;&quot;===t?&quot;&amp;#60;&quot;:&quot;&amp;rt;&quot;===t?&quot;&amp;#62;&quot;:-1!==t.indexOf(&quot;&lt;&quot;)||-1!==t.indexOf(&quot;&gt;&quot;)?&quot;&quot;:e.html(t).text()});return e.remove(),r}(w),w=function(t){return t.replace(/&amp;(?!\w+;|\#[0-9]+;| \#x[0-9A-F]+;)/g,&quot;&amp;amp;&quot;)}(w),w=w.replace(u,&quot;'&quot;),i.isIE()&amp;&amp;(w=(w=(w=w.replace(/&quot;/gi,&quot;'&quot;)).replace(/(\('#)([^']*)('\))/gi,'(&quot;#$2&quot;)')).replace(/(\\')/gi,'&quot;')),w}},{&quot;../components/color&quot;:618,&quot;../components/drawing&quot;:643,&quot;../constants/xmlns_namespaces&quot;:723,&quot;../lib&quot;:743,d3:128}],882:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib&quot;).mergeArray;e.exports=function(t,e){for(var r=0;r&lt;t.length;r++)t[r].i=r;n(e.text,t,&quot;tx&quot;),n(e.hovertext,t,&quot;htx&quot;);var i=e.marker;if(i){n(i.opacity,t,&quot;mo&quot;),n(i.color,t,&quot;mc&quot;);var a=i.line;a&amp;&amp;(n(a.color,t,&quot;mlc&quot;),n(a.width,t,&quot;mlw&quot;))}}},{&quot;../../lib&quot;:743}],883:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../scatter/attributes&quot;),i=t(&quot;../../components/colorscale/color_attributes&quot;),a=t(&quot;../../components/errorbars/attributes&quot;),o=t(&quot;../../components/colorbar/attributes&quot;),s=t(&quot;../../plots/font_attributes&quot;),l=t(&quot;../../lib/extend&quot;).extendFlat,c=s({editType:&quot;calc&quot;,arrayOk:!0}),u=n.marker,f=l({line:l({width:l({},u.line.width,{dflt:0}),editType:&quot;calc&quot;},i(&quot;marker.line&quot;)),editType:&quot;calc&quot;},i(&quot;marker&quot;),{showscale:u.showscale,colorbar:o,opacity:{valType:&quot;number&quot;,arrayOk:!0,dflt:1,min:0,max:1,editType:&quot;style&quot;}});e.exports={x:n.x,x0:n.x0,dx:n.dx,y:n.y,y0:n.y0,dy:n.dy,text:n.text,hovertext:n.hovertext,textposition:{valType:&quot;enumerated&quot;,values:[&quot;inside&quot;,&quot;outside&quot;,&quot;auto&quot;,&quot;none&quot;],dflt:&quot;none&quot;,arrayOk:!0,editType:&quot;calc&quot;},textfont:l({},c,{}),insidetextfont:l({},c,{}),outsidetextfont:l({},c,{}),constraintext:{valType:&quot;enumerated&quot;,values:[&quot;inside&quot;,&quot;outside&quot;,&quot;both&quot;,&quot;none&quot;],dflt:&quot;both&quot;,editType:&quot;calc&quot;},orientation:{valType:&quot;enumerated&quot;,values:[&quot;v&quot;,&quot;h&quot;],editType:&quot;calc+clearAxisTypes&quot;},base:{valType:&quot;any&quot;,dflt:null,arrayOk:!0,editType:&quot;calc&quot;},offset:{valType:&quot;number&quot;,dflt:null,arrayOk:!0,editType:&quot;calc&quot;},width:{valType:&quot;number&quot;,dflt:null,min:0,arrayOk:!0,editType:&quot;calc&quot;},marker:f,selected:{marker:{opacity:n.selected.marker.opacity,color:n.selected.marker.color,editType:&quot;style&quot;},textfont:n.selected.textfont,editType:&quot;style&quot;},unselected:{marker:{opacity:n.unselected.marker.opacity,color:n.unselected.marker.color,editType:&quot;style&quot;},textfont:n.unselected.textfont,editType:&quot;style&quot;},r:n.r,t:n.t,error_y:a,error_x:a,_deprecated:{bardir:{valType:&quot;enumerated&quot;,editType:&quot;calc&quot;,values:[&quot;v&quot;,&quot;h&quot;]}}}},{&quot;../../components/colorbar/attributes&quot;:619,&quot;../../components/colorscale/color_attributes&quot;:626,&quot;../../components/errorbars/attributes&quot;:645,&quot;../../lib/extend&quot;:732,&quot;../../plots/font_attributes&quot;:816,&quot;../scatter/attributes&quot;:1066}],884:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;fast-isnumeric&quot;),i=t(&quot;../../plots/cartesian/axes&quot;),a=t(&quot;../../components/colorscale/has_colorscale&quot;),o=t(&quot;../../components/colorscale/calc&quot;),s=t(&quot;./arrays_to_calcdata&quot;),l=t(&quot;../scatter/calc_selection&quot;);e.exports=function(t,e){var r,c,u,f,h,d=i.getFromId(t,e.xaxis||&quot;x&quot;),p=i.getFromId(t,e.yaxis||&quot;y&quot;);&quot;h&quot;===(e.orientation||(e.x&amp;&amp;!e.y?&quot;h&quot;:&quot;v&quot;))?(r=d,u=d.makeCalcdata(e,&quot;x&quot;),c=p.makeCalcdata(e,&quot;y&quot;),h=e.xcalendar):(r=p,u=p.makeCalcdata(e,&quot;y&quot;),c=d.makeCalcdata(e,&quot;x&quot;),h=e.ycalendar);var m=Math.min(c.length,u.length),g=new Array(m);for(f=0;f&lt;m;f++)g[f]={p:c[f],s:u[f]},e.ids&amp;&amp;(g[f].id=String(e.ids[f]));var v,y=e.base;if(Array.isArray(y)){for(f=0;f&lt;Math.min(y.length,g.length);f++)v=r.d2c(y[f],0,h),n(v)?(g[f].b=+v,g[f].hasB=1):g[f].b=0;for(;f&lt;g.length;f++)g[f].b=0}else{v=r.d2c(y,0,h);var x=n(v);for(v=x?v:0,f=0;f&lt;g.length;f++)g[f].b=v,x&amp;&amp;(g[f].hasB=1)}return a(e,&quot;marker&quot;)&amp;&amp;o(e,e.marker.color,&quot;marker&quot;,&quot;c&quot;),a(e,&quot;marker.line&quot;)&amp;&amp;o(e,e.marker.line.color,&quot;marker.line&quot;,&quot;c&quot;),s(g,e),l(g,e),g}},{&quot;../../components/colorscale/calc&quot;:625,&quot;../../components/colorscale/has_colorscale&quot;:632,&quot;../../plots/cartesian/axes&quot;:789,&quot;../scatter/calc_selection&quot;:1068,&quot;./arrays_to_calcdata&quot;:882,&quot;fast-isnumeric&quot;:140}],885:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib&quot;),i=t(&quot;../../components/color&quot;),a=t(&quot;../scatter/xy_defaults&quot;),o=t(&quot;../bar/style_defaults&quot;),s=t(&quot;../../components/errorbars/defaults&quot;),l=t(&quot;./attributes&quot;);e.exports=function(t,e,r,c){function u(r,i){return n.coerce(t,e,l,r,i)}var f=n.coerceFont;if(a(t,e,c,u)){u(&quot;orientation&quot;,e.x&amp;&amp;!e.y?&quot;h&quot;:&quot;v&quot;),u(&quot;base&quot;),u(&quot;offset&quot;),u(&quot;width&quot;),u(&quot;text&quot;),u(&quot;hovertext&quot;);var h=u(&quot;textposition&quot;),d=Array.isArray(h)||&quot;auto&quot;===h,p=d||&quot;inside&quot;===h,m=d||&quot;outside&quot;===h;if(p||m){var g=f(u,&quot;textfont&quot;,c.font);p&amp;&amp;f(u,&quot;insidetextfont&quot;,g),m&amp;&amp;f(u,&quot;outsidetextfont&quot;,g),u(&quot;constraintext&quot;),u(&quot;selected.textfont.color&quot;),u(&quot;unselected.textfont.color&quot;)}o(t,e,u,r,c),s(t,e,i.defaultLine,{axis:&quot;y&quot;}),s(t,e,i.defaultLine,{axis:&quot;x&quot;,inherit:&quot;y&quot;}),n.coerceSelectionMarkerOpacity(e,u)}else e.visible=!1}},{&quot;../../components/color&quot;:618,&quot;../../components/errorbars/defaults&quot;:648,&quot;../../lib&quot;:743,&quot;../bar/style_defaults&quot;:895,&quot;../scatter/xy_defaults&quot;:1090,&quot;./attributes&quot;:883}],886:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../components/fx&quot;),i=t(&quot;../../components/errorbars&quot;),a=t(&quot;../../components/color&quot;),o=t(&quot;../scatter/fill_hover_text&quot;);e.exports=function(t,e,r,s){function l(t){return t[p]-t.w/2}function c(t){return t[p]+t.w/2}function u(t){return n.inbox(w(t)-h,M(t)-h)}function f(t){return n.inbox(t.b-d,t[m]-d)+(t[m]-d)/(t[m]-t.b)}var h,d,p,m,g,v,y=t.cd,x=y[0].trace,b=y[0].t,_=&quot;closest&quot;===s,w=_?l:function(t){return Math.min(l(t),t.p-b.bardelta/2)},M=_?c:function(t){return Math.max(c(t),t.p+b.bardelta/2)};&quot;h&quot;===x.orientation?(h=r,d=e,p=&quot;y&quot;,m=&quot;x&quot;,g=f,v=u):(h=e,d=r,p=&quot;x&quot;,m=&quot;y&quot;,v=f,g=u);var k=t[p+&quot;a&quot;],A=t[m+&quot;a&quot;],T=n.getDistanceFunction(s,g,v);if(n.getClosest(y,T,t),!1!==t.index){_||(w=function(t){return Math.min(l(t),t.p-b.bargroupwidth/2)},M=function(t){return Math.max(c(t),t.p+b.bargroupwidth/2)});var S=y[t.index],E=S.mcc||x.marker.color,L=S.mlcc||x.marker.line.color,C=S.mlw||x.marker.line.width;a.opacity(E)?t.color=E:a.opacity(L)&amp;&amp;C&amp;&amp;(t.color=L);var z=x.base?S.b+S.s:S.s;return t[m+&quot;0&quot;]=t[m+&quot;1&quot;]=A.c2p(S[m],!0),t[m+&quot;LabelVal&quot;]=z,t[p+&quot;0&quot;]=k.c2p(w(S),!0),t[p+&quot;1&quot;]=k.c2p(M(S),!0),t[p+&quot;LabelVal&quot;]=S.p,o(S,x,t),i.hoverInfo(S,x,t),[t]}}},{&quot;../../components/color&quot;:618,&quot;../../components/errorbars&quot;:649,&quot;../../components/fx&quot;:660,&quot;../scatter/fill_hover_text&quot;:1074}],887:[function(t,e,r){&quot;use strict&quot;;var n={};n.attributes=t(&quot;./attributes&quot;),n.layoutAttributes=t(&quot;./layout_attributes&quot;),n.supplyDefaults=t(&quot;./defaults&quot;),n.supplyLayoutDefaults=t(&quot;./layout_defaults&quot;),n.calc=t(&quot;./calc&quot;),n.setPositions=t(&quot;./set_positions&quot;),n.colorbar=t(&quot;../scatter/colorbar&quot;),n.arraysToCalcdata=t(&quot;./arrays_to_calcdata&quot;),n.plot=t(&quot;./plot&quot;),n.style=t(&quot;./style&quot;),n.hoverPoints=t(&quot;./hover&quot;),n.selectPoints=t(&quot;./select&quot;),n.moduleType=&quot;trace&quot;,n.name=&quot;bar&quot;,n.basePlotModule=t(&quot;../../plots/cartesian&quot;),n.categories=[&quot;cartesian&quot;,&quot;bar&quot;,&quot;oriented&quot;,&quot;markerColorscale&quot;,&quot;errorBarsOK&quot;,&quot;showLegend&quot;],n.meta={},e.exports=n},{&quot;../../plots/cartesian&quot;:800,&quot;../scatter/colorbar&quot;:1070,&quot;./arrays_to_calcdata&quot;:882,&quot;./attributes&quot;:883,&quot;./calc&quot;:884,&quot;./defaults&quot;:885,&quot;./hover&quot;:886,&quot;./layout_attributes&quot;:888,&quot;./layout_defaults&quot;:889,&quot;./plot&quot;:890,&quot;./select&quot;:891,&quot;./set_positions&quot;:892,&quot;./style&quot;:894}],888:[function(t,e,r){&quot;use strict&quot;;e.exports={barmode:{valType:&quot;enumerated&quot;,values:[&quot;stack&quot;,&quot;group&quot;,&quot;overlay&quot;,&quot;relative&quot;],dflt:&quot;group&quot;,editType:&quot;calc&quot;},barnorm:{valType:&quot;enumerated&quot;,values:[&quot;&quot;,&quot;fraction&quot;,&quot;percent&quot;],dflt:&quot;&quot;,editType:&quot;calc&quot;},bargap:{valType:&quot;number&quot;,min:0,max:1,editType:&quot;calc&quot;},bargroupgap:{valType:&quot;number&quot;,min:0,max:1,dflt:0,editType:&quot;calc&quot;}}},{}],889:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../registry&quot;),i=t(&quot;../../plots/cartesian/axes&quot;),a=t(&quot;../../lib&quot;),o=t(&quot;./layout_attributes&quot;);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=0;h&lt;r.length;h++){var d=r[h];if(n.traceIs(d,&quot;bar&quot;)){if(l=!0,&quot;overlay&quot;!==t.barmode&amp;&amp;&quot;stack&quot;!==t.barmode){var p=d.xaxis+d.yaxis;f[p]&amp;&amp;(u=!0),f[p]=!0}if(d.visible&amp;&amp;&quot;histogram&quot;===d.type){&quot;category&quot;!==i.getFromId({_fullLayout:e},d[&quot;v&quot;===d.orientation?&quot;xaxis&quot;:&quot;yaxis&quot;]).type&amp;&amp;(c=!0)}}}if(l){&quot;overlay&quot;!==s(&quot;barmode&quot;)&amp;&amp;s(&quot;barnorm&quot;),s(&quot;bargap&quot;,c&amp;&amp;!u?0:.2),s(&quot;bargroupgap&quot;)}}},{&quot;../../lib&quot;:743,&quot;../../plots/cartesian/axes&quot;:789,&quot;../../registry&quot;:873,&quot;./layout_attributes&quot;:888}],890:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,n,l,c,u,f){function d(e,r,n){return e.append(&quot;text&quot;).text(r).attr({class:&quot;bartext bartext-&quot;+m,transform:&quot;&quot;,&quot;text-anchor&quot;:&quot;middle&quot;,&quot;data-notex&quot;:1}).call(p.font,n).call(h.convertToTspans,t)}var m,g=r[0].trace,M=g.orientation,k=function(t,e){var r=o(t.text,e);return s(v,r)}(g,n);if(k&amp;&amp;&quot;none&quot;!==(m=function(t,e){var r=o(t.textposition,e);return function(t,e,r){t.coerceNumber&amp;&amp;(e=+e);return-1!==t.values.indexOf(e)?e:void 0!==r?r:t.dflt}(y,r)}(g,n))){var A,T,S,E,L=function(t,e,r){return a(x,t.textfont,e,r)}(g,n,t._fullLayout.font),C=function(t,e,r){return a(b,t.insidetextfont,e,r)}(g,n,L),z=function(t,e,r){return a(_,t.outsidetextfont,e,r)}(g,n,L),D=t._fullLayout.barmode,I=&quot;stack&quot;===D||&quot;relative&quot;===D,P=r[n],O=!I||P._outmost,F=Math.abs(c-l)-2*w,R=Math.abs(f-u)-2*w;if(&quot;outside&quot;===m&amp;&amp;(O||(m=&quot;inside&quot;)),&quot;auto&quot;===m)if(O){m=&quot;inside&quot;,A=d(e,k,C),S=(T=p.bBox(A.node())).width,E=T.height;S&gt;0&amp;&amp;E&gt;0&amp;&amp;(S&lt;=F&amp;&amp;E&lt;=R||S&lt;=R&amp;&amp;E&lt;=F||(&quot;h&quot;===M?F&gt;=S*(R/E):R&gt;=E*(F/S)))?m=&quot;inside&quot;:(m=&quot;outside&quot;,A.remove(),A=null)}else m=&quot;inside&quot;;if(!A&amp;&amp;(A=d(e,k,&quot;outside&quot;===m?z:C),T=p.bBox(A.node()),S=T.width,E=T.height,S&lt;=0||E&lt;=0))A.remove();else{var N;N=&quot;outside&quot;===m?function(t,e,r,n,a,o,s){var l,c=&quot;h&quot;===o?Math.abs(n-r):Math.abs(e-t);c&gt;2*w&amp;&amp;(l=w);var u=1;s&amp;&amp;(u=&quot;h&quot;===o?Math.min(1,c/a.height):Math.min(1,c/a.width));var f,h,d,p,m=(a.left+a.right)/2,g=(a.top+a.bottom)/2;f=u*a.width,h=u*a.height,&quot;h&quot;===o?e&lt;t?(d=e-l-f/2,p=(r+n)/2):(d=e+l+f/2,p=(r+n)/2):n&gt;r?(d=(t+e)/2,p=n+l+h/2):(d=(t+e)/2,p=n-l-h/2);return i(m,g,d,p,u,!1)}(l,c,u,f,T,M,&quot;both&quot;===g.constraintext||&quot;outside&quot;===g.constraintext):function(t,e,r,n,a,o,s){var l,c,u,f,h,d=a.width,p=a.height,m=(a.left+a.right)/2,g=(a.top+a.bottom)/2,v=Math.abs(e-t),y=Math.abs(n-r);v&gt;2*w&amp;&amp;y&gt;2*w?(v-=2*(h=w),y-=2*h):h=0;var x,b;d&lt;=v&amp;&amp;p&lt;=y?(x=!1,b=1):d&lt;=y&amp;&amp;p&lt;=v?(x=!0,b=1):d&lt;p==v&lt;y?(x=!1,b=s?Math.min(v/d,y/p):1):(x=!0,b=s?Math.min(y/d,v/p):1);x&amp;&amp;(x=90);x?(l=b*p,c=b*d):(l=b*d,c=b*p);&quot;h&quot;===o?e&lt;t?(u=e+h+l/2,f=(r+n)/2):(u=e-h-l/2,f=(r+n)/2):n&gt;r?(u=(t+e)/2,f=n-h-c/2):(u=(t+e)/2,f=n+h+c/2);return i(m,g,u,f,b,x)}(l,c,u,f,T,M,&quot;both&quot;===g.constraintext||&quot;inside&quot;===g.constraintext),A.attr(&quot;transform&quot;,N)}}}function i(t,e,r,n,i,a){var o;i&lt;1?o=&quot;scale(&quot;+i+&quot;) &quot;:(i=1,o=&quot;&quot;);return&quot;translate(&quot;+(r-i*t)+&quot; &quot;+(n-i*e)+&quot;)&quot;+o+(a?&quot;rotate(&quot;+a+&quot; &quot;+t+&quot; &quot;+e+&quot;) &quot;:&quot;&quot;)}function a(t,e,r,n){var i=o((e=e||{}).family,r),a=o(e.size,r),l=o(e.color,r);return{family:s(t.family,i,n.family),size:function(t,e,r){if(c(e)){e=+e;var n=t.min,i=t.max,a=void 0!==n&amp;&amp;e&lt;n||void 0!==i&amp;&amp;e&gt;i;if(!a)return e}return void 0!==r?r:t.dflt}(t.size,a,n.size),color:function(t,e,r){return u(e).isValid()?e:void 0!==r?r:t.dflt}(t.color,l,n.color)}}function o(t,e){var r;return Array.isArray(t)?e&lt;t.length&amp;&amp;(r=t[e]):r=t,r}function s(t,e,r){if(&quot;string&quot;==typeof e){if(e||!t.noBlank)return e}else if(&quot;number&quot;==typeof e&amp;&amp;!t.strict)return String(e);return void 0!==r?r:t.dflt}var l=t(&quot;d3&quot;),c=t(&quot;fast-isnumeric&quot;),u=t(&quot;tinycolor2&quot;),f=t(&quot;../../lib&quot;),h=t(&quot;../../lib/svg_text_utils&quot;),d=t(&quot;../../components/color&quot;),p=t(&quot;../../components/drawing&quot;),m=t(&quot;../../components/errorbars&quot;),g=t(&quot;./attributes&quot;),v=g.text,y=g.textposition,x=g.textfont,b=g.insidetextfont,_=g.outsidetextfont,w=3;e.exports=function(t,e,r){var i=e.xaxis,a=e.yaxis,o=t._fullLayout,s=e.plot.select(&quot;.barlayer&quot;).selectAll(&quot;g.trace.bars&quot;).data(r);s.enter().append(&quot;g&quot;).attr(&quot;class&quot;,&quot;trace bars&quot;),s.each(function(t){t[0].node3=l.select(this)}),s.append(&quot;g&quot;).attr(&quot;class&quot;,&quot;points&quot;).each(function(e){var r=l.select(this),s=e[0].t,u=e[0].trace,h=s.poffset,p=Array.isArray(h);r.selectAll(&quot;g.point&quot;).data(f.identity).enter().append(&quot;g&quot;).classed(&quot;point&quot;,!0).each(function(r,s){function f(t){return 0===o.bargap&amp;&amp;0===o.bargroupgap?l.round(Math.round(t)-k,2):t}var m,g,v,y,x=r.p+(p?h[s]:h),b=x+r.w,_=r.b,w=_+r.s;if(&quot;h&quot;===u.orientation?(v=a.c2p(x,!0),y=a.c2p(b,!0),m=i.c2p(_,!0),g=i.c2p(w,!0),r.ct=[g,(v+y)/2]):(m=i.c2p(x,!0),g=i.c2p(b,!0),v=a.c2p(_,!0),y=a.c2p(w,!0),r.ct=[(m+g)/2,y]),c(m)&amp;&amp;c(g)&amp;&amp;c(v)&amp;&amp;c(y)&amp;&amp;m!==g&amp;&amp;v!==y){var M=(r.mlw+1||u.marker.line.width+1||(r.trace?r.trace.marker.line.width:0)+1)-1,k=l.round(M/2%1,2);if(!t._context.staticPlot){var A=d.opacity(r.mc||u.marker.color)&lt;1||M&gt;.01?f:function(t,e){return Math.abs(t-e)&gt;=2?f(t):t&gt;e?Math.ceil(t):Math.floor(t)};g=A(g,m=A(m,g)),y=A(y,v=A(v,y))}var T=l.select(this);T.append(&quot;path&quot;).style(&quot;vector-effect&quot;,&quot;non-scaling-stroke&quot;).attr(&quot;d&quot;,&quot;M&quot;+m+&quot;,&quot;+v+&quot;V&quot;+y+&quot;H&quot;+g+&quot;V&quot;+v+&quot;Z&quot;),n(t,T,e,s,m,g,v,y)}else l.select(this).remove()})}),s.call(m.plot,e)}},{&quot;../../components/color&quot;:618,&quot;../../components/drawing&quot;:643,&quot;../../components/errorbars&quot;:649,&quot;../../lib&quot;:743,&quot;../../lib/svg_text_utils&quot;:766,&quot;./attributes&quot;:883,d3:128,&quot;fast-isnumeric&quot;:140,tinycolor2:546}],891:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t,e){var r,n=t.cd,i=t.xaxis,a=t.yaxis,o=[];if(!1===e)for(r=0;r&lt;n.length;r++)n[r].selected=0;else for(r=0;r&lt;n.length;r++){var s=n[r];e.contains(s.ct)?(o.push({pointNumber:r,x:i.c2d(s.x),y:a.c2d(s.y)}),s.selected=1):s.selected=0}return o}},{}],892:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,n){if(n.length){var g,x,b,_,w=t._fullLayout.barmode,M=&quot;group&quot;===w;if(&quot;overlay&quot;===w)i(t,e,r,n);else if(M){for(g=[],x=[],b=0;b&lt;n.length;b++)void 0===(_=n[b])[0].trace.offset?x.push(_):g.push(_);x.length&amp;&amp;function(t,e,r,n){var i=t._fullLayout.barnorm,a=new y(n,!1,!i);(function(t,e,r){var n,i,a,c,u=t._fullLayout,f=u.bargap,h=u.bargroupgap,d=r.positions,p=r.distinctPositions,m=r.minDiff,g=r.traces,v=d.length!==p.length,y=g.length,x=m*(1-f),b=v?x/y:x,_=b*(1-h);for(n=0;n&lt;y;n++){i=g[n],a=i[0];var w=v?((2*n+1-y)*b-_)/2:-_/2;(c=a.t).barwidth=_,c.poffset=w,c.bargroupwidth=x,c.bardelta=m}r.binWidth=g[0][0].t.barwidth/100,o(r),s(t,e,r),l(t,e,r,v)})(t,e,a),i?(f(t,r,a),h(t,r,a)):u(t,r,a)}(t,e,r,x),g.length&amp;&amp;i(t,e,r,g)}else{for(g=[],x=[],b=0;b&lt;n.length;b++)void 0===(_=n[b])[0].trace.base?x.push(_):g.push(_);x.length&amp;&amp;function(t,e,r,n){var i=t._fullLayout.barmode,o=&quot;stack&quot;===i,s=&quot;relative&quot;===i,l=t._fullLayout.barnorm,u=new y(n,s,!(l||o||s));a(t,e,u),function(t,e,r){var n,i,a,o,s=t._fullLayout.barnorm,l=d(e),u=r.traces,f=[null,null];for(n=0;n&lt;u.length;n++)for(i=u[n],a=0;a&lt;i.length;a++)if((o=i[a]).s!==m){var h=r.put(o.p,o.b+o.s),g=h+o.b+o.s;o.b=h,o[l]=g,s||(p(e.c2l(g))&amp;&amp;c(f,g),o.hasB&amp;&amp;p(e.c2l(h))&amp;&amp;c(f,h))}s||v.expand(e,f,{tozero:!0,padded:!0})}(t,r,u);for(var f=0;f&lt;n.length;f++)for(var g=n[f],x=0;x&lt;g.length;x++){var b=g[x];if(b.s!==m){var _=b.b+b.s===u.get(b.p,b.s);_&amp;&amp;(b._outmost=!0)}}l&amp;&amp;h(t,r,u)}(t,e,r,x),g.length&amp;&amp;i(t,e,r,g)}}}function i(t,e,r,n){for(var i=t._fullLayout.barnorm,o=!i,s=0;s&lt;n.length;s++){var l=n[s],c=new y([l],!1,o);a(t,e,c),i?(f(t,r,c),h(t,r,c)):u(t,r,c)}}function a(t,e,r){var n,i,a=t._fullLayout,c=a.bargap,u=a.bargroupgap,f=r.minDiff,h=r.traces,d=f*(1-c),p=d*(1-u),m=-p/2;for(n=0;n&lt;h.length;n++)(i=h[n][0].t).barwidth=p,i.poffset=m,i.bargroupwidth=d,i.bardelta=f;r.binWidth=h[0][0].t.barwidth/100,o(r),s(t,e,r),l(t,e,r)}function o(t){var e,r,n,i,a,o,s=t.traces;for(e=0;e&lt;s.length;e++){i=(n=(r=s[e])[0]).trace,o=n.t;var l,c=i.offset,u=o.poffset;if(Array.isArray(c)){for(l=c.slice(0,r.length),a=0;a&lt;l.length;a++)p(l[a])||(l[a]=u);for(a=l.length;a&lt;r.length;a++)l.push(u);o.poffset=l}else void 0!==c&amp;&amp;(o.poffset=c);var f=i.width,h=o.barwidth;if(Array.isArray(f)){var d=f.slice(0,r.length);for(a=0;a&lt;d.length;a++)p(d[a])||(d[a]=h);for(a=d.length;a&lt;r.length;a++)d.push(h);if(o.barwidth=d,void 0===c){for(l=[],a=0;a&lt;r.length;a++)l.push(u+(h-d[a])/2);o.poffset=l}}else void 0!==f&amp;&amp;(o.barwidth=f,void 0===c&amp;&amp;(o.poffset=u+(h-f)/2))}}function s(t,e,r){for(var n=r.traces,i=d(e),a=0;a&lt;n.length;a++)for(var o=n[a],s=o[0].t,l=s.poffset,c=Array.isArray(l),u=s.barwidth,f=Array.isArray(u),h=0;h&lt;o.length;h++){var p=o[h],m=p.w=f?u[h]:u;p[i]=p.p+(c?l[h]:l)+m/2}}function l(t,e,r,n){var i=r.traces,a=r.distinctPositions,o=a[0],s=r.minDiff,l=s/2;v.minDtick(e,s,o,n);for(var c=Math.min.apply(Math,a)-l,u=Math.max.apply(Math,a)+l,f=0;f&lt;i.length;f++){var h=i[f],d=h[0],p=d.trace;if(void 0!==p.width||void 0!==p.offset)for(var m=d.t,g=m.poffset,y=m.barwidth,x=Array.isArray(g),b=Array.isArray(y),_=0;_&lt;h.length;_++){var w=h[_],M=x?g[_]:g,k=b?y[_]:y,A=w.p+M,T=A+k;c=Math.min(c,A),u=Math.max(u,T)}}v.expand(e,[c,u],{padded:!1})}function c(t,e){p(t[0])?t[0]=Math.min(t[0],e):t[0]=e,p(t[1])?t[1]=Math.max(t[1],e):t[1]=e}function u(t,e,r){for(var n=r.traces,i=d(e),a=[null,null],o=0;o&lt;n.length;o++)for(var s=n[o],l=0;l&lt;s.length;l++){var u=s[l],f=u.b,h=f+u.s;u[i]=h,p(e.c2l(h))&amp;&amp;c(a,h),u.hasB&amp;&amp;p(e.c2l(f))&amp;&amp;c(a,f)}v.expand(e,a,{tozero:!0,padded:!0})}function f(t,e,r){for(var n=r.traces,i=0;i&lt;n.length;i++)for(var a=n[i],o=0;o&lt;a.length;o++){var s=a[o];s.s!==m&amp;&amp;r.put(s.p,s.b+s.s)}}function h(t,e,r){function n(t){p(e.c2l(t))&amp;&amp;(t&lt;l-s||t&gt;u+s||!p(l))&amp;&amp;(h=!0,c(f,t))}for(var i=r.traces,a=d(e),o=&quot;fraction&quot;===t._fullLayout.barnorm?1:100,s=o/1e9,l=e.l2c(e.c2l(0)),u=&quot;stack&quot;===t._fullLayout.barmode?o:l,f=[l,u],h=!1,g=0;g&lt;i.length;g++)for(var y=i[g],x=0;x&lt;y.length;x++){var b=y[x];if(b.s!==m){var _=Math.abs(o/r.get(b.p,b.s));b.b*=_,b.s*=_;var w=b.b,M=w+b.s;b[a]=M,n(M),b.hasB&amp;&amp;n(w)}}v.expand(e,f,{tozero:!0,padded:h})}function d(t){return t._id.charAt(0)}var p=t(&quot;fast-isnumeric&quot;),m=t(&quot;../../constants/numerical&quot;).BADNUM,g=t(&quot;../../registry&quot;),v=t(&quot;../../plots/cartesian/axes&quot;),y=t(&quot;./sieve.js&quot;);e.exports=function(t,e){var r,i=e.xaxis,a=e.yaxis,o=t._fullData,s=t.calcdata,l=[],c=[];for(r=0;r&lt;o.length;r++){var u=o[r];!0===u.visible&amp;&amp;g.traceIs(u,&quot;bar&quot;)&amp;&amp;u.xaxis===i._id&amp;&amp;u.yaxis===a._id&amp;&amp;(&quot;h&quot;===u.orientation?l.push(s[r]):c.push(s[r]))}n(t,i,a,c),n(t,a,i,l)}},{&quot;../../constants/numerical&quot;:721,&quot;../../plots/cartesian/axes&quot;:789,&quot;../../registry&quot;:873,&quot;./sieve.js&quot;:893,&quot;fast-isnumeric&quot;:140}],893:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r){this.traces=t,this.separateNegativeValues=e,this.dontMergeOverlappingData=r;for(var n=1/0,o=[],s=0;s&lt;t.length;s++){for(var l=t[s],c=0;c&lt;l.length;c++){var u=l[c];u.p!==a&amp;&amp;o.push(u.p)}l[0]&amp;&amp;l[0].width1&amp;&amp;(n=Math.min(l[0].width1,n))}this.positions=o;var f=i.distinctVals(o);this.distinctPositions=f.vals,1===f.vals.length&amp;&amp;n!==1/0?this.minDiff=n:this.minDiff=Math.min(f.minDiff,n),this.binWidth=this.minDiff,this.bins={}}e.exports=n;var i=t(&quot;../../lib&quot;),a=t(&quot;../../constants/numerical&quot;).BADNUM;n.prototype.put=function(t,e){var r=this.getLabel(t,e),n=this.bins[r]||0;return this.bins[r]=n+e,n},n.prototype.get=function(t,e){var r=this.getLabel(t,e);return this.bins[r]||0},n.prototype.getLabel=function(t,e){return(e&lt;0&amp;&amp;this.separateNegativeValues?&quot;v&quot;:&quot;^&quot;)+(this.dontMergeOverlappingData?t:Math.round(t/this.binWidth))}},{&quot;../../constants/numerical&quot;:721,&quot;../../lib&quot;:743}],894:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;d3&quot;),i=t(&quot;../../components/drawing&quot;),a=t(&quot;../../components/errorbars&quot;);e.exports=function(t,e){var r=e?e[0].node3:n.select(t).selectAll(&quot;g.trace.bars&quot;),o=r.size(),s=t._fullLayout;r.style(&quot;opacity&quot;,function(t){return t[0].trace.opacity}).each(function(t){(&quot;stack&quot;===s.barmode&amp;&amp;o&gt;1||0===s.bargap&amp;&amp;0===s.bargroupgap&amp;&amp;!t[0].trace.marker.line.width)&amp;&amp;n.select(this).attr(&quot;shape-rendering&quot;,&quot;crispEdges&quot;)}),r.selectAll(&quot;g.points&quot;).each(function(e){var r=n.select(this),a=r.selectAll(&quot;path&quot;),o=r.selectAll(&quot;text&quot;),s=e[0].trace;i.pointStyle(a,s,t),i.selectedPointStyle(a,s),o.each(function(t){function e(e){var n=r[e];return Array.isArray(n)?n[t.i]:n}var r,a=n.select(this);a.classed(&quot;bartext-inside&quot;)?r=s.insidetextfont:a.classed(&quot;bartext-outside&quot;)&amp;&amp;(r=s.outsidetextfont),r||(r=s.textfont),i.font(a,e(&quot;family&quot;),e(&quot;size&quot;),e(&quot;color&quot;))}),i.selectedTextStyle(o,s)}),a.style(r)}},{&quot;../../components/drawing&quot;:643,&quot;../../components/errorbars&quot;:649,d3:128}],895:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../components/color&quot;),i=t(&quot;../../components/colorscale/has_colorscale&quot;),a=t(&quot;../../components/colorscale/defaults&quot;);e.exports=function(t,e,r,o,s){r(&quot;marker.color&quot;,o),i(t,&quot;marker&quot;)&amp;&amp;a(t,e,s,r,{prefix:&quot;marker.&quot;,cLetter:&quot;c&quot;}),r(&quot;marker.line.color&quot;,n.defaultLine),i(t,&quot;marker.line&quot;)&amp;&amp;a(t,e,s,r,{prefix:&quot;marker.line.&quot;,cLetter:&quot;c&quot;}),r(&quot;marker.line.width&quot;),r(&quot;marker.opacity&quot;),r(&quot;selected.marker.color&quot;),r(&quot;unselected.marker.color&quot;)}},{&quot;../../components/color&quot;:618,&quot;../../components/colorscale/defaults&quot;:628,&quot;../../components/colorscale/has_colorscale&quot;:632}],896:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../scatter/attributes&quot;),i=t(&quot;../../components/color/attributes&quot;),a=t(&quot;../../lib/extend&quot;).extendFlat,o=n.marker,s=o.line;e.exports={y:{valType:&quot;data_array&quot;,editType:&quot;calc+clearAxisTypes&quot;},x:{valType:&quot;data_array&quot;,editType:&quot;calc+clearAxisTypes&quot;},x0:{valType:&quot;any&quot;,editType:&quot;calc+clearAxisTypes&quot;},y0:{valType:&quot;any&quot;,editType:&quot;calc+clearAxisTypes&quot;},name:{valType:&quot;string&quot;,editType:&quot;calc+clearAxisTypes&quot;},text:a({},n.text,{}),whiskerwidth:{valType:&quot;number&quot;,min:0,max:1,dflt:.5,editType:&quot;calcIfAutorange&quot;},boxpoints:{valType:&quot;enumerated&quot;,values:[&quot;all&quot;,&quot;outliers&quot;,&quot;suspectedoutliers&quot;,!1],dflt:&quot;outliers&quot;,editType:&quot;calcIfAutorange&quot;},boxmean:{valType:&quot;enumerated&quot;,values:[!0,&quot;sd&quot;,!1],dflt:!1,editType:&quot;calcIfAutorange&quot;},jitter:{valType:&quot;number&quot;,min:0,max:1,editType:&quot;calcIfAutorange&quot;},pointpos:{valType:&quot;number&quot;,min:-2,max:2,editType:&quot;calcIfAutorange&quot;},orientation:{valType:&quot;enumerated&quot;,values:[&quot;v&quot;,&quot;h&quot;],editType:&quot;calc+clearAxisTypes&quot;},marker:{outliercolor:{valType:&quot;color&quot;,dflt:&quot;rgba(0, 0, 0, 0)&quot;,editType:&quot;style&quot;},symbol:a({},o.symbol,{arrayOk:!1,editType:&quot;plot&quot;}),opacity:a({},o.opacity,{arrayOk:!1,dflt:1,editType:&quot;style&quot;}),size:a({},o.size,{arrayOk:!1,editType:&quot;calcIfAutorange&quot;}),color:a({},o.color,{arrayOk:!1,editType:&quot;style&quot;}),line:{color:a({},s.color,{arrayOk:!1,dflt:i.defaultLine,editType:&quot;style&quot;}),width:a({},s.width,{arrayOk:!1,dflt:0,editType:&quot;style&quot;}),outliercolor:{valType:&quot;color&quot;,editType:&quot;style&quot;},outlierwidth:{valType:&quot;number&quot;,min:0,dflt:1,editType:&quot;style&quot;},editType:&quot;style&quot;},editType:&quot;plot&quot;},line:{color:{valType:&quot;color&quot;,editType:&quot;style&quot;},width:{valType:&quot;number&quot;,min:0,dflt:2,editType:&quot;style&quot;},editType:&quot;plot&quot;},fillcolor:n.fillcolor,selected:{marker:n.selected.marker,editType:&quot;style&quot;},unselected:{marker:n.unselected.marker,editType:&quot;style&quot;},hoveron:{valType:&quot;flaglist&quot;,flags:[&quot;boxes&quot;,&quot;points&quot;],dflt:&quot;boxes+points&quot;,editType:&quot;style&quot;}}},{&quot;../../components/color/attributes&quot;:617,&quot;../../lib/extend&quot;:732,&quot;../scatter/attributes&quot;:1066}],897:[function(t,e,r){&quot;use strict&quot;;function n(t,e){return t.v-e.v}function i(t){return t.v}var a=t(&quot;fast-isnumeric&quot;),o=t(&quot;../../lib&quot;),s=o._,l=t(&quot;../../plots/cartesian/axes&quot;);e.exports=function(t,e){var r,c,u,f,h,d=t._fullLayout,p=l.getFromId(t,e.xaxis||&quot;x&quot;),m=l.getFromId(t,e.yaxis||&quot;y&quot;),g=[],v=&quot;violin&quot;===e.type?&quot;_numViolins&quot;:&quot;_numBoxes&quot;;&quot;h&quot;===e.orientation?(c=p,u=&quot;x&quot;,f=m,h=&quot;y&quot;):(c=m,u=&quot;y&quot;,f=p,h=&quot;x&quot;);var y=c.makeCalcdata(e,u),x=function(t,e,r,n,i){if(e in t)return r.makeCalcdata(t,e);var s;s=e+&quot;0&quot;in t?t[e+&quot;0&quot;]:&quot;name&quot;in t&amp;&amp;(&quot;category&quot;===r.type||a(t.name)&amp;&amp;-1!==[&quot;linear&quot;,&quot;log&quot;].indexOf(r.type)||o.isDateTime(t.name)&amp;&amp;&quot;date&quot;===r.type)?t.name:i;var l=r.d2c(s,0,t[e+&quot;calendar&quot;]);return n.map(function(){return l})}(e,h,f,y,d[v]),b=o.distinctVals(x),_=b.vals,w=b.minDiff/2,M=function(t,e){for(var r=t.length,n=new Array(r+1),i=0;i&lt;r;i++)n[i]=t[i]-e;return n[r]=t[r-1]+e,n}(_,w),k=y.length,A=_.length,T=function(t){for(var e=new Array(t),r=0;r&lt;t;r++)e[r]=[];return e}(A);for(r=0;r&lt;k;r++){var S=y[r];if(a(S)){var E=o.findBin(x[r],M);if(E&gt;=0&amp;&amp;E&lt;A){var L={v:S,i:r};!function(t,e,r){var n={text:&quot;tx&quot;};for(var i in n)Array.isArray(e[i])&amp;&amp;(t[n[i]]=e[i][r])}(L,e,r),T[E].push(L)}}}for(r=0;r&lt;A;r++)if(T[r].length&gt;0){var C=T[r].sort(n),z=C.map(i),D=z.length,I={pos:_[r],pts:C};I.min=z[0],I.max=z[D-1],I.mean=o.mean(z,D),I.sd=o.stdev(z,D,I.mean),I.q1=o.interp(z,.25),I.med=o.interp(z,.5),I.q3=o.interp(z,.75),I.lf=Math.min(I.q1,z[Math.min(o.findBin(2.5*I.q1-1.5*I.q3,z,!0)+1,D-1)]),I.uf=Math.max(I.q3,z[Math.max(o.findBin(2.5*I.q3-1.5*I.q1,z),0)]),I.lo=4*I.q1-3*I.q3,I.uo=4*I.q3-3*I.q1,g.push(I)}return function(t,e){if(Array.isArray(e.selectedpoints))for(var r=0;r&lt;t.length;r++){for(var n=t[r].pts||[],i={},a=0;a&lt;n.length;a++)i[n[a].i]=a;o.tagSelected(n,e,i)}}(g,e),l.expand(c,y,{padded:!0}),g.length&gt;0?(g[0].t={num:d[v],dPos:w,posLetter:h,valLetter:u,labels:{med:s(t,&quot;median:&quot;),min:s(t,&quot;min:&quot;),q1:s(t,&quot;q1:&quot;),q3:s(t,&quot;q3:&quot;),max:s(t,&quot;max:&quot;),mean:&quot;sd&quot;===e.boxmean?s(t,&quot;mean \xb1 \u03c3:&quot;):s(t,&quot;mean:&quot;),lf:s(t,&quot;lower fence:&quot;),uf:s(t,&quot;upper fence:&quot;)}},e._fullInput&amp;&amp;&quot;candlestick&quot;===e._fullInput.type&amp;&amp;delete g[0].t.labels,d[v]++,g):[{t:{empty:!0}}]}},{&quot;../../lib&quot;:743,&quot;../../plots/cartesian/axes&quot;:789,&quot;fast-isnumeric&quot;:140}],898:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,n){var i,a=r(&quot;y&quot;),s=r(&quot;x&quot;);if(a&amp;&amp;a.length)i=&quot;v&quot;,s||r(&quot;x0&quot;);else{if(!s||!s.length)return void(e.visible=!1);i=&quot;h&quot;,r(&quot;y0&quot;)}o.getComponentMethod(&quot;calendars&quot;,&quot;handleTraceDefaults&quot;)(t,e,[&quot;x&quot;,&quot;y&quot;],n),r(&quot;orientation&quot;,i)}function i(t,e,r,n){var i=n.prefix,o=a.coerce2(t,e,l,&quot;marker.outliercolor&quot;),s=r(&quot;marker.line.outliercolor&quot;),c=r(i+&quot;points&quot;,o||s?&quot;suspectedoutliers&quot;:void 0);c?(r(&quot;jitter&quot;,&quot;all&quot;===c?.3:0),r(&quot;pointpos&quot;,&quot;all&quot;===c?-1.5:0),r(&quot;marker.symbol&quot;),r(&quot;marker.opacity&quot;),r(&quot;marker.size&quot;),r(&quot;marker.color&quot;,e.line.color),r(&quot;marker.line.color&quot;),r(&quot;marker.line.width&quot;),&quot;suspectedoutliers&quot;===c&amp;&amp;(r(&quot;marker.line.outliercolor&quot;,e.marker.color),r(&quot;marker.line.outlierwidth&quot;)),r(&quot;selected.marker.color&quot;),r(&quot;unselected.marker.color&quot;),r(&quot;selected.marker.size&quot;),r(&quot;unselected.marker.size&quot;),r(&quot;text&quot;)):delete e.marker,r(&quot;hoveron&quot;),a.coerceSelectionMarkerOpacity(e,r)}var a=t(&quot;../../lib&quot;),o=t(&quot;../../registry&quot;),s=t(&quot;../../components/color&quot;),l=t(&quot;./attributes&quot;);e.exports={supplyDefaults:function(t,e,r,o){function c(r,n){return a.coerce(t,e,l,r,n)}n(t,e,c,o),!1!==e.visible&amp;&amp;(c(&quot;line.color&quot;,(t.marker||{}).color||r),c(&quot;line.width&quot;),c(&quot;fillcolor&quot;,s.addOpacity(e.line.color,.5)),c(&quot;whiskerwidth&quot;),c(&quot;boxmean&quot;),i(t,e,c,{prefix:&quot;box&quot;}))},handleSampleDefaults:n,handlePointsDefaults:i}},{&quot;../../components/color&quot;:618,&quot;../../lib&quot;:743,&quot;../../registry&quot;:873,&quot;./attributes&quot;:896}],899:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,n){var i,c,u,f,h,d,p,m,g,v=t.cd,y=t.xa,x=t.ya,b=v[0].trace,_=v[0].t,w=&quot;violin&quot;===b.type,M=[],k=&quot;closest&quot;!==n||w?_.bdPos:2.5*_.bdPos,A=function(t){return t.pos+_.bPos-d};w&amp;&amp;&quot;both&quot;!==b.side?(&quot;positive&quot;===b.side&amp;&amp;(g=function(t){var e=A(t);return s.inbox(e,e+k)}),&quot;negative&quot;===b.side&amp;&amp;(g=function(t){var e=A(t);return s.inbox(e-k,e)})):g=function(t){var e=A(t);return s.inbox(e-k,e+k)};var T;T=w?function(t){return s.inbox(t.span[0]-h,t.span[1]-h)}:function(t){return s.inbox(t.min-h,t.max-h)},&quot;h&quot;===b.orientation?(h=e,d=r,p=T,m=g,i=&quot;y&quot;,u=x,c=&quot;x&quot;,f=y):(h=r,d=e,p=g,m=T,i=&quot;x&quot;,u=y,c=&quot;y&quot;,f=x);var S=s.getDistanceFunction(n,p,m);if(s.getClosest(v,S,t),!1===t.index)return[];var E=v[t.index],L=b.line.color,C=(b.marker||{}).color;l.opacity(L)&amp;&amp;b.line.width?t.color=L:l.opacity(C)&amp;&amp;b.boxpoints?t.color=C:t.color=b.fillcolor,t[i+&quot;0&quot;]=u.c2p(E.pos+_.bPos-_.bdPos,!0),t[i+&quot;1&quot;]=u.c2p(E.pos+_.bPos+_.bdPos,!0),a.tickText(u,u.c2l(E.pos),&quot;hover&quot;).text,t[i+&quot;LabelVal&quot;]=E.pos;var z={},D=[&quot;med&quot;,&quot;min&quot;,&quot;q1&quot;,&quot;q3&quot;,&quot;max&quot;];(b.boxmean||(b.meanline||{}).visible)&amp;&amp;D.push(&quot;mean&quot;),(b.boxpoints||b.points)&amp;&amp;D.push(&quot;lf&quot;,&quot;uf&quot;);for(var I=0;I&lt;D.length;I++){var P=D[I];if(P in E&amp;&amp;!(E[P]in z)){z[E[P]]=!0;var O=E[P],F=f.c2p(O,!0),R=o.extendFlat({},t);R[c+&quot;0&quot;]=R[c+&quot;1&quot;]=F,R[c+&quot;LabelVal&quot;]=O,R[c+&quot;Label&quot;]=(_.labels?_.labels[P]+&quot; &quot;:&quot;&quot;)+a.hoverLabelText(f,O),&quot;mean&quot;===P&amp;&amp;&quot;sd&quot;in E&amp;&amp;&quot;sd&quot;===b.boxmean&amp;&amp;(R[c+&quot;err&quot;]=E.sd),t.name=&quot;&quot;,M.push(R)}}return M}function i(t,e,r){for(var n,i,a,l=t.cd,u=t.xa,f=t.ya,h=l[0].trace,d=u.c2p(e),p=f.c2p(r),m=s.quadrature(function(t){var e=Math.max(3,t.mrc||0);return Math.max(Math.abs(u.c2p(t.x)-d)-e,1-3/e)},function(t){var e=Math.max(3,t.mrc||0);return Math.max(Math.abs(f.c2p(t.y)-p)-e,1-3/e)}),g=!1,v=0;v&lt;l.length;v++){i=l[v];for(var y=0;y&lt;(i.pts||[]).length;y++){var x=m(a=i.pts[y]);x&lt;=t.distance&amp;&amp;(t.distance=x,g=[v,y])}}if(!g)return!1;a=(i=l[g[0]]).pts[g[1]];var b=u.c2p(a.x,!0),_=f.c2p(a.y,!0),w=a.mrc||1;return n=o.extendFlat({},t,{index:a.i,color:(h.marker||{}).color,name:h.name,x0:b-w,x1:b+w,xLabelVal:a.x,y0:_-w,y1:_+w,yLabelVal:a.y}),c(a,h,n),n}var a=t(&quot;../../plots/cartesian/axes&quot;),o=t(&quot;../../lib&quot;),s=t(&quot;../../components/fx&quot;),l=t(&quot;../../components/color&quot;),c=t(&quot;../scatter/fill_hover_text&quot;);e.exports={hoverPoints:function(t,e,r,a){var o,s=t.cd[0].trace.hoveron,l=[];return-1!==s.indexOf(&quot;boxes&quot;)&amp;&amp;(l=l.concat(n(t,e,r,a))),-1!==s.indexOf(&quot;points&quot;)&amp;&amp;(o=i(t,e,r)),&quot;closest&quot;===a?o?[o]:l:o?(l.push(o),l):l},hoverOnBoxes:n,hoverOnPoints:i}},{&quot;../../components/color&quot;:618,&quot;../../components/fx&quot;:660,&quot;../../lib&quot;:743,&quot;../../plots/cartesian/axes&quot;:789,&quot;../scatter/fill_hover_text&quot;:1074}],900:[function(t,e,r){&quot;use strict&quot;;var n={};n.attributes=t(&quot;./attributes&quot;),n.layoutAttributes=t(&quot;./layout_attributes&quot;),n.supplyDefaults=t(&quot;./defaults&quot;).supplyDefaults,n.supplyLayoutDefaults=t(&quot;./layout_defaults&quot;).supplyLayoutDefaults,n.calc=t(&quot;./calc&quot;),n.setPositions=t(&quot;./set_positions&quot;).setPositions,n.plot=t(&quot;./plot&quot;).plot,n.style=t(&quot;./style&quot;),n.hoverPoints=t(&quot;./hover&quot;).hoverPoints,n.selectPoints=t(&quot;./select&quot;),n.moduleType=&quot;trace&quot;,n.name=&quot;box&quot;,n.basePlotModule=t(&quot;../../plots/cartesian&quot;),n.categories=[&quot;cartesian&quot;,&quot;symbols&quot;,&quot;oriented&quot;,&quot;box-violin&quot;,&quot;showLegend&quot;],n.meta={},e.exports=n},{&quot;../../plots/cartesian&quot;:800,&quot;./attributes&quot;:896,&quot;./calc&quot;:897,&quot;./defaults&quot;:898,&quot;./hover&quot;:899,&quot;./layout_attributes&quot;:901,&quot;./layout_defaults&quot;:902,&quot;./plot&quot;:903,&quot;./select&quot;:904,&quot;./set_positions&quot;:905,&quot;./style&quot;:906}],901:[function(t,e,r){&quot;use strict&quot;;e.exports={boxmode:{valType:&quot;enumerated&quot;,values:[&quot;group&quot;,&quot;overlay&quot;],dflt:&quot;overlay&quot;,editType:&quot;calc&quot;},boxgap:{valType:&quot;number&quot;,min:0,max:1,dflt:.3,editType:&quot;calc&quot;},boxgroupgap:{valType:&quot;number&quot;,min:0,max:1,dflt:.3,editType:&quot;calc&quot;}}},{}],902:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,n,i){for(var a,o=0;o&lt;r.length;o++)if(r[o].type===i){a=!0;break}a&amp;&amp;(n(i+&quot;mode&quot;),n(i+&quot;gap&quot;),n(i+&quot;groupgap&quot;))}var i=t(&quot;../../lib&quot;),a=t(&quot;./layout_attributes&quot;);e.exports={supplyLayoutDefaults:function(t,e,r){n(0,0,r,function(r,n){return i.coerce(t,e,a,r,n)},&quot;box&quot;)},_supply:n}},{&quot;../../lib&quot;:743,&quot;./layout_attributes&quot;:901}],903:[function(t,e,r){&quot;use strict&quot;;function n(){var t=u;return u=(69069*u+1)%4294967296,Math.abs(u-t)&lt;429496729?n():u/4294967296}function i(t,e,r,n){var i,a,o=e.pos,c=e.val,u=n.bPos,f=n.wdPos||0,h=n.bPosPxOffset||0,d=r.whiskerwidth||0;Array.isArray(n.bdPos)?(i=n.bdPos[0],a=n.bdPos[1]):(i=n.bdPos,a=n.bdPos),t.selectAll(&quot;path.box&quot;).data(l.identity).enter().append(&quot;path&quot;).style(&quot;vector-effect&quot;,&quot;non-scaling-stroke&quot;).attr(&quot;class&quot;,&quot;box&quot;).each(function(t){var e=t.pos,n=o.c2p(e+u,!0)+h,p=o.c2p(e+u-i,!0)+h,m=o.c2p(e+u+a,!0)+h,g=o.c2p(e+u-f,!0)+h,v=o.c2p(e+u+f,!0)+h,y=c.c2p(t.q1,!0),x=c.c2p(t.q3,!0),b=l.constrain(c.c2p(t.med,!0),Math.min(y,x)+1,Math.max(y,x)-1),_=c.c2p(!1===r.boxpoints?t.min:t.lf,!0),w=c.c2p(!1===r.boxpoints?t.max:t.uf,!0);&quot;h&quot;===r.orientation?s.select(this).attr(&quot;d&quot;,&quot;M&quot;+b+&quot;,&quot;+p+&quot;V&quot;+m+&quot;M&quot;+y+&quot;,&quot;+p+&quot;V&quot;+m+&quot;H&quot;+x+&quot;V&quot;+p+&quot;ZM&quot;+y+&quot;,&quot;+n+&quot;H&quot;+_+&quot;M&quot;+x+&quot;,&quot;+n+&quot;H&quot;+w+(0===d?&quot;&quot;:&quot;M&quot;+_+&quot;,&quot;+g+&quot;V&quot;+v+&quot;M&quot;+w+&quot;,&quot;+g+&quot;V&quot;+v)):s.select(this).attr(&quot;d&quot;,&quot;M&quot;+p+&quot;,&quot;+b+&quot;H&quot;+m+&quot;M&quot;+p+&quot;,&quot;+y+&quot;H&quot;+m+&quot;V&quot;+x+&quot;H&quot;+p+&quot;ZM&quot;+n+&quot;,&quot;+y+&quot;V&quot;+_+&quot;M&quot;+n+&quot;,&quot;+x+&quot;V&quot;+w+(0===d?&quot;&quot;:&quot;M&quot;+g+&quot;,&quot;+_+&quot;H&quot;+v+&quot;M&quot;+g+&quot;,&quot;+w+&quot;H&quot;+v))})}function a(t,e,r,i){var a=e.x,o=e.y,s=i.bdPos,d=i.bPos,p=r.boxpoints||r.points;u=2e9,t.selectAll(&quot;g.points&quot;).data(function(t){return t.forEach(function(t){t.t=i,t.trace=r}),t}).enter().append(&quot;g&quot;).attr(&quot;class&quot;,&quot;points&quot;).selectAll(&quot;path&quot;).data(function(t){var e,i,a=&quot;all&quot;===p?t.pts:t.pts.filter(function(e){return e.v&lt;t.lf||e.v&gt;t.uf}),o=Math.max((t.max-t.min)/10,t.q3-t.q1),c=1e-9*o,u=o*h,m=[],g=0;if(r.jitter){if(0===o)for(g=1,m=new Array(a.length),e=0;e&lt;a.length;e++)m[e]=1;else for(e=0;e&lt;a.length;e++){var v=Math.max(0,e-f),y=a[v].v,x=Math.min(a.length-1,e+f),b=a[x].v;&quot;all&quot;!==p&amp;&amp;(a[e].v&lt;t.lf?b=Math.min(b,t.lf):y=Math.max(y,t.uf));var _=Math.sqrt(u*(x-v)/(b-y+c))||0;_=l.constrain(Math.abs(_),0,1),m.push(_),g=Math.max(_,g)}i=2*r.jitter/g}for(e=0;e&lt;a.length;e++){var w=a[e],M=w.v,k=r.jitter?i*m[e]*(n()-.5):0,A=t.pos+d+s*(r.pointpos+k);&quot;h&quot;===r.orientation?(w.y=A,w.x=M):(w.x=A,w.y=M),&quot;suspectedoutliers&quot;===p&amp;&amp;M&lt;t.uo&amp;&amp;M&gt;t.lo&amp;&amp;(w.so=!0)}return a}).enter().append(&quot;path&quot;).classed(&quot;point&quot;,!0).call(c.translatePoints,a,o)}function o(t,e,r,n){var i,a,o=e.pos,c=e.val,u=n.bPos,f=n.bPosPxOffset||0;Array.isArray(n.bdPos)?(i=n.bdPos[0],a=n.bdPos[1]):(i=n.bdPos,a=n.bdPos),t.selectAll(&quot;path.mean&quot;).data(l.identity).enter().append(&quot;path&quot;).attr(&quot;class&quot;,&quot;mean&quot;).style({fill:&quot;none&quot;,&quot;vector-effect&quot;:&quot;non-scaling-stroke&quot;}).each(function(t){var e=o.c2p(t.pos+u,!0)+f,n=o.c2p(t.pos+u-i,!0)+f,l=o.c2p(t.pos+u+a,!0)+f,h=c.c2p(t.mean,!0),d=c.c2p(t.mean-t.sd,!0),p=c.c2p(t.mean+t.sd,!0);&quot;h&quot;===r.orientation?s.select(this).attr(&quot;d&quot;,&quot;M&quot;+h+&quot;,&quot;+n+&quot;V&quot;+l+(&quot;sd&quot;===r.boxmean?&quot;m0,0L&quot;+d+&quot;,&quot;+e+&quot;L&quot;+h+&quot;,&quot;+n+&quot;L&quot;+p+&quot;,&quot;+e+&quot;Z&quot;:&quot;&quot;)):s.select(this).attr(&quot;d&quot;,&quot;M&quot;+n+&quot;,&quot;+h+&quot;H&quot;+l+(&quot;sd&quot;===r.boxmean?&quot;m0,0L&quot;+e+&quot;,&quot;+d+&quot;L&quot;+n+&quot;,&quot;+h+&quot;L&quot;+e+&quot;,&quot;+p+&quot;Z&quot;:&quot;&quot;))})}var s=t(&quot;d3&quot;),l=t(&quot;../../lib&quot;),c=t(&quot;../../components/drawing&quot;),u=2e9,f=5,h=.01;e.exports={plot:function(t,e,r){var n=t._fullLayout,l=e.xaxis,c=e.yaxis;e.plot.select(&quot;.boxlayer&quot;).selectAll(&quot;g.trace.boxes&quot;).data(r).enter().append(&quot;g&quot;).attr(&quot;class&quot;,&quot;trace boxes&quot;).each(function(t){var e=t[0],r=e.t,u=e.trace,f=e.node3=s.select(this),h=n._numBoxes,d=&quot;group&quot;===n.boxmode&amp;&amp;h&gt;1,p=r.dPos*(1-n.boxgap)*(1-n.boxgroupgap)/(d?h:1),m=d?2*r.dPos*((r.num+.5)/h-.5)*(1-n.boxgap):0,g=p*u.whiskerwidth;if(!0!==u.visible||r.empty)s.select(this).remove();else{var v,y;&quot;h&quot;===u.orientation?(v=c,y=l):(v=l,y=c),r.bPos=m,r.bdPos=p,r.wdPos=g,i(f,{pos:v,val:y},u,r),u.boxpoints&amp;&amp;a(f,{x:l,y:c},u,r),u.boxmean&amp;&amp;o(f,{pos:v,val:y},u,r)}})},plotBoxAndWhiskers:i,plotPoints:a,plotBoxMean:o}},{&quot;../../components/drawing&quot;:643,&quot;../../lib&quot;:743,d3:128}],904:[function(t,e,r){&quot;use strict&quot;;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&lt;i.length;r++)for(n=0;n&lt;(i[r].pts||[]).length;n++)i[r].pts[n].selected=0;else for(r=0;r&lt;i.length;r++)for(n=0;n&lt;(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])?(s.push({pointNumber:l.i,x:a.c2d(l.x),y:o.c2d(l.y)}),l.selected=1):l.selected=0}return s}},{}],905:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,n,o){var s,l,c,u=e.calcdata,f=e._fullLayout,h=[],d=&quot;violin&quot;===t?&quot;_numViolins&quot;:&quot;_numBoxes&quot;;for(s=0;s&lt;r.length;s++)for(c=u[r[s]],l=0;l&lt;c.length;l++)h.push(c[l].pos);if(h.length){var p=a.distinctVals(h),m=p.minDiff/2;for(h.length===p.vals.length&amp;&amp;(f[d]=1),i.minDtick(n,p.minDiff,p.vals[0],!0),s=0;s&lt;r.length;s++)(c=u[r[s]])[0].t.dPos=m;var g=(1-f[t+&quot;gap&quot;])*(1-f[t+&quot;groupgap&quot;])*m/f[d];i.expand(n,p.vals,{vpadminus:m+o[0]*g,vpadplus:m+o[1]*g})}}var i=t(&quot;../../plots/cartesian/axes&quot;),a=t(&quot;../../lib&quot;),o=[&quot;v&quot;,&quot;h&quot;];e.exports={setPositions:function(t,e){for(var r=t.calcdata,i=e.xaxis,a=e.yaxis,s=0;s&lt;o.length;s++){for(var l=o[s],c=&quot;h&quot;===l?a:i,u=[],f=0,h=0,d=0;d&lt;r.length;d++){var p=r[d],m=p[0].t,g=p[0].trace;!0!==g.visible||&quot;box&quot;!==g.type||m.empty||g.orientation!==l||g.xaxis!==i._id||g.yaxis!==a._id||(u.push(d),!1!==g.boxpoints&amp;&amp;(f=Math.max(f,g.jitter-g.pointpos-1),h=Math.max(h,g.jitter+g.pointpos-1)))}n(&quot;box&quot;,t,u,c,[f,h])}},setPositionOffset:n}},{&quot;../../lib&quot;:743,&quot;../../plots/cartesian/axes&quot;:789}],906:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;d3&quot;),i=t(&quot;../../components/color&quot;),a=t(&quot;../../components/drawing&quot;);e.exports=function(t,e){var r=e?e[0].node3:n.select(t).selectAll(&quot;g.trace.boxes&quot;);r.style(&quot;opacity&quot;,function(t){return t[0].trace.opacity}),r.each(function(e){var r=n.select(this),o=e[0].trace,s=o.line.width;r.selectAll(&quot;path.box&quot;).style(&quot;stroke-width&quot;,s+&quot;px&quot;).call(i.stroke,o.line.color).call(i.fill,o.fillcolor),r.selectAll(&quot;path.mean&quot;).style({&quot;stroke-width&quot;:s,&quot;stroke-dasharray&quot;:2*s+&quot;px,&quot;+s+&quot;px&quot;}).call(i.stroke,o.line.color);var l=r.selectAll(&quot;path.point&quot;);a.pointStyle(l,o,t),a.selectedPointStyle(l,o)})}},{&quot;../../components/color&quot;:618,&quot;../../components/drawing&quot;:643,d3:128}],907:[function(t,e,r){&quot;use strict&quot;;function n(t){return{name:a.increasing.name,showlegend:a.increasing.showlegend,line:{color:i({},o.line.color,{dflt:t}),width:o.line.width,editType:&quot;style&quot;},fillcolor:o.fillcolor,editType:&quot;style&quot;}}var i=t(&quot;../../lib&quot;).extendFlat,a=t(&quot;../ohlc/attributes&quot;),o=t(&quot;../box/attributes&quot;);e.exports={x:a.x,open:a.open,high:a.high,low:a.low,close:a.close,line:{width:i({},o.line.width,{}),editType:&quot;style&quot;},increasing:n(a.increasing.line.color.dflt),decreasing:n(a.decreasing.line.color.dflt),text:a.text,whiskerwidth:i({},o.whiskerwidth,{dflt:0})}},{&quot;../../lib&quot;:743,&quot;../box/attributes&quot;:896,&quot;../ohlc/attributes&quot;:1024}],908:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,n){o(t,e,r,n),r(n+&quot;.line.color&quot;),r(n+&quot;.line.width&quot;,e.line.width),r(n+&quot;.fillcolor&quot;)}var i=t(&quot;../../lib&quot;),a=t(&quot;../ohlc/ohlc_defaults&quot;),o=t(&quot;../ohlc/direction_defaults&quot;),s=t(&quot;../ohlc/helpers&quot;),l=t(&quot;./attributes&quot;);e.exports=function(t,e,r,o){function c(r,n){return i.coerce(t,e,l,r,n)}s.pushDummyTransformOpts(t,e);0!==a(t,e,c,o)?(c(&quot;line.width&quot;),n(t,e,c,&quot;increasing&quot;),n(t,e,c,&quot;decreasing&quot;),c(&quot;text&quot;),c(&quot;whiskerwidth&quot;)):e.visible=!1}},{&quot;../../lib&quot;:743,&quot;../ohlc/direction_defaults&quot;:1026,&quot;../ohlc/helpers&quot;:1027,&quot;../ohlc/ohlc_defaults&quot;:1029,&quot;./attributes&quot;:907}],909:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../plot_api/register&quot;);e.exports={moduleType:&quot;trace&quot;,name:&quot;candlestick&quot;,basePlotModule:t(&quot;../../plots/cartesian&quot;),categories:[&quot;cartesian&quot;,&quot;showLegend&quot;,&quot;candlestick&quot;],meta:{},attributes:t(&quot;./attributes&quot;),supplyDefaults:t(&quot;./defaults&quot;)},n(t(&quot;../box&quot;)),n(t(&quot;./transform&quot;))},{&quot;../../plot_api/register&quot;:779,&quot;../../plots/cartesian&quot;:800,&quot;../box&quot;:900,&quot;./attributes&quot;:907,&quot;./defaults&quot;:908,&quot;./transform&quot;:910}],910:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r){var n={type:&quot;box&quot;,boxpoints:!1,visible:t.visible,hoverinfo:t.hoverinfo,opacity:t.opacity,xaxis:t.xaxis,yaxis:t.yaxis,transforms:o.makeTransform(t,e,r)},i=t[r];return i&amp;&amp;a.extendFlat(n,{x:t.x||[0],xcalendar:t.xcalendar,y:[].concat(t.low).concat(t.high),whiskerwidth:t.whiskerwidth,text:t.text,name:i.name,showlegend:i.showlegend,line:i.line,fillcolor:i.fillcolor}),n}var i=t(&quot;fast-isnumeric&quot;),a=t(&quot;../../lib&quot;),o=t(&quot;../ohlc/helpers&quot;);r.moduleType=&quot;transform&quot;,r.name=&quot;candlestick&quot;,r.attributes={},r.supplyDefaults=function(t,e,r,n){return o.clearEphemeralTransformOpts(n),o.copyOHLC(t,e),t},r.transform=function(t,e){for(var r=[],i=0;i&lt;t.length;i++){var a=t[i];&quot;candlestick&quot;===a.type?r.push(n(a,e,&quot;increasing&quot;),n(a,e,&quot;decreasing&quot;)):r.push(a)}return o.addRangeSlider(r,e.layout),r},r.calcTransform=function(t,e,r){for(var n=r.direction,a=o.getFilterFn(n),s=e.open,l=e.high,c=e.low,u=e.close,f=s.length,h=[],d=[],p=e._fullInput.x?function(t){var r=e.x[t];h.push(r,r,r,r,r,r)}:function(t){h.push(t,t,t,t,t,t)},m=function(t,e,r,n){d.push(r,t,n,n,n,e)},g=0;g&lt;f;g++)a(s[g],u[g])&amp;&amp;i(l[g])&amp;&amp;i(c[g])&amp;&amp;(p(g),m(s[g],l[g],c[g],u[g]));e.x=h,e.y=d}},{&quot;../../lib&quot;:743,&quot;../ohlc/helpers&quot;:1027,&quot;fast-isnumeric&quot;:140}],911:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;./axis_defaults&quot;);e.exports=function(t,e,r,i,a){i(&quot;a&quot;)||(i(&quot;da&quot;),i(&quot;a0&quot;));i(&quot;b&quot;)||(i(&quot;db&quot;),i(&quot;b0&quot;)),function(t,e,r,i){[&quot;aaxis&quot;,&quot;baxis&quot;].forEach(function(a){var o=a.charAt(0),s=t[a]||{},l={},c={tickfont:&quot;x&quot;,id:o+&quot;axis&quot;,letter:o,font:e.font,name:a,data:t[o],calendar:e.calendar,dfltColor:i,bgColor:r.paper_bgcolor,fullLayout:r};n(s,l,c),l._categories=l._categories||[],e[a]=l,t[a]||&quot;-&quot;===s.type||(t[a]={type:s.type})})}(t,e,r,a)}},{&quot;./axis_defaults&quot;:916}],912:[function(t,e,r){&quot;use strict&quot;;function n(t,e){if(!Array.isArray(t)||e&gt;=10)return null;for(var r=1/0,i=-1/0,a=t.length,o=0;o&lt;a;o++){var s=t[o];if(Array.isArray(s)){var l=n(s,e+1);l&amp;&amp;(r=Math.min(l[0],r),i=Math.max(l[1],i))}else r=Math.min(s,r),i=Math.max(s,i)}return[r,i]}e.exports=function(t){return n(t,0)}},{}],913:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../plots/font_attributes&quot;),i=t(&quot;./axis_attributes&quot;),a=t(&quot;../../components/color/attributes&quot;),o=n({editType:&quot;calc&quot;});o.family.dflt='&quot;Open Sans&quot;, verdana, arial, sans-serif',o.size.dflt=12,o.color.dflt=a.defaultLine,e.exports={carpet:{valType:&quot;string&quot;,editType:&quot;calc&quot;},x:{valType:&quot;data_array&quot;,editType:&quot;calc+clearAxisTypes&quot;},y:{valType:&quot;data_array&quot;,editType:&quot;calc+clearAxisTypes&quot;},a:{valType:&quot;data_array&quot;,editType:&quot;calc&quot;},a0:{valType:&quot;number&quot;,dflt:0,editType:&quot;calc&quot;},da:{valType:&quot;number&quot;,dflt:1,editType:&quot;calc&quot;},b:{valType:&quot;data_array&quot;,editType:&quot;calc&quot;},b0:{valType:&quot;number&quot;,dflt:0,editType:&quot;calc&quot;},db:{valType:&quot;number&quot;,dflt:1,editType:&quot;calc&quot;},cheaterslope:{valType:&quot;number&quot;,dflt:1,editType:&quot;calc&quot;},aaxis:i,baxis:i,font:o,color:{valType:&quot;color&quot;,dflt:a.defaultLine,editType:&quot;plot&quot;}}},{&quot;../../components/color/attributes&quot;:617,&quot;../../plots/font_attributes&quot;:816,&quot;./axis_attributes&quot;:915}],914:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t,e,r,n){var i,a,o,s,l,c,u,f,h,d,p,m,g,v=Array.isArray(r)?&quot;a&quot;:&quot;b&quot;,y=(&quot;a&quot;===v?t.aaxis:t.baxis).smoothing,x=&quot;a&quot;===v?t.a2i:t.b2j,b=&quot;a&quot;===v?r:n,_=&quot;a&quot;===v?n:r,w=&quot;a&quot;===v?e.a.length:e.b.length,M=&quot;a&quot;===v?e.b.length:e.a.length,k=Math.floor(&quot;a&quot;===v?t.b2j(_):t.a2i(_)),A=&quot;a&quot;===v?function(e){return t.evalxy([],e,k)}:function(e){return t.evalxy([],k,e)};y&amp;&amp;(o=Math.max(0,Math.min(M-2,k)),s=k-o,a=&quot;a&quot;===v?function(e,r){return t.dxydi([],e,o,r,s)}:function(e,r){return t.dxydj([],o,e,s,r)});var T=x(b[0]),S=x(b[1]),E=T&lt;S?1:-1,L=1e-8*(S-T),C=E&gt;0?Math.floor:Math.ceil,z=E&gt;0?Math.ceil:Math.floor,D=E&gt;0?Math.min:Math.max,I=E&gt;0?Math.max:Math.min,P=C(T+L),O=z(S-L),F=[[u=A(T)]];for(i=P;i*E&lt;O*E;i+=E)l=[],p=I(T,i),g=(m=D(S,i+E))-p,c=Math.max(0,Math.min(w-2,Math.floor(.5*(p+m)))),f=A(m),y&amp;&amp;(h=a(c,p-c),d=a(c,m-c),l.push([u[0]+h[0]/3*g,u[1]+h[1]/3*g]),l.push([f[0]-d[0]/3*g,f[1]-d[1]/3*g])),l.push(f),F.push(l),u=f;return F}},{}],915:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../plots/font_attributes&quot;),i=t(&quot;../../components/color/attributes&quot;),a=t(&quot;../../plots/cartesian/layout_attributes&quot;),o=t(&quot;../../plot_api/edit_types&quot;).overrideAll;e.exports={color:{valType:&quot;color&quot;,editType:&quot;calc&quot;},smoothing:{valType:&quot;number&quot;,dflt:1,min:0,max:1.3,editType:&quot;calc&quot;},title:{valType:&quot;string&quot;,editType:&quot;calc&quot;},titlefont:n({editType:&quot;calc&quot;}),titleoffset:{valType:&quot;number&quot;,dflt:10,editType:&quot;calc&quot;},type:{valType:&quot;enumerated&quot;,values:[&quot;-&quot;,&quot;linear&quot;,&quot;date&quot;,&quot;category&quot;],dflt:&quot;-&quot;,editType:&quot;calc&quot;},autorange:{valType:&quot;enumerated&quot;,values:[!0,!1,&quot;reversed&quot;],dflt:!0,editType:&quot;calc&quot;},rangemode:{valType:&quot;enumerated&quot;,values:[&quot;normal&quot;,&quot;tozero&quot;,&quot;nonnegative&quot;],dflt:&quot;normal&quot;,editType:&quot;calc&quot;},range:{valType:&quot;info_array&quot;,editType:&quot;calc&quot;,items:[{valType:&quot;any&quot;,editType:&quot;calc&quot;},{valType:&quot;any&quot;,editType:&quot;calc&quot;}]},fixedrange:{valType:&quot;boolean&quot;,dflt:!1,editType:&quot;calc&quot;},cheatertype:{valType:&quot;enumerated&quot;,values:[&quot;index&quot;,&quot;value&quot;],dflt:&quot;value&quot;,editType:&quot;calc&quot;},tickmode:{valType:&quot;enumerated&quot;,values:[&quot;linear&quot;,&quot;array&quot;],dflt:&quot;array&quot;,editType:&quot;calc&quot;},nticks:{valType:&quot;integer&quot;,min:0,dflt:0,editType:&quot;calc&quot;},tickvals:{valType:&quot;data_array&quot;,editType:&quot;calc&quot;},ticktext:{valType:&quot;data_array&quot;,editType:&quot;calc&quot;},showticklabels:{valType:&quot;enumerated&quot;,values:[&quot;start&quot;,&quot;end&quot;,&quot;both&quot;,&quot;none&quot;],dflt:&quot;start&quot;,editType:&quot;calc&quot;},tickfont:n({editType:&quot;calc&quot;}),tickangle:{valType:&quot;angle&quot;,dflt:&quot;auto&quot;,editType:&quot;calc&quot;},tickprefix:{valType:&quot;string&quot;,dflt:&quot;&quot;,editType:&quot;calc&quot;},showtickprefix:{valType:&quot;enumerated&quot;,values:[&quot;all&quot;,&quot;first&quot;,&quot;last&quot;,&quot;none&quot;],dflt:&quot;all&quot;,editType:&quot;calc&quot;},ticksuffix:{valType:&quot;string&quot;,dflt:&quot;&quot;,editType:&quot;calc&quot;},showticksuffix:{valType:&quot;enumerated&quot;,values:[&quot;all&quot;,&quot;first&quot;,&quot;last&quot;,&quot;none&quot;],dflt:&quot;all&quot;,editType:&quot;calc&quot;},showexponent:{valType:&quot;enumerated&quot;,values:[&quot;all&quot;,&quot;first&quot;,&quot;last&quot;,&quot;none&quot;],dflt:&quot;all&quot;,editType:&quot;calc&quot;},exponentformat:{valType:&quot;enumerated&quot;,values:[&quot;none&quot;,&quot;e&quot;,&quot;E&quot;,&quot;power&quot;,&quot;SI&quot;,&quot;B&quot;],dflt:&quot;B&quot;,editType:&quot;calc&quot;},separatethousands:{valType:&quot;boolean&quot;,dflt:!1,editType:&quot;calc&quot;},tickformat:{valType:&quot;string&quot;,dflt:&quot;&quot;,editType:&quot;calc&quot;},tickformatstops:o(a.tickformatstops,&quot;calc&quot;,&quot;from-root&quot;),categoryorder:{valType:&quot;enumerated&quot;,values:[&quot;trace&quot;,&quot;category ascending&quot;,&quot;category descending&quot;,&quot;array&quot;],dflt:&quot;trace&quot;,editType:&quot;calc&quot;},categoryarray:{valType:&quot;data_array&quot;,editType:&quot;calc&quot;},labelpadding:{valType:&quot;integer&quot;,dflt:10,editType:&quot;calc&quot;},labelprefix:{valType:&quot;string&quot;,editType:&quot;calc&quot;},labelsuffix:{valType:&quot;string&quot;,dflt:&quot;&quot;,editType:&quot;calc&quot;},showline:{valType:&quot;boolean&quot;,dflt:!1,editType:&quot;calc&quot;},linecolor:{valType:&quot;color&quot;,dflt:i.defaultLine,editType:&quot;calc&quot;},linewidth:{valType:&quot;number&quot;,min:0,dflt:1,editType:&quot;calc&quot;},gridcolor:{valType:&quot;color&quot;,editType:&quot;calc&quot;},gridwidth:{valType:&quot;number&quot;,min:0,dflt:1,editType:&quot;calc&quot;},showgrid:{valType:&quot;boolean&quot;,dflt:!0,editType:&quot;calc&quot;},minorgridcount:{valType:&quot;integer&quot;,min:0,dflt:0,editType:&quot;calc&quot;},minorgridwidth:{valType:&quot;number&quot;,min:0,dflt:1,editType:&quot;calc&quot;},minorgridcolor:{valType:&quot;color&quot;,dflt:i.lightLine,editType:&quot;calc&quot;},startline:{valType:&quot;boolean&quot;,editType:&quot;calc&quot;},startlinecolor:{valType:&quot;color&quot;,editType:&quot;calc&quot;},startlinewidth:{valType:&quot;number&quot;,dflt:1,editType:&quot;calc&quot;},endline:{valType:&quot;boolean&quot;,editType:&quot;calc&quot;},endlinewidth:{valType:&quot;number&quot;,dflt:1,editType:&quot;calc&quot;},endlinecolor:{valType:&quot;color&quot;,editType:&quot;calc&quot;},tick0:{valType:&quot;number&quot;,min:0,dflt:0,editType:&quot;calc&quot;},dtick:{valType:&quot;number&quot;,min:0,dflt:1,editType:&quot;calc&quot;},arraytick0:{valType:&quot;integer&quot;,min:0,dflt:0,editType:&quot;calc&quot;},arraydtick:{valType:&quot;integer&quot;,min:1,dflt:1,editType:&quot;calc&quot;},editType:&quot;calc&quot;}},{&quot;../../components/color/attributes&quot;:617,&quot;../../plot_api/edit_types&quot;:773,&quot;../../plots/cartesian/layout_attributes&quot;:801,&quot;../../plots/font_attributes&quot;:816}],916:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;./attributes&quot;),i=t(&quot;../../components/color&quot;).addOpacity,a=t(&quot;../../registry&quot;),o=t(&quot;../../lib&quot;),s=t(&quot;../../plots/cartesian/tick_value_defaults&quot;),l=t(&quot;../../plots/cartesian/tick_label_defaults&quot;),c=t(&quot;../../plots/cartesian/category_order_defaults&quot;),u=t(&quot;../../plots/cartesian/set_convert&quot;),f=t(&quot;../../plots/cartesian/ordered_categories&quot;),h=t(&quot;../../plots/cartesian/axis_autotype&quot;);e.exports=function(t,e,r){function d(r,n){return o.coerce(t,e,v,r,n)}function p(r,n){return o.coerce2(t,e,v,r,n)}var m=r.letter,g=r.font||{},v=n[m+&quot;axis&quot;];r.noHover=!0,r.name&amp;&amp;(e._name=r.name,e._id=r.name);var y=d(&quot;type&quot;);if(&quot;-&quot;===y&amp;&amp;(r.data&amp;&amp;function(t,e){if(&quot;-&quot;===t.type){var r=t[t._id.charAt(0)+&quot;calendar&quot;];t.type=h(e,r)}}(e,r.data),&quot;-&quot;===e.type?e.type=&quot;linear&quot;:y=t.type=e.type),d(&quot;smoothing&quot;),d(&quot;cheatertype&quot;),d(&quot;showticklabels&quot;),d(&quot;labelprefix&quot;,m+&quot; = &quot;),d(&quot;labelsuffix&quot;),d(&quot;showtickprefix&quot;),d(&quot;showticksuffix&quot;),d(&quot;separatethousands&quot;),d(&quot;tickformat&quot;),d(&quot;exponentformat&quot;),d(&quot;showexponent&quot;),d(&quot;categoryorder&quot;),d(&quot;tickmode&quot;),d(&quot;tickvals&quot;),d(&quot;ticktext&quot;),d(&quot;tick0&quot;),d(&quot;dtick&quot;),&quot;array&quot;===e.tickmode&amp;&amp;(d(&quot;arraytick0&quot;),d(&quot;arraydtick&quot;)),d(&quot;labelpadding&quot;),e._hovertitle=m,&quot;date&quot;===y){a.getComponentMethod(&quot;calendars&quot;,&quot;handleDefaults&quot;)(t,e,&quot;calendar&quot;,r.calendar)}u(e,r.fullLayout);var x=d(&quot;color&quot;,r.dfltColor),b=x===t.color?x:g.color;d(&quot;title&quot;),o.coerceFont(d,&quot;titlefont&quot;,{family:g.family,size:Math.round(1.2*g.size),color:b}),d(&quot;titleoffset&quot;),d(&quot;tickangle&quot;);d(&quot;autorange&quot;,!e.isValidRange(t.range))&amp;&amp;d(&quot;rangemode&quot;),d(&quot;range&quot;),e.cleanRange(),d(&quot;fixedrange&quot;),s(t,e,d,y),l(t,e,d,y,r),c(t,e,d);var _=p(&quot;gridcolor&quot;,i(x,.3)),w=p(&quot;gridwidth&quot;),M=d(&quot;showgrid&quot;);M||(delete e.gridcolor,delete e.gridwidth);var k=p(&quot;startlinecolor&quot;,x),A=p(&quot;startlinewidth&quot;,w);d(&quot;startline&quot;,e.showgrid||!!k||!!A)||(delete e.startlinecolor,delete e.startlinewidth);var T=p(&quot;endlinecolor&quot;,x),S=p(&quot;endlinewidth&quot;,w);return d(&quot;endline&quot;,e.showgrid||!!T||!!S)||(delete e.endlinecolor,delete e.endlinewidth),M?(d(&quot;minorgridcount&quot;),d(&quot;minorgridwidth&quot;,w),d(&quot;minorgridcolor&quot;,i(_,.06)),e.minorgridcount||(delete e.minorgridwidth,delete e.minorgridcolor)):(delete e.gridcolor,delete e.gridWidth),e._initialCategories=&quot;category&quot;===y?f(m,e.categoryorder,e.categoryarray,r.data):[],&quot;none&quot;===e.showticklabels&amp;&amp;(delete e.tickfont,delete e.tickangle,delete e.showexponent,delete e.exponentformat,delete e.tickformat,delete e.showticksuffix,delete e.showtickprefix),e.showticksuffix||delete e.ticksuffix,e.showtickprefix||delete e.tickprefix,d(&quot;tickmode&quot;),(!e.title||e.title&amp;&amp;0===e.title.length)&amp;&amp;(delete e.titlefont,delete e.titleoffset),e}},{&quot;../../components/color&quot;:618,&quot;../../lib&quot;:743,&quot;../../plots/cartesian/axis_autotype&quot;:790,&quot;../../plots/cartesian/category_order_defaults&quot;:793,&quot;../../plots/cartesian/ordered_categories&quot;:804,&quot;../../plots/cartesian/set_convert&quot;:808,&quot;../../plots/cartesian/tick_label_defaults&quot;:809,&quot;../../plots/cartesian/tick_value_defaults&quot;:811,&quot;../../registry&quot;:873,&quot;./attributes&quot;:913}],917:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../plots/cartesian/axes&quot;),i=t(&quot;./cheater_basis&quot;),a=t(&quot;./array_minmax&quot;),o=t(&quot;./map_2d_array&quot;),s=t(&quot;./calc_gridlines&quot;),l=t(&quot;./calc_labels&quot;),c=t(&quot;./calc_clippath&quot;),u=t(&quot;../heatmap/clean_2d_array&quot;),f=t(&quot;./smooth_fill_2d_array&quot;);e.exports=function(t,e){var r,h=n.getFromId(t,e.xaxis||&quot;x&quot;),d=n.getFromId(t,e.yaxis||&quot;y&quot;),p=e.aaxis,m=e.baxis,g=e._a=e.a,v=e._b=e.b,y={},x=e.y;if(e._cheater){var b=&quot;index&quot;===p.cheatertype?g.length:g,_=&quot;index&quot;===m.cheatertype?v.length:v;e.x=r=i(b,_,e.cheaterslope)}else r=e.x;e._x=e.x=r=u(r),e._y=e.y=x=u(x),f(r,g,v),f(x,g,v),e.setScale(),y.xp=e.xp=o(e.xp,r,h.c2p),y.yp=e.yp=o(e.yp,x,d.c2p);var w=a(r),M=a(x),k=.5*(w[1]-w[0]),A=.5*(w[1]+w[0]),T=.5*(M[1]-M[0]),S=.5*(M[1]+M[0]);return w=[A-1.3*k,A+1.3*k],M=[S-1.3*T,S+1.3*T],n.expand(h,w,{padded:!0}),n.expand(d,M,{padded:!0}),s(e,y,&quot;a&quot;,&quot;b&quot;),s(e,y,&quot;b&quot;,&quot;a&quot;),l(e,p),l(e,m),y.clipsegments=c(e.xctrl,e.yctrl,p,m),y.x=r,y.y=x,y.a=g,y.b=v,[y]}},{&quot;../../plots/cartesian/axes&quot;:789,&quot;../heatmap/clean_2d_array&quot;:979,&quot;./array_minmax&quot;:912,&quot;./calc_clippath&quot;:918,&quot;./calc_gridlines&quot;:919,&quot;./calc_labels&quot;:920,&quot;./cheater_basis&quot;:922,&quot;./map_2d_array&quot;:934,&quot;./smooth_fill_2d_array&quot;:938}],918:[function(t,e,r){&quot;use strict&quot;;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&lt;=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&lt;=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&gt;=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&gt;=0;i--)a[f-i]=t[i][0],o[f-i]=e[i][0];return s.push({x:a,y:o,bicubic:c}),s}},{}],919:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../plots/cartesian/axes&quot;),i=t(&quot;../../lib/extend&quot;).extendFlat;e.exports=function(t,e,r,a){function o(e){var n,i,o,s,l,c,u,f,h,d,p,g,v=[],y=[],x={};if(&quot;b&quot;===r)for(i=t.b2j(e),o=Math.floor(Math.max(0,Math.min(P-2,i))),s=i-o,x.length=P,x.crossLength=I,x.xy=function(e){return t.evalxy([],e,i)},x.dxy=function(e,r){return t.dxydi([],e,o,r,s)},n=0;n&lt;I;n++)c=Math.min(I-2,n),u=n-c,f=t.evalxy([],n,i),E.smoothing&amp;&amp;n&gt;0&amp;&amp;(h=t.dxydi([],n-1,o,0,s),v.push(l[0]+h[0]/3),y.push(l[1]+h[1]/3),d=t.dxydi([],n-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(n=t.a2i(e),c=Math.floor(Math.max(0,Math.min(I-2,n))),u=n-c,x.length=I,x.crossLength=P,x.xy=function(e){return t.evalxy([],n,e)},x.dxy=function(e,r){return t.dxydj([],c,e,u,r)},i=0;i&lt;P;i++)o=Math.min(P-2,i),s=i-o,f=t.evalxy([],n,i),E.smoothing&amp;&amp;i&gt;0&amp;&amp;(p=t.dxydj([],c,i-1,u,0),v.push(l[0]+p[0]/3),y.push(l[1]+p[1]/3),g=t.dxydj([],c,i-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=r,x.axis=M,x.crossAxis=E,x.value=e,x.constvar=a,x.index=m,x.x=v,x.y=y,x.smoothing=E.smoothing,x}function s(e){var n,i,o,s,l,c=[],u=[],f={};if(f.length=w.length,f.crossLength=S.length,&quot;b&quot;===r)for(o=Math.max(0,Math.min(P-2,e)),l=Math.min(1,Math.max(0,e-o)),f.xy=function(r){return t.evalxy([],r,e)},f.dxy=function(e,r){return t.dxydi([],e,o,r,l)},n=0;n&lt;z;n++)c[n]=L[e*O][n],u[n]=C[e*O][n];else for(i=Math.max(0,Math.min(I-2,e)),s=Math.min(1,Math.max(0,e-i)),f.xy=function(r){return t.evalxy([],e,r)},f.dxy=function(e,r){return t.dxydj([],i,e,s,r)},n=0;n&lt;D;n++)c[n]=L[n][e*O],u[n]=C[n][e*O];return f.axisLetter=r,f.axis=M,f.crossAxis=E,f.value=w[e],f.constvar=a,f.index=e,f.x=c,f.y=u,f.smoothing=E.smoothing,f}var l,c,u,f,h,d,p,m,g,v,y,x,b,_,w=t[r],M=t[r+&quot;axis&quot;],k=M._gridlines=[],A=M._minorgridlines=[],T=M._boundarylines=[],S=t[a],E=t[a+&quot;axis&quot;];if(&quot;array&quot;===M.tickmode)for(M.tickvals=[],l=0;l&lt;w.length;l++)M.tickvals.push(w[l]);var L=t.xctrl,C=t.yctrl,z=L[0].length,D=L.length,I=t.a.length,P=t.b.length;n.calcTicks(M);var O=M.smoothing?3:1;if(&quot;array&quot;===M.tickmode){for(f=5e-15,d=(h=[Math.floor((w.length-1-M.arraytick0)/M.arraydtick*(1+f)),Math.ceil(-M.arraytick0/M.arraydtick/(1+f))].sort(function(t,e){return t-e}))[0]-1,p=h[1]+1,m=d;m&lt;p;m++)(c=M.arraytick0+M.arraydtick*m)&lt;0||c&gt;w.length-1||k.push(i(s(c),{color:M.gridcolor,width:M.gridwidth}));for(m=d;m&lt;p;m++)if(u=M.arraytick0+M.arraydtick*m,y=Math.min(u+M.arraydtick,w.length-1),!(u&lt;0||u&gt;w.length-1||y&lt;0||y&gt;w.length-1))for(x=w[u],b=w[y],l=0;l&lt;M.minorgridcount;l++)(_=y-u)&lt;=0||(v=x+(b-x)*(l+1)/(M.minorgridcount+1)*(M.arraydtick/_))&lt;w[0]||v&gt;w[w.length-1]||A.push(i(o(v),{color:M.minorgridcolor,width:M.minorgridwidth}));M.startline&amp;&amp;T.push(i(s(0),{color:M.startlinecolor,width:M.startlinewidth})),M.endline&amp;&amp;T.push(i(s(w.length-1),{color:M.endlinecolor,width:M.endlinewidth}))}else{for(f=5e-15,d=(h=[Math.floor((w[w.length-1]-M.tick0)/M.dtick*(1+f)),Math.ceil((w[0]-M.tick0)/M.dtick/(1+f))].sort(function(t,e){return t-e}))[0],p=h[1],m=d;m&lt;=p;m++)g=M.tick0+M.dtick*m,k.push(i(o(g),{color:M.gridcolor,width:M.gridwidth}));for(m=d-1;m&lt;p+1;m++)for(g=M.tick0+M.dtick*m,l=0;l&lt;M.minorgridcount;l++)(v=g+M.dtick*(l+1)/(M.minorgridcount+1))&lt;w[0]||v&gt;w[w.length-1]||A.push(i(o(v),{color:M.minorgridcolor,width:M.minorgridwidth}));M.startline&amp;&amp;T.push(i(o(w[0]),{color:M.startlinecolor,width:M.startlinewidth})),M.endline&amp;&amp;T.push(i(o(w[w.length-1]),{color:M.endlinecolor,width:M.endlinewidth}))}}},{&quot;../../lib/extend&quot;:732,&quot;../../plots/cartesian/axes&quot;:789}],920:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../plots/cartesian/axes&quot;),i=t(&quot;../../lib/extend&quot;).extendFlat;e.exports=function(t,e){var r,a,o,s=e._labels=[],l=e._gridlines;for(r=0;r&lt;l.length;r++)o=l[r],-1!==[&quot;start&quot;,&quot;both&quot;].indexOf(e.showticklabels)&amp;&amp;(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!==[&quot;end&quot;,&quot;both&quot;].indexOf(e.showticklabels)&amp;&amp;(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))}},{&quot;../../lib/extend&quot;:732,&quot;../../plots/cartesian/axes&quot;:789}],921:[function(t,e,r){&quot;use strict&quot;;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,d=l*(l+c)*3;return[[e[0]+(h&amp;&amp;u/h),e[1]+(h&amp;&amp;f/h)],[e[0]-(d&amp;&amp;u/d),e[1]-(d&amp;&amp;f/d)]]}},{}],922:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib&quot;).isArray;e.exports=function(t,e,r){var i,a,o,s,l,c=[],u=n(t)?t.length:t,f=n(e)?e.length:e,h=n(t)?t:null,d=n(e)?e:null;h&amp;&amp;(o=(h.length-1)/(h[h.length-1]-h[0])/(u-1)),d&amp;&amp;(s=(d.length-1)/(d[d.length-1]-d[0])/(f-1));var p,m=1/0,g=-1/0;for(a=0;a&lt;f;a++)for(c[a]=[],l=d?(d[a]-d[0])*s:a/(f-1),i=0;i&lt;u;i++)p=(h?(h[i]-h[0])*o:i/(u-1))-l*r,m=Math.min(p,m),g=Math.max(p,g),c[a][i]=p;var v=1/(g-m),y=-m*v;for(a=0;a&lt;f;a++)for(i=0;i&lt;u;i++)c[a][i]=v*c[a][i]+y;return c}},{&quot;../../lib&quot;:743}],923:[function(t,e,r){&quot;use strict&quot;;function n(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]}var i=t(&quot;./catmull_rom&quot;),a=t(&quot;../../lib&quot;).ensureArray;e.exports=function(t,e,r,o,s,l){var c,u,f,h,d,p,m,g,v,y,x=r[0].length,b=r.length,_=s?3*x-2:x,w=l?3*b-2:b;for(t=a(t,w),e=a(e,w),f=0;f&lt;w;f++)t[f]=a(t[f],_),e[f]=a(e[f],_);for(u=0,h=0;u&lt;b;u++,h+=l?3:1)for(d=t[h],p=e[h],m=r[u],g=o[u],c=0,f=0;c&lt;x;c++,f+=s?3:1)d[f]=m[c],p[f]=g[c];if(s)for(u=0,h=0;u&lt;b;u++,h+=l?3:1){for(c=1,f=3;c&lt;x-1;c++,f+=3)v=i([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=n([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=n([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&lt;_;f++){for(h=3;h&lt;w-3;h+=3)v=i([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=n([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=n([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&amp;&amp;l)for(h=1;h&lt;w;h+=(h+1)%3==0?2:1){for(f=3;f&lt;_-3;f+=3)v=i([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=n([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=n([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]}},{&quot;../../lib&quot;:743,&quot;./catmull_rom&quot;:921}],924:[function(t,e,r){&quot;use strict&quot;;e.exports={RELATIVE_CULL_TOLERANCE:1e-6}},{}],925:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t,e,r){return e&amp;&amp;r?function(e,r,n,i,a){e||(e=[]);var o,s,l,c,u,f;r*=3,n*=3;var h=i*i,d=1-i,p=d*d,m=d*i*2,g=-3*p,v=3*(p-m),y=3*(m-h),x=3*h,b=a*a,_=b*a,w=1-a,M=w*w,k=M*w;for(f=0;f&lt;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*(M*a*s+w*b*l)+_*c;return e}:e?function(e,r,n,i,a){e||(e=[]);var o,s,l,c;r*=3;var u=i*i,f=1-i,h=f*f,d=f*i*2,p=-3*h,m=3*(h-d),g=3*(d-u),v=3*u,y=1-a;for(l=0;l&lt;t.length;l++)o=p*(c=t[l])[n][r]+m*c[n][r+1]+g*c[n][r+2]+v*c[n][r+3],s=p*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){e||(e=[]);var o,s,l,c,u,f;n*=3;var h=a*a,d=h*a,p=1-a,m=p*p,g=m*p;for(u=0;u&lt;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+p*h*l)+d*c;return e}:function(e,r,n,i,a){e||(e=[]);var o,s,l,c,u=1-a;for(l=0;l&lt;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}}},{}],926:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t,e,r){return e&amp;&amp;r?function(e,r,n,i,a){e||(e=[]);var o,s,l,c,u,f;r*=3,n*=3;var h=i*i,d=h*i,p=1-i,m=p*p,g=m*p,v=a*a,y=1-a,x=y*y,b=y*a*2,_=-3*x,w=3*(x-b),M=3*(b-v),k=3*v;for(f=0;f&lt;t.length;f++)o=_*(u=t[f])[n][r]+w*u[n+1][r]+M*u[n+2][r]+k*u[n+3][r],s=_*u[n][r+1]+w*u[n+1][r+1]+M*u[n+2][r+1]+k*u[n+3][r+1],l=_*u[n][r+2]+w*u[n+1][r+2]+M*u[n+2][r+2]+k*u[n+3][r+2],c=_*u[n][r+3]+w*u[n+1][r+3]+M*u[n+2][r+3]+k*u[n+3][r+3],e[f]=g*o+3*(m*i*s+p*h*l)+d*c;return e}:e?function(e,r,n,i,a){e||(e=[]);var o,s,l,c,u,f;r*=3;var h=a*a,d=h*a,p=1-a,m=p*p,g=m*p;for(u=0;u&lt;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+p*h*l)+d*c;return e}:r?function(e,r,n,i,a){e||(e=[]);var o,s,l,c;n*=3;var u=1-i,f=a*a,h=1-a,d=h*h,p=h*a*2,m=-3*d,g=3*(d-p),v=3*(p-f),y=3*f;for(l=0;l&lt;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){e||(e=[]);var o,s,l,c,u=1-i;for(l=0;l&lt;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}}},{}],927:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t,e,r,n,i){var a=e-2,o=r-2;return n&amp;&amp;i?function(e,r,n){e||(e=[]);var i,s,l,c,u,f,h=Math.max(0,Math.min(Math.floor(r),a)),d=Math.max(0,Math.min(Math.floor(n),o)),p=Math.max(0,Math.min(1,r-h)),m=Math.max(0,Math.min(1,n-d));h*=3,d*=3;var g=p*p,v=g*p,y=1-p,x=y*y,b=x*y,_=m*m,w=_*m,M=1-m,k=M*M,A=k*M;for(f=0;f&lt;t.length;f++)i=b*(u=t[f])[d][h]+3*(x*p*u[d][h+1]+y*g*u[d][h+2])+v*u[d][h+3],s=b*u[d+1][h]+3*(x*p*u[d+1][h+1]+y*g*u[d+1][h+2])+v*u[d+1][h+3],l=b*u[d+2][h]+3*(x*p*u[d+2][h+1]+y*g*u[d+2][h+2])+v*u[d+2][h+3],c=b*u[d+3][h]+3*(x*p*u[d+3][h+1]+y*g*u[d+3][h+2])+v*u[d+3][h+3],e[f]=A*i+3*(k*m*s+M*_*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)),d=Math.max(0,Math.min(Math.floor(n),o)),p=Math.max(0,Math.min(1,r-h)),m=Math.max(0,Math.min(1,n-d));h*=3;var g=p*p,v=g*p,y=1-p,x=y*y,b=x*y,_=1-m;for(u=0;u&lt;t.length;u++)i=_*(f=t[u])[d][h]+m*f[d+1][h],s=_*f[d][h+1]+m*f[d+1][h+1],l=_*f[d][h+2]+m*f[d+1][h+1],c=_*f[d][h+3]+m*f[d+1][h+1],e[u]=b*i+3*(x*p*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)),d=Math.max(0,Math.min(Math.floor(n),o)),p=Math.max(0,Math.min(1,r-h)),m=Math.max(0,Math.min(1,n-d));d*=3;var g=m*m,v=g*m,y=1-m,x=y*y,b=x*y,_=1-p;for(u=0;u&lt;t.length;u++)i=_*(f=t[u])[d][h]+p*f[d][h+1],s=_*f[d+1][h]+p*f[d+1][h+1],l=_*f[d+2][h]+p*f[d+2][h+1],c=_*f[d+3][h]+p*f[d+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)),d=Math.max(0,Math.min(1,n-f)),p=1-d,m=1-h;for(l=0;l&lt;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]=p*i+d*s;return e}}},{}],928:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib&quot;),i=t(&quot;./xy_defaults&quot;),a=t(&quot;./ab_defaults&quot;),o=t(&quot;./set_convert&quot;),s=t(&quot;./attributes&quot;),l=t(&quot;../../components/color/attributes&quot;);e.exports=function(t,e,r,c){function u(r,i){return n.coerce(t,e,s,r,i)}e._clipPathId=&quot;clip&quot;+e.uid+&quot;carpet&quot;;var f=u(&quot;color&quot;,l.defaultLine);if(n.coerceFont(u,&quot;font&quot;),u(&quot;carpet&quot;),a(t,e,c,u,f),e.a&amp;&amp;e.b){e.a.length&lt;3&amp;&amp;(e.aaxis.smoothing=0),e.b.length&lt;3&amp;&amp;(e.baxis.smoothing=0);var h=i(t,e,u);o(e),e._cheater&amp;&amp;u(&quot;cheaterslope&quot;),h||(e.visible=!1)}else e.visible=!1}},{&quot;../../components/color/attributes&quot;:617,&quot;../../lib&quot;:743,&quot;./ab_defaults&quot;:911,&quot;./attributes&quot;:913,&quot;./set_convert&quot;:937,&quot;./xy_defaults&quot;:939}],929:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t){return Array.isArray(t[0])}},{}],930:[function(t,e,r){&quot;use strict&quot;;var n={};n.attributes=t(&quot;./attributes&quot;),n.supplyDefaults=t(&quot;./defaults&quot;),n.plot=t(&quot;./plot&quot;),n.calc=t(&quot;./calc&quot;),n.animatable=!0,n.moduleType=&quot;trace&quot;,n.name=&quot;carpet&quot;,n.basePlotModule=t(&quot;../../plots/cartesian&quot;),n.categories=[&quot;cartesian&quot;,&quot;carpet&quot;,&quot;carpetAxis&quot;,&quot;notLegendIsolatable&quot;],n.meta={},e.exports=n},{&quot;../../plots/cartesian&quot;:800,&quot;./attributes&quot;:913,&quot;./calc&quot;:917,&quot;./defaults&quot;:928,&quot;./plot&quot;:936}],931:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t,e){for(var r,n=t._fullData.length,i=0;i&lt;n;i++){var a=t._fullData[i];if(a.index!==e.index&amp;&amp;(&quot;carpet&quot;===a.type&amp;&amp;(r||(r=a),a.carpet===e.carpet)))return a}return r}},{}],932:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t,e,r){if(0===t.length)return&quot;&quot;;var n,i=[],a=r?3:1;for(n=0;n&lt;t.length;n+=a)i.push(t[n]+&quot;,&quot;+e[n]),r&amp;&amp;n&lt;t.length-a&amp;&amp;(i.push(&quot;C&quot;),i.push([t[n+1]+&quot;,&quot;+e[n+1],t[n+2]+&quot;,&quot;+e[n+2]+&quot; &quot;].join(&quot; &quot;)));return i.join(r?&quot;&quot;:&quot;L&quot;)}},{}],933:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t,e,r){var n;for(Array.isArray(t)?t.length&gt;e.length&amp;&amp;(t=t.slice(0,e.length)):t=[],n=0;n&lt;e.length;n++)t[n]=r(e[n]);return t}},{}],934:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t,e,r){var n,i;for(Array.isArray(t)?t.length&gt;e.length&amp;&amp;(t=t.slice(0,e.length)):t=[],n=0;n&lt;e.length;n++)for(Array.isArray(t[n])?t[n].length&gt;e.length&amp;&amp;(t[n]=t[n].slice(0,e.length)):t[n]=[],i=0;i&lt;e[0].length;i++)t[n][i]=r(e[n][i]);return t}},{}],935:[function(t,e,r){&quot;use strict&quot;;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 d=180*Math.atan2(s,o)/Math.PI;return d&lt;-90?(d+=180,l=-l):d&gt;90&amp;&amp;(d-=180,l=-l),{angle:d,flip:l,p:t.c2p(n,e,r),offsetMultplier:c}}},{}],936:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r){var n=t.selectAll(e+&quot;.&quot;+r).data([0]);return n.enter().append(e).classed(r,!0),n}function i(t,e,r){var i=r[0],l=r[0].trace,c=e.xaxis,d=e.yaxis,m=l.aaxis,g=l.baxis,v=t._fullLayout,y=e.plot.selectAll(&quot;.carpetlayer&quot;),x=v._clips,b=n(y,&quot;g&quot;,&quot;carpet&quot;+l.uid).classed(&quot;trace&quot;,!0),_=n(b,&quot;g&quot;,&quot;minorlayer&quot;),w=n(b,&quot;g&quot;,&quot;majorlayer&quot;),M=n(b,&quot;g&quot;,&quot;boundarylayer&quot;),k=n(b,&quot;g&quot;,&quot;labellayer&quot;);b.style(&quot;opacity&quot;,l.opacity),a(c,d,w,m,&quot;a&quot;,m._gridlines),a(c,d,w,g,&quot;b&quot;,g._gridlines),a(c,d,_,m,&quot;a&quot;,m._minorgridlines),a(c,d,_,g,&quot;b&quot;,g._minorgridlines),a(c,d,M,m,&quot;a-boundary&quot;,m._boundarylines),a(c,d,M,g,&quot;b-boundary&quot;,g._boundarylines);!function(t,e,r,n,i,a,o,l){var c,u,f,d;c=.5*(r.a[0]+r.a[r.a.length-1]),u=r.b[0],f=r.ab2xy(c,u,!0),d=r.dxyda_rough(c,u),void 0===o.angle&amp;&amp;p.extendFlat(o,h(r,i,a,f,r.dxydb_rough(c,u)));s(t,e,r,n,f,d,r.aaxis,i,a,o,&quot;a-title&quot;),c=r.a[0],u=.5*(r.b[0]+r.b[r.b.length-1]),f=r.ab2xy(c,u,!0),d=r.dxydb_rough(c,u),void 0===l.angle&amp;&amp;p.extendFlat(l,h(r,i,a,f,r.dxyda_rough(c,u)));s(t,e,r,n,f,d,r.baxis,i,a,l,&quot;b-title&quot;)}(t,k,l,i,c,d,o(t,c,d,l,i,k,m._labels,&quot;a-label&quot;),o(t,c,d,l,i,k,g._labels,&quot;b-label&quot;)),function(t,e,r,i,a){var o,s,l,c,h=r.select(&quot;#&quot;+t._clipPathId);h.size()||(h=r.append(&quot;clipPath&quot;).classed(&quot;carpetclip&quot;,!0));var d=n(h,&quot;path&quot;,&quot;carpetboundary&quot;),p=e.clipsegments,m=[];for(c=0;c&lt;p.length;c++)o=p[c],s=u([],o.x,i.c2p),l=u([],o.y,a.c2p),m.push(f(s,l,o.bicubic));var g=&quot;M&quot;+m.join(&quot;L&quot;)+&quot;Z&quot;;h.attr(&quot;id&quot;,t._clipPathId),d.attr(&quot;d&quot;,g)}(l,i,x,c,d)}function a(t,e,r,n,i,a){var o=&quot;const-&quot;+i+&quot;-lines&quot;,s=r.selectAll(&quot;.&quot;+o).data(a);s.enter().append(&quot;path&quot;).classed(o,!0).style(&quot;vector-effect&quot;,&quot;non-scaling-stroke&quot;),s.each(function(r){var n=r,i=n.x,a=n.y,o=u([],i,t.c2p),s=u([],a,e.c2p),c=&quot;M&quot;+f(o,s,n.smoothing);l.select(this).attr(&quot;d&quot;,c).style(&quot;stroke-width&quot;,n.width).style(&quot;stroke&quot;,n.color).style(&quot;fill&quot;,&quot;none&quot;)}),s.exit().remove()}function o(t,e,r,n,i,a,o,s){var u=a.selectAll(&quot;text.&quot;+s).data(o);u.enter().append(&quot;text&quot;).classed(s,!0);var f=0,p={};return u.each(function(i,a){var o;if(&quot;auto&quot;===i.axis.tickangle)o=h(n,e,r,i.xy,i.dxy);else{var s=(i.axis.tickangle+180)*Math.PI/180;o=h(n,e,r,i.xy,[Math.cos(s),Math.sin(s)])}a||(p={angle:o.angle,flip:o.flip});var u=(i.endAnchor?-1:1)*o.flip,m=l.select(this).attr({&quot;text-anchor&quot;:u&gt;0?&quot;start&quot;:&quot;end&quot;,&quot;data-notex&quot;:1}).call(c.font,i.font).text(i.text).call(d.convertToTspans,t),g=c.bBox(this);m.attr(&quot;transform&quot;,&quot;translate(&quot;+o.p[0]+&quot;,&quot;+o.p[1]+&quot;) rotate(&quot;+o.angle+&quot;)translate(&quot;+i.axis.labelpadding*u+&quot;,&quot;+.3*g.height+&quot;)&quot;),f=Math.max(f,g.width+i.axis.labelpadding)}),u.exit().remove(),p.maxExtent=f,p}function s(t,e,r,n,i,a,o,s,u,f,p){var m=[];o.title&amp;&amp;m.push(o.title);var y=e.selectAll(&quot;text.&quot;+p).data(m),x=f.maxExtent;y.enter().append(&quot;text&quot;).classed(p,!0),y.each(function(){var e=h(r,s,u,i,a);-1===[&quot;start&quot;,&quot;both&quot;].indexOf(o.showticklabels)&amp;&amp;(x=0);var n=o.titlefont.size;x+=n+o.titleoffset;var p=(f.angle+(f.flip&lt;0?180:0)-e.angle+450)%360,m=p&gt;90&amp;&amp;p&lt;270,y=l.select(this);y.text(o.title||&quot;&quot;).call(d.convertToTspans,t),m&amp;&amp;(x=(-d.lineCount(y)+v)*g*n-x),y.attr(&quot;transform&quot;,&quot;translate(&quot;+e.p[0]+&quot;,&quot;+e.p[1]+&quot;) rotate(&quot;+e.angle+&quot;) translate(0,&quot;+x+&quot;)&quot;).classed(&quot;user-select-none&quot;,!0).attr(&quot;text-anchor&quot;,&quot;middle&quot;).call(c.font,o.titlefont)}),y.exit().remove()}var l=t(&quot;d3&quot;),c=t(&quot;../../components/drawing&quot;),u=t(&quot;./map_1d_array&quot;),f=t(&quot;./makepath&quot;),h=t(&quot;./orient_text&quot;),d=t(&quot;../../lib/svg_text_utils&quot;),p=t(&quot;../../lib&quot;),m=t(&quot;../../constants/alignment&quot;);e.exports=function(t,e,r){for(var n=0;n&lt;r.length;n++)i(t,e,r[n])};var g=m.LINE_SPACING,v=(1-m.MID_SHIFT)/g+1},{&quot;../../components/drawing&quot;:643,&quot;../../constants/alignment&quot;:716,&quot;../../lib&quot;:743,&quot;../../lib/svg_text_utils&quot;:766,&quot;./makepath&quot;:932,&quot;./map_1d_array&quot;:933,&quot;./orient_text&quot;:935,d3:128}],937:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;./constants&quot;),i=t(&quot;../../lib/search&quot;).findBin,a=t(&quot;./compute_control_points&quot;),o=t(&quot;./create_spline_evaluator&quot;),s=t(&quot;./create_i_derivative_evaluator&quot;),l=t(&quot;./create_j_derivative_evaluator&quot;);e.exports=function(t){var e=t.a,r=t.b,c=t.a.length,u=t.b.length,f=t.aaxis,h=t.baxis,d=e[0],p=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;d-=x,p+=x,m-=b,g+=b,t.isVisible=function(t,e){return t&gt;d&amp;&amp;t&lt;p&amp;&amp;e&gt;m&amp;&amp;e&lt;g},t.isOccluded=function(t,e){return t&lt;d||t&gt;p||e&lt;m||e&gt;g},f.c2p=function(t){return t},h.c2p=function(t){return t},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&amp;&amp;(n&lt;e[0]||n&gt;e[c-1]|i&lt;r[0]||i&gt;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,d,p,m=0,g=0,v=[];n&lt;e[0]?(f=0,h=0,m=(n-e[0])/(e[1]-e[0])):n&gt;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&lt;r[0]?(d=0,p=0,g=(i-r[0])/(r[1]-r[0])):i&gt;r[u-1]?(d=u-2,p=1,g=(i-r[u-1])/(r[u-1]-r[u-2])):p=s-(d=Math.max(0,Math.min(u-2,Math.floor(s)))),m&amp;&amp;(t.dxydi(v,f,d,h,p),l[0]+=v[0]*m,l[1]+=v[1]*m),g&amp;&amp;(t.dxydj(v,f,d,h,p),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}}},{&quot;../../lib/search&quot;:761,&quot;./compute_control_points&quot;:923,&quot;./constants&quot;:924,&quot;./create_i_derivative_evaluator&quot;:925,&quot;./create_j_derivative_evaluator&quot;:926,&quot;./create_spline_evaluator&quot;:927}],938:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib&quot;);e.exports=function(t,e,r){function i(e,r){var n,i=0,a=0;return e&gt;0&amp;&amp;void 0!==(n=t[r][e-1])&amp;&amp;(a++,i+=n),e&lt;u-1&amp;&amp;void 0!==(n=t[r][e+1])&amp;&amp;(a++,i+=n),r&gt;0&amp;&amp;void 0!==(n=t[r-1][e])&amp;&amp;(a++,i+=n),r&lt;f-1&amp;&amp;void 0!==(n=t[r+1][e])&amp;&amp;(a++,i+=n),i/Math.max(1,a)}var a,o,s,l=[],c=[],u=t[0].length,f=t.length,h=0;for(a=0;a&lt;u;a++)for(o=0;o&lt;f;o++)void 0===t[o][a]&amp;&amp;(l.push(a),c.push(o),t[o][a]=i(a,o)),h=Math.max(h,Math.abs(t[o][a]));if(!l.length)return t;var d,p,m,g,v,y,x,b,_,w,M,k=0,A=0,T=l.length;do{for(k=0,s=0;s&lt;T;s++){a=l[s],o=c[s];var S,E,L,C,z,D,I=0,P=0;0===a?(L=e[z=Math.min(u-1,2)],C=e[1],S=t[o][z],P+=(E=t[o][1])+(E-S)*(e[0]-C)/(C-L),I++):a===u-1&amp;&amp;(L=e[z=Math.max(0,u-3)],C=e[u-2],S=t[o][z],P+=(E=t[o][u-2])+(E-S)*(e[u-1]-C)/(C-L),I++),(0===a||a===u-1)&amp;&amp;o&gt;0&amp;&amp;o&lt;f-1&amp;&amp;(d=r[o+1]-r[o],P+=((p=r[o]-r[o-1])*t[o+1][a]+d*t[o-1][a])/(p+d),I++),0===o?(L=r[D=Math.min(f-1,2)],C=r[1],S=t[D][a],P+=(E=t[1][a])+(E-S)*(r[0]-C)/(C-L),I++):o===f-1&amp;&amp;(L=r[D=Math.max(0,f-3)],C=r[f-2],S=t[D][a],P+=(E=t[f-2][a])+(E-S)*(r[f-1]-C)/(C-L),I++),(0===o||o===f-1)&amp;&amp;a&gt;0&amp;&amp;a&lt;u-1&amp;&amp;(d=e[a+1]-e[a],P+=((p=e[a]-e[a-1])*t[o][a+1]+d*t[o][a-1])/(p+d),I++),I?P/=I:(m=e[a+1]-e[a],g=e[a]-e[a-1],b=(v=r[o+1]-r[o])*(y=r[o]-r[o-1])*(v+y),P=((x=m*g*(m+g))*(y*t[o+1][a]+v*t[o-1][a])+b*(g*t[o][a+1]+m*t[o][a-1]))/(b*(g+m)+x*(y+v))),k+=(w=(_=P-t[o][a])/h)*w,M=I?0:.85,t[o][a]+=_*(1+M)}k=Math.sqrt(k)}while(A++&lt;100&amp;&amp;k&gt;1e-5);return n.log(&quot;Smoother converged to&quot;,k,&quot;after&quot;,A,&quot;iterations&quot;),t}},{&quot;../../lib&quot;:743}],939:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;./has_columns&quot;),i=t(&quot;../heatmap/convert_column_xyz&quot;);e.exports=function(t,e,r){var a=[],o=r(&quot;x&quot;);o&amp;&amp;!n(o)&amp;&amp;a.push(&quot;x&quot;),e._cheater=!o;var s=r(&quot;y&quot;);if(s&amp;&amp;!n(s)&amp;&amp;a.push(&quot;y&quot;),o||s)return a.length&amp;&amp;i(e,e.aaxis,e.baxis,&quot;a&quot;,&quot;b&quot;,a),!0}},{&quot;../heatmap/convert_column_xyz&quot;:981,&quot;./has_columns&quot;:929}],940:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../scattergeo/attributes&quot;),i=t(&quot;../../components/colorscale/attributes&quot;),a=t(&quot;../../components/colorbar/attributes&quot;),o=t(&quot;../../plots/attributes&quot;),s=t(&quot;../../lib/extend&quot;),l=s.extendFlat,c=s.extendDeepAll,u=n.marker.line;e.exports=l({locations:{valType:&quot;data_array&quot;,editType:&quot;calc&quot;},locationmode:n.locationmode,z:{valType:&quot;data_array&quot;,editType:&quot;calc&quot;},text:l({},n.text,{}),marker:{line:{color:u.color,width:l({},u.width,{dflt:1}),editType:&quot;calc&quot;},opacity:{valType:&quot;number&quot;,arrayOk:!0,min:0,max:1,dflt:1,editType:&quot;style&quot;},editType:&quot;calc&quot;},selected:{marker:{opacity:n.selected.marker.opacity,editType:&quot;plot&quot;},editType:&quot;plot&quot;},unselected:{marker:{opacity:n.unselected.marker.opacity,editType:&quot;plot&quot;},editType:&quot;plot&quot;},hoverinfo:l({},o.hoverinfo,{editType:&quot;calc&quot;,flags:[&quot;location&quot;,&quot;z&quot;,&quot;text&quot;,&quot;name&quot;]})},c({},i,{zmax:{editType:&quot;calc&quot;},zmin:{editType:&quot;calc&quot;}}),{colorbar:a})},{&quot;../../components/colorbar/attributes&quot;:619,&quot;../../components/colorscale/attributes&quot;:624,&quot;../../lib/extend&quot;:732,&quot;../../plots/attributes&quot;:787,&quot;../scattergeo/attributes&quot;:1104}],941:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;fast-isnumeric&quot;),i=t(&quot;../../constants/numerical&quot;).BADNUM,a=t(&quot;../../components/colorscale/calc&quot;),o=t(&quot;../scatter/arrays_to_calcdata&quot;),s=t(&quot;../scatter/calc_selection&quot;);e.exports=function(t,e){for(var r=e.locations.length,l=new Array(r),c=0;c&lt;r;c++){var u=l[c]={},f=e.locations[c],h=e.z[c];u.loc=&quot;string&quot;==typeof f?f:null,u.z=n(h)?h:i}return o(l,e),a(e,e.z,&quot;&quot;,&quot;z&quot;),s(l,e),l}},{&quot;../../components/colorscale/calc&quot;:625,&quot;../../constants/numerical&quot;:721,&quot;../scatter/arrays_to_calcdata&quot;:1065,&quot;../scatter/calc_selection&quot;:1068,&quot;fast-isnumeric&quot;:140}],942:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib&quot;),i=t(&quot;../../components/colorscale/defaults&quot;),a=t(&quot;./attributes&quot;);e.exports=function(t,e,r,o){function s(r,i){return n.coerce(t,e,a,r,i)}var l,c=s(&quot;locations&quot;);if(c&amp;&amp;(l=c.length),c&amp;&amp;l){var u=s(&quot;z&quot;);Array.isArray(u)?(u.length&gt;l&amp;&amp;(e.z=u.slice(0,l)),s(&quot;locationmode&quot;),s(&quot;text&quot;),s(&quot;marker.line.color&quot;),s(&quot;marker.line.width&quot;),s(&quot;marker.opacity&quot;),i(t,e,o,s,{prefix:&quot;&quot;,cLetter:&quot;z&quot;}),n.coerceSelectionMarkerOpacity(e,s)):e.visible=!1}else e.visible=!1}},{&quot;../../components/colorscale/defaults&quot;:628,&quot;../../lib&quot;:743,&quot;./attributes&quot;:940}],943:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t,e){return t.location=e.location,t.z=e.z,t}},{}],944:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../plots/cartesian/axes&quot;),i=t(&quot;./attributes&quot;),a=t(&quot;../scatter/fill_hover_text&quot;);e.exports=function(t,e,r){var o,s,l,c,u=t.cd,f=u[0].trace,h=t.subplot;for(s=0;s&lt;u.length;s++)if(o=u[s],c=!1,o._polygons){for(l=0;l&lt;o._polygons.length;l++)o._polygons[l].contains([e,r])&amp;&amp;(c=!c),o._polygons[l].contains([e+360,r])&amp;&amp;(c=!c);if(c)break}if(c&amp;&amp;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,function(t,e,r,o){var s=r.hi||e.hoverinfo,l=&quot;all&quot;===s?i.hoverinfo.flags:s.split(&quot;+&quot;),c=-1!==l.indexOf(&quot;name&quot;),u=-1!==l.indexOf(&quot;location&quot;),f=-1!==l.indexOf(&quot;z&quot;),h=-1!==l.indexOf(&quot;text&quot;),d=[];!c&amp;&amp;u?t.nameOverride=r.loc:(c&amp;&amp;(t.nameOverride=e.name),u&amp;&amp;d.push(r.loc)),f&amp;&amp;d.push(function(t){return n.tickText(o,o.c2l(t),&quot;hover&quot;).text}(r.z)),h&amp;&amp;a(r,e,d),t.extraText=d.join(&quot;&lt;br&gt;&quot;)}(t,f,o,h.mockAxis),[t]}},{&quot;../../plots/cartesian/axes&quot;:789,&quot;../scatter/fill_hover_text&quot;:1074,&quot;./attributes&quot;:940}],945:[function(t,e,r){&quot;use strict&quot;;var n={};n.attributes=t(&quot;./attributes&quot;),n.supplyDefaults=t(&quot;./defaults&quot;),n.colorbar=t(&quot;../heatmap/colorbar&quot;),n.calc=t(&quot;./calc&quot;),n.plot=t(&quot;./plot&quot;),n.style=t(&quot;./style&quot;),n.hoverPoints=t(&quot;./hover&quot;),n.eventData=t(&quot;./event_data&quot;),n.selectPoints=t(&quot;./select&quot;),n.moduleType=&quot;trace&quot;,n.name=&quot;choropleth&quot;,n.basePlotModule=t(&quot;../../plots/geo&quot;),n.categories=[&quot;geo&quot;,&quot;noOpacity&quot;],n.meta={},e.exports=n},{&quot;../../plots/geo&quot;:820,&quot;../heatmap/colorbar&quot;:980,&quot;./attributes&quot;:940,&quot;./calc&quot;:941,&quot;./defaults&quot;:942,&quot;./event_data&quot;:943,&quot;./hover&quot;:944,&quot;./plot&quot;:946,&quot;./select&quot;:947,&quot;./style&quot;:948}],946:[function(t,e,r){&quot;use strict&quot;;function n(t,e){for(var r=t[0].trace,n=t.length,i=s(r,e),a=0;a&lt;n;a++){var c=t[a],u=l(r.locationmode,c.loc,i);u?(c.geojson=u,c.ct=u.properties.ct,c.index=a,c._polygons=function(t){function e(t){for(var e=0;e&lt;t.length-1;e++)if(t[e][0]&gt;0&amp;&amp;t[e+1][0]&lt;0)return e;return null}var r,n,i,a,s=t.geometry,l=s.coordinates,c=t.id,u=[];r=&quot;RUS&quot;===c||&quot;FJI&quot;===c?function(t){var r;if(null===e(t))r=t;else for(r=new Array(t.length),a=0;a&lt;t.length;a++)r[a]=[t[a][0]&lt;0?t[a][0]+360:t[a][0],t[a][1]];u.push(o.tester(r))}:&quot;ATA&quot;===c?function(t){var r=e(t);if(null===r)return u.push(o.tester(t));var n=new Array(t.length+1),i=0;for(a=0;a&lt;t.length;a++)a&gt;r?n[i++]=[t[a][0]+360,t[a][1]]:a===r?(n[i++]=t[a],n[i++]=[t[a][0],-90]):n[i++]=t[a];var s=o.tester(n);s.pts.pop(),u.push(s)}:function(t){u.push(o.tester(t))};switch(s.type){case&quot;MultiPolygon&quot;:for(n=0;n&lt;l.length;n++)for(i=0;i&lt;l[n].length;i++)r(l[n][i]);break;case&quot;Polygon&quot;:for(n=0;n&lt;l.length;n++)r(l[n])}return u}(u)):c.geojson=null}}var i=t(&quot;d3&quot;),a=t(&quot;../../lib&quot;),o=t(&quot;../../lib/polygon&quot;),s=t(&quot;../../lib/topojson_utils&quot;).getTopojsonFeatures,l=t(&quot;../../lib/geo_location_utils&quot;).locationToFeature,c=t(&quot;./style&quot;);e.exports=function(t,e,r){for(var o=0;o&lt;r.length;o++)n(r[o],e.topojson);var s=e.layers.backplot.select(&quot;.choroplethlayer&quot;).selectAll(&quot;g.trace.choropleth&quot;).data(r,function(t){return t[0].trace.uid});s.enter().append(&quot;g&quot;).attr(&quot;class&quot;,&quot;trace choropleth&quot;),s.exit().remove(),s.each(function(e){var r=(e[0].node3=i.select(this)).selectAll(&quot;path.choroplethlocation&quot;).data(a.identity);r.enter().append(&quot;path&quot;).classed(&quot;choroplethlocation&quot;,!0),r.exit().remove(),c(t,e)})}},{&quot;../../lib&quot;:743,&quot;../../lib/geo_location_utils&quot;:735,&quot;../../lib/polygon&quot;:755,&quot;../../lib/topojson_utils&quot;:769,&quot;./style&quot;:948,d3:128}],947:[function(t,e,r){&quot;use strict&quot;;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&lt;s.length;r++)s[r].selected=0;else for(r=0;r&lt;s.length;r++)(i=(n=s[r]).ct)&amp;&amp;(a=l.c2p(i),o=c.c2p(i),e.contains([a,o])?(u.push({pointNumber:r,lon:i[0],lat:i[1]}),n.selected=1):n.selected=0);return u}},{}],948:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;d3&quot;),i=t(&quot;../../components/color&quot;),a=t(&quot;../../components/drawing&quot;),o=t(&quot;../../components/colorscale&quot;);e.exports=function(t,e){e&amp;&amp;function(t,e){var r=e[0].trace,s=e[0].node3.selectAll(&quot;.choroplethlocation&quot;),l=r.marker||{},c=l.line||{},u=o.makeColorScaleFunc(o.extractScale(r.colorscale,r.zmin,r.zmax));s.each(function(t){n.select(this).attr(&quot;fill&quot;,u(t.z)).call(i.stroke,t.mlc||c.color).call(a.dashLine,&quot;&quot;,t.mlw||c.width||0).style(&quot;opacity&quot;,l.opacity)}),a.selectedPointStyle(s,r)}(0,e)}},{&quot;../../components/color&quot;:618,&quot;../../components/colorscale&quot;:633,&quot;../../components/drawing&quot;:643,d3:128}],949:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../heatmap/attributes&quot;),i=t(&quot;../scatter/attributes&quot;),a=t(&quot;../../components/colorscale/attributes&quot;),o=t(&quot;../../components/colorbar/attributes&quot;),s=t(&quot;../../components/drawing/attributes&quot;).dash,l=t(&quot;../../plots/font_attributes&quot;),c=t(&quot;../../lib/extend&quot;).extendFlat,u=i.line;e.exports=c({z:n.z,x:n.x,x0:n.x0,dx:n.dx,y:n.y,y0:n.y0,dy:n.dy,text:n.text,transpose:n.transpose,xtype:n.xtype,ytype:n.ytype,zhoverformat:n.zhoverformat,connectgaps:n.connectgaps,autocontour:{valType:&quot;boolean&quot;,dflt:!0,editType:&quot;calc&quot;,impliedEdits:{&quot;contours.start&quot;:void 0,&quot;contours.end&quot;:void 0,&quot;contours.size&quot;:void 0}},ncontours:{valType:&quot;integer&quot;,dflt:15,min:1,editType:&quot;calc&quot;},contours:{start:{valType:&quot;number&quot;,dflt:null,editType:&quot;plot&quot;,impliedEdits:{&quot;^autocontour&quot;:!1}},end:{valType:&quot;number&quot;,dflt:null,editType:&quot;plot&quot;,impliedEdits:{&quot;^autocontour&quot;:!1}},size:{valType:&quot;number&quot;,dflt:null,min:0,editType:&quot;plot&quot;,impliedEdits:{&quot;^autocontour&quot;:!1}},coloring:{valType:&quot;enumerated&quot;,values:[&quot;fill&quot;,&quot;heatmap&quot;,&quot;lines&quot;,&quot;none&quot;],dflt:&quot;fill&quot;,editType:&quot;calc&quot;},showlines:{valType:&quot;boolean&quot;,dflt:!0,editType:&quot;plot&quot;},showlabels:{valType:&quot;boolean&quot;,dflt:!1,editType:&quot;plot&quot;},labelfont:l({editType:&quot;plot&quot;,colorEditType:&quot;style&quot;}),labelformat:{valType:&quot;string&quot;,dflt:&quot;&quot;,editType:&quot;plot&quot;},editType:&quot;calc&quot;,impliedEdits:{autocontour:!1}},line:{color:c({},u.color,{editType:&quot;style+colorbars&quot;}),width:c({},u.width,{editType:&quot;style+colorbars&quot;}),dash:s,smoothing:c({},u.smoothing,{}),editType:&quot;plot&quot;}},a,{autocolorscale:c({},a.autocolorscale,{dflt:!1}),zmin:c({},a.zmin,{editType:&quot;calc&quot;}),zmax:c({},a.zmax,{editType:&quot;calc&quot;})},{colorbar:o})},{&quot;../../components/colorbar/attributes&quot;:619,&quot;../../components/colorscale/attributes&quot;:624,&quot;../../components/drawing/attributes&quot;:642,&quot;../../lib/extend&quot;:732,&quot;../../plots/font_attributes&quot;:816,&quot;../heatmap/attributes&quot;:977,&quot;../scatter/attributes&quot;:1066}],950:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r){var n={type:&quot;linear&quot;,range:[t,e]};return i.autoTicks(n,(e-t)/(r||15)),n}var i=t(&quot;../../plots/cartesian/axes&quot;),a=t(&quot;../../lib&quot;).extendFlat,o=t(&quot;../heatmap/calc&quot;);e.exports=function(t,e){var r=o(t,e),s=e.contours;if(!1!==e.autocontour){var l=n(e.zmin,e.zmax,e.ncontours);s.size=l.dtick,s.start=i.tickFirst(l),l.range.reverse(),s.end=i.tickFirst(l),s.start===e.zmin&amp;&amp;(s.start+=s.size),s.end===e.zmax&amp;&amp;(s.end-=s.size),s.start&gt;s.end&amp;&amp;(s.start=s.end=(s.start+s.end)/2),e._input.contours||(e._input.contours={}),a(e._input.contours,{start:s.start,end:s.end,size:s.size}),e._input.autocontour=!0}else{var c=s.start,u=s.end,f=e._input.contours;if(c&gt;u&amp;&amp;(s.start=f.start=u,u=s.end=f.end=c,c=s.start),!(s.size&gt;0)){var h;h=c===u?1:n(c,u,e.ncontours).dtick,f.size=s.size=h}}return r}},{&quot;../../lib&quot;:743,&quot;../../plots/cartesian/axes&quot;:789,&quot;../heatmap/calc&quot;:978}],951:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../plots/plots&quot;),i=t(&quot;../../components/colorbar/draw&quot;),a=t(&quot;./make_color_map&quot;),o=t(&quot;./end_plus&quot;);e.exports=function(t,e){var r=e[0].trace,s=&quot;cb&quot;+r.uid;if(t._fullLayout._infolayer.selectAll(&quot;.&quot;+s).remove(),r.showscale){var l=i(t,s);e[0].t.cb=l;var c=r.contours,u=r.line,f=c.size||1,h=c.coloring,d=a(r,{isColorbar:!0});&quot;heatmap&quot;===h&amp;&amp;l.filllevels({start:r.zmin,end:r.zmax,size:(r.zmax-r.zmin)/254}),l.fillcolor(&quot;fill&quot;===h||&quot;heatmap&quot;===h?d:&quot;&quot;).line({color:&quot;lines&quot;===h?d:u.color,width:!1!==c.showlines?u.width:0,dash:u.dash}).levels({start:c.start,end:o(c),size:f}).options(r.colorbar)()}else n.autoMargin(t,s)}},{&quot;../../components/colorbar/draw&quot;:622,&quot;../../plots/plots&quot;:852,&quot;./end_plus&quot;:955,&quot;./make_color_map&quot;:959}],952:[function(t,e,r){&quot;use strict&quot;;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}}},{}],953:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib&quot;),i=t(&quot;./attributes&quot;);e.exports=function(t,e,r){var a=n.coerce2(t,e,i,&quot;contours.start&quot;),o=n.coerce2(t,e,i,&quot;contours.end&quot;),s=!1===a||!1===o,l=r(&quot;contours.size&quot;);!(s?e.autocontour=!0:r(&quot;autocontour&quot;,!1))&amp;&amp;l||r(&quot;ncontours&quot;)}},{&quot;../../lib&quot;:743,&quot;./attributes&quot;:949}],954:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib&quot;),i=t(&quot;../heatmap/has_columns&quot;),a=t(&quot;../heatmap/xyz_defaults&quot;),o=t(&quot;./contours_defaults&quot;),s=t(&quot;./style_defaults&quot;),l=t(&quot;./attributes&quot;);e.exports=function(t,e,r,c){function u(r,i){return n.coerce(t,e,l,r,i)}a(t,e,u,c)?(u(&quot;text&quot;),u(&quot;connectgaps&quot;,i(e)),o(t,e,u),s(t,e,u,c)):e.visible=!1}},{&quot;../../lib&quot;:743,&quot;../heatmap/has_columns&quot;:984,&quot;../heatmap/xyz_defaults&quot;:993,&quot;./attributes&quot;:949,&quot;./contours_defaults&quot;:953,&quot;./style_defaults&quot;:963}],955:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t){return t.end+t.size/1e6}},{}],956:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,n){return Math.abs(t[0]-e[0])&lt;r&amp;&amp;Math.abs(t[1]-e[1])&lt;n}function i(t,e){var r=t[2]-e[2],n=t[3]-e[3];return Math.sqrt(r*r+n*n)}function a(t,e,r,a,c){function u(t){return g[t%g.length]}var f,h=e.join(&quot;,&quot;),d=h,p=t.crossings[d],m=function(t,e,r){var n=0,i=0;t&gt;20&amp;&amp;e?208===t||1114===t?n=0===r[0]?1:-1:i=0===r[1]?1:-1:-1!==l.BOTTOMSTART.indexOf(t)?i=1:-1!==l.LEFTSTART.indexOf(t)?n=1:-1!==l.TOPSTART.indexOf(t)?i=-1:n=-1;return[n,i]}(p,r,e),g=[o(t,e,[-m[0],-m[1]])],v=m.join(&quot;,&quot;),y=t.z.length,x=t.z[0].length;for(f=0;f&lt;1e4;f++){if(p&gt;20?(p=l.CHOOSESADDLE[p][(m[0]||m[1])&lt;0?0:1],t.crossings[d]=l.SADDLEREMAINDER[p]):delete t.crossings[d],!(m=l.NEWDELTA[p])){s.log(&quot;Found bad marching index:&quot;,p,e,t.level);break}g.push(o(t,e,m)),e[0]+=m[0],e[1]+=m[1],n(g[g.length-1],g[g.length-2],a,c)&amp;&amp;g.pop(),d=e.join(&quot;,&quot;);var b=m[0]&amp;&amp;(e[0]&lt;0||e[0]&gt;x-2)||m[1]&amp;&amp;(e[1]&lt;0||e[1]&gt;y-2);if(d===h&amp;&amp;m.join(&quot;,&quot;)===v||r&amp;&amp;b)break;p=t.crossings[d]}1e4===f&amp;&amp;s.log(&quot;Infinite loop in contour?&quot;);var _,w,M,k,A,T,S,E,L,C,z,D=n(g[0],g[g.length-1],a,c),I=0,P=.2*t.smoothing,O=[],F=0;for(f=1;f&lt;g.length;f++)I+=S=i(g[f],g[f-1]),O.push(S);var R=I/O.length*P;for(f=g.length-2;f&gt;=F;f--)if((_=O[f])&lt;R){for(M=0,w=f-1;w&gt;=F&amp;&amp;_+O[w]&lt;R;w--)_+=O[w];if(D&amp;&amp;f===g.length-2)for(M=0;M&lt;w&amp;&amp;_+O[M]&lt;R;M++)_+=O[M];A=f-w+M+1,T=Math.floor((f+w+M+2)/2),k=D||f!==g.length-2?D||-1!==w?A%2?u(T):[(u(T)[0]+u(T+1)[0])/2,(u(T)[1]+u(T+1)[1])/2]:g[0]:g[g.length-1],g.splice(w+1,f-w+1,k),f=w+1,M&amp;&amp;(F=M),D&amp;&amp;(f===g.length-2?g[M]=g[g.length-1]:0===f&amp;&amp;(g[g.length-1]=g[0]))}for(g.splice(0,F),f=0;f&lt;g.length;f++)g[f].length=2;if(!(g.length&lt;2))if(D)g.pop(),t.paths.push(g);else{r||s.log(&quot;Unclosed interior contour?&quot;,t.level,h,g.join(&quot;L&quot;));var N=!1;for(E=0;E&lt;t.edgepaths.length;E++)if(C=t.edgepaths[E],!N&amp;&amp;n(C[0],g[g.length-1],a,c)){g.pop(),N=!0;var j=!1;for(L=0;L&lt;t.edgepaths.length;L++)if(z=t.edgepaths[L],n(z[z.length-1],g[0],a,c)){j=!0,g.shift(),t.edgepaths.splice(E,1),L===E?t.paths.push(g.concat(z)):(L&gt;E&amp;&amp;L--,t.edgepaths[L]=z.concat(g,C));break}j||(t.edgepaths[E]=g.concat(C))}for(E=0;E&lt;t.edgepaths.length&amp;&amp;!N;E++)n((C=t.edgepaths[E])[C.length-1],g[0],a,c)&amp;&amp;(g.shift(),t.edgepaths[E]=C.concat(g),N=!0);N||t.edgepaths.push(g)}}function o(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);return[o.c2p((1-l)*t.x[n]+l*t.x[n+1],!0),s.c2p(t.y[i],!0),n+l,i]}var c=(t.level-a)/(t.z[i+1][n]-a);return[o.c2p(t.x[n],!0),s.c2p((1-c)*t.y[i]+c*t.y[i+1],!0),n,i+c]}var s=t(&quot;../../lib&quot;),l=t(&quot;./constants&quot;);e.exports=function(t,e,r){var n,i,o,l;for(e=e||.01,r=r||.01,i=0;i&lt;t.length;i++){for(o=t[i],l=0;l&lt;o.starts.length;l++)a(o,o.starts[l],&quot;edge&quot;,e,r);for(n=0;Object.keys(o.crossings).length&amp;&amp;n&lt;1e4;)n++,a(o,Object.keys(o.crossings)[0].split(&quot;,&quot;).map(Number),void 0,e,r);1e4===n&amp;&amp;s.log(&quot;Infinite loop in contour?&quot;)}}},{&quot;../../lib&quot;:743,&quot;./constants&quot;:952}],957:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../heatmap/hover&quot;);e.exports=function(t,e,r,i,a){return n(t,e,r,i,a,!0)}},{&quot;../heatmap/hover&quot;:985}],958:[function(t,e,r){&quot;use strict&quot;;var n={};n.attributes=t(&quot;./attributes&quot;),n.supplyDefaults=t(&quot;./defaults&quot;),n.calc=t(&quot;./calc&quot;),n.plot=t(&quot;./plot&quot;).plot,n.style=t(&quot;./style&quot;),n.colorbar=t(&quot;./colorbar&quot;),n.hoverPoints=t(&quot;./hover&quot;),n.moduleType=&quot;trace&quot;,n.name=&quot;contour&quot;,n.basePlotModule=t(&quot;../../plots/cartesian&quot;),n.categories=[&quot;cartesian&quot;,&quot;2dMap&quot;,&quot;contour&quot;],n.meta={},e.exports=n},{&quot;../../plots/cartesian&quot;:800,&quot;./attributes&quot;:949,&quot;./calc&quot;:950,&quot;./colorbar&quot;:951,&quot;./defaults&quot;:954,&quot;./hover&quot;:957,&quot;./plot&quot;:961,&quot;./style&quot;:962}],959:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;d3&quot;),i=t(&quot;../../components/colorscale&quot;),a=t(&quot;./end_plus&quot;);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=&quot;lines&quot;===e.coloring?0:1;isFinite(s)||(s=1,l=1);var u,f,h=t.colorscale,d=h.length,p=new Array(d),m=new Array(d);if(&quot;heatmap&quot;===e.coloring){for(t.zauto&amp;&amp;!1===t.autocontour&amp;&amp;(t.zmin=r-s/2,t.zmax=t.zmin+l*s),f=0;f&lt;d;f++)u=h[f],p[f]=u[0]*(t.zmax-t.zmin)+t.zmin,m[f]=u[1];var g=n.extent([t.zmin,t.zmax,e.start,e.start+s*(l-1)]),v=g[t.zmin&lt;t.zmax?0:1],y=g[t.zmin&lt;t.zmax?1:0];v!==t.zmin&amp;&amp;(p.splice(0,0,v),m.splice(0,0,Range[0])),y!==t.zmax&amp;&amp;(p.push(y),m.push(m[m.length-1]))}else for(f=0;f&lt;d;f++)u=h[f],p[f]=(u[0]*(l+c-1)-c/2)*s+r,m[f]=u[1];return i.makeColorScaleFunc({domain:p,range:m},{noNumericCheck:!0})}},{&quot;../../components/colorscale&quot;:633,&quot;./end_plus&quot;:955,d3:128}],960:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;./constants&quot;);e.exports=function(t){var e,r,i,a,o,s,l,c,u,f=t[0].z,h=f.length,d=f[0].length,p=2===h||2===d;for(r=0;r&lt;h-1;r++)for(a=[],0===r&amp;&amp;(a=a.concat(n.BOTTOMSTART)),r===h-2&amp;&amp;(a=a.concat(n.TOPSTART)),e=0;e&lt;d-1;e++)for(i=a.slice(),0===e&amp;&amp;(i=i.concat(n.LEFTSTART)),e===d-2&amp;&amp;(i=i.concat(n.RIGHTSTART)),o=e+&quot;,&quot;+r,s=[[f[r][e],f[r][e+1]],[f[r+1][e],f[r+1][e+1]]],u=0;u&lt;t.length;u++)(l=function(t,e){var r=(e[0][0]&gt;t?0:1)+(e[0][1]&gt;t?0:2)+(e[1][1]&gt;t?0:4)+(e[1][0]&gt;t?0:8);if(5===r||10===r)return t&gt;(e[0][0]+e[0][1]+e[1][0]+e[1][1])/4?5===r?713:1114:5===r?104:208;return 15===r?0:r}((c=t[u]).level,s))&amp;&amp;(c.crossings[o]=l,-1!==i.indexOf(l)&amp;&amp;(c.starts.push([e,r]),p&amp;&amp;-1!==i.indexOf(l,i.indexOf(l)+1)&amp;&amp;c.starts.push([e,r])))}},{&quot;./constants&quot;:952}],961:[function(t,e,r){&quot;use strict&quot;;function n(t,e,n){var l=n[0].trace,c=n[0].x,u=n[0].y,g=l.contours,v=l.uid,y=e.xaxis,x=e.yaxis,b=t._fullLayout,_=&quot;contour&quot;+v,w=function(t,e,r){for(var n=t.size,i=[],a=p(t),s=t.start;s&lt;a;s+=n)if(i.push({level:s,crossings:{},starts:[],edgepaths:[],paths:[],xaxis:e.xaxis,yaxis:e.yaxis,x:r.x,y:r.y,z:r.z,smoothing:r.trace.line.smoothing}),i.length&gt;1e3){o.warn(&quot;Too many contours, clipping at 1000&quot;,t);break}return i}(g,e,n[0]);if(!0!==l.visible)return b._paper.selectAll(&quot;.&quot;+_+&quot;,.hm&quot;+v).remove(),void b._infolayer.selectAll(&quot;.cb&quot;+v).remove();&quot;heatmap&quot;===g.coloring?(l.zauto&amp;&amp;!1===l.autocontour&amp;&amp;(l._input.zmin=l.zmin=g.start-g.size/2,l._input.zmax=l.zmax=l.zmin+w.length*g.size),f(t,e,[n])):(b._paper.selectAll(&quot;.hm&quot;+v).remove(),b._infolayer.selectAll(&quot;g.rangeslider-container&quot;).selectAll(&quot;.hm&quot;+v).remove()),h(w),d(w);var M=y.c2p(c[0],!0),k=y.c2p(c[c.length-1],!0),A=x.c2p(u[0],!0),T=x.c2p(u[u.length-1],!0),S=[[M,T],[k,T],[k,A],[M,A]],E=r.makeContourGroup(e,n,_);!function(t,e,r){var n=t.selectAll(&quot;g.contourbg&quot;).data([0]);n.enter().append(&quot;g&quot;).classed(&quot;contourbg&quot;,!0);var i=n.selectAll(&quot;path&quot;).data(&quot;fill&quot;===r.coloring?[0]:[]);i.enter().append(&quot;path&quot;),i.exit().remove(),i.attr(&quot;d&quot;,&quot;M&quot;+e.join(&quot;L&quot;)+&quot;Z&quot;).style(&quot;stroke&quot;,&quot;none&quot;)}(E,S,g),function(t,e,r,n){var o=t.selectAll(&quot;g.contourfill&quot;).data([0]);o.enter().append(&quot;g&quot;).classed(&quot;contourfill&quot;,!0);var s=o.selectAll(&quot;path&quot;).data(&quot;fill&quot;===n.coloring?e:[]);s.enter().append(&quot;path&quot;),s.exit().remove(),s.each(function(t){var e=i(t,r);e?a.select(this).attr(&quot;d&quot;,e).style(&quot;stroke&quot;,&quot;none&quot;):a.select(this).remove()})}(E,w,S,g),function(t,e,n,i,l,c){var u=t.selectAll(&quot;g.contourlines&quot;).data([0]);u.enter().append(&quot;g&quot;).classed(&quot;contourlines&quot;,!0);var f=!1!==l.showlines,h=l.showlabels,d=f&amp;&amp;h,p=r.createLines(u,f||h,e),g=r.createLineClip(u,d,n._fullLayout._clips,i.trace.uid),v=t.selectAll(&quot;g.contourlabels&quot;).data(h?[0]:[]);if(v.exit().remove(),v.enter().append(&quot;g&quot;).classed(&quot;contourlabels&quot;,!0),h){var y=[c],x=[];o.clearLocationCache();var b=r.labelFormatter(l,i.t.cb,n._fullLayout),_=s.tester.append(&quot;text&quot;).attr(&quot;data-notex&quot;,1).call(s.font,l.labelfont),w=e[0].xaxis._length,M=e[0].yaxis._length,k={left:Math.max(c[0][0],0),right:Math.min(c[2][0],w),top:Math.max(c[0][1],0),bottom:Math.min(c[2][1],M)};k.middle=(k.top+k.bottom)/2,k.center=(k.left+k.right)/2;var A=Math.sqrt(w*w+M*M),T=m.LABELDISTANCE*A/Math.max(1,e.length/m.LABELINCREASE);p.each(function(t){var e=r.calcTextOpts(t.level,b,_,n);a.select(this).selectAll(&quot;path&quot;).each(function(){var t=o.getVisibleSegment(this,k,e.height/2);if(t&amp;&amp;!(t.len&lt;(e.width+e.height)*m.LABELMIN))for(var n=Math.min(Math.ceil(t.len/T),m.LABELMAX),i=0;i&lt;n;i++){var a=r.findBestTextLocation(this,t,e,x,k);if(!a)break;r.addLabelData(a,e,x,y)}})}),_.remove(),r.drawLabels(v,x,n,g,d?y:null)}h&amp;&amp;!f&amp;&amp;p.remove()}(E,w,t,n[0],g,S),function(t,e,r,n,a){var o=&quot;clip&quot;+n.trace.uid,l=r.selectAll(&quot;#&quot;+o).data(n.trace.connectgaps?[]:[0]);if(l.enter().append(&quot;clipPath&quot;).classed(&quot;contourclip&quot;,!0).attr(&quot;id&quot;,o),l.exit().remove(),!1===n.trace.connectgaps){var c={level:.9,crossings:{},starts:[],edgepaths:[],paths:[],xaxis:e.xaxis,yaxis:e.yaxis,x:n.x,y:n.y,z:function(t){var e,r,n=t.trace._emptypoints,i=[],a=t.z.length,o=t.z[0].length,s=[];for(e=0;e&lt;o;e++)s.push(1);for(e=0;e&lt;a;e++)i.push(s.slice());for(e=0;e&lt;n.length;e++)r=n[e],i[r[0]][r[1]]=0;return t.zmask=i,i}(n),smoothing:0};h([c]),d([c]);var u=i(c,a),f=l.selectAll(&quot;path&quot;).data([0]);f.enter().append(&quot;path&quot;),f.attr(&quot;d&quot;,u)}else o=null;t.call(s.setClipUrl,o),e.plot.selectAll(&quot;.hm&quot;+n.trace.uid).call(s.setClipUrl,o)}(E,e,b._clips,n[0],S)}function i(t,e){function r(t){return Math.abs(t[1]-e[0][1])&lt;.01}function n(t){return Math.abs(t[1]-e[2][1])&lt;.01}function i(t){return Math.abs(t[0]-e[0][0])&lt;.01}function a(t){return Math.abs(t[0]-e[2][0])&lt;.01}for(var l,c,u,f,h,d,p=Math.min(t.z[0][0],t.z[0][1]),m=t.edgepaths.length||p&lt;=t.level?&quot;&quot;:&quot;M&quot;+e.join(&quot;L&quot;)+&quot;Z&quot;,g=0,v=t.edgepaths.map(function(t,e){return e}),y=!0;v.length;){for(d=s.smoothopen(t.edgepaths[g],t.smoothing),m+=y?d:d.replace(/^M/,&quot;L&quot;),v.splice(v.indexOf(g),1),l=t.edgepaths[g][t.edgepaths[g].length-1],f=-1,u=0;u&lt;4;u++){if(!l){o.log(&quot;Missing end?&quot;,g,t);break}for(r(l)&amp;&amp;!a(l)?c=e[1]:i(l)?c=e[0]:n(l)?c=e[3]:a(l)&amp;&amp;(c=e[2]),h=0;h&lt;t.edgepaths.length;h++){var x=t.edgepaths[h][0];Math.abs(l[0]-c[0])&lt;.01?Math.abs(l[0]-x[0])&lt;.01&amp;&amp;(x[1]-l[1])*(c[1]-x[1])&gt;=0&amp;&amp;(c=x,f=h):Math.abs(l[1]-c[1])&lt;.01?Math.abs(l[1]-x[1])&lt;.01&amp;&amp;(x[0]-l[0])*(c[0]-x[0])&gt;=0&amp;&amp;(c=x,f=h):o.log(&quot;endpt to newendpt is not vert. or horz.&quot;,l,c,x)}if(l=c,f&gt;=0)break;m+=&quot;L&quot;+c}if(f===t.edgepaths.length){o.log(&quot;unclosed perimeter path&quot;);break}g=f,(y=-1===v.indexOf(g))&amp;&amp;(g=v[0],m+=&quot;Z&quot;)}for(g=0;g&lt;t.paths.length;g++)m+=s.smoothclosed(t.paths[g],t.smoothing);return m}var a=t(&quot;d3&quot;),o=t(&quot;../../lib&quot;),s=t(&quot;../../components/drawing&quot;),l=t(&quot;../../lib/svg_text_utils&quot;),c=t(&quot;../../plots/cartesian/axes&quot;),u=t(&quot;../../plots/cartesian/set_convert&quot;),f=t(&quot;../heatmap/plot&quot;),h=t(&quot;./make_crossings&quot;),d=t(&quot;./find_all_paths&quot;),p=t(&quot;./end_plus&quot;),m=t(&quot;./constants&quot;),g=m.LABELOPTIMIZER;r.plot=function(t,e,r){for(var i=0;i&lt;r.length;i++)n(t,e,r[i])},r.makeContourGroup=function(t,e,r){var n=t.plot.select(&quot;.maplayer&quot;).selectAll(&quot;g.contour.&quot;+r).data(e);return n.enter().append(&quot;g&quot;).classed(&quot;contour&quot;,!0).classed(r,!0),n.exit().remove(),n},r.createLines=function(t,e,r){var n=r[0].smoothing,i=t.selectAll(&quot;g.contourlevel&quot;).data(e?r:[]);if(i.exit().remove(),i.enter().append(&quot;g&quot;).classed(&quot;contourlevel&quot;,!0),e){var a=i.selectAll(&quot;path.openline&quot;).data(function(t){return t.pedgepaths||t.edgepaths});a.exit().remove(),a.enter().append(&quot;path&quot;).classed(&quot;openline&quot;,!0),a.attr(&quot;d&quot;,function(t){return s.smoothopen(t,n)}).style(&quot;stroke-miterlimit&quot;,1).style(&quot;vector-effect&quot;,&quot;non-scaling-stroke&quot;);var o=i.selectAll(&quot;path.closedline&quot;).data(function(t){return t.ppaths||t.paths});o.exit().remove(),o.enter().append(&quot;path&quot;).classed(&quot;closedline&quot;,!0),o.attr(&quot;d&quot;,function(t){return s.smoothclosed(t,n)}).style(&quot;stroke-miterlimit&quot;,1).style(&quot;vector-effect&quot;,&quot;non-scaling-stroke&quot;)}return i},r.createLineClip=function(t,e,r,n){var i=e?&quot;clipline&quot;+n:null,a=r.selectAll(&quot;#&quot;+i).data(e?[0]:[]);return a.exit().remove(),a.enter().append(&quot;clipPath&quot;).classed(&quot;contourlineclip&quot;,!0).attr(&quot;id&quot;,i),s.setClipUrl(t,i),a},r.labelFormatter=function(t,e,r){if(t.labelformat)return r._d3locale.numberFormat(t.labelformat);var n;return e?n=e.axis:(n={type:&quot;linear&quot;,_id:&quot;ycontour&quot;,nticks:(t.end-t.start)/t.size,showexponent:&quot;all&quot;,range:[t.start,t.end]},u(n,r),c.calcTicks(n),n._tmin=null,n._tmax=null),function(t){return c.tickText(n,t).text}},r.calcTextOpts=function(t,e,r,n){var i=e(t);r.text(i).call(l.convertToTspans,n);var a=s.bBox(r.node(),!0);return{text:i,width:a.width,height:a.height,level:t,dy:(a.top+a.bottom)/2}},r.findBestTextLocation=function(t,e,r,n,i){var a,s,l,c,u,f=r.width;e.isClosed?(s=e.len/g.INITIALSEARCHPOINTS,a=e.min+s/2,l=e.max):(s=(e.len-f)/(g.INITIALSEARCHPOINTS+1),a=e.min+s+f/2,l=e.max-(s+f)/2);for(var h=1/0,d=0;d&lt;g.ITERATIONS;d++){for(var p=a;p&lt;l;p+=s){var m=o.getTextLocation(t,e.total,p,f),v=function(t,e,r,n){var i=e.width/2,a=e.height/2,s=t.x,l=t.y,c=t.theta,u=Math.cos(c)*i,f=Math.sin(c)*i,h=(s&gt;n.center?n.right-s:s-n.left)/(u+Math.abs(Math.sin(c)*a)),d=(l&gt;n.middle?n.bottom-l:l-n.top)/(Math.abs(f)+Math.cos(c)*a);if(h&lt;1||d&lt;1)return 1/0;var p=g.EDGECOST*(1/(h-1)+1/(d-1));p+=g.ANGLECOST*c*c;for(var m=s-u,v=l-f,y=s+u,x=l+f,b=0;b&lt;r.length;b++){var _=r[b],w=Math.cos(_.theta)*_.width/2,M=Math.sin(_.theta)*_.width/2,k=2*o.segmentDistance(m,v,y,x,_.x-w,_.y-M,_.x+w,_.y+M)/(e.height+_.height),A=_.level===e.level,T=A?g.SAMELEVELDISTANCE:1;if(k&lt;=T)return 1/0;p+=g.NEIGHBORCOST*(A?g.SAMELEVELFACTOR:1)/(k-T)}return p}(m,r,n,i);v&lt;h&amp;&amp;(h=v,u=m,c=p)}if(h&gt;2*g.MAXCOST)break;d&amp;&amp;(s/=2),l=(a=c-s/2)+1.5*s}if(h&lt;=g.MAXCOST)return u},r.addLabelData=function(t,e,r,n){var i=e.width/2,a=e.height/2,o=t.x,s=t.y,l=t.theta,c=Math.sin(l),u=Math.cos(l),f=i*u,h=a*c,d=i*c,p=-a*u,m=[[o-f-h,s-d-p],[o+f-h,s+d-p],[o+f+h,s+d+p],[o-f+h,s-d+p]];r.push({text:e.text,x:o,y:s,dy:e.dy,theta:l,level:e.level,width:e.width,height:e.height}),n.push(m)},r.drawLabels=function(t,e,r,n,i){var o=t.selectAll(&quot;text&quot;).data(e,function(t){return t.text+&quot;,&quot;+t.x+&quot;,&quot;+t.y+&quot;,&quot;+t.theta});if(o.exit().remove(),o.enter().append(&quot;text&quot;).attr({&quot;data-notex&quot;:1,&quot;text-anchor&quot;:&quot;middle&quot;}).each(function(t){var e=t.x+Math.sin(t.theta)*t.dy,n=t.y-Math.cos(t.theta)*t.dy;a.select(this).text(t.text).attr({x:e,y:n,transform:&quot;rotate(&quot;+180*t.theta/Math.PI+&quot; &quot;+e+&quot; &quot;+n+&quot;)&quot;}).call(l.convertToTspans,r)}),i){for(var s=&quot;&quot;,c=0;c&lt;i.length;c++)s+=&quot;M&quot;+i[c].join(&quot;L&quot;)+&quot;Z&quot;;var u=n.selectAll(&quot;path&quot;).data([0]);u.enter().append(&quot;path&quot;),u.attr(&quot;d&quot;,s)}}},{&quot;../../components/drawing&quot;:643,&quot;../../lib&quot;:743,&quot;../../lib/svg_text_utils&quot;:766,&quot;../../plots/cartesian/axes&quot;:789,&quot;../../plots/cartesian/set_convert&quot;:808,&quot;../heatmap/plot&quot;:990,&quot;./constants&quot;:952,&quot;./end_plus&quot;:955,&quot;./find_all_paths&quot;:956,&quot;./make_crossings&quot;:960,d3:128}],962:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;d3&quot;),i=t(&quot;../../components/drawing&quot;),a=t(&quot;../heatmap/style&quot;),o=t(&quot;./make_color_map&quot;);e.exports=function(t){var e=n.select(t).selectAll(&quot;g.contour&quot;);e.style(&quot;opacity&quot;,function(t){return t.trace.opacity}),e.each(function(t){var e=n.select(this),r=t.trace,a=r.contours,s=r.line,l=a.size||1,c=a.start,u=&quot;constraint&quot;===a.type,f=!u&amp;&amp;&quot;lines&quot;===a.coloring,h=!u&amp;&amp;&quot;fill&quot;===a.coloring,d=f||h?o(r):null;e.selectAll(&quot;g.contourlevel&quot;).each(function(t){n.select(this).selectAll(&quot;path&quot;).call(i.lineGroupStyle,s.width,f?d(t.level):s.color,s.dash)});var p=a.labelfont;if(e.selectAll(&quot;g.contourlabels text&quot;).each(function(t){i.font(n.select(this),{family:p.family,size:p.size,color:p.color||(f?d(t.level):s.color)})}),u)e.selectAll(&quot;g.contourfill path&quot;).style(&quot;fill&quot;,r.fillcolor);else if(h){var m;e.selectAll(&quot;g.contourfill path&quot;).style(&quot;fill&quot;,function(t){return void 0===m&amp;&amp;(m=t.level),d(t.level+.5*l)}),void 0===m&amp;&amp;(m=c),e.selectAll(&quot;g.contourbg path&quot;).style(&quot;fill&quot;,d(m-.5*l))}}),a(t)}},{&quot;../../components/drawing&quot;:643,&quot;../heatmap/style&quot;:991,&quot;./make_color_map&quot;:959,d3:128}],963:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../components/colorscale/defaults&quot;),i=t(&quot;../../lib&quot;);e.exports=function(t,e,r,a,o){o||(o={});var s,l=r(&quot;contours.coloring&quot;),c=&quot;&quot;;&quot;fill&quot;===l&amp;&amp;(s=r(&quot;contours.showlines&quot;)),!1!==s&amp;&amp;(&quot;lines&quot;!==l&amp;&amp;(c=r(&quot;line.color&quot;,o.defaultColor||&quot;#000&quot;)),r(&quot;line.width&quot;,void 0===o.defaultWidth?.5:o.defaultWidth),r(&quot;line.dash&quot;)),r(&quot;line.smoothing&quot;),&quot;none&quot;!==l&amp;&amp;n(t,e,a,r,{prefix:&quot;&quot;,cLetter:&quot;z&quot;});if(r(&quot;contours.showlabels&quot;)){var u=a.font;i.coerceFont(r,&quot;contours.labelfont&quot;,{family:u.family,size:u.size,color:c}),r(&quot;contours.labelformat&quot;)}!1!==o.hasHover&amp;&amp;r(&quot;zhoverformat&quot;)}},{&quot;../../components/colorscale/defaults&quot;:628,&quot;../../lib&quot;:743}],964:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../heatmap/attributes&quot;),i=t(&quot;../contour/attributes&quot;),a=i.contours,o=t(&quot;../scatter/attributes&quot;),s=t(&quot;../../components/colorscale/attributes&quot;),l=t(&quot;../../components/colorbar/attributes&quot;),c=t(&quot;../../lib/extend&quot;).extendFlat,u=o.line,f=t(&quot;./constants&quot;);e.exports=c({},{carpet:{valType:&quot;string&quot;,editType:&quot;calc&quot;},z:n.z,a:n.x,a0:n.x0,da:n.dx,b:n.y,b0:n.y0,db:n.dy,text:n.text,transpose:n.transpose,atype:n.xtype,btype:n.ytype,mode:{valType:&quot;flaglist&quot;,flags:[&quot;lines&quot;,&quot;fill&quot;],extras:[&quot;none&quot;],editType:&quot;calc&quot;},connectgaps:n.connectgaps,fillcolor:{valType:&quot;color&quot;,editType:&quot;calc&quot;},autocontour:i.autocontour,ncontours:i.ncontours,contours:{type:{valType:&quot;enumerated&quot;,values:[&quot;levels&quot;,&quot;constraint&quot;],dflt:&quot;levels&quot;,editType:&quot;calc&quot;},start:a.start,end:a.end,size:a.size,coloring:{valType:&quot;enumerated&quot;,values:[&quot;fill&quot;,&quot;lines&quot;,&quot;none&quot;],dflt:&quot;fill&quot;,editType:&quot;calc&quot;},showlines:a.showlines,showlabels:a.showlabels,labelfont:a.labelfont,labelformat:a.labelformat,operation:{valType:&quot;enumerated&quot;,values:[].concat(f.INEQUALITY_OPS).concat(f.INTERVAL_OPS).concat(f.SET_OPS),dflt:&quot;=&quot;,editType:&quot;calc&quot;},value:{valType:&quot;any&quot;,dflt:0,editType:&quot;calc&quot;},editType:&quot;calc&quot;},line:{color:c({},u.color,{}),width:u.width,dash:u.dash,smoothing:c({},u.smoothing,{}),editType:&quot;plot&quot;}},s,{autocolorscale:c({},s.autocolorscale,{dflt:!1})},{colorbar:l})},{&quot;../../components/colorbar/attributes&quot;:619,&quot;../../components/colorscale/attributes&quot;:624,&quot;../../lib/extend&quot;:732,&quot;../contour/attributes&quot;:949,&quot;../heatmap/attributes&quot;:977,&quot;../scatter/attributes&quot;:1066,&quot;./constants&quot;:967}],965:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r){var n={type:&quot;linear&quot;,range:[t,e]};return i.autoTicks(n,(e-t)/(r||15)),n}var i=t(&quot;../../plots/cartesian/axes&quot;),a=t(&quot;../../lib&quot;).extendFlat,o=t(&quot;../../components/colorscale/calc&quot;),s=t(&quot;../heatmap/has_columns&quot;),l=t(&quot;../heatmap/convert_column_xyz&quot;),c=t(&quot;../heatmap/clean_2d_array&quot;),u=t(&quot;../heatmap/max_row_length&quot;),f=t(&quot;../heatmap/interp2d&quot;),h=t(&quot;../heatmap/find_empties&quot;),d=t(&quot;../heatmap/make_bound_array&quot;),p=t(&quot;./defaults&quot;),m=t(&quot;../carpet/lookup_carpetid&quot;);e.exports=function(t,e){var r=e.carpetTrace=m(t,e);if(r&amp;&amp;r.visible&amp;&amp;&quot;legendonly&quot;!==r.visible){if(!e.a||!e.b){var g=t.data[r.index],v=t.data[e.index];v.a||(v.a=g.a),v.b||(v.b=g.b),p(v,e,e._defaultColor,t._fullLayout)}var y=function(t,e){var r,n,i,a,p,m,g,v=e.carpetTrace,y=v.aaxis,x=v.baxis;y._minDtick=0,x._minDtick=0,s(e)&amp;&amp;l(e,y,x,&quot;a&quot;,&quot;b&quot;,[&quot;z&quot;]),r=e.a?y.makeCalcdata(e,&quot;a&quot;):[],a=e.b?x.makeCalcdata(e,&quot;b&quot;):[],n=e.a0||0,i=e.da||1,p=e.b0||0,m=e.db||1,g=c(e.z,e.transpose),e._emptypoints=h(g),e._interpz=f(g,e._emptypoints,e._interpz);var b=u(g),_=&quot;scaled&quot;===e.xtype?&quot;&quot;:r,w=d(e,_,n,i,b,y),M=&quot;scaled&quot;===e.ytype?&quot;&quot;:a,k={a:w,b:d(e,M,p,m,g.length,x),z:g};return&quot;levels&quot;===e.contours.type&amp;&amp;o(e,g,&quot;&quot;,&quot;z&quot;),[k]}(0,e),x=e.contours;if(!0===e.autocontour){var b=n(e.zmin,e.zmax,e.ncontours);x.size=b.dtick,x.start=i.tickFirst(b),b.range.reverse(),x.end=i.tickFirst(b),x.start===e.zmin&amp;&amp;(x.start+=x.size),x.end===e.zmax&amp;&amp;(x.end-=x.size),x.start&gt;x.end&amp;&amp;(x.start=x.end=(x.start+x.end)/2),e._input.contours=a({},x)}else{var _=x.start,w=x.end,M=e._input.contours;if(_&gt;w&amp;&amp;(x.start=M.start=w,w=x.end=M.end=_,_=x.start),!(x.size&gt;0)){var k;k=_===w?1:n(_,w,e.ncontours).dtick,M.size=x.size=k}}return y}}},{&quot;../../components/colorscale/calc&quot;:625,&quot;../../lib&quot;:743,&quot;../../plots/cartesian/axes&quot;:789,&quot;../carpet/lookup_carpetid&quot;:931,&quot;../heatmap/clean_2d_array&quot;:979,&quot;../heatmap/convert_column_xyz&quot;:981,&quot;../heatmap/find_empties&quot;:983,&quot;../heatmap/has_columns&quot;:984,&quot;../heatmap/interp2d&quot;:987,&quot;../heatmap/make_bound_array&quot;:988,&quot;../heatmap/max_row_length&quot;:989,&quot;./defaults&quot;:971}],966:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t,e,r,n){var i,a,o,s=n.a.length,l=n.b.length,c=n.z,u=-1/0,f=1/0;for(i=0;i&lt;l;i++)f=Math.min(f,c[i][0]),f=Math.min(f,c[i][s-1]),u=Math.max(u,c[i][0]),u=Math.max(u,c[i][s-1]);for(i=1;i&lt;s-1;i++)f=Math.min(f,c[0][i]),f=Math.min(f,c[l-1][i]),u=Math.max(u,c[0][i]),u=Math.max(u,c[l-1][i]);switch(e){case&quot;&gt;&quot;:case&quot;&gt;=&quot;:n.contours.value&gt;u&amp;&amp;(t[0].prefixBoundary=!0);break;case&quot;&lt;&quot;:case&quot;&lt;=&quot;:n.contours.value&lt;f&amp;&amp;(t[0].prefixBoundary=!0);break;case&quot;[]&quot;:case&quot;()&quot;:a=Math.min.apply(null,n.contours.value),(o=Math.max.apply(null,n.contours.value))&lt;f&amp;&amp;(t[0].prefixBoundary=!0),a&gt;u&amp;&amp;(t[0].prefixBoundary=!0);break;case&quot;][&quot;:case&quot;)(&quot;:a=Math.min.apply(null,n.contours.value),o=Math.max.apply(null,n.contours.value),a&lt;f&amp;&amp;o&gt;u&amp;&amp;(t[0].prefixBoundary=!0)}}},{}],967:[function(t,e,r){&quot;use strict&quot;;e.exports={INEQUALITY_OPS:[&quot;=&quot;,&quot;&lt;&quot;,&quot;&gt;=&quot;,&quot;&gt;&quot;,&quot;&lt;=&quot;],INTERVAL_OPS:[&quot;[]&quot;,&quot;()&quot;,&quot;[)&quot;,&quot;(]&quot;,&quot;][&quot;,&quot;)(&quot;,&quot;](&quot;,&quot;)[&quot;],SET_OPS:[&quot;{}&quot;,&quot;}{&quot;]}},{}],968:[function(t,e,r){&quot;use strict&quot;;function n(t,e){function r(t){return s(t)?+t:null}var n,i=Array.isArray(e);return-1!==o.INEQUALITY_OPS.indexOf(t)?n=r(i?e[0]:e):-1!==o.INTERVAL_OPS.indexOf(t)?n=i?[r(e[0]),r(e[1])]:[r(e),r(e)]:-1!==o.SET_OPS.indexOf(t)&amp;&amp;(n=i?e.map(r):[r(e)]),n}function i(t){return function(e){e=n(t,e);var r=Math.min(e[0],e[1]),i=Math.max(e[0],e[1]);return{start:r,end:i,size:i-r}}}function a(t){return function(e){return e=n(t,e),{start:e,end:1/0,size:1/0}}}var o=t(&quot;./constants&quot;),s=t(&quot;fast-isnumeric&quot;);e.exports[&quot;[]&quot;]=i(&quot;[]&quot;),e.exports[&quot;()&quot;]=i(&quot;()&quot;),e.exports[&quot;[)&quot;]=i(&quot;[)&quot;),e.exports[&quot;(]&quot;]=i(&quot;(]&quot;),e.exports[&quot;][&quot;]=i(&quot;][&quot;),e.exports[&quot;)(&quot;]=i(&quot;)(&quot;),e.exports[&quot;)[&quot;]=i(&quot;)[&quot;),e.exports[&quot;](&quot;]=i(&quot;](&quot;),e.exports[&quot;&gt;&quot;]=a(&quot;&gt;&quot;),e.exports[&quot;&gt;=&quot;]=a(&quot;&gt;=&quot;),e.exports[&quot;&lt;&quot;]=a(&quot;&lt;&quot;),e.exports[&quot;&lt;=&quot;]=a(&quot;&lt;=&quot;),e.exports[&quot;=&quot;]=a(&quot;=&quot;)},{&quot;./constants&quot;:967,&quot;fast-isnumeric&quot;:140}],969:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;./constraint_mapping&quot;),i=t(&quot;fast-isnumeric&quot;);e.exports=function(t,e){var r;-1===[&quot;=&quot;,&quot;&lt;&quot;,&quot;&lt;=&quot;,&quot;&gt;&quot;,&quot;&gt;=&quot;].indexOf(e.operation)?(t(&quot;contours.value&quot;,[0,1]),Array.isArray(e.value)?e.value.length&gt;2?e.value=e.value.slice(2):0===e.length?e.value=[0,1]:e.length&lt;2?(r=parseFloat(e.value[0]),e.value=[r,r+1]):e.value=[parseFloat(e.value[0]),parseFloat(e.value[1])]:i(e.value)&amp;&amp;(r=parseFloat(e.value),e.value=[r,r+1])):(t(&quot;contours.value&quot;,0),i(e.value)||(Array.isArray(e.value)?e.value=parseFloat(e.value[0]):e.value=0));var a=n[e.operation](e.value);e.start=a.start,e.end=a.end,e.size=a.size}},{&quot;./constraint_mapping&quot;:968,&quot;fast-isnumeric&quot;:140}],970:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib&quot;);e.exports=function(t,e){var r,i,a,o=function(t){return t.reverse()},s=function(t){return t};switch(e){case&quot;][&quot;:case&quot;)[&quot;:case&quot;](&quot;:case&quot;)(&quot;:var l=o;o=s,s=l;case&quot;[]&quot;:case&quot;[)&quot;:case&quot;(]&quot;:case&quot;()&quot;:if(2!==t.length)return void n.warn(&quot;Contour data invalid for the specified inequality range operation.&quot;);for(i=t[0],a=t[1],r=0;r&lt;i.edgepaths.length;r++)i.edgepaths[r]=o(i.edgepaths[r]);for(r=0;r&lt;i.paths.length;r++)i.paths[r]=o(i.paths[r]);for(;a.edgepaths.length;)i.edgepaths.push(s(a.edgepaths.shift()));for(;a.paths.length;)i.paths.push(s(a.paths.shift()));t.pop();break;case&quot;&gt;=&quot;:case&quot;&gt;&quot;:if(1!==t.length)return void n.warn(&quot;Contour data invalid for the specified inequality operation.&quot;);for(i=t[0],r=0;r&lt;i.edgepaths.length;r++)i.edgepaths[r]=o(i.edgepaths[r]);for(r=0;r&lt;i.paths.length;r++)i.paths[r]=o(i.paths[r])}}},{&quot;../../lib&quot;:743}],971:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib&quot;),i=t(&quot;../heatmap/xyz_defaults&quot;),a=t(&quot;./attributes&quot;),o=t(&quot;../contour/style_defaults&quot;),s=t(&quot;../scatter/fillcolor_defaults&quot;),l=t(&quot;../../plots/attributes&quot;),c=t(&quot;./constraint_value_defaults&quot;),u=t(&quot;../../components/color&quot;).addOpacity;e.exports=function(t,e,r,f){function h(r,i){return n.coerce(t,e,a,r,i)}if(h(&quot;carpet&quot;),t.a&amp;&amp;t.b){var d,p,m;if(!i(t,e,h,f,&quot;a&quot;,&quot;b&quot;))return void(e.visible=!1);h(&quot;text&quot;),h(&quot;contours.type&quot;);var g=e.contours;if(&quot;constraint&quot;===g.type){h(&quot;contours.operation&quot;),c(h,g),n.coerce(t,e,l,&quot;showlegend&quot;,!0),h(&quot;contours.coloring&quot;,&quot;=&quot;===g.operation?&quot;lines&quot;:&quot;fill&quot;),h(&quot;contours.showlines&quot;,!0),&quot;=&quot;===g.operation&amp;&amp;(g.coloring=&quot;lines&quot;),s(t,e,r,h);var v=e.fillcolor?u(e.fillcolor,1):r;o(t,e,h,f,{hasHover:!1,defaultColor:v,defaultWidth:2}),&quot;=&quot;===g.operation&amp;&amp;(h(&quot;line.color&quot;,r),&quot;fill&quot;===g.coloring&amp;&amp;(g.coloring=&quot;lines&quot;),&quot;lines&quot;===g.coloring&amp;&amp;delete e.fillcolor),delete e.showscale,delete e.autocontour,delete e.autocolorscale,delete e.colorscale,delete e.ncontours,delete e.colorbar,e.line&amp;&amp;(delete e.line.autocolorscale,delete e.line.colorscale,delete e.line.mincolor,delete e.line.maxcolor)}else n.coerce(t,e,l,&quot;showlegend&quot;,!1),p=n.coerce2(t,e,a,&quot;contours.start&quot;),m=n.coerce2(t,e,a,&quot;contours.end&quot;),d=h(&quot;contours.size&quot;),h(&quot;contours.coloring&quot;),!(!1===p||!1===m?e.autocontour=!0:h(&quot;autocontour&quot;,!1))&amp;&amp;d||h(&quot;ncontours&quot;),o(t,e,h,f,{hasHover:!1}),delete e.value,delete e.operation}else e._defaultColor=r}},{&quot;../../components/color&quot;:618,&quot;../../lib&quot;:743,&quot;../../plots/attributes&quot;:787,&quot;../contour/style_defaults&quot;:963,&quot;../heatmap/xyz_defaults&quot;:993,&quot;../scatter/fillcolor_defaults&quot;:1075,&quot;./attributes&quot;:964,&quot;./constraint_value_defaults&quot;:969}],972:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib&quot;);e.exports=function(t,e,r){for(var i=t.size,a=[],o=r.trace.carpetTrace,s=t.start;s&lt;t.end+i/10;s+=i)if(a.push({level:s,crossings:{},starts:[],edgepaths:[],paths:[],xaxis:o.aaxis,yaxis:o.baxis,x:r.a,y:r.b,z:r.z,smoothing:r.trace.line.smoothing}),a.length&gt;1e3){n.warn(&quot;Too many contours, clipping at 1000&quot;,t);break}return a}},{&quot;../../lib&quot;:743}],973:[function(t,e,r){&quot;use strict&quot;;var n={};n.attributes=t(&quot;./attributes&quot;),n.supplyDefaults=t(&quot;./defaults&quot;),n.colorbar=t(&quot;../contour/colorbar&quot;),n.calc=t(&quot;./calc&quot;),n.plot=t(&quot;./plot&quot;),n.style=t(&quot;../contour/style&quot;),n.moduleType=&quot;trace&quot;,n.name=&quot;contourcarpet&quot;,n.basePlotModule=t(&quot;../../plots/cartesian&quot;),n.categories=[&quot;cartesian&quot;,&quot;carpet&quot;,&quot;contour&quot;,&quot;symbols&quot;,&quot;showLegend&quot;,&quot;hasLines&quot;,&quot;carpetDependent&quot;],n.meta={},e.exports=n},{&quot;../../plots/cartesian&quot;:800,&quot;../contour/colorbar&quot;:951,&quot;../contour/style&quot;:962,&quot;./attributes&quot;:964,&quot;./calc&quot;:965,&quot;./defaults&quot;:971,&quot;./plot&quot;:976}],974:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../components/drawing&quot;),i=t(&quot;../carpet/axis_aligned_line&quot;),a=t(&quot;../../lib&quot;);e.exports=function(t,e,r,o,s,l,c,u){function f(t){return Math.abs(t[1]-r[0][1])&lt;S}function h(t){return Math.abs(t[1]-r[2][1])&lt;S}function d(t){return Math.abs(t[0]-r[0][0])&lt;T}function p(t){return Math.abs(t[0]-r[2][0])&lt;T}function m(t,e){var r,n,a,o,m=&quot;&quot;;for(f(t)&amp;&amp;!p(t)||h(t)&amp;&amp;!d(t)?(o=s.aaxis,a=i(s,l,[t[0],e[0]],.5*(t[1]+e[1]))):(o=s.baxis,a=i(s,l,.5*(t[0]+e[0]),[t[1],e[1]])),r=1;r&lt;a.length;r++)for(m+=o.smoothing?&quot;C&quot;:&quot;L&quot;,n=0;n&lt;a[r].length;n++){var g=a[r][n];m+=[c.c2p(g[0]),u.c2p(g[1])]+&quot; &quot;}return m}var g,v,y,x,b,_,w,M=&quot;&quot;,k=e.edgepaths.map(function(t,e){return e}),A=!0,T=1e-4*Math.abs(r[0][0]-r[2][0]),S=1e-4*Math.abs(r[0][1]-r[2][1]);for(g=0,v=null;k.length;){var E=e.edgepaths[g][0];for(v&amp;&amp;(M+=m(v,E)),w=n.smoothopen(e.edgepaths[g].map(o),e.smoothing),M+=A?w:w.replace(/^M/,&quot;L&quot;),k.splice(k.indexOf(g),1),v=e.edgepaths[g][e.edgepaths[g].length-1],b=-1,x=0;x&lt;4;x++){if(!v){a.log(&quot;Missing end?&quot;,g,e);break}for(f(v)&amp;&amp;!p(v)?y=r[1]:d(v)?y=r[0]:h(v)?y=r[3]:p(v)&amp;&amp;(y=r[2]),_=0;_&lt;e.edgepaths.length;_++){var L=e.edgepaths[_][0];Math.abs(v[0]-y[0])&lt;T?Math.abs(v[0]-L[0])&lt;T&amp;&amp;(L[1]-v[1])*(y[1]-L[1])&gt;=0&amp;&amp;(y=L,b=_):Math.abs(v[1]-y[1])&lt;S?Math.abs(v[1]-L[1])&lt;S&amp;&amp;(L[0]-v[0])*(y[0]-L[0])&gt;=0&amp;&amp;(y=L,b=_):a.log(&quot;endpt to newendpt is not vert. or horz.&quot;,v,y,L)}if(b&gt;=0)break;M+=m(v,y),v=y}if(b===e.edgepaths.length){a.log(&quot;unclosed perimeter path&quot;);break}g=b,(A=-1===k.indexOf(g))&amp;&amp;(g=k[0],M+=m(v,y)+&quot;Z&quot;,v=null)}for(g=0;g&lt;e.paths.length;g++)M+=n.smoothclosed(e.paths[g].map(o),e.smoothing);return M}},{&quot;../../components/drawing&quot;:643,&quot;../../lib&quot;:743,&quot;../carpet/axis_aligned_line&quot;:914}],975:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t,e){var r,n,i,a,o,s,l,c,u;for(r=0;r&lt;t.length;r++){for(o=(a=t[r]).pedgepaths=[],s=a.ppaths=[],n=0;n&lt;a.edgepaths.length;n++){for(u=a.edgepaths[n],l=[],i=0;i&lt;u.length;i++)l[i]=e(u[i]);o.push(l)}for(n=0;n&lt;a.paths.length;n++){for(u=a.paths[n],c=[],i=0;i&lt;u.length;i++)c[i]=e(u[i]);s.push(c)}}}},{}],976:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r){function n(t){var e=M.ab2xy(t[0],t[1],!0);return[L.c2p(e[0]),C.c2p(e[1])]}var w=r[0].trace,M=w.carpetTrace=b(t,w),k=t.calcdata[M.index][0];if(M.visible&amp;&amp;&quot;legendonly&quot;!==M.visible){var A=r[0].a,T=r[0].b,S=w.contours,E=w.uid,L=e.xaxis,C=e.yaxis,z=t._fullLayout,D=&quot;contour&quot;+E,I=y(S,e,r[0]),P=&quot;constraint&quot;===w.contours.type;if(!0===w.visible){var O=[[A[0],T[T.length-1]],[A[A.length-1],T[T.length-1]],[A[A.length-1],T[0]],[A[0],T[0]]];h(I);var F=1e-8*(A[A.length-1]-A[0]),R=1e-8*(T[T.length-1]-T[0]);d(I,F,R),&quot;constraint&quot;===w.contours.type&amp;&amp;(g(I,w.contours.operation),_(I,w.contours.operation,O,w)),x(I,n);var N,j,B,U,V=p.makeContourGroup(e,r,D),q=[];for(U=k.clipsegments.length-1;U&gt;=0;U--)N=k.clipsegments[U],j=l([],N.x,L.c2p),B=l([],N.y,C.c2p),j.reverse(),B.reverse(),q.push(c(j,B,N.bicubic));var H=&quot;M&quot;+q.join(&quot;L&quot;)+&quot;Z&quot;;!function(t,e,r,n,i,a){var o,s,u,f,h=t.selectAll(&quot;g.contourbg&quot;).data([0]);h.enter().append(&quot;g&quot;).classed(&quot;contourbg&quot;,!0);var d=h.selectAll(&quot;path&quot;).data(&quot;fill&quot;!==a||i?[]:[0]);d.enter().append(&quot;path&quot;),d.exit().remove();var p=[];for(f=0;f&lt;e.length;f++)o=e[f],s=l([],o.x,r.c2p),u=l([],o.y,n.c2p),p.push(c(s,u,o.bicubic));d.attr(&quot;d&quot;,&quot;M&quot;+p.join(&quot;L&quot;)+&quot;Z&quot;).style(&quot;stroke&quot;,&quot;none&quot;)}(V,k.clipsegments,L,C,P,S.coloring),function(t,e,r,n,i,a,o,l,c,u,f){var h=e.selectAll(&quot;g.contourfill&quot;).data([0]);h.enter().append(&quot;g&quot;).classed(&quot;contourfill&quot;,!0);var d=h.selectAll(&quot;path&quot;).data(&quot;fill&quot;===u?i:[]);d.enter().append(&quot;path&quot;),d.exit().remove(),d.each(function(e){var i=v(t,e,a,o,l,c,r,n);e.prefixBoundary&amp;&amp;(i=f+i),i?s.select(this).attr(&quot;d&quot;,i).style(&quot;stroke&quot;,&quot;none&quot;):s.select(this).remove()})}(w,V,L,C,I,O,n,M,k,S.coloring,H),function(t,e,r,n,l,c,h){var d=t.selectAll(&quot;g.contourlines&quot;).data([0]);d.enter().append(&quot;g&quot;).classed(&quot;contourlines&quot;,!0);var g=!1!==l.showlines,v=l.showlabels,y=g&amp;&amp;v,x=p.createLines(d,g||v,e),b=p.createLineClip(d,y,r._fullLayout._defs,n.trace.uid),_=t.selectAll(&quot;g.contourlabels&quot;).data(v?[0]:[]);if(_.exit().remove(),_.enter().append(&quot;g&quot;).classed(&quot;contourlabels&quot;,!0),v){var w=c.xaxis,M=c.yaxis,k=w._length,A=M._length,T=[[[0,0],[k,0],[k,A],[0,A]]],S=[];f.clearLocationCache();var E=p.labelFormatter(l,n.t.cb,r._fullLayout),L=u.tester.append(&quot;text&quot;).attr(&quot;data-notex&quot;,1).call(u.font,l.labelfont),C={left:0,right:k,center:k/2,top:0,bottom:A,middle:A/2},z=Math.sqrt(k*k+A*A),D=m.LABELDISTANCE*z/Math.max(1,e.length/m.LABELINCREASE);x.each(function(t){var e=p.calcTextOpts(t.level,E,L,r);s.select(this).selectAll(&quot;path&quot;).each(function(r){var n=f.getVisibleSegment(this,C,e.height/2);if(n&amp;&amp;(function(t,e,r,n,s,l){function c(t,e){var r,n=0;return(Math.abs(t[0]-h)&lt;.1||Math.abs(t[0]-d)&lt;.1)&amp;&amp;(r=a(s.dxydb_rough(t[0],t[1],.1)),n=Math.max(n,l*o(e,r)/2)),(Math.abs(t[1]-p)&lt;.1||Math.abs(t[1]-m)&lt;.1)&amp;&amp;(r=a(s.dxyda_rough(t[0],t[1],.1)),n=Math.max(n,l*o(e,r)/2)),n}for(var u,f=0;f&lt;r.pedgepaths.length;f++)e===r.pedgepaths[f]&amp;&amp;(u=r.edgepaths[f]);if(!u)return;var h=s.a[0],d=s.a[s.a.length-1],p=s.b[0],m=s.b[s.b.length-1];var g=i(t,0,1),v=i(t,n.total,n.total-1),y=c(u[0],g),x=n.total-c(u[u.length-1],v);n.min&lt;y&amp;&amp;(n.min=y);n.max&gt;x&amp;&amp;(n.max=x);n.len=n.max-n.min}(this,r,t,n,h,e.height),!(n.len&lt;(e.width+e.height)*m.LABELMIN)))for(var s=Math.min(Math.ceil(n.len/D),m.LABELMAX),l=0;l&lt;s;l++){var c=p.findBestTextLocation(this,n,e,S,C);if(!c)break;p.addLabelData(c,e,S,T)}})}),L.remove(),p.drawLabels(_,S,r,b,y?T:null)}v&amp;&amp;!g&amp;&amp;x.remove()}(V,I,t,r[0],S,e,M),u.setClipUrl(V,M._clipPathId)}else z._infolayer.selectAll(&quot;.cb&quot;+E).remove()}}function i(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 a(t){var e=Math.sqrt(t[0]*t[0]+t[1]*t[1]);return[t[0]/e,t[1]/e]}function o(t,e){var r=Math.abs(t[0]*e[0]+t[1]*e[1]);return Math.sqrt(1-r*r)/r}var s=t(&quot;d3&quot;),l=t(&quot;../carpet/map_1d_array&quot;),c=t(&quot;../carpet/makepath&quot;),u=t(&quot;../../components/drawing&quot;),f=t(&quot;../../lib&quot;),h=t(&quot;../contour/make_crossings&quot;),d=t(&quot;../contour/find_all_paths&quot;),p=t(&quot;../contour/plot&quot;),m=t(&quot;../contour/constants&quot;),g=t(&quot;./convert_to_constraints&quot;),v=t(&quot;./join_all_paths&quot;),y=t(&quot;./empty_pathinfo&quot;),x=t(&quot;./map_pathinfo&quot;),b=t(&quot;../carpet/lookup_carpetid&quot;),_=t(&quot;./close_boundaries&quot;);e.exports=function(t,e,r){for(var i=0;i&lt;r.length;i++)n(t,e,r[i])}},{&quot;../../components/drawing&quot;:643,&quot;../../lib&quot;:743,&quot;../carpet/lookup_carpetid&quot;:931,&quot;../carpet/makepath&quot;:932,&quot;../carpet/map_1d_array&quot;:933,&quot;../contour/constants&quot;:952,&quot;../contour/find_all_paths&quot;:956,&quot;../contour/make_crossings&quot;:960,&quot;../contour/plot&quot;:961,&quot;./close_boundaries&quot;:966,&quot;./convert_to_constraints&quot;:970,&quot;./empty_pathinfo&quot;:972,&quot;./join_all_paths&quot;:974,&quot;./map_pathinfo&quot;:975,d3:128}],977:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../scatter/attributes&quot;),i=t(&quot;../../components/colorscale/attributes&quot;),a=t(&quot;../../components/colorbar/attributes&quot;),o=t(&quot;../../lib/extend&quot;).extendFlat;e.exports=o({},{z:{valType:&quot;data_array&quot;,editType:&quot;calc&quot;},x:o({},n.x,{impliedEdits:{xtype:&quot;array&quot;}}),x0:o({},n.x0,{impliedEdits:{xtype:&quot;scaled&quot;}}),dx:o({},n.dx,{impliedEdits:{xtype:&quot;scaled&quot;}}),y:o({},n.y,{impliedEdits:{ytype:&quot;array&quot;}}),y0:o({},n.y0,{impliedEdits:{ytype:&quot;scaled&quot;}}),dy:o({},n.dy,{impliedEdits:{ytype:&quot;scaled&quot;}}),text:{valType:&quot;data_array&quot;,editType:&quot;calc&quot;},transpose:{valType:&quot;boolean&quot;,dflt:!1,editType:&quot;calc&quot;},xtype:{valType:&quot;enumerated&quot;,values:[&quot;array&quot;,&quot;scaled&quot;],editType:&quot;calc+clearAxisTypes&quot;},ytype:{valType:&quot;enumerated&quot;,values:[&quot;array&quot;,&quot;scaled&quot;],editType:&quot;calc+clearAxisTypes&quot;},zsmooth:{valType:&quot;enumerated&quot;,values:[&quot;fast&quot;,&quot;best&quot;,!1],dflt:!1,editType:&quot;calc&quot;},connectgaps:{valType:&quot;boolean&quot;,dflt:!1,editType:&quot;calc&quot;},xgap:{valType:&quot;number&quot;,dflt:0,min:0,editType:&quot;plot&quot;},ygap:{valType:&quot;number&quot;,dflt:0,min:0,editType:&quot;plot&quot;},zhoverformat:{valType:&quot;string&quot;,dflt:&quot;&quot;,editType:&quot;none&quot;}},i,{autocolorscale:o({},i.autocolorscale,{dflt:!1})},{colorbar:a})},{&quot;../../components/colorbar/attributes&quot;:619,&quot;../../components/colorscale/attributes&quot;:624,&quot;../../lib/extend&quot;:732,&quot;../scatter/attributes&quot;:1066}],978:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../registry&quot;),i=t(&quot;../../lib&quot;),a=t(&quot;../../plots/cartesian/axes&quot;),o=t(&quot;../histogram2d/calc&quot;),s=t(&quot;../../components/colorscale/calc&quot;),l=t(&quot;./has_columns&quot;),c=t(&quot;./convert_column_xyz&quot;),u=t(&quot;./max_row_length&quot;),f=t(&quot;./clean_2d_array&quot;),h=t(&quot;./interp2d&quot;),d=t(&quot;./find_empties&quot;),p=t(&quot;./make_bound_array&quot;);e.exports=function(t,e){function r(t){L=e._input.zsmooth=e.zsmooth=!1,i.warn('cannot use zsmooth: &quot;fast&quot;: '+t)}var m,g,v,y,x,b,_,w,M,k=a.getFromId(t,e.xaxis||&quot;x&quot;),A=a.getFromId(t,e.yaxis||&quot;y&quot;),T=n.traceIs(e,&quot;contour&quot;),S=n.traceIs(e,&quot;histogram&quot;),E=n.traceIs(e,&quot;gl2d&quot;),L=T?&quot;best&quot;:e.zsmooth;if(k._minDtick=0,A._minDtick=0,S?(m=(M=o(t,e)).x,g=M.x0,v=M.dx,y=M.y,x=M.y0,b=M.dy,_=M.z):(l(e)?(c(e,k,A,&quot;x&quot;,&quot;y&quot;,[&quot;z&quot;]),m=e.x,y=e.y):(m=e.x?k.makeCalcdata(e,&quot;x&quot;):[],y=e.y?A.makeCalcdata(e,&quot;y&quot;):[]),g=e.x0||0,v=e.dx||1,x=e.y0||0,b=e.dy||1,_=f(e.z,e.transpose),(T||e.connectgaps)&amp;&amp;(e._emptypoints=d(_),e._interpz=h(_,e._emptypoints,e._interpz))),&quot;fast&quot;===L)if(&quot;log&quot;===k.type||&quot;log&quot;===A.type)r(&quot;log axis found&quot;);else if(!S){if(m.length){var C=(m[m.length-1]-m[0])/(m.length-1),z=Math.abs(C/100);for(w=0;w&lt;m.length-1;w++)if(Math.abs(m[w+1]-m[w]-C)&gt;z){r(&quot;x scale is not linear&quot;);break}}if(y.length&amp;&amp;&quot;fast&quot;===L){var D=(y[y.length-1]-y[0])/(y.length-1),I=Math.abs(D/100);for(w=0;w&lt;y.length-1;w++)if(Math.abs(y[w+1]-y[w]-D)&gt;I){r(&quot;y scale is not linear&quot;);break}}}var P=u(_),O=&quot;scaled&quot;===e.xtype?&quot;&quot;:m,F=p(e,O,g,v,P,k),R=&quot;scaled&quot;===e.ytype?&quot;&quot;:y,N=p(e,R,x,b,_.length,A);E||(a.expand(k,F),a.expand(A,N));var j={x:F,y:N,z:_,text:e.text};if(O&amp;&amp;O.length===F.length-1&amp;&amp;(j.xCenter=O),R&amp;&amp;R.length===N.length-1&amp;&amp;(j.yCenter=R),S&amp;&amp;(j.xRanges=M.xRanges,j.yRanges=M.yRanges,j.pts=M.pts),s(e,_,&quot;&quot;,&quot;z&quot;),T&amp;&amp;e.contours&amp;&amp;&quot;heatmap&quot;===e.contours.coloring){var B={type:&quot;contour&quot;===e.type?&quot;heatmap&quot;:&quot;histogram2d&quot;,xcalendar:e.xcalendar,ycalendar:e.ycalendar};j.xfill=p(B,O,g,v,P,k),j.yfill=p(B,R,x,b,_.length,A)}return[j]}},{&quot;../../components/colorscale/calc&quot;:625,&quot;../../lib&quot;:743,&quot;../../plots/cartesian/axes&quot;:789,&quot;../../registry&quot;:873,&quot;../histogram2d/calc&quot;:1010,&quot;./clean_2d_array&quot;:979,&quot;./convert_column_xyz&quot;:981,&quot;./find_empties&quot;:983,&quot;./has_columns&quot;:984,&quot;./interp2d&quot;:987,&quot;./make_bound_array&quot;:988,&quot;./max_row_length&quot;:989}],979:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;fast-isnumeric&quot;);e.exports=function(t,e){function r(t){if(n(t))return+t}var i,a,o,s,l,c;if(e){for(i=0,l=0;l&lt;t.length;l++)i=Math.max(i,t[l].length);if(0===i)return!1;o=function(t){return t.length},s=function(t,e,r){return t[r][e]}}else i=t.length,o=function(t,e){return t[e].length},s=function(t,e,r){return t[e][r]};var u=new Array(i);for(l=0;l&lt;i;l++)for(a=o(t,l),u[l]=new Array(a),c=0;c&lt;a;c++)u[l][c]=r(s(t,l,c));return u}},{&quot;fast-isnumeric&quot;:140}],980:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;fast-isnumeric&quot;),i=t(&quot;../../lib&quot;),a=t(&quot;../../plots/plots&quot;),o=t(&quot;../../components/colorscale&quot;),s=t(&quot;../../components/colorbar/draw&quot;);e.exports=function(t,e){var r=e[0].trace,l=&quot;cb&quot;+r.uid,c=r.zmin,u=r.zmax;if(n(c)||(c=i.aggNums(Math.min,null,r.z)),n(u)||(u=i.aggNums(Math.max,null,r.z)),t._fullLayout._infolayer.selectAll(&quot;.&quot;+l).remove(),r.showscale){var f=e[0].t.cb=s(t,l),h=o.makeColorScaleFunc(o.extractScale(r.colorscale,c,u),{noNumericCheck:!0});f.fillcolor(h).filllevels({start:c,end:u,size:(u-c)/254}).options(r.colorbar)()}else a.autoMargin(t,l)}},{&quot;../../components/colorbar/draw&quot;:622,&quot;../../components/colorscale&quot;:633,&quot;../../lib&quot;:743,&quot;../../plots/plots&quot;:852,&quot;fast-isnumeric&quot;:140}],981:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib&quot;),i=t(&quot;../../constants/numerical&quot;).BADNUM;e.exports=function(t,e,r,a,o,s){a=a||&quot;x&quot;,o=o||&quot;y&quot;,s=s||[&quot;z&quot;];var l,c,u,f=t[a].slice(),h=t[o].slice(),d=t.text,p=Math.min(f.length,h.length),m=void 0!==d&amp;&amp;!Array.isArray(d[0]),g=t[a+&quot;calendar&quot;],v=t[o+&quot;calendar&quot;];for(l=0;l&lt;s.length;l++)(u=t[s[l]])&amp;&amp;(p=Math.min(p,u.length));for(p&lt;f.length&amp;&amp;(f=f.slice(0,p)),p&lt;h.length&amp;&amp;(h=h.slice(0,p)),l=0;l&lt;p;l++)f[l]=e.d2c(f[l],0,g),h[l]=r.d2c(h[l],0,v);var y=n.distinctVals(f),x=y.vals,b=n.distinctVals(h),_=b.vals,w=[];for(l=0;l&lt;s.length;l++)w[l]=n.init2dArray(_.length,x.length);var M,k,A;for(m&amp;&amp;(A=n.init2dArray(_.length,x.length)),l=0;l&lt;p;l++)if(f[l]!==i&amp;&amp;h[l]!==i){for(M=n.findBin(f[l]+y.minDiff/2,x),k=n.findBin(h[l]+b.minDiff/2,_),c=0;c&lt;s.length;c++)u=t[s[c]],w[c][k][M]=u[l];m&amp;&amp;(A[k][M]=d[l])}for(t[a]=x,t[o]=_,c=0;c&lt;s.length;c++)t[s[c]]=w[c];m&amp;&amp;(t.text=A)}},{&quot;../../constants/numerical&quot;:721,&quot;../../lib&quot;:743}],982:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib&quot;),i=t(&quot;./has_columns&quot;),a=t(&quot;./xyz_defaults&quot;),o=t(&quot;./style_defaults&quot;),s=t(&quot;../../components/colorscale/defaults&quot;),l=t(&quot;./attributes&quot;);e.exports=function(t,e,r,c){function u(r,i){return n.coerce(t,e,l,r,i)}a(t,e,u,c)?(u(&quot;text&quot;),o(t,e,u,c),u(&quot;connectgaps&quot;,i(e)&amp;&amp;!1!==e.zsmooth),s(t,e,c,u,{prefix:&quot;&quot;,cLetter:&quot;z&quot;})):e.visible=!1}},{&quot;../../components/colorscale/defaults&quot;:628,&quot;../../lib&quot;:743,&quot;./attributes&quot;:977,&quot;./has_columns&quot;:984,&quot;./style_defaults&quot;:992,&quot;./xyz_defaults&quot;:993}],983:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;./max_row_length&quot;);e.exports=function(t){var e,r,i,a,o,s,l,c,u=[],f={},h=[],d=t[0],p=[],m=[0,0,0],g=n(t);for(r=0;r&lt;t.length;r++)for(e=p,p=d,d=t[r+1]||[],i=0;i&lt;g;i++)void 0===p[i]&amp;&amp;((s=(void 0!==p[i-1]?1:0)+(void 0!==p[i+1]?1:0)+(void 0!==e[i]?1:0)+(void 0!==d[i]?1:0))?(0===r&amp;&amp;s++,0===i&amp;&amp;s++,r===t.length-1&amp;&amp;s++,i===p.length-1&amp;&amp;s++,s&lt;4&amp;&amp;(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&gt;=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)&amp;&amp;(l[a]=[r,i,s],h.splice(o,1),c=!0);if(!c)throw&quot;findEmpties iterated with no new neighbors&quot;;for(a in l)f[a]=l[a],u.push(l[a])}return u.sort(function(t,e){return e[2]-t[2]})}},{&quot;./max_row_length&quot;:989}],984:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t){return!Array.isArray(t.z[0])}},{}],985:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../components/fx&quot;),i=t(&quot;../../lib&quot;),a=t(&quot;../../plots/cartesian/axes&quot;),o=n.constants.MAXDIST;e.exports=function(t,e,r,s,l,c){if(!(t.distance&lt;o)){var u,f,h,d,p=t.cd[0],m=p.trace,g=t.xa,v=t.ya,y=p.x,x=p.y,b=p.z,_=p.xCenter,w=p.yCenter,M=p.zmask,k=[m.zmin,m.zmax],A=m.zhoverformat,T=y,S=x;if(!1!==t.index){try{h=Math.round(t.index[1]),d=Math.round(t.index[0])}catch(e){return void i.error(&quot;Error hovering on heatmap, pointNumber must be [row,col], found:&quot;,t.index)}if(h&lt;0||h&gt;=b[0].length||d&lt;0||d&gt;b.length)return}else{if(n.inbox(e-y[0],e-y[y.length-1])&gt;o||n.inbox(r-x[0],r-x[x.length-1])&gt;o)return;if(c){var E;for(T=[2*y[0]-y[1]],E=1;E&lt;y.length;E++)T.push((y[E]+y[E-1])/2);for(T.push([2*y[y.length-1]-y[y.length-2]]),S=[2*x[0]-x[1]],E=1;E&lt;x.length;E++)S.push((x[E]+x[E-1])/2);S.push([2*x[x.length-1]-x[x.length-2]])}h=Math.max(0,Math.min(T.length-2,i.findBin(e,T))),d=Math.max(0,Math.min(S.length-2,i.findBin(r,S)))}var L=g.c2p(y[h]),C=g.c2p(y[h+1]),z=v.c2p(x[d]),D=v.c2p(x[d+1]);c?(C=L,u=y[h],D=z,f=x[d]):(u=_?_[h]:(y[h]+y[h+1])/2,f=w?w[d]:(x[d]+x[d+1])/2,m.zsmooth&amp;&amp;(L=C=g.c2p(u),z=D=v.c2p(f)));var I=b[d][h];M&amp;&amp;!M[d][h]&amp;&amp;(I=void 0);var P;Array.isArray(p.text)&amp;&amp;Array.isArray(p.text[d])&amp;&amp;(P=p.text[d][h]);var O,F={type:&quot;linear&quot;,range:k,hoverformat:A,_separators:g._separators,_numFormat:g._numFormat};return O=a.tickText(F,I,&quot;hover&quot;).text,[i.extendFlat(t,{index:[d,h],distance:o+10,x0:L,x1:C,y0:z,y1:D,xLabelVal:u,yLabelVal:f,zLabelVal:I,zLabel:O,text:P})]}}},{&quot;../../components/fx&quot;:660,&quot;../../lib&quot;:743,&quot;../../plots/cartesian/axes&quot;:789}],986:[function(t,e,r){&quot;use strict&quot;;var n={};n.attributes=t(&quot;./attributes&quot;),n.supplyDefaults=t(&quot;./defaults&quot;),n.calc=t(&quot;./calc&quot;),n.plot=t(&quot;./plot&quot;),n.colorbar=t(&quot;./colorbar&quot;),n.style=t(&quot;./style&quot;),n.hoverPoints=t(&quot;./hover&quot;),n.moduleType=&quot;trace&quot;,n.name=&quot;heatmap&quot;,n.basePlotModule=t(&quot;../../plots/cartesian&quot;),n.categories=[&quot;cartesian&quot;,&quot;2dMap&quot;],n.meta={},e.exports=n},{&quot;../../plots/cartesian&quot;:800,&quot;./attributes&quot;:977,&quot;./calc&quot;:978,&quot;./colorbar&quot;:980,&quot;./defaults&quot;:982,&quot;./hover&quot;:985,&quot;./plot&quot;:990,&quot;./style&quot;:991}],987:[function(t,e,r){&quot;use strict&quot;;function n(t){return.5-.25*Math.min(1,.5*t)}function i(t,e,r){var n,i,a,s,l,c,u,f,h,d,p,m,g,v=0;for(s=0;s&lt;e.length;s++){for(i=(n=e[s])[0],a=n[1],p=t[i][a],d=0,h=0,l=0;l&lt;4;l++)(u=t[i+(c=o[l])[0]])&amp;&amp;void 0!==(f=u[a+c[1]])&amp;&amp;(0===d?m=g=f:(m=Math.min(m,f),g=Math.max(g,f)),h++,d+=f);if(0===h)throw&quot;iterateInterp2d order is wrong: no defined neighbors&quot;;t[i][a]=d/h,void 0===p?h&lt;4&amp;&amp;(v=1):(t[i][a]=(1+r)*t[i][a]-r*p,g&gt;m&amp;&amp;(v=Math.max(v,Math.abs(t[i][a]-p)/(g-m))))}return v}var a=t(&quot;../../lib&quot;),o=[[-1,0],[1,0],[0,-1],[0,1]];e.exports=function(t,e,r){var o,s,l=1;if(Array.isArray(r))for(o=0;o&lt;e.length;o++)t[(s=e[o])[0]][s[1]]=r[s[0]][s[1]];else i(t,e);for(o=0;o&lt;e.length&amp;&amp;!(e[o][2]&lt;4);o++);for(e=e.slice(o),o=0;o&lt;100&amp;&amp;l&gt;.01;o++)l=i(t,e,n(l));return l&gt;.01&amp;&amp;a.log(&quot;interp2d didn't converge quickly&quot;,l),t}},{&quot;../../lib&quot;:743}],988:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../registry&quot;);e.exports=function(t,e,r,i,a,o){var s,l,c,u=[],f=n.traceIs(t,&quot;contour&quot;),h=n.traceIs(t,&quot;histogram&quot;),d=n.traceIs(t,&quot;gl2d&quot;);if(Array.isArray(e)&amp;&amp;e.length&gt;1&amp;&amp;!h&amp;&amp;&quot;category&quot;!==o.type){var p=e.length;if(!(p&lt;=a))return f?e.slice(0,a):e.slice(0,a+1);if(f||d)u=e.slice(0,a);else if(1===a)u=[e[0]-.5,e[0]+.5];else{for(u=[1.5*e[0]-.5*e[1]],c=1;c&lt;p;c++)u.push(.5*(e[c-1]+e[c]));u.push(1.5*e[p-1]-.5*e[p-2])}if(p&lt;a){var m=u[u.length-1],g=m-u[u.length-2];for(c=p;c&lt;a;c++)m+=g,u.push(m)}}else{l=i||1;var v=t[o._id.charAt(0)+&quot;calendar&quot;];for(s=h||&quot;category&quot;===o.type?o.r2c(r,0,v)||0:Array.isArray(e)&amp;&amp;1===e.length?e[0]:void 0===r?0:o.d2c(r,0,v),c=f||d?0:-.5;c&lt;a;c++)u.push(s+l*c)}return u}},{&quot;../../registry&quot;:873}],989:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t){for(var e=0,r=0;r&lt;t.length;r++)e=Math.max(e,t[r].length);return e}},{}],990:[function(t,e,r){&quot;use strict&quot;;function n(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&amp;&amp;o!==r&amp;&amp;c?{bin0:s,frac:c,bin1:Math.round(s+c/(o-s))}:{bin0:s,bin1:s,frac:0}}function i(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&lt;=0?{bin0:n,bin1:n,frac:0}:a&lt;.5?{bin0:n,bin1:n+1,frac:a}:{bin0:n+1,bin1:n,frac:1-a}}function a(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])}var o=t(&quot;tinycolor2&quot;),s=t(&quot;../../registry&quot;),l=t(&quot;../../lib&quot;),c=t(&quot;../../components/colorscale&quot;),u=t(&quot;../../constants/xmlns_namespaces&quot;),f=t(&quot;./max_row_length&quot;);e.exports=function(t,e,r){for(var h=0;h&lt;r.length;h++)!function(t,e,r){function h(t,e){if(void 0!==t){var r=Z(t);return r[0]=Math.round(r[0]),r[1]=Math.round(r[1]),r[2]=Math.round(r[2]),at+=e,ot+=r[0]*e,st+=r[1]*e,lt+=r[2]*e,r}return[0,0,0,0]}function d(t,e,r,n){var i=t[r.bin0];if(void 0===i)return h(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,h(i+r.frac*c+n.frac*(u+r.frac*a))}var p=r[0],m=p.trace,g=m.uid,v=e.xaxis,y=e.yaxis,x=t._fullLayout,b=&quot;hm&quot;+g;if(x._paper.selectAll(&quot;.contour&quot;+g).remove(),x._infolayer.selectAll(&quot;g.rangeslider-container&quot;).selectAll(&quot;.contour&quot;+g).remove(),!0!==m.visible)return x._paper.selectAll(&quot;.&quot;+b).remove(),void x._infolayer.selectAll(&quot;.cb&quot;+g).remove();var _,w,M,k,A,T,S=p.z,E=p.x,L=p.y,C=p.xCenter,z=p.yCenter,D=s.traceIs(m,&quot;contour&quot;),I=D?&quot;best&quot;:m.zsmooth,P=S.length,O=f(S),F=!1,R=!1;for(T=0;void 0===_&amp;&amp;T&lt;E.length-1;)_=v.c2p(E[T]),T++;for(T=E.length-1;void 0===w&amp;&amp;T&gt;0;)w=v.c2p(E[T]),T--;for(w&lt;_&amp;&amp;(M=w,w=_,_=M,F=!0),T=0;void 0===k&amp;&amp;T&lt;L.length-1;)k=y.c2p(L[T]),T++;for(T=L.length-1;void 0===A&amp;&amp;T&gt;0;)A=y.c2p(L[T]),T--;if(A&lt;k&amp;&amp;(M=k,k=A,A=M,R=!0),D&amp;&amp;(C=E,z=L,E=p.xfill,L=p.yfill),&quot;fast&quot;!==I){var N=&quot;best&quot;===I?0:.5;_=Math.max(-N*v._length,_),w=Math.min((1+N)*v._length,w),k=Math.max(-N*y._length,k),A=Math.min((1+N)*y._length,A)}var j=Math.round(w-_),B=Math.round(A-k),U=j&lt;=0||B&lt;=0,V=e.plot.select(&quot;.imagelayer&quot;).selectAll(&quot;g.hm.&quot;+b).data(U?[]:[0]);if(V.enter().append(&quot;g&quot;).classed(&quot;hm&quot;,!0).classed(b,!0),V.exit().remove(),!U){var q,H;&quot;fast&quot;===I?(q=O,H=P):(q=j,H=B);var G=document.createElement(&quot;canvas&quot;);G.width=q,G.height=H;var Y,W,X=G.getContext(&quot;2d&quot;),Z=c.makeColorScaleFunc(c.extractScale(m.colorscale,m.zmin,m.zmax),{noNumericCheck:!0,returnArray:!0});&quot;fast&quot;===I?(Y=F?function(t){return O-1-t}:l.identity,W=R?function(t){return P-1-t}:l.identity):(Y=function(t){return l.constrain(Math.round(v.c2p(E[t])-_),0,j)},W=function(t){return l.constrain(Math.round(y.c2p(L[t])-k),0,B)});var J,K,Q,$,tt,et=W(0),rt=[et,et],nt=F?0:1,it=R?0:1,at=0,ot=0,st=0,lt=0;if(I){var ct,ut=0;try{ct=new Uint8Array(j*B*4)}catch(t){ct=new Array(j*B*4)}if(&quot;best&quot;===I){var ft,ht,dt,pt=C||E,mt=z||L,gt=new Array(pt.length),vt=new Array(mt.length),yt=new Array(j),xt=C?i:n,bt=z?i:n;for(T=0;T&lt;pt.length;T++)gt[T]=Math.round(v.c2p(pt[T])-_);for(T=0;T&lt;mt.length;T++)vt[T]=Math.round(y.c2p(mt[T])-k);for(T=0;T&lt;j;T++)yt[T]=xt(T,gt);for(K=0;K&lt;B;K++)for(ht=S[(ft=bt(K,vt)).bin0],dt=S[ft.bin1],T=0;T&lt;j;T++,ut+=4)a(ct,ut,tt=d(ht,dt,yt[T],ft))}else for(K=0;K&lt;P;K++)for($=S[K],rt=W(K),T=0;T&lt;j;T++)tt=h($[T],1),a(ct,ut=4*(rt*j+Y(T)),tt);var _t=X.createImageData(j,B);try{_t.data.set(ct)}catch(t){var wt=_t.data,Mt=wt.length;for(K=0;K&lt;Mt;K++)wt[K]=ct[K]}X.putImageData(_t,0,0)}else{var kt=m.xgap,At=m.ygap,Tt=Math.floor(kt/2),St=Math.floor(At/2);for(K=0;K&lt;P;K++)if($=S[K],rt.reverse(),rt[it]=W(K+1),rt[0]!==rt[1]&amp;&amp;void 0!==rt[0]&amp;&amp;void 0!==rt[1])for(J=[Q=Y(0),Q],T=0;T&lt;O;T++)J.reverse(),J[nt]=Y(T+1),J[0]!==J[1]&amp;&amp;void 0!==J[0]&amp;&amp;void 0!==J[1]&amp;&amp;(tt=h($[T],(J[1]-J[0])*(rt[1]-rt[0])),X.fillStyle=&quot;rgba(&quot;+tt.join(&quot;,&quot;)+&quot;)&quot;,X.fillRect(J[0]+Tt,rt[0]+St,J[1]-J[0]-kt,rt[1]-rt[0]-At))}ot=Math.round(ot/at),st=Math.round(st/at),lt=Math.round(lt/at);var Et=o(&quot;rgb(&quot;+ot+&quot;,&quot;+st+&quot;,&quot;+lt+&quot;)&quot;);t._hmpixcount=(t._hmpixcount||0)+at,t._hmlumcount=(t._hmlumcount||0)+at*Et.getLuminance();var Lt=V.selectAll(&quot;image&quot;).data(r);Lt.enter().append(&quot;svg:image&quot;).attr({xmlns:u.svg,preserveAspectRatio:&quot;none&quot;}),Lt.attr({height:B,width:j,x:_,y:k,&quot;xlink:href&quot;:G.toDataURL(&quot;image/png&quot;)}),Lt.exit().remove()}}(t,e,r[h])}},{&quot;../../components/colorscale&quot;:633,&quot;../../constants/xmlns_namespaces&quot;:723,&quot;../../lib&quot;:743,&quot;../../registry&quot;:873,&quot;./max_row_length&quot;:989,tinycolor2:546}],991:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;d3&quot;);e.exports=function(t){n.select(t).selectAll(&quot;.hm image&quot;).style(&quot;opacity&quot;,function(t){return t.trace.opacity})}},{d3:128}],992:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t,e,r){!1===r(&quot;zsmooth&quot;)&amp;&amp;(r(&quot;xgap&quot;),r(&quot;ygap&quot;)),r(&quot;zhoverformat&quot;)}},{}],993:[function(t,e,r){&quot;use strict&quot;;function n(t,e){var r=e(t);return&quot;scaled&quot;===(r?e(t+&quot;type&quot;,&quot;array&quot;):&quot;scaled&quot;)&amp;&amp;(e(t+&quot;0&quot;),e(&quot;d&quot;+t)),r}var i=t(&quot;fast-isnumeric&quot;),a=t(&quot;../../registry&quot;),o=t(&quot;./has_columns&quot;);e.exports=function(t,e,r,s,l,c){var u=r(&quot;z&quot;);l=l||&quot;x&quot;,c=c||&quot;y&quot;;var f,h;if(void 0===u||!u.length)return 0;if(o(t)){if(f=r(l),h=r(c),!f||!h)return 0}else{if(f=n(l,r),h=n(c,r),!function(t){for(var e,r=!0,n=!1,a=!1,o=0;o&lt;t.length;o++){if(e=t[o],!Array.isArray(e)){r=!1;break}e.length&gt;0&amp;&amp;(n=!0);for(var s=0;s&lt;e.length;s++)if(i(e[s])){a=!0;break}}return r&amp;&amp;n&amp;&amp;a}(u))return 0;r(&quot;transpose&quot;)}return a.getComponentMethod(&quot;calendars&quot;,&quot;handleTraceDefaults&quot;)(t,e,[l,c],s),e.z.length}},{&quot;../../registry&quot;:873,&quot;./has_columns&quot;:984,&quot;fast-isnumeric&quot;:140}],994:[function(t,e,r){&quot;use strict&quot;;for(var n=t(&quot;../heatmap/attributes&quot;),i=t(&quot;../../components/colorscale/attributes&quot;),a=t(&quot;../../components/colorbar/attributes&quot;),o=t(&quot;../../lib/extend&quot;).extendFlat,s=t(&quot;../../plot_api/edit_types&quot;).overrideAll,l=[&quot;z&quot;,&quot;x&quot;,&quot;x0&quot;,&quot;dx&quot;,&quot;y&quot;,&quot;y0&quot;,&quot;dy&quot;,&quot;text&quot;,&quot;transpose&quot;,&quot;xtype&quot;,&quot;ytype&quot;],c={},u=0;u&lt;l.length;u++){var f=l[u];c[f]=n[f]}o(c,i,{autocolorscale:o({},i.autocolorscale,{dflt:!1})},{colorbar:a}),e.exports=s(c,&quot;calc&quot;,&quot;nested&quot;)},{&quot;../../components/colorbar/attributes&quot;:619,&quot;../../components/colorscale/attributes&quot;:624,&quot;../../lib/extend&quot;:732,&quot;../../plot_api/edit_types&quot;:773,&quot;../heatmap/attributes&quot;:977}],995:[function(t,e,r){&quot;use strict&quot;;function n(t,e){this.scene=t,this.uid=e,this.type=&quot;heatmapgl&quot;,this.name=&quot;&quot;,this.hoverinfo=&quot;all&quot;,this.xData=[],this.yData=[],this.zData=[],this.textLabels=[],this.idToIndex=[],this.bounds=[0,0,0,0],this.options={z:[],x:[],y:[],shape:[0,0],colorLevels:[0],colorValues:[0,0,0,1]},this.heatmap=i(t.glplot,this.options),this.heatmap._trace=this}var i=t(&quot;gl-heatmap2d&quot;),a=t(&quot;../../plots/cartesian/axes&quot;),o=t(&quot;../../lib/str2rgbarray&quot;),s=n.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 i=n[0].length,s=n.length;this.options.shape=[i,s],this.options.x=r.x,this.options.y=r.y;var l=function(t){for(var e=t.colorscale,r=t.zmin,n=t.zmax,i=e.length,a=new Array(i),s=new Array(4*i),l=0;l&lt;i;l++){var c=e[l],u=o(c[1]);a[l]=r+c[0]*(n-r);for(var f=0;f&lt;4;f++)s[4*l+f]=u[f]}return{colorLevels:a,colorValues:s}}(t);this.options.colorLevels=l.colorLevels,this.options.colorValues=l.colorValues,this.textLabels=[].concat.apply([],t.text),this.heatmap.update(this.options),a.expand(this.scene.xaxis,r.x),a.expand(this.scene.yaxis,r.y)},s.dispose=function(){this.heatmap.dispose()},e.exports=function(t,e,r){var i=new n(t,e.uid);return i.update(e,r),i}},{&quot;../../lib/str2rgbarray&quot;:765,&quot;../../plots/cartesian/axes&quot;:789,&quot;gl-heatmap2d&quot;:173}],996:[function(t,e,r){&quot;use strict&quot;;var n={};n.attributes=t(&quot;./attributes&quot;),n.supplyDefaults=t(&quot;../heatmap/defaults&quot;),n.colorbar=t(&quot;../heatmap/colorbar&quot;),n.calc=t(&quot;../heatmap/calc&quot;),n.plot=t(&quot;./convert&quot;),n.moduleType=&quot;trace&quot;,n.name=&quot;heatmapgl&quot;,n.basePlotModule=t(&quot;../../plots/gl2d&quot;),n.categories=[&quot;gl&quot;,&quot;gl2d&quot;,&quot;2dMap&quot;],n.meta={},e.exports=n},{&quot;../../plots/gl2d&quot;:829,&quot;../heatmap/calc&quot;:978,&quot;../heatmap/colorbar&quot;:980,&quot;../heatmap/defaults&quot;:982,&quot;./attributes&quot;:994,&quot;./convert&quot;:995}],997:[function(t,e,r){&quot;use strict&quot;;function n(t){var e={};e[&quot;autobin&quot;+t]=!1;var r={};return r[&quot;^autobin&quot;+t]=!1,{start:{valType:&quot;any&quot;,dflt:null,editType:&quot;calc&quot;,impliedEdits:r},end:{valType:&quot;any&quot;,dflt:null,editType:&quot;calc&quot;,impliedEdits:r},size:{valType:&quot;any&quot;,dflt:null,editType:&quot;calc&quot;,impliedEdits:r},editType:&quot;calc&quot;,impliedEdits:e}}var i=t(&quot;../bar/attributes&quot;);e.exports={x:{valType:&quot;data_array&quot;,editType:&quot;calc+clearAxisTypes&quot;},y:{valType:&quot;data_array&quot;,editType:&quot;calc+clearAxisTypes&quot;},text:i.text,orientation:i.orientation,histfunc:{valType:&quot;enumerated&quot;,values:[&quot;count&quot;,&quot;sum&quot;,&quot;avg&quot;,&quot;min&quot;,&quot;max&quot;],dflt:&quot;count&quot;,editType:&quot;calc&quot;},histnorm:{valType:&quot;enumerated&quot;,values:[&quot;&quot;,&quot;percent&quot;,&quot;probability&quot;,&quot;density&quot;,&quot;probability density&quot;],dflt:&quot;&quot;,editType:&quot;calc&quot;},cumulative:{enabled:{valType:&quot;boolean&quot;,dflt:!1,editType:&quot;calc&quot;},direction:{valType:&quot;enumerated&quot;,values:[&quot;increasing&quot;,&quot;decreasing&quot;],dflt:&quot;increasing&quot;,editType:&quot;calc&quot;},currentbin:{valType:&quot;enumerated&quot;,values:[&quot;include&quot;,&quot;exclude&quot;,&quot;half&quot;],dflt:&quot;include&quot;,editType:&quot;calc&quot;},editType:&quot;calc&quot;},autobinx:{valType:&quot;boolean&quot;,dflt:null,editType:&quot;calc&quot;,impliedEdits:{&quot;xbins.start&quot;:void 0,&quot;xbins.end&quot;:void 0,&quot;xbins.size&quot;:void 0}},nbinsx:{valType:&quot;integer&quot;,min:0,dflt:0,editType:&quot;calc&quot;},xbins:n(&quot;x&quot;),autobiny:{valType:&quot;boolean&quot;,dflt:null,editType:&quot;calc&quot;,impliedEdits:{&quot;ybins.start&quot;:void 0,&quot;ybins.end&quot;:void 0,&quot;ybins.size&quot;:void 0}},nbinsy:{valType:&quot;integer&quot;,min:0,dflt:0,editType:&quot;calc&quot;},ybins:n(&quot;y&quot;),marker:i.marker,selected:i.selected,unselected:i.unselected,error_y:i.error_y,error_x:i.error_x,_deprecated:{bardir:i._deprecated.bardir}}},{&quot;../bar/attributes&quot;:883}],998:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t,e){for(var r=t.length,n=0,i=0;i&lt;r;i++)e[i]?(t[i]/=e[i],n+=t[i]):t[i]=null;return n}},{}],999:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t,e,r,n){return r(&quot;histnorm&quot;),n.forEach(function(t){r(t+&quot;bins.start&quot;),r(t+&quot;bins.end&quot;),r(t+&quot;bins.size&quot;),r(&quot;autobin&quot;+t),r(&quot;nbins&quot;+t)}),e}},{}],1e3:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;fast-isnumeric&quot;);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)&amp;&amp;(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]&gt;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]&lt;a){var o=a-r[t];return r[t]=a,o}}return 0}}},{&quot;fast-isnumeric&quot;:140}],1001:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,n){if(t*e&lt;=0)return 1/0;for(var o=Math.abs(e-t),l=&quot;date&quot;===r.type,u=i(o,l),f=0;f&lt;10;f++){var h=i(80*u,l);if(u===h)break;if(!function(t,e,r,n,i,o){if(n&amp;&amp;t&gt;c){var l=a(e,i,o),u=a(r,i,o),f=t===s?0:1;return l[f]!==u[f]}return Math.floor(r/t)-Math.floor(e/t)&gt;.1}(h,t,e,l,r,n))break;u=h}return u}function i(t,e){return e&amp;&amp;t&gt;h?t&gt;c?t&gt;1.1*s?s:t&gt;1.1*l?l:c:t&gt;u?u:t&gt;f?f:h:Math.pow(10,Math.floor(Math.log(t)/Math.LN10))}function a(t,e,r){var n=e.c2d(t,s,r).split(&quot;-&quot;);return&quot;&quot;===n[0]&amp;&amp;(n.unshift(),n[0]=&quot;-&quot;+n[0]),n}var o=t(&quot;../../constants/numerical&quot;),s=o.ONEAVGYEAR,l=o.ONEAVGMONTH,c=o.ONEDAY,u=o.ONEHOUR,f=o.ONEMIN,h=o.ONESEC,d=t(&quot;../../plots/cartesian/axes&quot;).tickIncrement;e.exports=function(t,e,r,i,a){var o,l,u=-1.1*e,f=-.1*e,h=t-f,p=r[0],m=r[1],g=Math.min(n(p+f,p+h,i,a),n(m+f,m+h,i,a)),v=Math.min(n(p+u,p+f,i,a),n(m+u,m+f,i,a));if(g&gt;v&amp;&amp;v&lt;Math.abs(m-p)/4e3?(o=g,l=!1):(o=Math.min(g,v),l=!0),&quot;date&quot;===i.type&amp;&amp;o&gt;c){var y=o===s?1:6,x=o===s?&quot;M12&quot;:&quot;M1&quot;;return function(e,r){var n=i.c2d(e,s,a),o=n.indexOf(&quot;-&quot;,y);o&gt;0&amp;&amp;(n=n.substr(0,o));var c=i.d2c(n,0,a);if(c&lt;e){var u=d(c,x,!1,a);(c+u)/2&lt;e+t&amp;&amp;(c=u)}return r&amp;&amp;l?d(c,x,!0,a):c}}return function(e,r){var n=o*Math.round(e/o);return n+o/10&lt;e&amp;&amp;n+.9*o&lt;e+t&amp;&amp;(n+=o),r&amp;&amp;l&amp;&amp;(n-=o),n}}},{&quot;../../constants/numerical&quot;:721,&quot;../../plots/cartesian/axes&quot;:789}],1002:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,c,u){var f,h,d,p,m,g=c+&quot;bins&quot;,v=&quot;overlay&quot;===t._fullLayout.barmode;if(e._autoBinFinished)delete e._autoBinFinished;else{var y=v?[e]:i(t,e),x=[],b=1/0,_=1/0,w=-1/0,M=&quot;autobin&quot;+c;for(f=0;f&lt;y.length;f++){m=(h=y[f])._pos0=r.makeCalcdata(h,c);var k=h[g];if(h[M]||!k||null===k.start||null===k.end){d=h[c+&quot;calendar&quot;];var A=h.cumulative;if(k=l.autoBin(m,r,h[&quot;nbins&quot;+c],!1,d),v&amp;&amp;1===k._count&amp;&amp;&quot;category&quot;!==r.type){if(u)return[k,m,!0];k=function(t,e,r,a,o){var l,c,u=i(t,e),f=!1,h=1/0,d=[e];for(l=0;l&lt;u.length;l++)if((c=u[l])===e)f=!0;else if(f){var p=n(t,c,r,a,!0),m=p[0],g=p[2];c._autoBinFinished=1,c._pos0=p[1],g?d.push(c):h=Math.min(h,m.size)}else h=Math.min(h,c[o].size);var v=new Array(d.length);for(l=0;l&lt;d.length;l++)for(var y=d[l]._pos0,x=0;x&lt;y.length;x++)if(void 0!==y[x]){v[l]=y[x];break}isFinite(h)||(h=s.distinctVals(v).minDiff);for(l=0;l&lt;d.length;l++){var b=(c=d[l])[a+&quot;calendar&quot;];c._input[o]=c[o]={start:r.c2r(v[l]-h/2,0,b),end:r.c2r(v[l]+h/2,0,b),size:h}}return e[o]}(t,e,r,c,g)}A.enabled&amp;&amp;&quot;include&quot;!==A.currentbin&amp;&amp;(&quot;decreasing&quot;===A.direction?_=Math.min(_,r.r2c(k.start,0,d)-k.size):w=Math.max(w,r.r2c(k.end,0,d)+k.size)),x.push(h)}else p||(p={size:k.size,start:r.r2c(k.start,0,d),end:r.r2c(k.end,0,d)});b=function(t,e){if(t===1/0)return e;var r=a(t);return a(e)&lt;r?e:t}(b,k.size),_=Math.min(_,r.r2c(k.start,0,d)),w=Math.max(w,r.r2c(k.end,0,d)),f&amp;&amp;(h._autoBinFinished=1)}if(p&amp;&amp;o(p.size)&amp;&amp;o(b)){b=b&gt;p.size/1.9?p.size:p.size/Math.ceil(p.size/b);var T=p.start+(p.size-b)/2;_=T-b*Math.ceil((T-_)/b)}for(f=0;f&lt;x.length;f++)d=(h=x[f])[c+&quot;calendar&quot;],h._input[g]=h[g]={start:r.c2r(_,0,d),end:r.c2r(w,0,d),size:b},h._input[M]=h[M]}return m=e._pos0,delete e._pos0,[e[g],m]}function i(t,e){for(var r=e.xaxis,n=e.yaxis,i=e.orientation,a=[],o=t._fullData,s=0;s&lt;o.length;s++){var l=o[s];&quot;histogram&quot;===l.type&amp;&amp;l.orientation===i&amp;&amp;l.xaxis===r&amp;&amp;l.yaxis===n&amp;&amp;a.push(l)}return a}function a(t){return o(t)?t:&quot;string&quot;==typeof t&amp;&amp;&quot;M&quot;===t.charAt(0)?p*+t.substr(1):1/0}var o=t(&quot;fast-isnumeric&quot;),s=t(&quot;../../lib&quot;),l=t(&quot;../../plots/cartesian/axes&quot;),c=t(&quot;../bar/arrays_to_calcdata&quot;),u=t(&quot;./bin_functions&quot;),f=t(&quot;./norm_functions&quot;),h=t(&quot;./average&quot;),d=t(&quot;./clean_bins&quot;),p=t(&quot;../../constants/numerical&quot;).ONEAVGMONTH,m=t(&quot;./bin_label_vals&quot;);e.exports=function(t,e){if(!0===e.visible){var r,i=[],a=[],p=l.getFromId(t,&quot;h&quot;===e.orientation?e.yaxis||&quot;y&quot;:e.xaxis||&quot;x&quot;),g=&quot;h&quot;===e.orientation?&quot;y&quot;:&quot;x&quot;,v={x:&quot;y&quot;,y:&quot;x&quot;}[g],y=e[g+&quot;calendar&quot;],x=e.cumulative;d(e,p,g);var b,_,w,M=n(t,e,p,g),k=M[0],A=M[1],T=&quot;string&quot;==typeof k.size,S=[],E=T?S:k,L=[],C=[],z=[],D=0,I=e.histnorm,P=e.histfunc,O=-1!==I.indexOf(&quot;density&quot;);x.enabled&amp;&amp;O&amp;&amp;(I=I.replace(/ ?density$/,&quot;&quot;),O=!1);var F,R=&quot;max&quot;===P||&quot;min&quot;===P?null:0,N=u.count,j=f[I],B=!1,U=function(t){return p.r2c(t,0,y)};for(Array.isArray(e[v])&amp;&amp;&quot;count&quot;!==P&amp;&amp;(F=e[v],B=&quot;avg&quot;===P,N=u[P]),r=U(k.start),_=U(k.end)+(r-l.tickIncrement(r,k.size,!1,y))/1e6;r&lt;_&amp;&amp;i.length&lt;1e6&amp;&amp;(b=l.tickIncrement(r,k.size,!1,y),i.push((r+b)/2),a.push(R),z.push([]),S.push(r),O&amp;&amp;L.push(1/(b-r)),B&amp;&amp;C.push(0),!(b&lt;=r));)r=b;S.push(r),T||&quot;date&quot;!==p.type||(E={start:U(E.start),end:U(E.end),size:E.size});var V=a.length,q=!0,H=1/0,G=1/0,Y={};for(r=0;r&lt;A.length;r++){var W=A[r];(w=s.findBin(W,E))&gt;=0&amp;&amp;w&lt;V&amp;&amp;(D+=N(w,r,a,F,C),q&amp;&amp;z[w].length&amp;&amp;W!==A[z[w][0]]&amp;&amp;(q=!1),z[w].push(r),Y[r]=w,H=Math.min(H,W-S[w]),G=Math.min(G,S[w+1]-W))}var X;q||(X=m(H,G,S,p,y)),B&amp;&amp;(D=h(a,C)),j&amp;&amp;j(a,D,L),x.enabled&amp;&amp;function(t,e,r){function n(e){s=t[e],t[e]/=2}function i(e){o=t[e],t[e]=s+o/2,s+=o}var a,o,s;if(&quot;half&quot;===r)if(&quot;increasing&quot;===e)for(n(0),a=1;a&lt;t.length;a++)i(a);else for(n(t.length-1),a=t.length-2;a&gt;=0;a--)i(a);else if(&quot;increasing&quot;===e){for(a=1;a&lt;t.length;a++)t[a]+=t[a-1];&quot;exclude&quot;===r&amp;&amp;(t.unshift(0),t.pop())}else{for(a=t.length-2;a&gt;=0;a--)t[a]+=t[a+1];&quot;exclude&quot;===r&amp;&amp;(t.push(0),t.shift())}}(a,x.direction,x.currentbin);var Z=Math.min(i.length,a.length),J=[],K=0,Q=Z-1;for(r=0;r&lt;Z;r++)if(a[r]){K=r;break}for(r=Z-1;r&gt;=K;r--)if(a[r]){Q=r;break}for(r=K;r&lt;=Q;r++)if(o(i[r])&amp;&amp;o(a[r])){var $={p:i[r],s:a[r],b:0};x.enabled||($.pts=z[r],q?$.p0=$.p1=z[r].length?A[z[r][0]]:i[r]:($.p0=X(S[r]),$.p1=X(S[r+1],!0))),J.push($)}return 1===J.length&amp;&amp;(J[0].width1=l.tickIncrement(J[0].p,k.size,!1,y)-J[0].p),c(J,e),Array.isArray(e.selectedpoints)&amp;&amp;s.tagSelected(J,e,Y),J}}},{&quot;../../constants/numerical&quot;:721,&quot;../../lib&quot;:743,&quot;../../plots/cartesian/axes&quot;:789,&quot;../bar/arrays_to_calcdata&quot;:882,&quot;./average&quot;:998,&quot;./bin_functions&quot;:1e3,&quot;./bin_label_vals&quot;:1001,&quot;./clean_bins&quot;:1003,&quot;./norm_functions&quot;:1008,&quot;fast-isnumeric&quot;:140}],1003:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;fast-isnumeric&quot;),i=t(&quot;../../lib&quot;).cleanDate,a=t(&quot;../../constants/numerical&quot;),o=a.ONEDAY,s=a.BADNUM;e.exports=function(t,e,r){var a=e.type,l=r+&quot;bins&quot;,c=t[l];c||(c=t[l]={});var u=&quot;date&quot;===a?function(t){return t||0===t?i(t,s,c.calendar):null}:function(t){return n(t)?Number(t):null};c.start=u(c.start),c.end=u(c.end);var f=&quot;date&quot;===a?o:1,h=c.size;if(n(h))c.size=h&gt;0?Number(h):f;else if(&quot;string&quot;!=typeof h)c.size=f;else{var d=h.charAt(0),p=h.substr(1);((p=n(p)?Number(p):0)&lt;=0||&quot;date&quot;!==a||&quot;M&quot;!==d||p!==Math.round(p))&amp;&amp;(c.size=f)}var m=&quot;autobin&quot;+r;&quot;boolean&quot;!=typeof t[m]&amp;&amp;(t[m]=!((c.start||0===c.start)&amp;&amp;(c.end||0===c.end))),t[m]||delete t[&quot;nbins&quot;+r]}},{&quot;../../constants/numerical&quot;:721,&quot;../../lib&quot;:743,&quot;fast-isnumeric&quot;:140}],1004:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../registry&quot;),i=t(&quot;../../lib&quot;),a=t(&quot;../../components/color&quot;),o=t(&quot;./bin_defaults&quot;),s=t(&quot;../bar/style_defaults&quot;),l=t(&quot;../../components/errorbars/defaults&quot;),c=t(&quot;./attributes&quot;);e.exports=function(t,e,r,u){function f(r,n){return i.coerce(t,e,c,r,n)}var h=f(&quot;x&quot;),d=f(&quot;y&quot;);f(&quot;cumulative.enabled&quot;)&amp;&amp;(f(&quot;cumulative.direction&quot;),f(&quot;cumulative.currentbin&quot;)),f(&quot;text&quot;);var p=f(&quot;orientation&quot;,d&amp;&amp;!h?&quot;h&quot;:&quot;v&quot;),m=e[&quot;v&quot;===p?&quot;x&quot;:&quot;y&quot;];if(m&amp;&amp;m.length){n.getComponentMethod(&quot;calendars&quot;,&quot;handleTraceDefaults&quot;)(t,e,[&quot;x&quot;,&quot;y&quot;],u);e[&quot;h&quot;===p?&quot;x&quot;:&quot;y&quot;]&amp;&amp;f(&quot;histfunc&quot;);o(t,e,f,&quot;h&quot;===p?[&quot;y&quot;]:[&quot;x&quot;]),s(t,e,f,r,u),l(t,e,a.defaultLine,{axis:&quot;y&quot;}),l(t,e,a.defaultLine,{axis:&quot;x&quot;,inherit:&quot;y&quot;}),i.coerceSelectionMarkerOpacity(e,f)}else e.visible=!1}},{&quot;../../components/color&quot;:618,&quot;../../components/errorbars/defaults&quot;:648,&quot;../../lib&quot;:743,&quot;../../registry&quot;:873,&quot;../bar/style_defaults&quot;:895,&quot;./attributes&quot;:997,&quot;./bin_defaults&quot;:999}],1005:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t,e,r,n,i){if(t.x=&quot;xVal&quot;in e?e.xVal:e.x,t.y=&quot;yVal&quot;in e?e.yVal:e.y,e.xa&amp;&amp;(t.xaxis=e.xa),e.ya&amp;&amp;(t.yaxis=e.ya),!(r.cumulative||{}).enabled){var a=Array.isArray(i)?n[0].pts[i[0]][i[1]]:n[i].pts;t.pointNumbers=a,t.binNumber=t.pointNumber,delete t.pointNumber,delete t.pointIndex;var o;if(r._indexToPoints){o=[];for(var s=0;s&lt;a.length;s++)o=o.concat(r._indexToPoints[a[s]])}else o=a;t.pointIndices=o}return t}},{}],1006:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../bar/hover&quot;),i=t(&quot;../../plots/cartesian/axes&quot;).hoverLabelText;e.exports=function(t,e,r,a){var o=n(t,e,r,a);if(o){var s=(t=o[0]).cd[t.index],l=t.cd[0].trace;if(!l.cumulative.enabled){var c=&quot;h&quot;===l.orientation?&quot;y&quot;:&quot;x&quot;;t[c+&quot;Label&quot;]=i(t[c+&quot;a&quot;],s.p0,s.p1)}return o}}},{&quot;../../plots/cartesian/axes&quot;:789,&quot;../bar/hover&quot;:886}],1007:[function(t,e,r){&quot;use strict&quot;;var n={};n.attributes=t(&quot;./attributes&quot;),n.layoutAttributes=t(&quot;../bar/layout_attributes&quot;),n.supplyDefaults=t(&quot;./defaults&quot;),n.supplyLayoutDefaults=t(&quot;../bar/layout_defaults&quot;),n.calc=t(&quot;./calc&quot;),n.setPositions=t(&quot;../bar/set_positions&quot;),n.plot=t(&quot;../bar/plot&quot;),n.style=t(&quot;../bar/style&quot;),n.colorbar=t(&quot;../scatter/colorbar&quot;),n.hoverPoints=t(&quot;./hover&quot;),n.selectPoints=t(&quot;../bar/select&quot;),n.eventData=t(&quot;./event_data&quot;),n.moduleType=&quot;trace&quot;,n.name=&quot;histogram&quot;,n.basePlotModule=t(&quot;../../plots/cartesian&quot;),n.categories=[&quot;cartesian&quot;,&quot;bar&quot;,&quot;histogram&quot;,&quot;oriented&quot;,&quot;errorBarsOK&quot;,&quot;showLegend&quot;],n.meta={},e.exports=n},{&quot;../../plots/cartesian&quot;:800,&quot;../bar/layout_attributes&quot;:888,&quot;../bar/layout_defaults&quot;:889,&quot;../bar/plot&quot;:890,&quot;../bar/select&quot;:891,&quot;../bar/set_positions&quot;:892,&quot;../bar/style&quot;:894,&quot;../scatter/colorbar&quot;:1070,&quot;./attributes&quot;:997,&quot;./calc&quot;:1002,&quot;./defaults&quot;:1004,&quot;./event_data&quot;:1005,&quot;./hover&quot;:1006}],1008:[function(t,e,r){&quot;use strict&quot;;e.exports={percent:function(t,e){for(var r=t.length,n=100/e,i=0;i&lt;r;i++)t[i]*=n},probability:function(t,e){for(var r=t.length,n=0;n&lt;r;n++)t[n]/=e},density:function(t,e,r,n){var i=t.length;n=n||1;for(var a=0;a&lt;i;a++)t[a]*=r[a]*n},&quot;probability density&quot;:function(t,e,r,n){var i=t.length;n&amp;&amp;(e/=n);for(var a=0;a&lt;i;a++)t[a]*=r[a]/e}}},{}],1009:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../histogram/attributes&quot;),i=t(&quot;../heatmap/attributes&quot;),a=t(&quot;../../components/colorscale/attributes&quot;),o=t(&quot;../../components/colorbar/attributes&quot;),s=t(&quot;../../lib/extend&quot;).extendFlat;e.exports=s({},{x:n.x,y:n.y,z:{valType:&quot;data_array&quot;,editType:&quot;calc&quot;},marker:{color:{valType:&quot;data_array&quot;,editType:&quot;calc&quot;},editType:&quot;calc&quot;},histnorm:n.histnorm,histfunc:n.histfunc,autobinx:n.autobinx,nbinsx:n.nbinsx,xbins:n.xbins,autobiny:n.autobiny,nbinsy:n.nbinsy,ybins:n.ybins,xgap:i.xgap,ygap:i.ygap,zsmooth:i.zsmooth,zhoverformat:i.zhoverformat},a,{autocolorscale:s({},a.autocolorscale,{dflt:!1})},{colorbar:o})},{&quot;../../components/colorbar/attributes&quot;:619,&quot;../../components/colorscale/attributes&quot;:624,&quot;../../lib/extend&quot;:732,&quot;../heatmap/attributes&quot;:977,&quot;../histogram/attributes&quot;:997}],1010:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,n,i,a,o){var s=e+&quot;bins&quot;,c=&quot;autobin&quot;+e,u=t[s];h(t,n,e),!t[c]&amp;&amp;u&amp;&amp;null!==u.start&amp;&amp;null!==u.end||(u=l.autoBin(r,n,t[&quot;nbins&quot;+e],&quot;2d&quot;,o),&quot;histogram2dcontour&quot;===t.type&amp;&amp;(u.start=a(l.tickIncrement(i(u.start),u.size,!0,o)),u.end=a(l.tickIncrement(i(u.end),u.size,!1,o))),t._input[s]=t[s]=u,t._input[c]=t[c])}function i(t,e,r,n){var i,a=new Array(t);if(n)for(i=0;i&lt;t;i++)a[i]=1/(e[i+1]-e[i]);else{var o=1/r;for(i=0;i&lt;t;i++)a[i]=o}return a}function a(t,e){return{start:t(e.start),end:t(e.end),size:e.size}}function o(t,e,r,n,i,a){var o,s=t.length-1,l=new Array(s);if(e)for(o=0;o&lt;s;o++)l[o]=[e[o],e[o]];else{var c=d(r,n,t,i,a);for(o=0;o&lt;s;o++)l[o]=[c(t[o]),c(t[o+1],!0)]}return l}var s=t(&quot;../../lib&quot;),l=t(&quot;../../plots/cartesian/axes&quot;),c=t(&quot;../histogram/bin_functions&quot;),u=t(&quot;../histogram/norm_functions&quot;),f=t(&quot;../histogram/average&quot;),h=t(&quot;../histogram/clean_bins&quot;),d=t(&quot;../histogram/bin_label_vals&quot;);e.exports=function(t,e){var r,h,d,p,m=l.getFromId(t,e.xaxis||&quot;x&quot;),g=e.x?m.makeCalcdata(e,&quot;x&quot;):[],v=l.getFromId(t,e.yaxis||&quot;y&quot;),y=e.y?v.makeCalcdata(e,&quot;y&quot;):[],x=e.xcalendar,b=e.ycalendar,_=function(t){return m.r2c(t,0,x)},w=function(t){return v.r2c(t,0,b)},M=function(t){return m.c2r(t,0,x)},k=function(t){return v.c2r(t,0,b)},A=Math.min(g.length,y.length);g.length&gt;A&amp;&amp;g.splice(A,g.length-A),y.length&gt;A&amp;&amp;y.splice(A,y.length-A),n(e,&quot;x&quot;,g,m,_,M,x),n(e,&quot;y&quot;,y,v,w,k,b);var T=[],S=[],E=[],L=&quot;string&quot;==typeof e.xbins.size,C=&quot;string&quot;==typeof e.ybins.size,z=[],D=[],I=L?z:e.xbins,P=C?D:e.ybins,O=0,F=[],R=[],N=e.histnorm,j=e.histfunc,B=-1!==N.indexOf(&quot;density&quot;),U=&quot;max&quot;===j||&quot;min&quot;===j?null:0,V=c.count,q=u[N],H=!1,G=[],Y=[],W=&quot;z&quot;in e?e.z:&quot;marker&quot;in e&amp;&amp;Array.isArray(e.marker.color)?e.marker.color:&quot;&quot;;W&amp;&amp;&quot;count&quot;!==j&amp;&amp;(H=&quot;avg&quot;===j,V=c[j]);var X=e.xbins,Z=_(X.start),J=_(X.end)+(Z-l.tickIncrement(Z,X.size,!1,x))/1e6;for(r=Z;r&lt;J;r=l.tickIncrement(r,X.size,!1,x))S.push(U),z.push(r),H&amp;&amp;E.push(0);z.push(r);var K=S.length,Q=_(e.xbins.start),$=(r-Q)/K,tt=M(Q+$/2);for(Z=w((X=e.ybins).start),J=w(X.end)+(Z-l.tickIncrement(Z,X.size,!1,b))/1e6,r=Z;r&lt;J;r=l.tickIncrement(r,X.size,!1,b)){T.push(S.slice()),D.push(r);var et=new Array(K);for(h=0;h&lt;K;h++)et[h]=[];R.push(et),H&amp;&amp;F.push(E.slice())}D.push(r);var rt=T.length,nt=w(e.ybins.start),it=(r-nt)/rt,at=k(nt+it/2);B&amp;&amp;(G=i(S.length,I,$,L),Y=i(T.length,P,it,C)),L||&quot;date&quot;!==m.type||(I=a(_,I)),C||&quot;date&quot;!==v.type||(P=a(w,P));var ot=!0,st=!0,lt=new Array(K),ct=new Array(rt),ut=1/0,ft=1/0,ht=1/0,dt=1/0;for(r=0;r&lt;A;r++){var pt=g[r],mt=y[r];d=s.findBin(pt,I),p=s.findBin(mt,P),d&gt;=0&amp;&amp;d&lt;K&amp;&amp;p&gt;=0&amp;&amp;p&lt;rt&amp;&amp;(O+=V(d,r,T[p],W,F[p]),R[p][d].push(r),ot&amp;&amp;(void 0===lt[d]?lt[d]=pt:lt[d]!==pt&amp;&amp;(ot=!1)),st&amp;&amp;(void 0===ct[d]?ct[d]=mt:ct[d]!==mt&amp;&amp;(st=!1)),ut=Math.min(ut,pt-z[d]),ft=Math.min(ft,z[d+1]-pt),ht=Math.min(ht,mt-D[p]),dt=Math.min(dt,D[p+1]-mt))}if(H)for(p=0;p&lt;rt;p++)O+=f(T[p],F[p]);if(q)for(p=0;p&lt;rt;p++)q(T[p],O,G,Y[p]);return{x:g,xRanges:o(z,ot&amp;&amp;lt,ut,ft,m,x),x0:tt,dx:$,y:y,yRanges:o(D,st&amp;&amp;ct,ht,dt,v,b),y0:at,dy:it,z:T,pts:R}}},{&quot;../../lib&quot;:743,&quot;../../plots/cartesian/axes&quot;:789,&quot;../histogram/average&quot;:998,&quot;../histogram/bin_functions&quot;:1e3,&quot;../histogram/bin_label_vals&quot;:1001,&quot;../histogram/clean_bins&quot;:1003,&quot;../histogram/norm_functions&quot;:1008}],1011:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib&quot;),i=t(&quot;./sample_defaults&quot;),a=t(&quot;../heatmap/style_defaults&quot;),o=t(&quot;../../components/colorscale/defaults&quot;),s=t(&quot;./attributes&quot;);e.exports=function(t,e,r,l){function c(r,i){return n.coerce(t,e,s,r,i)}i(t,e,c,l),!1!==e.visible&amp;&amp;(a(t,e,c,l),o(t,e,l,c,{prefix:&quot;&quot;,cLetter:&quot;z&quot;}))}},{&quot;../../components/colorscale/defaults&quot;:628,&quot;../../lib&quot;:743,&quot;../heatmap/style_defaults&quot;:992,&quot;./attributes&quot;:1009,&quot;./sample_defaults&quot;:1014}],1012:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../heatmap/hover&quot;),i=t(&quot;../../plots/cartesian/axes&quot;).hoverLabelText;e.exports=function(t,e,r,a,o,s){var l=n(t,e,r,a,o,s);if(l){var c=(t=l[0]).index,u=c[0],f=c[1],h=t.cd[0],d=h.xRanges[f],p=h.yRanges[u];return t.xLabel=i(t.xa,d[0],d[1]),t.yLabel=i(t.ya,p[0],p[1]),l}}},{&quot;../../plots/cartesian/axes&quot;:789,&quot;../heatmap/hover&quot;:985}],1013:[function(t,e,r){&quot;use strict&quot;;var n={};n.attributes=t(&quot;./attributes&quot;),n.supplyDefaults=t(&quot;./defaults&quot;),n.calc=t(&quot;../heatmap/calc&quot;),n.plot=t(&quot;../heatmap/plot&quot;),n.colorbar=t(&quot;../heatmap/colorbar&quot;),n.style=t(&quot;../heatmap/style&quot;),n.hoverPoints=t(&quot;./hover&quot;),n.eventData=t(&quot;../histogram/event_data&quot;),n.moduleType=&quot;trace&quot;,n.name=&quot;histogram2d&quot;,n.basePlotModule=t(&quot;../../plots/cartesian&quot;),n.categories=[&quot;cartesian&quot;,&quot;2dMap&quot;,&quot;histogram&quot;],n.meta={},e.exports=n},{&quot;../../plots/cartesian&quot;:800,&quot;../heatmap/calc&quot;:978,&quot;../heatmap/colorbar&quot;:980,&quot;../heatmap/plot&quot;:990,&quot;../heatmap/style&quot;:991,&quot;../histogram/event_data&quot;:1005,&quot;./attributes&quot;:1009,&quot;./defaults&quot;:1011,&quot;./hover&quot;:1012}],1014:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../registry&quot;),i=t(&quot;../histogram/bin_defaults&quot;);e.exports=function(t,e,r,a){var o=r(&quot;x&quot;),s=r(&quot;y&quot;);if(o&amp;&amp;o.length&amp;&amp;s&amp;&amp;s.length){n.getComponentMethod(&quot;calendars&quot;,&quot;handleTraceDefaults&quot;)(t,e,[&quot;x&quot;,&quot;y&quot;],a);(r(&quot;z&quot;)||r(&quot;marker.color&quot;))&amp;&amp;r(&quot;histfunc&quot;);i(t,e,r,[&quot;x&quot;,&quot;y&quot;])}else e.visible=!1}},{&quot;../../registry&quot;:873,&quot;../histogram/bin_defaults&quot;:999}],1015:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../histogram2d/attributes&quot;),i=t(&quot;../contour/attributes&quot;),a=t(&quot;../../components/colorscale/attributes&quot;),o=t(&quot;../../components/colorbar/attributes&quot;),s=t(&quot;../../lib/extend&quot;).extendFlat;e.exports=s({x:n.x,y:n.y,z:n.z,marker:n.marker,histnorm:n.histnorm,histfunc:n.histfunc,autobinx:n.autobinx,nbinsx:n.nbinsx,xbins:n.xbins,autobiny:n.autobiny,nbinsy:n.nbinsy,ybins:n.ybins,autocontour:i.autocontour,ncontours:i.ncontours,contours:i.contours,line:i.line,zhoverformat:n.zhoverformat},a,{zmin:s({},a.zmin,{editType:&quot;calc&quot;}),zmax:s({},a.zmax,{editType:&quot;calc&quot;})},{colorbar:o})},{&quot;../../components/colorbar/attributes&quot;:619,&quot;../../components/colorscale/attributes&quot;:624,&quot;../../lib/extend&quot;:732,&quot;../contour/attributes&quot;:949,&quot;../histogram2d/attributes&quot;:1009}],1016:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib&quot;),i=t(&quot;../histogram2d/sample_defaults&quot;),a=t(&quot;../contour/contours_defaults&quot;),o=t(&quot;../contour/style_defaults&quot;),s=t(&quot;./attributes&quot;);e.exports=function(t,e,r,l){function c(r,i){return n.coerce(t,e,s,r,i)}i(t,e,c,l),!1!==e.visible&amp;&amp;(a(t,e,c),o(t,e,c,l))}},{&quot;../../lib&quot;:743,&quot;../contour/contours_defaults&quot;:953,&quot;../contour/style_defaults&quot;:963,&quot;../histogram2d/sample_defaults&quot;:1014,&quot;./attributes&quot;:1015}],1017:[function(t,e,r){&quot;use strict&quot;;var n={};n.attributes=t(&quot;./attributes&quot;),n.supplyDefaults=t(&quot;./defaults&quot;),n.calc=t(&quot;../contour/calc&quot;),n.plot=t(&quot;../contour/plot&quot;).plot,n.style=t(&quot;../contour/style&quot;),n.colorbar=t(&quot;../contour/colorbar&quot;),n.hoverPoints=t(&quot;../contour/hover&quot;),n.moduleType=&quot;trace&quot;,n.name=&quot;histogram2dcontour&quot;,n.basePlotModule=t(&quot;../../plots/cartesian&quot;),n.categories=[&quot;cartesian&quot;,&quot;2dMap&quot;,&quot;contour&quot;,&quot;histogram&quot;],n.meta={},e.exports=n},{&quot;../../plots/cartesian&quot;:800,&quot;../contour/calc&quot;:950,&quot;../contour/colorbar&quot;:951,&quot;../contour/hover&quot;:957,&quot;../contour/plot&quot;:961,&quot;../contour/style&quot;:962,&quot;./attributes&quot;:1015,&quot;./defaults&quot;:1016}],1018:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../components/colorscale/color_attributes&quot;),i=t(&quot;../../components/colorscale/attributes&quot;),a=t(&quot;../../components/colorbar/attributes&quot;),o=t(&quot;../surface/attributes&quot;),s=t(&quot;../../lib/extend&quot;).extendFlat;e.exports=s(n(&quot;&quot;,&quot;calc&quot;,!1),{x:{valType:&quot;data_array&quot;,editType:&quot;calc+clearAxisTypes&quot;},y:{valType:&quot;data_array&quot;,editType:&quot;calc+clearAxisTypes&quot;},z:{valType:&quot;data_array&quot;,editType:&quot;calc+clearAxisTypes&quot;},i:{valType:&quot;data_array&quot;,editType:&quot;calc&quot;},j:{valType:&quot;data_array&quot;,editType:&quot;calc&quot;},k:{valType:&quot;data_array&quot;,editType:&quot;calc&quot;},delaunayaxis:{valType:&quot;enumerated&quot;,values:[&quot;x&quot;,&quot;y&quot;,&quot;z&quot;],dflt:&quot;z&quot;,editType:&quot;calc&quot;},alphahull:{valType:&quot;number&quot;,dflt:-1,editType:&quot;calc&quot;},intensity:{valType:&quot;data_array&quot;,editType:&quot;calc&quot;},color:{valType:&quot;color&quot;,editType:&quot;calc&quot;},vertexcolor:{valType:&quot;data_array&quot;,editType:&quot;calc&quot;},facecolor:{valType:&quot;data_array&quot;,editType:&quot;calc&quot;},opacity:o.opacity,flatshading:{valType:&quot;boolean&quot;,dflt:!1,editType:&quot;calc&quot;},contour:{show:s({},o.contours.x.show,{}),color:o.contours.x.color,width:o.contours.x.width,editType:&quot;calc&quot;},showscale:i.showscale,colorbar:a,lightposition:{x:s({},o.lightposition.x,{dflt:1e5}),y:s({},o.lightposition.y,{dflt:1e5}),z:s({},o.lightposition.z,{dflt:0}),editType:&quot;calc&quot;},lighting:s({vertexnormalsepsilon:{valType:&quot;number&quot;,min:0,max:1,dflt:1e-12,editType:&quot;calc&quot;},facenormalsepsilon:{valType:&quot;number&quot;,min:0,max:1,dflt:1e-6,editType:&quot;calc&quot;},editType:&quot;calc&quot;},o.lighting)})},{&quot;../../components/colorbar/attributes&quot;:619,&quot;../../components/colorscale/attributes&quot;:624,&quot;../../components/colorscale/color_attributes&quot;:626,&quot;../../lib/extend&quot;:732,&quot;../surface/attributes&quot;:1140}],1019:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../components/colorscale/calc&quot;);e.exports=function(t,e){e.intensity&amp;&amp;n(e,e.intensity,&quot;&quot;,&quot;c&quot;)}},{&quot;../../components/colorscale/calc&quot;:625}],1020:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;fast-isnumeric&quot;),i=t(&quot;../../lib&quot;),a=t(&quot;../../plots/plots&quot;),o=t(&quot;../../components/colorscale&quot;),s=t(&quot;../../components/colorbar/draw&quot;);e.exports=function(t,e){var r=e[0].trace,l=&quot;cb&quot;+r.uid,c=r.cmin,u=r.cmax,f=r.intensity||[];if(n(c)||(c=i.aggNums(Math.min,null,f)),n(u)||(u=i.aggNums(Math.max,null,f)),t._fullLayout._infolayer.selectAll(&quot;.&quot;+l).remove(),r.showscale){var h=e[0].t.cb=s(t,l),d=o.makeColorScaleFunc(o.extractScale(r.colorscale,c,u),{noNumericCheck:!0});h.fillcolor(d).filllevels({start:c,end:u,size:(u-c)/254}).options(r.colorbar)()}else a.autoMargin(t,l)}},{&quot;../../components/colorbar/draw&quot;:622,&quot;../../components/colorscale&quot;:633,&quot;../../lib&quot;:743,&quot;../../plots/plots&quot;:852,&quot;fast-isnumeric&quot;:140}],1021:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r){this.scene=t,this.uid=r,this.mesh=e,this.name=&quot;&quot;,this.color=&quot;#fff&quot;,this.data=null,this.showContour=!1}function i(t){return t.map(f)}function a(t,e,r){for(var n=new Array(t.length),i=0;i&lt;t.length;++i)n[i]=[t[i],e[i],r[i]];return n}var o=t(&quot;gl-mesh3d&quot;),s=t(&quot;tinycolor2&quot;),l=t(&quot;delaunay-triangulate&quot;),c=t(&quot;alpha-shape&quot;),u=t(&quot;convex-hull&quot;),f=t(&quot;../../lib/str2rgbarray&quot;),h=n.prototype;h.handlePick=function(t){if(t.object===this.mesh){var e=t.index=t.data.index;return t.traceCoordinate=[this.data.x[e],this.data.y[e],this.data.z[e]],!0}},h.update=function(t){function e(t,e,r,n){return e.map(function(e){return t.d2l(e,0,n)*r})}var r=this.scene,n=r.fullSceneLayout;this.data=t;var o,h=a(e(n.xaxis,t.x,r.dataScale[0],t.xcalendar),e(n.yaxis,t.y,r.dataScale[1],t.ycalendar),e(n.zaxis,t.z,r.dataScale[2],t.zcalendar));if(t.i&amp;&amp;t.j&amp;&amp;t.k)o=a(t.i,t.j,t.k);else if(0===t.alphahull)o=u(h);else if(t.alphahull&gt;0)o=c(t.alphahull,h);else{var d=[&quot;x&quot;,&quot;y&quot;,&quot;z&quot;].indexOf(t.delaunayaxis);o=l(h.map(function(t){return[t[(d+1)%3],t[(d+2)%3]]}))}var p={positions:h,cells:o,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:f(t.contour.color).slice(0,3),contourWidth:t.contour.width,useFacetNormals:t.flatshading};t.intensity?(this.color=&quot;#fff&quot;,p.vertexIntensity=t.intensity,p.vertexIntensityBounds=[t.cmin,t.cmax],p.colormap=function(t){return t.map(function(t){var e=t[0],r=s(t[1]).toRgb();return{index:e,rgb:[r.r,r.g,r.b,1]}})}(t.colorscale)):t.vertexcolor?(this.color=t.vertexcolor[0],p.vertexColors=i(t.vertexcolor)):t.facecolor?(this.color=t.facecolor[0],p.cellColors=i(t.facecolor)):(this.color=t.color,p.meshColor=f(t.color)),this.mesh.update(p)},h.dispose=function(){this.scene.glplot.remove(this.mesh),this.mesh.dispose()},e.exports=function(t,e){var r=t.glplot.gl,i=o({gl:r}),a=new n(t,i,e.uid);return i._trace=a,a.update(e),t.glplot.add(i),a}},{&quot;../../lib/str2rgbarray&quot;:765,&quot;alpha-shape&quot;:47,&quot;convex-hull&quot;:109,&quot;delaunay-triangulate&quot;:130,&quot;gl-mesh3d&quot;:210,tinycolor2:546}],1022:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../registry&quot;),i=t(&quot;../../lib&quot;),a=t(&quot;../../components/colorscale/defaults&quot;),o=t(&quot;./attributes&quot;);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&amp;&amp;Array.isArray(e)?e:null});return e.every(function(t){return t&amp;&amp;t.length===e[0].length})&amp;&amp;e}var u=c([&quot;x&quot;,&quot;y&quot;,&quot;z&quot;]),f=c([&quot;i&quot;,&quot;j&quot;,&quot;k&quot;]);if(u){f&amp;&amp;f.forEach(function(t){for(var e=0;e&lt;t.length;++e)t[e]|=0});n.getComponentMethod(&quot;calendars&quot;,&quot;handleTraceDefaults&quot;)(t,e,[&quot;x&quot;,&quot;y&quot;,&quot;z&quot;],s),[&quot;lighting.ambient&quot;,&quot;lighting.diffuse&quot;,&quot;lighting.specular&quot;,&quot;lighting.roughness&quot;,&quot;lighting.fresnel&quot;,&quot;lighting.vertexnormalsepsilon&quot;,&quot;lighting.facenormalsepsilon&quot;,&quot;lightposition.x&quot;,&quot;lightposition.y&quot;,&quot;lightposition.z&quot;,&quot;contour.show&quot;,&quot;contour.color&quot;,&quot;contour.width&quot;,&quot;colorscale&quot;,&quot;reversescale&quot;,&quot;flatshading&quot;,&quot;alphahull&quot;,&quot;delaunayaxis&quot;,&quot;opacity&quot;].forEach(function(t){l(t)}),&quot;intensity&quot;in t?(l(&quot;intensity&quot;),a(t,e,s,l,{prefix:&quot;&quot;,cLetter:&quot;c&quot;})):(e.showscale=!1,&quot;facecolor&quot;in t?l(&quot;facecolor&quot;):&quot;vertexcolor&quot;in t?l(&quot;vertexcolor&quot;):l(&quot;color&quot;,r))}else e.visible=!1}},{&quot;../../components/colorscale/defaults&quot;:628,&quot;../../lib&quot;:743,&quot;../../registry&quot;:873,&quot;./attributes&quot;:1018}],1023:[function(t,e,r){&quot;use strict&quot;;var n={};n.attributes=t(&quot;./attributes&quot;),n.supplyDefaults=t(&quot;./defaults&quot;),n.calc=t(&quot;./calc&quot;),n.colorbar=t(&quot;./colorbar&quot;),n.plot=t(&quot;./convert&quot;),n.moduleType=&quot;trace&quot;,n.name=&quot;mesh3d&quot;,n.basePlotModule=t(&quot;../../plots/gl3d&quot;),n.categories=[&quot;gl3d&quot;],n.meta={},e.exports=n},{&quot;../../plots/gl3d&quot;:832,&quot;./attributes&quot;:1018,&quot;./calc&quot;:1019,&quot;./colorbar&quot;:1020,&quot;./convert&quot;:1021,&quot;./defaults&quot;:1022}],1024:[function(t,e,r){&quot;use strict&quot;;function n(t){return{name:{valType:&quot;string&quot;,editType:&quot;style&quot;},showlegend:{valType:&quot;boolean&quot;,dflt:!0,editType:&quot;style&quot;},line:{color:i({},s.color,{dflt:t}),width:s.width,dash:o,editType:&quot;style&quot;},editType:&quot;style&quot;}}var i=t(&quot;../../lib&quot;).extendFlat,a=t(&quot;../scatter/attributes&quot;),o=t(&quot;../../components/drawing/attributes&quot;).dash,s=a.line;e.exports={x:{valType:&quot;data_array&quot;,editType:&quot;calc+clearAxisTypes&quot;},open:{valType:&quot;data_array&quot;,dflt:[],editType:&quot;calc&quot;},high:{valType:&quot;data_array&quot;,dflt:[],editType:&quot;calc&quot;},low:{valType:&quot;data_array&quot;,dflt:[],editType:&quot;calc&quot;},close:{valType:&quot;data_array&quot;,dflt:[],editType:&quot;calc&quot;},line:{width:i({},s.width,{}),dash:i({},o,{}),editType:&quot;style&quot;},increasing:n(&quot;#3D9970&quot;),decreasing:n(&quot;#FF4136&quot;),text:{valType:&quot;string&quot;,dflt:&quot;&quot;,arrayOk:!0,editType:&quot;calc&quot;},tickwidth:{valType:&quot;number&quot;,min:0,max:.5,dflt:.3,editType:&quot;calcIfAutorange&quot;}}},{&quot;../../components/drawing/attributes&quot;:642,&quot;../../lib&quot;:743,&quot;../scatter/attributes&quot;:1066}],1025:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,n){o(t,e,r,n),r(n+&quot;.line.color&quot;),r(n+&quot;.line.width&quot;,e.line.width),r(n+&quot;.line.dash&quot;,e.line.dash)}var i=t(&quot;../../lib&quot;),a=t(&quot;./ohlc_defaults&quot;),o=t(&quot;./direction_defaults&quot;),s=t(&quot;./attributes&quot;),l=t(&quot;./helpers&quot;);e.exports=function(t,e,r,o){function c(r,n){return i.coerce(t,e,s,r,n)}l.pushDummyTransformOpts(t,e);0!==a(t,e,c,o)?(c(&quot;line.width&quot;),c(&quot;line.dash&quot;),n(t,e,c,&quot;increasing&quot;),n(t,e,c,&quot;decreasing&quot;),c(&quot;text&quot;),c(&quot;tickwidth&quot;)):e.visible=!1}},{&quot;../../lib&quot;:743,&quot;./attributes&quot;:1024,&quot;./direction_defaults&quot;:1026,&quot;./helpers&quot;:1027,&quot;./ohlc_defaults&quot;:1029}],1026:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t,e,r,n){r(n+&quot;.showlegend&quot;),!1===t.showlegend&amp;&amp;(e[n].showlegend=!1);r(n+&quot;.name&quot;,e.name+&quot; - &quot;+n)}},{}],1027:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;fast-isnumeric&quot;),i=t(&quot;../../lib&quot;);r.pushDummyTransformOpts=function(t,e){var r={type:e.type,_ephemeral:!0};Array.isArray(t.transforms)?t.transforms.push(r):t.transforms=[r]},r.clearEphemeralTransformOpts=function(t){var e=t.transforms;if(Array.isArray(e)){for(var r=0;r&lt;e.length;r++)e[r]._ephemeral&amp;&amp;e.splice(r,1);0===e.length&amp;&amp;delete t.transforms}},r.copyOHLC=function(t,e){t.open&amp;&amp;(e.open=t.open),t.high&amp;&amp;(e.high=t.high),t.low&amp;&amp;(e.low=t.low),t.close&amp;&amp;(e.close=t.close)},r.makeTransform=function(t,e,r){var n=i.extendFlat([],t.transforms);return n[e.transformIndex]={type:t.type,direction:r,open:t.open,high:t.high,low:t.low,close:t.close},n},r.getFilterFn=function(t){return new function(t){function e(t,e){return t===e?e&gt;i?r=!0:e&lt;i&amp;&amp;(r=!1):r=t&lt;e,i=e,r}var r=!0,i=null;return&quot;increasing&quot;===t?function(t,r){return n(t)&amp;&amp;n(r)&amp;&amp;e(+t,+r)}:function(t,r){return n(t)&amp;&amp;n(r)&amp;&amp;!e(+t,+r)}}(t)},r.addRangeSlider=function(t,e){for(var r=!1,n=0;n&lt;t.length;n++)if(!0===t[n].visible){r=!0;break}r&amp;&amp;(e.xaxis||(e.xaxis={}),e.xaxis.rangeslider||(e.xaxis.rangeslider={}))}},{&quot;../../lib&quot;:743,&quot;fast-isnumeric&quot;:140}],1028:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../plot_api/register&quot;);e.exports={moduleType:&quot;trace&quot;,name:&quot;ohlc&quot;,basePlotModule:t(&quot;../../plots/cartesian&quot;),categories:[&quot;cartesian&quot;,&quot;showLegend&quot;],meta:{},attributes:t(&quot;./attributes&quot;),supplyDefaults:t(&quot;./defaults&quot;)},n(t(&quot;../scatter&quot;)),n(t(&quot;./transform&quot;))},{&quot;../../plot_api/register&quot;:779,&quot;../../plots/cartesian&quot;:800,&quot;../scatter&quot;:1078,&quot;./attributes&quot;:1024,&quot;./defaults&quot;:1025,&quot;./transform&quot;:1030}],1029:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../registry&quot;);e.exports=function(t,e,r,i){var a,o=r(&quot;x&quot;),s=r(&quot;open&quot;),l=r(&quot;high&quot;),c=r(&quot;low&quot;),u=r(&quot;close&quot;);return n.getComponentMethod(&quot;calendars&quot;,&quot;handleTraceDefaults&quot;)(t,e,[&quot;x&quot;],i),a=Math.min(s.length,l.length,c.length,u.length),o&amp;&amp;(a=Math.min(a,o.length))&lt;o.length&amp;&amp;(e.x=o.slice(0,a)),a&lt;s.length&amp;&amp;(e.open=s.slice(0,a)),a&lt;l.length&amp;&amp;(e.high=l.slice(0,a)),a&lt;c.length&amp;&amp;(e.low=c.slice(0,a)),a&lt;u.length&amp;&amp;(e.close=u.slice(0,a)),a}},{&quot;../../registry&quot;:873}],1030:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r){var n={type:&quot;scatter&quot;,mode:&quot;lines&quot;,connectgaps:!1,visible:t.visible,opacity:t.opacity,xaxis:t.xaxis,yaxis:t.yaxis,hoverinfo:function(t){var e=t.hoverinfo;if(&quot;all&quot;===e)return&quot;x+text+name&quot;;var r=e.split(&quot;+&quot;),n=r.indexOf(&quot;y&quot;),i=r.indexOf(&quot;text&quot;);-1!==n&amp;&amp;(r.splice(n,1),-1===i&amp;&amp;r.push(&quot;text&quot;));return r.join(&quot;+&quot;)}(t),transforms:s.makeTransform(t,e,r)},i=t[r];return i&amp;&amp;a.extendFlat(n,{x:t.x||[0],xcalendar:t.xcalendar,y:[].concat(t.low).concat(t.high),text:t.text,name:i.name,showlegend:i.showlegend,line:i.line}),n}var i=t(&quot;fast-isnumeric&quot;),a=t(&quot;../../lib&quot;),o=a._,s=t(&quot;./helpers&quot;),l=t(&quot;../../plots/cartesian/axes&quot;),c=t(&quot;../../plots/cartesian/axis_ids&quot;);r.moduleType=&quot;transform&quot;,r.name=&quot;ohlc&quot;,r.attributes={},r.supplyDefaults=function(t,e,r,n){return s.clearEphemeralTransformOpts(n),s.copyOHLC(t,e),t},r.transform=function(t,e){for(var r=[],i=0;i&lt;t.length;i++){var a=t[i];&quot;ohlc&quot;===a.type?r.push(n(a,e,&quot;increasing&quot;),n(a,e,&quot;decreasing&quot;)):r.push(a)}return s.addRangeSlider(r,e.layout),r},r.calcTransform=function(t,e,r){var n,u=r.direction,f=s.getFilterFn(u),h=c.getFromTrace(t,e,&quot;x&quot;),d=c.getFromTrace(t,e,&quot;y&quot;),p=function(t,e,r){var n=r._fullInput,i=n.tickwidth,o=n._minDiff;if(!o){var s=t._fullData,l=[];o=1/0;var c;for(c=0;c&lt;s.length;c++){var u=s[c]._fullInput;if(&quot;ohlc&quot;===u.type&amp;&amp;!0===u.visible&amp;&amp;u.xaxis===e._id&amp;&amp;(l.push(u),u.x&amp;&amp;u.x.length&gt;1)){var f=a.simpleMap(u.x,e.d2c,0,r.xcalendar),h=a.distinctVals(f).minDiff;o=Math.min(o,h)}}for(o===1/0&amp;&amp;(o=1),c=0;c&lt;l.length;c++)l[c]._minDiff=o}return o*i}(t,h,e),m=e.open,g=e.high,v=e.low,y=e.close,x=e.text,b=o(t,&quot;open:&quot;)+&quot; &quot;,_=o(t,&quot;high:&quot;)+&quot; &quot;,w=o(t,&quot;low:&quot;)+&quot; &quot;,M=o(t,&quot;close:&quot;)+&quot; &quot;,k=m.length,A=[],T=[],S=[];n=e._fullInput.x?function(t){var r=e.x[t],n=e.xcalendar,i=h.d2c(r,0,n);A.push(h.c2d(i-p,0,n),r,r,r,r,h.c2d(i+p,0,n),null)}:function(t){A.push(t-p,t,t,t,t,t+p,null)};for(var E=function(t,e,r,n){T.push(t,t,e,r,n,n,null)},L=function(t,e){return l.tickText(t,t.c2l(e),&quot;hover&quot;).text},C=e._fullInput.hoverinfo,z=C.split(&quot;+&quot;),D=&quot;all&quot;===C,I=D||-1!==z.indexOf(&quot;y&quot;),P=D||-1!==z.indexOf(&quot;text&quot;),O=Array.isArray(x)?function(t){return x[t]||&quot;&quot;}:function(){return x},F=function(t,e,r,n,i){var a=[];I&amp;&amp;(a.push(b+L(d,e)),a.push(_+L(d,r)),a.push(w+L(d,n)),a.push(M+L(d,i))),P&amp;&amp;a.push(O(t));var o=a.join(&quot;&lt;br&gt;&quot;);S.push(o,o,o,o,o,o,null)},R=0;R&lt;k;R++)f(m[R],y[R])&amp;&amp;i(g[R])&amp;&amp;i(v[R])&amp;&amp;(n(R),E(m[R],g[R],v[R],y[R]),F(R,m[R],g[R],v[R],y[R]));e.x=A,e.y=T,e.text=S}},{&quot;../../lib&quot;:743,&quot;../../plots/cartesian/axes&quot;:789,&quot;../../plots/cartesian/axis_ids&quot;:792,&quot;./helpers&quot;:1027,&quot;fast-isnumeric&quot;:140}],1031:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../components/colorscale/color_attributes&quot;),i=t(&quot;../../components/colorbar/attributes&quot;),a=t(&quot;../../components/colorscale/scales&quot;),o=t(&quot;../../plots/cartesian/layout_attributes&quot;),s=t(&quot;../../plots/font_attributes&quot;),l=t(&quot;../../plots/domain_attributes&quot;),c=t(&quot;../../lib/extend&quot;),u=c.extendDeepAll,f=c.extendFlat;e.exports={domain:l({name:&quot;parcoords&quot;,trace:!0,editType:&quot;calc&quot;}),labelfont:s({editType:&quot;calc&quot;}),tickfont:s({editType:&quot;calc&quot;}),rangefont:s({editType:&quot;calc&quot;}),dimensions:{_isLinkedToArray:&quot;dimension&quot;,label:{valType:&quot;string&quot;,editType:&quot;calc&quot;},tickvals:f({},o.tickvals,{editType:&quot;calc&quot;}),ticktext:f({},o.ticktext,{editType:&quot;calc&quot;}),tickformat:{valType:&quot;string&quot;,dflt:&quot;3s&quot;,editType:&quot;calc&quot;},visible:{valType:&quot;boolean&quot;,dflt:!0,editType:&quot;calc&quot;},range:{valType:&quot;info_array&quot;,items:[{valType:&quot;number&quot;,editType:&quot;calc&quot;},{valType:&quot;number&quot;,editType:&quot;calc&quot;}],editType:&quot;calc&quot;},constraintrange:{valType:&quot;info_array&quot;,items:[{valType:&quot;number&quot;,editType:&quot;calc&quot;},{valType:&quot;number&quot;,editType:&quot;calc&quot;}],editType:&quot;calc&quot;},values:{valType:&quot;data_array&quot;,dflt:[],editType:&quot;calc&quot;},editType:&quot;calc&quot;},line:f(u(n(&quot;line&quot;,&quot;calc&quot;),{colorscale:{dflt:a.Viridis},autocolorscale:{dflt:!1}}),{showscale:{valType:&quot;boolean&quot;,dflt:!1,editType:&quot;calc&quot;},colorbar:i,editType:&quot;calc&quot;})}},{&quot;../../components/colorbar/attributes&quot;:619,&quot;../../components/colorscale/color_attributes&quot;:626,&quot;../../components/colorscale/scales&quot;:637,&quot;../../lib/extend&quot;:732,&quot;../../plots/cartesian/layout_attributes&quot;:801,&quot;../../plots/domain_attributes&quot;:815,&quot;../../plots/font_attributes&quot;:816}],1032:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;d3&quot;),i=t(&quot;../../plots/get_data&quot;).getModuleCalcData,a=t(&quot;./plot&quot;),o=t(&quot;../../constants/xmlns_namespaces&quot;);r.name=&quot;parcoords&quot;,r.plot=function(t){var e=i(t.calcdata,&quot;parcoords&quot;);e.length&amp;&amp;a(t,e)},r.clean=function(t,e,r,n){var i=n._has&amp;&amp;n._has(&quot;parcoords&quot;),a=e._has&amp;&amp;e._has(&quot;parcoords&quot;);i&amp;&amp;!a&amp;&amp;(n._paperdiv.selectAll(&quot;.parcoords&quot;).remove(),n._glimages.selectAll(&quot;*&quot;).remove())},r.toSVG=function(t){var e=t._fullLayout._glimages,r=n.select(t).selectAll(&quot;.svg-container&quot;);r.filter(function(t,e){return e===r.size()-1}).selectAll(&quot;.gl-canvas-context, .gl-canvas-focus&quot;).each(function(){var t=this.toDataURL(&quot;image/png&quot;);e.append(&quot;svg:image&quot;).attr({xmlns:o.svg,&quot;xlink:href&quot;:t,preserveAspectRatio:&quot;none&quot;,x:0,y:0,width:this.width,height:this.height})}),window.setTimeout(function(){n.selectAll(&quot;#filterBarPattern&quot;).attr(&quot;id&quot;,&quot;filterBarPattern&quot;)},60)}},{&quot;../../constants/xmlns_namespaces&quot;:723,&quot;../../plots/get_data&quot;:826,&quot;./plot&quot;:1040,d3:128}],1033:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../components/colorscale/has_colorscale&quot;),i=t(&quot;../../components/colorscale/calc&quot;),a=t(&quot;../../lib&quot;),o=t(&quot;../../lib/gup&quot;).wrap;e.exports=function(t,e){var r=!!e.line.colorscale&amp;&amp;a.isArray(e.line.color),s=r?e.line.color:Array.apply(0,Array(e.dimensions.reduce(function(t,e){return Math.max(t,e.values.length)},0))).map(function(){return.5}),l=r?e.line.colorscale:[[0,e.line.color],[1,e.line.color]];return n(e,&quot;line&quot;)&amp;&amp;i(e,e.line.color,&quot;line&quot;,&quot;c&quot;),o({lineColor:s,cscale:l})}},{&quot;../../components/colorscale/calc&quot;:625,&quot;../../components/colorscale/has_colorscale&quot;:632,&quot;../../lib&quot;:743,&quot;../../lib/gup&quot;:740}],1034:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;fast-isnumeric&quot;),i=t(&quot;../../lib&quot;),a=t(&quot;../../plots/plots&quot;),o=t(&quot;../../components/colorscale&quot;),s=t(&quot;../../components/colorbar/draw&quot;);e.exports=function(t,e){var r=e[0].trace,l=r.line,c=&quot;cb&quot;+r.uid;if(t._fullLayout._infolayer.selectAll(&quot;.&quot;+c).remove(),void 0!==l&amp;&amp;l.showscale){var u=l.color,f=l.cmin,h=l.cmax;n(f)||(f=i.aggNums(Math.min,null,u)),n(h)||(h=i.aggNums(Math.max,null,u));var d=e[0].t.cb=s(t,c),p=o.makeColorScaleFunc(o.extractScale(l.colorscale,f,h),{noNumericCheck:!0});d.fillcolor(p).filllevels({start:f,end:h,size:(h-f)/254}).options(l.colorbar)()}else a.autoMargin(t,c)}},{&quot;../../components/colorbar/draw&quot;:622,&quot;../../components/colorscale&quot;:633,&quot;../../lib&quot;:743,&quot;../../plots/plots&quot;:852,&quot;fast-isnumeric&quot;:140}],1035:[function(t,e,r){&quot;use strict&quot;;e.exports={maxDimensionCount:60,overdrag:45,verticalPadding:2,tickDistance:50,canvasPixelRatio:1,blockLineCount:5e3,scatter:!1,layers:[&quot;contextLineLayer&quot;,&quot;focusLineLayer&quot;,&quot;pickLineLayer&quot;],axisTitleOffset:28,axisExtentOffset:10,bar:{width:4,capturewidth:10,fillcolor:&quot;magenta&quot;,fillopacity:1,strokecolor:&quot;white&quot;,strokeopacity:1,strokewidth:1,handleheight:16,handleopacity:1,handleoverlap:0},cn:{axisExtentText:&quot;axis-extent-text&quot;,parcoordsLineLayers:&quot;parcoords-line-layers&quot;,parcoordsLineLayer:&quot;parcoords-lines&quot;,parcoords:&quot;parcoords&quot;,parcoordsControlView:&quot;parcoords-control-view&quot;,yAxis:&quot;y-axis&quot;,axisOverlays:&quot;axis-overlays&quot;,axis:&quot;axis&quot;,axisHeading:&quot;axis-heading&quot;,axisTitle:&quot;axis-title&quot;,axisExtent:&quot;axis-extent&quot;,axisExtentTop:&quot;axis-extent-top&quot;,axisExtentTopText:&quot;axis-extent-top-text&quot;,axisExtentBottom:&quot;axis-extent-bottom&quot;,axisExtentBottomText:&quot;axis-extent-bottom-text&quot;,axisBrush:&quot;axis-brush&quot;},id:{filterBarPattern:&quot;filter-bar-pattern&quot;}}},{}],1036:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib&quot;),i=t(&quot;./attributes&quot;),a=t(&quot;../../components/colorscale/has_colorscale&quot;),o=t(&quot;../../components/colorscale/defaults&quot;),s=t(&quot;./constants&quot;).maxDimensionCount;e.exports=function(t,e,r,l){function c(r,a){return n.coerce(t,e,i,r,a)}var u=function(t,e){function r(t,e){return n.coerce(a,o,i.dimensions,t,e)}var a,o,l,c=t.dimensions||[],u=e.dimensions=[],f=1/0;for(c.length&gt;s&amp;&amp;(n.log(&quot;parcoords traces support up to &quot;+s+&quot; dimensions at the moment&quot;),c.splice(s)),l=0;l&lt;c.length;l++)a=c[l],o={},n.isPlainObject(a)&amp;&amp;(r(&quot;visible&quot;,r(&quot;values&quot;).length&gt;0)&amp;&amp;(r(&quot;label&quot;),r(&quot;tickvals&quot;),r(&quot;ticktext&quot;),r(&quot;tickformat&quot;),r(&quot;range&quot;),r(&quot;constraintrange&quot;),f=Math.min(f,o.values.length)),o._index=l,u.push(o));if(isFinite(f))for(l=0;l&lt;u.length;l++)(o=u[l]).visible&amp;&amp;o.values.length&gt;f&amp;&amp;(o.values=o.values.slice(0,f));return u}(t,e);!function(t,e,r,i,s){s(&quot;line.color&quot;,r),a(t,&quot;line&quot;)&amp;&amp;n.isArray(t.line.color)?(s(&quot;line.colorscale&quot;),o(t,e,i,s,{prefix:&quot;line.&quot;,cLetter:&quot;c&quot;})):s(&quot;line.color&quot;,r)}(t,e,r,l,c),c(&quot;domain.x&quot;),c(&quot;domain.y&quot;),Array.isArray(u)&amp;&amp;u.length||(e.visible=!1);var f={family:l.font.family,size:Math.round(l.font.size*(10/12)),color:l.font.color};n.coerceFont(c,&quot;labelfont&quot;,f),n.coerceFont(c,&quot;tickfont&quot;,f),n.coerceFont(c,&quot;rangefont&quot;,f)}},{&quot;../../components/colorscale/defaults&quot;:628,&quot;../../components/colorscale/has_colorscale&quot;:632,&quot;../../lib&quot;:743,&quot;./attributes&quot;:1031,&quot;./constants&quot;:1035}],1037:[function(t,e,r){&quot;use strict&quot;;var n={};n.attributes=t(&quot;./attributes&quot;),n.supplyDefaults=t(&quot;./defaults&quot;),n.calc=t(&quot;./calc&quot;),n.plot=t(&quot;./plot&quot;),n.colorbar=t(&quot;./colorbar&quot;),n.moduleType=&quot;trace&quot;,n.name=&quot;parcoords&quot;,n.basePlotModule=t(&quot;./base_plot&quot;),n.categories=[&quot;gl&quot;,&quot;regl&quot;,&quot;noOpacity&quot;],n.meta={},e.exports=n},{&quot;./attributes&quot;:1031,&quot;./base_plot&quot;:1032,&quot;./calc&quot;:1033,&quot;./colorbar&quot;:1034,&quot;./defaults&quot;:1036,&quot;./plot&quot;:1040}],1038:[function(t,e,r){&quot;use strict&quot;;function n(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 i(t,e,r,i,a,o){function s(c){var u;u=Math.min(i,a-c*i),o.offset=h*c*i,o.count=h*u,0===c&amp;&amp;(window.cancelAnimationFrame(r.currentRafs[l]),delete r.currentRafs[l],n(t,o.scissorX,o.scissorY,o.scissorWidth,o.viewBoxSize[1])),r.clearOnly||(e(o),c*i+u&lt;a&amp;&amp;(r.currentRafs[l]=window.requestAnimationFrame(function(){s(c+1)})),r.drawCompleted=!1)}var l=o.key;r.drawCompleted||(!function(t){t.read({x:0,y:0,width:1,height:1,data:m})}(t),r.drawCompleted=!0),s(0)}function a(t){return Math.max(u,Math.min(1-u,t))}function o(t,e){return(t&gt;&gt;&gt;8*e)%256/255}function s(t,e){var r={};return[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15].map(function(r){return function(t,e,r){var n,i,a,o=[];for(i=0;i&lt;t;i++)for(a=0;a&lt;h;a++)for(n=0;n&lt;d;n++)o.push(e[i*f+r*d+n]),r*d+n===f-1&amp;&amp;a%2==0&amp;&amp;(o[o.length-1]*=-1);return o}(t,e,r)}).forEach(function(t,e){r[&quot;p&quot;+e.toString(16)]=t}),r}function l(t,e,r){return t+e&lt;=r}var c=t(&quot;./constants&quot;),u=1e-6,f=64,h=2,d=4,p=[119,119,119],m=new Uint8Array(4),g=new Uint8Array(4);e.exports=function(t,e,r){function u(t,e,r,n,i,a,o,s,u,f,d){var p,g,v,b,_=[t,e],w=c.verticalPadding/a,k=[0,1].map(function(){return[0,1,2,3].map(function(){return new Float32Array(16)})}),A=[0,1].map(function(){return[0,1,2,3].map(function(){return new Float32Array(16)})});for(p=0;p&lt;2;p++)for(b=_[p],g=0;g&lt;4;g++)for(v=0;v&lt;16;v++){var S=v+16*g;k[p][g][v]=v+16*g===b?1:0,A[p][g][v]=(!M&amp;&amp;l(v,16*g,I)?T[0===S?0:1+(S-1)%(T.length-1)].filter[p]:p)+(2*p-1)*w}return{key:o,resolution:[y,x],viewBoxPosition:[r+D,n],viewBoxSize:[i,a],i:t,ii:e,dim1A:k[0][0],dim1B:k[0][1],dim1C:k[0][2],dim1D:k[0][3],dim2A:k[1][0],dim2B:k[1][1],dim2C:k[1][2],dim2D:k[1][3],loA:A[0][0],loB:A[0][1],loC:A[0][2],loD:A[0][3],hiA:A[1][0],hiB:A[1][1],hiC:A[1][2],hiD:A[1][3],colorClamp:j,scatter:s||0,scissorX:(u===f?0:r+D)+(h.pad.l-D)+h.layoutWidth*m.x[0],scissorWidth:(u===d?y-r+D:i+.5)+(u===f?r+D:0),scissorY:n+h.pad.b+h.layoutHeight*m.y[0],scissorHeight:a,viewportX:h.pad.l-D+h.layoutWidth*m.x[0],viewportY:h.pad.b+h.layoutHeight*m.y[0],viewportWidth:y,viewportHeight:x}}var h=e.model,d=e.viewModel,m=h.domain,v=h.lines,y=h.canvasWidth,x=h.canvasHeight,b=d.dimensions,_=d.panels,w=h.unitToColor,M=e.context,k=e.pick,A={currentRafs:{},drawCompleted:!0,clearOnly:!1},T=b.slice(),S=T.length,E=T[0]?T[0].values.length:0,L=M,C=k?v.color.map(function(t,e){return e/v.color.length}):v.color,z=Math.max(1/255,Math.pow(1/C.length,1/3)),D=v.canvasOverdrag,I=_.length,P=function(t,e,r,n){for(var i=[],s=0;s&lt;t;s++)for(var l=0;l&lt;f;l++)i.push(l&lt;e?r[l].paddedUnitValues[s]:l===f-1?a(n[s]):l&gt;=f-4?o(s,f-2-l):.5);return i}(E,S,T,C),O=s(E,P),F=e.regl,R=F.texture({shape:[256,1],format:&quot;rgba&quot;,type:&quot;uint8&quot;,mag:&quot;nearest&quot;,min:&quot;nearest&quot;,data:function(t,e,r){for(var n=[],i=0;i&lt;256;i++){var a=t(i/255);n.push((e?p:a).concat(r))}return n}(w,M,Math.round(255*(M?z:1)))}),N=F({profile:!1,blend:{enable:L,func:{srcRGB:&quot;src alpha&quot;,dstRGB:&quot;one minus src alpha&quot;,srcAlpha:1,dstAlpha:1},equation:{rgb:&quot;add&quot;,alpha:&quot;add&quot;},color:[0,0,0,0]},depth:{enable:!L,mask:!0,func:&quot;less&quot;,range:[0,1]},cull:{enable:!0,face:&quot;back&quot;},scissor:{enable:!0,box:{x:F.prop(&quot;scissorX&quot;),y:F.prop(&quot;scissorY&quot;),width:F.prop(&quot;scissorWidth&quot;),height:F.prop(&quot;scissorHeight&quot;)}},viewport:{x:F.prop(&quot;viewportX&quot;),y:F.prop(&quot;viewportY&quot;),width:F.prop(&quot;viewportWidth&quot;),height:F.prop(&quot;viewportHeight&quot;)},dither:!1,vert:k?&quot;precision highp float;\n#define GLSLIFY 1\n\nattribute vec4 p0, p1, p2, p3,\n               p4, p5, p6, p7,\n               p8, p9, pa, pb,\n               pc, pd, pe;\n\nattribute vec4 pf;\n\nuniform mat4 dim1A, dim2A, dim1B, dim2B, dim1C, dim2C, dim1D, dim2D,\n             loA, hiA, loB, hiB, loC, hiC, loD, hiD;\n\nuniform vec2 resolution,\n             viewBoxPosition,\n             viewBoxSize;\n\nuniform sampler2D palette;\n\nuniform vec2 colorClamp;\n\nuniform float scatter;\n\nvarying vec4 fragColor;\n\nvec4 zero = vec4(0, 0, 0, 0);\nvec4 unit = vec4(1, 1, 1, 1);\nvec2 xyProjection = vec2(1, 1);\n\nmat4 mclamp(mat4 m, mat4 lo, mat4 hi) {\n    return mat4(clamp(m[0], lo[0], hi[0]),\n                clamp(m[1], lo[1], hi[1]),\n                clamp(m[2], lo[2], hi[2]),\n                clamp(m[3], lo[3], hi[3]));\n}\n\nbool mshow(mat4 p, mat4 lo, mat4 hi) {\n    return mclamp(p, lo, hi) == p;\n}\n\nfloat val(mat4 p, mat4 v) {\n    return dot(matrixCompMult(p, v) * unit, unit);\n}\n\nvoid main() {\n\n    float x = 0.5 * sign(pf[3]) + 0.5;\n    float prominence = abs(pf[3]);\n    float depth = 1.0 - prominence;\n\n    mat4 pA = mat4(p0, p1, p2, p3);\n    mat4 pB = mat4(p4, p5, p6, p7);\n    mat4 pC = mat4(p8, p9, pa, pb);\n    mat4 pD = mat4(pc, pd, pe, abs(pf));\n\n    float show = float(mshow(pA, loA, hiA) &amp;&amp;\n                       mshow(pB, loB, hiB) &amp;&amp;\n                       mshow(pC, loC, hiC) &amp;&amp;\n                       mshow(pD, loD, hiD));\n\n    vec2 yy = show * vec2(val(pA, dim2A) + val(pB, dim2B) + val(pC, dim2C) + val(pD, dim2D),\n                          val(pA, dim1A) + val(pB, dim1B) + val(pC, dim1C) + val(pD, dim1D));\n\n    vec2 dimensionToggle = vec2(x, 1.0 - x);\n\n    vec2 scatterToggle = vec2(scatter, 1.0 - scatter);\n\n    float y = dot(yy, dimensionToggle);\n    mat2 xy = mat2(viewBoxSize * yy + dimensionToggle, viewBoxSize * vec2(x, y));\n\n    vec2 viewBoxXY = viewBoxPosition + xy * scatterToggle;\n\n    float depthOrHide = depth + 2.0 * (1.0 - show);\n\n    gl_Position = vec4(\n        xyProjection * (2.0 * viewBoxXY / resolution - 1.0),\n        depthOrHide,\n        1.0\n    );\n\n    // pick coloring\n    fragColor = vec4(pf.rgb, 1.0);\n}\n&quot;:&quot;precision highp float;\n#define GLSLIFY 1\n\nattribute vec4 p0, p1, p2, p3,\n               p4, p5, p6, p7,\n               p8, p9, pa, pb,\n               pc, pd, pe;\n\nattribute vec4 pf;\n\nuniform mat4 dim1A, dim2A, dim1B, dim2B, dim1C, dim2C, dim1D, dim2D,\n             loA, hiA, loB, hiB, loC, hiC, loD, hiD;\n\nuniform vec2 resolution,\n             viewBoxPosition,\n             viewBoxSize;\n\nuniform sampler2D palette;\n\nuniform vec2 colorClamp;\n\nuniform float scatter;\n\nvarying vec4 fragColor;\n\nvec4 zero = vec4(0, 0, 0, 0);\nvec4 unit = vec4(1, 1, 1, 1);\nvec2 xyProjection = vec2(1, 1);\n\nmat4 mclamp(mat4 m, mat4 lo, mat4 hi) {\n    return mat4(clamp(m[0], lo[0], hi[0]),\n                clamp(m[1], lo[1], hi[1]),\n                clamp(m[2], lo[2], hi[2]),\n                clamp(m[3], lo[3], hi[3]));\n}\n\nbool mshow(mat4 p, mat4 lo, mat4 hi) {\n    return mclamp(p, lo, hi) == p;\n}\n\nfloat val(mat4 p, mat4 v) {\n    return dot(matrixCompMult(p, v) * unit, unit);\n}\n\nvoid main() {\n\n    float x = 0.5 * sign(pf[3]) + 0.5;\n    float prominence = abs(pf[3]);\n    float depth = 1.0 - prominence;\n\n    mat4 pA = mat4(p0, p1, p2, p3);\n    mat4 pB = mat4(p4, p5, p6, p7);\n    mat4 pC = mat4(p8, p9, pa, pb);\n    mat4 pD = mat4(pc, pd, pe, abs(pf));\n\n    float show = float(mshow(pA, loA, hiA) &amp;&amp;\n                       mshow(pB, loB, hiB) &amp;&amp;\n                       mshow(pC, loC, hiC) &amp;&amp;\n                       mshow(pD, loD, hiD));\n\n    vec2 yy = show * vec2(val(pA, dim2A) + val(pB, dim2B) + val(pC, dim2C) + val(pD, dim2D),\n                          val(pA, dim1A) + val(pB, dim1B) + val(pC, dim1C) + val(pD, dim1D));\n\n    vec2 dimensionToggle = vec2(x, 1.0 - x);\n\n    vec2 scatterToggle = vec2(scatter, 1.0 - scatter);\n\n    float y = dot(yy, dimensionToggle);\n    mat2 xy = mat2(viewBoxSize * yy + dimensionToggle, viewBoxSize * vec2(x, y));\n\n    vec2 viewBoxXY = viewBoxPosition + xy * scatterToggle;\n\n    float depthOrHide = depth + 2.0 * (1.0 - show);\n\n    gl_Position = vec4(\n        xyProjection * (2.0 * viewBoxXY / resolution - 1.0),\n        depthOrHide,\n        1.0\n    );\n\n    // visible coloring\n    float clampedColorIndex = clamp((prominence - colorClamp[0]) / (colorClamp[1] - colorClamp[0]), 0.0, 1.0);\n    fragColor = texture2D(palette, vec2((clampedColorIndex * 255.0 + 0.5) / 256.0, 0.5));\n}\n&quot;,frag:&quot;precision lowp float;\n#define GLSLIFY 1\n\nvarying vec4 fragColor;\n\nvoid main() {\n    gl_FragColor = fragColor;\n}\n&quot;,primitive:&quot;lines&quot;,lineWidth:1,attributes:O,uniforms:{resolution:F.prop(&quot;resolution&quot;),viewBoxPosition:F.prop(&quot;viewBoxPosition&quot;),viewBoxSize:F.prop(&quot;viewBoxSize&quot;),dim1A:F.prop(&quot;dim1A&quot;),dim2A:F.prop(&quot;dim2A&quot;),dim1B:F.prop(&quot;dim1B&quot;),dim2B:F.prop(&quot;dim2B&quot;),dim1C:F.prop(&quot;dim1C&quot;),dim2C:F.prop(&quot;dim2C&quot;),dim1D:F.prop(&quot;dim1D&quot;),dim2D:F.prop(&quot;dim2D&quot;),loA:F.prop(&quot;loA&quot;),hiA:F.prop(&quot;hiA&quot;),loB:F.prop(&quot;loB&quot;),hiB:F.prop(&quot;hiB&quot;),loC:F.prop(&quot;loC&quot;),hiC:F.prop(&quot;hiC&quot;),loD:F.prop(&quot;loD&quot;),hiD:F.prop(&quot;hiD&quot;),palette:R,colorClamp:F.prop(&quot;colorClamp&quot;),scatter:F.prop(&quot;scatter&quot;)},offset:F.prop(&quot;offset&quot;),count:F.prop(&quot;count&quot;)}),j=[0,1],B=[];return{setColorDomain:function(t){j[0]=t[0],j[1]=t[1]},render:function(t,e,a){var o,s,l,c=1/0,f=-1/0;for(o=0;o&lt;I;o++)t[o].dim2.canvasX&gt;f&amp;&amp;(f=t[o].dim2.canvasX,l=o),t[o].dim1.canvasX&lt;c&amp;&amp;(c=t[o].dim1.canvasX,s=o);for(0===I&amp;&amp;n(F,0,0,y,x),o=0;o&lt;I;o++){var h=t[o],d=h.dim1,p=d.crossfilterDimensionIndex,m=h.canvasX,g=h.canvasY,b=h.dim2.crossfilterDimensionIndex,_=h.panelSizeX,w=h.panelSizeY,M=m+_;if(e||!B[p]||B[p][0]!==m||B[p][1]!==M){B[p]=[m,M];var k=u(p,b,m,g,_,w,d.crossfilterDimensionIndex,r||d.scatter?1:0,o,s,l);A.clearOnly=a,i(F,N,A,e?v.blockLineCount:E,E,k)}}},readPixel:function(t,e){return F.read({x:t,y:e,width:1,height:1,data:g}),g},readPixels:function(t,e,r,n){var i=new Uint8Array(4*r*n);return F.read({x:t,y:e,width:r,height:n,data:i}),i},destroy:function(){t.style[&quot;pointer-events&quot;]=&quot;none&quot;,R.destroy()}}}},{&quot;./constants&quot;:1035}],1039:[function(t,e,r){&quot;use strict&quot;;function n(t){return!(&quot;visible&quot;in t)||t.visible}function i(t){var e=t.range?t.range[0]:d.min(t.values),r=t.range?t.range[1]:d.max(t.values);return!isNaN(e)&amp;&amp;isFinite(e)||(e=0),!isNaN(r)&amp;&amp;isFinite(r)||(r=0),e===r&amp;&amp;(void 0===e?(e=0,r=1):0===e?(e-=1,r+=1):(e*=.9,r*=1.1)),[e,r]}function a(t,e){var r,n,i,a,o;for(r=0,i=1/0,a=(n=t.range())[0];r&lt;n.length;r++){if((o=Math.abs(n[r]-e))&gt;i)return a;i=o,a=n[r]}return n[n.length-1]}function o(t){return d.scale.linear().domain(i(t))}function s(t,e,r){var i=v(e),a=i.trace,s=i.lineColor,l=i.cscale,c=a.line,u=a.domain,p=a.dimensions,m=t.width,g=a.labelfont,y=a.tickfont,x=a.rangefont,b=h.extendDeep({},c,{color:s.map(o({values:s,range:[c.cmin,c.cmax]})),blockLineCount:f.blockLineCount,canvasOverdrag:f.overdrag*f.canvasPixelRatio}),_=Math.floor(m*(u.x[1]-u.x[0])),w=Math.floor(t.height*(u.y[1]-u.y[0])),M=t.margin||{l:80,r:80,t:100,b:80},k=_,A=w;return{key:r,colCount:p.filter(n).length,dimensions:p,tickDistance:f.tickDistance,unitToColor:function(t){var e=t.map(function(t){return t[0]}),r=t.map(function(t){return t[1]}).map(function(t){return d.rgb(t)}),n=&quot;rgb&quot;.split(&quot;&quot;).map(function(t){return d.scale.linear().clamp(!0).domain(e).range(r.map(function(t){return function(e){return e[t]}}(t)))});return function(t){return n.map(function(e){return e(t)})}}(l),lines:b,labelFont:g,tickFont:y,rangeFont:x,layoutWidth:m,layoutHeight:t.height,domain:u,translateX:u.x[0]*m,translateY:t.height-u.y[1]*t.height,pad:M,canvasWidth:k*f.canvasPixelRatio+2*b.canvasOverdrag,canvasHeight:A*f.canvasPixelRatio,width:k,height:A,canvasPixelRatio:f.canvasPixelRatio}}function l(t){var e=t.width,r=t.height,a=t.dimensions,s=t.canvasPixelRatio,l=function(r){return e*r/Math.max(1,t.colCount-1)},c=f.verticalPadding/(r*s),u=1-2*c,h=function(t){return c+u*t},p={key:t.key,xScale:l,model:t},m={};return p.dimensions=a.filter(n).map(function(e,n){var a=o(e),c=m[e.label];m[e.label]=(c||0)+1;return{key:e.label+(c?&quot;__&quot;+c:&quot;&quot;),label:e.label,tickFormat:e.tickformat,tickvals:e.tickvals,ticktext:e.ticktext,ordinal:!!e.tickvals,scatter:f.scatter||e.scatter,xIndex:n,crossfilterDimensionIndex:n,visibleIndex:e._index,height:r,values:e.values,paddedUnitValues:e.values.map(a).map(h),xScale:l,x:l(n),canvasX:l(n)*s,unitScale:function(t,e){return d.scale.linear().range([t-e,e])}(r,f.verticalPadding),domainScale:function(t,e,r){var n=i(r),a=r.ticktext;return r.tickvals?d.scale.ordinal().domain(r.tickvals.map(function(t,e){return function(r,n){if(e){var i=e[n];return null===i||void 0===i?t(r):i}return t(r)}}(d.format(r.tickformat),a))).range(r.tickvals.map(function(t){return(t-n[0])/(n[1]-n[0])}).map(function(r){return t-e+r*(e-(t-e))})):d.scale.linear().domain(n).range([t-e,e])}(r,f.verticalPadding,e),ordinalScale:function(t){var e=i(t);return t.tickvals&amp;&amp;d.scale.ordinal().domain(t.tickvals).range(t.tickvals.map(function(t){return(t-e[0])/(e[1]-e[0])}))}(e),domainToUnitScale:a,filter:e.constraintrange?e.constraintrange.map(a):[0,1],parent:p,model:t}}),p}function c(t){t.classed(f.cn.axisExtentText,!0).attr(&quot;text-anchor&quot;,&quot;middle&quot;).style(&quot;cursor&quot;,&quot;default&quot;).style(&quot;user-select&quot;,&quot;none&quot;)}var u=t(&quot;./lines&quot;),f=t(&quot;./constants&quot;),h=t(&quot;../../lib&quot;),d=t(&quot;d3&quot;),p=t(&quot;../../components/drawing&quot;),m=t(&quot;../../lib/gup&quot;).keyFun,g=t(&quot;../../lib/gup&quot;).repeat,v=t(&quot;../../lib/gup&quot;).unwrap;e.exports=function(t,e,r,n,i,o){function y(t){return t.dimensions.some(function(t){return 0!==t.filter[0]||1!==t.filter[1]})}function x(t,e){return(f.scatter?function(t,e){for(var r=e.panels||(e.panels=[]),n=t.each(function(t){return t})[e.key].map(function(t){return t.__data__}),i=n.length-1,a=i,o=0;o&lt;i;o++)for(var s=0;s&lt;i;s++){var l=r[s+o*i]||(r[s+o*i]={}),c=n[s],u=n[s+1];l.dim1=n[o+1],l.dim2=u,l.canvasX=c.canvasX,l.panelSizeX=u.canvasX-c.canvasX,l.panelSizeY=e.model.canvasHeight/a,l.y=o*l.panelSizeY,l.canvasY=e.model.canvasHeight-l.y-l.panelSizeY}}:function(t,e){for(var r=e.panels||(e.panels=[]),n=t.each(function(t){return t})[e.key].map(function(t){return t.__data__}),i=n.length-1,a=0;a&lt;1;a++)for(var o=0;o&lt;i;o++){var s=r[o+a*i]||(r[o+a*i]={}),l=n[o],c=n[o+1];s.dim1=l,s.dim2=c,s.canvasX=l.canvasX,s.panelSizeX=c.canvasX-l.canvasX,s.panelSizeY=e.model.canvasHeight/1,s.y=a*s.panelSizeY,s.canvasY=e.model.canvasHeight-s.y-s.panelSizeY}})(t,e)}function b(t){return t.ordinal?function(){return&quot;&quot;}:d.format(t.tickFormat)}function _(){H=!0,k=!0}function w(t){A=!1;var e=t.parent,r=t.brush.extent(),n=e.dimensions,i=n[t.xIndex].filter,a=H&amp;&amp;r[0]===r[1];a&amp;&amp;(t.brush.clear(),d.select(this).select(&quot;rect.extent&quot;).attr(&quot;y&quot;,-100));var o=a?[0,1]:r.slice();if(o[0]!==i[0]||o[1]!==i[1]){n[t.xIndex].filter=o,e.focusLayer&amp;&amp;e.focusLayer.render(e.panels,!0);var s=y(e);!G&amp;&amp;s?(e.contextLayer&amp;&amp;e.contextLayer.render(e.panels,!0),G=!0):G&amp;&amp;!s&amp;&amp;(e.contextLayer&amp;&amp;e.contextLayer.render(e.panels,!0,!0),G=!1)}H=!1}function M(t){var e=t.parent,r=t.brush.extent(),n=r[0]===r[1],i=e.dimensions[t.xIndex].filter;if(!n&amp;&amp;t.ordinal&amp;&amp;(i[0]=a(t.ordinalScale,i[0]),i[1]=a(t.ordinalScale,i[1]),i[0]===i[1]&amp;&amp;(i[0]=Math.max(0,i[0]-.05),i[1]=Math.min(1,i[1]+.05)),d.select(this).transition().duration(150).call(t.brush.extent(i)),e.focusLayer.render(e.panels,!0)),e.pickLayer&amp;&amp;e.pickLayer.render(e.panels,!0),A=!0,k=&quot;ending&quot;,o&amp;&amp;o.filterChanged){var s=t.domainToUnitScale.invert,l=i.map(s);o.filterChanged(e.key,t.visibleIndex,l)}}var k=!1,A=!0,T=n.filter(function(t){return v(t).trace.visible}).map(s.bind(0,i)).map(l);r.each(function(t,e){return h.extendFlat(t,T[e])});var S=r.selectAll(&quot;.gl-canvas&quot;).each(function(t){t.viewModel=T[0],t.model=t.viewModel?t.viewModel.model:null}),E={renderers:[],dimensions:[]},L=null;S.filter(function(t){return t.pick}).style(&quot;pointer-events&quot;,&quot;auto&quot;).on(&quot;mousemove&quot;,function(t){if(A&amp;&amp;t.lineLayer&amp;&amp;o&amp;&amp;o.hover){var e=d.event,r=this.width,n=this.height,i=d.mouse(this),a=i[0],s=i[1];if(a&lt;0||s&lt;0||a&gt;=r||s&gt;=n)return;var l=t.lineLayer.readPixel(a,n-1-s),c=0!==l[3],u=c?l[2]+256*(l[1]+256*l[0]):null,f={x:a,y:s,clientX:e.clientX,clientY:e.clientY,dataIndex:t.model.key,curveNumber:u};u!==L&amp;&amp;(c?o.hover(f):o.unhover&amp;&amp;o.unhover(f),L=u)}}),S.style(&quot;opacity&quot;,function(t){return t.pick?.01:1}),e.style(&quot;background&quot;,&quot;rgba(255, 255, 255, 0)&quot;);var C=e.selectAll(&quot;.&quot;+f.cn.parcoords).data(T,m);C.exit().remove(),C.enter().append(&quot;g&quot;).classed(f.cn.parcoords,!0).attr(&quot;overflow&quot;,&quot;visible&quot;).style(&quot;box-sizing&quot;,&quot;content-box&quot;).style(&quot;position&quot;,&quot;absolute&quot;).style(&quot;left&quot;,0).style(&quot;overflow&quot;,&quot;visible&quot;).style(&quot;shape-rendering&quot;,&quot;crispEdges&quot;).style(&quot;pointer-events&quot;,&quot;none&quot;).call(function(t){var e=t.selectAll(&quot;defs&quot;).data(g,m);e.enter().append(&quot;defs&quot;);var r=e.selectAll(&quot;#&quot;+f.id.filterBarPattern).data(g,m);r.enter().append(&quot;pattern&quot;).attr(&quot;id&quot;,f.id.filterBarPattern).attr(&quot;patternUnits&quot;,&quot;userSpaceOnUse&quot;),r.attr(&quot;x&quot;,-f.bar.width).attr(&quot;width&quot;,f.bar.capturewidth).attr(&quot;height&quot;,function(t){return t.model.height});var n=r.selectAll(&quot;rect&quot;).data(g,m);n.enter().append(&quot;rect&quot;).attr(&quot;shape-rendering&quot;,&quot;crispEdges&quot;),n.attr(&quot;height&quot;,function(t){return t.model.height}).attr(&quot;width&quot;,f.bar.width).attr(&quot;x&quot;,f.bar.width/2).attr(&quot;fill&quot;,f.bar.fillcolor).attr(&quot;fill-opacity&quot;,f.bar.fillopacity).attr(&quot;stroke&quot;,f.bar.strokecolor).attr(&quot;stroke-opacity&quot;,f.bar.strokeopacity).attr(&quot;stroke-width&quot;,f.bar.strokewidth)}),C.attr(&quot;width&quot;,function(t){return t.model.width+t.model.pad.l+t.model.pad.r}).attr(&quot;height&quot;,function(t){return t.model.height+t.model.pad.t+t.model.pad.b}).attr(&quot;transform&quot;,function(t){return&quot;translate(&quot;+t.model.translateX+&quot;,&quot;+t.model.translateY+&quot;)&quot;});var z=C.selectAll(&quot;.&quot;+f.cn.parcoordsControlView).data(g,m);z.enter().append(&quot;g&quot;).classed(f.cn.parcoordsControlView,!0).style(&quot;box-sizing&quot;,&quot;content-box&quot;),z.attr(&quot;transform&quot;,function(t){return&quot;translate(&quot;+t.model.pad.l+&quot;,&quot;+t.model.pad.t+&quot;)&quot;});var D=z.selectAll(&quot;.&quot;+f.cn.yAxis).data(function(t){return t.dimensions},m);D.enter().append(&quot;g&quot;).classed(f.cn.yAxis,!0).each(function(t){E.dimensions.push(t)}),z.each(function(t){x(D,t)}),S.filter(function(t){return!!t.viewModel}).each(function(t){t.lineLayer=u(this,t,f.scatter),t.viewModel[t.key]=t.lineLayer,E.renderers.push(function(){t.lineLayer.render(t.viewModel.panels,!0)}),t.lineLayer.render(t.viewModel.panels,!t.context)}),D.attr(&quot;transform&quot;,function(t){return&quot;translate(&quot;+t.xScale(t.xIndex)+&quot;, 0)&quot;}),D.call(d.behavior.drag().origin(function(t){return t}).on(&quot;drag&quot;,function(t){var e=t.parent;A=!1,k||(t.x=Math.max(-f.overdrag,Math.min(t.model.width+f.overdrag,d.event.x)),t.canvasX=t.x*t.model.canvasPixelRatio,D.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}),x(D,e),D.filter(function(e){return 0!==Math.abs(t.xIndex-e.xIndex)}).attr(&quot;transform&quot;,function(t){return&quot;translate(&quot;+t.xScale(t.xIndex)+&quot;, 0)&quot;}),d.select(this).attr(&quot;transform&quot;,&quot;translate(&quot;+t.x+&quot;, 0)&quot;),D.each(function(r,n,i){i===t.parent.key&amp;&amp;(e.dimensions[n]=r)}),e.contextLayer&amp;&amp;e.contextLayer.render(e.panels,!1,!y(e)),e.focusLayer.render&amp;&amp;e.focusLayer.render(e.panels))}).on(&quot;dragend&quot;,function(t){var e=t.parent;k?&quot;ending&quot;===k&amp;&amp;(k=!1):(t.x=t.xScale(t.xIndex),t.canvasX=t.x*t.model.canvasPixelRatio,x(D,e),d.select(this).attr(&quot;transform&quot;,function(t){return&quot;translate(&quot;+t.x+&quot;, 0)&quot;}),e.contextLayer&amp;&amp;e.contextLayer.render(e.panels,!1,!y(e)),e.focusLayer&amp;&amp;e.focusLayer.render(e.panels),e.pickLayer&amp;&amp;e.pickLayer.render(e.panels,!0),A=!0,o&amp;&amp;o.axesMoved&amp;&amp;o.axesMoved(e.key,e.dimensions.map(function(t){return t.crossfilterDimensionIndex})))})),D.exit().remove();var I=D.selectAll(&quot;.&quot;+f.cn.axisOverlays).data(g,m);I.enter().append(&quot;g&quot;).classed(f.cn.axisOverlays,!0),I.selectAll(&quot;.&quot;+f.cn.axis).remove();var P=I.selectAll(&quot;.&quot;+f.cn.axis).data(g,m);P.enter().append(&quot;g&quot;).classed(f.cn.axis,!0),P.each(function(t){var e=t.model.height/t.model.tickDistance,r=t.domainScale,n=r.domain();d.select(this).call(d.svg.axis().orient(&quot;left&quot;).tickSize(4).outerTickSize(2).ticks(e,t.tickFormat).tickValues(t.ordinal?n:null).tickFormat(t.ordinal?function(t){return t}:null).scale(r)),p.font(P.selectAll(&quot;text&quot;),t.model.tickFont)}),P.selectAll(&quot;.domain, .tick&gt;line&quot;).attr(&quot;fill&quot;,&quot;none&quot;).attr(&quot;stroke&quot;,&quot;black&quot;).attr(&quot;stroke-opacity&quot;,.25).attr(&quot;stroke-width&quot;,&quot;1px&quot;),P.selectAll(&quot;text&quot;).style(&quot;text-shadow&quot;,&quot;1px 1px 1px #fff, -1px -1px 1px #fff, 1px -1px 1px #fff, -1px 1px 1px #fff&quot;).style(&quot;cursor&quot;,&quot;default&quot;).style(&quot;user-select&quot;,&quot;none&quot;);var O=I.selectAll(&quot;.&quot;+f.cn.axisHeading).data(g,m);O.enter().append(&quot;g&quot;).classed(f.cn.axisHeading,!0);var F=O.selectAll(&quot;.&quot;+f.cn.axisTitle).data(g,m);F.enter().append(&quot;text&quot;).classed(f.cn.axisTitle,!0).attr(&quot;text-anchor&quot;,&quot;middle&quot;).style(&quot;cursor&quot;,&quot;ew-resize&quot;).style(&quot;user-select&quot;,&quot;none&quot;).style(&quot;pointer-events&quot;,&quot;auto&quot;),F.attr(&quot;transform&quot;,&quot;translate(0,&quot;+-f.axisTitleOffset+&quot;)&quot;).text(function(t){return t.label}).each(function(t){p.font(F,t.model.labelFont)});var R=I.selectAll(&quot;.&quot;+f.cn.axisExtent).data(g,m);R.enter().append(&quot;g&quot;).classed(f.cn.axisExtent,!0);var N=R.selectAll(&quot;.&quot;+f.cn.axisExtentTop).data(g,m);N.enter().append(&quot;g&quot;).classed(f.cn.axisExtentTop,!0),N.attr(&quot;transform&quot;,&quot;translate(0,&quot;+-f.axisExtentOffset+&quot;)&quot;);var j=N.selectAll(&quot;.&quot;+f.cn.axisExtentTopText).data(g,m);j.enter().append(&quot;text&quot;).classed(f.cn.axisExtentTopText,!0).call(c),j.text(function(t){return b(t)(t.domainScale.domain().slice(-1)[0])}).each(function(t){p.font(j,t.model.rangeFont)});var B=R.selectAll(&quot;.&quot;+f.cn.axisExtentBottom).data(g,m);B.enter().append(&quot;g&quot;).classed(f.cn.axisExtentBottom,!0),B.attr(&quot;transform&quot;,function(t){return&quot;translate(0,&quot;+(t.model.height+f.axisExtentOffset)+&quot;)&quot;});var U=B.selectAll(&quot;.&quot;+f.cn.axisExtentBottomText).data(g,m);U.enter().append(&quot;text&quot;).classed(f.cn.axisExtentBottomText,!0).attr(&quot;dy&quot;,&quot;0.75em&quot;).call(c),U.text(function(t){return b(t)(t.domainScale.domain()[0])}).each(function(t){p.font(U,t.model.rangeFont)});var V=I.selectAll(&quot;.&quot;+f.cn.axisBrush).data(g,m),q=V.enter().append(&quot;g&quot;).classed(f.cn.axisBrush,!0);V.each(function(t){t.brush||(t.brush=d.svg.brush().y(t.unitScale).on(&quot;brushstart&quot;,_).on(&quot;brush&quot;,w).on(&quot;brushend&quot;,M),0===t.filter[0]&amp;&amp;1===t.filter[1]||t.brush.extent(t.filter),d.select(this).call(t.brush))}),q.selectAll(&quot;rect&quot;).attr(&quot;x&quot;,-f.bar.capturewidth/2).attr(&quot;width&quot;,f.bar.capturewidth),q.selectAll(&quot;rect.extent&quot;).attr(&quot;fill&quot;,&quot;url(#&quot;+f.id.filterBarPattern+&quot;)&quot;).style(&quot;cursor&quot;,&quot;ns-resize&quot;).filter(function(t){return 0===t.filter[0]&amp;&amp;1===t.filter[1]}).attr(&quot;y&quot;,-100),q.selectAll(&quot;.resize rect&quot;).attr(&quot;height&quot;,f.bar.handleheight).attr(&quot;opacity&quot;,0).style(&quot;visibility&quot;,&quot;visible&quot;),q.selectAll(&quot;.resize.n rect&quot;).style(&quot;cursor&quot;,&quot;n-resize&quot;).attr(&quot;y&quot;,f.bar.handleoverlap-f.bar.handleheight),q.selectAll(&quot;.resize.s rect&quot;).style(&quot;cursor&quot;,&quot;s-resize&quot;).attr(&quot;y&quot;,f.bar.handleoverlap);var H=!1,G=!1;return E}},{&quot;../../components/drawing&quot;:643,&quot;../../lib&quot;:743,&quot;../../lib/gup&quot;:740,&quot;./constants&quot;:1035,&quot;./lines&quot;:1038,d3:128}],1040:[function(t,e,r){(function(r){&quot;use strict&quot;;var n=t(&quot;./parcoords&quot;),i=t(&quot;regl&quot;);e.exports=function(t,e){var a=t._fullLayout,o=a._toppaper,s=a._paperdiv,l=a._glcontainer;a._glcanvas.each(function(e){e.regl||(e.regl=i({canvas:this,attributes:{antialias:!e.pick,preserveDrawingBuffer:!0},pixelRatio:t._context.plotGlPixelRatio||r.devicePixelRatio}))});var c={},u={},f=a._size;e.forEach(function(e,r){c[r]=t.data[r].dimensions,u[r]=t.data[r].dimensions.slice()});n(s,o,l,e,{width:f.w,height:f.h,margin:{t:f.t,r:f.r,b:f.b,l:f.l}},{filterChanged:function(e,r,n){var i=u[e][r],a=i.constraintrange;a&amp;&amp;2===a.length||(a=i.constraintrange=[]),a[0]=n[0],a[1]=n[1],t.emit(&quot;plotly_restyle&quot;)},hover:function(e){t.emit(&quot;plotly_hover&quot;,e)},unhover:function(e){t.emit(&quot;plotly_unhover&quot;,e)},axesMoved:function(e,r){function n(t){return!(&quot;visible&quot;in t)||t.visible}function i(t,e,r){var n=e.indexOf(r),i=t.indexOf(n);return-1===i&amp;&amp;(i+=e.length),i}var a=function(t){return function(e,n){return i(r,t,e)-i(r,t,n)}}(u[e].filter(n));c[e].sort(a),u[e].filter(function(t){return!n(t)}).sort(function(t){return u[e].indexOf(t)}).forEach(function(t){c[e].splice(c[e].indexOf(t),1),c[e].splice(u[e].indexOf(t),0,t)}),t.emit(&quot;plotly_restyle&quot;)}})}}).call(this,&quot;undefined&quot;!=typeof global?global:&quot;undefined&quot;!=typeof self?self:&quot;undefined&quot;!=typeof window?window:{})},{&quot;./parcoords&quot;:1039,regl:506}],1041:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../components/color/attributes&quot;),i=t(&quot;../../plots/font_attributes&quot;),a=t(&quot;../../plots/attributes&quot;),o=t(&quot;../../plots/domain_attributes&quot;),s=t(&quot;../../lib/extend&quot;).extendFlat,l=i({editType:&quot;calc&quot;,colorEditType:&quot;style&quot;});e.exports={labels:{valType:&quot;data_array&quot;,editType:&quot;calc&quot;},label0:{valType:&quot;number&quot;,dflt:0,editType:&quot;calc&quot;},dlabel:{valType:&quot;number&quot;,dflt:1,editType:&quot;calc&quot;},values:{valType:&quot;data_array&quot;,editType:&quot;calc&quot;},marker:{colors:{valType:&quot;data_array&quot;,editType:&quot;calc&quot;},line:{color:{valType:&quot;color&quot;,dflt:n.defaultLine,arrayOk:!0,editType:&quot;style&quot;},width:{valType:&quot;number&quot;,min:0,dflt:0,arrayOk:!0,editType:&quot;style&quot;},editType:&quot;calc&quot;},editType:&quot;calc&quot;},text:{valType:&quot;data_array&quot;,editType:&quot;calc&quot;},hovertext:{valType:&quot;string&quot;,dflt:&quot;&quot;,arrayOk:!0,editType:&quot;style&quot;},scalegroup:{valType:&quot;string&quot;,dflt:&quot;&quot;,editType:&quot;calc&quot;},textinfo:{valType:&quot;flaglist&quot;,flags:[&quot;label&quot;,&quot;text&quot;,&quot;value&quot;,&quot;percent&quot;],extras:[&quot;none&quot;],editType:&quot;calc&quot;},hoverinfo:s({},a.hoverinfo,{flags:[&quot;label&quot;,&quot;text&quot;,&quot;value&quot;,&quot;percent&quot;,&quot;name&quot;]}),textposition:{valType:&quot;enumerated&quot;,values:[&quot;inside&quot;,&quot;outside&quot;,&quot;auto&quot;,&quot;none&quot;],dflt:&quot;auto&quot;,arrayOk:!0,editType:&quot;calc&quot;},textfont:s({},l,{}),insidetextfont:s({},l,{}),outsidetextfont:s({},l,{}),domain:o({name:&quot;pie&quot;,trace:!0,editType:&quot;calc&quot;}),hole:{valType:&quot;number&quot;,min:0,max:1,dflt:0,editType:&quot;calc&quot;},sort:{valType:&quot;boolean&quot;,dflt:!0,editType:&quot;calc&quot;},direction:{valType:&quot;enumerated&quot;,values:[&quot;clockwise&quot;,&quot;counterclockwise&quot;],dflt:&quot;counterclockwise&quot;,editType:&quot;calc&quot;},rotation:{valType:&quot;number&quot;,min:-360,max:360,dflt:0,editType:&quot;calc&quot;},pull:{valType:&quot;number&quot;,min:0,max:1,dflt:0,arrayOk:!0,editType:&quot;calc&quot;}}},{&quot;../../components/color/attributes&quot;:617,&quot;../../lib/extend&quot;:732,&quot;../../plots/attributes&quot;:787,&quot;../../plots/domain_attributes&quot;:815,&quot;../../plots/font_attributes&quot;:816}],1042:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../registry&quot;);r.name=&quot;pie&quot;,r.plot=function(t){var e=n.getModule(&quot;pie&quot;),r=function(t,e){for(var r=[],n=0;n&lt;t.length;n++){var i=t[n],a=i[0].trace;a._module===e&amp;&amp;!0===a.visible&amp;&amp;r.push(i)}return r}(t.calcdata,e);r.length&amp;&amp;e.plot(t,r)},r.clean=function(t,e,r,n){var i=n._has&amp;&amp;n._has(&quot;pie&quot;),a=e._has&amp;&amp;e._has(&quot;pie&quot;);i&amp;&amp;!a&amp;&amp;n._pielayer.selectAll(&quot;g.trace&quot;).remove()}},{&quot;../../registry&quot;:873}],1043:[function(t,e,r){&quot;use strict&quot;;function n(t){var e,r=t.slice();for(e=0;e&lt;t.length;e++)r.push(a(t[e]).lighten(20).toHexString());for(e=0;e&lt;t.length;e++)r.push(a(t[e]).darken(20).toHexString());return r}var i=t(&quot;fast-isnumeric&quot;),a=t(&quot;tinycolor2&quot;),o=t(&quot;../../components/color&quot;),s=t(&quot;./helpers&quot;);e.exports=function(t,e){function r(t,e){return!!t&amp;&amp;(!!(t=a(t)).isValid()&amp;&amp;(t=o.addOpacity(t,t.getAlpha()),_[e]||(_[e]=t),t))}var c,u,f,h,d,p=e.values,m=Array.isArray(p)&amp;&amp;p.length,g=e.labels,v=e.marker.colors,y=[],x=t._fullLayout,b=x.colorway,_=x._piecolormap,w={},M=0,k=x.hiddenlabels||[];if(x._piecolorway||b===o.defaults||(x._piecolorway=n(b)),e.dlabel)for(g=new Array(p.length),c=0;c&lt;p.length;c++)g[c]=String(e.label0+c*e.dlabel);var A=(m?p:g).length;for(c=0;c&lt;A;c++){if(m){if(u=p[c],!i(u))continue;if((u=+u)&lt;0)continue}else u=1;void 0!==(f=g[c])&amp;&amp;&quot;&quot;!==f||(f=c);var T=w[f=String(f)];void 0===T?(w[f]=y.length,(h=-1!==k.indexOf(f))||(M+=u),y.push({v:u,label:f,color:r(v[c]),i:c,pts:[c],hidden:h})):((d=y[T]).v+=u,d.pts.push(c),d.hidden||(M+=u),!1===d.color&amp;&amp;v[c]&amp;&amp;(d.color=r(v[c],f)))}for(e.sort&amp;&amp;y.sort(function(t,e){return e.v-t.v}),c=0;c&lt;y.length;c++)!1===(d=y[c]).color&amp;&amp;(_[d.label]?d.color=_[d.label]:(_[d.label]=d.color=function(t,e){if(!l){var r=o.defaults;l=n(r)}var i=e||l;return i[t%i.length]}(x._piedefaultcolorcount,x._piecolorway),x._piedefaultcolorcount++));if(y[0]&amp;&amp;(y[0].vTotal=M),e.textinfo&amp;&amp;&quot;none&quot;!==e.textinfo){var S,E=-1!==e.textinfo.indexOf(&quot;label&quot;),L=-1!==e.textinfo.indexOf(&quot;text&quot;),C=-1!==e.textinfo.indexOf(&quot;value&quot;),z=-1!==e.textinfo.indexOf(&quot;percent&quot;),D=x.separators;for(c=0;c&lt;y.length;c++){if(d=y[c],S=E?[d.label]:[],L){var I=s.getFirstFilled(e.text,d.pts);I&amp;&amp;S.push(I)}C&amp;&amp;S.push(s.formatPieValue(d.v,D)),z&amp;&amp;S.push(s.formatPiePercent(d.v/M,D)),d.text=S.join(&quot;&lt;br&gt;&quot;)}}return y};var l},{&quot;../../components/color&quot;:618,&quot;./helpers&quot;:1046,&quot;fast-isnumeric&quot;:140,tinycolor2:546}],1044:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib&quot;),i=t(&quot;./attributes&quot;);e.exports=function(t,e,r,a){function o(r,a){return n.coerce(t,e,i,r,a)}var s=n.coerceFont,l=o(&quot;values&quot;),c=o(&quot;labels&quot;);if(!Array.isArray(c)){if(!Array.isArray(l)||!l.length)return void(e.visible=!1);o(&quot;label0&quot;),o(&quot;dlabel&quot;)}o(&quot;marker.line.width&quot;)&amp;&amp;o(&quot;marker.line.color&quot;);var u=o(&quot;marker.colors&quot;);Array.isArray(u)||(e.marker.colors=[]),o(&quot;scalegroup&quot;);var f=o(&quot;text&quot;),h=o(&quot;textinfo&quot;,Array.isArray(f)?&quot;text+percent&quot;:&quot;percent&quot;);if(o(&quot;hovertext&quot;),h&amp;&amp;&quot;none&quot;!==h){var d=o(&quot;textposition&quot;),p=Array.isArray(d)||&quot;auto&quot;===d,m=p||&quot;inside&quot;===d,g=p||&quot;outside&quot;===d;if(m||g){var v=s(o,&quot;textfont&quot;,a.font);m&amp;&amp;s(o,&quot;insidetextfont&quot;,v),g&amp;&amp;s(o,&quot;outsidetextfont&quot;,v)}}o(&quot;domain.x&quot;),o(&quot;domain.y&quot;),o(&quot;hole&quot;),o(&quot;sort&quot;),o(&quot;direction&quot;),o(&quot;rotation&quot;),o(&quot;pull&quot;)}},{&quot;../../lib&quot;:743,&quot;./attributes&quot;:1041}],1045:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../components/fx/helpers&quot;).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,v:t.v};return 1===t.pts.length&amp;&amp;(r.pointNumber=r.i=t.pts[0]),n(r,e,t.pts),r}},{&quot;../../components/fx/helpers&quot;:657}],1046:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib&quot;);r.formatPiePercent=function(t,e){var r=(100*t).toPrecision(3);return-1!==r.lastIndexOf(&quot;.&quot;)&amp;&amp;(r=r.replace(/[.]?0+$/,&quot;&quot;)),n.numSeparate(r,e)+&quot;%&quot;},r.formatPieValue=function(t,e){var r=t.toPrecision(10);return-1!==r.lastIndexOf(&quot;.&quot;)&amp;&amp;(r=r.replace(/[.]?0+$/,&quot;&quot;)),n.numSeparate(r,e)},r.getFirstFilled=function(t,e){if(Array.isArray(t))for(var r=0;r&lt;e.length;r++){var n=t[e[r]];if(n||0===n)return n}},r.castOption=function(t,e){return Array.isArray(t)?r.getFirstFilled(t,e):t||void 0}},{&quot;../../lib&quot;:743}],1047:[function(t,e,r){&quot;use strict&quot;;var n={};n.attributes=t(&quot;./attributes&quot;),n.supplyDefaults=t(&quot;./defaults&quot;),n.supplyLayoutDefaults=t(&quot;./layout_defaults&quot;),n.layoutAttributes=t(&quot;./layout_attributes&quot;),n.calc=t(&quot;./calc&quot;),n.plot=t(&quot;./plot&quot;),n.style=t(&quot;./style&quot;),n.styleOne=t(&quot;./style_one&quot;),n.moduleType=&quot;trace&quot;,n.name=&quot;pie&quot;,n.basePlotModule=t(&quot;./base_plot&quot;),n.categories=[&quot;pie&quot;,&quot;showLegend&quot;],n.meta={},e.exports=n},{&quot;./attributes&quot;:1041,&quot;./base_plot&quot;:1042,&quot;./calc&quot;:1043,&quot;./defaults&quot;:1044,&quot;./layout_attributes&quot;:1048,&quot;./layout_defaults&quot;:1049,&quot;./plot&quot;:1050,&quot;./style&quot;:1051,&quot;./style_one&quot;:1052}],1048:[function(t,e,r){&quot;use strict&quot;;e.exports={hiddenlabels:{valType:&quot;data_array&quot;,editType:&quot;calc&quot;}}},{}],1049:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib&quot;),i=t(&quot;./layout_attributes&quot;);e.exports=function(t,e){!function(r,a){n.coerce(t,e,i,r,a)}(&quot;hiddenlabels&quot;)}},{&quot;../../lib&quot;:743,&quot;./layout_attributes&quot;:1048}],1050:[function(t,e,r){&quot;use strict&quot;;function n(t,e){if(t.v===e.vTotal&amp;&amp;!e.trace.hole)return 1;var r=Math.PI*Math.min(t.v/e.vTotal,.5);return Math.min(1/(1+1/Math.sin(r)),(1-e.trace.hole)/2)}function i(t,e){var r=e.pxmid[0],n=e.pxmid[1],i=t.width/2,a=t.height/2;return r&lt;0&amp;&amp;(i*=-1),n&lt;0&amp;&amp;(a*=-1),{scale:1,rCenter:1,rotate:0,x:i+Math.abs(a)*(i&gt;0?1:-1)/2,y:a/(1+r*r/(n*n)),outside:!0}}var a=t(&quot;d3&quot;),o=t(&quot;../../components/fx&quot;),s=t(&quot;../../components/color&quot;),l=t(&quot;../../components/drawing&quot;),c=t(&quot;../../lib/svg_text_utils&quot;),u=t(&quot;./helpers&quot;),f=t(&quot;./event_data&quot;);e.exports=function(t,e){var r=t._fullLayout;!function(t,e){var r,n,i,a,o,s,l,c,u,f=[];for(i=0;i&lt;t.length;i++){if(o=t[i][0],s=o.trace,r=e.w*(s.domain.x[1]-s.domain.x[0]),n=e.h*(s.domain.y[1]-s.domain.y[0]),l=s.pull,Array.isArray(l))for(l=0,a=0;a&lt;s.pull.length;a++)s.pull[a]&gt;l&amp;&amp;(l=s.pull[a]);o.r=Math.min(r,n)/(2+2*l),o.cx=e.l+e.w*(s.domain.x[1]+s.domain.x[0])/2,o.cy=e.t+e.h*(2-s.domain.y[1]-s.domain.y[0])/2,s.scalegroup&amp;&amp;-1===f.indexOf(s.scalegroup)&amp;&amp;f.push(s.scalegroup)}for(a=0;a&lt;f.length;a++){for(u=1/0,c=f[a],i=0;i&lt;t.length;i++)(o=t[i][0]).trace.scalegroup===c&amp;&amp;(u=Math.min(u,o.r*o.r/o.vTotal));for(i=0;i&lt;t.length;i++)(o=t[i][0]).trace.scalegroup===c&amp;&amp;(o.r=Math.sqrt(u*o.vTotal))}}(e,r._size);var h=r._pielayer.selectAll(&quot;g.trace&quot;).data(e);h.enter().append(&quot;g&quot;).attr({&quot;stroke-linejoin&quot;:&quot;round&quot;,class:&quot;trace&quot;}),h.exit().remove(),h.order(),h.each(function(e){var h=a.select(this),d=e[0],p=d.trace;!function(t){function e(t){return[a.r*Math.sin(t),-a.r*Math.cos(t)]}var r,n,i,a=t[0],o=a.trace,s=o.rotation*Math.PI/180,l=2*Math.PI/a.vTotal,c=&quot;px0&quot;,u=&quot;px1&quot;;if(&quot;counterclockwise&quot;===o.direction){for(r=0;r&lt;t.length&amp;&amp;t[r].hidden;r++);if(r===t.length)return;s+=l*t[r].v,l*=-1,c=&quot;px1&quot;,u=&quot;px0&quot;}for(i=e(s),r=0;r&lt;t.length;r++)(n=t[r]).hidden||(n[c]=i,s+=l*n.v/2,n.pxmid=e(s),n.midangle=s,i=e(s+=l*n.v/2),n[u]=i,n.largeArc=n.v&gt;a.vTotal/2?1:0)}(e),h.each(function(){var h=a.select(this).selectAll(&quot;g.slice&quot;).data(e);h.enter().append(&quot;g&quot;).classed(&quot;slice&quot;,!0),h.exit().remove();var m=[[[],[]],[[],[]]],g=!1;h.each(function(e){function s(t,r,n,i){return&quot;a&quot;+i*d.r+&quot;,&quot;+i*d.r+&quot; 0 &quot;+e.largeArc+(n?&quot; 1 &quot;:&quot; 0 &quot;)+i*(r[0]-t[0])+&quot;,&quot;+i*(r[1]-t[1])}if(e.hidden)a.select(this).selectAll(&quot;path,g&quot;).remove();else{e.pointNumber=e.i,e.curveNumber=p.index,m[e.pxmid[1]&lt;0?0:1][e.pxmid[0]&lt;0?0:1].push(e);var h=d.cx,v=d.cy,y=a.select(this),x=y.selectAll(&quot;path.surface&quot;).data([e]),b=!1,_=!1;if(x.enter().append(&quot;path&quot;).classed(&quot;surface&quot;,!0).style({&quot;pointer-events&quot;:&quot;all&quot;}),y.select(&quot;path.textline&quot;).remove(),y.on(&quot;mouseover&quot;,function(){var i=t._fullLayout,s=t._fullData[p.index];if(!t._dragging&amp;&amp;!1!==i.hovermode){var l=s.hoverinfo;if(Array.isArray(l)&amp;&amp;(l=o.castHoverinfo({hoverinfo:[u.castOption(l,e.pts)],_module:p._module},i,0)),&quot;all&quot;===l&amp;&amp;(l=&quot;label+text+value+percent+name&quot;),&quot;none&quot;!==l&amp;&amp;&quot;skip&quot;!==l&amp;&amp;l){var c=n(e,d),m=h+e.pxmid[0]*(1-c),g=v+e.pxmid[1]*(1-c),y=r.separators,x=[];if(-1!==l.indexOf(&quot;label&quot;)&amp;&amp;x.push(e.label),-1!==l.indexOf(&quot;text&quot;)){var w=u.castOption(s.hovertext||s.text,e.pts);w&amp;&amp;x.push(w)}-1!==l.indexOf(&quot;value&quot;)&amp;&amp;x.push(u.formatPieValue(e.v,y)),-1!==l.indexOf(&quot;percent&quot;)&amp;&amp;x.push(u.formatPiePercent(e.v/d.vTotal,y));var M=p.hoverlabel,k=M.font;o.loneHover({x0:m-c*d.r,x1:m+c*d.r,y:g,text:x.join(&quot;&lt;br&gt;&quot;),name:-1!==l.indexOf(&quot;name&quot;)?s.name:void 0,idealAlign:e.pxmid[0]&lt;0?&quot;left&quot;:&quot;right&quot;,color:u.castOption(M.bgcolor,e.pts)||e.color,borderColor:u.castOption(M.bordercolor,e.pts),fontFamily:u.castOption(k.family,e.pts),fontSize:u.castOption(k.size,e.pts),fontColor:u.castOption(k.color,e.pts)},{container:i._hoverlayer.node(),outerContainer:i._paper.node(),gd:t}),b=!0}t.emit(&quot;plotly_hover&quot;,{points:[f(e,s)],event:a.event}),_=!0}}).on(&quot;mouseout&quot;,function(r){var n=t._fullLayout,i=t._fullData[p.index];_&amp;&amp;(r.originalEvent=a.event,t.emit(&quot;plotly_unhover&quot;,{points:[f(e,i)],event:a.event}),_=!1),b&amp;&amp;(o.loneUnhover(n._hoverlayer.node()),b=!1)}).on(&quot;click&quot;,function(){var r=t._fullLayout,n=t._fullData[p.index];t._dragging||!1===r.hovermode||(t._hoverdata=[f(e,n)],o.click(t,a.event))}),p.pull){var w=+u.castOption(p.pull,e.pts)||0;w&gt;0&amp;&amp;(h+=w*e.pxmid[0],v+=w*e.pxmid[1])}e.cxFinal=h,e.cyFinal=v;var M=p.hole;if(e.v===d.vTotal){var k=&quot;M&quot;+(h+e.px0[0])+&quot;,&quot;+(v+e.px0[1])+s(e.px0,e.pxmid,!0,1)+s(e.pxmid,e.px0,!0,1)+&quot;Z&quot;;M?x.attr(&quot;d&quot;,&quot;M&quot;+(h+M*e.px0[0])+&quot;,&quot;+(v+M*e.px0[1])+s(e.px0,e.pxmid,!1,M)+s(e.pxmid,e.px0,!1,M)+&quot;Z&quot;+k):x.attr(&quot;d&quot;,k)}else{var A=s(e.px0,e.px1,!0,1);if(M){var T=1-M;x.attr(&quot;d&quot;,&quot;M&quot;+(h+M*e.px1[0])+&quot;,&quot;+(v+M*e.px1[1])+s(e.px1,e.px0,!1,M)+&quot;l&quot;+T*e.px0[0]+&quot;,&quot;+T*e.px0[1]+A+&quot;Z&quot;)}else x.attr(&quot;d&quot;,&quot;M&quot;+h+&quot;,&quot;+v+&quot;l&quot;+e.px0[0]+&quot;,&quot;+e.px0[1]+A+&quot;Z&quot;)}var S=u.castOption(p.textposition,e.pts),E=y.selectAll(&quot;g.slicetext&quot;).data(e.text&amp;&amp;&quot;none&quot;!==S?[0]:[]);E.enter().append(&quot;g&quot;).classed(&quot;slicetext&quot;,!0),E.exit().remove(),E.each(function(){var r=a.select(this).selectAll(&quot;text&quot;).data([0]);r.enter().append(&quot;text&quot;).attr(&quot;data-notex&quot;,1),r.exit().remove(),r.text(e.text).attr({class:&quot;slicetext&quot;,transform:&quot;&quot;,&quot;text-anchor&quot;:&quot;middle&quot;}).call(l.font,&quot;outside&quot;===S?p.outsidetextfont:p.insidetextfont).call(c.convertToTspans,t);var o,s=l.bBox(r.node());&quot;outside&quot;===S?o=i(s,e):(o=function(t,e,r){var i=Math.sqrt(t.width*t.width+t.height*t.height),a=t.width/t.height,o=Math.PI*Math.min(e.v/r.vTotal,.5),s=1-r.trace.hole,l=n(e,r),c={scale:l*r.r*2/i,rCenter:1-l,rotate:0};if(c.scale&gt;=1)return c;var u=a+1/(2*Math.tan(o)),f=r.r*Math.min(1/(Math.sqrt(u*u+.5)+u),s/(Math.sqrt(a*a+s/2)+a)),h={scale:2*f/t.height,rCenter:Math.cos(f/r.r)-f*a/r.r,rotate:(180/Math.PI*e.midangle+720)%180-90},d=1/a,p=d+1/(2*Math.tan(o)),m=r.r*Math.min(1/(Math.sqrt(p*p+.5)+p),s/(Math.sqrt(d*d+s/2)+d)),g={scale:2*m/t.width,rCenter:Math.cos(m/r.r)-m/a/r.r,rotate:(180/Math.PI*e.midangle+810)%180-90},v=g.scale&gt;h.scale?g:h;return c.scale&lt;1&amp;&amp;v.scale&gt;c.scale?v:c}(s,e,d),&quot;auto&quot;===S&amp;&amp;o.scale&lt;1&amp;&amp;(r.call(l.font,p.outsidetextfont),p.outsidetextfont.family===p.insidetextfont.family&amp;&amp;p.outsidetextfont.size===p.insidetextfont.size||(s=l.bBox(r.node())),o=i(s,e)));var u=h+e.pxmid[0]*o.rCenter+(o.x||0),f=v+e.pxmid[1]*o.rCenter+(o.y||0);o.outside&amp;&amp;(e.yLabelMin=f-s.height/2,e.yLabelMid=f,e.yLabelMax=f+s.height/2,e.labelExtraX=0,e.labelExtraY=0,g=!0),r.attr(&quot;transform&quot;,&quot;translate(&quot;+u+&quot;,&quot;+f+&quot;)&quot;+(o.scale&lt;1?&quot;scale(&quot;+o.scale+&quot;)&quot;:&quot;&quot;)+(o.rotate?&quot;rotate(&quot;+o.rotate+&quot;)&quot;:&quot;&quot;)+&quot;translate(&quot;+-(s.left+s.right)/2+&quot;,&quot;+-(s.top+s.bottom)/2+&quot;)&quot;)})}}),g&amp;&amp;function(t,e){function r(t,e){return t.pxmid[1]-e.pxmid[1]}function n(t,e){return e.pxmid[1]-t.pxmid[1]}function i(t,r){r||(r={});var n,i,a,s,d=r.labelExtraY+(o?r.yLabelMax:r.yLabelMin),p=o?t.yLabelMin:t.yLabelMax,g=o?t.yLabelMax:t.yLabelMin,v=t.cyFinal+c(t.px0[1],t.px1[1]),y=d-p;if(y*h&gt;0&amp;&amp;(t.labelExtraY=y),Array.isArray(e.pull))for(i=0;i&lt;m.length;i++)(a=m[i])===t||(u.castOption(e.pull,t.pts)||0)&gt;=(u.castOption(e.pull,a.pts)||0)||((t.pxmid[1]-a.pxmid[1])*h&gt;0?(y=a.cyFinal+c(a.px0[1],a.px1[1])-p-t.labelExtraY)*h&gt;0&amp;&amp;(t.labelExtraY+=y):(g+t.labelExtraY-v)*h&gt;0&amp;&amp;(n=3*f*Math.abs(i-m.indexOf(t)),(s=a.cxFinal+l(a.px0[0],a.px1[0])+n-(t.cxFinal+t.pxmid[0])-t.labelExtraX)*f&gt;0&amp;&amp;(t.labelExtraX+=s)))}var a,o,s,l,c,f,h,d,p,m,g,v,y;for(o=0;o&lt;2;o++)for(s=o?r:n,c=o?Math.max:Math.min,h=o?1:-1,a=0;a&lt;2;a++){for(l=a?Math.max:Math.min,f=a?1:-1,(d=t[o][a]).sort(s),p=t[1-o][a],m=p.concat(d),v=[],g=0;g&lt;d.length;g++)void 0!==d[g].yLabelMid&amp;&amp;v.push(d[g]);for(y=!1,g=0;o&amp;&amp;g&lt;p.length;g++)if(void 0!==p[g].yLabelMid){y=p[g];break}for(g=0;g&lt;v.length;g++){var x=g&amp;&amp;v[g-1];y&amp;&amp;!g&amp;&amp;(x=y),i(v[g],x)}}}(m,p),h.each(function(t){if(t.labelExtraX||t.labelExtraY){var e=a.select(this),r=e.select(&quot;g.slicetext text&quot;);r.attr(&quot;transform&quot;,&quot;translate(&quot;+t.labelExtraX+&quot;,&quot;+t.labelExtraY+&quot;)&quot;+r.attr(&quot;transform&quot;));var n=t.cxFinal+t.pxmid[0],i=&quot;M&quot;+n+&quot;,&quot;+(t.cyFinal+t.pxmid[1]),o=(t.yLabelMax-t.yLabelMin)*(t.pxmid[0]&lt;0?-1:1)/4;if(t.labelExtraX){var l=t.labelExtraX*t.pxmid[1]/t.pxmid[0],c=t.yLabelMid+t.labelExtraY-(t.cyFinal+t.pxmid[1]);Math.abs(l)&gt;Math.abs(c)?i+=&quot;l&quot;+c*t.pxmid[0]/t.pxmid[1]+&quot;,&quot;+c+&quot;H&quot;+(n+t.labelExtraX+o):i+=&quot;l&quot;+t.labelExtraX+&quot;,&quot;+l+&quot;v&quot;+(c-l)+&quot;h&quot;+o}else i+=&quot;V&quot;+(t.yLabelMid+t.labelExtraY)+&quot;h&quot;+o;e.append(&quot;path&quot;).classed(&quot;textline&quot;,!0).call(s.stroke,p.outsidetextfont.color).attr({&quot;stroke-width&quot;:Math.min(2,p.outsidetextfont.size/8),d:i,fill:&quot;none&quot;})}})})}),setTimeout(function(){h.selectAll(&quot;tspan&quot;).each(function(){var t=a.select(this);t.attr(&quot;dy&quot;)&amp;&amp;t.attr(&quot;dy&quot;,t.attr(&quot;dy&quot;))})},0)}},{&quot;../../components/color&quot;:618,&quot;../../components/drawing&quot;:643,&quot;../../components/fx&quot;:660,&quot;../../lib/svg_text_utils&quot;:766,&quot;./event_data&quot;:1045,&quot;./helpers&quot;:1046,d3:128}],1051:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;d3&quot;),i=t(&quot;./style_one&quot;);e.exports=function(t){t._fullLayout._pielayer.selectAll(&quot;.trace&quot;).each(function(t){var e=t[0].trace,r=n.select(this);r.style({opacity:e.opacity}),r.selectAll(&quot;path.surface&quot;).each(function(t){n.select(this).call(i,t,e)})})}},{&quot;./style_one&quot;:1052,d3:128}],1052:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../components/color&quot;),i=t(&quot;./helpers&quot;).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({&quot;stroke-width&quot;:s}).call(n.fill,e.color).call(n.stroke,o)}},{&quot;../../components/color&quot;:618,&quot;./helpers&quot;:1046}],1053:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../scatter/attributes&quot;);e.exports={x:n.x,y:n.y,xy:{valType:&quot;data_array&quot;,editType:&quot;calc&quot;},indices:{valType:&quot;data_array&quot;,editType:&quot;calc&quot;},xbounds:{valType:&quot;data_array&quot;,editType:&quot;calc&quot;},ybounds:{valType:&quot;data_array&quot;,editType:&quot;calc&quot;},text:n.text,marker:{color:{valType:&quot;color&quot;,arrayOk:!1,editType:&quot;calc&quot;},opacity:{valType:&quot;number&quot;,min:0,max:1,dflt:1,arrayOk:!1,editType:&quot;calc&quot;},blend:{valType:&quot;boolean&quot;,dflt:null,editType:&quot;calc&quot;},sizemin:{valType:&quot;number&quot;,min:.1,max:2,dflt:.5,editType:&quot;calc&quot;},sizemax:{valType:&quot;number&quot;,min:.1,dflt:20,editType:&quot;calc&quot;},border:{color:{valType:&quot;color&quot;,arrayOk:!1,editType:&quot;calc&quot;},arearatio:{valType:&quot;number&quot;,min:0,max:1,dflt:0,editType:&quot;calc&quot;},editType:&quot;calc&quot;},editType:&quot;calc&quot;}}},{&quot;../scatter/attributes&quot;:1066}],1054:[function(t,e,r){&quot;use strict&quot;;function n(t,e){this.scene=t,this.uid=e,this.type=&quot;pointcloud&quot;,this.pickXData=[],this.pickYData=[],this.xData=[],this.yData=[],this.textLabels=[],this.color=&quot;rgb(0, 0, 0)&quot;,this.name=&quot;&quot;,this.hoverinfo=&quot;all&quot;,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=i(t.glplot,this.pointcloudOptions),this.pointcloud._trace=this}var i=t(&quot;gl-pointcloud2d&quot;),a=t(&quot;../../lib/str2rgbarray&quot;),o=t(&quot;../scatter/get_trace_color&quot;),s=[&quot;xaxis&quot;,&quot;yaxis&quot;],l=n.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,i,o,s,l=this.xData=this.pickXData=t.x,c=this.yData=this.pickYData=t.y,u=this.pickXYData=t.xy,f=t.xbounds&amp;&amp;t.ybounds,h=t.indices,d=this.bounds;if(u){if(n=u,e=u.length&gt;&gt;&gt;1,f)d[0]=t.xbounds[0],d[2]=t.xbounds[1],d[1]=t.ybounds[0],d[3]=t.ybounds[1];else for(s=0;s&lt;e;s++)i=n[2*s],o=n[2*s+1],i&lt;d[0]&amp;&amp;(d[0]=i),i&gt;d[2]&amp;&amp;(d[2]=i),o&lt;d[1]&amp;&amp;(d[1]=o),o&gt;d[3]&amp;&amp;(d[3]=o);if(h)r=h;else for(r=new Int32Array(e),s=0;s&lt;e;s++)r[s]=s}else for(e=l.length,n=new Float32Array(2*e),r=new Int32Array(e),s=0;s&lt;e;s++)i=l[s],o=c[s],r[s]=s,n[2*s]=i,n[2*s+1]=o,i&lt;d[0]&amp;&amp;(d[0]=i),i&gt;d[2]&amp;&amp;(d[2]=i),o&lt;d[1]&amp;&amp;(d[1]=o),o&gt;d[3]&amp;&amp;(d[3]=o);this.idToIndex=r,this.pointcloudOptions.idToIndex=r,this.pointcloudOptions.positions=n;var p=a(t.marker.color),m=a(t.marker.border.color),g=t.opacity*t.marker.opacity;p[3]*=g,this.pointcloudOptions.color=p;var v=t.marker.blend;if(null===v){v=l.length&lt;100||c.length&lt;100}this.pointcloudOptions.blend=v,m[3]*=g,this.pointcloudOptions.borderColor=m;var y=t.marker.sizemin,x=Math.max(t.marker.sizemax,t.marker.sizemin);this.pointcloudOptions.sizeMin=y,this.pointcloudOptions.sizeMax=x,this.pointcloudOptions.areaRatio=t.marker.border.arearatio,this.pointcloud.update(this.pointcloudOptions),this.expandAxesFast(d,x/2)},l.expandAxesFast=function(t,e){for(var r,n,i,a=e||.5,o=0;o&lt;2;o++)(n=(r=this.scene[s[o]])._min)||(n=[]),n.push({val:t[o],pad:a}),(i=r._max)||(i=[]),i.push({val:t[o+2],pad:a})},l.dispose=function(){this.pointcloud.dispose()},e.exports=function(t,e){var r=new n(t,e.uid);return r.update(e),r}},{&quot;../../lib/str2rgbarray&quot;:765,&quot;../scatter/get_trace_color&quot;:1076,&quot;gl-pointcloud2d&quot;:235}],1055:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib&quot;),i=t(&quot;./attributes&quot;);e.exports=function(t,e,r){function a(r,a){return n.coerce(t,e,i,r,a)}a(&quot;x&quot;),a(&quot;y&quot;),a(&quot;xbounds&quot;),a(&quot;ybounds&quot;),t.xy&amp;&amp;t.xy instanceof Float32Array&amp;&amp;(e.xy=t.xy),t.indices&amp;&amp;t.indices instanceof Int32Array&amp;&amp;(e.indices=t.indices),a(&quot;text&quot;),a(&quot;marker.color&quot;,r),a(&quot;marker.opacity&quot;),a(&quot;marker.blend&quot;),a(&quot;marker.sizemin&quot;),a(&quot;marker.sizemax&quot;),a(&quot;marker.border.color&quot;,r),a(&quot;marker.border.arearatio&quot;)}},{&quot;../../lib&quot;:743,&quot;./attributes&quot;:1053}],1056:[function(t,e,r){&quot;use strict&quot;;var n={};n.attributes=t(&quot;./attributes&quot;),n.supplyDefaults=t(&quot;./defaults&quot;),n.calc=t(&quot;../scatter3d/calc&quot;),n.plot=t(&quot;./convert&quot;),n.moduleType=&quot;trace&quot;,n.name=&quot;pointcloud&quot;,n.basePlotModule=t(&quot;../../plots/gl2d&quot;),n.categories=[&quot;gl&quot;,&quot;gl2d&quot;,&quot;showLegend&quot;],n.meta={},e.exports=n},{&quot;../../plots/gl2d&quot;:829,&quot;../scatter3d/calc&quot;:1092,&quot;./attributes&quot;:1053,&quot;./convert&quot;:1054,&quot;./defaults&quot;:1055}],1057:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../plots/font_attributes&quot;),i=t(&quot;../../plots/attributes&quot;),a=t(&quot;../../components/color/attributes&quot;),o=t(&quot;../../components/fx/attributes&quot;),s=t(&quot;../../plots/domain_attributes&quot;),l=t(&quot;../../lib/extend&quot;).extendFlat,c=t(&quot;../../plot_api/edit_types&quot;).overrideAll;e.exports=c({hoverinfo:l({},i.hoverinfo,{flags:[&quot;label&quot;,&quot;text&quot;,&quot;value&quot;,&quot;percent&quot;,&quot;name&quot;]}),hoverlabel:o.hoverlabel,domain:s({name:&quot;sankey&quot;,trace:!0}),orientation:{valType:&quot;enumerated&quot;,values:[&quot;v&quot;,&quot;h&quot;],dflt:&quot;h&quot;},valueformat:{valType:&quot;string&quot;,dflt:&quot;.3s&quot;},valuesuffix:{valType:&quot;string&quot;,dflt:&quot;&quot;},arrangement:{valType:&quot;enumerated&quot;,values:[&quot;snap&quot;,&quot;perpendicular&quot;,&quot;freeform&quot;,&quot;fixed&quot;],dflt:&quot;snap&quot;},textfont:n({}),node:{label:{valType:&quot;data_array&quot;,dflt:[]},color:{valType:&quot;color&quot;,arrayOk:!0},line:{color:{valType:&quot;color&quot;,dflt:a.defaultLine,arrayOk:!0},width:{valType:&quot;number&quot;,min:0,dflt:.5,arrayOk:!0}},pad:{valType:&quot;number&quot;,arrayOk:!1,min:0,dflt:20},thickness:{valType:&quot;number&quot;,arrayOk:!1,min:1,dflt:20}},link:{label:{valType:&quot;data_array&quot;,dflt:[]},color:{valType:&quot;color&quot;,arrayOk:!0},line:{color:{valType:&quot;color&quot;,dflt:a.defaultLine,arrayOk:!0},width:{valType:&quot;number&quot;,min:0,dflt:0,arrayOk:!0}},source:{valType:&quot;data_array&quot;,dflt:[]},target:{valType:&quot;data_array&quot;,dflt:[]},value:{valType:&quot;data_array&quot;,dflt:[]}}},&quot;calc&quot;,&quot;nested&quot;)},{&quot;../../components/color/attributes&quot;:617,&quot;../../components/fx/attributes&quot;:652,&quot;../../lib/extend&quot;:732,&quot;../../plot_api/edit_types&quot;:773,&quot;../../plots/attributes&quot;:787,&quot;../../plots/domain_attributes&quot;:815,&quot;../../plots/font_attributes&quot;:816}],1058:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../plot_api/edit_types&quot;).overrideAll,i=t(&quot;../../plots/get_data&quot;).getModuleCalcData,a=t(&quot;./plot&quot;),o=t(&quot;../../components/fx/layout_attributes&quot;);r.name=&quot;sankey&quot;,r.baseLayoutAttrOverrides=n({hoverlabel:o.hoverlabel},&quot;plot&quot;,&quot;nested&quot;),r.plot=function(t){var e=i(t.calcdata,&quot;sankey&quot;);a(t,e)},r.clean=function(t,e,r,n){var i=n._has&amp;&amp;n._has(&quot;sankey&quot;),a=e._has&amp;&amp;e._has(&quot;sankey&quot;);i&amp;&amp;!a&amp;&amp;n._paperdiv.selectAll(&quot;.sankey&quot;).remove()}},{&quot;../../components/fx/layout_attributes&quot;:661,&quot;../../plot_api/edit_types&quot;:773,&quot;../../plots/get_data&quot;:826,&quot;./plot&quot;:1063}],1059:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;strongly-connected-components&quot;),i=t(&quot;../../lib&quot;),a=t(&quot;../../lib/gup&quot;).wrap;e.exports=function(t,e){return function(t,e,r){for(var i=t.map(function(){return[]}),a=0;a&lt;Math.min(e.length,r.length);a++){if(e[a]===r[a])return!0;i[e[a]].push(r[a])}return n(i).components.some(function(t){return t.length&gt;1})}(e.node.label,e.link.source,e.link.target)&amp;&amp;(i.error(&quot;Circularity is present in the Sankey data. Removing all nodes and links.&quot;),e.link.label=[],e.link.source=[],e.link.target=[],e.link.value=[],e.link.color=[],e.node.label=[],e.node.color=[]),a({link:e.link,node:e.node})}},{&quot;../../lib&quot;:743,&quot;../../lib/gup&quot;:740,&quot;strongly-connected-components&quot;:537}],1060:[function(t,e,r){&quot;use strict&quot;;e.exports={nodeTextOffsetHorizontal:4,nodeTextOffsetVertical:3,nodePadAcross:10,sankeyIterations:50,forceIterations:5,forceTicksPerFrame:10,duration:500,ease:&quot;cubic-in-out&quot;,cn:{sankey:&quot;sankey&quot;,sankeyLinks:&quot;sankey-links&quot;,sankeyLink:&quot;sankey-link&quot;,sankeyNodeSet:&quot;sankey-node-set&quot;,sankeyNode:&quot;sankey-node&quot;,nodeRect:&quot;node-rect&quot;,nodeCapture:&quot;node-capture&quot;,nodeCentered:&quot;node-entered&quot;,nodeLabelGuide:&quot;node-label-guide&quot;,nodeLabel:&quot;node-label&quot;,nodeLabelTextPath:&quot;node-label-text-path&quot;}}},{}],1061:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib&quot;),i=t(&quot;./attributes&quot;),a=t(&quot;../../components/color&quot;),o=t(&quot;tinycolor2&quot;);e.exports=function(t,e,r,s){function l(r,a){return n.coerce(t,e,i,r,a)}l(&quot;node.label&quot;),l(&quot;node.pad&quot;),l(&quot;node.thickness&quot;),l(&quot;node.line.color&quot;),l(&quot;node.line.width&quot;);var c=s.colorway;l(&quot;node.color&quot;,e.node.label.map(function(t,e){return a.addOpacity(function(t){return c[t%c.length]}(e),.8)})),l(&quot;link.label&quot;),l(&quot;link.source&quot;),l(&quot;link.target&quot;),l(&quot;link.value&quot;),l(&quot;link.line.color&quot;),l(&quot;link.line.width&quot;),l(&quot;link.color&quot;,e.link.value.map(function(){return o(s.paper_bgcolor).getLuminance()&lt;.333?&quot;rgba(255, 255, 255, 0.6)&quot;:&quot;rgba(0, 0, 0, 0.2)&quot;})),l(&quot;domain.x&quot;),l(&quot;domain.y&quot;),l(&quot;orientation&quot;),l(&quot;valueformat&quot;),l(&quot;valuesuffix&quot;),l(&quot;arrangement&quot;),n.coerceFont(l,&quot;textfont&quot;,n.extendFlat({},s.font));e.node.label.some(function(t,r){return-1===e.link.source.indexOf(r)&amp;&amp;-1===e.link.target.indexOf(r)})&amp;&amp;n.warn(&quot;Some of the nodes are neither sources nor targets, they will not be displayed.&quot;)}},{&quot;../../components/color&quot;:618,&quot;../../lib&quot;:743,&quot;./attributes&quot;:1057,tinycolor2:546}],1062:[function(t,e,r){&quot;use strict&quot;;var n={};n.attributes=t(&quot;./attributes&quot;),n.supplyDefaults=t(&quot;./defaults&quot;),n.calc=t(&quot;./calc&quot;),n.plot=t(&quot;./plot&quot;),n.moduleType=&quot;trace&quot;,n.name=&quot;sankey&quot;,n.basePlotModule=t(&quot;./base_plot&quot;),n.categories=[&quot;noOpacity&quot;],n.meta={},e.exports=n},{&quot;./attributes&quot;:1057,&quot;./base_plot&quot;:1058,&quot;./calc&quot;:1059,&quot;./defaults&quot;:1061,&quot;./plot&quot;:1063}],1063:[function(t,e,r){&quot;use strict&quot;;function n(t){return&quot;&quot;!==t}function i(t,e){return t.filter(function(t){return t.key===e.traceId})}function a(t,e){p.select(t).select(&quot;path&quot;).style(&quot;fill-opacity&quot;,e),p.select(t).select(&quot;rect&quot;).style(&quot;fill-opacity&quot;,e)}function o(t){p.select(t).select(&quot;text.name&quot;).style(&quot;fill&quot;,&quot;black&quot;)}function s(t){return function(e){return-1!==t.node.sourceLinks.indexOf(e.link)||-1!==t.node.targetLinks.indexOf(e.link)}}function l(t){return function(e){return-1!==e.node.sourceLinks.indexOf(t.link)||-1!==e.node.targetLinks.indexOf(t.link)}}function c(t,e,r){e&amp;&amp;r&amp;&amp;i(r,e).selectAll(&quot;.&quot;+x.sankeyLink).filter(s(e)).call(f.bind(0,e,r,!1))}function u(t,e,r){e&amp;&amp;r&amp;&amp;i(r,e).selectAll(&quot;.&quot;+x.sankeyLink).filter(s(e)).call(h.bind(0,e,r,!1))}function f(t,e,r,n){var a=n.datum().link.label;n.style(&quot;fill-opacity&quot;,.4),a&amp;&amp;i(e,t).selectAll(&quot;.&quot;+x.sankeyLink).filter(function(t){return t.link.label===a}).style(&quot;fill-opacity&quot;,.4),r&amp;&amp;i(e,t).selectAll(&quot;.&quot;+x.sankeyNode).filter(l(t)).call(c)}function h(t,e,r,n){var a=n.datum().link.label;n.style(&quot;fill-opacity&quot;,function(t){return t.tinyColorAlpha}),a&amp;&amp;i(e,t).selectAll(&quot;.&quot;+x.sankeyLink).filter(function(t){return t.link.label===a}).style(&quot;fill-opacity&quot;,function(t){return t.tinyColorAlpha}),r&amp;&amp;i(e,t).selectAll(x.sankeyNode).filter(l(t)).call(u)}function d(t,e){var r=t.hoverlabel||{},n=y.nestedProperty(r,e).get();return!Array.isArray(n)&amp;&amp;n}var p=t(&quot;d3&quot;),m=t(&quot;./render&quot;),g=t(&quot;../../components/fx&quot;),v=t(&quot;../../components/color&quot;),y=t(&quot;../../lib&quot;),x=t(&quot;./constants&quot;).cn,b=y._;e.exports=function(t,e){var r=t._fullLayout,i=r._paper,s=r._size,l=b(t,&quot;source:&quot;)+&quot; &quot;,y=b(t,&quot;target:&quot;)+&quot; &quot;,_=b(t,&quot;incoming flow count:&quot;)+&quot; &quot;,w=b(t,&quot;outgoing flow count:&quot;)+&quot; &quot;;m(i,e,{width:s.w,height:s.h,margin:{t:s.t,r:s.r,b:s.b,l:s.l}},{linkEvents:{hover:function(e,r,n){p.select(e).call(f.bind(0,r,n,!0)),t.emit(&quot;plotly_hover&quot;,{event:p.event,points:[r.link]})},follow:function(e,i){var s=i.link.trace,c=t._fullLayout._paperdiv.node().getBoundingClientRect(),u=e.getBoundingClientRect(),f=u.left+u.width/2,h=u.top+u.height/2,m=g.loneHover({x:f-c.left,y:h-c.top,name:p.format(i.valueFormat)(i.link.value)+i.valueSuffix,text:[i.link.label||&quot;&quot;,l+i.link.source.label,y+i.link.target.label].filter(n).join(&quot;&lt;br&gt;&quot;),color:d(s,&quot;bgcolor&quot;)||v.addOpacity(i.tinyColorHue,1),borderColor:d(s,&quot;bordercolor&quot;),fontFamily:d(s,&quot;font.family&quot;),fontSize:d(s,&quot;font.size&quot;),fontColor:d(s,&quot;font.color&quot;),idealAlign:p.event.x&lt;f?&quot;right&quot;:&quot;left&quot;},{container:r._hoverlayer.node(),outerContainer:r._paper.node(),gd:t});a(m,.65),o(m)},unhover:function(e,n,i){p.select(e).call(h.bind(0,n,i,!0)),t.emit(&quot;plotly_unhover&quot;,{event:p.event,points:[n.link]}),g.loneUnhover(r._hoverlayer.node())},select:function(e,r){var n=r.link;n.originalEvent=p.event,t._hoverdata=[n],g.click(t,{target:!0})}},nodeEvents:{hover:function(e,r,n){p.select(e).call(c,r,n),t.emit(&quot;plotly_hover&quot;,{event:p.event,points:[r.node]})},follow:function(e,i){var s=i.node.trace,l=p.select(e).select(&quot;.&quot;+x.nodeRect),c=t._fullLayout._paperdiv.node().getBoundingClientRect(),u=l.node().getBoundingClientRect(),f=u.left-2-c.left,h=u.right+2-c.left,m=u.top+u.height/4-c.top,v=g.loneHover({x0:f,x1:h,y:m,name:p.format(i.valueFormat)(i.node.value)+i.valueSuffix,text:[i.node.label,_+i.node.targetLinks.length,w+i.node.sourceLinks.length].filter(n).join(&quot;&lt;br&gt;&quot;),color:d(s,&quot;bgcolor&quot;)||i.tinyColorHue,borderColor:d(s,&quot;bordercolor&quot;),fontFamily:d(s,&quot;font.family&quot;),fontSize:d(s,&quot;font.size&quot;),fontColor:d(s,&quot;font.color&quot;),idealAlign:&quot;left&quot;},{container:r._hoverlayer.node(),outerContainer:r._paper.node(),gd:t});a(v,.85),o(v)},unhover:function(e,n,i){p.select(e).call(u,n,i),t.emit(&quot;plotly_unhover&quot;,{event:p.event,points:[n.node]}),g.loneUnhover(r._hoverlayer.node())},select:function(e,r,n){var i=r.node;i.originalEvent=p.event,t._hoverdata=[i],p.select(e).call(u,r,n),g.click(t,{target:!0})}}})}},{&quot;../../components/color&quot;:618,&quot;../../components/fx&quot;:660,&quot;../../lib&quot;:743,&quot;./constants&quot;:1060,&quot;./render&quot;:1064,d3:128}],1064:[function(t,e,r){&quot;use strict&quot;;function n(t){t.lastDraggedX=t.x,t.lastDraggedY=t.y}function i(t){return function(e){return e.node.originalX===t.node.originalX}}function a(t){for(var e=0;e&lt;t.length;e++)t[e].y=t[e].y+t[e].dy/2}function o(t){t.attr(&quot;transform&quot;,function(t){return&quot;translate(&quot;+t.node.x.toFixed(3)+&quot;, &quot;+(t.node.y-t.node.dy/2).toFixed(3)+&quot;)&quot;})}function s(t){var e=t.sankey.nodes();!function(t){for(var e=0;e&lt;t.length;e++)t[e].y=t[e].y-t[e].dy/2}(e);var r=t.sankey.link()(t.link);return a(e),r}function l(t){t.call(o)}function c(t,e){t.call(l),e.attr(&quot;d&quot;,s)}function u(t){t.attr(&quot;width&quot;,function(t){return t.visibleWidth}).attr(&quot;height&quot;,function(t){return t.visibleHeight})}function f(t){return t.link.dy&gt;1||t.linkLineWidth&gt;0}function h(t){return&quot;translate(&quot;+t.translateX+&quot;,&quot;+t.translateY+&quot;)&quot;+(t.horizontal?&quot;matrix(1 0 0 1 0 0)&quot;:&quot;matrix(0 1 1 0 0 0)&quot;)}function d(t){return&quot;translate(&quot;+(t.horizontal?0:t.labelY)+&quot; &quot;+(t.horizontal?t.labelY:0)+&quot;)&quot;}function p(t){return w.svg.line()([[t.horizontal?t.left?-t.sizeAcross:t.visibleWidth+_.nodeTextOffsetHorizontal:_.nodeTextOffsetHorizontal,0],[t.horizontal?t.left?-_.nodeTextOffsetHorizontal:t.sizeAcross:t.visibleHeight-_.nodeTextOffsetHorizontal,0]])}function m(t){return t.horizontal?&quot;matrix(1 0 0 1 0 0)&quot;:&quot;matrix(0 1 1 0 0 0)&quot;}function g(t){return t.horizontal?&quot;scale(1 1)&quot;:&quot;scale(-1 1)&quot;}function v(t){return t.darkBackground&amp;&amp;!t.horizontal?&quot;rgb(255,255,255)&quot;:&quot;rgb(0,0,0)&quot;}function y(t){return t.horizontal&amp;&amp;t.left?&quot;100%&quot;:&quot;0%&quot;}function x(t,e,r){t.on(&quot;.basic&quot;,null).on(&quot;mouseover.basic&quot;,function(t){t.interactionState.dragInProgress||(r.hover(this,t,e),t.interactionState.hovered=[this,t])}).on(&quot;mousemove.basic&quot;,function(t){t.interactionState.dragInProgress||(r.follow(this,t),t.interactionState.hovered=[this,t])}).on(&quot;mouseout.basic&quot;,function(t){t.interactionState.dragInProgress||(r.unhover(this,t,e),t.interactionState.hovered=!1)}).on(&quot;click.basic&quot;,function(t){t.interactionState.hovered&amp;&amp;(r.unhover(this,t,e),t.interactionState.hovered=!1),t.interactionState.dragInProgress||r.select(this,t,e)})}function b(t,e,r){var a=w.behavior.drag().origin(function(t){return t.node}).on(&quot;dragstart&quot;,function(a){if(&quot;fixed&quot;!==a.arrangement&amp;&amp;(E.raiseToTop(this),a.interactionState.dragInProgress=a.node,n(a.node),a.interactionState.hovered&amp;&amp;(r.nodeEvents.unhover.apply(0,a.interactionState.hovered),a.interactionState.hovered=!1),&quot;snap&quot;===a.arrangement)){var o=a.traceId+&quot;|&quot;+Math.floor(a.node.originalX);a.forceLayouts[o]?a.forceLayouts[o].alpha(1):function(t,e,r){var n=r.sankey.nodes().filter(function(t){return t.originalX===r.node.originalX});r.forceLayouts[e]=S.forceSimulation(n).alphaDecay(0).force(&quot;collide&quot;,S.forceCollide().radius(function(t){return t.dy/2+r.nodePad/2}).strength(1).iterations(_.forceIterations)).force(&quot;constrain&quot;,function(t,e,r,n){return function(){for(var t=0,i=0;i&lt;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)/_.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&amp;&amp;t&lt;.1&amp;&amp;n.forceLayouts[e].alpha()&gt;0&amp;&amp;n.forceLayouts[e].alpha(0)}}(0,e,n,r)).stop()}(0,o,a),function(t,e,r,n){window.requestAnimationFrame(function a(){for(var o=0;o&lt;_.forceTicksPerFrame;o++)r.forceLayouts[n].tick();r.sankey.relayout(),c(t.filter(i(r)),e),r.forceLayouts[n].alpha()&gt;0&amp;&amp;window.requestAnimationFrame(a)})}(t,e,a,o)}}).on(&quot;drag&quot;,function(r){if(&quot;fixed&quot;!==r.arrangement){var a=w.event.x,o=w.event.y;&quot;snap&quot;===r.arrangement?(r.node.x=a,r.node.y=o):(&quot;freeform&quot;===r.arrangement&amp;&amp;(r.node.x=a),r.node.y=Math.max(r.node.dy/2,Math.min(r.size-r.node.dy/2,o))),n(r.node),&quot;snap&quot;!==r.arrangement&amp;&amp;(r.sankey.relayout(),c(t.filter(i(r)),e))}}).on(&quot;dragend&quot;,function(t){t.interactionState.dragInProgress=!1});t.on(&quot;.drag&quot;,null).call(a)}var _=t(&quot;./constants&quot;),w=t(&quot;d3&quot;),M=t(&quot;tinycolor2&quot;),k=t(&quot;../../components/color&quot;),A=t(&quot;../../components/drawing&quot;),T=t(&quot;@plotly/d3-sankey&quot;).sankey,S=t(&quot;d3-force&quot;),E=t(&quot;../../lib&quot;),L=t(&quot;../../lib/gup&quot;).keyFun,C=t(&quot;../../lib/gup&quot;).repeat,z=t(&quot;../../lib/gup&quot;).unwrap;e.exports=function(t,e,r,n){var i=t.selectAll(&quot;.&quot;+_.cn.sankey).data(e.filter(function(t){return z(t).trace.visible}).map(function(t,e,r){for(var n,i=z(e).trace,o=i.domain,s=i.node,l=i.link,c=i.arrangement,u=&quot;h&quot;===i.orientation,f=i.node.pad,h=i.node.thickness,d=i.node.line.color,p=i.node.line.width,m=i.link.line.color,g=i.link.line.width,v=i.valueformat,y=i.valuesuffix,x=i.textfont,b=t.width*(o.x[1]-o.x[0]),w=t.height*(o.y[1]-o.y[0]),M=s.label.map(function(t,e){return{pointNumber:e,label:t,color:E.isArray(s.color)?s.color[e]:s.color}}),k=l.value.map(function(t,e){return{pointNumber:e,label:l.label[e],color:E.isArray(l.color)?l.color[e]:l.color,source:l.source[e],target:l.target[e],value:t}}),A=T().size(u?[b,w]:[w,b]).nodeWidth(h).nodePadding(f).nodes(M).links(k).layout(_.sankeyIterations),S=A.nodes(),L=0;L&lt;S.length;L++)(n=S[L]).width=b,n.height=w;return a(M),{key:r,trace:i,guid:Math.floor(1e12*(1+Math.random())),horizontal:u,width:b,height:w,nodePad:f,nodeLineColor:d,nodeLineWidth:p,linkLineColor:m,linkLineWidth:g,valueFormat:v,valueSuffix:y,textFont:x,translateX:o.x[0]*b+t.margin.l,translateY:t.height-o.y[1]*t.height+t.margin.t,dragParallel:u?w:b,dragPerpendicular:u?b:w,nodes:M,links:k,arrangement:c,sankey:A,forceLayouts:{},interactionState:{dragInProgress:!1,hovered:!1}}}.bind(null,r)),L);i.exit().remove(),i.enter().append(&quot;g&quot;).classed(_.cn.sankey,!0).style(&quot;box-sizing&quot;,&quot;content-box&quot;).style(&quot;position&quot;,&quot;absolute&quot;).style(&quot;left&quot;,0).style(&quot;shape-rendering&quot;,&quot;geometricPrecision&quot;).style(&quot;pointer-events&quot;,&quot;auto&quot;).style(&quot;box-sizing&quot;,&quot;content-box&quot;).attr(&quot;transform&quot;,h),i.transition().ease(_.ease).duration(_.duration).attr(&quot;transform&quot;,h);var l=i.selectAll(&quot;.&quot;+_.cn.sankeyLinks).data(C,L);l.enter().append(&quot;g&quot;).classed(_.cn.sankeyLinks,!0).style(&quot;fill&quot;,&quot;none&quot;);var c=l.selectAll(&quot;.&quot;+_.cn.sankeyLink).data(function(t){return t.sankey.links().filter(function(t){return t.value}).map(function(t,e,r){var n=M(r.color),i=r.source.label+&quot;|&quot;+r.target.label,a=t[i];t[i]=(a||0)+1;var o=i+&quot;__&quot;+t[i];return r.trace=e.trace,r.curveNumber=e.trace.index,{key:o,traceId:e.key,link:r,tinyColorHue:k.tinyRGB(n),tinyColorAlpha:n.getAlpha(),linkLineColor:e.linkLineColor,linkLineWidth:e.linkLineWidth,valueFormat:e.valueFormat,valueSuffix:e.valueSuffix,sankey:e.sankey,interactionState:e.interactionState}}.bind(null,{},t))},L);c.enter().append(&quot;path&quot;).classed(_.cn.sankeyLink,!0).attr(&quot;d&quot;,s).call(x,i,n.linkEvents),c.style(&quot;stroke&quot;,function(t){return f(t)?k.tinyRGB(M(t.linkLineColor)):t.tinyColorHue}).style(&quot;stroke-opacity&quot;,function(t){return f(t)?k.opacity(t.linkLineColor):t.tinyColorAlpha}).style(&quot;stroke-width&quot;,function(t){return f(t)?t.linkLineWidth:1}).style(&quot;fill&quot;,function(t){return t.tinyColorHue}).style(&quot;fill-opacity&quot;,function(t){return t.tinyColorAlpha}),c.transition().ease(_.ease).duration(_.duration).attr(&quot;d&quot;,s),c.exit().transition().ease(_.ease).duration(_.duration).style(&quot;opacity&quot;,0).remove();var w=i.selectAll(&quot;.&quot;+_.cn.sankeyNodeSet).data(C,L);w.enter().append(&quot;g&quot;).classed(_.cn.sankeyNodeSet,!0),w.style(&quot;cursor&quot;,function(t){switch(t.arrangement){case&quot;fixed&quot;:return&quot;default&quot;;case&quot;perpendicular&quot;:return&quot;ns-resize&quot;;default:return&quot;move&quot;}});var S=w.selectAll(&quot;.&quot;+_.cn.sankeyNode).data(function(t){var e=t.sankey.nodes();return function(t){var e,r=[];for(e=0;e&lt;t.length;e++)t[e].originalX=t[e].x,t[e].originalY=t[e].y,-1===r.indexOf(t[e].x)&amp;&amp;r.push(t[e].x);for(r.sort(function(t,e){return t-e}),e=0;e&lt;t.length;e++)t[e].originalLayerIndex=r.indexOf(t[e].originalX),t[e].originalLayer=t[e].originalLayerIndex/(r.length-1)}(e),e.filter(function(t){return t.value}).map(function(t,e,r){var n=M(r.color),i=_.nodePadAcross,a=e.nodePad/2,o=r.dx,s=Math.max(.5,r.dy),l=r.label,c=t[l];t[l]=(c||0)+1;var u=l+&quot;__&quot;+t[l];return r.trace=e.trace,r.curveNumber=e.trace.index,{key:u,traceId:e.key,node:r,nodePad:e.nodePad,nodeLineColor:e.nodeLineColor,nodeLineWidth:e.nodeLineWidth,textFont:e.textFont,size:e.horizontal?e.height:e.width,visibleWidth:Math.ceil(o),visibleHeight:s,zoneX:-i,zoneY:-a,zoneWidth:o+2*i,zoneHeight:s+2*a,labelY:e.horizontal?r.dy/2+1:r.dx/2+1,left:1===r.originalLayer,sizeAcross:e.width,forceLayouts:e.forceLayouts,horizontal:e.horizontal,darkBackground:n.getBrightness()&lt;=128,tinyColorHue:k.tinyRGB(n),tinyColorAlpha:n.getAlpha(),valueFormat:e.valueFormat,valueSuffix:e.valueSuffix,sankey:e.sankey,arrangement:e.arrangement,uniqueNodeLabelPathId:[e.guid,e.key,u].join(&quot; &quot;),interactionState:e.interactionState}}.bind(null,{},t))},L);S.enter().append(&quot;g&quot;).classed(_.cn.sankeyNode,!0).call(o).call(x,i,n.nodeEvents),S.call(b,c,n),S.transition().ease(_.ease).duration(_.duration).call(o),S.exit().transition().ease(_.ease).duration(_.duration).style(&quot;opacity&quot;,0).remove();var D=S.selectAll(&quot;.&quot;+_.cn.nodeRect).data(C);D.enter().append(&quot;rect&quot;).classed(_.cn.nodeRect,!0).call(u),D.style(&quot;stroke-width&quot;,function(t){return t.nodeLineWidth}).style(&quot;stroke&quot;,function(t){return k.tinyRGB(M(t.nodeLineColor))}).style(&quot;stroke-opacity&quot;,function(t){return k.opacity(t.nodeLineColor)}).style(&quot;fill&quot;,function(t){return t.tinyColorHue}).style(&quot;fill-opacity&quot;,function(t){return t.tinyColorAlpha}),D.transition().ease(_.ease).duration(_.duration).call(u);var I=S.selectAll(&quot;.&quot;+_.cn.nodeCapture).data(C);I.enter().append(&quot;rect&quot;).classed(_.cn.nodeCapture,!0).style(&quot;fill-opacity&quot;,0),I.attr(&quot;x&quot;,function(t){return t.zoneX}).attr(&quot;y&quot;,function(t){return t.zoneY}).attr(&quot;width&quot;,function(t){return t.zoneWidth}).attr(&quot;height&quot;,function(t){return t.zoneHeight});var P=S.selectAll(&quot;.&quot;+_.cn.nodeCentered).data(C);P.enter().append(&quot;g&quot;).classed(_.cn.nodeCentered,!0).attr(&quot;transform&quot;,d),P.transition().ease(_.ease).duration(_.duration).attr(&quot;transform&quot;,d);var O=P.selectAll(&quot;.&quot;+_.cn.nodeLabelGuide).data(C);O.enter().append(&quot;path&quot;).classed(_.cn.nodeLabelGuide,!0).attr(&quot;id&quot;,function(t){return t.uniqueNodeLabelPathId}).attr(&quot;d&quot;,p).attr(&quot;transform&quot;,m),O.transition().ease(_.ease).duration(_.duration).attr(&quot;d&quot;,p).attr(&quot;transform&quot;,m);var F=P.selectAll(&quot;.&quot;+_.cn.nodeLabel).data(C);F.enter().append(&quot;text&quot;).classed(_.cn.nodeLabel,!0).attr(&quot;transform&quot;,g).style(&quot;user-select&quot;,&quot;none&quot;).style(&quot;cursor&quot;,&quot;default&quot;).style(&quot;fill&quot;,&quot;black&quot;),F.style(&quot;text-shadow&quot;,function(t){return t.horizontal?&quot;-1px 1px 1px #fff, 1px 1px 1px #fff, 1px -1px 1px #fff, -1px -1px 1px #fff&quot;:&quot;none&quot;}).each(function(t){A.font(F,t.textFont)}),F.transition().ease(_.ease).duration(_.duration).attr(&quot;transform&quot;,g);var R=F.selectAll(&quot;.&quot;+_.cn.nodeLabelTextPath).data(C);R.enter().append(&quot;textPath&quot;).classed(_.cn.nodeLabelTextPath,!0).attr(&quot;alignment-baseline&quot;,&quot;middle&quot;).attr(&quot;xlink:href&quot;,function(t){return&quot;#&quot;+t.uniqueNodeLabelPathId}).attr(&quot;startOffset&quot;,y).style(&quot;fill&quot;,v),R.text(function(t){return t.horizontal||t.node.dy&gt;5?t.node.label:&quot;&quot;}).attr(&quot;text-anchor&quot;,function(t){return t.horizontal&amp;&amp;t.left?&quot;end&quot;:&quot;start&quot;}),R.transition().ease(_.ease).duration(_.duration).attr(&quot;startOffset&quot;,y).style(&quot;fill&quot;,v)}},{&quot;../../components/color&quot;:618,&quot;../../components/drawing&quot;:643,&quot;../../lib&quot;:743,&quot;../../lib/gup&quot;:740,&quot;./constants&quot;:1060,&quot;@plotly/d3-sankey&quot;:41,d3:128,&quot;d3-force&quot;:124,tinycolor2:546}],1065:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib&quot;);e.exports=function(t,e){for(var r=0;r&lt;t.length;r++)t[r].i=r;n.mergeArray(e.text,t,&quot;tx&quot;),n.mergeArray(e.hovertext,t,&quot;htx&quot;),n.mergeArray(e.customdata,t,&quot;data&quot;),n.mergeArray(e.textposition,t,&quot;tp&quot;),e.textfont&amp;&amp;(n.mergeArray(e.textfont.size,t,&quot;ts&quot;),n.mergeArray(e.textfont.color,t,&quot;tc&quot;),n.mergeArray(e.textfont.family,t,&quot;tf&quot;));var i=e.marker;if(i){n.mergeArray(i.size,t,&quot;ms&quot;),n.mergeArray(i.opacity,t,&quot;mo&quot;),n.mergeArray(i.symbol,t,&quot;mx&quot;),n.mergeArray(i.color,t,&quot;mc&quot;);var a=i.line;i.line&amp;&amp;(n.mergeArray(a.color,t,&quot;mlc&quot;),n.mergeArray(a.width,t,&quot;mlw&quot;));var o=i.gradient;o&amp;&amp;&quot;none&quot;!==o.type&amp;&amp;(n.mergeArray(o.type,t,&quot;mgt&quot;),n.mergeArray(o.color,t,&quot;mgc&quot;))}}},{&quot;../../lib&quot;:743}],1066:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../components/colorscale/color_attributes&quot;),i=t(&quot;../../components/errorbars/attributes&quot;),a=t(&quot;../../components/colorbar/attributes&quot;),o=t(&quot;../../plots/font_attributes&quot;),s=t(&quot;../../components/drawing/attributes&quot;).dash,l=t(&quot;../../components/drawing&quot;),c=(t(&quot;./constants&quot;),t(&quot;../../lib/extend&quot;).extendFlat);e.exports={x:{valType:&quot;data_array&quot;,editType:&quot;calc+clearAxisTypes&quot;},x0:{valType:&quot;any&quot;,dflt:0,editType:&quot;calc+clearAxisTypes&quot;},dx:{valType:&quot;number&quot;,dflt:1,editType:&quot;calc&quot;},y:{valType:&quot;data_array&quot;,editType:&quot;calc+clearAxisTypes&quot;},y0:{valType:&quot;any&quot;,dflt:0,editType:&quot;calc+clearAxisTypes&quot;},dy:{valType:&quot;number&quot;,dflt:1,editType:&quot;calc&quot;},text:{valType:&quot;string&quot;,dflt:&quot;&quot;,arrayOk:!0,editType:&quot;calc&quot;},hovertext:{valType:&quot;string&quot;,dflt:&quot;&quot;,arrayOk:!0,editType:&quot;style&quot;},mode:{valType:&quot;flaglist&quot;,flags:[&quot;lines&quot;,&quot;markers&quot;,&quot;text&quot;],extras:[&quot;none&quot;],editType:&quot;calc&quot;},hoveron:{valType:&quot;flaglist&quot;,flags:[&quot;points&quot;,&quot;fills&quot;],editType:&quot;style&quot;},line:{color:{valType:&quot;color&quot;,editType:&quot;style&quot;},width:{valType:&quot;number&quot;,min:0,dflt:2,editType:&quot;style&quot;},shape:{valType:&quot;enumerated&quot;,values:[&quot;linear&quot;,&quot;spline&quot;,&quot;hv&quot;,&quot;vh&quot;,&quot;hvh&quot;,&quot;vhv&quot;],dflt:&quot;linear&quot;,editType:&quot;plot&quot;},smoothing:{valType:&quot;number&quot;,min:0,max:1.3,dflt:1,editType:&quot;plot&quot;},dash:c({},s,{editType:&quot;style&quot;}),simplify:{valType:&quot;boolean&quot;,dflt:!0,editType:&quot;plot&quot;},editType:&quot;plot&quot;},connectgaps:{valType:&quot;boolean&quot;,dflt:!1,editType:&quot;calc&quot;},cliponaxis:{valType:&quot;boolean&quot;,dflt:!0,editType:&quot;plot&quot;},fill:{valType:&quot;enumerated&quot;,values:[&quot;none&quot;,&quot;tozeroy&quot;,&quot;tozerox&quot;,&quot;tonexty&quot;,&quot;tonextx&quot;,&quot;toself&quot;,&quot;tonext&quot;],dflt:&quot;none&quot;,editType:&quot;calc&quot;},fillcolor:{valType:&quot;color&quot;,editType:&quot;style&quot;},marker:c({symbol:{valType:&quot;enumerated&quot;,values:l.symbolList,dflt:&quot;circle&quot;,arrayOk:!0,editType:&quot;style&quot;},opacity:{valType:&quot;number&quot;,min:0,max:1,arrayOk:!0,editType:&quot;style&quot;},size:{valType:&quot;number&quot;,min:0,dflt:6,arrayOk:!0,editType:&quot;calcIfAutorange&quot;},maxdisplayed:{valType:&quot;number&quot;,min:0,dflt:0,editType:&quot;plot&quot;},sizeref:{valType:&quot;number&quot;,dflt:1,editType:&quot;calc&quot;},sizemin:{valType:&quot;number&quot;,min:0,dflt:0,editType:&quot;calc&quot;},sizemode:{valType:&quot;enumerated&quot;,values:[&quot;diameter&quot;,&quot;area&quot;],dflt:&quot;diameter&quot;,editType:&quot;calc&quot;},showscale:{valType:&quot;boolean&quot;,dflt:!1,editType:&quot;calc&quot;},colorbar:a,line:c({width:{valType:&quot;number&quot;,min:0,arrayOk:!0,editType:&quot;style&quot;},editType:&quot;calc&quot;},n(&quot;marker.line&quot;)),gradient:{type:{valType:&quot;enumerated&quot;,values:[&quot;radial&quot;,&quot;horizontal&quot;,&quot;vertical&quot;,&quot;none&quot;],arrayOk:!0,dflt:&quot;none&quot;,editType:&quot;calc&quot;},color:{valType:&quot;color&quot;,arrayOk:!0,editType:&quot;calc&quot;},editType:&quot;calc&quot;},editType:&quot;calc&quot;},n(&quot;marker&quot;)),selected:{marker:{opacity:{valType:&quot;number&quot;,min:0,max:1,editType:&quot;style&quot;},color:{valType:&quot;color&quot;,editType:&quot;style&quot;},size:{valType:&quot;number&quot;,min:0,editType:&quot;style&quot;},editType:&quot;style&quot;},textfont:{color:{valType:&quot;color&quot;,editType:&quot;style&quot;},editType:&quot;style&quot;},editType:&quot;style&quot;},unselected:{marker:{opacity:{valType:&quot;number&quot;,min:0,max:1,editType:&quot;style&quot;},color:{valType:&quot;color&quot;,editType:&quot;style&quot;},size:{valType:&quot;number&quot;,min:0,editType:&quot;style&quot;},editType:&quot;style&quot;},textfont:{color:{valType:&quot;color&quot;,editType:&quot;style&quot;},editType:&quot;style&quot;},editType:&quot;style&quot;},textposition:{valType:&quot;enumerated&quot;,values:[&quot;top left&quot;,&quot;top center&quot;,&quot;top right&quot;,&quot;middle left&quot;,&quot;middle center&quot;,&quot;middle right&quot;,&quot;bottom left&quot;,&quot;bottom center&quot;,&quot;bottom right&quot;],dflt:&quot;middle center&quot;,arrayOk:!0,editType:&quot;calc&quot;},textfont:o({editType:&quot;calc&quot;,colorEditType:&quot;style&quot;,arrayOk:!0}),r:{valType:&quot;data_array&quot;,editType:&quot;calc&quot;},t:{valType:&quot;data_array&quot;,editType:&quot;calc&quot;},error_y:i,error_x:i}},{&quot;../../components/colorbar/attributes&quot;:619,&quot;../../components/colorscale/color_attributes&quot;:626,&quot;../../components/drawing&quot;:643,&quot;../../components/drawing/attributes&quot;:642,&quot;../../components/errorbars/attributes&quot;:645,&quot;../../lib/extend&quot;:732,&quot;../../plots/font_attributes&quot;:816,&quot;./constants&quot;:1072}],1067:[function(t,e,r){&quot;use strict&quot;;function n(t,e){if(s.hasMarkers(t)){var r,n=t.marker,i=1.6*(t.marker.sizeref||1);if(r=&quot;area&quot;===t.marker.sizemode?function(t){return Math.max(Math.sqrt((t||0)/i),3)}:function(t){return Math.max((t||0)/i,3)},Array.isArray(n.size)){var o={type:&quot;linear&quot;};a.setConvert(o);var l=o.makeCalcdata(t.marker,&quot;size&quot;);return l.length&gt;e&amp;&amp;l.splice(e,l.length-e),l.map(r)}return r(n.size)}}var i=t(&quot;fast-isnumeric&quot;),a=t(&quot;../../plots/cartesian/axes&quot;),o=t(&quot;../../constants/numerical&quot;).BADNUM,s=t(&quot;./subtypes&quot;),l=t(&quot;./colorscale_calc&quot;),c=t(&quot;./arrays_to_calcdata&quot;),u=t(&quot;./calc_selection&quot;);e.exports={calc:function(t,e){var r=a.getFromId(t,e.xaxis||&quot;x&quot;),f=a.getFromId(t,e.yaxis||&quot;y&quot;),h=r.makeCalcdata(e,&quot;x&quot;),d=f.makeCalcdata(e,&quot;y&quot;),p=Math.min(h.length,d.length);r._minDtick=0,f._minDtick=0,h.length&gt;p&amp;&amp;h.splice(p,h.length-p),d.length&gt;p&amp;&amp;d.splice(p,d.length-p);var m={padded:!0},g={padded:!0},v=n(e,p);v&amp;&amp;(m.ppad=g.ppad=v),!(&quot;tozerox&quot;===e.fill||&quot;tonextx&quot;===e.fill&amp;&amp;t.firstscatter)||h[0]===h[p-1]&amp;&amp;d[0]===d[p-1]?e.error_y.visible||-1===[&quot;tonexty&quot;,&quot;tozeroy&quot;].indexOf(e.fill)&amp;&amp;(s.hasMarkers(e)||s.hasText(e))||(m.padded=!1,m.ppad=0):m.tozero=!0,!(&quot;tozeroy&quot;===e.fill||&quot;tonexty&quot;===e.fill&amp;&amp;t.firstscatter)||h[0]===h[p-1]&amp;&amp;d[0]===d[p-1]?-1!==[&quot;tonextx&quot;,&quot;tozerox&quot;].indexOf(e.fill)&amp;&amp;(g.padded=!1):g.tozero=!0,a.expand(r,h,m),a.expand(f,d,g);for(var y=new Array(p),x=0;x&lt;p;x++)y[x]=i(h[x])&amp;&amp;i(d[x])?{x:h[x],y:d[x]}:{x:o,y:o},e.ids&amp;&amp;(y[x].id=String(e.ids[x]));return c(y,e),l(e),u(y,e),t.firstscatter=!1,y},calcMarkerSize:n}},{&quot;../../constants/numerical&quot;:721,&quot;../../plots/cartesian/axes&quot;:789,&quot;./arrays_to_calcdata&quot;:1065,&quot;./calc_selection&quot;:1068,&quot;./colorscale_calc&quot;:1071,&quot;./subtypes&quot;:1088,&quot;fast-isnumeric&quot;:140}],1068:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib&quot;);e.exports=function(t,e){Array.isArray(e.selectedpoints)&amp;&amp;n.tagSelected(t,e)}},{&quot;../../lib&quot;:743}],1069:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t){for(var e=0;e&lt;t.length;e++){var r=t[e];if(&quot;scatter&quot;===r.type){var n=r.fill;if(&quot;none&quot;!==n&amp;&amp;&quot;toself&quot;!==n&amp;&amp;(r.opacity=void 0,&quot;tonexty&quot;===n||&quot;tonextx&quot;===n))for(var i=e-1;i&gt;=0;i--){var a=t[i];if(&quot;scatter&quot;===a.type&amp;&amp;a.xaxis===r.xaxis&amp;&amp;a.yaxis===r.yaxis){a.opacity=void 0;break}}}}}},{}],1070:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;fast-isnumeric&quot;),i=t(&quot;../../lib&quot;),a=t(&quot;../../plots/plots&quot;),o=t(&quot;../../components/colorscale&quot;),s=t(&quot;../../components/colorbar/draw&quot;);e.exports=function(t,e){var r=e[0].trace,l=r.marker,c=&quot;cb&quot;+r.uid;if(t._fullLayout._infolayer.selectAll(&quot;.&quot;+c).remove(),void 0!==l&amp;&amp;l.showscale){var u=l.color,f=l.cmin,h=l.cmax;n(f)||(f=i.aggNums(Math.min,null,u)),n(h)||(h=i.aggNums(Math.max,null,u));var d=e[0].t.cb=s(t,c),p=o.makeColorScaleFunc(o.extractScale(l.colorscale,f,h),{noNumericCheck:!0});d.fillcolor(p).filllevels({start:f,end:h,size:(h-f)/254}).options(l.colorbar)()}else a.autoMargin(t,c)}},{&quot;../../components/colorbar/draw&quot;:622,&quot;../../components/colorscale&quot;:633,&quot;../../lib&quot;:743,&quot;../../plots/plots&quot;:852,&quot;fast-isnumeric&quot;:140}],1071:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../components/colorscale/has_colorscale&quot;),i=t(&quot;../../components/colorscale/calc&quot;),a=t(&quot;./subtypes&quot;);e.exports=function(t){a.hasLines(t)&amp;&amp;n(t,&quot;line&quot;)&amp;&amp;i(t,t.line.color,&quot;line&quot;,&quot;c&quot;),a.hasMarkers(t)&amp;&amp;(n(t,&quot;marker&quot;)&amp;&amp;i(t,t.marker.color,&quot;marker&quot;,&quot;c&quot;),n(t,&quot;marker.line&quot;)&amp;&amp;i(t,t.marker.line.color,&quot;marker.line&quot;,&quot;c&quot;))}},{&quot;../../components/colorscale/calc&quot;:625,&quot;../../components/colorscale/has_colorscale&quot;:632,&quot;./subtypes&quot;:1088}],1072:[function(t,e,r){&quot;use strict&quot;;e.exports={PTS_LINESONLY:20,minTolerance:.2,toleranceGrowth:10,maxScreensAway:20}},{}],1073:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib&quot;),i=t(&quot;./attributes&quot;),a=t(&quot;./constants&quot;),o=t(&quot;./subtypes&quot;),s=t(&quot;./xy_defaults&quot;),l=t(&quot;./marker_defaults&quot;),c=t(&quot;./line_defaults&quot;),u=t(&quot;./line_shape_defaults&quot;),f=t(&quot;./text_defaults&quot;),h=t(&quot;./fillcolor_defaults&quot;),d=t(&quot;../../components/errorbars/defaults&quot;);e.exports=function(t,e,r,p){function m(r,a){return n.coerce(t,e,i,r,a)}var g=s(t,e,p,m),v=g&lt;a.PTS_LINESONLY?&quot;lines+markers&quot;:&quot;lines&quot;;if(g){m(&quot;text&quot;),m(&quot;hovertext&quot;),m(&quot;mode&quot;,v),o.hasLines(e)&amp;&amp;(c(t,e,r,p,m),u(t,e,m),m(&quot;connectgaps&quot;),m(&quot;line.simplify&quot;)),o.hasMarkers(e)&amp;&amp;l(t,e,r,p,m,{gradient:!0}),o.hasText(e)&amp;&amp;f(t,e,p,m);var y=[];(o.hasMarkers(e)||o.hasText(e))&amp;&amp;(m(&quot;cliponaxis&quot;),m(&quot;marker.maxdisplayed&quot;),y.push(&quot;points&quot;)),m(&quot;fill&quot;),&quot;none&quot;!==e.fill&amp;&amp;(h(t,e,r,m),o.hasLines(e)||u(t,e,m)),&quot;tonext&quot;!==e.fill&amp;&amp;&quot;toself&quot;!==e.fill||y.push(&quot;fills&quot;),m(&quot;hoveron&quot;,y.join(&quot;+&quot;)||&quot;points&quot;),d(t,e,r,{axis:&quot;y&quot;}),d(t,e,r,{axis:&quot;x&quot;,inherit:&quot;y&quot;}),n.coerceSelectionMarkerOpacity(e,m)}else e.visible=!1}},{&quot;../../components/errorbars/defaults&quot;:648,&quot;../../lib&quot;:743,&quot;./attributes&quot;:1066,&quot;./constants&quot;:1072,&quot;./fillcolor_defaults&quot;:1075,&quot;./line_defaults&quot;:1079,&quot;./line_shape_defaults&quot;:1081,&quot;./marker_defaults&quot;:1084,&quot;./subtypes&quot;:1088,&quot;./text_defaults&quot;:1089,&quot;./xy_defaults&quot;:1090}],1074:[function(t,e,r){&quot;use strict&quot;;function n(t){return t||0===t}var i=t(&quot;../../lib&quot;);e.exports=function(t,e,r){var a=Array.isArray(r)?function(t){r.push(t)}:function(t){r.text=t},o=i.extractOption(t,e,&quot;htx&quot;,&quot;hovertext&quot;);if(n(o))return a(o);var s=i.extractOption(t,e,&quot;tx&quot;,&quot;text&quot;);return n(s)?a(s):void 0}},{&quot;../../lib&quot;:743}],1075:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../components/color&quot;);e.exports=function(t,e,r,i){var a=!1;if(e.marker){var o=e.marker.color,s=(e.marker.line||{}).color;o&amp;&amp;!Array.isArray(o)?a=o:s&amp;&amp;!Array.isArray(s)&amp;&amp;(a=s)}i(&quot;fillcolor&quot;,n.addOpacity((e.line||{}).color||a||r,.5))}},{&quot;../../components/color&quot;:618}],1076:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../components/color&quot;),i=t(&quot;./subtypes&quot;);e.exports=function(t,e){var r,a;if(&quot;lines&quot;===t.mode)return(r=t.line.color)&amp;&amp;n.opacity(r)?r:t.fillcolor;if(&quot;none&quot;===t.mode)return t.fill?t.fillcolor:&quot;&quot;;var o=e.mcc||(t.marker||{}).color,s=e.mlcc||((t.marker||{}).line||{}).color;return(a=o&amp;&amp;n.opacity(o)?o:s&amp;&amp;n.opacity(s)&amp;&amp;(e.mlw||((t.marker||{}).line||{}).width)?s:&quot;&quot;)?n.opacity(a)&lt;.3?n.addOpacity(a,.3):a:(r=(t.line||{}).color)&amp;&amp;n.opacity(r)&amp;&amp;i.hasLines(t)&amp;&amp;t.line.width?r:t.fillcolor}},{&quot;../../components/color&quot;:618,&quot;./subtypes&quot;:1088}],1077:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib&quot;),i=t(&quot;../../components/fx&quot;),a=t(&quot;../../components/errorbars&quot;),o=t(&quot;./get_trace_color&quot;),s=t(&quot;../../components/color&quot;),l=t(&quot;./fill_hover_text&quot;),c=i.constants.MAXDIST;e.exports=function(t,e,r,u){var f=t.cd,h=f[0].trace,d=t.xa,p=t.ya,m=d.c2p(e),g=p.c2p(r),v=[m,g],y=h.hoveron||&quot;&quot;,x=-1!==h.mode.indexOf(&quot;markers&quot;)?3:.5;if(-1!==y.indexOf(&quot;points&quot;)){var b=function(t){var e=Math.max(3,t.mrc||0),r=1-1/e,n=Math.abs(d.c2p(t.x)-m);return n&lt;e?r*n/e:n-e+r},_=function(t){var e=Math.max(3,t.mrc||0),r=1-1/e,n=Math.abs(p.c2p(t.y)-g);return n&lt;e?r*n/e:n-e+r},w=function(t){var e=Math.max(x,t.mrc||0),r=d.c2p(t.x)-m,n=p.c2p(t.y)-g;return Math.max(Math.sqrt(r*r+n*n)-e,1-x/e)},M=i.getDistanceFunction(u,b,_,w);if(i.getClosest(f,M,t),!1!==t.index){var k=f[t.index],A=d.c2p(k.x,!0),T=p.c2p(k.y,!0),S=k.mrc||1;return n.extendFlat(t,{color:o(h,k),x0:A-S,x1:A+S,xLabelVal:k.x,y0:T-S,y1:T+S,yLabelVal:k.y,kink:Math.max(x,k.mrc||0)}),l(k,h,t),a.hoverInfo(k,h,t),[t]}}if(-1!==y.indexOf(&quot;fills&quot;)&amp;&amp;h._polygons){var E,L,C,z,D,I,P,O,F,R=h._polygons,N=[],j=!1,B=1/0,U=-1/0,V=1/0,q=-1/0;for(E=0;E&lt;R.length;E++)(C=R[E]).contains(v)&amp;&amp;(j=!j,N.push(C),V=Math.min(V,C.ymin),q=Math.max(q,C.ymax));if(j){var H=((V=Math.max(V,0))+(q=Math.min(q,p._length)))/2;for(E=0;E&lt;N.length;E++)for(z=N[E].pts,L=1;L&lt;z.length;L++)(O=z[L-1][1])&gt;H!=(F=z[L][1])&gt;=H&amp;&amp;(I=z[L-1][0],P=z[L][0],F-O&amp;&amp;(D=I+(P-I)*(H-O)/(F-O),B=Math.min(B,D),U=Math.max(U,D)));B=Math.max(B,0),U=Math.min(U,d._length);var G=s.defaultLine;return s.opacity(h.fillcolor)?G=h.fillcolor:s.opacity((h.line||{}).color)&amp;&amp;(G=h.line.color),n.extendFlat(t,{distance:c+10,x0:B,x1:U,y0:H,y1:H,color:G}),delete t.index,h.text&amp;&amp;!Array.isArray(h.text)?t.text=String(h.text):t.text=h.name,[t]}}}},{&quot;../../components/color&quot;:618,&quot;../../components/errorbars&quot;:649,&quot;../../components/fx&quot;:660,&quot;../../lib&quot;:743,&quot;./fill_hover_text&quot;:1074,&quot;./get_trace_color&quot;:1076}],1078:[function(t,e,r){&quot;use strict&quot;;var n={},i=t(&quot;./subtypes&quot;);n.hasLines=i.hasLines,n.hasMarkers=i.hasMarkers,n.hasText=i.hasText,n.isBubble=i.isBubble,n.attributes=t(&quot;./attributes&quot;),n.supplyDefaults=t(&quot;./defaults&quot;),n.cleanData=t(&quot;./clean_data&quot;),n.calc=t(&quot;./calc&quot;).calc,n.arraysToCalcdata=t(&quot;./arrays_to_calcdata&quot;),n.plot=t(&quot;./plot&quot;),n.colorbar=t(&quot;./colorbar&quot;),n.style=t(&quot;./style&quot;).style,n.hoverPoints=t(&quot;./hover&quot;),n.selectPoints=t(&quot;./select&quot;),n.animatable=!0,n.moduleType=&quot;trace&quot;,n.name=&quot;scatter&quot;,n.basePlotModule=t(&quot;../../plots/cartesian&quot;),n.categories=[&quot;cartesian&quot;,&quot;symbols&quot;,&quot;markerColorscale&quot;,&quot;errorBarsOK&quot;,&quot;showLegend&quot;,&quot;scatter-like&quot;],n.meta={},e.exports=n},{&quot;../../plots/cartesian&quot;:800,&quot;./arrays_to_calcdata&quot;:1065,&quot;./attributes&quot;:1066,&quot;./calc&quot;:1067,&quot;./clean_data&quot;:1069,&quot;./colorbar&quot;:1070,&quot;./defaults&quot;:1073,&quot;./hover&quot;:1077,&quot;./plot&quot;:1085,&quot;./select&quot;:1086,&quot;./style&quot;:1087,&quot;./subtypes&quot;:1088}],1079:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../components/colorscale/has_colorscale&quot;),i=t(&quot;../../components/colorscale/defaults&quot;);e.exports=function(t,e,r,a,o,s){var l=(t.marker||{}).color;if(o(&quot;line.color&quot;,r),n(t,&quot;line&quot;))i(t,e,a,o,{prefix:&quot;line.&quot;,cLetter:&quot;c&quot;});else{o(&quot;line.color&quot;,!Array.isArray(l)&amp;&amp;l||r)}o(&quot;line.width&quot;),(s||{}).noDash||o(&quot;line.dash&quot;)}},{&quot;../../components/colorscale/defaults&quot;:628,&quot;../../components/colorscale/has_colorscale&quot;:632}],1080:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../constants/numerical&quot;).BADNUM,i=t(&quot;../../lib&quot;),a=i.segmentsIntersect,o=i.constrain,s=t(&quot;./constants&quot;);e.exports=function(t,e){function r(e){var r=t[e],i=P.c2p(r.x),a=O.c2p(r.y);return i===n||a===n?r.intoCenter||!1:[i,a]}function l(t){var e=t[0]/P._length,r=t[1]/O._length;return(1+s.toleranceGrowth*Math.max(0,-e,e-1,-r,r-1))*N}function c(t,e){var r=t[0]-e[0],n=t[1]-e[1];return Math.sqrt(r*r+n*n)}function u(t,e){for(var r=[],n=0,i=0;i&lt;4;i++){var o=nt[i],s=a(t[0],t[1],e[0],e[1],o[0],o[1],o[2],o[3]);s&amp;&amp;(!n||Math.abs(s.x-r[0][0])&gt;1||Math.abs(s.y-r[0][1])&gt;1)&amp;&amp;(s=[s.x,s.y],n&amp;&amp;c(s,t)&lt;c(r[0],t)?r.unshift(s):r.push(s),n++)}return r}function f(t){if(t[0]&lt;$||t[0]&gt;tt||t[1]&lt;et||t[1]&gt;rt)return[o(t[0],$,tt),o(t[1],et,rt)]}function h(t,e){return t[0]===e[0]&amp;&amp;(t[0]===$||t[0]===tt)||(t[1]===e[1]&amp;&amp;(t[1]===et||t[1]===rt)||void 0)}function d(t,e){var r=[],n=f(t),i=f(e);return n&amp;&amp;i&amp;&amp;h(n,i)?r:(n&amp;&amp;r.push(n),i&amp;&amp;r.push(i),r)}function p(t,e,r){return function(n,a){var o=f(n),s=f(a),l=[];if(o&amp;&amp;s&amp;&amp;h(o,s))return l;o&amp;&amp;l.push(o),s&amp;&amp;l.push(s);var c=2*i.constrain((n[t]+a[t])/2,e,r)-((o||n)[t]+(s||a)[t]);if(c){(o&amp;&amp;s?c&gt;0==o[t]&gt;s[t]?o:s:o||s)[t]+=c}return l}}function m(t){var e=t[0],r=t[1],n=e===q[H-1][0],i=r===q[H-1][1];if(!n||!i)if(H&gt;1){var a=e===q[H-2][0],o=r===q[H-2][1];n&amp;&amp;(e===$||e===tt)&amp;&amp;a?o?H--:q[H-1]=t:i&amp;&amp;(r===et||r===rt)&amp;&amp;o?a?H--:q[H-1]=t:q[H++]=t}else q[H++]=t}function g(t){q[H-1][0]!==t[0]&amp;&amp;q[H-1][1]!==t[1]&amp;&amp;m([W,X]),m(t),Z=null,W=X=0}function v(t){if(G=t[0]&lt;$?$:t[0]&gt;tt?tt:0,Y=t[1]&lt;et?et:t[1]&gt;rt?rt:0,G||Y){if(H)if(Z){var e=K(Z,t);e.length&gt;1&amp;&amp;(g(e[0]),q[H++]=e[1])}else J=K(q[H-1],t)[0],q[H++]=J;else q[H++]=[G||t[0],Y||t[1]];var r=q[H-1];G&amp;&amp;Y&amp;&amp;(r[0]!==G||r[1]!==Y)?(Z&amp;&amp;(W!==G&amp;&amp;X!==Y?m(W&amp;&amp;X?function(t,e){var r=e[0]-t[0],n=(e[1]-t[1])/r;return(t[1]*e[0]-e[1]*t[0])/r&gt;0?[n&gt;0?$:tt,rt]:[n&gt;0?tt:$,et]}(Z,t):[W||G,X||Y]):W&amp;&amp;X&amp;&amp;m([W,X])),m([G,Y])):W-G&amp;&amp;X-Y&amp;&amp;m([G||W,Y||X]),Z=t,W=G,X=Y}else Z&amp;&amp;g(K(Z,t)[0]),q[H++]=t}var y,x,b,_,w,M,k,A,T,S,E,L,C,z,D,I,P=e.xaxis,O=e.yaxis,F=e.simplify,R=e.connectGaps,N=e.baseTolerance,j=e.shape,B=&quot;linear&quot;===j,U=[],V=s.minTolerance,q=new Array(t.length),H=0;F||(N=V=-1);var G,Y,W,X,Z,J,K,Q=s.maxScreensAway,$=-P._length*Q,tt=P._length*(1+Q),et=-O._length*Q,rt=O._length*(1+Q),nt=[[$,et,tt,et],[tt,et,tt,rt],[tt,rt,$,rt],[$,rt,$,et]];for(&quot;linear&quot;===j||&quot;spline&quot;===j?K=u:&quot;hv&quot;===j||&quot;vh&quot;===j?K=d:&quot;hvh&quot;===j?K=p(0,$,tt):&quot;vhv&quot;===j&amp;&amp;(K=p(1,et,rt)),y=0;y&lt;t.length;y++)if(x=r(y)){for(H=0,Z=null,v(x),y++;y&lt;t.length;y++){if(!(_=r(y))){if(R)continue;break}if(B){if(!((S=c(_,x))&lt;l(_)*V)){for(A=[(_[0]-x[0])/S,(_[1]-x[1])/S],w=x,E=S,L=z=D=0,k=!1,b=_,y++;y&lt;t.length;y++){if(!(M=r(y))){if(R)continue;break}if(T=[M[0]-x[0],M[1]-x[1]],I=T[0]*A[1]-T[1]*A[0],z=Math.min(z,I),(D=Math.max(D,I))-z&gt;l(M))break;b=M,(C=T[0]*A[0]+T[1]*A[1])&gt;E?(E=C,_=M,k=!1):C&lt;L&amp;&amp;(L=C,w=M,k=!0)}if(k?(v(_),b!==w&amp;&amp;v(w)):(w!==x&amp;&amp;v(w),b!==_&amp;&amp;v(_)),v(b),y&gt;=t.length||!M)break;v(M),x=M}}else v(_)}Z&amp;&amp;m([W||Z[0],X||Z[1]]),U.push(q.slice(0,H))}return U}},{&quot;../../constants/numerical&quot;:721,&quot;../../lib&quot;:743,&quot;./constants&quot;:1072}],1081:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t,e,r){&quot;spline&quot;===r(&quot;line.shape&quot;)&amp;&amp;r(&quot;line.smoothing&quot;)}},{}],1082:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t,e,r){var n,i,a=null;for(i=0;i&lt;r.length;++i)!0===(n=r[i][0].trace).visible?(n._nexttrace=null,-1!==[&quot;tonextx&quot;,&quot;tonexty&quot;,&quot;tonext&quot;].indexOf(n.fill)&amp;&amp;(n._prevtrace=a,a&amp;&amp;(a._nexttrace=n)),a=n):n._prevtrace=n._nexttrace=null}},{}],1083:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;fast-isnumeric&quot;);e.exports=function(t){var e=t.marker,r=e.sizeref||1,i=e.sizemin||0,a=&quot;area&quot;===e.sizemode?function(t){return Math.sqrt(t/r)}:function(t){return t/r};return function(t){var e=a(t/2);return n(e)&amp;&amp;e&gt;0?Math.max(e,i):0}}},{&quot;fast-isnumeric&quot;:140}],1084:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../components/color&quot;),i=t(&quot;../../components/colorscale/has_colorscale&quot;),a=t(&quot;../../components/colorscale/defaults&quot;),o=t(&quot;./subtypes&quot;);e.exports=function(t,e,r,s,l,c){var u=o.isBubble(t),f=(t.line||{}).color;if(c=c||{},f&amp;&amp;(r=f),l(&quot;marker.symbol&quot;),l(&quot;marker.opacity&quot;,u?.7:1),l(&quot;marker.size&quot;),l(&quot;marker.color&quot;,r),i(t,&quot;marker&quot;)&amp;&amp;a(t,e,s,l,{prefix:&quot;marker.&quot;,cLetter:&quot;c&quot;}),c.noSelect||(l(&quot;selected.marker.color&quot;),l(&quot;unselected.marker.color&quot;),l(&quot;selected.marker.size&quot;),l(&quot;unselected.marker.size&quot;)),c.noLine||(l(&quot;marker.line.color&quot;,f&amp;&amp;!Array.isArray(f)&amp;&amp;e.marker.color!==f?f:u?n.background:n.defaultLine),i(t,&quot;marker.line&quot;)&amp;&amp;a(t,e,s,l,{prefix:&quot;marker.line.&quot;,cLetter:&quot;c&quot;}),l(&quot;marker.line.width&quot;,u?1:0)),u&amp;&amp;(l(&quot;marker.sizeref&quot;),l(&quot;marker.sizemin&quot;),l(&quot;marker.sizemode&quot;)),c.gradient){&quot;none&quot;!==l(&quot;marker.gradient.type&quot;)&amp;&amp;l(&quot;marker.gradient.color&quot;)}}},{&quot;../../components/color&quot;:618,&quot;../../components/colorscale/defaults&quot;:628,&quot;../../components/colorscale/has_colorscale&quot;:632,&quot;./subtypes&quot;:1088}],1085:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,n,u,h,d){function p(t){return w?t.transition():t}function m(t){p(t).attr(&quot;d&quot;,&quot;M0,0Z&quot;)}function g(t){return t.filter(function(t){return t.vis})}function v(t){return t.id}function y(){return!1}function x(e){var n,s,c=e[0].trace,u=i.select(this),f=l.hasMarkers(c),h=l.hasText(c),d=function(t){if(t.ids)return v}(c),m=y,x=y;f&amp;&amp;(m=c.marker.maxdisplayed||c._needsCull?g:a.identity),h&amp;&amp;(x=c.marker.maxdisplayed||c._needsCull?g:a.identity);var b=(n=u.selectAll(&quot;path.point&quot;).data(m,d)).enter().append(&quot;path&quot;).classed(&quot;point&quot;,!0);w&amp;&amp;b.call(o.pointStyle,c,t).call(o.translatePoints,M,k).style(&quot;opacity&quot;,0).transition().style(&quot;opacity&quot;,1);var _=f&amp;&amp;o.tryColorscale(c.marker,&quot;&quot;),A=f&amp;&amp;o.tryColorscale(c.marker,&quot;line&quot;);n.order(),n.each(function(e){var n=i.select(this),a=p(n);(s=o.translatePoint(e,a,M,k))?(o.singlePointStyle(e,a,c,_,A,t),r.layerClipId&amp;&amp;o.hideOutsideRangePoint(e,a,M,k,c.xcalendar,c.ycalendar),c.customdata&amp;&amp;n.classed(&quot;plotly-customdata&quot;,null!==e.data&amp;&amp;void 0!==e.data)):a.remove()}),w?n.exit().transition().style(&quot;opacity&quot;,0).remove():n.exit().remove(),(n=u.selectAll(&quot;g&quot;).data(x,d)).enter().append(&quot;g&quot;).classed(&quot;textpoint&quot;,!0).append(&quot;text&quot;),n.order(),n.each(function(t){var e=i.select(this),n=p(e.select(&quot;text&quot;));(s=o.translatePoint(t,n,M,k))?r.layerClipId&amp;&amp;o.hideOutsideRangePoint(t,e,M,k,c.xcalendar,c.ycalendar):e.remove()}),n.selectAll(&quot;text&quot;).call(o.textPointStyle,c,t).each(function(t){var e=M.c2p(t.x),r=k.c2p(t.y);i.select(this).selectAll(&quot;tspan.line&quot;).each(function(){p(i.select(this)).attr({x:e,y:r})})}),n.exit().remove()}var b,_;!function(t,e,r,n,o){var s=r.xaxis,c=r.yaxis,u=i.extent(a.simpleMap(s.range,s.r2c)),f=i.extent(a.simpleMap(c.range,c.r2c)),h=n[0].trace;if(!l.hasMarkers(h))return;var d=h.marker.maxdisplayed;if(0===d)return;var p=n.filter(function(t){return t.x&gt;=u[0]&amp;&amp;t.x&lt;=u[1]&amp;&amp;t.y&gt;=f[0]&amp;&amp;t.y&lt;=f[1]}),m=Math.ceil(p.length/d),g=0;o.forEach(function(t,r){var n=t[0].trace;l.hasMarkers(n)&amp;&amp;n.marker.maxdisplayed&gt;0&amp;&amp;r&lt;e&amp;&amp;g++});var v=Math.round(g*m/3+Math.floor(g/3)*m/7.1);n.forEach(function(t){delete t.vis}),p.forEach(function(t,e){0===Math.round((e+v)%m)&amp;&amp;(t.vis=!0)})}(0,e,r,n,u);var w=!!d&amp;&amp;d.duration&gt;0,M=r.xaxis,k=r.yaxis,A=n[0].trace,T=A.line,S=i.select(h);if(S.call(s.plot,r,d),!0===A.visible){p(S).style(&quot;opacity&quot;,A.opacity);var E,L,C=A.fill.charAt(A.fill.length-1);&quot;x&quot;!==C&amp;&amp;&quot;y&quot;!==C&amp;&amp;(C=&quot;&quot;),n[0].node3=S;var z=&quot;&quot;,D=[],I=A._prevtrace;I&amp;&amp;(z=I._prevRevpath||&quot;&quot;,L=I._nextFill,D=I._polygons);var P,O,F,R,N,j,B,U,V,q=&quot;&quot;,H=&quot;&quot;,G=[],Y=a.noop;if(E=A._ownFill,l.hasLines(A)||&quot;none&quot;!==A.fill){for(L&amp;&amp;L.datum(n),-1!==[&quot;hv&quot;,&quot;vh&quot;,&quot;hvh&quot;,&quot;vhv&quot;].indexOf(T.shape)?(F=o.steps(T.shape),R=o.steps(T.shape.split(&quot;&quot;).reverse().join(&quot;&quot;))):F=R=&quot;spline&quot;===T.shape?function(t){var e=t[t.length-1];return t.length&gt;1&amp;&amp;t[0][0]===e[0]&amp;&amp;t[0][1]===e[1]?o.smoothclosed(t.slice(1),T.smoothing):o.smoothopen(t,T.smoothing)}:function(t){return&quot;M&quot;+t.join(&quot;L&quot;)},N=function(t){return R(t.reverse())},G=c(n,{xaxis:M,yaxis:k,connectGaps:A.connectgaps,baseTolerance:Math.max(T.width||1,3)/4,shape:T.shape,simplify:T.simplify}),V=A._polygons=new Array(G.length),_=0;_&lt;G.length;_++)A._polygons[_]=f(G[_]);G.length&amp;&amp;(j=G[0][0],U=(B=G[G.length-1])[B.length-1]),Y=function(t){return function(e){if(P=F(e),O=N(e),q?C?(q+=&quot;L&quot;+P.substr(1),H=O+&quot;L&quot;+H.substr(1)):(q+=&quot;Z&quot;+P,H=O+&quot;Z&quot;+H):(q=P,H=O),l.hasLines(A)&amp;&amp;e.length&gt;1){var r=i.select(this);if(r.datum(n),t)p(r.style(&quot;opacity&quot;,0).attr(&quot;d&quot;,P).call(o.lineGroupStyle)).style(&quot;opacity&quot;,1);else{var a=p(r);a.attr(&quot;d&quot;,P),o.singleLineStyle(n,a)}}}}}var W=S.selectAll(&quot;.js-line&quot;).data(G);p(W.exit()).style(&quot;opacity&quot;,0).remove(),W.each(Y(!1)),W.enter().append(&quot;path&quot;).classed(&quot;js-line&quot;,!0).style(&quot;vector-effect&quot;,&quot;non-scaling-stroke&quot;).call(o.lineGroupStyle).each(Y(!0)),o.setClipUrl(W,r.layerClipId),G.length?(E?j&amp;&amp;U&amp;&amp;(C?(&quot;y&quot;===C?j[1]=U[1]=k.c2p(0,!0):&quot;x&quot;===C&amp;&amp;(j[0]=U[0]=M.c2p(0,!0)),p(E).attr(&quot;d&quot;,&quot;M&quot;+U+&quot;L&quot;+j+&quot;L&quot;+q.substr(1)).call(o.singleFillStyle)):p(E).attr(&quot;d&quot;,q+&quot;Z&quot;).call(o.singleFillStyle)):L&amp;&amp;(&quot;tonext&quot;===A.fill.substr(0,6)&amp;&amp;q&amp;&amp;z?(&quot;tonext&quot;===A.fill?p(L).attr(&quot;d&quot;,q+&quot;Z&quot;+z+&quot;Z&quot;).call(o.singleFillStyle):p(L).attr(&quot;d&quot;,q+&quot;L&quot;+z.substr(1)+&quot;Z&quot;).call(o.singleFillStyle),A._polygons=A._polygons.concat(D)):(m(L),A._polygons=null)),A._prevRevpath=H,A._prevPolygons=V):(E?m(E):L&amp;&amp;m(L),A._polygons=A._prevRevpath=A._prevPolygons=null);var X=S.selectAll(&quot;.points&quot;);b=X.data([n]),X.each(x),b.enter().append(&quot;g&quot;).classed(&quot;points&quot;,!0).each(x),b.exit().remove(),b.each(function(t){var e=!1===t[0].trace.cliponaxis;o.setClipUrl(i.select(this),e?null:r.layerClipId)})}}var i=t(&quot;d3&quot;),a=t(&quot;../../lib&quot;),o=t(&quot;../../components/drawing&quot;),s=t(&quot;../../components/errorbars&quot;),l=t(&quot;./subtypes&quot;),c=t(&quot;./line_points&quot;),u=t(&quot;./link_traces&quot;),f=t(&quot;../../lib/polygon&quot;).tester;e.exports=function(t,e,r,a,s){var l,c,f,h,d=e.plot.select(&quot;g.scatterlayer&quot;),p=!a,m=!!a&amp;&amp;a.duration&gt;0;for((f=d.selectAll(&quot;g.trace&quot;).data(r,function(t){return t[0].trace.uid})).enter().append(&quot;g&quot;).attr(&quot;class&quot;,function(t){return&quot;trace scatter trace&quot;+t[0].trace.uid}).style(&quot;stroke-miterlimit&quot;,2),u(t,e,r),function(t,e,r){var n;e.selectAll(&quot;g.trace&quot;).each(function(t){var e=i.select(this);if((n=t[0].trace)._nexttrace){if(n._nextFill=e.select(&quot;.js-fill.js-tonext&quot;),!n._nextFill.size()){var a=&quot;:first-child&quot;;e.select(&quot;.js-fill.js-tozero&quot;).size()&amp;&amp;(a+=&quot; + *&quot;),n._nextFill=e.insert(&quot;path&quot;,a).attr(&quot;class&quot;,&quot;js-fill js-tonext&quot;)}}else e.selectAll(&quot;.js-fill.js-tonext&quot;).remove(),n._nextFill=null;n.fill&amp;&amp;(&quot;tozero&quot;===n.fill.substr(0,6)||&quot;toself&quot;===n.fill||&quot;to&quot;===n.fill.substr(0,2)&amp;&amp;!n._prevtrace)?(n._ownFill=e.select(&quot;.js-fill.js-tozero&quot;),n._ownFill.size()||(n._ownFill=e.insert(&quot;path&quot;,&quot;:first-child&quot;).attr(&quot;class&quot;,&quot;js-fill js-tozero&quot;))):(e.selectAll(&quot;.js-fill.js-tozero&quot;).remove(),n._ownFill=null),e.selectAll(&quot;.js-fill&quot;).call(o.setClipUrl,r.layerClipId)})}(0,d,e),l=0,c={};l&lt;r.length;l++)c[r[l][0].trace.uid]=l;if(d.selectAll(&quot;g.trace&quot;).sort(function(t,e){return c[t[0].trace.uid]&gt;c[e[0].trace.uid]?1:-1}),m){s&amp;&amp;(h=s());i.transition().duration(a.duration).ease(a.easing).each(&quot;end&quot;,function(){h&amp;&amp;h()}).each(&quot;interrupt&quot;,function(){h&amp;&amp;h()}).each(function(){d.selectAll(&quot;g.trace&quot;).each(function(i,o){n(t,o,e,i,r,this,a)})})}else d.selectAll(&quot;g.trace&quot;).each(function(i,o){n(t,o,e,i,r,this,a)});p&amp;&amp;f.exit().remove(),d.selectAll(&quot;path:not([d])&quot;).remove()}},{&quot;../../components/drawing&quot;:643,&quot;../../components/errorbars&quot;:649,&quot;../../lib&quot;:743,&quot;../../lib/polygon&quot;:755,&quot;./line_points&quot;:1080,&quot;./link_traces&quot;:1082,&quot;./subtypes&quot;:1088,d3:128}],1086:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;./subtypes&quot;);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)&amp;&amp;!n.hasText(f))return[];if(!1===e)for(r=0;r&lt;s.length;r++)s[r].selected=0;else for(r=0;r&lt;s.length;r++)i=s[r],a=l.c2p(i.x),o=c.c2p(i.y),e.contains([a,o])?(u.push({pointNumber:r,x:l.c2d(i.x),y:c.c2d(i.y)}),i.selected=1):i.selected=0;return u}},{&quot;./subtypes&quot;:1088}],1087:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r){var n=t.selectAll(&quot;path.point&quot;),i=t.selectAll(&quot;text&quot;);a.pointStyle(n,e,r),a.textPointStyle(i,e,r),a.selectedPointStyle(n,e),a.selectedTextStyle(i,e)}var i=t(&quot;d3&quot;),a=t(&quot;../../components/drawing&quot;),o=t(&quot;../../components/errorbars&quot;);e.exports={style:function(t,e){var r=e?e[0].node3:i.select(t).selectAll(&quot;g.trace.scatter&quot;);r.style(&quot;opacity&quot;,function(t){return t[0].trace.opacity}),r.selectAll(&quot;g.points&quot;).each(function(e){n(i.select(this),e.trace||e[0].trace,t)}),r.selectAll(&quot;g.trace path.js-line&quot;).call(a.lineGroupStyle),r.selectAll(&quot;g.trace path.js-fill&quot;).call(a.fillGroupStyle),r.call(o.style)},stylePoints:n}},{&quot;../../components/drawing&quot;:643,&quot;../../components/errorbars&quot;:649,d3:128}],1088:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib&quot;);e.exports={hasLines:function(t){return t.visible&amp;&amp;t.mode&amp;&amp;-1!==t.mode.indexOf(&quot;lines&quot;)},hasMarkers:function(t){return t.visible&amp;&amp;t.mode&amp;&amp;-1!==t.mode.indexOf(&quot;markers&quot;)},hasText:function(t){return t.visible&amp;&amp;t.mode&amp;&amp;-1!==t.mode.indexOf(&quot;text&quot;)},isBubble:function(t){return n.isPlainObject(t.marker)&amp;&amp;Array.isArray(t.marker.size)}}},{&quot;../../lib&quot;:743}],1089:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib&quot;);e.exports=function(t,e,r,i,a){a=a||{},i(&quot;textposition&quot;),n.coerceFont(i,&quot;textfont&quot;,r.font),a.noSelect||(i(&quot;selected.textfont.color&quot;),i(&quot;unselected.textfont.color&quot;))}},{&quot;../../lib&quot;:743}],1090:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../registry&quot;);e.exports=function(t,e,r,i){var a,o=i(&quot;x&quot;),s=i(&quot;y&quot;);if(n.getComponentMethod(&quot;calendars&quot;,&quot;handleTraceDefaults&quot;)(t,e,[&quot;x&quot;,&quot;y&quot;],r),o)s?((a=Math.min(o.length,s.length))&lt;o.length&amp;&amp;(e.x=o.slice(0,a)),a&lt;s.length&amp;&amp;(e.y=s.slice(0,a))):(a=o.length,i(&quot;y0&quot;),i(&quot;dy&quot;));else{if(!s)return 0;a=e.y.length,i(&quot;x0&quot;),i(&quot;dx&quot;)}return a}},{&quot;../../registry&quot;:873}],1091:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../scatter/attributes&quot;),i=t(&quot;../../components/colorscale/color_attributes&quot;),a=t(&quot;../../components/errorbars/attributes&quot;),o=t(&quot;../../constants/gl3d_dashes&quot;),s=t(&quot;../../constants/gl3d_markers&quot;),l=t(&quot;../../lib/extend&quot;).extendFlat,c=t(&quot;../../plot_api/edit_types&quot;).overrideAll,u=n.line,f=n.marker,h=f.line,d=e.exports=c({x:n.x,y:n.y,z:{valType:&quot;data_array&quot;},text:l({},n.text,{}),hovertext:l({},n.hovertext,{}),mode:l({},n.mode,{dflt:&quot;lines+markers&quot;}),surfaceaxis:{valType:&quot;enumerated&quot;,values:[-1,0,1,2],dflt:-1},surfacecolor:{valType:&quot;color&quot;},projection:{x:{show:{valType:&quot;boolean&quot;,dflt:!1},opacity:{valType:&quot;number&quot;,min:0,max:1,dflt:1},scale:{valType:&quot;number&quot;,min:0,max:10,dflt:2/3}},y:{show:{valType:&quot;boolean&quot;,dflt:!1},opacity:{valType:&quot;number&quot;,min:0,max:1,dflt:1},scale:{valType:&quot;number&quot;,min:0,max:10,dflt:2/3}},z:{show:{valType:&quot;boolean&quot;,dflt:!1},opacity:{valType:&quot;number&quot;,min:0,max:1,dflt:1},scale:{valType:&quot;number&quot;,min:0,max:10,dflt:2/3}}},connectgaps:n.connectgaps,line:l({width:u.width,dash:{valType:&quot;enumerated&quot;,values:Object.keys(o),dflt:&quot;solid&quot;},showscale:{valType:&quot;boolean&quot;,dflt:!1}},i(&quot;line&quot;)),marker:l({symbol:{valType:&quot;enumerated&quot;,values:Object.keys(s),dflt:&quot;circle&quot;,arrayOk:!0},size:l({},f.size,{dflt:8}),sizeref:f.sizeref,sizemin:f.sizemin,sizemode:f.sizemode,opacity:l({},f.opacity,{arrayOk:!1}),showscale:f.showscale,colorbar:f.colorbar,line:l({width:l({},h.width,{arrayOk:!1})},i(&quot;marker.line&quot;))},i(&quot;marker&quot;)),textposition:l({},n.textposition,{dflt:&quot;top center&quot;}),textfont:n.textfont,error_x:a,error_y:a,error_z:a},&quot;calc&quot;,&quot;nested&quot;);d.x.editType=d.y.editType=d.z.editType=&quot;calc+clearAxisTypes&quot;},{&quot;../../components/colorscale/color_attributes&quot;:626,&quot;../../components/errorbars/attributes&quot;:645,&quot;../../constants/gl3d_dashes&quot;:718,&quot;../../constants/gl3d_markers&quot;:719,&quot;../../lib/extend&quot;:732,&quot;../../plot_api/edit_types&quot;:773,&quot;../scatter/attributes&quot;:1066}],1092:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../scatter/arrays_to_calcdata&quot;),i=t(&quot;../scatter/colorscale_calc&quot;);e.exports=function(t,e){var r=[{x:!1,y:!1,trace:e,t:{}}];return n(r,e),i(e),r}},{&quot;../scatter/arrays_to_calcdata&quot;:1065,&quot;../scatter/colorscale_calc&quot;:1071}],1093:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r){if(!e||!e.visible)return null;for(var n=i(e),a=new Array(t.length),o=0;o&lt;t.length;o++){var s=n(+t[o],o);a[o]=[-s[0]*r,s[1]*r]}return a}var i=t(&quot;../../components/errorbars/compute_error&quot;);e.exports=function(t,e){var r=[n(t.x,t.error_x,e[0]),n(t.y,t.error_y,e[1]),n(t.z,t.error_z,e[2])],i=function(t){for(var e=0;e&lt;t.length;e++)if(t[e])return t[e].length;return 0}(r);if(0===i)return null;for(var a=new Array(i),o=0;o&lt;i;o++){for(var s=[[0,0,0],[0,0,0]],l=0;l&lt;3;l++)if(r[l])for(var c=0;c&lt;2;c++)s[c][l]=r[l][o][c];a[o]=s}return a}},{&quot;../../components/errorbars/compute_error&quot;:647}],1094:[function(t,e,r){&quot;use strict&quot;;function n(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=&quot;&quot;,this.dataPoints=[],this.axesBounds=[[-1/0,-1/0,-1/0],[1/0,1/0,1/0]],this.textLabels=null,this.data=null}function i(t,e){return e(4*t)}function a(t){return x[t]}function o(t,e,r,n,i){var a=null;if(Array.isArray(t)){a=[];for(var o=0;o&lt;e;o++)void 0===t[o]?a[o]=n:a[o]=r(t[o],i)}else a=r(t,p.identity);return a}function s(t,e){var r,n,s,l,c,u,f=[],h=t.fullSceneLayout,d=t.dataScale,y=h.xaxis,x=h.yaxis,_=h.zaxis,w=e.marker,M=e.line,k=e.x||[],A=e.y||[],T=e.z||[],S=k.length,E=e.xcalendar,L=e.ycalendar,C=e.zcalendar;for(n=0;n&lt;S;n++)s=y.d2l(k[n],0,E)*d[0],l=x.d2l(A[n],0,L)*d[1],c=_.d2l(T[n],0,C)*d[2],f[n]=[s,l,c];if(Array.isArray(e.text))u=e.text;else if(void 0!==e.text)for(u=new Array(S),n=0;n&lt;S;n++)u[n]=e.text;if(r={position:f,mode:e.mode,text:u},&quot;line&quot;in e&amp;&amp;(r.lineColor=g(M,1,S),r.lineWidth=M.width,r.lineDashes=M.dash),&quot;marker&quot;in e){var z=v(e);r.scatterColor=g(w,1,S),r.scatterSize=o(w.size,S,i,20,z),r.scatterMarker=o(w.symbol,S,a,&quot;\u25cf&quot;),r.scatterLineWidth=w.line.width,r.scatterLineColor=g(w.line,1,S),r.scatterAngle=0}&quot;textposition&quot;in e&amp;&amp;(r.textOffset=function(t){var e=[0,0];return Array.isArray(t)?[0,-1]:(t.indexOf(&quot;bottom&quot;)&gt;=0&amp;&amp;(e[1]+=1),t.indexOf(&quot;top&quot;)&gt;=0&amp;&amp;(e[1]-=1),t.indexOf(&quot;left&quot;)&gt;=0&amp;&amp;(e[0]-=1),t.indexOf(&quot;right&quot;)&gt;=0&amp;&amp;(e[0]+=1),e)}(e.textposition),r.textColor=g(e.textfont,1,S),r.textSize=o(e.textfont.size,S,p.identity,12),r.textFont=e.textfont.family,r.textAngle=0);var D=[&quot;x&quot;,&quot;y&quot;,&quot;z&quot;];for(r.project=[!1,!1,!1],r.projectScale=[1,1,1],r.projectOpacity=[1,1,1],n=0;n&lt;3;++n){var I=e.projection[D[n]];(r.project[n]=I.show)&amp;&amp;(r.projectOpacity[n]=I.opacity,r.projectScale[n]=I.scale)}r.errorBounds=b(e,d);var P=function(t){for(var e=[0,0,0],r=[[0,0,0],[0,0,0],[0,0,0]],n=[0,0,0],i=0;i&lt;3;i++){var a=t[i];a&amp;&amp;!1!==a.copy_zstyle&amp;&amp;(a=t[2]),a&amp;&amp;(e[i]=a.width/2,r[i]=m(a.color),n=a.thickness)}return{capSize:e,color:r,lineWidth:n}}([e.error_x,e.error_y,e.error_z]);return r.errorColor=P.color,r.errorLineWidth=P.lineWidth,r.errorCapSize=P.capSize,r.delaunayAxis=e.surfaceaxis,r.delaunayColor=m(e.surfacecolor),r}function l(t){if(Array.isArray(t)){var e=t[0];return Array.isArray(e)&amp;&amp;(t=e),&quot;rgb(&quot;+t.slice(0,3).map(function(t){return Math.round(255*t)})+&quot;)&quot;}return null}var c=t(&quot;gl-line3d&quot;),u=t(&quot;gl-scatter3d&quot;),f=t(&quot;gl-error3d&quot;),h=t(&quot;gl-mesh3d&quot;),d=t(&quot;delaunay-triangulate&quot;),p=t(&quot;../../lib&quot;),m=t(&quot;../../lib/str2rgbarray&quot;),g=t(&quot;../../lib/gl_format_color&quot;),v=t(&quot;../scatter/make_bubble_size_func&quot;),y=t(&quot;../../constants/gl3d_dashes&quot;),x=t(&quot;../../constants/gl3d_markers&quot;),b=t(&quot;./calc_errors&quot;),_=n.prototype;_.handlePick=function(t){if(t.object&amp;&amp;(t.object===this.linePlot||t.object===this.delaunayMesh||t.object===this.textMarkers||t.object===this.scatterPlot)){t.object.highlight&amp;&amp;t.object.highlight(null),this.scatterPlot&amp;&amp;(t.object=this.scatterPlot,this.scatterPlot.highlight(t.data)),this.textLabels?void 0!==this.textLabels[t.data.index]?t.textLabel=this.textLabels[t.data.index]:t.textLabel=this.textLabels:t.textLabel=&quot;&quot;;var e=t.index=t.data.index;return t.traceCoordinate=[this.data.x[e],this.data.y[e],this.data.z[e]],!0}},_.update=function(t){var e,r,n,i,a=this.scene.glplot.gl,o=y.solid;this.data=t;var p=s(this.scene,t);&quot;mode&quot;in p&amp;&amp;(this.mode=p.mode),&quot;lineDashes&quot;in p&amp;&amp;p.lineDashes in y&amp;&amp;(o=y[p.lineDashes]),this.color=l(p.scatterColor)||l(p.lineColor),this.dataPoints=p.position,e={gl:a,position:p.position,color:p.lineColor,lineWidth:p.lineWidth||1,dashes:o[0],dashScale:o[1],opacity:t.opacity,connectGaps:t.connectgaps},-1!==this.mode.indexOf(&quot;lines&quot;)?this.linePlot?this.linePlot.update(e):(this.linePlot=c(e),this.linePlot._trace=this,this.scene.glplot.add(this.linePlot)):this.linePlot&amp;&amp;(this.scene.glplot.remove(this.linePlot),this.linePlot.dispose(),this.linePlot=null);var m=t.opacity;if(t.marker&amp;&amp;t.marker.opacity&amp;&amp;(m*=t.marker.opacity),r={gl:a,position:p.position,color:p.scatterColor,size:p.scatterSize,glyph:p.scatterMarker,opacity:m,orthographic:!0,lineWidth:p.scatterLineWidth,lineColor:p.scatterLineColor,project:p.project,projectScale:p.projectScale,projectOpacity:p.projectOpacity},-1!==this.mode.indexOf(&quot;markers&quot;)?this.scatterPlot?this.scatterPlot.update(r):(this.scatterPlot=u(r),this.scatterPlot._trace=this,this.scatterPlot.highlightScale=1,this.scene.glplot.add(this.scatterPlot)):this.scatterPlot&amp;&amp;(this.scene.glplot.remove(this.scatterPlot),this.scatterPlot.dispose(),this.scatterPlot=null),i={gl:a,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(&quot;text&quot;)?this.textMarkers?this.textMarkers.update(i):(this.textMarkers=u(i),this.textMarkers._trace=this,this.textMarkers.highlightScale=1,this.scene.glplot.add(this.textMarkers)):this.textMarkers&amp;&amp;(this.scene.glplot.remove(this.textMarkers),this.textMarkers.dispose(),this.textMarkers=null),n={gl:a,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(n):(this.scene.glplot.remove(this.errorBars),this.errorBars.dispose(),this.errorBars=null):p.errorBounds&amp;&amp;(this.errorBars=f(n),this.errorBars._trace=this,this.scene.glplot.add(this.errorBars)),p.delaunayAxis&gt;=0){var g=function(t,e,r){var n,i=(r+1)%3,a=(r+2)%3,o=[],s=[];for(n=0;n&lt;t.length;++n){var l=t[n];!isNaN(l[i])&amp;&amp;isFinite(l[i])&amp;&amp;!isNaN(l[a])&amp;&amp;isFinite(l[a])&amp;&amp;(o.push([l[i],l[a]]),s.push(n))}var c=d(o);for(n=0;n&lt;c.length;++n)for(var u=c[n],f=0;f&lt;u.length;++f)u[f]=s[u[f]];return{positions:t,cells:c,meshColor:e}}(p.position,p.delaunayColor,p.delaunayAxis);g.opacity=t.opacity,this.delaunayMesh?this.delaunayMesh.update(g):(g.gl=a,this.delaunayMesh=h(g),this.delaunayMesh._trace=this,this.scene.glplot.add(this.delaunayMesh))}else this.delaunayMesh&amp;&amp;(this.scene.glplot.remove(this.delaunayMesh),this.delaunayMesh.dispose(),this.delaunayMesh=null)},_.dispose=function(){this.linePlot&amp;&amp;(this.scene.glplot.remove(this.linePlot),this.linePlot.dispose()),this.scatterPlot&amp;&amp;(this.scene.glplot.remove(this.scatterPlot),this.scatterPlot.dispose()),this.errorBars&amp;&amp;(this.scene.glplot.remove(this.errorBars),this.errorBars.dispose()),this.textMarkers&amp;&amp;(this.scene.glplot.remove(this.textMarkers),this.textMarkers.dispose()),this.delaunayMesh&amp;&amp;(this.scene.glplot.remove(this.delaunayMesh),this.delaunayMesh.dispose())},e.exports=function(t,e){var r=new n(t,e.uid);return r.update(e),r}},{&quot;../../constants/gl3d_dashes&quot;:718,&quot;../../constants/gl3d_markers&quot;:719,&quot;../../lib&quot;:743,&quot;../../lib/gl_format_color&quot;:739,&quot;../../lib/str2rgbarray&quot;:765,&quot;../scatter/make_bubble_size_func&quot;:1083,&quot;./calc_errors&quot;:1093,&quot;delaunay-triangulate&quot;:130,&quot;gl-error3d&quot;:168,&quot;gl-line3d&quot;:177,&quot;gl-mesh3d&quot;:210,&quot;gl-scatter3d&quot;:239}],1095:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../registry&quot;),i=t(&quot;../../lib&quot;),a=t(&quot;../scatter/subtypes&quot;),o=t(&quot;../scatter/marker_defaults&quot;),s=t(&quot;../scatter/line_defaults&quot;),l=t(&quot;../scatter/text_defaults&quot;),c=t(&quot;../../components/errorbars/defaults&quot;),u=t(&quot;./attributes&quot;);e.exports=function(t,e,r,f){function h(r,n){return i.coerce(t,e,u,r,n)}if(function(t,e,r,i){var a=0,o=r(&quot;x&quot;),s=r(&quot;y&quot;),l=r(&quot;z&quot;);return n.getComponentMethod(&quot;calendars&quot;,&quot;handleTraceDefaults&quot;)(t,e,[&quot;x&quot;,&quot;y&quot;,&quot;z&quot;],i),o&amp;&amp;s&amp;&amp;l&amp;&amp;((a=Math.min(o.length,s.length,l.length))&lt;o.length&amp;&amp;(e.x=o.slice(0,a)),a&lt;s.length&amp;&amp;(e.y=s.slice(0,a)),a&lt;l.length&amp;&amp;(e.z=l.slice(0,a))),a}(t,e,h,f)){h(&quot;text&quot;),h(&quot;hovertext&quot;),h(&quot;mode&quot;),a.hasLines(e)&amp;&amp;(h(&quot;connectgaps&quot;),s(t,e,r,f,h)),a.hasMarkers(e)&amp;&amp;o(t,e,r,f,h,{noSelect:!0}),a.hasText(e)&amp;&amp;l(t,e,f,h,{noSelect:!0});var d=(e.line||{}).color,p=(e.marker||{}).color;h(&quot;surfaceaxis&quot;)&gt;=0&amp;&amp;h(&quot;surfacecolor&quot;,d||p);for(var m=[&quot;x&quot;,&quot;y&quot;,&quot;z&quot;],g=0;g&lt;3;++g){var v=&quot;projection.&quot;+m[g];h(v+&quot;.show&quot;)&amp;&amp;(h(v+&quot;.opacity&quot;),h(v+&quot;.scale&quot;))}c(t,e,r,{axis:&quot;z&quot;}),c(t,e,r,{axis:&quot;y&quot;,inherit:&quot;z&quot;}),c(t,e,r,{axis:&quot;x&quot;,inherit:&quot;z&quot;})}else e.visible=!1}},{&quot;../../components/errorbars/defaults&quot;:648,&quot;../../lib&quot;:743,&quot;../../registry&quot;:873,&quot;../scatter/line_defaults&quot;:1079,&quot;../scatter/marker_defaults&quot;:1084,&quot;../scatter/subtypes&quot;:1088,&quot;../scatter/text_defaults&quot;:1089,&quot;./attributes&quot;:1091}],1096:[function(t,e,r){&quot;use strict&quot;;var n={};n.plot=t(&quot;./convert&quot;),n.attributes=t(&quot;./attributes&quot;),n.markerSymbols=t(&quot;../../constants/gl3d_markers&quot;),n.supplyDefaults=t(&quot;./defaults&quot;),n.colorbar=t(&quot;../scatter/colorbar&quot;),n.calc=t(&quot;./calc&quot;),n.moduleType=&quot;trace&quot;,n.name=&quot;scatter3d&quot;,n.basePlotModule=t(&quot;../../plots/gl3d&quot;),n.categories=[&quot;gl3d&quot;,&quot;symbols&quot;,&quot;markerColorscale&quot;,&quot;showLegend&quot;],n.meta={},e.exports=n},{&quot;../../constants/gl3d_markers&quot;:719,&quot;../../plots/gl3d&quot;:832,&quot;../scatter/colorbar&quot;:1070,&quot;./attributes&quot;:1091,&quot;./calc&quot;:1092,&quot;./convert&quot;:1094,&quot;./defaults&quot;:1095}],1097:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../scatter/attributes&quot;),i=t(&quot;../../plots/attributes&quot;),a=t(&quot;../../components/colorscale/color_attributes&quot;),o=t(&quot;../../components/colorbar/attributes&quot;),s=t(&quot;../../lib/extend&quot;).extendFlat,l=n.marker,c=n.line,u=l.line;e.exports={carpet:{valType:&quot;string&quot;,editType:&quot;calc&quot;},a:{valType:&quot;data_array&quot;,editType:&quot;calc&quot;},b:{valType:&quot;data_array&quot;,editType:&quot;calc&quot;},mode:s({},n.mode,{dflt:&quot;markers&quot;}),text:s({},n.text,{}),line:{color:c.color,width:c.width,dash:c.dash,shape:s({},c.shape,{values:[&quot;linear&quot;,&quot;spline&quot;]}),smoothing:c.smoothing,editType:&quot;calc&quot;},connectgaps:n.connectgaps,fill:s({},n.fill,{values:[&quot;none&quot;,&quot;toself&quot;,&quot;tonext&quot;]}),fillcolor:n.fillcolor,marker:s({symbol:l.symbol,opacity:l.opacity,maxdisplayed:l.maxdisplayed,size:l.size,sizeref:l.sizeref,sizemin:l.sizemin,sizemode:l.sizemode,line:s({width:u.width,editType:&quot;calc&quot;},a(&quot;marker&quot;.line)),gradient:l.gradient,editType:&quot;calc&quot;},a(&quot;marker&quot;),{showscale:l.showscale,colorbar:o}),textfont:n.textfont,textposition:n.textposition,selected:n.selected,unselected:n.unselected,hoverinfo:s({},i.hoverinfo,{flags:[&quot;a&quot;,&quot;b&quot;,&quot;text&quot;,&quot;name&quot;]}),hoveron:n.hoveron}},{&quot;../../components/colorbar/attributes&quot;:619,&quot;../../components/colorscale/color_attributes&quot;:626,&quot;../../lib/extend&quot;:732,&quot;../../plots/attributes&quot;:787,&quot;../scatter/attributes&quot;:1066}],1098:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;fast-isnumeric&quot;),i=t(&quot;../scatter/colorscale_calc&quot;),a=t(&quot;../scatter/arrays_to_calcdata&quot;),o=t(&quot;../scatter/calc_selection&quot;),s=t(&quot;../scatter/calc&quot;).calcMarkerSize,l=t(&quot;../carpet/lookup_carpetid&quot;);e.exports=function(t,e){var r=e.carpetTrace=l(t,e);if(r&amp;&amp;r.visible&amp;&amp;&quot;legendonly&quot;!==r.visible){var c;e.xaxis=r.xaxis,e.yaxis=r.yaxis;var u,f,h=e.a.length,d=new Array(h),p=!1;for(c=0;c&lt;h;c++)if(u=e.a[c],f=e.b[c],n(u)&amp;&amp;n(f)){var m=r.ab2xy(+u,+f,!0),g=r.isVisible(+u,+f);g||(p=!0),d[c]={x:m[0],y:m[1],a:u,b:f,vis:g}}else d[c]={x:!1,y:!1};return e._needsCull=p,d[0].carpet=r,d[0].trace=e,s(e,h),i(e),a(d,e),o(d,e),d}}},{&quot;../carpet/lookup_carpetid&quot;:931,&quot;../scatter/arrays_to_calcdata&quot;:1065,&quot;../scatter/calc&quot;:1067,&quot;../scatter/calc_selection&quot;:1068,&quot;../scatter/colorscale_calc&quot;:1071,&quot;fast-isnumeric&quot;:140}],1099:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib&quot;),i=t(&quot;../scatter/constants&quot;),a=t(&quot;../scatter/subtypes&quot;),o=t(&quot;../scatter/marker_defaults&quot;),s=t(&quot;../scatter/line_defaults&quot;),l=t(&quot;../scatter/line_shape_defaults&quot;),c=t(&quot;../scatter/text_defaults&quot;),u=t(&quot;../scatter/fillcolor_defaults&quot;),f=t(&quot;./attributes&quot;);e.exports=function(t,e,r,h){function d(r,i){return n.coerce(t,e,f,r,i)}d(&quot;carpet&quot;),e.xaxis=&quot;x&quot;,e.yaxis=&quot;y&quot;;var p,m=d(&quot;a&quot;),g=d(&quot;b&quot;);if(p=Math.min(m.length,g.length)){m&amp;&amp;p&lt;m.length&amp;&amp;(e.a=m.slice(0,p)),g&amp;&amp;p&lt;g.length&amp;&amp;(e.b=g.slice(0,p)),d(&quot;text&quot;);d(&quot;mode&quot;,p&lt;i.PTS_LINESONLY?&quot;lines+markers&quot;:&quot;lines&quot;),a.hasLines(e)&amp;&amp;(s(t,e,r,h,d),l(t,e,d),d(&quot;connectgaps&quot;)),a.hasMarkers(e)&amp;&amp;o(t,e,r,h,d,{gradient:!0}),a.hasText(e)&amp;&amp;c(t,e,h,d);var v=[];(a.hasMarkers(e)||a.hasText(e))&amp;&amp;(d(&quot;marker.maxdisplayed&quot;),v.push(&quot;points&quot;)),d(&quot;fill&quot;),&quot;none&quot;!==e.fill&amp;&amp;(u(t,e,r,d),a.hasLines(e)||l(t,e,d)),&quot;tonext&quot;!==e.fill&amp;&amp;&quot;toself&quot;!==e.fill||v.push(&quot;fills&quot;),d(&quot;hoveron&quot;,v.join(&quot;+&quot;)||&quot;points&quot;),n.coerceSelectionMarkerOpacity(e,d)}else e.visible=!1}},{&quot;../../lib&quot;:743,&quot;../scatter/constants&quot;:1072,&quot;../scatter/fillcolor_defaults&quot;:1075,&quot;../scatter/line_defaults&quot;:1079,&quot;../scatter/line_shape_defaults&quot;:1081,&quot;../scatter/marker_defaults&quot;:1084,&quot;../scatter/subtypes&quot;:1088,&quot;../scatter/text_defaults&quot;:1089,&quot;./attributes&quot;:1097}],1100:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t,e,r,n,i){var a=n[i];return t.a=a.a,t.b=a.b,t}},{}],1101:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../scatter/hover&quot;);e.exports=function(t,e,r,i){function a(t,e){var r;r=t.labelprefix&amp;&amp;t.labelprefix.length&gt;0?t.labelprefix.replace(/ = $/,&quot;&quot;):t._hovertitle,g.push(r+&quot;: &quot;+e.toFixed(3)+t.labelsuffix)}var o=n(t,e,r,i);if(o&amp;&amp;!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 d=s.trace,p=d._carpet,m=(h.hi||d.hoverinfo).split(&quot;+&quot;),g=[];-1!==m.indexOf(&quot;all&quot;)&amp;&amp;(m=[&quot;a&quot;,&quot;b&quot;]),-1!==m.indexOf(&quot;a&quot;)&amp;&amp;a(p.aaxis,h.a),-1!==m.indexOf(&quot;b&quot;)&amp;&amp;a(p.baxis,h.b);var v=p.ab2ij([h.a,h.b]),y=Math.floor(v[0]),x=v[0]-y,b=Math.floor(v[1]),_=v[1]-b,w=p.evalxy([],y,b,x,_);return g.push(&quot;y: &quot;+w[1].toFixed(3)),s.extraText=g.join(&quot;&lt;br&gt;&quot;),o}}},{&quot;../scatter/hover&quot;:1077}],1102:[function(t,e,r){&quot;use strict&quot;;var n={};n.attributes=t(&quot;./attributes&quot;),n.supplyDefaults=t(&quot;./defaults&quot;),n.colorbar=t(&quot;../scatter/colorbar&quot;),n.calc=t(&quot;./calc&quot;),n.plot=t(&quot;./plot&quot;),n.style=t(&quot;../scatter/style&quot;).style,n.hoverPoints=t(&quot;./hover&quot;),n.selectPoints=t(&quot;../scatter/select&quot;),n.eventData=t(&quot;./event_data&quot;),n.moduleType=&quot;trace&quot;,n.name=&quot;scattercarpet&quot;,n.basePlotModule=t(&quot;../../plots/cartesian&quot;),n.categories=[&quot;carpet&quot;,&quot;symbols&quot;,&quot;markerColorscale&quot;,&quot;showLegend&quot;,&quot;carpetDependent&quot;],n.meta={},e.exports=n},{&quot;../../plots/cartesian&quot;:800,&quot;../scatter/colorbar&quot;:1070,&quot;../scatter/select&quot;:1086,&quot;../scatter/style&quot;:1087,&quot;./attributes&quot;:1097,&quot;./calc&quot;:1098,&quot;./defaults&quot;:1099,&quot;./event_data&quot;:1100,&quot;./hover&quot;:1101,&quot;./plot&quot;:1103}],1103:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../scatter/plot&quot;),i=t(&quot;../../plots/cartesian/axes&quot;),a=t(&quot;../../components/drawing&quot;);e.exports=function(t,e,r){var o,s,l,c=r[0][0].carpet,u={xaxis:i.getFromId(t,c.xaxis||&quot;x&quot;),yaxis:i.getFromId(t,c.yaxis||&quot;y&quot;),plot:e.plot};for(n(t,u,r),o=0;o&lt;r.length;o++)s=r[o][0].trace,l=u.plot.selectAll(&quot;g.trace&quot;+s.uid+&quot; .js-line&quot;),a.setClipUrl(l,c._clipPathId)}},{&quot;../../components/drawing&quot;:643,&quot;../../plots/cartesian/axes&quot;:789,&quot;../scatter/plot&quot;:1085}],1104:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../scatter/attributes&quot;),i=t(&quot;../../plots/attributes&quot;),a=t(&quot;../../components/colorscale/color_attributes&quot;),o=t(&quot;../../components/drawing/attributes&quot;).dash,s=t(&quot;../../lib/extend&quot;).extendFlat,l=t(&quot;../../plot_api/edit_types&quot;).overrideAll,c=n.marker,u=n.line,f=c.line;e.exports=l({lon:{valType:&quot;data_array&quot;},lat:{valType:&quot;data_array&quot;},locations:{valType:&quot;data_array&quot;},locationmode:{valType:&quot;enumerated&quot;,values:[&quot;ISO-3&quot;,&quot;USA-states&quot;,&quot;country names&quot;],dflt:&quot;ISO-3&quot;},mode:s({},n.mode,{dflt:&quot;markers&quot;}),text:s({},n.text,{}),hovertext:s({},n.hovertext,{}),textfont:n.textfont,textposition:n.textposition,line:{color:u.color,width:u.width,dash:o},connectgaps:n.connectgaps,marker:s({symbol:c.symbol,opacity:c.opacity,size:c.size,sizeref:c.sizeref,sizemin:c.sizemin,sizemode:c.sizemode,showscale:c.showscale,colorbar:c.colorbar,line:s({width:f.width},a(&quot;marker.line&quot;)),gradient:c.gradient},a(&quot;marker&quot;)),fill:{valType:&quot;enumerated&quot;,values:[&quot;none&quot;,&quot;toself&quot;],dflt:&quot;none&quot;},fillcolor:n.fillcolor,selected:n.selected,unselected:n.unselected,hoverinfo:s({},i.hoverinfo,{flags:[&quot;lon&quot;,&quot;lat&quot;,&quot;location&quot;,&quot;text&quot;,&quot;name&quot;]})},&quot;calc&quot;,&quot;nested&quot;)},{&quot;../../components/colorscale/color_attributes&quot;:626,&quot;../../components/drawing/attributes&quot;:642,&quot;../../lib/extend&quot;:732,&quot;../../plot_api/edit_types&quot;:773,&quot;../../plots/attributes&quot;:787,&quot;../scatter/attributes&quot;:1066}],1105:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;fast-isnumeric&quot;),i=t(&quot;../../constants/numerical&quot;).BADNUM,a=t(&quot;../scatter/colorscale_calc&quot;),o=t(&quot;../scatter/arrays_to_calcdata&quot;),s=t(&quot;../scatter/calc_selection&quot;),l=t(&quot;../../lib&quot;)._;e.exports=function(t,e){for(var r=Array.isArray(e.locations),c=r?e.locations.length:e.lon.length,u=new Array(c),f=0;f&lt;c;f++){var h=u[f]={};if(r){var d=e.locations[f];h.loc=&quot;string&quot;==typeof d?d:null}else{var p=e.lon[f],m=e.lat[f];n(p)&amp;&amp;n(m)?h.lonlat=[+p,+m]:h.lonlat=[i,i]}}return o(u,e),a(e),s(u,e),c&amp;&amp;(u[0].t={labels:{lat:l(t,&quot;lat:&quot;)+&quot; &quot;,lon:l(t,&quot;lon:&quot;)+&quot; &quot;}}),u}},{&quot;../../constants/numerical&quot;:721,&quot;../../lib&quot;:743,&quot;../scatter/arrays_to_calcdata&quot;:1065,&quot;../scatter/calc_selection&quot;:1068,&quot;../scatter/colorscale_calc&quot;:1071,&quot;fast-isnumeric&quot;:140}],1106:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib&quot;),i=t(&quot;../scatter/subtypes&quot;),a=t(&quot;../scatter/marker_defaults&quot;),o=t(&quot;../scatter/line_defaults&quot;),s=t(&quot;../scatter/text_defaults&quot;),l=t(&quot;../scatter/fillcolor_defaults&quot;),c=t(&quot;./attributes&quot;);e.exports=function(t,e,r,u){function f(r,i){return n.coerce(t,e,c,r,i)}!function(t,e,r){var n,i,a=0,o=r(&quot;locations&quot;);return o?(r(&quot;locationmode&quot;),a=o.length):(n=r(&quot;lon&quot;)||[],i=r(&quot;lat&quot;)||[],(a=Math.min(n.length,i.length))&lt;n.length&amp;&amp;(e.lon=n.slice(0,a)),a&lt;i.length&amp;&amp;(e.lat=i.slice(0,a)),a)}(0,e,f)?e.visible=!1:(f(&quot;text&quot;),f(&quot;hovertext&quot;),f(&quot;mode&quot;),i.hasLines(e)&amp;&amp;(o(t,e,r,u,f),f(&quot;connectgaps&quot;)),i.hasMarkers(e)&amp;&amp;a(t,e,r,u,f,{gradient:!0}),i.hasText(e)&amp;&amp;s(t,e,u,f),f(&quot;fill&quot;),&quot;none&quot;!==e.fill&amp;&amp;l(t,e,r,f))}},{&quot;../../lib&quot;:743,&quot;../scatter/fillcolor_defaults&quot;:1075,&quot;../scatter/line_defaults&quot;:1079,&quot;../scatter/marker_defaults&quot;:1084,&quot;../scatter/subtypes&quot;:1088,&quot;../scatter/text_defaults&quot;:1089,&quot;./attributes&quot;:1104}],1107:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t,e){return t.lon=e.lon,t.lat=e.lat,t.location=e.loc?e.loc:null,t}},{}],1108:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../components/fx&quot;),i=t(&quot;../../plots/cartesian/axes&quot;),a=t(&quot;../../constants/numerical&quot;).BADNUM,o=t(&quot;../scatter/get_trace_color&quot;),s=t(&quot;../scatter/fill_hover_text&quot;),l=t(&quot;./attributes&quot;);e.exports=function(t,e,r){var c=t.cd,u=c[0].trace,f=t.xa,h=t.ya,d=t.subplot,p=d.projection.isLonLatOverEdges,m=d.project;if(n.getClosest(c,function(t){var n=t.lonlat;if(n[0]===a)return 1/0;if(p(n))return 1/0;var i=m(n),o=m([e,r]),s=Math.abs(i[0]-o[0]),l=Math.abs(i[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 g=c[t.index],v=g.lonlat,y=[f.c2p(v),h.c2p(v)],x=g.mrc||1;return t.x0=y[0]-x,t.x1=y[0]+x,t.y0=y[1]-x,t.y1=y[1]+x,t.loc=g.loc,t.lon=v[0],t.lat=v[1],t.color=o(u,g),t.extraText=function(t,e,r,n){function a(t){return i.tickText(r,r.c2l(t),&quot;hover&quot;).text+&quot;\xb0&quot;}var o=e.hi||t.hoverinfo,c=&quot;all&quot;===o?l.hoverinfo.flags:o.split(&quot;+&quot;),u=-1!==c.indexOf(&quot;location&quot;)&amp;&amp;Array.isArray(t.locations),f=-1!==c.indexOf(&quot;lon&quot;),h=-1!==c.indexOf(&quot;lat&quot;),d=-1!==c.indexOf(&quot;text&quot;),p=[];return u?p.push(e.loc):f&amp;&amp;h?p.push(&quot;(&quot;+a(e.lonlat[0])+&quot;, &quot;+a(e.lonlat[1])+&quot;)&quot;):f?p.push(n.lon+a(e.lonlat[0])):h&amp;&amp;p.push(n.lat+a(e.lonlat[1])),d&amp;&amp;s(e,t,p),p.join(&quot;&lt;br&gt;&quot;)}(u,g,d.mockAxis,c[0].t.labels),[t]}}},{&quot;../../components/fx&quot;:660,&quot;../../constants/numerical&quot;:721,&quot;../../plots/cartesian/axes&quot;:789,&quot;../scatter/fill_hover_text&quot;:1074,&quot;../scatter/get_trace_color&quot;:1076,&quot;./attributes&quot;:1104}],1109:[function(t,e,r){&quot;use strict&quot;;var n={};n.attributes=t(&quot;./attributes&quot;),n.supplyDefaults=t(&quot;./defaults&quot;),n.colorbar=t(&quot;../scatter/colorbar&quot;),n.calc=t(&quot;./calc&quot;),n.plot=t(&quot;./plot&quot;),n.style=t(&quot;./style&quot;),n.hoverPoints=t(&quot;./hover&quot;),n.eventData=t(&quot;./event_data&quot;),n.selectPoints=t(&quot;./select&quot;),n.moduleType=&quot;trace&quot;,n.name=&quot;scattergeo&quot;,n.basePlotModule=t(&quot;../../plots/geo&quot;),n.categories=[&quot;geo&quot;,&quot;symbols&quot;,&quot;markerColorscale&quot;,&quot;showLegend&quot;,&quot;scatter-like&quot;],n.meta={},e.exports=n},{&quot;../../plots/geo&quot;:820,&quot;../scatter/colorbar&quot;:1070,&quot;./attributes&quot;:1104,&quot;./calc&quot;:1105,&quot;./defaults&quot;:1106,&quot;./event_data&quot;:1107,&quot;./hover&quot;:1108,&quot;./plot&quot;:1110,&quot;./select&quot;:1111,&quot;./style&quot;:1112}],1110:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;d3&quot;),i=t(&quot;../../lib&quot;),a=t(&quot;../../constants/numerical&quot;).BADNUM,o=t(&quot;../../lib/topojson_utils&quot;).getTopojsonFeatures,s=t(&quot;../../lib/geo_location_utils&quot;).locationToFeature,l=t(&quot;../../lib/geojson_utils&quot;),c=t(&quot;../scatter/subtypes&quot;),u=t(&quot;./style&quot;);e.exports=function(t,e,r){function f(t,e){t.lonlat[0]===a&amp;&amp;n.select(e).remove()}for(var h=0;h&lt;r.length;h++)!function(t,e){var r=t[0].trace;if(Array.isArray(r.locations))for(var n=o(r,e),i=r.locationmode,l=0;l&lt;t.length;l++){var c=t[l],u=s(i,c.loc,n);c.lonlat=u?u.properties.ct:[a,a]}}(r[h],e.topojson);var d=e.layers.frontplot.select(&quot;.scatterlayer&quot;).selectAll(&quot;g.trace.scattergeo&quot;).data(r,function(t){return t[0].trace.uid});d.enter().append(&quot;g&quot;).attr(&quot;class&quot;,&quot;trace scattergeo&quot;),d.exit().remove(),d.selectAll(&quot;*&quot;).remove(),d.each(function(e){var r=e[0].node3=n.select(this),a=e[0].trace;if(c.hasLines(a)||&quot;none&quot;!==a.fill){var o=l.calcTraceToLineCoords(e),s=&quot;none&quot;!==a.fill?l.makePolygon(o):l.makeLine(o);r.selectAll(&quot;path.js-line&quot;).data([{geojson:s,trace:a}]).enter().append(&quot;path&quot;).classed(&quot;js-line&quot;,!0).style(&quot;stroke-miterlimit&quot;,2)}c.hasMarkers(a)&amp;&amp;r.selectAll(&quot;path.point&quot;).data(i.identity).enter().append(&quot;path&quot;).classed(&quot;point&quot;,!0).each(function(t){f(t,this)}),c.hasText(a)&amp;&amp;r.selectAll(&quot;g&quot;).data(i.identity).enter().append(&quot;g&quot;).append(&quot;text&quot;).each(function(t){f(t,this)}),u(t,e)})}},{&quot;../../constants/numerical&quot;:721,&quot;../../lib&quot;:743,&quot;../../lib/geo_location_utils&quot;:735,&quot;../../lib/geojson_utils&quot;:736,&quot;../../lib/topojson_utils&quot;:769,&quot;../scatter/subtypes&quot;:1088,&quot;./style&quot;:1112,d3:128}],1111:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../scatter/subtypes&quot;);e.exports=function(t,e){var r,i,a,o,s,l=t.cd,c=t.xaxis,u=t.yaxis,f=[],h=l[0].trace;if(!n.hasMarkers(h)&amp;&amp;!n.hasText(h))return[];if(!1===e)for(s=0;s&lt;l.length;s++)l[s].selected=0;else for(s=0;s&lt;l.length;s++)i=(r=l[s]).lonlat,a=c.c2p(i),o=u.c2p(i),e.contains([a,o])?(f.push({pointNumber:s,lon:i[0],lat:i[1]}),r.selected=1):r.selected=0;return f}},{&quot;../scatter/subtypes&quot;:1088}],1112:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;d3&quot;),i=t(&quot;../../components/drawing&quot;),a=t(&quot;../../components/color&quot;),o=t(&quot;../scatter/style&quot;).stylePoints;e.exports=function(t,e){e&amp;&amp;function(t,e){var r=e[0].trace,s=e[0].node3;s.style(&quot;opacity&quot;,e[0].trace.opacity),o(s,r,t),s.selectAll(&quot;path.js-line&quot;).style(&quot;fill&quot;,&quot;none&quot;).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||&quot;&quot;,o.width||0),&quot;none&quot;!==r.fill&amp;&amp;e.call(a.fill,r.fillcolor)})}(t,e)}},{&quot;../../components/color&quot;:618,&quot;../../components/drawing&quot;:643,&quot;../scatter/style&quot;:1087,d3:128}],1113:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../scatter/attributes&quot;),i=t(&quot;../../components/colorscale/color_attributes&quot;),a=t(&quot;../../constants/gl2d_dashes&quot;),o=t(&quot;../../lib/extend&quot;).extendFlat,s=t(&quot;../../plot_api/edit_types&quot;).overrideAll,l=n.line,c=n.marker,u=c.line,f=e.exports=s({x:n.x,x0:n.x0,dx:n.dx,y:n.y,y0:n.y0,dy:n.dy,text:o({},n.text,{}),mode:{valType:&quot;flaglist&quot;,flags:[&quot;lines&quot;,&quot;markers&quot;],extras:[&quot;none&quot;]},line:{color:l.color,width:l.width,dash:{valType:&quot;enumerated&quot;,values:Object.keys(a),dflt:&quot;solid&quot;}},marker:o({},i(&quot;marker&quot;),{symbol:c.symbol,size:c.size,sizeref:c.sizeref,sizemin:c.sizemin,sizemode:c.sizemode,opacity:c.opacity,showscale:c.showscale,colorbar:c.colorbar,line:o({},i(&quot;marker.line&quot;),{width:u.width})}),connectgaps:n.connectgaps,fill:n.fill,fillcolor:n.fillcolor,hoveron:n.hoveron,selected:{marker:n.selected.marker},unselected:{marker:n.unselected.marker},error_y:n.error_y,error_x:n.error_x},&quot;calc&quot;,&quot;nested&quot;);f.x.editType=f.y.editType=f.x0.editType=f.y0.editType=&quot;calc+clearAxisTypes&quot;},{&quot;../../components/colorscale/color_attributes&quot;:626,&quot;../../constants/gl2d_dashes&quot;:717,&quot;../../lib/extend&quot;:732,&quot;../../plot_api/edit_types&quot;:773,&quot;../scatter/attributes&quot;:1066}],1114:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib&quot;),i=t(&quot;../scatter/constants&quot;),a=t(&quot;../scatter/subtypes&quot;),o=t(&quot;../scatter/xy_defaults&quot;),s=t(&quot;../scatter/marker_defaults&quot;),l=t(&quot;../scatter/line_defaults&quot;),c=t(&quot;../scatter/fillcolor_defaults&quot;),u=t(&quot;../../components/errorbars/defaults&quot;),f=t(&quot;./attributes&quot;);e.exports=function(t,e,r,h){function d(r,i){return n.coerce(t,e,f,r,i)}var p=!!t.marker&amp;&amp;/-open/.test(t.marker.symbol),m=a.isBubble(t),g=o(t,e,h,d);if(g){d(&quot;text&quot;),d(&quot;mode&quot;,g&lt;i.PTS_LINESONLY?&quot;lines+markers&quot;:&quot;lines&quot;),a.hasLines(e)&amp;&amp;(d(&quot;connectgaps&quot;),l(t,e,r,h,d));var v=[];a.hasMarkers(e)&amp;&amp;(s(t,e,r,h,d),d(&quot;marker.line.width&quot;,p||m?1:0),v.push(&quot;points&quot;)),d(&quot;fill&quot;),&quot;none&quot;!==e.fill&amp;&amp;c(t,e,r,d),&quot;tonext&quot;!==e.fill&amp;&amp;&quot;toself&quot;!==e.fill||v.push(&quot;fills&quot;),d(&quot;hoveron&quot;,v.join(&quot;+&quot;)||&quot;points&quot;),u(t,e,r,{axis:&quot;y&quot;}),u(t,e,r,{axis:&quot;x&quot;,inherit:&quot;y&quot;}),n.coerceSelectionMarkerOpacity(e,d)}else e.visible=!1}},{&quot;../../components/errorbars/defaults&quot;:648,&quot;../../lib&quot;:743,&quot;../scatter/constants&quot;:1072,&quot;../scatter/fillcolor_defaults&quot;:1075,&quot;../scatter/line_defaults&quot;:1079,&quot;../scatter/marker_defaults&quot;:1084,&quot;../scatter/subtypes&quot;:1088,&quot;../scatter/xy_defaults&quot;:1090,&quot;./attributes&quot;:1113}],1115:[function(t,e,r){(function(r){&quot;use strict&quot;;function n(t,e,r,n){function i(t){var e,n,i,o={},s=Array.isArray(t.symbol);if(s||(n=/-open/.test(t.symbol)),s||Array.isArray(t.color)||Array.isArray(t.line.color)||Array.isArray(t.line)||Array.isArray(t.opacity)){o.colors=new Array(_),o.borderColors=new Array(_);var l=y(t,t.opacity,_),c=y(t.line,t.opacity,_);if(!Array.isArray(c[0])){var u=c;for(c=Array(_),e=0;e&lt;_;e++)c[e]=u}if(!Array.isArray(l[0])){var f=l;for(l=Array(_),e=0;e&lt;_;e++)l[e]=f}for(o.colors=l,o.borderColors=c,e=0;e&lt;_;e++)s&amp;&amp;(i=t.symbol[e],n=/-open/.test(i)),n&amp;&amp;(c[e]=l[e].slice(),l[e]=l[e].slice(),l[e][3]=0);o.opacity=r.opacity}else n?(o.color=M(t.color,&quot;uint8&quot;),o.color[3]=0,o.borderColor=M(t.color,&quot;uint8&quot;)):(o.color=M(t.color,&quot;uint8&quot;),o.borderColor=M(t.line.color,&quot;uint8&quot;)),o.opacity=r.opacity*t.opacity;if(Array.isArray(t.symbol))for(o.markers=new Array(_),e=0;e&lt;_;++e)o.markers[e]=a(t.symbol[e]);else o.marker=a(t.symbol);var h,d,p=t&amp;&amp;(Array.isArray(t.size)||Array.isArray(t.line.width)),m=g(r);if(p){d=o.sizes=new Array(_);var v=o.borderSizes=new Array(_);if(Array.isArray(t.size))for(e=0;e&lt;_;++e)d[e]=m(t.size[e]);else for(h=m(t.size),e=0;e&lt;_;++e)d[e]=h;if(Array.isArray(t.line.width))for(e=0;e&lt;_;++e)v[e]=m(t.line.width[e]);else for(h=m(t.line.width),e=0;e&lt;_;++e)v[e]=h}else h=o.size=m(t&amp;&amp;t.size||10),o.borderSizes=m(t.line.width);return o}var o,s,f,h,p,m,x,b=t._fullLayout,_=n.length/2,w=r.marker,k=0,A=0,T=u.getFromId(t,r.xaxis),S=u.getFromId(t,r.yaxis);!0!==r.visible?(s=!1,f=!1,h=!1,m=!1,x=!1):(s=d.hasLines(r)&amp;&amp;n.length&gt;1,f=r.error_x&amp;&amp;!0===r.error_x.visible,h=r.error_y&amp;&amp;!0===r.error_y.visible,p=f||h,m=d.hasMarkers(r),x=!!r.fill&amp;&amp;&quot;none&quot;!==r.fill);var E,L,C,z,D,I,O,F,R=p?l.calcFromTrace(r,b):null;if(f){(C={}).positions=n;var N=new Float64Array(4*_);if(&quot;log&quot;===T.type)for(o=0;o&lt;_;++o)N[k++]=n[2*o]-T.d2l(R[o].xs)||0,N[k++]=T.d2l(R[o].xh)-n[2*o]||0,N[k++]=0,N[k++]=0;else for(o=0;o&lt;_;++o)N[k++]=n[2*o]-R[o].xs||0,N[k++]=R[o].xh-n[2*o]||0,N[k++]=0,N[k++]=0;r.error_x.copy_ystyle&amp;&amp;(r.error_x=r.error_y),C.errors=N,C.capSize=2*r.error_x.width,C.lineWidth=r.error_x.thickness,C.color=r.error_x.color}if(h){(z={}).positions=n;var j=new Float64Array(4*_);if(&quot;log&quot;===S.type)for(o=0;o&lt;_;++o)j[A++]=0,j[A++]=0,j[A++]=n[2*o+1]-S.d2l(R[o].ys)||0,j[A++]=S.d2l(R[o].yh)-n[2*o+1]||0;else for(o=0;o&lt;_;++o)j[A++]=0,j[A++]=0,j[A++]=n[2*o+1]-R[o].ys||0,j[A++]=R[o].yh-n[2*o+1]||0;z.errors=j,z.capSize=2*r.error_y.width,z.lineWidth=r.error_y.thickness,z.color=r.error_y.color}if(s){(E={}).thickness=r.line.width,E.color=r.line.color,E.opacity=r.opacity,E.overlay=!0;var B=(v[r.line.dash]||[1]).slice();for(o=0;o&lt;B.length;++o)B[o]*=E.thickness;if(E.dashes=B,&quot;hv&quot;===r.line.shape){for(F=[],o=0;o&lt;Math.floor(n.length/2)-1;o++)isNaN(n[2*o])||isNaN(n[2*o+1])?(F.push(NaN),F.push(NaN),F.push(NaN),F.push(NaN)):(F.push(n[2*o]),F.push(n[2*o+1]),F.push(n[2*o+2]),F.push(n[2*o+1]));F.push(n[n.length-2]),F.push(n[n.length-1])}else if(&quot;vh&quot;===r.line.shape){for(F=[],o=0;o&lt;Math.floor(n.length/2)-1;o++)isNaN(n[2*o])||isNaN(n[2*o+1])?(F.push(NaN),F.push(NaN),F.push(NaN),F.push(NaN)):(F.push(n[2*o]),F.push(n[2*o+1]),F.push(n[2*o]),F.push(n[2*o+3]));F.push(n[n.length-2]),F.push(n[n.length-1])}else F=n;var U=!1;for(o=0;o&lt;F.length;o++)if(isNaN(F[o])){U=!0;break}if(E.join=U||F.length&gt;P?&quot;rect&quot;:m?&quot;rect&quot;:&quot;round&quot;,U&amp;&amp;r.connectgaps){var V=F[0],q=F[1];for(o=0;o&lt;F.length;o+=2)isNaN(F[o])||isNaN(F[o+1])?(F[o]=V,F[o+1]=q):(V=F[o],q=F[o+1])}E.positions=F}return x&amp;&amp;((D={}).fill=r.fillcolor,D.thickness=0,D.closed=!0),m&amp;&amp;(L=i(w),I=r.selected?i(c({},w,r.selected.marker)):L,O=r.unselected?i(c({},w,r.unselected.marker)):L,L.positions=n),{line:E,marker:L,errorX:C,errorY:z,fill:D,selected:I,unselected:O}}function i(t,e){var r=e._scene,n=t._fullLayout;return e._scene||((r=e._scene={count:0,dirty:!0,lineOptions:[],fillOptions:[],markerOptions:[],selectedOptions:[],unselectedOptions:[],errorXOptions:[],errorYOptions:[],selectBatch:null,unselectBatch:null,fill2d:!1,scatter2d:!1,error2d:!1,line2d:!1,select2d:null}).update=function(t){for(var e=Array(r.count),n=0;n&lt;r.count;n++)e[n]=t;r.fill2d&amp;&amp;r.fill2d.update(e),r.scatter2d&amp;&amp;r.scatter2d.update(e),r.line2d&amp;&amp;r.line2d.update(e),r.error2d&amp;&amp;r.error2d.update(e.concat(e)),r.select2d&amp;&amp;r.select2d.update(e),r.draw()},r.draw=function(){var t;for(t=0;t&lt;r.count;t++)r.fill2d&amp;&amp;r.fill2d.draw(t);for(t=0;t&lt;r.count;t++)r.line2d&amp;&amp;r.line2d.draw(t),r.error2d&amp;&amp;(r.error2d.draw(t),r.error2d.draw(t+r.count)),r.scatter2d&amp;&amp;!r.selectBatch&amp;&amp;r.scatter2d.draw(t);r.select2d&amp;&amp;r.selectBatch&amp;&amp;(r.select2d.draw(r.selectBatch),r.scatter2d.draw(r.unselectBatch)),r.dirty=!1},r.clear=function(){var t,i,a=n._size,o=n.width,s=n.height,l=e.xaxis,c=e.yaxis;t=l&amp;&amp;l.domain&amp;&amp;c&amp;&amp;c.domain?[a.l+l.domain[0]*a.w,a.b+c.domain[0]*a.h,o-a.r-(1-l.domain[1])*a.w,s-a.t-(1-c.domain[1])*a.h]:[a.l,a.b,o-a.r,s-a.t],r.select2d&amp;&amp;((i=r.select2d.regl._gl).enable(i.SCISSOR_TEST),i.scissor(t[0],t[1],t[2]-t[0],t[3]-t[1]),i.clearColor(0,0,0,0),i.clear(i.COLOR_BUFFER_BIT)),r.scatter2d&amp;&amp;((i=r.scatter2d.regl._gl).enable(i.SCISSOR_TEST),i.scissor(t[0],t[1],t[2]-t[0],t[3]-t[1]),i.clearColor(0,0,0,0),i.clear(i.COLOR_BUFFER_BIT))},r.clearSelect=function(){r.selectBatch&amp;&amp;(r.selectBatch=null,r.unselectBatch=null,r.scatter2d.update(r.markerOptions),r.clear(),r.draw())},r.destroy=function(){r.fill2d&amp;&amp;r.fill2d.destroy(),r.scatter2d&amp;&amp;r.scatter2d.destroy(),r.error2d&amp;&amp;r.error2d.destroy(),r.line2d&amp;&amp;r.line2d.destroy(),r.select2d&amp;&amp;r.select2d.destroy(),r.lineOptions=null,r.fillOptions=null,r.markerOptions=null,r.selectedOptions=null,r.unselectedOptions=null,r.errorXOptions=null,r.errorYOptions=null,r.selectBatch=null,r.unselectBatch=null,delete e._scene}),r.dirty||(r.dirty=!0,r.count=0,r.lineOptions=[],r.fillOptions=[],r.markerOptions=[],r.selectedOptions=[],r.unselectedOptions=[],r.errorXOptions=[],r.errorYOptions=[]),r}function a(t){if(&quot;circle&quot;===t)return null;var e,r,n=m.symbolNumber(t),i=m.symbolFuncs[n%100],a=!!m.symbolNoDot[n%100],o=!!m.symbolNoFill[n%100],s=O.test(t);return D[t]?D[t]:(e=s&amp;&amp;!a?i(1.1*C)+I:i(C),r=k(e,{w:L,h:L,viewBox:[-C,-C,C,C],stroke:o?z:-z}),D[t]=r,r||null)}var o=t(&quot;../../lib&quot;),s=t(&quot;../scatter/get_trace_color&quot;),l=t(&quot;../../components/errorbars&quot;),c=t(&quot;object-assign&quot;),u=t(&quot;../../plots/cartesian/axes&quot;),f=t(&quot;kdgrass&quot;),h=t(&quot;../../components/fx&quot;),d=t(&quot;../scatter/subtypes&quot;),p=t(&quot;../scatter/colorscale_calc&quot;),m=t(&quot;../../components/drawing&quot;),g=t(&quot;../scatter/make_bubble_size_func&quot;),v=t(&quot;../../constants/gl2d_dashes&quot;),y=t(&quot;../../lib/gl_format_color&quot;),x=t(&quot;../scatter/link_traces&quot;),b=t(&quot;regl-scatter2d&quot;),_=t(&quot;regl-line2d&quot;),w=t(&quot;regl-error2d&quot;),M=t(&quot;color-normalize&quot;),k=t(&quot;svg-path-sdf&quot;),A=t(&quot;regl&quot;),T=t(&quot;../scatter/fill_hover_text&quot;),S=t(&quot;fast-isnumeric&quot;),E=h.constants.MAXDIST,L=200,C=20,z=C/20,D={},I=m.symbolFuncs[0](.05*C),P=1e5,O=/-dot/;e.exports={moduleType:&quot;trace&quot;,name:&quot;scattergl&quot;,basePlotModule:t(&quot;../../plots/cartesian&quot;),categories:[&quot;gl&quot;,&quot;regl&quot;,&quot;cartesian&quot;,&quot;symbols&quot;,&quot;errorBarsOK&quot;,&quot;markerColorscale&quot;,&quot;showLegend&quot;,&quot;scatter-like&quot;],attributes:t(&quot;./attributes&quot;),supplyDefaults:t(&quot;./defaults&quot;),cleanData:t(&quot;../scatter/clean_data&quot;),colorbar:t(&quot;../scatter/colorbar&quot;),calc:function(t,e){var r,a,o,s,l,c=t._fullLayout,h={},d=u.getFromId(t,e.xaxis),m=u.getFromId(t,e.yaxis),g=c._plots[e.xaxis+e.yaxis],v=&quot;linear&quot;===d.type?e.x:d.makeCalcdata(e,&quot;x&quot;),y=&quot;linear&quot;===m.type?e.y:m.makeCalcdata(e,&quot;y&quot;),x=(v||y).length;if(!v)for(v=Array(x),a=0;a&lt;x;a++)v[a]=a;if(!y)for(y=Array(x),a=0;a&lt;x;a++)y[a]=a;var b,_;if(&quot;log&quot;===d.type)for(b=Array(v.length),a=0,o=v.length;a&lt;o;a++)b[a]=v[a],v[a]=d.d2l(v[a]);else for(b=v,a=0,o=v.length;a&lt;o;a++)v[a]=parseFloat(v[a]);if(&quot;log&quot;===m.type)for(_=Array(y.length),a=0,o=y.length;a&lt;o;a++)_[a]=y[a],y[a]=m.d2l(y[a]);else for(_=y,a=0,o=y.length;a&lt;o;a++)y[a]=parseFloat(y[a]);for(r=new Array(2*x),a=0;a&lt;x;a++)s=S(v[a])?+v[a]:NaN,l=S(y[a])?+y[a]:NaN,r[2*a]=s,r[2*a+1]=l;if(&quot;log&quot;!==d.type&amp;&amp;&quot;log&quot;!==m.type)h.tree=f(r,512);else{var w=h.ids=Array(x);for(a=0;a&lt;x;a++)w[a]=a}p(e);var M=n(t,0,e,r);if(M.markers)if(Array.isArray(M.markers.sizes)){var k=M.markers.sizes;u.expand(d,b,{padded:!0,ppad:k}),u.expand(m,_,{padded:!0,ppad:k})}else{var A=[1/0,-1/0],T=[1/0,-1/0],E=M.markers.size;for(a=0;a&lt;x;a++)s=v[a],l=y[a],A[0]&gt;s&amp;&amp;(A[0]=s),A[1]&lt;s&amp;&amp;(A[1]=s),T[0]&gt;l&amp;&amp;(T[0]=l),T[1]&lt;l&amp;&amp;(T[1]=l);x&lt;P?(u.expand(d,b,{padded:!0,ppad:E}),u.expand(m,_,{padded:!0,ppad:E})):(d._min&amp;&amp;d._min.push({val:A[0],pad:E}),d._max&amp;&amp;d._max.push({val:A[1],pad:E}),m._min&amp;&amp;m._min.push({val:T[0],pad:E}),m._max&amp;&amp;m._max.push({val:T[1],pad:E}))}else u.expand(d,b,{padded:!0}),u.expand(m,_,{padded:!0});var L=i(t,g);return M.fill&amp;&amp;!L.fill2d&amp;&amp;(L.fill2d=!0),M.marker&amp;&amp;!L.scatter2d&amp;&amp;(L.scatter2d=!0),M.line&amp;&amp;!L.line2d&amp;&amp;(L.line2d=!0),!M.errorX&amp;&amp;!M.errorY||L.error2d||(L.error2d=!0),L.lineOptions.push(M.line),L.errorXOptions.push(M.errorX),L.errorYOptions.push(M.errorY),L.fillOptions.push(M.fill),L.markerOptions.push(M.marker),L.selectedOptions.push(M.selected),L.unselectedOptions.push(M.unselected),L.count++,h.scene=L,h.index=L.count-1,h.x=v,h.y=y,h.rawx=b,h.rawy=_,h.positions=r,h.count=x,[{x:!1,y:!1,t:h,trace:e}]},plot:function(t,e,n){if(n.length){var i=t._fullLayout,a=n[0][0].t.scene;if(a){var o=i._size,s=i.width,l=i.height;i._glcanvas.each(function(e){e.regl||e.pick||(e.regl=A({canvas:this,attributes:{antialias:!e.pick,preserveDrawingBuffer:!0},extensions:[&quot;ANGLE_instanced_arrays&quot;,&quot;OES_element_index_uint&quot;],pixelRatio:t._context.plotGlPixelRatio||r.devicePixelRatio}))});var c=i._glcanvas.data()[0].regl;if(x(t,e,n),a.dirty){if(!0===a.error2d&amp;&amp;(a.error2d=w(c)),!0===a.line2d&amp;&amp;(a.line2d=_(c)),!0===a.scatter2d&amp;&amp;(a.scatter2d=b(c)),!0===a.fill2d&amp;&amp;(a.fill2d=_(c)),a.line2d&amp;&amp;a.line2d.update(a.lineOptions),a.error2d){var f=(a.errorXOptions||[]).concat(a.errorYOptions||[]);a.error2d.update(f)}a.scatter2d&amp;&amp;(a.selectBatch?(a.scatter2d.update(a.unselectedOptions),a.select2d.update(a.selectedOptions)):a.scatter2d.update(a.markerOptions)),a.fill2d&amp;&amp;(a.fillOptions.forEach(function(t,e){var r=n[e];if(t&amp;&amp;r&amp;&amp;r[0]&amp;&amp;r[0].trace){var i,o,s=r[0],l=s.trace,c=s.t,u=a.lineOptions[e],f=[],h=u&amp;&amp;u.positions||c.positions;if(&quot;tozeroy&quot;===l.fill)(f=(f=[h[0],0]).concat(h)).push(h[h.length-2]),f.push(0);else if(&quot;tozerox&quot;===l.fill)(f=(f=[0,h[1]]).concat(h)).push(0),f.push(h[h.length-1]);else if(&quot;toself&quot;===l.fill||&quot;tonext&quot;===l.fill){for(f=[],i=0,o=0;o&lt;h.length;o+=2)(isNaN(h[o])||isNaN(h[o+1]))&amp;&amp;((f=f.concat(h.slice(i,o))).push(h[i],h[i+1]),i=o+2);f=f.concat(h.slice(i)),i&amp;&amp;f.push(h[i],h[i+1])}else{var d=l._nexttrace;if(d){var p=a.lineOptions[e+1];if(p){var m=p.positions;if(&quot;tonexty&quot;===l.fill){for(f=h.slice(),e=Math.floor(m.length/2);e--;){var g=m[2*e],v=m[2*e+1];isNaN(g)||isNaN(v)||(f.push(g),f.push(v))}t.fill=d.fillcolor}}}}if(l._prevtrace&amp;&amp;&quot;tonext&quot;===l._prevtrace.fill){var y=a.lineOptions[e-1].positions,x=f.length/2,b=[i=x];for(o=0;o&lt;y.length;o+=2)(isNaN(y[o])||isNaN(y[o+1]))&amp;&amp;(b.push(o/2+x+1),i=o+2);f=f.concat(y),t.hole=b}t.opacity=l.opacity,t.positions=f}}),a.fill2d.update(a.fillOptions))}var h=i.dragmode;&quot;lasso&quot;!==h&amp;&amp;&quot;select&quot;!==h||a.select2d&amp;&amp;a.selectBatch&amp;&amp;a.scatter2d.update(a.unselectedOptions);var d=n.map(function(r){if(r&amp;&amp;r[0]&amp;&amp;r[0].trace){var n,c=r[0],f=c.trace,d=c.t,p=d.rawx,m=d.rawy,g=e.xaxis||u.getFromId(t,f.xaxis||&quot;x&quot;),v=e.yaxis||u.getFromId(t,f.yaxis||&quot;y&quot;),y=[(g._rl||g.range)[0],(v._rl||v.range)[0],(g._rl||g.range)[1],(v._rl||v.range)[1]],x=[o.l+g.domain[0]*o.w,o.b+v.domain[0]*o.h,s-o.r-(1-g.domain[1])*o.w,l-o.t-(1-v.domain[1])*o.h];if(f.selectedpoints||&quot;lasso&quot;===h||&quot;select&quot;===h){if(!a.select2d&amp;&amp;a.scatter2d){var _=i._glcanvas.data()[1].regl;a.select2d=b(_,{clone:a.scatter2d}),a.select2d.update(a.selectedOptions),f.selectedpoints&amp;&amp;!a.selectBatch&amp;&amp;(a.selectBatch=Array(a.count),a.unselectBatch=Array(a.count),a.scatter2d.update(a.unselectedOptions))}else a.select2d.update(a.selectedOptions);if(f.selectedpoints&amp;&amp;!a.unselectBatch[d.index]){a.selectBatch[d.index]=f.selectedpoints;var w=f.selectedpoints,M={};for(n=0;n&lt;w.length;n++)M[w[n]]=!0;var k=[];for(n=0;n&lt;d.count;n++)M[n]||k.push(n);a.unselectBatch[d.index]=k}var A=Array(d.count),T=Array(d.count);for(n=0;n&lt;d.count;n++)A[n]=g.c2p(p[n]),T[n]=v.c2p(m[n]);d.xpx=A,d.ypx=T}else d.xpx=d.ypx=null;return f.visible?{viewport:x,range:y}:null}});a.fill2d&amp;&amp;a.fill2d.update(d),a.line2d&amp;&amp;a.line2d.update(d),a.error2d&amp;&amp;a.error2d.update(d.concat(d)),a.scatter2d&amp;&amp;a.scatter2d.update(d),a.select2d&amp;&amp;a.select2d.update(d),a.draw()}}},hoverPoints:function(t,e,r,n){var i,a=t.cd,c=a[0].t,u=a[0].trace,f=t.xa,h=t.ya,d=c.rawx,p=c.rawy,m=f.c2p(e),g=h.c2p(r);if(c.tree){var v=f.p2c(m-E),y=f.p2c(m+E),x=h.p2c(g-E),b=h.p2c(g+E);i=&quot;x&quot;===n?c.tree.range(Math.min(v,y),Math.min(h._rl[0],h._rl[1]),Math.max(v,y),Math.max(h._rl[0],h._rl[1])):c.tree.range(Math.min(v,y),Math.min(x,b),Math.max(v,y),Math.max(x,b))}else{if(!c.ids)return[t];i=c.ids}var _,w,M,k,A,S,L,C=E;if(&quot;x&quot;===n)for(k=0;k&lt;i.length;k++)w=d[i[k]],(A=Math.abs(f.c2p(w)-m))&lt;C&amp;&amp;(C=A,_=i[k]);else for(k=0;k&lt;i.length;k++)w=d[i[k]],M=p[i[k]],A=f.c2p(w)-m,S=h.c2p(M)-g,(L=Math.sqrt(A*A+S*S))&lt;C&amp;&amp;(C=L,_=i[k]);if(t.index=_,void 0===_)return[t];var z={pointNumber:_,x:d[_],y:p[_]};z.tx=Array.isArray(u.text)?u.text[_]:u.text,z.htx=Array.isArray(u.hovertext)?u.hovertext[_]:u.hovertext,z.data=Array.isArray(u.customdata)?u.customdata[_]:u.customdata,z.tp=Array.isArray(u.textposition)?u.textposition[_]:u.textposition;var D=u.textfont;D&amp;&amp;(z.ts=Array.isArray(D.size)?D.size[_]:D.size,z.tc=Array.isArray(D.color)?D.color[_]:D.color,z.tf=Array.isArray(D.family)?D.family[_]:D.family);var I=u.marker;I&amp;&amp;(z.ms=Array.isArray(I.size)?I.size[_]:I.size,z.mo=Array.isArray(I.opacity)?I.opacity[_]:I.opacity,z.mx=Array.isArray(I.symbol)?I.symbol[_]:I.symbol,z.mc=Array.isArray(I.color)?I.color[_]:I.color);var P=I&amp;&amp;I.line;P&amp;&amp;(z.mlc=Array.isArray(P.color)?P.color[_]:P.color,z.mlw=Array.isArray(P.width)?P.width[_]:P.width);var O=I&amp;&amp;I.gradient;O&amp;&amp;&quot;none&quot;!==O.type&amp;&amp;(z.mgt=Array.isArray(O.type)?O.type[_]:O.type,z.mgc=Array.isArray(O.color)?O.color[_]:O.color);var F=f.c2p(z.x,!0),R=h.c2p(z.y,!0),N=z.mrc||1,j=u.hoverlabel;j&amp;&amp;(z.hbg=Array.isArray(j.bgcolor)?j.bgcolor[_]:j.bgcolor,z.hbc=Array.isArray(j.bordercolor)?j.bordercolor[_]:j.bordercolor,z.hts=Array.isArray(j.font.size)?j.font.size[_]:j.font.size,z.htc=Array.isArray(j.font.color)?j.font.color[_]:j.font.color,z.htf=Array.isArray(j.font.family)?j.font.family[_]:j.font.family,z.hnl=Array.isArray(j.namelength)?j.namelength[_]:j.namelength);var B=u.hoverinfo;B&amp;&amp;(z.hi=Array.isArray(B)?B[_]:B);var U={};return U[t.index]=z,o.extendFlat(t,{color:s(u,z),x0:F-N,x1:F+N,xLabelVal:z.x,y0:R-N,y1:R+N,yLabelVal:z.y,cd:U}),z.htx?t.text=z.htx:z.tx?t.text=z.tx:u.text&amp;&amp;(t.text=u.text),T(z,u,t),l.hoverInfo(z,u,t),[t]},style:function(t,e){if(e){var r=e[0].t.scene;r.clear(),r.draw()}},selectPoints:function(t,e){var r=t.cd,n=[],i=r[0].trace,a=r[0].t,o=a.x,s=a.y,l=a.rawx,c=a.rawy,u=a.scene;if(!u)return n;var f=!d.hasMarkers(i)&amp;&amp;!d.hasText(i);if(!0!==i.visible||f)return n;var h,p=null,m=null;if(!1===e||e.degenerate)for(m=Array(a.count),h=0;h&lt;a.count;h++)m[h]=h;else for(p=[],m=[],h=0;h&lt;a.count;h++)e.contains([a.xpx[h],a.ypx[h]])?(p.push(h),n.push({pointNumber:h,x:l?l[h]:o[h],y:c?c[h]:s[h]})):m.push(h);return u.selectBatch||(u.selectBatch=Array(u.count),u.unselectBatch=Array(u.count),u.scatter2d.update(u.unselectedOptions)),u.selectBatch[a.index]=p,u.unselectBatch[a.index]=m,n},sceneOptions:n,sceneUpdate:i,meta:{}}}).call(this,&quot;undefined&quot;!=typeof global?global:&quot;undefined&quot;!=typeof self?self:&quot;undefined&quot;!=typeof window?window:{})},{&quot;../../components/drawing&quot;:643,&quot;../../components/errorbars&quot;:649,&quot;../../components/fx&quot;:660,&quot;../../constants/gl2d_dashes&quot;:717,&quot;../../lib&quot;:743,&quot;../../lib/gl_format_color&quot;:739,&quot;../../plots/cartesian&quot;:800,&quot;../../plots/cartesian/axes&quot;:789,&quot;../scatter/clean_data&quot;:1069,&quot;../scatter/colorbar&quot;:1070,&quot;../scatter/colorscale_calc&quot;:1071,&quot;../scatter/fill_hover_text&quot;:1074,&quot;../scatter/get_trace_color&quot;:1076,&quot;../scatter/link_traces&quot;:1082,&quot;../scatter/make_bubble_size_func&quot;:1083,&quot;../scatter/subtypes&quot;:1088,&quot;./attributes&quot;:1113,&quot;./defaults&quot;:1114,&quot;color-normalize&quot;:99,&quot;fast-isnumeric&quot;:140,kdgrass:292,&quot;object-assign&quot;:462,regl:506,&quot;regl-error2d&quot;:500,&quot;regl-line2d&quot;:501,&quot;regl-scatter2d&quot;:503,&quot;svg-path-sdf&quot;:544}],1116:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../scattergeo/attributes&quot;),i=t(&quot;../scatter/attributes&quot;),a=t(&quot;../../plots/mapbox/layout_attributes&quot;),o=t(&quot;../../plots/attributes&quot;),s=t(&quot;../../components/colorbar/attributes&quot;),l=t(&quot;../../lib/extend&quot;).extendFlat,c=t(&quot;../../plot_api/edit_types&quot;).overrideAll,u=n.line,f=n.marker;e.exports=c({lon:n.lon,lat:n.lat,mode:l({},i.mode,{dflt:&quot;markers&quot;}),text:l({},i.text,{}),hovertext:l({},i.hovertext,{}),line:{color:u.color,width:u.width},connectgaps:i.connectgaps,marker:{symbol:{valType:&quot;string&quot;,dflt:&quot;circle&quot;,arrayOk:!0},opacity:f.opacity,size:f.size,sizeref:f.sizeref,sizemin:f.sizemin,sizemode:f.sizemode,color:f.color,colorscale:f.colorscale,cauto:f.cauto,cmax:f.cmax,cmin:f.cmin,autocolorscale:f.autocolorscale,reversescale:f.reversescale,showscale:f.showscale,colorbar:s},fill:n.fill,fillcolor:i.fillcolor,textfont:a.layers.symbol.textfont,textposition:a.layers.symbol.textposition,selected:{marker:{opacity:i.selected.marker.opacity}},unselected:{marker:{opacity:i.unselected.marker.opacity}},hoverinfo:l({},o.hoverinfo,{flags:[&quot;lon&quot;,&quot;lat&quot;,&quot;text&quot;,&quot;name&quot;]})},&quot;calc&quot;,&quot;nested&quot;)},{&quot;../../components/colorbar/attributes&quot;:619,&quot;../../lib/extend&quot;:732,&quot;../../plot_api/edit_types&quot;:773,&quot;../../plots/attributes&quot;:787,&quot;../../plots/mapbox/layout_attributes&quot;:848,&quot;../scatter/attributes&quot;:1066,&quot;../scattergeo/attributes&quot;:1104}],1117:[function(t,e,r){&quot;use strict&quot;;function n(){return{geojson:f.makeBlank(),layout:{visibility:&quot;none&quot;},paint:{}}}function i(t){return Array.isArray(t)?function(t){return t}:t?function(){return t}:a}function a(){return&quot;&quot;}function o(t,e){return t[0]-e[0]}function s(t){return t[0]===u}var l=t(&quot;fast-isnumeric&quot;),c=t(&quot;../../lib&quot;),u=t(&quot;../../constants/numerical&quot;).BADNUM,f=t(&quot;../../lib/geojson_utils&quot;),h=t(&quot;../../components/colorscale&quot;),d=t(&quot;../scatter/make_bubble_size_func&quot;),p=t(&quot;../scatter/subtypes&quot;),m=t(&quot;../../plots/mapbox/convert_text_opts&quot;),g=t(&quot;../../constants/interactions&quot;).DESELECTDIM,v=&quot;circle-color&quot;,y=&quot;circle-radius&quot;,x=&quot;circle-opacity&quot;;e.exports=function(t){var e=t[0].trace,r=!0===e.visible,u=&quot;none&quot;!==e.fill,b=p.hasLines(e),_=p.hasMarkers(e),w=p.hasText(e),M=_&amp;&amp;&quot;circle&quot;===e.marker.symbol,k=_&amp;&amp;&quot;circle&quot;!==e.marker.symbol,A=n(),T=n(),S=n(),E=n(),L={fill:A,line:T,circle:S,symbol:E};if(!r)return L;var C;if((u||b)&amp;&amp;(C=f.calcTraceToLineCoords(t)),u&amp;&amp;(A.geojson=f.makePolygon(C),A.layout.visibility=&quot;visible&quot;,c.extendFlat(A.paint,{&quot;fill-color&quot;:e.fillcolor})),b&amp;&amp;(T.geojson=f.makeLine(C),T.layout.visibility=&quot;visible&quot;,c.extendFlat(T.paint,{&quot;line-width&quot;:e.line.width,&quot;line-color&quot;:e.line.color,&quot;line-opacity&quot;:e.opacity})),M){var z={};z[v]={},z[y]={},z[x]={},S.geojson=function(t,e){function r(t,r,n,i){void 0===e[r][n]&amp;&amp;(e[r][n]=i),t[r]=e[r][n]}var n,i=t[0].trace,a=i.marker;h.hasColorscale(i,&quot;marker&quot;)?n=h.makeColorScaleFunc(h.extractScale(a.colorscale,a.cmin,a.cmax)):Array.isArray(a.color)&amp;&amp;(n=c.identity);var o;p.isBubble(i)&amp;&amp;(o=d(i));var u;u=i.selectedpoints?function(t,e){return i.opacity*e*(t.selected?1:g)}:function(t,e){return i.opacity*e};var f;Array.isArray(a.opacity)?f=function(t){var e=l(t.mo)?+c.constrain(t.mo,0,1):0;return u(t,e)}:i.selectedpoints&amp;&amp;(f=function(t){return u(t,a.opacity)});for(var m=[],b=0;b&lt;t.length;b++){var _=t[b],w=_.lonlat;if(!s(w)){var M={};if(n){var k=_.mcc=n(_.mc);r(M,v,k,b)}o&amp;&amp;r(M,y,o(_.ms),b),f&amp;&amp;r(M,x,f(_),b),m.push({type:&quot;Feature&quot;,geometry:{type:&quot;Point&quot;,coordinates:w},properties:M})}}return{type:&quot;FeatureCollection&quot;,features:m}}(t,z),S.layout.visibility=&quot;visible&quot;,c.extendFlat(S.paint,{&quot;circle-opacity&quot;:function(t,e){var r,n=t.marker;if(Array.isArray(n.opacity)||t.selectedpoints){for(var i=Object.keys(e[x]),a=[],s=0;s&lt;i.length;s++){var l=i[s];a.push([e[x][l],+l])}r={property:x,stops:a.sort(o)}}else r=t.opacity*n.opacity;return r}(e,z),&quot;circle-color&quot;:function(t,e){var r,n=t.marker;if(Array.isArray(n.color)){for(var i=Object.keys(e[v]),a=[],o=0;o&lt;i.length;o++){var s=i[o];a.push([e[v][s],s])}r={property:v,stops:a}}else r=n.color;return r}(e,z),&quot;circle-radius&quot;:function(t,e){var r,n=t.marker;if(Array.isArray(n.size)){for(var i=Object.keys(e[y]),a=[],s=0;s&lt;i.length;s++){var l=i[s];a.push([e[y][l],+l])}r={property:y,stops:a.sort(o)}}else r=n.size/2;return r}(e,z)})}if((k||w)&amp;&amp;(E.geojson=function(t){for(var e=t[0].trace,r=(e.marker||{}).symbol,n=e.text,o=&quot;circle&quot;!==r?i(r):a,l=p.hasText(e)?i(n):a,c=[],u=0;u&lt;t.length;u++){var f=t[u];s(f.lonlat)||c.push({type:&quot;Feature&quot;,geometry:{type:&quot;Point&quot;,coordinates:f.lonlat},properties:{symbol:o(f.mx),text:l(f.tx)}})}return{type:&quot;FeatureCollection&quot;,features:c}}(t),c.extendFlat(E.layout,{visibility:&quot;visible&quot;,&quot;icon-image&quot;:&quot;{symbol}-15&quot;,&quot;text-field&quot;:&quot;{text}&quot;}),k&amp;&amp;(c.extendFlat(E.layout,{&quot;icon-size&quot;:e.marker.size/10}),c.extendFlat(E.paint,{&quot;icon-opacity&quot;:e.opacity*e.marker.opacity,&quot;icon-color&quot;:e.marker.color})),w)){var D=(e.marker||{}).size,I=m(e.textposition,D);c.extendFlat(E.layout,{&quot;text-size&quot;:e.textfont.size,&quot;text-anchor&quot;:I.anchor,&quot;text-offset&quot;:I.offset}),c.extendFlat(E.paint,{&quot;text-color&quot;:e.textfont.color,&quot;text-opacity&quot;:e.opacity})}return L}},{&quot;../../components/colorscale&quot;:633,&quot;../../constants/interactions&quot;:720,&quot;../../constants/numerical&quot;:721,&quot;../../lib&quot;:743,&quot;../../lib/geojson_utils&quot;:736,&quot;../../plots/mapbox/convert_text_opts&quot;:845,&quot;../scatter/make_bubble_size_func&quot;:1083,&quot;../scatter/subtypes&quot;:1088,&quot;fast-isnumeric&quot;:140}],1118:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib&quot;),i=t(&quot;../scatter/subtypes&quot;),a=t(&quot;../scatter/marker_defaults&quot;),o=t(&quot;../scatter/line_defaults&quot;),s=t(&quot;../scatter/text_defaults&quot;),l=t(&quot;../scatter/fillcolor_defaults&quot;),c=t(&quot;./attributes&quot;);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(&quot;lon&quot;)||[],i=r(&quot;lat&quot;)||[],a=Math.min(n.length,i.length);return a&lt;n.length&amp;&amp;(e.lon=n.slice(0,a)),a&lt;i.length&amp;&amp;(e.lat=i.slice(0,a)),a}(0,e,f)){if(f(&quot;text&quot;),f(&quot;hovertext&quot;),f(&quot;mode&quot;),i.hasLines(e)&amp;&amp;(o(t,e,r,u,f,{noDash:!0}),f(&quot;connectgaps&quot;)),i.hasMarkers(e)){a(t,e,r,u,f,{noLine:!0,noSelect:!0});var h=e.marker;h.line={width:0},&quot;circle&quot;!==h.symbol&amp;&amp;(Array.isArray(h.size)&amp;&amp;(h.size=h.size[0]),Array.isArray(h.color)&amp;&amp;(h.color=h.color[0]))}i.hasText(e)&amp;&amp;s(t,e,u,f,{noSelect:!0}),f(&quot;fill&quot;),&quot;none&quot;!==e.fill&amp;&amp;l(t,e,r,f),n.coerceSelectionMarkerOpacity(e,f)}else e.visible=!1}},{&quot;../../lib&quot;:743,&quot;../scatter/fillcolor_defaults&quot;:1075,&quot;../scatter/line_defaults&quot;:1079,&quot;../scatter/marker_defaults&quot;:1084,&quot;../scatter/subtypes&quot;:1088,&quot;../scatter/text_defaults&quot;:1089,&quot;./attributes&quot;:1116}],1119:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t,e){return t.lon=e.lon,t.lat=e.lat,t}},{}],1120:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../components/fx&quot;),i=t(&quot;../scatter/get_trace_color&quot;),a=t(&quot;../scatter/fill_hover_text&quot;),o=t(&quot;../../constants/numerical&quot;).BADNUM;e.exports=function(t,e,r){var s=t.cd,l=s[0].trace,c=t.xa,u=t.ya,f=360*(e&gt;=0?Math.floor((e+180)/360):Math.ceil((e-180)/360)),h=e-f;if(n.getClosest(s,function(t){var e=t.lonlat;if(e[0]===o)return 1/0;var n=Math.abs(c.c2p(e)-c.c2p([h,e[1]])),i=Math.abs(u.c2p(e)-u.c2p([e[0],r])),a=Math.max(3,t.mrc||0);return Math.max(Math.sqrt(n*n+i*i)-a,1-3/a)},t),!1!==t.index){var d=s[t.index],p=d.lonlat,m=[p[0]+f,p[1]],g=c.c2p(m),v=u.c2p(m),y=d.mrc||1;return t.x0=g-y,t.x1=g+y,t.y0=v-y,t.y1=v+y,t.color=i(l,d),t.extraText=function(t,e,r){function n(t){return t+&quot;\xb0&quot;}var i=(e.hi||t.hoverinfo).split(&quot;+&quot;),o=-1!==i.indexOf(&quot;all&quot;),s=-1!==i.indexOf(&quot;lon&quot;),l=-1!==i.indexOf(&quot;lat&quot;),c=e.lonlat,u=[];return o||s&amp;&amp;l?u.push(&quot;(&quot;+n(c[0])+&quot;, &quot;+n(c[1])+&quot;)&quot;):s?u.push(r.lon+n(c[0])):l&amp;&amp;u.push(r.lat+n(c[1])),(o||-1!==i.indexOf(&quot;text&quot;))&amp;&amp;a(e,t,u),u.join(&quot;&lt;br&gt;&quot;)}(l,d,s[0].t.labels),[t]}}},{&quot;../../components/fx&quot;:660,&quot;../../constants/numerical&quot;:721,&quot;../scatter/fill_hover_text&quot;:1074,&quot;../scatter/get_trace_color&quot;:1076}],1121:[function(t,e,r){&quot;use strict&quot;;var n={};n.attributes=t(&quot;./attributes&quot;),n.supplyDefaults=t(&quot;./defaults&quot;),n.colorbar=t(&quot;../scatter/colorbar&quot;),n.calc=t(&quot;../scattergeo/calc&quot;),n.plot=t(&quot;./plot&quot;),n.hoverPoints=t(&quot;./hover&quot;),n.eventData=t(&quot;./event_data&quot;),n.selectPoints=t(&quot;./select&quot;),n.style=function(t,e){if(e){e[0].trace._glTrace.update(e)}},n.moduleType=&quot;trace&quot;,n.name=&quot;scattermapbox&quot;,n.basePlotModule=t(&quot;../../plots/mapbox&quot;),n.categories=[&quot;mapbox&quot;,&quot;gl&quot;,&quot;symbols&quot;,&quot;markerColorscale&quot;,&quot;showLegend&quot;,&quot;scatterlike&quot;],n.meta={},e.exports=n},{&quot;../../plots/mapbox&quot;:846,&quot;../scatter/colorbar&quot;:1070,&quot;../scattergeo/calc&quot;:1105,&quot;./attributes&quot;:1116,&quot;./defaults&quot;:1118,&quot;./event_data&quot;:1119,&quot;./hover&quot;:1120,&quot;./plot&quot;:1122,&quot;./select&quot;:1123}],1122:[function(t,e,r){&quot;use strict&quot;;function n(t,e){this.mapbox=t,this.map=t.map,this.uid=e,this.idSourceFill=e+&quot;-source-fill&quot;,this.idSourceLine=e+&quot;-source-line&quot;,this.idSourceCircle=e+&quot;-source-circle&quot;,this.idSourceSymbol=e+&quot;-source-symbol&quot;,this.idLayerFill=e+&quot;-layer-fill&quot;,this.idLayerLine=e+&quot;-layer-line&quot;,this.idLayerCircle=e+&quot;-layer-circle&quot;,this.idLayerSymbol=e+&quot;-layer-symbol&quot;,this.mapbox.initSource(this.idSourceFill),this.mapbox.initSource(this.idSourceLine),this.mapbox.initSource(this.idSourceCircle),this.mapbox.initSource(this.idSourceSymbol),this.map.addLayer({id:this.idLayerFill,source:this.idSourceFill,type:&quot;fill&quot;}),this.map.addLayer({id:this.idLayerLine,source:this.idSourceLine,type:&quot;line&quot;}),this.map.addLayer({id:this.idLayerCircle,source:this.idSourceCircle,type:&quot;circle&quot;}),this.map.addLayer({id:this.idLayerSymbol,source:this.idSourceSymbol,type:&quot;symbol&quot;})}function i(t){return&quot;visible&quot;===t.layout.visibility}var a=t(&quot;./convert&quot;),o=n.prototype;o.update=function(t){var e=this.mapbox,r=a(t);e.setOptions(this.idLayerFill,&quot;setLayoutProperty&quot;,r.fill.layout),e.setOptions(this.idLayerLine,&quot;setLayoutProperty&quot;,r.line.layout),e.setOptions(this.idLayerCircle,&quot;setLayoutProperty&quot;,r.circle.layout),e.setOptions(this.idLayerSymbol,&quot;setLayoutProperty&quot;,r.symbol.layout),i(r.fill)&amp;&amp;(e.setSourceData(this.idSourceFill,r.fill.geojson),e.setOptions(this.idLayerFill,&quot;setPaintProperty&quot;,r.fill.paint)),i(r.line)&amp;&amp;(e.setSourceData(this.idSourceLine,r.line.geojson),e.setOptions(this.idLayerLine,&quot;setPaintProperty&quot;,r.line.paint)),i(r.circle)&amp;&amp;(e.setSourceData(this.idSourceCircle,r.circle.geojson),e.setOptions(this.idLayerCircle,&quot;setPaintProperty&quot;,r.circle.paint)),i(r.symbol)&amp;&amp;(e.setSourceData(this.idSourceSymbol,r.symbol.geojson),e.setOptions(this.idLayerSymbol,&quot;setPaintProperty&quot;,r.symbol.paint)),t[0].trace._glTrace=this},o.dispose=function(){var t=this.map;t.removeLayer(this.idLayerFill),t.removeLayer(this.idLayerLine),t.removeLayer(this.idLayerCircle),t.removeLayer(this.idLayerSymbol),t.removeSource(this.idSourceFill),t.removeSource(this.idSourceLine),t.removeSource(this.idSourceCircle),t.removeSource(this.idSourceSymbol)},e.exports=function(t,e){var r=new n(t,e[0].trace.uid);return r.update(e),r}},{&quot;./convert&quot;:1117}],1123:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../scatter/subtypes&quot;);e.exports=function(t,e){var r,i,a,o,s,l=t.cd,c=t.xaxis,u=t.yaxis,f=[],h=l[0].trace;if(!n.hasMarkers(h))return[];if(!1===e)for(s=0;s&lt;l.length;s++)l[s].selected=0;else for(s=0;s&lt;l.length;s++)i=(r=l[s]).lonlat,a=c.c2p(i),o=u.c2p(i),e.contains([a,o])?(f.push({pointNumber:s,lon:i[0],lat:i[1]}),r.selected=1):r.selected=0;return f}},{&quot;../scatter/subtypes&quot;:1088}],1124:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib/extend&quot;).extendFlat,i=t(&quot;../scatter/attributes&quot;),a=t(&quot;../../plots/attributes&quot;),o=i.line;e.exports={mode:i.mode,r:{valType:&quot;data_array&quot;,editType:&quot;calc+clearAxisTypes&quot;},theta:{valType:&quot;data_array&quot;,editType:&quot;calc+clearAxisTypes&quot;},thetaunit:{valType:&quot;enumerated&quot;,values:[&quot;radians&quot;,&quot;degrees&quot;,&quot;gradians&quot;],dflt:&quot;degrees&quot;,editType:&quot;calc+clearAxisTypes&quot;},text:i.text,hovertext:i.hovertext,line:{color:o.color,width:o.width,dash:o.dash,shape:n({},o.shape,{values:[&quot;linear&quot;,&quot;spline&quot;]}),smoothing:o.smoothing,editType:&quot;calc&quot;},connectgaps:i.connectgaps,marker:i.marker,cliponaxis:n({},i.cliponaxis,{dflt:!1}),textposition:i.textposition,textfont:i.textfont,fill:n({},i.fill,{values:[&quot;none&quot;,&quot;toself&quot;,&quot;tonext&quot;]}),fillcolor:i.fillcolor,hoverinfo:n({},a.hoverinfo,{flags:[&quot;r&quot;,&quot;theta&quot;,&quot;text&quot;,&quot;name&quot;]}),hoveron:i.hoveron,selected:i.selected,unselected:i.unselected}},{&quot;../../lib/extend&quot;:732,&quot;../../plots/attributes&quot;:787,&quot;../scatter/attributes&quot;:1066}],1125:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;fast-isnumeric&quot;),i=t(&quot;../../constants/numerical&quot;).BADNUM,a=t(&quot;../../plots/cartesian/axes&quot;),o=t(&quot;../scatter/colorscale_calc&quot;),s=t(&quot;../scatter/arrays_to_calcdata&quot;),l=t(&quot;../scatter/calc_selection&quot;),c=t(&quot;../scatter/calc&quot;).calcMarkerSize;e.exports=function(t,e){function r(t){return d.c2rad(t,e.thetaunit)}for(var u=t._fullLayout,f=e.subplot,h=u[f].radialaxis,d=u[f].angularaxis,p=h.makeCalcdata(e,&quot;r&quot;),m=d.makeCalcdata(e,&quot;theta&quot;),g=p.length,v=new Array(g),y=0;y&lt;g;y++){var x=p[y],b=m[y],_=v[y]={};n(x)&amp;&amp;n(b)?(_.r=x,_.theta=b,_.rad=r(b)):_.r=i}var w=c(e,g);return a.expand(h,p,{ppad:w}),&quot;linear&quot;!==d.type&amp;&amp;(d.autorange=!0,a.expand(d,m)),o(e),s(v,e),l(v,e),v}},{&quot;../../constants/numerical&quot;:721,&quot;../../plots/cartesian/axes&quot;:789,&quot;../scatter/arrays_to_calcdata&quot;:1065,&quot;../scatter/calc&quot;:1067,&quot;../scatter/calc_selection&quot;:1068,&quot;../scatter/colorscale_calc&quot;:1071,&quot;fast-isnumeric&quot;:140}],1126:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib&quot;),i=t(&quot;../scatter/subtypes&quot;),a=t(&quot;../scatter/marker_defaults&quot;),o=t(&quot;../scatter/line_defaults&quot;),s=t(&quot;../scatter/line_shape_defaults&quot;),l=t(&quot;../scatter/text_defaults&quot;),c=t(&quot;../scatter/fillcolor_defaults&quot;),u=t(&quot;../scatter/constants&quot;).PTS_LINESONLY,f=t(&quot;./attributes&quot;);e.exports=function(t,e,r,h){function d(r,i){return n.coerce(t,e,f,r,i)}var p=d(&quot;r&quot;),m=d(&quot;theta&quot;),g=p&amp;&amp;m?Math.min(p.length,m.length):0;if(g){g&lt;p.length&amp;&amp;(e.r=p.slice(0,g)),g&lt;m.length&amp;&amp;(e.theta=m.slice(0,g)),d(&quot;thetaunit&quot;),d(&quot;mode&quot;,g&lt;u?&quot;lines+markers&quot;:&quot;lines&quot;),d(&quot;text&quot;),d(&quot;hovertext&quot;),i.hasLines(e)&amp;&amp;(o(t,e,r,h,d),s(t,e,d),d(&quot;connectgaps&quot;)),i.hasMarkers(e)&amp;&amp;a(t,e,r,h,d,{gradient:!0}),i.hasText(e)&amp;&amp;l(t,e,h,d);var v=[];(i.hasMarkers(e)||i.hasText(e))&amp;&amp;(d(&quot;cliponaxis&quot;),d(&quot;marker.maxdisplayed&quot;),v.push(&quot;points&quot;)),d(&quot;fill&quot;),&quot;none&quot;!==e.fill&amp;&amp;(c(t,e,r,d),i.hasLines(e)||s(t,e,d)),&quot;tonext&quot;!==e.fill&amp;&amp;&quot;toself&quot;!==e.fill||v.push(&quot;fills&quot;),d(&quot;hoveron&quot;,v.join(&quot;+&quot;)||&quot;points&quot;),n.coerceSelectionMarkerOpacity(e,d)}else e.visible=!1}},{&quot;../../lib&quot;:743,&quot;../scatter/constants&quot;:1072,&quot;../scatter/fillcolor_defaults&quot;:1075,&quot;../scatter/line_defaults&quot;:1079,&quot;../scatter/line_shape_defaults&quot;:1081,&quot;../scatter/marker_defaults&quot;:1084,&quot;../scatter/subtypes&quot;:1088,&quot;../scatter/text_defaults&quot;:1089,&quot;./attributes&quot;:1124}],1127:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r){function n(t,e){c.push(t._hovertitle+&quot;: &quot;+a.tickText(t,e,&quot;hover&quot;).text)}var i=r.radialAxis,s=r.angularAxis,l=(t.hi||e.hoverinfo).split(&quot;+&quot;),c=[];i._hovertitle=&quot;r&quot;,s._hovertitle=&quot;\u03b8&quot;;var u,f=s._c2rad(t.theta,e.thetaunit);return u=&quot;linear&quot;===s.type&amp;&amp;e.thetaunit!==s.thetaunit?&quot;degrees&quot;===s.thetaunit?o.rad2deg(f):f:t.theta,-1!==l.indexOf(&quot;all&quot;)&amp;&amp;(l=[&quot;r&quot;,&quot;theta&quot;]),-1!==l.indexOf(&quot;r&quot;)&amp;&amp;n(i,i.c2r(t.r)),-1!==l.indexOf(&quot;theta&quot;)&amp;&amp;n(s,u),c.join(&quot;&lt;br&gt;&quot;)}var i=t(&quot;../scatter/hover&quot;),a=t(&quot;../../plots/cartesian/axes&quot;),o=t(&quot;../../lib&quot;);e.exports={hoverPoints:function(t,e,r,a){var o=i(t,e,r,a);if(o&amp;&amp;!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.isPtWithinSector(c))return s.xLabelVal=void 0,s.yLabelVal=void 0,s.extraText=n(c,u,l),o}},makeHoverPointText:n}},{&quot;../../lib&quot;:743,&quot;../../plots/cartesian/axes&quot;:789,&quot;../scatter/hover&quot;:1077}],1128:[function(t,e,r){&quot;use strict&quot;;e.exports={moduleType:&quot;trace&quot;,name:&quot;scatterpolar&quot;,basePlotModule:t(&quot;../../plots/polar&quot;),categories:[&quot;polar&quot;,&quot;symbols&quot;,&quot;markerColorscale&quot;,&quot;showLegend&quot;,&quot;scatter-like&quot;],attributes:t(&quot;./attributes&quot;),supplyDefaults:t(&quot;./defaults&quot;),calc:t(&quot;./calc&quot;),plot:t(&quot;./plot&quot;),style:t(&quot;../scatter/style&quot;).style,hoverPoints:t(&quot;./hover&quot;).hoverPoints,selectPoints:t(&quot;../scatter/select&quot;),meta:{}}},{&quot;../../plots/polar&quot;:855,&quot;../scatter/select&quot;:1086,&quot;../scatter/style&quot;:1087,&quot;./attributes&quot;:1124,&quot;./calc&quot;:1125,&quot;./defaults&quot;:1126,&quot;./hover&quot;:1127,&quot;./plot&quot;:1129}],1129:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../scatter/plot&quot;),i=t(&quot;../../constants/numerical&quot;).BADNUM;e.exports=function(t,e,r){var a,o,s,l={xaxis:e.xaxis,yaxis:e.yaxis,plot:e.framework,layerClipId:e._hasClipOnAxisFalse?e.clipIds.circle:null},c=e.radialAxis,u=c.range;for(s=u[0]&gt;u[1]?function(t){return t&lt;=0}:function(t){return t&gt;=0},a=0;a&lt;r.length;a++)for(o=0;o&lt;r[a].length;o++){var f=r[a][o],h=f.r;if(h!==i){var d=c.c2r(h)-u[0];if(s(d)){var p=f.rad;f.x=d*Math.cos(p),f.y=d*Math.sin(p);continue}f.intoCenter=[e.cxx,e.cyy]}f.x=i,f.y=i}n(t,l,r)}},{&quot;../../constants/numerical&quot;:721,&quot;../scatter/plot&quot;:1085}],1130:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../scatterpolar/attributes&quot;),i=t(&quot;../scattergl/attributes&quot;);e.exports={mode:n.mode,r:n.r,theta:n.theta,thetaunit:n.thetaunit,text:n.text,line:i.line,connectgaps:i.connectgaps,marker:i.marker,fill:i.fill,fillcolor:i.fillcolor,hoverinfo:n.hoverinfo,hoveron:n.hoveron,selected:n.selected,unselected:n.unselected}},{&quot;../scattergl/attributes&quot;:1113,&quot;../scatterpolar/attributes&quot;:1124}],1131:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib&quot;),i=t(&quot;../scatter/subtypes&quot;),a=t(&quot;../scatter/marker_defaults&quot;),o=t(&quot;../scatter/line_defaults&quot;),s=t(&quot;../scatter/fillcolor_defaults&quot;),l=t(&quot;../scatter/constants&quot;).PTS_LINESONLY,c=t(&quot;./attributes&quot;);e.exports=function(t,e,r,u){function f(r,i){return n.coerce(t,e,c,r,i)}var h=f(&quot;r&quot;),d=f(&quot;theta&quot;),p=h&amp;&amp;d?Math.min(h.length,d.length):0;if(p){p&lt;h.length&amp;&amp;(e.r=h.slice(0,p)),p&lt;d.length&amp;&amp;(e.theta=d.slice(0,p)),f(&quot;thetaunit&quot;),f(&quot;mode&quot;,p&lt;l?&quot;lines+markers&quot;:&quot;lines&quot;),f(&quot;text&quot;),i.hasLines(e)&amp;&amp;(o(t,e,r,u,f),f(&quot;connectgaps&quot;));var m=[];i.hasMarkers(e)&amp;&amp;(a(t,e,r,u,f),m.push(&quot;points&quot;)),f(&quot;fill&quot;),&quot;none&quot;!==e.fill&amp;&amp;s(t,e,r,f),&quot;tonext&quot;!==e.fill&amp;&amp;&quot;toself&quot;!==e.fill||m.push(&quot;fills&quot;),f(&quot;hoveron&quot;,m.join(&quot;+&quot;)||&quot;points&quot;),n.coerceSelectionMarkerOpacity(e,f)}else e.visible=!1}},{&quot;../../lib&quot;:743,&quot;../scatter/constants&quot;:1072,&quot;../scatter/fillcolor_defaults&quot;:1075,&quot;../scatter/line_defaults&quot;:1079,&quot;../scatter/marker_defaults&quot;:1084,&quot;../scatter/subtypes&quot;:1088,&quot;./attributes&quot;:1130}],1132:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;kdgrass&quot;),i=t(&quot;fast-isnumeric&quot;),a=t(&quot;../scattergl&quot;),o=t(&quot;../scatter/colorscale_calc&quot;),s=t(&quot;../../plots/cartesian/axes&quot;),l=t(&quot;../scatterpolar/hover&quot;).makeHoverPointText,c=t(&quot;../scatter/subtypes&quot;);e.exports={moduleType:&quot;trace&quot;,name:&quot;scatterpolargl&quot;,basePlotModule:t(&quot;../../plots/polar&quot;),categories:[&quot;gl&quot;,&quot;regl&quot;,&quot;polar&quot;,&quot;symbols&quot;,&quot;markerColorscale&quot;,&quot;showLegend&quot;,&quot;scatter-like&quot;],attributes:t(&quot;./attributes&quot;),supplyDefaults:t(&quot;./defaults&quot;),calc:function(t,e){var r=t._fullLayout,n=e.subplot,i=r[n].radialaxis,a=r[n].angularaxis,l=i.makeCalcdata(e,&quot;r&quot;),c=a.makeCalcdata(e,&quot;theta&quot;),u={};return o(e),u.r=l,u.theta=c,s.expand(i,l,{tozero:!0}),&quot;linear&quot;!==a.type&amp;&amp;(a.autorange=!0,s.expand(a,c)),[{x:!1,y:!1,t:u,trace:e}]},plot:function(t,e,r){var o=e.radialAxis,s=e.angularAxis,l=o.range,u=a.sceneUpdate(t,e);return u.clear(),r.forEach(function(f,h){function d(t){return s.c2rad(t,b.thetaunit)}if(f&amp;&amp;f[0]&amp;&amp;f[0].trace){var p,m,g,v,y,x=f[0],b=x.trace,_=x.t,w=_.r,M=_.theta,k=w.slice(),A=M.slice();for(p=0;p&lt;w.length;p++)m=w[p],v=M[p],y=s.c2rad(v,b.thetaunit),e.isPtWithinSector({r:m,rad:y})||(k[p]=NaN,A[p]=NaN);var T=w.length,S=new Array(2*T),E=Array(T),L=Array(T);for(p=0;p&lt;T;p++)m=k[p],v=A[p],i(m)&amp;&amp;i(v)&amp;&amp;m&gt;=0?(g=o.c2r(m)-l[0],y=d(v),E[p]=S[2*p]=g*Math.cos(y),L[p]=S[2*p+1]=g*Math.sin(y)):E[p]=L[p]=S[2*p]=S[2*p+1]=NaN;var C=a.sceneOptions(t,e,b,S);C.fill&amp;&amp;!u.fill2d&amp;&amp;(u.fill2d=!0),C.marker&amp;&amp;!u.scatter2d&amp;&amp;(u.scatter2d=!0),C.line&amp;&amp;!u.line2d&amp;&amp;(u.line2d=!0),!C.errorX&amp;&amp;!C.errorY||u.error2d||(u.error2d=!0),c.hasMarkers(b)&amp;&amp;(C.selected.positions=C.unselected.positions=C.marker.positions),u.lineOptions.push(C.line),u.errorXOptions.push(C.errorX),u.errorYOptions.push(C.errorY),u.fillOptions.push(C.fill),u.markerOptions.push(C.marker),u.selectedOptions.push(C.selected),u.unselectedOptions.push(C.unselected),u.count=r.length,_.scene=u,_.index=h,_.x=E,_.y=L,_.rawx=E,_.rawy=L,_.r=w,_.theta=M,_.positions=S,_.count=T,_.tree=n(S,512)}}),a.plot(t,e,r)},hoverPoints:function(t,e,r,n){var i=t.cd[0].t,o=i.r,s=i.theta,c=a.hoverPoints(t,e,r,n);if(c&amp;&amp;!1!==c[0].index){var u=c[0];if(void 0===u.index)return c;var f=t.subplot,h=f.angularAxis,d=u.cd[u.index],p=u.trace;if(d.r=o[u.index],d.theta=s[u.index],d.rad=h.c2rad(d.theta,p.thetaunit),f.isPtWithinSector(d))return u.xLabelVal=void 0,u.yLabelVal=void 0,u.extraText=l(d,p,f),c}},style:a.style,selectPoints:a.selectPoints,meta:{}}},{&quot;../../plots/cartesian/axes&quot;:789,&quot;../../plots/polar&quot;:855,&quot;../scatter/colorscale_calc&quot;:1071,&quot;../scatter/subtypes&quot;:1088,&quot;../scattergl&quot;:1115,&quot;../scatterpolar/hover&quot;:1127,&quot;./attributes&quot;:1130,&quot;./defaults&quot;:1131,&quot;fast-isnumeric&quot;:140,kdgrass:292}],1133:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../scatter/attributes&quot;),i=t(&quot;../../plots/attributes&quot;),a=t(&quot;../../components/colorscale/color_attributes&quot;),o=t(&quot;../../components/colorbar/attributes&quot;),s=t(&quot;../../components/drawing/attributes&quot;).dash,l=t(&quot;../../lib/extend&quot;).extendFlat,c=n.marker,u=n.line,f=c.line;e.exports={a:{valType:&quot;data_array&quot;,editType:&quot;calc&quot;},b:{valType:&quot;data_array&quot;,editType:&quot;calc&quot;},c:{valType:&quot;data_array&quot;,editType:&quot;calc&quot;},sum:{valType:&quot;number&quot;,dflt:0,min:0,editType:&quot;calc&quot;},mode:l({},n.mode,{dflt:&quot;markers&quot;}),text:l({},n.text,{}),hovertext:l({},n.hovertext,{}),line:{color:u.color,width:u.width,dash:s,shape:l({},u.shape,{values:[&quot;linear&quot;,&quot;spline&quot;]}),smoothing:u.smoothing,editType:&quot;calc&quot;},connectgaps:n.connectgaps,cliponaxis:n.cliponaxis,fill:l({},n.fill,{values:[&quot;none&quot;,&quot;toself&quot;,&quot;tonext&quot;]}),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:&quot;calc&quot;},a(&quot;marker.line&quot;)),gradient:c.gradient,editType:&quot;calc&quot;},a(&quot;marker&quot;),{showscale:c.showscale,colorbar:o}),textfont:n.textfont,textposition:n.textposition,selected:n.selected,unselected:n.unselected,hoverinfo:l({},i.hoverinfo,{flags:[&quot;a&quot;,&quot;b&quot;,&quot;c&quot;,&quot;text&quot;,&quot;name&quot;]}),hoveron:n.hoveron}},{&quot;../../components/colorbar/attributes&quot;:619,&quot;../../components/colorscale/color_attributes&quot;:626,&quot;../../components/drawing/attributes&quot;:642,&quot;../../lib/extend&quot;:732,&quot;../../plots/attributes&quot;:787,&quot;../scatter/attributes&quot;:1066}],1134:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;fast-isnumeric&quot;),i=t(&quot;../scatter/colorscale_calc&quot;),a=t(&quot;../scatter/arrays_to_calcdata&quot;),o=t(&quot;../scatter/calc_selection&quot;),s=t(&quot;../scatter/calc&quot;).calcMarkerSize,l=[&quot;a&quot;,&quot;b&quot;,&quot;c&quot;],c={a:[&quot;b&quot;,&quot;c&quot;],b:[&quot;a&quot;,&quot;c&quot;],c:[&quot;a&quot;,&quot;b&quot;]};e.exports=function(t,e){var r,u,f,h,d,p,m=t._fullLayout[e.subplot].sum,g=e.sum||m;for(r=0;r&lt;l.length;r++)if(f=l[r],!e[f]){for(d=e[c[f][0]],p=e[c[f][1]],h=new Array(d.length),u=0;u&lt;d.length;u++)h[u]=g-d[u]-p[u];e[f]=h}var v,y,x,b,_,w,M=e.a.length,k=new Array(M);for(r=0;r&lt;M;r++)v=e.a[r],y=e.b[r],x=e.c[r],n(v)&amp;&amp;n(y)&amp;&amp;n(x)?(1!==(b=m/((v=+v)+(y=+y)+(x=+x)))&amp;&amp;(v*=b,y*=b,x*=b),w=v,_=x-y,k[r]={x:_,y:w,a:v,b:y,c:x}):k[r]={x:!1,y:!1};return s(e,M),i(e),a(k,e),o(k,e),k}},{&quot;../scatter/arrays_to_calcdata&quot;:1065,&quot;../scatter/calc&quot;:1067,&quot;../scatter/calc_selection&quot;:1068,&quot;../scatter/colorscale_calc&quot;:1071,&quot;fast-isnumeric&quot;:140}],1135:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib&quot;),i=t(&quot;../scatter/constants&quot;),a=t(&quot;../scatter/subtypes&quot;),o=t(&quot;../scatter/marker_defaults&quot;),s=t(&quot;../scatter/line_defaults&quot;),l=t(&quot;../scatter/line_shape_defaults&quot;),c=t(&quot;../scatter/text_defaults&quot;),u=t(&quot;../scatter/fillcolor_defaults&quot;),f=t(&quot;./attributes&quot;);e.exports=function(t,e,r,h){function d(r,i){return n.coerce(t,e,f,r,i)}var p,m=d(&quot;a&quot;),g=d(&quot;b&quot;),v=d(&quot;c&quot;);if(m?(p=m.length,g?(p=Math.min(p,g.length),v&amp;&amp;(p=Math.min(p,v.length))):p=v?Math.min(p,v.length):0):g&amp;&amp;v&amp;&amp;(p=Math.min(g.length,v.length)),p){m&amp;&amp;p&lt;m.length&amp;&amp;(e.a=m.slice(0,p)),g&amp;&amp;p&lt;g.length&amp;&amp;(e.b=g.slice(0,p)),v&amp;&amp;p&lt;v.length&amp;&amp;(e.c=v.slice(0,p)),d(&quot;sum&quot;),d(&quot;text&quot;),d(&quot;hovertext&quot;);d(&quot;mode&quot;,p&lt;i.PTS_LINESONLY?&quot;lines+markers&quot;:&quot;lines&quot;),a.hasLines(e)&amp;&amp;(s(t,e,r,h,d),l(t,e,d),d(&quot;connectgaps&quot;)),a.hasMarkers(e)&amp;&amp;o(t,e,r,h,d,{gradient:!0}),a.hasText(e)&amp;&amp;c(t,e,h,d);var y=[];(a.hasMarkers(e)||a.hasText(e))&amp;&amp;(d(&quot;cliponaxis&quot;),d(&quot;marker.maxdisplayed&quot;),y.push(&quot;points&quot;)),d(&quot;fill&quot;),&quot;none&quot;!==e.fill&amp;&amp;(u(t,e,r,d),a.hasLines(e)||l(t,e,d)),&quot;tonext&quot;!==e.fill&amp;&amp;&quot;toself&quot;!==e.fill||y.push(&quot;fills&quot;),d(&quot;hoveron&quot;,y.join(&quot;+&quot;)||&quot;points&quot;),n.coerceSelectionMarkerOpacity(e,d)}else e.visible=!1}},{&quot;../../lib&quot;:743,&quot;../scatter/constants&quot;:1072,&quot;../scatter/fillcolor_defaults&quot;:1075,&quot;../scatter/line_defaults&quot;:1079,&quot;../scatter/line_shape_defaults&quot;:1081,&quot;../scatter/marker_defaults&quot;:1084,&quot;../scatter/subtypes&quot;:1088,&quot;../scatter/text_defaults&quot;:1089,&quot;./attributes&quot;:1133}],1136:[function(t,e,r){&quot;use strict&quot;;e.exports=function(t,e,r,n,i){if(e.xa&amp;&amp;(t.xaxis=e.xa),e.ya&amp;&amp;(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}},{}],1137:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../scatter/hover&quot;),i=t(&quot;../../plots/cartesian/axes&quot;);e.exports=function(t,e,r,a){function o(t,e){v.push(t._hovertitle+&quot;: &quot;+i.tickText(t,e,&quot;hover&quot;).text)}var s=n(t,e,r,a);if(s&amp;&amp;!1!==s[0].index){var l=s[0];if(void 0===l.index){var c=1-l.y0/t.ya._length,u=t.xa._length,f=u*c/2,h=u-f;return l.x0=Math.max(Math.min(l.x0,h),f),l.x1=Math.max(Math.min(l.x1,h),f),s}var d=l.cd[l.index];l.a=d.a,l.b=d.b,l.c=d.c,l.xLabelVal=void 0,l.yLabelVal=void 0;var p=l.trace,m=l.subplot,g=(d.hi||p.hoverinfo).split(&quot;+&quot;),v=[];return-1!==g.indexOf(&quot;all&quot;)&amp;&amp;(g=[&quot;a&quot;,&quot;b&quot;,&quot;c&quot;]),-1!==g.indexOf(&quot;a&quot;)&amp;&amp;o(m.aaxis,d.a),-1!==g.indexOf(&quot;b&quot;)&amp;&amp;o(m.baxis,d.b),-1!==g.indexOf(&quot;c&quot;)&amp;&amp;o(m.caxis,d.c),l.extraText=v.join(&quot;&lt;br&gt;&quot;),s}}},{&quot;../../plots/cartesian/axes&quot;:789,&quot;../scatter/hover&quot;:1077}],1138:[function(t,e,r){&quot;use strict&quot;;var n={};n.attributes=t(&quot;./attributes&quot;),n.supplyDefaults=t(&quot;./defaults&quot;),n.colorbar=t(&quot;../scatter/colorbar&quot;),n.calc=t(&quot;./calc&quot;),n.plot=t(&quot;./plot&quot;),n.style=t(&quot;../scatter/style&quot;).style,n.hoverPoints=t(&quot;./hover&quot;),n.selectPoints=t(&quot;../scatter/select&quot;),n.eventData=t(&quot;./event_data&quot;),n.moduleType=&quot;trace&quot;,n.name=&quot;scatterternary&quot;,n.basePlotModule=t(&quot;../../plots/ternary&quot;),n.categories=[&quot;ternary&quot;,&quot;symbols&quot;,&quot;markerColorscale&quot;,&quot;showLegend&quot;,&quot;scatter-like&quot;],n.meta={},e.exports=n},{&quot;../../plots/ternary&quot;:866,&quot;../scatter/colorbar&quot;:1070,&quot;../scatter/select&quot;:1086,&quot;../scatter/style&quot;:1087,&quot;./attributes&quot;:1133,&quot;./calc&quot;:1134,&quot;./defaults&quot;:1135,&quot;./event_data&quot;:1136,&quot;./hover&quot;:1137,&quot;./plot&quot;:1139}],1139:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../scatter/plot&quot;);e.exports=function(t,e,r){var i=e.plotContainer;i.select(&quot;.scatterlayer&quot;).selectAll(&quot;*&quot;).remove();var a={xaxis:e.xaxis,yaxis:e.yaxis,plot:i,layerClipId:e._hasClipOnAxisFalse?e.clipIdRelative:null};n(t,a,r)}},{&quot;../scatter/plot&quot;:1085}],1140:[function(t,e,r){&quot;use strict&quot;;function n(t){return{show:{valType:&quot;boolean&quot;,dflt:!1},project:{x:{valType:&quot;boolean&quot;,dflt:!1},y:{valType:&quot;boolean&quot;,dflt:!1},z:{valType:&quot;boolean&quot;,dflt:!1}},color:{valType:&quot;color&quot;,dflt:i.defaultLine},usecolormap:{valType:&quot;boolean&quot;,dflt:!1},width:{valType:&quot;number&quot;,min:1,max:16,dflt:2},highlight:{valType:&quot;boolean&quot;,dflt:!0},highlightcolor:{valType:&quot;color&quot;,dflt:i.defaultLine},highlightwidth:{valType:&quot;number&quot;,min:1,max:16,dflt:2}}}var i=t(&quot;../../components/color&quot;),a=t(&quot;../../components/colorscale/attributes&quot;),o=t(&quot;../../components/colorbar/attributes&quot;),s=t(&quot;../../lib/extend&quot;).extendFlat,l=t(&quot;../../plot_api/edit_types&quot;).overrideAll,c=e.exports=l({z:{valType:&quot;data_array&quot;},x:{valType:&quot;data_array&quot;},y:{valType:&quot;data_array&quot;},text:{valType:&quot;data_array&quot;},surfacecolor:{valType:&quot;data_array&quot;},cauto:a.zauto,cmin:a.zmin,cmax:a.zmax,colorscale:a.colorscale,autocolorscale:s({},a.autocolorscale,{dflt:!1}),reversescale:a.reversescale,showscale:a.showscale,colorbar:o,contours:{x:n(),y:n(),z:n()},hidesurface:{valType:&quot;boolean&quot;,dflt:!1},lightposition:{x:{valType:&quot;number&quot;,min:-1e5,max:1e5,dflt:10},y:{valType:&quot;number&quot;,min:-1e5,max:1e5,dflt:1e4},z:{valType:&quot;number&quot;,min:-1e5,max:1e5,dflt:0}},lighting:{ambient:{valType:&quot;number&quot;,min:0,max:1,dflt:.8},diffuse:{valType:&quot;number&quot;,min:0,max:1,dflt:.8},specular:{valType:&quot;number&quot;,min:0,max:2,dflt:.05},roughness:{valType:&quot;number&quot;,min:0,max:1,dflt:.5},fresnel:{valType:&quot;number&quot;,min:0,max:5,dflt:.2}},opacity:{valType:&quot;number&quot;,min:0,max:1,dflt:1},_deprecated:{zauto:s({},a.zauto,{}),zmin:s({},a.zmin,{}),zmax:s({},a.zmax,{})}},&quot;calc&quot;,&quot;nested&quot;);c.x.editType=c.y.editType=c.z.editType=&quot;calc+clearAxisTypes&quot;},{&quot;../../components/color&quot;:618,&quot;../../components/colorbar/attributes&quot;:619,&quot;../../components/colorscale/attributes&quot;:624,&quot;../../lib/extend&quot;:732,&quot;../../plot_api/edit_types&quot;:773}],1141:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../components/colorscale/calc&quot;);e.exports=function(t,e){e.surfacecolor?n(e,e.surfacecolor,&quot;&quot;,&quot;c&quot;):n(e,e.z,&quot;&quot;,&quot;c&quot;)}},{&quot;../../components/colorscale/calc&quot;:625}],1142:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;fast-isnumeric&quot;),i=t(&quot;../../lib&quot;),a=t(&quot;../../plots/plots&quot;),o=t(&quot;../../components/colorscale&quot;),s=t(&quot;../../components/colorbar/draw&quot;);e.exports=function(t,e){var r=e[0].trace,l=&quot;cb&quot;+r.uid,c=r.cmin,u=r.cmax,f=r.surfacecolor||r.z;if(n(c)||(c=i.aggNums(Math.min,null,f)),n(u)||(u=i.aggNums(Math.max,null,f)),t._fullLayout._infolayer.selectAll(&quot;.&quot;+l).remove(),r.showscale){var h=e[0].t.cb=s(t,l),d=o.makeColorScaleFunc(o.extractScale(r.colorscale,c,u),{noNumericCheck:!0});h.fillcolor(d).filllevels({start:c,end:u,size:(u-c)/254}).options(r.colorbar)()}else a.autoMargin(t,l)}},{&quot;../../components/colorbar/draw&quot;:622,&quot;../../components/colorscale&quot;:633,&quot;../../lib&quot;:743,&quot;../../plots/plots&quot;:852,&quot;fast-isnumeric&quot;:140}],1143:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r){this.scene=t,this.uid=r,this.surface=e,this.data=null,this.showContour=[!1,!1,!1],this.dataScale=1}function i(t){var e=t.shape,r=[e[0]+2,e[1]+2],n=o(new Float32Array(r[0]*r[1]),r);return c.assign(n.lo(1,1).hi(e[0],e[1]),t),c.assign(n.lo(1).hi(e[0],1),t.hi(e[0],1)),c.assign(n.lo(1,r[1]-1).hi(e[0],1),t.lo(0,e[1]-1).hi(e[0],1)),c.assign(n.lo(0,1).hi(1,e[1]),t.hi(1)),c.assign(n.lo(r[0]-1,1).hi(1,e[1]),t.lo(e[0]-1)),n.set(0,0,t.get(0,0)),n.set(0,r[1]-1,t.get(0,e[1]-1)),n.set(r[0]-1,0,t.get(e[0]-1,0)),n.set(r[0]-1,r[1]-1,t.get(e[0]-1,e[1]-1)),n}var a=t(&quot;gl-surface3d&quot;),o=t(&quot;ndarray&quot;),s=t(&quot;ndarray-homography&quot;),l=t(&quot;ndarray-fill&quot;),c=t(&quot;ndarray-ops&quot;),u=t(&quot;tinycolor2&quot;),f=t(&quot;../../lib/str2rgbarray&quot;),h=128,d=n.prototype;d.handlePick=function(t){if(t.object===this.surface){var e=t.index=[Math.min(0|Math.round(t.data.index[0]/this.dataScale-1),this.data.z[0].length-1),Math.min(0|Math.round(t.data.index[1]/this.dataScale-1),this.data.z.length-1)],r=[0,0,0];Array.isArray(this.data.x[0])?r[0]=this.data.x[e[1]][e[0]]:r[0]=this.data.x[e[0]],Array.isArray(this.data.y[0])?r[1]=this.data.y[e[1]][e[0]]:r[1]=this.data.y[e[1]],r[2]=this.data.z[e[1]][e[0]],t.traceCoordinate=r;var n=this.scene.fullSceneLayout;t.dataCoordinate=[n.xaxis.d2l(r[0],0,this.data.xcalendar)*this.scene.dataScale[0],n.yaxis.d2l(r[1],0,this.data.ycalendar)*this.scene.dataScale[1],n.zaxis.d2l(r[2],0,this.data.zcalendar)*this.scene.dataScale[2]];var i=this.data.text;return i&amp;&amp;i[e[1]]&amp;&amp;void 0!==i[e[1]][e[0]]?t.textLabel=i[e[1]][e[0]]:t.textLabel=&quot;&quot;,t.data.dataCoordinate=t.dataCoordinate.slice(),this.surface.highlight(t.data),this.scene.glplot.spikes.position=t.dataCoordinate,!0}},d.setContourLevels=function(){for(var t=[[],[],[]],e=!1,r=0;r&lt;3;++r)this.showContour[r]&amp;&amp;(e=!0,t[r]=this.scene.contourLevels[r]);e&amp;&amp;this.surface.update({levels:t})},d.update=function(t){var e,r=this.scene,n=r.fullSceneLayout,a=this.surface,c=t.opacity,d=function(t,e){return void 0===e&amp;&amp;(e=1),t.map(function(t){var r=t[0],n=u(t[1]).toRgb();return{index:r,rgb:[n.r,n.g,n.b,e]}})}(t.colorscale,c),p=t.z,m=t.x,g=t.y,v=n.xaxis,y=n.yaxis,x=n.zaxis,b=r.dataScale,_=p[0].length,w=p.length,M=[o(new Float32Array(_*w),[_,w]),o(new Float32Array(_*w),[_,w]),o(new Float32Array(_*w),[_,w])],k=M[0],A=M[1],T=r.contourLevels;this.data=t;var S=t.xcalendar,E=t.ycalendar,L=t.zcalendar;l(M[2],function(t,e){return x.d2l(p[e][t],0,L)*b[2]}),Array.isArray(m[0])?l(k,function(t,e){return v.d2l(m[e][t],0,S)*b[0]}):l(k,function(t){return v.d2l(m[t],0,S)*b[0]}),Array.isArray(g[0])?l(A,function(t,e){return y.d2l(g[e][t],0,E)*b[1]}):l(A,function(t,e){return y.d2l(g[e],0,E)*b[1]});var C={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],opacity:t.opacity};if(C.intensityBounds=[t.cmin,t.cmax],t.surfacecolor){var z=o(new Float32Array(_*w),[_,w]);l(z,function(e,r){return t.surfacecolor[r][e]}),M.push(z)}else C.intensityBounds[0]*=b[2],C.intensityBounds[1]*=b[2];this.dataScale=function(t){var e=Math.max(t[0].shape[0],t[0].shape[1]);if(e&lt;h){for(var r=h/e,n=[0|Math.floor(t[0].shape[0]*r+1),0|Math.floor(t[0].shape[1]*r+1)],a=n[0]*n[1],l=0;l&lt;t.length;++l){var c=i(t[l]),u=o(new Float32Array(a),n);s(u,c,[r,0,0,0,r,0,0,0,1]),t[l]=u}return r}return 1}(M),t.surfacecolor&amp;&amp;(C.intensity=M.pop());var D=[!0,!0,!0],I=[&quot;x&quot;,&quot;y&quot;,&quot;z&quot;];for(e=0;e&lt;3;++e){var P=t.contours[I[e]];D[e]=P.highlight,C.showContour[e]=P.show||P.highlight,C.showContour[e]&amp;&amp;(C.contourProject[e]=[P.project.x,P.project.y,P.project.z],P.show?(this.showContour[e]=!0,C.levels[e]=T[e],a.highlightColor[e]=C.contourColor[e]=f(P.color),P.usecolormap?a.highlightTint[e]=C.contourTint[e]=0:a.highlightTint[e]=C.contourTint[e]=1,C.contourWidth[e]=P.width):this.showContour[e]=!1,P.highlight&amp;&amp;(C.dynamicColor[e]=f(P.highlightcolor),C.dynamicWidth[e]=P.highlightwidth))}(function(t){var e=t[0].rgb,r=t[t.length-1].rgb;return e[0]===r[0]&amp;&amp;e[1]===r[1]&amp;&amp;e[2]===r[2]&amp;&amp;e[3]===r[3]})(d)&amp;&amp;(C.vertexColor=!0),C.coords=M,a.update(C),a.visible=t.visible,a.enableDynamic=D,a.snapToData=!0,&quot;lighting&quot;in t&amp;&amp;(a.ambientLight=t.lighting.ambient,a.diffuseLight=t.lighting.diffuse,a.specularLight=t.lighting.specular,a.roughness=t.lighting.roughness,a.fresnel=t.lighting.fresnel),&quot;lightposition&quot;in t&amp;&amp;(a.lightPosition=[t.lightposition.x,t.lightposition.y,t.lightposition.z]),c&amp;&amp;c&lt;1&amp;&amp;(a.supportsTransparency=!0)},d.dispose=function(){this.scene.glplot.remove(this.surface),this.surface.dispose()},e.exports=function(t,e){var r=t.glplot.gl,i=a({gl:r}),o=new n(t,i,e.uid);return i._trace=o,o.update(e),t.glplot.add(i),o}},{&quot;../../lib/str2rgbarray&quot;:765,&quot;gl-surface3d&quot;:254,ndarray:458,&quot;ndarray-fill&quot;:448,&quot;ndarray-homography&quot;:450,&quot;ndarray-ops&quot;:452,tinycolor2:546}],1144:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r){e in t&amp;&amp;!(r in t)&amp;&amp;(t[r]=t[e])}var i=t(&quot;../../registry&quot;),a=t(&quot;../../lib&quot;),o=t(&quot;../../components/colorscale/defaults&quot;),s=t(&quot;./attributes&quot;);e.exports=function(t,e,r,l){function c(r,n){return a.coerce(t,e,s,r,n)}var u,f,h=c(&quot;z&quot;);if(h){var d=h[0].length,p=h.length;c(&quot;x&quot;),c(&quot;y&quot;);if(i.getComponentMethod(&quot;calendars&quot;,&quot;handleTraceDefaults&quot;)(t,e,[&quot;x&quot;,&quot;y&quot;,&quot;z&quot;],l),!Array.isArray(e.x))for(e.x=[],u=0;u&lt;d;++u)e.x[u]=u;if(c(&quot;text&quot;),!Array.isArray(e.y))for(e.y=[],u=0;u&lt;p;++u)e.y[u]=u;[&quot;lighting.ambient&quot;,&quot;lighting.diffuse&quot;,&quot;lighting.specular&quot;,&quot;lighting.roughness&quot;,&quot;lighting.fresnel&quot;,&quot;lightposition.x&quot;,&quot;lightposition.y&quot;,&quot;lightposition.z&quot;,&quot;hidesurface&quot;,&quot;opacity&quot;].forEach(function(t){c(t)});var m=c(&quot;surfacecolor&quot;);c(&quot;colorscale&quot;);var g=[&quot;x&quot;,&quot;y&quot;,&quot;z&quot;];for(u=0;u&lt;3;++u){var v=&quot;contours.&quot;+g[u],y=c(v+&quot;.show&quot;),x=c(v+&quot;.highlight&quot;);if(y||x)for(f=0;f&lt;3;++f)c(v+&quot;.project.&quot;+g[f]);y&amp;&amp;(c(v+&quot;.color&quot;),c(v+&quot;.width&quot;),c(v+&quot;.usecolormap&quot;)),x&amp;&amp;(c(v+&quot;.highlightcolor&quot;),c(v+&quot;.highlightwidth&quot;))}m||(n(t,&quot;zmin&quot;,&quot;cmin&quot;),n(t,&quot;zmax&quot;,&quot;cmax&quot;),n(t,&quot;zauto&quot;,&quot;cauto&quot;)),o(t,e,l,c,{prefix:&quot;&quot;,cLetter:&quot;c&quot;})}else e.visible=!1}},{&quot;../../components/colorscale/defaults&quot;:628,&quot;../../lib&quot;:743,&quot;../../registry&quot;:873,&quot;./attributes&quot;:1140}],1145:[function(t,e,r){&quot;use strict&quot;;var n={};n.attributes=t(&quot;./attributes&quot;),n.supplyDefaults=t(&quot;./defaults&quot;),n.colorbar=t(&quot;./colorbar&quot;),n.calc=t(&quot;./calc&quot;),n.plot=t(&quot;./convert&quot;),n.moduleType=&quot;trace&quot;,n.name=&quot;surface&quot;,n.basePlotModule=t(&quot;../../plots/gl3d&quot;),n.categories=[&quot;gl3d&quot;,&quot;2dMap&quot;,&quot;noOpacity&quot;],n.meta={},e.exports=n},{&quot;../../plots/gl3d&quot;:832,&quot;./attributes&quot;:1140,&quot;./calc&quot;:1141,&quot;./colorbar&quot;:1142,&quot;./convert&quot;:1143,&quot;./defaults&quot;:1144}],1146:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../components/annotations/attributes&quot;),i=t(&quot;../../lib/extend&quot;).extendFlat,a=t(&quot;../../plot_api/edit_types&quot;).overrideAll,o=t(&quot;../../plots/font_attributes&quot;),s=t(&quot;../../plots/domain_attributes&quot;);e.exports=a({domain:s({name:&quot;table&quot;,trace:!0}),columnwidth:{valType:&quot;number&quot;,arrayOk:!0,dflt:null},columnorder:{valType:&quot;data_array&quot;},header:{values:{valType:&quot;data_array&quot;,dflt:[]},format:{valType:&quot;data_array&quot;,dflt:[]},prefix:{valType:&quot;string&quot;,arrayOk:!0,dflt:null},suffix:{valType:&quot;string&quot;,arrayOk:!0,dflt:null},height:{valType:&quot;number&quot;,dflt:28},align:i({},n.align,{arrayOk:!0}),line:{width:{valType:&quot;number&quot;,arrayOk:!0,dflt:1},color:{valType:&quot;color&quot;,arrayOk:!0,dflt:&quot;grey&quot;}},fill:{color:{valType:&quot;color&quot;,arrayOk:!0,dflt:&quot;white&quot;}},font:i({},o({arrayOk:!0}))},cells:{values:{valType:&quot;data_array&quot;,dflt:[]},format:{valType:&quot;data_array&quot;,dflt:[]},prefix:{valType:&quot;string&quot;,arrayOk:!0,dflt:null},suffix:{valType:&quot;string&quot;,arrayOk:!0,dflt:null},height:{valType:&quot;number&quot;,dflt:20},align:i({},n.align,{arrayOk:!0}),line:{width:{valType:&quot;number&quot;,arrayOk:!0,dflt:1},color:{valType:&quot;color&quot;,arrayOk:!0,dflt:&quot;grey&quot;}},fill:{color:{valType:&quot;color&quot;,arrayOk:!0,dflt:&quot;white&quot;}},font:i({},o({arrayOk:!0}))}},&quot;calc&quot;,&quot;from-root&quot;)},{&quot;../../components/annotations/attributes&quot;:601,&quot;../../lib/extend&quot;:732,&quot;../../plot_api/edit_types&quot;:773,&quot;../../plots/domain_attributes&quot;:815,&quot;../../plots/font_attributes&quot;:816}],1147:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../plots/get_data&quot;).getModuleCalcData,i=t(&quot;./plot&quot;);r.name=&quot;table&quot;,r.plot=function(t){var e=n(t.calcdata,&quot;table&quot;);e.length&amp;&amp;i(t,e)},r.clean=function(t,e,r,n){var i=n._has&amp;&amp;n._has(&quot;table&quot;),a=e._has&amp;&amp;e._has(&quot;table&quot;);i&amp;&amp;!a&amp;&amp;n._paperdiv.selectAll(&quot;.table&quot;).remove()}},{&quot;../../plots/get_data&quot;:826,&quot;./plot&quot;:1154}],1148:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib/gup&quot;).wrap;e.exports=function(t,e){return n(e)}},{&quot;../../lib/gup&quot;:740}],1149:[function(t,e,r){&quot;use strict&quot;;e.exports={maxDimensionCount:60,overdrag:45,cellPad:8,latexCheck:/^\$.*\$$/,wrapSplitCharacter:&quot; &quot;,wrapSpacer:&quot; &quot;,lineBreaker:&quot;&lt;br&gt;&quot;,uplift:5,goldenRatio:1.618,columnTitleOffset:28,columnExtentOffset:10,transitionEase:&quot;cubic-out&quot;,transitionDuration:100,releaseTransitionEase:&quot;cubic-out&quot;,releaseTransitionDuration:120,scrollbarWidth:8,scrollbarCaptureWidth:18,scrollbarOffset:5,scrollbarHideDelay:1e3,scrollbarHideDuration:1e3,cn:{table:&quot;table&quot;,tableControlView:&quot;table-control-view&quot;,scrollBackground:&quot;scroll-background&quot;,yColumn:&quot;y-column&quot;,columnBlock:&quot;column-block&quot;,scrollAreaClip:&quot;scroll-area-clip&quot;,scrollAreaClipRect:&quot;scroll-area-clip-rect&quot;,columnBoundary:&quot;column-boundary&quot;,columnBoundaryClippath:&quot;column-boundary-clippath&quot;,columnBoundaryRect:&quot;column-boundary-rect&quot;,columnCells:&quot;column-cells&quot;,columnCell:&quot;column-cell&quot;,cellRect:&quot;cell-rect&quot;,cellText:&quot;cell-text&quot;,cellTextHolder:&quot;cell-text-holder&quot;,scrollbarKit:&quot;scrollbar-kit&quot;,scrollbar:&quot;scrollbar&quot;,scrollbarSlider:&quot;scrollbar-slider&quot;,scrollbarGlyph:&quot;scrollbar-glyph&quot;,scrollbarCaptureZone:&quot;scrollbar-capture-zone&quot;}}},{}],1150:[function(t,e,r){&quot;use strict&quot;;function n(t){return t.calcdata.columns.reduce(function(e,r){return r.xIndex&lt;t.xIndex?e+r.columnWidth:e},0)}function i(t,e){return Object.keys(t).map(function(r){return s({},t[r],{auxiliaryBlocks:e})})}function a(t,e){for(var r,n={},i=0,a=0,o={firstRowIndex:null,lastRowIndex:null,rows:[]},s=0,l=0,c=0;c&lt;t.length;c++)r=t[c],o.rows.push({rowIndex:c,rowHeight:r}),((a+=r)&gt;=e||c===t.length-1)&amp;&amp;(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}var o=t(&quot;./constants&quot;),s=t(&quot;../../lib/extend&quot;).extendFlat,l=t(&quot;fast-isnumeric&quot;);e.exports=function(t,e){var r=e.header.values.map(function(t){return Array.isArray(t)?t:[t]}),c=e.cells.values,u=e.domain,f=Math.floor(t._fullLayout._size.w*(u.x[1]-u.x[0])),h=Math.floor(t._fullLayout._size.h*(u.y[1]-u.y[0])),d=r.length?r[0].map(function(){return e.header.height}):[],p=c.length?c[0].map(function(){return e.cells.height}):[],m=d.reduce(function(t,e){return t+e},0),g=a(p,h-m+o.uplift),v=i(a(d,m),[]),y=i(g,v),x={},b=e._fullInput.columnorder,_=r.map(function(t,r){var n=Array.isArray(e.columnwidth)?e.columnwidth[Math.min(r,e.columnwidth.length-1)]:e.columnwidth;return l(n)?Number(n):1}),w=_.reduce(function(t,e){return t+e},0);_=_.map(function(t){return t/w*f});var M={key:e.index,translateX:u.x[0]*t._fullLayout._size.w,translateY:t._fullLayout._size.h*(1-u.y[1]),size:t._fullLayout._size,width:f,height:h,columnOrder:b,groupHeight:h,rowBlocks:y,headerRowBlocks:v,scrollY:0,cells:e.cells,headerCells:s({},e.header,{values:r}),gdColumns:r.map(function(t){return t[0]}),gdColumnsOriginalOrder:r.map(function(t){return t[0]}),prevPages:[0,0],scrollbarState:{scrollbarScrollInProgress:!1},columns:r.map(function(t,e){var r=x[t];x[t]=(r||0)+1;return{key:t+&quot;__&quot;+x[t],label:t,specIndex:e,xIndex:b[e],xScale:n,x:void 0,calcdata:void 0,columnWidth:_[e]}})};return M.columns.forEach(function(t){t.calcdata=M,t.x=n(t)}),M}},{&quot;../../lib/extend&quot;:732,&quot;./constants&quot;:1149,&quot;fast-isnumeric&quot;:140}],1151:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib/extend&quot;).extendFlat;r.splitToPanels=function(t){var e=[0,0],r=n({},t,{key:&quot;header&quot;,type:&quot;header&quot;,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:&quot;cells1&quot;,type:&quot;cells&quot;,page:0,prevPages:e,currentRepaint:[null,null],dragHandle:!1,values:t.calcdata.cells.values[t.specIndex],rowBlocks:t.calcdata.rowBlocks}),n({},t,{key:&quot;cells2&quot;,type:&quot;cells&quot;,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;return[r,e?r+e.rows.length:0]}(t);return t.values.slice(e[0],e[1]).map(function(r,n){return{keyWithinBlock:n+(&quot;string&quot;==typeof r&amp;&amp;r.match(/[&lt;$&amp;&gt; ]/)?&quot;_keybuster_&quot;+Math.random():&quot;&quot;),key:e[0]+n,column:t,calcdata:t.calcdata,page:t.page,rowBlocks:t.rowBlocks,value:r}})}},{&quot;../../lib/extend&quot;:732}],1152:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib&quot;),i=t(&quot;./attributes&quot;);e.exports=function(t,e,r,a){function o(r,a){return n.coerce(t,e,i,r,a)}o(&quot;domain.x&quot;),o(&quot;domain.y&quot;),o(&quot;columnwidth&quot;),o(&quot;header.values&quot;),o(&quot;header.format&quot;),o(&quot;header.align&quot;),o(&quot;header.prefix&quot;),o(&quot;header.suffix&quot;),o(&quot;header.height&quot;),o(&quot;header.line.width&quot;),o(&quot;header.line.color&quot;),o(&quot;header.fill.color&quot;),n.coerceFont(o,&quot;header.font&quot;,n.extendFlat({},a.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&lt;n;s++)o.push(s);e(&quot;columnorder&quot;,o)}(e,o),o(&quot;cells.values&quot;),o(&quot;cells.format&quot;),o(&quot;cells.align&quot;),o(&quot;cells.prefix&quot;),o(&quot;cells.suffix&quot;),o(&quot;cells.height&quot;),o(&quot;cells.line.width&quot;),o(&quot;cells.line.color&quot;),o(&quot;cells.fill.color&quot;),n.coerceFont(o,&quot;cells.font&quot;,n.extendFlat({},a.font))}},{&quot;../../lib&quot;:743,&quot;./attributes&quot;:1146}],1153:[function(t,e,r){&quot;use strict&quot;;var n={};n.attributes=t(&quot;./attributes&quot;),n.supplyDefaults=t(&quot;./defaults&quot;),n.calc=t(&quot;./calc&quot;),n.plot=t(&quot;./plot&quot;),n.moduleType=&quot;trace&quot;,n.name=&quot;table&quot;,n.basePlotModule=t(&quot;./base_plot&quot;),n.categories=[&quot;noOpacity&quot;],n.meta={},e.exports=n},{&quot;./attributes&quot;:1146,&quot;./base_plot&quot;:1147,&quot;./calc&quot;:1148,&quot;./defaults&quot;:1152,&quot;./plot&quot;:1154}],1154:[function(t,e,r){&quot;use strict&quot;;function n(t,e){return&quot;clip&quot;+t._fullLayout._uid+&quot;_scrollAreaBottomClip_&quot;+e.key}function i(t,e){return&quot;clip&quot;+t._fullLayout._uid+&quot;_columnBoundaryClippath_&quot;+e.calcdata.key+&quot;_&quot;+e.specIndex}function a(t){return[].concat.apply([],t.map(function(t){return t})).map(function(t){return t.__data__})}function o(t,e,r){var n=t.selectAll(&quot;.&quot;+M.cn.scrollbarKit).data(A.repeat,A.keyFun);n.enter().append(&quot;g&quot;).classed(M.cn.scrollbarKit,!0).style(&quot;shape-rendering&quot;,&quot;geometricPrecision&quot;),n.each(function(t){var e=t.scrollbarState;e.totalHeight=function(t){var e=t.rowBlocks;return b(e,e.length-1)+(e.length?_(e[e.length-1],1/0):1)}(t),e.scrollableAreaHeight=t.groupHeight-p(t),e.currentlyVisibleHeight=Math.min(e.totalHeight,e.scrollableAreaHeight),e.ratio=e.currentlyVisibleHeight/e.totalHeight,e.barLength=Math.max(e.ratio*e.currentlyVisibleHeight,M.goldenRatio*M.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(&quot;transform&quot;,function(t){return&quot;translate(&quot;+(t.width+M.scrollbarWidth/2+M.scrollbarOffset)+&quot; &quot;+p(t)+&quot;)&quot;});var i=n.selectAll(&quot;.&quot;+M.cn.scrollbar).data(A.repeat,A.keyFun);i.enter().append(&quot;g&quot;).classed(M.cn.scrollbar,!0);var a=i.selectAll(&quot;.&quot;+M.cn.scrollbarSlider).data(A.repeat,A.keyFun);a.enter().append(&quot;g&quot;).classed(M.cn.scrollbarSlider,!0),a.attr(&quot;transform&quot;,function(t){return&quot;translate(0 &quot;+(t.scrollbarState.topY||0)+&quot;)&quot;});var o=a.selectAll(&quot;.&quot;+M.cn.scrollbarGlyph).data(A.repeat,A.keyFun);o.enter().append(&quot;line&quot;).classed(M.cn.scrollbarGlyph,!0).attr(&quot;stroke&quot;,&quot;black&quot;).attr(&quot;stroke-width&quot;,M.scrollbarWidth).attr(&quot;stroke-linecap&quot;,&quot;round&quot;).attr(&quot;y1&quot;,M.scrollbarWidth/2),o.attr(&quot;y2&quot;,function(t){return t.scrollbarState.barLength-M.scrollbarWidth/2}).attr(&quot;stroke-opacity&quot;,function(t){return t.columnDragInProgress||!t.scrollbarState.barWiggleRoom||r?0:.4}),o.transition().delay(0).duration(0),o.transition().delay(M.scrollbarHideDelay).duration(M.scrollbarHideDuration).attr(&quot;stroke-opacity&quot;,0);var s=i.selectAll(&quot;.&quot;+M.cn.scrollbarCaptureZone).data(A.repeat,A.keyFun);s.enter().append(&quot;line&quot;).classed(M.cn.scrollbarCaptureZone,!0).attr(&quot;stroke&quot;,&quot;white&quot;).attr(&quot;stroke-opacity&quot;,.01).attr(&quot;stroke-width&quot;,M.scrollbarCaptureWidth).attr(&quot;stroke-linecap&quot;,&quot;butt&quot;).attr(&quot;y1&quot;,0).on(&quot;mousedown&quot;,function(r){var n=k.event.y,i=this.getBoundingClientRect(),a=r.scrollbarState,o=n-i.top,s=k.scale.linear().domain([0,a.scrollableAreaHeight]).range([0,a.totalHeight]).clamp(!0);a.topY&lt;=o&amp;&amp;o&lt;=a.bottomY||g(e,t,null,s(o-a.barLength/2))(r)}).call(k.behavior.drag().origin(function(t){return k.event.stopPropagation(),t.scrollbarState.scrollbarScrollInProgress=!0,t}).on(&quot;drag&quot;,g(e,t)).on(&quot;dragend&quot;,function(){})),s.attr(&quot;y2&quot;,function(t){return t.scrollbarState.scrollableAreaHeight})}function s(t,e,r,n){var i=function(t){var e=t.selectAll(&quot;.&quot;+M.cn.columnCell).data(z.splitToCells,function(t){return t.keyWithinBlock});return e.enter().append(&quot;g&quot;).classed(M.cn.columnCell,!0),e.exit().remove(),e}(function(t){var e=t.selectAll(&quot;.&quot;+M.cn.columnCells).data(A.repeat,A.keyFun);return e.enter().append(&quot;g&quot;).classed(M.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:u(r.size,n,e),color:u(r.color,n,e),family:u(r.family,n,e)};t.rowNumber=t.key,t.align=u(t.calcdata.cells.align,n,e),t.cellBorderWidth=u(t.calcdata.cells.line.width,n,e),t.font=i})}(i);!function(t){t.attr(&quot;width&quot;,function(t){return t.column.columnWidth}).attr(&quot;stroke-width&quot;,function(t){return t.cellBorderWidth}).each(function(t){var e=k.select(this);D.stroke(e,u(t.calcdata.cells.line.color,t.column.specIndex,t.rowNumber)),D.fill(e,u(t.calcdata.cells.fill.color,t.column.specIndex,t.rowNumber))})}(function(t){var e=t.selectAll(&quot;.&quot;+M.cn.cellRect).data(A.repeat,function(t){return t.keyWithinBlock});return e.enter().append(&quot;rect&quot;).classed(M.cn.cellRect,!0),e}(i));var a=function(t){var e=t.selectAll(&quot;.&quot;+M.cn.cellText).data(A.repeat,function(t){return t.keyWithinBlock});return e.enter().append(&quot;text&quot;).classed(M.cn.cellText,!0).style(&quot;cursor&quot;,function(){return&quot;auto&quot;}).on(&quot;mousedown&quot;,function(){k.event.stopPropagation()}),e}(function(t){var e=t.selectAll(&quot;.&quot;+M.cn.cellTextHolder).data(A.repeat,function(t){return t.keyWithinBlock});return e.enter().append(&quot;g&quot;).classed(M.cn.cellTextHolder,!0).style(&quot;shape-rendering&quot;,&quot;geometricPrecision&quot;),e}(i));!function(t){t.each(function(t){T.font(k.select(this),t.font)})}(a),l(a,e,n,t),x(i)}function l(t,e,r,n){t.text(function(t){var e=t.column.specIndex,r=t.rowNumber,n=t.value,i=&quot;string&quot;==typeof n,a=i&amp;&amp;n.match(/&lt;br&gt;/i),o=!i||a;t.mayHaveMarkup=i&amp;&amp;n.match(/[&lt;&amp;&gt;]/);var s=function(t){return&quot;string&quot;==typeof t&amp;&amp;t.match(M.latexCheck)}(n);t.latex=s;var l,f=s?&quot;&quot;:u(t.calcdata.cells.prefix,e,r)||&quot;&quot;,h=s?&quot;&quot;:u(t.calcdata.cells.suffix,e,r)||&quot;&quot;,d=s?null:u(t.calcdata.cells.format,e,r)||null,p=f+(d?k.format(d)(t.value):t.value)+h;t.wrappingNeeded=!t.wrapped&amp;&amp;!o&amp;&amp;!s&amp;&amp;(l=c(p)),t.cellHeightMayIncrease=a||s||t.mayHaveMarkup||(void 0===l?c(p):l),t.needsConvertToTspans=t.mayHaveMarkup||t.wrappingNeeded||t.latex;var m;if(t.wrappingNeeded){var g=(&quot; &quot;===M.wrapSplitCharacter?p.replace(/&lt;a href=/gi,&quot;&lt;a_href=&quot;):p).split(M.wrapSplitCharacter),v=&quot; &quot;===M.wrapSplitCharacter?g.map(function(t){return t.replace(/&lt;a_href=/gi,&quot;&lt;a href=&quot;)}):g;t.fragments=v.map(function(t){return{text:t,width:null}}),t.fragments.push({fragment:M.wrapSpacer,width:null}),m=v.join(M.lineBreaker)+M.lineBreaker+M.wrapSpacer}else delete t.fragments,m=p;return m}).attr(&quot;dy&quot;,function(t){return t.needsConvertToTspans?0:&quot;0.75em&quot;}).each(function(t){var i=k.select(this),a=t.wrappingNeeded?function(t,e,r){return function(){var n=k.select(e.parentNode);n.each(function(t){var e=t.fragments;n.selectAll(&quot;tspan.line&quot;).each(function(t,r){e[r].width=this.getComputedTextLength()});var r,i,a=e[e.length-1].width,o=e.slice(0,-1),s=[],l=0,c=t.column.columnWidth-2*M.cellPad;for(t.value=&quot;&quot;;o.length;)r=o.shift(),i=r.width+a,l+i&gt;c&amp;&amp;(t.value+=s.join(M.wrapSpacer)+M.lineBreaker,s=[],l=0),s.push(r.text),l+=i;l&amp;&amp;(t.value+=s.join(M.wrapSpacer)),t.wrapped=!0}),n.selectAll(&quot;tspan.line&quot;).remove(),l(n.select(&quot;.&quot;+M.cn.cellText),r,t),k.select(e.parentNode.parentNode).call(x)}}:function(t,e,r,n,i){return function(){if(!i.settledY){var a=k.select(e.parentNode),s=w(i),l=i.key-s.firstRowIndex,c=s.rows[l].rowHeight,u=i.cellHeightMayIncrease?e.parentNode.getBoundingClientRect().height+2*M.cellPad:c,f=Math.max(u,c),d=f-s.rows[l].rowHeight;d&amp;&amp;(s.rows[l].rowHeight=f,t.selectAll(&quot;.&quot;+M.cn.columnCell).call(x),m(null,t.filter(h),0),o(r,n,!0)),a.attr(&quot;transform&quot;,function(){var t=this.parentNode,e=t.getBoundingClientRect(),r=k.select(this.parentNode).select(&quot;.&quot;+M.cn.cellRect).node().getBoundingClientRect(),n=this.transform.baseVal.consolidate(),a=r.top-e.top+(n?n.matrix.f:M.cellPad);return&quot;translate(&quot;+y(i,k.select(this.parentNode).select(&quot;.&quot;+M.cn.cellTextHolder).node().getBoundingClientRect().width)+&quot; &quot;+a+&quot;)&quot;}),i.settledY=!0}}};t.needsConvertToTspans?S.convertToTspans(i,n,a(r,this,e,n,t)):k.select(this.parentNode).attr(&quot;transform&quot;,function(t){return&quot;translate(&quot;+y(t)+&quot; &quot;+M.cellPad+&quot;)&quot;}).attr(&quot;text-anchor&quot;,function(t){return{left:&quot;start&quot;,center:&quot;middle&quot;,right:&quot;end&quot;}[t.align]})})}function c(t){return-1!==t.indexOf(M.wrapSplitCharacter)}function u(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 f(t,e,r){t.transition().ease(M.releaseTransitionEase).duration(M.releaseTransitionDuration).attr(&quot;transform&quot;,&quot;translate(&quot;+e.x+&quot; &quot;+r+&quot;)&quot;)}function h(t){return&quot;cells&quot;===t.type}function d(t){return&quot;header&quot;===t.type}function p(t){return(t.rowBlocks.length?t.rowBlocks[0].auxiliaryBlocks:[]).reduce(function(t,e){return t+_(e,1/0)},0)}function m(t,e,r){var n=a(e)[0];if(void 0!==n){var i=n.rowBlocks,s=n.calcdata,l=b(i,i.length),c=n.calcdata.groupHeight-p(n),u=s.scrollY=Math.max(0,Math.min(l-c,s.scrollY)),f=function(t,e,r){for(var n=[],i=0,a=0;a&lt;t.length;a++){for(var o=t[a],s=o.rows,l=0,c=0;c&lt;s.length;c++)l+=s[c].rowHeight;o.allRowsHeight=l,e&lt;i+l&amp;&amp;e+r&gt;i&amp;&amp;n.push(a),i+=l}return n}(i,u,c);1===f.length&amp;&amp;(f[0]===i.length-1?f.unshift(f[0]-1):f.push(f[0]+1)),f[0]%2&amp;&amp;f.reverse(),e.each(function(t,e){t.page=f[e],t.scrollY=u}),e.attr(&quot;transform&quot;,function(t){return&quot;translate(0 &quot;+(b(t.rowBlocks,t.page)-t.scrollY)+&quot;)&quot;}),t&amp;&amp;(v(t,r,e,f,n.prevPages,n,0),v(t,r,e,f,n.prevPages,n,1),o(r,t))}}function g(t,e,r,n){return function(i){var a=i.calcdata?i.calcdata:i,o=e.filter(function(t){return a.key===t.key}),s=r||a.scrollbarState.dragMultiplier;a.scrollY=void 0===n?a.scrollY+s*k.event.dy:n;var l=o.selectAll(&quot;.&quot;+M.cn.yColumn).selectAll(&quot;.&quot;+M.cn.columnBlock).filter(h);m(t,l,o)}}function v(t,e,r,n,i,a,o){n[o]!==i[o]&amp;&amp;(clearTimeout(a.currentRepaint[o]),a.currentRepaint[o]=setTimeout(function(){var a=r.filter(function(t,e){return e===o&amp;&amp;n[e]!==i[e]});s(t,e,a,r),i[o]=n[o]}))}function y(t,e){switch(t.align){case&quot;left&quot;:return M.cellPad;case&quot;right&quot;:return t.column.columnWidth-(e||0)-M.cellPad;case&quot;center&quot;:return(t.column.columnWidth-(e||0))/2;default:return M.cellPad}}function x(t){t.attr(&quot;transform&quot;,function(t){var e=t.rowBlocks[0].auxiliaryBlocks.reduce(function(t,e){return t+_(e,1/0)},0);return&quot;translate(0 &quot;+(_(w(t),t.key)+e)+&quot;)&quot;}).selectAll(&quot;.&quot;+M.cn.cellRect).attr(&quot;height&quot;,function(t){return function(t,e){return t.rows[e-t.firstRowIndex]}(w(t),t.key).rowHeight})}function b(t,e){for(var r=0,n=e-1;n&gt;=0;n--)r+=function(t){var e=t.allRowsHeight;if(void 0!==e)return e;for(var r=0,n=0;n&lt;t.rows.length;n++)r+=t.rows[n].rowHeight;return t.allRowsHeight=r,r}(t[n]);return r}function _(t,e){for(var r=0,n=0;n&lt;t.rows.length&amp;&amp;t.rows[n].rowIndex&lt;e;n++)r+=t.rows[n].rowHeight;return r}function w(t){return t.rowBlocks[t.page]}var M=t(&quot;./constants&quot;),k=t(&quot;d3&quot;),A=t(&quot;../../lib/gup&quot;),T=t(&quot;../../components/drawing&quot;),S=t(&quot;../../lib/svg_text_utils&quot;),E=t(&quot;../../lib&quot;).raiseToTop,L=t(&quot;../../lib&quot;).cancelTransition,C=t(&quot;./data_preparation_helper&quot;),z=t(&quot;./data_split_helpers&quot;),D=t(&quot;../../components/color&quot;);e.exports=function(t,e){var r=t._fullLayout._paper.selectAll(&quot;.&quot;+M.cn.table).data(e.map(function(e){var r=A.unwrap(e).trace;return C(t,r)}),A.keyFun);r.exit().remove(),r.enter().append(&quot;g&quot;).classed(M.cn.table,!0).attr(&quot;overflow&quot;,&quot;visible&quot;).style(&quot;box-sizing&quot;,&quot;content-box&quot;).style(&quot;position&quot;,&quot;absolute&quot;).style(&quot;left&quot;,0).style(&quot;overflow&quot;,&quot;visible&quot;).style(&quot;shape-rendering&quot;,&quot;crispEdges&quot;).style(&quot;pointer-events&quot;,&quot;all&quot;),r.attr(&quot;width&quot;,function(t){return t.width+t.size.l+t.size.r}).attr(&quot;height&quot;,function(t){return t.height+t.size.t+t.size.b}).attr(&quot;transform&quot;,function(t){return&quot;translate(&quot;+t.translateX+&quot;,&quot;+t.translateY+&quot;)&quot;});var l=r.selectAll(&quot;.&quot;+M.cn.tableControlView).data(A.repeat,A.keyFun);l.enter().append(&quot;g&quot;).classed(M.cn.tableControlView,!0).style(&quot;box-sizing&quot;,&quot;content-box&quot;).on(&quot;mousemove&quot;,function(e){l.filter(function(t){return e===t}).call(o,t)}).on(&quot;mousewheel&quot;,function(e){e.scrollbarState.wheeling||(e.scrollbarState.wheeling=!0,k.event.stopPropagation(),k.event.preventDefault(),g(t,l,null,e.scrollY+k.event.deltaY)(e),e.scrollbarState.wheeling=!1)}).call(o,t,!0),l.attr(&quot;transform&quot;,function(t){return&quot;translate(&quot;+t.size.l+&quot; &quot;+t.size.t+&quot;)&quot;});var c=l.selectAll(&quot;.&quot;+M.cn.scrollBackground).data(A.repeat,A.keyFun);c.enter().append(&quot;rect&quot;).classed(M.cn.scrollBackground,!0).attr(&quot;fill&quot;,&quot;none&quot;),c.attr(&quot;width&quot;,function(t){return t.width}).attr(&quot;height&quot;,function(t){return t.height}),l.each(function(e){T.setClipUrl(k.select(this),n(t,e))});var u=l.selectAll(&quot;.&quot;+M.cn.yColumn).data(function(t){return t.columns},A.keyFun);u.enter().append(&quot;g&quot;).classed(M.cn.yColumn,!0),u.exit().remove(),u.attr(&quot;transform&quot;,function(t){return&quot;translate(&quot;+t.x+&quot; 0)&quot;}).call(k.behavior.drag().origin(function(e){return f(k.select(this),e,-M.uplift),E(this),e.calcdata.columnDragInProgress=!0,o(l.filter(function(t){return e.calcdata.key===t.key}),t),e}).on(&quot;drag&quot;,function(t){var e=k.select(this),r=function(e){return(t===e?k.event.x:e.x)+e.columnWidth/2};t.x=Math.max(-M.overdrag,Math.min(t.calcdata.width+M.overdrag-t.columnWidth,k.event.x));a(u).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)}),u.filter(function(e){return t!==e}).transition().ease(M.transitionEase).duration(M.transitionDuration).attr(&quot;transform&quot;,function(t){return&quot;translate(&quot;+t.x+&quot; 0)&quot;}),e.call(L).attr(&quot;transform&quot;,&quot;translate(&quot;+t.x+&quot; -&quot;+M.uplift+&quot; )&quot;)}).on(&quot;dragend&quot;,function(e){var r=k.select(this),n=e.calcdata;e.x=e.xScale(e),e.calcdata.columnDragInProgress=!1,f(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(&quot;plotly_restyle&quot;)}(t,n,n.columns.map(function(t){return t.xIndex}))})),u.each(function(e){T.setClipUrl(k.select(this),i(t,e))});var p=u.selectAll(&quot;.&quot;+M.cn.columnBlock).data(z.splitToPanels,A.keyFun);p.enter().append(&quot;g&quot;).classed(M.cn.columnBlock,!0).attr(&quot;id&quot;,function(t){return t.key}),p.style(&quot;cursor&quot;,function(t){return t.dragHandle?&quot;ew-resize&quot;:t.calcdata.scrollbarState.barWiggleRoom?&quot;ns-resize&quot;:&quot;default&quot;});var v=p.filter(d),y=p.filter(h);y.call(k.behavior.drag().origin(function(t){return k.event.stopPropagation(),t}).on(&quot;drag&quot;,g(t,l,-1)).on(&quot;dragend&quot;,function(){})),s(t,l,v,p),s(t,l,y,p);var x=l.selectAll(&quot;.&quot;+M.cn.scrollAreaClip).data(A.repeat,A.keyFun);x.enter().append(&quot;clipPath&quot;).classed(M.cn.scrollAreaClip,!0).attr(&quot;id&quot;,function(e){return n(t,e)});var b=x.selectAll(&quot;.&quot;+M.cn.scrollAreaClipRect).data(A.repeat,A.keyFun);b.enter().append(&quot;rect&quot;).classed(M.cn.scrollAreaClipRect,!0).attr(&quot;x&quot;,-M.overdrag).attr(&quot;y&quot;,-M.uplift).attr(&quot;fill&quot;,&quot;none&quot;),b.attr(&quot;width&quot;,function(t){return t.width+2*M.overdrag}).attr(&quot;height&quot;,function(t){return t.height+M.uplift});u.selectAll(&quot;.&quot;+M.cn.columnBoundary).data(A.repeat,A.keyFun).enter().append(&quot;g&quot;).classed(M.cn.columnBoundary,!0);var _=u.selectAll(&quot;.&quot;+M.cn.columnBoundaryClippath).data(A.repeat,A.keyFun);_.enter().append(&quot;clipPath&quot;).classed(M.cn.columnBoundaryClippath,!0),_.attr(&quot;id&quot;,function(e){return i(t,e)});var w=_.selectAll(&quot;.&quot;+M.cn.columnBoundaryRect).data(A.repeat,A.keyFun);w.enter().append(&quot;rect&quot;).classed(M.cn.columnBoundaryRect,!0).attr(&quot;fill&quot;,&quot;none&quot;),w.attr(&quot;width&quot;,function(t){return t.columnWidth}).attr(&quot;height&quot;,function(t){return t.calcdata.height+M.uplift}),m(null,y,l)}},{&quot;../../components/color&quot;:618,&quot;../../components/drawing&quot;:643,&quot;../../lib&quot;:743,&quot;../../lib/gup&quot;:740,&quot;../../lib/svg_text_utils&quot;:766,&quot;./constants&quot;:1149,&quot;./data_preparation_helper&quot;:1150,&quot;./data_split_helpers&quot;:1151,d3:128}],1155:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../box/attributes&quot;),i=t(&quot;../../lib/extend&quot;).extendFlat;e.exports={y:n.y,x:n.x,x0:n.x0,y0:n.y0,name:n.name,orientation:i({},n.orientation,{}),bandwidth:{valType:&quot;number&quot;,min:0,editType:&quot;calc&quot;},scalegroup:{valType:&quot;string&quot;,dflt:&quot;&quot;,editType:&quot;calc&quot;},scalemode:{valType:&quot;enumerated&quot;,values:[&quot;width&quot;,&quot;count&quot;],dflt:&quot;width&quot;,editType:&quot;calc&quot;},spanmode:{valType:&quot;enumerated&quot;,values:[&quot;soft&quot;,&quot;hard&quot;,&quot;manual&quot;],dflt:&quot;soft&quot;,editType:&quot;calc&quot;},span:{valType:&quot;info_array&quot;,items:[{valType:&quot;any&quot;,editType:&quot;calc&quot;},{valType:&quot;any&quot;,editType:&quot;calc&quot;}],editType:&quot;calc&quot;},line:{color:{valType:&quot;color&quot;,editType:&quot;style&quot;},width:{valType:&quot;number&quot;,min:0,dflt:2,editType:&quot;style&quot;},editType:&quot;plot&quot;},fillcolor:n.fillcolor,points:i({},n.boxpoints,{}),jitter:i({},n.jitter,{}),pointpos:i({},n.pointpos,{}),marker:n.marker,text:n.text,box:{visible:{valType:&quot;boolean&quot;,dflt:!1,editType:&quot;plot&quot;},width:{valType:&quot;number&quot;,min:0,max:1,dflt:.25,editType:&quot;plot&quot;},fillcolor:{valType:&quot;color&quot;,editType:&quot;style&quot;},line:{color:{valType:&quot;color&quot;,editType:&quot;style&quot;},width:{valType:&quot;number&quot;,min:0,editType:&quot;style&quot;},editType:&quot;style&quot;},editType:&quot;plot&quot;},meanline:{visible:{valType:&quot;boolean&quot;,dflt:!1,editType:&quot;plot&quot;},color:{valType:&quot;color&quot;,editType:&quot;style&quot;},width:{valType:&quot;number&quot;,min:0,editType:&quot;style&quot;},editType:&quot;plot&quot;},side:{valType:&quot;enumerated&quot;,values:[&quot;both&quot;,&quot;positive&quot;,&quot;negative&quot;],dflt:&quot;both&quot;,editType:&quot;plot&quot;},selected:n.selected,unselected:n.unselected,hoveron:{valType:&quot;flaglist&quot;,flags:[&quot;violins&quot;,&quot;points&quot;,&quot;kde&quot;],dflt:&quot;violins+points+kde&quot;,extras:[&quot;all&quot;],editType:&quot;style&quot;}}},{&quot;../../lib/extend&quot;:732,&quot;../box/attributes&quot;:896}],1156:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib&quot;),i=t(&quot;../../plots/cartesian/axes&quot;),a=t(&quot;../box/calc&quot;),o=t(&quot;./helpers&quot;),s=t(&quot;../../constants/numerical&quot;).BADNUM;e.exports=function(t,e){var r=a(t,e);if(r[0].t.empty)return r;var l=t._fullLayout,c=i.getFromId(t,e[&quot;h&quot;===e.orientation?&quot;xaxis&quot;:&quot;yaxis&quot;]),u=l._violinScaleGroupStats,f=e.scalegroup,h=u[f];h||(h=u[f]={maxWidth:0,maxCount:0});for(var d=0;d&lt;r.length;d++){var p=r[d],m=p.pts.map(o.extractVal),g=m.length,v=function(t,e,r){return 1.059*Math.min(e,r/1.349)*Math.pow(t.length,-.2)}(m,n.stdev(m,g-1,p.mean),p.q3-p.q1),y=p.bandwidth=e.bandwidth||v,x=p.span=function(t,e,r,n){function a(n){var i=c[n],a=r.d2c(i,0,t[e.valLetter+&quot;calendar&quot;]);return a===s?f[n]:a}var o,l=t.spanmode,c=t.span||[],u=[e.min,e.max],f=[e.min-2*n,e.max+2*n],h={type:&quot;linear&quot;,range:o=&quot;soft&quot;===l?f:&quot;hard&quot;===l?u:[a(0),a(1)]};return i.setConvert(h),h.cleanRange(),o}(e,p,c,y),b=x[1]-x[0],_=Math.ceil(b/(Math.min(v,y)/3)),w=b/_;if(!isFinite(w)||!isFinite(_))return n.error(&quot;Something went wrong with computing the violin span&quot;),r[0].t.empty=!0,r;var M=o.makeKDE(p,e,m);p.density=new Array(_);for(var k=0,A=x[0];A&lt;x[1]+w/2;k++,A+=w){var T=M(A);h.maxWidth=Math.max(h.maxWidth,T),p.density[k]={v:T,t:A}}i.expand(c,x,{padded:!0}),h.maxCount=Math.max(h.maxCount,m.length)}return r[0].t.labels.kde=n._(t,&quot;kde:&quot;),r}},{&quot;../../constants/numerical&quot;:721,&quot;../../lib&quot;:743,&quot;../../plots/cartesian/axes&quot;:789,&quot;../box/calc&quot;:897,&quot;./helpers&quot;:1158}],1157:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib&quot;),i=t(&quot;../../components/color&quot;),a=t(&quot;../box/defaults&quot;),o=t(&quot;./attributes&quot;);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(&quot;bandwidth&quot;),l(&quot;scalegroup&quot;,e.name),l(&quot;scalemode&quot;),l(&quot;side&quot;);var u,f=l(&quot;span&quot;);Array.isArray(f)&amp;&amp;(u=&quot;manual&quot;),l(&quot;spanmode&quot;,u);var h=l(&quot;line.color&quot;,(t.marker||{}).color||r),d=l(&quot;line.width&quot;),p=l(&quot;fillcolor&quot;,i.addOpacity(e.line.color,.5));a.handlePointsDefaults(t,e,l,{prefix:&quot;&quot;});var m=c(&quot;box.width&quot;),g=c(&quot;box.fillcolor&quot;,p),v=c(&quot;box.line.color&quot;,h),y=c(&quot;box.line.width&quot;,d);l(&quot;box.visible&quot;,Boolean(m||g||v||y))||delete e.box;var x=c(&quot;meanline.color&quot;,h),b=c(&quot;meanline.width&quot;,d);l(&quot;meanline.visible&quot;,Boolean(x||b))||delete e.meanline}}},{&quot;../../components/color&quot;:618,&quot;../../lib&quot;:743,&quot;../box/defaults&quot;:898,&quot;./attributes&quot;:1155}],1158:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib&quot;),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&lt;n;i++)e+=a((t-r[i])/o);return s*e}},r.getPositionOnKdePath=function(t,e,r){var i,a;&quot;h&quot;===e.orientation?(i=&quot;y&quot;,a=&quot;x&quot;):(i=&quot;x&quot;,a=&quot;y&quot;);var o=n.findPointOnPath(t.path,r,a,{pathLength:t.pathLength}),s=t.posCenterPx,l=o[i];return[l,&quot;both&quot;===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}},{&quot;../../lib&quot;:743}],1159:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib&quot;),i=t(&quot;../../plots/cartesian/axes&quot;),a=t(&quot;../box/hover&quot;),o=t(&quot;./helpers&quot;);e.exports=function(t,e,r,s,l){var c,u,f=t.cd,h=f[0].trace,d=h.hoveron,p=-1!==d.indexOf(&quot;violins&quot;),m=-1!==d.indexOf(&quot;kde&quot;),g=[];if(p||m){var v=a.hoverOnBoxes(t,e,r,s);if(p&amp;&amp;(g=g.concat(v)),m&amp;&amp;v.length&gt;0){var y,x,b,_,w,M=t.xa,k=t.ya;&quot;h&quot;===h.orientation?(w=e,y=&quot;y&quot;,b=k,x=&quot;x&quot;,_=M):(w=r,y=&quot;x&quot;,b=M,x=&quot;y&quot;,_=k);var A=f[t.index];if(w&gt;=A.span[0]&amp;&amp;w&lt;=A.span[1]){var T=n.extendFlat({},t),S=_.c2p(w,!0),E=o.getKdeValue(A,h,w),L=o.getPositionOnKdePath(A,h,S),C=b._offset,z=b._length;T[y+&quot;0&quot;]=L[0],T[y+&quot;1&quot;]=L[1],T[x+&quot;0&quot;]=T[x+&quot;1&quot;]=S,T[x+&quot;Label&quot;]=x+&quot;: &quot;+i.hoverLabelText(_,w)+&quot;, &quot;+f[0].t.labels.kde+&quot; &quot;+E.toFixed(3),g.push(T),(u={stroke:t.color})[y+&quot;1&quot;]=n.constrain(C+L[0],C,C+z),u[y+&quot;2&quot;]=n.constrain(C+L[1],C,C+z),u[x+&quot;1&quot;]=u[x+&quot;2&quot;]=_._offset+S}}}-1!==d.indexOf(&quot;points&quot;)&amp;&amp;(c=a.hoverOnPoints(t,e,r));var D=l.selectAll(&quot;.violinline-&quot;+h.uid).data(u?[0]:[]);return D.enter().append(&quot;line&quot;).classed(&quot;violinline-&quot;+h.uid,!0).attr(&quot;stroke-width&quot;,1.5),D.exit().remove(),D.attr(u),&quot;closest&quot;===s?c?[c]:g:c?(g.push(c),g):g}},{&quot;../../lib&quot;:743,&quot;../../plots/cartesian/axes&quot;:789,&quot;../box/hover&quot;:899,&quot;./helpers&quot;:1158}],1160:[function(t,e,r){&quot;use strict&quot;;e.exports={attributes:t(&quot;./attributes&quot;),layoutAttributes:t(&quot;./layout_attributes&quot;),supplyDefaults:t(&quot;./defaults&quot;),supplyLayoutDefaults:t(&quot;./layout_defaults&quot;),calc:t(&quot;./calc&quot;),setPositions:t(&quot;./set_positions&quot;),plot:t(&quot;./plot&quot;),style:t(&quot;./style&quot;),hoverPoints:t(&quot;./hover&quot;),selectPoints:t(&quot;../box/select&quot;),moduleType:&quot;trace&quot;,name:&quot;violin&quot;,basePlotModule:t(&quot;../../plots/cartesian&quot;),categories:[&quot;cartesian&quot;,&quot;symbols&quot;,&quot;oriented&quot;,&quot;box-violin&quot;,&quot;showLegend&quot;],meta:{}}},{&quot;../../plots/cartesian&quot;:800,&quot;../box/select&quot;:904,&quot;./attributes&quot;:1155,&quot;./calc&quot;:1156,&quot;./defaults&quot;:1157,&quot;./hover&quot;:1159,&quot;./layout_attributes&quot;:1161,&quot;./layout_defaults&quot;:1162,&quot;./plot&quot;:1163,&quot;./set_positions&quot;:1164,&quot;./style&quot;:1165}],1161:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../box/layout_attributes&quot;),i=t(&quot;../../lib&quot;).extendFlat;e.exports={violinmode:i({},n.boxmode,{}),violingap:i({},n.boxgap,{}),violingroupgap:i({},n.boxgroupgap,{})}},{&quot;../../lib&quot;:743,&quot;../box/layout_attributes&quot;:901}],1162:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../../lib&quot;),i=t(&quot;./layout_attributes&quot;),a=t(&quot;../box/layout_defaults&quot;);e.exports=function(t,e,r){a._supply(t,e,r,function(r,a){return n.coerce(t,e,i,r,a)},&quot;violin&quot;)}},{&quot;../../lib&quot;:743,&quot;../box/layout_defaults&quot;:902,&quot;./layout_attributes&quot;:1161}],1163:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;d3&quot;),i=t(&quot;../../lib&quot;),a=t(&quot;../../components/drawing&quot;),o=t(&quot;../box/plot&quot;),s=t(&quot;../scatter/line_points&quot;),l=t(&quot;./helpers&quot;);e.exports=function(t,e,r){function c(t){var e=s(t,{xaxis:f,yaxis:h,connectGaps:!0,baseTolerance:.75,shape:&quot;spline&quot;,simplify:!0});return a.smoothopen(e[0],1)}var u=t._fullLayout,f=e.xaxis,h=e.yaxis;e.plot.select(&quot;.violinlayer&quot;).selectAll(&quot;g.trace.violins&quot;).data(r).enter().append(&quot;g&quot;).attr(&quot;class&quot;,&quot;trace violins&quot;).each(function(t){var r=t[0],a=r.t,s=r.trace,d=r.node3=n.select(this),p=u._numViolins,m=&quot;group&quot;===u.violinmode&amp;&amp;p&gt;1,g=a.bdPos=a.dPos*(1-u.violingap)*(1-u.violingroupgap)/(m?p:1),v=a.bPos=m?2*a.dPos*((a.num+.5)/p-.5)*(1-u.violingap):0;if(!0!==s.visible||a.empty)n.select(this).remove();else{var y=e[a.valLetter+&quot;axis&quot;],x=e[a.posLetter+&quot;axis&quot;],b=&quot;both&quot;===s.side,_=b||&quot;positive&quot;===s.side,w=b||&quot;negative&quot;===s.side,M=s.box&amp;&amp;s.box.visible,k=s.meanline&amp;&amp;s.meanline.visible,A=u._violinScaleGroupStats[s.scalegroup];if(d.selectAll(&quot;path.violin&quot;).data(i.identity).enter().append(&quot;path&quot;).style(&quot;vector-effect&quot;,&quot;non-scaling-stroke&quot;).attr(&quot;class&quot;,&quot;violin&quot;).each(function(t){var e,r=n.select(this),i=t.density,o=i.length,l=t.pos+v,u=x.c2p(l);switch(s.scalemode){case&quot;width&quot;:e=A.maxWidth/g;break;case&quot;count&quot;:e=A.maxWidth/g*(A.maxCount/t.pts.length)}var f,h,d,p,m,M,k;if(_){for(M=new Array(o),p=0;p&lt;o;p++)(k=M[p]={})[a.posLetter]=l+i[p].v/e,k[a.valLetter]=i[p].t;f=c(M)}if(w){for(M=new Array(o),m=0,p=o-1;m&lt;o;m++,p--)(k=M[m]={})[a.posLetter]=l-i[p].v/e,k[a.valLetter]=i[p].t;h=c(M)}if(b)d=f+&quot;L&quot;+h.substr(1)+&quot;Z&quot;;else{var T=[u,y.c2p(i[0].t)],S=[u,y.c2p(i[o-1].t)];&quot;h&quot;===s.orientation&amp;&amp;(T.reverse(),S.reverse()),d=_?&quot;M&quot;+T+&quot;L&quot;+f.substr(1)+&quot;L&quot;+S:&quot;M&quot;+S+&quot;L&quot;+h.substr(1)+&quot;L&quot;+T}r.attr(&quot;d&quot;,d),t.posCenterPx=u,t.posDensityScale=e*g,t.path=r.node(),t.pathLength=t.path.getTotalLength()/(b?2:1)}),M){var T,S,E=s.box.width,L=s.box.line.width;b?(T=g*E,S=0):_?(T=[0,g*E/2],S=-L):(T=[g*E/2,0],S=L),s.whiskerwidth=0,o.plotBoxAndWhiskers(d,{pos:x,val:y},s,{bPos:v,bdPos:T,bPosPxOffset:S}),k&amp;&amp;o.plotBoxMean(d,{pos:x,val:y},s,{bPos:v,bdPos:T,bPosPxOffset:S})}else k&amp;&amp;d.selectAll(&quot;path.mean&quot;).data(i.identity).enter().append(&quot;path&quot;).attr(&quot;class&quot;,&quot;mean&quot;).style({fill:&quot;none&quot;,&quot;vector-effect&quot;:&quot;non-scaling-stroke&quot;}).each(function(t){var e=y.c2p(t.mean,!0),r=l.getPositionOnKdePath(t,s,e);n.select(this).attr(&quot;d&quot;,&quot;h&quot;===s.orientation?&quot;M&quot;+e+&quot;,&quot;+r[0]+&quot;V&quot;+r[1]:&quot;M&quot;+r[0]+&quot;,&quot;+e+&quot;H&quot;+r[1])});s.points&amp;&amp;o.plotPoints(d,{x:f,y:h},s,a)}})}},{&quot;../../components/drawing&quot;:643,&quot;../../lib&quot;:743,&quot;../box/plot&quot;:903,&quot;../scatter/line_points&quot;:1080,&quot;./helpers&quot;:1158,d3:128}],1164:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../box/set_positions&quot;).setPositionOffset,i=[&quot;v&quot;,&quot;h&quot;];e.exports=function(t,e){for(var r=t.calcdata,a=e.xaxis,o=e.yaxis,s=0;s&lt;i.length;s++){for(var l=i[s],c=&quot;h&quot;===l?o:a,u=[],f=0,h=0,d=0;d&lt;r.length;d++){var p=r[d],m=p[0].t,g=p[0].trace;!0!==g.visible||&quot;violin&quot;!==g.type||m.empty||g.orientation!==l||g.xaxis!==a._id||g.yaxis!==o._id||(u.push(d),!1!==g.points&amp;&amp;(f=Math.max(f,g.jitter-g.pointpos-1),h=Math.max(h,g.jitter+g.pointpos-1)))}n(&quot;violin&quot;,t,u,c,[f,h])}}},{&quot;../box/set_positions&quot;:905}],1165:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;d3&quot;),i=t(&quot;../../components/color&quot;),a=t(&quot;../scatter/style&quot;).stylePoints;e.exports=function(t,e){var r=e?e[0].node3:n.select(t).selectAll(&quot;g.trace.violins&quot;);r.style(&quot;opacity&quot;,function(t){return t[0].trace.opacity}),r.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(&quot;path.violin&quot;).style(&quot;stroke-width&quot;,r.line.width+&quot;px&quot;).call(i.stroke,r.line.color).call(i.fill,r.fillcolor),o.selectAll(&quot;path.box&quot;).style(&quot;stroke-width&quot;,l.width+&quot;px&quot;).call(i.stroke,l.color).call(i.fill,s.fillcolor),o.selectAll(&quot;path.mean&quot;).style({&quot;stroke-width&quot;:u+&quot;px&quot;,&quot;stroke-dasharray&quot;:2*u+&quot;px,&quot;+u+&quot;px&quot;}).call(i.stroke,c.color),a(o,r,t)})}},{&quot;../../components/color&quot;:618,&quot;../scatter/style&quot;:1087,d3:128}],1166:[function(t,e,r){&quot;use strict&quot;;function n(t,e,r,n){if(n.enabled){for(var c=n.target,u=l.nestedProperty(e,c),h=u.get(),d=function(t,e){var r=t.func,n=e.d2c,s=e.c2d;switch(r){case&quot;count&quot;:return i;case&quot;first&quot;:return a;case&quot;last&quot;:return o;case&quot;sum&quot;:return function(t,e){for(var r=0,i=0;i&lt;e.length;i++){var a=n(t[e[i]]);a!==f&amp;&amp;(r+=a)}return s(r)};case&quot;avg&quot;:return function(t,e){for(var r=0,i=0,a=0;a&lt;e.length;a++){var o=n(t[e[a]]);o!==f&amp;&amp;(r+=o,i++)}return i?s(r/i):f};case&quot;min&quot;:return function(t,e){for(var r=1/0,i=0;i&lt;e.length;i++){var a=n(t[e[i]]);a!==f&amp;&amp;(r=Math.min(r,a))}return r===1/0?f:s(r)};case&quot;max&quot;:return function(t,e){for(var r=-1/0,i=0;i&lt;e.length;i++){var a=n(t[e[i]]);a!==f&amp;&amp;(r=Math.max(r,a))}return r===-1/0?f:s(r)};case&quot;median&quot;:return function(t,e){for(var r=[],i=0;i&lt;e.length;i++){var a=n(t[e[i]]);a!==f&amp;&amp;r.push(a)}if(!r.length)return f;r.sort();var o=(r.length-1)/2;return s((r[Math.floor(o)]+r[Math.ceil(o)])/2)};case&quot;mode&quot;:return function(t,e){for(var r={},i=0,a=f,o=0;o&lt;e.length;o++){var l=n(t[e[o]]);if(l!==f){var c=r[l]=(r[l]||0)+1;c&gt;i&amp;&amp;(i=c,a=l)}}return i?s(a):f};case&quot;rms&quot;:return function(t,e){for(var r=0,i=0,a=0;a&lt;e.length;a++){var o=n(t[e[a]]);o!==f&amp;&amp;(r+=o*o,i++)}return i?s(Math.sqrt(r/i)):f};case&quot;stddev&quot;:return function(e,r){var i,a=0,o=0,s=1,l=f;for(i=0;i&lt;r.length&amp;&amp;l===f;i++)l=n(e[r[i]]);if(l===f)return f;for(;i&lt;r.length;i++){var c=n(e[r[i]]);if(c!==f){var u=c-l;a+=u,o+=u*u,s++}}var h=&quot;sample&quot;===t.funcmode?s-1:s;return h?Math.sqrt((o-a*a/s)/h):0}}}(n,s.getDataConversions(t,e,c,h)),p=new Array(r.length),m=0;m&lt;r.length;m++)p[m]=d(h,r[m]);u.set(p)}}function i(t,e){return e.length}function a(t,e){return t[e[0]]}function o(t,e){return t[e[e.length-1]]}var s=t(&quot;../plots/cartesian/axes&quot;),l=t(&quot;../lib&quot;),c=t(&quot;../plot_api/plot_schema&quot;),u=t(&quot;./helpers&quot;).pointsAccessorFunction,f=t(&quot;../constants/numerical&quot;).BADNUM;r.moduleType=&quot;transform&quot;,r.name=&quot;aggregate&quot;;var h=r.attributes={enabled:{valType:&quot;boolean&quot;,dflt:!0,editType:&quot;calc&quot;},groups:{valType:&quot;string&quot;,strict:!0,noBlank:!0,arrayOk:!0,dflt:&quot;x&quot;,editType:&quot;calc&quot;},aggregations:{_isLinkedToArray:&quot;aggregation&quot;,target:{valType:&quot;string&quot;,editType:&quot;calc&quot;},func:{valType:&quot;enumerated&quot;,values:[&quot;count&quot;,&quot;sum&quot;,&quot;avg&quot;,&quot;median&quot;,&quot;mode&quot;,&quot;rms&quot;,&quot;stddev&quot;,&quot;min&quot;,&quot;max&quot;,&quot;first&quot;,&quot;last&quot;],dflt:&quot;first&quot;,editType:&quot;calc&quot;},funcmode:{valType:&quot;enumerated&quot;,values:[&quot;sample&quot;,&quot;population&quot;],dflt:&quot;sample&quot;,editType:&quot;calc&quot;},enabled:{valType:&quot;boolean&quot;,dflt:!0,editType:&quot;calc&quot;},editType:&quot;calc&quot;},editType:&quot;calc&quot;},d=h.aggregations;r.supplyDefaults=function(t,e){function r(e,r){return l.coerce(t,a,h,e,r)}function n(t,e){return l.coerce(p[i],f,d,t,e)}var i,a={};if(!r(&quot;enabled&quot;))return a;var o=c.findArrayAttributes(e),s={};for(i=0;i&lt;o.length;i++)s[o[i]]=1;var u=r(&quot;groups&quot;);if(!Array.isArray(u)){if(!s[u])return void(a.enabled=!1);s[u]=0}var f,p=t.aggregations||[],m=a.aggregations=new Array(p.length);for(i=0;i&lt;p.length;i++){f={_index:i};var g=n(&quot;target&quot;),v=n(&quot;func&quot;);n(&quot;enabled&quot;)&amp;&amp;g&amp;&amp;(s[g]||&quot;count&quot;===v&amp;&amp;void 0===s[g])?(&quot;stddev&quot;===v&amp;&amp;n(&quot;funcmode&quot;),s[g]=0,m[i]=f):m[i]={enabled:!1,_index:i}}for(i=0;i&lt;o.length;i++)s[o[i]]&amp;&amp;m.push({target:o[i],func:d.func.dflt,enabled:!0,_index:-1});return a},r.calcTransform=function(t,e,r){if(r.enabled){var i=r.groups,a=l.getTargetArray(e,{target:i});if(a){var o,s,c,f,h={},d={},p=[],m=u(e.transforms,r);for(o=0;o&lt;a.length;o++)void 0===(c=h[s=a[o]])?(h[s]=p.length,f=[o],p.push(f),d[h[s]]=m(o)):(p[c].push(o),d[h[s]]=(d[h[s]]||[]).concat(m(o)));r._indexToPoints=d;var g=r.aggregations;for(o=0;o&lt;g.length;o++)n(t,e,p,g[o]);&quot;string&quot;==typeof i&amp;&amp;n(t,e,p,{target:i,func:&quot;first&quot;,enabled:!0})}}}},{&quot;../constants/numerical&quot;:721,&quot;../lib&quot;:743,&quot;../plot_api/plot_schema&quot;:778,&quot;../plots/cartesian/axes&quot;:789,&quot;./helpers&quot;:1169}],1167:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../lib&quot;),i=t(&quot;../registry&quot;),a=t(&quot;../plots/cartesian/axes&quot;),o=t(&quot;./helpers&quot;).pointsAccessorFunction,s=[&quot;=&quot;,&quot;!=&quot;,&quot;&lt;&quot;,&quot;&gt;=&quot;,&quot;&gt;&quot;,&quot;&lt;=&quot;],l=[&quot;[]&quot;,&quot;()&quot;,&quot;[)&quot;,&quot;(]&quot;,&quot;][&quot;,&quot;)(&quot;,&quot;](&quot;,&quot;)[&quot;],c=[&quot;{}&quot;,&quot;}{&quot;];r.moduleType=&quot;transform&quot;,r.name=&quot;filter&quot;,r.attributes={enabled:{valType:&quot;boolean&quot;,dflt:!0,editType:&quot;calc&quot;},target:{valType:&quot;string&quot;,strict:!0,noBlank:!0,arrayOk:!0,dflt:&quot;x&quot;,editType:&quot;calc&quot;},operation:{valType:&quot;enumerated&quot;,values:[].concat(s).concat(l).concat(c),dflt:&quot;=&quot;,editType:&quot;calc&quot;},value:{valType:&quot;any&quot;,dflt:0,editType:&quot;calc&quot;},preservegaps:{valType:&quot;boolean&quot;,dflt:!1,editType:&quot;calc&quot;},editType:&quot;calc&quot;},r.supplyDefaults=function(t){function e(e,i){return n.coerce(t,a,r.attributes,e,i)}var a={};if(e(&quot;enabled&quot;)){e(&quot;preservegaps&quot;),e(&quot;operation&quot;),e(&quot;value&quot;),e(&quot;target&quot;);var o=i.getComponentMethod(&quot;calendars&quot;,&quot;handleDefaults&quot;);o(t,a,&quot;valuecalendar&quot;,null),o(t,a,&quot;targetcalendar&quot;,null)}return a},r.calcTransform=function(t,e,r){function i(t,r){for(var i=0;i&lt;p.length;i++){t(n.nestedProperty(e,p[i]),r)}}if(r.enabled){var u=n.getTargetArray(e,r);if(u){var f=r.target,h=u.length,d=r.targetcalendar,p=e._arrayAttrs;if(&quot;string&quot;==typeof f){var m=n.nestedProperty(e,f+&quot;calendar&quot;).get();m&amp;&amp;(d=m)}var g,v,y=function(t,e,r){function n(t){return-1!==t.indexOf(a)}var i,a=t.operation,o=t.value,u=Array.isArray(o),f=function(r){return e(r,0,t.valuecalendar)},h=function(t){return e(t,0,r)};switch(n(s)?i=f(u?o[0]:o):n(l)?i=u?[f(o[0]),f(o[1])]:[f(o),f(o)]:n(c)&amp;&amp;(i=u?o.map(f):[f(o)]),a){case&quot;=&quot;:return function(t){return h(t)===i};case&quot;!=&quot;:return function(t){return h(t)!==i};case&quot;&lt;&quot;:return function(t){return h(t)&lt;i};case&quot;&lt;=&quot;:return function(t){return h(t)&lt;=i};case&quot;&gt;&quot;:return function(t){return h(t)&gt;i};case&quot;&gt;=&quot;:return function(t){return h(t)&gt;=i};case&quot;[]&quot;:return function(t){var e=h(t);return e&gt;=i[0]&amp;&amp;e&lt;=i[1]};case&quot;()&quot;:return function(t){var e=h(t);return e&gt;i[0]&amp;&amp;e&lt;i[1]};case&quot;[)&quot;:return function(t){var e=h(t);return e&gt;=i[0]&amp;&amp;e&lt;i[1]};case&quot;(]&quot;:return function(t){var e=h(t);return e&gt;i[0]&amp;&amp;e&lt;=i[1]};case&quot;][&quot;:return function(t){var e=h(t);return e&lt;=i[0]||e&gt;=i[1]};case&quot;)(&quot;:return function(t){var e=h(t);return e&lt;i[0]||e&gt;i[1]};case&quot;](&quot;:return function(t){var e=h(t);return e&lt;=i[0]||e&gt;i[1]};case&quot;)[&quot;:return function(t){var e=h(t);return e&lt;i[0]||e&gt;=i[1]};case&quot;{}&quot;:return function(t){return-1!==i.indexOf(h(t))};case&quot;}{&quot;:return function(t){return-1===i.indexOf(h(t))}}}(r,a.getDataToCoordFunc(t,e,f,u),d),x={},b={},_=0;r.preservegaps?(g=function(t){x[t.astr]=n.extendDeep([],t.get()),t.set(new Array(h))},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)}),i(g);for(var w=o(e.transforms,r),M=0;M&lt;h;M++){y(u[M])&amp;&amp;(i(v,M),b[_++]=w(M))}r._indexToPoints=b}}}},{&quot;../lib&quot;:743,&quot;../plots/cartesian/axes&quot;:789,&quot;../registry&quot;:873,&quot;./helpers&quot;:1169}],1168:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../lib&quot;),i=t(&quot;../plot_api/plot_schema&quot;),a=t(&quot;../plots/plots&quot;),o=t(&quot;./helpers&quot;).pointsAccessorFunction;r.moduleType=&quot;transform&quot;,r.name=&quot;groupby&quot;,r.attributes={enabled:{valType:&quot;boolean&quot;,dflt:!0,editType:&quot;calc&quot;},groups:{valType:&quot;data_array&quot;,dflt:[],editType:&quot;calc&quot;},nameformat:{valType:&quot;string&quot;,editType:&quot;calc&quot;},styles:{_isLinkedToArray:&quot;style&quot;,target:{valType:&quot;string&quot;,editType:&quot;calc&quot;},value:{valType:&quot;any&quot;,dflt:{},editType:&quot;calc&quot;},editType:&quot;calc&quot;},editType:&quot;calc&quot;},r.supplyDefaults=function(t,e,i){function a(e,i){return n.coerce(t,s,r.attributes,e,i)}var o,s={};if(!a(&quot;enabled&quot;))return s;a(&quot;groups&quot;),a(&quot;nameformat&quot;,i._dataLength&gt;1?&quot;%{group} (%{trace})&quot;:&quot;%{group}&quot;);var l=t.styles,c=s.styles=[];if(l)for(o=0;o&lt;l.length;o++)c[o]={},n.coerce(l[o],c[o],r.attributes.styles,&quot;target&quot;),n.coerce(l[o],c[o],r.attributes.styles,&quot;value&quot;);return s},r.transform=function(t,e){var r,s,l,c=[];for(s=0;s&lt;t.length;s++)for(r=function(t,e){var r,s,l,c,u,f,h,d,p,m,g=e.transform,v=t.transforms[e.transformIndex].groups,y=o(t.transforms,g);if(!Array.isArray(v)||0===v.length)return[t];var x=n.filterUnique(v),b=new Array(x.length),_=v.length,w=i.findArrayAttributes(t),M=g.styles||[],k={};for(r=0;r&lt;M.length;r++)k[M[r].target]=M[r].value;g.styles&amp;&amp;(m=n.keyedContainer(g,&quot;styles&quot;,&quot;target&quot;,&quot;value.name&quot;));var A={},T={};for(r=0;r&lt;x.length;r++){A[f=x[r]]=r,T[f]=0,(h=b[r]=n.extendDeepNoArrays({},t))._group=f,h.transforms[e.transformIndex]._indexToPoints={};var S=null;for(m&amp;&amp;(S=m.get(f)),h.name=S||n.templateString(g.nameformat,{trace:t.name,group:f}),d=h.transforms,h.transforms=[],s=0;s&lt;d.length;s++)h.transforms[s]=n.extendDeepNoArrays({},d[s]);for(s=0;s&lt;w.length;s++)n.nestedProperty(h,w[s]).set([])}for(l=0;l&lt;w.length;l++){for(c=w[l],s=0,p=[];s&lt;x.length;s++)p[s]=n.nestedProperty(b[s],c).get();for(u=n.nestedProperty(t,c).get(),s=0;s&lt;_;s++)p[A[v[s]]].push(u[s])}for(s=0;s&lt;_;s++)(h=b[A[v[s]]]).transforms[e.transformIndex]._indexToPoints[T[v[s]]]=y(s),T[v[s]]++;for(r=0;r&lt;x.length;r++)f=x[r],h=b[r],a.clearExpandedTraceDefaultColors(h),h=n.extendDeepNoArrays(h,k[f]||{});return b}(t[s],e),l=0;l&lt;r.length;l++)c.push(r[l]);return c}},{&quot;../lib&quot;:743,&quot;../plot_api/plot_schema&quot;:778,&quot;../plots/plots&quot;:852,&quot;./helpers&quot;:1169}],1169:[function(t,e,r){&quot;use strict&quot;;r.pointsAccessorFunction=function(t,e){for(var r,n,i=0;i&lt;t.length&amp;&amp;(r=t[i])!==e;i++)r._indexToPoints&amp;&amp;!1!==r.enabled&amp;&amp;(n=r._indexToPoints);return n?function(t){return n[t]}:function(t){return[t]}}},{}],1170:[function(t,e,r){&quot;use strict&quot;;var n=t(&quot;../lib&quot;),i=t(&quot;../plots/cartesian/axes&quot;),a=t(&quot;./helpers&quot;).pointsAccessorFunction;r.moduleType=&quot;transform&quot;,r.name=&quot;sort&quot;,r.attributes={enabled:{valType:&quot;boolean&quot;,dflt:!0,editType:&quot;calc&quot;},target:{valType:&quot;string&quot;,strict:!0,noBlank:!0,arrayOk:!0,dflt:&quot;x&quot;,editType:&quot;calc&quot;},order:{valType:&quot;enumerated&quot;,values:[&quot;ascending&quot;,&quot;descending&quot;],dflt:&quot;ascending&quot;,editType:&quot;calc&quot;},editType:&quot;calc&quot;},r.supplyDefaults=function(t){function e(e,a){return n.coerce(t,i,r.attributes,e,a)}var i={};return e(&quot;enabled&quot;)&amp;&amp;(e(&quot;target&quot;),e(&quot;order&quot;)),i},r.calcTransform=function(t,e,r){if(r.enabled){var o=n.getTargetArray(e,r);if(o){var s,l,c=r.target,u=o.length,f=e._arrayAttrs,h=function(t,e,r){for(var n=e.length,i=new Array(n),a=e.slice().sort(function(t,e){switch(t.order){case&quot;ascending&quot;:return function(t,r){return e(t)-e(r)};case&quot;descending&quot;:return function(t,r){return e(r)-e(t)}}}(t,r)),o=0;o&lt;n;o++)for(var s=e[o],l=0;l&lt;n;l++)if(s===a[l]){i[l]=o,a[l]=null;break}return i}(r,o,i.getDataToCoordFunc(t,e,c,o)),d=a(e.transforms,r),p={};for(s=0;s&lt;f.length;s++){var m=n.nestedProperty(e,f[s]),g=m.get(),v=new Array(u);for(l=0;l&lt;u;l++)v[l]=g[h[l]];m.set(v)}for(l=0;l&lt;u;l++)p[l]=d(h[l]);r._indexToPoints=p}}}},{&quot;../lib&quot;:743,&quot;../plots/cartesian/axes&quot;:789,&quot;./helpers&quot;:1169}]},{},[20])(20)});
&lt;/script&gt;
&lt;div id=&quot;24ec57ef-109a-41a9-8780-188012021f7b&quot; style=&quot;height: 100%; width: 100%;&quot; class=&quot;plotly-graph-div&quot;&gt;&lt;/div&gt;
&lt;script type=&quot;text/javascript&quot;&gt;window.PLOTLYENV=window.PLOTLYENV || {};window.PLOTLYENV.BASE_URL=&quot;https://plot.ly&quot;;Plotly.newPlot(&quot;24ec57ef-109a-41a9-8780-188012021f7b&quot;, [{&quot;type&quot;: &quot;scatter3d&quot;, &quot;x&quot;: [-0.15861365792905005, 0.6029355928713547, -0.37027955494763815, -0.03784823690103944, -0.40141291991267497, -0.1256427492397515, -0.3901817532106709, -0.20118542342378437, -0.03768177729323024, -0.319057185589767, 0.7372119911229263, 0.6270746264138096, -0.32246620356070754, 0.7511041351748324, -0.20020124106773673, -0.13774913393604085, -0.2024824876421276, -0.23313248325567162, 0.5256862447122511, -0.26171393514738023, 0.6124524994486598, 0.715971201796598, -0.07586366908491013, -0.3002907681069, -0.09087468544456952, -0.0748022610353588, -0.40558966359513365, -0.29429204275903076, -0.03743927799145591, -0.02062808311753459, -0.16597803748891848, -0.1362588339444077, -0.1880297206720829, -0.12160105768524013, 0.6732123357531108, -0.025051899613582358, -0.3647969686670386, 0.628657325519456, -0.32706160137149204, -0.1364838892197344, 0.38408192454089096, 0.5552683965496121, 0.7239481976518213, 0.6305999772792251], &quot;y&quot;: [-0.06015038041116523, 0.12448947765404027, 0.17827943412349764, -0.10883025228406264, 0.2022286591463079, -0.12078177314210468, 0.2060784722970564, 0.004188956213176921, -0.17708103934542532, 0.13533227262822126, 0.21812311480048568, 0.10095777838691253, 0.17321056969938525, 0.2538246443422305, 0.01616688518242518, -0.12570204701026208, -0.0034914892173819596, 0.05012246674645219, 0.2642492450369533, 0.12351250727803194, 0.10803956630352773, 0.2374507305537907, -0.22322691901655814, 0.12857415912744366, -0.2033003539308568, -0.22039124026143178, 0.22152178597302624, 0.1167478853966646, -0.33315547998271805, -0.16770362404827335, -0.08296899328205272, -0.11213567404062526, -0.04932045517026094, -0.13643341325978017, 0.15739106883942722, -0.18940609504653202, 0.21742345455668247, 0.08813268329703082, 0.12535604367130007, -0.12604877841373247, -0.17724649214702887, -0.006964164101688429, 0.22848257197505709, 0.1010819811261514], &quot;z&quot;: [0.06830738789909535, -0.13626221431023355, -0.15961929860582985, -0.15173477987907885, -0.15167120428718062, -0.1649714858245813, -0.028779244466612112, -0.04601430655460172, -0.17986819982571717, 0.015255141979589352, -0.025234281318161376, -0.06064403752207813, -0.11433765153371084, -0.046710421693951766, -0.163555857378941, -0.1712961526149816, -0.09809464177447563, 0.046228405982187325, -0.043463780266187385, -0.023814073269031105, -0.09085970275820045, -0.06754504443684561, 0.04169445625002507, 0.11304795654891964, -0.2610059097854802, -0.1309215873885125, -0.059265274222397316, -0.2551838672964704, 0.22681448755185013, -0.027152838855343794, -0.2403491740878953, 0.1481145439555243, -0.15243748115904784, 0.04446814845176198, -0.023299634771184782, -0.20916855449046165, 0.01663938549702756, -0.04568595545422636, -0.071382721416559, -0.04930146167991057, 0.003960402725400821, -0.053403679564037576, -0.08268706380770051, -0.13962681228990365], &quot;mode&quot;: &quot;markers&quot;, &quot;marker&quot;: {&quot;size&quot;: 7, &quot;line&quot;: {&quot;width&quot;: 1}, &quot;color&quot;: 0, &quot;colorscale&quot;: &quot;Viridis&quot;, &quot;opacity&quot;: 0.8}, &quot;name&quot;: &quot;Femme&quot;, &quot;text&quot;: [&quot;Friend_2&quot;, &quot;Friend_5&quot;, &quot;Friend_6&quot;, &quot;Friend_11&quot;, &quot;Friend_12&quot;, &quot;Friend_13&quot;, &quot;Friend_14&quot;, &quot;Friend_15&quot;, &quot;Friend_17&quot;, &quot;Friend_18&quot;, &quot;Ex-gf&quot;, &quot;Friend_21&quot;, &quot;Friend_27&quot;, &quot;Ex-gf&quot;, &quot;Friend_33&quot;, &quot;Friend_34&quot;, &quot;Friend_40&quot;, &quot;Friend_41&quot;, &quot;Friend_43&quot;, &quot;Friend_44&quot;, &quot;Friend_46&quot;, &quot;Ex-gf&quot;, &quot;Friend_51&quot;, &quot;Friend_52&quot;, &quot;Friend_53&quot;, &quot;Friend_57&quot;, &quot;Friend_58&quot;, &quot;Friend_60&quot;, &quot;Friend_62&quot;, &quot;Friend_63&quot;, &quot;Friend_65&quot;, &quot;Friend_66&quot;, &quot;Ex-gf&quot;, &quot;Friend_68&quot;, &quot;Friend_70&quot;, &quot;Friend_71&quot;, &quot;Friend_74&quot;, &quot;Friend_83&quot;, &quot;Friend_85&quot;, &quot;Friend_86&quot;, &quot;Friend_88&quot;, &quot;Friend_89&quot;, &quot;Ex-gf&quot;, &quot;Friend_97&quot;], &quot;hoverinfo&quot;: &quot;text+name&quot;}, {&quot;type&quot;: &quot;scatter3d&quot;, &quot;x&quot;: [0.5243518310334295, -0.3952635722453073, -0.15853796998194497, -0.23786900611745979, 0.6000384946426902, -0.3818871144385028, -0.254115971951262, 0.7093458396094607, -0.20549656804361813, 0.0011131180857299886, -0.15353785575859172, -0.25430458071931394, 0.6119760482842517, -0.22371263013638817, -0.2575387048000655, -0.4164603638168447, -0.17949636409973205, 0.7181715543457596, -0.24905450216355987, 0.5806062359541969, -0.24026942201917786, -0.366773714645085, -0.15558658751407997, 0.14854356618763603, 0.2557716924009639, -0.08396803769857099, -0.39591480965862624, 0.6668509203544192, -0.3529108236981027, -0.26253633690801054, -0.22742315552733944, -0.31703946051364557, -0.02287610560125002, -0.09285889290053596, 0.029447883344652034, -0.2989963356299362, -0.1926459997282615, -0.19614632128221754, -0.20641544954653726, 0.6897384416720769, -0.24823325906763574, -0.34899175321974435, -0.21566997723091377, 0.4868645990616527, -0.0882149715846508, 0.5602996015397219, -0.1469974173903196, -0.05758124339658183, -0.10340473966343827, -0.08542912562015076, -0.2959161638430521, -0.4054618851578495, -0.08044784288268089, 0.13467598185222837, 0.13467598185222837], &quot;y&quot;: [-0.03511637093352214, 0.23175228821067764, -0.0248667890503211, -0.0005954428837127171, 0.04862013836560718, 0.22509348939793955, 0.06638184500843025, 0.14681986773062905, -0.08039176600375678, -0.1850372456694577, -0.11606971771761863, 0.002433870255822481, 0.08687027185465714, -0.03528919886469391, 0.05601333455103592, 0.21988585042676217, 0.0583917398350669, 0.17946072844911654, 0.033975588401453566, -0.008657492061029884, 0.09842903978464965, 0.18602405000652183, -0.08515305735835287, -0.4727517129421861, -0.5299089362888559, -0.2520061445794099, 0.21907588026407476, 0.10377110855877901, 0.1682462787136081, 0.11649487144201971, -0.01452912056769666, 0.27039938980629624, -0.2658923338631671, -0.034525555195337135, -0.3379957740668348, 0.10232691729855789, 0.0010894912087628808, -0.017525436938196387, 0.07155220123848569, 0.052807837621252046, 0.09954938482841982, 0.07818696233817313, 0.05197200026840477, -0.2181041412219869, -0.1810756082370287, 0.01400831024542205, -0.09385464933060954, -0.2024676859424175, -0.2394397076570112, -0.18875926219275124, 0.1055533302451459, 0.2293884658088225, -0.1723957042014769, -0.34439671432025065, -0.3443967143202506], &quot;z&quot;: [-0.13440254103283217, 0.13128777311874143, 0.07617101984898877, 0.16608599554390235, 0.09870193768542168, 0.11432585881680978, 0.009510327239496541, 0.037311124493621124, -0.03153277062376332, 0.012662058954773943, 0.041035854153378425, 0.000502949665418014, 0.008512634976992284, 0.16693186176810593, 0.0658536421795765, 0.025072643886714232, 0.26770768037096127, 0.09075416799639772, 0.15717665384899404, 0.09443945103249833, -0.023424880318994458, 0.053525763331783674, -0.08876918249976894, -0.19078638998272293, 0.43153072857600644, -0.015875449350671273, 0.08764323565182566, 0.08782375802918142, 0.15705026484932202, 0.2147494301293448, 0.18225026622130144, -0.02410566506821702, 0.19147448789012217, 0.19208754953168247, 0.004521229971875731, -0.08156534477276706, -0.035745170607466605, 0.22928043880577564, -0.014465986002668877, 0.20141812745270732, 0.23775842257334462, -0.03752146698867941, 0.22830926752769748, 0.3533632984598705, -0.20485605780074168, 0.08814708488780566, -0.046418270864195296, -0.2719429945710335, -0.05095521469589967, -0.06754398736403668, 0.09937127578452158, -0.13159403895434169, -0.03214196625967792, -0.05994140487416762, -0.05994140487416761], &quot;mode&quot;: &quot;markers&quot;, &quot;marker&quot;: {&quot;size&quot;: 7, &quot;line&quot;: {&quot;width&quot;: 1}, &quot;color&quot;: 1, &quot;colorscale&quot;: &quot;Viridis&quot;, &quot;opacity&quot;: 0.8}, &quot;name&quot;: &quot;Homme&quot;, &quot;text&quot;: [&quot;Friend_0&quot;, &quot;Great Friend&quot;, &quot;Friend_3&quot;, &quot;ML-guy&quot;, &quot;Friend_7&quot;, &quot;Great Friend&quot;, &quot;Friend_9&quot;, &quot;Friend_10&quot;, &quot;Friend_16&quot;, &quot;Friend_19&quot;, &quot;Friend_22&quot;, &quot;Friend_23&quot;, &quot;Friend_24&quot;, &quot;ML-guy&quot;, &quot;Friend_26&quot;, &quot;Great Friend&quot;, &quot;ML-guy&quot;, &quot;Friend_30&quot;, &quot;ML-guy&quot;, &quot;Friend_35&quot;, &quot;Friend_36&quot;, &quot;Friend_37&quot;, &quot;Friend_38&quot;, &quot;Friend_39&quot;, &quot;Friend_42&quot;, &quot;Friend_45&quot;, &quot;Great Friend&quot;, &quot;Friend_49&quot;, &quot;Friend_50&quot;, &quot;ML-guy&quot;, &quot;ML-guy&quot;, &quot;Friend_56&quot;, &quot;Friend_59&quot;, &quot;Friend_61&quot;, &quot;Friend_64&quot;, &quot;Friend_69&quot;, &quot;Friend_72&quot;, &quot;ML-guy&quot;, &quot;Friend_75&quot;, &quot;Friend_76&quot;, &quot;ML-guy&quot;, &quot;Friend_78&quot;, &quot;ML-guy&quot;, &quot;Friend_80&quot;, &quot;Friend_81&quot;, &quot;Friend_82&quot;, &quot;Friend_84&quot;, &quot;Friend_87&quot;, &quot;Friend_90&quot;, &quot;Friend_91&quot;, &quot;Friend_92&quot;, &quot;Friend_94&quot;, &quot;Friend_95&quot;, &quot;Friend_96&quot;, &quot;Friend_98&quot;], &quot;hoverinfo&quot;: &quot;text+name&quot;}], {&quot;title&quot;: &quot;3D representation of the tf-idf matrix of each friend&quot;, &quot;hovermode&quot;: &quot;closest&quot;, &quot;showlegend&quot;: true}, {&quot;showLink&quot;: true, &quot;linkText&quot;: &quot;Export to plot.ly&quot;})&lt;/script&gt;
&lt;script type=&quot;text/javascript&quot;&gt;window.addEventListener(&quot;resize&quot;, function(){Plotly.Plots.resize(document.getElementById(&quot;24ec57ef-109a-41a9-8780-188012021f7b&quot;));});&lt;/script&gt;

&lt;p&gt;You have a lot of options to play with the plot and familiarize yourself with it.&lt;br /&gt;
Doing so, you will realize that not everyone has been named “Friend_#”. As I had all the results with everybody’s name on it, some &lt;strong&gt;obvious&lt;/strong&gt; clusters became quite distinct from the rest of the points.&lt;/p&gt;

&lt;p&gt;Here are a few of them :&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;There’s a separation between the left side and the right side.
    &lt;ul&gt;
      &lt;li&gt;Left side is my english speaking friends&lt;/li&gt;
      &lt;li&gt;Right side is my french speaking friends&lt;/li&gt;
      &lt;li&gt;Middle is hebrew ( but I use Whatsapp when talking to my Israeli friends, so not much data here )&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;A “Great Friend” cluster appears to be together on the upper right corner of the right side.&lt;/li&gt;
  &lt;li&gt;An “Ex-gf cluster” appears &lt;strong&gt;quite clearly&lt;/strong&gt; at the lower left corner of the left side ( I dated a few English speakers).&lt;/li&gt;
  &lt;li&gt;A “ML-guy” cluster appears at the top middle part of the right side. ML is the acronym of my hometown and most of the guys in this cluster come from the same neighborhood, we all went to the same schools and had more or less the same friends. As such, it could be expected that we would have the same vocabulary.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Other insights&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;It seems like the further a person is on the x axis, the closest they are to me. A study of the vector that created the x axis through PCA could help me understand which &lt;strong&gt;main&lt;/strong&gt; words this axis represents.&lt;/li&gt;
  &lt;li&gt;Each side has very little variance and could potentially be represented only in 2D for each language.&lt;/li&gt;
  &lt;li&gt;Outliers are friends with particularly &lt;strong&gt;singular&lt;/strong&gt; speech.&lt;/li&gt;
  &lt;li&gt;Some of the points are &lt;strong&gt;quite&lt;/strong&gt; close to the ex-gf cluster…&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I’d like to talk about that last point a bit more as I think this is where I could leverage very interesting insights.&lt;/p&gt;

&lt;p&gt;After reviewing the points that were the closest to the ex-gf cluster, I realized that my history with these girls was one of a missed shot. More clearly, these points represent people with whom I had a chance ( or just shortly dated ) and never took it, or never realized it. The same is true for some points “gravitating” around other clusters.&lt;/p&gt;

&lt;p&gt;There’s definitely a tool here to help oblivious people ( like I was ) to realize when someone is interested in them.&lt;/p&gt;

&lt;h2 id=&quot;going-further&quot;&gt;Going further&lt;/h2&gt;

&lt;p&gt;Amongst the other extra features that I mentionned earlier, I’m also working on :&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Creating a time-dynamic 3D representation of my friends vocabulary to see how people get closer or further from cluster of interest ( someone evolving towards your best friends cluster or ex-gf cluster could mean something …)&lt;/li&gt;
  &lt;li&gt;Sentiment analysis over time for each conversation to pinpoint arguments and happy moments for each person&lt;/li&gt;
  &lt;li&gt;Response time measuring feature is still in beta but will prove to be interesting&lt;/li&gt;
  &lt;li&gt;Using all these new generated data to further the clustering, classification, and prediction using social data
    &lt;ul&gt;
      &lt;li&gt;Good friends lost from sight&lt;/li&gt;
      &lt;li&gt;Identifying key-words in arguments/happy moments to predict them/make them happen&lt;/li&gt;
      &lt;li&gt;Potential dating score using distance to the gf-cluster, gradient towards it, and more data !&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;As I wrote in the beginning of this article, I will release the code my Github as soon as it’s clean, modular, and efficient as some functions may still take a few minutes to run.&lt;/p&gt;

&lt;p&gt;Thanks a lot for reading !&lt;/p&gt;</content><author><name></name></author><summary type="html">Know your friends with numbers</summary></entry><entry><title type="html">Emmanuel Macron’s speeches 3D visualisation</title><link href="https://nathancohenil.github.io/Emmanuel-Macron-Speeches/" rel="alternate" type="text/html" title="Emmanuel Macron’s speeches 3D visualisation" /><published>2018-04-28T00:00:00+00:00</published><updated>2018-04-28T00:00:00+00:00</updated><id>https://nathancohenil.github.io/Emmanuel-Macron-Speeches</id><content type="html" xml:base="https://nathancohenil.github.io/Emmanuel-Macron-Speeches/"></content><author><name></name></author><summary type="html"></summary></entry><entry><title type="html">Understanding Emmanuel Macron’s words with numbers</title><link href="https://nathancohenil.github.io/Understanding-Emmanuel-Macron/" rel="alternate" type="text/html" title="Understanding Emmanuel Macron’s words with numbers" /><published>2018-04-26T00:00:00+00:00</published><updated>2018-04-26T00:00:00+00:00</updated><id>https://nathancohenil.github.io/Understanding-Emmanuel-Macron</id><content type="html" xml:base="https://nathancohenil.github.io/Understanding-Emmanuel-Macron/">&lt;p&gt;After my topic modelling study on the Freakonomics Radio Podcast, I was interested to see what I could do with some data from the French
President.&lt;br /&gt;
In the article that you’ll find &lt;a href=&quot;https://medium.com/@nathancohenil/understanding-emmanuel-macrons-words-with-numbers-33e1916b73b&quot;&gt;here&lt;/a&gt; ( and &lt;a href=&quot;https://medium.com/@nathancohenil/emmanuel-macron-en-chiffres-et-en-lettres-9d7d67706768&quot;&gt;here&lt;/a&gt; for french speakers ), you
can read about the subjects he discusses the most, some hidden subjects, the key-words influencing his popularity ratings, and even read
a bit from &lt;strong&gt;MacronBot&lt;/strong&gt;, a text generator inspired from DeepDrumpf.&lt;/p&gt;

&lt;p&gt;Enjoy reading !&lt;/p&gt;</content><author><name></name></author><summary type="html">Speech analytics of the French President using NLP and ( a bit of ) Machine Learning.</summary></entry><entry><title type="html">I sneezed and now I can’t move!</title><link href="https://nathancohenil.github.io/Back-pain/" rel="alternate" type="text/html" title="I sneezed and now I can’t move!" /><published>2018-04-12T00:00:00+00:00</published><updated>2018-04-12T00:00:00+00:00</updated><id>https://nathancohenil.github.io/Back-pain</id><content type="html" xml:base="https://nathancohenil.github.io/Back-pain/">&lt;html&gt;
&lt;head&gt;&lt;meta charset=&quot;utf-8&quot; /&gt;
&lt;title&gt;notebook&lt;/title&gt;&lt;script src=&quot;https://cdnjs.cloudflare.com/ajax/libs/require.js/2.1.10/require.min.js&quot;&gt;&lt;/script&gt;
&lt;script src=&quot;https://cdnjs.cloudflare.com/ajax/libs/jquery/2.0.3/jquery.min.js&quot;&gt;&lt;/script&gt;

&lt;style type=&quot;text/css&quot;&gt;
    /*!
*
* Twitter Bootstrap
*
*/
/*!
 * Bootstrap v3.3.7 (http://getbootstrap.com)
 * Copyright 2011-2016 Twitter, Inc.
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
 */
/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */
html {
  font-family: sans-serif;
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
}
body {
  margin: 0;
}
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
menu,
nav,
section,
summary {
  display: block;
}
audio,
canvas,
progress,
video {
  display: inline-block;
  vertical-align: baseline;
}
audio:not([controls]) {
  display: none;
  height: 0;
}
[hidden],
template {
  display: none;
}
a {
  background-color: transparent;
}
a:active,
a:hover {
  outline: 0;
}
abbr[title] {
  border-bottom: 1px dotted;
}
b,
strong {
  font-weight: bold;
}
dfn {
  font-style: italic;
}
h1 {
  font-size: 2em;
  margin: 0.67em 0;
}
mark {
  background: #ff0;
  color: #000;
}
small {
  font-size: 80%;
}
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}
sup {
  top: -0.5em;
}
sub {
  bottom: -0.25em;
}
img {
  border: 0;
}
svg:not(:root) {
  overflow: hidden;
}
figure {
  margin: 1em 40px;
}
hr {
  box-sizing: content-box;
  height: 0;
}
pre {
  overflow: auto;
}
code,
kbd,
pre,
samp {
  font-family: monospace, monospace;
  font-size: 1em;
}
button,
input,
optgroup,
select,
textarea {
  color: inherit;
  font: inherit;
  margin: 0;
}
button {
  overflow: visible;
}
button,
select {
  text-transform: none;
}
button,
html input[type=&quot;button&quot;],
input[type=&quot;reset&quot;],
input[type=&quot;submit&quot;] {
  -webkit-appearance: button;
  cursor: pointer;
}
button[disabled],
html input[disabled] {
  cursor: default;
}
button::-moz-focus-inner,
input::-moz-focus-inner {
  border: 0;
  padding: 0;
}
input {
  line-height: normal;
}
input[type=&quot;checkbox&quot;],
input[type=&quot;radio&quot;] {
  box-sizing: border-box;
  padding: 0;
}
input[type=&quot;number&quot;]::-webkit-inner-spin-button,
input[type=&quot;number&quot;]::-webkit-outer-spin-button {
  height: auto;
}
input[type=&quot;search&quot;] {
  -webkit-appearance: textfield;
  box-sizing: content-box;
}
input[type=&quot;search&quot;]::-webkit-search-cancel-button,
input[type=&quot;search&quot;]::-webkit-search-decoration {
  -webkit-appearance: none;
}
fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em;
}
legend {
  border: 0;
  padding: 0;
}
textarea {
  overflow: auto;
}
optgroup {
  font-weight: bold;
}
table {
  border-collapse: collapse;
  border-spacing: 0;
}
td,
th {
  padding: 0;
}
/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */
@media print {
  *,
  *:before,
  *:after {
    background: transparent !important;
    color: #000 !important;
    box-shadow: none !important;
    text-shadow: none !important;
  }
  a,
  a:visited {
    text-decoration: underline;
  }
  a[href]:after {
    content: &quot; (&quot; attr(href) &quot;)&quot;;
  }
  abbr[title]:after {
    content: &quot; (&quot; attr(title) &quot;)&quot;;
  }
  a[href^=&quot;#&quot;]:after,
  a[href^=&quot;javascript:&quot;]:after {
    content: &quot;&quot;;
  }
  pre,
  blockquote {
    border: 1px solid #999;
    page-break-inside: avoid;
  }
  thead {
    display: table-header-group;
  }
  tr,
  img {
    page-break-inside: avoid;
  }
  img {
    max-width: 100% !important;
  }
  p,
  h2,
  h3 {
    orphans: 3;
    widows: 3;
  }
  h2,
  h3 {
    page-break-after: avoid;
  }
  .navbar {
    display: none;
  }
  .btn &gt; .caret,
  .dropup &gt; .btn &gt; .caret {
    border-top-color: #000 !important;
  }
  .label {
    border: 1px solid #000;
  }
  .table {
    border-collapse: collapse !important;
  }
  .table td,
  .table th {
    background-color: #fff !important;
  }
  .table-bordered th,
  .table-bordered td {
    border: 1px solid #ddd !important;
  }
}
@font-face {
  font-family: 'Glyphicons Halflings';
  src: url('../components/bootstrap/fonts/glyphicons-halflings-regular.eot');
  src: url('../components/bootstrap/fonts/glyphicons-halflings-regular.eot?#iefix') format('embedded-opentype'), url('../components/bootstrap/fonts/glyphicons-halflings-regular.woff2') format('woff2'), url('../components/bootstrap/fonts/glyphicons-halflings-regular.woff') format('woff'), url('../components/bootstrap/fonts/glyphicons-halflings-regular.ttf') format('truetype'), url('../components/bootstrap/fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular') format('svg');
}
.glyphicon {
  position: relative;
  top: 1px;
  display: inline-block;
  font-family: 'Glyphicons Halflings';
  font-style: normal;
  font-weight: normal;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.glyphicon-asterisk:before {
  content: &quot;\002a&quot;;
}
.glyphicon-plus:before {
  content: &quot;\002b&quot;;
}
.glyphicon-euro:before,
.glyphicon-eur:before {
  content: &quot;\20ac&quot;;
}
.glyphicon-minus:before {
  content: &quot;\2212&quot;;
}
.glyphicon-cloud:before {
  content: &quot;\2601&quot;;
}
.glyphicon-envelope:before {
  content: &quot;\2709&quot;;
}
.glyphicon-pencil:before {
  content: &quot;\270f&quot;;
}
.glyphicon-glass:before {
  content: &quot;\e001&quot;;
}
.glyphicon-music:before {
  content: &quot;\e002&quot;;
}
.glyphicon-search:before {
  content: &quot;\e003&quot;;
}
.glyphicon-heart:before {
  content: &quot;\e005&quot;;
}
.glyphicon-star:before {
  content: &quot;\e006&quot;;
}
.glyphicon-star-empty:before {
  content: &quot;\e007&quot;;
}
.glyphicon-user:before {
  content: &quot;\e008&quot;;
}
.glyphicon-film:before {
  content: &quot;\e009&quot;;
}
.glyphicon-th-large:before {
  content: &quot;\e010&quot;;
}
.glyphicon-th:before {
  content: &quot;\e011&quot;;
}
.glyphicon-th-list:before {
  content: &quot;\e012&quot;;
}
.glyphicon-ok:before {
  content: &quot;\e013&quot;;
}
.glyphicon-remove:before {
  content: &quot;\e014&quot;;
}
.glyphicon-zoom-in:before {
  content: &quot;\e015&quot;;
}
.glyphicon-zoom-out:before {
  content: &quot;\e016&quot;;
}
.glyphicon-off:before {
  content: &quot;\e017&quot;;
}
.glyphicon-signal:before {
  content: &quot;\e018&quot;;
}
.glyphicon-cog:before {
  content: &quot;\e019&quot;;
}
.glyphicon-trash:before {
  content: &quot;\e020&quot;;
}
.glyphicon-home:before {
  content: &quot;\e021&quot;;
}
.glyphicon-file:before {
  content: &quot;\e022&quot;;
}
.glyphicon-time:before {
  content: &quot;\e023&quot;;
}
.glyphicon-road:before {
  content: &quot;\e024&quot;;
}
.glyphicon-download-alt:before {
  content: &quot;\e025&quot;;
}
.glyphicon-download:before {
  content: &quot;\e026&quot;;
}
.glyphicon-upload:before {
  content: &quot;\e027&quot;;
}
.glyphicon-inbox:before {
  content: &quot;\e028&quot;;
}
.glyphicon-play-circle:before {
  content: &quot;\e029&quot;;
}
.glyphicon-repeat:before {
  content: &quot;\e030&quot;;
}
.glyphicon-refresh:before {
  content: &quot;\e031&quot;;
}
.glyphicon-list-alt:before {
  content: &quot;\e032&quot;;
}
.glyphicon-lock:before {
  content: &quot;\e033&quot;;
}
.glyphicon-flag:before {
  content: &quot;\e034&quot;;
}
.glyphicon-headphones:before {
  content: &quot;\e035&quot;;
}
.glyphicon-volume-off:before {
  content: &quot;\e036&quot;;
}
.glyphicon-volume-down:before {
  content: &quot;\e037&quot;;
}
.glyphicon-volume-up:before {
  content: &quot;\e038&quot;;
}
.glyphicon-qrcode:before {
  content: &quot;\e039&quot;;
}
.glyphicon-barcode:before {
  content: &quot;\e040&quot;;
}
.glyphicon-tag:before {
  content: &quot;\e041&quot;;
}
.glyphicon-tags:before {
  content: &quot;\e042&quot;;
}
.glyphicon-book:before {
  content: &quot;\e043&quot;;
}
.glyphicon-bookmark:before {
  content: &quot;\e044&quot;;
}
.glyphicon-print:before {
  content: &quot;\e045&quot;;
}
.glyphicon-camera:before {
  content: &quot;\e046&quot;;
}
.glyphicon-font:before {
  content: &quot;\e047&quot;;
}
.glyphicon-bold:before {
  content: &quot;\e048&quot;;
}
.glyphicon-italic:before {
  content: &quot;\e049&quot;;
}
.glyphicon-text-height:before {
  content: &quot;\e050&quot;;
}
.glyphicon-text-width:before {
  content: &quot;\e051&quot;;
}
.glyphicon-align-left:before {
  content: &quot;\e052&quot;;
}
.glyphicon-align-center:before {
  content: &quot;\e053&quot;;
}
.glyphicon-align-right:before {
  content: &quot;\e054&quot;;
}
.glyphicon-align-justify:before {
  content: &quot;\e055&quot;;
}
.glyphicon-list:before {
  content: &quot;\e056&quot;;
}
.glyphicon-indent-left:before {
  content: &quot;\e057&quot;;
}
.glyphicon-indent-right:before {
  content: &quot;\e058&quot;;
}
.glyphicon-facetime-video:before {
  content: &quot;\e059&quot;;
}
.glyphicon-picture:before {
  content: &quot;\e060&quot;;
}
.glyphicon-map-marker:before {
  content: &quot;\e062&quot;;
}
.glyphicon-adjust:before {
  content: &quot;\e063&quot;;
}
.glyphicon-tint:before {
  content: &quot;\e064&quot;;
}
.glyphicon-edit:before {
  content: &quot;\e065&quot;;
}
.glyphicon-share:before {
  content: &quot;\e066&quot;;
}
.glyphicon-check:before {
  content: &quot;\e067&quot;;
}
.glyphicon-move:before {
  content: &quot;\e068&quot;;
}
.glyphicon-step-backward:before {
  content: &quot;\e069&quot;;
}
.glyphicon-fast-backward:before {
  content: &quot;\e070&quot;;
}
.glyphicon-backward:before {
  content: &quot;\e071&quot;;
}
.glyphicon-play:before {
  content: &quot;\e072&quot;;
}
.glyphicon-pause:before {
  content: &quot;\e073&quot;;
}
.glyphicon-stop:before {
  content: &quot;\e074&quot;;
}
.glyphicon-forward:before {
  content: &quot;\e075&quot;;
}
.glyphicon-fast-forward:before {
  content: &quot;\e076&quot;;
}
.glyphicon-step-forward:before {
  content: &quot;\e077&quot;;
}
.glyphicon-eject:before {
  content: &quot;\e078&quot;;
}
.glyphicon-chevron-left:before {
  content: &quot;\e079&quot;;
}
.glyphicon-chevron-right:before {
  content: &quot;\e080&quot;;
}
.glyphicon-plus-sign:before {
  content: &quot;\e081&quot;;
}
.glyphicon-minus-sign:before {
  content: &quot;\e082&quot;;
}
.glyphicon-remove-sign:before {
  content: &quot;\e083&quot;;
}
.glyphicon-ok-sign:before {
  content: &quot;\e084&quot;;
}
.glyphicon-question-sign:before {
  content: &quot;\e085&quot;;
}
.glyphicon-info-sign:before {
  content: &quot;\e086&quot;;
}
.glyphicon-screenshot:before {
  content: &quot;\e087&quot;;
}
.glyphicon-remove-circle:before {
  content: &quot;\e088&quot;;
}
.glyphicon-ok-circle:before {
  content: &quot;\e089&quot;;
}
.glyphicon-ban-circle:before {
  content: &quot;\e090&quot;;
}
.glyphicon-arrow-left:before {
  content: &quot;\e091&quot;;
}
.glyphicon-arrow-right:before {
  content: &quot;\e092&quot;;
}
.glyphicon-arrow-up:before {
  content: &quot;\e093&quot;;
}
.glyphicon-arrow-down:before {
  content: &quot;\e094&quot;;
}
.glyphicon-share-alt:before {
  content: &quot;\e095&quot;;
}
.glyphicon-resize-full:before {
  content: &quot;\e096&quot;;
}
.glyphicon-resize-small:before {
  content: &quot;\e097&quot;;
}
.glyphicon-exclamation-sign:before {
  content: &quot;\e101&quot;;
}
.glyphicon-gift:before {
  content: &quot;\e102&quot;;
}
.glyphicon-leaf:before {
  content: &quot;\e103&quot;;
}
.glyphicon-fire:before {
  content: &quot;\e104&quot;;
}
.glyphicon-eye-open:before {
  content: &quot;\e105&quot;;
}
.glyphicon-eye-close:before {
  content: &quot;\e106&quot;;
}
.glyphicon-warning-sign:before {
  content: &quot;\e107&quot;;
}
.glyphicon-plane:before {
  content: &quot;\e108&quot;;
}
.glyphicon-calendar:before {
  content: &quot;\e109&quot;;
}
.glyphicon-random:before {
  content: &quot;\e110&quot;;
}
.glyphicon-comment:before {
  content: &quot;\e111&quot;;
}
.glyphicon-magnet:before {
  content: &quot;\e112&quot;;
}
.glyphicon-chevron-up:before {
  content: &quot;\e113&quot;;
}
.glyphicon-chevron-down:before {
  content: &quot;\e114&quot;;
}
.glyphicon-retweet:before {
  content: &quot;\e115&quot;;
}
.glyphicon-shopping-cart:before {
  content: &quot;\e116&quot;;
}
.glyphicon-folder-close:before {
  content: &quot;\e117&quot;;
}
.glyphicon-folder-open:before {
  content: &quot;\e118&quot;;
}
.glyphicon-resize-vertical:before {
  content: &quot;\e119&quot;;
}
.glyphicon-resize-horizontal:before {
  content: &quot;\e120&quot;;
}
.glyphicon-hdd:before {
  content: &quot;\e121&quot;;
}
.glyphicon-bullhorn:before {
  content: &quot;\e122&quot;;
}
.glyphicon-bell:before {
  content: &quot;\e123&quot;;
}
.glyphicon-certificate:before {
  content: &quot;\e124&quot;;
}
.glyphicon-thumbs-up:before {
  content: &quot;\e125&quot;;
}
.glyphicon-thumbs-down:before {
  content: &quot;\e126&quot;;
}
.glyphicon-hand-right:before {
  content: &quot;\e127&quot;;
}
.glyphicon-hand-left:before {
  content: &quot;\e128&quot;;
}
.glyphicon-hand-up:before {
  content: &quot;\e129&quot;;
}
.glyphicon-hand-down:before {
  content: &quot;\e130&quot;;
}
.glyphicon-circle-arrow-right:before {
  content: &quot;\e131&quot;;
}
.glyphicon-circle-arrow-left:before {
  content: &quot;\e132&quot;;
}
.glyphicon-circle-arrow-up:before {
  content: &quot;\e133&quot;;
}
.glyphicon-circle-arrow-down:before {
  content: &quot;\e134&quot;;
}
.glyphicon-globe:before {
  content: &quot;\e135&quot;;
}
.glyphicon-wrench:before {
  content: &quot;\e136&quot;;
}
.glyphicon-tasks:before {
  content: &quot;\e137&quot;;
}
.glyphicon-filter:before {
  content: &quot;\e138&quot;;
}
.glyphicon-briefcase:before {
  content: &quot;\e139&quot;;
}
.glyphicon-fullscreen:before {
  content: &quot;\e140&quot;;
}
.glyphicon-dashboard:before {
  content: &quot;\e141&quot;;
}
.glyphicon-paperclip:before {
  content: &quot;\e142&quot;;
}
.glyphicon-heart-empty:before {
  content: &quot;\e143&quot;;
}
.glyphicon-link:before {
  content: &quot;\e144&quot;;
}
.glyphicon-phone:before {
  content: &quot;\e145&quot;;
}
.glyphicon-pushpin:before {
  content: &quot;\e146&quot;;
}
.glyphicon-usd:before {
  content: &quot;\e148&quot;;
}
.glyphicon-gbp:before {
  content: &quot;\e149&quot;;
}
.glyphicon-sort:before {
  content: &quot;\e150&quot;;
}
.glyphicon-sort-by-alphabet:before {
  content: &quot;\e151&quot;;
}
.glyphicon-sort-by-alphabet-alt:before {
  content: &quot;\e152&quot;;
}
.glyphicon-sort-by-order:before {
  content: &quot;\e153&quot;;
}
.glyphicon-sort-by-order-alt:before {
  content: &quot;\e154&quot;;
}
.glyphicon-sort-by-attributes:before {
  content: &quot;\e155&quot;;
}
.glyphicon-sort-by-attributes-alt:before {
  content: &quot;\e156&quot;;
}
.glyphicon-unchecked:before {
  content: &quot;\e157&quot;;
}
.glyphicon-expand:before {
  content: &quot;\e158&quot;;
}
.glyphicon-collapse-down:before {
  content: &quot;\e159&quot;;
}
.glyphicon-collapse-up:before {
  content: &quot;\e160&quot;;
}
.glyphicon-log-in:before {
  content: &quot;\e161&quot;;
}
.glyphicon-flash:before {
  content: &quot;\e162&quot;;
}
.glyphicon-log-out:before {
  content: &quot;\e163&quot;;
}
.glyphicon-new-window:before {
  content: &quot;\e164&quot;;
}
.glyphicon-record:before {
  content: &quot;\e165&quot;;
}
.glyphicon-save:before {
  content: &quot;\e166&quot;;
}
.glyphicon-open:before {
  content: &quot;\e167&quot;;
}
.glyphicon-saved:before {
  content: &quot;\e168&quot;;
}
.glyphicon-import:before {
  content: &quot;\e169&quot;;
}
.glyphicon-export:before {
  content: &quot;\e170&quot;;
}
.glyphicon-send:before {
  content: &quot;\e171&quot;;
}
.glyphicon-floppy-disk:before {
  content: &quot;\e172&quot;;
}
.glyphicon-floppy-saved:before {
  content: &quot;\e173&quot;;
}
.glyphicon-floppy-remove:before {
  content: &quot;\e174&quot;;
}
.glyphicon-floppy-save:before {
  content: &quot;\e175&quot;;
}
.glyphicon-floppy-open:before {
  content: &quot;\e176&quot;;
}
.glyphicon-credit-card:before {
  content: &quot;\e177&quot;;
}
.glyphicon-transfer:before {
  content: &quot;\e178&quot;;
}
.glyphicon-cutlery:before {
  content: &quot;\e179&quot;;
}
.glyphicon-header:before {
  content: &quot;\e180&quot;;
}
.glyphicon-compressed:before {
  content: &quot;\e181&quot;;
}
.glyphicon-earphone:before {
  content: &quot;\e182&quot;;
}
.glyphicon-phone-alt:before {
  content: &quot;\e183&quot;;
}
.glyphicon-tower:before {
  content: &quot;\e184&quot;;
}
.glyphicon-stats:before {
  content: &quot;\e185&quot;;
}
.glyphicon-sd-video:before {
  content: &quot;\e186&quot;;
}
.glyphicon-hd-video:before {
  content: &quot;\e187&quot;;
}
.glyphicon-subtitles:before {
  content: &quot;\e188&quot;;
}
.glyphicon-sound-stereo:before {
  content: &quot;\e189&quot;;
}
.glyphicon-sound-dolby:before {
  content: &quot;\e190&quot;;
}
.glyphicon-sound-5-1:before {
  content: &quot;\e191&quot;;
}
.glyphicon-sound-6-1:before {
  content: &quot;\e192&quot;;
}
.glyphicon-sound-7-1:before {
  content: &quot;\e193&quot;;
}
.glyphicon-copyright-mark:before {
  content: &quot;\e194&quot;;
}
.glyphicon-registration-mark:before {
  content: &quot;\e195&quot;;
}
.glyphicon-cloud-download:before {
  content: &quot;\e197&quot;;
}
.glyphicon-cloud-upload:before {
  content: &quot;\e198&quot;;
}
.glyphicon-tree-conifer:before {
  content: &quot;\e199&quot;;
}
.glyphicon-tree-deciduous:before {
  content: &quot;\e200&quot;;
}
.glyphicon-cd:before {
  content: &quot;\e201&quot;;
}
.glyphicon-save-file:before {
  content: &quot;\e202&quot;;
}
.glyphicon-open-file:before {
  content: &quot;\e203&quot;;
}
.glyphicon-level-up:before {
  content: &quot;\e204&quot;;
}
.glyphicon-copy:before {
  content: &quot;\e205&quot;;
}
.glyphicon-paste:before {
  content: &quot;\e206&quot;;
}
.glyphicon-alert:before {
  content: &quot;\e209&quot;;
}
.glyphicon-equalizer:before {
  content: &quot;\e210&quot;;
}
.glyphicon-king:before {
  content: &quot;\e211&quot;;
}
.glyphicon-queen:before {
  content: &quot;\e212&quot;;
}
.glyphicon-pawn:before {
  content: &quot;\e213&quot;;
}
.glyphicon-bishop:before {
  content: &quot;\e214&quot;;
}
.glyphicon-knight:before {
  content: &quot;\e215&quot;;
}
.glyphicon-baby-formula:before {
  content: &quot;\e216&quot;;
}
.glyphicon-tent:before {
  content: &quot;\26fa&quot;;
}
.glyphicon-blackboard:before {
  content: &quot;\e218&quot;;
}
.glyphicon-bed:before {
  content: &quot;\e219&quot;;
}
.glyphicon-apple:before {
  content: &quot;\f8ff&quot;;
}
.glyphicon-erase:before {
  content: &quot;\e221&quot;;
}
.glyphicon-hourglass:before {
  content: &quot;\231b&quot;;
}
.glyphicon-lamp:before {
  content: &quot;\e223&quot;;
}
.glyphicon-duplicate:before {
  content: &quot;\e224&quot;;
}
.glyphicon-piggy-bank:before {
  content: &quot;\e225&quot;;
}
.glyphicon-scissors:before {
  content: &quot;\e226&quot;;
}
.glyphicon-bitcoin:before {
  content: &quot;\e227&quot;;
}
.glyphicon-btc:before {
  content: &quot;\e227&quot;;
}
.glyphicon-xbt:before {
  content: &quot;\e227&quot;;
}
.glyphicon-yen:before {
  content: &quot;\00a5&quot;;
}
.glyphicon-jpy:before {
  content: &quot;\00a5&quot;;
}
.glyphicon-ruble:before {
  content: &quot;\20bd&quot;;
}
.glyphicon-rub:before {
  content: &quot;\20bd&quot;;
}
.glyphicon-scale:before {
  content: &quot;\e230&quot;;
}
.glyphicon-ice-lolly:before {
  content: &quot;\e231&quot;;
}
.glyphicon-ice-lolly-tasted:before {
  content: &quot;\e232&quot;;
}
.glyphicon-education:before {
  content: &quot;\e233&quot;;
}
.glyphicon-option-horizontal:before {
  content: &quot;\e234&quot;;
}
.glyphicon-option-vertical:before {
  content: &quot;\e235&quot;;
}
.glyphicon-menu-hamburger:before {
  content: &quot;\e236&quot;;
}
.glyphicon-modal-window:before {
  content: &quot;\e237&quot;;
}
.glyphicon-oil:before {
  content: &quot;\e238&quot;;
}
.glyphicon-grain:before {
  content: &quot;\e239&quot;;
}
.glyphicon-sunglasses:before {
  content: &quot;\e240&quot;;
}
.glyphicon-text-size:before {
  content: &quot;\e241&quot;;
}
.glyphicon-text-color:before {
  content: &quot;\e242&quot;;
}
.glyphicon-text-background:before {
  content: &quot;\e243&quot;;
}
.glyphicon-object-align-top:before {
  content: &quot;\e244&quot;;
}
.glyphicon-object-align-bottom:before {
  content: &quot;\e245&quot;;
}
.glyphicon-object-align-horizontal:before {
  content: &quot;\e246&quot;;
}
.glyphicon-object-align-left:before {
  content: &quot;\e247&quot;;
}
.glyphicon-object-align-vertical:before {
  content: &quot;\e248&quot;;
}
.glyphicon-object-align-right:before {
  content: &quot;\e249&quot;;
}
.glyphicon-triangle-right:before {
  content: &quot;\e250&quot;;
}
.glyphicon-triangle-left:before {
  content: &quot;\e251&quot;;
}
.glyphicon-triangle-bottom:before {
  content: &quot;\e252&quot;;
}
.glyphicon-triangle-top:before {
  content: &quot;\e253&quot;;
}
.glyphicon-console:before {
  content: &quot;\e254&quot;;
}
.glyphicon-superscript:before {
  content: &quot;\e255&quot;;
}
.glyphicon-subscript:before {
  content: &quot;\e256&quot;;
}
.glyphicon-menu-left:before {
  content: &quot;\e257&quot;;
}
.glyphicon-menu-right:before {
  content: &quot;\e258&quot;;
}
.glyphicon-menu-down:before {
  content: &quot;\e259&quot;;
}
.glyphicon-menu-up:before {
  content: &quot;\e260&quot;;
}
* {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
*:before,
*:after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
html {
  font-size: 10px;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
body {
  font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, sans-serif;
  font-size: 13px;
  line-height: 1.42857143;
  color: #000;
  background-color: #fff;
}
input,
button,
select,
textarea {
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
}
a {
  color: #337ab7;
  text-decoration: none;
}
a:hover,
a:focus {
  color: #23527c;
  text-decoration: underline;
}
a:focus {
  outline: 5px auto -webkit-focus-ring-color;
  outline-offset: -2px;
}
figure {
  margin: 0;
}
img {
  vertical-align: middle;
}
.img-responsive,
.thumbnail &gt; img,
.thumbnail a &gt; img,
.carousel-inner &gt; .item &gt; img,
.carousel-inner &gt; .item &gt; a &gt; img {
  display: block;
  max-width: 100%;
  height: auto;
}
.img-rounded {
  border-radius: 3px;
}
.img-thumbnail {
  padding: 4px;
  line-height: 1.42857143;
  background-color: #fff;
  border: 1px solid #ddd;
  border-radius: 2px;
  -webkit-transition: all 0.2s ease-in-out;
  -o-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
  display: inline-block;
  max-width: 100%;
  height: auto;
}
.img-circle {
  border-radius: 50%;
}
hr {
  margin-top: 18px;
  margin-bottom: 18px;
  border: 0;
  border-top: 1px solid #eeeeee;
}
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0;
}
.sr-only-focusable:active,
.sr-only-focusable:focus {
  position: static;
  width: auto;
  height: auto;
  margin: 0;
  overflow: visible;
  clip: auto;
}
[role=&quot;button&quot;] {
  cursor: pointer;
}
h1,
h2,
h3,
h4,
h5,
h6,
.h1,
.h2,
.h3,
.h4,
.h5,
.h6 {
  font-family: inherit;
  font-weight: 500;
  line-height: 1.1;
  color: inherit;
}
h1 small,
h2 small,
h3 small,
h4 small,
h5 small,
h6 small,
.h1 small,
.h2 small,
.h3 small,
.h4 small,
.h5 small,
.h6 small,
h1 .small,
h2 .small,
h3 .small,
h4 .small,
h5 .small,
h6 .small,
.h1 .small,
.h2 .small,
.h3 .small,
.h4 .small,
.h5 .small,
.h6 .small {
  font-weight: normal;
  line-height: 1;
  color: #777777;
}
h1,
.h1,
h2,
.h2,
h3,
.h3 {
  margin-top: 18px;
  margin-bottom: 9px;
}
h1 small,
.h1 small,
h2 small,
.h2 small,
h3 small,
.h3 small,
h1 .small,
.h1 .small,
h2 .small,
.h2 .small,
h3 .small,
.h3 .small {
  font-size: 65%;
}
h4,
.h4,
h5,
.h5,
h6,
.h6 {
  margin-top: 9px;
  margin-bottom: 9px;
}
h4 small,
.h4 small,
h5 small,
.h5 small,
h6 small,
.h6 small,
h4 .small,
.h4 .small,
h5 .small,
.h5 .small,
h6 .small,
.h6 .small {
  font-size: 75%;
}
h1,
.h1 {
  font-size: 33px;
}
h2,
.h2 {
  font-size: 27px;
}
h3,
.h3 {
  font-size: 23px;
}
h4,
.h4 {
  font-size: 17px;
}
h5,
.h5 {
  font-size: 13px;
}
h6,
.h6 {
  font-size: 12px;
}
p {
  margin: 0 0 9px;
}
.lead {
  margin-bottom: 18px;
  font-size: 14px;
  font-weight: 300;
  line-height: 1.4;
}
@media (min-width: 768px) {
  .lead {
    font-size: 19.5px;
  }
}
small,
.small {
  font-size: 92%;
}
mark,
.mark {
  background-color: #fcf8e3;
  padding: .2em;
}
.text-left {
  text-align: left;
}
.text-right {
  text-align: right;
}
.text-center {
  text-align: center;
}
.text-justify {
  text-align: justify;
}
.text-nowrap {
  white-space: nowrap;
}
.text-lowercase {
  text-transform: lowercase;
}
.text-uppercase {
  text-transform: uppercase;
}
.text-capitalize {
  text-transform: capitalize;
}
.text-muted {
  color: #777777;
}
.text-primary {
  color: #337ab7;
}
a.text-primary:hover,
a.text-primary:focus {
  color: #286090;
}
.text-success {
  color: #3c763d;
}
a.text-success:hover,
a.text-success:focus {
  color: #2b542c;
}
.text-info {
  color: #31708f;
}
a.text-info:hover,
a.text-info:focus {
  color: #245269;
}
.text-warning {
  color: #8a6d3b;
}
a.text-warning:hover,
a.text-warning:focus {
  color: #66512c;
}
.text-danger {
  color: #a94442;
}
a.text-danger:hover,
a.text-danger:focus {
  color: #843534;
}
.bg-primary {
  color: #fff;
  background-color: #337ab7;
}
a.bg-primary:hover,
a.bg-primary:focus {
  background-color: #286090;
}
.bg-success {
  background-color: #dff0d8;
}
a.bg-success:hover,
a.bg-success:focus {
  background-color: #c1e2b3;
}
.bg-info {
  background-color: #d9edf7;
}
a.bg-info:hover,
a.bg-info:focus {
  background-color: #afd9ee;
}
.bg-warning {
  background-color: #fcf8e3;
}
a.bg-warning:hover,
a.bg-warning:focus {
  background-color: #f7ecb5;
}
.bg-danger {
  background-color: #f2dede;
}
a.bg-danger:hover,
a.bg-danger:focus {
  background-color: #e4b9b9;
}
.page-header {
  padding-bottom: 8px;
  margin: 36px 0 18px;
  border-bottom: 1px solid #eeeeee;
}
ul,
ol {
  margin-top: 0;
  margin-bottom: 9px;
}
ul ul,
ol ul,
ul ol,
ol ol {
  margin-bottom: 0;
}
.list-unstyled {
  padding-left: 0;
  list-style: none;
}
.list-inline {
  padding-left: 0;
  list-style: none;
  margin-left: -5px;
}
.list-inline &gt; li {
  display: inline-block;
  padding-left: 5px;
  padding-right: 5px;
}
dl {
  margin-top: 0;
  margin-bottom: 18px;
}
dt,
dd {
  line-height: 1.42857143;
}
dt {
  font-weight: bold;
}
dd {
  margin-left: 0;
}
@media (min-width: 541px) {
  .dl-horizontal dt {
    float: left;
    width: 160px;
    clear: left;
    text-align: right;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .dl-horizontal dd {
    margin-left: 180px;
  }
}
abbr[title],
abbr[data-original-title] {
  cursor: help;
  border-bottom: 1px dotted #777777;
}
.initialism {
  font-size: 90%;
  text-transform: uppercase;
}
blockquote {
  padding: 9px 18px;
  margin: 0 0 18px;
  font-size: inherit;
  border-left: 5px solid #eeeeee;
}
blockquote p:last-child,
blockquote ul:last-child,
blockquote ol:last-child {
  margin-bottom: 0;
}
blockquote footer,
blockquote small,
blockquote .small {
  display: block;
  font-size: 80%;
  line-height: 1.42857143;
  color: #777777;
}
blockquote footer:before,
blockquote small:before,
blockquote .small:before {
  content: '\2014 \00A0';
}
.blockquote-reverse,
blockquote.pull-right {
  padding-right: 15px;
  padding-left: 0;
  border-right: 5px solid #eeeeee;
  border-left: 0;
  text-align: right;
}
.blockquote-reverse footer:before,
blockquote.pull-right footer:before,
.blockquote-reverse small:before,
blockquote.pull-right small:before,
.blockquote-reverse .small:before,
blockquote.pull-right .small:before {
  content: '';
}
.blockquote-reverse footer:after,
blockquote.pull-right footer:after,
.blockquote-reverse small:after,
blockquote.pull-right small:after,
.blockquote-reverse .small:after,
blockquote.pull-right .small:after {
  content: '\00A0 \2014';
}
address {
  margin-bottom: 18px;
  font-style: normal;
  line-height: 1.42857143;
}
code,
kbd,
pre,
samp {
  font-family: monospace;
}
code {
  padding: 2px 4px;
  font-size: 90%;
  color: #c7254e;
  background-color: #f9f2f4;
  border-radius: 2px;
}
kbd {
  padding: 2px 4px;
  font-size: 90%;
  color: #888;
  background-color: transparent;
  border-radius: 1px;
  box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.25);
}
kbd kbd {
  padding: 0;
  font-size: 100%;
  font-weight: bold;
  box-shadow: none;
}
pre {
  display: block;
  padding: 8.5px;
  margin: 0 0 9px;
  font-size: 12px;
  line-height: 1.42857143;
  word-break: break-all;
  word-wrap: break-word;
  color: #333333;
  background-color: #f5f5f5;
  border: 1px solid #ccc;
  border-radius: 2px;
}
pre code {
  padding: 0;
  font-size: inherit;
  color: inherit;
  white-space: pre-wrap;
  background-color: transparent;
  border-radius: 0;
}
.pre-scrollable {
  max-height: 340px;
  overflow-y: scroll;
}
.container {
  margin-right: auto;
  margin-left: auto;
  padding-left: 0px;
  padding-right: 0px;
}
@media (min-width: 768px) {
  .container {
    width: 768px;
  }
}
@media (min-width: 992px) {
  .container {
    width: 940px;
  }
}
@media (min-width: 1200px) {
  .container {
    width: 1140px;
  }
}
.container-fluid {
  margin-right: auto;
  margin-left: auto;
  padding-left: 0px;
  padding-right: 0px;
}
.row {
  margin-left: 0px;
  margin-right: 0px;
}
.col-xs-1, .col-sm-1, .col-md-1, .col-lg-1, .col-xs-2, .col-sm-2, .col-md-2, .col-lg-2, .col-xs-3, .col-sm-3, .col-md-3, .col-lg-3, .col-xs-4, .col-sm-4, .col-md-4, .col-lg-4, .col-xs-5, .col-sm-5, .col-md-5, .col-lg-5, .col-xs-6, .col-sm-6, .col-md-6, .col-lg-6, .col-xs-7, .col-sm-7, .col-md-7, .col-lg-7, .col-xs-8, .col-sm-8, .col-md-8, .col-lg-8, .col-xs-9, .col-sm-9, .col-md-9, .col-lg-9, .col-xs-10, .col-sm-10, .col-md-10, .col-lg-10, .col-xs-11, .col-sm-11, .col-md-11, .col-lg-11, .col-xs-12, .col-sm-12, .col-md-12, .col-lg-12 {
  position: relative;
  min-height: 1px;
  padding-left: 0px;
  padding-right: 0px;
}
.col-xs-1, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6, .col-xs-7, .col-xs-8, .col-xs-9, .col-xs-10, .col-xs-11, .col-xs-12 {
  float: left;
}
.col-xs-12 {
  width: 100%;
}
.col-xs-11 {
  width: 91.66666667%;
}
.col-xs-10 {
  width: 83.33333333%;
}
.col-xs-9 {
  width: 75%;
}
.col-xs-8 {
  width: 66.66666667%;
}
.col-xs-7 {
  width: 58.33333333%;
}
.col-xs-6 {
  width: 50%;
}
.col-xs-5 {
  width: 41.66666667%;
}
.col-xs-4 {
  width: 33.33333333%;
}
.col-xs-3 {
  width: 25%;
}
.col-xs-2 {
  width: 16.66666667%;
}
.col-xs-1 {
  width: 8.33333333%;
}
.col-xs-pull-12 {
  right: 100%;
}
.col-xs-pull-11 {
  right: 91.66666667%;
}
.col-xs-pull-10 {
  right: 83.33333333%;
}
.col-xs-pull-9 {
  right: 75%;
}
.col-xs-pull-8 {
  right: 66.66666667%;
}
.col-xs-pull-7 {
  right: 58.33333333%;
}
.col-xs-pull-6 {
  right: 50%;
}
.col-xs-pull-5 {
  right: 41.66666667%;
}
.col-xs-pull-4 {
  right: 33.33333333%;
}
.col-xs-pull-3 {
  right: 25%;
}
.col-xs-pull-2 {
  right: 16.66666667%;
}
.col-xs-pull-1 {
  right: 8.33333333%;
}
.col-xs-pull-0 {
  right: auto;
}
.col-xs-push-12 {
  left: 100%;
}
.col-xs-push-11 {
  left: 91.66666667%;
}
.col-xs-push-10 {
  left: 83.33333333%;
}
.col-xs-push-9 {
  left: 75%;
}
.col-xs-push-8 {
  left: 66.66666667%;
}
.col-xs-push-7 {
  left: 58.33333333%;
}
.col-xs-push-6 {
  left: 50%;
}
.col-xs-push-5 {
  left: 41.66666667%;
}
.col-xs-push-4 {
  left: 33.33333333%;
}
.col-xs-push-3 {
  left: 25%;
}
.col-xs-push-2 {
  left: 16.66666667%;
}
.col-xs-push-1 {
  left: 8.33333333%;
}
.col-xs-push-0 {
  left: auto;
}
.col-xs-offset-12 {
  margin-left: 100%;
}
.col-xs-offset-11 {
  margin-left: 91.66666667%;
}
.col-xs-offset-10 {
  margin-left: 83.33333333%;
}
.col-xs-offset-9 {
  margin-left: 75%;
}
.col-xs-offset-8 {
  margin-left: 66.66666667%;
}
.col-xs-offset-7 {
  margin-left: 58.33333333%;
}
.col-xs-offset-6 {
  margin-left: 50%;
}
.col-xs-offset-5 {
  margin-left: 41.66666667%;
}
.col-xs-offset-4 {
  margin-left: 33.33333333%;
}
.col-xs-offset-3 {
  margin-left: 25%;
}
.col-xs-offset-2 {
  margin-left: 16.66666667%;
}
.col-xs-offset-1 {
  margin-left: 8.33333333%;
}
.col-xs-offset-0 {
  margin-left: 0%;
}
@media (min-width: 768px) {
  .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12 {
    float: left;
  }
  .col-sm-12 {
    width: 100%;
  }
  .col-sm-11 {
    width: 91.66666667%;
  }
  .col-sm-10 {
    width: 83.33333333%;
  }
  .col-sm-9 {
    width: 75%;
  }
  .col-sm-8 {
    width: 66.66666667%;
  }
  .col-sm-7 {
    width: 58.33333333%;
  }
  .col-sm-6 {
    width: 50%;
  }
  .col-sm-5 {
    width: 41.66666667%;
  }
  .col-sm-4 {
    width: 33.33333333%;
  }
  .col-sm-3 {
    width: 25%;
  }
  .col-sm-2 {
    width: 16.66666667%;
  }
  .col-sm-1 {
    width: 8.33333333%;
  }
  .col-sm-pull-12 {
    right: 100%;
  }
  .col-sm-pull-11 {
    right: 91.66666667%;
  }
  .col-sm-pull-10 {
    right: 83.33333333%;
  }
  .col-sm-pull-9 {
    right: 75%;
  }
  .col-sm-pull-8 {
    right: 66.66666667%;
  }
  .col-sm-pull-7 {
    right: 58.33333333%;
  }
  .col-sm-pull-6 {
    right: 50%;
  }
  .col-sm-pull-5 {
    right: 41.66666667%;
  }
  .col-sm-pull-4 {
    right: 33.33333333%;
  }
  .col-sm-pull-3 {
    right: 25%;
  }
  .col-sm-pull-2 {
    right: 16.66666667%;
  }
  .col-sm-pull-1 {
    right: 8.33333333%;
  }
  .col-sm-pull-0 {
    right: auto;
  }
  .col-sm-push-12 {
    left: 100%;
  }
  .col-sm-push-11 {
    left: 91.66666667%;
  }
  .col-sm-push-10 {
    left: 83.33333333%;
  }
  .col-sm-push-9 {
    left: 75%;
  }
  .col-sm-push-8 {
    left: 66.66666667%;
  }
  .col-sm-push-7 {
    left: 58.33333333%;
  }
  .col-sm-push-6 {
    left: 50%;
  }
  .col-sm-push-5 {
    left: 41.66666667%;
  }
  .col-sm-push-4 {
    left: 33.33333333%;
  }
  .col-sm-push-3 {
    left: 25%;
  }
  .col-sm-push-2 {
    left: 16.66666667%;
  }
  .col-sm-push-1 {
    left: 8.33333333%;
  }
  .col-sm-push-0 {
    left: auto;
  }
  .col-sm-offset-12 {
    margin-left: 100%;
  }
  .col-sm-offset-11 {
    margin-left: 91.66666667%;
  }
  .col-sm-offset-10 {
    margin-left: 83.33333333%;
  }
  .col-sm-offset-9 {
    margin-left: 75%;
  }
  .col-sm-offset-8 {
    margin-left: 66.66666667%;
  }
  .col-sm-offset-7 {
    margin-left: 58.33333333%;
  }
  .col-sm-offset-6 {
    margin-left: 50%;
  }
  .col-sm-offset-5 {
    margin-left: 41.66666667%;
  }
  .col-sm-offset-4 {
    margin-left: 33.33333333%;
  }
  .col-sm-offset-3 {
    margin-left: 25%;
  }
  .col-sm-offset-2 {
    margin-left: 16.66666667%;
  }
  .col-sm-offset-1 {
    margin-left: 8.33333333%;
  }
  .col-sm-offset-0 {
    margin-left: 0%;
  }
}
@media (min-width: 992px) {
  .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12 {
    float: left;
  }
  .col-md-12 {
    width: 100%;
  }
  .col-md-11 {
    width: 91.66666667%;
  }
  .col-md-10 {
    width: 83.33333333%;
  }
  .col-md-9 {
    width: 75%;
  }
  .col-md-8 {
    width: 66.66666667%;
  }
  .col-md-7 {
    width: 58.33333333%;
  }
  .col-md-6 {
    width: 50%;
  }
  .col-md-5 {
    width: 41.66666667%;
  }
  .col-md-4 {
    width: 33.33333333%;
  }
  .col-md-3 {
    width: 25%;
  }
  .col-md-2 {
    width: 16.66666667%;
  }
  .col-md-1 {
    width: 8.33333333%;
  }
  .col-md-pull-12 {
    right: 100%;
  }
  .col-md-pull-11 {
    right: 91.66666667%;
  }
  .col-md-pull-10 {
    right: 83.33333333%;
  }
  .col-md-pull-9 {
    right: 75%;
  }
  .col-md-pull-8 {
    right: 66.66666667%;
  }
  .col-md-pull-7 {
    right: 58.33333333%;
  }
  .col-md-pull-6 {
    right: 50%;
  }
  .col-md-pull-5 {
    right: 41.66666667%;
  }
  .col-md-pull-4 {
    right: 33.33333333%;
  }
  .col-md-pull-3 {
    right: 25%;
  }
  .col-md-pull-2 {
    right: 16.66666667%;
  }
  .col-md-pull-1 {
    right: 8.33333333%;
  }
  .col-md-pull-0 {
    right: auto;
  }
  .col-md-push-12 {
    left: 100%;
  }
  .col-md-push-11 {
    left: 91.66666667%;
  }
  .col-md-push-10 {
    left: 83.33333333%;
  }
  .col-md-push-9 {
    left: 75%;
  }
  .col-md-push-8 {
    left: 66.66666667%;
  }
  .col-md-push-7 {
    left: 58.33333333%;
  }
  .col-md-push-6 {
    left: 50%;
  }
  .col-md-push-5 {
    left: 41.66666667%;
  }
  .col-md-push-4 {
    left: 33.33333333%;
  }
  .col-md-push-3 {
    left: 25%;
  }
  .col-md-push-2 {
    left: 16.66666667%;
  }
  .col-md-push-1 {
    left: 8.33333333%;
  }
  .col-md-push-0 {
    left: auto;
  }
  .col-md-offset-12 {
    margin-left: 100%;
  }
  .col-md-offset-11 {
    margin-left: 91.66666667%;
  }
  .col-md-offset-10 {
    margin-left: 83.33333333%;
  }
  .col-md-offset-9 {
    margin-left: 75%;
  }
  .col-md-offset-8 {
    margin-left: 66.66666667%;
  }
  .col-md-offset-7 {
    margin-left: 58.33333333%;
  }
  .col-md-offset-6 {
    margin-left: 50%;
  }
  .col-md-offset-5 {
    margin-left: 41.66666667%;
  }
  .col-md-offset-4 {
    margin-left: 33.33333333%;
  }
  .col-md-offset-3 {
    margin-left: 25%;
  }
  .col-md-offset-2 {
    margin-left: 16.66666667%;
  }
  .col-md-offset-1 {
    margin-left: 8.33333333%;
  }
  .col-md-offset-0 {
    margin-left: 0%;
  }
}
@media (min-width: 1200px) {
  .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12 {
    float: left;
  }
  .col-lg-12 {
    width: 100%;
  }
  .col-lg-11 {
    width: 91.66666667%;
  }
  .col-lg-10 {
    width: 83.33333333%;
  }
  .col-lg-9 {
    width: 75%;
  }
  .col-lg-8 {
    width: 66.66666667%;
  }
  .col-lg-7 {
    width: 58.33333333%;
  }
  .col-lg-6 {
    width: 50%;
  }
  .col-lg-5 {
    width: 41.66666667%;
  }
  .col-lg-4 {
    width: 33.33333333%;
  }
  .col-lg-3 {
    width: 25%;
  }
  .col-lg-2 {
    width: 16.66666667%;
  }
  .col-lg-1 {
    width: 8.33333333%;
  }
  .col-lg-pull-12 {
    right: 100%;
  }
  .col-lg-pull-11 {
    right: 91.66666667%;
  }
  .col-lg-pull-10 {
    right: 83.33333333%;
  }
  .col-lg-pull-9 {
    right: 75%;
  }
  .col-lg-pull-8 {
    right: 66.66666667%;
  }
  .col-lg-pull-7 {
    right: 58.33333333%;
  }
  .col-lg-pull-6 {
    right: 50%;
  }
  .col-lg-pull-5 {
    right: 41.66666667%;
  }
  .col-lg-pull-4 {
    right: 33.33333333%;
  }
  .col-lg-pull-3 {
    right: 25%;
  }
  .col-lg-pull-2 {
    right: 16.66666667%;
  }
  .col-lg-pull-1 {
    right: 8.33333333%;
  }
  .col-lg-pull-0 {
    right: auto;
  }
  .col-lg-push-12 {
    left: 100%;
  }
  .col-lg-push-11 {
    left: 91.66666667%;
  }
  .col-lg-push-10 {
    left: 83.33333333%;
  }
  .col-lg-push-9 {
    left: 75%;
  }
  .col-lg-push-8 {
    left: 66.66666667%;
  }
  .col-lg-push-7 {
    left: 58.33333333%;
  }
  .col-lg-push-6 {
    left: 50%;
  }
  .col-lg-push-5 {
    left: 41.66666667%;
  }
  .col-lg-push-4 {
    left: 33.33333333%;
  }
  .col-lg-push-3 {
    left: 25%;
  }
  .col-lg-push-2 {
    left: 16.66666667%;
  }
  .col-lg-push-1 {
    left: 8.33333333%;
  }
  .col-lg-push-0 {
    left: auto;
  }
  .col-lg-offset-12 {
    margin-left: 100%;
  }
  .col-lg-offset-11 {
    margin-left: 91.66666667%;
  }
  .col-lg-offset-10 {
    margin-left: 83.33333333%;
  }
  .col-lg-offset-9 {
    margin-left: 75%;
  }
  .col-lg-offset-8 {
    margin-left: 66.66666667%;
  }
  .col-lg-offset-7 {
    margin-left: 58.33333333%;
  }
  .col-lg-offset-6 {
    margin-left: 50%;
  }
  .col-lg-offset-5 {
    margin-left: 41.66666667%;
  }
  .col-lg-offset-4 {
    margin-left: 33.33333333%;
  }
  .col-lg-offset-3 {
    margin-left: 25%;
  }
  .col-lg-offset-2 {
    margin-left: 16.66666667%;
  }
  .col-lg-offset-1 {
    margin-left: 8.33333333%;
  }
  .col-lg-offset-0 {
    margin-left: 0%;
  }
}
table {
  background-color: transparent;
}
caption {
  padding-top: 8px;
  padding-bottom: 8px;
  color: #777777;
  text-align: left;
}
th {
  text-align: left;
}
.table {
  width: 100%;
  max-width: 100%;
  margin-bottom: 18px;
}
.table &gt; thead &gt; tr &gt; th,
.table &gt; tbody &gt; tr &gt; th,
.table &gt; tfoot &gt; tr &gt; th,
.table &gt; thead &gt; tr &gt; td,
.table &gt; tbody &gt; tr &gt; td,
.table &gt; tfoot &gt; tr &gt; td {
  padding: 8px;
  line-height: 1.42857143;
  vertical-align: top;
  border-top: 1px solid #ddd;
}
.table &gt; thead &gt; tr &gt; th {
  vertical-align: bottom;
  border-bottom: 2px solid #ddd;
}
.table &gt; caption + thead &gt; tr:first-child &gt; th,
.table &gt; colgroup + thead &gt; tr:first-child &gt; th,
.table &gt; thead:first-child &gt; tr:first-child &gt; th,
.table &gt; caption + thead &gt; tr:first-child &gt; td,
.table &gt; colgroup + thead &gt; tr:first-child &gt; td,
.table &gt; thead:first-child &gt; tr:first-child &gt; td {
  border-top: 0;
}
.table &gt; tbody + tbody {
  border-top: 2px solid #ddd;
}
.table .table {
  background-color: #fff;
}
.table-condensed &gt; thead &gt; tr &gt; th,
.table-condensed &gt; tbody &gt; tr &gt; th,
.table-condensed &gt; tfoot &gt; tr &gt; th,
.table-condensed &gt; thead &gt; tr &gt; td,
.table-condensed &gt; tbody &gt; tr &gt; td,
.table-condensed &gt; tfoot &gt; tr &gt; td {
  padding: 5px;
}
.table-bordered {
  border: 1px solid #ddd;
}
.table-bordered &gt; thead &gt; tr &gt; th,
.table-bordered &gt; tbody &gt; tr &gt; th,
.table-bordered &gt; tfoot &gt; tr &gt; th,
.table-bordered &gt; thead &gt; tr &gt; td,
.table-bordered &gt; tbody &gt; tr &gt; td,
.table-bordered &gt; tfoot &gt; tr &gt; td {
  border: 1px solid #ddd;
}
.table-bordered &gt; thead &gt; tr &gt; th,
.table-bordered &gt; thead &gt; tr &gt; td {
  border-bottom-width: 2px;
}
.table-striped &gt; tbody &gt; tr:nth-of-type(odd) {
  background-color: #f9f9f9;
}
.table-hover &gt; tbody &gt; tr:hover {
  background-color: #f5f5f5;
}
table col[class*=&quot;col-&quot;] {
  position: static;
  float: none;
  display: table-column;
}
table td[class*=&quot;col-&quot;],
table th[class*=&quot;col-&quot;] {
  position: static;
  float: none;
  display: table-cell;
}
.table &gt; thead &gt; tr &gt; td.active,
.table &gt; tbody &gt; tr &gt; td.active,
.table &gt; tfoot &gt; tr &gt; td.active,
.table &gt; thead &gt; tr &gt; th.active,
.table &gt; tbody &gt; tr &gt; th.active,
.table &gt; tfoot &gt; tr &gt; th.active,
.table &gt; thead &gt; tr.active &gt; td,
.table &gt; tbody &gt; tr.active &gt; td,
.table &gt; tfoot &gt; tr.active &gt; td,
.table &gt; thead &gt; tr.active &gt; th,
.table &gt; tbody &gt; tr.active &gt; th,
.table &gt; tfoot &gt; tr.active &gt; th {
  background-color: #f5f5f5;
}
.table-hover &gt; tbody &gt; tr &gt; td.active:hover,
.table-hover &gt; tbody &gt; tr &gt; th.active:hover,
.table-hover &gt; tbody &gt; tr.active:hover &gt; td,
.table-hover &gt; tbody &gt; tr:hover &gt; .active,
.table-hover &gt; tbody &gt; tr.active:hover &gt; th {
  background-color: #e8e8e8;
}
.table &gt; thead &gt; tr &gt; td.success,
.table &gt; tbody &gt; tr &gt; td.success,
.table &gt; tfoot &gt; tr &gt; td.success,
.table &gt; thead &gt; tr &gt; th.success,
.table &gt; tbody &gt; tr &gt; th.success,
.table &gt; tfoot &gt; tr &gt; th.success,
.table &gt; thead &gt; tr.success &gt; td,
.table &gt; tbody &gt; tr.success &gt; td,
.table &gt; tfoot &gt; tr.success &gt; td,
.table &gt; thead &gt; tr.success &gt; th,
.table &gt; tbody &gt; tr.success &gt; th,
.table &gt; tfoot &gt; tr.success &gt; th {
  background-color: #dff0d8;
}
.table-hover &gt; tbody &gt; tr &gt; td.success:hover,
.table-hover &gt; tbody &gt; tr &gt; th.success:hover,
.table-hover &gt; tbody &gt; tr.success:hover &gt; td,
.table-hover &gt; tbody &gt; tr:hover &gt; .success,
.table-hover &gt; tbody &gt; tr.success:hover &gt; th {
  background-color: #d0e9c6;
}
.table &gt; thead &gt; tr &gt; td.info,
.table &gt; tbody &gt; tr &gt; td.info,
.table &gt; tfoot &gt; tr &gt; td.info,
.table &gt; thead &gt; tr &gt; th.info,
.table &gt; tbody &gt; tr &gt; th.info,
.table &gt; tfoot &gt; tr &gt; th.info,
.table &gt; thead &gt; tr.info &gt; td,
.table &gt; tbody &gt; tr.info &gt; td,
.table &gt; tfoot &gt; tr.info &gt; td,
.table &gt; thead &gt; tr.info &gt; th,
.table &gt; tbody &gt; tr.info &gt; th,
.table &gt; tfoot &gt; tr.info &gt; th {
  background-color: #d9edf7;
}
.table-hover &gt; tbody &gt; tr &gt; td.info:hover,
.table-hover &gt; tbody &gt; tr &gt; th.info:hover,
.table-hover &gt; tbody &gt; tr.info:hover &gt; td,
.table-hover &gt; tbody &gt; tr:hover &gt; .info,
.table-hover &gt; tbody &gt; tr.info:hover &gt; th {
  background-color: #c4e3f3;
}
.table &gt; thead &gt; tr &gt; td.warning,
.table &gt; tbody &gt; tr &gt; td.warning,
.table &gt; tfoot &gt; tr &gt; td.warning,
.table &gt; thead &gt; tr &gt; th.warning,
.table &gt; tbody &gt; tr &gt; th.warning,
.table &gt; tfoot &gt; tr &gt; th.warning,
.table &gt; thead &gt; tr.warning &gt; td,
.table &gt; tbody &gt; tr.warning &gt; td,
.table &gt; tfoot &gt; tr.warning &gt; td,
.table &gt; thead &gt; tr.warning &gt; th,
.table &gt; tbody &gt; tr.warning &gt; th,
.table &gt; tfoot &gt; tr.warning &gt; th {
  background-color: #fcf8e3;
}
.table-hover &gt; tbody &gt; tr &gt; td.warning:hover,
.table-hover &gt; tbody &gt; tr &gt; th.warning:hover,
.table-hover &gt; tbody &gt; tr.warning:hover &gt; td,
.table-hover &gt; tbody &gt; tr:hover &gt; .warning,
.table-hover &gt; tbody &gt; tr.warning:hover &gt; th {
  background-color: #faf2cc;
}
.table &gt; thead &gt; tr &gt; td.danger,
.table &gt; tbody &gt; tr &gt; td.danger,
.table &gt; tfoot &gt; tr &gt; td.danger,
.table &gt; thead &gt; tr &gt; th.danger,
.table &gt; tbody &gt; tr &gt; th.danger,
.table &gt; tfoot &gt; tr &gt; th.danger,
.table &gt; thead &gt; tr.danger &gt; td,
.table &gt; tbody &gt; tr.danger &gt; td,
.table &gt; tfoot &gt; tr.danger &gt; td,
.table &gt; thead &gt; tr.danger &gt; th,
.table &gt; tbody &gt; tr.danger &gt; th,
.table &gt; tfoot &gt; tr.danger &gt; th {
  background-color: #f2dede;
}
.table-hover &gt; tbody &gt; tr &gt; td.danger:hover,
.table-hover &gt; tbody &gt; tr &gt; th.danger:hover,
.table-hover &gt; tbody &gt; tr.danger:hover &gt; td,
.table-hover &gt; tbody &gt; tr:hover &gt; .danger,
.table-hover &gt; tbody &gt; tr.danger:hover &gt; th {
  background-color: #ebcccc;
}
.table-responsive {
  overflow-x: auto;
  min-height: 0.01%;
}
@media screen and (max-width: 767px) {
  .table-responsive {
    width: 100%;
    margin-bottom: 13.5px;
    overflow-y: hidden;
    -ms-overflow-style: -ms-autohiding-scrollbar;
    border: 1px solid #ddd;
  }
  .table-responsive &gt; .table {
    margin-bottom: 0;
  }
  .table-responsive &gt; .table &gt; thead &gt; tr &gt; th,
  .table-responsive &gt; .table &gt; tbody &gt; tr &gt; th,
  .table-responsive &gt; .table &gt; tfoot &gt; tr &gt; th,
  .table-responsive &gt; .table &gt; thead &gt; tr &gt; td,
  .table-responsive &gt; .table &gt; tbody &gt; tr &gt; td,
  .table-responsive &gt; .table &gt; tfoot &gt; tr &gt; td {
    white-space: nowrap;
  }
  .table-responsive &gt; .table-bordered {
    border: 0;
  }
  .table-responsive &gt; .table-bordered &gt; thead &gt; tr &gt; th:first-child,
  .table-responsive &gt; .table-bordered &gt; tbody &gt; tr &gt; th:first-child,
  .table-responsive &gt; .table-bordered &gt; tfoot &gt; tr &gt; th:first-child,
  .table-responsive &gt; .table-bordered &gt; thead &gt; tr &gt; td:first-child,
  .table-responsive &gt; .table-bordered &gt; tbody &gt; tr &gt; td:first-child,
  .table-responsive &gt; .table-bordered &gt; tfoot &gt; tr &gt; td:first-child {
    border-left: 0;
  }
  .table-responsive &gt; .table-bordered &gt; thead &gt; tr &gt; th:last-child,
  .table-responsive &gt; .table-bordered &gt; tbody &gt; tr &gt; th:last-child,
  .table-responsive &gt; .table-bordered &gt; tfoot &gt; tr &gt; th:last-child,
  .table-responsive &gt; .table-bordered &gt; thead &gt; tr &gt; td:last-child,
  .table-responsive &gt; .table-bordered &gt; tbody &gt; tr &gt; td:last-child,
  .table-responsive &gt; .table-bordered &gt; tfoot &gt; tr &gt; td:last-child {
    border-right: 0;
  }
  .table-responsive &gt; .table-bordered &gt; tbody &gt; tr:last-child &gt; th,
  .table-responsive &gt; .table-bordered &gt; tfoot &gt; tr:last-child &gt; th,
  .table-responsive &gt; .table-bordered &gt; tbody &gt; tr:last-child &gt; td,
  .table-responsive &gt; .table-bordered &gt; tfoot &gt; tr:last-child &gt; td {
    border-bottom: 0;
  }
}
fieldset {
  padding: 0;
  margin: 0;
  border: 0;
  min-width: 0;
}
legend {
  display: block;
  width: 100%;
  padding: 0;
  margin-bottom: 18px;
  font-size: 19.5px;
  line-height: inherit;
  color: #333333;
  border: 0;
  border-bottom: 1px solid #e5e5e5;
}
label {
  display: inline-block;
  max-width: 100%;
  margin-bottom: 5px;
  font-weight: bold;
}
input[type=&quot;search&quot;] {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
input[type=&quot;radio&quot;],
input[type=&quot;checkbox&quot;] {
  margin: 4px 0 0;
  margin-top: 1px \9;
  line-height: normal;
}
input[type=&quot;file&quot;] {
  display: block;
}
input[type=&quot;range&quot;] {
  display: block;
  width: 100%;
}
select[multiple],
select[size] {
  height: auto;
}
input[type=&quot;file&quot;]:focus,
input[type=&quot;radio&quot;]:focus,
input[type=&quot;checkbox&quot;]:focus {
  outline: 5px auto -webkit-focus-ring-color;
  outline-offset: -2px;
}
output {
  display: block;
  padding-top: 7px;
  font-size: 13px;
  line-height: 1.42857143;
  color: #555555;
}
.form-control {
  display: block;
  width: 100%;
  height: 32px;
  padding: 6px 12px;
  font-size: 13px;
  line-height: 1.42857143;
  color: #555555;
  background-color: #fff;
  background-image: none;
  border: 1px solid #ccc;
  border-radius: 2px;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
  -webkit-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
  -o-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
  transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
}
.form-control:focus {
  border-color: #66afe9;
  outline: 0;
  -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6);
  box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6);
}
.form-control::-moz-placeholder {
  color: #999;
  opacity: 1;
}
.form-control:-ms-input-placeholder {
  color: #999;
}
.form-control::-webkit-input-placeholder {
  color: #999;
}
.form-control::-ms-expand {
  border: 0;
  background-color: transparent;
}
.form-control[disabled],
.form-control[readonly],
fieldset[disabled] .form-control {
  background-color: #eeeeee;
  opacity: 1;
}
.form-control[disabled],
fieldset[disabled] .form-control {
  cursor: not-allowed;
}
textarea.form-control {
  height: auto;
}
input[type=&quot;search&quot;] {
  -webkit-appearance: none;
}
@media screen and (-webkit-min-device-pixel-ratio: 0) {
  input[type=&quot;date&quot;].form-control,
  input[type=&quot;time&quot;].form-control,
  input[type=&quot;datetime-local&quot;].form-control,
  input[type=&quot;month&quot;].form-control {
    line-height: 32px;
  }
  input[type=&quot;date&quot;].input-sm,
  input[type=&quot;time&quot;].input-sm,
  input[type=&quot;datetime-local&quot;].input-sm,
  input[type=&quot;month&quot;].input-sm,
  .input-group-sm input[type=&quot;date&quot;],
  .input-group-sm input[type=&quot;time&quot;],
  .input-group-sm input[type=&quot;datetime-local&quot;],
  .input-group-sm input[type=&quot;month&quot;] {
    line-height: 30px;
  }
  input[type=&quot;date&quot;].input-lg,
  input[type=&quot;time&quot;].input-lg,
  input[type=&quot;datetime-local&quot;].input-lg,
  input[type=&quot;month&quot;].input-lg,
  .input-group-lg input[type=&quot;date&quot;],
  .input-group-lg input[type=&quot;time&quot;],
  .input-group-lg input[type=&quot;datetime-local&quot;],
  .input-group-lg input[type=&quot;month&quot;] {
    line-height: 45px;
  }
}
.form-group {
  margin-bottom: 15px;
}
.radio,
.checkbox {
  position: relative;
  display: block;
  margin-top: 10px;
  margin-bottom: 10px;
}
.radio label,
.checkbox label {
  min-height: 18px;
  padding-left: 20px;
  margin-bottom: 0;
  font-weight: normal;
  cursor: pointer;
}
.radio input[type=&quot;radio&quot;],
.radio-inline input[type=&quot;radio&quot;],
.checkbox input[type=&quot;checkbox&quot;],
.checkbox-inline input[type=&quot;checkbox&quot;] {
  position: absolute;
  margin-left: -20px;
  margin-top: 4px \9;
}
.radio + .radio,
.checkbox + .checkbox {
  margin-top: -5px;
}
.radio-inline,
.checkbox-inline {
  position: relative;
  display: inline-block;
  padding-left: 20px;
  margin-bottom: 0;
  vertical-align: middle;
  font-weight: normal;
  cursor: pointer;
}
.radio-inline + .radio-inline,
.checkbox-inline + .checkbox-inline {
  margin-top: 0;
  margin-left: 10px;
}
input[type=&quot;radio&quot;][disabled],
input[type=&quot;checkbox&quot;][disabled],
input[type=&quot;radio&quot;].disabled,
input[type=&quot;checkbox&quot;].disabled,
fieldset[disabled] input[type=&quot;radio&quot;],
fieldset[disabled] input[type=&quot;checkbox&quot;] {
  cursor: not-allowed;
}
.radio-inline.disabled,
.checkbox-inline.disabled,
fieldset[disabled] .radio-inline,
fieldset[disabled] .checkbox-inline {
  cursor: not-allowed;
}
.radio.disabled label,
.checkbox.disabled label,
fieldset[disabled] .radio label,
fieldset[disabled] .checkbox label {
  cursor: not-allowed;
}
.form-control-static {
  padding-top: 7px;
  padding-bottom: 7px;
  margin-bottom: 0;
  min-height: 31px;
}
.form-control-static.input-lg,
.form-control-static.input-sm {
  padding-left: 0;
  padding-right: 0;
}
.input-sm {
  height: 30px;
  padding: 5px 10px;
  font-size: 12px;
  line-height: 1.5;
  border-radius: 1px;
}
select.input-sm {
  height: 30px;
  line-height: 30px;
}
textarea.input-sm,
select[multiple].input-sm {
  height: auto;
}
.form-group-sm .form-control {
  height: 30px;
  padding: 5px 10px;
  font-size: 12px;
  line-height: 1.5;
  border-radius: 1px;
}
.form-group-sm select.form-control {
  height: 30px;
  line-height: 30px;
}
.form-group-sm textarea.form-control,
.form-group-sm select[multiple].form-control {
  height: auto;
}
.form-group-sm .form-control-static {
  height: 30px;
  min-height: 30px;
  padding: 6px 10px;
  font-size: 12px;
  line-height: 1.5;
}
.input-lg {
  height: 45px;
  padding: 10px 16px;
  font-size: 17px;
  line-height: 1.3333333;
  border-radius: 3px;
}
select.input-lg {
  height: 45px;
  line-height: 45px;
}
textarea.input-lg,
select[multiple].input-lg {
  height: auto;
}
.form-group-lg .form-control {
  height: 45px;
  padding: 10px 16px;
  font-size: 17px;
  line-height: 1.3333333;
  border-radius: 3px;
}
.form-group-lg select.form-control {
  height: 45px;
  line-height: 45px;
}
.form-group-lg textarea.form-control,
.form-group-lg select[multiple].form-control {
  height: auto;
}
.form-group-lg .form-control-static {
  height: 45px;
  min-height: 35px;
  padding: 11px 16px;
  font-size: 17px;
  line-height: 1.3333333;
}
.has-feedback {
  position: relative;
}
.has-feedback .form-control {
  padding-right: 40px;
}
.form-control-feedback {
  position: absolute;
  top: 0;
  right: 0;
  z-index: 2;
  display: block;
  width: 32px;
  height: 32px;
  line-height: 32px;
  text-align: center;
  pointer-events: none;
}
.input-lg + .form-control-feedback,
.input-group-lg + .form-control-feedback,
.form-group-lg .form-control + .form-control-feedback {
  width: 45px;
  height: 45px;
  line-height: 45px;
}
.input-sm + .form-control-feedback,
.input-group-sm + .form-control-feedback,
.form-group-sm .form-control + .form-control-feedback {
  width: 30px;
  height: 30px;
  line-height: 30px;
}
.has-success .help-block,
.has-success .control-label,
.has-success .radio,
.has-success .checkbox,
.has-success .radio-inline,
.has-success .checkbox-inline,
.has-success.radio label,
.has-success.checkbox label,
.has-success.radio-inline label,
.has-success.checkbox-inline label {
  color: #3c763d;
}
.has-success .form-control {
  border-color: #3c763d;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
}
.has-success .form-control:focus {
  border-color: #2b542c;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #67b168;
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #67b168;
}
.has-success .input-group-addon {
  color: #3c763d;
  border-color: #3c763d;
  background-color: #dff0d8;
}
.has-success .form-control-feedback {
  color: #3c763d;
}
.has-warning .help-block,
.has-warning .control-label,
.has-warning .radio,
.has-warning .checkbox,
.has-warning .radio-inline,
.has-warning .checkbox-inline,
.has-warning.radio label,
.has-warning.checkbox label,
.has-warning.radio-inline label,
.has-warning.checkbox-inline label {
  color: #8a6d3b;
}
.has-warning .form-control {
  border-color: #8a6d3b;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
}
.has-warning .form-control:focus {
  border-color: #66512c;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #c0a16b;
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #c0a16b;
}
.has-warning .input-group-addon {
  color: #8a6d3b;
  border-color: #8a6d3b;
  background-color: #fcf8e3;
}
.has-warning .form-control-feedback {
  color: #8a6d3b;
}
.has-error .help-block,
.has-error .control-label,
.has-error .radio,
.has-error .checkbox,
.has-error .radio-inline,
.has-error .checkbox-inline,
.has-error.radio label,
.has-error.checkbox label,
.has-error.radio-inline label,
.has-error.checkbox-inline label {
  color: #a94442;
}
.has-error .form-control {
  border-color: #a94442;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
}
.has-error .form-control:focus {
  border-color: #843534;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ce8483;
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ce8483;
}
.has-error .input-group-addon {
  color: #a94442;
  border-color: #a94442;
  background-color: #f2dede;
}
.has-error .form-control-feedback {
  color: #a94442;
}
.has-feedback label ~ .form-control-feedback {
  top: 23px;
}
.has-feedback label.sr-only ~ .form-control-feedback {
  top: 0;
}
.help-block {
  display: block;
  margin-top: 5px;
  margin-bottom: 10px;
  color: #404040;
}
@media (min-width: 768px) {
  .form-inline .form-group {
    display: inline-block;
    margin-bottom: 0;
    vertical-align: middle;
  }
  .form-inline .form-control {
    display: inline-block;
    width: auto;
    vertical-align: middle;
  }
  .form-inline .form-control-static {
    display: inline-block;
  }
  .form-inline .input-group {
    display: inline-table;
    vertical-align: middle;
  }
  .form-inline .input-group .input-group-addon,
  .form-inline .input-group .input-group-btn,
  .form-inline .input-group .form-control {
    width: auto;
  }
  .form-inline .input-group &gt; .form-control {
    width: 100%;
  }
  .form-inline .control-label {
    margin-bottom: 0;
    vertical-align: middle;
  }
  .form-inline .radio,
  .form-inline .checkbox {
    display: inline-block;
    margin-top: 0;
    margin-bottom: 0;
    vertical-align: middle;
  }
  .form-inline .radio label,
  .form-inline .checkbox label {
    padding-left: 0;
  }
  .form-inline .radio input[type=&quot;radio&quot;],
  .form-inline .checkbox input[type=&quot;checkbox&quot;] {
    position: relative;
    margin-left: 0;
  }
  .form-inline .has-feedback .form-control-feedback {
    top: 0;
  }
}
.form-horizontal .radio,
.form-horizontal .checkbox,
.form-horizontal .radio-inline,
.form-horizontal .checkbox-inline {
  margin-top: 0;
  margin-bottom: 0;
  padding-top: 7px;
}
.form-horizontal .radio,
.form-horizontal .checkbox {
  min-height: 25px;
}
.form-horizontal .form-group {
  margin-left: 0px;
  margin-right: 0px;
}
@media (min-width: 768px) {
  .form-horizontal .control-label {
    text-align: right;
    margin-bottom: 0;
    padding-top: 7px;
  }
}
.form-horizontal .has-feedback .form-control-feedback {
  right: 0px;
}
@media (min-width: 768px) {
  .form-horizontal .form-group-lg .control-label {
    padding-top: 11px;
    font-size: 17px;
  }
}
@media (min-width: 768px) {
  .form-horizontal .form-group-sm .control-label {
    padding-top: 6px;
    font-size: 12px;
  }
}
.btn {
  display: inline-block;
  margin-bottom: 0;
  font-weight: normal;
  text-align: center;
  vertical-align: middle;
  touch-action: manipulation;
  cursor: pointer;
  background-image: none;
  border: 1px solid transparent;
  white-space: nowrap;
  padding: 6px 12px;
  font-size: 13px;
  line-height: 1.42857143;
  border-radius: 2px;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}
.btn:focus,
.btn:active:focus,
.btn.active:focus,
.btn.focus,
.btn:active.focus,
.btn.active.focus {
  outline: 5px auto -webkit-focus-ring-color;
  outline-offset: -2px;
}
.btn:hover,
.btn:focus,
.btn.focus {
  color: #333;
  text-decoration: none;
}
.btn:active,
.btn.active {
  outline: 0;
  background-image: none;
  -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
}
.btn.disabled,
.btn[disabled],
fieldset[disabled] .btn {
  cursor: not-allowed;
  opacity: 0.65;
  filter: alpha(opacity=65);
  -webkit-box-shadow: none;
  box-shadow: none;
}
a.btn.disabled,
fieldset[disabled] a.btn {
  pointer-events: none;
}
.btn-default {
  color: #333;
  background-color: #fff;
  border-color: #ccc;
}
.btn-default:focus,
.btn-default.focus {
  color: #333;
  background-color: #e6e6e6;
  border-color: #8c8c8c;
}
.btn-default:hover {
  color: #333;
  background-color: #e6e6e6;
  border-color: #adadad;
}
.btn-default:active,
.btn-default.active,
.open &gt; .dropdown-toggle.btn-default {
  color: #333;
  background-color: #e6e6e6;
  border-color: #adadad;
}
.btn-default:active:hover,
.btn-default.active:hover,
.open &gt; .dropdown-toggle.btn-default:hover,
.btn-default:active:focus,
.btn-default.active:focus,
.open &gt; .dropdown-toggle.btn-default:focus,
.btn-default:active.focus,
.btn-default.active.focus,
.open &gt; .dropdown-toggle.btn-default.focus {
  color: #333;
  background-color: #d4d4d4;
  border-color: #8c8c8c;
}
.btn-default:active,
.btn-default.active,
.open &gt; .dropdown-toggle.btn-default {
  background-image: none;
}
.btn-default.disabled:hover,
.btn-default[disabled]:hover,
fieldset[disabled] .btn-default:hover,
.btn-default.disabled:focus,
.btn-default[disabled]:focus,
fieldset[disabled] .btn-default:focus,
.btn-default.disabled.focus,
.btn-default[disabled].focus,
fieldset[disabled] .btn-default.focus {
  background-color: #fff;
  border-color: #ccc;
}
.btn-default .badge {
  color: #fff;
  background-color: #333;
}
.btn-primary {
  color: #fff;
  background-color: #337ab7;
  border-color: #2e6da4;
}
.btn-primary:focus,
.btn-primary.focus {
  color: #fff;
  background-color: #286090;
  border-color: #122b40;
}
.btn-primary:hover {
  color: #fff;
  background-color: #286090;
  border-color: #204d74;
}
.btn-primary:active,
.btn-primary.active,
.open &gt; .dropdown-toggle.btn-primary {
  color: #fff;
  background-color: #286090;
  border-color: #204d74;
}
.btn-primary:active:hover,
.btn-primary.active:hover,
.open &gt; .dropdown-toggle.btn-primary:hover,
.btn-primary:active:focus,
.btn-primary.active:focus,
.open &gt; .dropdown-toggle.btn-primary:focus,
.btn-primary:active.focus,
.btn-primary.active.focus,
.open &gt; .dropdown-toggle.btn-primary.focus {
  color: #fff;
  background-color: #204d74;
  border-color: #122b40;
}
.btn-primary:active,
.btn-primary.active,
.open &gt; .dropdown-toggle.btn-primary {
  background-image: none;
}
.btn-primary.disabled:hover,
.btn-primary[disabled]:hover,
fieldset[disabled] .btn-primary:hover,
.btn-primary.disabled:focus,
.btn-primary[disabled]:focus,
fieldset[disabled] .btn-primary:focus,
.btn-primary.disabled.focus,
.btn-primary[disabled].focus,
fieldset[disabled] .btn-primary.focus {
  background-color: #337ab7;
  border-color: #2e6da4;
}
.btn-primary .badge {
  color: #337ab7;
  background-color: #fff;
}
.btn-success {
  color: #fff;
  background-color: #5cb85c;
  border-color: #4cae4c;
}
.btn-success:focus,
.btn-success.focus {
  color: #fff;
  background-color: #449d44;
  border-color: #255625;
}
.btn-success:hover {
  color: #fff;
  background-color: #449d44;
  border-color: #398439;
}
.btn-success:active,
.btn-success.active,
.open &gt; .dropdown-toggle.btn-success {
  color: #fff;
  background-color: #449d44;
  border-color: #398439;
}
.btn-success:active:hover,
.btn-success.active:hover,
.open &gt; .dropdown-toggle.btn-success:hover,
.btn-success:active:focus,
.btn-success.active:focus,
.open &gt; .dropdown-toggle.btn-success:focus,
.btn-success:active.focus,
.btn-success.active.focus,
.open &gt; .dropdown-toggle.btn-success.focus {
  color: #fff;
  background-color: #398439;
  border-color: #255625;
}
.btn-success:active,
.btn-success.active,
.open &gt; .dropdown-toggle.btn-success {
  background-image: none;
}
.btn-success.disabled:hover,
.btn-success[disabled]:hover,
fieldset[disabled] .btn-success:hover,
.btn-success.disabled:focus,
.btn-success[disabled]:focus,
fieldset[disabled] .btn-success:focus,
.btn-success.disabled.focus,
.btn-success[disabled].focus,
fieldset[disabled] .btn-success.focus {
  background-color: #5cb85c;
  border-color: #4cae4c;
}
.btn-success .badge {
  color: #5cb85c;
  background-color: #fff;
}
.btn-info {
  color: #fff;
  background-color: #5bc0de;
  border-color: #46b8da;
}
.btn-info:focus,
.btn-info.focus {
  color: #fff;
  background-color: #31b0d5;
  border-color: #1b6d85;
}
.btn-info:hover {
  color: #fff;
  background-color: #31b0d5;
  border-color: #269abc;
}
.btn-info:active,
.btn-info.active,
.open &gt; .dropdown-toggle.btn-info {
  color: #fff;
  background-color: #31b0d5;
  border-color: #269abc;
}
.btn-info:active:hover,
.btn-info.active:hover,
.open &gt; .dropdown-toggle.btn-info:hover,
.btn-info:active:focus,
.btn-info.active:focus,
.open &gt; .dropdown-toggle.btn-info:focus,
.btn-info:active.focus,
.btn-info.active.focus,
.open &gt; .dropdown-toggle.btn-info.focus {
  color: #fff;
  background-color: #269abc;
  border-color: #1b6d85;
}
.btn-info:active,
.btn-info.active,
.open &gt; .dropdown-toggle.btn-info {
  background-image: none;
}
.btn-info.disabled:hover,
.btn-info[disabled]:hover,
fieldset[disabled] .btn-info:hover,
.btn-info.disabled:focus,
.btn-info[disabled]:focus,
fieldset[disabled] .btn-info:focus,
.btn-info.disabled.focus,
.btn-info[disabled].focus,
fieldset[disabled] .btn-info.focus {
  background-color: #5bc0de;
  border-color: #46b8da;
}
.btn-info .badge {
  color: #5bc0de;
  background-color: #fff;
}
.btn-warning {
  color: #fff;
  background-color: #f0ad4e;
  border-color: #eea236;
}
.btn-warning:focus,
.btn-warning.focus {
  color: #fff;
  background-color: #ec971f;
  border-color: #985f0d;
}
.btn-warning:hover {
  color: #fff;
  background-color: #ec971f;
  border-color: #d58512;
}
.btn-warning:active,
.btn-warning.active,
.open &gt; .dropdown-toggle.btn-warning {
  color: #fff;
  background-color: #ec971f;
  border-color: #d58512;
}
.btn-warning:active:hover,
.btn-warning.active:hover,
.open &gt; .dropdown-toggle.btn-warning:hover,
.btn-warning:active:focus,
.btn-warning.active:focus,
.open &gt; .dropdown-toggle.btn-warning:focus,
.btn-warning:active.focus,
.btn-warning.active.focus,
.open &gt; .dropdown-toggle.btn-warning.focus {
  color: #fff;
  background-color: #d58512;
  border-color: #985f0d;
}
.btn-warning:active,
.btn-warning.active,
.open &gt; .dropdown-toggle.btn-warning {
  background-image: none;
}
.btn-warning.disabled:hover,
.btn-warning[disabled]:hover,
fieldset[disabled] .btn-warning:hover,
.btn-warning.disabled:focus,
.btn-warning[disabled]:focus,
fieldset[disabled] .btn-warning:focus,
.btn-warning.disabled.focus,
.btn-warning[disabled].focus,
fieldset[disabled] .btn-warning.focus {
  background-color: #f0ad4e;
  border-color: #eea236;
}
.btn-warning .badge {
  color: #f0ad4e;
  background-color: #fff;
}
.btn-danger {
  color: #fff;
  background-color: #d9534f;
  border-color: #d43f3a;
}
.btn-danger:focus,
.btn-danger.focus {
  color: #fff;
  background-color: #c9302c;
  border-color: #761c19;
}
.btn-danger:hover {
  color: #fff;
  background-color: #c9302c;
  border-color: #ac2925;
}
.btn-danger:active,
.btn-danger.active,
.open &gt; .dropdown-toggle.btn-danger {
  color: #fff;
  background-color: #c9302c;
  border-color: #ac2925;
}
.btn-danger:active:hover,
.btn-danger.active:hover,
.open &gt; .dropdown-toggle.btn-danger:hover,
.btn-danger:active:focus,
.btn-danger.active:focus,
.open &gt; .dropdown-toggle.btn-danger:focus,
.btn-danger:active.focus,
.btn-danger.active.focus,
.open &gt; .dropdown-toggle.btn-danger.focus {
  color: #fff;
  background-color: #ac2925;
  border-color: #761c19;
}
.btn-danger:active,
.btn-danger.active,
.open &gt; .dropdown-toggle.btn-danger {
  background-image: none;
}
.btn-danger.disabled:hover,
.btn-danger[disabled]:hover,
fieldset[disabled] .btn-danger:hover,
.btn-danger.disabled:focus,
.btn-danger[disabled]:focus,
fieldset[disabled] .btn-danger:focus,
.btn-danger.disabled.focus,
.btn-danger[disabled].focus,
fieldset[disabled] .btn-danger.focus {
  background-color: #d9534f;
  border-color: #d43f3a;
}
.btn-danger .badge {
  color: #d9534f;
  background-color: #fff;
}
.btn-link {
  color: #337ab7;
  font-weight: normal;
  border-radius: 0;
}
.btn-link,
.btn-link:active,
.btn-link.active,
.btn-link[disabled],
fieldset[disabled] .btn-link {
  background-color: transparent;
  -webkit-box-shadow: none;
  box-shadow: none;
}
.btn-link,
.btn-link:hover,
.btn-link:focus,
.btn-link:active {
  border-color: transparent;
}
.btn-link:hover,
.btn-link:focus {
  color: #23527c;
  text-decoration: underline;
  background-color: transparent;
}
.btn-link[disabled]:hover,
fieldset[disabled] .btn-link:hover,
.btn-link[disabled]:focus,
fieldset[disabled] .btn-link:focus {
  color: #777777;
  text-decoration: none;
}
.btn-lg,
.btn-group-lg &gt; .btn {
  padding: 10px 16px;
  font-size: 17px;
  line-height: 1.3333333;
  border-radius: 3px;
}
.btn-sm,
.btn-group-sm &gt; .btn {
  padding: 5px 10px;
  font-size: 12px;
  line-height: 1.5;
  border-radius: 1px;
}
.btn-xs,
.btn-group-xs &gt; .btn {
  padding: 1px 5px;
  font-size: 12px;
  line-height: 1.5;
  border-radius: 1px;
}
.btn-block {
  display: block;
  width: 100%;
}
.btn-block + .btn-block {
  margin-top: 5px;
}
input[type=&quot;submit&quot;].btn-block,
input[type=&quot;reset&quot;].btn-block,
input[type=&quot;button&quot;].btn-block {
  width: 100%;
}
.fade {
  opacity: 0;
  -webkit-transition: opacity 0.15s linear;
  -o-transition: opacity 0.15s linear;
  transition: opacity 0.15s linear;
}
.fade.in {
  opacity: 1;
}
.collapse {
  display: none;
}
.collapse.in {
  display: block;
}
tr.collapse.in {
  display: table-row;
}
tbody.collapse.in {
  display: table-row-group;
}
.collapsing {
  position: relative;
  height: 0;
  overflow: hidden;
  -webkit-transition-property: height, visibility;
  transition-property: height, visibility;
  -webkit-transition-duration: 0.35s;
  transition-duration: 0.35s;
  -webkit-transition-timing-function: ease;
  transition-timing-function: ease;
}
.caret {
  display: inline-block;
  width: 0;
  height: 0;
  margin-left: 2px;
  vertical-align: middle;
  border-top: 4px dashed;
  border-top: 4px solid \9;
  border-right: 4px solid transparent;
  border-left: 4px solid transparent;
}
.dropup,
.dropdown {
  position: relative;
}
.dropdown-toggle:focus {
  outline: 0;
}
.dropdown-menu {
  position: absolute;
  top: 100%;
  left: 0;
  z-index: 1000;
  display: none;
  float: left;
  min-width: 160px;
  padding: 5px 0;
  margin: 2px 0 0;
  list-style: none;
  font-size: 13px;
  text-align: left;
  background-color: #fff;
  border: 1px solid #ccc;
  border: 1px solid rgba(0, 0, 0, 0.15);
  border-radius: 2px;
  -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);
  box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);
  background-clip: padding-box;
}
.dropdown-menu.pull-right {
  right: 0;
  left: auto;
}
.dropdown-menu .divider {
  height: 1px;
  margin: 8px 0;
  overflow: hidden;
  background-color: #e5e5e5;
}
.dropdown-menu &gt; li &gt; a {
  display: block;
  padding: 3px 20px;
  clear: both;
  font-weight: normal;
  line-height: 1.42857143;
  color: #333333;
  white-space: nowrap;
}
.dropdown-menu &gt; li &gt; a:hover,
.dropdown-menu &gt; li &gt; a:focus {
  text-decoration: none;
  color: #262626;
  background-color: #f5f5f5;
}
.dropdown-menu &gt; .active &gt; a,
.dropdown-menu &gt; .active &gt; a:hover,
.dropdown-menu &gt; .active &gt; a:focus {
  color: #fff;
  text-decoration: none;
  outline: 0;
  background-color: #337ab7;
}
.dropdown-menu &gt; .disabled &gt; a,
.dropdown-menu &gt; .disabled &gt; a:hover,
.dropdown-menu &gt; .disabled &gt; a:focus {
  color: #777777;
}
.dropdown-menu &gt; .disabled &gt; a:hover,
.dropdown-menu &gt; .disabled &gt; a:focus {
  text-decoration: none;
  background-color: transparent;
  background-image: none;
  filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
  cursor: not-allowed;
}
.open &gt; .dropdown-menu {
  display: block;
}
.open &gt; a {
  outline: 0;
}
.dropdown-menu-right {
  left: auto;
  right: 0;
}
.dropdown-menu-left {
  left: 0;
  right: auto;
}
.dropdown-header {
  display: block;
  padding: 3px 20px;
  font-size: 12px;
  line-height: 1.42857143;
  color: #777777;
  white-space: nowrap;
}
.dropdown-backdrop {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  top: 0;
  z-index: 990;
}
.pull-right &gt; .dropdown-menu {
  right: 0;
  left: auto;
}
.dropup .caret,
.navbar-fixed-bottom .dropdown .caret {
  border-top: 0;
  border-bottom: 4px dashed;
  border-bottom: 4px solid \9;
  content: &quot;&quot;;
}
.dropup .dropdown-menu,
.navbar-fixed-bottom .dropdown .dropdown-menu {
  top: auto;
  bottom: 100%;
  margin-bottom: 2px;
}
@media (min-width: 541px) {
  .navbar-right .dropdown-menu {
    left: auto;
    right: 0;
  }
  .navbar-right .dropdown-menu-left {
    left: 0;
    right: auto;
  }
}
.btn-group,
.btn-group-vertical {
  position: relative;
  display: inline-block;
  vertical-align: middle;
}
.btn-group &gt; .btn,
.btn-group-vertical &gt; .btn {
  position: relative;
  float: left;
}
.btn-group &gt; .btn:hover,
.btn-group-vertical &gt; .btn:hover,
.btn-group &gt; .btn:focus,
.btn-group-vertical &gt; .btn:focus,
.btn-group &gt; .btn:active,
.btn-group-vertical &gt; .btn:active,
.btn-group &gt; .btn.active,
.btn-group-vertical &gt; .btn.active {
  z-index: 2;
}
.btn-group .btn + .btn,
.btn-group .btn + .btn-group,
.btn-group .btn-group + .btn,
.btn-group .btn-group + .btn-group {
  margin-left: -1px;
}
.btn-toolbar {
  margin-left: -5px;
}
.btn-toolbar .btn,
.btn-toolbar .btn-group,
.btn-toolbar .input-group {
  float: left;
}
.btn-toolbar &gt; .btn,
.btn-toolbar &gt; .btn-group,
.btn-toolbar &gt; .input-group {
  margin-left: 5px;
}
.btn-group &gt; .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) {
  border-radius: 0;
}
.btn-group &gt; .btn:first-child {
  margin-left: 0;
}
.btn-group &gt; .btn:first-child:not(:last-child):not(.dropdown-toggle) {
  border-bottom-right-radius: 0;
  border-top-right-radius: 0;
}
.btn-group &gt; .btn:last-child:not(:first-child),
.btn-group &gt; .dropdown-toggle:not(:first-child) {
  border-bottom-left-radius: 0;
  border-top-left-radius: 0;
}
.btn-group &gt; .btn-group {
  float: left;
}
.btn-group &gt; .btn-group:not(:first-child):not(:last-child) &gt; .btn {
  border-radius: 0;
}
.btn-group &gt; .btn-group:first-child:not(:last-child) &gt; .btn:last-child,
.btn-group &gt; .btn-group:first-child:not(:last-child) &gt; .dropdown-toggle {
  border-bottom-right-radius: 0;
  border-top-right-radius: 0;
}
.btn-group &gt; .btn-group:last-child:not(:first-child) &gt; .btn:first-child {
  border-bottom-left-radius: 0;
  border-top-left-radius: 0;
}
.btn-group .dropdown-toggle:active,
.btn-group.open .dropdown-toggle {
  outline: 0;
}
.btn-group &gt; .btn + .dropdown-toggle {
  padding-left: 8px;
  padding-right: 8px;
}
.btn-group &gt; .btn-lg + .dropdown-toggle {
  padding-left: 12px;
  padding-right: 12px;
}
.btn-group.open .dropdown-toggle {
  -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
}
.btn-group.open .dropdown-toggle.btn-link {
  -webkit-box-shadow: none;
  box-shadow: none;
}
.btn .caret {
  margin-left: 0;
}
.btn-lg .caret {
  border-width: 5px 5px 0;
  border-bottom-width: 0;
}
.dropup .btn-lg .caret {
  border-width: 0 5px 5px;
}
.btn-group-vertical &gt; .btn,
.btn-group-vertical &gt; .btn-group,
.btn-group-vertical &gt; .btn-group &gt; .btn {
  display: block;
  float: none;
  width: 100%;
  max-width: 100%;
}
.btn-group-vertical &gt; .btn-group &gt; .btn {
  float: none;
}
.btn-group-vertical &gt; .btn + .btn,
.btn-group-vertical &gt; .btn + .btn-group,
.btn-group-vertical &gt; .btn-group + .btn,
.btn-group-vertical &gt; .btn-group + .btn-group {
  margin-top: -1px;
  margin-left: 0;
}
.btn-group-vertical &gt; .btn:not(:first-child):not(:last-child) {
  border-radius: 0;
}
.btn-group-vertical &gt; .btn:first-child:not(:last-child) {
  border-top-right-radius: 2px;
  border-top-left-radius: 2px;
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
}
.btn-group-vertical &gt; .btn:last-child:not(:first-child) {
  border-top-right-radius: 0;
  border-top-left-radius: 0;
  border-bottom-right-radius: 2px;
  border-bottom-left-radius: 2px;
}
.btn-group-vertical &gt; .btn-group:not(:first-child):not(:last-child) &gt; .btn {
  border-radius: 0;
}
.btn-group-vertical &gt; .btn-group:first-child:not(:last-child) &gt; .btn:last-child,
.btn-group-vertical &gt; .btn-group:first-child:not(:last-child) &gt; .dropdown-toggle {
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
}
.btn-group-vertical &gt; .btn-group:last-child:not(:first-child) &gt; .btn:first-child {
  border-top-right-radius: 0;
  border-top-left-radius: 0;
}
.btn-group-justified {
  display: table;
  width: 100%;
  table-layout: fixed;
  border-collapse: separate;
}
.btn-group-justified &gt; .btn,
.btn-group-justified &gt; .btn-group {
  float: none;
  display: table-cell;
  width: 1%;
}
.btn-group-justified &gt; .btn-group .btn {
  width: 100%;
}
.btn-group-justified &gt; .btn-group .dropdown-menu {
  left: auto;
}
[data-toggle=&quot;buttons&quot;] &gt; .btn input[type=&quot;radio&quot;],
[data-toggle=&quot;buttons&quot;] &gt; .btn-group &gt; .btn input[type=&quot;radio&quot;],
[data-toggle=&quot;buttons&quot;] &gt; .btn input[type=&quot;checkbox&quot;],
[data-toggle=&quot;buttons&quot;] &gt; .btn-group &gt; .btn input[type=&quot;checkbox&quot;] {
  position: absolute;
  clip: rect(0, 0, 0, 0);
  pointer-events: none;
}
.input-group {
  position: relative;
  display: table;
  border-collapse: separate;
}
.input-group[class*=&quot;col-&quot;] {
  float: none;
  padding-left: 0;
  padding-right: 0;
}
.input-group .form-control {
  position: relative;
  z-index: 2;
  float: left;
  width: 100%;
  margin-bottom: 0;
}
.input-group .form-control:focus {
  z-index: 3;
}
.input-group-lg &gt; .form-control,
.input-group-lg &gt; .input-group-addon,
.input-group-lg &gt; .input-group-btn &gt; .btn {
  height: 45px;
  padding: 10px 16px;
  font-size: 17px;
  line-height: 1.3333333;
  border-radius: 3px;
}
select.input-group-lg &gt; .form-control,
select.input-group-lg &gt; .input-group-addon,
select.input-group-lg &gt; .input-group-btn &gt; .btn {
  height: 45px;
  line-height: 45px;
}
textarea.input-group-lg &gt; .form-control,
textarea.input-group-lg &gt; .input-group-addon,
textarea.input-group-lg &gt; .input-group-btn &gt; .btn,
select[multiple].input-group-lg &gt; .form-control,
select[multiple].input-group-lg &gt; .input-group-addon,
select[multiple].input-group-lg &gt; .input-group-btn &gt; .btn {
  height: auto;
}
.input-group-sm &gt; .form-control,
.input-group-sm &gt; .input-group-addon,
.input-group-sm &gt; .input-group-btn &gt; .btn {
  height: 30px;
  padding: 5px 10px;
  font-size: 12px;
  line-height: 1.5;
  border-radius: 1px;
}
select.input-group-sm &gt; .form-control,
select.input-group-sm &gt; .input-group-addon,
select.input-group-sm &gt; .input-group-btn &gt; .btn {
  height: 30px;
  line-height: 30px;
}
textarea.input-group-sm &gt; .form-control,
textarea.input-group-sm &gt; .input-group-addon,
textarea.input-group-sm &gt; .input-group-btn &gt; .btn,
select[multiple].input-group-sm &gt; .form-control,
select[multiple].input-group-sm &gt; .input-group-addon,
select[multiple].input-group-sm &gt; .input-group-btn &gt; .btn {
  height: auto;
}
.input-group-addon,
.input-group-btn,
.input-group .form-control {
  display: table-cell;
}
.input-group-addon:not(:first-child):not(:last-child),
.input-group-btn:not(:first-child):not(:last-child),
.input-group .form-control:not(:first-child):not(:last-child) {
  border-radius: 0;
}
.input-group-addon,
.input-group-btn {
  width: 1%;
  white-space: nowrap;
  vertical-align: middle;
}
.input-group-addon {
  padding: 6px 12px;
  font-size: 13px;
  font-weight: normal;
  line-height: 1;
  color: #555555;
  text-align: center;
  background-color: #eeeeee;
  border: 1px solid #ccc;
  border-radius: 2px;
}
.input-group-addon.input-sm {
  padding: 5px 10px;
  font-size: 12px;
  border-radius: 1px;
}
.input-group-addon.input-lg {
  padding: 10px 16px;
  font-size: 17px;
  border-radius: 3px;
}
.input-group-addon input[type=&quot;radio&quot;],
.input-group-addon input[type=&quot;checkbox&quot;] {
  margin-top: 0;
}
.input-group .form-control:first-child,
.input-group-addon:first-child,
.input-group-btn:first-child &gt; .btn,
.input-group-btn:first-child &gt; .btn-group &gt; .btn,
.input-group-btn:first-child &gt; .dropdown-toggle,
.input-group-btn:last-child &gt; .btn:not(:last-child):not(.dropdown-toggle),
.input-group-btn:last-child &gt; .btn-group:not(:last-child) &gt; .btn {
  border-bottom-right-radius: 0;
  border-top-right-radius: 0;
}
.input-group-addon:first-child {
  border-right: 0;
}
.input-group .form-control:last-child,
.input-group-addon:last-child,
.input-group-btn:last-child &gt; .btn,
.input-group-btn:last-child &gt; .btn-group &gt; .btn,
.input-group-btn:last-child &gt; .dropdown-toggle,
.input-group-btn:first-child &gt; .btn:not(:first-child),
.input-group-btn:first-child &gt; .btn-group:not(:first-child) &gt; .btn {
  border-bottom-left-radius: 0;
  border-top-left-radius: 0;
}
.input-group-addon:last-child {
  border-left: 0;
}
.input-group-btn {
  position: relative;
  font-size: 0;
  white-space: nowrap;
}
.input-group-btn &gt; .btn {
  position: relative;
}
.input-group-btn &gt; .btn + .btn {
  margin-left: -1px;
}
.input-group-btn &gt; .btn:hover,
.input-group-btn &gt; .btn:focus,
.input-group-btn &gt; .btn:active {
  z-index: 2;
}
.input-group-btn:first-child &gt; .btn,
.input-group-btn:first-child &gt; .btn-group {
  margin-right: -1px;
}
.input-group-btn:last-child &gt; .btn,
.input-group-btn:last-child &gt; .btn-group {
  z-index: 2;
  margin-left: -1px;
}
.nav {
  margin-bottom: 0;
  padding-left: 0;
  list-style: none;
}
.nav &gt; li {
  position: relative;
  display: block;
}
.nav &gt; li &gt; a {
  position: relative;
  display: block;
  padding: 10px 15px;
}
.nav &gt; li &gt; a:hover,
.nav &gt; li &gt; a:focus {
  text-decoration: none;
  background-color: #eeeeee;
}
.nav &gt; li.disabled &gt; a {
  color: #777777;
}
.nav &gt; li.disabled &gt; a:hover,
.nav &gt; li.disabled &gt; a:focus {
  color: #777777;
  text-decoration: none;
  background-color: transparent;
  cursor: not-allowed;
}
.nav .open &gt; a,
.nav .open &gt; a:hover,
.nav .open &gt; a:focus {
  background-color: #eeeeee;
  border-color: #337ab7;
}
.nav .nav-divider {
  height: 1px;
  margin: 8px 0;
  overflow: hidden;
  background-color: #e5e5e5;
}
.nav &gt; li &gt; a &gt; img {
  max-width: none;
}
.nav-tabs {
  border-bottom: 1px solid #ddd;
}
.nav-tabs &gt; li {
  float: left;
  margin-bottom: -1px;
}
.nav-tabs &gt; li &gt; a {
  margin-right: 2px;
  line-height: 1.42857143;
  border: 1px solid transparent;
  border-radius: 2px 2px 0 0;
}
.nav-tabs &gt; li &gt; a:hover {
  border-color: #eeeeee #eeeeee #ddd;
}
.nav-tabs &gt; li.active &gt; a,
.nav-tabs &gt; li.active &gt; a:hover,
.nav-tabs &gt; li.active &gt; a:focus {
  color: #555555;
  background-color: #fff;
  border: 1px solid #ddd;
  border-bottom-color: transparent;
  cursor: default;
}
.nav-tabs.nav-justified {
  width: 100%;
  border-bottom: 0;
}
.nav-tabs.nav-justified &gt; li {
  float: none;
}
.nav-tabs.nav-justified &gt; li &gt; a {
  text-align: center;
  margin-bottom: 5px;
}
.nav-tabs.nav-justified &gt; .dropdown .dropdown-menu {
  top: auto;
  left: auto;
}
@media (min-width: 768px) {
  .nav-tabs.nav-justified &gt; li {
    display: table-cell;
    width: 1%;
  }
  .nav-tabs.nav-justified &gt; li &gt; a {
    margin-bottom: 0;
  }
}
.nav-tabs.nav-justified &gt; li &gt; a {
  margin-right: 0;
  border-radius: 2px;
}
.nav-tabs.nav-justified &gt; .active &gt; a,
.nav-tabs.nav-justified &gt; .active &gt; a:hover,
.nav-tabs.nav-justified &gt; .active &gt; a:focus {
  border: 1px solid #ddd;
}
@media (min-width: 768px) {
  .nav-tabs.nav-justified &gt; li &gt; a {
    border-bottom: 1px solid #ddd;
    border-radius: 2px 2px 0 0;
  }
  .nav-tabs.nav-justified &gt; .active &gt; a,
  .nav-tabs.nav-justified &gt; .active &gt; a:hover,
  .nav-tabs.nav-justified &gt; .active &gt; a:focus {
    border-bottom-color: #fff;
  }
}
.nav-pills &gt; li {
  float: left;
}
.nav-pills &gt; li &gt; a {
  border-radius: 2px;
}
.nav-pills &gt; li + li {
  margin-left: 2px;
}
.nav-pills &gt; li.active &gt; a,
.nav-pills &gt; li.active &gt; a:hover,
.nav-pills &gt; li.active &gt; a:focus {
  color: #fff;
  background-color: #337ab7;
}
.nav-stacked &gt; li {
  float: none;
}
.nav-stacked &gt; li + li {
  margin-top: 2px;
  margin-left: 0;
}
.nav-justified {
  width: 100%;
}
.nav-justified &gt; li {
  float: none;
}
.nav-justified &gt; li &gt; a {
  text-align: center;
  margin-bottom: 5px;
}
.nav-justified &gt; .dropdown .dropdown-menu {
  top: auto;
  left: auto;
}
@media (min-width: 768px) {
  .nav-justified &gt; li {
    display: table-cell;
    width: 1%;
  }
  .nav-justified &gt; li &gt; a {
    margin-bottom: 0;
  }
}
.nav-tabs-justified {
  border-bottom: 0;
}
.nav-tabs-justified &gt; li &gt; a {
  margin-right: 0;
  border-radius: 2px;
}
.nav-tabs-justified &gt; .active &gt; a,
.nav-tabs-justified &gt; .active &gt; a:hover,
.nav-tabs-justified &gt; .active &gt; a:focus {
  border: 1px solid #ddd;
}
@media (min-width: 768px) {
  .nav-tabs-justified &gt; li &gt; a {
    border-bottom: 1px solid #ddd;
    border-radius: 2px 2px 0 0;
  }
  .nav-tabs-justified &gt; .active &gt; a,
  .nav-tabs-justified &gt; .active &gt; a:hover,
  .nav-tabs-justified &gt; .active &gt; a:focus {
    border-bottom-color: #fff;
  }
}
.tab-content &gt; .tab-pane {
  display: none;
}
.tab-content &gt; .active {
  display: block;
}
.nav-tabs .dropdown-menu {
  margin-top: -1px;
  border-top-right-radius: 0;
  border-top-left-radius: 0;
}
.navbar {
  position: relative;
  min-height: 30px;
  margin-bottom: 18px;
  border: 1px solid transparent;
}
@media (min-width: 541px) {
  .navbar {
    border-radius: 2px;
  }
}
@media (min-width: 541px) {
  .navbar-header {
    float: left;
  }
}
.navbar-collapse {
  overflow-x: visible;
  padding-right: 0px;
  padding-left: 0px;
  border-top: 1px solid transparent;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1);
  -webkit-overflow-scrolling: touch;
}
.navbar-collapse.in {
  overflow-y: auto;
}
@media (min-width: 541px) {
  .navbar-collapse {
    width: auto;
    border-top: 0;
    box-shadow: none;
  }
  .navbar-collapse.collapse {
    display: block !important;
    height: auto !important;
    padding-bottom: 0;
    overflow: visible !important;
  }
  .navbar-collapse.in {
    overflow-y: visible;
  }
  .navbar-fixed-top .navbar-collapse,
  .navbar-static-top .navbar-collapse,
  .navbar-fixed-bottom .navbar-collapse {
    padding-left: 0;
    padding-right: 0;
  }
}
.navbar-fixed-top .navbar-collapse,
.navbar-fixed-bottom .navbar-collapse {
  max-height: 340px;
}
@media (max-device-width: 540px) and (orientation: landscape) {
  .navbar-fixed-top .navbar-collapse,
  .navbar-fixed-bottom .navbar-collapse {
    max-height: 200px;
  }
}
.container &gt; .navbar-header,
.container-fluid &gt; .navbar-header,
.container &gt; .navbar-collapse,
.container-fluid &gt; .navbar-collapse {
  margin-right: 0px;
  margin-left: 0px;
}
@media (min-width: 541px) {
  .container &gt; .navbar-header,
  .container-fluid &gt; .navbar-header,
  .container &gt; .navbar-collapse,
  .container-fluid &gt; .navbar-collapse {
    margin-right: 0;
    margin-left: 0;
  }
}
.navbar-static-top {
  z-index: 1000;
  border-width: 0 0 1px;
}
@media (min-width: 541px) {
  .navbar-static-top {
    border-radius: 0;
  }
}
.navbar-fixed-top,
.navbar-fixed-bottom {
  position: fixed;
  right: 0;
  left: 0;
  z-index: 1030;
}
@media (min-width: 541px) {
  .navbar-fixed-top,
  .navbar-fixed-bottom {
    border-radius: 0;
  }
}
.navbar-fixed-top {
  top: 0;
  border-width: 0 0 1px;
}
.navbar-fixed-bottom {
  bottom: 0;
  margin-bottom: 0;
  border-width: 1px 0 0;
}
.navbar-brand {
  float: left;
  padding: 6px 0px;
  font-size: 17px;
  line-height: 18px;
  height: 30px;
}
.navbar-brand:hover,
.navbar-brand:focus {
  text-decoration: none;
}
.navbar-brand &gt; img {
  display: block;
}
@media (min-width: 541px) {
  .navbar &gt; .container .navbar-brand,
  .navbar &gt; .container-fluid .navbar-brand {
    margin-left: 0px;
  }
}
.navbar-toggle {
  position: relative;
  float: right;
  margin-right: 0px;
  padding: 9px 10px;
  margin-top: -2px;
  margin-bottom: -2px;
  background-color: transparent;
  background-image: none;
  border: 1px solid transparent;
  border-radius: 2px;
}
.navbar-toggle:focus {
  outline: 0;
}
.navbar-toggle .icon-bar {
  display: block;
  width: 22px;
  height: 2px;
  border-radius: 1px;
}
.navbar-toggle .icon-bar + .icon-bar {
  margin-top: 4px;
}
@media (min-width: 541px) {
  .navbar-toggle {
    display: none;
  }
}
.navbar-nav {
  margin: 3px 0px;
}
.navbar-nav &gt; li &gt; a {
  padding-top: 10px;
  padding-bottom: 10px;
  line-height: 18px;
}
@media (max-width: 540px) {
  .navbar-nav .open .dropdown-menu {
    position: static;
    float: none;
    width: auto;
    margin-top: 0;
    background-color: transparent;
    border: 0;
    box-shadow: none;
  }
  .navbar-nav .open .dropdown-menu &gt; li &gt; a,
  .navbar-nav .open .dropdown-menu .dropdown-header {
    padding: 5px 15px 5px 25px;
  }
  .navbar-nav .open .dropdown-menu &gt; li &gt; a {
    line-height: 18px;
  }
  .navbar-nav .open .dropdown-menu &gt; li &gt; a:hover,
  .navbar-nav .open .dropdown-menu &gt; li &gt; a:focus {
    background-image: none;
  }
}
@media (min-width: 541px) {
  .navbar-nav {
    float: left;
    margin: 0;
  }
  .navbar-nav &gt; li {
    float: left;
  }
  .navbar-nav &gt; li &gt; a {
    padding-top: 6px;
    padding-bottom: 6px;
  }
}
.navbar-form {
  margin-left: 0px;
  margin-right: 0px;
  padding: 10px 0px;
  border-top: 1px solid transparent;
  border-bottom: 1px solid transparent;
  -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1);
  margin-top: -1px;
  margin-bottom: -1px;
}
@media (min-width: 768px) {
  .navbar-form .form-group {
    display: inline-block;
    margin-bottom: 0;
    vertical-align: middle;
  }
  .navbar-form .form-control {
    display: inline-block;
    width: auto;
    vertical-align: middle;
  }
  .navbar-form .form-control-static {
    display: inline-block;
  }
  .navbar-form .input-group {
    display: inline-table;
    vertical-align: middle;
  }
  .navbar-form .input-group .input-group-addon,
  .navbar-form .input-group .input-group-btn,
  .navbar-form .input-group .form-control {
    width: auto;
  }
  .navbar-form .input-group &gt; .form-control {
    width: 100%;
  }
  .navbar-form .control-label {
    margin-bottom: 0;
    vertical-align: middle;
  }
  .navbar-form .radio,
  .navbar-form .checkbox {
    display: inline-block;
    margin-top: 0;
    margin-bottom: 0;
    vertical-align: middle;
  }
  .navbar-form .radio label,
  .navbar-form .checkbox label {
    padding-left: 0;
  }
  .navbar-form .radio input[type=&quot;radio&quot;],
  .navbar-form .checkbox input[type=&quot;checkbox&quot;] {
    position: relative;
    margin-left: 0;
  }
  .navbar-form .has-feedback .form-control-feedback {
    top: 0;
  }
}
@media (max-width: 540px) {
  .navbar-form .form-group {
    margin-bottom: 5px;
  }
  .navbar-form .form-group:last-child {
    margin-bottom: 0;
  }
}
@media (min-width: 541px) {
  .navbar-form {
    width: auto;
    border: 0;
    margin-left: 0;
    margin-right: 0;
    padding-top: 0;
    padding-bottom: 0;
    -webkit-box-shadow: none;
    box-shadow: none;
  }
}
.navbar-nav &gt; li &gt; .dropdown-menu {
  margin-top: 0;
  border-top-right-radius: 0;
  border-top-left-radius: 0;
}
.navbar-fixed-bottom .navbar-nav &gt; li &gt; .dropdown-menu {
  margin-bottom: 0;
  border-top-right-radius: 2px;
  border-top-left-radius: 2px;
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
}
.navbar-btn {
  margin-top: -1px;
  margin-bottom: -1px;
}
.navbar-btn.btn-sm {
  margin-top: 0px;
  margin-bottom: 0px;
}
.navbar-btn.btn-xs {
  margin-top: 4px;
  margin-bottom: 4px;
}
.navbar-text {
  margin-top: 6px;
  margin-bottom: 6px;
}
@media (min-width: 541px) {
  .navbar-text {
    float: left;
    margin-left: 0px;
    margin-right: 0px;
  }
}
@media (min-width: 541px) {
  .navbar-left {
    float: left !important;
    float: left;
  }
  .navbar-right {
    float: right !important;
    float: right;
    margin-right: 0px;
  }
  .navbar-right ~ .navbar-right {
    margin-right: 0;
  }
}
.navbar-default {
  background-color: #f8f8f8;
  border-color: #e7e7e7;
}
.navbar-default .navbar-brand {
  color: #777;
}
.navbar-default .navbar-brand:hover,
.navbar-default .navbar-brand:focus {
  color: #5e5e5e;
  background-color: transparent;
}
.navbar-default .navbar-text {
  color: #777;
}
.navbar-default .navbar-nav &gt; li &gt; a {
  color: #777;
}
.navbar-default .navbar-nav &gt; li &gt; a:hover,
.navbar-default .navbar-nav &gt; li &gt; a:focus {
  color: #333;
  background-color: transparent;
}
.navbar-default .navbar-nav &gt; .active &gt; a,
.navbar-default .navbar-nav &gt; .active &gt; a:hover,
.navbar-default .navbar-nav &gt; .active &gt; a:focus {
  color: #555;
  background-color: #e7e7e7;
}
.navbar-default .navbar-nav &gt; .disabled &gt; a,
.navbar-default .navbar-nav &gt; .disabled &gt; a:hover,
.navbar-default .navbar-nav &gt; .disabled &gt; a:focus {
  color: #ccc;
  background-color: transparent;
}
.navbar-default .navbar-toggle {
  border-color: #ddd;
}
.navbar-default .navbar-toggle:hover,
.navbar-default .navbar-toggle:focus {
  background-color: #ddd;
}
.navbar-default .navbar-toggle .icon-bar {
  background-color: #888;
}
.navbar-default .navbar-collapse,
.navbar-default .navbar-form {
  border-color: #e7e7e7;
}
.navbar-default .navbar-nav &gt; .open &gt; a,
.navbar-default .navbar-nav &gt; .open &gt; a:hover,
.navbar-default .navbar-nav &gt; .open &gt; a:focus {
  background-color: #e7e7e7;
  color: #555;
}
@media (max-width: 540px) {
  .navbar-default .navbar-nav .open .dropdown-menu &gt; li &gt; a {
    color: #777;
  }
  .navbar-default .navbar-nav .open .dropdown-menu &gt; li &gt; a:hover,
  .navbar-default .navbar-nav .open .dropdown-menu &gt; li &gt; a:focus {
    color: #333;
    background-color: transparent;
  }
  .navbar-default .navbar-nav .open .dropdown-menu &gt; .active &gt; a,
  .navbar-default .navbar-nav .open .dropdown-menu &gt; .active &gt; a:hover,
  .navbar-default .navbar-nav .open .dropdown-menu &gt; .active &gt; a:focus {
    color: #555;
    background-color: #e7e7e7;
  }
  .navbar-default .navbar-nav .open .dropdown-menu &gt; .disabled &gt; a,
  .navbar-default .navbar-nav .open .dropdown-menu &gt; .disabled &gt; a:hover,
  .navbar-default .navbar-nav .open .dropdown-menu &gt; .disabled &gt; a:focus {
    color: #ccc;
    background-color: transparent;
  }
}
.navbar-default .navbar-link {
  color: #777;
}
.navbar-default .navbar-link:hover {
  color: #333;
}
.navbar-default .btn-link {
  color: #777;
}
.navbar-default .btn-link:hover,
.navbar-default .btn-link:focus {
  color: #333;
}
.navbar-default .btn-link[disabled]:hover,
fieldset[disabled] .navbar-default .btn-link:hover,
.navbar-default .btn-link[disabled]:focus,
fieldset[disabled] .navbar-default .btn-link:focus {
  color: #ccc;
}
.navbar-inverse {
  background-color: #222;
  border-color: #080808;
}
.navbar-inverse .navbar-brand {
  color: #9d9d9d;
}
.navbar-inverse .navbar-brand:hover,
.navbar-inverse .navbar-brand:focus {
  color: #fff;
  background-color: transparent;
}
.navbar-inverse .navbar-text {
  color: #9d9d9d;
}
.navbar-inverse .navbar-nav &gt; li &gt; a {
  color: #9d9d9d;
}
.navbar-inverse .navbar-nav &gt; li &gt; a:hover,
.navbar-inverse .navbar-nav &gt; li &gt; a:focus {
  color: #fff;
  background-color: transparent;
}
.navbar-inverse .navbar-nav &gt; .active &gt; a,
.navbar-inverse .navbar-nav &gt; .active &gt; a:hover,
.navbar-inverse .navbar-nav &gt; .active &gt; a:focus {
  color: #fff;
  background-color: #080808;
}
.navbar-inverse .navbar-nav &gt; .disabled &gt; a,
.navbar-inverse .navbar-nav &gt; .disabled &gt; a:hover,
.navbar-inverse .navbar-nav &gt; .disabled &gt; a:focus {
  color: #444;
  background-color: transparent;
}
.navbar-inverse .navbar-toggle {
  border-color: #333;
}
.navbar-inverse .navbar-toggle:hover,
.navbar-inverse .navbar-toggle:focus {
  background-color: #333;
}
.navbar-inverse .navbar-toggle .icon-bar {
  background-color: #fff;
}
.navbar-inverse .navbar-collapse,
.navbar-inverse .navbar-form {
  border-color: #101010;
}
.navbar-inverse .navbar-nav &gt; .open &gt; a,
.navbar-inverse .navbar-nav &gt; .open &gt; a:hover,
.navbar-inverse .navbar-nav &gt; .open &gt; a:focus {
  background-color: #080808;
  color: #fff;
}
@media (max-width: 540px) {
  .navbar-inverse .navbar-nav .open .dropdown-menu &gt; .dropdown-header {
    border-color: #080808;
  }
  .navbar-inverse .navbar-nav .open .dropdown-menu .divider {
    background-color: #080808;
  }
  .navbar-inverse .navbar-nav .open .dropdown-menu &gt; li &gt; a {
    color: #9d9d9d;
  }
  .navbar-inverse .navbar-nav .open .dropdown-menu &gt; li &gt; a:hover,
  .navbar-inverse .navbar-nav .open .dropdown-menu &gt; li &gt; a:focus {
    color: #fff;
    background-color: transparent;
  }
  .navbar-inverse .navbar-nav .open .dropdown-menu &gt; .active &gt; a,
  .navbar-inverse .navbar-nav .open .dropdown-menu &gt; .active &gt; a:hover,
  .navbar-inverse .navbar-nav .open .dropdown-menu &gt; .active &gt; a:focus {
    color: #fff;
    background-color: #080808;
  }
  .navbar-inverse .navbar-nav .open .dropdown-menu &gt; .disabled &gt; a,
  .navbar-inverse .navbar-nav .open .dropdown-menu &gt; .disabled &gt; a:hover,
  .navbar-inverse .navbar-nav .open .dropdown-menu &gt; .disabled &gt; a:focus {
    color: #444;
    background-color: transparent;
  }
}
.navbar-inverse .navbar-link {
  color: #9d9d9d;
}
.navbar-inverse .navbar-link:hover {
  color: #fff;
}
.navbar-inverse .btn-link {
  color: #9d9d9d;
}
.navbar-inverse .btn-link:hover,
.navbar-inverse .btn-link:focus {
  color: #fff;
}
.navbar-inverse .btn-link[disabled]:hover,
fieldset[disabled] .navbar-inverse .btn-link:hover,
.navbar-inverse .btn-link[disabled]:focus,
fieldset[disabled] .navbar-inverse .btn-link:focus {
  color: #444;
}
.breadcrumb {
  padding: 8px 15px;
  margin-bottom: 18px;
  list-style: none;
  background-color: #f5f5f5;
  border-radius: 2px;
}
.breadcrumb &gt; li {
  display: inline-block;
}
.breadcrumb &gt; li + li:before {
  content: &quot;/\00a0&quot;;
  padding: 0 5px;
  color: #5e5e5e;
}
.breadcrumb &gt; .active {
  color: #777777;
}
.pagination {
  display: inline-block;
  padding-left: 0;
  margin: 18px 0;
  border-radius: 2px;
}
.pagination &gt; li {
  display: inline;
}
.pagination &gt; li &gt; a,
.pagination &gt; li &gt; span {
  position: relative;
  float: left;
  padding: 6px 12px;
  line-height: 1.42857143;
  text-decoration: none;
  color: #337ab7;
  background-color: #fff;
  border: 1px solid #ddd;
  margin-left: -1px;
}
.pagination &gt; li:first-child &gt; a,
.pagination &gt; li:first-child &gt; span {
  margin-left: 0;
  border-bottom-left-radius: 2px;
  border-top-left-radius: 2px;
}
.pagination &gt; li:last-child &gt; a,
.pagination &gt; li:last-child &gt; span {
  border-bottom-right-radius: 2px;
  border-top-right-radius: 2px;
}
.pagination &gt; li &gt; a:hover,
.pagination &gt; li &gt; span:hover,
.pagination &gt; li &gt; a:focus,
.pagination &gt; li &gt; span:focus {
  z-index: 2;
  color: #23527c;
  background-color: #eeeeee;
  border-color: #ddd;
}
.pagination &gt; .active &gt; a,
.pagination &gt; .active &gt; span,
.pagination &gt; .active &gt; a:hover,
.pagination &gt; .active &gt; span:hover,
.pagination &gt; .active &gt; a:focus,
.pagination &gt; .active &gt; span:focus {
  z-index: 3;
  color: #fff;
  background-color: #337ab7;
  border-color: #337ab7;
  cursor: default;
}
.pagination &gt; .disabled &gt; span,
.pagination &gt; .disabled &gt; span:hover,
.pagination &gt; .disabled &gt; span:focus,
.pagination &gt; .disabled &gt; a,
.pagination &gt; .disabled &gt; a:hover,
.pagination &gt; .disabled &gt; a:focus {
  color: #777777;
  background-color: #fff;
  border-color: #ddd;
  cursor: not-allowed;
}
.pagination-lg &gt; li &gt; a,
.pagination-lg &gt; li &gt; span {
  padding: 10px 16px;
  font-size: 17px;
  line-height: 1.3333333;
}
.pagination-lg &gt; li:first-child &gt; a,
.pagination-lg &gt; li:first-child &gt; span {
  border-bottom-left-radius: 3px;
  border-top-left-radius: 3px;
}
.pagination-lg &gt; li:last-child &gt; a,
.pagination-lg &gt; li:last-child &gt; span {
  border-bottom-right-radius: 3px;
  border-top-right-radius: 3px;
}
.pagination-sm &gt; li &gt; a,
.pagination-sm &gt; li &gt; span {
  padding: 5px 10px;
  font-size: 12px;
  line-height: 1.5;
}
.pagination-sm &gt; li:first-child &gt; a,
.pagination-sm &gt; li:first-child &gt; span {
  border-bottom-left-radius: 1px;
  border-top-left-radius: 1px;
}
.pagination-sm &gt; li:last-child &gt; a,
.pagination-sm &gt; li:last-child &gt; span {
  border-bottom-right-radius: 1px;
  border-top-right-radius: 1px;
}
.pager {
  padding-left: 0;
  margin: 18px 0;
  list-style: none;
  text-align: center;
}
.pager li {
  display: inline;
}
.pager li &gt; a,
.pager li &gt; span {
  display: inline-block;
  padding: 5px 14px;
  background-color: #fff;
  border: 1px solid #ddd;
  border-radius: 15px;
}
.pager li &gt; a:hover,
.pager li &gt; a:focus {
  text-decoration: none;
  background-color: #eeeeee;
}
.pager .next &gt; a,
.pager .next &gt; span {
  float: right;
}
.pager .previous &gt; a,
.pager .previous &gt; span {
  float: left;
}
.pager .disabled &gt; a,
.pager .disabled &gt; a:hover,
.pager .disabled &gt; a:focus,
.pager .disabled &gt; span {
  color: #777777;
  background-color: #fff;
  cursor: not-allowed;
}
.label {
  display: inline;
  padding: .2em .6em .3em;
  font-size: 75%;
  font-weight: bold;
  line-height: 1;
  color: #fff;
  text-align: center;
  white-space: nowrap;
  vertical-align: baseline;
  border-radius: .25em;
}
a.label:hover,
a.label:focus {
  color: #fff;
  text-decoration: none;
  cursor: pointer;
}
.label:empty {
  display: none;
}
.btn .label {
  position: relative;
  top: -1px;
}
.label-default {
  background-color: #777777;
}
.label-default[href]:hover,
.label-default[href]:focus {
  background-color: #5e5e5e;
}
.label-primary {
  background-color: #337ab7;
}
.label-primary[href]:hover,
.label-primary[href]:focus {
  background-color: #286090;
}
.label-success {
  background-color: #5cb85c;
}
.label-success[href]:hover,
.label-success[href]:focus {
  background-color: #449d44;
}
.label-info {
  background-color: #5bc0de;
}
.label-info[href]:hover,
.label-info[href]:focus {
  background-color: #31b0d5;
}
.label-warning {
  background-color: #f0ad4e;
}
.label-warning[href]:hover,
.label-warning[href]:focus {
  background-color: #ec971f;
}
.label-danger {
  background-color: #d9534f;
}
.label-danger[href]:hover,
.label-danger[href]:focus {
  background-color: #c9302c;
}
.badge {
  display: inline-block;
  min-width: 10px;
  padding: 3px 7px;
  font-size: 12px;
  font-weight: bold;
  color: #fff;
  line-height: 1;
  vertical-align: middle;
  white-space: nowrap;
  text-align: center;
  background-color: #777777;
  border-radius: 10px;
}
.badge:empty {
  display: none;
}
.btn .badge {
  position: relative;
  top: -1px;
}
.btn-xs .badge,
.btn-group-xs &gt; .btn .badge {
  top: 0;
  padding: 1px 5px;
}
a.badge:hover,
a.badge:focus {
  color: #fff;
  text-decoration: none;
  cursor: pointer;
}
.list-group-item.active &gt; .badge,
.nav-pills &gt; .active &gt; a &gt; .badge {
  color: #337ab7;
  background-color: #fff;
}
.list-group-item &gt; .badge {
  float: right;
}
.list-group-item &gt; .badge + .badge {
  margin-right: 5px;
}
.nav-pills &gt; li &gt; a &gt; .badge {
  margin-left: 3px;
}
.jumbotron {
  padding-top: 30px;
  padding-bottom: 30px;
  margin-bottom: 30px;
  color: inherit;
  background-color: #eeeeee;
}
.jumbotron h1,
.jumbotron .h1 {
  color: inherit;
}
.jumbotron p {
  margin-bottom: 15px;
  font-size: 20px;
  font-weight: 200;
}
.jumbotron &gt; hr {
  border-top-color: #d5d5d5;
}
.container .jumbotron,
.container-fluid .jumbotron {
  border-radius: 3px;
  padding-left: 0px;
  padding-right: 0px;
}
.jumbotron .container {
  max-width: 100%;
}
@media screen and (min-width: 768px) {
  .jumbotron {
    padding-top: 48px;
    padding-bottom: 48px;
  }
  .container .jumbotron,
  .container-fluid .jumbotron {
    padding-left: 60px;
    padding-right: 60px;
  }
  .jumbotron h1,
  .jumbotron .h1 {
    font-size: 59px;
  }
}
.thumbnail {
  display: block;
  padding: 4px;
  margin-bottom: 18px;
  line-height: 1.42857143;
  background-color: #fff;
  border: 1px solid #ddd;
  border-radius: 2px;
  -webkit-transition: border 0.2s ease-in-out;
  -o-transition: border 0.2s ease-in-out;
  transition: border 0.2s ease-in-out;
}
.thumbnail &gt; img,
.thumbnail a &gt; img {
  margin-left: auto;
  margin-right: auto;
}
a.thumbnail:hover,
a.thumbnail:focus,
a.thumbnail.active {
  border-color: #337ab7;
}
.thumbnail .caption {
  padding: 9px;
  color: #000;
}
.alert {
  padding: 15px;
  margin-bottom: 18px;
  border: 1px solid transparent;
  border-radius: 2px;
}
.alert h4 {
  margin-top: 0;
  color: inherit;
}
.alert .alert-link {
  font-weight: bold;
}
.alert &gt; p,
.alert &gt; ul {
  margin-bottom: 0;
}
.alert &gt; p + p {
  margin-top: 5px;
}
.alert-dismissable,
.alert-dismissible {
  padding-right: 35px;
}
.alert-dismissable .close,
.alert-dismissible .close {
  position: relative;
  top: -2px;
  right: -21px;
  color: inherit;
}
.alert-success {
  background-color: #dff0d8;
  border-color: #d6e9c6;
  color: #3c763d;
}
.alert-success hr {
  border-top-color: #c9e2b3;
}
.alert-success .alert-link {
  color: #2b542c;
}
.alert-info {
  background-color: #d9edf7;
  border-color: #bce8f1;
  color: #31708f;
}
.alert-info hr {
  border-top-color: #a6e1ec;
}
.alert-info .alert-link {
  color: #245269;
}
.alert-warning {
  background-color: #fcf8e3;
  border-color: #faebcc;
  color: #8a6d3b;
}
.alert-warning hr {
  border-top-color: #f7e1b5;
}
.alert-warning .alert-link {
  color: #66512c;
}
.alert-danger {
  background-color: #f2dede;
  border-color: #ebccd1;
  color: #a94442;
}
.alert-danger hr {
  border-top-color: #e4b9c0;
}
.alert-danger .alert-link {
  color: #843534;
}
@-webkit-keyframes progress-bar-stripes {
  from {
    background-position: 40px 0;
  }
  to {
    background-position: 0 0;
  }
}
@keyframes progress-bar-stripes {
  from {
    background-position: 40px 0;
  }
  to {
    background-position: 0 0;
  }
}
.progress {
  overflow: hidden;
  height: 18px;
  margin-bottom: 18px;
  background-color: #f5f5f5;
  border-radius: 2px;
  -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
  box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
}
.progress-bar {
  float: left;
  width: 0%;
  height: 100%;
  font-size: 12px;
  line-height: 18px;
  color: #fff;
  text-align: center;
  background-color: #337ab7;
  -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);
  box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);
  -webkit-transition: width 0.6s ease;
  -o-transition: width 0.6s ease;
  transition: width 0.6s ease;
}
.progress-striped .progress-bar,
.progress-bar-striped {
  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-size: 40px 40px;
}
.progress.active .progress-bar,
.progress-bar.active {
  -webkit-animation: progress-bar-stripes 2s linear infinite;
  -o-animation: progress-bar-stripes 2s linear infinite;
  animation: progress-bar-stripes 2s linear infinite;
}
.progress-bar-success {
  background-color: #5cb85c;
}
.progress-striped .progress-bar-success {
  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
}
.progress-bar-info {
  background-color: #5bc0de;
}
.progress-striped .progress-bar-info {
  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
}
.progress-bar-warning {
  background-color: #f0ad4e;
}
.progress-striped .progress-bar-warning {
  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
}
.progress-bar-danger {
  background-color: #d9534f;
}
.progress-striped .progress-bar-danger {
  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
}
.media {
  margin-top: 15px;
}
.media:first-child {
  margin-top: 0;
}
.media,
.media-body {
  zoom: 1;
  overflow: hidden;
}
.media-body {
  width: 10000px;
}
.media-object {
  display: block;
}
.media-object.img-thumbnail {
  max-width: none;
}
.media-right,
.media &gt; .pull-right {
  padding-left: 10px;
}
.media-left,
.media &gt; .pull-left {
  padding-right: 10px;
}
.media-left,
.media-right,
.media-body {
  display: table-cell;
  vertical-align: top;
}
.media-middle {
  vertical-align: middle;
}
.media-bottom {
  vertical-align: bottom;
}
.media-heading {
  margin-top: 0;
  margin-bottom: 5px;
}
.media-list {
  padding-left: 0;
  list-style: none;
}
.list-group {
  margin-bottom: 20px;
  padding-left: 0;
}
.list-group-item {
  position: relative;
  display: block;
  padding: 10px 15px;
  margin-bottom: -1px;
  background-color: #fff;
  border: 1px solid #ddd;
}
.list-group-item:first-child {
  border-top-right-radius: 2px;
  border-top-left-radius: 2px;
}
.list-group-item:last-child {
  margin-bottom: 0;
  border-bottom-right-radius: 2px;
  border-bottom-left-radius: 2px;
}
a.list-group-item,
button.list-group-item {
  color: #555;
}
a.list-group-item .list-group-item-heading,
button.list-group-item .list-group-item-heading {
  color: #333;
}
a.list-group-item:hover,
button.list-group-item:hover,
a.list-group-item:focus,
button.list-group-item:focus {
  text-decoration: none;
  color: #555;
  background-color: #f5f5f5;
}
button.list-group-item {
  width: 100%;
  text-align: left;
}
.list-group-item.disabled,
.list-group-item.disabled:hover,
.list-group-item.disabled:focus {
  background-color: #eeeeee;
  color: #777777;
  cursor: not-allowed;
}
.list-group-item.disabled .list-group-item-heading,
.list-group-item.disabled:hover .list-group-item-heading,
.list-group-item.disabled:focus .list-group-item-heading {
  color: inherit;
}
.list-group-item.disabled .list-group-item-text,
.list-group-item.disabled:hover .list-group-item-text,
.list-group-item.disabled:focus .list-group-item-text {
  color: #777777;
}
.list-group-item.active,
.list-group-item.active:hover,
.list-group-item.active:focus {
  z-index: 2;
  color: #fff;
  background-color: #337ab7;
  border-color: #337ab7;
}
.list-group-item.active .list-group-item-heading,
.list-group-item.active:hover .list-group-item-heading,
.list-group-item.active:focus .list-group-item-heading,
.list-group-item.active .list-group-item-heading &gt; small,
.list-group-item.active:hover .list-group-item-heading &gt; small,
.list-group-item.active:focus .list-group-item-heading &gt; small,
.list-group-item.active .list-group-item-heading &gt; .small,
.list-group-item.active:hover .list-group-item-heading &gt; .small,
.list-group-item.active:focus .list-group-item-heading &gt; .small {
  color: inherit;
}
.list-group-item.active .list-group-item-text,
.list-group-item.active:hover .list-group-item-text,
.list-group-item.active:focus .list-group-item-text {
  color: #c7ddef;
}
.list-group-item-success {
  color: #3c763d;
  background-color: #dff0d8;
}
a.list-group-item-success,
button.list-group-item-success {
  color: #3c763d;
}
a.list-group-item-success .list-group-item-heading,
button.list-group-item-success .list-group-item-heading {
  color: inherit;
}
a.list-group-item-success:hover,
button.list-group-item-success:hover,
a.list-group-item-success:focus,
button.list-group-item-success:focus {
  color: #3c763d;
  background-color: #d0e9c6;
}
a.list-group-item-success.active,
button.list-group-item-success.active,
a.list-group-item-success.active:hover,
button.list-group-item-success.active:hover,
a.list-group-item-success.active:focus,
button.list-group-item-success.active:focus {
  color: #fff;
  background-color: #3c763d;
  border-color: #3c763d;
}
.list-group-item-info {
  color: #31708f;
  background-color: #d9edf7;
}
a.list-group-item-info,
button.list-group-item-info {
  color: #31708f;
}
a.list-group-item-info .list-group-item-heading,
button.list-group-item-info .list-group-item-heading {
  color: inherit;
}
a.list-group-item-info:hover,
button.list-group-item-info:hover,
a.list-group-item-info:focus,
button.list-group-item-info:focus {
  color: #31708f;
  background-color: #c4e3f3;
}
a.list-group-item-info.active,
button.list-group-item-info.active,
a.list-group-item-info.active:hover,
button.list-group-item-info.active:hover,
a.list-group-item-info.active:focus,
button.list-group-item-info.active:focus {
  color: #fff;
  background-color: #31708f;
  border-color: #31708f;
}
.list-group-item-warning {
  color: #8a6d3b;
  background-color: #fcf8e3;
}
a.list-group-item-warning,
button.list-group-item-warning {
  color: #8a6d3b;
}
a.list-group-item-warning .list-group-item-heading,
button.list-group-item-warning .list-group-item-heading {
  color: inherit;
}
a.list-group-item-warning:hover,
button.list-group-item-warning:hover,
a.list-group-item-warning:focus,
button.list-group-item-warning:focus {
  color: #8a6d3b;
  background-color: #faf2cc;
}
a.list-group-item-warning.active,
button.list-group-item-warning.active,
a.list-group-item-warning.active:hover,
button.list-group-item-warning.active:hover,
a.list-group-item-warning.active:focus,
button.list-group-item-warning.active:focus {
  color: #fff;
  background-color: #8a6d3b;
  border-color: #8a6d3b;
}
.list-group-item-danger {
  color: #a94442;
  background-color: #f2dede;
}
a.list-group-item-danger,
button.list-group-item-danger {
  color: #a94442;
}
a.list-group-item-danger .list-group-item-heading,
button.list-group-item-danger .list-group-item-heading {
  color: inherit;
}
a.list-group-item-danger:hover,
button.list-group-item-danger:hover,
a.list-group-item-danger:focus,
button.list-group-item-danger:focus {
  color: #a94442;
  background-color: #ebcccc;
}
a.list-group-item-danger.active,
button.list-group-item-danger.active,
a.list-group-item-danger.active:hover,
button.list-group-item-danger.active:hover,
a.list-group-item-danger.active:focus,
button.list-group-item-danger.active:focus {
  color: #fff;
  background-color: #a94442;
  border-color: #a94442;
}
.list-group-item-heading {
  margin-top: 0;
  margin-bottom: 5px;
}
.list-group-item-text {
  margin-bottom: 0;
  line-height: 1.3;
}
.panel {
  margin-bottom: 18px;
  background-color: #fff;
  border: 1px solid transparent;
  border-radius: 2px;
  -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05);
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05);
}
.panel-body {
  padding: 15px;
}
.panel-heading {
  padding: 10px 15px;
  border-bottom: 1px solid transparent;
  border-top-right-radius: 1px;
  border-top-left-radius: 1px;
}
.panel-heading &gt; .dropdown .dropdown-toggle {
  color: inherit;
}
.panel-title {
  margin-top: 0;
  margin-bottom: 0;
  font-size: 15px;
  color: inherit;
}
.panel-title &gt; a,
.panel-title &gt; small,
.panel-title &gt; .small,
.panel-title &gt; small &gt; a,
.panel-title &gt; .small &gt; a {
  color: inherit;
}
.panel-footer {
  padding: 10px 15px;
  background-color: #f5f5f5;
  border-top: 1px solid #ddd;
  border-bottom-right-radius: 1px;
  border-bottom-left-radius: 1px;
}
.panel &gt; .list-group,
.panel &gt; .panel-collapse &gt; .list-group {
  margin-bottom: 0;
}
.panel &gt; .list-group .list-group-item,
.panel &gt; .panel-collapse &gt; .list-group .list-group-item {
  border-width: 1px 0;
  border-radius: 0;
}
.panel &gt; .list-group:first-child .list-group-item:first-child,
.panel &gt; .panel-collapse &gt; .list-group:first-child .list-group-item:first-child {
  border-top: 0;
  border-top-right-radius: 1px;
  border-top-left-radius: 1px;
}
.panel &gt; .list-group:last-child .list-group-item:last-child,
.panel &gt; .panel-collapse &gt; .list-group:last-child .list-group-item:last-child {
  border-bottom: 0;
  border-bottom-right-radius: 1px;
  border-bottom-left-radius: 1px;
}
.panel &gt; .panel-heading + .panel-collapse &gt; .list-group .list-group-item:first-child {
  border-top-right-radius: 0;
  border-top-left-radius: 0;
}
.panel-heading + .list-group .list-group-item:first-child {
  border-top-width: 0;
}
.list-group + .panel-footer {
  border-top-width: 0;
}
.panel &gt; .table,
.panel &gt; .table-responsive &gt; .table,
.panel &gt; .panel-collapse &gt; .table {
  margin-bottom: 0;
}
.panel &gt; .table caption,
.panel &gt; .table-responsive &gt; .table caption,
.panel &gt; .panel-collapse &gt; .table caption {
  padding-left: 15px;
  padding-right: 15px;
}
.panel &gt; .table:first-child,
.panel &gt; .table-responsive:first-child &gt; .table:first-child {
  border-top-right-radius: 1px;
  border-top-left-radius: 1px;
}
.panel &gt; .table:first-child &gt; thead:first-child &gt; tr:first-child,
.panel &gt; .table-responsive:first-child &gt; .table:first-child &gt; thead:first-child &gt; tr:first-child,
.panel &gt; .table:first-child &gt; tbody:first-child &gt; tr:first-child,
.panel &gt; .table-responsive:first-child &gt; .table:first-child &gt; tbody:first-child &gt; tr:first-child {
  border-top-left-radius: 1px;
  border-top-right-radius: 1px;
}
.panel &gt; .table:first-child &gt; thead:first-child &gt; tr:first-child td:first-child,
.panel &gt; .table-responsive:first-child &gt; .table:first-child &gt; thead:first-child &gt; tr:first-child td:first-child,
.panel &gt; .table:first-child &gt; tbody:first-child &gt; tr:first-child td:first-child,
.panel &gt; .table-responsive:first-child &gt; .table:first-child &gt; tbody:first-child &gt; tr:first-child td:first-child,
.panel &gt; .table:first-child &gt; thead:first-child &gt; tr:first-child th:first-child,
.panel &gt; .table-responsive:first-child &gt; .table:first-child &gt; thead:first-child &gt; tr:first-child th:first-child,
.panel &gt; .table:first-child &gt; tbody:first-child &gt; tr:first-child th:first-child,
.panel &gt; .table-responsive:first-child &gt; .table:first-child &gt; tbody:first-child &gt; tr:first-child th:first-child {
  border-top-left-radius: 1px;
}
.panel &gt; .table:first-child &gt; thead:first-child &gt; tr:first-child td:last-child,
.panel &gt; .table-responsive:first-child &gt; .table:first-child &gt; thead:first-child &gt; tr:first-child td:last-child,
.panel &gt; .table:first-child &gt; tbody:first-child &gt; tr:first-child td:last-child,
.panel &gt; .table-responsive:first-child &gt; .table:first-child &gt; tbody:first-child &gt; tr:first-child td:last-child,
.panel &gt; .table:first-child &gt; thead:first-child &gt; tr:first-child th:last-child,
.panel &gt; .table-responsive:first-child &gt; .table:first-child &gt; thead:first-child &gt; tr:first-child th:last-child,
.panel &gt; .table:first-child &gt; tbody:first-child &gt; tr:first-child th:last-child,
.panel &gt; .table-responsive:first-child &gt; .table:first-child &gt; tbody:first-child &gt; tr:first-child th:last-child {
  border-top-right-radius: 1px;
}
.panel &gt; .table:last-child,
.panel &gt; .table-responsive:last-child &gt; .table:last-child {
  border-bottom-right-radius: 1px;
  border-bottom-left-radius: 1px;
}
.panel &gt; .table:last-child &gt; tbody:last-child &gt; tr:last-child,
.panel &gt; .table-responsive:last-child &gt; .table:last-child &gt; tbody:last-child &gt; tr:last-child,
.panel &gt; .table:last-child &gt; tfoot:last-child &gt; tr:last-child,
.panel &gt; .table-responsive:last-child &gt; .table:last-child &gt; tfoot:last-child &gt; tr:last-child {
  border-bottom-left-radius: 1px;
  border-bottom-right-radius: 1px;
}
.panel &gt; .table:last-child &gt; tbody:last-child &gt; tr:last-child td:first-child,
.panel &gt; .table-responsive:last-child &gt; .table:last-child &gt; tbody:last-child &gt; tr:last-child td:first-child,
.panel &gt; .table:last-child &gt; tfoot:last-child &gt; tr:last-child td:first-child,
.panel &gt; .table-responsive:last-child &gt; .table:last-child &gt; tfoot:last-child &gt; tr:last-child td:first-child,
.panel &gt; .table:last-child &gt; tbody:last-child &gt; tr:last-child th:first-child,
.panel &gt; .table-responsive:last-child &gt; .table:last-child &gt; tbody:last-child &gt; tr:last-child th:first-child,
.panel &gt; .table:last-child &gt; tfoot:last-child &gt; tr:last-child th:first-child,
.panel &gt; .table-responsive:last-child &gt; .table:last-child &gt; tfoot:last-child &gt; tr:last-child th:first-child {
  border-bottom-left-radius: 1px;
}
.panel &gt; .table:last-child &gt; tbody:last-child &gt; tr:last-child td:last-child,
.panel &gt; .table-responsive:last-child &gt; .table:last-child &gt; tbody:last-child &gt; tr:last-child td:last-child,
.panel &gt; .table:last-child &gt; tfoot:last-child &gt; tr:last-child td:last-child,
.panel &gt; .table-responsive:last-child &gt; .table:last-child &gt; tfoot:last-child &gt; tr:last-child td:last-child,
.panel &gt; .table:last-child &gt; tbody:last-child &gt; tr:last-child th:last-child,
.panel &gt; .table-responsive:last-child &gt; .table:last-child &gt; tbody:last-child &gt; tr:last-child th:last-child,
.panel &gt; .table:last-child &gt; tfoot:last-child &gt; tr:last-child th:last-child,
.panel &gt; .table-responsive:last-child &gt; .table:last-child &gt; tfoot:last-child &gt; tr:last-child th:last-child {
  border-bottom-right-radius: 1px;
}
.panel &gt; .panel-body + .table,
.panel &gt; .panel-body + .table-responsive,
.panel &gt; .table + .panel-body,
.panel &gt; .table-responsive + .panel-body {
  border-top: 1px solid #ddd;
}
.panel &gt; .table &gt; tbody:first-child &gt; tr:first-child th,
.panel &gt; .table &gt; tbody:first-child &gt; tr:first-child td {
  border-top: 0;
}
.panel &gt; .table-bordered,
.panel &gt; .table-responsive &gt; .table-bordered {
  border: 0;
}
.panel &gt; .table-bordered &gt; thead &gt; tr &gt; th:first-child,
.panel &gt; .table-responsive &gt; .table-bordered &gt; thead &gt; tr &gt; th:first-child,
.panel &gt; .table-bordered &gt; tbody &gt; tr &gt; th:first-child,
.panel &gt; .table-responsive &gt; .table-bordered &gt; tbody &gt; tr &gt; th:first-child,
.panel &gt; .table-bordered &gt; tfoot &gt; tr &gt; th:first-child,
.panel &gt; .table-responsive &gt; .table-bordered &gt; tfoot &gt; tr &gt; th:first-child,
.panel &gt; .table-bordered &gt; thead &gt; tr &gt; td:first-child,
.panel &gt; .table-responsive &gt; .table-bordered &gt; thead &gt; tr &gt; td:first-child,
.panel &gt; .table-bordered &gt; tbody &gt; tr &gt; td:first-child,
.panel &gt; .table-responsive &gt; .table-bordered &gt; tbody &gt; tr &gt; td:first-child,
.panel &gt; .table-bordered &gt; tfoot &gt; tr &gt; td:first-child,
.panel &gt; .table-responsive &gt; .table-bordered &gt; tfoot &gt; tr &gt; td:first-child {
  border-left: 0;
}
.panel &gt; .table-bordered &gt; thead &gt; tr &gt; th:last-child,
.panel &gt; .table-responsive &gt; .table-bordered &gt; thead &gt; tr &gt; th:last-child,
.panel &gt; .table-bordered &gt; tbody &gt; tr &gt; th:last-child,
.panel &gt; .table-responsive &gt; .table-bordered &gt; tbody &gt; tr &gt; th:last-child,
.panel &gt; .table-bordered &gt; tfoot &gt; tr &gt; th:last-child,
.panel &gt; .table-responsive &gt; .table-bordered &gt; tfoot &gt; tr &gt; th:last-child,
.panel &gt; .table-bordered &gt; thead &gt; tr &gt; td:last-child,
.panel &gt; .table-responsive &gt; .table-bordered &gt; thead &gt; tr &gt; td:last-child,
.panel &gt; .table-bordered &gt; tbody &gt; tr &gt; td:last-child,
.panel &gt; .table-responsive &gt; .table-bordered &gt; tbody &gt; tr &gt; td:last-child,
.panel &gt; .table-bordered &gt; tfoot &gt; tr &gt; td:last-child,
.panel &gt; .table-responsive &gt; .table-bordered &gt; tfoot &gt; tr &gt; td:last-child {
  border-right: 0;
}
.panel &gt; .table-bordered &gt; thead &gt; tr:first-child &gt; td,
.panel &gt; .table-responsive &gt; .table-bordered &gt; thead &gt; tr:first-child &gt; td,
.panel &gt; .table-bordered &gt; tbody &gt; tr:first-child &gt; td,
.panel &gt; .table-responsive &gt; .table-bordered &gt; tbody &gt; tr:first-child &gt; td,
.panel &gt; .table-bordered &gt; thead &gt; tr:first-child &gt; th,
.panel &gt; .table-responsive &gt; .table-bordered &gt; thead &gt; tr:first-child &gt; th,
.panel &gt; .table-bordered &gt; tbody &gt; tr:first-child &gt; th,
.panel &gt; .table-responsive &gt; .table-bordered &gt; tbody &gt; tr:first-child &gt; th {
  border-bottom: 0;
}
.panel &gt; .table-bordered &gt; tbody &gt; tr:last-child &gt; td,
.panel &gt; .table-responsive &gt; .table-bordered &gt; tbody &gt; tr:last-child &gt; td,
.panel &gt; .table-bordered &gt; tfoot &gt; tr:last-child &gt; td,
.panel &gt; .table-responsive &gt; .table-bordered &gt; tfoot &gt; tr:last-child &gt; td,
.panel &gt; .table-bordered &gt; tbody &gt; tr:last-child &gt; th,
.panel &gt; .table-responsive &gt; .table-bordered &gt; tbody &gt; tr:last-child &gt; th,
.panel &gt; .table-bordered &gt; tfoot &gt; tr:last-child &gt; th,
.panel &gt; .table-responsive &gt; .table-bordered &gt; tfoot &gt; tr:last-child &gt; th {
  border-bottom: 0;
}
.panel &gt; .table-responsive {
  border: 0;
  margin-bottom: 0;
}
.panel-group {
  margin-bottom: 18px;
}
.panel-group .panel {
  margin-bottom: 0;
  border-radius: 2px;
}
.panel-group .panel + .panel {
  margin-top: 5px;
}
.panel-group .panel-heading {
  border-bottom: 0;
}
.panel-group .panel-heading + .panel-collapse &gt; .panel-body,
.panel-group .panel-heading + .panel-collapse &gt; .list-group {
  border-top: 1px solid #ddd;
}
.panel-group .panel-footer {
  border-top: 0;
}
.panel-group .panel-footer + .panel-collapse .panel-body {
  border-bottom: 1px solid #ddd;
}
.panel-default {
  border-color: #ddd;
}
.panel-default &gt; .panel-heading {
  color: #333333;
  background-color: #f5f5f5;
  border-color: #ddd;
}
.panel-default &gt; .panel-heading + .panel-collapse &gt; .panel-body {
  border-top-color: #ddd;
}
.panel-default &gt; .panel-heading .badge {
  color: #f5f5f5;
  background-color: #333333;
}
.panel-default &gt; .panel-footer + .panel-collapse &gt; .panel-body {
  border-bottom-color: #ddd;
}
.panel-primary {
  border-color: #337ab7;
}
.panel-primary &gt; .panel-heading {
  color: #fff;
  background-color: #337ab7;
  border-color: #337ab7;
}
.panel-primary &gt; .panel-heading + .panel-collapse &gt; .panel-body {
  border-top-color: #337ab7;
}
.panel-primary &gt; .panel-heading .badge {
  color: #337ab7;
  background-color: #fff;
}
.panel-primary &gt; .panel-footer + .panel-collapse &gt; .panel-body {
  border-bottom-color: #337ab7;
}
.panel-success {
  border-color: #d6e9c6;
}
.panel-success &gt; .panel-heading {
  color: #3c763d;
  background-color: #dff0d8;
  border-color: #d6e9c6;
}
.panel-success &gt; .panel-heading + .panel-collapse &gt; .panel-body {
  border-top-color: #d6e9c6;
}
.panel-success &gt; .panel-heading .badge {
  color: #dff0d8;
  background-color: #3c763d;
}
.panel-success &gt; .panel-footer + .panel-collapse &gt; .panel-body {
  border-bottom-color: #d6e9c6;
}
.panel-info {
  border-color: #bce8f1;
}
.panel-info &gt; .panel-heading {
  color: #31708f;
  background-color: #d9edf7;
  border-color: #bce8f1;
}
.panel-info &gt; .panel-heading + .panel-collapse &gt; .panel-body {
  border-top-color: #bce8f1;
}
.panel-info &gt; .panel-heading .badge {
  color: #d9edf7;
  background-color: #31708f;
}
.panel-info &gt; .panel-footer + .panel-collapse &gt; .panel-body {
  border-bottom-color: #bce8f1;
}
.panel-warning {
  border-color: #faebcc;
}
.panel-warning &gt; .panel-heading {
  color: #8a6d3b;
  background-color: #fcf8e3;
  border-color: #faebcc;
}
.panel-warning &gt; .panel-heading + .panel-collapse &gt; .panel-body {
  border-top-color: #faebcc;
}
.panel-warning &gt; .panel-heading .badge {
  color: #fcf8e3;
  background-color: #8a6d3b;
}
.panel-warning &gt; .panel-footer + .panel-collapse &gt; .panel-body {
  border-bottom-color: #faebcc;
}
.panel-danger {
  border-color: #ebccd1;
}
.panel-danger &gt; .panel-heading {
  color: #a94442;
  background-color: #f2dede;
  border-color: #ebccd1;
}
.panel-danger &gt; .panel-heading + .panel-collapse &gt; .panel-body {
  border-top-color: #ebccd1;
}
.panel-danger &gt; .panel-heading .badge {
  color: #f2dede;
  background-color: #a94442;
}
.panel-danger &gt; .panel-footer + .panel-collapse &gt; .panel-body {
  border-bottom-color: #ebccd1;
}
.embed-responsive {
  position: relative;
  display: block;
  height: 0;
  padding: 0;
  overflow: hidden;
}
.embed-responsive .embed-responsive-item,
.embed-responsive iframe,
.embed-responsive embed,
.embed-responsive object,
.embed-responsive video {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  height: 100%;
  width: 100%;
  border: 0;
}
.embed-responsive-16by9 {
  padding-bottom: 56.25%;
}
.embed-responsive-4by3 {
  padding-bottom: 75%;
}
.well {
  min-height: 20px;
  padding: 19px;
  margin-bottom: 20px;
  background-color: #f5f5f5;
  border: 1px solid #e3e3e3;
  border-radius: 2px;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);
}
.well blockquote {
  border-color: #ddd;
  border-color: rgba(0, 0, 0, 0.15);
}
.well-lg {
  padding: 24px;
  border-radius: 3px;
}
.well-sm {
  padding: 9px;
  border-radius: 1px;
}
.close {
  float: right;
  font-size: 19.5px;
  font-weight: bold;
  line-height: 1;
  color: #000;
  text-shadow: 0 1px 0 #fff;
  opacity: 0.2;
  filter: alpha(opacity=20);
}
.close:hover,
.close:focus {
  color: #000;
  text-decoration: none;
  cursor: pointer;
  opacity: 0.5;
  filter: alpha(opacity=50);
}
button.close {
  padding: 0;
  cursor: pointer;
  background: transparent;
  border: 0;
  -webkit-appearance: none;
}
.modal-open {
  overflow: hidden;
}
.modal {
  display: none;
  overflow: hidden;
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1050;
  -webkit-overflow-scrolling: touch;
  outline: 0;
}
.modal.fade .modal-dialog {
  -webkit-transform: translate(0, -25%);
  -ms-transform: translate(0, -25%);
  -o-transform: translate(0, -25%);
  transform: translate(0, -25%);
  -webkit-transition: -webkit-transform 0.3s ease-out;
  -moz-transition: -moz-transform 0.3s ease-out;
  -o-transition: -o-transform 0.3s ease-out;
  transition: transform 0.3s ease-out;
}
.modal.in .modal-dialog {
  -webkit-transform: translate(0, 0);
  -ms-transform: translate(0, 0);
  -o-transform: translate(0, 0);
  transform: translate(0, 0);
}
.modal-open .modal {
  overflow-x: hidden;
  overflow-y: auto;
}
.modal-dialog {
  position: relative;
  width: auto;
  margin: 10px;
}
.modal-content {
  position: relative;
  background-color: #fff;
  border: 1px solid #999;
  border: 1px solid rgba(0, 0, 0, 0.2);
  border-radius: 3px;
  -webkit-box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5);
  box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5);
  background-clip: padding-box;
  outline: 0;
}
.modal-backdrop {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1040;
  background-color: #000;
}
.modal-backdrop.fade {
  opacity: 0;
  filter: alpha(opacity=0);
}
.modal-backdrop.in {
  opacity: 0.5;
  filter: alpha(opacity=50);
}
.modal-header {
  padding: 15px;
  border-bottom: 1px solid #e5e5e5;
}
.modal-header .close {
  margin-top: -2px;
}
.modal-title {
  margin: 0;
  line-height: 1.42857143;
}
.modal-body {
  position: relative;
  padding: 15px;
}
.modal-footer {
  padding: 15px;
  text-align: right;
  border-top: 1px solid #e5e5e5;
}
.modal-footer .btn + .btn {
  margin-left: 5px;
  margin-bottom: 0;
}
.modal-footer .btn-group .btn + .btn {
  margin-left: -1px;
}
.modal-footer .btn-block + .btn-block {
  margin-left: 0;
}
.modal-scrollbar-measure {
  position: absolute;
  top: -9999px;
  width: 50px;
  height: 50px;
  overflow: scroll;
}
@media (min-width: 768px) {
  .modal-dialog {
    width: 600px;
    margin: 30px auto;
  }
  .modal-content {
    -webkit-box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5);
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5);
  }
  .modal-sm {
    width: 300px;
  }
}
@media (min-width: 992px) {
  .modal-lg {
    width: 900px;
  }
}
.tooltip {
  position: absolute;
  z-index: 1070;
  display: block;
  font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, sans-serif;
  font-style: normal;
  font-weight: normal;
  letter-spacing: normal;
  line-break: auto;
  line-height: 1.42857143;
  text-align: left;
  text-align: start;
  text-decoration: none;
  text-shadow: none;
  text-transform: none;
  white-space: normal;
  word-break: normal;
  word-spacing: normal;
  word-wrap: normal;
  font-size: 12px;
  opacity: 0;
  filter: alpha(opacity=0);
}
.tooltip.in {
  opacity: 0.9;
  filter: alpha(opacity=90);
}
.tooltip.top {
  margin-top: -3px;
  padding: 5px 0;
}
.tooltip.right {
  margin-left: 3px;
  padding: 0 5px;
}
.tooltip.bottom {
  margin-top: 3px;
  padding: 5px 0;
}
.tooltip.left {
  margin-left: -3px;
  padding: 0 5px;
}
.tooltip-inner {
  max-width: 200px;
  padding: 3px 8px;
  color: #fff;
  text-align: center;
  background-color: #000;
  border-radius: 2px;
}
.tooltip-arrow {
  position: absolute;
  width: 0;
  height: 0;
  border-color: transparent;
  border-style: solid;
}
.tooltip.top .tooltip-arrow {
  bottom: 0;
  left: 50%;
  margin-left: -5px;
  border-width: 5px 5px 0;
  border-top-color: #000;
}
.tooltip.top-left .tooltip-arrow {
  bottom: 0;
  right: 5px;
  margin-bottom: -5px;
  border-width: 5px 5px 0;
  border-top-color: #000;
}
.tooltip.top-right .tooltip-arrow {
  bottom: 0;
  left: 5px;
  margin-bottom: -5px;
  border-width: 5px 5px 0;
  border-top-color: #000;
}
.tooltip.right .tooltip-arrow {
  top: 50%;
  left: 0;
  margin-top: -5px;
  border-width: 5px 5px 5px 0;
  border-right-color: #000;
}
.tooltip.left .tooltip-arrow {
  top: 50%;
  right: 0;
  margin-top: -5px;
  border-width: 5px 0 5px 5px;
  border-left-color: #000;
}
.tooltip.bottom .tooltip-arrow {
  top: 0;
  left: 50%;
  margin-left: -5px;
  border-width: 0 5px 5px;
  border-bottom-color: #000;
}
.tooltip.bottom-left .tooltip-arrow {
  top: 0;
  right: 5px;
  margin-top: -5px;
  border-width: 0 5px 5px;
  border-bottom-color: #000;
}
.tooltip.bottom-right .tooltip-arrow {
  top: 0;
  left: 5px;
  margin-top: -5px;
  border-width: 0 5px 5px;
  border-bottom-color: #000;
}
.popover {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1060;
  display: none;
  max-width: 276px;
  padding: 1px;
  font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, sans-serif;
  font-style: normal;
  font-weight: normal;
  letter-spacing: normal;
  line-break: auto;
  line-height: 1.42857143;
  text-align: left;
  text-align: start;
  text-decoration: none;
  text-shadow: none;
  text-transform: none;
  white-space: normal;
  word-break: normal;
  word-spacing: normal;
  word-wrap: normal;
  font-size: 13px;
  background-color: #fff;
  background-clip: padding-box;
  border: 1px solid #ccc;
  border: 1px solid rgba(0, 0, 0, 0.2);
  border-radius: 3px;
  -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
  box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
}
.popover.top {
  margin-top: -10px;
}
.popover.right {
  margin-left: 10px;
}
.popover.bottom {
  margin-top: 10px;
}
.popover.left {
  margin-left: -10px;
}
.popover-title {
  margin: 0;
  padding: 8px 14px;
  font-size: 13px;
  background-color: #f7f7f7;
  border-bottom: 1px solid #ebebeb;
  border-radius: 2px 2px 0 0;
}
.popover-content {
  padding: 9px 14px;
}
.popover &gt; .arrow,
.popover &gt; .arrow:after {
  position: absolute;
  display: block;
  width: 0;
  height: 0;
  border-color: transparent;
  border-style: solid;
}
.popover &gt; .arrow {
  border-width: 11px;
}
.popover &gt; .arrow:after {
  border-width: 10px;
  content: &quot;&quot;;
}
.popover.top &gt; .arrow {
  left: 50%;
  margin-left: -11px;
  border-bottom-width: 0;
  border-top-color: #999999;
  border-top-color: rgba(0, 0, 0, 0.25);
  bottom: -11px;
}
.popover.top &gt; .arrow:after {
  content: &quot; &quot;;
  bottom: 1px;
  margin-left: -10px;
  border-bottom-width: 0;
  border-top-color: #fff;
}
.popover.right &gt; .arrow {
  top: 50%;
  left: -11px;
  margin-top: -11px;
  border-left-width: 0;
  border-right-color: #999999;
  border-right-color: rgba(0, 0, 0, 0.25);
}
.popover.right &gt; .arrow:after {
  content: &quot; &quot;;
  left: 1px;
  bottom: -10px;
  border-left-width: 0;
  border-right-color: #fff;
}
.popover.bottom &gt; .arrow {
  left: 50%;
  margin-left: -11px;
  border-top-width: 0;
  border-bottom-color: #999999;
  border-bottom-color: rgba(0, 0, 0, 0.25);
  top: -11px;
}
.popover.bottom &gt; .arrow:after {
  content: &quot; &quot;;
  top: 1px;
  margin-left: -10px;
  border-top-width: 0;
  border-bottom-color: #fff;
}
.popover.left &gt; .arrow {
  top: 50%;
  right: -11px;
  margin-top: -11px;
  border-right-width: 0;
  border-left-color: #999999;
  border-left-color: rgba(0, 0, 0, 0.25);
}
.popover.left &gt; .arrow:after {
  content: &quot; &quot;;
  right: 1px;
  border-right-width: 0;
  border-left-color: #fff;
  bottom: -10px;
}
.carousel {
  position: relative;
}
.carousel-inner {
  position: relative;
  overflow: hidden;
  width: 100%;
}
.carousel-inner &gt; .item {
  display: none;
  position: relative;
  -webkit-transition: 0.6s ease-in-out left;
  -o-transition: 0.6s ease-in-out left;
  transition: 0.6s ease-in-out left;
}
.carousel-inner &gt; .item &gt; img,
.carousel-inner &gt; .item &gt; a &gt; img {
  line-height: 1;
}
@media all and (transform-3d), (-webkit-transform-3d) {
  .carousel-inner &gt; .item {
    -webkit-transition: -webkit-transform 0.6s ease-in-out;
    -moz-transition: -moz-transform 0.6s ease-in-out;
    -o-transition: -o-transform 0.6s ease-in-out;
    transition: transform 0.6s ease-in-out;
    -webkit-backface-visibility: hidden;
    -moz-backface-visibility: hidden;
    backface-visibility: hidden;
    -webkit-perspective: 1000px;
    -moz-perspective: 1000px;
    perspective: 1000px;
  }
  .carousel-inner &gt; .item.next,
  .carousel-inner &gt; .item.active.right {
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
    left: 0;
  }
  .carousel-inner &gt; .item.prev,
  .carousel-inner &gt; .item.active.left {
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
    left: 0;
  }
  .carousel-inner &gt; .item.next.left,
  .carousel-inner &gt; .item.prev.right,
  .carousel-inner &gt; .item.active {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    left: 0;
  }
}
.carousel-inner &gt; .active,
.carousel-inner &gt; .next,
.carousel-inner &gt; .prev {
  display: block;
}
.carousel-inner &gt; .active {
  left: 0;
}
.carousel-inner &gt; .next,
.carousel-inner &gt; .prev {
  position: absolute;
  top: 0;
  width: 100%;
}
.carousel-inner &gt; .next {
  left: 100%;
}
.carousel-inner &gt; .prev {
  left: -100%;
}
.carousel-inner &gt; .next.left,
.carousel-inner &gt; .prev.right {
  left: 0;
}
.carousel-inner &gt; .active.left {
  left: -100%;
}
.carousel-inner &gt; .active.right {
  left: 100%;
}
.carousel-control {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  width: 15%;
  opacity: 0.5;
  filter: alpha(opacity=50);
  font-size: 20px;
  color: #fff;
  text-align: center;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6);
  background-color: rgba(0, 0, 0, 0);
}
.carousel-control.left {
  background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%);
  background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%);
  background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%);
  background-repeat: repeat-x;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1);
}
.carousel-control.right {
  left: auto;
  right: 0;
  background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%);
  background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%);
  background-image: linear-gradient(to right, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%);
  background-repeat: repeat-x;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1);
}
.carousel-control:hover,
.carousel-control:focus {
  outline: 0;
  color: #fff;
  text-decoration: none;
  opacity: 0.9;
  filter: alpha(opacity=90);
}
.carousel-control .icon-prev,
.carousel-control .icon-next,
.carousel-control .glyphicon-chevron-left,
.carousel-control .glyphicon-chevron-right {
  position: absolute;
  top: 50%;
  margin-top: -10px;
  z-index: 5;
  display: inline-block;
}
.carousel-control .icon-prev,
.carousel-control .glyphicon-chevron-left {
  left: 50%;
  margin-left: -10px;
}
.carousel-control .icon-next,
.carousel-control .glyphicon-chevron-right {
  right: 50%;
  margin-right: -10px;
}
.carousel-control .icon-prev,
.carousel-control .icon-next {
  width: 20px;
  height: 20px;
  line-height: 1;
  font-family: serif;
}
.carousel-control .icon-prev:before {
  content: '\2039';
}
.carousel-control .icon-next:before {
  content: '\203a';
}
.carousel-indicators {
  position: absolute;
  bottom: 10px;
  left: 50%;
  z-index: 15;
  width: 60%;
  margin-left: -30%;
  padding-left: 0;
  list-style: none;
  text-align: center;
}
.carousel-indicators li {
  display: inline-block;
  width: 10px;
  height: 10px;
  margin: 1px;
  text-indent: -999px;
  border: 1px solid #fff;
  border-radius: 10px;
  cursor: pointer;
  background-color: #000 \9;
  background-color: rgba(0, 0, 0, 0);
}
.carousel-indicators .active {
  margin: 0;
  width: 12px;
  height: 12px;
  background-color: #fff;
}
.carousel-caption {
  position: absolute;
  left: 15%;
  right: 15%;
  bottom: 20px;
  z-index: 10;
  padding-top: 20px;
  padding-bottom: 20px;
  color: #fff;
  text-align: center;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6);
}
.carousel-caption .btn {
  text-shadow: none;
}
@media screen and (min-width: 768px) {
  .carousel-control .glyphicon-chevron-left,
  .carousel-control .glyphicon-chevron-right,
  .carousel-control .icon-prev,
  .carousel-control .icon-next {
    width: 30px;
    height: 30px;
    margin-top: -10px;
    font-size: 30px;
  }
  .carousel-control .glyphicon-chevron-left,
  .carousel-control .icon-prev {
    margin-left: -10px;
  }
  .carousel-control .glyphicon-chevron-right,
  .carousel-control .icon-next {
    margin-right: -10px;
  }
  .carousel-caption {
    left: 20%;
    right: 20%;
    padding-bottom: 30px;
  }
  .carousel-indicators {
    bottom: 20px;
  }
}
.clearfix:before,
.clearfix:after,
.dl-horizontal dd:before,
.dl-horizontal dd:after,
.container:before,
.container:after,
.container-fluid:before,
.container-fluid:after,
.row:before,
.row:after,
.form-horizontal .form-group:before,
.form-horizontal .form-group:after,
.btn-toolbar:before,
.btn-toolbar:after,
.btn-group-vertical &gt; .btn-group:before,
.btn-group-vertical &gt; .btn-group:after,
.nav:before,
.nav:after,
.navbar:before,
.navbar:after,
.navbar-header:before,
.navbar-header:after,
.navbar-collapse:before,
.navbar-collapse:after,
.pager:before,
.pager:after,
.panel-body:before,
.panel-body:after,
.modal-header:before,
.modal-header:after,
.modal-footer:before,
.modal-footer:after,
.item_buttons:before,
.item_buttons:after {
  content: &quot; &quot;;
  display: table;
}
.clearfix:after,
.dl-horizontal dd:after,
.container:after,
.container-fluid:after,
.row:after,
.form-horizontal .form-group:after,
.btn-toolbar:after,
.btn-group-vertical &gt; .btn-group:after,
.nav:after,
.navbar:after,
.navbar-header:after,
.navbar-collapse:after,
.pager:after,
.panel-body:after,
.modal-header:after,
.modal-footer:after,
.item_buttons:after {
  clear: both;
}
.center-block {
  display: block;
  margin-left: auto;
  margin-right: auto;
}
.pull-right {
  float: right !important;
}
.pull-left {
  float: left !important;
}
.hide {
  display: none !important;
}
.show {
  display: block !important;
}
.invisible {
  visibility: hidden;
}
.text-hide {
  font: 0/0 a;
  color: transparent;
  text-shadow: none;
  background-color: transparent;
  border: 0;
}
.hidden {
  display: none !important;
}
.affix {
  position: fixed;
}
@-ms-viewport {
  width: device-width;
}
.visible-xs,
.visible-sm,
.visible-md,
.visible-lg {
  display: none !important;
}
.visible-xs-block,
.visible-xs-inline,
.visible-xs-inline-block,
.visible-sm-block,
.visible-sm-inline,
.visible-sm-inline-block,
.visible-md-block,
.visible-md-inline,
.visible-md-inline-block,
.visible-lg-block,
.visible-lg-inline,
.visible-lg-inline-block {
  display: none !important;
}
@media (max-width: 767px) {
  .visible-xs {
    display: block !important;
  }
  table.visible-xs {
    display: table !important;
  }
  tr.visible-xs {
    display: table-row !important;
  }
  th.visible-xs,
  td.visible-xs {
    display: table-cell !important;
  }
}
@media (max-width: 767px) {
  .visible-xs-block {
    display: block !important;
  }
}
@media (max-width: 767px) {
  .visible-xs-inline {
    display: inline !important;
  }
}
@media (max-width: 767px) {
  .visible-xs-inline-block {
    display: inline-block !important;
  }
}
@media (min-width: 768px) and (max-width: 991px) {
  .visible-sm {
    display: block !important;
  }
  table.visible-sm {
    display: table !important;
  }
  tr.visible-sm {
    display: table-row !important;
  }
  th.visible-sm,
  td.visible-sm {
    display: table-cell !important;
  }
}
@media (min-width: 768px) and (max-width: 991px) {
  .visible-sm-block {
    display: block !important;
  }
}
@media (min-width: 768px) and (max-width: 991px) {
  .visible-sm-inline {
    display: inline !important;
  }
}
@media (min-width: 768px) and (max-width: 991px) {
  .visible-sm-inline-block {
    display: inline-block !important;
  }
}
@media (min-width: 992px) and (max-width: 1199px) {
  .visible-md {
    display: block !important;
  }
  table.visible-md {
    display: table !important;
  }
  tr.visible-md {
    display: table-row !important;
  }
  th.visible-md,
  td.visible-md {
    display: table-cell !important;
  }
}
@media (min-width: 992px) and (max-width: 1199px) {
  .visible-md-block {
    display: block !important;
  }
}
@media (min-width: 992px) and (max-width: 1199px) {
  .visible-md-inline {
    display: inline !important;
  }
}
@media (min-width: 992px) and (max-width: 1199px) {
  .visible-md-inline-block {
    display: inline-block !important;
  }
}
@media (min-width: 1200px) {
  .visible-lg {
    display: block !important;
  }
  table.visible-lg {
    display: table !important;
  }
  tr.visible-lg {
    display: table-row !important;
  }
  th.visible-lg,
  td.visible-lg {
    display: table-cell !important;
  }
}
@media (min-width: 1200px) {
  .visible-lg-block {
    display: block !important;
  }
}
@media (min-width: 1200px) {
  .visible-lg-inline {
    display: inline !important;
  }
}
@media (min-width: 1200px) {
  .visible-lg-inline-block {
    display: inline-block !important;
  }
}
@media (max-width: 767px) {
  .hidden-xs {
    display: none !important;
  }
}
@media (min-width: 768px) and (max-width: 991px) {
  .hidden-sm {
    display: none !important;
  }
}
@media (min-width: 992px) and (max-width: 1199px) {
  .hidden-md {
    display: none !important;
  }
}
@media (min-width: 1200px) {
  .hidden-lg {
    display: none !important;
  }
}
.visible-print {
  display: none !important;
}
@media print {
  .visible-print {
    display: block !important;
  }
  table.visible-print {
    display: table !important;
  }
  tr.visible-print {
    display: table-row !important;
  }
  th.visible-print,
  td.visible-print {
    display: table-cell !important;
  }
}
.visible-print-block {
  display: none !important;
}
@media print {
  .visible-print-block {
    display: block !important;
  }
}
.visible-print-inline {
  display: none !important;
}
@media print {
  .visible-print-inline {
    display: inline !important;
  }
}
.visible-print-inline-block {
  display: none !important;
}
@media print {
  .visible-print-inline-block {
    display: inline-block !important;
  }
}
@media print {
  .hidden-print {
    display: none !important;
  }
}
/*!
*
* Font Awesome
*
*/
/*!
 *  Font Awesome 4.2.0 by @davegandy - http://fontawesome.io - @fontawesome
 *  License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License)
 */
/* FONT PATH
 * -------------------------- */
@font-face {
  font-family: 'FontAwesome';
  src: url('../components/font-awesome/fonts/fontawesome-webfont.eot?v=4.2.0');
  src: url('../components/font-awesome/fonts/fontawesome-webfont.eot?#iefix&amp;v=4.2.0') format('embedded-opentype'), url('../components/font-awesome/fonts/fontawesome-webfont.woff?v=4.2.0') format('woff'), url('../components/font-awesome/fonts/fontawesome-webfont.ttf?v=4.2.0') format('truetype'), url('../components/font-awesome/fonts/fontawesome-webfont.svg?v=4.2.0#fontawesomeregular') format('svg');
  font-weight: normal;
  font-style: normal;
}
.fa {
  display: inline-block;
  font: normal normal normal 14px/1 FontAwesome;
  font-size: inherit;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
/* makes the font 33% larger relative to the icon container */
.fa-lg {
  font-size: 1.33333333em;
  line-height: 0.75em;
  vertical-align: -15%;
}
.fa-2x {
  font-size: 2em;
}
.fa-3x {
  font-size: 3em;
}
.fa-4x {
  font-size: 4em;
}
.fa-5x {
  font-size: 5em;
}
.fa-fw {
  width: 1.28571429em;
  text-align: center;
}
.fa-ul {
  padding-left: 0;
  margin-left: 2.14285714em;
  list-style-type: none;
}
.fa-ul &gt; li {
  position: relative;
}
.fa-li {
  position: absolute;
  left: -2.14285714em;
  width: 2.14285714em;
  top: 0.14285714em;
  text-align: center;
}
.fa-li.fa-lg {
  left: -1.85714286em;
}
.fa-border {
  padding: .2em .25em .15em;
  border: solid 0.08em #eee;
  border-radius: .1em;
}
.pull-right {
  float: right;
}
.pull-left {
  float: left;
}
.fa.pull-left {
  margin-right: .3em;
}
.fa.pull-right {
  margin-left: .3em;
}
.fa-spin {
  -webkit-animation: fa-spin 2s infinite linear;
  animation: fa-spin 2s infinite linear;
}
@-webkit-keyframes fa-spin {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(359deg);
    transform: rotate(359deg);
  }
}
@keyframes fa-spin {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(359deg);
    transform: rotate(359deg);
  }
}
.fa-rotate-90 {
  filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=1);
  -webkit-transform: rotate(90deg);
  -ms-transform: rotate(90deg);
  transform: rotate(90deg);
}
.fa-rotate-180 {
  filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2);
  -webkit-transform: rotate(180deg);
  -ms-transform: rotate(180deg);
  transform: rotate(180deg);
}
.fa-rotate-270 {
  filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=3);
  -webkit-transform: rotate(270deg);
  -ms-transform: rotate(270deg);
  transform: rotate(270deg);
}
.fa-flip-horizontal {
  filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1);
  -webkit-transform: scale(-1, 1);
  -ms-transform: scale(-1, 1);
  transform: scale(-1, 1);
}
.fa-flip-vertical {
  filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1);
  -webkit-transform: scale(1, -1);
  -ms-transform: scale(1, -1);
  transform: scale(1, -1);
}
:root .fa-rotate-90,
:root .fa-rotate-180,
:root .fa-rotate-270,
:root .fa-flip-horizontal,
:root .fa-flip-vertical {
  filter: none;
}
.fa-stack {
  position: relative;
  display: inline-block;
  width: 2em;
  height: 2em;
  line-height: 2em;
  vertical-align: middle;
}
.fa-stack-1x,
.fa-stack-2x {
  position: absolute;
  left: 0;
  width: 100%;
  text-align: center;
}
.fa-stack-1x {
  line-height: inherit;
}
.fa-stack-2x {
  font-size: 2em;
}
.fa-inverse {
  color: #fff;
}
/* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen
   readers do not read off random characters that represent icons */
.fa-glass:before {
  content: &quot;\f000&quot;;
}
.fa-music:before {
  content: &quot;\f001&quot;;
}
.fa-search:before {
  content: &quot;\f002&quot;;
}
.fa-envelope-o:before {
  content: &quot;\f003&quot;;
}
.fa-heart:before {
  content: &quot;\f004&quot;;
}
.fa-star:before {
  content: &quot;\f005&quot;;
}
.fa-star-o:before {
  content: &quot;\f006&quot;;
}
.fa-user:before {
  content: &quot;\f007&quot;;
}
.fa-film:before {
  content: &quot;\f008&quot;;
}
.fa-th-large:before {
  content: &quot;\f009&quot;;
}
.fa-th:before {
  content: &quot;\f00a&quot;;
}
.fa-th-list:before {
  content: &quot;\f00b&quot;;
}
.fa-check:before {
  content: &quot;\f00c&quot;;
}
.fa-remove:before,
.fa-close:before,
.fa-times:before {
  content: &quot;\f00d&quot;;
}
.fa-search-plus:before {
  content: &quot;\f00e&quot;;
}
.fa-search-minus:before {
  content: &quot;\f010&quot;;
}
.fa-power-off:before {
  content: &quot;\f011&quot;;
}
.fa-signal:before {
  content: &quot;\f012&quot;;
}
.fa-gear:before,
.fa-cog:before {
  content: &quot;\f013&quot;;
}
.fa-trash-o:before {
  content: &quot;\f014&quot;;
}
.fa-home:before {
  content: &quot;\f015&quot;;
}
.fa-file-o:before {
  content: &quot;\f016&quot;;
}
.fa-clock-o:before {
  content: &quot;\f017&quot;;
}
.fa-road:before {
  content: &quot;\f018&quot;;
}
.fa-download:before {
  content: &quot;\f019&quot;;
}
.fa-arrow-circle-o-down:before {
  content: &quot;\f01a&quot;;
}
.fa-arrow-circle-o-up:before {
  content: &quot;\f01b&quot;;
}
.fa-inbox:before {
  content: &quot;\f01c&quot;;
}
.fa-play-circle-o:before {
  content: &quot;\f01d&quot;;
}
.fa-rotate-right:before,
.fa-repeat:before {
  content: &quot;\f01e&quot;;
}
.fa-refresh:before {
  content: &quot;\f021&quot;;
}
.fa-list-alt:before {
  content: &quot;\f022&quot;;
}
.fa-lock:before {
  content: &quot;\f023&quot;;
}
.fa-flag:before {
  content: &quot;\f024&quot;;
}
.fa-headphones:before {
  content: &quot;\f025&quot;;
}
.fa-volume-off:before {
  content: &quot;\f026&quot;;
}
.fa-volume-down:before {
  content: &quot;\f027&quot;;
}
.fa-volume-up:before {
  content: &quot;\f028&quot;;
}
.fa-qrcode:before {
  content: &quot;\f029&quot;;
}
.fa-barcode:before {
  content: &quot;\f02a&quot;;
}
.fa-tag:before {
  content: &quot;\f02b&quot;;
}
.fa-tags:before {
  content: &quot;\f02c&quot;;
}
.fa-book:before {
  content: &quot;\f02d&quot;;
}
.fa-bookmark:before {
  content: &quot;\f02e&quot;;
}
.fa-print:before {
  content: &quot;\f02f&quot;;
}
.fa-camera:before {
  content: &quot;\f030&quot;;
}
.fa-font:before {
  content: &quot;\f031&quot;;
}
.fa-bold:before {
  content: &quot;\f032&quot;;
}
.fa-italic:before {
  content: &quot;\f033&quot;;
}
.fa-text-height:before {
  content: &quot;\f034&quot;;
}
.fa-text-width:before {
  content: &quot;\f035&quot;;
}
.fa-align-left:before {
  content: &quot;\f036&quot;;
}
.fa-align-center:before {
  content: &quot;\f037&quot;;
}
.fa-align-right:before {
  content: &quot;\f038&quot;;
}
.fa-align-justify:before {
  content: &quot;\f039&quot;;
}
.fa-list:before {
  content: &quot;\f03a&quot;;
}
.fa-dedent:before,
.fa-outdent:before {
  content: &quot;\f03b&quot;;
}
.fa-indent:before {
  content: &quot;\f03c&quot;;
}
.fa-video-camera:before {
  content: &quot;\f03d&quot;;
}
.fa-photo:before,
.fa-image:before,
.fa-picture-o:before {
  content: &quot;\f03e&quot;;
}
.fa-pencil:before {
  content: &quot;\f040&quot;;
}
.fa-map-marker:before {
  content: &quot;\f041&quot;;
}
.fa-adjust:before {
  content: &quot;\f042&quot;;
}
.fa-tint:before {
  content: &quot;\f043&quot;;
}
.fa-edit:before,
.fa-pencil-square-o:before {
  content: &quot;\f044&quot;;
}
.fa-share-square-o:before {
  content: &quot;\f045&quot;;
}
.fa-check-square-o:before {
  content: &quot;\f046&quot;;
}
.fa-arrows:before {
  content: &quot;\f047&quot;;
}
.fa-step-backward:before {
  content: &quot;\f048&quot;;
}
.fa-fast-backward:before {
  content: &quot;\f049&quot;;
}
.fa-backward:before {
  content: &quot;\f04a&quot;;
}
.fa-play:before {
  content: &quot;\f04b&quot;;
}
.fa-pause:before {
  content: &quot;\f04c&quot;;
}
.fa-stop:before {
  content: &quot;\f04d&quot;;
}
.fa-forward:before {
  content: &quot;\f04e&quot;;
}
.fa-fast-forward:before {
  content: &quot;\f050&quot;;
}
.fa-step-forward:before {
  content: &quot;\f051&quot;;
}
.fa-eject:before {
  content: &quot;\f052&quot;;
}
.fa-chevron-left:before {
  content: &quot;\f053&quot;;
}
.fa-chevron-right:before {
  content: &quot;\f054&quot;;
}
.fa-plus-circle:before {
  content: &quot;\f055&quot;;
}
.fa-minus-circle:before {
  content: &quot;\f056&quot;;
}
.fa-times-circle:before {
  content: &quot;\f057&quot;;
}
.fa-check-circle:before {
  content: &quot;\f058&quot;;
}
.fa-question-circle:before {
  content: &quot;\f059&quot;;
}
.fa-info-circle:before {
  content: &quot;\f05a&quot;;
}
.fa-crosshairs:before {
  content: &quot;\f05b&quot;;
}
.fa-times-circle-o:before {
  content: &quot;\f05c&quot;;
}
.fa-check-circle-o:before {
  content: &quot;\f05d&quot;;
}
.fa-ban:before {
  content: &quot;\f05e&quot;;
}
.fa-arrow-left:before {
  content: &quot;\f060&quot;;
}
.fa-arrow-right:before {
  content: &quot;\f061&quot;;
}
.fa-arrow-up:before {
  content: &quot;\f062&quot;;
}
.fa-arrow-down:before {
  content: &quot;\f063&quot;;
}
.fa-mail-forward:before,
.fa-share:before {
  content: &quot;\f064&quot;;
}
.fa-expand:before {
  content: &quot;\f065&quot;;
}
.fa-compress:before {
  content: &quot;\f066&quot;;
}
.fa-plus:before {
  content: &quot;\f067&quot;;
}
.fa-minus:before {
  content: &quot;\f068&quot;;
}
.fa-asterisk:before {
  content: &quot;\f069&quot;;
}
.fa-exclamation-circle:before {
  content: &quot;\f06a&quot;;
}
.fa-gift:before {
  content: &quot;\f06b&quot;;
}
.fa-leaf:before {
  content: &quot;\f06c&quot;;
}
.fa-fire:before {
  content: &quot;\f06d&quot;;
}
.fa-eye:before {
  content: &quot;\f06e&quot;;
}
.fa-eye-slash:before {
  content: &quot;\f070&quot;;
}
.fa-warning:before,
.fa-exclamation-triangle:before {
  content: &quot;\f071&quot;;
}
.fa-plane:before {
  content: &quot;\f072&quot;;
}
.fa-calendar:before {
  content: &quot;\f073&quot;;
}
.fa-random:before {
  content: &quot;\f074&quot;;
}
.fa-comment:before {
  content: &quot;\f075&quot;;
}
.fa-magnet:before {
  content: &quot;\f076&quot;;
}
.fa-chevron-up:before {
  content: &quot;\f077&quot;;
}
.fa-chevron-down:before {
  content: &quot;\f078&quot;;
}
.fa-retweet:before {
  content: &quot;\f079&quot;;
}
.fa-shopping-cart:before {
  content: &quot;\f07a&quot;;
}
.fa-folder:before {
  content: &quot;\f07b&quot;;
}
.fa-folder-open:before {
  content: &quot;\f07c&quot;;
}
.fa-arrows-v:before {
  content: &quot;\f07d&quot;;
}
.fa-arrows-h:before {
  content: &quot;\f07e&quot;;
}
.fa-bar-chart-o:before,
.fa-bar-chart:before {
  content: &quot;\f080&quot;;
}
.fa-twitter-square:before {
  content: &quot;\f081&quot;;
}
.fa-facebook-square:before {
  content: &quot;\f082&quot;;
}
.fa-camera-retro:before {
  content: &quot;\f083&quot;;
}
.fa-key:before {
  content: &quot;\f084&quot;;
}
.fa-gears:before,
.fa-cogs:before {
  content: &quot;\f085&quot;;
}
.fa-comments:before {
  content: &quot;\f086&quot;;
}
.fa-thumbs-o-up:before {
  content: &quot;\f087&quot;;
}
.fa-thumbs-o-down:before {
  content: &quot;\f088&quot;;
}
.fa-star-half:before {
  content: &quot;\f089&quot;;
}
.fa-heart-o:before {
  content: &quot;\f08a&quot;;
}
.fa-sign-out:before {
  content: &quot;\f08b&quot;;
}
.fa-linkedin-square:before {
  content: &quot;\f08c&quot;;
}
.fa-thumb-tack:before {
  content: &quot;\f08d&quot;;
}
.fa-external-link:before {
  content: &quot;\f08e&quot;;
}
.fa-sign-in:before {
  content: &quot;\f090&quot;;
}
.fa-trophy:before {
  content: &quot;\f091&quot;;
}
.fa-github-square:before {
  content: &quot;\f092&quot;;
}
.fa-upload:before {
  content: &quot;\f093&quot;;
}
.fa-lemon-o:before {
  content: &quot;\f094&quot;;
}
.fa-phone:before {
  content: &quot;\f095&quot;;
}
.fa-square-o:before {
  content: &quot;\f096&quot;;
}
.fa-bookmark-o:before {
  content: &quot;\f097&quot;;
}
.fa-phone-square:before {
  content: &quot;\f098&quot;;
}
.fa-twitter:before {
  content: &quot;\f099&quot;;
}
.fa-facebook:before {
  content: &quot;\f09a&quot;;
}
.fa-github:before {
  content: &quot;\f09b&quot;;
}
.fa-unlock:before {
  content: &quot;\f09c&quot;;
}
.fa-credit-card:before {
  content: &quot;\f09d&quot;;
}
.fa-rss:before {
  content: &quot;\f09e&quot;;
}
.fa-hdd-o:before {
  content: &quot;\f0a0&quot;;
}
.fa-bullhorn:before {
  content: &quot;\f0a1&quot;;
}
.fa-bell:before {
  content: &quot;\f0f3&quot;;
}
.fa-certificate:before {
  content: &quot;\f0a3&quot;;
}
.fa-hand-o-right:before {
  content: &quot;\f0a4&quot;;
}
.fa-hand-o-left:before {
  content: &quot;\f0a5&quot;;
}
.fa-hand-o-up:before {
  content: &quot;\f0a6&quot;;
}
.fa-hand-o-down:before {
  content: &quot;\f0a7&quot;;
}
.fa-arrow-circle-left:before {
  content: &quot;\f0a8&quot;;
}
.fa-arrow-circle-right:before {
  content: &quot;\f0a9&quot;;
}
.fa-arrow-circle-up:before {
  content: &quot;\f0aa&quot;;
}
.fa-arrow-circle-down:before {
  content: &quot;\f0ab&quot;;
}
.fa-globe:before {
  content: &quot;\f0ac&quot;;
}
.fa-wrench:before {
  content: &quot;\f0ad&quot;;
}
.fa-tasks:before {
  content: &quot;\f0ae&quot;;
}
.fa-filter:before {
  content: &quot;\f0b0&quot;;
}
.fa-briefcase:before {
  content: &quot;\f0b1&quot;;
}
.fa-arrows-alt:before {
  content: &quot;\f0b2&quot;;
}
.fa-group:before,
.fa-users:before {
  content: &quot;\f0c0&quot;;
}
.fa-chain:before,
.fa-link:before {
  content: &quot;\f0c1&quot;;
}
.fa-cloud:before {
  content: &quot;\f0c2&quot;;
}
.fa-flask:before {
  content: &quot;\f0c3&quot;;
}
.fa-cut:before,
.fa-scissors:before {
  content: &quot;\f0c4&quot;;
}
.fa-copy:before,
.fa-files-o:before {
  content: &quot;\f0c5&quot;;
}
.fa-paperclip:before {
  content: &quot;\f0c6&quot;;
}
.fa-save:before,
.fa-floppy-o:before {
  content: &quot;\f0c7&quot;;
}
.fa-square:before {
  content: &quot;\f0c8&quot;;
}
.fa-navicon:before,
.fa-reorder:before,
.fa-bars:before {
  content: &quot;\f0c9&quot;;
}
.fa-list-ul:before {
  content: &quot;\f0ca&quot;;
}
.fa-list-ol:before {
  content: &quot;\f0cb&quot;;
}
.fa-strikethrough:before {
  content: &quot;\f0cc&quot;;
}
.fa-underline:before {
  content: &quot;\f0cd&quot;;
}
.fa-table:before {
  content: &quot;\f0ce&quot;;
}
.fa-magic:before {
  content: &quot;\f0d0&quot;;
}
.fa-truck:before {
  content: &quot;\f0d1&quot;;
}
.fa-pinterest:before {
  content: &quot;\f0d2&quot;;
}
.fa-pinterest-square:before {
  content: &quot;\f0d3&quot;;
}
.fa-google-plus-square:before {
  content: &quot;\f0d4&quot;;
}
.fa-google-plus:before {
  content: &quot;\f0d5&quot;;
}
.fa-money:before {
  content: &quot;\f0d6&quot;;
}
.fa-caret-down:before {
  content: &quot;\f0d7&quot;;
}
.fa-caret-up:before {
  content: &quot;\f0d8&quot;;
}
.fa-caret-left:before {
  content: &quot;\f0d9&quot;;
}
.fa-caret-right:before {
  content: &quot;\f0da&quot;;
}
.fa-columns:before {
  content: &quot;\f0db&quot;;
}
.fa-unsorted:before,
.fa-sort:before {
  content: &quot;\f0dc&quot;;
}
.fa-sort-down:before,
.fa-sort-desc:before {
  content: &quot;\f0dd&quot;;
}
.fa-sort-up:before,
.fa-sort-asc:before {
  content: &quot;\f0de&quot;;
}
.fa-envelope:before {
  content: &quot;\f0e0&quot;;
}
.fa-linkedin:before {
  content: &quot;\f0e1&quot;;
}
.fa-rotate-left:before,
.fa-undo:before {
  content: &quot;\f0e2&quot;;
}
.fa-legal:before,
.fa-gavel:before {
  content: &quot;\f0e3&quot;;
}
.fa-dashboard:before,
.fa-tachometer:before {
  content: &quot;\f0e4&quot;;
}
.fa-comment-o:before {
  content: &quot;\f0e5&quot;;
}
.fa-comments-o:before {
  content: &quot;\f0e6&quot;;
}
.fa-flash:before,
.fa-bolt:before {
  content: &quot;\f0e7&quot;;
}
.fa-sitemap:before {
  content: &quot;\f0e8&quot;;
}
.fa-umbrella:before {
  content: &quot;\f0e9&quot;;
}
.fa-paste:before,
.fa-clipboard:before {
  content: &quot;\f0ea&quot;;
}
.fa-lightbulb-o:before {
  content: &quot;\f0eb&quot;;
}
.fa-exchange:before {
  content: &quot;\f0ec&quot;;
}
.fa-cloud-download:before {
  content: &quot;\f0ed&quot;;
}
.fa-cloud-upload:before {
  content: &quot;\f0ee&quot;;
}
.fa-user-md:before {
  content: &quot;\f0f0&quot;;
}
.fa-stethoscope:before {
  content: &quot;\f0f1&quot;;
}
.fa-suitcase:before {
  content: &quot;\f0f2&quot;;
}
.fa-bell-o:before {
  content: &quot;\f0a2&quot;;
}
.fa-coffee:before {
  content: &quot;\f0f4&quot;;
}
.fa-cutlery:before {
  content: &quot;\f0f5&quot;;
}
.fa-file-text-o:before {
  content: &quot;\f0f6&quot;;
}
.fa-building-o:before {
  content: &quot;\f0f7&quot;;
}
.fa-hospital-o:before {
  content: &quot;\f0f8&quot;;
}
.fa-ambulance:before {
  content: &quot;\f0f9&quot;;
}
.fa-medkit:before {
  content: &quot;\f0fa&quot;;
}
.fa-fighter-jet:before {
  content: &quot;\f0fb&quot;;
}
.fa-beer:before {
  content: &quot;\f0fc&quot;;
}
.fa-h-square:before {
  content: &quot;\f0fd&quot;;
}
.fa-plus-square:before {
  content: &quot;\f0fe&quot;;
}
.fa-angle-double-left:before {
  content: &quot;\f100&quot;;
}
.fa-angle-double-right:before {
  content: &quot;\f101&quot;;
}
.fa-angle-double-up:before {
  content: &quot;\f102&quot;;
}
.fa-angle-double-down:before {
  content: &quot;\f103&quot;;
}
.fa-angle-left:before {
  content: &quot;\f104&quot;;
}
.fa-angle-right:before {
  content: &quot;\f105&quot;;
}
.fa-angle-up:before {
  content: &quot;\f106&quot;;
}
.fa-angle-down:before {
  content: &quot;\f107&quot;;
}
.fa-desktop:before {
  content: &quot;\f108&quot;;
}
.fa-laptop:before {
  content: &quot;\f109&quot;;
}
.fa-tablet:before {
  content: &quot;\f10a&quot;;
}
.fa-mobile-phone:before,
.fa-mobile:before {
  content: &quot;\f10b&quot;;
}
.fa-circle-o:before {
  content: &quot;\f10c&quot;;
}
.fa-quote-left:before {
  content: &quot;\f10d&quot;;
}
.fa-quote-right:before {
  content: &quot;\f10e&quot;;
}
.fa-spinner:before {
  content: &quot;\f110&quot;;
}
.fa-circle:before {
  content: &quot;\f111&quot;;
}
.fa-mail-reply:before,
.fa-reply:before {
  content: &quot;\f112&quot;;
}
.fa-github-alt:before {
  content: &quot;\f113&quot;;
}
.fa-folder-o:before {
  content: &quot;\f114&quot;;
}
.fa-folder-open-o:before {
  content: &quot;\f115&quot;;
}
.fa-smile-o:before {
  content: &quot;\f118&quot;;
}
.fa-frown-o:before {
  content: &quot;\f119&quot;;
}
.fa-meh-o:before {
  content: &quot;\f11a&quot;;
}
.fa-gamepad:before {
  content: &quot;\f11b&quot;;
}
.fa-keyboard-o:before {
  content: &quot;\f11c&quot;;
}
.fa-flag-o:before {
  content: &quot;\f11d&quot;;
}
.fa-flag-checkered:before {
  content: &quot;\f11e&quot;;
}
.fa-terminal:before {
  content: &quot;\f120&quot;;
}
.fa-code:before {
  content: &quot;\f121&quot;;
}
.fa-mail-reply-all:before,
.fa-reply-all:before {
  content: &quot;\f122&quot;;
}
.fa-star-half-empty:before,
.fa-star-half-full:before,
.fa-star-half-o:before {
  content: &quot;\f123&quot;;
}
.fa-location-arrow:before {
  content: &quot;\f124&quot;;
}
.fa-crop:before {
  content: &quot;\f125&quot;;
}
.fa-code-fork:before {
  content: &quot;\f126&quot;;
}
.fa-unlink:before,
.fa-chain-broken:before {
  content: &quot;\f127&quot;;
}
.fa-question:before {
  content: &quot;\f128&quot;;
}
.fa-info:before {
  content: &quot;\f129&quot;;
}
.fa-exclamation:before {
  content: &quot;\f12a&quot;;
}
.fa-superscript:before {
  content: &quot;\f12b&quot;;
}
.fa-subscript:before {
  content: &quot;\f12c&quot;;
}
.fa-eraser:before {
  content: &quot;\f12d&quot;;
}
.fa-puzzle-piece:before {
  content: &quot;\f12e&quot;;
}
.fa-microphone:before {
  content: &quot;\f130&quot;;
}
.fa-microphone-slash:before {
  content: &quot;\f131&quot;;
}
.fa-shield:before {
  content: &quot;\f132&quot;;
}
.fa-calendar-o:before {
  content: &quot;\f133&quot;;
}
.fa-fire-extinguisher:before {
  content: &quot;\f134&quot;;
}
.fa-rocket:before {
  content: &quot;\f135&quot;;
}
.fa-maxcdn:before {
  content: &quot;\f136&quot;;
}
.fa-chevron-circle-left:before {
  content: &quot;\f137&quot;;
}
.fa-chevron-circle-right:before {
  content: &quot;\f138&quot;;
}
.fa-chevron-circle-up:before {
  content: &quot;\f139&quot;;
}
.fa-chevron-circle-down:before {
  content: &quot;\f13a&quot;;
}
.fa-html5:before {
  content: &quot;\f13b&quot;;
}
.fa-css3:before {
  content: &quot;\f13c&quot;;
}
.fa-anchor:before {
  content: &quot;\f13d&quot;;
}
.fa-unlock-alt:before {
  content: &quot;\f13e&quot;;
}
.fa-bullseye:before {
  content: &quot;\f140&quot;;
}
.fa-ellipsis-h:before {
  content: &quot;\f141&quot;;
}
.fa-ellipsis-v:before {
  content: &quot;\f142&quot;;
}
.fa-rss-square:before {
  content: &quot;\f143&quot;;
}
.fa-play-circle:before {
  content: &quot;\f144&quot;;
}
.fa-ticket:before {
  content: &quot;\f145&quot;;
}
.fa-minus-square:before {
  content: &quot;\f146&quot;;
}
.fa-minus-square-o:before {
  content: &quot;\f147&quot;;
}
.fa-level-up:before {
  content: &quot;\f148&quot;;
}
.fa-level-down:before {
  content: &quot;\f149&quot;;
}
.fa-check-square:before {
  content: &quot;\f14a&quot;;
}
.fa-pencil-square:before {
  content: &quot;\f14b&quot;;
}
.fa-external-link-square:before {
  content: &quot;\f14c&quot;;
}
.fa-share-square:before {
  content: &quot;\f14d&quot;;
}
.fa-compass:before {
  content: &quot;\f14e&quot;;
}
.fa-toggle-down:before,
.fa-caret-square-o-down:before {
  content: &quot;\f150&quot;;
}
.fa-toggle-up:before,
.fa-caret-square-o-up:before {
  content: &quot;\f151&quot;;
}
.fa-toggle-right:before,
.fa-caret-square-o-right:before {
  content: &quot;\f152&quot;;
}
.fa-euro:before,
.fa-eur:before {
  content: &quot;\f153&quot;;
}
.fa-gbp:before {
  content: &quot;\f154&quot;;
}
.fa-dollar:before,
.fa-usd:before {
  content: &quot;\f155&quot;;
}
.fa-rupee:before,
.fa-inr:before {
  content: &quot;\f156&quot;;
}
.fa-cny:before,
.fa-rmb:before,
.fa-yen:before,
.fa-jpy:before {
  content: &quot;\f157&quot;;
}
.fa-ruble:before,
.fa-rouble:before,
.fa-rub:before {
  content: &quot;\f158&quot;;
}
.fa-won:before,
.fa-krw:before {
  content: &quot;\f159&quot;;
}
.fa-bitcoin:before,
.fa-btc:before {
  content: &quot;\f15a&quot;;
}
.fa-file:before {
  content: &quot;\f15b&quot;;
}
.fa-file-text:before {
  content: &quot;\f15c&quot;;
}
.fa-sort-alpha-asc:before {
  content: &quot;\f15d&quot;;
}
.fa-sort-alpha-desc:before {
  content: &quot;\f15e&quot;;
}
.fa-sort-amount-asc:before {
  content: &quot;\f160&quot;;
}
.fa-sort-amount-desc:before {
  content: &quot;\f161&quot;;
}
.fa-sort-numeric-asc:before {
  content: &quot;\f162&quot;;
}
.fa-sort-numeric-desc:before {
  content: &quot;\f163&quot;;
}
.fa-thumbs-up:before {
  content: &quot;\f164&quot;;
}
.fa-thumbs-down:before {
  content: &quot;\f165&quot;;
}
.fa-youtube-square:before {
  content: &quot;\f166&quot;;
}
.fa-youtube:before {
  content: &quot;\f167&quot;;
}
.fa-xing:before {
  content: &quot;\f168&quot;;
}
.fa-xing-square:before {
  content: &quot;\f169&quot;;
}
.fa-youtube-play:before {
  content: &quot;\f16a&quot;;
}
.fa-dropbox:before {
  content: &quot;\f16b&quot;;
}
.fa-stack-overflow:before {
  content: &quot;\f16c&quot;;
}
.fa-instagram:before {
  content: &quot;\f16d&quot;;
}
.fa-flickr:before {
  content: &quot;\f16e&quot;;
}
.fa-adn:before {
  content: &quot;\f170&quot;;
}
.fa-bitbucket:before {
  content: &quot;\f171&quot;;
}
.fa-bitbucket-square:before {
  content: &quot;\f172&quot;;
}
.fa-tumblr:before {
  content: &quot;\f173&quot;;
}
.fa-tumblr-square:before {
  content: &quot;\f174&quot;;
}
.fa-long-arrow-down:before {
  content: &quot;\f175&quot;;
}
.fa-long-arrow-up:before {
  content: &quot;\f176&quot;;
}
.fa-long-arrow-left:before {
  content: &quot;\f177&quot;;
}
.fa-long-arrow-right:before {
  content: &quot;\f178&quot;;
}
.fa-apple:before {
  content: &quot;\f179&quot;;
}
.fa-windows:before {
  content: &quot;\f17a&quot;;
}
.fa-android:before {
  content: &quot;\f17b&quot;;
}
.fa-linux:before {
  content: &quot;\f17c&quot;;
}
.fa-dribbble:before {
  content: &quot;\f17d&quot;;
}
.fa-skype:before {
  content: &quot;\f17e&quot;;
}
.fa-foursquare:before {
  content: &quot;\f180&quot;;
}
.fa-trello:before {
  content: &quot;\f181&quot;;
}
.fa-female:before {
  content: &quot;\f182&quot;;
}
.fa-male:before {
  content: &quot;\f183&quot;;
}
.fa-gittip:before {
  content: &quot;\f184&quot;;
}
.fa-sun-o:before {
  content: &quot;\f185&quot;;
}
.fa-moon-o:before {
  content: &quot;\f186&quot;;
}
.fa-archive:before {
  content: &quot;\f187&quot;;
}
.fa-bug:before {
  content: &quot;\f188&quot;;
}
.fa-vk:before {
  content: &quot;\f189&quot;;
}
.fa-weibo:before {
  content: &quot;\f18a&quot;;
}
.fa-renren:before {
  content: &quot;\f18b&quot;;
}
.fa-pagelines:before {
  content: &quot;\f18c&quot;;
}
.fa-stack-exchange:before {
  content: &quot;\f18d&quot;;
}
.fa-arrow-circle-o-right:before {
  content: &quot;\f18e&quot;;
}
.fa-arrow-circle-o-left:before {
  content: &quot;\f190&quot;;
}
.fa-toggle-left:before,
.fa-caret-square-o-left:before {
  content: &quot;\f191&quot;;
}
.fa-dot-circle-o:before {
  content: &quot;\f192&quot;;
}
.fa-wheelchair:before {
  content: &quot;\f193&quot;;
}
.fa-vimeo-square:before {
  content: &quot;\f194&quot;;
}
.fa-turkish-lira:before,
.fa-try:before {
  content: &quot;\f195&quot;;
}
.fa-plus-square-o:before {
  content: &quot;\f196&quot;;
}
.fa-space-shuttle:before {
  content: &quot;\f197&quot;;
}
.fa-slack:before {
  content: &quot;\f198&quot;;
}
.fa-envelope-square:before {
  content: &quot;\f199&quot;;
}
.fa-wordpress:before {
  content: &quot;\f19a&quot;;
}
.fa-openid:before {
  content: &quot;\f19b&quot;;
}
.fa-institution:before,
.fa-bank:before,
.fa-university:before {
  content: &quot;\f19c&quot;;
}
.fa-mortar-board:before,
.fa-graduation-cap:before {
  content: &quot;\f19d&quot;;
}
.fa-yahoo:before {
  content: &quot;\f19e&quot;;
}
.fa-google:before {
  content: &quot;\f1a0&quot;;
}
.fa-reddit:before {
  content: &quot;\f1a1&quot;;
}
.fa-reddit-square:before {
  content: &quot;\f1a2&quot;;
}
.fa-stumbleupon-circle:before {
  content: &quot;\f1a3&quot;;
}
.fa-stumbleupon:before {
  content: &quot;\f1a4&quot;;
}
.fa-delicious:before {
  content: &quot;\f1a5&quot;;
}
.fa-digg:before {
  content: &quot;\f1a6&quot;;
}
.fa-pied-piper:before {
  content: &quot;\f1a7&quot;;
}
.fa-pied-piper-alt:before {
  content: &quot;\f1a8&quot;;
}
.fa-drupal:before {
  content: &quot;\f1a9&quot;;
}
.fa-joomla:before {
  content: &quot;\f1aa&quot;;
}
.fa-language:before {
  content: &quot;\f1ab&quot;;
}
.fa-fax:before {
  content: &quot;\f1ac&quot;;
}
.fa-building:before {
  content: &quot;\f1ad&quot;;
}
.fa-child:before {
  content: &quot;\f1ae&quot;;
}
.fa-paw:before {
  content: &quot;\f1b0&quot;;
}
.fa-spoon:before {
  content: &quot;\f1b1&quot;;
}
.fa-cube:before {
  content: &quot;\f1b2&quot;;
}
.fa-cubes:before {
  content: &quot;\f1b3&quot;;
}
.fa-behance:before {
  content: &quot;\f1b4&quot;;
}
.fa-behance-square:before {
  content: &quot;\f1b5&quot;;
}
.fa-steam:before {
  content: &quot;\f1b6&quot;;
}
.fa-steam-square:before {
  content: &quot;\f1b7&quot;;
}
.fa-recycle:before {
  content: &quot;\f1b8&quot;;
}
.fa-automobile:before,
.fa-car:before {
  content: &quot;\f1b9&quot;;
}
.fa-cab:before,
.fa-taxi:before {
  content: &quot;\f1ba&quot;;
}
.fa-tree:before {
  content: &quot;\f1bb&quot;;
}
.fa-spotify:before {
  content: &quot;\f1bc&quot;;
}
.fa-deviantart:before {
  content: &quot;\f1bd&quot;;
}
.fa-soundcloud:before {
  content: &quot;\f1be&quot;;
}
.fa-database:before {
  content: &quot;\f1c0&quot;;
}
.fa-file-pdf-o:before {
  content: &quot;\f1c1&quot;;
}
.fa-file-word-o:before {
  content: &quot;\f1c2&quot;;
}
.fa-file-excel-o:before {
  content: &quot;\f1c3&quot;;
}
.fa-file-powerpoint-o:before {
  content: &quot;\f1c4&quot;;
}
.fa-file-photo-o:before,
.fa-file-picture-o:before,
.fa-file-image-o:before {
  content: &quot;\f1c5&quot;;
}
.fa-file-zip-o:before,
.fa-file-archive-o:before {
  content: &quot;\f1c6&quot;;
}
.fa-file-sound-o:before,
.fa-file-audio-o:before {
  content: &quot;\f1c7&quot;;
}
.fa-file-movie-o:before,
.fa-file-video-o:before {
  content: &quot;\f1c8&quot;;
}
.fa-file-code-o:before {
  content: &quot;\f1c9&quot;;
}
.fa-vine:before {
  content: &quot;\f1ca&quot;;
}
.fa-codepen:before {
  content: &quot;\f1cb&quot;;
}
.fa-jsfiddle:before {
  content: &quot;\f1cc&quot;;
}
.fa-life-bouy:before,
.fa-life-buoy:before,
.fa-life-saver:before,
.fa-support:before,
.fa-life-ring:before {
  content: &quot;\f1cd&quot;;
}
.fa-circle-o-notch:before {
  content: &quot;\f1ce&quot;;
}
.fa-ra:before,
.fa-rebel:before {
  content: &quot;\f1d0&quot;;
}
.fa-ge:before,
.fa-empire:before {
  content: &quot;\f1d1&quot;;
}
.fa-git-square:before {
  content: &quot;\f1d2&quot;;
}
.fa-git:before {
  content: &quot;\f1d3&quot;;
}
.fa-hacker-news:before {
  content: &quot;\f1d4&quot;;
}
.fa-tencent-weibo:before {
  content: &quot;\f1d5&quot;;
}
.fa-qq:before {
  content: &quot;\f1d6&quot;;
}
.fa-wechat:before,
.fa-weixin:before {
  content: &quot;\f1d7&quot;;
}
.fa-send:before,
.fa-paper-plane:before {
  content: &quot;\f1d8&quot;;
}
.fa-send-o:before,
.fa-paper-plane-o:before {
  content: &quot;\f1d9&quot;;
}
.fa-history:before {
  content: &quot;\f1da&quot;;
}
.fa-circle-thin:before {
  content: &quot;\f1db&quot;;
}
.fa-header:before {
  content: &quot;\f1dc&quot;;
}
.fa-paragraph:before {
  content: &quot;\f1dd&quot;;
}
.fa-sliders:before {
  content: &quot;\f1de&quot;;
}
.fa-share-alt:before {
  content: &quot;\f1e0&quot;;
}
.fa-share-alt-square:before {
  content: &quot;\f1e1&quot;;
}
.fa-bomb:before {
  content: &quot;\f1e2&quot;;
}
.fa-soccer-ball-o:before,
.fa-futbol-o:before {
  content: &quot;\f1e3&quot;;
}
.fa-tty:before {
  content: &quot;\f1e4&quot;;
}
.fa-binoculars:before {
  content: &quot;\f1e5&quot;;
}
.fa-plug:before {
  content: &quot;\f1e6&quot;;
}
.fa-slideshare:before {
  content: &quot;\f1e7&quot;;
}
.fa-twitch:before {
  content: &quot;\f1e8&quot;;
}
.fa-yelp:before {
  content: &quot;\f1e9&quot;;
}
.fa-newspaper-o:before {
  content: &quot;\f1ea&quot;;
}
.fa-wifi:before {
  content: &quot;\f1eb&quot;;
}
.fa-calculator:before {
  content: &quot;\f1ec&quot;;
}
.fa-paypal:before {
  content: &quot;\f1ed&quot;;
}
.fa-google-wallet:before {
  content: &quot;\f1ee&quot;;
}
.fa-cc-visa:before {
  content: &quot;\f1f0&quot;;
}
.fa-cc-mastercard:before {
  content: &quot;\f1f1&quot;;
}
.fa-cc-discover:before {
  content: &quot;\f1f2&quot;;
}
.fa-cc-amex:before {
  content: &quot;\f1f3&quot;;
}
.fa-cc-paypal:before {
  content: &quot;\f1f4&quot;;
}
.fa-cc-stripe:before {
  content: &quot;\f1f5&quot;;
}
.fa-bell-slash:before {
  content: &quot;\f1f6&quot;;
}
.fa-bell-slash-o:before {
  content: &quot;\f1f7&quot;;
}
.fa-trash:before {
  content: &quot;\f1f8&quot;;
}
.fa-copyright:before {
  content: &quot;\f1f9&quot;;
}
.fa-at:before {
  content: &quot;\f1fa&quot;;
}
.fa-eyedropper:before {
  content: &quot;\f1fb&quot;;
}
.fa-paint-brush:before {
  content: &quot;\f1fc&quot;;
}
.fa-birthday-cake:before {
  content: &quot;\f1fd&quot;;
}
.fa-area-chart:before {
  content: &quot;\f1fe&quot;;
}
.fa-pie-chart:before {
  content: &quot;\f200&quot;;
}
.fa-line-chart:before {
  content: &quot;\f201&quot;;
}
.fa-lastfm:before {
  content: &quot;\f202&quot;;
}
.fa-lastfm-square:before {
  content: &quot;\f203&quot;;
}
.fa-toggle-off:before {
  content: &quot;\f204&quot;;
}
.fa-toggle-on:before {
  content: &quot;\f205&quot;;
}
.fa-bicycle:before {
  content: &quot;\f206&quot;;
}
.fa-bus:before {
  content: &quot;\f207&quot;;
}
.fa-ioxhost:before {
  content: &quot;\f208&quot;;
}
.fa-angellist:before {
  content: &quot;\f209&quot;;
}
.fa-cc:before {
  content: &quot;\f20a&quot;;
}
.fa-shekel:before,
.fa-sheqel:before,
.fa-ils:before {
  content: &quot;\f20b&quot;;
}
.fa-meanpath:before {
  content: &quot;\f20c&quot;;
}
/*!
*
* IPython base
*
*/
.modal.fade .modal-dialog {
  -webkit-transform: translate(0, 0);
  -ms-transform: translate(0, 0);
  -o-transform: translate(0, 0);
  transform: translate(0, 0);
}
code {
  color: #000;
}
pre {
  font-size: inherit;
  line-height: inherit;
}
label {
  font-weight: normal;
}
/* Make the page background atleast 100% the height of the view port */
/* Make the page itself atleast 70% the height of the view port */
.border-box-sizing {
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
}
.corner-all {
  border-radius: 2px;
}
.no-padding {
  padding: 0px;
}
/* Flexible box model classes */
/* Taken from Alex Russell http://infrequently.org/2009/08/css-3-progress/ */
/* This file is a compatability layer.  It allows the usage of flexible box 
model layouts accross multiple browsers, including older browsers.  The newest,
universal implementation of the flexible box model is used when available (see
`Modern browsers` comments below).  Browsers that are known to implement this 
new spec completely include:

    Firefox 28.0+
    Chrome 29.0+
    Internet Explorer 11+ 
    Opera 17.0+

Browsers not listed, including Safari, are supported via the styling under the
`Old browsers` comments below.
*/
.hbox {
  /* Old browsers */
  display: -webkit-box;
  -webkit-box-orient: horizontal;
  -webkit-box-align: stretch;
  display: -moz-box;
  -moz-box-orient: horizontal;
  -moz-box-align: stretch;
  display: box;
  box-orient: horizontal;
  box-align: stretch;
  /* Modern browsers */
  display: flex;
  flex-direction: row;
  align-items: stretch;
}
.hbox &gt; * {
  /* Old browsers */
  -webkit-box-flex: 0;
  -moz-box-flex: 0;
  box-flex: 0;
  /* Modern browsers */
  flex: none;
}
.vbox {
  /* Old browsers */
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-box-align: stretch;
  display: -moz-box;
  -moz-box-orient: vertical;
  -moz-box-align: stretch;
  display: box;
  box-orient: vertical;
  box-align: stretch;
  /* Modern browsers */
  display: flex;
  flex-direction: column;
  align-items: stretch;
}
.vbox &gt; * {
  /* Old browsers */
  -webkit-box-flex: 0;
  -moz-box-flex: 0;
  box-flex: 0;
  /* Modern browsers */
  flex: none;
}
.hbox.reverse,
.vbox.reverse,
.reverse {
  /* Old browsers */
  -webkit-box-direction: reverse;
  -moz-box-direction: reverse;
  box-direction: reverse;
  /* Modern browsers */
  flex-direction: row-reverse;
}
.hbox.box-flex0,
.vbox.box-flex0,
.box-flex0 {
  /* Old browsers */
  -webkit-box-flex: 0;
  -moz-box-flex: 0;
  box-flex: 0;
  /* Modern browsers */
  flex: none;
  width: auto;
}
.hbox.box-flex1,
.vbox.box-flex1,
.box-flex1 {
  /* Old browsers */
  -webkit-box-flex: 1;
  -moz-box-flex: 1;
  box-flex: 1;
  /* Modern browsers */
  flex: 1;
}
.hbox.box-flex,
.vbox.box-flex,
.box-flex {
  /* Old browsers */
  /* Old browsers */
  -webkit-box-flex: 1;
  -moz-box-flex: 1;
  box-flex: 1;
  /* Modern browsers */
  flex: 1;
}
.hbox.box-flex2,
.vbox.box-flex2,
.box-flex2 {
  /* Old browsers */
  -webkit-box-flex: 2;
  -moz-box-flex: 2;
  box-flex: 2;
  /* Modern browsers */
  flex: 2;
}
.box-group1 {
  /*  Deprecated */
  -webkit-box-flex-group: 1;
  -moz-box-flex-group: 1;
  box-flex-group: 1;
}
.box-group2 {
  /* Deprecated */
  -webkit-box-flex-group: 2;
  -moz-box-flex-group: 2;
  box-flex-group: 2;
}
.hbox.start,
.vbox.start,
.start {
  /* Old browsers */
  -webkit-box-pack: start;
  -moz-box-pack: start;
  box-pack: start;
  /* Modern browsers */
  justify-content: flex-start;
}
.hbox.end,
.vbox.end,
.end {
  /* Old browsers */
  -webkit-box-pack: end;
  -moz-box-pack: end;
  box-pack: end;
  /* Modern browsers */
  justify-content: flex-end;
}
.hbox.center,
.vbox.center,
.center {
  /* Old browsers */
  -webkit-box-pack: center;
  -moz-box-pack: center;
  box-pack: center;
  /* Modern browsers */
  justify-content: center;
}
.hbox.baseline,
.vbox.baseline,
.baseline {
  /* Old browsers */
  -webkit-box-pack: baseline;
  -moz-box-pack: baseline;
  box-pack: baseline;
  /* Modern browsers */
  justify-content: baseline;
}
.hbox.stretch,
.vbox.stretch,
.stretch {
  /* Old browsers */
  -webkit-box-pack: stretch;
  -moz-box-pack: stretch;
  box-pack: stretch;
  /* Modern browsers */
  justify-content: stretch;
}
.hbox.align-start,
.vbox.align-start,
.align-start {
  /* Old browsers */
  -webkit-box-align: start;
  -moz-box-align: start;
  box-align: start;
  /* Modern browsers */
  align-items: flex-start;
}
.hbox.align-end,
.vbox.align-end,
.align-end {
  /* Old browsers */
  -webkit-box-align: end;
  -moz-box-align: end;
  box-align: end;
  /* Modern browsers */
  align-items: flex-end;
}
.hbox.align-center,
.vbox.align-center,
.align-center {
  /* Old browsers */
  -webkit-box-align: center;
  -moz-box-align: center;
  box-align: center;
  /* Modern browsers */
  align-items: center;
}
.hbox.align-baseline,
.vbox.align-baseline,
.align-baseline {
  /* Old browsers */
  -webkit-box-align: baseline;
  -moz-box-align: baseline;
  box-align: baseline;
  /* Modern browsers */
  align-items: baseline;
}
.hbox.align-stretch,
.vbox.align-stretch,
.align-stretch {
  /* Old browsers */
  -webkit-box-align: stretch;
  -moz-box-align: stretch;
  box-align: stretch;
  /* Modern browsers */
  align-items: stretch;
}
div.error {
  margin: 2em;
  text-align: center;
}
div.error &gt; h1 {
  font-size: 500%;
  line-height: normal;
}
div.error &gt; p {
  font-size: 200%;
  line-height: normal;
}
div.traceback-wrapper {
  text-align: left;
  max-width: 800px;
  margin: auto;
}
/**
 * Primary styles
 *
 * Author: Jupyter Development Team
 */
body {
  background-color: #fff;
  /* This makes sure that the body covers the entire window and needs to
       be in a different element than the display: box in wrapper below */
  position: absolute;
  left: 0px;
  right: 0px;
  top: 0px;
  bottom: 0px;
  overflow: visible;
}
body &gt; #header {
  /* Initially hidden to prevent FLOUC */
  display: none;
  background-color: #fff;
  /* Display over codemirror */
  position: relative;
  z-index: 100;
}
body &gt; #header #header-container {
  padding-bottom: 5px;
  padding-top: 5px;
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
}
body &gt; #header .header-bar {
  width: 100%;
  height: 1px;
  background: #e7e7e7;
  margin-bottom: -1px;
}
@media print {
  body &gt; #header {
    display: none !important;
  }
}
#header-spacer {
  width: 100%;
  visibility: hidden;
}
@media print {
  #header-spacer {
    display: none;
  }
}
#ipython_notebook {
  padding-left: 0px;
  padding-top: 1px;
  padding-bottom: 1px;
}
@media (max-width: 991px) {
  #ipython_notebook {
    margin-left: 10px;
  }
}
[dir=&quot;rtl&quot;] #ipython_notebook {
  float: right !important;
}
#noscript {
  width: auto;
  padding-top: 16px;
  padding-bottom: 16px;
  text-align: center;
  font-size: 22px;
  color: red;
  font-weight: bold;
}
#ipython_notebook img {
  height: 28px;
}
#site {
  width: 100%;
  display: none;
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  overflow: auto;
}
@media print {
  #site {
    height: auto !important;
  }
}
/* Smaller buttons */
.ui-button .ui-button-text {
  padding: 0.2em 0.8em;
  font-size: 77%;
}
input.ui-button {
  padding: 0.3em 0.9em;
}
span#login_widget {
  float: right;
}
span#login_widget &gt; .button,
#logout {
  color: #333;
  background-color: #fff;
  border-color: #ccc;
}
span#login_widget &gt; .button:focus,
#logout:focus,
span#login_widget &gt; .button.focus,
#logout.focus {
  color: #333;
  background-color: #e6e6e6;
  border-color: #8c8c8c;
}
span#login_widget &gt; .button:hover,
#logout:hover {
  color: #333;
  background-color: #e6e6e6;
  border-color: #adadad;
}
span#login_widget &gt; .button:active,
#logout:active,
span#login_widget &gt; .button.active,
#logout.active,
.open &gt; .dropdown-togglespan#login_widget &gt; .button,
.open &gt; .dropdown-toggle#logout {
  color: #333;
  background-color: #e6e6e6;
  border-color: #adadad;
}
span#login_widget &gt; .button:active:hover,
#logout:active:hover,
span#login_widget &gt; .button.active:hover,
#logout.active:hover,
.open &gt; .dropdown-togglespan#login_widget &gt; .button:hover,
.open &gt; .dropdown-toggle#logout:hover,
span#login_widget &gt; .button:active:focus,
#logout:active:focus,
span#login_widget &gt; .button.active:focus,
#logout.active:focus,
.open &gt; .dropdown-togglespan#login_widget &gt; .button:focus,
.open &gt; .dropdown-toggle#logout:focus,
span#login_widget &gt; .button:active.focus,
#logout:active.focus,
span#login_widget &gt; .button.active.focus,
#logout.active.focus,
.open &gt; .dropdown-togglespan#login_widget &gt; .button.focus,
.open &gt; .dropdown-toggle#logout.focus {
  color: #333;
  background-color: #d4d4d4;
  border-color: #8c8c8c;
}
span#login_widget &gt; .button:active,
#logout:active,
span#login_widget &gt; .button.active,
#logout.active,
.open &gt; .dropdown-togglespan#login_widget &gt; .button,
.open &gt; .dropdown-toggle#logout {
  background-image: none;
}
span#login_widget &gt; .button.disabled:hover,
#logout.disabled:hover,
span#login_widget &gt; .button[disabled]:hover,
#logout[disabled]:hover,
fieldset[disabled] span#login_widget &gt; .button:hover,
fieldset[disabled] #logout:hover,
span#login_widget &gt; .button.disabled:focus,
#logout.disabled:focus,
span#login_widget &gt; .button[disabled]:focus,
#logout[disabled]:focus,
fieldset[disabled] span#login_widget &gt; .button:focus,
fieldset[disabled] #logout:focus,
span#login_widget &gt; .button.disabled.focus,
#logout.disabled.focus,
span#login_widget &gt; .button[disabled].focus,
#logout[disabled].focus,
fieldset[disabled] span#login_widget &gt; .button.focus,
fieldset[disabled] #logout.focus {
  background-color: #fff;
  border-color: #ccc;
}
span#login_widget &gt; .button .badge,
#logout .badge {
  color: #fff;
  background-color: #333;
}
.nav-header {
  text-transform: none;
}
#header &gt; span {
  margin-top: 10px;
}
.modal_stretch .modal-dialog {
  /* Old browsers */
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-box-align: stretch;
  display: -moz-box;
  -moz-box-orient: vertical;
  -moz-box-align: stretch;
  display: box;
  box-orient: vertical;
  box-align: stretch;
  /* Modern browsers */
  display: flex;
  flex-direction: column;
  align-items: stretch;
  min-height: 80vh;
}
.modal_stretch .modal-dialog .modal-body {
  max-height: calc(100vh - 200px);
  overflow: auto;
  flex: 1;
}
@media (min-width: 768px) {
  .modal .modal-dialog {
    width: 700px;
  }
}
@media (min-width: 768px) {
  select.form-control {
    margin-left: 12px;
    margin-right: 12px;
  }
}
/*!
*
* IPython auth
*
*/
.center-nav {
  display: inline-block;
  margin-bottom: -4px;
}
/*!
*
* IPython tree view
*
*/
/* We need an invisible input field on top of the sentense*/
/* &quot;Drag file onto the list ...&quot; */
.alternate_upload {
  background-color: none;
  display: inline;
}
.alternate_upload.form {
  padding: 0;
  margin: 0;
}
.alternate_upload input.fileinput {
  text-align: center;
  vertical-align: middle;
  display: inline;
  opacity: 0;
  z-index: 2;
  width: 12ex;
  margin-right: -12ex;
}
.alternate_upload .btn-upload {
  height: 22px;
}
/**
 * Primary styles
 *
 * Author: Jupyter Development Team
 */
[dir=&quot;rtl&quot;] #tabs li {
  float: right;
}
ul#tabs {
  margin-bottom: 4px;
}
[dir=&quot;rtl&quot;] ul#tabs {
  margin-right: 0px;
}
ul#tabs a {
  padding-top: 6px;
  padding-bottom: 4px;
}
ul.breadcrumb a:focus,
ul.breadcrumb a:hover {
  text-decoration: none;
}
ul.breadcrumb i.icon-home {
  font-size: 16px;
  margin-right: 4px;
}
ul.breadcrumb span {
  color: #5e5e5e;
}
.list_toolbar {
  padding: 4px 0 4px 0;
  vertical-align: middle;
}
.list_toolbar .tree-buttons {
  padding-top: 1px;
}
[dir=&quot;rtl&quot;] .list_toolbar .tree-buttons {
  float: left !important;
}
[dir=&quot;rtl&quot;] .list_toolbar .pull-right {
  padding-top: 1px;
  float: left !important;
}
[dir=&quot;rtl&quot;] .list_toolbar .pull-left {
  float: right !important;
}
.dynamic-buttons {
  padding-top: 3px;
  display: inline-block;
}
.list_toolbar [class*=&quot;span&quot;] {
  min-height: 24px;
}
.list_header {
  font-weight: bold;
  background-color: #EEE;
}
.list_placeholder {
  font-weight: bold;
  padding-top: 4px;
  padding-bottom: 4px;
  padding-left: 7px;
  padding-right: 7px;
}
.list_container {
  margin-top: 4px;
  margin-bottom: 20px;
  border: 1px solid #ddd;
  border-radius: 2px;
}
.list_container &gt; div {
  border-bottom: 1px solid #ddd;
}
.list_container &gt; div:hover .list-item {
  background-color: red;
}
.list_container &gt; div:last-child {
  border: none;
}
.list_item:hover .list_item {
  background-color: #ddd;
}
.list_item a {
  text-decoration: none;
}
.list_item:hover {
  background-color: #fafafa;
}
.list_header &gt; div,
.list_item &gt; div {
  padding-top: 4px;
  padding-bottom: 4px;
  padding-left: 7px;
  padding-right: 7px;
  line-height: 22px;
}
.list_header &gt; div input,
.list_item &gt; div input {
  margin-right: 7px;
  margin-left: 14px;
  vertical-align: baseline;
  line-height: 22px;
  position: relative;
  top: -1px;
}
.list_header &gt; div .item_link,
.list_item &gt; div .item_link {
  margin-left: -1px;
  vertical-align: baseline;
  line-height: 22px;
}
.new-file input[type=checkbox] {
  visibility: hidden;
}
.item_name {
  line-height: 22px;
  height: 24px;
}
.item_icon {
  font-size: 14px;
  color: #5e5e5e;
  margin-right: 7px;
  margin-left: 7px;
  line-height: 22px;
  vertical-align: baseline;
}
.item_buttons {
  line-height: 1em;
  margin-left: -5px;
}
.item_buttons .btn,
.item_buttons .btn-group,
.item_buttons .input-group {
  float: left;
}
.item_buttons &gt; .btn,
.item_buttons &gt; .btn-group,
.item_buttons &gt; .input-group {
  margin-left: 5px;
}
.item_buttons .btn {
  min-width: 13ex;
}
.item_buttons .running-indicator {
  padding-top: 4px;
  color: #5cb85c;
}
.item_buttons .kernel-name {
  padding-top: 4px;
  color: #5bc0de;
  margin-right: 7px;
  float: left;
}
.toolbar_info {
  height: 24px;
  line-height: 24px;
}
.list_item input:not([type=checkbox]) {
  padding-top: 3px;
  padding-bottom: 3px;
  height: 22px;
  line-height: 14px;
  margin: 0px;
}
.highlight_text {
  color: blue;
}
#project_name {
  display: inline-block;
  padding-left: 7px;
  margin-left: -2px;
}
#project_name &gt; .breadcrumb {
  padding: 0px;
  margin-bottom: 0px;
  background-color: transparent;
  font-weight: bold;
}
#tree-selector {
  padding-right: 0px;
}
[dir=&quot;rtl&quot;] #tree-selector a {
  float: right;
}
#button-select-all {
  min-width: 50px;
}
#select-all {
  margin-left: 7px;
  margin-right: 2px;
}
.menu_icon {
  margin-right: 2px;
}
.tab-content .row {
  margin-left: 0px;
  margin-right: 0px;
}
.folder_icon:before {
  display: inline-block;
  font: normal normal normal 14px/1 FontAwesome;
  font-size: inherit;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: &quot;\f114&quot;;
}
.folder_icon:before.pull-left {
  margin-right: .3em;
}
.folder_icon:before.pull-right {
  margin-left: .3em;
}
.notebook_icon:before {
  display: inline-block;
  font: normal normal normal 14px/1 FontAwesome;
  font-size: inherit;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: &quot;\f02d&quot;;
  position: relative;
  top: -1px;
}
.notebook_icon:before.pull-left {
  margin-right: .3em;
}
.notebook_icon:before.pull-right {
  margin-left: .3em;
}
.running_notebook_icon:before {
  display: inline-block;
  font: normal normal normal 14px/1 FontAwesome;
  font-size: inherit;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: &quot;\f02d&quot;;
  position: relative;
  top: -1px;
  color: #5cb85c;
}
.running_notebook_icon:before.pull-left {
  margin-right: .3em;
}
.running_notebook_icon:before.pull-right {
  margin-left: .3em;
}
.file_icon:before {
  display: inline-block;
  font: normal normal normal 14px/1 FontAwesome;
  font-size: inherit;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: &quot;\f016&quot;;
  position: relative;
  top: -2px;
}
.file_icon:before.pull-left {
  margin-right: .3em;
}
.file_icon:before.pull-right {
  margin-left: .3em;
}
#notebook_toolbar .pull-right {
  padding-top: 0px;
  margin-right: -1px;
}
ul#new-menu {
  left: auto;
  right: 0;
}
[dir=&quot;rtl&quot;] #new-menu {
  text-align: right;
}
.kernel-menu-icon {
  padding-right: 12px;
  width: 24px;
  content: &quot;\f096&quot;;
}
.kernel-menu-icon:before {
  content: &quot;\f096&quot;;
}
.kernel-menu-icon-current:before {
  content: &quot;\f00c&quot;;
}
#tab_content {
  padding-top: 20px;
}
#running .panel-group .panel {
  margin-top: 3px;
  margin-bottom: 1em;
}
#running .panel-group .panel .panel-heading {
  background-color: #EEE;
  padding-top: 4px;
  padding-bottom: 4px;
  padding-left: 7px;
  padding-right: 7px;
  line-height: 22px;
}
#running .panel-group .panel .panel-heading a:focus,
#running .panel-group .panel .panel-heading a:hover {
  text-decoration: none;
}
#running .panel-group .panel .panel-body {
  padding: 0px;
}
#running .panel-group .panel .panel-body .list_container {
  margin-top: 0px;
  margin-bottom: 0px;
  border: 0px;
  border-radius: 0px;
}
#running .panel-group .panel .panel-body .list_container .list_item {
  border-bottom: 1px solid #ddd;
}
#running .panel-group .panel .panel-body .list_container .list_item:last-child {
  border-bottom: 0px;
}
[dir=&quot;rtl&quot;] #running .col-sm-8 {
  float: right !important;
}
.delete-button {
  display: none;
}
.duplicate-button {
  display: none;
}
.rename-button {
  display: none;
}
.shutdown-button {
  display: none;
}
.dynamic-instructions {
  display: inline-block;
  padding-top: 4px;
}
/*!
*
* IPython text editor webapp
*
*/
.selected-keymap i.fa {
  padding: 0px 5px;
}
.selected-keymap i.fa:before {
  content: &quot;\f00c&quot;;
}
#mode-menu {
  overflow: auto;
  max-height: 20em;
}
.edit_app #header {
  -webkit-box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2);
  box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2);
}
.edit_app #menubar .navbar {
  /* Use a negative 1 bottom margin, so the border overlaps the border of the
    header */
  margin-bottom: -1px;
}
.dirty-indicator {
  display: inline-block;
  font: normal normal normal 14px/1 FontAwesome;
  font-size: inherit;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  width: 20px;
}
.dirty-indicator.pull-left {
  margin-right: .3em;
}
.dirty-indicator.pull-right {
  margin-left: .3em;
}
.dirty-indicator-dirty {
  display: inline-block;
  font: normal normal normal 14px/1 FontAwesome;
  font-size: inherit;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  width: 20px;
}
.dirty-indicator-dirty.pull-left {
  margin-right: .3em;
}
.dirty-indicator-dirty.pull-right {
  margin-left: .3em;
}
.dirty-indicator-clean {
  display: inline-block;
  font: normal normal normal 14px/1 FontAwesome;
  font-size: inherit;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  width: 20px;
}
.dirty-indicator-clean.pull-left {
  margin-right: .3em;
}
.dirty-indicator-clean.pull-right {
  margin-left: .3em;
}
.dirty-indicator-clean:before {
  display: inline-block;
  font: normal normal normal 14px/1 FontAwesome;
  font-size: inherit;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: &quot;\f00c&quot;;
}
.dirty-indicator-clean:before.pull-left {
  margin-right: .3em;
}
.dirty-indicator-clean:before.pull-right {
  margin-left: .3em;
}
#filename {
  font-size: 16pt;
  display: table;
  padding: 0px 5px;
}
#current-mode {
  padding-left: 5px;
  padding-right: 5px;
}
#texteditor-backdrop {
  padding-top: 20px;
  padding-bottom: 20px;
}
@media not print {
  #texteditor-backdrop {
    background-color: #EEE;
  }
}
@media print {
  #texteditor-backdrop #texteditor-container .CodeMirror-gutter,
  #texteditor-backdrop #texteditor-container .CodeMirror-gutters {
    background-color: #fff;
  }
}
@media not print {
  #texteditor-backdrop #texteditor-container .CodeMirror-gutter,
  #texteditor-backdrop #texteditor-container .CodeMirror-gutters {
    background-color: #fff;
  }
}
@media not print {
  #texteditor-backdrop #texteditor-container {
    padding: 0px;
    background-color: #fff;
    -webkit-box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2);
    box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2);
  }
}
/*!
*
* IPython notebook
*
*/
/* CSS font colors for translated ANSI colors. */
.ansibold {
  font-weight: bold;
}
/* use dark versions for foreground, to improve visibility */
.ansiblack {
  color: black;
}
.ansired {
  color: darkred;
}
.ansigreen {
  color: darkgreen;
}
.ansiyellow {
  color: #c4a000;
}
.ansiblue {
  color: darkblue;
}
.ansipurple {
  color: darkviolet;
}
.ansicyan {
  color: steelblue;
}
.ansigray {
  color: gray;
}
/* and light for background, for the same reason */
.ansibgblack {
  background-color: black;
}
.ansibgred {
  background-color: red;
}
.ansibggreen {
  background-color: green;
}
.ansibgyellow {
  background-color: yellow;
}
.ansibgblue {
  background-color: blue;
}
.ansibgpurple {
  background-color: magenta;
}
.ansibgcyan {
  background-color: cyan;
}
.ansibggray {
  background-color: gray;
}
div.cell {
  /* Old browsers */
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-box-align: stretch;
  display: -moz-box;
  -moz-box-orient: vertical;
  -moz-box-align: stretch;
  display: box;
  box-orient: vertical;
  box-align: stretch;
  /* Modern browsers */
  display: flex;
  flex-direction: column;
  align-items: stretch;
  border-radius: 2px;
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  border-width: 1px;
  border-style: solid;
  border-color: transparent;
  width: 100%;
  padding: 5px;
  /* This acts as a spacer between cells, that is outside the border */
  margin: 0px;
  outline: none;
  border-left-width: 1px;
  padding-left: 5px;
  background: linear-gradient(to right, transparent -40px, transparent 1px, transparent 1px, transparent 100%);
}
div.cell.jupyter-soft-selected {
  border-left-color: #90CAF9;
  border-left-color: #E3F2FD;
  border-left-width: 1px;
  padding-left: 5px;
  border-right-color: #E3F2FD;
  border-right-width: 1px;
  background: #E3F2FD;
}
@media print {
  div.cell.jupyter-soft-selected {
    border-color: transparent;
  }
}
div.cell.selected {
  border-color: #ababab;
  border-left-width: 0px;
  padding-left: 6px;
  background: linear-gradient(to right, #42A5F5 -40px, #42A5F5 5px, transparent 5px, transparent 100%);
}
@media print {
  div.cell.selected {
    border-color: transparent;
  }
}
div.cell.selected.jupyter-soft-selected {
  border-left-width: 0;
  padding-left: 6px;
  background: linear-gradient(to right, #42A5F5 -40px, #42A5F5 7px, #E3F2FD 7px, #E3F2FD 100%);
}
.edit_mode div.cell.selected {
  border-color: #66BB6A;
  border-left-width: 0px;
  padding-left: 6px;
  background: linear-gradient(to right, #66BB6A -40px, #66BB6A 5px, transparent 5px, transparent 100%);
}
@media print {
  .edit_mode div.cell.selected {
    border-color: transparent;
  }
}
.prompt {
  /* This needs to be wide enough for 3 digit prompt numbers: In[100]: */
  min-width: 14ex;
  /* This padding is tuned to match the padding on the CodeMirror editor. */
  padding: 0.4em;
  margin: 0px;
  font-family: monospace;
  text-align: right;
  /* This has to match that of the the CodeMirror class line-height below */
  line-height: 1.21429em;
  /* Don't highlight prompt number selection */
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  /* Use default cursor */
  cursor: default;
}
@media (max-width: 540px) {
  .prompt {
    text-align: left;
  }
}
div.inner_cell {
  min-width: 0;
  /* Old browsers */
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-box-align: stretch;
  display: -moz-box;
  -moz-box-orient: vertical;
  -moz-box-align: stretch;
  display: box;
  box-orient: vertical;
  box-align: stretch;
  /* Modern browsers */
  display: flex;
  flex-direction: column;
  align-items: stretch;
  /* Old browsers */
  -webkit-box-flex: 1;
  -moz-box-flex: 1;
  box-flex: 1;
  /* Modern browsers */
  flex: 1;
}
/* input_area and input_prompt must match in top border and margin for alignment */
div.input_area {
  border: 1px solid #cfcfcf;
  border-radius: 2px;
  background: #f7f7f7;
  line-height: 1.21429em;
}
/* This is needed so that empty prompt areas can collapse to zero height when there
   is no content in the output_subarea and the prompt. The main purpose of this is
   to make sure that empty JavaScript output_subareas have no height. */
div.prompt:empty {
  padding-top: 0;
  padding-bottom: 0;
}
div.unrecognized_cell {
  padding: 5px 5px 5px 0px;
  /* Old browsers */
  display: -webkit-box;
  -webkit-box-orient: horizontal;
  -webkit-box-align: stretch;
  display: -moz-box;
  -moz-box-orient: horizontal;
  -moz-box-align: stretch;
  display: box;
  box-orient: horizontal;
  box-align: stretch;
  /* Modern browsers */
  display: flex;
  flex-direction: row;
  align-items: stretch;
}
div.unrecognized_cell .inner_cell {
  border-radius: 2px;
  padding: 5px;
  font-weight: bold;
  color: red;
  border: 1px solid #cfcfcf;
  background: #eaeaea;
}
div.unrecognized_cell .inner_cell a {
  color: inherit;
  text-decoration: none;
}
div.unrecognized_cell .inner_cell a:hover {
  color: inherit;
  text-decoration: none;
}
@media (max-width: 540px) {
  div.unrecognized_cell &gt; div.prompt {
    display: none;
  }
}
div.code_cell {
  /* avoid page breaking on code cells when printing */
}
@media print {
  div.code_cell {
    page-break-inside: avoid;
  }
}
/* any special styling for code cells that are currently running goes here */
div.input {
  page-break-inside: avoid;
  /* Old browsers */
  display: -webkit-box;
  -webkit-box-orient: horizontal;
  -webkit-box-align: stretch;
  display: -moz-box;
  -moz-box-orient: horizontal;
  -moz-box-align: stretch;
  display: box;
  box-orient: horizontal;
  box-align: stretch;
  /* Modern browsers */
  display: flex;
  flex-direction: row;
  align-items: stretch;
}
@media (max-width: 540px) {
  div.input {
    /* Old browsers */
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-box-align: stretch;
    display: -moz-box;
    -moz-box-orient: vertical;
    -moz-box-align: stretch;
    display: box;
    box-orient: vertical;
    box-align: stretch;
    /* Modern browsers */
    display: flex;
    flex-direction: column;
    align-items: stretch;
  }
}
/* input_area and input_prompt must match in top border and margin for alignment */
div.input_prompt {
  color: #303F9F;
  border-top: 1px solid transparent;
}
div.input_area &gt; div.highlight {
  margin: 0.4em;
  border: none;
  padding: 0px;
  background-color: transparent;
}
div.input_area &gt; div.highlight &gt; pre {
  margin: 0px;
  border: none;
  padding: 0px;
  background-color: transparent;
}
/* The following gets added to the &lt;head&gt; if it is detected that the user has a
 * monospace font with inconsistent normal/bold/italic height.  See
 * notebookmain.js.  Such fonts will have keywords vertically offset with
 * respect to the rest of the text.  The user should select a better font.
 * See: https://github.com/ipython/ipython/issues/1503
 *
 * .CodeMirror span {
 *      vertical-align: bottom;
 * }
 */
.CodeMirror {
  line-height: 1.21429em;
  /* Changed from 1em to our global default */
  font-size: 14px;
  height: auto;
  /* Changed to auto to autogrow */
  background: none;
  /* Changed from white to allow our bg to show through */
}
.CodeMirror-scroll {
  /*  The CodeMirror docs are a bit fuzzy on if overflow-y should be hidden or visible.*/
  /*  We have found that if it is visible, vertical scrollbars appear with font size changes.*/
  overflow-y: hidden;
  overflow-x: auto;
}
.CodeMirror-lines {
  /* In CM2, this used to be 0.4em, but in CM3 it went to 4px. We need the em value because */
  /* we have set a different line-height and want this to scale with that. */
  padding: 0.4em;
}
.CodeMirror-linenumber {
  padding: 0 8px 0 4px;
}
.CodeMirror-gutters {
  border-bottom-left-radius: 2px;
  border-top-left-radius: 2px;
}
.CodeMirror pre {
  /* In CM3 this went to 4px from 0 in CM2. We need the 0 value because of how we size */
  /* .CodeMirror-lines */
  padding: 0;
  border: 0;
  border-radius: 0;
}
/*

Original style from softwaremaniacs.org (c) Ivan Sagalaev &lt;Maniac@SoftwareManiacs.Org&gt;
Adapted from GitHub theme

*/
.highlight-base {
  color: #000;
}
.highlight-variable {
  color: #000;
}
.highlight-variable-2 {
  color: #1a1a1a;
}
.highlight-variable-3 {
  color: #333333;
}
.highlight-string {
  color: #BA2121;
}
.highlight-comment {
  color: #408080;
  font-style: italic;
}
.highlight-number {
  color: #080;
}
.highlight-atom {
  color: #88F;
}
.highlight-keyword {
  color: #008000;
  font-weight: bold;
}
.highlight-builtin {
  color: #008000;
}
.highlight-error {
  color: #f00;
}
.highlight-operator {
  color: #AA22FF;
  font-weight: bold;
}
.highlight-meta {
  color: #AA22FF;
}
/* previously not defined, copying from default codemirror */
.highlight-def {
  color: #00f;
}
.highlight-string-2 {
  color: #f50;
}
.highlight-qualifier {
  color: #555;
}
.highlight-bracket {
  color: #997;
}
.highlight-tag {
  color: #170;
}
.highlight-attribute {
  color: #00c;
}
.highlight-header {
  color: blue;
}
.highlight-quote {
  color: #090;
}
.highlight-link {
  color: #00c;
}
/* apply the same style to codemirror */
.cm-s-ipython span.cm-keyword {
  color: #008000;
  font-weight: bold;
}
.cm-s-ipython span.cm-atom {
  color: #88F;
}
.cm-s-ipython span.cm-number {
  color: #080;
}
.cm-s-ipython span.cm-def {
  color: #00f;
}
.cm-s-ipython span.cm-variable {
  color: #000;
}
.cm-s-ipython span.cm-operator {
  color: #AA22FF;
  font-weight: bold;
}
.cm-s-ipython span.cm-variable-2 {
  color: #1a1a1a;
}
.cm-s-ipython span.cm-variable-3 {
  color: #333333;
}
.cm-s-ipython span.cm-comment {
  color: #408080;
  font-style: italic;
}
.cm-s-ipython span.cm-string {
  color: #BA2121;
}
.cm-s-ipython span.cm-string-2 {
  color: #f50;
}
.cm-s-ipython span.cm-meta {
  color: #AA22FF;
}
.cm-s-ipython span.cm-qualifier {
  color: #555;
}
.cm-s-ipython span.cm-builtin {
  color: #008000;
}
.cm-s-ipython span.cm-bracket {
  color: #997;
}
.cm-s-ipython span.cm-tag {
  color: #170;
}
.cm-s-ipython span.cm-attribute {
  color: #00c;
}
.cm-s-ipython span.cm-header {
  color: blue;
}
.cm-s-ipython span.cm-quote {
  color: #090;
}
.cm-s-ipython span.cm-link {
  color: #00c;
}
.cm-s-ipython span.cm-error {
  color: #f00;
}
.cm-s-ipython span.cm-tab {
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAMCAYAAAAkuj5RAAAAAXNSR0IArs4c6QAAAGFJREFUSMft1LsRQFAQheHPowAKoACx3IgEKtaEHujDjORSgWTH/ZOdnZOcM/sgk/kFFWY0qV8foQwS4MKBCS3qR6ixBJvElOobYAtivseIE120FaowJPN75GMu8j/LfMwNjh4HUpwg4LUAAAAASUVORK5CYII=);
  background-position: right;
  background-repeat: no-repeat;
}
div.output_wrapper {
  /* this position must be relative to enable descendents to be absolute within it */
  position: relative;
  /* Old browsers */
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-box-align: stretch;
  display: -moz-box;
  -moz-box-orient: vertical;
  -moz-box-align: stretch;
  display: box;
  box-orient: vertical;
  box-align: stretch;
  /* Modern browsers */
  display: flex;
  flex-direction: column;
  align-items: stretch;
  z-index: 1;
}
/* class for the output area when it should be height-limited */
div.output_scroll {
  /* ideally, this would be max-height, but FF barfs all over that */
  height: 24em;
  /* FF needs this *and the wrapper* to specify full width, or it will shrinkwrap */
  width: 100%;
  overflow: auto;
  border-radius: 2px;
  -webkit-box-shadow: inset 0 2px 8px rgba(0, 0, 0, 0.8);
  box-shadow: inset 0 2px 8px rgba(0, 0, 0, 0.8);
  display: block;
}
/* output div while it is collapsed */
div.output_collapsed {
  margin: 0px;
  padding: 0px;
  /* Old browsers */
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-box-align: stretch;
  display: -moz-box;
  -moz-box-orient: vertical;
  -moz-box-align: stretch;
  display: box;
  box-orient: vertical;
  box-align: stretch;
  /* Modern browsers */
  display: flex;
  flex-direction: column;
  align-items: stretch;
}
div.out_prompt_overlay {
  height: 100%;
  padding: 0px 0.4em;
  position: absolute;
  border-radius: 2px;
}
div.out_prompt_overlay:hover {
  /* use inner shadow to get border that is computed the same on WebKit/FF */
  -webkit-box-shadow: inset 0 0 1px #000;
  box-shadow: inset 0 0 1px #000;
  background: rgba(240, 240, 240, 0.5);
}
div.output_prompt {
  color: #D84315;
}
/* This class is the outer container of all output sections. */
div.output_area {
  padding: 0px;
  page-break-inside: avoid;
  /* Old browsers */
  display: -webkit-box;
  -webkit-box-orient: horizontal;
  -webkit-box-align: stretch;
  display: -moz-box;
  -moz-box-orient: horizontal;
  -moz-box-align: stretch;
  display: box;
  box-orient: horizontal;
  box-align: stretch;
  /* Modern browsers */
  display: flex;
  flex-direction: row;
  align-items: stretch;
}
div.output_area .MathJax_Display {
  text-align: left !important;
}
div.output_area .rendered_html table {
  margin-left: 0;
  margin-right: 0;
}
div.output_area .rendered_html img {
  margin-left: 0;
  margin-right: 0;
}
div.output_area img,
div.output_area svg {
  max-width: 100%;
  height: auto;
}
div.output_area img.unconfined,
div.output_area svg.unconfined {
  max-width: none;
}
/* This is needed to protect the pre formating from global settings such
   as that of bootstrap */
.output {
  /* Old browsers */
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-box-align: stretch;
  display: -moz-box;
  -moz-box-orient: vertical;
  -moz-box-align: stretch;
  display: box;
  box-orient: vertical;
  box-align: stretch;
  /* Modern browsers */
  display: flex;
  flex-direction: column;
  align-items: stretch;
}
@media (max-width: 540px) {
  div.output_area {
    /* Old browsers */
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-box-align: stretch;
    display: -moz-box;
    -moz-box-orient: vertical;
    -moz-box-align: stretch;
    display: box;
    box-orient: vertical;
    box-align: stretch;
    /* Modern browsers */
    display: flex;
    flex-direction: column;
    align-items: stretch;
  }
}
div.output_area pre {
  margin: 0;
  padding: 0;
  border: 0;
  vertical-align: baseline;
  color: black;
  background-color: transparent;
  border-radius: 0;
}
/* This class is for the output subarea inside the output_area and after
   the prompt div. */
div.output_subarea {
  overflow-x: auto;
  padding: 0.4em;
  /* Old browsers */
  -webkit-box-flex: 1;
  -moz-box-flex: 1;
  box-flex: 1;
  /* Modern browsers */
  flex: 1;
  max-width: calc(100% - 14ex);
}
div.output_scroll div.output_subarea {
  overflow-x: visible;
}
/* The rest of the output_* classes are for special styling of the different
   output types */
/* all text output has this class: */
div.output_text {
  text-align: left;
  color: #000;
  /* This has to match that of the the CodeMirror class line-height below */
  line-height: 1.21429em;
}
/* stdout/stderr are 'text' as well as 'stream', but execute_result/error are *not* streams */
div.output_stderr {
  background: #fdd;
  /* very light red background for stderr */
}
div.output_latex {
  text-align: left;
}
/* Empty output_javascript divs should have no height */
div.output_javascript:empty {
  padding: 0;
}
.js-error {
  color: darkred;
}
/* raw_input styles */
div.raw_input_container {
  line-height: 1.21429em;
  padding-top: 5px;
}
pre.raw_input_prompt {
  /* nothing needed here. */
}
input.raw_input {
  font-family: monospace;
  font-size: inherit;
  color: inherit;
  width: auto;
  /* make sure input baseline aligns with prompt */
  vertical-align: baseline;
  /* padding + margin = 0.5em between prompt and cursor */
  padding: 0em 0.25em;
  margin: 0em 0.25em;
}
input.raw_input:focus {
  box-shadow: none;
}
p.p-space {
  margin-bottom: 10px;
}
div.output_unrecognized {
  padding: 5px;
  font-weight: bold;
  color: red;
}
div.output_unrecognized a {
  color: inherit;
  text-decoration: none;
}
div.output_unrecognized a:hover {
  color: inherit;
  text-decoration: none;
}
.rendered_html {
  color: #000;
  /* any extras will just be numbers: */
}
.rendered_html em {
  font-style: italic;
}
.rendered_html strong {
  font-weight: bold;
}
.rendered_html u {
  text-decoration: underline;
}
.rendered_html :link {
  text-decoration: underline;
}
.rendered_html :visited {
  text-decoration: underline;
}
.rendered_html h1 {
  font-size: 185.7%;
  margin: 1.08em 0 0 0;
  font-weight: bold;
  line-height: 1.0;
}
.rendered_html h2 {
  font-size: 157.1%;
  margin: 1.27em 0 0 0;
  font-weight: bold;
  line-height: 1.0;
}
.rendered_html h3 {
  font-size: 128.6%;
  margin: 1.55em 0 0 0;
  font-weight: bold;
  line-height: 1.0;
}
.rendered_html h4 {
  font-size: 100%;
  margin: 2em 0 0 0;
  font-weight: bold;
  line-height: 1.0;
}
.rendered_html h5 {
  font-size: 100%;
  margin: 2em 0 0 0;
  font-weight: bold;
  line-height: 1.0;
  font-style: italic;
}
.rendered_html h6 {
  font-size: 100%;
  margin: 2em 0 0 0;
  font-weight: bold;
  line-height: 1.0;
  font-style: italic;
}
.rendered_html h1:first-child {
  margin-top: 0.538em;
}
.rendered_html h2:first-child {
  margin-top: 0.636em;
}
.rendered_html h3:first-child {
  margin-top: 0.777em;
}
.rendered_html h4:first-child {
  margin-top: 1em;
}
.rendered_html h5:first-child {
  margin-top: 1em;
}
.rendered_html h6:first-child {
  margin-top: 1em;
}
.rendered_html ul {
  list-style: disc;
  margin: 0em 2em;
  padding-left: 0px;
}
.rendered_html ul ul {
  list-style: square;
  margin: 0em 2em;
}
.rendered_html ul ul ul {
  list-style: circle;
  margin: 0em 2em;
}
.rendered_html ol {
  list-style: decimal;
  margin: 0em 2em;
  padding-left: 0px;
}
.rendered_html ol ol {
  list-style: upper-alpha;
  margin: 0em 2em;
}
.rendered_html ol ol ol {
  list-style: lower-alpha;
  margin: 0em 2em;
}
.rendered_html ol ol ol ol {
  list-style: lower-roman;
  margin: 0em 2em;
}
.rendered_html ol ol ol ol ol {
  list-style: decimal;
  margin: 0em 2em;
}
.rendered_html * + ul {
  margin-top: 1em;
}
.rendered_html * + ol {
  margin-top: 1em;
}
.rendered_html hr {
  color: black;
  background-color: black;
}
.rendered_html pre {
  margin: 1em 2em;
}
.rendered_html pre,
.rendered_html code {
  border: 0;
  background-color: #fff;
  color: #000;
  font-size: 100%;
  padding: 0px;
}
.rendered_html blockquote {
  margin: 1em 2em;
}
.rendered_html table {
  margin-left: auto;
  margin-right: auto;
  border: 1px solid black;
  border-collapse: collapse;
}
.rendered_html tr,
.rendered_html th,
.rendered_html td {
  border: 1px solid black;
  border-collapse: collapse;
  margin: 1em 2em;
}
.rendered_html td,
.rendered_html th {
  text-align: left;
  vertical-align: middle;
  padding: 4px;
}
.rendered_html th {
  font-weight: bold;
}
.rendered_html * + table {
  margin-top: 1em;
}
.rendered_html p {
  text-align: left;
}
.rendered_html * + p {
  margin-top: 1em;
}
.rendered_html img {
  display: block;
  margin-left: auto;
  margin-right: auto;
}
.rendered_html * + img {
  margin-top: 1em;
}
.rendered_html img,
.rendered_html svg {
  max-width: 100%;
  height: auto;
}
.rendered_html img.unconfined,
.rendered_html svg.unconfined {
  max-width: none;
}
div.text_cell {
  /* Old browsers */
  display: -webkit-box;
  -webkit-box-orient: horizontal;
  -webkit-box-align: stretch;
  display: -moz-box;
  -moz-box-orient: horizontal;
  -moz-box-align: stretch;
  display: box;
  box-orient: horizontal;
  box-align: stretch;
  /* Modern browsers */
  display: flex;
  flex-direction: row;
  align-items: stretch;
}
@media (max-width: 540px) {
  div.text_cell &gt; div.prompt {
    display: none;
  }
}
div.text_cell_render {
  /*font-family: &quot;Helvetica Neue&quot;, Arial, Helvetica, Geneva, sans-serif;*/
  outline: none;
  resize: none;
  width: inherit;
  border-style: none;
  padding: 0.5em 0.5em 0.5em 0.4em;
  color: #000;
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
}
a.anchor-link:link {
  text-decoration: none;
  padding: 0px 20px;
  visibility: hidden;
}
h1:hover .anchor-link,
h2:hover .anchor-link,
h3:hover .anchor-link,
h4:hover .anchor-link,
h5:hover .anchor-link,
h6:hover .anchor-link {
  visibility: visible;
}
.text_cell.rendered .input_area {
  display: none;
}
.text_cell.rendered .rendered_html {
  overflow-x: auto;
  overflow-y: hidden;
}
.text_cell.unrendered .text_cell_render {
  display: none;
}
.cm-header-1,
.cm-header-2,
.cm-header-3,
.cm-header-4,
.cm-header-5,
.cm-header-6 {
  font-weight: bold;
  font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, sans-serif;
}
.cm-header-1 {
  font-size: 185.7%;
}
.cm-header-2 {
  font-size: 157.1%;
}
.cm-header-3 {
  font-size: 128.6%;
}
.cm-header-4 {
  font-size: 110%;
}
.cm-header-5 {
  font-size: 100%;
  font-style: italic;
}
.cm-header-6 {
  font-size: 100%;
  font-style: italic;
}
/*!
*
* IPython notebook webapp
*
*/
@media (max-width: 767px) {
  .notebook_app {
    padding-left: 0px;
    padding-right: 0px;
  }
}
#ipython-main-app {
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  height: 100%;
}
div#notebook_panel {
  margin: 0px;
  padding: 0px;
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  height: 100%;
}
div#notebook {
  font-size: 14px;
  line-height: 20px;
  overflow-y: hidden;
  overflow-x: auto;
  width: 100%;
  /* This spaces the page away from the edge of the notebook area */
  padding-top: 20px;
  margin: 0px;
  outline: none;
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  min-height: 100%;
}
@media not print {
  #notebook-container {
    padding: 15px;
    background-color: #fff;
    min-height: 0;
    -webkit-box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2);
    box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2);
  }
}
@media print {
  #notebook-container {
    width: 100%;
  }
}
div.ui-widget-content {
  border: 1px solid #ababab;
  outline: none;
}
pre.dialog {
  background-color: #f7f7f7;
  border: 1px solid #ddd;
  border-radius: 2px;
  padding: 0.4em;
  padding-left: 2em;
}
p.dialog {
  padding: 0.2em;
}
/* Word-wrap output correctly.  This is the CSS3 spelling, though Firefox seems
   to not honor it correctly.  Webkit browsers (Chrome, rekonq, Safari) do.
 */
pre,
code,
kbd,
samp {
  white-space: pre-wrap;
}
#fonttest {
  font-family: monospace;
}
p {
  margin-bottom: 0;
}
.end_space {
  min-height: 100px;
  transition: height .2s ease;
}
.notebook_app &gt; #header {
  -webkit-box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2);
  box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2);
}
@media not print {
  .notebook_app {
    background-color: #EEE;
  }
}
kbd {
  border-style: solid;
  border-width: 1px;
  box-shadow: none;
  margin: 2px;
  padding-left: 2px;
  padding-right: 2px;
  padding-top: 1px;
  padding-bottom: 1px;
}
/* CSS for the cell toolbar */
.celltoolbar {
  border: thin solid #CFCFCF;
  border-bottom: none;
  background: #EEE;
  border-radius: 2px 2px 0px 0px;
  width: 100%;
  height: 29px;
  padding-right: 4px;
  /* Old browsers */
  display: -webkit-box;
  -webkit-box-orient: horizontal;
  -webkit-box-align: stretch;
  display: -moz-box;
  -moz-box-orient: horizontal;
  -moz-box-align: stretch;
  display: box;
  box-orient: horizontal;
  box-align: stretch;
  /* Modern browsers */
  display: flex;
  flex-direction: row;
  align-items: stretch;
  /* Old browsers */
  -webkit-box-pack: end;
  -moz-box-pack: end;
  box-pack: end;
  /* Modern browsers */
  justify-content: flex-end;
  display: -webkit-flex;
}
@media print {
  .celltoolbar {
    display: none;
  }
}
.ctb_hideshow {
  display: none;
  vertical-align: bottom;
}
/* ctb_show is added to the ctb_hideshow div to show the cell toolbar.
   Cell toolbars are only shown when the ctb_global_show class is also set.
*/
.ctb_global_show .ctb_show.ctb_hideshow {
  display: block;
}
.ctb_global_show .ctb_show + .input_area,
.ctb_global_show .ctb_show + div.text_cell_input,
.ctb_global_show .ctb_show ~ div.text_cell_render {
  border-top-right-radius: 0px;
  border-top-left-radius: 0px;
}
.ctb_global_show .ctb_show ~ div.text_cell_render {
  border: 1px solid #cfcfcf;
}
.celltoolbar {
  font-size: 87%;
  padding-top: 3px;
}
.celltoolbar select {
  display: block;
  width: 100%;
  height: 32px;
  padding: 6px 12px;
  font-size: 13px;
  line-height: 1.42857143;
  color: #555555;
  background-color: #fff;
  background-image: none;
  border: 1px solid #ccc;
  border-radius: 2px;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
  -webkit-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
  -o-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
  transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
  height: 30px;
  padding: 5px 10px;
  font-size: 12px;
  line-height: 1.5;
  border-radius: 1px;
  width: inherit;
  font-size: inherit;
  height: 22px;
  padding: 0px;
  display: inline-block;
}
.celltoolbar select:focus {
  border-color: #66afe9;
  outline: 0;
  -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6);
  box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6);
}
.celltoolbar select::-moz-placeholder {
  color: #999;
  opacity: 1;
}
.celltoolbar select:-ms-input-placeholder {
  color: #999;
}
.celltoolbar select::-webkit-input-placeholder {
  color: #999;
}
.celltoolbar select::-ms-expand {
  border: 0;
  background-color: transparent;
}
.celltoolbar select[disabled],
.celltoolbar select[readonly],
fieldset[disabled] .celltoolbar select {
  background-color: #eeeeee;
  opacity: 1;
}
.celltoolbar select[disabled],
fieldset[disabled] .celltoolbar select {
  cursor: not-allowed;
}
textarea.celltoolbar select {
  height: auto;
}
select.celltoolbar select {
  height: 30px;
  line-height: 30px;
}
textarea.celltoolbar select,
select[multiple].celltoolbar select {
  height: auto;
}
.celltoolbar label {
  margin-left: 5px;
  margin-right: 5px;
}
.completions {
  position: absolute;
  z-index: 110;
  overflow: hidden;
  border: 1px solid #ababab;
  border-radius: 2px;
  -webkit-box-shadow: 0px 6px 10px -1px #adadad;
  box-shadow: 0px 6px 10px -1px #adadad;
  line-height: 1;
}
.completions select {
  background: white;
  outline: none;
  border: none;
  padding: 0px;
  margin: 0px;
  overflow: auto;
  font-family: monospace;
  font-size: 110%;
  color: #000;
  width: auto;
}
.completions select option.context {
  color: #286090;
}
#kernel_logo_widget {
  float: right !important;
  float: right;
}
#kernel_logo_widget .current_kernel_logo {
  display: none;
  margin-top: -1px;
  margin-bottom: -1px;
  width: 32px;
  height: 32px;
}
#menubar {
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  margin-top: 1px;
}
#menubar .navbar {
  border-top: 1px;
  border-radius: 0px 0px 2px 2px;
  margin-bottom: 0px;
}
#menubar .navbar-toggle {
  float: left;
  padding-top: 7px;
  padding-bottom: 7px;
  border: none;
}
#menubar .navbar-collapse {
  clear: left;
}
.nav-wrapper {
  border-bottom: 1px solid #e7e7e7;
}
i.menu-icon {
  padding-top: 4px;
}
ul#help_menu li a {
  overflow: hidden;
  padding-right: 2.2em;
}
ul#help_menu li a i {
  margin-right: -1.2em;
}
.dropdown-submenu {
  position: relative;
}
.dropdown-submenu &gt; .dropdown-menu {
  top: 0;
  left: 100%;
  margin-top: -6px;
  margin-left: -1px;
}
.dropdown-submenu:hover &gt; .dropdown-menu {
  display: block;
}
.dropdown-submenu &gt; a:after {
  display: inline-block;
  font: normal normal normal 14px/1 FontAwesome;
  font-size: inherit;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  display: block;
  content: &quot;\f0da&quot;;
  float: right;
  color: #333333;
  margin-top: 2px;
  margin-right: -10px;
}
.dropdown-submenu &gt; a:after.pull-left {
  margin-right: .3em;
}
.dropdown-submenu &gt; a:after.pull-right {
  margin-left: .3em;
}
.dropdown-submenu:hover &gt; a:after {
  color: #262626;
}
.dropdown-submenu.pull-left {
  float: none;
}
.dropdown-submenu.pull-left &gt; .dropdown-menu {
  left: -100%;
  margin-left: 10px;
}
#notification_area {
  float: right !important;
  float: right;
  z-index: 10;
}
.indicator_area {
  float: right !important;
  float: right;
  color: #777;
  margin-left: 5px;
  margin-right: 5px;
  width: 11px;
  z-index: 10;
  text-align: center;
  width: auto;
}
#kernel_indicator {
  float: right !important;
  float: right;
  color: #777;
  margin-left: 5px;
  margin-right: 5px;
  width: 11px;
  z-index: 10;
  text-align: center;
  width: auto;
  border-left: 1px solid;
}
#kernel_indicator .kernel_indicator_name {
  padding-left: 5px;
  padding-right: 5px;
}
#modal_indicator {
  float: right !important;
  float: right;
  color: #777;
  margin-left: 5px;
  margin-right: 5px;
  width: 11px;
  z-index: 10;
  text-align: center;
  width: auto;
}
#readonly-indicator {
  float: right !important;
  float: right;
  color: #777;
  margin-left: 5px;
  margin-right: 5px;
  width: 11px;
  z-index: 10;
  text-align: center;
  width: auto;
  margin-top: 2px;
  margin-bottom: 0px;
  margin-left: 0px;
  margin-right: 0px;
  display: none;
}
.modal_indicator:before {
  width: 1.28571429em;
  text-align: center;
}
.edit_mode .modal_indicator:before {
  display: inline-block;
  font: normal normal normal 14px/1 FontAwesome;
  font-size: inherit;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: &quot;\f040&quot;;
}
.edit_mode .modal_indicator:before.pull-left {
  margin-right: .3em;
}
.edit_mode .modal_indicator:before.pull-right {
  margin-left: .3em;
}
.command_mode .modal_indicator:before {
  display: inline-block;
  font: normal normal normal 14px/1 FontAwesome;
  font-size: inherit;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: ' ';
}
.command_mode .modal_indicator:before.pull-left {
  margin-right: .3em;
}
.command_mode .modal_indicator:before.pull-right {
  margin-left: .3em;
}
.kernel_idle_icon:before {
  display: inline-block;
  font: normal normal normal 14px/1 FontAwesome;
  font-size: inherit;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: &quot;\f10c&quot;;
}
.kernel_idle_icon:before.pull-left {
  margin-right: .3em;
}
.kernel_idle_icon:before.pull-right {
  margin-left: .3em;
}
.kernel_busy_icon:before {
  display: inline-block;
  font: normal normal normal 14px/1 FontAwesome;
  font-size: inherit;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: &quot;\f111&quot;;
}
.kernel_busy_icon:before.pull-left {
  margin-right: .3em;
}
.kernel_busy_icon:before.pull-right {
  margin-left: .3em;
}
.kernel_dead_icon:before {
  display: inline-block;
  font: normal normal normal 14px/1 FontAwesome;
  font-size: inherit;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: &quot;\f1e2&quot;;
}
.kernel_dead_icon:before.pull-left {
  margin-right: .3em;
}
.kernel_dead_icon:before.pull-right {
  margin-left: .3em;
}
.kernel_disconnected_icon:before {
  display: inline-block;
  font: normal normal normal 14px/1 FontAwesome;
  font-size: inherit;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: &quot;\f127&quot;;
}
.kernel_disconnected_icon:before.pull-left {
  margin-right: .3em;
}
.kernel_disconnected_icon:before.pull-right {
  margin-left: .3em;
}
.notification_widget {
  color: #777;
  z-index: 10;
  background: rgba(240, 240, 240, 0.5);
  margin-right: 4px;
  color: #333;
  background-color: #fff;
  border-color: #ccc;
}
.notification_widget:focus,
.notification_widget.focus {
  color: #333;
  background-color: #e6e6e6;
  border-color: #8c8c8c;
}
.notification_widget:hover {
  color: #333;
  background-color: #e6e6e6;
  border-color: #adadad;
}
.notification_widget:active,
.notification_widget.active,
.open &gt; .dropdown-toggle.notification_widget {
  color: #333;
  background-color: #e6e6e6;
  border-color: #adadad;
}
.notification_widget:active:hover,
.notification_widget.active:hover,
.open &gt; .dropdown-toggle.notification_widget:hover,
.notification_widget:active:focus,
.notification_widget.active:focus,
.open &gt; .dropdown-toggle.notification_widget:focus,
.notification_widget:active.focus,
.notification_widget.active.focus,
.open &gt; .dropdown-toggle.notification_widget.focus {
  color: #333;
  background-color: #d4d4d4;
  border-color: #8c8c8c;
}
.notification_widget:active,
.notification_widget.active,
.open &gt; .dropdown-toggle.notification_widget {
  background-image: none;
}
.notification_widget.disabled:hover,
.notification_widget[disabled]:hover,
fieldset[disabled] .notification_widget:hover,
.notification_widget.disabled:focus,
.notification_widget[disabled]:focus,
fieldset[disabled] .notification_widget:focus,
.notification_widget.disabled.focus,
.notification_widget[disabled].focus,
fieldset[disabled] .notification_widget.focus {
  background-color: #fff;
  border-color: #ccc;
}
.notification_widget .badge {
  color: #fff;
  background-color: #333;
}
.notification_widget.warning {
  color: #fff;
  background-color: #f0ad4e;
  border-color: #eea236;
}
.notification_widget.warning:focus,
.notification_widget.warning.focus {
  color: #fff;
  background-color: #ec971f;
  border-color: #985f0d;
}
.notification_widget.warning:hover {
  color: #fff;
  background-color: #ec971f;
  border-color: #d58512;
}
.notification_widget.warning:active,
.notification_widget.warning.active,
.open &gt; .dropdown-toggle.notification_widget.warning {
  color: #fff;
  background-color: #ec971f;
  border-color: #d58512;
}
.notification_widget.warning:active:hover,
.notification_widget.warning.active:hover,
.open &gt; .dropdown-toggle.notification_widget.warning:hover,
.notification_widget.warning:active:focus,
.notification_widget.warning.active:focus,
.open &gt; .dropdown-toggle.notification_widget.warning:focus,
.notification_widget.warning:active.focus,
.notification_widget.warning.active.focus,
.open &gt; .dropdown-toggle.notification_widget.warning.focus {
  color: #fff;
  background-color: #d58512;
  border-color: #985f0d;
}
.notification_widget.warning:active,
.notification_widget.warning.active,
.open &gt; .dropdown-toggle.notification_widget.warning {
  background-image: none;
}
.notification_widget.warning.disabled:hover,
.notification_widget.warning[disabled]:hover,
fieldset[disabled] .notification_widget.warning:hover,
.notification_widget.warning.disabled:focus,
.notification_widget.warning[disabled]:focus,
fieldset[disabled] .notification_widget.warning:focus,
.notification_widget.warning.disabled.focus,
.notification_widget.warning[disabled].focus,
fieldset[disabled] .notification_widget.warning.focus {
  background-color: #f0ad4e;
  border-color: #eea236;
}
.notification_widget.warning .badge {
  color: #f0ad4e;
  background-color: #fff;
}
.notification_widget.success {
  color: #fff;
  background-color: #5cb85c;
  border-color: #4cae4c;
}
.notification_widget.success:focus,
.notification_widget.success.focus {
  color: #fff;
  background-color: #449d44;
  border-color: #255625;
}
.notification_widget.success:hover {
  color: #fff;
  background-color: #449d44;
  border-color: #398439;
}
.notification_widget.success:active,
.notification_widget.success.active,
.open &gt; .dropdown-toggle.notification_widget.success {
  color: #fff;
  background-color: #449d44;
  border-color: #398439;
}
.notification_widget.success:active:hover,
.notification_widget.success.active:hover,
.open &gt; .dropdown-toggle.notification_widget.success:hover,
.notification_widget.success:active:focus,
.notification_widget.success.active:focus,
.open &gt; .dropdown-toggle.notification_widget.success:focus,
.notification_widget.success:active.focus,
.notification_widget.success.active.focus,
.open &gt; .dropdown-toggle.notification_widget.success.focus {
  color: #fff;
  background-color: #398439;
  border-color: #255625;
}
.notification_widget.success:active,
.notification_widget.success.active,
.open &gt; .dropdown-toggle.notification_widget.success {
  background-image: none;
}
.notification_widget.success.disabled:hover,
.notification_widget.success[disabled]:hover,
fieldset[disabled] .notification_widget.success:hover,
.notification_widget.success.disabled:focus,
.notification_widget.success[disabled]:focus,
fieldset[disabled] .notification_widget.success:focus,
.notification_widget.success.disabled.focus,
.notification_widget.success[disabled].focus,
fieldset[disabled] .notification_widget.success.focus {
  background-color: #5cb85c;
  border-color: #4cae4c;
}
.notification_widget.success .badge {
  color: #5cb85c;
  background-color: #fff;
}
.notification_widget.info {
  color: #fff;
  background-color: #5bc0de;
  border-color: #46b8da;
}
.notification_widget.info:focus,
.notification_widget.info.focus {
  color: #fff;
  background-color: #31b0d5;
  border-color: #1b6d85;
}
.notification_widget.info:hover {
  color: #fff;
  background-color: #31b0d5;
  border-color: #269abc;
}
.notification_widget.info:active,
.notification_widget.info.active,
.open &gt; .dropdown-toggle.notification_widget.info {
  color: #fff;
  background-color: #31b0d5;
  border-color: #269abc;
}
.notification_widget.info:active:hover,
.notification_widget.info.active:hover,
.open &gt; .dropdown-toggle.notification_widget.info:hover,
.notification_widget.info:active:focus,
.notification_widget.info.active:focus,
.open &gt; .dropdown-toggle.notification_widget.info:focus,
.notification_widget.info:active.focus,
.notification_widget.info.active.focus,
.open &gt; .dropdown-toggle.notification_widget.info.focus {
  color: #fff;
  background-color: #269abc;
  border-color: #1b6d85;
}
.notification_widget.info:active,
.notification_widget.info.active,
.open &gt; .dropdown-toggle.notification_widget.info {
  background-image: none;
}
.notification_widget.info.disabled:hover,
.notification_widget.info[disabled]:hover,
fieldset[disabled] .notification_widget.info:hover,
.notification_widget.info.disabled:focus,
.notification_widget.info[disabled]:focus,
fieldset[disabled] .notification_widget.info:focus,
.notification_widget.info.disabled.focus,
.notification_widget.info[disabled].focus,
fieldset[disabled] .notification_widget.info.focus {
  background-color: #5bc0de;
  border-color: #46b8da;
}
.notification_widget.info .badge {
  color: #5bc0de;
  background-color: #fff;
}
.notification_widget.danger {
  color: #fff;
  background-color: #d9534f;
  border-color: #d43f3a;
}
.notification_widget.danger:focus,
.notification_widget.danger.focus {
  color: #fff;
  background-color: #c9302c;
  border-color: #761c19;
}
.notification_widget.danger:hover {
  color: #fff;
  background-color: #c9302c;
  border-color: #ac2925;
}
.notification_widget.danger:active,
.notification_widget.danger.active,
.open &gt; .dropdown-toggle.notification_widget.danger {
  color: #fff;
  background-color: #c9302c;
  border-color: #ac2925;
}
.notification_widget.danger:active:hover,
.notification_widget.danger.active:hover,
.open &gt; .dropdown-toggle.notification_widget.danger:hover,
.notification_widget.danger:active:focus,
.notification_widget.danger.active:focus,
.open &gt; .dropdown-toggle.notification_widget.danger:focus,
.notification_widget.danger:active.focus,
.notification_widget.danger.active.focus,
.open &gt; .dropdown-toggle.notification_widget.danger.focus {
  color: #fff;
  background-color: #ac2925;
  border-color: #761c19;
}
.notification_widget.danger:active,
.notification_widget.danger.active,
.open &gt; .dropdown-toggle.notification_widget.danger {
  background-image: none;
}
.notification_widget.danger.disabled:hover,
.notification_widget.danger[disabled]:hover,
fieldset[disabled] .notification_widget.danger:hover,
.notification_widget.danger.disabled:focus,
.notification_widget.danger[disabled]:focus,
fieldset[disabled] .notification_widget.danger:focus,
.notification_widget.danger.disabled.focus,
.notification_widget.danger[disabled].focus,
fieldset[disabled] .notification_widget.danger.focus {
  background-color: #d9534f;
  border-color: #d43f3a;
}
.notification_widget.danger .badge {
  color: #d9534f;
  background-color: #fff;
}
div#pager {
  background-color: #fff;
  font-size: 14px;
  line-height: 20px;
  overflow: hidden;
  display: none;
  position: fixed;
  bottom: 0px;
  width: 100%;
  max-height: 50%;
  padding-top: 8px;
  -webkit-box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2);
  box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2);
  /* Display over codemirror */
  z-index: 100;
  /* Hack which prevents jquery ui resizable from changing top. */
  top: auto !important;
}
div#pager pre {
  line-height: 1.21429em;
  color: #000;
  background-color: #f7f7f7;
  padding: 0.4em;
}
div#pager #pager-button-area {
  position: absolute;
  top: 8px;
  right: 20px;
}
div#pager #pager-contents {
  position: relative;
  overflow: auto;
  width: 100%;
  height: 100%;
}
div#pager #pager-contents #pager-container {
  position: relative;
  padding: 15px 0px;
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
}
div#pager .ui-resizable-handle {
  top: 0px;
  height: 8px;
  background: #f7f7f7;
  border-top: 1px solid #cfcfcf;
  border-bottom: 1px solid #cfcfcf;
  /* This injects handle bars (a short, wide = symbol) for 
        the resize handle. */
}
div#pager .ui-resizable-handle::after {
  content: '';
  top: 2px;
  left: 50%;
  height: 3px;
  width: 30px;
  margin-left: -15px;
  position: absolute;
  border-top: 1px solid #cfcfcf;
}
.quickhelp {
  /* Old browsers */
  display: -webkit-box;
  -webkit-box-orient: horizontal;
  -webkit-box-align: stretch;
  display: -moz-box;
  -moz-box-orient: horizontal;
  -moz-box-align: stretch;
  display: box;
  box-orient: horizontal;
  box-align: stretch;
  /* Modern browsers */
  display: flex;
  flex-direction: row;
  align-items: stretch;
  line-height: 1.8em;
}
.shortcut_key {
  display: inline-block;
  width: 21ex;
  text-align: right;
  font-family: monospace;
}
.shortcut_descr {
  display: inline-block;
  /* Old browsers */
  -webkit-box-flex: 1;
  -moz-box-flex: 1;
  box-flex: 1;
  /* Modern browsers */
  flex: 1;
}
span.save_widget {
  margin-top: 6px;
}
span.save_widget span.filename {
  height: 1em;
  line-height: 1em;
  padding: 3px;
  margin-left: 16px;
  border: none;
  font-size: 146.5%;
  border-radius: 2px;
}
span.save_widget span.filename:hover {
  background-color: #e6e6e6;
}
span.checkpoint_status,
span.autosave_status {
  font-size: small;
}
@media (max-width: 767px) {
  span.save_widget {
    font-size: small;
  }
  span.checkpoint_status,
  span.autosave_status {
    display: none;
  }
}
@media (min-width: 768px) and (max-width: 991px) {
  span.checkpoint_status {
    display: none;
  }
  span.autosave_status {
    font-size: x-small;
  }
}
.toolbar {
  padding: 0px;
  margin-left: -5px;
  margin-top: 2px;
  margin-bottom: 5px;
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
}
.toolbar select,
.toolbar label {
  width: auto;
  vertical-align: middle;
  margin-right: 2px;
  margin-bottom: 0px;
  display: inline;
  font-size: 92%;
  margin-left: 0.3em;
  margin-right: 0.3em;
  padding: 0px;
  padding-top: 3px;
}
.toolbar .btn {
  padding: 2px 8px;
}
.toolbar .btn-group {
  margin-top: 0px;
  margin-left: 5px;
}
#maintoolbar {
  margin-bottom: -3px;
  margin-top: -8px;
  border: 0px;
  min-height: 27px;
  margin-left: 0px;
  padding-top: 11px;
  padding-bottom: 3px;
}
#maintoolbar .navbar-text {
  float: none;
  vertical-align: middle;
  text-align: right;
  margin-left: 5px;
  margin-right: 0px;
  margin-top: 0px;
}
.select-xs {
  height: 24px;
}
.pulse,
.dropdown-menu &gt; li &gt; a.pulse,
li.pulse &gt; a.dropdown-toggle,
li.pulse.open &gt; a.dropdown-toggle {
  background-color: #F37626;
  color: white;
}
/**
 * Primary styles
 *
 * Author: Jupyter Development Team
 */
/** WARNING IF YOU ARE EDITTING THIS FILE, if this is a .css file, It has a lot
 * of chance of beeing generated from the ../less/[samename].less file, you can
 * try to get back the less file by reverting somme commit in history
 **/
/*
 * We'll try to get something pretty, so we
 * have some strange css to have the scroll bar on
 * the left with fix button on the top right of the tooltip
 */
@-moz-keyframes fadeOut {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}
@-webkit-keyframes fadeOut {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}
@-moz-keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@-webkit-keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
/*properties of tooltip after &quot;expand&quot;*/
.bigtooltip {
  overflow: auto;
  height: 200px;
  -webkit-transition-property: height;
  -webkit-transition-duration: 500ms;
  -moz-transition-property: height;
  -moz-transition-duration: 500ms;
  transition-property: height;
  transition-duration: 500ms;
}
/*properties of tooltip before &quot;expand&quot;*/
.smalltooltip {
  -webkit-transition-property: height;
  -webkit-transition-duration: 500ms;
  -moz-transition-property: height;
  -moz-transition-duration: 500ms;
  transition-property: height;
  transition-duration: 500ms;
  text-overflow: ellipsis;
  overflow: hidden;
  height: 80px;
}
.tooltipbuttons {
  position: absolute;
  padding-right: 15px;
  top: 0px;
  right: 0px;
}
.tooltiptext {
  /*avoid the button to overlap on some docstring*/
  padding-right: 30px;
}
.ipython_tooltip {
  max-width: 700px;
  /*fade-in animation when inserted*/
  -webkit-animation: fadeOut 400ms;
  -moz-animation: fadeOut 400ms;
  animation: fadeOut 400ms;
  -webkit-animation: fadeIn 400ms;
  -moz-animation: fadeIn 400ms;
  animation: fadeIn 400ms;
  vertical-align: middle;
  background-color: #f7f7f7;
  overflow: visible;
  border: #ababab 1px solid;
  outline: none;
  padding: 3px;
  margin: 0px;
  padding-left: 7px;
  font-family: monospace;
  min-height: 50px;
  -moz-box-shadow: 0px 6px 10px -1px #adadad;
  -webkit-box-shadow: 0px 6px 10px -1px #adadad;
  box-shadow: 0px 6px 10px -1px #adadad;
  border-radius: 2px;
  position: absolute;
  z-index: 1000;
}
.ipython_tooltip a {
  float: right;
}
.ipython_tooltip .tooltiptext pre {
  border: 0;
  border-radius: 0;
  font-size: 100%;
  background-color: #f7f7f7;
}
.pretooltiparrow {
  left: 0px;
  margin: 0px;
  top: -16px;
  width: 40px;
  height: 16px;
  overflow: hidden;
  position: absolute;
}
.pretooltiparrow:before {
  background-color: #f7f7f7;
  border: 1px #ababab solid;
  z-index: 11;
  content: &quot;&quot;;
  position: absolute;
  left: 15px;
  top: 10px;
  width: 25px;
  height: 25px;
  -webkit-transform: rotate(45deg);
  -moz-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  -o-transform: rotate(45deg);
}
ul.typeahead-list i {
  margin-left: -10px;
  width: 18px;
}
ul.typeahead-list {
  max-height: 80vh;
  overflow: auto;
}
ul.typeahead-list &gt; li &gt; a {
  /** Firefox bug **/
  /* see https://github.com/jupyter/notebook/issues/559 */
  white-space: normal;
}
.cmd-palette .modal-body {
  padding: 7px;
}
.cmd-palette form {
  background: white;
}
.cmd-palette input {
  outline: none;
}
.no-shortcut {
  display: none;
}
.command-shortcut:before {
  content: &quot;(command)&quot;;
  padding-right: 3px;
  color: #777777;
}
.edit-shortcut:before {
  content: &quot;(edit)&quot;;
  padding-right: 3px;
  color: #777777;
}
#find-and-replace #replace-preview .match,
#find-and-replace #replace-preview .insert {
  background-color: #BBDEFB;
  border-color: #90CAF9;
  border-style: solid;
  border-width: 1px;
  border-radius: 0px;
}
#find-and-replace #replace-preview .replace .match {
  background-color: #FFCDD2;
  border-color: #EF9A9A;
  border-radius: 0px;
}
#find-and-replace #replace-preview .replace .insert {
  background-color: #C8E6C9;
  border-color: #A5D6A7;
  border-radius: 0px;
}
#find-and-replace #replace-preview {
  max-height: 60vh;
  overflow: auto;
}
#find-and-replace #replace-preview pre {
  padding: 5px 10px;
}
.terminal-app {
  background: #EEE;
}
.terminal-app #header {
  background: #fff;
  -webkit-box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2);
  box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2);
}
.terminal-app .terminal {
  width: 100%;
  float: left;
  font-family: monospace;
  color: white;
  background: black;
  padding: 0.4em;
  border-radius: 2px;
  -webkit-box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.4);
  box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.4);
}
.terminal-app .terminal,
.terminal-app .terminal dummy-screen {
  line-height: 1em;
  font-size: 14px;
}
.terminal-app .terminal .xterm-rows {
  padding: 10px;
}
.terminal-app .terminal-cursor {
  color: black;
  background: white;
}
.terminal-app #terminado-container {
  margin-top: 20px;
}
/*# sourceMappingURL=style.min.css.map */
    &lt;/style&gt;
&lt;style type=&quot;text/css&quot;&gt;
    .highlight .hll { background-color: #ffffcc }
.highlight  { background: #f8f8f8; }
.highlight .c { color: #408080; font-style: italic } /* Comment */
.highlight .err { border: 1px solid #FF0000 } /* Error */
.highlight .k { color: #008000; font-weight: bold } /* Keyword */
.highlight .o { color: #666666 } /* Operator */
.highlight .ch { color: #408080; font-style: italic } /* Comment.Hashbang */
.highlight .cm { color: #408080; font-style: italic } /* Comment.Multiline */
.highlight .cp { color: #BC7A00 } /* Comment.Preproc */
.highlight .cpf { color: #408080; font-style: italic } /* Comment.PreprocFile */
.highlight .c1 { color: #408080; font-style: italic } /* Comment.Single */
.highlight .cs { color: #408080; font-style: italic } /* Comment.Special */
.highlight .gd { color: #A00000 } /* Generic.Deleted */
.highlight .ge { font-style: italic } /* Generic.Emph */
.highlight .gr { color: #FF0000 } /* Generic.Error */
.highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */
.highlight .gi { color: #00A000 } /* Generic.Inserted */
.highlight .go { color: #888888 } /* Generic.Output */
.highlight .gp { color: #000080; font-weight: bold } /* Generic.Prompt */
.highlight .gs { font-weight: bold } /* Generic.Strong */
.highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */
.highlight .gt { color: #0044DD } /* Generic.Traceback */
.highlight .kc { color: #008000; font-weight: bold } /* Keyword.Constant */
.highlight .kd { color: #008000; font-weight: bold } /* Keyword.Declaration */
.highlight .kn { color: #008000; font-weight: bold } /* Keyword.Namespace */
.highlight .kp { color: #008000 } /* Keyword.Pseudo */
.highlight .kr { color: #008000; font-weight: bold } /* Keyword.Reserved */
.highlight .kt { color: #B00040 } /* Keyword.Type */
.highlight .m { color: #666666 } /* Literal.Number */
.highlight .s { color: #BA2121 } /* Literal.String */
.highlight .na { color: #7D9029 } /* Name.Attribute */
.highlight .nb { color: #008000 } /* Name.Builtin */
.highlight .nc { color: #0000FF; font-weight: bold } /* Name.Class */
.highlight .no { color: #880000 } /* Name.Constant */
.highlight .nd { color: #AA22FF } /* Name.Decorator */
.highlight .ni { color: #999999; font-weight: bold } /* Name.Entity */
.highlight .ne { color: #D2413A; font-weight: bold } /* Name.Exception */
.highlight .nf { color: #0000FF } /* Name.Function */
.highlight .nl { color: #A0A000 } /* Name.Label */
.highlight .nn { color: #0000FF; font-weight: bold } /* Name.Namespace */
.highlight .nt { color: #008000; font-weight: bold } /* Name.Tag */
.highlight .nv { color: #19177C } /* Name.Variable */
.highlight .ow { color: #AA22FF; font-weight: bold } /* Operator.Word */
.highlight .w { color: #bbbbbb } /* Text.Whitespace */
.highlight .mb { color: #666666 } /* Literal.Number.Bin */
.highlight .mf { color: #666666 } /* Literal.Number.Float */
.highlight .mh { color: #666666 } /* Literal.Number.Hex */
.highlight .mi { color: #666666 } /* Literal.Number.Integer */
.highlight .mo { color: #666666 } /* Literal.Number.Oct */
.highlight .sa { color: #BA2121 } /* Literal.String.Affix */
.highlight .sb { color: #BA2121 } /* Literal.String.Backtick */
.highlight .sc { color: #BA2121 } /* Literal.String.Char */
.highlight .dl { color: #BA2121 } /* Literal.String.Delimiter */
.highlight .sd { color: #BA2121; font-style: italic } /* Literal.String.Doc */
.highlight .s2 { color: #BA2121 } /* Literal.String.Double */
.highlight .se { color: #BB6622; font-weight: bold } /* Literal.String.Escape */
.highlight .sh { color: #BA2121 } /* Literal.String.Heredoc */
.highlight .si { color: #BB6688; font-weight: bold } /* Literal.String.Interpol */
.highlight .sx { color: #008000 } /* Literal.String.Other */
.highlight .sr { color: #BB6688 } /* Literal.String.Regex */
.highlight .s1 { color: #BA2121 } /* Literal.String.Single */
.highlight .ss { color: #19177C } /* Literal.String.Symbol */
.highlight .bp { color: #008000 } /* Name.Builtin.Pseudo */
.highlight .fm { color: #0000FF } /* Name.Function.Magic */
.highlight .vc { color: #19177C } /* Name.Variable.Class */
.highlight .vg { color: #19177C } /* Name.Variable.Global */
.highlight .vi { color: #19177C } /* Name.Variable.Instance */
.highlight .vm { color: #19177C } /* Name.Variable.Magic */
.highlight .il { color: #666666 } /* Literal.Number.Integer.Long */
    &lt;/style&gt;
&lt;style type=&quot;text/css&quot;&gt;
    
/* Temporary definitions which will become obsolete with Notebook release 5.0 */
.ansi-black-fg { color: #3E424D; }
.ansi-black-bg { background-color: #3E424D; }
.ansi-black-intense-fg { color: #282C36; }
.ansi-black-intense-bg { background-color: #282C36; }
.ansi-red-fg { color: #E75C58; }
.ansi-red-bg { background-color: #E75C58; }
.ansi-red-intense-fg { color: #B22B31; }
.ansi-red-intense-bg { background-color: #B22B31; }
.ansi-green-fg { color: #00A250; }
.ansi-green-bg { background-color: #00A250; }
.ansi-green-intense-fg { color: #007427; }
.ansi-green-intense-bg { background-color: #007427; }
.ansi-yellow-fg { color: #DDB62B; }
.ansi-yellow-bg { background-color: #DDB62B; }
.ansi-yellow-intense-fg { color: #B27D12; }
.ansi-yellow-intense-bg { background-color: #B27D12; }
.ansi-blue-fg { color: #208FFB; }
.ansi-blue-bg { background-color: #208FFB; }
.ansi-blue-intense-fg { color: #0065CA; }
.ansi-blue-intense-bg { background-color: #0065CA; }
.ansi-magenta-fg { color: #D160C4; }
.ansi-magenta-bg { background-color: #D160C4; }
.ansi-magenta-intense-fg { color: #A03196; }
.ansi-magenta-intense-bg { background-color: #A03196; }
.ansi-cyan-fg { color: #60C6C8; }
.ansi-cyan-bg { background-color: #60C6C8; }
.ansi-cyan-intense-fg { color: #258F8F; }
.ansi-cyan-intense-bg { background-color: #258F8F; }
.ansi-white-fg { color: #C5C1B4; }
.ansi-white-bg { background-color: #C5C1B4; }
.ansi-white-intense-fg { color: #A1A6B2; }
.ansi-white-intense-bg { background-color: #A1A6B2; }

.ansi-bold { font-weight: bold; }

    &lt;/style&gt;


&lt;style type=&quot;text/css&quot;&gt;
/* Overrides of notebook CSS for static HTML export */
body {
  overflow: visible;
  padding: 8px;
}

div#notebook {
  overflow: visible;
  border-top: none;
}@media print {
  div.cell {
    display: block;
    page-break-inside: avoid;
  } 
  div.output_wrapper { 
    display: block;
    page-break-inside: avoid; 
  }
  div.output { 
    display: block;
    page-break-inside: avoid; 
  }
}
&lt;/style&gt;

&lt;!-- Custom stylesheet, it must be in the same directory as the html file --&gt;
&lt;link rel=&quot;stylesheet&quot; href=&quot;custom.css&quot;&gt;

&lt;!-- Loading mathjax macro --&gt;
&lt;!-- Load mathjax --&gt;
    &lt;script src=&quot;https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.1/MathJax.js?config=TeX-AMS_HTML&quot;&gt;&lt;/script&gt;
    &lt;!-- MathJax configuration --&gt;
    &lt;script type=&quot;text/x-mathjax-config&quot;&gt;
    MathJax.Hub.Config({
        tex2jax: {
            inlineMath: [ ['$','$'], [&quot;\\(&quot;,&quot;\\)&quot;] ],
            displayMath: [ ['$$','$$'], [&quot;\\[&quot;,&quot;\\]&quot;] ],
            processEscapes: true,
            processEnvironments: true
        },
        // Center justify equations in code and markdown cells. Elsewhere
        // we use CSS to left justify single line equations in code cells.
        displayAlign: 'center',
        &quot;HTML-CSS&quot;: {
            styles: {'.MathJax_Display': {&quot;margin&quot;: 0}},
            linebreaks: { automatic: true }
        }
    });
    &lt;/script&gt;
    &lt;!-- End of mathjax configuration --&gt;&lt;/head&gt;
&lt;body&gt;
  &lt;div tabindex=&quot;-1&quot; id=&quot;notebook&quot; class=&quot;border-box-sizing&quot;&gt;
    &lt;div class=&quot;container&quot; id=&quot;notebook-container&quot;&gt;

&lt;div class=&quot;cell border-box-sizing text_cell rendered&quot;&gt;&lt;div class=&quot;prompt input_prompt&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;inner_cell&quot;&gt;
&lt;div class=&quot;text_cell_render border-box-sizing rendered_html&quot;&gt;
&lt;h1 id=&quot;&amp;quot;I-sneezed-and-now-I-can't-move.&amp;quot;&quot;&gt;&lt;center&gt;&quot;I sneezed and now I can't move.&quot;&lt;/center&gt;&lt;a class=&quot;anchor-link&quot; href=&quot;#&amp;quot;I-sneezed-and-now-I-can't-move.&amp;quot;&quot;&gt;&amp;#182;&lt;/a&gt;&lt;/h1&gt;&lt;h2 id=&quot;A-study-of-lower-back-pain-using-machine-learning&quot;&gt;&lt;center&gt;A study of lower back pain using machine learning&lt;/center&gt;&lt;a class=&quot;anchor-link&quot; href=&quot;#A-study-of-lower-back-pain-using-machine-learning&quot;&gt;&amp;#182;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;&lt;img src=&quot;https://images.duckduckgo.com/iu/?u=http%3A%2F%2Fcentralwestrehab.com.au%2Fimages%2Fuploads%2FChronic%2520Pain%2FBackpainCartoon.png&amp;amp;f=1&quot; alt=&quot;&quot;&gt;&lt;/p&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;cell border-box-sizing text_cell rendered&quot;&gt;&lt;div class=&quot;prompt input_prompt&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;inner_cell&quot;&gt;
&lt;div class=&quot;text_cell_render border-box-sizing rendered_html&quot;&gt;
&lt;p&gt;With lower back pain it's either you have it or you know someone who has it. Our increasingly sedentary lifestyle has led to some apalling figures when it comes to the subject of back pains.&lt;br&gt;
According to &lt;a href=&quot;www.thegoodbody.com&quot;&gt;thegoodbody.com&lt;/a&gt;, 8 in 10 Americans will experience back pain in their lifetime. They affect men almost as much as they affect women, reduce the ability to work, to focus, and are just unbearable. No need to convince anyone that lower back pain is a b****.&lt;/p&gt;
&lt;p&gt;In this short study we'll try to get some leads on identifying the strongest factors causing lower back pain and we'll create models and representation to classify back pain as well as possible. To do so, we'll follow this &lt;strong&gt;clickable&lt;/strong&gt; plan.&lt;/p&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;cell border-box-sizing text_cell rendered&quot;&gt;&lt;div class=&quot;prompt input_prompt&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;inner_cell&quot;&gt;
&lt;div class=&quot;text_cell_render border-box-sizing rendered_html&quot;&gt;
&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;&lt;a href=&quot;#Introduction&quot;&gt;Introduction&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href=&quot;#About-the-Data&quot;&gt;About the Data&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#Packages-used&quot;&gt;Packages used&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#Goals&quot;&gt;Goals&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt; &lt;a href=&quot;#Exploratory-Data-Analysis&quot;&gt;Exploratory Data Analysis&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href=&quot;#Class-Distribution&quot;&gt;Class Distribution&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#Correlations&quot;&gt;Correlations&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#Shallow-tree-intuition&quot;&gt;Shallow tree intuition&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#Univariate-exploration-of-relevant-factors&quot;&gt;Univariate exploration of relevant factors&lt;/a&gt;&lt;ol&gt;
&lt;li&gt;&lt;a href=&quot;#Degree-spondylolisthesis&quot;&gt;Degree spondylolisthesis&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#Sacral-slope,-Pelvic-incidence,-and-Pelvic-tilt&quot;&gt;Sacral slope, Pelvic incidence, and Pelvic tilt&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#Pelvic-radius&quot;&gt;Pelvic radius&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#Lumbar-lordosis-angle&quot;&gt;Lumbar lordosis angle&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;&lt;a href=&quot;#Feature-Engineering&quot;&gt;Feature Engineering&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href=&quot;#PCA&quot;&gt;PCA&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#Polynomial-Features&quot;&gt;Polynomial Features&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#Boxing-Features&quot;&gt;Boxing Features&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#Effect-on-a-simple-model&quot;&gt;Effect on a simple model&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;&lt;a href=&quot;#Modelling&quot;&gt;Modelling&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href=&quot;#Choosing-interpretability&quot;&gt;Choosing interpretability&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#Decision-Tree&quot;&gt;Decision Tree&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#Logistic-Regression&quot;&gt;Logistic Regression&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href=&quot;#&quot;&gt;Visualisations&lt;/a&gt;&lt;/strong&gt;&lt;ol&gt;
&lt;li&gt;&lt;a href=&quot;#PCA-on-the-new-data&quot;&gt;PCA on the new data&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#TSNE&quot;&gt;TSNE&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#Spectral-Embedding&quot;&gt;Spectral Embedding&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#MDS&quot;&gt;MDS&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;cell border-box-sizing text_cell rendered&quot;&gt;&lt;div class=&quot;prompt input_prompt&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;inner_cell&quot;&gt;
&lt;div class=&quot;text_cell_render border-box-sizing rendered_html&quot;&gt;
&lt;h2 id=&quot;Introduction&quot;&gt;Introduction&lt;a class=&quot;anchor-link&quot; href=&quot;#Introduction&quot;&gt;&amp;#182;&lt;/a&gt;&lt;/h2&gt;&lt;h3 id=&quot;About-the-Data&quot;&gt;About the Data&lt;a class=&quot;anchor-link&quot; href=&quot;#About-the-Data&quot;&gt;&amp;#182;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;The data set that we are going to study compiles 309 observations of patients with and without lower back pains. It contains 12 different predictors with &lt;strong&gt;pretty complicated&lt;/strong&gt; names but we'll try to explain the most relevant of these predictors as we progress through the study. It also contains 1 target feature called &quot;Attribute&quot; that will get the value &quot;Abnormal&quot; when lower back pain is present and &quot;Normal&quot; when everything is ? Normal, you guessed it.&lt;br&gt;
The description of the data set explain a few of the reasons why lower back pain can occur :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The large nerve roots in the low back that go to the legs may be irritated&lt;/li&gt;
&lt;li&gt;The smaller nerves that supply the low back may be irritated&lt;/li&gt;
&lt;li&gt;The large paired lower back muscles (erector spinae) may be strained&lt;/li&gt;
&lt;li&gt;The bones, ligaments or joints may be damaged&lt;/li&gt;
&lt;li&gt;An intervertebral disc may be degenerating  &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;We'll see in the data set that we get mostly morphological/positional values, nothing &lt;strong&gt;directly&lt;/strong&gt; telling us that one of the foremetionned things is happening but positional indicators that can definitely put us on the way. This data set does &lt;strong&gt;not&lt;/strong&gt; contain any demographic information ( to my great regret ) about the subject observed. It would've been interesting as some of the values we're going to study typically change between men, women, and ethnicities.&lt;/p&gt;
&lt;h3 id=&quot;Packages-used&quot;&gt;Packages used&lt;a class=&quot;anchor-link&quot; href=&quot;#Packages-used&quot;&gt;&amp;#182;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Might as well put everything in one line and be done with it, here's a list of what we will use here&lt;/p&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;cell border-box-sizing code_cell rendered&quot;&gt;
&lt;div class=&quot;input&quot;&gt;
&lt;div class=&quot;prompt input_prompt&quot;&gt;In&amp;nbsp;[1]:&lt;/div&gt;
&lt;div class=&quot;inner_cell&quot;&gt;
    &lt;div class=&quot;input_area&quot;&gt;
&lt;div class=&quot; highlight hl-ipython3&quot;&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class=&quot;c1&quot;&gt;# The classics&lt;/span&gt;
&lt;span class=&quot;kn&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;nn&quot;&gt;numpy&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;as&lt;/span&gt; &lt;span class=&quot;nn&quot;&gt;np&lt;/span&gt;
&lt;span class=&quot;kn&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;nn&quot;&gt;pandas&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;as&lt;/span&gt; &lt;span class=&quot;nn&quot;&gt;pd&lt;/span&gt;

&lt;span class=&quot;c1&quot;&gt;# Visualisation tools&lt;/span&gt;
&lt;span class=&quot;kn&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;nn&quot;&gt;seaborn&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;as&lt;/span&gt; &lt;span class=&quot;nn&quot;&gt;sns&lt;/span&gt;

&lt;span class=&quot;kn&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;nn&quot;&gt;matplotlib.pyplot&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;as&lt;/span&gt; &lt;span class=&quot;nn&quot;&gt;plt&lt;/span&gt;
&lt;span class=&quot;kn&quot;&gt;from&lt;/span&gt; &lt;span class=&quot;nn&quot;&gt;mpl_toolkits.mplot3d&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;axes3d&lt;/span&gt;
&lt;span class=&quot;kn&quot;&gt;from&lt;/span&gt; &lt;span class=&quot;nn&quot;&gt;matplotlib&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;style&lt;/span&gt;

&lt;span class=&quot;kn&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;nn&quot;&gt;plotly&lt;/span&gt;
&lt;span class=&quot;kn&quot;&gt;from&lt;/span&gt; &lt;span class=&quot;nn&quot;&gt;plotly.offline&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;iplot&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;init_notebook_mode&lt;/span&gt;
&lt;span class=&quot;kn&quot;&gt;from&lt;/span&gt; &lt;span class=&quot;nn&quot;&gt;plotly.graph_objs&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;Scatter3d&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;Layout&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;Figure&lt;/span&gt;

&lt;span class=&quot;kn&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;nn&quot;&gt;graphviz&lt;/span&gt; 

&lt;span class=&quot;c1&quot;&gt;# Machine learning unavoidables&lt;/span&gt;
&lt;span class=&quot;kn&quot;&gt;from&lt;/span&gt; &lt;span class=&quot;nn&quot;&gt;sklearn.decomposition&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;KernelPCA&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;PCA&lt;/span&gt;
&lt;span class=&quot;kn&quot;&gt;from&lt;/span&gt; &lt;span class=&quot;nn&quot;&gt;sklearn.preprocessing&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;normalize&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;MinMaxScaler&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;PolynomialFeatures&lt;/span&gt;
&lt;span class=&quot;kn&quot;&gt;from&lt;/span&gt; &lt;span class=&quot;nn&quot;&gt;sklearn.discriminant_analysis&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;LinearDiscriminantAnalysis&lt;/span&gt;
&lt;span class=&quot;kn&quot;&gt;from&lt;/span&gt; &lt;span class=&quot;nn&quot;&gt;sklearn.tree&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;DecisionTreeClassifier&lt;/span&gt;
&lt;span class=&quot;kn&quot;&gt;from&lt;/span&gt; &lt;span class=&quot;nn&quot;&gt;sklearn&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;tree&lt;/span&gt;
&lt;span class=&quot;kn&quot;&gt;from&lt;/span&gt; &lt;span class=&quot;nn&quot;&gt;sklearn.model_selection&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;GridSearchCV&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;train_test_split&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;cross_val_score&lt;/span&gt;
&lt;span class=&quot;kn&quot;&gt;from&lt;/span&gt; &lt;span class=&quot;nn&quot;&gt;sklearn.linear_model&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;LogisticRegression&lt;/span&gt;
&lt;span class=&quot;kn&quot;&gt;from&lt;/span&gt; &lt;span class=&quot;nn&quot;&gt;sklearn.metrics&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;roc_auc_score&lt;/span&gt;
&lt;span class=&quot;kn&quot;&gt;from&lt;/span&gt; &lt;span class=&quot;nn&quot;&gt;sklearn.feature_selection&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;SelectKBest&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;chi2&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;
&lt;div class=&quot;cell border-box-sizing text_cell rendered&quot;&gt;&lt;div class=&quot;prompt input_prompt&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;inner_cell&quot;&gt;
&lt;div class=&quot;text_cell_render border-box-sizing rendered_html&quot;&gt;
&lt;h3 id=&quot;Goals&quot;&gt;Goals&lt;a class=&quot;anchor-link&quot; href=&quot;#Goals&quot;&gt;&amp;#182;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Through this notebook, I want to be able to identify the key factors causing lower back pain as well and I want to be able to create understandable classifiers to further human understanding of the problem while keeping a good quality of classification.&lt;br&gt;
I will try to explain my thought process and my decision as thouroughly as possible so that everyone can learn something from this notebook, would it be in the subject of data science or just about back pain.&lt;/p&gt;
&lt;h2 id=&quot;Exploratory-Data-Analysis&quot;&gt;Exploratory Data Analysis&lt;a class=&quot;anchor-link&quot; href=&quot;#Exploratory-Data-Analysis&quot;&gt;&amp;#182;&lt;/a&gt;&lt;/h2&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;cell border-box-sizing code_cell rendered&quot;&gt;
&lt;div class=&quot;input&quot;&gt;
&lt;div class=&quot;prompt input_prompt&quot;&gt;In&amp;nbsp;[2]:&lt;/div&gt;
&lt;div class=&quot;inner_cell&quot;&gt;
    &lt;div class=&quot;input_area&quot;&gt;
&lt;div class=&quot; highlight hl-ipython3&quot;&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class=&quot;c1&quot;&gt;# Defining the name of each column as it was given in the dataset&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;col_list&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;Pelvic_incidence&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;
               &lt;span class=&quot;s1&quot;&gt;&amp;#39;Pelvic_tilt&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;
               &lt;span class=&quot;s1&quot;&gt;&amp;#39;Lumbar_lordosis_angle&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;
               &lt;span class=&quot;s1&quot;&gt;&amp;#39;Sacral_slope&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;
               &lt;span class=&quot;s1&quot;&gt;&amp;#39;Pelvic_radius&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;
               &lt;span class=&quot;s1&quot;&gt;&amp;#39;Degree_spondylolisthesis&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;
               &lt;span class=&quot;s1&quot;&gt;&amp;#39;Pelvic_slope&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;
               &lt;span class=&quot;s1&quot;&gt;&amp;#39;Direct_tilt&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;
               &lt;span class=&quot;s1&quot;&gt;&amp;#39;Thoracic_slope&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;
               &lt;span class=&quot;s1&quot;&gt;&amp;#39;Cervical_tilt&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;
               &lt;span class=&quot;s1&quot;&gt;&amp;#39;Sacrum_angle&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;
               &lt;span class=&quot;s1&quot;&gt;&amp;#39;Scoliosis_slope&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;
               &lt;span class=&quot;s1&quot;&gt;&amp;#39;Attribute&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;
               &lt;span class=&quot;s1&quot;&gt;&amp;#39;To_drop&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;

&lt;span class=&quot;c1&quot;&gt;# Loading the data&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;data&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;pd&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;read_csv&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&amp;quot;../input/Dataset_spine.csv&amp;quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;names&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;col_list&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;header&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;

&lt;span class=&quot;c1&quot;&gt;# The last column contained meta-data about the other columns and is irrelevant in our study&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;data&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;drop&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;To_drop&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;axis&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;inplace&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;kc&quot;&gt;True&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;


&lt;span class=&quot;n&quot;&gt;data&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;head&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;div class=&quot;output_wrapper&quot;&gt;
&lt;div class=&quot;output&quot;&gt;


&lt;div class=&quot;output_area&quot;&gt;

&lt;div class=&quot;prompt output_prompt&quot;&gt;Out[2]:&lt;/div&gt;



&lt;div class=&quot;output_html rendered_html output_subarea output_execute_result&quot;&gt;
&lt;div&gt;
&lt;style scoped&gt;
    .dataframe tbody tr th:only-of-type {
        vertical-align: middle;
    }

    .dataframe tbody tr th {
        vertical-align: top;
    }

    .dataframe thead th {
        text-align: right;
    }
&lt;/style&gt;
&lt;table border=&quot;1&quot; class=&quot;dataframe&quot;&gt;
  &lt;thead&gt;
    &lt;tr style=&quot;text-align: right;&quot;&gt;
      &lt;th&gt;&lt;/th&gt;
      &lt;th&gt;Pelvic_incidence&lt;/th&gt;
      &lt;th&gt;Pelvic_tilt&lt;/th&gt;
      &lt;th&gt;Lumbar_lordosis_angle&lt;/th&gt;
      &lt;th&gt;Sacral_slope&lt;/th&gt;
      &lt;th&gt;Pelvic_radius&lt;/th&gt;
      &lt;th&gt;Degree_spondylolisthesis&lt;/th&gt;
      &lt;th&gt;Pelvic_slope&lt;/th&gt;
      &lt;th&gt;Direct_tilt&lt;/th&gt;
      &lt;th&gt;Thoracic_slope&lt;/th&gt;
      &lt;th&gt;Cervical_tilt&lt;/th&gt;
      &lt;th&gt;Sacrum_angle&lt;/th&gt;
      &lt;th&gt;Scoliosis_slope&lt;/th&gt;
      &lt;th&gt;Attribute&lt;/th&gt;
    &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
    &lt;tr&gt;
      &lt;th&gt;0&lt;/th&gt;
      &lt;td&gt;39.056951&lt;/td&gt;
      &lt;td&gt;10.060991&lt;/td&gt;
      &lt;td&gt;25.015378&lt;/td&gt;
      &lt;td&gt;28.995960&lt;/td&gt;
      &lt;td&gt;114.405425&lt;/td&gt;
      &lt;td&gt;4.564259&lt;/td&gt;
      &lt;td&gt;0.415186&lt;/td&gt;
      &lt;td&gt;12.8874&lt;/td&gt;
      &lt;td&gt;17.5323&lt;/td&gt;
      &lt;td&gt;16.78486&lt;/td&gt;
      &lt;td&gt;-25.530607&lt;/td&gt;
      &lt;td&gt;16.1102&lt;/td&gt;
      &lt;td&gt;Abnormal&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;th&gt;1&lt;/th&gt;
      &lt;td&gt;68.832021&lt;/td&gt;
      &lt;td&gt;22.218482&lt;/td&gt;
      &lt;td&gt;50.092194&lt;/td&gt;
      &lt;td&gt;46.613539&lt;/td&gt;
      &lt;td&gt;105.985135&lt;/td&gt;
      &lt;td&gt;-3.530317&lt;/td&gt;
      &lt;td&gt;0.474889&lt;/td&gt;
      &lt;td&gt;26.8343&lt;/td&gt;
      &lt;td&gt;17.4861&lt;/td&gt;
      &lt;td&gt;16.65897&lt;/td&gt;
      &lt;td&gt;-29.031888&lt;/td&gt;
      &lt;td&gt;19.2221&lt;/td&gt;
      &lt;td&gt;Abnormal&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;th&gt;2&lt;/th&gt;
      &lt;td&gt;69.297008&lt;/td&gt;
      &lt;td&gt;24.652878&lt;/td&gt;
      &lt;td&gt;44.311238&lt;/td&gt;
      &lt;td&gt;44.644130&lt;/td&gt;
      &lt;td&gt;101.868495&lt;/td&gt;
      &lt;td&gt;11.211523&lt;/td&gt;
      &lt;td&gt;0.369345&lt;/td&gt;
      &lt;td&gt;23.5603&lt;/td&gt;
      &lt;td&gt;12.7074&lt;/td&gt;
      &lt;td&gt;11.42447&lt;/td&gt;
      &lt;td&gt;-30.470246&lt;/td&gt;
      &lt;td&gt;18.8329&lt;/td&gt;
      &lt;td&gt;Abnormal&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;th&gt;3&lt;/th&gt;
      &lt;td&gt;49.712859&lt;/td&gt;
      &lt;td&gt;9.652075&lt;/td&gt;
      &lt;td&gt;28.317406&lt;/td&gt;
      &lt;td&gt;40.060784&lt;/td&gt;
      &lt;td&gt;108.168725&lt;/td&gt;
      &lt;td&gt;7.918501&lt;/td&gt;
      &lt;td&gt;0.543360&lt;/td&gt;
      &lt;td&gt;35.4940&lt;/td&gt;
      &lt;td&gt;15.9546&lt;/td&gt;
      &lt;td&gt;8.87237&lt;/td&gt;
      &lt;td&gt;-16.378376&lt;/td&gt;
      &lt;td&gt;24.9171&lt;/td&gt;
      &lt;td&gt;Abnormal&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;th&gt;4&lt;/th&gt;
      &lt;td&gt;40.250200&lt;/td&gt;
      &lt;td&gt;13.921907&lt;/td&gt;
      &lt;td&gt;25.124950&lt;/td&gt;
      &lt;td&gt;26.328293&lt;/td&gt;
      &lt;td&gt;130.327871&lt;/td&gt;
      &lt;td&gt;2.230652&lt;/td&gt;
      &lt;td&gt;0.789993&lt;/td&gt;
      &lt;td&gt;29.3230&lt;/td&gt;
      &lt;td&gt;12.0036&lt;/td&gt;
      &lt;td&gt;10.40462&lt;/td&gt;
      &lt;td&gt;-1.512209&lt;/td&gt;
      &lt;td&gt;9.6548&lt;/td&gt;
      &lt;td&gt;Abnormal&lt;/td&gt;
    &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;

&lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;
&lt;div class=&quot;cell border-box-sizing code_cell rendered&quot;&gt;
&lt;div class=&quot;input&quot;&gt;
&lt;div class=&quot;prompt input_prompt&quot;&gt;In&amp;nbsp;[3]:&lt;/div&gt;
&lt;div class=&quot;inner_cell&quot;&gt;
    &lt;div class=&quot;input_area&quot;&gt;
&lt;div class=&quot; highlight hl-ipython3&quot;&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class=&quot;c1&quot;&gt;# Checking for the integrity of the data is good practice&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;data&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;info&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;div class=&quot;output_wrapper&quot;&gt;
&lt;div class=&quot;output&quot;&gt;


&lt;div class=&quot;output_area&quot;&gt;

&lt;div class=&quot;prompt&quot;&gt;&lt;/div&gt;


&lt;div class=&quot;output_subarea output_stream output_stdout output_text&quot;&gt;
&lt;pre&gt;&amp;lt;class &amp;#39;pandas.core.frame.DataFrame&amp;#39;&amp;gt;
RangeIndex: 309 entries, 0 to 308
Data columns (total 13 columns):
Pelvic_incidence            309 non-null float64
Pelvic_tilt                 309 non-null float64
Lumbar_lordosis_angle       309 non-null float64
Sacral_slope                309 non-null float64
Pelvic_radius               309 non-null float64
Degree_spondylolisthesis    309 non-null float64
Pelvic_slope                309 non-null float64
Direct_tilt                 309 non-null float64
Thoracic_slope              309 non-null float64
Cervical_tilt               309 non-null float64
Sacrum_angle                309 non-null float64
Scoliosis_slope             309 non-null float64
Attribute                   309 non-null object
dtypes: float64(12), object(1)
memory usage: 31.5+ KB
&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;
&lt;div class=&quot;cell border-box-sizing text_cell rendered&quot;&gt;&lt;div class=&quot;prompt input_prompt&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;inner_cell&quot;&gt;
&lt;div class=&quot;text_cell_render border-box-sizing rendered_html&quot;&gt;
&lt;h3 id=&quot;Class-Distribution&quot;&gt;Class Distribution&lt;a class=&quot;anchor-link&quot; href=&quot;#Class-Distribution&quot;&gt;&amp;#182;&lt;/a&gt;&lt;/h3&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;cell border-box-sizing code_cell rendered&quot;&gt;
&lt;div class=&quot;input&quot;&gt;
&lt;div class=&quot;prompt input_prompt&quot;&gt;In&amp;nbsp;[4]:&lt;/div&gt;
&lt;div class=&quot;inner_cell&quot;&gt;
    &lt;div class=&quot;input_area&quot;&gt;
&lt;div class=&quot; highlight hl-ipython3&quot;&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;sns&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;set_style&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&amp;quot;white&amp;quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;g&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;sns&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;factorplot&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;Attribute&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;hue&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;Attribute&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;data&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;data&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;kind&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;count&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;size&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;5&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;aspect&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=.&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;8&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;div class=&quot;output_wrapper&quot;&gt;
&lt;div class=&quot;output&quot;&gt;


&lt;div class=&quot;output_area&quot;&gt;

&lt;div class=&quot;prompt&quot;&gt;&lt;/div&gt;




&lt;div class=&quot;output_png output_subarea &quot;&gt;
&lt;img src=&quot;data:image/png;base64,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
d97RwIEDtWbNGknS7NmzlZmZqZKSEqWnp+vll1/2v0ZVVZWWL1+uvLw8SdKnn36qJUuWaNGiRXru
uef04IMPqqSkRGFhYdq6daskaezYsVq3bp1KS0v1xRdfqLKyMpj/LC3K448/rpKSEp09e7bZOu/p
zSNMd4jH41FaWpokafjw4SotLZUk9e3bV7GxsXI6nUpLS9Pu3bslSa1atdIjjzwi6dr5WSdOnJAk
ffLJJxoxYoQkKSMjw39/SRo2bFiz87cSExPVqlUr9ezZU01NTUpMTJQk9ezZ03+2+M6dOzVq1Cil
p6drx44dfMTHQuHh4crIyNCKFSuarfOe3jx25e6AhoYG7dixQ//617/kcDjU1NQkh8OhpKSkb2xi
f3m9VatW/sshISH+j9t83Vcf36ZNm2a3tW7d2v/46z3fpUuXNGvWLK1bt06dO3dWYWGhLl26dGd+
aFzXhAkTlJWVpaysrG+9D+/pd2OL6Q7YtGmTMjMzVVlZqffff19bt25Vly5dtHv3bu3bt0/V1dW6
evWqNm7cqAceeOCGzzVgwAB5PB5JUklJyXfe/0a+/A82IiJC58+f16ZNm275uRCYDh06aNiwYVq7
dq1/jff05rHFdAd4PB499dRTzdaGDBmit956S/3799cf/vAH/fOf/9TAgQOVmpp6w+d68cUXNX36
dC1btsx/oPRW3XPPPf5N/piYGPXp0+eWnwuBe+KJJ7Rq1Sr/dd7Tm+fwXe8DagBgI3blABiHMAEw
DmECYBzCBMA4hAmAcQgT7oivf7NCTU2NSkpK/LcfOnTI/5GK69m/f7//oxqFhYVatmzZTb3+8uXL
dfHixVuYHCYiTLgjvv7NCidOnPB/LEe6cZiuXLmiPn366MUXX7zl11+xYgVh+h/CeUy4befPn9ew
YcP836zw3nvvafTo0Tp27Ji6dOmitLQ0rV69Wl988YU6deqkZ555RseOHVNdXZ1OnDihiIgIjR49
Wn/605+0ZMkSFRYW6tNPP5XX61Vtba2efPJJjR49Wjt37vTfR5IKCgrUu3dvnTt3Tr/73e/8H6Be
uXKl/vrXv6qwsFCNjY2KjY3V3Llz1bZtW5v/pRAozvzGbbveNyv85je/aRaRjh076sCBA5oxY4ak
a7trBw8e1OrVqxUWFqadO3c2e84jR45ozZo1unDhgn72s58pKSnpW19//PjxWr58uYqLixUZGan6
+notXrxYb775pr73ve+pqKhIb775pn79619b94+AO4ow4bZ5PB5NmDBB0v99s8JPfvKT73xccnKy
wsLCrntbSkqKwsLCFBYWpgcffFD79+9Xu3btAprn73//u44ePaoxY8ZIki5fvqz+/fsH9sPACIQJ
t+VG36zwXb7+yfqvut4XnzmdTl29etV//ds+Ve/z+TR48GAtWLAggJ8AJuLgN27Lt32zQkhIiM6f
P++/X9u2bZtd/y4VFRW6dOmSGhoatGvXLvXp00cxMTE6duyYGhsbdfbsWX344YfXff7+/ftrz549
+s9//iNJunjxoo4fP36HfmIEA1tMuC3f9s0KHo9HTqdTjz32mLKyspSZmamioiJlZGQE9Aca+vbt
q6efflqfffaZfvWrX6lTp06Srn2xWnp6urp166Yf/vCH/vuPHj1aTz31lO69916tXLlSc+fOVW5u
rhobGyVJU6dOVffu3e/gTw4r8Vs5AMZhVw6AcQgTAOMQJgDGIUwAjEOYABiHMAEwDmECYJz/DxQi
wRr+cg2qAAAAAElFTkSuQmCC
&quot;
&gt;
&lt;/div&gt;

&lt;/div&gt;

&lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;
&lt;div class=&quot;cell border-box-sizing text_cell rendered&quot;&gt;&lt;div class=&quot;prompt input_prompt&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;inner_cell&quot;&gt;
&lt;div class=&quot;text_cell_render border-box-sizing rendered_html&quot;&gt;
&lt;p&gt;From a simple look, we could tell that the proportions are 2/3 Abnormal and 1/3 Normal which is actually quite unusual for medical data. Usually the Abnormal cases are extremely rare and this creates very skewed data sets. We don't have any information on how the dataset was gathered and created so unfortunately we can't really know why these numbers seem so unusual.&lt;/p&gt;
&lt;p&gt;We'll get to the true count of each class later.&lt;/p&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;cell border-box-sizing code_cell rendered&quot;&gt;
&lt;div class=&quot;input&quot;&gt;
&lt;div class=&quot;prompt input_prompt&quot;&gt;In&amp;nbsp;[5]:&lt;/div&gt;
&lt;div class=&quot;inner_cell&quot;&gt;
    &lt;div class=&quot;input_area&quot;&gt;
&lt;div class=&quot; highlight hl-ipython3&quot;&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class=&quot;c1&quot;&gt;# Replacing our attribute with binary values : &lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;data&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;Attribute&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;data&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;Attribute&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;map&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;({&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;Abnormal&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;s1&quot;&gt;&amp;#39;Normal&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;})&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;
&lt;div class=&quot;cell border-box-sizing text_cell rendered&quot;&gt;&lt;div class=&quot;prompt input_prompt&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;inner_cell&quot;&gt;
&lt;div class=&quot;text_cell_render border-box-sizing rendered_html&quot;&gt;
&lt;h3 id=&quot;Correlations&quot;&gt;Correlations&lt;a class=&quot;anchor-link&quot; href=&quot;#Correlations&quot;&gt;&amp;#182;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;I find it always interesting to plot a correlation map when possible. They are very simple and easily readable and can provide a tremendous amount of information in just a look.&lt;/p&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;cell border-box-sizing code_cell rendered&quot;&gt;
&lt;div class=&quot;input&quot;&gt;
&lt;div class=&quot;prompt input_prompt&quot;&gt;In&amp;nbsp;[6]:&lt;/div&gt;
&lt;div class=&quot;inner_cell&quot;&gt;
    &lt;div class=&quot;input_area&quot;&gt;
&lt;div class=&quot; highlight hl-ipython3&quot;&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;sns&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;set&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;style&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&amp;quot;white&amp;quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;d&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;data&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;corr&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;d&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;corr&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;mask&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;np&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;zeros_like&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;corr&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;dtype&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;np&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;bool&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;mask&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;np&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;triu_indices_from&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;mask&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)]&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;kc&quot;&gt;True&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;f&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;ax&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;plt&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;subplots&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;figsize&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;11&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;9&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;))&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;cmap&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;sns&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;diverging_palette&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;220&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;10&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;as_cmap&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;kc&quot;&gt;True&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;g&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;sns&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;heatmap&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;corr&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;mask&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;mask&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;cmap&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;cmap&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;center&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;
            &lt;span class=&quot;n&quot;&gt;square&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;kc&quot;&gt;True&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;linewidths&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=.&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;5&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;cbar_kws&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&amp;quot;shrink&amp;quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;5&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;})&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;div class=&quot;output_wrapper&quot;&gt;
&lt;div class=&quot;output&quot;&gt;


&lt;div class=&quot;output_area&quot;&gt;

&lt;div class=&quot;prompt&quot;&gt;&lt;/div&gt;




&lt;div class=&quot;output_png output_subarea &quot;&gt;
&lt;img src=&quot;data:image/png;base64,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
W7YoIyNDn3zyiSZNmqQJEyZIknJzczV37lytWbNGH374oebOnatTp05VOB4SZwAAAFRJLVu2VI0a
NS7ZvmnTJj388MMyGAy65557dPr0aR0/flxbt25V27ZtFRAQoBo1aqht27b68ssvKxwP6zgDAADA
KX5qF1Wu/o22plfofGazWSEhIbbtkJAQmc3mEvuDg4NlNlf8XQ/MOAMAAOCaZLVaS+wzGAyX3F9R
JM4AAAC4JoWEhOjYsWO27WPHjikoKKjEfrPZrKCgoAqfj8QZAAAAzmEwlu9TQREREfroo49ktVr1
3//+V35+fgoKClK7du20detWnTp1SqdOndLWrVvVrl27Cp+PGmcAAAA4hxPKIf5qxIgR2rlzp06e
PKkOHTrohRdeUFFRkSTp0UcfVceOHfXFF18oMjJSvr6+mjp1qiQpICBAgwcPVmxsrCRpyJAhCggI
qHA8JM4AAACokl5//fUy2w0Gg+Lj40tti42NtSXOzkLiDAAAAKcwGJ0741zVUOPsoAULFig6Olox
MTEymUz65ptvKu1cERERysnJKdcx/fv31759+yopIgAAAAdc5Rrnq40ZZwfs3btX//73v7V+/Xp5
e3srJydHFy5cuOLxLBaLPDw8nBghAAAAKhuJswP++OMPBQYGytvbW5JUs2ZNSdLcuXP1+eef6/z5
8woLC1NCQoIMBoMOHz6s+Ph45eTkyMPDQ7NmzdLRo0c1d+5cBQUF6cCBA9q4caMGDx6sY8eO6fz5
83r88cf1yCOPXDaWgoICDR8+XMeOHVNxcbEGDx6srl272vVJSUnRwoULZbVa1bFjR40ePVqSFBYW
pkceeUQ7duyQv7+/3njjDdWsWVO//fabJk6cqJMnT8rHx0eTJk3S7bff7uS7CAAA3J6THw6saq69
OXIXaNu2rY4ePaqoqChNmDBBO3fulCT169dP69atU0pKis6dO6fPP/9ckjRq1Cg99thj2rBhg1at
WqXatWtLkvbt26fhw4dr48aNkqSpU6cqMTFR69at07Jly3Ty5MnLxvLll18qKChIGzZsUEpKitq3
b2/XbjabNXPmTL3//vv66KOPtG/fPn322WeSLibdzZo10/r169WyZUvNnTtXkjR+/HiNHz9eiYmJ
eumllzRx4kTn3DgAAHB9MRrK97nGMOPsgGrVqikxMVG7d+/Wjh079M9//lMjR45UtWrV9M477+jc
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
N2zYYNfWs2dPvf/++5KkRo0alTi2ZcuWtmN27NihwMDAUmfNpYtfFo4eParWrVtr9OjRysvLU0FB
gapVq6b8/PwyY5Qu3rN169bZ+prNZmVnZ8tsNsvX11cmk0lPPvmkvv/+e7vjcnJyZLVaFRUVpWHD
hpVoBwAAcIjRUL7PZWzZskVRUVGKjIy0lZz+VWJiolq3bi2TySSTyaQPP/zQ1rZ+/Xo9+OCDevDB
B7V+/XqnXN5lZ5zPnTsnk8mkoqIieXh4yGQy6YknnpB0scb3yJEj6tmzp6xWqwIDAzV//nxFRUVp
+/bt6tatm2655Ra1aNFCfn5+pY4/Y8YMTZgwQQsWLFBRUZG6du2qJk2aaNy4cUpISFBMTIwsFovC
w8Nty7f9r/fff187duywlS506NBBe/fu1T333KPXXntNP/74o8LDwxUZGSmj0agRI0ZowIABslqt
6tChQ5klEdLFZdtGjRqlpUuXKioqyq7tpptu0m233XbJMZ5//nm9/PLLiomJka+vr/71r39d8jwW
i0WjR4/WmTNnZLVaNXDgQPn7++uBBx7Q0KFDtWnTJtvDgaVp166dDh06ZJtxvvHGGzVjxgwdPnxY
06dPl9FolKenpyZMmGB33PHjx/Xyyy/blhkcMWJEmfcDAACgNAaj82qcLRaLEhIStHjxYgUHBys2
NlYRERFq2LChXb+uXbsqLi7Obl9ubq7mzp2rdevWyWAwqGfPnoqIiFCNGjUqFJPBWlotgRPk5+er
WrVqOnnypHr37q2VK1eqdu3alXGqUu3YsUPvvfeeFi5cWKnnOXv2rGJiYrR+/fpLfjlwR0dfmezq
EOzUmfyKJCl3daKLI7EX8EhPSdIfby5wcST2ag9/Tn/MesvVYdipPexZSSUfXnW16+nvNQBU1Il5
b5er/01Dnr5k2969ezV37ly9++67kmTL6f76rozExETt37+/ROKckpKinTt32iZd4+Li1KpVK3Xr
1q1c8f2vSnvl9rPPPqvTp0/rwoULGjx48FVNmq+Wr776SmPHjtXAgQP5xxUAAMCJq2qYzWaFhITY
toODg/Xtt9+W6PfJJ59o165duvXWW/Xyyy+rTp06pR5rNpsrHFOlJc7Lli1z+pjr1q3T0qVL7fbd
e++9io+PL9H3/vvvL7Gah7P93//932UfhAQAALhuOPEFKI4ssPDAAw+oW7du8vb21sqVK/XSSy9p
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
LFiQd955x7EfenaFChXiscce4/Dhw1StWjXH5c888ww//vgjbdu2JX/+/DRs2JDXX3+dgQMH0q5d
O0qWLEn58uVdLnTbtGnDmDFj8PT05Msvv8z1On5+fjz11FO0atWKBg0aaJ6ziIiIyHW0AYr8IVbc
pAKsm0sboNyalZ9DbYDiGm2Acnu0AYrcizbu/+W2rv9clVtvc20lGnEWERERkTviXh+PVeF8D/n7
3//ODz/84HSsS5cutG3b1lAiERERkXuHCud7yJgxY0xHEBERkftYBhpxFhERERG5peZVHzcd4S+l
dnQiIiIiIi5Q4SwiIiIi4gIVziIiIiIiLlDhLCIiIiLiAhXOIiIiIiIuUOEsIiIiIuICFc4iIiIi
Ii5Q4SwiIiIi4gKb/V7fVFxERERE5A7QzoHyhyQmJpqO4MTHxwewbq5rZ88ZTuLMPaCoZR8rK+ay
WibIzJV25qzpGE7yFw8AID7liuEkzvwLeuo5dFHWcygiudNUDRERERERF6hwFhERERFxgQpnERER
EREXqHAWEREREXGBCmcREREREReocBYRERERcYEKZxERERERF6hwFhERERFxgQpnEREREREXqHAW
EREREXGBCmcREREREReocBYRERERcYEKZxERERERF6hwFhERERFxgQpnYNasWbRs2ZLg4GBCQkLY
u3ev6Uh/qRMnTtCqVSvTMURERETuKu6mA5i2e/duvvnmG1asWIGHhwfx8fGkpaX94dtLT0/Hzc3t
DiYUERERESu47wvnc+fO4efnh4eHBwD+/v4ATJ8+na+//pqrV69SvXp1xo0bh81m4+jRo4wZM4b4
+Hjc3NyYNm0ap0+fZvr06RQrVoxDhw4xZ84cXnnlFaKjowH49NNPSUlJYcCAAXTu3JmKFSty8OBB
4uPjmTJlCnPmzOHnn38mKCiIQYMG3TBr3759OXPmDFevXqVLly688MILAFSvXp0uXbrw9ddf4+np
ycyZMylSpAjHjh1jyJAhpKen88wzzzB37lx2797tdJvp6elMnTqVHTt2kJqayosvvkj79u3/ioda
RERE5K5230/VqFevHqdPn6ZZs2aMHTuWHTt2ANCpUyeioqKIjo7mypUrfP311wAMGTKEF198kdWr
V7NkyRKKFi0KwP79+3nttddYu3btLe8zf/78LFy4kPbt29O3b18iIiKIjo5mxYoVJCQk3PD7Jk2a
xPLly4mKimLBggWO66akpPDkk0+yevVqatasSWRkJAATJ06kS5cuREVFUaxYsVxvc9myZfj4+BAV
FUVUVBSRkZEcP37c9QdQRERE5D5x3484e3l5sXz5cnbu3Mn27dsZNGgQgwcPxsvLi08++YQrV65w
4cIFypUrR+3atTl79izPPfccAA888IDjdqpUqUJgYKBL99moUSMAypcvT7ly5RxFbWBgIGfOnMHP
zy/X71uwYAEbN24E4PTp0xw9ehQ/Pz/y58/Ps88+C0DlypXZtm0bAHv27GHGjBkABAcH8/bbb+e4
zW3btvHTTz+xYcMGABITEzl69KjLP4uIiIjI/eK+L5wB3NzcqFOnDnXq1KF8+fJ8+eWX/PTTT0RF
RVGiRAk+/PBDrl69etPbKFiwoOP/7u7uZGRkOL6+/nuzpoXky5fP8f+sr69du5br7W/fvp1///vf
fPnllxQoUIDOnTs7bjd//vzYbDbHbaSnp7v8s9vtdt58800aNGjg8veIiIiI3I/u+6kav/76K7/9
9pvj60OHDvHoo48C4OfnR3JysmM01tvbm+LFi7Np0yYAUlNTuXz5co7bLFy4MOfPnychIYHU1FS+
+eabP50zMTGRQoUKUaBAAY4cOcKePXtu+T1PPvkkX331FQAxMTG5Xqd+/fosXrzYsSAyNjaWlJSU
P51XRERE5F5z3484p6SkMGHCBC5duoSbmxuPPPII48aNw8fHh+DgYEqWLEmVKlUc13/77beJiIhg
2rRp5M+fn2nTpuW4zfz589OvXz/Cw8MpVaoUZcqU+dM5n3nmGZYsWUJwcDCPPvoo1apVu+X3jBw5
kqFDh/LZZ5/xt7/9DW9v7xzXadeuHSdPniQsLAy73Y6fnx8zZ87803lFRERE7jU2u91uNx1C/hqX
L1/G09MTm81GTEwM0dHRzJo1647cdmJi4h25nTvFx8cHsG6ua2fPGU7izD2gqGUfKyvmslomyMyV
duas6RhO8hcPACA+5YrhJM78C3rqOXRR1nMoIrm770ec72UHDx5k3Lhx2O12fH19mTRpkulIIiIi
InctFc4Wk5CQQLdu3XIcnzt37g27bdxIzZo1Wb169R1KJiIiInJ/U+FsMX5+fqxatcp0DBERERG5
zn3fVUNERERExBUqnEVEREREXKDCWURERETEBSqcRURERERcoMJZRERERMQFKpxFRERERFygwllE
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
A7DpwGHDSZw1qfwY8XMXmY6Rg3+3jlw7e850DCfuAUUBSExMNJzEmY+PD+eTr5iOkUNhL09Sjx43
HcOJxyOBgDWfw7OXkk3HcBLg62U6ghigEWcREREREReocBYRERERcYEKZxERERERF6hwFhERERFx
gQpnEREREREXqHAWEREREXGBCmcREREREReocBYRERERcYEKZxERERERF6hwFhERERFxgQpnERER
EREXqHAWEREREXGBCmcREREREReocM5jGzdu5PHHH+fIkSMAnDhxgjVr1jguP3ToEFu2bLnh9+/f
v58JEyYA8OGHH/Lpp5/e1v3PnTuXy5cv/4HkIiIiIvc3Fc55LDo6mho1arB27VoATp48SXR0tOPy
mxXO165do0qVKrz55pt/+P7nz5+vwllERETkD3A3HeB+kpyczA8//MD8+fPp06cPAwYM4N133+XI
kSOEhITQsmVLFi1axJUrV9i1axe9e/fmyJEjxMXFcfLkSfz8/AgPD+ezzz5j9uzZAPz444906dKF
M2fO8PLLLxMeHs727dudrjNu3DgqV65MUlIScXFxdO3alQcffJAFCxawdetWPvzwQ1JTUwkMDGTy
5Ml4eXmZfJhERERELEmFcx7atGkTDRo04NFHH+XBBx/k4MGDDB482KnILVKkCAcOHCAiIgLInI5x
8OBBFi1ahKenJ9u3b3e6zZ9++onIyEhSUlJo06YNDRs2vOH9d+nShblz5zJv3jz8/f2Jj49n1qxZ
fP755xQsWJA5c+bw+eef079//7/uQRARERG5S6lwzkMxMTF07doVgBYtWhAdHc3f/va3W35fo0aN
8PT0zPWyxo0b4+npiaenJ3Xq1GH//v34+Pi4lGfv3r0cPnyYDh06AJCWlka1atVc+2FERERE7jMq
nPNIQkIC33//Pb/88gs2m4309HRsNttNR4izFChQ4IaX2Wy2HMfc3NzIyMhwfH316tVcv9dut1Ov
Xj3+8Y9/uPATiIiIiNzftDgwj2zYsIHQ0FC+/vpr/vnPf7JlyxZKlSpFvnz5SE5OdlzPy8vL6etb
2bx5M1evXiUhIYEdO3ZQpUoVSpYsyZEjR0hNTSUxMZHvvvsu19uvVq0aP/zwA0ePHgXg8uXLxMbG
3qGfWEREROTeohHnPBITE0PPnj2djjVt2pSYmBjc3Nxo3bo1YWFhhIaGMmfOHEJCQujdu/ctb7dq
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
E2T+cQTw9fXl559/pkiRIjfchjsvfP31147/FyhQgG3btjldbrpwfvbZZ2nevDmenp6MGTOG+Ph4
x66UpqSnpzu1n7ty5QqpqalGMwUFBTnt6BYYGOhUCM6ePZvevXvneS6r/b5n8fDwcPwepaamUrZs
WWJjY41m8vLyYvbs2axZs4YvvviC9PR0p81Z8lLWGZ3sG6DI3UOFs+SprELi/Pnz7N69m7p16wKw
fft2ateubaSQGDVqFGDdT/kFChQgNTWVihUr8vbbb1OsWDHjG2i8//77/Otf/6J79+74+voSFxfH
sGHDHJdfvHiRQoUK5XmuF154gYsXL/Laa6/Rp08fUlJSGDhwYJ7nyJI113TXrl3UqFHD6bJdu3aZ
iORkyJAh9OzZE29vb9zc3PD09GTmzJmOy7dt25bnnUBat25N165dHd0QoqKijO+SeSvr1683Ujjn
9vv+6quv5nmO6xUvXpxLly7RpEkTXnrpJXx9fY2303zvvfeIjo5m4sSJFC1alFOnThkbna9cuTLp
6elERkZapuuPuE59nMWI3r17M378eMebaVxcHOPGjTN6un/u3LkEBQUREBBgLENuTp48SZEiRUhL
S2Pu3LkkJibSsWNHHnnkEdPRbshE392MjAzWr19PixYt8vR+XWGl3sS3w1TGb7/9lu+++86x1sAK
i3RvJjQ01Nhpf6vbsWMHiYmJNGjQwHEWwdQH65t54YUX+PLLL/P0Pnv06MGsWbNybPgj1qYRZzHi
5MmTTiMQRYoUcUzXMCUpKYnu3btTqFAhWrZsSbNmzShSpIjRTPC/ndIeeOCBXBeVDBgwwPj8weuZ
+DyeL18+Fi5caKnCeffu3ezevZv4+HinTSuSkpJIT083mMw1psZVypYti7u7O//3f//H5cuXSUpK
ssSuhjdialfPf/zjH7z88suWWkh5vdy6AnXr1s1yHxqzd//IKyVLlqRDhw40atSIggULOo6b3sBG
bs5s41y5b9WuXZsePXqwfPlyVqxYQa9evahTp47RTP379ycmJoaIiAji4uLo1KkT3bp1M5rJFceP
HzcdIQdThcT//d//8emnn3L69GkuXLjg+GdKWloaKSkppKenk5yc7Pjn7e3NBx98YCyXq0w8j5GR
kbz66qtEREQAcPbsWfr165fnOW6HqQ8Y3377raNohv8tpLQ6K57oNvG7XqxYMZ599lnsdrvT+4NY
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
&quot;
&gt;
&lt;/div&gt;

&lt;/div&gt;

&lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;
&lt;div class=&quot;cell border-box-sizing text_cell rendered&quot;&gt;&lt;div class=&quot;prompt input_prompt&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;inner_cell&quot;&gt;
&lt;div class=&quot;text_cell_render border-box-sizing rendered_html&quot;&gt;
&lt;p&gt;The first thing we want to look at is how our features are correlated with our target. As they are represented on the last line of this heatmap they are quite easy to see.
This way we identify that :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Pelvic_incidence&lt;/li&gt;
&lt;li&gt;Pelvic_tilt&lt;/li&gt;
&lt;li&gt;Lumbar_lordosis_angle&lt;/li&gt;
&lt;li&gt;Sacral_slope&lt;/li&gt;
&lt;li&gt;Pelvic_radius&lt;/li&gt;
&lt;li&gt;Degree_spondylolisthesis&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Are all strongly correlated with our target values, with Degree_spondylolisthesis being the strongest one and Pelvic_radius being a negative correlation.&lt;/p&gt;
&lt;p&gt;Secondly, we might want to look at other correlations, maybe some features are completely correlated and redundant, thus, not that usefull in a classification problem...&lt;br&gt;
The strongest correlations that I see between predictors is the one between Sacral_slope, Pelvic_Tilt, and Pelvic_incidence, we will definitely look into that later.&lt;/p&gt;
&lt;p&gt;Hold down to you hats because it gets &lt;strong&gt;fancier&lt;/strong&gt;, the package &lt;code&gt;seaborn&lt;/code&gt; comes with a great tool to visualize more accurately the correlation inside of a dataset.&lt;/p&gt;
&lt;h3 id=&quot;More-correlations-!&quot;&gt;More correlations !&lt;a class=&quot;anchor-link&quot; href=&quot;#More-correlations-!&quot;&gt;&amp;#182;&lt;/a&gt;&lt;/h3&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;cell border-box-sizing code_cell rendered&quot;&gt;
&lt;div class=&quot;input&quot;&gt;
&lt;div class=&quot;prompt input_prompt&quot;&gt;In&amp;nbsp;[7]:&lt;/div&gt;
&lt;div class=&quot;inner_cell&quot;&gt;
    &lt;div class=&quot;input_area&quot;&gt;
&lt;div class=&quot; highlight hl-ipython3&quot;&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;sns&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;pairplot&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;data&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;hue&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&amp;quot;Attribute&amp;quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;plt&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;show&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;div class=&quot;output_wrapper&quot;&gt;
&lt;div class=&quot;output&quot;&gt;


&lt;div class=&quot;output_area&quot;&gt;

&lt;div class=&quot;prompt&quot;&gt;&lt;/div&gt;




&lt;div class=&quot;output_png output_subarea &quot;&gt;
&lt;img src=&quot;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAACVcAAAkUCAYAAAAW0dr4AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz
AAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMS4wLCBo
dHRwOi8vbWF0cGxvdGxpYi5vcmcvpW3flQAAIABJREFUeJzs3Xl0W9dhLvoPAAGS4AwSnAdRHESR
lknTkqzJkh3Vseupju9LXtO6N03yrv3SDO3LStoVN77N4NfcOFldK7lNHDt+btM0cZI6sZN4TjRa
Ay1R1EiJ4iAOACcMHEBwAEAA7w8KRxjOIQEQJIDD77eW17JAAjgEvr3PPnvvs7fC6/V6QURERERE
RERERERERERERERERAGU8T4AIiIiIiIiIiIiIiIiIiIiIiKiRMTJVURERERERERERERERERERERE
RCI4uYqIiIiIiIiIiIiIiIiIiIiIiEgEJ1cRERERERERERERERERERERERGJ4OQqIiIiIiIiIiIi
IiIiIiIiIiIiEbKZXLW4uAij0YjFxcV4HwpR1JhjkgPmmOSAOSY5YI5JDphjSnbMMMkBc0xywByT
HDDHJAfMMSU7ZpjkgDkmio5sJleNjY3h4MGDGBsbi/ehEEWNOSY5YI5JDphjkgPmmOSAOaZkxwyT
HDDHJAfMMckBc0xywBxTsmOGSQ6YY6LoyGZyFRERERERERERERERERERERERUSxxchURERERERER
EREREREREREREZEITq4iIiIiIiIiIiIiIiIiIiIiIiISwclVREREREREREREREREREREREREIji5
ioiIiIiIiIiIiIiIiIiIiIiISERKvA+AiJJDl7kXJwbPosvSh4aCGuyr2oEGfW28D4toVZhroo2J
ZT958bsjkheWaUoEzOHGw++ckgnzShsRc08+zAJR8mB5JUocLI9rh5OriGhFXeZePHvs+3C6XQCA
oelhHB04ja8e+AIrY0pazDXRxsSyn7z43RHJC8s0JQLmcOPhd07JhHmljYi5Jx9mgSh5sLwSJQ6W
x7XFbQGJaEUnBs8KlbCP0+3CycGzcToiotVjrok2Jpb95MXvjkheWKYpETCHGw+/c0omzCttRMw9
+TALRMmD5ZUocbA8ri1OriKiFXVZ+iJ6nCgZMNdEGxPLfvLid0ckLyzTlAiYw42H3zklE+aVNiLm
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
P0R/zvwRRW+5ev3T2z++7ucZonDJqU0SjzbdRhDLjPA7oo2O5YmS0XpnTU5tE4qPRKkfmWWi2Oqb
GBJ9/MbE4DofiTxFNbnqxRdfxLFjx2A2m/HEE09gcXERTz/9NF555ZVYHx8R0bqRWgZ1K5eJlr0G
fe2aXzQkyjK7RLHGunNjWY/6MuD9WHdSnNTkb8JWfR0MttGQnzF/RNFbqV5f7/MMUbjk1iZhWYu9
WGeE3xFtZCxPlKzWM2tya5tQfCRC/cgsE8UWy9TaimpbwDfeeAP//u//Dq1WCwAoLi6G3W6P6YER
Ea23RFkGleSJ+SK5YrZpLTFfFE/MH1HssVxRsmJ2aSXMCFHssDwRrYzlhOSCWSaKLZaptRXVylVp
aWlQqwO/FIVCEZMDIiKKl0RZBpXkifkiuWK2aS0xXxRPzB9R7LFcUbJidmklzAhR7LA8Ea2M5YTk
glkmii2WqbUV1eSq4uJitLe3Q6FQwOPx4Ec/+hHq6upifWxEROsuEZZBJflivkiumG1aS8wXxRPz
RxR7LFeUrJhdWgkzQhQ7LE9EK2M5Iblglolii2Vq7US1LeAzzzyDH/7wh+jp6UFzczPOnj2Lr3zl
K7E+NiIiIiIiIiIiIiIiIiIiIiIioriJauUqvV6Pl19+GfPz8/B4PMjIyIj1cRERERERERERERER
EREREREREcVVVCtXvf7665ienkZ6ejoyMjIwNTWF3/3ud7E+NiIiIiIiIiIiIiIiIiIiIiIioriJ
anLVyy+/jJycHOHfubm5ePnll2N2UERERERERERERERERERERERERPEW1eQqMW63O1YvRURERERE
REREREREREREREREFHdRTa7S6/V47733hH+/++67yM/Pj9lBERERERERERERERERERERERERxVtK
NE96+umn8Td/8zf4zne+AwBQqVT44Q9/GNMDIyIiIiIiIiIiIiIiIiIiIiIiiqeoJlfV1NTgrbfe
Qn9/P7xeLzZv3gyVShXrYyMiIiIiIiIiIiIiIiIiIiIiIoqbqLYFBACn0wmVSgWFQoH+/n709vbG
8riIiIiIiIiIiIiIiIiIiIiIiIjiKqrJVT/72c+wZ88efOpTn8KTTz6JJ598Ek899dSKz/vKV76C
3bt34+GHHxYem5qawic/+Ul8+MMfxic/+UlMT08DALxeL5599lncd999eOSRR9DZ2RnNoRLFHHNM
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
cEaYN/1Z+cv7sfngUG8dL/x0LGc9ujbi4lce2fy+l/Dxw7He9JzftOAMeYq9pIT3gPdFrnrzzTf5
+te/Lvxfp9PxxhtvCOSqEkoo4RcP+T7Q+ZKkNeVWzlwMsq/rABPLw0hSEmpURg417sG14uX64lBB
wLajpguFTMFCwIlFW0t9ZQ2vTr7OU88e47pzAKPSSrmqQVzWXK1DVRNGLqtlYPEmPeYOcZb5mpQ9
xj4cq3MYlRbaNd0ikrSl4tf9hmLSu/aVeZwrbpwrbnpMHaKFf6u2ltW1VaaX5hhw3GJ//U5+ZdvT
/P2tXLn+Ifc4T3Y8zJBrTFDJyIdRbaC3tvuj+ZIl/MJiszWpt82AS31FtMN8zHunKHnKoq3lxeE3
eabrMYZEbNUkSDk/lyaibsh576CqTPMRftMS7mcc33KI8/NXC8bifktvAblKKVNwvCVXyeHk9MWc
ZDqsr+NBB091PMQ/jv1UeO/59TH9UMshvBE/ZbIyfJElNEo110RsGh5vfwhjpAXb6SZuh6JIWlMF
xQCnL8whVaNokdSotHB9aRXvFdjV2cl/+o1cNap7sa4t4cPBsd1Wzg7acfsjVEgaQDXHQsDFo63H
8IR93HaOUFNpXh8DKc7OXc5RpMxGdpL8boW6/Lh5btnOhfmr/NHR36fV0PxRfNUS7hPkrx/ReIL4
WoLASpyLl6MoFWp2HLNio3AM11fW4Q552GXYwr6afRxu3cYPTozwys+mgDC7HqplnlwyUzESQYe+
hWe6PgvAq6M/EYkrJMwu26nRmFitHkXd6ydVbmV/hYXzl9IWgYf7yolXzvGXt79Fl7Ot4AxWrEBW
I2kHNpLv3qVVmhT1osn+/OJWpqN+JR7maMs+Ok2t/PGxf8G52X4h7uo2d/CdK38nEKnmlu2cmrnI
7+7/NYZd4znP+4v+/7Exz7Hn2MJl0NOi56uf7eKrn+3a5Je9v5BZm+PaeSGmzU7oelZ8XLoiR5W0
cfzoxjhIF7i7mV2y5VgY1FWa2W7uFMbPVlMbT1u+wkRoWCBK18vbeeudAN0tGzZ5h/vK05Z4vrQN
vEVbQ7RqBHWvn0bZRuH19ICNB/ek597ZCxEqVcXnmVFpwRmJC3t6Jq6f8s2yo7Yrx44K0mO6Td+C
bXmRvfW9vDj8FslUUhh33zz2B/dEsBIj7B3utfDmuTs5ymmQjjmqKsu4PemhvrH43Pmn6fMApYa1
dWTWpAJlJ3UDylATr78UYXdnOQqZlGgyTd7bv09JXDvDlbWLhK62sqV6C1cXbhTk1T7bfizns3pa
9PzsynzRImmG4FqrqudqYoPgmiFG7TX2sTX2Bc5ftfOl3+i8p+9XjNDaq9+Hf16PtDKCvhwqqCLh
rOXcxfQ6l00kPHPdlv7OlXMCgUGz2oJbMilquWVbHadMoSeeSNKsaUGqjOBeL+BnFGmbqq28PPJ2
0VzkfsvOHKuuTMPFwy2HkUok9731392QIbtmF+Xzi2wmpQWfKyKsI1KpRNjD3126xp6HrXToNSTq
FvGsLeQQVzLKZkPT4g2H/f1RvvmVDTtMi7YWjULF+dn0mlNMERnE4486bQ0vj54oOAc+2fAMb86/
IvzdEXLhCLkKrOjdKz7qtTXIJfIcO/CmqgbR9Xu/ZXfO98kmDYy5p3CG3HclZYmhVdfCfGABd9jH
hHdaUOjaXbc9h/zzXvaK+wHZ4yV7PA05x3nNvjEu7CyglN3k6KHPcbjXglSj4sL81aKqlEHFDM3l
LdiyVDE3i5P7rLspk5VhCyxSX1lHnayVF19dYW0tyW3HBK/Z/z7nWkYCN9gl+xyhESsevYq6w74C
ZxDYIDafHrAVWP4Gw3Fq1u25ovGEYOG5EokTiSYIhuM5OYetpjbOTF8RrCyzv0NTVQNHmvYRioUL
9qxh2TgP7T6CKlJT1LZyyDUukNozaq7v9s/R3WJAEtaxQ7Jh6VZTZkURsOJ33H8WYtlnncy+uBIP
F21esWrrcK94ODvbT4pUzpzPrOWKYKOo9e+hpr0569PFuWsYVNUsBl04Qm6s2jpkUimO2QrOnA9T
pjDzzIMHibrXeOtcWimv2HtnKzfFEnGuOq5So2/A6YvknFnzlS6zUSxHdrjXwqwjyNURJ5Ambpcp
KoVxfrivnBvJN4g5Mmv+AkPu9FppCywKOT5dRVXRNbIYyS3/HJlMJfEFogTG2mndXsZF5/miSpn3
E6ZsS6IW5JO2pY/pikq4V6RdUApjlKZqy8dwNZ8+vC9yVSqVKvhbIpEQeWYJJZTwceNeiUXFyCjR
RBSNUkWlWslC7DK+m008sethunZvBEuZItKFuQHswUXqtTXUa2r4wc1XKZcradU306S18uPh1wGw
r8zjDruxBxd4QL2/aAdRqGKWipVmzOqFospA80EbsaHDxNbqcUbiPPOb7QXf/70Uv0pErE8HinUS
ZHfYFJN7ba5u4I5/DplUxlZjG2aNkRvOYdH5MbtkY0dNNwZVNcMihJYHm/voNH26Au/SHLl3iN0r
CZKCNSk7Wfbgnga+fesfRd9vMeiiw9AiOm7rNGauL97mhVuvcaRxL4lUirklG7UaMxZtLa+NvZPz
Xpn1XV9hZdQ9WfoNS/jQsZl1oK6iKufv3eYOzs9e5flrP2SrsZXjLQcZ9UyKvq875CWZTIquyUur
y0x4p9dljnsJxkKiz5tbtjHhPcvDR5/k1EkFNleo4HOi8QSqIl2XyqCV/fsgXjmHL3Gd56/eyVkL
u1sM/IffPcypa/PcnPSWlEw+QnS3GPjTrx/kv/7wOs36VE5yWClT0GVqZ24pXYRbTUQJxcJFk+RN
VVY8K37aDM0cbzm46bqYHTdn20t8u//7692mpb2xhPeHbJWa0Rk/hw+V42KC2/4r7HooXcyUBKwo
ZYOFhCd3M62pAxzdY2FrU3q9uXjbISRDxRLmg46hAlJRfqH6d/f/Gv32G8wu2ajX1iBFKhQqc7v/
03PtcN9TAGlSi38jEZ5fHMzsEyenLjPuu4NRYUERsPLGO8s8dqCRYDjOlH0Zk66CBoWOYdmNTZP9
GfjCS/zO3q9ydrafv772ghCDfW3vlwF4/uoLOQpVkN4bhl3jwnMyzxPbQ9b0NhprmnD60sWkEnG2
EJm1+S9vf0v0cdvKPI8cbePWbR/feLaXb+z6Omemr6DXlhFeCyOTygjHI1Qq1egN1fhXl3j3zjls
AYewvp45H8HhSduFzAeiSLvKMVXHBZu8MoUsh9xVMF7XC6+H+55ieDp9HdkKUVvU3dxeKpxnnZXd
PPOb7XS3GApyDWa1USCFeVb8WKtqqSrTEo3FqZCX8U8zuepxsUSck1OX3/d+kYkrGmormZxfZtG7
Qmejjs/sb+TMdRtzzhBNgQaUd5k7ZXIlT7QfZ8g1LroG3C8Qs7JpTO3l1RNeUsm0DdO1MRd7u2pY
SyQx1kc4F3o5i0Dowm32iq4b+TYymSJjsUJmc3UDDzYfJBkvErOoOlFoInymaZW/Gfkurc6mu8Ye
xQitioCVkxdWKFMY0GnrUZcrWFmNk0ymhEL98LSX62MuUhU+bq5srO12FrBqF5CspN8v33JrTb7C
g0etRFYTvG3PbVZTyhR8edvnmQvYN81FFiNDSCWSnDW7BHFkF7Tzx5tSpsCsNrKnZievXd8okgrE
1PXf2VpVy8tTLxUQVzLrJ2wU/jPIELTkxhmev3aWww17SKaSXFvY+PyTMxc41tSHRCLhgab9Bb9n
/lnySNN+zs72i46HhXju2THb0i1frc0d8hKOR3Is0XrrtmJVN9NvH2A+NEuDpon9lt0c3sTar9PU
ygHLPtHmtnqdftM8y0OtfVyw9ecQv1SKCiTr3yf/+92PVlT5yNjkDU37OP5AK8nUBNfWCSrFGrJV
Vtf6Xmngj47+Pt/u/77oe7vX7DzY8Dn6nbnja7M4+e23EpRLuxhYDBAMpxUkyxQyZsIj4mtatY2t
XVYk+kmu2Oc2VeErRla8Purmq5/tJKrwMLs6gjNmp6eykYoVNU9WNnN0V27O4WjLPs7MFa77x1sP
sNXUxsnpC6LX6lv102HYwqDjtihhPBlVoQhYhYYKgLFZPxPzfo7usvIn350HNmI0iPJnv3P/xcuZ
uGLIOcaUfw5nyE23qReLtpZyeVnOeUQpUwAw5Z9jyj9XcG7KrOXnL61u2BLH7XTotwi/ZwbD015u
XJcj05ioM8iRI0ctMbDi1HLu4kYD4+T8EnKZVPh/9nt743ZqK43IpfIc5SaAucAcDQci1EcVAtE2
mUzlKF3mI1+JtWeLnu29Mkb8pynfPsUhVQOqSBOEdRzdZeXxQ82cv2HHX3mNmKe4fXIsEb/rGlks
/qmQV4jGRBXlClZcharL92vzwbyzMF+62d9L+OTAoNKJniMMqsLxXcJ7x/siVzU3N/O9732PX//1
XyeVSvG3f/u3NDY2ftjXVkIJJXxAZCf7lDIF0bUoF+av8odHvlGo7lSEjOJZ8XOsqY+3J0+RTCXR
KEfY6jMWSLkebNzD+O0ymhvseFfdrMRX6K3pQilXoi3TMLM8Lyzm2QSXSd8MR5sO4I34BRnkjORm
nbqW8GgjnVsPkTTeEWXa/v/svXl02+d55/vBShIgQWIjQQDcxEVcJGrfJUu2Y8trYjuJm6TJ3LmT
26SdpWnPmcyd2yb39LRpz5z2nNz2pr2eOMl00k6TZvESr7EdWdYuayEpStx3AiBIrCQIgMR+/wDx
I0AAJOV4kS18/5JA4Lc+7/M+7/s8z/dbW1aHRS5hW6M2Z+LydpJfuQqxCh1CH0+s15UwH/RhVlXT
M9vHPXUHmF/24QnO06irR4yIcc80akU5vXMDOAIu9Ept3uI+R8BNeVEptxyDHK3dh3d5AWfAQ4e+
ecNN6Y9jkVJhjGwe+Z7Voy33s7t6u7CBApmbZc01alpmtmBbzN0hdtFyfaVLLin1U15SRpGkiFeG
T3HQvAuZRMrMwiz1mlr2GLczOW/j2kxvFt04JFkD3ll08tzA64V3WMAHgnzSgWs7fv/izN9lxCrX
Zm7Qpm8mFA1nyIYA1KvNjLgnc55v1u9in2kHS5EQEytFsqlN9PTjOAMelDIF9tgYkWgNW0zlGZI6
qS5QaUiT0RmrkRiR+syAiN7EyzmLBoBV325u5D8cufN9+8cdzTVqdjbrslj/wrEIY57Jlc32MM6A
B7lExtS8lf2mnQQiQZwBD4ZSPdsrW4EEHZVbCUaC+U+2gvS4eW3C3uKz55wbP47zfgEfDVIsNYPO
Uf76/DMoZQq8ywtYY8lk5g7R40JHuDtiQyczIfWZefdqmD/7vdXCKshMdl64vMw9hx8norbiDNto
168miA7V7sl5LYPOUX5w/Se06ZspLyrF6XczMZ9c161NeKf8LSV2EiRyboSv3fhOzQfWuUXevj5F
uMzDg4+7GJl/jSptNW3qGs6e99A9HOPooccQV1qZCdgwlOkxlhl4eU3xOMBB8y6+9+7/zBuv5lv3
rv083/fcURvG/UEaRWUcMO8pFM7mQXONmra5prwyed7IOJ1NuwA40rgNEfD/dT+bUXxxuGYv56av
pL3L1fk2ZdspaZxLt+wc22EiEosxPbeIWlUkSK6ttdf02CCistLZtBfIZojqdOqy2DEWRJNISvWA
lkuWrowx8K6tm/2mnZTKFMRLIB4qIeozgkTCcDSboQBg1DvxWzzl/KxWIhH0jXuQSeM8aL4fb9jN
1Lw1p8TJuGeKv3noW7/VdXxSsDZ2/e/P32DfHlkGU5N4UYapqJqYbpzwwur7Ty/mWIu1/iSVZDzb
beWo8ilCZZNM+abRKzWoi8t5feQ08UScbx3/w5zNCt6lBd6ZuITT40Gn0OAL+fmrs3/Pn9zzH/Mz
N6wpHjMUm4m5jUJyPCXft6e1EqvDz4ndZna3VgLw9z+/QWA5zLZ7Zgn7Mn27I+Bip6EDy4q8VC7J
rQcb7ic8mj0nzPodTM9n+wi5REY8keDpjsf5zfi5TT3TAnKjvUHL7zzQTN+4B8v4Mp/a+3k84nGU
JTL84QAzi7P0unq571gH//ryEol4IqMwNdd8D8n3F9Gs+s+1rCRCgdZsco036B7L2tMNxyK4ljz0
OYZzxs651pI/uP7TnPdpW7RTqdThCLgEdpi1DPMpxq57Gw5TIi3KLijVs24xVS4Yy7UcMO0imohi
WbALPvaFgdd5eejNvPssrfqmDGbNjsoWvrT9Cb737v/MeZ673d4HJldl8soUMkb8E8KxPeU2AAAg
AElEQVS7rVLqhHXe2nX/+PzqHBuNxzCXG3MqGOiVan7U8y85C6kAxGIJlUod5cXliBAB0FCt4rWL
kxnHUauKmAtbs44vl8gwa1W8Of+ywMCzHgvf2mLFFNq3aGjrEPGdMz9N87MzyCXXV2wtMx5Yr+EN
YMwznXUOSMqlVRSpMva5U7Zt93roO2tgMbiU8Ru9uoR3rlv4vSc6M4po7t9Xedc3mr2QxsJn8dm5
YLmWYWtGVRWJBBmxWTgW4fTEpYwGvj//+iEu3LAx4wxQI9/H0zufzJJeT5eUFItFnDimJFEuZ3Cx
D52imqOHagER4dIpPLFuzMpajpVXCwVSKcnjf/vocYbFbwsMf+moKtUzu+jEumgXCm3PXVzKKZmd
jvSYde2eucVno1Tey7eO/yFbtFrh+//51y/lPFZ6bhHW95GpcfDa8GmsPjuGUh1F0iLi8QS7qjtw
BTzopGYkPjNnLy7xmXuq+fUlF3v3rBSxrbDkHt+y/67cv6mpKs0tQW4oKGHc6QiGl9hr3EEkHhH2
3GViGUvhpY1/XMCGeE/FVX/6p3/KN7/5Tb773e8iEonYtWsXf/3Xf/1+X1sBBRTwW+L81FWi8RgH
zbuFzrGmsgb65oaygoH1dKDnAm4OmHYBCZaiIU7NvYz92mBWUuhIp4nT9l5KpCXY/Q7mAi5qyo3E
43ESiQRHa/fxzuRljKoq5GIZzqAH95IX77KPPscw6uLyDKpandxEjy9ENCbDqKhGLsnumHi47TCt
96xTwHIbya987F2FDqGPH3J1JRRLi2jVNjEimmDW72SHoQ2FrAS9QssIEww5R9lR1Y5IDH2OYXYY
2qlVGbH6ZjGU6vNKsTn8Lrao6whGlhlwjvJYy/08vf3xda/v41qkVBgjm0e+ZzU5b2HEPcGJ+oOc
n179zqBrjDH3JKcnLiEVi3J2FpRIinm46V5mA07GvdMYy6qSNrjoYp+xE384iCvowVRWRSweY2p+
hlK5AiCP/SaLDAvvsIAPE2sLTCqKVcQTCSFW8Sx52V+1E8/yAjKJTJANuWLrQSqWEI1F0eWRx6wp
r+b6zE18IT/F0iIe2HIMi8+OK01+5IqtR6D/li3aaTRtZ0ezjpujLgLLUUECwxW1E9Y0AAeFLuqB
STfne/J3z52euMRVW48gZ/hx8e2fBKRY/9Lp9pUyBUVSOXXlZgaco+w37RTswR8OopCVEIvHKJMr
GXaPM7VgE/zqwNzIuu8sFTevl3BK96sf13m/gI8Wt+aGaNI0ZPmwSLmFrlOVyGUGvnTyOG9fs9JW
r+Yv/6Ama4M9leyMxOIc2lbNoivK/EQDO1v2cUBXnZWEWYvzU1eTxaiLDhwBFx36FiCziGAtUwny
INWllYjd4ozibrFITDyR4IfXfirMAY2aOm7MDmD1zbDbtB1PwMW0ZwadQkNCEubK0kvs3fMI5y5G
OXthiTKFgb/4/Se52jeHzWnJklQplStwBHMzx7w+8g4/ufEiJpUh57p3rcxDvvWxTqkW1qxdzuto
VYVxnAuDzlEqilV5Waot/mme2vNp4fN+782s7y1Fl/L61xN7HsxI5MfjCS7fsvNHX9xF95CTtnYR
cVUVtsUZwV7X2mq7vgWtopgTrTV5C2BFiOhzJtkxovEY+007eb7/ddxLXiqVOg6adwtNEyl2lC0V
dYjHjtJn96EuC1O3x5o3dqkqun0mh42KdQedo1xwXUXeMcqyQo0nlJTiadLUc3GNZDOAUWVgyDn2
iWNcfj+wfYeEZ7ozmZrkkl7+Y8fX+eVQZiJvIbTIDkNbzvfcqmtkYNLNO9eTrCsdK6ymv//UDgD+
sevnRLyRLOmmC1NX+ereL2a933TJ0hQL1O7q7Ruu6dKLVS7cmOH/+XUX8XhCYBmKqiyMRLsxd1az
JFPS7y/HuuBAvs1CjdyESlm84stX/W44FkFVVLouy9RscCbLF0ByDbzXtIMx7xSQOZ+4gx7sfgeN
6jqmF3IVaWr57oUfUFtuZFvV1oIfXoN0lp8qjQJlsRR7NMYrbwQ4dMDIudjLgk9bjvq5MP86Bx8y
U+SvZyK6asPrFQ26Ijae3vMkkMlKMmKZR6afJGyPbHiM9AT5ZvYk8s3NhlI95rJq7IE5bL45msoa
qK8wM+gazWKH2YihNoXNNEZcmLpGggQikZhILHMMh2PxrHtae8yOyhbKisrott8iATSqazcVo9wN
SH9WxpIaDuyvBkQo9B7G/KsFTAuhxbzr/tRzS63FdldvzxmXmMuqKZIUMeAYyWBQG3SO8ldn/56d
hg4i8SgXLdcYcY9zouEQx3fXZ8mcBZYi7FqRfIRVnxaNx5j1OzbNwpeSKl4roXZij5nzU2/e1r5s
voY3yD+e6irM+EL+lUKUSjoqWzgzeZnlaIjachPqMhOLwdVrKJJJKJZL6R11A/kLv+9G5NsbTmfM
/a9v/BXj85as346uaSoUl3oRmftYLB4jrmskVlwCZK79LtywZRS5Xg+/JBT0pWKYvcYdXLVcB5KN
ginm4XTZ88aaCkJ+U0YeDVaUE8oq6Z0bEO4lorFSpjDcFpvvWjKEA6Zd6BRqfjX0JpYFO4ZSPbUV
Jsx51m3pucV4Ir6hj2zVN3Fh+hrF0iKm5q2UF6solhYx4Bxlq66R5aFWuoacFMkkOL1L7N5aSdAT
ZX5qCw3GnRQXSW+7+PaTguZaNdcGHFn+aO2+QwF3HvzhIAkSRGNR3EEveoUGiUjCYnjjhtICNsZ7
Kq6qqqrin/7pnwgGky9BoVC8rxdVQAEFvD8YdI3l7Bzrdw7TsWbzIR9FplSc1KE/XLOXa2n0zdYc
XfneqJ1AZIkzU5dzbvScn77KQfNu4om4QH182dpFTamZm3MDQrV56tzNpe1o71nmvP95ukZjAlWy
M+ChWduQsSDOt+i9neTXZruYC7jzkepKeGnwLWb9TuoqzFQqtTw38FqWbe417uDaTC8Hzbt5Y+xM
xt+7JbfYXb0dqViacwEuQsTEygIodaxOQ9uG1/dxLVIqjJHNYz1pSqVMgS/kp7OqHalYwhVbD1s0
dfzl2e8JklUn6g6xEF5kxjdHXUUN8USMKqWOV0dOZdrwrIxHW+7n1eFTOf3uFVsPjzTfl1O2UiwS
s7t6Oxct1wrvsIAPBbkKTOQSGY+13M9rI28TjkVy+mK5RMajLffhDs4TjcfzyrqJENOub+GytYud
ho6cx0nFIeFYhLoKMyrdLGfcp9n3gJEt5Vv4xcgvVhNoizNctF4RYp22ei1t9fm750bdkyhlCqG4
Cj4evv2TgOYaNQe9uxjzTuIKeujUtFNVqoMEvDT0Fg81nRBsDDJjgFAswkXLtdXPZ2V8ruPRdc+X
ips3y1LxcZ33C/joMOgc5cW0LueUze437cTqs/G7T+4gsqjksaONNG1NcH7qKt/ve4nWucYsmdI/
//oheked/PLUqLApOmZb4JXzk/z51w+tm/wYdI3hXV6gXd+C1WdHXVKOXCLL+Cw3U4lMWOulsN+0
M2OdOL1gQz6ZjFeMZYacY3R39XZEsVmaa+porqngxB4zjSY133/hFktLUo5sexKvdAJn2IZObqJe
3ka3+1TOe7EszBCJRahYuYe1c8hamYd86+N0ObXCOM6N1HyfStyn1vBmVTWQ7Mw/ZDxANK0wbm0s
upF//ereTHmRdAleUamXZ7qfZbdoe4a9mlXVOW21s2or/3Dmxxm2+c7kJb59/Bucm7oiFMscNO/O
+H2KdWKtrWukVUiNyyibZkjIl5ld8mAurs5pdy1lHe/p2eZlZstiAkhe4z11BzLik/RrSCQS/MWZ
vysU/ObAwJqiP0iO+z53Lx2VLRkJv52GDsQiccZ7TsmutWs6+fZ/vyT44Cm7j1NXLYIP7nMMZ+yH
pZBrjZYvpgjFQox63Pzs5stctd3YkCXzyA4j8USCS70zlOn9XAi8ILAVWXwzHK7ZyztTqz7Qxgzy
+Wx7B/AszXOs9gA3HYM5zzXnd2UwTKTQqmtkp6Gdl4feIhyL5GyIfLLtodzFEKpqXhx8gy77Tay+
2eTxCvYLZDKXQNLeimQS9rZV4V5YZrl0mrAnkuXTkj6xh0ea78fiS9p2+ny/Fi2aLRnJ1fSCiv/8
61XGsfWOkWp6gc3tK+Wbm82q6qw4ot85zFd3f4Fxz1Re6eN82ExjxOTMApBgcj5Z6LPRGM53zN3V
2xnzTjHmneJwzd5NxSifdOTbNzhg2sWY14JeuVqwvN66v7xYxZBzTPCbV2w9nKg/yFJ0OYNp7NWR
t5GKJRyvO5hxHeenrrLT0JE1Tvqcw3zr+B9mxSEn9piRly1yzd6NPxwUfJq6uBzZiuxb1r2u2Eh6
QWRHg4ZvfGEXfeMu+sZXY5y2ei0/Gnz/9mXzjadEIiH4+fSY/LK1izZdI6o9Joan5glH48ilYork
UkasXvausB0WsIp872Ug7XONQp2zuKqqVLd6nHV8Eqyyp+vKjBw7bObq9UgWC2GK2W0pupThZ8Kx
CLLq1fXW8d1mREovRctyQe46xV5WIi1BKpJm2IwnOsOff/1JmsybL7ZZS4YgEomyxnHv3ACPttyf
0yeulanfyEcOOkezZDBTdg3gC8d45HA9alURz50eo6JUTmApgrJExrmeGe7fV7Ppe/uk4WyXjceP
bWHG6cfq8GOuLMWoL+Vsl43P3tv8UV9eAeugVK7ImadfO9cV8N5wW8VVFouFmpoaRkdHc/69qamw
iCmggI8C+QqLOipb8nZG5JJk+NbxP+T0+LuMesbRKdUCXfx6XaOnx95FhIizE1dYjPjzFjCFYslO
oQRxgSklFAtRKlcgjap4pOl+rIszzPmd1FaYaFTX0aTVcWHqmkC1ftnaJQSDJdKiTbEB3E7yK1/H
xt3YIfRxQ74xcNnSTZVSx2IkwOS8JadtLkWX1u2yDMVCDDhH2V29XUgMmFQGRIiyKHuLpPLNbdR8
TIuUCmNk81hPmrLPMYxMIiMSi+BdXuCgeTd6hYZgZJnD5r3Ua8yMuSdxBNxsr9rKUiREAhH2PP7c
tjibdZ50vzu9YOPRlvuZnLdk0Hlftnax19TJ0dp9lMoKhfIFfPDIlQwCmPHPkaIozueLrT47fY5h
OipbsCzM8OmtDzDmncqy6X2mHbRoGogTz3kckUhE7+wAcokMnULN9ZleDKWVaJQKhhf7NxczrcP2
mergS8ed7ts/CbgwdouXh98UEvnByBI99j6qSvXEE3GmFqx57AGuz9zM+nzMM7Xu+VJx82VLF46A
Oy9LRQof13m/gI8O6yXPq8v0vDzzEz5T+wV+fukyL9l+krUOeqL1JJet3UJcPL8Yyug2haQE1Jku
67rFVSl/lypqvWi5zsnG41gX7WhL1OvG0JBkjl2Ohtb177FEjGg8mvd+F5fdfPeP/s1KvP8mPxoc
pXpXFWVyJfPLi9QpzeidLbx5egGaxGhqq5kmfwzmXNmIF4lEzPhm8yZb10qp6JVapGJpRvwPhXG8
FgOTbn49fUF4n+lr+FgixoBzBGNZFTGXkW+/ckkoLtlSUZ8xt66XjN+iqQPyMyMMeG8SjccQIeJk
43HsfgdahRpnIDer2WVrd9YxwrEIN2b7hfe7ng2HYiEh8SOXyGjTN/Mz788Je5P/b9e3CAmg1HpS
r9RgVtawVbsFSCZVL9ywYXMGMOmVHNlhypBOOT91lTHPFJWlunVjlXy+wxf20zs7wF7jDqKJKDO+
uQyJwHgizusj7/Dj7l/SqKkrSNeuYL35+/f3fZlT4+cJxyIUS4uAZDJ6v2kn4VgYTUkFvpAf+6KD
K/ar7N9nFGR3INMH54stt1Q0CP/un3DTPeSgP557Tz7ZhFgvFCpthiXz2E4Tx3aa+OG1n2bI/a23
B5hu76nvyiVyTk2cpyPPmK1VmbnhuJXxmVwio1W9na36xoyYCpIyX97lBQCm5q0ZezEpu00VW6T2
dAYdIwX55RWc6bISisQEqXOvLxkDLIejVGkUuCIz6/o0Z8BNqTzZMJKy71zJ7XsbD+S9hnSbXu8Y
6QXLm9lXSp+b+50j6FaS/dMLtpz3Mu6ZymIFSsfagpYTe5IFLKmxvfZ4rw2/zcXp68wv+5jzu6gs
1eIIuPLOV+n3tF5sl3o2l61dfLrpYRLiGH2OARo1dZsuCPskIe+zioeRSaSYVdX0OZNFefnsOJ6I
89LQW1y0XEcsSkr5pZq9Ow3tOZnG/Gvk4cc8U6iKS/POu1/d+8WMufr02OuMDEyws7KTLepaBjxD
hFf2/dazkXTZQ8gswE0xHKawNl5a/bwh4/+bYV5r1TfxROtJRjwTq7GJqppXh9/OfvYrOZwjdftw
+5YZSdwiELHTWLkdp9+NUmMjqmlg0Km46+x1PeSb3zUSIwOTyTnPXGqmVzKQ5R8b1bXC//ONid7Z
IV4aWm3ImcaGXNLDA/d8noFIV27W1hI12hI17iWvUHA1E5zmu3/0b4Dk3sqPzv8jzdoGuu19Qhyf
Gi+7qjsy/HlVqZZzjreIFu3e9LtPJ0OIJWJ5x/HkvIVHmu9jasGaEQOkYleRSMS3j39jQ/bV9fzv
IdMBTvzHfcK972QWV2SGBrmRKlEzFy7Gb4uV65OGap2SX749QrW2hH3t1Vztt3Pxpp2jO4wf9aUV
sAF8YX9Ou18MBz6iK/pk4baKq77zne/w/e9/n6997WtZfxOJRJw6lbtDsIACCvjgsF5h0T11+/mH
K/+U+3c5NonifjVDF0zodnszFhjqYk3ewqRR7zgj18aIxCIYyipxB705v5eierYs2CkvKksGdQEv
X+h4gv918zlh011dXM6N2X4SCRj1TKGUlWQcJxyL4Ax6iMSi/PDaTzfcYPzq3i9uOvmVr2PjbusQ
utNxrsfGxd4ZrHN+DhyQI6vw8vLwm1lj4Ku7fhdDiYk3J3+DVqFe1zbryk3r0pSXF5UJiYF2fQux
eJxrMzeyvju+QTI2hY9rkVJhjGweG7EdpBJ84VgEmUTKjdk+Dph20aCp4Rd9rwi/C0aWkElklBeV
shDy5zzXjG8uZydwyu86Am7iiQT9zmz51RnfHACf34ClpYAC3g/kij3UxeWCHW5GMsIV8PJ/Hv33
fO/df2TW78xp0/dtOcKp8fM5jzM1b+Vz7Y8w6pni1eG32WvsZDka4sbcAIZSfYa8T77rzje+DQoj
12K9Wee80337JwFXbNcJxzI78KuUuiTTzjp2NTVvE+LSdNh82UWra5GSWBh0jtI7l70Zmj43flzn
/QI+OqzHgNlR2YI/HGRksY94TJRzHTTimWDW7xDi4k9pP0+RTJJVYNU/kXtspJDyd+mFIUvRZUbc
E8zKnesylVh9dr60/TOcGr/APtMO3rX25PxeOBZZN04/aN6VY807I3Qbvz7+JnuNOzi4r5aIT4x4
oQa55Ma6CdzL1i6a1HX8zUPfEr6TlwlZ38S4e4pXR97m3NSVrGtcm8y6m9E/4eYffnED+bbpjM/D
sQhzARdyiZxDNXsZcI6ypJhi/74aznYni0t0iSbkkisZXfQKWUnOZHylQgPkf2cpBu/r9l4hqf9w
0wmhcGMtLAszOWPpHnuf4L83ilHa9M2IRSJO1B+iZ2Yo4z6KpUVIxZKMQrMR9wT31txLW72W/gk3
r54fJ7AcxelNSrK8en4cSErApGy/SqkjtBDOeQ0pn5HPd9h9c+gUGsY8kyhkJVlJ5dRziMQivDl2
tiBdu4L15u9Gbb1Q5KGUK4X4McX8fnbqXeH55pPdSfngfLEl3mTyNZGAP/vBZQ50GKipM2NdzCWT
pyESyyxUzdUkkI5B5yg3Zgfod45kfL6uFFzAy2HDMcYWBzOaMuOJOCV5xiziOPcbHsUemsYWtKCT
mZD5zNy8EeNI42pM9YOrP6Fd3yIkgKtKdfQ5hoVO+/S436yqFsatK+DhbMAj7Pfd7fLLA5NejnQa
WQ4nfcq2Ri3Fcik2px+jTkmJspZoPJw/Pl6wcqR2H46AC2fAQzgW5pHm+7D5ZnEEXJtigFpr01ds
PRw070YkEjE9b0WXliCH29tXStnLX535Hn2O4U2xAuVCOsOXWCzCrC/lZ28N09oqZsw/nfM3Nt8s
Vt8sVp+dKqUOmy+ybvFY+j2tF9upi8txBj1JGfOABYffRZu+6a4srIL8z2rGN0ckFuHVkbc5aN5N
WZFSYD5bC6svmX9wBFzsMXYK8qJKmYLpeVtOpjGbzy6w/3VUtrCtsoXr9ltZ30u/xoFJNzftI7xk
+4nQ6OOPLnLDeUuIbzeykdNnrZtuglgbL6WOo00k15X9E25uzY7kbL7I5RMvW7uZ9TuSNuj34Ax4
MvZCUnAFvPzpPf+JSDzKM93PCmvvNyfSWPQXZ7hgvcIR5ZOEF8p54EDdXS8PmFcpxmfmrXenuXzL
zq5dxTkZorxLPn547accrdvHsHs869hyiYzJ+emca0GvbBxd3EiNyZDFvFYsLeLh5nuZ8FqE+Xar
NrmeGZh0c2b8CkqZQpgjUnF8CulyrinVm9dHTnNq/HyGja1X4JdOhrDRWjCeSOAOeNEq1Tj9HqyL
q7m9Gd/spmSt8/kUV8DLskMLjcnrTdk2pGQUb3Dynt/BvbC84Tk+qSgvlfH0/c1YHIv0DDupN5Zz
bKcZ/1LuNUkBdw5m8uxrbma/s4CNcVvFVd///vcBePvttzf4ZgEFFPBhYT2Zka/u/SLNmvoNu2dS
ONNlTdI7ktmVsV6HRW25iaszycVwTbkJnUKzLtVzR2ULTr8nmYQsq+SGo09IaKUHa0vRJaRiKYGI
KGvxkS4psZkNxs0mv9Z2J98OZXQBHw7O9dj4u3/tJhSJcexwCW+7X6GZhpxj4Jq9G7lYjiPgoq7C
hAhRXtsccU/QpGnYkKY8tSCOxWNZ34PNJ0mP1u3jouUaSpkC7/KC0OV8pxcpFcbI5iGwAU5cYsQ9
kdFdszbBN+aZ4lNbjrEY8jPimRDsQV1cTiASpKmsgVHPRN5OYKOqih57X9bnKds9UruPYmkRPbN9
WRtIqe/0O4Y5VLvng3kYBRSwglwJKu/yArurt2P12TclGXFv/SHq1GZMqmqmF2aybLpaVcmrw7+h
MU/8o1dqGPNOcW3mBnuNnZuSslrr29f6wqpiMyKvibkpCjIOHxGsgemsDnzv8gId+hb6nMN57Sqf
/6wpr970uTczNxaKkwu4XeTrSjerqjkzeRkA+5IFTUlu+YX0Te9wLIJDeot9nypGtGDKYE5pb9Cs
ex1xv5pdksdZLrdgmbdhKK5FEqrjgcotzIkGGHSNYlIZ8vrbWb+Tv3noWwxOuRmROrCQXRAgl8jQ
r7OG3GnoyChSSCHVbQzJtWOZ3gFBDeevhDh571PIdHb6nWNUl1UhFpHFONW4wn4EG0ttfOfM/8vu
6u05fXzQXkn/hPuuTx5Bcj9hzhNkl7QaW453rVOqObPiC60rCYujyqcAOH9xmc76x4horLjCNqqK
zShkxeyp3s7yGsaay9ZuIvEYrwz/JuudPdn2MFu1DbiWvMLfdho6eGv8XN71nrGsmp7ZTBZDuUTG
zuoOdhjaeWfy0oYxitPvwRF00aiuY8ybmQBLFSdG41FmF11oZSaate0cbEhKAvaOOnm3b05IrE7P
LVIkk1BvVLFQ3pUxr23EjpKvGEin1KCUKQjFwiQSCSZmsuVn1q57C5KXG8/fqb2mf+z6OYbSSiKx
CIFIMC/rU0RjpUhWKbzrlA9u1TfxadOXGPH34wrbMJeZ0Cu13HBcYGlqmtqirexprQSFB5E4ntMX
NWsa+GX/a1n3MOAayykVmPJ7QJZdrWdr1SU1hC2NBKc1FG1NINLMUKOqFuKfGlU1w57xjDF7ydLF
drWI+YEmSqRNdE/PE4osUV+9Wtwz6BzNki4plSvoqExex9rkbrq9GlUGutcUQNzNNny405AhBZzy
KZ+7v4kvPNDKoFPLX5/vpakst080qao5PXERSBba3XIM0WW/xSPN9/LNY7+/qWvIFx//c89zROMx
lDIFgUgQY1kVeqUGbYmGrq4I8RZ3FmtfrsT8kHMMhUyxKVagfEgxfAEc2lbNtYFkw091RwhDqT63
/aetHdLPu5adsKbcyMPNJzbFfpyy5WxZzJm7tkhwo2cVT8S5aLnGoZo91KiM6+4fhGMRSmUKwW+u
Zy9ahSaD/e+eugN5Y1SjysB/feO/oZYakMriWY0+qebc1G/TbcQV8NCubxbWjH8/cTrnc8jVBLE2
XtLJk8WqFy4us83g5jv/41067rHnzRWl29KQcwyTysD0gk0olMn3bNr1TTRq65NMh7H1Wcc90gm6
eyo51zOzoQT5Jx2t+iaOlD6FRzKe+b4uL2Ou9KIskXH+0hJHDtYgrrCjU4BULCWeiPObifPEE3GB
lTglQZqCuricWb8z53kd4Wl2Ke7HEuvKekc7DR28OnwqY77tdw7TUbWVrsEIzrht3XFiUhmIxmPU
VpiQiCTCGisci/D6yDuIEJEgsa60amqNGS2ZQSoNr7sWlIqlOIIu9KUaHMFseeFNvYc8PsVYUsP1
ASdvXJ6mds9UTnueDg/x+nNJNs1jO02bOt8nCVUaJT95YygjpuiSOfnSya0f8ZUVsBGMqiosecZw
Ab89bqu4KoU/+ZM/4bOf/Sx79hSScOl4+md/sOnv/vx3nvkAr6SAuwkbyYzcu+UwFyzXNpXM6VsJ
2nWJRuSS1eBrva5RnVItfEcqlqxQguemegYwl1UnO671LdRXmHk3LXmZDmfAg1ahJhKLUrnCPJA6
1trE2WYX0ZtJfqU2xwq4M3Gpd0agN4+oLChDirzddpFYhNlFBwCakgoSidxJ71KZEn84uCmacrlE
Rp2qlinf9G+dQN9n3MGoZ5LOqjYa1bV0VG39WNheYYxsHqlnNeae5NzUFW7ODbHD0JbRoQnJxaLd
N4uquIzZRQcHzbsFyuamsgbqK8wMukapLTfRvSKrmoJcIsNUZsgqDkj3u/c2HN+dHnEAACAASURB
VALIorZPt++CpE0BHwZyJagADtWsbkKu54sBwc+mb5Cmf69cXopJVU2Nqppuya2cx5mat1Gp0G1a
3ieXb2/VNyFCRGlRKd0ztyhTRpH7a9khfpxwuQVX2EZtWR0Ptx0u+MwPAUZFLeFYZgd+OBahZIUB
NZ9dGUur6CHbf+40dNzW+TeaGwvFyQVshLUJxBpFfc6udEBoTNErNZSIS3MeLz3pDDDrdybliBPd
AnNKkUyyocTBmS4r71wMUiSrRK2q4aovRCji5mCHgdIWCcHIEmVyZV6/nbqG09esyMjNKCURSZBI
JTmPcaL+EC36LTx7/Sc5r09gewh4iBWD3bbAgXYDiYCcrz50gj/7wSXE+gBd0ZcyuvDX+vb1GpbE
YgnhWCQrcWosq0bkrOfsxSUU8fXlFe8W9E14CEViyBZrkUt6111XwYpEuyLJDtJWr+a1i5OCrc0t
Reg4NsMN7yrbU7ocicU3k/OdDbvHMK3sOaTOG4qF1l3vVUsa6SFZXJWSTwlFQ1yx9eAL+fkP+/83
rk73U1yU206LJEVCF323vQ+d3JghTZliM9qjO0jo1hH6Fpd58t81C38ftSzkZKxweJaYiKzG6Jth
R8lXDKQr0eBdXqBYWkSRRL7huhcKkpew+fk7GosiEYuQSWTs1SfX+bngCttQq2qYdQezfPDZC0vM
uip56L4WLrpfwG9PylNZfDa6JNd5qP4LTIWmubkiPZjyRYZSHY2aBuaXFnKyjWgVFVlSgd8+/o0M
v7fWrtbbAxR5TZy6ZkEsFlFnqCaxUI4y3Ex8WYmkSssla5fAgpLOjuYK26iv3Mm5npms4jLI7Yf9
4SCVSt269iqXyCiTK7N+C3evDc95lvL6FEja9X85+gf0zQ3R7xzOerYGcSNwM6OgTS6RcbBm921d
R674uEFdy5tjZ7H7HRm+va18J2+eHuP502P8+dcPZbD2QXbR81+d/Xsebjoh2MZmmKPWIrUHXiST
sByOEorEMGgVjPlusr2qJefxVPLSjHGSft4UO2GlUscjzfdmsamsx24O+eXt7sYiwY2Y4FOwLMxw
SHd8w5hDIhJn+PKt2oactl8kkWd8dn76Kl/ufIK+HN9NJBKMz09RpQwgC8uy8hVr7SMVC5TKFTzd
8RgPtdwrHK+jQcOU3Zf1HHI1QayNlyy+EKHIEp8+ZuBMlxVliQxXJLvAHTKLbRvVtYRiEUgkhGvc
zFhK+dV1GQ7T5rqNJMjvCgTUdF/NfF8A1VolPcNO4vEE5y4uUabQc+RkCZdmM/duw7GkiktKrlU4
bCRIR1lHzpyYTqnmcIeJf7iSqTS1XlHchamrDI2a0bVUY4vN5LUFQ6me6zM30Ss0SKSSjONYFmb4
H90/o77CvK4/W11jajlxjwJJxUTOc5VIS4TYpkRactt5mNQaO5Fm5+m/x2vict8sBq2C6TyMha6w
DWVJDZd6Z+7K4qrhaW/OmGLYkpttrIA7B+36Frrt2Xmktrsspvig8J6Kq9rb2/nLv/xLAoEATzzx
BE8++SQGQ6HarYACPgpsJDNyO8mcjgYNoXCU69eidG55jKjGiitiw1BkRpmna7Tb3id0RV+x9XDA
tIuTTcexLzqY87uorTChkBazFF1mr3EHr468TTwRx+qz0+cc5mTjcYGaNx2pyvSiWBmNpfvprJqk
zzHMPtOOjKKE211EFwpDPt6Yml0EQK0qwhWZWbe4TiaRYS43Eo5FuDHbj6msWrDNWb8Ts6qaMrmS
qlIdgcg2ZhZnebT5ARx+N1M+C3qlmrpyMzOLc+wwtCcLq8prMCrN/Gr4dXZXbxc2NPVKDQeMm0uS
ru2Mt/js9M4N0FFVqPj/pKJRW0+jtp4x9yR/efZ7+MPBlY1EDYFIkCJJEcoiJTdm+9lVvY3XR05n
dRB9ruNRxt3TfL7jUSbnbUzP2zCU6jGU6ZlbdAn+2RXwYiwzUCpXsuAP87m6rwh2+a3jf8jrI+9g
WZjJYNKCgjRVAR8O1otJ1CXlXJi6yrB7nCdbT+IIehjzTGFSGSiVKYQN0ZQ9i0XiLD9cJCnCu+RD
r9Dw5thZTjYex7poz/j7FVsPe02dzPjm1pX3ade3oBSr0MS3cPNGjDdcXYxYF+ho0HB8tzlrwx+m
kUt66RQ9RvepSqo09Tz09A5a9Xf5RuKHBKOkhb5IL81rOvAnvNPcU3cAz9I8J+oPsRj2Y12Yxaiq
okyuxBXw8MXtTzDoGsXmS35uLK3ixz2/pLqs8n2NGQsxaAH5kIs1qVhaxOdanmRwvl/wYXKJPEM+
Ry6RoylRb6pIIr17P6GzcbCjHblMvOG1DVvmgeQG6qx7dTM/HI0z5ZtmLuBiYfpqXn+7W7uXH7zY
SzwBl66GOLR/tdNeLzexvbqRMd8oVt8Mj7bcj2dpnkmvJWvNuhGDQUdlC7KYCu/iMpXqEk7s2QJA
lUbBry84OXIws8O/ubQ9YzwOOPM3LKXYwVJJsVQy2LHowjtQTzye2FBe8W5BR4OGWVeAsWExu1qT
jGeusI16VR2KYimnJi5k/cYWTCYyju82c+qqJcPWigN1QsI0PcGvLi5n2D2R8xqcAQ/uwDy15aYs
adi1BXKGUj2Kxa388sWAYJu68mLOTV9OG49J5pA98k9zvQ92tT5OqNyCO2rLkERLobLYSHGgBrmk
J2tcqmP1qBorOL7bnJFotLsCOe9lzLZAy+F6QtGQwHacugcAy8IsOpkJbWwLkmUtzzx3g6GpeT5/
/CuM+fuxBqapKa3jgGk3hxu38Y9dP+f1kdOrBWQrz8GsqhaeTzoK64MkNpq/1zIuOQKuvIzDJmUN
1mIZBzoMPHVvU4YdbNuiod6gYl5+E783mPG7cCxCQDqDyz+T5Yt65waZ83v4vb1f4PTkxU0VNd6Y
7c8oPMpkVPFiVFWhlJVwsuk4zhW5PbOqmoQjWVAKq0w/qYTb9UE4fd3K0UfrBRaU9OtoLm8l7EP4
/trisnyFUL2zAxxSPsm8dEJg9apWaemevcleYycl0mLcwfmcv71bbXjEkvt5pH+esuuOqq0Za7Oy
SAM/fdGZMV/nmjdv73q8vHPdwo1RN/ccaUAuuSQUcqTYcmQ+s1BwcOGGjahhlf1HXVwu+MDLli6i
8Rg7DR28PvqOsB6cWZzlZNNxPEvzTM3b0Cs16Eo0615zqqBFrSoSJFm9vhD1Yj2uoJdDNXtYjoaE
NYJUJM2ytdTYiSeS8jvNmi3c23ggp0xVq76J43UHcS15hHiprtzM9IKNdn1L3rXp3VgkKDDBj73L
qHcCY1kVohwspHWqWiYHFTxY8zSWyDCeHHOzXCLjcN3eDF8+5BzD7nciEYuZ9FrRKiqoKC7n7RXG
thTiiTjnpq5k7GEYVQYSiYRw/NS+dCQWyXqHGcyVfqcg9zY5IeaZmzeEeCA9BkohXxNErnipSCbh
xJ4a/u5nPUkbzsMgurbYVi6Rsae6M2NfJZEQ8YjpCSb8k8L418a2CM9un2kHs37HuvvxOrkJiy/Z
DFKIkVffWfpaqkgmoammnJ5hJwatAq8vhLqsmDHf9ZzFwuOeKT5b92V63N3Ceyn211C2LM8ZcxZJ
ijg1donKIlMGc/B6RXGDrjF2Nu3EtriEXNKbFTc3auqIxKK8PPQbIbe3lvk9xeY66p7Mew5YLW4N
RWK8ddrP0UO1nGzQ4wo5sC7MUFWqx6QyEAwvsRBa5L6Gw2iLKyiTKxhwjWFS1FIcrOXM+QDOBhu3
xlz0TXiE/br2Bm3GGjs99nUFvGilJozSZl54LVkgtN64SdlzKid1t8Ey58/9+Wzuzwu4c3Bu6hJf
3P4ZhlzjQiy/VbeF81OXeTitwLeA94b3VFz15S9/mS9/+csMDw/zwgsv8PTTT9Pc3MyPfvSj93wh
9913H0qlErFYjEQi4fnnn2d+fp4//uM/xmazYTKZ+Nu//VvKy8vf8zkKKOCDxEdlw5uRGdlsMuf4
bjPnemzUVJYS95ci8auple9EIhGxKO0FKUhEUrQKNRJR0n0YFSZuuZP02/FEnEvW65TKFXyu7svU
V9iw+eYoL1YR9C9x0XIt43z5Ku9TlelVpTrsC26u+N+graSJr+75Aq36Jnwhf0ZBVirYE4lEzPhm
6ahs4Vjdfhq19e/pmd7NuNN9ca2hjDlPELlUTFWRCdviDKVyBWZVNY4V2ZNUp1iRRI5Woebm3ADV
ZVVcsl5P/k2hAxF02W/SUdmCWCymWFrMAzUP0tslpqTIzM7KrZz1PE+RpIhILKn9XanUEPWXUF5q
4Os7/w+u2LqYD7rYpt1Gm24rh7ZsjuVivc74QtL1/cGdaseN2noebb6fYHRJKPLrULcgEYtxBFyo
ilW4gp7cNMTzNsRiMYkExBIxNIoKxCIx7uA8l21dxBNJeYhDhmNcfbsMmVRCvUFF6/1bhOOkmHa+
f+1fMrqIC9JUdybuNDteT5bhdpAvJrndwpMjdXsFKZNUxzPAZ1pPEolFWI6GcAY9jLgnUMoUgs3L
JTJMpVX0O4bzygNVKrUYwrvp6Q3RuN/I/3y9X9jonLL7ONdj4+ij3pxjFZ2Nkwf3cGSHibb6QmHV
h2XHPkcJn2k7SSAcoM+ZtAV1cTmLYT+e4DzFsmLcQS+epXkaNXXEE3HiiTj9rmHUinL6HEPUlZvo
dwxzxZrcKC/MywWk8EHb8dtjuSXvlhI+pGIJGkUFJbJiNCUVmFUGDGWVSEVSLlu7MJVV81j1F7FF
hrAFLdSUmRFJ4hnSpmuT63MhKyFXHdNzi5Qq5Fnd5On+vmFPPW2tdbx11sdyKLp6TKkYk6IG6+LM
uv6WeRMvXZygSCbhQLuBcxdnMpiJ6o5U8kcPHd/wGW3E9lAmL0UTaiHUIKJCVSz43xN7ksmMJFPX
6nnTWYMGJt1opNVYyN2wJBZLYDbz3cwFXOzQ7GN8JXG0kbziR40Pyxd37pTgUc3hisywLK2mJFBP
dLSBk5/v5LzzzZysOm0rxQ/tDVr+/OuHONNlpX/CQ3uDhuM7zTxa2iAkNPVKLVKxlIuW67TqmtaV
Adqq24JcIstI/q0tSpEnSnnnbJBoNL7CGGCg88RszvEYLJnGvVDJpXfhoUP7MCpbOet+LmsfQxPf
wrVbET619/O4RWNYAxYhMfm1B3PbekttBdNzmQkbsVjEPUcUTESWka3I9BRLk8niLvtNHmt5gIql
drq6Q6gbKviHX9zA6vCzt62Kf/7FHKBFrTJywRfiApNUfL2aQzW7BSbbdIaV1vIOfjL4r+uyu90J
+DBj4/Xi3v4JN2e6rPRNeNjRpCViuJlVvFSUpwFQ5DURWI7QodFk+d6OLTr+9c0h5JpsyUaAcd8I
VXKTkPgLx5LyVurickwldbTqm/iDXV/jzPgVnGEbhmIzalURb+coarxuu4VZWSMUraaPjU/Vn2DK
N4nNN4tjpUCqUqmjVrKDf33XQTyeoEgmIRaLo1YV4fWFhDh5MRhBl2gSmBfTmeDGFgepq1niM/o6
or4K7tmVWWSYr4i2qtjM6V8HgKQPv+wPc/RgMVuNjYy4J9AqNHRUNjPiGc8aj3eaDcOHY8e3w4Kz
dg02MOnm5yLXuvPmekiNj4FJL0cPF+NIjDA+P4lWUU1tQy0/fdHP0YOPo6xxMOweRytblchKweYM
4C+ayGD0TvnAuUUX88s+VCWlLEdDGT79jdEz7DC0A9DnGKa9fCcDk+68a7JUwYPXF2Jbo5bpuUWB
fbF78TV2Gjpo1tRj880iF8uSReNrJILjiThd9ps8WfNlnuj8HE3mZEF2Ph8iEonocwwL69c+xzAm
lYF2fSsiuG1pw48KH4Ydx/1qzr2qRllSialdlJOFNDRrZMq+yKQd5jyVaCtqqesQI1G7qS0zo5Mb
+HTnsSwb75nvxxfy4wp6qFLqKJGW4A7O54xTWrRbMsbJ//Xmf2PMOyX8PdX0HYgEs6Q2U771aO0+
DEo9oqiCsLOa05cXiMfnOXXVIsjmZcVAawqxITm+znZbuXdvDYFgmGmHXygmaa5RC2P/dhhEl2PL
9DmGVxqKTcwvzTNxQ8Ssa5Vp6VP71Wk2PUqHvoUiaREiVhUiUuMwEAlmFEveyTHyhxVX5Hu/3rid
XSTj5lZlDWbZVqZCZqyL2QU+rbpGtmhq+ZcX7JQpaymuUaM1BnGJxrhHcwBf2I/dN4curcnFVFZN
E0cyiq+8ywt5C8BbdY3s1lXyq2fHObDvcSJqK5YFK9VFtXy540FuuHp4fTJTwjIcW2V+ByiSFOEI
uuisasspR2ZU1DIw6WbbltV5Kh5PcPZCkLJuGY8dOcJ2c4S3Zl5h2D3OXmMnkViEW45hmjX17NDt
pue0gQvuAKHIAkc6lfzdv3Zn7NedumrhL37/EJc9XZnFuSvzxSHDMUau6LBFI8TjCYB1mXdT9lxn
KHsvr/8Dxwdtx6bK0qx1CoC5MjeDdgF3DqqUBoZc44hFopXiyAhDrnGqSgtESe8H3lNxVQpNTU3s
37+fqakprly58ltfzI9//GM0mtUJ99lnn+XQoUN87Wtf49lnn+XZZ5/lm9/85m99ngIK+KDwUdhw
OgtEeuX2O+cCxHe5b4t6tb1By7f+3QFGpj2MeiZZVk4xG7Wjk1azTdPEL4aezwowPr/1KRTBBnzl
E8yFrJhUBpRyJe6EhTeGfkM4FqFKqUO2EmSthdVn52jtPuaXF7H67BhWKtOVMgXPD7wuyF6ka82v
3VxPLWa/ffwbJEhwfuoqz1z9X79V8vduxp3si3ftkhKtnsMTtdNmOEhxSULYQNtp6KCuwoxlwYbV
N4s/HEQhLebxlk/hjwQFyueUZENy4WjmpaG3BBv6yr7f4Zazn16/hcebH+QXAy9nMAjdkgwjRcHT
hw5ypHHbe7qHjaQ8C3h/8FHbcb7NNKOqin+48uMMu5JLZByvO4hSrsiQ8EnH1LyNI7V7+WX/q1l+
OL1LKDBXjnshKfXz9P0GTl+z8ve/6E3r3mnka3u/VJCm+pjgo7bjFHKxqqTm5PfTdjZbwHVp+jrX
Z27ycPO9zPld2Hx2OqvaqC6txLpgx744y4ONx3EHvRw078YX9iP3ydCtdIo6A162VbaiV2pyygG0
azq4Ze9H1DrDYLSG/fuMXLi8LGy8KEtkjHnHc96DM2Ljvzzxv79vz+STgA/DjhvalvmnvleIJxI8
1nI/M4tzzCzO0aFuoVXXzE9vvii854l5SzKG7XgMpUxB72w//nCQPudIxjEL83IB6fgg7TiXP9lv
2smrI6ey/NPR2n1MeC0EI0vEE3HMylr0chO/PrWAUdfE9blFOjsl7FCLcOVh1tHJTHR5kvHz2m7y
C2O3eKb7WaLxGPtNO/FH55lMjHPwpJmYK5n8lEnEtNRVsEQTKSn59M5muUSOVmpCmpYsDUVihMLR
pLR3LE7z1gQRlZ2uaBdL1zZes2WueUdXWDoV+Jb9fLb9Eca901wPvoXGbGQ5UMuLZ0Y40z1DS00F
3/jCLvrGXfSN505WvXM9v2RhKjGfS1o5tdG+GXnFOwEftC8edI7yTPezwnOyMYNc0ssfPPk1Wuu0
oNi4Kay9QZtj/0Ir2EaKeQnyy72mEocSkZh/v+trvGvrQlkizZI88y4vUF9Tz0XxagGCskTGXCi7
uAOSkiAPnmjGKRmmP9KNNm7kfsOjTAWmcIasmJU14DXx/Kse4vEEk69AmaKSe3bt5jfnprl/nzrv
s3vgQF2GVBrAiWMKfjn1z1lrhkdb7sMZ8PDi4K+RiiUcO3GQ4LKFrcpaNCot1XoFWnsx7vllQXpO
rSriwg0bv/dEZxoTyDjVZQbqKowMzvdzT91BAuEAtsU52u7g9cGHEVOsF/fG/Wr+7+9fEt5VKByl
VJ7tw6/Yeri/4QixeIIh9zi6lQKSsxeXkEnEHNmRLStza8zFnCfIrjzMCZXF1Yh9ZuSSHsFHpwpP
JLIYg85Rbt6I0XUlmRAvatDijHfnLBZQSaqIuYwZ40IsErPXuAN3YJ6FUABTWTVtuiZcCyEkCyb+
5Z05DrQbCEeimKvKsDkDyKUStjVqKZZLuXQruc/i8S3z6a0nmZyfRl1cnsHqZfHNIJdc49/t/N2s
sZ6viLZK1Ax4BZaWY4dLuBr+FdHx1WfwzuRlOqva0CrU3Jjtp03XdMfaMHzwdnw7LDiQWTDY0aDh
j7+4m6nZBa4NOGirV3NiTw3xYg8/vPYmg64x2nRNtFc20+cYzli3pY+PY4dLeMm2uodsXZkTDu1/
jHfOB3nyRCd7ZLt54dSYMJeq1cliPZVCzpbK7bw5cSrLBz7V9jAe/xL9nlvC9aezG9oXHURWfiNb
rOGmfYQLrjdzri/TCx6K5RJujbkJRWJcuLzMkYOPsBy0ciXQzX31RxjxTHBP3QEC4SWO1x3Ev8Zf
Arwz9Wv++60xDpp38eLgG1k+5HN1XyHmNQLgDHoyxvCcf466CnNO+bk7sUgQPng7PtNlZTEYYTEY
wXFBJLCQeqI22vVNhF3V/PqUD5lEzLZGLVann8bmOItFk7h8dqrkJrYo22jVNwk2Hk+AWOnhQuCt
LNt6pPk++pxDGz7/Rk1dRnEVJH3+I40PIgL6JdnvUISI7YZWeqcnEaX9LhSJCbJ5uWOgVfRPuDPm
nyKZhCqNghN7zCQS8MxzN0CU/DxpwyvscxEbzeotSKQiTucotnUGPNzbcJg5vwtX0IOprIr2TwWw
jhdx/lJyzurcIVkzL84gl8g4UXeIp1ofIhSLYfFZkw2kZR3E3ckicZlEfMfHyB/Wntva9zvoHOWZ
M2lx8+IM3ZIunmr8LL3u7px22KpP5u16R53Y/BZ+417NWaQK5pUyBeenrwJgVtbyzptLPP7g7+Bg
GFvAilFVRW25Ka+vadVr+U9P7+Ri7wyzEzLa6vewzaRjd62Rn/T/POe9OQMejtTuZSmSlNSOJ+I0
aerpnRvIOkfEaeDbr13iG1/YxW+uJOcpsVjEkYPFRFQWrkWuo5s1skN1EKlxiZeG3sgYqxcs1+jc
8hiTs7EMSdd0RGJxhpzjOJfdWQ0K4ViEUd8gkegR9OqSjKKh1LgpMs4yuTglxG4XLi9TJJNwqNP4
nt79h4EP0o63N2rpGnRkxRTbGgvNpHc6TKqqjHgEkuPwidaTH+FVfXLwnoqrhoaGeOGFF3jllVdo
bm7mySef5Lvf/e77fW2cOnWKf/7nfwbgiSee4Ctf+cqHntB/+md/8KGer4BPFj4sG27VN5EIqOl6
+wYXPEFCkQVggd9cWe2A2CzEYgiIXdiKL+HwJZmAnBInJcpEzg7OMd8INeWd1BXvIOLzM+weQyFT
UF1WKXQuyMQy9AoNjoAro2IcwKiqYsg1jk6pYUdVG5F4hIG5ESoU5ZQXlRFPxDM2QS9MXeWre7+Y
U1YoQeJDSf7ebbgTfDEkkz3/NPSPhGMRDpp3M+mb4trMjYwgu2e2j3sbDrMUCTHqmWDUM8GTbQ9x
ZuQyR2v34V1ewBnwUFNejQixUFgFyeKsH9/6qWC3/e6hnDY/uTQIHHzP97GRlGcBHww+TDteb0M+
VTxVpdQJvjAci7AUXca+6KCuwpSzg2iLpoZh93hOm4zGoxwxHUQTb+JGd5RHDlexrVHH937ew9IK
y0Sqeyc5JxSkqT6u+Kj88YfBuLfZAq5L09eFAsUnWk9yyzGYLJCZG+DaTC9yiYy9xh3M+p2IRHBz
bhBE0Kypp985gmdpgaO1+5CKJPQ7hnmi7SR2n5MJr4XasjqaKhp5cfRFfKEkxbVtMblxeOTgY5y7
uCoX0SjPpFdPwaio5Ye/6uVwp+m24q+7Ce+3HV+Z7KfLeV2ID14beZtwLEKpXIG2pIJh11jGpmMq
Fh12j/PE1pOEYmGmckhUF+blAtbD+2nH+jX+RC6REYqFcvpd7/ICOqWGG7P9yCUyzLIWgpI5Wo/M
MBey0dZUDYu1dJ2u4t9+bhfPTf2vLCYPo7QZcVsxl27ZM7rJBybdnBm/IoylLvvNjDhbLunhd5/6
EtsMzcmE5A+97K96AonazdTiKEtBCSWBVlROJTZvkOk1EgIO7xL37DQiq/Bxwf88YU8q2b65NVuK
NeCVoVO8MvQWCpmCVl0jz/W/tpq4Zwa55Ab6xNPoVMUs+MN87+c9/NnvHeT3n9qR87h9Ex4sc8vc
czjZoT0XsgpSa+nSyqm155aKBrSJRq5cCfOFB2rY3Vr5sWQqfL99cb5YYdB7kyNsW1caeLNIZ15K
l8ez+uwZcpSpBNFWfSOHVxpimtWNXJ65miFd+fzoc3zm4acZGRTh9C5h1ClRqmqx5WAMMJeZuOx+
URhPDokTd8xGQ/woIVsrKOQMTnuQScSE4qssPrPuAHKZmG2NOp557kaWZAlkJvhvjbsxapVQMUjY
nv08rT47fY5hpGIJ6uJyfCEfN+b6EYu6OdnxaSb9/Sh3zFAnNVJf3I57pogxm49ZzxL9E27aG5ro
G/cwwhhyiYRfpW24pxJzR+v255S0uhPxQcTG+Wz5pZvnkdq3ZySX8snIxBNxxCIRv3fgS4IkWu+E
m4cOVgnvfm1BSzyRTAjmYk4olStQhRpRyHU8UPZ5JOVe3p46g1KmwLu8gNVn56q9iyOlTxGKxPD6
Qsz7QyjkuQtHi/01nL24xAP3PkGgaIrZZSu7DJ1CMYtcIiMSCxOIBNlX/BinrgaQiETMuv0c6TTy
1pUpEojw+kJMzy0mk47bqhGXejm/+Dzh/mQc1qptzPks3525Som4NIP9O1fjaEmwlqCnlG98oZ5b
Yy5GLPPI9JOE7fnmKRlPbn2Ud88oCE8FiO++vYbTjwrvtx1vlgUHMgs2xGIRZn0p71y3IBLByRPl
TEf6+X7fr9CWqCmSFmH12TGWZTaMpdZtnzZ9iVAkmfCOqCzCPP//s/em0Y3d55nnDzsJgCABEARB
gPtSXGpjbSpVqaq0WJIlS7YUWXLkZJITe+K043TSmdOdWdqddne6J3PSmxc1IgAAIABJREFUc6Yn
p93xSZR0T7o7lh1LlizJlrXWptqoWsgq7ktxwb6TWIl9PqAAEsQFtViqoi0+X+oUCNx7gfve9//+
3+V5CkhmUqR0NhSyBq5N+fjmU7v5yZmbHN3dxGoyjTcYZ2enHotRjTXqF7Qdd9SHItSGQakTzJs0
aRoRJ5XsEDeRTGV4xf79TfeX6xse5FIJvpU4844QsYACdXwPi7Ygs34tE/MZ6uuUOHwRZFIJqbSO
f/k7X6a7WVuyj5VLZMwE5oXz55EJqkO7edT4LBmlhzc2NI+NeqZ4tPt+FldsxbWqR9f+S5O7+aTt
eGzdAEA2myuyqe3tHuBzg72841yiQZsiGEpQJZdy/Eg11zKvkgyuNXmPLg9jmlPzH59bAGCwx4Co
Vvj+LK7YeaTjIRwrPjwJG731nfRqd3HqbJTv3jxZXLuFGkGlYgkxby2KtJ4v91Uz4Z8uiTfOWS8T
SUUZW54GrnH8yOOcek940KESTl+1law/iVQGdyDGnG2ZH7w1zc6OepKpNPfttxCKJlm6GWVP9wGe
2f8kF27YcciHBJttLRoT55beL8Y3eV86xoGmPfzmrw3QpGzhkv2tEnaqQi5TJIJ+Y09JHqewZ3jy
0aeJ+jW/FD54PW5Xzq1SrDHhm+Og/Etkam3YY1YsqnIShXMjdtIaO9p4bUleuRAPF1iksn4Tg911
OH1BqptE5KI5rjlHed8+UiKRZ5Bb0N3a94zP+/neiyOoqmUEQwlsnghTS0GqFXnWYqF6RqPawPv2
ESLJGGKRmCPNB/BEfJxoPUw4GcUecqGTrjUqZbM5Rud8/Nk/uZtTV2ygCnAu8lJxzbDhYDYyzp6G
XYK/UWEdWS/puh5HD1cVBxTy8UyKaCpWHEzu1Laj6jcglUiZXgoSjt0ib8jmGHo/yZ/9ky8QiaU4
e83OnH2Fo7tM3L27iWN7yxvjtyo+STueWPDz+LEOHN4INk8ES4OaJoOaiUU/jx/75dgvfFaxtOIQ
9N1WgfznNj46PlZz1R/+4R/yxBNP8KMf/QiTyfSJXczXv/51RCIRX/nKV/jKV76C3++noaEBgIaG
BgKBbY3ebWxt3EkbPnXFVkbRuH4CYjMUmCImvHNY1E0YNTrEUVGxs9sRdgluWiEfNPd19DDhu44/
FqRL145GoSa0GuGJ3odZXLbhjwfprc9vBr3r6JyHXWNIRVJiqTgjrnEATrQeZrepj4VlW1l3eTaX
LbIICMkH/e3l5z/14u9nAVvVFw/ZrxQDgkwuQyJVWnQSi8TsM+1iOb6CPx5kb+MABpWe0wsX6dS2
EkutMuGdpVPbgivsZX55jW5/YxFrMw1yd8LKnH/hY8tOfhgpz2384riTdrxZI4pYJKbf0FOktq+W
VgE5Vm/ZXy6X40jzAS7arhYTH3KJDIumidMLFwXP5474ON58lNNvpfl//jgvN/K9F0eKjVUFfNg1
YRtbB1vFH3/SjHuT3llO3jzPbGABo9pAh7YFR9jzodbwi7ZrxbVgccVGJBkraRzINyvGMamNjHun
ONpyAEfYw8KynS5dO001RoZdo8glch5oO4F/Oclq3MchS74h66TtXTq0rSWxx/oETiKVIZHK0Czf
weg6enXIP6tZvwlfKMGf/vWFj9zg/quKT9uORz2TeKL+4louFUt5su/zLAStpLMZrCFnUZZmvbRI
raKGs0tDDDT0cGbxUpEtFbbX5W2U49O04w5lf4k/2SwO9UWDHDDvJRmXIw9bSKdznFx+vSiPXWAL
Orj/Md48ucKf/NY3OTl3ienAGnPKSz8LIpOIuWe3qWSa/OqkB2/WvmlzV0S2gFhdz99efpMV8yzK
GiM1CjX6RCPSkIXT52Mc3VWLO1Ce6DZoq7k67WHwPg/JlQ/29+vZDNezZIx7Z2iptaCWK/HHhSVa
nZkZHL4W3IE4B/qMvD20VPTHG1kSTxxt5+aMmrAvzfJ8O+1Ne0ilc6BcS5dt3HtOemcJyd7nmu8M
cV8nItXWZUgp4NP2xZVigjHPLP/w8wkGdzT8wg3+Gxu0ahVq7mk9hFQs4eziEGOeaR7qOEZfQzdn
F4d47srzRaaSEcdUiRRTwW6cojG0xg6cvhzXpr18rqkVueRK2freoNJzyRkrW0+StTM0GzWsrEY4
sEOFfzmONNRcLB55l+P88bP7+A//40qFoYe1Bqv+dj3fee4CDl8UeeOS4G/gjQZ4oP0enBEPvliA
XC7HPS0HiacSvG7PszSKRWIs5kYW01fwaoIYtCZk4Ra+89xF/s03DjMbGcMT9WFQ6Uq+Z6Ew97OJ
c2SjdVuyafB2xMaTvlnB190JK+rojpLXNpORKcQR3c1auptLmcs2MpAsOkPFBqVzF51rDC0pB/tM
e3CFvYxHTlEvbaJLPkBWLKJL114ilzZkHyZatYBCVl8sONqm17GXJO3Uy83o0u0MD2fIZnOcOhNj
f99Oku4WbPJF0tlMiRRbV007mpowTz3QhdoYYCY0QVDhYMfxCI6whzZpE7Jb9p7JZMnV2kj687+D
SqbEdYtNaCO80QC+VRd/e/l6GaNQJR9RKGr+85+f3XSdWgjauWlrYGI+UPacbRXcDjv+IBacAtY3
bBzZZUJWu0yuzoo9ZmMkbMCkbsBcY+Kaa5R6pY7jrYdYSYSFf/vYBAqZAa1GgS8lXLjzJe1oNc30
t+elMf/pM3tLJJ2W3GG8wTiKncIsgrP+RTqiu2gx9zMmwBBUK1ezkkoik0hIqKwkXQKNkpNvccF6
lbub9xXtbdI7i1V+AbfGTmO9GVk434CYzeaQSsTkEHFjzl9yrLeHluhu1pbkf4RiuMK6kcpGmVW+
ijHZTJWYst9wNZ1gccVWlFme8eeHRbcqPm073ihvKRaLOHRQjlg/wZvWOcK6KDWDLtokTcjiCqhz
CN7vS/Yr5KVyFSTTWUKpCgyVUT/79YdwO02oojvQyHT8xxdmyuTG/u3v3b1ps/g///lPcEU8ZfGG
NxpAW1WLO+ojV2/nxOAuzo7YP7Rs3vpms/VMP++GrrH3vmZEQSkXbtlsgdXqnr1m/GkHDsUQWk0V
8uVyxk+jup6LtljJuQo5leWqBc69s4qkzyoo0zkfXCJHuS0nMykc6RkM0gMf6rvdSdypnFuluNmX
tKNPHyBmr0Md6SEmFZOQiLkwusjbQ1b+/FtHkdWugDSOLFleN/NGA9zdeIyET8vUJHSYIFfrJJyM
lNT2ChJ5J9qOsBCwIleImfSaGXP5GDjmwJd20qsyY9Loueo+w1vecXr0nVzxlNuQRWNCJpHhCLk4
bBnkJYHG/epoCyfPR4ufG58P8M2n9tDXpuf/PvX/le0NVTIliyHhWLiwjqyXdC2g0NybDpbHMwaV
jroqDTqaWK4f4ebyAvd8oY36XBfnzq/S26blxD5LMf492P/LI532adqx1RUlmxWRzeaor6smm83h
9EWxe6Mf/OFt3FE4w25B3+0Iu+/0pf1K4GM1V73xxhuf9HXw/PPPYzQa8fv9/M7v/A4dHR2f+Dm2
sY1PE3fahscqTDp80ATERqYIa8iO3C1jn2lXMdD6XMcxPFGfYINVo9rAqYVzxUaVIl199/389BZz
wGHLPl6cWJsoLrzn6Z4nmQ3NIZPIGGjooVpaTTaX5ZWpcnreQnf5ZiwC23JrvzjutB1vBmskH1Rr
q2rJZrNlCYtD5r2Ck4vrbXmfaRdXnTfoN/SUfHZjAiS4ukJ/BQ3yepWWf3/mP/En93zzYxUHPomp
7W1sjjttx5V8zoRvjmwuW7QrW8jJ0ZYDvG+/vs4HO4qSH9ecYxhUOvTVWi5Zr1JfYTqzXqXlJzM/
5ZHDzxRf+7hrwja2Du60Ha/HJ8m4Vx53OLnunuB4613C79/wPBUmbDZrPvBGAwTiK9zbdqREDq6w
LjzV/ygvjv8Mt87H60tvs8+0i9em3y57DtdLbvpTdoy6tuJ0vtdWxecan8aenikWqwpyL4M9aoDt
ZkZujx1PBaaoV+rIZDPoq7U81HmMlyZ+TjKTwlJjokljxKIxCcYIB5r28J+H/p5vHfptxtdJm2yv
y9tYj0/bjnc2dmP3fpFcrR1bbBFTTQNikajimh9yaBg5I+ZLj6ixi24AlMkdpHQ2dnYeoNfQxdlz
MSLjDVhDCRKpfNNTIptBIZeW+KjLkx7q+02kq5IV/Wsml93gwx1rMXbwVY4feZxD7U0MjZcm7BQy
CVVyKaoqOYvhRaFDl/j7jWvFRpYMW8iJRVN50M+dsAGtJFIZVpNpXP4oM9YgmSp/GUuiXHKBwZrH
GR1PoNUoODucX2f+6NcHha/zNknlfpK4Hb64Uqygl5l56Z05Xjo194k0OVRqvigMvlS6P8dbDxdZ
T9bDEXaCzElnz2Ec5zMQ05bt1Qb0u3lh8iVg8z3n2cWL+Wdh5bUi4+XODj3D055Nhx7G5/2cG7Hj
DsapUcoZnfMzKGsSlIZrrjVxdunSBoYJGQ93nSheU9k13mq6PLD/Ma5OevDkbJvGUUvhRb77jyN8
6+k9WyqOuV2xsVljYmmllE1QW1VLc62ZhKc8jX7u4iq/8WtfJSyb/9BxxEYGEliTT5VJxAy9n8So
a2X3nk5en3uxeC/tODBoqzgze0kwZ2ZbsWJpaCOVztJUr2LJHS6yvWg1zVhDCXZ2VuFf8RfP2d5U
g80dxpuyC9r3uHeaZ3eqeX70ZfaZdnFmce3cBbbAo4cfI+rPElnXtBBcXWFXQ6/gWmbRmHhp6mdF
O/4ofrS3vpNEOlHRfm3hfNHV5Y9tyeGirbTHg7W8gUImwdi8mpeZcpXHyw92HOOaawyZRF55EDFp
p6elmwVnSJDRDaBebsYdTxWbu0fnfGXPgjsQ46jGgk2ARdCsMlOLnJ+8Gueug3nGSW/SVpRBfmf+
HNlcFrnkKsd0wozzrogX64qDd26+xxfNX8W/sppn1Fz3nMklw0U/btKrGJ72lh2nkFtZH78I5RI3
PlepbBJZUiZ4bb5okB5dBwaVbkvvR26HHW+Utzx6uIrrudfYJ9vF6cWrG9a4EU4ohe+3LbKEVtOU
Zxps1FBfyTZVOn4w/QMGqj+P1yZhenG5eO4apYw2k4YFZ4jTV21886k9Fe9NIR7aGG8YVLoik709
aiXpaCkbdNgM65vNCr9FkelnA9t2IpVhyR1mxD7Na878ILrYLy5hK6qXmulubOKi/X3B83mjAXI5
Eam0gX0VZDq/NvgMP51+V/jzKTtP73/yQ323O4U76Y8rxc0WVTNnLtqKbErAWvP1dQcj9ine9v+o
Yt2sUdFCMqAlrlxAuduJuNpCs17PkL18/5XMpJjwTpPKpJgJ3kQsS5cohNjDDuTetbrKmGeKL/Q8
gDPsKWGNfWXqLTrqmvkPn/+2IPFBKpMiVWNHIdMXn6n1TYXOuJWNCK6usNvYJxhDGOTmW/vaDFVy
KQqZpHjcQnNvpXjmK31P8cOJFzfsBYf49m9t3X3cB+HTtuMD/Q28ena+TBbw8WPtn+h5tvHJY1/T
Tn46/W6Zv/hCzwN3+Mp+NfCRmqv+4i/+YtO//8mf/MnHvhCj0QiAXq/nwQcf5Pr16+j1ejweDw0N
DXg8nhLd0G1sY6vhTtvwxomOAj5oAqISw0oik0AuyXeje2N+TOqG4v8LKHSnX3dPlH3eGfEU31Np
omzKt0AoHSSVSRU3GAMNPRWvRy1XbsoisC239ovjTtvxZrCoWvDF/ewy9hJPrdKoNhSD7M3sbL0t
JzJ5VgqNQo1FYypO+QdXVxhYlwBJZlIoZdWCNq+QKIgkY78QI9pmE5nb+MVxp+24ki8yaxq54rhe
/L9cIiOTzQjarT3kQl9dx4x/nrHMNIOmnYgQbWqTHmaAfIPKx10TtrF1cKfteD0+Sca9SnFHKBkp
s28oX8Oba5uwhZybNsEaVDp69V1cd48Lnms+aEUtV2KP5p/TD7N+GBUWssYaDvQ1gAgujrqQWsW4
A2vFqkLTgjcYR6tRbDczcnvsuFHZRE6SpEvXxkXbVbr17cX7uZxY4XDtPuaCC4L3OJ7O37NxzzRf
P/DsL3Qd2/jVxadtx/mi7yCTCy0oaqq54HqPfaZdldd85RxH7m7ldfcPKibW/Sk7z9wqaIzM+nH5
Y2XnnbEul/y/p7mOcLiFqHiCrpr2Mv8ql8iIpGIV/SWA0uTh2N4H0ddW8erZmyy5whi01VQr8qmn
FmMN4urygqlcIuOgeU22b/1aUSnO90R97G0cEFwHzMpmLgTy39kbjNPTUsd7IzZWG64JXj/1dgZ7
+nD4ouzs1FMllzJ20yco/3By7pLgMbYyW/Lt8MWVYgVZyFJcH98eWuLk5SXG54M01qvobq5ld5fh
YzU+bGQgK7DeVIozIsmoYJxRKHbqa23UKBs5Pmih16AvuZfPvXwdrbIRl8SzacwAFP9Na/LHO7HP
wl+9eB0hjM8HmLEGeePGNRLqJfxyO2ZlM0drLNSKu5kQkHOrV+pKGDsL53dHfajlyuK1CF1jSmdj
eLKKxp0WRvzXKg8Tyc1cC8S2XFPK7YqN1TIlcomMdDZTwlKWy2Xo3JHF5tHg9EeLRSaZRHxLLjVf
2J9Y8HPyjI3vzp9kT5eee/c3lzFXVRqE8YcSfPXhHYzNB/Avx4lWLZBcLrWBSox9iUyCVk0LuQNW
liILVKtauFfbxJlbhfZgKIFRp0RdLS9eu0ImYXeXgT3dBt62OYhklsuOLZfImPTn2bwq2ZbE6EAV
HUAhayrK3CYzKRRSheBaZlAJ2/GH8aP3tB7kvPWy4DoFefu1htbYSLdaPH6793gbfWWfdhcTo1nc
/jg9rXX0tdax6Axh1FXjyc1WjJdd0RSeqA9P1FeSO1sPi8aIs+MsA90NdNV1MhUeLWOG7Vb38+TX
uou+xR2IlRTGCzAo9YK2U6/SIYqJONjXQNiXJmrtpPeQhtO202VMfB/k95OZFPOxKbJS4ZxMSpf3
413NtVwac5V930JupaOurZj/SWZSVK2z+/UxTKFRM5qKVbRfi6qVxzsep8uiLfvbVsLtsOP+dj1f
fqCLyYUgy+EEYv0C+Cr7oUgqJni/m5TNXLzViCGRiFGstgmyDRbyapgXUFf7kMiMnNA206hX4sxM
44xfYbDPgk6x+feqFA8pJIria4V1dker9kOvs/fuzzebAR8ou1mQ51xcnSyeM5vLFgePjzQeIzTb
xgin0FVrSxqKC2hU1yNNqwmGE3gryHReceYZ7awCttyj7yhb+7Ya7mTOrZKd6HOdhGOl61ZhWKRG
KeNmdEJ4L0O+1mGubuH1wMsk42sNUhPLSgYaKufOxjzTyCUy4um44LHT2bzUbyQZY2HZSpW0CqCE
ma1T1wqsNZtuZHpFHuPe4828dTKCTCIuaSrs1LZjDTnKzttW18J190TZb3Si4xDaUIbx+QD1dQr+
1986wPC0h5FZPyadEpW6jXhmRfC7TC9Pl/0GW30f90H4tO3YfatZXSGToNUoCN7yp26B/MI2thY8
FXy3pwKz7DY+Gj5Sc5VSqfxULiIWi5HNZlGr1cRiMc6dO8fv//7vc//99/Pyyy/zjW98g5dffpkH
HvjV6ah75off/Ejv/8evfO9TupJtfBLYCja8caID8omSD5qAqMSwsp6u1hn2UKfQcKBpD/F0vKgb
Xi2tRoSIfaZdRfrRAmwhF9qq2uKxhOBO2Lin+TA/HH+ZbC6LUVW/qQTGvzz+TzeVYtuWW/vFsBXs
eDMMmnsx1ml4feYkyUyeEa2wcf4gBpOCLftjQb7c/yiBWBiVtJp72+5GhBj3cowWeWsJrfh8cImH
Ok/ginhwRbzFiYwh+zCwzYi2VbEV7LiSL1LLlCWvNajqsYXKk3SQt9sGlZ4uXTtVUgUGpY63bp7l
npaDhBIRXBEvTTVGFBI556yXAVhYWSh+/uOuCdvYGtgKdrwenyTjXiXf6Qx56DN0M+GdKSmob1zD
D1sGi02KRnV9MclTgFwiY3dDH/awq/JEe8jJzoY+bgYXP3D9aFDVAyALN3PyugOFTMJ9+y2Eo0nu
GmjEHYiVNS0YtNWMzvl54GCD4HHH5/2cvmpjbD7AQLuOE/ssn2hheavgdtnxXnMvz4/+mJ0NO1DJ
lCX3s0aupkahxhcNCn7WGw3QrWtjLiDMpLONbdwuOy7I95ybS3LB9R5D9uHidLk3GiiyNA3Zh2mt
NWPSiUna1gp1wdWVkqZQi7qFTDa/N9vTpf9QDdcn9ln4znM2Dux/mEZ1nPENcjsNqnpsK8JS8YV4
++byfPE1uVSMTCrGG4zTYc4zz0YTaYyrbajlo6hkSlYSYfY2DpBIJxiyDxNKRLiv/e6StaKSn05m
UtRVaQSLr9lAU7Ghp0FbTSqdQ1ET5YZ/QfD67TErYZcZlz9WZCi870Bz8e8Fv+0OxAiZbwoeY9w7
x4w1uOUKSbfLhtfHCmOeWfS3ZCjPXVwtvmdqMUgynW/ySKYzzNmChCNJRCI+kgRdJXaqZzt+hwmv
cJzhCLtvxd5rNry+2BlIO/g333hS8P6NzPppaW+hQeX4wD1n4V9/2s4fP/so/e36ikMPLY01TARH
uZJ8paQIJpdc5YTpbh7RPYg77MMWtWFQadFW1TLiGhf+fiE3B5v2oJRVc8MzKfgeX9JOm2Ev6WUL
cK2kAWD9b1JoiNtKTSm3MzYWi8TsM+3CoNLxxuxaw4Yt5OSK5AbH7z1MWzSJarUNYlqOD67FcQW5
v1Qmy9HDVXiUQ/zVjZ/QbW/n/s7DxThto00UClbH9pr4/htTJFIZGvVKrNFSSZwPilt3NTTw+uxJ
5BIZqWySKNf5zV97Go+9mkgsyZI7TCab5fN3tyERU5S/mfTO0mNs5rIjWGYTrbVm7CEXDZvk6+wx
K/c0H2U20Ix8XVPgRdtVvtT7EAvL1mIecTM73izHMrHg5+qkh6tTXj5/6GlQ+xn3CsjCpdqAtdh8
Kw0X3e49nqCvlFzgqb7H8OvmuBDx0mJq5r7jFuZnxLhWbYLH8UYD6JXaYl6tUtNcDlhYWUIuceJP
23m662kWY/MsriyU7R8L66o3GC82NV8YdZLN5tBqFIx4LrHPtKsYBxXycSOeGyiXDOxo0eINxmlt
rGFy+VxZ8RDAcctuK/l9gIw0nC/8C6CwLqTSWV6QzQrmVsbn/cSdxpLfY8g+zGHLPnJZCcnsKtlc
mntaDhJJxoryVG11FkH7TXkb+dO3LvBvvnH3losnCriddry7y8ArZ27SZtJgj1k39YG2Fafg/TaK
upHLVtBqFFyZ8vC5g82b5nrtYSepTIr5lfc50pzjXfc4KpmS4OoKtrCDEck1LHNqjnbuBIT35IV4
aMI3h15ZV3L89evsjHWZGWuQt4eWmFgIcmR3I25/jBnbCjs7dOzaI2EieKN47D/+3V0szkq4nLom
+Bv4brFtJ9MZ5FLxLSbXUiQzKebCk+ja3NRKa2mqaRC0xWppNUZpDxPVYWwRYSlFZ9hDj74duSTP
xFbYkwDUpTsYn/dvqSbt9bjTObdsRMug5HFWa60lsr1XLqcF3+8NxmkzaQikR7DUmEBEcWAc8jHK
k+1fZtgzVuYPI8kYDar6ioM7yUxq05qcK+LjQNMeVtMJHGEX2uo6UplUsWm0UW1gp3EH//XqP9Kg
0rO0IsyEKZdM8Bu/9tVbDelrdnF/52HO24bKrs2sbOWbg9/gku0KtugSTcpmumsG0IpNfPMpffHZ
++HSK/RaOnm4uYc3T4bYs9rOUkaYUc0echbXsvX4Za3x3A47tnoiHN3dxGoyXbJmWz2RT/CbbOPT
wOKysO+u9Po2Pho+UnPVH/zBH3wqF+H3+/nWt74FQCaT4bHHHuP48ePs2rWLf/bP/hkvvPACJpOJ
v/zLv/xUzr+Nbfyi2Ao23N+u59/+3t2cvmpjfD5Av0CxbtI7y8mb55kNLGBUG+jQtnC3ZR+2kLOk
MQpK6WotGhNikQixSIRGUYNEJMWg0pHNZVlYtlEtq+Iu8yAXbFeKnzdrGrnmHM1f2ybyaq/O/Jx7
Wg4y5ZvbdHqn39C1aWMVbMut/aLYCnZcCReWrvDfb/wj3fo85ahRVc+wa6yYbFmJh6hX6QVtp0lj
RC6W4Y8vc0/rISY9s+iUddRWaxj3zmBQ6mivGcDuyPBIx0NEMyvcDCzRpDITjEQAUZFdbX2gv82I
tjWxFex4vS+a8M3RVGPMy1nmcqWb2Rw01hgE7dakaUCMBBk5hl1jPNJ1Hw92HMMT9dNn6EJbXces
fx6DSs8XdzzIa9PvlNjkh1kTtrF1sRXseCM+Kca9SsxuJk0DvkiAvY0DaBRqwsko7XXNZee8u2U/
q+kEV52jjHmm2ds4gEGp44rzBhZNEwdNg8z5rcwFFitKaTbXmrDUGEkkM1zzDFeMU5prmxAhYmnF
QVy5yLEjzVwYSqAzxdmtc7GYuMLgA03IQs2cu7hKNpsrSl8Bgs2MhaJbITm/6AzxzvvWjyyV9Msg
S3U77HjSO8t/HX6eZwYe5935c0RTMXZoOov3s13bwksTr9Nv6CmbhgRo1pjwx4LUq/LJua3y221j
6+B2++OjnTtprPtfOLs4xA33FI01BgYaeji9cLHI/tCmtTAXWOSwZV9xGrggC+gIu2hUGzDKmnlx
+mWC4046Te3cf8LIqbMxstkcINxwnY8dDnNlwsPoRR/PnvgK1wPXikVNlUxJNBkTfJYKe8f72u4G
4Mw1G+kqP5Z9DhwxK2J1C/ibGBld5YhewYB+AHvMxqBpABFiRtwTZHNZllYcjLjH6Tf0FNcKIabC
wjR0KBHheOtdRJIxHGEXeqkZyYqF9y6sFr9nW1Mtr52b53hbkHqlDk/UV9KQBmBRWzi/jukkkcoQ
jSWBUr+tkEkYbDVhE5CT0Uub+Nd/c4Fvf+2uLRVv3U4bLsQK//DzCV56Z67Y4FaAUVeNSh8hoXaj
r6smnIgwGX6fVVs78pp7PnC/X0CBnWpjc+Fo8Dp6mQkr5XFGX315nJTlAAAgAElEQVQnA7rdXHJd
YnHFRqPagEndgC8WRCwS02/opLtZK1gk3dmh441LS3zl145jT01tOvk/0NBT/Pf87Biqapng0EON
UsZAv5SxUHkRLJlJ4Yv7GfNcwFzTiF6pLeZm8s+G8DNYGLh4pPs+4ffIzaTSOc5eiXP08GOsxu2c
aD1MOBnFHnKhk5Y2xG2lppTbacdHWw/wF+99r4QJs4BkJoU/HmDMNw1c5QnLV0v+XpD7O3akOi/Z
FFxrmjtvGyrGaQWbKDRhpWqW8KedLEkdHDpo4tzF1byE1Qb5qs2YW1tqLZxevFiyNnTVtJNT+7lw
Q8xKJO/Tllz5BtI/+vVBTl2xcXpqlNWaWeKpOP5YsERmNpvLYg05ub/9CLaQG8gJswWqzUzMBhiZ
TXHf8SfJ1tqZDc5TLzNjm1WilvfT3LjKVHActVhLW10Lroi3zBdXyrFcnB/j3bmLeLMO6vtMLDha
GB2V8Ae/9XuM+a8z6Zujra6FGlktI57zDN7fiCzcwuUrqS01XHS7Y4pKTH6T/ulifitf8L7Gk8d+
k6VEi6AUn0GlQyqWFpsmhuzDPNB+lEw2x0xgnqYaIyIRXHdP8EjXfQTiy9jDLqbCY8iXO/nGni+U
NArNWIP8u/9yiWQqi1ajYHopiLamimN7zJy+ZiMaTzFY18apxXNFP1+43kPmffjazpCt70OsCTIW
ttFUY8RYU1829FsvNdNa1Ue9dAJf2lbWRAMgk0gxVNgzFtYFoCy3cu/+fGPicy9f58z5vE9N6WzF
JgmzqB+xXMTS6iS2WL5JMh+nubGFnEz6Zvn1nY8z43GwFF6iXm5GHrYAIgaOOfje6Hfpd3dtueEZ
uL123N+u5199/S5Gpr0sSc1cD1Teu+ukZqqjLeh1S/hSdnp0HdTnOll0hdn3gAdHzEqnwoxSWkco
vkqlXG+DSo8n4kejUKNX1tGlay+JtYfswwzZr3K0c+eme/ICK/KUd46fTZzDpGqkXl66znY31/Gv
/+YC4ViKo7ubeOXMTVTVMoKhBC3tKb537bWy5sh/deKPiC12CT6rrXVmRHdbWQgvYZA30W7Yi2PK
VVbzqVdpi9+7Sqrg0e77WVyxFWP+XQ076NK3k41oeTl+ibYKUsUGlY6Ltms82n0/jrAbR9jNYOMA
FkUPP3jBx4si/yciCf1p4E7n3E5ftXHqfKxEtheiHBowsuAqb75uN2tQ6sJoTf1YVxy4Il4GTQOI
EXPJPoxBpcOXcuFPCTdNXHdN8KWeL7AYXsQZcmPWGAFR0R9+EDP8+Vsx5sNdJwjFYyiUtew29hFJ
xbCtOHn35nkUUgUysQy1XFmRYS4smy8yfRbQa+jim4Pf4PTNIby3fKgsZOHChTgXR92AHq2miYuh
BBdxc/cuMSFcfPfKX5PMpBCLxDTVGPGmLyAbCBKQNNOisgjXiGpMDLtulL3+y1rjuR12fGjAyE9O
3yzuYwqDSF86cWdljbfxwTBrGivKc2/jF8dHaq4qwO/38+d//uc4nU7+4R/+gcnJSa5du8azz348
KYXm5mZeeeWVste1Wi1///d//7GOuY1t3E5sFRsuTDwLYWPAbw05ue6e4EDTHg5b9hWDJCjtXC90
oF92XOegaQ9KRRVTvpvccE9Sr9RRJVVw1XmDBzuPldAed9S1cM05WkaJvP4cVRIFOxt6SaSTyCQy
emu7GDDsYNI3W0Yd3d/Q86F+g225tY+PrWLHGzHlnePUwgVq5Gr01Vr6DT34YgF66/P3ecI7y6Pd
9+ON+gXtTIyYIfswX9zxIC+M/ZR9pl2cWbxUMj0xIc0f42ZwCV8sgFFVj0iSobmqg8X4bEnCr3Dc
bUa0rYmtYse9hi6C4QQTvlnEIjHOiAdfLMCAoQfFrYSMJ+Zj0DQgaLcauRpfLIhSVs1g4068MT85
cpg1jfxw9NU1hrVlK3KJjMd3fI5B00DJNWy2Jmxja2Or2PHHxWaMSpWY3cSIubm8xM3lJeQSGY/1
PMAF6xV+beCRsmP/3dVyKawn+z7PXGCJFydfw6Ix0aDWI0Is+HyZ1A3cXLayQ9vPNc9wxThFhKgY
H9lwIJeM8Nu/8SQvTD+/dv5br3/+/idZ8aqoUSqQiKmYRCwU3dYjkcp8ZOmdSsWSrURnfjvs+L3F
98nmsrgibvY37WJx2Y62urY4PRtPx4vxgtA9VsmVxG/FnP/nme/yfxz/gy3z+21ja+B2+uONvvOZ
nV/guSvPE0qsTYXKJTJSmTSDpp1FNldY84WPdN+HSqrmhYmX14oxITtyiYz/+X96hrffStPbpi1p
uD43N5qfCI4tYa5uRkkrnRY9i5EbjHmmS4qa65lj11+TQqIAKMbHOWWQkchrJN23ri/sQC6R8eUn
nuB1+8skXeVyhpcd13ms5wEcYTcS0Zr/FtpPbpyGlktkNKjqOWw+wCX7KhZDhMZ6JVUyCT8+NYvF
oMYaGWavaQAR4F1XJBt2jWGubQRKffPSrWnc9X47kcogC7cIysloUm2EY+EtJ6V2J2KKwR0NvHSq
dAJcIZPQ3p3lDe+r7FPu4uzixaLsWji9zH8e+m9069q4r+NI0Q9Pemd5d+4ic8F5DHIzHcp+Bi07
mPbfFGwutK9YaedICXMOlO7dRkbGUMmUXHdPcNlxHblExmHLPo62HqxYJP3m4DeIiqp4zfpjDjTt
2fQZWP9vpHqRcyMGfveJ3fzb37ub187exOqOsP+AFL94jnfcVzCq6zls2VfWFFBgwLKHXTSoDMXz
VYpZ1jOxuCM+QWbPZvkOXhixk83mOHs+jkJmYKBTT021jBapON94devvW43x9nbaca+hi395/J/y
V0P/TfDv65mxp8Lj/PingWJT5dh8AIVMUlGyqRCnFQZhRl0zvGL/frEJq+Arjx5+jLPn42X+JplJ
oZRVC9pAtayK3ca+MqaIce80h+96gjfeSRbfn0hlePf9JaaWgnz+iRTvzY+UrScFmdmdDb38TIA9
fP25DSo9V5fj1KrlSFf1sKonMm7EHklyYH+OkPwmNz1OWmtaeHDHXTjDHsKJcJkvLjyn4/N+zlyz
kVMGqTWG+dncW8Vz2nEgl1xn987HuDGS4XefeJY5/wL//sx/Ktq8FTtyyXX+6Ovf+Ez740nfrODr
620YbknEMMMjfUe54rkiyGCTzWVL5MXS2Rw3LzWjrurA23oao1rP3sZ+bnjyuWKLxsSQfRipeJRG
m4ru5sPFOGfCO8v+z5lpUNezmvWykojgCLuhupnf7uql39hNMOssMpkUrlMukSEWQYNaz5vz75T4
6vU2W3ivJGRhegGmlxq592g3F/0vl/lFiUiCRCoRtOv1Ob/1uZX893iTv5uco76miaOH880yMsla
k4T+3lXei/x4XQ7eUXKNq+kE1pALx3A7kUgT1lCCQwfheu7VNX8Qcmy54Rm4vXa8nvH5+NF+rlN5
7y4LWTh5PlpsVpH2GzHvEvMT+/dL4tFRyTC/veurjPnHBHO95ppGPFE/97bdzc9nTwn6RuvKIjf9
i7w+c6rk81C+J99h6CQbreO7/zjCtUCs2HiukEmwNKhJprJUK6Q0tqySMTnwpZ10yS1I5DmSztJj
p7MZRt2TaBQ1gr8B5DjnuAjkfeX4smzTmg9wi43ISyQeZ6d+J0fb97DDcKvRxADf/tpdTPtuMrFS
HlspJAp2G/v42cy7Jb/TNckYdx/Kr2NbLS4u4E7n3ArywIlUpsiErpBJaNAq83HEhuZreZ0FrVrH
6zMnizWzgk0etuwjm8sy5h2nQWEWbLwzKc3c9DoJpP106VrRK3W8MvVmMfbcLL5Yby/eaIBGpYn+
BgN/d+0fynzcftMujrYcZNwzI/i9JyowRF0fznD1/fWNZkl2dqaLe7D1bPHZbI4z82tMV2UsWTg4
0nxA8Lt0alvLmqt+mWs8t8OOXb6YYA5zI4P/NrYedjbsKNbnC5BLZAx8yDr7NjbHx2qu+va3v83x
48f5/ve/D0BHRwf/4l/8i4/dXLWND8ZHkRHclhD81UeBDvvypIee5roPxUZSqQgXT8epV+p4tPs+
xjzTdOhaqZPXcdkxwl2mg0ikOV6ZegupWIJMKuVHYz8t21jsM+3CGfaw29iHRCyhRq4ilooXZQQd
YRcPd53AGw1gD7kwqHTUVWlIpFO87xguOd5190TZxIRComDCM8PdLfs/nR90G1sa79tG8UYDtGtb
ypqi5BIZB5r2kM6myeZyPNJ9H66It2hnham0bC6LI+xGLpEJTk/sbRzgtem3y45d32VgUH8Qo7IB
a9iGO+KjQ9vKA51HtlRyYxtbExdtl2mqaeSyozxZfX/7EfzxIFKx9JavXMUXDVCv0qKQKHh3/jzZ
XBa5RMbDXScYdU8xaNyJI+wS9OWuiAdi9/Dcy9exe6OYDSqO7jFvySTGNn618UGMSgVmt5PzF5j1
L9CkMSJaNzEHeZueX7YKbvgqxTMz/nk8ET+emA9byMmR5gNcdd4ok5MYMOzgB6Ov0Kg20FTVzKPd
97O0Yud4612EkhGcITcGVT2ttRZ+MvVG2Xlmw9Nl15TMpFhVWZm6YkQpl/EHz+ypKG80VkFi56NK
71SiLf9lpTP/uJj0zd2SoRYVG00KjDbVMgULQRt11RpGXBNFibW8r9WV+dp9pl1bqjltG58tVPKd
T/U9xqR/umRfdNlxnf1Nu4UZVWJB7Gm34N9Gl4f5/d96ZK1gQr6x6nvX/mZdnJKXJDuufpqZwM2S
oiassVWIRSImfHOYNY2oZUokInFJ8W9VuUhypfwanJlyH5XM5OUMv7jjc7w2/U7Jc5x/ZoNkkjK+
3Pc4E/4pluMhsmRLvmOBfeNmdIwn7n2IWesyo3MBFlxhHjjQzIN3tTAWifPy5BtlMdlT/Y9yaWkY
rWZ/SZJ44BZrz0a/fe7iKkcPP0au3o47YaNR0UJf3S5eet0LfHR//qsIIQZVbY2CueR5gOJ+7LBl
X1kjyDnrZb594g8BSofDyBdEnd4vsb99D69OvVl2Lx9qf4A3X0nwwL1PE5LNY40sYVa2UBVr4b3z
MZLGG0SSsZLiejKTQiGV02vo4m8vPy/47EwGb6CxiEjeTHHRdrVkPTFrGqmRqwkl8yxqgfgy+0y7
GLIPY1I1kvb2FX+T534yyo6BHG/7f1Sx4F5AU42R2cA82qpa6qrXiqgFydB0Ni0oZ1T4PY62HGRl
NYxtxUWrphWztIf//qKnyF4Ht5oFJWISyQzpTI6rUx4euqsVsYjPPONtp76NncZekplUWfF9Pcu7
L2lHVd3M6as2xGJoblCTSKbxpcoLm1Aap/W36znvf1PQ5lI6GwpZA+9fSfHg8aeJKRewRheoV2nJ
5XLsN+1i9VZ8261vZ49+kCuOERI5YaaIkGwBhayhpDjmCcbpbq7DFRsR/Ew6m+betsOsppPFv6+X
rM3HU3oUEjkj7hu0Nz3KpTEX9+5v5i9/cA2XPybI4IUkLbg//vq+X6fX0FVkCzx0UM5k/A26w8IM
YhKjA9+ilj/+f0/Tsm+h5LkuvGcyeIOj7Kxwl3/1YdaYKjLdFWy4gBn/TQ7UPMCXzF/FlpnEFrZi
VNfTrLHgiXpLfIxcIkO92kabScVKJEFPwwCvr2uA29igtxCbYMpr2DDwmy9+l9qCg2HJVXZ2/iE3
zmbYLbrFBpWyY6ltRAQMu8boM3QJ2kQ2B22aFmqlxiI7kMUgRVUt46fvBDl6+GFkJheO2BKd2nZE
YhEn588BlEgxN6oNfLH3QcE9QVm8hh25ZLjYEOnyx1DIJMQrxEEF+eZkJoV12c6urv38/MICRl01
ac3ipk2ZnzVsZHx+4dUYjz/1APaorWTvXq/SYVY189qL+d+uUPSfWAgisjgEbeWGawqCrTzcYcAZ
teOKeGmrs5DN5fjpzLtIxRKsIeHPJjIJOrVt/JdrPySWWkUI4945vvPcBYw6ZXE9/dbTe4pxUXdz
HQ26ak5etrGzU8/ATlG+CezW+dKqJLKUrOy4h8x7eWnyjWJz+nr5cINKx0+nS6XQ8s9FloPmPTjD
HiwaE7VVNZxeuFjyPnvIhcb2Oe7e0cMOQ+naX2gsTKYzzETGi+xsbeo2Trpfp1PXuuk6th0XC0NI
MlqrUXBlwsOBPiONLav5eHFD8/U+066SeDGZSZHLZRl2jbFDsxtZqBm5ZLjknsglMsTSLFec+Sa7
+eUlqqQKvtT7MLOBebzRAKaaBjQKNQfNe0hlMzg21FUKsIecOEJu9OE6wfu+mkkwZZ+jS9cuyHZs
1jQyuejn5OV80+RAu47PHWphbD5Q0rDTqFeyHE7QqFcSDCVK4pdIPEX4loxtpTrPRdtVHu18CHvA
jz/toFljISfK8KPxVznQtLv47LRqWni4557PpI/9sFgQkDYHWHAIv76NrYNAbLlYny/kk6ql1QRi
y3f60n4l8LGaq9xuN88++yw//OEPAZDL5YjF4k/0wraxjW0I49zcKKduXsKXdVDfbyIcbuE7z9n4
zu8e3jT5VanY5o0GEOVE/G8nvrX23kU/s1cM0DHDeWc+AdqgNLK4Yq+4sViJh9BW11EtVXDDPclK
IszexgGUsmqy1TmC8RXMNY00a0yEUzFu+hfQKoUDscUVGzP+eVQyZXFKurXW/HF/sm38EmHjxP5O
/W5GPRM0qhuIp+OC9oII/PFlzlnfx6IxIRNLBamdbSEnexv7WdigK1wpEE9mUljDVi69q8bmEWHU
9QA7OBde5b6vacGw+bVvRfrubdxeuGIO6pQ1grYVTcWYCywWC/7mmkb01XUlDYSF9zrDHnrqO1BX
V2NzugTPZV1xMpKZx6McZsXsRCY18fpwK7DvM10Y2cbtx4dhVFrPMvm/v/l/MRdcLDuONxrgmYHH
yl6vFM94on70Ki31Kl2Rrv+xngdYWnGwEg8XG7XGPNMcMu9Fo1AztzKDWCoqMrNEUzFUMiWeiA9P
1FdGnw/gCLlLJr0LWIosUqtsQVkl5cINR8XmKqEkGnx06Z1K8oq/rHTmHxe99Z2ct15mJREumaa/
aLuKWq7knpZDjHqmSl47aN7DuaXLZb42kUkwF/Dfqa+yjc84hHwngD+6kmdzyFGMbS0aE0vLwpIP
4WS0YrLMGw0w4hovaa4aspczVGiragkrFqlPl0uAZHNZgqsrNKob+ObB36wo42aLLgm+7gg7BX3o
cjyEU+Ipe47lEhkn2o4wfd6Eo+sM3piXbl0bjpBb8PiTvjm+fkBPb6uex+4p9YenhvyC69N80IpO
ZmJ2nSzgetaejX67wPpzZFc/R3Z1shif5KTnNfrvbcQk6SLi2jpSancS61k+Jhb8vHfNjk9hp0FV
jzca2HQPdm7xfbJZkXDRRmXDFcqV/S2dzSCVQN89Dm7EHZhFLQxWP8DLPw+wmlihUZ9CLbspeK03
A/k4pFKMMe6dpUGV/y7rbVNbVUsgtkyDqp4LtiuoZMqSRpx6uZkGg2rtN2nT4pEJx0nrC+5VUgVt
dXn7c4TdhBNRvrLzcUY9U3ijARKZBLWKGrp0bZy3Xi47nkGl4+T8eZrUJqoW7mMxmeHBL3Ujk/hI
ZNeKUwqZBKlEzLnrDhQyCQf6jIhF8M2n9gj+Dp8lTHpnWU2tIpPISqSgpGJJCYNDY1ULS1IJ09Zl
Ruf8NBtriMZTZXJ+BWyM04RsTi6RIZLF+dy9avziWSbSV7HkWjjUdICfzr5RZKwo2GC1VMGRzp0Y
69T85wpsW/60nR1tO5haCBYLlAZtNcvhBOGIV/AzrogXg1KHN7ZWGF9v/32GbrwRP7awk726gzTq
lXz7a3eRzmSpr6vG5Y+VMXjJJbKKeZ1h1zj3dRzh9NV8wTSlsaJKKPFGhQvztpiViD2fJ1yKCK85
n7Whg41Qy5QfyEJSsCNLdTtDYy7OXQ+QTNVj1LXgrZLSu7cJbVbLXY0SliJL1Mvyck0vvOZHJgly
eKcJd9i3qV9zJ22MuCbKrqOSLZxbfJ+ppSZmrXEUsgZ6Wnpwd5xlYWUJ4601RAj2kIvqhfu4trRc
ZAcyaKsZnfOTzeYYej/Jn/2TLxT3aX918X8U93vr/XqDSk+voassx3es9VDFvW6hkSSRymDUKbFF
hxGCNxpAX62ltc6CSCRiZOVF9j1spEGl57pbOLb7rNrxRsbnWrWcq+6reGPekr37mGcaT3WQWvVh
4ol08f37exu45jsreGxbdInweBPXr8s5/lg9/ngQyBUZnrRVuop25o0GONi9l2g6ikZRU0GisImx
pSB2b4Szw/Yiu2F/u54Za7AoBQjg9EdRtHtK7EpIom1j3LTeZiHHqHtKMH9hCzkRi0T01ncSTkYZ
80zTW99VIv/aom7l8w/1IFIF+dvLbwrmtXc2dvPyfwmgqs4zCw1lIjz+4JcYj75bdk7INx9rNc1b
SmJ4K0FIMjoaT7GzQ897150cbhcellkfLxZgC7m4r+0IvkUtZy7kZUplJhdLkUUMMjMWnZ6fzb1Z
cqzVdILFFRtzgUUONO0mGF9h1DNFvVJHt74dtbSa96zl/q5elX82Nns+TOp8o5bQ+qOWKflPPxwp
SsslkmkujTnZt8NY3G+JxSJ6+yBbN48jbqNNakIWbuHcxVWy2RxyqRi9rAkbDrRVtYLXks1lGfHc
4Ju7vkWXRcvfDP2At+dPA6XPjlJWtV27+QBYjGqW3GHB17extWENOYpMzevZyA807b7Tl/YrgY/V
XCWVln4sFAqRy+UqvHsb29jGJ4VJ72zJZHGBDvvA/sc+kGa1UhHOoNLRqF7rEpn0zvKe931WmuZQ
SPVFinpE+Y2qELzRQF5nORnlzOJQMZi/6rzB5zqO0aCq552b73F/u46bQRveWIAuXRuzgYWKx1PJ
lCVJ989asfCziEoT+w+1P0CKeNlkXQGxZAx/LAiAJ+qj39DD/LK17H0WTSOeiJ+mGmPJBrVSIA55
SYVUOksilWHJvSbJsvF5+yCmlm18NrFDu4OxwJjg32wrLu5u3s8bs6e56rzBk72fZ9g1JlhYdUd8
9NV3cdU2irmmsl72Sf8LBOIrwNr60Oyq2W6u2sZtxUdlVOrUtQo2V3Xr20lnM/zt5edLEtqbxTOF
jWKe1XA3Vxw32GvsJ5PL4I8tIxVLGHGPIxVLONF6mAZNPRPemRJmlkgyhlwiY7exT/BZa9IYGXaW
P9ftta2sGlQsOsO4/HHODts5tre8MVwoifZxpHcqySv+stKZf1zc03oQiUjCDc9k2d8iyRg5chiU
uuK9VMmUzPgXBH2tNxrgsGXwU7/mbWxDCOt9ZIG1aTWdYNw/QYemA71Sxw3vDXSSJhTRFlZVi1gF
CvdyiQxLjUVwUtig0jHsHOOZXY8XX7PeKkivP6cvFiAtDdOl7hWUAJGKpbw2/TZvzp0WjHWnvHPU
K7WC19BUYyqTYgDo1LUw6StvfElmUkx4p6mpakUuNWHPOJgJLJQVnArYuGcsyMm4AzHClvK1BvJF
p9/o/3VqluNFlqX1rD2V/PbAvhT/OP3CBqaOUb629zcEz/NZxqkrNk5ds/Olp/Zii9iBHKlMquIe
bNw7h15ZJ/i3lDiMeyVY9voh815+NrsmE5Wf8L/Cwf2PcfZ8mmAo8YENL5ViDKO6HrlEXiLfV4gd
mjRGAvFlkpkUkeRa/kIukVEVaebouljg3v3N/NWNnwh+L280QJ+hG7FIRL+hu4wx/LJjhEPmvTgy
bsY806SzGb6448Gy46xvnKiVGLm2tMwDB5tL2MRGb/ox1FVTJZdyYTT/HCVSGVaTaTzWbYmPjXv7
AgvPF3ruxxsNMGQfRiwSc9iyj0wqg3znOSzKZgiaee+ii7v6G2mU1TAhIB+6MU5bb3Pr/bA/FkCk
HKVaqsBpd2EPO7jmLWWsKNhgIU/SqW+jW9cm6BtNmga87WcY7DAgC7dw+UqKKrkUuy/AkZpmwc8Y
VDpm/PN06drL/p5nGBThifmQS2R0KPsI+5L0t+v53osjVMmlGHXKMgavzXIv1lsMS2PzAbQaBb6U
Q7DBoIB6mfmWdBAfupntswaxSFzG4ttaa+Hns6fWGCLTSfTKOsKJKDfVr7L7hBnxioVzFyNksznU
1TKmlkIMtPcSceXl6wqNS4lsBplUxGLEJnj+gvygUV1PJBkt+dtmtjDpm+NA715mrcskUhmml5YZ
7DIAS5vahEFm5urScnG9Vsgk9LZp8a2s0tKgRqWUc27EjlQiprtZy/2dh4vSg0CRqe5w8z7BHN+4
dwaxSCR4zYG0g12dfTTolNy738I5nxtrSHjPWi2tLmHsKjAYPtx5QpBp7LNqxxuZQ4vreMZRsncH
MMjX/AHk7/2+3gbiPuF1vUnZzMVQAq1Gwah7klQmWTKIu5mddWhb+MHoTwglIoJSqVVSBW3qNjh2
E1/aSZvUxKhrphhXvj20VGysgjxbkSdZeo2FRuvCscUiMfe1HynLixfWAZlERpeuTTAXblDpUMmU
gkoQBTm1R/qOAMFN89r97Xq+/bW7eHsoLylr0quoldTRrekQ9tFyM+54aktJDN8prJe3HFi3zyjE
ZTPWZfb3NrCvt4FcDlS6GOPRK4LH2ijrClCv0nJ26RJ9PFwcAvnS8b38/r7HuTLhZsj9I8HGO2fI
zSHz3jLbGPdO84Xu+8veX4gxC7WXzWIHhURRtv4oJApCsRTe5TjHjlSTqlnCl3ZSLzXRrtdTPSIl
nkhz9HAV1zKvkvSU1j+PHn6MofeTSCRixKFm5JKRTZ/VfkMnXRYtANOBUpncwrOz8fVtlKO/XceV
CU/ZXni7cXLrw3VrgGJ9zhvAXWGwYhsfDR+rueqhhx7iT//0T4lGo/z4xz/m+9//Pk899dQnfW3b
2MY2NmCzCZmZMUXJ6xsDt917d3FKUl6Eq5ZW013bDwg0iITsJcH2oGmgYuAUS8VIZzMcMO/GEXIX
g6b3loboNXSxs6G3RIPbE/UxsEkgtn7D8FksFn4WUcm+g2h5wicAACAASURBVKsBpgIzdOpaBe1F
JpFRr9RhDTnLNqAF5LXnRUwH5ss2v8HVlYq2aFFbOBcoTzBvpDX+MEwt2/jsocvQykomIFhcbKlr
IpqMcdC8B4lIgiPspqW2STgpodISTyWQ5Wrpqe3hmqtcL7ujrrWEGhryNrgQmwAOf+LfbRvbqISP
yqhUqUlob2M/f3b6L8uSe9869NuC718/gV2Y6GusMfDGzdMlk9kFeQpfPMCMf57uCgUjs8bEdXf5
hHWT2sgwpc1VcomMjL+Js8P5Z33JHebqpAegrMFKSCrp40jvFOQVz62bpj76GWVMPLt0SbDwB+CN
+unQtTLmnS4WTDZLBO5p7L8dl7yNbZShU9tS9J2FvdfGAsgD+qe5/H6SJXeEY0fyCeWNPqpL1YfP
C3LJNUE/2aAr9TWtmlZsYYfgOcekU3yl5xk8SSvj3tmidHFBGqJSrPvO3EUUFeLxHbV9Zc1VcomM
GqkOc01UuKm1xsRVa5C9+hbkt5oVKsX76/eMBTmZVCbLvfcoqakxCsZk3fp29rf2sL9V6M4I++37
Dlh43f6SYPw/4rnB/V13CR/sM4qx+QD7B6X8bO7nJDN5OcBoKkZXjbDvbpCbkeaE2fHl2Rqa1TXY
wmv3cjMWrPVsIrLwmg2t/2zBbirFJFKxlPPWy2XyfYXn6rz1CofMe4H8AIVRYaFR3EWHtqNkfe9u
1tJjb89Lo22AqaaBBmU90VSU8VuN3xu/SzQVKzJjHbbs4+ezpwQbJ16Zegu5RIYsZAGSxcJmgTXj
O89dYHTOX1IkAfAG4xzZbRL83T9LqLS394ZCSKjCpG5k0LibN+fXmvnst+R67j70GGfPO6ieknL8
nieIVS3iTtjpNwjHaettbqMf3igZWYmxore+kynvHGcXh5BL5YK+UYyY+eUlYAm55Dq/95tf56//
h439OxrI+eUV14xIMlbR3+qqdezUDiILWXj+ZS8txrw81th8AKs7zLE9ZnLVlhJ73ywOa65tAmBP
l57haS/1sibsGUfF87f8/+y9eXCb6X3n+cFNAuABgOAJ3odISqIk6iKlbh3u+3S3HXfb7jjJ2ms7
Xmecnd3Ubs2sMzuxU5VUZaomHtvT9qSTnSSVtDu+2t22+25JrVuiKFKiSEq8CYAAiYsEcRAn9w/o
BXG8ICn1aQnfqq5qgXiBB+/7e57n9/yO71e5hQuxBCPRRnP7bsXB+j385Yn/BpBkLBhxjPPZjsfw
RXy8NnaM7qrtaYl1M3NpMncLniANVcXMOf1p0rkCpua8VBpr0tZkAUKSXSlTshRazorDrVco3V1W
zi+PTxCKxLLW71w2UavcQrhZisMTZEu9jvv31SGRwMnLc/SNLtC9pRxHOMrfvniZtrpSHthfn/M8
JSYTu+B3sru6S7QAqtPYzFce6U3+W6IR30/KNUYWg17xNSbgRqtUp0lc3s12nMkcut4+frhpHzpv
jGtT7mQh3Yl+C9t3iOdCKiStgCdRsCWrZsQ/mGaP69lZpdaIN5Rovk2VShXk+SqlzfzW+nJaY/yI
9wpdjjLajS1pRWMqhQylXJpY7zIKRC9YB/h028PYvR60hXJOz17MeeY1avRE41HR8RbKC/FHAqI2
J5HAZzse4Z8Hfk6ZxrBhXDuVlVTAqEPG6ZQiReF7W7WdPP3l1ru+2TNT3nLG5uWdi2a+8/VeOhsN
SLUeFDPDXHaeJOhMNBTGSy2UBfWbzpkJ+3VYb6FIXYmuqICDO2pordXRWqvD19ciukZXFpUnrhN5
7jafgx5TN8thX1pxlNBkkGt+GAr1KHRamoub+fnET4G1/QfgoOZp9uyOpEsG35wjX//9r3Du3Aqr
pcOEndljklbM8ak9O3njfKI56GDP40SKLRjVBRueC/PM77eP5UCILz3awfCUC8u8D1OFls5GA8sB
cVnUPD45aCg1ia4jDaW1H8No7jzccnHV4uIiPT09lJeX4/V6OXHiBF/60pf49Kc//WGML4888khB
LtYHZ9jKnva1Q5yY43bskpzf/+yXGPNfxeq3Uqkto1JdzfyMmqv2GAeb4ay5H11BSRqVvRDAAZAi
FXVWGkpM/Or6W8RX4xxp6MGg1jHmmsIXDiQom30uDIXpEoDhWCRn0H1b6U5kEQ3zYSstukaONu+/
K5OFdxty2fecz8aRhgM5D4oyiQyZXJb8W+rh1un3UF1cgQRJMhEk/B1WsXrnKdPoaCgxJROvqZ9t
kncQimTLjmRW598qU0sedwcWAvOUawyidlum1mPx2pn3OVjwO+mu2k5hjjVRJVMxsThDvaqbf3nJ
wxOPPYUtNsHcso3qoip2V3Xx+vjbomOYD4tTy+eRx4eFW2VUylUkdHomW+YmHIswsjCWLLBy+N1U
ao3IpfLkGi/A4Xeztbwty/cQklICS2YuX0QrKc3Spm8oreWN8RNZicz2oh38z39NZ9EIRWKcvTIn
yl4lFpS8HaTKK96tODVzcd3En1KmZMA2xCOtR5ldsuLwu6ktqWJYZM8/0tCbJpeWRx4fJYw3/QUg
Z5GISzKBZ7kcgNPnVrin93GkZXNYA2aq1bVUy9oolzZw/OoNHj3wFDOR4bRg+ID9Gv/x0J8AifPi
6UErutImtMpB0e9ciYaYDUzyzZ4/4K9O/JBrC9ez3jPinOClq69y0TpIe1kzu4y7GXdPMuezc6B2
NwqZnGmPhdLCYsoK9Tyx/R5iKyqGF6/iCFspUybkhV7+eZQ/+uJ2LmeweCplCqpkzSwHljl9LpqU
ubD7zDzd/hALATeT7hnRAlNBTubeA4VcirxCt2S76DpxtLGXjSC2bv+P4ewkBayxr+Sxhh0tBhY0
F5PyYMJ5zKjRi67Hcq8JQ2kBSlm2bGVlaSlV2gouLaz9bT0GFEGWxu4KcPrcCs995ossK6ZEC5NT
fZJcBYVx4jSW1mJQ65L+R3w1nmCirf19gvNd1NeUsLPFSHt9us0MT7kwrLaglGUnIcsjWxlxnMIf
CaC4uRZkwuF306pvYGbJSigWYiUaSpM2ubZwA5lExsHqAyh8NRDQ8Z2vZxdwV+jVXLpZBJ6Kcl0h
3e3l4g/xLkLOuETASo/ycxhle7H7zq1bzBcMRXnjnWV6tnail3TylUfSCy6FZsiRaQ9PHvgiS7Jp
PCGP6GemFlRlMlYoZQo6y9uSDQlV2nIO1e/HFfTg8LupLq5AijTNT0404Azzna8/yCsnJjlxKiEh
JKu0YfXPYtKakMrjySLCC9YBekzdqORKJt0zVKvriLuq6H9bgmtphVAkUQgixEiEgogTly0c0ZjS
CrfCsQhqRaHoWtxj2sWoY5zV6mtUlbpoLG5gZEmRVbxQozERc5h49Y1FerdVcfrKHKfPrST3h7nA
7F3ddJCKzHPW0YbexJksoOOViVeA3D6HYMtGXSE3Zj201elEZYGMpYXoos0oZQPZ8bTiqiRTVrmm
jHJNWVrxSqotCOuYPxK4+ezSC5uLJXq+sfNrjHqucsM1meYDNJU2oos1cfrsCjVGLY8cqKfZVEpH
Q4JJbXZ+mYNd1fSNzCfj5LPzy5wcmOM7X+/lK3u+kPW7xNaBcCySU2oxi5Xu5r1/beQMs8szlClr
aChoJ2orxir9pejzsnhtHKzbiyvgwe5zUFtSTY9p111rx2LMoX2XIjzx0LPMhq/jvOlHtmo7Odi8
Db3MxdCEiwvDa8/53T45X/rsl7i+fA2r35z0O3/xWzf7OyuRSaFBV8SIdzDrPCmsffGolLmAlY6b
68o/9L+UHE+mVOpWzT76HOJxDKFIaWujHvP8Mgd7CpLMPbX6LkaW0u1KLpVhmy7EZi6mbs/kumde
U3EVg/ZhHmo5jMPvxuK1Uak1UqzSMuIYRyaVid5j85KNSXeiUCUYDYm+Z6O4dr7pa31kyltCIlZ0
ot+CVJvNFiYw5FUXVYo+6/ayFmQSGXafg/rSGuLxOOdv7vHuqJX7Hi9l2N3Paec8Ek3iOeSK0ZmK
q7loFZcwtXhtRG42px1tPMDp2YtphZ8D9ms8u+0JRhzjzPuc1GhM4DFx6aZvcEHqXZurESu7y/cQ
d1XhsauR1Y2gC2bnH6cDw3zh4Yf54eCbomOyBS3EZhuIxxMKWifPBClSV/LM13q5t2HfujZ4q3HK
XGxjdyOK1Sr+6bcjaNVytjWVMTTp5NLIAn/waPvHPbQ8NoBBrRNvkMjBEJ3HreGWiqt++9vf8h/+
w39Ao9EQDof5/ve/T2/vxoGoPPLI44NBTikcZQ3drWtBMDHHLRiKcmUwzvBUJbqiBmZY5YI7SCgS
oKnaw6hjHIffhUKmoNPYlqa97fB7aDe0sRKU89zW32PQMcSC30lVUTnVRRX86vpbAPSYullcWcYV
8LC1vI0ipRZvyIehsJSrC9ezxn3BOsCnGg/gjwQwL9nYamxNOj9PcM8HfPfy+KQj074FmnLhsGpU
63mq/SHMS3OYvTYqtWWUFpTw7tQZgLSAWzQepa7YxD2mXn499kYaNbLwec26evaU7+HywgCrYQ+P
1DzFjG8aZ8RKZUEtT26/h7hPh0rh3FC+Kd8BkYcYptyzzAccolTIA7YhtlW0UyBX0l7WjCe4REOp
iUdaj2L12rH7HJiKq5AA560D1BRVovWq8Acj/ORnEYrUNTRUddBv81Kyu5CGynqmFrPp+Ft0jR/9
D8/jrsbtBNfEioReuPQT0feOOMf58p7Poy8sZWh+lJmluSzWNoDakipOTJ/Lel1ISgkdfw7rAPc1
HsAXDmD22jAVV7FF38aQbZpLjr60hOWgfYRHmx/E4nbhjS3TY9pFS0kr/99LtmSAJxUz9uwExO1g
1DHOqZT7eU8+WJmEEOxNL6x2U11cSZFSgzu4yL31Pbw9eZIFvxNDoQ53YImHmg9j8y0w73PQYmjk
aGNv/p7m8bHignUgUWitUDHmmhZ9jy1oQVNYw3IgQjy+ynung6gUZRzdvZPpcS+Pf3oLx/osTM4t
Mf0LCYcPttNc5mFmeZwqTTH/8dCf0G5sSTbi6IpVFCjk9Gx/ilH/MdHvnPBMM+mawajRE7Zny2ka
1KW8ev0twrEIs0tWzpj72KbfhqmkEl84gDPgpkJThkquQiZJMBG1lTXxb6840BTWJuWFDu2s5h//
1ZFVQN5S1M4//usiAPH4KhcuhvnuHz9GR8PGwe1rU25UChnRYgthd6IBY3/NTlYhmXSqLdqcVElm
gP3oHhO1ORhHBfaVPNaQKYcnnMcK5CoebD7MwtIy1oCZCpUJhdfEe2eCHNqp54Hqz7GonGDGO5v0
oX878SZKmYJv7vtDhhduMOKcoF7bSJRQTlkaQSpIIZOyrbKVzkZxVtfEc/bjXmrC0OxKyg2nYs47
z31NB2nVN3Jy5jy1xVXpvs5+Yd9+kxdG1vbtuE/Hf/rxWaRSCY8+8Dms0bFkYljhNeH2hikpLcKy
bMvJ5mIqrmLhJpPA9RQZzXBsTerB4XfxNw9/Y53fZyG+mjjTZp5xP7W3blNz605HrrN9ucbAsmaQ
Q/X7eP6iuAxaajGfSiFDJpNSolWmvSezGXLqZ0s011Qi7xCXpkktqKorrkOOAqVsKtmImNqQ4Ap6
cAY8DDtu0KpvwOFzicpEjTon+MoeAz9YuJJcW3e1tbNsr+asL8ze3Qq26yQ4w1bqiup5uPVA0k8a
mXbx5789mzNGkloQcf5imEcf+Bxz0TGcUQtGjZ7V1VV2V21nJYXppbe2G11hCa+PnSAQCeIOuilU
KHms7T5mFi1YvDaqisrZXt7OosXA8TMJ1piVcDRpy7eyP9xNyNWM8cKwdf3C1IiVCn0DBUo5y4GE
jGTquiGVSjh0oJBV3QguiZ/D+v04bxb1GTV6dAUlvDVxkjK1nhJVETXqOsq1eoya6eRzL1PrOFLf
i1pZiMVrw+5zsEO3neP9Vk6tBDjcXcs3PrsjbVwH2ZY11pFpF9/9+/NoChX0jcxz+socKoWM73y9
N+kLrISjOQscxBLmudaB2Gqc/TW78EX8yd9aKC8Esn2F+/fVMdtfjy9QRU2dnl8O2QA3uz5VhUVE
xtKo0XNs6kySSffS3BUuzV1BV1hyV55TBObQty/Mcn3Gg6lCi1wq4We/tqGQlaMrrmU+GOHpL7cC
0D+6wLw7kPacg6Eog4NxtIVdhM11XHYHkrKWfSPz/B9fbeBHA/9Cd9V2wrEwh+r34w37sHkXqFCa
qJZ0sL2uNW1daTM0MZ0RewvHIugLS9lS0cAbc6+I/h7h3Hq420RAupCQPbvJ3GPz2ZNFrOOuGQyK
Guo19UwvTxFrniMYLaPH1E3f3BX2VHcl44uVWiONJQ28OvYGJaoi3hg/ASSKzlUSNSsroJIVUK41
iLPDFleglCrom7tCe1nLpiS3xdBubGHVr6PAuUDfqQXCM37i3a67thglFZnylgLGzIsoZoZFGfL2
Vu/grKU/ixWtQlvGBctl2svaqNCU8c7UaVZSiuLKNDqOmY8TjkUwe9dkHVf9Oh4pf5bp0FpRYoGv
ltNvyGjYWyf63Cu1xiST+1sTJ9PGUqutQyKL8S9XXkYulaErKGHINUR7vIY551oB1syEnGrjXp7Z
+TQn+s28emaa3/9MEZPRIIpwdv7xmmMMrUrLftMurCP2LCnDVn0jRz67nWN9iaLbrhYDR3bX0lqr
A3TJdfL04By/es3K9+3vUldZxIGuau7dufk45UZsY3cbhqfcCRbJpRgnLq/ti8PTHp489DEOLI8N
MWi/xqOtn8Lmm8fqnaemuIIqbQWD9iGe2/H0xz2833ncUnHV888/z09+8hM6Ojo4d+4cP/zhD/PF
VXnk8REiV5X14aZ9aY5+LsfN5vKjKVRkdRsdPFCQVimfqr19ztJPmbwG68V6PMshFPdNMuQcRVdQ
wqB9GJlEhlwqo7tqu6h8xZ7qHajkKozqbDrT+GocV9BDiaqIHtMuntn+xAdyn/L43USmfYvKkzhu
8OzWJzB7bYw6J2jVNyad7dSuXYlEgtvv5eTsT6krEU+atOjrCc6Z8FyVM+kNcTayjEqROKAbKotZ
bdJtWr7pVjsg8rjzcXpwDqVES1WRJKujPByL0GvqZjnkR4qUq/OjNOsb+MXIa2ldm0MLo2wrbye+
GseoNDFhXaNEXw5EuDrhAuDKuItvHuwRpeI+2pyXpcnjo8cHwai0UdHqFmMzW4zNjDrG0/YKuMkO
V6hPCzQJEOQpUmUEnUEPY64pNAo1/bar9Nuucqi+BxzZ2vSX7VcIXztAWWkHyEp57eISNeVapu3e
rO+qryx6X/cARCSbl9aCZHdjkD0Tgp2kdg3rCkqQSqSMOidYXFmiRFWUpMOuLzVxcW4gba29aB3Y
FHNNHnl8mGgzNPHmxHtolWq2GJpFg9wtukZOBrMLnMr1hTzYU09rrY4f/PQKkChEOnbSj0pRiK54
D1G1kvZDiTVDaMTxeENsa9by5nEX3ffXYEFceuK9mfM5fd3UtRTAFw7QWFbDz0d+nXUu/Oa+PwQS
ybJvf3l/0r/uajEQCMVEC8iV27Q82lvClXFX0g/fbOJ8a6OeUDiKM5LYS+KrcVaBoYVRNAo1V+ZH
6Ju7wm/G3+LJmi/y3umgaGdyrgD7//a/bufSXLY0TY9p16bGdzehtVZH21xTlhzeSjSE1blEbawH
hbeLqTkvpUUqereVMm5ZxLwgo6oLIrFIWqHTSjTE8MINDhofpP/dQU64A+zbqxRlTmnVdmIvC24o
w5v6nFUKGbtMBVkJL0jMiRZ9A23GJtqMTVl/z7Vv/179lxLXlxYwNSZnzFyZLDCEMLvum6dQrgJY
R+YeJhfNWJbtbDW2icpc5kqCpv4+qVRC77YqQuEojqWVu74jPxPryUO+NnaMkzPn2Vu9Q9RPrdHU
Mq9Vsa3JQCS6yoVhO//5q+nFfGLNkJYFHz3dJma9Is2UNxsClDIFsYUaTp0PUaE/wIqpBFmNgRHn
WlGWIGUFMOaeptPYJvobm0oTDTgCy5SuWJUm+3byTDQZGzGn7B8AHQ3rx0g6Gw381TcPcvySmTmH
n4sXg8y7y3nwSCvnXC8nmS8SEmllPNb2KbYYm/nZ0G/omxsUjSlGYhEG7Ykk9A793qTUp2MxyPZm
A+V69S3tD3lAu7GZ49NncxZzNhTVs+ehdr730mUAzg7ZEutGJIrDs0LvfiWvLbxEeD7hU3ca2xh2
3EiLecDa2UsXa6TPfhxHwIGuoIR+W0Ii+J66vfx27N2M597P/YbP8bcvOpPyfeutT8cvWVgORFgO
rM1ZoXBqR4shsdZ5gqLXDueIn3foxOXkdIU6fj7866z4jkpWwMlf65JjmLF5OTlgZf/WSk4OzOEL
hpPzPpe0nUqWmLsyiSztmYhJMN8t6Gw0cHrQSjgao/+6g91bytnVZsThCVJfWcTj9yb24ed/PsjQ
hIttzQYKlHLODq01P9mcfqLxOI1VJRh1hTg8QYy6QrY26Rn29GexQPojAR5uOZIzR5FrjzDEWvne
SwPU7qoTlWAT9ufORgPH5xcIz6xdH1+Nc8bcx6OtR9HZH0BV6uW1xTVpQctN6dk91V1pY1XKVCza
1MRX42kxC8/KEqH5KuZmlKgLGpFUBVHKhrLGLDAb3lO3l5VoeFOsbGLI9JXHzYt3dTFKKjLlLQXs
bi/nsvNk1uvhWAStSoNcKkt71kMLo8ilWzGpWyiK1PEL8z9veC4LxyIcmzjP9TM1RKJx5t0393Vv
KMk6uTVYj1LWn/VZTbo6+uZunitTYi0HK+9FKVdwzPIu8dU44dia7aVKcQPMuwN8+8trMellyQK/
sv5rzvyjUaPn1RQChzPmvrQxrXpqOGaxcLjbxOFuEyf6LXzvpYE0P/bkgJXv/eRyGkvhxeGEIsm9
OzcXp1yPbexutGfzvE/89Q+omTSPDw+7qrbzmxvvAImi28u2a1zmGo+13fcxj+zOwC0VV0mlUjo6
OgDo6enhr//6rz+UQeXx/vDMS+JdamL4t2ef/xBHkscHjc2yQeRy3FpMpQyOLVBpUOPxhghFYhSp
FTglEznpx7VKNXKvidl5H5UGNXMBc1qi8YJ1gEP1+1DKlVnfF45FCEaDXJ0fobd2n6jsmkARLUhU
CMizNNx9aDe28I1dX+OCtR97IBFUFLPLcc80PaZdTC9a0BUUpx3+wjcpa5ulDZSoSnAHl2gzNItT
6eq2ozNU8dvTM0mnWUg0NddIOX7JQkeDYVPyTXka5LsPmWvUvfX7knJSw1Mu/uuL/fT2ViAvn03a
X6p8Q6W2nF9df5O9NTsoVRUTW42l2bHwXmEdVnhNlBapRMfS2ajP22AeHxs+rP16s0WrmRI+VcXl
FCu1yKXynJT5qRI/QhDKFw6k0Zz7wv6s6yHBgHHZHaS+spgJ6zJzTj/7tlVQV1GU1imrUsjo7Xr/
7CWnZi6uKytwtyPTTgQ/QKMoxKjRs7e6i19df4sntzyAVqlOkz5JXWvz9zOPjxuCLfvCCUkwUfm6
5v0c/rIumdDe2qRn+w4ZI55+fnxtgvb5Zg4dbORffrGcTCiFIjHsrgDdW9ZYjoVGnFAkRoEyERIq
DjeilA2KBumv2K+jcm7nyzufY3DhKualOWqKqqgrreaXI6+n/Q6lTMGYW/xsOWAbpbduN5Ats/cn
/2WNOSu1gHzMvMj3/+xo1v3ajFTD/fvqOH/NhkFRjYVEUioUC2Wt9+FYhDHfMHZneTIZ+hdf673Z
BZ07wD52tYBv7vtDzlkuY16aS8r3CL8xjwSEZ4WmRtSuO/Xb+eefJliYdMUqLAuJAH7v9ioMJSoG
QyfTEoYCRp0TFDgXko1jp8+tcOjAE0R0FhxhK53GNV/4mU3Uz6Y+51AkljP5vZGEbK59+8ZKH/c+
pkanLuXKwlm2NlSiWK7j9Lk45bpCnJE5bFY7+2p2ZrFnZMrch2ORnLLGuZKgqb8vHl9NMrs8faSZ
5x7u2PgG3UXYSB7SFw7klH7fbepgUDbKzPIsJk0df9q7O2ttEmuGDEViaHIkOA2FenaWdWNSbOHl
1zyEIjFm55cx6go5OWChvSq9IUFg84yvQpFKIzpOw2rChgWWqUSxrSGtEVNs/xCQK0aSdi4wNfPs
wb0cP+ln9vQyv3nHw8Geh4joLTjDVmo0tXRX7OLYSR8/WzyPonVWdO4Eo8E06aBUdrBtTYYsZqM8
0pFrvxT8jlzFnA+1H6DdWI2uWJX0O0q0So7sbqKjwcALfS+m+dRCUV/qeq2UKWjTN/J0x8OcOhOg
rLAKa2wuLS6S+mwFhGMRrNEx5t3lWBw+oioXx+fnmVycFj1v5mowHp5y861nd3LskoWaOq2orGFr
bSl/9/IVBsddaffn6mCMLsnjSXstU9ZQEmmgz3omOcbU3zrunuTIwSP85h1P0gdbDkSoMKip0KvT
irsEGcuI3oI7asVUUoVWoWZxxUt31XYG7Neo0JQl781Gsmx3OgbHXcnCT2Hv0hWrsLsTr6UW9czO
LyfO4TclQwHqq4oZuLGQdu24ZZHHDjbyk5n04lThmV60DuYsrsqMvTWVNhKwlfPiyw5696ko05Zu
uD+bvea0ZyxgaOEGHfoO7OqhpJRy6vhSZWI9K0sYJQ386oSPxx58BkvkRhoj5ulzK/RsLWXeHaDA
peWRLZ/HJrnG3LItybg25UlIAnpDPiRIebT1Uyz4nVi99luKKeaLUXJDTN5SpZDR3V5O0CneUChZ
hW/u+0OOT59NU0Dom7vCNh7lxLSfb/9Bevw3vrrKO1Onsz5r3DNFJFqFUVfI7Pxyci4J8NjVHKx8
Go98ClfUiqm4Eq1Sw0o4JhoP0xYqubwwmMU6Ben7MyRi1SPTLo5fsnDDvEjtLmsWE3Jq/jG1OEwl
V/Jo61GGFm6gl1Uj95p4/R0v8fgSvkCY89fmsxpfvvP1Xs5emcu617piFRev2bl3Z82mntl6e8rd
iJpy8f3TVKH9GEaTx63A6Xcn51Sqz+LMwVqax63hbKClAAAAIABJREFUloqrIpEIExMTrK4mnMRw
OJz275aWfEA6jzw+bGyGDSKX41ZWWsCOlnLGLYvs7qhgR2siIPKDwe+Lfo7D7+bT9b/HP7zoAMDj
DdGurk12YAiybcshP/PuGVHHyuF302poYOIG7JI9QVRnYSFswVRcTZFSzcLyEk9ueYB/6H+JNkMT
99w8bORZGu58ZCbkO3TbOX/VTkQbo660hgnPtOh1gia8Z2UJQ6GOHtMuYqtxZhatVGqNVKmr8S4U
M0jiUJEqFSTQJneWdGGZknPwfgNH99Ti8ASS3UtCl1Ndxa0xjnwQTC15/G4gtSNdKpFSXVTBL4Zf
wxX00F7WQnGkkUgsTnSplCq9msday7F4rdh9DupKa6jQlPHK9beIr8aZ887TVtaYJu2RCqffw5M1
X+TKlTDG0kJRCQ9BgiFvg3l81PgwWZXECgY7y9s4PdPHC5d+khZYF/576eqrvDF+nIN1e3ln6lSa
JGe5xkCLejvmmQgr6iWqiyqp1BrS5GVTYfXaKdeUpXUNK2UKFF4TEEYigXPX7BzsKcAiP4dq2xy9
mlrUgXp8Ti0926s3HbxZD7mC6Xd7kF2AUJjdZ+9j1mumpriSYpUWqUTK1rI2Jj0JKZzLtiE+U/cc
7y78WvRz8vczj48b7cYWDmo/g1s2iXVpjgcb78Phd2FZtlJVYOLJrnsT66qRZJJCbA1Wys5y6MAT
HD+1FjjPlLRObcQRmCgCTnhk+/3MLs+mBfEvWAfYrtuNzW/lNwMJmRNdQQmX7Ve5bL+a7KAXoCso
we5ziP7GcfdUzt8vjEkIgAuNQJ2N+qz3biTVkHrG2PdgA7XqLVz3XqVEVZRb/ihsxVBSR3NbnEjR
LD8a+gEd8y3cU7+XkWmP6DVDE26+/vTRfDHVOshkSzrY8zhRvQV3bI6Om+e/d44vs6ejgpWbzCIC
64RSIaW3qwr7WE0W4xUkGCD6Ti0A3PzsAlY0MyxFHLSVbOGe+u51i6AykZlIEZLflFlxRKybTjLm
2k/sPgeRWATP/BLdVds5Z7mEUnaFgz2Pc+FiiAZFNdbVuSz2jPuaDnLFPpol7XbBOsDRhoN4lkPM
r1goV9awv3GrqJ8k9vsgkfg8N2TPF1eJQPAt/+rED7m2cD0ruXjBOiDqpz5/8Z+TzKmW5TkGnJeR
Kr7EtYUbyfdlFsEKcFgL2GV4gpUSM+7oHAZ5NSpfLZfeluBaWgFcPHGokeBKjHf6zDg8QSTAsz3p
hebx1Tj9tqvsVnyaqFLKg433YQ/MJc6ixXXEnTWcPrPCM71rslvryUWm7h/rIde54Bu7vsbbFxKf
e/JMkCJ1Ja21HezebeL5f75CMBSlrqIIVZX43pEqiwhrUp+3Mra7FcNTLv7yHxJyeR5vKGO/TPjQ
701d5N66HpbDfmzLdsrkNRxq2pdcO3IW0qWsdVKJFAmSFNltJy2GhjTZ7XiXi9cG6tOKVteVJbyZ
pG/dspqQT5vJfd7M1WDc2aintVbHt7+8nyvjDoYmXFn2HQpHeetCosAk9f4MTbqZsQXXGNy8ISDA
3geqmSG7GKJMo+Oc62UO9jzEyTNrhVRnr9j5k2d28Mp7k8nkdDy+yskzic9++kgvzx1IrMH/s/+n
uIOLtJe14Ay4kzH2UtX7Z0P+XUbm8xUKP/d1ViSLejL9R0EyFEBToKBnWxVu7woOT5CqMg2Hu038
1xf72XpvFWYRicaNpPBSY29/9/IVjp+a4t4DhVxZ/TX9E7G0GHRrhgT9qGOccm0ZoaVwVh5FL6sm
vgquSPaYIJEQ7zC2opIVUCVr5mcv+4lG46giZVx7z5smua1SyKirLGJLvY4zV+bAX45L4iIWj6FR
qPGFA8ikMjqNbZQWFHNt4QaD89f4d/v/iP213bf0jPLFKLmRSxGjo8GARCPeUHigfg/txhbmbDGK
pTPMLI9TIlezjUc5fW6Fh3sqsuK/L/S9mCWjB1ChrOGCO0BtRZGotKvMOMqYd5ZmbQNVyi0cmz7D
SjSEVCKlx9RNPCrF6rNQra1BJl/lNxNvEl+NZ7FOQboUt0ohY1tzGX/+o8Q5oNKgxuyfFb1HDr+b
g3V7eWtijclr0j3D3zz8bf7l9RF++c5EUs5TpZDhX8kt8zrn9Cd/38GeAiJFszijNsKqGkYdm5NY
zVxzhPWlq+XuLBTc2qSnfzRx5hLWWUD0nJ7HJwti0uDrvZ7HreGWiqtWVlb46le/mvaa8G+JRMI7
77zzwY0sjzzyuG10Nhr4vftaGJ32JAtGGqtLePXkFKFIjAPbq4ivrvKbU9MMjrmoba4TrZQ3avSM
em6gkBkIxRNOS5O6k8s3u+nEZNsyHSujRk+9uoU+h4R5d5Dqsk5aS3dz8pyVRz9Vyhn3zzhjTQT/
pxctHJ8+y1PtD+VZGu5wiAbeZGfZU72DS+Y+lIuKnPTkAi1+OBbB5lvA5ltgb80O1IoC9unv5cKl
IOFInOpmE2ZvtlSQRCLhmmOcwRNLbG82IpXA0IQLXbEqLdiSdxLzyIXUjvTMdXB2aS6Z2Fx2RrE6
/Iw4j1OqKgEJXLzZ8SwkI+tKqzlvuUyLvlHU3svkNYzfSEj/GUoKeOa+VlzelXVlKvPI46PCh82q
lBowuu6Y4LsnvrduIdeOyg7eGD/Ogt+JN+TLoFG/jrxMg2Wigba6bh7aew9/N/gP1JWYRINQVYW1
lIQaqamcZi5gpqrQhCZYj8NawGMHi3j5vUkO9hRwZfXXhD2pdP39fPvhb9FufP+FVbCxPGIecLB5
G3P+WWa8s0m5L8/KEgB7qnewr2YnxOScOO2juqtOdK3N3888PhHw67h8MZHEe8UbAhL/r+usEF1T
c63BatMCT967PU1KL9VXEGvECYajeOeLGAsmJFIFX1spU1DgqyWonUl20Kd2PaZ20AP4IwF26reL
zrMKZe518XC3CV8gjH9lrcBGUyAXTZyf6LcApLExCwF1qdYjUnB2gUdrn8IRshKS+MT9LWUNBe2r
XI6trelm7xzHp8/y5IEvMvWzpaxr8meFjZHJlpSWTN7Twa9OjKMvjnLskiWNdaJQJefpI828e9FC
iaZRVO7vYP1ewjN+xs2LWfvx9NIsJ+dO3lKxtyAdJdiUMN4n793N//XU/7KpzxiZdlFdWJsztiLM
q7R5U2bloZ7ddDY1MLKUYI8T2DOUMgUrkQhGTVlWEDy+GiewEsUz0sKelh6amuP8sP/HOf2k9YoP
8sgNo0afxbIACSlXscRmpiT1zsqt/PDCP26qCFapkHP8VIAidSUHu7pvzovEewQpR+uCD+uCn91b
jJTr1cTjcdGGhHbdds4P2Tjr/xXh8TUp5CsLV2mPV9PeoEt+d2rxzNHdppxyf5lIZUTa0WIgUnlV
dE8a9Vzlu3/8ICf6LcTi4AuEMc8vc+Gane4t5ZwdsjHvDtCrNq0b/4HE3NdHG9nWXIBRp86fgzfA
lXEHbXW6tMLVs0O2JJuMTlpFwUIXK04J8ws+6sp3E4+vomup2vCzU88o+2p2csl2ZV3Z7cSz6qbW
XsR0YIT5sJV2QwvR1XDOfXk+GCFSbBdl8Ek9b+ZqMBZ8CMHGu1qMafZtKC7gX968nnaNrljF6UEr
O1oMzNi8yUIeAY3qTq6K7EkCE3KmLFZ7g46OBgOrq3BxeD6rIGDXlvLkXDLUlfO27WROWeW7Fbme
75HdtXz/3wY52FWdVaBtXfBx785qgqEYrqUAV8YTjKi6YhXVRjVDE06WA5GcLJWbkcITMDjuQqWQ
ESk2J201NQ5RKFelFVal+qmpeZR+21UUyya8wTDVpbWi0oIt+mZcQy30T7tYDiwn70VXi5GuFiNv
X5jl+own2Tj8b++MoZBJ+c7Xe5FIYH6mCuRhLlgHssawp3oHNt8CQ/PXb7m4Ku9jrI9cRaobKRB0
lDfz839woincw2RK0ZzY+SgX83uDuoOTkflkQ40wVw70qBLSrtZ06clEA0B/Uqpyd1kPW2NP4+Uy
Z8zpTYmpPi2QJcX93uU1/37RF2aLula0YcKo0XNs6kxaXE6Iz5wdsqfNfV2xal2Z121NBiasS1ln
A+vyHEMnBjZ1NhDWnEgsnnbPAitRhqdcd53vMWld5AsPbmFybglfIEJbnY6m6hImrYsf99Dy2AAN
peK+dUNpvjnhg8AtFVe9++67H9Y48sgjjw8YpwZt2J1+dMUqpm1L6IpUxOOr9G6rSjvQzc4v82h5
LUpZn+jh0OKbZWtTGxIJFCjlvPSKg8ceeBZbdJxoPJBTTlBwrOoVnbz2eoh4PE44GufyDUeyq8S2
ej1NkkG4ftIzixj1aJ5V4M5BrmRQMBpMPvtc9OSZGuIAtmUHHdIj9F0OggRsLj+HOrYkCwGFz/es
LNEoqWNuZRZNYTVvX5jlgf11vHPRnBYwyXdB5rEehLVIkJcRs+WIzoLf3IyiyIzPHcha6wTaY7W8
EF84kNPeZV4TvmAYgDmnn5ODc6LyOHnk8XHgo2RVOjlzYcNCrnZjC//PoX/Hf7/wT2nvEQoBbEEL
//vnn6ahugQAb+AL2MOzDIvIFsdd1bxyZhGVwkCFvpbKbZWMWZao0BXQN7KAQiZNC6DmGtP7xWbl
Ee92TC/NJoMGqettMBpELpVTHuvEWyiloaCdARHJnfz9zOOTACGQm+qTerwhDu4QL0rKtdZOLk7x
N089l/N7MplKjvUlElbS6xIO9jxEVGVBKZtDL69G4TVxY1SCekeuDnoPR0yHueYaTsqQRB0SUZ+m
Qb0+O06qvIMg6/LYPU1Z74uvwrZmQ1ayeMy8iGJmWHSvmPJOc+29Su49YEIpG8kaW6G/Lq2ALPVa
l2SCIrWO5cDa3/Jnhc0hF1vS2SE7AAM3HOhLCrKSzd1byvn5u+M5Ga+ExFO828XJAev73o+Hp1wE
VqIo5bI0m1LIpDnnn9hn/Kcfn2Xf3qoNz7CpTDyOiDVZvGUo/havjZxhdnkGk6aWSlkr45elNLbG
UMqGsj7zkY4DtB9K/L5UiS6xe7BR8UEe4rgVPyxzTV7vrCgUwQ6MOTGWrrFnA2gKFQxPudOeVe+2
KvpGstfIP/38LkCcwXjQMZhk+0n1h6N6C0daxRn3ciWAM5HJIBgKR9EqxZmYR50TfGVPorgkjXXQ
ni7fFXeZRAspG0rqWVj2JIpgfbUMDMRwLbm4b696w3HezRiecvGzd8ZF5dIENpkT/RbevWRJFhVN
zSWKiQpU8g3tQJgbwKZlt9fsqyf52qhjnNPm7Hi0wmtCUyjBFckuVgUYSZlvuZhhMn9DZ6MBiQSK
NUr6RhfQFxfQu62K88N29ndWJhPodneQ+/aYeOuCmWAomrxepZCxrbKVrpZv8croW9h9jjSmT0iX
xcos8BIbIyTmBcCu4gXR9WJ44cZdzZKZ69611uo40FUpaueP3dPIW+dnADi0ywQkGmk93hD37jTx
vZcSzytVotEZzmCL3SS2NuoJhaM4M9imhLkgFIdC7li4RCLhcPHv4bYXcn7Yxr6CanGJ8Kb9xMt1
GPoLRG399KCVcDSW1jgcisd4+8Is54Zs7NldQ0g/um48PnMv24wUd97HuH0I+/eY2cPxS2Z+cNzM
1kZ/8j5/+8v7N1X0nKtQK+7ToVI4CUViSWlMU7kWr3J63Zye8Df7yiwq33ZmZdOi43f43Ty55QG6
KjuypLj/+8+vJP9/95ZyJB6lqF0Xygtz+lmZhXtiMsYCOhv1bGsu48RlS86zwbGJ85w8HciSgk3/
nMSac2XckbW+nByYS7Il3y2oMmiZtC7iX4niXAwikSQKrmpvUfElj48eZWq96JwrU+cLXz8I3FJx
VR7rI3jh4U2/t3Df6x/iSPLII+F8mOeXaa4pJRKNcWN2kV1tRoCs4OWxkwGefuYBpr0zWTIQvZU9
uFnlxuxiMqA8cUPK4nI90vaTWd8LCcfqnupD+OdLeOkXPu7bU8u5IVtaQLpCr8YWFKcgnPc502i/
BeRZBe4c5EoGpQaaBTm/aDyKfdlJZYGJGl0Zr45lr59l8hqW5tWcuxmQ1BWrePWNRR588j6sfrOo
vInZG+L6rIdvPbtrU4GYPPIQIHRprkdjvxCy0NW0l8EcdN4Ov4cDmqdZWEoEWjLlK6uLqqha7eT1
d5cpLgyiK1ZhdwXynV95fKLwUbIqbbaQq9nQQIexFbNId06nsZlgOMrzPx/k2pSbfR0VvHlBTs/+
p/AqpnGErRiVNdQqt/CzXye6W0ORGLPzy7TWlrKtSc/knJcWUwnhaCwrgLrRWG8HG3Uz5pFALhky
h99NmVqPIlSKtjBAZ0UT25rz9zOPTyY2mxwUkGsNrlbX8e//9gRttaU5rxcSnM//fFCUWejBfXs4
ftnCcuCmrIi8CquIbIpeXsOpNzX0bPs0b5+cJRQJIpVK+Myjn8MaHcMRtiYT4tsqW3P+9lSGIwEC
G1Xq+IenXMliMEhPFtdWaLnsFD+fOsNWNIW1vP7ucjKJ5opYaTM04Z8r5/ooqLvE1/TJxSn+4muP
8vaF2fxZ4RaRi8nAWFLAL49PoCtWEViJpv1NpZCxEo6K2qXAeCWgs9HAX3ytlx8N/UD0+4X9eL3E
YGaRiGBTX3iwja4W46afs2DDp8+tcOjAE0R1FubDFowaXVriHdKZeFJ9pnZjC6t+HT/4t0EuLa+w
tVGOxeHl2lSYPbvXkr91RfWJwqqUvWsjP+lW15c8ErgVPyxzTV7vrCgUwY6ZPfy//+NsWqzMH4yw
beta4jBzTqR9jmUxpwz15KK4FKs7NkdHw/t77plrtscboiHHPiHYeK51XpDvOnV2hd97/Fks4es4
IlbKFDXIvSZ+84sYh3d+mjdOziaZvPJJ+42x3v0WpI2EAthMdqaNpLyGp1y8d9nPQe3TyEvdjHiu
ib5vM2ei1Dk24pygVluHcrmWYycDyGUS2gpNogw+Neq6tH9vpjAwc72HhC09daiZV09Opu0Dgzcc
/OnndzE04RRZMw2cNfdjXppLMhIKqCuqx6xW0r2lPGuNFRuj4IdVGtQ4cxSS5RuNcz/feXdQ1M4d
7gBPH2nGMu/n6riTHW1GWmtL6Gox0lqrS/onqT7Gemyx6+Fwt4mTA9YN10DI/SznvHZ2S+/BGvIk
fYnUoq+0fT9FIjwTg+OutLks4PqsB02hguujoN0hLnctxONTx7uRFLeAvI/x/rDRfd7sfRQrtMZI
1rO5f18dP752SvQzxKR4Q+EYBkU1FhH73mps5ZntT4h+Vqrs+0o4ytkzwTS7LlPW0KbtZHtLGUVK
taiflVm4F4rE0BTIc8oYdzYaUCqkvDj9d6JjuuGexDdcjt0VSN7nP/38rixfqrPRsOnz6Z2OUCQm
2gRVrs8XuX/S0W+7SnfV9mSuSciN9tuu8sUdT33cw/udR764Ko887lAI0gqpm184GkMpl6W9T6WQ
YSwtJO4tYMx1PCkDEY3HEtrK8SjLpnfoaqpBsVzLe2eCOBaDVBs0FGrqRA+55cpa3ntNzXIg0alz
/7467t9Xl3TkuloMHN1Ty3H7PGavCM2toSEpnSUgzypwZyFXMig10CzI+R0y3UOzrxf5CnhDHuRS
GeHYGlWsUqZAF23EE4myb68yqafdIK9CFm5iwj1DobwgTd5E4TURigSpMmiAzXdo5pEHrHVpelaW
cspXtuqbKA4qKYtWiwZYTBoTx99Z5lBvK1rlNXzhQJI6vFxThtTZyJkbIR7paeDGrIehCVc+iJzH
Jw4fJavSrRRy3Vu/j2HHGAt+Z3JsSpmCdt12vvv359EUKvAHI0zOLbHkC/PGO+FkQNXsDRFulqKQ
SUGWKNZd8oVR6ZZYKr2OIzpBU2kD27RV+OTi8/uDLi4TDZLlkQZTkUnUpzRq9GgUaoJhN/u3NSUT
Ivn7mccnFbfik+ZagyOOSsbNi4ybF0UTIKnIxSx0ZdKFrqiA5UCEUCSWUzZF4TXhWgpid/mTr8fj
q1y8FOWergNE5jyUGzUc3Fmz7u8SG4dKIWPBnZ4gyhXkjsXi9GyvJGgT3yvKlDWYvaHsQp39HQxP
uSiRWvEW1YhKVbSXNdNaq6O1Vpf1tzzWRy4mA5UyEYpUymVUl2nSus9zyX2EIjHODdl57uF0BrTW
Wh0d8y2ie0B7WTMj0+snrHLZlMcbuqXz4bUp902WrQJWNDMsRRx06ttZWfVzavZiUuoklcVKzGfq
aDDwzc/t4PL1Bc5csSWTpCfPRNd8FbUyyViV+ls38pPyZ97bw2b9sMw12bOyxNYcZ0XhubTW6kRZ
KQBODswRisSy5oRgZ5GiWQajl3mh7wr3iBR85bKJjg/AT81cs9fbJwQbF1vnARyeRCORxxti8oaU
qxMJO5+9KYEEEAzHeKinLqfcbR7ZWO9+P/dwO3B7Ul6ZRQBF6kK6jpiwcPuy28Icm3BN897MBYaW
T9PzUC2GeBPBkBql7HKaXWmVaipW2zb12akQW+8B5hw+0X1gaMLJNz67Q/SzDtTu5ur8aNprmYyC
m4HwnDZToJhHNsbM4rJUsws+ZuzLSf9CKJjrakk0nQsFUZpCRVIOeD222PUgsAsN2ccY8aavgQVy
FZ3lbbzQ9yIT7hlqiitz7tV7Kis4OZB4/plFX2L7vhhyzekqg4aBGw6UCiktBbnPzWOuqTS/5FaK
S/I+xu3jwy7iEXs27fMb52UEefgIoPDWopQN3lLsTzgHCH5Mll17Q9jLgnyuN7eflatw77F7mtLy
jEd21ybPans7KxkMtIjmLMsUiTOhgFAkxrsXZykrLcgqPM+1j25UgHynwTwvvkea530f04jy2Cyq
iyrSZGqF3Giv6dakX/MQR764agPcChtVHnl8ktDZaOCtC7NZ3WQCdWZqQMYVtWGJ1HBf5WPM+GeQ
Syzsquzizal31jS4mUMpG+CZzzzFss3AH39mB6MOA/2OS8nAoK6gBH8kQLWsFXNxmJ5tVdy/ry7p
wHU2Ghh1jHNq5iI/GnqFHtMucZrbxl6ONvbmWQXuYORKBolRwZYUaLmsfZUyZTU1sjZ2BJ8gUmLG
GbFSo63BqDFwZeE03Tt30mfvZ8GbSKZbmWPEe4VP138We3iWyaVpyhQJuZLT51ZQKWS01JZ8HD8/
j99xCN2Vx6bOIpfI0tYxoTiqXNJKR6OBith+RpayD6BSeZwHnwxzef44W/VbMWoNXFm4SpmyBuli
DSfOBejZWonZvkxVmYYKvTofRM7jE4ePklVps4VcE65pzpgvIZVI2F3dhVahRiaRcqB+D1fHnWy9
dw5n1EazsoaSSCHSGxLi8dW0jm3X4gpHDqlZkk/ijNq4t6KLN6d+SXgp8d2zS1aUMgXPNjzDiFc8
wLQZ+vw8PjiYZB1ZiRelTEGRUkuhooDTvpcp0n4OuPWAeR55fFKRuQZXq+uIOCo5fW4l+Z6NAvO5
kjBttaVUlam5PrOIzeWnMKbjT/Z+nfcmL2BbsSQlAIXvEpLjwjq6tVHP5x9sF/1O4Two7Bv31O9l
W9PaOFLPqe7YZV7om04WDtwwL1JpUCcTYcJ746XXeP7qWznPlwW+2iTjiYBdW8qBxBlVqvXw+tiq
6LX5Bp/bh1hCZBXwS+bZ9Sk7zqgNlbqWI7oa3juTSLqkxiwEqSrheedK+OfyEUqijUl5wVSkzovN
JE7EbDbT19naqKeuMcKV1V8T9iTGMb00i1Km4HOdj3LOcpkmfT3laj0XrAM81Hwop88kJMG8/nBa
4VkoEmPBE+SBo0W80Pdi2njyMsIfLXLZRKZf3FnexjUR+enU55IrIf3dP+7lwpCdoUkX+pKCpC0c
7ClIszPL8hzHp8/y7cPfSrOnD9MmxPaO0+dWeO4zX2RZMSV6Lsi139RXFmF3BzjSbeLsVVsWixLA
9RkP9+6s5lvP7qS1VseoY5wX+t5cd07e7ch1vxtrivnRL67SYiphW3NZVgFsoUpO105Z1hoj3N/M
IoDlQATporik463Y2qhjnL888d+Sn2H2WlHKLvHpmi/S5U8wnbgjc+yo2I7D5+JS4C0CfVO39OzF
1ntdsQrLgniCOFcCXZj/YufNW7XD3m2V2J3+TRUo5pGNXHZeV67lwvB82mupe79U6+Gex9xMeKZo
UdbQqO5kW2Xruuf19XwBYR3vcpRl7QE/vPCPyWdq1Bhy+potRh1tdaVZ+77dFaD7ps+6EcSK2ovU
Cna2lTFww4GmUIF2pUH03FynrePpjofTbDiXjyS8vhn/KI+NsZEv+mHc51w+Qn1RPQ6fhwqViUpp
C3ZzQVK2+NCBJ1CbFphYnKKmuBKtQs3pmT6AnP7sd77ey+lBK3Z3MGnbqft8bbmWkWnXuoyaufyk
1Dzjj6+9Qvv82r3ZWt4m+vsatA2ci6RLCi54gvSPLmSN4XYKkO9E2Jz+W3o9j08OdlVto982lPaa
UqZgZ9XWj2lEdxbyxVV55HEHI7ODIxSJUaBMUGfu26vMCshclQ2wS/YE4bE6LMoZUe3l2cgwR3Ye
BdYC+tfmrzPhmcXuc7C1aCvOxSDRqIRzQzbu37dG1Zx5WLZ4bfSYulHJlUy6Z7KCL3mH/M7Gnuod
BKPBJC2lWlGIkSZ26iU4I1ZMWhNSeZzfTLxJfDWOhTmGZYPskj1B/zvlPPf0Dl6d+1cC9hV6TN3M
+RMdF53GNgrkCemFcCyCJTjDow2P8d6ClQV7kBmnn11tRjQF8mTXUh553A4uWgcoUmrZU72DlegK
+sJSlkN+rMvzjC5dZXpuiQM7qnmo5TAWry2NgvWcpZ8dlR04Ag6sy3MoZQoeq/oCr77uSUrwVBu1
XByZ5//+w3wwLY9PLj4qVqWNCrlGHeMcmzzDmHuaMrWe6qJKzlsuI5fK+PbhbwHwK+u/Jn0Q682i
8YM9j3PyTDpDxp49ct5y/TRZPG71m0V9IkfYIjqmuE+3Kfr8PD44xH2lfLb5s1hWJpleNFOpLafF
0MCkZ5ZJzywt+kYiqoWPe5h55PGBI3UN/vcOVMQiAAAgAElEQVR/e4JxkQ7+9bprczELhcJR/um3
o8nilrNXbdy/bz+65d2MDZswpzCKABh1hQxNuJLX52LazDwPzi5ZOT59lm/s+hpvX0jIO2QWDpi9
c7w3c55v7P0StbumMftnaZBXoViuQyKRMBh/lbBz/fNl3KdDHc8tVXJq5iLnLP1pEs1GjZ42fWP+
TPo+kZkQ+bez5zhjXXu+gh/8zBPPcu5CmM5GPduayygq87GimUkyEhf46zm8U9yuMn2EptJGArZy
3jrmQy6Til4jzIuNEie5bDazkOXIbhO/HLtE2J3tLyyuePmbh7+dfO2z2x7b8L6B+Pw8dKCQV1L8
mdTx5GWEPxpsZBNpco2O8ay4R6G8cFPfcdp5kVH5BM37GzHEm7l8XU48vkqk2CxqZ6dnLqZ994fZ
BCFmmwqZ9GZxQs+mr1EpZDx+b1NyjfD6w8zYl7OuNeoK+dm74/zs3XH+/VcbeP7y/9hwTt7tyHW/
o9FVbsx6uDHr4dglS5b0XddO2br3V6wI4PS5FR657zMoymy3bWunZi6KnreckgkGBnSEI+UcOdTA
m1MvpxRgiRcW5oLYeu/xhtjbWZFW0CJALIGePf8Te9it2p9QEDCyOsGu+6pQeGs5eyFE777Hieot
CfnO/Dq+IXLZuUatFGUpG55yZxfykciHdLV8CxA/q2/WF8jcA17oezHNri9YB9hXsxOJRMKc1541
Vx7YX59kLUz9PZtlsE8tah+d9nDwQAFOyTjHPC+y674qCnx1OOcK6Cpdk2YzKmsojjQQNJfR3p1d
OJ5L3vnMxBD/Pb8WfyBYzxfdrO3dKsR8hHbddp7/JzMlmoOYpSCrVLMSClNbUZRoGNxpQqZdZKxv
gktza4Wgx6bPJGNumUVgnY0tdDYaGJ5yMXjDkWXb8VX48x+dva1YWa578+eH/5ThhTFRObQZ/wwq
hTFtHEZdIZdGF7LYcXOtL3ebokRDVZHoHtlYXfwxjCaPW8HowgSf2/oY4+5prN55dlVtpUXfwOjC
BEebDnzcw/udR764Ko887mCIOWdnh2x86eEtzCrOEbZlH1xXSsxAA44cWu8Ovxuzf5Je1ipcfzn6
RlrBlFI2QFfb45w8E0nrlM48LMdX45wx9/Fo69G0YGMedz5OzVzkjLkvi5Zyh17Ctfcq0RU1ENk9
yyVbX9p14VgEyqw8uH8XY75+fOEAPaZu+uYGM2xQwb6anZyz9GMNzLKlzkAsBqcHrURjcaqNGg7u
WF+eJI881sOpmYv4wgF84QA23wIHavfw3sz5DLa/QRr8j3HZdo0FvzPN1iFdyz4cizAfH6NcV8f2
ZjXVRi0vvzfBgykFqnnkcbcjVyGXWPF26j5weuYiUqlMNGAf1VtQKcpTpC0ULCqmku/VFZTg8IsX
Jow4x/nyns9njen59wY/VFr3PLIhl0mYX7GhUWko15RRUlDEz4d/m2YTw44b7K7tzAd787hj0VZb
KlpctV53rRizkK5YxYtvJuQgUjuLj1+ycLjbxBvnZrOCzO0NOlxLKxvKNeVKno56rvLdP36QUwNW
PEWXksVSAnZWbk3r/E8UyF7hwYb7CI9v4nxpZH02AudEUpI89XziDixuuhAmj83BKZkQtQGvaprv
/9lzQGJfvzz+6loB1s3n/Zi2kVyJz1Qf4e9evsLxU1OoFLIkC1YmhHmxUeIkl81mFrJ0NBh4YSRb
fgQS9nU7yJyfXS0GIpVXCc+Ij+cre76Q3+M+AmzWJoT3isU9ipTqnM9KLFmolJ3niYeexW0rZCZy
Wfw6ETv7sJogcsn0rLfObuaaXPOxQCknFImhUsi4YL206ft/NyPzfteWa4mvkmQgAQiGolnSd5nF
IJB+f8XizPH4Kqt+HV95+MhtjzfXOjm5OMVffO1Rjl8y41FdIrx8+89ezL4ADnRVc3F4flMJ9FuZ
/7mQXdxjRSkb5KGjn2HVr+NI6+51WVzyWEOudeW9yxbR93e1GG7rGd7uc8+0a8HXbNHVi+ZBbmdt
FfsMgdFHzM6e6PgiP30lDKxJs0GA73w9m+E5Z/FaoZLz+bX4A0Ou+3xkt4lTM29+aPdZzEfQ/VFV
0v40hXIeu6chbT16oe/NLLnjcCzCtfnrafnBzCIwwbZ/fXKSGfsyRl0hBUo5Z4dsxOOrtxUryzUv
B+3DjDjHk4zzqf5XTVE1umJT8nwr+BgVenXW538Q8/FOQGWZJtF8lWGflWXZ9yyPTxZkMik/vfab
tLjoZds1Dtfv/5hHdmcgX1yVRx53MHJ1k+1oK+fcNbPoNe6oleqyrWiK6rCKaBMbNXoGbNd4ZvsT
QG5HJnIzWZlGp5/jsCxoOedx90CwhXAswrzfmXzdGbaiKawlHI1hD4nbqG3Fwv/59B/xZ6+/ilKm
IBQLidpgKBZCKVPQUdYM5PXf8/hgkbqeKWUKgtGgqB1OLk5RqS3H4rWl2TpApbaMK/OjyX/PLs9g
Ku+k//oCZ67a7sqOmDzyuB3k8kWEfWDUOYG+UCd6rSti5Yl79tM3ukBno57799Xx46EfJv/uWVmi
09iWFUACaL+5v2RiMxJDeXywuDbpwbAtzHWHBYNajyvoyQd787jrcLvdtZk+8p/8l2PE46tZ7xue
cvONz+7IGWT+/APiMoCpyHUeHHVO8JU9BjoaDPzZ66+k/W09f98emMuSV4FbP1+2lzUzu2RNfq7g
s+Va5/O4fUwuTom/7ll7/f0mrwfHEyxqqczduebFRomT9Ww2Ex3GZsze7Ca192NHmfMzc36sN548
Phzcik3kinus97xy2b85fJ0bN6ppP1CDhexY3Ue9Xt1OfGWja1Ln49CEKy35CgkJN7NvVvTa/BzI
Rur93iy75Ub2/WExeaTuw5mvt9bqaK3Vve/1b7313lBSsKkE+q3M/1zINccVZbb3VaB2tyLXuvL2
BbFilVp+fO3W7eh2n3suu27W1+e85oOKXeeyM59yiu/+8YMcv5Sw9/v2lue0985GA0f31OLwBHB4
gsk1ecziQaPPr8UfFHKtTR0NBv5+9P2vObc6lo0aUjKhlCmY8Mxu6Lt3Nhr4u18NEY7GGJpwpc3P
24mV5boHA7ZrybmX6X816xpZqixGKZcl7bn/+gL/+avirJv5XBL4ghH2b60gGIoy7w5SoS+kUCXH
F4hsfHEeHyuWw37xpqZwXtLxg0C+uCqPPO5g5HLOWmt1tM+LO/idxha+8sh+Rh0G+ubTuxCUMgUq
mYpy/f/P3p1Hx1Ed+OL/Sq3WbslaWostWbYly7Jl4wXvGBzjsU0wDibBvOFlcgjDmclwSBzCDJkJ
yzsJA0ySSWYmcPhxSJhMkl8YhmzAA8LqFdsyspFXWZIlWZK1q7VYsiRraanfH6KbXqq6q7qrupb+
fs7JOURqt253fe9St27d+nxQITaQ6Z1oR0Zaoded0oFOlim6iGVh3qwitCbHY8n8DExmLhBc4Oda
LFWWXYxxx7jojiL2kX7kpGTjpiI+Uo2U55nhQDvbdA3bsTRnkd+Fv3iLFfGWBK+fLcpciLiJeGSl
J+HmlXOj8o4YolCIjUVcu8OVZRcjNtYCdPm/piRzIe7bUI777vh8R86y7mJcGfr8IntiXIJgHRbr
X4I9YoiUl5+djKFRwJaShYykdNGFFZzsJTNT6u7aYG1YOJPMUs4HfV8TaJzVPdzr3gVU7P2k2Fy0
FoeaKyS38xQ6KRkI9+K1Z4YrLnRi47J8jE04YL96HcsWZvnVi0CZljOHEYkccU5Fe3KOQSjHSyzn
/VMd2L5uI645EhFvOWPa9spVH195rwavH2r0uvg6MDSOJSnz0CYwT8Q6EJjU3S2DZVatnTyktJ9K
tH9i7b3UsY0SZVBigRYFFsr1kEDHMNTjruX4UsoNDVLExgAXGvuQkZbgXhCTYLVgMdtiRYm1QXob
9wmVJyMxHd3DdsHX++awtHA2/ny82e91ocyVBVq8eJNI3fuLkg1w5megqrYHn9b2IDczGd//mw2c
ew8gBsDUNGCJjUX27CRYYmMxNa11qUiKjqFuWT8nebi4isjkxAZnwQb4ZbYSPLTuPhxqrvB6NvGZ
rmo8dss33f9GbCCTHT8X3dcnve5e4qQ1uWwuWovjraeQYk3GwNggJqYmEW+x4otLNqHslpk7Gmrt
yTjeVimaF9d7lMxaILijyJxZ+bhpzibuUEGq8GzPRiZHsTitWDCHCzOKUNH6qd+z3ufPLsSbtR+4
XxdvsWJr8XqUbWBeieQSG4vYUjJR39fk7jf2Xz7q16dsLfbfDtl3vFLZfgYbClYjIS4el/tbUJZd
jJuK1or2L2rd0U3iNq+ci2OXhjDLNoAPG49gia1E1m5jRGahxN21arZhUs4HfV8zMDaIcpEdBEuy
5uNk+xmvn4VyfllmK8ETW/bhWMtJ1PY2Bm3nKXSRuIDumeHpaSeOnevArGQrfvC3G7GoUHgny3DK
6y5fBHLEORXtyTkGoRwvsfwvyS7GV9csAbAEX7AXmL69WrU4B68f8l8csL7gRlTZ/W8EZR0ITGrf
LiWzauzkIaX91EP7p0QZ9LZYwqxCvR4iJNTjruX4UqmcudoO12PUXNgWR4Ye2r1g5RmZHMVS2wq0
Sph/UfI8M9B3E7Du2WYe5/3V25bI/pvR6JZVBfg/L1UAmNlBdGBoHADw1Dc2alkskmB+RgFah/wX
wS7IKNSgNOaj+eKqzs5OfPe730Vvby9iY2Nxzz334L777sPzzz+P3/3ud8jMnFm1+sgjj2DLli2K
/M17XntQxqtvU+Rv+rpeKe99k9a9p0o5SBla5DhcUgb4G+fdiMyk2TjbdRFnOquRk5mFx275Jsps
Jai1N+Boy0k4nU7B3RwWpS7FXX+9yOtEhpPW+hbpHK+dswIN/c24IXcJijPmoTx3sVcWguWlzFaC
725+ENXddbhov+SXwU35G7FxYbnf3yVzi1SOXfms7q5D48AVZCSmCbaF24o3YVvxJhxrOYnG/j5s
KFiFFXlL4YQToxOjbAtJkBHHFVoSm1QpzVyAu5bc5q5bYn2Ka0zj+vnmorVhjVfUuqPbaCKV41p7
A471nkTNVCOKhgpxV9kXMTg+JGu3MSIh0doWB31MmkCbKbV9lHI+KPSapTmlqBYY729dsBFbF2xU
5PyyzFZiyrGY3nLsuonrRNtptA52oDB9DjYUrFL0AnqgHStCKa+cMYHaOYrWORU95VjsGADAy6de
9Wsb5R4vSQsQTdpeeQr4CLc0Y9YBLXMs9fxE08UgQXKth/YvlDL4jpvKc0p1tVhCLj21x6EI5RjK
bfd9/60W7ZNSi3LYFmubYT20e1LKAwDHWk8FzZuSc2VSrhuF+j2Fc74bKZHKse8xC/QoUdKX7cU3
45O20/47uBVv1rBU5hHjdDqdWhagp6cHdrsd5eXlGB4exle+8hW88MILePfdd5GcnIwHHnhA0vu0
tbVh27Zt2L9/PwoKAq90lbO4Su4iKLWotbjqd//rRVXeN9pokWMt1dob8PTh5zAxNYnYmFism7sS
41Pj6Bu9iiUGGkyTt0jl2DM/LvEWK57Ysi+sQa9eTjRIW5Fsj9kWklqibVyhhFD7ATX6JJoRiRyL
Hb8nt3wbTjg5NqCwsC32p2WbyfF+aPSWY1eGgJnHiAyMDQKAX4Z4vMmT3nLsS+m2kfk3J73nmJQn
1DYkxiXgwbVfw8WeS4as48zxDCPMI7AvEcYMq8MseTNC3QaYYwqu1t6A9+oP47rjuvtJKklxSbht
0RZdZdmoNN+5KicnBzk5OQCA1NRULFy4EN3dfOYjGUu05fhoy0n3AGPaOY0TbVWIt1jxpcXbcc/y
3RqXjkIVqRx75sdlYmoSx1pOhtyxR8OdmyRNJNtjtoWklmgbVygh1H5AjT6JZkQix2LH72hLJR5Y
cy+PIYWFbbE/LdtMjvdDo7cce2aoe6TX/XPfDPF4kye95diX0m0j829Oes8xKU+obRhzjONizyU8
sOZejUoVHuZ4hhHmEdiXCGOG1WGWvBmhbgPMMQV3tOUkjreeQrzFiozEdFT3zOwEPis+WVdZNqpY
rQvgqa2tDTU1NVixYgUA4JVXXsHu3bvxve99D4ODgxqXjkiaaMhxbW+j388mpiZxsv2sBqUhNaiZ
Y6H8BPo5UajUbo/ZFlIkRMO4QkvskyJDrRzz+FGksC2ewTpnbHrIMTNE4dJDjn0x1ySXHnNMyjN7
2xDNOTb7sY0W0ZxhEmbEus0ckxBXZiemJtE90uteNKjnLBuJbhZXjYyMYN++fXjssceQmpqKe++9
Fx9++CHefPNN5OTk4Ic//KHWRSQKKlpyXJZdLOvnZCxq55j5oUiIRHvMLJPaomVcoSXWY/WpmWMe
P4oEtsWfY50zLr3kmBmicOglx76Ya5JDrzkm5Zm5bYj2HJv52EaLaM8wCTNa3WaOSYzRsmw0ulhc
NTk5iX379mH37t3YsWMHACA7OxsWiwWxsbHYu3cvzp8/r3Epzeme1x6U/D8KLJpyvLloLeItVq+f
xVusuKlorUYlIqVEIsfMD6ktUu0xs0xqiqZxhZZYj9Wldo55/EhtbIu9sc4Zk55yzAxRqPSUY1/M
NUml5xyT8szaNjDH5j220YIZJjFGqtvMMQVipCwbUZzWBXA6nXj88cexcOFC3H///e6f9/T0uJ8Z
+tFHH2HRokWK/c3rlbcp9l5EgDY51lKZrQRPbNmHYy0nUdvbiLLsYtxUtJbPajW4SOWY+SE1RbI9
ZpZJLdE2rtAS67F6IpFjHj9SE9tif6xzxqO3HDNDFAq95dgXc01S6D3HpDwztg3M8QwzHttowQxT
IEap28wxBWOULBuV5ourPv30U7z55psoLS3FnXfeCQB45JFH8Pbbb6O2thYAMHfuXDz11FNaFpMo
oGjMcZmthA2xyUQyx8wPqSXS7TGzTGqIxnGFlliP1RGpHPP4kVrYFgtjnTMWPeaYGSK59JhjX8w1
BWOEHJPyzNY2MMefM9uxjRbMMAVjhLrNHJMURsiyUWm+uGrNmjWoq6vz+/mWLVs0KI1+ydltK2nd
eyqWhIQwx2QGzDGZAXNMZsAckxkwx2R0zDCZAXNMZsAckxkwx2QGzDEZHTNMZsAcE2krVusCEBER
ERERERERERERERERERER6REXVxEREREREREREREREREREREREQnQ/LGASpmamgIAdHV1aVwSY5Hz
uMG2m9okv/aRY89Ifu2/3fS45NfKkZeXh7g4Y0WcOSZfzDGZAXNMRmfEDAPMMXljjskMjJhjZph8
McdkBswxGZ0RMwwwx+SNOSYzMGKOmWHyxRyTGRgxx1owzTdkt9sBAF/96lc1LokOvC3nxQckv3Kb
rPeVbpuMMsixf/9+FBQUqPLeamGOyRdzTGbAHJPRGTHDAHNM3phjMgMj5pgZJl/MMZkBc0xGZ8QM
A8wxeWOOyQyMmGNmmHwxx2QGRsyxFmKcTqdT60IoYWxsDBcuXIDNZoPFYtG6OKQDRlxhyRyTL+aY
zIA5JqMzYoYB5pi8McdkBkbMMTNMvphjMgPmmIzOiBkGmGPyxhyTGRgxx8ww+WKOyQyMmGMtmGZx
FRERERERERERERERERERERERkZJitS4AERERERERERERERERERERERGRHnFxFRERERERERERERER
ERERERERkQAuriIiIiIiIiIiIiIiIiIiIiIiIhLAxVVEREREREREREREREREREREREQCuLiKiIiI
iIiIiIiIiIiIiIiIiIhIABdXKeTWW2/F7t27ceedd+LLX/4yAODq1au4//77sWPHDtx///0YHBzU
uJTBfe9738PGjRtxxx13uH8m9jmcTieefvppbN++Hbt370Z1dbVWxaYgjhw5gp07d2L79u34+c9/
rnVx0NnZia997Wv44he/iF27duHXv/41AP3VmampKezZswff+MY3AACtra3Yu3cvduzYgYcffhgT
ExOalo/CY9R2m+00CTFqnl2Y6+gSbcdb6PM+//zzuPnmm3HnnXfizjvvxOHDh92/e+mll7B9+3bs
3LkTH3/8sRZFNiy9jXmlkDsuNkqdkDqOnpiYwMMPP4zt27dj7969aGtr07LYEREsp0b/ToJ9vj/9
6U/YsGGDu/37/e9/r0EpQyfUpnsySh3Vgpz+P1L0ODcxPj6Ou+++G1/60pewa9cuPPfccwA4H2EG
eqwDUsgdy+qBHut2NDBqxuUwYn0g5f3oRz/Cbbfdht27d+Ohhx7C0NCQ+3dGPp834vk0SROt/SKv
78nDuQrOVZBETlLE1q1bnX19fV4/+9GPfuR86aWXnE6n0/nSSy85f/zjH2tRNFkqKyudFy5ccO7a
tcv9M7HPcejQIecDDzzgnJ6edp4+fdp59913a1JmCszhcDi3bdvmvHLlinN8fNy5e/duZ319vaZl
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
vicf5yo4V0HSxTiF9gEjWVpbW/HQQw8BAKampnDHHXfgwQcfxMDAAB5++GF0dnYiPz8fP/vZz3S/
ivORRx5BZWUlBgYGkJWVhW9961v4ixK/Om4AACAASURBVL/4C8HP4XQ68dRTT+Hjjz9GUlISnn32
WSxfvlzrj0ACDh8+jGeffRZTU1P4yle+ggcffFDT8pw6dQpf/epXUVpa6n7m8SOPPIIbbrhBd3Xm
k08+wS9/+Uu89NJLaG1txXe+8x0MDg5iyZIl+MlPfoL4+HhNy0ehMXK7zXaafBk5zy7MdXSJtuMt
9HkrKytRW1sLAJg7dy6eeuop9wntiy++iD/+8Y+wWCx47LHHsGXLFi2Lbyh6G/NKIXdcbKQ6IWUc
PT4+jkcffRQ1NTVIT0/Hv//7v6OwsFDroqtKKKc/+9nPsGzZMmzbts3w30mwz/fTn/4UBw4cgMVi
QXp6Or7//e8batJSqE13OBwAZh4LZKQ6Gmly+v9I0ePcRG1tLf7pn/4JU1NTcDqduO222/DNb36T
8xEmoMc6IIXcsawe6LFuRwOjZlwOI9YHUt727dsxMTHhzvKKFSvw1FNPATD2+bwRz6dJmmjuF3l9
TzrOVXCugqTh4ioiIiIiIiIiIiIiIiIiIiIiIiIBfCwgERERERERERERERERERERERGRAC6uIiIi
IiIiIiIiIiIiIiIiIiIiEsDFVURERERERERERERERERERERERAK4uIqIiIiIiIiIiIiIiIiIiIiI
iEgAF1cREREREREREREREREREREREREJ4OIqIiIiIiIiIiIiIiIiIiIiIiIiAVxcRURERERERERE
REREREREREREJICLq4iIiIiIiIiIiIiIiIiIiIiIiARwcRUREREREREREREREREREREREZEALq4i
IiIiIiIiIiIiIiIiIiIiIiISwMVVREREREREREREREREREREREREAri4ioiIiIiIiIiIiIiIiIiI
iIiISAAXVxEREREREREREREREREREREREQng4ioiIiIiIiIiIiIiIiIiIiIiIiIBXFxFRERERERE
REREREREREREREQkgIuriIiIiIiIiIiIiIiIiIiIiIiIBHBxFRERERERERERERERERERERERkQAu
riIiIiIiIiIiIiIiIiIiIiIiIhLAxVVEREREREREREREREREREREREQCuLiKiIiIiIiIiIiIiIiI
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
r3+t6667Tp/73Of0uc99Tjt37nT+29PzaEE9AAAgAElEQVRPP63169frhhtu0O7duyPRZMsy25jX
F/6Oi63SJ3wdR3d1demBBx7Q+vXrdccdd6impiaSzQ6LkXJq9b/JSL/fyy+/rGXLljnr33//939H
oJWB81TTB7NKH40Ef87/4WLGexOdnZ26/fbbdfPNN+umm27Sk08+KYn7EXZgxj7gC3/HsmZgxr4d
DayacX9YsT/AeD/96U914403auPGjbr33nvV1tbm/DcrX89b8XoavonW8yLP9/zDvQruVcBHDhhi
zZo1jubmZpfXfvrTnzqefvpph8PhcDz99NOOn/3sZ5Foml+KioocR48eddx0003O17z9Hjt27HDc
ddddjr6+Psfhw4cdt99+e0TajOH19PQ41q1b56iqqnJ0dnY6Nm7c6Dh58mRE21RfX+84evSow+Fw
ONrb2x3XX3+94+TJk6brM7/5zW8cDz74oOPuu+92OBwOx3333ed44403HA6Hw/HII484XnjhhUg2
D0Gyat2mTsMTq+Z5ALmOLtF2vD39vk8++aTjueeec/vakydPOjZu3Ojo7Ox0VFVVOdatW+fo6ekJ
Z3Mty4xjXl/4Oy62Sp/wdRz9hz/8wfHII484HA6H44033nDcf//9kWlwmPiSUyv/TXz5/V566SXH
j370owi1MHieavpgVumjkeDP+T9czHhvoq+vz3HhwgWHw+FwdHV1OW6//XbH4cOHuR9hA2bsA77w
ZyxrFmbs29HAqhn3hxX7A4y3e/duR3d3t8PhcDh+9rOfOXNt5et5q15PwzfRel7k+Z7vuFfBvQr4
jpWrQmjr1q3atGmTJGnTpk165513ItyikS1ZskQTJkxwec3b7zHwekxMjBYtWqS2tjY1NDSEvc0Y
XklJifLz85WXl6f4+HjddNNN2rp1a0TblJGRoblz50qSxo0bp+nTp6u+vt5Ufaaurk47duzQ7bff
Lql/Vu/+/ft1ww03SJJuueWWiP8dYTwzZdAb6jR8ZYU8DyDX0SXajren39ebrVu36qabblJ8fLzy
8vKUn5+vkpKSELfQHsw45vWFv+NiK/QJf8bR27Zt0y233CJJuuGGG7Rv3z45HI7INDwMfMmplf8m
Vu2H/hippluhj0aKP+f/cDHjvYmYmBglJSVJknp6etTT06OYmBjuR9iAGfuAL/wZy5qFGft2NLBq
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
0R7LNTU1eO655wBE9v18JN5PE++s5Osize95j8YqaKyCeIeSqwghhBBCCCGEEEIIIYQQQgghhBBC
CCGEBW0LSAghhBBCCCGEEEIIIYQQQgghhBBCCCEsKLmKEEIIIYQQQgghhBBCCCGEEEIIIYQQQlhQ
chUhhBBCCCGEEEIIIYQQQgghhBBCCCGEsKDkKkIIIYQQQgghhBBCCCGEEEIIIYQQQghhQclVhBBC
CCGEEEIIIYQQQgghhBBCCCGEEMKCkqsIIYQQQgghhBBCCCGEEEIIIYQQQgghhAUlVxFCCCGEEEII
IYQQQgghhBBCCCGEEEIIC0quIoQQQgghhBBCCCGEEEIIIYQQQgghhBAWlFxFCCGEEEIIIYQQQggh
hBBCCCGEEEIIISwouYoQQgghhBBCCCGEEEIIIYQQQgghhBDy/7N359FtXYe56D8QBDiTIkhwBCdx
ECVKFkVLtGTJkmXHsZM4tpybpOlq2sTPq0lcx07j5GXduG5X7OQ2TbzaLieNlTh+TZMOaXMdz/Ok
wRopiRo5SCQ4AZwwkiAJEgBBvj8oQBgOSAAEMRx8v78smAQ2D769zz777LM3CeDkKiIiIiIiIiIi
IiIiIiIiIiIiIgGcXEVERERERERERERERERERERERCSAk6uIiIiIiIiIiIiIiIiIiIiIiIgEcHIV
ERERERERERERERERERERERGRAE6uIiIiIiIiIiIiIiIiIiIiIiIiEsDJVURERERERERERERERERE
RERERAI4uYqIiIiIiIiIiIiIiIiIiIiIiEgAJ1cREREREREREREREREREREREREJ4OQqIiIiIiIi
IiIiIiIiIiIiIiIiAZxcRUREREREREREREREREREREREJICTq4iIiIiIiIiIiIiIiIiIiIiIiARw
chUREREREREREREREREREREREZEATq4iIiIiIiIiIiIiIiIiIiIiIiISwMlVRERERERERERERERE
REREREREAji5ioiIiIiIiIiIiIiIiIiIiIiISIBoJlfNz89Dq9Vifn4+1kUhChtzTGLAHJMYMMck
BswxiQFzTImOGSYxYI5JDJhjEgPmmMSAOaZExwyTGDDHROERzeSqsbEx3HnnnRgbG4t1UYjCxhyT
GDDHJAbMMYkBc0xiwBxTomOGSQyYYxID5pjEgDkmMWCOKdExwyQGzDFReEQzuYqIiIiIiIiIiIiI
iIiIiIiIiCiSOLmKiIiIiIiIiIiIiIiIiIiIiIhIQGq0Puj73/8+Dh8+jIKCArzxxhsAgJ/85Cc4
dOgQZDIZKisr8eMf/xi5ubnQarX49Kc/jZqaGgDA1q1b8fTTT0erqEQBMcckBswxiQFzTGLAHJMY
MMeU6JhhEgPmmMSAOSYxYI5JDJhjSnTMMIkBc0wUn6K2ctXnPvc5vPDCC16v7d69G2+88QZef/11
VFdX41e/+pX7/1VWVuLVV1/Fq6++ygaA4gZzTGLAHJMYMMckBswxiQFzTImOGSYxYI5JDJhjEgPm
mMSAOaZExwyTGDDHRPEpapOrduzYgby8PK/X9uzZg9TUpcWzmpubMTY2Fq3iEIWFOSYxYI5JDJhj
EgPmmMSAOaZExwyTGDDHJAbMMYkBc0xiwBxTomOGSQyYY6L4FLXJVSv54x//iL1797r/rdVqceDA
AXz5y1/G2bNnY1gyouAxxyQGzDGJAXNMYsAckxgwx5TomGESA+aYxIA5JjFgjkkMmGNKdMwwiQFz
TBQbqbEuAAAcPHgQUqkU9913HwCgqKgIhw4dQn5+Pq5cuYJHHnkEb775JrKzs2NcUoqlbn0vjg2e
QbdBjcbCWuyp2oFGZV2si+Um9hzH+/GnyBB7jn0x1+KUbDkmcWKOhbHdTizMMa0k3us0M5wc4j2H
q8Uc+xP7dy5GyZxj5lU8kjnHoWLu41e0c8wsUKSxLV47rK/RwxzTSlgf107MJ1e9/PLLOHz4MP7t
3/4NEokEACCXyyGXywEAmzdvRmVlJfr7+7Fly5ZYFpViqFvfix8d+RnsTgcAYGhyGIcHTuLJfY/F
RWMg9hzH+/GnyBB7jn0x1+KUbDkmcWKOhbHdTizMMa0k3us0M5wc4j2Hq8Uc+xP7dy5GyZxj5lU8
kjnHoWLu41e0c8wsUKSxLV47rK/RwxzTSlgf11ZMtwU8evQofv3rX+PgwYPIyMhwv24ymeB0OgEA
Go0GAwMDqKioiFUxKQ4cGzzjbgRc7E4Hjg+eiVGJbkiGHMfz8afISIYc+2KuxScZc0ziwxwHxnY7
cTDHFIx4rtPMcPKI5xyuFnMsTMzfuRgle46ZV3FI9hyHirmPT7HIMbNAkcS2eG2xvkYHc0zBYH1c
W1Fbuerxxx9HW1sbzGYz9u7di0cffRTPP/887HY7HnzwQQDA1q1b8fTTT+PMmTP42c9+BqlUCqlU
iqeeegrr1q2LVlEpDnUb1CG9vlaSNcfxcvwpMpI1x76Y68TGHJMYMMehYbsdn5hjCle81GlmOLnF
Sw5XizkOnli+czFijv0xr4mHOV495j724iXHzAKFK14ynExYXyOPOaZwsT6urahNrvqnf/onv9e+
8IUvCP7s3Xffjbvvvnuti0QJpLGwFkOTw4KvR1Oy5jhejj9FRrLm2BdzndiYYxID5jg0bLfjE3NM
4YqXOs0MJ7d4yeFqMcfBE8t3LkbMsT/mNfEwx6vH3MdevOSYWaBwxUuGkwnra+QxxxQu1se1FdNt
AYmCtadqB+RSmddrcqkMu6t2xKhEyYXHn8SIuSYiSixst4nEhXWa4gFzmHz4nVMiYV4pGTH35MIs
ECUO1lei+MH6uLaitnIV0Wo0Kuvw5L7HcHzwDLoNajQW1mJ31Q40KutiXbSkwONPYsRcExElFrbb
ROLCOk3xgDlMPvzOKZEwr5SMmHtyYRaIEgfrK1H8YH1cW5xcRQmjUVnHih9DPP4kRsw1EVFiYbtN
JC6s0xQPmMPkw++cEgnzSsmIuScXZoEocbC+EsUP1se1w20BiYiIiIiIiIiIiIiIiIiIiIiIBHBy
FRERERERERERERERERERERERkQBOriIiIiIiIiIiIiIiIiIiIiIiIhLAyVVERERERERERERERERE
REREREQCOLmKiIiIiIiIiIiIiIiIiIiIiIhIACdXERERERERERERERERERERERERCeDkKiIiIiIi
IiIiIiIiIiIiIiIiIgGcXEVERERERERERERERERERERERCSAk6uIiIiIiIiIiIiIiIiIiIiIiIgE
cHIVERERERERERERERERERERERGRAE6uIiIiIiIiIiIiIiIiIiIiIiIiEsDJVURERERERERERERE
RERERERERAI4uYqIiIiIiIiIiIiIiIiIiIiIiEgAJ1cREREREREREREREREREREREREJ4OQqIiIi
IiIiIiIiIiIiIiIiIiIiAVGdXPX9738fu3btwr333ut+bWJiAg8++CA++clP4sEHH8Tk5CQAYHFx
ET/60Y9w11134bOf/Sw6OjqiWVSigJhjSnTMMIkBc0xiwByTGDDHJAbMMSU6ZpjEgDkmMWCOSQyY
YxID5pjEgDkmij9RnVz1uc99Di+88ILXa88//zx27dqF9957D7t27cLzzz8PADh69CgGBgbw3nvv
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
Xqmfi+RpPnlklimUMhBKn5UCR2q5klp5KDA8Oe7MBimZFPMtxTIRSUll7hpOpvKT8GAXgIiIiIiI
iIiIiIiIiIiIiIiISIpCfuUqIiIiormaqN4b7CIQERERERERERERERERkR9xchURERFRCPFqQtin
/VcOIiIiIiIiIiIiIiIiIjng5CoiIiIiEvTAbx/3y/v+7tMv+OV9iYiIiIiIiIiIiIiIiHxNMZOr
TCYTAKCnpyfIJSGpyMjIQESEvCLOHJMj5piUgDkmR1qt1m/v/dSpf/L4Z3+y+Zse/ZwcMwwwx2SP
OSYlkGOOmWFyxByTEjDHJHdyzDDAHJM95piUQI45ZobJEXNMSiDHHAeDYr4hnU4HAHjooYeCXBKS
iiNHjiA7OzvYxfAKc0yOmGNSAuZYxt72z9vuwlH/vLGXPC2HHDMMMMdkjzkmJZBjjplhcsQckxIw
xyR3cswwwByTPeaYlECOOWaGyRFzTEogxxwHQ5jZbDYHuxC+MDk5iStXriA1NRUqlSrYxSEJkOMM
S+aYHDHHpATMMcmdHDMMMMdkjzkmJZBjjplhcsQckxIwxyR3cswwwByTPeaYlECOOWaGyRFzTEog
xxwHg2ImVxEREREREREREREREREREREREflSeLALQEREREREREREREREREREREREJEWcXEVERERE
RERERERERERERERERCSAk6uIiIiIiIiIiIiIiIiIiIiIiIgEcHIVERERERERERERERERERERERGR
AE6u8pGdO3fi4MGDOHToEO655x4AwI0bN/Dwww/j9ttvx8MPP4yhoaEgl9K9b3zjG6isrMSBAwes
r4l9DrPZjOeeew67d+/GwYMHUVtbG6xikxsnTpzAnj17sHv3bvziF78IdnHQ3d2Nz372s9i3bx/2
79+PX//61wCkV2dMJhPuuusuPPbYYwCAjo4O3H///bj99tvx5JNPwmAwBLV8ND9ybbfZTpMQuebZ
grkOLaF2vIU+789//nNs3boVhw4dwqFDh3D8+HHrv7344ovYvXs39uzZg5MnTwajyLIltT6vJ7zt
F8ulTnjajzYYDHjyySexe/du3H///dBqtcEsdkC4y6ncvxN3n++NN97Axo0bre3f73//+yCUcu6E
2nRbcqmjweDN+T9QpDg2MTU1hfvuuw933nkn9u/fj5/97GcAOB6hBFKsA57wti8rBVKs26FArhn3
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
2z3tP/jgAxQXFwOY/bzvvPMODAYDOjo60NraiuXLlwermLIixT6vJ7ztF0u9Tnjbj965cyfefPNN
AMB7772HjRs3KvrJOU9yKufvxJPPZ9v+HT16FIWFhYEupl9JvY5KTbD7q1IcmxgcHMTw8DAAYHJy
EqdPn0ZhYSHHIxQq2HVgrsT6slIhxbodqkLhO5d6fSDfO3HiBF566SW88MILiIqKsr4u5+t5uV5P
k2dC7bzI+3ve41gFxyrIc2FmoXXAyCsdHR144oknAAAmkwkHDhzA448/Dr1ejyeffBLd3d3IzMzE
888/L/lZnE899RSqq6uh1+uRnJyML37xi/jUpz4l+DnMZjOeffZZnDx5ElFRUfje976HZcuWBfsj
kIDjx4/je9/7HkwmE+699148/vjjQS3PuXPn8NBDD6GkpMS65/FTTz2F5cuXS67OfPzxx3jllVfw
4osvoqOjA1/+8pcxNDSEsrIy/OhHP4JGowlq+Whu5Nxus50mR3LOswVzHVpC7XgLfd7q6mo0NDQA
ALKysvDss89aL2hfeOEFvP7661CpVHj66aexffv2YBZfVqTW5/WEt/1iOdUJT/rRU1NT+OpXv4r6
+nokJCTgpz/9KXJycoJddL8Syunzzz+PpUuXYteuXbL/Ttx9vh//+Mc4evQoVCoVEhIS8J3vfEdW
g5ZCbfr09DSA2W2B5FRHA82b83+gSHFsoqGhAf/zf/5PmEwmmM1m7N27F1/4whc4HqEAUqwDnvC2
LysFUqzboUCuGfeGHOsD+d7u3bthMBisWV6xYgWeffZZAPK+npfj9TR5JpTPi7y/5zmOVXCsgjzD
yVVEREREREREREREREREREREREQCuC0gERERERERERERERERERERERGRAE6uIiIiIiIiIiIiIiIi
IiIiIiIiEsDJVURERERERERERERERERERERERAI4uYqIiIiIiIiIiIiIiIiIiIiIiEgAJ1cRERER
EREREREREREREREREREJ4OQqIiIiIiIiIiIiIiIiIiIiIiIiAZxcRURERERERERERERERERERERE
JICTq4iIiIiIiIiIiIiIiIiIiIiIiARwchUREREREREREREREREREREREZEATq4iIiIiIiIiIiIi
IiIiIiIiIiISwMlVREREREREREREREREREREREREAji5ioiIiIiIiIiIiIiIiIiIiIiISAAnVxER
EREREREREREREREREREREQng5CoiIiIiIiIiIiIiIiIiIiIiIiIBnFxFRERERERERERERERERERE
REQkgJOriIiIiIiIiIiIiIiIiIiIiIiIBHByFRERERERERERERERERERERERkQBOriIiIiIiIiIi
IiIiIiIiIiIiIhLAyVVEREREREREREREREREREREREQCOLmKiIiIiIiIiIiIiIiIiIiIiIhIACdX
ERERERERERERERERERERERERCeDkKiIiIiIiIiIiIiIiIiIiIiIiIgGcXEVERERERERERERERERE
RERERCSAk6uIiIiIiIiIiIiIiIiIiIiIiIgEcHIVERERERERERERERERERERERGRAE6uIiIiIiIi
IiIiIiIiIiIiIiIiEqCYyVXT09PQarWYnp4OdlGI5ow5JiVgjkkJmGNSAuaYlIA5JrljhkkJmGNS
AuaYlIA5JiVgjknumGFSAuaYaG4UM7mqp6cHu3btQk9PT7CLQjRnzDEpAXNMSsAckxIwx6QEzDHJ
HTNMSsAckxIwx6QEzDEpAXNMcscMkxIwx0Rzo5jJVURERERERERERERERERERERERL7EyVVERERE
REREREREREREREREREQCOLmKiIiIiIiIiIiIiIiIiIiIiIhIACdXERERERERERERERERERERERER
CeDkKiIiIiIiIiIiIiIiIiIiIiIiIgGcXEVERERERERERERERERERERERCQgItgFkLsGXRM+ajuL
hv5mlKYUYkveOpSmFgW7WER+xdyTnDG/JHXMKBGR77BNJZo71h8iaWMdpUBj5oi8x3pDc8HcUDAx
f0Tyx3rsP5xcNQ8NuiY8d/xnMJiMAID2oU4caz2DZ7YfZkBJsZh7kjPml6SOGSUi8h22qURzx/pD
JG2soxRozByR91hvaC6YGwom5o9I/liP/YvbAs7DR21nrcG0MJiMONV2NkglIvI/5p7kjPklqWNG
iYh8h20q0dyx/hBJG+soBRozR+Q91huaC+aGgon5I5I/1mP/Cujkqm984xuorKzEgQMH7F7/zW9+
gz179mD//v344Q9/aH39xRdfxO7du7Fnzx6cPHkykEX1SEN/s1evk/wpLcNzwdzLXyjnmPlVDqXm
mBkNLUrNMYUWKeeYbSp5Sso5DhbWH3lhhkOPEusocyxtSsycPzDHZEuu9YY5Di655kZqmOO5Yf6k
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
IiIiIiIiIiIiIiIiIiJZ8Llz1e9+97vl2A4iIiIiIiIiIiIiIiIiIiIiIqKQovT3hQ899BAOHz4M
m80WyO0hIiIiIiIiIiIiIiIiIiIiIiIKCX53rvrUpz6Fffv24SMf+Qiee+45DA0NBXK7iIiIiIiI
iIiIiIiIiIiIiIiIgsrvzlW33XYb/uu//gvPP/88jEYjPvrRj+Ib3/gGPvjgg0BuHxERERERERER
ERERERERERERUVD43bnKVWRkJKKjo/HNb34TP/7xjwP1tkREREREREREREREREREREREREER4e8L
Dx48iJdeegmDg4P4zGc+g7/85S+Ij4/H7OwsbrvtNjzxxBOB3E4iIiIiIiIiIiIiIiIiIiIiIqIV
5Xfnqv379+Pv//7vcfPNNzu/YUQEvvvd7y55w4iIiIiIiIiIiIiIiIiIiIiIiILJ785Vzz33nOTf
du/e7e/bEhERERERERERERERERERERERhQSfO1d94hOfgEKhkPz7/v37l7RBRERERERERERERERE
REREREREocDnzlXf/OY3AQBHjhxBR0cH7r//fgDAa6+9hvLy8sBuHRERERERERERERERERERERER
UZD43Llqy5YtAIBf/OIXePHFF4VZrHbt2oUHH3wQX/7ylwO7hUREREREREREREREREREREREREGg
9PeFBoMBU1NTwr+np6dhNBoln9/f34/Pfe5zuOOOO3DXXXdh3759AIDh4WF84QtfwG233YYvfOEL
GBkZAQDYbDY89dRT2LNnD+6++240NTX5u6lEAcMckxwwxyQHzDHJAXNM4Y4ZJjlgjkkOmGOSA+aY
5IA5JjlgjincMcMkB8wxUWjyu3PVHXfcgU996lP49a9/jV//+tf49Kc/jTvuuEPy+SqVCk888QTe
fPNNvPLKK/j973+PtrY2PPfcc9i2bRsOHjyIbdu24bnnngMAHDt2DF1dXTh48CCefPJJ/OAHP/B3
U4kChjkmOWCOSQ6YY5ID5pjCHTNMcsAckxwwxyQHzDHJAXNMcsAcU7hjhkkOmGOi0OR356rHH38c
X/3qVzE0NASz2YzHHnsMjz32mOTzMzIyUFFRAQBISEhAUVERDAYDDh06hHvvvRcAcO+99+Ldd98F
AOFxhUKBqqoqWCwWjzNjEa0E5pjkgDkmOWCOSQ6YYwp3zDDJAXNMcsAckxwwxyQHzDHJAXNM4Y4Z
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
2Fj85Cc/QVVVFb761a/6s2xEREREREREREREREREREREREQBM6+Vq+rq6vDiiy+iubkZAFBSUoIt
W7ZAIpn3QlhERERERERERERERERERERERERBZc6zoc6fP49HH30Un//857Fnzx4IgoCLFy/ii1/8
Il544QWsWLFiIcpJREREREREFLQeePnxOT3/lc89v0AlISIiIiIiIiIiIiJ/mvPkql/96ld45pln
UF1d7XysuroaVVVV2L9/P37xi1/4tYC+stlsAACtVhuQv0/BJzMzM+RWU2OOaTrmmMIBc0yhLhQz
DDDH5Io5Dj4ajSbQRVgwTx77xzk9/182/71PzwvFHIdzhml+mGMKB8wxhbpQzDDAHJMr5pjCQSjm
mBmm6ZhjCgehmONAmPMn1NLS4jKxatKtt96Kf/7nf/ZLoeZDp9MBAB5++OGAlYGCy4EDB6BSqQJd
jDlhjmk65pjCAXNMoS4UMwwwx+SKOZ7ibf/9qhuxEwcDXYSg4etnEYo5ZltM0zHHFA6YYwp1oZhh
gDkmV8wxhYNQzDEzTNMxxxQOQjHHgRAhCIIwlxfs3bsXb7zxxpx/ttDGx8dx6dIlpKWlQSwWB6QM
FFxCcYYlc0zTMccUDphjCnWhmGGAOSZXzDGFg1DMMTNM0zHHFA6YYwp1oZhhgDkmV8wxhYNQzDEz
TNMxxxQOQjHHgTDnyVV33nknfvazn8HTy5544gm8++67fiscERERERERERERERERERERERFRoMx5
+tn4+Di+9KUvefxZRETEDReIiIiIiIiIiIiIiIiIiIiIiIgoGMx55SoiIiIiIiIiIiIiIiIiIiIi
IqKlQBToAhAREREREREREREREREREREREQUjTq4iIiIiIiIiIiIiIiIiIiIiIiLygJOr/GTHjh2o
qanB3r17cc899wAAhoaG8IUvfAG33XYbvvCFL2B4eDjApZzdt7/9bWzcuBF79uxxPubtfQiCgKef
fhrV1dWoqalBfX19oIpNszhy5Ah27dqF6upq/PKXvwx0cdDT04O//Mu/xB133IHdu3fjN7/5DYDg
qzM2mw379u3DY489BgBQq9W4//77cdttt+HrX/86JiYmAlo+ujGh2m6znSZPQjXPk5jrpWWpfd+e
3u/PfvYzbN26FXv37sXevXtx+PBh58/279+P6upq7Nq1C0ePHg1EkUNWsPV5fTHXfnGo1Alf+9ET
ExP4+te/jurqatx///3QaDSBLPaimC2nof6ZzPb+/vznP2PDhg3O9u+Pf/xjAEo5f57a9KlCpY4G
wlyO/4slGMcmzGYz7rvvPtx1113YvXs3nnvuOQAcjwgHwVgHfDHXvmwwCMa6vRSEasbnIhTrA/nf
j370I9x+++2oqanBl7/8ZYyMjDh/Fsrn86F4Pk2+WarHRV7fmxuOVXCsgnwkkF/ccsstwsDAgMtj
P/rRj4T9+/cLgiAI+/fvF3784x8Homhzcvr0aeHSpUvC7t27nY95ex+HDh0SHnnkEcFutwvnz58X
7rvvvoCUmWZmtVqFnTt3Cp2dnYLZbBZqamqE5ubmgJapt7dXuHTpkiAIgjA6OircdtttQnNzc9DV
mRdffFF48sknhUcffVQQBEF44oknhLffflsQBEH43ve+J7z00kuBLB7doFBtt9lOkyehmudJzPXS
stS+b0/v97nnnhN+9atfuT23ublZqKmpEcxms9DZ2Sns3LlTsFqti1nckBWMfV5fzLVfHCp1wtd+
9G9/+1vhe9/7niAIgvD2228LX/va1wJT4EXiS05D+TPx5f29+uqrwg9/+MMAlfDGeWrTpwqVOhoI
czn+L5ZgHJuw2+2CwWAQBEEQJiYmhPvuu084f/48xyPCQDDWAV/MpS8bLIKxbi8FoZrxuQjF+kD+
d/ToUcFisQiCIAg//vGPnbkO5fP5UD2fJt8s1eMir+/5jmMVHKsg33HlqgV04MAB7Nu3DwCwb98+
fPzxxwEu0ezWrVuHhIQEl8e8vY/JxyMiIrBy5UqMjIygr69v0ctMM6urq0Nubi6ys7Mhk8mwe/du
HDhwIKBlSk9PR0VFBQAgLi4OBQUF6O3tDao6o9VqcejQIdx3330AHLN6T548iV27dgEA7r777oB/
juR/wZRBb9hOk69CIc+TmOulZal9357erzcHDhzA7t27IZPJkJ2djdzcXNTV1S1wCcNDMPZ5fTHX
fnEo1Im59KMPHjyIu+++GwCwa9cunDhxAoIgBKbgi8CXnIbyZxKq9XAuZmvTQ6GOBspcjv+LJRjH
JiIiIhAbGwsAsFqtsFqtiIiI4HhEGAjGOuCLufRlg0Uw1u2lIFQzPhehWB/I/7Zs2QKJRAIAWLly
JbRaLYDQPp9fCv34pWwpHhd5fW9uOFYR+jhWsXg4ucqPHnnkEdxzzz14+eWXAQADAwNIT08H4Dh4
DQ4OBrJ48+btffT29iIzM9P5vMzMTPT29gakjOTd9O8pIyMjqL4njUaDxsZGrFixIqjqzDPPPINv
fvObEIkczaRer4dcLneeODHv4SFc2m220wSET54nMddLy1L8vl966SXU1NTg29/+tnPp9WDvtwWz
cPjsfOkXh0KdmEs/ure3FwqFAgAgkUgQHx8PvV4fmIIvAl9yGsqfia/18MMPP0RNTQ2eeOIJ9PT0
LGYRF1wo1NFgEkz91WAam7DZbNi7dy82bdqETZs2ITs7m+MRYSrQWbsRnvqywSiY6vZStFQ+81Cp
D+R/r776KrZt2wYgtM9JQ7nsNDdL5bjI63tzw7EKB45VkC84ucpPfv/73+O1117DCy+8gJdeegmf
ffZZoIu04DzNSI2IiAhASWgmwfw9GY1GPPHEE/jOd76DuLi4QBfH6ZNPPkFycjIqKytnfF6wfI40
P0uh3Q7m+k/+tRTyPIm5XlrC9ft+8MEH8dFHH+GNN95Aeno6/umf/glA+L7fxRDqn52v/eJgf59z
7UcH+/vxN1/ebyh/Jr6U/ZZbbsHBgwfx1ltvYePGjfjWt761WMVbFKH8/S1lwTY2IRaL8cYbb+Dw
4cOoq6vD1atX3Z7DXFEgeevLBptgq9sUnkKlPtDc/PVf/zX27Nnj9t/UlX2ef/55iMVi3HXXXQBC
ux8YymUn3y2V4yKv780dxyo4VkG+kwS6AOEiIyMDAJCSkoLq6mrU1dUhJSUFfX19SE9PR19fH5KT
kwNcyvnx9j4yMzOdS54CjmUWJ2c5U/CY/j319vYGxfdksVjwxBNPoKamBrfddhsA71lbbOfOncPB
gwdx5MgRmM1mGAwG/OM//iNGRkZgtVohkUiY9zAQTu0222kKpzxPYq6XlqX2faempjr///7778ff
/M3fAAjeflsoCOXPbi794mCvE3PtR2dmZqKnpweZmZmwWq0YHR1FYmJigN/FwvElp6H8mfjy/pKS
kpz//8ADD+AnP/nJopVvMQR7HQ02wdBfDeaxCblcjvXr16O2tpbjEWEqWLI2V976ssEkmOv2UrIU
PvNQqA80d7/+9a9n/Plrr72GQ4cO4de//rXz4nQon5OGctnJN0vpuMjre3PHsQqOVZDvuHKVH5hM
JhgMBuf/Hzt2DMXFxdixYwdef/11AMDrr7+OnTt3BrKY8+btfUw+LggCamtrER8fz4oYhJYvX472
9nao1WpMTEzgnXfewY4dOwJaJkEQ8Pd///coKCjAF77wBefjwVJn/vZv/xZHjhzBwYMH8S//8i/Y
sGEDnn32Waxfvx4ffPABAMcJVKA/R5q/cGu32U4vbeGW50nM9dKy1L7vqXvaf/zxxyguLgbgeL/v
vPMOJiYmoFar0d7ejqqqqkAVM6QEY5/XF3PtFwd7nZhrP3rHjh147bXXAAAffPABNmzYENZ3zvmS
01D+THx5f1Pbv4MHD6KwsHCxi7mggr2OBptA91eDcWxicHAQIyMjAIDx8XEcP34chYWFHI8IU4Gu
A/PlrS8bLIKxbi9VS+EzD/b6QP535MgRvPDCC3j++ecRHR3tfDyUz+dD9XyafLPUjou8vjd3HKvg
WAX5LkLwtA4YzYlarcaXv/xlAIDNZsOePXvw+OOPQ6/X4+tf/zp6enqgUCjw05/+NOhncT755JM4
ffo09Ho9UlJS8NWvfhW33nqrx/chCAKeeuopHD16FNHR0XjmmWewfPnyQL8F8uDw4cN45plnYLPZ
cO+99+Lxxx8PaHnOnDmDhx9+GCUlJc49j5988klUVVUFXZ05deoUXnzxRezfvx9qtRrf+MY3MDw8
jPLycvzkJz+BTCYLaPlofkK53WY7TdOFcp4nMddLy1L7vj2939OnT6OpqQkAoFQq8dRTTzlPaJ9/
/nm8+uqrEIvF+M53voPt27cHsvghJdj6vL6Ya784lOqEL/1os9mMb37zm2hsbERCQgL+9V//FdnZ
2YEu+oLylNOf/vSnqKysxM6dO0P+M5nt/T377LM4ePAgxGIxEhIS8IMf/CCkBi09telWqxWAY1ug
UKqji20ux//FEoxjE01NTfi7v/s72Gw2CIKA22+/HV/5ylc4HhEGgrEO+GKufdlgEIx1eykI1YzP
RSjWB/K/6upqTExMOLO8YsUKPPXUUwBC+3w+FM+nyTdL+bjI63u+41gFxyrIN5xcRURERERERERE
RERERERERERE5AG3BSQiIiIiIiIiIiIiIiIiIiIiIvKAk6uIiIiIiIiIiIiIiIiIiIiIiIg84OQq
IiIiIiIiIiIiIiIiIiIiIiIiDzi5ioiIiIiIiIiIiIiIiIiIiIiIyANOriIiIiIiIiIiIiIiIiIi
IiIiIvKAk6uIiIiIiIiIiIiIiIiIiIiIiIg84OQqIiIiIiIiIiIiIiIiIiIiIiIiDzi5ioiIiIiI
iIiIiIiIiIiIiIiIyANOriIiIiIiIiIiIiIiIiIiIiIiIvKAk6uIiIiIiIiIiIiIiIiIiIiIiIg8
4OQqIiIiIiIiIiIiIiIiIiIiIiIiDzi5ioiIiIiIiIiIiIiIiIiIiIiIyANOriIiIiIiIiIiIiIi
IiIiIiIiIvKAk6uIiIiIiIiIiIiIiIiIiIiIiIg84OQqIiIiIiIiIiIiIiIiIiIiIiIiDzi5ioiI
iIiIiIiIiIiIiIiIiIiIyANOriIiIiIiIiIiIiIiIiIiIiIiIvKAk6uIiIiIiIiIiIiIiIiIiIiI
iIg84OQqIiIiIiIiIiIiIiIiIiIiIiIiDzi5ioiIiIiIiIiIiIiIiIiIiIiIyANOriIiIiIiIiIi
IiIiIiIiIiIiIvKAk6uIiIiIiIiIiIiIiIiIiIiIiIg84OQqIiIiIiIiIiIiIiIiIiIiIiIiDzi5
ioiIiIiIiIiIiIiIiIiIiIiIyANOriIiIiIiIiIiIiIiIiIiIiIiIvKAk6uIiIiIiIiIiIiIiIiI
iIiIiIg8CJvJVVarFRqNBlarNdBFIZo35pjCAXNM4YA5pnDAHFM4YI4p1DHDFA6YYwoHzDGFA+aY
wgFzTKGOGaZwwBwTzU/YTK7SarXYuXMntFptoItCNG/MMYUD5pjCAXNM4YA5pnDAHFOoY4YpHDDH
FA6YYwoHzDGFA+aYQh0zTOGAOSaan7CZXEVERERERERERERERERERERERORPnFxFRERERERERERE
RERERERERETkASdXERERERERERERERERERERERERecDJVURERERERERERERERERERERERB5wchUR
EREREREREREREREREREREZEHAZtc9e1vfxsbN27Enj17PP5cEAQ8/fTTqK6uRk1NDerr6xe5hESz
Y44p1DHDFA6YYwoHzDGFA+aYwgFzTKGOGaZwwBxTOGCOKRwwxxQOmGMKB8wxUXCQBOoP33PPPfiL
v/gLfOtb3/L48yNHjqC9vR0ffvghLly4gB/84Af44x//uMilDIyGtgEcPqdBfdsgKvKTsX21Csvy
U27odzbpWvBpx2do6m9FWWohtuSuQ1lakZ9KvHQxxwtrPnWBWZ8bZnh+2E4Hl6WU4/lmj/kKfksp
x8Fksk41tuuxZVMU+iNacHWonfVkngKZY38em9lmLm1sjynUBSrDbDsXxkKce4aCUG6LWRfmL9zy
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
774bn/70pzE2Nhbhq5zfV7/6VTQ0NODgwYOun/n7HA6HA9/5znewd+9eHDp0CC0tLZG6bJrHiRMn
sG/fPuzduxc/+9nPIn056O/vx6c+9Sl89KMfxYEDB/Af//EfAMRXZmw2G+6//3489thjAACNRoOH
H34Yd999N774xS/CbDZH9Prow4nWepv1NAmJ1nh2YlwvL8vtfgt93n/913/Fjh07cN999+G+++7D
8ePHXb977rnnsHfvXuzbtw8nT56MxCVHLbG1eYMRars4WspEsO1os9mML37xi9i7dy8efvhhaLXa
SF72kpgvTqP9O5nv8/3+979HfX29q/773e9+F4GrXDihOt1dtJTRSAjl+b9UxDg2YTKZ8NBDD+He
e+/FgQMH8OMf/xgAxyNigRjLQDBCbcuKgRjL9nIQrTEeimgsDxR+3/ve97B//34cOnQIn/vc52A0
Gl2/i+b+fDT2pyk4y/W5yPm90HCsgmMVFCQHhcWuXbscw8PDHj/73ve+53juueccDofD8dxzzzm+
//3vR+LSQtLY2Oi4evWq48CBA66f+fscx44dc3zmM59x2O12x8WLFx0PPfRQRK6ZArNarY49e/Y4
ent7HSaTyXHo0CFHR0dHRK9pYGDAcfXqVYfD4XCMj4877r77bkdHR4foyswLL7zg+NKXvuR49NFH
HQ6Hw/HEE084Xn/9dYfD4XB885vfdLz44ouRvDz6kKK13mY9TUKiNZ6dGNfLy3K730Kf98c//rHj
5z//uc/fdnR0OA4dOuQwmUyO3t5ex549exxWq3UpLzdqibHNG4xQ28XRUiaCbUf/6le/cnzzm990
OBwOx+uvv+74whe+EJkLXiLBxGk0fyfBfL6XXnrJ8U//9E8RusIPT6hOdxctZTQSQnn+LxUxjk3Y
7XbHxMSEw+FwOMxms+Ohhx5yXLx4keMRMUCMZSAYobRlxUKMZXs5iNYYD0U0lgcKv5MnTzosFovD
4XA4vv/977viOpr789Han6bgLNfnIuf3gsexCo5VUPC4c9UiOnz4MO6//34AwP3334/33nsvwlc0
v82bNyMjI8PjZ/4+h/PnEokE69evh9FoxODg4JJfMwXW3NyM4uJiqNVqyOVyHDhwAIcPH47oNeXk
5KCmpgYAkJqaipUrV2JgYEBUZUav1+PYsWN46KGHAMxm9Z49exb79u0DADzwwAMR/x4p/MQUg/6w
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
s9nsiuV169bhySefBBDd/flo7E9TcJbzc5Hze8HjWAXHKig4TK4iIiIiIiIiIiIiIiIiIiIiIiIS
wGMBiYiIiIiIiIiIiIiIiIiIiIiIBDC5ioiIiIiIiIiIiIiIiIiIiIiISACTq4iIiIiIiIiIiIiI
iIiIiIiIiAQwuYqIiIiIiIiIiIiIiIiIiIiIiEgAk6uIiIiIiIiIiIiIiIiIiIiIiIgEMLmKiIiI
iIiIiIiIiIiIiIiIiIhIAJOriIiIiIiIiIiIiIiIiIiIiIiIBDC5ioiIiIiIiIiIiIiIiIiIiIiI
SACTq4iIiIiIiIiIiIiIiIiIiIiIiAQwuYqIiIiIiIiIiIiIiIiIiIiIiEgAk6uIiIiIiIiIiIiI
iIiIiIiIiIgEMLmKiIiIiIiIiIiIiIiIiIiIiIhIAJOriIiIiIiIiIiIiIiIiIiIiIiIBDC5ioiI
iIiIiIiIiIiIiIiIiIiISACTq4iIiIiIiIiIiIiIiIiIiIiIiAQwuYqIiIiIiIiIiIiIiIiIiIiI
iEgAk6uIiIiIiIiIiIiIiIiIiIiIiIgEMLmKiIiIiIiIiIiIiIiIiIiIiIhIAJOriIiIiIiIiIiI
iIiIiIiIiIiIBDC5ioiIiIiIiIiIiIiIiIiIiIiISACTq4iIiIiIiIiIiIiIiIiIiIiIiAQwuYqI
iIiIiIiIiIiIiIiIiIiIiEgAk6uIiIiIiIiIiIiIiIiIiIiIiIgEMLmKiIiIiIiIiIiIiIiIiIiI
iIhIAJOriIiIiIiIiIiIiIiIiIiIiIiIBDC5ioiIiIiIiIiIiIiIiIiIiIiISEDMJFdZrVZotVpY
rdZIXwrRgjGOKRYwjikWMI4pFjCOKRYwjinaMYYpFjCOKRYwjikWMI4pFjCOKdoxhikWMI6JFiZm
kqv0ej327NkDvV4f6UshWjDGMcUCxjHFAsYxxQLGMcUCxjFFO8YwxQLGMcUCxjHFAsYxxQLGMUU7
xjDFAsYx0cLETHIVERERERERERERERERERERERFRODG5ioiIiIiIiIiIiIiIiIiIiIiISACTq4iI
iIiIiIiIiIiIiIiIiIiIiAQwuYqIiIiIiIiIiIiIiIiIiIiIiEgAk6uIiIiIiIiIiIiIiIiIiIiI
iIgExEf6ApaLdsMNvN9zDu1DnajMLsMdxZtRqSyP9GVRjGB8EYUfyxXFKsY2xQrGMoWKMUMUvVh+
iSiasM4iik0s2xQNGKfkxFggWr5Y/hcPk6vCqLVrGMebtGjpGkFNaSZ21hWiujQL7YYb+M7xH8Ns
swAAesd0ONZ9Bt/Y+URYA5kFZXlaqvgKF3/lZCmwjJC3pa63GYPk7cPUiQuJp2h7ZhD5s9ixHErZ
ZN0uHoHum3fM6CcG0WrowGObHsFqZZng6/HeEi2dQOUtlDo/kv1NIiIgtvpc4axT2a4Sn2i5J2J5
tsdS2V4u3GNnXXkW7tqoRoVaEdb3EFs5YpxGn3DUcUJxCICxQB+aWJ7BFBrnswAAFIkZONZ9huU/
jJhcFSatXcP4x+fOwGSxAQD0Q5O42jmMv/6TdXjfcM71AHMy2yw41XPOJ4gX2hhjo2n5er8n+Pha
TMHErnc56ek34vA5DZ58rGHRH8gsI+TNXzx++7MNODW0sHIVrkkhWh6EYvDkJR3+6dGGeQd75osn
f7EolmcGLW/hGHxczFhu7RrGd174AClJMowaTQHbK6zbxcP9vk1OW9B0bRAnL+nwjb/ciurSLFfM
xEnisKVgPWasJgxNjeCPHUfhgEOwX8Z7S7Q0E0bzlbdg6/xI9jeJKPqFq76LlT5XOOtUtqvEJ1ru
iXscJsikMJmtHm38cAmm/MdK2V4unLFjsdmxvT4Rg8mN+Lcrr6JCV4rdZfVhuWdiLEeMU/FYqvky
oTg8rTmPzQXrGAv0oTjjEwAU6Qk4fE7D/nWUONZ1BnV5a1xjn9XKVUiMT8CxrrMs/2HA5KoF8s7W
VKQnwGKzIy5Ogu31ibCk9WLI2o9T+ltoH70h+BrtQ52e/x1iY8z5cO4c6UFOajYflMuUdxzN9/Nw
8I7/teulePbiz+aN3eNNWldD0clkseF4kzZsD2OhRqsEErzZtCnt6gAAIABJREFUcYxlZBk41XkV
H2gvQDvZi8KUImwt3IjtZbWCf+sdjwkyKRTpCbh83YB2e+jlaqGTQm92HIMEEr+7ZlB0CqYD7R6D
cXESNNTmYcZsxb/8+iJqy7IEV4K0G27gjKYJhslhv3Ua4H9lUiSeGUTuwjX4uJixfFXfgZodfRiy
9qMkPg+y8SKcOjsj2F450vmB37IogQQnexpFs4I11jXfMKCyWAFlwQwmErXon9aiJD4fV/Uds7tS
3o6NLQXr0dR/xXXftMZ+XOhrxv2V+3BWexGV2WXYUbwF79+uT3NTsjE6MwazzcK2Iy2JD7PgaiH/
LpQd3xZrwsi7nSyXyqBIzMBZTdNs0niQdf5S9DeJKDaFs74LZzu1rXsYTe2DON8+iFXqFYu6W4D3
cyTdUgqLze7xN+51aijPHU72i0+ge+KYVODYBXHsUnG8SQuLzY4d25Jc8y0l8XmuNn4g3jG6o3iL
4NhbsOWf4yni5q8O216fiGbH6zCPzt5f3XgfTmsbw7IDqr9ydLKnMWJ1G+NUHIKtV8LRfxGKwxRZ
Mm4Mdwtf2zyxsNS7sQX7ftxBaemduKjFpqpczJitMIxOo7YsC4nyeJy4yP612EklcWjqvwJgdueq
VsN1AMDO4vpIXlbMYHLVAgitZk+QSdFQm4e41FGPxpphyoAa5Sr0jvW5/r1zoLAmZ5XH64bS0XR/
OOemZMM0Zha8VrE2msS2XWo0q8wuQ++YTvDni6G1axjf/7/nkJ+dipGxaRw+p8Fo+mBQsdvSNeLn
NYV/HiqhRuuEeUrw+3H9G4EywviMTqc6r3ok+WnH+9BkuADgUcEEK2c8xsVJcOe2JFjSNRg06dAr
06JeuQFaYz/sDs+BxEDlar463F99rBnrw3PnX8Sjmz7JOIsRwXagr2tuQZWVjFGjCZuqcnG+bcDV
oe4dGPdZCeJ8XUViBmRSmeB7d470wAH4jcXt6k2wO+wYnBzy+JtwPDNYdy4PH/Y+h2tiZbHaP+2G
G/iD7j9d16hDH+TSZmyvP+jTXunQjKJj5Kbg67QNdaLF0AGtsR+AOFawxrLWrmH89+Eb2LJZjlOT
r8NsvN0WQB/ajJexzqBEZXYZ9BODMNlMgjF4c7QHI9OjeKfzBNqHbmB1Vhmqlas8Vng16i6Jtn9F
sWGhk/sL/XfzrZReqslww+QI5FIZrHabx85yg5PDaDfcQFV2eVB1/mL3N4kodoWzvgtXO/VU51Uc
u/kBhux9yK7Ow/h4Eb71vBbf+qv6sE9ouT9H5FIZTFYTJi3nsb1+H06envb429aukdAXCHOyX3Sc
371znsK5mKBtqBNNRy6jd2AcgOcu71UlSz+R2tI14pscgz60GZuxzqAMeLy3M0bjJHHIT8vF71vf
xPD0KCqzyz36scGW/6Ueg6fgCdVJcukZ7Nx+L6ZTemAeWZwdUL3rMOcuyaPTY/i7t77tE2tLwRmn
3mWbcbq0gq1XwtF/EXqWjs6MYW1uFTS3x6TceceC+zhfmaIIJpsFZ7VNsDvsiz6WFWx7gjsUR4bN
DpxvG4BcFoeSvHRc7x2F2WLHrk3qSF8azWPcPCW4c9W4eTLSlxYTmFy1AM03DFhVpPDI1DxztR92
ux0ypRbm/rmHptlmQUJ8guBA4bRlBu2GG3NHRvnpULYabuCNpot4++gYqkoUuGtjoceRVaMzY6hW
rnJN3rgTY6NJjNulRrM7ijfjWPcZn5W+22+fqwwsbCLUXyZ453gbanf3om9cj7q1KlQkr8Ex/UXB
12gZvIEX32rDhtU5qC7NQk1pJnr6jT5/V12aucBP70loxfO0dRqDk0NBlxHGp/g4Y7GtexR3bEvE
kOQGOke7UZCsRtJ0MSRTs/Vio+6CYKelUdckmFxVU5oJzcA4Pv6xVLypewXmobmkrOZhGRrUdTjV
e971997lytt8g4X+BmGUKZloGbzOFZsxJJgOdGvXMFSZyeg121BbloWczKSAq4KvGTpdO/AFeu6v
z6tBo+6y4HW1Gm5gdfZKAMCGvBrEIQ4f6C4hPk4aMLaDwbpzeQjHfQ5lYqXdcANHb57GjZFu5KYq
sVJRhNrc1QCAFYnpkEtlAds/TsGubmvrHsZbvacEy680tw/r4us8fn7sggbZyXnQoQ/eCtJVuNDX
7PM6rOsXx/EmLSRxEsRl9cE84Hv/3rp+EptVm9Bq6IBhUniQUj8xhE356zBjNUEaF4fjPWc9dreS
S2XYUrAeGQmpi/55aPny14Y41tno+r1Qn26hSQHzrZT2P0bRiW89fwa5mckLWjHcbriBUz3nYXfY
MWGZwtDUMKqVq1CyohB/7DjiUfaaB9pwb/GDQdX5i93fJKLYFWhM9rvHfoIkSVrAnbHdBTNON+/1
GG54LB5zJvxv2nhwwbvxBWoTv99zDla7DfWFda5x6/K0UqhSp5F0IR7TJqvrddaW+0++Pdp1Bmc0
TWgZvO7xrAp3Ugp3r/hw2rqHUZBUhPy0XJ9JtzhbIt4fmXL9bVycBFu3yPG29nX8vK0XSnkBViZX
o1ZVsSTf+bryLAymnPNIjomTxKEubw1ev3YYPzv/nyhT+B7z5h6j3jvX9o71efRjg+2jhqNs0+Lw
VyclqEahMfr214HZ+v1/Hf8plCmZuKN4M05cnAx5ByHvus1frO0srodEIsEdxZthn1D4rb8C1W3B
1nt3FG/GhHkKU5ZpV9lOliUxTpdYsPVKMP2X+e690DPWbLOgTFGE5oG2eecNfRMTZ8c+zmqbXK91
tPOD2foyzAtrg+3HftgdvoK5bi4a9jU9Y8ahHSuhM4xDNziJ2rIsFCjTYBhlgo7YpclTBMc1uXNV
eDC5KkTOVdHuO0skyKTYsa4AJWV2nL6l9fk3jbpL2FW6HZmJGXj12tsewXxKcx7f3PkFrFaWoSZn
lWBHMztFgZd6foXKkn344+luXO0cRuKauYew2WZB4u0Ermho3HMr6PCqVJbjGzufwCm3B/92twf/
QiZCOzSj+M4LH2B8avbfODPBP/dXSvzm+m89YrhVfg1rc2qgG/ftqGTJCvDy4U68fKwTTz7WgJ11
hTh8TuNzFNvOusKwfBfejVNFYgYMkyMhlRHGp7i4r0rYsS0Jf9D93nV/NEYd5NILWCs5iF+/PYXx
wl7B19BM9Aj+/K6NhTDLhtBraRW857DHYWN2PfQzvciWFyBxQg3HpAJQCl/rfIOF/gZhEqQJMNss
XLEZQ+brQHuvtukdGMfVzmE01ObhVPNsXZogkyI3MxkjY7OJ2D87/5+u1wlUp61TVcNomhCMRVWa
Eu1DnRicHHI1qB+uvgc1uas/dP3GunN5CMd9DnZixbv9ork9wa416gEAZ7VN2KbeCJk0Ht2jWpQo
1NhV2iC4rb/Q6jbvldetXcP46e8uQ14r/CzRTmlwZ8V+j59dvjGMotIiyKXNPmUxVZbs810BXJ2/
WFq6RrBnkxrXppoEf99j7EXqVDkeXv0gmgbPwXI7UdX9HilTMnFacx5yqQy1OasFY91kM+GO4t2L
+lloefNXR0ik/o/8DWVS0Nt8K6X91dmZ8fm42DmMC+2DIa8YdtbvdXlrPCafBiaHIJEI777ZcasT
dfH3YiajFyO2PlR59XmdFru/SUSxy199l52iQMvgdZhtloA7Y3u81jzjdMHw1+62ZGrR0ZIQ9Os4
zbfjQ/tQp+DRya3S67jzjvvx9uHZXYwSZFLctVGN51r+IPg+HcNdsNgsGJgc8nhWhTMphbtXfDjO
7++B+wpnFxp6TbrdW/wgTJZbrr/fXp+Iy/bXYdbd7pehD1ell6DRHwJQt+jf+V0b1fi3K696/Gyb
eiO6b2ldO3JrjL7HvLnvzOVv51pnPzbYPmo4yjYtDn9t3p6JG8iVFwguiJqt36/BrLfgWPcZbE/9
mOBrBNpByL1uCxRrQ9MjaBm8jmPdZ7BBegjHTs8mMLrXXwD81m2BfidUBs/3XfYp2/srdvr9HBR+
wdYrH9lShJOXdK55OMCz/xLMM8/fM7YmdzVqclcHrLP8tTdMNpPHuPP1kZu40HMdT5/7ietn+olB
tBo68NimR/zuIjifNoNw2W3zKtMDI1NIkEl9EqyC2eErmPlRLhoWVqBMw0tHbwAAFOkJaGo3oKnd
gAd3Ld/vJFqMmyddzyb3XQwnuHNVWDC5KkTeGbJxcRJsqsqF3WFHz0wbspMzfXaSsDvsMI5bMWM2
eDyonKss/thxFM9f+DXKFEXYpt7k2nIRmJt4nzBPwZKpRYIsBwMjU9iWrIbGOPdwbtRdwpaC9ZBI
JOgz6kXduOdW0OFXqSz3e69DPW7y/Z5zaDPcQM2OPMjGi3Dq7Azsdgfksjhc1Df7vNaEeQo5qZmC
k/wZlhIAU64s8scfXIcnH2vA8SYtWrtGUH070z4udRQ/P//Oh84K9260uu/u4iwjJpsJhskRqDPy
8dGKu3y/A8anqDjr3ASZFJZ0jeA2zpZMLXpa8rFmlRpagSQ/dWox2nuG0dQ+iEmJAeMJXdBNaVCb
uwqZ6nj06IUb4T1GLextOzA5kw/dhBmbNjrwZs/r+EW7RjBO5xssdA7CvNlxDJqxPihTMpEgnT1i
CBDnToO0MPN1oP2ttpkxW5GUEI/Nm2SQZPahb0qD+MQCXNQpMTQ1gsrsclcbw71OG5ocRXZ8AcpS
q7FaWQYHHB6xGCeJQ31hHWyO2dXG7sdb3ZoxhqWtwLpzeQjHfQ52YsVf+2XaOg1ZnAz1hXWYME9h
aGoEuSnZyE3JFozli9cGPf47Lk6CzdW5uNDbjlc7r8Fg1qFMUQqloxyGW9NYJ8sXHniVFeDS9UFs
rla5flZTmom3zvZge/1BWDK1GDLrkC0vwOq0aoxJugU/P+v6xbGuPAuG0WkUZqkFE/6VKZkYtt5E
39BqWO02yKQyj7owPk7qSnZWJGa4kvi8DU/dWvCgIVEwhNoQcqkM46bJsEwKeptvpbS/OltmLARg
dh1vHMouKu/3nAMAn8kn58IYIUNmHSZa1bg1kYu/eGgDBtGBn1/4L582eXVplmB/c6ETv0KrlwPt
NkBE0Wu+xVBA4J2x58bTOl27bMtMNXi0bj8q1IqQr8df+3rIrMOmyoaQX2++HR9qclZBPzEonNCV
qkWFuhgV6hXYWVeICrUClQOBd+Z2//enes7hM5s+seCkFO+6ON1SGnDXZwrseNPswvDuiW7B+62b
7kGCLNM1FmdN1wqOxc1kaHDqcu6if+cVagUqdKXQjfe5xjac1+3envce6165ogS9Y7qA7QtnOQvU
RxVqC3xm0ycW9TOTr/l2lPHXFi5dUQQlynD11qV56/eZ5F5X7LsLtANqpbIc91fuQ8dIF+wOh99Y
M0yOQJGYgYHJIcxkaJAgy3G9j7P+ipdK/NbTgX7nXQYXMhcU7JwMdw0M3nxjX+7f5dYaFfKVKWjr
GkVedjK2rytwfa/B7Ng0X+JnwOPl/bQ33GMWAJSyApzWNMJss7iOv3TufPjHjqNwwLGg8eUCr3nu
uZ8XzV7f7RgdL7yBDcWe85VAcDsUB1MmuGhYWM+AEZuqcjFjtnqc5NUz4DuGQOLSPz7gsSOts83U
Nz4Q6UuLCUyumof7Q66hVoWWm8Mev2+ozcP5tgEo0hOQmtUDdYZKMMmkKrsCR3Tvevxb321CZ7dc
PLT6I7jQd8Vn4n3IrIMiXQ398BSSp4shl84dgWV32NHUf8W1C5aY8XzypRXsRKjPDhG3txzfXn8Q
J09PoyQvHVrjeaGXQlP/FXyi7M9wZeQKBk1aFKQWQJmShcuDp7Fhtwqy8SK0d4+iQzOK401aXNfc
Qn2tCnWVOZCkjIYtK9y70Wq2WZAsS3KVybPaJsilMuSkZOOeil2CZYXxKS7O1fSK9AQMWYS3cR4y
6yCLV6NQXomL0iaP+jcxPgG1uavw0vVXMGzvgzJZgYT4BOjG+2G2mZAsSxJMigWA/PQcdFlt0A9P
Yce2JDQ7XodZ7z9Og1nBVqkshwQSPHf+RdfqV0C8Ow3SwvjrQFcq1gDwv0uEYXQad96RhLNTr7iO
tdKO9+HKiAx1eWtcr+P+uvGSeGQmKxBnkWBkbAaAbyyuz6vBmx1HfVatbSlYH7bkJ9ady0M47nOw
q30DDfCsV9Xgnc7jHjF9ZbAd1TkVHqvO3u85h1b7DWzYPTcA01Cbh/i0W3hr8DW3XbH6IJc2YtPG
g0i2lEIuvexTfmXGQjR3efYDnDuknDw9jQRZDhTpagxMW/DAX1YgLjUbR7tPR8WusrHgro1qvHO2
B3FTxZB7tQWcA+dpSfF4uedFn7rwwKrdMEyOuPpcozNjWJtbJdg2qGKdRotMqA2Rk5KNvnHhhL9g
JgUDmW+nJ+86WykrgGSsAIAEG3brMWTtR0l8HmAP/rjM9qFOwYnOQMceZ8sLoDGasGWzHL+++e8B
+47VpVlhmeTxt3rZ324DnFgiim4+9V1KFuLj4l3tAyehnbF9d1yd22X7qz/tDaqOcJ/grslZhTJF
kXDykrwAdRU5QX+u1q5hXLw2iKudw35+P1sX31m8BT9t/D+Cf9M31YsfffHPPH4WTDKa67PdflYF
Whjqj/BxRWdcY5VCn4UCa+kauT3G5htfAKCb6kVuZiF6B8YD/t2QWQeroWpB1xBqQsfusnqc1jai
Lm+N4I48zuOr3HcLn+7PhVwqC9i+cPZj/fVRgcA7h7pj0sniCWZHGX91UpajDGcaTXho26fQb7+O
m6Ndfut399h3CmYH1Nrc1fhjxxGsSMiAMkV4jNk98dR9js+ptWsEWRmJgq8/3++8LXQuaL45Ge4a
GJpAY1/u32VcnARFpRZct1/EWEE/8pVliEtNBjD7nc6307D7+/m7b6EeKQh4xqxcKkO6pQQ3LacA
+M5ra439uNDXvKD5vCSveW7n+yVNFc07XxnsDsXBlAkuGhaWliTH0Qtaj9M3EmRS7NrInaHFzt98
0EcrdkX4ymIDk6sC8G4w6IdmzxTt0c9thTxjtsJksWHUaEJJfB4adRc9dsdRpmSiKLUEbYbrHhP4
/rYJBQCz1QyZJN5j4h2YG1AEAEwpBB/OYk+sAng++VILdiI00JbjCbIcdPcbsXFtnmAHQZWqQue1
OLRfz8OhvbV4Q/9fmOif7SBooINc2oyD9Z/A//zZGdcWpzc0t/DGqS7ccWBUcHvChWSF+2u07q/Y
GXRZYXyKi3M1vbOOFdxN5HbdeL0tFR9d9Sfot3Wgb0qD/GQ11uVV4j+u/KdbI6LPNfDS1H8F+Wm5
SPBzvJoqKR9nR6YD7prlHafBDBauVpbh0U2f5DbiMaxSWY7HNzyK4zcbYbi9k43MWIhnftGDzEfz
/O4SUbMyE6bUyzCPC2/H3Ga4gbq8NTDZTMhJyUbL4HXXNvgAIJdexF2GQlccOmPq6VM/97vFc03O
qrB8Ztady0O47nMwdaW/9kteWg4MU8MBV5R5D8Bobw/A3LntEGZG7bCl9grW6dZMLc6+n4eP3PUw
dNYO105USZNFuNYObKr0HDAMvENKFo+MWEIVagVeOtKBpotTOPjgHugmNa6+WII0AZf0LajLW+sT
u4rEDOgnDLisb3XtHGy2WVCyQo3mgTbWabTkKpXluLfgk+iYaPWog6aTe6AVaAf/P/bePLyt87wT
/QEgAGLhgo0kCICLuIiLxE0URe2SHdmOLTu2k7hOctvkxlOnvmmTuZk8ee48TXqnaWbapzN3nmmb
jOvEaabtJE5SN3Ztx5bt2FopURRJiRQ3kQRJ7MROgliI/f4BnUMA5xwApCRTy/n9RWI55+Cc93u/
93u/3/t7820K5vM5hSg9pfvsn7w5Dm9yGePJtxHxpsaH5aaP7dQrcSBPqyzims8sXaJsdEbizG2P
CaWsZLkVslBZRlvPO1VRzLQ+ZlIbYDeVWLC495Hu7/72/P/GBfMA5TM6aS3ltVz5NKAir4+44dTj
x8O/INd2xlULDuh6af3h0R19Ga2tc4HIawPArgZFBmGAAKH40KCoQ5O8LicBJeM1mnmnrLgUr0+9
W9D3C0W+XGU6ObgQ9QoWqTzbR1dMjDm2VmUDDjzXiTMjZsyZVqCT1tCqxCsFGlSoJJs+/1ZaL7Wo
GvG9o9/Eu2mbhATS21elq4WfGwylFIZLzVCIimnHU3psT7dGfXX4tYKUTKaXUi3m7Z5U9waWdHJ7
UYiiTLZP2lFej6CtAj//jQOJRBKzxhWUiGX4/tcex2nbu/hw4QLlPA3yWhy7afubUUBtUTXiO4de
woDhChLJJK2tpRNPM/b4bqKtXo4iHgcjM9Tj53uPcj23uBfEFFcXoqDEIhNMua/0e3mwvzhV0O3Z
IGin+8R8SsO5cCstBTUSHRwiL5nTPnchhP5Ha+AIOvO2Wt0MOEEZOjiZavB8nxZFYTmjjUJpwVOH
92QofOVCi7IBy35Hxt4j8Xr6Z9iiYSp8wQjtuPcFI9t0RSwKhSvood13dwXZYoTbAZZclQPZAUM4
GkexoIjs7SorFcLpDZHv8ddqUMQdJ9VxZMVlmHMvQhHshDVxFbriDVWr7ErNdCnF644bqJKqUFmi
wpDlGhLJBJlQDEdTG/1HurVoUSnuyQ0atj/5J4tCN0JzSY7LSnXw+sLoUXfg6vJ1yrHUvAZcMq+i
XFqMxfAk/JFgxjEi8SjsyTlEoplBn0TEx+LKIq084ax7YUu/lyloLdS+WPu8u5BeTc9fq4GAN06x
P2KzhV9UhF++aUWJuAJ16kZMuPzgH59lTLwAgLCI2HDdnUGKrSvXwbYgQjgaQJVCzKialVHhsInK
u61UbLK4tzB+LY7RKyklG5MvjHA0FS+cGTEzqkSc2FeLVybfoT2eM+BBmbAEQ5ZrOKjrxUpoFUBu
GXwCdAly4pjPtZ+8HT+X9Z0PCD7J58wUvyhFclx30GQVseGTGTdhZGYkPW1wMykhRi0QCXVYNhZj
cr4KJeIaFLckEZIsQdxhQ1RejxmnOOP35lJIYX39JwuTw49QOIblJRHmuIuQ8MVksUq9TAfjaqoF
SraEfTKZxKGavTizNEiuuzqqWtBR1cL6NBbbgl1VTXjzHzyQiIgYIoBjh2poVfXybQoWgs0oPR3q
0uCNuWFaguply2hB5CrCv9MRqa4tT+LrfV/GlGMW0y495LxqFPm0uDQUxsNHJQgIQuBHMtt6JpKJ
O1JRzLg+jlrQXNOMWeMKGcuxaiksWNx/2FPdhSH7EMXv9ml6KJ/Nl0/L5SNmnPN4b+4MgMy13aB5
FJ9vexwr674txyLpee30fDaBbMWH4zsOYMA0XDC5PHvemXHO482Z9xFJa9l3q+T0XL44XfmlUPUK
Fht5NqYcW8rOFCSJb8apwYiDqipS7NfhYJdm0+ffauulnaoG/GTkNdr3nAEPKiRK0tYmFz1IJJKk
wrCirBjdLU8iLjPDGbUUPJ4KUjtxzuM9wwAEu4zoLtpQTGZJJ7cPhSrKZBcEnLmwmPH+WjCK08Mm
yBrLaQlQFWI5WusUBRNYmc59uK4PA4YrmHbpoRCXZ3SmIcZOOLqxd5Luv94fNDL66VzvpeNW94KI
17Pz3JCoweVyyHZsBNg4ePMg1KgKKejOpzScC0yEuIExS86Wgi2y3Xj5n0wQCfvJnLaQz8M+7R6Y
g4a8rVY3gyPdWvzZKyYAGzl0IIK//LoOr0y+RfsdZ9SC7zz9fxZ8jvaKZjgDbjjT9h6vLU9mjAm2
aJgeZod/U6+zuHtgXrXR7rubV+n3iVhsDiy5KgfoJBcvTdjwyL5acDnAnGkFlXIxWfkzMLiOIwee
RFRmhjNigVZSA1GwBtxwGZoq63HOeAnH6/ZjNbwGd9ALlURBbnjSSSkKeHw8XH8QsXgSimQDBi6u
4/EDlfeFrCy72fTJodCNUEaFiGItZG2VJBPcH4jihm8a1jUbqkvUUPMa8PqbATzSV4MT+2rw8vXz
tNdhXDNAUV4NqzNAvub1hXG0YjdOLXxEsf1nWh69jXdhc2Dt8+5BejX9zJIXTx34ItwcPfQri9CI
Uz4WQRmO9wIfXE7J868Fo7iud6NKIYZhjSrZD2z0DR+yXMPn256AI+iGw+9Ci7IBFWI5Wiqa0Fki
gyieqtTTSmpgoanUI6oXtlJ5p3cv4ZxhCJOO2YJk0FncW5hc9CAcjWfIfAOppMNLn+2kVYlo0snQ
Yqf3xRqJFgKuEN1qHj5evEjxmdky+OloVTXC5KPab5OiHg2Kutvzg8H6zgcFn9RzJuKX04uXMO9e
QqVUiQZZDXZVtmA9tk5LGtwhr8XrE+9iyjlHe0xH2Iw2ZS84DFXa9aU7IGiphGslhEf314IrWcH7
zl9tqLOsWXHRPLQlqXMWdx67dihgXF7D8EgURw49AR9/CUUcCzQSHZrEHbgRvgyzz8a47nqo/gAC
0RD6td0ZFdAsWHzSaKtX4Ltf3UfGCR2NChzbo8PJ4h24YBjaVsJfa50CP5mmbw9E1yqLDoR/v2gY
xtHafvijQVh8y2hN+037a/YASClBnBkx49HjXlzw/4ZU98yOf+5ERTHT+lhTWgXHjvPoblSRG6is
WgoLFvcfDjbsAvAihiyjMPkNqC2pxd7qHloSKZO/INRJHt5L38aPoraa5dsGzVfxXx/7Lu33Cins
mjWtkH9fmrBh/y411iMxOL0h7GpQ0CoV3kohxZ0oxGC6t83yHShqq8T4vLtgdRkWKRB5tnNXzTgk
eRYhsRGWoDFjHk4HuS7TX8a8dxGVAg3qxK3YVdW0pXt+K62Xcs3NO8p15P/pSi/haBxWVwDWC8BT
h/dsakOeOF+26gNTLtCS1bKKJZ3cHmxFUWZsnr4VqsMTgtuzhD5NFwLRYIba8ZDlGj6764mMz2+2
hSWQmTO54dTjgmEIulI16RMTfhnECXp1rFyKsvnUZtPPfyt7QS3KBoaWrHzalqxsHLx5ED4q1XqV
vvhP70mtrdrqFfiLP9q/aUU1gLq/zeVycLC/GJ6SYXyYUlgAAAAgAElEQVT71FsZNp1tH7KvqGnt
TVkqwrtzpwtWusyHbCXlh/dW5M2Rb+Y8M855/GjoHymx1tf7vkzpRsIWDVOhVkhgXE61ApSVCuH1
hRGOxlGt3LxyJYtPFmxbwDsLllyVA3SSi4lEElwO8NJnOwGkpBWvTNkRjSdSi1RvAglPK7rUfeit
qUqr8hDjonkI4XgEHHAQjIZQxC2CgMcHAEYpRS6Hg5f6vwgAeG5/5vUVGtxtJQhkcX+hkI1QJnb2
Ux2HM77bUNKKf33Tj2plK0ZtPqwF10i2fDSWgEZcQ7uJr5TIoGkBrM7M190hL63tO+6APCE7Fu5N
UKvp+ymfeflfx5BIJDMCPa8vjFYJvXw50Te8iMtDe2UzPqtqxLzZi+EpO84O2GHTBXC0R4aXPtuJ
OZMXYxYhRmn6fxPVC6fTyC4EmCrvZpzzOL1wEXOeJSjFclSXVOJ3CxfykrFY3FvIJ9vMpBLB5IvV
nJ3YUV2OSzZ6WyNk8FV8DX7y5niGNDLTMY/XbwQWrH9kcTeCKX5JIklbVR+ORfDmzClKqykC7RWN
OKCsxrtXazOqtLkcLvq1PUgiihvF/4aKWg24RTvhwBzteHtr/DzOrwULliAnwI6zO4ujPVr4gxEE
1mOYngihpnI39qkPoBg8/Pq383jiaS1mBPOM666V9VXMuPS4apsAAEw6Zjf9rNhnzOJ2gYgTCJt6
ZXIj+f1C7xcApHIRL58bw+SiB+2f4MayVlwDM816j65VFhMKJeoS6gGvDr+GyCp9/CMViMmYfEA/
gcvmEZgDRmglNdin3XOTILF5MMVPXA6wtGoEYCRbzh7tYtVSWLC4H3GwYRfkPDVGZxwYHnFA4Iij
nOum+Fomf0GobDOpSzAp+GS3OEtHvsKu9FhE162DWqfGwOA6EokkBsatEPJ5eOZYA770WCvtNRXi
n3PFO9nfv9W5inEt27APLf1sjLVVbEa1EijMLqYW3Tg7asbkoge7dsixu5OHae91ip3cSuslJnvg
cXh4beItCHh8fPfoNxiVXg52bk5p61DtXvgjQQSjIVL1QcwXkXFHvraV7Tvk5H2ZNa2gt6UCPS0V
W1JGepCxFUWZ7JwcQSrhq2ZgDrihEMsh5osQT8RJteNHG45kHCOXvwWQd92XevZ+zJqq0dvShR5l
BVpUCkAFxvGXa2zmei99/BG+llgzMIHpvh6q7cN5wxCtbSeVFpSIK7EWTL3HqgZuDYSP8vrClBat
hNI2APyH9/4CKoEGO8RtONrTRO5JE8iXf8geB2QLQlf+4nAme9upakASSYxY6ZUPt4LN5sg3cx4m
Pz3lmCULeggQc92cyYszIyb88IwJ7fWBB5rA3VxTBiGfi8D6BjlfUlyEWnXJdl8aizxwBen33V1B
7zZd0f0FllyVA4VILhLM2ut6J8xrJsQlBnhiNnCL1HBcrUUy2YO2ekVGb3BhkQB8Hh+jtuvoUe+G
iC/EnHuJ9hoYqzkKVEnZipoKiwcThbKz2+oV+M7v78XZUTPWglEc7tKQY+J7f38J+/dVM/YWh9yE
YmEF1sMxAEgpv/lMtNdDsPNvF9ixcH/jaI8WQa4D61Ij3FEr6vjVKPanNlRGnVRSlFIkx/G6/aSN
Z/cgnzet4KMrJnzz+W68/K9jUJSKcHDXM/AWLcIZtaBZviOVzFM1Qu9eKtiH56tM3UpvchZ3J7Yi
2zzjnMeAYRgP1R9EPJmE3r2IEm4l+D4tlj1BDPs/YvwuIYOPFQ3ev2LEtVkX/vi5TrTWKfL6d9Y/
srjXQGfT5aJy/MvkO0gkE7StptJbXCSTPdAtl2ApOA17xIy9mg68M5umorlmhaPUDIBDe37buhlz
U1q8P2jE97+2v6AkCzvOPhlcnkwVvRzsL0a0ZAyXYzbohDU4eaIJNaWlOFwTYmwruex3QcIXo15W
k1HZWOizYp8xi9uNXDaV8MsyYleDzYePrpgK9km3Aqb4mq5V1q2A2CxwBjxwBenVB1wBL/70yJ+g
QVGHAf0EXr764wxfPuocAfDilghW2XNNdWkVkskk2dYFSCUnxVrHA5tsZ8HifgdTniDb17aoGvHn
x7+F84YhTDhmM1S2v/815g05ppxvdouzdORqqQagIKWR7p30SlpA/o3azcQ72fdvK3MVqyRxbyD7
WdfUR/Hy1Xdo7eRWNsvT7WHKOQ+lRAYhT4hB8yiAjbHwQu8XClb5yYdh6xglh/dY01EAuVuCVsrr
0L5Dif/0k0H07uFD2WbEcOwczHodgpwD2FPbvOlreVCxFT+QnZMjSSW21LM03XyWPerdsPkdtDbI
5G8n7Tfwxsz7Of0g3fzxxhk9/uKP9t92ct1WfS3Tfc3VgtMeMeHhk2WIeuVAUIYj3Q8u6eRWkK7W
xElIM4r/spW2TbBigncNpuUnAfSQ97uQ+Th9HJSI+UiWW0hiFYFcbVmZYoJPam6+HefZrFri7Yhd
7ifISkT49e/myfthtKeENrqamWNJFncHjCv0iuNMr7PYHFhyVQ5kSxIyBeJt9QpMLM/h6srbG21D
bsrAqgwiDIyV3qxsb8C5pctw3lTk6ahshVQgRjC6jpoyDW2FPZ0CBcAc3L03dwYccLBT1ZDzc+wG
Pgs6ZMvWnjcM4dWRX1ISKnRs8pf/dQzhaByzMxwc/lQ/PCEPRVq3uqQSX/lcF059vIK2ejmO92rx
nmWBVulKU1p1W3/b7RwLrCrB3Qeu1Iur8bfJHuVmWCHgjeGJ0m9kBOE7yuuhQgOmxpJQKyVIKGSA
ir4HeTSegHFtCXtOLMMSMMMnVaFWooPK2QyOvZSskjxnGIJSLC9IDjdfZepWepOzuDtRaAxBYMY5
j/9y7ofoqmone2FXSVXQ8uvxxukguo4vw7HqYlTk0ZRWQerfCR8njO6HluGK2fC+2YTrtp24cHEd
rXUyHNvzCF7opZ6fjRVY3ItoUTWCAw6kQimu2SYhE62gT9OFIcs1DFmuoU/ThXA8DGfAg3ZVU0YC
hohjbjhVuGC8AvPaMmUMOAIudFXtolVnIVq8hKNxnB01F5RgYcfZnceHQ0aEo3EcPiBKJc7T2jkK
eCN4Sf0iDtTswVp4jX7dJZFjzr3IqGyV71mxz5jF7UYum0qY2ymx62Z80q0gu1WWTlqLPk3PlghM
6euqBlkNVBIFhizXUF+uQzgexaB5FEVcHtpUzTDRjNs2VSPZ4viyZYT2fg1ZRvNeG121P1EkR4zf
//jBX0HvpRYALawsbvp3s2DB4t4AXZ4g29dm54f+3Z7nC2+jx6DgoyurxuNNx7FT1ZDhn/bvqsJ0
kj5noPcYkARo/SBfvYwmXS2adOV516T5Nmo3E+8Ucv/SUYgvzpWrZHHrYHoG+ZD+rIV8HqKlJjI/
RyCd+HSr7SdbVI34y7M/wqTjBsUeJx3z+PmpaXTvrKCovDCBKc+bz96ZxnBNSS0+/XudOD1sRu8e
PsaT7yC2EkefpgvrMT9+PvVLDC3X4fiOA6z9Fohs9bQZ5zxeHX6NMTefnpObM62Ar1oiiVUEIvEo
YokYHm86jn5dD7XzAE2OVsDjQ+815vWD2f6Py+Wgt7USb51bwI9eH7+tqrOb9bXpyM6rJAFwwGG0
bZVEjtOmMwBwc24oXEnrQSSm5EL6/toxpxYDhivQewzgcDi09rVeZsLAWCX5nULm43RhEL7Ujwve
YdprobP1fDFBoUrEhSCXvRDn0buXcG4L8/9m1RJvZTzdj7h6w0F7P67ecODEvsKVq1l88qgurWDY
d6/chqu5/8CSq/KgELlNz+o6imqnaSczW3wOxtkavD9oxLf+sA5nDYOUaofe6k7IhUraCnusaPDW
xUVKZTzTBrxp1YpXhn+OF3u/mJKDvoU+5iweXDAFTy91v4jxa3Ey0Dm2R0tWW0wupKqJ3avrcK2E
ML06C1lxGSmtC6QCcCfm8Hfffo4813mHmNb2pXzx7f1Nt2kssKoEdyc+1l+m9cGn9ZfxUv+X0HKz
7d+fvXIJa0E7+Zn3B434yslW0n7TcbC/GO/Zf5Xhs6/zptFb3Yni5EYAPumYRXVJJaNKSjpyVabK
isu21Jucxd2LzUjtXzBcQVdVe0Z1ktlnwzhvGo8eew6T0VFE4lFGRZ5KkRp2RwRjCSqhoKPuJN69
uMRYacPGCizuRWTPx/AiQwlw0Dyaam+88wSe2/0k7TGu22cw6ZilfS8Sj6JEIKUdb3yfFuFoqvp/
arGwNsbsOLuzmDN5MWvw5tzMObswhGM7+pAAGFVWJXwxnAH6Z5rvWbHPmMXtRi6bkjjrMl4jWmPP
mVY+gStLEay22m4PSOVSJpbn8JblFxSFlR71bpxeupTh03MpEgLAknUVZr+R9lwmf25F5EKrkxvk
tbTkKjZ+Z8Hi/oXdE4SQz6NsKk0suDFn8iJe7L6l/BCTgs+nm46RxKp0/7TsCqD7YTVMoG4Sdqnb
MWQZoz2PNWjEf//3f5D3egrZqN1MvDPJECfTxc+F+GI2H3dnQfcMzl+z4M9f3I8mnSznd9OftaxU
CFeUupkHbNjJZtsMZueggVSOObIcpXxPwdfgjY/0eOOMviClESa7+vPj38pr74xjuPUAWlQKvPLG
BJTtqbVJv7aHku8ZMA2z9rsFFOoL0nNy3z51nvZYzoAb3zn8Eu17dKQMWXEZ7H4n/XWl2Uu2/9u/
S43hafsdUcNh8rUTC278p59cgkYlwbE9OtpxnH0v9V4Dzixdwtf7vkxr20KekHyNqYiIVf7ZPNJ9
4rdP/YD2M66IBTHnRkvfzczH5jUTJtdOoVFeX1BxOPDJFY8x2cvnHm7EhTEb2uvl6OjiZSgUb2b+
36xa4mZilwcBBvvapl5ncfeglCGnXSKQbuNV3T9gyVVbBOH0AWBXgwLusJn2c/awGUCKwclUSRmK
heB2StHBOYmY3AxX1AIFXwO+T4uBwXUAVHZsLvb4pGM2bwUFmwBkkQtMwdPZhSGMXqlANJ6AViXF
rz6chWslhJ4WFbQVJTAsryEcjaMsWg9gDPaAi/w+EYBnb2JyOVz0qHeT6hKE0hWPw72tv+l2jYXT
ixdZVYJtQi7FML13gfY7894F/Or627hiGUO1SIeuLjUGBmNIJJIAUr51bNYFlUwEw/JGUCjk8xAr
NdNuzoZiIfCkG7bUomzA7xYuZKikqCRyNMvrKTaRy3fPuRe33Jucxb2HdHveq+mE3rOE0uISWv+y
wl+AklMNC6wURZ7q0koIuQI4TWKsS5dobTYqN0PIr2CstGFjBRb3Gm449Xhv7kxOJUDivY6qVPIp
ew55qP4AFrxGOALMinBuXxiPKJ+DOToLZ8QCjUQHjleDc2ltVdrq5QVdMzvO7izOjJigkokQSyTg
jtFv5qzE7LhiHcWgbZQyZ2tL1fhQfx6JZALtDPaQ71mxz5jF7UYum0qsSzAyk6qCT7XBNMIVs0Er
qcGMU3NXr0umFt3463++gpaD1rx+nPibiH9iiRicATdF5eLjESPUUi3MazSVmeIazBjcaKml38zJ
rk4miGoDY5aMmOlW2hixYMHi3gIRN65p59FdqwZ/rQYDg+tkHkFVLsJ//tll9D3i3lJ+iDj+rHsB
T7c8CmfQgwWPgeLbsv1TOBoH36eDgDdG8UW8YCWU/GoYaYhXhcYihWzUbibeaa+Xw2DzUV6ni58L
UYpgVULvLNKfQXp88fcTP0SrvTGnSkh7vRzLrgBkpUIEQlHUFalhAXVOLtQWpxbd+ME/XIZExMeq
P4Ka+ih+MzcM77QNLapUPpBpXk4vhClEaYTJrs4bhvLae76WVZ2NCoxFz0HA429ZHZcFFVvxBVtZ
q9HZWCAaRJuqk1ZRNf1Y6f5PyOdhPRLLUHeTlQrh9YULstF8HTSYfK2qXASpSACLM4D/8dpVNNeU
48S+2ozzMe1zTDvmSNuedM5ldCYhr4thzmCVfwoDY8s9BltVCjSoUEnI/wu16YExC9alRvg9wbwF
KxnXt8XisfTf1V7RjCO1faTSMB2Y7GVmyYtlVwDLrgC8pY4t+0/eugJPa7+IhcA07BELGmX1ON6w
L+d8Vmjs8iBAWyGFcZlKpNJWsASdux1rkQDtvrs/EtzuS7svwJKraFBIy69zV83o2ytAtNSEtcR1
aCSVtIm82jIdznuCkJUKYWKopHQHVxCe42LJ5kdNZS2qFG2wugOwe0Lkwh3IZMfurtyZkz2er4KC
TQCyyAVGdZ2IBbJSHRo05RnVFuFoHL0tFaipLIHdE8S5CyGc/OzDsARMlNaA+6r2YXrJTVYb7ZDX
4KejvwQAUukKAJ7aeQLfPvWDgoKwQnA7xoLevYQ59xLte6wqwe0Bk/+9ZBzBj4b+kbFCQSXQwEST
uFFKZHj7xoeIxKNkNfxjDz2DietJ2D1BhKNxWF0B7KyVZVSkpirt6PsPOwMeQMwh/ydsi1BJkRWX
Yc69iGdaH6N8l8kOm+X1eKb1MTahco8iV9xA9x6AjMqwZb8Dx+r3Y8oxR3t8S8iAZs4hMolO2FqF
RInG8hqoinX45YATRW30hALXTd+97A7SVtqwsQKLewkzznn8ePgXjO+7Al7sUu2ESiInE9t0la1z
nkXE4rGcinDCNS2sPiFGpysgK9XBXMxHYD1KxuciYRE6unj42eivsbzmRFWJCvtp2gkA7Di70xib
d6NeXYqOnhhu+GW07RybFY2Ycs0gkUxkzNmTjlk4Ax7sVDaAy+GgtkyLSefspp8V+4xZ3Aro1Bly
2VRCIcP7g0b07RVQ2mCOOkfuahWEieU57D2+Cr2fvkCNUHS1B1wZfw+aR/F403FadYHRGy7s29sM
Ae8q5X5p+M347suXGKvlZ2+qfWUT1TxCDWacYvI+5ttAZcGCxf2B7LjRznOiQmLF0YMHcPp8AEI+
D8WCIvCLeIxFXrnyQ9nHX1oxQyoQ45GGowjF1jM+S6eeMDC4jk8//Cz4ShtmXHrsKK9H0FaBf3p9
GQf7tRDwrlH8YCKZxKvDrzGSY6YW3RgYs0BZkp+ctZl452iPFh9dMVEIrEd7tJTPFqIUwaqE3lmk
P4OD/cUZ8YXJZ82pEtLRxYOn1A5X1Iq6IjXqSnZg2je+5bh4fN6J5hoZnN4QHj9Rit+5/4UsJDP6
LKSyDkn+cMxTCtWBwpRGmOxn0jGLF/Y8n9femVS4phbd8PrCUKqqESuObFkdlwUVm/EFRE4umUzS
K3hE6/HH/+00bes6ptgPAAZMwzntIt3/yUqFcHpDlFizrkgNTiI3QSF9zhDw+AjHwrhoGsZ3Dr1E
2h2Tr62vLsPb51PzlKxUiPPXrDh/zUrGxLn2OaZd8/hqb6rN7a+uv03m1tPBRExjlX/yI9dzZZpn
i/06HOzSkK8VOh9bnAGsClL5keyC3SqpCk+1nKD1YVshJBK/K5ZItUG1rTnwo6F/QpOcuQ0qk72s
rIXRXFOOVX8EToY9mimnHnMmL6Mq28f6Qcx5FqEsUkMUrIN/RofzgQiOflUGqOh/w2ZilwcBpWIB
hHweAJCkUOJ1Fnc3SgQSnDVcBpC57360tn87L+u+AUuuykLBEsOSFYyvvYOIJzUBNinrIRWIM1h/
Ah4f8uKUY/f6wmiR1NASsFqVDTjwuQ6cHU0lF71rYQAc7GpQoFhQhEsTNiQSSbTvkJMB4Q3XPD7d
dBx2vxNm3zKFPV5oBQULFnTIxZC3h6JYj8QAAFUKMVb8ETTryuH2pRavPS0qlEmE4AUDmHOfg4Qv
JlsDCnh8RJ1V+N67qeQ2V+rFz67+OoNB217RjLpyHd6c+QC91R0FBWEF/abbMBbOGYagFMu3pGbA
Ij+Y/O+f7PsKZbEAZFYo1Ba3YoImiZguV0x8JyAyQFy8Aw/36RAMxRAIRXBhzIpP9eng80dgWF5D
tVKCYomO1merJHKopRsR+GZsa6t2WAjpl8X2IFfcAID2vadbHqXYs7hIBFWafyE2/b3rq9CIdQha
StEpOgmO0gpbyIw2VabtyD/nxgcWAyw0NqsUaGC6ufihq7RhYwUW9xIuGK7kVJtSSeR4rv0kwmtS
nD5nxiums6jpWaKMOYtvGXurUxWn2QkmbakaymgrbEYhGYcvu4M42q1BmVSA8Xk32m5Kk1+xX0Yw
GoIr6EESSZyaOwsAVOXCtHE27dJDI65BcbAGZ84HkOh2sxWct4hDnWpEBW7cCIxBSEOWkwrEqJQo
sba+sR6LxKOkyqpKIofT74Ej6MLY8jQ+0/IIVtZ9tCoSTGB9KYutIr0VApfLIRWCPavreOrgF+Hm
6LGwsphpUyrgL/5oP04Z30HEdu+oIMw45/GWJUWQzeXHicRf+t8CHh/9uh7a47bXy/Gbd4149vHf
gz05B2vQhGqxDjvErfj1W25KtXx6bK3r1kGtU4PD4WAs8XYGUe362Wv47tFvIOGXkeS3zsZ2vLjn
sbwtkliwYHFvglBE4XK46NN0YT0WTsV5ygV8/sk22IxCXLxuA5/HRSNDkVeu/BCd4oo/EsTiihGT
jll8tHCBzEHTqSckEkkkAzK88NgxAMBP3hzHmQuLAFLEq4P9JxGVm+GJWaCUyCDkCfHR4gASyQRt
fjt9Djp8gJ6c1SLbvfHbNhHTttUr8P2v7cfZUTOmFj1ooyEvEChEKYJVCb2zIJ5BrjbbdPHFjHM+
o12TBVbcWJvAV7u+hMWVBdq4OJtUnm4XU4tuvP7RPMLROIR8HiwxO20+8MzSJTzb+mm80PsF/PzU
NN74SE8qVhEoRGkkl13dSnx/dtSMM1ct+NzJFuj9U2gqoW/HVS3R4G/P/28Y/EtoVbH5vkLA2BWA
r8FP3hzHwU4N2uoVGfk6wqeH42G4gytouElM/flvHEgkkoyt65jIc/nsIt3/zZlWUCkXo7YhllkU
ASsEvHEcc2oZn/kl0ygUIhka5LXwR4JwBT1oLKnHpP0G+Z1sX1spF0PI58K4vIre1kqsR2JwekPk
XuO5q6mYuNB9js6qVrx948OM93ORJVnln/y4YLiCWCKOfm0PGWcQz7VN2o+nNF/EUnAay2EzdNJa
aPnNaK9qKoj8l21LGpUE/JtqgtmFZhUSBaPtHardi4umYUj4YnjXV8m9vVwkWSLG2Uwb1Gx74XI5
2L9LjUQyAYsjgGqlBEKxjjbfLS+qxv/740v47lf3Zdyb7Fw9MdY6mk7i/MVoThW1zcQuDwIC4Qi+
8MhOzJq8MNv92NNagWadDHqrd7svjUUerEWClH13Vrnq9oElV2WhUFnRsMSA2OrGBDjpmEV7RTOq
pBW4apuAQpxawI45ruNTfU/h42ETGqVtuMoboWUTt6gUSCaR0V/WaF+DkM8jezLv7uRlMJrXTaNo
r2gGAJK8kn5MAoX0MWfBIh25pJVLxFxUatfBr12GK2bDTrEOHK8Aly+mlNYIuz3QoUaL8FFEhWYU
cSxQCTRokrbj3EAQQASDE1ZI6pZo1QMAoE/ThWHrWEFBWKG41bEw6ZhFdUllwfKpLDYHJv876ZjL
W+EliinxiPI5ODAPa9AEnbQWElERPl4cyPg8l8NFiViAWNs8ZiOpyszdZbsxciOOErEAN4wriMTi
uDrrRF9ZNe3mbJWkAvt1ezKOuxnb2qwdFkz6ZbEtyBU3cLk8cs4miFKReBQLXmOGbcmKyzBqu44e
9W5Mu+bRVdVOLq7bVc1oljVg2pjAxUvrqFfX4d8//wzqqssyzsmReJHkxGn9U41gJwajLpSI+fhU
Xw3t72BjBRb3CmZc+pxqUwKeAO/PXcD538qwFoyiSiGGMUs9lhiTJUIJeYx0Rbi6ok68fsqFteDG
sYV8HipkYvzBE23ka69P/JYSqwh4fOhKqxgJtsmADKMfj2HAE0Q4ugpgFb8boiZxC7oXLPEWQGoD
5q1zCzj0aADONQ+sa3Yyce5bX0OfthtmnxWnjefRr90DgYNGpYwnhHltg9xqW3NgwjGDPz3yJ5tS
T2V9KYutIL0VwuFODRatq6TC6uLrPijKFPhP/+4kZe5vrVPgpzMm2mPeLhWE2+1n0uMmRtXAm8UR
Ah4f2lJ13qpqYKPC+PV33Dje04GOkl5MjnsQLeOgq0mFSxM2slqeLrYW8Ph4pO5hROapMd1p/WVy
TgEAg82H9weNW/LbLFiwuPtB+M8+TRdlY1DAm0CH5CQSiSTCiTgaJG247qWSkXLlhxiV4tOU+ogc
dCHqCWPzbvLvRCKJ8xdDKBFX4dinS3HOeo5SbJad306fgwYG1/G5k78HU+QGnBELlIKUEtDf/NQA
2R+qSbLCx/pBGFdNqJc2I+yS49SAD4nEKs5dteDPX9yfQT5tq1cU5CsL+a2sSuidBfEMUkru9KrY
dPZ7yTSake8AgPVYGIsrC3ih9wuUz6cT+gBQSC3pNpnrWpwBD8aWp7BT1YDunRV440zmtRWqNJLP
rog1XLHLgeELDkQMASR68hfHTC56kEgk8Zt3Pfj8008gKfbRquNyeAlcMKVylyYfm+8rBMfr9+Oi
aZgicoAVDd66uIj3B434iz/ajwHXRtyZvv/w1M4T8C/V4d0LmeqDm2ldV8i6L93/TS+58cbcvxVM
WgRSMasz4AaPy0MgkmrpZl2zw+yzYco5i/bKnWhRNZJkxVnTCvp3VUHA5+J3QyZ0NCpxesRM2Ws8
3qsDUPg+x2ZJhqzyT37MuPS0ccaUcxYOiRjv/s4HIV+FSnktDEVcPPZsE9kFJh3pdji95Mbpc2b8
cDFTie1gpwbvXauFgLehJhiJR+FdX2UsXCGwt7oT854ldFS2okFWQ9pcrt/F1AYVAMaXpynfz7YX
Yi883W6PyTS0dsr3abEWDFHGLVOuPio3Q8ivyKuiVmjs8iCgSSvDz0/dyHgeI9MOfOmxndt8ZSzy
oVlRj19OvAUBj4/aMg3m3IuIxKN4ftdT231p9wVYclUW6BYJXA6XlFAmAgiRsAj7NF0YoSy0+Tix
4zA+XDiPSDyKTvlenLtqxhMH63HmrBPf/X3mQINkZesAACAASURBVISpvyyXA/zgpf244PyAwmj2
hFZxuLYPeo8B4XgEpUIpTjQcZgNwFrcEuqC5RbYbf/NTA/btFWAg8MYG83vNmgq6+0/i/MUQ2Tc8
tB7D1fEIgAooymogagdMghnw24w4WKqFUJLEFcs1tKmaUVyUUl0j1ANWQj7wRNy7rhd9i7IBv1u4
gAO6PeDzirDkNaNcVIpmeT075m4DmJKMN1x6VEqUjJU082YvFlcNCBYvYTXhREPpThSH1FjjLCKR
TGR8vk/ThfPGwYzKhenVMRw7/BR6WirgC0Tw7sUlAKnE4qH9J8GtMGM5aEWXuh2ugAeTzhuIJ+Nw
+UK4PhbHxAK10u52gm5BANAvSFh88sglR64QyTPmbMLf2dbsZOIcALzrq2hTNeOtGx/iMy2P4EP9
ObIyyOyzYdI5i+6SJ7F/lxri4iLK5ioAnNZfxqB5NEN9RyWRQyPRwTYlwJc/XwkH5vHK5I/QYn9w
SRgsMnEvknOIKtVstanq0koUcYowaB6FpkQNiagCa8EovL4w6m5W6WUrEKyu+/H1vi9jcGkSJr8B
Sr4GRT4t/vmMHfvaqpBEEma7HyqZCFKRAGaHP+NaFrxG2lhF7zVi3uzFh5eNlGrsMyNmGO1rGd/Z
TBKXAEu83cDZUTNKxAIIRWuoRiXMN9XI+rU9EEqEOH+zIldbqsabM6fQp+mCsEhAqlK1VTTjsvka
tKXqDDXgRDKBM4uXbrk1NQsW+TC56AGXy8GRAyIkyschkJvRXaSGwF8LIImI1Ii/G/tbtFobKX76
Tqp43Ak/kx43ZfvxBlkd5OIyjFjH0a1uh5AnxIf68ygTluSsqgY2KozH552k2gUBomCtTJpqXcCU
bF8OWilJewCY9y6ScwqBrfhtFixY3BtoUTZg2e+g3RgkNuaKhZXo3yuAE3ocre2HPxqExbeM1gJU
bRgVV9KU+tJ95ecebsS8aRU2dwA7a2T4VF9Nhu+hUwiRiPi4sTpNm0fIXr9OLnrIPF4gFIV+losJ
faoltskXJpWAzo6awZV6M+aFhZVU0dCh/U8imUwiWmLE30/8EK126nyVD4UoRbAqobcXdGvB739t
PwbGLPAINbQqIdnxBUH+4PP4GfndRDLBmCth2v8g5tX0FlFeXxgNAg0sNApxKokc12yTeG73k2ir
V+Avv34QZ0ZMpMowU45uzuTFmRETxubd5Dotl11lk8HmTSu0CkfZIMbm/j4h3rW8SbbJItWSJToo
JXK8q/8g43vbnfu+m5Fus3urO1EhUWDQfA3lPHVGS8hwNI7RGQdmQLXBSDyKK5YxSJaVtOe4U63r
WusUeHW6cNJidhxO7Dv2abowaB4l7SQZkJH2KeTz4A9GEAhFsa+9Cr5AhHasBYIRABv7HNl5RLp9
js0UEbHKP/nRXtGMZb+DNs7wFi2iWFiJvXv4iJYswBWz4T2DARzJQcZnkO6nhHwewpEYzl+zpCk6
9aDWXoKl9RnYQmY0yupxvGEf4/Gy7c/ks2HcPo32ytyEmhZlA8KxcEaRfHoebtB8Fb6wnxIjELGO
azUEcECx23MXQ/jC01+AMXwDtpCJJH8TYz573DLNP66IBbJSHauitgnMGLy0fuSGgVWuutvhDwfx
RPPDsPtdCESD6KhsQ6VUCX+YVa66HWDJVVmgW+T2abpw1jCYkVSUCsTYVbGTwpaVFZfBEXST/9dJ
6zC07seidRVtO2Q5A5HJBTft60aHHy21Crw6TWU0W9fsEPNF4HG5cK95IS+mbriyYLEV0Nmq/EU1
Y+uJqNyM44drEBIvwRWzgSfU4FhVHT46G8ChAyK87/wVIss3FwQ3CVk96t1k1QixOACAOpmWsef3
dvaiP1S7F/5IkJThrZQoIeaL8gaWLAoDU5KxqqQCHHBoKxTKReU4u3wKI5FLiIRS7y2tphJ8n1V+
DsO84QxVP6YEqajSjta6lIIgUS2RSCRxbiBV9fnNr+7D3428kjYPWHGGdwkdnJMw2EKM8tG3A+k2
X8iChMUni1ybmuWicrwx/R4lGfLkzhN4f/5MhqKVmC+CVCBGLBFDo7w+g4w1ZLkGVJiQWCnFiX1U
5ak5kxdzngVaJUCHyIsurRxvmv+FJWGwyMC9Ss5JryxOV5sScPm4YLwCAKgUaGC42QozHI2Dv1YD
AW8cPerdlMrAEds4vt7zNcy/rsWoJ0huIA1P23GosxrlJUKUSwUorwpiOTGH//De+2iQ1eOhhn44
bxIks2H3u/DDX49Bb1kFsFGN/ZdfP5ixWZCOzSZxC1XbfRAwveTF0eM8vLs4gB71bjLGpFMV663u
wLB1DM+0PIaX+n6fPMZbMx8iGo9mqAEDOQi09yAxkcXdi/Z6OWrqo7gafxsRx0YBwAEdJ2XHXiKp
baX46VbZbpzhUdUW0ls4AVuz2TvhZ9LjpvS45dMND+NL3Z/BDaceVyxjGWMxkUzQVlXT/aaVtTBt
8jcSjWF3YzV+fmoaU4l52muz+10Z5HcC6XNKOu7U5hsLFiy2F4dq92LKyaye7Y5a8JXPdeO1hZ8h
YtjINVRIlDhU24edqtzkViaVHEK1D0j5yumlzI1SWakQgxM2ihLxsT1UhZBAKIpuWT1MvvzkmCMH
RZjzL8AdtaJBqEFZRISrswksuzM3XuZMK+Abpmjnhcr6ID5Y/Ihxvip0DsqlFJHeRq6zsR1f630M
jVq2PetWkWst+IdPd+CGUwL7sBmOgIuxU0Y+8gcT0TvfeiibMKhMNEMqmKSoFAl5QlTKlZn2pW3A
1w/S29fUohsfXjZg1rgClUwErUqKU4MGMpdHp7IF5CeDEfci28aP9mhx/polo8Vier4mEedhwjlF
KQoFtjf3fbeCSXn0U4rP4533VyktIUdmHGg7xJyvS6xLMDID0r96fakY8k6SLlpVDTD5CiuKYIrD
w/EwmR+fdulR7HIgGk/gYEc12f5PUyOFViXFmavUcwGpvUZgYz5Kt8s59yKa5PWYcc4XFO8z+XdW
+Sc3jtT24UdD/0T7njNiwYkjTTjn/5eMduWjzhHGfN3ZUTOi8QQOHxAhWmKEK2ZDXZEaE8tzaKtX
gCv1YsW9CHdkGX3aTnRVteWMVza7DiTmaEjUCESH0ZjWBpVOoYuYbxL+THJgc005TMtrlOMnEkkM
XFrHwY5+zI1pMsjfALXlJFOuXinQwB6K4tgeVkWtUJjtftrXTQyvs7h7kEACDr8bwWgI7qAXHDEH
dr8LFRLWN98OPPDkquwAoL2iOWORy7QZL+GLYfYtAwClCj6ZTOKpnSdg8dnxvvUtHOx/HAZ9CP/H
p1tyXouusgQGmsmjpkIKgMpoFvD4OF5/AAPGK+QC43a0TmPx4IAuAAbAmPQo4nFhDhgpLa4AwBOz
ICk0w+xNLaY5SMJbtIznn3oY+uBk3gUB8TcAxBOJgnp+bwfoNupONB7e1mu6X8CUZOzXduPlK/+c
0SNYJZGjrlwHq28Z4USE1r6mXPPYK/gMBBXLmPcuokXWimnvFK396r2LAKjVNe075OjsKsJF2yXK
OQBAWrmKErEEa8HoHatgT18Q5FqQsD5/e8Bkt4dq+/Dx4gCtbVq8LvxBx/O4ah+DadWK7qrdqODs
wGO6Jrw5/zptctLsM6N3Rxs4Ei9+NvoRltecqCpRYb+uBxdGg1CIq2G+Wc0ZiUfJjcGq4hp4eAss
CYMFBdtNzrkVckpvdSdCsRBcAQ+UN5WGLppGANwsbhC34nzUTn5+YHAdDx3+DOKgHwtTnnH88XOP
4MxIyvc315RDrg5iKXQVoTIr5JUdqQ2j+MaG0UXzEJ7aeQKGVeqmVU2pDtGKEizafEgkkgBSCfgz
IyZadQGAmgzKh1yqeQ8ajh4SYzY8hEg8iiHLNRzQ7UEkEaV91sVFAjy58wSu2ibgXV8l7a5BXosP
9Ocox6aLO+9VYiKLuxfH9mjxxtxIRpsQAY+PUCyVMK6UKMm4NdtPXx+Lo4NzElG5Ga60Fk7Xx+I4
eNN8bzj1+PHwL8gN0kJtNp+f2Yofp4ubAGCPth0AsFPVgBd7v5hXlYRpHB6UPkt7XkWZCP/jtasA
gO6H1GTMlI5GRR2uWK5lvEY3pxBgK55ZsLg/0aJqxNd6v4R3507T5qTaKxrhwByl3Z7ZZ8MFw1Be
clWLqhHfO/pNXDAMYdqlh0JcTqpmAhsEltPnNggd4WicJDtdHLeAK/Vm+N//+w934/pYHJMLGwoh
XKkXF81DOVs9zTjn8ZblFxvrzzUrBLxrpDI9sEE86GurxLDrPOX3CHh8LAetjOsKDji3HDelK3Jw
uRzU1Efxq+kr8Fy3oVXFkty3glxrQQ44OG8YApfDwZ7qDkj5YvA4XByo7c24z7nIH1KBmLFdY771
0NEeLU6PmNG7h49oiRGTsavoqGiHQlKGseUpVEpVkIvKcck0ghd6ns9rX1OLboqyJdEebf8uNQbG
rTlzeXZPMKUEk0WwytVumLiGP39xP/5+4oeUe2QPuFDEFaCxpBlLq5kt7IHtz33fjRhbnqa8FolH
4eUtApBTSFJNunIcqtUwtnxMKGTwJe1YlxhIIkpxoBZHu+4c6WIzrU0LaSGrKa3C2KiL0kbN7gnC
6Q3hSHc1lmjGWvvNsUaoAZ5evIQ59yKp4vz61Lt4c+b9vH76knEEPxr6R3ZdvAU0KOrQJK+jjTNU
Ag28XP2m8nWTix4c7C/GePKdDUIWrJj2jUNn5Gc8J73XgLdvfIiXul/E+LU4RW0dyL0O1LuXcHrx
EhmDtN7sdhMKx1AsLMKJI09DWrKKKWdKjZOp0H3AcAUJc3tGrLNk82FfexXsniDF57bVy9HZrMJb
5xcyxjpdy0mmsdYsbcOxr0gx4PoAP51hC+UKQa26hKK+DwB16tJtuBoWm0ESSQxbx8i2gPOeVFvA
Tzcd3+5Luy/wQJOr6ILfc4bL+HrflzHlmMWMS49WeRsm3JOU73rXV9FR2Qqzz0a72T1un0ZvdSfK
hCVIimw40r0Pvxsy4sOJMYREBliCJsoCUCoWUIJ1IZ8HiTglX99Z1YrrYzMkmSscC2PSMYtGeX2G
7C67YcqiENDZvz8SzCAPpQfFCb8M/+V/DeGRpzpg9psoqirqkiqM2yexX7sHSrEMNr8Dy34n7JxJ
KMuLwfVyKdU46QsCZ8CDp3aegFZcD4vDD1mJA1M0veiZFuefBLZ7I/p+Ry6Jd5moDAOGK9B73Nij
7kQR+LCuWWkrMQm4IhYsTejQ17YbL/U+jlMXF9HVUERrv+mJi/TqmhnnPH48/IuM46YTaufXprH3
ER1iTg0uXFq/IxXsxIIAyL0gYW1we8BktztVDfjJyGu037EEzLDrbQhGQmTrP6lgBrsU7YzJSXVJ
BXglHpyam0QwGkqRuZHEqbmzKC5uBN+ng4A3RvGZingDpiNnaK9jOmuxzCqxPFjYTnIOXZWzPxLE
6YWLWFwxoU/TheWAE4seIyqlKuyQ1WBX5U60qBpxwXAFF03DKfsWySDhixGIBqEpqUKbqjGVKPXL
IOS7yA2Yw50alHGFGF+9yPibX+hVoLVOkXZ9P0MkHoWAx4clYKIdm+7QCqQCMaWKOmKvxuUJG5ms
JzA+78ZLn+2gqAvQJYPy4U62ArvXEBLY4PSk5t9EMoE59yL4Nwn7BIq4RTjZ/DBsa3ZcNl9FdUkl
xHwR/ur8/8T/c/j/2lSim40HWdxu0LUJUYhkUIhkaFM1U+LWdD89seCBwRaCkJ/ZwqlOvbHh997c
GQDIOEYhNpvLz9wKyZAgyBIFE6IiUebxC2g7wjQO18VGCPlyio9Nb4tCqBlmj/fj9ftxvH4/JaZL
n1MIiIRFkKtD+O9n/5E2t8OCBYt7GztVDUgiiREr1VccrN2LV0d+Sfu9XIqXpxcuYt6zRMa2B2v3
4oXeL+CGU48LhiHoStUZOZAfLp7OOAaXy8H+XWrwy3z4wdlXM/0vL+V//+jZzrRvKPK20PtYf5nW
l8bkZoiElSS5xRWzwVtqR7+0G2afLSO3Jysuw7LfyXg/pELpLcdN6cpBxOYxVlPnPrN0id3M3wKY
bHXapcekc47c8DeupjoP0N1fxrZLAS/+9MifMLbWPtpDVVtLXw+11SvwzRdq8fLVH2eothQXCfH8
rqcw4byBKccs9qh3w+JbRiyRuQEfiUdxevESWlSNmFp04wf/cBnNNTJa9an1SAxCPg8zS94MdbRd
O+TY3cnDtPc61rTz6K5Vg79Wg4HBdbJ4hiCDMcUkg6ZRfKXnObTaG2lzlyq+BmG3glalfztz33cb
iDzVlHOO0noSAGwhEx4+qoOHp6eQpFpUzH5wBvMp1dg0IoqAN44npPUA7oyqx2Zam+ZrISvg8SHl
i9HTrCLbdhHzBKFgtWD14ViPFueuWUi7zc49tKgacck0SlFxjsQTOf30DaeetmAiEo/irZkPcck0
iv26HtYv58DxHQcwYBqmjH9ZrB6zyQu032Hyu52NCjgkVzKKdYCbvsh8lfL5SDyKcwtDGLlSgXA0
TunIwWR/O+S1+M/n/o7MgRExyN7eJ5FMpmKG6dgoVO5qfKHl9xBMenHpZqcaut8icdYBSMU4B/uL
ES0xwhAbQffD1eD7dKTPJeyWI/Hi0BMe6L2LaBRoUC9uw66qJgo5lmmsAWAL5TYJtVJCy1moUoq3
8apYFAKbz4HHmx6Cdc0O65odbapmVJdUwuqjFo6x2DweaHIVXfC7HgtjyjFLSsF+54fnoWimVjZG
4lHoSrSYEcwzbnbHkjGI+SJwBEF4/Db4EcWY/x1EVomq90znzeMCva2VZACkkolQLCgCj5sKJH94
+X+hUV4PbamaQubKbqv2IFats9gcsu2fqI7OxSTv6OBlKDcQttev7YGEL0JXVTs4HA7e15/NaZ8E
iAUBALSrmtBRegDffTlVjSYR8fHMZ56BKTwP65oNurJq9Gu7tzXQYVUi7jyYNlOI1+dMXvzoX8Yg
aLsEmbgEjoALbapm2koPpSAlEzs+78YfPt2B7j0WvHyV3n7LiktpJY8vGK5QzkFHqBXw+Dhx/GkI
I7d/AU4sCMaXp2kXRABrg9sNRrtlWIzqyjSIxiOwxR1oVzVDWCSEYcUMc8BMe3xnwIPOylbEEKZV
z3uisQIfneWir/ckuEorLEETKoVaaPnN6KlpAVwmWulxhbgcN5x67FTd2iYpi3sT20nOyY5B+jRd
pG33a3vw5sz7aSpRqaIFQjE23d/xuDwsec1YCa+iWb5jo5WDCvj+1/bj3FUzZFUhzAeuYSruQLW0
Eua1/O1R0q9PVlzG2BZmwWPAnx75E7w1eQ4mvwFKvgZFPi0uXEolgIhkPZGEaKuXUxQS27IqBAvF
ZshA9zsmndMZiqfe9VVKbHCy+WG8O/cxxX8+3vQQBgxX8ELvFwpOdLPxIIs7gew2IfWyGpwzXKZd
U5UJpeTnCPWHdFUTIOVv8rXrydf2MplMksrChOorAByq7cN5wxDjujFX3JBOkCVaGEfiUZQIxJuK
N5iu3RI0olKuzaiurZSLYXZstC0YGFzHwf6U2pc7akF7RWPGeKdcx805hdhwVZUVY0dzAm9bf5E2
V7FxEwsW9xtybYJvJo7O9sXZsW2LqpFW7Spb3Wf/LjXG552IV9sK9r/5yKp67wLt6+6YFV98Zjde
N/xzBrmFyJ9cNA2Tnw1Eg9hV1s6oPH/NRi1YBjYXNxHKQQAQKzOjR7Sb7B5BkC0uGoZZ/7sJMNmw
prQKI9bxjNcY7YvhGG2qRkZiFUBVjO9oVODYHh2adBttHqe91yl23lXVjl9cfzNjLDHlm+fci9C7
l3B2dBUSER9Ob2bLOAJObwiyUiH2d1SR6mgAUFMfxctX39k4103iDaHqlk5QybZloiDTEXDj26d+
gH5tNy2B6uiOPlwfi+OQ9FmExEZYgka05liDPIjIF8sCwD5NF96YeYP8TDZJiskPblfBTCFFBADz
el8hkqG9ohlCnhA8Dhe9bZU4fy2V48hWsCIU2j5zZAdGph1QyURoqZNRcg+zLvq5IN22s4sxNaVV
jHmSZb8TplUrPlq4wMbGefB0y6NY8Bph97vQqKjD8fr9SAZkCBmMsBSQuyJwbI8O//P6v9G+Z1q1
kmu59E4ezqgFslIduYZM78jBZH8qsTyjuBCgbw9sgRVTq2P47tFvYDW8xhgjEO05s1W3zLBCwBvD
px9+FsmAjFTkzIinYMV13jV0NH4DdIRIurH26vBrbKHcJrEWiGBfeyUC6xucBUlxEdYCke2+NBZ5
UCvT4t/S8uvEHPp0y6PbfGX3Bx5oclUhifF6dSmCgVraysZYPIkTDUcp0vEErD47ovEoFq0mSAXz
2KVsR8TG7LyPdGvxZ6+k1Ekq5WI4vUF418L43gv7cMHwAfyRIKSCVHU+k7IFEaxnT7SsGgWLbGTb
f67NwxmXHuWeHYDORMuAFxYJIOFLAE4SrqA3r30CqTEk5AlJVYhs2fOe7iK8bXiDvLYR6zhGrOOQ
icry2u6dsndWJWL78e7FJZgdfhzfuwN6/w1E4lEUFwlpExWiQA1kpUl071QCoE/OROJRJJIJvHXj
Q1rJ4xmXPuMcALN6VLBkFgKhHTPOzW0OFQJiQeAL++/Kdpks6MG0GAWSuGIdA7AR2B7U7UEguk77
fLWlasw49ZCJy2htz7RmhkbZinMDqxDylaiU18BWxMVTz7agtU6BFW4z7XUIeUKydQWrxPLgYTvJ
OekxSHoLbqZ23JF4FKFYCIOmUeyq2AlNSSUSSMDis6OqRIVudTsk/Ezlk7Z6BbhSL/76wj+hXFgG
cAABr4h2vmiR7Wa8PjqiDoEWZQMaFHUwjhrgD6phvKkYQ4BI1i+7g5Rq7FttIbuZqtf7HQ3yWoj5
ogzFU7mojHzWUoEYVr+d1q6sfjvWQikSRqGJbjYeZHEnkO6TcxW9hONhHKp9iHzt2B4tJvTujNYJ
Qj4Px/ZoccHwQc51WT4SAKH4RlQ67qnuQL+2O6c6Z/YaM10FYv+uKkwn9eR1EC2M079X6DqOaRy2
Khtw4LlOnBkxY0LvhkomglQkgD8UIQlXiUQSQ1ciqJTX4nDXATzf20L7W9JB+O2fn5rGbwcWUVRX
OLmBBQsW9y6YYoPboXhJxLZMPiNd3UfI52E9EoNExIcrSq/evRWSt0qggYmmTaqmuAYuzjztdQuL
BDhRfxQz7nlUCjTYIWmFSibGqP0a7f1IItWCKBuFxE3EnEAoB5XFdkBYVoyzhkHKRtHR2v5N/voH
G0w2LOWLKc8dAPQe6jO8lfUkMa8Sz/iVybfQYt+Y97PtOdc6MTvfDKSKec8bhjBrqoTXF8auBgVt
W6MqpRimZR/snlBGHBUtpc9/Q2XFlx7tR2ezilQ9zo5J6Aoy+7U94CR5MKyaoJPWok/Tg4MNu8gW
zizokav1pIDHh4DHhyPozhuTpcej7fVyfKqvhtFnTjnnoXcv5SQIfhIgW/bpL2PeuwClRAZRkQiT
jlm4Q14AwHePfgONKhmaa8ph9wSxHonRKrSZltcAJDGhd8O9uo7nT2zEvjPOeVRIlQivRijKYISf
pivGlArEaK+gz5MQxfRsbMyM9HtKFJ1csVzD8fr9aK1TgCM5iFHnSMH+tUknQ5OlnpaQpS1Vo4jL
gz8SzCAlJ2MCjIQyxw6h4nfuagAHpc9iPYv4+Q+jv6IcP1974MO1fbRzRVlxKdS7uTh7VYBYqZnW
5/KVNrzw2DEAwKvD9GvbzdgYWyi3eaz6I7h43Ua2Xp3QuxGOxnFgt3q7L41FHphWLbRjxrjK3AmI
ReG4K8hV4XAYX/rSlxCJRBCPx/Hoo4/iG9/4BkwmE771rW9hdXUVbW1t+Ou//msIBILbdt5CEuMd
XTycXTThcFk/1sIB2NaWoZFowS1K4Lf69yHg8dFZ1ZYzkOByuDhYs5dU6MkG4byJyo3xeSfmTKtY
dgWwr70KRTwu+Rm9xwAel0d7HKLFmnd9NWOiZdUoPhlslx1vFdn2n2/zUMItw2WGJI7eY0C3uh2O
gAfuoJf2M66AF8frD2DSMQttqRoqiRzX7TN4tOEIRfY8eyGbnnjPFzDdSXu/31Ui7nYbnjN5MXtT
6jjsVkAlS6lUDFmupVqlxsNwBjyoKdWisqgeC74FlPXYUKzehX8YmcSUc472uGafDWXCEtgDLlI6
nAAxToYs13BAtwcKcTnGl2doj7Psd8C0asE5453zr/e7Dd4O3E123KJqxEvdL+LswhCcEQt0JVpU
lcnw1o0Pyc9wOVz0qHcjGFtHqVBKS/wAgAQnATtDuwW734U/fq4TH142Ys60gj0tFehpqUBrXSpZ
+a9T7+JI7T64Q144Ax5USZUQ8IQYNI9CV5paDLELzLsLn4Qdbyc5Jz0GqRArkbipjpKL6O0MeCAT
lmFfTTf+v4EfUzZUeqs7KQqEM455PNl8AosrJph9NkQTUTzR9DCsa05YfDZUCLXgrWpw+foyLptH
YAka0SirR792o+VJLhIv4Xvb6mQYmqLKKtdWlWDZE0TPzootqVPlQ6FkoO3CJ+WPD9f24Y3pU9ij
7oBSIoNtzYF5zxIebzoO7/oqyoSlGLVN0H7X6rNjv7aHVPErBOxc/GDhk7LjdJ/sDHjgDLhpP+cO
rpC2OuOcx4DrCop363FArIM4VAsEZTjSrUVrnQI/naGfw50BDyokSlqbvWQaJXMKPerdFMW3Ees4
5KJyxlxKdWkV/uMHf4UGeS1aZbvxNz81IBSOAQCWXQF0P6yGCbfeajDXOGxRpdq8/vzUNN44o0c4
GsfRbi1qKkvgWAlhb1qbK09pPW44+QWP/0sTyznJDVNOPeZM3gz1je3G3RQbs2CxVWynHTORPm9V
8ZKIbZmQru7j8ATh8Ibg9YVRV6SGhYYQtRWS9w5xGyZ4VFLUzrLdOO34bcZrxNyg9xjw3x77Lvne
9JIb7127ytjydbNxE0GCgMSLAf9vMhQq/TjP+wAAIABJREFUpIJpdETbKBtFsUQcUqEErw6/dlcX
Fd9N/pjJhgcMwxmfI1SYOBwOvn3qB5R7S6e6UvAmN8O8/72j30R7RTPCsTCpsJJrnbgS8qFJXoc5
zxJJVBDyhJh0zKK3ZTfmTSsoFhSRisLEBnEgFIW8pBi6/5+9N49u67DPRD/sJACCBAiABAFwJ8VF
FCmKoihRsiQ7iezYjrfEbey2SZM3Sf3cJidvenI6p06nM/Gcmde+nkk6SZ007pKmaZzE8RpH3mRr
I0VREhdJXMQdxEIQK4mV2N8f0L28F7gXXCSSoIzvH1sgcHEB/O7v/tbvU0txdcxGHk8uE7He5xdD
RsTEfvgcCnAkye8hdUA+dQgsnoij13gVB5RdCN3sRo8rgB7MQf51zV3PD7cD22nHmfzn5/Z8GgfK
WvDSlX/P+NqxOSeNlcyw4MGFITOOPlzJGMsqJXL8j/P/B98++tyGfMi0cw7nDf0YsU3QrpPUwa6N
1AWoKg7XLZOY9o2AzxWgW3cIJ2sOkef36UMVmJhfYmVos7mDCEfjiMTiONadT/rKLt1+Gms4lRls
YOEG6aeZhtwCkRVUyyswuDDCuMhJPJatNcWd9sfU75S6dEL0vTZTr7u/pgu9pv6036OhuB6vjLyO
lWgIAGDzO5K5oPoEjPI4JPkRuD0hhCIxHGhQ064XkUCBEoUOR55uRYOqGPXF1ZhboqsurCUPTLCE
fzx7CZPOWagkCoh4Irw6+jvwuTw8/8dfwa/HrjC+fsQ+iV/eeButpY2YcK7NsLYW7rVFue2wY5M9
yQCdypRNPJ5D9oJgyaXG8eFYhLH/n8PGkRXDVUKhED/96U8hkUgQiUTwzDPP4L777sO//Mu/4Mtf
/jIefvhh/NVf/RVeffVVPPPMM3ftfddK8MbtU0l971gEcCb/ppYoUSYrwWu33gaQpKTlcriMDRci
kOjStaNn/gpqFVXrYhx59cwUjb7z8oiVDPicQTfrAEypVIV8QR7yeCIyGWpQ1WLYOpb23NSpXmqx
oFFZiyZ1HUZsE1mdlGYbdsqON4tU+w/HIhAL8lmbh/zSYsyMlzEWcYrFRTg9mRyMYpVokyhwxTyE
g9o2fDzbCy6Hiy80PgrHihMvX3sFDcoa3NddhZ+/5s2YyI6tETBRGwLUz8Y0lLVRhqsNFdB2IVtc
ttvw2WtGqOT5mF/04lxPAE8/2YQRXnIThhh+KlLIIOQJ8M7c66T//d3kRwDYbZMqTznlnCMfH511
QhapQh7/MtpKm+ELBzC3ZIK2oAQlUhW5yZN6nLW2JsbtU+gzDiKPL4I94IRhyYQGZe26bCTHVLI2
ss2Ou2v2QsHTYMY1j/P20zD5jTS7oW41EoXLUCwEh98NfaEWEkEelnwRdBZ+Cpb4GIwMNqyVlSIm
cuHkfRIIDKMYdFxA0FEDjuQg+oyDiCcSWF7xQSIQo1Ahg2HJhMI8GTq1bSgSFQC49xLM3Y7tsuOd
Gs45WnEQ5w1J3xqKhmC/vT0nFuQjyMLgViYrwdySEcFYCO2aFpoPZtr+vzR/DdNL8zB7rCiVqtGs
rse5uT4MJkZwvOIwiuNP4P2z82hrAwaibyFsJeQl0iVP+s1D6NK1IxHjwuQ1oUpehU/VdpHF0sBK
FEI+D3tripEn5OPSzQUIeFw8cqx6VxbM7xa2y473qGpgv+qCVlaK96bOkf60rKAU4VgYVo8d2oIS
VruyB5z4H+f/D547+IcYsU1g2mVAm6YZbaVNSCBxRw3VHHY/tjOuoPrkl6/+gvGeX6OoAMAkM2WG
kHft9iASM5MCAZ1Mg8OaI4y5kd3vhIAnQLOqHiqJAtE4ffs9HIvgoqE/rZEozyuEPxJAIpHAtNuA
abcBZ3mX0HHgEVzoTQ5XhSIxCDx6CHnDafnmRqUG13Md7t+jxpvnZ3DsSD5CBUMQKSw4ItOBw41j
4LbUtr6wFK+NnoYz6F5XPN5cpcCZK0bW4QYFvwz/9R8v4YWvHMoa/59tsXEOOWwG22nH1FpOjbwc
oVgEfaYBxBPxtKHPO2G8LJOVYHbJiP/3o39GVX4T9pbWpfkNKtvpS78ZxvyiFwJvOaO6AlHL3kgj
f29pHYzWR7FSaIQjbIZSqEWeT49qRTkW4jUweRbQqW2jSfDpCzW0ofSLQ2YEJQYMs0i+frXji/hv
J/8fXKAMHbDFTaOzTlLRYf8D6ayjEoGY8bvs1LbhnYkzWb9UnG3+mM2GP57rJb/LI/oDmFsyweZ3
3GY7SH63z3d+CT/s/ykj68p6wTSwEY3HMGwdx0pkBQKegGRYGbKOoFFZS4vnifpJAgmYPVbsK2mE
pkANh9+Ny+ZBfLr6KNqVarx+dhqXbi7gSIsGJfoVWOOTsIXM2CPWI+Di41xvBE1VChisSWarTEOM
SokcI7ZbCFsjNBtbz4C8dWUe4WgZ2fMh5LcI7JY68nbacXUR8wBUs6oOT7c8CiCTj00O/KtEGnQe
1KCnbwXxeAIA4F+JQi+uhJCXPogi4ongCwfS4k+232fcPoWPZ3ox6ZqDUqxAWUEJPpy5iLNzl/Dc
/q/hf/9kjjbYdeaKEf/964c3FCfW6eWo03cC6GT8e1NVMf706Va8dX6GkaFNJc/HzWknThwT4y3z
f5DX7aRrljH25nA4+M7xb2KPqgaTRjfG7FNpx+zUtuH1sXfRrmkhl52JoZl+ispPttYUd9ofr2fB
daP1ugZVLZ7v/BLOzl2i/R6vjLyOttJmcjmduKcbQ5PoPKnGgHUYlTwNxCsVsDh9NPazUCQGk92H
4Uk7zl4zARJNWu/QHwmgXbkvY9+7QVWLS8YBRGIRMkYAgHAsjoumPqjECtaezdu3PsDbtz7A4w2n
0ga7qO+RCuLanHLNoUSqQrW8HM1qZmWH3bootx12rFcXYN6a7lfKSwru9PRz2GLoZBroZJo0KW0u
ODt9avcEsmK4isPhQCKRAACi0Sii0Sg4HA76+vrwd3/3dwCAJ554Aj/4wQ/u6s2MqSDXIG/B2Qt+
/Hj+HMrb52iOlpjqK5UaaPJQw9YxGmuKSqJARaEOAws3IBWKEYqF4AsH1tx6B5KBdSp9pzcQgTJR
SwZ8bMcpypPhvOEy2VDwhv1kcJdK6wnQqfephdmyghIyQQKyNynNNuyUHW8WbPYft5cjmFJYGR6O
4sLQELoPN2GUoRhO3UioLNLRZFmI51QUajG4cBO225P4baXN+OXomzQ7E/Iu4b4jj+LSZfZEVisu
Z/1M1IZAqs2nBq2bZbhaT2C7W9nist2GzXY/pPlCctvsV6/5cN+RRxGVm6CQiXDO0AcAaFbXM26M
sflOqv2WSJMSgkRRLxKL4/eeegy/M73OuMnTZxpgPA5rkmSfwruT5xBLRGH2LN5OvEvJxHs9NpLt
TCU7jWy048bKYvQ43ofZa6UN+aXaaDwRR59pIBkblHdg2DqKB1SP4733HDgfWcADJ3SMNswBMGwd
x1u33kvzOw/VnQQACHg8xBMJnDdcJuMAIU+A5zu/BACsCWaTun7Lv58c0pGNdnw30aCqxXMH/5AW
bxK+9bN192PEfivNFrngYmbJiJklY5oPBpLbq5xEMkEct0/hh/0/RTQeI4tHI7YJtJY2ggMuvCE/
uN4wwpE4q+SDiC/EZ+tO4qZtAiqBFgmHHtO3uEgkKtDrXcH9X5Fj1Effgp1f9EIk4OGLn6nHvlpV
1jTWdwrbacfVhdXwRFelqVPlOB5vOMXoP+sUlfjFjbfQqW3DS1d+hrbSZhSIpLhsGkQ4GsZ70+dY
47ncvfiTgZ3yx2yLYKFoGLfs0+uS82U7RsJWib97exb//eulpJ9KzV9MngWM2CfSfC2wuoH83P6v
YWZpGpaABYs+O5rl9eAg2ewkmP8iChNEAjXpJ3v6VvDQA09CoFygDUVtRGqQwFrXYVNVMb751Yrk
wpz79ufyWsh7CACan5hftqwZjxMyXWzDDQKPDt5AMK1hupO412OKHD4Z2C47ZqrlpMadG5WgYfPF
XHAxu2TELIy4wRuC0foogHZW30H4n56+FXR3PYKIwgRHxIx6RTXJYDJpdOPFf74MbyD5Xms18pOP
taNnuARReyPUKgm627S3JYkOwhcO4KplmHZvGLVPQMzPQ9xfhIFxG0w2Pzw6C/ndEOwbyXtBgsYm
9dUDv5/xeyNq4qXFYsaFS/fKMvaVNNIasJnk4rJNjmo3+GOiVtxruIoEB1ha8QAArcYajkXQd3tI
GWBmXVkPmO7vndo2Wl2DYFh5sPYEAGCEUm9mkt8T8gRo17SAz+WRbJYEAxxH4saHzlU2NCIm6Djw
COK+VWarUCTGep+n1v2oNraeAXmlUAujJ0T+e3TWdfu/Tty0TpJDL0B215G3y45HZ50ILpSs2Utj
q2WRA/9I9vG6ux7Bhd4ks1N3Vx7enHkTJ6uOwBVcwoLXRvbzCKZ5qn2y1fmpQ4ZAer243zwAQEH7
XKFIbEvixMbKYiQSwJXRRVpvUSTgoUQhRnO1AkZ+H7lUlokNzuKxYo+qBqOzTrz4z5fRfExDk5Al
/O5KNETWME9WHUHP/BX4wgHa87J1aGWn/fFWLbiO2CYwYpugDToDyR52l6497Z5O+Mw+01UIecPo
Vj2RdszDezUkGQiXy0F31yOIKkxwxSykXCAA9JkyyxiO2CZo6jQEFrw21BdXMV7rFYU6jNmnUCgq
gHtlGVKheF02lr6ItIDri2M4qG3F851fwiiFVGQ3L8pthx3vKS/C1bF0v1KvL7rzD5DDlqJJXYd/
H34t7Zr/g9Ynd/jM7g1kxXAVAMRiMTz55JOYn5/HM888A71eD5lMBj4/eYqlpaVYXEyX27hTUIPf
sTknvvOjS2QiN++bT3u+kCdANB6FWqxEJB6B3e+iNUOL85P6x0kpkQT2FNdAnl8ILoebJl1VKlXh
cw2fpjnvkVnmoKandwUv/FFyEGbCOYMnGk7BFnBhxmVAg7IGhXkyvDr6O7Jh2qltY7xZUgsCxM2a
WpjdTUlpNmKn7HizSC1Iv/SbYXzcG4BIoIZcpofRE0IoEkBn8xKWvCswLUbxmaoHYA1YSMpnPpeP
MzMXASTtZ37ZzLi1QBSl7P4kswCbnYl1NpzqakE0JqElsgRzXMFKJeNnYWoIUG0+NThdT0Nis9jK
Y281stGGie0gr24KAl4ZHnuoAbOTXLg8IYjjcsScSrgwiHAsghKJkkwOiUSR2KIbso7QbLNUqgKf
yyc3aoQ8AWrkyeG9cwMmRGJxHO8WwxKdYvw9E0igukgPtVQFDoDL69jMubl4K6Nv3g02shuQlXZ8
uzBTIlWSySBbMSMci2DSOQcBV4AJ3ygANQBg9hYPjz14CoZlEyyeRZTJSlAmLcH70+cRiUcZ7XR+
2Qyb38EYB4RjEYzaJnC4/ABGbZOMvnvMNonD5Qe29svJgRHZZsd3e5OWWughEI5FYPZY8fnGh2D2
2TDjmkeZrAQccGjbj+FYBKFYiFZ8UUkUKJWqAKzeh7t07YwF9+MVXbhqcGVkypxxGfDcwT9ELMLH
LfctFObFUF5dTm689gybEY0l0pYiQpEY3J5Q1jTVdxrbZcd10ma8a34LQHo+w+VwYfM58VTjZzFz
m81MJ9OgvLAMr4+9Bz6Xh1AshLbSZtJehDwBTN6FXRvP5XB3sRP+uEFVi9/b+yhuOWdo9/zfTpxB
WYF63dvOLxz/Bk6P9WLea4BSqIXAo8P53iDi8QStscOWv6T6WmA1zjXbfHjPfIY1rgUAR9gMuUxP
SgjE4wkk/HJ89cET6Z95C5oMY+4brJ+Lz+Vv+BonZLrOD5pwVPIkfHlzWAgYoRbpwL/93QKrDdNs
QbbFFDnksBlshx2v1xduSILmti/+ePYSppxzrLHtSqERPcMlrDEkVSZwdNaFfbUdePrAE6jTyzFu
n8LLV3+BMfsUmo9pIPCuxqxrNfKp7Fip53168mPG72PaPY8L70tgsvmwv14FJcNyZKe2DecMfYzD
CGz5JVETZ2MOCsciqJGX4/riGHncTAMC2ShHtRv8MXEPzFRjNS5bIM8rTGuUr/WdEznltMsArayU
dt+nxvAEKxXBtmDxLkLAFeCApgUrsRCWgl7EE1iTdQdYtfGXr/4C4eX050cUJgxdi+Bkhx5cTvIe
LuMo8Fzb1zDuvoFxxzRUkmJa/TDT52UbqBR4dADCKC0W384XFRibc+JvfnYFB+/3pMn2ZHPesR12
fG7AhPN9wdVh0ttL4HXSJpoSy0tXfpZWy6IOSQGrv7NIoAaXy0FpZRBRXwVGbBNQiRWoL65Cr/Ea
AIDP5SEci9PiT7Z7A3XIkPo4cc8w+gyQyzQ0KS1g6+LE1PtE0232QgD44a+HIdlnQYlECffKMtwr
y4wKD0KeAAe1rQCSv4E3EEkbNkz1u+FYBB9MX0Cntg3ReBR2v3NXDK3spD9m8xN3uuA67pimDbwS
WAp6wMvnrhnj+PMNEAmUFFlAHlbCUfLf8XgCF3qDEAnUeOLEYTzb0Ugeay1WYbZcTyVRoNd4DQ/X
P4C5JSOtJv3u1Fl8uvoYBq0jcAeX8fWOZzGyOIExx1RGG2O7ZgORIG7dXhS6V7DVdnzL6EZHYwlW
wlHY3UGo5PnIE/Jxy+i+Wx8hhy3CLccM43VwyzGDB+tO7MxJ3UPImuEqHo+HN998Ex6PB88//zxm
ZtI1VDmcraUrO3ttlTUqNZFLDerVUgXEgmRzlAhCwrEIKop0GRvnxBCWPK8QaklxmvNvrlLAsOBJ
OzetSoIf/9yMpspm/F8HHkSdXk77+5+/+yKNiYJtcIW4WQJYlT+kJAK7LSnNNmSDHd8JiEJGqoau
1RHAw58pwjsLv0B4ik75/Nm6+0nbk+cVwuZ3knZPnZLXyTSQ5xWiVKoCj8NDgUhCbjVTMbM0i799
/Fn8x3tj2M97FKEiE4plInjDPli8i/CIZjFuL0u7djIVwaRCcdoU+3oaEpvFVh57q5FtNpy2aQAL
bvFv4KGWx2BZMWDSfwFqoRZyWR64Ti4tOVwOefHp6mMwehbgCLjQoLw9SGufwnH9UUQQhHtlGWUF
JVBJFMjn56O5ZA+A5LXQ3ZUHk6gXSGc+BQCYlxfRVfBZvGv7j3VtTUyZ3Jhxz2f0zbvBRnYDss2O
AaBLtx8TzlmM2CbQrK6HWqLEqG0CSgk79fGIbQJ8zmpTsqE5gTfH3wOQ9LdDCyMYwghOVh0hpS1T
Yfe7yKJnpsbAmGOKHIKl+u6KQu0WfSM5rIVssuOtYGRk83dWnx1PNT2Ex4sfwtzCMn50/R8ws5S+
8EC1bSFPALEgH3uUNfjljbcxap/MGA97Qn54/WEAQI1Qy8iUWa2owIvn/57i3+ch5F0nN14tdj/s
yyuMnyHbmuo7ie2yY79TjIpCLUyehbR8plPbhqsLw+g1XYVUmHzehHMaUqEY9cXVKJEqMeGYQVG+
bNc26nLYWuyEPx63T+GXN98GQL/nd5Ttw9DCyLoHkRpUtfjxz83wBTS3F2eC5N+ovorNrqm+FqDH
ubOBsTUL9KoUlgaRgEc2eVLRKG/BWR6zTAMhczU258bRI3lwcKYwszS35rBvps9VLJYz/m2ta5w6
iPB6fz/yefkw+GdQKImhuys50NBUpch4jO1GNsUUOeSwWWyHHa/XF2506JO62Phf3v9fmHYb0p7j
CJsRtTemPU4F0yAUU82EGrMCdIac9UoGAoBpOT1PBYBFnwORaByhSAw8HhcCf0XaciRbHH527hLG
7FOIJ+Jp/puoiWdiDmou2YPmkj14a/wDWH12aArU4HI4GeWIsgm7xR+vNWioLyzDNcv1tNepBFr8
5I3r6G7VrmmrKkkxrTZBjb8zsVJNOmfxacXvo9/zLuO5E6w7qWC7vh1hM4qkycGq555qpf2tG3sB
AP8y8Cucnvw47bVMNpaqFFFdVIXgohqR5SLsrUk2p/fWFGNvjRI3FybR2L0AgUiIJlU9LN5FGktY
tuYd22HHI7Mu2iAHsQRuVQbx9G31yYuGKzT2JKKWBawOSREgBv5b23h4f/YNRtsickn3yjIZ77LJ
4gFgHTIk7hl6aQV6KHEwgTuJE9fy40z3iR+9NozquhgS0mJYvBHSxjgAeQ0Svc9QNIR+8xA8IR8g
0YDL5dAZE8Nm6MUVyBeD5ncJ8onP1p3Et489t+nPt53YSX/MJuH30pWfQZ5fSN4bR2ed+OCyARPz
SyhVSlCnL8S+WhW4Ujfj8iNbjlgp12HSOcd4LtQYxxIwokRRTspLymUi2N3BtNeEIjH03bTi2QdX
45a1WIXZBsryeHnoKNsHs9fKyLpl8i6QS8PXF8fwwvFv4Csdv5/x+80UzxGM9/cKttqOjVYfydIv
l4lwc9qJUCSWkwXcBTAwyGgCwDzL4zlsDFkzXEVAJpPh0KFDGBoagsfjQTQaBZ/Ph9VqhVqt3tL3
prJGpSZybEH94w2nSAm09Qw1EZsH7pVldOnb086BoHlOpdmLJ4Ap4xKmjEt4r28+jdKZeuPM1Ayw
+1343J5PY19pI3mzo76WbWqdeF4O68NO2vGdgG24r0wpwWxghEZ9TCQORs8CycJCtZ/UKXmVRIFJ
5yz4XD6Z9DDJTJSJyzE250RbvRqv/Xgahw/pcGHpbfIai8TC+JuL1/Hto8/Rtc/ZkmS/G39535+h
priS9vhW0a9u9bG3C9liw6kFHS6HiwdrT+CdSYpMHywQLq3aEyH/11baTJPzIfx2R1krXCYZEgkZ
RIoE1GIOSqUqdOnbSZtqrS2GTXIFtmUHq08sFmjx69NWHDxwKo0ONzWZGJ114h9fvwFuo53xcxKJ
zG6ykd2AbLHjcfsU3hh/L80W76s4hBKpEoMLI2nJJUE3ryvQos8XhkjAg5s/Sz6P6l9dwSVUyMoz
DmkRYGsMEH4r1XfnbHLnkQ12vBWMjGz3SqVEjhfP/z2+uu+P8cN/nUfzMRWA9OEqfaEGi14HOsr2
oUZejjJZKX7Y/1MASdmKSCzCGg8veBfxzKn7MTjhQGEkH0LeUNo1qBIraIOzxGcmNl5V8nzkifiM
cVO2NdWzAVtpx+P2KQSLbiERTP521Hg0NT/zhQMYsU8CAJxBN0btE5hyzeJIeQdGbZPkMXM5UQ5M
2E5/TPW71PtyKBZCvbIaXfp2xuJ0QaIMP3ptGPftX2201OuL8LveubT3oPqqg9pWWH22NF9fV1yF
fL4II7aJtO1gW5i5KEfEGu6VZTQWtSCvhYuZBU/GRv7orBPf/ycDOg6sNm5UQi2OV3ci7pOTEqzH
juTjLfMqtf1aw76ZNqR5HOZy2Hqv8XH7FH4z/++U7yw5hHvfkUdxvI15gGynkQ0xRQ453Cm20o4z
+QwipxLyBCjMk2HcPrWpOLhcpmMcrlIKtcgXCzE250Rj5foZUNni9IRyAeUleiy6AiRDDlXOei3J
QACoUpQzypuVF+pxwZWMky/dXMCRFg0+pf8CFuNTsIXNaC9tweBi+uANkLxHFOXJ0DN/Nc1/U2vi
RDOfrdZyyZhkTxq2jqJd07KmdFi2Yaf88XrZiDM1ptUSJbp0+9OGq4Q8AbCkxVu9s4y9i1RbJRQ+
4gnA7LGiVFQOPj8Gm9/B2l/hcDh4uOz38MqbNrSdSGc3A9jv46z5p1CLxWCEdfgbAA7r23Fm5uK6
bSx1yODCkBnff2WQJidfoPRhMPY22jUtOG8YZFzULxRJWc8pG7CVdkztUVCXwKnxK9VOqbWs1LoX
AJQXVMBWmI+YbAZhL3PvTifTQMDjo6NsHxpUtayyeARYhwxv90A6te3owRztb5kWDdbC6OzG/TgA
JMRuDPreRthMt7EDmn3oKGtFPBGHVCjGecNlSoxtockpUofcCppKcGyvGD3Gq2nXBFO/M9uxU/6Y
TcLv9FgvEn45EgnQfu/5RS+GJ+yI5TlxevGXjPkQ2wBTu2YvVqJhxvpGqVRJXkvFAi1EZYVQyfNh
dwdRppSAx+eSw1ZU0K7FddxbUgdPG5Q1aFLXo988hLnbwx5MrFupS8MfT19eM/7KFM8RjPf3GrbK
jnUlUswvetPIOPQl2X1/ygEolaoYr/mSe/Qa2G5wd/oEAMDlcsHjSQZLKysr6O3tRU1NDQ4dOoT3
3ksyNLz++uu4//77t/Q8mlMaIVevRfCw5ovo0h1AlEVux+yxoku3H/s1zWhU1bE2cRx+F7rLO1Be
qMWpmvtYi38Efednj1SiUiPDsdYydDSW4NLN1YuAoHSm4mjFQZKRyr2yDKWYuanTrKrD0y2P0t6b
+tpoPIbKIh35bwLZnpRmA7LFju8Ex9t1EAl4tMdEAh6Ki/Jhj6QHJEByS+PxhlM4pNuPEomK1X50
Mg32qhtICuVUJjXieRF7Kb7zo0sAgO/+yWFwiy2IxmPo0rWjSVUPAU+AWkUVRhZv0d6DLXluUtWm
DVYBdLunvv/dsPOtPPZWIhttOLWgc0R/AIbbAyBUUO2JLNAgzvi8WJSD/qsRXOgNomC5DX9x/Hl8
uf1pml88cUAPR8SCcCxCDmtRIeQJUCdtQqlCjAKU4Im6x/D/PfgCvtrxRUbffm7ABJPNB62YOYFW
SRTwRwIbshGC+v/P330RL1/9BcZZNqk+achGO2YreAejIcy6zLiv4hC69Qehk2mwX9OMdk0L+s1D
EPIE4PETOHhAkNwWYvHDVq8dh8qY/Q4xpEVAJVHAvbJM/p2wuUx+K2dr249ss+PNMDKuZTdsNifi
ieALB9BvHkA4Er+97JD+vIfqTuJ/nfov+Pax5/DU3ofJYhTht/2RAGs8rJfp8OpHk+gfseLjCwF0
iR/HfsVB6ArK0Ko4iM9X/GGa5AMBR9iMEoUY/mAEiQQY46bNFkvvNWyHHY/bp/A3F1+CwWtAn2kA
7ZoWNKvroRTLye3lTEsn8rxC+MIBKERF0MpKyb9luv9nezyXw93FTvnjTE3NYxWd5Lbzfk0zLX74
7fzr8CQW8Vc/voTRWScA9hzveLs+7pncAAAgAElEQVSO9NVXzENoVtWjS9cOLidZJhLyBDhZdRhf
bn8af8sQ59bIqxjPsVSqwp7ienym6gFcdLyHoHoIzc3AiQPsDCnnBkwIhqK40BvE4Bk1fMNdGDij
xvWhGHqGzQhFYhAJeIjIjKzDvkxgu9foZBoU5RXc0TXOFt+JNbaskobNtpgihxw2g+2yYzafsVe1
B6VSFelrXx39HV489/ebyouKE7WM75Hn0yMWj+M7P1r13+tB6v2Cy+GiS9cOCAMQ7e3B/gcWsa+N
h3MDJkY569T6MhUqsYrxXNWSVR8XjydwcdiC3763jIrYYfzdQy/g2f2PkczhaceUKDDnNkGeV5jm
v6k18fKSAhSgBE/WM9daDuvbSfm0fvMQ2jUt2K9pXrPuvpPYaX9MMEe9P30e88tmvD99ntWO2Wqs
+sIyfL3jWRwuP4AXjn8Dp2rug16mRaviIPZxHkFPX5LZl8m2Um2VYLqx+RzInzuJKx8UI+bQQS1R
ssbvFo8V5QXlSMQTrHki2328WV3PWtt74SuHGJm2iHy2x3AVz3d+Cadq7kPFJmzs5rQjbZF+RZpc
IMq0qH+0onNdx99ObJcdZ4pfCbDZKbXuBdyuHzQewVc+14w5T/pwK5CMsUulSlw2DeKH/T/FuH0q
RRYv3Xb0Mk3acYQ8AXQSPb6674/RXbOX1uf77JHKNQehMoHNj58fNGWsv6yIDcz1ccTA5XAwap/A
UnCZ8TlRmYn8HUKRGNyeELpbteSgzGaviZ3GTvtjgC7hR/3u570G/Pi1G/igfz7t9waAhdhkxuVH
pt/lkL4dD9WdYLTjorxC1CqqcETfAaFXj3ODJtycdiIcjWFwwo5KTQHjtXjiQPJavGWfXv+9RVWL
r3Z8kcwtD5cfgJAngM3vYK3fpV7PE64ZTK4hSccWz+Xz83flACAbtsOO68vljL9/XTkzC3QO2QOt
rJTxOqDWPnPYPLKCucpms+Ev/uIvEIvFkEgk8OCDD+LkyZOora3Ft771LXzve99DY2MjvvCFL2zp
eaSyRskLRPD4wpArZbhhG2d8jWHZjGZ1PfpMg1CLlVCxyPtoZRo8UHUUz3VWr3keVPrOb33vHKaM
S2nPSZUbaVDV4nhFFxxBF+x+F/SFGpJRiwBbgkGdGo4nEnh36myaVvWJysO7JjjaKWSLHd8JqNrc
N6edpIbumatG1o0gnUxDMrLI8wrx0WwP7qs4BH8kCOOyBeWFWijyi/DB9AWsROlUuA6/G8d1xzHq
HIVSqIXAo0NP3wri8QTODZjw3FOt+KdxIyNz3Kh9As0le0i7ZJvMz7RFtJYW9GaxlcfeSmSjDVM3
DYQ8AQQ8PuxLzIVGwp7GXKPgxQpg8TL7bZM3SfntjidwtI1Z8qxOL0eduQpmr4Uc1iJ8or6wDA/V
nUCDqpakol4LI7MuhCIxxJ06RoaUekUVnmh8cN02shUSXfcKstGO2RqkhiUTIrcT6Ty+CCcrj8Ab
9mFuyYTW0kaIeKLksEAxF4dbOrCiSNpkKmrl1eiqakaR9Bv47chFmANG6KRa8PgJGjsg0Uwk7u3K
fMUqiyWL3wKQs7UdQLbZ8UYZGdfjowibIyQ9CBp0YqjJ6DNALtOgpy9Io6DX5OnwuX3H0uyPep0R
flslUTDGw8X5ChTkC9HUzEVEZsRMxIISrh7d8gfxzhkXnvyDajg41eT2HBXlBRXQHdDi399NDnkf
3qvBSjgp71BRWoBHjlVnVVN9J7EddnzRcAUSgRh2v4ts0CR/Yzm5hRuNR9dk9nOtLIHH4dFYD/rN
Q+jStUPEF2LGZdg18VwOdxc75Y/Z/G5dcRW5OMK27RxRmACocW7ARNYWiBxvdNaFptsMUlypO8VX
JzfUH6jqhntlGdXy8ozneH9NF3pN/Wk+tkbcjHfm3yTZ/4wwQ8gbRvFCPisbSyqLOLEVOzrrQnFh
HoCkLIUjkh4HAeyxVoOqFo83nMKka5YmufHB9AU8Wv+pO8rZ2N5zZml2Xa/fLmRbTJFDDpvBdtkx
m0zPr0ffwRH9AVycXx2qDMfim2Jxvdi7gtaqR8BVWmAOGFEi0qGEW4uAswDDJgc5lLLeeDL1fpFW
P4MFY8vD6JY+yfj6THLWV82DafVhEU+EgYXrqNIexfgcvV69r251E56tRifiiVCUL4PZawWQ7kup
NfEkE8b7eHksnQkjNX8tFElxtOJ+Rjm4bMFO++ONsBGz/X4P1Z0gv2OCnemvf3IJg9NOmvQwwNC7
YIltqorKwS+TwRuIgBOQokP9aVg4N1gZZIcnbehoLMGKO4pu7RPw5xuwEDRCJ6nAQ41HmJm47FN4
6crPGPsdh8sPMD4/NZ/9eK4X3zn+TZyoOozzhn68fO2VNeWJCYykfBdETJNpEcQZWMpKe94uO2aL
X6m+kc1OT1QehlpcnBbf/eSN61CK2fsb706tqh/0GK5gwliW/H+KLJ4raoZSIoeIJ8JrY++io2wf
QrEQHH43ivlayKNV6P8ogZW6OLprmGX6gPWzyFGRakckxG68eO6fWOsvJr+R8WUWzyIisQjy+Xmw
prAFEXDFLHjixGH03bSm/QZrycBlM3baHwOZ2fQs0RgmDOkDRHKZCJYA8+9J3E/Zfhfivvnx9GVM
uWdIO/5othfxRDzJcCVI5n9EPiYS8LCvVoV9tSryWmyuVqCllYcex/v4p/FpaGWl5JJwPJGU4twI
0/20a5623Mam7EB+PwItzl4zok7PPtxDftbZS5hyzqFEqkSNvJzWS7wXsB12fP6aGY8eq4bF7oPJ
5oNOLUWZSorz18x46mTdXfw0Odxt8Dg8dJS1IhgNknFPPj8fPA5v7RfnsCayYriqoaEBb7zxRtrj
er0er7766radR+pgyaFOId53/ArwAs0sshAqiQKu4FKScSceQb4gn/EmUBJvxvf/ZQ6lSjupjbue
RLleX8Q4XMUkN8LhcMji6gfTF8iEweF3o0lVm7FQSNx0X776C0atarW4mDHZyGEV2WLHdwoi6P/X
397Eby/OkcOGVJlMAkKeACrJqmwOQdv54cxFHNQmderHHZOoK65OG6wCAJVQh4l+FXy+Lhg9IVoi
TiThzep6RomK1CBtMwNNW5kE7MYEIxttmJooy/MKYV62oqyghNEfa2RqyBPl8A7J0BOMoPmYBiaG
hLk0T4eYRob7Dxbi/T4DfvCrYZpuOeGbqQ0jwieqJUp8tu7khgscBJ31xUur1PaOiBnl0go8yFL8
yYStkOi6V5CNdrweeYmVaAinpz4mfSe1SboUW8S3H23BuD2fsYnJWdbhlQ/GsegMwGSpRFXZPkTd
CUTyndgn58ARNdGaiYWiAozYJnCykj4dyOS3Xr76i5yt7QCyzY43OsC8Xh/VoKolJT2oNg8AemkF
ejwhxOMJGgW9vKkkzfbG5pwoy9eT1xkxZJPHF+GxhlOYWzJhwbsIlUQBnUyDkcVRNLV0ocf3W4Rd
txtPXgtu8Abwp89+HY2VxeBIWBoKjUfwg58aEY8nAAA91y0QCXiQy0SwugK5wSoKtsOOxx3TcK8s
03K1cCyCBZ8NCz4bDmpbUa+oxvXFMdYinZAngDfsx2XTIG2YWiVRQC8rxVN7H74r55rD7sRO+WM2
v3uyavXeTd12psIRNkMu09OamkyNnZevvs/oq90rSxh3TOOq5TreGH8vbaB6dNaJcwMmjM258bkj
z8COKcwszaFEpEO1uAFG/wSjrKo5MoGfvCHG8JQzTSKQTZ6+qUoBPo+Dm9M8CPlcKAVlG5IAAoC9
JXvwu8mPIBGIybhLLVFiX2kj9qhq7rq8bbZJh2ZbTJFDDpvBdtox2+AqlTWBQCYWVzY0Vsrxu545
iARKlCjKMY8ErriWsbeGD+dykvUn08BTKqj3CyFPgFgiRkqzrg6CRbAinodIoEhjwcgkZ10sKEOf
6QqtPhyORXBA2YkCTSEONJTg6ugi9u9Ro71BTRugZRtUG7KOoK20mTy3zS5rJO9FfkwYy9DR0IZ2
pRp7VNkdh++0P94IG/FGaqwlCjGujdvInMjtCSEUiaXZFmtsU3MIDV3J437re+dwfmgJJ45WQci7
yZh//uCsEYYFD/JEfDyg0CNmk0Ia2oMVER9xvRxgULu5aLjC2O8oEspxc0CQFpuw5bMfzfbiinmI
jHPWu3yWGue4PSFU8jUY81xnlSJvzLJ4gsB22jHbYBJ5LhnslKmPNTzlRHkVc38DAK13Me6YRkdD
G6aMSxDwuJi8xUEkWoaD90txyboqEUnY1OHSY4gYa7DoCyGeCMLqCmJ01sk6WLWZJUameFkk4CEo
NiC8zF5/aVTVwOjJXJPMZIfPdjTi2QcbWc8LWM0PRmZdGaXAswU77Y8Bdp8o8Oiw6AqitV6VJsfn
9oSwR6yHiWHxdj05CFH3/eWNt/H2rQ9o7x2ORZCvs+Fzx1pwfcqZNkxHHXxOtV9CypS64LveGInI
qVKX2yuKtEgkkLY0LPDocH0dDJ930pvbLfa8HXasUuTj1Y8mUSAWoFIjw41pB3pvLKCrOcd+lO1I
JJJ1az6Xj2KxHHwun/Z4DneGrBiuyiYQQdsr749jJtJL3iTk+YWMQ1NiQT7keUVIJBKw+uwIRlbw
VOMjGLeYYAuboZPoAbcWv3rLgXg8QWrjGq1e8v0yIZVNC2CXGyFuyERxtc80AKlQjL+8788YZdGY
wKZVvZmCQQ67F6OzTtjdq4NOXC4HHA4Hn6l8ANaABYs+O7QyDSSCfAxbRxmPseC1IRKLwBVchl5W
hkGGpFjk10OSL8A4wyQ+kYTfV9GJH/b/G+N7pNrlbhxoyiEzqInytMuA+uIaFIgkGLKOpNmTTCiF
F0b4g3kU2ub0hFkSqkCQz8VvziTpaeUyEYYn7Gm+mS1J38zmGNWXE0MCJYpKnHq6FQ2bKABuRqIr
h50DW8IszytMey7hO8OxCLgcLjq1bQCA/3z6u1CLdPi9+qdhChgwvTSLYl4ZCiKV8DukOD8+A0m+
AG5PCNPmZYgEPHQ0lmCgP4wH769Hr/N1sgC4Eg2tW/YmZ2s5ABsfYN6I3RzWt+PMzMW066NT244e
zJGPUSnoqRiddeKvfnwJnQc1abF6PBGHO7iERCKBFnUDRmwTWAp60Kxsht03B/iAEomSbD6FYxEM
Lg6hq6o542durvLTiprEVl/7HvV6vs4c7iKIQlzxbRnAVDvSyTS4ZLqKYwVPwSeahSVoJDc0CZY0
tUQJs2eBxnxFNFxcgaXccFUOO4L1+N1M285GTwgPHMzsk9h8tdXngEQghi8cSBuMJXwuUZ+YfXUZ
BWIF/tvXHia3h//z6Q/SjinkCeCPezA1Ycf8og+GBQ/OXDGS0iiZ6h7O5RWY7X7Y3UFo+fUY4w2v
e9gXSH6X3z76HHoNVxFLxOGLBGD2LOCCoR8JJDadP2508DiHHHLYHWAbXCXkhKmPb2aYkurviKap
SMBDnpBP+sBMA0+pIO4Xl42DkIkKMLtkhIAnQJOqHnl8EckkYQ7Mo0ShozVqC8QCfKqTnaWwWtyE
m7eZt4nPLeQJwFnS4vQlA0QCHj7/QC0uDi/A4w8jkaDXuQ+XH4AivwjD1lEMLoxAlge0lTaTMdhm
lzUSfjntXjRlXMLrZ6fvSG7rk4CNDgWvt8Z6vF2HANeGFYkBy3E72iTViLqVON5C712sJ7YhlszP
99LZi8sLVlmpiFzswB41PkyRzbo2tshoB2z9jgnXDMITGoSjMZy5YsSZK0b8z+e7WWOkKeccGSNR
j7fW8llqnBOKxJDnrwBwnZWtJRdPrA8b6QU0Vynwbp9h1bYiZmhlpeByQPol8rjKGrQr1bAGTViR
GOCILqBEqAVflIdonD6kGo5FMO0ZR8hYTPpYogfIZI9U/0bknu6V5Q3bEZAcbjT5hxifT9gxW8za
It8PXkSCxbAZtYqqdavgpILID4BkjZ24lnI+OTMIn3h6rBfzXkOaqkudvhDDE/a0oehSbh2EvIE7
8hlXzMNp91ggycD7t48/m/G1bPfnUCxE82XrjZGo9kldbueCi0giitbSxtuynWoUh5vw3hkvTh4o
YTzW3RiKSs13U/PWTxpaapUYmrDDG4jgxnRyqE0k4GFvrXKHzyyHtTCwcAOaAvq1Ek/EMbBwA19s
fWyHzureQW64igUHGktw+cZqwtFrvIZTNcdh8i6QGzcVhTrE43G8O32WJlc2Yr+Fdv7nEJ6oxIpS
gr4RK+3YoUgM/pUoeobNazrk9VCgEqAmKWOOJCWjVCDG2dk+ROJRAFiTbnS3bF/msLU4N2DCxesL
pNRNiW4FPf7XEZ6KkEH/Tds49pU0QZEvx/xy+rQ8dfvhmmWY0TZ9AQsalfUYneUjGIqSr6UOENYU
V6JOUclKB323QKXjbVTWokldhxHbxIboeXPYGhCJ8rh9CtetY3h9/N00Ku+KQh3ml81wB+Zxsv1h
mB1+GGdW8KmOL8DJmYYlYIRCkExSzl8MoqUmH50HhYgUzMMRXUAlXwOBtxxBN903362BPTZfziaN
shY9dM5X7y6kSvfqZBqUSJUYXLiZVvSm+s5USQcjLLjhGkSX+AkcL2nEqHsYs5xetDftwwGdAya/
mbTlnr4VRGNxnOoqx5E6LY5KSzcle5OztRwIbMQfbsRuMhXZ5V/XrBkDnxswIRSJsVL1UynO76s4
BE/IB3WeGqG4H02qejgCLtp1OOWepZ0b02fONASwGXr/HDYPohA34ZjB55sfxph9ksaOcHryYzzZ
9BDO/DaG0uJGPPeZxxATuXDR0A+9THP7N+rEBUM/Gc9SGy7VigoAm5NtyCGHzYJqb83qevzJwT9g
XJbKtO0MhBkXsqhYD7MmQG9IEj6XCm8ggg/758nhqhp5FYye5PVEDIqvRENwBFwo2z+HCo8ePX0r
NOkrtlgZAL7/yiD5nqbfcXDfkUch0i7CsDy37piG+HuqDOLZuUt4vvNLm2Lp3q1S8DnkkENmrNc3
bnb4gervRmZdUBXmQSTk49LNZM2LbaF2LQQiQQwvjkEpTjK19puHwOfySCaJRmUNjjzdirPXTBif
c6P7SB4cnCn8eOSHqLGUQyUpRr95CPXF1WScs7e0DkbrowgVGuGImFEsWG38Asn69vicG1aHn7X5
uEdVgz2qGjzd8ihu2adpMdhmlzXyHLa0e9FG5RQ/idiqoWCu1I3h+DtokzSDEy3AtO8WVIV2LPOK
ANB/j7VyytTFxDxRCU6dqEc8z0jK8O1ra0HPdSFWwtF12wHbda2TahFtN8AaNpG1lHMDRjRomZ9f
IlXi+uJY2uNrLZ8xxjltOjwsrUKv4SqOV3TdHv62ojEXT2wZCPuiMmML9nJxJfwmKWcGUK8LNwZj
byPsTl4zZlggXEpn6AGAMrEefS46cyubPY47ptNi5CZVPeJrsIkw2dGJAzr0OBYZmamI+ktaz7Cg
BGKhBNet4xD5yuEb1+Otvgie+6OvYdx9Y8Nx7flBE2ON/fxgzievhQZVLRJ+OX7wq2EMugKkqgtV
ju/D/nncmndDp5KCw+HA6lxilPra0PveQa2Xzd9Rh9A3cm9JzanKZKVIJBLoMV5FPBFHHl+E45Vd
8Ib8uBk6h9aTZdhXXYFL89fQZxqEcdkCfWEZWtUt+Md/dcIfTF6vmx2KYsp3P8kxxrjBlZTiDUdh
dwehkucjT8jHLYMLQK43kM3QyjToNV6lDfGGYxF0l+eGt+8GcsNVLKjTy1FnroL5NsXiSjQEe8CF
SecsJAIxJAIxPpy5gLriKsZJ3bjSBI2yERann/H4dncQnHWey1oUqFQ0qGrBAQcj9klcs6wytnjD
fly1DFMKicx0o7ntyxyApIZ3PJ5Az3ULCsQC5FVbEfas0okTDadoPI4SiSqjHrKQJ8CBsn2kbU44
Z2FctsDmd9z++1V886tfw/WhGGvz9GT1EfQYr26ZXabSmZYVlOCH/T/dMD1vDluHcfsU/ubiS6gr
rmKk8gYAiUCMGC8fy/4IBDwuFIV5cFmE+Gz3o+DzuDh7zYjrs048dp8eHliTclDUBJl3Hcf0TyHo
Fm3JZ1ivL18PPXTOV+8+ENK9J6uOoGf+CvpMBI28haRPHli4gS7tQajFxZh2GcDhcBhjjKJSL345
8zrCsQi6dO04Pf0h+TzClru7HoFxNoAXvnLo9iuLN+W/craWw2awUbthK7Kvx2+O3JZNyUTVDySv
neWQFwteG0S8cVw2D9KWI4jrMLqydnrENgTAlbo3Re+fw+ZBFOLeH72MuSUTo4zPmH0StXsaMTkR
QK1ODkCexkKZQILRZkPRMC7NX8vFhTlsG5jiwDMzFxntLa1RIi5HfqAcCMjx37++9pYum68m8jjy
fShF9hEWqSqqhBVVWjt1UNyEBQh5w+juegT9V8KwUZpQTD7/pd8M04rb8XgCZy8G8Llj+/C3j/9B
xs+XCrYt67Nzl6DIL9oUO22OOTmHHO49sPnGE5WHoRYX35VhSqq/G5tz4uw1E8pLCjIu1LIh9b5B
jWv7TAMIxUKQCsW3z7cYjZXFrJI+7ZoWvD99noxzmqpqAbTj+qQeIZMbgzNOsvFLwO4OJuWxnYE1
m4/EoNV6cFDbCqvPlvY7HNS24uo5B+NrNiKn+EnEVg0FXzRcQVtpM/1+71nAiH0C8vzCDR2/qaoY
//P57mT9bsqJY935eMv8H2Ttbn7ZjLO8S/jTL38dP/v1IuMxmOyA7brm8RO4vJCUvozmheHnjqFT
9ChOsDy/Wl6Oq5bracdfz0ACc267uTpNDpsDYx7fosMpaQXjdfHy1V8wxo6xRAw6mYbsbUiFYmg4
ewCkS5Ux2WODsgZlBSVp14yQJ8Cxys6MNsFkRxzJ2vUXWs+Q8r5C3jD21T+CC71hXB+K4bmnvrj2
F5mChNiN6ww19qOSJzd8rE8iGiuL8fwXWlkXC4n/fut752C0erH/gUX0UwYmiNpHgVC8bn9yJ7Ve
tsEsfWEZ7D4H2kqbNnxvoeZUt+zT+O6575MDj22lzfh4tpdW95ZIQOt1mzwLuGa5jkcffhyvvLr6
mTYzFLWefPeThPkFL+YXvSguFGFvtRI3ZxxwLodQXlKw06eWwxqoK64irxMqA22tonJnT+wewV0f
rvrmN7+J73//+2s+thtALQoCSXrQLl07BBwhQvEVVBRqsRT0ML7WHDCitqANxYV5mLd60/6ukuej
TCVZ13mkbko3q+sxapvEmGOKcXP6gqEfNr+DnEYEgGA0yBgMnh7rxY9/bka9vuj2TTu3fXmv4E5o
MKka3pJ8ARZD6QETAJg9VrhvNOHx/c9gmT+LMcc0isVFEPFEuGq5ji5dO0LREPrNQ/CEfCiRKqEU
FyMcD6NUqgafy0O/eQiTy6N47qmnWc8ntQBQXVSF4kQN/uHfTGis9N+x7nEqHW8oFmKlH89dCzuD
i4YrkAjEsPtXA1lqYODwu+DkuKENHcbovAv+YASSfAG8ASHJDkVs0wPA/z7fz6hH75dOwAYHXr56
KyMrBRuDxaTRjbPXjBiecm6afjYT/T1xPrlN+d2HYxWdmHTNwhVcolHIA8nfl8Ph4DvHv4k9qhqc
RHIg6s/ffTHtOEKeABa/mRxeZfNXEYUJrXUdFFudglamgVQgBpfDRXdFB81eRmed6Bk2w2z3Q6uS
oLtVm1EeM2drOWTCdtrN3moFdCopuUW1t7oY0x76fb04X44aRQVWoiEIuHyE4mHG64bDAfbIWtb1
vkxFzZevvp+LH3YADapazAi4OLP0c8a/2/0u1ChcaKvbg3H7FHoMyQ1IQhqsQVmLYxWdeLzhFCZd
szTmqz7TABJI3yDO/a45bBXWEwdSsZnhHiI2mHBO4+H6B2D12WFaXkC1ohzReBSXjKub+KlFdmqe
SAVVwiruk+Nz2mdgWplANO5n/Dy8Egv21zfC4vDjpd8Ms8bMbMXt61Ppzas1P3eGLeth6+imhqty
yCGHew+Z4tjNsNythcbKYlZG6/VgLXkeh9+Nv7zvz2gMiB9NX15T0oe47xAx70u/GcbALVva+6vk
+bg5veqTmZqPY3NODIzbcHXcRqk/r8XiPYVmVT1E/GR9saNsH2LxGKZdBuhal6HUqEnpJAIbkVP8
JICtbpVaB3jp/PAdSShNuwyQ5UnvOA9KrWP/35/fhx4Hc3414ryOA417EY4mpeOpg9hMdpB6XatE
OmiLivHO1Pvo0rWT7EG1BVUoLPSy+gEAeGP8PQCg9V1yy2e7BxsZckuNHQm2qWg8Cg442FfSiCZV
LUzLVgy4PsT++1eZ5AnfxGSPxyo68drY6YzSp2evrb+ns576y9icE+/OX0xTBiHqhyKBetPDIyti
A2ONPSie39TxPolYz2Jhvb4IvkAYjkg64zZAt9c1FTHWYTPEMcbs09CK9ZCEKlGQUKO5bh/jYNZD
dSfuSn1kj6oGLxz/Bj6evgzDshGJBNLei63XvRCbRoFYC29g9W8btev15LufJOhLpehsLoXZ7sWs
xYP6cjm0qgJYnb6dPrUc1sAtx3Sa+o+IJ8ItxzQe3nP/Tp/ersddH66an0+/ac7MzNztt9kWEDeZ
j6cvY8I1A6VAi4hVD5FYgKhkDMshH8oKSlAiVZFyPgSUAi2EAi66W7WMsiGSPD66W7VrngMbg0m7
pgXzy2bGzelEIkGTOVHkF2LKNQeAruMcjkUw7zXAF9Dgd71zFJrE3PblbsedagNTaZjdnhAq+RqY
kS79pxRoMWJZxrMPHkJTVRcAkDTfJysP45yhjzJBbkWXrh1cLuD0uaEUKyDkCfDYns/A6LHgz999
kQz2AGYJS2J45b/+4yV4A8kNpVnL8h3rHlODT3leIW2Ah+15OWwvxh3TcK8so0lVzygRWVZQhjJB
DSxBA6RtRpKCWMYpYjyeyW9kftyzgEgsQtvWTPWHTJuhvnAAH073YNo1D6VYg/KqcrzbZ9iUbWai
v6citym/e0AkpLF4DIlEAtdnFLUAACAASURBVF269rS4weKxpjX1mLaB5HmFsPrs5P+z+StnxIwH
246StkowsPgjAexVN+DFc39P2vforBOnhwawIjFgWbsAAV+D00MVANrJAaucreWwUdxtu2ErDjVX
K2mSUYuuAPY/UAYH34njlV1wBpZg9dngDwcg4ouwEg3B4mHecjYuL6Cuugbj9qlNnft6/XcOdxej
s0688sEEHnq8FbNL82lSjyqJAkbfFB7f14QXz/092jUttC3h+WULxh1T2FNcAx6Hj2KxHDwOH3wu
DyUSJaxeG0lvT0Xud83hbmPaOYcx+yTj3wh7u1OJytQ4dm7JnGQ0KT+Invkr+E8HnoFUIGYtsmeS
RQVW89BILI7PfboGIytnGM/DFDDCZ9XC6gxgftHLGjM3Vylgdfghl4lozdPNFLczSX0NLYzg6ZZH
N3zMHHLI4d7Ebsp/1pLnaVLV0garJo1uTLqY6/RUSZ/U47L5/zwhP+NgS8/0TZyduQxH3AJlkwZe
bzn++icm/PV/6qL5/HH7FG4u3sIb4+/RYjQhT4CnGh+C0bOAlXhyACYhBsSaEI4eLsf5ngB5LpuR
U7xXsR5G9DutHRNo0zTjsmmQ+TzWGS8zncvNaSfyWtJfz+VwEU8kEFVfh7Rthqz/XbkWgbooHycO
MNsB9bp+5f1x9C/8Gh1l+9LYg0btE9ivbWT1A893fomUojpQtg9duv13xV/kZMjvPtb7nbItJXbp
9sPkWSBrd6mMrEaPBdcXx9CuaYHRY4GRwiSflB5k9kt7VDVwXnMznvOYYxoDHw1jfjFJ1rDe6zLT
fWt01okf/noYwr3Mw06OsBlymX7TwyNsNXZzIDdcdTdxvF2HC0Nm1j4dwaCXyf8D9J7bsYpOfLXj
i+TrXr76C4w7plEjL0coFkGfaQDxRBxGjxlC3jUcq+jCx9NBfKXtWcwtzZLkH3d7mTLuk+PCO3JU
aipgqvyY9rdMtXCLdwGVmkbcoAx9b9Su18p3P2nYW12Mf/3tGPl9zC96IRLY8eVHGnf4zHJYCxav
FWUFpRDx8lCjqEAoGgGQgMVr3elTuydw14arfvWrX+GXv/wl5ubm8PnPf5583Ov1oqqq6m69zbaj
QVWL3r4gfDfUMHpC6DyYQI/vNXIaO5VuGUgOMOX59Ohu05J0o4Q2rqZYglp9IfbVqtaVqFApDwmk
bhNRN0HG7VMpAy3J83uw5gTKCkppOs55fBFCQT7CfC5EAt4nWjv2XsOdagM3VRXju39yGGevJelI
ayTNGPNcT5sSr8zbg6JWKc4PmsjXETTfVOpcIU+Ao+UHcXH+Spptnqo9juuLY8lhv9vBXkdZK3qN
VwGkFwA+7J+nTZ+zfbaNJKXUQnumAZ710DznsDUgfqM8vohRhlLDq8Y7xtfTpNGea/sagNVNyeEp
B9rrVdhTXMOoR6+SKEiZQbYtu9TN0E5tG42K1pySTDNdd5ns8050z3PIPqQntZa0uAGg/74EA1o0
T5Nm7/5IAM0FzTB5FuBeWca+kiZEYhFyaJpAjaIC151DiMZjaZuYKokCXA6XtO+b1kkMxt5Oo/DW
WwtyMUEOWYFMxaGb035azMPlclBfVIs8cQwjtgkoxQroZBr0m4fA5/LQUdaKYCTIeJ9XSRQYs0/g
tdF38O2jzyHuk5OMbuWlUhxr09FYEFOR8987g3MDJpz6jBDvTP4uLc7s0rUjnoijTFqEm86khEcs
EaMtmwCATlZG5lDERrI/HACPy4NaqgSPw4M94KINxeZ+1xzuJggJ7FpFFYwsech6GqVrgYnhxBcO
kLImo7YJssDOhFS5nlTZCiIPPXYkHz3+11CrqGL2twItrQ7Blqvua+PBJVuEI2Ihm6dXr0U2VdxO
lb8Q8gRQS5SQCMRQizcX79wJW3QOOeSQw3qxmfqBSqLApHM2jVHn7DUjlGLmxiy1HpIa56TKadXp
ixAKR3Hx+qqPT20+jtun8NLgP6bVSjoOPELz+eP2KXzv0stoLW1KO6dwLIJwPJIm/yPkCfBwrRp1
80WoW4MN65OI9TBh3mntmEBbaRNmXIY7qqMyncuiK4AjYn1a7a5T20brfSxwrOjScXD0YR6MHhN6
HIvgSDI3+lvrVZif1iMU822IcWvcPkWTCyekqDYqf0jF6KwTN62TSfnDnAz5XcN642a2ml27pgUf
z/WiS9eO3tsSbGzM8al9OqgseOLEAVr9INWPd+naYfJYafklAJSJ9eh10dnu77Rnd27AlFxCYxnK
KcnTwR2NbXp4pFHFXGNvzOXLdxVNVcV44SuHcNM6ydin66YQFjDZ6cezl3DFPESqKaQOXTHJBRMD
hUT9xBV0YXR5AqNDw3jh+DfwlY7f35LPem7ABG8ggon5Jeyvpdtt5uV7DQYorFNMccla/UJG+dBP
cIwxMuNijBVGZlx45GjuGs9mHNC0YNHvRCAShMljgVKsgFiQjwOafTt9avcE7tpwVXd3NyoqKvDd
734X3/72t8nHpVIp9uzZc7feZttAdbRKcRnq9uhw5RoHEZkRYVf6zSmOOKqK9CgVl6FS1IgGdS1J
68xG6zg258Qt+wxueW/AFjKjRl6F+2u6aA59yjnHeH7UbSJgdROE7ebJ5XIZdZyfanwEtr292H+7
UDk+xzw1n8Puwma1gcftU/houg/T7lmohFrUapvwR42NGJ2z4/er/hjT/psw+Oagl5ZDL9iDX7/j
QiCYtMEP++lbFOOOaQpdbgyeEHPCuuC1QS1WwuRdIB8LRoO0gQJqYruez8aWQD3ecAp9psG04Ila
aA/HIqwDPDma551Do7wFZ3mX0G8eQqe2jaSz1Ep04LjKMeubY7SvcfcNcGc4+HjmMoqL86CW+tDv
PQvtihZH9B3kBgaQ/I1FPBHJ8iPPK8Sk04C//skllCjEZCBN3bxbS5atQFwKW0pSzGafz3d+CSO2
CSQSiZz93UNYS6aBsLfCPBn+/PSL0Ij1EAfKYXfkQSSUoLXgUXCVZliCJqiFWnCWtIg7gTz+dbSV
NiOBOAQ8AY2lhc/lQVeowfm5vrTNOmIT82j5QYzdtuXZwBjjOc4FxgB0bcv3lMPuxXZs2GZqDkwY
ywAkh6q6u/JQWhnEm7O/SYt5iYHGYDQIlUTB6GdFPBFMngVIBGKcne5H0KZGQGyAR2uBM1+HD286
cLq3EJ/qrGCM7VMb98Rxc/57azG74IG6ZJrRRuKJOEbtE7hf/hSGnGdwtPwgPCEfzW8OWUdotPJM
fpNpmaYwT7ZplrMcckjFRcMV+MIB1jykRdmK02M9dyy5sxbDSSaGCZq/19Xg+e50fz8y64JIwENE
ZoTPxf55dIpi2Cl1iJ6+lbRcla0p/82vfm1Txe0GVS2e7/wSzs31QZFfBE/IB4t3Ef5wAAe1rRs+
3t1i/MghhxzuHfRM38Rl0zWY/PPQScpxSHcA3TV77+iYaw0IsMWfNfIq1Ag68A//ZkJjpZ+sZwxP
OVFeVQ4hL70xS62HMMWvqfXt0VknpGIha/ORLYaPKEyYHBGRj91cvIWqonJMOudoeW08EYeQJ4Bx
2cJ4HKPXhD/9w8+iurhik9/uvQu2+/mIbQo/f3cMnc2lrPXVSePSht5rj6oGJ6oO///svXl02+d5
5/sBQIAkQIICAXADuIkUxUUSKYqSqF2yk9iOl9rZl+n16aTpJCdNe6YnN+fMtHduO83MnNu5557T
Np00k0w6aZpmj107seW4tnaJokiKWriIGwgC4AIQIAkQIAEQwP0DxE9YfgBJmbYcC9+/JPCH34bn
fd/nfZ7v830YcIw88D5I7F78wRDKlWoUst4EYnRyDC654HHKfT/Glq6VZ1ONFp/kKD8c/LHo39O9
v2uWPlFbfH30PBIkm2oxHO9P7dxRg99exopy6h37eB9kPAiZfbOttjPF7ABycxR8dNcZZj0OHF7x
ttTxeTqpRIqmUIG/oJ9vD/wLjXN1tJQ0JJDyYsSVGHErBoVMjia0E1gSeQcP1rIPouPLHwwh94jP
/Vp1Loc+Mo+sYBHYnA8b/5ucPFaLQpaNg7wXiK3D+xy6tC390s1fY85JVHKlQK6CqK13WfpYC4dE
xwHAvtJmZpftNOsb0OZrKFPp8YcCdFn63rX5KbYmiNltIBREKc8X3WO2l+1D1ZYn6pdslnA5aHJy
e8zB4nKAYnUe4XAiAfJRw9SsZ0ufZ/E+gkQiXpzQ8PhDvrEPBraNXGUwGDAYDPzqV7/arlM+NKRM
tNhQyPr58MlPMhTsE/3OtNvOU4bn6b25wr/OLTNbZyUSIa2j12UaYNQ1xhvmtxKkRK9auxMm9NIC
vWjlanw1EcTJPoosngqZHKt7Rpx44BzB4XNgC0UDlc8d/dxGryeL3wI8SG/gZLu3MM3g4m2ejDyH
QzlF/5wFvaKCvfmn2REu5Xs/H0r4fnIVRaOujorCUoHdLpfJRa87u+wASeJnyeRBuG/bm3m2dBuj
UZeJ2WV7ivOU3Gd6R24hXzn0IoP2kbQtMbJ47zBocvLX/8tMx4FnCGqsWJZsVBfU0Chp5c2zbnYU
RChoS62Qgaic8oBjFKO6nEsJqn7RSqRPNn+UK5ZeKtSlSJHSM307QeVHryoG3TJnrzp464aFv/zS
kYTK0ExStK41G8c+omJiuZfv9kwKhIN09nl+8hoD9hHWwiGBQOb0LdKUtb/faqTb1M57F9ij301h
biHBcJCfD75GOBJmal1qeZ/mGbpvBOhoKuX6dT+f/vARFj1+XrlqQiqV8KmPPcfrtpdFHOTHkElk
jLvMGNRlacl/C6tLlBbomHCasQesovc4F7Ax7pzknOlaVpo+C1Fsh4pK7DyZCFqZ2u11NLYxZlnk
WGcew9I3CHlrMxIaHV4XTt8CT9SdwuqZSeg7HyPw9s8OIJNBb+AVAivrY8wzjUJ2k305z/Cfvj2d
kjwfNDm5eNPLsYKPsaqcwuabys7f7xGO7S3nguec6N+s7hme3/kxRu7K6djbyiv3fpMyb56pPSrs
qzKRpgF27qiiKL+QXFkuPx98jZeH38hWlGexLYjNc/GFBPNeFwZ1OYUKJf2Ofqxe8dYaQxkIUcnI
pHAyYB/hTM0R8fvb5HzfUluMP7DGfHA65XkcXheVRRVIkPDa+G8IR8IJiq+FJO5V0/nMwwt3OMaD
kRViSdZk1YkBx8iWVSe2S/Ejiyyy+GDgyvjdBEKo1TNNn6MX+IN3RLDKpEAxZB9lzGXmVPVhlgM+
bJ45mnR1tGj38c3/PcXScrQVtml6SYhntNQWc7bLzLHOZwgWW5kP2DAWGqhQ6+mfu80TdSc37b+m
KyaOIe1eOGCjozG63gw7xhJaASaT2jV5RdG4oQhmlx18u/eH/N7+Twnt7rNqglGkW++1cgMvvTXO
r6+YONxSlhBflUolHNlTjkQCf/j/ntvSOzxSdQBNflFCsr+5pIEr5h6+2/vjDWMJ6WK9+DQJ8dqD
hla6bf3CnzP57ucnr1GcvyMt4elAdQPdszUbKm7F71VLVFo6je0C+S8Gy9I03+75IX/Q8bmMY0fM
n1LI5Jwo7wQR3k62DfmDk9kzxRA2c1wsNzHmNKOZ/TD1hn0UaXo2zNMlK6vNLttx+JyiNiqJyDig
62R2dQpjoQG9Sstt+wX2P1YmFB+EwxHgwVpixxAbX1e6VoW537VmQ6fSkCvL5dzkNToq9vHLwddx
rizQqKvPOF6Tf5Mf/tLDyaPPojTamVg0ZfMo7wEytYFMN/+XFui4PTeU8vmsx8H8inhuw+qeIRgK
Muedv9+Fpu4UN2cHsHud71qxWfyaEG+3zqANY4ERCREOlO9ldX2PqVcV02ls58zOwzyWdDuDJidD
9nFMwVui4zCecDlocvLryxNcH5hL2Oed67U9sgU0laUFQpvShM/LCh7C3WSxFaQtTlhKVTDMYuvY
NnLVH/3RHyGRSNL+/a//+q+361LvOmIb15hySaxlxIJ8Al24QlQ+06Cs4h9+ZhHalU3NeUQdvZjU
69nZn7FLK578iZ/Qd2qqhJZpMcRXE8X+H2OCiy2emrwi5tJsROfjSCyBUBCnZJysSsVvPx6kN7BY
wKatrIXX4pL3NqYZlN3iI7pPCS0c4hFfRXGi+hC/HHpdSOKnk+s0qsvpm7mT8FlsUxI/BmMb2808
W6aNUYlKJ7TQih9rYk5pugqnLN5bXOizsuJf49LVNXLlJWjUlVCr5ZZlkUg4woLbn7bfuEFdxp25
IfSqYtH5dnHVzdHKDqY9s3Tb+umo2CeiVnFXaPF3vtfKmZP3K0Mz2bZOpeHaXFRhwOKe5vzkNf7i
zJ9suHGf887TZe1DIZPz3O4P86m9z27DW8ziYSHdprZZX8/p8if5xfAr9Mz3JPwtVs0LJawG1gC4
3D/DJx7fxRtd0cTq5LJJ1KYdXhd37cMsB3w8UX+KAXuqbULU3lpKGrhovk69phaLO3X87NRU8V8u
/q2oZHQ2SJIFbL4aNBM2k7DP1G6vXVfCr6+YCKotqPzKtITX2Bwb8zGM6kVGnSZUciUD9hHB95dK
pBysaMUd8KattIeShOR5cnAxV15MabGRo59qpVH/6AVf3mvsrtEwZinL2OpRLtmLZcEu+pu6VhYp
URVjdc9kJE1b3TNolRpUciWXp26sfz+crSjPYlsQm+fCkTBd1j6OVx3EgUvwSxUyOS36BtH1Wiur
YMy6QL0xfdtSiM5V6qB4ZXmuLKogkq7CfLPz/al2I5f6bYJvHnueWAu+HKmMS+bulPOsFVs5vStx
77XZpNhWEZvzN3qWDc/zgGrRWWSRxQcT3bZe0bml29bHsbo9D0z8yaRAMeo0Cf5PbJ49Xn2Ii1e8
5OfmsOoPCf6pPxjifK9ViKlduroixFd6V4J89AuH+Wzb9sYe0hJ6FQbad5UAGys9e4M+WotbMsYT
r5hvEPFqsmqCcYipvyev93K3EX9wBX8wRKlWSaFSjipfzoLbT0dTKT1Dcw/8DuPjqvcc4/zlhb/e
dBFOuljvyf1GGvXahO+4/ctMrScGM/nuDq+LW7ODGdWkzuw8yhVLT1rFnXRkqHhFW7gfx97Il0hn
7x6/N0WFBbJtyCE9mf3iTavwd7F5NVMMIfn/mQoPmorauHnPwfW7s5w+XppWATvmryeT/TLZqHnJ
gv/uMVr37aTL+TLLM+uxN2xC8UF0rs6c09kI8ePr0tUVCpVlHH+ikKuzlwiEgnQa2xNi4VNL0xnH
a/xvkiuXoVHncu26nyc69/Lfn//8A99nFtuDdIqWOzVV9EzfTjneoC4jV54rzKvxSBb4CISCWD0z
2NfJVrfnht6VGHG8zYbDEcFuzxw4iCvYS9dMt/BcmrwiBuwjlCi1nNl5NOE8gyYnr/f3Ycu7lvZa
8X7WlVs2vKtr2QKaODTVFtMzZE9Zn5tqHpzwmcV7g3TFCem4IllsDdtGrjpz5sx2neqhY8Q5kaBc
EpMknnZbaMk7xZDsVsripA3vxONLdJSSJ91Bk5NvfO86LSej7UbSOVbxE/re0kas7llW1lYEFm7N
jkocnkWMhRXUqndytFK8vVkM3qCP+uJmUWZ9ubqUwbgFcmLR9ABvLIv3Gx6kN3BywCZT9c9MaJTS
4iqm5paTrnt/Ud2tryMyCAUKJSq5kgKFUnQDIpNKUz5TyvNpL98rjMEWfQPNJQ2bfrZ0GyOjupy1
cEiQMg1HIpleYxbvE8QnLoKhMLt2R/AW3iR3xzRHlVWo/bVU6AyMe4cSpG0VMjkFcuWG8+2XDv4b
Xrn3Gw4Z2giEg2mT6TvUFVTWhHlz+DonqztZDniZ9syxW1vLoIj8eTwJNnaeS+buDTfu8cffsN3K
kqvep9hsK7RMbcK6emeZCYurUMwHbWjUlTgWVtCoczmyr4y//Wk/HU2l5OfKMAdvin7P6p5hR24R
KrmSa5ZemvT1aQPRFya7MBaW8X/s/wRXrN0p91haoE0YU5CVps8iEduR+N5Mwj55HMUnj3brtfz7
z7bz86l/QC6TU1ZQkpZkM+o0oc0v5kBJB4fLDmBUlzHqMiGXyQX1qi5rHwcNrWjyipBKpAkVyRCt
tNeoKxOS58kBX38wxNSch/O9VqFNeBbvHhqrtVhWWrk5ezdlHsuT5WJZnkLtbSAn7Etoxxoj8M94
7Byr6uCufSQjaTq2TreUNCT4tNmK8iy2A/HzXCyZHG+HgVCQ3DQt9gzFWr5155s0zaavMo+RQIOh
cELFukFdhkquwun2c7zgY2nX93R2PugYT2mh/Wf/9jB3Z0cZcie2bwAwL4qrZbpC08J8OewY45ql
jxKVdlNJsa1iu0hbLbXFzM570ahzWXD7hXXgnSgLZJFFFr+9sCyL7+ssy2ZGLQsPTPxJFz8oV5fQ
PzMg/D8QCmJ1z/D2RBeLSw0ocmTsqdOSp8jh2t0ZwuEIgyYXX/54q2hMbTt81uQ9cktJg+he+NTO
Q/fn/AzFZyerD1Ocv4PccBE3ZP0p55GsP/fw/Dh58/ZsMnQdCerv6+pkeoWBqtzd/OzVqDySVCph
KTzH8addjC+Y2JVrwJCj4drdxL3Pg77DS+bU+IImryhtG6lMsd5MdrWR794/M5AxppbcySBZcWcj
8l/Mb4vF/zbyJdL9fcYzS4lKl/Ac2bZqUYiR2XPlMlT5Cr7xveuC0EHyvJopFhePdMfFCg9ihESA
i1dX+PzHPodHbkpQaLtsvoFRXc4ubQ2jzsmE82ey0cqCam54VnHITKKxN3Q2njtxgGOtBpprtQ9M
0k0eX517yujz/CItISx2/XSxvwGTC6lUwrHOPIKFU8yvzVCTU04onFWyeTex2Th0eFnDc4bPYV0d
YVXqQZ+v5URtB0CCUiREbf1o1QHenriakTgYD0eSWMe58evbHiOO2eyvLk1gnvWg1+STp8ihZ3gO
5T6LcFxgXVULxOfXK7dsrBZMYV+aTzsO4/eWNocXx8KK6D09qgU0I+YFOppKWQ2s4VhYEX6LEfPC
w761LDZAZVG5oDgXLyJkLCp/2Lf2gcC2kateeOGF7TrVQ8chQ5uoJPETtY/T/XaQ/fXPIi2Zweab
olhWgTpYQ2/Pmui5khMvqnw588HptI6VVCKl07if7/b8SFgoDxvbGJmfQBKRoM3TMj2upLtXzomj
lSytmPingZ9wfaaWx+o6RTcFe0p3c9d+T3SBVCsKEnrtZisiPjjYSJ47GckBm0yVFfaAFXlObcJn
8VUUw44xrph70Ck1KGRypj1zLAd8fHTXY0wt2XB4nZTmViJZNBCYkdBaLMEZtFGSa0SxbGSfXs3/
6v9hwhgcdZkoUWmp09Zs+GzpNkZSiZSe6Whlkd07T4lKxz3HeMYqpiwePuKlYI915nE78isCC0Gk
EilGdRkObjNsX+BgRSslKi3dtn4atDs5Vn2QK+aejBvZRl0dddoaThR+jEBojmlPqjyuVCJFV5RH
x4dmedvejU5ZTDCQS//sADplMRXKmpR5NxyJ8JbpSsq5BuwjfOHAZ9Ju3LNVar8d2EortEzBum8P
X0DXLK66VpprxOL2s6dOy+TMEnOuFVb8a/QMzWEsKaBMb8DqSfyeVCKlo2IfVvcMs8sOygtLKS8o
JS8nl9U1v3BcLBDdVtaCRCLhe30/4fnGJ3D4XEy4zMI9fq/vJ+LPnyUSZLGOzVaDZsJmktyxcXTV
3EMoEmY56MPmnuGSuZt59wp9pjlKd+ixuqeRSSUcreygy9onEKMUMjlGdTmna44kqFJ+7exLzC7b
hUo3QanTPYvNPZtSkQygUxiwuP080VkqfDbn8m2o6JnFu4sCuYqOitaEgpT8nHyIQHtZG7a8IeZW
okUzNTuMmBdtOHxOmvUNVBaV88bYBc7UHsW1skhRbmHGwGIsmLiwuoQmr4iW9QKALLJ4J4j3Fxxe
l+g+rNvWz2O1R3EHlplesmMoMCDLiQgt9mJKqWL+SDwJNF6tpMSwg9tzHhyLK3zi2byEOER8wD5+
vo8PzhXnVHBz3EnvsD0hodVcq+WAs4xL5m4G7CPr5zvEJXO3aFV00/q6Ee9jdRrbRcfiO000bsfa
BbCvTYZLPcd8cJqanHLknip6eoPvSFkgiyyyeH9gMwnM5GM6ytuYXp4lRypLSGBUFlRzvtfywMSf
dPEttaIgJX4AMOqcwGMrYdbpY2rOQ65cxpE95Vy5PS2QP7caL9wMxPbIF83X+cqhFxm0j4gSVyD9
nFxWoKPL2sdywEdeTi5PV77AdHAMm2dGKIq4vt4erlFXR89lu+h9PYr++JvdUynq7xa3H0mTHLlM
ij8c4lhnHpc8vyCwGP29LExzW9YvKOXE40HeYWwvJ5VIOWRoE4pnM7WRErPLjexqaH6cmh3GtAWP
JcVbU9xK9xzxUMjkRCIR9pY2EY6EhPbysLEvkc7ei3MM5Hur0BZPMR+00VC8kzN1h7NFbSTGhAVC
j9rCzeBNWk6UJ7TPi59XNyLOxRB/3ND8OAZ1GQVyJYueAPskz3Cla1U4NhyO0Nsb5P/5w88mnGN4
fpypJRs3bLeoL65NKZDIS1MgccjQzlihXWinnQxH0MbXn/894MHbI8aQPL5WeuqwuG1p8z/RQrOI
6N6gpbaYqtqgEJ8HhFbfpx3GrN2+C9hsHHpo0sm3fn6bmvo1VguCOIMuCObhdK9yrG6PYOvjLjNt
5S20ljVTp63hvKmL9vK9Qit3vaoYY2E5vx59O+VekovDxxbemVhHOp+ruVaLRALf/Okt7o478QdD
5MplVMnFO0uJzb82h5clxXTGcRi/tzToVQCibfAe1QKayRmP4E9q1LnCb1FVWviwby2LDVCq0nO0
sgNfcEUQEVLK8ylRPVpFB+8Wto1c9f3vf58XX3yRv/qrvxL9+9e//vXtutS7juQ+yLHgoWtlkRmn
jBkn/OWXnqapRsvQpJPL/TZKtCtMzqb2Bo+fdOdcPoJrIUoVBmyeadEJvdPYzq9H30YlV7KwupSy
UH7n5ducv2zixNF8Sd1xhQAAIABJREFUunxx7do801y1dgvHxS+qvxh4ncUVDyerD+NbW8UX8CGX
yZFJZHgDKyz5PcJzZisiHl0crz7IVUuPYHsLq0u0pCGk1Gt2cvpjeznfK15R9I0Lf0N7+V6h3Z8m
r4hBxwiDjhEOG/bTYGzg5z8N4vFFN+y58hJOtLVxfWCWQNCPRDMs2Hb8Rvx/dP8jTfpdGft+QyqZ
YWdxNUW5hbxy782Ujf1ro+eIEMk6/u9jnD5g5O64kwXPKkG1hYArahuHDG0pssUKmTxlY3Fu8mpa
B1qpUPKdG//Mcu4aUpeBEqURK4k2f8jQxqWprhTCbUdFK+OuSXqm+/nq8c8nXPMf+n6aonYCUUe/
UV/PVw69SJf1JpalaSqLKmgra+ZHd/6FUpVOCMJm5+T3L7baCi1dsK6hcgceTxUK2X1lh5giT763
ClihsUbD559s5G9/eovHTqkIFlqYXblJxY593F24b9N5Obl8suVpXho6SyAUTJh3P7rrMaaX55hx
2zGoy4g2cZbQN3P/upOLVgoUSv705Fep09ZE70+7k0kRhYks6S+LGDZbDZoJm5brXx9D8QElq3sW
VaOS6ytvEVhOnKOfbniMmzMDGNXlKOV5vDl+icBaIIFc1VLSwNSSTah0iyEWLNKrihPWDoVMjsJT
yZHDsFZ2h+/cuMty0IfHOMP+6grknkohsAuPbvDlYWBg4Q5XLT0UKJRUFxkYdZrwBVf59J5n+cXg
awlr+JjLxKnqThxeJ8PzYyjl+ezW1UV/c2UxMomUz+19nhGXialFm5DAiyVN9CotKnk+ywEf8z4X
K8HVtEmiLLLYCuL9he/2/CilBWA4Esa5skBuaAfh4ROstU5yfeZ6wjHp/JHkqn9/MMSs04ciR0Zg
LcThgwpesf1z2oD98eqDXDRfp62sJUFduEpRQ3doWTjnxZtWpAULXI4L2v/+gc8KxSwRIhnXjXgf
q9vWzyFDG/6Qn3nvAs36etGkWCbEgvWxe2kra+ZE9SEGHaPY16utk+9hs+f91s3/eT8es55Q+uMv
/MEjp5CSRRYfNKRLYD7f+ARd1puCcs63bvxAKGCJtQr7ncaPYFqwJCQwOssP8E/dD078ESMI7Mjf
wcj8hOjxerkBf45UIP77gyFWA2sUKuVpyZ+bVcPIBLE98uqan0H7CF/o+Gyab6VXqM3LyRMKgVfX
/CxGpqnL3Y/NMyO09s6RygAZx6oPEjB7GbMsppz/UfTH49UkYus9gHVumdJiJXMuH2tqqxBbiyHW
pjdXXpJABoy9w63YSWyPlxy322obqUx2dbz6EAOOUc6OnU8gBRjVUUWG/tkB/uPJP0z47rhzkosJ
xO8N4stxe9X4eLLT56K0QE9+Tr5Q1LMZXyLd/rlRvYe7kyEqZQf5VNsL7KrM3Or5UUJ8e7CTR/O5
GXpVsF3ruv8V3z7P7rqvAJWJOBcPseO+8/JtXrl6nzSSkyPlE8+rmA0N8yevn6NWU8mxqg7aK/Zy
pLKdtyYupyVw9M8O8Ok9zzLkGGNueZ56bQ1nao/QqK+n+FNOXjdbsHlSySLxRTzp2iM+qDpfzBa9
QR8d+tYEvxjgaOUBhubHhM/j9wanDxh5abRXdA7JKt1vP+45xnl99PyGaoDDjjFeN19hz2k5l8xd
BFzR3EIwHOB/3R5Eq/6ycGwE6Lbdwu1fJkKEY9UdfOPC3wAIxYcFchU5UhmBUDjhusnF4aW5D15Y
shFprKlGy1c+2ZqgarhvZw1DS6mdpcTmX4NehXy9XX383tLhdVFZVMFTu04n2OuxVgO/vjyRUjz5
Tltz/jajTKdias6DQi5FvyMf70oQfzBEuU71sG8tiw2wI0/Na6NvU6BQ0qzfxaBjlOWAj8/t/eAI
JT1MbBu5Kjc3KpWpVCq365QPDeOuqJRzMgnDH/Hxbz7eTINupyBf3FSjpakmKst5a8QhOukOmpxc
vGml1LiKqn6GooI8FIvylAm9UVtPsXIHCpkc86KV8sKo2kS3rZ9zpms06uu5NeYkVy5LIBjEIObA
DDvGeGnoddbCoei11vzM+xYwqMuQSqSo5PmcqDqEVCLZcqAyiw8eDla0MuaaZF9pE8YCI2X55Yy6
TCmt1qLVM1pR2fBu6+31TUQgobVfrL3mWjjEmk+BdzWxEmrFH8LjC1JVWoAv7BE2IskbcYt7JmPf
7xjiN0YTTjPf7P4+4Ug4pY+41T1D7/TtlPNtR3Api3eOYccYV+ZvkLd3nEMFlSjz8pEuSMmRyjYl
W9yor+eTtb/L2PIgp6o78QVXMS9ZhUTpvwz/hhypjPbyvdwI/AtP6Z/n7mJ/QmAv3XXWImso5fms
RNz0Wm+xI79ICNLUaaoE5ZRY5ao36ONY9UGGHWP8Xff3geiG5ebMXSRI2FfWhMk1xb7SJuo0VbSU
7s7a3PsU29VO5lS7kT//jpWOA8+wprWhVefiCSwz45kjVGTl33/xAMfqGgF44kk5Pxr6JQF71Ban
l2fpNLYjjeSQp5CzElzhnOkaLSUNlCh1DDpGaNLvYi28hs09S1FeAX7lDly+BQ4a2jAtWlLsejng
47zpmkCu2g7iTBYfbDTq6/mLM3+SoEwS70/GWjvNehyUFeo5UtmeMq9txc6Sg+tHKw8wKWLLMXWh
x2uPshL088vhs6yF1xhxTtBlGuDqVA9W7xTVRZWiKlexYJHTt8hzuz9Mt+0WBmUVqtVqSouV/Gzy
B7SH9tJnjfNPmEYhu5UQ2N2u4EvWJ9kYyW3d64trqS+uYXh+LIGwf9jQRpgwt+aGKCvU02HYhzfg
49JUNxANYLt8iww6xqhQl9Koq+Py1A0heaqQyWkvb+EHt36Z4EtesfRsOkmURRabQbq5MT8nn2JV
IYrGMKaAeIs9MX8kvuo/VnW64PZTrlNRoVeyVjqAxn5faQUS/epGfT1fPvi7/F339xNsf0A2kqhy
oVzgv178B9rKWijMLeC69SYTLjOna6PKgRupCMTfezgSpsvah0ImZ49+d0pyftDk5M3rZsYsS3Qc
lLOQM47FY2FPaQMnqw+xFg7xXy9+U7iXG7Z+AmsBlgIepBIJByr2USBXIpNIOVrdsaXxm45oP7xw
h2Ps2fR5ssgii/cf0o3vUZeJ2WW7kPhrL9+boHAaCAWZXLQICjoxwv+Tu04lzMHx2CzxJz6+NTTp
5M7MKPnyvLStYu17rnJQYUSzVs+bF904Flf4iz84wq5KjWiLtWSiWHLMbTOtqMZdZtF7j5/X0/m0
8Qq1br8H27r6faexnW5bP+FImIlFE19+8vOUTkmEQrUDFfvoNO6nUV9PuN0pEDBieFSTobFEaDLK
dSokwNF95fSt9Yt+dz5o40OHOnj92iThcER4h1tR74b7Bbzp4mlXzT0AvD3exfiCifLCUopyCwiF
IpyOU2xKF2OZWrTRnzsoED9i/oImrwiAQnkh//HkHybsS89NXGXUNRlVoC8s5V8nLmd8hmHHGDvy
1Bnj0wqZnI/UnaRAoaS1rHnDzgjJftCekt006uu4M3cPT+U4YV0dobx8IEuuiiHWHmxgYh6z7BqB
uVR7ChZbObW/Fd9qAL1hlf/vwvex+Sw06R9873ys1cC53mgXGu9KkE+/oOFfzD/HF1zlkKENj9/L
P916iauWXj608zinq4/gWHEy7ZnlifpTOLwurO4ZKosqkCDhh7dfFuLDN2z9nKk9AkRzixLVMfoc
vQn71k5jOyvBVb529hvRwjNVOVKpRCjkimFUhFS6GcQX/o67JmnRN5Cbk0vP9G0OGdqEe4nlc7pt
/cLe4Asdn+W7Q+JqW1ml+3eO+LWyTlOFTCrDti5+kE4NEBDIUS0lDayFQ4nxkcJaBubuIUGSdi6P
zU2mhSmebngM69IMp6o7WQ76sC7NCPnkeN9HIZPTUNjyQM/WqKtjR56atXAiaTA5tyOmaqhVb6xK
B3C8zcD5oToUstsAmBam8AZ97Mgr4qO7zhD27uCHvUP0DNtpqNzBqXYjTx/fSWVZIWOWJWacXnZX
afjQoapHtoCmqqyAmrJdWOwebHYve+q0VJYUEiGy8ZezeKiYcFn4ZMvTTC5Y8QR8NOl2UaMxMuES
b2WexdawbeSqz3zmMwA89dRT1NUlOpLj4+/vRTV5Uu807sfqnhGvrpAN8Wc1fwQkTqbNtVr+8ktH
UpR8AP7Tt69x6KCC295fEXAHkTqkAqnK5p6lRFHFnpz9VBdH6Lb14/C50CmLycuJtp06ZGhjzGli
3DnJ0b1lXLk1nVYudMAxyk/uvEprWRON+nohKCBGKFHI5Bw0tFIgV2asIsrig4/kTbJl3dZPVXfS
WtqMbr1P/c7iaqGyQuwcb01cZdw1SaOunp2aKl6596YQoInZ3Knqw3Q7L/Kxj57mZn+I2nI1wbUI
V+5Mc+JoPkH1JM71ti0FCiXeoG9LCjFiuGC+jk5ZjN07vylCzlaDBlm8O0i1S9u6bHIbpoWptG0r
Bx1j/LcLf4deVUyTZi8//IWdQ817GLB7qGg1EwwFE9o/BUJh/KGonTqCNk6qP443z4zNN8UhQ6ug
VJGMafccoXCIHGkO583XsblnhSDNBfN1cqQy/s2+5xl0jDG37KBZ3wrAFXOPcO057zydxnZ6pm8l
jr+5IVpKd2/fy8xiW/Eg7WTEAsnNtfX8+Rc7udBnRRbO5eLUL+LsYJo+Ry9a9R+x4PFz23kzYe4K
R8JctfTw3K6PcnbiTeFv0545Oo3t6FTFjLkm0SuLqdfWMu91saekgRm3nWHnOHPLDvH7FGnFtpkN
axaPHpJt+gsHPpNCUj47ekGQH44Q4ezoBYCE47ZiZ/H2qZDJkctycCyKrwVW9wymhSkWVpf49J5n
+NGdVzhYsZ9v9n77vj/siSoe/s7uD3Nj+naKQlGTro5P7X2WT+19lnuOca5aernndQKk9SfQ2Xju
xAGOtRq2JfiS9Uk2h+S27nbvPJp8dYKvcMjQRq9I5fzBijZeaHwS85KVAfsIOmUxBnUZ3bZ+cqQy
nqg/xc2ZAfSqYhqKa5nxON6xb5pFFhshlvDott1iatFKaYEeo7oc+/I8r41HiwOe3Pk4Fvfm/JFT
7UbO9VrpOCAnWDjF/NoMNfIKTu+sQavO45XhBeQyeUICJRwJJ8y78f5zDLGEVq68BIAVpZm2wpaU
2MOAYwRNfpFAENhI6SL5GnpVIgFh1LLAN753HY8vyImj+bw5/5JQUDbjsfN33f+IUV3Ok/WneW30
bSEm8sb4hbSqt1shsm4X0T6LLLJ4/yHdOI61BZ5bJ3P4Q/4UcpPD66JEqSMYDgpk1SvmG5w+8JEN
iT/p5qD4z3fuqGF1rpRwWEJplZ6ndp3B5p5lbnmencVVrIXXODvxr3RU7GN1zctw8BydTxipVDQL
xCoxv1KMKBbzazK1ooopFQ6vt9LSq7TC+hFDbE3ajE+bqFA7I8R/uqx9NOrqhEK15GJJTX4RzbX1
/Od/dyRB3UKMBPYoYFdlkWgBeH1lEZ/5cLR4K9YSDBLb/WrlBi5es/KRw9VIJQjv8Ls9v9myevef
nvwq/6P7H0XvMRQJJ8X7pteLGPbyjQt/w6nqw6yFQxwxtmN1zwg2FSMWyCRSrltvphA/5rzz5OXk
8idPflG4VrLtJduW2DPEvhPzLUKREGvhtYR3IJVIaS/fy5Lfw6BjVFCA2Wg/EPODhh1j3J27x99e
/9/Zvd4mcL7XhmKPRfRvzqAN/3QN1XVrXFnPv0E0jvyg71NasMCJpxfIkUlw+71cmOuhvriWmh1G
zo6dT8h3dFn6eL7xCc6br6HJK+KNsWjco6xAj0Im58Jk1/pZZYB4YXB8TKTTuJ+X4va2MXXE+IKG
WIvEHN0kXzt7adMtbOPXlvj5NEYW/FjTkwn76uTxElsjm/R1m96HZLF5iK2VCpmcJ+pOMbU0LZqv
Hp4f46ChlUAoSKlKh8PrEj1u0DGCXKZIO5fH8sOBUJDfjF9KyE/rlMXIpTkEw2u0ljXdbx2oqmS3
duc7eraYbSUcu8GeajOqdLGC/UmpiU82PcvYggmbZ5Y9mkaOVLYz717h/MR55sPT6JrL8Xiq+PPv
WPnzL3YKa2UWUFyYx/d/PQSARp1L37CDvmEHLz7d9JDvLIuNUKMxMOYy4wuu4PQtIFFKMC1YqS+u
fti39oHAtpGrYvja177GSy+9tOFn7xekm9SPVx3EE1jecOMgVr3z5Y+3Csf/8OwQCrk0QWkqvgLz
SNkJrryh4rlnAvxD/0spjktM1rassIT/cvFvOWI8gKF9BaNmHzPLsyltp/SqYl699yav3nuTvzjz
JwzPj2dUXvEFV5jziCdYs3h0kK4yb37FJfRQPl51kO64yop4iG1Ub88NiQZolgLLuFYWWS4y01C5
h5GpRWor1HzyGR2vzf3ovrSve0aQchbDVgLXA/YRKgpLKVl3MDc631ZbfmXx7iDd7+AP+fEGfdQX
1oq2rdSpNAzY7xGYDXJedo3DB5/FMx/Auxpkxj+V0v4J7gdKbT4z//3J3034m9O3wNRSKqFVryom
Pyc/gRiVvOm8Y78nJKIs68oWp6o7hXNkmp+z9vb+xVYVndIFkp8zfI49Zbv48sdb+W7PjwgsiNuB
QqIUnbsUMjnTXmvCfRwytKXY5MB6S9afDfyak9WHCYdD7C9rYdozl+JHiLViy9phFsnYTHLk7tw9
0fmxUl2WYlObluuPS7pr8oqYXLCiUxaLrgVlBTpuz0XbDA85xvhk89OYl2yi8619eRG5NCeBOBA/
pmPPq8krQr6efEjnTziCNr7+/O9t+CybRdYn2RyS27on20em9bZYWcQvhl5Lu5Zb3TMQgVGniRea
nuS7vT8WvYcsqSKL7US80mmJSsesx8Hw/Bh7ShoJR8IEQmE8a24KFMoUlWExf6S5Vssff6E62spu
4X4rO5UKem6m92Xj/YJ0Nj4fsKFRV6LIkTG3cpei/ALRsXZ+4jqXrvi4NeZMq3yykY8VSxANOcZo
OVlB8dpOFuWTBJypBWV27zwtJQ0EQsENfe5MVdyiSeMHINpnkUUWvx1IN75jbaNjiCdbQZRosb+8
BevSDI449fYR5wRf6NBmJP6k862/cujFhOR3LGbdUdHKq2M90RZ6Sh1KRR4KWQ4XJrtEi2tvyvqR
XZcytjyQNsaSTBSLzfnpWlHdnR1NaSebnCRN1/Y1/toxnzZT/KdAoeR49SEumbsznkNM3eJRxL56
PZZZD97VNRwLK+g1+ajycthXrxeOydjud3UZqYSE/MaDkIrrtDU06XdhSdqrKWRyltMU0sYKH+dX
FoTx1mls56olqnQlRhhItju93MB3Xr4tFLtksi2FTC76DPHf6bL2icank+9lK8SoYccYf3X5W+zS
1mb3epvAhT4rcy4f+9fbeyWjQllJn2eVCvXMtrSqi83J7eWJatUxgopYvsPhc6GQyRNizi363dyx
D6eoDTXrGwhHElVfGvX1RLwaVC4H4/ZronYR37bzWGcetyO/IjCb3v7SrS3/16k/Fh0XECVZZRov
MV83q3T/7iDdfOXwuSjOLxLdz6jkSsackwAsrC6xr7Q57b7nnnM8Zb2H6Fyejogas/d4P0iTV8So
08RJw2nRzjZbeTYxH6RCWcXQpDPh3FsqhIl7lk5jOz8bejXhufpm7tBR0cotV3RtibV47zjwzAO3
2vygYmjSRUdTKf7gGnbXCnvrteTKcxiadPHsieze9/0Mt39ZNC5fosra93Zg28hVLpcLl8uF3+9n
fHycyLqD4PF48Pl8G3z74SHdpK6UFTDhFZdHizndl/pt/PWPbwJR1uZbNyxC9Q5EHb+7404Ot5Rh
DvamnCcQCjK2NEyJ5jizIVPaxWVxxU2DbifLAR/zKy4GF0cYXEzcXEDUgakuMnJrdohwJMwlczeN
ujr8a/6UBFCsKmVxxc2Bir1bfGtZfBAQIwbOuXx4jGOix8QHi+Kr7pIdl604RzNuOyq5konFSWqV
Fej3TDC5NkNEVsGZ2qNcmOwSqj/s3nn2l7WIJk23Erhu1NXxrxOXOVp5gEAouOH5spXI7w+ke99O
3yLHDcdYk6yKyuDH9/4OhIIENVYWTbUsuP3UpNmIxzYIZ2oSyYPDjjH86wmZ5Ouo5OmV1WK2nxxw
DYSCLAd9wvkyJeiz9vb+xVaUdoYmnZyduiJqJ6PLg7z8PRd/8QdHGHKI/96DjnFKlFpRAokmr4jZ
OAWqTInDlbVodZtzZYEBxwgDjhFRPyIbCMliM9gM4WdiYUr0mPGFqH/9IK3u4gN4C6tLQgttsTla
EbcWFOfv4EqSrceqswOhIOYlC185/LucN11jaH4cg7KKPF8V5y95ibQ7uTJ/Q7hms76BQccIzfqG
d+yfbAZZn2RzGE+StY7ZR80OI4OOkbTrrUImZ8Zjz7iWL664OVXbSaOujt36uiypIov3BPHzbPxc
E7+/mnCZ+dOTX+W86dqmFCaHFu6kzJUraysZk9nxfkE62y/PM6JpLuV4m4HbHi/XrTdFrz/inMAz
WMKs0ycon3zi8Xou35qhtV7LmY5KGo316wmf7pRnSlG1XW/HerL6MIrFVB8oftxv5HMX5IoTwtIl
47IJpSyy+OAi3fiOjzNAKtmq09jOG2MXEuZuhUzOC41PAOJtbWJI51t3icynsb1dbC2wemYoVekY
dmQurp0NmnEGZylV6RJawEIqUQzu+zUDptS5M1cuY9I3JHodiURCvaaauuLqtG1f4xH7PC2B17vA
n578KnXaGr7T+6OM58giipidXbllQwJU6FUpqrobtfsdTPrd0/kAFcoqvv7NS7TW62hvLElJsouN
pxKVTmhxlYyYLcbbpFwq54ThONblqL+fyW8HYNHAK1dNvNE1xX/7yrEN1ejiffhBk5Ob9+wMhhPj
5HbvfML+byuFksn73hPVh7hsvoFKLl5EB1mbTsaAyYU/GELuqUIhu50an12tQZUfTNvpZavv87L5
BpBerVos35Hsl7eUNBAMB9EpizGqy0VJgSdqDiUIOPynb19Do86loE289bcrNM0Lp4/QO2wnRz9J
YCaz/aWN25huMexMfSeavCIsIsXFsK7MqNIJvm5yXLSlpIET1Yeo09aIfj+LzSGdrVrdMzxWezxF
4QlihKomgRinVe5I8E/iMeuxp6z3EG0luFF+z+lb5LndH+aG7daWOhsMmpzcHnUwp3CKEruSfRCF
TE7QUcb/9do1/vO/O0JzrXbLiu6xZ9koTh5/P4FQVJF5dCA34d43aov8QUdhvoK3eu6rr07NeciV
y3i8o/Ih31kWG8G6Pickx8DFYtlZbB3bRq569dVX+f73v4/dbueLX7wvvVpYWMjv//7vb9dlth3p
N3ejlCiMWBFPmgybnZzrmeLQQcV9Wf2ccvJ9NdwYnOVcrwXnUpQgMufysf/xCqwiCX2dwkCgII+p
JXGnyeF10VLSIMiHJmwuZDkcNLQy47ELbUzOjp0XqjUG7CN84cBnuGrpERRekpnyepWWyqKKB319
WfyWIl7WO1cuY391OZYMhBO4b3tiY2YzsukxlBbouD03xEdqH+c3ppcFiWVfcIWpJRutZU1IkAqS
zoW5haJJ060ErmOb+ctTNzha2bHh+bJJs/cH0v0OWlkFy3M7yNE4OV19hEX/MjOeWUoLdORIc+if
HUgIGM75rdRWtDJuW0q7Ec+VRR3nZLu6bL5Bl7VPaOUqyN6qy7k1O5hSaRRDzPaTA65AtB2sSofV
PSMk6reSoH8QQkIW24/NKO0Mmpz83c9uodiTmPSPObVLa3Oo8iv5124zFfoKUUltbU4FBCXk5a+l
zF3eoI8W9X0CaqbE4ezyfEqQMhwJ02lsZ8Yzl7IxztpZFpmwGcJPutaTc8vzTDjND9TqLjmAV73D
wBtjFwSl19gcXV1k5JV7bwLR8eYOLEcVTPS7MarLEypG83JykYbyqNPWEPAU0vf2La64fPiDS8AS
d8ac5O2NPlcgFCQvJ7pepCN1bXdiPeuTbA7J7ykQCqLOLWBqyUZ7+V5CkRCRSGRDkmo8nL4Fjlcd
xBvwcWGyi2n3LBEiWVJFFu8JNrO/atTVUaet2XQSI/mcmfyG+GR2DOls/7l9J4S5W+poZsJlFvVt
tXIDU26/8H9/MMSIeYGd9SFyK038wnSFuTsOdhXXcGbnUaE1RQzpAv7uwLKoQnG8n72Rz90/MyD6
HtL9DtnWyVlk8cFF8vjeWVyNfy2QkNBUyOScrjlCiVIrJJXTFV5NuWf4h76fcqSyfcutRi1L06JJ
0ORYWyyxGggFRed1qUSKIneNErRMe4IpLWCT4xbxfk1LbTHmGXfC+TTqXOYC4nHsafcs//3JP0v5
fCOfNt3fm/X1wlqU9Ys3j0xkvmHHGNcsfTi8TlGbDRZb2VffkfC5mA+Ql5NLidyIr+EePWvnmRyt
4HToMMfq9gjHiK2XMRWydArxA/YRWkoaBJscd5kJD59AmVeNpeac6DM5vC6OlJ3AO1fEla5VIOpn
nO+10GhMr0Y36jQJth6LlQPsf6w8IY8T2wdutVBSjBAw6BhFKpE8UDzwUUVsHrrStcqxzmcIFluZ
D9ioKqzmqaajnL/kZcFtSVtQu9X3OTw/nlmtWiTfoVdpuWju5nj1IcGH/drZb1BVVJF2fYgnQsVU
AjMVBjfp6vh8RxPH9lXwN/0X09672L8TjnHeQ6eoYIrEcbGwukRbmiL3yqIKPrrrDLv1999lfIvL
y+YbfOvGP2Xjh+8QmdQzz46dY1dxahePQCiIQV3G7bko6fnCZBetZU2iv6NBXc5d+3DCZwqZHKVc
yXUR4hbct/cmXR2f2vssn9r77KafZ9Dk5PX+PlYLpnCuuFL8D4Bd2lrWAlJyJBPoFAbkbiNXulYJ
hyOCitRWFd1jtr/VcTwfsNHReES493RtkR8lgpXXHxRVMPX6U5Xvsnh/we6dp9PYnhIDn/HMPuxb
+0Bg28hVL75F3U2WAAAgAElEQVT4Ii+++CJ///d/z5e+9KW0xw0PD9PY+P7pWZpuwSrKKUXurkQh
6xcNnPf22tEbVqN9nBeCSCVSaisNyIumGVq8QePRUqRL0YXAHwytn+tWyrnyvVU4llcxFpaJLnh6
VTHegE9Q8onf8E64pogQIRgKJrQxiZfpbNTX8/XjX2Zg7p4gW5rMlO+fHUCTX5R1eh4hxMt6Z6r8
iK/MS6fsA5uXTY8qSSgoUCgJhALAxpLOHr+Pz+z+NJaVCcack5QW6NipqdrS88Zv5kecE7zQ+AR2
n4sJl1k0EJ5Nmr0/kO53qCqo4fWllwnY7rduMqjLyEPFGn4adfWCw1CgUKIIq1ldgvzcHCQSCR+p
eZxZ3zRzy/MY1WUUKFTIJFLRpP7w/HhCK1dNXhED9pGoYx4BnUq8HVUsSJNc3QrRzfDx6kNCRf5u
bS2DjpFN2dtWKzWyeLhIli5PJjiXFGopbQJJ/iKynIgoUSN/pYpgMEz/0msJBJKyAj2NO5pZCiwK
38sUnBMLUlrdM7SWNvEnx76YcGzWzrLYCJtJbNQX16S0gACo19ZwwXw9Y2AkE7kvntj4v/t+RltZ
i6D02lLSwEpwlVfuvSkEakpUOqbdcwRCQap3GHht9O0Un+Pftn0egPO9VqbmPAn3NefycVRZKZAf
u239HDK0EQgFOFXdyXLQh809S9O7lFjP+iSbQ0tJg/CeYnNtjkSGw+vEsv47H686KE5S1ewWnTdb
y5pTFCiuWHr4s1N/lCVVZPGuI908a1SX0z878EDzQPI5M/kNRlW1KGnrhaanMC1amHHPUa+t4Uzt
kQTb362v43TtEQZEfFu524g/uJJwPr1hFX+Rmd+YbomOtQTlhzQJohn3HHJpDkV56oRnSU6EZiLF
SqUyxhfMou8sHbKtk7PI4oOL5PE97BijUKFMWfePVB0Qjvna2W+InsuyNM2Ey8xbE5e33Gq0sqiC
3unbKZ/rVVoG7PeE/wdCQeo0VQzPjwnFtfE4ZGjjgvmaaNytb+YO1UVGFNJcpj1zNOsT/ZpT7Ube
umERijM16lwkRNhftpc5ryPFp083b27k027G5836xe8cV8bv8q2b/1Nody6G+aCNT3e8kPBZoz6q
LHlrdpD+mQH0eRWUyI28bntZ+D1sTDO0dAutOtHOxdbLCJG0CnFAQiytrFBPZJ+J/JVqfLkGbB6R
tnD5VVx5Q4XHl+hn3B5z8pVj4nZTp6nhhaYnU8gtgGicvH92gK8cepFB+wjjLjP6At2GxCgxQoDd
O8+Bin1MLU2/ZwU7v+2In4e6bwQoLa5GnrOTpz6+l0a9lki7k7d7rNQU7mTInZrfeBCf+fzktQ3j
a/HXyJHm8ProuYS5vlFXx525YWRSmeh14n3bmEpgpjxN7Dm67s6glYsLOcTb31bzngAVhaWiNvnU
rtMJxCrhGbLxw21FunWuobgWl2+RBm2t6D4rvCZLiBmXqHSiv6ME2FPSiD/kZ967QIW6lEKFCvOi
jQp1qWgMr6xAx8TC1APNS3dnR7kZelVo15mc91PI5JypPcK3f2hj2VeCxe1P2C/GVBS3quges/3N
xMkTPlMYaN9VAqRvi/yotQ002dxb+jyL9w86Kvbxq5G3Uvz/Zxo+9JDv7IOBbSNXxZCJWAXwH/7D
f+Cll17a7ss+MNItWHK3kYtdKxzrfAZ0NhxBW8IG+ntjlyjZYybgjgbwn9v9YcyLVhw+FzplMYqc
EP1Lr3Gs86NcurrCla5VPvqhj+MvmGLKY6Z+x04MyioGHSPImmw0aDvpn72bch/JlfcquVKQcIsp
AIlJKZYV6NlTupuf3HmV/pkBduvq+OPO3+PyVO+WWL5ZfDCRLOsdq/xAZ2MhNEfVjgqCoTWuWqLt
LDMp+0BiQiuGmP0CgpLEruJaAoEwEq2MQecQ+0qbgfSSzgUKJRJJhB/f+wmdxnYCoQC354bomb7N
y8NvpPQRz6SyspXgd7YS+f0Bsd9hzVWB2TueYDOBUBDTgoVOQwe/GPqVkFg1qsvxBnyYfTbKyjz8
7p5dXLCd45YpqlChySvinnOc//PYlwh4Cjl30co3TecSZF7jN6KBUFCoZqjZYSRfnocEiehmpaG4
ltM1R/jWjR8kPFNsM7xbX5ewKW0p3Z1SySe2ad1qpUYWDxfJ0uViBGeF7C5PlX6Y86P3FdLmvS7K
1aWoFQUseCxIFw3s5WlWV6yUatTolTrGnCYGwnfIy8njQPleVtc30HXF1aJkPbEgpV5VTGidgBKP
rJ1lsRE2k9g4s/MoVyw9KcecqT3Cd3t/LHre4flxxp2Tmw7OdVbu5xsX/mbd5zBwzdLLnpJGjlQe
wLxopaxAT3WRgellO3bvPOYlq6htmxYngMPMuXzkymUJARR/MIRypRqFLOpDxwi3BQolf3ryqwSX
C+l12+m5bCdg9hJud25roCXrk2wOg/ZRIZioy9dwwXwdgGZ9gyCPf36yi8OGNiJEVSQN6jJqNZWE
wyFuziTuwwoUSpy+xbRz4Rc6Ppv9DbJ4V5FunlXI5Hxu7+9Qq6kS9RW3cs5AKIhSni9O7vYlFrMM
O8Y4O3oBX3CFpVU3dcXVhMKJweYYjlQdIBLM5dLkDWb9VvRyAxU5u/j1m27KtEoW3H4hSe9XWdO2
Jkz2O+o0VaIJIp2qGJVciVapSfGB4hOhyUU2O4ur0SuL+V7fT6jdUcnRyg66rH0COTeb3Mwiiyxi
2Ew8aaOiw0z7qXRz/h59Ywq5Kub35soUgvKDQianpXQ3LaW7heLa2LkKFErWwmui82yYMIcMbbxy
702q1UZaIx/joK6URv19X7a5Vst//ndHuDs7yuTKEJrCXDwBLzdnZ2ktbaZYuYMLk12srvkzzpsb
+bSb8XmzfvE7w9CkkwsT3RsWZtUXV3PJ/iZ/f3dEiK8CCTFXyaKRSf/oluMGsRZLQ5ML/M7RzzHH
GKZFEwZ1GYUKFc6VBdrL99Jt6wfWczTSHCL5a3jlg5QU6DEGyrF754VrK2RyqnIbueCbS7lec20x
jfp6vnLoRc5PXhPi05q8In4zfoF9ZfcFAOJj5Ve6VnnsxO+Qq1vA5B6lQVeTQqocdozRO52ZyCOW
+A+EghTIlShkcqFwJ0aI2KWtTSGuZ5E4D5l8g8wHp+kwtHHJfpaXJhcpK9TzpX9bzT/e/kmKqvXp
mo3fZ3JOoaWkgYvm62nJbzHlwkHHGGWFeorzdwhdZ+LHwPHqg9GOMiJqQ5BIhIpXCYxX6HIGbZTl
VfLc3uOElzV86+It7o47OXiwgSERIYd4+0uXr6kpqOGnv1nmqcc/hlw3w4BjVOiK86uRt+io2Ce8
wxb9rozz7Llx8cK5c+PXs3b8AMi0zn18z9NAYg5BLzfAooFZs4Rb4TtANN/x5vglOipakURkmN1T
wu97Pc5vaNLvwrY0i9UTtc1jVeLdXjR5O2gtLdjSc4xaFui/Z8ckEW8hvBZe46O7ztC5rurZUOnl
tauTKedpri2OvpctKlfG+1XpxnF+Tn7KZ6d2HhLa24q1RQZS2uZ+0FGmU6UUoQKU61QP4W6y2Ars
aRRKHV7nQ7qjDxa2nVy1ESJpWig9LMQvWIOOcYpzKhKkBy9dXeG5Ewf4+vO/l/C91nodvb7zAHQa
23lt9G0gungNOqKM1/byvaz4rOTllnLwgBxv3iQO7wwHDa1UFVUk9DX/8d1XeHb3h5hdtmNZmqFm
RyW1hTsZWRzFUFiKXqWlqsjA5KIVuUxOi76BJn09fTN3U56pqshAa1kTb09cFcherpVFfnL3V2nf
Q7aX96OFZFnvcDhCT2+Qz398D45IHsPzYxjU5TxeewxvcAWVPD+9so9jjG/d+AHt5XuBKFkg1pJn
asnG4oqbPbpmclcqmLcGuLz8S4H8Eq+gkgyH18WxqoO8OX6JcCSMJ7AstHmDVIWL7a6SyFYivz+Q
/Dv88OwQw2up0scKmZxR133SVbIimsU9zS3nTU5WH0abryE3ToL2N6NXuPRrDR5f9Nh4mdd4Z1wh
k6PN11BfXEMoEmLIMYahsIxPtDzNhGtKsP09+t082/RhADT5RZsK/MU/57BjjEvmbr7T+6MUouBW
KzWyeLiIly4/dew5IphEnVrbspUcqYwuax/Hqw7iwEX/zEBCsHCf5BlyPUbOLb6a8HmJSkfNDiMD
MyNo8orwrPg4onyetaIpptwWytUlFCkKcK4spgQpa4oqUcjkfLfnR4KNnqk9wvD8mOjzZO0sixg2
m9h4vvEJTIsWZj2OBIWTTIGRi+buTQfpY4HyLutNLEvTNOkaqC3cya8nzpIrUwiE7KOVHaIto2IY
mh/nJ3deZbXqLmea6vDPF3Phio9weH3f4tOIPq/fXZggEz5mWXxXZMKzPsnGGJofY2rJRoFCiUwn
FWwoPpAWjoS5Zu1DnVvAsw0fYso9zSVzN+UFJXyy5WksSzOYF60Y1GWUqLT0TN8RvVZ2LszivUCj
vp7nG59g1GVarz6+Hw94c/wSTfpdRIiIt0FIU3QSXtawX/Ysq0UW5gM29AoDmsAuWqWVBIqi7VVi
rRjwaRLOeXfuHj3T9xM4pkULCpmc8gK96D3c6g9xq7+UmvJdDM55qHxMStuZWeaD09TklCP3VGGZ
kOMNT+Jc2VxbHf+6Py5GIL88dYMO/RGOqV5gIceEc206QX0lXl0GYMJp5ts9P+TKVJRQPrloRSGT
88nmj9JlvZlN2GeRRRZbRjqCVHxxy1Zbjb4xdC0l1pYry+WVe2+SI5XxeO0xpBJJCkmppXQ3Z0fO
o1TkI5FIGXKMil532j1HcN1HUstKeeX8BL+6bOKPv1DN0MKdBKLBK7Z/5pChjaH5MeZ9LtrKWlhd
8zNgH2F/eQtV6gpaSndv2OL7nfx9s8dkIY6+YTuO8P3iwXQJ5whh+qbvsLC6xNSSjeWAL8EHmFqy
YVSXAxLR66Sz8+QWS9P/soyxxMhXP/00dQYN485J7swOMeKaxFBYikFdvn6FCP2zA7SVtQit59vK
WijKLUQmkXK0uoPwsoZc+XxCkUyuXMap9mjR74B9hAH7iKBGH3uW+D1mLH6TkyPlE8+rmAmNYV6a
pVJdQXNJg+hedENCYJp9byzGHvtuS0kDn2p5ZtOtnh9FSAsWeMX2zwRCQY4YD2BfduALruDwOYkQ
YWnVQ2tpM9esvQmdB0qU2hQ/MB7pcgpfOfQiQ/bRtGrVR6oO8IObv8DqnmHAPkKjrl5odxYbA8kd
ZTIRoeLVuWI5yUJlGSf3dyALQMSrSRg/1tcknDz6LOhsWL0WdAoDuwqaE+wvvgApRjbLleVi9pqR
y/REvBq+8ORpfnLnVV6996ZwfzFFoed2f1i0BVxsr+HwunD4xJP0Ywumzf60jxzeqUBA/N+/8/Jt
XrlqQiqVRAl5aivzQRttuv3kLFbS1xfkwGkl12YvpxSqSyUS7L77LfHC4QgdFa2srK0I9pKfk89y
wMc1a6+gLAykvf9hxxhvj3cx6jJRr96N3SPeQnhu2cnXT3xZ+H+8/ccQP4dvVbkyNj93WfqY88zz
saanmFm2R1UHVcXkyXKJRCLsL2/B6VsUVaIXa4sM9wlfjwqqSgu4NSJL+W0qt0i4y+K9h3kx1f8A
mFwUH5dZbA3vOblKIhF3vB8mYgvSqGWB//t/XkuQkM2VyzjWakj5zs6GMLPTpdh9DoJrAdrL96b0
rgyEAiytufnwyV1cXP4Zgdn7Sf6WkoaExWAtvMZLQ2d5tuFD/PujX+R7r97hlXOzaNodrIVD1Oww
pki4DThG6DS2c9XSA9xPsh42tiUQt+LlFkORsGhP82wv70cL8Q5L1PnKo6xmhZ+ZfhC3mZhGIZML
BKWhSaeoss9l8w1W1/x0WfvIy8nlVE0nrpVFeqZvU15YwrHKg7zyUoTG6lxC5SOC8lp7+V6uTN1I
W72hVxVzznRVqBwW64Mc26xkVVYeHbQ3ljA5WpHSe16TV8TsepBFIZPjD/lFbcK5ssDAOgH2sKGN
a9Y+xhZMaArLUOXLhUr6mMzrmQ4jz9R/hCB+Zjx2duSpuRjXzsrqnuHm7F0OGdoIhoKMOk280PSk
cM2tBv42IgputVIji4eL+Ll2aDBCQZt4T+u5ZYcwN3qDvpQ5MRAKEtHNEIiECDiDKe0FA6EgHRWt
dFn7GHKOsnpXR9UBCIQCDNpHKFQUUFdcjTfow1BYSmmBHoVMgd03zw1bYpB0dc2PNl/z/7P35vFt
nNfZ6AOAAEgABImVBAHui7hIokRtlChZkh0ntuNFdmJ/ceLUSXyzuG6dm/tL018Tp83XpvfrjW97
01+auHGdfG2SNkttRXEcb7GtnaIobpLMRSRBEsRCECuJjVgI4P4BzRDAzGChKJKS5vmLBGbeeQdz
5rznnPec57C2AousyKTfknUZEdi8ZB7C0dpEa+FMgZFMrFZ010m3eQetV9Gh2YYe0wB5XI9pAA9v
uRcW7zytzaEQyTDvs0NaWAy9dwwqmRxPPNaK3xz3gc/j4q6dOjSrFJT7fenMZZYmfJOAWB/FfBGs
vhVbccQ+jvsbj2J20UwmqLSoGvDfw39IkZvL8yPo1HXgK3uewnIsiv/n3I9yqjBmweJmosc0CKvP
BllhCQoLClPamho9c7TFJEy25LHmjyHmVeBM9xL4PDVk0koYPSFwWwrRN7oIYOUzIIy//bIuZS5T
7lla21rvnqWdeywONFXJYHcv4SNHJHjH/mvyfDMsEPCu4OP7P4XZoARKEXJqq9NjGkhhd1CJ5dBJ
Nfij/iwkAhFKw7V49/QiBPxy/M8vPYrGShllTOI3emviFCKxZTJ202tOtEVZCHrw4n0vZH4wLFiw
YEGD1OLdSSjFMgh5QrK4BcjeajTul6HQkWBELXREYIjPwOa3o728FZFoJCUpJByNIRJbxp/u+xPa
sc4b+nByphsAsrbESW7deuhAEV4afJm8jtVngyPgwu6KdvKze+sO4R19auvkft5VtJVtWeWvx2I9
0Ddmg7JVAzsvEX8Ysg6TiRcOvxttqkaoJApcnb8GPo+PVlUTRPwiBJeDFBvA5ndgR/lWmDzZ4wYj
006cv2zGvGspJQ4dKZ6FY3kOv5s04AFBF5pVDWRy0Ytn/xUDc4lChzZ1E3aUt9GwgK/ErKEC/vbL
+3F6wISRaRdak+LWQMKXTGajJ5DsYxLxm0cfEaW0OzR55tA/l2CQS0/SyRbzY/J7D1TvZhMF8wQR
+y8sEKJWXolX0/w5AY+PjzUcJhMGiWedrTCGaU9hxDaOZ3Y/yXjehdl+ih4k9t9KhCtJB8RzTu9Y
kJ7I0VqrwFc/tRMfXJqFzb0ElawIhYICfNBnxHe+2IlT/aktymKxOE6dC6CzrQVhRxWGvUE8+oXG
lDkSBUjJyWbhaARaSQXK5NVk4kp7eQt+f71zTjK2l7dQPkuP9TC3GK+ifMZi7dsodrVr8U7PLEKR
KM52L0HIV6OtrgVGfwiTpkUAQNyjpJyX3iEJAILRIAbnhinyslPTRr5XJ6cv4JJ5CL5wgDJ/ACn3
Zg/Y0aZqgpFmnWiQ1ab8T7DTMenwTMmsBCPi8LQrZc8SAJZjUdiXXFAsyVAuVmHcMZViS2VKIsyW
8HWnQFLEx762MviDy7Bf103iwgJIiuhbC7PYPKgu1dK+f9Wl1HwXFvlj3ZOrNjMaK2V44Qv7GJU4
gTH7JH448GN0aLZBLVaipIi62S7g8XFX9T7I+WUIRGYQXlwx0tQiJWLxOKU6BACuzI8CAAauOeD2
hFDDVWHUdwXTC0ZaQ09YIMDHG+9GOBqBLxKAzWdHj2mQ9lh/JMDYb5elu7+zkGywcMRu9C79HlF/
LWOCUtwvw7f/daU6gmD2+V/PdaU4KcHlEN6ZPE1Sizr8LhQVFOLR+7bD5PBiQbAEfph/vR1gHL5w
gLFSKrm6D6Dvg0w47Cybz52DlhoFjkT3YXQxlfrYHwmgQ7EdJs8cZIUljOwkyUl6cSQYLTrKtmOm
YCalkv58TxDD0y5YnQFod3pwxpCgd05PjAWINpZh7KrYRtLZrhbZEgXzrdRgsbFI1rUTxgXoxFUw
e6lGrVaqwYe2sYyyGy3wwRlIfHegchdmFkwkFX5yEGc5WAADOLCGjGQwyRcOYM5nIwMfXHAhK5TC
F/FTZMkb9kHIoJdZOWORK5J1WXJgk9BlmQIjTEmkbeqmjNchkNDJIVKGicDQZesI6uXVtLJdXaJN
SVoweeYwzBvHJz7+BGpLaxkTpVia8M2DFtk2nOJdoLQ4qZRq0G+5CsQBhVgGiUCMMbueVm68YR/O
GnrxuY4ncq4wZsHiZoLQh+7gYs6t85j04oRrGhPOD9DV+TGc7V6C1ZkIiF/4cA4f3VcNLiehu+7Z
o6aNgRBMEemY9zkon43OOHGyz0i2/jMvz9POaYE/je3iHZgMDma1O8YcerIta3LA3xlw47HmB2BY
sGBs8RQO3F+FfbpdGROrkoP+yTZUj2mA9R9ZsGBxQyDs3CmnAT/u/0+YPdacW42ms/oYrV7svKcC
kcIw5rw2SlIIAEy6ZqB3ztCy3fgiAVomTwIJZm45Wkp2kB0chHweIlIjwq6V42SFJZAXlZJxbwGP
D5N3ji1wvAWxpaoUxcV14AqDsAdcaFYmnpXeZcBfHXoOkdgy7Rp5V/U+yljhaAQlQknW9ZuQa5lU
CEEBDwDQ1VmIK/E3EHZfT7r2WjBg709JLpAVlSAcjaBMrIQ/FABPyM0qc621Cka/LZdCxdZaBb77
7H68aTpOe60e02BGBiTa67KtLNcMYw49uBwujm35KEbt9C0p57w2qEVKss0ZkL0wZjV7Ctfsekps
lphDKBrCweq7Kefkkkx3aIcWytJCDIzZ0D9mQ5lchO98sROttQr86LUrtOdYHH4c2K5BR7OabGdG
XvO63KcnFlYVV+O+J9rJ4/OR0/RYD9P6EnNqMDLtZIvO0rDWBAF0SUlHdulwqt9EJledObeEBz9x
D8x+I1lwtkVRj1HHJJlIKy8qwaRrhpxPsrwsLHnQKK/BhGsGk84ZiPkiMrmKOL7HOIDlWJTCjsUU
Xz5aT11XMulwgP4dSrediD3Lr32xJiVRnEgy7NBsw5zPljLHS+bLtMlV2RK+7hScGbSgo1kNmyuA
eCkgLuRDLRfhzKAFn7ibGqdlsXmgFMlp3z+l6M5iX7tZuOPbAqYjmxIHVhbBXvMQ7q7dD1/YT7so
+iMBlEXrMepLZH4TTBOh5RDsSQxXRGsqYMXgI2gH+d4qqMUWxs3WKZcBX9nzFP7m5D8BABrlNTDS
sE0AiaSCBlnNhhr12WgvWawfCFl/pe+XEFtFjDI25tCj0GEjjRQhn4cyuQhAHGeHTGjWUB1Uwriu
11Rhym3EB+4/QCmSQcgVwuJN0I7zeYns5vT+8uUSFUoLpfhgupscj6kPMuGw0znJAh4fe7Ttef8u
rIxufnTVb4VCmkqffah6L5ZjUfSY+ykbq8lITtIzeeZwV80+vDX1HqWS/q4DDyHqlWBkxonikJ8M
6jC9J1avHY+13JeVwjubfGVz6tnAzK2HZLtizK7FgL2foss4SLSyDESCWI4t08puRbEKIk4xakp1
CEfDibHT2BaWY8toku5Er8uKnQUaCsNbQo4VeGb3k9A7Z/DD3p+lfE8kd1m88xRmCGWRPKOcsbqT
RTJyCVAyBRcPVe/FiH2CTB7kcrjo1HVgKRLE19/+bop8MbWwdPhdUBTJUF2qIxneVGIFliIh7NJs
Q/C6bOukGpQWSsmAYzLC0QissQmEZqQ4tIO+qmf/1nJYHX4Ke9WdRhO+GXD1chRd4kfhlYyhtFBK
BhAMi2a0qpowZB2GprgMWmk5zhp6acew+13gxBMsy8kVxienL2DSOYMyiRJ1MrYCl8X6gUiqz5R8
na5vmfSv3e+CmC9CRGiCkK8m9VYsFgeXAzz7CWa/aXTGiSppFYw09knDdds32Q6oKKrE3j0anO8J
QiYVwhGhj09MuqawIFqArFCKT219CKN2Pay+1DayBJL9veSA/35dB14dfQNAwo4ZsPdjwN4PhZS+
+jtbUi7LTMeCBYsbBaEPo7EodlVsh4Qvgn8pCmGgEqfO+hHbSb/ZfHoglZUkFImC76mEnzuChmJm
xvezhl5KHELvnIEhqeVHetytTdWIruo9GBiI4N2TeoQiSxDyeWiqKsViNLUtsj8SgCfsI3VnPmvS
asD6lTcP29p5eGkwlZFJwOPjCzs+g3pFDV7p+yXtGukJ+2gLxAnmqEzxKUKu3Z4QttYrMO8KUBL4
iOskJxccrN6DM4aLqJfXQCwQMba2JNq7XzJfzigvuRYqNlcr8PII9V0DAOOiBb87PYnGKllem+ss
Q9XaoFlZj6qSCswHHIw6aN5nT+lWmUthTC6Jd+l6SSstZ5yDM7CALarV25MtNQq01CjwmftSWaOY
WpRta1Bg1y4+zhnexU/GUvUmk9zf33IAzaq0RKwc5TRdzxPry3IsCqvXDiVfiwKPDme6lyCKsYze
6bgZBAF0+9nxOFLaTHrmizERmkapsARlYhV+P/5HMkGKZH6rP5zSxYDYy47FY7B459GqakJ1qRbv
TJ6mzMHqtcOx5KZ83msewtHaLix4QrCFzSlt22l/hzxtgHTbaeW6/Rl9vuTv6tJYtJKRS67A7Q6N
UoxXP5hAsYiPGo0Ug+NueAMRHGyv2OipsciCgbmrtK1hB+au4tPtxzZ6erc81jy56sKFC9i/fz/j
Z5/5zGfW+pLrDiJTPmE4xGD20Lf5MS7OQVhcgp1l2zHns2KvdgcthS1RJZls8BG0g+d7gjjcdQAx
5RQjVf5ZwyWyLeFi0IOK4jJGp3t7eQu2qOo3xKhfa9pLFmuDMYc+YzJKs7Iefeds4HI5OLi/EFyF
CeaACWUSFfhiH7SSWgh4VEO9orgspZWl0WMh5X1g7ip5vfQKZA6Hg+ByCO3lLbD7XagsqcD9jUcA
AMUCESPehkIAACAASURBVK3DnuwsJCcx9pqH4An5cg7GsDJ664Bw+gij+6VLv0Czsh7P7X0ao7YJ
ROOxrIxoOqkG/iB9+8B4+QzqNO3QWwpg8SZ0fKb3RCmW4e/P/ADfOPhsTm2ygBX5em7v02T1Wy5O
PRuYuXWRnhynEitQwC3ARfMQCrg8bC9rRYmwmFZ2Oys7MDFvxq/HXmO0I6w+OyokJuzfJ0bMVw0B
7wpj8PCMoRdKkTxFnpNlPJ0Z4mhNqm2XDFZ3skjHaluYEjqdy+GQm1HyolL8duxtinx9+/BXoZVq
aFtYVkjLIeQJ0GMaoLwvHZptGLaNQy1WolawA/bYOGx+J+18rEETluzNjPMcjeux8x4N+J5KnO8J
IhaL35E04ZsBH065YHX4cfABCYZt49hd0Y6l5SXY/S7Uy6txZX4UbepGvDryBzRmaEldLlFRPr9k
HoKYL8KV+VH0Wa7gxNg7rH5jsS4g7IYe4wBsfid98rW0HH/17j+gXl6Ng9V70KJsoNW/RIFBAdcM
mbSSZK4qEhZg+w4eXun7JW0Qm6gG3re3gr7quHY/rR0g4PHR1fkgei+FUEOT8A0k7Odh2zWSCeXb
h7/KuBlFtzkkEYhgD7jIWIgjqYCt29BH+45mSj5Ti5UsMx0LFixuCFR9mIiD7eQ9hDfPLQJYxHu9
Rvztl/dTNuvoGFHP9wRx3z0PQVbqo2XTFPKEFIZ3gOrrJcfdktvfxJqcOHF6CocOFF1v0TYIraQM
5cVKshBYzBfB4pknx84UF6krZd6gpPut0jdQAeTlV7KJWPlh1H2VNv41vTAFYB/jGjnnsUEtVpLP
nCh+CUSW8Er/r9CmbsJX9jxFW2xIyHUoEkWhoABlchFj0nV6Ic6zez6LH/b+BwDm1pYKUSl+f+2P
CEcjGeUl10LFMYMT2mINQ8GbBr9+ZxzhSIz2Hc4HTLLLyjQzDlXvxQfT5zHjNlFiWQTq5NUQ84vA
43BzLkbNlnhHZ+dKBCK0qRmKevlajM44KSxSNwq6FmVFwgI0bQ/iu6d/wqg38ynQzUX+mGI9Ah4f
cpEMvOWV7DaW0ZuK1cbKgPzWPIJ16cqkHRPGRUyMLOGRe49hyncNV21jaJDXppB+EIm0EsEKKxXd
XvaIfRwdmm3oMQ2kXK+8WAWlWE65t1g8Bm/ID0mwAY9tP8bILkzcX76xZTrbSSYVwuijb12f3NEE
SMgtXBUsy1oGFIv4EPJ58AYiuKpPxE6FfB4kIsEGz4xFNmiKyyj7O+FoBJ26jo2e2m2BNU+u+t73
voff/va3KZ+9+OKLOH78OADg8ccfX+tLrjualfWoKC4je3+3qppoqzhVYjm6recAAAer9sCbVOlD
gGCaeKDxaEo7qRTawUkXDpdvxxDvQ1pD7+xMb8pCVyZR0QY+j9Tsv6HM+RvFWtNeslgbEEYdE41r
V/UehA1+aCpDuBx7A2HrikF1lTeKPdp2fLLhcYzYJ+BYNkEllkPMF2GGoZVlKBoCQKUlD0cjcAcX
UcupwrnZS5AIRKiX1+DjjXejSVWXmCuDnCQ7C7F4HKcNPSnBrFw3+VkZvbWQzehuk2/HRfMATH4D
lGIZhLyE0wAkZLtWWoMzxh7asS3eOVgwhy3NB7DEq4AJlox0x0KeEL5wIKOsMMnXqZkLkBeVYouq
nm37dwcgOTnufw/8Bm9NnAQAhKMxFHB5CC6HU5ICVGI5igqKMGKcwzUffTCUqLxRieV4W/8BAOAR
7adRvPgYlkSzMAdm0ZIWRBm2jaOiuIyih0X8IvIzghkimwyyupNFOlajy+g2oyQCEfZo22nl65yh
F1UlFei3UJMIa0p1MHmsjHb3Ie0BlBc04nfvOHDPAyVQi+mDs0q+FiqVOOM8jTBDwLuM++55DPDL
7kia8M0AopI34iiDM3aJbIWqFinRZxnCZ7Y/isG5D+ELBxip6YsKitBZmRpkODndDV84QKG9Pzl9
gdVvLNYFyQUFV+ZHKXIbj8ehdxugdxvIpP2TM92MBQY6USWC5VIICnioUIpxsKuI0jIh2Z4mqoHP
XQiiq/NBLMtNcETMqJRUX696b2BkuojITQDU4HuraBO+k4seCL3OFK+g2xw6UrsfH0x10xawHa7u
pB+HYUOjUqpBVUE7fvQzE1pq/KwuZ8GCxarAyI5XYkRVWTXmXUsIRaI4PUBl86BjJYnF4oBfhk+1
H4FIIMSw/VpK5XmveQj31h2kzIPO1yOwvXyFDaW1VoGvPlOdWAeSWrQlF/C4g4toS0psyRQXCcyp
c9qgpIvldBv7GO1+Or+SLfDJH1mZ0hnWyAZFDe6uPYBzhl6MOfTo1O3Eb8feSfnt3586R/vbJ8v1
hQ/ncKhdi3iRDmYvNcEqPbmA2AQEmFtbJtsSQEJe3hrtxo//04ymytKU9TxboSKRUP7oI/UQ8K5S
rqXh1cMb8AIAzl82r9pOyFR4+cPe/2BlmgFbVPX498HfoKRQyigPEZsO+7btwOc6nsh53GQbc9Sh
h1ZUhcJAFU6d9SPe4cR5B1Wv+8IBqMVK2jkUeBIt2dY6uYquRdmOnQU4ZTqZUW/mzEiVo05Nj/Wk
J+AAIIssisEyeqdjtXH/1a55r76fYHs/cpcI/z1xnOIzEWs9AMy4jXjhrudxcrobepcBHCAn9iei
IBgA7b1xOcCFpd/insJKAMzJVauJLbfVymF1+CGTCuH2hEimxBZxFUw064xOqkE0HgX/egxdK67E
G68FgADLssaEpVAEu1vKEAwvw+5egkpWhEJBAYLhSPaTWWwoGuTVGJz7kNzfARLvZL2cZeRfC6xZ
cpXBYMDMzAx8Ph9On16hBvR6vVhaWlqry6w5VlMRcFf1PpxIciJyMfCLuBJM+ekzZm1+J75x6FmM
TDvx0pnLGJ52oe16D9dkev6tdiVtpvlb46lGFEHHCQBz3vlVt41a62qJm0F7yeLGQRh16TThjYpa
sh1DfJcTJyb7EXZSDZxAZAkzkRmMX6jAgb2N6HGegJgvItv+pYPIEO81D+GR5o/CvbQAvWsWZRIl
qkt1iEe5uLdOAk/IB4vXijOGi4ghllX2CGeBKbhPGGKZ5JqV0fXFjeqYTEZ33C/DP/3bDAA5Pna0
DiHBJLxhHyqKy8hklZkpLpRF9JX0OqkGQ9ZhKKWzKPRVQcC7jHA00Q72SE0nPCEfrD57SlATAEbs
ekwY3bSVGJkq5fssV9Bt7MeofQLHmj8Ge8CFKZeB1N8AGBkFWGwccpVhpuP2V3bg/alzpBwPWYex
o7yNUlUAAOIaMSPtOMG2kGx3ePjT+Mp9TwJItIU4Y+jFK/2/QrOyHoeq96JZWY/3ps5R2v9VSTW4
r/FwzpVteucMI0U/qzvvXKymhSmdThfzRZh0ztAeP+bQo1XVREtx7An6GNtkz/scKFVKcdrxB7Qd
0kFcUIeqEh0+tNGwAfgq0ZXWEpBp7fHwp/HI7m2AyI1X+t5l9fU643CHDif7TQA4uL/uowhEPeBw
OFgMeWDzOWH0WEiGsl7zEPZpdyCORFCxXKJCZUkFhFx+iq3oXlrEnM9Gez0mucwEthKdxY0gXa9W
SMsRj8dJGxRI6KIR2zi+ffir+GC6GxPO6RRbVcDjI+qswOVJB+46WAS/cBQXbUsZfSeiGjgWi+Ns
9xKKReWo0TTBGouj+a7MPpQjnGDJOt+zhLsOPASRzoaphWmSuTN57sQ4eucMTk5fwDWHHjs1WzHv
t8O4OIc6WTU+Ut+FZ3Y/mXLO69feo52/LxIAHZg2NOCsxb+fTiQOTFsW8f4lemYZFixY3HlYWb8n
oZVqIOGL4Asso3CpCpyADHftXEneYNSHyyZo9gZQES4E31uFsRlq6xw6VpJkRtQmZS1OjL0NMV9E
Jp0wbcgy+Xo1pZX4+dBrqJVVkXYIE5tRLA7USKtQUlCGKkENhnkrtnKveQidug7Elrkwek1QCrTg
59EGajV2fy5jsAU+mcGUPFUhLcc1u55xjdyu2IkPzvgwbqzAvtadsPno2y3R/fZHdulSWlOdHjTh
bmklBLzBlDEKC4RoVTeRca+92h0Yta+0gKdrbRmLx/H+9HnK/cx6DfAFNHizeyav9ZxIKH/1hB+f
PHYMc1E9LN45aKUaaLj1+O8TfnC5HHR1FsJV3Ievv/36msYye0yDlGPvdJlO9p/a1E2oKtFiaTmE
IeswJQ5QzW/Fr4/7IAzTJzZl8sWaVQ2I+2UY+OAyzrsCCEUSTINXJ50o3Eav169YR3Goai9cwYWV
eBq/Fb857kNVWXbGptX4hq21CnA4gFQswOVJB4SV9jVr05qrTk32SfQuAzgcDn1Rm9yEI4278prD
nYDVxMqA1a15ZwZN2LtHgHiJGQFhEGFv5kQplViB04aL6Kreg2d2P4mvv/1d2nGdgQU8vOVesh1r
8vxfOPw83po4BeOiJcUPjcVjWXVZpn25CaMb7/XOpuybt9YqsH0HDy7pPBwRC2oKNOB7q9DXH8E+
3S4M2PupPh+Ay9YRyApLMOGcBs/ehKXQEsmyxsZsqFDLxHj97BSABCvYh9fZqx4+VLeR02KRA87P
XsIDjXfD4puHxTOPCmkZKiRlOD97CY+0fGyjp3fLY82SqwYGBnD8+HE4HA688sor5OcSiQR/+Zd/
uVaXWVOsJuP3ml2PCdcMnIEVR3ilt3AEVp+DstkOAOOuCagFOphAT2F7YWoY//jyNICEknr/kpHi
ANBlmuudMxTWLILuuV5WjRfve2EVv8zNqQC6EdpLFjcP6UZdm7oJ/6PtIdQpqsljWmoU+Mko/Sal
3e+CogioLm/AH963o6vzY4gXzYEjCDC2XEm0pOChkCdEn+VKSqsVAY+P3RXtuGhOZM0bPbkzTwGZ
DTG9cyajXLMyun6g0zFnDBfx7J7PYtg2npMRm+lZFzpsZFDyjfdc6OqsgEBuQ4NMikiIh9CcCud7
/OjqrIJEMAoxXwR3cJEMUHI5XOwob4PFa0GHaD/E8RUGoMICIXgcLoyLlpRKOgCQF1Tgb16+gBe+
sI8SvGGSL5VYjivWUQQiS5j3OzCzYIJEIMK37vpz1Ctq2IrMTYpcn0u245L17x5tO2WjEQBkhSWY
dE4xUp9XSMsg4PLRbewnk7L0LkPG6z+392mcmrmQksg14ZzGoy335VXZ9r1zL6FBXkvL4Mnqzjsb
+bYwpdPp7uAitpe3MMrXuFMPvXs2wVAkVsLuc8EWcKBSWsGoc5ViGc4YLiIcjcDkmcOgfQi7NNtT
grPVJVWo4DSjrbyRosuZ1h5r0IQx2xReNfyc1dcbgNZaBT75oBwWjMDgXYJSJMPpmQSTaZlYiQnH
NJQiOWx+B2SFJei/zkCsFitRJlbirOEinu/8QorO1BVrUF6sotW7ZRJlXvNj13IWa4FkvfpX7/4D
jB4LVCI5acMCCR31zO4nsUVVD71zBmcNvRi2jaNDsRtY0OJ8TxBdnYXoCZyALFYCfpi+IIbQdQTj
BLGZmGgb1Y9KcRXG7JqMPlRVcTWMIgE6tqhxeMdK8kEyc2cy6uTV+PszP4AvHECnrgNvTnyQUl3d
Y+qnvDNmmvcz8bmV8TdM39AojtTiP4+nJlIyMcuwYMHizgCxuRanYUYn2kyf9x3Hds6D+Osfr8Ru
M/n8KwlRV/DwgU9TjiFYSc5fNsNi96NCJUZXuzYlJvyNg8/mtCFLJMmk+3pCnhCGRTM8IR+6jX34
xsFnGW1bs8eKopmjGJxdQG/Uh67OB8HXWGEJzKJZWY+wQ4MPzvhRKtHB6AkhFEkUVufSBorR7i9j
tvtzGSPT5yyYE4zj8Tj+7vQ/44XDz1PWyGbZNvzzTwxYCi0DAHyBMCQ7pmjHJ357orhr2DaOZmU9
vvbFbbh6OYrhqQTbzuFtOtwvqUm5Tqu6KYW1qaqkAkqRDEZPIhZN19rylb5fIhaPUeahFGhh9CS6
JuSznhMJ5cvLMfzqVS+KRVrUaFpgXY5hzBfC8nIMhw4U4Ur8DYQdq7fpmWTUuGhJaVeV7fjbHXT+
04HK3WRRYigawsKSB42KGsjiVfjlqx7EYnFaHZSLL3aq34TZeS+EfB7KFSK4PSHMuwI4IKqE0UPV
63JRKWRCOfROI+qLWxByyPCb8z7EYnG01mZmbFqtbzg648S//OYy5l0ByKRCjLmuMcYJ843H5aNT
k30SpgQcV9Sy5uxdtwtyiZUlJ/ns0bZjzDFJf1wG/RAXuXHF9wZkwRLwI5lJENzBRRRwC/DWxEm8
P3UO3z78VUabpkVZjye2PUS2GE6/t/8YfBWRaISyZ5JNlzFdr660Fn/z8gV4A4mxDHMevH/JiK99
sSaFgdkMCwS8K/jqM19CV/1WKKTPU9aZizMjUBWpEknhIR3O9wQBAK21cjZmw4BLI/MpzFVb6xUo
FBTg0sg8/uTjrRs9PRYZUCZW4cTYO5AIRKgu0WLENo5e0xD26XZu9NRuC6xZctWjjz6KRx99FMeP
H8djjz22VsPeVOSb8Xthth+npi/AHnChorgMZRIVmXnbYxqARCDC/srdOJ3mqACAlFcGob8KAt4Q
LcPVRdMA9u8rR1BsgGN5jsy0PTOY2QE4Y+hlNKIa5NU0Z+SGm1EBxLa72rxINurG7JP4YLobP7r0
85TklmZVPWZpnAmVWI4ilMDuCyIWi+N8TxBHDmmhVYdoW1coimRoUzehqKAI15x62lYrS8tLlFZV
ucpepgSpM4bejHLNyuj6gU7H7Chvy4sCO9Oz7jtHZZoILodgdllQIaoEAHC5HBQUcLBN1QLjogXb
y1qgKVbD4XejxzSA9vIWbFU34dMdLQBaUsYas0/i9PXNeQICHh98jw7ewBJt8IZJvoQ8IUqLpDB7
VzaBfOEATk1fQL2ihq3I3KTI9bmcnO6mPY5oKZXuVHtDflQUlyO4HIIj4EKrqgkifhGisRg4HNDT
jnMK0G3sx17tDvI8lUSJMfskzhv6aK8/aptYVbVU+m/gCwcytpVlwSJXpOt0LoeLDs02aIrVuGKl
2hNd1XsQBzC9YEKHZlvKO7NFUYu2si2MOje9dUQwGiRZ4mSFJSgpFOHxjvxaSpUXVmHc+yGrrzcQ
yyIH+iYvAwDa1E3ks3AHF1FRXI6aUi04AOzX5aSwQIgh6zCkQgme7/wChQHVFnBgp6aNVr/Vy/Kj
0WbXchb5IlvV7K6KbSgWSki9V1iQKO5K3kipV9SgXlEDAPi3E1fwevc0hHweIlIjwq5ES/bWpFZP
ySDGIZhU9u4RJDYTk9pGDdgTyU5MNu79LQdIdqtkpDN3EserRHL4wgEIeHyEoqHcqueVDZilYSps
ybChlG57/dn/ezLReisNuSQIsGDB4vYDsbkGpNoTBAimBwCISBPtTwn/P5PPnxzfcnL0AKi2Jlfi
Bkc3DG+hHhxlPbgSEYCVuEKuxQt0bIeIA0AcraomOAIuNBTXYnj+Graqt9AXJPC1GJxdIIvWznYv
obGyGv/0f/4JAOCl1y4jGFqE9XrSDYFsSQUAvT0djkZQL6uijSMysXOxxZH5gZCLTKwiz+x+MkXG
XnrtMplYBQBuTwg1BVQGeC6Hi07dTrx08WeYcM1AKZKjorgM702dwyluIq73lcfak85QpFwn2QYX
8PjwR+hbeQMrrS2Z3je+R0cm+wHU9ZzJxkpvzekNRHBV78TuZjWmLZ4UGyoZ+dr0jC2Kr7e8pzv+
TgSd/9RjGsDjrQ9gIejBhNOJKnEjliwyvH3eQ9pydDooF19sdMaNQweKrhcSrOzNFYdrIOBRGXCE
PCGcQTfCo/tx0uZDKOIHkMo4mM+9ZZOjMfsk3jKch2DrLHYWaFDor0aIp0ZhQYzWX21VN2WcQzpW
q1MzJeCwYEbGzippST5Wnw1tqiZanyfT8wmKDAgvZvb5yiUqcDgc1HKqyGLfcDTRrn21+2T18mq8
qz+Tca509890PUW8Ht7APGW8XjM9i+KY+yq6sJXWZiqN1eBffnMZg64AuU4I+Twc2aXDOcO7bMyG
BmqFCOevWCDk80jmqlAkin1t5Rs9NRZZ0KCoxaB1GL5wAMPXu44IeHw0yGs2dmK3CdYsuYoAl8vF
4uIiSkpKAAALCws4c+YMHn744bW+1A0jn4zsMftkyqY/XV/acDQCUaQs5Tyikr7IX4WxUeDQRzrh
WnKltC7pNQ/h7tounIn+fiVYeT3T9qA4c6LauGMKDYoaSASilASVG93UvBkVQKulvWSxfsiUoc1k
4BQVFKFW0AxxnRDRGHCoqwivm/8Lg+NcHK09ANfSAua8NjQqalEiLMaA5SpiiCcCOxz6eRBZ88nV
OrnKXibD75X+X9Hf9/WxWRldP6Q/z3w2UQhketZhgx+TxgUAQFdnYWIz6HoAxORNVJt+8tgxvGU+
gbAxVa93aLYhFo/B7nfhibYHaeffrGrAtw9/FacnBjG5OIGSgjLwPSsVD3SbMc2qBpItKHkNIKqu
0u+d+I3YiszNiVyfC1NrA6bPW9WNtPbGJ5sexfGJ31Goz1tK23B84nfYq92BgbmrKef1W67gcDV9
gsioYxJf2P2pNWn3m07RXy5R4eHme1ndySIvpOt0QqaXzVHGtsVAIhm1z3I5RfZH7OPYWtaM/3n0
/8KbEycx7TaiXKJEaWEJPpjuplw72e6Y9zvIRKtc5knY+spoA0aiH9Cew+rr9YHJayKZqpLbI4Sj
EVSXavGH6yw4Ah4fkWgE/kgA9zceRYu6kZQnu99FBqfD0QgcATd2V7RjaXmJ1LtFBUVoK9uS19zY
tZxFPshWNTtmn8SJsXcotkKnroMxBtDVrsU7PbOQSYVwRBKB+XA0kjVBurVWgb/7yn68PfsGwnP0
dvozu5/My4di8rl+OvBrAIkk11xbnKxFcUx7gyJlM5VALgkCLFiwuP1AbHqn2xPJIGxHov0p4f+n
6zeiDeqQdRhlYiXJNDi1ME0Zc60ZE9LZDlViBcVfHLGP48/3fQ7vTZ3NmqACAI2VpeTf2doYZgKT
7m4r24K2si15sXOxBT75IV9WkeG02FYoEgXfWwUB70rKuZ26DvyWxjYh9k3yaQdF2AEW7zyltaWy
SJ7Syi0liVBUhYi9nIzLEUhezzO9Z0wyffeeKlSoxFgKLsMSu5p1/tnAJLudup2U5Ko7WabpftME
wcEgXrzvBUwY3dfZbPzk90w6KBdf7OCBQrxuPk7Zm3u89LM4XNoJB81+XqVUg+cefwDv9c5iZPo6
M1uHLitTWr6+YbrcEnN7QHIMb1tep7ZILNFh1DaB/VW5t+VbrU49Wrsf3ca+Nd2XvN2Rbb1PT74L
RyO0yabZfmeT30iez+TzaSRqvKM/Tbsnka+PRyCbLGW6f7rr/ehnJso1ZFIhjL5Z2utn0sctNQo8
93g7Tg+YUt7ZlhoFfjLGxmzooFNLcHmch1AkCqsz8Z4L+Tzo1JINnhmLbBByBdhd0Y5ILELGQvlc
PoRcwUZP7bbAmidX/fSnP8WxY8fI/0tLS/HTn/50UyZX5ZORTZdRDgDFhRI0yWuhk2rht6jx6gk/
9u99EMsKM5QlQvjCfpg9VkSKZ3Hv0VbYo/MYto1DVliSRAnNhy/sp00qWBLRLxJAYiFSS5QYto2j
Td0EtViJy9YRKEQybFHU39Cm5s2qAMq3RQyL9UWmyolndj+JZ3d+CX3WPsx6jCiTKFFZXAlxRING
ZQ0e2Z1wHH7S9yuSQWLYNg6VSI4mRS2KCgoRXA5CLpIlWFXEcuikGli88xQaZ4IyPRm5yl6mBKlc
5JqV0fVB+rPIZxOFHCPDs451OPH+pYQTwVRZ5sQM1GIlbH5HShVpKBqCrliDFlUDWe1PmdP1Cotr
i5NQ8bXgeytxpmcpY6UUAOyv2gV5USn6LFdw1ToGuYiH+xuPwuq1g8vhprwLhFyyFZmbE7k+lzKJ
ira1AVNLqfQAJ5CQy5H5aezgPYhQYBaLMR+2KrZDFNRgdAB4YvtnMREcpD3PF0kwQAh4fFSXaGFY
NMMXDqBF2XDDveSJ3yCZol9WWAK1WMHqURZ5I1mn610GcDgcUqaT5auoQJgSUD+bxiJIMF69OXES
Zo8VaokCTYpa9FmuoE5WjQIuD7LC1DZa6XZHJv3arGrAszu/hDPTlyCXCuEN+2DxzsPGHcNezU6Y
R60Uu4bV1+uDeZ8dACiVmQIeH4ZFM5ZjUXTqOkiWs4biWsTiMYzMj4MLLs4b+xBHHO1lreDz+Jh2
z2LQ+iF2lLdBIhCDE+egXKJCZ2VH3jqOXctZZAOxJutdBqglyowFB0w+m7BAwCibye2mXEItzN5E
glVygrTD70arqoESNE8Em430804qUsnLhqA5vklRh5kFU06MWsnjrCbon2wD1ZXX4MjBMpzpXrHl
c00QYMGCxe0HQq9l0kWE7dhSsgNmXxj3PlSMV/p+SeqhQ9V78czuJ/HvA/8N19ICmpUNKUyDpcJi
ypg3k+WySVkHq89GO/6H89fw7cNfxTlDL6UVXDKKRXx8ZO8KcyexrqRvUObSfi2b7l4NOxdbHJk7
cmEVIZDO5gQAl/oj+NwnPw87Jsg9iaXlICPLm4DHz6sdVPK7l+wHDtvGcbRmP3nONbsel62jMCyY
sVvbjipxHf6/t2dS2CjT1/NscW86meZK3Li2PIxZhx7a4nKoJUqS7SvTb8d4rxlkV1ZUwsr0dWTz
nxorZXjhC/ty0kG5+GIOjp5WNiyxcRTy+ZT9POL8xkoZGitlq7o3QraJ2ASTHDHJrTFgwOGa/bD5
7WSLxEh0Ga9f+yMqpRrKOJligPnq1JS2dRXtKJOoMOGYRlmxclX+8p2EbOs9nb7sNQ/hntoucDkc
6F0G7NC0ob28FVtUzLqnRVVPtrRMLYp1Q1WgxeG6vRh1U9nXgaQ9iTSfbcw+mWLv0MWRs8lS+v0T
70GPcQCf63iCMl5LjR/TlsWUz9yeEFrEVTB5M7N50cl8a23DqvXEnQhRIQ/72srgDybaAqpkRRAX
UQOfYAAAIABJREFUFqCokLfRU2ORBaOOCcQBRGNROANuqMUK8Dg8jDomcd+WIxs9vVsea55cRYdo
NJrx+7m5OXzjG9+Aw+EAl8vFE088gaeffhoLCwv42te+BrPZDK1Wi+9///skI9ZaIJ+M7ORFjcvh
kq13Rm0TqCnV4UjdPsTUMohiCYPu8MEWnDD8Fzm2ERZcdQ/hub1P47zpYgojj1qshNljpVwTAEx+
A/TOGcoGf3qGL1ERcqhqL5ZjUSzHlvG9sy9h3mdHg7wGR+sO5GXUsBVA+WGjZHg1yEg7mqVyoqt+
K+Q8DYZDDsQLFmDyjMHkH4KNUw+O+HpSSzxGqYYT8Pg4XN2JUcckGZgyeeYwbB9Hp64D3cY+8loE
G1Ym2cuWEMAU3N8ouU7eLNmhacOOLMbvRmE95Tj9WbiDi2jLcRMl5TuGZ00E+gav2dAfGUz5LlmH
A0hppUIwVinEMkSjUVyY7cewbRxjDj1alA1oVTfC7LGmsAUYYYGAN4Suzgdxtnsp62ZMHHG8P3UO
Yr4Ipvk59FmuUJgQk+WS1cf5Yb3kONfnUsfQ2iC9pdSYfRKXraMYvU7Tmg7nshk7hZ2IBMtQynfA
6pmCI3wVSl0FlLJOnBmnUiQDwJx3Ho+23I9p9yws3nm0qpqglZajplR3w5XR6b9BOJqgm+6s7Mjp
fBbMuJXsirVEsk7/+tvfTfkuHI1g3u/AqH0CY/ZJnJzqxqTLgDKJEp26DlKHp7O4EUHLXZptKJOo
aNvCJbdqyUW/dtVvBY/DwW+uvUYm6JpgwfACn9auuVP19XrLcYO8BkbPHKUyM5HA7aRl+Buxj+Nw
dScuWS7DteSGI+CCUiQHn8fHNnUzbAEnuBwuPlp/1w3ZbuxafutiPeQ42bcvEysRWgzTH0eymk7S
fj/lWtkIzxRIHrOLcPX0EMLRCJkgLRGI8K27/pyxsGA1weZ8k7iT35N8Wg7nm9hFVy0t4PHxmcc+
jbPnl2g35240IX0jcafaFCxuL6ynHBP6LpMuEvKEAAC+R4d9ezh43fxfFL/q24e/ihZVPX5w8d8p
8bHn9j6dck29c4bRD0yP061GH91VvRc/7P0Z4/jP7H6SYufIvqjB6QETxmbc6DpQCAdnEj8e/iGa
51eu2VqryCmZig6rKWyku/dndj+5qutvBDaLPs7HLk1mc+JyOejqLEREasQH84NoUdXjmV0JNux0
340AwfKWbXM6eU7p7x7hBybP8cJsP05NX4D9uu1u9ljxh/H38dVn/g9cGYoyJttki3unyzSTzUD4
FbLCEvgjgaw2PZPs6p0zOGPoxSv9v7plZHozxdxy1UG5jEXHKAgAevc0nt3zFN6fOpeyn0ecvxqd
fLB6D3zhAAKRJTLxVsQvYpQjJrm1hkyQLG0hE7/Oz/alJH6ljJEDO2KuepnpvThc3YnlWOZ94M2C
jdTH2fQQnd8Vi8fA43BxoHo34gB6zZfhCfkQRzylnWCyLLapm3DGcBHB5VCKz/eJ6qdQJ69CS40C
cnshTs5057Y/ngfDZiZZIu4zeX/GEXDB5ndizD5JOY+OVRAA9ul2YcBObdmZjSHrWPPHsLVsC+U6
t1rMZr1keFu9CrNzXvB5XChLi8DnccnPWWxuSIRinJ7poe7T19B3OWGRH3jf+c53vrOWA7733nso
KipCfX1iAX/nnXeg1+tT2KzSsbS0hI6ODnzta1/DI488gm9/+9vYv38/fvGLX6CxsRHf//73YbPZ
0N3dja6uLtoxPB4Pfvazn+Hpp5+GVCrNaa5KsRytqkYIuHwsx5bRqduJp9ofo1X8swtm6N2JYOU+
3U4MzF2F2WuFJ+TD7KIF52f7cLipHffvbsUDB2rRbT2LcWeqURaNx1AilOCz7Z+AgFtAXvOx1vsR
iCyR4yejXl6FE2PvYIuyHkrxChPKidF3aMevkJaDw+Hg/enzMHrm4An5MLNgwvnZPrSqGlPGGLNP
4sToO/ivK7/D7IIZIn4R+X0+vw2LtZFhYHVynA8Io2LcOY3FkBd6tyFFNpLlPBmdup3oqNgGAFCV
isCVLODfrr4Cg2cWnqRxtqq2YNg+DsNCKl1nNB6DWqwkA1TJn2ul5WhRNSAai6KjvB0dxYex7C1B
uawYXF6cInvZ7iETNkKux+yT+L/P/AtkRaXgcXmYcE5jdsGMAi4PlSUVN+26q8F6ynH6s9hTsR17
dIngRDSp+kvA4+Op9seyPls6qGQibG9QwbhoSZFrQocTOtLqs8Pmd2B3RTtMnjnUy6sxYp+AUqzA
69feJWVNJVbg7cmTAAeUhNhoPIYKuRQ7ylvx9Mdbr29c0evYE6PvYNQxCX8kQN5rNB5DZUkFCnkC
7NG2p8glq4/zw3rJca7PhcvhIhAJQimWoYBbgHp5NapLdDhQtYuUa0KvzSwYUSerhtlLTbjeVtYM
fskClsVWnLW/B7PfBE/YC+uSBf3WQdxTdxDDdmors4/UHcLvxt7B7KIFnpAPZq8VJo8FHA4w5U5l
x4zGYxBw+aS+zwZWNm8ebhW74maCySb5WP1deLn/v6B3G+AJeROsUdd1uM3vgFxUSqujdVINekwD
5LtA6P4vdPwPBCNBRPKQ4TH7JE7OnoMn5EV1qQ41pZWweOexHIuiQVGDVlUDwtHIHf9OrLccFwvF
OD/bh2g8Bot3Hrsr2qESyxGLxaGTViAYDdLKhlqsxEXTAKbdRlI25v12tKqb0G3sg8U7j7tq9mW1
RVjf6vbEesQqkn37SCyC6lIdrNeZ2JLRqdsJCV+MmQUT4/cdFduy+kt08vjk9kfQpKxj/B1E/CLy
/SKQyU5fjc+WPC/DogmHqvdBVlQKDjjYWb4Vn9v5yTV5Z5hiKZXKEnzrkw9hT2s5VDLRDd3LZgJr
U7C4HbCecpys71bsCQUEvAK0qpvQJK/FcpiHOk4nxHEVuOXT0LtnyPO5HC52V7RjZsGISZeBwmJM
xIYJn2vMPol/OPtD6KQVGXU7cexq9JFcVIoplwEzabG69PGToZKJsKe1HLWNy/i3q69A757ZUB14
q+tiYPPo43zsUpVMhK31CggKuGjcEsel8O9gCZhSYsGtqsYM+xrVsPrseHL7IxmfU/qcKqUaPNB0
N0qEEsocx+yT+Mful8l9GcKv26nZCl9kAV/6yEfwwIFaynoOMPuYTO8Bk81QXapDuUSFQCSAbepm
1MoqGe+PSXY1EjW+d/5fcc2hv6VkerPF3HJBLmMxyUadvApblPW4q2Yf5XwAq9JLjoALv/rw9RQZ
nvfbGX1OprltVWzFHm07Ls31wxPykXY6nY3OJMv5xACzjVVSWIxL5ss4Y7iIWCyGnw78huIXbxZs
1H40kF0PMfldDzTdjX/sfplW3hwBF0UWB+au4k/3/kmKHn1y+yM40NAGVWlCN+bznt2IDBGxkv/+
8A/QFKth8sxR9tgt3nna9yd5HYosx3Bguwaff6gNu+pqMs6dcb4FfPz+2h8p++23WsxmvXSxSiaC
TFoIl2cJvkAE5UoR7tlbverkehbrh/OGS5heSGUgj8ZjqCguw77KnRs0q9sHa85c9c1vfhN/+qd/
ihdffBEAwOPx8KMf/SjjOWq1Gmq1GgAgkUhQV1eH+fl5vP/++/j5z38OADh27Bg++9nP4i/+4i/W
dL7ZMrJHpp04PWACxBoIeHwAQCgaykrVnCkDma4iKI44bWaskCeELxyg0EAzjT+7YEaDojr7/NYw
W53FxspwPshGO8qUoV0cqcXItJNcNJnGGbIOw0zDPAQkklHEfFFKD24AsHjn8ZXq5yByWNHXY0NB
jQh379qCxsrDq7qHbFhvuT5nuIQd5W0UpoRh+zhkRSWb6h1bbzmmexZrTYE9Mu2ENFILAe8C2YaV
SYeHoiFIBCKyCjX5OOI8MV/E2L7QHjHjG8c+DyCzjmXS3xaPFS/e9wLtd6w+zh3rKce5PBfi+x7j
AGNLqZP6iyS7ilQooa2OjscTjGdt6iZa+Z33OSERpOpYiUCEOZr2D2K+CHpX/r3pme6Plc21x61i
V9xM0NkkEoEItoCTUYerxUpGHW32zFHskHA0gimXIafq4BWfwI3zvuOUyh+CfXDKZWDU5Xca1kuO
iWczOuPGwwc+DSdXD717GtyoEOpwM9qKNNBpY/jFyK9ozzcxyIbJMwdtcTmmF4xZ7UzWt7p9sR5y
nLz2hqMR1JTqMGIfp9gCrderj4VZWJ1y8ZdW08aPrr1DzCfDS2cuY3jahbYkhojV+mzr8Z5kqxZP
x81s1bUeYG0KFrcD1tvHS9Z3JUIJDlbvZWSw/Prbr6f8n8xow78eR05Hsr45Z7gEXziQkbFvZNqJ
k32z8MmHVq2PjtYdwHljH+PawYTNogM3yzxuBJtJHxPr7YTRjVP9RvzLKSPaav20bdUIdqBX+n6J
8CL9MzhUvZc2ntwkr8WjLfetOl67v2oX5TgmWQhFQ9C7nBmvkQ8zyYTRjVE7PVuoYcGEyHVGLaNn
DueNfYws4HTzBYAe0+AtKdObLeaWDMIvTLdLcxmLSTaEPCHOGXrxzO4nKee/0vfLVT3DfPUZ09z2
aTtweWgZXZLHEBTNwhyYRQtDLD1f+zcTmM4hmOrm/Q5MuKZh9dlWxZK/HthIfZxND9H5XQer9+Ks
oZdRbrhcHu13I7bxrPGunBnLVilD6bESlVgBiUCU0x47ASaWOrq5j0w7MXjNhpEYvf62+10Q80W0
17mVYjbrKcPOxSACwWWUSIQIBJfhXAze8PxZ3HzQFVUAoBCjsFgd1jy5qr6+Hm+++Samp6cRj8dR
V1cHHi/3/psmkwmjo6Nob2+H0+kkFYRarYbLRb9ZslZIN8C21ivxg98MYSm0fJ369kFIyhYx6R2l
PT95IWGiza+TV+N/D/wGw7bxFKrQZlUD/mzXl3HGdAZWnx0qsRxCXqJNVfrYmcbXSMsw46Z/OdKd
91vRgL8VsJEynA3ZjKCYT4aHtZ/GTGAU1pAJWlElYq4K/OdxG/g8B/72y/sTjDwM4wzNDaNZ2YDZ
RWq/Y520HP1zVymf15fW4q9/fAHeQARCPg++QBgn+0144Qv7aI2mtXQG1gN6lwHSQskt975tlBzf
qBGbrMcbdSUIR6LoGXHgsYePYS6qRygaZNx4d/hd6Kragz/qz0Ilkqccl2gp5II7uIjWHNoXZtKx
beomtof3OmGz6GMmZ+/0gAnzrgA82ikAifaYzsACOjTbEIqGYPe7oBLLoZNq8IfxDyhymQy9y4Dn
Or6MIXs/6Xwfqd1P2/7BHVzE9rKWvNtwstgYbBY5Xm/QBZSO1O7HS5d+QXu83e9CmUSFAg6XVrbL
JCpcmafa8KMOPf7z7VFc+NCKrXVybGvnYdR9NYXWP+aT4a9/fAEAsPOeecZgvoDHZ98hBtwsOR6Z
duKvf3yBbFVSMS5GNNYAcaQO/gIugjwu3hgZxdGDYlQrtLSyUc4gG/M+O+RFMgDZ7UzWt7ozcLPk
ONm3F/D4mF00U2wBIU+IUdsE9C4DpheM2KvdkfK9skiec6v3Vc8zzZ5Jfv8AwDDnwfuXjPhfz3Xd
VJ8t08YZE5LbtGul5XnZ4rea/5kJd6pNweL2wnrIcT5xiXQdTmwW5ho7IHRJr3koRbeXS1R4uPle
0g6VSYWQ7Mge7810T3RJslkZW9dZBzLp+NtJFwObQx8zreNE7Dcd2QrJVyNfq0GmxI5OXWYmhlyT
xbfWK/Hj315BS5cGRlBj3CqxHMO2FebwTHY/3XxlhSUw0sTOM93fZsTNlON82+3lK8/paFY14HB1
JxxLrhT7u9c8hEqphn6Oq002yfM8Orltlm3D939iwFJoGQAg5MtRJtfhwBPtaFbRJKGsosU3QNXJ
R3bpGMdKfi+SE602u1+83vo4l/WYzg75t/5f0o435tCTcQu679Zs3quUofRYSa95CPfWH0rRockY
sU9C75xhbFefCYQeAICdd2tgyqC/R+x6TBjdaKyk/+1uJdxMGT47ZEbPVQv8wWXY3UtQyYrQczXx
ux7aob3hubO4eSiXqBjj4yxuHGueXAUAvb290Ov1eOqpp+B0OuHxeFBbW5v1PL/fj+effx7f/OY3
IZFIbsbUGMFkgO1uKcP5KxbEYnGc7V5CsUiMvR+tzuocM2Ugh5bDODndDYBa0Xz1chRxSSEi0QiG
bamVqumLFNP4taWVCC+Hae+RznlPx61kwG9GbKQM54JMRtDozMo7IOSrIJPq0L8UQedWFfg8M0KR
KE4PmNBaq2Acp15ejS4G2SwvVgNpr42Ax4ciXg9/0Iau7RUIhhOLtLZKgiuTdvqM9FUachuFHZo2
XDQN0n63Wd+3zS7HTME2Oj0u5PNw7H4Z3jL/GgCgFimhEstpdXhFsQYnp7sRi8cogdDk/zNVlBLI
pGO/sucpvD917pbp4X2rYjPLcbKsCvk87KxOOHzhaATCAgEGrieiygpLYPclAjt0cpkMBV+LgcEg
vngstSKpsqSCcnw4GkFlSQWuzI+ycrjJsZnleD1AF1DKFMiTF0kRjIRpdXSdrAp9liuU8+S8Cvz2
fT1CkSiqaiN4afANCvvQw9pPIxSJolwhgiNCHwS3+11Qi5XsO0SDmynHpwdM5Lp/YJsGl0bmyf8B
QMjn4RMfl+Nt26/REd9GKxsaiZpWNqpKtbhsHQGQ3c5kfavbHzdTjpN9e1lhCWx+J8mKJyssIWMD
VSVa7NG2Q+82oMc0kPL90Zr95Hjr5S8lv38EQpEoTvUb0ay7OXNYzcYZXbV0Nls+fc63kv/JhDvd
pmBxe2AzynG6DieKYcLRSE6xA0LHxOKxFN2uFivQrGrAS2cuIxSJwu0JoaZAAzPNRmGu+mg1xWzr
qQOZdPzXnuxARVHlbaGLgfWR41wSkZnWcSL2m45ssrBejB+Z/MH28tbs5+eYLL67pQxcLw8C3hVa
NqP0wgrGxBia+bqDi+jQbKON7dTJq7Pew2bAzZTjXFiB05GvPNOBw+Fg2DaeYn8DzHpmtfpxNeel
y+1Lr10mE6uAxL3Ozntxqt+Elhrq/ebD2kaAUSd/cRtO8ehZvlbs7dQExM3qF2+UXbHW6zGXywOs
9OesFVYjQwD12cfiMZyc7mYs+lWKZfj7Mz/ANw4+m/dvlKwH+N6qjPpbXlCBv3n5Ai3Bw2qKeTYK
N1uGZyyLuDi8EmebnfdCyOehXCFmk6s2OXTSctq9Hx1DwjCL/LDmyVUvv/wyTp8+DbvdjqeeegqR
SATf/OY38ctf0mfWEohEInj++efx0EMP4aMf/SgAQKFQwGazQa1Ww2azQS6/eb15mQywYHgZQj6P
/M4biKDQXw0Br59xIRmZduLMoB9dkscQlsxixmOAiq+FTq7Am/p3U66RnLl9edKJqlot3PFBytgl
hVJcs+tJGmqmDGcAMC5acnbe03ErOqWbBRstw7kgkxF08szKOxCKRGF1JlqjePxh7GxSgcfjQm9a
zDoOnWyWFEpxfPRt7K7YnlJhXVNaCc98OGUzTMjnIbwcxfisG9sbVBTDZbWG3EZhR3krplyGW4Yh
ZrPLMZNj93df2Y8/9s5S9DgAzMcnVto3eeegK9HQb67y6jGIq2QwUyIQkcclB0bTK0obFbU4Wrs/
tcIkg46tV9SsW0XfnYrNLsfJNkcoEk1x+JLly+F3o1nZiEDED5NnLmOAvkqwBQNX3bhm12PIOoKh
uWHUy6uxo7wV/RaqM1lTqmPlcJNjs8vxRoHJDigqKII3FMCQdRj3a49hxjcDR9gMtUCL5tJtiPmi
tO9OgUeHUGQJQj4PEakRYReVfWgmMAohX5VxU6uypAIPNB5lbBlzp+Jmy/HwdGIDU8jnIRaP09oB
1tgEjX51QXm9GtkRcNPKhlqkhC8cyMnOZH2r2xs3W44J/+n1K2fhjFihlijIdX/e7yCPk/MqUCWu
S7FP5/0Oioyul79EvH/puDLpxHNdN2cOq9k4o6uW3qvdAQ6HA4vHijp5NVQiOX4+9Bq2l7diR3lr
ii6/1fxPOrA2BYvbAZtFjuk23F44/DzemjgFq9cGlVhBxn/SfbtWVQPF50rXMQTrVWdlB4BUXVuy
XEe7UZh1YzNPBphkrKcOZNLx7/UaIFFW5JUYu1mxHnKcayIy0zo+wvB5LrJwszekx+yTKC2U0srC
kZr9q/LFMu0JjfRHsHvXg4jITXCEzdAUVaJOrcKrI29SxmGy+5N/NyLe6I8E0KiowcDcVRofZPOv
xzdbjplaKV6xjjLqrnzlmQ7Es0q2vzPpmdXqxzZ10w3r1XzvN98W30Di3QCAcoUIbk8IoUgUoUgU
Vy9HybFGHXooRKUpHXjoEhA3o1+8WeyKXMEkb8WRWmjVErzPu7mF3KtlwKSLlYSjEZSLKiDgURM/
hDwhfOHAqtjOkt+L8z1BdHU+CJ7GBLPflMJGJ+Dxwffo4A8G8aF1At3Od8l7apFtwz8nscLly4K3
nlgPGbY4/LRr5JzDf0Pjsrj5kAgk2F3RjqXlJXI/vqigCBKBeKOndltgzZOr3njjDbz22mt4/PHH
AQDl5eXw+XwZz4nH4/jWt76Furo6fP7znyc/v/vuu3HixAl86UtfwokTJ3DPPfes9XRJMBkkdvcS
ZFIhmWgCAAjIGBcSChtF0xb4rBqEC7iwb00woqSDyN5tq5Xj7R4DRekX8gphXLRgwjkN55IbzcqG
lHaCdKiUlkPvnsW8z4EGRQ1l4/9WDBDeSDDgZmMzyHAuyGQE/cv0Sdpz5hx+LEdjaGqOQ1dvwdff
PoMWZQOe2/s0RmzjtMZUumx+/e3vYjm2TKmwJir6tlceReRqDIcOFCFSPAvH8hxqCjT40DpBMVpW
a8htFLaoEm2Mhu3jm/59uxXkmCno0fuhFeMGN+V4mVQIS8CY8hkR4IzGopj3O1BRXAaxQIxZjwGf
bHoUk54JWLxWRKJRPNPxKUy7ZjHqmISIX4SPN92DmQUjTJ45aIrV2KZuxoGqXZQATi790zerzN7q
uBXkON3mIBy+uNKM+ZAJSwEeivzN8I0BxR06QDZABg/TA/QqgQ7cBS3+8MdFfPbJEhwfeQv2gAtK
kRyekA8/v3wcz3R8CkPWERgXLagsqUCnbif2V+0CgDtWDjezTQHcGnK8kXi0+T7MeiwwLVpQJlFB
Ky1HILwE55IbHZptsMxFMdRXhnvvaoSbM4mz9rehFGjxgPYYFjlzmFqYRrOyHmGHBm+/7wGQWC+Y
WKnmw2bIpDpYnQHG6rf7G4+wiVVpWA85bquVwzDnQZlcBNM81edMtgOSGSEURTKoxUo4A244Ai48
tOVeWH12GBZM0Ek1aFHW49zsRXys/q6c7Mxb0bfaLGD1cQLNqgZcRRSGK2aUN8cg4H1Imwx6eWg5
pzYS+fpLq3kOxPuXjtZa+U3z2VazcUZXLd1jGkCDrBp/tu9z+LvT/4xWVRPEAjEumgYx5TLgSO3+
FFvpVvI/08HaFCxuB2wWOc7UDtXmcyAQWUIBt4D03Qh9IxGI8K27/py2xU02HbO1To6q2ggixbOY
jlrx0dp7YPc7YfaZUSmpxv0tB7Lq93wZYPKZ31qu40w63uZegsXBwfamlSSXquLs977ZsF5ynGsi
cqZ1nA7ZZOFG27KlI1222tRNeOnSzxGORlIKHpsUtTiStu+RDzLtCZVIBDjbHYCQr4ZMWglZaxm2
bhPhxNg7CEdX9ngyMmBe/92G569d36uxo1XVDpvfgV2a7QhGg5Q2dJ/Y+vFV3ct6YD3kONl243K4
2KvdgeByCD2mQXhCPlo9k6880yFfm2+1NvdLl35OaQF+pCY/GV7N/ebK2ka+s2I3dt5tJfdp+N6q
/5+9N41u6zzPRR8ABEAAnDCRAAlO4iAOIkVRlEyKsiTbseNBtmO7cWynOWnq1LGbnjjp6UrXbe11
epqcrtubrnuaNmni2nFP7mmaNJ7txGMcDRQpieIsziRIgphnEiMx3x8gtrCBvUGQgixK2s8vCQT2
+H7v947Pi/4LG5hacuDZR/cTx5qzqvH+TD+UIgVUhRXg5MVwQTdCnGc3+sW7xa7YDhLydkp9EfOO
Jci4FeC6VPjFmxbwuXY8//QzmHVevqb+Sjb5DCrdTRUrMWuE+IPqr2B+Ywgmj5WkA4F0Hy4beyN5
XSQmUeXzy/DMk124bBuD1q1Bm/gguC7VZiw+H+/q/4NsI3HOo+vgSfQNkJnhtsOC91ngs5LhVZOb
8nMNzecMdg8cPgfKCmQwe22QCsUQcAUoE8ng8KXnUBlsHzkvrsrPzweXyyV9xmKxMv5meHgY77zz
DhobG/Hwww8DAP78z/8czzzzDL797W/j9ddfh1KpxA9/+MNcXy4BOoOkVCzAZbWd+D+fy8GxAyo0
yaWUG8nonIX4t7iID4PNC5PdFy+02ux0TxSXODfWEYyEiMrt450qfHpJi8FLQRy6m02MB+xUtpE6
GVbXDRkd4Ww2uRstQHi1wYBrjd0gw9mCTj7o1oBcLEChzIPRyHsI6kOb4y0D6Ndewl8e/VM83fVk
2m/SzplUoZ7cgZ2giDXzFnHsiCp+Dmf8HethwIxrAu1WWfpIoBusMKWn6iDEguJdv95uBDmmC3qM
LlihkAoJalJxER9OVwBOVwCNAhV07isJ80SA80utD8HosRD6tVvVidfn3wIQH8c2arqMUdNlvHD8
W/jjrifwbyO/xlszHxI6fNw0vRkwjaQl1G80HXsz4UaQ41R9m3D4ultbELBVY2EjiHJZPtxeFwan
zWg9yiYFXgKRAERcIYqLFDj3oRBunx8njgrxxvybEHGFcG6sE+OEOpVtmLUs4ztHvn7d7ne3Ybfb
FMCNIcfXA8nvjsfhEsUxBTwhZqyLhG29X8JC96FKnPW8doW5EAZMr43hpOJJFBvrwQoJEfSGEI3G
WTkzsVI1SGpxIRwPOCaKIcMSHRwRA5oZ/U6Lz0KOE/4TN48NaYkAq+YrAR4+lwNeHhvlwkpzTIlZ
AAAgAElEQVSSHRCMhGD0WKDwyrHmc+GuPUfx1uwHEOYJARYwYryMEePlbekEZt/fGRh9TIbB5sOq
2Y1wRITejkfgyFuGLaiHjFdBBICrysjJDDpsx1/a6XtIrL/UUZzHO1XbvoZskWpDJez+9nr6QHem
kfa/Xx5Ai7yRFG/RuYyYss5DLCimbR66kcDYFAxuBuwWOc40DrVOVY2P1Wdh9TlIhR+VxeW4r+EE
ZWFVApl0TNt+Tnxs9WasTOvSo4AnxMOqp9Aor0GTPHOij4oBJnmKQjagu75+9SR+MvqvOdvHM8Ul
51edWJjjwutXQCSohFbIQ9OxG0svf1ZynG0h8lb7OBUyyWouxrIlQGebdCrbcEE3Qmrezc/jX9Ue
TSd3lWUFGJ6zEvfhdAXQu78CTXLpjuz+t2Y/Iu5HmxSvSR1D9/m6Yzu+l88Cn4UcJ9tuhys60uw0
Kj2zE3mmPPc2bT6q72dicDunubRZKEZuQC8VSonC/myQi/vNtGY5BWtYiJ2FxWVDMBLazGlOoLf7
JApBLuDaK6/DT3+hg8enxAVPEIcOctEmZsXZ3vJVeKj99l1nR+8Wu2K7aJLXo6/fh+C8EgbEYHb4
EY3G4A+EMTEWwXOPbZ2nu5ag0t1nNRfxxx1fxoXlKViTfNtLQ0Gc7NwDp2MZ2nUDoQPj60KC1tLG
jMel0gOfO1yFvjE93L7499hsFg43l2J+NoKArxkevRJaV2BL9vqQRAc+t5S0PrbDgvdZ4LOSYYVM
RIqzJaCUMexHux0SoQRLzlVw2GxUFVdgbWMdZo8Ne8RV1/vSbgrkvLhKoVBgaGgILBYL0WgUP/3p
T9HQ0JDxN11dXZibm6P8289//vNcXyIl6AySOw9VoVQixPSyAy0pxlBytWyduApykRSjsVEcuFMB
rrsKQ8NBtNRKsGp2IxCKgOepxpFKFnwhP2w+B1rkjRByBUTldkutFN97tgcjsxYMB0YJiv9AJEDp
CJ9SX0Rfvw/ji/YdUe3eSAHCXAQDriV2gwxfLejWQIGAh42CVYSdEXSrOrERDsDmc6C+sBZDhgmc
146gu/IAmuT1lBXkUY8YokANeBlmcTtDJpQUxRC07d53fLW4EdbbjSDHdEEPWbEA+Tw2ThwVYkOk
Ibpq8r3VaCppw7idPG61gCeE1mUg6PrjnaVBdCrbCBlvkTciP4+PAc0Q8gJSTJrjzyZ1RAvd3Pgb
4Z3fjLgR5JhO33K5bBy5HTBGVmFwm9DZrsDeohY0KLvw/TP/BABE4AUA2lkn4fb5IeDnobTah4C7
liS7g/oxBCIBmNw2LGidaKgUA7ixZsdfC+x2mwK4MeQ4l5i1LmLSPIelzU7eekkN7thD7kSfWbHj
w9V+0siUhA4vERQRhVUAsB42g1MESrtCE5iF0VqFi5MmHOsoJ8Z/p47oTIDH4YLDZuG2e2xQcvbi
3IAPhSjBiYaDaK65ddbNTvBZyHFLrRR/+40eTCxY4Q9GMD7PQSgSRW93PsGGWlHSAZ4tfXSIqlAJ
14Ybdr8TVcUq2DZZ/1RFSgzqx7atE5h9f/tg9DEZC9o1AIB9fQNmnRST6jhLQiIADJC70XO1n+/0
PSTW35kRHWW8ZLvIphs5YUOlrvOQpBazViHl9WZilvv56Osoyi/Y9v3vdsa1ZNxqNgWDmxO7RY6z
HYeaSJqXimRXPTZ6xnk5TUd5gj4YIrN4uGbrRDxdvGInjBCk61qx48zSIG28ervMFkerD1H6yQJ+
Huoao+BWG0jsKUWskq1ufdfhs5LjbBltkvfxBe0aDjaVorOpdMc+TrZFXdnYL3S2SSASSBuPPGWZ
h9q+glHjVEZ/kg508RkOm4XH7qhD/7gxzcbZDnuL2qFBaYGM9n4AEDHG3cjwk4rPQo4TthsA2rzY
BzMDeOkXejRWlhDvZjt2aTY6byf23lZsUMm6Nzm+TKer6ZALO5xqzbLZLHAK1/D+wqX4eZLii8FI
CGGJDica0veexsoSvD+wAgDoGwiT2N52o428W+yKnSCc70B5xxJsYSMOJDGKJXTt9Yz5UunujXAA
y2tLeLTxYQzPWDA8ZUFDZQn+5k9UaK6RgiXqxKdL5xCOknOP/tAGZq2LaJLXb+mvJq/Vow/UQBar
R//ABnraFXj900UEQhH0tpcT4y2BzOz1tqAe4qJK0jSr7bDgfRb4rGRYVVqA8XlO2h6pKi3I2TkY
XBuoHRrEEIM/4MeyUwu5UAJ+Hh9qh+Z6X9pNgZwXV7344ov4y7/8SywsLGD//v3o6urCP/zDP+T6
NDlHJoPk9o6KtO9TVcsmOg5GjBMoFRnQffgIgut54HM5AAChIA/nDeOkSnseh4tuZTde7p8giqRO
HFTBb6uHzm1AqVCGaCyWNkscAOYdS/BMl8Jk9+3q2a+5QLbBgFsdV2M8Ja+BySU75CUCFAh48GwE
kcf1o1vViaEU+Z22zuNo1SF8/8w/4ZuHv4ofD/6c+LvJY8G0dQHVoV78vs+LY0ceREyxAoPbmEbz
2VbWgmHjBOV1Me+YQTLogh71lcXQulcxFvkNif2Mx5nAA6pv4QHfkzBEZmDxm1AjVkGQJ8CEeYY4
hji/GBJBCc5qLqbp6OPV3fjRr8ehbFchKAqSEvgAIOdW4OW3J9C7v+Km1L8Mcg8qm2NfnQzawBze
175NksEx0yS+WfJVUmfkwdIuxBzlmJsFCoVc3H1nIT5aei1Ndg9XdEDnMqKusBnvnV3Cfb01iMVA
CvSYbF5Mqu34s8f33zKFIoxNsbswa13EJ4t9uKi/UgSrdRnRrx0iutCml+3417cuQ9bpprSJrV4H
GiQ1WHCsIBgJobqwHouuWcrzmQM6ANUAgHMTRjx2oh4efxBWpx+SPBGe2xenUp+xqSEVloDP4ePT
5X5EY1HwOIN46PBT2KdQ3TLr5UZAS60ULBYwPGPGba1lkKs28Dv7a4Q98M68Cb2VXchjsxEFwGVz
wGXz8MlSH45WHcL7C7+n1J+MTrj2YPQxGYlkaCAUQT4vHqpJDugmd6PncvQO3fOetqqxqHOiXiWm
/W1LrTQn9i9dN/JzB57BxFiE5N/+7Td6MGlaiI9wSNj9bgMGdIOUbCmZmOU6lK24qBslvpvMMk73
XOas6l3PuMaAAYNrg52MQ73asdF0umhpbTmr39Ox9zXJ6jCzYsfpYR0gcqLf8+a29NrIrAXWaPpx
gXi8mqq5Z167hq6mUuxpjOLHIy9Rno9oOp6NJ18bm4F/m/4Z8d1EnOe5jmeyuv9bEalxMz6XgzKJ
ECcOpjPaJO/h5ydNsK35Mb5gxcCECc014m3FlbMp6ppZsePHr43D7PAhEIrQ2i90cm/1OiDOLyY1
PO6RVOP9+VMZ/clMaKmV4g/uqsfsihNWpx9ysQD5vDycmzDiXiEP//wXd2R1/8lItmvKRDIE1oOU
37P71vBk28Po11xCnaSaYb7dREKfTphmcCHJTkvGqluDYLACI3MW9I3p8cIf35a1XZoNC85OmV3P
jOgAAAqpkCjkSGZwy6STk5FNjudq7fDkNZtgg21qBs663iBsbCJ/qerEgHYozt5NEQtJ1TvJbG8M
MiN1j8xU5DprXSTt16mMYjMr2/cRE7ZALoqxMvn3T3dJ0VQtxZfvbSb9LXl0ajLDny5Jj2c6rtq+
QpGnH8SL/+V5DA1f0b3nJ43o2afERjAM65ofHQ0yhCS10LvTC6zkvApoXQHi/zthwbtZwOWwcFtr
GbwbYWKPFOXnIS8v87QyBtcfIp6AMtd5rPq263xlNwdyWlwVjUZht9vx6quvwu/3IxqNQiS6cejh
tmOQUFXLhqMRyEUStMobYfU5EJUtgcfeg0ceEMOGJXihRdCVXmF7VncWsYJ8VNVW4MMLGnx6SYu/
+EY7PEEf/CE/rD4H2staIBWW4MzKBWyE44pdxiUr+d04+zVXyNbwvJWRiwB7Yg0saJ347dgIJOUW
RH0G2H0u5HPTk5nBSAjOjbgRnnB2kmeh23wOhCRqHDtSi7MDfhzvrQX4RoLmE4gHsLtU+7AecJNG
tiTAvGMGyaArhGWxgKWFAUoq149mB2AYq0FbrxxhbGDBvgK5UIIDilYY3GZEY1H4wxvwhTYoZdwd
9KK2PoIwNwZuiEvq2sljc4C1Crw7sIyPLqzetAWuDHIPKpvjf/W/TymDF3Sj+M6RryPmFUNgt4DL
XcdCwTS67srHRiQAa0hD2wWpLCxFwCaGWr+Ol968jNqKYgRCEbDZLBLjwwcaLVii3lsikMfYFLsL
M5YFBKLBjF1ok6YFyNvUsPvJzGzRWBQAUF5UBqvHTrDCKjnVcPPdlEGSCmElzjuuFCt42Wa4JcvY
KLSgsLwVsqIWPF33JP7z8nt4b+4T0nUFIyEseKbx9qsOInjL4PpjetmO7796Efd0VyOPw4aNpSa9
NzaLDalQDKPHAoPLhPLCMhTx2biv7g4YvGaSTZooqghEAiQaegbXBow+JiM5KZEI/gaCYVg2g5hy
sZDQO3RjPN48tYj+cf22iv7p3kO5qBxvzL0Dy2UdmuW56+inAl038pmlQYxcKiUlYL/3bA9c3OVt
sU3RMUx0KFqw5NDA4DaTfNgWeSP2Smsp77OiSIFOZRtpH9ptjGsMGDC4Nrjacag70Zl0OnqPpBr/
NvJrTFnmMx6Ljr2vSdyGF38aZ4Y5cJd5WzoVAIZmLZC1llOO1JZxK9A3pkNDpRgzK3b8zcsX0HWQ
C1nLKobCZ2E0lKXp0XA0ginzHJwbLszG1Kg6WIm8QA0u26h93VnnZfRiX8Znd6siETc7O6oDhE74
BBrofWPot5nBEpHlhCqWzOdy0NVchvcHVrYVV95qfcxaF/GBph+8faskthWqfAad3MtFEoLJG4jL
skIkw6xdvW0ZTsa5cSNMNi/ERXxMqu3EPex0DFSyXePcWEeLvJFgXU5GRWEZ+lYGIeUpUBKuhd21
gVc0v7whmDGvNZrk9YBPjCWeFTqQnx2bxcYBRTu0vBWsRyzoEO3BjEV9VXm9VHnZMcOuyIkDd5pI
THvJrEKZGFUTyGUTRSYc71Th1LAOXQe5CBWuYj1qRaxAhqA+/b7DsTCOVh1CAVdIeaxcM9reKphe
Tt8jVxbKcSJyG3rr0vc4OrlMMIqdHs5uPGvCHpmxqiHJU4KLSmjNG1cta9vx72dW7BiZtWBo1oKW
GjHCijVqlrqF0+itPAidy0jYDMnHPasZTIv/dCrb8P7CKWijRhy488o67J8wgM/loK1Oij/5Qjtm
rUIM6AbT1uPxPYchdkUYWQYQicYAAFwOG7ISAbgcdvzzSOx6XhaDLOAJ+pJGbRYThBGeoG/rHzPY
EjktrmKz2fjrv/5rvPHGGxAIBLk89K4DVbXs4YoOfLR4hlQJeKSSgw8M4xDnF4PL4VIey+SxIhQJ
wRkbRW/3SfQN+KGzuDFkGEc4GiGCfFOWeexXNIMFNsZMU+C6VMR4gAR22+zXXCEbw/NWRy5n20fy
7YB0BR8vjxNdNgaXmfK7Nq8d4vxiaNcNEOcXo1ZclTYLnceZRG/3SZzp96G3uxtlYj3MAR0qC6px
X/MR7JXXIYYYhoyjKMkvBmKAxRfvQrqZ3vGNND5iN4OuEPaVGWoqV41bg6O37cWbS5+Q5HLKOk90
3vRUHiQFaJKhd5kQ4xqhMxmJ3/I4XJys/zzWTAU4c84PhVSIdU8Qk6YFDNg/Zt7xLYyrWedaimAb
AGjXDVgxrON7P7uIE72FuGB6G/tKm3BGcyGjfWH1OnC87G682m/FgUY5rE4/5jVOAEBvdz4mYr8h
MT6MWIdvCdYFxqbYPZi1LqJv9RL93ze70N7V/wcls9CI8TJKRTLw2Fwsr2kBxN/lvcePowXHMHlm
jORIekM+RB3lAIJQSIVoagbO+95BR1ErCjkFuKgbxZJDgxO1PRg2TKQFdoA4PbhIUHnTNjTciDgz
ooNIwMXwtAWtdVLM+7Skv59svIvETqXdlKG7ao9C7zKlNQa0yBshFYhxe/Xh63E7txQYfUxGIinx
m74laExubATDKBDwELbHWSbvOnQlmUE3esdo88Jo82Js3pY1KyXde+DkxXDReBEAoHXpcVZzEc8d
+gqmLPOYtalRJ65CYHP8VTQWvSoGJ1qGipSRDIFQBCOzFswiN6xne+V1OFHbAwFXQMnS3Fq2FwAo
WcsPV3Tggm5kx+dmwIDBjYerSR7vlAWFTkcHwkGcWh7Y8lh0jFqn+7wIhCJQSIW0Y3Ey6bXGyhJE
QrXgccZJ15afx0dNQQ107Ev4iw/fQbmgEg8/WImPDO9iwxlvENa7DWl69HBFB4mxYtWlB48zjNur
u7d9bQzissoucOL7Z36G4HrCBk6XE7pY8kYwTIxPz9bvybQ+UuU/mW2lb8Cfls+gk/sTNT0oFcZH
q7WWNuL26sN4e+YjWL3UdlG2cpJg8ElmDI3fU5x1a7txntTRb/l5/DQGZh6HixiApbVVLGEV3Moo
3hod37aOuJlxakgHNlTgccZIz65b1YnfrZxCh6IVrHAh1J45uIRWnF/loKdq++NSE/GC5FFJO2HY
3YpVCMjMqJpALnM8mdBSK8XzT1fjJ6P/iqBzM//jpo5LJvJCX2x9IOPxmBjJ9nBmJF7cRorPwoCZ
9XFIi9LXPp38JRjFfvw69WSYZB2bqo+10IPHGSf08dXIWrb+fb96EqeXLsIWNUDWokQgvAfLTmpG
Tu26Adp1A5HDSRyzVCTD0erDeHn4l6TvJ2KFhF+Xst8EQhGUy+OEMJnWY++t2e+VhqFpCypSRgBG
ovHPv/pA63W6KgbZwOg2k0ZtJpqVjW7qPD+D7SHnYwHr6uqg0+mgUt1YNHnbHaeWWoXL43DTZkDz
OFz4w/5Ndh/6LoVE10UwEgJHqUNRgRJLnhkEIyF0qzopClW4+FLj43jl/6Q7DnSzX5PnfHcoW9Gh
aLlqaurPEtkYnrc66OZkR2PAT94Y3xa153ntCCG7AOAN+dBSQi2/yqIyTFvmsU/chEnLLO0s9JBE
By6nFH0DfnS3tiC6Vot7H21Dk/zKtXSWt2HJsQpFoRyHVPtRU6K6ad7xTgNptxKudiZ4s7wOWld6
d0SFoBor/llKuYzGorijtgfrG27IhBLqTrIiBUaMl9N+a3I5wA2L0HHCCFvYiNvL2vHu8n9cs3fM
FOftflztOlcVKSllsKq4AsPaWbQeM2I2PIQmWQNYwJb2hUpUiX9/3QEuh418Xh7MDh/2N8phdvgQ
KtJSMr19sHAaPx99HXWS6ptWxhibYvfgnOYSLF4brQwnd6GldtqwWCwcqtgPzZoenqAP3apODOrH
iG7Sp7uexAvHv4VR/Qy0bh1MHitai1pRBhHa6wvhcAUQE6+gg9uaZmtPWefxSPN9WFnTpV2TbJMe
/GZtaLgRMbXsgNMVwL66AvxucBUH7iqHbpNFoYAnhMFDzcZg8zsgF0qgKlJS+lvHajJTZTP78tWD
0cfpSIy5/NGvx0nMCamjCOhG76jKChCNxGCwefHu2SXEYtjSnk68h3cn+mDc0EHOq4BKIsX76o9J
3+tQtJLGwFMVGSV39G9njdB1OctSRjIAwPCsBS1Hc8d61lN1EOOmaVp2AjabQ8sQmpwovVUZ1xgw
uNWQmjyetS7ilaF4g1WzrB4tpQ1EEWqy7tspC0pCR59SX8SicxllfBUqJVK8M/9h1seiYtT60dIp
AIDTFUBNnpKSgSqTXjveqcLf/W8DPnfii9CHF2AL6iHjVaCmoAYf6N9O2SuG0alsIxWkJutRALSx
RHfASzkWnNG5WyMbmaMr1rY6/RAX8WGy+9L8nkyxO7riCrprCUl04HNL0/IZmWzEnqqDhI3xk0v/
juqSClQUldH6k9kgE+vWTuI8qXbNoH4Mhys6wGKx4ky6RQrEYjEM6scAkHNIqc/o1PL5W9Y2nlp2
QGveQG/3SYQkOthCelQX1CASDqFDQe3HT1sXEIvF0Cxuw+XxCCaX0uU08X5Sm2zkBTLMWhfjOnMH
DLtbsQoRx9iC5ZBuXV6LGMSMMx7vLhPJ4A35UF9YmzF/OW2Zz6qAjQE1Uv2jvMIKhFi6tPgsAEyY
ZtILpmnksnlTLrMZz7qVPg6EIjuWtWz8+1nrYrygL6UI8Z7auyjzOgnZa5DW4oGGO+PMOyEf9C4j
+jSD6FYdIFitqHL0yfeXzy/D4eZS+DbC+LN/OEXohqe7ntzR/d4KUJUV4Ny4gRgdmhh3evv+8ut9
aQy2wAFlK95fOJUW67y/4c7rfGU3B3JeXOVwOPDQQw/h4MGDEAqvdFb+8Ic/zPWpcoadUG2mVuGK
84vTuiSSP8vUpcDn8K9sJl4dTt7ZhiHfUMbNQOfTQJQvhtt35W90s1/nrGr83dkfoUPRikI+uSv/
RjKGtjI8b3VQGU89+5Q4NaTdlmwvaJ0wui2w+a7Is4grRBG/gFJ+i3gFKMkvRmV+I3T5RtpuIdtm
17HTFUBdZTEeuaOe6KROdlR5HC5CkRBmbYtoL2uBWFC8K9/7dhNqO6YTvkWQC8pjuu6ImvxmnHN+
SPkbncuIb3c/jX+6+G8oLyyjlHGZUELJXmL0axHjrkLnjBsmeq8263c8a13Eee0ITG4rFIVy9FR2
bjk+gCnO2/24mnU+vWyHgl0HHudymgzuVzTjZyO/QDASApvFRmtpI8G0lsm+EEfq0VHPA4fDxvlJ
I6LRGBoqi2GyeWELGdKKVYB4R1AoEsLH6rM3tYwxNsXuwKxNnVGGe6sP4dWR/6TstNG7jAiEgzB7
bSQ2qwu6EVI3328XP0lxJMfQLj4Jr4UFy4YRYnYh5bo1rFtQwBOS6JJ5HC7BHEvX0MDgs0fCBs7n
xV1brquSYFGoLq6gZV81ui1okdfDumnzlolkhD7cSncz+3LuwOjjdDTXSPHNL+7PyIxClwTMY7Nw
diKeEFk1u3Fp2pyVPd0kr0ef24eFaRWCeWxY9w2Qxi5kik2kFhklWAe3s0bo7PiEzk0O5jZUluBo
dUXWrGeZksBzVjXGTNOYt1N3Ss/a1JAIxJR/s3odEOcXw+y13dKMawwY3GpIjgWlMviVF5alFaGe
XjmP/3HHn2fFgkKnr6IeMfp+K4ZIUIqNPDaMKTqa6lhbobVWQoxBE/hqwONMZKVTE2ipleKv/ugw
JhatmDrrhkhQCbM/BByjHtuaulcAV/Ro4t9UMLpNKBXJSMl+Rudmh2xkLjWWnNhvy2UiTC3boZAK
0V5/xYbYaeyO7lpsQT3KJDWU+Qw6G5HKDj9S2UXrT2aDllopvvdsD0ZmLRietaChsoRYf68MfZwx
zkMVH061a6KxKEaMl/Hi8eexV16H/+vj/xtq5xWWJKq8UgIL9mWo7Suok9ZkdS83ExLy2TfgB59b
CnFRJcTtSkznvYcSIbUfb/c5MGGexemV82hnnYTG6E+T08T76VS2pRVoDRsm8OLx53FHbQ8GtENp
8YBMMrUVq9B27zsV1yIGEYvF0CJvhM3nQH1hLWpKVJi2ztPmLxnWwJ2DSnepipQAWMR3kgv+LuhG
4Qp4SDmnrZihthrPCmTWxwnG4MrSAnznH8+gMUkXZout/Ptx00zaZ8FICFavnTIGl5C9JYcGzx76
Q/z3U/9v0jOMx7YTrFaZdKk9pMdX7z+O//2bmWs+cvNmQr2qGJemzQiEIgS7I5/LQZ2q+DpfGYOt
YPbaKJuVzV7r9b60mwI5L6564IEH8MAD9PSQuw0zK3b8pm9pW1Sb08t2nB31orfgUWwIV6H3rWKv
bA98QT/J2Utlk0h0KQQiAdi8DshEEvA5fKJLAYhX4hojc6gX1yIYCdJuBktry/gfz9yP3w2uUgZc
kw37iiIF7q0/gQ8XT2MjHO/6TFTzA7ihCqwY0CPVeOJzOQgEw9uW7e+/ehH7j4sgE4KQXefGOuy+
NXQq2xCIBGD1OiDflF9faAPf6PoyTp/zoEt2Nwysy9QMV/kq5NVIUVLIg8cXJP3tnOYSwtEIKXla
X1gLqbAEF7WjYIGFPs3gNWMG2Da98w4SajuhE76VcLWUx7PWRZxSX8Tx6m64Al4Y3CZI8irAdamg
WWZDVV4JvTu9E7O6RIVXR36FiiIFLupGCR2dkHFVkRJr/nSHFgCUhQqMmeIdPpmM95mUdzxrXcSH
C2fgC/lh8zkQQwwfLpwBAFr5YYrzbgzMWDOv80zJvbOjOnhYUTzWfBLLaxroXEZUFCmwV1yHWdsi
8f4PV3Sgf/US6iW1lPaF1euAqkgJZYESw4YzEFcqwXZVAojvC+31cuxvkGPU6cWKS0MqVhnUjxEd
QQAjYwyuHlvtr4muu1QZrixW4r6GO9Akr8fhig68nTQiJFFI9fn64/ho8QxxrOSkTZOsDvPWJXww
f4pSd4YkOnj9CnSI9kDtmaO89qW1VRwRPYINxQrUzmXIuPE9pf/CBmVDQ+q9ZuqUZZBbJGzg85NG
HOtQom7PBirYd0LvMsK94abtZJeLJJi3L6FeUksElJP1YSYbjW5f/mDhNFhg3VAMwQx2L/I4LEiL
85HHYaX9LXn0zuSSHaUlAlQqCvHO2SXS97ZjT/fur8BHF1YBAAdSWEwy2brJRUYAmXUwGVuxqqR2
OTeJ2/DP/7aK248IECpchS1sRA23HO17agAAX2j6PJacqzB7bKiX1uCO2p60Y6cmgbVmN3xsC06b
zVhaW4ZUIIaAK4BcKKVlvGCzOYAp/b4ri8th9djQoWi55RnXGDC4VUAVC0oeV01XhNqnGdySBYWu
aOV7z8Z1vdsXgtsXAp/LSdPRqcfKBu0dHDiKzLCFDPDnleO+wi9g1auBPaxHc5ZMkgmWovZ6Oc6M
6GBx+OAID1N+N3WvAOJ61O61o6u8HUtrOko9LMmrgMBbhYoyHYwbOjTL6tBS2oh+zRBeGf4Vwx6a
AXQyJ+dW4OW3J9C7v4Kwo0ORKHr2KbERDMO+toGqujD4eyww+LQISWoxaxWiSV6/49jz3ZAAACAA
SURBVNgd3bVUFVbj3izHGCdAZYdf0I3g4aZ7oHMZYXJbsUdShTKRDK+O/CcapXuyivP22y5hFmq0
HK3D0eoKYtLCrG2R+jdbFJNTsbckfIQ6STWpuMq5sY7WDBNP+jSDt2RxVXKuIxKL4VivEDaMoE5Y
ReurmTw2QtckM/Eky2mTvB4vHn+exOgBxAtbOpVteH/hFPQuEw6V70epSIpB/RgapXu21ItbsQpl
m3/IpkAmF5i1LuKM5gIp1jJrW8QDjXfB4DZD7zIR+Z9E/rJcWIWZFTupYZ5hc6ZH8jSh0gJZmu6y
eG3oUOyDzhXf09NG2rmMhE4BgH7NEI5Xd28yN5nS9utsxhdvxRjM53IQjQGL2jUsatdyVnyUeBbT
1gVS3CVRLK5z6/HFmj/ErH8Y2nVDmuxl8jH5eTzc33AH5m1LkBfIKHVpa2k9jDpvxj2Mked0rJhc
6Gouw0YwDKvTD7lYgHxeHjQm6nwZg90DvctE2axscFEENxhsGzkvrnrkkUdyfchrhullO3782niG
v6cHD1OdXT5XgjKJCkcf3w+WyIlx8zREXCFRBSjkCojOiWgsigu6ERTwhPiD1pN4feo3lJW4Bt8K
vr7vCVwyjtJScTbJ6tBQKUZDZXoXJZ2zT0XB3KcZhERQwiQAbgKkGk/d+xQ4f5l6TjYdtWciYMNa
r4BQqSVkN2GkJEajifOLieT7C8e/hb3yOlhq9fjnX4/h4fv2gceZTKugLwzWoG/GBJGAC6crgA/P
rxKG2axtkdJ4nLbO4/N1x/HS0C+IdXAtRq1tt1BqJ4UuO6ETvpVwNZTHqe+wgCdEnaQGJZ5afDjg
wtH9UeQ5Kyi72CLRCKZti+hWdSKPzcEF3QhRzb1gX4YgT4C6gr24yBlN+20xX0R8lmk0m1RYgjmr
mtCzk+Y5DBnG0woFKosUTHHeDYyZFTskeUpoQb3OZ1Yyd3hyCtZhiAyA51Jh3q6GsqAUU5Y5rDi1
4G6OSkiwRniCPhLTT7J9cXvVbfCGfHhr9rcAgFXoweOM48uPPoV9igbCWXx/KJXNJ97pE41FSbLO
yBiDnSKb/TW5GzShf0tFMtzfcCehM60+O+WeS5Xkt3odKBXJ0FLaiJ8O/TvttdmCeogElQjYpZCL
qUfCyrgV+PDTNdzb044/7XwAp4e1mFi2497usrTgFOW9cug7ZRnkFi21Unz7yQPoG9VjT4sfr6tf
J3VntZY1gceZIn3mDfkgyBNAUCjAWc3FNH14uKIDxfwC2nPS6UbtugEvDf0Cz3Q9dcsH4RjsHKkx
h+FZ4KMLq2k6JJHUXtA68ePXxmFx+hGNxiiOl91Yh4Q/+bvBVXAjIhKLiXNjHe1lzYS+TO5+TC7M
5nG42Fe2F69NvU95jkx2BWWX89cQHxvhvDI2YmZ9HF3l+zGgHSKu45J+DHfU9qQdMzUJ3Nudj9HI
ewhqyN3O9zfciSnrHG0X+KdL59L+dl/DCWadM2Bwi4EuFhSIBFAqlNEWoU5Z5vH0wScysk3QFa2M
zFpI8ZJAKAKuu2rbTFPJoBrJM+Max58eeAZH6r6W1TGSkTwK7kcX5qF1pRd+Je8Vieu9r+EEAOD7
Z/4Jnco2ypgN16XCwKUNdO9rg99QhZY/KMOPB19i2EOzAB3DCdYq8O7AMmFb/O03ejCxaMXrny7G
R/0cEeAj61tX7GO3AQO6Qbxw/FuY165BIRUSY4ES2MrWoLuW+5qPEEVM2YLKlojGohgxXMYP7n0B
avsK/ufZfyZyLitruowykvDlgHi8+/TKeeL7LLAgFYixuk5dzJipmPzpridpZTL1eQQjIUiFYtqJ
J8lr51ZCcq5DovTjPcN/IBgJ4WjVIciF1H58sq5JZuIByHK6V16Hl4d/Sfptam4ikVPLVr9kYhXa
Tv4hmwKZXIBqT9sIB7CypkW9oB16mDBlucJixeNwEbIq8OL75/G9Z3vAEjkZNucMSH7nZSIZAuvB
tO8EIyEUb06LAehH5J5aPo9L+jFCryViZ0erD6fldenGsyZAJ6fSyB4cbhGBzWZjQeeMEzekFCbm
4lkASGOfBwA5rwI14irsURXhpaFfpMleb/UhvDL8K8rjLzk0+MG9LxDnGjZQ20g/Oq2l/P30soNh
J6fBkt6FVZMbhUIuapRFmF91wu0LoUpReL0vjcEW6Cpvx2/mPwUQt2+mN8l2TjbedT0v66ZBzoqr
fv7zn+OrX/0q/v7v/x4sVnpn5Xe/+91cnSpnODOig9nhw746KVbN7rS/U1Ftpjq7gVAEq2Y3zozo
cOJ2EQ6V78eiYwXtZc2oE1ehtWwvyoSlWHFpSGw/v558D3fX3Y7VdT3p80H9GI5XHUGTvB7fPfoc
psxzlFScmRzmTM5+qpFu8lgxbppmiqtuEqQaTy5vEBpTdrINXClw6b+wgaM9VbinVgaTzwCzxwYh
V4BvHv4qpi3zmLWpcUdND6kyfmrJhs69pVDPhXF75WPw5q9A712FqqAaKm4jVowutN5uiHcc5ynB
dVfh7GjcMKsuUcET9FInT30OrG2sp32eKzaVnRRK7aTQZSva1lsdV0N5nHiHydS5Np8D+cUL+PKj
bVDPRzEw4Edv90mEJDrYQnqoihVgAUT3w6B+DLdVdIDF4mB1XQ9FgQwKYTnMGiF+vxLBC19J7zjr
1wwR1xCMZB79ek4zSOjZJecqpcypnau098gU5+1+nB7WgYsro6gSSKzzU2epg+VnR3VgFzjhEs4B
7rgsNErriO6dYCREFO4ls0akMv0oCuSoKapBOBrBmH2KJIvBSAhu7jJaarsB0Ou9aCyKMdMU6XNG
xhjsFHRyNrCpOxPdYFTdoMl2qdpBrRsTayK1+/3+hjtwTnMJFq+NtuhVvtmRd6Y/iscfbcEUJ93W
ruLtxWDEjvEFO77+cDtlQ8NW90rXKcsg91g1uVAmFWDJN07SfWavDe/OfYIv7XsQ3qAv3s3usaJN
0gRFgRx6t4nWbzpafSft+WiZADaD+QzrH4OrQSLmkDwKLxSJYmLRSsmA2VApxjcebcO7Z5eyjmvQ
oaVWiv5xPYbGIjjQ9CA2irWwBfWQ8SrQUrIXk5Y5dChaCXu7Vd6IJlk97D4npEIx+Bw+Zq3qnNmu
M87LlGvUH/YTtk5iH6Bad8kFCXwuB6EiLYKO9ONp1nU4XNEBb8gHq9eBVnkDydelYp9g1jgDBrce
6GI+Vq8DYAEymmR/k6yOkqGPFFOjKU4ZnrWkxUv6L2ygt/skuEoTDL7VbeslOtt13DqOI3X7Mv52
K1YHab6EMi7SItuLUqE07d5fGfolgpEQJRuzyNMIs5aHruY89I3rweWwcUE3xLB6Z4lkmZu2qiHJ
KyeYeIErbB3PPbafZHvQ7ZWn1BehkjdhSb+OfXVS5PPycH7SiGg0tqWtsZX8b+u+trAxTi2fJzWz
J66fTkb6NUPoVLalMTsMaIbAYrPBzzDCni7Rv1WTWuJ5fDAzAK1HgzK+CkJfDe6vK4LGrUnLFd29
5+iWz+VmRSLX8b/OXhm5OqAdxkN778ZUhvF1wBUmnivHIstpsixlGoGdrX7JJOcJXZftsbcqkMkF
ww7teDivE5EFPrpb7oGxcB4r6xrIeHEm7/ODAdzWosD7/SsIKyYYfZwByXttpqZsDouNF45/CxOm
GVzQjVIea9G+AhH3ysi8YCQEnctIyjdkQvIkhX17JHjuwDOYdV5Ok9OXPj4DGxYglBhRtZm/67+w
kXWzDh22ylcDwIk9hzcZ0aR4puspynWUjY+ZaR221nop80/t9VJmaggNVKUFqCwtJJirGqvEyOfl
AUhv6mKwu2DyWCntG5PHtvWPGWyJnBVX8fl8AIBIJMrVIa85ppYdCIQiyOflEZW4CdBRbU4tO0hB
TuI3Qie+f+ZnhALWuoyYMM+gtWwvhoxjMHutBNtP4jveoA8L9mWIuELicx6HC5+xFNPLdrTUxjs3
W8v2ol9zCTObI/4KuEIiqU/ZcZHB2U9NQslFEowZp/B424M7e4gMdjW2SyObCNhEozGc7feBP8hB
maQRt3fcgScONwGgHyM5ueSAxuiKrw8LH16/HCJBOXyKItjK/RiP/obUcczjTOCo6FEAgFwoxbKT
unJc7zKhkFeQ5hjnik1lJ4VSO0kW5DKQcDPiaiiPE++Kiv2Mx5lEr/JRRCdj6Bvwg88txaN3HMGY
+y2srF9J2EdjUZzXjaCmuAqF2rugWfNj0OFHIOTD/UdK0SSvBwssFPALMGacQgxAa2kjTq0MEOcb
1I+hW9WJGKLQrhtJgZDKIiVxLrOHeq6xOYNhwxTn7X5MLTugNW9cKeLbTERKI3vQJK/Hj5ZPUf8w
xX5I7d5JLtxLdsYTbFUJxgYRpwiBtWIY2ePgsDlolTeCn0SxnKzT6PSbzmVEMb+QGCHMyBiDqwGd
nEViUUqGVapusDlr3PbNVMSSQKL7PdGBmqnotShUg0AoXoDwznt+fOWxr2B6bRKmgI4Y//feR2vo
2adEcQFvx/eaqVOWQW6x7g3CZPPBnZcerAxHw7B4bGkjD3gcLo5V30Z5PLtvLWOQkm5fTgTzGdY/
BleDmRUneRRenhJV/Ga8+ZEa/kAYQDoDZnONFLEYcGnafNUjRMYX7TDYvDCcA/jcUoiLKqF1BWCR
h/C1Rx7Hz0Z+RVpLU9Z5PNJ8L96a+RDBSAjVxRVbMrRki+3ENqi+m1yQIC7iwxZKZ55IHM8QMcO5
sY6H9t6dFh+hZNViwIDBLYetiqtVRUraIgwgsy6hajjjczk42FSKzqZSUrwkGo1h8FIQ33v2gW2N
U0uATrfOO5awoHXSTkmYNM+RxnVTsToMG8fRqWwjiqQScZE+zUX8w30v0F5Lqn9rdtvAWWrG/Kqd
uG+xmA+th7rxgrG9qJGQub95+TxG1XYEQn7S3xP+SaK4L9NeOe9YgkdTCpPdh1WzG3wuBz37lBia
MWdla+xkL6UqINkqPrbdOG80FqWIJXJxvLobNrcd4+ZpUuGfXCSBTCDJOtFPhyZ5PcZGw9DMVmE1
HMElhxOHD/GxwE7PFTFxGZDWfjQWxbtzn6Bb1YlwLAyjywKZSEwaIZZgvkvIPJVNnCxLmUZgZ6Nf
kmW1tbQRzx76Q9Iox1xOJMgVww6d/LbI6/H0fXE/+Tv/GIDHp4TWFUAg5EdvezmGZswQF/FRINbl
7J5uRiQ/h0zxqSPVXYR+dAU8lAVYZQUyTJhnMp6DDlRj0r0sAQorAIlAHB+Bjrhc9bneILFa8jgT
6O0+iUJk36xDhUw+XY/idrDdMlJxN91+kW1+hO73dPmnEwcr8dLUu9u69lsFNYoivHFqkXhmif3/
sTsY33i3Q8ilZuo/Xt19na/s5kDOiqueeOIJTExMYGFhAYuLi2CxWGhoaMDXvvY1tLe35+o0OUXC
cT0/aSTmiludflQrCvHgsT2UDuqxXgEW3GoS+86l4RD8Qg2C69SVrXul9dC6DKTAHwA4/GtoL2tB
OBpFnstEJHPODvgRcS+BxQKaa6REUn/KukCiNDy1MkBpNG3l7CeQSACUSpgO+hsJ2+lM2C6NbKqB
EQhFYHb40d4g3/K6evYpYLLF5xYnkohuXwg9bQqsC2cp14dPGJ8vvxEOoKJIQT2WRySBiCuA0WMh
fZ4rNpWdOMI7LXRhgvL0uBrK4yZZHUweC22H0YZwFXyuhJDrZf06ilVyAOlBudJ8JSDkY2zBhmg0
RjjfqY6r2qnBWc1FEpvbHkk1SvKLMGGaRr2kBkAMc7Yl5LE5JHmql9RASyHr9UlOd9o9MsV5ux4J
myJRxJdIRN51KB6Y3l8vRSAYJhVm87kcWvshmW1yUD+G++vugc5hh1SQn8ZK5dxYh0pUhdcWfpVm
MN9W0YHzuhFyFw+N3muQ1kKQF6ecZ2SMwdWCSs54HC48IV9W3WAJvUs3IuRETQ/R/b5HUg25UIJX
R/4TjdI96FYdgM5lTOuAryhSoLaoGoujhagqA+RiAQoEPMxMRXFpWg5xkYoIGgJAIBjGiYN7dnSv
wNadsgxyB7cniAWtEwdb0u1JHocLX9hPKXeuoCdNvgCgeQs7k+g2XzgN7bqBVFANMKx/DK4OR4/k
4139m+RReJwJdB08ib6BMPG9VEa8XI0QSU7wJ/t2++okUDumKNfSvH2J+H82DC3ZItvYRuK7qThx
8Ip/63QFUJOnhB6Zx1W1K5pprye167ttPwczSV3fO2ENYMCAwY0DulhQo6QWDt8aSviFpBhBJt2X
rE9aayXYVyfDqWEd/IEw2GwWervzESrSYiQ8Br+tDt/5kzZcHo9gaumKft9JYRWQwXblVuD0sDat
uGrWuoj/59xP0CCt3dKOLxdW4oLuAlEklSgQ6VGmj26lupYEI2GPsgf9q2sk35mXx0FNYS10buoR
bQzoUSYRYnjWkvZ5wj9J7P2Z9koZl+zbBEIRsFnA957t2bEsZkKmApJMNsZ247x0/qkn5ENFkQKj
pklS4d+CfRl19dUAdh4fTsT2ZyJqyNuU4LoqobNG0X9hAyduvw8CuRlq5zITl0mCSlRFWvvRWBQD
2iEcUR5BbO4Y+DUhbIhWoSpSollWhyZxXGfWKNNt4oT+nVlx4qEjT8HOUkPr0kJeIKNlH8wEKln9
dOkcKW+Xy4kEuWLYoZPfaCyGV4Z+iaPVh7C3qgS/7V8BENfDG8HwlnY1o4/jSH3nifgUi8WCwWWi
XN9072SPuApDhgnKc2wF2jHpy5vnMAF9motoK2uilKuwRIcTDdRkC9mCTv5LeZXo/0iEjoaC7I6T
Ax/zD+6qx6J2HUa7F3urxPjc4So0VIrRZGamhlBBY3JRTuLQmNMZwBjsLniC1PaNO+i9Tld0cyFn
xVWjo6N45pln8OSTT+LBBx9ELBbD5cuX8fWvfx0vv/wy9u/fn6tT5QzJhST9EwbwuRwopSIc7RWg
3/YxfjZLDpDNWhfxrv4/0qp3v/D5JzHqpaZsnLWp8eyhP8TZ1fRNkcfhYcgwjs68h+CZriElczQm
N37063F884v70VIrRZ9mMM24ozOa6DbhQxX7wWFxYPJYiQTAmGkKf3Xsz3LyPBlce+ykM2ErGtnU
7243IE84hDE1DtwVdwj7L2yAy2GjTCLEsQMq/OTyO5S/1XtWsaB1Yq9sDxYdKzQj1Xjwhfykv+Wy
a2cnjjBT6JIbUBUKPvfY9veKo9WHMG1doO0w0vtWUSZRYdXshriID4PNi+riKvA46fO3831VOD1p
xD23VYPNAiH/rwx9nGaMbIQDmLbM4+muJ6G2r+B/nv1neII+sFlsyEUyBMIBgkGopbSR+N0de46g
XzuUdu47aqmDjQkwxXm7G8k2RSIRmVycF1JMoIC3TBRm91/YQJlECJ13jPJ4yYwMeWwOTCsCjFwq
hbQ4HweaHkRErIM1pMeeklpsWMqgXl+kNJhjAAp4QpJOo9N7cqEEbWVN+KPOx6/JM2Jwa4FKzkpF
MugpgpVAejdYImBINSKkOL8Q05YFHK0+jBO1PYT+BYCVNR14HC66VZ0Y0A7hgm4E+Xl83FFzBK6g
G+d0g5Aqy9Esq8XZcw6Uy0QoKYwz8CYKCBKwrm9klSigW1NbdcoyyB10Fg86OvKgFJWl2ZMVRQpo
1tKDZABgdFlQKiIH0XkcLmnfpkOiAealoV+Q2ImZ7nIGVwsbS007arRQqIBIwCWKtVMZ8bbj+9E1
7eykozdhtzg31rNiaMkWdPpVkCegZ6xIua/kgoSGwn2YcaX7ADKBJG3sfSoWtE58/9WLcPviv62q
DeEno7+5atYABgwY3DjIFAt6bN8DxPeSGd9nrYt4ZeiXJF0b9YhJLBIJNsLnnziASbUNLJET5zxv
EqPZtC49TnPi+uXZR68+vp7Jdp1Ytqd9/5zmEkRcYVasLrepDmLEOkwa2xpnZu7c1rUcruhEP1au
FJptsjmyuVU4UtmFC7oRRGNR4vuM7ZUZyXt7YiKH1x8i/JPkv3Pd1PGyZN8mAa3Fc00Kq4DMBSRP
dz1Ju9duN85L55/qXSY8tPdz+Fh9Jl5gEI2gVlyFQDiAQf0YXAEPmsVt6OQ+CH/SGOV8TyWiHjFA
06ecGtvXQg8eZxz3f+6xOHMYaxGadR26KvajQ9GS1civWwHJuiUBHoeLWlET1GEPBBE57ms4QJLH
XopHl8ziw+dy8MmpEEJhKf76a/cjkm8nERskzrGVfsmm2CmXEwm2y4KVahu3ljZi2rKAObsaX2j6
PKw+B9QODaTCEvA5fHy63I9oLIrTK+fx3IFn8LvB+MQfcREfVudmI1oGXcHo4zhS33mCJe/F48/T
rms6OwMAiTkSyP5ZZzMmXcQVQrtOrQsdEcNV63k6+WevVSAYCqKnvZz0/UzkEjv1MVPXvriIjwuT
RnzucFXGa7zV5Vlr8VB+rjNTf85g90DvMm3rcwbbQ86Kq1555RX83d/9He6++27is7vvvhvt7e14
6aWX8C//8i+5OlXOQFVI0t7Bwb+M/mtagOzF48/TGkpW1iIqRJVYdaUH7fdIqtGnuYTj1d3whHzQ
u4yoKFKigCsEh8XGQxVP4RdvWhCNkmeUysUCTKrtRCfqVkZT8obTLKvH051P4IJuhETB/P+NvYFv
Hv4v0KzpMWacQqlEir869mdM4O8Gwmcx+3e7AXkqh/CpR57CyiIHWrMbp4a0qFPUQEuxPiTcCkwY
FvCW9t8RjkbSkqdAvKq/olCBR/c+iPP6QTTJ9uS0kGmnhVJMocvVIVcUxtPLdkyZbOhSdMLo1VN2
GDXL6tD7pf0YnrFgYtEGSVE++i8Y08a3VeQ14P1PXET3XXKh11Y6+NTyeSKxTzWecMo6D7GgmJCb
qynO2w57HYPPDnTFqewCJ0nWE4XZX370KbQpG3DKZKDUj6oiJaxeG+pLehC2KnF2wI9oNEaM6Xno
9oP47he+hpffnsDivA38NrrRqka8cOxbCEZDRFC/WVaPbx7+KsZM01iwLxN2wuvT7+Pt2Y+YpCCD
nIBK1x2tPow+zSBW17fubqQdEeKxYtm5CrPXhn7tJRwsb0sbHRyMhMDP4+F41RGo11ZwsHwfPlg4
dUUvwwAeZxxfeeJx6HwrWHQu40D1lcLHhF3eutnJncoskFp4TnWvmTplGeQeR3sFeFf/FkYWyPZk
dUkF9stbMWgcpbQRFIVynKi5DZ8uDcDitRP68CeX/g/0LhP2le3NqA/3yuvwTNdTTME9g5xiaW2Z
8nNHWI/ee0RYdM8TxdqCSAlefnsC44t2tNZKcOJgdkwmmWzxltp6SpsmU0evokCOUpEU3ZWdOZX/
TAmGQp4wbd1R3ldKQUK7VbatNUs0E1kX0Xr7FfZyqsRErn1zBgwY7D5EPWJEda0QWWsQ3RAhKs2+
iCKhax+qeIqSBWBSbcNzj+3HK0O/pJ2OkIuxak3yejxU8RQWPNNEPITrUqH/wgbu7S5LP4ZNTRpR
n4pkO763bh+AZzCoH4HWo0F1YTUOlXeSxv2QfpshPiL+hhKTpoV4o3OCzdFtAI/DxRdb7scF3Shj
e2WJRLxi0rSAZd80LEE9DohrwS5wApCS4hmzSWw+S2tx9qTCUC1+8SY989W1QKY4nNq+glPL5+Ms
xiU1kMXqcW5gA801YhzvVG0r5tYkq6f0T5tldaiT1hDHisZipDHjq+sGnOacRzvrJEY/vcJeHgj5
IIzqaH0/uth+VLyKD/VjhG+rdmrw3twnTHxmE6m6pbKgGocrOtFbtw8Pb4NU58yIDqFIFL3t5cQU
mwp5AYZnzXji7qYdxWuzKXbKZaP2dliw6PahTmUbVtZ0WFnTQSIoRrfqIH631EeSzWAkhAn7KL73
7P04PazDgnYNZRIhVs1uAED/hQ0itu4IG9AiZ/RxMuje+VYFk3Q5p0zykylXkM2YdOfGOtrLmmnz
KleL5GcxY1VDKVBB6K+Gx1aA558ox+0dFQDisTdi30+R2S80fX7L+EwmJDN4JbMzJ/LvDJkCNarK
CrFqchMFaYkmr6qywut9aQy2gKpYAa0rfb2ripXX4WpuPuSsuGpxcZFUWJXA5z73OfzgBz/I1Wly
jtRCkleGfklp4J5ZGMXc+iLlMVY9KzhU/DnwOOnV84FwEKeWB8DjcFEqlIGbl4cHGu5Eozw+YmR6
2Q4ux4ZAlNwVms/LI3WiZjKa5qxqkpFk8lhg8dkwZZknUTADwKR5Dk93PYnH2x7cyeNicJ2Ry/nc
28H0sh0Ti1YsaNdhsnnRWFWCe7qr0W+jdgjV3mmMTJfGKSJNbpw4ms4iwONwke+phJp9ZbREcvI0
Eotg3DSNaCwKmUiM3yx+iGc6/hjdta05vz+mUOqzx3YLBakS2wDwwdhInMo2EsKRyi5KOWsSt+HU
EJluf3jWQhrfZvaHwKnPhz/g2DwfuSNzK8c1sQZ5HC7teMLke9upzOWqKI3BtQFVcSoV61kwEoKb
uwyfvwYBi4JSbrnsPAQiIQh91dDbeOjZV4Lzk0ZiXGXv/rjjOb5oBxBDWYEcFq+NYI1IHK+sIB7p
T5Wbfu0l9FR2IhQJkeyEYCTKJAUZ5AxUui6GWFbdYHQjQg4oW6F3x7tsRFwh1I70Ea8AsOTQoNh4
N/K8NQhIrWl/D0ZCmFwbI+Rfu1n42Nt9cnN/iDNNJXe3AVeYBf72Gz1pBVap90rVKcvg2sASW6S0
J4ORED5Q/x7timZMmGfS5K6iUIFx0ywmLXPEmA8RV4hoLIoFxzLeX/g9vnv0uYw6kbEjGeQatOOa
RGKcN/cjGAkRxdr3Kb+EX71tA5vNgkpegP/8ZB62NT9a90gzFnWOm2bSPku2V+kabug6eh9quvua
rQO6NUb1WTY+xnbWbHozUfy5333si5gJjVD/5hr75gwYMLh+SLULh2eBjy6sptmFCdDppBXfDPhc
eVqBVSIOQadHpiyL+MWHMziwtzSrov1M8YN9iga8/aoD4sIaGBCD2eEHl8OmblUcEQAAIABJREFU
ZFpN7Ev5eXxK3zWV8bO3bh8kHCVGZi0YGraAZ4mghG2nvWY6vdxSK8WAndqfXttw4Qf3vrDlM2Bw
BfwiNz4ce40o3tG6DBjQDRLxpPS9v5v4F13+IlVetmpKyYTk3+6vl2KPoobSHtojqSYxF6+u68Hj
DKK95iTeH1ghfLWnu57M6rxbsZUk5JMuZxSS6ACUkliQU2OKyaBb34v2FYi4QlLjEFO0TUZv3b7N
IqudY2rZgZ59SgzNmAkdvGp2Y1JtR3u9HC212/ftsi12ypXfuB2GHbp9KBAJEPqcy+am+coJLNiX
cU+dm2hAnl6249J0/NlFozH0DfhRKFTgO0/ejxXjOl57zw6TbRWNVSW4+7bqW77BLJexArpjbZUr
SGYmdLoCqOGWp41zDEZCUBaWUu7xuWJu2upZTC/b8f1XL6L1mJFSZrONz9DtQ6kMXolCoWR9zcR2
0lGtLASbVQ7vRrwYdV+dFKL8PFQqmOKq3Y4ykZxyTZeJZNfxqm4e5Ky4Kj8/f0d/222gNXDXFyDn
VkBLMUdYyq3Abz9eQ2/3IwgWaqHzrKJJVofi/CK8OfMhulWd2AgHYPM5UMwvwmXzDFFc1VIrxbef
PIC+MT10Zg/kYgHyeXkYnrNAIRWivT5ugGQymvo0g6TPxfnFsHodJArm1PtjmE9uTORyPne2mF62
46PzK1jUrcPs8CEQisDs8MHhCiBQraH8jTWoh7ioknAszw748fiDX4ImMAdrUlfc/CwLog4d6bcJ
ueVuJsWcG+vgc/jwBH2Ysk8QxVWflQwza+XaYDuFgqkBTJPNizmNE821YmwUrALrgLKgFBwWG5+v
Ow6jxwKzx4p6aS3apQfww59p4A+EAaTT7U8u2SEvievd85NXujPKJEK8/PYEevdXoKVWunWwZXNt
JvTvtu55GzL2WbDXMcgt6N77tHURJo8dLIEA98u/AENEDYPbSLCmXDKMQyaQIFpgx/xqPoKhKO65
rRqRSBSlEgF++uZltNVJ0KAqRv+EEZ+T1CEajcDqc6BF3oj8vPjo3zpxFc5oLiIYCRHFBs6NdYi4
Qsxa1Wl2QqZrZsAgF8i2G4xO7/I5fOKzzN119SgqiWE1sIRJu4ZYF4P6MWKESPL4TWBzlKZMj/t6
DuDEwUq01ErxkzfGKZkFEt1tDHYHltepmX7sXifYLBZi0Ri6yvfDH/YTzL6CPAGkghKMGCeJMR8J
n61F3gipQAwTz8rssQw+c9DpP3F+Mel7wUgIKxtz4HNL0dVcholFKzEyUGNyE8lFIN6RO7PixNEj
+bCz1VhwqCn14lY2wG7v6M11MxKd7e0vWILMn56YAK6tb86AAYPPHjMrdozMWjC+aIOsKH9bdqHa
QR0zMwf1EBep0kZSJ1iA6GJ/Um4F3vpUjbdOq9MKuqjiCv2aoYxj1b75R1W4qBuGzruKI6Iq3KY6
mLGwlmpcNwDMWBZIoxBTYziL2jXK5oRscL2aTG8mXGFgXEC9pJa092cbT6Jj6k5+n4nEOGGL0DSl
UGFmxY4fvzZOxJ01Rhdto65cKKFkLg5JdOBzS7ftq2Vr29DJnC0lBh5/XvSMXnXiKsr1XVYgw4Q5
vfidkfXcYn+9FHqrNyc+fqKIAyIlpaxGYzG8MvTLHeUSthqLlq09Tic/ybGQTHEVuUiCPs0g6qQ1
AKh1wb46GU6P6HBx0kQ8V7PDh/nVNfzZ4/uv2ehQBnFslStIfWetJe2YWR9Pk1eb14lOZRsCkQBs
Xida5PVX5efNWhdxXjsCk9sKRaEcPVswHJ8Z0UEk4FIyawFxmRVxhehbHqI9Dl1z5Pee7UFrrQRa
s5s0argmT4ma/Gb8tx+eQb2qhGGcp0AwFMXFKXIxKp/LQZlUdJ2vjMFWGDdN4f6GO2HwmGFwmVFe
VIbygjKMm6bw1P4vXO/Lu+GRs+KqUCgEtVqNWCxG+bcbBXQObHFeGbjuSvA4Y2kbT2tZLVhHlzAf
MqA6WoNnD/0h6qQ1+IsPv4+u8va08VDT1nm0blIYTi/b8Y+/HEX3vrhDOr3sQNdBLjpOGGELGxGS
1GLWKsxoNL0y/CvStW5F1UxVzTygHcJfH/uvhKHEYHfiesz+nTYvIKycAa9Eh05uOaoLarHiXoYt
PApVQRlKC6SkgDwAyHgV0LoCxP+j0RjODwaRx94D70aCJtmPQiEXTaIq6CjoCRUFcrBYLNSyqjCo
HwNwJTCVytZ2rdh7GJaga4ftFAomaFvZbBZhANvDRrgEKjTKFWDzNmD12eEJehGKhjFpmUMxvxCX
9GOQRhqIwqoEkun2F7RO/Pd/PQ+378qa4nM5yOOw8W7fMj4Z1OL5p6sx65z8/9l78/C2zvtM9AVA
ACQAggRAgAQBEgTBfdFCSRQlarG8x7FcO7lx4/SmuZPcpPWkTWfm6dP73Fu3T6fJzHOfaZ+Zm0lT
T1unM03TOEkTx3EcW15k7RLFTaTETSRBEsS+kyD29f4BnUMc4BwQ0GLJ1nn/sXV4Ds7Bwff9vt/3
W943R97VkZUazNlgEHOzVKp8AuXaYzaw+MlDMfYJgjFnbnMaJ/TDMG2sY969jL0NfXii9SjsQRdu
bs5g/5NapNxapFNpTN50wruZta+rtk0c29OIgwcE+MX8rym+hoDHx2c7HkNvfSf+cfKnlELvHmUH
JAIRoskYzCWOVRYs7ja4XB7kVTJwuTwA9MHDXN+3UdqATCZD+gRA8e46vbwZP5j8MVlYmEglEEqE
MajZgxFLlm1EKZZj1rVIeS5nzAKddDsBMMvQdVysG5nFxw+VMNsEw+VwMajZQ9o7pViORmkDOBkO
AKCCWwGFSIYKbnYb3CJrgkHWjMbqesy4FiDmi+CPbpJ2dH/jbnaNZfGxI3/v3yrXQSqU4Jp9pqAg
yhO3Qq3Qo6E5ipTaRgaJCZnTD0fXMTJjx1Y4gaOHq/CW9Y0CfyHXLpbiA9zLjt47bWy5281ITPPf
tGXCobrjtImJe7k3Z8GCxceLS8YZnF25Ck/ahvouDaoTenC5HFJCmkCuX5hrxzTSBijFhTGzNpke
FyLUWHkuCxBT7I8f0CKWiAAApQhgwb2M/3LxVdKPIWJXx3VDoMOCx4gF9zJevfb322vClg2T7gko
pN8CAFq//K2FD2AJ2KGuVqFX1YFzayOIJmPQ1Wgon58rvUPgdpsT7keT6acJV9Yn8P3Rf9pmYKRZ
+0v1dZlYLQnMOJbQe7TQF9npd19wL+Nd0yUI+taxN+e685cj+J3PfQlb/FVKLuQfJ39K+zm5RU7l
7tVK8W2YxqIyLwYu5PPwyL5CBjgg+11jt/an+fO7VdaMcdt12vuyuHt4ZF8T/r/XrxUc53I54Ij9
eG389ZL80Nwijmy8+lkk5Rb4UjYoRLUQ8oQ4vXoJ6Uy6pFxC7toxpN2LNxfeA5AlUTi7dqXgM0r1
xxnHbU4sJJ5KoKVWS8v0LOQJC2Im+bbgH968jlAkURC79yTteNdkBkc8zOZR7hDF9kil5Aryf7Nk
lQtLvlV4Qj7U3WryvWq9hnQmDYlAdMd54gX3Mk4tnUM4EYEn7EMGGZxaOgeAnn0YyMbe/IEYWirU
tA0sSrE86+fE/PjjU9+hnaNM/sfZCQuOD2gR5rqyCiiE1DBsmOddxy4tlfmQLbDaxrpji/adrju2
7tMTsSgVe9R9+M3iaQh4fOhqNJhzLWLKPovPdjx2vx/tU4G7VlwVjUbx9a9/nfZvHA7nbt3mnqPY
Bvb8SAQvfu55rCfmyI5nIU+IN5Z+hT0NvbBabLBu2TDuGsMrx7+FXlUHHEFX0cphwuBfmLbiUJ8a
Bw7w8aH3Xyla8rkUvbR0+DSyKUxUzUd0gxSmq9wExN+O/hDdynaWmecBxsfdKbzgXsablm2N4yZt
A961vkn+27plK9iU5wd8gOzG8lBfA/Z1q3BmfLuzQSYVwurn045VqVCCi+vZynsuh4sh7QA4HA7+
+NR3oJE2YEDdTwlQ3Qv2HpYl6N6hnEJBIrE9PFSJ65m3Sfto2bJh2svHgLofloCdTBANqPvJ8bgW
WYCQX8dIt9/eJMMrXz2Ic5MWWhar/fv4lICjgMeHSlyHI7pBikZ67txMZzIl0+jmjrFS7DEbWPzk
oRT2nXgqAX8kAH90EwPqfnA4HLxnPJeX/JzCcPUL4FfwKJ8/Ou/CkWe8iFvppRK6lG0Y1OzBmwvv
FSRTv9h3kjZ4Mqw7wLL2sbhnyC8qhQM4vXIR+xt347J5HAC1mJmQc7jpNuLb575LSUwR3XXPtD8K
06aF9M/FfBFGLNeQTKcohYVt1XooxXJUVgiRzqQp85CAgq/B6KwTX3yyCwDQq5fDZA8UfI9i3cgs
Pn501fTjhm8KA+r+gsYWgYOPA4170CZvhifsh2PLDaVIjqGmAWSQQTqTgVIsR5tcTxagEsUrkWQE
vXlSNyxYfBwg9v5G71qe9A11/1Un0EDeh2wMIbUdJCZkTm+u+CGrFkJWLURSakLcxywLAuBjLwzK
9TcMsmbEUgmMWCaRzqRvq7HlbjcjFUtI2SJm/Nu938C8/8YDyeLFggWLO0N+8VHWtk6REtK5IPxC
uuYpupjZCcNBHP+qjJEFKDe+MOtahoKfZX+/NBIl75lbPDLjvEnrxwQT4YLYBAD0qjoY412zzpv4
Zc7ekbDFf3b8j6AUK2DetGHaMUe5Nj8ecTebE+5Hk+mnBTfdxoJ3BxRKgt2NeNKCexlvWX9M64sU
lcjLmzPWPKn2kasx/Nd/R5X361C0Ym3DUvBZuY2+92KvxjQWj7cOQhZIZRlhWuXo383DJc/7+MFC
YSzlomkMI5ZJCgOcUixHh1yP3vpOStyG+Hx2rN9dtDfJ0NFci3UntTBgeKgSF4NvIL5ZWoP1pWkr
KSsWS6RIebzHT9bio/WzlN9xp1xC7jwQ8PhY9q1hQN1PaZCsrBDisomZsYcJpcQkBTw+nEEPnjIc
h2XLTsl7jlqn8ETrkaL3sLpDcPsj5HvMjd1bbxXuso3qt4+dmv9vJ1fQV9+Jd5Y+QrVAAjFfhFAi
jMbqerQr9DihP3THBBwzzpsYt00XxKGbpA3oUrbRxpz7WrOxN/5WMwS86wVjVlejxTtLHxUlQSjm
f7z8+d0463QhbqKXd70d5sOHAXZPqKzjLB4ceEI+ylpCsJd6Qv77/WifCty14qqPPvrobn3UfUXu
BnbObYS8opHcwPJ5XKwFVzG/uQhZZQ3JOAGAsikhHKYT+sP4m9F/or0PUTlMGPx0OoPxeScGGosX
Y9GBzkmacszim4NfwZxrkRLo61Qa8A8Tr5PnDWr2UBIQ5oCdZeZ5wPFxav/mBlsEPD5iqRjt+Ewj
DX1tE+rEcvQoO/GLf40DwHa3gtSMyeQUIm4DThw7QOp0/8Ffn4HZWVi0qKvR4tTy9kYkf5wyBaiY
5NhuFyxL0L1DOYWCvXo5HJ4QElJz0YQQYX9z/+2MmfHkIwb85rSf0l2aG2ghujf+4h+uYMboJQux
hHxewT3jqQQsATsumkYpxVXEdyKe/2jLYNn0zKXYYzaw+MlD/lhXihWo4FZQ2HcAwL7lgKa6AalM
itHWxqtNiMTqKcdrJQKYAvRyEyu32P7cYS+ttJAj6KGdhwBY1j4W9wyMEkvJCGm7iTE6Yp4kx1yn
0lAwXntUHfjB5E8QTUUx69r2z1W39OPz7SrBIPtc5xNIplM4tXyW8hxEgXh7Uy157PiAFqfHzJQi
3VxmARYPBnrr2+DBMPzRDdrxFU6GYQ+68fX9X6L87bXx11HB5eG95fyC1qyfaQnY8WLvsx/b92DB
Ih9nVq/QSt/EUjFIBCJIIjr4q1Zpx31CbsHhg11Yi80jw4/AE6HfK7lDPjzX+QR2NXR/rOt8KUUI
5Ta23O1mpGIJqfXAGv7I8L/jMPpu67NZsGDxYIPJZ03mJOAAql/IdA2Hw0GbTAeDXLdtk5RgTN4Z
vWu4Yp7Ess+EXkUvNu1SnBsJ08Y0FtzLtI00g5o9sAYcUInrKMzaAh4fR3WDeHXsRwX3FfD4MPrX
ab/DRdMohnUHcHrl4o7xiPzmBCGfB5lUiF1t5ScrH3Q52gcZU445xjgpIQnmj27elXgS09hPyC3Y
1ba/7OsydXY8/1QbQlWrBQwlOzG73au9WrGxOHwrPLhTEcSCx4h0Jo0RyyS55511LcIX3sDn+z6L
/3jiP+CCaRSzrkV2rN9DPHFQhwtTNoodT0ottDFnOj90wb0Mb/U4JHusFJY2cRUfM56JgjENFM8l
5M4DWWUN5FW1OG+6WmDXmdgIi4Fu3PaoOjDtmIe+tgktMi0SqSQumccxpB3AkncVYr6IzHuWEnPW
KLPyYE5fmDF2zzaq3z52av6/nVxBl7INf3LkZXJc9Ko68GLvs7dVVJUv/3dcdxArDL6E0b/OaCdf
3vsNfDjKw6WRKI4dPgme2or1wDqUYjmqKqqwvmmljW3nxg13ao5c2Vil/Q53wnz4aYdOXV1QjAoA
LWrpfXgaFuVAWCHAVdO1u7KWsCjEXSuu+jSBSJBvy0VlK69lMiE8CVs2YR/yUK7J1SkGsg7TCf1h
aKQNReWhcg2+TCqEO1FYZQwAi94V3HQbMeWYw5R9Fga5jtxUdCnb8GfH/wgXTaMFzn2u5n3uvYnA
JVMCl3V4WABUx19WWcO4KXdsudCv6oJty4nTKxdw4AkDFGkD/IEYrobfgjiWpSY3B6ibyt1tCsTi
Sbz56wgODXbBUOeHaWsZVdjCywe+jDnXIow+EzgcDmOnVWWFEHsaehFNxuAOe29by5wOLEvQvUWp
hYLHB7SYMXqLam7n2t/cf9eJZRjxvonhoafI7lKmQEu9XISJBRd5TkdzLTwJGqpoDhfpTIaRKpro
vjD6TNiv2Y09DT0FhVjkOyjTHrOBxU8mcsf6/5z8Gd5dOlNwTr1Aiw7JLsxGL8Mbpu8gMAXWceyQ
Ab/+YNsW+wMxdIubYdkqnB+ErVrfsKFeXIdIMopDTfvgDW/AEXTBF9kAABzRDUIilGDKPgsul4do
Msr6BizuGZiCiu6QD4oqGXS1WrKrxhXyYsG9XJT6XiVW4G9Hf4h4KgF32IdBzR4k0ylUcHmMdnXF
v45l3xoON+2DP7oJd8iHxmo1OO4WXB2L4y++vr1G9OgV+MvfO8TILMDiwUCbVobLTgFsASft390h
HykNmAujzwRppYTRz+yr72Rl01ncVzDZTE/Ijz899odIh2vwP2Yu057jS1rhTVrIIBqTdHWvsh0v
9p+8q89dCpgSBbmNEkD5jS2l7DGYGDrpjr/Q9Rm4wm6s+S2orZKSXfzHmw+X94VZsGDxiQKj/U1Y
8eTgftxY8Rb4hUzX2AIO/NXTr+x4z5tuIz5auYQl3xrqRHIoxQp8YDqNCi4Pw0PPYnQsDplUiFAk
sWNBVywVQ5+qA4ea9hXEiw2KFkq8i0hQ8rl8OINuxvfxtf0vlRSPIJoTEqk0RR4qIddjwS0qe0/5
cTaZfpowZZ9FnUhOu/Y3SJRQiRUYahq4K++22Hx5cd8LJV9HMLon02HMBk+jLi1HY3U9Ply5SIkn
P6f5EpaCc/DErdCKm6DIGDAxnsTR3TI8e7T1nu3VdhqLOxVB5M47Ir+UVWvYS4kxfm3fF9kxfw+R
v8cf6mvAZHKK9tz8MVqMbW10bOf43E73CCXCCMSDtOMomAjnX1oS6MatvKoW1UIxbjgWIBfV4gs9
z6CvvgsnOx8ru8BveLcGv7m4gnq5iDF2zzaq3z6MPvqGWuL47eYK7sbaSif/99HaZbjzcucEfOEN
Rju54L+Bb//+kzg7YcGSaQNP1B+DlG+HO7GMYGoLvmg2Fp6r/JEfN9ypOZIp13evmQ8/yehorsXo
rLPgnbY319zHp2JRCrbiIUoDsz+6iXgqgUA8eL8f7VMBtriqCHLlouZWfdjVpkBCroeVxkHK1SkG
sob6nOkqOOAUlYfKNfhMmrJcDhdHdYN4Y+5duMM+1InkiCSiuLA2ivcWL8K0aYZW3Iwh7T5SOqUY
iGrmYsUyrMPDAqA6HP7oJmNAfndDT0HHf2XFGL7Q81m0uQqpyS+bsrI/iYbrqBaswiDQILPVhHPv
iKCsPYinXtyN7mYFWRz4x6e+Q/t87pAPx1uGcGb1cgHbz/NdT6GvvvOOnESWJejBQI9egT94cTfe
NZlLsr/Ev4mu8mA8DL7agfYmHdqbasngZ37yZNeefpy7xseediWi8SQ2tmLQVGkL7jmo2YNzphHa
TjQOOPj78R/DFfLc6sgw4TeLp/HygS/DGnBgxb8OZ9CNNnkLTrQevi17zAYWP9k41DRA2+3bIe1D
l6oFfq8RHHBoba1SLMdGYgVCvoKyqTmo3YdJ9wStrVpwL0MjbYBUWA132ItZ1yLqRHJopWqMWqcg
4AkoVM3BeAj8W9JA+WB9AxZ3A8Uklqoqqgqow2dcN/HygS/jmm0eRv8qlAINWkU96GtoR49eAYOi
Bd3KdpgDdgpT1VNtxzHrshdsIoGs/zCg7seidxUNEhX6VV3IbKgRS0vxF1/Xgivx47Xx9ynJdYJ1
k8WDi4PNu2ALWRntp7ZaDaN3DedzgsXHWg7iA+OFgvO5HC4UVTKEE5GCbnkWLO4FmIp9mGxmj7It
W/inALqdbTAHCn1krbQBE/YbALIB68oKYUnS1XOrXpybtGB21Yfee1hQWqzYNrdx4k4aW+jeK0DP
0PnNwa/g+6P/RFmDgvEwKng8rPjWUS+ug7BCiBHLJCq4PJwwHLzt52LBgsWDD8YEHF+DY70afONz
u0q+pmhSnbRTy1BUySCsEMK25aQwUI1YJiHUOLCvuxsW5xb6erdtcjFbSrBQ0DV7HdEdwHnTVbJZ
0RP2QSWWo1Wmg3XeWSDFfUCT9YVLiUcQhQszjqWsVFyOPNRly2jZjMisZP3twSDXIRAL0q79z3U9
UfQdlvvOmcZ+h7wV7U2ykq+jYx7OnQdEkVJfQzve/EcfxFVNuBKIAdhEvVyEk8da0d1Sms+S7+88
sk9b8rV0MHrXMO9epv0bMU/p4sxD2gFaKU6WOfzeglAxIBAZN8Ac2Nl+n18dL4gvECxtAn5D0fgc
E3LngZgvgj3goj3PSrPP3Ql0c9kf2cTZ1StknpHP5cOy5YAr5IXRv152gR/xHmdXPDDxmmhj92yj
ennI/d000gYoxQqMWqeQzqTJ4iIOh0OJVZSSF77bYJL/+2zHYzBtFo6D/oYuXLPP0n5WtohbAY7Y
D75pDqc9F9Ba24I2TjduzgFNhnlY8uJ+xD2vO+fxyvFvoUffVrQ5MtcGE7HCUCKMZkEnRlNelqWe
Bh3Ncrz0ZCeWzH6YnUE01UtuyauyRWgPOhxbLgxpBxBLxuAO+9Cr7ICwQgj7Fn1TKovywBZX7YB8
R2vBLcJly+iOOsXDugN4beInpMEndLTV1So0SRtJ56RHr8C3f/8Qzk5kDX57dR/mA1RN2eGm/fjJ
zK8RTyXA5XChlapRWynFe8acYpZb+sUZfAPDhp1p6Q9q9iKFNOLJeFFmLRYPN3IdDqaAvEQggjtE
lZwCgD0Nvfjp7K9pN8SpTJoS0LbABgFvCl9+6UV01fYWbLyZNunNNY3YjG7RVrsv+VbxztJH+JMj
L9/2ZpRlCXpw0N2iAEc8TLtBzbe/iioZelUdZFc5ANjC6/iv/+53yetoKWh5V/D1L30Nr/5wu8Oh
UaehjHkmhqlkOoU51xJMt8ZpbjHhnoZeXLVMUTYb5oAdl8zjeOX4t/DK8W9hxDwJV8jL2uOHAATb
5HQOEyXFrogGcGrpHG0AVMgTwhY244VHBjEy46BsEhVSenm/U0vnoKiqpfoMt+zxkHYAkWSEcp9i
hbTsWGRxN8BUuFwtkGCLpkNzT0MvJdlthg0zvCmYHScBDKBHr8AR3QFcNo9T7PMF0yieNBzF2oa1
oMi7TizDZfM44qkEOR9IqYYdpBxYPLjgRuUwyPWYyZFuB4DKCiFaapvgjfjx/dEfok603QEv4lei
T9VVYPMGNXsoUgzsOGBxL1HM7pTS7MF0jkQgphwbtU7dYoNIwh3y0u5t5te8+P6/TsPpCyOWSMFk
D+D0mBl/+XuHdiywuluJ2NzGiTtpbLnpNlKaHtY3rbhsHscBzW5auZYRyzXK8UHNHtpkwRd6nkHv
HTbxsGDB4sEHk2093jqILh29PSy3Qa/Q/tsohSS5bH5rAROCVjUc3jDWnVu4MGXDt3//EKMtbVfo
i7Jvdinb8PKBLxcUlc64FjGkHcBl8ziZwI0lYxi1TiEQC5Zc2NSjV+Cq//QdMyKzvvnt44juAP7z
+b/BgLqfzEsoxXI80nJox8Kqct8509jfqRA5P9HNxDxMzAOiSKlHr6A0xBOxkXIKq/78764glkiB
y+WgWZ/AG0vj8M3b0a0sv4Bvwb2MD40X0SBRIp6KUwpvgO1YSn6cuVfVgQjLHP5AoBT7PbI6C3/M
D/4tRlgivpDOpOFL2vAfv/EC2ptkBfG5I7pBRkWD/HuHEmHoarUMjRPqsr4T3VyOJKK4aqXKRB1u
2o8x6/Qd2Vkih7rg5mHKM8k2qt8BdpJOzy8uup/rIpP8nyPohkQgosjbC3h87G/chUgiyliIftNt
pPnuo3jl2W8BGMYN7/UdlT/y8/mUeyjb8PLeb2Blwwhb2AZn0I3e6l64N8L40lMd6DcoWZZ6Grz+
/k1IRBXoa63DzIoH4/Mu/OXvHbrfj8ViBww09uM3i6cL4hnPdjx+n5/s0wG2uKoELLiX8ZFxBEb/
KuqFWrzU/du46V2GJbgOXbUOu9SdWN1Yha5GQwlQEhvcEcskKiuEWemRyCYmbNOo4PLgzqkGP3Fs
uyN+l7sOZ4xXsexfhaZKByBNToBBzR7MuBbQrtDTLiKj1skdi6sumsaw6F2BiF8FvayppO5VFg8n
8jd9tcJqfHPwK5iwzmJ1wwRtjRoGWTPOro1Qriu2IU5lUgglwrR/m/FndGu4AAAgAElEQVRPwWFP
48PRGsaq8tx7PN3+CF6b+Ants7tDPoj5orI3o3RJgftR+c9iG8RvsuhdwcnOJ+EIeGDaNEMn1aGl
Wo9FrxFNUg3a5HqoJHKcXxvBVjwIMV+ECi4P8VS6oCiEiYJ2xjcNAb+OLK66NBLF8NCz4KsdsIXX
cUCzmyzYysWgZg/emH+XtnglkU4Udfy/tv8lMqF/3Tn/wNtjtmu0dDCxJRDHDHIdaitr8cu59yBI
X0KbtAfrRh5EsjY8066AJWCHI+iGVqoGB8BV6xSeaD2C39nfjd95uhtANij46i+mMbvqw+62Xnxj
39NkgerPZ36D6845Rp8hnophIxIoOF4qswULFrcDpsJlPrcCfzv6Q8q5xfyJaI0Zl6br0aNXoEvZ
hj899oeU63fVd+OdpTO0djmdSVM+M55K4J3FM9gMxnHDO017vzPGqxRbx9rCBw/nr5kRVWzi892f
gS+6iUXPClSSOnTVGfD6jV8xdsCrq1UlFVIXS3Kw44HFnaCYhEy+BFOvqgNHdYMFCfPnu566xZDq
QatMh3pOB4xb85Rz0pk0RiyTeKb9BP7k6MsFz7Fk9uOdS2sAgD6DApWCClyZsSOWSOHcpIU20EyM
/Uwmw8jsWm4itkOuhy+8cUeNLQvuZby7dBYAtelBzBdhybtWcL6ssgbmnO7qYnZgIxpg5zcLFg8B
bqfZrkvZhm8OfgUjlmswb9rQVNOIIe1exmtKkUcl2Pzq+NuSNQBI29y/ux9neTRFLfqdk16zeQXp
xP0zKS6Oao6gUsjJs+22HW17rk+kEiswpB0giw/IcxjYtohr591GaERNqI7pEaxcZQtPbhNdyjb8
P8f+AJdMYzD6vBjS7sXuhh50Kg1YMvtxdsKM6WVvAUvlTtJ2AD3L5U7zZW7Vi8vXraiQbsLPW4El
ZEbPrTkz51qEO+SDO+Sl/S7EPMiN7RVLoO+Ec5MWMu43PFSJ65m3EfcRzZDlFyqMmK+hprIasVSs
oPCmgsujxFLy2d+Y1Brm3MswetceaonyctlUb4d9NTfm/HzXU3CHfVjxmQrG8IJ7GX8z8XeMe8oe
pYGMxeX+xjfdRkw55vDDqZ9jr7oPjqAHq/71PEbu7fXGHfKhRiihjcmJ+aKy3l/+XBbw+IgkIoXH
8pougdu3s2yjeiHKjRUw2WAOh4NuhQEcDof2728tfIAPjBdQyROCy+FiWLe/wAbfbXZiJilhy6Yd
zza+hPXYHCzhdXTfGgedSgMyyDAWMl4wjRbdF+fH/XJRqtqC1RXEe9b8gpMpaMVfQo++C8DHx+T8
ScCFKQtOHm2F0xfCVjiBHr0C9XIxLkzRxwdYPDigI0SJpxJwMch2sigPbHHVDsivFDbDhhn/NJ7R
Pg8hpxKm0AqCqwk8ahjCV/d/kXJtbrBwT0MvLq5nF8Yh7QDeLEL3mg7KMPZhHZ442oGQwIy5jRkA
2wE+MV/EKB9lDlI1ePMXgscHm7HgMcIf3YS6uh5n10YozFpKsRwdcv1D7fB8EvBxLvD5m77Tc9OY
dExDzBdhwnYdN5zz6Kpro3T8F5M4i6cSjI6XO+SDtNqJMx9RO6SLBah26nieL0PGiu2Ie/CQ/5us
bVggEYhwsvFL+Ne3nfgw7IOQXweZVIMLkQT+z5caoZc1k1rfPcoOiPhV6JL1Uz/XU0jVLeDxEUxt
4onnJPCYJbh4JYp0OoNLI1E8c2g39JldGDsTgHp3M9ZLTL7EUzFkMihJ8u+TsAFl50jpYHpX+xt3
47J5nDwm4PFxTHcQnrAfq7HrSFQ04/1TYZw4KoG3yg8+twKWgB2ukAcCHh89qg68Nv46FjxGtNa2
IGKvx/mRCNLpDEz2AN4bWceJ/U1Q1gqxJlwv6jM4gh60yVuwumGmHB+1TuELPc9gIxp4YMcii082
mORECHk/AsX8CU/cipSnh/SJli2b0B1ogvlWkJPJLmeQxpSjkIbcErDjw+Rp+MIbtPdb9K1gyexH
qtKLGefNor48i/sDZWMMGXFdNjkT9kFT3QBllQI3nDeLJi4nbNfxfNdTWPKtwh3yoV3RQlt8AdAH
7Ni1kcWdgjHJfOs4YTOJwPyrYz+ilbgjpA0m7NPoSjeAAw1tYmaoaYB6n1vNZEu+VdQp1dBVNuPS
iBt8HheH+tS4dN2GudVCW0yMfQDoVXWUlZSZW/Xi/LUQhiWfQ1S0DmtO0L1L2YbP932W+X3tkKDI
n5O5ya9J+w3013cXsNX5o5vY17iLPF6OZDcLFiw+vSgmgZdvi7pl/bC5gviV9ccAsnZkwnYdE7br
kFXVUOz4gseIA5rdtHEJgCqPqhTLseRdBT+mRSwRoZyXSgPf/YEJ+/c9i4TcAk/cCq24CY38Tvzt
Dy3obgkVjRfm2rNcKe31gAWZm0eh3l1eYdNObBsEWuU6/M/Jn5EyzXSSreaAFVqpCQhxdnx2FszI
H8ML7mX87ciPsmu+SI1mfTNOjZgoMdid/JILU1Z89yfXyOKkXJZLpubUuVUv3p2ahLI5jPdXt5Pa
1i07tuIhiPmV4HEroK1ppOwHCRDz4G41fM3e8muEfB4SUjNZWEWg3MISHoeL95YL2cI/2/EooonY
bTF51oll+E/nv3dHigyfZOSyiwHYkU11p/PpcilciZ825vynx/6woKitWDGsRCCiHZtX1idI+b29
Db2UGEIhI/f2XP3B+E8KGOeEPCF4HG7J7y8rU7lEOSarrIEjL6l+L3zeUuRjHxbcTqyA6b2bN+x4
pu7LeNf7z7R/dwTdSKQS8Ec3MaDux3fO/XfyPuXOp1ILwtrkLbQ2WyNtwIj/AygqGtDFfQSH67rR
pczep1j+g4lEgXgnBkVLQdyQQKlqC6vhedq5vBaeBzBU9rv6tKNGLITZuYVwNAnPRgQcThVcvhCa
Gqrv96Ox2AGmjULfothxFuWBLa7aAXSO056GXrxtfiPn+DrmN6chq6YuisRCQcg97URxSzjti54V
9B6zYix0FQ1cFTTSelgCdtLZKSbZ0yTRkf9PtxBcmLLiyGdbsL5pRWWFEBVcHkYsk+Qmesm7ihe6
n75Lb4/FvcD9XuCnXNcQjIdJWs94KoEKbgUlcO+PbqKXYYzWCmpRL66jFKcQUIrlMIeWIZPuh8Mb
JjukF9zL+P7oPwEoDFD1qjpoq90JqTgFrxHza96SqKFL6c5i8fGC7jcJxsMwRm4gnqgrOH8rlMR1
5xw5PomAhobTC+T42BqpmhyDBNV9NBmDJ+wDFxxUNVThyUdbceZcCPu76/HB6LZUoFKjpoz3YhtR
R9CD7joDUpl0STJrD/oGlJ0jpYPpXUWSEcr4iacS8Eb8mHNn5W+ealWi+hofF65E8L89PwRHygjr
lh0HGndjV0M3Xh37Z0ST2Y5lIlg9PPQsLlzOBtpjiRTc/jB0+hQcLndRn0EpliOdSRckXiu4PFbu
hsV9QT6LSTF/QinQoF0vI32iR46IoJIoSJ+WyS5bNh2oEVaT84j8vFsB+15lFy0Ffx1fg+u2JfzG
9lNGNjjWFt4/XFmdgSkxg6uz15BMp8h13bxlgzfsp72GSFwqRDKk0mkseVch5oswZp1Gm1xfsjwq
uzayuFMwJdVyxxtTYP75rqcoPoXzVsIkIbdg6kw9Dux7Fpk6O1IVQTRWKzHUNFC0EMkKGwS866Rv
EY0nIeTz0KOXFzwfMfbrxXVlJWXy97NCvhz1ci0Ov7ibDLozgU7qLz9BUSz5BQBNEi1u8AqD6n3K
LkzYriN+KynByiSzYMGCCXQ2+bJgHL2KXvKYMyeBfck0BoBaPOQIutCr7GCMjc26FiHg8dGpMMDA
349/ecNFOUfI5yEUjiMSS+LC5SSEfBUeH9yP8yMWnA1nz121bRaNF3bVGWAJ2CnxkB5lB7SSJozN
Z+CIWei/P0PitxQmLgGPj1gyjjOrl8l3l7+eEf78RnQTPcpOWGh8c9YWl4+d1nwiBlvML7m57sW1
BWfB34qxXALAjGMJsziF9hB1H5UvwTukHaAtDO+Q6/FC99MFRYq3yxjbq5fDZA9AJhXCkygcX0B5
hSXeiJ927FsCdqglqqLXMjF5CnlCBOPhh3ZPkcsuRqDYOLt201VwjDifwwFDjqzwdwvGwzi7eqWg
uIppPHhCPvxO90sFvxGRyyDsnmXLTjtGEjILRmYaKN9pWLefbGCQVdaQctmvHP8W7TPkY8G9jP9y
8VW0yfWUIpRQIoxOqYHi37I+773FTrGCfHt2VDfIaIMVfA3mnCuok8poY1aE75C77yHuU858Kqcg
7ETrYVwyjxfYLy6Hi7XNdaxhHQLeNUjtX6Lk5pjyH6Xsi7tl9Iyd+Y31THDF6X0bZzx739x3JeTz
IJMK4Q/Eiq5xn2bEEilcnc2u+zKpEDPGLMOkSl4ekx6Ljx+N1SpaW9Eorb8PT/Ppw0NdXEXnjKeD
MrKK/VBfA+YzVMepXJkIYqEgKF6LJXvmPUa8u3gGPzf9ktLpcLhpPwQ8PsXZYZLsGdRsd6HSOZVb
4QTqMm0Q8EYxap2isFa1K/TY09CDS6ZxvDbxE1bS4gFFuZsLOtwJ85U1TGU44XK44ICDz7SfgDXg
gDPohkaqhrpahVn3YsEY3aPaC4W0knHjWCcWYj2SuPWc2blyZvUybYBq1nkTv7r5QUE3h65Gi7du
fgABj4/qRAvOTlhKKq7aqTuLxccPpndvC5uhqNVCr65BPJGEUhNFqMqKc55xtMn1FN37eCqB1Vvd
BwQkfBFpQ/O1yomCrM+0y3HgiU00cGuQmNmmsM+XCuxVdSCSiNIXvNY0YldDN66Yr30qZNbYOVIc
hF/hDvngCRens8+1ZbnH7CErhncNQaoK413rTynjcsw2jQF1P6XrN55KIFNnR3N9E5y+MGKJFEKR
BJZDy2RxNpPPoJWq4Qn5sU/dj2gqBk/IjzZZK04YDpa99rOSWCzuBug62HpUHbT+RJNcgWTUh0Qq
jSphBdQtMVi3HNin7gePy0M0GaO1yy21TbjmuEE5lluUrRTLaedLZbgJRu5sUTY41hbeP0w7rpMS
B0PaAXJdF9yS5WAqMF3yrkLEr4J9y4WTHU9gZWMd1oAD+lot5mjGHd26bfSZCo4B7HhgUTqYkmq5
440IzOcyi8RTCaz41wtsFpBl95NXNwNII5lOwhvyQSVmLpDKRTyVQEJugZCvgtsfQb1chOMD2oJr
iTFeblImfz8bS6RgcQcxveTG2QnmPeqCexnvLJ4BQJX6y4/FMM09d8gHlbgOic1a7OJss7zUCTRo
kbTgX268QdlXNtWoS7YDLFiweLhAZzvFfBGsIfqEndFnQgagXBNPJSBk2KfVVcmxr3EXJHwR/JFN
dKmaIOR7EYklyfPq5SKsO7co93F4s5ItuSgWLzyiO4BgPEwpbrEE7JjjLWKg7TlEKtSwovTCpnz7
S6xZm5Et9Ck7UVNZi1qhFL9aPEU5j1jPKiuE2NPQSxZ6tVXroavRYMoxs6MtZvejhciN/e5uUyDR
cKPomk/EYJn8kh5VB941vY116Tr2PqoGf6sZl0ayjO/Z+9HvkYAsU0j+Pooux0LkKjgcDmwBB600
291gjD0+oMXpMTP8gRhayhzndKDzgYCs7/Fi77MFx3PHa3ddG17q+m3M+q/DEXSTLEWj1qnsuQ/p
nmKWYTzljzNinM8YvRRZ69xxKRULCnIp4io+jP4V2nvQvXNmhjE5/mX+dWgUtZQxmLtOFMsHuuJm
yBQSLLiryOvz4yInWg6VxSZ/0TSGcCIKvawJc+5FSvORrKqmoOFTxK/6VMSsH0QUi6MbvWu09uyb
g1+htcGVwSZsSVZRxeA7VFVUkceIODNx/1LnE1Be81juWJ33GNFYrYJEIIY3vEHKAhOsUPNr7UX3
ekBp++Ib0ylyL7eZdEJX3YaYR4Yb0ykMl2C2DTI9bcFJm0wPIPuuuFwOhocqkahehydpR0uFGpy0
ZOcP/xTC4gpif3c9ovEk3P4IaWctruD9fjQWO6CaQWJWKng4x/LdxkNbXMXkjO/lncTZy1nGE4cn
hL2PqWHGtuN0u1SZhANWLPBYJ5JhxlUoWzFimcTJzsdgC7hQU1kNAY9fUBjVUtOMffX7MWzoIx30
ufQy9j+uAX+rCecvR0in8tLlKF753W0HrVfVgRd7n0UyncK3z333jjcoLO4tynGG6M+7M+YrjagJ
lq1tB2RQswcT9uuUYP+MawFqiQr7G3cjkoyQRU9VFVVQSCvRpWyjyK8QG8cpxywebz0KWbXwloav
HEbvGq00i4DHh9G/jmgyRmFfm3UtgsfhYV9jP+qr1Hj7FxHUy7ffTbGASynV8Sw+XjD9Jo2iJkAr
w8iMHYMHBLgUehvxAL3uPbDdfUCAy+FiQN0PIINkOkm7abAGHHDG3LgRnqQwA/F5XCzd5EBu1+Ov
/uB3AWSpnuk6NYa0e3GwaQA1lVI0SRtg9K/DGfSgTdGCE/pDjFT6D2pQkJ0jzMj1K4hkPhOdPdF1
RnfMEfQgbd6EqnZlx65fgnUtkQ5D2HcJeyuyAc76Sjmmg+fQVNNA6zO0K/QYUPdixrEEZ9CD1uo2
6Kta0Ks3oL1JdkffHWD9BxZ3BroONllVDU4bL8PoXyN9ht8Y30cFl4fhoWchqqrAuOMiAEArzSbD
H9UP47pzvsAuy4Vy7BV8FnGVEdaAHUqxHJW8SgAZ9Cg7cN05h6f0j8EV8sKylU26VwabIEnXYzE+
wnZ2PqDwxX3whH0FSZp4KsFYYNqpMODF3mfhCfvwvav/C5ct45AIRNDVaHBhfRTfHPwK5lyLtPKo
uWu1RtoApVhBFnUTYMcDi1JRijT0oncFQ9oBCrNIZYUQ9i1nQdE2gKzt6srgWuptUurGsmUrWJ8Z
u/DjVsikTdA1VOPksVbaRhXCLyw2z+iSMrOrPkoXcCyRwqE+NX5+eplxj1pM6m/EMkmV2mbaP1Sr
IQm2Y3wsiTVHBEK+CjJpE5yRBHBsFeFEhLKv/MB4AS90PcXKJLNgwaIAdHJ6oUQYnTVttD7iHnUv
Rq3TBcdHrVN4TD8MLodDaSz4xdw7cATdpM07w7uMP/raN3B9KoW5VR969HI8sk+LsxMWmBzZAiuZ
VAi3P1JwD4A5XtilbKM0MxKIpxKI1KyjMqiDgHe95IQ7YX/z2cHrq5U4pD6En73pQabzPMVfIuAM
enC4aR8uro9RbP2CZxnPaJ6HM2GBLbxOa4vZ/WghcmO/Qj4PUhEfqap12nN9yeyaT7BUMjW85LJo
W/JYrwCgt1XOGM9yxS0F+yi6HEs6k8aIZRJtMh3+6ulXCp71bjHG9ugV+MvfO5RlNUpLyhrndOiq
a6NloWtX6AsZkBjkMz/T+iTMmzaSeWb7sx/OPQXBLpaPXDbV/BzHunMLQj6PlLUmzh9fKCQg8Adi
aBNoYC6xsK5chrHcdaIoI7dYjgu2C7hgu0CxWXeibLDgMWJQswfvLp3BgLofSrGclK0k7HMsFYM3
vEHKcj/dfrzoXoT2Pg9w/PpBgUHWTLsvaZXrcN40SmvP5l1LpA2edS1DwdeAH9BicYED0W4b7FYH
JcarFMuhqJJRYs1EnPlEyyEApc0nAuU2Vncp28ABB7PuJUzat4uhc/dqzrgVf/OzaTh9YcikQpwe
M+P0mBnf/v1DBYxWO+2LZ1Z8MDujOHa4CbxqYDmwgDqRGqJ0aaUOjxqGcNkyWjCXTxgOAsi+q2Z9
AtczbyPupzI9PuLWPnRjvFYixJkJS4GdPbGvsPmKxYOFaCKGZ9ofhS3ohC3gRKO0Ho2SenjDG/f7
0T4VeGiLq5ic8WiNGUK+CrFECrFECvxAEwS87Q6eYs5QMWc31wFjqi6WVdbgprewYj6dSWPCNoOu
OgNmXYtkwYolYIe6WoUnDUfxdMcJAIUOenazM4UXP/c8fvZGEOl0Bl0tMloH7bXx1+/KBoXFvUU5
zhBQ6OhKE3okUtRARjnMV3tUe3HNM7lN552XwHKGPBDw+LAGHRi1TFGKnuKpBKoFInQp27AZ3UK1
QAJFVS2MvnXUS5R4ovUopp1zaNzbiNZgMx7Zq8V502nUieQFc05WWQNn0E3+m7g3kNWYFvErkXG2
IhKLkO9mp4BLKdXxLD5eMP0mal4HliNxAEBCaiaTRgTyi1CI7gMCBMWyRtqARCoJOjiDHnC5HLKT
r0pYj/37+GTXQr24GQtuNbqUbVj2mgoY1IQ8IeZdSzjUvK/kTfGDHhRk5wgzcv2KYknG3E4i4hjB
mAMAGrEGK8k03Al6/etclqsC1rVbm72TtS9BHdfiqnWc3HATPsMJ3RF0KHW4aBoDuEBDtRKLgXlw
6xJIVdYCKL+4ipXEYlEOSg3A5Z/XWK3EotdICTbHU2lk6uzYyqTg2vBgV30PYqkY+NxsUSGdXZ5y
3cDG9CBOHO2DFXbMuhYxoO6nzKX1TRskAhGGqp7H+6c3EUuEMdQbQVtPtsOtnCICFh8PxJwaQAQk
UomCJA1RYJpMJ+EMetBQrczK8GxY8erYj6CRNmBA3Y9R6xSC8TBm3UsAgDnXIr62/6WCezElRHKL
utnxwKJc7OQrDmr24M2F9wqKi57rfBKnls9QzhXw+KgKNSMiMdH6yLnrM2MXvkADZySBZ4+2giP2
47Xx9ylyFZ3K7H8JvzC3kDs3UUP3nY4NV2Fpy0h2AVeGdAh5k0XZmXeSmupVdZDHmfxVjrsFH14N
os+gwJojgFgiBYc3jAaFiCIJlLuvHLFco03usmDB4uEGnZxeW7UeHXIDZl03KfLTAh4fuxt6EIgF
C+xtOpMGl8Oh+Buvjb9OKdIgYmpLm3N4+fMvUq7PZIDTY2bEEin4AzH0GRQFbFYAc7wQAIw++oIb
T9yK5LIeL3/uG1jw39ix2LyrzoBeVQfOrl0p8K0tATsmbNext+UkokwsQUoDvOFCia5oMoa14Bo+
1/Fb6NLRxyzZ/Wghzk1akEil8cgRERLVZrji16ARq1AvqStoCFBXN8CbTFFYKvP9ktfGXy+QVc9l
vQKA/t08xngWwRSSu48q1rRikOtov9fdZFPv0SvIOPgjbm3ZhSXkvd3LqK2U0u4PT+gPFZzPNF4d
QRdCiTC7x7wFgl2MKBCUSYUIRRKUccqk7kHIWhOfAwDL5o2C8/SiHtzgTZX0zomij7cWPiiJYSy3
2HRA3Q+lSE7LyJ0bDyzVZu0UU+lVdcARdCGajGHSfgO9qg7yHkQBY3Yf8QRe7D9J+Y6l4kGPXz8o
UIoV9EoC1Q04Z7pKe828Zxlf3f9FdCnb8Ktzy/jph4vYCkcg5PPQXKGGNWMrIBroVXXAG/GTny/k
CQGAHMu584mAkM+jZSe+ncbqC6bRAlseTyWQyqSglarRUq1HvD2FRrHj1h6wES3Vepwy/QY/WFin
jOOd9sVE8dO11K8R95Zf/LRTAdcj+7T45dLEjvvohwVb4Titnd2KJBiuYPGgoFFajzcX3gOQzaVP
2WcxhVk83/XUfX6yTwce2uKqnTo0Hd4se9WlkSg+89jnAJkVS74V1Au06JG30zpDxZxdwmifMV4F
n8elZfSJpxK0RSRAtto4nkrAG/HDHnSRi+e8ewknOx/HgnsZV8yTcIe8tA76emIOx4e7cHkkSrto
FnsnDyv97IOKcpwh+uTPFUpnEYFSma8e69kN4GuYcl1DFEFaJjdZZQ1sgawWb25wGtgeTz2qdpxd
vYKNaABD2gH8evEDxFOJ7LgOTgOYxmfFeswuLKKxur7AEQ0lwuis20XLDNMgUUIIEeIcoEpYQb6b
nQIupVTHs/h4kf+btNbqocgYcHMOcG1kux1ykyG5IIpQ/NFNnDAcpFCi97XK8fLeb2DOfx3BeIie
TVAsg5gvwvqmDZ6EFceOtGAk/OZ218KWDZPuCRzTHcRWLAh1dT3eN55HtUBMJv91NZqyvu+DHhRk
5wgz8tfK3GS+O+Ql3xUAVAtEmPcYoRDVUoIxAh4faY8WTl8Y+wUa2qAz0X1UTKbYnJlBp6wHN3zT
lA33vHsJ+xr24tvnvksGvIGszT67doWknz7UvO+OvvtOx1k8vCg1AMdUvDKg7oc9SO06TfC24LuV
iFGIajHvXkK7Qo94KlEQcIqnEjikHYC2j4tfvOPF808/Bq94BfF0sGAuBeNhuCVLALLJArsvjM8b
hnDJQi+t3SHZhbdO+fE9+0dobqjG4V2NOLqnvDWAxe1DENYiI40jlAijrVpPWdeJAPIBzW5kkEEl
T4Af33gTQNb+TdiuAwAOavbgSo7sKp0Nu+k24t2ls7S2l8PhoE2mg0GuY9dGFncdjiD9Pt8b8eP/
OvJvcdE0SvpmXbJ+mJZ5GE9cof2s3LHNVIjULunBC19tB1fiJ+0xl8NFY3U93ph7F96IH111bfjm
4Fcw71rCvGcZNUIJjugeRaeSOfC+4F7GW9Yfk/cjAuHDmheA+cLziT0qk0/hDftxTHcQkUQUf3zq
O2RgPt9f7ZL148Z0Cuo6H7paZJgxesn9tD8QQ5uwCcl0nJRbJPCwskWwYMGiOBjl9NyL+IzmeawF
1+BJWNEhz0qudyoNyCBTUqMSITecz/7kCnmx4F6m+Be57Dtzq4X2DcjGxHbt4eG18dfLYnDXipsw
9GQnhg2NGEZfwd/p/PXzpqv4w4P/By6bJxkbmqtCLbQsQY/qD+PVsX+mfd++lI2xsApg96N0mF/z
48XPSfCu9U0y+WzZstE2BNQIxfjTf3OwKIs14zqcsOLYnj3Y192Aef85xnjWY4ZDuEyzj2qTt5Ql
wZs/Xom9Xm6R9e2AYF6RCCWYss8ik3OcCXOrXsw4lvCW9cek7Fru/pBgq8+NRR7qa8B8hv5dWoNW
DFU9D7dkCZ64FUqBBsdbBx/aPQVh32YcS1gNz8EVt2KvTA+uxA8gaw+Y1D3c/gheeMSAvZ0q9OgV
8G5GaXMpfQ3t2NVWeoyzS9mGK+bJkhjGCB+biL3ljxGtVA0AZKA7K00AACAASURBVDwQAObcRvzF
P1whJbnpmuBLiakc0w3i+6M/zPr08hZsRAqb9OOpBMas05TiqnLAFL9+d+ks/tfkz6GqVKMqogMn
LMOxvfTf5WEAU9PfVctk0SKmm24jLphGMR82oveYGvxAEy6NRMHfaibX0FySgw65Ht7wBjTSBkj4
IvA4XMqYyPcXehhk+YDba6zOXyMIHyaZzja0K6ol+NB9CuK4CP7oJqwpG+YD0xhQ92N901pWcd6d
FD9R5XJ78Y19Txesfd0tCrw2T59rehj9CjOD/J/FycoCPuiwbjnIeZybn7duOe7XI32q8NAWVxXr
0DQHtjsx0ukMMiEZHu3px8KlG1hPp8FTV+FJzYvwcVcRzgSgrFLgqH7/joY/HZTh6vsKdA3bMOkZ
L0j27FX3Mmocd8j16K3vxOOGIwUOHwB859x/h6yyBnwen/benpAPfY1b+PbvH6Ol9C/2TtiA4oOF
cpwhJkeX6CzK3VQU62TLx2M9u28VWWW7l/ILU/zRTexV9zEyvC24l/H90X8i2a9ueo3oU3UVyFxc
No2jV9WB95bPFdCdGmR62NYqaedLBbcClywjEPD4+A9f/z3y3ZQScLkT2l0W9wa0v8kh4NVfTOP0
mBktDJ2PDRIlVGIFhpoGkA7K8Od/l00wyaRCfDhqxoejwL9/6RE4uUZM8G6Q45Gg9BfyhAglwhDw
+GirbUUkvo74Fn1Sa9a1iGuOWTzT/ihZEQ6Ubz930mI/s3rlvtMts3OEHvlrKJHMf6b9BP7k6MvU
c2+9v5tuIy6aRqGpVkNR0YiKgBYXr0TB53FRl+6ARDCLYDxMXifg8aGr0YLPFSKRisMT8tI+i23L
DtuWHV/u+yJmnIswB01okugwpN2HWV+2iCCeimNA3V9gd8+tjUBeVVs0MbrTd889zoJFLkotIN2J
oST3b/WiOoi51bBs2XDFPIHHWo/gN4unMaDuJ88lNpECHh8ZAGPxX+G3n/sSLlyK4NjeQVyN/yvt
8+Y2XfTq5QUFpoS0tsMiwH/74SSFJntsLltkzhZYfTxIbNYgEW7GI7o68CrStEkaHocHV8iDJqka
A+p+JNMpJNIJNNVoUMHlAeBQxle+DVtwL+Pvx3/M+Ay2gINluGFxT7Bk9mPlVrI9Hys+E14e/HLB
uj1sAMLjbRQ5dwK5YzsdlGEv7ySiNWYykSdL6tGvbs8GlsffJ+dEPmPm+ua2zOBX93+xpO/CyCAu
NqNaVIetMPVvpEQRg6+xV92Hd5fO0CaY8pnnhnNe0b6uepydMGPG6MPw4Uq4OF7w43zSHxq1TmWl
Zx9StggWLFgURzE5PWvYBHX0AF7c8wIlYVesUYlObpgDDibs20VIloAd153zBYnHXPYdANjVpqTE
C3ft4eHVa39fNoM7/Br8t1OTkEmFJccbo8kYTBtWWDfpkzaeuBXhhWbs7TyJjMKOKCeAmgoZnug8
CIOihVFarXuHfSW7Hy3E8SMiLMboJafSSENf24TaKimEPCF4HG7RwiqA+R3rqnV4qk+HzmYFfnmK
OZ71tf0v0e6jDIoW7GroKrm4hRivRKEKEc+IJKIFxYflIL9gxeg3FU30z6168Z1/vIreY3bymtzG
nqoKIVlYlStb5/CEsPcxNcwofJft8lZwHDXwrhmwv+sQBtpVjDmchwVciZ9SlG8O2HDZMkr+Lkzq
Hn0GBX7n6W4A2d/qez+bwv7uekTjSbj9EahkVXj0QPMt26Yoa9wcahrA6ZWLOxaedCnb8GfH/wjv
5PipuWMklUlh2jFHYZGTVzTimtGLiQUXRR47FxdNYwCAenEd2RSQH1MxKFowpN2LZZ8JnrAPjdX1
qJco76qMPVP82rxpQyKVwMjGCAS8CeziPIs//zv67/IwoKVGh7OmSwV54BO6I4zrb4+qA98+910y
TxGvjCHEncPTjz4Lt7UST7X/NtbjNylF3F3KNny+77NFnyXfX2DC7TRW568RufvGygohUpkk2uR6
Svx51DpFifGV2lx+u8VP+fbYZA/gvZF12rHZrTTAHGD9CgAwaGqw7ihkRTVopPfhaViUA9MGvSrK
+gb9/GFRHh7a4iqmxasy2IRYYjuRKeTzUFstxK/OraBBIcaVGTvMziCOiaqQkCbgjfugEpdWlHJu
0gJ+BQ/OWHZQ5zP6uEM+pNIpSjVzi7QZT3YcoSwqTHJ+/ugm+lVdDAwscmR48aJOOSv39MlBqc4Q
I0NbgsrQxsR8RfuZNLTf501XC+ihDzftw7UcnWXgFiuLT4N3w5fI47LKGsiranHedLVA5uK4bgiP
6oZweuUiRiyTkAhE0NVoYNqwwMDfjzPnXRgeehZJuQWepBVKsYzCAhNPJXDech7z/lkcbtrHBlw+
gcjtKOjNKyQkWNxyuzYICHh8PNf1BGkv/8eFacpGus+ggLiyApevW7FsieHY44dQxRfAvuWCI+hG
r6wDHGS74VXiOgy37MaPrr9J+4y5Mm22oBMSgQjBeLYoq6ZSWlaAh2mMtsp1+E/nv0cW2rB0yw8e
mNbQiEuFV38xTVsE26k0oFNpwLLFj7/52TRsnhCGhyqRqF7HXPIa9tT3QSaSYtoxB4Uoa99OLZ/F
M9rnERVugsfj0rL3EexW61ur+PfHfpfyt7eWf412eQuj3T2mO4hpx1xZxVWs/8AiH0w09aV2lTOd
l2tvgew4O6rfDwDgVCRJOQVCompIO4BkJglbwEmh7U9n0tjir+J7f5xNvDtHmrBOEzjRVmtwJRCj
+El0Baa/+M0YLU32les2trjqY0KDQoyff2THEFcMiXITX+g9iXn3IlwhLxokdaitrMFHq5fRWF0P
iUCMUCKCZDoGb9iPOpEcAh4fYn4VVOI60h4qxXX48w//Gr31ndjb0IuLpjG4Qh5G+RLWn2Rxr3B2
wgyFSA0LnYxSzrhjkmcqtj6fm7Tg7OUwhHwVZNImmAMxxBIBIGxBd4uCtMfFGDPLYVhlTMSE1jD8
VCVCzlpcGokinc5QbC+dryERiOAMekp6prlVL85fsyAj8iNSZYI1bEa31oAvDnTg1bF/JveyxPz/
Qs8z6K3vZP1sFixYMIJJTs+dsOJPTv4b2r/R+ZFMjK1PtR2ntW9nV64WtU358UIiZpz/OW8tfIAr
5kkcahrAK8e/hXfnL2N9y4Q6gQb8gBbnL0eQTmdIedZ8MNnzKfsstBJ631ol0KCymwOFNgRHOARf
0I9aWTX5d6Z9ZZesH6/+Ypo2LlTsuod5PxoR2OH20bP62AJO1AglmHUtAgCe03wJf/DXZ2jfLQGm
d7y/cQBnxi04vzALtaS+aMyVqVGP6bjRu4YLpjEkUgkEE2FYA3Z017Xjm4NfgS3gwC/z5JIvmcdv
O0ZWLov8uUkLxFX8AiZ9ItdDvNtc2TpC2q4qpIOAN13wLk8YDqJriPU7crHT71KKuse5SQsisSQu
XbeRv8ENoxcquei29urlFJ50Kg34h4nXC57fGfKAf6vYJje2wQ9oIeAn0dFcizV7gNb+ZjIZ9Cg7
CopUCJu8zaj2QUG8r4C1rlJKYX4tNndy9xm9qg4YZM20852IRxLfNSG3AFAxriWfdtRl2iDgjRY0
/SkyBsaxdMk0jmQ6hSHtAEV6WFK9hUsjUYzNx8m9W0VPPaPdyP3Nuuva0KNqx6xrsaSm7S5lGzIh
GSo9LoxfdCFuCiE94GX8DXPXiPx94+GmfXhv+RzteLQE7JR5YGRoKMqHQdZSdvETk4wo3dhk/Ypt
1NVWQsjnFdhZRW3lfXwqFqWgqUZNG7vU1qjvw9N8+vDQFlcxLV5uaxWCnnW4/BEoZVWoFFTgl2eN
GOhUYXzeiUN9anAl/qymq2e7ar6UJPfsqg/+QIyRZUUrVSOVScESsENdrUK/qgtpn5rSxWT0mbBX
3QddbSNuOG/CHfJhM7pJVqszMV8JeUJsxgorTEt5J2xA8ZOL1toWenpvUROiDVIIKnjQ1ksgFdN3
ouWDiXr2m4NfwVyOc0aMG1lVDS6ZxjDvMULOa0RlqBlrKzwkWrbHfygRRiBeKMcTTyUQTIRgULTg
lePfwqzzJoz+dTiDbuyu74FvIxsAv3A5guZ6HdSD4QJKXgBwBN0wb9pweuUivjn4lfJpTXPm3h51
L/Y09JRVdMDi9kHXUZDbuUOwuJ0eW8ew9AWEKk2wRyxok+nJrg0CqTQwPu+ksIoI+Tyc2KeFdzOK
Sq4I7y2fLnD0n2l/FFwOBx8YL0IlVpDziSz027RSNo62gBP7GnchENuCkCfEz+fewZsL71HWB6ai
A4DZeVeK5BQGI+DBkgtkQV1DCZtXEdDi1OkA0ulNxq6zBfcyLjrGwOs24vmG3XjH+DYpPUnQ9j/f
+QxGLddQUyHCU43P4R3Lm4gmYxjSDjCu+fFUAvMeI35649cYs06TG2mVpA7ekA/RZJSUzSSuj6cS
CMSDsG7agTKowVn/gUUuitLUMxSQ5ss4MJ3XrtCjqkKIWdciZZxdWZ/AuG2awuKazqRh9K1BxK9C
IpUg7bRSJIc/uok59zKM3jXEt6pRw6+lnUv1kjo8ul+LR/Y1FcxdovjX6QvD7adKLRMw0XR3Ee/o
doNcLOgRjibxW5+pxbvOnyJuSYBr5WK4aR96VR1Y85nB4/CQzqTB51RAKqzGvGcZrlC2KINY8092
PIF+VRc661pRzZdg1nUTcpEMm9EAPlq5hCXfGtl5STdeSvEn2d+Yxe1getmLZj19MwEx7pjkmZj2
aQRmV31koskfiJG+8tyqD8sWPxqrmrC+aYWssoZWDh4AZt1L+OmNX2N3Q/eO45rJvivFclxxXAQA
PP3oC/DZRWhWS0nbS/gaZ1avYNm7Bo20Afsa+3Bq6SztfXKT/sSeYvCAANeDbyO+ScRxrKRcy0iO
JGg8lYArtIHP03yXBfcyLpnGkc6kyURvV10bO6dZsHgIUW7zHpMvkFs8QDBb+KObsG+5CvwNAFj0
GfGja29iv7avqN256TZiyjGHOfcS7d9zY2WvHP8W1id1CIbVt4pst33bOQbZLabvb5DrkPQ1QsCb
KCySqmuHKbKI91dz5RRtGLFM4DnNl9DX0E4r6/rdH5gQiWWlhfLjQgC7H6XDrHsedSI5bVKtSaqB
Y8uFYe1BhO0q/MsbLqTTGdp3S4DuHRO/zf59fFwPvI0BcX/ZPjIdFtzLuLB2Fa6wD/qaJny4coHC
mnnJPIYDmt23XfCdOxdba1ugE/RizrVMfy5DEeFOOR7CDsyu+sDlcsgmOk/SjkhFI35L9nlsceyY
9yyjV9WBo7pBGBQtO72ahw6lNGcd7K1HKJptpFXKqiCupKY7c6UDY4kU2WjOZNtKQTmM/qXENpR8
DbgBLRoUIvAfNyIOEx7f14B6UQg/GP8J5j3LZOPEOdMIbZFKjVCC+bVCRjUC8VQCHA7QJtOhqVaD
WDKOn8+9g3QmvWMDL90+43DT/qLxSAIEG/idvO9PMi5ejmJXy7NIyC3wxK1kAfOly1G8eCh7DpfL
g0qsRE2lFAIuH/Oe5QLGYEJ6eOjg83jvdJwcy9eX6RUN8n+zxup6UkUG2LlpOz8ns2zeYFwfAOoa
4Q754L6ltCDg8Qtk14FtZnp1tQrTjjlwOVwcbtoHiUCM//v9/xcGuY5xfzW36kXEXv//s/fe0W3e
Z57vBwABkABICoUAwU6RolhUSKpRxZJlx7Edl7GdTbJJJif3TO544puZTLnZOWf3JltmZnfvubt3
b2YzWe8kmdnNZNOdicd2bMeJbTVKVGGVWMQiEkRhAQGSIACSAAHcP8AXRHnBYqtQMr7n5OQYAl68
fPH8nt/ze8r3u+X9Jp2MqJhtZuKKNSiyZKJ+VpElu9e3lsEG2Kkto91xPWWd7NSW3sO7enCwLZqr
/uW//JecOXMGvV7PG2+8AcDc3Bx/+qd/it1up7i4mG9+85vk5+ff1u8VC4TeP9fN9REX2jxlgk79
UiB6iAuFwoTzbB9I01WgKk3HsgLQPdmHNjuf7sk+AqEgR81HGXCa+Q/n/obGwgZylRrabB2MuMfI
zspGpchGLssisDBFfUFNjO1nZtGdoON7xd5FWb55w8R+Ru7pg+Ne2XE6pAs0NAoVuUtVtI+6UOfI
CYciKLIkm7pmuomRvunBFNkFWLOnH/26nwmvjUX1GP6yCYo1JgpzDVyxd6GWq3B4pkS/zzY/yYhr
DCBhIsnqmUAhu8bxlqc5f3GRKfciRYHslHuDtYmJQChI//TQhoFR/Bqp0pYRCK0QjoTIVWq4bOvk
ltvCw5VHOVp2YFPP7H7DdrLjzU4UXLo+gTpHjm/RiDqnmPOLQU79nhYK1j7n8wdEr+XxB1DIpTh9
06K27fS76Z6MSrO1lDSjkufw8aqTOBamcKz63V36Cq5P3QSgJK+Q8Vk7du+apnEgFI7tD+s2Haza
4XO1j3Nrdpwp7wzV+gpOVx7l7zt+KvqMPopa3xvhXtqw4PN++HY/v3x3JCEpLWa78faQnaVk0i+e
ABlzTRLoP0rvrB9OjrK0EqVNnvRO8amGpxl2j2H3TFKUZ6JIY+KNwXcB0Kt28PrN6LSacJBeCYd4
uKIFz7IXuSxR/iYcCTPhmeJISdMH/tszuD3YTr54q1hvuvSh8sMJDaRSiZSWkmYWg0sJE5PpGk1P
Vx4VtbM2W2eMxTWeVWh2aR5zrgnLvD1BNqK+oIbSfDP/8fy3eaHsc3Q7rycwxwrxc9dUDwfzakQb
q4REk1IuY0+VnvGp1Eaq8sLclNc+bJLrfsLdtGPvYgDJjkRp1vPjV6OMfEUPE1nQk6ccZq+5Dpsn
WgAR/N81Rw/N5r3YPA4mvNOYc02osnJwLc4i8BPLJFIMKi1Wj4Mr9q4EuerS/CKe3PVw2t9rM3t/
BtsX28EfN1TqeLvNwvGW1cR80I5JWUK1eq2ZScz3hiNhrPMO0XOagJPHcxhaGGFmZYKKLDPyhTJa
25bYVbqDf/23l2hsNMeS4ulY2wrUOl6/+Rtev/mbDe06nX8XCjFSiRSNaYFZ+S26gg6Wr601Lgn/
E85rr998d1U+y7CuzMnZDhsAwTyraB5HTHJ22D2acu/CWm42700rj7hd1/R2sOMMMviw2G52vBVW
g3SxwL87/WcMzIwglUhTYlVtdj76HC0T3umEaxWodbw98h5vj7yX4nfW8lnDGNUGcrKyKVDp0/pu
IVfWarlKfUUDr51P9H1SqYSHjufwvWs/Tskjr/f3nxn3sU+ytmcVq0qRzBYzNHuLUNai6Flh2NvH
q3/v5uu/dyRh33r5F92xxioBYmfr++E8ejdtuEpXjmfZK1p8xlVOU/ZxFiYDnLmQ+JunY/GA1Gf8
8i+6CYcjsf11KzFyWqZj5zBvD53FH1zE5Z9FKVPQbN6bsM+r5SqGV3PFKdfdIEcmthY1ik4adA0b
SinHY6Maj+AHGip1lFUG6YmsDdHZcdDv6ebrp77KsfKDXLBc5eWr/+u+GcC4m3a8URPr2Q4b57rW
GKmEWp5GpYjZcDrpQEF6Ohm3eyhmM7mN777aQ45uAZd8gHB4hSmPE4kU5IowKnkONs8Ek95pnH5X
2iaVE+WP8N45G9rcbFxBccknh2eK//TE1/kfHT/j/dGLKddJV9sUO2e02Tr43X3PcX06Sv5QlGdC
ijSmJiLAoCjG6lnm0UPGzT+0u4C7Zcd1FVrevDiWxBK8yCeOmRhwDsdqvsFwkIvWdobdoxwpaWTE
bRH9rT3y6LWEGkc6O05u3N4qA/FWWJ4ExO8R37v2Y6yrrFTpBnScPjcNxhpWwiGe3f0YljkbY3M2
DCodnmUv/+Hc3/CvTv5hyv2d7bBxrm1x7Wy82rS2S1OftsZXa6ji5PFKfviPC4TDkYTrpXuGmbgi
itEJDxd7JlL87LF9Gfaj7Y7hGQufaniKYbcFu2eS4rxCqnXlDM9sjiEug/Uhvdc3APDCCy/wve99
L+G173znOxw9epR33nmHo0eP8p3vfOdDf8+Ac5jvXfsxX3v7r6IHQ2fqVMKgdS7W+Ru/gThnF9Hm
KQmshJkJimtVbhTAn2ouQSmX0dq2xD7J0+zXHaI4t4hHKk5wqryFK/auGEWksNlNLzm4YLlKY2ED
HRPX6ZrsxeaZoHOyF4lEwlV7N1fsXdg8E3RN9nJ+/ArZq13vwpR+m62DcCRMk3kvf3X2v/LOyDnG
5+28M3KOvzr7X0WfQwZbx92y483ibIeNcxcX2Sd5mmbDYcryinm6+gkadA30h8/Q8JCDXbsjTLr8
nD64cbfqmGOe/jS2IrA/pMN8ZIrO0Ot0z7ZjX3Bwxd5Jx8R1Dhc34gv6MWkMop8zqLVcHG9PW6hd
ybPFaCmjB1p5wnuSJyb6Z6LybF86+Fn+0xNf50sHP5sSdMWvkffHLhEhQnvS2vv2le8/sOtmO/lj
YaJAKZdRqFehlEc74uMnCs522FjwB5l0+WP/71taoX18gG9e+D5feyt6/VyjF6k0tYnQPu2jrkKH
3Svu1y1zNtRyFQBX7F08X/c4bw69F/O7V+xd/Lz3Vzxd8ygKmZzS/GJG560p9irsD+s1HQj297Pe
N+iZ6icQCnDV3oUECTX6naL3l5EgSsXd9sVitny5dyrlEKqUy5h2J7KPxdvDqYoWbJ5J0e9w+K2o
srNQ58hxr0zQUtJMfUEN1bpKft77Bp0TNwiGgnRN9PLm0HscLNqHRqHCqI761viD9OHiRi6MX+Wa
oycWOwj+GMCg1rO/sP62PZ8MPhi2W0yxFaw3Xbq7oIqvn/oqj1edpDy/mE/Vf4Jrjm7eH7uUEJvO
Ls4nvO/xqpPrFq2t89HkYTyrUPx/t5Q0J8TRXZO9/Hr4LPUFNXgkDvQ5O2izdaTEzwZFMZ2DzpTv
i080LQdDZCuyYnuUAKVcxtF9RSmf3UqS637H3YwpFg1djCwMUF9QQ0tJM9lZSkyrPnBwvo+VUJhH
Kk/w9tD7XI47O3VMXOfpmkfpmLjOZXsX4/MOLts6+fXIWYpyC+ma7OWao5sdOXnkrDIEhyPhmL0A
fGLX6XWTbuvt/Rlsf2wHf3yquQS5TEpr2xLKqf1UeJ5isrsS+5iCvtHoVHC87xUaV+sLamizdaaN
tQecw7xm/1HsjNY9205P5A1OHsvBqMthwR+M5S7q8hvR5+jWPW9txq6FKeDHq05SkmemydwQK5oC
HC5u5Ne3fkuX6xpWjyMlZ5F8XrtkbU+IY4R7im9u6B11o81Tpkj3CBAkZ+NhUqTKxFxY/dvuR7+9
Hew4gww+LLabHcf7s/L8Yk5XHuOZ3R/n79p/wv/97t/zs0ttMR+dLhY4b7lCraEqxlARH6uetbRR
ratI+Mx6PjfRPzq45ujhsr2TemM12VnKtNeB6B7y8IHSlHj25LEcXrP/SDSPnPz3x8frJ5tKuHI1
QOe7RrxdLWDby60hGQHpQtoi60zQjjY3m86bic1kW2Ga2O64mzZ8ovwQXZO9NJv30mRuoCTPTLN5
D08WP8eltmUO1JnoTsN4Ev9s+0ZdvPyLbv7wP7/Py7/ojtk0pO6v8TFyMBRkasGJXJo615+8l8fb
1Y2pm1xzdMfWwhV7V8o+P7s0j0lTkHJd2DhHJrYWvQE/BRq9aIyTjgUlXY3ndPmJhHPrwwdKkBXY
RNd/79TN+7JOc7fteL3fRfAPybW8eBsWfqt4KOUyHj5QQjLWs00xbCa3vZ6vFPBQUzGSPDdX7d1c
tkXPqtccPfx65CxTvhlaSprXbVJx+eeiKhvqWcqaLZhyxessMUa11XNsyt+zCaYwAVlSGX3O4dh6
V0jldExcTxh2EKQOgQSpxu2Au2XHgv3F26hgf2I1346JXv5p4B10OTtErzcTtKPNi+7pyRKY8Yj/
zdaznfXY+cQQv7bWs39h7c4uzWNQiTcv7dSWkSWR8VjVQ7w59B6dcTFQx8R1GgsbRM9XvaNuwuEI
5y8uRuOM7hY63zVyvnVtwFlsLb9m/xEPP6RKqDGle4abWdvbAXfDjm1T3i29nsH2QZm2mJ/3/ipW
N+qcuMHPe39FuXbrkrgZpGJbMFcdOnQIm82W8Nq7777LD37wAwCee+45vvCFL/Av/sW/+MDfsd7E
MESD6wHnCCWNJZhLi2htW0roYi3Q5nBjxEVNqZYducWi0wxF6mK++2oPx/cXi3bw1lfq+csvH+VM
u42+UTf7qg/y6QPPs6tUy/eu/Tgh+BDQZG6ge7IPvUqb0uG+uCI+7eNemkMhk8e0aiHKVjTpFWdm
ychK3R7cDTveCuIDjVyViWeeqOVXoz+O2YAdBwpZD08d/SzvX7PyzZ900VCp41RzSQqzynsjbYzN
WTHnmrB6Um3foNby7899iz8/8ZKoLS2pLDH5BQGBUBC5NIvGwoa08ipKmRK7Z5KZxVnRv9EdcvD8
w0dpuzFJnkTHS40vMjB7nT7nMAa1NsbaJmCrh+z11tmDum7utT+Of6Z7dkYnvATqbGGaPie0dsBI
ljIJhsJ8+lkDb039ZO36Hnv08L3KdCZAKpVw8kQO87JRlMsGUb9eqCmgZ6ofAJU8OyYJFI9AKMik
18lnGp6mNw2VuGB76Q4tI24LkdVrCdcUfPgFy5WM1vcWcDd9cTpbfvbY5xh9ZR4ggQLeHerke9fG
1qYyV+1BIZPjXpxLS9tfrC7DWKFj6aaT5sL9vDXyGyAqpSZ8d/yeL5NKaTI30Ds9SH1BDbqcfIbd
Y+s2ciyHltEoVDxc0ZKRPt0G2G4xxVaw0XRp/PTXy1f+QdQez4xd4oW6J9dlW4lHpbaU4CpzVfzE
9IzPTbY0h2AkmNbuHX4Hyrg4RFhLCpkc7cpOIrlKLnTbObF/7fCZnGi6dGOCo3vMrITCTMz4KC/M
5ei+Ih5qTD2wftgk1/2EexFTOBamaClp5kDRXrwBP6X5xezS7eT1wTfYNV8pagcObyqDajKbzcTC
NNNeF6fKW5BKJAkMqBv5zK0kqTPYftgO/liQwu4ZdvLKo8ABuwAAIABJREFUu8OxwtGIfZ7zXQ7+
8stHE3yvmIyEWKydrtivKpnm6uVo0l44TyrlRvT52Tz/8U8y4u9j0utMYMkWsBm7FvaBn15/Pcaw
CZubqk53zwCVO0opzDXSUtKU8Hc2VOp4r91GrboYu0i8Hy/xLdzH7h17Ut43MDNy3/rtu23Hn/7p
S7flOsn42WdeviPXzeD+wHbwxwLi2RAajDV8dt/v8N+u/AOe5WihyYKdG7IurJPPIM86mL54OT3I
/37gs/xj/1uivi0clnDYeBTH0tiGPjct07xziKd2PcqtOQtOn5tCjYEsqTwlV7arVMtf/MFRznYI
OWs9wcLrBCyp13x/5DLnW/10D7vYX93AiweeYFepNvYeYd8SrqVRZfG5x2tp9ziQqhA985ZoSgg2
W2gPtLIYx1q4VdaZ7Yy7acO1BdX8q5N/SO/UTSzzDvQqLeosDQpU/Nvf38+uUu2GzzZZFipZNrCh
Use7V60p0njCmarJ3CCaK05nq23WDpx+d9pzmxCXB0JBivMKV4cSt5Yj63eKr8Xuqeu0qJ5jXj6G
K2inwVi9rgRUso3H13jiochdwO6zpXxeIZMzMjsu+re+P3J5W+eb77YdxytQJEso7q/Wb+gfkn+r
hp069u6X0TrzDn83kF6mVUAgFOSt/ov87Q/t1JTuiNVNtsJOvBEDTm25ntfG7aLfvbiyiFKmwBf0
U51bKZ4zzCvksrWDVu8/EggFaSlpFq2z1Gr3ArBzR8WWZG3Fcjza7HymvM7Yenf63QnMdeWaCpS+
MvBr+Ys/KEnLdnSvcLfsONn+6ldrb3UVev5h0EJetkb0d/cGfKLSwKX5ReQeVLLiNXKyKf1zjf/N
1mMg3oidL/Xvia6tjey/tqCa45oXcMtuoc/JFrXH5YliPtbczAXnO2n9vkSSl8KeuWfn2r3FS33G
r/t0azmSb0edXU5ZYR67SvPZV12Q8gzvJ+bxu2HHJSYNpaZclgJRWcA9VXqyFVlAZMPPZnBvYZ1f
21fi60bj8+JDZxlsDduiuUoMLpcLozFKF2k0GnG7P9xESjqH2jt1M0FuTKwIr5TLVh0GqLJl7NAU
iG4IBWo9b75j49dt4wn6s8kUhKdPHuKlT+5PuJd0hfPGwgZMGgNvDr6f8P71knrjc3YeKjuC0z/D
pHeGArUOk9pA7/SQ6Pt7p4f54dv9NO02brtA537H7bbjrSA+CAoEw9iDN8ULSis3udRmYDkYSjko
JwcThbmGtE1Q3oCft4bO8P3OV1J0kW0+q+g9js5ZqdZV4AsscsC8l6XVQqghLml0uOAI5Zp8lleW
UzSa6wxVfP5gHZ9/oi722nH2MOIa49+f+xbewBpLzGYO2ckJr/s1eX67cbf8cXLD2t79Ml7uTKTO
Vsh6eNL8GfpGXdRX6mNSJvNhJ43qKirySulfuCHOdKazkasqRJ0jZ9azzNEjSl6z/2jdg6dZY+Sa
oweA8vzi9BKWnglqDDtRZMnX1fxO13TQaG7gir1b9NoDMyOcND3Bs8WfY8zfz1TATrW2ktNVR1KC
+ttNX/2g4E754nS27JKMkKvSsuAPcrwlm57IG+CJ+pQzY5c4M3aJb5z641hCQ5udz8TCNCV55thU
njY7n9mlaINWtr+Mfzp3i48fKcW1OEogFMSkNqT1T5Y5e3RS1DeDzTOBQibn8apTLK90pZ8U9s3y
f538o1iSqnXkBpdt7dh845SoyzhScoDjVamFxgzuHu5lTLEVbLYZdMQ1xlAa1kunz83ZoU7OtfrS
Di0IGHAOI5FIUmQuVfJsjpcdYnR2nMXgctrv0au0XJ8aSEgEFqh16HN0XD8TZmxyguvDMyjlMg7V
FwKpiaZwOEJrj4NnH6rk6793ZN3nc6h4f2zg4YMkue533KmYQiGTo83Op0a/k1AkjC8QlRIp1BgZ
nbOglqvS+j+HZyqaHI5LNsAam82Ub4ZJb5TBTC7L4n9r/vSW7nGjhsMM7j/cC39cX6lPK89wpt3G
6ZNR3wvrMyslsPamOc/cmhvlUN0BBsfXBlyWgyFc80vY/A4GZoY5WLSfi9ZrABSodLFz2k5decK1
1otN9xfW8frN38Tea1QZCEciooUE4V4HZsQHGWyeCfKVGtodPbQ7etDm5Me+51RzCX7pNDJ56rUV
Mjl1+fuJLKtwrkpKyD0l/PAX0+zSuRIlpwxVnBm79MD47fslrthu2GrjWKYh7M7iXtixWNHt3VsX
aDbvpc3WEXtfIBRkKd/K+a5Cas3pY4HdBVW42sUHCq0LNiRDD1HVqOTSVGuKbyzKNXHTGWWHTefT
nT43RrWBEbeF05XHOG+5jHtxPvbv8XF6faU+we997e3XRK856L6Ft8/IpMuPZcKTkgcXuxaA3tnC
b4bPi/piaVaY9onovmJbiMqtHte8gDavMMb6IUCMaULYb0bcFhrNDTQW1t8XQ0N32objax4AClk7
e6u/Cug51VzCu1etMSYVbZ4S32Iw9mw3koUSPp9OGk/IFW82/nAsOHH51/5+Ib6fXZpPiMsVMjnT
XldM1t3ln6NKV06BSsffd/yUGv1O0VxY/5gLXZYZK6lrUScv4sy7fsDI8w8f5fMH61LekwwxG0/G
OcsV0SE6oTFFDIPuWwxZZ1MatbYz7qQdJ8tCv3z1BxTnmdHIVawURnj4hJFzFxdjJAli/iH+t1pf
plU8zhxfsOD1m3nz4hjvXrXyl18+SuvMxrntIessZ9qtdA+7RAfa45HOHoSchVquSjucLkHCe6MX
Y68nSnTOUqouJ+wy038jjFExS3DavG7uOhliOR5f0E99wX6sq7YtMNcpZHKe3f0Yn977jOi1tjPu
lB2n8xUnK47wm5Hzop+xeyYxqg0JvkMhkyORwBnPK6uNPun9T/xvFggF09pOfnZejI0yHoJ/BzDp
VECE2YXl2NraTG0nMJdHb28hlUX5HCo24c2xMBOwU6yOSgWfu7hIYc40A4jvCTM+N06fO/YMhLX6
UtOL/PbK+nFBun3G6h3Ht1TESO883YNO9lWnsiButm61XXG77XjPTj3f/1WUeECQBQT44lMb75MZ
3FsICinx8VQgFBTNZWSwdWzb5qrbDTGHut6UgNTkoKq4ApNeRZ5KgduzyBc+ZcLmH6Jz6mYsgBcK
MEqZku7pHo40fILF5RDnOm3rdrE/W/w59hTuim2syZ34dYZq6oy7OGe5TL9zCHOuCXOuidHZcVyL
s+sWY8p2lHB+/DKBUBBtdj6904PklmgwqLSirEN6eTG/fHeEX54ZSTkMZ3D/Iv6QrM1TYveLNzjZ
fFa0ecWxLu/lYNR+JRJ4ezwxeSME5xEiTHtnqNCWEAytcNHaDkRleYKhIO+MnOPM2CX+j6YXOVa1
h7qCKqye1MNrgVoXS8o3m/fSOz3I8bKDXLV34w34o5Iu2SVMBsZSiqZZUlnaoL9KX8Gfn3gptp4E
ZgEgpds9PihKLn59FIuedwObZXDon70u6p/Hlm7i785FqpnlDcdPaCxsQLKSy4h3AKliiYkFcWk1
d8jBo0/voNfVzt7cSmTycGwKM5HpZJZqfQVGlY7ZRU/s8GGZt6e1h9I8MzW6Sn524/WU/eHhiqMx
OztRfoiL1muo5apYQKOQydlfWI9n2SuacN25o5J/851LLPiDKOUFaPNKOL8Y5NTvaRlgrWBVpS1j
ORSMScFu58mKBwXrFSX/3Yuf4Ey7lbm8DpqVe1laWWbG7475sVbLVYxUo5Bdifmaa44enq55FMfC
FI6FKRoLG6jSlTM+EuFgnQmQMDYX9eXr+adkBoZAKIjT7yYYDmLONYl+pr6gOqGx6uXO76wxXiw4
6HC2Ay9mGqwy2BDJMa2wByf7oXOWK5iSkkUCCtQ6hueHmO3LFy3WCEiOs4VmwqdqHsG9OIcECboc
HSvKoGgMXJpnRiqVJiQChdh5n6mOiKSQ4/uKWAqs8D/f6ONa/xSnmksSYiwBSrmM43HsVmL3GvXX
wzQU1KBcjWfSJbkyzISbw6DrFi0lzTEfuxIJkSWRMeV14lqcJRgKIl+lo0/nM4vzCumcuJHyerwv
Lc0rIksqYzG4xNfe/qstNTBn2CczuF1YT57hpU/u5+unvkrPZD/tjuuY1IaUwZTkuCVd41+BWo9H
2cnDJwwJxaoSowbLQifegJ/llQAHi/bjDy7G4huVPIfASjCWoE+XCzmueQF8Wk41l/D1U1/louUa
oUgYb9CPbd6RcOYT2L1rDVUMOUcxqg2ik5bCehW+Kz75XV+p58zUNOfGO1IaaWt0lThu5tJx1Yg2
rxSrZ5nlYHTITigeCxDWcsZvZ7AVbKUZK9OIdX8gXdEtnllHwEzAzspkHZ9pWT8WqDVUi/q2YlUZ
h0/uYsyTmr5XyOREgL88+9f861N/so5P1zE4c4vjpYfIlin5YuOn6JseXDdOF5DumgZ5MVbP2vBC
fMNNOvSNuuidnGFlBU6WH2Eh4MPhmaJYXYJBrePNkXcS3h8IBXHLbvHe+z6ONJhQKrIYss7FWD+S
Gff/w7m/obGwgVylhsu2Tm65LTxceZSjZQfS3tODigHnMJesHTh9rhRbBWh3XKe2oDrGqHJjcohR
fx/TATvN2kqkmllAv6EslPD5c502HtN9iqmsG6LMlv2bjD9kKxqK1DnYFyY5XNyYkEOp2FHCjakB
ivJMKGVKLts7CUfCKGRyfnff8/ys943YgO3YnE00F3am3YacUhSy7pS1qFosYznoQymX0bTbuKXn
3Tfq4myHjd5Rd0oDTe/0IEW5phTfkNyYEg+DvJgz7db7qrnqTiM1pnSgkMlpNu+lM/Q6n3/hc5xv
XRT1D8lI58OvT/ajz9GK+mKDYs3nLQdDdAxEG0KSC9YQPZ8OOId5/9Zlhly30KvMlFWW8XabJWGg
PRmV2jLRnEWBWkeWNIvZpXnmJ3v5yuEv0mbtwOqZiK210dlxZNI16cMsqYzR2fEo25WukgCLmMv8
uBav8d9v/BO67CKeLHgOi8+Cc9mGQVHMLk19+r1gNcfz/shlhmdHMSmKqVDVUWzQ0Gq9lvI89xVm
mi6Skewn9jXK+HnvG1TrxNnIDGo9ankOBWpd7NxSnl/Ca6uDKb1TN9cdrk7Oy+1Q5vKVw1+ka7KP
IddozHZe6XuTVwd+neIv6yv1/J8vVjLgvsnAzHW0chMnstd+141qO32jLgzFizToJ5gJtuPNMpPt
LWdluBLMeZzpjLIttQ9MU39CfE8w55nomuhNeC0QCjIwe52//PLHY+pQYus+bfyStJbFYpd4lYn4
9f1RIlqIR9+oi4N1phTmqr5RF888lKmPbmeU5BZSkmdOqUlJ7vWNPSDYts1Ver2e6elpjEYj09PT
6HQfju53PfpKMdj9VlTZ1bjnl6iv0NHUnMV/64zqk9YX1KQUYAKhIIeLm7ncOkkgGOb0wVIgfcA2
5O3j1b93840vHSFLJo11sQt0yjORW3z7yvdjn7WuFotOlh9hxj9LdpYSmVQqmtR7vPokj1efjG2e
pypa8AeXEiRP4t+f7S1lORg9gGx0GM5ga7jddrwVxNOODlnnKFGXicogxAcVAkJh+JufdaPYM57w
ejgS5oq9i4/tPEE4EmbINYZBpeNwcSNX7F0JRahAKMhF6zUiXl3aopJSpoy9thyK3sOwa4xq3U4i
gRwqNBW8ZX81pWj6Qt2TSCWSdSeSkil3N0PpmXyfgVAQlTxnS539DyLuhj8WXo9HuqB1JmAHdwMX
LL0xbXLh95n2zdBQUCPeSKrawfvWMwRCQYLhAPJVhiBInLBpKNjNS4e/EPu3ExWH4poEdtI12Zti
D6asKla8+fyrk39Iq+UqI24XLSVN7BeZljxUtJ9h9xj7THVUactoMO1md0EVESKi60QfqSIQnKFQ
r2LWsxxrhLwxORRj3oKoTStkcg4XN8YmZu+nyYo7iTvli9ez5V2lWnaVavnu1RuctXSk+LFT5S1M
25Q8sfMxrF4L+hwth4sbeXPovYT3dk328omqx5iKhJlVWSlURiUs1/NP8b5VgN0zyYsHP8+oe5w+
52DKZ+qNNbH/vmJvF41drtg7Ms1V9xD3MqbYKjaivYdoollgaxOz4fwsFbc8y+sWa9LF2U6fG5lU
yo3pmxhUOip3lIrKRkilUsryirm6mmAXKO0VMjlmVRHSwnzabkzEmqjGpxZiCVExavd0MXS6ZPCj
lceRSaR85fAXN13kut9xu+34cHEjr8ZN5NuSzkwahQpvwI/NM0FOmrNQSa45pbkq3pcqZHJ26Sv4
yY3XPhA1/GYbDjO4f3Cv/HE6eYZSo4b+MRd1FVGbsi9MYRVpUkqOtdOd0bKkWfx29BwKmTyhWFVu
zqVnsRjbggOpVMJVe3fK2jtg3stb/Rf5+59OYN53S9RHu2W36LxqjPnTY+UHE3ykkPsQYlqFTM5O
XTm/GnqPHdl5m4p9kgu5t+ZGRRtp3f451G5dgqSEgL6korKwli9arnGqvAVv0I/dM0ndfbqm76e4
IoNUZJq2orhTdrwe6956DFHJTJgGRTHGAvWGsUCDsUbUHwedhfx/b3bwxLEyniz4LE55P+PztlhR
9Jqjh4NF+/jV0Hto5Kq0/nFHTh4LAS/vj10kHAnzjVN/vCn57XT7hNxTEmtEFZDsMxP/zcVbXR10
hl6PXUshk2NUG6jLbeI3E6/HmmnjMROws0NTyrmuKEPst752WvT6FyxXU3JDNs8Evc7BBCbD7Yjb
bcPCuUObnZ+Q85JKpLGGpXbHdRaDS5woP4RUQ0Jeyepx0Gq7wrPFn+NUUxG/XQnhmltKGCpJllwT
zkDfahsmGAomNDsDFOeZEu4xnV1J582EgZaSCNcciTFGn3OQx6tO8euRsymxRc/UQIJyAYjnwnpH
3Vinljje8jRBnQ33ih1zbiF5SjUen40v/LPahEH4zWAj6cRaQxW/vXVBtLm7wbQ7pTFFqNPYZ3yb
voftgDsdU6zX1AqwIB/lW1/b2KdBegKGQfdY2tqZbqUSWPtNOm9O0/JoE4Ou0YSC9RV7FweKGhMH
wFZVGASVnHS5jY9VHafN1p7y3TlZOajlOZyuOMrx8kPIlvRMLLyTsNYUqwPpjoWphMbE6txKSvPN
uBfneGf03bV1joN+TzdNsmfw9pdg8wbY0ZzDy7/oZtA6x6E6IxXVIfpmr8f2rDrtXlrf0pGjNGLx
LHM+OEWO0sUff+lFBuLedz/GxALulB0n+4nJGR+zedMxYgExmyvPL8Yyb2Nu0cMufQX5yjzeHj5D
OBKmpaQ5UYkpTW5CLC83MDOS4qcDoXCKv7w03s4Z6yWcfjcGlQ5FVoi3Jn+KY/opJJLmDaUlb0wO
8dbUT2PfIaiRPH74M7zyxtrndpXu4ER5seiekK/IFW0Q7nMO83Dl0RRlqHisF79AIFZjEYtd9hh3
U60rZ3ZxHmfc+t6hzE37fdsJt9uONTkK3m+3JeRFlXIZpw+UbPDJDO416oy7+GHPL1NyNp/f9/w9
vrMHA9u2ueqRRx7h1Vdf5cUXX+TVV1/l0Ucf/VDX2wx9ZTwM8mJ6Jzw8dbyS3zlVzfeu/Tj22fhN
Tzg0K2RychVq1DlyFvx+fP4AsH5zwMPHd/Fr2xtYPOMUakrYt6ead85Z8Uud+Hf0iwaNrsVZ+pzR
5pV/Vv8U1doKBt2jWOcdlOYX0VLSFNsIawuqGXGN8Z32HxEMrcQCrPhgXpeto+PdtV7F9Q7DGWwd
t9uOt4pE2ttiOpypQXpyUkQpl+HzB5hy+2nKMmMnsUnlcHFjwloSnHJLSXMsGSJMSjv8Vt4ZtPDZ
x2t4ZvfjWOYsManK+CkmWEtEFeYaUU0cobVnAk6OigZR7sVZrti7CISCLAaXuGi9xp+feEk0eB9w
DnN+7DKzS54NKT3TJbye2HWKM6OXGNxEZ/+DiLvhj8WmvdebMqgqyafbnapNHggFEw7DQvHEF/Qn
FF3SMVgEQkGyJYnBcvxh5KZzhKdqHsW+MInDM0VRnoni3ELsI2F8E3Z+/7l9ae0hubhu9UzQM9VP
g2l37HvE7O9Mh52mRyaZWZmgIsuMfKGMq+1Bxvzi+0TyxOxHdbIiHnfKF2/Glr1Bv+jvtBDw4c77
LQs+DWq5CtfiHNlZqU1RgVCQqcUprof68br8PFf7ODemb9JY2MBicImT5UfwBLxMeKYxqHWU5Bby
q6H3Eu7HqDJwrLSZ5qK9NBftpSivkDNjlxLYN1+++oNY4tnqTWysFWD1Wm7HY8vgA+JexxS3G0Ki
+dndj2GZtyXYY59zkMPZzwLzKOUypt3RZHlyoSsSiSCVSFOKMTbPRII0Zp5Cw8Gi/SyuLMa+Jycr
h3A4wk3XCEeKm1iJrGCdn4j9m8+Zj3cxkFYK46VP7t904j1dMlgqkfB7B/85wEdmqv5227HTnzqR
n3xmerrmUfqcg0glMlE7mF9e4HdqH8cyb8PhmaI8vxijRk+74zoHi/bxO7Uf57zlyoZx5HrYTMNh
BvcP7rQ/TlfUT8eaF47AN/77Jf709ysSmSfjmpQ6Jq6nxtpxsWefcxiDWptwRguEggnFqj/95ln2
79+FRtHLclBcenAptMysbwZ5VhVWn3g8MROwo80rZdLlp7XbjqSkV/RaK+EVDhXvRyaR8cOeX3K0
9ABnx9piLLEzvlnMeUayJFmMzo4nxL/FqrLEvzXuXBGfx6k1VBFeUtM+kHqf8cXj+Gf2oKzlBy2u
eBCwVcnBDO6MHW80mCeWp1DI5NQZdxFcCeD0u2OMOtneUo43RplN0/mPAecwL1/9QQoDdpm8nlde
9XH0sJL5vA76fFYKcw3U6Cu5aG1naWWZlpLmWEOR0DwT9Y9uDKtxdddkdChtbM5GvjKXKd8MFyxX
NiWZl5yj2KmtJMdfxi/fTJUx3FW6I+11WrvtLGnGCbgTczc2zwRTpkHqjdXYNhgG7Rl2pb3+iEhu
SPiO7T5sdrttWDh3JOe8hFggPkY4M3aJ52ofF31u1mAfK0hR77NStpqHam1bQi6TpkiuCciWKVNY
MxUyOWq5ihHXWIwpO+zV0iR7hqV8KzOrkrzZ3lJWFnZwbWCalickovc0szibcF1tdj5yqVx0cF4h
k6dIgu+v1mOZ8HD+4iKnHyojorTRNbn2TLpkHexblUzcLDaSThRyRvHN3UOuUZ6ve4LagmqeNH2G
saWbsedQoanA4h3Fo3TwvWtjm2bKvde447HxBk2tW8l71hqqmPROJzDSCAQM9qTaWUmeGaPGQJej
laZHCsn2lTM4IOFoSw6/HPhFSsx9vPQg1tkpUfsN6mwo5ca0tbcYO9ToJYZdY5g0hthAbrwNfPfV
HvJVBYz52hOun52lpKWkOaUxcdg9yh7jbvG4Pd/KrMfIwToTZztsHDwgx1A/zoLWzn/rbEvcB2WX
2Lfvac5fXGtkXFxeoacrxEuf3Fxj23bHnbLjZD+hzVPiDEbjiEQJRzdmjRGjWh9rpNJm59M6fg2j
2kC+MpdwJLxpCXgx9E4PJjSBC4hfQwPO4QTSj2nfDEa1gYNF+1jwWnn/WgHLisJ1mXxH09QsxgM3
kcuMLIdDMSm/2gJ9QqxRpa0k4CzEOTcm+jcY1Fr+/blvpa0FQmr8UqQqY2WmEJBw6GNOglk+qlfU
VKoNic/BOYxKns1vb51PWd9fOfzFdZ/tdsHttmOPXzwvurDa/5DB9sWgK7W2HggFGXKN8iTiAwsZ
bB7bornqz/7sz7hy5Qqzs7OcPHmSP/qjP+LFF1/kT/7kT3jllVcwm8389V//9Yf6jnRFa0B0SqBM
sZtgmZRL16OHkP7I2gaTvOkVagxkSeW4PMvMrh76xqe90e9N0xxQkltMm+tV/J6l1Y5yHwPB92l5
ooRSbSkXbOKBVvwklGXeRvdkXywIbHf00O7owe6ZpM3WSa2hih3ZeUwsTFNrqMbmmUiZ1KzLb8Q1
vxS7vlgCMYPN4W7Y8YeB2Bqo1e7lr/8usVhu0qkYn1pgORhCvlCGQtaTMFmWLoALR8LIpTLqC2pi
UxvleeX4llW0djvolXcwtzTHwaL9XBShjC1Q6xhyjbJzRynuGRnqHDkzwbXkSvyU1aBrlD3GWgpU
Orqn+jDnmuidupnajZ9mYivhPcn01GkSXpesHZvq7L/fcS/9cW1BdQJN7snjlShkqY0r2d5S9jcV
IFlo4LKtM+X6V+xdPFp5HJUiG7tnikmvk726WogQK8ILB0+xg4B6qTzhesI9DVrnKGse49JEGxqF
ivL8YvqmB7lm7+ETVR9ncv4aX3v7NWoNVTQYa+ibHqJ/ZphaQxUPlR/elGa3GOPahYW1A7sw6fHY
yU9xM9Ah+nyTJ2Y/ahKWd9MXb4aNxDYvrmNt90wQCAUZnL2FQibnsZ0P0T3VL/pe27yD42WHODvW
xvi8nSeqH05guBKmftXyHJx+N1lSGSthOFLchEGlZcI7Tau1nQnvDI9VnaB3epDe6cEE9k1Yk9Ap
UZeJJrdLNeUpr2VwZ7DdY4rbASHR/NrN33Cs9AA79HmMz9nZaywlsiKj33eGo08WU6DRc935Lq/c
cCcwFImx9QmIZ9LMzlISDAe5JMI622RuYG7Rg90zSbW+gpLcQkKE0SsNXLkeJhxZTLlv2Powwmbl
cB803A07HnGLN2/E74W+wCIv1D3J6JyVy7bOFDs4XnaItqH22JnqqqMbhUzOMzWPISHC7oIqvtv+
Y9HvedB/wwzuvj9OV9R/rvZx9ph28xd/cJQ3zt/CMrlAgTaHbEUWl25MIJdJ0zJPSiQSvnHqj0UL
6ULs+R/Pfpve6Zspn+9zjvBvv3sJk07FkQYT47YFjpmep8/3Xsq1ILr2qnLrCBUv41NpsYmwycYX
yx1OHwvZ4uto0utEKpFQlFvITm15NH9hiMZY/c5hjpUeQJ+jZdg9hmz1HJqdFW0kyPEnNlet1xAf
1mv5ddt4StNauuLx/YiPQlyRjAyz04OHu2XHG53316BUAAAgAElEQVTb4/1JrKFpZZn+6SEKVDr+
Wf0nGJ12Up6zPgtO36iL1m477txoo1Ryvjacr+JES2mU7WlqtcC3sCaF1TFxPSE/F8/Od6ryKBa3
FZTQWNjAFXsX+wvr6J0eXM2JRPjetR+nlROKR3yO4ruv9jA5v4xcJmU5vOYzc5RZVFavpL2m3elj
XpG6H0C00PulA/98Q4as9fLVjWbx3BBsr1jtbtiw8PfG57yAtLncW0nNyQLsPtvasMpqHurzL3xu
XZuWSqQpTYJKmRL34hznLVdizVVnO2ycuehHKY+X5PVzoFaDcUcONm9qHQWibNyFmgKKcgtjzDxG
tY6d2nLs/VOEI+GE3LHT7+Lly/9AgVrPFXsXFYXlPHzCxOWrARbVFmzu1GHLreZ4N5JOTJczCnu1
vHyum3BYTW9PIeqcUkrrJbw1H6fesODYNFPu3cS9iCnWkz3tnR7kdMXRTV2nb9SFSVFKQ4ErgZGm
zznIbkM11rja2enKY7SOX8VrizYTjWNHIevh5MdasARGaTbvTZCwDoSCEJEy5Rf3dTPB6HDBer5s
M0383cMuyioT6zUAfc5BmswNKWtZLVdh80yK31PAjklXwXJghYMH5PRE3gAPNGTXrNsgFh8zD4zN
rsv2uF1xN+042U/MepapWCU0EPbu7Cwlpypa8C776J7qp9ZQncBALNi6Njs/pXFUwGb2u43URPrH
XLxjvZgQ4wj+NhAKYtyRh8OyiMMJ+2qiLIBCc2i8tOR0wCb6/e6gnb1VdRh1qgT29+RY4zfnR3no
mLiMq1KmxBvwb+iv46/ZP+biLXcnUqMFf3ARt9+NQQWOSC8DTkNM0v7/ufAyu/SVovbfNz247YYi
74Yd21b7HJJhTfN6BtsHljnxdWiZE4+zMtgatkVz1X/5L/9F9PXvf//7t/V70gUoQpDbPzNCsaqM
oqwafvGGi8XlFQAmXX6aHjVjJWp08QfW42UHY3T4TbJn0OZFN8iG1UBJLImnUaio1JbSOd0lOjnS
6+pln6lOVG83vlhkmbOjlqvwBmYSOo6H3KNMeqdjRadm816A2GFJmNRMPqg+aAnEu427ZccfBmJr
QPv75gRZm4cPlHCm3YZlcoHWtjW65JmAnb0FDfS5e0WvbfdMEiESs1uBtrlJ9gw5gQKM6mJsHgdL
K8spn1XI5JTkmcnJyqHBtJuwWsv77bZYoAniU1aCfbfZOuhzDqZMc6Sb2Ep4JptsPNlMZ/+DgHvp
j5Npcn/4jwucPPYMyuIpRufGYpruewp3UVehR+qs55bbkvK7hiNhsuVK3ho6I8qwNuIeY3Zpniv2
Lp6qeQSbZ2KNzS9Hh8ZtFL2nQr2K8VVGH2/AT69zCICWkuYEemWhCNZs3sv4vJ3xeTt9ziGkEnFF
4/VsKF1id05+i2p1paj8Yfw+IcYI9qDjbvvi9ZIf/WMu9FlFWBEpLCbJqE77XRTnFYr6KYNaR+v4
VY6VHmB01kqESApjm80TZdzpdw7TbN6LWVPAlM+VQJtv80xwa9aCVCJJYG0QINjikZIDokyHh4ub
t/h0MviguB9iig+L2oJqvnHqj7lgucLAzAgNxhqeqHqM73b+w1pD6WoB6XBxI0Nu8YmbZLa+ZHmo
UxUtCWst3u6dPje79BW0jl9jfM5BnlKNZd5OoW4vhfoswkQpr5Ox1WGEzcrhPmi4G3a8UaIdQClX
cmH8auzfku3AMmdLOVMFQkEGXMMMuUapM9Z8ZH/DDO6+P04X+w25R3lz6D3+/MRLTLj9BFZC3Bhx
sRyMTv3WlO3A6hUvLDs8kxsylBSodQQmUxmDdVlFdI64aB+YRimX0bLHxNx0DkUlZWnzFStuHd6c
0bRSnJrFcrR5YWY9yxQVqJGss47VclWMsRgSz4BSiZR/uvlOyr89WfwcCxPahGut2xBfwJakXu9H
fBTiigwefNwtO96oKV7wJ28NnUEtz+Gc5XJiTtc5uGEzhJBn0OYp0TSuFT7iY5T5lSlkeRCYEY9/
jWqDaIE1EArSPz1EvlKTIBklxMctJc2ctbSl5C8208Bhd/roHXVzsM7EUmAF5+wiBdoc6hrgp6M/
SHvN4gI1chFmfIjGUvE+un9mBJ2siCxPCa1t0WFgpVzGw+vIzzQWiueGhOtvF9zt2FgYDs+RKxly
jYm+f8o7kyJnCYmxNKyxWdZXtqT97uOrMr9ArEkQoNm8N+FaQqNBsiSvc3YRiGBIYyt1hir2mHbz
rcv/M2HN3ZgepKWkmYvWaym5Y2tc3HDG0opCJudzz3+Bc07xYcWt5ngFyWalXIY2T8nsqqx9/Hkx
OWcUn2eUSiUc3WMmFAoTzO0TXe/bbaj3XsQU6ZrklTIlwKbynmLypPGx49RUKCFunfbNiMpNuhbd
MXtOHvQanRunKreGsfnEASCFTM7uHXV0EOFjhxMHALaKhkodb7dZEuo1BkUxjfom3p/+Vcr7Z5fm
09YZzdkllDUWcbl3kqwKKwF3EFOavQUS2WcFHD+WvS7b43bF3bTjZGl3MUKDxsIG3h+9mGKbgk+r
0VXi9s/RYKxhMbj0gfe79QZO+kZdfPvn3Sj2RIkY0tXiHt9VxvXhJRwXQwlNshOGRT692udYpRWv
WVTrd/LSJ9ZvhuxeZaq82h7kmY9/lhn5jVjOO55leSv+uq5CT8/CMq/fTJW1L80rpLagmguWq6jl
qg/VvHa3cTfsuMyUy/jkQso+V266P2QSP8oo1BSI+gqTxiDy7gy2im3RXHWvkRzkvvyL7lhjFaxu
eJ7UTlkAmSSLXZoGShS7GR2SoshaZE+Vnj1Vhti1v37qq7w/cpnh2VH2G/cy43dxwXaJfaZ6SCqQ
QjRQK1DrRROR8cWiQk0BPSIsF/GT2sKhWyi2CtMjpflFHDG10NMdosL8YCYQM9gc4qUDBUQixCQn
zl9cRCk3YtJVcOwz+wlLlxmfTw2OSvIKaZ+4nvBaIBQky2xnfiiPYkMNN2RdKcxv5TtK0GXnEw6H
eWLXqViC+xtfOsJN5y36PT1A+imr+KJq8oFTbGIrHV3pRsgU1e48kmlyw+EIZy74efahffy/z/1u
yvt3F1TxcOVRep2DCb+rRqGKTVTEIxAKshJZQSXPwZxrQiXPYcY3m8Dgs1fbhC5LSt+oi/pKfcI9
zXqWqVaUsKIOxKij12Nzi7fNad8MB4r2ia6d9WwoXeA+HbTybNU/p9V2JcWmhQPX/a51/yDgTLuN
LNJP2sS/NrHgpKmwPu3e7w34mV2ap1pXSf/MkOj3OX1uDCodN6YHUEqzWVxZTLHNzdji8ao9wItc
sXdg9Voo1ZRzuLh59fUMMvhwEJtq/NLBKI18vAy3gEAoiFyWhXNOPMHh8s/x7O7HuGrvptZQRX52
Hq/0vQlE1497cQ6DSid6oDSq9QRDKwRCQUwaA5GAitrwHl55w4VcJuWTp6voHnR+aDaTzcrhZrB1
rJdoF+I/l3+Wad8MDWka7dc7U6nlKi5YrmR+wwzuGtaTPVHLVbRarlJf0cBr50eRSiUc31fEUmCF
uYVlSlWlosyTW0m0AzGZFCBhGGs5GEImkxEJR1AvV6KQdaSsiTJ5Ped6w6j2O5iwTyac+4xqPVXa
CkamLGga7VTIi6jfWYE+T3x95WTl4EsjrxyKhPAGxP/N4h3j+eb9qc9hnYZ4sTNxBhlk8NHEZnI/
tQXV/Kj7VYKKwIbs1GIQ8gzx7BXJKM+tZsQjolkKzPhmKdSYyJJKRWObXfpKcrKULAT8GFRadmTn
cdHavm7+Yr17Fti8nbOLsWHivlE3+RoFg+OzaHZNr3vN4/uLeaurPIVpJT6WSmaYONNuo8zkpmGn
jr37ZbTOvMPfDYizoqTLDX0UY7X4mFUYDjdpDOzSVYraSrW+gqv2rhhrmrD/J+crYOPCcm1BNc/V
Ps6QexSnz02DsSZWCH9s54nY+5IbDQSUF+Yy6fazK3cP/R5xW0nXhK7MUvBMzceY8IrbYnx+ziUZ
Zm/hbtGYqUhVxp9+8yw1pTs2VSc51VyCXzrNktrCzMoEFVlmsn3lnGpMf16MzzOGwxFaexyUmXJR
FoozTGzHgv7dRnIDZnFeIRq5CplEmtDEE6+G0JBU6xKTJ4WofYx5x+i6bOJTz3yOBXnUfp0+cSnS
+Lpb8qBXqaacZddaTS+e3XBovp/dx8v4bW83717VcrLpg9XhBJlwoV6jzStlajHIC18qYyKcun8F
QkHMuUbRXOOz+x6itqCaUDjCteB5gHUH1Avi2GcBclVyZiQjH2gf/ChBTNr9WnuQP/7SiwzMXmfE
bUEiEZdDBfhK8x9wdGcDn9zzFBDNqYkpMaXb7+LXxZ6dOl5qin5v8sDJy+e6mXL7acoy45Q508YL
LukIEI0F4ptky4ya2PseqWrhokjN4vTOIxs+r2N7C6msWmFJbaHT30FJnilBElnAVmtylrlx0b9n
ZDbaDDkwM3JbCBoeNJgNKk42FuFbijbV76nSo87OwqRX3etby2ADFOcV0jPVn7IOi/MK7+FdPTjI
NFeJQIzStbVtiScffQG0dm66bmGQR/XAO9+T8tD+Iv7xrZHYBjk+tcCNERf6/GzqK/WxA2LbaC9/
0/63MWMOhoKiUmXa7Hw6J27EmqFmfG4MSZ25AtPPNUdPyueTp0uEYuvo7Di+oJ8d2fl8YtdpdhdU
ceyjuSdksAHqK/Wi07u15XpQiSe/NQp1SoACYPGM88jefdjHc2iSPcNSvhXrnJ3C7DLqZY2cKKqL
XjcOA85hWmeuMui+xSfrnkQmlXF2rE30XuMPNSkSfyITW0Jyvyy/iCd2PbzpQD9TVLvzSEen3TMs
fqAFOFp2AG1OfsKEozFSQ9/c+6Lvd3imCIaCjM5ZUcjkHDDvTWDzK1Hs5n+9dhO5bIj/+JXjsXuS
SiUcPqRAJo8gD8qpL6hBo1Axt+RJO9GQ3OiqkatED7MCJb8YbXK6xG5d0nRn8oFIOHBlcG/RO+rG
OhXHABi0U5xXiFRCbD8XYMgqZsVWw0O5BuZVfUx6nSlTOU6fm33GWmb8rrQNAtlZSk6UP89bg2dx
LYpPMqvlORs2mx6v2pNppsrgtiOd3JWQEE2XOB6btWFSG0TtvnJHGZ/e+wyf3vtM7Dui8oFhtNn5
TCxMU5JnFrX5XfpKft77KxQyOXm+Oq73hJly+wmHIyyHQ1zsmeRkUzGzniWc80spCdrNYjMSohl8
MMQGWW5dZth9C4Nam+A3T1cc4/r0AIFQEG1OvqgdmDXGdc9UAzMjfOngZzO/YQZ3FAPOYS5ZOzCq
9euysQ3MjPDigSf4dds4B+tMXOufiuUhisqLPvAwSW1BNV85/EXabJ1Y5x00Fe6hUFbNK6/6Et43
bJ0DYGU8TFPtMyznW3GHHNQZqmjQ7eOH/zjNgj9AWZYZe8SRIHOVnZXNP91ck3e146B/vpuvn/pq
wvraqStneSXA6Ow4MqlM9H4DoSBuv1P039whB3UVmUapBxFbkfrLIIMPis3mfhpMuz+wFF08c08y
ewVEZa0Lc0wsMSvaAKLPKsZyqZzq2ggK2fXU4mXlUWoLqhlxjfHerVYGZkbYY9zNPlMtv711YUv3
nMwwPj4VZS84WGeKNYU4/NZ1r1lfqUeedZAKRz4j3l6mAnaqtZWcrjoiGkvVVehjfnyj84OA+NzQ
RzlWS2hCcY6wz7gXp89Fdla2aIxwuvIojYX1XLJ2YPNM0Fi4h2ptJT/rey3l2jt3VG74/XtMu3lz
6D3UclUCc1r8+hFrNFDKZTz90M7YOWuf0yD6W36v/Sei33vLbeE/PfF1vvb2X4n+e3Lu+MuHfpd3
b11IeR5BZyHD1jmGrXO8e9XKX/zB0XXPflLNbJQJaXYttlHIenhKUwmIfy4+9xljAllYYp+y+AM3
yX8UsJFkXrKvskx4En7D9eRJZwJ2dmhKOd+6yLe+tjb4Zd1AVSbergS2979+28LBA9EcoCE/m/Pj
a0yBVo8DhaydfZKn+dd/u7F9iUGo2bR223E4fRQVqDm+v5i6Cj0Stfj+FQyt8HztE0z6nNxyj2PS
GNipXWPQaq41MjZUhB3HugPqp3YeRusJxWpFHztcxt/2flv0PjNNgWtIV2err9RznGjeNZ3vss5P
MtI6Rf6nChMk9Dabm+gfi7JRTbn9LAdDWCY8/PaKjL/88sf50sFE2+sddcfiEqPakbbeYfWOU2Is
w7cUjLEYKeUy1CpF7D3p7hFIKyEsDGJGdBE6F9rW/GqcJLLAFPdBanJTXvGz45Q3ytwo1GA+LEHD
g4YF3wqXe6dS4sDTB0vv8Z1lsBEkSDhYtJ/FlcWYak9OVg4SxNV1MtgaMs1VIhCboAiHI0R8Wl56
4mGGrLOcabfSM+Kiebce5/xSwoFAQOfN6dim1z/m4lJSR3G6TtjZpXmazHtiiUh9jha1XIUv6Kco
1xQrtk55ZzZktwKo0pUTjoQZnbWyX1fP4ZLGDWUBMsgg3fRuuuCo1XJN9DoFah2ji/3cuGnk9IFS
FnwmVpx16ArU7K6IMgOdv9mLNH+GoblByncUsRwKcsXexcGiffTPjGDSGDCodBseapIPnGITWxqF
iofKjnCs7MCW1kGmMHrnkW56bSP5JeGA/cO3+/nluyPAHE2PmLGJTH8WJEmxhQhTuaOUHTl5lCvr
+ekrM7Gi+m8uW2L3dLwlm57IGwQmo5NHJXlmfAE//sAiJXnmDWVcgdhEldAIplftQClT8u5oK+FI
OCVBOOAcZkd23roB/UbJhQzuLQT7iZ8ok9ZL6Fh5jXAkHHufQianJrceu3uF860LHPpYNsFQMJaM
FFCca+amaxRlmoOeQqbgwvhVuiZ7aTbvRSJB1DZnF+c5VLyfUDiM3TOZkljJIIM7hXSTxsJUY7qG
0h05eWntPhgOMuAcjvlCYb++aLkGEklMBja+wbpAraNiRynt9h4Om45QkVdOv3MYxR4HTfIi8oOV
nLuwiEmvIkcp47HHaj50oT7jr+8caguqOd/qpzannGXFMAsBL0W5Jsy5RhYC3hhz2UVrO49XncK2
sCYHrJQpmfHPrnum2qkr5390/Ize6UEajDV8+dDvUqWvuHd/cAYPHOILxy0lzRva40oozGce28Ww
dT4hDyFIusvNkzj841s6rww4h/n2le8nySTc4Ojhpzl/cTH2vgJtTkyO0HEBlHIjL5w+SnO5nAuW
qygaRjioKqVUtYubCzdYWolOPM8uzYsyagp7wJcOfjaRgdg5TJu1g2mfeEO5RpaHVK4SlV6uyxQh
M9giHvSmra38fT/7zMt38E7uD2w299NU2PCBpejicx+C7w7qbLhXHNQXVGFUlvLTmz+j2bxXdE8o
11Rw2enF5oTPvxBlWkm+1+SmJKtngoGZYQ4V7d8So3YywzhEm8JWQmGO7yuiqiQPp7oybVPITecI
51dlwGsNVTGmlM1io/NDwvdl4m1g7Tm8evUqr6zKNcYYdELLzPhmqS+ojuWVkvf/rskbHC5u5KJ1
Lc+rkMnRRzbeX2sLqvnzEy/RZu1gcsFJYW4BLaXNCb/Leo0GyX9DyvXTSgnr+YfOX1ClLdtQMrzW
UEWVviJhnRepygg6C2ltW0qQPjrbYVu3+WUr9imgoVKHdWqB4y3ZBHPHY4xXDQW13JjtyhT0PyDS
+SrhN1xPntSwysj06CFj7LWNGJIBSvOLcHpnOFC0l4fKD1OlryD8aS2Xehz4plRo9t4StY+gzgYY
N7SvdJBqZpGU9LKQPYLEUIVUowL0KQxfJXmF6HO0hCJhivJM/GroXdRyFT1T/Vxz9PDqwK/5+qmv
UldRzcOhI/TPR1n34/MnLv8cdXF7y/EkN1A7lVH62AzS1dn6Rl20dtsx5BYxTupzNMiL6XT7U2xl
M/vdgHOYtyytKPaM05RlRr5QRmtbtI59pt2WkuM6uqeQyRkfrW1LnDp+jLDhlmiMU5ZXQuSglXHv
GFXKYgqlu5iyZiOTJr4v+R7Xa5YGYrKyDcYa0XUjkUio1pZTpSv/QDW5al2FaG2xejW3I6z55Pzh
Ln1lrGn9owiPf1nUt3p8y2k+kcF2gdBClSXNQq/SkiXNWn0901x1O5BprhJBugkKQQJkV6mWXaXa
2L/94X9eY0iRSiWx4Lh9pZPFa9XUaffyk186yapP1FtO1wkOsFNVR6fsBoFQkAnvNBPeaTQKFcfL
DsX0d4WDUYQIDs8UZTuKiERI0HoWutOFA5HNM8FVRzcQnerJIIMPgnQB3PtjF0UPHaOeEZpOKig1
mTletQ+INhz+m++08TvP5DAe6MPpjjKsLa4s0zXZy9M1j/Lm0HsASCSkLaoKhxrhwBkvN1RniE5g
d032Mewaw6QxUKUto8G0+wM1GGYSNXcWG/nejXDpxmTss2LTn2LNpw7PFIdM/z97dx7X5nXni/8D
QuwGCyH2xYCNbWxsB294iR3btZPUceK2SWZ6e3s7ufndphm3aSbTvmaatnOnadqZ9rYzv6Tt5Oem
02nvNE2baWpna5rFNjZeMLYxYGMwO0gsQgixgyTE8/sDS9byPCCBQNvn/Xrl9YqFliM933PO9znP
ec7Zhp7OCPz+wiimpwXb3+paB/C5B1ajvLoL5gS1belo5z3HU+KT55zoGimTY2fuFlsM/f7GO3jn
9kcOrzFZzHiv8TR+VfUGSjKK8fbtjzA1bWFCH8DsY9q6VPJQZYRt6WfnAfAvnz8Ds2UaWXG5uDF4
3SWmYkdWokk4j+7RXpeJIsoYhW2wcNQ0jsToZZiatojGZnZiOsIQho9ay0UHVhhftFik7l60Pj7b
AGaFpgqlWSWYFqahGe6xTYyp0FRBgIChyWHc1Daivr8Za5ILsC6lED+r/DVK0osRES5zWD2lSd+G
fEUuLI27IGRO4o+6Nx1WUomU1eChzxxAdmw09q3dsPg/DC1YTbP+zkWKDIQv70FSNKCKTsENXR0y
E9IQKZNjcsoI3fgAmvRtDnfTR0dE4S/WH0GTvt0htirvbJEyZZnC+20XAcwMAJ5qPc+2krzK/sKc
dTAXgGg8GqdM+NP1KjTUA5ERjqs6TU8LKL84gVXZufiXZ//HvMtgZb34EyVPsd2RHB0Z4ZCrG80W
DAtavHj2j3YX8LtQJbuGY9u+gFt3VtvamrnRZdVOq1u6ZvzT2Z9BFZdku3vZ+l+Drll0KXuVLBtT
ihHUDfr+rmKx7W7ZPhAFvvBwGZJiFAi3W0HPub6XZpeIbkVXlFIouTID4HieaG27l8Wm4Ttf/BRW
ZSvwbxWvuVzg1o0NICMhFRFhEfig+23sKv0kyi9OOKy0Yk+sXR81jSMlTil6jijVdkqtMK4dGMdP
vrbvzu8iE93+pyilEN89+9Kcq07NZq7zB5LWbbkbm9YbTiNlcjxYcACfu+cRANLbslumwrA5uRS9
k51IjsyEfDgLFy5O4vEd7n321LQF/RMDiJJHoby9Ehc6rmLXnTExYP7b8UqdL0aER+Ddxo+xM3uL
W2PHgOMY79/8v2fR2jXkMuEpbDoes5lPfFq3EnRe8er2yE2H3Ik39XpGqq26defx2bYnlQ9nATA5
jD9bJyq931QGzVC36K4yD666D8BMe/vKld8gf/kKTGpTEZEQhpwCAxqH20XL1G/qgiIh21Y2T8y1
mt8a1UqEIQzhYTLoxgdwvbcOafEpGJgYxKhpHKOmcdt72U8E3FWwHsqEuxMOE6PisTt3/5zXT7jT
x/zZr7Z2784sRMpcJ1dat2gXi5XZzkGc48S6qt6u0pkbZ+zfz/o+9UIL7jmQDvlwNs5eGMeenXmI
vHN92r5MQpgFF3suAwA0I92IlFXjnmVHsGdTyazfd7bJqOHhMpgsZqTGJUuumNU93Iv/88C3Zv2M
2ezL3ym6neK+vJmOzXkl5zxFNu5fuRclGcXz/sxgoOkb9ehx8h+RskiJx113UyPPcXKVCHfuoLBn
f8eRbXWTO8mxZqQbZbJLKFn5MCZEZsdXdlXjsaJPYnByGLd0LUiKyIB8OAu/eWMIRx/4C2iFJnSP
q5GzPAOx8mh81FJuW+3CemKUtzwbCVFxuKFtwP68XdiYttZ2sTUnMRPv3P7Y4TNNFjPK2i8hKWY5
V7Air1mjWolPFhxEx0iHw2oAlV3V2Ji2Fue7y3G+uxzKhJlkv+yaBtu3RuL9rpNOd0jLsS1zE7pH
tQ5JVfeI1mFQKSshHanxybjeXYeNSVuxKr4IAFxOMM60X8S3934VT2/7vM9+G3KPp22vM+m7P7uQ
npCCcIS7XNRZp1qFia5MnClvdXk/lSIGt9r0+M4Xd+D/u/lTADPJh/Oe49YBz7CwMHQP92JNcgGK
UgpR39eE3MRM0QGRK101ottodg33AgBaDB22v9tPCIiJiOLASgBxZ+lne+vykpCTZ8YH3W/btga2
tqe58iKcfGccG+9Lh8Zpmx3rair6CYPtvWp6b2FVUh4+uWo/NMM96B3VISshHWEA/tx8FmtVK2cd
WCFaDFJ3GlvvanReKSA/KRcpsUmo7KrGjvTtiJZH4EJnJRKjljms7KYe6sbvh7qRlZCOzqEu9I72
QTeun/WiVFV3Lf7X0b/GO61vw9TjOsDTNaZGWec5pCc/zToRABxXClTi0H35qBh5DzmJWQ4x0D3S
i315OzEwMYiOwS7b5NTyjsvoHe3H3hWlGJgYhGa4BxvT1jpMXLViW0neZn8BznqOnxAVjyOrD6JR
32qLR+uE0mJFGMYm0pCZE49O7YjL+63KXr6gMtgbmOpGccFapCTFQpEQhdc/dKwPUXIZJmI7YBpy
bUdv9TXiyS13L/gPG0dFV0tJjlOgru82TL1ml4vuYivIFKUU4pUrMytx+PomBHe3qyKiwOFcr9EL
nGo9j2PbvuCwwk/nUBeiO6JcJkNY26jJKaPtec7tgtR5ovVG3tbBNgCOE2IU0YnQjeoxbp7A5JTR
NvlVaqVvqXa9sqvao1XZ3VlhfLYV7j1d1Sh51LcAACAASURBVMfZXOcPJM0aR/ZMFjOqtTfwOcxM
rpKKE81IF0x1u2CayoB62AijeQKf3Jk652e69ot3t3N68ezLC+4f7WPtlq7ZZUvwCk2V7TqL8/nk
/QV7JGO9MHs50rONDtd0rJMR7tNlSZZ5PvFZlKdEmbYPpg7HujE5ZXTJnch9c7VVM2PLJcjuXYb2
8XpoTV3IjMtG7HguMK7AC0+5jj+vUa3Er6//AVPTFpddZZJjZt7XOQ+MlMmxJWMjznfXiO5YA4iv
lOUud1ZLu6FtwKm2u9temi1myCUuptu3AfO5qZw7fcyf/WprFyomsWfnEQjJXegaU9+d1FoxCcB1
V4+5zkHmunHG+n4uq1yiC5GyGjx44NPAuAJP3+N4c3BidAL+cOtPLu8bm9U35/Wb2SajJsXM5D9S
Oz0BC+/354pV60rOAKCITsRlzXVc1lwP+fO67JR4dPa6jjlkp8w++Zh8r82gRkZCKvrujI/LZXKk
xCrRZhDfzps8w8lVEjy5g8J6xxEAh9VNrEwWMyYSOxE96jo7PiJchnWpq7FGtRJNagP+988vYWR8
Ztn9N97uhzIxDS8+9Rn8/MZxjMujHbYRsloek2C7wNQxpLHdja0bHUD/mEH0NbqxAdT03uLkKvKq
3IQ8fNxe5rAagPMKPtZkv1E9iNRiNUz9rvVFLotA+6AGgGNSZT+oVNVzA8WKzZi4sRPdI5P49JOr
cL7jQ9HE8XxHJWM9QMz37jVA/O5PZWIGPnFEiYFJPSq7ql22YtuVuxXTSgX+dKHDZcWs6MgI1DTp
8f88sgFrtSuhHu6eGdB0uoPCOuC5UpHrcAfFbKsDSi9lngTd6IDLZ5gsZmjH+l0u8JL/8ySm79uc
hRNN1zA5YHSZPDWdGIvp6RREj93NJaxxIbYqmzJWgctd11GcuhaKmAT0jupsK67NdicQ7wCmxeTO
XY1iA3qfWX8YDR16vNl4EpNTRtvFKivrNg+quKS7F5/uxLjURalNaUVYmaVA103xk0rd2ADi5LGc
RBMgnFe/1MkaMTAxhEJlgcvKZWfaLmJT2jrb9qsAsDljA9oHu/BB81mHtndD6lqHiatWbCvJm8Ty
wpiIaJxrr4B2rN8Wj9a2s9/UhbiYbERHRiBKLpv3qq9zlQEAilQFePLBmbt5b7Xp8YdTzTBO3/28
1KRYaMbEV6RyrifubK8idtHduV/4xdXXbf2Ar29CmM92QETk38TqNQBUaK67PC42GcK+jbISaxdm
O090bpOt5333pK9D18jMDVn9pi6kJq2QbPOl2vVCZb5HF9DdXWFc7D1/ce13ou/pSR7FVVHmz52J
P5JjU5GZqBoYtx13d/MLqX7RaJmpE97oH62x9k9nfzYzOdvu82bO/a67rG7ymfWHZ31P61iM2DWd
2co83/gUm/gG8BxjIdxpq+62u6Vuv29BUi4+bDmHntE+h/PET+Tvloz3iamZa3tiO9ZIrZTlLndW
S2s1dDp85mJOWAG408d82a+2Nj0toOz8OPbeUwxTdw6uD4zDaJ6JI7H2d65zEKk4cc4dpN5HntyD
J7fcBwAONwd/7c8vil5rlmrT7M3WJ4WHy4Be6Z2evNXvzxar9r+Fdqzf9nion9flpifgan2fS9ua
m57gw1KRO9ITUvCnptMzW4onZqK29xZMFjMeXLXP10ULCpxc5QXWO46u3+7DNfN10ef0m7ow3pCD
DYUzK6n0m7qQsywXD67daWucV2Ur8K3/ud3lzqWs1GXIUWdi2Dg659ZT1gtB2rF+xEfGYmvmJqiH
Xe8OVcUlobqnDo8XH1mEX4RC1a6C9QCewNXuKnTI2h1Wr7KyJndb1qTgqvGc6Pu0GzTISkiHZrjH
Jamyn0yQaM7F+gIF9pZkYe0KJf69gcuFhzKxuz8/sS0Hx+t+Bs1wj8s2askxSTPtrwp49MBKNLQb
oDNMQKWIQXRkBC7d7MEDpbkA7g6YzHZCWpCU63ZZZ7u41Dfev6gnveS/1q5Q4hf1d/tsa3sHAHpz
Fw5t24LdmzJxOD7PYWUf45TJZUvgKFkU4uSxGDdPQD3U7RBPiz2wQiRlIXc1rslV4r6p7agfqpHM
hXVjA1BEJ4rGuP1FKd24/u52ELNMdq27swoB+b+iPKWtLxcEQH/nnMx+i7Wu4V6kxicjIjwCF9XX
HAYF4+WxorlmenwKrnbXunwe20ryJrG8cMw8jiLVRqiHexwGd4G7d7tfMvRgx/p0TJqmoBucwPp8
pUervs5VBudBbLFc+77NWbjQr4V6eO5VG5z7AFWcEhHhES4ry87V7jr/3Zc3IXC7KqLgI1Z/FdGJ
UIusvCf2fG+0C+5MRs2My0bu5kzJNt9bk5IWssK4N1ad4qoo8+dODEg9JztyNUwF4bYxsjUrFG4d
c6k4t56nebN/VMUlwdTrOhFyPnm681iMvdnKPN/45Ips3rfQ3RCk2NcR+/PEe3O34ZUrvxF9jTXe
nVfRzo1fgaixHMmVstzhTuxoR3UOf1vsCSs0P2KrrZXXdOGzhwphGDbOGsdz5RpScZKzLBcPPL4R
a1co3XofZwtpu+bqk061nndZfV4/Poi1S9Tv87xO3PCYEUfuzUe3bhSavlFkpcQjQxWP4THj3C8m
nwpDGLZkbMTE1IRtpe+YiBiEIczXRQsKnFzlJdaZ7xNXV0IzIjKZKTITVUOT6L5oQZQ8BalJK/DA
4xuxRqUUfR9nu3O34vvnfuqyTZDzxJXsxAzoRvuxKa3I1jFd6LwiekKekrSw5JJIzK6C9dhVsB6/
v/EO3rn9kcvsd2uyVbImBe1NGS5bZQIzq7GtVubbVllxN6niySmJtaFrtDNx4bwS0L4VO2zP2bBS
hbfPtSIuRo6bLXoYzRaHO0PsB0ymBWHBJ6TOS5nbb1s4LUzzpDeErVUViF6gTI3Kwp51mViTqwSg
dGj/GnTNWBYZ6zLZKiJchuzETCTHJrlMMmGMka8s5K7GXQXroUx4Bu83lUE91O2SC1snRM0W44VJ
efjU2gdsZZjr4hVziMBh7csVy6KQmZ8BDbptK5dFR0Th8XVHUK9rcpiMaiULCxfdYqR/3MC2khad
1IU5ALigvuoSf9Gj2TCaZ7b1vVDbjWWxcnznizts20l5swzO7bVYrh0W5/4FfPs+4D+q3sD7TWdc
nzNHu+tP53z+VBYi8g6xem2YHMLmjA1u3Zzi7QlF9f0tUMYud8h5I2VyyIazsK442a33WOikpPmu
MO6tCV5cFWV+3IkBl23Zl+dhvCcFf3hXD7ksHIqEKDR2GvD4Jwrd+8w5blyxH4dbKG+vaiY1FjNn
XjKP+OSKbItjIbshSJGqRwXKFXPGu/0q2g+vPuiVRQ7ciZ2VSSugduqvKruq8em1D2LEOMKJqn5C
bLU1uSwcG1aq5ozjuXINqTiZWehD6fb7OFtI2zVXn2T/t8SoeOzO3b+kO9HwvE7cvZuy8A/HLyFS
Ho4V6Qm40dKPaw19eOEp7/XntDisk6giwiOgjFUgIjzC4XFaGE6u8jKpDmZv/jYohi0OM46tM4Td
sUa1Es/v+TIudFxBy4AehwruxRt172LUNO7wOQ+uus8lKTq27Qsoa7/kMCGrurcOz+/58sK/MJGE
jWlr8c7tjxwes0+21q5Q4j6L+AoU963YgR05m1GgzPUoqeLJKYmRusvI+U58sZUD7U9m7AdM7l2x
bcGDlNb3a9G34/2mMlRoqmyraFR2VaM0qwRREZFoHejgSW8IkWrHdq/YemdilSvnwTz7yVYFimyo
h3tdJgdU99bh2LYv4NadlXkYYxQo1qhWIgxhOH71NYdtspzv5nc3xq0DPKdaLqLF4LjqJnOIwGLf
l4dNyRApu5tjTk4Z8UbdO3jinsdRo73l0sbuzN3i0C9/79xPMGoaR3hYuE/umqTQI3VhTmwAenpU
gdhpx5x1IROr5iqDO6+bzwX8HdkltjuUrdxpd/3pnM+fyhKoJiofcPu5Mdv+vIglCSz83RaPWL0G
gNKse3Ctu3bO+r4YE4pu61pwuqUCmcvSkRqZiRWxa7E+bdXcF199PCmJq075njsx4PycW216lzzD
3Qkrs924AsCr/aO342sp+3TWjcAiVY+kYiYmIsalD9mQttZrZZkrdvbl73S5QSMiXIYNaWsYY35k
IautzdVeudvGeNruLbTtmq1P8nXOwvM6cc5xeu+mTK+sCkiLL32ZymUVdOvjtHBhgiAIvi6EN2g0
Ghw4cACnTp1CVpbn+xV7U4OueUmSY08+57auBTW9t1DdU4eCpFwm7H7Kn+LYG9yJUW/Xl6WqfyTN
H+PY3+OiQdeMOu1ttBg6oR3tx0rlCuzL2+FXZQw1vozjxWgXGV+hyR/bY29xridFKYWo72tCfX/z
vOtNi74d5R2VqOtr9Mu+IlTNN46l2tL55Ke7c7ct6V2TFFyCuS1eqPnmPP6U2/tTWRaTJ3F85G/f
WpQyeDJJKBAnH3lSZk948v3e+ItXFqUM/sLdOF5IDjHb64m8wd/zCmv81/e3IDMhDfHyWMjCwm03
M/gz1t2l4+9x7C6xmAHg8zhiLC8+X8ewt44xY+WuUPwtfB3HtLjOtF7EDW0DRkxjWBYZh+LUNdiX
v9PXxQoKXLlqESzVLFtPPme1qgCrVQVeWX6UyF3zuUNqKT6TQo+/x4W/l4+WFttFormJxfWOnM0L
es8C5QoUKFcs6D3If0i1fb7IT4lI3EJWy/KXOupPZSH/s1gTpmhxLSSH8OR5RMEokOM/kMtOvjFb
f+FLjOXg561jzFi5i78FBZt9+Ts5mWqRcHIVERERERERERER0SwCcbKUR2X+i8UrBxEREREREVGg
4+QqIiIiIiIiIiIi8luLNbEpECdMEREREREREdHSC/d1AYiIiIiIiIiIiIiIiIiIiIiIiPwRJ1cR
ERERERERERERERERERERERGJCJptAS0WCwCgt7fXxyUhf5GWloaIiMAKccYxOWMcUzBgHFOgC8QY
BhjH5IhxTMEgEOOYMUzOGMfkrzQajdvPZRxToAvEGAYYx+SIcUzBIBDjmDFMzhjHFAwCMY59IWh+
IZ1OBwD43Oc+5+OSkL84deoUsrKyfF0MjzCOyRnjmIIB45gCXSDGMMA4JkeMYwoGgRjHjGFyxjgm
f3XgXfefyzimQBeIMQwwjskR45iCQSDGMWOYnDGOKRgEYhz7QpggCIKvC+ENk5OTuHnzJlQqFWQy
ma+LQ34gEGdYMo7JGeOYggHjmAJdIMYwwDgmR4xjCgaBGMeMYXLGOKZgwDimQBeIMQwwjskR45iC
QSDGMWOYnDGOKRgEYhz7QtBMriIiIiIiIiIiIiIiIiIiIiIiIvKmcF8XgIiIiIiIiIiIiIiIiIiI
iIiIyB9xchUREREREREREREREREREREREZEITq4iIiIiIiIiIiIiIiIiIiIiIiISwclVRERERERE
REREREREREREREREIji5ioiIiIiIiIiIiIiIiIiIiIiISAQnV3nJ/v37ceTIETzyyCP49Kc/DQAY
HBzEE088gUOHDuGJJ57A0NCQj0s5t2984xvYsWMHHnroIdtjUt9DEAS8+OKLOHjwII4cOYK6ujpf
FZvmcO7cOdx///04ePAgfv7zn/u6OOjp6cHnP/95PPjggzh8+DB+/etfA/C/OmOxWHD06FE89dRT
AAC1Wo3HHnsMhw4dwrPPPguTyeTT8tHCBGq7zXaaxARqPFsxrkNLqB1vse/7k5/8BPfeey8eeeQR
PPLIIzh79qztb8ePH8fBgwdx//33o7y83BdFDlj+lvO6w9O8OFDqhLt5tMlkwrPPPouDBw/iscce
g0aj8WWxl8RccRrov8lc3++Pf/wjSktLbe3ff/3Xf/mglPMn1qbbC5Q66gue9P9LxR/HJoxGIx59
9FE8/PDDOHz4MF5++WUAHI8IBv5YB9zhaS7rD/yxboeCQI1xTwRifSDv+8EPfoAHHngAR44cwbFj
xzA8PGz7WyCfzwfi+TS5J1T7RV7f8wzHKjhWQW4SyCv27dsn6PV6h8d+8IMfCMePHxcEQRCOHz8u
/PCHP/RF0TxSWVkp3Lx5Uzh8+LDtManvUVZWJjz55JPC9PS0cP36deHRRx/1SZlpdlNTU8KBAweE
zs5OwWg0CkeOHBGampp8WiatVivcvHlTEARBGBkZEQ4dOiQ0NTX5XZ355S9/KTz33HPCF7/4RUEQ
BOGZZ54R3n33XUEQBOHb3/628Nprr/myeLRAgdpus50mMYEaz1aM69ASasdb7Pu+/PLLwi9+8QuX
5zY1NQlHjhwRjEaj0NnZKRw4cECYmppayuIGLH/Med3haV4cKHXC3Tz6N7/5jfDtb39bEARBePfd
d4WvfvWrvinwEnEnTgP5N3Hn+7355pvCd77zHR+VcOHE2nR7gVJHfcGT/n+p+OPYxPT0tDA6OioI
giCYTCbh0UcfFa5fv87xiCDgj3XAHZ7ksv7CH+t2KAjUGPdEINYH8r7y8nLBbDYLgiAIP/zhD21x
Hcjn84F6Pk3uCdV+kdf33MexCo5VkPu4ctUiOnXqFI4ePQoAOHr0KD7++GMfl2huW7duRWJiosNj
Ut/D+nhYWBg2bdqE4eFh9PX1LXmZaXa1tbXIzc1FdnY2IiMjcfjwYZw6dcqnZUpJScG6desAAPHx
8cjPz4dWq/WrOtPb24uysjI8+uijAGZm9VZUVOD+++8HAHzqU5/y+e9I3udPMSiF7TS5KxDi2Ypx
HVpC7XiLfV8pp06dwuHDhxEZGYns7Gzk5uaitrZ2kUsYHPwx53WHp3lxINQJT/Lo06dP41Of+hQA
4P7778elS5cgCIJvCr4E3InTQP5NArUeemKuNj0Q6qiveNL/LxV/HJsICwtDXFwcAGBqagpTU1MI
CwvjeEQQ8Mc64A5Pcll/4Y91OxQEaox7IhDrA3nf7t27ERERAQDYtGkTent7AQT2+Xwo5PGhLBT7
RV7f8wzHKgIfxyqWDidXedGTTz6JT3/60/j9738PANDr9UhJSQEw03kNDAz4snjzJvU9tFot0tLS
bM9LS0uDVqv1SRlJmvNxSk1N9avjpNFoUF9fj40bN/pVnfn+97+Pr3/96wgPn2kmDQYDEhISbCdO
jPfgECztNttpAoInnq0Y16ElFI/3a6+9hiNHjuAb3/iGbel1f8/b/Fkw/Hbu5MWBUCc8yaO1Wi3S
09MBABEREVi2bBkMBoNvCr4E3InTQP5N3K2HH374IY4cOYJnnnkGPT09S1nERRcIddSf+FO+6k9j
ExaLBY888gh27tyJnTt3Ijs7m+MRQcrXsbYQYrmsP/Knuh2KQuU3D5T6QN735ptvYs+ePQAC+5w0
kMtOngmVfpHX9zzDsYoZHKsgd3BylZe8/vrrOHHiBF599VW89tpruHLliq+LtOjEZqSGhYX5oCQ0
G38+TmNjY3jmmWfw/PPPIz4+3tfFsTlz5gySkpKwfv36WZ/nL78jzU8otNv+XP/Ju0Ihnq0Y16El
WI/3Zz/7WXz00Ud46623kJKSgn/+538GELzfdykE+m/nbl7s79/T0zza37+Pt7nzfQP5N3Gn7Pv2
7cPp06fxzjvvYMeOHfi7v/u7pSrekgjk4xfK/G1sQiaT4a233sLZs2dRW1uL1tZWl+cwrsiXpHJZ
f+NvdZuCU6DUB/LMX/3VX+Ghhx5y+c9+ZZ9XXnkFMpkMDz/8MIDAzgMDuezkvlDpF3l9z3Mcq+BY
BbkvwtcFCBapqakAAKVSiYMHD6K2thZKpRJ9fX1ISUlBX18fkpKSfFzK+ZH6HmlpabYlT4GZZRat
s5zJfzgfJ61W6xfHyWw245lnnsGRI0dw6NAhANKxttSqqqpw+vRpnDt3DkajEaOjo/je976H4eFh
TE1NISIigvEeBIKp3WY7TcEUz1aM69ASasc7OTnZ9v+PPfYYvvSlLwHw37wtEATyb+dJXuzvdcLT
PDotLQ09PT1IS0vD1NQURkZGsHz5ch9/i8XjTpwG8m/izvdTKBS2/3/88cfxox/9aMnKtxT8vY76
G3/IV/15bCIhIQHbt29HdXU1xyOClL/Emqekcll/4s91O5SEwm8eCPWBPPerX/1q1r+fOHECZWVl
+NWvfmW7OB3I56SBXHZyTyj1i7y+5zmOVXCsgtzHlau8YHx8HKOjo7b/v3DhAlatWoX9+/fj5MmT
AICTJ0/iwIEDvizmvEl9D+vjgiCguroay5YtY0X0Q8XFxWhvb4darYbJZMJ7772H/fv3+7RMgiDg
m9/8JvLz8/HEE0/YHveXOvO3f/u3OHfuHE6fPo1/+Zd/QWlpKX784x9j+/bt+OCDDwDMnED5+nek
+Qu2dpvtdGgLtni2YlyHllA73vZ72n/88cdYtWoVgJnv+95778FkMkGtVqO9vR0bNmzwVTEDij/m
vO7wNC/29zrhaR69f/9+nDhxAgDwwQcfoLS0NKjvnHMnTgP5N3Hn+9m3f6dPn0ZBQcFSF3NR+Xsd
9Te+zlf9cWxiYGAAw8PDAIDJyUlcvHgRBQUFHI8IUr6uA/Mllcv6C3+s26EqFH5zf68P5H3nzp3D
q6++ildeeQUxMTG2xwP5fD5Qz6fJPaHWL/L6nuc4VsGxCnJfmCC2Dhh5RK1W49ixYwAAi8WChx56
CE8//TQMBgOeffZZ9PT0ID09HS+99JLfz+J87rnnUFlZCYPBAKVSia985Sv4xCc+Ifo9BEHACy+8
gPLycsTExOD73/8+iouLff0VSMTZs2fx/e9/HxaLBZ/5zGfw9NNP+7Q8V69exec+9zkUFhba9jx+
7rnnsGHDBr+rM5cvX8Yvf/lLHD9+HGq1Gn/zN3+DoaEhrF27Fj/60Y8QGRnp0/LR/ARyu812mpwF
cjxbMa5DS6gdb7HvW1lZiYaGBgBAZmYmXnjhBdsJ7SuvvII333wTMpkMzz//PPbu3evL4gcUf8t5
3eFpXhxIdcKdPNpoNOLrX/866uvrkZiYiH/9139Fdna2r4u+qMTi9KWXXsL69etx4MCBgP9N5vp+
P/7xj3H69GnIZDIkJibiH//xHwNq0FKsTZ+amgIwsy1QINXRpeZJ/79U/HFsoqGhAX//938Pi8UC
QRDwwAMP4Mtf/jLHI4KAP9YBd3iay/oDf6zboSBQY9wTgVgfyPsOHjwIk8lki+WNGzfihRdeABDY
5/OBeD5N7gnlfpHX99zHsQqOVZB7OLmKiIiIiIiIiIiIiIiIiIiIiIhIBLcFJCIiIiIiIiIiIiIi
IiIiIiIiEsHJVURERERERERERERERERERERERCI4uYqIiIiIiIiIiIiIiIiIiIiIiEgEJ1cRERER
ERERERERERERERERERGJ4OQqIiIiIiIiIiIiIiIiIiIiIiIiEZxcRURERERERERERERERERERERE
JIKTq4iIiIiIiIiIiIiIiIiIiIiIiERwchUREREREREREREREREREREREZEITq4iIiIiIiIiIiIi
IiIiIiIiIiISwclVREREREREREREREREREREREREIji5ioiIiIiIiIiIiIiIiIiIiIiISAQnVxER
EREREREREREREREREREREYng5CoiIiIiIiIiIiIiIiIiIiIiIiIRnFxFRERERERERERERERERERE
REQkgpOriIiIiIiIiIiIiIiIiIiIiIiIRHByFRERERERERERERERERERERERkQhOriIiIiIiIiIi
IiIiIiIiIiIiIhLByVVEREREREREREREREREREREREQiOLmKiIiIiIiIiIiIiIiIiIiIiIhIBCdX
ERERERERERERERERERERERERieDkKiIiIiIiIiIiIiIiIiIiIiIiIhGcXEVERERERERERERERERE
RERERCSCk6uIiIiIiIiIiIiIiIiIiIiIiIhEcHIVERERERERERERERERERERERGRCE6uIiIiIiIi
IiIiIiIiIiIiIiIiEhE0k6umpqag0WgwNTXl66IQzRvjmIIB45iCAeOYggHjmIIB45gCHWOYggHj
mIIB45iCAeOYggHjmAIdY5iCAeOYaH4WdXJVT08PPv/5z+PBBx/E4cOH8etf/xoAMDg4iCeeeAKH
Dh3CE088gaGhIdHXnzhxAocOHcKhQ4dw4sSJWT+rt7cXBw4cQG9vr9e/B4U2xjEFA8YxBQPGMQW6
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
RERERERERERERBSJmFxFREREREREREREREREREREREQkgMlVREREREREREREREREREREREREAphc
RUREREREREREREREREREREREJIDJVYvk9ttvx5EjR3D//ffjoYceAgAMDw/jy1/+Mu644w58+ctf
xsjISJhLOb/nnnsOu3btwr333ut5TOx7uFwu/OAHP8ChQ4dw5MgRNDQ0hKvYNI+TJ0/izjvvxKFD
h/DLX/4y3MVBX18fvvCFL+Cuu+7CPffcg9/85jcAIu+ccTqdeOCBB/DXf/3XAACdTodHHnkEd9xx
B77xjW/AbreHtXx0c6K13mY9TUKiNZ7dGNcry0o73kLf99///d+xb98+3H///bj//vtx4sQJz99e
euklHDp0CHfeeSdOnToVjiJHrUhr8wYj1HZxtJwTwbaj7XY7vvGNb+DQoUN45JFHoNfrw1nsZTFf
nEb7bzLf9/vzn/+MqqoqT/33xz/+MQylXDihOt1btJyj4RDK9X+5RGLfhM1mw8MPP4z77rsP99xz
D37+858DYH9ELIjEcyAYobZlI0EkntsrQbTGeCii8XygxffDH/4Qhw8fxpEjR/DMM8/AarV6/hbN
9/PReD9NwVmp10WO74WGfRXsq6AguWhRHDhwwGUymXwe++EPf+h66aWXXC6Xy/XSSy+5fvSjH4Wj
aCGprq52Xbt2zXXPPfd4HhP7HsePH3c9+eSTrpmZGVdtba3r4YcfDkuZKbDp6WnXwYMHXT09PS6b
zeY6cuSIq7W1NaxlGhgYcF27ds3lcrlco6OjrjvuuMPV2toacefMr371K9c3v/lN11NPPeVyuVyu
Z5991vXuu++6XC6X63vf+57r1VdfDWfx6CZFa73NepqERGs8uzGuV5aVdryFvu/Pf/5z1yuvvOL3
3NbWVteRI0dcNpvN1dPT4zp48KBrenp6OYsbtSKxzRuMUNvF0XJOBNuO/t3vfuf63ve+53K5XK53
333X9fWvfz08BV4mwcRpNP8mwXy/119/3fVP//RPYSrhzROq071FyzkaDqFc/5dLJPZNzMzMuMbG
xlwul8tlt9tdDz/8sKu2tpb9ETEgEs+BYITSlo0UkXhurwTRGuOhiMbzgRbfqVOnXA6Hw+VyuVw/
+tGPPHEdzffz0Xo/TcFZqddFju8Fj30V7Kug4HHlqiV09OhRPPDAAwCABx54AJ988kmYSzS/7du3
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
//ZvyM/PD3fRl5RQnP7sZz/Dhg0bcPDgwaj/Teb7fj/5yU9w7NgxyGQypKam4vvf/35UdVoK1enT
09MAZrcFiqZzdLmFcv1fLpHYN9Hc3Ix/+Id/gNPphMvlwuHDh/HVr36V/RExIBLPgWCE2paNBJF4
bq8E0RrjoYjG84EW36FDh2C32z2xvHnzZjz//PMAovt+Phrvpyk4K/m6yPG94LGvgn0VFBwmVxER
EREREREREREREREREREREQngtoBEREREREREREREREREREREREQCmFxFRERERERERERERERERERE
REQkgMlVREREREREREREREREREREREREAphcRUREREREREREREREREREREREJIDJVURERERERERE
RERERERERERERAKYXEVERERERERERERERERERERERCSAyVVEREREREREREREREREREREREQCmFxF
REREREREREREREREREREREQkgMlVREREREREREREREREREREREREAphcRURERERERERERERERERE
REREJIDJVURERERERERERERERERERERERAKYXEVERERERERERERERERERERERCSAyVVERERERERE
REREREREREREREQCmFxFREREREREREREREREREREREQkgMlVREREREREREREREREREREREREAphc
RUREREREREREREREREREREREJIDJVURERERERERERERERERERERERAKYXEVERERERERERERERERE
RERERCSAyVVEREREREREREREREREREREREQCmFxFREREREREREREREREREREREQkgMlVRERERERE
REREREREREREREREAphcRUREREREREREREREREREREREJIDJVURERERERERERERERERERERERAKY
XEVERERERERERERERERERERERCSAyVVEREREREREREREREREREREREQCmFxFRERERERERERERERE
REREREQkIGaSq6anp6HX6zE9PR3uohAtGOOYYgHjmGIB45hiAeOYYgHjmKIdY5hiAeOYYgHjmGIB
45hiAeOYoh1jmGIB45hoYWImuaq/vx8HDx5Ef39/uItCtGCMY4oFjGOKBYxjigWMY4oFjGOKdoxh
igWMY4oFjGOKBYxjigWMY4p2jGGKBYxjooWJmeQqIiIiIiIiIiIiIiIiIiIiIiKixcTkKiIiIiIi
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
/vxG7E9TfDZzvcj5vfhxrIJjFRQfJlcREREREREREREREREREREREREJ4LGARERERERERERERERE
REREREREAphcRUREREREREREREREREREREREJIDJVURERERERERERERERERERERERAKYXEVERERE
RERERERERERERERERCSAyVVEREREREREREREREREREREREQCmFxFREREREREREREREREREREREQk
gMlVREREREREREREREREREREREREAphcRUREREREREREREREREREREREJIDJVURERERERERERERE
RERERERERAKYXEVERERERERERERERERERERERCSAyVVEREREREREREREREREREREREQCmFxFRERE
REREREREREREREREREQkgMlVREREREREREREREREREREREREAphcRURERERERERERERERERERERE
JIDJVURERERERERERERERERERERERAKYXEVERERERERERERERERERERERCSAyVVERERERERERERE
REREREREREQCmFxFREREREREREREREREREREREQkgMlVREREREREREREREREREREREREAphcRURE
REREREREREREREREREREJIDJVURERERERERERERERERERERERAKYXEVERERERERERERERERERERE
RCSAyVVEREREREREREREREREREREREQCmFxFREREREREREREREREREREREQkYF0kV/3Zn/0ZDh48
iJMnT4Yem5qawsc//nE89dRT+PjHP47p6ek1vEKi5TGOKRkwjmmjYwxTMmAcUzJgHFMyYBxTMmAc
UzJgHNNGxximZMA4pmTAOKZkwDgmWjvrIrnqhRdewLe//e2Ix775zW/i4MGDePfdd3Hw4EF885vf
XPI1PB4PtFotPB7Pw7xUopgYx5QMGMe00a1GDAOMY1pbjGNKBoxjSgZsG1MyYBxTMmAc00bHtjEl
A8YxJQO2KSgZMI6J1s66SK7at28fcnJyIh47ffo0nn/+eQDA888/j/fee2/J1zAYDDhx4gQMBsND
u06ipTCOKRkwjmmjW40YBhjHtLYYx5QMGMeUDNg2pmTAOKZkwDimjY5tY0oGjGNKBmxTUDJgHBOt
nXWRXCXEbDYjPz8fAJCfnw+LxbLGV0SUOMYxJQPGMW10jGFKBoxjSgaMY0oGjGNKBoxjSgaMY9ro
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
t94CALz11ls4dOhQOA9zwfy9D+fjdrsdjY2NSEtL44kYgTZs2IDe3l4olUqYTCa89957uOOOO8J6
THa7HX/3d3+HVatW4fHHH3c9HinnzNe+9jWcOXMGJ06cwL/8y79g586d+NGPfoQdO3bgo48+AuAY
QIX7c6SFi7V2m+30yhZr8ezEuF5ZVtr37b6n/e9//3tUVVUBcLzf9957DyaTCUqlEr29vdi4cWO4
DjOqRGKfNxih9osj/ZwItR99xx134M033wQAfPTRR9i5c2dMr5wLJk6j+TMJ5v25t38nTpxARUXF
ch/mkor0czTShLu/GolzE3q9HgaDAQAwOzuLc+fOoaKigvMRMSrc58BC+evLRopIPLdXqpXwmUf6
+UCL78yZM3j55Zfx4osvIikpyfV4NI/no3U8TcFZaddF3t8LHecqOFdBwYuzC9UBo5AolUo8/fTT
AACr1YqjR4/iqaeewujoKJ599lkMDg4iPz8fL7zwQsRncX71q1/FxYsXMTo6iqysLPzlX/4l7rzz
TsH3Ybfb8dxzz+Hs2bNISkrC888/jw0bNoT7LZCA06dP4/nnn4fVasUXvvAFPPXUU2E9nsuXL+Ox
xx7D6tWrXXsef/WrX8XGjRsj7pz57LPP8Itf/AIvvfQSlEol/uqv/grj4+NYu3YtfvjDH0IqlYb1
+GhhorndZjtN3qI5np0Y1yvLSvu+hd7vxYsX0dHRAQAoLCzEc8895xrQvvjii3j99dchEonwzW9+
EwcOHAjn4UeVSOvzBiPUfnE0nRPB9KONRiO+/vWvo729HRkZGfjXf/1XFBcXh/vQl5RQnL7wwgtY
v349Dh06FPWfyXzv70c/+hFOnDgBkUiEjIwMfOc734mqSUuhNt1isQBwbAsUTefocgvl+r9cInFu
oqOjA3/7t38Lq9UKu92Oe+65B3/xF3/B+YgYEInnQDBC7ctGgkg8t1eCaI3xUETj+UCL7/DhwzCZ
TK5Y3rRpE5577jkA0T2ej8bxNAVnJV8XeX8veJyr4FwFBYfJVURERERERERERERERERERERERAK4
LSAREREREREREREREREREREREZEAJlcREREREREREREREREREREREREJYHIVERERERERERERERER
ERERERGRACZXERERERERERERERERERERERERCWByFRERERERERERERERERERERERkQAmVxERERER
EREREREREREREREREQlgchUREREREREREREREREREREREZEAJlcREREREREREREREREREREREREJ
YHIVERERERERERERERERERERERGRACZXERERERERERERERERERERERERCWByFRERERERERERERER
ERERERERkQAmVxEREREREREREREREREREREREQlgchUREREREREREREREREREREREZEAJlcRERER
EREREREREREREREREREJYHIVERERERERERERERERERERERGRACZXERERERERERERERERERERERER
CWByFRERERERERERERERERERERERkQAmVxEREREREREREREREREREREREQlgchURERERERERERER
EREREREREZEAJlcREREREREREREREREREREREREJYHIVERERERERERERERERERERERGRACZXERER
ERERERERERERERERERERCWByFRERERERERERERERERERERERkQAmVxERERERERERERERERERERER
EQlgchUREREREREREREREREREREREZEAJlcREREREREREREREREREREREREJiJnkKovFApVKBYvF
Eu5DIVowxjHFAsYxxQLGMcUCxjHFAsYxRTvGMMUCxjHFAsYxxQLGMcUCxjFFO8YwxQLGMdHCxExy
lUajwaFDh6DRaMJ9KEQLxjimWMA4pljAOKZYwDimWMA4pmjHGKZYwDimWMA4pljAOKZYwDimaMcY
pljAOCZamJhJriIiIiIiIiIiIiIiIiIiIiIiIlpMTK4iIiIiIiIiIiIiIiIiIiIiIiISwOQqIiIi
IiIiIiIiIiIiIiIiIiIiAUyuIiIiIiIiIiIiIiIiIiIiIiIiEsDkKiIiIiIiIiIiIiIiIiIiIiIi
IgFMriIiIiIiIiIiIiIiIiIiIiIiIhIgDvcBRJq2Hh1OX1GhtUePmnI5DmwpwrryrGV57Q5tFz7t
u4SOkW5UZ1dgb+ltqFZULstr08oTzlgPFc8NctfWo0Ndkxpq7RRK8lKxr7YIVcWyRfv7jDcKB2eb
fF05hm3VOdhSnYO1ZVmMRyI3y3E+tPfqcKre0T/aVJmF27cWL+o1hpZWe68O568OYGLKjPRUCVav
jUP76FW2oUQBcFxIkeb/Z+9Nw9u6znPRF/NIUAAIkCDASSQlzpMomhI12nFkO7Zjx27Ge2574lvn
+GmbPjdtz49z3J7THDf3uWme29smteLEN+dJThKncTw0TuIhsTWSoijO4iSS4ISZmEgQADEQwP0B
7U0Me4MASYmUtN9fEoi99sLe7/rW933rG+7V93wvrSUG9x4eFH7dq+v/XsEtux7D1gkMW8ZRqSi7
J57vg8J9Bg8W6GQdw3cGDBjsN0zMO9E7Fvez5Ul46GwoZuTSPYIp+yz6jCPwhfyQ8MXo0DXve73v
XsEDFVy1lYE2Me/E3712DcFwBACwaPHg4xsG/OUXWzGmd2xbqclGKerWj+H80A8QioQBAEurJlxc
uIYu6efA8svR2MxhDgYY7BrouP7Nrx0DAJKvdIeKU/ZZXJjrwaxrAYVSFQ7KS9FQeJjk5HYMgSvD
JvSMmrFkXUNpUR6ONxXjZIsWU/ZZvHLpX9LWxsunv86sgXsYuTrMCE7FAPj8IfgCG7C718HnsfFR
7yLe75nHpzrKdqzY0fHtae2Xcbl7fceGLeMovP+wG+90Yt6J//7DXrQdViNfwkfPqAUzhhUc7xTi
J7f+Z0b5R8rbOSdKCvOgkosQjUZxvEmbkacMFxnca8hWH6DTQTJxnvjbpF0PBVcDPqsEJWo5THYf
/t83hlClOwCNSoyeEQu0aimkYj44bOBUK+Po3A9IfH86aQkKZJWYnQqjo4OH80O/JDlj9FjgDflx
Ya4HevcSI/sY7HtsZVNR/Z0tdWe1vxPXRmPAhX4DpV1IJ9/2SofYiV3IHFTtPRJ5UykvhUqiRJ9p
GIeUB9P25Dtpj6Vit7iRycdCjHe3ecjw/u7iTsrGTPxyRy24bhyA0bcEnaQUD+mOoKuyYd+8/1zm
Qbf+X2p9EaPDkT3/LfcSqJ77KmcBF+evwe53oUCsgCfoxbcufw//5dSfb8uHkTo+gF3nXDayFQBm
DG5cHDBgZNa57zjC+F52jv0iz1KRzVkj1ToZs87g16afU8q6f/rhQk56ea5zupPYr++JAQMG28fE
vBMDkzZYnX6Yln3QqiUYmLQBALO+9zmm7LMYsoxj2eeAec2G4rxCDFnGAYDRQ3YBD0xwVTaOuEuD
RlJ5IRAMR/DJjSXc1DsRDEdyVmoSjQABj4NgaANXhk14+asPkfdks1lwSvvJuSUiKrUjFNrA+aFf
M8ElDHYNdFz/Q98Sescs8AU2cKxBQx4qlmvyIBbFDxIbmzlJgYAGjwWjtkkYPVYAQNQrz8rwTcSV
YRP++RdDAAC5TIAbEzaMzNghFnAxuj6YtjZCkTC6F28w/L9HkevBCCFHAeCJrnJ8csNG8mvJtgYB
j4P22kK88qPr+PsXj2VdYSTV6DvbrsOIZzLte6FIGDPeCVgd6m0Zttv93Qz2P3brnV4aNKLtsBr9
k5vcdq8FoK71pX03Uf5NLjjxr2+OwObyx3UUa3w9PNFVjt9encNNvR1Xhi2or1DgzBEdasuVuzpv
BgzuJkascfnM5/AgF+bDHVgl10PMJ8fFgfQgAavDhzG9E195To1XKZIYXj79dQDAt6+eh4Qnhjuw
CkPEBD5nBK15T2FgxB//fsJec3XETP777167tq39gMHuIVWeGTwm8DkDOHr4s/BwzEl8adM0ot88
wsg+BvcE0vb42zroow+VQirioVyTj396YzDJ5vKzlzEUeS+rINS/e+0a+Dw2HqovSrt3MBzBpUEj
pWzbywCnq4s3kuxCYn33Gga3TNLI1T5lsLug4g2fw0ObphEf6S8ncSj1PQO7Z4+lYje5QedjIdbS
Vvfa7QNJhvd3F5mCgroqG3Y8fveICXKZAG5PkHynwXAEM645vDn/vzYDydfMGLQPIBB8Aed/klvg
7J3AjMGNV350HWv+cFbzoFv/l+b6MHhDnbQf7jQR+n4G1foP8OwYCP06KemAkMO5+lfp5MtD9YW4
PGxO+mynnNtKtk4uOHF9zILhaQcO5AmgU0nxQe/ivpF3jO9l56DTiff6/W71bqnWidcfwtC0HfWn
LJSyrs80CECR9HkmvTzXOe0mEvWWlmolasqUePWtkazlPQMGDO4NTC248O+X55LO4gZ5dkhEPGZt
73PMOOfx2+mPk3U/Kw95fDGjg+wCHpjgKjoDLdGAGJ93UV677F6HXCaA1Rk/YMlFqfl93xLCkShO
HhchnLcEx4YF5VwNRkzT+O3vVxAIRnCypRh2gYm8hs1io0PbgsBGEEu+GagUKoRM1HNngYVP5rpp
KwgxYEAFOq7fWnJDIuKhqUqVdMhPHCoea9TgummAci2tb6yj1zCI8FJNRsOXCr03zeg4ykc4bwmu
iBUn1Y2we5fx84UfoFBagE5dG/pMw4jGouQ1Uw59Vr+VyRDaf8hGHieCcKaUFkphtvvS+BWORFFU
GkCk2ILvj30PtbaqrCphEUYum81CaUUY784OYDlkRJ3qEIRcQRLnHCET5LISWJ3+nPaAbH83Cyxc
WeyD3rWIFk09WorqcFhVCYDh8H5Grlymw7RhBfkSPsnHrk4hovlGzK5R83HaOYcp+yzeX+wGv2EJ
rVwNeGul6O4NIBiOYMm6huklN5QHRFh2+VF2cAM3nAt4z2CGy7+CQmkBE7TK4J7BpgycxbnK01j2
O2Dy2Mi1ccs5h8FP4s7Whkpl0joK5y1hNWpHr5We8/nCA6hSVMDhd6FOdQhSvhh61yI2hGYIeMqk
A6xAaCOeLHH73wC2tR8w2D2kymE2i402TSM2YnMQCcSoUx2Cec2GpsI6ADFKHrw/cxGrAQ9u2m4x
ey2DfQGqPf5aXxAdR/nwHBjArXUjzC4dOo5q0d0bQDQag4DHQUC6hJBr6/398pARHUf5iOYbsRga
QOvDm3pENBoDAEzQ2Ivb1X12I9CDsP8S/SUOvwvLPiem7LO099/qYJbBnceF+R5K3gQjQfA5vCQO
0dn527HHtrKjsuVGNvYYnY+FWEu/71uiTXADsOuBUFv9NsbGzA7ZVlyjko0AMGKZhJKrQU3Z9mXN
lH0Wzrx+SFtMKE+w+yRCLmbWxinX1vDyEPg8dRIH7qbc26wqOov6k8l7TMYAXpr1b09Y/8DOE6Hv
d6SufwGPg6BkCaF1ajmsdzl3ND4Qfye+wKatJOBxIJcJ0D1i2lHFnckFN/V3F9zonR/Hx7O9cLDN
UDXEedY/EMaxBg26R827xvedyMtc9SZGNicjk9/rbsizTO8j8d0mJvQQ75ZqHfoCG5CIeHCEzZT3
M3gXIZdpSFlHgE4vTwUd396fuQgWWKSfeacg9PpwJIquTiFWDwzibbMhJ3nPgAGDewO3Ft2Ue/6t
Rer9mcH+wYxznnJPmHYu7M2E7jM8MMFVdAZa4uf1FQosWjxp31HJRRjTJxsa2So104tudHUKMRr7
DULuOJFNMGPSM4quzmcxOLSBebMHKoUGJsQVqw5tCwYtNxGKhFEoKYB5zUI59qRDj3H7DIye+N9T
KwglKt+Mcs4gEXRc1yglmJh3IhDaoNw0yw9G0b1ipBzT7nOBFWMhYC+h/HumNSMt8KLbF18jnbo2
fDS/GVFr8MSrDnRoW9BrHCSvqSmgNggSud6pa8W7Ux8yGUL7DNnI40RsOqpZsDjSK/l0dQrxB+eb
SZzZ6j0nGrmkjHYkZ/Alcq6Ar4XBEySvz3YPyOb3TTr0mHTMojivCHkCKa4bhzDnWsSZimOQi/KZ
LLd9jFy5TIf2GjV6RuN7OclHJz0fO7QtSbwwwQw+ZxRdnU/iSs867O51SEQ8mO0+nD0pRujAHD6a
HyH1CoOHWq/Idd4MGNxpJGZedura8KH+Ulq29WeqHsVbLj/kMgHs7nUASNK9CyUFpK6cikmHHtFY
FEaPBWwWGzqZBr6QHxw2B+D7ceZUCX5/wUsGG9gTEi6If29nP2Cwe0iVW4Qd1aZpxOXF6yRfwpEw
eBwe5RjGVTP+bdVM8oTYa5+pOYde4xBjOzG4q0jNOCf2+OefeQbvm95FaHmzOgmfwyP3frlMQHtQ
k7pOYmI3Rr0JukaKHgEAdRWKtHGoxtrqcwK7EeBUU1CJpVVTkr8EiO8Ho7ZJWv14q6CXnYLxtWyC
6lnw2FzM0Dhw7T4X5MJ82HwOkkPEe05FrvZYNtUbsuFGtlUg6HwsxFqapjmAmDOv3pEAwEy/jamk
kh1yqbiWKAMTA0Bn1yYRWvID4q5tPVu6PaGr80ms2MQw+wcorzP5DSjXVOHmNn3ZO0FaVVGKPYZu
Htmuf2BnidD3O1LXv1wmgC2Y/lyBuBzu1LXuaHxyLPc6lPlCVB6KkgnmLoEWU/atKyTQtoQ9/mXM
/2o17ftdx4X43sBraWuj/ciT8LviQV67wfedystc9CZGNicjk/y70rN+x+XZVu9jyqFPC/ivUx1C
NBb3HVCtQ7t7HW5PEOXczXPARJRIy9CdIusAer08bc40fDOsmvFa/8/wYvuXd4VLhN5y8rgo7nex
0tsUjL+EAYN7G8Zlb06fM9g/MHlsNJ9b7/JM7k+w93oCdwt0gRiJn59u00HA4yT9XcDjQMjnpjk6
slVqdIV5CMsMlBGCHv4CfOthHMgTgLdWCj6HBz6Hh2AkSH7fHVhFgZj6XlpZEZZ9jrRxiQpCBAhl
8CP9ZSytmvCR/jJeufQvmLLPZvUbGNx/oON6VUk+JCIeeTiZ+veFwCQtH1USBYryVNCqJJR/z7Rm
/KJFhCLhNP4TSMxqBeIZIV1lR9PGSeS61buMGRd1dG734g3auTC488hGHiei/jZ3bC4/dIXSpL8J
eBxaGZvpPRNGbqbrCc7xOTzwPDpyHxDwOOhsSG+hshXofp9WVoTSfC0GLTcxbB2H0WPBkHUcPxz4
OW2WN8Ph/YFcuUyHtho1VHJRVnyU8sVY9jspvxOWGSHgcVBcIAGfy8GqNwi/0IBINJKVXpHrvBkw
uNMgMi8z6QfWNQf4PDb43Dj3U9dRtro0cVg/dFsOD5hH0et/F12dQvL7KrkI7tvOTuLf2doEDO4M
EuUWwRMAaXzJxAONrJDSpppxzcPqXWZsJwZ3FXQZ55ZI+mFJ4t7v9gRRwNVQjpm6vwfEixn1CAGP
g9NtuqzG2upzArsR4HSi7CikfDHtfkCnH9fTyOndkN+Mr2UTVM/i21fP45P57ow+BHcgfmhOcOhE
2VHS7ieQao8BW7+/TNVCCBDcEPA4KFKKSR9J4tjZjAPQ+1iItVRUQO0nqdYduCMBgHS8b6pSZv2b
HnTQPafUimtAsgwkdErCtu8x925bLtDNISwzwrHih1ZSSnmdVlyChZRgv+36MXJFpjlTrbFEZLv+
gWS9nABziB9H6vrPpCOoJAo0F9XtaHxyLLkIh2piGI39BiPuAZjWzBhw3MiK/3S8cbL0yBMnc0KZ
L4CTrafl2cpaEHKZYFf2+Z3Ky1z0JkY2J2MrWXIyww5MAAAgAElEQVSn7fCt3kdNQWWavB+2juPS
Yi+m7LOU61AlFyEYjoC3VgopX4xCSUHSWUeHti1tHpn08lTQ8U0lUWDZ59g1Lo3PuzL6L7OR9wwY
MLg3kHoWR6CE5nMG+wfFMjXl51rZnbcHHgQ8MMFVdAZaYoBGXYUS3/zaMTxxvBzlGhmeOF6Ov/xi
KwZvLSddl4tS01ipoM0gtQaNkIh4EPK56B8Io4n1JI4VnYTdt2kMhiJhCLkCyrlLeWLKstN2nwvW
NTv5f0Y5Z5AKKq5/82vH0FSlgm89DJVclHaNXCaAaX2Rlo9KkRydJW3oatYiT8xLck4mrpkp+yxe
738Df/3BK3i9/w1M2WdhDcSrYcmF+Un8T4TD50aD6jDOVZ6izdpJ5HqmsZjqLHuLbORxIghHdTAc
AZvFSnJa55KlnwjCyM10vd3nwhndabRynkJ3bwBsNgsnj4vQ+ogNg7G3SP5mC7rfLRNI4Qv70+S0
hCfGLE2WN8Ph/YFcuUyH2nIlupqKUagQZ+Tj04cfxX899RfQu5Yov+MImfDYwwcgODgJfkM3NM3z
KClQkBUtgcx6Ra7zZsDgToOQdZn2dKPXiK5Pr4Hf0A3BwUk8cloC18ZmpapsdOlMwVuJwQZEwgXx
bwBZ2wQM7gwS5TDBEyq+hCJhiGh4IONLaW0quTCfvJ6xnRjcDdDpeOY1C8nHRMRbpQkQDEcg9JVl
tb8bfQbKezjDJjx7pjJjW6Xt6j67EeBUo6rCfz31F3DkaONtFfRCZZ9mC8bXsgmqZyHhiTFl19Pu
w3JhPrkPExyqUVXh5dNfx7nKUyjL1+Js2QnSHiOQjU8um2ohp9t0OHNCjNaHrZC29KL1YSvOnBAn
jZ1t1RE6HwuxlqpL8il5qFaI7kgAIB3vzxwp2bXqu/c7aFvUJegHxHcI2ZhJp9yOXKCbg2vDjL/5
D0fRqTtCubZa1K0IheMt5Xfqx9itORP7VcYA3pT1f67yFF5qfRH9A8nPc6eJ0Pc7Utd/Jh3hTPmx
nFuF0cmXfAk/3qJ4G/yn483cyjz+/sW4bD1YnI//8HwhPvVUADMuep5VFMvgWw/vip22U3mZi97E
yOZkZJIlhQrxHbfDt3ofJ8s6Msr7M0fS16FEyIVIwAWLBdQr6sHj8NBYWIvn657Ey6e/jq7Khoy6
xFag45uAI0AoEt41LtVXKDL607OR9wwYMLg3cKhUTrnnV5fK92hGDLJFHl9K7Qvni/doRvcXHpi2
gISB1p1QoryLolx7XYUyTWFR5gtxadCIiXkX6ioUON2my1qpqdQdwIyhFKa1dGVDxYuXNb7mtuBE
kwbB1SgcFhFKm/1J7Uv6TMPo0LYgiiisa3bU3p5792I/5T1VEgWKpCry/4xyzoAKVFwHgJe/+hBG
Z+0Y0zuTHBW+9TAOi0vQZ7qBDm0LgpEg7D4XVBIFyg+UoE3TgMOqSkx4nXiovgjTSytoPqRCdUk+
mqpUqKtQ0pbUfabmHBZXTXAHVlGnOkTZvqdOVYUX2r+U8TclcjrTWEx1lr1FtvKYAOGovjRoxNSC
G88/UoVl1zqmDSs4qJEBEmoZS7zniXknLg0aMT7vQv1tGX66TYePbxgylmMuEpTgwvtiNB48gNZD
UhTqAuj2vYOQi2g/mFuJbrrfPWqdwvjydNr33YFVNBXWUrZwYzi8P5ArlzPh0YfKIBHxcM29RMnn
Q4pKeBfK8b2PF1HSWkLZLqHsQAl6lt+B1x1vjWBaM6MiUIIiqYpSr4ghBuva8o7mzYDBnQTRGiTT
nl4gkeOarRuhSBimNTP4nEE8XvkoDJ7NNUJwnsViweyxkpwndOlMwVvOsAlPnXgIAgEHPaNWnGwu
hkTMB4eNnBydDO4MCDl8QX8dCytLUEsLMGS9ScMXFh7StiIYDcHssUElUUDEFcHpX6EcWyVRJO3P
jO3E4G6AriWSVqbBkOVm2ueleWUwiPloO6zG6RYdPiOt2FIvqVVVJslIAvXqKnylvTbz/Lap+xC6
d6J9uZ0Dl0plOWpV1ZT6cbG4FJMLTtSWJ8vlRFsi1adzN9v93O+g+s2EPUPsw6k+hHHbFM5Vnkrj
UI2qKun/E/NOiKO5+eTo1lKiHcWWujEUeQ8hd3LLoc9IKwAosx6HAOFjmTG4cXHAgFffGiXtz6Yq
FQzWNfgCG7C716GSiyARclF/sAAAdmV9pM6FivfVJXLU2LL/TQ8y6N59on5APLMaVRVean0RI5ZJ
zK5NUo63HblANwedpBSvvjWKmrID+I91L2DUMQKDdxEl0jJ0aNvQVdkAzdd0uDRoBEvixlXv29v2
Y+zWnDVCHeR1hehq1mZcv6nrHwDkf6pJ4nJDZQG++8vhpO8wh/ibSF3/1SUHEPJtoFn8JEL5RjjC
JhQJdDhZfhTHSht2PD4hX3hcNr4/9jvKa+j4PzHvRPeICQV5xVgCtVyqLpGjukRO7tkAaG1DFV+L
YpUEL3/1oV2x03LZAyivz0Fv2um97jfQPY/SvDI89vnmNH2Pyve7Ew5s9T4OqyrhHKBu+Tvl0OOF
dup1cvy4COeHfrDZSs9jwU3bJJqKDgOgP6/Jas63+fb+zEUYVs1QSRQQcAToMw0nzX2nON2mw5Vh
E70/XajDRpEM//sTO3sHDBgw2Huo5WJ86dOHMW1ww2jzQlcoxaESOdRyJkBnv8Mb9KFN05hkgws4
AnhD/r2e2n2BBya4CqA20LLBTpSaWAyIOorJktEE+BweTh/sgGItgkgU8PpDcK6u46H6IlToFOi3
DZDfj8aiGLTcRIe2BR3aZny+8SkAAI/NRbfhRtJi4HN4EHFF6CzZLCPKKOcMcgHB9+ZqFQanltE/
tQyNQgyJmA+1QIFh9iB6jYNkpumMcx7P1j4WD6yad+LvXrtGOgWXbGsYmbajqSoe7EeVzQoA3mAA
ClE+XOurZFZr6nrJpqJKItcTK1VsZywGdxa5yuNMcnjKno9B+wDle07l5KLFg49vGPDNrx0jjVxW
VAo+ZzTt+ippHSpOHcDVYQuaDykRVMwh5En+jlyYj17DYNa/hep3s8CC3rWQ5hgKRcKolJdi1DbJ
cHgfY7u6BRWONxVDYT+BIftg2jv3mdX47dU5AICmREMp2wolyjQF2bRmRaumAVavHcs+B0KRMKlX
PF/7OP6q68VdmTsDBncCJ8qO4uLCtYx7uoAjAAAUSgrgDqwiFAnDtuaAlC+GN+QnZfXY8hQ+U/wF
rBrqEQ1IEFXK0VXWjgsLPRmDt+rVVfjj9noAwBcfrbk7P5xBTiDk8IzBjSn7LIZwM40vfA4PG7EN
zDkXUXtbZo8vTyMUCaNT10bLrcTPGNuJwd1AotwjwOfw0FbYlBZcxefw8HjtcdScStRDlGl6Seph
U0trEybsM6ReQIyVrX65Hd0nU4BTrqB7RmF7Ef72d9coA1/pbIlMlaeySp5gfC0kqJ5Foj1D5UP4
UtNnsxqb7v1lOkil40kiz7N5/9mMkzqnV350HRIRD25PMMn+/MyJg+geMYEFoFglSQoy2a31kQi6
55brb3pQQfecCP0g9Zl1VTZAydUgtOTftSS/TPJu1rCCWcMKBNc5eOWlz6CmjFruvd7/BkKr25dz
uzXnp5tObvt+u50I/SAg9ZkR8nJmXID2mmNoq1SnBafsZHwCtbYqGDz0yY+JSPTXnTyuA58znLXM
prMNTx/sQFfl4W3/rlTshrzMVm9iZHMy6J7H47XHUaNKD6yi8/1uVy7Q3f9EWQf5/8oDFVhapec7
1Tp5vf+jHemeW6FGVQUWWHit/2ekvUvMfbe4VFehxMtffQhj1hlMetL96YdlDTj88MEdyRgGDBjs
DyjzhfjnXwyBz2OjXCPDzVkHBiaX8c2vHdvrqTHYApXKMrw5/lvwOTyU5Wsx45xHKBLGH9V/Zq+n
dl/ggQqu2gtcGjTicu86ujqfRFhhhCNkQgFfi2ppHboqGyBnx5W/cCSKrk4h9LiK/ikrHq8+C5vX
AaPHQkYU9hgGUJZfjKaiWlxdvIFJux7N6kaopQoMWkahkihRKS9FfeHhJGWMUc4Z5Ipbdj1G1yYw
xh5H/YkynEjIqmm0F9Bm3FwaNKaV5Q6GI3j7wixGZ+yYjGxmKrFZbHRoWxDYCGJ0eRyH5Yeh1Cpw
0z6Gpw+fg3PdhTnXYk4VVVK53mcaRqeuDQIuP+exGNw7yJQJdv7yCCUnLw0a8dJzzaSRe8auwwX9
dcy45qAVl0AZq8SFS34oD0Tx/CPVONmixf916XL8cDYaIbnr8Luw7HOSZfWvJszhRJZcO6yqxJmK
Yxi3T6fJ6frCw6gvPLwrlZEY3Bug4nNeuAI/e3uzRXH/QBinTjyDgHgJZr8B1YqDOFv5EH40+G9J
Y7FZbLRpGmHxxq9tKaqHTCCFa30FQq4Q+QIFvv/2CMbmdiezjwGD3UbierjlnMNnqh6Fdc0Bo9eE
akUFOBw2vEEf6lSH4PC7UKc6BCFXANOqCcfEz0BQ6oLFb4bNa0e9rB5zphUMTQcwpndieNqBv/hC
Mzl+NBZjArLvcVSXyPHbbg6aeE8isG7CybJOeIM+WL02dGqPQr8yBx6Hh9XAGo7p2mD0WGHwmBGJ
RvCFhqdg9Fgx51rEQUUZghsh9BoHybEZLjC4W8ik12rylTnrhImHTWw2C6UVYVzQG8ACC0eKmyDl
icFhsXG8rJ0ca7uZ/1P22Yy68E6S1hJBZuVP9mBpbREFfC14Hh26ewOIRmO4NGjM+j670e6H8bXE
QfcsdsOembLP4hN9L/Tueaj4WhwU10EjKsF3fzmM9eAGgPSD1GyqhWTz/nOt1jZmnUH9STMcGxaU
czXgrZWiuzeQZn+mYrfWRzbYzeq79zOIalSX5vpgD5mgy9NCJVFiZPkmzpadwNnKh9KeWU2ZEhB3
JSXMAtuXCzWqKvxZxx+j1zgEw6oZOpkGWn4V3vn3dQh4HMhlArg9QVzoN6YFVxHYqZzbSrZTzflu
8Oturpn7AXfreeWyLyb6kLt7A+TZiWvDjDpVZpmdWhFRIywFd00HOVuT9VwJfWdywY0Tx4VwsGYx
t7KQxPM7yWeqtcXI5k3k8uzpziO6R0w7rgJF3L+2oAq16mp8rL+GH/T/HCq+FocUlRByBQhsBMnr
tpL3d6Pq6WFVJV5s/zK6F29g0qGHVlYEKU9MVu7eDU4RMqUpwzkRAwYM7n38vm+JlK/2lXWEwlEE
wxH8oW+J0cP2OZy+VfxR/ZOYdc3D5LGhXn0IVYoKuHzU1fsZ5AYmuOo2CIV62rCC9ho12mpyy+Cg
MzbH512IRmO40rMOAU8NuawEBk8Q1oJ1fP4Y0D0S70FcU4ukcuRLHhOkfDFOlXVi1DaJZZ8D0VgU
HdqWpLL1Bo8prrRJnsWtGyw89bnGtOh9xnHyYCNX5/i1pQFcnL8Gu9+FArECnqAX37r8PfyXU39O
GpZU2dBDt5YxpncmOXiIjdfi8MHi8KK4VQPD7TLPHdoWDFpuklw2eizgc3joFD+DVX0BXnom9wha
huv3NnZSwpkuE2x8nrrN09icE7NGN6p0cvL6K91+HIo24vI1I9b88euWlteQV+DFWOACHH4n6lSH
UH5Ahw9mL5LGc5y7fPSbR7bdUuRY6RGoJUpcWezD+PJ0GncZDj8YSFwDzVX1ePHIY6gukePPv3MB
0WgMbDYLXZ1ChPOWoN+wQBsrxaeKnoTFyEFNZxVqVdVYDwfI6j10cpYI4P6fI2+gAU9g0bK+K5l9
DBjkgmwPampUVYj55Bj8ZARvufwAVJDLdOjdiODxZzdwKcF5T3D80xWPwL4UwND8xyl/G8b/9rkv
Y3qSBbPDh3cu6iGTCCAWNuCRtlKcLO9gdIh7GDMGN2aWVrDii+DpE8exYgjCalxB25EGvHPrjSQu
jNun8UzNOchF+fhkvhs3zCOQ8sV4+dTXcVBZhlt2PfL4YoYLDPYEdHptNpUPUvVpuUyAcCQKAOjq
FGI09htgNd4OdcA8CgBJ+ipd5v/zj1Th6oglSUdPlOOdula8O/XhtnXhXFGjqsJb7zkRcugw5PIj
GF5PeAbU+j/lOHex3c/9jq2exXafSWrrRgPMGOMMo5XzFNoOq9E/aUvyPyQG1yVWNrw4YMD3LhpQ
X+EjOZzt+99qnMS5/tr0c3KuRJvBrs4nc+JlNs9kO0k9VL+JQWaMDkcweCPuy73midv/ctlD4NYV
oqaT+vmlroWDByqgjFXi1Z8YUVuezptMmLLP4l/7fhy/rzAfg5abGGaN4/PPPYu51XmY/AaUczVg
RaW0Y9DxvF59KKv7b6d1KsOv+xuZfHe57IuJ/rrEs5PGylq88PgxTNln8Xr/G+Q4nbpWGD0WRGNR
RGNRsiLisaKT6P5QgjW/D8JwdgHWyVWzRPi16W1anke9ckSN9ZDYy8kKyFDt7BlmWlsvtH9pZ4Pf
R8hWlqT6ftlsFo41aGB1rePPv3OB1se81X6aeH9KfcQ9jCe0z2A5bMSSdxHF4hJU59Vnlo93qeop
UcFq3D6DAfNmdakLCz27qp8z8p4Bg/sbs4YVdDUVIxKJIrQRRXmRDBwOGzMGJkBnv0MtVeIXY/+e
5AsdsozjSw3ZVY9mkBlMcBXiCvV//2Ev2g6rkS/ho2fUghnDCh45WoqTLdotr8+kEFfr8rFo8QCI
R8xbnfF2PaWFUvyqtxfryllUnvACbA5Cps2sDjaLjQZ1DRy3D/jrVIcgE0ix7HdSlg51cedhXFbj
4oCRMigsVdG5ZdcnGSjbccYw2P/ItSxuj34Mrw79OO2Qsk3TSFuednIhfg82m4UnHpXBFLamZWmq
5CKM6Z0o85SAzxmJV/+JhCm5HBQvYWFm+6KJSqm/ZdfjymLftvi+G45LBltjt0o4pzp5TjUX42e2
NUSjMfI7bDYLR9t5+OXU23DetKBWFX+vdvc6whtRrPk3ednVKYwHvi4SAa0WTNin0aZpJCtaCLkC
RGORbZd1TuXnC0e+yHDsPke22fcXBoz4yrkaaFVSLFo85KEoEYhtWjNj2DmAp4u/jCn7LALhAHgc
HupUhyDli+EL+yl5ubRqxvjyLYQiYYQVRgh4agTDkbQDKQYM7hQy6c5AehXAS4M+LNnWyOutTj8E
PA6sHgclx93rKwjlORFypv9tMToKYbkQZflFuNZnw/GGInh8MfzjTwdwqPQAPt35abzQnvsa2EmA
MIPdwUfXF/DIGQnm/Uu47u+HRq5Dq6oG8/5JSp7MuZfAAguPVZ3Bb6Y/RoO6Bv9+6/cweayoKajE
ybIO5nCDwZ4i0Q45eKAcBbEqXO0JoLZcTiljqPRpAY+DYw0a9E/asJFvRJuokay+SlT761ns37IS
8dSCG1aHD1aHD2N6J77ynBqvDv2AbI0145qnXGfvz1zEj4d+hUpF2a7ZUYS8NTt8UMlFKCnMw7Ux
C6nv11Uosh7rbrb7eRBA9Sym7LO4MNeDWdcCCqUqHJSXoiGl2jqB1L30zBEduh3UrfsC+QaUKsSI
FNvgCJtJ/4PeuJI2Jp2dSff+a+SNlHPbyl6lazMYVhjRVNWe7WPMiO0GuzDYHsbnXUm+XCCuh47O
OgHQ+4sSA/L+2w+uYc1vAwDMm1dz8nMkcsodWIVcmI9qZQXe1r+VFMQn5I6heSkP48vTaXNJ5Tmb
xUanrg3r4QD++oNXMvq5dtI6dbu6MaNT7z6249eku2bG4MYrP7pO+s2oZGG2+2J9hYI8MyEQDEeg
VogpZR2fw0Onrg09hv6ka3y2fKz549Xc7G5/Vr+X0HcEPA7CMiNCLmqex3zyJNk/MAV82LtEtkPa
TI5T4syRElSXyLf83cDO2xIzSEZzlTKJS4Tum2nPznU/vTDfQ/nO5r0L4JobEbTp0Ovyoxc2VCuc
tHLrbMUx9Bj64Q1t7iuE7nH+rRGMz7vQcFCBxmYOJt03d3QecWWxL61NbSaeUa2dqFfOyGQGDB5g
HK1Tw+b0IxCKwrGyDpVcBD6PjaN16r2eGoMtoHcvUu5bs+7FPZrR/QUmuApxRZjIeCOUriXbGsb0
TijzhVsqDBf012kV4mJVGwQ8TpKDMk/MQ1MjDzOBcXijXsQQw/JavGUPn8MjjeU+02avcaPHAp1M
AzaLRTkHR8gEuawkYzbcpoI0C6VIDgFXAKPHwjhj7mMkOscTK0pRHZ5PLjhxZYHauAtGgtC7nORn
ic6OErUU7bWF4OS58Qfnm2lZmqeOP4Wwh4tgOIJrfUF86fnPwcOyYMI+k3Qfgvu2gAVnjpzc8W/f
Db4zjsu7B7qDnFwCPegOlJ4/W4VfXZgFj8OGXCZAXQMriasGjwk9hn48UfNFXL22WV7ftx5GWGag
dLIEI0GyfdTp8k6ML08D2OQxUTmIttwzI48fWNBl33dJnsXxRg3G551Y8YZw5LAagdAGftezgJLC
PDx8RId12QjJx0SubYjseOXSz9N0BhZodAafC0VSFZZWzaT+QBwY7GZWPQMGdKBzJo/bbuEdison
n1L+UZo+LZcJsLhqAJCyHqIRqPPkuLE2THlvi8eGSkUZQkIDnnuiBu++byMd66GNCK6PW/HSc80Y
0zuSDnczVbTdrQBhBtvHrNENXfkG3lz42aYsXDPDIjPQykKn3w0xT4g/zF3BZ2s+jevGISz7HNiI
RlCcV4i3J96Hc92NmoIqJriewV0H9aFiH5rKn8TvehZwZdiEv3/xWNIhHpU+DQAiAQc6tRTKfA+u
LPamJdKcLuskv0tX9dW5EsCZU2KscuewGrWj11pAjiMX5sPuo77OsGpGOBLGR/rL29JxUw956hVN
+Pnby7A4fAiGI1iyrZEBZN2jZgh4HJxu02U9PlFh44L+Ombd8yjka1EurkXUS12Vgjn0zw1peq/H
glHbJIweKy4MGAHfZqAg1V46pndC1EhtT7k2THBuGMlDQ8L/8FjrF8gqFWeO6DLamS8915zU9o1o
MXn+Jwao/w/tluuLzWZh2jGHHudHsPtccPidoIIjbMLnjzxLPpOdJG8xB/J3F1TBH0A8iDMbf9Ef
+paSkreATf6xWMDFgc3AjLPtJWRlbQJTDj3YLDY6tC1kYGwoEkabphF9pmFEY/HKhC1F9fjXvh/T
ziWxklCnrpVS36aSz3T+jAn7LL516Xtgb4hxUFyHhqLqJFm4Xd2Y0al3H9vxa6ZeY/RY4A35bwfK
LqL+5GYybTQa23aS1pkjOozpnbC5/Em+6zNHdLi6+BGlrBNw+Xii+ixu2qah4BaD59HhWl8QJ4+L
EM5bglruwSuX3tjy9xL6jlwmgDOcXkUIACYdeggdy5R7yB/6ltA7ZoEvsIFjDRosu9bx0/enoJYL
cba9dMtnQb+29JgxuLMO0nqQkZSEUFSOMycKcblnHTwOG4HQRkYf8+SCEx8sdQMACiUFpA+Xaj+d
mHdi3r2EGecC5TycYRPkG3UIbUTIe1Kth8T5Hi1uhlqixJBlDE1FdSiRHMQ/vb5AJluWVoRxfug3
Oz6PyKUFIZ2sOMr/LMZuReH2BBmZzIDBAwkWro8nx00IeBx89tTBPZ4Xg62wtBLXb1LPK4nPGewM
+ya4KhKJ4LnnnkNhYSFee+01GAwGfOMb38Dq6irq6urw7W9/G3w+/47ce9qwgnwJP6eDfUIhWs7g
QJly6JFnrEB7bSECoQ04VwI40s6Fk63HR5YBFIjlEHIFGLaOo7agGjqZJqOxvOxz4EhxE5ZWzWn3
KuBrYfAE8akONaWzBkCKgmQGn8NDh7YFvcZBxhmzS9hLHlNhfN6V1EaKqChFVTJ8cGoZ1qiRchy7
z4VOXSsAamdHnpiHtkeWEbKlG748jRkTEzEUKcWorWPh14tvA4hXYzN6LGmOIrVUCR97GcD2y+Gm
GwTb4/tuOS7vtepXe8FjuoOcXAI96Bzn8+ZV/Mnni3DLMwZ32IZoXgFCxs2sTYJ/PSvvo6yjBEdE
CgwvX0eLtBp6b7q8BeJrglBKXOsrUImVSTKcqARwQJCXdu1u8ZNBZuw3eUyASq5sRCOQFa/AmjeL
vANW1IhKADcf13rWEY3GsGRbQ2lhHoRyU5rMrFcdQoy9gY1oMvdXAquoVx+GwZPO4WJZIYRcPorz
ihBY58Jwu8UFkFu1BwZ3HvuVxzsFlTOPz+FB716i3HeXuWM4+ikhWKta0onv9gRRJymDLr8oSfaW
H9Dh93OXUKWoSMvSBACNTE22cX28Ug0Wm42zJyUQKJ1Y9N1EOVuFOXceLgx4EAxHUFoRxtsz/XBN
blY6zJT5TNea6EHG3eDxrQUXZjbG0/iz7HOgvbgpSRYScjQai8K8ZkOVogKRaASC25X/Utv/Lq2a
mcDnBxx7IYszVcA5e7IU65JFfH/se6i1bQb/JerTiTbg4sYQyosq4A2tU47pDW9mztMFEhxp55LJ
CYWSgiT56g6skrZdKlQSBZmEQKXjZrKTEnVmNouN4rxCXDRcAK/ejVbO5sFuMBzBRiSKp09WoKtZ
m7PcjXrluPJbOSQiNRY9QVwJ2yDgOdIOju71Q//9xOP1jXUEeYu4ccNLPkMqW87m8qNLUoIlT7oD
WJNXhGHrzbSxF4O3YHWoyeAsmvxE0s5MbPtm8obQfgSo7TJltb6Kytfxq/n/RVZwq1MdguH2Okh0
Yh9SHER1iXxXkrdyOSgl/0bjI7yXfBQE7jaPT7fp8PENQxI3twr+SJRzdH6O8XkXxvROGO1enDgm
hEfej1dvvoui+eTqbjUFlSjOK6Rs9U74D/gcHoKRYNpcAGDUOplUSQsAXu9/I+O8Cb7oXYvQyooo
21cVSOQYX55GKBLGGGcYButTANpIWbjd5LndSLq7F3A3ebyVX5NKPnQv9idd06FtIe0nIJ4gRrQ8
vdITb8uba5LWlH0W3Y4bEDbqcVxcAvF6GeCX41RrPKnl/5uilmlzrkX842MvY9boxvd+OQLjshfH
OgTxtscegC08lJUfl9B3fOthHBLpYFxL97Gp/PIAACAASURBVJtoxaUYGXUAQJqdd2vJDYmIh+Zq
Fbh5K4hIFuHZsIDP1eD9YQcS1wPxexOfc2KLw0QouMX4bz+4hpe/+tC+5/xe+iroKpt95XNfxuRY
DMvudcrrJuZdmDG48eqbo2g4E9+3E324fabhpP10Yt6JV350Hc1nllEgVlDqukV5KvAk06hRaLDc
w0I0GktbD3TzfabmHHqNQzCKXGg/okH/AKA6IMSGbJG2mloue3UuLQhTZQWbxUabphHhmB7SFltS
h5L7RSbfr/42Bg8W7jSPiaSmRATDEVgcvp1OncEdhlZWBK2sKO28ki4BlUFuYO/1BAj85Cc/QWXl
5sb+ne98B3/yJ3+Cjz76CDKZDL/61a/u2L3ba9SwZ1C6UkEoRB/pL2PCfgsFYuqDyIPyCpQUSaA3
rWB6yY3D9TH8wfkmrluvw+AxY8g6jkHLTbQU1aPsgBaDlpsYto7D6LGgzzSMQctNdGhbyPFCkTCk
PDH4HB75GZ/Dg06mgchXCgBobOaQc1taNeEj/WV8++p52tKlRPUVILMzhkF22EseU6G+QkG2kRpx
D8C0ZsaIewBXvW9jyj6b9N3+qWUUcDWU46gkCjQX1QGgdnZIRDyY/Yakz/gcHgolBTB5TTh2zon2
R+2IFcyjTdOIjWgEQq6AdAglc38I75nfSJtfLqBzHuTK9+04LtO+myAviDX5yqV/2dHvu9PYCx7X
0wR05BLoMT7vgoDHQZFSDAGPQ36u0gbw1uJPMei4Af+GH6YEYziVf9dMffhw/mNoZYW4ZuuGSkyd
LaaSKOAL+1GtKIfD50qT4cO35bs2X4NvXzmPv3r/mzh//SdxB1KKowpg5PGdwH6TxwSo3m2HtgXv
z1zAddMgjB4zrtuuYyjyHro6heR33GsBFOcVpnF2yDqO92cuJOkLAJDHl0LGlyTpDEBcNufxJZiy
6zFouYmDeRWQywQQ8DiU1R6m7LN4vf8N/PUHr8TbCe9j2XU/Yr/yGNgZN6iceXJhPmxeO+X3rV47
jIE5jMZ+k7QumrWHk9bDhH0ai6tGeEN+SPli6GSaNL1ZxpdCwhMjFAnD7DXhi8/JEJRPQe+9hQOi
PIgkMXzsegunTog2dShXPwwe+j18csGNrqZiNFQqwedy0FCpRFdTMaYW3Fk/k/sZd4PHrrUQqYsS
Oijx7lUSZRIPOnVtGLTcRJ9pmNyzfzfzCcoO6Mh/txTVJ41PtDe7ZWf25wcReyGL6XRB14YJRkHP
bblkTpJLifp0og1oXDND772VpAMnwuSxkv8+3aZL0qOBeOVtB0uf1Joq0QcSioRJ2y4RfA4PAo4g
Se9N/F1b2UmJNh2h/wxZx2H0xG3axD3B5vLjT59pAlvqxuv9b+Cv3n8F/8+lH+P8Bxfx/bdHMDFP
nRAHAN0jJqz5w7A6NytnEIf5ich06H8vYD/x2O5zIcxeg1wmIJ/htGEl7XvBcAQifxm1PiuQUAaT
xKuyCgDEeVFSmJ7sAmzamYlt39qP8Mh1Y/PZMWKdwLevnqdcX1PsD2HyGcg5EOtAyBWgU9eGOtUh
8Dg81KsOoaW4BtfmxvG76Qu0h/7ZgkqHIj6fXHDi/Fsj+PPvXMD5t+K8p1tnH8xcuqd8FATuNo/r
KpT45teO4Ynj5SjXyPDE8XJ882vHUFuuzMpfRPAm1U9RqpbGgwc7hRiJ/gbXrTdg9FjQbx7Fu1Mf
4oOZS5iyz+JkWQdl4FSi/yC1eiDR9q9OdQi9xqE0PT3TvPXOBZIvevciYrHYlrI9FAkjIDWge2Tz
AH+7yXM7TbqbmE9fA/sRd5PHmd43nXxIDPihC94LRcIIy4wkp3Px3SXe1+Axodfai6vet3HmpGSz
tSCNrKstiAeEXbR+AE7tVXQ94YS2IoCNaCRjJc3U50DoOxIRD9JAOSXPRf5StFQX4ORxEY5+yo6y
47dw9FN2nDwuQnGBBL71MApLAhiKvJfkcx+KvIcxa7xbw8S8E7+81pv2nN+d+hCdura0ewq9JZCI
eEnrab9iL30VdH7/Nd48/tufHkNDJXXgT12FAhcHDCiv2sCVxd40H26HtiWJe7/vW4JExIM1aKDV
dWUCCa5ZryX58FLXA918Z1zzsHqX0WvtxWjsN3jyuQ1oOibh2KDWLVN5vJVP5kTZUco5U7W/Th2b
0L37TEMktwnd+36peL+f/W0MGGSLO83jJesa5eeLNJ8z2D8ozS+mPK8syaeOAWCQG/ZFcJXVasXF
ixfx/PPPAwBisRh6e3tx7tw5AMCzzz6Ljz/++I7dv61GjeICSdqBPEBtHCQqRJkciUq2Fj7FMKQt
vWg+bUNQukCpSEViESyumrY8bAeAcCSCl09/HY9VnsajB0+itagxHmkoN+Ebf1qOKfdY2jgSnhiz
NKVLieorAL3hwiA77DWPqXDmiA4bMmNWDrxDJQfAWyul5PKZ8mM4rIrzg8rZ4fYEUSjUAkh25PA4
PKgkSnhDfnQv9YHFAmms9JmG41UDEN2xgzEVmZy4ufA9k+MyW2TKEtuP2CseUx3k5NrW41SXCK0P
WyFt6UX7p5Zx5oQYIgEXPtEi5WFQJidRMBKvViGgkO9CrgB1qmrUqQ5hNehFsawQVu8y5ThDlnGM
2iZh8FhwYeFamqMqEYw83j3sR3lM4Ki2OS3Yg46HHJURQkG8yKhExMMBUf6WznUClYoyOP0raNM0
olVTD51Mg1ZNPdo0jXCtr2A1uIY2TSNM4RnktfTi+ONO/J9/Wp6WXXmvBYfeT9jPPN4pN6icfL6w
H1WKcsrvqyQKsnwxDpjw9MkK/I//dAxzK3NJ60EuzIfT70anrg3eULwSS0tRPT518ASOFjfjROlR
uNZX4A6sAgAOCGV4Z/7N24f1m4ZmS1E9/AJD1jrU8aYi9E/aMDC1jCXbGgamltE/acOxpqKsnsf9
jLvF49FZO4rFJWkH2k9Un8WQZQxtmkYc0x3BuarTiMQilO/VHVglW/6mylQg3t7stf6fMTLwAcNe
yeLyAyWUn2tlRVj2OZI+C0XCuKC/jjNHdGSwdFhmSOJ5akBUImoT9M7UQIJHO0pxtk0HU0IiDZUP
pM80jPbiZpytOI6yfC2OlRwhK3EnIlHH3cpOImy6bA52E1t0JR7Wdnvfhidmw9+9di3pkD3xMMqZ
14+Tx0Vgs1lJARCpB0e7UWl3r7BXPKazaVQSBXjRPLhvV0+dmHehvUZNPYhfjpdPfx1ny06gRKZF
e0EHntF9GdFIjPLrBXwtOW4wHIFUzKe0MxsqC/DDd0dRqBCTn4VlBmxEI0l7SZWiAuO2W2nrS8IT
px3i95mG8VjVmbREiH/t+zFuOocpK14AWyfWJPL1gFBG6bOpkTfib79/Db/rWcCixYPf9SzglR9d
xyf667TVwxLH2c8+CgJ7xeO6CiVeeq4Z3/3rs3jpueYtgz8SPz/dpsOZE2LST9H6sBVnToghlcQr
CNDpmusb6+g1DOKwqhJOP3WwfmI1bVWCfE9NxknV0zPN+/JiX9J8+kzDcR2q5AjK8rVoL26ilO2O
kAlGuw8zhvhct5s8l+t1iWvj1d6f4v3hQXzQu0iugVTZvx9wt3lM977r1Ydo9+HVoI+UD5kClohg
1lx9d9n4SemCQmrV1Ul7/TVLL96f+wM6tC0ZdZ3U50DoOx11hXBaxWhiPYlmxVFopcVoVhxFE+tJ
hD35KK+KgK8xIMLzwbXuQoTnA19jQGMTG/I8AWzRWcrfsuCfxKzRjVd+dB0z3vTqukSLw071MfKe
j2ufQVC6BGlLL1x5/fva5thrX8VWwa2ZfMwTC24EpAZav9qJsg4AwIzBjelFN9yeIAq4GlIeJvrX
zlWdRo9hgLw+LDMiX8pHQ2UBGej5sw8mMUWToJPoBw5FwjD5DJhzz2fF42x8MlGvHK2cp5K43cp5
Kt7+OsPYW+nezdXKez4Rc685zIDBbuBu8LioQEL5uYbmcwb7B0s0MSdUndEY5I590RbwW9/6Fv7m
b/4GPl+8lJzb7YZMJgOXG59eUVERbDbbHbs/S+JGfs00pEULZInLGwNhqA+IcOZIunGQqsARQSIA
sB4OghvJQ7WiHO/OvUO2k9iQhMAL89LGAuKE3spYtvkc4HN4OMCXgxtU4nhZe1I5UYPHjEH7AE6X
daaN4Q6soqmwlixPngiiTD9d1DqD7LHXPKZCbbkSr09SC8tUHp85osOrv3KhrepprOcvwRE2oVRW
Al2+Cu9MfoDx5WmcKDuKhoPprSKC4QgqRHW4yYkbGlQly9s0jWTASjASBJfNwYxzHjwO9brYSeUe
urK3ufL9ZFkHLi5cS9qEcl0rdp+LPKhLxH6tTLRXPCYcG5cGjZgxrOBIjRptNWrUlmdXZnjKPotf
m35OPmcTzOBzhvH8s59Dn2OI/F7iYVAmJxEhe/tMw3i4ogu+0Dqcfidq1VXgs/l4c/y35L3CkTAt
j5d9DlKGE/f3hv2UnCD4KeWLcabiWFa/mwE19qM83iwDP4t61SEIbpccT+VhYgsRk8+IR09V473f
u+D2BBENc7fkrDuwCrWkAMFICHwuH4OWeLsUuTCfbMvTpmlES1F9sqxei+sRStlmW5Ldao3KYHvY
jzwmsFNu1Kiq8PLpr6P7dsuRFk09movqEEMM3Yb+tH03MTveHjbhPz/zHwEgrV2EO7CKc5Wn8aH+
Upoe8nj1WXw8dxUN6hqyfc9ayEd+j8/hQS0pAGJAJBZBlOuHIyWAgcCEfRZ65wIqleUAAOdqIKlN
BBDXjZZd1JVxHyTcLR7rVFKU5lfiLf2bSe9+xjWPpsJa9BgG0FXaTspBKiTaXSvrHlQryjHjWgAQ
l6E6WREGLWOMDHzAsBeyeHLBiXzegTR9kc/hQcoXU1brmXXP46XOuD49dGsZA+GhpL8n6sBb2TZ1
FcqkYOvJBSfWFkthSmiZQ/hAWCwWzB4ragoq0ZXQVuyWXY//cemf06pfJN5rq4Oxo9pmWL3LWx7s
FirKM7boCiuM4POKMHRrGXUVyvTWLDCBzxnG5z/3DBbW5rAataNFchBF/ORgH7qWifdCS+W90ilO
lB2ltKdFXBFCdg2AEIqUYjRVKdFWo8Y7F/Vp7ddOtepQo1Kmyd0pewG6jdfTxuZ5dAiGN/dfDhuk
nTkx70JdhQINlQX47i+HsR7cQFdTMdnuyRE2k4EpiXvJhH0a9acPJ60vX9iPdlUzln0O8rtcNgeL
q9TBMs51N4qkasoAq0yJNVP2WXz76nlIeGK4A6v41cTv0Klrg4DLx5xrkVx7F6/40loUS0Q86N1z
lOMm7nnkvfapj4LAftON6fidKOfYUjeGIu8h5E70U4zis9ov3+YcdXUau88FVizesqOmoIryEEQn
K4LN60CxrBBl+TqM2+M6Dt2BOKG/ZJr36wO/SLouGoui1ziIJtVh/ONjL+MXI++h29AHLpuDUGRT
vhfwtQCHTbYzo2unuFUATi7X0bXZSmxVtx9bCt5tHtO975NlHTh/46eU11jWrKhVVWPSPpOx9a9G
qIO8rjDnlryJwdOED2MjGkE0FosHaTj0qC2owp91/DEmlqcTWhZ24EpKACABES+u42Sr6wCb+g7R
9heIt4g1eIIAQuhqisLgX0xqiUjYlsWHiyAWSWELUlcYsoVM6J+wQSLiwRGm9svPuRZxhP08Jkc0
KKlj4f3Vdzd9mmtm3Lw0vG/bku+1PK4pqCR1RDIJC5v7aaKPmdj7T7fpUFehRHuNGgMblynHdfrd
ZHL5wKQNxQUSLNnWwFsrBZc9ikHLTdJnMOOch4AjIM/+AMC1YcZffuEJ/N8/6UcwHAGbzcLBqgiK
CtSULY4T22cDcdkv4Ymz4nE2PplLg0Zc7PFDwNvkdjDshziaLhcTZUVG3TtswmMtJ3bc5nivsdcc
ZsBgN3A3eFxWlIeRaXuablamoa4OzGD/wOSJv/tEfSsUCSdVLmewfex5cNWFCxegUCjQ0NCA69ev
036PxbozfSBTjTELy4pOHQsnPsPBkseIbocNLMnRJMWALnAjFosrYWq+GFFu8mFKJmOEz+FBRdO3
uVhWCLvXiTZNA0rztTB6DBgd/z4K81SUChTVoX0oEoZWVoRR22SaUqYUyXG2/FiSI5R4Lqk91+8V
5WgvsNc8zoRaVSUMFAp8arZDt+MG+PV6QFwCVbASrUWt+LXx3zC3ooc7sIqFFSMuLlzDS60v4g99
nLQN1bzAw5O152Dy0VdhW1n3kAo6IdDradbFTir30DkPCkQKSr4nIpX7f9bxx5hcnsGkYzbt0CAT
iHEcfmdS73bigGE/Vibaax7XVSjBlrrBW5zAkOMK1h2VafKXDnRGpX59DG2FLUlGLHEYxGZxEIoE
KflHGLjRWBQr3jDq1FWIxjYwYB6DVlZIZmtGY9GM8j3VUAbirVfUkoKk7/M5PKhESjxbcw7LPifO
3/gpI3u3ib3g8VZ7Zrrj1ww+h4dHKrqwEvSAzWLDvGZDh7YlqQ92Sb4GFtc8BLz4oZ0kXAyV2ELJ
tXJZKZQiJUw+I6xeB2KxGFgs4IimCYFIAHafC/XqQxBwBBi2jqNWVbWlI2Y3WqMy2B72Wh5vhd3g
BsGzGIA+0wg8QS9OlB0lg64m7LMokMgh4AiSsuMT908qndzud1Jy2+F3oaWonswsjcthK9gsNh66
XUnT5LGhKE+F4rxCCFkSREN8GJHuDC+QyPEPl7+L/3ziJQDAmnwQ0hYTmaTR3RtANBrDDEWLowcJ
d5PHn+4sw7uz/5727r0hP5RiOaR8MfzhdSz7HBn37En7LDp1bYjGorB6l3Gu8jSW/Q6YPDbEEA9O
nXZSH1QzuP+wV7J4cGoZw7GbZHKK3eeCSqKAiCvCaoC6/H4hP15FmDgoXO+vgnEtWX71mYbxR3VP
YCXgIXWWbGyb2nIl2JITGLQPkGssGoti0HITf3v6L8lDqEQcVlWS8pzuXlQyPF4FufX24Wo8IF3C
F8Mb8lOu29K8Mjz2+WbUlivTAm6J8QryhWg6bcVAaADr/VWQCaTYiCa39wtFwlgKTyIvTwRWKA96
7y14xHZcW+LgWOkRALkd+u8n7KVOQQRTX5i/hlnnAgqlBdCIi2FbkoDFiqL1YSscGxaEFRVgScS0
B6GZxiY4dvBABfwWNS73bPriiOCs1IDBn30wiWg0Xvnq2pgFxxo0iESiEIhKEYys0erIL7R/CXUV
SgjG2jDtnMesayFj0kQiCF0820N/AmO2W6hSVJD2gZArQK9xEI9VncY/PvYy+b1X5y/i5HERwnlL
cGxYUM7VQOQvR5ivhYFCl6GyU/ejj4LAftSNUzlIJefo/BQOlh7hDSWUvGJKXVMlUaBIqgJA79+S
CfJg9Fhh97owaZ9Fm6YRIp4AMzSdC4jkgEzzTpXLXDYXTx56BBbvMr7x/jehlRXiVHkn9M5F8Lk8
9JmGwWVzIPSWIMxhY80fxqVBI156rjmn9UwgU0BEKuiebVhhhICnJmX1fqouuBc8pnvflcpy2vMN
TV4R7D4HWooakMeXIo+bhwn7dBoHn246uek7yOEcobagCsV5hUm+j/IDOnwwe5EMVFlaNeHCQg/+
9vRf4oX2L5HX/nDgDfLfbBab9KHMOBdwWFkJFjZ9IE7/Cmqz0HXqKpR4/pEqTC24YXevo6FSCSGf
C715FeGSJerKVCtL+E+f+yLem19I07cAoEpegeu9Nrg9QZRzNTBRrPOagkq0qFToHbMinLeAkOPe
SGzbD/K4Xn0Idp8T9oS9cdg6nrSfpu79BI7UqmExFMLooQpaLSa5PLExi+KDJTgj16KnL4jPPf0M
LJFZmNes0OYXol3ahN9MJ1eEqVNVYnh6mZQ/XZ1CDG78Gm2sRsr9P7V9NrE322/7rTeiG7D7nJT7
SzY+GaLqKtH+mACVXKxRVeHvz34DVxb7MO2Yg0paQKl7H1IexKhz+J5OxNwPHGbAYKe4WzyOxWJ4
qL4QvsAG7O51qOQiSIRc0pZisH+hlRVCKytK0reEXAEYybY72PPgqsHBQXzyySe4fPkygsEgvF4v
/uEf/gEejwcbGxvgcrmwWq1Qq2lKhO8QqcZYh7YlKSPB4IlHXndJPwf45DjdpkszbNMy22DG2AoP
5ypPw+53oc80nDFT9IBABoUoH+MUhgqXxYU/vA5NXiF+N/MJQpEwCiUFMNCUbqM7tBdyBJTOWbkw
H3/U+GTSGFTZP/da9Pndxl7zOBO2yqZLfd8Gjwl8zgC+UPoUSvN1SYK3zzSMPtMgnn+4A1OLbnJD
FfK5uDBowouHS2DyDFDOw+5zoVpZju6lfrQWNWLZZ0/KsNtJdahUZOPkokIm7n+1/YtZ3z/9mcYz
mzq0Leg1Du7bSnF7zeNMzz/qlePSoBHj8y7UUzjYMrWC1OUVQ3r7UAbYPAxq4z6NwnwB+Jz0wFPC
wOVzeDhcUIpfTL6VlqlGvM9M8j3VUAbirVdOlHXg6mJfEj8BMLJ3F3C3eZzNnknn+A2Ew9C7FtBS
VI9OXVtaRuSEfRqnyjpxsqUY68EI3vyNFV/9SgulzFTlyfHb6d8nXG8mqwaOL0/jbMVxdC/dgDfk
R6GkgPbgJ3Et0Tlb9/PBy/2CvZbHW2E3uJFp7bzQ/iXonQv4h8vfJWU3kK4fpOo4cmE+jDQZOEsr
ZlQpy1CcV4hCfgl4ayVYFy9Cpy3CQEqFilHbJNqLm1F1oBITqyOUst0b8mPcdgvvTH2YUjVxlMyY
vxeqmdxJ3E0ex6u1Uld/GLNN4vm6/5+99w6P4z7PRd/twC4Kt2Oxi16IQhIgAJIAi0iKttWobsmW
HMdO7MhW7CtdH8d6nnMt58axn5OckhP7xomSWHKS48hyUUkk22qWWUCQIIlONKIvtmD7AruLBbbf
P5Yz2DKzBVwQIDXvX+RiZ+Y3O998v6++3wP43dyFtHt2LKtfp6aNkgXt0YZ7bnq9DG4PbJcu7pu0
QLmnFL36q2SX4Zgluvc/uPsTlPJbKWyMOweVD8hlc9Cs3J2xXZlJ0wlVYRWBBnltymtRrbFT0xan
V4mC9Eca7qFM7N7XeBgN8o0RXYl700F1K7oXe+OYOmPt+FjYVu2wAmQsRe9awph1CuL8YoQ9Ypwf
1ONkRxlWvX4sWjyUPslOxHbbFIlyMLFgxzX/dJR1mGDzcRtxUX8FLx5/Ds8+3pLVuSOrYuTZLBi4
bMWBJgVOdaxhWrdMWZRBJkzDM9h/90ZBdM+IEQIeB083NuHC8ruU1yJs5EnrDP4jRkaJveHuqsMk
YxBdAe+5hd64uJymSIX760+mbPyiutZBdWtSYdTRw3l42/BmEkPSZ+RP4ppzKOndyefm5zQGs9XY
bjmmQzo9RxenmFuex7f/6H4M6q9jgsLWzOfmo7OsjbzGs/ufQZ+pD1rXIkqLlOCxucjjCCATSmDz
OtAgi66h33gNTbLdlDIY2xxAt+5EvXy6/hQZiwaiMji4NIb76+7Gb6d/j9O19yC4IoZZl4dLo9Fr
Ekl7usKGdMj0OLrfNjqqrowsJNhJ9vh2yXGmzxuIyh+bBcwvL2J+eTG6B5c9nTLGmm0eoUlRh7+/
8m9JsY821d64vdkfCuCC9kqcrRG711MxDRK2+h5lQ0obJREXhpdgsq1CXCTA6KwdvkAI5cpCmDxW
yu+bPTbUqMW4l38Efab+pN/wZM0hwLCKGd0yeO5y8DkjSd9pUtTjguUDcBtnweJL0alpi2vKBXZm
Y9t26+NJ60yS/PA5PHzt4BcyY9GukKLbUkBpT2uKSuJkmbAbP/fk43hzNjku3FG6j5RZYh/90dno
KG1yTLcjEDf1Ru9agqZIBTaLHSfviTHkXv0A7q87iReOPUt9HxnEZDJlXU20+f9wf3TEWL8xWW5P
Vh9KYjkkMG6dxV/8+BKUEuGOtpG3W4YZMMgFbpUc941boFYUgMdhQ7YrHzwOG6Fw9PMvPNCco7th
sBUoL1ZT+pKPMDHNnGDbi6u++c1v4pvf/CYA4PLly/jJT36Cv/mbv8Fzzz2H999/Hw888ADeeust
3H333Vty/VgjNdU8YQdnDoNXFfjoqg5/+ZWuuFEmrBvfSTxG717CtH2eDNyl6xRtVu7e6LqTVMAX
9KNXPwAum4O14Bp5jVQsKamS9m9NvgcgfjTQvcefSzoHMwYoe2y3HKdCukIjuuc9arlOBrBjg3i6
FS2Kg/sxteiEKJ9HOp0CHgfVknIsBippg4mBUBAAwHZUoVxSjEumCxg2TeCgupUMMJYWKVG9q/ym
ZS1dkIsKuZJ9uvMEw0HcX3cSnWVtO/Jd2m45pvvdzsxeRvdvxHB7o3/TLrlIXUw4aqlGQU5Yp/B4
xR9gyD4Im98AGV8NnkuDcz1e3Nclx4vHn8NHM72YW56HuqgEcpEEw6Zx7Fc1Q5xXjFnXDC0bG+GM
J+r3akkFduUV4d3pM3HHEc72bnlNUqDn5b7XGN2bA9xqOc5Eb9AFxBaWF9GRdxourxZsAbUt4fat
4tqUBR5vEKVSEeQFYtxTexx61xJZLC3iCbGwrKOVUwD4cLabHCGiWzbQdqHFBmIyGXXBYGuw3fo4
HXIhG+nenRppJV44+mzaQumO0hasBddgXXVAVagAm8WmTShdNQyjXd6JnvdFcHtXcfJYBfx51ynX
sRZcg5tnxovHn8Pbkx/C5LFCLpKQTFp8Dg+zTupO5oBEj0JhyY5nM9lq3Go5VheVQEfRgbyvpBmv
j/8GdZIq6F1LZHA7NrmtLJBh1DwJhUhGFlfT+YUW785hQGCwtdgOXTyxYEeJRAiuuwx8TrQgghjb
xefwYFt14p6qU9A57LDesGvzPGXYU1IXd57NNpsQyFXTSSokrrFZUY+14Drle+dad6e9n8S9KdV7
HGvHEygtKsHg0mjSd8/OXcb5X2/4IgIeB0qJECfaNRmPMN9O7DSborFSih4b9QjHbP0eYpQTwRAx
tehEoZCH7z7Thboycdx3E2Van1AQ+4WVqgAAIABJREFU7QuEYDbyUFFSntJGprNfIpEIrB4HduUX
UyZs87n5WA/6yGYrhUiGLtXhlPdLdy1fyIdmRX3c5zbWLOV3Dd5FyncHAAr5wk3ph+3ATpPjTJEq
+V1XJkZdWSf2WWVx7G414vK4QtjxeTv+9scLYLHleOyeZgx5PoSyQI73Zs9SJPpbIGdVURZyEM0B
qd6zWL28uGyAyWOllCujxww+hweD047hs1y4Y2yjW1XMRPfbyvjqG2Pddh674E6T48R9uLRQeYNV
eIM12B8KwBqZRYO8k1Zuso2lEgXjid+n2psnEmIpxF4P0I/AXF53ZVVYBWwUocSy+5gdXhwtLKPc
E2pvjIdPZW+F2+z46KoOPb3rONJ5GgGJHraAAfWSarSWNuClqz/dYOpyGSiLv3diY9t2yzGdvI1b
prArXImz/fSNuQTYLHYSCYGIJ4TOtZR0bgCYW6WWWRaLhVpxBWokFeRzb65ahXbJRY4bBjaafFtK
mhAIBTBkGkNrSTNaShphXXWgYpcGkUgkqdiKKLKlQiYxmUxYV1PZ/JmyHBKQcEsxOGtH/6QlKW6/
k7DdMsyAQS5wq+S4Ul2Es/36uNHjvkAId7fvHPuKATUWV6gnTFGNG2eQPba9uIoO3/rWt/CNb3wD
P/jBD9DY2IgnnnhiS64TawyknCcc0/nyuyuLeO4z+0kH4c/e+z7lMcScZMI5AJCyUzSxGKRndhTe
VRbCXG/culJ1XNMl7QHEGUSpRqMxY4Byh1slx+mQqtAoFeOPOK+YDOYTjq46vwJL81488Yk6mO1e
jM1tUHU3VkrBEh1Gj64vSTZrJVWYNlmwj3UaZ7u9uPfuKMV5OBKOCzDy2Txc0vXjseb7cvwrpEeu
ZJ/+N7XTdpzsZNwqOab73Wac8xDlK8iEBhClND43sDEjns6pFHAEUEikqJaU49W3liDKJ2bMr5Fj
IsIeoP8jObo+kY9z+nMANopQ6ySVWPF5KNcV+45QMQFMWmfAZ3Mx61yE2WNDrbQSJ6u6sn4XGd2b
G2yVHGfy3GgDDzw1ls35yBc0Y67gHcrzGN0mnDpwFEarByb7KsZt1zFqH4Nl1UbKqTivGLwbdkYi
rKtONMjqIc0T42TNobjuUqoutNhAzM0mZhnkHjvJrrhZ2cjo3UlTKH1BexUXdX0ks8uwaRxtqtSU
+6vmYri90ZFB8zMc8Jvpx/ewIiw0yGtxfv4qdCvGuESAOE8CM00nsyNoxHefeTQpscsgiq2S40K+
KOnZF/CFsKza4PF7IY5JeMfansV5hTB7bPjqgc/j7y7/K4DUfuGcQ5uT9TK4fbFVMkwUinQ0KnH5
qh8PP/gIFgPjZNJHwBFg0DSKr7R+Geu6KgSsjVDIRTjSqqZMXGym2YTArWq4SlwjXWxlzDqDxcEK
qOXNeKb9Xkr9Grs3Tdhm0SRpwph9jPJ8ib4un8ODXCilTKhNO+J9EV8ghEWzG2f79bdFcRUdttOm
yJXfc25AH5cwBAC3N4DfXVlMkpF0I8QAwOMNIGIqTTm6j9ZndSygQ92CtybeiyvglYskqJdUQ5Vf
jkiQB51Hi7KCChxUt6GrOtrtPT5vp2RpThWrebI5noF+bnme8ruzy3P4qvxpyvf2TrDpd4ptTIdM
kt/pdHWsnL/xrhkHPlkKX8hDXeQX5mDdIcPX27+C8/rzSc0BQPr3LHY9/+Xdv6T8jtFlRkWxGqZ1
PUT5mrji01tVzET329YVNMEkW8t4FOFOwHbKcezz/q8f/DVmncl2Lp1+IZCtTs80Dg0AamF50npf
PP4cRkwT6NUPZnX+RMTq3qMtKgh4nKQ9RRauB58zmMzeU9UVtyZKhq6EMZf7ajvwZHvUR3y57zWy
sIpAYoHZ7dbYtt2x4wnbLAZ+P4xFc3SENlVjLoEjFR34/rn/D8BG/FchkoFNMT5LnFcMozu5wA4A
jC5T3IheYKOgKXEkpDivGEtuCynfhD8qziuG1WPFH7Q+nlXRcyYxmVSjVsfn7egZNsBR2E9r83+p
46msWO94Lg18gWisJTFufztgp9sUDBhkglzLcalMSO6PRAGygMdBiUyYi+Uy2EIYaCY70H3OIDvs
qOKqQ4cO4dChQwCAsrIyvP7661t+zVhjIBUjVGzny/VFZ9zfasRVtIwpY5Yp8Dg8PLT7k9hX0phV
8OJIzR5IOCoMT1mxKLgIPTbWRXRcs1gsGF2mjI2ujOhRmTFAN4XtkOObQSrGn0SqeeuqAw2sFpwd
M2Fs3o7vPtOFrz4WT9tPZ9xz1qVYntFhZN6OezuVONGogdzjxbRjPi5hcFHXj09WH93Se6ZDrmT/
TniHtkOO6X43JV8NrcuX9HnsjPiwR4z71Y9Am5CAGjKN4f+56+tokEvx4h8fwrkBPaZ1y2hvUKCt
QYHGSileemMYHDYb445x0jEknF3tigHNNPuCpkgF26odrSVNlPo324TWnSA3Ow23Qo4zeW6pAg/n
BvUoFPKw77gaOiR3DtSKq/Hub+bh9gZQIhVi0nEdMqEEetcSKaep7JcyUQUerH4QtZr4BFOmxTE3
k5hlkBvsVLviZmUjJ6MFbwRWY5ldrhiGcKrqCNgsFiZss1AXlaCAJwSHxcYfNX0JPRe9KFdyIRfn
oyCfjwCvlPLdk4skKCmIFoKruQ3oDcQXjq8GvKgV74WO4r1rktcwhVUJuBVyHAxFkjqQFSIZac9e
1PXjnprj0LuX4sakj5gmsF/VjAqxhpTLVHqV2Zc/nrgVMkwk0C+NLqFrjwqzY0GoyvZCLrZh1jWN
Won0hl1biyNbLIbbVfSfSSf8+72LtJ3wiXvTy30+SkY7TZEKoUgIPA4PcpEENeJKLC5TjxbNxBe5
XbBTbIpc+T1jNM+A6tnQya49YMCjJ7rA4bDw2gfR/YJkGPEbUF5YcWP8ZG3atbeWNOGd6x/GJUyn
7fN4tPFeNMhrcbhmD8Va49m3iGTw977aRXutOmkVam6wpsRe/+PiS+4UOc4EuWhIiJVzXyAEcaAG
k/4zlN81evT4xkNfBABMOMeSmgOA7GSirLiU0hYqLVJi3DKFZvFerJcUgc/lQC7Ohyjv1qUZUv22
T3alP367sRPluEZSQVlclU5mstU/mcah+Rwe8r3lSd8j9nqXz7NpWz1R9+rMbhzdp4KAz8W0bhll
igKEI8AbvzGh6+BpBG+wTpUVxO8J6UA35pJ2rOWqE3vkuyEXSW6LxradFDtWC8vR4/DGfUZX4JOo
P05WduFoxUF0a68kMXo411fQXrovY1mLLWhihQtIJkEq/5KIY7SWNG0qvpLJMVQySMi/uEiAglY9
5XGpbP7E30/OUwPLavT0ridcZ+fbyjtRFzNgkC22Uo6dLh8ONSvhXQ/C4lyDQpwPYR4XTgr/mMHO
QmmhkjJmrS4q2YbV3HnIuddjt9vxV3/1V1haWsKrr76KyclJDA4O4qmnnsr1pXKCRGNgt7SKHIVG
ILHyWiUVAdiYR8xls1J2yDfL6/Dk3gc3tb7GSikaK6WYtHIxcm6IvAZBJ/qd489nTXWbDswYoI8X
UjH+JHYuaERlGL0SxImjQqyLtPjH0R+h0VyLowkOH51xn5hoZFl347fTv4eIJyQDPtspa7mSfeYd
2hzofrdKYSO6A+ak78fSzZ8b0OO9Xg+OH2lAjcwJrXsGxVwhTpd+lpTFpiop2AVO8LTjGLR1Y81W
A5boACYWnEkdRQQ8fi92y6oxaBpLWldXWRu6ytu3/P4ZudnZyLQbOTHwWxiowqtvWgBEO+zZKxpy
/E/seTTCCqyuRwMSTpcPlWw58riROLvDHwpAyMuntEXuazyMWjl1kQdTOMVgO5ELnUcVWA1HwmCz
WPhSR7Lv8dIbwxiZsUNcJCDHGh87XAY+Z5hyfM9uWQ1e7nsN45YZNEuaIS+QYth8DRJeKXguDfI8
AvA5A4ze3iGQRmrw9tLPAGx0IE9z5rFP2QS9awnrQR+sXgem7fNJtufuG4HxWLlMxRTMgMFWgEig
h8MR9IwYIeBxoLMIIClS4L9//fFbupbtKtTItBP+/KAe7AInLsTYVok+aarzAcCwaTyu+KWsWIUh
c7LNn4kvwiA75MrvIcY4JYLq2dAWKskq8bmDjfj6/zqDcDgCAOi+uAYBTwFxURl0Qj4a7qIfPxm7
9t3ymqwLaajYt3yBEM7263HyLuprxTKmZLIuBtuLm/W5EuX8w/MudN6jSZvo7yprw0dzF25KJjo1
+ynZjksLlBhaGkPIXorBKWucbV0g5OecqYSIvyfqe8afzS02q0eyPY7u++W8JoSLhbDdGHvMc2kA
L33Dys3ovUTdGw5HcH7IiIeOVeHv/uwkvvGDc5jRLQNIvSekAp3cAvR7UpO8ltKPZbABuuee5y2H
L7CS9H26Ah8q/RFBJOncAFBWpEJ/Fn5hbEHTCasmbd7xVu/VhPzTxcKBDIoqY36/H//HCN6+OB8d
GybeGBvG2MoMGNz+WPH4cfHaEgqFPFSqinB90Qm3N4DDe1XbvTQGadAor6PMad6JzTfbgZwXV734
4ou466678LOfRQPb1dXV+Na3vrVji6uAZGOqWbkbPdqrGLfOQsotBdelISuvBTwOasuK4+YRs1ls
HFS3AojOuY+lXOZzeCgMVGF83n5TziVdR06uC6tSXYtxWO9MUD1vBb8Mv5qOr3Dmc3iQhGqR3xxE
z+o78DujSlnnMpKzuDfTYfHC0Wd3jKzlSvaZd2hzoPvdwh4xBDxbyhnxY/MOhMMRnOlehYCXD3FR
B+ZcPphka2TXIt0c+YcOP42fvr4Cnruc7CgiwOfwsO4sxEMVj0Pvn4LetYSy4lJ0avbntLAq1f0z
crOzsVkGqPF5O3gcG3zhqFz39K7jM48ls6/9avp1HOm8H90X1xAIhVEuaMSHpl8lsbMc0rTi3rrj
jPwwuG2QC52XbUCdiuGip3cd9516DGuieeg9eigLZFCL1CjmSvDS1Z+S4xr0biP4HB46hY/g7Ede
+AJreOCIktHbOwg2Yz4+IX0ClsgMzOt6tMnbIfCWg+dmkwV0BPsvMXJDdkPXvnT1pxDnF8fJ5ZR9
Do823AOL14E5h5Z5vgy2HIkJdIJ6v2234pav5WYLNejGnKVD4t6gzNOA5VTj/MW1+C8Knfj+uVeS
7PpEn5Rqr2lS1GPCMg1VgSLpvRbnF2/KF2GQHXLl9xCjdzJ5NnQy7Qv6MWmdyfj9I9Z+ZvYyZpzz
UPLVqBQ2IuwRA/LsC2lSsW89+3hLxr8T40veGaDSnYlyvu4LAo4yysacXI94J2IevfpB6FaM0BSp
UF5cCve6B0cKHsN7H7kQDkfIMTHRe8gtUwldHGczMUgGqbFZmUl3HJVcJ36/QbwXP3xFi3D4RhGT
ywfAj7/8Cv1eezMyTqd7R2bsAID6sl1kcRWQvU2WTm6ZgtjNg+65n+1eBZBcXJVNgU/iiGmpcBcE
HAHenHgPHaX74Av5YPcuozELWaPLO27nXk3Ivy8Qoo2FZyOLR1rUWHb7sLoehNW5hj01UojyuIyt
zIDBHQCjbRVH9pVi3R99v+vLxcjjc2GwerZ7aQzSQJxfjCeaT2PGsQCDywR1UQlqJZUQ5xdv99Lu
COS8uMpsNuOpp57CL37xCwAAn88Hm83O9WVyhlTdL9M6J37dPYeVVT80ci5JcdxSJ8cF7QdxLFK9
+gHkcQV4pP4B6JbNWFiZx15xO3guDV590wIex0ZLXZ8pbmVHDtP98/ECVdK/hf0A1iU62AIGVBRW
IGRT4bcfutBy0kQ7izsTmZm0zuCSbgAmtxUlhXJ0lbXtqK6cXMk+8w6lRyr9Gwc5SErlxJF+BGKD
4bEzoGOd6Avaq0myCwCBPDOkxQL09K5vjIAIGFAjroLPpMRP37QgHI6gUKhGXdke3NdUj4byrZkZ
z8jN7YVYGW5W1OOrB/4gaUQHHZqqpPirrx3Bh5e1GJtzoFQmgtE3gTHbFMm4QshrQKKHgKdAR6MS
77xvQUf7/Vjz6rESdKO2sBHt6mYcKm8CAEZ+GNxWuOnRglkG1O+7exdGHQsw+fWo5KqQ763E9UnA
ay9Eka8dbG0NVvO4+NDkQl3XdbKwioA/FMAKbwGAAgIeB3ft16BBLmXeux2A8Xk7zvbr0dHOQ6QY
kItkEPEKUFiQB90CBx27HoZAbsLc8jxYLBZEPCFMYWucriVsWWYvZrBdiE2gC3gciIsEWF0LbEti
4mYSlnRjzjKNhzTIa8ECCwWCAgwaR1EoCuJIZzl6etcRDkcg4HGwJtTCv5KZT0r1TtM1SaTzRcbn
HWjKoliMAT1yoWtjR++kezYN8lo80nAPph3zcY0MvfoBFPKFONH+KdpCrUS/tVG8Fz3vSpAvUEDr
8qE7YIaAt7mYX3OVBI6VNVSqirCw5ILbG7hxbxJy3Zn+Tsz+tTORir0mFql05/Of3Y/fX12ExbkG
uTgfQTcXbcUPIl9jwdzy/I3zHkxqwM2FTHSVt1PqzJfeGEY4fHOFDJmAKo6TTQySQXbYrMzQHZdK
rhNjweI/UZH6/NQBRUZ77WbXGxtDJGwup8tHym+q4t1M3ul0cssUxN4cqJ57eL8dv7uSWcF1Juf+
xbV38M71D8nnSIz8vaviEHgcfk7XfqvRUiuFzx+E0+WLi4U7gkY0ybOXRR6XjcEpK/yBMMlkCAAP
HK3eqltgwIDBLULnnhK8dXaW1K2LZjcEPA4eO8mwH+10jFumseJzo0ggwt7aE9Cu6DDr0MK+6sg5
acTHETkvruJy40/pcrkQiURyfZmcIF0XQV2ZGPcersTwlBU8DhsKST6OtKjRWCnFK5PJc4fXgz5c
0PWiZvU0PNNK6Fy+Der6MPWM5626LyojP1OHngGDqJy2oWdYCTibgRUezvbpUCIVwhZIpooFUs/i
Jr9jncF70+fgDazB5nUgggjemz4H4NYVBGT6HjDvy9Yi2+5DupF+xHcz6VqOlVGCcXA96EO/aRiH
7qmBNFyDnovr2FPTgc90PIozfTq8f2GePMYfCMNo86B70ICGiq3T5Yzs3R6gkuGP5i5k1EEb94wr
a/D59n3QznBw2auDPxSAedUW931bwAClpBLr/iDWfEF0XwxCwFNAWlyO9aYIellX8MvJ16EskKNa
XI49yt2MzDD42CCT4OSkdQZn5i5i2rEAmVCC8nwVgAjWBZMQtTghFFdDKayAOX8atqARDdVqiIvz
wXayEY6E485lDxjw6Iku7N+tYBLrOwjnBqKFVaP4LVrzm7EeDOH6yhjkwiW0tu1HhbCVfF7/9YO/
xqxTm3SOKfscYycy2FYQhSKjpmnMe8dh8RuwX1wFdoETgPSWy91mkz90Y84yjYck2ljAIvicERzp
PI3ui2tQSoTQrw5RH5uhT5rt7xg73oXB1iLb55PNs+nVD8LksSQ1MkzaZvGlDupCLXaBM9lv5VzC
vn2n0X1xg60nGxmPxe6Wdawq9TC6TWjbVwIVpxbv/GadYXu4Q5BN3COV7nz28RbIduVhYNKC/kkL
lBIhju9rI+Vt0jqDbu0V/Lj/tU3tD5vRi+liMLnas+j0eib6nsGtxaR1BqPm65hzLsLssaJWUglZ
uB6BULw/Racvb+Vee7xNgzM3GjMChYuwBZdQySvFvupKci0Z7wkU73QmcrsTimzuJDRVSfG9r3bh
bH9uiuGvGoYpC+QmbbMIhAL4YPbcbcmgN2mdQaBkBAX8eVRyVeC5ow0MorwSfPeZR1FXRj+Kk+pc
F7RXMWGdQfsn1JAXSDFsuYxKTgl47nKcH7w1uVAGDBhsHWwr63HNX8TYT9vy+nYvjUEaTDtmsU/Z
DKPbjPesZ1FaqERpoRIj5vHtXtodgZwXV33qU5/Cn//5n2N1dRVvvvkmfvazn+Hxxx/P9WVygnRd
BIm0tUda1KRBUCMup5yNXV5chunJlThKZAK5pkamAu3Yq4rH8bb2jaTPH2m4B/3Ga2hVNaO1pGlL
xgwyuD0R69R+/X+dAYCbmsU9sWDH0PIE+owbzonetQQ+h4eyopKcOSMTC1HmgsQRFIST/x+T76d3
ghna8S1Hpt2HhB6GyIkez5u0zySTruUGWQ2ptw+qWzGwdC1BFi/jxT/ceMY/+Hk0acNms9C1R0XS
n5ocazc96pUK2cgog+1HtjZErC6i0i/fOf483Npa6N3J+rVeUg1xayl6R00okQpJR6amPoyBwK/h
1xNjWpcwYp6A3mUCAIQ9YnINe6ol2NvCwYTzGlMMwOCOQrrRU5PWGfyPCy9BxBPCub4CvWsJh8s6
0GfcoL7XFJXgF1O/JP9vgBH8ZR4OqlvRqx+Iu16zohaf62i8dTfIICNM6ZYha9ahVdictL+PWafw
p/ufAXDDj5NUUBZXHVS3xskK1R7M7NUMthrsAifeNvyMlC+dy4iL+iv42sEv4O+v/NttIXepxpwB
6RPudDYWZAY8dKwdR1vV6LGZoXMlx2PS+aR0dtgTVZ/HR2dX0Vgpxol2TRxDLoOtRzqf70jBY8Cq
+KYZw5oV9VhcMSQ1MhByQ5XYf7nvA0p5JJhlYwtL0sX8EmW/RlKBnwz9PMEnHcUzX/wck4y8Q3BJ
N5Ax61I63dlYKUVjpRSfuzfeDqXTa5m+N5uNf6WKweQyphYbx4mFXCTFvwz8El1lbTtuH/w4IVZ/
+4pm42K+OtcS+Jw+sjg6/ritz5GkQlOVFM9/qQIvDf4z/M4NH3BiZRjSoo04Y6Z7QuI7TSe3DbIa
XLfOolt7JckOmliwY2DSgr5JC5oqxTjRXpZVocvHFbHxgJZaKT5xsBzPPt5y0+el1z0SskA79rmn
s283OzI7l0jUzQYYweeM4HOPPY09JXVZF1bFnkvnMoLP4aFNtRe9+n7wOSM4KnpsS+6DAQMGtw6z
+pW4sYB7aqTI43Mxq09mL2Wws9BVdgC/Gvt1Ui7+iebT27yyOwM5L6768pe/jLfffhsulwvnzp3D
5z//eTz88MO5vkxOkKqLYFrnTEllLxdJwefwkuYRlxXLIaqWYNaQGTVyrrtP6QKRi76ppO8GwyGs
BddRJCjAZf0g5hxanKjqYijhGCSBoEsmZnEX8CfIxJM/FEg7i7t7yIA3fj+N0gN6Svmcc+pu6l3Y
6JSYhYSrAg9l0JnXyff2G39SiVdG/gV10qqMnGCGdnzrkUkXF0EfDgD7T5kzeiZcDgtKqRDiQgFY
rPhzH604gLML0fP5Qr605yPkvmuPCiMzVojyeXC6fFg0uzE8ZcVffqUL7AJnktwCyFqWieR/pjLK
YPuxGRvie1/tQo+NWr9c0F4hZTTRttgnb4G0hgujQAvd6iI5zswnWoTfkXyuteAauuf7cOadInK0
SHlVAK+MvE9ZNABkL7MMGGwVsrEHMhk9NWq+jlpJFWxeB5rk9RDy8rEeXCffMz6HR7sn+EK+OHuf
z+GhSVG/VbfO4CbQ0aDAcOgi2KFCymd52TAAMUeFxkoppa6VCcUIRyJxspLHFeCKYYjcg9Pt1Wfm
LzG6k8GmMT5vR8+wAY7Cfsox1r36wR1jI6bT07GjdmLRVCXJKOFOZ2NZAwa88MgfAQBYImqbKZVP
CtD7eWOOa6goaYEbZrw53QfHxBIa5YxNdCuQic/n4MxhqF8JL9uCs2Yz5pYXsvKzCHmtEZfjcFkH
evUDJDNlOrmhk0eb3wBxUVlcY2WqcWiJsm/yWGD12invd9hyDXfXHkp5X4nYCUlbBlHEypyiQIpO
TRuuGIbi2FCp5CqV7kwFOr3m4Mxh8Koi7VjWm4l/0TEN0Z3z3emzYIGVVWNvo3gvznKS9T2XzcW7
02cyZo9mkHvE6u8Dn7QhHFyjfO5BimLUdHJ9K3TahPNa1rKfKZMaXWynSVGP7537YZwddF57GV9s
eQqX5kfhiCxh/7G9sHpm8dK1/0StoQp313Qy8k0DQgYDoTCOdObBIryCf7j2n6jL8HdLJWd0z1DA
EcQxXwLpi1Q3MzJ7Kxhr6XSzmzePpqrOnJwrNobiEy3e1HoZMGCw/TjUrGTGAt6mmHNoqXPxjuRm
UwbZI+fFVQDw0EMP4aGHHtqKU+cUqboIzvbrUlLZX9YPoU21F76QD9ZVB+QiCQScaAD+0/XteL93
MYkaeU+NLO58dIbX1w5+AWOWqc0VmdAY+Ub3EsR5xXEdegfVrXh/5lxSZ7c4v5gx2hnEgaD7DoTC
YLGAZkkzDF499ikbUVaoQXlhFa3MTCzY8furiwgEwzB5rJTf2ZVXtOmutqROCRjA5wzHdUZdMfRD
xBPCukrdGZX43jC041uPVPqXAEGLn8k4yvF5O/7ix71o261AMBhG95ARk1onTh0ox7FWdfTc8lq8
ePw5jJgm0KsfTHk+ADjRrkHPiBEl5etgqc0IcFdRGxSBtaJGX38AU7Y5vN7/0yS57ShtwUVdX9xn
6WT5gvZqVjLKYPuxGRtiYNKCSdDrl7uU9+IB1VNYXJ+E2aeHWliGsKMUl0eXMBB4J667TFNkBIIs
ynNZVx3ggAtRvhRubwD5Ai5KKtcAbx0C4QAqd5WBw+agVz+AMfN1vMUwsDC4xUg1wjobeyDd6KlJ
60wcwxDRpXOisov8vjivmFb32lYdOFLegWn7AmnrT1im4xoRmGTmzkBbgwIrhhrMuCYp/27yGjCr
W0ZjpRQN8lp85/jzuKC9gin7HA6qW8Fhc/H29Q/iGM74nCh7GbEHp9urp+3zmLUvoEZauVW3yeAO
BZFwERcJUNCqT/q7OK8YupXUtvDNJGAIPTalW0ZHgwJtDQpa5qZM9DTdqKgT7Rpc0KZnfMjET4h9
j4l7PpJJoQ1d4ZbfgIOVjfjN0q/JwnWdi7GJbgUy8flsfgM+eVcdznt+Bb82XvaOV3SCxWJRyjyV
vPI5PDzRdD969YNoVtTjWMXBlHqblrmCr4bO5SP/nziSPhGJSchU9gfd+06HzSRtieMYGya3oJO5
Q+pWXNIPgM/hQZxXjGaKYn2Iz3KlAAAgAElEQVQ63bmnRoaX3himZ2nNoAAw1cjKCSv18RM3EYOg
W5NuxYh/6nsVz3Q8nbFevTYcwj7WaQQletiCBshFYjL+DjDNaFuFTPRDrP4OcDxw0PlUgfhi1ER9
mWjDNIr34oevaLHmCwLIXKdli83EfjOxUYCN+GNPzH0dqTiAXt0gxHnFZLMyALSWNOMnQ6/CHwqg
U9OGD+Y/2vBf3VEGU8YWoQYhg8cO52Mk8usNFrIMfjeqvfNMvx7/15OtGJ21YWLBiYcOPw07exYz
jjnIEnQPsPHc0xWpEutMHKtFp5u3aqJGLvMdtDb1qoPMQWo9C/jFtXfQUtLIyC8DBrcpjLZVyrir
0bq6TStikCmIySaZfs4gO+S8uMpiseD73/8+Ll++DBaLhUOHDuHb3/42FApFri9106CrQD9ScQA/
OqujPGZ83oEZvRO7OCXo1feRjjFBB3pPzV0Ynrago1FJUuXJxfnI43MxNmcjk/wAPT302YVL5PkW
Vwy4sHgVX2j9NAaXxqB3LUFdqES9rBp10uSCFjojv7RQhSHTtbj7zIS5hQEDYIPue9Q0HR1TYdpI
Uo5wJrCf8yDEbBWaqqS4tNiPXv0gdCtGlBWXor6oEY6VAMwOL7qEGuhdS3Hn5nN48PhXN80AQOfA
EDT94iIBdJ5FONdX0CSvT7o+QOEEZ+gsM9g8UulfAgQtfibjKM8N6NG2W4G+CXNcJf3orB3S4jzS
WW2Q16JBXguXz5MkC2wWG52a/Xi57zUy+PGlP6zGuHUShSwOtMsuFOcBQpUOj3y6BFOrfZSytxZc
i2M6yUSvTtpms5JRBtuPzdgQ/ZMWNB2l1i/Vu6rw//7zJbi9AQh4coiLNOhfC6BttxRryqEkhirL
qg37S/ZC70p+L1QFCshEEgj2sGHpZuH4MSEcvjkEw0HYvU7IhBII2fl4rOE+zDp1jC3A4JYi1WjM
bLvcx+YdSQFKYGPMxJn5i5TnW/G5cbT8AC7q+lPqXplIgquGYYh4QtI2ryjesOU3m8xkkHtEIoCK
W4kVoSXuWbJZbBxUtyISieCM+2eYvqhCAU8IHoeHE1VdOFpxEP+z5x9xvLKTkrXKF/KRCVBir26m
kRe5SIJu7RWmuIpB1iASLnQ2r3N9Be2l+2htxOvW2U0nYIgGhY52HmRNi+gLnsfCdClOhA7hSM2e
pO9nwnBCNyqqsVKKVyaTEzF8Di+uyCSVjUVVRPaljqdS3mPi70Vlh5XklUPnm8zKJtoKRoGPIzLx
+eR8NZzsWcrnY1tzYMwyRSnzdPK6vO7Cl9ufQrf2Cl66+u8pnx+dPB6vPgixKxQn4+wCJ17u+4BS
JhKTkKnsj7LiUtrfi0ruzg8mJz0AYPC6hdYeYWyYrcFHcxcoZS4C4Gj5AXj8Xti8DqwF1jFpnYmT
OSrduadGhr/75VDKIhM6vSaLKQBMNYJNLSyjHLOqFpZndM+JMnms4mDacVrZ+Jqjcw5ol9ZQrqyA
6qAXY5boZAa5UEIWqDDNaJsHlU4Je8RJ+qF7yIDvPtMVNzYsVn/XBkWQCUGp0+qk1eA2KTEyY48b
H0lcP8mG4VxCR/tpdF8MkudIVYhCdx/pZGwzsd9MYpnkeW7EH2PXaFm1QcjLR6O8DsFwEH3GETI/
w+RqsgcRDwgU6ShZ3VP9blSNWm27FfjhzwfJz+dfX0GhUIxvfvkz+PuBf4LHv8FWGfvc0xUtTSw4
cexwPgKFi7AFl1DJVYHnLsfkgpPyuK2aqJGtzKd6r9LpeeLf71z/EO9c/5ApEGTA4DbFgjGZVRUA
5mk+Z7BzUFqkgI4ib6QuKtmG1dx5yHlx1QsvvICOjg58+9vfBgC88cYbeOGFF/Cv//qvub7UTYOu
i6BBXovmqlVaOuYzfTrwQmXgc6JzxAk2qNikqnbJRSZ7Rmft8AVCqC4tjqeHFkXpoYdMYygWFJJO
YWyFNwB8quYuvDLw87iu+0HTGB6oP0XeBwE6I1/FqcEQNoqrUnXJMU4pAwCUM+DdvAVK4369WIee
YSVWOAv4+yv/Fier/ZwRPHbqcfzLv4cQtmvA5wzFnUMhksHgpq6WzYQBIF2XntPlQ6OoHHq3EXlc
AeU4z0QnOBtnmcHmkEr/EkgcR8nnjNA+kyndMopF/JQMJrGgesadmrY4Bh+9awkejRehSAgGlwky
oQQFfCEWVwyoFpfBZKZmYkvU4UB6vUo4pZnKKIPtx2ZsiLqyXThaoabUL9JIDdxeM4Co3BJdnTwu
CwaKLn5/KIAigYhSXkoK5Bg0jUFeLMFnHmtCmO/Ge/PDAKL7/7g1Guh4aPcnYaZhFGRsAQZbBbpA
4bBpPOsu95PHRDD5LdCuXkMlWw6euxw9vetoqpJg1r6AafsC5fkMN7p0Dqpb0asfoNW9Ao4AHr83
LohKxbAYC18ghJ5hA5OYvMU4N6DHmX4rnnpiL6Yd8yQDVZtqLwaWNkZ+GNwmHC0/ABabhX/u+xmU
BXLcU3Mc70z9DuvBaAIylrVK71rCk82nAQDNinr4gj5IhWJaeSECyQwYZAMiOUln8wJAp2Y/+o3U
tnC39sqmEzDnBvToaOfFd/vDiImVYUiLkpMgmXa8042KalbUk4kYovhxPeiD1WvHy32vkUmbZ/c/
gyuGAeg8WpQVVOCgug0AbrqLn87PEweqMRk+S3nMLAVt/lYxCnwckYnPVxSoxCx6KI+P9b0SZZ5O
XidssxizTpNFAKmeH508HqnZgyMxuch0MpGYhPSHArT2R6dmP+W66a5xpOAx8jtsNgtHOvMQKFxE
f3AQa321lEUGg9ctSedPV7zAIAo6Rp9Z+wJmHdQjkAwuE7gcDuad0SYcvWsJPbq+JJlL1J0vvTFM
FlYRSHxOdHqN59LAF1i7cV76EWxK7EYBfySpaCDfm764KtVEhlTjtLLxNQkd4XT70MxV4KBaSBap
EQXxuwSFGZ+PwQbont9D6qdJH4fNZqFrjwrr/iB+8Nog9tRISZmP1d+sFTWEKh2lTjtZfQgNh6j3
xnQNs8Q6BDwOLA4v1Sk2vScfrTiAi7o+0m8gCpxSxd8yiWXSrfG/nf8RWkuaUZxXhBnHAuRCCR6s
/wQuG6LM+kyuJns0V0ng8wfTTjugwlhC0amAx8G6P5jk37u9AVztX8MLx56lfe7pipaOHs7D24Y3
42xtPmcEDx1+Oqt1T9pmMa1z4ndXFjfFOkm1X+RxBdij3I1fXHsHQ0tjqJFU4OiNdyDVe5VubGLi
CEWmQJABg9sTGmUBFs1uys8Z7GwU8Qsp7bJCvmgbV3XnIOfFVU6nE1//+tfJ///pn/4p3n///Vxf
JmdI7CIgQEfHfLxNg394YwQ68zqOdJ5GQKKHzW+AjK+GJFQFrk+K5qpVmGyrSV30Rw7nxRkletcS
OjVtaClphMFlJp1Cf8iPUct1AEABXwijx0zpaBjcJgRDwbj1E0b+mflLmLEvQFkgQ4mwFEuLYbSw
TyNQrIcjZMRuWTUlcwvAMKR8nLFR/DcDab4YAq4AetdSHOU+wdYWS2Fs8xvAce1Fr36YUlYXvFOQ
FpfhwqXoexOU6GELGFAnrcbd1Z3o1l7BIgX1vVwkwe9ne5OKq4h1zjq0UBeVpO3SO6Rpx4C1H1cM
QziobiXHedZJq3CyqoscRUQUPjbKavG1g1/AeMx4zkycZQbZgU7/EojVwz29G7LjCBnRmPBMOhoU
uDiSrM+AaJfmtM6Js/06GKyrUMtFONKixtcOfoFkWasSl4HNYsXJ70F1K/qM0YIUab4YQl4+Vv1e
hCMRTDvm0V66F0a3GeFIOO56sV065L2m0auEU3rFMIRD6lZEEN0jSgrkqBZn1jHK4NZjMzZEg1xK
GYz7h/+TPAYIiHaClMjUcV38hB72Bnw4WXkYnoAXi8t6qItUYLPY+M307xGOhKPjfjlTeKDuFNpU
e7Ee9MUFoReXjagSayi7GBhbgMFWgS5QOLQ0llWX+6XFfkytX4HV64BMKEEeN4Ih929x1+EHcGK/
Bue1H0EmlNAyDI1ZpqAuKkH1rnKwQjzcp34EC54F2PwGyPlqNMrq8NbcG3HHJQbbp3TLKJEKSXuf
SGg6CvvwZ++9zTCZ3EKMzTvgC4Sw6uaiWdoMw6oe+1V7wWaxyb09jyvAww2fwrR9DnPORciE0UTj
O1O/Q2tJM3r1A+T5/KEAfCEfGuW1qJFWYtI6g/XAOngcHlbWPbi/7iS0K4ak8fCfrD66LffP4PYG
kZwEQNq8AYkejqARe5UbY8vE+cWUSZ2X+39Oed5MEnFTumXImjPv9t8My0Osn1UjLsfhsg706gdw
UN0aV/yocy3h7MIlPLv/GfztjxcASCAuUuGSxw92pxlh6dxNd/EThTLn5q7AeiOOw3NpcP6SB60n
y6B3b9hERPEXi8XCn733/TidTpcMPjN7mdH5NKBjP6D1+YJGSLil4Lo0OH9hDS0naFitYnyvRJmn
k1d1UQn6jSNxn9HJ0vi8PU4ee1w+9GAB4q+o4pKZ6VgmqJKQI+YJ/GHLpzFquQ69awmaIhX2q5rj
xg/Hgu4a68JFCHgS+AIhHOnMiyuW1LuNcclQ4jmMh2ew/24VWZgeDkdu3C89wxEDesav7321C72O
K7S2Z0mBHEvu+IK2WPmgez8Sk/8b69j4PLbYY8I2Cwkn+t709K4DoB9ZSVxzwjuDZkkz5AVSDJuv
QcIrBc+lAbzipGMSQSeTE5ZpvHj8Obw7fRa6FSPkIgnEecW4qOuPrjkLX/N4mwZetgXrIi1m3UuQ
CcXI4wpgdJvJgvivHfxCxudjsAG657fgnYCAJ4cvEELXHlUSQzzBnpaov492leOeKhmWvEaYPTbU
SivJmCsdaBtmAwbUl9dj0ezGXV0FcHJnYAkM4pU+LZoUdRiLidfuyitCMBxfEJOpfXCgtAUzjgXs
UzaiRlyOZuXu9IxXaWKZVLigvYrWkuY4u0fvWsKYdQr31Z3E4oqRYbPfBI63adA9ZEg77YAKLbVS
+PxB0pcXFwlgda5RfndszoGvPtZC+9zTNWnbWNTsm1bWFP75yjyu22cg56tRLWzCXlUdrf0Sy3gP
ZM86mVgc2CirRZWkHL+fu0jGVVw+D/7b+R/hdP2plHZN4rk0xaWQCXdhcGkM+1XNSSMUmQJBBgxu
TzSUi9E/YUnKcTSUp7cTGWwvCvkiPFB/Cga3CUaXGaVFSqgLS8CKsLZ7aXcEcl5cVVFRAa1Wi4qK
CgDA4uIi6urqcn2ZLUdTlRTPf3Y/Lo0YoTW5UVFSiK59pXGdGd0X11AoLEGlqh5jSy7Ul+fhLy71
4o8+UwpHkRm2gJGk+RwZCSUZUkTiPtao5nN4uL/ubgwsjQIAKorVMLrMlGs0uswo4Aop/3bVMAQR
T4gR8wT6QiPgc3h4SP009qoeRmNl1Ni6tNiPwaVRhiGFAQCqTh8j2bXfqx9AMBxCgUCEZnk9rAkj
U2R8NTQyIQYoCqSAqGx/6tAxTC06oZ1dQ6msGU913o8DTVEKwggitN0Ok/aZlOuUi6SUFbjSUDVO
HRCTHRzSog2Dv1lRjyebT5NFW1RdTmcWLuI7x5/PaswEg9wikRa/EBKcqGsndVgs2hoUmNYtU1bS
15fvwm975gEAy+5owd2gfhLvmn8BIMqe5lr3wL62QccclSk/WZAiE4pxXns5SV93atpwUdcXd1w+
Nz9rvRrrlIYjEVzS92/ocOMI/mPyfaYT/jYC3Tic2PGUkVUx8mwW9F2wwK9dxeF9JdCaXGRiA4g6
K1WlRVAWVWF0eQjBcIhkeLB5HQhG/FjxBWF0maEQyRCKhOKKA4Bo8COMcFIQj8/h4a6KQ9iVV8yw
pTHICLkaf5QYKCSKBetl1egsa8uoy33SOpPElMnn8NCm2ot8juXG6KkplBYqKeVbnFccbVRwmSAV
imFaM6Jc0AT7WA06GrpQqSjG3/1qCG377ycbKeR8NSrydiPsEQPyaHKtRCLEoj+EPTVS5PG54BQ6
MRz+Nfw2hsnkVqNOU4zyqgDes/yCfN6BUAA8Do8skJALJXhr4j1KufGFfEmyYl114Mnm00l2ot61
BB6nA9P2+biRkYzuZLBZxCYnw+EIui+uobhAha9/8RBG7SNxY8uofJObGWne0aBAX+A85d+okiCZ
MvwSzC4QOdHjeTPOz+JzePhs82lMOahZka8YBgBISCbPY4fzoeX1ADSTB7JN1hyp2QMpV4X+CQv6
xyyoVBXh9NF8rPiE4HMGyDUlFn/F6nS6a0455jCtc8aNTWKQ7G+bPBaMW6fxlY7Poamqhtbnm1iw
42y/HkqJA3WFezDhSma1imVFSJR5Onkt4AmTZA+glqVYlkqCWZb4PDaRmY7Vjaqwr7KgEv9n+HUA
UcaSgaVrGFi6Bn6kCNeGQ4gInVjL18Lg1aFRXoNIJAI2i53U3GPwLkIp0cDs8KYcjQTEs1DobzBn
HOk8je6L6RmOGNCzlg5MWjAGetuzUlyGYfN40vkmbbPo107hb6/+iFLXxBbfxiLxOcUWexDvTbky
2Q8lr5vwTupc0fhfp/ARnP3IC8CPv/xKckEW1fqpMGGbwR93fBYssHBxsR9WrwNT9nk0yGoh5OVn
ZS+xC5wYDL1DFgwSayVilf5QAOOWKdqiRAb0oHt+Zr8B4iINnC4fJZMPwZ727OMtcfq7ICJBh1SD
xvbM2e/obBiNqBwFNSHI95kw6dZBxpNAnV8Cl88d5wcSdgUhD5ncH0D1DixhxDyBZuXujNeeDWYd
WhTlFVDaPfbVFRTwo4xsDJt9dmiqkuLFPz6EUdM0pY1A97tNWmcQKBlBAX+ezN319fvRVCWhjCun
2xvDHjEeUj+NBe8EzH4DasVVOFlziNTLc8vzlMfNOhcQCEWn4uhgxChnCDrTg+jctxdnOakZ7wGQ
U3OyYc6O3S+o/FzCP15Y1ifJIhD/XsWe679+8NcYNo2ho7QFF3V9SccxBYIMGNyemDEs48Fj1bA4
vPCsBVCQz4NCIsSMYXm7l8YgDSIs4DdTHwGI+ppDS2MYWtqYiMbg5pDz4iqPx4OHH34Y7e1Rp2Zg
YAAHDhzA888/DwD44Q9/mOtLbgnG5+344c9v0LIWCXBl3Iwr42ZIi/NwvE2DM/16tO1WYN0fhNW5
hvpyMapKiyGSuvEv469sjJ64Eaz4+he/gtevRzt0+BweFEIZ7Rxt7Q3HgPg3XddCaZESIn60uCqW
yUdRICNHmPA5PChFMjjXV+DmzaOxspM8vqu8nbb7lcHHD3QdS0SyqU21F7+Z+oiyuEQe2g2n048y
dSn5eSy7VVmRCuuOAFyrfhzep0JbgwKNlVJSbuedi3ig/hR0KwaYPLY4BoA21R78y8Av0VXWRtkl
TLBRsVgsGF0mWjlO1VlEd+8XtFewW84Y/9sJupEiiWislOLUgXJyDCuBfAEXlaoijEzb4A+GoZKK
ICnOg9E/EFeosrLuQmmhktS14rxiSPJ34bz2MoDoCBMqGQlHwjigbsGS2woZVw2eW4OwhY2DSg4c
fhNaVc1oKWnKSI4IGX2577WkMVSZdLUy2FlIJbuJHc8zumUIeBwc3afC+SFjHPX+vNGFoGoRbaq9
kIskeH/mXJIe7ihtAZ/Dw4xjIelafA4PBpeJUn49fi+E3Hx85/jzGDaNkxTgjC3AIBG5HH9EjF8o
5BegRlJBjvVYC0S76xO73GM7HomAXCqbxbZqJ7/7u7kLcYyVcpEENeIKfDAbLSTQFKkQDIcQCAex
GBrBM587Qd6PzuLC5IITy9pqVJW2IhCM4JfDBrg6oyxzse/wotmNQiEPbacs8JtvjlWFweZQKhdh
JjwUl1Amur81RSqMWiZRJ62ilZvlNRcUIhkCoQBpv1bs0iAUDlPKW69+AE803Y/ldRfjRzG4aVAV
Ze9r5eBH/f+Ukd6lKyBpEO9Ne+32RgWWdbth9VozSoJkMg5nWufE939yGf5AGPtPJbNwAwCPy4dz
bYVyTTqPFuIiFUx2LwQ8DgJFOlhWbDfN5pBkQ7cfwOfuPR57Jhy3qtFzI67CSmC1BW6wU81fihtv
GAsZT42z/TqmuCoBl3TRAojYUZA2rwO/nT6DCCJoqqqltJsbK6VxjTX7rDKSnUcq3BVnI/A5PBRw
i9GvnUJ7RT0Aennt0fYlXQuglqVMmIOIY9MVOY4MhTBwVQFxURnMawGw7tooMIwdKX9u7goErDIM
et6Bf4VI/Bsom3sAoFFWg8NPtmBg0oL+wCDlemcdWkSAlOO3AFAyHDHYAJ089E9a0HSU2vbUFKnA
Y3EodWG1uAofzVyifC492qs40f4pWkZkOiS+N1Sgs6W9Ai3u6WzHkRY1rS+bCZN8g6wGEwt2jC5Z
8ZHhQpL/em/d8aRj6OIc6WKVsQ0YDJKR+Ls2K+oxbpnGjGOB9vnViqvQvRZIyeRD6MDEuMf4vB0v
vTGc8cgyOhtGxS/Db61vwL+8ITsFfCH2KHanlQcCqeyDdGyDuUarqhmX9dT6eX5Zh878R2AtmIbB
ZcQ91Z+AY80BvVvP+BgZgJBBwkZI55slxjaI3N2nH3waqvyypLhyOp0bG98rFCpRqarD5aseHP98
tCkL2BgvHzsFBEiefOAPBbBerMPEqDIl433sCGBbcAkOgRqTVuGmGNXo3qeVNRc5djkWdO9VjaQC
s04t1oO+pL8xBYIMGNy+WDR5EAoB/kAItuU1cNgsLNlWYbB6tntpDNLA5LFQ+pomT/J4eAbZI+fF
VQ8++CAefPBB8v+nT5/O9SVuCVJ1pz37eAte+Hw7/vfPBkgazkWzG1OLTtqkyqB1AJW7NCgtVGI9
6EMEEdo52rZVB46Ud2DavgBVoQLtpXsxbp2KS7TzOTzUSaqwW1YdZxQqRTL4VvxJQasmeT3CkUjc
dSYW7BiYDOD6jAatta1okynQIM+8u4TBnQW6YIR11QGFiL4YMBRkg8VmwyUZgIIvwuGyDngDa6Tc
CXn5OKRpRdeR+OA+IbdEgYvRbYLdu4xaSSWC4SAu6vrBZXPAZXPx7vQZfDR3gbJLOBwJo1c/gFpx
Bf7nvS/m9N6ZAM3thWOtakiL8+ISU3trZbg8Nw5W2SJKd+XD7fNg0m2Gki/DQ7s/ifdmzpKOn7JA
jgK+ECKeEIFwAC6/h9SrdPo6yl7BRQPrBD4840L7bjHWAkEo86vAFbJwRT8Ml8+DCCIZO7mp5HHW
vpCzAgcG24dYG4PoNHO6fBDwuTiyrxSFQh7O9Ee/UyIVQr+6CKvXSlvkx2IBbAByijEU4rximDxW
ynUYXCbcXdWFIdM4hoxjUApVCDpKcXZxFeH99ow73xjc+ch18Dk6fkGL1RvduTavA4FQAFeNw3jh
6LO4v+4k/qnvVZIRCIgPyKWyWfZI92BiwU4G6nv1A8jjCnC8shMO7zJ69YOoFldAyMsHCyz0GqMd
znrXEvqNI6Q+vTxqgj8QBhBB95CRfGenddHurMQOblE+D0avjnJdjD2x9ZiYd2JFHZ8c8ocCKOSL
EAgHIeIJafdy66oDexT1sHmXYfJYSPs1HA7jH/v+HWxWMmV21P4c3LTtyYBBIhKTky/3vZax3qUb
dffDV7QQ/4kqdYLcehVz7hk0y+shuMFKHI6EUyZB6JpWyBFT1hk0H1NBEqrBbHDDLomNUXw01wN1
oQpykZS8JoGyggr03BjvLi4SwBYwwh8K3BSbQ6ZFwrH39mfvfZ/yXNP2efxBy6P4aO5C0lp4Lg1G
5u1p1/NxQGxCXyGSolPTBhZY6F/aYJZI3HvTIfb5XLfO4nezPSgtVEIhkqK8WI3Z5TlcXurDpaUK
fKLmCPn9xHPz2Fz06K4mxdioZClT5qBMWN2IEbYW5xru66rEVKCf8j6XQ2bId7HhtyTrgGAkiKPl
B3BR1x/3rjbIowU1rsvVceMtCbSqmnHFMEx5PXvAgEdPdGH/bgVj/6fAxIIdZYoCSnmoK9uFoxVq
0vYkGg6n7fM4UdkFcf4GWzDxt9WAFyp2PaZ871Feb9I2iy91pGZE3vS9WGls6YABLzzyR7THZcok
3yDei++9chnNdy1ltJfR6ejvnvwvKe1+IvHfIKvBdessurVXmCa0GBC/KxCNC5xduISzC5fQptqL
WaeW9vmdrDmE438sRs+wASbHWsZMPnRjM1ONLEsca6nK06DIVwWjbz5JdkQ8IfQuE+V5YuWBuI9U
9sFm4sCT1hmMmq9jzrkIs8eKWkklTlYfBoC0DZCtJU2Yc2gpi8SVAg3OnnXDH4gW3/6ny4fykir8
7//7i7RrYZCMTMc10sU23Lx5PNnamRRXTqdze4YNCITCOHY4/0axUz/qalUYNe1CU5U0brx87BQQ
LpsTx75JwOY3IGhpRIN8X9L9NFauYt64kjQC2OA24tq5oTh7imCRnVhw4vixfJhCU5hbXiDHD+7X
7E6pX5sV9ehZvBr3ear3qlEcZdsimuCJIuMacSVO1Rz+2OtjBgxuV3Q0KvBO93xcc6mAx8GDx6q2
eWUM0kG3kmxzAICe5nMG2SHnxVWPPvpork+5LaDqRmKzWWCJnHjp8quYts+h+ViUNrSndx3hcCRl
UiXqUHfil2O/Jp1pekaqEvQbr6GjdB+W11fwzvXfYZ+yEXKRFINLoygpVKC0QAmT24qHGz8VF3iN
7dAeWLoGIOpAjVujVfDHKg+iQV6LntlRnJ27DFvYCFm9Cgb3Gv7zn+fwF3/SyQRTPqag67SUiySw
ehy0CSnjqh4G6KB3LaErvw39FKOn1KxmjIfiE/WEM9OpaYsbtzC/rAOfw8MD9XfDuuogO1GJAEy9
hHqd5UXlmLTO4JJuACa3FSWFcpLtKtt7J4JdzYr6tMcy2B7QdTUmJqZ+3nMJg6F30Cbci25tbxzt
/Yh5Am2qvejVD4DNYoOFaDeRwWXGXmUDrtvmAGzoVSp9XVakAttejd90O9G1R4W+CTMOHuCj2/1r
ssNu0ZVdAVSqrufz2j3G4nwAACAASURBVCu3tLuOwdZgbN6R1GlWyVWBFy5ApViBab2LdFqcLh8q
uSoE8/y0eli7bMDJyi5oilUYs07FyUggHECLqgmWVVuS7FTu0uDD2QtY8lggE0oQZvvR434Le3A/
/vyfUgdBGXy8kKsiZLoRJPfUHMegaQy1hVUYM1/H43sewDMdT8d1ah6tOEiyAKayWZaNRfjOm5fw
/Gf34+nmT2PYOgKFSIYxyxT5HhD2SbsqvvCb0KeOJSHk4nwYLKuQi4UoUxbh0ugSwuEI2hsUuDSa
HNR3unyoFagpE5oMBf7WQ6MUIT9PA50r/vcX8fMxaplKuZfLRRLkcfLAZXNgdJthWbVBIZKhRlIO
y6oN7aX7YPJY41hZAea5Mtg6TOucmLDOUP6N0LtEwmRs3oGWWim8vhAGBqNJOZ3LB18gyjSROLqM
PA+NPj5VdQRsFitrloRZ+wL+x4WXyGIV3Q0WgHvrTmLRFdXXiWP2CF0cO8on+v829GABwIYdZIAx
KVlTVlyK++pOpFwn4R9aV+1Z29B0e01pkRKLTgMe1TyNSfc4bDEFbT2967i3U5nx73angqpQgs/h
4Z7a45v2ZRL9v2MVBxEOshEIBZDHzcNvp38fJ1u9+v4k/yv2HAdKW6C4UdxXL62mlfnYsZ0ECoU8
fOJgedz3MmF1Iwq1uvaocH5Qj+ZjKuiRbDfUyaowYd1gsohlBje6ouOAYt/VsEeMl84PY2zOjo6O
cspiiZaSJrh8HkqZblbU4nMdjSl//487iKKRjkYlBDwOJatJg1xKysCsQ5vEYv3i8ecwZr6O2RuF
GU3yFliXvZDzSmGgkAPCzsiUzTsWqdiuJxbskHBV0IFKv5XgunWWlnmbjkk+EgGMbjM5Cuts9ypE
+TzYAsYkZnsg2YegK3bo1l5BpVhDPTbuRtybz+GhSVGP7537IdOEloAebR/aVHvjGq/zuAL4Q37w
ObzUkwDkUdmbWLDDZFuF2eGNaxCjYvKhG5tJZYvE2jHNVRLsqz2OgRElLjm8EBf5UdCanF9xrq9g
n7KR0p6vk1YhnyvAmGUqI7anTNgGY9+jTs1+6F0m9BmH40YJ+kKBuM8I2Xuk4R7sUe4m17BbXoMT
VV1J8Ro+h4difyXqy/OQx+eSPmdd2S7atTOIIvb5NCvqcVfFQdRIK9Mflya2kYnOjb22rLAUTz5W
iXcN/7FR7AQjJlwjEI2G8NrkL5Js3yea7kcEwOvjv006t4yvhkIuorzu8TYNuocMlCOAAWDENIEG
eS25Z4UiEfzhZ3fhjdlXN+T2xvjBJevDqFZU0sZVvH4v9iga4pgY6yVVtO/VteEQ9rFOIyDWQ7ds
QEleORpYLWCbi9HQ+fHVwwwY3O6wOtco93Y6ZksGOwclBXLKKVPKAvl2L+2OQM6LqxwOB773ve/h
0qVLYLFYOHz4ML797W9DIvn/2Xvz6LbuK8/zg50EuAgkQIIEuImkRIrUvlG75MSx491OKu2yc5Ka
ZCpOxjXJqXROLXOynE6le+pUV5+pmkoqlZSrM1XVidNpx3acRPESWftiSaQkipu4kwC4ASBIgACJ
ff6A8AQQ74GUTEuUje8/tkDg4eG9++7v/u793u/NPJt4tUGsO21fSw5n5l4VZLltNxOG+1oe4/S5
edyeALUSRRWjrogbrkGCkRB5ai1VhWYKNHmiSQ+TvBZFiZwzo5fSgq8H1x7g5MgFLtquUlVoBlKD
wsTx/aF50Q3UuZHLyJDxwys/TpM/3bH9Mcnk60ohO85q9UKq07I4V49SrkQuk4k6Y3OBSUhoLCSp
WyW/r3eui9f++zTf/MJuwb56nAOoFSpJRSybZ5zOqd6ULuYe5wCHSx5FLTJ33KKt5M2+k4JqVowY
b/adBFjSxhK/PXlMXGJEUY+jP2ujqwzL7Tzvt7kZWegBSLGzZNtMHnuZIAaqFSoAyvJKsHoyd8p/
ct0RonN6tFE7k9PxoFJskxuMhDh3c/yEWKdb8nln6np+qfXn4tckq4pyX6GppojKmlBqp9nNtfhz
DX/ExNVbXfSBUASVtxKfvJt1BTWiftioK2JgZpSD5n08tu5BxrzjjHkn2WyKk6q6pvpEFSkisSiX
xuId7InjbivbyLzfBpTcVkyQXd8/3FhO8nk5kCqc2LzjTPmcTPmcOP3TNJc2pHSe9jj6OT1ykX9u
fVkYZyHmJytVG/jF2Tmi0Rgjs8PYZNfJU+mYuTl6KrlTNBgJsSAyPqLbOUBbe6nQoZ3oyjqw2czQ
2CzbG0vw+IJp+4RAKEKNdgPXFVfvSFUli/eHA1ssXJlwcc11JWW9d83PYLip6pej1AgKlQn/qVao
qCq08Gb/CUp0xTzV8AkG3Vac/mkWQgF2mjdjyS9jIbSAI2lPdXWiM3tfs/hA0DXk4nv//T2aDpTd
JCilrvmJUUvJyhCxaFyhOhCKpKhux48nTsyW8sdymYwv7vjDZZ/vLbWqPuqKagQfG41FCUZCTM05
yVNrhREjYt8ZA9auqcSoKeOxpgOsN9ZS9OUyTrTGVQPq85vp9sTVjhKKMCU6A4/UH8k4ejuxZ9Dn
FKK6Gd+nvSdDDC0Vk8uR80r3Uf5k+wv88rcmdLm3CG1LjY75qEDKvsa9U2nrLiy9lxHb/3U5+pAh
w70wy3x4fknSVvIx1AoVgXBAUMzMFLMmj+3sGXazb28OTlk/P+r8AQ2TqTHvUqoZiaLoQjCM1x9C
5a1ErWhPs7H5kB+Dtogx72SaIn1FYRnvDJxGpVDyR9s+k+YPrEdlHNz7OBjs2HxWDGoz9Xlxgk+M
2JLqWlmII0EaOd8xzp7mMiKRKMFwlEKdmof3Vgt7psT9jwEX7ekq1q/1vJVCzFArLvNJ81N0zV5b
sfuyVL7kRKsNFRWoFenfqZDJ+dHln/LCjudF/auUknx1QSWaocOcPufh418qpmPQyuxckAOlm7DN
WVPy0hftV9P2EFI+YGh6lIaSetFcTGmegUNVezlQvYOzI5ezTWgiiMaioqTmg1W7BZWnTJMAehz9
nHVeImfjAHu1FWjnq8Cv5+BWcSWf5Y5RXaxwNeH0MTXtF/ZfycTqZAQjISwFZbRPdqerbdXsua17
vZTaYLLqV4nOgNUzzkJ4Id1fS6w/fdNDHO17N2WN2VO5HX1uoaDSVaQoR+mx8Oa7XqJRDxqVQmja
zMYSmbF4Gsa4d4ofX/4Zm0ob2GHenDE+fL+5jcU+dkIxRUzlT7MDgO6ZLlH7mFnwsL9qF6/3vEUw
cqvuoVaoyJmrYN8Ws+h3b6gp5j99aQ//1PF94bVkZdgLtit4AnMUhGoIRaL8hyeM9HhbRc9hLneE
9WxArbiYZteJ/XGhJh9fyE9tUTUz8x6aStdLXpeOwWlGxufRqOLNHpc8AQKhaarLwhmuZhZZZLHa
MTSWrtia6fUsVg8qCspRK9QEIyFC0RAVheZ4DK0z3OtT+1BgxclV3/nOd6irq+Mv/uIviMVi/OIX
v+Db3/423//+95f+8CrC4u40jUpBuMAmWjAPFdnQqEoIhCJUqNbTIVJU0ecUMuge4amGhxjzTjLm
nUSn1vEHTY/S5xxm0uegXFtJyGHijd8usOsTMtHAZ2xuMq1benFQODA9QlPJOk6NvJe2gTpU1cLV
CfHALlRko69Ts0JXMB3LJURkcW+wuNOyvMCEDBmdU7245t1sL9skOvJPp8qNM15vjk4TG0lp0OZQ
mKdJKdQ3GGoJhAMZR7Qsnu3dYKjl3dNeNlkeI1RkE7qEc32VzIanU7qFEjZfUWBa0r4Sv71z8kZK
ssvmGees9XLWRlcZpJL1b/WcA7+ehqq4jV3ummQybEOfUyhpm8W5ekx5RgKRAOFohBbLNuHvcrmM
vRU7uGBrS+mUd/lnaBTp6PuTvz0ujC4RQyQW5c2+k2mdbottLFPX80oRHLK4tziyw8Kv+tsIOtPt
uNvdQU15U4r0/tkLC+xreYgNRiU5ytw0P0wMtMoczoxeZNg7jFFbxG7zVn514+00n/hAzV5c824q
C8r5de+xtO8PRALMhr3oCyokC7KLkV3fP/xYzqib5UCqcOLyu9lfuZPp+Vmm5920jXfw7uBZBtyj
1OorCdwsqEdjUUZn7ZwaeY8Xd32erqleOqf6KdFYUHks/OLVOLFKo1LgU41TpFojGg8nVFLEYg2z
tpKz07fICXK5jB2NpYQi8T3B8cs2mmsNHG+1MR+4lSjUqBQ0m+rZVJdZtSKLDwb1FXp+PTjCtrKN
QndtfXE1fa5hLAVl5Cg1KQqVm0obqSgsx+FzMTnnpMFQh0Gr5ze9x9LsJVYOVyY6U157cdfns/c1
iw8EV25MEQxFUc9VsbdClrbm76vayfFT8SK/XC4TivxRWPbYHlgZRcJ09at0JSqbZ5x9lTsJRoL0
uYZFj2P3jGPQFlGlq0kh0h45uJOvfGozAJschjTfmqlwBrf2DJmU6zLF0A3GOp5u/CRDM6OMeSYx
6orQKG6Rxzpd7Xzri58QSGArNa7rwwApO5q8qQKYvO7C0nsZsf3flM/JVtNGghFpddfk8zgzcilt
v5dQzFzKnydULN5vzJsoiv7dy1eARIx/M7cRsmMpMCGTwTlrK7vMW2ixbEvLcfQ4+3m47jA2zzjf
ePN7lOdWsGtnmaCoH43GOHHGT0tTI0FnJVem/UwY5vnMnuWpa2UhjsWkkVAkinNmHpVSnvJ6JhuR
ymOMzg2zTfkE84WjOIN2jGozh9buuuP7kvw9CTIqMbhgbaPBWEfn0DTWyQUO7n2cmGmYMe+4MFpz
eMYGwNG+48SICcdL2EtcvWc8pQkSoFBZypXRGQKhCCdarUIz0dtDb6XFVS2WbWl7CKk8x66KrRwf
OpcS3yV88ZXxDv724W8BZJvQJDAXSid8BCMhPME5fKFb+53aoqq0z6av8XbUioQioPg6t9wxqosV
rvQFGqaSFDASDWZi5FOHb5ovbnuWwekRwS4b9Bs5ecbH8dwTLGhHsPusNBgzN3wt5Q8Xq35FohGK
c/XIZXLB/hO5RjE4fNPoVNo0gl+ChPvTN7t57diAoDSa+N1yGfzVl/fQWJ2NJTIheRrG1YlOtpia
IKeA1vEORmfHOFyzhz2V20U/K5XbaNBvFH3/Ypy3tqV8VsoO9DmFjHnFRy/Fx77+Id889FWOD7xH
v3uIUrWZam0jG8vqM97/+go9jZN1gmKzuDLseQ4feAKfagyHW9xGnSE7kY5GvvnkrefAUlgOxIT9
cSJWqtFXsK2sOWPsnXj+Fzd7SO1Fssgii/sDJoNONM9QZhBX2Mti9UCjUAMQjoZx+d0YtEWoFSrh
9SzeH1acXDU6Oso//MM/CP/+6le/ypNPPrnSX/OBI7k7rc86w6GtZs4vdIi+1xm0oy+owO0JUCgz
pQXnhTkFvHHjHZ5ueJhfdh9NCXauTnTyh81P8o0DL/Cnf3eSfusMpmIttrn0TSXcIpy4F2YpzCng
G29+j30V27EUlAmjTgKRAL6g+AZqLuTHOite+HcG7exo2PM+rlpmSCUSPuqdRKsJyZ2Wf/n2XzPg
Hkn6a4zLY+1piZFP1h8B0kdSpr1v77O0X7u1yW7Ub+Sc9TJ1+TWSI1o6p25J4eeptRyu2UPU5uGN
00NCJ4TVE6C0SEa42C5qXwPu0WX/9qyN3h+QSpCNeEd46/wIrpkA+zaX09broLy5gi73ddYX1Era
5sGq3fQ4ByRHlXyq8ZNcsF0hHA1Tq69m7ZoYwUgIlTx1CW2qKeLYJatoh11C2W05XdUg3fW8UgSH
LO4duodd9I64mQ6ljxUDGPaOcKRyLxc6xoWEYzQa4+KlIAe2lfPzsdfTbPTR+gf4bdIolCmfE2SI
J1IDc/gCftonezBqi1LGM0A8zqjNb2TQE+BjO0uW9ZuyvvPDj5UqxkkVTjabNvBW/0khQfrbJIJL
YpRQcrF+IRyga6qXL+74w3hi+p0BAkkFAn2BButcN2t0BaIND5FYBLVClRZrqBUqtAtVgJfK0nxU
SjnrKtfw7uVbBYDRSS/HLln52rNb6RhwihTUi7N2fw/QZ3Vj841i88aVfsz5JjwLPkp0RVy0X+WJ
9Q+mjYxqn+zmkfoHONr3LhAnXon5svnwfIpiQjASomuqVzJhn0UWd4KEAlRXtJ+tD5RhLqjlqC29
ceTh+kNCkT+hbhAIRdi3qVxyVJUYVoKwf3zonOgzE0hSBTTqijg+dC4+tinDaM5cZS6vD/9SkrSy
lCKQGBJ7hmBEWoV2qRh6i6mRi7YrhCIhOqdSR/nEC2PF2QKoCGr1laL2ZdZV0OG6lVdLED+Kctfw
jTe/J6l+Krb/C0ZCFGh0+EJ+yZxCyngnif1el6OXpqTRTZmwVMy7eMyVGNmuvkJPc20xo5NeotEY
p8/FVR7WVa7DUXuawZl4/qLL0Su6Lm0xNaWsZ4k4KaGon8CY00dhnprJaX9KYfNOnqUsYHNdMYFg
mPWVRSn7tNFJL1d7HcI49Uw2MjA9InZoXJExtubsobVTxY6GPWyrL3lffmVgeoSyvBLqiqoIRkPY
PZOY8o2oFCr+/eQZKkvzGBn30NMN+lyn5GhNGbK0cWcJctQ562Xh+9QKFSqPRSCJtPe7+D8+vYnX
+lpFG5Q1SnWaDUrlOeqLauh1DXHe2irE8QlfvKfiVhyWbUITh13ELwKMeybRqbTMBf3CWMWXLr+c
Mnb1Tvb4YmNUxWKRxWRFtycg+MUE2tsjPPPpxxmYHWDcOyWQ6s7bWslT5woqm93DLr71T+fZvUvN
tbnfCNNGRj1Lk18z+UMp1a/kPelSY8c7p3qF9Wux0neIMkI3FYs0KgX6Ag2++RDzgXA2rlgGkqdh
bDE1pd2rTkcv+txC0fvbYKzjK1u/xMnBiziSRjv//b+MoP/jMslx2on7V6IrpsWyTSDbS9mBe2GW
LabmjPHJYhvsGnJx5qqd//lOL5YSHY3Ncrrd19MU4hM+E5BUhg3n2xjxOAQV58Uoz62guDQv5Rxu
OAZ4u/8Ul8avpMVKW8uapG8Iy3/+s8gii/sLVaX5XOt1pD3blaX59/CsslgOAtGgqBhJaV5WuWol
sOLkqmg0isvlorg4Hoi4XC6i0egSn1qd2FBTjDzPjWqki9PO05gLTJTkFQvBUwKmHAthUwG1Zjn/
460b/J/llUSioM9dg9sbpERdiFaVw9DMqGiw0zs9yKN8jHUVa+i3zkjK30J8TqY+txBfcJ5Xu99k
l3kLvdNDAGwta6ay0MzsgpcuR2/aZwHsngl2mjfT40pPThnVZrbVL6+QeidYie7YLO4eKgosArlq
8ci/BIKREE6/mzx1fFOep9bik+iMcil6Kd8W5eu/O46loAyToo4NPExJnp8uRfrM+arCePA97Xez
ybSB2YCXH176H6w1VXN4fymnzs0LnRAqpYKJOYfo75icc4q+Loasjd4fWJw4SyTZTDlVhAMuTkxd
4dXfjWPZWMm6kmpCsjkMuiKBgJqMYCSEN+ijeo1F0nYH3aPEYjHaJ7tpG++gxbKNSCzMDy7+G/VJ
Y/0SG0mxDrsSnYG5gA+Hf+mu6oy/PdttfN9AbEyey7PAicH3cIbGMBeUUppvSIspDCoznYMudjeV
4lsI43DPU1qUy4F9Oi6MXxC1UfvcZMprmTooJ+am2Fuxg6EZK3bPRMp4hmgsilFXRMCpBxaWnQTJ
+s6PBlaiGCdWOMlTa3H4XAQjoYzjggOLRvgl7Gvr+hJeO5Fqa775EGv1tXQ44wXcxcqFsViMg1W7
yVfnAXFSoaWgjDU5+WjlXvY/PsWox4Ypz0hhnoXd8hzOnJ8nmjR6q2PAKSiqZHHvcaLVSrG2nAn5
FI/UPyAoBW8v30iva4iRWZuoXTn8LuQyOYWa/NtSU836tyxWEovVIaYUDuQ5C5JFzc11TUw4fSwE
w0KSMzGqaiEYxjEzT/Pa4owqSu+XsD/gGpZUokpuCNMoNAQjobjSca5JlOCkU0nvIcWKuOdHW7lg
u4J1doyKwnJaLFvZU7k9hdiyua6YtaZqRmftyGVyZMh4qPYQ43NTTM45qFxjQavK5ezNsd1S61tt
cTXVaywcv1nASsZHvWgvhR5HP4Gba/riex1xmmmImQkX2yku0DAXmsPumaDbOUB5fim/HzwjWgyX
Ik4oZHKernoWj2yCLkd6TiHZnptK1jExNyVpZzJknB65mHHEdaaYt8/qThlzNTLu4dglq6gCyeIC
ZCAUYXjcw/5tFQzP2thl3kKOUkP/9HDK5zLFScmK+gCWkjwmp/001xbTXJueQO8acnHqio2Y1s18
7gh2v5XGJZRePqrocfQTMrWTrx4ilmthV65ZUApLkCLOXrPH1c2c/eLHcA6ww7x5UQNjHI2GWp7f
0cjzDzeuyLmW5Bmwzo4xF/SjUWoY804KpPId5Zspq2xA06mI557lRsYW2tOawDKNO1PIFOw07mF8
YYRiVZyUcPbCgvCeDTVFNFYX81K3eGPvoAjJLJHnWKzgEp4rpMWyldabjZ6JWCxO8toqfD7bhCaO
BkMdoyIN1hWF5UzNOdli2sCGknX88NK/sxAOAKljV8WQ7AfFch6JRvVMio6LFa4CoQg5aiUalYJQ
JMq+lhyihTbO2GwYtUWsK67hnLVVOMeEzz3RamVyeh61So7SME5wPN1ejw2c47y1jc6pXknfLgYp
1a/kPWkwEkKryhVd7xLxT4OhlhuOgTRFO7VCxf49jxOLxQgXWClek4s3MMe4t5WXLg9nfTHi9iUo
/t+chjEz72FNboHovXqr/xQyZKJqS+1XI7RdutW0nSCHJk/cSD4PsfuXINpJkfgByhR1qBUdy/JN
XUMufne1jQXdCLPmcfJ1Zi5NxlIUvE8Mn+cpy3OcOrvAE3ufI5QzSevENdHrNz5vpVHfiDfqFrXR
NXkaFnKv0ePITbG1cDR8R82TyUIVXUPT1FesoaQol3969TqN1fqsumsWWdynyNMqU2oURn0uuhwl
edoVp5ZkscKwzo6J+nMp8Z0sbg8r/gR88Ytf5KmnnuLw4cPIZDJOnjzJ17/+9ZX+mruCpYInuJkM
DFRx4iZ788DeXH545ccpRts+fYXPrf8cR62/Ef0e62ycPZ6cYJGSv32i4UHOW9u4YGsT7cC+Mt7B
jvLNkqz0RkMtW0wb+PWNd9KOfWjtrg+0OyLbSXT/oGvIxfx4qRB8ZyrUW2fHOFC5G/fCLL6gH6ff
Lfq+4dlRQjeTIXGW7HU+aX6KX/1SyZEDT+PP78fuHRe6kd648Q5KuYIn1j/IG0n2mngOP/fpz9LR
HqHcqGP/FjMnJkdFbd5cYOKGY2DJsRGQtdH7BY36jZxQnCccjaQUy9WaMJSOcv3mxtNcUMrLna8S
jIQoyytBIVeIHs/umeBwdQsnhi+I/n3S5yQUDQmKKosZ32etl3nC/BzNpnq++8IeTl2xsV/3DPPa
Uez+URoNteyv2sU5ayuxm59ZjNuxsWy38eqH1DiIHeWbuTYdL+LZb6qrLI4pVB4Lo04/e5pNtPZM
sXdTGTX1EV7pfVXy+8Y8kymF/0wdlJtNG3i1+3eiHZht49ep027E5VzDd19YfuIj6zuzWC4WE0TX
FlWRo9BwfaoHWHq0QrKdG3XF/KTtF+yp2JaWxN9YZ2B4ZpgS3Tg2z7ikMuH2so10TvVSojOglCuY
WfDy7vi5lPe1K+KFqH0tFSmKEEuNzVyOekUWK4drfU5q6ip5fL0hRflszDvJZzc9zbtD50Q/NzJj
51B1C8eHztG0ROd5MrL+LYuVxGJ1iEy+sMc5wJe2P8zVXieOpBE60WiMs+1j8RGltcVLkj/fL2H/
1MhFyZyDKc+ITCajRlbJRftVIB7jTIxo2aq4NYYqse8bmB6RjNMXk1nOj7byg4v/muKnW8famQ+G
+ceXHCnElsP74/vZbWUbaR1vF0i8+pxCrk100lzSwAVbG8eHz2VUtjiydi9nb6q0JEhjQJrSR7YQ
GseZkUtcsLUJI9UTY7wsugp+/cu4Ksfh/RZOz/xaUhFkcQFPijixt2oH3/9XKzNeJUcOfpqpaD9T
N1UoiiNrU45xsGoXP7j4b6Ln3O0coNPRJ9jzxNwUXY4+XtjxfEoeIVPMe6I1Va1BLpexa6ea3438
hn/psabYyOICZIKAIM9zE4wGuDwWL5Qujucz+YaEov6Ey49GpUAmkzFgj9tqx4CL4sIcIQ7pGnLx
7R+dZ9dONe1JSi/WZSi9fNSweF+XUMhMkCJC+aM4w+NMa8y8Zw1TnKsXJbM0ZMjFZiIA3U48mXau
i56rhBrnWLifluZmQuEIayI6SnRjaXaVydaGZkZpVn2M/IUtnDpvw+u/tRYlq5Q0Gmuxepa/R4zO
6Tn9Wz263BJGPAFOhybRqJx894U9vLjr8wKptkZfwb7KHWwrvzXCK9uEJg4p3/lw/WHh2rx0+WWB
tJTAlM/JFlOzMHYsGYn7N+Aa5m/O/JC5YLzpNVlxcqkYREzhpu3GFF97divj81besP+MoCvVjreV
bRTyJmvX1PCdH58nX6tmyxYF+9bNMeAVV4YbcA8LuejEOX5l65dovxrJ+FxJqX45fW4OVu3mhnOQ
uuJqjtTs4eH6QxwfOk+fayhlhHDi+T49clG0uGmq8fPW0DG2aTdyeuRWI53VM/aR98VLjeHdX7WT
c9bLNBrr04jICYzM2PjR5Z/ypR3PpV3HzqHptPF1IL7Hl1JxSybadTl6+freP6bV1kmXsw/DTeLp
K6/72N/yOFrLFIMzQxl9U8dEH1civybojn+XWM4wGAkxvNBDZelGfvqqHX2+ht0P1YrG4/VFaylT
13B66EzaaNWqQgtv3HiHaCzKOdtFvnnoqwD8+PLPRK8lQJejnwHXMLXF1ZLvSYxR7rO6+c6Pz+P1
x3/L0Ngsxy5ZBZXHLLLI4v5B97AbhVyOSiHHsCYXlUJOJBp/PYvVDSnRkdsRI8lCGitOrnrqqafY
sGEDFy9eJBaLpUMZeAAAIABJREFU8bnPfY66uvszEJQKnmTA2jVV6JWlyGbMvHN8TuhYChVY02SP
F8IBulw3MBeUigY7loIy4f/3bCwjGIpgHfTx8R1/gEs2gM1nxZRTSbN+Ew3GOl5q/Tl7K7ZLdmDP
h+ep1VdJdu6tN9bek01ntpPo/sHJNhunLsyzr+UxQkU2ZsOTlOQXSxL29lXu4M3+E9h805gLTaIb
8MWFqWAkxHhkAKXCTNuVMPptTpFxCwqGZ1LtXC6Ts61sI6ORdrwVE8gMtch0WiHpvdi+ZMCZkYvL
IldlbfT+wPVrEbYqHqesdoGjA++IJg/bxq+ndPW65t2SZBNTnhHPwhxriyozFlVzlBogJup3++a6
eP2/T/PNL+zmy8+IJ5JixHiz7+QdjSTJ4v7CeWubUHxL3OvE+rx4tFQ0BjWFlehVJuQz8S7oh1tK
ef7hW93LL11+mSmfU9KGzQVlXBm/LvxbqnMuT63F5Z8RteEYMfZV7GBjlZmGHbcXD2R9Zxa3g8UE
0dc6f0d5fjxGXs5oBYjbl1Ku5Hd9xzk2eEY0if+Lv+3lwKFmetWDkioPyGB72SZyVRouj7WzPalI
k/y++fA88jXjaFTFQhEgecTOYiSKlovVK7LJxA8OFaX52IZ9yEpSVUmUcgW9zkFKdOIkEKOuiOn5
GXaZt1Cs1dMpsn/KVeZm/VsWHygWE4gy+cIGQy31FXr+5DObeePUYMoIHYirP8hl8TE5SzVOvR/C
/oTXIanW8ETDg8iQcWbkIhUFZTQYagk6y3jzmIdoNMaRAzWgGRf2fWqFSpLcuLgIf8F2RdSfX51s
R60ypxRqT52b53Of/iyjkfaU2CtB0k0uimXqxm8w1qUU9reXb2KLaQM/uvxT/DeVDhYX/T7K6HEO
EI1FuWBrSxnj5cqb4cmDn6K1Zwp58bCowkjinix+JjIRJ5pqfBw9N8zrR4NoVLdUKD62U59yjNri
ahoNtYQiobSx2OYCE61j7WlKl0f7jhMjJtzTTDHv909YU75vX0sO7bHfEJwQLwwnCpCpKE4Zt7k4
nncvzEo+K2ZdBbYcFXs3liGTyTjfces9gVAkRY3jZJsNQDR/uRx1io8SpPLCpTV+3h46llIEv+6+
yiP1D4jGEneSi73deHI5BACHb5qiHOgfnUaXo8I3r+LA9ocZDren2NVSMXkkx4rSt4F9m80EAmE8
/iBmo459m83Cud3uHvFkmw2vPyQU4+GW7X7lU9vZU7ldULL5WfuvaBvrSFWyyTahpWE5pDOpsav5
6jzRNT5BLO529FFXVJOigr1c/yFFMN1QU8xLl09ltGOA4lgtXv8k27epOOt7DXzpZNQExHLRJwcv
0nYprvQn9VxJqX5tMNYJIwmT0WCsY8A1zOmRi3RO9fLg2v3CtX6p9edp71crVIz748eX2qt+lH3x
UmMpG4x1/Nn+r9Az1cfsgifjvRe7jovV0xIQ2+NLqVY6fW42GhuoK65iyufiZ+2/osFQy39ofIaO
9gjXhlx8Ylcph7Ysr8lqyN+9pA8HsPusBMcqObDZzI3RaYyxWtSK99Ke1SO1u2kw1qEv1HDR3saM
30lTyTp8Qb9ArEp8xwVrG+FoJGPe0aDT859P/QN/tv8rS9rl7y+OpvhySI9Fssgii/sDYw4fo5Ne
Qa3V7QkQCEWyYwHvA5QXlIrW6c0FpntwNh8+fCDabevWrWPdunUfxKHvKsSCJ7VCRSAc5CubvsL/
+F0PFzonhL/pCzQ4Q+KSat6Yi3WFNVwZ70wLdioLyxlwDXPqyiw9I/EN7kIozG/e8iGXGzm4v5LZ
6BDHJn7D+OUe9lRsx+FzMjwj0bHmm8bld6ex0g9X77mnm85sJ9G9QSYZXSn0Wmco0edy8VIAiCco
SxuRlLJdZ1zLP136KVN+J1vLmzJKIidjzDtOdVkjvaMzVMuNDPtaU/6uzylMGfenVqg4UrOXs6OX
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
cSMsFguA9O7Pr4Y8fjVbjddF3t9LDMcq0h/HKpYPJ1ctoqeeegof+chH8POf/xwAYLfbodVqAQQu
XoODg8ks3rzF+h1WqxXFxcWh9xUXF8NqtSaljBTbzPNUVFSUUufJaDTi+vXr2LBhQ0rVma997Wv4
q7/6K2RmBprJoaEhKBSKUMeJ8b4yrJR2m+00ASsnnoMY16vLajzfP/3pT3HgwAF84QtfCC29nup5
WypbCccunrw4HepEInm01WqFTqcDAGRlZSEvLw9DQ0PJKfgyiCdO0/mYxFsP3333XRw4cADPPfcc
zGbzchZxyaVDHU0lqZSvptLYxOTkJB555BHs2LEDO3bsgF6v53jECpXsWFsIoVw2FaVS3V6NVssx
T5f6QIvv9ddfx65duwCkd580nctOiVkt10Xe30sMxyoCOFZB8eDkqkXys5/9DG+88QZee+01/PSn
P8XZs2eTXaQlJzQjNSMjIwklodmk8nlyu9147rnn8OKLL0Iulye7OCEHDx5EQUEB1q5dO+v7UuU4
0vyshnY7les/La7VEM9BjOvVZaWe749//ON477338Mtf/hJarRZf//rXAazc37sc0v3YxZsXp/rv
TDSPTvXfs9ji+b3pfEziKft9992HDz74AG+99Ra2b9+Ov/7rv16u4i2LdD5/q1mqjU2IRCL88pe/
xOHDh3H58mV0dnZGvYdxRckUK5dNNalWt2llSpf6QIn50z/9Uzz00ENR/xu+ss8rr7wCkUiEhx9+
GEB654HpXHaK32q5LvL+XuI4VsGxCopfVrILsFIUFRUBANRqNfbt24fLly9DrVajv78fWq0W/f39
KCgoSHIp5yfW7yguLg4teQoEllkMznKm1DHzPFmt1pQ4Tz6fD8899xwOHDiA+++/H0DsWFtuLS0t
+OCDD3DkyBF4PB64XC589atfhdPpxMTEBLKyshjvK8BKarfZTtNKiucgxvXqstrOd2FhYei/P/ax
j+HTn/40gNTN29JBOh+7RPLiVK8TiebRxcXFMJvNKC4uxsTEBEZGRpCfn5/kX7F04onTdD4m8fw+
lUoV+u8nnngC3/rWt5atfMsh1etoqkmFfDWVxyYUCgXuuusuXLx4keMRK1SqxFqiYuWyqSSV6/Zq
shqOeTrUB0rcj3/841n//Y033sChQ4fw4x//OHRzOp37pOlcdorParou8v5e4jhWwbEKih9XrloE
o6OjcLlcof8+fvw46urqsGfPHrz55psAgDfffBN79+5NZjHnLdbvCL7u9/tx8eJF5OXlsSKmoHXr
1qG7uxsGgwFerxe//vWvsWfPnqSWye/342/+5m9QXV2NT37yk6HXU6XO/MVf/AWOHDmCDz74AN/5
znewbds2fPvb38Zdd92Fd955B0CgA5Xs40jzt9LabbbTq9tKi+cgxvXqstrOd/ie9r///e9RV1cH
IPB7f/3rX8Pr9cJgMKC7uxvr169PVjHTSirmvPFINC9O9TqRaB69Z88evPHGGwCAd955B9u2bVvR
T87FE6fpfEzi+X3h7d8HH3yAmpqa5S7mkkr1Oppqkp2vpuLYxODgIJxOJwBgfHwcJ06cQE1NDccj
Vqhk14H5ipXLpopUrNur1Wo45qleH2jxHTlyBK+99hpeeeUV5OTkhF5P5/58uvanKT6r7brI+3uJ
41gFxyoofhl+oXXAKCEGgwGf+cxnAACTk5N46KGH8Mwzz2BoaAjPP/88zGYzdDodXn755ZSfxfnC
Cy/gzJkzGBoaglqtxmc/+1l86EMfEvwdfr8fL730Eo4ePYqcnBx87Wtfw7p165L9E0jA4cOH8bWv
fQ2Tk5P46Ec/imeeeSap5Tl37hyefPJJ1NfXh/Y8fuGFF7B+/fqUqzOnT5/Gj370I7z66qswGAz4
/Oc/D4fDgcbGRnzrW9+CRCJJavloftK53WY7TTOlczwHMa5Xl9V2voV+75kzZ9DW1gYAKC0txUsv
vRTq0L7yyit4/fXXIRKJ8OKLL2L37t3JLH5aSbWcNx6J5sXpVCfiyaM9Hg/+6q/+CtevX4dSqcQ/
/MM/QK/XJ7voS0ooTl9++WWsXbsWe/fuTftjMtfv+/a3v40PPvgAIpEISqUSX/7yl9Nq0FKoTZ+Y
mAAQ2BYonerockvk+r9cUnFsoq2tDf/9v/93TE5Owu/348EHH8Szzz7L8YgVIBXrQDwSzWVTQSrW
7dUgXWM8EelYH2jx7du3D16vNxTLGzZswEsvvQQgvfvz6difpvis5usi7+/Fj2MVHKug+HByFRER
ERERERERERERERERERERkQBuC0hERERERERERERERERERERERCSAk6uIiIiIiIiIiIiIiIiIiIiI
iIgEcHIVERERERERERERERERERERERGRAE6uIiIiIiIiIiIiIiIiIiIiIiIiEsDJVURERERERERE
RERERERERERERAI4uYqIiIiIiIiIiIiIiIiIiIiIiEgAJ1cREREREREREREREREREREREREJ4OQq
IiIiIiIiIiIiIiIiIiIiIiIiAZxcRUREREREREREREREREREREREJICTq4iIiIiIiIiIiIiIiIiI
iIiIiARwchUREREREREREREREREREREREZEATq4iIiIiIiIiIiIiIiIiIiIiIiISwMlVRERERERE
REREREREREREREREAji5ioiIiIiIiIiIiIiIiIiIiIiISAAnVxEREREREREREREREREREREREQng
5CoiIiIiIiIiIiIiIiIiIiIiIiIBnFxFREREREREREREREREREREREQkgJOriIiIiIiIiIiIiIiI
iIiIiIiIBHByFRERERERERERERERERERERERkQBOriIiIiIiIiIiIiIiIiIiIiIiIhLAyVVERERE
REREREREREREREREREQCOLmKiIiIiIiIiIiIiIiIiIiIiIhIACdXERERERERERERERERERERERER
CeDkKiIiIiIiIiIiIiIiIiIiIiIiIgGcXEVERERERERERERERERERERERCRgxUyumpiYgNFoxMTE
RLKLQjRvjGNaCRjHtBIwjmklYBzTSsA4pnTHGKaVgHFMKwHjmFYCxjGtBIxjSneMYVoJGMdE87Ni
JldZLBbs3bsXFosl2UUhmjfGMa0EjGNaCRjHtBIwjmklYBxTumMM00rAOKaVgHFMKwHjmFYCxjGl
O8YwrQSMY6L5WTGTq4iIiIiIiIiIiIiIiIiIiIiIiBYTJ1cREREREREREREREREREREREREJ4OQq
IiIiIiIiIiIiIiIiIiIiIiIiAZxcRUREREREREREREREREREREREJICTq4iIiIiIiIiIiIiIiIiI
iIiIiARwchUREREREREREREREREREREREZGArGT94S984Qs4dOgQ1Go13n777ah/9/v9+OpXv4rD
hw8jOzsbX//619Hc3Lygv9lma8exnrNoG+hAY2EtmrR1OG++gq5BA0rytMiTyjHmHUdTUT2uWK+j
b8SKTbq1GBgdQs+wERX5ZdDI1LhibcXO8rvQNtAOk9OK0rwirC1qwODoMAzOPlhdAyhRFEEhkWHE
60a5shQmpwVWtxX3VGzHNdtN9Dmt0+/Jw4jXDYVEDo28AO2DPTA5LSjLK8YaTQ1u2bthcJigV5ag
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
STo1fE6RmUjR47Kx/UtLSvLuI8XqhmLLkJTOVqF5DUQH0zn7VfdLemGxJsg3/VrrhkuFHKesZj0U
q+GMn4lkQrPzF57LXUefLTivfLWs8byR0VzLyFVzGM/la1M8MadTw2ez5r3SY3iu40A4NiynzZ71
/nOjPXnnOTg1oqUyt0O+df/r4GsF37dRLneOXxs4Jim7P7ZYLOna1FpaplA0nLfGOzvarZpKz7Lz
obmFubx956nhzqwsGM8bx2LjsZHTF4Ov560zNnp7bTT645TXBo6lj8HxRFxSdn9VqG/KzN1qamMp
1Tfly2ZmvWLsF4Vqinx9dyKZKNr2YvWtJJ0d7S56HFpNTVOoT48n5tL9SKHz1L7JUFZ/n1nbb3T9
sxHneG+GT6bPa4z1Ozg1kvVcsXo013aWlDcjmdvM+L3QtJKWvUeS5hJzKi0pUTg2nLedc4vnhvHE
XFZuV7KvGT9n5mc0tzC3LHvT89OyWCyKJ+LpeRbKYL78StL0/LSSSuatlQqtu6Xzebn/6LJtcTld
7hy/0PuqZuZnCtZsRl3ptNmX9YlLs1Cs31xILuQdYzP6mXOjXTlrjlyZKTTmNxAdXHXfnVgo/Pky
p8/c/6TC54fhPON7Z0e7lrVFKnzuYOR2aGokvS6WTvd2qyl+2f2SbKVWTc1Ppdfdao6HkvLmxTjG
GXVBsTwsfWz8nu/6hKS8Y7dS9rhvsc+USCaKXueYTcyqutKTN2PF+trRmfGi14OMnwNLxh1Xs/76
JkN6KfjGsvVxOW1UjvNlcSA6qKSSK64vJOXtb41cl5aUZJ0zFhp3yHxvrmN6IpnIuo5QaHvHE/GC
Y9aZeTauW+abl3EOvFShsebV1sunhjtVtjg+Wagt50Z7VFPpST/ONX5xuV3uHL/Sf3RF+cx8XOza
bL4+eCV9SqF+rabSU/DcJ3OcYyA6mHU9r9B19GJ1eSKZKFgrZX7mlcx3IDooV7ld5wqcOy6tf43X
Tg2fLbgeN0NfLG3MeR6A5Tbs5qpiwuGw/H5/+rHf71c4vPykb6VODp9L/15d4dFQbDTndH0TIVVX
ePJOU13hUd9EaNlz+eY3FBtVdYVH1tIyBSdyFzhDsdGsDrvQ/FIdfzzv6/0TYVVXLO9ch2KjspVa
i7az2GcJTQ7lfG0lMrdBrmXne73Qewu9ZzO4lDmWCmfl5PA5xeJT6fVbKFOSRf0TudvVPxHW/oY9
ssiyLPuZ01RXeNTqaVo2n2KZylV4GfNs9TQpGBlQND6V9/1GbvO1fyg2qqvqO9LrIpfB2Ij2N+zJ
+/mGYqNq9TQV3X+M7VMs65nebhmWpNDk0LJ1uTQnxXJzVX1H1jYvNn2h7RecWH7yYIgn5hScGMg7
38ztmWv7BidCqq2sVTi6/OK58Z7UyfTcss+0dD77G/YU3E9bPU0527GeGaMvTjk5fE7VFamL8cb6
Nn6XVlYXBCcGlJSl6HRSavtXFdhHivXxKzn2G9kqViMZOTs5fE6hyaFLWjdcKuQ4ZTXrodhxLXM/
CMeGV1VHL51XvlrWeD5zecWOJZnPFcpqsEj9n9m+Qs8NxUYVi0+l9xNj+YWOI7H4VM7PW6ym6I30
F3zfZrXeOQ5ODCzrj22l1nReqio8slsdeXPXNxHSVfUdkrL7xEJ9Z3BiIGsbGzKPxZnz6430560z
Nvv2utToj1OMPqK6wqPB2Miq6mIjd0vPh1Zai+TL5oVpQun5F9ov8vXdxd5TqP7N/GzFjh2rrWmK
9elGP1KoXUv3eWMe8cTcpqx/Ml2Kc7zJeCx9XmOcf8XiU1nP5ZK57XJt52Ln+sY2M5ZZbNql7zH2
u6oKT9ExA2N/yVzOSnKWuZx4Yi5n9myl1vS3cGQey4p97lzLMsb+VroP5Pp9KDaqidlozvduFuud
49DkUNY3oWTKrPGMrC3Nda6+u1D2ZxPxgmNsrZ6mdB+cqz1LM1PofLDYWF6u98wkZlc1RmPsF8Wm
i+UZ3zPG4zOtpP+XpOjit4Xn8narKU4On1Orp0m1lbXpdbea42GxdW70YauZ59I+Jt/1ieoC/fBq
65yVtrPYWHChvtaygvEc42ffknHH1ay//olw3v1ms7hUOS50Dpe+uXIF63Elua5aMs1KxhHyZSSe
mMsahy40j8HYSNFrDsb8jH5yNfV4oTrKOMas5vMFJwZUVlK8zghODKTPs6XU+MVmt945jsxGV91P
XmzfdjE1X+brKzknM6y0P1tJDb+S84SltXOh+abGrZtXdC1n6bootj9shb5YujTneQCW27Q3V+X6
a4UWi+Wi57erbnv697GZiOrsNTmna3L7NTYTyTvN2ExETW7fsufyza/eUaOxmYjmEvPL3pc5jbXk
wt23heZnK7WqvNSa9/VGt09jM5Gcy5idnyvazmKfxe+qz/naSmRug1zLzvd6ofcWes9mcClzLBXO
yq667XLY7Kqz1xTNlJJJNbpy57PR7dPLA28qmUyqqcA0YzMRdUf6ls2nWKYys790nt2RPgU8DXJa
7TmnycxtvvbXO2p0fOiMHFZ73nZ4HbV6eeDNvJ+v3lGj7khf0f3H2D7Fsp7p7ZZhSfK76pety6U5
KZab40NnsrZ5sekLbb+A2y9bnhzaSq1qcvtzvrZ0e+bavgG3XyPTI/I6a/POw/gXJ0s/09L5vDzw
ZsH9tDvSl7Md65kx+uKUXXXbNTYTkbXEmu5jjd+lldUFAXeDpKTqi0wnpbb/+HQka9rMZRTr44st
I7MPLVYjGTnbVbddfle9xmYiBee/lrrhUiHHKatZD8WOa8ZPW6lVXkftquropfPKV8sazxvzzrWM
Qs8VynagSP2f2b5Cz9U7auSw2dP7yYXPnP844rDZc37eYjVFs6ex4Ps2q/XOsXHuZsvoj2fn59To
WszLdERT8VjeGq/J7dfxoTOSsvtEW0n+862AuyFrGxsyj8WZ82v2NOatdzf79rrU6I9TjD5ibCYi
r9GvrrAuNnK39HxopbVIvmxemMafnr+1wH6Rr+8uVIc0un0F69/Mz1bs2LHamqZYnx5PzBVt19J9
3piHrdS6KeufTJfiHM9ps8taYpW1JLXNuyN9clgvPLeSsahc27nYub6xzYxzvmLTLn1Par+r1dh0
pOiYgbG/ZC5nJTnLXI6t1Joze/HEnLyOC7W9cSwr9rlzLSuemFN9kdon13pYOh93uTPnezeL9c6x
31Wf3gZLZdZ4RtaW5jrXmEah7JeX2gqOsXVH+tJ9cK72LM1MofPBYmN5ud5TXmpb1RiNsV8Um86R
Z3zPqOkyraT/l1L9T75t93arKXbVbVd3pE8jUyPp7b6a4+HYTKTg2KjRh61mnkv7mHzXJ8Zm8vfD
q61zVtrOYmPBhfraZDK54v6/ye1f8bWfpcttdPvksOXebzaLS5XjQudws/NzK6ovpJXlenzJNCsZ
R8iXEVupNWscutA8vI7a1LGlSJ67I31qchfuY3P16YXqKOMYs5rPF3A3aG6heJ0RcDekz7Ol1PjF
ZrfeOXaXO1fdT15s33YxNV/m6ys5JzM0LbmOkm9ceCU1vK3UWnDsJfMzr2S+TW6/usZ7V3QtZ+m6
KLY/bIW+WLo053kAltu0N1f5/X6FQhfuFg+FQvJ6vRc9v/e0Xp/1NX8VZeXLvk7QVmrVjprWgtNI
0q66Hcu+PtFurcw5v/LScknSQnJh2fsypzEurhdrX6mlVCWW0rzLa3QuP7AYyyixWAq207hTON80
lWWVOtC8b9n8VypzGyxdtiS9u/X6Vb+30Hs2g0uZY6lw9t7der1uCOyV3VopSXkzZS2xqsZenSqM
8mQqHB1Wrb1ajXmmaXKlCpZofEqNLt+q9o+yktK8y40n5rSzdpu8zrqCuZWUt/2VZZUanU4NZOZr
h63UpnB0WDtq2/POIxqfyrsOl2Y4X14ryyqz7ux/O2ZYkm5s3rdsWyzNSaF+sLy0XKPTkaysFZs+
Gp/Ku/39Lq+sGX1w5mvWEqsanN6i+cu3fbfXtMleZk/380vnUVlWmb7gsPQzZc+nVWMFXm90+hSN
T+Vs13pmjL445T2Ln7espDTdxxq/G/96rlh/cUXddlVVeFRZ5LhsbP9EciFr2sxlFKsbii1DUjpb
hebV4PSmc/bu1ut142JNUJ5n+rXWDZcKOU5ZzXooVsMZP0stpaooq5CUu+6QpF11HQXnla+WNZ43
MpprGblqDuO5fG2ylVp1Rd2OrHmv9Bie6zjgc9Qt+8bNHTWteefptS+/+TZzO+Rb9wcC1xV832a1
3jne17BbklSa0R9LyfRg2vzCvPwuX94ab0dNq0anI8vOh6yl1rx1wxV125Z920/msdh4bGT6nYFr
s871Mt+z2bfXpUZ/nLKvYXf6GGwz+tWMvqhQ35SZu9XUxpK0vaYlbzYz6xVjv8isdXK1YymjDslX
JxhtL1bfStKOmraix6HV1DSF+nRbqTX1D4sKnB/HE3Nqcvmz+vvM2n4z1j+ZLsU53jW+K9N5qrRW
Lt74UZt+rthYlJR7O0vKm5HMbWb8XmhaScveI0nWUqsWkgvyOevyttM4X7SVWrNyu5J9zfhZUVYh
a4l1WfYqyyqVTCZlK71Q2xvHstXkV5IqyyplkUXleWqlQutu6Xz2N16zbFtsJuud4xub96miLP94
qNdeq3hiLj0+tLRPXJqFYv1miaUk7xib0c9sr2nLWXPkykyhMb+GAv3sUkbfXVZStqoxmsybUgv1
vb4843s7atqWtUUqfO5g5LbeXpteF0une7vVFO9pvX7x/MeuXfUdqz4eSsqbF+MYZ9QFxfKw9LHx
e77rE5Lyjt1K2eO+xT5TqaW06HWO8tJyjU1H0uup2LpZ2kfWVFYVvR5k/GxwebNqrtWsvyaXX9cH
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
97YaXb2tTj2hifT6bva71FhnV527Qm+dH03v521+l7zVlXpjMc9GrV3rqdiUNfZG5Pi/XuzWa6cH
0+ss4HWqxCI5Kq3qGoio0mbV5HTqWO+otKp3MKpqZ7kmp+LqG4pp367F8YjQpFr9Lvlq7LJZS9PX
ITL7kGa/U45Km2bice1oqtax86PpY/m7917YLifOj+r6q3xKSln9bnujW3VVlTnH6cZjs9rZXK3u
gYl0fbOz2aMqZ7leOz2U6tev8io0OiVnhVWTU6maoaHWoavaaxQcnNTpnnG1+F1q9rsUDE+qq38y
PV5tsUgvvTWo666s18j4tDr7LtRQZaUWue1WDYxOyW6zqjs8mR6rNGoE43hnrBdjvHAiNqv3Xpva
hkuPH267TfOJBbU0uHSsczS13qfjcmXsj7u31W6a/Bo2IsfPvd6nX73Rr77BaLrO7R6Y1L4rvRoe
m1JPOKobrvYpmVT6fL/Z75K/1i633arzA5Pq7IuovcGt9ka3JqfnFByMqtZdvlj/jqfPG69sq1at
x57uT1Nj0DWKTc2rc7Gvbmtw6dqdXp3rG9dbnanxitYGl071jKtnYHKxz3JocmpOkeis+oZS430e
p0311Xad7R1P19ttfrc6ByJq87tlLbNodHJW9R67zvWNZ+23ZSUWlZWl/l9IpD5nuubxu+Syl2lw
bFp1HrtO946l6/j0WGN7rU70jKi5/sK4RbPPqZ0t1Xru1X5dc0WdhscXa3mfS85Kq2Izc3JU2mQt
k9obqvTKyUH1hiezjinj0dRxrmWxZldSmk8k0+u02efUjkCVnnutX9sC7k1RH29kbfxfL3brdE/q
3KWjOTUOIaX66tO944vXk+06empY77muMXU9IjyZlZXGOqc8DqvO9kXkKLdqcmpOwcFJdTRXyV9r
18jErGLTcQXqXVljVLtaqzU7l9D5/gvP7Wyu1rOv9amx3qEWv0u94Un1Dcb0vuua0hlsb3SpvdGj
s8FI+vzT47BpOj6npnpX6rpdKJo+dzobHE+P4xn9W3g4NQ4+MBKTM2Mc3Ojjo9Nxuew2uew2JSX1
D6euFabO16oVnZpP971GjT4zF9e2hgvXEVsbXGqqd+rFY2Ftb3KrzlOpX78VkrfWrvZGl2rdlXrj
7FD6eGfUUcb+KiX10rFBBXzOdC1xvn9cR89eqPXa/G5NTKX69bdrjgFksySTyeTlXmgikdDNN9+s
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
1YudOXOGMWbRMpfPcDUXKU0LIVaDsNbxmjVr2L333st0Oh3T6XTsnnvuYWvWrGGMWXIwLncxGAxs
4sSJfH42a9YstmHDBsaYZf375JNP8nkD4fls2bKFjRo1SvA9R/mFtaZrampYZmYm/3rbtm1swoQJ
jLH6MVKo3mE2m3kNc/7zySef1Pu8GPaxXCwuC9WfCe/gZtfXrK892L+ePn06u+OOO/g1To8ePdiM
GTOYyWRiRUVF/DU1MaqqqphOp+NtGD58OPvzzz9t+q6trWU6nY6NGDGCv9bmaG3M/U05s+cjpl+x
679S1x6Eri1rtdpber3i+++/Z/fee2+9ttbx9sSJE6x37958vWbJkiXs8ccf5/fbsWNH9tdffzHG
GFu+fDlvh9TcQ3g/L774Inv99dcZY4xdvXqVZWRksKKionrXfMWuF2/evFm0TXJyMisqKuJf33ff
fWzr1q312lm/tn+vurqatW/fno0aNYr/l52dzf7973830BkgPAl6cpUTcN8w02g0WL58OT7//HMc
PXqU/1aPyWTiv6FhzejRozF+/Hg888wzOH36NKqqqurd7VhdXY3Dhw/jgw8+4Le5+lj+ESNGAADS
0tJQUlICnU6HX375BUlJSejSpQsAQKFQ1Hsyi1arxcmTJ5GXl8d/nnt8ek1NDQ4ePIiysjIbW//6
6y/+Lktuv3FxcQgKCkJRURHMZjOMRiOGDx/Ofy40NNSp/gjvwdN9gvB+uBjSoUMHAOCfJJGamoof
fviBb5eQkIDMzEwAlt8Jf/7556HVaiGXy7Fw4UIcPnwYjDFcunQJx48fR79+/QAA/fr1c0lX+/bt
w4gRI3hdjx8/HvPnz+fft+7v9OnT8PPz43/DfMSIEZg9ezYA4MyZM1CpVPy3mnv27AmVSoUzZ86g
c+fO+OCDD/DKK68gMzNT8OcrMzIy8Morr8BgMKB79+7o0aOHpN0bN27Epk2bYDAYUFNTg5YtW/Lv
tWrVCu3btwdgif8//vgjAMvPFQwfPhz+/v4AgPz8fLz55pv1+t69ezf+/vtv3HXXXfw2o9GIS5cu
oVmzZpJ2EY6Ry+V48803cfLkSfz000/YunUr3nvvPWzatEl0XHfs2IG8vDz+GznW3zTz8fGxmZvL
ysowa9YsnDt3DgqFAhUVFThz5oxTTx5zRquOfGbAgAG8TsaNG4d58+YBALZv3w6tVovvvvsOgOVb
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
Gu7GJWIXDeAxPQAAAABJRU5ErkJggg==
&quot;
&gt;
&lt;/div&gt;

&lt;/div&gt;

&lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;
&lt;div class=&quot;cell border-box-sizing text_cell rendered&quot;&gt;&lt;div class=&quot;prompt input_prompt&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;inner_cell&quot;&gt;
&lt;div class=&quot;text_cell_render border-box-sizing rendered_html&quot;&gt;
&lt;p&gt;It may seem a bit much at first sight, but taking each cell independently this graph is actually very understandable and holds even more information than the correlation map we plotted before.&lt;br&gt;
As I was about to plot this I was somewhat hoping for a &lt;strong&gt;holy grail&lt;/strong&gt; of classification, a natural feature that would separate almost perfectly the two classes of attributes, but alas it wasn't here... But it doesn't mean that this graph was for nothing.&lt;br&gt;
It shows us &lt;em&gt;more or less&lt;/em&gt; some kind of linear relations between the first 6 columns of the data set.&lt;br&gt;
It also shows us the distribution of these 6 first columns and the separation that appears there between Normal and Abnormal albeit not perfect but always useful.&lt;/p&gt;
&lt;h2 id=&quot;Shallow-tree-intuition&quot;&gt;Shallow tree intuition&lt;a class=&quot;anchor-link&quot; href=&quot;#Shallow-tree-intuition&quot;&gt;&amp;#182;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Granted, we got to look at pretty much everything above and we got a pretty good hunch of which parameters were going to be important and which were not.&lt;br&gt;
But &lt;strong&gt;looking&lt;/strong&gt; is not &lt;strong&gt;knowing&lt;/strong&gt;. Thus, to get a deeper, more explainable intuition, we will create a graph for a shalllow decision tree. Because it is shallow the computation time and memory needed will be very small ( even though for a 309*12 matrix this isn't our strongest concern), and it will only retain the most relevant factors.&lt;br&gt;
On a side note, I think this is &lt;strong&gt;great&lt;/strong&gt; practice to do this to familiarise yourself with a dataset in a simple way.&lt;/p&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;cell border-box-sizing code_cell rendered&quot;&gt;
&lt;div class=&quot;input&quot;&gt;
&lt;div class=&quot;prompt input_prompt&quot;&gt;In&amp;nbsp;[8]:&lt;/div&gt;
&lt;div class=&quot;inner_cell&quot;&gt;
    &lt;div class=&quot;input_area&quot;&gt;
&lt;div class=&quot; highlight hl-ipython3&quot;&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class=&quot;c1&quot;&gt;# Creating the arrays&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;X&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;data&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;iloc&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[:,:&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;y&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;data&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;iloc&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[:,&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;

&lt;span class=&quot;c1&quot;&gt;# Creating the shallow decision tree&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;clf&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;DecisionTreeClassifier&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;max_depth&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;3&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;

&lt;span class=&quot;c1&quot;&gt;# Fitting the decision tree to the data set&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;clf&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;clf&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;fit&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;X&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;y&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;

&lt;span class=&quot;c1&quot;&gt;# Plotting the results&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;dot&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;tree&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;export_graphviz&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;clf&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;out_file&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;kc&quot;&gt;None&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;
                         &lt;span class=&quot;n&quot;&gt;feature_names&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;col_list&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[:&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;],&lt;/span&gt;  
                         &lt;span class=&quot;n&quot;&gt;class_names&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;Normal&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;Abnormal&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;],&lt;/span&gt;  
                         &lt;span class=&quot;n&quot;&gt;filled&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;kc&quot;&gt;True&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;rounded&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;kc&quot;&gt;True&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;  
                         &lt;span class=&quot;n&quot;&gt;special_characters&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;kc&quot;&gt;True&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;  
&lt;span class=&quot;n&quot;&gt;graph&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;graphviz&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Source&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;dot&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt; 
&lt;span class=&quot;n&quot;&gt;graph&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;render&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&amp;quot;back problems&amp;quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;graph&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;div class=&quot;output_wrapper&quot;&gt;
&lt;div class=&quot;output&quot;&gt;


&lt;div class=&quot;output_area&quot;&gt;

&lt;div class=&quot;prompt output_prompt&quot;&gt;Out[8]:&lt;/div&gt;



&lt;div class=&quot;output_svg output_subarea output_execute_result&quot;&gt;
&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;
&lt;!DOCTYPE svg PUBLIC &quot;-//W3C//DTD SVG 1.1//EN&quot;
 &quot;http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd&quot;&gt;
&lt;!-- Generated by graphviz version 2.38.0 (20140413.2041)
 --&gt;
&lt;!-- Title: Tree Pages: 1 --&gt;
&lt;svg width=&quot;1070pt&quot; height=&quot;433pt&quot;
 viewBox=&quot;0.00 0.00 1069.50 433.00&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot;&gt;
&lt;g id=&quot;graph0&quot; class=&quot;graph&quot; transform=&quot;scale(1 1) rotate(0) translate(4 429)&quot;&gt;
&lt;title&gt;Tree&lt;/title&gt;
&lt;polygon fill=&quot;white&quot; stroke=&quot;none&quot; points=&quot;-4,4 -4,-429 1065.5,-429 1065.5,4 -4,4&quot;/&gt;
&lt;!-- 0 --&gt;
&lt;g id=&quot;node1&quot; class=&quot;node&quot;&gt;&lt;title&gt;0&lt;/title&gt;
&lt;path fill=&quot;#399de5&quot; fill-opacity=&quot;0.521569&quot; stroke=&quot;black&quot; d=&quot;M625,-425C625,-425 422,-425 422,-425 416,-425 410,-419 410,-413 410,-413 410,-354 410,-354 410,-348 416,-342 422,-342 422,-342 625,-342 625,-342 631,-342 637,-348 637,-354 637,-354 637,-413 637,-413 637,-419 631,-425 625,-425&quot;/&gt;
&lt;text text-anchor=&quot;start&quot; x=&quot;418&quot; y=&quot;-409.8&quot; font-family=&quot;Helvetica,sans-Serif&quot; font-size=&quot;14.00&quot;&gt;Degree_spondylolisthesis ≤ 14.854&lt;/text&gt;
&lt;text text-anchor=&quot;start&quot; x=&quot;488&quot; y=&quot;-394.8&quot; font-family=&quot;Helvetica,sans-Serif&quot; font-size=&quot;14.00&quot;&gt;gini = 0.438&lt;/text&gt;
&lt;text text-anchor=&quot;start&quot; x=&quot;478.5&quot; y=&quot;-379.8&quot; font-family=&quot;Helvetica,sans-Serif&quot; font-size=&quot;14.00&quot;&gt;samples = 309&lt;/text&gt;
&lt;text text-anchor=&quot;start&quot; x=&quot;469&quot; y=&quot;-364.8&quot; font-family=&quot;Helvetica,sans-Serif&quot; font-size=&quot;14.00&quot;&gt;value = [100, 209]&lt;/text&gt;
&lt;text text-anchor=&quot;start&quot; x=&quot;470.5&quot; y=&quot;-349.8&quot; font-family=&quot;Helvetica,sans-Serif&quot; font-size=&quot;14.00&quot;&gt;class = Abnormal&lt;/text&gt;
&lt;/g&gt;
&lt;!-- 1 --&gt;
&lt;g id=&quot;node2&quot; class=&quot;node&quot;&gt;&lt;title&gt;1&lt;/title&gt;
&lt;path fill=&quot;#e58139&quot; fill-opacity=&quot;0.349020&quot; stroke=&quot;black&quot; d=&quot;M480.5,-306C480.5,-306 352.5,-306 352.5,-306 346.5,-306 340.5,-300 340.5,-294 340.5,-294 340.5,-235 340.5,-235 340.5,-229 346.5,-223 352.5,-223 352.5,-223 480.5,-223 480.5,-223 486.5,-223 492.5,-229 492.5,-235 492.5,-235 492.5,-294 492.5,-294 492.5,-300 486.5,-306 480.5,-306&quot;/&gt;
&lt;text text-anchor=&quot;start&quot; x=&quot;348.5&quot; y=&quot;-290.8&quot; font-family=&quot;Helvetica,sans-Serif&quot; font-size=&quot;14.00&quot;&gt;Sacral_slope ≤ 28.136&lt;/text&gt;
&lt;text text-anchor=&quot;start&quot; x=&quot;381&quot; y=&quot;-275.8&quot; font-family=&quot;Helvetica,sans-Serif&quot; font-size=&quot;14.00&quot;&gt;gini = 0.477&lt;/text&gt;
&lt;text text-anchor=&quot;start&quot; x=&quot;371.5&quot; y=&quot;-260.8&quot; font-family=&quot;Helvetica,sans-Serif&quot; font-size=&quot;14.00&quot;&gt;samples = 160&lt;/text&gt;
&lt;text text-anchor=&quot;start&quot; x=&quot;369.5&quot; y=&quot;-245.8&quot; font-family=&quot;Helvetica,sans-Serif&quot; font-size=&quot;14.00&quot;&gt;value = [97, 63]&lt;/text&gt;
&lt;text text-anchor=&quot;start&quot; x=&quot;371&quot; y=&quot;-230.8&quot; font-family=&quot;Helvetica,sans-Serif&quot; font-size=&quot;14.00&quot;&gt;class = Normal&lt;/text&gt;
&lt;/g&gt;
&lt;!-- 0&amp;#45;&amp;gt;1 --&gt;
&lt;g id=&quot;edge1&quot; class=&quot;edge&quot;&gt;&lt;title&gt;0&amp;#45;&amp;gt;1&lt;/title&gt;
&lt;path fill=&quot;none&quot; stroke=&quot;black&quot; d=&quot;M486.377,-341.907C477.994,-332.742 469.018,-322.927 460.387,-313.489&quot;/&gt;
&lt;polygon fill=&quot;black&quot; stroke=&quot;black&quot; points=&quot;462.889,-311.038 453.557,-306.021 457.723,-315.762 462.889,-311.038&quot;/&gt;
&lt;text text-anchor=&quot;middle&quot; x=&quot;452.443&quot; y=&quot;-327.296&quot; font-family=&quot;Helvetica,sans-Serif&quot; font-size=&quot;14.00&quot;&gt;True&lt;/text&gt;
&lt;/g&gt;
&lt;!-- 8 --&gt;
&lt;g id=&quot;node9&quot; class=&quot;node&quot;&gt;&lt;title&gt;8&lt;/title&gt;
&lt;path fill=&quot;#399de5&quot; fill-opacity=&quot;0.980392&quot; stroke=&quot;black&quot; d=&quot;M733,-306C733,-306 530,-306 530,-306 524,-306 518,-300 518,-294 518,-294 518,-235 518,-235 518,-229 524,-223 530,-223 530,-223 733,-223 733,-223 739,-223 745,-229 745,-235 745,-235 745,-294 745,-294 745,-300 739,-306 733,-306&quot;/&gt;
&lt;text text-anchor=&quot;start&quot; x=&quot;526&quot; y=&quot;-290.8&quot; font-family=&quot;Helvetica,sans-Serif&quot; font-size=&quot;14.00&quot;&gt;Degree_spondylolisthesis ≤ 20.085&lt;/text&gt;
&lt;text text-anchor=&quot;start&quot; x=&quot;596&quot; y=&quot;-275.8&quot; font-family=&quot;Helvetica,sans-Serif&quot; font-size=&quot;14.00&quot;&gt;gini = 0.039&lt;/text&gt;
&lt;text text-anchor=&quot;start&quot; x=&quot;586.5&quot; y=&quot;-260.8&quot; font-family=&quot;Helvetica,sans-Serif&quot; font-size=&quot;14.00&quot;&gt;samples = 149&lt;/text&gt;
&lt;text text-anchor=&quot;start&quot; x=&quot;584.5&quot; y=&quot;-245.8&quot; font-family=&quot;Helvetica,sans-Serif&quot; font-size=&quot;14.00&quot;&gt;value = [3, 146]&lt;/text&gt;
&lt;text text-anchor=&quot;start&quot; x=&quot;578.5&quot; y=&quot;-230.8&quot; font-family=&quot;Helvetica,sans-Serif&quot; font-size=&quot;14.00&quot;&gt;class = Abnormal&lt;/text&gt;
&lt;/g&gt;
&lt;!-- 0&amp;#45;&amp;gt;8 --&gt;
&lt;g id=&quot;edge8&quot; class=&quot;edge&quot;&gt;&lt;title&gt;0&amp;#45;&amp;gt;8&lt;/title&gt;
&lt;path fill=&quot;none&quot; stroke=&quot;black&quot; d=&quot;M560.97,-341.907C569.431,-332.742 578.491,-322.927 587.202,-313.489&quot;/&gt;
&lt;polygon fill=&quot;black&quot; stroke=&quot;black&quot; points=&quot;589.885,-315.743 594.096,-306.021 584.742,-310.995 589.885,-315.743&quot;/&gt;
&lt;text text-anchor=&quot;middle&quot; x=&quot;595.095&quot; y=&quot;-327.301&quot; font-family=&quot;Helvetica,sans-Serif&quot; font-size=&quot;14.00&quot;&gt;False&lt;/text&gt;
&lt;/g&gt;
&lt;!-- 2 --&gt;
&lt;g id=&quot;node3&quot; class=&quot;node&quot;&gt;&lt;title&gt;2&lt;/title&gt;
&lt;path fill=&quot;#399de5&quot; fill-opacity=&quot;0.654902&quot; stroke=&quot;black&quot; d=&quot;M257.5,-187C257.5,-187 115.5,-187 115.5,-187 109.5,-187 103.5,-181 103.5,-175 103.5,-175 103.5,-116 103.5,-116 103.5,-110 109.5,-104 115.5,-104 115.5,-104 257.5,-104 257.5,-104 263.5,-104 269.5,-110 269.5,-116 269.5,-116 269.5,-175 269.5,-175 269.5,-181 263.5,-187 257.5,-187&quot;/&gt;
&lt;text text-anchor=&quot;start&quot; x=&quot;111.5&quot; y=&quot;-171.8&quot; font-family=&quot;Helvetica,sans-Serif&quot; font-size=&quot;14.00&quot;&gt;Sacrum_angle ≤ &amp;#45;30.929&lt;/text&gt;
&lt;text text-anchor=&quot;start&quot; x=&quot;151&quot; y=&quot;-156.8&quot; font-family=&quot;Helvetica,sans-Serif&quot; font-size=&quot;14.00&quot;&gt;gini = 0.382&lt;/text&gt;
&lt;text text-anchor=&quot;start&quot; x=&quot;145.5&quot; y=&quot;-141.8&quot; font-family=&quot;Helvetica,sans-Serif&quot; font-size=&quot;14.00&quot;&gt;samples = 35&lt;/text&gt;
&lt;text text-anchor=&quot;start&quot; x=&quot;143.5&quot; y=&quot;-126.8&quot; font-family=&quot;Helvetica,sans-Serif&quot; font-size=&quot;14.00&quot;&gt;value = [9, 26]&lt;/text&gt;
&lt;text text-anchor=&quot;start&quot; x=&quot;133.5&quot; y=&quot;-111.8&quot; font-family=&quot;Helvetica,sans-Serif&quot; font-size=&quot;14.00&quot;&gt;class = Abnormal&lt;/text&gt;
&lt;/g&gt;
&lt;!-- 1&amp;#45;&amp;gt;2 --&gt;
&lt;g id=&quot;edge2&quot; class=&quot;edge&quot;&gt;&lt;title&gt;1&amp;#45;&amp;gt;2&lt;/title&gt;
&lt;path fill=&quot;none&quot; stroke=&quot;black&quot; d=&quot;M340.233,-224.703C319.523,-214.168 296.916,-202.668 275.567,-191.808&quot;/&gt;
&lt;polygon fill=&quot;black&quot; stroke=&quot;black&quot; points=&quot;277.003,-188.612 266.503,-187.197 273.829,-194.851 277.003,-188.612&quot;/&gt;
&lt;/g&gt;
&lt;!-- 5 --&gt;
&lt;g id=&quot;node6&quot; class=&quot;node&quot;&gt;&lt;title&gt;5&lt;/title&gt;
&lt;path fill=&quot;#e58139&quot; fill-opacity=&quot;0.580392&quot; stroke=&quot;black&quot; d=&quot;M481.5,-187C481.5,-187 351.5,-187 351.5,-187 345.5,-187 339.5,-181 339.5,-175 339.5,-175 339.5,-116 339.5,-116 339.5,-110 345.5,-104 351.5,-104 351.5,-104 481.5,-104 481.5,-104 487.5,-104 493.5,-110 493.5,-116 493.5,-116 493.5,-175 493.5,-175 493.5,-181 487.5,-187 481.5,-187&quot;/&gt;
&lt;text text-anchor=&quot;start&quot; x=&quot;347.5&quot; y=&quot;-171.8&quot; font-family=&quot;Helvetica,sans-Serif&quot; font-size=&quot;14.00&quot;&gt;Pelvic_radius ≤ 117.36&lt;/text&gt;
&lt;text text-anchor=&quot;start&quot; x=&quot;381&quot; y=&quot;-156.8&quot; font-family=&quot;Helvetica,sans-Serif&quot; font-size=&quot;14.00&quot;&gt;gini = 0.417&lt;/text&gt;
&lt;text text-anchor=&quot;start&quot; x=&quot;371.5&quot; y=&quot;-141.8&quot; font-family=&quot;Helvetica,sans-Serif&quot; font-size=&quot;14.00&quot;&gt;samples = 125&lt;/text&gt;
&lt;text text-anchor=&quot;start&quot; x=&quot;369.5&quot; y=&quot;-126.8&quot; font-family=&quot;Helvetica,sans-Serif&quot; font-size=&quot;14.00&quot;&gt;value = [88, 37]&lt;/text&gt;
&lt;text text-anchor=&quot;start&quot; x=&quot;371&quot; y=&quot;-111.8&quot; font-family=&quot;Helvetica,sans-Serif&quot; font-size=&quot;14.00&quot;&gt;class = Normal&lt;/text&gt;
&lt;/g&gt;
&lt;!-- 1&amp;#45;&amp;gt;5 --&gt;
&lt;g id=&quot;edge5&quot; class=&quot;edge&quot;&gt;&lt;title&gt;1&amp;#45;&amp;gt;5&lt;/title&gt;
&lt;path fill=&quot;none&quot; stroke=&quot;black&quot; d=&quot;M416.5,-222.907C416.5,-214.649 416.5,-205.864 416.5,-197.302&quot;/&gt;
&lt;polygon fill=&quot;black&quot; stroke=&quot;black&quot; points=&quot;420,-197.021 416.5,-187.021 413,-197.021 420,-197.021&quot;/&gt;
&lt;/g&gt;
&lt;!-- 3 --&gt;
&lt;g id=&quot;node4&quot; class=&quot;node&quot;&gt;&lt;title&gt;3&lt;/title&gt;
&lt;path fill=&quot;#e58139&quot; stroke=&quot;black&quot; d=&quot;M95,-68C95,-68 12,-68 12,-68 6,-68 0,-62 0,-56 0,-56 0,-12 0,-12 0,-6 6,-0 12,-0 12,-0 95,-0 95,-0 101,-0 107,-6 107,-12 107,-12 107,-56 107,-56 107,-62 101,-68 95,-68&quot;/&gt;
&lt;text text-anchor=&quot;start&quot; x=&quot;25.5&quot; y=&quot;-52.8&quot; font-family=&quot;Helvetica,sans-Serif&quot; font-size=&quot;14.00&quot;&gt;gini = 0.0&lt;/text&gt;
&lt;text text-anchor=&quot;start&quot; x=&quot;16&quot; y=&quot;-37.8&quot; font-family=&quot;Helvetica,sans-Serif&quot; font-size=&quot;14.00&quot;&gt;samples = 2&lt;/text&gt;
&lt;text text-anchor=&quot;start&quot; x=&quot;14&quot; y=&quot;-22.8&quot; font-family=&quot;Helvetica,sans-Serif&quot; font-size=&quot;14.00&quot;&gt;value = [2, 0]&lt;/text&gt;
&lt;text text-anchor=&quot;start&quot; x=&quot;8&quot; y=&quot;-7.8&quot; font-family=&quot;Helvetica,sans-Serif&quot; font-size=&quot;14.00&quot;&gt;class = Normal&lt;/text&gt;
&lt;/g&gt;
&lt;!-- 2&amp;#45;&amp;gt;3 --&gt;
&lt;g id=&quot;edge3&quot; class=&quot;edge&quot;&gt;&lt;title&gt;2&amp;#45;&amp;gt;3&lt;/title&gt;
&lt;path fill=&quot;none&quot; stroke=&quot;black&quot; d=&quot;M136.976,-103.726C125.454,-94.2406 113.204,-84.1551 101.739,-74.7159&quot;/&gt;
&lt;polygon fill=&quot;black&quot; stroke=&quot;black&quot; points=&quot;103.891,-71.9536 93.9461,-68.2996 99.4416,-77.3577 103.891,-71.9536&quot;/&gt;
&lt;/g&gt;
&lt;!-- 4 --&gt;
&lt;g id=&quot;node5&quot; class=&quot;node&quot;&gt;&lt;title&gt;4&lt;/title&gt;
&lt;path fill=&quot;#399de5&quot; fill-opacity=&quot;0.729412&quot; stroke=&quot;black&quot; d=&quot;M235.5,-68C235.5,-68 137.5,-68 137.5,-68 131.5,-68 125.5,-62 125.5,-56 125.5,-56 125.5,-12 125.5,-12 125.5,-6 131.5,-0 137.5,-0 137.5,-0 235.5,-0 235.5,-0 241.5,-0 247.5,-6 247.5,-12 247.5,-12 247.5,-56 247.5,-56 247.5,-62 241.5,-68 235.5,-68&quot;/&gt;
&lt;text text-anchor=&quot;start&quot; x=&quot;151&quot; y=&quot;-52.8&quot; font-family=&quot;Helvetica,sans-Serif&quot; font-size=&quot;14.00&quot;&gt;gini = 0.334&lt;/text&gt;
&lt;text text-anchor=&quot;start&quot; x=&quot;145.5&quot; y=&quot;-37.8&quot; font-family=&quot;Helvetica,sans-Serif&quot; font-size=&quot;14.00&quot;&gt;samples = 33&lt;/text&gt;
&lt;text text-anchor=&quot;start&quot; x=&quot;143.5&quot; y=&quot;-22.8&quot; font-family=&quot;Helvetica,sans-Serif&quot; font-size=&quot;14.00&quot;&gt;value = [7, 26]&lt;/text&gt;
&lt;text text-anchor=&quot;start&quot; x=&quot;133.5&quot; y=&quot;-7.8&quot; font-family=&quot;Helvetica,sans-Serif&quot; font-size=&quot;14.00&quot;&gt;class = Abnormal&lt;/text&gt;
&lt;/g&gt;
&lt;!-- 2&amp;#45;&amp;gt;4 --&gt;
&lt;g id=&quot;edge4&quot; class=&quot;edge&quot;&gt;&lt;title&gt;2&amp;#45;&amp;gt;4&lt;/title&gt;
&lt;path fill=&quot;none&quot; stroke=&quot;black&quot; d=&quot;M186.5,-103.726C186.5,-95.5175 186.5,-86.8595 186.5,-78.56&quot;/&gt;
&lt;polygon fill=&quot;black&quot; stroke=&quot;black&quot; points=&quot;190,-78.2996 186.5,-68.2996 183,-78.2996 190,-78.2996&quot;/&gt;
&lt;/g&gt;
&lt;!-- 6 --&gt;
&lt;g id=&quot;node7&quot; class=&quot;node&quot;&gt;&lt;title&gt;6&lt;/title&gt;
&lt;path fill=&quot;#399de5&quot; fill-opacity=&quot;0.270588&quot; stroke=&quot;black&quot; d=&quot;M375.5,-68C375.5,-68 277.5,-68 277.5,-68 271.5,-68 265.5,-62 265.5,-56 265.5,-56 265.5,-12 265.5,-12 265.5,-6 271.5,-0 277.5,-0 277.5,-0 375.5,-0 375.5,-0 381.5,-0 387.5,-6 387.5,-12 387.5,-12 387.5,-56 387.5,-56 387.5,-62 381.5,-68 375.5,-68&quot;/&gt;
&lt;text text-anchor=&quot;start&quot; x=&quot;291&quot; y=&quot;-52.8&quot; font-family=&quot;Helvetica,sans-Serif&quot; font-size=&quot;14.00&quot;&gt;gini = 0.488&lt;/text&gt;
&lt;text text-anchor=&quot;start&quot; x=&quot;285.5&quot; y=&quot;-37.8&quot; font-family=&quot;Helvetica,sans-Serif&quot; font-size=&quot;14.00&quot;&gt;samples = 45&lt;/text&gt;
&lt;text text-anchor=&quot;start&quot; x=&quot;279.5&quot; y=&quot;-22.8&quot; font-family=&quot;Helvetica,sans-Serif&quot; font-size=&quot;14.00&quot;&gt;value = [19, 26]&lt;/text&gt;
&lt;text text-anchor=&quot;start&quot; x=&quot;273.5&quot; y=&quot;-7.8&quot; font-family=&quot;Helvetica,sans-Serif&quot; font-size=&quot;14.00&quot;&gt;class = Abnormal&lt;/text&gt;
&lt;/g&gt;
&lt;!-- 5&amp;#45;&amp;gt;6 --&gt;
&lt;g id=&quot;edge6&quot; class=&quot;edge&quot;&gt;&lt;title&gt;5&amp;#45;&amp;gt;6&lt;/title&gt;
&lt;path fill=&quot;none&quot; stroke=&quot;black&quot; d=&quot;M382.987,-103.726C375.566,-94.6966 367.697,-85.1235 360.266,-76.0816&quot;/&gt;
&lt;polygon fill=&quot;black&quot; stroke=&quot;black&quot; points=&quot;362.923,-73.8026 353.87,-68.2996 357.515,-78.2474 362.923,-73.8026&quot;/&gt;
&lt;/g&gt;
&lt;!-- 7 --&gt;
&lt;g id=&quot;node8&quot; class=&quot;node&quot;&gt;&lt;title&gt;7&lt;/title&gt;
&lt;path fill=&quot;#e58139&quot; fill-opacity=&quot;0.839216&quot; stroke=&quot;black&quot; d=&quot;M503.5,-68C503.5,-68 417.5,-68 417.5,-68 411.5,-68 405.5,-62 405.5,-56 405.5,-56 405.5,-12 405.5,-12 405.5,-6 411.5,-0 417.5,-0 417.5,-0 503.5,-0 503.5,-0 509.5,-0 515.5,-6 515.5,-12 515.5,-12 515.5,-56 515.5,-56 515.5,-62 509.5,-68 503.5,-68&quot;/&gt;
&lt;text text-anchor=&quot;start&quot; x=&quot;425&quot; y=&quot;-52.8&quot; font-family=&quot;Helvetica,sans-Serif&quot; font-size=&quot;14.00&quot;&gt;gini = 0.237&lt;/text&gt;
&lt;text text-anchor=&quot;start&quot; x=&quot;419.5&quot; y=&quot;-37.8&quot; font-family=&quot;Helvetica,sans-Serif&quot; font-size=&quot;14.00&quot;&gt;samples = 80&lt;/text&gt;
&lt;text text-anchor=&quot;start&quot; x=&quot;413.5&quot; y=&quot;-22.8&quot; font-family=&quot;Helvetica,sans-Serif&quot; font-size=&quot;14.00&quot;&gt;value = [69, 11]&lt;/text&gt;
&lt;text text-anchor=&quot;start&quot; x=&quot;415&quot; y=&quot;-7.8&quot; font-family=&quot;Helvetica,sans-Serif&quot; font-size=&quot;14.00&quot;&gt;class = Normal&lt;/text&gt;
&lt;/g&gt;
&lt;!-- 5&amp;#45;&amp;gt;7 --&gt;
&lt;g id=&quot;edge7&quot; class=&quot;edge&quot;&gt;&lt;title&gt;5&amp;#45;&amp;gt;7&lt;/title&gt;
&lt;path fill=&quot;none&quot; stroke=&quot;black&quot; d=&quot;M432.884,-103.726C436.292,-95.2439 439.894,-86.2819 443.329,-77.7312&quot;/&gt;
&lt;polygon fill=&quot;black&quot; stroke=&quot;black&quot; points=&quot;446.638,-78.8835 447.119,-68.2996 440.143,-76.2735 446.638,-78.8835&quot;/&gt;
&lt;/g&gt;
&lt;!-- 9 --&gt;
&lt;g id=&quot;node10&quot; class=&quot;node&quot;&gt;&lt;title&gt;9&lt;/title&gt;
&lt;path fill=&quot;#399de5&quot; fill-opacity=&quot;0.666667&quot; stroke=&quot;black&quot; d=&quot;M706.5,-187C706.5,-187 556.5,-187 556.5,-187 550.5,-187 544.5,-181 544.5,-175 544.5,-175 544.5,-116 544.5,-116 544.5,-110 550.5,-104 556.5,-104 556.5,-104 706.5,-104 706.5,-104 712.5,-104 718.5,-110 718.5,-116 718.5,-116 718.5,-175 718.5,-175 718.5,-181 712.5,-187 706.5,-187&quot;/&gt;
&lt;text text-anchor=&quot;start&quot; x=&quot;552.5&quot; y=&quot;-171.8&quot; font-family=&quot;Helvetica,sans-Serif&quot; font-size=&quot;14.00&quot;&gt;Pelvic_incidence ≤ 55.988&lt;/text&gt;
&lt;text text-anchor=&quot;start&quot; x=&quot;596&quot; y=&quot;-156.8&quot; font-family=&quot;Helvetica,sans-Serif&quot; font-size=&quot;14.00&quot;&gt;gini = 0.375&lt;/text&gt;
&lt;text text-anchor=&quot;start&quot; x=&quot;594&quot; y=&quot;-141.8&quot; font-family=&quot;Helvetica,sans-Serif&quot; font-size=&quot;14.00&quot;&gt;samples = 4&lt;/text&gt;
&lt;text text-anchor=&quot;start&quot; x=&quot;592&quot; y=&quot;-126.8&quot; font-family=&quot;Helvetica,sans-Serif&quot; font-size=&quot;14.00&quot;&gt;value = [1, 3]&lt;/text&gt;
&lt;text text-anchor=&quot;start&quot; x=&quot;578.5&quot; y=&quot;-111.8&quot; font-family=&quot;Helvetica,sans-Serif&quot; font-size=&quot;14.00&quot;&gt;class = Abnormal&lt;/text&gt;
&lt;/g&gt;
&lt;!-- 8&amp;#45;&amp;gt;9 --&gt;
&lt;g id=&quot;edge9&quot; class=&quot;edge&quot;&gt;&lt;title&gt;8&amp;#45;&amp;gt;9&lt;/title&gt;
&lt;path fill=&quot;none&quot; stroke=&quot;black&quot; d=&quot;M631.5,-222.907C631.5,-214.649 631.5,-205.864 631.5,-197.302&quot;/&gt;
&lt;polygon fill=&quot;black&quot; stroke=&quot;black&quot; points=&quot;635,-197.021 631.5,-187.021 628,-197.021 635,-197.021&quot;/&gt;
&lt;/g&gt;
&lt;!-- 12 --&gt;
&lt;g id=&quot;node13&quot; class=&quot;node&quot;&gt;&lt;title&gt;12&lt;/title&gt;
&lt;path fill=&quot;#399de5&quot; fill-opacity=&quot;0.984314&quot; stroke=&quot;black&quot; d=&quot;M920,-187C920,-187 801,-187 801,-187 795,-187 789,-181 789,-175 789,-175 789,-116 789,-116 789,-110 795,-104 801,-104 801,-104 920,-104 920,-104 926,-104 932,-110 932,-116 932,-116 932,-175 932,-175 932,-181 926,-187 920,-187&quot;/&gt;
&lt;text text-anchor=&quot;start&quot; x=&quot;797&quot; y=&quot;-171.8&quot; font-family=&quot;Helvetica,sans-Serif&quot; font-size=&quot;14.00&quot;&gt;Cervical_tilt ≤ 16.243&lt;/text&gt;
&lt;text text-anchor=&quot;start&quot; x=&quot;825&quot; y=&quot;-156.8&quot; font-family=&quot;Helvetica,sans-Serif&quot; font-size=&quot;14.00&quot;&gt;gini = 0.027&lt;/text&gt;
&lt;text text-anchor=&quot;start&quot; x=&quot;815.5&quot; y=&quot;-141.8&quot; font-family=&quot;Helvetica,sans-Serif&quot; font-size=&quot;14.00&quot;&gt;samples = 145&lt;/text&gt;
&lt;text text-anchor=&quot;start&quot; x=&quot;813.5&quot; y=&quot;-126.8&quot; font-family=&quot;Helvetica,sans-Serif&quot; font-size=&quot;14.00&quot;&gt;value = [2, 143]&lt;/text&gt;
&lt;text text-anchor=&quot;start&quot; x=&quot;807.5&quot; y=&quot;-111.8&quot; font-family=&quot;Helvetica,sans-Serif&quot; font-size=&quot;14.00&quot;&gt;class = Abnormal&lt;/text&gt;
&lt;/g&gt;
&lt;!-- 8&amp;#45;&amp;gt;12 --&gt;
&lt;g id=&quot;edge12&quot; class=&quot;edge&quot;&gt;&lt;title&gt;8&amp;#45;&amp;gt;12&lt;/title&gt;
&lt;path fill=&quot;none&quot; stroke=&quot;black&quot; d=&quot;M710.95,-222.907C733.204,-211.538 757.412,-199.169 779.741,-187.761&quot;/&gt;
&lt;polygon fill=&quot;black&quot; stroke=&quot;black&quot; points=&quot;781.54,-190.772 788.853,-183.106 778.355,-184.539 781.54,-190.772&quot;/&gt;
&lt;/g&gt;
&lt;!-- 10 --&gt;
&lt;g id=&quot;node11&quot; class=&quot;node&quot;&gt;&lt;title&gt;10&lt;/title&gt;
&lt;path fill=&quot;#e58139&quot; stroke=&quot;black&quot; d=&quot;M629,-68C629,-68 546,-68 546,-68 540,-68 534,-62 534,-56 534,-56 534,-12 534,-12 534,-6 540,-0 546,-0 546,-0 629,-0 629,-0 635,-0 641,-6 641,-12 641,-12 641,-56 641,-56 641,-62 635,-68 629,-68&quot;/&gt;
&lt;text text-anchor=&quot;start&quot; x=&quot;559.5&quot; y=&quot;-52.8&quot; font-family=&quot;Helvetica,sans-Serif&quot; font-size=&quot;14.00&quot;&gt;gini = 0.0&lt;/text&gt;
&lt;text text-anchor=&quot;start&quot; x=&quot;550&quot; y=&quot;-37.8&quot; font-family=&quot;Helvetica,sans-Serif&quot; font-size=&quot;14.00&quot;&gt;samples = 1&lt;/text&gt;
&lt;text text-anchor=&quot;start&quot; x=&quot;548&quot; y=&quot;-22.8&quot; font-family=&quot;Helvetica,sans-Serif&quot; font-size=&quot;14.00&quot;&gt;value = [1, 0]&lt;/text&gt;
&lt;text text-anchor=&quot;start&quot; x=&quot;542&quot; y=&quot;-7.8&quot; font-family=&quot;Helvetica,sans-Serif&quot; font-size=&quot;14.00&quot;&gt;class = Normal&lt;/text&gt;
&lt;/g&gt;
&lt;!-- 9&amp;#45;&amp;gt;10 --&gt;
&lt;g id=&quot;edge10&quot; class=&quot;edge&quot;&gt;&lt;title&gt;9&amp;#45;&amp;gt;10&lt;/title&gt;
&lt;path fill=&quot;none&quot; stroke=&quot;black&quot; d=&quot;M615.116,-103.726C611.708,-95.2439 608.106,-86.2819 604.671,-77.7312&quot;/&gt;
&lt;polygon fill=&quot;black&quot; stroke=&quot;black&quot; points=&quot;607.857,-76.2735 600.881,-68.2996 601.362,-78.8835 607.857,-76.2735&quot;/&gt;
&lt;/g&gt;
&lt;!-- 11 --&gt;
&lt;g id=&quot;node12&quot; class=&quot;node&quot;&gt;&lt;title&gt;11&lt;/title&gt;
&lt;path fill=&quot;#399de5&quot; stroke=&quot;black&quot; d=&quot;M769.5,-68C769.5,-68 671.5,-68 671.5,-68 665.5,-68 659.5,-62 659.5,-56 659.5,-56 659.5,-12 659.5,-12 659.5,-6 665.5,-0 671.5,-0 671.5,-0 769.5,-0 769.5,-0 775.5,-0 781.5,-6 781.5,-12 781.5,-12 781.5,-56 781.5,-56 781.5,-62 775.5,-68 769.5,-68&quot;/&gt;
&lt;text text-anchor=&quot;start&quot; x=&quot;692.5&quot; y=&quot;-52.8&quot; font-family=&quot;Helvetica,sans-Serif&quot; font-size=&quot;14.00&quot;&gt;gini = 0.0&lt;/text&gt;
&lt;text text-anchor=&quot;start&quot; x=&quot;683&quot; y=&quot;-37.8&quot; font-family=&quot;Helvetica,sans-Serif&quot; font-size=&quot;14.00&quot;&gt;samples = 3&lt;/text&gt;
&lt;text text-anchor=&quot;start&quot; x=&quot;681&quot; y=&quot;-22.8&quot; font-family=&quot;Helvetica,sans-Serif&quot; font-size=&quot;14.00&quot;&gt;value = [0, 3]&lt;/text&gt;
&lt;text text-anchor=&quot;start&quot; x=&quot;667.5&quot; y=&quot;-7.8&quot; font-family=&quot;Helvetica,sans-Serif&quot; font-size=&quot;14.00&quot;&gt;class = Abnormal&lt;/text&gt;
&lt;/g&gt;
&lt;!-- 9&amp;#45;&amp;gt;11 --&gt;
&lt;g id=&quot;edge11&quot; class=&quot;edge&quot;&gt;&lt;title&gt;9&amp;#45;&amp;gt;11&lt;/title&gt;
&lt;path fill=&quot;none&quot; stroke=&quot;black&quot; d=&quot;M664.64,-103.726C671.979,-94.6966 679.76,-85.1235 687.109,-76.0816&quot;/&gt;
&lt;polygon fill=&quot;black&quot; stroke=&quot;black&quot; points=&quot;689.843,-78.2672 693.435,-68.2996 684.411,-73.8521 689.843,-78.2672&quot;/&gt;
&lt;/g&gt;
&lt;!-- 13 --&gt;
&lt;g id=&quot;node14&quot; class=&quot;node&quot;&gt;&lt;title&gt;13&lt;/title&gt;
&lt;path fill=&quot;#399de5&quot; stroke=&quot;black&quot; d=&quot;M909.5,-68C909.5,-68 811.5,-68 811.5,-68 805.5,-68 799.5,-62 799.5,-56 799.5,-56 799.5,-12 799.5,-12 799.5,-6 805.5,-0 811.5,-0 811.5,-0 909.5,-0 909.5,-0 915.5,-0 921.5,-6 921.5,-12 921.5,-12 921.5,-56 921.5,-56 921.5,-62 915.5,-68 909.5,-68&quot;/&gt;
&lt;text text-anchor=&quot;start&quot; x=&quot;832.5&quot; y=&quot;-52.8&quot; font-family=&quot;Helvetica,sans-Serif&quot; font-size=&quot;14.00&quot;&gt;gini = 0.0&lt;/text&gt;
&lt;text text-anchor=&quot;start&quot; x=&quot;815.5&quot; y=&quot;-37.8&quot; font-family=&quot;Helvetica,sans-Serif&quot; font-size=&quot;14.00&quot;&gt;samples = 129&lt;/text&gt;
&lt;text text-anchor=&quot;start&quot; x=&quot;813.5&quot; y=&quot;-22.8&quot; font-family=&quot;Helvetica,sans-Serif&quot; font-size=&quot;14.00&quot;&gt;value = [0, 129]&lt;/text&gt;
&lt;text text-anchor=&quot;start&quot; x=&quot;807.5&quot; y=&quot;-7.8&quot; font-family=&quot;Helvetica,sans-Serif&quot; font-size=&quot;14.00&quot;&gt;class = Abnormal&lt;/text&gt;
&lt;/g&gt;
&lt;!-- 12&amp;#45;&amp;gt;13 --&gt;
&lt;g id=&quot;edge13&quot; class=&quot;edge&quot;&gt;&lt;title&gt;12&amp;#45;&amp;gt;13&lt;/title&gt;
&lt;path fill=&quot;none&quot; stroke=&quot;black&quot; d=&quot;M860.5,-103.726C860.5,-95.5175 860.5,-86.8595 860.5,-78.56&quot;/&gt;
&lt;polygon fill=&quot;black&quot; stroke=&quot;black&quot; points=&quot;864,-78.2996 860.5,-68.2996 857,-78.2996 864,-78.2996&quot;/&gt;
&lt;/g&gt;
&lt;!-- 14 --&gt;
&lt;g id=&quot;node15&quot; class=&quot;node&quot;&gt;&lt;title&gt;14&lt;/title&gt;
&lt;path fill=&quot;#399de5&quot; fill-opacity=&quot;0.858824&quot; stroke=&quot;black&quot; d=&quot;M1049.5,-68C1049.5,-68 951.5,-68 951.5,-68 945.5,-68 939.5,-62 939.5,-56 939.5,-56 939.5,-12 939.5,-12 939.5,-6 945.5,-0 951.5,-0 951.5,-0 1049.5,-0 1049.5,-0 1055.5,-0 1061.5,-6 1061.5,-12 1061.5,-12 1061.5,-56 1061.5,-56 1061.5,-62 1055.5,-68 1049.5,-68&quot;/&gt;
&lt;text text-anchor=&quot;start&quot; x=&quot;965&quot; y=&quot;-52.8&quot; font-family=&quot;Helvetica,sans-Serif&quot; font-size=&quot;14.00&quot;&gt;gini = 0.219&lt;/text&gt;
&lt;text text-anchor=&quot;start&quot; x=&quot;959.5&quot; y=&quot;-37.8&quot; font-family=&quot;Helvetica,sans-Serif&quot; font-size=&quot;14.00&quot;&gt;samples = 16&lt;/text&gt;
&lt;text text-anchor=&quot;start&quot; x=&quot;957.5&quot; y=&quot;-22.8&quot; font-family=&quot;Helvetica,sans-Serif&quot; font-size=&quot;14.00&quot;&gt;value = [2, 14]&lt;/text&gt;
&lt;text text-anchor=&quot;start&quot; x=&quot;947.5&quot; y=&quot;-7.8&quot; font-family=&quot;Helvetica,sans-Serif&quot; font-size=&quot;14.00&quot;&gt;class = Abnormal&lt;/text&gt;
&lt;/g&gt;
&lt;!-- 12&amp;#45;&amp;gt;14 --&gt;
&lt;g id=&quot;edge14&quot; class=&quot;edge&quot;&gt;&lt;title&gt;12&amp;#45;&amp;gt;14&lt;/title&gt;
&lt;path fill=&quot;none&quot; stroke=&quot;black&quot; d=&quot;M912.631,-103.726C924.759,-94.2406 937.653,-84.1551 949.722,-74.7159&quot;/&gt;
&lt;polygon fill=&quot;black&quot; stroke=&quot;black&quot; points=&quot;952.205,-77.2173 957.925,-68.2996 947.892,-71.7035 952.205,-77.2173&quot;/&gt;
&lt;/g&gt;
&lt;/g&gt;
&lt;/svg&gt;

&lt;/div&gt;

&lt;/div&gt;

&lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;
&lt;div class=&quot;cell border-box-sizing text_cell rendered&quot;&gt;&lt;div class=&quot;prompt input_prompt&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;inner_cell&quot;&gt;
&lt;div class=&quot;text_cell_render border-box-sizing rendered_html&quot;&gt;
&lt;p&gt;A true &lt;strong&gt;beauty&lt;/strong&gt; that's for sure, but what do we get out of it ?&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Degree_spondylolisthesis is definitely a &lt;strong&gt;key&lt;/strong&gt; factor in the understanding of lower back pain&lt;/li&gt;
&lt;li&gt;Sacral_slope is our second best split and will provide great information as well&lt;/li&gt;
&lt;li&gt;Cervical_tilt and Pelvic_radius seems interesting as well&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;I started this study with little domain knowledge, but I believe that cervical tilt refers to the upper vertabraes of the spine. We are talking about lower back pain but it is also possible that the cervical tilt would be a result of other displacements lower in the spine.&lt;/p&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;cell border-box-sizing text_cell rendered&quot;&gt;&lt;div class=&quot;prompt input_prompt&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;inner_cell&quot;&gt;
&lt;div class=&quot;text_cell_render border-box-sizing rendered_html&quot;&gt;
&lt;h2 id=&quot;Univariate-exploration-of-relevant-factors&quot;&gt;Univariate exploration of relevant factors&lt;a class=&quot;anchor-link&quot; href=&quot;#Univariate-exploration-of-relevant-factors&quot;&gt;&amp;#182;&lt;/a&gt;&lt;/h2&gt;&lt;h3 id=&quot;Degree-spondylolisthesis&quot;&gt;Degree spondylolisthesis&lt;a class=&quot;anchor-link&quot; href=&quot;#Degree-spondylolisthesis&quot;&gt;&amp;#182;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Spondylolisthesis is derived from the Greek words “spondy”, meaning vertebra, and “listhesis”, meaning movement. Spondylolisthesis is an abnormal condition in which there is instability in the spinal column, as one vertebral body is shifting forward over the next vertebrae.&lt;br&gt;
&lt;img src=&quot;https://www.spine.org/portals/0/img/KnowYourBack/Conditions/LumbarSpondy1.png&quot; alt=&quot;tt&quot;&gt;Pardon my French, more simply, the degree of spondylolisthesis measures ( more or less ) how much a vertebra has slipped from its original position.&lt;/p&gt;
&lt;p&gt;Let's see how it is distributed among the classes.&lt;/p&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;cell border-box-sizing code_cell rendered&quot;&gt;
&lt;div class=&quot;input&quot;&gt;
&lt;div class=&quot;prompt input_prompt&quot;&gt;In&amp;nbsp;[9]:&lt;/div&gt;
&lt;div class=&quot;inner_cell&quot;&gt;
    &lt;div class=&quot;input_area&quot;&gt;
&lt;div class=&quot; highlight hl-ipython3&quot;&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class=&quot;c1&quot;&gt;# A simple reusable function to plot the distribution of one feature with different colours for each class&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;def&lt;/span&gt; &lt;span class=&quot;nf&quot;&gt;hist_graph&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;column&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;):&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;a4_dims&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mf&quot;&gt;11.7&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;mf&quot;&gt;8.27&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;fig&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;ax&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;plt&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;subplots&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;figsize&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;a4_dims&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;sns&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;distplot&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;data&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;data&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;Attribute&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;][&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;column&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;],&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;color&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;r&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;sns&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;distplot&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;data&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;data&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;Attribute&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;][&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;column&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;],&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;ax&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;ax&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;color&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;b&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt; 

&lt;span class=&quot;n&quot;&gt;hist_graph&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;Degree_spondylolisthesis&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;div class=&quot;output_wrapper&quot;&gt;
&lt;div class=&quot;output&quot;&gt;


&lt;div class=&quot;output_area&quot;&gt;

&lt;div class=&quot;prompt&quot;&gt;&lt;/div&gt;




&lt;div class=&quot;output_png output_subarea &quot;&gt;
&lt;img src=&quot;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAArgAAAHvCAYAAAC/o6z9AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz
AAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMS4wLCBo
dHRwOi8vbWF0cGxvdGxpYi5vcmcvpW3flQAAIABJREFUeJzs3Xt4VNW9//HPJJMJAXIBNAnVGBWC
qKDiDfBUo+GMESJyMZz2/NCnaFGrRaFW1N44La22tVEEq9ZIpdpqq9jihVGBBms8HlSsl3jBC2ok
aDIIBAiXZDKT/ftjMyEhCTMkk8us/X49zzx7ZrJmz5qO1U+++e61XJZlWQIAAAAMkdDbEwAAAABi
iYALAAAAoxBwAQAAYBQCLgAAAIzi7u0JtFRfX6/33ntPRx55pBITE3t7OgAAAOiDQqGQvv76a40a
NUr9+vVr8/M+FXDfe+89zZw5s7enAQAAgDjw6KOP6swzz2zzfJ8KuEceeaQke7LZ2dm9PBvz/PWv
B+7/93/33jwAAAC6oqamRjNnzmzOjgfrUwE33JaQnZ2to48+updnY5709AP3+Z8XAADEu45aWrnI
DAAAAEYh4AIAAMAoBFwAAAAYhYALAAAAoxBwAQAAYBQCLgAAAIxCwAUAAIBRCLgAAAAwCgEXAAAA
RiHgAgAAwCgEXAAAABiFgAsAAACjEHABAABgFAIuAAAAjELABQAAgFEIuAAAADAKARcAAABGIeA6
SFOT1NjY27MAAADoXgRcB3noIen66wm5AADAbO7engB6zvr19nHTpt6dBwAAQHeigusQweCB+xs3
9t48AAAAuhsB1yFaVm23b++9eQAAAHQ3Aq5DbN584P7evb03DwAAgO5GwHWIXbsO3CfgAgAAkxFw
HWLnzgP3CbgAAMBkBFyHaFnB3bOn9+YBAADQ3Qi4DkEFFwAAOAUB1yEO7sG1rN6bCwAAQHci4DpE
uIKbkSGFQtK+fb07HwAAgO5CwHWIcAU3Pd0+0qYAAABMRcB1iHDATUuzj1xoBgAATEXAdYi6OvsY
ruAScAEAgKkIuA6xb5+UmCj162c/pkUBAACYKqqAW15ersLCQnm9XpWWlrb5eSAQ0Lx58+T1ejVj
xgxt3r8vbGNjo2655RZNnjxZEydO1AMPPBDb2SNq+/ZJSUmSx2M/poILAABMFTHghkIhLVy4UEuX
LpXP59PKlSu1cePGVmOWL1+utLQ0rVmzRrNmzVJJSYkk6YUXXlAgENCzzz6rf/zjH3r88cebwy96
1t69drhNTj7wGAAAwEQRA25FRYVyc3OVk5Mjj8ejoqIilZWVtRqzdu1aTZs2TZJUWFiodevWybIs
uVwu7du3T8FgUPX19UpKStLAgQO755PgkPbtswMuFVwAAGC6iAHX7/crOzu7+XFWVpb8fn+bMUOH
DpUkud1upaamqra2VoWFhUpJSdE3v/lNXXDBBbryyiuVkZER44+AaBzcokAFFwAAmCpiwLXa2fLK
5XJFNaaiokIJCQl6+eWXVVZWpoceekhVVVVdmC46Kxxwwy0KVHABAICpIgbc7Oxs1dTUND/2+/3K
zMxsM6a6ulqSFAwGVVdXp4yMDK1cuVLnnnuukpKSNGTIEJ1++ul69913Y/wREIll0aIAAACcI2LA
HT16tCorK1VVVaVAICCfz6eCgoJWYwoKCrRixQpJ0qpVqzRu3Di5XC4NHTpUr732mizL0t69e/XO
O+/o+OOP755Pgg4FAnbIbRlwaVEAAACmihhw3W63FixYoNmzZ2vSpEmaOHGi8vLytHjx4uaLzYqL
i7Vjxw55vV4tW7ZMN910kyRp5syZ2rNnjy6++GIVFxdr+vTpGjlyZPd+IrQRDrMsEwYAAJzAHc2g
/Px85efnt3pu7ty5zfeTk5O1ZMmSNq8bMGBAu8+jZ+3bZx89HjvkSlJDQ+/NBwAAoDuxk5kDhANu
UtKBgFtf33vzAQAA6E4EXAdoGXDd+2v2VHABAICpCLgO0F6LAhVcAABgKgKuA4TDLBVcAADgBARc
BwiHWbebCi4AADAfAdcBAgH76HZTwQUAAOYj4DpAy4CbmCi5XARcAABgLgKuA7RsUZDsNgVaFAAA
gKkIuA4QruAmJtpHt5sKLgAAMBcB1wGo4AIAACch4DpAyx7c8JEKLgAAMBUB1wGo4AIAACch4DoA
FVwAAOAkBFwHoIILAACchIDrAO1VcAMBybJ6b04AAADdhYDrAAcH3PB2vbQpAAAAExFwHSAcZFuu
g9vyeQAAAJMQcB0gXMENV27DR/pwAQCAiQi4DkAFFwAAOAkB1wHau8hMIuACAAAzEXAdoL1lwiRa
FAAAgJkIuA5ABRcAADgJAdcBOlomjAouAAAwEQHXAbjIDAAAOAkB1wECATvUJuz/tqngAgAAkxFw
HaChQfJ4DjymggsAAExGwHWAQEBKTj7wmAouAAAwGQHXAajgAgAAJyHgOkAg0DrgUsEFAAAmI+A6
QEND6xYFKrgAAMBkBFwH6KiCS8AFAAAmIuA6wMEXmYUruLQoAAAAExFwHeDgi8zowQUAACYj4BrO
sjqu4Ia38AUAADAJAddwwaAdclkmDAAAOAUB13DhKi2rKAAAAKcg4BouHGJbVnATE+0jLQoAAMBE
BFzDhUMsy4QBAACnIOAaLhxiucgMAAA4BQHXcO1VcMMtClRwAQCAiQi4hmvvIjNaFAAAgMkIuIZr
7yKzhP3fOi0KAADARFEF3PLychUWFsrr9aq0tLTNzwOBgObNmyev16sZM2Zo8+bNkqRnnnlGU6ZM
ab6NHDlSGzZsiO0nwCG1V8F1uezHVHABAICJIgbcUCikhQsXaunSpfL5fFq5cqU2btzYaszy5cuV
lpamNWvWaNasWSopKZEkXXLJJXr66af19NNP64477tBRRx2lE088sXs+CdoVDrjhtoQwAi4AADBV
xIBbUVGh3Nxc5eTkyOPxqKioSGVlZa3GrF27VtOmTZMkFRYWat26dbIsq9UYn8+niy++OIZTRzQa
G+3jwQHX46FFAQAAmCliwPX7/crOzm5+nJWVJb/f32bM0KFDJUlut1upqamqra1tNea5555TUVFR
LOaMw9BRwKWCCwAATBUx4B5ciZUkl8t1WGPeeecdpaSkaMSIEZ2ZI7qACi4AAHCaiAE3OztbNTU1
zY/9fr8yMzPbjKmurpYkBYNB1dXVKSMjo/nnPp+P6m0voYILAACcJmLAHT16tCorK1VVVaVAICCf
z6eCgoJWYwoKCrRixQpJ0qpVqzRu3LjmCm5TU5NeeOEFAm4vIeACAACniRhw3W63FixYoNmzZ2vS
pEmaOHGi8vLytHjx4uaLzYqLi7Vjxw55vV4tW7ZMN910U/Pr169fr+zsbOXk5HTfp0CHaFEAAABO
445mUH5+vvLz81s9N3fu3Ob7ycnJWrJkSbuvHTt2rJ544okuTBFd0TLgtqzYhiu4lmWviwsAAGAK
djIz3KEquJYlhUI9PycAAIDuRMA13KF6cCX6cAEAgHkIuIYj4AIAAKch4BruUC0KEheaAQAA8xBw
DUcFFwAAOA0B13BUcAEAgNMQcA1HBRcAADgNAddwBFwAAOA0BFzD0aIAAACchoBruHDAdR+0Zx0V
XAAAYCoCruEitShQwQUAAKYh4BouUosCFVwAAGAaAq7huMgMAAA4DQHXcFxkBgAAnIaAazgquAAA
wGkIuIbjIjMAAOA0BFzDcZEZAABwGgKu4WhRAAAATkPANVwwaB+5yAwAADgFAddwjY1SYqLkcrV+
ngouAAAwFQHXcI2Nbau3EgEXAACYi4BruI4CLi0KAADAVARcw1HBBQAATkPANRwVXAAA4DQEXMNR
wQUAAE5DwDUcARcAADgNAddwtCgAAACnIeAajgouAABwGgKu4ajgAgAApyHgGq6jgOt2SwkJVHAB
AIB5CLiG6yjgSnabAgEXAACYhoBrMMuSgsGOA67HQ4sCAAAwDwHXYMGgfaSCCwAAnISAa7DGRvvo
drf/8+RkKrgAAMA8BFyDhQPuoVoUqOACAADTEHANFing0qIAAABMRMA1WDQVXFoUAACAaQi4BqOC
CwAAnIiAa7BoAm4gYC8nBgAAYAoCrsGiaVFoOQ4AAMAEBFyDRVPBlWhTAAAAZiHgGizaCi4XmgEA
AJNEFXDLy8tVWFgor9er0tLSNj8PBAKaN2+evF6vZsyYoc2bNzf/7MMPP9S3vvUtFRUVafLkyWqg
XNhjwgH3gw+kdr42KrgAAMBIHexxdUAoFNLChQu1bNkyZWVlqbi4WAUFBRo+fHjzmOXLlystLU1r
1qyRz+dTSUmJ7r77bgWDQc2fP1+/+93vNHLkSNXW1srd0bZaiLlwwE1MbP/nBFwAAGCiiBXciooK
5ebmKicnRx6PR0VFRSorK2s1Zu3atZo2bZokqbCwUOvWrZNlWXrllVd0wgknaOTIkZKkQYMGKbGj
tIWYixRwaVEAAAAmihhw/X6/srOzmx9nZWXJ7/e3GTN06FBJktvtVmpqqmpra/X555/L5XLpu9/9
rqZNm6YHH3wwxtPHoVDBBQAAThSxX8BqZ5FUl8sV1ZhQKKR///vfevLJJ5WSkqJZs2Zp1KhRGj9+
fBemjGhRwQUAAE4UsYKbnZ2tmpqa5sd+v1+ZmZltxlRXV0uSgsGg6urqlJGRoezsbJ199tkaPHiw
UlJSdN555+n999+P8UdAR4JB+0gFFwAAOEnEgDt69GhVVlaqqqpKgUBAPp9PBQUFrcYUFBRoxYoV
kqRVq1Zp3Lhxcrlc+uY3v6mPPvpI+/btUzAY1Pr161tdnIbuRYsCAABwoogtCm63WwsWLNDs2bMV
CoV06aWXKi8vT4sXL9aoUaM0YcIEFRcXa/78+fJ6vUpPT9eiRYskSenp6Zo1a5aKi4vlcrl03nnn
6fzzz+/uz4T9aFEAAABOFNWaXfn5+crPz2/13Ny5c5vvJycna8mSJe2+dsqUKZoyZUoXpojOooIL
AACciJ3MDEYFFwAAOBEB12BUcAEAgBMRcA1GwAUAAE5EwDUYLQoAAMCJCLgGo4ILAACciIBrsGgD
LhVcAABgEgKuwcIBN6GDbzncokAFFwAAmISAazBaFAAAgBMRcA3GRWYAAMCJCLgGo4ILAACciIBr
MC4yAwAATkTANVi0LQoVFVJpqX0DAACIdwRcg0VbwQ0Ge2Y+AAAAPYGAa7BoK7gEXAAAYBICrsGo
4AIAACci4BqMgAsAAJyIgGswWhQAAIATEXANFingJiRIbjcBFwAAmIWAa7BIAVeyq7gEXAAAYBIC
rsHCATfhEN9ycjIBFwAAmIWAa7DGRrt663J1PIaACwAATEPANVg44B6KxyOFQj0zHwAAgJ5AwDVY
NAE3OflAKwMAAIAJCLgGo4ILAACciIBrsGgruPTgAgAAkxBwDRYM0qIAAACch4BrsGhbFJqa7BsA
AIAJCLgGi7ZFQaIPFwAAmIOAa7DDCbi0KQAAAFMQcA0WTcDt188+cqEZAAAwBQHXYI2Nh96mVzoQ
cKngAgAAUxBwDXY4FVwCLgAAMAUB11DhlREIuAAAwGkIuIYKB1Z6cAEAgNMQcA11uAGXCi4AADAF
AddQBFwAAOBUBFxDEXABAIBTEXANRcAFAABORcA1VLQBNyXFPnKRGQAAMAUB11BUcAEAgFMRcA1F
wAUAAE5FwDUUARcAADgVAddQBFwAAOBUUQXc8vJyFRYWyuv1qrS0tM3PA4GA5s2bJ6/XqxkzZmjz
5s2SpM2bN+uUU07RlClTNGXKFC1YsCC2s0eH2MkMAAA4lTvSgFAopIULF2rZsmXKyspScXGxCgoK
NHz48OYxy5cvV1pamtasWSOfz6eSkhLdfffdkqRjjjlGTz/9dPd9ArSLCi4AAHCqiBXciooK5ebm
KicnRx6PR0VFRSorK2s1Zu3atZo2bZokqbCwUOvWrZNlWd0zY0SFgAsAAJwqYsD1+/3Kzs5ufpyV
lSW/399mzNChQyVJbrdbqampqq2tlWS3KUydOlWXXXaZ3njjjVjOHYdAwAUAAE4VsUWhvUqsy+WK
akxmZqZefPFFDRo0SO+9956+//3vy+fzaeDAgV2YMqJBDy4AAHCqiBXc7Oxs1dTUND/2+/3KzMxs
M6a6ulqSFAwGVVdXp4yMDHk8Hg0aNEiSNGrUKB1zzDH6/PPPYzl/dIAKLgAAcKqIAXf06NGqrKxU
VVWVAoGAfD6fCgoKWo0pKCjQihUrJEmrVq3SuHHj5HK5tH37doVCIUlSVVWVKisrlZOT0w0fAwcj
4AIAAKeK2KLgdru1YMECzZ49W6FQSJdeeqny8vK0ePFijRo1ShMmTFBxcbHmz58vr9er9PR0LVq0
SJK0fv16LVmyRImJiUpMTNQvfvELZWRkdPuHQvQBNzm59XgAAIB4FzHgSlJ+fr7y8/NbPTd37tzm
+8nJyVqyZEmb1xUWFqqwsLCLU0RnRBtwExIkt5uACwAAzMFOZoaKNuBKdsDlIjMAAGAKAq6hDifg
JiVRwQUAAOYg4BoqXJFNiOIbJuACAACTEHANRQUXAAA4FQHXUIcbcOnBBQAApiDgGupwLzKjggsA
AExBwDVUZ1oU2tlxGQAAIO4QcA11uAFXok0BAACYgYBrKAIuAABwKgKuoQ63B7flawAAAOIZAddQ
nangEnABAIAJCLiGIuACAACnIuAaioALAACcioBrqM704HKRGQAAMAEB11BUcAEAgFMRcA1FwAUA
AE5FwDUUARcAADgVAddQBFwAAOBUBFxDcZEZAABwKgKuoRobpYQE+xYJFVwAAGASAq6hGhsPBNdI
CLgAAMAkBFxDEXABAIBTEXANFQhIHk90Ywm4AADAJARcQx1OBZeLzAAAgEkIuIaiRQEAADgVAddQ
BFwAAOBUBFxDEXABAIBTEXAN1ZmLzOjBBQAAJiDgGqozF5lRwQUAACYg4BqKFgUAAOBUBFxDUcEF
AABORcA1UCgkNTVFH3ATEuyQS8AFAAAmIOAaKBxUo73ITLIDLheZAQAAExBwDRQOuNFWcMNjqeAC
AAATEHANRMAFAABORsA1EAEXAAA4GQHXQJ0NuPTgAgAAE7h7ewKIvUDAPh7qIrPS0taPWUUBAACY
ggqugTpTwfV47NdZVvfMCQAAoKcQcA3UmYAb3uwhXP0FAACIVwRcA3W2B1eS9u2L/XwAAAB6EgHX
QF0JuPX1sZ8PAABAT4oq4JaXl6uwsFBer1elB1+dJCkQCGjevHnyer2aMWOGNm/e3OrnX331lcaM
GaM//vGPsZk1Dimai8wORsAFAACmiBhwQ6GQFi5cqKVLl8rn82nlypXauHFjqzHLly9XWlqa1qxZ
o1mzZqmkpKTVz3/961/r3HPPje3M0SFaFAAAgJNFDLgVFRXKzc1VTk6OPB6PioqKVFZW1mrM2rVr
NW3aNElSYWGh1q1bJ2v/5fj//Oc/dfTRRysvL68bpo/20KIAAACcLGLA9fv9ys7Obn6clZUlv9/f
ZszQoUMlSW63W6mpqaqtrdXevXv14IMPas6cOTGeNg6FgAsAAJwsYsC12lkY1eVyRTXmnnvu0Xe+
8x0NGDCgC1PE4aJFAQAAOFnEncyys7NVU1PT/Njv9yszM7PNmOrqamVnZysYDKqurk4ZGRl65513
tGrVKpWUlGjXrl1KSEhQcnKyLrvssth/EjTjIjMAAOBkEQPu6NGjVVlZqaqqKmVlZcnn8+nOO+9s
NaagoEArVqzQmDFjtGrVKo0bN04ul0uPPfZY85h77rlH/fv3J9z2ACq4AADAySK2KLjdbi1YsECz
Z8/WpEmTNHHiROXl5Wnx4sXNF5sVFxdrx44d8nq9WrZsmW666aZunzg6Rg8uAABwsogVXEnKz89X
fn5+q+fmzp3bfD85OVlLliw55Dmuv/76TkwPndEy4IbvR0IFFwAAmIKdzAxEBRcAADgZAddAnbnI
LDyWgAsAAOIdAddAnanguvc3q9CiAAAA4h0B10C0KAAAACcj4BqoMwE33KJABRcAAMQ7Aq6BXnvN
Pj7/fPSvCbcoUMEFAADxjoBroFDIPrqjWgTORgUXAACYgoBroHDATUyM/jX04AIAAFMQcA3UmYBL
iwIAADAFAddAnQm4tCgAAABTEHANRAUXAAA4GQHXQMGgfTycgOty2X24VHABAEC8I+AaqDMVXMkO
uFRwAQBAvCPgGqgrAZcKLgAAiHcEXANRwQUAAE5GwDUQARcAADgZAddAndnJTKJFAQAAmIGAa6BQ
yF4VIeEwv10quAAAwAQEXAOFQoffniDZATcYPLDMGAAAQDwi4BqoKwFXoooLAADiGwHXQARcAADg
ZARcAwWDXQu4XGgGAADiGQHXQFRwAQCAkxFwDdTVgEsFFwAAxDMCroGo4AIAACcj4BqICi4AAHAy
Aq6BQqHD38VMooILAADMQMA1EC0KAADAyQi4BqJFAQAAOBkB1zCWJTU1UcEFAADORcA1TGOjfaSC
CwAAnIqAa5hAwD5SwQUAAE5FwDVMVyq4Ho99pIILAADiGQHXMF0JuOGlxajgAgCAeEbANUwsKrgE
XAAAEM8IuIbhIjMAAOB0BFzDhC8y68xOZrQoAAAAExBwDcNFZgAAwOkIuIaJRYsCFVwAABDPCLiG
oQcXAAA4HQHXMCwTBgAAnI6Aa5iu7GSWmGiHXAIuAACIZwRcw4QruJ1ZRUGSUlJoUQAAAPEtqoBb
Xl6uwsJCeb1elZaWtvl5IBDQvHnz5PV6NWPGDG3evFmSVFFRoSlTpmjKlCm65JJLtGbNmtjOHm10
pYIrSf36UcEFAADxLWKdLxQKaeHChVq2bJmysrJUXFysgoICDR8+vHnM8uXLlZaWpjVr1sjn86mk
pER333238vLy9Pe//11ut1tbtmzRlClTdMEFF8jd2fIiImposI9UcAEAgFNFrOBWVFQoNzdXOTk5
8ng8KioqUllZWasxa9eu1bRp0yRJhYWFWrdunSzLUkpKSnOYbWhokMvl6oaPgJa6stGDRAUXAADE
v4gB1+/3Kzs7u/lxVlaW/H5/mzFDhw6VJLndbqWmpqq2tlaS9M4776ioqEiXXHKJfvGLX1C97WZd
bVGgggsAAOJdxIBrWVab5w6uxB5qzKmnniqfz6cnn3xSDzzwgBrCf0NHt6CCCwAAnC5iwM3OzlZN
TU3zY7/fr8zMzDZjqqurJUnBYFB1dXXKyMhoNWbYsGFKSUnRxx9/HIt5owOxCLgNDVI7v7MAAADE
hYgBd/To0aqsrFRVVZUCgYB8Pp8KCgpajSkoKNCKFSskSatWrdK4cePkcrlUVVWlYDAoSfryyy/1
+eef66ijjuqGj4GwrgbclBT7SBUXAADEq4gxyO12a8GCBZo9e7ZCoZAuvfRS5eXlafHixRo1apQm
TJig4uJizZ8/X16vV+np6Vq0aJEk6d///rcefPBBud1uJSQk6Oc//7kGDx7c7R/KycIdIF1ZJkyy
A2447AIAAMSTqOp8+fn5ys/Pb/Xc3Llzm+8nJydryZIlbV43depUTZ06tYtTxOGIVQV33z5p0KDY
zAkAAKAnsZOZYWLRgyvRogAAAOIXAdcwsazgAgAAxCMCrmFisVWvRAUXAADELwKuYbq6VS8BFwAA
xDsCrmFisZOZRIsCAACIXwRcw4QDblJS515PBRcAAMQ7Aq5hqOACAACnI+AahmXCAACA0xFwDdPV
ncyo4AIAgHhHwDUMFVwAAOB0BFzDsA4uAABwOgKuYQIBu3rrcnXu9bQoAACAeEfANUwg0PnqrUQF
FwAAxD8CrmEaGjrffytRwQUAAPGPgGsYKrgAAMDpCLiGCffgdla4gkvABQAA8YqAa5iuBtxwBZcW
BQAAEK8IuIaJVcClggsAAOIVAdcwXe3B5SIzAAAQ7wi4hunqKgpJSfYaulRwAQBAvCLgGsSyul7B
dbnsKi4VXAAAEK8IuAYJBu1jUlLXztOvHxVcAAAQvwi4BgkE7GNXKriSXcEl4AIAgHhFwDVIOOB2
pQdXsiu4tCgAAIB4RcA1SEODfexqBZcWBQAAEM8IuAaJVQWXi8wAAEA8I+AaJJYtCvX19qoMAAAA
8YaAa5BYVnCbmqTGxq7PCQAAoKcRcA0Sq1UUwtv10qYAAADiEQHXIOGLzLpawe3f3z4ScAEAQDwi
4BokVhXccMDdu7dr5wEAAOgNBFyDxKKCW1oqff65fZ+ACwAA4hEB1yDhgNvVrXo9Hvu4Z0/XzgMA
ANAbCLgGCW/OEKuASwUXAADEIwKuQWIVcJOT7SMVXAAAEI8IuAYJB9yurqJABRcAAMQzAq5BaFEA
AAAg4BqFFgUAAAACrlGo4AIAABBwjRLrHlwquAAAIB4RcA0S63VwqeACAIB4RMA1CC0KAAAAUQbc
8vJyFRYWyuv1qrS0tM3PA4GA5s2bJ6/XqxkzZmjz5s2SpFdeeUXTp0/X5MmTNX36dK1bty62s0cr
XGQGAAAQRcANhUJauHChli5dKp/Pp5UrV2rjxo2txixfvlxpaWlas2aNZs2apZKSEknSoEGDdP/9
9+vZZ5/Vb37zG918883d8ykgiQouAACAFEXAraioUG5urnJycuTxeFRUVKSysrJWY9auXatp06ZJ
kgoLC7Vu3TpZlqWTTjpJWVlZkqS8vDwFAgEFAoFu+BiQ2OgBAABAiiLg+v1+ZWdnNz/OysqS3+9v
M2bo0KGSJLfbrdTUVNXW1rYas2rVKp144onyhNMTYi7WFVxaFAAAQDyKWOuzLKvNcy6X67DGfPLJ
JyopKdFDDz3UmTkiSrGq4CYk2OegggsAAOJRxApudna2ampqmh/7/X5lZma2GVNdXS1JCgaDqqur
U0ZGhiSppqZGc+bM0W9/+1sdc8wxsZw7DhKrgCvZVVwquAAAIB5FDLijR49WZWWlqqqqFAgE5PP5
VFBQ0GpMQUGBVqxYIcluRRg3bpxcLpd27dqlq6++WjfeeKPOOOOM7vkEaFZfL/XrJx1UYO+U5GQq
uAAAID5FDLhut1sLFizQ7NmzNWnSJE2cOFF5eXlavHhx88VmxcXF2rFjh7xer5YtW6abbrpJkvSX
v/xFmzZt0n333acpU6ZoypSg94p1AAAgAElEQVQp2rZtW/d+IgcLB9xY8HgIuAAAID5F9cfs/Px8
5efnt3pu7ty5zfeTk5O1ZMmSNq+77rrrdN1113VxiohWQ0NsA+6OHbE5FwAAQE9iJzODdEcFt53r
BwEAAPo0Aq5BYh1wQyGpsTE25wMAAOgpBFyDxDLgsl0vAACIVwRcg3RHwK2ri835AAAAegoB1xBN
TVIgcCCYdlU4KBNwAQBAvCHgGqKhwT7GqoIbPs+uXbE5HwAAQE8h4BoivItZrAMuFVwAABBvCLiG
IOACAADYCLiGIOACAADYCLiG6K6ASw8uAACINwRcQ3TXRWZUcAEAQLwh4Boi1hVc1sEFAADxioBr
iHDAjdU6uCkp9pEWBQAAEG8IuIYIb6nbv39szkeLAgAAiFcEXEOEA+6AAbE5Hy0KAAAgXhFwDRHr
gMsqCgAAIF4RcA0RDrgDB8bmfImJdh8uFVwAABBvCLiGiHUFV5JSUwm4AAAg/hBwDUHABQAAsBFw
DbF7t32MZcBNS6MHFwAAxB8CriG6q4K7e7fU1BS7cwIAAHQ3d29PALHRXQFXskNuWlqULyotjd0E
rr46ducCAACOQQXXEN0RcDMy7OPOnbE7JwAAQHcj4BqiOwLu4MH2cfv22J0TAACguxFwDbFnj712
bXgHslgIB9xt22J3TgAAgO5GwDXEnj129dblit05hwyxj1RwAQBAPCHgGmL37ti2J0i0KAAAgPhE
wDVEuIIbSwRcAAAQjwi4hujOgEsPLgAAiCcEXANYFhVcAACAMAKuARoa7N3GYh1wucgMAADEIwKu
AbpjDVxJSk+3V2Ug4AIAgHhCwDVAdwXcxER7NzN6cAEAQDwh4BogHHAHDoz9uQcPpoILAADiCwHX
ALt328dYV3ClAwHXsmJ/bgAAgO7g7u0JoOu6q0VBsi80a2iQ9u2T+vfvxAmamqSaGmnTJmnrVmnn
TmnHDvsWXvohPd2+paVJWVnSqFHdU44GAACOQMA1QF2dfUxNjf25jzjCPm7ZIh17bITBlmWH2C++
kCor7dumTVJ9fduxSUl2uK2utse0lJAgjRghhULS1KnS0KFd/yAAAMAxCLgG2LnTPqanx/7c4WxZ
Xd1OwN2yRVq/vvXt668P/NzlkrKzpdxc+8VZWfZVa+npdjnY5bJDcX29/SF27pQ+/1x66y3pww+l
666Tvv99adIk6Re/kM44I/YfEAAAGIeAG89KSyVJO148WdJ/6I0/fyCVb+3cuc47r93TV1ba9x99
cK/G17/WOsx+8UXrF+TmSqefbofZY4+VjjlGSkk59Pu6XPaYlBQ7DJ9wgnTRRXbj74AB0mOPST6f
fZs61Q66p5zSuc8IAAAcgYBrgJ37PJKklKRQzM6ZGNir495aoT1v7dRyXaeRy26Wlt17YMCRR9qV
1bPOOnDLzGwO3V02eLB09dXSnDnS2rXSz34mPfWUfZsxQ/rtb6XjjovNewEAAKMQcA3QHHA9wa6d
yLKU+flrOuGVhzTsjcflqd+lRJ0n6Tp9Mnis9N3+dpA9+2y7OutydX3ykbhc0oQJUkGBtHq1HXSX
L5dWrpQWLpTmzZPc/GMMAAAOIBkY4EAFt/MBN+ddn8b9fb4GVW+QJO0edLTeu+B6vX3c5dJ90r9P
vFy6IybT7RyXSyoslC680G5b+MEPpPnzpUcflR58UDrzzF6cHAAA6EuiWge3vLxchYWF8nq9Km3n
T9CBQEDz5s2T1+vVjBkztHnzZklSbW2tLr/8co0ZM0YLFy6M7czRLBxw+3sOv0UhMViv/3h9kSb+
/mKlbdmoT8/8lp674QX99fZKvTH1V9KIE+z32BnTKXeeyyXNnClt2CBdcYX09tvS2LHSjTfaa5kB
AADHixhwQ6GQFi5cqKVLl8rn82nlypXauHFjqzHLly9XWlqa1qxZo1mzZqmkpESSlJycrLlz5+rm
m2/untlDkrRzX5Kkw6/gDtn+iaY/f7VO/uQpbf/GyVrx4zdUdtXftPnkQlkJiZKkfv0kj6cPBdyw
IUOkhx6y+3OHDZMWLbKruG+/3dszAwAAvSxiwK2oqFBubq5ycnLk8XhUVFSksrKyVmPWrl2radOm
SZIKCwu1bt06WZal/v3768wzz1RycnL3zB6SpB17k5XgalJSYlN0L7Asjd7wuKau+p4G7fpC755w
qVb8aL22H912dQKXy17Vq88F3LALLpDeece+GO2DD+z+4DvusNfQBQAAjhQx4Pr9fmVnZzc/zsrK
kt/vbzNm6P4FU91ut1JTU1VbWxvjqaIj2/Yka2ByMOprvk57/1GNf/M+NXjS9NwFd2jdmTco5Ol4
Oa/0dHsziWAXr2HrNikp0j33SM89Z1d2b7nFvjDt4A0kAACAI0S8yMyyrDbPuQ5KUtGMQffZtqef
BiQ3RjU277MXdPY7D2p3/0w9XXiv9vTPjPia9HR7Pwa/XzrqqK7O9jB0Zsmxm26S/vIX6aWXpBNP
tPt0TznFXnIMAAA4QsQKbnZ2tmpqapof+/1+ZWZmthlTXV0tSQoGg6qrq1NGRkaMp4r2NDVJtXuT
NSCKJcKOql6v/FfvUINnoJ4r+F1U4Vayl6SVpKqqrsy0h6SmSt/7nn0hWiAg3Xuv9Pe/S43R/QIA
AADiX8SAO3r0aFVWVqqqqkqBQEA+n08FBQWtxhQUFGjFihWSpFWrVmncuHFUcHvIjn3JsixXxAru
kO0fy1v+MzW5ErUq/3btSD826vcIB9y4+Yu/y2XvzHbrrfbmE6tX2726+1f3AAAAZosYcN1utxYs
WKDZs2dr0qRJmjhxovLy8rR48eLmi82Ki4u1Y8cOeb1eLVu2TDfddFPz6wsKCvSb3/xGK1as0Hnn
nddmBQZ0zbbd9gV8A5M7ruAO3F2tiS/eoqRgvV78j5+oJvPUw3qPcMA9eGfePi8nR/rxj6UzzpBe
eUUaM0Y66AJJAABgnqg2esjPz1d+fn6r5+bOndt8Pzk5WUuWLGn3tWvXru3C9BDJ9r12wB3gab+C
mxBqVOFLP1H/+u165Yzr9fkx5x/2e8RdBbellBTpqqukK6+0dz0rLJRKSqS5c3tmJzYAANDj2Mks
zn1dZ69+MLCDFoUx7z2iITs+1YZhRXp/ZHHHJyov7/BHgxvcks7RppcrpdLVXZhtL3G5pOuusyu4
06fbu6C99Zb0wAP2Qr8AAMAoBNw4599lB9y0lLYBd8j2jzXm/UdV1z9Lr57x/U6/xwBPUJ7EkDZt
H9jpc/S68IoM8+ZJf/iD9Mgjdqj/3vekQYOiPw+rMQAA0OdFtVUv+q5wwE3tF2j1fEKoUeev+7US
rJDKx81XY9KATr+HyyUNHtAQ3wE3bNAgeymx8eOlykrp9tvtIwAAMAYBN87597copB0UcO3WhM+0
YfhkfTn0rC6/z+AB9dq+p5921xtQ9E9Kkr7zHWnGDHsHizvvlCoqentWAAAgRgi4cc6/q78kKa3f
gRaFVq0Jp18bk/cZ3L9BklRVa0AVV7LL0v/5n3aLgmVJ990n/etfvT0rAAAQAwTcOHegRcEOuHZr
wm9i0prQ0uABdsA1ok2hpdNOk374Q2ngQOmvf5WefNLePQMAAMQtAm6c+3JHf2Wm7lVigr1d8qkb
/mavmhCj1oSwwQPqJRkYcCXpuOPsTSGys6U1a6SlS9n5DACAOEbAjWMPvDRSldtSlZIUkiQN2LtF
p733F+3tN1ivjvleTN8rXMF96u1clZaPjOm5+4QjjpBuvlkaPlz697/tLX7r63t7VgAAoBMIuHFs
d0OSGkOJGrQ/fI598w9KCtXr9dOuUqMntpXWcA/u9j0Grxs7YIC9AcQpp0gbNkiLFkm7d/f2rAAA
wGEi4Max7XvsXcwG929Q1pYKDf+iTFuGjNTHx18U8/fK6N8gl6zmndOM5fHYF56NG2cvH1ZSItXW
9vasAADAYSDgxrHa/WFzcMo+/ccb9lbJ/3fmDZIr9l9rUqKltJRAc6g2WmKivYzYhAlSdbX0u99J
fn9vzwoAAESJgBvHwtXUk3e/qiNqP9HHx12oLUec3G3vN7h/g2r3JjtjkYGEBHud3ClTpG3b7JC7
aVNvzwoAAESBgBvHwtXU8794RI3uFL1+2jXd+n6DBzQo1JSgXfWebn2fPsPlkiZNkmbOtHtx77yT
tXIBAIgDBNw4Fm5RGN74gd46+TLt7X9Et75feKkw4/twD3beedJVV9lLh110kfT00709IwAAcAgE
3Di2c6dLiQpqwACX3j1xRre/X3ipMEf04R7sjDOkOXMkt1u69FLp4Yd7e0YAAKADBNx4ZVnatsut
4/S5Xj/jWoUSuz90OmKpsEM56SSprExKT5dmzZLuuqu3ZwQAANpBwI1TOx5fpe1Ng5Tj2aIvjv6P
HnlPx7YotDR2rPTyy9JRR9lb/P74x5Jl9fasAABACwTceNTQoI3zH5AkJX9jsH0xVA9wdItCSyed
JL3yipSXJ/361/a6uaFQb88KAADsR8CNR4sX65PNdptA+hFJPfa2AzxBeRJDBFxJys2V/vd/pTFj
pNJS6dvflhoaentWAABABNz4U10t/fKX+iTlVElSZuq+Hntrl8uu4m7f69Ae3INlZtrLhuXnS08+
aS8pxq5nAAD0OgJuvPnRj6Tdu7XxlOmSpKweDLiS3Ye7pyFJexrcPfq+fVZamvTCC9L06dLatdI5
50iffdbbswIAwNEIuPHktdfs5alOO02fKE8JrqbmC796SnglharaAT36vn1av37SE0/YF519+KE0
bpy0bl1vzwoAAMci4MaLYNBeh1WSlizRJxtdOnJgvRJ7+BsMX2j2xbbUnn3jvi4xUSopke6/X9q+
XbrgAjv0AgCAHsffmePF4sXSG29Il12m2lHnats2afQ3erY9QToQcDdtH9jj790nlJYe+ucJCdJ1
10kPPih961vSI49IF19sP3+wq6/unjkCAOBwVHDjwcaN0k9/Kh15pLRokTZutJ/OTOuNgGu3RDg2
4EZj1Chp/nxpyBDJ55OWLJHq6np7VgAAOAYBt69rapJmz5bq66Xf/1464ght2GD/qKcvMJOkIfsr
uJ9tpUXhkI4+WvrJT6TRo6UNG6TbbpM+/bS3ZwUAgCPQotDXlZZKL70kTZ0qzZghSXr/fftHQ9P3
9vh0BvevlzuhSR/70w9MsXxk8/2rz/uw3de1HNNSR+ONMGCA3a6wapX09NN2j25xsd2f217LAgAA
iAn+K9uXVVVJN98sZWRI993XvGNZOOB+I2NPj08pIcFee/cjfwY71EYjIUGaOFGaN88OvE88Id19
t7R1a2/PDAAAYxFw+yrLkq65xu7dvOsuaejQ5h+9/76UlSUNTA72ytSy0vaqrt6j6p39e+X949LI
kdLPfiadcor00UfSwoV2y0lTU2/PDAAA4xBw+6qHHpKef17yeqVZs5qf3r1bqqyUTj6512amrP0X
t33Uok0BUUhPt1sWrrxScrul66+32xU++aS3ZwYAgFEIuH3Rq6/aQSgjw+7B3d+aIEkffGAfezPg
ZocDbk1G700iXrlc0tix0v/8jzRtmlReLp10kh12t2zp7dkBAGAEAm5f8+WXdvAJBqXHH5eOPbbV
j8P9t71bwbUvbvuQgNt56enS3/9u34491m5XGD5c+tWvpD0931sNAIBJCLh9yb59dritqbGvuL/w
wjZD+kLA/Ub6HiW4mvTGF0f23iRM4HJJ06fbX+o999hb/v7sZ1JennTHHfaOaAAA4LARcPsKy7J3
tlq/XvrOd+yr7tvRFwJuv6QmnXL0dr3xxRFqaOQfoS7zeOxtmDdutAPurl3SLbfYa+ledZVUUdHb
MwQAIK6QTvqKu+6S/vIXuz/zD39o1XcbZlnSm29KOTnSoEG9MMcWzh9RrYagW2s/Okr1jQn69xdH
dLi72fPv5cj37jHy70ppfq6pSVpfeaSefjuX5cbC0tLs1RU2b7b/ecjOlpYulU49VTrvPOn++yW/
v7dnCQBAn0fA7Qvuv99e73boUOkf/7D/VN2OL76wr0MaO7aH59eOGWd8Jkn6wRPj9cvnzlDp/56k
254/XQ++3HpDh/v+dZIm3TNRz1Qcq9ueP12vfpapr+v66c5/nqqlr5yoqfcX6mdPn9kbH6HvysiQ
fvADe3WFZ56RJkyQXn7ZvvBw6FDp/POle++110kGAABtEHB7k2VJP/6xHVyGDJF8Pukb3+hw+Ouv
28ezz+6h+R3C+OP9mjhqkz7yZ2jb7n46d3i1BiYHdMPj5+ijGnv5sE/8afrhk+N0ZOo+TR/zmVyy
tGzdSP30mbO18et0jfrGdh09aLd+/cJp+rCGJcfaSEyUJk+W/vlPadMmadEiafx4e2e7OXOkY46x
+3WvuUb629+o7gIAsB9b9faWQECaPVv685/tq+dfeEEaNuyQL+lLAdflkv5+zRqtfPcYvbd5kI4a
tFcnDa3VAy+fpMseukAvz39Wsx4+X/WNbj0861/asdej03O26sk3j9eu+iRdMOIrnXXs1zoitUHF
D3i1uGy07p/5v739sfqunBy7L3vePHuljX/8Q1qzxg67paX2TZKOO87+B+Sss+zb6adLA9tvHQEA
wFQE3N6wa5d06aV2ZW7sWOnZZ6UjI69IsG6dvfPrGWf0wByjkOIJacYZn6t2T7Ik6fRjturycR/r
z6+OUN7PvqXNtQP1X2d8qhlnfKYHXx6pI1PrdW3+B63OMfW0Sh07ZJceXjdCt01dr8EDGnrjo/SO
cCjtjORk6eKL7W2AN22y2xr+9S/7t6DHH7dvkv2byHHHSaNGSaNH28dRo6QTTpCSkmLyMQAA6GsI
uD3t+eeluXPt/srJk+0/LfePvOXttm32/g9jx/btgtzvv/2K3v9qkN7cdKRGH7VNf5j5cnvXyzVL
TLA054L3ddOT4/Wn/xuhG73v9txkTZCYaAfYq6+2V16wLOnzz+3VONavt69KfPddu5f3mWcOvC4p
yQ654cB74on24+HD7fAMAEAcI+D2lE8+sS8c8vnsMuwPfyj95jf2lq1ReOEFe+WByZO7eZ5dlJbS
qNdufUqffp2mYUfukjsx8hIJs8Z/rJ8+fZbuLz9J8ya8qwQ6ww9fe9XgESPs27e/bf/V4Msvpa++
sm9ffmn/M/nee61fk5BgB+YTTpBGjrSP4fuZme2u7gEAQF9DwO1uX38t3XmnvexTY6N9BfzixdIp
pxzWaZ591j5efHHspxhr7kRLJ2TvjHr8kIEN+vaZn+pP607QPz88Shee9GU3zs6h0tLs24knHniu
qcneTOKrr+zNRfz+A8dPP5Wee671OZKT7YshBw9ufQzfUlPV6reTq6/umc8GAMBBCLjdYdcu6amn
pMces/tsQyH7ivc777R7bw+zCrZ1q3264cPtvyab6LrzP9Cf1p2g37xwmrwnfkmhsCckJEhHHGHf
Dv6Fa8+eA2E3HHy3brV7Zb76qv3zud32As2pqfbt9dft3vLwcwMHHvhZe/ej/GsGAACRRPVflPLy
ct12221qamrSjBkzdPVBlZlAIKCbb75Z77//vjIyMrRo0SIdffTRkqQHHnhATz75pBISEvTTn/5U
5557buw/RW/bskV66y379tprdj9Bfb39s7POkmbOtHekiqLXtj2//KXU0GCvDGVq8Dvr2K81adQm
PffeMXrs9eGaOXZjb0/J2QYMsFf1aG9lj3377KAbvm3ffuB+ba19bGqS3nnn8N4zKcl+3/797WPL
++FjOBSnpR36GL5xIR0AOFLEgBsKhbRw4UItW7ZMWVlZKi4uVkFBgYYPH948Zvny5UpLS9OaNWvk
8/lUUlKiu+++Wxs3bpTP55PP55Pf79cVV1yhVatWKTExsVs/1GGzLLti1dho34JB+7hnz4Hb7t3S
zp12Jau6+sDxww/bVrRGjpT+3/+T/vu/7bJrJ330kb2K2JIl9nKn3/teFz9nH7fk26/oxV98Q1c+
kq+aXSn69pmf6qhBe3t7WjhYSoq9jfD+X2LbsCxp7177/zN1dXYgrq+3f0urr299v+WxocH+/11D
g101DgTsW1NT5+ealGRvnBK+HXdc6xAcKSgnJdkX8kV7S0g4cER8O9wtFjuzJSPv0bfeIxRqnQHC
x2juBwJ2cSsYtG+hUOvjoZ5v+Zxk/8U3IaH1v09aHt1ue4v38C05OXaPk5IOvLfL1fp2qOfCr+lD
IgbciooK5ebmKicnR5JUVFSksrKyVgF37dq1mjNnjiSpsLBQCxculGVZKisrU1FRkTwej3JycpSb
m6uKigqNGTOm3fcK7f9ya2pquvzBDsu119r/YHZGdrZUWCidfLJ00kn28aijDpRaN2/u1Gk/+MDu
t7UsO0eUltrtvC3tbNjauTnHwOadB3psW86j5fMtdTTXluOTPTv18Hcf1dV/Pk+3PpWjnz17lP73
5qeVmVofo1mjR4VDZVdYlh1wW4bfaG/19fZ/dMLHbdvsX0rjVbR/von1uMPVV8MLEC8++aS3Z3D4
UlKkv/7V3lq+h4SzYjg7HixiwPX7/crOzm5+nJWVpYqKijZjhg4dap/Q7VZqaqpqa2vl9/t1aosP
m5WVJf8hdlv6en+CmzlzZqRpxd7xx3f+tZ9/bt9WrozdfGQXm8KuuSamp+6ypRWH9/zhnCfzqNuV
uf/+fz9+eOcDWglXJQAA3evGG3vlbb/++mvl5ua2eT5iwLXa+U3ZddBv/h2Niea1LY0aNUqPPvqo
jjzyyL7XxgAAAIA+IRQK6euvv9aoDq6+jxhws7OzW7UM+P1+ZWZmthlTXV2t7OxsBYNB1dXVKSMj
I6rXttSvXz+deeaZET8UAAAAnK29ym1YxI7g0aNHq7KyUlVVVQoEAvL5fCooKGg1pqCgQCtWrJAk
rVq1SuPGjZPL5VJBQYF8Pp8CgYCqqqpUWVmpUw5z/VcAAADgcESs4Lrdbi1YsECzZ89WKBTSpZde
qry8PC1evFijRo3ShAkTVFxcrPnz58vr9So9PV2LFi2SJOXl5WnixImaNGmSEhMTtWDBAloPAAAA
0K1cVnuNsgAAAECc6luLlgEAAABdRMAFAACAUQi4DlFeXq7CwkJ5vV6Vlpb29nRwGH70ox9p/Pjx
uvjii5uf27Fjh6644gpdeOGFuuKKK7Rz/4YZlmXpV7/6lbxeryZPnqz333+/t6aNDlRXV+vyyy/X
xIkTVVRUpIcfflgS32m8a2hoUHFxsS655BIVFRVpyZIlkqSqqirNmDFDF154oebNm6dAICDJ3uJ+
3rx58nq9mjFjhjZ3clMgdL9QKKSpU6fqmv0L0vOdxgcCrgOEt1teunSpfD6fVq5cqY0bN/b2tBCl
6dOna+nSpa2eKy0t1fjx47V69WqNHz+++ZeW8vJyVVZWavXq1frlL3+pn//8570wYxxKYmKibr31
Vj3//PN6/PHH9dhjj2njxo18p3HO4/Ho4Ycf1jPPPKOnnnpKL7/8st5++22VlJRo1qxZWr16tdLS
0vTkk09Kar3F/axZs1RSUtLLnwAdeeSRRzRs2LDmx3yn8YGA6wAtt1v2eDzN2y0jPpx11llKT09v
9VxZWZmmTp0qSZo6dar++c9/tnre5XLptNNO065du7Rly5YenzM6lpmZqZNPPlmSNHDgQB1//PHy
+/18p3HO5XJpwIABkqRgMKhgMCiXy6VXX31VhYWFkqRp06Y1/7t37dq1mjZtmiR7i/t169a1uzkS
eldNTY3+9a9/qbi4WJL9FxW+0/hAwHWA9rZbPtSWyej7tm3b1rxpSmZmprZv3y6p7XednZ3Nd92H
bd68WRs2bNCpp57Kd2qAUCikKVOm6JxzztE555yjnJwcpaWlye22V+Rs+d11tMU9+pbbb79d8+fP
V0KCHZdqa2v5TuMEAdcBDnfLZMQvvuv4sWfPHt1www368Y9/rIEDB3Y4ju80fiQmJurpp5/WSy+9
pIqKCn322WdtxoS/O77Xvu/FF1/U4MGDO9wKNozvtG+KuNED4t/hbpmMvm/IkCHasmWLMjMztWXL
Fg0ePFhS2++6pqaG77oPamxs1A033KDJkyfrwgsvlMR3apK0tDSNHTtWb7/9tnbt2qVgMCi3293q
u+toi3v0HW+++abWrl2r8vJyNTQ0aPfu3brtttv4TuMEFVwHiGa7ZcSXgoICPfXUU5Kkp556ShMm
TGj1vGVZevvtt5WamkoY6mMsy9JPfvITHX/88briiiuan+c7jW/bt2/Xrl27JEn19fX6v//7Pw0b
Nkxjx47VqlWrJEkrVqxo/ndvR1vco+/44Q9/qPLycq1du1Z33XWXxo0bpzvvvJPvNE6wk5lDvPTS
S7r99tubt1u+9tpre3tKiNKNN96o119/XbW1tRoyZIiuv/56/ed//qfmzZun6upqDR06VIsXL1ZG
RoYsy9LChQv18ssvKyUlRbfffrtGjx7d2x8BLbzxxhuaOXOmRowY0dzXd+ONN+qUU07hO41jH374
oW699VaFQiFZlqWLLrpIc+bMUVVVlX7wgx9o586dOvHEE1VSUiKPx6OGhgbNnz9fGzZsaN7iPicn
p7c/Bjrw2muv6aGHHtIDDzzAdxonCLgAAAAwCi0KAAAAMAoBFwAAAEYh4AIAAMAoBFwAAAAYhYAL
AAAAoxBwAQAAYBQCLoA+paCgQBdddJEuueQSeb1eXXvttXrzzTd7e1p90muvvabp06dHHHf55Zfr
xRdfjDiuoKBAH3/8sSTpJz/5id54441Djv/Tn/6kbdu2NT++55579Nvf/jbi+0Trqquu0qZNm2J2
PgDOwVa9APqcJUuWaMSIEZKk1atX6+qrr9Yf//hHnXrqqV0+d3iLTRzabbfdFnHMI488onPOOUdD
hgzpljk8+OCD3XJeAObj3/IA+rQLL7xQFRUV+uMf/6iSkhItWrRI69evV2Njo0aMGKGf//znGjBg
gPx+v26++WZt3bq1eR8NrWgAAAd1SURBVPegb37zm7rssst06623asCAAaqsrFRtba3+8Y9/6J13
3lFJSYn27NkjSbrhhht0/vnnS7J3/rv//vsVCASUlJSkH/3oRzrttNM6nOPvf/97rVy5UsnJyXK5
XHrkkUeUlpamE044QXPmzNErr7yi2tpa3XjjjSosLJQklZeX66677lIoFNLgwYO1cOFC5ebm6rXX
XtPtt9+uU089VW+99ZZcLpcWLVqkYcOGSZIWLVqk5557TllZWa12NLvqqqt06aWX6qKLLpJk/2Lw
t7/9TQ899FCruW7dulX/8z//01wZ/e53v6upU6e2+UyXX365rrzySl1wwQV6/PHH9ac//Ukej0dN
TU26++67tXr1am3ZskU33HCDkpOTdeedd0qS/H6/rrrqKlVVVemYY47R4sWLlZKSokAg0OF31975
hw0bpoKCAv3hD3/QiBEjOvzfGADaZQFAH3LBBRdYH330UavnVq9ebU2cONG69957rXvvvbf5+Tvu
uMO66667LMuyrDlz5jT/bPPmzdaYMWOsP//5z5ZlWdYtt9xiTZs2zdqzZ49lWZa1c+dOa8qUKZbf
77csy7L8fr917rnnWjt37rS++OIL67/+67+suro6y7Is6+OPP7by8/M7nO+OHTus0047zdq3b59l
WZZVV1dnNTY2WpZlWSNGjLDuuecey7Is69NPP7XOPvtsa+vWrdbWrVutsWPHWp988ollWZb1xBNP
WMXFxZZlWdarr75qnXTSSdb7779vWZZl3XfffdaNN95oWZZllZWVWRdffLG1e/duKxgMWtdcc401
bdo0y7Is6/+3dz8hUW1xAMe/t5EpciCQECKEHDNlgklnock0qP0jgkJqokAZcJErMygrS+kfUeFA
QYhEtHBTYRDujMiEoUXjxmRczCIETSn6QxFe7Jo3z1v0PKTOnekt3stnv89m7sw593fPnLP58Ztz
78RiMVVXV6fHFYlE1NOnT5VSStXV1an+/n6llFLHjx9XN2/e1N87GAzq+f557n8+JxAIqDdv3iil
lJqenlZTU1Mp1+rWrVtq165d6suXL2p2dlbV19er7u5upZRKu3aZ4qebYyGESEUquEKIJU/9/Y/i
/f39mKbJkydPAPj27RvFxcXAj/2obW1tAKxfv56Kiop5Mfbs2cPq1asBePnyJRMTExw9elS3G4bB
2NgYiUSC169fU1tbq9ts2+bjx4+sXbt20dg8Hg/5+fmcOnWKUChEVVUVHo9Htx86dAgAr9eLz+dj
aGgIwzAoLi5m48aNABw8eJBLly5hmiYA+fn5+Hw+AEpKSvT+2YGBAfbu3Ut2djYA4XCYzs5OAEKh
ENeuXWNkZASA8fFxqqurF433xYsXtLS0AJCbm0tlZSUDAwN6S0gqW7du5ezZs+zYsYOqqipdIU9l
27ZturLq9/t1pTjd2mWKn2mOhRBiIUlwhRBL3vDwMIWFhUxMTHDhwoVFyeuvmEtu4UfCXFRUxL17
9xb1SyQShEIh2tvbfymuy+Xi4cOHDA4OEo/HOXDgAHfv3tXJ28+UUhiGoV+duN1ufbxixQps29bn
OzEMg9raWu7fvw/A4cOHcblcjn3TvV+oo6OD4eFh4vE4kUiEixcvUllZmbLvypUr9bHL5WJ6elqP
3WntMsX/J3MshBAgT1EQQixxfX19PHjwgPr6erZv305XVxeWZQFgmqauWJaVldHT0wPA27dvicfj
jjFLS0sZGxub1yeRSKCUIhgM8vz5c169ejWvzYlpmnz69ImysjKamprYtGnTvHMfPXoEwOjoKMlk
ki1btlBaWkoymdRj7+npwefzZaxKVlRU8PjxY6ampvj+/buOPaempoa+vj56e3t15ThVjO7ubgA+
fPhALBajvLzc8Zq2bTM+Po7f76ehoYFgMEgymQQgOzubycnJtGOe47R26eLPyTTHQgixkFRwhRBL
TlNTE263m69fv1JQUMCdO3coKSlh8+bNdHR0EA6HMQwDwzBobGykoKCA1tZWTp8+TW9vL16vl0Ag
4Jgwrlmzhs7OTqLRKFevXmVmZoa8vDxu377Nhg0biEajtLa2YlkWMzMzBAIB/H5/ylimaXLs2DEs
y0Iphc/nY/fu3brd7XZz5MgRPn/+zOXLl/UTB9rb22lubsa2bXJycohGoxnnpbq6mqGhIWpqasjN
zaW8vJx3797pdo/HQygUwrIscnJyUsZoa2vj/Pnz7Nu3D4Dm5mYKCwsdrzk7O0tLSwuTk5MYhsG6
des4efIkAJFIhHPnzrFq1Sp9k5mThoaGlGuXl5fnGH9OpjkWQoiFDJXuNy8hhPifsCyLrKwssrKy
eP/+PeFwmK6uLrxe728bU1FREYODg3rP7L/Ntm3279/P9evXHRNyIYT4E0gFVwixLIyOjnLmzBmU
Uti2TWNj429Nbv9rz54948qVK+zcuVOSWyHEH08quEII8QtisRg3btxY9PmJEyccb7gSQgjxe0iC
K4QQQgghlhV5ioIQQgghhFhWJMEVQgghhBDLiiS4QgghhBBiWZEEVwghhBBCLCt/AXU0rsHtCEV7
AAAAAElFTkSuQmCC
&quot;
&gt;
&lt;/div&gt;

&lt;/div&gt;

&lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;
&lt;div class=&quot;cell border-box-sizing code_cell rendered&quot;&gt;
&lt;div class=&quot;input&quot;&gt;
&lt;div class=&quot;prompt input_prompt&quot;&gt;In&amp;nbsp;[10]:&lt;/div&gt;
&lt;div class=&quot;inner_cell&quot;&gt;
    &lt;div class=&quot;input_area&quot;&gt;
&lt;div class=&quot; highlight hl-ipython3&quot;&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class=&quot;c1&quot;&gt;# A simple and reusable function to show the numbers in a dataframe&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;def&lt;/span&gt; &lt;span class=&quot;nf&quot;&gt;compare_df&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;column&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;):&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;norm&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;data&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;data&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;Attribute&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;][[&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;column&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]]&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;describe&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;abnorm&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;data&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;data&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;Attribute&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;][[&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;column&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]]&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;describe&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt;

    &lt;span class=&quot;n&quot;&gt;df&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;pd&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;DataFrame&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;data&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;norm&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;df&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;Normal&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;df&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;column&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;df&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;drop&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;column&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;axis&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;inplace&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;kc&quot;&gt;True&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;df&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;Abnormal&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;abnorm&lt;/span&gt;
    &lt;span class=&quot;k&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;df&lt;/span&gt;

&lt;span class=&quot;n&quot;&gt;compare_df&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;Degree_spondylolisthesis&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;div class=&quot;output_wrapper&quot;&gt;
&lt;div class=&quot;output&quot;&gt;


&lt;div class=&quot;output_area&quot;&gt;

&lt;div class=&quot;prompt output_prompt&quot;&gt;Out[10]:&lt;/div&gt;



&lt;div class=&quot;output_html rendered_html output_subarea output_execute_result&quot;&gt;
&lt;div&gt;
&lt;style scoped&gt;
    .dataframe tbody tr th:only-of-type {
        vertical-align: middle;
    }

    .dataframe tbody tr th {
        vertical-align: top;
    }

    .dataframe thead th {
        text-align: right;
    }
&lt;/style&gt;
&lt;table border=&quot;1&quot; class=&quot;dataframe&quot;&gt;
  &lt;thead&gt;
    &lt;tr style=&quot;text-align: right;&quot;&gt;
      &lt;th&gt;&lt;/th&gt;
      &lt;th&gt;Normal&lt;/th&gt;
      &lt;th&gt;Abnormal&lt;/th&gt;
    &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
    &lt;tr&gt;
      &lt;th&gt;count&lt;/th&gt;
      &lt;td&gt;100.000000&lt;/td&gt;
      &lt;td&gt;209.000000&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;th&gt;mean&lt;/th&gt;
      &lt;td&gt;2.186572&lt;/td&gt;
      &lt;td&gt;37.959677&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;th&gt;std&lt;/th&gt;
      &lt;td&gt;6.307483&lt;/td&gt;
      &lt;td&gt;40.708721&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;th&gt;min&lt;/th&gt;
      &lt;td&gt;-11.058179&lt;/td&gt;
      &lt;td&gt;-10.675871&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;th&gt;25%&lt;/th&gt;
      &lt;td&gt;-1.511360&lt;/td&gt;
      &lt;td&gt;7.918501&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;th&gt;50%&lt;/th&gt;
      &lt;td&gt;1.152710&lt;/td&gt;
      &lt;td&gt;32.108537&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;th&gt;75%&lt;/th&gt;
      &lt;td&gt;4.968807&lt;/td&gt;
      &lt;td&gt;55.506889&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;th&gt;max&lt;/th&gt;
      &lt;td&gt;31.172767&lt;/td&gt;
      &lt;td&gt;418.543082&lt;/td&gt;
    &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;

&lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;
&lt;div class=&quot;cell border-box-sizing text_cell rendered&quot;&gt;&lt;div class=&quot;prompt input_prompt&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;inner_cell&quot;&gt;
&lt;div class=&quot;text_cell_render border-box-sizing rendered_html&quot;&gt;
&lt;p&gt;For the Normal class :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The population is centered around 1.15.&lt;/li&gt;
&lt;li&gt;Small standard deviation showing a &lt;strong&gt;very&lt;/strong&gt; centered classs (just see the histogram).&lt;/li&gt;
&lt;li&gt;The minimum value for the Normal class is lower than the minimum value for the Abnormal class showing that the degree spondylolisthesis doesn't have the same influence on back pains for a positive or for a negative displacement.&lt;/li&gt;
&lt;li&gt;The maximum value seems a bit high but since 75% of the Normal population is under ~5, these cases could be either outliers, or show that other factors can maybe compensate for the degree spondylolisthesis.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;For the Abnormal class :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Both the mean and median are above the Normal's class maximum at respectively ~38 and ~32.&lt;/li&gt;
&lt;li&gt;High standard deviation showing a wide spread of the values and of the resulting issues.&lt;/li&gt;
&lt;li&gt;Still goes down in the negative values, then again showing little influence of this parameter once below zero.&lt;/li&gt;
&lt;li&gt;We'll take a closer look at that guy with the max value of 418...&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;cell border-box-sizing text_cell rendered&quot;&gt;&lt;div class=&quot;prompt input_prompt&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;inner_cell&quot;&gt;
&lt;div class=&quot;text_cell_render border-box-sizing rendered_html&quot;&gt;
&lt;h3 id=&quot;Sacral-slope,-Pelvic-incidence,-and-Pelvic-tilt&quot;&gt;Sacral slope, Pelvic incidence, and Pelvic tilt&lt;a class=&quot;anchor-link&quot; href=&quot;#Sacral-slope,-Pelvic-incidence,-and-Pelvic-tilt&quot;&gt;&amp;#182;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;The sacral slope is the angle between a horizontal plane  and the upper surface of the sacrum. The sacrum is the last bone in our spine where the 5 vertebraes have fused together to create one bone. At the end of the sacrum, we can find the coccyx, remnant bone of what used to be a tail for human beings.
The sacral slope is closely related to the pelvic incidence and to the pelvic tilt by definition : 
$$ \text{Pelvic Incidence} = \text{Pelvic Tilt} + \text{Sacral Slope} $$
&lt;img src=&quot;https://musculoskeletalkey.com/wp-content/uploads/2016/07/C19-FF1-4.gif&quot; alt=&quot;sacral slope&quot;&gt;&lt;/p&gt;
&lt;p&gt;We don't have any information on the ethnicity of the patients in this data set, but it is good to notice that different values are found among different ethnicities for the sacral slope, this will help explain for variations of values that would seem abnormal otherwise. This is not only true for ethnicities but also for genders... A shame that we don't have any demographic data really.&lt;/p&gt;
&lt;h3 id=&quot;Sacral-slope-distribution&quot;&gt;Sacral slope distribution&lt;a class=&quot;anchor-link&quot; href=&quot;#Sacral-slope-distribution&quot;&gt;&amp;#182;&lt;/a&gt;&lt;/h3&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;cell border-box-sizing code_cell rendered&quot;&gt;
&lt;div class=&quot;input&quot;&gt;
&lt;div class=&quot;prompt input_prompt&quot;&gt;In&amp;nbsp;[11]:&lt;/div&gt;
&lt;div class=&quot;inner_cell&quot;&gt;
    &lt;div class=&quot;input_area&quot;&gt;
&lt;div class=&quot; highlight hl-ipython3&quot;&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;hist_graph&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;Sacral_slope&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;div class=&quot;output_wrapper&quot;&gt;
&lt;div class=&quot;output&quot;&gt;


&lt;div class=&quot;output_area&quot;&gt;

&lt;div class=&quot;prompt&quot;&gt;&lt;/div&gt;




&lt;div class=&quot;output_png output_subarea &quot;&gt;
&lt;img src=&quot;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAr4AAAHvCAYAAACyvdy6AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz
AAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMS4wLCBo
dHRwOi8vbWF0cGxvdGxpYi5vcmcvpW3flQAAIABJREFUeJzs3Xt8lPWd9//3JJOEnEMCOQAhEAjH
pIiggiiRsDFVqqCC25OrbVn7u123eHer/dVuqWbbX7f3j13EbnWLVtrd2q5FRStREQgYRfAAhXA+
JYEESMIhgYQAk5nM/cfFACGBTJKZua7MvJ6Ph4/LJNdc84mivPnm8/18bW632y0AAAAgyIWZXQAA
AAAQCARfAAAAhASCLwAAAEICwRcAAAAhwW52Ad46f/68duzYoYEDByo8PNzscgAAAGBBLpdLx48f
V25urvr169fua30m+O7YsUPf+MY3zC4DAAAAfcCrr76qyZMnt/tcnwm+AwcOlGR8E+np6SZXA/TM
n/7k+2d+7Wu+fyYAAH1VbW2tvvGNb1zKjlfqM8HX096Qnp6uIUOGmFwN0DOJib5/Jv85AADQUWet
sWxuAwAAQEgg+AIAACAkEHwBAAAQEgi+AAAACAkEXwAAAIQEgi8AAABCAsEXAAAAIYHgCwAAgJBA
8AUAAEBIIPgCAAAgJBB8AQAAEBIIvgAAAAgJBF8AAACEBIIvAAAAQgLBFwAAACGB4AsAAICQQPAF
AABASCD4AhblcEhOp9lVAAAQPOxmFwDgModDWrFC2rNHOnZMio6Wvv1tKS/P7MoAAOj7WPEFLMLt
lv74R6m0VDpxQsrOllpbpV//Wnr3XePrAACg51jxBSzi44+ljRulrCzpySeliAjp0CHpxRelt9+W
wsOloiKzqwQAoO9ixRewgEOHpP/5Hyk2Vvrud43QKxkh+Omnpbg4qaREamgwt04AAPoygi9gAW+8
YWxk+/a3pZSU9l9LSJDuu0+6cEF6801z6gMAIBgQfAGT1dZKe/dKo0ZJubmd33Prrcbq72efSfv3
B7Y+AACCBcEXMFlZmXHNz7/2PWFh0te+Zvz9n//MRjcAAHqC4AuYyOEwNrQlJEg33HD9e4cPlyZO
lA4flioqAlMfAADBhOALmOjzz6WWFmnaNMnuxYwVz6qwZ5UYAAB4j+ALmOjDDyWbTZo+3bv7R4+W
UlOlL76Qmpv9WxsAAMGG4AuY5PhxY4zZ+PFScrJ3rwkLM0Ky02m0SAAAAO8RfAGT7NxpXCdM6N7r
pk412iLKytjkBgBAdxB8AZN4gu+4cd17XVycNHmyVF8v7dvn+7oAAAhWXgXfsrIyFRUVqbCwUEuX
Lu3wdYfDoSeeeEKFhYWaN2+eampq2n396NGjmjhxon772996/UwgmDmdxuzetDRpwIDuv37qVOO6
ebNv6wIAIJh1GXxdLpeKi4v18ssvq6SkRCtXrtSBAwfa3bN8+XIlJCRo9erVeuSRR7Ro0aJ2X//F
L36h22+/vVvPBILZwYPGSWzdXe31yMkxVn7/+lfJ5fJtbQAABKsug295ebmysrKUmZmpyMhIzZo1
S2vXrm13T2lpqe677z5JUlFRkTZu3Cj3xebDNWvWaMiQIcrJyenWM4FgtmuXcR0/vmevDw835v6e
OSN98onv6gIAIJh1GXzr6uqUnp5+6eO0tDTV1dV1uCcjI0OSZLfbFR8fr4aGBrW0tOill17S448/
3u1nAsFs505jg9qoUT1/xo03Gtc33vBNTQAABLsug6+7k23jNpvNq3t+9atf6eGHH1ZsbGy3nwkE
qzNnpOpqaeRIKSqq588ZPVqKiTGCb1ub7+oDACBYdXlWVHp6umpray99XFdXp9TU1A73HDt2TOnp
6XI6nWpqalJSUpK2bdumVatWadGiRTpz5ozCwsIUFRWl8ePHd/lMIFj1ts3Bw243RqFt3GicAHfL
Lb2vDQCAYNblim9eXp6qqqpUXV0th8OhkpISFRQUtLunoKBAK1askCStWrVKU6ZMkc1m0x//+EeV
lpaqtLRUDz/8sL773e/qm9/8plfPBIKVZx/nmDG9f9bEicb19dd7/ywAAIJdl8HXbrdr4cKFmj9/
vu6++27dddddysnJ0ZIlSy5tSJs7d64aGxtVWFioZcuW6Qc/+EGPngmEgqoqKSJCGjy4988aN06K
jZX+8pfePwsAgGBnc3fWcGtBNTU1mjlzptauXashQ4aYXQ7QI//xH9KCBdLw4dJTT/nmmSUlRvA9
eFDKzvbNMwEA6Kuulxk5uQ0IoMOHjY1ow4b57plf/rJxff993z0TAIBgRPAFAqiqyrgOH+67ZxJ8
AQDwDsEXCKDKSuPqyxXf4cON0WalpcZpcAAAoHMEXyCAqqqMzWgDBvj2uXfdJZ09K338sW+fCwBA
MCH4AgFy/Lh04oSxQuvr81o87Q7vvefb5wIAEEwIvkCAfP65cfVlm4NHfr4UHU2fLwAA10PwBQLk
s8+Mqz+Cb79+0h13SDt3GschAwCAjgi+QID4M/hK0p13GtfSUv88HwCAvo7gCwSA2220OgwYIMXH
++c9PKd+XzxQEQAAXIXgCwRAfb2xsc2fhw7m5hrBurTUCNoAAKA9gi8QANu3G9dBg/z3HmFhxqrv
kSPS/v3+ex8AAPoqgi8QADt2GFd/Bl+JdgcAAK6H4AsEgCf4Dh7s3/fxBF82uAEA0BHBFwiAHTuk
iAgpLc2/7zNypJSZKa1bJ7W1+fe9AADoawi+gJ+1tRnzdceMkcLD/fteNpux6nvypFRe7t/3AgCg
ryH4An52+LDU3GxMXQgE2h0AAOgcwRfwM09/b6CD77p1gXk/AAD6CoIv4GeBDr5DhkjZ2dLHH0su
V2DeEwCAvoDgC/hZoIOvJE2fLjU2Xn5vAABA8AX8bscOKSZGGjYscO85fbpxLSsL3HsCAGB1BF/A
j5xOafduafx442S1QMnPN64EXwAALiP4An60f7/kcAS2zUGShg83DssoK5Pc7sC+NwAAVkXwBfxo
507jOn58YN/XZjPaHerrpb17A/veAABYFcEX8CNP6Bw7NvDvTZ8vAADtEXwBP9q3z7iOGhX49/b0
+X74YeDfGwAAKyL4An60f79ktwd2ooPHmDHSgAFG8KXPFwAAgi/gV/v2GYdJ2O2Bf29Pn++RI1JV
VeDfHwAAqyH4An5y8qTxlxltDh6MNQMA4DKCL+An+/cbVzODr2eDG32+AAAQfAG/MXNjm0denpSY
yIovAAASwRfwG8+Kb06OeTWEh0u33SYdPGj0+gIAEMoIvoCfWGHFV7rc5/vRR+bWAQCA2Qi+gJ/s
2yfFxEiDBplbB32+AAAYCL6AH7jdRvDNyZHCTP6v7MYbjQBOny8AINQRfAE/OHpUamkxt7/XIyJC
uvVWadcu6fhxs6sBAMA8BF/AD6wwyuxK9PkCAEDwBfzCKhvbPDx9vrQ7AABCGcEX8AOrBd+bb5Yi
I1nxBQCENoIv4Aee4GuFHl9J6tdPuuUWaetW6fRps6sBAMAcBF/ADw4cME5MS0kxu5LLpk+X2tqk
Tz4xuxIAAMxB8AV8zO2WKiulESMkm83sai6jzxcAEOoIvoCP1dZK589L2dlmV9Le1KnGTGGCLwAg
VNm9uamsrEw///nP1dbWpnnz5unRRx9t93WHw6GnnnpKO3fuVFJSkhYvXqwhQ4aovLxcP/nJTyRJ
brdb//iP/6jCwkJJUkFBgWJjYxUWFqbw8HC9+eabPv7WAHNUVBjX4cPNreNq8fHGYRaff27MGI6J
MbsiAAACq8vg63K5VFxcrGXLliktLU1z585VQUGBRo4ceeme5cuXKyEhQatXr1ZJSYkWLVqk5557
Tjk5OXrjjTdkt9tVX1+v2bNna8aMGbLbjbf9/e9/r+TkZP99d4AJKiuNq9VWfCWj3eGLL6RPP5Vm
zDC7GgAAAqvLVofy8nJlZWUpMzNTkZGRmjVrltauXdvuntLSUt13332SpKKiIm3cuFFut1vR0dGX
Qu6FCxdks1LDI+AnnhVfqwZfibFmAIDQ1GXwraurU3p6+qWP09LSVFdX1+GejIwMSZLdbld8fLwa
GhokSdu2bdOsWbN077336tlnn70UhCXpO9/5ju6//3699tprPvlmACuwaquDJN12m3GlzxcAEIq6
bHVwu90dPnf1yu317pkwYYJKSkp08OBB/fCHP9T06dMVFRWlP/3pT0pLS9PJkyf1rW99S9nZ2brp
ppt6+n0AllFZaUxzyMoyu5KOUlKk3FxjpJnDYRxqAQBAqOhyxTc9PV21tbWXPq6rq1NqamqHe44d
OyZJcjqdampqUlJSUrt7RowYoejoaO27ONk/LS1NkpSSkqLCwkKVl5f37jsBLKKiQsrMtG6onD5d
OndO2rLF7EoAAAisLoNvXl6eqqqqVF1dLYfDoZKSEhUUFLS7p6CgQCtWrJAkrVq1SlOmTJHNZlN1
dbWcTqck6ciRI6qsrNTgwYPV0tKi5uZmSVJLS4s2bNigHKsccQX0woUL0pEj1mxz8GCeLwAgVHXZ
6mC327Vw4ULNnz9fLpdLDzzwgHJycrRkyRLl5uZq5syZmjt3rp588kkVFhYqMTFRixcvliRt3rxZ
L730kux2u8LCwvTMM88oOTlZ1dXV+od/+AdJxtSIr3zlK5ru+d0Y6MMOHTIOsLDixjaP2283rmVl
0lNPmVsLAACB5NUc3/z8fOXn57f73IIFCy79fVRUlJ5//vkOr5szZ47mzJnT4fOZmZn6y1/+0t1a
Acuz8kQHj0GDjFPlPv5Ycrmk8HCzKwIAIDA4uQ3wIc8MXyu3OkhGu8Pp09KOHWZXAgBA4BB8AR/q
Cyu+En2+AIDQRPAFfMjKp7ZdieALAAhFBF/AhyoqpJgY6aqJf5YzfLg0eLARfDsZww0AQFAi+AI+
VFFhhEqrn85tsxmrvvX10sXR2gAABD2CL+AjDQ3GhjGrtzl40O4AAAg1BF/ARzwb26w+0cHjynm+
AACEAoIv4COHDhnXYcNMLcNrY8dKKSnSRx+ZXQkAAIFB8AV8xBN8s7LMrcNbYWHGqu+hQ5drBwAg
mBF8AR/xhMehQ82tozs8fb6s+gIAQgHBF/CRvrbiK7HBDQAQWgi+gI8cOiRFR0sDBphdifcmTJDi
4wm+AIDQQPAFfOTQIWO11+ozfK9kt0vTpkl790p1dWZXAwCAfxF8AR9obpZOnepbbQ4e9PkCAEIF
wRfwgb7Y3+vhmedL8AUABDuCL+ADfTn43nST1K+ftH692ZUAAOBfBF/AB/py8I2KkqZOlbZvN9o1
AAAIVgRfwAf6cvCVpDvukNxu6cMPza4EAAD/IfgCPtDXg++MGcaVdgcAQDAj+AI+cPiwFB4uZWSY
XUnP3Hwzfb4AgOBH8AV84NAhacgQYy5uXxQVZczzLS+XTpwwuxoAAPyD4Av0ksMhHT3ad9scPO64
w7hyihsAIFgRfIFeqqkxNoYFS/Bdt87UMgAA8BuCL9BLfX1jm8fNN0vR0fT5AgCCVx/tSAT8b+lS
7+775BPjeuiQ96+xoshIo893zRrp+HFp4ECzKwIAwLdY8QV66eRJ45qcbG4dvuBpd2CeLwAgGBF8
gV7ynHaWkmJuHb7APF8AQDAj+AK91NBgXPv3N7cOX5g8WYqJIfgCAIITwRfopVOnpNhYo0e2r/P0
+e7cKdXXm10NAAC+RfAFesHtlhobg6O/18PT7kCfLwAg2BB8gV5oaZEuXJCSksyuxHc8G9xodwAA
BBuCL9ALjY3GNZhWfCdPNlo3OMgCABBsCL5AL3gmOgTDxjaPiAjpttuk3bulujqzqwEAwHcIvkAv
BNNEhyvR7gAACEYEX6AXgjX4eja40e4AAAgmBF+gF4I1+E6aJMXHE3wBAMGF4Av0QjD2+EqS3S7l
50v79kk1NWZXAwCAbxB8gV5obDRWRiMizK7E9woKjOvatebWAQCArxB8gR5yu40V32Ca4XulmTON
K8EXABAsCL5AD7W0SK2twTXD90q5udLAgVJpqRHyAQDo6wi+QA95+nuDdcU3LMyY7nDkiNHrCwBA
X0fwBXrIM9EhWFd8JdodAADBheAL9FCwjjK7kif4lpaaWwcAAL7gVfAtKytTUVGRCgsLtXTp0g5f
dzgceuKJJ1RYWKh58+ap5uL8o/Lycs2ePVuzZ8/Wvffeq9WrV3v9TMDqQiH4ZmdLQ4ca83zb2syu
BgCA3uky+LpcLhUXF+vll19WSUmJVq5cqQMHDrS7Z/ny5UpISNDq1av1yCOPaNGiRZKknJwcvfHG
G3r77bf18ssva+HChXI6nV49E7C6UAi+Npux6nvqlLR1q9nVAADQO10G3/LycmVlZSkzM1ORkZGa
NWuW1l7V8FdaWqr77rtPklRUVKSNGzfK7XYrOjpadrtdknThwgXZbDavnwlYnSf4BuvmNg/aHQAA
waLL4FtXV6f09PRLH6elpamurq7DPRkZGZIku92u+Ph4NVxMBdu2bdOsWbN077336tlnn5Xdbvfq
mYDVNTQE7+EVV5oxw7jyZ1MAQF/XZfB1dzLA07Ny6809EyZMUElJiV5//XX95je/0YULF7x6JmBl
brcRfIO5zcFj0CBp7FiprExyOMyuBgCAnusy+Kanp6u2tvbSx3V1dUpNTe1wz7FjxyRJTqdTTU1N
Srrq578jRoxQdHS09u3b59UzASs7e9Y4vCIUgq9ktDu0tEiffWZ2JQAA9FyXwTcvL09VVVWqrq6W
w+FQSUmJCgoK2t1TUFCgFStWSJJWrVqlKVOmyGazqbq6Wk6nU5J05MgRVVZWavDgwV49E7Ayz+EV
oRJ8Pf950u4AAOjL7F3eYLdr4cKFmj9/vlwulx544AHl5ORoyZIlys3N1cyZMzV37lw9+eSTKiws
VGJiohYvXixJ2rx5s1566SXZ7XaFhYXpmWeeUfLFaf+dPRPoK0Lh8Ior3XGHcZLb2rXST39qdjUA
APRMl8FXkvLz85Wfn9/ucwsWLLj091FRUXr++ec7vG7OnDmaM2eO188E+opQGGV2pf79pRtvlDZt
Mto8YmPNrggAgO7j5DagB0It+EpGu0Nrq/Txx2ZXAgBAzxB8gR4IxeDrmedLny8AoK8i+AI90NBg
nGoW7IdXXOm224yZxRxkAQDoqwi+QA94Dq+we9UlHxxiYqSpU6UtWy5PtQAAoC8h+ALdFEqHV1xt
5kzj+1+/3uxKAADoPoIv0E1NTZLTGbrBV6LdAQDQNxF8gW5qbDSuoRh8b7rJGGXGBjcAQF9E8AW6
KdRObbtSZKQ0fbq0Z4905IjZ1QAA0D0EX6CbQu3Utqt52h3WrTO3DgAAuovgC3RTKM7wvVJBgXGl
3QEA0NcQfIFuCvXgO2GClJJiBF+32+xqAADwHsEX6KZQPLziSmFhxqpvdbW0b5/Z1QAA4D2CL9BN
DQ1SQoIUHm52JeYpLDSuq1ebWwcAAN1B8AW6oa0tdA+vuBLBFwDQF4XQgatA7zU3Sy6XtYLv0qXm
vG9qqvTBB9KLL3q/+v3oo/6tCQCA62HFF+iGUJ7he7WxY6Xz56XKSrMrAQDAOwRfoBtC+dS2q40b
Z1x37TK3DgAAvEXwBbqBFd/LRo82JjwQfAEAfQXBF+iGUD+17UrR0dLw4VJVldTSYnY1AAB0jc1t
QDeE+uEVVxs7Vjp4UNq7V5o40exqOhHonX/s3gMAS2PFF+gGz+EViYlmV2IN9PkCAPoSgi/QDQ0N
RugN5cMrrjRsmNSvn7R7t9mVAADQNYIv4CUOr+goPNzY5Hb8uPEXAABWRvAFvNTUZIRfgm97nnYH
Vn0BAFZH8AW8xMa2zo0da1wJvgAAqyP4Al5ihm/nUlOllBRpzx5jRRwAAKsi+AJeYoZv52w2Y9W3
pUU6dMjsagAAuDaCL+AlT/BNSjK3DitirBkAoC8g+AJeYsX32kaPNlZ+6fMFAFgZwRfwkufwioQE
syuxnrg4aehQ4xS38+fNrgYAgM4RfAEvNTQYbQ4cXtG5ceOMzW379pldCQAAnSP4Al5oa5MaG5no
cD2MNQMAWB3BF/DCmTMcXtGV7GwpMpINbgAA6yL4Al7g8IquRURIo0ZJtbWX/3kBAGAlBF/ACxxe
4R1PuwOrvgAAKyL4Al5gxdc7nnm+9PkCAKyI4At4gRm+3snIMCZf7N7N8cUAAOsh+AJe4NQ273iO
L25ulmpqzK4GAID2CL6AFxoapLAwKTHR7Eqsz9PusGOHuXUAAHA1gi/gBc/hFWH8F9OlceOMld+d
O82uBACA9vhtHOiCyyWdPs3GNm/FxUnDhkkVFVJLi9nVAABwmd3sAgCrO306CA+vKCvz6+PHxw1V
Zdsw7Xlzl24cesL45PTpfn1PAAC6woov0AVGmXVf7iDjH9qOo/xDAwBYh1crvmVlZfr5z3+utrY2
zZs3T48++mi7rzscDj311FPauXOnkpKStHjxYg0ZMkQbNmzQv/3bv6m1tVURERF68sknNXXqVEnS
Qw89pPr6evXr10+S9MorryglJcXH3x7Qe57DKxhl5r2s5CbFRrVq59Fkud1Gz6/XXC5jHtrmzdK2
bZLTKfXrJ0VHG9fkZGnWLGnIEL/VDwAITl0GX5fLpeLiYi1btkxpaWmaO3euCgoKNHLkyEv3LF++
XAkJCVq9erVKSkq0aNEiPffcc+rfv79efPFFpaWlad++ffrOd76jjz766NLrFi1apLy8PP98Z4CP
MMO3+8LCpPEZDfqsKlVHG2M0uH8Xzb779kn//d/SunXSX//adXOwzSbdfrv09a9Lc+dK/KEZAOCF
LoNveXm5srKylJmZKUmaNWuW1q5d2y74lpaW6vHHH5ckFRUVqbi4WG63W+M8c40k5eTkyOFwyOFw
KDIy0tffB+A3tDr0zPiMU/qsKlU7jiZ3HnwbGqTXXpN+/3tp0ybjc+HhxliIyZONvyZOlGJipPPn
jb/OnTN2zb32mtGnXFYmPf649Ld/K/3HfzBoGQBwXV0G37q6OqWnp1/6OC0tTeXl5R3uycjIMB5o
tys+Pl4NDQ1KvmKJbNWqVRo7dmy70Pv0008rLCxMd955px577DHZuvXzUCAwPK0OBN/uGefp8z2W
rKLxV5xmUVUl/eIXRuC9cMFYvb3zTunhh6XZs6XY2K4f/thjUnW1EYD/67+kV1+VPvlE+vOfjcAM
AEAnutzc5na7O3zu6oDa1T379+/XokWLVFxcfOlzixYt0jvvvKNXX31Vmzdv1ttvv92twoFAaWiQ
7HYpPt7sSvqWhH6tykpu0oH6BJ1vDVf88Qpp/nwpJ0daulTKzJT+9V+NALtqldG24E3o9cjMlH7w
A6M14ic/MQL1rbdKv/qV1Mn/kwAA6DL4pqenq7a29tLHdXV1Sk1N7XDPsWPHJElOp1NNTU1Kuvgj
x9raWj3++OP65S9/qaFDh156TVpamiQpLi5OX/nKVzqsIgNWceqUsdrLDyS6b/ygU2pzhyn8w1L9
7cJR0m9/K40cKf3hD9KePdIPfygNHty7NwkPl4qLpfffN1odvvc96cEHjTl0AABcocvgm5eXp6qq
KlVXV8vhcKikpEQFBQXt7ikoKNCKFSskGS0NU6ZMkc1m05kzZ/Too4/q+9//viZNmnTpfqfTqVMX
f37c2tqq9evXKycnx5ffF+ATra1SUxNtDj0R5mrV7At/liSV16WqMW209Kc/GWcZf+MbRmD1pTvv
NFZ/b79dev11o23C5fLtewAA+rQue3ztdrsWLlyo+fPny+Vy6YEHHlBOTo6WLFmi3NxczZw5U3Pn
ztWTTz6pwsJCJSYmavHixZKkP/zhDzp8+LBeeOEFvfDCC5KMsWXR0dGaP3++Wltb1dbWpqlTp+rB
Bx/073cK9EBjo3FlokP3DD72uaZ98bzizhzRD/X3ejvyQU36yXw9+lUfh90ObzxYKi01Nru9+aax
TP+1r/n3PQEAfYZXc3zz8/OVn5/f7nMLFiy49PdRUVF6/vnnO7zuscce02OPPdbpM998883u1AmY
go1t3RN97pSmff6csqs/VJstTLtGzVZOS4s+rxmko3UBKsJuNzbO7dsnrV8vDR0qTZsWoDcHAFgZ
RxYD18EMXy+53co+tE63ffGc+l04rdqBefr4pid0qv9IjTvYpM9rpJ07A1hPXJz09tvSl74k/fGP
UkaGlJ0dwAIAAFbEkcXAdbDi27V+5xv0Nx/9VH+z4VnZnee1YdI/6i+Fz+tUf2PW9/iLY80CGnwl
I+j+/d8bfb7/+Z+X+1YAACGL4AtcByu+15dV/ZHmrXxY2dUf6tjAPL0+6xXtHDNXsl3+X0titEOZ
/Zu1f7/U3BzgAseONU52O33aCL+trQEuAABgJbQ6ANfBqW2dC3dd0JTNL2j8/rfkDI/UJ5Me185R
98sd1vnmtfGDTql6Z5xKf7hK9044FNhiZ840ZgVv2iStXSt9+cuBfX8AgGWw4gtcx6lTUlSUFB1t
diXWkXS6SnPe/380fv9bOpU4XCu+vFQ7xsy7ZuiVpLxBRs/IuzsyA1XmZTabMeUhLk567z3pzJnA
1wAAsASCL3AdDQ1GmwOHV0hyuzX6QInuf+9RpTRWaFfOvVrx5d+oIWl4ly8dPuCMYiJbVbJ9qDmH
qsXESPfcI50/L73zjgkFAACsgOALXMP581JLC20OkmR3ntOMT36u/E//j1zhEVp9e7E+vvmf5LJH
efX68DBpfEaDahritOOoSf9Ab7/dmO7w0UfSkSPm1AAAMBXBF7gGNrYZEk8f0pz3/5dyqlarPmWs
3rjrZVUOze/6hVfJHXyx3WH70C7u9JPwcGOjm9stLV8uc5aeAQBmIvgC18DGNmlE1Vrd//53lXy6
UjtG36+/FP5KzXEZPXrW+IwG2WxulZgVfCUpN1caN07avds4OhkAEFIIvsA1hPIM3zCXQ9M+f04z
NxTLLWnNtJ/qk8kL1BYe0eNnxvdr1S3D6vVJRZoazkb6rtjumjvXaNp+/XVjxi8AIGQQfIFrCNVW
h/jmY5r9weMav2/FxakNv1HFsAKfPPvuvMNytYXpg11DfPK8Hhk82Oj3ra2VysrMqwMAEHAEX+Aa
QrHVIav6Y93/7nwNPLVXe7PSqRp3AAAgAElEQVS/rLe+/KJOJ2b57Pmz8g5Lkt7dYWK7gyTde6/U
r5+0cqXkcJhbCwAgYAi+wDV4Wh1CYcXX1ubUlM2/VlHZjxXe1qr1U36oD6f+SE67bwcY3zDkpNIT
WvTezky1tfn00d0THy/dcYdxlNznn5tYCAAgkAi+wDWcOiXFxkqRJrajBkLs2Xrds/p7+tKeP6sx
YahWFL2ofSPu9st7hYUZ7Q7Hm6L1xaGBfnkPr91xh1FQaSkTHgAgRBB8gU643ZcPrwhmmUc26YF3
v6P0Ezt1IGumcSBF/xF+fc+7c6slWaDdoX9/aeJEqaZG2r/f3FoAAAFB8AU60dBgtH4Ga3+vrc2p
m7Yu1V3rf6gI5zl9dPM/qXTaT9QaEeP39y4cWyN7WJtKtptwfPHVZs40rmvXmlsHACAg7GYXAFhR
tbEoGZTBN/bUYc1Y+30Nqt+mM3GDtPr2Z3UyeVTA3j8hulW35xzTur2DVXcmWmkJ5wL23h1kZ0tD
h0rbtkknTkgDBphXCwDA71jxBTrhCb5B1ergditn4+8179k8DarfpsrM6XrjrpcCGno9PO0O7+0w
edXXZjNWfd1uaf16c2sBAPgdwRfoRLCt+PY7U6/C/7xfM373iORu04dTntLq24vVGhlnSj2Xx5pZ
oN1h0iQpIUHasEG6cMHsagAAfkTwBToRTMF32F9XaF5xroZvfUtHR+Xr9YXbtXfELGO10yRj0hs1
LOWMPtg1RK0u8+qQJEVESNOnSy0t0qZN5tYCAPArgi/QiWBodYhsadQdy/5Od/7n/Yo436RP5i3W
yv9dquYBw8wuTTabNCuvWqfPRemTg+lml2ME3/Bwad06RpsBQBAj+AKdqK42wllSktmV9MzgXas1
tzhPozb9t+qzJuvNH2/Rjr95wphbaxF3515sd7DCdIfERGnyZOnYMWn3brOrAQD4iXV+FwQs5PBh
o+3T3sfmntgvnNW0Pz2uWUvuVMzpWn1xz7N6+4efqDFjrNmldTBj9FH1i3CqxOx5vh4FBcb1o4/M
rQMA4Dd97Ld1wP/a2owzDQYPNruS7kk9uFEzfvd3Sqw/oFMZ47T+W/+lE1mTzC7rmqIjXSoYfVTv
7hiqQyfjlJXSbG5BWVlSRoZUXi6dOydF+/a4ZgCA+Qi+wFXq66XW1r7T3xvmdGjSO89owqpfyia3
thX+k76Y/TO5IvqZXVoHS8vGtPs4MdqYovD0ipuUP+pYj5756PQ9va5LktHbcvPN0ttvS1u2SNOm
+ea5AADLoNUBuEpfmuiQXFOuOb+4WRPf/4WaU7L0zvfX69O5iywZejuTO6hBkrT9qEX+lHHzzcb1
s8/MrQMA4Bes+AJX6RPB1+3W+HW/0pQ3nlS406Hdtz+qTXMXqbVfvNmVdcuAuPPKSDirPbVJanXZ
FBFu8kSFAQOkESOkvXul06eNTW8AgKDBii9wFauPMos826DC/7xf015bIEd0ot57vEQfffM3fS70
euQOPqVWV7j21llkhMZNNxkjzT7/3OxKAAA+RvAFrmLlFd/Uik164OcTNXzrWzoyeoZe/8k2Vefd
bXZZvZI36JQkaYdV2h0mTTLGvtHuAABBh+ALXMWSK75ut/LWLNa9///tijt1WJu/8lO9+8RqnUvM
MLuyXhuZekb97E5tP5JsjbMjEhKkceOkQ4ekujqzqwEA+BDBF7hKdbUxvzchwexKDLY2l6b96XFN
Xf59nY8boJIn1mjzPc/IHRZudmk+ER7m1riMBp1ojlZdk0VGiN10k3Fl1RcAggrBF7jKoUPSkCHW
OOQs3HFOf/ObuRr/4Qs6OThPbz79hY6OKTC7LJ/LHWy0O2w/YpFl9htukCIijOBriWVoAIAvMNUB
uILDYZxaO316gN+4rKzDp6IunFbR+h8p/cROHUm7UR/c+i9q3X5Q0sEAF+d/uVf0+RaOPWJyNZL6
9TPC7+efG38SGjbM7IoAAD5ggTUtwDqqq40Fvqwsc+uIaz6m2av+Qekndmr/sL/RezP+j1oj48wt
yo8So1s1NLlJ++sTdb7VIi0cnpm+n35qbh0AAJ8h+AJXqKoyrmYu8EWfO6mvrP2+kpqqtXXc17Xu
1h+rLTzCvIICJG/QKbnawrS71iJjzcaNk2JjpS++MM6xBgD0eQRf4AqHDhlXs1Z8IxzNumvdU0po
PqrNeQ/rs4nflWyh8Z+pp893h1X6fO12Y7TZmTPGgRYAgD4vNH5HBbxkZvANd11Q0YdPa0DDAe3M
ma3Ned8KfBEmGpbcpLgoh3YctchYM0m68Ubjum2buXUAAHyC4Atcwazga2tzquDjYg2q36aKofn6
ZPICyWYLbBEmCwuTxmc0qPFclGoaYs0uxzBqlBQdLZWXM90BAIIAwRe4wqFDRt7MzAzgm7rduu2z
f9fwmo91JO1Gld76z0Ezo7e78jxjzaxyilt4uJSbK508KR2xwLQJAECvEHyBK1RVSRkZUlRU4N4z
d+0SjT1YouPJo/VB/s/VFh4ZuDe3mHEZDbLZ3Nbp85WkL33JuNLuAAB9HsEXuMjlkmpqAtvmMKDq
C93y5lNq6ddf79/xC7VGxATuzS0oNsqpEQPOqOJkgpovWGTMeG6u0YdB8AWAPo/gC1x09KjkdAYu
+EacO6OZL39VYW1Orbv1xzoXnRKYN7a43EGn5HbbtOtof7NLMcTEGL2+hw5JDQ1mVwMA6AWvgm9Z
WZmKiopUWFiopUuXdvi6w+HQE088ocLCQs2bN081NTWSpA0bNuj+++/XPffco/vvv18bN2689Jod
O3bonnvuUWFhoX72s5/JzcYRmMyzsS0gM3zdbt3+6neVePygthb9vzqScVMA3rRvsFyfryRNmGBc
t283tw4AQK90GXxdLpeKi4v18ssvq6SkRCtXrtSBAwfa3bN8+XIlJCRo9erVeuSRR7Ro0SJJUv/+
/fXiiy/qnXfe0b/+67/qqaeeuvSaZ555RsXFxfrggw9UVVWlsk6ObAUCyXN4RSBWfEdv+K1Gfv4/
qs2eqi/ufdb/b9iHDE46q6ToC9p5LNk650bQ5wsAQaHL4FteXq6srCxlZmYqMjJSs2bN0tq1a9vd
U1paqvvuu0+SVFRUpI0bN8rtdmvcuHFKS0uTJOXk5MjhcMjhcKi+vl7Nzc2aOHGibDab5syZ0+GZ
QKAFapRZ/6M7Ne1/vqcLMUkqnf8nuUPgVLbusNmMwyzOXohQ5cl4s8sxDBggDRki7dkjnT9vdjUA
gB7qMvjW1dUpPT390sdpaWmqq6vrcE9GRoYkyW63Kz4+Xg1X9cKtWrVKY8eOVWRkZIdnpqend3gm
EGiBCL5hTodmvvRV2VvPaf3Dy9ScYtIRcRaXO8hod9h1zCJ9vpKx6ut0Srt2mV0JAKCHugy+nfXe
2q4arN/VPfv379eiRYtUXFzs9TOBQAtE8M1b8+9KPrpDu29/VIdumOO/N+rjRqc1ymZza7eVgq+n
z7e83Nw6AAA91mXwTU9PV21t7aWP6+rqlJqa2uGeY8eOSZKcTqeampqUlJQkSaqtrdXjjz+uX/7y
lxo6dGinz6ytre3wTCDQqqqMn2jH+unQsLgTVZq0slgt8an69P5f+udNgkRMpEvDU86o8mSCzjks
cpjH0KFSYqIRfF0us6sBAPRAl8E3Ly9PVVVVqq6ulsPhUElJiQoKCtrdU1BQoBUrVkgyWhqmTJki
m82mM2fO6NFHH9X3v/99TZo06dL9qampio2N1datW+V2u/XWW29p5syZPv7WAO+53dLhw/5d7Z32
2vdkbz2nTXP/TY6YJP+9UZAYl9GoNrdNe+ss8s8qLMxY9T17VqqoMLsaAEAPdBl87Xa7Fi5cqPnz
5+vuu+/WXXfdpZycHC1ZsuTShrS5c+eqsbFRhYWFWrZsmX7wgx9Ikv7whz/o8OHDeuGFFzR79mzN
nj1bJ0+elGRMdfjnf/5nFRYWaujQoZo+fbofv03g+urrjT1L/gq+WVvfVlb5OzoyeoYO3PIN/7xJ
kBmbbuwTsFyfr8R0BwDoo7w6Gik/P1/5+fntPrdgwYJLfx8VFaXnn3++w+see+wxPfbYY50+My8v
TytXruxOrYDf+LO/137hrG597XtyhUfo46+/YIwtQJeGD2hSvwindtdaKPiOGSNFRhrBd+5cs6sB
AHQTJ7cBkiorjevw4b5/9o0rixV/6rDK73xSp9PH+P4NglR4mFtj0hpV3xSt4039zC7HEBEhjR1r
/Ijg+HGzqwEAdBPBF9Dlls3sbN8+t/+RHfrSmn/XmZRh2nL3j3378BAwNsNod7DUqu/48cZ1505z
6wAAdBvBF5D/VnynLv++wtqc2vC1/5ArMsa3Dw8B4zI8fb4W2eAmSePGGVfm+QJAn0PwBXR5xXfY
MN89M2PvOg3ZvVo1YwtVnTfLdw8OIQPjzisl9rz21iWpreP4b3MMHCilpkp79zLWDAD6GIIvIGPF
Nz1divHVoqzbrZtX/EiS9Nmc/89HDw09NptxmEWLI0I1DXFml3PZuHHGGJCDB82uBADQDQRfhDyn
05jq4Mv+3qxtf1Fa5aequPEBnRg22XcPDkFj0hslSXtqaXcAAPQOwRchr6bG+Im1r/p7bW0u3fT2
j9VmC9MX9/6Lbx4awkanWTD4jh4thYezwQ0A+hiCL0Keryc6jPzsj0o+ulP7pz6sxoyxvnloCEuK
cSg9oUUHjifK6bLIDOR+/aQRI6TqaqmpyexqAABeIvgi5Pky+IY5HZr0zk/lskfqi3ue6f0DIUka
k96gC85wVZ2MN7uUy8aPN8663r3b7EoAAF4i+CLk+XKU2ZiPXlLCiUrtmv6/dDZ5aO8fCElXtDvU
WajdwdPnS7sDAPQZBF+EPF+t+NovnNWN7/6LWqNi9de7nu59YbhkdNpp2eS2Vp/vkCFSfLyxwc1t
lVlrAIDrsZtdAGC2ykrjJNpBgy5+YulS41rWveOFx+5+TTFn6rQl9+90fuseSXt8Wmcoi41yKjO5
WRUnEnTBGaYoe5vZJUlhYcaq76efGjskMzPNrggA0AVWfBHyKiqMgyvCw3v+jDCXQ1/a/We12qO1
fcw8n9WGy0anNcrVFqaK4wlml3IZY80AoE8h+CKkNTdLx4/3vr83p3K1Ys+d0O6R9+hClIWCWRAZ
lXpakrSvPtHkSq5Any8A9CkEX4Q0z8a23vT32tpcmrDrT3KF2VU+9kHfFIYORqaels3m1j4rbXBL
SJCGDjVOcLtwwexqAABdIPgipHk2tvVmxXdYzUdKaqrW/uFFaokZ6JvC0EFMpEuZ/ZtVdTJeDqeF
/tc1bpxx/N++fWZXAgDogoV+9wACr9crvm63btj5R7ll07ZxX/VZXejcqNTTcraFqfKExeb5SrQ7
AEAfQPBFSOvtiu/g2i808NReVQ6drtMJzO31t1EX5/nurbdQu0N2thQZKe3da3YlAIAuEHwR0no7
w/eGnX+UJG0d9w0fVYTrGTnwjGxya3+dhTa42e3SyJHS0aNSba3Z1QAAroPgi5B24ICUnCz179/9
1w48sVuD67aoJn2yTqSM9n1x6CA2yqkh/c+q4kSCWl02s8u5bMzFmc/r1plbBwDgugi+CFlOp7Hi
m5PTs9ffsOtVSdLW8az2BlJOauPFPl8LjY3zBN+1a82tAwBwXQRfhKzDh6XWVuOn1N2V0FSjYdUf
qz55tI6mTfR9cbimUWkWnOebmSnFxEilpWZXAgC4DoIvQtaBA8a1Jyu+4/eukE1ubR/7oGSz0I/c
Q0DOQCP4HrBS8A0Lk0aNMsaEeEaFAAAsh+CLkLV/v3HtbvCNaG3R6IPv6mx0iioz831fGK4rrp9T
6QktqjgRL1eb2dVcwdPuwKovAFgWwRchy7Pi291Wh1EV7ynS2aJdOXPUFh7h+8LQpREDT+uC064j
jbFml3IZwRcALI/gi5DVoxVfd5vG731TzrBI7c651y91oWsjBp6RJB08bqF2h/R0KSPDCL5ut9nV
AAA6QfBFyOrJKLPMo58pqalGB4cV6Hw/Cx2iEGJGXgq+FprsYLNJBQXGLN/du82uBgDQCYIvQlJP
R5nl7n1dkrRj9Fw/VAVvpcafU3yUQwesFHwlI/hKjDUDAIsi+CIkeUaZdSf4Jp2uUuaxz3U0dYJO
Jvdw+C98wmYz2h0aWvrp8CkL9fl6gi99vgBgSQRfhKSebGwbv/dNSdLO0Q/4oSJ0l6fPd8OBdJMr
ucKwYcb51+vXSy6X2dUAAK5C8EVI6u7GtsgLTRpVsUpNMWmqGjLNf4XBayMuzvPdcNBCwVcyVn0b
G6W//tXsSgAAVyH4IiR1d8V3dMW7inCd187R98kdZvdfYfDa0ORmRYS7tOFgmtmltDdzpnGl3QEA
LIfgi5DUrRVfd5vG7XtbzvAo7R0xy691wXsR4W5lJTervCZZZ85ZaJ7yjBnGlQ1uAGA5BF+EpO6M
Mhtcu1mJzUd0MKtAF6IsNkUgxI0ceFpt7jBtqkw1u5TL0tKk8eOljz6SHA6zqwEAXIHgi5DT3VFm
4/a9JUnalTPbj1WhJyy5wU0y2h3OnZM+/dTsSgAAVyD4IuR0Z5RZbEu9so5s1PHkUTqeMsb/xaFb
LgVfq/X5Ms8XACyJ4IuQs2ePcR3jRY4dfeBdhbldxvHENpt/C0O3xUY5NS7jlDZVpsnpstC/n/x8
KSyMDW4AYDEEX4Qcz2myXQVfW5tTYw6slCMiVgeyZvq/MPTItBF1OnshQttqUswu5bKkJGnSJGnT
JunsWbOrAQBcRPBFyPF2xXfokY2KO3dc+4ffKWdEjP8LQ49MG1kryaLtDq2t0scfm10JAOAigi9C
zp49xk+hu5rhO27/25KkXTn3BqAq9NRtnuBrxQ1uEu0OAGAhBF+EnD17pBEjpKio69x0/Lgyj32u
YwPz1JCUHbDa0H3ZA5qUltCijw+my+02u5orTJsmRUaywQ0ALITgi5By4oTxV5cb28rKJEm7GWFm
eTab0ed7tDFWh07GmV3OZTEx0tSp0pYtUkOD2dUAAETwRYjxqr+3tVXasEHnohJVMTQ/IHWhd6aN
8PT5WqzdoaBAcrul9evNrgQAIC+Db1lZmYqKilRYWKilS5d2+LrD4dATTzyhwsJCzZs3TzU1NZKk
hoYGPfTQQ5o4caKKi4vbveahhx5SUVGRZs+erdmzZ+vkyZM++HaA6/Mq+P71r9LZs9qXfZfawiMD
Uhd6x7PBbWOFBTe4SfT5AoBF2Lu6weVyqbi4WMuWLVNaWprmzp2rgoICjbxiZ9Dy5cuVkJCg1atX
q6SkRIsWLdJzzz2nqKgoLViwQPv379f+/fs7PHvRokXKy8vz7XcEXIcn+I4de52bLu7C3z3yHv8X
BJ+4YchJRdpd2lhhoaOLJenmm6XYWPp8AcAiulzxLS8vV1ZWljIzMxUZGalZs2Zp7VX/Ey8tLdV9
990nSSoqKtLGjRvldrsVExOjyZMnK+q6u4iAwPHM8B09+ho3HDgg7d0rjRqlMwlDAlYXeicqok2T
hh7XtpoUnb3Q5Z/nAycyUrr9duMX3rFjZlcDACGvy+BbV1en9PTLfXNpaWmqq6vrcE9GRoYkyW63
Kz4+Xg1ebOZ4+umnNXv2bP3617+W21LbsRGs9uyRUlOl5ORr3PDb3xrX224LWE3wjanZ9XK1hWnz
oQFml9KeZ6zZunXm1gEA6Dr4dhZIbVcd3erNPVdbtGiR3nnnHb366qvavHmz3n777a5KAXrl/Hmp
svI6bQ6trdLvfmfsxr/xxkCWBh+Ykm38gdyyfb60OwCA6boMvunp6aqtrb30cV1dnVJTUzvcc+zi
j/GcTqeampqUlJR03eempRm/OcXFxekrX/mKysvLu1080B379hkb7K+5sa2kRKqtlW65RYqICGht
6L2p2fWSpE2VFuvzveEGqX9/NrgBgAV0GXzz8vJUVVWl6upqORwOlZSUqMCzgnFRQUGBVqxYIUla
tWqVpkyZct0VX6fTqVOnTkmSWltbtX79euXk5PTm+wC61OVEh5dfNq60OfRJQ/qf1ZD+zdpYkWat
gyzCwqQZM6SqKqmiwuxqACCkdbkLxG63a+HChZo/f75cLpceeOAB5eTkaMmSJcrNzdXMmTM1d+5c
PfnkkyosLFRiYqIWL1586fUFBQVqbm5Wa2ur1qxZo1deeUWDBg3S/Pnz1draqra2Nk2dOlUPPvig
X79R4LrBt6ZGeu89Yxf+EDa19VVThtfr9S3ZqjoZr+EDmswu57KCAunNN41V32xOAgQAs3i1/Tk/
P1/5+e0H+S9YsODS30dFRen555/v9LWl1/jx3ptvvultjYBP7NhhXMeN6+SLy5ZJbW3S/Pmy1nIh
umNqdp1e35KtTRWp1gq+ng1upaXGrzEAgCk4uQ0hY/t2KTFRysy86gttbcY0h9hY6atfNaU2+MZU
q25wGz1aysgwNrjxBysAMA3BFyHh/Hlp/34pN1fq0H6+Zo106JAReuPjTakPvjFx6ElFhFvwIAub
zVj1ra+Xdu40uxoACFkEX4SEPXskl0vq9KBAz6Y2fgTd5/WLcOnGoSe0tXqAzjnCzS6nPY4vBgDT
EXwRErZvN665uVd94cQJ6a23jC/cckvA64LvTc2ul7MtTJsPW+wgC+b5AoDpCL4ICZ7g22HF99VX
jYMrvv3tTnog0BdNGX6xz/egxfp8s7KkESOk9eslp9PsagAgJBF8ERI6Db5ut7GpzW6XvvlNU+qC
700dYQTfTZUWC76S0ed75oy0ZYvZlQBASCL4IiRs3y4NHmwcoHXJli3GF+69Vxo40LTa4FuZ/c9q
UNJZbaxItd4ABfp8AcBUBF8EvYYG6ciRTtocli0zrt/6VsBrgv/YbMZBFsdOx6q6IdbsctqbMcO4
0ucLAKYg+CLoddrmcP680d+bni59+cum1AX/uTTP12p9vqmpxi/Ejz82fg0CAAKK4Iug5zmxrd1E
h7fekhobpYcfNnp8EVQse5CFZLQ7nD8vbdpkdiUAEHIIvgh6na740uYQ1G4cekL2sDZtqrTYQRbS
5eOLaXcAgIAj+CLobd8uhYdLY8de/MThw9Lq1dKttxpHySLoREe6NHHoCW05PEDnWy12kMX06VJY
GBvcAMAEBF8ENbfbaHXIyZH69bv4yd//3vjCt79tam3wr6nZdWp1hWuL1Q6ySEyUbrpJ+uwzqanJ
7GoAIKQQfBHUKiul06elCRMufqKtTfrd76SYGOnBB80sDX42ZXi9JGlThQXbHQoKjEMsPvrI7EoA
IKQQfBHUPOcETJp08RNlZVJFhTRvnhQfb1pd8D9Lb3CjzxcATEHwRVDzBN8bb7z4iVdeMa60OQS9
rJRmpSW0WHOD2623SlFRBF8ACDCCL4KaJ/hOnCjjqNjXX5dGjJBuv93UuuB/Npux6lvTEKcaqx1k
ER1thN9t26QTJ8yuBgBCBsEXQcvtNoLvsGFScrKk116Tzp0zRpjZbGaXhwCYmm30+W60ap+vJK1b
Z24dABBCCL4IWkeOSMePX9HmsGyZEXgfftjUuhA4U4Ybfb6b6PMFAIjgiyDWrr93925p40bpzjul
IUNMrQuBM3nYcdnD2qy54nvTTVJCgrRmjdmVAEDIIPgiaLULvp6T2tjUFlJiIl2aMOSkNh8eqAut
Fvvfnd0uzZghHTxoTBoBAPidxX4nAHznUvDNa5X+67+MRt/Zs80tCgE3JbteDme4ttakmF1KR4WF
xnX1anPrAIAQQfBF0NqyRRo0SEr76/tSXZ309a8bI6QQUi7N8z1owT7fO+80rgRfAAgIgi+CUl2d
sbntxhvF7N4QZ+mDLEaOlLKyjA1uLpfZ1QBA0LObXQDgC0uXtv94xw7jGn7+rNpKV+pU5g168/OJ
0udePKxsjM/rg/8s7eLfl9stxUc5tGb34C7v9Xh0+h5flNY1m81od3j5ZemLL6RbbgnM+wJAiGLF
F0Hp0CHjOrVljcLanNp767fMLQimsdmk7IFndKqlnxpbIs0upyPaHQAgYAi+CEqVlcb13oP/Lpc9
Ugdu/oa5BcFU2QOaJEkVJ+JNrqQTBQVGOif4AoDfEXwRdNxuYzpUauIFja0rU9WE2boQZ8Ed/QiY
4QPOSJIqTiSYXEknUlKkSZOMOdNNTWZXAwBBjeCLoHP8uHT2rDQpslyStI82h5A3LKVJYTa3NYOv
ZLQ7tLZKH35odiUAENQIvgg6nrMAZja8rub+Q1Qz7k5zC4LpouxtGpzUrMOn4uR02cwupyPm+QJA
QBB8EXQ8/b23Oddr39RH5A4LN7cgWEL2gCa1usJV0xhrdikdTZ0qxcQQfAHAzwi+CDqVlVKkzaEb
tJVpDrgk29Pne9yC7Q5RUdIdd0i7d0s1NWZXAwBBizm+sLarB/Rey8X5rA5nmGoO36rJ7i06kTZe
TbtrpN0ECRgjzSRjg1uBjppcTScKC6V33zVWfb/FH9gAwB9Y8UVQOXwqTi53mKZok/aOuNvscmAh
A+POKy7KYd0NbvT5AoDfEXwRVCqPx0mSJoVvVWVmvsnVwEpsNmn4gCadPNtPp89FmF1OR+PGSYMG
SWvWSG1tZlcDAEGJ4IugUnvEKUlKz4yQyx5lcjWwmhEX+3wPWrHP13N88fHj0rZtZlcDAEGJ4Iug
4XZL+0+lKE21OjP6JrPLgQWNTD0tSTpwPNHkSq6hqMi4vv++uXUAQJAi+CJoNJ10qM41ULdEbNHJ
lNFmlwMLGpbSJHtYmw7UWzT43nmnFBZmbHIDAPgcwRdBo3HPMUlSdnqL8WNj4CoR4W5lJTepuiFO
51st+L+/lBRpyhTpk0+khgazqwGAoMM4MwQHt1uVR/tJkpJHDTC5GFjZiNQzOngiUZUnEzQ2vdG3
D/d2/N71DBxobG576inpJi9adh59tPfvCQAhwoJLHkD3DTy5R5+2TlSCrUkDU/lljWvLGXixz9eq
7Q65ucZ1xw5z6wCAIOXRJlkAACAASURBVERCQFDov3ejDmqkxiTXKYxf1biOERcPsjhgxckOkpSZ
KSUmSjt3MtYMAHzMq4hQVlamoqIiFRYWamknP8pzOBx64oknVFhYqHnz5qnm4pGbDQ0NeuihhzRx
4kQVFxe3e82OHTt0zz33qLCwUD/72c/kdrt98O0gJDkcqjls/PrJzDS5FlhebJRTgxLPqvJEglxt
FuwFt9mMVd+mJunQIbOrAYCg0mXwdblcKi4u1ssvv6ySkhKtXLlSBw4caHfP8uXLlZCQoNWrV+uR
Rx7RokWLJElRUVFasGCBnnrqqQ7PfeaZZ1RcXKwPPvhAVVVVKisr89G3hJCzebM+abtFkpST1mRy
MegLRg48rQvOcFU3xJpdSudodwAAv+gy+JaXlysrK0uZmZmKjIzUrFmztHbt2nb3lJaW6r777pMk
FRUVaePGjXK73YqJidHkyZMVFdX+IIH6+no1Nzdr4sSJstlsmjNnTodnAl775BOVabqiwp0amtxs
djXoA0akXmx3sGqf79ixxlgzgi8A+FSXwbeurk7p6emXPk5LS1NdXV2HezIyMiRJdrtd8fHxarjO
KJ6rn5ment7hmYBX6ut1Yt9J7VSusgc2KTyMlhl0beTFDW77rRp8o6OlnBypqko6c8bsagAgaHQZ
fDvrvbVdNSPVm3t6cz9wTRdXeyUp5+KpXEBXBsRdUErsee2vT1SbVf+s5Gl32LnT3DoAIIh0GXzT
09NVW1t76eO6ujqlpqZ2uOfYMePwAKfTqaamJiUlJXn9zNra2g7PBLrkckkbN2pN+JclSWN8PZMV
QW1UWqPOOiJ0tNHifb7bt5tbBwAEkS6Db15enqqqqlRdXS2Hw6GSkhIVFBS0u6egoEArVqyQJK1a
tUpTpky57gpuamqqYmNjtXXrVrndbr311luaOXNmL78VhJxdu6TGRq2JvEv97E4NS2FjG7w36uJP
CPbWWbTdISPDOMlt1y7jD3kAgF7r8uQ2u92uhQsXav78+XK5XHrggQeUk5OjJUuWKDc3VzNnztTc
uXP15JNPqrCwUImJiVq8ePGl1xcUFKi5uVmtra1as2aNXnnlFY0cOVLPPPOMfvSjH+n8+fOaPn26
pk+f7tdvFEFowwYd0lDtP5epCUNO0N+LbhmVZvyEYF9dkmaOOWpyNZ3wjDX78EOposLo+QUA9IpX
Rxbn5+crPz+/3ecWLFhw6e+joqL0/PPPd/ra0tLSTj+fl5enlStXelsn0F5Tk7Rtm9b0/99SA20O
6D5Pn+++i32+YVbcZuAJvjt2EHwBwAc44wp906ZNUlub1sQZY/TGpV97ighwLaPSGtXiiNARq/b5
jh4t2e30+QL/t707D4uyXB84/h2GTWVRkEUNUVHBRMQld01RRCVzCdvMU1bH8lRWdszSMrXUXydL
bbEjapmnNHNPyTQhxX1fcssFF1wAFWTfmd8fj6AoyM47A/fnut7rlZl3hpvxnZl7nrmf5xainEji
K0yPwQDbt5Ojt2BzbBsa1E7CxS5V66iECcqt8z1trHW+Vlbg5QVXrsCNG1pHI4QQJk8SX2F6zpyB
qCiOeg3jRnJN+rS4gqyGJ0rj7jpfo9W6tdofPqxtHEIIUQVI4itMz+321psdnwbAv8UVLaMRJuze
Ol+j5OurJrodOqR1JEIIYfIk8RWmJSlJJQD16rHpui8Avb0k8RWl53m7zjcy1kbrUApmZwceHnDu
nHRxE0KIMpLEV5iWnTshK4ukTr3ZeqY+bdxu4Gov9b2i9FrUUxMjT0bV0TiSB/D1VbXtR45oHYkQ
Qpg0SXyF6cjJgW3bwMKCsDpBZGTpGeB9SeuohIlrcXspvBPXjDjxbdNG7aXcQQghykQSX2E6/v4b
YmKgXTtCzjQHYECrSI2DEqbO1joTtzqJnLtuR3qWkb4k1q0Lbm5w6hSkyjccQghRWkb6Ki9EAbZt
A8DQvQe/HXPDoVYaHRvHaByUqAoerhdHVo4ZZ4x1WTNQo77Z2bKmrxBClIEkvsI0JCSor3nr1+eY
dXsux9nQr2WktCkW5eLherfLHYy9zhek3EEIIcpAEl9hGnbsUDW+PXoQcqwhAAO8pcxBlA8Pp3gs
9NmcNOY63/r1wdkZjh+HjAytoxFCCJMkia8wfjk5sH07WFpCp0789ldDdDoDAS0l8RXlw0JvoLlz
PFfja3ErxVLrcAqm06lR3/R0OHlS62iEEMIkSeIrjN+JE6pd6yOPEJdjz84IFzo1jqauTbrWkYkq
xCSWNWvbVu2l3EEIIUpFEl9h/LZsUfsePfjtWEOyc8wIlNUcRDlrWV8lvn9dMeLE190dateGo0fV
RDchhBAlIomvMG4xMXDsGDRpAo0aseZwIwAG+17QNCxR9dSzS6GuTSrHrzmQYazLmpmZqXKH5GQ4
c0braIQQwuQY6au7ELdt2aI6VvXqRVqmng3H3WjqHM/Dt7+WFqK86HTg0yCWtExztp1x1TqcwuWu
7nDwoLZxCCGECZLEVxivpCS1moOdHbRtS9ip+iSnWzC49QV0Oq2DE1VRqwY3AVj/l7vGkTxA8+Zg
a6sSXyl3EEKIEpHEVxivxYshLQ0efRTMzaXMQVS45s7xWJtnse5oQwzGukS0Xg/t20Niopr4KYQQ
otgk8RXGyWCAr79Wb/Ldu5Odo2PtEXecbVPo1ES6tYmKYa438HD9OM5dt+dUVG2twylcx45qv3ev
tnEIIYSJkcRXGKfQULVWabt2YG/PnvPOxCTWZKDPJenWJiqUz+1yh3VHjbjcoVEj1czi0CE18iuE
EKJYJPEVxumrr9Tezw+A1YcaAVLmICqed/04dDoD64421DqUwul00KEDZGbCmjVaRyOEECZDEl9h
fCIiYN069cbeuDEGA6w42Bhb6wz6tLiidXSiirO1zqSrRxQ7zrkSFV9D63AKl1vu8OOP2sYhhBAm
RBJfYXzmzlU1vmPGAHDgYl0u3LRjoM9FrC1kFruoeMPaRWAw6Fh1qLHWoRTO2RkaN4bNmyEqSuto
hBDCJEjiK4xLUhIsXAguLjBsGADLDzQBVDIiRGV4os15dDoDv9w+94xWx46QkwM//6x1JEIIYRIk
8RXGZeFCuHUL/vUvsLTEYIDlB5tgY5VBwMOXtY5OVBMN6qTQzSOK8DP1uGbM5Q7t26uVT6TcQQgh
ikUSX2E8MjPhiy+gZk147TUADl6qy/kbdgz0uUQNSylzEJXnyfaq3GHlQSMe9bW1hX794MABOHVK
62iEEMLoSeIrjMcvv8ClS/DSS+DoCEiZg9DOE20jVLnDfiNOfAGGD1f7n37SNg4hhDABkvgK42Aw
wH/+A2Zm8PbbeRctP6DKHPq1jNQ4QFHd1LNPpXvTa2w/58qVuJpah1O4QYPAxkaVOxhtuzkhhDAO
kvgK47BpExw9Ck8+qWaqA/v3Q4SUOQgNPXW73OHn/R5ah1K4mjVh6FC4cAF27NA6GiGEMGqS+Arj
8J//qP24cXkXLV2q9s88claDgISAp9qfw9I8m+92eBr3YOrzz6v9vHnaxiGEEEZOEl+hvQMHICwM
+vSBtm0ByM5WKzTVqZlGQEtZzUFow9EmnUGtL3DimgP7LjhpHU7hevUCT09VJ3/9utbRCCGE0ZLE
V2jvs8/U/t138y4KD4dr1yCo7XkszXM0CkwIeLHL3wB8t9NT40geQKdTSwBmZMB332kdjRBCGC1J
fIW2IiJg+XLw9VUjvrctWaL2z3aQMgehLf+Hr9CgdhJL9zYlJUOvdTiFe/55Ve/77bfqKxMhhBD3
kcRXaOvzz1XnqXHj1KgVkJ4OK1dCgwbQvZm0YhXa0psZeKHzaRLSLFl10IhbGNvbw3PPwcWLsGGD
1tEIIYRRksRXaOfyZViwQK3icLs9McDGjRAXB089pZIOIbT2QpfTACzY4aVxJEUYPVrt587VNg4h
hDBSkvgK7UyfrmoSP/wQLCzyLs7tvvrssxrFJcQ9mjon0NvrMltP1+dIpIPW4RTO1xe6dIHff4dz
57SORgghjI651gGI6ic4GGrFXuLp4AUkOXnwS9oIDMHquuRkWL0a6tdX6/ge2GbkI2yi2nir9zFC
Tz3EnLBWfPf8Vq3DKdy//gU7d6qlzXKXCRRCCAHIiK/QSJsN09FnZ3Iw8EMM+jufvw4cgKws6NQp
r+RXCKMwwPsSTZ3j+WlvU2ISrLUOp3BBQeDkBAsXQmqq1tEIIYRRkcRXVDqbmxfx3PEdt5ybcbbD
8HzX7d6tEt4OHTQKTohCmJnBm37HyMjSM29bC63DKZyVFbz8MsTGqnV9hRBC5JHEV1S6Nr9Nuz3a
OynfaG9MjCpL9PKCOnU0DFCIQrzQ+W/sa6TzzZaWpGca8cvnK6+oT5DffINxt5wTQojKZcSv3KJK
On8ez53fc8vFk3Mdnsl31e7dat+pkwZxCVEMNtZZvNztFNEJNVm0y4gbWri7w+OPw759sNWI65GF
EKKSSeIrKtcnn2CWk8WBxyZhMLvTDCAnRyW+VlbQpo2G8QlRhHf8j2JtkcW039oY96jvhAlqP3Wq
tnEIIYQRMeJXbVHlnDsHP/xAXL0WRLR/Kt9Vf/8NN29Cu3Yq+RXCWNWzT2V0jxNExtkYdxvjDh2g
Xz/480/Ytk3raIQQwigUK/ENDw8nICAAf39/goOD77s+IyODt956C39/f4YNG8bly5fzrps3bx7+
/v4EBASw7a4XXz8/PwYOHMigQYMYOnRoOfwpwuhNmADZ2Rx4bHK+0V6AHTvUvmtXDeISooTG9ztC
DYsspm8w8lHfSZPUXkZ9hRACKEbim52dzdSpU1mwYAEhISGsX7+es2fP5jtm+fLl2NnZ8ccff/DC
Cy8wc+ZMAM6ePUtISAghISEsWLCAKVOmkH1XD/kffviBtWvXsmrVqnL+s4TR2blTzTDv2JGIdsPy
XZWcDIcOgYsLeHhoFJ8QJeBil8q/eh7ncpwN87cb8QoPnTuDvz9s3qyeg0IIUc0VmfgePXoUd3d3
3NzcsLS0JDAwkNDQ0HzHhIWFMWTIEAACAgLYtWsXBoOB0NBQAgMDsbS0xM3NDXd3d44ePVoxf4kw
XgYDjB2r/v3FF/ct0Lt3r1q7t2tXWbtXmI53+x7BxiqDKevbcivFUutwCiejvkIIkafIxDc6OhpX
V9e8n11cXIiOjr7vmHr16gFgbm6Ora0tcXFxRd72pZdeYujQoSxbtqzMf4gwYsuWwZ49MGyYaqd6
jx071BqpspqDMCXOdmlMHHCIG0k1mLK+ndbhFK5bN+jVCzZuVM9DIYSoxopMfA0FrAGpu2dYrrBj
HnTbpUuXsnr1aubPn89PP/3Evn37ih20MCGpqTB+PFhawv/9331XX7oEkZHQqhXY22sQnxBl8Hbv
v/BwiufrP1ty8lptrcMpXO6o78cfaxuHEEJorMjE19XVlaioqLyfo6OjcXZ2vu+Ya9euAZCVlUVi
YiK1a9d+4G1dXFwAcHR0xN/fX0ogqqo5c1R2O2YMNGly39Xh4WrfrVslxyVEObCyyOGLYbvJyjHj
rV86G2+viJ49oUcPCAlRfcGFEKKaKjLxbdWqFRcuXCAyMpKMjAxCQkLw8/PLd4yfnx+rV68GYOPG
jXTq1AmdToefnx8hISFkZGQQGRnJhQsX8PHxISUlhaSkJABSUlLYsWMHzZo1q4A/T2gqJgamTwdH
R5g48b6rU1NVfa+DA3h7axCfEOVgoM9F+j4cyaYTbizdZ8SzM3NHfSdMkG5uQohqy7zIA8zNmTRp
Ei+//DLZ2dk88cQTNGvWjDlz5uDt7U3v3r0JCgpi3Lhx+Pv7Y29vz6xZswBo1qwZ/fv3Z8CAAej1
eiZNmoRer+fmzZu89tprgFo14rHHHqNHjx4V+5eKyvfRR5CYCF9/DbXv/xp4zx5IT1dLjZoZ8YpQ
QjyITgffPrsdn4+DeOPnrvh5XsXVPlXrsO7n56dWeNi0CVavBllGUghRDekMBRXiGqHLly/Tu3dv
QkNDeeihh7QORxTl4EF45BFo1gz++gssLPKuCg5WA04ffwzXrqnS30Lre3NrIYSoRKN6nCrxbb75
82Fe/7kbg1pfYPXoTZW3QsmoUcU/9vRp9fWKqyucPAm1alVcXEIIoZEH5YwyzibKX1aWejPOyVGj
vXclvbkiIuDKFdWeWCa1iapg9KMn6Nn8KmuPNOJ/u420dKt5cxg3Ts0olYluQohqSBJfUf6++kpN
oBkxAvr0KfCQrVvVXipcRFVhZgYL/7EVW+sM/rW0m/Gu8jBxIri7w+efq1FfIYSoRoqs8RUinwJa
Vudz8yZMmaK+Qm3dusDj4ze2Yv++jrjapeEZvR9iKihWISpZE6dEFv5jK08G+zMsuA973ltDLass
rcPKr2ZNtdrK4MHw+uuqq5t0jhFCVBMy4ivKj8EAS5eqGWvDhoGtbYGHhZ+pT3aOGX6eV+T9VlQ5
w9qd541exzh+1YHRS7oZ5wIKjz8OgYEQFqYazAghRDUhI76i/Bw8qCayeXkV2oYtPdOMrWfqUdMy
k05Nogs8RgitBYd7len2ni5xNHJM4H+7m5Ocbk7Aw5fLKbL8SjMJD1AjvF9+qUZ7x46FAQPAzq58
gxNCCCMkI76ifKSkwM8/q4lsw4cX+tXpsv0eJKZZ0tUjCivznEoOUojKYaE3MLrHCWrXSGf1ocYc
inTUOqT7NWmi1vS9dg1Gj5a1fYUQ1YIkvqJ8rFwJCQlq5Oiezn65DAaYE+aNTmegV/OrlRygEJWr
ds0MXut5DAt9Dgt3eHH+RsGlP5p67z3o3BmWLIF587SORgghKpwkvqLsDh+G7dvhoYegb99CD9t2
xpWDl5zwfegGjjbplRigENpo6JDMy91OkpVjxld/enP1Vk2tQ8rP0lLV+Do6wptvwv79WkckhBAV
ShJfUTa3bsHixarE4aWXwLzwsvFPN/oC4N/iSmVFJ4TmWj8Uy4iOp0nOsGB2WCuuJ1prHVJ+bm7w
00+QmQlBQRAbq3VEQghRYSTxFaWXkwPffw/JyeoNs379Qg/960odfjvWkG5Nr+HhlFCJQQqhva4e
0Qxre474VCtmhfoYX/IbEACTJsHFi/D88+q5LYQQVZAkvqL0QkPh1Clo1QoeffSBh/7n9mjv+IAj
lRGZEEanT4srDGp9npvJ1nz2R2uuxhtZ2cOHH4K/P6xfD59+qnU0QghRISTxFaVz6RKsXq2WQPrH
Px64AP7FmzYs3edBy/qxDPC+VIlBCmFcBnhH5o38fv6HD5GxtbQO6Q69XpU8NGigurv98IPWEQkh
RLmTxFeUXEYGLFwI2dnqa9Ei1v/8/A8fsnPMeLfvEczkjBPVXJ8WVxje4TTJ6RZ8EepDhDGt9uDk
pEZ8a9eGkSMl+RVCVDmShoiSMRjgf/+DqCjw8wNv7wcefiWuJsHbvGjkmMAzHc5WUpBCGLcezaJ4
ocvfpGWaMzvUh7+j7LUO6Q5fX1XGJMmvEKIKksRXlMzmzbB3LzRuDEOHFnn4jN/bkJ5lzoeBh7DQ
ywL5QuTq1DiGUd1PkJWjY86frdgdUfD615po0yZ/8rt4sdYRCSFEuZDEVxTfxo2qUYW9Pbz6qlrC
7AEiY2sxf7sXTeomMKLT6UoKUgjT0cbtJm/2+gsr82y+3+XFuqPuxtNA7e7k94UXIDhY64iEEKLM
JPEVxXP2LDz9tJoAM3q0ejMswozffcnI0vNh4EEZ7RWiEJ6u8bzb9zB1bVJZ/5c7i3Z5kpld+GTR
SpWb/NapA6+8ohLg5GStoxJCiFIrvNuAELkSE2HQINWs4vnnVZlDESKu27JguxdNneN5ruOZSghS
CNNVzz6V8QGHmbulJbvPuxCbbMWrPU5QyypL69BU8rt/Pzz1lKr33bsXnnzyget2l7tRoyrvdwkh
qjQZ8RUPlp0NI0bAiRMwZgx06VKsm01Y04HMbD0fP74fcxntFaJIdtaZjO1zlLZu1zkdU5sZv7cx
nhbHjRurtuRvvgknT8KMGbBrl9ZRCSFEiUniKwpnMMBrr8HatWoFh5kzi3Wz3RHOLNvvQYdGMTzV
/lwFBylE1WFpnsM/u5+kf8tLXE+qwf9t9OVwpKPWYSmWljB7NqxapUqeFi2CL7+Eq1e1jkwIIYpN
El9RuA8/hHnzoHVrNamtiMlsoHLlf6/oBMDMoN0P6mshhCiAmQ4G+15gVLcTGAw6vg1vybqj7uQY
yxcnQ4aoBhctWsDx4zB1qmp8kSCtyIUQxk8SX1GwWbNg2jRo2lSt5lCMyWwAqw41Zsc5Vwb7nqd7
s6gKDlKIqqud+w3GB9yZ9Pbf8IdJzdRrHZbi5KTKHl57DZydITxcfVDesAFSUrSOTgghCiWJr7jf
4sUwdqyavLJpE7i4FOtmSWnmvPVLZyz02Xw6dG8FBylE1fdQnWTe73cIL9c4jlyuy6e/+xKdYK11
WIpOBz4+8NFHauKbXg9r1sB778HPP8P161pHKIQQ95HEV+S3di28+KJavmjjxmKt4JBr8vp2XI6z
YXzAEZq7xFdgkEJUHzZWWYzp9Re9vS5zLaEWM35vy7ErdbQO6w69Xs0B+OQT1dSmZk348081Ajx3
rpoMl5OjdZRCCAHIcmbibsuWwXPPgZUV/PZbke2I73b0sgOzQ1vRpG4CE/ofqsAghah+9GbwZLsI
3Ook8eOe5ny9xZvAVhd5udsp4xm9qFkTAgKgTx84eFB1eTxyRG0ODtC5s1oVpm5drSMVQlRjkvgK
Zf58tUC9rS2EhECnTsW+aXaOjld+7E52jhnfPLOdGpbZFRioENVX5yYx1LdPYd62h1n/VyMe+6Yf
Pz6p8kqjodfDI49A+/YQEQE7dqh1gENC1ObpqRLgtm3VShFCCFGJJPEV8Pnn8O9/q5GYjRvVG1IJ
/Gdja3afd+Gp9ufo5325goIUQgC4OyYxof9BvtvhxYZjDWnXTi26UsKnbcXT6cDDQ21PPqlGgXfu
hL//VtvSpSpB7toVGjVCloARQlQGSXyrM4NBTUz5+GNo0AD++EMtUVQChy45MunX9tSzT2bus9sr
KFAhxN1srLJ4vecxohJrMTWkHV26wDffwEsvaR1ZIayt1Shvly4QE6MS4F27YNs2tdWrp67r1Ans
7LSOVghRhRlNeZioZOnp6l3y44/ViMz27SVOelMz9Dz3XS+ycsz4/vmtONRKr6BghRD3MjODyQMP
sH69Kq99+WW1paVpHVkRnJ1h8GDV/W3MGGjXTq0AsXIljB+vJsQdPqy6RgohRDmTEd/q6OpVNft6
zx71prNunRpxKQGDAV7/uSsnrjnwes9jBLSUEgchtDBgABw4AEFBsHAhHDoEv/yiPs8aNTMzaNlS
bUlJsG+fqgfOnRBna6tGgIvZJl0IIYpDRnyrm9271aSTPXvUCg65XzOW0LzwFny3w4u2Da/znyf2
VECgQojiatxY5YwvvaRKadu0UYu0mAwbG+jVCz74QG1+fmoJtD/+gClToGNH1UUyMVHrSIUQJk5G
fKsLgwG+/x5Gj4asLDWh7e23SzWhZOc5F8Ys60Jdm1RWvfqHrOIghJaCgwGwBhZ0gJ45TXl1SXee
ftqC0K9PMvupndQ0peeom5tqiDF0KBw9quqB9++HvXvh3XdVdv/669CkidaRCiFMkIz4Vgc3bqhZ
1S+9BLVqwe+/q85spUh6/46yZ9DcvuQYdPwyajPujkkVELAQorSe63SWgxNX4et2g/nbW9BhxhCO
XzWihhfFZWGhSrHeeAMuXYKpU1Ux86xZqpX64MGqUYbBoHWkQggTIolvVbd+vWpEsWKFWjZo/37w
9y/VXUVGQt85A7iRVIO5z2ynl+e1cg5WCFEemrvEs2v8Wl7veYzjVx1oP30Isza3IjvHRJcMa9BA
dYK7eBF+/FGVa61dq0oiWrdWxc2pqVpHKYQwAZL4VlUJCWqEd+BAiIuDTz+FrVtL/fVgdLRqynQp
1pbpg/cyqsepcg5YCFGerC2y+eqZnawZvRFb60zGLu9Mz88f42yMCS8XZmkJw4erOQo7d6qSiBMn
1HIWbm4wcSJcuaJ1lEIIIyaJb1WTna1qeb284LvvwNdXjfK++67qqFQKERFqsPjkSXjH/wjv9Ttc
zkELISrKIN+LHP9oOUFtI9h+th4+U4P4KqwlOTlaR1YGOp1qgfzzz3DhArz/vrp8+nTVDOOZZ9RE
XiGEuIckvlXJli3qK8AXX4Rbt2DyZDUy0qpVqe/yyBGV9J47p75p/OyJPdJgSQgT42SbxvJXNrPs
n5upaZnFmGVd6fn5QI5dMcHa33s99JBKeCMjVet1Ly+VEHfurFaD+OkntW65EEIgiW/VcOQIDBmi
lgM6fBhGjIDTp1VXNkvLUt/t4sXqvSMqCubMUXNLJOkVwnQ92T6C45OXM7TNebadrYfvJ0/wzvJO
3Eop/euE0ahRQ5U8HD0KoaHw+ONqbeDnnlPJ8bhx6nVRCFGtSeJrqgwG2LgR+vZV5Qxr1kC3buqF
fvFi9UJfSgkJ8M9/wvPPq7x5zRrVYEkIYfpc7FJZ+eofrH99A+4OSXyx2QePD55m9mZv0jOrwFuC
Tqcmva1dC2fOqBVsDAaYORM8PaFnTzVBLklWpBGiOpJ1fE1NYiIsXw6zZ8Nff6nLevWCf/8b+vcv
85DsmjVqicwrV1Q+vWKFCXSAEkKUWGCrSHp7LWd2qDczNrTh7eVd+GKzD+8GHOGlrqeqxvrcHh5q
zfLp09WLW3AwhIWpib41a6rJv888A/36gZWV1tGKinJ7retKM2pU5f4+USJV4ON9NZCerkYvnnpK
9bl/6SU1k/nZZ1Wv0rAw1be0DEnvrl1qlbMhQ+D6dVUlsXu3JL1CVGXWFtm81+8IEdOWMrbPUW4k
WfPGz11pPPEZPvq1HVdv1dQ6xPJhZaVeP0NDVbnDpElqibRly9R6wK6u8I9/qNrg2FitoxVCVCAZ
8TVWly+rF+nNzgZFKwAAEzRJREFUm9VavLduqcs9PVXC+8IL0LBhmX5FVpa667lzVWdQUMnvl1+q
+SFCiOrB0Sadz4ft5r1+h/licyu+3fowU0PaMX1DGwa0usTwDmcZ6HOxaowCN2um2iBPnqz6Oy9d
qhLg//1PbWZmanJD//6qLKJdO7C21jpqoYXsbFX7l5gIKSlqS01V+7Q0yMiAzMw7W+5SKWFhaq/T
qXpBa2u1WVmpJlIODvdvjo5gb1/q1ZdE8UniawwyM9VaYYcOqbacoaHw9993rq9fX43yPvsstGlT
ppHdrCzYvh1Wr1ZlDFevqst79VLvBd27l/FvEUKYLCfbNGYM2ccHAw6xZG9T5m59mF+PNOLXI42o
ZZWJf4vLBLa6RB+vK7g7Jpn2ZFedTiW17drBZ5+picG//aa2Xbtgxw51nKWlOqZLF+jUSa2S4+EB
5vL2aZJyclR9d0LCnS0+XiW38fH5Ly9tHfi+faW7nU4HtWurRNjFRX0Tkbsv6N/ygaxUivXMDQ8P
Z9q0aeTk5DBs2DBG3VO/kpGRwbvvvsvx48epXbs2s2bN4qHbk6vmzZvHihUrMDMz44MPPqD77cyq
qPuscgwGVUMQEZF/O3IEjh1Tnxxz2dhAYCD07q02b281ClGKXxkZqSY5Hz6sEt4dO+48l+3tVT3v
K6+oXyGEEAC1rLL4Z/dT/LP7KY5dqcNPe5uy6lBj1hxWG8BDdZLo1DgG7/qxtKwfR8v6cTR1jsdC
b4IthHU6NajQpo1qghEbq75t27FDNcrYu1clw7msrKBFC/XC2bw5uLur9YPd3VUJhSTFlScnRyWs
N2+q7caNO/+OiVHLEu3bdyeZTUykyEWsa9YEOzs16GRnB7a2aqS2Zk211aihkk4LC/XBKHef+z49
YoQ6p3Jy1Ht7WpoqWUxLU78/Lk6dY3dvd19244ZaijS7iG9Y7O0LT4pz/+3kBHXqqPhN+pNq+Sny
2Zmdnc3UqVP5/vvvcXFxISgoCD8/P5o2bZp3zPLly7Gzs+OPP/4gJCSEmTNnMnv2bM6ePUtISAgh
ISFER0czcuRINm7cCFDkfRqNa9dUppierk7ggvbp6Xc+QeZ+Yrx1Sz3pYmJU27OYGDWyey8rK/Dx
US+4vr7Qtq0aXbCwuO/QxEQ4fvzOr8x9Lt26pZ4nudv166q1fUTE/V08PT3VhOfBg9W3eGVY7UwI
UQ14N4hjxpB9zBiyjzPRdmw47sbW0/XZdtaVFQebsOLgnW6QFvpsGjokUc8+BVe7VFztUnC1T8W+
Rga1LDOxsc6klmUWtayysNRnY6430NQpnjq1Mh4QgQYcHODJJ9UGkJyskqd9+9SL8LFjap7F4QKa
+ZiZQd26aj6Gk5PaHB3VgEatWmq7+993bxYW6qvuezdz84Ivz72ushMag0EldQ/aCjomM1O9bxa2
ZWaqN62kpDtbcnL+n5OS1JthbnIbG1t0IgvqvdbODho3Vgmjra3a29nd2XIvL+D9t0Tq1Svb7UH9
TbGxKnHP3aKjC/759Gn1eD+IXq9Gkwva7O1VMl/UZmGhzrfc87GgvZnZnfNRp1Nb3bpGlXQXmfge
PXoUd3d33NzcAAgMDCQ0NDRfkhoWFsbrr78OQEBAAFOnTsVgMBAaGkpgYCCWlpa4ubnh7u7O0aNH
AYq8z3tl3/7kExUVVco/tRR+/RXefLNs92Ftrf7TW7dWL4Tu7qo2181NbQ0b3j86EB1d4F2VpBmR
ra0aiGjUSNXrenmpvLpu3TvHxMSU4u+Jjy/Fje65i/QbZb4PIQRcLofnY0nUsI5naLtIhrZT77NR
8TU5HWPPmRg7TkfX5nS0PVfja7H3ohU5BkvAEqj9wPtsXDeBsLEhD/7Fly+X299Qak2bqi1XTo76
Su3iRbUMzpUrKs4rV1RCdvUqnJLW7hUiN4lzdFT/J7nlAXXqqH/n7p2c1JteWFjxV+1ISSl7fOV5
vuYmpw+aeJOVpZLk69fzb7mj34mJ+Us4Tp++f1SsIg0fDp98Unm/jzu5YnYBo+ZFJr7R0dG4urrm
/ezi4pKXvN59TL3bn3DMzc2xtbUlLi6O6OhoWrdune+20beTuqLu817Xr18HYPjw4UWFXL6aNCn6
mOLIPeHOnq20cFJTVenwyZNl+pVCCCO14MEvm5XPEmyd1FYSvRcUccCCog4wMrmjXHePNIjyZzDc
KQ+IiNA6mjuM+XzN/XahMu3apco2NXD9+nXc3d3zXVZk4msoYPhcd8+QdWHHFHZ5TgFfS9x7n/fy
9vbmp59+wsnJCb3MehRCCCGEEAXIzs7m+vXreBcwganIxNfV1TVfeUF0dDTOzs73HXPt2jVcXV3J
ysoiMTGR2rVrP/C2Rd3nvaytrWnfvn1R4QohhBBCiGru3pHeXEUuFdCqVSsuXLhAZGQkGRkZhISE
4Ofnl+8YPz8/Vq9eDcDGjRvp1KkTOp0OPz8/QkJCyMjIIDIykgsXLuDj41Os+xRCCCGEEKI8FTni
a25uzqRJk3j55ZfJzs7miSeeoFmzZsyZMwdvb2969+5NUFAQ48aNw9/fH3t7e2bNmgVAs2bN6N+/
PwMGDECv1zNp0qS8MoWC7lMIIYQQQoiKojMUVIgrhBBCCCFEFVPyrghCCCGEEEKYIEl8hRBCCCFE
tSCJbzkJDw8nICAAf39/goODtQ7H5Fy7do0RI0bQv39/AgMD+eGHHwC4desWI0eOpG/fvowcOZL4
Sl6wvyrIzs5m8ODBvPLKKwBERkYybNgw+vbty1tvvUVGhpF1zTJyCQkJjBkzhn79+tG/f38OHTok
52kZLVq0iMDAQB577DHGjh1Lenq6nKcl9P7779O5c2cee+yxvMsKOy8NBgOffPIJ/v7+DBw4kOPH
j2sVtlEr6DH99NNP6devHwMHDuS1114jISEh77p58+bh7+9PQEAA27Zt0yJko1fQY5pr4cKFeHp6
EhsbC1TceSqJbznIbeu8YMECQkJCWL9+PWfL2KiiutHr9bz33nts2LCBZcuWsWTJEs6ePUtwcDCd
O3dm06ZNdO7cWT5UlMLixYvx8PDI+3nmzJm88MILbNq0CTs7O1asWKFhdKZn2rRpdO/end9//521
a9fi4eEh52kZREdHs3jxYlauXMn69evJzs4mJCREztMSGjp0KAvuaZxQ2HkZHh7OhQsX2LRpEx9/
/DGTJ0/WIGLjV9Bj2rVrV9avX8+6deto1KgR8+bNA+Ds2bOEhIQQEhLCggULmDJlSoFdw6q7gh5T
UINfO3fupH79+nmXVdR5KolvObi7rbOlpWVeC2ZRfM7OzrRs2RIAGxsbmjRpQnR0NKGhoQwePBiA
wYMHs3nzZi3DNDlRUVFs2bKFoKAgQH2C3r17NwEBAQAMGTJEztUSSEpKYt++fXmPp6WlJXZ2dnKe
llF2djZpaWlkZWWRlpaGk5OTnKcl9Mgjj2Bvb5/vssLOy9zLdTodvr6+JCQkEFOqHvZVW0GPabdu
3TA3Vwti+fr65vUkCA0NJTAwEEtLS9zc3HB3dy+yI211VNBjCjBjxgzGjRuXr5lZRZ2nkviWg4La
Oue2ZhYld/nyZU6ePEnr1q25efNmXnMTZ2fnvK9ARPFMnz6dcePGYWamnupxcXHY2dnlvXC7urrK
uVoCkZGRODg48P777zN48GAmTpxISkqKnKdl4OLiwosvvkivXr3o1q0bNjY2tGzZUs7TclDYeXnv
e5Y8vqWzcuVKevToAUgeUBahoaE4Ozvj5eWV7/KKOk8l8S0HxWnrLIonOTmZMWPGMGHCBGxsbLQO
x6T9+eefODg4FNiy8W5yrhZfVlYWJ06c4JlnnmHNmjXUqFFDyhrKKD4+ntDQUEJDQ9m2bRupqamE
h4ffd5ycp+VH3rPK7ttvv0Wv1/P4448D8piWVmpqKv/97395880377uuoh7TIhtYiKIVp62zKFpm
ZiZjxoxh4MCB9O3bFwBHR0diYmJwdnYmJiYGBwcHjaM0HQcPHiQsLIzw8HDS09NJSkpi2rRpJCQk
kJWVhbm5OVFRUXKuloCrqyuurq60bt0agH79+hEcHCznaRns3LmThx56KO8x69u3L4cOHZLztBwU
dl7e+54lj2/JrF69mi1btrBo0aK8REzygNK5dOkSly9fZtCgQYA6F4cOHcry5csr7DyVEd9yIC2Y
y85gMDBx4kSaNGnCyJEj8y738/NjzZo1AKxZs4bevXtrFaLJeeeddwgPDycsLIwvvviCTp068fnn
n9OxY0c2btwIqBdwOVeLz8nJCVdXVyIiIgDYtWsXHh4ecp6WQf369Tly5AipqakYDAZ27dpF06ZN
5TwtB4Wdl7mXGwwGDh8+jK2trSRpxRQeHs78+fP59ttvqVGjRt7lfn5+hISEkJGRQWRkJBcuXMDH
x0fDSE2Dp6cnu3btIiwsjLCwMFxdXVm1ahVOTk4Vdp5K57ZysnXrVqZPn57Xgnn06NFah2RS9u/f
z/Dhw2nevHlePerYsWPx8fHhrbfe4tq1a9SrV485c+ZQu3ZtjaM1PXv27OG7775j3rx5REZG8vbb
bxMfH0+LFi2YOXMmlpaWWodoMk6ePMnEiRPJzMzEzc2NGTNmkJOTI+dpGXz55Zf89ttvmJub06JF
C6ZNm0Z0dLScpyUwduxY9u7dS1xcHI6Ojrzxxhv06dOnwPPSYDAwdepUtm3bRo0aNZg+fTqtWrXS
+k8wOgU9psHBwWRkZOQ9v1u3bs3UqVMBVf6wcuVK9Ho9EyZM4NFHH9UyfKNU0GM6bNiwvOv9/PxY
sWIFDg4OFXaeSuIrhBBCCCGqBSl1EEIIIYQQ1YIkvkIIIYQQolqQxFcIIYQQQlQLkvgKIYQQQohq
QRJfIYQQQghRLUjiK4QQQgghqgVJfIUQopQ2bNjA4MGDGTRoEP369eOdd96plN87YsQI/vzzzxLf
btWqVYwZM6YCIhJCCNMgLYuFEKIUYmJimDJlCqtXr6ZevXoYDAZOnTpVLved26pXCCFE+ZJXViGE
KIUbN25gbm6e18FJp9PRokULQLWLPn/+PJmZmTRs2JDp06djb28PwIoVK1i8eDEAFhYWzJs3j7S0
NJ544gmee+45du7cyeOPP06jRo2YPXs26enpZGdn8+qrrxIYGFis2G7evMk777zDzZs3AejcuTMT
Jky477jg4GB+/fVXQLVe/+CDD6hVqxZfffUVZ8+eJSUlhatXr9KkSROmT5+Ora0tGRkZzJo1i337
9pGZmUnz5s2ZPHkytWrVKtsDKoQQlUASXyGEKAUvLy98fHzo2bMnHTt2pG3btgwaNIg6deowceJE
HBwcAJg1axbz58/n3//+N3v27GHevHksWbIEJycnkpOTMTc3Jy0tjVu3buHh4cEbb7wBQHx8PEuW
LEGv13Pjxg2GDh1Kt27d8hLoB1m3bh3169dn0aJFefd1r61bt/Lrr7/y888/U6tWLcaPH8/cuXMZ
N24cAAcOHGDNmjXUrVuX999/n7lz5zJ+/HgWLFiAra0tK1asAOCzzz4jODiYt99+uzweViGEqFCS
+AohRCmYmZkxd+5cTp8+zb59+9i8eTMLFy5k3bp1rF27lnXr1pGZmUlKSgqNGjUCYMuWLQwaNAgn
JyeAfKOkVlZW9O/fP+/n2NhYJkyYwMWLF9Hr9cTHx3P+/Hl8fX2LjK1169Z8//33fPrpp3To0IFu
3brdd8yuXbsYMGAANjY2ADz55JNMnz497/qePXtSt25dAIKCgvjkk08ACAsLIykpiY0bNwKQkZGB
l5dXSR46IYTQjCS+QghRBs2bN6d58+YMHz6cAQMG8OOPP+aNpDo4OLBu3Tp++eWXIu+nRo0a6HS6
vJ8nT56Mn58fX3/9NTqdjoCAANLT04sVU5s2bVizZg07d+5k7dq1BAcHs3Tp0nzHGAyGfL/vQe4+
1mAw8NFHH9G5c+di3VYIIYyJrOoghBClEB0dzaFDh/J+joqKIjY2Fp1Oh42NDbVr1yYjI4OVK1fm
HdOrVy/Wrl3LjRs3AEhOTiYjI6PA+09MTKRBgwbodDp27NjBxYsXix1bZGQkNjY2BAYG8v7773P8
+HFycnLyHdOlSxd+++03kpKSMBgMrFixgi5duuRdv2XLFmJjYwFYvXo1HTt2BMDPz49FixaRlpYG
QFJSEufOnSt2bEIIoSUZ8RVCiFLIysriq6++4sqVK1hbW5OTk8Nbb71FUFAQZ86coX///ri4uODt
7c1ff/0FQIcOHRg1ahQjR45Ep9NhaWnJf//73wLv/5133mHKlCnMnz8fT09PPD09ix3b3r17+f77
79Hr9eTk5DBlyhTMzPKPczz66KP8/fffPP300wB4e3szevTovOtzJ8RFRkbSuHFj3nvvPQBGjRrF
119/TVBQEDqdDp1Ox+uvv46Hh0eJHj8hhNCCzmAwGLQOQgghhPH46quvSElJYfz48VqHIoQQ5UpK
HYQQQgghRLUgI75CCGGiJk2axJEjR/JdptfrWbVqlUYRCSGEcZPEVwghhBBCVAtS6iCEEEIIIaoF
SXyFEEIIIUS1IImvEEIIIYSoFiTxFUIIIYQQ1cL/A+RtksyCnjeaAAAAAElFTkSuQmCC
&quot;
&gt;
&lt;/div&gt;

&lt;/div&gt;

&lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;
&lt;div class=&quot;cell border-box-sizing code_cell rendered&quot;&gt;
&lt;div class=&quot;input&quot;&gt;
&lt;div class=&quot;prompt input_prompt&quot;&gt;In&amp;nbsp;[12]:&lt;/div&gt;
&lt;div class=&quot;inner_cell&quot;&gt;
    &lt;div class=&quot;input_area&quot;&gt;
&lt;div class=&quot; highlight hl-ipython3&quot;&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;compare_df&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;Sacral_slope&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;div class=&quot;output_wrapper&quot;&gt;
&lt;div class=&quot;output&quot;&gt;


&lt;div class=&quot;output_area&quot;&gt;

&lt;div class=&quot;prompt output_prompt&quot;&gt;Out[12]:&lt;/div&gt;



&lt;div class=&quot;output_html rendered_html output_subarea output_execute_result&quot;&gt;
&lt;div&gt;
&lt;style scoped&gt;
    .dataframe tbody tr th:only-of-type {
        vertical-align: middle;
    }

    .dataframe tbody tr th {
        vertical-align: top;
    }

    .dataframe thead th {
        text-align: right;
    }
&lt;/style&gt;
&lt;table border=&quot;1&quot; class=&quot;dataframe&quot;&gt;
  &lt;thead&gt;
    &lt;tr style=&quot;text-align: right;&quot;&gt;
      &lt;th&gt;&lt;/th&gt;
      &lt;th&gt;Normal&lt;/th&gt;
      &lt;th&gt;Abnormal&lt;/th&gt;
    &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
    &lt;tr&gt;
      &lt;th&gt;count&lt;/th&gt;
      &lt;td&gt;100.000000&lt;/td&gt;
      &lt;td&gt;209.000000&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;th&gt;mean&lt;/th&gt;
      &lt;td&gt;38.863830&lt;/td&gt;
      &lt;td&gt;44.922628&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;th&gt;std&lt;/th&gt;
      &lt;td&gt;9.624004&lt;/td&gt;
      &lt;td&gt;14.547159&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;th&gt;min&lt;/th&gt;
      &lt;td&gt;17.386972&lt;/td&gt;
      &lt;td&gt;13.366931&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;th&gt;25%&lt;/th&gt;
      &lt;td&gt;32.340487&lt;/td&gt;
      &lt;td&gt;34.380345&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;th&gt;50%&lt;/th&gt;
      &lt;td&gt;37.059694&lt;/td&gt;
      &lt;td&gt;44.644130&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;th&gt;75%&lt;/th&gt;
      &lt;td&gt;44.608788&lt;/td&gt;
      &lt;td&gt;55.154267&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;th&gt;max&lt;/th&gt;
      &lt;td&gt;67.195460&lt;/td&gt;
      &lt;td&gt;121.429566&lt;/td&gt;
    &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;

&lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;
&lt;div class=&quot;cell border-box-sizing text_cell rendered&quot;&gt;&lt;div class=&quot;prompt input_prompt&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;inner_cell&quot;&gt;
&lt;div class=&quot;text_cell_render border-box-sizing rendered_html&quot;&gt;
&lt;p&gt;Not much stands out from the observation of the sacral slope alone. The Abnormal class usually has a slightly higher sacral slope than the normal class but it stays within one standard deviation of the Normal class.&lt;br&gt;
One thing we can notice is that then again, the Abnormal class is more widely spread than the Normal class and that we have among the Abnormal class one ( or several ) outliers around 120.&lt;/p&gt;
&lt;h3 id=&quot;Pelvic-incidence-distribution&quot;&gt;Pelvic incidence distribution&lt;a class=&quot;anchor-link&quot; href=&quot;#Pelvic-incidence-distribution&quot;&gt;&amp;#182;&lt;/a&gt;&lt;/h3&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;cell border-box-sizing code_cell rendered&quot;&gt;
&lt;div class=&quot;input&quot;&gt;
&lt;div class=&quot;prompt input_prompt&quot;&gt;In&amp;nbsp;[13]:&lt;/div&gt;
&lt;div class=&quot;inner_cell&quot;&gt;
    &lt;div class=&quot;input_area&quot;&gt;
&lt;div class=&quot; highlight hl-ipython3&quot;&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;hist_graph&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;Pelvic_incidence&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;div class=&quot;output_wrapper&quot;&gt;
&lt;div class=&quot;output&quot;&gt;


&lt;div class=&quot;output_area&quot;&gt;

&lt;div class=&quot;prompt&quot;&gt;&lt;/div&gt;




&lt;div class=&quot;output_png output_subarea &quot;&gt;
&lt;img src=&quot;data:image/png;base64,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
&quot;
&gt;
&lt;/div&gt;

&lt;/div&gt;

&lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;
&lt;div class=&quot;cell border-box-sizing code_cell rendered&quot;&gt;
&lt;div class=&quot;input&quot;&gt;
&lt;div class=&quot;prompt input_prompt&quot;&gt;In&amp;nbsp;[14]:&lt;/div&gt;
&lt;div class=&quot;inner_cell&quot;&gt;
    &lt;div class=&quot;input_area&quot;&gt;
&lt;div class=&quot; highlight hl-ipython3&quot;&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;compare_df&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;Pelvic_incidence&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;div class=&quot;output_wrapper&quot;&gt;
&lt;div class=&quot;output&quot;&gt;


&lt;div class=&quot;output_area&quot;&gt;

&lt;div class=&quot;prompt output_prompt&quot;&gt;Out[14]:&lt;/div&gt;



&lt;div class=&quot;output_html rendered_html output_subarea output_execute_result&quot;&gt;
&lt;div&gt;
&lt;style scoped&gt;
    .dataframe tbody tr th:only-of-type {
        vertical-align: middle;
    }

    .dataframe tbody tr th {
        vertical-align: top;
    }

    .dataframe thead th {
        text-align: right;
    }
&lt;/style&gt;
&lt;table border=&quot;1&quot; class=&quot;dataframe&quot;&gt;
  &lt;thead&gt;
    &lt;tr style=&quot;text-align: right;&quot;&gt;
      &lt;th&gt;&lt;/th&gt;
      &lt;th&gt;Normal&lt;/th&gt;
      &lt;th&gt;Abnormal&lt;/th&gt;
    &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
    &lt;tr&gt;
      &lt;th&gt;count&lt;/th&gt;
      &lt;td&gt;100.000000&lt;/td&gt;
      &lt;td&gt;209.000000&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;th&gt;mean&lt;/th&gt;
      &lt;td&gt;51.685244&lt;/td&gt;
      &lt;td&gt;64.700527&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;th&gt;std&lt;/th&gt;
      &lt;td&gt;12.368161&lt;/td&gt;
      &lt;td&gt;17.704157&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;th&gt;min&lt;/th&gt;
      &lt;td&gt;30.741938&lt;/td&gt;
      &lt;td&gt;26.147921&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;th&gt;25%&lt;/th&gt;
      &lt;td&gt;42.817849&lt;/td&gt;
      &lt;td&gt;50.066786&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;th&gt;50%&lt;/th&gt;
      &lt;td&gt;50.123115&lt;/td&gt;
      &lt;td&gt;65.536003&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;th&gt;75%&lt;/th&gt;
      &lt;td&gt;61.470097&lt;/td&gt;
      &lt;td&gt;77.655119&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;th&gt;max&lt;/th&gt;
      &lt;td&gt;89.834676&lt;/td&gt;
      &lt;td&gt;129.834041&lt;/td&gt;
    &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;

&lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;
&lt;div class=&quot;cell border-box-sizing text_cell rendered&quot;&gt;&lt;div class=&quot;prompt input_prompt&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;inner_cell&quot;&gt;
&lt;div class=&quot;text_cell_render border-box-sizing rendered_html&quot;&gt;
&lt;p&gt;Same thing as before, Normal class is more centered and usually lower than the Abnormal class which is again more widely spread.&lt;br&gt;
As we saw in the pairplot drawn earlier, there is almost never in this data set one single factor that will allow us to determine the normality or abnormality of a patient, but combinations of these parameters through feature engineering may help, even a human to tell at first glance the status of a patient.&lt;/p&gt;
&lt;h3 id=&quot;Pelvic-tilt-distribution&quot;&gt;Pelvic tilt distribution&lt;a class=&quot;anchor-link&quot; href=&quot;#Pelvic-tilt-distribution&quot;&gt;&amp;#182;&lt;/a&gt;&lt;/h3&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;cell border-box-sizing code_cell rendered&quot;&gt;
&lt;div class=&quot;input&quot;&gt;
&lt;div class=&quot;prompt input_prompt&quot;&gt;In&amp;nbsp;[15]:&lt;/div&gt;
&lt;div class=&quot;inner_cell&quot;&gt;
    &lt;div class=&quot;input_area&quot;&gt;
&lt;div class=&quot; highlight hl-ipython3&quot;&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;hist_graph&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;Pelvic_tilt&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;div class=&quot;output_wrapper&quot;&gt;
&lt;div class=&quot;output&quot;&gt;


&lt;div class=&quot;output_area&quot;&gt;

&lt;div class=&quot;prompt&quot;&gt;&lt;/div&gt;




&lt;div class=&quot;output_png output_subarea &quot;&gt;
&lt;img src=&quot;data:image/png;base64,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
&quot;
&gt;
&lt;/div&gt;

&lt;/div&gt;

&lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;
&lt;div class=&quot;cell border-box-sizing code_cell rendered&quot;&gt;
&lt;div class=&quot;input&quot;&gt;
&lt;div class=&quot;prompt input_prompt&quot;&gt;In&amp;nbsp;[16]:&lt;/div&gt;
&lt;div class=&quot;inner_cell&quot;&gt;
    &lt;div class=&quot;input_area&quot;&gt;
&lt;div class=&quot; highlight hl-ipython3&quot;&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;compare_df&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;Pelvic_tilt&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;div class=&quot;output_wrapper&quot;&gt;
&lt;div class=&quot;output&quot;&gt;


&lt;div class=&quot;output_area&quot;&gt;

&lt;div class=&quot;prompt output_prompt&quot;&gt;Out[16]:&lt;/div&gt;



&lt;div class=&quot;output_html rendered_html output_subarea output_execute_result&quot;&gt;
&lt;div&gt;
&lt;style scoped&gt;
    .dataframe tbody tr th:only-of-type {
        vertical-align: middle;
    }

    .dataframe tbody tr th {
        vertical-align: top;
    }

    .dataframe thead th {
        text-align: right;
    }
&lt;/style&gt;
&lt;table border=&quot;1&quot; class=&quot;dataframe&quot;&gt;
  &lt;thead&gt;
    &lt;tr style=&quot;text-align: right;&quot;&gt;
      &lt;th&gt;&lt;/th&gt;
      &lt;th&gt;Normal&lt;/th&gt;
      &lt;th&gt;Abnormal&lt;/th&gt;
    &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
    &lt;tr&gt;
      &lt;th&gt;count&lt;/th&gt;
      &lt;td&gt;100.000000&lt;/td&gt;
      &lt;td&gt;209.000000&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;th&gt;mean&lt;/th&gt;
      &lt;td&gt;12.821414&lt;/td&gt;
      &lt;td&gt;19.777899&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;th&gt;std&lt;/th&gt;
      &lt;td&gt;6.778503&lt;/td&gt;
      &lt;td&gt;10.539372&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;th&gt;min&lt;/th&gt;
      &lt;td&gt;-5.845994&lt;/td&gt;
      &lt;td&gt;-6.554948&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;th&gt;25%&lt;/th&gt;
      &lt;td&gt;8.799951&lt;/td&gt;
      &lt;td&gt;13.040974&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;th&gt;50%&lt;/th&gt;
      &lt;td&gt;13.482435&lt;/td&gt;
      &lt;td&gt;18.774071&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;th&gt;75%&lt;/th&gt;
      &lt;td&gt;16.785953&lt;/td&gt;
      &lt;td&gt;24.822631&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;th&gt;max&lt;/th&gt;
      &lt;td&gt;29.894119&lt;/td&gt;
      &lt;td&gt;49.431864&lt;/td&gt;
    &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;

&lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;
&lt;div class=&quot;cell border-box-sizing text_cell rendered&quot;&gt;&lt;div class=&quot;prompt input_prompt&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;inner_cell&quot;&gt;
&lt;div class=&quot;text_cell_render border-box-sizing rendered_html&quot;&gt;
&lt;p&gt;A slight shift to the right for the Abnormal class that is again more widespread than the Normal one.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;While the Normal class seems to follow a Gaussian Distribution, the Abnormal class seems to follow more of a Poisson distribution with its longer tail on the right.&lt;/li&gt;
&lt;li&gt;Every case with a Pelvic tilt about 29.89 will be classified as Abnormal.&lt;/li&gt;
&lt;li&gt;Negative values show little impact by themselves.&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;cell border-box-sizing text_cell rendered&quot;&gt;&lt;div class=&quot;prompt input_prompt&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;inner_cell&quot;&gt;
&lt;div class=&quot;text_cell_render border-box-sizing rendered_html&quot;&gt;
&lt;h3 id=&quot;Pelvic-radius&quot;&gt;Pelvic radius&lt;a class=&quot;anchor-link&quot; href=&quot;#Pelvic-radius&quot;&gt;&amp;#182;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;The pelvic radius is the angle formed between a vertical plane and the hip-axis/posterior superior corner of S1 ( first element of the sacrum ) line.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://synapse.koreamed.org/ArticleImage/0043JKOA/jkoa-51-9-g003-l.jpg&quot; alt=&quot;&quot;&gt;&lt;/p&gt;
&lt;center&gt;Pelvic radius is noted PR-S1 in this image&lt;/center&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;cell border-box-sizing text_cell rendered&quot;&gt;&lt;div class=&quot;prompt input_prompt&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;inner_cell&quot;&gt;
&lt;div class=&quot;text_cell_render border-box-sizing rendered_html&quot;&gt;
&lt;p&gt;Let's take a look at the distribution of the pelvic radius amon the different classes.&lt;/p&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;cell border-box-sizing code_cell rendered&quot;&gt;
&lt;div class=&quot;input&quot;&gt;
&lt;div class=&quot;prompt input_prompt&quot;&gt;In&amp;nbsp;[17]:&lt;/div&gt;
&lt;div class=&quot;inner_cell&quot;&gt;
    &lt;div class=&quot;input_area&quot;&gt;
&lt;div class=&quot; highlight hl-ipython3&quot;&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;hist_graph&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;Pelvic_radius&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;div class=&quot;output_wrapper&quot;&gt;
&lt;div class=&quot;output&quot;&gt;


&lt;div class=&quot;output_area&quot;&gt;

&lt;div class=&quot;prompt&quot;&gt;&lt;/div&gt;




&lt;div class=&quot;output_png output_subarea &quot;&gt;
&lt;img src=&quot;data:image/png;base64,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
gg==
&quot;
&gt;
&lt;/div&gt;

&lt;/div&gt;

&lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;
&lt;div class=&quot;cell border-box-sizing code_cell rendered&quot;&gt;
&lt;div class=&quot;input&quot;&gt;
&lt;div class=&quot;prompt input_prompt&quot;&gt;In&amp;nbsp;[18]:&lt;/div&gt;
&lt;div class=&quot;inner_cell&quot;&gt;
    &lt;div class=&quot;input_area&quot;&gt;
&lt;div class=&quot; highlight hl-ipython3&quot;&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;compare_df&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;Pelvic_radius&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;div class=&quot;output_wrapper&quot;&gt;
&lt;div class=&quot;output&quot;&gt;


&lt;div class=&quot;output_area&quot;&gt;

&lt;div class=&quot;prompt output_prompt&quot;&gt;Out[18]:&lt;/div&gt;



&lt;div class=&quot;output_html rendered_html output_subarea output_execute_result&quot;&gt;
&lt;div&gt;
&lt;style scoped&gt;
    .dataframe tbody tr th:only-of-type {
        vertical-align: middle;
    }

    .dataframe tbody tr th {
        vertical-align: top;
    }

    .dataframe thead th {
        text-align: right;
    }
&lt;/style&gt;
&lt;table border=&quot;1&quot; class=&quot;dataframe&quot;&gt;
  &lt;thead&gt;
    &lt;tr style=&quot;text-align: right;&quot;&gt;
      &lt;th&gt;&lt;/th&gt;
      &lt;th&gt;Normal&lt;/th&gt;
      &lt;th&gt;Abnormal&lt;/th&gt;
    &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
    &lt;tr&gt;
      &lt;th&gt;count&lt;/th&gt;
      &lt;td&gt;100.000000&lt;/td&gt;
      &lt;td&gt;209.000000&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;th&gt;mean&lt;/th&gt;
      &lt;td&gt;123.890834&lt;/td&gt;
      &lt;td&gt;115.156204&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;th&gt;std&lt;/th&gt;
      &lt;td&gt;9.014246&lt;/td&gt;
      &lt;td&gt;14.078340&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;th&gt;min&lt;/th&gt;
      &lt;td&gt;100.501192&lt;/td&gt;
      &lt;td&gt;70.082575&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;th&gt;25%&lt;/th&gt;
      &lt;td&gt;118.182659&lt;/td&gt;
      &lt;td&gt;107.690466&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;th&gt;50%&lt;/th&gt;
      &lt;td&gt;123.874328&lt;/td&gt;
      &lt;td&gt;115.723530&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;th&gt;75%&lt;/th&gt;
      &lt;td&gt;129.040401&lt;/td&gt;
      &lt;td&gt;123.159251&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;th&gt;max&lt;/th&gt;
      &lt;td&gt;147.894637&lt;/td&gt;
      &lt;td&gt;163.071041&lt;/td&gt;
    &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;

&lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;
&lt;div class=&quot;cell border-box-sizing text_cell rendered&quot;&gt;&lt;div class=&quot;prompt input_prompt&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;inner_cell&quot;&gt;
&lt;div class=&quot;text_cell_render border-box-sizing rendered_html&quot;&gt;
&lt;p&gt;This is the first time that we are seeing the Abnormal class shifted to the left compared to the Normal class.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Both have almost normal distributions, as per usual.&lt;/li&gt;
&lt;li&gt;The Abnormal class is still more widespread than the Normal class.&lt;/li&gt;
&lt;li&gt;The Normal class distribution is entirely contained into the Abnormal class distribution, giving us a lower and upper bound for the Normal class between ~100.5 and ~147.9.&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;cell border-box-sizing text_cell rendered&quot;&gt;&lt;div class=&quot;prompt input_prompt&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;inner_cell&quot;&gt;
&lt;div class=&quot;text_cell_render border-box-sizing rendered_html&quot;&gt;
&lt;h3 id=&quot;Lumbar-lordosis-angle&quot;&gt;Lumbar lordosis angle&lt;a class=&quot;anchor-link&quot; href=&quot;#Lumbar-lordosis-angle&quot;&gt;&amp;#182;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;The lumbar lordosis angle is the angle formed by the intersection of two planes.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The first plane is the one created following the upper surface of the L1 vertebra.&lt;/li&gt;
&lt;li&gt;The second plane is created by following the upper surface of the S1 vertebra.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img src=&quot;http://sittingsafely.com/wp-content/uploads/2013/07/Lumbar-lordosis.png&quot; alt=&quot;&quot;&gt;&lt;/p&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;cell border-box-sizing text_cell rendered&quot;&gt;&lt;div class=&quot;prompt input_prompt&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;inner_cell&quot;&gt;
&lt;div class=&quot;text_cell_render border-box-sizing rendered_html&quot;&gt;
&lt;p&gt;Let's see its distribution.&lt;/p&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;cell border-box-sizing code_cell rendered&quot;&gt;
&lt;div class=&quot;input&quot;&gt;
&lt;div class=&quot;prompt input_prompt&quot;&gt;In&amp;nbsp;[19]:&lt;/div&gt;
&lt;div class=&quot;inner_cell&quot;&gt;
    &lt;div class=&quot;input_area&quot;&gt;
&lt;div class=&quot; highlight hl-ipython3&quot;&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;hist_graph&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;Lumbar_lordosis_angle&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;div class=&quot;output_wrapper&quot;&gt;
&lt;div class=&quot;output&quot;&gt;


&lt;div class=&quot;output_area&quot;&gt;

&lt;div class=&quot;prompt&quot;&gt;&lt;/div&gt;




&lt;div class=&quot;output_png output_subarea &quot;&gt;
&lt;img src=&quot;data:image/png;base64,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
&quot;
&gt;
&lt;/div&gt;

&lt;/div&gt;

&lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;
&lt;div class=&quot;cell border-box-sizing code_cell rendered&quot;&gt;
&lt;div class=&quot;input&quot;&gt;
&lt;div class=&quot;prompt input_prompt&quot;&gt;In&amp;nbsp;[20]:&lt;/div&gt;
&lt;div class=&quot;inner_cell&quot;&gt;
    &lt;div class=&quot;input_area&quot;&gt;
&lt;div class=&quot; highlight hl-ipython3&quot;&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;compare_df&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;Lumbar_lordosis_angle&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;div class=&quot;output_wrapper&quot;&gt;
&lt;div class=&quot;output&quot;&gt;


&lt;div class=&quot;output_area&quot;&gt;

&lt;div class=&quot;prompt output_prompt&quot;&gt;Out[20]:&lt;/div&gt;



&lt;div class=&quot;output_html rendered_html output_subarea output_execute_result&quot;&gt;
&lt;div&gt;
&lt;style scoped&gt;
    .dataframe tbody tr th:only-of-type {
        vertical-align: middle;
    }

    .dataframe tbody tr th {
        vertical-align: top;
    }

    .dataframe thead th {
        text-align: right;
    }
&lt;/style&gt;
&lt;table border=&quot;1&quot; class=&quot;dataframe&quot;&gt;
  &lt;thead&gt;
    &lt;tr style=&quot;text-align: right;&quot;&gt;
      &lt;th&gt;&lt;/th&gt;
      &lt;th&gt;Normal&lt;/th&gt;
      &lt;th&gt;Abnormal&lt;/th&gt;
    &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
    &lt;tr&gt;
      &lt;th&gt;count&lt;/th&gt;
      &lt;td&gt;100.000000&lt;/td&gt;
      &lt;td&gt;209.000000&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;th&gt;mean&lt;/th&gt;
      &lt;td&gt;43.542605&lt;/td&gt;
      &lt;td&gt;56.003438&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;th&gt;std&lt;/th&gt;
      &lt;td&gt;12.361388&lt;/td&gt;
      &lt;td&gt;19.684057&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;th&gt;min&lt;/th&gt;
      &lt;td&gt;19.071075&lt;/td&gt;
      &lt;td&gt;14.000000&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;th&gt;25%&lt;/th&gt;
      &lt;td&gt;35.000000&lt;/td&gt;
      &lt;td&gt;41.467855&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;th&gt;50%&lt;/th&gt;
      &lt;td&gt;42.638923&lt;/td&gt;
      &lt;td&gt;56.300000&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;th&gt;75%&lt;/th&gt;
      &lt;td&gt;51.602346&lt;/td&gt;
      &lt;td&gt;68.118403&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;th&gt;max&lt;/th&gt;
      &lt;td&gt;90.563461&lt;/td&gt;
      &lt;td&gt;125.742385&lt;/td&gt;
    &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;

&lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;
&lt;div class=&quot;cell border-box-sizing text_cell rendered&quot;&gt;&lt;div class=&quot;prompt input_prompt&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;inner_cell&quot;&gt;
&lt;div class=&quot;text_cell_render border-box-sizing rendered_html&quot;&gt;
&lt;p&gt;We recognize here what we've been seeing previously in the most of the other parameters that we have studied.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Higher values for the Abnormal class ( right-shift ).&lt;/li&gt;
&lt;li&gt;Higher spread for the Abnormal class.&lt;/li&gt;
&lt;li&gt;Normal class almost contained by the Abnormal class, giving us here just an upper bound where all patients with above  ~90 wil be classified as Abnormal.&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;cell border-box-sizing text_cell rendered&quot;&gt;&lt;div class=&quot;prompt input_prompt&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;inner_cell&quot;&gt;
&lt;div class=&quot;text_cell_render border-box-sizing rendered_html&quot;&gt;
&lt;p&gt;Looking at the pairplot and at the correlation graph, we have drawn the most relevant distributions so far. The others parameters present very similar distribution for both Normal classes and Abnormal classes and their univariate study would not give us much insight.&lt;/p&gt;
&lt;p&gt;Both our correlation plot and the shallow decision tree we used gave us an idea of what parameters were the most relevant to determine the Attribute of a patient. Let's try to create a new variable from the previous ones that will have even more weight for the predictions.&lt;/p&gt;
&lt;h2 id=&quot;Feature-Engineering&quot;&gt;Feature Engineering&lt;a class=&quot;anchor-link&quot; href=&quot;#Feature-Engineering&quot;&gt;&amp;#182;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Feature engineering is the process of creating new features from data to achieve better modelisation of the problem. It can be done before or after fitting the dataset to a simple model to see how each feature would impact on the quality of the model, but in the case of binary classification, we will see clearly in the histogram distribution if a new feature helps to separate the classes even more.
There are &lt;strong&gt;lots&lt;/strong&gt; of ways to generate new features :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;From domain knowledge&lt;/li&gt;
&lt;li&gt;From observation of the data&lt;/li&gt;
&lt;li&gt;From dimensionality reduction techniques such as PCA&lt;/li&gt;
&lt;li&gt;Just creating combinations of our current parameters&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Now, I have no domain knowledge, and let's assume that we haven't really looked at the data yet for the fun of it, we'll try to create new features through PCA, LDA and polynomial combinations of our parameters&lt;/p&gt;
&lt;h3 id=&quot;PCA&quot;&gt;PCA&lt;a class=&quot;anchor-link&quot; href=&quot;#PCA&quot;&gt;&amp;#182;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;In simple words, Principal Component Analysis or PCA tries to create linear combinations of the features in our data set to represent its variance as well as possible.&lt;br&gt;
For us, it can be a tool to try to create a feature that will separate the target as well as possible. That is, if PCA manages to represent the data set accurately.&lt;/p&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;cell border-box-sizing code_cell rendered&quot;&gt;
&lt;div class=&quot;input&quot;&gt;
&lt;div class=&quot;prompt input_prompt&quot;&gt;In&amp;nbsp;[21]:&lt;/div&gt;
&lt;div class=&quot;inner_cell&quot;&gt;
    &lt;div class=&quot;input_area&quot;&gt;
&lt;div class=&quot; highlight hl-ipython3&quot;&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class=&quot;c1&quot;&gt;# Feature scaling&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;sc&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;MinMaxScaler&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;X_std&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;sc&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;fit_transform&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;X&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;

&lt;span class=&quot;c1&quot;&gt;# Creating the PCA&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;pca&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;PCA&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;n_components&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;3&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;

&lt;span class=&quot;c1&quot;&gt;# Fitting the PCA to the data set&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;pca&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;fit&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;X_std&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;div class=&quot;output_wrapper&quot;&gt;
&lt;div class=&quot;output&quot;&gt;


&lt;div class=&quot;output_area&quot;&gt;

&lt;div class=&quot;prompt output_prompt&quot;&gt;Out[21]:&lt;/div&gt;




&lt;div class=&quot;output_text output_subarea output_execute_result&quot;&gt;
&lt;pre&gt;PCA(copy=True, iterated_power=&amp;#39;auto&amp;#39;, n_components=3, random_state=None,
  svd_solver=&amp;#39;auto&amp;#39;, tol=0.0, whiten=False)&lt;/pre&gt;
&lt;/div&gt;

&lt;/div&gt;

&lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;
&lt;div class=&quot;cell border-box-sizing text_cell rendered&quot;&gt;&lt;div class=&quot;prompt input_prompt&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;inner_cell&quot;&gt;
&lt;div class=&quot;text_cell_render border-box-sizing rendered_html&quot;&gt;
&lt;p&gt;A good way to verify the quality of the PCA is by checking its explained_variance. This will show how much of the variance of the dataset the PCA manages to express for each of its component, thankfully our PCA object has a method &lt;code&gt;.explained_variance_ratio_&lt;/code&gt;that does exactly this.&lt;/p&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;cell border-box-sizing code_cell rendered&quot;&gt;
&lt;div class=&quot;input&quot;&gt;
&lt;div class=&quot;prompt input_prompt&quot;&gt;In&amp;nbsp;[22]:&lt;/div&gt;
&lt;div class=&quot;inner_cell&quot;&gt;
    &lt;div class=&quot;input_area&quot;&gt;
&lt;div class=&quot; highlight hl-ipython3&quot;&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;pca&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;explained_variance_ratio_&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;div class=&quot;output_wrapper&quot;&gt;
&lt;div class=&quot;output&quot;&gt;


&lt;div class=&quot;output_area&quot;&gt;

&lt;div class=&quot;prompt output_prompt&quot;&gt;Out[22]:&lt;/div&gt;




&lt;div class=&quot;output_text output_subarea output_execute_result&quot;&gt;
&lt;pre&gt;array([0.15836303, 0.1490722 , 0.13674482])&lt;/pre&gt;
&lt;/div&gt;

&lt;/div&gt;

&lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;
&lt;div class=&quot;cell border-box-sizing text_cell rendered&quot;&gt;&lt;div class=&quot;prompt input_prompt&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;inner_cell&quot;&gt;
&lt;div class=&quot;text_cell_render border-box-sizing rendered_html&quot;&gt;
&lt;p&gt;So this is &lt;strong&gt;pretty terrible&lt;/strong&gt; to be honest.&lt;br&gt;
Even after adding the three components together we don't even get to 50% of explained variance for the data set...&lt;br&gt;
It doesn't mean that we should throw PCA away for this problem, other implementations of the PCA with the kernel trick ( kPCA in sklearn ) are also available, but I want to keep this notebook somewhat short so you'll have to look up this one by yourself.&lt;/p&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;cell border-box-sizing text_cell rendered&quot;&gt;&lt;div class=&quot;prompt input_prompt&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;inner_cell&quot;&gt;
&lt;div class=&quot;text_cell_render border-box-sizing rendered_html&quot;&gt;
&lt;h3 id=&quot;Polynomial-Features&quot;&gt;Polynomial Features&lt;a class=&quot;anchor-link&quot; href=&quot;#Polynomial-Features&quot;&gt;&amp;#182;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Creating new features from polynomial combinations and then filtering through them is also way of doing feature engineering. That being said, using &lt;code&gt;PolynomialFeatures&lt;/code&gt;can be computationally expensive and slow. The reason behind this is that it is going to create all the combinations possible between all the selected features, including ( if you wish so ) power features from the previous ones ( understand squared, cubed, etc.) .&lt;/p&gt;
&lt;p&gt;Here I specified that I wanted a maximum degree of 2 and I have 12 parameters.&lt;/p&gt;
&lt;p&gt;I can expect:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;${12 \choose 2}=66$ New interacting features,  &lt;/li&gt;
&lt;li&gt;$12*1=12$ Squared features, and  &lt;/li&gt;
&lt;li&gt;$12$ of our old features.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;That gives us a total of 90 features, let's check it.&lt;/p&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;cell border-box-sizing code_cell rendered&quot;&gt;
&lt;div class=&quot;input&quot;&gt;
&lt;div class=&quot;prompt input_prompt&quot;&gt;In&amp;nbsp;[23]:&lt;/div&gt;
&lt;div class=&quot;inner_cell&quot;&gt;
    &lt;div class=&quot;input_area&quot;&gt;
&lt;div class=&quot; highlight hl-ipython3&quot;&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;PF&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;PolynomialFeatures&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;degree&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;include_bias&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;kc&quot;&gt;False&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;X_std_pf&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;PF&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;fit_transform&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;X_std&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;new_feats&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;PF&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;get_feature_names&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;X_std_pf&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;shape&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;div class=&quot;output_wrapper&quot;&gt;
&lt;div class=&quot;output&quot;&gt;


&lt;div class=&quot;output_area&quot;&gt;

&lt;div class=&quot;prompt output_prompt&quot;&gt;Out[23]:&lt;/div&gt;




&lt;div class=&quot;output_text output_subarea output_execute_result&quot;&gt;
&lt;pre&gt;(309, 90)&lt;/pre&gt;
&lt;/div&gt;

&lt;/div&gt;

&lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;
&lt;div class=&quot;cell border-box-sizing text_cell rendered&quot;&gt;&lt;div class=&quot;prompt input_prompt&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;inner_cell&quot;&gt;
&lt;div class=&quot;text_cell_render border-box-sizing rendered_html&quot;&gt;
&lt;p&gt;Everything checks out with what I thought and that's great, &lt;strong&gt;but&lt;/strong&gt; more features doesn't always mean a more accurate model. Some of them will introduce noise, some of them will make us overfit, some of them are just straight out bad.&lt;/p&gt;
&lt;p&gt;Now there are a lot of different methods to evaluate the quality of a given feature in regards to its target, and a lot of them happen actually &lt;strong&gt;after&lt;/strong&gt; fitting an algorithm to the new data set and seeing an improvement or a loss in the quality of the algorithm ( here we will measure the quality of a classifier via the roc-auc value).&lt;/p&gt;
&lt;p&gt;For the moment I will focus on trying to evaluate the quality of the new features &lt;strong&gt;&lt;em&gt;a priori&lt;/em&gt;&lt;/strong&gt; following the $\chi^2$ evaluation of these features and by keeping only the 10 best results.&lt;/p&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;cell border-box-sizing code_cell rendered&quot;&gt;
&lt;div class=&quot;input&quot;&gt;
&lt;div class=&quot;prompt input_prompt&quot;&gt;In&amp;nbsp;[24]:&lt;/div&gt;
&lt;div class=&quot;inner_cell&quot;&gt;
    &lt;div class=&quot;input_area&quot;&gt;
&lt;div class=&quot; highlight hl-ipython3&quot;&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Kbest&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;  &lt;span class=&quot;n&quot;&gt;SelectKBest&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;chi2&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;k&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;10&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;X_std_pf_chi10&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;Kbest&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;fit_transform&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;X_std_pf&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;y&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;selected&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;Kbest&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;get_support&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;
&lt;div class=&quot;cell border-box-sizing code_cell rendered&quot;&gt;
&lt;div class=&quot;input&quot;&gt;
&lt;div class=&quot;prompt input_prompt&quot;&gt;In&amp;nbsp;[25]:&lt;/div&gt;
&lt;div class=&quot;inner_cell&quot;&gt;
    &lt;div class=&quot;input_area&quot;&gt;
&lt;div class=&quot; highlight hl-ipython3&quot;&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;features&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[]&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;for&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;feat&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;sel&lt;/span&gt; &lt;span class=&quot;ow&quot;&gt;in&lt;/span&gt; &lt;span class=&quot;nb&quot;&gt;zip&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;new_feats&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;selected&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; 
    &lt;span class=&quot;k&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;sel&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;==&lt;/span&gt; &lt;span class=&quot;kc&quot;&gt;True&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;
        &lt;span class=&quot;n&quot;&gt;features&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;append&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;feat&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;

&lt;span class=&quot;n&quot;&gt;feat_col&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[]&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;for&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;i&lt;/span&gt; &lt;span class=&quot;ow&quot;&gt;in&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;features&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;split&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;split&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt;
    &lt;span class=&quot;k&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;nb&quot;&gt;len&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;split&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;
        &lt;span class=&quot;nb&quot;&gt;pow&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;split&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;split&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;^&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
        &lt;span class=&quot;k&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;nb&quot;&gt;len&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;pow&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;==&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;
            &lt;span class=&quot;n&quot;&gt;nb&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;int&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;&amp;#39;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;join&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;([&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;j&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;for&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;j&lt;/span&gt; &lt;span class=&quot;ow&quot;&gt;in&lt;/span&gt; &lt;span class=&quot;nb&quot;&gt;pow&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;j&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;isdigit&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()]))&lt;/span&gt;
            &lt;span class=&quot;n&quot;&gt;col&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;data&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;columns&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;nb&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;
            &lt;span class=&quot;n&quot;&gt;feat_col&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;append&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;col&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
        &lt;span class=&quot;k&quot;&gt;else&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;
            &lt;span class=&quot;n&quot;&gt;nb&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;int&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;&amp;#39;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;join&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;([&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;j&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;for&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;j&lt;/span&gt; &lt;span class=&quot;ow&quot;&gt;in&lt;/span&gt; &lt;span class=&quot;nb&quot;&gt;pow&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;j&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;isdigit&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()]))&lt;/span&gt;
            &lt;span class=&quot;n&quot;&gt;col&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;data&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;columns&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;nb&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;+&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;^&amp;#39;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;+&lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;pow&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;
            &lt;span class=&quot;n&quot;&gt;feat_col&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;append&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;col&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
    &lt;span class=&quot;k&quot;&gt;else&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;
        &lt;span class=&quot;n&quot;&gt;clean&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;&amp;#39;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;join&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;([&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;j&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;for&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;j&lt;/span&gt; &lt;span class=&quot;ow&quot;&gt;in&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;i&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;j&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;isdigit&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()])&lt;/span&gt;
        &lt;span class=&quot;n&quot;&gt;col&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;data&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;columns&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;int&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;clean&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;])]&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;+&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;*&amp;#39;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;+&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;data&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;columns&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;int&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;clean&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;])]&lt;/span&gt;
        &lt;span class=&quot;n&quot;&gt;feat_col&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;append&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;col&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;
&lt;div class=&quot;cell border-box-sizing text_cell rendered&quot;&gt;&lt;div class=&quot;prompt input_prompt&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;inner_cell&quot;&gt;
&lt;div class=&quot;text_cell_render border-box-sizing rendered_html&quot;&gt;
&lt;p&gt;The feature selected by the $\chi^2$ are as follow :&lt;/p&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;cell border-box-sizing code_cell rendered&quot;&gt;
&lt;div class=&quot;input&quot;&gt;
&lt;div class=&quot;prompt input_prompt&quot;&gt;In&amp;nbsp;[26]:&lt;/div&gt;
&lt;div class=&quot;inner_cell&quot;&gt;
    &lt;div class=&quot;input_area&quot;&gt;
&lt;div class=&quot; highlight hl-ipython3&quot;&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;feat_col&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;div class=&quot;output_wrapper&quot;&gt;
&lt;div class=&quot;output&quot;&gt;


&lt;div class=&quot;output_area&quot;&gt;

&lt;div class=&quot;prompt output_prompt&quot;&gt;Out[26]:&lt;/div&gt;




&lt;div class=&quot;output_text output_subarea output_execute_result&quot;&gt;
&lt;pre&gt;[&amp;#39;Degree_spondylolisthesis&amp;#39;,
 &amp;#39;Pelvic_incidence^2&amp;#39;,
 &amp;#39;Pelvic_incidence*Pelvic_tilt&amp;#39;,
 &amp;#39;Pelvic_incidence*Lumbar_lordosis_angle&amp;#39;,
 &amp;#39;Pelvic_incidence*Degree_spondylolisthesis&amp;#39;,
 &amp;#39;Pelvic_tilt^2&amp;#39;,
 &amp;#39;Pelvic_tilt*Lumbar_lordosis_angle&amp;#39;,
 &amp;#39;Pelvic_tilt*Degree_spondylolisthesis&amp;#39;,
 &amp;#39;Lumbar_lordosis_angle^2&amp;#39;,
 &amp;#39;Lumbar_lordosis_angle*Degree_spondylolisthesis&amp;#39;]&lt;/pre&gt;
&lt;/div&gt;

&lt;/div&gt;

&lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;
&lt;div class=&quot;cell border-box-sizing text_cell rendered&quot;&gt;&lt;div class=&quot;prompt input_prompt&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;inner_cell&quot;&gt;
&lt;div class=&quot;text_cell_render border-box-sizing rendered_html&quot;&gt;
&lt;h3 id=&quot;Boxing-Features&quot;&gt;Boxing Features&lt;a class=&quot;anchor-link&quot; href=&quot;#Boxing-Features&quot;&gt;&amp;#182;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;It is another technique that can be used to create new features. To do this we use the things we learned through our previous EDA to create new categorical features telling us if a value is above, below, or in between certain values.&lt;/p&gt;
&lt;p&gt;For example, when we were looking at the distribution of the Sacral_slope amongst the classes, we realised that there was no Normal patient with a Sacral_slope value above 67.&lt;br&gt;
Thus, we can create a category 'ss&amp;gt;67' that would take 1 as a value if it is True and 0 if it is False.&lt;/p&gt;
&lt;p&gt;Let's try to implement a few of these boxing features.&lt;/p&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;cell border-box-sizing code_cell rendered&quot;&gt;
&lt;div class=&quot;input&quot;&gt;
&lt;div class=&quot;prompt input_prompt&quot;&gt;In&amp;nbsp;[27]:&lt;/div&gt;
&lt;div class=&quot;inner_cell&quot;&gt;
    &lt;div class=&quot;input_area&quot;&gt;
&lt;div class=&quot; highlight hl-ipython3&quot;&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;box_deg&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;data&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Degree_spondylolisthesis&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;&amp;gt;&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;data&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;data&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;Attribute&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Degree_spondylolisthesis&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;max&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;())&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;map&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;({&lt;/span&gt;&lt;span class=&quot;kc&quot;&gt;False&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;kc&quot;&gt;True&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;})&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;box_ss&lt;/span&gt;  &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;((&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;data&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Sacral_slope&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;&amp;gt;&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;data&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;data&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;Attribute&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Sacral_slope&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;max&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;())&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;&amp;amp;&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;data&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Sacral_slope&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;&amp;gt;&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;data&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;data&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;Attribute&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Sacral_slope&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;min&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()))&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;map&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;({&lt;/span&gt;&lt;span class=&quot;kc&quot;&gt;False&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;kc&quot;&gt;True&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;})&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;box_pi&lt;/span&gt;  &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;data&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Pelvic_incidence&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;&amp;gt;&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;data&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;data&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;Attribute&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Pelvic_incidence&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;max&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;())&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;map&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;({&lt;/span&gt;&lt;span class=&quot;kc&quot;&gt;False&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;kc&quot;&gt;True&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;})&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;box_pt&lt;/span&gt;  &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;((&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;data&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Pelvic_tilt&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;&amp;gt;&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;data&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;data&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;Attribute&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Pelvic_tilt&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;max&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;())&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;&amp;amp;&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;data&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Pelvic_tilt&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;&amp;gt;&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;data&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;data&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;Attribute&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Pelvic_tilt&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;min&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()))&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;map&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;({&lt;/span&gt;&lt;span class=&quot;kc&quot;&gt;False&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;kc&quot;&gt;True&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;})&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;box_pr&lt;/span&gt;  &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;((&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;data&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Pelvic_radius&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;&amp;gt;&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;data&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;data&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;Attribute&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Pelvic_radius&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;max&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;())&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;&amp;amp;&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;data&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Pelvic_radius&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;&amp;gt;&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;data&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;data&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;Attribute&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Pelvic_radius&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;min&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()))&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;map&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;({&lt;/span&gt;&lt;span class=&quot;kc&quot;&gt;False&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;kc&quot;&gt;True&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;})&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;box_lla&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;((&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;data&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Lumbar_lordosis_angle&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;&amp;gt;&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;data&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;data&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;Attribute&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Lumbar_lordosis_angle&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;max&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;())&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;&amp;amp;&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;data&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Lumbar_lordosis_angle&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;&amp;gt;&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;data&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;data&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;Attribute&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Lumbar_lordosis_angle&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;min&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()))&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;map&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;({&lt;/span&gt;&lt;span class=&quot;kc&quot;&gt;False&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;kc&quot;&gt;True&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;})&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;X_box&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;np&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;array&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;([&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;box_deg&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;box_ss&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;box_pi&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;box_pt&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;box_pr&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;box_lla&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;])&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;reshape&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;309&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;6&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;
&lt;div class=&quot;cell border-box-sizing code_cell rendered&quot;&gt;
&lt;div class=&quot;input&quot;&gt;
&lt;div class=&quot;prompt input_prompt&quot;&gt;In&amp;nbsp;[28]:&lt;/div&gt;
&lt;div class=&quot;inner_cell&quot;&gt;
    &lt;div class=&quot;input_area&quot;&gt;
&lt;div class=&quot; highlight hl-ipython3&quot;&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class=&quot;c1&quot;&gt;# Adding the boxing features to the other ones&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;X_std_box&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;np&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;hstack&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;([&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;X_std&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;X_box&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;])&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;X_std_pf_chi10_box&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;np&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;hstack&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;([&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;X_std_pf_chi10&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;X_box&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;])&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;
&lt;div class=&quot;cell border-box-sizing text_cell rendered&quot;&gt;&lt;div class=&quot;prompt input_prompt&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;inner_cell&quot;&gt;
&lt;div class=&quot;text_cell_render border-box-sizing rendered_html&quot;&gt;
&lt;h3 id=&quot;Effect-on-a-simple-model&quot;&gt;Effect on a simple model&lt;a class=&quot;anchor-link&quot; href=&quot;#Effect-on-a-simple-model&quot;&gt;&amp;#182;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Now that we have created these new features and these new sets of predictors, we would like to see their effect on the AUC of a simple classifier, since we used a Decision Tree earlier, we'll keep using it for simplicity reasons.&lt;br&gt;
Because the scores can have a high variance due to the randomization of some factors in the construction of the algorithm, the training data, and the testing data, we will cross-validate all the results we have to stabilize this variance and get insights from these results.&lt;/p&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;cell border-box-sizing code_cell rendered&quot;&gt;
&lt;div class=&quot;input&quot;&gt;
&lt;div class=&quot;prompt input_prompt&quot;&gt;In&amp;nbsp;[29]:&lt;/div&gt;
&lt;div class=&quot;inner_cell&quot;&gt;
    &lt;div class=&quot;input_area&quot;&gt;
&lt;div class=&quot; highlight hl-ipython3&quot;&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class=&quot;c1&quot;&gt;# Creating a list through which we&amp;#39;ll iterate the Decision Tree&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;X_list&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;X_std&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;X_std_pf&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;X_std_pf_chi10&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;X_std_box&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;X_std_pf_chi10_box&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;results&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;[]&lt;/span&gt;

&lt;span class=&quot;n&quot;&gt;clf&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;DecisionTreeClassifier&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;random_state&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;42&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;

&lt;span class=&quot;c1&quot;&gt;# Getting cross-validated scores for each of the new data sets&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;for&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;X_set&lt;/span&gt; &lt;span class=&quot;ow&quot;&gt;in&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;X_list&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;clf&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;fit&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;X_set&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;y&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;y_pred&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;clf&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;predict&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;X_set&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;rez&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;cross_val_score&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;clf&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;X_set&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;y&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;scoring&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;roc_auc&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;cv&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;100&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;results&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;append&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;rez&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;mean&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;())&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;results&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;div class=&quot;output_wrapper&quot;&gt;
&lt;div class=&quot;output&quot;&gt;


&lt;div class=&quot;output_area&quot;&gt;

&lt;div class=&quot;prompt output_prompt&quot;&gt;Out[29]:&lt;/div&gt;




&lt;div class=&quot;output_text output_subarea output_execute_result&quot;&gt;
&lt;pre&gt;[0.7075, 0.7308333333333333, 0.7775, 0.7341666666666665, 0.8025]&lt;/pre&gt;
&lt;/div&gt;

&lt;/div&gt;

&lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;
&lt;div class=&quot;cell border-box-sizing text_cell rendered&quot;&gt;&lt;div class=&quot;prompt input_prompt&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;inner_cell&quot;&gt;
&lt;div class=&quot;text_cell_render border-box-sizing rendered_html&quot;&gt;
&lt;p&gt;Let's take a look at the results above and try to understand them a little bit.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The standard data set allows for a CV-AUC of 70.75%&lt;/li&gt;
&lt;li&gt;After adding 88 polynomial features it goes up ~2.25%&lt;/li&gt;
&lt;li&gt;&lt;p&gt;After adding the boxing features it goes up ~2.5%&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Filtering the polynomial features with the standard data set make it go up by ~4.5%&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;Adding the boxing features make the latter go up ~2.25%&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;First of all, even though this is cross validated and verified and all, after running it multiple times I was still getting a variance higher than I'd like on my results, so this is to take with a &lt;strong&gt;grain of salt&lt;/strong&gt;. One thing that systematically came back though was the fact that either the filtered polynomial features or the filtered polynomial features + boxing would get the highest scores.&lt;/p&gt;
&lt;p&gt;As we expected, the creation of polynomial features &lt;strong&gt;increased&lt;/strong&gt; the base score, but not from much... How so ? It was certainly introducing a lot of &lt;strong&gt;noise&lt;/strong&gt; and useless extra feature, this explanation is backed by the facte that once filtered through the $\chi2$ the score goes up &lt;strong&gt;drastically&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;I am quite satisfied with the effect of the boxing features on the AUC score. Compared to the computational power required to first create all the polynomial features and then filter them, creating the boxing features was a &lt;strong&gt;walk in the park&lt;/strong&gt; and their effect was definetely non negligeable on the outcome.&lt;/p&gt;
&lt;p&gt;Now I want to keep this dataset simple without too many features, and even if the score is slightly better once the boxing features are added, I will use the filtered polynomial features without the boxing features for the modelling part of this notebook.&lt;/p&gt;
&lt;p&gt;Here are the &lt;strong&gt;winning&lt;/strong&gt; predictors with the targe in a DataFrame :&lt;/p&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;cell border-box-sizing code_cell rendered&quot;&gt;
&lt;div class=&quot;input&quot;&gt;
&lt;div class=&quot;prompt input_prompt&quot;&gt;In&amp;nbsp;[30]:&lt;/div&gt;
&lt;div class=&quot;inner_cell&quot;&gt;
    &lt;div class=&quot;input_area&quot;&gt;
&lt;div class=&quot; highlight hl-ipython3&quot;&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;df_new&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;pd&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;DataFrame&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;X_std_pf_chi10&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;columns&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;feat_col&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;df_new&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;Attribute&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;data&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;Attribute&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;df_new&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;head&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;div class=&quot;output_wrapper&quot;&gt;
&lt;div class=&quot;output&quot;&gt;


&lt;div class=&quot;output_area&quot;&gt;

&lt;div class=&quot;prompt output_prompt&quot;&gt;Out[30]:&lt;/div&gt;



&lt;div class=&quot;output_html rendered_html output_subarea output_execute_result&quot;&gt;
&lt;div&gt;
&lt;style scoped&gt;
    .dataframe tbody tr th:only-of-type {
        vertical-align: middle;
    }

    .dataframe tbody tr th {
        vertical-align: top;
    }

    .dataframe thead th {
        text-align: right;
    }
&lt;/style&gt;
&lt;table border=&quot;1&quot; class=&quot;dataframe&quot;&gt;
  &lt;thead&gt;
    &lt;tr style=&quot;text-align: right;&quot;&gt;
      &lt;th&gt;&lt;/th&gt;
      &lt;th&gt;Degree_spondylolisthesis&lt;/th&gt;
      &lt;th&gt;Pelvic_incidence^2&lt;/th&gt;
      &lt;th&gt;Pelvic_incidence*Pelvic_tilt&lt;/th&gt;
      &lt;th&gt;Pelvic_incidence*Lumbar_lordosis_angle&lt;/th&gt;
      &lt;th&gt;Pelvic_incidence*Degree_spondylolisthesis&lt;/th&gt;
      &lt;th&gt;Pelvic_tilt^2&lt;/th&gt;
      &lt;th&gt;Pelvic_tilt*Lumbar_lordosis_angle&lt;/th&gt;
      &lt;th&gt;Pelvic_tilt*Degree_spondylolisthesis&lt;/th&gt;
      &lt;th&gt;Lumbar_lordosis_angle^2&lt;/th&gt;
      &lt;th&gt;Lumbar_lordosis_angle*Degree_spondylolisthesis&lt;/th&gt;
      &lt;th&gt;Attribute&lt;/th&gt;
    &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
    &lt;tr&gt;
      &lt;th&gt;0&lt;/th&gt;
      &lt;td&gt;0.036365&lt;/td&gt;
      &lt;td&gt;0.015501&lt;/td&gt;
      &lt;td&gt;0.036950&lt;/td&gt;
      &lt;td&gt;0.012273&lt;/td&gt;
      &lt;td&gt;0.004527&lt;/td&gt;
      &lt;td&gt;0.088080&lt;/td&gt;
      &lt;td&gt;0.029256&lt;/td&gt;
      &lt;td&gt;0.010793&lt;/td&gt;
      &lt;td&gt;0.009718&lt;/td&gt;
      &lt;td&gt;0.003585&lt;/td&gt;
      &lt;td&gt;1&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;th&gt;1&lt;/th&gt;
      &lt;td&gt;0.017523&lt;/td&gt;
      &lt;td&gt;0.169469&lt;/td&gt;
      &lt;td&gt;0.211569&lt;/td&gt;
      &lt;td&gt;0.132966&lt;/td&gt;
      &lt;td&gt;0.007214&lt;/td&gt;
      &lt;td&gt;0.264126&lt;/td&gt;
      &lt;td&gt;0.165997&lt;/td&gt;
      &lt;td&gt;0.009006&lt;/td&gt;
      &lt;td&gt;0.104326&lt;/td&gt;
      &lt;td&gt;0.005660&lt;/td&gt;
      &lt;td&gt;1&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;th&gt;2&lt;/th&gt;
      &lt;td&gt;0.051838&lt;/td&gt;
      &lt;td&gt;0.173182&lt;/td&gt;
      &lt;td&gt;0.231968&lt;/td&gt;
      &lt;td&gt;0.112885&lt;/td&gt;
      &lt;td&gt;0.021572&lt;/td&gt;
      &lt;td&gt;0.310710&lt;/td&gt;
      &lt;td&gt;0.151204&lt;/td&gt;
      &lt;td&gt;0.028895&lt;/td&gt;
      &lt;td&gt;0.073582&lt;/td&gt;
      &lt;td&gt;0.014062&lt;/td&gt;
      &lt;td&gt;1&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;th&gt;3&lt;/th&gt;
      &lt;td&gt;0.044173&lt;/td&gt;
      &lt;td&gt;0.051653&lt;/td&gt;
      &lt;td&gt;0.065791&lt;/td&gt;
      &lt;td&gt;0.029120&lt;/td&gt;
      &lt;td&gt;0.010039&lt;/td&gt;
      &lt;td&gt;0.083798&lt;/td&gt;
      &lt;td&gt;0.037091&lt;/td&gt;
      &lt;td&gt;0.012787&lt;/td&gt;
      &lt;td&gt;0.016417&lt;/td&gt;
      &lt;td&gt;0.005660&lt;/td&gt;
      &lt;td&gt;1&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;th&gt;4&lt;/th&gt;
      &lt;td&gt;0.030933&lt;/td&gt;
      &lt;td&gt;0.018499&lt;/td&gt;
      &lt;td&gt;0.049745&lt;/td&gt;
      &lt;td&gt;0.013541&lt;/td&gt;
      &lt;td&gt;0.004207&lt;/td&gt;
      &lt;td&gt;0.133769&lt;/td&gt;
      &lt;td&gt;0.036413&lt;/td&gt;
      &lt;td&gt;0.011314&lt;/td&gt;
      &lt;td&gt;0.009912&lt;/td&gt;
      &lt;td&gt;0.003080&lt;/td&gt;
      &lt;td&gt;1&lt;/td&gt;
    &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;

&lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;
&lt;div class=&quot;cell border-box-sizing text_cell rendered&quot;&gt;&lt;div class=&quot;prompt input_prompt&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;inner_cell&quot;&gt;
&lt;div class=&quot;text_cell_render border-box-sizing rendered_html&quot;&gt;
&lt;h2 id=&quot;Modelling&quot;&gt;Modelling&lt;a class=&quot;anchor-link&quot; href=&quot;#Modelling&quot;&gt;&amp;#182;&lt;/a&gt;&lt;/h2&gt;&lt;h3 id=&quot;Choosing-Interpretability&quot;&gt;Choosing Interpretability&lt;a class=&quot;anchor-link&quot; href=&quot;#Choosing-Interpretability&quot;&gt;&amp;#182;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Some machine learning models can help people understand a problem more fully or in a different manner through the way they are constructed. These models are &lt;strong&gt;interpretable&lt;/strong&gt; .&lt;br&gt;
Their decision process can be easily showed and understood to a human. Interpretable models can provide great insight, this is exactly what we did in the first part when building a shallow decision tree to then examine its decision process. Thanks to the shallow decision tree, we knew immediatly what parameters were the most relevant to our problem.&lt;br&gt;
One drawback is that most of the time these models are inherently more simple than others &quot;black-box&quot; models, and their results usually can't compare to more complex algorithms that lose in interpretability.&lt;br&gt;
In this part, we will use a &lt;strong&gt;Decision Tree&lt;/strong&gt; and a &lt;strong&gt;Logistic Regression&lt;/strong&gt; algorithm, tune them to maximize AUC,  and interpret their architecture or coefficients.&lt;/p&gt;
&lt;h3 id=&quot;Decision-tree&quot;&gt;Decision tree&lt;a class=&quot;anchor-link&quot; href=&quot;#Decision-tree&quot;&gt;&amp;#182;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;The last time we used a Decision Tree with the newly engineered features we had an AUC ~80% . Now we want to get a better result and tune the algorithm to maximize the AUC. To do so, we will use the &lt;strong&gt;GridSearchCV&lt;/strong&gt; from sklearn. It allows the construction of a parameter grid that will be applied and tested on the metrics we have specified ( in our case AUC ). Now, one has to be careful with GridSearch as it will train as many models as there are combinations of parameters in the parameter grid. That means it can take some time and can be computationally expensive. Since the data set is pretty small here, there is no problem with testing a few parameters at the same time. Once the GridSearch has finished testing everything, we look for the best parameters and ta-da, we tuned our algorithm.&lt;/p&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;cell border-box-sizing code_cell rendered&quot;&gt;
&lt;div class=&quot;input&quot;&gt;
&lt;div class=&quot;prompt input_prompt&quot;&gt;In&amp;nbsp;[31]:&lt;/div&gt;
&lt;div class=&quot;inner_cell&quot;&gt;
    &lt;div class=&quot;input_area&quot;&gt;
&lt;div class=&quot; highlight hl-ipython3&quot;&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;param_grid&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;max_depth&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;np&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;arange&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;10&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;),&lt;/span&gt;
             &lt;span class=&quot;s1&quot;&gt;&amp;#39;min_samples_leaf&amp;#39;&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;np&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;arange&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;10&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;),&lt;/span&gt;
             &lt;span class=&quot;s1&quot;&gt;&amp;#39;max_features&amp;#39;&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;auto&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;sqrt&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;log2&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;kc&quot;&gt;None&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;],&lt;/span&gt;
             &lt;span class=&quot;s1&quot;&gt;&amp;#39;random_state&amp;#39;&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;37&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,]}&lt;/span&gt;

&lt;span class=&quot;n&quot;&gt;trees&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;GridSearchCV&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;DecisionTreeClassifier&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(),&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;param_grid&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;scoring&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;roc_auc&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;trees&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;fit&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;X_std_pf_chi10&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;y&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;

&lt;span class=&quot;nb&quot;&gt;print&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&amp;quot;The best parameters are : &amp;quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;trees&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;best_params_&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39; giving an AUC : &amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;trees&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;best_score_&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;div class=&quot;output_wrapper&quot;&gt;
&lt;div class=&quot;output&quot;&gt;


&lt;div class=&quot;output_area&quot;&gt;

&lt;div class=&quot;prompt&quot;&gt;&lt;/div&gt;


&lt;div class=&quot;output_subarea output_stream output_stdout output_text&quot;&gt;
&lt;pre&gt;The best parameters are :  {&amp;#39;max_depth&amp;#39;: 3, &amp;#39;max_features&amp;#39;: &amp;#39;auto&amp;#39;, &amp;#39;min_samples_leaf&amp;#39;: 9, &amp;#39;random_state&amp;#39;: 37}  giving an AUC :  0.8193370900171982
&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;
&lt;div class=&quot;cell border-box-sizing text_cell rendered&quot;&gt;&lt;div class=&quot;prompt input_prompt&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;inner_cell&quot;&gt;
&lt;div class=&quot;text_cell_render border-box-sizing rendered_html&quot;&gt;
&lt;p&gt;Since our untuned Decision Tree, we got a &lt;strong&gt;significant&lt;/strong&gt; increase for the AUC.&lt;br&gt;
As we've seen in an earlier part of this notebook, one of the &lt;strong&gt;greatest&lt;/strong&gt; things with Decision Tree is that we can actually plot their architecture on a simple graph and interpret the results directly. This is exactly what we are going to do here :&lt;/p&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;cell border-box-sizing code_cell rendered&quot;&gt;
&lt;div class=&quot;input&quot;&gt;
&lt;div class=&quot;prompt input_prompt&quot;&gt;In&amp;nbsp;[32]:&lt;/div&gt;
&lt;div class=&quot;inner_cell&quot;&gt;
    &lt;div class=&quot;input_area&quot;&gt;
&lt;div class=&quot; highlight hl-ipython3&quot;&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;clf_tree&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;trees&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;best_estimator_&lt;/span&gt;

&lt;span class=&quot;n&quot;&gt;dot&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;tree&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;export_graphviz&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;clf_tree&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;out_file&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;kc&quot;&gt;None&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;
                         &lt;span class=&quot;n&quot;&gt;feature_names&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;df_new&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;columns&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[:&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;],&lt;/span&gt;  
                         &lt;span class=&quot;n&quot;&gt;class_names&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;Normal&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;Abnormal&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;],&lt;/span&gt; 
                         &lt;span class=&quot;n&quot;&gt;filled&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;kc&quot;&gt;True&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;rounded&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;kc&quot;&gt;True&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;  
                         &lt;span class=&quot;n&quot;&gt;special_characters&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;kc&quot;&gt;True&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;  
&lt;span class=&quot;n&quot;&gt;graph&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;graphviz&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Source&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;dot&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt; 
&lt;span class=&quot;n&quot;&gt;graph&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;render&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&amp;quot;back problems2&amp;quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;graph&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;div class=&quot;output_wrapper&quot;&gt;
&lt;div class=&quot;output&quot;&gt;


&lt;div class=&quot;output_area&quot;&gt;

&lt;div class=&quot;prompt output_prompt&quot;&gt;Out[32]:&lt;/div&gt;



&lt;div class=&quot;output_svg output_subarea output_execute_result&quot;&gt;
&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;
&lt;!DOCTYPE svg PUBLIC &quot;-//W3C//DTD SVG 1.1//EN&quot;
 &quot;http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd&quot;&gt;
&lt;!-- Generated by graphviz version 2.38.0 (20140413.2041)
 --&gt;
&lt;!-- Title: Tree Pages: 1 --&gt;
&lt;svg width=&quot;917pt&quot; height=&quot;433pt&quot;
 viewBox=&quot;0.00 0.00 917.00 433.00&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot;&gt;
&lt;g id=&quot;graph0&quot; class=&quot;graph&quot; transform=&quot;scale(1 1) rotate(0) translate(4 429)&quot;&gt;
&lt;title&gt;Tree&lt;/title&gt;
&lt;polygon fill=&quot;white&quot; stroke=&quot;none&quot; points=&quot;-4,4 -4,-429 913,-429 913,4 -4,4&quot;/&gt;
&lt;!-- 0 --&gt;
&lt;g id=&quot;node1&quot; class=&quot;node&quot;&gt;&lt;title&gt;0&lt;/title&gt;
&lt;path fill=&quot;#399de5&quot; fill-opacity=&quot;0.521569&quot; stroke=&quot;black&quot; d=&quot;M689,-425C689,-425 387,-425 387,-425 381,-425 375,-419 375,-413 375,-413 375,-354 375,-354 375,-348 381,-342 387,-342 387,-342 689,-342 689,-342 695,-342 701,-348 701,-354 701,-354 701,-413 701,-413 701,-419 695,-425 689,-425&quot;/&gt;
&lt;text text-anchor=&quot;start&quot; x=&quot;383&quot; y=&quot;-409.8&quot; font-family=&quot;Helvetica,sans-Serif&quot; font-size=&quot;14.00&quot;&gt;Pelvic_incidence*Degree_spondylolisthesis ≤ 0.016&lt;/text&gt;
&lt;text text-anchor=&quot;start&quot; x=&quot;502.5&quot; y=&quot;-394.8&quot; font-family=&quot;Helvetica,sans-Serif&quot; font-size=&quot;14.00&quot;&gt;gini = 0.438&lt;/text&gt;
&lt;text text-anchor=&quot;start&quot; x=&quot;493&quot; y=&quot;-379.8&quot; font-family=&quot;Helvetica,sans-Serif&quot; font-size=&quot;14.00&quot;&gt;samples = 309&lt;/text&gt;
&lt;text text-anchor=&quot;start&quot; x=&quot;483.5&quot; y=&quot;-364.8&quot; font-family=&quot;Helvetica,sans-Serif&quot; font-size=&quot;14.00&quot;&gt;value = [100, 209]&lt;/text&gt;
&lt;text text-anchor=&quot;start&quot; x=&quot;485&quot; y=&quot;-349.8&quot; font-family=&quot;Helvetica,sans-Serif&quot; font-size=&quot;14.00&quot;&gt;class = Abnormal&lt;/text&gt;
&lt;/g&gt;
&lt;!-- 1 --&gt;
&lt;g id=&quot;node2&quot; class=&quot;node&quot;&gt;&lt;title&gt;1&lt;/title&gt;
&lt;path fill=&quot;#e58139&quot; fill-opacity=&quot;0.321569&quot; stroke=&quot;black&quot; d=&quot;M491,-306C491,-306 295,-306 295,-306 289,-306 283,-300 283,-294 283,-294 283,-235 283,-235 283,-229 289,-223 295,-223 295,-223 491,-223 491,-223 497,-223 503,-229 503,-235 503,-235 503,-294 503,-294 503,-300 497,-306 491,-306&quot;/&gt;
&lt;text text-anchor=&quot;start&quot; x=&quot;291&quot; y=&quot;-290.8&quot; font-family=&quot;Helvetica,sans-Serif&quot; font-size=&quot;14.00&quot;&gt;Degree_spondylolisthesis ≤ 0.038&lt;/text&gt;
&lt;text text-anchor=&quot;start&quot; x=&quot;357.5&quot; y=&quot;-275.8&quot; font-family=&quot;Helvetica,sans-Serif&quot; font-size=&quot;14.00&quot;&gt;gini = 0.482&lt;/text&gt;
&lt;text text-anchor=&quot;start&quot; x=&quot;348&quot; y=&quot;-260.8&quot; font-family=&quot;Helvetica,sans-Serif&quot; font-size=&quot;14.00&quot;&gt;samples = 156&lt;/text&gt;
&lt;text text-anchor=&quot;start&quot; x=&quot;346&quot; y=&quot;-245.8&quot; font-family=&quot;Helvetica,sans-Serif&quot; font-size=&quot;14.00&quot;&gt;value = [93, 63]&lt;/text&gt;
&lt;text text-anchor=&quot;start&quot; x=&quot;347.5&quot; y=&quot;-230.8&quot; font-family=&quot;Helvetica,sans-Serif&quot; font-size=&quot;14.00&quot;&gt;class = Normal&lt;/text&gt;
&lt;/g&gt;
&lt;!-- 0&amp;#45;&amp;gt;1 --&gt;
&lt;g id=&quot;edge1&quot; class=&quot;edge&quot;&gt;&lt;title&gt;0&amp;#45;&amp;gt;1&lt;/title&gt;
&lt;path fill=&quot;none&quot; stroke=&quot;black&quot; d=&quot;M487.693,-341.907C475.884,-332.379 463.205,-322.148 451.086,-312.37&quot;/&gt;
&lt;polygon fill=&quot;black&quot; stroke=&quot;black&quot; points=&quot;453.198,-309.577 443.218,-306.021 448.803,-315.024 453.198,-309.577&quot;/&gt;
&lt;text text-anchor=&quot;middle&quot; x=&quot;445.875&quot; y=&quot;-327.179&quot; font-family=&quot;Helvetica,sans-Serif&quot; font-size=&quot;14.00&quot;&gt;True&lt;/text&gt;
&lt;/g&gt;
&lt;!-- 8 --&gt;
&lt;g id=&quot;node9&quot; class=&quot;node&quot;&gt;&lt;title&gt;8&lt;/title&gt;
&lt;path fill=&quot;#399de5&quot; fill-opacity=&quot;0.952941&quot; stroke=&quot;black&quot; d=&quot;M835,-306C835,-306 533,-306 533,-306 527,-306 521,-300 521,-294 521,-294 521,-235 521,-235 521,-229 527,-223 533,-223 533,-223 835,-223 835,-223 841,-223 847,-229 847,-235 847,-235 847,-294 847,-294 847,-300 841,-306 835,-306&quot;/&gt;
&lt;text text-anchor=&quot;start&quot; x=&quot;529&quot; y=&quot;-290.8&quot; font-family=&quot;Helvetica,sans-Serif&quot; font-size=&quot;14.00&quot;&gt;Pelvic_incidence*Degree_spondylolisthesis ≤ 0.035&lt;/text&gt;
&lt;text text-anchor=&quot;start&quot; x=&quot;648.5&quot; y=&quot;-275.8&quot; font-family=&quot;Helvetica,sans-Serif&quot; font-size=&quot;14.00&quot;&gt;gini = 0.087&lt;/text&gt;
&lt;text text-anchor=&quot;start&quot; x=&quot;639&quot; y=&quot;-260.8&quot; font-family=&quot;Helvetica,sans-Serif&quot; font-size=&quot;14.00&quot;&gt;samples = 153&lt;/text&gt;
&lt;text text-anchor=&quot;start&quot; x=&quot;637&quot; y=&quot;-245.8&quot; font-family=&quot;Helvetica,sans-Serif&quot; font-size=&quot;14.00&quot;&gt;value = [7, 146]&lt;/text&gt;
&lt;text text-anchor=&quot;start&quot; x=&quot;631&quot; y=&quot;-230.8&quot; font-family=&quot;Helvetica,sans-Serif&quot; font-size=&quot;14.00&quot;&gt;class = Abnormal&lt;/text&gt;
&lt;/g&gt;
&lt;!-- 0&amp;#45;&amp;gt;8 --&gt;
&lt;g id=&quot;edge8&quot; class=&quot;edge&quot;&gt;&lt;title&gt;0&amp;#45;&amp;gt;8&lt;/title&gt;
&lt;path fill=&quot;none&quot; stroke=&quot;black&quot; d=&quot;M588.654,-341.907C600.545,-332.379 613.311,-322.148 625.513,-312.37&quot;/&gt;
&lt;polygon fill=&quot;black&quot; stroke=&quot;black&quot; points=&quot;627.821,-315.006 633.436,-306.021 623.443,-309.543 627.821,-315.006&quot;/&gt;
&lt;text text-anchor=&quot;middle&quot; x=&quot;630.696&quot; y=&quot;-327.17&quot; font-family=&quot;Helvetica,sans-Serif&quot; font-size=&quot;14.00&quot;&gt;False&lt;/text&gt;
&lt;/g&gt;
&lt;!-- 2 --&gt;
&lt;g id=&quot;node3&quot; class=&quot;node&quot;&gt;&lt;title&gt;2&lt;/title&gt;
&lt;path fill=&quot;#e58139&quot; fill-opacity=&quot;0.517647&quot; stroke=&quot;black&quot; d=&quot;M213,-187C213,-187 23,-187 23,-187 17,-187 11,-181 11,-175 11,-175 11,-116 11,-116 11,-110 17,-104 23,-104 23,-104 213,-104 213,-104 219,-104 225,-110 225,-116 225,-116 225,-175 225,-175 225,-181 219,-187 213,-187&quot;/&gt;
&lt;text text-anchor=&quot;start&quot; x=&quot;19&quot; y=&quot;-171.8&quot; font-family=&quot;Helvetica,sans-Serif&quot; font-size=&quot;14.00&quot;&gt;Lumbar_lordosis_angle^2 ≤ 0.01&lt;/text&gt;
&lt;text text-anchor=&quot;start&quot; x=&quot;82.5&quot; y=&quot;-156.8&quot; font-family=&quot;Helvetica,sans-Serif&quot; font-size=&quot;14.00&quot;&gt;gini = 0.438&lt;/text&gt;
&lt;text text-anchor=&quot;start&quot; x=&quot;73&quot; y=&quot;-141.8&quot; font-family=&quot;Helvetica,sans-Serif&quot; font-size=&quot;14.00&quot;&gt;samples = 114&lt;/text&gt;
&lt;text text-anchor=&quot;start&quot; x=&quot;71&quot; y=&quot;-126.8&quot; font-family=&quot;Helvetica,sans-Serif&quot; font-size=&quot;14.00&quot;&gt;value = [77, 37]&lt;/text&gt;
&lt;text text-anchor=&quot;start&quot; x=&quot;72.5&quot; y=&quot;-111.8&quot; font-family=&quot;Helvetica,sans-Serif&quot; font-size=&quot;14.00&quot;&gt;class = Normal&lt;/text&gt;
&lt;/g&gt;
&lt;!-- 1&amp;#45;&amp;gt;2 --&gt;
&lt;g id=&quot;edge2&quot; class=&quot;edge&quot;&gt;&lt;title&gt;1&amp;#45;&amp;gt;2&lt;/title&gt;
&lt;path fill=&quot;none&quot; stroke=&quot;black&quot; d=&quot;M297.59,-222.907C273.38,-212.607 247.244,-201.487 222.604,-191.004&quot;/&gt;
&lt;polygon fill=&quot;black&quot; stroke=&quot;black&quot; points=&quot;223.813,-187.715 213.241,-187.021 221.073,-194.156 223.813,-187.715&quot;/&gt;
&lt;/g&gt;
&lt;!-- 5 --&gt;
&lt;g id=&quot;node6&quot; class=&quot;node&quot;&gt;&lt;title&gt;5&lt;/title&gt;
&lt;path fill=&quot;#399de5&quot; fill-opacity=&quot;0.384314&quot; stroke=&quot;black&quot; d=&quot;M544.5,-187C544.5,-187 255.5,-187 255.5,-187 249.5,-187 243.5,-181 243.5,-175 243.5,-175 243.5,-116 243.5,-116 243.5,-110 249.5,-104 255.5,-104 255.5,-104 544.5,-104 544.5,-104 550.5,-104 556.5,-110 556.5,-116 556.5,-116 556.5,-175 556.5,-175 556.5,-181 550.5,-187 544.5,-187&quot;/&gt;
&lt;text text-anchor=&quot;start&quot; x=&quot;251.5&quot; y=&quot;-171.8&quot; font-family=&quot;Helvetica,sans-Serif&quot; font-size=&quot;14.00&quot;&gt;Pelvic_incidence*Lumbar_lordosis_angle ≤ 0.046&lt;/text&gt;
&lt;text text-anchor=&quot;start&quot; x=&quot;364.5&quot; y=&quot;-156.8&quot; font-family=&quot;Helvetica,sans-Serif&quot; font-size=&quot;14.00&quot;&gt;gini = 0.472&lt;/text&gt;
&lt;text text-anchor=&quot;start&quot; x=&quot;359&quot; y=&quot;-141.8&quot; font-family=&quot;Helvetica,sans-Serif&quot; font-size=&quot;14.00&quot;&gt;samples = 42&lt;/text&gt;
&lt;text text-anchor=&quot;start&quot; x=&quot;353&quot; y=&quot;-126.8&quot; font-family=&quot;Helvetica,sans-Serif&quot; font-size=&quot;14.00&quot;&gt;value = [16, 26]&lt;/text&gt;
&lt;text text-anchor=&quot;start&quot; x=&quot;347&quot; y=&quot;-111.8&quot; font-family=&quot;Helvetica,sans-Serif&quot; font-size=&quot;14.00&quot;&gt;class = Abnormal&lt;/text&gt;
&lt;/g&gt;
&lt;!-- 1&amp;#45;&amp;gt;5 --&gt;
&lt;g id=&quot;edge5&quot; class=&quot;edge&quot;&gt;&lt;title&gt;1&amp;#45;&amp;gt;5&lt;/title&gt;
&lt;path fill=&quot;none&quot; stroke=&quot;black&quot; d=&quot;M395.429,-222.907C395.928,-214.558 396.46,-205.671 396.977,-197.02&quot;/&gt;
&lt;polygon fill=&quot;black&quot; stroke=&quot;black&quot; points=&quot;400.472,-197.212 397.576,-187.021 393.485,-196.794 400.472,-197.212&quot;/&gt;
&lt;/g&gt;
&lt;!-- 3 --&gt;
&lt;g id=&quot;node4&quot; class=&quot;node&quot;&gt;&lt;title&gt;3&lt;/title&gt;
&lt;path fill=&quot;#399de5&quot; fill-opacity=&quot;0.874510&quot; stroke=&quot;black&quot; d=&quot;M110,-68C110,-68 12,-68 12,-68 6,-68 -7.10543e-15,-62 -7.10543e-15,-56 -7.10543e-15,-56 -7.10543e-15,-12 -7.10543e-15,-12 -7.10543e-15,-6 6,-0 12,-0 12,-0 110,-0 110,-0 116,-0 122,-6 122,-12 122,-12 122,-56 122,-56 122,-62 116,-68 110,-68&quot;/&gt;
&lt;text text-anchor=&quot;start&quot; x=&quot;25.5&quot; y=&quot;-52.8&quot; font-family=&quot;Helvetica,sans-Serif&quot; font-size=&quot;14.00&quot;&gt;gini = 0.198&lt;/text&gt;
&lt;text text-anchor=&quot;start&quot; x=&quot;23.5&quot; y=&quot;-37.8&quot; font-family=&quot;Helvetica,sans-Serif&quot; font-size=&quot;14.00&quot;&gt;samples = 9&lt;/text&gt;
&lt;text text-anchor=&quot;start&quot; x=&quot;21.5&quot; y=&quot;-22.8&quot; font-family=&quot;Helvetica,sans-Serif&quot; font-size=&quot;14.00&quot;&gt;value = [1, 8]&lt;/text&gt;
&lt;text text-anchor=&quot;start&quot; x=&quot;8&quot; y=&quot;-7.8&quot; font-family=&quot;Helvetica,sans-Serif&quot; font-size=&quot;14.00&quot;&gt;class = Abnormal&lt;/text&gt;
&lt;/g&gt;
&lt;!-- 2&amp;#45;&amp;gt;3 --&gt;
&lt;g id=&quot;edge3&quot; class=&quot;edge&quot;&gt;&lt;title&gt;2&amp;#45;&amp;gt;3&lt;/title&gt;
&lt;path fill=&quot;none&quot; stroke=&quot;black&quot; d=&quot;M96.7753,-103.726C92.2649,-95.0615 87.4939,-85.8962 82.9568,-77.1802&quot;/&gt;
&lt;polygon fill=&quot;black&quot; stroke=&quot;black&quot; points=&quot;86.056,-75.5537 78.334,-68.2996 79.8469,-78.7859 86.056,-75.5537&quot;/&gt;
&lt;/g&gt;
&lt;!-- 4 --&gt;
&lt;g id=&quot;node5&quot; class=&quot;node&quot;&gt;&lt;title&gt;4&lt;/title&gt;
&lt;path fill=&quot;#e58139&quot; fill-opacity=&quot;0.619608&quot; stroke=&quot;black&quot; d=&quot;M238,-68C238,-68 152,-68 152,-68 146,-68 140,-62 140,-56 140,-56 140,-12 140,-12 140,-6 146,-0 152,-0 152,-0 238,-0 238,-0 244,-0 250,-6 250,-12 250,-12 250,-56 250,-56 250,-62 244,-68 238,-68&quot;/&gt;
&lt;text text-anchor=&quot;start&quot; x=&quot;167&quot; y=&quot;-52.8&quot; font-family=&quot;Helvetica,sans-Serif&quot; font-size=&quot;14.00&quot;&gt;gini = 0.4&lt;/text&gt;
&lt;text text-anchor=&quot;start&quot; x=&quot;150&quot; y=&quot;-37.8&quot; font-family=&quot;Helvetica,sans-Serif&quot; font-size=&quot;14.00&quot;&gt;samples = 105&lt;/text&gt;
&lt;text text-anchor=&quot;start&quot; x=&quot;148&quot; y=&quot;-22.8&quot; font-family=&quot;Helvetica,sans-Serif&quot; font-size=&quot;14.00&quot;&gt;value = [76, 29]&lt;/text&gt;
&lt;text text-anchor=&quot;start&quot; x=&quot;149.5&quot; y=&quot;-7.8&quot; font-family=&quot;Helvetica,sans-Serif&quot; font-size=&quot;14.00&quot;&gt;class = Normal&lt;/text&gt;
&lt;/g&gt;
&lt;!-- 2&amp;#45;&amp;gt;4 --&gt;
&lt;g id=&quot;edge4&quot; class=&quot;edge&quot;&gt;&lt;title&gt;2&amp;#45;&amp;gt;4&lt;/title&gt;
&lt;path fill=&quot;none&quot; stroke=&quot;black&quot; d=&quot;M146.672,-103.726C152.893,-94.879 159.482,-85.51 165.726,-76.6303&quot;/&gt;
&lt;polygon fill=&quot;black&quot; stroke=&quot;black&quot; points=&quot;168.695,-78.4929 171.584,-68.2996 162.969,-74.4664 168.695,-78.4929&quot;/&gt;
&lt;/g&gt;
&lt;!-- 6 --&gt;
&lt;g id=&quot;node7&quot; class=&quot;node&quot;&gt;&lt;title&gt;6&lt;/title&gt;
&lt;path fill=&quot;#399de5&quot; fill-opacity=&quot;0.666667&quot; stroke=&quot;black&quot; d=&quot;M413,-68C413,-68 315,-68 315,-68 309,-68 303,-62 303,-56 303,-56 303,-12 303,-12 303,-6 309,-0 315,-0 315,-0 413,-0 413,-0 419,-0 425,-6 425,-12 425,-12 425,-56 425,-56 425,-62 419,-68 413,-68&quot;/&gt;
&lt;text text-anchor=&quot;start&quot; x=&quot;328.5&quot; y=&quot;-52.8&quot; font-family=&quot;Helvetica,sans-Serif&quot; font-size=&quot;14.00&quot;&gt;gini = 0.375&lt;/text&gt;
&lt;text text-anchor=&quot;start&quot; x=&quot;323&quot; y=&quot;-37.8&quot; font-family=&quot;Helvetica,sans-Serif&quot; font-size=&quot;14.00&quot;&gt;samples = 24&lt;/text&gt;
&lt;text text-anchor=&quot;start&quot; x=&quot;321&quot; y=&quot;-22.8&quot; font-family=&quot;Helvetica,sans-Serif&quot; font-size=&quot;14.00&quot;&gt;value = [6, 18]&lt;/text&gt;
&lt;text text-anchor=&quot;start&quot; x=&quot;311&quot; y=&quot;-7.8&quot; font-family=&quot;Helvetica,sans-Serif&quot; font-size=&quot;14.00&quot;&gt;class = Abnormal&lt;/text&gt;
&lt;/g&gt;
&lt;!-- 5&amp;#45;&amp;gt;6 --&gt;
&lt;g id=&quot;edge6&quot; class=&quot;edge&quot;&gt;&lt;title&gt;5&amp;#45;&amp;gt;6&lt;/title&gt;
&lt;path fill=&quot;none&quot; stroke=&quot;black&quot; d=&quot;M386.595,-103.726C383.836,-95.3351 380.923,-86.4745 378.139,-78.0072&quot;/&gt;
&lt;polygon fill=&quot;black&quot; stroke=&quot;black&quot; points=&quot;381.396,-76.7062 374.948,-68.2996 374.746,-78.8925 381.396,-76.7062&quot;/&gt;
&lt;/g&gt;
&lt;!-- 7 --&gt;
&lt;g id=&quot;node8&quot; class=&quot;node&quot;&gt;&lt;title&gt;7&lt;/title&gt;
&lt;path fill=&quot;#e58139&quot; fill-opacity=&quot;0.200000&quot; stroke=&quot;black&quot; d=&quot;M538.5,-68C538.5,-68 455.5,-68 455.5,-68 449.5,-68 443.5,-62 443.5,-56 443.5,-56 443.5,-12 443.5,-12 443.5,-6 449.5,-0 455.5,-0 455.5,-0 538.5,-0 538.5,-0 544.5,-0 550.5,-6 550.5,-12 550.5,-12 550.5,-56 550.5,-56 550.5,-62 544.5,-68 538.5,-68&quot;/&gt;
&lt;text text-anchor=&quot;start&quot; x=&quot;461.5&quot; y=&quot;-52.8&quot; font-family=&quot;Helvetica,sans-Serif&quot; font-size=&quot;14.00&quot;&gt;gini = 0.494&lt;/text&gt;
&lt;text text-anchor=&quot;start&quot; x=&quot;456&quot; y=&quot;-37.8&quot; font-family=&quot;Helvetica,sans-Serif&quot; font-size=&quot;14.00&quot;&gt;samples = 18&lt;/text&gt;
&lt;text text-anchor=&quot;start&quot; x=&quot;454&quot; y=&quot;-22.8&quot; font-family=&quot;Helvetica,sans-Serif&quot; font-size=&quot;14.00&quot;&gt;value = [10, 8]&lt;/text&gt;
&lt;text text-anchor=&quot;start&quot; x=&quot;451.5&quot; y=&quot;-7.8&quot; font-family=&quot;Helvetica,sans-Serif&quot; font-size=&quot;14.00&quot;&gt;class = Normal&lt;/text&gt;
&lt;/g&gt;
&lt;!-- 5&amp;#45;&amp;gt;7 --&gt;
&lt;g id=&quot;edge7&quot; class=&quot;edge&quot;&gt;&lt;title&gt;5&amp;#45;&amp;gt;7&lt;/title&gt;
&lt;path fill=&quot;none&quot; stroke=&quot;black&quot; d=&quot;M436.119,-103.726C444.199,-94.6054 452.77,-84.93 460.851,-75.8078&quot;/&gt;
&lt;polygon fill=&quot;black&quot; stroke=&quot;black&quot; points=&quot;463.491,-78.1058 467.502,-68.2996 458.251,-73.4642 463.491,-78.1058&quot;/&gt;
&lt;/g&gt;
&lt;!-- 9 --&gt;
&lt;g id=&quot;node10&quot; class=&quot;node&quot;&gt;&lt;title&gt;9&lt;/title&gt;
&lt;path fill=&quot;#399de5&quot; fill-opacity=&quot;0.803922&quot; stroke=&quot;black&quot; d=&quot;M756.5,-187C756.5,-187 599.5,-187 599.5,-187 593.5,-187 587.5,-181 587.5,-175 587.5,-175 587.5,-116 587.5,-116 587.5,-110 593.5,-104 599.5,-104 599.5,-104 756.5,-104 756.5,-104 762.5,-104 768.5,-110 768.5,-116 768.5,-116 768.5,-175 768.5,-175 768.5,-181 762.5,-187 756.5,-187&quot;/&gt;
&lt;text text-anchor=&quot;start&quot; x=&quot;595.5&quot; y=&quot;-171.8&quot; font-family=&quot;Helvetica,sans-Serif&quot; font-size=&quot;14.00&quot;&gt;Pelvic_incidence^2 ≤ 0.129&lt;/text&gt;
&lt;text text-anchor=&quot;start&quot; x=&quot;642.5&quot; y=&quot;-156.8&quot; font-family=&quot;Helvetica,sans-Serif&quot; font-size=&quot;14.00&quot;&gt;gini = 0.273&lt;/text&gt;
&lt;text text-anchor=&quot;start&quot; x=&quot;637&quot; y=&quot;-141.8&quot; font-family=&quot;Helvetica,sans-Serif&quot; font-size=&quot;14.00&quot;&gt;samples = 43&lt;/text&gt;
&lt;text text-anchor=&quot;start&quot; x=&quot;635&quot; y=&quot;-126.8&quot; font-family=&quot;Helvetica,sans-Serif&quot; font-size=&quot;14.00&quot;&gt;value = [7, 36]&lt;/text&gt;
&lt;text text-anchor=&quot;start&quot; x=&quot;625&quot; y=&quot;-111.8&quot; font-family=&quot;Helvetica,sans-Serif&quot; font-size=&quot;14.00&quot;&gt;class = Abnormal&lt;/text&gt;
&lt;/g&gt;
&lt;!-- 8&amp;#45;&amp;gt;9 --&gt;
&lt;g id=&quot;edge9&quot; class=&quot;edge&quot;&gt;&lt;title&gt;8&amp;#45;&amp;gt;9&lt;/title&gt;
&lt;path fill=&quot;none&quot; stroke=&quot;black&quot; d=&quot;M681.918,-222.907C681.49,-214.558 681.034,-205.671 680.591,-197.02&quot;/&gt;
&lt;polygon fill=&quot;black&quot; stroke=&quot;black&quot; points=&quot;684.086,-196.828 680.078,-187.021 677.095,-197.187 684.086,-196.828&quot;/&gt;
&lt;/g&gt;
&lt;!-- 12 --&gt;
&lt;g id=&quot;node13&quot; class=&quot;node&quot;&gt;&lt;title&gt;12&lt;/title&gt;
&lt;path fill=&quot;#399de5&quot; stroke=&quot;black&quot; d=&quot;M897,-179.5C897,-179.5 799,-179.5 799,-179.5 793,-179.5 787,-173.5 787,-167.5 787,-167.5 787,-123.5 787,-123.5 787,-117.5 793,-111.5 799,-111.5 799,-111.5 897,-111.5 897,-111.5 903,-111.5 909,-117.5 909,-123.5 909,-123.5 909,-167.5 909,-167.5 909,-173.5 903,-179.5 897,-179.5&quot;/&gt;
&lt;text text-anchor=&quot;start&quot; x=&quot;820&quot; y=&quot;-164.3&quot; font-family=&quot;Helvetica,sans-Serif&quot; font-size=&quot;14.00&quot;&gt;gini = 0.0&lt;/text&gt;
&lt;text text-anchor=&quot;start&quot; x=&quot;803&quot; y=&quot;-149.3&quot; font-family=&quot;Helvetica,sans-Serif&quot; font-size=&quot;14.00&quot;&gt;samples = 110&lt;/text&gt;
&lt;text text-anchor=&quot;start&quot; x=&quot;801&quot; y=&quot;-134.3&quot; font-family=&quot;Helvetica,sans-Serif&quot; font-size=&quot;14.00&quot;&gt;value = [0, 110]&lt;/text&gt;
&lt;text text-anchor=&quot;start&quot; x=&quot;795&quot; y=&quot;-119.3&quot; font-family=&quot;Helvetica,sans-Serif&quot; font-size=&quot;14.00&quot;&gt;class = Abnormal&lt;/text&gt;
&lt;/g&gt;
&lt;!-- 8&amp;#45;&amp;gt;12 --&gt;
&lt;g id=&quot;edge12&quot; class=&quot;edge&quot;&gt;&lt;title&gt;8&amp;#45;&amp;gt;12&lt;/title&gt;
&lt;path fill=&quot;none&quot; stroke=&quot;black&quot; d=&quot;M740.899,-222.907C757.758,-210.88 776.184,-197.735 792.926,-185.791&quot;/&gt;
&lt;polygon fill=&quot;black&quot; stroke=&quot;black&quot; points=&quot;795.402,-188.324 801.51,-179.667 791.336,-182.625 795.402,-188.324&quot;/&gt;
&lt;/g&gt;
&lt;!-- 10 --&gt;
&lt;g id=&quot;node11&quot; class=&quot;node&quot;&gt;&lt;title&gt;10&lt;/title&gt;
&lt;path fill=&quot;#399de5&quot; fill-opacity=&quot;0.964706&quot; stroke=&quot;black&quot; d=&quot;M703,-68C703,-68 605,-68 605,-68 599,-68 593,-62 593,-56 593,-56 593,-12 593,-12 593,-6 599,-0 605,-0 605,-0 703,-0 703,-0 709,-0 715,-6 715,-12 715,-12 715,-56 715,-56 715,-62 709,-68 703,-68&quot;/&gt;
&lt;text text-anchor=&quot;start&quot; x=&quot;618.5&quot; y=&quot;-52.8&quot; font-family=&quot;Helvetica,sans-Serif&quot; font-size=&quot;14.00&quot;&gt;gini = 0.067&lt;/text&gt;
&lt;text text-anchor=&quot;start&quot; x=&quot;613&quot; y=&quot;-37.8&quot; font-family=&quot;Helvetica,sans-Serif&quot; font-size=&quot;14.00&quot;&gt;samples = 29&lt;/text&gt;
&lt;text text-anchor=&quot;start&quot; x=&quot;611&quot; y=&quot;-22.8&quot; font-family=&quot;Helvetica,sans-Serif&quot; font-size=&quot;14.00&quot;&gt;value = [1, 28]&lt;/text&gt;
&lt;text text-anchor=&quot;start&quot; x=&quot;601&quot; y=&quot;-7.8&quot; font-family=&quot;Helvetica,sans-Serif&quot; font-size=&quot;14.00&quot;&gt;class = Abnormal&lt;/text&gt;
&lt;/g&gt;
&lt;!-- 9&amp;#45;&amp;gt;10 --&gt;
&lt;g id=&quot;edge10&quot; class=&quot;edge&quot;&gt;&lt;title&gt;9&amp;#45;&amp;gt;10&lt;/title&gt;
&lt;path fill=&quot;none&quot; stroke=&quot;black&quot; d=&quot;M669.063,-103.726C667.244,-95.4263 665.324,-86.6671 663.487,-78.2834&quot;/&gt;
&lt;polygon fill=&quot;black&quot; stroke=&quot;black&quot; points=&quot;666.858,-77.3184 661.299,-68.2996 660.021,-78.8171 666.858,-77.3184&quot;/&gt;
&lt;/g&gt;
&lt;!-- 11 --&gt;
&lt;g id=&quot;node12&quot; class=&quot;node&quot;&gt;&lt;title&gt;11&lt;/title&gt;
&lt;path fill=&quot;#399de5&quot; fill-opacity=&quot;0.250980&quot; stroke=&quot;black&quot; d=&quot;M843,-68C843,-68 745,-68 745,-68 739,-68 733,-62 733,-56 733,-56 733,-12 733,-12 733,-6 739,-0 745,-0 745,-0 843,-0 843,-0 849,-0 855,-6 855,-12 855,-12 855,-56 855,-56 855,-62 849,-68 843,-68&quot;/&gt;
&lt;text text-anchor=&quot;start&quot; x=&quot;762&quot; y=&quot;-52.8&quot; font-family=&quot;Helvetica,sans-Serif&quot; font-size=&quot;14.00&quot;&gt;gini = 0.49&lt;/text&gt;
&lt;text text-anchor=&quot;start&quot; x=&quot;753&quot; y=&quot;-37.8&quot; font-family=&quot;Helvetica,sans-Serif&quot; font-size=&quot;14.00&quot;&gt;samples = 14&lt;/text&gt;
&lt;text text-anchor=&quot;start&quot; x=&quot;754.5&quot; y=&quot;-22.8&quot; font-family=&quot;Helvetica,sans-Serif&quot; font-size=&quot;14.00&quot;&gt;value = [6, 8]&lt;/text&gt;
&lt;text text-anchor=&quot;start&quot; x=&quot;741&quot; y=&quot;-7.8&quot; font-family=&quot;Helvetica,sans-Serif&quot; font-size=&quot;14.00&quot;&gt;class = Abnormal&lt;/text&gt;
&lt;/g&gt;
&lt;!-- 9&amp;#45;&amp;gt;11 --&gt;
&lt;g id=&quot;edge11&quot; class=&quot;edge&quot;&gt;&lt;title&gt;9&amp;#45;&amp;gt;11&lt;/title&gt;
&lt;path fill=&quot;none&quot; stroke=&quot;black&quot; d=&quot;M721.194,-103.726C731.05,-94.423 741.516,-84.5428 751.349,-75.2612&quot;/&gt;
&lt;polygon fill=&quot;black&quot; stroke=&quot;black&quot; points=&quot;753.854,-77.7092 758.724,-68.2996 749.049,-72.6189 753.854,-77.7092&quot;/&gt;
&lt;/g&gt;
&lt;/g&gt;
&lt;/svg&gt;

&lt;/div&gt;

&lt;/div&gt;

&lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;
&lt;div class=&quot;cell border-box-sizing text_cell rendered&quot;&gt;&lt;div class=&quot;prompt input_prompt&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;inner_cell&quot;&gt;
&lt;div class=&quot;text_cell_render border-box-sizing rendered_html&quot;&gt;
&lt;p&gt;From the top to the bottom we go from the most important parameters to the least important ones ( in regards to the Decision Tree algorithm ).&lt;/p&gt;
&lt;p&gt;As such :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Degree_spondylolisthesis * Pelvic_incidence is the most influencial factor towards having back problems ( we've seen this result previously )&lt;/li&gt;
&lt;li&gt;Degree_spondylolisthesis is the second one&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;If you paid attention to all the parameters we were using, you probably realised that some parameters were missing from this tree.&lt;br&gt;
The Decision Tree as implemented in sklearn also comes with a method : &lt;code&gt;.feature_importances&lt;/code&gt;. The name is pretty self-explanatory, let's dig into this.&lt;/p&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;cell border-box-sizing code_cell rendered&quot;&gt;
&lt;div class=&quot;input&quot;&gt;
&lt;div class=&quot;prompt input_prompt&quot;&gt;In&amp;nbsp;[33]:&lt;/div&gt;
&lt;div class=&quot;inner_cell&quot;&gt;
    &lt;div class=&quot;input_area&quot;&gt;
&lt;div class=&quot; highlight hl-ipython3&quot;&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;clf_tree&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;feature_importances_&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;div class=&quot;output_wrapper&quot;&gt;
&lt;div class=&quot;output&quot;&gt;


&lt;div class=&quot;output_area&quot;&gt;

&lt;div class=&quot;prompt output_prompt&quot;&gt;Out[33]:&lt;/div&gt;




&lt;div class=&quot;output_text output_subarea output_execute_result&quot;&gt;
&lt;pre&gt;array([0.08210153, 0.04523111, 0.        , 0.02962147, 0.74705892,
       0.        , 0.        , 0.        , 0.09598696, 0.        ])&lt;/pre&gt;
&lt;/div&gt;

&lt;/div&gt;

&lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;
&lt;div class=&quot;cell border-box-sizing text_cell rendered&quot;&gt;&lt;div class=&quot;prompt input_prompt&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;inner_cell&quot;&gt;
&lt;div class=&quot;text_cell_render border-box-sizing rendered_html&quot;&gt;
&lt;p&gt;We see that five values are set to 0, they correspond to the columns :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Pelvic_incidence * Pelvic_tilt&lt;/li&gt;
&lt;li&gt;Pelvic_tilt^2&lt;/li&gt;
&lt;li&gt;Pelvic_tilt * Degree_spondylolisthesis&lt;/li&gt;
&lt;li&gt;Lumbar_lordosis_angle^2&lt;/li&gt;
&lt;li&gt;And Lumbar_lordosis_angle * Degree_spondylolisthesis&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;This isn't a mistake, it is simply due to the shallowness of the tree. Remember, the best parameters set a &lt;code&gt;'max_depth': 3&lt;/code&gt;. With a deeper tree, these features would get a non-zero value for their importance, but probably still pretty close to zero. The fact that while doing GridSearch we got the best results for a shallower tree may show that the inclusion of the current zero features would have lead to overfitting the data set and thus reduce the AUC.&lt;/p&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;cell border-box-sizing text_cell rendered&quot;&gt;&lt;div class=&quot;prompt input_prompt&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;inner_cell&quot;&gt;
&lt;div class=&quot;text_cell_render border-box-sizing rendered_html&quot;&gt;
&lt;h3 id=&quot;Logistic-Regression&quot;&gt;Logistic Regression&lt;a class=&quot;anchor-link&quot; href=&quot;#Logistic-Regression&quot;&gt;&amp;#182;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;We're also going to use GridSearchCV to optimize the AUC of the Logistic Regression, but the difference with the Decision Tree is that this time we will interpret the coefficients given to each feature by the algorithm instead of interpreting the architecture of it.&lt;/p&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;cell border-box-sizing code_cell rendered&quot;&gt;
&lt;div class=&quot;input&quot;&gt;
&lt;div class=&quot;prompt input_prompt&quot;&gt;In&amp;nbsp;[34]:&lt;/div&gt;
&lt;div class=&quot;inner_cell&quot;&gt;
    &lt;div class=&quot;input_area&quot;&gt;
&lt;div class=&quot; highlight hl-ipython3&quot;&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;param_grid&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;penalty&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;l1&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;l2&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;],&lt;/span&gt;
             &lt;span class=&quot;s1&quot;&gt;&amp;#39;tol&amp;#39;&lt;/span&gt;     &lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;mf&quot;&gt;1e-5&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;mf&quot;&gt;1e-4&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;mf&quot;&gt;1e-3&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;mf&quot;&gt;1e-2&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;],&lt;/span&gt;
             &lt;span class=&quot;s1&quot;&gt;&amp;#39;C&amp;#39;&lt;/span&gt;        &lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;mf&quot;&gt;1.0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;mf&quot;&gt;10.0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;mf&quot;&gt;25.0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;mf&quot;&gt;50.0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;mf&quot;&gt;100.0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;mf&quot;&gt;200.0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;mf&quot;&gt;500.0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;mf&quot;&gt;1000.0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;
             &lt;span class=&quot;s1&quot;&gt;&amp;#39;solver&amp;#39;&lt;/span&gt;    &lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;liblinear&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;  &lt;span class=&quot;s1&quot;&gt;&amp;#39;saga&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;],&lt;/span&gt;
             &lt;span class=&quot;s1&quot;&gt;&amp;#39;random_state&amp;#39;&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;37&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,],&lt;/span&gt;
             &lt;span class=&quot;s1&quot;&gt;&amp;#39;max_iter&amp;#39;&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;700&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,]}&lt;/span&gt;

&lt;span class=&quot;n&quot;&gt;logit&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;GridSearchCV&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;LogisticRegression&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(),&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;param_grid&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;scoring&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;roc_auc&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;verbose&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;logit&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;fit&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;X_std_pf_chi10&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;y&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;div class=&quot;output_wrapper&quot;&gt;
&lt;div class=&quot;output&quot;&gt;


&lt;div class=&quot;output_area&quot;&gt;

&lt;div class=&quot;prompt&quot;&gt;&lt;/div&gt;


&lt;div class=&quot;output_subarea output_stream output_stderr output_text&quot;&gt;
&lt;pre&gt;/opt/conda/lib/python3.6/site-packages/sklearn/linear_model/sag.py:326: ConvergenceWarning:

The max_iter was reached which means the coef_ did not converge

&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;div class=&quot;output_area&quot;&gt;

&lt;div class=&quot;prompt output_prompt&quot;&gt;Out[34]:&lt;/div&gt;




&lt;div class=&quot;output_text output_subarea output_execute_result&quot;&gt;
&lt;pre&gt;GridSearchCV(cv=None, error_score=&amp;#39;raise&amp;#39;,
       estimator=LogisticRegression(C=1.0, class_weight=None, dual=False, fit_intercept=True,
          intercept_scaling=1, max_iter=100, multi_class=&amp;#39;ovr&amp;#39;, n_jobs=1,
          penalty=&amp;#39;l2&amp;#39;, random_state=None, solver=&amp;#39;liblinear&amp;#39;, tol=0.0001,
          verbose=0, warm_start=False),
       fit_params=None, iid=True, n_jobs=1,
       param_grid={&amp;#39;penalty&amp;#39;: [&amp;#39;l1&amp;#39;, &amp;#39;l2&amp;#39;], &amp;#39;tol&amp;#39;: [1e-05, 0.0001, 0.001, 0.01], &amp;#39;C&amp;#39;: [1.0, 10.0, 25.0, 50.0, 100.0, 200.0, 500.0, 1000.0], &amp;#39;solver&amp;#39;: [&amp;#39;liblinear&amp;#39;, &amp;#39;saga&amp;#39;], &amp;#39;random_state&amp;#39;: [37], &amp;#39;max_iter&amp;#39;: [700]},
       pre_dispatch=&amp;#39;2*n_jobs&amp;#39;, refit=True, return_train_score=&amp;#39;warn&amp;#39;,
       scoring=&amp;#39;roc_auc&amp;#39;, verbose=0)&lt;/pre&gt;
&lt;/div&gt;

&lt;/div&gt;

&lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;
&lt;div class=&quot;cell border-box-sizing code_cell rendered&quot;&gt;
&lt;div class=&quot;input&quot;&gt;
&lt;div class=&quot;prompt input_prompt&quot;&gt;In&amp;nbsp;[35]:&lt;/div&gt;
&lt;div class=&quot;inner_cell&quot;&gt;
    &lt;div class=&quot;input_area&quot;&gt;
&lt;div class=&quot; highlight hl-ipython3&quot;&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;print&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&amp;quot;The best parameters are : &amp;quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;logit&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;best_params_&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39; giving an AUC : &amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;logit&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;best_score_&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;div class=&quot;output_wrapper&quot;&gt;
&lt;div class=&quot;output&quot;&gt;


&lt;div class=&quot;output_area&quot;&gt;

&lt;div class=&quot;prompt&quot;&gt;&lt;/div&gt;


&lt;div class=&quot;output_subarea output_stream output_stdout output_text&quot;&gt;
&lt;pre&gt;The best parameters are :  {&amp;#39;C&amp;#39;: 200.0, &amp;#39;max_iter&amp;#39;: 700, &amp;#39;penalty&amp;#39;: &amp;#39;l1&amp;#39;, &amp;#39;random_state&amp;#39;: 37, &amp;#39;solver&amp;#39;: &amp;#39;liblinear&amp;#39;, &amp;#39;tol&amp;#39;: 1e-05}  giving an AUC :  0.8734884485536286
&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;
&lt;div class=&quot;cell border-box-sizing text_cell rendered&quot;&gt;&lt;div class=&quot;prompt input_prompt&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;inner_cell&quot;&gt;
&lt;div class=&quot;text_cell_render border-box-sizing rendered_html&quot;&gt;
&lt;p&gt;For the tuned Logistic Regression, we get an AUC of ~87.3%, not bad.&lt;br&gt;
Let's see how we got to this result and check out the coefficient of each feature.&lt;/p&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;cell border-box-sizing code_cell rendered&quot;&gt;
&lt;div class=&quot;input&quot;&gt;
&lt;div class=&quot;prompt input_prompt&quot;&gt;In&amp;nbsp;[36]:&lt;/div&gt;
&lt;div class=&quot;inner_cell&quot;&gt;
    &lt;div class=&quot;input_area&quot;&gt;
&lt;div class=&quot; highlight hl-ipython3&quot;&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;clf&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;logit&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;best_estimator_&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;clf&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;coef_&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;div class=&quot;output_wrapper&quot;&gt;
&lt;div class=&quot;output&quot;&gt;


&lt;div class=&quot;output_area&quot;&gt;

&lt;div class=&quot;prompt output_prompt&quot;&gt;Out[36]:&lt;/div&gt;




&lt;div class=&quot;output_text output_subarea output_execute_result&quot;&gt;
&lt;pre&gt;array([[ 46.92277766,  -1.03856755, -36.41247924,  30.54375694,
         76.55549212,  29.72691303, -18.55736995, -26.84365647,
         -9.71626654,  10.01455808]])&lt;/pre&gt;
&lt;/div&gt;

&lt;/div&gt;

&lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;
&lt;div class=&quot;cell border-box-sizing text_cell rendered&quot;&gt;&lt;div class=&quot;prompt input_prompt&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;inner_cell&quot;&gt;
&lt;div class=&quot;text_cell_render border-box-sizing rendered_html&quot;&gt;
&lt;p&gt;The array above represents the coefficients given to each of the parameters inside of the logistic regression. Their absolute value give an idea of the influence of each parameter while their sign tells us in which way they will influence the outcome.&lt;/p&gt;
&lt;p&gt;As such :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Degree_spondylolisthesis * Pelvic_incidence is the most influencial factor towards having back problems ( we've seen this result previously )&lt;/li&gt;
&lt;li&gt;Degree_spondylolisthesis  is the second one&lt;/li&gt;
&lt;li&gt;Pelvic_incidence * Pelvic_tilt_angle is the most influencial factor towards &lt;strong&gt;not&lt;/strong&gt; having back problems closely followed by&lt;/li&gt;
&lt;li&gt;Pelvic_tilt * Degree_spondylolisthesis .&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;This information from the Decision Tree and from the Logistic Regression could help a practitioner decide the severity of one case or help define more specifically what the problem is and how to fix it for example.&lt;/p&gt;
&lt;p&gt;It is interesting to notice that the two classifiers don't necessarily &quot;agree&quot; on the importance of each feature. This is due to the different way they compute and classify each case and hence fit to the data set. That being said, combining the interpretation of these different models can help refine even more our understanding of the problem on a human base.&lt;/p&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;cell border-box-sizing text_cell rendered&quot;&gt;&lt;div class=&quot;prompt input_prompt&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;inner_cell&quot;&gt;
&lt;div class=&quot;text_cell_render border-box-sizing rendered_html&quot;&gt;
&lt;h2 id=&quot;Visualisations&quot;&gt;Visualisations&lt;a class=&quot;anchor-link&quot; href=&quot;#Visualisations&quot;&gt;&amp;#182;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;I have beeng playing with plotly for a while now and I really find that the interactivity of the plots adds so much to the reading and understanding experience of this very plot. It allows also to single out and identify outlier points in many cases for extended study later.&lt;br&gt;
We'll see some outlier points in the next visualisations in which a medical practitioner could be interested.&lt;br&gt;
If this patient is classified as normal, why is he so far from the normal cluster of points ?&lt;br&gt;
In one of my previous studies, after using an auto-encoder to perform dimmensionality reduction, I was able to redefine and create new classifications for a disease.&lt;br&gt;
As such, I believe that the study of different visualisations of the data sets through dimensionality reduction can also carry a great values&lt;/p&gt;
&lt;h3 id=&quot;PCA-on-the-new-data&quot;&gt;PCA on the new data&lt;a class=&quot;anchor-link&quot; href=&quot;#PCA-on-the-new-data&quot;&gt;&amp;#182;&lt;/a&gt;&lt;/h3&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;cell border-box-sizing code_cell rendered&quot;&gt;
&lt;div class=&quot;input&quot;&gt;
&lt;div class=&quot;prompt input_prompt&quot;&gt;In&amp;nbsp;[37]:&lt;/div&gt;
&lt;div class=&quot;inner_cell&quot;&gt;
    &lt;div class=&quot;input_area&quot;&gt;
&lt;div class=&quot; highlight hl-ipython3&quot;&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;init_notebook_mode&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;connected&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;kc&quot;&gt;True&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;

&lt;span class=&quot;n&quot;&gt;X&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;df_new&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;iloc&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[:,:&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;y&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;df_new&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;iloc&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[:,&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;

&lt;span class=&quot;n&quot;&gt;pca&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;PCA&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;n_components&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;3&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;X_PCA&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;pca&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;fit_transform&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;X&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
    
&lt;span class=&quot;n&quot;&gt;xs&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;X_PCA&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[:,&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;ys&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;X_PCA&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[:,&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;zs&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;X_PCA&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[:,&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;

&lt;span class=&quot;c1&quot;&gt;# Recreating the df with the new coordinates&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;df&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;pd&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;DataFrame&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;dict&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;xs&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;y&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;ys&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;z&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;zs&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;Attribute&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;y&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;))&lt;/span&gt; 
&lt;span class=&quot;n&quot;&gt;l&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;[]&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;names&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;Normal&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;Abnormal&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;

&lt;span class=&quot;k&quot;&gt;for&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;i&lt;/span&gt; &lt;span class=&quot;ow&quot;&gt;in&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]:&lt;/span&gt;    
    &lt;span class=&quot;n&quot;&gt;trace&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;Scatter3d&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;
        &lt;span class=&quot;n&quot;&gt;x&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;df&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;df&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;Attribute&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;][&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;x&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;],&lt;/span&gt;
        &lt;span class=&quot;n&quot;&gt;y&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;df&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;df&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;Attribute&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;][&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;y&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;],&lt;/span&gt;
        &lt;span class=&quot;n&quot;&gt;z&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;df&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;df&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;Attribute&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;][&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;z&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;],&lt;/span&gt;
        &lt;span class=&quot;n&quot;&gt;mode&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;s1&quot;&gt;&amp;#39;markers&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;
        &lt;span class=&quot;n&quot;&gt;marker&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;nb&quot;&gt;dict&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;size&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;5&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;
                    &lt;span class=&quot;n&quot;&gt;line&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;nb&quot;&gt;dict&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;width&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;),&lt;/span&gt;
                    &lt;span class=&quot;n&quot;&gt;color&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;
                    &lt;span class=&quot;n&quot;&gt;colorscale&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;Jet&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;
                    &lt;span class=&quot;n&quot;&gt;opacity&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;mf&quot;&gt;0.8&lt;/span&gt;
                   &lt;span class=&quot;p&quot;&gt;),&lt;/span&gt;&lt;span class=&quot;c1&quot;&gt;#name= y[i],&lt;/span&gt;
        &lt;span class=&quot;n&quot;&gt;name&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;names&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;],&lt;/span&gt;
        &lt;span class=&quot;n&quot;&gt;text&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;df&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;df&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;Attribute&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;index&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;c1&quot;&gt;# The hover text goes here...&lt;/span&gt;
        &lt;span class=&quot;n&quot;&gt;hoverinfo&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;s1&quot;&gt;&amp;#39;text+name&amp;#39;&lt;/span&gt;
    &lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;

    &lt;span class=&quot;n&quot;&gt;l&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;append&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;trace&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;

&lt;span class=&quot;n&quot;&gt;layout&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;Layout&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;title&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;s1&quot;&gt;&amp;#39;3D Representation of the patients characteristics using PCA&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;hovermode&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;s1&quot;&gt;&amp;#39;closest&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;showlegend&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;kc&quot;&gt;True&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;

&lt;span class=&quot;n&quot;&gt;fig&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;Figure&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;data&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;l&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;layout&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;layout&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;plotly&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;offline&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;iplot&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;fig&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;nb&quot;&gt;print&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;The PCA explains the variance of the data by &lt;/span&gt;&lt;span class=&quot;si&quot;&gt;{:3f}&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;%&amp;#39;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;format&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;100&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;*&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;pca&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;explained_variance_ratio_&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;sum&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()))&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;div class=&quot;output_wrapper&quot;&gt;
&lt;div class=&quot;output&quot;&gt;


&lt;div class=&quot;output_area&quot;&gt;

&lt;div class=&quot;prompt&quot;&gt;&lt;/div&gt;



&lt;div class=&quot;output_html rendered_html output_subarea &quot;&gt;

&lt;script&gt;requirejs.config({paths: { 'plotly': ['https://cdn.plot.ly/plotly-latest.min']},});if(!window.Plotly) {{require(['plotly'],function(plotly) {window.Plotly=plotly;});}}&lt;/script&gt;

&lt;/div&gt;

&lt;/div&gt;

&lt;div class=&quot;output_area&quot;&gt;

&lt;div class=&quot;prompt&quot;&gt;&lt;/div&gt;



&lt;div class=&quot;output_html rendered_html output_subarea &quot;&gt;
&lt;div id=&quot;931bb527-dc3d-4f07-8bcc-41f7b8399f99&quot; style=&quot;height: 525px; width: 100%;&quot; class=&quot;plotly-graph-div&quot;&gt;&lt;/div&gt;&lt;script type=&quot;text/javascript&quot;&gt;require([&quot;plotly&quot;], function(Plotly) { window.PLOTLYENV=window.PLOTLYENV || {};window.PLOTLYENV.BASE_URL=&quot;https://plot.ly&quot;;Plotly.newPlot(&quot;931bb527-dc3d-4f07-8bcc-41f7b8399f99&quot;, [{&quot;type&quot;: &quot;scatter3d&quot;, &quot;x&quot;: [-0.23109254354108402, -0.08739232663481304, -0.2506654045207038, -0.15224612864123369, -0.2512526519528831, -0.2889728732178185, -0.2971087011165692, -0.2760576603374701, -0.2005473371067773, 0.06417039953514271, -0.1764755883174434, -0.2216102503298889, -0.07928038664688938, 0.11867425722544883, 0.4372222642259843, -0.17313740755165194, -0.019821485918420936, -0.03667104856809029, -0.3271786197684698, -0.2820393154261455, 0.07833605726866237, -0.20603938001402028, -0.23529018470866153, -0.308944512023817, -0.27613539359114203, -0.08925479258544256, -0.06194536272016994, -0.08176653859127271, -0.060279767886157604, -0.11128611515688017, -0.2987146421185995, -0.2162406481369916, -0.34311695894915284, -0.30648255324942686, 0.07947735643659667, -0.2015383265195761, -0.19824339821765646, -0.22031665363992717, -0.28038622420938897, -0.14900719752184363, -0.3675408116276687, -0.3057474371021281, -0.31911588139532193, 0.07369893373011101, 0.06591046345584464, -0.027567279274626915, -0.19953765867677767, -0.3333243444200504, -0.28250855271467235, -0.08150678679375269, -0.20478568465444527, -0.022495220151094494, -0.2740354866434913, -0.3652825195182057, -0.23913647108260455, -0.25500537393952155, -0.25051841759763305, -0.21836774936164643, -0.14080328197221845, -0.269402220370023, -0.19476122205531157, -0.20005987081365892, -0.3100963712094589, -0.33942960988850024, -0.29835882118322893, -0.05312585294401722, -0.2297827909340919, -0.13804665077254205, -0.3689270709602817, -0.11862570211603263, -0.23164385548887223, -0.12518054833487904, -0.19470145439904793, -0.1803340754874504, -0.15351726119107567, -0.08655032679421935, -0.09668828326994001, -0.3828737066941251, 0.009088584272481735, -0.25499687176981306, -0.3052946626996916, -0.21313202580858373, -0.361436453823195, -0.22297202440220812, -0.2724171880812715, -0.2606481322156049, -0.23909440273089128, -0.19629684212602055, -0.0876720645019289, 0.29431170907312426, -0.28843832184597257, 0.34160227798586834, -0.14729084064596232, -0.36137232968645966, -0.2359223857712264, -0.2380384321811395, -0.1588654137947578, -0.03332382222057985, -0.26971301390477903, -0.33670108226195816], &quot;y&quot;: [-0.08446202233858674, -0.04533704653907129, 0.02357982912118513, -0.05086503705014221, -0.006658650288606184, -0.05437266393208491, -0.0005064886068306059, 0.04511384962629367, -0.06985957900910267, -0.13660484511283513, -0.15274558316451267, 0.07896800193439645, 0.08835438168966302, 0.10853683927381451, 0.2298554087848991, 0.08791857287072381, 0.05979519407618659, -0.0370835865960936, -0.026114423041604235, -0.02144725363542858, -0.036357189609442384, -0.023429443755873105, -0.04068832118029075, -0.026364470160085154, 0.004141156917442136, -0.09600754814977822, 0.08206989637386805, 0.052024585593014906, 0.06568821116998672, -0.08142026879201318, -0.01485671159277418, -0.037390852419842545, -0.009447905099448456, 0.007663835886799324, -0.14892591457760937, 0.03689525145795133, -0.05469114836803101, -0.09492202095342571, -0.005026176516432761, -0.11452458377847916, 0.0264921064843988, 0.06712139852796295, 0.11515694618946307, 0.014416153036742974, 0.022571374455391115, 0.0705186457943871, 0.03728865313009817, 0.06503906105764386, -0.0178151003034567, -0.018714325966994325, -0.004445083982314406, 0.04700656509331474, -0.07869190044129201, -0.004253204031816815, 0.046970355387920645, 0.001198440205421033, -0.00036448755601392894, 0.029545788509061144, -0.04398425893299921, -0.09958883150988886, 0.06766811387174419, -0.06011734960824941, 0.002507987856931874, 0.0430991145336332, -0.03287257500888081, 0.0007389366189315021, -0.050007391156140606, 0.003241001794942286, 0.02426786239116364, -0.03507399286968065, -0.04548348788872188, -0.007701256507497726, -0.022104249582776674, 0.009644923536842712, -0.020682263452304058, -0.02739525113067811, -0.031230252197836147, 0.010364397000158402, 0.06036926395843422, -0.06557402458754802, -0.08123950725242836, -0.046208078651984744, 0.007125824910564938, 0.09316909482845132, -0.017638888352927578, 0.044523769223747976, -0.07932286477427085, -0.10741210874090357, -0.12288287117076438, -0.12462565383376116, 0.010628642894445497, 0.020008721575213807, -0.14932021199511583, 0.012616820915679798, -0.018429753491797766, -0.04944695662095026, -0.13931487827816125, -0.10949304162524662, 0.00724320936584177, 0.008247092917819466], &quot;z&quot;: [-0.016400164805455503, -0.051790127164220254, -0.028607245731492474, -0.05382350432399864, -0.02402602558146807, -0.03059292970403384, 0.031495363784983584, -0.04509571844515211, 0.00927493366253668, -0.03589731375177537, -0.013915141902817455, -0.025196117699551844, -0.04706534439183589, -0.1382564743611425, -0.1482101406388449, -0.019623503672193815, -0.06255942840827353, -0.03284388857547853, 0.01736305444150553, -0.006786369683817821, -0.09226179545984861, 0.014645555481758473, -0.0244971201446584, 0.003451894553456256, -0.015186125373357133, 0.009960815044259245, -0.07401986681738884, -0.03798596190278194, 0.012080237990747051, -0.01806993104256027, -0.010919891309923225, 0.02945859131821654, 0.016452263818156742, -0.036536169017274966, -0.04231868752202195, -0.060354224523981426, -0.011013747318616741, 0.023529391643848627, 0.011117074401154593, -0.008323147195263293, 0.0063835717907613845, -0.03442491003329405, -0.04836017119501077, -0.09071767580109931, -0.030060645552555682, 0.010612015566632604, -0.004125039550257927, 0.0060053767187429686, -0.014390133007592643, -0.007095443979230835, -0.0022229616587177577, 0.03218168523173031, 0.014621271405548981, 0.01333793309588052, -0.010111280567392321, 0.003423456769365254, -0.018690465938075117, -0.012842937485977892, 0.0035990096771105064, 0.01071379565141367, -0.061951132226703204, -0.030863417933116605, -0.005322776101086285, -0.02046940005882462, 0.01627082332326658, 0.008682289435653703, 0.019170306066233007, 0.030331529717248038, 0.013027904690002964, -0.058427666241939624, 0.014150463254755255, 0.03233146088045739, 0.0011908459862674259, -0.054128884090640615, 0.011164977445764746, 0.04409427088835617, 0.00012293009982280529, 0.034286510379071905, 0.0022934455948204397, -0.002828405776641328, 0.01355478510910905, 0.01547678570454933, 0.010129595494210967, -0.026867491083075106, -0.005845777228972978, -0.026023061285039187, -0.03158381890801973, -0.007038441882817764, 0.06574746173977405, 0.013115781970588866, 0.022200909094510696, -0.002003218335778404, 0.021040532496897, 0.0020458941536323216, -0.0428194319025388, -0.005176013276979716, 0.022170589427888847, -0.021126349117533513, -0.013256391645981932, -0.009944735481378312], &quot;mode&quot;: &quot;markers&quot;, &quot;marker&quot;: {&quot;size&quot;: 5, &quot;line&quot;: {&quot;width&quot;: 1}, &quot;color&quot;: 0, &quot;colorscale&quot;: &quot;Jet&quot;, &quot;opacity&quot;: 0.8}, &quot;name&quot;: &quot;Normal&quot;, &quot;text&quot;: [209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308], &quot;hoverinfo&quot;: &quot;text+name&quot;}, {&quot;type&quot;: &quot;scatter3d&quot;, &quot;x&quot;: [-0.31505557961176617, 0.01900256256615716, 0.04206234698002762, -0.2791207323152547, -0.2837378591856042, -0.1836097240545254, -0.29407172859710456, -0.21949423382432628, -0.31796674251887375, -0.25322943014355526, -0.2946754659035871, -0.14358003207141634, -0.14470114569294018, -0.023401990860114054, -0.25291064191041746, -0.011403316317820402, -0.3571260682251892, -0.27831316752216306, -0.2836931085097842, -0.2332753587698284, -0.10043862539920213, 0.05400611630486015, -0.2675154520295687, -0.20394951644323384, -0.05813196344011421, -0.35953042343819797, -0.1778302778044053, -0.18709315832035048, 0.04437527672456594, -0.17662782191036253, -0.2692513883757372, -0.22839982443314943, -0.25670401133973214, 0.10423088623281748, -0.34605358105273165, -0.3261527592343601, -0.2586806642271469, 0.03892353370342417, -0.16072119238087906, -0.3330685929645761, -0.30047714888331767, -0.16021682475762222, 0.055020793413259675, -0.06945511377138372, -0.07758024846104584, -0.13496462953490498, -0.24720261099746413, -0.22438147757854454, -0.25614684927170867, -0.1369173306405777, 0.2808153053130204, -0.02576582770407604, -0.2977138408730234, -0.23614199236450115, -0.2326720692787854, -0.31509907483611826, -0.21448048960956728, -0.1954428866545777, -0.21747634409007638, 0.4584713622249646, 0.6735153092027121, -0.21162495717943544, 0.1672858849945071, 0.26905458390278336, 0.5820981674578001, 0.15999133184996803, 0.15799176708307966, 0.00018417951802406028, -0.2400236605167083, 0.012666040678528718, 0.41028404711548216, 0.454732747304303, -0.0774620143400521, 0.3618439444815971, 0.6009878667851697, 0.6309482746473631, -0.150261063553179, 0.02522266454908356, -0.22545359984327082, 0.3968485395633326, 0.14025767758378496, 0.3021193114716282, 0.3742540137478278, 0.5335679039896316, -0.23458049289822624, -0.02518783746555867, -0.2231138115728667, -0.12852213533428644, 0.052772136626412, 0.2871771237058405, 0.09983919614571736, 0.2240145185921111, 0.05876304492182958, 0.23750119127343672, 0.2737670028465, 0.49631793570315835, 0.24239073927847124, 0.417882697061633, -0.14928191058719925, 0.3816823272398575, 0.14599333234362166, -0.010787115286785274, -0.21772694129728754, 0.3587378859472143, 0.09178642347272935, -0.08048252938638058, 0.5219584123380003, -0.10818693012587097, 0.0207189440903068, -0.026444085679523322, 0.5463989541705003, -0.27439285504401423, 0.020928646607490893, 0.7122940105228116, 0.658831284816381, 0.00937739150447077, 0.483828696221105, 0.02411912368977188, -0.11073701567447693, -0.1788033798240183, 0.4475117806886352, 0.6810507290044618, -0.07168370825085066, -0.09398113211411217, -0.2103297352442908, 0.09686885878088837, 0.15863248977774985, 0.4533135503301682, 0.027692150975479817, -0.2597794962828761, -0.0326416406590146, 0.070783196479026, 0.2397744544330795, 0.05380685949180856, 0.46252673250238063, 0.7722097956750141, 0.5707165230134789, 0.30972877761078854, 0.4132265822728731, 0.08611323248206981, 1.000362277935714, 0.4555302241506585, 0.11483177100103309, -0.0678269788807633, 0.7777817944436248, 0.5264515907725245, -0.2572170277251369, -0.11514907287531595, 0.09826640410934097, 0.17033259796679628, -0.21814060918234368, -0.09637410208939913, -0.042761354169375675, -0.2817465150779776, 0.05432618652412886, 0.3438373317883563, -0.2827471386469103, -0.2330523028986156, -0.007159858987742267, 0.6725412505777179, -0.12908249054218446, 0.812654917213852, 0.9859719717867771, -0.21213973360652272, 0.3129242125120133, -0.1615889971494266, 0.02125603877095059, 0.6222179107660019, -0.3178133670525541, -0.035597741356728205, 0.14086214159193797, -0.16066659734368618, -0.1793538484658179, -0.006877077094317669, -0.15107475284996022, 0.00010069432871764589, 0.15450421858865998, 0.27377840789353464, 0.7194341557630815, -0.33498487065449967, 0.017369500866834735, 0.5380629072783916, 0.6026194430946646, 0.3766402376316579, 0.4913579655909345, 0.30205334427805997, -0.15469117645942634, 0.7354085355396134, 0.4616638360883085, -0.20279310174080514, 0.6062369240527604, 0.4672784168312692, 0.03640912095712823, 0.11537557240492784, 0.04123626592989462, -0.010637639179073352, 0.921739172548881, 0.03553855260447953, 0.06717913037495268, 0.08175695090411407, 0.5982337321496292, 0.861807900887561, -0.027885376691224498, -0.14320130313574894, 0.6396721254221989, 0.8459756089687683, 0.2156755675256959, 0.4765101998688292, -0.1848078236289201], &quot;y&quot;: [-0.04015858380392344, -0.07634784446780261, -0.12504374091585402, -0.02352421504828963, -0.07441736316364872, -0.058315018546186634, -0.04442449352680436, -0.023756877065239587, 0.02372432798419289, -0.05554072190855283, -0.1222875752402625, -0.09993805716744011, -0.1227887614529828, -0.1275654744769773, -0.036500239752291226, -0.03831430081628658, 0.010414500187943512, -0.060997438174141244, -0.05206138841669867, -0.047206808349909875, -0.10576931762995259, -0.08760819859422206, -0.05916417238335734, -0.1726609080175455, -0.20801572195400367, -0.05934242195055637, -0.042690752173690595, -0.16219506655303248, -0.12101906407678267, -0.0372430561532304, -0.03082645250724485, -0.10361754676832363, -0.036013637579648206, -0.2572524464255425, -0.02656431348113901, -0.0014907812654241805, -0.14039376404153417, -0.20097624589876129, -0.1014238825901486, -0.06680084323458281, -0.018411932052320095, -0.10884539054416045, -0.15067951986874065, 0.03172197626546534, -0.1226165822168969, -0.14199450651636436, -0.0951682833248028, -0.10252516157262866, -0.12264018371110852, -0.1208544780392307, -0.5019252758677709, -0.2561917206311928, -0.038998270498221015, -0.10041977007823524, -0.038702580229757186, -0.013821720392130959, -0.05902368794851439, -0.11981583911136637, -0.056475550592872965, -0.020659402431198005, 0.07334215620762793, 0.05247389355912125, 0.047648704632761864, 0.14268989790322137, -0.3191882791579425, 0.01398140401169943, 0.09919584756203892, -0.019613266278828825, 0.12904039871038722, 0.026508496133079474, -0.15710097503552434, -0.11295980790235004, -0.067021419012027, 0.21101012216628934, -0.19287129311672555, -0.08870161329176311, 0.10949903417194246, 0.0547518340059016, -0.012627958214506175, -0.035534805376074174, 0.0377148894858071, -0.11839156069596252, 0.12235623586810217, -0.36946850009168614, 0.020378338494965436, 0.021972012454406373, 0.026073363141237465, -0.039350840638841415, -0.1024617385298437, -0.08953566478613242, 0.04282256300563976, 0.22320969234631982, 0.18602532388608142, 0.21540225813639363, -0.1803513650334512, 0.35048492540165727, 0.18381330494654305, 0.26482631433395887, -0.003842203893672632, -0.0733451284635105, 0.0905446529143443, 0.10538728250250212, 0.0826038545922307, -0.03710585105196565, -0.1535207150723713, 0.12528963409516627, -0.03719928495276373, 0.16861376610142795, 0.1036735645657421, 0.10349552201913176, 0.0998702882460384, 0.17693340950868205, -0.00545851341917737, -0.01226982537334409, 0.6371775090824817, 0.14405779741529653, -0.30789387891352427, -0.11422860970520349, -0.012946176148527633, 0.012854075934464164, 0.23879037485743287, -0.5160547482673661, 0.11773177599455806, -0.005794024273404414, 0.10577799407054995, -0.0013828955213575766, 0.14733421001949018, 0.03411715786872306, 0.03998769291396655, -0.00019861254442237052, 0.07915008662237089, -0.008464693701516292, 0.13494277138727742, 0.1401970669443871, 0.02834747912313687, -0.11956308201192875, -0.04673778317554778, 0.10434971376847112, 0.2736848378292511, 0.16225005381787297, -0.36070911226047314, 0.4057221077564537, 0.07305512146922846, 0.06156606755040945, -0.2251921149296525, 0.04611340895563899, 0.15202726101805436, 0.08844428196829511, -0.09373051089346388, 0.05496522801971552, 0.12213910747085527, 0.02765661966631092, 0.07669936250114283, 0.04138744011439555, 0.15809099006307004, 0.03541144194356093, 0.08524697141458107, 0.12985909246660318, 0.1503553675799521, -0.04343054108606274, 0.1182083883200907, -0.18989137130945322, 0.01155945697781131, 0.03291261505165844, 0.19394862458988382, 0.11780867934965654, 0.06174028597562681, 0.30376315906397905, 0.052297170666079675, 0.06004912360277332, 0.22459377795395938, 0.0001437877940924466, 0.07844794512738816, -0.1586604743964001, 0.0915981612085154, 0.1315928255342775, 0.08163567585635317, -0.020888720964656396, -0.4908221180005382, 0.01033689072533724, 0.11213682392175593, 0.07093092263706396, -0.08631150672744115, 0.26339381786990973, 0.20165064166239138, 0.16774558784509253, 0.14441173085525238, -0.08902445590031523, 0.04470240592512141, 0.055554413963646264, -0.2746325268942859, -0.07049308166086933, 0.2279691717767625, 0.08672969208582763, 0.33899073575418676, 0.1397178539075143, 0.2844370829349081, 0.12582130283112009, 0.08761836007030042, 0.05658783398192288, 0.09565356351618307, -0.07372734708754372, 0.15947641055507408, -0.0020555962615194353, 0.040352747595309116, -0.4012508059362625, 0.17815246694032746, 0.34300365590144827, -0.05847674339568068], &quot;z&quot;: [0.019541338406044818, -0.007450934499048292, 0.03519693858978761, 0.04064675236946421, 0.012919364853756055, 0.014136343362267908, 0.005524556919715199, -0.0165881650235487, -0.020514841026678426, 0.009645752079876078, 0.008327468456517488, -0.0178168821383838, 0.01892984957069647, -0.03411988704285299, -0.0005214614113038839, -0.04133569059220549, 0.00434103046725507, -0.0036035285423209377, 0.003454658186277634, -0.009176552871794665, -0.016724540897090006, -0.03295914262642553, 0.005341152387295207, -0.029259520899832057, -0.009636091719574861, 0.0058463511686829926, -0.04655810514074438, 0.002953659256943073, -0.018547283800900555, -0.005502382186228405, 0.019104541426667062, 0.01411716789012624, -0.02758505680666044, -0.055921016407871775, 0.01385865591350412, -0.00700702099832527, 0.0014157655954668254, -0.06246858997724797, 0.0028760779323661902, 0.018010154937215896, 0.025792108537959543, 0.02147160267788021, -0.015525104684150012, -0.09849875784273651, -0.06189210482316426, -0.012601177627863381, -0.011077743390786748, -0.0221717384221132, 0.01943231923346087, 0.017463629003091372, 0.07539956486307392, -0.029692737696869163, -0.008904689370165907, -0.026730292878881252, 0.005087478153063023, 0.026449757130343074, -0.011101148987467896, -0.025728266253411982, 0.008156970452749612, -0.11040279313317751, 0.010118727777174227, -0.02207806945676196, 0.0072386371731965144, -0.15307435590695007, -0.01837469376980492, 0.035580664471952544, 0.06682452116910162, 0.01935661958657782, 0.03891665623987641, 0.0652984936932491, 0.24101437038354478, 0.10717228589790416, 0.021344641040697943, -0.17390877351941983, 0.04013985217910602, 0.11076754205668775, 0.04665576176575102, 0.0005398658579236496, 0.018423210309782764, 0.0028561289852334195, 0.09690098225623757, 0.18526125787004633, -0.01640392873398288, -0.0031235835867279007, -0.004338485587907318, -0.04293304255683681, 0.014318231513541045, 0.028156652124074713, 0.07223373109816707, 0.047726386016232934, -0.007113517847631803, 0.10206877215425049, -0.12384017210764782, 0.1529773231700868, 0.10414369045894777, 0.017064771973140932, -0.11533049964931087, -0.15821274420290646, 0.05159164957002853, 0.006499260943327917, 0.052483222504443455, 0.01024140740630126, -0.010057355022412146, 0.08460700904631997, -0.031804376621367494, 0.04519379082555013, -0.04129407300015353, 0.011514872088593512, 0.006685114236253006, -0.002982380889836424, -0.04433661516361244, -0.05647350906167203, 0.0890141625623085, -0.11499442219984564, 1.2779599383785099, 0.05055813322053774, 0.15204456369841204, 0.01951545357928355, 0.0517200822518607, 0.055609534746961266, -0.03761204015545005, 0.05512264279050896, 0.057846714089937544, 0.16372163674297402, -0.020869555630563547, 0.00034185858237263054, 0.07091029639433247, 0.08044053291290623, 0.1134287256709244, 0.055313946691298015, 0.01225636428271366, 0.0684776466644201, 0.04066378898982723, -0.13816758548985303, -0.036699419605818566, -0.08517835671648033, -0.07313918712854602, -0.09641488699525172, -0.12463168294848237, -0.07132282100402024, 0.0635051378829128, -0.15413481590056674, 0.03109591574321335, -0.014017252189966946, -0.11497180324685646, -0.008930861699984543, 0.02136391219867855, 0.06522930603508154, 0.1436008262478743, 0.0715931811982015, -0.019682562717867533, 0.04687856617282955, -0.058053674517790074, 0.010684908405088251, -0.04953213360259375, 0.010929032381058409, 0.03110474714926105, 0.07003762296324614, -0.03655706900431308, 0.0043251042341613845, 0.07732197408869843, 0.4402431332806539, 0.2517176927103642, 0.03257854435467467, 0.029856372896347412, 0.007773879618579103, -0.0008838456138146786, -0.06886488332966462, 0.03407216924027462, -0.013253635203959268, -0.08198978549162336, 0.025769689884119498, -0.030611887948016742, 0.033814718291257886, 0.03765480502585562, -0.019906437749823175, 0.07428551072576281, 0.067617062762858, -0.154673260897482, 0.055120150838860085, -0.04885112238910884, -0.19152724168200716, -0.18760674957106432, -0.14802940402048995, -0.016651611202149787, -0.033053594900663445, 0.002925453811831522, -0.09456786707349538, -0.02498806434963672, -0.011667854010853301, 0.05697886543819709, 0.07385166649996813, -0.05821885327270832, -0.034973122241098865, -0.09137104905863588, 0.0013271123138896591, -0.59454130410677, 0.03407931090058646, 0.03375303539761331, -0.06234658032841501, -0.2548461219883878, -0.20847553291899798, 0.02878266169939527, 0.024419401817139183, -0.06693442910788946, 0.15164734143830128, -0.009091020124510798, -0.06046253020407962, 0.02694619519739968], &quot;mode&quot;: &quot;markers&quot;, &quot;marker&quot;: {&quot;size&quot;: 5, &quot;line&quot;: {&quot;width&quot;: 1}, &quot;color&quot;: 1, &quot;colorscale&quot;: &quot;Jet&quot;, &quot;opacity&quot;: 0.8}, &quot;name&quot;: &quot;Abnormal&quot;, &quot;text&quot;: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208], &quot;hoverinfo&quot;: &quot;text+name&quot;}], {&quot;title&quot;: &quot;3D Representation of the patients characteristics using PCA&quot;, &quot;hovermode&quot;: &quot;closest&quot;, &quot;showlegend&quot;: true}, {&quot;showLink&quot;: true, &quot;linkText&quot;: &quot;Export to plot.ly&quot;})});&lt;/script&gt;
&lt;/div&gt;

&lt;/div&gt;

&lt;div class=&quot;output_area&quot;&gt;

&lt;div class=&quot;prompt&quot;&gt;&lt;/div&gt;


&lt;div class=&quot;output_subarea output_stream output_stdout output_text&quot;&gt;
&lt;pre&gt;The PCA explains the variance of the data by 94.749622%
&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;
&lt;div class=&quot;cell border-box-sizing text_cell rendered&quot;&gt;&lt;div class=&quot;prompt input_prompt&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;inner_cell&quot;&gt;
&lt;div class=&quot;text_cell_render border-box-sizing rendered_html&quot;&gt;
&lt;p&gt;This time, PCA has performed very well, we can see that by the high explained variance ratio that was computed with only 3 components.&lt;br&gt;
Now what can we see from this ?&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The normal class is somewhat clustered together with a few outlier points&lt;/li&gt;
&lt;li&gt;Some points in the abnormal class are mixed within what seems to be the normal cluster, that shows us overall similarity to the normal points with probably just one factor making them abnormal ( certainly the Degree Spondylolistehsis )&lt;/li&gt;
&lt;li&gt;The abnormal class is very spread out, we can assume that the points the fursthext from all the other poiunts are extreme cases with extreme values.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;TSNE&quot;&gt;TSNE&lt;a class=&quot;anchor-link&quot; href=&quot;#TSNE&quot;&gt;&amp;#182;&lt;/a&gt;&lt;/h3&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;cell border-box-sizing code_cell rendered&quot;&gt;
&lt;div class=&quot;input&quot;&gt;
&lt;div class=&quot;prompt input_prompt&quot;&gt;In&amp;nbsp;[38]:&lt;/div&gt;
&lt;div class=&quot;inner_cell&quot;&gt;
    &lt;div class=&quot;input_area&quot;&gt;
&lt;div class=&quot; highlight hl-ipython3&quot;&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class=&quot;kn&quot;&gt;from&lt;/span&gt; &lt;span class=&quot;nn&quot;&gt;sklearn.manifold&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;TSNE&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;tsne&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;TSNE&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;n_components&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;3&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;learning_rate&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;mf&quot;&gt;115.0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;X_tsne&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;tsne&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;fit_transform&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;X&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;y&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;


&lt;span class=&quot;n&quot;&gt;xs&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;X_tsne&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[:,&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;ys&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;X_tsne&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[:,&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;zs&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;X_tsne&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[:,&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;

&lt;span class=&quot;c1&quot;&gt;# Recreating the df with the new coordinates&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;df&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;pd&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;DataFrame&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;dict&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;xs&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;y&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;ys&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;z&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;zs&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;Attribute&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;y&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;))&lt;/span&gt; 
&lt;span class=&quot;n&quot;&gt;l&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;[]&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;names&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;Normal&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;Abnormal&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;

&lt;span class=&quot;k&quot;&gt;for&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;i&lt;/span&gt; &lt;span class=&quot;ow&quot;&gt;in&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]:&lt;/span&gt;    
    &lt;span class=&quot;n&quot;&gt;trace&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;Scatter3d&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;
        &lt;span class=&quot;n&quot;&gt;x&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;df&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;df&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;Attribute&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;][&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;x&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;],&lt;/span&gt;
        &lt;span class=&quot;n&quot;&gt;y&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;df&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;df&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;Attribute&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;][&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;y&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;],&lt;/span&gt;
        &lt;span class=&quot;n&quot;&gt;z&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;df&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;df&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;Attribute&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;][&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;z&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;],&lt;/span&gt;
        &lt;span class=&quot;n&quot;&gt;mode&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;s1&quot;&gt;&amp;#39;markers&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;
        &lt;span class=&quot;n&quot;&gt;marker&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;nb&quot;&gt;dict&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;size&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;5&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;
                    &lt;span class=&quot;n&quot;&gt;line&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;nb&quot;&gt;dict&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;width&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;),&lt;/span&gt;
                    &lt;span class=&quot;n&quot;&gt;color&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;
                    &lt;span class=&quot;n&quot;&gt;colorscale&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;Jet&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;
                    &lt;span class=&quot;n&quot;&gt;opacity&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;mf&quot;&gt;0.8&lt;/span&gt;
                   &lt;span class=&quot;p&quot;&gt;),&lt;/span&gt;&lt;span class=&quot;c1&quot;&gt;#name= y[i],&lt;/span&gt;
        &lt;span class=&quot;n&quot;&gt;name&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;names&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;],&lt;/span&gt;
        &lt;span class=&quot;n&quot;&gt;text&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;df&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;df&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;Attribute&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;index&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;c1&quot;&gt;# The hover text goes here...&lt;/span&gt;
        &lt;span class=&quot;n&quot;&gt;hoverinfo&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;s1&quot;&gt;&amp;#39;text+name&amp;#39;&lt;/span&gt;
    &lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;

    &lt;span class=&quot;n&quot;&gt;l&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;append&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;trace&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;

&lt;span class=&quot;n&quot;&gt;layout&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;Layout&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;title&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;s1&quot;&gt;&amp;#39;3D Representation of the patients characteristics using TSNE&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;hovermode&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;s1&quot;&gt;&amp;#39;closest&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;showlegend&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;kc&quot;&gt;True&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;

&lt;span class=&quot;n&quot;&gt;fig&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;Figure&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;data&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;l&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;layout&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;layout&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;plotly&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;offline&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;iplot&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;fig&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;div class=&quot;output_wrapper&quot;&gt;
&lt;div class=&quot;output&quot;&gt;


&lt;div class=&quot;output_area&quot;&gt;

&lt;div class=&quot;prompt&quot;&gt;&lt;/div&gt;



&lt;div class=&quot;output_html rendered_html output_subarea &quot;&gt;
&lt;div id=&quot;20e4aace-08a3-4fd6-bde5-481e71a88ce0&quot; style=&quot;height: 525px; width: 100%;&quot; class=&quot;plotly-graph-div&quot;&gt;&lt;/div&gt;&lt;script type=&quot;text/javascript&quot;&gt;require([&quot;plotly&quot;], function(Plotly) { window.PLOTLYENV=window.PLOTLYENV || {};window.PLOTLYENV.BASE_URL=&quot;https://plot.ly&quot;;Plotly.newPlot(&quot;20e4aace-08a3-4fd6-bde5-481e71a88ce0&quot;, [{&quot;type&quot;: &quot;scatter3d&quot;, &quot;x&quot;: [7.791319847106934, -11.619583129882812, 32.50340270996094, -3.4726433753967285, 32.42058181762695, 26.903518676757812, 38.85100173950195, 25.595792770385742, -14.497599601745605, -36.14038848876953, -20.452342987060547, 35.11973190307617, 36.4173698425293, 14.70853042602539, 12.673325538635254, 36.922645568847656, 32.500946044921875, -15.45008659362793, 15.567293167114258, 20.976303100585938, -10.094221115112305, -3.7995264530181885, 19.118980407714844, 16.712539672851562, 15.73489761352539, -31.700183868408203, 39.95255661010742, 34.531227111816406, 22.102174758911133, -18.15157699584961, 18.037952423095703, -13.155280113220215, 10.954150199890137, 29.273944854736328, -33.94951248168945, 30.179492950439453, -3.3194475173950195, -13.713976860046387, 30.521930694580078, -24.04311180114746, 6.323744773864746, 26.0035400390625, 22.169082641601562, 0.5216614603996277, 1.6900849342346191, 22.960262298583984, 16.311809539794922, 20.024351119995117, 30.291414260864258, 49.32835006713867, 7.1878581047058105, 7.963935852050781, 3.6797029972076416, -0.5419836640357971, 28.02495765686035, 16.717754364013672, 23.748825073242188, 23.6084041595459, -9.585596084594727, 5.621099472045898, 39.42844772338867, 6.621890068054199, 23.199399948120117, 16.387638092041016, 22.313629150390625, 19.574243545532227, -1.7998309135437012, 28.05635643005371, 10.485614776611328, -1.5910441875457764, -6.878280162811279, 22.128517150878906, 0.030842941254377365, 32.95762634277344, 13.923187255859375, 25.178678512573242, 11.960264205932617, -2.7895989418029785, 12.845809936523438, 5.181004047393799, 5.978418350219727, -4.060344219207764, 7.093690872192383, 27.216217041015625, 20.798551559448242, 33.04701614379883, 11.446687698364258, -12.822160720825195, -40.598777770996094, -29.143516540527344, 39.50563049316406, -17.298555374145508, -37.50476837158203, 12.74746322631836, 28.470897674560547, 5.547626495361328, -33.69175720214844, -28.361371994018555, 27.792137145996094, 23.707538604736328], &quot;y&quot;: [-23.043682098388672, 3.6568756103515625, -37.79048156738281, -5.414748191833496, -38.05083465576172, -44.32843017578125, -70.42481994628906, -49.63892364501953, -30.98379135131836, 20.91689682006836, -21.52656364440918, -28.960933685302734, 17.17523765563965, 47.15986251831055, 79.13652801513672, -17.56824493408203, 15.686931610107422, 1.9787108898162842, -81.96141052246094, -55.507354736328125, 23.221052169799805, -33.642494201660156, -28.85610580444336, -68.84555053710938, -49.074729919433594, -8.786430358886719, 9.42780590057373, 3.311415433883667, 4.774219512939453, 0.2648829519748688, -58.175235748291016, -37.63648223876953, -74.27540588378906, -59.92724609375, 28.814287185668945, -17.633893966674805, -21.098697662353516, -40.0107421875, -56.04323959350586, -19.36103630065918, -75.51881408691406, -60.50800323486328, -60.764522552490234, 26.30980682373047, 17.22336769104004, 8.279540061950684, -31.819372177124023, -77.02001190185547, -47.56868362426758, 25.87434959411621, -31.04606056213379, 4.297032833099365, -57.12165451049805, -76.50785064697266, -32.33386993408203, -43.506595611572266, -35.347442626953125, -27.720300674438477, -10.681556701660156, -53.13478088378906, -21.798513412475586, -19.448461532592773, -66.98188018798828, -67.46818542480469, -69.02043914794922, 3.3049864768981934, -44.2388801574707, -4.583304405212402, -86.41224670410156, 3.4333882331848145, -42.72037124633789, -0.8585882782936096, -23.961055755615234, -17.767559051513672, -7.99363899230957, 8.110488891601562, 5.06640100479126, -80.13056182861328, 14.540322303771973, -45.686302185058594, -69.42231750488281, -32.1655158996582, -85.54070281982422, -29.20942497253418, -46.17765808105469, -43.474308013916016, -33.34663009643555, -27.583425521850586, -12.859167098999023, 41.58677673339844, -60.32383346557617, 47.82006072998047, -16.040054321289062, -77.75984954833984, -28.044952392578125, -43.58753967285156, -26.465599060058594, 4.459207057952881, -47.33884811401367, -73.49739837646484], &quot;z&quot;: [-44.143836975097656, -25.367849349975586, 10.26921558380127, -35.42540740966797, -3.303558349609375, -34.53202819824219, -2.18286395072937, 25.72747230529785, -20.422712326049805, -21.36673927307129, -54.37150192260742, 29.938865661621094, 33.42731857299805, -4.306704044342041, 6.413323402404785, 32.62560272216797, 8.831840515136719, -13.949172019958496, -3.6872811317443848, -11.72518253326416, -18.193262100219727, 0.7689726948738098, -18.508548736572266, -5.90406608581543, 15.873451232910156, -17.253002166748047, 3.5933854579925537, 11.643106460571289, 6.685292720794678, -34.76438903808594, -0.6278813481330872, -6.688100337982178, 5.108891487121582, 15.304418563842773, -13.72504711151123, 17.861433029174805, -25.105443954467773, -30.89586639404297, -3.873788356781006, -41.75722122192383, 27.084651947021484, 30.123388290405273, 41.079071044921875, -18.39784049987793, -7.077836513519287, 18.53165626525879, 18.295738220214844, 34.173912048339844, -13.579072952270508, 5.911459922790527, 4.165783882141113, 1.4926677942276, -34.67200469970703, 8.442170143127441, 22.20189094543457, 3.778444766998291, 1.633097529411316, 12.803823471069336, -4.897364616394043, -46.949703216552734, 21.43705177307129, -31.456064224243164, 6.504716873168945, 27.228172302246094, -16.752347946166992, -5.528149127960205, -7.524141311645508, -14.668164253234863, 24.719873428344727, -30.206668853759766, -17.055349349975586, -22.450218200683594, -2.3274929523468018, 7.831606864929199, -14.688039779663086, -15.457839012145996, -17.950916290283203, 19.850421905517578, -1.4206205606460571, -29.113372802734375, -33.74021911621094, -11.979109764099121, 11.714240074157715, 41.529666900634766, -6.795896530151367, 19.411088943481445, -39.35161209106445, -39.12914276123047, -22.607826232910156, 30.329776763916016, 1.6222609281539917, 31.976482391357422, -46.5106086730957, 17.453495025634766, -7.378272533416748, -17.400671005249023, -45.48485565185547, -16.29607582092285, 4.651977062225342, 17.744579315185547], &quot;mode&quot;: &quot;markers&quot;, &quot;marker&quot;: {&quot;size&quot;: 5, &quot;line&quot;: {&quot;width&quot;: 1}, &quot;color&quot;: 0, &quot;colorscale&quot;: &quot;Jet&quot;, &quot;opacity&quot;: 0.8}, &quot;name&quot;: &quot;Normal&quot;, &quot;text&quot;: [209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308], &quot;hoverinfo&quot;: &quot;text+name&quot;}, {&quot;type&quot;: &quot;scatter3d&quot;, &quot;x&quot;: [16.101642608642578, -22.763317108154297, -37.6086311340332, 36.97816467285156, 12.937697410583496, -13.197783470153809, 10.198713302612305, 13.976806640625, 18.54043197631836, -1.620475172996521, -2.5577855110168457, -16.315324783325195, -36.06285095214844, -34.25468826293945, 129.29393005371094, -12.697779655456543, 5.789247035980225, 16.956947326660156, 17.69845199584961, 11.656753540039062, -26.0566349029541, -24.163196563720703, 8.562294006347656, -12.987236022949219, -45.5687141418457, 0.25579747557640076, 3.1530890464782715, -22.188323974609375, -31.345584869384766, -1.8027938604354858, 29.80548858642578, -9.494782447814941, 24.4796199798584, -44.998836517333984, 4.132210731506348, 22.727340698242188, -5.234711170196533, -48.86278533935547, -23.641841888427734, 6.946709632873535, 28.73476219177246, -27.64468002319336, -43.30400466918945, 46.84852600097656, -30.184432983398438, -24.980615615844727, 2.911627769470215, -1.2460764646530151, -6.944366455078125, -32.061885833740234, -58.51353454589844, -47.243309020996094, 31.047632217407227, 4.679618835449219, 7.903548240661621, 26.355045318603516, 5.265570163726807, -9.124811172485352, -2.3734261989593506, -26.564899444580078, -31.125268936157227, 13.029274940490723, -10.517755508422852, 18.842317581176758, -51.79323196411133, -17.2239990234375, -0.138591006398201, -4.7398552894592285, 18.565292358398438, -6.007480144500732, -40.61062240600586, -36.47806167602539, -26.70632553100586, 10.595949172973633, -45.82419967651367, -39.56156539916992, 13.00583267211914, -34.49283981323242, 10.419546127319336, -25.169612884521484, -4.838852405548096, -33.0705451965332, -33.39421844482422, -58.865966796875, 11.151378631591797, 42.83851623535156, 2.7367188930511475, -16.468849182128906, -33.794097900390625, -22.92329216003418, -0.5685955286026001, -11.540630340576172, 28.42038345336914, -11.385616302490234, -36.39810562133789, -5.34719181060791, 14.705493927001953, 3.9755752086639404, -13.8184232711792, -25.624927520751953, -0.8393635749816895, 16.62761688232422, 18.157390594482422, -28.512615203857422, -44.91606903076172, 21.166011810302734, -32.91523361206055, 25.19644546508789, -33.72960662841797, 25.17259979248047, -17.90947914123535, -21.32737922668457, -16.372455596923828, -39.09591293334961, -25.21798324584961, 12.937231063842773, -49.6361083984375, -37.3796501159668, -15.94914436340332, -7.979767799377441, -7.050039291381836, -64.6738052368164, 13.186055183410645, 38.68596267700195, 15.454085350036621, -9.18281078338623, -3.3706588745117188, -13.927553176879883, -5.319579601287842, 45.8629150390625, 12.961451530456543, -13.222320556640625, -3.5487945079803467, 29.239259719848633, -22.793170928955078, -51.03492736816406, -32.79187774658203, 8.016757011413574, 4.538594722747803, 21.121440887451172, -65.48342895507812, 7.847070217132568, 5.830885410308838, 34.771522521972656, -54.89111328125, -14.391887664794922, 15.491272926330566, 6.544766902923584, -30.63591194152832, -11.954729080200195, 23.39346694946289, -6.974853992462158, 37.471168518066406, 7.567409038543701, 25.134382247924805, 45.94809341430664, 5.281535625457764, 7.267663478851318, 25.248146057128906, -41.518646240234375, 16.06678009033203, -52.97419738769531, -47.742828369140625, 3.2331478595733643, -4.798985958099365, 19.543508529663086, 5.248512268066406, 3.5051023960113525, 3.3024098873138428, -25.995479583740234, 24.772253036499023, -8.44207763671875, 23.42249298095703, -44.15903091430664, 7.779708385467529, 20.312511444091797, -6.429739952087402, -19.69823455810547, -65.7295913696289, -5.095534324645996, 31.76499366760254, -20.27315902709961, -33.953975677490234, 14.167577743530273, -3.5735208988189697, 4.064890384674072, 27.9161434173584, -43.92835998535156, -20.301443099975586, 4.575623512268066, -51.45701599121094, -34.084110260009766, 32.62229537963867, 8.652627944946289, 31.17017936706543, 24.199848175048828, -34.72335433959961, 7.684518814086914, 4.358105182647705, 11.393136024475098, -24.487226486206055, -46.505470275878906, 10.762277603149414, -6.020328998565674, -28.600614547729492, -58.5418701171875, 3.7340338230133057, -3.16070294380188, -13.42509651184082], &quot;y&quot;: [-78.77294158935547, 12.142568588256836, 19.83935546875, -67.63520050048828, -61.4581184387207, -24.290054321289062, -62.378662109375, -22.32074737548828, -62.73238754272461, -53.90314483642578, -58.771541595458984, -12.163418769836426, -21.511951446533203, 8.598142623901367, -14.19199275970459, 11.355301856994629, -68.93067932128906, -51.743228912353516, -60.91679763793945, -33.98475646972656, -4.414407253265381, 21.544204711914062, -54.363800048828125, -31.55384063720703, 3.1058003902435303, -78.07003021240234, -9.699718475341797, -32.29650115966797, 16.968534469604492, -16.93985366821289, -59.354759216308594, -40.23564147949219, -38.10171890258789, 26.887266159057617, -81.5000228881836, -79.54335021972656, -47.01587677001953, 17.14042854309082, -19.375019073486328, -76.45509338378906, -67.3482894897461, -29.092273712158203, 17.538606643676758, 6.4061126708984375, 5.7567033767700195, -10.06295394897461, -41.358924865722656, -29.939891815185547, -51.77848434448242, -11.6583251953125, 40.680660247802734, 12.5828857421875, -54.556732177734375, -34.70841979980469, -34.70256423950195, -78.22486114501953, -25.935211181640625, -22.896392822265625, -33.49061965942383, 70.32862854003906, 77.10228729248047, -22.978105545043945, 36.53519058227539, 66.09529113769531, 61.63285827636719, 34.09577560424805, 45.46392059326172, 7.122712135314941, -39.8402214050293, 12.660595893859863, 42.3663330078125, 51.22964859008789, -5.166391849517822, 72.2777328491211, 56.05375671386719, 63.14318084716797, -1.9881340265274048, -16.82122230529785, -17.8178653717041, 57.11770248413086, 36.78263473510742, 37.246734619140625, -63.335391998291016, 54.06797409057617, -19.43876838684082, 17.458580017089844, -19.862794876098633, -10.799525260925293, 11.89761734008789, 39.332115173339844, 29.156728744506836, 54.839073181152344, 43.65163040161133, 51.19289016723633, 46.87261962890625, 89.2788314819336, 60.199947357177734, 80.73782348632812, -15.571771621704102, 50.6420783996582, 42.558799743652344, 16.35024642944336, -31.880558013916016, 49.083091735839844, 27.974994659423828, 9.825145721435547, 63.878456115722656, 5.072212219238281, -23.100826263427734, 19.967086791992188, 77.03410339355469, -54.929256439208984, 15.865497589111328, 86.74797821044922, 61.48033905029297, 26.09588050842285, 49.260887145996094, 7.933315277099609, -4.776831150054932, -24.554832458496094, 76.77818298339844, 59.28450012207031, 12.87636661529541, 7.716129302978516, -24.210771560668945, 23.9634952545166, 45.58041763305664, 57.0980224609375, 16.54481315612793, -58.198936462402344, 5.455024719238281, 25.04458236694336, 54.95867156982422, 47.522987365722656, 64.33055114746094, 81.30147552490234, 74.76350402832031, 62.1864128112793, 78.79176330566406, 37.86711120605469, 75.02227020263672, 90.54605865478516, 42.68201446533203, 10.77783203125, 74.70431518554688, 68.28184509277344, -34.40936279296875, 2.9562108516693115, 20.665891647338867, 45.006446838378906, -24.713134765625, -3.4725687503814697, 23.884981155395508, -47.5168342590332, 30.50999641418457, 59.09912109375, -45.658775329589844, -37.286251068115234, 33.96937942504883, 74.64999389648438, -0.9906745553016663, 69.86143493652344, 77.92793273925781, -28.994888305664062, 64.61196899414062, -11.847956657409668, 15.481376647949219, 88.35504150390625, -57.22551727294922, -28.796459197998047, 49.669769287109375, -20.647680282592773, -19.144559860229492, 4.7778639793396, -9.790823936462402, 27.114198684692383, 36.6898193359375, 43.09572982788086, 66.45756530761719, -63.8493766784668, 29.351469039916992, 81.21969604492188, 86.19953918457031, 78.9993896484375, 77.374267578125, 64.7431869506836, -5.992287635803223, 77.32024383544922, 67.251953125, -24.939626693725586, 60.901893615722656, 56.89519119262695, 36.80539321899414, 35.027244567871094, 37.00953674316406, 28.756689071655273, 100.53841400146484, 24.098329544067383, 27.88469123840332, 29.549272537231445, 92.87405395507812, 90.7993392944336, 14.217891693115234, -10.634008407592773, 83.66898345947266, 67.07581329345703, 55.376583099365234, 88.17091369628906, -15.442553520202637], &quot;z&quot;: [-14.803340911865234, -5.436358451843262, -2.0374059677124023, -15.553674697875977, -38.42523193359375, -10.456648826599121, -14.076064109802246, -8.93689250946045, 17.01850700378418, -17.358474731445312, -53.742042541503906, -38.97358322143555, -34.85988235473633, -24.345212936401367, 15.219813346862793, -12.196125984191895, 15.520000457763672, -33.359127044677734, -26.00855827331543, -24.806324005126953, -29.46382713317871, -19.228622436523438, -23.092918395996094, -58.85774230957031, -30.1492977142334, -15.080204963684082, -27.405792236328125, -51.119224548339844, -11.371508598327637, -13.252007484436035, -20.00071144104004, -41.25774002075195, -23.178539276123047, -29.535940170288086, -2.5395867824554443, 8.264867782592773, -54.8771858215332, -23.823650360107422, -30.559921264648438, -23.86678695678711, -7.225611209869385, -34.74924087524414, -11.8983793258667, 12.375312805175781, -35.207191467285156, -48.92269515991211, -41.076236724853516, -41.89393615722656, -44.36735153198242, -37.121219635009766, 15.805877685546875, -34.98469924926758, -35.74578857421875, -50.09156799316406, -11.17440414428711, -5.5373663902282715, -20.0383358001709, -48.459556579589844, -23.522130966186523, 11.854267120361328, -0.6581522226333618, 31.93272590637207, -6.621622085571289, -2.7952136993408203, 22.847862243652344, 1.59129798412323, 11.503212928771973, -1.6797549724578857, 49.334075927734375, 12.45435905456543, 8.811589241027832, 15.144004821777344, 6.112497329711914, -16.238805770874023, -2.2879998683929443, 7.760578155517578, 48.9096565246582, 18.23006248474121, 6.716494083404541, 12.484834671020508, 18.351581573486328, 17.26209831237793, -26.92959976196289, 18.90793228149414, 19.405532836914062, 16.897655487060547, 28.217370986938477, 6.086069583892822, 4.572005271911621, 22.48983383178711, -5.026358604431152, -13.109075546264648, 9.052982330322266, -23.465286254882812, -6.592296123504639, 2.784670829772949, -10.022272109985352, -13.929523468017578, 18.400808334350586, 24.931913375854492, -0.8821113705635071, 12.7412691116333, 36.79819869995117, 5.360826015472412, -16.041637420654297, 35.52052307128906, 19.36177635192871, 45.95965576171875, 7.1859588623046875, 24.93744468688965, 5.089338302612305, 20.934280395507812, 17.02657127380371, 10.065510749816895, -18.999391555786133, 29.627073287963867, 13.917962074279785, -6.653723239898682, 16.343942642211914, 22.29353904724121, -5.964138031005859, 9.911577224731445, 41.28322982788086, -21.297481536865234, 44.913841247558594, -1.6862226724624634, -11.753772735595703, 20.20783042907715, 21.838947296142578, -15.79939079284668, 13.381465911865234, 14.706700325012207, -3.8110904693603516, 18.03664207458496, 3.342024564743042, 8.523300170898438, 19.781522750854492, 4.368953704833984, -1.775031328201294, -2.2879655361175537, 7.482996940612793, -4.372333526611328, 24.401979446411133, 24.6308536529541, 17.49205780029297, 12.010942459106445, 57.36564636230469, 37.19132614135742, 10.665244102478027, 1.342254638671875, 51.71992111206055, 24.064289093017578, 25.088672637939453, 26.73598861694336, 4.053833961486816, -7.767998695373535, 37.53126525878906, 49.18262481689453, 22.208572387695312, 5.095710754394531, 36.48527908325195, -9.852685928344727, -8.06116771697998, 19.03952980041504, -12.746265411376953, 47.35981750488281, 5.953739643096924, 9.693761825561523, 29.887821197509766, 19.77045249938965, -10.09704303741455, 9.486422538757324, 36.26725769042969, -16.557552337646484, 44.45048904418945, 15.362274169921875, 5.704489231109619, 13.054826736450195, 19.033601760864258, 23.920989990234375, 13.383264541625977, 18.27350616455078, 22.239044189453125, -6.850934982299805, 7.230230331420898, -6.291995525360107, 43.35300827026367, 16.65464210510254, 21.570140838623047, 38.20387649536133, 12.310803413391113, -1.332540512084961, -3.6798295974731445, -3.6555025577545166, -14.747364044189453, 32.92759704589844, 16.096860885620117, 16.68812370300293, 6.741947650909424, -14.696823120117188, 16.927978515625, 19.100818634033203, 23.65088653564453, 12.081239700317383, 8.677899360656738, 2.9949088096618652, -15.490912437438965, -8.162922859191895, -19.914505004882812], &quot;mode&quot;: &quot;markers&quot;, &quot;marker&quot;: {&quot;size&quot;: 5, &quot;line&quot;: {&quot;width&quot;: 1}, &quot;color&quot;: 1, &quot;colorscale&quot;: &quot;Jet&quot;, &quot;opacity&quot;: 0.8}, &quot;name&quot;: &quot;Abnormal&quot;, &quot;text&quot;: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208], &quot;hoverinfo&quot;: &quot;text+name&quot;}], {&quot;title&quot;: &quot;3D Representation of the patients characteristics using TSNE&quot;, &quot;hovermode&quot;: &quot;closest&quot;, &quot;showlegend&quot;: true}, {&quot;showLink&quot;: true, &quot;linkText&quot;: &quot;Export to plot.ly&quot;})});&lt;/script&gt;
&lt;/div&gt;

&lt;/div&gt;

&lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;
&lt;div class=&quot;cell border-box-sizing text_cell rendered&quot;&gt;&lt;div class=&quot;prompt input_prompt&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;inner_cell&quot;&gt;
&lt;div class=&quot;text_cell_render border-box-sizing rendered_html&quot;&gt;
&lt;p&gt;I always liked the results of a t-SNE dimensionality reduction...&lt;br&gt;
Compared to the results we've had for the PCA, the separation between clusters makes itself clearer. Yet we still have an important mix of classes in what should be the normal cluster. It is interesting to note that the outlier points in this representation are not the same as the outlier points we've had using the PCA. Different techniques different results, but it would still be interesting to compare these outlier points wioth the rest of the data set.&lt;/p&gt;
&lt;h3 id=&quot;Spectral-Embedding&quot;&gt;Spectral Embedding&lt;a class=&quot;anchor-link&quot; href=&quot;#Spectral-Embedding&quot;&gt;&amp;#182;&lt;/a&gt;&lt;/h3&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;cell border-box-sizing code_cell rendered&quot;&gt;
&lt;div class=&quot;input&quot;&gt;
&lt;div class=&quot;prompt input_prompt&quot;&gt;In&amp;nbsp;[39]:&lt;/div&gt;
&lt;div class=&quot;inner_cell&quot;&gt;
    &lt;div class=&quot;input_area&quot;&gt;
&lt;div class=&quot; highlight hl-ipython3&quot;&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class=&quot;kn&quot;&gt;from&lt;/span&gt; &lt;span class=&quot;nn&quot;&gt;sklearn.manifold&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;SpectralEmbedding&lt;/span&gt;

&lt;span class=&quot;n&quot;&gt;SE&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;SpectralEmbedding&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;n_components&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;3&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;X_SE&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;SE&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;fit_transform&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;X&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;y&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;


&lt;span class=&quot;n&quot;&gt;xs&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;X_SE&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[:,&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;ys&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;X_SE&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[:,&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;zs&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;X_SE&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[:,&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;

&lt;span class=&quot;c1&quot;&gt;# Recreating the df with the new coordinates&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;df&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;pd&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;DataFrame&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;dict&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;xs&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;y&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;ys&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;z&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;zs&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;Attribute&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;y&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;))&lt;/span&gt; 
&lt;span class=&quot;n&quot;&gt;l&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;[]&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;names&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;Normal&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;Abnormal&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;

&lt;span class=&quot;k&quot;&gt;for&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;i&lt;/span&gt; &lt;span class=&quot;ow&quot;&gt;in&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]:&lt;/span&gt;    
    &lt;span class=&quot;n&quot;&gt;trace&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;Scatter3d&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;
        &lt;span class=&quot;n&quot;&gt;x&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;df&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;df&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;Attribute&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;][&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;x&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;],&lt;/span&gt;
        &lt;span class=&quot;n&quot;&gt;y&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;df&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;df&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;Attribute&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;][&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;y&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;],&lt;/span&gt;
        &lt;span class=&quot;n&quot;&gt;z&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;df&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;df&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;Attribute&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;][&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;z&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;],&lt;/span&gt;
        &lt;span class=&quot;n&quot;&gt;mode&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;s1&quot;&gt;&amp;#39;markers&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;
        &lt;span class=&quot;n&quot;&gt;marker&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;nb&quot;&gt;dict&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;size&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;5&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;
                    &lt;span class=&quot;n&quot;&gt;line&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;nb&quot;&gt;dict&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;width&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;),&lt;/span&gt;
                    &lt;span class=&quot;n&quot;&gt;color&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;
                    &lt;span class=&quot;n&quot;&gt;colorscale&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;Jet&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;
                    &lt;span class=&quot;n&quot;&gt;opacity&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;mf&quot;&gt;0.8&lt;/span&gt;
                   &lt;span class=&quot;p&quot;&gt;),&lt;/span&gt;&lt;span class=&quot;c1&quot;&gt;#name= y[i],&lt;/span&gt;
        &lt;span class=&quot;n&quot;&gt;name&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;names&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;],&lt;/span&gt;
        &lt;span class=&quot;n&quot;&gt;text&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;df&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;df&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;Attribute&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;index&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;c1&quot;&gt;# The hover text goes here...&lt;/span&gt;
        &lt;span class=&quot;n&quot;&gt;hoverinfo&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;s1&quot;&gt;&amp;#39;text+name&amp;#39;&lt;/span&gt;
    &lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;

    &lt;span class=&quot;n&quot;&gt;l&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;append&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;trace&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;

&lt;span class=&quot;n&quot;&gt;layout&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;Layout&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;title&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;s1&quot;&gt;&amp;#39;3D Representation of the patients characteristics using Spectral Embedding&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;hovermode&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;s1&quot;&gt;&amp;#39;closest&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;showlegend&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;kc&quot;&gt;True&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;

&lt;span class=&quot;n&quot;&gt;fig&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;Figure&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;data&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;l&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;layout&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;layout&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;plotly&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;offline&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;iplot&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;fig&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;div class=&quot;output_wrapper&quot;&gt;
&lt;div class=&quot;output&quot;&gt;


&lt;div class=&quot;output_area&quot;&gt;

&lt;div class=&quot;prompt&quot;&gt;&lt;/div&gt;



&lt;div class=&quot;output_html rendered_html output_subarea &quot;&gt;
&lt;div id=&quot;f7fa1105-6dad-422a-8781-369c7dc09d9f&quot; style=&quot;height: 525px; width: 100%;&quot; class=&quot;plotly-graph-div&quot;&gt;&lt;/div&gt;&lt;script type=&quot;text/javascript&quot;&gt;require([&quot;plotly&quot;], function(Plotly) { window.PLOTLYENV=window.PLOTLYENV || {};window.PLOTLYENV.BASE_URL=&quot;https://plot.ly&quot;;Plotly.newPlot(&quot;f7fa1105-6dad-422a-8781-369c7dc09d9f&quot;, [{&quot;type&quot;: &quot;scatter3d&quot;, &quot;x&quot;: [-0.2856903416217989, -0.027652845341015617, -0.3566187441064693, -0.15130428409179758, -0.3729887923034235, -0.26657752700087384, -0.3779858623431849, -0.3027767027952524, -0.3374858084088099, 0.08709479395312815, -0.1699527269475779, -0.21445469950071197, 0.06581839520235176, 0.20321381844450903, 0.32639683379346707, -0.16537493538494236, 0.16722717868996526, 0.07631742420386566, -0.40847964623605976, -0.49749938902350327, 0.1378480486350759, -0.2983916300182199, -0.3909850742891132, -0.4588924943184127, -0.35747144673655074, -0.02110151438845894, 0.11000228283682145, 0.0525484163313064, 0.10977107033038754, -0.08948097836979439, -0.49258181431787307, -0.29353117010903595, -0.3739157839271626, -0.3680468904829729, 0.09690264303753893, -0.2234191539788788, -0.33803364359466087, -0.2871183678517418, -0.4886830172749115, -0.1555227027355457, -0.30767132831999994, -0.29934188677117846, -0.18766129418388935, 0.1763903889465694, 0.20031274660702447, 0.1772519970418282, -0.27116307186171373, -0.25550060173483985, -0.4921835851875483, 0.008947851074648273, -0.2651881544455648, 0.09409063587243914, -0.33434243628651805, -0.3291381698402611, -0.26299916742338747, -0.45149615990725706, -0.39619206984478195, -0.28683154732457034, -0.15720230277305206, -0.260673964846252, -0.19542282866914207, -0.25644991357134334, -0.48793142410306845, -0.3230981406209715, -0.4715901954150039, 0.07634755103015642, -0.30900354212688647, -0.07932680057258903, -0.30732865433955775, -0.0877642260070959, -0.37436310374482573, -0.07737394066393842, -0.28025566878197944, -0.20842777764008874, -0.15423042292991987, 0.006996067112291407, -0.04418282120604697, -0.2834378198753036, 0.17269780229718268, -0.3843527098781637, -0.2777013803718977, -0.3245485707474342, -0.3287278682904496, -0.24325573572089237, -0.4273358619249123, -0.3506950846735552, -0.2969994610674416, -0.24823228412539586, -0.02699697640773032, 0.2578596971451249, -0.3948580929532301, 0.38162723739762255, -0.1273433345009894, -0.3338323430157348, -0.278707944996516, -0.38133753828936967, -0.1422244981283887, 0.035295511882931355, -0.4458461188070888, -0.400558509354273], &quot;y&quot;: [-0.051659849251118495, 0.3597902769565317, -0.18717611081653138, 0.14916141166511385, -0.19701580639993474, -0.19169815766973444, -0.3540433301878952, -0.18864252860042022, 0.08150746953039378, 0.34194632616059883, 0.11622118867686136, -0.04627821827219373, 0.40894883399134757, 0.22072460967175184, -0.1981076781019718, 0.09672418040627578, 0.5469166744495865, 0.554677710113348, -0.4123847695243302, -0.40647613677108874, 0.34117596938062295, 0.004371971445931316, -0.1340171166975857, -0.43944078743637593, -0.2727287724167191, 0.39431919705555396, 0.4358058926465499, 0.4657459102563185, 0.5418487005366659, 0.38753979522688153, -0.4472043329051926, -0.020395472281726792, -0.3940101519029441, -0.34187927232645815, 0.3324249045245451, -0.028031977714815234, 0.06071112100642249, 0.013055956127576688, -0.4206404266020242, 0.22937299576128156, -0.32695748915731837, -0.2357427844040091, -0.13494060696122454, 0.3952207625554497, 0.39967756687225947, 0.6209378495956013, 0.015243213884297202, -0.24644735039590535, -0.40776009937880225, 0.45676463231507886, 0.010991739075833932, 0.36619396968630613, -0.17923930046899095, -0.3513240447917064, -0.10012167667176447, -0.26849983624904916, -0.20560883698733365, -0.055995389430029484, 0.295270321752636, -0.10551744266063133, -0.004538005287623294, 0.032293905667952295, -0.47070296029051334, -0.3210486230455982, -0.4311417652012245, 0.5171600206168516, -0.06630462078091691, 0.21966506318977455, -0.3253640580052931, 0.21677677428072886, -0.09960929168555482, 0.2767977760114489, 0.04445817458112857, 0.04650110356347558, 0.2213324928790457, 0.3712797789627224, 0.3944811509985646, -0.30459230912670293, 0.4397199547817176, -0.15905916435105638, -0.21508587974580967, 0.017630281987673555, -0.35115350533374223, -0.04442911878450249, -0.3070926296987074, -0.19331054777765164, -0.05963336268826271, 0.10348852488889596, 0.2859723016846498, -0.009246447941812183, -0.35464768320608353, -0.1679887713278225, 0.1937027057288984, -0.35329546030324893, -0.09698034282033449, -0.12645048721985291, 0.1713329052720339, 0.40807214342110504, -0.3309174537529709, -0.4101397675278666], &quot;z&quot;: [0.4533910301436726, 0.28501429622177493, -0.2705767597885763, 0.39033829591766517, -0.048994364440854865, 0.04005307823082991, -0.27952581849555386, -0.31754557794873695, 0.6927086048441263, 0.25358155638204816, 0.5650911541746265, -0.266253241160595, -0.42609499618539315, -0.23373984466784165, -0.013399089364648417, -0.2701768067422711, -0.37101608719801593, 0.1482105934048284, -0.33002589502927, -0.18975691692146207, 0.014312704753592451, 0.2641946748930944, 0.2899554588026838, -0.3124203571722073, -0.2406361666960033, 0.41794829794866406, -0.31659502932883676, -0.22163819122813988, -0.3026286046568459, 0.5707537545296613, -0.3400064816692246, 0.30700496301227137, -0.37551886884366636, -0.3341664891774061, 0.24030757098666455, -0.14917362356481711, 0.6219051394857267, 0.582645280547333, -0.32776476592248843, 0.6463357308146063, -0.3504308628897072, -0.361261983390415, -0.2608242456478069, -0.18582732747776448, -0.1653384218111192, -0.4663546045722883, -0.1784113952575427, -0.30540483869635776, -0.2356091834698143, 0.1401824897644312, 0.14403282505690418, -0.159490348834888, 0.24538451048788737, -0.3485495072152587, -0.22592526268859683, -0.15628674620834768, -0.10312644552108235, -0.1480725180852533, 0.4943371997428676, 0.29953089851808085, -0.23973758635121709, 0.5061303653731719, -0.4391330925792967, -0.38119980637169176, -0.2508571001010365, -0.032732450437034925, 0.3273897396190721, 0.11153057866433472, -0.34552697183858616, 0.274038012302073, 0.33605493220398946, 0.1721648103673265, 0.27250265138428825, 0.052823224345889055, 0.29736069742833676, 0.1204918944802079, 0.2504626314096649, -0.31224740054701045, -0.2571237836277084, 0.36136586462624315, 0.024060158112941894, 0.4540838436017268, -0.36098674171076733, -0.35402601789320665, -0.0927745828796524, -0.36198715822782984, 0.44750034258737226, 0.6839550020671087, 0.3763963883790855, 0.08057411088100616, -0.32492662948379814, -0.01276692717053737, 0.5665079485369566, -0.3670985312153518, 0.07407607386553887, 0.34583041065984116, 0.5678085610731689, 0.3526614886535537, -0.31163479168999686, -0.4224250196952366], &quot;mode&quot;: &quot;markers&quot;, &quot;marker&quot;: {&quot;size&quot;: 5, &quot;line&quot;: {&quot;width&quot;: 1}, &quot;color&quot;: 0, &quot;colorscale&quot;: &quot;Jet&quot;, &quot;opacity&quot;: 0.8}, &quot;name&quot;: &quot;Normal&quot;, &quot;text&quot;: [209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308], &quot;hoverinfo&quot;: &quot;text+name&quot;}, {&quot;type&quot;: &quot;scatter3d&quot;, &quot;x&quot;: [-0.4326467355713903, 0.10942933426749381, 0.1044726466407719, -0.33825985714304657, -0.33670991149183993, -0.27464866220487294, -0.36415546870647886, -0.3355867738960748, -0.40393514877398834, -0.356161537037391, -0.19218680558829324, -0.16216857867099999, -0.14429976445973264, 0.029404610470460724, -0.4596656871210951, 0.10081935609637568, -0.3338092765987859, -0.3872602653909454, -0.4357896218304665, -0.4051474746644443, -0.08422765239742164, 0.11916668986179345, -0.4321785553264237, -0.14859212160655577, -0.01223243859455586, -0.2795073589504563, -0.17231199900934063, -0.17021655414339606, 0.08822898414454582, -0.260252898994154, -0.46710376985977525, -0.2884380651564946, -0.3619500574458452, 0.063124463388823, -0.35411491408347645, -0.41157350186131103, -0.19639417424045646, 0.04169445399549343, -0.18903523740552164, -0.3011704128889961, -0.4434578437184131, -0.17149980655874936, 0.09217259651018762, 0.03328027274034734, -0.04991521707940801, -0.1342632171753929, -0.3012224214242974, -0.25546598289882644, -0.23365327508885952, -0.13437198997869365, 0.17573127193807964, 0.00026728233305487945, -0.29018061848411486, -0.2544313007379705, -0.4305166750583089, -0.4376846518575237, -0.37501288783744574, -0.21753170277970538, -0.36137380993565454, 0.6449480428058688, 0.5638383584699537, -0.2579067470026421, 0.3377794505816993, 0.3477778437691439, 0.43908084955658644, 0.30748620374200025, 0.28681052516072775, 0.13448634888566474, -0.18760396293504844, 0.18757046522032125, 0.3914455100495533, 0.5953588456753375, -0.06713925566274921, 0.4091361270222356, 0.4148376904950905, 0.5453785634431254, -0.1233460910805951, 0.2592003790428494, -0.307164501782585, 0.6016490030980758, 0.2605664752812457, 0.3207625219299007, 0.5973537870579417, 0.41000950689149235, -0.3137464748936186, 0.140558217299404, -0.21911300149303214, -0.14618763815726907, 0.13606065997256173, 0.3517930069632871, 0.30483849908880956, 0.3092212759344309, 0.14791135627163987, 0.22966494038413424, 0.19502419671853913, 0.31737740096689104, 0.3636402501252814, 0.4194114332910747, -0.1387386066660236, 0.5268930299374874, 0.3130091515863883, 0.20622310591404497, -0.2587436324935684, 0.46705801384943346, 0.10710609404436579, 0.05025030625701547, 0.6091775751240304, -0.010885400543189941, 0.2639049730136625, 0.1562355887983763, 0.6191382790353378, -0.1454777547292287, 0.11772036009791592, 0.5270231003755064, 0.21759966255748578, 0.1854196228422169, 0.41160117273366076, 0.07851104660118584, -0.09233222934461688, -0.17370491774589927, 0.489456720130674, 0.356332406866362, 0.0494479196662757, 0.0013199951001759158, -0.20815602915041323, 0.2515324430413789, 0.2883703050868428, 0.6001650367236668, 0.17693186533575786, -0.252526275487009, 0.14863106633533357, 0.19913036073903861, 0.44164118956144455, 0.10447035988781765, 0.6614648011501687, 0.4665320619510698, 0.5984720434914753, 0.5296997931896291, 0.39153429994511296, 0.2642901763455077, 0.3324694816633685, 0.31425451872223137, 0.12518030041218842, 0.08642639409574078, 0.44870797253874184, 0.7058190591430114, -0.17018750046370879, -0.032405025359172175, 0.17177119456749476, 0.3076713585492543, -0.20164848878111521, -0.01321035419349721, 0.11878575409418561, -0.2963314815907562, 0.20623479565346797, 0.5999181356798353, -0.22725265313532514, -0.15491724214672536, 0.15182820285886067, 0.5662522710390933, -0.056379885668076515, 0.2835175146316002, 0.2902098305712388, -0.2710808671910405, 0.4551854666717746, -0.14833834292530687, 0.22788152685174848, 0.38754542025736516, -0.31135728440875243, 0.1641889577684043, 0.26108312536278605, -0.20705187104811812, -0.1994690305823667, 0.0379728459190657, -0.12394074962657776, 0.18384488756946996, 0.3084686476723894, 0.4316087583177539, 0.3289048080567337, -0.2501943741601341, 0.19810626956809926, 0.5281145973610051, 0.49922064822389306, 0.3847514113917196, 0.5154171615400677, 0.46439563693035196, -0.12517345118038087, 0.510146402633479, 0.6874537825704354, -0.21068521644829907, 0.460341486667849, 0.5001754733974403, 0.1491054670613725, 0.30804771658171315, 0.1130177364347829, 0.13341459586487156, 0.25378627463529413, 0.26129893277246413, 0.27174697317086033, 0.23068708563266213, 0.39465702612860065, 0.38756978636437633, 0.13451882693920547, -0.15346225267074934, 0.5140565716888433, 0.3723894933554234, 0.3507990908887737, 0.3698781728220092, -0.19333327181177723], &quot;y&quot;: [-0.4093313246631645, 0.41930689880209443, 0.36304295801549913, -0.270530159248834, -0.2212524624770073, 0.16612978525889244, -0.3091324688347957, -0.05437961505898097, -0.39395075691105763, -0.1649026180149685, -0.08317296381406515, 0.2174848643756347, 0.20913144730953304, 0.3686980661597958, -0.2505901653672872, 0.5091762899704018, -0.35326805289012275, -0.24913654794180798, -0.3254652753007476, -0.11496516549676829, 0.3834074188988988, 0.38339182198505395, -0.24580009391868585, 0.06319493740747761, 0.2765049491033695, -0.28331448351254407, 0.057608296278100365, 0.09683499554607164, 0.35924694809435187, 0.1377405089141085, -0.3269814856093481, -0.0030068326444604534, -0.18618670952200975, 0.23555572958844292, -0.37083637775636974, -0.4149343979251529, -0.0356511393182167, 0.2865115143399301, 0.21527263506208424, -0.2702470291661137, -0.4181915131975785, 0.1782033666204493, 0.3302134896965148, 0.3173006951260257, 0.316410169104468, 0.20348606872791478, -0.07108227778688656, 0.013518759329265996, -0.03818930248944387, 0.2475556956930601, -0.001179472318164244, 0.22451637045658548, -0.2467469123654759, -0.019066713444229576, -0.13334234106220422, -0.43560414308730605, 0.01572300451156863, 0.10140899556848014, -0.0068293329280778034, -0.5490952479773991, -0.5125136026683522, -0.04982458006296985, 0.20163711476730786, -0.07224634740995502, -0.39784831379246527, 0.2007026567553393, 0.17720080356915846, 0.4817170743999518, -0.018718235635366818, 0.48118096813885874, -0.28365179716749117, -0.48958841870950315, 0.28374268729098967, -0.23981234887936068, -0.393291604649139, -0.5059183841423359, 0.1279565857914976, 0.645632767352481, -0.06632820168015102, -0.45786313695106207, 0.19759991312756783, -0.08626620363177942, -0.3749837364698802, -0.3671734866824597, -0.12374890837540756, 0.5451521679581282, -0.057489482272310745, 0.253434532764544, 0.34468739998965736, -0.08061889760707466, 0.41560491441282427, 0.04184942218715771, 0.2610169160848485, 0.03033767879239183, -0.04545492157858935, -0.1888753805181388, -0.02501993758689717, -0.26898612884354994, 0.14855743437491742, -0.3612939093484597, 0.22608092778532204, 0.5825401201434423, -0.0343566743869685, -0.3068385302719401, 0.31471752017508403, 0.3600680693155941, -0.5436984817687892, 0.25592239152728025, 0.5903568060493442, 0.545812880486154, -0.5154987067573058, -0.04936546929718627, 0.30328221696082264, -0.5024562026764692, -0.10730651911590966, 0.4456515178616222, -0.35044848784283883, 0.38639519783308474, 0.23308347521867942, 0.07075834843425116, -0.3308030010215437, -0.3319395297936585, 0.35668461718672867, 0.1985540121755788, -0.013799192292497316, 0.4347660463360561, 0.18032096235486283, -0.44506965747464877, 0.33343015728804637, -0.16909581218522363, 0.5681010224378731, 0.32855112552763843, -0.012474808126731008, 0.24978297100856237, -0.5578610559921731, -0.4542676242584957, -0.54800996004097, -0.28314658959049566, -0.24009859726783375, 0.3224397657778284, -0.3271217025842741, -0.18098372233639315, 0.2125333645847264, 0.4945334616343715, -0.4389468993206416, -0.5981140067136316, -0.031803735688725056, 0.27106065461957046, 0.20574551761055188, 0.17738990513085762, -0.016663451479262372, 0.3933223082110038, 0.45080527844208446, -0.19842839345569016, 0.3959281868347208, -0.33341233986446844, -0.12470456468248346, 0.009394551674599589, 0.4502890321157402, -0.527026623306298, 0.18802088220289834, -0.24920975486157637, -0.2660659988268734, -0.015522871575506313, -0.1798715648580141, 0.10361249643330751, 0.5563459093041456, -0.2956259595920717, -0.300620561100878, 0.6122451871696726, 0.12733152216812363, 0.15231924209886133, 0.05560732321426549, 0.3262095156481245, 0.13025743872431517, 0.5228895883249076, 0.20030235596515045, -0.10361460402842647, -0.3191806490839272, -0.25236993183960893, 0.5076082318443311, -0.44846600014102017, -0.47506692773144465, -0.21972096903309324, -0.37661200488830776, -0.17071588278942773, 0.1236986834679968, -0.49190047038356427, -0.5367204600410433, -0.026049289112533913, -0.42204066580412036, -0.4398173337257939, 0.3093650520131649, 0.34955497699411436, 0.1950049026813072, 0.40221313189781305, -0.22289527955724772, 0.4899161462529331, 0.4609242114001271, 0.3992613133634084, -0.35103369135878076, -0.3816674846549726, 0.41950239111490367, 0.1913301122494119, -0.4772313218360393, -0.3597625827003353, 0.07975393786879806, -0.2338875099477375, 0.07588657242648753], &quot;z&quot;: [-0.24601029477330255, 0.1727843164088678, 0.23032227053208384, -0.08933660561636969, 0.13570746359138156, 0.6231341071338781, -0.1034299518402763, 0.21324363788814962, -0.4405190320979334, 0.24215810001598786, 0.2086856142391251, 0.6328245683498893, 0.599922971306284, 0.37761945199961616, 0.1525208658940514, 0.09629710811958649, -0.3680721007714444, 0.1498054882943201, 0.015562468934048482, 0.4155940103828949, 0.6215060985904455, 0.16483281200469244, 0.21224535819254572, 0.43408937806431536, 0.42718327083657165, -0.21015977335853375, 0.3204255811514066, 0.5373724419687406, 0.2488399162675095, 0.47913870698280103, -0.014353013982801945, 0.5624844859231741, 0.14620611276275317, 0.21530319388933106, -0.3297755536893024, -0.4097457527810226, 0.34130655001336807, 0.30350166737365325, 0.6674244514866434, -0.09968790490557074, -0.29543227975698905, 0.6020814456686238, 0.2598266835587006, -0.10309955032218786, 0.4894951573047241, 0.5955953481276542, 0.45616143751812543, 0.5434462926853108, 0.4082728330763833, 0.6170885034692835, 0.15507347661013526, 0.33271158924191563, -0.07700885324001507, 0.47848718592807216, 0.32846256757351605, -0.3687044259654353, 0.654819061603093, 0.6376416032848667, 0.5657201021760389, 0.15197561811856744, 0.1514953310064429, -0.3014492797769437, -0.20958961813445742, -0.1078859606280915, 0.16330722216393231, -0.1557664274483549, -0.2233490471693941, -0.014179757586183363, -0.32752735120146415, -0.25772917132528256, 0.10573524004075029, 0.17213962828778878, 0.3878467370213848, -0.024479180422175048, 0.14998824697053992, 0.17928795121046578, -0.3109300443740245, -0.4743119275356093, 0.11461277664175731, 0.12823456451795742, -0.18929320134502528, 0.04526361367989733, 0.013123108888235308, 0.15616769723746235, -0.21468545129886052, -0.2913178926066388, -0.17034425091025235, 0.43813123257018727, 0.14238298383801393, 0.059044412227161724, -0.31799282587338285, -0.17883588778339726, -0.27807608242917764, -0.12398840284047424, 0.06565668835704559, -0.017739149400699514, -0.164717982640179, -0.0072419892005033265, 0.15449377686296456, 0.09220812910503139, -0.24642502722018036, -0.5117966539028583, -0.3747752915295728, 0.06503958074347715, 0.21955813613052852, -0.39416654292352976, 0.17534205032456202, -0.38963328180459555, -0.5382709345128619, -0.4908387649981039, 0.1134841098099385, -0.2395685848852392, -0.102020211932738, 0.16815640756171538, -0.01176547325666831, -0.4413066870164942, 0.14489519596578465, 0.26043870890981613, 0.14237615818807917, 0.01055096307853505, 0.010459363004808347, 0.13908841653794884, -0.36423043656984816, 0.014913835288383723, -0.3439320450416459, -0.11778546102975021, -0.24612218553671497, 0.10544800966285513, -0.19197545136814245, -0.1420436677251921, -0.4140180771948491, -0.12367326859096316, -0.17684938808210002, -0.23686361154547986, 0.14474594248179817, 0.16467031361626536, 0.17637040815925142, -0.030216762974214353, -0.016841956132575837, -0.3742840679288535, 0.12413520256524799, -0.02645496620610217, -0.2070222358959625, -0.4180657231631205, 0.16342172535043584, 0.15639518843147857, -0.2948892225128257, -0.256384887292292, 0.04625359259636849, -0.18301702313040555, -0.3364649144456949, -0.10890859836141033, -0.37926956254394484, -0.33973285746738896, -0.4024781369664552, 0.008385092531555132, -0.2964917757244602, -0.27395903056528725, -0.4397190523787831, 0.1746820509266036, -0.2537027396198354, 0.09009965843084931, 0.08744651075543168, -0.1942965261361198, -0.07943039251461863, -0.3579395189355709, -0.377337648805607, 0.035961844892180156, -0.3739548818759193, -0.4102955463199313, -0.22961538461722633, 0.16780933495082284, -0.3223869122812845, 0.3685350900011797, -0.29353766367254847, -0.4924437046621683, -0.22207431109293324, -0.037526263379104696, 0.12620257653560504, -0.2606009328864567, -0.47059961107843035, 0.10049447686023838, 0.16194542751755558, -0.030697329869629343, 0.04012885013223387, -0.0908172454563232, -0.369571014159478, 0.1732396377657625, 0.12233881470690489, -0.2519178359284662, 0.16601608074699203, 0.14870190846998418, -0.32738625779988967, -0.34882547943378583, -0.23419516719609604, -0.4151688663392297, 0.05386555732219703, -0.45211764269885096, -0.4027858933005524, -0.33736801009819073, 0.09201432838273556, 0.1387812592381812, -0.39864779932915956, 0.1658376815045072, 0.14946768108455477, 0.1444226020011473, -0.2330706861527985, -0.010036009045528335, 0.36399700224226644], &quot;mode&quot;: &quot;markers&quot;, &quot;marker&quot;: {&quot;size&quot;: 5, &quot;line&quot;: {&quot;width&quot;: 1}, &quot;color&quot;: 1, &quot;colorscale&quot;: &quot;Jet&quot;, &quot;opacity&quot;: 0.8}, &quot;name&quot;: &quot;Abnormal&quot;, &quot;text&quot;: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208], &quot;hoverinfo&quot;: &quot;text+name&quot;}], {&quot;title&quot;: &quot;3D Representation of the patients characteristics using Spectral Embedding&quot;, &quot;hovermode&quot;: &quot;closest&quot;, &quot;showlegend&quot;: true}, {&quot;showLink&quot;: true, &quot;linkText&quot;: &quot;Export to plot.ly&quot;})});&lt;/script&gt;
&lt;/div&gt;

&lt;/div&gt;

&lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;
&lt;div class=&quot;cell border-box-sizing text_cell rendered&quot;&gt;&lt;div class=&quot;prompt input_prompt&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;inner_cell&quot;&gt;
&lt;div class=&quot;text_cell_render border-box-sizing rendered_html&quot;&gt;
&lt;p&gt;Now that's a funny shape...&lt;br&gt;
This is the clearest classes separation we've seen here. The &quot;nose&quot; that comes out seems very class pure with only 3 points classified as normal in a cluster of &lt;strong&gt;only&lt;/strong&gt; abnormal points. In this case, studying these points included in the abnormal cluster could also provide insight on this &lt;em&gt;special&lt;/em&gt; cases. But there is much more that we can do with this !&lt;br&gt;
See the triangular shape of the &quot;base&quot; ? We could study how the different characteristic of a patient change depending on which tip of the triangle is the closes to him, giving yet another visual representation of possible sub-classes in the back pains.&lt;br&gt;
We still see that the normal points anre mixed in with the abnormal points, that reinforces my hypothesis that some abnormal points were classified as such just becasue of one single parameter that was too high, something to look into...&lt;/p&gt;
&lt;h2 id=&quot;Conclusion&quot;&gt;Conclusion&lt;a class=&quot;anchor-link&quot; href=&quot;#Conclusion&quot;&gt;&amp;#182;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;I hope you enjoyed reading this notebook as much as I have enjoyed writing it, feel free to get inspired from it and use the code in your own notebooks, I'd love to see what others make of it.&lt;/p&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/body&gt;

 


&lt;/html&gt;</content><author><name></name></author><summary type="html">A study of lower back pain indicators using machine learning.</summary></entry><entry><title type="html">Detecting Breast Cancer in 20 Lines of Code</title><link href="https://nathancohenil.github.io/Breast-Cancer/" rel="alternate" type="text/html" title="Detecting Breast Cancer in 20 Lines of Code" /><published>2018-03-27T00:00:00+00:00</published><updated>2018-03-27T00:00:00+00:00</updated><id>https://nathancohenil.github.io/Breast-Cancer</id><content type="html" xml:base="https://nathancohenil.github.io/Breast-Cancer/">&lt;p&gt;I wrote a short article on the detection of breast cancer using machine learning. For the few that still don’t know what is Machine
Learning and Deep Learning, this article aims to show the simplicity of implementation of certain algorithms for truly &lt;strong&gt;amazing&lt;/strong&gt; results.&lt;/p&gt;

&lt;p&gt;You’ll find the article published &lt;a href=&quot;https://becominghuman.ai/detecting-breast-cancer-in-20-lines-of-code-4d93a5c09e91&quot;&gt;here&lt;/a&gt;.&lt;/p&gt;</content><author><name></name></author><summary type="html">Giving doctors and everyone else new tools for better diagnosis</summary></entry><entry><title type="html">Hidden themes of the Freakonomics Radio Podcast</title><link href="https://nathancohenil.github.io/Freakonomics/" rel="alternate" type="text/html" title="Hidden themes of the Freakonomics Radio Podcast" /><published>2017-12-26T00:00:00+00:00</published><updated>2017-12-26T00:00:00+00:00</updated><id>https://nathancohenil.github.io/Freakonomics</id><content type="html" xml:base="https://nathancohenil.github.io/Freakonomics/">&lt;html&gt;
&lt;head&gt;&lt;meta charset=&quot;utf-8&quot; /&gt;
&lt;title&gt;Freakonomics_topic_modelling&lt;/title&gt;&lt;script src=&quot;https://cdnjs.cloudflare.com/ajax/libs/require.js/2.1.10/require.min.js&quot;&gt;&lt;/script&gt;
&lt;script src=&quot;https://cdnjs.cloudflare.com/ajax/libs/jquery/2.0.3/jquery.min.js&quot;&gt;&lt;/script&gt;

&lt;style type=&quot;text/css&quot;&gt;
    /*!
*
* Twitter Bootstrap
*
*/
/*!
 * Bootstrap v3.3.7 (http://getbootstrap.com)
 * Copyright 2011-2016 Twitter, Inc.
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
 */
/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */
html {
  font-family: sans-serif;
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
}
body {
  margin: 0;
}
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
menu,
nav,
section,
summary {
  display: block;
}
audio,
canvas,
progress,
video {
  display: inline-block;
  vertical-align: baseline;
}
audio:not([controls]) {
  display: none;
  height: 0;
}
[hidden],
template {
  display: none;
}
a {
  background-color: transparent;
}
a:active,
a:hover {
  outline: 0;
}
abbr[title] {
  border-bottom: 1px dotted;
}
b,
strong {
  font-weight: bold;
}
dfn {
  font-style: italic;
}
h1 {
  font-size: 2em;
  margin: 0.67em 0;
}
mark {
  background: #ff0;
  color: #000;
}
small {
  font-size: 80%;
}
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}
sup {
  top: -0.5em;
}
sub {
  bottom: -0.25em;
}
img {
  border: 0;
}
svg:not(:root) {
  overflow: hidden;
}
figure {
  margin: 1em 40px;
}
hr {
  box-sizing: content-box;
  height: 0;
}
pre {
  overflow: auto;
}
code,
kbd,
pre,
samp {
  font-family: monospace, monospace;
  font-size: 1em;
}
button,
input,
optgroup,
select,
textarea {
  color: inherit;
  font: inherit;
  margin: 0;
}
button {
  overflow: visible;
}
button,
select {
  text-transform: none;
}
button,
html input[type=&quot;button&quot;],
input[type=&quot;reset&quot;],
input[type=&quot;submit&quot;] {
  -webkit-appearance: button;
  cursor: pointer;
}
button[disabled],
html input[disabled] {
  cursor: default;
}
button::-moz-focus-inner,
input::-moz-focus-inner {
  border: 0;
  padding: 0;
}
input {
  line-height: normal;
}
input[type=&quot;checkbox&quot;],
input[type=&quot;radio&quot;] {
  box-sizing: border-box;
  padding: 0;
}
input[type=&quot;number&quot;]::-webkit-inner-spin-button,
input[type=&quot;number&quot;]::-webkit-outer-spin-button {
  height: auto;
}
input[type=&quot;search&quot;] {
  -webkit-appearance: textfield;
  box-sizing: content-box;
}
input[type=&quot;search&quot;]::-webkit-search-cancel-button,
input[type=&quot;search&quot;]::-webkit-search-decoration {
  -webkit-appearance: none;
}
fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em;
}
legend {
  border: 0;
  padding: 0;
}
textarea {
  overflow: auto;
}
optgroup {
  font-weight: bold;
}
table {
  border-collapse: collapse;
  border-spacing: 0;
}
td,
th {
  padding: 0;
}
/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */
@media print {
  *,
  *:before,
  *:after {
    background: transparent !important;
    color: #000 !important;
    box-shadow: none !important;
    text-shadow: none !important;
  }
  a,
  a:visited {
    text-decoration: underline;
  }
  a[href]:after {
    content: &quot; (&quot; attr(href) &quot;)&quot;;
  }
  abbr[title]:after {
    content: &quot; (&quot; attr(title) &quot;)&quot;;
  }
  a[href^=&quot;#&quot;]:after,
  a[href^=&quot;javascript:&quot;]:after {
    content: &quot;&quot;;
  }
  pre,
  blockquote {
    border: 1px solid #999;
    page-break-inside: avoid;
  }
  thead {
    display: table-header-group;
  }
  tr,
  img {
    page-break-inside: avoid;
  }
  img {
    max-width: 100% !important;
  }
  p,
  h2,
  h3 {
    orphans: 3;
    widows: 3;
  }
  h2,
  h3 {
    page-break-after: avoid;
  }
  .navbar {
    display: none;
  }
  .btn &gt; .caret,
  .dropup &gt; .btn &gt; .caret {
    border-top-color: #000 !important;
  }
  .label {
    border: 1px solid #000;
  }
  .table {
    border-collapse: collapse !important;
  }
  .table td,
  .table th {
    background-color: #fff !important;
  }
  .table-bordered th,
  .table-bordered td {
    border: 1px solid #ddd !important;
  }
}
@font-face {
  font-family: 'Glyphicons Halflings';
  src: url('../components/bootstrap/fonts/glyphicons-halflings-regular.eot');
  src: url('../components/bootstrap/fonts/glyphicons-halflings-regular.eot?#iefix') format('embedded-opentype'), url('../components/bootstrap/fonts/glyphicons-halflings-regular.woff2') format('woff2'), url('../components/bootstrap/fonts/glyphicons-halflings-regular.woff') format('woff'), url('../components/bootstrap/fonts/glyphicons-halflings-regular.ttf') format('truetype'), url('../components/bootstrap/fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular') format('svg');
}
.glyphicon {
  position: relative;
  top: 1px;
  display: inline-block;
  font-family: 'Glyphicons Halflings';
  font-style: normal;
  font-weight: normal;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.glyphicon-asterisk:before {
  content: &quot;\002a&quot;;
}
.glyphicon-plus:before {
  content: &quot;\002b&quot;;
}
.glyphicon-euro:before,
.glyphicon-eur:before {
  content: &quot;\20ac&quot;;
}
.glyphicon-minus:before {
  content: &quot;\2212&quot;;
}
.glyphicon-cloud:before {
  content: &quot;\2601&quot;;
}
.glyphicon-envelope:before {
  content: &quot;\2709&quot;;
}
.glyphicon-pencil:before {
  content: &quot;\270f&quot;;
}
.glyphicon-glass:before {
  content: &quot;\e001&quot;;
}
.glyphicon-music:before {
  content: &quot;\e002&quot;;
}
.glyphicon-search:before {
  content: &quot;\e003&quot;;
}
.glyphicon-heart:before {
  content: &quot;\e005&quot;;
}
.glyphicon-star:before {
  content: &quot;\e006&quot;;
}
.glyphicon-star-empty:before {
  content: &quot;\e007&quot;;
}
.glyphicon-user:before {
  content: &quot;\e008&quot;;
}
.glyphicon-film:before {
  content: &quot;\e009&quot;;
}
.glyphicon-th-large:before {
  content: &quot;\e010&quot;;
}
.glyphicon-th:before {
  content: &quot;\e011&quot;;
}
.glyphicon-th-list:before {
  content: &quot;\e012&quot;;
}
.glyphicon-ok:before {
  content: &quot;\e013&quot;;
}
.glyphicon-remove:before {
  content: &quot;\e014&quot;;
}
.glyphicon-zoom-in:before {
  content: &quot;\e015&quot;;
}
.glyphicon-zoom-out:before {
  content: &quot;\e016&quot;;
}
.glyphicon-off:before {
  content: &quot;\e017&quot;;
}
.glyphicon-signal:before {
  content: &quot;\e018&quot;;
}
.glyphicon-cog:before {
  content: &quot;\e019&quot;;
}
.glyphicon-trash:before {
  content: &quot;\e020&quot;;
}
.glyphicon-home:before {
  content: &quot;\e021&quot;;
}
.glyphicon-file:before {
  content: &quot;\e022&quot;;
}
.glyphicon-time:before {
  content: &quot;\e023&quot;;
}
.glyphicon-road:before {
  content: &quot;\e024&quot;;
}
.glyphicon-download-alt:before {
  content: &quot;\e025&quot;;
}
.glyphicon-download:before {
  content: &quot;\e026&quot;;
}
.glyphicon-upload:before {
  content: &quot;\e027&quot;;
}
.glyphicon-inbox:before {
  content: &quot;\e028&quot;;
}
.glyphicon-play-circle:before {
  content: &quot;\e029&quot;;
}
.glyphicon-repeat:before {
  content: &quot;\e030&quot;;
}
.glyphicon-refresh:before {
  content: &quot;\e031&quot;;
}
.glyphicon-list-alt:before {
  content: &quot;\e032&quot;;
}
.glyphicon-lock:before {
  content: &quot;\e033&quot;;
}
.glyphicon-flag:before {
  content: &quot;\e034&quot;;
}
.glyphicon-headphones:before {
  content: &quot;\e035&quot;;
}
.glyphicon-volume-off:before {
  content: &quot;\e036&quot;;
}
.glyphicon-volume-down:before {
  content: &quot;\e037&quot;;
}
.glyphicon-volume-up:before {
  content: &quot;\e038&quot;;
}
.glyphicon-qrcode:before {
  content: &quot;\e039&quot;;
}
.glyphicon-barcode:before {
  content: &quot;\e040&quot;;
}
.glyphicon-tag:before {
  content: &quot;\e041&quot;;
}
.glyphicon-tags:before {
  content: &quot;\e042&quot;;
}
.glyphicon-book:before {
  content: &quot;\e043&quot;;
}
.glyphicon-bookmark:before {
  content: &quot;\e044&quot;;
}
.glyphicon-print:before {
  content: &quot;\e045&quot;;
}
.glyphicon-camera:before {
  content: &quot;\e046&quot;;
}
.glyphicon-font:before {
  content: &quot;\e047&quot;;
}
.glyphicon-bold:before {
  content: &quot;\e048&quot;;
}
.glyphicon-italic:before {
  content: &quot;\e049&quot;;
}
.glyphicon-text-height:before {
  content: &quot;\e050&quot;;
}
.glyphicon-text-width:before {
  content: &quot;\e051&quot;;
}
.glyphicon-align-left:before {
  content: &quot;\e052&quot;;
}
.glyphicon-align-center:before {
  content: &quot;\e053&quot;;
}
.glyphicon-align-right:before {
  content: &quot;\e054&quot;;
}
.glyphicon-align-justify:before {
  content: &quot;\e055&quot;;
}
.glyphicon-list:before {
  content: &quot;\e056&quot;;
}
.glyphicon-indent-left:before {
  content: &quot;\e057&quot;;
}
.glyphicon-indent-right:before {
  content: &quot;\e058&quot;;
}
.glyphicon-facetime-video:before {
  content: &quot;\e059&quot;;
}
.glyphicon-picture:before {
  content: &quot;\e060&quot;;
}
.glyphicon-map-marker:before {
  content: &quot;\e062&quot;;
}
.glyphicon-adjust:before {
  content: &quot;\e063&quot;;
}
.glyphicon-tint:before {
  content: &quot;\e064&quot;;
}
.glyphicon-edit:before {
  content: &quot;\e065&quot;;
}
.glyphicon-share:before {
  content: &quot;\e066&quot;;
}
.glyphicon-check:before {
  content: &quot;\e067&quot;;
}
.glyphicon-move:before {
  content: &quot;\e068&quot;;
}
.glyphicon-step-backward:before {
  content: &quot;\e069&quot;;
}
.glyphicon-fast-backward:before {
  content: &quot;\e070&quot;;
}
.glyphicon-backward:before {
  content: &quot;\e071&quot;;
}
.glyphicon-play:before {
  content: &quot;\e072&quot;;
}
.glyphicon-pause:before {
  content: &quot;\e073&quot;;
}
.glyphicon-stop:before {
  content: &quot;\e074&quot;;
}
.glyphicon-forward:before {
  content: &quot;\e075&quot;;
}
.glyphicon-fast-forward:before {
  content: &quot;\e076&quot;;
}
.glyphicon-step-forward:before {
  content: &quot;\e077&quot;;
}
.glyphicon-eject:before {
  content: &quot;\e078&quot;;
}
.glyphicon-chevron-left:before {
  content: &quot;\e079&quot;;
}
.glyphicon-chevron-right:before {
  content: &quot;\e080&quot;;
}
.glyphicon-plus-sign:before {
  content: &quot;\e081&quot;;
}
.glyphicon-minus-sign:before {
  content: &quot;\e082&quot;;
}
.glyphicon-remove-sign:before {
  content: &quot;\e083&quot;;
}
.glyphicon-ok-sign:before {
  content: &quot;\e084&quot;;
}
.glyphicon-question-sign:before {
  content: &quot;\e085&quot;;
}
.glyphicon-info-sign:before {
  content: &quot;\e086&quot;;
}
.glyphicon-screenshot:before {
  content: &quot;\e087&quot;;
}
.glyphicon-remove-circle:before {
  content: &quot;\e088&quot;;
}
.glyphicon-ok-circle:before {
  content: &quot;\e089&quot;;
}
.glyphicon-ban-circle:before {
  content: &quot;\e090&quot;;
}
.glyphicon-arrow-left:before {
  content: &quot;\e091&quot;;
}
.glyphicon-arrow-right:before {
  content: &quot;\e092&quot;;
}
.glyphicon-arrow-up:before {
  content: &quot;\e093&quot;;
}
.glyphicon-arrow-down:before {
  content: &quot;\e094&quot;;
}
.glyphicon-share-alt:before {
  content: &quot;\e095&quot;;
}
.glyphicon-resize-full:before {
  content: &quot;\e096&quot;;
}
.glyphicon-resize-small:before {
  content: &quot;\e097&quot;;
}
.glyphicon-exclamation-sign:before {
  content: &quot;\e101&quot;;
}
.glyphicon-gift:before {
  content: &quot;\e102&quot;;
}
.glyphicon-leaf:before {
  content: &quot;\e103&quot;;
}
.glyphicon-fire:before {
  content: &quot;\e104&quot;;
}
.glyphicon-eye-open:before {
  content: &quot;\e105&quot;;
}
.glyphicon-eye-close:before {
  content: &quot;\e106&quot;;
}
.glyphicon-warning-sign:before {
  content: &quot;\e107&quot;;
}
.glyphicon-plane:before {
  content: &quot;\e108&quot;;
}
.glyphicon-calendar:before {
  content: &quot;\e109&quot;;
}
.glyphicon-random:before {
  content: &quot;\e110&quot;;
}
.glyphicon-comment:before {
  content: &quot;\e111&quot;;
}
.glyphicon-magnet:before {
  content: &quot;\e112&quot;;
}
.glyphicon-chevron-up:before {
  content: &quot;\e113&quot;;
}
.glyphicon-chevron-down:before {
  content: &quot;\e114&quot;;
}
.glyphicon-retweet:before {
  content: &quot;\e115&quot;;
}
.glyphicon-shopping-cart:before {
  content: &quot;\e116&quot;;
}
.glyphicon-folder-close:before {
  content: &quot;\e117&quot;;
}
.glyphicon-folder-open:before {
  content: &quot;\e118&quot;;
}
.glyphicon-resize-vertical:before {
  content: &quot;\e119&quot;;
}
.glyphicon-resize-horizontal:before {
  content: &quot;\e120&quot;;
}
.glyphicon-hdd:before {
  content: &quot;\e121&quot;;
}
.glyphicon-bullhorn:before {
  content: &quot;\e122&quot;;
}
.glyphicon-bell:before {
  content: &quot;\e123&quot;;
}
.glyphicon-certificate:before {
  content: &quot;\e124&quot;;
}
.glyphicon-thumbs-up:before {
  content: &quot;\e125&quot;;
}
.glyphicon-thumbs-down:before {
  content: &quot;\e126&quot;;
}
.glyphicon-hand-right:before {
  content: &quot;\e127&quot;;
}
.glyphicon-hand-left:before {
  content: &quot;\e128&quot;;
}
.glyphicon-hand-up:before {
  content: &quot;\e129&quot;;
}
.glyphicon-hand-down:before {
  content: &quot;\e130&quot;;
}
.glyphicon-circle-arrow-right:before {
  content: &quot;\e131&quot;;
}
.glyphicon-circle-arrow-left:before {
  content: &quot;\e132&quot;;
}
.glyphicon-circle-arrow-up:before {
  content: &quot;\e133&quot;;
}
.glyphicon-circle-arrow-down:before {
  content: &quot;\e134&quot;;
}
.glyphicon-globe:before {
  content: &quot;\e135&quot;;
}
.glyphicon-wrench:before {
  content: &quot;\e136&quot;;
}
.glyphicon-tasks:before {
  content: &quot;\e137&quot;;
}
.glyphicon-filter:before {
  content: &quot;\e138&quot;;
}
.glyphicon-briefcase:before {
  content: &quot;\e139&quot;;
}
.glyphicon-fullscreen:before {
  content: &quot;\e140&quot;;
}
.glyphicon-dashboard:before {
  content: &quot;\e141&quot;;
}
.glyphicon-paperclip:before {
  content: &quot;\e142&quot;;
}
.glyphicon-heart-empty:before {
  content: &quot;\e143&quot;;
}
.glyphicon-link:before {
  content: &quot;\e144&quot;;
}
.glyphicon-phone:before {
  content: &quot;\e145&quot;;
}
.glyphicon-pushpin:before {
  content: &quot;\e146&quot;;
}
.glyphicon-usd:before {
  content: &quot;\e148&quot;;
}
.glyphicon-gbp:before {
  content: &quot;\e149&quot;;
}
.glyphicon-sort:before {
  content: &quot;\e150&quot;;
}
.glyphicon-sort-by-alphabet:before {
  content: &quot;\e151&quot;;
}
.glyphicon-sort-by-alphabet-alt:before {
  content: &quot;\e152&quot;;
}
.glyphicon-sort-by-order:before {
  content: &quot;\e153&quot;;
}
.glyphicon-sort-by-order-alt:before {
  content: &quot;\e154&quot;;
}
.glyphicon-sort-by-attributes:before {
  content: &quot;\e155&quot;;
}
.glyphicon-sort-by-attributes-alt:before {
  content: &quot;\e156&quot;;
}
.glyphicon-unchecked:before {
  content: &quot;\e157&quot;;
}
.glyphicon-expand:before {
  content: &quot;\e158&quot;;
}
.glyphicon-collapse-down:before {
  content: &quot;\e159&quot;;
}
.glyphicon-collapse-up:before {
  content: &quot;\e160&quot;;
}
.glyphicon-log-in:before {
  content: &quot;\e161&quot;;
}
.glyphicon-flash:before {
  content: &quot;\e162&quot;;
}
.glyphicon-log-out:before {
  content: &quot;\e163&quot;;
}
.glyphicon-new-window:before {
  content: &quot;\e164&quot;;
}
.glyphicon-record:before {
  content: &quot;\e165&quot;;
}
.glyphicon-save:before {
  content: &quot;\e166&quot;;
}
.glyphicon-open:before {
  content: &quot;\e167&quot;;
}
.glyphicon-saved:before {
  content: &quot;\e168&quot;;
}
.glyphicon-import:before {
  content: &quot;\e169&quot;;
}
.glyphicon-export:before {
  content: &quot;\e170&quot;;
}
.glyphicon-send:before {
  content: &quot;\e171&quot;;
}
.glyphicon-floppy-disk:before {
  content: &quot;\e172&quot;;
}
.glyphicon-floppy-saved:before {
  content: &quot;\e173&quot;;
}
.glyphicon-floppy-remove:before {
  content: &quot;\e174&quot;;
}
.glyphicon-floppy-save:before {
  content: &quot;\e175&quot;;
}
.glyphicon-floppy-open:before {
  content: &quot;\e176&quot;;
}
.glyphicon-credit-card:before {
  content: &quot;\e177&quot;;
}
.glyphicon-transfer:before {
  content: &quot;\e178&quot;;
}
.glyphicon-cutlery:before {
  content: &quot;\e179&quot;;
}
.glyphicon-header:before {
  content: &quot;\e180&quot;;
}
.glyphicon-compressed:before {
  content: &quot;\e181&quot;;
}
.glyphicon-earphone:before {
  content: &quot;\e182&quot;;
}
.glyphicon-phone-alt:before {
  content: &quot;\e183&quot;;
}
.glyphicon-tower:before {
  content: &quot;\e184&quot;;
}
.glyphicon-stats:before {
  content: &quot;\e185&quot;;
}
.glyphicon-sd-video:before {
  content: &quot;\e186&quot;;
}
.glyphicon-hd-video:before {
  content: &quot;\e187&quot;;
}
.glyphicon-subtitles:before {
  content: &quot;\e188&quot;;
}
.glyphicon-sound-stereo:before {
  content: &quot;\e189&quot;;
}
.glyphicon-sound-dolby:before {
  content: &quot;\e190&quot;;
}
.glyphicon-sound-5-1:before {
  content: &quot;\e191&quot;;
}
.glyphicon-sound-6-1:before {
  content: &quot;\e192&quot;;
}
.glyphicon-sound-7-1:before {
  content: &quot;\e193&quot;;
}
.glyphicon-copyright-mark:before {
  content: &quot;\e194&quot;;
}
.glyphicon-registration-mark:before {
  content: &quot;\e195&quot;;
}
.glyphicon-cloud-download:before {
  content: &quot;\e197&quot;;
}
.glyphicon-cloud-upload:before {
  content: &quot;\e198&quot;;
}
.glyphicon-tree-conifer:before {
  content: &quot;\e199&quot;;
}
.glyphicon-tree-deciduous:before {
  content: &quot;\e200&quot;;
}
.glyphicon-cd:before {
  content: &quot;\e201&quot;;
}
.glyphicon-save-file:before {
  content: &quot;\e202&quot;;
}
.glyphicon-open-file:before {
  content: &quot;\e203&quot;;
}
.glyphicon-level-up:before {
  content: &quot;\e204&quot;;
}
.glyphicon-copy:before {
  content: &quot;\e205&quot;;
}
.glyphicon-paste:before {
  content: &quot;\e206&quot;;
}
.glyphicon-alert:before {
  content: &quot;\e209&quot;;
}
.glyphicon-equalizer:before {
  content: &quot;\e210&quot;;
}
.glyphicon-king:before {
  content: &quot;\e211&quot;;
}
.glyphicon-queen:before {
  content: &quot;\e212&quot;;
}
.glyphicon-pawn:before {
  content: &quot;\e213&quot;;
}
.glyphicon-bishop:before {
  content: &quot;\e214&quot;;
}
.glyphicon-knight:before {
  content: &quot;\e215&quot;;
}
.glyphicon-baby-formula:before {
  content: &quot;\e216&quot;;
}
.glyphicon-tent:before {
  content: &quot;\26fa&quot;;
}
.glyphicon-blackboard:before {
  content: &quot;\e218&quot;;
}
.glyphicon-bed:before {
  content: &quot;\e219&quot;;
}
.glyphicon-apple:before {
  content: &quot;\f8ff&quot;;
}
.glyphicon-erase:before {
  content: &quot;\e221&quot;;
}
.glyphicon-hourglass:before {
  content: &quot;\231b&quot;;
}
.glyphicon-lamp:before {
  content: &quot;\e223&quot;;
}
.glyphicon-duplicate:before {
  content: &quot;\e224&quot;;
}
.glyphicon-piggy-bank:before {
  content: &quot;\e225&quot;;
}
.glyphicon-scissors:before {
  content: &quot;\e226&quot;;
}
.glyphicon-bitcoin:before {
  content: &quot;\e227&quot;;
}
.glyphicon-btc:before {
  content: &quot;\e227&quot;;
}
.glyphicon-xbt:before {
  content: &quot;\e227&quot;;
}
.glyphicon-yen:before {
  content: &quot;\00a5&quot;;
}
.glyphicon-jpy:before {
  content: &quot;\00a5&quot;;
}
.glyphicon-ruble:before {
  content: &quot;\20bd&quot;;
}
.glyphicon-rub:before {
  content: &quot;\20bd&quot;;
}
.glyphicon-scale:before {
  content: &quot;\e230&quot;;
}
.glyphicon-ice-lolly:before {
  content: &quot;\e231&quot;;
}
.glyphicon-ice-lolly-tasted:before {
  content: &quot;\e232&quot;;
}
.glyphicon-education:before {
  content: &quot;\e233&quot;;
}
.glyphicon-option-horizontal:before {
  content: &quot;\e234&quot;;
}
.glyphicon-option-vertical:before {
  content: &quot;\e235&quot;;
}
.glyphicon-menu-hamburger:before {
  content: &quot;\e236&quot;;
}
.glyphicon-modal-window:before {
  content: &quot;\e237&quot;;
}
.glyphicon-oil:before {
  content: &quot;\e238&quot;;
}
.glyphicon-grain:before {
  content: &quot;\e239&quot;;
}
.glyphicon-sunglasses:before {
  content: &quot;\e240&quot;;
}
.glyphicon-text-size:before {
  content: &quot;\e241&quot;;
}
.glyphicon-text-color:before {
  content: &quot;\e242&quot;;
}
.glyphicon-text-background:before {
  content: &quot;\e243&quot;;
}
.glyphicon-object-align-top:before {
  content: &quot;\e244&quot;;
}
.glyphicon-object-align-bottom:before {
  content: &quot;\e245&quot;;
}
.glyphicon-object-align-horizontal:before {
  content: &quot;\e246&quot;;
}
.glyphicon-object-align-left:before {
  content: &quot;\e247&quot;;
}
.glyphicon-object-align-vertical:before {
  content: &quot;\e248&quot;;
}
.glyphicon-object-align-right:before {
  content: &quot;\e249&quot;;
}
.glyphicon-triangle-right:before {
  content: &quot;\e250&quot;;
}
.glyphicon-triangle-left:before {
  content: &quot;\e251&quot;;
}
.glyphicon-triangle-bottom:before {
  content: &quot;\e252&quot;;
}
.glyphicon-triangle-top:before {
  content: &quot;\e253&quot;;
}
.glyphicon-console:before {
  content: &quot;\e254&quot;;
}
.glyphicon-superscript:before {
  content: &quot;\e255&quot;;
}
.glyphicon-subscript:before {
  content: &quot;\e256&quot;;
}
.glyphicon-menu-left:before {
  content: &quot;\e257&quot;;
}
.glyphicon-menu-right:before {
  content: &quot;\e258&quot;;
}
.glyphicon-menu-down:before {
  content: &quot;\e259&quot;;
}
.glyphicon-menu-up:before {
  content: &quot;\e260&quot;;
}
* {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
*:before,
*:after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
html {
  font-size: 10px;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
body {
  font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, sans-serif;
  font-size: 13px;
  line-height: 1.42857143;
  color: #000;
  background-color: #fff;
}
input,
button,
select,
textarea {
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
}
a {
  color: #337ab7;
  text-decoration: none;
}
a:hover,
a:focus {
  color: #23527c;
  text-decoration: underline;
}
a:focus {
  outline: 5px auto -webkit-focus-ring-color;
  outline-offset: -2px;
}
figure {
  margin: 0;
}
img {
  vertical-align: middle;
}
.img-responsive,
.thumbnail &gt; img,
.thumbnail a &gt; img,
.carousel-inner &gt; .item &gt; img,
.carousel-inner &gt; .item &gt; a &gt; img {
  display: block;
  max-width: 100%;
  height: auto;
}
.img-rounded {
  border-radius: 3px;
}
.img-thumbnail {
  padding: 4px;
  line-height: 1.42857143;
  background-color: #fff;
  border: 1px solid #ddd;
  border-radius: 2px;
  -webkit-transition: all 0.2s ease-in-out;
  -o-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
  display: inline-block;
  max-width: 100%;
  height: auto;
}
.img-circle {
  border-radius: 50%;
}
hr {
  margin-top: 18px;
  margin-bottom: 18px;
  border: 0;
  border-top: 1px solid #eeeeee;
}
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0;
}
.sr-only-focusable:active,
.sr-only-focusable:focus {
  position: static;
  width: auto;
  height: auto;
  margin: 0;
  overflow: visible;
  clip: auto;
}
[role=&quot;button&quot;] {
  cursor: pointer;
}
h1,
h2,
h3,
h4,
h5,
h6,
.h1,
.h2,
.h3,
.h4,
.h5,
.h6 {
  font-family: inherit;
  font-weight: 500;
  line-height: 1.1;
  color: inherit;
}
h1 small,
h2 small,
h3 small,
h4 small,
h5 small,
h6 small,
.h1 small,
.h2 small,
.h3 small,
.h4 small,
.h5 small,
.h6 small,
h1 .small,
h2 .small,
h3 .small,
h4 .small,
h5 .small,
h6 .small,
.h1 .small,
.h2 .small,
.h3 .small,
.h4 .small,
.h5 .small,
.h6 .small {
  font-weight: normal;
  line-height: 1;
  color: #777777;
}
h1,
.h1,
h2,
.h2,
h3,
.h3 {
  margin-top: 18px;
  margin-bottom: 9px;
}
h1 small,
.h1 small,
h2 small,
.h2 small,
h3 small,
.h3 small,
h1 .small,
.h1 .small,
h2 .small,
.h2 .small,
h3 .small,
.h3 .small {
  font-size: 65%;
}
h4,
.h4,
h5,
.h5,
h6,
.h6 {
  margin-top: 9px;
  margin-bottom: 9px;
}
h4 small,
.h4 small,
h5 small,
.h5 small,
h6 small,
.h6 small,
h4 .small,
.h4 .small,
h5 .small,
.h5 .small,
h6 .small,
.h6 .small {
  font-size: 75%;
}
h1,
.h1 {
  font-size: 33px;
}
h2,
.h2 {
  font-size: 27px;
}
h3,
.h3 {
  font-size: 23px;
}
h4,
.h4 {
  font-size: 17px;
}
h5,
.h5 {
  font-size: 13px;
}
h6,
.h6 {
  font-size: 12px;
}
p {
  margin: 0 0 9px;
}
.lead {
  margin-bottom: 18px;
  font-size: 14px;
  font-weight: 300;
  line-height: 1.4;
}
@media (min-width: 768px) {
  .lead {
    font-size: 19.5px;
  }
}
small,
.small {
  font-size: 92%;
}
mark,
.mark {
  background-color: #fcf8e3;
  padding: .2em;
}
.text-left {
  text-align: left;
}
.text-right {
  text-align: right;
}
.text-center {
  text-align: center;
}
.text-justify {
  text-align: justify;
}
.text-nowrap {
  white-space: nowrap;
}
.text-lowercase {
  text-transform: lowercase;
}
.text-uppercase {
  text-transform: uppercase;
}
.text-capitalize {
  text-transform: capitalize;
}
.text-muted {
  color: #777777;
}
.text-primary {
  color: #337ab7;
}
a.text-primary:hover,
a.text-primary:focus {
  color: #286090;
}
.text-success {
  color: #3c763d;
}
a.text-success:hover,
a.text-success:focus {
  color: #2b542c;
}
.text-info {
  color: #31708f;
}
a.text-info:hover,
a.text-info:focus {
  color: #245269;
}
.text-warning {
  color: #8a6d3b;
}
a.text-warning:hover,
a.text-warning:focus {
  color: #66512c;
}
.text-danger {
  color: #a94442;
}
a.text-danger:hover,
a.text-danger:focus {
  color: #843534;
}
.bg-primary {
  color: #fff;
  background-color: #337ab7;
}
a.bg-primary:hover,
a.bg-primary:focus {
  background-color: #286090;
}
.bg-success {
  background-color: #dff0d8;
}
a.bg-success:hover,
a.bg-success:focus {
  background-color: #c1e2b3;
}
.bg-info {
  background-color: #d9edf7;
}
a.bg-info:hover,
a.bg-info:focus {
  background-color: #afd9ee;
}
.bg-warning {
  background-color: #fcf8e3;
}
a.bg-warning:hover,
a.bg-warning:focus {
  background-color: #f7ecb5;
}
.bg-danger {
  background-color: #f2dede;
}
a.bg-danger:hover,
a.bg-danger:focus {
  background-color: #e4b9b9;
}
.page-header {
  padding-bottom: 8px;
  margin: 36px 0 18px;
  border-bottom: 1px solid #eeeeee;
}
ul,
ol {
  margin-top: 0;
  margin-bottom: 9px;
}
ul ul,
ol ul,
ul ol,
ol ol {
  margin-bottom: 0;
}
.list-unstyled {
  padding-left: 0;
  list-style: none;
}
.list-inline {
  padding-left: 0;
  list-style: none;
  margin-left: -5px;
}
.list-inline &gt; li {
  display: inline-block;
  padding-left: 5px;
  padding-right: 5px;
}
dl {
  margin-top: 0;
  margin-bottom: 18px;
}
dt,
dd {
  line-height: 1.42857143;
}
dt {
  font-weight: bold;
}
dd {
  margin-left: 0;
}
@media (min-width: 541px) {
  .dl-horizontal dt {
    float: left;
    width: 160px;
    clear: left;
    text-align: right;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .dl-horizontal dd {
    margin-left: 180px;
  }
}
abbr[title],
abbr[data-original-title] {
  cursor: help;
  border-bottom: 1px dotted #777777;
}
.initialism {
  font-size: 90%;
  text-transform: uppercase;
}
blockquote {
  padding: 9px 18px;
  margin: 0 0 18px;
  font-size: inherit;
  border-left: 5px solid #eeeeee;
}
blockquote p:last-child,
blockquote ul:last-child,
blockquote ol:last-child {
  margin-bottom: 0;
}
blockquote footer,
blockquote small,
blockquote .small {
  display: block;
  font-size: 80%;
  line-height: 1.42857143;
  color: #777777;
}
blockquote footer:before,
blockquote small:before,
blockquote .small:before {
  content: '\2014 \00A0';
}
.blockquote-reverse,
blockquote.pull-right {
  padding-right: 15px;
  padding-left: 0;
  border-right: 5px solid #eeeeee;
  border-left: 0;
  text-align: right;
}
.blockquote-reverse footer:before,
blockquote.pull-right footer:before,
.blockquote-reverse small:before,
blockquote.pull-right small:before,
.blockquote-reverse .small:before,
blockquote.pull-right .small:before {
  content: '';
}
.blockquote-reverse footer:after,
blockquote.pull-right footer:after,
.blockquote-reverse small:after,
blockquote.pull-right small:after,
.blockquote-reverse .small:after,
blockquote.pull-right .small:after {
  content: '\00A0 \2014';
}
address {
  margin-bottom: 18px;
  font-style: normal;
  line-height: 1.42857143;
}
code,
kbd,
pre,
samp {
  font-family: monospace;
}
code {
  padding: 2px 4px;
  font-size: 90%;
  color: #c7254e;
  background-color: #f9f2f4;
  border-radius: 2px;
}
kbd {
  padding: 2px 4px;
  font-size: 90%;
  color: #888;
  background-color: transparent;
  border-radius: 1px;
  box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.25);
}
kbd kbd {
  padding: 0;
  font-size: 100%;
  font-weight: bold;
  box-shadow: none;
}
pre {
  display: block;
  padding: 8.5px;
  margin: 0 0 9px;
  font-size: 12px;
  line-height: 1.42857143;
  word-break: break-all;
  word-wrap: break-word;
  color: #333333;
  background-color: #f5f5f5;
  border: 1px solid #ccc;
  border-radius: 2px;
}
pre code {
  padding: 0;
  font-size: inherit;
  color: inherit;
  white-space: pre-wrap;
  background-color: transparent;
  border-radius: 0;
}
.pre-scrollable {
  max-height: 340px;
  overflow-y: scroll;
}
.container {
  margin-right: auto;
  margin-left: auto;
  padding-left: 0px;
  padding-right: 0px;
}
@media (min-width: 768px) {
  .container {
    width: 768px;
  }
}
@media (min-width: 992px) {
  .container {
    width: 940px;
  }
}
@media (min-width: 1200px) {
  .container {
    width: 1140px;
  }
}
.container-fluid {
  margin-right: auto;
  margin-left: auto;
  padding-left: 0px;
  padding-right: 0px;
}
.row {
  margin-left: 0px;
  margin-right: 0px;
}
.col-xs-1, .col-sm-1, .col-md-1, .col-lg-1, .col-xs-2, .col-sm-2, .col-md-2, .col-lg-2, .col-xs-3, .col-sm-3, .col-md-3, .col-lg-3, .col-xs-4, .col-sm-4, .col-md-4, .col-lg-4, .col-xs-5, .col-sm-5, .col-md-5, .col-lg-5, .col-xs-6, .col-sm-6, .col-md-6, .col-lg-6, .col-xs-7, .col-sm-7, .col-md-7, .col-lg-7, .col-xs-8, .col-sm-8, .col-md-8, .col-lg-8, .col-xs-9, .col-sm-9, .col-md-9, .col-lg-9, .col-xs-10, .col-sm-10, .col-md-10, .col-lg-10, .col-xs-11, .col-sm-11, .col-md-11, .col-lg-11, .col-xs-12, .col-sm-12, .col-md-12, .col-lg-12 {
  position: relative;
  min-height: 1px;
  padding-left: 0px;
  padding-right: 0px;
}
.col-xs-1, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6, .col-xs-7, .col-xs-8, .col-xs-9, .col-xs-10, .col-xs-11, .col-xs-12 {
  float: left;
}
.col-xs-12 {
  width: 100%;
}
.col-xs-11 {
  width: 91.66666667%;
}
.col-xs-10 {
  width: 83.33333333%;
}
.col-xs-9 {
  width: 75%;
}
.col-xs-8 {
  width: 66.66666667%;
}
.col-xs-7 {
  width: 58.33333333%;
}
.col-xs-6 {
  width: 50%;
}
.col-xs-5 {
  width: 41.66666667%;
}
.col-xs-4 {
  width: 33.33333333%;
}
.col-xs-3 {
  width: 25%;
}
.col-xs-2 {
  width: 16.66666667%;
}
.col-xs-1 {
  width: 8.33333333%;
}
.col-xs-pull-12 {
  right: 100%;
}
.col-xs-pull-11 {
  right: 91.66666667%;
}
.col-xs-pull-10 {
  right: 83.33333333%;
}
.col-xs-pull-9 {
  right: 75%;
}
.col-xs-pull-8 {
  right: 66.66666667%;
}
.col-xs-pull-7 {
  right: 58.33333333%;
}
.col-xs-pull-6 {
  right: 50%;
}
.col-xs-pull-5 {
  right: 41.66666667%;
}
.col-xs-pull-4 {
  right: 33.33333333%;
}
.col-xs-pull-3 {
  right: 25%;
}
.col-xs-pull-2 {
  right: 16.66666667%;
}
.col-xs-pull-1 {
  right: 8.33333333%;
}
.col-xs-pull-0 {
  right: auto;
}
.col-xs-push-12 {
  left: 100%;
}
.col-xs-push-11 {
  left: 91.66666667%;
}
.col-xs-push-10 {
  left: 83.33333333%;
}
.col-xs-push-9 {
  left: 75%;
}
.col-xs-push-8 {
  left: 66.66666667%;
}
.col-xs-push-7 {
  left: 58.33333333%;
}
.col-xs-push-6 {
  left: 50%;
}
.col-xs-push-5 {
  left: 41.66666667%;
}
.col-xs-push-4 {
  left: 33.33333333%;
}
.col-xs-push-3 {
  left: 25%;
}
.col-xs-push-2 {
  left: 16.66666667%;
}
.col-xs-push-1 {
  left: 8.33333333%;
}
.col-xs-push-0 {
  left: auto;
}
.col-xs-offset-12 {
  margin-left: 100%;
}
.col-xs-offset-11 {
  margin-left: 91.66666667%;
}
.col-xs-offset-10 {
  margin-left: 83.33333333%;
}
.col-xs-offset-9 {
  margin-left: 75%;
}
.col-xs-offset-8 {
  margin-left: 66.66666667%;
}
.col-xs-offset-7 {
  margin-left: 58.33333333%;
}
.col-xs-offset-6 {
  margin-left: 50%;
}
.col-xs-offset-5 {
  margin-left: 41.66666667%;
}
.col-xs-offset-4 {
  margin-left: 33.33333333%;
}
.col-xs-offset-3 {
  margin-left: 25%;
}
.col-xs-offset-2 {
  margin-left: 16.66666667%;
}
.col-xs-offset-1 {
  margin-left: 8.33333333%;
}
.col-xs-offset-0 {
  margin-left: 0%;
}
@media (min-width: 768px) {
  .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12 {
    float: left;
  }
  .col-sm-12 {
    width: 100%;
  }
  .col-sm-11 {
    width: 91.66666667%;
  }
  .col-sm-10 {
    width: 83.33333333%;
  }
  .col-sm-9 {
    width: 75%;
  }
  .col-sm-8 {
    width: 66.66666667%;
  }
  .col-sm-7 {
    width: 58.33333333%;
  }
  .col-sm-6 {
    width: 50%;
  }
  .col-sm-5 {
    width: 41.66666667%;
  }
  .col-sm-4 {
    width: 33.33333333%;
  }
  .col-sm-3 {
    width: 25%;
  }
  .col-sm-2 {
    width: 16.66666667%;
  }
  .col-sm-1 {
    width: 8.33333333%;
  }
  .col-sm-pull-12 {
    right: 100%;
  }
  .col-sm-pull-11 {
    right: 91.66666667%;
  }
  .col-sm-pull-10 {
    right: 83.33333333%;
  }
  .col-sm-pull-9 {
    right: 75%;
  }
  .col-sm-pull-8 {
    right: 66.66666667%;
  }
  .col-sm-pull-7 {
    right: 58.33333333%;
  }
  .col-sm-pull-6 {
    right: 50%;
  }
  .col-sm-pull-5 {
    right: 41.66666667%;
  }
  .col-sm-pull-4 {
    right: 33.33333333%;
  }
  .col-sm-pull-3 {
    right: 25%;
  }
  .col-sm-pull-2 {
    right: 16.66666667%;
  }
  .col-sm-pull-1 {
    right: 8.33333333%;
  }
  .col-sm-pull-0 {
    right: auto;
  }
  .col-sm-push-12 {
    left: 100%;
  }
  .col-sm-push-11 {
    left: 91.66666667%;
  }
  .col-sm-push-10 {
    left: 83.33333333%;
  }
  .col-sm-push-9 {
    left: 75%;
  }
  .col-sm-push-8 {
    left: 66.66666667%;
  }
  .col-sm-push-7 {
    left: 58.33333333%;
  }
  .col-sm-push-6 {
    left: 50%;
  }
  .col-sm-push-5 {
    left: 41.66666667%;
  }
  .col-sm-push-4 {
    left: 33.33333333%;
  }
  .col-sm-push-3 {
    left: 25%;
  }
  .col-sm-push-2 {
    left: 16.66666667%;
  }
  .col-sm-push-1 {
    left: 8.33333333%;
  }
  .col-sm-push-0 {
    left: auto;
  }
  .col-sm-offset-12 {
    margin-left: 100%;
  }
  .col-sm-offset-11 {
    margin-left: 91.66666667%;
  }
  .col-sm-offset-10 {
    margin-left: 83.33333333%;
  }
  .col-sm-offset-9 {
    margin-left: 75%;
  }
  .col-sm-offset-8 {
    margin-left: 66.66666667%;
  }
  .col-sm-offset-7 {
    margin-left: 58.33333333%;
  }
  .col-sm-offset-6 {
    margin-left: 50%;
  }
  .col-sm-offset-5 {
    margin-left: 41.66666667%;
  }
  .col-sm-offset-4 {
    margin-left: 33.33333333%;
  }
  .col-sm-offset-3 {
    margin-left: 25%;
  }
  .col-sm-offset-2 {
    margin-left: 16.66666667%;
  }
  .col-sm-offset-1 {
    margin-left: 8.33333333%;
  }
  .col-sm-offset-0 {
    margin-left: 0%;
  }
}
@media (min-width: 992px) {
  .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12 {
    float: left;
  }
  .col-md-12 {
    width: 100%;
  }
  .col-md-11 {
    width: 91.66666667%;
  }
  .col-md-10 {
    width: 83.33333333%;
  }
  .col-md-9 {
    width: 75%;
  }
  .col-md-8 {
    width: 66.66666667%;
  }
  .col-md-7 {
    width: 58.33333333%;
  }
  .col-md-6 {
    width: 50%;
  }
  .col-md-5 {
    width: 41.66666667%;
  }
  .col-md-4 {
    width: 33.33333333%;
  }
  .col-md-3 {
    width: 25%;
  }
  .col-md-2 {
    width: 16.66666667%;
  }
  .col-md-1 {
    width: 8.33333333%;
  }
  .col-md-pull-12 {
    right: 100%;
  }
  .col-md-pull-11 {
    right: 91.66666667%;
  }
  .col-md-pull-10 {
    right: 83.33333333%;
  }
  .col-md-pull-9 {
    right: 75%;
  }
  .col-md-pull-8 {
    right: 66.66666667%;
  }
  .col-md-pull-7 {
    right: 58.33333333%;
  }
  .col-md-pull-6 {
    right: 50%;
  }
  .col-md-pull-5 {
    right: 41.66666667%;
  }
  .col-md-pull-4 {
    right: 33.33333333%;
  }
  .col-md-pull-3 {
    right: 25%;
  }
  .col-md-pull-2 {
    right: 16.66666667%;
  }
  .col-md-pull-1 {
    right: 8.33333333%;
  }
  .col-md-pull-0 {
    right: auto;
  }
  .col-md-push-12 {
    left: 100%;
  }
  .col-md-push-11 {
    left: 91.66666667%;
  }
  .col-md-push-10 {
    left: 83.33333333%;
  }
  .col-md-push-9 {
    left: 75%;
  }
  .col-md-push-8 {
    left: 66.66666667%;
  }
  .col-md-push-7 {
    left: 58.33333333%;
  }
  .col-md-push-6 {
    left: 50%;
  }
  .col-md-push-5 {
    left: 41.66666667%;
  }
  .col-md-push-4 {
    left: 33.33333333%;
  }
  .col-md-push-3 {
    left: 25%;
  }
  .col-md-push-2 {
    left: 16.66666667%;
  }
  .col-md-push-1 {
    left: 8.33333333%;
  }
  .col-md-push-0 {
    left: auto;
  }
  .col-md-offset-12 {
    margin-left: 100%;
  }
  .col-md-offset-11 {
    margin-left: 91.66666667%;
  }
  .col-md-offset-10 {
    margin-left: 83.33333333%;
  }
  .col-md-offset-9 {
    margin-left: 75%;
  }
  .col-md-offset-8 {
    margin-left: 66.66666667%;
  }
  .col-md-offset-7 {
    margin-left: 58.33333333%;
  }
  .col-md-offset-6 {
    margin-left: 50%;
  }
  .col-md-offset-5 {
    margin-left: 41.66666667%;
  }
  .col-md-offset-4 {
    margin-left: 33.33333333%;
  }
  .col-md-offset-3 {
    margin-left: 25%;
  }
  .col-md-offset-2 {
    margin-left: 16.66666667%;
  }
  .col-md-offset-1 {
    margin-left: 8.33333333%;
  }
  .col-md-offset-0 {
    margin-left: 0%;
  }
}
@media (min-width: 1200px) {
  .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12 {
    float: left;
  }
  .col-lg-12 {
    width: 100%;
  }
  .col-lg-11 {
    width: 91.66666667%;
  }
  .col-lg-10 {
    width: 83.33333333%;
  }
  .col-lg-9 {
    width: 75%;
  }
  .col-lg-8 {
    width: 66.66666667%;
  }
  .col-lg-7 {
    width: 58.33333333%;
  }
  .col-lg-6 {
    width: 50%;
  }
  .col-lg-5 {
    width: 41.66666667%;
  }
  .col-lg-4 {
    width: 33.33333333%;
  }
  .col-lg-3 {
    width: 25%;
  }
  .col-lg-2 {
    width: 16.66666667%;
  }
  .col-lg-1 {
    width: 8.33333333%;
  }
  .col-lg-pull-12 {
    right: 100%;
  }
  .col-lg-pull-11 {
    right: 91.66666667%;
  }
  .col-lg-pull-10 {
    right: 83.33333333%;
  }
  .col-lg-pull-9 {
    right: 75%;
  }
  .col-lg-pull-8 {
    right: 66.66666667%;
  }
  .col-lg-pull-7 {
    right: 58.33333333%;
  }
  .col-lg-pull-6 {
    right: 50%;
  }
  .col-lg-pull-5 {
    right: 41.66666667%;
  }
  .col-lg-pull-4 {
    right: 33.33333333%;
  }
  .col-lg-pull-3 {
    right: 25%;
  }
  .col-lg-pull-2 {
    right: 16.66666667%;
  }
  .col-lg-pull-1 {
    right: 8.33333333%;
  }
  .col-lg-pull-0 {
    right: auto;
  }
  .col-lg-push-12 {
    left: 100%;
  }
  .col-lg-push-11 {
    left: 91.66666667%;
  }
  .col-lg-push-10 {
    left: 83.33333333%;
  }
  .col-lg-push-9 {
    left: 75%;
  }
  .col-lg-push-8 {
    left: 66.66666667%;
  }
  .col-lg-push-7 {
    left: 58.33333333%;
  }
  .col-lg-push-6 {
    left: 50%;
  }
  .col-lg-push-5 {
    left: 41.66666667%;
  }
  .col-lg-push-4 {
    left: 33.33333333%;
  }
  .col-lg-push-3 {
    left: 25%;
  }
  .col-lg-push-2 {
    left: 16.66666667%;
  }
  .col-lg-push-1 {
    left: 8.33333333%;
  }
  .col-lg-push-0 {
    left: auto;
  }
  .col-lg-offset-12 {
    margin-left: 100%;
  }
  .col-lg-offset-11 {
    margin-left: 91.66666667%;
  }
  .col-lg-offset-10 {
    margin-left: 83.33333333%;
  }
  .col-lg-offset-9 {
    margin-left: 75%;
  }
  .col-lg-offset-8 {
    margin-left: 66.66666667%;
  }
  .col-lg-offset-7 {
    margin-left: 58.33333333%;
  }
  .col-lg-offset-6 {
    margin-left: 50%;
  }
  .col-lg-offset-5 {
    margin-left: 41.66666667%;
  }
  .col-lg-offset-4 {
    margin-left: 33.33333333%;
  }
  .col-lg-offset-3 {
    margin-left: 25%;
  }
  .col-lg-offset-2 {
    margin-left: 16.66666667%;
  }
  .col-lg-offset-1 {
    margin-left: 8.33333333%;
  }
  .col-lg-offset-0 {
    margin-left: 0%;
  }
}
table {
  background-color: transparent;
}
caption {
  padding-top: 8px;
  padding-bottom: 8px;
  color: #777777;
  text-align: left;
}
th {
  text-align: left;
}
.table {
  width: 100%;
  max-width: 100%;
  margin-bottom: 18px;
}
.table &gt; thead &gt; tr &gt; th,
.table &gt; tbody &gt; tr &gt; th,
.table &gt; tfoot &gt; tr &gt; th,
.table &gt; thead &gt; tr &gt; td,
.table &gt; tbody &gt; tr &gt; td,
.table &gt; tfoot &gt; tr &gt; td {
  padding: 8px;
  line-height: 1.42857143;
  vertical-align: top;
  border-top: 1px solid #ddd;
}
.table &gt; thead &gt; tr &gt; th {
  vertical-align: bottom;
  border-bottom: 2px solid #ddd;
}
.table &gt; caption + thead &gt; tr:first-child &gt; th,
.table &gt; colgroup + thead &gt; tr:first-child &gt; th,
.table &gt; thead:first-child &gt; tr:first-child &gt; th,
.table &gt; caption + thead &gt; tr:first-child &gt; td,
.table &gt; colgroup + thead &gt; tr:first-child &gt; td,
.table &gt; thead:first-child &gt; tr:first-child &gt; td {
  border-top: 0;
}
.table &gt; tbody + tbody {
  border-top: 2px solid #ddd;
}
.table .table {
  background-color: #fff;
}
.table-condensed &gt; thead &gt; tr &gt; th,
.table-condensed &gt; tbody &gt; tr &gt; th,
.table-condensed &gt; tfoot &gt; tr &gt; th,
.table-condensed &gt; thead &gt; tr &gt; td,
.table-condensed &gt; tbody &gt; tr &gt; td,
.table-condensed &gt; tfoot &gt; tr &gt; td {
  padding: 5px;
}
.table-bordered {
  border: 1px solid #ddd;
}
.table-bordered &gt; thead &gt; tr &gt; th,
.table-bordered &gt; tbody &gt; tr &gt; th,
.table-bordered &gt; tfoot &gt; tr &gt; th,
.table-bordered &gt; thead &gt; tr &gt; td,
.table-bordered &gt; tbody &gt; tr &gt; td,
.table-bordered &gt; tfoot &gt; tr &gt; td {
  border: 1px solid #ddd;
}
.table-bordered &gt; thead &gt; tr &gt; th,
.table-bordered &gt; thead &gt; tr &gt; td {
  border-bottom-width: 2px;
}
.table-striped &gt; tbody &gt; tr:nth-of-type(odd) {
  background-color: #f9f9f9;
}
.table-hover &gt; tbody &gt; tr:hover {
  background-color: #f5f5f5;
}
table col[class*=&quot;col-&quot;] {
  position: static;
  float: none;
  display: table-column;
}
table td[class*=&quot;col-&quot;],
table th[class*=&quot;col-&quot;] {
  position: static;
  float: none;
  display: table-cell;
}
.table &gt; thead &gt; tr &gt; td.active,
.table &gt; tbody &gt; tr &gt; td.active,
.table &gt; tfoot &gt; tr &gt; td.active,
.table &gt; thead &gt; tr &gt; th.active,
.table &gt; tbody &gt; tr &gt; th.active,
.table &gt; tfoot &gt; tr &gt; th.active,
.table &gt; thead &gt; tr.active &gt; td,
.table &gt; tbody &gt; tr.active &gt; td,
.table &gt; tfoot &gt; tr.active &gt; td,
.table &gt; thead &gt; tr.active &gt; th,
.table &gt; tbody &gt; tr.active &gt; th,
.table &gt; tfoot &gt; tr.active &gt; th {
  background-color: #f5f5f5;
}
.table-hover &gt; tbody &gt; tr &gt; td.active:hover,
.table-hover &gt; tbody &gt; tr &gt; th.active:hover,
.table-hover &gt; tbody &gt; tr.active:hover &gt; td,
.table-hover &gt; tbody &gt; tr:hover &gt; .active,
.table-hover &gt; tbody &gt; tr.active:hover &gt; th {
  background-color: #e8e8e8;
}
.table &gt; thead &gt; tr &gt; td.success,
.table &gt; tbody &gt; tr &gt; td.success,
.table &gt; tfoot &gt; tr &gt; td.success,
.table &gt; thead &gt; tr &gt; th.success,
.table &gt; tbody &gt; tr &gt; th.success,
.table &gt; tfoot &gt; tr &gt; th.success,
.table &gt; thead &gt; tr.success &gt; td,
.table &gt; tbody &gt; tr.success &gt; td,
.table &gt; tfoot &gt; tr.success &gt; td,
.table &gt; thead &gt; tr.success &gt; th,
.table &gt; tbody &gt; tr.success &gt; th,
.table &gt; tfoot &gt; tr.success &gt; th {
  background-color: #dff0d8;
}
.table-hover &gt; tbody &gt; tr &gt; td.success:hover,
.table-hover &gt; tbody &gt; tr &gt; th.success:hover,
.table-hover &gt; tbody &gt; tr.success:hover &gt; td,
.table-hover &gt; tbody &gt; tr:hover &gt; .success,
.table-hover &gt; tbody &gt; tr.success:hover &gt; th {
  background-color: #d0e9c6;
}
.table &gt; thead &gt; tr &gt; td.info,
.table &gt; tbody &gt; tr &gt; td.info,
.table &gt; tfoot &gt; tr &gt; td.info,
.table &gt; thead &gt; tr &gt; th.info,
.table &gt; tbody &gt; tr &gt; th.info,
.table &gt; tfoot &gt; tr &gt; th.info,
.table &gt; thead &gt; tr.info &gt; td,
.table &gt; tbody &gt; tr.info &gt; td,
.table &gt; tfoot &gt; tr.info &gt; td,
.table &gt; thead &gt; tr.info &gt; th,
.table &gt; tbody &gt; tr.info &gt; th,
.table &gt; tfoot &gt; tr.info &gt; th {
  background-color: #d9edf7;
}
.table-hover &gt; tbody &gt; tr &gt; td.info:hover,
.table-hover &gt; tbody &gt; tr &gt; th.info:hover,
.table-hover &gt; tbody &gt; tr.info:hover &gt; td,
.table-hover &gt; tbody &gt; tr:hover &gt; .info,
.table-hover &gt; tbody &gt; tr.info:hover &gt; th {
  background-color: #c4e3f3;
}
.table &gt; thead &gt; tr &gt; td.warning,
.table &gt; tbody &gt; tr &gt; td.warning,
.table &gt; tfoot &gt; tr &gt; td.warning,
.table &gt; thead &gt; tr &gt; th.warning,
.table &gt; tbody &gt; tr &gt; th.warning,
.table &gt; tfoot &gt; tr &gt; th.warning,
.table &gt; thead &gt; tr.warning &gt; td,
.table &gt; tbody &gt; tr.warning &gt; td,
.table &gt; tfoot &gt; tr.warning &gt; td,
.table &gt; thead &gt; tr.warning &gt; th,
.table &gt; tbody &gt; tr.warning &gt; th,
.table &gt; tfoot &gt; tr.warning &gt; th {
  background-color: #fcf8e3;
}
.table-hover &gt; tbody &gt; tr &gt; td.warning:hover,
.table-hover &gt; tbody &gt; tr &gt; th.warning:hover,
.table-hover &gt; tbody &gt; tr.warning:hover &gt; td,
.table-hover &gt; tbody &gt; tr:hover &gt; .warning,
.table-hover &gt; tbody &gt; tr.warning:hover &gt; th {
  background-color: #faf2cc;
}
.table &gt; thead &gt; tr &gt; td.danger,
.table &gt; tbody &gt; tr &gt; td.danger,
.table &gt; tfoot &gt; tr &gt; td.danger,
.table &gt; thead &gt; tr &gt; th.danger,
.table &gt; tbody &gt; tr &gt; th.danger,
.table &gt; tfoot &gt; tr &gt; th.danger,
.table &gt; thead &gt; tr.danger &gt; td,
.table &gt; tbody &gt; tr.danger &gt; td,
.table &gt; tfoot &gt; tr.danger &gt; td,
.table &gt; thead &gt; tr.danger &gt; th,
.table &gt; tbody &gt; tr.danger &gt; th,
.table &gt; tfoot &gt; tr.danger &gt; th {
  background-color: #f2dede;
}
.table-hover &gt; tbody &gt; tr &gt; td.danger:hover,
.table-hover &gt; tbody &gt; tr &gt; th.danger:hover,
.table-hover &gt; tbody &gt; tr.danger:hover &gt; td,
.table-hover &gt; tbody &gt; tr:hover &gt; .danger,
.table-hover &gt; tbody &gt; tr.danger:hover &gt; th {
  background-color: #ebcccc;
}
.table-responsive {
  overflow-x: auto;
  min-height: 0.01%;
}
@media screen and (max-width: 767px) {
  .table-responsive {
    width: 100%;
    margin-bottom: 13.5px;
    overflow-y: hidden;
    -ms-overflow-style: -ms-autohiding-scrollbar;
    border: 1px solid #ddd;
  }
  .table-responsive &gt; .table {
    margin-bottom: 0;
  }
  .table-responsive &gt; .table &gt; thead &gt; tr &gt; th,
  .table-responsive &gt; .table &gt; tbody &gt; tr &gt; th,
  .table-responsive &gt; .table &gt; tfoot &gt; tr &gt; th,
  .table-responsive &gt; .table &gt; thead &gt; tr &gt; td,
  .table-responsive &gt; .table &gt; tbody &gt; tr &gt; td,
  .table-responsive &gt; .table &gt; tfoot &gt; tr &gt; td {
    white-space: nowrap;
  }
  .table-responsive &gt; .table-bordered {
    border: 0;
  }
  .table-responsive &gt; .table-bordered &gt; thead &gt; tr &gt; th:first-child,
  .table-responsive &gt; .table-bordered &gt; tbody &gt; tr &gt; th:first-child,
  .table-responsive &gt; .table-bordered &gt; tfoot &gt; tr &gt; th:first-child,
  .table-responsive &gt; .table-bordered &gt; thead &gt; tr &gt; td:first-child,
  .table-responsive &gt; .table-bordered &gt; tbody &gt; tr &gt; td:first-child,
  .table-responsive &gt; .table-bordered &gt; tfoot &gt; tr &gt; td:first-child {
    border-left: 0;
  }
  .table-responsive &gt; .table-bordered &gt; thead &gt; tr &gt; th:last-child,
  .table-responsive &gt; .table-bordered &gt; tbody &gt; tr &gt; th:last-child,
  .table-responsive &gt; .table-bordered &gt; tfoot &gt; tr &gt; th:last-child,
  .table-responsive &gt; .table-bordered &gt; thead &gt; tr &gt; td:last-child,
  .table-responsive &gt; .table-bordered &gt; tbody &gt; tr &gt; td:last-child,
  .table-responsive &gt; .table-bordered &gt; tfoot &gt; tr &gt; td:last-child {
    border-right: 0;
  }
  .table-responsive &gt; .table-bordered &gt; tbody &gt; tr:last-child &gt; th,
  .table-responsive &gt; .table-bordered &gt; tfoot &gt; tr:last-child &gt; th,
  .table-responsive &gt; .table-bordered &gt; tbody &gt; tr:last-child &gt; td,
  .table-responsive &gt; .table-bordered &gt; tfoot &gt; tr:last-child &gt; td {
    border-bottom: 0;
  }
}
fieldset {
  padding: 0;
  margin: 0;
  border: 0;
  min-width: 0;
}
legend {
  display: block;
  width: 100%;
  padding: 0;
  margin-bottom: 18px;
  font-size: 19.5px;
  line-height: inherit;
  color: #333333;
  border: 0;
  border-bottom: 1px solid #e5e5e5;
}
label {
  display: inline-block;
  max-width: 100%;
  margin-bottom: 5px;
  font-weight: bold;
}
input[type=&quot;search&quot;] {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
input[type=&quot;radio&quot;],
input[type=&quot;checkbox&quot;] {
  margin: 4px 0 0;
  margin-top: 1px \9;
  line-height: normal;
}
input[type=&quot;file&quot;] {
  display: block;
}
input[type=&quot;range&quot;] {
  display: block;
  width: 100%;
}
select[multiple],
select[size] {
  height: auto;
}
input[type=&quot;file&quot;]:focus,
input[type=&quot;radio&quot;]:focus,
input[type=&quot;checkbox&quot;]:focus {
  outline: 5px auto -webkit-focus-ring-color;
  outline-offset: -2px;
}
output {
  display: block;
  padding-top: 7px;
  font-size: 13px;
  line-height: 1.42857143;
  color: #555555;
}
.form-control {
  display: block;
  width: 100%;
  height: 32px;
  padding: 6px 12px;
  font-size: 13px;
  line-height: 1.42857143;
  color: #555555;
  background-color: #fff;
  background-image: none;
  border: 1px solid #ccc;
  border-radius: 2px;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
  -webkit-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
  -o-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
  transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
}
.form-control:focus {
  border-color: #66afe9;
  outline: 0;
  -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6);
  box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6);
}
.form-control::-moz-placeholder {
  color: #999;
  opacity: 1;
}
.form-control:-ms-input-placeholder {
  color: #999;
}
.form-control::-webkit-input-placeholder {
  color: #999;
}
.form-control::-ms-expand {
  border: 0;
  background-color: transparent;
}
.form-control[disabled],
.form-control[readonly],
fieldset[disabled] .form-control {
  background-color: #eeeeee;
  opacity: 1;
}
.form-control[disabled],
fieldset[disabled] .form-control {
  cursor: not-allowed;
}
textarea.form-control {
  height: auto;
}
input[type=&quot;search&quot;] {
  -webkit-appearance: none;
}
@media screen and (-webkit-min-device-pixel-ratio: 0) {
  input[type=&quot;date&quot;].form-control,
  input[type=&quot;time&quot;].form-control,
  input[type=&quot;datetime-local&quot;].form-control,
  input[type=&quot;month&quot;].form-control {
    line-height: 32px;
  }
  input[type=&quot;date&quot;].input-sm,
  input[type=&quot;time&quot;].input-sm,
  input[type=&quot;datetime-local&quot;].input-sm,
  input[type=&quot;month&quot;].input-sm,
  .input-group-sm input[type=&quot;date&quot;],
  .input-group-sm input[type=&quot;time&quot;],
  .input-group-sm input[type=&quot;datetime-local&quot;],
  .input-group-sm input[type=&quot;month&quot;] {
    line-height: 30px;
  }
  input[type=&quot;date&quot;].input-lg,
  input[type=&quot;time&quot;].input-lg,
  input[type=&quot;datetime-local&quot;].input-lg,
  input[type=&quot;month&quot;].input-lg,
  .input-group-lg input[type=&quot;date&quot;],
  .input-group-lg input[type=&quot;time&quot;],
  .input-group-lg input[type=&quot;datetime-local&quot;],
  .input-group-lg input[type=&quot;month&quot;] {
    line-height: 45px;
  }
}
.form-group {
  margin-bottom: 15px;
}
.radio,
.checkbox {
  position: relative;
  display: block;
  margin-top: 10px;
  margin-bottom: 10px;
}
.radio label,
.checkbox label {
  min-height: 18px;
  padding-left: 20px;
  margin-bottom: 0;
  font-weight: normal;
  cursor: pointer;
}
.radio input[type=&quot;radio&quot;],
.radio-inline input[type=&quot;radio&quot;],
.checkbox input[type=&quot;checkbox&quot;],
.checkbox-inline input[type=&quot;checkbox&quot;] {
  position: absolute;
  margin-left: -20px;
  margin-top: 4px \9;
}
.radio + .radio,
.checkbox + .checkbox {
  margin-top: -5px;
}
.radio-inline,
.checkbox-inline {
  position: relative;
  display: inline-block;
  padding-left: 20px;
  margin-bottom: 0;
  vertical-align: middle;
  font-weight: normal;
  cursor: pointer;
}
.radio-inline + .radio-inline,
.checkbox-inline + .checkbox-inline {
  margin-top: 0;
  margin-left: 10px;
}
input[type=&quot;radio&quot;][disabled],
input[type=&quot;checkbox&quot;][disabled],
input[type=&quot;radio&quot;].disabled,
input[type=&quot;checkbox&quot;].disabled,
fieldset[disabled] input[type=&quot;radio&quot;],
fieldset[disabled] input[type=&quot;checkbox&quot;] {
  cursor: not-allowed;
}
.radio-inline.disabled,
.checkbox-inline.disabled,
fieldset[disabled] .radio-inline,
fieldset[disabled] .checkbox-inline {
  cursor: not-allowed;
}
.radio.disabled label,
.checkbox.disabled label,
fieldset[disabled] .radio label,
fieldset[disabled] .checkbox label {
  cursor: not-allowed;
}
.form-control-static {
  padding-top: 7px;
  padding-bottom: 7px;
  margin-bottom: 0;
  min-height: 31px;
}
.form-control-static.input-lg,
.form-control-static.input-sm {
  padding-left: 0;
  padding-right: 0;
}
.input-sm {
  height: 30px;
  padding: 5px 10px;
  font-size: 12px;
  line-height: 1.5;
  border-radius: 1px;
}
select.input-sm {
  height: 30px;
  line-height: 30px;
}
textarea.input-sm,
select[multiple].input-sm {
  height: auto;
}
.form-group-sm .form-control {
  height: 30px;
  padding: 5px 10px;
  font-size: 12px;
  line-height: 1.5;
  border-radius: 1px;
}
.form-group-sm select.form-control {
  height: 30px;
  line-height: 30px;
}
.form-group-sm textarea.form-control,
.form-group-sm select[multiple].form-control {
  height: auto;
}
.form-group-sm .form-control-static {
  height: 30px;
  min-height: 30px;
  padding: 6px 10px;
  font-size: 12px;
  line-height: 1.5;
}
.input-lg {
  height: 45px;
  padding: 10px 16px;
  font-size: 17px;
  line-height: 1.3333333;
  border-radius: 3px;
}
select.input-lg {
  height: 45px;
  line-height: 45px;
}
textarea.input-lg,
select[multiple].input-lg {
  height: auto;
}
.form-group-lg .form-control {
  height: 45px;
  padding: 10px 16px;
  font-size: 17px;
  line-height: 1.3333333;
  border-radius: 3px;
}
.form-group-lg select.form-control {
  height: 45px;
  line-height: 45px;
}
.form-group-lg textarea.form-control,
.form-group-lg select[multiple].form-control {
  height: auto;
}
.form-group-lg .form-control-static {
  height: 45px;
  min-height: 35px;
  padding: 11px 16px;
  font-size: 17px;
  line-height: 1.3333333;
}
.has-feedback {
  position: relative;
}
.has-feedback .form-control {
  padding-right: 40px;
}
.form-control-feedback {
  position: absolute;
  top: 0;
  right: 0;
  z-index: 2;
  display: block;
  width: 32px;
  height: 32px;
  line-height: 32px;
  text-align: center;
  pointer-events: none;
}
.input-lg + .form-control-feedback,
.input-group-lg + .form-control-feedback,
.form-group-lg .form-control + .form-control-feedback {
  width: 45px;
  height: 45px;
  line-height: 45px;
}
.input-sm + .form-control-feedback,
.input-group-sm + .form-control-feedback,
.form-group-sm .form-control + .form-control-feedback {
  width: 30px;
  height: 30px;
  line-height: 30px;
}
.has-success .help-block,
.has-success .control-label,
.has-success .radio,
.has-success .checkbox,
.has-success .radio-inline,
.has-success .checkbox-inline,
.has-success.radio label,
.has-success.checkbox label,
.has-success.radio-inline label,
.has-success.checkbox-inline label {
  color: #3c763d;
}
.has-success .form-control {
  border-color: #3c763d;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
}
.has-success .form-control:focus {
  border-color: #2b542c;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #67b168;
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #67b168;
}
.has-success .input-group-addon {
  color: #3c763d;
  border-color: #3c763d;
  background-color: #dff0d8;
}
.has-success .form-control-feedback {
  color: #3c763d;
}
.has-warning .help-block,
.has-warning .control-label,
.has-warning .radio,
.has-warning .checkbox,
.has-warning .radio-inline,
.has-warning .checkbox-inline,
.has-warning.radio label,
.has-warning.checkbox label,
.has-warning.radio-inline label,
.has-warning.checkbox-inline label {
  color: #8a6d3b;
}
.has-warning .form-control {
  border-color: #8a6d3b;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
}
.has-warning .form-control:focus {
  border-color: #66512c;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #c0a16b;
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #c0a16b;
}
.has-warning .input-group-addon {
  color: #8a6d3b;
  border-color: #8a6d3b;
  background-color: #fcf8e3;
}
.has-warning .form-control-feedback {
  color: #8a6d3b;
}
.has-error .help-block,
.has-error .control-label,
.has-error .radio,
.has-error .checkbox,
.has-error .radio-inline,
.has-error .checkbox-inline,
.has-error.radio label,
.has-error.checkbox label,
.has-error.radio-inline label,
.has-error.checkbox-inline label {
  color: #a94442;
}
.has-error .form-control {
  border-color: #a94442;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
}
.has-error .form-control:focus {
  border-color: #843534;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ce8483;
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ce8483;
}
.has-error .input-group-addon {
  color: #a94442;
  border-color: #a94442;
  background-color: #f2dede;
}
.has-error .form-control-feedback {
  color: #a94442;
}
.has-feedback label ~ .form-control-feedback {
  top: 23px;
}
.has-feedback label.sr-only ~ .form-control-feedback {
  top: 0;
}
.help-block {
  display: block;
  margin-top: 5px;
  margin-bottom: 10px;
  color: #404040;
}
@media (min-width: 768px) {
  .form-inline .form-group {
    display: inline-block;
    margin-bottom: 0;
    vertical-align: middle;
  }
  .form-inline .form-control {
    display: inline-block;
    width: auto;
    vertical-align: middle;
  }
  .form-inline .form-control-static {
    display: inline-block;
  }
  .form-inline .input-group {
    display: inline-table;
    vertical-align: middle;
  }
  .form-inline .input-group .input-group-addon,
  .form-inline .input-group .input-group-btn,
  .form-inline .input-group .form-control {
    width: auto;
  }
  .form-inline .input-group &gt; .form-control {
    width: 100%;
  }
  .form-inline .control-label {
    margin-bottom: 0;
    vertical-align: middle;
  }
  .form-inline .radio,
  .form-inline .checkbox {
    display: inline-block;
    margin-top: 0;
    margin-bottom: 0;
    vertical-align: middle;
  }
  .form-inline .radio label,
  .form-inline .checkbox label {
    padding-left: 0;
  }
  .form-inline .radio input[type=&quot;radio&quot;],
  .form-inline .checkbox input[type=&quot;checkbox&quot;] {
    position: relative;
    margin-left: 0;
  }
  .form-inline .has-feedback .form-control-feedback {
    top: 0;
  }
}
.form-horizontal .radio,
.form-horizontal .checkbox,
.form-horizontal .radio-inline,
.form-horizontal .checkbox-inline {
  margin-top: 0;
  margin-bottom: 0;
  padding-top: 7px;
}
.form-horizontal .radio,
.form-horizontal .checkbox {
  min-height: 25px;
}
.form-horizontal .form-group {
  margin-left: 0px;
  margin-right: 0px;
}
@media (min-width: 768px) {
  .form-horizontal .control-label {
    text-align: right;
    margin-bottom: 0;
    padding-top: 7px;
  }
}
.form-horizontal .has-feedback .form-control-feedback {
  right: 0px;
}
@media (min-width: 768px) {
  .form-horizontal .form-group-lg .control-label {
    padding-top: 11px;
    font-size: 17px;
  }
}
@media (min-width: 768px) {
  .form-horizontal .form-group-sm .control-label {
    padding-top: 6px;
    font-size: 12px;
  }
}
.btn {
  display: inline-block;
  margin-bottom: 0;
  font-weight: normal;
  text-align: center;
  vertical-align: middle;
  touch-action: manipulation;
  cursor: pointer;
  background-image: none;
  border: 1px solid transparent;
  white-space: nowrap;
  padding: 6px 12px;
  font-size: 13px;
  line-height: 1.42857143;
  border-radius: 2px;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}
.btn:focus,
.btn:active:focus,
.btn.active:focus,
.btn.focus,
.btn:active.focus,
.btn.active.focus {
  outline: 5px auto -webkit-focus-ring-color;
  outline-offset: -2px;
}
.btn:hover,
.btn:focus,
.btn.focus {
  color: #333;
  text-decoration: none;
}
.btn:active,
.btn.active {
  outline: 0;
  background-image: none;
  -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
}
.btn.disabled,
.btn[disabled],
fieldset[disabled] .btn {
  cursor: not-allowed;
  opacity: 0.65;
  filter: alpha(opacity=65);
  -webkit-box-shadow: none;
  box-shadow: none;
}
a.btn.disabled,
fieldset[disabled] a.btn {
  pointer-events: none;
}
.btn-default {
  color: #333;
  background-color: #fff;
  border-color: #ccc;
}
.btn-default:focus,
.btn-default.focus {
  color: #333;
  background-color: #e6e6e6;
  border-color: #8c8c8c;
}
.btn-default:hover {
  color: #333;
  background-color: #e6e6e6;
  border-color: #adadad;
}
.btn-default:active,
.btn-default.active,
.open &gt; .dropdown-toggle.btn-default {
  color: #333;
  background-color: #e6e6e6;
  border-color: #adadad;
}
.btn-default:active:hover,
.btn-default.active:hover,
.open &gt; .dropdown-toggle.btn-default:hover,
.btn-default:active:focus,
.btn-default.active:focus,
.open &gt; .dropdown-toggle.btn-default:focus,
.btn-default:active.focus,
.btn-default.active.focus,
.open &gt; .dropdown-toggle.btn-default.focus {
  color: #333;
  background-color: #d4d4d4;
  border-color: #8c8c8c;
}
.btn-default:active,
.btn-default.active,
.open &gt; .dropdown-toggle.btn-default {
  background-image: none;
}
.btn-default.disabled:hover,
.btn-default[disabled]:hover,
fieldset[disabled] .btn-default:hover,
.btn-default.disabled:focus,
.btn-default[disabled]:focus,
fieldset[disabled] .btn-default:focus,
.btn-default.disabled.focus,
.btn-default[disabled].focus,
fieldset[disabled] .btn-default.focus {
  background-color: #fff;
  border-color: #ccc;
}
.btn-default .badge {
  color: #fff;
  background-color: #333;
}
.btn-primary {
  color: #fff;
  background-color: #337ab7;
  border-color: #2e6da4;
}
.btn-primary:focus,
.btn-primary.focus {
  color: #fff;
  background-color: #286090;
  border-color: #122b40;
}
.btn-primary:hover {
  color: #fff;
  background-color: #286090;
  border-color: #204d74;
}
.btn-primary:active,
.btn-primary.active,
.open &gt; .dropdown-toggle.btn-primary {
  color: #fff;
  background-color: #286090;
  border-color: #204d74;
}
.btn-primary:active:hover,
.btn-primary.active:hover,
.open &gt; .dropdown-toggle.btn-primary:hover,
.btn-primary:active:focus,
.btn-primary.active:focus,
.open &gt; .dropdown-toggle.btn-primary:focus,
.btn-primary:active.focus,
.btn-primary.active.focus,
.open &gt; .dropdown-toggle.btn-primary.focus {
  color: #fff;
  background-color: #204d74;
  border-color: #122b40;
}
.btn-primary:active,
.btn-primary.active,
.open &gt; .dropdown-toggle.btn-primary {
  background-image: none;
}
.btn-primary.disabled:hover,
.btn-primary[disabled]:hover,
fieldset[disabled] .btn-primary:hover,
.btn-primary.disabled:focus,
.btn-primary[disabled]:focus,
fieldset[disabled] .btn-primary:focus,
.btn-primary.disabled.focus,
.btn-primary[disabled].focus,
fieldset[disabled] .btn-primary.focus {
  background-color: #337ab7;
  border-color: #2e6da4;
}
.btn-primary .badge {
  color: #337ab7;
  background-color: #fff;
}
.btn-success {
  color: #fff;
  background-color: #5cb85c;
  border-color: #4cae4c;
}
.btn-success:focus,
.btn-success.focus {
  color: #fff;
  background-color: #449d44;
  border-color: #255625;
}
.btn-success:hover {
  color: #fff;
  background-color: #449d44;
  border-color: #398439;
}
.btn-success:active,
.btn-success.active,
.open &gt; .dropdown-toggle.btn-success {
  color: #fff;
  background-color: #449d44;
  border-color: #398439;
}
.btn-success:active:hover,
.btn-success.active:hover,
.open &gt; .dropdown-toggle.btn-success:hover,
.btn-success:active:focus,
.btn-success.active:focus,
.open &gt; .dropdown-toggle.btn-success:focus,
.btn-success:active.focus,
.btn-success.active.focus,
.open &gt; .dropdown-toggle.btn-success.focus {
  color: #fff;
  background-color: #398439;
  border-color: #255625;
}
.btn-success:active,
.btn-success.active,
.open &gt; .dropdown-toggle.btn-success {
  background-image: none;
}
.btn-success.disabled:hover,
.btn-success[disabled]:hover,
fieldset[disabled] .btn-success:hover,
.btn-success.disabled:focus,
.btn-success[disabled]:focus,
fieldset[disabled] .btn-success:focus,
.btn-success.disabled.focus,
.btn-success[disabled].focus,
fieldset[disabled] .btn-success.focus {
  background-color: #5cb85c;
  border-color: #4cae4c;
}
.btn-success .badge {
  color: #5cb85c;
  background-color: #fff;
}
.btn-info {
  color: #fff;
  background-color: #5bc0de;
  border-color: #46b8da;
}
.btn-info:focus,
.btn-info.focus {
  color: #fff;
  background-color: #31b0d5;
  border-color: #1b6d85;
}
.btn-info:hover {
  color: #fff;
  background-color: #31b0d5;
  border-color: #269abc;
}
.btn-info:active,
.btn-info.active,
.open &gt; .dropdown-toggle.btn-info {
  color: #fff;
  background-color: #31b0d5;
  border-color: #269abc;
}
.btn-info:active:hover,
.btn-info.active:hover,
.open &gt; .dropdown-toggle.btn-info:hover,
.btn-info:active:focus,
.btn-info.active:focus,
.open &gt; .dropdown-toggle.btn-info:focus,
.btn-info:active.focus,
.btn-info.active.focus,
.open &gt; .dropdown-toggle.btn-info.focus {
  color: #fff;
  background-color: #269abc;
  border-color: #1b6d85;
}
.btn-info:active,
.btn-info.active,
.open &gt; .dropdown-toggle.btn-info {
  background-image: none;
}
.btn-info.disabled:hover,
.btn-info[disabled]:hover,
fieldset[disabled] .btn-info:hover,
.btn-info.disabled:focus,
.btn-info[disabled]:focus,
fieldset[disabled] .btn-info:focus,
.btn-info.disabled.focus,
.btn-info[disabled].focus,
fieldset[disabled] .btn-info.focus {
  background-color: #5bc0de;
  border-color: #46b8da;
}
.btn-info .badge {
  color: #5bc0de;
  background-color: #fff;
}
.btn-warning {
  color: #fff;
  background-color: #f0ad4e;
  border-color: #eea236;
}
.btn-warning:focus,
.btn-warning.focus {
  color: #fff;
  background-color: #ec971f;
  border-color: #985f0d;
}
.btn-warning:hover {
  color: #fff;
  background-color: #ec971f;
  border-color: #d58512;
}
.btn-warning:active,
.btn-warning.active,
.open &gt; .dropdown-toggle.btn-warning {
  color: #fff;
  background-color: #ec971f;
  border-color: #d58512;
}
.btn-warning:active:hover,
.btn-warning.active:hover,
.open &gt; .dropdown-toggle.btn-warning:hover,
.btn-warning:active:focus,
.btn-warning.active:focus,
.open &gt; .dropdown-toggle.btn-warning:focus,
.btn-warning:active.focus,
.btn-warning.active.focus,
.open &gt; .dropdown-toggle.btn-warning.focus {
  color: #fff;
  background-color: #d58512;
  border-color: #985f0d;
}
.btn-warning:active,
.btn-warning.active,
.open &gt; .dropdown-toggle.btn-warning {
  background-image: none;
}
.btn-warning.disabled:hover,
.btn-warning[disabled]:hover,
fieldset[disabled] .btn-warning:hover,
.btn-warning.disabled:focus,
.btn-warning[disabled]:focus,
fieldset[disabled] .btn-warning:focus,
.btn-warning.disabled.focus,
.btn-warning[disabled].focus,
fieldset[disabled] .btn-warning.focus {
  background-color: #f0ad4e;
  border-color: #eea236;
}
.btn-warning .badge {
  color: #f0ad4e;
  background-color: #fff;
}
.btn-danger {
  color: #fff;
  background-color: #d9534f;
  border-color: #d43f3a;
}
.btn-danger:focus,
.btn-danger.focus {
  color: #fff;
  background-color: #c9302c;
  border-color: #761c19;
}
.btn-danger:hover {
  color: #fff;
  background-color: #c9302c;
  border-color: #ac2925;
}
.btn-danger:active,
.btn-danger.active,
.open &gt; .dropdown-toggle.btn-danger {
  color: #fff;
  background-color: #c9302c;
  border-color: #ac2925;
}
.btn-danger:active:hover,
.btn-danger.active:hover,
.open &gt; .dropdown-toggle.btn-danger:hover,
.btn-danger:active:focus,
.btn-danger.active:focus,
.open &gt; .dropdown-toggle.btn-danger:focus,
.btn-danger:active.focus,
.btn-danger.active.focus,
.open &gt; .dropdown-toggle.btn-danger.focus {
  color: #fff;
  background-color: #ac2925;
  border-color: #761c19;
}
.btn-danger:active,
.btn-danger.active,
.open &gt; .dropdown-toggle.btn-danger {
  background-image: none;
}
.btn-danger.disabled:hover,
.btn-danger[disabled]:hover,
fieldset[disabled] .btn-danger:hover,
.btn-danger.disabled:focus,
.btn-danger[disabled]:focus,
fieldset[disabled] .btn-danger:focus,
.btn-danger.disabled.focus,
.btn-danger[disabled].focus,
fieldset[disabled] .btn-danger.focus {
  background-color: #d9534f;
  border-color: #d43f3a;
}
.btn-danger .badge {
  color: #d9534f;
  background-color: #fff;
}
.btn-link {
  color: #337ab7;
  font-weight: normal;
  border-radius: 0;
}
.btn-link,
.btn-link:active,
.btn-link.active,
.btn-link[disabled],
fieldset[disabled] .btn-link {
  background-color: transparent;
  -webkit-box-shadow: none;
  box-shadow: none;
}
.btn-link,
.btn-link:hover,
.btn-link:focus,
.btn-link:active {
  border-color: transparent;
}
.btn-link:hover,
.btn-link:focus {
  color: #23527c;
  text-decoration: underline;
  background-color: transparent;
}
.btn-link[disabled]:hover,
fieldset[disabled] .btn-link:hover,
.btn-link[disabled]:focus,
fieldset[disabled] .btn-link:focus {
  color: #777777;
  text-decoration: none;
}
.btn-lg,
.btn-group-lg &gt; .btn {
  padding: 10px 16px;
  font-size: 17px;
  line-height: 1.3333333;
  border-radius: 3px;
}
.btn-sm,
.btn-group-sm &gt; .btn {
  padding: 5px 10px;
  font-size: 12px;
  line-height: 1.5;
  border-radius: 1px;
}
.btn-xs,
.btn-group-xs &gt; .btn {
  padding: 1px 5px;
  font-size: 12px;
  line-height: 1.5;
  border-radius: 1px;
}
.btn-block {
  display: block;
  width: 100%;
}
.btn-block + .btn-block {
  margin-top: 5px;
}
input[type=&quot;submit&quot;].btn-block,
input[type=&quot;reset&quot;].btn-block,
input[type=&quot;button&quot;].btn-block {
  width: 100%;
}
.fade {
  opacity: 0;
  -webkit-transition: opacity 0.15s linear;
  -o-transition: opacity 0.15s linear;
  transition: opacity 0.15s linear;
}
.fade.in {
  opacity: 1;
}
.collapse {
  display: none;
}
.collapse.in {
  display: block;
}
tr.collapse.in {
  display: table-row;
}
tbody.collapse.in {
  display: table-row-group;
}
.collapsing {
  position: relative;
  height: 0;
  overflow: hidden;
  -webkit-transition-property: height, visibility;
  transition-property: height, visibility;
  -webkit-transition-duration: 0.35s;
  transition-duration: 0.35s;
  -webkit-transition-timing-function: ease;
  transition-timing-function: ease;
}
.caret {
  display: inline-block;
  width: 0;
  height: 0;
  margin-left: 2px;
  vertical-align: middle;
  border-top: 4px dashed;
  border-top: 4px solid \9;
  border-right: 4px solid transparent;
  border-left: 4px solid transparent;
}
.dropup,
.dropdown {
  position: relative;
}
.dropdown-toggle:focus {
  outline: 0;
}
.dropdown-menu {
  position: absolute;
  top: 100%;
  left: 0;
  z-index: 1000;
  display: none;
  float: left;
  min-width: 160px;
  padding: 5px 0;
  margin: 2px 0 0;
  list-style: none;
  font-size: 13px;
  text-align: left;
  background-color: #fff;
  border: 1px solid #ccc;
  border: 1px solid rgba(0, 0, 0, 0.15);
  border-radius: 2px;
  -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);
  box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);
  background-clip: padding-box;
}
.dropdown-menu.pull-right {
  right: 0;
  left: auto;
}
.dropdown-menu .divider {
  height: 1px;
  margin: 8px 0;
  overflow: hidden;
  background-color: #e5e5e5;
}
.dropdown-menu &gt; li &gt; a {
  display: block;
  padding: 3px 20px;
  clear: both;
  font-weight: normal;
  line-height: 1.42857143;
  color: #333333;
  white-space: nowrap;
}
.dropdown-menu &gt; li &gt; a:hover,
.dropdown-menu &gt; li &gt; a:focus {
  text-decoration: none;
  color: #262626;
  background-color: #f5f5f5;
}
.dropdown-menu &gt; .active &gt; a,
.dropdown-menu &gt; .active &gt; a:hover,
.dropdown-menu &gt; .active &gt; a:focus {
  color: #fff;
  text-decoration: none;
  outline: 0;
  background-color: #337ab7;
}
.dropdown-menu &gt; .disabled &gt; a,
.dropdown-menu &gt; .disabled &gt; a:hover,
.dropdown-menu &gt; .disabled &gt; a:focus {
  color: #777777;
}
.dropdown-menu &gt; .disabled &gt; a:hover,
.dropdown-menu &gt; .disabled &gt; a:focus {
  text-decoration: none;
  background-color: transparent;
  background-image: none;
  filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
  cursor: not-allowed;
}
.open &gt; .dropdown-menu {
  display: block;
}
.open &gt; a {
  outline: 0;
}
.dropdown-menu-right {
  left: auto;
  right: 0;
}
.dropdown-menu-left {
  left: 0;
  right: auto;
}
.dropdown-header {
  display: block;
  padding: 3px 20px;
  font-size: 12px;
  line-height: 1.42857143;
  color: #777777;
  white-space: nowrap;
}
.dropdown-backdrop {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  top: 0;
  z-index: 990;
}
.pull-right &gt; .dropdown-menu {
  right: 0;
  left: auto;
}
.dropup .caret,
.navbar-fixed-bottom .dropdown .caret {
  border-top: 0;
  border-bottom: 4px dashed;
  border-bottom: 4px solid \9;
  content: &quot;&quot;;
}
.dropup .dropdown-menu,
.navbar-fixed-bottom .dropdown .dropdown-menu {
  top: auto;
  bottom: 100%;
  margin-bottom: 2px;
}
@media (min-width: 541px) {
  .navbar-right .dropdown-menu {
    left: auto;
    right: 0;
  }
  .navbar-right .dropdown-menu-left {
    left: 0;
    right: auto;
  }
}
.btn-group,
.btn-group-vertical {
  position: relative;
  display: inline-block;
  vertical-align: middle;
}
.btn-group &gt; .btn,
.btn-group-vertical &gt; .btn {
  position: relative;
  float: left;
}
.btn-group &gt; .btn:hover,
.btn-group-vertical &gt; .btn:hover,
.btn-group &gt; .btn:focus,
.btn-group-vertical &gt; .btn:focus,
.btn-group &gt; .btn:active,
.btn-group-vertical &gt; .btn:active,
.btn-group &gt; .btn.active,
.btn-group-vertical &gt; .btn.active {
  z-index: 2;
}
.btn-group .btn + .btn,
.btn-group .btn + .btn-group,
.btn-group .btn-group + .btn,
.btn-group .btn-group + .btn-group {
  margin-left: -1px;
}
.btn-toolbar {
  margin-left: -5px;
}
.btn-toolbar .btn,
.btn-toolbar .btn-group,
.btn-toolbar .input-group {
  float: left;
}
.btn-toolbar &gt; .btn,
.btn-toolbar &gt; .btn-group,
.btn-toolbar &gt; .input-group {
  margin-left: 5px;
}
.btn-group &gt; .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) {
  border-radius: 0;
}
.btn-group &gt; .btn:first-child {
  margin-left: 0;
}
.btn-group &gt; .btn:first-child:not(:last-child):not(.dropdown-toggle) {
  border-bottom-right-radius: 0;
  border-top-right-radius: 0;
}
.btn-group &gt; .btn:last-child:not(:first-child),
.btn-group &gt; .dropdown-toggle:not(:first-child) {
  border-bottom-left-radius: 0;
  border-top-left-radius: 0;
}
.btn-group &gt; .btn-group {
  float: left;
}
.btn-group &gt; .btn-group:not(:first-child):not(:last-child) &gt; .btn {
  border-radius: 0;
}
.btn-group &gt; .btn-group:first-child:not(:last-child) &gt; .btn:last-child,
.btn-group &gt; .btn-group:first-child:not(:last-child) &gt; .dropdown-toggle {
  border-bottom-right-radius: 0;
  border-top-right-radius: 0;
}
.btn-group &gt; .btn-group:last-child:not(:first-child) &gt; .btn:first-child {
  border-bottom-left-radius: 0;
  border-top-left-radius: 0;
}
.btn-group .dropdown-toggle:active,
.btn-group.open .dropdown-toggle {
  outline: 0;
}
.btn-group &gt; .btn + .dropdown-toggle {
  padding-left: 8px;
  padding-right: 8px;
}
.btn-group &gt; .btn-lg + .dropdown-toggle {
  padding-left: 12px;
  padding-right: 12px;
}
.btn-group.open .dropdown-toggle {
  -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
}
.btn-group.open .dropdown-toggle.btn-link {
  -webkit-box-shadow: none;
  box-shadow: none;
}
.btn .caret {
  margin-left: 0;
}
.btn-lg .caret {
  border-width: 5px 5px 0;
  border-bottom-width: 0;
}
.dropup .btn-lg .caret {
  border-width: 0 5px 5px;
}
.btn-group-vertical &gt; .btn,
.btn-group-vertical &gt; .btn-group,
.btn-group-vertical &gt; .btn-group &gt; .btn {
  display: block;
  float: none;
  width: 100%;
  max-width: 100%;
}
.btn-group-vertical &gt; .btn-group &gt; .btn {
  float: none;
}
.btn-group-vertical &gt; .btn + .btn,
.btn-group-vertical &gt; .btn + .btn-group,
.btn-group-vertical &gt; .btn-group + .btn,
.btn-group-vertical &gt; .btn-group + .btn-group {
  margin-top: -1px;
  margin-left: 0;
}
.btn-group-vertical &gt; .btn:not(:first-child):not(:last-child) {
  border-radius: 0;
}
.btn-group-vertical &gt; .btn:first-child:not(:last-child) {
  border-top-right-radius: 2px;
  border-top-left-radius: 2px;
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
}
.btn-group-vertical &gt; .btn:last-child:not(:first-child) {
  border-top-right-radius: 0;
  border-top-left-radius: 0;
  border-bottom-right-radius: 2px;
  border-bottom-left-radius: 2px;
}
.btn-group-vertical &gt; .btn-group:not(:first-child):not(:last-child) &gt; .btn {
  border-radius: 0;
}
.btn-group-vertical &gt; .btn-group:first-child:not(:last-child) &gt; .btn:last-child,
.btn-group-vertical &gt; .btn-group:first-child:not(:last-child) &gt; .dropdown-toggle {
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
}
.btn-group-vertical &gt; .btn-group:last-child:not(:first-child) &gt; .btn:first-child {
  border-top-right-radius: 0;
  border-top-left-radius: 0;
}
.btn-group-justified {
  display: table;
  width: 100%;
  table-layout: fixed;
  border-collapse: separate;
}
.btn-group-justified &gt; .btn,
.btn-group-justified &gt; .btn-group {
  float: none;
  display: table-cell;
  width: 1%;
}
.btn-group-justified &gt; .btn-group .btn {
  width: 100%;
}
.btn-group-justified &gt; .btn-group .dropdown-menu {
  left: auto;
}
[data-toggle=&quot;buttons&quot;] &gt; .btn input[type=&quot;radio&quot;],
[data-toggle=&quot;buttons&quot;] &gt; .btn-group &gt; .btn input[type=&quot;radio&quot;],
[data-toggle=&quot;buttons&quot;] &gt; .btn input[type=&quot;checkbox&quot;],
[data-toggle=&quot;buttons&quot;] &gt; .btn-group &gt; .btn input[type=&quot;checkbox&quot;] {
  position: absolute;
  clip: rect(0, 0, 0, 0);
  pointer-events: none;
}
.input-group {
  position: relative;
  display: table;
  border-collapse: separate;
}
.input-group[class*=&quot;col-&quot;] {
  float: none;
  padding-left: 0;
  padding-right: 0;
}
.input-group .form-control {
  position: relative;
  z-index: 2;
  float: left;
  width: 100%;
  margin-bottom: 0;
}
.input-group .form-control:focus {
  z-index: 3;
}
.input-group-lg &gt; .form-control,
.input-group-lg &gt; .input-group-addon,
.input-group-lg &gt; .input-group-btn &gt; .btn {
  height: 45px;
  padding: 10px 16px;
  font-size: 17px;
  line-height: 1.3333333;
  border-radius: 3px;
}
select.input-group-lg &gt; .form-control,
select.input-group-lg &gt; .input-group-addon,
select.input-group-lg &gt; .input-group-btn &gt; .btn {
  height: 45px;
  line-height: 45px;
}
textarea.input-group-lg &gt; .form-control,
textarea.input-group-lg &gt; .input-group-addon,
textarea.input-group-lg &gt; .input-group-btn &gt; .btn,
select[multiple].input-group-lg &gt; .form-control,
select[multiple].input-group-lg &gt; .input-group-addon,
select[multiple].input-group-lg &gt; .input-group-btn &gt; .btn {
  height: auto;
}
.input-group-sm &gt; .form-control,
.input-group-sm &gt; .input-group-addon,
.input-group-sm &gt; .input-group-btn &gt; .btn {
  height: 30px;
  padding: 5px 10px;
  font-size: 12px;
  line-height: 1.5;
  border-radius: 1px;
}
select.input-group-sm &gt; .form-control,
select.input-group-sm &gt; .input-group-addon,
select.input-group-sm &gt; .input-group-btn &gt; .btn {
  height: 30px;
  line-height: 30px;
}
textarea.input-group-sm &gt; .form-control,
textarea.input-group-sm &gt; .input-group-addon,
textarea.input-group-sm &gt; .input-group-btn &gt; .btn,
select[multiple].input-group-sm &gt; .form-control,
select[multiple].input-group-sm &gt; .input-group-addon,
select[multiple].input-group-sm &gt; .input-group-btn &gt; .btn {
  height: auto;
}
.input-group-addon,
.input-group-btn,
.input-group .form-control {
  display: table-cell;
}
.input-group-addon:not(:first-child):not(:last-child),
.input-group-btn:not(:first-child):not(:last-child),
.input-group .form-control:not(:first-child):not(:last-child) {
  border-radius: 0;
}
.input-group-addon,
.input-group-btn {
  width: 1%;
  white-space: nowrap;
  vertical-align: middle;
}
.input-group-addon {
  padding: 6px 12px;
  font-size: 13px;
  font-weight: normal;
  line-height: 1;
  color: #555555;
  text-align: center;
  background-color: #eeeeee;
  border: 1px solid #ccc;
  border-radius: 2px;
}
.input-group-addon.input-sm {
  padding: 5px 10px;
  font-size: 12px;
  border-radius: 1px;
}
.input-group-addon.input-lg {
  padding: 10px 16px;
  font-size: 17px;
  border-radius: 3px;
}
.input-group-addon input[type=&quot;radio&quot;],
.input-group-addon input[type=&quot;checkbox&quot;] {
  margin-top: 0;
}
.input-group .form-control:first-child,
.input-group-addon:first-child,
.input-group-btn:first-child &gt; .btn,
.input-group-btn:first-child &gt; .btn-group &gt; .btn,
.input-group-btn:first-child &gt; .dropdown-toggle,
.input-group-btn:last-child &gt; .btn:not(:last-child):not(.dropdown-toggle),
.input-group-btn:last-child &gt; .btn-group:not(:last-child) &gt; .btn {
  border-bottom-right-radius: 0;
  border-top-right-radius: 0;
}
.input-group-addon:first-child {
  border-right: 0;
}
.input-group .form-control:last-child,
.input-group-addon:last-child,
.input-group-btn:last-child &gt; .btn,
.input-group-btn:last-child &gt; .btn-group &gt; .btn,
.input-group-btn:last-child &gt; .dropdown-toggle,
.input-group-btn:first-child &gt; .btn:not(:first-child),
.input-group-btn:first-child &gt; .btn-group:not(:first-child) &gt; .btn {
  border-bottom-left-radius: 0;
  border-top-left-radius: 0;
}
.input-group-addon:last-child {
  border-left: 0;
}
.input-group-btn {
  position: relative;
  font-size: 0;
  white-space: nowrap;
}
.input-group-btn &gt; .btn {
  position: relative;
}
.input-group-btn &gt; .btn + .btn {
  margin-left: -1px;
}
.input-group-btn &gt; .btn:hover,
.input-group-btn &gt; .btn:focus,
.input-group-btn &gt; .btn:active {
  z-index: 2;
}
.input-group-btn:first-child &gt; .btn,
.input-group-btn:first-child &gt; .btn-group {
  margin-right: -1px;
}
.input-group-btn:last-child &gt; .btn,
.input-group-btn:last-child &gt; .btn-group {
  z-index: 2;
  margin-left: -1px;
}
.nav {
  margin-bottom: 0;
  padding-left: 0;
  list-style: none;
}
.nav &gt; li {
  position: relative;
  display: block;
}
.nav &gt; li &gt; a {
  position: relative;
  display: block;
  padding: 10px 15px;
}
.nav &gt; li &gt; a:hover,
.nav &gt; li &gt; a:focus {
  text-decoration: none;
  background-color: #eeeeee;
}
.nav &gt; li.disabled &gt; a {
  color: #777777;
}
.nav &gt; li.disabled &gt; a:hover,
.nav &gt; li.disabled &gt; a:focus {
  color: #777777;
  text-decoration: none;
  background-color: transparent;
  cursor: not-allowed;
}
.nav .open &gt; a,
.nav .open &gt; a:hover,
.nav .open &gt; a:focus {
  background-color: #eeeeee;
  border-color: #337ab7;
}
.nav .nav-divider {
  height: 1px;
  margin: 8px 0;
  overflow: hidden;
  background-color: #e5e5e5;
}
.nav &gt; li &gt; a &gt; img {
  max-width: none;
}
.nav-tabs {
  border-bottom: 1px solid #ddd;
}
.nav-tabs &gt; li {
  float: left;
  margin-bottom: -1px;
}
.nav-tabs &gt; li &gt; a {
  margin-right: 2px;
  line-height: 1.42857143;
  border: 1px solid transparent;
  border-radius: 2px 2px 0 0;
}
.nav-tabs &gt; li &gt; a:hover {
  border-color: #eeeeee #eeeeee #ddd;
}
.nav-tabs &gt; li.active &gt; a,
.nav-tabs &gt; li.active &gt; a:hover,
.nav-tabs &gt; li.active &gt; a:focus {
  color: #555555;
  background-color: #fff;
  border: 1px solid #ddd;
  border-bottom-color: transparent;
  cursor: default;
}
.nav-tabs.nav-justified {
  width: 100%;
  border-bottom: 0;
}
.nav-tabs.nav-justified &gt; li {
  float: none;
}
.nav-tabs.nav-justified &gt; li &gt; a {
  text-align: center;
  margin-bottom: 5px;
}
.nav-tabs.nav-justified &gt; .dropdown .dropdown-menu {
  top: auto;
  left: auto;
}
@media (min-width: 768px) {
  .nav-tabs.nav-justified &gt; li {
    display: table-cell;
    width: 1%;
  }
  .nav-tabs.nav-justified &gt; li &gt; a {
    margin-bottom: 0;
  }
}
.nav-tabs.nav-justified &gt; li &gt; a {
  margin-right: 0;
  border-radius: 2px;
}
.nav-tabs.nav-justified &gt; .active &gt; a,
.nav-tabs.nav-justified &gt; .active &gt; a:hover,
.nav-tabs.nav-justified &gt; .active &gt; a:focus {
  border: 1px solid #ddd;
}
@media (min-width: 768px) {
  .nav-tabs.nav-justified &gt; li &gt; a {
    border-bottom: 1px solid #ddd;
    border-radius: 2px 2px 0 0;
  }
  .nav-tabs.nav-justified &gt; .active &gt; a,
  .nav-tabs.nav-justified &gt; .active &gt; a:hover,
  .nav-tabs.nav-justified &gt; .active &gt; a:focus {
    border-bottom-color: #fff;
  }
}
.nav-pills &gt; li {
  float: left;
}
.nav-pills &gt; li &gt; a {
  border-radius: 2px;
}
.nav-pills &gt; li + li {
  margin-left: 2px;
}
.nav-pills &gt; li.active &gt; a,
.nav-pills &gt; li.active &gt; a:hover,
.nav-pills &gt; li.active &gt; a:focus {
  color: #fff;
  background-color: #337ab7;
}
.nav-stacked &gt; li {
  float: none;
}
.nav-stacked &gt; li + li {
  margin-top: 2px;
  margin-left: 0;
}
.nav-justified {
  width: 100%;
}
.nav-justified &gt; li {
  float: none;
}
.nav-justified &gt; li &gt; a {
  text-align: center;
  margin-bottom: 5px;
}
.nav-justified &gt; .dropdown .dropdown-menu {
  top: auto;
  left: auto;
}
@media (min-width: 768px) {
  .nav-justified &gt; li {
    display: table-cell;
    width: 1%;
  }
  .nav-justified &gt; li &gt; a {
    margin-bottom: 0;
  }
}
.nav-tabs-justified {
  border-bottom: 0;
}
.nav-tabs-justified &gt; li &gt; a {
  margin-right: 0;
  border-radius: 2px;
}
.nav-tabs-justified &gt; .active &gt; a,
.nav-tabs-justified &gt; .active &gt; a:hover,
.nav-tabs-justified &gt; .active &gt; a:focus {
  border: 1px solid #ddd;
}
@media (min-width: 768px) {
  .nav-tabs-justified &gt; li &gt; a {
    border-bottom: 1px solid #ddd;
    border-radius: 2px 2px 0 0;
  }
  .nav-tabs-justified &gt; .active &gt; a,
  .nav-tabs-justified &gt; .active &gt; a:hover,
  .nav-tabs-justified &gt; .active &gt; a:focus {
    border-bottom-color: #fff;
  }
}
.tab-content &gt; .tab-pane {
  display: none;
}
.tab-content &gt; .active {
  display: block;
}
.nav-tabs .dropdown-menu {
  margin-top: -1px;
  border-top-right-radius: 0;
  border-top-left-radius: 0;
}
.navbar {
  position: relative;
  min-height: 30px;
  margin-bottom: 18px;
  border: 1px solid transparent;
}
@media (min-width: 541px) {
  .navbar {
    border-radius: 2px;
  }
}
@media (min-width: 541px) {
  .navbar-header {
    float: left;
  }
}
.navbar-collapse {
  overflow-x: visible;
  padding-right: 0px;
  padding-left: 0px;
  border-top: 1px solid transparent;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1);
  -webkit-overflow-scrolling: touch;
}
.navbar-collapse.in {
  overflow-y: auto;
}
@media (min-width: 541px) {
  .navbar-collapse {
    width: auto;
    border-top: 0;
    box-shadow: none;
  }
  .navbar-collapse.collapse {
    display: block !important;
    height: auto !important;
    padding-bottom: 0;
    overflow: visible !important;
  }
  .navbar-collapse.in {
    overflow-y: visible;
  }
  .navbar-fixed-top .navbar-collapse,
  .navbar-static-top .navbar-collapse,
  .navbar-fixed-bottom .navbar-collapse {
    padding-left: 0;
    padding-right: 0;
  }
}
.navbar-fixed-top .navbar-collapse,
.navbar-fixed-bottom .navbar-collapse {
  max-height: 340px;
}
@media (max-device-width: 540px) and (orientation: landscape) {
  .navbar-fixed-top .navbar-collapse,
  .navbar-fixed-bottom .navbar-collapse {
    max-height: 200px;
  }
}
.container &gt; .navbar-header,
.container-fluid &gt; .navbar-header,
.container &gt; .navbar-collapse,
.container-fluid &gt; .navbar-collapse {
  margin-right: 0px;
  margin-left: 0px;
}
@media (min-width: 541px) {
  .container &gt; .navbar-header,
  .container-fluid &gt; .navbar-header,
  .container &gt; .navbar-collapse,
  .container-fluid &gt; .navbar-collapse {
    margin-right: 0;
    margin-left: 0;
  }
}
.navbar-static-top {
  z-index: 1000;
  border-width: 0 0 1px;
}
@media (min-width: 541px) {
  .navbar-static-top {
    border-radius: 0;
  }
}
.navbar-fixed-top,
.navbar-fixed-bottom {
  position: fixed;
  right: 0;
  left: 0;
  z-index: 1030;
}
@media (min-width: 541px) {
  .navbar-fixed-top,
  .navbar-fixed-bottom {
    border-radius: 0;
  }
}
.navbar-fixed-top {
  top: 0;
  border-width: 0 0 1px;
}
.navbar-fixed-bottom {
  bottom: 0;
  margin-bottom: 0;
  border-width: 1px 0 0;
}
.navbar-brand {
  float: left;
  padding: 6px 0px;
  font-size: 17px;
  line-height: 18px;
  height: 30px;
}
.navbar-brand:hover,
.navbar-brand:focus {
  text-decoration: none;
}
.navbar-brand &gt; img {
  display: block;
}
@media (min-width: 541px) {
  .navbar &gt; .container .navbar-brand,
  .navbar &gt; .container-fluid .navbar-brand {
    margin-left: 0px;
  }
}
.navbar-toggle {
  position: relative;
  float: right;
  margin-right: 0px;
  padding: 9px 10px;
  margin-top: -2px;
  margin-bottom: -2px;
  background-color: transparent;
  background-image: none;
  border: 1px solid transparent;
  border-radius: 2px;
}
.navbar-toggle:focus {
  outline: 0;
}
.navbar-toggle .icon-bar {
  display: block;
  width: 22px;
  height: 2px;
  border-radius: 1px;
}
.navbar-toggle .icon-bar + .icon-bar {
  margin-top: 4px;
}
@media (min-width: 541px) {
  .navbar-toggle {
    display: none;
  }
}
.navbar-nav {
  margin: 3px 0px;
}
.navbar-nav &gt; li &gt; a {
  padding-top: 10px;
  padding-bottom: 10px;
  line-height: 18px;
}
@media (max-width: 540px) {
  .navbar-nav .open .dropdown-menu {
    position: static;
    float: none;
    width: auto;
    margin-top: 0;
    background-color: transparent;
    border: 0;
    box-shadow: none;
  }
  .navbar-nav .open .dropdown-menu &gt; li &gt; a,
  .navbar-nav .open .dropdown-menu .dropdown-header {
    padding: 5px 15px 5px 25px;
  }
  .navbar-nav .open .dropdown-menu &gt; li &gt; a {
    line-height: 18px;
  }
  .navbar-nav .open .dropdown-menu &gt; li &gt; a:hover,
  .navbar-nav .open .dropdown-menu &gt; li &gt; a:focus {
    background-image: none;
  }
}
@media (min-width: 541px) {
  .navbar-nav {
    float: left;
    margin: 0;
  }
  .navbar-nav &gt; li {
    float: left;
  }
  .navbar-nav &gt; li &gt; a {
    padding-top: 6px;
    padding-bottom: 6px;
  }
}
.navbar-form {
  margin-left: 0px;
  margin-right: 0px;
  padding: 10px 0px;
  border-top: 1px solid transparent;
  border-bottom: 1px solid transparent;
  -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1);
  margin-top: -1px;
  margin-bottom: -1px;
}
@media (min-width: 768px) {
  .navbar-form .form-group {
    display: inline-block;
    margin-bottom: 0;
    vertical-align: middle;
  }
  .navbar-form .form-control {
    display: inline-block;
    width: auto;
    vertical-align: middle;
  }
  .navbar-form .form-control-static {
    display: inline-block;
  }
  .navbar-form .input-group {
    display: inline-table;
    vertical-align: middle;
  }
  .navbar-form .input-group .input-group-addon,
  .navbar-form .input-group .input-group-btn,
  .navbar-form .input-group .form-control {
    width: auto;
  }
  .navbar-form .input-group &gt; .form-control {
    width: 100%;
  }
  .navbar-form .control-label {
    margin-bottom: 0;
    vertical-align: middle;
  }
  .navbar-form .radio,
  .navbar-form .checkbox {
    display: inline-block;
    margin-top: 0;
    margin-bottom: 0;
    vertical-align: middle;
  }
  .navbar-form .radio label,
  .navbar-form .checkbox label {
    padding-left: 0;
  }
  .navbar-form .radio input[type=&quot;radio&quot;],
  .navbar-form .checkbox input[type=&quot;checkbox&quot;] {
    position: relative;
    margin-left: 0;
  }
  .navbar-form .has-feedback .form-control-feedback {
    top: 0;
  }
}
@media (max-width: 540px) {
  .navbar-form .form-group {
    margin-bottom: 5px;
  }
  .navbar-form .form-group:last-child {
    margin-bottom: 0;
  }
}
@media (min-width: 541px) {
  .navbar-form {
    width: auto;
    border: 0;
    margin-left: 0;
    margin-right: 0;
    padding-top: 0;
    padding-bottom: 0;
    -webkit-box-shadow: none;
    box-shadow: none;
  }
}
.navbar-nav &gt; li &gt; .dropdown-menu {
  margin-top: 0;
  border-top-right-radius: 0;
  border-top-left-radius: 0;
}
.navbar-fixed-bottom .navbar-nav &gt; li &gt; .dropdown-menu {
  margin-bottom: 0;
  border-top-right-radius: 2px;
  border-top-left-radius: 2px;
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
}
.navbar-btn {
  margin-top: -1px;
  margin-bottom: -1px;
}
.navbar-btn.btn-sm {
  margin-top: 0px;
  margin-bottom: 0px;
}
.navbar-btn.btn-xs {
  margin-top: 4px;
  margin-bottom: 4px;
}
.navbar-text {
  margin-top: 6px;
  margin-bottom: 6px;
}
@media (min-width: 541px) {
  .navbar-text {
    float: left;
    margin-left: 0px;
    margin-right: 0px;
  }
}
@media (min-width: 541px) {
  .navbar-left {
    float: left !important;
    float: left;
  }
  .navbar-right {
    float: right !important;
    float: right;
    margin-right: 0px;
  }
  .navbar-right ~ .navbar-right {
    margin-right: 0;
  }
}
.navbar-default {
  background-color: #f8f8f8;
  border-color: #e7e7e7;
}
.navbar-default .navbar-brand {
  color: #777;
}
.navbar-default .navbar-brand:hover,
.navbar-default .navbar-brand:focus {
  color: #5e5e5e;
  background-color: transparent;
}
.navbar-default .navbar-text {
  color: #777;
}
.navbar-default .navbar-nav &gt; li &gt; a {
  color: #777;
}
.navbar-default .navbar-nav &gt; li &gt; a:hover,
.navbar-default .navbar-nav &gt; li &gt; a:focus {
  color: #333;
  background-color: transparent;
}
.navbar-default .navbar-nav &gt; .active &gt; a,
.navbar-default .navbar-nav &gt; .active &gt; a:hover,
.navbar-default .navbar-nav &gt; .active &gt; a:focus {
  color: #555;
  background-color: #e7e7e7;
}
.navbar-default .navbar-nav &gt; .disabled &gt; a,
.navbar-default .navbar-nav &gt; .disabled &gt; a:hover,
.navbar-default .navbar-nav &gt; .disabled &gt; a:focus {
  color: #ccc;
  background-color: transparent;
}
.navbar-default .navbar-toggle {
  border-color: #ddd;
}
.navbar-default .navbar-toggle:hover,
.navbar-default .navbar-toggle:focus {
  background-color: #ddd;
}
.navbar-default .navbar-toggle .icon-bar {
  background-color: #888;
}
.navbar-default .navbar-collapse,
.navbar-default .navbar-form {
  border-color: #e7e7e7;
}
.navbar-default .navbar-nav &gt; .open &gt; a,
.navbar-default .navbar-nav &gt; .open &gt; a:hover,
.navbar-default .navbar-nav &gt; .open &gt; a:focus {
  background-color: #e7e7e7;
  color: #555;
}
@media (max-width: 540px) {
  .navbar-default .navbar-nav .open .dropdown-menu &gt; li &gt; a {
    color: #777;
  }
  .navbar-default .navbar-nav .open .dropdown-menu &gt; li &gt; a:hover,
  .navbar-default .navbar-nav .open .dropdown-menu &gt; li &gt; a:focus {
    color: #333;
    background-color: transparent;
  }
  .navbar-default .navbar-nav .open .dropdown-menu &gt; .active &gt; a,
  .navbar-default .navbar-nav .open .dropdown-menu &gt; .active &gt; a:hover,
  .navbar-default .navbar-nav .open .dropdown-menu &gt; .active &gt; a:focus {
    color: #555;
    background-color: #e7e7e7;
  }
  .navbar-default .navbar-nav .open .dropdown-menu &gt; .disabled &gt; a,
  .navbar-default .navbar-nav .open .dropdown-menu &gt; .disabled &gt; a:hover,
  .navbar-default .navbar-nav .open .dropdown-menu &gt; .disabled &gt; a:focus {
    color: #ccc;
    background-color: transparent;
  }
}
.navbar-default .navbar-link {
  color: #777;
}
.navbar-default .navbar-link:hover {
  color: #333;
}
.navbar-default .btn-link {
  color: #777;
}
.navbar-default .btn-link:hover,
.navbar-default .btn-link:focus {
  color: #333;
}
.navbar-default .btn-link[disabled]:hover,
fieldset[disabled] .navbar-default .btn-link:hover,
.navbar-default .btn-link[disabled]:focus,
fieldset[disabled] .navbar-default .btn-link:focus {
  color: #ccc;
}
.navbar-inverse {
  background-color: #222;
  border-color: #080808;
}
.navbar-inverse .navbar-brand {
  color: #9d9d9d;
}
.navbar-inverse .navbar-brand:hover,
.navbar-inverse .navbar-brand:focus {
  color: #fff;
  background-color: transparent;
}
.navbar-inverse .navbar-text {
  color: #9d9d9d;
}
.navbar-inverse .navbar-nav &gt; li &gt; a {
  color: #9d9d9d;
}
.navbar-inverse .navbar-nav &gt; li &gt; a:hover,
.navbar-inverse .navbar-nav &gt; li &gt; a:focus {
  color: #fff;
  background-color: transparent;
}
.navbar-inverse .navbar-nav &gt; .active &gt; a,
.navbar-inverse .navbar-nav &gt; .active &gt; a:hover,
.navbar-inverse .navbar-nav &gt; .active &gt; a:focus {
  color: #fff;
  background-color: #080808;
}
.navbar-inverse .navbar-nav &gt; .disabled &gt; a,
.navbar-inverse .navbar-nav &gt; .disabled &gt; a:hover,
.navbar-inverse .navbar-nav &gt; .disabled &gt; a:focus {
  color: #444;
  background-color: transparent;
}
.navbar-inverse .navbar-toggle {
  border-color: #333;
}
.navbar-inverse .navbar-toggle:hover,
.navbar-inverse .navbar-toggle:focus {
  background-color: #333;
}
.navbar-inverse .navbar-toggle .icon-bar {
  background-color: #fff;
}
.navbar-inverse .navbar-collapse,
.navbar-inverse .navbar-form {
  border-color: #101010;
}
.navbar-inverse .navbar-nav &gt; .open &gt; a,
.navbar-inverse .navbar-nav &gt; .open &gt; a:hover,
.navbar-inverse .navbar-nav &gt; .open &gt; a:focus {
  background-color: #080808;
  color: #fff;
}
@media (max-width: 540px) {
  .navbar-inverse .navbar-nav .open .dropdown-menu &gt; .dropdown-header {
    border-color: #080808;
  }
  .navbar-inverse .navbar-nav .open .dropdown-menu .divider {
    background-color: #080808;
  }
  .navbar-inverse .navbar-nav .open .dropdown-menu &gt; li &gt; a {
    color: #9d9d9d;
  }
  .navbar-inverse .navbar-nav .open .dropdown-menu &gt; li &gt; a:hover,
  .navbar-inverse .navbar-nav .open .dropdown-menu &gt; li &gt; a:focus {
    color: #fff;
    background-color: transparent;
  }
  .navbar-inverse .navbar-nav .open .dropdown-menu &gt; .active &gt; a,
  .navbar-inverse .navbar-nav .open .dropdown-menu &gt; .active &gt; a:hover,
  .navbar-inverse .navbar-nav .open .dropdown-menu &gt; .active &gt; a:focus {
    color: #fff;
    background-color: #080808;
  }
  .navbar-inverse .navbar-nav .open .dropdown-menu &gt; .disabled &gt; a,
  .navbar-inverse .navbar-nav .open .dropdown-menu &gt; .disabled &gt; a:hover,
  .navbar-inverse .navbar-nav .open .dropdown-menu &gt; .disabled &gt; a:focus {
    color: #444;
    background-color: transparent;
  }
}
.navbar-inverse .navbar-link {
  color: #9d9d9d;
}
.navbar-inverse .navbar-link:hover {
  color: #fff;
}
.navbar-inverse .btn-link {
  color: #9d9d9d;
}
.navbar-inverse .btn-link:hover,
.navbar-inverse .btn-link:focus {
  color: #fff;
}
.navbar-inverse .btn-link[disabled]:hover,
fieldset[disabled] .navbar-inverse .btn-link:hover,
.navbar-inverse .btn-link[disabled]:focus,
fieldset[disabled] .navbar-inverse .btn-link:focus {
  color: #444;
}
.breadcrumb {
  padding: 8px 15px;
  margin-bottom: 18px;
  list-style: none;
  background-color: #f5f5f5;
  border-radius: 2px;
}
.breadcrumb &gt; li {
  display: inline-block;
}
.breadcrumb &gt; li + li:before {
  content: &quot;/\00a0&quot;;
  padding: 0 5px;
  color: #5e5e5e;
}
.breadcrumb &gt; .active {
  color: #777777;
}
.pagination {
  display: inline-block;
  padding-left: 0;
  margin: 18px 0;
  border-radius: 2px;
}
.pagination &gt; li {
  display: inline;
}
.pagination &gt; li &gt; a,
.pagination &gt; li &gt; span {
  position: relative;
  float: left;
  padding: 6px 12px;
  line-height: 1.42857143;
  text-decoration: none;
  color: #337ab7;
  background-color: #fff;
  border: 1px solid #ddd;
  margin-left: -1px;
}
.pagination &gt; li:first-child &gt; a,
.pagination &gt; li:first-child &gt; span {
  margin-left: 0;
  border-bottom-left-radius: 2px;
  border-top-left-radius: 2px;
}
.pagination &gt; li:last-child &gt; a,
.pagination &gt; li:last-child &gt; span {
  border-bottom-right-radius: 2px;
  border-top-right-radius: 2px;
}
.pagination &gt; li &gt; a:hover,
.pagination &gt; li &gt; span:hover,
.pagination &gt; li &gt; a:focus,
.pagination &gt; li &gt; span:focus {
  z-index: 2;
  color: #23527c;
  background-color: #eeeeee;
  border-color: #ddd;
}
.pagination &gt; .active &gt; a,
.pagination &gt; .active &gt; span,
.pagination &gt; .active &gt; a:hover,
.pagination &gt; .active &gt; span:hover,
.pagination &gt; .active &gt; a:focus,
.pagination &gt; .active &gt; span:focus {
  z-index: 3;
  color: #fff;
  background-color: #337ab7;
  border-color: #337ab7;
  cursor: default;
}
.pagination &gt; .disabled &gt; span,
.pagination &gt; .disabled &gt; span:hover,
.pagination &gt; .disabled &gt; span:focus,
.pagination &gt; .disabled &gt; a,
.pagination &gt; .disabled &gt; a:hover,
.pagination &gt; .disabled &gt; a:focus {
  color: #777777;
  background-color: #fff;
  border-color: #ddd;
  cursor: not-allowed;
}
.pagination-lg &gt; li &gt; a,
.pagination-lg &gt; li &gt; span {
  padding: 10px 16px;
  font-size: 17px;
  line-height: 1.3333333;
}
.pagination-lg &gt; li:first-child &gt; a,
.pagination-lg &gt; li:first-child &gt; span {
  border-bottom-left-radius: 3px;
  border-top-left-radius: 3px;
}
.pagination-lg &gt; li:last-child &gt; a,
.pagination-lg &gt; li:last-child &gt; span {
  border-bottom-right-radius: 3px;
  border-top-right-radius: 3px;
}
.pagination-sm &gt; li &gt; a,
.pagination-sm &gt; li &gt; span {
  padding: 5px 10px;
  font-size: 12px;
  line-height: 1.5;
}
.pagination-sm &gt; li:first-child &gt; a,
.pagination-sm &gt; li:first-child &gt; span {
  border-bottom-left-radius: 1px;
  border-top-left-radius: 1px;
}
.pagination-sm &gt; li:last-child &gt; a,
.pagination-sm &gt; li:last-child &gt; span {
  border-bottom-right-radius: 1px;
  border-top-right-radius: 1px;
}
.pager {
  padding-left: 0;
  margin: 18px 0;
  list-style: none;
  text-align: center;
}
.pager li {
  display: inline;
}
.pager li &gt; a,
.pager li &gt; span {
  display: inline-block;
  padding: 5px 14px;
  background-color: #fff;
  border: 1px solid #ddd;
  border-radius: 15px;
}
.pager li &gt; a:hover,
.pager li &gt; a:focus {
  text-decoration: none;
  background-color: #eeeeee;
}
.pager .next &gt; a,
.pager .next &gt; span {
  float: right;
}
.pager .previous &gt; a,
.pager .previous &gt; span {
  float: left;
}
.pager .disabled &gt; a,
.pager .disabled &gt; a:hover,
.pager .disabled &gt; a:focus,
.pager .disabled &gt; span {
  color: #777777;
  background-color: #fff;
  cursor: not-allowed;
}
.label {
  display: inline;
  padding: .2em .6em .3em;
  font-size: 75%;
  font-weight: bold;
  line-height: 1;
  color: #fff;
  text-align: center;
  white-space: nowrap;
  vertical-align: baseline;
  border-radius: .25em;
}
a.label:hover,
a.label:focus {
  color: #fff;
  text-decoration: none;
  cursor: pointer;
}
.label:empty {
  display: none;
}
.btn .label {
  position: relative;
  top: -1px;
}
.label-default {
  background-color: #777777;
}
.label-default[href]:hover,
.label-default[href]:focus {
  background-color: #5e5e5e;
}
.label-primary {
  background-color: #337ab7;
}
.label-primary[href]:hover,
.label-primary[href]:focus {
  background-color: #286090;
}
.label-success {
  background-color: #5cb85c;
}
.label-success[href]:hover,
.label-success[href]:focus {
  background-color: #449d44;
}
.label-info {
  background-color: #5bc0de;
}
.label-info[href]:hover,
.label-info[href]:focus {
  background-color: #31b0d5;
}
.label-warning {
  background-color: #f0ad4e;
}
.label-warning[href]:hover,
.label-warning[href]:focus {
  background-color: #ec971f;
}
.label-danger {
  background-color: #d9534f;
}
.label-danger[href]:hover,
.label-danger[href]:focus {
  background-color: #c9302c;
}
.badge {
  display: inline-block;
  min-width: 10px;
  padding: 3px 7px;
  font-size: 12px;
  font-weight: bold;
  color: #fff;
  line-height: 1;
  vertical-align: middle;
  white-space: nowrap;
  text-align: center;
  background-color: #777777;
  border-radius: 10px;
}
.badge:empty {
  display: none;
}
.btn .badge {
  position: relative;
  top: -1px;
}
.btn-xs .badge,
.btn-group-xs &gt; .btn .badge {
  top: 0;
  padding: 1px 5px;
}
a.badge:hover,
a.badge:focus {
  color: #fff;
  text-decoration: none;
  cursor: pointer;
}
.list-group-item.active &gt; .badge,
.nav-pills &gt; .active &gt; a &gt; .badge {
  color: #337ab7;
  background-color: #fff;
}
.list-group-item &gt; .badge {
  float: right;
}
.list-group-item &gt; .badge + .badge {
  margin-right: 5px;
}
.nav-pills &gt; li &gt; a &gt; .badge {
  margin-left: 3px;
}
.jumbotron {
  padding-top: 30px;
  padding-bottom: 30px;
  margin-bottom: 30px;
  color: inherit;
  background-color: #eeeeee;
}
.jumbotron h1,
.jumbotron .h1 {
  color: inherit;
}
.jumbotron p {
  margin-bottom: 15px;
  font-size: 20px;
  font-weight: 200;
}
.jumbotron &gt; hr {
  border-top-color: #d5d5d5;
}
.container .jumbotron,
.container-fluid .jumbotron {
  border-radius: 3px;
  padding-left: 0px;
  padding-right: 0px;
}
.jumbotron .container {
  max-width: 100%;
}
@media screen and (min-width: 768px) {
  .jumbotron {
    padding-top: 48px;
    padding-bottom: 48px;
  }
  .container .jumbotron,
  .container-fluid .jumbotron {
    padding-left: 60px;
    padding-right: 60px;
  }
  .jumbotron h1,
  .jumbotron .h1 {
    font-size: 59px;
  }
}
.thumbnail {
  display: block;
  padding: 4px;
  margin-bottom: 18px;
  line-height: 1.42857143;
  background-color: #fff;
  border: 1px solid #ddd;
  border-radius: 2px;
  -webkit-transition: border 0.2s ease-in-out;
  -o-transition: border 0.2s ease-in-out;
  transition: border 0.2s ease-in-out;
}
.thumbnail &gt; img,
.thumbnail a &gt; img {
  margin-left: auto;
  margin-right: auto;
}
a.thumbnail:hover,
a.thumbnail:focus,
a.thumbnail.active {
  border-color: #337ab7;
}
.thumbnail .caption {
  padding: 9px;
  color: #000;
}
.alert {
  padding: 15px;
  margin-bottom: 18px;
  border: 1px solid transparent;
  border-radius: 2px;
}
.alert h4 {
  margin-top: 0;
  color: inherit;
}
.alert .alert-link {
  font-weight: bold;
}
.alert &gt; p,
.alert &gt; ul {
  margin-bottom: 0;
}
.alert &gt; p + p {
  margin-top: 5px;
}
.alert-dismissable,
.alert-dismissible {
  padding-right: 35px;
}
.alert-dismissable .close,
.alert-dismissible .close {
  position: relative;
  top: -2px;
  right: -21px;
  color: inherit;
}
.alert-success {
  background-color: #dff0d8;
  border-color: #d6e9c6;
  color: #3c763d;
}
.alert-success hr {
  border-top-color: #c9e2b3;
}
.alert-success .alert-link {
  color: #2b542c;
}
.alert-info {
  background-color: #d9edf7;
  border-color: #bce8f1;
  color: #31708f;
}
.alert-info hr {
  border-top-color: #a6e1ec;
}
.alert-info .alert-link {
  color: #245269;
}
.alert-warning {
  background-color: #fcf8e3;
  border-color: #faebcc;
  color: #8a6d3b;
}
.alert-warning hr {
  border-top-color: #f7e1b5;
}
.alert-warning .alert-link {
  color: #66512c;
}
.alert-danger {
  background-color: #f2dede;
  border-color: #ebccd1;
  color: #a94442;
}
.alert-danger hr {
  border-top-color: #e4b9c0;
}
.alert-danger .alert-link {
  color: #843534;
}
@-webkit-keyframes progress-bar-stripes {
  from {
    background-position: 40px 0;
  }
  to {
    background-position: 0 0;
  }
}
@keyframes progress-bar-stripes {
  from {
    background-position: 40px 0;
  }
  to {
    background-position: 0 0;
  }
}
.progress {
  overflow: hidden;
  height: 18px;
  margin-bottom: 18px;
  background-color: #f5f5f5;
  border-radius: 2px;
  -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
  box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
}
.progress-bar {
  float: left;
  width: 0%;
  height: 100%;
  font-size: 12px;
  line-height: 18px;
  color: #fff;
  text-align: center;
  background-color: #337ab7;
  -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);
  box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);
  -webkit-transition: width 0.6s ease;
  -o-transition: width 0.6s ease;
  transition: width 0.6s ease;
}
.progress-striped .progress-bar,
.progress-bar-striped {
  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-size: 40px 40px;
}
.progress.active .progress-bar,
.progress-bar.active {
  -webkit-animation: progress-bar-stripes 2s linear infinite;
  -o-animation: progress-bar-stripes 2s linear infinite;
  animation: progress-bar-stripes 2s linear infinite;
}
.progress-bar-success {
  background-color: #5cb85c;
}
.progress-striped .progress-bar-success {
  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
}
.progress-bar-info {
  background-color: #5bc0de;
}
.progress-striped .progress-bar-info {
  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
}
.progress-bar-warning {
  background-color: #f0ad4e;
}
.progress-striped .progress-bar-warning {
  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
}
.progress-bar-danger {
  background-color: #d9534f;
}
.progress-striped .progress-bar-danger {
  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
}
.media {
  margin-top: 15px;
}
.media:first-child {
  margin-top: 0;
}
.media,
.media-body {
  zoom: 1;
  overflow: hidden;
}
.media-body {
  width: 10000px;
}
.media-object {
  display: block;
}
.media-object.img-thumbnail {
  max-width: none;
}
.media-right,
.media &gt; .pull-right {
  padding-left: 10px;
}
.media-left,
.media &gt; .pull-left {
  padding-right: 10px;
}
.media-left,
.media-right,
.media-body {
  display: table-cell;
  vertical-align: top;
}
.media-middle {
  vertical-align: middle;
}
.media-bottom {
  vertical-align: bottom;
}
.media-heading {
  margin-top: 0;
  margin-bottom: 5px;
}
.media-list {
  padding-left: 0;
  list-style: none;
}
.list-group {
  margin-bottom: 20px;
  padding-left: 0;
}
.list-group-item {
  position: relative;
  display: block;
  padding: 10px 15px;
  margin-bottom: -1px;
  background-color: #fff;
  border: 1px solid #ddd;
}
.list-group-item:first-child {
  border-top-right-radius: 2px;
  border-top-left-radius: 2px;
}
.list-group-item:last-child {
  margin-bottom: 0;
  border-bottom-right-radius: 2px;
  border-bottom-left-radius: 2px;
}
a.list-group-item,
button.list-group-item {
  color: #555;
}
a.list-group-item .list-group-item-heading,
button.list-group-item .list-group-item-heading {
  color: #333;
}
a.list-group-item:hover,
button.list-group-item:hover,
a.list-group-item:focus,
button.list-group-item:focus {
  text-decoration: none;
  color: #555;
  background-color: #f5f5f5;
}
button.list-group-item {
  width: 100%;
  text-align: left;
}
.list-group-item.disabled,
.list-group-item.disabled:hover,
.list-group-item.disabled:focus {
  background-color: #eeeeee;
  color: #777777;
  cursor: not-allowed;
}
.list-group-item.disabled .list-group-item-heading,
.list-group-item.disabled:hover .list-group-item-heading,
.list-group-item.disabled:focus .list-group-item-heading {
  color: inherit;
}
.list-group-item.disabled .list-group-item-text,
.list-group-item.disabled:hover .list-group-item-text,
.list-group-item.disabled:focus .list-group-item-text {
  color: #777777;
}
.list-group-item.active,
.list-group-item.active:hover,
.list-group-item.active:focus {
  z-index: 2;
  color: #fff;
  background-color: #337ab7;
  border-color: #337ab7;
}
.list-group-item.active .list-group-item-heading,
.list-group-item.active:hover .list-group-item-heading,
.list-group-item.active:focus .list-group-item-heading,
.list-group-item.active .list-group-item-heading &gt; small,
.list-group-item.active:hover .list-group-item-heading &gt; small,
.list-group-item.active:focus .list-group-item-heading &gt; small,
.list-group-item.active .list-group-item-heading &gt; .small,
.list-group-item.active:hover .list-group-item-heading &gt; .small,
.list-group-item.active:focus .list-group-item-heading &gt; .small {
  color: inherit;
}
.list-group-item.active .list-group-item-text,
.list-group-item.active:hover .list-group-item-text,
.list-group-item.active:focus .list-group-item-text {
  color: #c7ddef;
}
.list-group-item-success {
  color: #3c763d;
  background-color: #dff0d8;
}
a.list-group-item-success,
button.list-group-item-success {
  color: #3c763d;
}
a.list-group-item-success .list-group-item-heading,
button.list-group-item-success .list-group-item-heading {
  color: inherit;
}
a.list-group-item-success:hover,
button.list-group-item-success:hover,
a.list-group-item-success:focus,
button.list-group-item-success:focus {
  color: #3c763d;
  background-color: #d0e9c6;
}
a.list-group-item-success.active,
button.list-group-item-success.active,
a.list-group-item-success.active:hover,
button.list-group-item-success.active:hover,
a.list-group-item-success.active:focus,
button.list-group-item-success.active:focus {
  color: #fff;
  background-color: #3c763d;
  border-color: #3c763d;
}
.list-group-item-info {
  color: #31708f;
  background-color: #d9edf7;
}
a.list-group-item-info,
button.list-group-item-info {
  color: #31708f;
}
a.list-group-item-info .list-group-item-heading,
button.list-group-item-info .list-group-item-heading {
  color: inherit;
}
a.list-group-item-info:hover,
button.list-group-item-info:hover,
a.list-group-item-info:focus,
button.list-group-item-info:focus {
  color: #31708f;
  background-color: #c4e3f3;
}
a.list-group-item-info.active,
button.list-group-item-info.active,
a.list-group-item-info.active:hover,
button.list-group-item-info.active:hover,
a.list-group-item-info.active:focus,
button.list-group-item-info.active:focus {
  color: #fff;
  background-color: #31708f;
  border-color: #31708f;
}
.list-group-item-warning {
  color: #8a6d3b;
  background-color: #fcf8e3;
}
a.list-group-item-warning,
button.list-group-item-warning {
  color: #8a6d3b;
}
a.list-group-item-warning .list-group-item-heading,
button.list-group-item-warning .list-group-item-heading {
  color: inherit;
}
a.list-group-item-warning:hover,
button.list-group-item-warning:hover,
a.list-group-item-warning:focus,
button.list-group-item-warning:focus {
  color: #8a6d3b;
  background-color: #faf2cc;
}
a.list-group-item-warning.active,
button.list-group-item-warning.active,
a.list-group-item-warning.active:hover,
button.list-group-item-warning.active:hover,
a.list-group-item-warning.active:focus,
button.list-group-item-warning.active:focus {
  color: #fff;
  background-color: #8a6d3b;
  border-color: #8a6d3b;
}
.list-group-item-danger {
  color: #a94442;
  background-color: #f2dede;
}
a.list-group-item-danger,
button.list-group-item-danger {
  color: #a94442;
}
a.list-group-item-danger .list-group-item-heading,
button.list-group-item-danger .list-group-item-heading {
  color: inherit;
}
a.list-group-item-danger:hover,
button.list-group-item-danger:hover,
a.list-group-item-danger:focus,
button.list-group-item-danger:focus {
  color: #a94442;
  background-color: #ebcccc;
}
a.list-group-item-danger.active,
button.list-group-item-danger.active,
a.list-group-item-danger.active:hover,
button.list-group-item-danger.active:hover,
a.list-group-item-danger.active:focus,
button.list-group-item-danger.active:focus {
  color: #fff;
  background-color: #a94442;
  border-color: #a94442;
}
.list-group-item-heading {
  margin-top: 0;
  margin-bottom: 5px;
}
.list-group-item-text {
  margin-bottom: 0;
  line-height: 1.3;
}
.panel {
  margin-bottom: 18px;
  background-color: #fff;
  border: 1px solid transparent;
  border-radius: 2px;
  -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05);
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05);
}
.panel-body {
  padding: 15px;
}
.panel-heading {
  padding: 10px 15px;
  border-bottom: 1px solid transparent;
  border-top-right-radius: 1px;
  border-top-left-radius: 1px;
}
.panel-heading &gt; .dropdown .dropdown-toggle {
  color: inherit;
}
.panel-title {
  margin-top: 0;
  margin-bottom: 0;
  font-size: 15px;
  color: inherit;
}
.panel-title &gt; a,
.panel-title &gt; small,
.panel-title &gt; .small,
.panel-title &gt; small &gt; a,
.panel-title &gt; .small &gt; a {
  color: inherit;
}
.panel-footer {
  padding: 10px 15px;
  background-color: #f5f5f5;
  border-top: 1px solid #ddd;
  border-bottom-right-radius: 1px;
  border-bottom-left-radius: 1px;
}
.panel &gt; .list-group,
.panel &gt; .panel-collapse &gt; .list-group {
  margin-bottom: 0;
}
.panel &gt; .list-group .list-group-item,
.panel &gt; .panel-collapse &gt; .list-group .list-group-item {
  border-width: 1px 0;
  border-radius: 0;
}
.panel &gt; .list-group:first-child .list-group-item:first-child,
.panel &gt; .panel-collapse &gt; .list-group:first-child .list-group-item:first-child {
  border-top: 0;
  border-top-right-radius: 1px;
  border-top-left-radius: 1px;
}
.panel &gt; .list-group:last-child .list-group-item:last-child,
.panel &gt; .panel-collapse &gt; .list-group:last-child .list-group-item:last-child {
  border-bottom: 0;
  border-bottom-right-radius: 1px;
  border-bottom-left-radius: 1px;
}
.panel &gt; .panel-heading + .panel-collapse &gt; .list-group .list-group-item:first-child {
  border-top-right-radius: 0;
  border-top-left-radius: 0;
}
.panel-heading + .list-group .list-group-item:first-child {
  border-top-width: 0;
}
.list-group + .panel-footer {
  border-top-width: 0;
}
.panel &gt; .table,
.panel &gt; .table-responsive &gt; .table,
.panel &gt; .panel-collapse &gt; .table {
  margin-bottom: 0;
}
.panel &gt; .table caption,
.panel &gt; .table-responsive &gt; .table caption,
.panel &gt; .panel-collapse &gt; .table caption {
  padding-left: 15px;
  padding-right: 15px;
}
.panel &gt; .table:first-child,
.panel &gt; .table-responsive:first-child &gt; .table:first-child {
  border-top-right-radius: 1px;
  border-top-left-radius: 1px;
}
.panel &gt; .table:first-child &gt; thead:first-child &gt; tr:first-child,
.panel &gt; .table-responsive:first-child &gt; .table:first-child &gt; thead:first-child &gt; tr:first-child,
.panel &gt; .table:first-child &gt; tbody:first-child &gt; tr:first-child,
.panel &gt; .table-responsive:first-child &gt; .table:first-child &gt; tbody:first-child &gt; tr:first-child {
  border-top-left-radius: 1px;
  border-top-right-radius: 1px;
}
.panel &gt; .table:first-child &gt; thead:first-child &gt; tr:first-child td:first-child,
.panel &gt; .table-responsive:first-child &gt; .table:first-child &gt; thead:first-child &gt; tr:first-child td:first-child,
.panel &gt; .table:first-child &gt; tbody:first-child &gt; tr:first-child td:first-child,
.panel &gt; .table-responsive:first-child &gt; .table:first-child &gt; tbody:first-child &gt; tr:first-child td:first-child,
.panel &gt; .table:first-child &gt; thead:first-child &gt; tr:first-child th:first-child,
.panel &gt; .table-responsive:first-child &gt; .table:first-child &gt; thead:first-child &gt; tr:first-child th:first-child,
.panel &gt; .table:first-child &gt; tbody:first-child &gt; tr:first-child th:first-child,
.panel &gt; .table-responsive:first-child &gt; .table:first-child &gt; tbody:first-child &gt; tr:first-child th:first-child {
  border-top-left-radius: 1px;
}
.panel &gt; .table:first-child &gt; thead:first-child &gt; tr:first-child td:last-child,
.panel &gt; .table-responsive:first-child &gt; .table:first-child &gt; thead:first-child &gt; tr:first-child td:last-child,
.panel &gt; .table:first-child &gt; tbody:first-child &gt; tr:first-child td:last-child,
.panel &gt; .table-responsive:first-child &gt; .table:first-child &gt; tbody:first-child &gt; tr:first-child td:last-child,
.panel &gt; .table:first-child &gt; thead:first-child &gt; tr:first-child th:last-child,
.panel &gt; .table-responsive:first-child &gt; .table:first-child &gt; thead:first-child &gt; tr:first-child th:last-child,
.panel &gt; .table:first-child &gt; tbody:first-child &gt; tr:first-child th:last-child,
.panel &gt; .table-responsive:first-child &gt; .table:first-child &gt; tbody:first-child &gt; tr:first-child th:last-child {
  border-top-right-radius: 1px;
}
.panel &gt; .table:last-child,
.panel &gt; .table-responsive:last-child &gt; .table:last-child {
  border-bottom-right-radius: 1px;
  border-bottom-left-radius: 1px;
}
.panel &gt; .table:last-child &gt; tbody:last-child &gt; tr:last-child,
.panel &gt; .table-responsive:last-child &gt; .table:last-child &gt; tbody:last-child &gt; tr:last-child,
.panel &gt; .table:last-child &gt; tfoot:last-child &gt; tr:last-child,
.panel &gt; .table-responsive:last-child &gt; .table:last-child &gt; tfoot:last-child &gt; tr:last-child {
  border-bottom-left-radius: 1px;
  border-bottom-right-radius: 1px;
}
.panel &gt; .table:last-child &gt; tbody:last-child &gt; tr:last-child td:first-child,
.panel &gt; .table-responsive:last-child &gt; .table:last-child &gt; tbody:last-child &gt; tr:last-child td:first-child,
.panel &gt; .table:last-child &gt; tfoot:last-child &gt; tr:last-child td:first-child,
.panel &gt; .table-responsive:last-child &gt; .table:last-child &gt; tfoot:last-child &gt; tr:last-child td:first-child,
.panel &gt; .table:last-child &gt; tbody:last-child &gt; tr:last-child th:first-child,
.panel &gt; .table-responsive:last-child &gt; .table:last-child &gt; tbody:last-child &gt; tr:last-child th:first-child,
.panel &gt; .table:last-child &gt; tfoot:last-child &gt; tr:last-child th:first-child,
.panel &gt; .table-responsive:last-child &gt; .table:last-child &gt; tfoot:last-child &gt; tr:last-child th:first-child {
  border-bottom-left-radius: 1px;
}
.panel &gt; .table:last-child &gt; tbody:last-child &gt; tr:last-child td:last-child,
.panel &gt; .table-responsive:last-child &gt; .table:last-child &gt; tbody:last-child &gt; tr:last-child td:last-child,
.panel &gt; .table:last-child &gt; tfoot:last-child &gt; tr:last-child td:last-child,
.panel &gt; .table-responsive:last-child &gt; .table:last-child &gt; tfoot:last-child &gt; tr:last-child td:last-child,
.panel &gt; .table:last-child &gt; tbody:last-child &gt; tr:last-child th:last-child,
.panel &gt; .table-responsive:last-child &gt; .table:last-child &gt; tbody:last-child &gt; tr:last-child th:last-child,
.panel &gt; .table:last-child &gt; tfoot:last-child &gt; tr:last-child th:last-child,
.panel &gt; .table-responsive:last-child &gt; .table:last-child &gt; tfoot:last-child &gt; tr:last-child th:last-child {
  border-bottom-right-radius: 1px;
}
.panel &gt; .panel-body + .table,
.panel &gt; .panel-body + .table-responsive,
.panel &gt; .table + .panel-body,
.panel &gt; .table-responsive + .panel-body {
  border-top: 1px solid #ddd;
}
.panel &gt; .table &gt; tbody:first-child &gt; tr:first-child th,
.panel &gt; .table &gt; tbody:first-child &gt; tr:first-child td {
  border-top: 0;
}
.panel &gt; .table-bordered,
.panel &gt; .table-responsive &gt; .table-bordered {
  border: 0;
}
.panel &gt; .table-bordered &gt; thead &gt; tr &gt; th:first-child,
.panel &gt; .table-responsive &gt; .table-bordered &gt; thead &gt; tr &gt; th:first-child,
.panel &gt; .table-bordered &gt; tbody &gt; tr &gt; th:first-child,
.panel &gt; .table-responsive &gt; .table-bordered &gt; tbody &gt; tr &gt; th:first-child,
.panel &gt; .table-bordered &gt; tfoot &gt; tr &gt; th:first-child,
.panel &gt; .table-responsive &gt; .table-bordered &gt; tfoot &gt; tr &gt; th:first-child,
.panel &gt; .table-bordered &gt; thead &gt; tr &gt; td:first-child,
.panel &gt; .table-responsive &gt; .table-bordered &gt; thead &gt; tr &gt; td:first-child,
.panel &gt; .table-bordered &gt; tbody &gt; tr &gt; td:first-child,
.panel &gt; .table-responsive &gt; .table-bordered &gt; tbody &gt; tr &gt; td:first-child,
.panel &gt; .table-bordered &gt; tfoot &gt; tr &gt; td:first-child,
.panel &gt; .table-responsive &gt; .table-bordered &gt; tfoot &gt; tr &gt; td:first-child {
  border-left: 0;
}
.panel &gt; .table-bordered &gt; thead &gt; tr &gt; th:last-child,
.panel &gt; .table-responsive &gt; .table-bordered &gt; thead &gt; tr &gt; th:last-child,
.panel &gt; .table-bordered &gt; tbody &gt; tr &gt; th:last-child,
.panel &gt; .table-responsive &gt; .table-bordered &gt; tbody &gt; tr &gt; th:last-child,
.panel &gt; .table-bordered &gt; tfoot &gt; tr &gt; th:last-child,
.panel &gt; .table-responsive &gt; .table-bordered &gt; tfoot &gt; tr &gt; th:last-child,
.panel &gt; .table-bordered &gt; thead &gt; tr &gt; td:last-child,
.panel &gt; .table-responsive &gt; .table-bordered &gt; thead &gt; tr &gt; td:last-child,
.panel &gt; .table-bordered &gt; tbody &gt; tr &gt; td:last-child,
.panel &gt; .table-responsive &gt; .table-bordered &gt; tbody &gt; tr &gt; td:last-child,
.panel &gt; .table-bordered &gt; tfoot &gt; tr &gt; td:last-child,
.panel &gt; .table-responsive &gt; .table-bordered &gt; tfoot &gt; tr &gt; td:last-child {
  border-right: 0;
}
.panel &gt; .table-bordered &gt; thead &gt; tr:first-child &gt; td,
.panel &gt; .table-responsive &gt; .table-bordered &gt; thead &gt; tr:first-child &gt; td,
.panel &gt; .table-bordered &gt; tbody &gt; tr:first-child &gt; td,
.panel &gt; .table-responsive &gt; .table-bordered &gt; tbody &gt; tr:first-child &gt; td,
.panel &gt; .table-bordered &gt; thead &gt; tr:first-child &gt; th,
.panel &gt; .table-responsive &gt; .table-bordered &gt; thead &gt; tr:first-child &gt; th,
.panel &gt; .table-bordered &gt; tbody &gt; tr:first-child &gt; th,
.panel &gt; .table-responsive &gt; .table-bordered &gt; tbody &gt; tr:first-child &gt; th {
  border-bottom: 0;
}
.panel &gt; .table-bordered &gt; tbody &gt; tr:last-child &gt; td,
.panel &gt; .table-responsive &gt; .table-bordered &gt; tbody &gt; tr:last-child &gt; td,
.panel &gt; .table-bordered &gt; tfoot &gt; tr:last-child &gt; td,
.panel &gt; .table-responsive &gt; .table-bordered &gt; tfoot &gt; tr:last-child &gt; td,
.panel &gt; .table-bordered &gt; tbody &gt; tr:last-child &gt; th,
.panel &gt; .table-responsive &gt; .table-bordered &gt; tbody &gt; tr:last-child &gt; th,
.panel &gt; .table-bordered &gt; tfoot &gt; tr:last-child &gt; th,
.panel &gt; .table-responsive &gt; .table-bordered &gt; tfoot &gt; tr:last-child &gt; th {
  border-bottom: 0;
}
.panel &gt; .table-responsive {
  border: 0;
  margin-bottom: 0;
}
.panel-group {
  margin-bottom: 18px;
}
.panel-group .panel {
  margin-bottom: 0;
  border-radius: 2px;
}
.panel-group .panel + .panel {
  margin-top: 5px;
}
.panel-group .panel-heading {
  border-bottom: 0;
}
.panel-group .panel-heading + .panel-collapse &gt; .panel-body,
.panel-group .panel-heading + .panel-collapse &gt; .list-group {
  border-top: 1px solid #ddd;
}
.panel-group .panel-footer {
  border-top: 0;
}
.panel-group .panel-footer + .panel-collapse .panel-body {
  border-bottom: 1px solid #ddd;
}
.panel-default {
  border-color: #ddd;
}
.panel-default &gt; .panel-heading {
  color: #333333;
  background-color: #f5f5f5;
  border-color: #ddd;
}
.panel-default &gt; .panel-heading + .panel-collapse &gt; .panel-body {
  border-top-color: #ddd;
}
.panel-default &gt; .panel-heading .badge {
  color: #f5f5f5;
  background-color: #333333;
}
.panel-default &gt; .panel-footer + .panel-collapse &gt; .panel-body {
  border-bottom-color: #ddd;
}
.panel-primary {
  border-color: #337ab7;
}
.panel-primary &gt; .panel-heading {
  color: #fff;
  background-color: #337ab7;
  border-color: #337ab7;
}
.panel-primary &gt; .panel-heading + .panel-collapse &gt; .panel-body {
  border-top-color: #337ab7;
}
.panel-primary &gt; .panel-heading .badge {
  color: #337ab7;
  background-color: #fff;
}
.panel-primary &gt; .panel-footer + .panel-collapse &gt; .panel-body {
  border-bottom-color: #337ab7;
}
.panel-success {
  border-color: #d6e9c6;
}
.panel-success &gt; .panel-heading {
  color: #3c763d;
  background-color: #dff0d8;
  border-color: #d6e9c6;
}
.panel-success &gt; .panel-heading + .panel-collapse &gt; .panel-body {
  border-top-color: #d6e9c6;
}
.panel-success &gt; .panel-heading .badge {
  color: #dff0d8;
  background-color: #3c763d;
}
.panel-success &gt; .panel-footer + .panel-collapse &gt; .panel-body {
  border-bottom-color: #d6e9c6;
}
.panel-info {
  border-color: #bce8f1;
}
.panel-info &gt; .panel-heading {
  color: #31708f;
  background-color: #d9edf7;
  border-color: #bce8f1;
}
.panel-info &gt; .panel-heading + .panel-collapse &gt; .panel-body {
  border-top-color: #bce8f1;
}
.panel-info &gt; .panel-heading .badge {
  color: #d9edf7;
  background-color: #31708f;
}
.panel-info &gt; .panel-footer + .panel-collapse &gt; .panel-body {
  border-bottom-color: #bce8f1;
}
.panel-warning {
  border-color: #faebcc;
}
.panel-warning &gt; .panel-heading {
  color: #8a6d3b;
  background-color: #fcf8e3;
  border-color: #faebcc;
}
.panel-warning &gt; .panel-heading + .panel-collapse &gt; .panel-body {
  border-top-color: #faebcc;
}
.panel-warning &gt; .panel-heading .badge {
  color: #fcf8e3;
  background-color: #8a6d3b;
}
.panel-warning &gt; .panel-footer + .panel-collapse &gt; .panel-body {
  border-bottom-color: #faebcc;
}
.panel-danger {
  border-color: #ebccd1;
}
.panel-danger &gt; .panel-heading {
  color: #a94442;
  background-color: #f2dede;
  border-color: #ebccd1;
}
.panel-danger &gt; .panel-heading + .panel-collapse &gt; .panel-body {
  border-top-color: #ebccd1;
}
.panel-danger &gt; .panel-heading .badge {
  color: #f2dede;
  background-color: #a94442;
}
.panel-danger &gt; .panel-footer + .panel-collapse &gt; .panel-body {
  border-bottom-color: #ebccd1;
}
.embed-responsive {
  position: relative;
  display: block;
  height: 0;
  padding: 0;
  overflow: hidden;
}
.embed-responsive .embed-responsive-item,
.embed-responsive iframe,
.embed-responsive embed,
.embed-responsive object,
.embed-responsive video {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  height: 100%;
  width: 100%;
  border: 0;
}
.embed-responsive-16by9 {
  padding-bottom: 56.25%;
}
.embed-responsive-4by3 {
  padding-bottom: 75%;
}
.well {
  min-height: 20px;
  padding: 19px;
  margin-bottom: 20px;
  background-color: #f5f5f5;
  border: 1px solid #e3e3e3;
  border-radius: 2px;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);
}
.well blockquote {
  border-color: #ddd;
  border-color: rgba(0, 0, 0, 0.15);
}
.well-lg {
  padding: 24px;
  border-radius: 3px;
}
.well-sm {
  padding: 9px;
  border-radius: 1px;
}
.close {
  float: right;
  font-size: 19.5px;
  font-weight: bold;
  line-height: 1;
  color: #000;
  text-shadow: 0 1px 0 #fff;
  opacity: 0.2;
  filter: alpha(opacity=20);
}
.close:hover,
.close:focus {
  color: #000;
  text-decoration: none;
  cursor: pointer;
  opacity: 0.5;
  filter: alpha(opacity=50);
}
button.close {
  padding: 0;
  cursor: pointer;
  background: transparent;
  border: 0;
  -webkit-appearance: none;
}
.modal-open {
  overflow: hidden;
}
.modal {
  display: none;
  overflow: hidden;
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1050;
  -webkit-overflow-scrolling: touch;
  outline: 0;
}
.modal.fade .modal-dialog {
  -webkit-transform: translate(0, -25%);
  -ms-transform: translate(0, -25%);
  -o-transform: translate(0, -25%);
  transform: translate(0, -25%);
  -webkit-transition: -webkit-transform 0.3s ease-out;
  -moz-transition: -moz-transform 0.3s ease-out;
  -o-transition: -o-transform 0.3s ease-out;
  transition: transform 0.3s ease-out;
}
.modal.in .modal-dialog {
  -webkit-transform: translate(0, 0);
  -ms-transform: translate(0, 0);
  -o-transform: translate(0, 0);
  transform: translate(0, 0);
}
.modal-open .modal {
  overflow-x: hidden;
  overflow-y: auto;
}
.modal-dialog {
  position: relative;
  width: auto;
  margin: 10px;
}
.modal-content {
  position: relative;
  background-color: #fff;
  border: 1px solid #999;
  border: 1px solid rgba(0, 0, 0, 0.2);
  border-radius: 3px;
  -webkit-box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5);
  box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5);
  background-clip: padding-box;
  outline: 0;
}
.modal-backdrop {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1040;
  background-color: #000;
}
.modal-backdrop.fade {
  opacity: 0;
  filter: alpha(opacity=0);
}
.modal-backdrop.in {
  opacity: 0.5;
  filter: alpha(opacity=50);
}
.modal-header {
  padding: 15px;
  border-bottom: 1px solid #e5e5e5;
}
.modal-header .close {
  margin-top: -2px;
}
.modal-title {
  margin: 0;
  line-height: 1.42857143;
}
.modal-body {
  position: relative;
  padding: 15px;
}
.modal-footer {
  padding: 15px;
  text-align: right;
  border-top: 1px solid #e5e5e5;
}
.modal-footer .btn + .btn {
  margin-left: 5px;
  margin-bottom: 0;
}
.modal-footer .btn-group .btn + .btn {
  margin-left: -1px;
}
.modal-footer .btn-block + .btn-block {
  margin-left: 0;
}
.modal-scrollbar-measure {
  position: absolute;
  top: -9999px;
  width: 50px;
  height: 50px;
  overflow: scroll;
}
@media (min-width: 768px) {
  .modal-dialog {
    width: 600px;
    margin: 30px auto;
  }
  .modal-content {
    -webkit-box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5);
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5);
  }
  .modal-sm {
    width: 300px;
  }
}
@media (min-width: 992px) {
  .modal-lg {
    width: 900px;
  }
}
.tooltip {
  position: absolute;
  z-index: 1070;
  display: block;
  font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, sans-serif;
  font-style: normal;
  font-weight: normal;
  letter-spacing: normal;
  line-break: auto;
  line-height: 1.42857143;
  text-align: left;
  text-align: start;
  text-decoration: none;
  text-shadow: none;
  text-transform: none;
  white-space: normal;
  word-break: normal;
  word-spacing: normal;
  word-wrap: normal;
  font-size: 12px;
  opacity: 0;
  filter: alpha(opacity=0);
}
.tooltip.in {
  opacity: 0.9;
  filter: alpha(opacity=90);
}
.tooltip.top {
  margin-top: -3px;
  padding: 5px 0;
}
.tooltip.right {
  margin-left: 3px;
  padding: 0 5px;
}
.tooltip.bottom {
  margin-top: 3px;
  padding: 5px 0;
}
.tooltip.left {
  margin-left: -3px;
  padding: 0 5px;
}
.tooltip-inner {
  max-width: 200px;
  padding: 3px 8px;
  color: #fff;
  text-align: center;
  background-color: #000;
  border-radius: 2px;
}
.tooltip-arrow {
  position: absolute;
  width: 0;
  height: 0;
  border-color: transparent;
  border-style: solid;
}
.tooltip.top .tooltip-arrow {
  bottom: 0;
  left: 50%;
  margin-left: -5px;
  border-width: 5px 5px 0;
  border-top-color: #000;
}
.tooltip.top-left .tooltip-arrow {
  bottom: 0;
  right: 5px;
  margin-bottom: -5px;
  border-width: 5px 5px 0;
  border-top-color: #000;
}
.tooltip.top-right .tooltip-arrow {
  bottom: 0;
  left: 5px;
  margin-bottom: -5px;
  border-width: 5px 5px 0;
  border-top-color: #000;
}
.tooltip.right .tooltip-arrow {
  top: 50%;
  left: 0;
  margin-top: -5px;
  border-width: 5px 5px 5px 0;
  border-right-color: #000;
}
.tooltip.left .tooltip-arrow {
  top: 50%;
  right: 0;
  margin-top: -5px;
  border-width: 5px 0 5px 5px;
  border-left-color: #000;
}
.tooltip.bottom .tooltip-arrow {
  top: 0;
  left: 50%;
  margin-left: -5px;
  border-width: 0 5px 5px;
  border-bottom-color: #000;
}
.tooltip.bottom-left .tooltip-arrow {
  top: 0;
  right: 5px;
  margin-top: -5px;
  border-width: 0 5px 5px;
  border-bottom-color: #000;
}
.tooltip.bottom-right .tooltip-arrow {
  top: 0;
  left: 5px;
  margin-top: -5px;
  border-width: 0 5px 5px;
  border-bottom-color: #000;
}
.popover {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1060;
  display: none;
  max-width: 276px;
  padding: 1px;
  font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, sans-serif;
  font-style: normal;
  font-weight: normal;
  letter-spacing: normal;
  line-break: auto;
  line-height: 1.42857143;
  text-align: left;
  text-align: start;
  text-decoration: none;
  text-shadow: none;
  text-transform: none;
  white-space: normal;
  word-break: normal;
  word-spacing: normal;
  word-wrap: normal;
  font-size: 13px;
  background-color: #fff;
  background-clip: padding-box;
  border: 1px solid #ccc;
  border: 1px solid rgba(0, 0, 0, 0.2);
  border-radius: 3px;
  -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
  box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
}
.popover.top {
  margin-top: -10px;
}
.popover.right {
  margin-left: 10px;
}
.popover.bottom {
  margin-top: 10px;
}
.popover.left {
  margin-left: -10px;
}
.popover-title {
  margin: 0;
  padding: 8px 14px;
  font-size: 13px;
  background-color: #f7f7f7;
  border-bottom: 1px solid #ebebeb;
  border-radius: 2px 2px 0 0;
}
.popover-content {
  padding: 9px 14px;
}
.popover &gt; .arrow,
.popover &gt; .arrow:after {
  position: absolute;
  display: block;
  width: 0;
  height: 0;
  border-color: transparent;
  border-style: solid;
}
.popover &gt; .arrow {
  border-width: 11px;
}
.popover &gt; .arrow:after {
  border-width: 10px;
  content: &quot;&quot;;
}
.popover.top &gt; .arrow {
  left: 50%;
  margin-left: -11px;
  border-bottom-width: 0;
  border-top-color: #999999;
  border-top-color: rgba(0, 0, 0, 0.25);
  bottom: -11px;
}
.popover.top &gt; .arrow:after {
  content: &quot; &quot;;
  bottom: 1px;
  margin-left: -10px;
  border-bottom-width: 0;
  border-top-color: #fff;
}
.popover.right &gt; .arrow {
  top: 50%;
  left: -11px;
  margin-top: -11px;
  border-left-width: 0;
  border-right-color: #999999;
  border-right-color: rgba(0, 0, 0, 0.25);
}
.popover.right &gt; .arrow:after {
  content: &quot; &quot;;
  left: 1px;
  bottom: -10px;
  border-left-width: 0;
  border-right-color: #fff;
}
.popover.bottom &gt; .arrow {
  left: 50%;
  margin-left: -11px;
  border-top-width: 0;
  border-bottom-color: #999999;
  border-bottom-color: rgba(0, 0, 0, 0.25);
  top: -11px;
}
.popover.bottom &gt; .arrow:after {
  content: &quot; &quot;;
  top: 1px;
  margin-left: -10px;
  border-top-width: 0;
  border-bottom-color: #fff;
}
.popover.left &gt; .arrow {
  top: 50%;
  right: -11px;
  margin-top: -11px;
  border-right-width: 0;
  border-left-color: #999999;
  border-left-color: rgba(0, 0, 0, 0.25);
}
.popover.left &gt; .arrow:after {
  content: &quot; &quot;;
  right: 1px;
  border-right-width: 0;
  border-left-color: #fff;
  bottom: -10px;
}
.carousel {
  position: relative;
}
.carousel-inner {
  position: relative;
  overflow: hidden;
  width: 100%;
}
.carousel-inner &gt; .item {
  display: none;
  position: relative;
  -webkit-transition: 0.6s ease-in-out left;
  -o-transition: 0.6s ease-in-out left;
  transition: 0.6s ease-in-out left;
}
.carousel-inner &gt; .item &gt; img,
.carousel-inner &gt; .item &gt; a &gt; img {
  line-height: 1;
}
@media all and (transform-3d), (-webkit-transform-3d) {
  .carousel-inner &gt; .item {
    -webkit-transition: -webkit-transform 0.6s ease-in-out;
    -moz-transition: -moz-transform 0.6s ease-in-out;
    -o-transition: -o-transform 0.6s ease-in-out;
    transition: transform 0.6s ease-in-out;
    -webkit-backface-visibility: hidden;
    -moz-backface-visibility: hidden;
    backface-visibility: hidden;
    -webkit-perspective: 1000px;
    -moz-perspective: 1000px;
    perspective: 1000px;
  }
  .carousel-inner &gt; .item.next,
  .carousel-inner &gt; .item.active.right {
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
    left: 0;
  }
  .carousel-inner &gt; .item.prev,
  .carousel-inner &gt; .item.active.left {
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
    left: 0;
  }
  .carousel-inner &gt; .item.next.left,
  .carousel-inner &gt; .item.prev.right,
  .carousel-inner &gt; .item.active {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    left: 0;
  }
}
.carousel-inner &gt; .active,
.carousel-inner &gt; .next,
.carousel-inner &gt; .prev {
  display: block;
}
.carousel-inner &gt; .active {
  left: 0;
}
.carousel-inner &gt; .next,
.carousel-inner &gt; .prev {
  position: absolute;
  top: 0;
  width: 100%;
}
.carousel-inner &gt; .next {
  left: 100%;
}
.carousel-inner &gt; .prev {
  left: -100%;
}
.carousel-inner &gt; .next.left,
.carousel-inner &gt; .prev.right {
  left: 0;
}
.carousel-inner &gt; .active.left {
  left: -100%;
}
.carousel-inner &gt; .active.right {
  left: 100%;
}
.carousel-control {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  width: 15%;
  opacity: 0.5;
  filter: alpha(opacity=50);
  font-size: 20px;
  color: #fff;
  text-align: center;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6);
  background-color: rgba(0, 0, 0, 0);
}
.carousel-control.left {
  background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%);
  background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%);
  background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%);
  background-repeat: repeat-x;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1);
}
.carousel-control.right {
  left: auto;
  right: 0;
  background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%);
  background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%);
  background-image: linear-gradient(to right, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%);
  background-repeat: repeat-x;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1);
}
.carousel-control:hover,
.carousel-control:focus {
  outline: 0;
  color: #fff;
  text-decoration: none;
  opacity: 0.9;
  filter: alpha(opacity=90);
}
.carousel-control .icon-prev,
.carousel-control .icon-next,
.carousel-control .glyphicon-chevron-left,
.carousel-control .glyphicon-chevron-right {
  position: absolute;
  top: 50%;
  margin-top: -10px;
  z-index: 5;
  display: inline-block;
}
.carousel-control .icon-prev,
.carousel-control .glyphicon-chevron-left {
  left: 50%;
  margin-left: -10px;
}
.carousel-control .icon-next,
.carousel-control .glyphicon-chevron-right {
  right: 50%;
  margin-right: -10px;
}
.carousel-control .icon-prev,
.carousel-control .icon-next {
  width: 20px;
  height: 20px;
  line-height: 1;
  font-family: serif;
}
.carousel-control .icon-prev:before {
  content: '\2039';
}
.carousel-control .icon-next:before {
  content: '\203a';
}
.carousel-indicators {
  position: absolute;
  bottom: 10px;
  left: 50%;
  z-index: 15;
  width: 60%;
  margin-left: -30%;
  padding-left: 0;
  list-style: none;
  text-align: center;
}
.carousel-indicators li {
  display: inline-block;
  width: 10px;
  height: 10px;
  margin: 1px;
  text-indent: -999px;
  border: 1px solid #fff;
  border-radius: 10px;
  cursor: pointer;
  background-color: #000 \9;
  background-color: rgba(0, 0, 0, 0);
}
.carousel-indicators .active {
  margin: 0;
  width: 12px;
  height: 12px;
  background-color: #fff;
}
.carousel-caption {
  position: absolute;
  left: 15%;
  right: 15%;
  bottom: 20px;
  z-index: 10;
  padding-top: 20px;
  padding-bottom: 20px;
  color: #fff;
  text-align: center;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6);
}
.carousel-caption .btn {
  text-shadow: none;
}
@media screen and (min-width: 768px) {
  .carousel-control .glyphicon-chevron-left,
  .carousel-control .glyphicon-chevron-right,
  .carousel-control .icon-prev,
  .carousel-control .icon-next {
    width: 30px;
    height: 30px;
    margin-top: -10px;
    font-size: 30px;
  }
  .carousel-control .glyphicon-chevron-left,
  .carousel-control .icon-prev {
    margin-left: -10px;
  }
  .carousel-control .glyphicon-chevron-right,
  .carousel-control .icon-next {
    margin-right: -10px;
  }
  .carousel-caption {
    left: 20%;
    right: 20%;
    padding-bottom: 30px;
  }
  .carousel-indicators {
    bottom: 20px;
  }
}
.clearfix:before,
.clearfix:after,
.dl-horizontal dd:before,
.dl-horizontal dd:after,
.container:before,
.container:after,
.container-fluid:before,
.container-fluid:after,
.row:before,
.row:after,
.form-horizontal .form-group:before,
.form-horizontal .form-group:after,
.btn-toolbar:before,
.btn-toolbar:after,
.btn-group-vertical &gt; .btn-group:before,
.btn-group-vertical &gt; .btn-group:after,
.nav:before,
.nav:after,
.navbar:before,
.navbar:after,
.navbar-header:before,
.navbar-header:after,
.navbar-collapse:before,
.navbar-collapse:after,
.pager:before,
.pager:after,
.panel-body:before,
.panel-body:after,
.modal-header:before,
.modal-header:after,
.modal-footer:before,
.modal-footer:after,
.item_buttons:before,
.item_buttons:after {
  content: &quot; &quot;;
  display: table;
}
.clearfix:after,
.dl-horizontal dd:after,
.container:after,
.container-fluid:after,
.row:after,
.form-horizontal .form-group:after,
.btn-toolbar:after,
.btn-group-vertical &gt; .btn-group:after,
.nav:after,
.navbar:after,
.navbar-header:after,
.navbar-collapse:after,
.pager:after,
.panel-body:after,
.modal-header:after,
.modal-footer:after,
.item_buttons:after {
  clear: both;
}
.center-block {
  display: block;
  margin-left: auto;
  margin-right: auto;
}
.pull-right {
  float: right !important;
}
.pull-left {
  float: left !important;
}
.hide {
  display: none !important;
}
.show {
  display: block !important;
}
.invisible {
  visibility: hidden;
}
.text-hide {
  font: 0/0 a;
  color: transparent;
  text-shadow: none;
  background-color: transparent;
  border: 0;
}
.hidden {
  display: none !important;
}
.affix {
  position: fixed;
}
@-ms-viewport {
  width: device-width;
}
.visible-xs,
.visible-sm,
.visible-md,
.visible-lg {
  display: none !important;
}
.visible-xs-block,
.visible-xs-inline,
.visible-xs-inline-block,
.visible-sm-block,
.visible-sm-inline,
.visible-sm-inline-block,
.visible-md-block,
.visible-md-inline,
.visible-md-inline-block,
.visible-lg-block,
.visible-lg-inline,
.visible-lg-inline-block {
  display: none !important;
}
@media (max-width: 767px) {
  .visible-xs {
    display: block !important;
  }
  table.visible-xs {
    display: table !important;
  }
  tr.visible-xs {
    display: table-row !important;
  }
  th.visible-xs,
  td.visible-xs {
    display: table-cell !important;
  }
}
@media (max-width: 767px) {
  .visible-xs-block {
    display: block !important;
  }
}
@media (max-width: 767px) {
  .visible-xs-inline {
    display: inline !important;
  }
}
@media (max-width: 767px) {
  .visible-xs-inline-block {
    display: inline-block !important;
  }
}
@media (min-width: 768px) and (max-width: 991px) {
  .visible-sm {
    display: block !important;
  }
  table.visible-sm {
    display: table !important;
  }
  tr.visible-sm {
    display: table-row !important;
  }
  th.visible-sm,
  td.visible-sm {
    display: table-cell !important;
  }
}
@media (min-width: 768px) and (max-width: 991px) {
  .visible-sm-block {
    display: block !important;
  }
}
@media (min-width: 768px) and (max-width: 991px) {
  .visible-sm-inline {
    display: inline !important;
  }
}
@media (min-width: 768px) and (max-width: 991px) {
  .visible-sm-inline-block {
    display: inline-block !important;
  }
}
@media (min-width: 992px) and (max-width: 1199px) {
  .visible-md {
    display: block !important;
  }
  table.visible-md {
    display: table !important;
  }
  tr.visible-md {
    display: table-row !important;
  }
  th.visible-md,
  td.visible-md {
    display: table-cell !important;
  }
}
@media (min-width: 992px) and (max-width: 1199px) {
  .visible-md-block {
    display: block !important;
  }
}
@media (min-width: 992px) and (max-width: 1199px) {
  .visible-md-inline {
    display: inline !important;
  }
}
@media (min-width: 992px) and (max-width: 1199px) {
  .visible-md-inline-block {
    display: inline-block !important;
  }
}
@media (min-width: 1200px) {
  .visible-lg {
    display: block !important;
  }
  table.visible-lg {
    display: table !important;
  }
  tr.visible-lg {
    display: table-row !important;
  }
  th.visible-lg,
  td.visible-lg {
    display: table-cell !important;
  }
}
@media (min-width: 1200px) {
  .visible-lg-block {
    display: block !important;
  }
}
@media (min-width: 1200px) {
  .visible-lg-inline {
    display: inline !important;
  }
}
@media (min-width: 1200px) {
  .visible-lg-inline-block {
    display: inline-block !important;
  }
}
@media (max-width: 767px) {
  .hidden-xs {
    display: none !important;
  }
}
@media (min-width: 768px) and (max-width: 991px) {
  .hidden-sm {
    display: none !important;
  }
}
@media (min-width: 992px) and (max-width: 1199px) {
  .hidden-md {
    display: none !important;
  }
}
@media (min-width: 1200px) {
  .hidden-lg {
    display: none !important;
  }
}
.visible-print {
  display: none !important;
}
@media print {
  .visible-print {
    display: block !important;
  }
  table.visible-print {
    display: table !important;
  }
  tr.visible-print {
    display: table-row !important;
  }
  th.visible-print,
  td.visible-print {
    display: table-cell !important;
  }
}
.visible-print-block {
  display: none !important;
}
@media print {
  .visible-print-block {
    display: block !important;
  }
}
.visible-print-inline {
  display: none !important;
}
@media print {
  .visible-print-inline {
    display: inline !important;
  }
}
.visible-print-inline-block {
  display: none !important;
}
@media print {
  .visible-print-inline-block {
    display: inline-block !important;
  }
}
@media print {
  .hidden-print {
    display: none !important;
  }
}
/*!
*
* Font Awesome
*
*/
/*!
 *  Font Awesome 4.2.0 by @davegandy - http://fontawesome.io - @fontawesome
 *  License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License)
 */
/* FONT PATH
 * -------------------------- */
@font-face {
  font-family: 'FontAwesome';
  src: url('../components/font-awesome/fonts/fontawesome-webfont.eot?v=4.2.0');
  src: url('../components/font-awesome/fonts/fontawesome-webfont.eot?#iefix&amp;v=4.2.0') format('embedded-opentype'), url('../components/font-awesome/fonts/fontawesome-webfont.woff?v=4.2.0') format('woff'), url('../components/font-awesome/fonts/fontawesome-webfont.ttf?v=4.2.0') format('truetype'), url('../components/font-awesome/fonts/fontawesome-webfont.svg?v=4.2.0#fontawesomeregular') format('svg');
  font-weight: normal;
  font-style: normal;
}
.fa {
  display: inline-block;
  font: normal normal normal 14px/1 FontAwesome;
  font-size: inherit;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
/* makes the font 33% larger relative to the icon container */
.fa-lg {
  font-size: 1.33333333em;
  line-height: 0.75em;
  vertical-align: -15%;
}
.fa-2x {
  font-size: 2em;
}
.fa-3x {
  font-size: 3em;
}
.fa-4x {
  font-size: 4em;
}
.fa-5x {
  font-size: 5em;
}
.fa-fw {
  width: 1.28571429em;
  text-align: center;
}
.fa-ul {
  padding-left: 0;
  margin-left: 2.14285714em;
  list-style-type: none;
}
.fa-ul &gt; li {
  position: relative;
}
.fa-li {
  position: absolute;
  left: -2.14285714em;
  width: 2.14285714em;
  top: 0.14285714em;
  text-align: center;
}
.fa-li.fa-lg {
  left: -1.85714286em;
}
.fa-border {
  padding: .2em .25em .15em;
  border: solid 0.08em #eee;
  border-radius: .1em;
}
.pull-right {
  float: right;
}
.pull-left {
  float: left;
}
.fa.pull-left {
  margin-right: .3em;
}
.fa.pull-right {
  margin-left: .3em;
}
.fa-spin {
  -webkit-animation: fa-spin 2s infinite linear;
  animation: fa-spin 2s infinite linear;
}
@-webkit-keyframes fa-spin {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(359deg);
    transform: rotate(359deg);
  }
}
@keyframes fa-spin {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(359deg);
    transform: rotate(359deg);
  }
}
.fa-rotate-90 {
  filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=1);
  -webkit-transform: rotate(90deg);
  -ms-transform: rotate(90deg);
  transform: rotate(90deg);
}
.fa-rotate-180 {
  filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2);
  -webkit-transform: rotate(180deg);
  -ms-transform: rotate(180deg);
  transform: rotate(180deg);
}
.fa-rotate-270 {
  filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=3);
  -webkit-transform: rotate(270deg);
  -ms-transform: rotate(270deg);
  transform: rotate(270deg);
}
.fa-flip-horizontal {
  filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1);
  -webkit-transform: scale(-1, 1);
  -ms-transform: scale(-1, 1);
  transform: scale(-1, 1);
}
.fa-flip-vertical {
  filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1);
  -webkit-transform: scale(1, -1);
  -ms-transform: scale(1, -1);
  transform: scale(1, -1);
}
:root .fa-rotate-90,
:root .fa-rotate-180,
:root .fa-rotate-270,
:root .fa-flip-horizontal,
:root .fa-flip-vertical {
  filter: none;
}
.fa-stack {
  position: relative;
  display: inline-block;
  width: 2em;
  height: 2em;
  line-height: 2em;
  vertical-align: middle;
}
.fa-stack-1x,
.fa-stack-2x {
  position: absolute;
  left: 0;
  width: 100%;
  text-align: center;
}
.fa-stack-1x {
  line-height: inherit;
}
.fa-stack-2x {
  font-size: 2em;
}
.fa-inverse {
  color: #fff;
}
/* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen
   readers do not read off random characters that represent icons */
.fa-glass:before {
  content: &quot;\f000&quot;;
}
.fa-music:before {
  content: &quot;\f001&quot;;
}
.fa-search:before {
  content: &quot;\f002&quot;;
}
.fa-envelope-o:before {
  content: &quot;\f003&quot;;
}
.fa-heart:before {
  content: &quot;\f004&quot;;
}
.fa-star:before {
  content: &quot;\f005&quot;;
}
.fa-star-o:before {
  content: &quot;\f006&quot;;
}
.fa-user:before {
  content: &quot;\f007&quot;;
}
.fa-film:before {
  content: &quot;\f008&quot;;
}
.fa-th-large:before {
  content: &quot;\f009&quot;;
}
.fa-th:before {
  content: &quot;\f00a&quot;;
}
.fa-th-list:before {
  content: &quot;\f00b&quot;;
}
.fa-check:before {
  content: &quot;\f00c&quot;;
}
.fa-remove:before,
.fa-close:before,
.fa-times:before {
  content: &quot;\f00d&quot;;
}
.fa-search-plus:before {
  content: &quot;\f00e&quot;;
}
.fa-search-minus:before {
  content: &quot;\f010&quot;;
}
.fa-power-off:before {
  content: &quot;\f011&quot;;
}
.fa-signal:before {
  content: &quot;\f012&quot;;
}
.fa-gear:before,
.fa-cog:before {
  content: &quot;\f013&quot;;
}
.fa-trash-o:before {
  content: &quot;\f014&quot;;
}
.fa-home:before {
  content: &quot;\f015&quot;;
}
.fa-file-o:before {
  content: &quot;\f016&quot;;
}
.fa-clock-o:before {
  content: &quot;\f017&quot;;
}
.fa-road:before {
  content: &quot;\f018&quot;;
}
.fa-download:before {
  content: &quot;\f019&quot;;
}
.fa-arrow-circle-o-down:before {
  content: &quot;\f01a&quot;;
}
.fa-arrow-circle-o-up:before {
  content: &quot;\f01b&quot;;
}
.fa-inbox:before {
  content: &quot;\f01c&quot;;
}
.fa-play-circle-o:before {
  content: &quot;\f01d&quot;;
}
.fa-rotate-right:before,
.fa-repeat:before {
  content: &quot;\f01e&quot;;
}
.fa-refresh:before {
  content: &quot;\f021&quot;;
}
.fa-list-alt:before {
  content: &quot;\f022&quot;;
}
.fa-lock:before {
  content: &quot;\f023&quot;;
}
.fa-flag:before {
  content: &quot;\f024&quot;;
}
.fa-headphones:before {
  content: &quot;\f025&quot;;
}
.fa-volume-off:before {
  content: &quot;\f026&quot;;
}
.fa-volume-down:before {
  content: &quot;\f027&quot;;
}
.fa-volume-up:before {
  content: &quot;\f028&quot;;
}
.fa-qrcode:before {
  content: &quot;\f029&quot;;
}
.fa-barcode:before {
  content: &quot;\f02a&quot;;
}
.fa-tag:before {
  content: &quot;\f02b&quot;;
}
.fa-tags:before {
  content: &quot;\f02c&quot;;
}
.fa-book:before {
  content: &quot;\f02d&quot;;
}
.fa-bookmark:before {
  content: &quot;\f02e&quot;;
}
.fa-print:before {
  content: &quot;\f02f&quot;;
}
.fa-camera:before {
  content: &quot;\f030&quot;;
}
.fa-font:before {
  content: &quot;\f031&quot;;
}
.fa-bold:before {
  content: &quot;\f032&quot;;
}
.fa-italic:before {
  content: &quot;\f033&quot;;
}
.fa-text-height:before {
  content: &quot;\f034&quot;;
}
.fa-text-width:before {
  content: &quot;\f035&quot;;
}
.fa-align-left:before {
  content: &quot;\f036&quot;;
}
.fa-align-center:before {
  content: &quot;\f037&quot;;
}
.fa-align-right:before {
  content: &quot;\f038&quot;;
}
.fa-align-justify:before {
  content: &quot;\f039&quot;;
}
.fa-list:before {
  content: &quot;\f03a&quot;;
}
.fa-dedent:before,
.fa-outdent:before {
  content: &quot;\f03b&quot;;
}
.fa-indent:before {
  content: &quot;\f03c&quot;;
}
.fa-video-camera:before {
  content: &quot;\f03d&quot;;
}
.fa-photo:before,
.fa-image:before,
.fa-picture-o:before {
  content: &quot;\f03e&quot;;
}
.fa-pencil:before {
  content: &quot;\f040&quot;;
}
.fa-map-marker:before {
  content: &quot;\f041&quot;;
}
.fa-adjust:before {
  content: &quot;\f042&quot;;
}
.fa-tint:before {
  content: &quot;\f043&quot;;
}
.fa-edit:before,
.fa-pencil-square-o:before {
  content: &quot;\f044&quot;;
}
.fa-share-square-o:before {
  content: &quot;\f045&quot;;
}
.fa-check-square-o:before {
  content: &quot;\f046&quot;;
}
.fa-arrows:before {
  content: &quot;\f047&quot;;
}
.fa-step-backward:before {
  content: &quot;\f048&quot;;
}
.fa-fast-backward:before {
  content: &quot;\f049&quot;;
}
.fa-backward:before {
  content: &quot;\f04a&quot;;
}
.fa-play:before {
  content: &quot;\f04b&quot;;
}
.fa-pause:before {
  content: &quot;\f04c&quot;;
}
.fa-stop:before {
  content: &quot;\f04d&quot;;
}
.fa-forward:before {
  content: &quot;\f04e&quot;;
}
.fa-fast-forward:before {
  content: &quot;\f050&quot;;
}
.fa-step-forward:before {
  content: &quot;\f051&quot;;
}
.fa-eject:before {
  content: &quot;\f052&quot;;
}
.fa-chevron-left:before {
  content: &quot;\f053&quot;;
}
.fa-chevron-right:before {
  content: &quot;\f054&quot;;
}
.fa-plus-circle:before {
  content: &quot;\f055&quot;;
}
.fa-minus-circle:before {
  content: &quot;\f056&quot;;
}
.fa-times-circle:before {
  content: &quot;\f057&quot;;
}
.fa-check-circle:before {
  content: &quot;\f058&quot;;
}
.fa-question-circle:before {
  content: &quot;\f059&quot;;
}
.fa-info-circle:before {
  content: &quot;\f05a&quot;;
}
.fa-crosshairs:before {
  content: &quot;\f05b&quot;;
}
.fa-times-circle-o:before {
  content: &quot;\f05c&quot;;
}
.fa-check-circle-o:before {
  content: &quot;\f05d&quot;;
}
.fa-ban:before {
  content: &quot;\f05e&quot;;
}
.fa-arrow-left:before {
  content: &quot;\f060&quot;;
}
.fa-arrow-right:before {
  content: &quot;\f061&quot;;
}
.fa-arrow-up:before {
  content: &quot;\f062&quot;;
}
.fa-arrow-down:before {
  content: &quot;\f063&quot;;
}
.fa-mail-forward:before,
.fa-share:before {
  content: &quot;\f064&quot;;
}
.fa-expand:before {
  content: &quot;\f065&quot;;
}
.fa-compress:before {
  content: &quot;\f066&quot;;
}
.fa-plus:before {
  content: &quot;\f067&quot;;
}
.fa-minus:before {
  content: &quot;\f068&quot;;
}
.fa-asterisk:before {
  content: &quot;\f069&quot;;
}
.fa-exclamation-circle:before {
  content: &quot;\f06a&quot;;
}
.fa-gift:before {
  content: &quot;\f06b&quot;;
}
.fa-leaf:before {
  content: &quot;\f06c&quot;;
}
.fa-fire:before {
  content: &quot;\f06d&quot;;
}
.fa-eye:before {
  content: &quot;\f06e&quot;;
}
.fa-eye-slash:before {
  content: &quot;\f070&quot;;
}
.fa-warning:before,
.fa-exclamation-triangle:before {
  content: &quot;\f071&quot;;
}
.fa-plane:before {
  content: &quot;\f072&quot;;
}
.fa-calendar:before {
  content: &quot;\f073&quot;;
}
.fa-random:before {
  content: &quot;\f074&quot;;
}
.fa-comment:before {
  content: &quot;\f075&quot;;
}
.fa-magnet:before {
  content: &quot;\f076&quot;;
}
.fa-chevron-up:before {
  content: &quot;\f077&quot;;
}
.fa-chevron-down:before {
  content: &quot;\f078&quot;;
}
.fa-retweet:before {
  content: &quot;\f079&quot;;
}
.fa-shopping-cart:before {
  content: &quot;\f07a&quot;;
}
.fa-folder:before {
  content: &quot;\f07b&quot;;
}
.fa-folder-open:before {
  content: &quot;\f07c&quot;;
}
.fa-arrows-v:before {
  content: &quot;\f07d&quot;;
}
.fa-arrows-h:before {
  content: &quot;\f07e&quot;;
}
.fa-bar-chart-o:before,
.fa-bar-chart:before {
  content: &quot;\f080&quot;;
}
.fa-twitter-square:before {
  content: &quot;\f081&quot;;
}
.fa-facebook-square:before {
  content: &quot;\f082&quot;;
}
.fa-camera-retro:before {
  content: &quot;\f083&quot;;
}
.fa-key:before {
  content: &quot;\f084&quot;;
}
.fa-gears:before,
.fa-cogs:before {
  content: &quot;\f085&quot;;
}
.fa-comments:before {
  content: &quot;\f086&quot;;
}
.fa-thumbs-o-up:before {
  content: &quot;\f087&quot;;
}
.fa-thumbs-o-down:before {
  content: &quot;\f088&quot;;
}
.fa-star-half:before {
  content: &quot;\f089&quot;;
}
.fa-heart-o:before {
  content: &quot;\f08a&quot;;
}
.fa-sign-out:before {
  content: &quot;\f08b&quot;;
}
.fa-linkedin-square:before {
  content: &quot;\f08c&quot;;
}
.fa-thumb-tack:before {
  content: &quot;\f08d&quot;;
}
.fa-external-link:before {
  content: &quot;\f08e&quot;;
}
.fa-sign-in:before {
  content: &quot;\f090&quot;;
}
.fa-trophy:before {
  content: &quot;\f091&quot;;
}
.fa-github-square:before {
  content: &quot;\f092&quot;;
}
.fa-upload:before {
  content: &quot;\f093&quot;;
}
.fa-lemon-o:before {
  content: &quot;\f094&quot;;
}
.fa-phone:before {
  content: &quot;\f095&quot;;
}
.fa-square-o:before {
  content: &quot;\f096&quot;;
}
.fa-bookmark-o:before {
  content: &quot;\f097&quot;;
}
.fa-phone-square:before {
  content: &quot;\f098&quot;;
}
.fa-twitter:before {
  content: &quot;\f099&quot;;
}
.fa-facebook:before {
  content: &quot;\f09a&quot;;
}
.fa-github:before {
  content: &quot;\f09b&quot;;
}
.fa-unlock:before {
  content: &quot;\f09c&quot;;
}
.fa-credit-card:before {
  content: &quot;\f09d&quot;;
}
.fa-rss:before {
  content: &quot;\f09e&quot;;
}
.fa-hdd-o:before {
  content: &quot;\f0a0&quot;;
}
.fa-bullhorn:before {
  content: &quot;\f0a1&quot;;
}
.fa-bell:before {
  content: &quot;\f0f3&quot;;
}
.fa-certificate:before {
  content: &quot;\f0a3&quot;;
}
.fa-hand-o-right:before {
  content: &quot;\f0a4&quot;;
}
.fa-hand-o-left:before {
  content: &quot;\f0a5&quot;;
}
.fa-hand-o-up:before {
  content: &quot;\f0a6&quot;;
}
.fa-hand-o-down:before {
  content: &quot;\f0a7&quot;;
}
.fa-arrow-circle-left:before {
  content: &quot;\f0a8&quot;;
}
.fa-arrow-circle-right:before {
  content: &quot;\f0a9&quot;;
}
.fa-arrow-circle-up:before {
  content: &quot;\f0aa&quot;;
}
.fa-arrow-circle-down:before {
  content: &quot;\f0ab&quot;;
}
.fa-globe:before {
  content: &quot;\f0ac&quot;;
}
.fa-wrench:before {
  content: &quot;\f0ad&quot;;
}
.fa-tasks:before {
  content: &quot;\f0ae&quot;;
}
.fa-filter:before {
  content: &quot;\f0b0&quot;;
}
.fa-briefcase:before {
  content: &quot;\f0b1&quot;;
}
.fa-arrows-alt:before {
  content: &quot;\f0b2&quot;;
}
.fa-group:before,
.fa-users:before {
  content: &quot;\f0c0&quot;;
}
.fa-chain:before,
.fa-link:before {
  content: &quot;\f0c1&quot;;
}
.fa-cloud:before {
  content: &quot;\f0c2&quot;;
}
.fa-flask:before {
  content: &quot;\f0c3&quot;;
}
.fa-cut:before,
.fa-scissors:before {
  content: &quot;\f0c4&quot;;
}
.fa-copy:before,
.fa-files-o:before {
  content: &quot;\f0c5&quot;;
}
.fa-paperclip:before {
  content: &quot;\f0c6&quot;;
}
.fa-save:before,
.fa-floppy-o:before {
  content: &quot;\f0c7&quot;;
}
.fa-square:before {
  content: &quot;\f0c8&quot;;
}
.fa-navicon:before,
.fa-reorder:before,
.fa-bars:before {
  content: &quot;\f0c9&quot;;
}
.fa-list-ul:before {
  content: &quot;\f0ca&quot;;
}
.fa-list-ol:before {
  content: &quot;\f0cb&quot;;
}
.fa-strikethrough:before {
  content: &quot;\f0cc&quot;;
}
.fa-underline:before {
  content: &quot;\f0cd&quot;;
}
.fa-table:before {
  content: &quot;\f0ce&quot;;
}
.fa-magic:before {
  content: &quot;\f0d0&quot;;
}
.fa-truck:before {
  content: &quot;\f0d1&quot;;
}
.fa-pinterest:before {
  content: &quot;\f0d2&quot;;
}
.fa-pinterest-square:before {
  content: &quot;\f0d3&quot;;
}
.fa-google-plus-square:before {
  content: &quot;\f0d4&quot;;
}
.fa-google-plus:before {
  content: &quot;\f0d5&quot;;
}
.fa-money:before {
  content: &quot;\f0d6&quot;;
}
.fa-caret-down:before {
  content: &quot;\f0d7&quot;;
}
.fa-caret-up:before {
  content: &quot;\f0d8&quot;;
}
.fa-caret-left:before {
  content: &quot;\f0d9&quot;;
}
.fa-caret-right:before {
  content: &quot;\f0da&quot;;
}
.fa-columns:before {
  content: &quot;\f0db&quot;;
}
.fa-unsorted:before,
.fa-sort:before {
  content: &quot;\f0dc&quot;;
}
.fa-sort-down:before,
.fa-sort-desc:before {
  content: &quot;\f0dd&quot;;
}
.fa-sort-up:before,
.fa-sort-asc:before {
  content: &quot;\f0de&quot;;
}
.fa-envelope:before {
  content: &quot;\f0e0&quot;;
}
.fa-linkedin:before {
  content: &quot;\f0e1&quot;;
}
.fa-rotate-left:before,
.fa-undo:before {
  content: &quot;\f0e2&quot;;
}
.fa-legal:before,
.fa-gavel:before {
  content: &quot;\f0e3&quot;;
}
.fa-dashboard:before,
.fa-tachometer:before {
  content: &quot;\f0e4&quot;;
}
.fa-comment-o:before {
  content: &quot;\f0e5&quot;;
}
.fa-comments-o:before {
  content: &quot;\f0e6&quot;;
}
.fa-flash:before,
.fa-bolt:before {
  content: &quot;\f0e7&quot;;
}
.fa-sitemap:before {
  content: &quot;\f0e8&quot;;
}
.fa-umbrella:before {
  content: &quot;\f0e9&quot;;
}
.fa-paste:before,
.fa-clipboard:before {
  content: &quot;\f0ea&quot;;
}
.fa-lightbulb-o:before {
  content: &quot;\f0eb&quot;;
}
.fa-exchange:before {
  content: &quot;\f0ec&quot;;
}
.fa-cloud-download:before {
  content: &quot;\f0ed&quot;;
}
.fa-cloud-upload:before {
  content: &quot;\f0ee&quot;;
}
.fa-user-md:before {
  content: &quot;\f0f0&quot;;
}
.fa-stethoscope:before {
  content: &quot;\f0f1&quot;;
}
.fa-suitcase:before {
  content: &quot;\f0f2&quot;;
}
.fa-bell-o:before {
  content: &quot;\f0a2&quot;;
}
.fa-coffee:before {
  content: &quot;\f0f4&quot;;
}
.fa-cutlery:before {
  content: &quot;\f0f5&quot;;
}
.fa-file-text-o:before {
  content: &quot;\f0f6&quot;;
}
.fa-building-o:before {
  content: &quot;\f0f7&quot;;
}
.fa-hospital-o:before {
  content: &quot;\f0f8&quot;;
}
.fa-ambulance:before {
  content: &quot;\f0f9&quot;;
}
.fa-medkit:before {
  content: &quot;\f0fa&quot;;
}
.fa-fighter-jet:before {
  content: &quot;\f0fb&quot;;
}
.fa-beer:before {
  content: &quot;\f0fc&quot;;
}
.fa-h-square:before {
  content: &quot;\f0fd&quot;;
}
.fa-plus-square:before {
  content: &quot;\f0fe&quot;;
}
.fa-angle-double-left:before {
  content: &quot;\f100&quot;;
}
.fa-angle-double-right:before {
  content: &quot;\f101&quot;;
}
.fa-angle-double-up:before {
  content: &quot;\f102&quot;;
}
.fa-angle-double-down:before {
  content: &quot;\f103&quot;;
}
.fa-angle-left:before {
  content: &quot;\f104&quot;;
}
.fa-angle-right:before {
  content: &quot;\f105&quot;;
}
.fa-angle-up:before {
  content: &quot;\f106&quot;;
}
.fa-angle-down:before {
  content: &quot;\f107&quot;;
}
.fa-desktop:before {
  content: &quot;\f108&quot;;
}
.fa-laptop:before {
  content: &quot;\f109&quot;;
}
.fa-tablet:before {
  content: &quot;\f10a&quot;;
}
.fa-mobile-phone:before,
.fa-mobile:before {
  content: &quot;\f10b&quot;;
}
.fa-circle-o:before {
  content: &quot;\f10c&quot;;
}
.fa-quote-left:before {
  content: &quot;\f10d&quot;;
}
.fa-quote-right:before {
  content: &quot;\f10e&quot;;
}
.fa-spinner:before {
  content: &quot;\f110&quot;;
}
.fa-circle:before {
  content: &quot;\f111&quot;;
}
.fa-mail-reply:before,
.fa-reply:before {
  content: &quot;\f112&quot;;
}
.fa-github-alt:before {
  content: &quot;\f113&quot;;
}
.fa-folder-o:before {
  content: &quot;\f114&quot;;
}
.fa-folder-open-o:before {
  content: &quot;\f115&quot;;
}
.fa-smile-o:before {
  content: &quot;\f118&quot;;
}
.fa-frown-o:before {
  content: &quot;\f119&quot;;
}
.fa-meh-o:before {
  content: &quot;\f11a&quot;;
}
.fa-gamepad:before {
  content: &quot;\f11b&quot;;
}
.fa-keyboard-o:before {
  content: &quot;\f11c&quot;;
}
.fa-flag-o:before {
  content: &quot;\f11d&quot;;
}
.fa-flag-checkered:before {
  content: &quot;\f11e&quot;;
}
.fa-terminal:before {
  content: &quot;\f120&quot;;
}
.fa-code:before {
  content: &quot;\f121&quot;;
}
.fa-mail-reply-all:before,
.fa-reply-all:before {
  content: &quot;\f122&quot;;
}
.fa-star-half-empty:before,
.fa-star-half-full:before,
.fa-star-half-o:before {
  content: &quot;\f123&quot;;
}
.fa-location-arrow:before {
  content: &quot;\f124&quot;;
}
.fa-crop:before {
  content: &quot;\f125&quot;;
}
.fa-code-fork:before {
  content: &quot;\f126&quot;;
}
.fa-unlink:before,
.fa-chain-broken:before {
  content: &quot;\f127&quot;;
}
.fa-question:before {
  content: &quot;\f128&quot;;
}
.fa-info:before {
  content: &quot;\f129&quot;;
}
.fa-exclamation:before {
  content: &quot;\f12a&quot;;
}
.fa-superscript:before {
  content: &quot;\f12b&quot;;
}
.fa-subscript:before {
  content: &quot;\f12c&quot;;
}
.fa-eraser:before {
  content: &quot;\f12d&quot;;
}
.fa-puzzle-piece:before {
  content: &quot;\f12e&quot;;
}
.fa-microphone:before {
  content: &quot;\f130&quot;;
}
.fa-microphone-slash:before {
  content: &quot;\f131&quot;;
}
.fa-shield:before {
  content: &quot;\f132&quot;;
}
.fa-calendar-o:before {
  content: &quot;\f133&quot;;
}
.fa-fire-extinguisher:before {
  content: &quot;\f134&quot;;
}
.fa-rocket:before {
  content: &quot;\f135&quot;;
}
.fa-maxcdn:before {
  content: &quot;\f136&quot;;
}
.fa-chevron-circle-left:before {
  content: &quot;\f137&quot;;
}
.fa-chevron-circle-right:before {
  content: &quot;\f138&quot;;
}
.fa-chevron-circle-up:before {
  content: &quot;\f139&quot;;
}
.fa-chevron-circle-down:before {
  content: &quot;\f13a&quot;;
}
.fa-html5:before {
  content: &quot;\f13b&quot;;
}
.fa-css3:before {
  content: &quot;\f13c&quot;;
}
.fa-anchor:before {
  content: &quot;\f13d&quot;;
}
.fa-unlock-alt:before {
  content: &quot;\f13e&quot;;
}
.fa-bullseye:before {
  content: &quot;\f140&quot;;
}
.fa-ellipsis-h:before {
  content: &quot;\f141&quot;;
}
.fa-ellipsis-v:before {
  content: &quot;\f142&quot;;
}
.fa-rss-square:before {
  content: &quot;\f143&quot;;
}
.fa-play-circle:before {
  content: &quot;\f144&quot;;
}
.fa-ticket:before {
  content: &quot;\f145&quot;;
}
.fa-minus-square:before {
  content: &quot;\f146&quot;;
}
.fa-minus-square-o:before {
  content: &quot;\f147&quot;;
}
.fa-level-up:before {
  content: &quot;\f148&quot;;
}
.fa-level-down:before {
  content: &quot;\f149&quot;;
}
.fa-check-square:before {
  content: &quot;\f14a&quot;;
}
.fa-pencil-square:before {
  content: &quot;\f14b&quot;;
}
.fa-external-link-square:before {
  content: &quot;\f14c&quot;;
}
.fa-share-square:before {
  content: &quot;\f14d&quot;;
}
.fa-compass:before {
  content: &quot;\f14e&quot;;
}
.fa-toggle-down:before,
.fa-caret-square-o-down:before {
  content: &quot;\f150&quot;;
}
.fa-toggle-up:before,
.fa-caret-square-o-up:before {
  content: &quot;\f151&quot;;
}
.fa-toggle-right:before,
.fa-caret-square-o-right:before {
  content: &quot;\f152&quot;;
}
.fa-euro:before,
.fa-eur:before {
  content: &quot;\f153&quot;;
}
.fa-gbp:before {
  content: &quot;\f154&quot;;
}
.fa-dollar:before,
.fa-usd:before {
  content: &quot;\f155&quot;;
}
.fa-rupee:before,
.fa-inr:before {
  content: &quot;\f156&quot;;
}
.fa-cny:before,
.fa-rmb:before,
.fa-yen:before,
.fa-jpy:before {
  content: &quot;\f157&quot;;
}
.fa-ruble:before,
.fa-rouble:before,
.fa-rub:before {
  content: &quot;\f158&quot;;
}
.fa-won:before,
.fa-krw:before {
  content: &quot;\f159&quot;;
}
.fa-bitcoin:before,
.fa-btc:before {
  content: &quot;\f15a&quot;;
}
.fa-file:before {
  content: &quot;\f15b&quot;;
}
.fa-file-text:before {
  content: &quot;\f15c&quot;;
}
.fa-sort-alpha-asc:before {
  content: &quot;\f15d&quot;;
}
.fa-sort-alpha-desc:before {
  content: &quot;\f15e&quot;;
}
.fa-sort-amount-asc:before {
  content: &quot;\f160&quot;;
}
.fa-sort-amount-desc:before {
  content: &quot;\f161&quot;;
}
.fa-sort-numeric-asc:before {
  content: &quot;\f162&quot;;
}
.fa-sort-numeric-desc:before {
  content: &quot;\f163&quot;;
}
.fa-thumbs-up:before {
  content: &quot;\f164&quot;;
}
.fa-thumbs-down:before {
  content: &quot;\f165&quot;;
}
.fa-youtube-square:before {
  content: &quot;\f166&quot;;
}
.fa-youtube:before {
  content: &quot;\f167&quot;;
}
.fa-xing:before {
  content: &quot;\f168&quot;;
}
.fa-xing-square:before {
  content: &quot;\f169&quot;;
}
.fa-youtube-play:before {
  content: &quot;\f16a&quot;;
}
.fa-dropbox:before {
  content: &quot;\f16b&quot;;
}
.fa-stack-overflow:before {
  content: &quot;\f16c&quot;;
}
.fa-instagram:before {
  content: &quot;\f16d&quot;;
}
.fa-flickr:before {
  content: &quot;\f16e&quot;;
}
.fa-adn:before {
  content: &quot;\f170&quot;;
}
.fa-bitbucket:before {
  content: &quot;\f171&quot;;
}
.fa-bitbucket-square:before {
  content: &quot;\f172&quot;;
}
.fa-tumblr:before {
  content: &quot;\f173&quot;;
}
.fa-tumblr-square:before {
  content: &quot;\f174&quot;;
}
.fa-long-arrow-down:before {
  content: &quot;\f175&quot;;
}
.fa-long-arrow-up:before {
  content: &quot;\f176&quot;;
}
.fa-long-arrow-left:before {
  content: &quot;\f177&quot;;
}
.fa-long-arrow-right:before {
  content: &quot;\f178&quot;;
}
.fa-apple:before {
  content: &quot;\f179&quot;;
}
.fa-windows:before {
  content: &quot;\f17a&quot;;
}
.fa-android:before {
  content: &quot;\f17b&quot;;
}
.fa-linux:before {
  content: &quot;\f17c&quot;;
}
.fa-dribbble:before {
  content: &quot;\f17d&quot;;
}
.fa-skype:before {
  content: &quot;\f17e&quot;;
}
.fa-foursquare:before {
  content: &quot;\f180&quot;;
}
.fa-trello:before {
  content: &quot;\f181&quot;;
}
.fa-female:before {
  content: &quot;\f182&quot;;
}
.fa-male:before {
  content: &quot;\f183&quot;;
}
.fa-gittip:before {
  content: &quot;\f184&quot;;
}
.fa-sun-o:before {
  content: &quot;\f185&quot;;
}
.fa-moon-o:before {
  content: &quot;\f186&quot;;
}
.fa-archive:before {
  content: &quot;\f187&quot;;
}
.fa-bug:before {
  content: &quot;\f188&quot;;
}
.fa-vk:before {
  content: &quot;\f189&quot;;
}
.fa-weibo:before {
  content: &quot;\f18a&quot;;
}
.fa-renren:before {
  content: &quot;\f18b&quot;;
}
.fa-pagelines:before {
  content: &quot;\f18c&quot;;
}
.fa-stack-exchange:before {
  content: &quot;\f18d&quot;;
}
.fa-arrow-circle-o-right:before {
  content: &quot;\f18e&quot;;
}
.fa-arrow-circle-o-left:before {
  content: &quot;\f190&quot;;
}
.fa-toggle-left:before,
.fa-caret-square-o-left:before {
  content: &quot;\f191&quot;;
}
.fa-dot-circle-o:before {
  content: &quot;\f192&quot;;
}
.fa-wheelchair:before {
  content: &quot;\f193&quot;;
}
.fa-vimeo-square:before {
  content: &quot;\f194&quot;;
}
.fa-turkish-lira:before,
.fa-try:before {
  content: &quot;\f195&quot;;
}
.fa-plus-square-o:before {
  content: &quot;\f196&quot;;
}
.fa-space-shuttle:before {
  content: &quot;\f197&quot;;
}
.fa-slack:before {
  content: &quot;\f198&quot;;
}
.fa-envelope-square:before {
  content: &quot;\f199&quot;;
}
.fa-wordpress:before {
  content: &quot;\f19a&quot;;
}
.fa-openid:before {
  content: &quot;\f19b&quot;;
}
.fa-institution:before,
.fa-bank:before,
.fa-university:before {
  content: &quot;\f19c&quot;;
}
.fa-mortar-board:before,
.fa-graduation-cap:before {
  content: &quot;\f19d&quot;;
}
.fa-yahoo:before {
  content: &quot;\f19e&quot;;
}
.fa-google:before {
  content: &quot;\f1a0&quot;;
}
.fa-reddit:before {
  content: &quot;\f1a1&quot;;
}
.fa-reddit-square:before {
  content: &quot;\f1a2&quot;;
}
.fa-stumbleupon-circle:before {
  content: &quot;\f1a3&quot;;
}
.fa-stumbleupon:before {
  content: &quot;\f1a4&quot;;
}
.fa-delicious:before {
  content: &quot;\f1a5&quot;;
}
.fa-digg:before {
  content: &quot;\f1a6&quot;;
}
.fa-pied-piper:before {
  content: &quot;\f1a7&quot;;
}
.fa-pied-piper-alt:before {
  content: &quot;\f1a8&quot;;
}
.fa-drupal:before {
  content: &quot;\f1a9&quot;;
}
.fa-joomla:before {
  content: &quot;\f1aa&quot;;
}
.fa-language:before {
  content: &quot;\f1ab&quot;;
}
.fa-fax:before {
  content: &quot;\f1ac&quot;;
}
.fa-building:before {
  content: &quot;\f1ad&quot;;
}
.fa-child:before {
  content: &quot;\f1ae&quot;;
}
.fa-paw:before {
  content: &quot;\f1b0&quot;;
}
.fa-spoon:before {
  content: &quot;\f1b1&quot;;
}
.fa-cube:before {
  content: &quot;\f1b2&quot;;
}
.fa-cubes:before {
  content: &quot;\f1b3&quot;;
}
.fa-behance:before {
  content: &quot;\f1b4&quot;;
}
.fa-behance-square:before {
  content: &quot;\f1b5&quot;;
}
.fa-steam:before {
  content: &quot;\f1b6&quot;;
}
.fa-steam-square:before {
  content: &quot;\f1b7&quot;;
}
.fa-recycle:before {
  content: &quot;\f1b8&quot;;
}
.fa-automobile:before,
.fa-car:before {
  content: &quot;\f1b9&quot;;
}
.fa-cab:before,
.fa-taxi:before {
  content: &quot;\f1ba&quot;;
}
.fa-tree:before {
  content: &quot;\f1bb&quot;;
}
.fa-spotify:before {
  content: &quot;\f1bc&quot;;
}
.fa-deviantart:before {
  content: &quot;\f1bd&quot;;
}
.fa-soundcloud:before {
  content: &quot;\f1be&quot;;
}
.fa-database:before {
  content: &quot;\f1c0&quot;;
}
.fa-file-pdf-o:before {
  content: &quot;\f1c1&quot;;
}
.fa-file-word-o:before {
  content: &quot;\f1c2&quot;;
}
.fa-file-excel-o:before {
  content: &quot;\f1c3&quot;;
}
.fa-file-powerpoint-o:before {
  content: &quot;\f1c4&quot;;
}
.fa-file-photo-o:before,
.fa-file-picture-o:before,
.fa-file-image-o:before {
  content: &quot;\f1c5&quot;;
}
.fa-file-zip-o:before,
.fa-file-archive-o:before {
  content: &quot;\f1c6&quot;;
}
.fa-file-sound-o:before,
.fa-file-audio-o:before {
  content: &quot;\f1c7&quot;;
}
.fa-file-movie-o:before,
.fa-file-video-o:before {
  content: &quot;\f1c8&quot;;
}
.fa-file-code-o:before {
  content: &quot;\f1c9&quot;;
}
.fa-vine:before {
  content: &quot;\f1ca&quot;;
}
.fa-codepen:before {
  content: &quot;\f1cb&quot;;
}
.fa-jsfiddle:before {
  content: &quot;\f1cc&quot;;
}
.fa-life-bouy:before,
.fa-life-buoy:before,
.fa-life-saver:before,
.fa-support:before,
.fa-life-ring:before {
  content: &quot;\f1cd&quot;;
}
.fa-circle-o-notch:before {
  content: &quot;\f1ce&quot;;
}
.fa-ra:before,
.fa-rebel:before {
  content: &quot;\f1d0&quot;;
}
.fa-ge:before,
.fa-empire:before {
  content: &quot;\f1d1&quot;;
}
.fa-git-square:before {
  content: &quot;\f1d2&quot;;
}
.fa-git:before {
  content: &quot;\f1d3&quot;;
}
.fa-hacker-news:before {
  content: &quot;\f1d4&quot;;
}
.fa-tencent-weibo:before {
  content: &quot;\f1d5&quot;;
}
.fa-qq:before {
  content: &quot;\f1d6&quot;;
}
.fa-wechat:before,
.fa-weixin:before {
  content: &quot;\f1d7&quot;;
}
.fa-send:before,
.fa-paper-plane:before {
  content: &quot;\f1d8&quot;;
}
.fa-send-o:before,
.fa-paper-plane-o:before {
  content: &quot;\f1d9&quot;;
}
.fa-history:before {
  content: &quot;\f1da&quot;;
}
.fa-circle-thin:before {
  content: &quot;\f1db&quot;;
}
.fa-header:before {
  content: &quot;\f1dc&quot;;
}
.fa-paragraph:before {
  content: &quot;\f1dd&quot;;
}
.fa-sliders:before {
  content: &quot;\f1de&quot;;
}
.fa-share-alt:before {
  content: &quot;\f1e0&quot;;
}
.fa-share-alt-square:before {
  content: &quot;\f1e1&quot;;
}
.fa-bomb:before {
  content: &quot;\f1e2&quot;;
}
.fa-soccer-ball-o:before,
.fa-futbol-o:before {
  content: &quot;\f1e3&quot;;
}
.fa-tty:before {
  content: &quot;\f1e4&quot;;
}
.fa-binoculars:before {
  content: &quot;\f1e5&quot;;
}
.fa-plug:before {
  content: &quot;\f1e6&quot;;
}
.fa-slideshare:before {
  content: &quot;\f1e7&quot;;
}
.fa-twitch:before {
  content: &quot;\f1e8&quot;;
}
.fa-yelp:before {
  content: &quot;\f1e9&quot;;
}
.fa-newspaper-o:before {
  content: &quot;\f1ea&quot;;
}
.fa-wifi:before {
  content: &quot;\f1eb&quot;;
}
.fa-calculator:before {
  content: &quot;\f1ec&quot;;
}
.fa-paypal:before {
  content: &quot;\f1ed&quot;;
}
.fa-google-wallet:before {
  content: &quot;\f1ee&quot;;
}
.fa-cc-visa:before {
  content: &quot;\f1f0&quot;;
}
.fa-cc-mastercard:before {
  content: &quot;\f1f1&quot;;
}
.fa-cc-discover:before {
  content: &quot;\f1f2&quot;;
}
.fa-cc-amex:before {
  content: &quot;\f1f3&quot;;
}
.fa-cc-paypal:before {
  content: &quot;\f1f4&quot;;
}
.fa-cc-stripe:before {
  content: &quot;\f1f5&quot;;
}
.fa-bell-slash:before {
  content: &quot;\f1f6&quot;;
}
.fa-bell-slash-o:before {
  content: &quot;\f1f7&quot;;
}
.fa-trash:before {
  content: &quot;\f1f8&quot;;
}
.fa-copyright:before {
  content: &quot;\f1f9&quot;;
}
.fa-at:before {
  content: &quot;\f1fa&quot;;
}
.fa-eyedropper:before {
  content: &quot;\f1fb&quot;;
}
.fa-paint-brush:before {
  content: &quot;\f1fc&quot;;
}
.fa-birthday-cake:before {
  content: &quot;\f1fd&quot;;
}
.fa-area-chart:before {
  content: &quot;\f1fe&quot;;
}
.fa-pie-chart:before {
  content: &quot;\f200&quot;;
}
.fa-line-chart:before {
  content: &quot;\f201&quot;;
}
.fa-lastfm:before {
  content: &quot;\f202&quot;;
}
.fa-lastfm-square:before {
  content: &quot;\f203&quot;;
}
.fa-toggle-off:before {
  content: &quot;\f204&quot;;
}
.fa-toggle-on:before {
  content: &quot;\f205&quot;;
}
.fa-bicycle:before {
  content: &quot;\f206&quot;;
}
.fa-bus:before {
  content: &quot;\f207&quot;;
}
.fa-ioxhost:before {
  content: &quot;\f208&quot;;
}
.fa-angellist:before {
  content: &quot;\f209&quot;;
}
.fa-cc:before {
  content: &quot;\f20a&quot;;
}
.fa-shekel:before,
.fa-sheqel:before,
.fa-ils:before {
  content: &quot;\f20b&quot;;
}
.fa-meanpath:before {
  content: &quot;\f20c&quot;;
}
/*!
*
* IPython base
*
*/
.modal.fade .modal-dialog {
  -webkit-transform: translate(0, 0);
  -ms-transform: translate(0, 0);
  -o-transform: translate(0, 0);
  transform: translate(0, 0);
}
code {
  color: #000;
}
pre {
  font-size: inherit;
  line-height: inherit;
}
label {
  font-weight: normal;
}
/* Make the page background atleast 100% the height of the view port */
/* Make the page itself atleast 70% the height of the view port */
.border-box-sizing {
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
}
.corner-all {
  border-radius: 2px;
}
.no-padding {
  padding: 0px;
}
/* Flexible box model classes */
/* Taken from Alex Russell http://infrequently.org/2009/08/css-3-progress/ */
/* This file is a compatability layer.  It allows the usage of flexible box 
model layouts accross multiple browsers, including older browsers.  The newest,
universal implementation of the flexible box model is used when available (see
`Modern browsers` comments below).  Browsers that are known to implement this 
new spec completely include:

    Firefox 28.0+
    Chrome 29.0+
    Internet Explorer 11+ 
    Opera 17.0+

Browsers not listed, including Safari, are supported via the styling under the
`Old browsers` comments below.
*/
.hbox {
  /* Old browsers */
  display: -webkit-box;
  -webkit-box-orient: horizontal;
  -webkit-box-align: stretch;
  display: -moz-box;
  -moz-box-orient: horizontal;
  -moz-box-align: stretch;
  display: box;
  box-orient: horizontal;
  box-align: stretch;
  /* Modern browsers */
  display: flex;
  flex-direction: row;
  align-items: stretch;
}
.hbox &gt; * {
  /* Old browsers */
  -webkit-box-flex: 0;
  -moz-box-flex: 0;
  box-flex: 0;
  /* Modern browsers */
  flex: none;
}
.vbox {
  /* Old browsers */
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-box-align: stretch;
  display: -moz-box;
  -moz-box-orient: vertical;
  -moz-box-align: stretch;
  display: box;
  box-orient: vertical;
  box-align: stretch;
  /* Modern browsers */
  display: flex;
  flex-direction: column;
  align-items: stretch;
}
.vbox &gt; * {
  /* Old browsers */
  -webkit-box-flex: 0;
  -moz-box-flex: 0;
  box-flex: 0;
  /* Modern browsers */
  flex: none;
}
.hbox.reverse,
.vbox.reverse,
.reverse {
  /* Old browsers */
  -webkit-box-direction: reverse;
  -moz-box-direction: reverse;
  box-direction: reverse;
  /* Modern browsers */
  flex-direction: row-reverse;
}
.hbox.box-flex0,
.vbox.box-flex0,
.box-flex0 {
  /* Old browsers */
  -webkit-box-flex: 0;
  -moz-box-flex: 0;
  box-flex: 0;
  /* Modern browsers */
  flex: none;
  width: auto;
}
.hbox.box-flex1,
.vbox.box-flex1,
.box-flex1 {
  /* Old browsers */
  -webkit-box-flex: 1;
  -moz-box-flex: 1;
  box-flex: 1;
  /* Modern browsers */
  flex: 1;
}
.hbox.box-flex,
.vbox.box-flex,
.box-flex {
  /* Old browsers */
  /* Old browsers */
  -webkit-box-flex: 1;
  -moz-box-flex: 1;
  box-flex: 1;
  /* Modern browsers */
  flex: 1;
}
.hbox.box-flex2,
.vbox.box-flex2,
.box-flex2 {
  /* Old browsers */
  -webkit-box-flex: 2;
  -moz-box-flex: 2;
  box-flex: 2;
  /* Modern browsers */
  flex: 2;
}
.box-group1 {
  /*  Deprecated */
  -webkit-box-flex-group: 1;
  -moz-box-flex-group: 1;
  box-flex-group: 1;
}
.box-group2 {
  /* Deprecated */
  -webkit-box-flex-group: 2;
  -moz-box-flex-group: 2;
  box-flex-group: 2;
}
.hbox.start,
.vbox.start,
.start {
  /* Old browsers */
  -webkit-box-pack: start;
  -moz-box-pack: start;
  box-pack: start;
  /* Modern browsers */
  justify-content: flex-start;
}
.hbox.end,
.vbox.end,
.end {
  /* Old browsers */
  -webkit-box-pack: end;
  -moz-box-pack: end;
  box-pack: end;
  /* Modern browsers */
  justify-content: flex-end;
}
.hbox.center,
.vbox.center,
.center {
  /* Old browsers */
  -webkit-box-pack: center;
  -moz-box-pack: center;
  box-pack: center;
  /* Modern browsers */
  justify-content: center;
}
.hbox.baseline,
.vbox.baseline,
.baseline {
  /* Old browsers */
  -webkit-box-pack: baseline;
  -moz-box-pack: baseline;
  box-pack: baseline;
  /* Modern browsers */
  justify-content: baseline;
}
.hbox.stretch,
.vbox.stretch,
.stretch {
  /* Old browsers */
  -webkit-box-pack: stretch;
  -moz-box-pack: stretch;
  box-pack: stretch;
  /* Modern browsers */
  justify-content: stretch;
}
.hbox.align-start,
.vbox.align-start,
.align-start {
  /* Old browsers */
  -webkit-box-align: start;
  -moz-box-align: start;
  box-align: start;
  /* Modern browsers */
  align-items: flex-start;
}
.hbox.align-end,
.vbox.align-end,
.align-end {
  /* Old browsers */
  -webkit-box-align: end;
  -moz-box-align: end;
  box-align: end;
  /* Modern browsers */
  align-items: flex-end;
}
.hbox.align-center,
.vbox.align-center,
.align-center {
  /* Old browsers */
  -webkit-box-align: center;
  -moz-box-align: center;
  box-align: center;
  /* Modern browsers */
  align-items: center;
}
.hbox.align-baseline,
.vbox.align-baseline,
.align-baseline {
  /* Old browsers */
  -webkit-box-align: baseline;
  -moz-box-align: baseline;
  box-align: baseline;
  /* Modern browsers */
  align-items: baseline;
}
.hbox.align-stretch,
.vbox.align-stretch,
.align-stretch {
  /* Old browsers */
  -webkit-box-align: stretch;
  -moz-box-align: stretch;
  box-align: stretch;
  /* Modern browsers */
  align-items: stretch;
}
div.error {
  margin: 2em;
  text-align: center;
}
div.error &gt; h1 {
  font-size: 500%;
  line-height: normal;
}
div.error &gt; p {
  font-size: 200%;
  line-height: normal;
}
div.traceback-wrapper {
  text-align: left;
  max-width: 800px;
  margin: auto;
}
/**
 * Primary styles
 *
 * Author: Jupyter Development Team
 */
body {
  background-color: #fff;
  /* This makes sure that the body covers the entire window and needs to
       be in a different element than the display: box in wrapper below */
  position: absolute;
  left: 0px;
  right: 0px;
  top: 0px;
  bottom: 0px;
  overflow: visible;
}
body &gt; #header {
  /* Initially hidden to prevent FLOUC */
  display: none;
  background-color: #fff;
  /* Display over codemirror */
  position: relative;
  z-index: 100;
}
body &gt; #header #header-container {
  padding-bottom: 5px;
  padding-top: 5px;
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
}
body &gt; #header .header-bar {
  width: 100%;
  height: 1px;
  background: #e7e7e7;
  margin-bottom: -1px;
}
@media print {
  body &gt; #header {
    display: none !important;
  }
}
#header-spacer {
  width: 100%;
  visibility: hidden;
}
@media print {
  #header-spacer {
    display: none;
  }
}
#ipython_notebook {
  padding-left: 0px;
  padding-top: 1px;
  padding-bottom: 1px;
}
@media (max-width: 991px) {
  #ipython_notebook {
    margin-left: 10px;
  }
}
[dir=&quot;rtl&quot;] #ipython_notebook {
  float: right !important;
}
#noscript {
  width: auto;
  padding-top: 16px;
  padding-bottom: 16px;
  text-align: center;
  font-size: 22px;
  color: red;
  font-weight: bold;
}
#ipython_notebook img {
  height: 28px;
}
#site {
  width: 100%;
  display: none;
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  overflow: auto;
}
@media print {
  #site {
    height: auto !important;
  }
}
/* Smaller buttons */
.ui-button .ui-button-text {
  padding: 0.2em 0.8em;
  font-size: 77%;
}
input.ui-button {
  padding: 0.3em 0.9em;
}
span#login_widget {
  float: right;
}
span#login_widget &gt; .button,
#logout {
  color: #333;
  background-color: #fff;
  border-color: #ccc;
}
span#login_widget &gt; .button:focus,
#logout:focus,
span#login_widget &gt; .button.focus,
#logout.focus {
  color: #333;
  background-color: #e6e6e6;
  border-color: #8c8c8c;
}
span#login_widget &gt; .button:hover,
#logout:hover {
  color: #333;
  background-color: #e6e6e6;
  border-color: #adadad;
}
span#login_widget &gt; .button:active,
#logout:active,
span#login_widget &gt; .button.active,
#logout.active,
.open &gt; .dropdown-togglespan#login_widget &gt; .button,
.open &gt; .dropdown-toggle#logout {
  color: #333;
  background-color: #e6e6e6;
  border-color: #adadad;
}
span#login_widget &gt; .button:active:hover,
#logout:active:hover,
span#login_widget &gt; .button.active:hover,
#logout.active:hover,
.open &gt; .dropdown-togglespan#login_widget &gt; .button:hover,
.open &gt; .dropdown-toggle#logout:hover,
span#login_widget &gt; .button:active:focus,
#logout:active:focus,
span#login_widget &gt; .button.active:focus,
#logout.active:focus,
.open &gt; .dropdown-togglespan#login_widget &gt; .button:focus,
.open &gt; .dropdown-toggle#logout:focus,
span#login_widget &gt; .button:active.focus,
#logout:active.focus,
span#login_widget &gt; .button.active.focus,
#logout.active.focus,
.open &gt; .dropdown-togglespan#login_widget &gt; .button.focus,
.open &gt; .dropdown-toggle#logout.focus {
  color: #333;
  background-color: #d4d4d4;
  border-color: #8c8c8c;
}
span#login_widget &gt; .button:active,
#logout:active,
span#login_widget &gt; .button.active,
#logout.active,
.open &gt; .dropdown-togglespan#login_widget &gt; .button,
.open &gt; .dropdown-toggle#logout {
  background-image: none;
}
span#login_widget &gt; .button.disabled:hover,
#logout.disabled:hover,
span#login_widget &gt; .button[disabled]:hover,
#logout[disabled]:hover,
fieldset[disabled] span#login_widget &gt; .button:hover,
fieldset[disabled] #logout:hover,
span#login_widget &gt; .button.disabled:focus,
#logout.disabled:focus,
span#login_widget &gt; .button[disabled]:focus,
#logout[disabled]:focus,
fieldset[disabled] span#login_widget &gt; .button:focus,
fieldset[disabled] #logout:focus,
span#login_widget &gt; .button.disabled.focus,
#logout.disabled.focus,
span#login_widget &gt; .button[disabled].focus,
#logout[disabled].focus,
fieldset[disabled] span#login_widget &gt; .button.focus,
fieldset[disabled] #logout.focus {
  background-color: #fff;
  border-color: #ccc;
}
span#login_widget &gt; .button .badge,
#logout .badge {
  color: #fff;
  background-color: #333;
}
.nav-header {
  text-transform: none;
}
#header &gt; span {
  margin-top: 10px;
}
.modal_stretch .modal-dialog {
  /* Old browsers */
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-box-align: stretch;
  display: -moz-box;
  -moz-box-orient: vertical;
  -moz-box-align: stretch;
  display: box;
  box-orient: vertical;
  box-align: stretch;
  /* Modern browsers */
  display: flex;
  flex-direction: column;
  align-items: stretch;
  min-height: 80vh;
}
.modal_stretch .modal-dialog .modal-body {
  max-height: calc(100vh - 200px);
  overflow: auto;
  flex: 1;
}
@media (min-width: 768px) {
  .modal .modal-dialog {
    width: 700px;
  }
}
@media (min-width: 768px) {
  select.form-control {
    margin-left: 12px;
    margin-right: 12px;
  }
}
/*!
*
* IPython auth
*
*/
.center-nav {
  display: inline-block;
  margin-bottom: -4px;
}
/*!
*
* IPython tree view
*
*/
/* We need an invisible input field on top of the sentense*/
/* &quot;Drag file onto the list ...&quot; */
.alternate_upload {
  background-color: none;
  display: inline;
}
.alternate_upload.form {
  padding: 0;
  margin: 0;
}
.alternate_upload input.fileinput {
  text-align: center;
  vertical-align: middle;
  display: inline;
  opacity: 0;
  z-index: 2;
  width: 12ex;
  margin-right: -12ex;
}
.alternate_upload .btn-upload {
  height: 22px;
}
/**
 * Primary styles
 *
 * Author: Jupyter Development Team
 */
[dir=&quot;rtl&quot;] #tabs li {
  float: right;
}
ul#tabs {
  margin-bottom: 4px;
}
[dir=&quot;rtl&quot;] ul#tabs {
  margin-right: 0px;
}
ul#tabs a {
  padding-top: 6px;
  padding-bottom: 4px;
}
ul.breadcrumb a:focus,
ul.breadcrumb a:hover {
  text-decoration: none;
}
ul.breadcrumb i.icon-home {
  font-size: 16px;
  margin-right: 4px;
}
ul.breadcrumb span {
  color: #5e5e5e;
}
.list_toolbar {
  padding: 4px 0 4px 0;
  vertical-align: middle;
}
.list_toolbar .tree-buttons {
  padding-top: 1px;
}
[dir=&quot;rtl&quot;] .list_toolbar .tree-buttons {
  float: left !important;
}
[dir=&quot;rtl&quot;] .list_toolbar .pull-right {
  padding-top: 1px;
  float: left !important;
}
[dir=&quot;rtl&quot;] .list_toolbar .pull-left {
  float: right !important;
}
.dynamic-buttons {
  padding-top: 3px;
  display: inline-block;
}
.list_toolbar [class*=&quot;span&quot;] {
  min-height: 24px;
}
.list_header {
  font-weight: bold;
  background-color: #EEE;
}
.list_placeholder {
  font-weight: bold;
  padding-top: 4px;
  padding-bottom: 4px;
  padding-left: 7px;
  padding-right: 7px;
}
.list_container {
  margin-top: 4px;
  margin-bottom: 20px;
  border: 1px solid #ddd;
  border-radius: 2px;
}
.list_container &gt; div {
  border-bottom: 1px solid #ddd;
}
.list_container &gt; div:hover .list-item {
  background-color: red;
}
.list_container &gt; div:last-child {
  border: none;
}
.list_item:hover .list_item {
  background-color: #ddd;
}
.list_item a {
  text-decoration: none;
}
.list_item:hover {
  background-color: #fafafa;
}
.list_header &gt; div,
.list_item &gt; div {
  padding-top: 4px;
  padding-bottom: 4px;
  padding-left: 7px;
  padding-right: 7px;
  line-height: 22px;
}
.list_header &gt; div input,
.list_item &gt; div input {
  margin-right: 7px;
  margin-left: 14px;
  vertical-align: baseline;
  line-height: 22px;
  position: relative;
  top: -1px;
}
.list_header &gt; div .item_link,
.list_item &gt; div .item_link {
  margin-left: -1px;
  vertical-align: baseline;
  line-height: 22px;
}
.new-file input[type=checkbox] {
  visibility: hidden;
}
.item_name {
  line-height: 22px;
  height: 24px;
}
.item_icon {
  font-size: 14px;
  color: #5e5e5e;
  margin-right: 7px;
  margin-left: 7px;
  line-height: 22px;
  vertical-align: baseline;
}
.item_buttons {
  line-height: 1em;
  margin-left: -5px;
}
.item_buttons .btn,
.item_buttons .btn-group,
.item_buttons .input-group {
  float: left;
}
.item_buttons &gt; .btn,
.item_buttons &gt; .btn-group,
.item_buttons &gt; .input-group {
  margin-left: 5px;
}
.item_buttons .btn {
  min-width: 13ex;
}
.item_buttons .running-indicator {
  padding-top: 4px;
  color: #5cb85c;
}
.item_buttons .kernel-name {
  padding-top: 4px;
  color: #5bc0de;
  margin-right: 7px;
  float: left;
}
.toolbar_info {
  height: 24px;
  line-height: 24px;
}
.list_item input:not([type=checkbox]) {
  padding-top: 3px;
  padding-bottom: 3px;
  height: 22px;
  line-height: 14px;
  margin: 0px;
}
.highlight_text {
  color: blue;
}
#project_name {
  display: inline-block;
  padding-left: 7px;
  margin-left: -2px;
}
#project_name &gt; .breadcrumb {
  padding: 0px;
  margin-bottom: 0px;
  background-color: transparent;
  font-weight: bold;
}
#tree-selector {
  padding-right: 0px;
}
[dir=&quot;rtl&quot;] #tree-selector a {
  float: right;
}
#button-select-all {
  min-width: 50px;
}
#select-all {
  margin-left: 7px;
  margin-right: 2px;
}
.menu_icon {
  margin-right: 2px;
}
.tab-content .row {
  margin-left: 0px;
  margin-right: 0px;
}
.folder_icon:before {
  display: inline-block;
  font: normal normal normal 14px/1 FontAwesome;
  font-size: inherit;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: &quot;\f114&quot;;
}
.folder_icon:before.pull-left {
  margin-right: .3em;
}
.folder_icon:before.pull-right {
  margin-left: .3em;
}
.notebook_icon:before {
  display: inline-block;
  font: normal normal normal 14px/1 FontAwesome;
  font-size: inherit;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: &quot;\f02d&quot;;
  position: relative;
  top: -1px;
}
.notebook_icon:before.pull-left {
  margin-right: .3em;
}
.notebook_icon:before.pull-right {
  margin-left: .3em;
}
.running_notebook_icon:before {
  display: inline-block;
  font: normal normal normal 14px/1 FontAwesome;
  font-size: inherit;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: &quot;\f02d&quot;;
  position: relative;
  top: -1px;
  color: #5cb85c;
}
.running_notebook_icon:before.pull-left {
  margin-right: .3em;
}
.running_notebook_icon:before.pull-right {
  margin-left: .3em;
}
.file_icon:before {
  display: inline-block;
  font: normal normal normal 14px/1 FontAwesome;
  font-size: inherit;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: &quot;\f016&quot;;
  position: relative;
  top: -2px;
}
.file_icon:before.pull-left {
  margin-right: .3em;
}
.file_icon:before.pull-right {
  margin-left: .3em;
}
#notebook_toolbar .pull-right {
  padding-top: 0px;
  margin-right: -1px;
}
ul#new-menu {
  left: auto;
  right: 0;
}
[dir=&quot;rtl&quot;] #new-menu {
  text-align: right;
}
.kernel-menu-icon {
  padding-right: 12px;
  width: 24px;
  content: &quot;\f096&quot;;
}
.kernel-menu-icon:before {
  content: &quot;\f096&quot;;
}
.kernel-menu-icon-current:before {
  content: &quot;\f00c&quot;;
}
#tab_content {
  padding-top: 20px;
}
#running .panel-group .panel {
  margin-top: 3px;
  margin-bottom: 1em;
}
#running .panel-group .panel .panel-heading {
  background-color: #EEE;
  padding-top: 4px;
  padding-bottom: 4px;
  padding-left: 7px;
  padding-right: 7px;
  line-height: 22px;
}
#running .panel-group .panel .panel-heading a:focus,
#running .panel-group .panel .panel-heading a:hover {
  text-decoration: none;
}
#running .panel-group .panel .panel-body {
  padding: 0px;
}
#running .panel-group .panel .panel-body .list_container {
  margin-top: 0px;
  margin-bottom: 0px;
  border: 0px;
  border-radius: 0px;
}
#running .panel-group .panel .panel-body .list_container .list_item {
  border-bottom: 1px solid #ddd;
}
#running .panel-group .panel .panel-body .list_container .list_item:last-child {
  border-bottom: 0px;
}
[dir=&quot;rtl&quot;] #running .col-sm-8 {
  float: right !important;
}
.delete-button {
  display: none;
}
.duplicate-button {
  display: none;
}
.rename-button {
  display: none;
}
.shutdown-button {
  display: none;
}
.dynamic-instructions {
  display: inline-block;
  padding-top: 4px;
}
/*!
*
* IPython text editor webapp
*
*/
.selected-keymap i.fa {
  padding: 0px 5px;
}
.selected-keymap i.fa:before {
  content: &quot;\f00c&quot;;
}
#mode-menu {
  overflow: auto;
  max-height: 20em;
}
.edit_app #header {
  -webkit-box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2);
  box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2);
}
.edit_app #menubar .navbar {
  /* Use a negative 1 bottom margin, so the border overlaps the border of the
    header */
  margin-bottom: -1px;
}
.dirty-indicator {
  display: inline-block;
  font: normal normal normal 14px/1 FontAwesome;
  font-size: inherit;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  width: 20px;
}
.dirty-indicator.pull-left {
  margin-right: .3em;
}
.dirty-indicator.pull-right {
  margin-left: .3em;
}
.dirty-indicator-dirty {
  display: inline-block;
  font: normal normal normal 14px/1 FontAwesome;
  font-size: inherit;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  width: 20px;
}
.dirty-indicator-dirty.pull-left {
  margin-right: .3em;
}
.dirty-indicator-dirty.pull-right {
  margin-left: .3em;
}
.dirty-indicator-clean {
  display: inline-block;
  font: normal normal normal 14px/1 FontAwesome;
  font-size: inherit;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  width: 20px;
}
.dirty-indicator-clean.pull-left {
  margin-right: .3em;
}
.dirty-indicator-clean.pull-right {
  margin-left: .3em;
}
.dirty-indicator-clean:before {
  display: inline-block;
  font: normal normal normal 14px/1 FontAwesome;
  font-size: inherit;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: &quot;\f00c&quot;;
}
.dirty-indicator-clean:before.pull-left {
  margin-right: .3em;
}
.dirty-indicator-clean:before.pull-right {
  margin-left: .3em;
}
#filename {
  font-size: 16pt;
  display: table;
  padding: 0px 5px;
}
#current-mode {
  padding-left: 5px;
  padding-right: 5px;
}
#texteditor-backdrop {
  padding-top: 20px;
  padding-bottom: 20px;
}
@media not print {
  #texteditor-backdrop {
    background-color: #EEE;
  }
}
@media print {
  #texteditor-backdrop #texteditor-container .CodeMirror-gutter,
  #texteditor-backdrop #texteditor-container .CodeMirror-gutters {
    background-color: #fff;
  }
}
@media not print {
  #texteditor-backdrop #texteditor-container .CodeMirror-gutter,
  #texteditor-backdrop #texteditor-container .CodeMirror-gutters {
    background-color: #fff;
  }
}
@media not print {
  #texteditor-backdrop #texteditor-container {
    padding: 0px;
    background-color: #fff;
    -webkit-box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2);
    box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2);
  }
}
/*!
*
* IPython notebook
*
*/
/* CSS font colors for translated ANSI colors. */
.ansibold {
  font-weight: bold;
}
/* use dark versions for foreground, to improve visibility */
.ansiblack {
  color: black;
}
.ansired {
  color: darkred;
}
.ansigreen {
  color: darkgreen;
}
.ansiyellow {
  color: #c4a000;
}
.ansiblue {
  color: darkblue;
}
.ansipurple {
  color: darkviolet;
}
.ansicyan {
  color: steelblue;
}
.ansigray {
  color: gray;
}
/* and light for background, for the same reason */
.ansibgblack {
  background-color: black;
}
.ansibgred {
  background-color: red;
}
.ansibggreen {
  background-color: green;
}
.ansibgyellow {
  background-color: yellow;
}
.ansibgblue {
  background-color: blue;
}
.ansibgpurple {
  background-color: magenta;
}
.ansibgcyan {
  background-color: cyan;
}
.ansibggray {
  background-color: gray;
}
div.cell {
  /* Old browsers */
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-box-align: stretch;
  display: -moz-box;
  -moz-box-orient: vertical;
  -moz-box-align: stretch;
  display: box;
  box-orient: vertical;
  box-align: stretch;
  /* Modern browsers */
  display: flex;
  flex-direction: column;
  align-items: stretch;
  border-radius: 2px;
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  border-width: 1px;
  border-style: solid;
  border-color: transparent;
  width: 100%;
  padding: 5px;
  /* This acts as a spacer between cells, that is outside the border */
  margin: 0px;
  outline: none;
  border-left-width: 1px;
  padding-left: 5px;
  background: linear-gradient(to right, transparent -40px, transparent 1px, transparent 1px, transparent 100%);
}
div.cell.jupyter-soft-selected {
  border-left-color: #90CAF9;
  border-left-color: #E3F2FD;
  border-left-width: 1px;
  padding-left: 5px;
  border-right-color: #E3F2FD;
  border-right-width: 1px;
  background: #E3F2FD;
}
@media print {
  div.cell.jupyter-soft-selected {
    border-color: transparent;
  }
}
div.cell.selected {
  border-color: #ababab;
  border-left-width: 0px;
  padding-left: 6px;
  background: linear-gradient(to right, #42A5F5 -40px, #42A5F5 5px, transparent 5px, transparent 100%);
}
@media print {
  div.cell.selected {
    border-color: transparent;
  }
}
div.cell.selected.jupyter-soft-selected {
  border-left-width: 0;
  padding-left: 6px;
  background: linear-gradient(to right, #42A5F5 -40px, #42A5F5 7px, #E3F2FD 7px, #E3F2FD 100%);
}
.edit_mode div.cell.selected {
  border-color: #66BB6A;
  border-left-width: 0px;
  padding-left: 6px;
  background: linear-gradient(to right, #66BB6A -40px, #66BB6A 5px, transparent 5px, transparent 100%);
}
@media print {
  .edit_mode div.cell.selected {
    border-color: transparent;
  }
}
.prompt {
  /* This needs to be wide enough for 3 digit prompt numbers: In[100]: */
  min-width: 14ex;
  /* This padding is tuned to match the padding on the CodeMirror editor. */
  padding: 0.4em;
  margin: 0px;
  font-family: monospace;
  text-align: right;
  /* This has to match that of the the CodeMirror class line-height below */
  line-height: 1.21429em;
  /* Don't highlight prompt number selection */
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  /* Use default cursor */
  cursor: default;
}
@media (max-width: 540px) {
  .prompt {
    text-align: left;
  }
}
div.inner_cell {
  min-width: 0;
  /* Old browsers */
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-box-align: stretch;
  display: -moz-box;
  -moz-box-orient: vertical;
  -moz-box-align: stretch;
  display: box;
  box-orient: vertical;
  box-align: stretch;
  /* Modern browsers */
  display: flex;
  flex-direction: column;
  align-items: stretch;
  /* Old browsers */
  -webkit-box-flex: 1;
  -moz-box-flex: 1;
  box-flex: 1;
  /* Modern browsers */
  flex: 1;
}
/* input_area and input_prompt must match in top border and margin for alignment */
div.input_area {
  border: 1px solid #cfcfcf;
  border-radius: 2px;
  background: #f7f7f7;
  line-height: 1.21429em;
}
/* This is needed so that empty prompt areas can collapse to zero height when there
   is no content in the output_subarea and the prompt. The main purpose of this is
   to make sure that empty JavaScript output_subareas have no height. */
div.prompt:empty {
  padding-top: 0;
  padding-bottom: 0;
}
div.unrecognized_cell {
  padding: 5px 5px 5px 0px;
  /* Old browsers */
  display: -webkit-box;
  -webkit-box-orient: horizontal;
  -webkit-box-align: stretch;
  display: -moz-box;
  -moz-box-orient: horizontal;
  -moz-box-align: stretch;
  display: box;
  box-orient: horizontal;
  box-align: stretch;
  /* Modern browsers */
  display: flex;
  flex-direction: row;
  align-items: stretch;
}
div.unrecognized_cell .inner_cell {
  border-radius: 2px;
  padding: 5px;
  font-weight: bold;
  color: red;
  border: 1px solid #cfcfcf;
  background: #eaeaea;
}
div.unrecognized_cell .inner_cell a {
  color: inherit;
  text-decoration: none;
}
div.unrecognized_cell .inner_cell a:hover {
  color: inherit;
  text-decoration: none;
}
@media (max-width: 540px) {
  div.unrecognized_cell &gt; div.prompt {
    display: none;
  }
}
div.code_cell {
  /* avoid page breaking on code cells when printing */
}
@media print {
  div.code_cell {
    page-break-inside: avoid;
  }
}
/* any special styling for code cells that are currently running goes here */
div.input {
  page-break-inside: avoid;
  /* Old browsers */
  display: -webkit-box;
  -webkit-box-orient: horizontal;
  -webkit-box-align: stretch;
  display: -moz-box;
  -moz-box-orient: horizontal;
  -moz-box-align: stretch;
  display: box;
  box-orient: horizontal;
  box-align: stretch;
  /* Modern browsers */
  display: flex;
  flex-direction: row;
  align-items: stretch;
}
@media (max-width: 540px) {
  div.input {
    /* Old browsers */
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-box-align: stretch;
    display: -moz-box;
    -moz-box-orient: vertical;
    -moz-box-align: stretch;
    display: box;
    box-orient: vertical;
    box-align: stretch;
    /* Modern browsers */
    display: flex;
    flex-direction: column;
    align-items: stretch;
  }
}
/* input_area and input_prompt must match in top border and margin for alignment */
div.input_prompt {
  color: #303F9F;
  border-top: 1px solid transparent;
}
div.input_area &gt; div.highlight {
  margin: 0.4em;
  border: none;
  padding: 0px;
  background-color: transparent;
}
div.input_area &gt; div.highlight &gt; pre {
  margin: 0px;
  border: none;
  padding: 0px;
  background-color: transparent;
}
/* The following gets added to the &lt;head&gt; if it is detected that the user has a
 * monospace font with inconsistent normal/bold/italic height.  See
 * notebookmain.js.  Such fonts will have keywords vertically offset with
 * respect to the rest of the text.  The user should select a better font.
 * See: https://github.com/ipython/ipython/issues/1503
 *
 * .CodeMirror span {
 *      vertical-align: bottom;
 * }
 */
.CodeMirror {
  line-height: 1.21429em;
  /* Changed from 1em to our global default */
  font-size: 14px;
  height: auto;
  /* Changed to auto to autogrow */
  background: none;
  /* Changed from white to allow our bg to show through */
}
.CodeMirror-scroll {
  /*  The CodeMirror docs are a bit fuzzy on if overflow-y should be hidden or visible.*/
  /*  We have found that if it is visible, vertical scrollbars appear with font size changes.*/
  overflow-y: hidden;
  overflow-x: auto;
}
.CodeMirror-lines {
  /* In CM2, this used to be 0.4em, but in CM3 it went to 4px. We need the em value because */
  /* we have set a different line-height and want this to scale with that. */
  padding: 0.4em;
}
.CodeMirror-linenumber {
  padding: 0 8px 0 4px;
}
.CodeMirror-gutters {
  border-bottom-left-radius: 2px;
  border-top-left-radius: 2px;
}
.CodeMirror pre {
  /* In CM3 this went to 4px from 0 in CM2. We need the 0 value because of how we size */
  /* .CodeMirror-lines */
  padding: 0;
  border: 0;
  border-radius: 0;
}
/*

Original style from softwaremaniacs.org (c) Ivan Sagalaev &lt;Maniac@SoftwareManiacs.Org&gt;
Adapted from GitHub theme

*/
.highlight-base {
  color: #000;
}
.highlight-variable {
  color: #000;
}
.highlight-variable-2 {
  color: #1a1a1a;
}
.highlight-variable-3 {
  color: #333333;
}
.highlight-string {
  color: #BA2121;
}
.highlight-comment {
  color: #408080;
  font-style: italic;
}
.highlight-number {
  color: #080;
}
.highlight-atom {
  color: #88F;
}
.highlight-keyword {
  color: #008000;
  font-weight: bold;
}
.highlight-builtin {
  color: #008000;
}
.highlight-error {
  color: #f00;
}
.highlight-operator {
  color: #AA22FF;
  font-weight: bold;
}
.highlight-meta {
  color: #AA22FF;
}
/* previously not defined, copying from default codemirror */
.highlight-def {
  color: #00f;
}
.highlight-string-2 {
  color: #f50;
}
.highlight-qualifier {
  color: #555;
}
.highlight-bracket {
  color: #997;
}
.highlight-tag {
  color: #170;
}
.highlight-attribute {
  color: #00c;
}
.highlight-header {
  color: blue;
}
.highlight-quote {
  color: #090;
}
.highlight-link {
  color: #00c;
}
/* apply the same style to codemirror */
.cm-s-ipython span.cm-keyword {
  color: #008000;
  font-weight: bold;
}
.cm-s-ipython span.cm-atom {
  color: #88F;
}
.cm-s-ipython span.cm-number {
  color: #080;
}
.cm-s-ipython span.cm-def {
  color: #00f;
}
.cm-s-ipython span.cm-variable {
  color: #000;
}
.cm-s-ipython span.cm-operator {
  color: #AA22FF;
  font-weight: bold;
}
.cm-s-ipython span.cm-variable-2 {
  color: #1a1a1a;
}
.cm-s-ipython span.cm-variable-3 {
  color: #333333;
}
.cm-s-ipython span.cm-comment {
  color: #408080;
  font-style: italic;
}
.cm-s-ipython span.cm-string {
  color: #BA2121;
}
.cm-s-ipython span.cm-string-2 {
  color: #f50;
}
.cm-s-ipython span.cm-meta {
  color: #AA22FF;
}
.cm-s-ipython span.cm-qualifier {
  color: #555;
}
.cm-s-ipython span.cm-builtin {
  color: #008000;
}
.cm-s-ipython span.cm-bracket {
  color: #997;
}
.cm-s-ipython span.cm-tag {
  color: #170;
}
.cm-s-ipython span.cm-attribute {
  color: #00c;
}
.cm-s-ipython span.cm-header {
  color: blue;
}
.cm-s-ipython span.cm-quote {
  color: #090;
}
.cm-s-ipython span.cm-link {
  color: #00c;
}
.cm-s-ipython span.cm-error {
  color: #f00;
}
.cm-s-ipython span.cm-tab {
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAMCAYAAAAkuj5RAAAAAXNSR0IArs4c6QAAAGFJREFUSMft1LsRQFAQheHPowAKoACx3IgEKtaEHujDjORSgWTH/ZOdnZOcM/sgk/kFFWY0qV8foQwS4MKBCS3qR6ixBJvElOobYAtivseIE120FaowJPN75GMu8j/LfMwNjh4HUpwg4LUAAAAASUVORK5CYII=);
  background-position: right;
  background-repeat: no-repeat;
}
div.output_wrapper {
  /* this position must be relative to enable descendents to be absolute within it */
  position: relative;
  /* Old browsers */
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-box-align: stretch;
  display: -moz-box;
  -moz-box-orient: vertical;
  -moz-box-align: stretch;
  display: box;
  box-orient: vertical;
  box-align: stretch;
  /* Modern browsers */
  display: flex;
  flex-direction: column;
  align-items: stretch;
  z-index: 1;
}
/* class for the output area when it should be height-limited */
div.output_scroll {
  /* ideally, this would be max-height, but FF barfs all over that */
  height: 24em;
  /* FF needs this *and the wrapper* to specify full width, or it will shrinkwrap */
  width: 100%;
  overflow: auto;
  border-radius: 2px;
  -webkit-box-shadow: inset 0 2px 8px rgba(0, 0, 0, 0.8);
  box-shadow: inset 0 2px 8px rgba(0, 0, 0, 0.8);
  display: block;
}
/* output div while it is collapsed */
div.output_collapsed {
  margin: 0px;
  padding: 0px;
  /* Old browsers */
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-box-align: stretch;
  display: -moz-box;
  -moz-box-orient: vertical;
  -moz-box-align: stretch;
  display: box;
  box-orient: vertical;
  box-align: stretch;
  /* Modern browsers */
  display: flex;
  flex-direction: column;
  align-items: stretch;
}
div.out_prompt_overlay {
  height: 100%;
  padding: 0px 0.4em;
  position: absolute;
  border-radius: 2px;
}
div.out_prompt_overlay:hover {
  /* use inner shadow to get border that is computed the same on WebKit/FF */
  -webkit-box-shadow: inset 0 0 1px #000;
  box-shadow: inset 0 0 1px #000;
  background: rgba(240, 240, 240, 0.5);
}
div.output_prompt {
  color: #D84315;
}
/* This class is the outer container of all output sections. */
div.output_area {
  padding: 0px;
  page-break-inside: avoid;
  /* Old browsers */
  display: -webkit-box;
  -webkit-box-orient: horizontal;
  -webkit-box-align: stretch;
  display: -moz-box;
  -moz-box-orient: horizontal;
  -moz-box-align: stretch;
  display: box;
  box-orient: horizontal;
  box-align: stretch;
  /* Modern browsers */
  display: flex;
  flex-direction: row;
  align-items: stretch;
}
div.output_area .MathJax_Display {
  text-align: left !important;
}
div.output_area .rendered_html table {
  margin-left: 0;
  margin-right: 0;
}
div.output_area .rendered_html img {
  margin-left: 0;
  margin-right: 0;
}
div.output_area img,
div.output_area svg {
  max-width: 100%;
  height: auto;
}
div.output_area img.unconfined,
div.output_area svg.unconfined {
  max-width: none;
}
/* This is needed to protect the pre formating from global settings such
   as that of bootstrap */
.output {
  /* Old browsers */
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-box-align: stretch;
  display: -moz-box;
  -moz-box-orient: vertical;
  -moz-box-align: stretch;
  display: box;
  box-orient: vertical;
  box-align: stretch;
  /* Modern browsers */
  display: flex;
  flex-direction: column;
  align-items: stretch;
}
@media (max-width: 540px) {
  div.output_area {
    /* Old browsers */
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-box-align: stretch;
    display: -moz-box;
    -moz-box-orient: vertical;
    -moz-box-align: stretch;
    display: box;
    box-orient: vertical;
    box-align: stretch;
    /* Modern browsers */
    display: flex;
    flex-direction: column;
    align-items: stretch;
  }
}
div.output_area pre {
  margin: 0;
  padding: 0;
  border: 0;
  vertical-align: baseline;
  color: black;
  background-color: transparent;
  border-radius: 0;
}
/* This class is for the output subarea inside the output_area and after
   the prompt div. */
div.output_subarea {
  overflow-x: auto;
  padding: 0.4em;
  /* Old browsers */
  -webkit-box-flex: 1;
  -moz-box-flex: 1;
  box-flex: 1;
  /* Modern browsers */
  flex: 1;
  max-width: calc(100% - 14ex);
}
div.output_scroll div.output_subarea {
  overflow-x: visible;
}
/* The rest of the output_* classes are for special styling of the different
   output types */
/* all text output has this class: */
div.output_text {
  text-align: left;
  color: #000;
  /* This has to match that of the the CodeMirror class line-height below */
  line-height: 1.21429em;
}
/* stdout/stderr are 'text' as well as 'stream', but execute_result/error are *not* streams */
div.output_stderr {
  background: #fdd;
  /* very light red background for stderr */
}
div.output_latex {
  text-align: left;
}
/* Empty output_javascript divs should have no height */
div.output_javascript:empty {
  padding: 0;
}
.js-error {
  color: darkred;
}
/* raw_input styles */
div.raw_input_container {
  line-height: 1.21429em;
  padding-top: 5px;
}
pre.raw_input_prompt {
  /* nothing needed here. */
}
input.raw_input {
  font-family: monospace;
  font-size: inherit;
  color: inherit;
  width: auto;
  /* make sure input baseline aligns with prompt */
  vertical-align: baseline;
  /* padding + margin = 0.5em between prompt and cursor */
  padding: 0em 0.25em;
  margin: 0em 0.25em;
}
input.raw_input:focus {
  box-shadow: none;
}
p.p-space {
  margin-bottom: 10px;
}
div.output_unrecognized {
  padding: 5px;
  font-weight: bold;
  color: red;
}
div.output_unrecognized a {
  color: inherit;
  text-decoration: none;
}
div.output_unrecognized a:hover {
  color: inherit;
  text-decoration: none;
}
.rendered_html {
  color: #000;
  /* any extras will just be numbers: */
}
.rendered_html em {
  font-style: italic;
}
.rendered_html strong {
  font-weight: bold;
}
.rendered_html u {
  text-decoration: underline;
}
.rendered_html :link {
  text-decoration: underline;
}
.rendered_html :visited {
  text-decoration: underline;
}
.rendered_html h1 {
  font-size: 185.7%;
  margin: 1.08em 0 0 0;
  font-weight: bold;
  line-height: 1.0;
}
.rendered_html h2 {
  font-size: 157.1%;
  margin: 1.27em 0 0 0;
  font-weight: bold;
  line-height: 1.0;
}
.rendered_html h3 {
  font-size: 128.6%;
  margin: 1.55em 0 0 0;
  font-weight: bold;
  line-height: 1.0;
}
.rendered_html h4 {
  font-size: 100%;
  margin: 2em 0 0 0;
  font-weight: bold;
  line-height: 1.0;
}
.rendered_html h5 {
  font-size: 100%;
  margin: 2em 0 0 0;
  font-weight: bold;
  line-height: 1.0;
  font-style: italic;
}
.rendered_html h6 {
  font-size: 100%;
  margin: 2em 0 0 0;
  font-weight: bold;
  line-height: 1.0;
  font-style: italic;
}
.rendered_html h1:first-child {
  margin-top: 0.538em;
}
.rendered_html h2:first-child {
  margin-top: 0.636em;
}
.rendered_html h3:first-child {
  margin-top: 0.777em;
}
.rendered_html h4:first-child {
  margin-top: 1em;
}
.rendered_html h5:first-child {
  margin-top: 1em;
}
.rendered_html h6:first-child {
  margin-top: 1em;
}
.rendered_html ul {
  list-style: disc;
  margin: 0em 2em;
  padding-left: 0px;
}
.rendered_html ul ul {
  list-style: square;
  margin: 0em 2em;
}
.rendered_html ul ul ul {
  list-style: circle;
  margin: 0em 2em;
}
.rendered_html ol {
  list-style: decimal;
  margin: 0em 2em;
  padding-left: 0px;
}
.rendered_html ol ol {
  list-style: upper-alpha;
  margin: 0em 2em;
}
.rendered_html ol ol ol {
  list-style: lower-alpha;
  margin: 0em 2em;
}
.rendered_html ol ol ol ol {
  list-style: lower-roman;
  margin: 0em 2em;
}
.rendered_html ol ol ol ol ol {
  list-style: decimal;
  margin: 0em 2em;
}
.rendered_html * + ul {
  margin-top: 1em;
}
.rendered_html * + ol {
  margin-top: 1em;
}
.rendered_html hr {
  color: black;
  background-color: black;
}
.rendered_html pre {
  margin: 1em 2em;
}
.rendered_html pre,
.rendered_html code {
  border: 0;
  background-color: #fff;
  color: #000;
  font-size: 100%;
  padding: 0px;
}
.rendered_html blockquote {
  margin: 1em 2em;
}
.rendered_html table {
  margin-left: auto;
  margin-right: auto;
  border: 1px solid black;
  border-collapse: collapse;
}
.rendered_html tr,
.rendered_html th,
.rendered_html td {
  border: 1px solid black;
  border-collapse: collapse;
  margin: 1em 2em;
}
.rendered_html td,
.rendered_html th {
  text-align: left;
  vertical-align: middle;
  padding: 4px;
}
.rendered_html th {
  font-weight: bold;
}
.rendered_html * + table {
  margin-top: 1em;
}
.rendered_html p {
  text-align: left;
}
.rendered_html * + p {
  margin-top: 1em;
}
.rendered_html img {
  display: block;
  margin-left: auto;
  margin-right: auto;
}
.rendered_html * + img {
  margin-top: 1em;
}
.rendered_html img,
.rendered_html svg {
  max-width: 100%;
  height: auto;
}
.rendered_html img.unconfined,
.rendered_html svg.unconfined {
  max-width: none;
}
div.text_cell {
  /* Old browsers */
  display: -webkit-box;
  -webkit-box-orient: horizontal;
  -webkit-box-align: stretch;
  display: -moz-box;
  -moz-box-orient: horizontal;
  -moz-box-align: stretch;
  display: box;
  box-orient: horizontal;
  box-align: stretch;
  /* Modern browsers */
  display: flex;
  flex-direction: row;
  align-items: stretch;
}
@media (max-width: 540px) {
  div.text_cell &gt; div.prompt {
    display: none;
  }
}
div.text_cell_render {
  /*font-family: &quot;Helvetica Neue&quot;, Arial, Helvetica, Geneva, sans-serif;*/
  outline: none;
  resize: none;
  width: inherit;
  border-style: none;
  padding: 0.5em 0.5em 0.5em 0.4em;
  color: #000;
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
}
a.anchor-link:link {
  text-decoration: none;
  padding: 0px 20px;
  visibility: hidden;
}
h1:hover .anchor-link,
h2:hover .anchor-link,
h3:hover .anchor-link,
h4:hover .anchor-link,
h5:hover .anchor-link,
h6:hover .anchor-link {
  visibility: visible;
}
.text_cell.rendered .input_area {
  display: none;
}
.text_cell.rendered .rendered_html {
  overflow-x: auto;
  overflow-y: hidden;
}
.text_cell.unrendered .text_cell_render {
  display: none;
}
.cm-header-1,
.cm-header-2,
.cm-header-3,
.cm-header-4,
.cm-header-5,
.cm-header-6 {
  font-weight: bold;
  font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, sans-serif;
}
.cm-header-1 {
  font-size: 185.7%;
}
.cm-header-2 {
  font-size: 157.1%;
}
.cm-header-3 {
  font-size: 128.6%;
}
.cm-header-4 {
  font-size: 110%;
}
.cm-header-5 {
  font-size: 100%;
  font-style: italic;
}
.cm-header-6 {
  font-size: 100%;
  font-style: italic;
}
/*!
*
* IPython notebook webapp
*
*/
@media (max-width: 767px) {
  .notebook_app {
    padding-left: 0px;
    padding-right: 0px;
  }
}
#ipython-main-app {
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  height: 100%;
}
div#notebook_panel {
  margin: 0px;
  padding: 0px;
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  height: 100%;
}
div#notebook {
  font-size: 14px;
  line-height: 20px;
  overflow-y: hidden;
  overflow-x: auto;
  width: 100%;
  /* This spaces the page away from the edge of the notebook area */
  padding-top: 20px;
  margin: 0px;
  outline: none;
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  min-height: 100%;
}
@media not print {
  #notebook-container {
    padding: 15px;
    background-color: #fff;
    min-height: 0;
    -webkit-box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2);
    box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2);
  }
}
@media print {
  #notebook-container {
    width: 100%;
  }
}
div.ui-widget-content {
  border: 1px solid #ababab;
  outline: none;
}
pre.dialog {
  background-color: #f7f7f7;
  border: 1px solid #ddd;
  border-radius: 2px;
  padding: 0.4em;
  padding-left: 2em;
}
p.dialog {
  padding: 0.2em;
}
/* Word-wrap output correctly.  This is the CSS3 spelling, though Firefox seems
   to not honor it correctly.  Webkit browsers (Chrome, rekonq, Safari) do.
 */
pre,
code,
kbd,
samp {
  white-space: pre-wrap;
}
#fonttest {
  font-family: monospace;
}
p {
  margin-bottom: 0;
}
.end_space {
  min-height: 100px;
  transition: height .2s ease;
}
.notebook_app &gt; #header {
  -webkit-box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2);
  box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2);
}
@media not print {
  .notebook_app {
    background-color: #EEE;
  }
}
kbd {
  border-style: solid;
  border-width: 1px;
  box-shadow: none;
  margin: 2px;
  padding-left: 2px;
  padding-right: 2px;
  padding-top: 1px;
  padding-bottom: 1px;
}
/* CSS for the cell toolbar */
.celltoolbar {
  border: thin solid #CFCFCF;
  border-bottom: none;
  background: #EEE;
  border-radius: 2px 2px 0px 0px;
  width: 100%;
  height: 29px;
  padding-right: 4px;
  /* Old browsers */
  display: -webkit-box;
  -webkit-box-orient: horizontal;
  -webkit-box-align: stretch;
  display: -moz-box;
  -moz-box-orient: horizontal;
  -moz-box-align: stretch;
  display: box;
  box-orient: horizontal;
  box-align: stretch;
  /* Modern browsers */
  display: flex;
  flex-direction: row;
  align-items: stretch;
  /* Old browsers */
  -webkit-box-pack: end;
  -moz-box-pack: end;
  box-pack: end;
  /* Modern browsers */
  justify-content: flex-end;
  display: -webkit-flex;
}
@media print {
  .celltoolbar {
    display: none;
  }
}
.ctb_hideshow {
  display: none;
  vertical-align: bottom;
}
/* ctb_show is added to the ctb_hideshow div to show the cell toolbar.
   Cell toolbars are only shown when the ctb_global_show class is also set.
*/
.ctb_global_show .ctb_show.ctb_hideshow {
  display: block;
}
.ctb_global_show .ctb_show + .input_area,
.ctb_global_show .ctb_show + div.text_cell_input,
.ctb_global_show .ctb_show ~ div.text_cell_render {
  border-top-right-radius: 0px;
  border-top-left-radius: 0px;
}
.ctb_global_show .ctb_show ~ div.text_cell_render {
  border: 1px solid #cfcfcf;
}
.celltoolbar {
  font-size: 87%;
  padding-top: 3px;
}
.celltoolbar select {
  display: block;
  width: 100%;
  height: 32px;
  padding: 6px 12px;
  font-size: 13px;
  line-height: 1.42857143;
  color: #555555;
  background-color: #fff;
  background-image: none;
  border: 1px solid #ccc;
  border-radius: 2px;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
  -webkit-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
  -o-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
  transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
  height: 30px;
  padding: 5px 10px;
  font-size: 12px;
  line-height: 1.5;
  border-radius: 1px;
  width: inherit;
  font-size: inherit;
  height: 22px;
  padding: 0px;
  display: inline-block;
}
.celltoolbar select:focus {
  border-color: #66afe9;
  outline: 0;
  -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6);
  box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6);
}
.celltoolbar select::-moz-placeholder {
  color: #999;
  opacity: 1;
}
.celltoolbar select:-ms-input-placeholder {
  color: #999;
}
.celltoolbar select::-webkit-input-placeholder {
  color: #999;
}
.celltoolbar select::-ms-expand {
  border: 0;
  background-color: transparent;
}
.celltoolbar select[disabled],
.celltoolbar select[readonly],
fieldset[disabled] .celltoolbar select {
  background-color: #eeeeee;
  opacity: 1;
}
.celltoolbar select[disabled],
fieldset[disabled] .celltoolbar select {
  cursor: not-allowed;
}
textarea.celltoolbar select {
  height: auto;
}
select.celltoolbar select {
  height: 30px;
  line-height: 30px;
}
textarea.celltoolbar select,
select[multiple].celltoolbar select {
  height: auto;
}
.celltoolbar label {
  margin-left: 5px;
  margin-right: 5px;
}
.completions {
  position: absolute;
  z-index: 110;
  overflow: hidden;
  border: 1px solid #ababab;
  border-radius: 2px;
  -webkit-box-shadow: 0px 6px 10px -1px #adadad;
  box-shadow: 0px 6px 10px -1px #adadad;
  line-height: 1;
}
.completions select {
  background: white;
  outline: none;
  border: none;
  padding: 0px;
  margin: 0px;
  overflow: auto;
  font-family: monospace;
  font-size: 110%;
  color: #000;
  width: auto;
}
.completions select option.context {
  color: #286090;
}
#kernel_logo_widget {
  float: right !important;
  float: right;
}
#kernel_logo_widget .current_kernel_logo {
  display: none;
  margin-top: -1px;
  margin-bottom: -1px;
  width: 32px;
  height: 32px;
}
#menubar {
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  margin-top: 1px;
}
#menubar .navbar {
  border-top: 1px;
  border-radius: 0px 0px 2px 2px;
  margin-bottom: 0px;
}
#menubar .navbar-toggle {
  float: left;
  padding-top: 7px;
  padding-bottom: 7px;
  border: none;
}
#menubar .navbar-collapse {
  clear: left;
}
.nav-wrapper {
  border-bottom: 1px solid #e7e7e7;
}
i.menu-icon {
  padding-top: 4px;
}
ul#help_menu li a {
  overflow: hidden;
  padding-right: 2.2em;
}
ul#help_menu li a i {
  margin-right: -1.2em;
}
.dropdown-submenu {
  position: relative;
}
.dropdown-submenu &gt; .dropdown-menu {
  top: 0;
  left: 100%;
  margin-top: -6px;
  margin-left: -1px;
}
.dropdown-submenu:hover &gt; .dropdown-menu {
  display: block;
}
.dropdown-submenu &gt; a:after {
  display: inline-block;
  font: normal normal normal 14px/1 FontAwesome;
  font-size: inherit;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  display: block;
  content: &quot;\f0da&quot;;
  float: right;
  color: #333333;
  margin-top: 2px;
  margin-right: -10px;
}
.dropdown-submenu &gt; a:after.pull-left {
  margin-right: .3em;
}
.dropdown-submenu &gt; a:after.pull-right {
  margin-left: .3em;
}
.dropdown-submenu:hover &gt; a:after {
  color: #262626;
}
.dropdown-submenu.pull-left {
  float: none;
}
.dropdown-submenu.pull-left &gt; .dropdown-menu {
  left: -100%;
  margin-left: 10px;
}
#notification_area {
  float: right !important;
  float: right;
  z-index: 10;
}
.indicator_area {
  float: right !important;
  float: right;
  color: #777;
  margin-left: 5px;
  margin-right: 5px;
  width: 11px;
  z-index: 10;
  text-align: center;
  width: auto;
}
#kernel_indicator {
  float: right !important;
  float: right;
  color: #777;
  margin-left: 5px;
  margin-right: 5px;
  width: 11px;
  z-index: 10;
  text-align: center;
  width: auto;
  border-left: 1px solid;
}
#kernel_indicator .kernel_indicator_name {
  padding-left: 5px;
  padding-right: 5px;
}
#modal_indicator {
  float: right !important;
  float: right;
  color: #777;
  margin-left: 5px;
  margin-right: 5px;
  width: 11px;
  z-index: 10;
  text-align: center;
  width: auto;
}
#readonly-indicator {
  float: right !important;
  float: right;
  color: #777;
  margin-left: 5px;
  margin-right: 5px;
  width: 11px;
  z-index: 10;
  text-align: center;
  width: auto;
  margin-top: 2px;
  margin-bottom: 0px;
  margin-left: 0px;
  margin-right: 0px;
  display: none;
}
.modal_indicator:before {
  width: 1.28571429em;
  text-align: center;
}
.edit_mode .modal_indicator:before {
  display: inline-block;
  font: normal normal normal 14px/1 FontAwesome;
  font-size: inherit;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: &quot;\f040&quot;;
}
.edit_mode .modal_indicator:before.pull-left {
  margin-right: .3em;
}
.edit_mode .modal_indicator:before.pull-right {
  margin-left: .3em;
}
.command_mode .modal_indicator:before {
  display: inline-block;
  font: normal normal normal 14px/1 FontAwesome;
  font-size: inherit;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: ' ';
}
.command_mode .modal_indicator:before.pull-left {
  margin-right: .3em;
}
.command_mode .modal_indicator:before.pull-right {
  margin-left: .3em;
}
.kernel_idle_icon:before {
  display: inline-block;
  font: normal normal normal 14px/1 FontAwesome;
  font-size: inherit;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: &quot;\f10c&quot;;
}
.kernel_idle_icon:before.pull-left {
  margin-right: .3em;
}
.kernel_idle_icon:before.pull-right {
  margin-left: .3em;
}
.kernel_busy_icon:before {
  display: inline-block;
  font: normal normal normal 14px/1 FontAwesome;
  font-size: inherit;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: &quot;\f111&quot;;
}
.kernel_busy_icon:before.pull-left {
  margin-right: .3em;
}
.kernel_busy_icon:before.pull-right {
  margin-left: .3em;
}
.kernel_dead_icon:before {
  display: inline-block;
  font: normal normal normal 14px/1 FontAwesome;
  font-size: inherit;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: &quot;\f1e2&quot;;
}
.kernel_dead_icon:before.pull-left {
  margin-right: .3em;
}
.kernel_dead_icon:before.pull-right {
  margin-left: .3em;
}
.kernel_disconnected_icon:before {
  display: inline-block;
  font: normal normal normal 14px/1 FontAwesome;
  font-size: inherit;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: &quot;\f127&quot;;
}
.kernel_disconnected_icon:before.pull-left {
  margin-right: .3em;
}
.kernel_disconnected_icon:before.pull-right {
  margin-left: .3em;
}
.notification_widget {
  color: #777;
  z-index: 10;
  background: rgba(240, 240, 240, 0.5);
  margin-right: 4px;
  color: #333;
  background-color: #fff;
  border-color: #ccc;
}
.notification_widget:focus,
.notification_widget.focus {
  color: #333;
  background-color: #e6e6e6;
  border-color: #8c8c8c;
}
.notification_widget:hover {
  color: #333;
  background-color: #e6e6e6;
  border-color: #adadad;
}
.notification_widget:active,
.notification_widget.active,
.open &gt; .dropdown-toggle.notification_widget {
  color: #333;
  background-color: #e6e6e6;
  border-color: #adadad;
}
.notification_widget:active:hover,
.notification_widget.active:hover,
.open &gt; .dropdown-toggle.notification_widget:hover,
.notification_widget:active:focus,
.notification_widget.active:focus,
.open &gt; .dropdown-toggle.notification_widget:focus,
.notification_widget:active.focus,
.notification_widget.active.focus,
.open &gt; .dropdown-toggle.notification_widget.focus {
  color: #333;
  background-color: #d4d4d4;
  border-color: #8c8c8c;
}
.notification_widget:active,
.notification_widget.active,
.open &gt; .dropdown-toggle.notification_widget {
  background-image: none;
}
.notification_widget.disabled:hover,
.notification_widget[disabled]:hover,
fieldset[disabled] .notification_widget:hover,
.notification_widget.disabled:focus,
.notification_widget[disabled]:focus,
fieldset[disabled] .notification_widget:focus,
.notification_widget.disabled.focus,
.notification_widget[disabled].focus,
fieldset[disabled] .notification_widget.focus {
  background-color: #fff;
  border-color: #ccc;
}
.notification_widget .badge {
  color: #fff;
  background-color: #333;
}
.notification_widget.warning {
  color: #fff;
  background-color: #f0ad4e;
  border-color: #eea236;
}
.notification_widget.warning:focus,
.notification_widget.warning.focus {
  color: #fff;
  background-color: #ec971f;
  border-color: #985f0d;
}
.notification_widget.warning:hover {
  color: #fff;
  background-color: #ec971f;
  border-color: #d58512;
}
.notification_widget.warning:active,
.notification_widget.warning.active,
.open &gt; .dropdown-toggle.notification_widget.warning {
  color: #fff;
  background-color: #ec971f;
  border-color: #d58512;
}
.notification_widget.warning:active:hover,
.notification_widget.warning.active:hover,
.open &gt; .dropdown-toggle.notification_widget.warning:hover,
.notification_widget.warning:active:focus,
.notification_widget.warning.active:focus,
.open &gt; .dropdown-toggle.notification_widget.warning:focus,
.notification_widget.warning:active.focus,
.notification_widget.warning.active.focus,
.open &gt; .dropdown-toggle.notification_widget.warning.focus {
  color: #fff;
  background-color: #d58512;
  border-color: #985f0d;
}
.notification_widget.warning:active,
.notification_widget.warning.active,
.open &gt; .dropdown-toggle.notification_widget.warning {
  background-image: none;
}
.notification_widget.warning.disabled:hover,
.notification_widget.warning[disabled]:hover,
fieldset[disabled] .notification_widget.warning:hover,
.notification_widget.warning.disabled:focus,
.notification_widget.warning[disabled]:focus,
fieldset[disabled] .notification_widget.warning:focus,
.notification_widget.warning.disabled.focus,
.notification_widget.warning[disabled].focus,
fieldset[disabled] .notification_widget.warning.focus {
  background-color: #f0ad4e;
  border-color: #eea236;
}
.notification_widget.warning .badge {
  color: #f0ad4e;
  background-color: #fff;
}
.notification_widget.success {
  color: #fff;
  background-color: #5cb85c;
  border-color: #4cae4c;
}
.notification_widget.success:focus,
.notification_widget.success.focus {
  color: #fff;
  background-color: #449d44;
  border-color: #255625;
}
.notification_widget.success:hover {
  color: #fff;
  background-color: #449d44;
  border-color: #398439;
}
.notification_widget.success:active,
.notification_widget.success.active,
.open &gt; .dropdown-toggle.notification_widget.success {
  color: #fff;
  background-color: #449d44;
  border-color: #398439;
}
.notification_widget.success:active:hover,
.notification_widget.success.active:hover,
.open &gt; .dropdown-toggle.notification_widget.success:hover,
.notification_widget.success:active:focus,
.notification_widget.success.active:focus,
.open &gt; .dropdown-toggle.notification_widget.success:focus,
.notification_widget.success:active.focus,
.notification_widget.success.active.focus,
.open &gt; .dropdown-toggle.notification_widget.success.focus {
  color: #fff;
  background-color: #398439;
  border-color: #255625;
}
.notification_widget.success:active,
.notification_widget.success.active,
.open &gt; .dropdown-toggle.notification_widget.success {
  background-image: none;
}
.notification_widget.success.disabled:hover,
.notification_widget.success[disabled]:hover,
fieldset[disabled] .notification_widget.success:hover,
.notification_widget.success.disabled:focus,
.notification_widget.success[disabled]:focus,
fieldset[disabled] .notification_widget.success:focus,
.notification_widget.success.disabled.focus,
.notification_widget.success[disabled].focus,
fieldset[disabled] .notification_widget.success.focus {
  background-color: #5cb85c;
  border-color: #4cae4c;
}
.notification_widget.success .badge {
  color: #5cb85c;
  background-color: #fff;
}
.notification_widget.info {
  color: #fff;
  background-color: #5bc0de;
  border-color: #46b8da;
}
.notification_widget.info:focus,
.notification_widget.info.focus {
  color: #fff;
  background-color: #31b0d5;
  border-color: #1b6d85;
}
.notification_widget.info:hover {
  color: #fff;
  background-color: #31b0d5;
  border-color: #269abc;
}
.notification_widget.info:active,
.notification_widget.info.active,
.open &gt; .dropdown-toggle.notification_widget.info {
  color: #fff;
  background-color: #31b0d5;
  border-color: #269abc;
}
.notification_widget.info:active:hover,
.notification_widget.info.active:hover,
.open &gt; .dropdown-toggle.notification_widget.info:hover,
.notification_widget.info:active:focus,
.notification_widget.info.active:focus,
.open &gt; .dropdown-toggle.notification_widget.info:focus,
.notification_widget.info:active.focus,
.notification_widget.info.active.focus,
.open &gt; .dropdown-toggle.notification_widget.info.focus {
  color: #fff;
  background-color: #269abc;
  border-color: #1b6d85;
}
.notification_widget.info:active,
.notification_widget.info.active,
.open &gt; .dropdown-toggle.notification_widget.info {
  background-image: none;
}
.notification_widget.info.disabled:hover,
.notification_widget.info[disabled]:hover,
fieldset[disabled] .notification_widget.info:hover,
.notification_widget.info.disabled:focus,
.notification_widget.info[disabled]:focus,
fieldset[disabled] .notification_widget.info:focus,
.notification_widget.info.disabled.focus,
.notification_widget.info[disabled].focus,
fieldset[disabled] .notification_widget.info.focus {
  background-color: #5bc0de;
  border-color: #46b8da;
}
.notification_widget.info .badge {
  color: #5bc0de;
  background-color: #fff;
}
.notification_widget.danger {
  color: #fff;
  background-color: #d9534f;
  border-color: #d43f3a;
}
.notification_widget.danger:focus,
.notification_widget.danger.focus {
  color: #fff;
  background-color: #c9302c;
  border-color: #761c19;
}
.notification_widget.danger:hover {
  color: #fff;
  background-color: #c9302c;
  border-color: #ac2925;
}
.notification_widget.danger:active,
.notification_widget.danger.active,
.open &gt; .dropdown-toggle.notification_widget.danger {
  color: #fff;
  background-color: #c9302c;
  border-color: #ac2925;
}
.notification_widget.danger:active:hover,
.notification_widget.danger.active:hover,
.open &gt; .dropdown-toggle.notification_widget.danger:hover,
.notification_widget.danger:active:focus,
.notification_widget.danger.active:focus,
.open &gt; .dropdown-toggle.notification_widget.danger:focus,
.notification_widget.danger:active.focus,
.notification_widget.danger.active.focus,
.open &gt; .dropdown-toggle.notification_widget.danger.focus {
  color: #fff;
  background-color: #ac2925;
  border-color: #761c19;
}
.notification_widget.danger:active,
.notification_widget.danger.active,
.open &gt; .dropdown-toggle.notification_widget.danger {
  background-image: none;
}
.notification_widget.danger.disabled:hover,
.notification_widget.danger[disabled]:hover,
fieldset[disabled] .notification_widget.danger:hover,
.notification_widget.danger.disabled:focus,
.notification_widget.danger[disabled]:focus,
fieldset[disabled] .notification_widget.danger:focus,
.notification_widget.danger.disabled.focus,
.notification_widget.danger[disabled].focus,
fieldset[disabled] .notification_widget.danger.focus {
  background-color: #d9534f;
  border-color: #d43f3a;
}
.notification_widget.danger .badge {
  color: #d9534f;
  background-color: #fff;
}
div#pager {
  background-color: #fff;
  font-size: 14px;
  line-height: 20px;
  overflow: hidden;
  display: none;
  position: fixed;
  bottom: 0px;
  width: 100%;
  max-height: 50%;
  padding-top: 8px;
  -webkit-box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2);
  box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2);
  /* Display over codemirror */
  z-index: 100;
  /* Hack which prevents jquery ui resizable from changing top. */
  top: auto !important;
}
div#pager pre {
  line-height: 1.21429em;
  color: #000;
  background-color: #f7f7f7;
  padding: 0.4em;
}
div#pager #pager-button-area {
  position: absolute;
  top: 8px;
  right: 20px;
}
div#pager #pager-contents {
  position: relative;
  overflow: auto;
  width: 100%;
  height: 100%;
}
div#pager #pager-contents #pager-container {
  position: relative;
  padding: 15px 0px;
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
}
div#pager .ui-resizable-handle {
  top: 0px;
  height: 8px;
  background: #f7f7f7;
  border-top: 1px solid #cfcfcf;
  border-bottom: 1px solid #cfcfcf;
  /* This injects handle bars (a short, wide = symbol) for 
        the resize handle. */
}
div#pager .ui-resizable-handle::after {
  content: '';
  top: 2px;
  left: 50%;
  height: 3px;
  width: 30px;
  margin-left: -15px;
  position: absolute;
  border-top: 1px solid #cfcfcf;
}
.quickhelp {
  /* Old browsers */
  display: -webkit-box;
  -webkit-box-orient: horizontal;
  -webkit-box-align: stretch;
  display: -moz-box;
  -moz-box-orient: horizontal;
  -moz-box-align: stretch;
  display: box;
  box-orient: horizontal;
  box-align: stretch;
  /* Modern browsers */
  display: flex;
  flex-direction: row;
  align-items: stretch;
  line-height: 1.8em;
}
.shortcut_key {
  display: inline-block;
  width: 21ex;
  text-align: right;
  font-family: monospace;
}
.shortcut_descr {
  display: inline-block;
  /* Old browsers */
  -webkit-box-flex: 1;
  -moz-box-flex: 1;
  box-flex: 1;
  /* Modern browsers */
  flex: 1;
}
span.save_widget {
  margin-top: 6px;
}
span.save_widget span.filename {
  height: 1em;
  line-height: 1em;
  padding: 3px;
  margin-left: 16px;
  border: none;
  font-size: 146.5%;
  border-radius: 2px;
}
span.save_widget span.filename:hover {
  background-color: #e6e6e6;
}
span.checkpoint_status,
span.autosave_status {
  font-size: small;
}
@media (max-width: 767px) {
  span.save_widget {
    font-size: small;
  }
  span.checkpoint_status,
  span.autosave_status {
    display: none;
  }
}
@media (min-width: 768px) and (max-width: 991px) {
  span.checkpoint_status {
    display: none;
  }
  span.autosave_status {
    font-size: x-small;
  }
}
.toolbar {
  padding: 0px;
  margin-left: -5px;
  margin-top: 2px;
  margin-bottom: 5px;
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
}
.toolbar select,
.toolbar label {
  width: auto;
  vertical-align: middle;
  margin-right: 2px;
  margin-bottom: 0px;
  display: inline;
  font-size: 92%;
  margin-left: 0.3em;
  margin-right: 0.3em;
  padding: 0px;
  padding-top: 3px;
}
.toolbar .btn {
  padding: 2px 8px;
}
.toolbar .btn-group {
  margin-top: 0px;
  margin-left: 5px;
}
#maintoolbar {
  margin-bottom: -3px;
  margin-top: -8px;
  border: 0px;
  min-height: 27px;
  margin-left: 0px;
  padding-top: 11px;
  padding-bottom: 3px;
}
#maintoolbar .navbar-text {
  float: none;
  vertical-align: middle;
  text-align: right;
  margin-left: 5px;
  margin-right: 0px;
  margin-top: 0px;
}
.select-xs {
  height: 24px;
}
.pulse,
.dropdown-menu &gt; li &gt; a.pulse,
li.pulse &gt; a.dropdown-toggle,
li.pulse.open &gt; a.dropdown-toggle {
  background-color: #F37626;
  color: white;
}
/**
 * Primary styles
 *
 * Author: Jupyter Development Team
 */
/** WARNING IF YOU ARE EDITTING THIS FILE, if this is a .css file, It has a lot
 * of chance of beeing generated from the ../less/[samename].less file, you can
 * try to get back the less file by reverting somme commit in history
 **/
/*
 * We'll try to get something pretty, so we
 * have some strange css to have the scroll bar on
 * the left with fix button on the top right of the tooltip
 */
@-moz-keyframes fadeOut {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}
@-webkit-keyframes fadeOut {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}
@-moz-keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@-webkit-keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
/*properties of tooltip after &quot;expand&quot;*/
.bigtooltip {
  overflow: auto;
  height: 200px;
  -webkit-transition-property: height;
  -webkit-transition-duration: 500ms;
  -moz-transition-property: height;
  -moz-transition-duration: 500ms;
  transition-property: height;
  transition-duration: 500ms;
}
/*properties of tooltip before &quot;expand&quot;*/
.smalltooltip {
  -webkit-transition-property: height;
  -webkit-transition-duration: 500ms;
  -moz-transition-property: height;
  -moz-transition-duration: 500ms;
  transition-property: height;
  transition-duration: 500ms;
  text-overflow: ellipsis;
  overflow: hidden;
  height: 80px;
}
.tooltipbuttons {
  position: absolute;
  padding-right: 15px;
  top: 0px;
  right: 0px;
}
.tooltiptext {
  /*avoid the button to overlap on some docstring*/
  padding-right: 30px;
}
.ipython_tooltip {
  max-width: 700px;
  /*fade-in animation when inserted*/
  -webkit-animation: fadeOut 400ms;
  -moz-animation: fadeOut 400ms;
  animation: fadeOut 400ms;
  -webkit-animation: fadeIn 400ms;
  -moz-animation: fadeIn 400ms;
  animation: fadeIn 400ms;
  vertical-align: middle;
  background-color: #f7f7f7;
  overflow: visible;
  border: #ababab 1px solid;
  outline: none;
  padding: 3px;
  margin: 0px;
  padding-left: 7px;
  font-family: monospace;
  min-height: 50px;
  -moz-box-shadow: 0px 6px 10px -1px #adadad;
  -webkit-box-shadow: 0px 6px 10px -1px #adadad;
  box-shadow: 0px 6px 10px -1px #adadad;
  border-radius: 2px;
  position: absolute;
  z-index: 1000;
}
.ipython_tooltip a {
  float: right;
}
.ipython_tooltip .tooltiptext pre {
  border: 0;
  border-radius: 0;
  font-size: 100%;
  background-color: #f7f7f7;
}
.pretooltiparrow {
  left: 0px;
  margin: 0px;
  top: -16px;
  width: 40px;
  height: 16px;
  overflow: hidden;
  position: absolute;
}
.pretooltiparrow:before {
  background-color: #f7f7f7;
  border: 1px #ababab solid;
  z-index: 11;
  content: &quot;&quot;;
  position: absolute;
  left: 15px;
  top: 10px;
  width: 25px;
  height: 25px;
  -webkit-transform: rotate(45deg);
  -moz-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  -o-transform: rotate(45deg);
}
ul.typeahead-list i {
  margin-left: -10px;
  width: 18px;
}
ul.typeahead-list {
  max-height: 80vh;
  overflow: auto;
}
ul.typeahead-list &gt; li &gt; a {
  /** Firefox bug **/
  /* see https://github.com/jupyter/notebook/issues/559 */
  white-space: normal;
}
.cmd-palette .modal-body {
  padding: 7px;
}
.cmd-palette form {
  background: white;
}
.cmd-palette input {
  outline: none;
}
.no-shortcut {
  display: none;
}
.command-shortcut:before {
  content: &quot;(command)&quot;;
  padding-right: 3px;
  color: #777777;
}
.edit-shortcut:before {
  content: &quot;(edit)&quot;;
  padding-right: 3px;
  color: #777777;
}
#find-and-replace #replace-preview .match,
#find-and-replace #replace-preview .insert {
  background-color: #BBDEFB;
  border-color: #90CAF9;
  border-style: solid;
  border-width: 1px;
  border-radius: 0px;
}
#find-and-replace #replace-preview .replace .match {
  background-color: #FFCDD2;
  border-color: #EF9A9A;
  border-radius: 0px;
}
#find-and-replace #replace-preview .replace .insert {
  background-color: #C8E6C9;
  border-color: #A5D6A7;
  border-radius: 0px;
}
#find-and-replace #replace-preview {
  max-height: 60vh;
  overflow: auto;
}
#find-and-replace #replace-preview pre {
  padding: 5px 10px;
}
.terminal-app {
  background: #EEE;
}
.terminal-app #header {
  background: #fff;
  -webkit-box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2);
  box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2);
}
.terminal-app .terminal {
  width: 100%;
  float: left;
  font-family: monospace;
  color: white;
  background: black;
  padding: 0.4em;
  border-radius: 2px;
  -webkit-box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.4);
  box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.4);
}
.terminal-app .terminal,
.terminal-app .terminal dummy-screen {
  line-height: 1em;
  font-size: 14px;
}
.terminal-app .terminal .xterm-rows {
  padding: 10px;
}
.terminal-app .terminal-cursor {
  color: black;
  background: white;
}
.terminal-app #terminado-container {
  margin-top: 20px;
}
/*# sourceMappingURL=style.min.css.map */
    &lt;/style&gt;
&lt;style type=&quot;text/css&quot;&gt;
    .highlight .hll { background-color: #ffffcc }
.highlight  { background: #f8f8f8; }
.highlight .c { color: #408080; font-style: italic } /* Comment */
.highlight .err { border: 1px solid #FF0000 } /* Error */
.highlight .k { color: #008000; font-weight: bold } /* Keyword */
.highlight .o { color: #666666 } /* Operator */
.highlight .ch { color: #408080; font-style: italic } /* Comment.Hashbang */
.highlight .cm { color: #408080; font-style: italic } /* Comment.Multiline */
.highlight .cp { color: #BC7A00 } /* Comment.Preproc */
.highlight .cpf { color: #408080; font-style: italic } /* Comment.PreprocFile */
.highlight .c1 { color: #408080; font-style: italic } /* Comment.Single */
.highlight .cs { color: #408080; font-style: italic } /* Comment.Special */
.highlight .gd { color: #A00000 } /* Generic.Deleted */
.highlight .ge { font-style: italic } /* Generic.Emph */
.highlight .gr { color: #FF0000 } /* Generic.Error */
.highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */
.highlight .gi { color: #00A000 } /* Generic.Inserted */
.highlight .go { color: #888888 } /* Generic.Output */
.highlight .gp { color: #000080; font-weight: bold } /* Generic.Prompt */
.highlight .gs { font-weight: bold } /* Generic.Strong */
.highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */
.highlight .gt { color: #0044DD } /* Generic.Traceback */
.highlight .kc { color: #008000; font-weight: bold } /* Keyword.Constant */
.highlight .kd { color: #008000; font-weight: bold } /* Keyword.Declaration */
.highlight .kn { color: #008000; font-weight: bold } /* Keyword.Namespace */
.highlight .kp { color: #008000 } /* Keyword.Pseudo */
.highlight .kr { color: #008000; font-weight: bold } /* Keyword.Reserved */
.highlight .kt { color: #B00040 } /* Keyword.Type */
.highlight .m { color: #666666 } /* Literal.Number */
.highlight .s { color: #BA2121 } /* Literal.String */
.highlight .na { color: #7D9029 } /* Name.Attribute */
.highlight .nb { color: #008000 } /* Name.Builtin */
.highlight .nc { color: #0000FF; font-weight: bold } /* Name.Class */
.highlight .no { color: #880000 } /* Name.Constant */
.highlight .nd { color: #AA22FF } /* Name.Decorator */
.highlight .ni { color: #999999; font-weight: bold } /* Name.Entity */
.highlight .ne { color: #D2413A; font-weight: bold } /* Name.Exception */
.highlight .nf { color: #0000FF } /* Name.Function */
.highlight .nl { color: #A0A000 } /* Name.Label */
.highlight .nn { color: #0000FF; font-weight: bold } /* Name.Namespace */
.highlight .nt { color: #008000; font-weight: bold } /* Name.Tag */
.highlight .nv { color: #19177C } /* Name.Variable */
.highlight .ow { color: #AA22FF; font-weight: bold } /* Operator.Word */
.highlight .w { color: #bbbbbb } /* Text.Whitespace */
.highlight .mb { color: #666666 } /* Literal.Number.Bin */
.highlight .mf { color: #666666 } /* Literal.Number.Float */
.highlight .mh { color: #666666 } /* Literal.Number.Hex */
.highlight .mi { color: #666666 } /* Literal.Number.Integer */
.highlight .mo { color: #666666 } /* Literal.Number.Oct */
.highlight .sa { color: #BA2121 } /* Literal.String.Affix */
.highlight .sb { color: #BA2121 } /* Literal.String.Backtick */
.highlight .sc { color: #BA2121 } /* Literal.String.Char */
.highlight .dl { color: #BA2121 } /* Literal.String.Delimiter */
.highlight .sd { color: #BA2121; font-style: italic } /* Literal.String.Doc */
.highlight .s2 { color: #BA2121 } /* Literal.String.Double */
.highlight .se { color: #BB6622; font-weight: bold } /* Literal.String.Escape */
.highlight .sh { color: #BA2121 } /* Literal.String.Heredoc */
.highlight .si { color: #BB6688; font-weight: bold } /* Literal.String.Interpol */
.highlight .sx { color: #008000 } /* Literal.String.Other */
.highlight .sr { color: #BB6688 } /* Literal.String.Regex */
.highlight .s1 { color: #BA2121 } /* Literal.String.Single */
.highlight .ss { color: #19177C } /* Literal.String.Symbol */
.highlight .bp { color: #008000 } /* Name.Builtin.Pseudo */
.highlight .fm { color: #0000FF } /* Name.Function.Magic */
.highlight .vc { color: #19177C } /* Name.Variable.Class */
.highlight .vg { color: #19177C } /* Name.Variable.Global */
.highlight .vi { color: #19177C } /* Name.Variable.Instance */
.highlight .vm { color: #19177C } /* Name.Variable.Magic */
.highlight .il { color: #666666 } /* Literal.Number.Integer.Long */
    &lt;/style&gt;
&lt;style type=&quot;text/css&quot;&gt;
    
/* Temporary definitions which will become obsolete with Notebook release 5.0 */
.ansi-black-fg { color: #3E424D; }
.ansi-black-bg { background-color: #3E424D; }
.ansi-black-intense-fg { color: #282C36; }
.ansi-black-intense-bg { background-color: #282C36; }
.ansi-red-fg { color: #E75C58; }
.ansi-red-bg { background-color: #E75C58; }
.ansi-red-intense-fg { color: #B22B31; }
.ansi-red-intense-bg { background-color: #B22B31; }
.ansi-green-fg { color: #00A250; }
.ansi-green-bg { background-color: #00A250; }
.ansi-green-intense-fg { color: #007427; }
.ansi-green-intense-bg { background-color: #007427; }
.ansi-yellow-fg { color: #DDB62B; }
.ansi-yellow-bg { background-color: #DDB62B; }
.ansi-yellow-intense-fg { color: #B27D12; }
.ansi-yellow-intense-bg { background-color: #B27D12; }
.ansi-blue-fg { color: #208FFB; }
.ansi-blue-bg { background-color: #208FFB; }
.ansi-blue-intense-fg { color: #0065CA; }
.ansi-blue-intense-bg { background-color: #0065CA; }
.ansi-magenta-fg { color: #D160C4; }
.ansi-magenta-bg { background-color: #D160C4; }
.ansi-magenta-intense-fg { color: #A03196; }
.ansi-magenta-intense-bg { background-color: #A03196; }
.ansi-cyan-fg { color: #60C6C8; }
.ansi-cyan-bg { background-color: #60C6C8; }
.ansi-cyan-intense-fg { color: #258F8F; }
.ansi-cyan-intense-bg { background-color: #258F8F; }
.ansi-white-fg { color: #C5C1B4; }
.ansi-white-bg { background-color: #C5C1B4; }
.ansi-white-intense-fg { color: #A1A6B2; }
.ansi-white-intense-bg { background-color: #A1A6B2; }

.ansi-bold { font-weight: bold; }

    &lt;/style&gt;


&lt;style type=&quot;text/css&quot;&gt;
/* Overrides of notebook CSS for static HTML export */
body {
  overflow: visible;
  padding: 8px;
}

div#notebook {
  overflow: visible;
  border-top: none;
}@media print {
  div.cell {
    display: block;
    page-break-inside: avoid;
  } 
  div.output_wrapper { 
    display: block;
    page-break-inside: avoid; 
  }
  div.output { 
    display: block;
    page-break-inside: avoid; 
  }
}
&lt;/style&gt;

&lt;!-- Custom stylesheet, it must be in the same directory as the html file --&gt;
&lt;link rel=&quot;stylesheet&quot; href=&quot;custom.css&quot;&gt;

&lt;!-- Loading mathjax macro --&gt;
&lt;!-- Load mathjax --&gt;
    &lt;script src=&quot;https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.1/MathJax.js?config=TeX-AMS_HTML&quot;&gt;&lt;/script&gt;
    &lt;!-- MathJax configuration --&gt;
    &lt;script type=&quot;text/x-mathjax-config&quot;&gt;
    MathJax.Hub.Config({
        tex2jax: {
            inlineMath: [ ['$','$'], [&quot;\\(&quot;,&quot;\\)&quot;] ],
            displayMath: [ ['$$','$$'], [&quot;\\[&quot;,&quot;\\]&quot;] ],
            processEscapes: true,
            processEnvironments: true
        },
        // Center justify equations in code and markdown cells. Elsewhere
        // we use CSS to left justify single line equations in code cells.
        displayAlign: 'center',
        &quot;HTML-CSS&quot;: {
            styles: {'.MathJax_Display': {&quot;margin&quot;: 0}},
            linebreaks: { automatic: true }
        }
    });
    &lt;/script&gt;
    &lt;!-- End of mathjax configuration --&gt;&lt;/head&gt;
&lt;body&gt;
  &lt;div tabindex=&quot;-1&quot; id=&quot;notebook&quot; class=&quot;border-box-sizing&quot;&gt;
    &lt;div class=&quot;container&quot; id=&quot;notebook-container&quot;&gt;

&lt;div class=&quot;cell border-box-sizing text_cell rendered&quot;&gt;&lt;div class=&quot;prompt input_prompt&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;inner_cell&quot;&gt;
&lt;div class=&quot;text_cell_render border-box-sizing rendered_html&quot;&gt;
&lt;p&gt;&lt;img src=&quot;http://cdn.wbez.org/image/5af6d001605538df6ae1615d4773c268&quot; alt=&quot;&quot;&gt;&lt;/p&gt;
&lt;h1 id=&quot;The-hidden-side-of-the-podcast-that-reveals-the-hidden-side-of-everything-&quot;&gt;&lt;center&gt;The hidden side of the podcast that reveals the hidden side of everything &lt;/center&gt;&lt;a class=&quot;anchor-link&quot; href=&quot;#The-hidden-side-of-the-podcast-that-reveals-the-hidden-side-of-everything-&quot;&gt;&amp;#182;&lt;/a&gt;&lt;/h1&gt;&lt;h2 id=&quot;-Text-processing,-topic-modelling,-and-visualisations-you-didn't-know-you-needed-&quot;&gt;&lt;center&gt; Text processing, topic modelling, and visualisations you didn't know you needed &lt;/center&gt;&lt;a class=&quot;anchor-link&quot; href=&quot;#-Text-processing,-topic-modelling,-and-visualisations-you-didn't-know-you-needed-&quot;&gt;&amp;#182;&lt;/a&gt;&lt;/h2&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;cell border-box-sizing text_cell rendered&quot;&gt;&lt;div class=&quot;prompt input_prompt&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;inner_cell&quot;&gt;
&lt;div class=&quot;text_cell_render border-box-sizing rendered_html&quot;&gt;
&lt;h2 id=&quot;Table-of-contents&quot;&gt;Table of contents&lt;a class=&quot;anchor-link&quot; href=&quot;#Table-of-contents&quot;&gt;&amp;#182;&lt;/a&gt;&lt;/h2&gt;&lt;h3 id=&quot;I.-Introduction&quot;&gt;I. &lt;a href=&quot;#I.--Introduction&quot;&gt;Introduction&lt;/a&gt;&lt;a class=&quot;anchor-link&quot; href=&quot;#I.-Introduction&quot;&gt;&amp;#182;&lt;/a&gt;&lt;/h3&gt;&lt;ol&gt;
&lt;li&gt;&lt;a href=&quot;#Wait,-what-is-even-Freakonomics-Radio-?&quot;&gt;Freakonomics Radio ?&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#The-dataset&quot;&gt;The dataset&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#Modules,-questions,-and-goals&quot;&gt;Modules, questions, and goals&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id=&quot;II.-Preprocessing&quot;&gt;II. &lt;a href=&quot;#II.--Preprocessing&quot;&gt;Preprocessing&lt;/a&gt;&lt;a class=&quot;anchor-link&quot; href=&quot;#II.-Preprocessing&quot;&gt;&amp;#182;&lt;/a&gt;&lt;/h3&gt;&lt;ol&gt;
&lt;li&gt;&lt;a href=&quot;#Deleting-the-repeating-names&quot;&gt;Deleting the repeating names&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#Cleaning-the-titles&quot;&gt;Cleaning the titles&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#Creating-the-Corpus&quot;&gt;Creating the Corpus&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id=&quot;III.-Using-NLTK&quot;&gt;III. &lt;a href=&quot;#III.--Using-NLTK&quot;&gt;Using NLTK&lt;/a&gt;&lt;a class=&quot;anchor-link&quot; href=&quot;#III.-Using-NLTK&quot;&gt;&amp;#182;&lt;/a&gt;&lt;/h3&gt;&lt;ol&gt;
&lt;li&gt;&lt;a href=&quot;#Stopwords-issue&quot;&gt;Stopwords issue&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#Lemmatization&quot;&gt;Lemmatization&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#Bag-of-Words&quot;&gt;Bag of Words&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id=&quot;IV.-Latent-Dirichlet-Allocation&quot;&gt;IV. &lt;a href=&quot;#IV.--Latent-Dirichlet-Allocation&quot;&gt;Latent Dirichlet Allocation&lt;/a&gt;&lt;a class=&quot;anchor-link&quot; href=&quot;#IV.-Latent-Dirichlet-Allocation&quot;&gt;&amp;#182;&lt;/a&gt;&lt;/h3&gt;&lt;ol&gt;
&lt;li&gt;&lt;a href=&quot;#What-is-LDA-?&quot;&gt;What is LDA ?&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#Our-topics&quot;&gt;Our topics&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#Mixed-Membership&quot;&gt;Mixed Membership&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#Labelling-and-One-Hot-Encoding&quot;&gt;Labelling and One Hot Encoding&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#Final-visualisation-and-results&quot;&gt;Final visualisation and results&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id=&quot;V.-Text-Clustering&quot;&gt;V. &lt;a href=&quot;#V.--Text-Clustering&quot;&gt;Text Clustering&lt;/a&gt;&lt;a class=&quot;anchor-link&quot; href=&quot;#V.-Text-Clustering&quot;&gt;&amp;#182;&lt;/a&gt;&lt;/h3&gt;&lt;ol&gt;
&lt;li&gt;&lt;a href=&quot;#Tf-Idf-document-representation&quot;&gt;Tf-Idf document representation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#Document-Similarity&quot;&gt;Document Similarity&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#K-Means-and-our-Clusters&quot;&gt;K-Means and our Clusters&lt;/a&gt;&lt;ol&gt;
&lt;li&gt;&lt;a href=&quot;#Multi-Dimensional-Scaling-Visualisation&quot;&gt;Multi Dimensional Scaling Visualisation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#Principal-Component-Analysis-Visualisation&quot;&gt;Principal Component Analysis Visualisation&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href=&quot;#Hierarchical-Clustering&quot;&gt;Hierarchical Clustering&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id=&quot;VI.-Conclusion&quot;&gt;VI. &lt;a href=&quot;#Conclusion&quot;&gt;Conclusion&lt;/a&gt;&lt;a class=&quot;anchor-link&quot; href=&quot;#VI.-Conclusion&quot;&gt;&amp;#182;&lt;/a&gt;&lt;/h3&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;cell border-box-sizing text_cell rendered&quot;&gt;&lt;div class=&quot;prompt input_prompt&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;inner_cell&quot;&gt;
&lt;div class=&quot;text_cell_render border-box-sizing rendered_html&quot;&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;cell border-box-sizing text_cell rendered&quot;&gt;&lt;div class=&quot;prompt input_prompt&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;inner_cell&quot;&gt;
&lt;div class=&quot;text_cell_render border-box-sizing rendered_html&quot;&gt;
&lt;h2 id=&quot;I.--Introduction&quot;&gt;I.  Introduction&lt;a class=&quot;anchor-link&quot; href=&quot;#I.--Introduction&quot;&gt;&amp;#182;&lt;/a&gt;&lt;/h2&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;cell border-box-sizing text_cell rendered&quot;&gt;&lt;div class=&quot;prompt input_prompt&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;inner_cell&quot;&gt;
&lt;div class=&quot;text_cell_render border-box-sizing rendered_html&quot;&gt;
&lt;h3 id=&quot;Wait,-what-is-even-Freakonomics-Radio-?&quot;&gt;Wait, what is even Freakonomics Radio ?&lt;a class=&quot;anchor-link&quot; href=&quot;#Wait,-what-is-even-Freakonomics-Radio-?&quot;&gt;&amp;#182;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;&lt;a href=&quot;http://freakonomics.com/&quot;&gt;Freakonomics Radio&lt;/a&gt; is a is a podcast that explores and answers common life questions by taking an economist approach upon them. It was created in 2010 by S. Dubner and S. Levitt as a spinoff to their first book together &lt;a href=&quot;https://en.wikipedia.org/wiki/Freakonomics&quot;&gt;&lt;em&gt;Freakonomics&lt;/em&gt;&lt;/a&gt; Since then, they wrote a few other books: &lt;a href=&quot;https://en.wikipedia.org/wiki/SuperFreakonomics&quot;&gt;&lt;em&gt;SuperFreakonomics&lt;/em&gt;&lt;/a&gt;, &lt;a href=&quot;https://en.wikipedia.org/wiki/When_to_Rob_a_Bank&quot;&gt;&lt;em&gt;When to rob a bank&lt;/em&gt;&lt;/a&gt; and &lt;a href=&quot;https://en.wikipedia.org/wiki/Think_Like_a_Freak&quot;&gt;&lt;em&gt;Think like a Freak&lt;/em&gt;&lt;/a&gt;
They give new insights to old questions, and are never afraid to break &quot;common knowledge&quot; with cold, hard facts.
The subjects they tackle vary widely, from cheating during sumotori fights, to how to make the pefect pizza dough, to the state of American presidency etc. Chances are that if you're interested in anything, you'll find something about it in one of their podcasts.&lt;/p&gt;
&lt;p&gt;The subjects ( or topics ) they address is exactly what we are going to study today. After all, it is supposed to be about the hidden side of &lt;strong&gt;everything&lt;/strong&gt;, no ?&lt;/p&gt;
&lt;h3 id=&quot;The-dataset&quot;&gt;The dataset&lt;a class=&quot;anchor-link&quot; href=&quot;#The-dataset&quot;&gt;&amp;#182;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Freakonomics Radio is a podcast available for free to everyone. It is based on user donations and can be heard directly online, through podcasts services, and on some American radio channels.&lt;br&gt;
The problem for us is that podcast means audio data and converting speech-to-text. If the task isn't so hard ( anymore ), it is certainly computationally expensive, and it would take a long time considering the amount of podcasts and the weakness of my laptop.&lt;br&gt;
Thankfully, this is not something we're going to have to do here as the transcripts of the podcasts are also available on the website.
To get ( most of ) these transcripts I wrote a scrapping bot that went through the archive to locate and download the transcipts of the podcasts. The reason why I wrote &quot;most of&quot; is because some of them were either missing, repeated ( Rebroadcasts ), or couldn't be processed properly.&lt;br&gt;
Overall the bot gave me 310 transcripts of podcasts starting from February 2010 to November 2017. With the transcripts came the list of their titles, date of release, and associated tags.&lt;/p&gt;
&lt;h3 id=&quot;Modules,-questions,-and-goals&quot;&gt;Modules, questions, and goals&lt;a class=&quot;anchor-link&quot; href=&quot;#Modules,-questions,-and-goals&quot;&gt;&amp;#182;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;During this short study I will use different python modules to do Natural Language Processing (NLP) and Machine Learning including :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;gensim&lt;/li&gt;
&lt;li&gt;nltk&lt;/li&gt;
&lt;li&gt;pandas&lt;/li&gt;
&lt;li&gt;scikit-learn&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The questions I want to answer are as follows :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Do they really cover &lt;strong&gt;everything&lt;/strong&gt; ??&lt;/li&gt;
&lt;li&gt;What do they talk about, what is it to &lt;em&gt;Speak Like A Freak&lt;/em&gt; ?&lt;/li&gt;
&lt;li&gt;Can our algorithms generate relevant topics for each podcast ?&lt;/li&gt;
&lt;li&gt;What else can we do with this data ?&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;These questions apart, my goal here is to present an exploratory analysis of the podcasts' transcripts while explaining most of the process. The annotations on the code are here to help beginners understand what I'm doing to reuse ( parts of ) this code in their projects with a better understanding. The mathematical and technical explanations are here for anyone interested in the use of Machine Learning for NLP.&lt;/p&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;cell border-box-sizing text_cell rendered&quot;&gt;&lt;div class=&quot;prompt input_prompt&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;inner_cell&quot;&gt;
&lt;div class=&quot;text_cell_render border-box-sizing rendered_html&quot;&gt;
&lt;h2 id=&quot;II.-Preprocessing&quot;&gt;II. Preprocessing&lt;a class=&quot;anchor-link&quot; href=&quot;#II.-Preprocessing&quot;&gt;&amp;#182;&lt;/a&gt;&lt;/h2&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;cell border-box-sizing code_cell rendered&quot;&gt;
&lt;div class=&quot;input&quot;&gt;
&lt;div class=&quot;prompt input_prompt&quot;&gt;In&amp;nbsp;[1]:&lt;/div&gt;
&lt;div class=&quot;inner_cell&quot;&gt;
    &lt;div class=&quot;input_area&quot;&gt;
&lt;div class=&quot; highlight hl-ipython3&quot;&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class=&quot;c1&quot;&gt;# Importing our first modules&lt;/span&gt;
&lt;span class=&quot;kn&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;nn&quot;&gt;pandas&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;as&lt;/span&gt; &lt;span class=&quot;nn&quot;&gt;pd&lt;/span&gt;
&lt;span class=&quot;kn&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;nn&quot;&gt;os&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;
&lt;div class=&quot;cell border-box-sizing text_cell rendered&quot;&gt;&lt;div class=&quot;prompt input_prompt&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;inner_cell&quot;&gt;
&lt;div class=&quot;text_cell_render border-box-sizing rendered_html&quot;&gt;
&lt;p&gt;Let's see what our data looks like :&lt;/p&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;cell border-box-sizing code_cell rendered&quot;&gt;
&lt;div class=&quot;input&quot;&gt;
&lt;div class=&quot;prompt input_prompt&quot;&gt;In&amp;nbsp;[2]:&lt;/div&gt;
&lt;div class=&quot;inner_cell&quot;&gt;
    &lt;div class=&quot;input_area&quot;&gt;
&lt;div class=&quot; highlight hl-ipython3&quot;&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;filename&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;os&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;listdir&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;Corpus2&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)[&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;107&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;sample&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;open&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;Corpus2/&amp;#39;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;+&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;filename&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;r&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;nb&quot;&gt;print&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;filename&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;+&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;\n&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;nb&quot;&gt;print&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;sample&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;read&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()[:&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1000&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;])&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;div class=&quot;output_wrapper&quot;&gt;
&lt;div class=&quot;output&quot;&gt;


&lt;div class=&quot;output_area&quot;&gt;

&lt;div class=&quot;prompt&quot;&gt;&lt;/div&gt;


&lt;div class=&quot;output_subarea output_stream output_stdout output_text&quot;&gt;
&lt;pre&gt;1_1_Are_We_Running_Out_of_Ideas.txt

John VAN REENEN: Yeah. I know whenever I go to parties and people ask me, “What you do?” and I say “I am an economist,” they say, “What do you study?” I say “productivity.” And they usually walk off at that point. 
Yeah, well, I can identify with that.
VAN REENEN:  And if I then say, “Well, actually my measure of productivity is whether you stay alive,” then that really gets people interested.
Hmh, that is interesting. Let’s find out more, shall we? Today on Freakonomics Radio: we will look at productivity in a whole new light. From the good …
Kelly WEINERSMITH: He estimates you can make a house in about 24 hours. 
To the bad …
Kelly WEINERSMITH: We’ve been working on it for over 50 years, and we still haven’t managed to make it power a toaster.
To the ugly …
Zach WEINERSMITH: So we might destroy our species as we know it while chasing total-factor productivity.
Wait a minute – what does powering a toaster and building a house in 24 hours have to do with destroying our species? What ti
&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;
&lt;div class=&quot;cell border-box-sizing text_cell rendered&quot;&gt;&lt;div class=&quot;prompt input_prompt&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;inner_cell&quot;&gt;
&lt;div class=&quot;text_cell_render border-box-sizing rendered_html&quot;&gt;
&lt;p&gt;We can already make a few remarks on the difference between our usual text data and transcripts :&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Names tend to appear at the beginning of new lines.&lt;/li&gt;
&lt;li&gt;There are new &quot;spoken&quot; stopwords of which we will have to get rid.&lt;/li&gt;
&lt;/ol&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;cell border-box-sizing text_cell rendered&quot;&gt;&lt;div class=&quot;prompt input_prompt&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;inner_cell&quot;&gt;
&lt;div class=&quot;text_cell_render border-box-sizing rendered_html&quot;&gt;
&lt;h3 id=&quot;Deleting-the-repeating-names&quot;&gt;Deleting the repeating names&lt;a class=&quot;anchor-link&quot; href=&quot;#Deleting-the-repeating-names&quot;&gt;&amp;#182;&lt;/a&gt;&lt;/h3&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;cell border-box-sizing code_cell rendered&quot;&gt;
&lt;div class=&quot;input&quot;&gt;
&lt;div class=&quot;prompt input_prompt&quot;&gt;In&amp;nbsp;[3]:&lt;/div&gt;
&lt;div class=&quot;inner_cell&quot;&gt;
    &lt;div class=&quot;input_area&quot;&gt;
&lt;div class=&quot; highlight hl-ipython3&quot;&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class=&quot;sd&quot;&gt;&amp;#39;&amp;#39;&amp;#39;Let&amp;#39;s take care of the repeating names&lt;/span&gt;

&lt;span class=&quot;sd&quot;&gt;This function takes a file from Corpus2 (where our transcripts are stored),&lt;/span&gt;
&lt;span class=&quot;sd&quot;&gt;detects and delete most of the names at the beginning of the line.&lt;/span&gt;
&lt;span class=&quot;sd&quot;&gt;Once the data has been cleaned, it rewrites the file in a new folder under a new name.&lt;/span&gt;

&lt;span class=&quot;sd&quot;&gt;Opens and reads the file, then separates each line.&lt;/span&gt;
&lt;span class=&quot;sd&quot;&gt;Checks if there is a &amp;#39;:&amp;#39; in the 20 first characters of the line&lt;/span&gt;
&lt;span class=&quot;sd&quot;&gt;If so, delete the &amp;#39;:&amp;#39; and everything that comes before it and rewrite the line in a new file&lt;/span&gt;
&lt;span class=&quot;sd&quot;&gt;If not, write the line as it was.&amp;#39;&amp;#39;&amp;#39;&lt;/span&gt;

&lt;span class=&quot;k&quot;&gt;def&lt;/span&gt; &lt;span class=&quot;nf&quot;&gt;delete_beginning_of_line_names&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;filename&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;):&lt;/span&gt;

    &lt;span class=&quot;n&quot;&gt;x&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;open&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;Corpus2/&amp;#39;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;+&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;filename&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;rb&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;x&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;read&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;y&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;split&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;sa&quot;&gt;b&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;\n&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;

    &lt;span class=&quot;k&quot;&gt;for&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;nb_line&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;line&lt;/span&gt; &lt;span class=&quot;ow&quot;&gt;in&lt;/span&gt; &lt;span class=&quot;nb&quot;&gt;enumerate&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;y&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;):&lt;/span&gt;
        &lt;span class=&quot;n&quot;&gt;line_start&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;line&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[:&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;20&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;
        &lt;span class=&quot;k&quot;&gt;try&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;
            &lt;span class=&quot;n&quot;&gt;line_start&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;line_start&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;decode&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt;
            
            &lt;span class=&quot;k&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;s1&quot;&gt;&amp;#39;:&amp;#39;&lt;/span&gt; &lt;span class=&quot;ow&quot;&gt;in&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;line_start&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;
                &lt;span class=&quot;n&quot;&gt;name&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;line_start&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;split&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;:&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)[&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;
                &lt;span class=&quot;n&quot;&gt;y&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;nb_line&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;line&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[(&lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;len&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;name&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;+&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;):])&lt;/span&gt;                
        &lt;span class=&quot;k&quot;&gt;except&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;
            &lt;span class=&quot;k&quot;&gt;pass&lt;/span&gt;
        
        &lt;span class=&quot;k&quot;&gt;with&lt;/span&gt; &lt;span class=&quot;nb&quot;&gt;open&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;Corpus2_no_names/&amp;#39;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;+&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;filename&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;split&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;.&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)[&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;+&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;no_names.txt&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;wb&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;as&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;f&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;
            &lt;span class=&quot;k&quot;&gt;for&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;line&lt;/span&gt; &lt;span class=&quot;ow&quot;&gt;in&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;y&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;
                &lt;span class=&quot;n&quot;&gt;f&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;write&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;line&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
                &lt;span class=&quot;n&quot;&gt;f&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;write&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;sa&quot;&gt;u&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&amp;quot;&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;\n&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&amp;quot;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;encode&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&amp;quot;utf-8&amp;quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;))&lt;/span&gt;
        &lt;span class=&quot;n&quot;&gt;f&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;close&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt;
        
&lt;span class=&quot;c1&quot;&gt;# Once this function defined for one file, we can run it through the whole corpus as such :&lt;/span&gt;

&lt;span class=&quot;c1&quot;&gt;#for filename in os.listdir(&amp;#39;Corpus2&amp;#39;):       &lt;/span&gt;
&lt;span class=&quot;c1&quot;&gt;#    delete_beginning_of_line_names(filename)&lt;/span&gt;

&lt;span class=&quot;c1&quot;&gt;# I&amp;#39;m not doing this here cause I already processed the data&lt;/span&gt;
&lt;span class=&quot;c1&quot;&gt;# On a side note, after this step, I realized that during the scraping some files came out wrong. I decided to pluck them out&lt;/span&gt;
&lt;span class=&quot;c1&quot;&gt;# of the data set. These files were : #192, #284, #318, #319, #94&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;
&lt;div class=&quot;cell border-box-sizing text_cell rendered&quot;&gt;&lt;div class=&quot;prompt input_prompt&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;inner_cell&quot;&gt;
&lt;div class=&quot;text_cell_render border-box-sizing rendered_html&quot;&gt;
&lt;p&gt;Let's see what the new, cleaned text looks like now :&lt;/p&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;cell border-box-sizing code_cell rendered&quot;&gt;
&lt;div class=&quot;input&quot;&gt;
&lt;div class=&quot;prompt input_prompt&quot;&gt;In&amp;nbsp;[4]:&lt;/div&gt;
&lt;div class=&quot;inner_cell&quot;&gt;
    &lt;div class=&quot;input_area&quot;&gt;
&lt;div class=&quot; highlight hl-ipython3&quot;&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;filename&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;os&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;listdir&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;Corpus2_no_names&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)[&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;106&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;sample&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;open&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;Corpus2_no_names/&amp;#39;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;+&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;filename&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;r&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;nb&quot;&gt;print&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;filename&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;+&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;\n&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;nb&quot;&gt;print&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;sample&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;read&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()[:&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1000&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;])&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;div class=&quot;output_wrapper&quot;&gt;
&lt;div class=&quot;output&quot;&gt;


&lt;div class=&quot;output_area&quot;&gt;

&lt;div class=&quot;prompt&quot;&gt;&lt;/div&gt;


&lt;div class=&quot;output_subarea output_stream output_stdout output_text&quot;&gt;
&lt;pre&gt;1_1_Are_We_Running_Out_of_Ideasno_names.txt

John VAN REENEN: Yeah. I know whenever I go to parties and people ask me, “What you do?” and I say “I am an economist,” they say, “What do you study?” I say “productivity.” And they usually walk off at that point. 
Yeah, well, I can identify with that.
VAN REENEN:  And if I then say, “Well, actually my measure of productivity is whether you stay alive,” then that really gets people interested.
Hmh, that is interesting. Let’s find out more, shall we? Today on Freakonomics Radio: we will look at productivity in a whole new light. From the good …
 He estimates you can make a house in about 24 hours. 
To the bad …
 We’ve been working on it for over 50 years, and we still haven’t managed to make it power a toaster.
To the ugly …
 So we might destroy our species as we know it while chasing total-factor productivity.
Wait a minute – what does powering a toaster and building a house in 24 hours have to do with destroying our species? What ties all these together?
 The only way to tie these tog
&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;
&lt;div class=&quot;cell border-box-sizing text_cell rendered&quot;&gt;&lt;div class=&quot;prompt input_prompt&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;inner_cell&quot;&gt;
&lt;div class=&quot;text_cell_render border-box-sizing rendered_html&quot;&gt;
&lt;p&gt;We can see that the deletion process 'forgot' a few names in a few lines.
Thankfully, it is not a real problem for what we are about to do. Remember, we are doing a statistical analysis of the words in all of the texts.&lt;br&gt;
Outliers that appear too little or too often will be deleted during the next steps of our data preprocessing.&lt;/p&gt;
&lt;p&gt;When it comes to deleting names in NLP, there are a few modules that do this very well. A process called Natural Entity Detection ( NER ) gives each word a token corresponding to its grammatical value. It would detect most of the names in our sentences.&lt;br&gt;
But in this case, I don't want to delete all the names in my dataset as some of them could be of use or could even be the main subject ( eg : article about the Obamas). I also want to keep this study as light as possible and NER can be overwhelming and slow.&lt;/p&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;cell border-box-sizing text_cell rendered&quot;&gt;&lt;div class=&quot;prompt input_prompt&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;inner_cell&quot;&gt;
&lt;div class=&quot;text_cell_render border-box-sizing rendered_html&quot;&gt;
&lt;h3 id=&quot;Cleaning-the-titles&quot;&gt;Cleaning the titles&lt;a class=&quot;anchor-link&quot; href=&quot;#Cleaning-the-titles&quot;&gt;&amp;#182;&lt;/a&gt;&lt;/h3&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;cell border-box-sizing code_cell rendered&quot;&gt;
&lt;div class=&quot;input&quot;&gt;
&lt;div class=&quot;prompt input_prompt&quot;&gt;In&amp;nbsp;[5]:&lt;/div&gt;
&lt;div class=&quot;inner_cell&quot;&gt;
    &lt;div class=&quot;input_area&quot;&gt;
&lt;div class=&quot; highlight hl-ipython3&quot;&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class=&quot;c1&quot;&gt;# All of our files are inside the &amp;quot;Corpus2_no_names&amp;quot; folder, let&amp;#39;s get their titles&lt;/span&gt;

&lt;span class=&quot;k&quot;&gt;def&lt;/span&gt; &lt;span class=&quot;nf&quot;&gt;get_title&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;filename&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;):&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;title_notxt&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;filename&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[:&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;12&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;           &lt;span class=&quot;c1&quot;&gt;# Gets rid of the &amp;quot;no_name.txt&amp;quot; at the end of the filename&lt;/span&gt;
    &lt;span class=&quot;k&quot;&gt;for&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;ch&lt;/span&gt; &lt;span class=&quot;ow&quot;&gt;in&lt;/span&gt; &lt;span class=&quot;nb&quot;&gt;enumerate&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;title_notxt&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;):&lt;/span&gt;
        &lt;span class=&quot;k&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;ch&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;isalpha&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;():&lt;/span&gt;                   &lt;span class=&quot;c1&quot;&gt;# Stops at the first char that is a letter&lt;/span&gt;
            &lt;span class=&quot;k&quot;&gt;break&lt;/span&gt;
        &lt;span class=&quot;n&quot;&gt;title&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;title_notxt&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:]&lt;/span&gt;             &lt;span class=&quot;c1&quot;&gt;# Cuts the name properly&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;title&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;title&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;replace&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;_&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39; &amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;strip&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt;
    &lt;span class=&quot;k&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;title&lt;/span&gt;

&lt;span class=&quot;c1&quot;&gt;# Let&amp;#39;s try it&lt;/span&gt;

&lt;span class=&quot;nb&quot;&gt;print&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;filename&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;+&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;\n&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;nb&quot;&gt;print&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;get_title&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;filename&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;))&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;div class=&quot;output_wrapper&quot;&gt;
&lt;div class=&quot;output&quot;&gt;


&lt;div class=&quot;output_area&quot;&gt;

&lt;div class=&quot;prompt&quot;&gt;&lt;/div&gt;


&lt;div class=&quot;output_subarea output_stream output_stdout output_text&quot;&gt;
&lt;pre&gt;1_1_Are_We_Running_Out_of_Ideasno_names.txt

Are We Running Out of Ideas
&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;
&lt;div class=&quot;cell border-box-sizing code_cell rendered&quot;&gt;
&lt;div class=&quot;input&quot;&gt;
&lt;div class=&quot;prompt input_prompt&quot;&gt;In&amp;nbsp;[6]:&lt;/div&gt;
&lt;div class=&quot;inner_cell&quot;&gt;
    &lt;div class=&quot;input_area&quot;&gt;
&lt;div class=&quot; highlight hl-ipython3&quot;&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class=&quot;c1&quot;&gt;# Let&amp;#39;s run this through the whole corpus : &lt;/span&gt;

&lt;span class=&quot;n&quot;&gt;title_list&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;[]&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;for&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;filename&lt;/span&gt; &lt;span class=&quot;ow&quot;&gt;in&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;os&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;listdir&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;Corpus2_no_names&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;):&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;title_list&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;append&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;get_title&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;filename&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;))&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;title_list&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[:&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;10&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;div class=&quot;output_wrapper&quot;&gt;
&lt;div class=&quot;output&quot;&gt;


&lt;div class=&quot;output_area&quot;&gt;

&lt;div class=&quot;prompt output_prompt&quot;&gt;Out[6]:&lt;/div&gt;




&lt;div class=&quot;output_text output_subarea output_execute_result&quot;&gt;
&lt;pre&gt;[&amp;#39;The Economics of Sleep, Part 2&amp;#39;,
 &amp;#39;The Economics of Sleep, Part 1&amp;#39;,
 &amp;#39;Is It Okay for Restaurants to Racially Profile Their Employees&amp;#39;,
 &amp;#39;Make Me a Match&amp;#39;,
 &amp;#39;Making Sex Offenders Pay — and Pay and Pay and Pay&amp;#39;,
 &amp;#39;Should We Really Behave Like Economists Say We Do&amp;#39;,
 &amp;#39;Ten Years of Freakonomics&amp;#39;,
 &amp;#39;Could the Next Brooklyn Be … Las Vegas&amp;#39;,
 &amp;#39;Nate Silver Says  “Everyone Is Kind of Weird”&amp;#39;,
 &amp;#39;Diamonds Are a Marriage Counselor’s Best Friend&amp;#39;]&lt;/pre&gt;
&lt;/div&gt;

&lt;/div&gt;

&lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;
&lt;div class=&quot;cell border-box-sizing text_cell rendered&quot;&gt;&lt;div class=&quot;prompt input_prompt&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;inner_cell&quot;&gt;
&lt;div class=&quot;text_cell_render border-box-sizing rendered_html&quot;&gt;
&lt;p&gt;Now that we have collected all the titles in a separate list, let's do the same thing with the actual text files.&lt;/p&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;cell border-box-sizing text_cell rendered&quot;&gt;&lt;div class=&quot;prompt input_prompt&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;inner_cell&quot;&gt;
&lt;div class=&quot;text_cell_render border-box-sizing rendered_html&quot;&gt;
&lt;h3 id=&quot;Creating-the-Corpus&quot;&gt;Creating the Corpus&lt;a class=&quot;anchor-link&quot; href=&quot;#Creating-the-Corpus&quot;&gt;&amp;#182;&lt;/a&gt;&lt;/h3&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;cell border-box-sizing code_cell rendered&quot;&gt;
&lt;div class=&quot;input&quot;&gt;
&lt;div class=&quot;prompt input_prompt&quot;&gt;In&amp;nbsp;[7]:&lt;/div&gt;
&lt;div class=&quot;inner_cell&quot;&gt;
    &lt;div class=&quot;input_area&quot;&gt;
&lt;div class=&quot; highlight hl-ipython3&quot;&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;docs&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;{}&lt;/span&gt;
&lt;span class=&quot;c1&quot;&gt;# The reason why we&amp;#39;re specifying different encodings is to be sure that all the characters,&lt;/span&gt;
&lt;span class=&quot;c1&quot;&gt;# even special ones will be properly processed.&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;for&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;filename&lt;/span&gt; &lt;span class=&quot;ow&quot;&gt;in&lt;/span&gt; &lt;span class=&quot;nb&quot;&gt;enumerate&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;os&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;listdir&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;Corpus2_no_names&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)):&lt;/span&gt;
    &lt;span class=&quot;k&quot;&gt;try&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;
        &lt;span class=&quot;n&quot;&gt;x&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;open&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;Corpus2_no_names/&amp;#39;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;+&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;filename&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;r&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
        &lt;span class=&quot;n&quot;&gt;docs&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;x&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;read&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt;
    &lt;span class=&quot;k&quot;&gt;except&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;
        &lt;span class=&quot;n&quot;&gt;x&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;open&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;Corpus2_no_names/&amp;#39;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;+&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;filename&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;encoding&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&amp;quot;utf8&amp;quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
        &lt;span class=&quot;n&quot;&gt;docs&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;x&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;read&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt;

&lt;span class=&quot;c1&quot;&gt;# Now we can&amp;#39;t really output this as it&amp;#39;s too long&lt;/span&gt;
&lt;span class=&quot;c1&quot;&gt;# Let&amp;#39;s put it in a list format as well:&lt;/span&gt;

&lt;span class=&quot;n&quot;&gt;doc_complete&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[]&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;for&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;value&lt;/span&gt; &lt;span class=&quot;ow&quot;&gt;in&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;docs&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;values&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;():&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;temp&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;value&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;doc_complete&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;append&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;temp&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;
&lt;div class=&quot;cell border-box-sizing text_cell rendered&quot;&gt;&lt;div class=&quot;prompt input_prompt&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;inner_cell&quot;&gt;
&lt;div class=&quot;text_cell_render border-box-sizing rendered_html&quot;&gt;
&lt;p&gt;Let's check that everything has ran properly for doc_complete. We can't output the whole list, but checking a text and the size of the list will tell us that it worked.&lt;/p&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;cell border-box-sizing code_cell rendered&quot;&gt;
&lt;div class=&quot;input&quot;&gt;
&lt;div class=&quot;prompt input_prompt&quot;&gt;In&amp;nbsp;[8]:&lt;/div&gt;
&lt;div class=&quot;inner_cell&quot;&gt;
    &lt;div class=&quot;input_area&quot;&gt;
&lt;div class=&quot; highlight hl-ipython3&quot;&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;print&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;doc_complete&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;10&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;][:&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;2000&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;])&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;div class=&quot;output_wrapper&quot;&gt;
&lt;div class=&quot;output&quot;&gt;


&lt;div class=&quot;output_area&quot;&gt;

&lt;div class=&quot;prompt&quot;&gt;&lt;/div&gt;


&lt;div class=&quot;output_subarea output_stream output_stdout output_text&quot;&gt;
&lt;pre&gt;In our previous episode, we looked at the idea of a universal language. One candidate was Esperanto, a language invented in the 19th century by a Jewish ophthalmologist named Ludovik Lazarus Zamenhof. Derived from various European roots, Esperanto was meant to be easy to learn and egalitarian. The idea was not for Esperanto to supersede existing languages.
 It would stand next to national languages and be a helping language to make bonds among people who were not like one another.
A noble goal, surely. But, alas, not quite attainable. At least not on the scale Zamenhof desired. However: as our producer Stephanie Tam learned, and as she explains in today’s special episode, there is a small global community of Esperantists who convene once a year to revel in their bond.
 Today you’re going to meet people who are taking time off of work, who are spending money to go and participate in this weird Esperantujo, as they call it — this weird Esperanto-land that only exists temporarily whenever all these weirdos meet together.
*      *      *
On today’s episode: our producer Stephanie Tam takes a trip deep into Esperanto-land.
 Estimates for how many people speak Esperanto range, but the Ethnologue, a comprehensive language database, cites 2 million speakers spanning 100 countries. Just 1,000 of those are native speakers, who grow up in Esperanto-speaking families and usually also speak 1 or 2 other national languages. The most famous of these is probably the billionaire financier George Soros. But for the vast majority — well, they might be the only Esperanto speakers in the area. So … why on earth learn it? I traveled to the Esperanto-USA National Congress to find out. For the past several years, it’s been held at William Peace University, in Raleigh, North Carolina.
 This is my fourth year here in Raleigh. As I was driving in from the west, we got to the first highway sign that said, “Raleigh: 55 miles.” I said, “It’s like coming home. It’s just like coming home! We’re al
&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;
&lt;div class=&quot;cell border-box-sizing text_cell rendered&quot;&gt;&lt;div class=&quot;prompt input_prompt&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;inner_cell&quot;&gt;
&lt;div class=&quot;text_cell_render border-box-sizing rendered_html&quot;&gt;
&lt;p&gt;The data is complete and intact, we can proceed to the &lt;strong&gt;REAL&lt;/strong&gt; text preprocessing.&lt;/p&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;cell border-box-sizing text_cell rendered&quot;&gt;&lt;div class=&quot;prompt input_prompt&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;inner_cell&quot;&gt;
&lt;div class=&quot;text_cell_render border-box-sizing rendered_html&quot;&gt;
&lt;h2 id=&quot;III.--Using-NLTK&quot;&gt;III.  Using NLTK&lt;a class=&quot;anchor-link&quot; href=&quot;#III.--Using-NLTK&quot;&gt;&amp;#182;&lt;/a&gt;&lt;/h2&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;cell border-box-sizing code_cell rendered&quot;&gt;
&lt;div class=&quot;input&quot;&gt;
&lt;div class=&quot;prompt input_prompt&quot;&gt;In&amp;nbsp;[9]:&lt;/div&gt;
&lt;div class=&quot;inner_cell&quot;&gt;
    &lt;div class=&quot;input_area&quot;&gt;
&lt;div class=&quot; highlight hl-ipython3&quot;&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class=&quot;c1&quot;&gt;# First we import the relevant modules :&lt;/span&gt;
&lt;span class=&quot;kn&quot;&gt;from&lt;/span&gt; &lt;span class=&quot;nn&quot;&gt;nltk.corpus&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;stopwords&lt;/span&gt;
&lt;span class=&quot;kn&quot;&gt;from&lt;/span&gt; &lt;span class=&quot;nn&quot;&gt;nltk.stem.wordnet&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;WordNetLemmatizer&lt;/span&gt;
&lt;span class=&quot;kn&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;nn&quot;&gt;string&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;
&lt;div class=&quot;cell border-box-sizing text_cell rendered&quot;&gt;&lt;div class=&quot;prompt input_prompt&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;inner_cell&quot;&gt;
&lt;div class=&quot;text_cell_render border-box-sizing rendered_html&quot;&gt;
&lt;h3 id=&quot;Stopwords-issue&quot;&gt;Stopwords issue&lt;a class=&quot;anchor-link&quot; href=&quot;#Stopwords-issue&quot;&gt;&amp;#182;&lt;/a&gt;&lt;/h3&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;cell border-box-sizing text_cell rendered&quot;&gt;&lt;div class=&quot;prompt input_prompt&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;inner_cell&quot;&gt;
&lt;div class=&quot;text_cell_render border-box-sizing rendered_html&quot;&gt;
&lt;p&gt;We will now create a list of stopword to filter in our dataset. A basic list is given by the &quot;stopword&quot; from nltk.corpus, but it lacks a few things and we can make some improvements.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;The character &quot; ’ &quot; is used in our transcript instead of the character &quot; ' &quot; that is used in nltk's english stopwords, so we need to update the list accordingly.  &lt;/li&gt;
&lt;li&gt;I mentionned earlier that since transcripts were from actual discussions and not written to be read, they also come with another set of spoken stopwords that we will have to filter out from our dataset.  &lt;/li&gt;
&lt;li&gt;Some numbers are written in text, they are also not relevant to our text study.  &lt;/li&gt;
&lt;li&gt;There is also some vocabulary specific to freakonomics that we consider not te be relevant to detecting the subject of each article.&lt;/li&gt;
&lt;/ol&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;cell border-box-sizing code_cell rendered&quot;&gt;
&lt;div class=&quot;input&quot;&gt;
&lt;div class=&quot;prompt input_prompt&quot;&gt;In&amp;nbsp;[10]:&lt;/div&gt;
&lt;div class=&quot;inner_cell&quot;&gt;
    &lt;div class=&quot;input_area&quot;&gt;
&lt;div class=&quot; highlight hl-ipython3&quot;&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;stopword&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;stopwords&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;words&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;english&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;stopword&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;20&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:]&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;div class=&quot;output_wrapper&quot;&gt;
&lt;div class=&quot;output&quot;&gt;


&lt;div class=&quot;output_area&quot;&gt;

&lt;div class=&quot;prompt output_prompt&quot;&gt;Out[10]:&lt;/div&gt;




&lt;div class=&quot;output_text output_subarea output_execute_result&quot;&gt;
&lt;pre&gt;[&amp;#34;isn&amp;#39;t&amp;#34;,
 &amp;#39;ma&amp;#39;,
 &amp;#39;mightn&amp;#39;,
 &amp;#34;mightn&amp;#39;t&amp;#34;,
 &amp;#39;mustn&amp;#39;,
 &amp;#34;mustn&amp;#39;t&amp;#34;,
 &amp;#39;needn&amp;#39;,
 &amp;#34;needn&amp;#39;t&amp;#34;,
 &amp;#39;shan&amp;#39;,
 &amp;#34;shan&amp;#39;t&amp;#34;,
 &amp;#39;shouldn&amp;#39;,
 &amp;#34;shouldn&amp;#39;t&amp;#34;,
 &amp;#39;wasn&amp;#39;,
 &amp;#34;wasn&amp;#39;t&amp;#34;,
 &amp;#39;weren&amp;#39;,
 &amp;#34;weren&amp;#39;t&amp;#34;,
 &amp;#39;won&amp;#39;,
 &amp;#34;won&amp;#39;t&amp;#34;,
 &amp;#39;wouldn&amp;#39;,
 &amp;#34;wouldn&amp;#39;t&amp;#34;]&lt;/pre&gt;
&lt;/div&gt;

&lt;/div&gt;

&lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;
&lt;div class=&quot;cell border-box-sizing code_cell rendered&quot;&gt;
&lt;div class=&quot;input&quot;&gt;
&lt;div class=&quot;prompt input_prompt&quot;&gt;In&amp;nbsp;[11]:&lt;/div&gt;
&lt;div class=&quot;inner_cell&quot;&gt;
    &lt;div class=&quot;input_area&quot;&gt;
&lt;div class=&quot; highlight hl-ipython3&quot;&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class=&quot;c1&quot;&gt;# Dealing with the apostrophe issue&lt;/span&gt;

&lt;span class=&quot;k&quot;&gt;for&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;word&lt;/span&gt; &lt;span class=&quot;ow&quot;&gt;in&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;stopwords&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;words&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;english&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;):&lt;/span&gt;
    &lt;span class=&quot;k&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&amp;quot;&amp;#39;&amp;quot;&lt;/span&gt; &lt;span class=&quot;ow&quot;&gt;in&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;word&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;
        &lt;span class=&quot;n&quot;&gt;x&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;word&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;replace&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;\&amp;#39;&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;’&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;   
        &lt;span class=&quot;n&quot;&gt;stopword&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;append&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
        
&lt;span class=&quot;c1&quot;&gt;# Here are list of all the cases we spoke about earlier&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;extra_stopwords&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;–&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;would&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;like&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;people&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;think&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;know&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;that’s&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;really&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;
        &lt;span class=&quot;s1&quot;&gt;&amp;#39;i’m&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;there&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;\&amp;#39;&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;s&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;yeah&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;oh&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;there’s&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;we’ll&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;we’ve&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;‘it’s&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;i’d&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;can’t&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;
        &lt;span class=&quot;s1&quot;&gt;&amp;#39;they’re&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;i’ll&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;we’re&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;

&lt;span class=&quot;n&quot;&gt;numbers&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;[&lt;/span&gt; &lt;span class=&quot;s1&quot;&gt;&amp;#39;one&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;two&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;three&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;four&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;five&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;six&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;seven&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;eight&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;nine&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;ten&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;
          &lt;span class=&quot;s1&quot;&gt;&amp;#39;1&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;2&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;3&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;4&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;5&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;6&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;7&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;8&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;9&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;

&lt;span class=&quot;n&quot;&gt;spoken&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;whoa&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;hey&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;hi&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;oh&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;wow&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;ok&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;okay&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;boo&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;boo…who&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;…&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;

&lt;span class=&quot;n&quot;&gt;freako_voc&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;dubner&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;stephen&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;blog&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;levitt&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;freakonomics&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;freakonomic&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;podcast&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;podcasts&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;episode&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;episodes&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;previous&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;
           &lt;span class=&quot;s1&quot;&gt;&amp;#39;transcript&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;episode&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;radio&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;broadcast&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;rebroadcast&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;archive&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;llc&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;

&lt;span class=&quot;c1&quot;&gt;# Let&amp;#39;s update our current stopwords list&lt;/span&gt;

&lt;span class=&quot;n&quot;&gt;stopword&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;stopword&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;+&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;extra_stopwords&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;+&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;numbers&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;+&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;spoken&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;+&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;freako_voc&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;
&lt;div class=&quot;cell border-box-sizing text_cell rendered&quot;&gt;&lt;div class=&quot;prompt input_prompt&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;inner_cell&quot;&gt;
&lt;div class=&quot;text_cell_render border-box-sizing rendered_html&quot;&gt;
&lt;p&gt;All of that worked properly, let's transform the list to a set and add another set to filter out punctuation, with more extra characters.&lt;/p&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;cell border-box-sizing code_cell rendered&quot;&gt;
&lt;div class=&quot;input&quot;&gt;
&lt;div class=&quot;prompt input_prompt&quot;&gt;In&amp;nbsp;[12]:&lt;/div&gt;
&lt;div class=&quot;inner_cell&quot;&gt;
    &lt;div class=&quot;input_area&quot;&gt;
&lt;div class=&quot; highlight hl-ipython3&quot;&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;stop&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;set&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;stopword&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;

&lt;span class=&quot;n&quot;&gt;exclude&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;nb&quot;&gt;set&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;string&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;punctuation&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;+&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;—&amp;#39;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;+&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;“&amp;#39;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;+&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;”&amp;#39;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;+&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;…&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;c1&quot;&gt;# The characters I&amp;#39;m adding here are some &amp;quot;special&amp;quot; ones I found in the text&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;
&lt;div class=&quot;cell border-box-sizing text_cell rendered&quot;&gt;&lt;div class=&quot;prompt input_prompt&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;inner_cell&quot;&gt;
&lt;div class=&quot;text_cell_render border-box-sizing rendered_html&quot;&gt;
&lt;h2 id=&quot;Lemmatization&quot;&gt;Lemmatization&lt;a class=&quot;anchor-link&quot; href=&quot;#Lemmatization&quot;&gt;&amp;#182;&lt;/a&gt;&lt;/h2&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;cell border-box-sizing text_cell rendered&quot;&gt;&lt;div class=&quot;prompt input_prompt&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;inner_cell&quot;&gt;
&lt;div class=&quot;text_cell_render border-box-sizing rendered_html&quot;&gt;
&lt;p&gt;Now to clean each of our documents, we will go through them word by word, deleting the words that are in our stopword set and characters by characters deleting the characters in our exclude set.&lt;br&gt;
Then we pass each word throuh a &lt;strong&gt;lemmatizer&lt;/strong&gt;.&lt;br&gt;
I know, it's an awful word and it sounds like a lot but it isn't actually that complicated, bear with me.&lt;/p&gt;
&lt;p&gt;This what Wikipedia has to say about Lemmatization :&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;Lemmatisation (or lemmatization) in linguistics is the process of grouping together the inflected forms of a word so they can be analysed as a single item, identified by the word's lemma, or dictionary form.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;In human speech : A lemmatizer transforms a word back to its &quot;root&quot; word.&lt;/p&gt;
&lt;p&gt;For example :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Learning -&amp;gt; Learn&lt;/li&gt;
&lt;li&gt;Presidents -&amp;gt; President&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;This way, words that were plurals, or verbs that were conjugated are formated the same way.&lt;br&gt;
While this step does lose us some temporal and quantity information ( when and how many ), we are keeping the semantic value of the words, and in the case of topic modeling, this is what matters the most.&lt;/p&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;cell border-box-sizing code_cell rendered&quot;&gt;
&lt;div class=&quot;input&quot;&gt;
&lt;div class=&quot;prompt input_prompt&quot;&gt;In&amp;nbsp;[13]:&lt;/div&gt;
&lt;div class=&quot;inner_cell&quot;&gt;
    &lt;div class=&quot;input_area&quot;&gt;
&lt;div class=&quot; highlight hl-ipython3&quot;&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;lemma&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;WordNetLemmatizer&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt;

&lt;span class=&quot;c1&quot;&gt;# Defining our cleaning function for each document&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;def&lt;/span&gt; &lt;span class=&quot;nf&quot;&gt;clean&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;doc&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;):&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;stop_free&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&amp;quot; &amp;quot;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;join&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;([&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;i&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;for&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;i&lt;/span&gt; &lt;span class=&quot;ow&quot;&gt;in&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;doc&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;lower&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;split&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;i&lt;/span&gt; &lt;span class=&quot;ow&quot;&gt;not&lt;/span&gt; &lt;span class=&quot;ow&quot;&gt;in&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;stop&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;])&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;punc_free&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;s1&quot;&gt;&amp;#39;&amp;#39;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;join&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;ch&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;for&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;ch&lt;/span&gt; &lt;span class=&quot;ow&quot;&gt;in&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;stop_free&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;ch&lt;/span&gt; &lt;span class=&quot;ow&quot;&gt;not&lt;/span&gt; &lt;span class=&quot;ow&quot;&gt;in&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;exclude&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
    &lt;span class=&quot;c1&quot;&gt;# added for thorough cleaning after punctuation gone&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;stop_free2&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&amp;quot; &amp;quot;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;join&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;([&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;i&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;for&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;i&lt;/span&gt; &lt;span class=&quot;ow&quot;&gt;in&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;punc_free&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;split&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;i&lt;/span&gt; &lt;span class=&quot;ow&quot;&gt;not&lt;/span&gt; &lt;span class=&quot;ow&quot;&gt;in&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;stop&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;])&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;normalized1&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&amp;quot; &amp;quot;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;join&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;lemma&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;lemmatize&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;word&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;pos&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;v&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;for&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;word&lt;/span&gt; &lt;span class=&quot;ow&quot;&gt;in&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;stop_free2&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;split&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;())&lt;/span&gt;
    &lt;span class=&quot;c1&quot;&gt;# added for correct lemmatization of nouns&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;normalized2&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&amp;quot; &amp;quot;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;join&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;lemma&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;lemmatize&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;word&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;pos&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;n&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;for&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;word&lt;/span&gt; &lt;span class=&quot;ow&quot;&gt;in&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;normalized1&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;split&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;())&lt;/span&gt;
    &lt;span class=&quot;c1&quot;&gt;# added for cleaning of lemmatized words&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;normalized&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&amp;quot; &amp;quot;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;join&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;([&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;i&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;for&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;i&lt;/span&gt; &lt;span class=&quot;ow&quot;&gt;in&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;normalized2&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;split&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;i&lt;/span&gt; &lt;span class=&quot;ow&quot;&gt;not&lt;/span&gt; &lt;span class=&quot;ow&quot;&gt;in&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;stop&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;])&lt;/span&gt;
    &lt;span class=&quot;k&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;normalized&lt;/span&gt;

&lt;span class=&quot;c1&quot;&gt;# Let&amp;#39;s try it for size&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;clean&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;doc_complete&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;10&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;][:&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;2000&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;])&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;div class=&quot;output_wrapper&quot;&gt;
&lt;div class=&quot;output&quot;&gt;


&lt;div class=&quot;output_area&quot;&gt;

&lt;div class=&quot;prompt output_prompt&quot;&gt;Out[13]:&lt;/div&gt;




&lt;div class=&quot;output_text output_subarea output_execute_result&quot;&gt;
&lt;pre&gt;&amp;#39;look idea universal language candidate esperanto language invent 19th century jewish ophthalmologist name ludovik lazarus zamenhof derive various european root esperanto mean easy learn egalitarian idea esperanto supersede exist language stand next national language help language make bond among another noble goal surely ala quite attainable least scale zamenhof desire however producer stephanie tam learn explain today’s special small global community esperantists convene year revel bond today go meet take time work spend money go participate weird esperantujo call weird esperantoland exist temporarily whenever weirdo meet together today’s producer stephanie tam take trip deep esperantoland estimate many speak esperanto range ethnologue comprehensive language database cite million speaker span 100 country 1000 native speaker grow esperantospeaking family usually also speak national language famous probably billionaire financier george soros vast majority well might esperanto speaker area earth learn travel esperantousa national congress find past several year hold william peace university raleigh north carolina fourth year raleigh drive west get first highway sign say raleigh 55 mile say come home come home al&amp;#39;&lt;/pre&gt;
&lt;/div&gt;

&lt;/div&gt;

&lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;
&lt;div class=&quot;cell border-box-sizing text_cell rendered&quot;&gt;&lt;div class=&quot;prompt input_prompt&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;inner_cell&quot;&gt;
&lt;div class=&quot;text_cell_render border-box-sizing rendered_html&quot;&gt;
&lt;p&gt;Above is what the document looks like after it has been cleaned and lemmatized. To this, we can see that we could also clean more numeric characters out of the document, and maybe some measures such as &quot;miles&quot;, &quot;pounds&quot;, and others. Let's assume that they won't be too common and that they will be filtered out in the next steps.&lt;/p&gt;
&lt;p&gt;For computing reasons, keeping our documents as long strings isn't the best option to process them. What we like to do is &lt;strong&gt;tokenize&lt;/strong&gt; them. Then again, an hard word for an easy concept. We simply split the cleaned document in &lt;strong&gt;tokens&lt;/strong&gt;. A token is a word in the text. It's as simple as this.&lt;/p&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;cell border-box-sizing code_cell rendered&quot;&gt;
&lt;div class=&quot;input&quot;&gt;
&lt;div class=&quot;prompt input_prompt&quot;&gt;In&amp;nbsp;[14]:&lt;/div&gt;
&lt;div class=&quot;inner_cell&quot;&gt;
    &lt;div class=&quot;input_area&quot;&gt;
&lt;div class=&quot; highlight hl-ipython3&quot;&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class=&quot;c1&quot;&gt;# Example of tokenization for our example document :&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;doc_clean&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;clean&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;doc&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;split&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;for&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;doc&lt;/span&gt; &lt;span class=&quot;ow&quot;&gt;in&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;doc_complete&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;doc_clean&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;10&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;][:&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;20&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;div class=&quot;output_wrapper&quot;&gt;
&lt;div class=&quot;output&quot;&gt;


&lt;div class=&quot;output_area&quot;&gt;

&lt;div class=&quot;prompt output_prompt&quot;&gt;Out[14]:&lt;/div&gt;




&lt;div class=&quot;output_text output_subarea output_execute_result&quot;&gt;
&lt;pre&gt;[&amp;#39;look&amp;#39;,
 &amp;#39;idea&amp;#39;,
 &amp;#39;universal&amp;#39;,
 &amp;#39;language&amp;#39;,
 &amp;#39;candidate&amp;#39;,
 &amp;#39;esperanto&amp;#39;,
 &amp;#39;language&amp;#39;,
 &amp;#39;invent&amp;#39;,
 &amp;#39;19th&amp;#39;,
 &amp;#39;century&amp;#39;,
 &amp;#39;jewish&amp;#39;,
 &amp;#39;ophthalmologist&amp;#39;,
 &amp;#39;name&amp;#39;,
 &amp;#39;ludovik&amp;#39;,
 &amp;#39;lazarus&amp;#39;,
 &amp;#39;zamenhof&amp;#39;,
 &amp;#39;derive&amp;#39;,
 &amp;#39;various&amp;#39;,
 &amp;#39;european&amp;#39;,
 &amp;#39;root&amp;#39;]&lt;/pre&gt;
&lt;/div&gt;

&lt;/div&gt;

&lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;
&lt;div class=&quot;cell border-box-sizing text_cell rendered&quot;&gt;&lt;div class=&quot;prompt input_prompt&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;inner_cell&quot;&gt;
&lt;div class=&quot;text_cell_render border-box-sizing rendered_html&quot;&gt;
&lt;p&gt;Great !&lt;br&gt;
We put all the words as single items in a big list so that our next processing step will be able to count them and to rank them accordingly.&lt;/p&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;cell border-box-sizing text_cell rendered&quot;&gt;&lt;div class=&quot;prompt input_prompt&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;inner_cell&quot;&gt;
&lt;div class=&quot;text_cell_render border-box-sizing rendered_html&quot;&gt;
&lt;h3 id=&quot;Bag-of-Words&quot;&gt;Bag of Words&lt;a class=&quot;anchor-link&quot; href=&quot;#Bag-of-Words&quot;&gt;&amp;#182;&lt;/a&gt;&lt;/h3&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;cell border-box-sizing code_cell rendered&quot;&gt;
&lt;div class=&quot;input&quot;&gt;
&lt;div class=&quot;prompt input_prompt&quot;&gt;In&amp;nbsp;[15]:&lt;/div&gt;
&lt;div class=&quot;inner_cell&quot;&gt;
    &lt;div class=&quot;input_area&quot;&gt;
&lt;div class=&quot; highlight hl-ipython3&quot;&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class=&quot;c1&quot;&gt;# Let&amp;#39;s import gensim for the topic modelling&lt;/span&gt;
&lt;span class=&quot;kn&quot;&gt;from&lt;/span&gt; &lt;span class=&quot;nn&quot;&gt;gensim&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;corpora&lt;/span&gt;
&lt;span class=&quot;kn&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;nn&quot;&gt;gensim.models&lt;/span&gt; 
&lt;/pre&gt;&lt;/div&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;div class=&quot;output_wrapper&quot;&gt;
&lt;div class=&quot;output&quot;&gt;


&lt;div class=&quot;output_area&quot;&gt;

&lt;div class=&quot;prompt&quot;&gt;&lt;/div&gt;


&lt;div class=&quot;output_subarea output_stream output_stderr output_text&quot;&gt;
&lt;pre&gt;C:\Users\A1533\Anaconda3\lib\site-packages\gensim\utils.py:1167: UserWarning: detected Windows; aliasing chunkize to chunkize_serial
  warnings.warn(&amp;#34;detected Windows; aliasing chunkize to chunkize_serial&amp;#34;)
&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;
&lt;div class=&quot;cell border-box-sizing code_cell rendered&quot;&gt;
&lt;div class=&quot;input&quot;&gt;
&lt;div class=&quot;prompt input_prompt&quot;&gt;In&amp;nbsp;[16]:&lt;/div&gt;
&lt;div class=&quot;inner_cell&quot;&gt;
    &lt;div class=&quot;input_area&quot;&gt;
&lt;div class=&quot; highlight hl-ipython3&quot;&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class=&quot;c1&quot;&gt;# Creating the term dictionary of our corpus, where every unique term is assigned an index. &lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;dictionary&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;corpora&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Dictionary&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;doc_clean&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;

&lt;span class=&quot;c1&quot;&gt;# As I mentionned previously, we&amp;#39;re gonna filter out terms that appear too much, or too often.&lt;/span&gt;
&lt;span class=&quot;c1&quot;&gt;# Here we&amp;#39;ll count no term that appear in less than 10 articles&lt;/span&gt;
&lt;span class=&quot;c1&quot;&gt;# and no term that appears in more than 70% of the articles&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;dictionary&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;filter_extremes&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;no_below&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;10&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;no_above&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;mf&quot;&gt;0.7&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;


&lt;span class=&quot;c1&quot;&gt;# Converting list of documents (corpus) into Document Term Matrix using dictionary prepared above.&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;doc_term_matrix&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;dictionary&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;doc2bow&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;doc&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;for&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;doc&lt;/span&gt; &lt;span class=&quot;ow&quot;&gt;in&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;doc_clean&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;
&lt;div class=&quot;cell border-box-sizing text_cell rendered&quot;&gt;&lt;div class=&quot;prompt input_prompt&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;inner_cell&quot;&gt;
&lt;div class=&quot;text_cell_render border-box-sizing rendered_html&quot;&gt;
&lt;p&gt;There is a lot of things happening in a few lines of code above here, let me explain.&lt;br&gt;
The first step is to create a dictionary of &lt;strong&gt;all&lt;/strong&gt; the words in &lt;strong&gt;all&lt;/strong&gt; the transcripts, whether they appear a lot, or not. To do this we use all of our tokenized documents and create a new entry in the dictionary every time a new word appears.&lt;br&gt;
The second step is to filter out the extremes. The assumption behind this is that words that appear too often in too many documents have little semantic meaning, and those that appear not frequently enough won't bear any weight in the computations that will follow. For the words that do not fit in our filtering criteria, their entries are removed.&lt;br&gt;
In the dictionary, each word is associated to an id number ( entry number ).&lt;/p&gt;
&lt;p&gt;Let's take a simple example before moving forward. I'll use two sentences from &lt;strong&gt;real life&lt;/strong&gt; as my &quot;documents&quot; and show what the corresponding dictionary will be.&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;Sentence1 : &quot;Sally likes petting dogs&quot;&lt;/p&gt;
&lt;p&gt;Sentence2 : &quot;Sallo likes eating dogs&quot;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Well that took a strange turn...&lt;br&gt;
All the &lt;em&gt;different&lt;/em&gt; words in Sentence1 and Sentence 2 are : Sally, Ariel, likes, eating, petting, and dogs. These will be our columns. This is our dictionary !&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;&lt;tr&gt;
&lt;th&gt;Sally&lt;/th&gt;
&lt;th&gt;Sallo&lt;/th&gt;
&lt;th&gt;likes&lt;/th&gt;
&lt;th&gt;eating&lt;/th&gt;
&lt;th&gt;petting&lt;/th&gt;
&lt;th&gt;dogs&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;After counting the words in both sentences, we get our &lt;strong&gt;Bag of Words&lt;/strong&gt; representation :&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;&lt;tr&gt;
&lt;th&gt;Sentence&lt;/th&gt;
&lt;th&gt;Sally&lt;/th&gt;
&lt;th&gt;Sallo&lt;/th&gt;
&lt;th&gt;likes&lt;/th&gt;
&lt;th&gt;eating&lt;/th&gt;
&lt;th&gt;petting&lt;/th&gt;
&lt;th&gt;dogs&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Sentence1&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;0&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;0&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Sentence2&lt;/td&gt;
&lt;td&gt;0&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;0&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;For the sake of the example's simplicity, I kept the words as they were but as I mentionned earlier they could have been replaced by an id (Sally=1, Sallo=. etc. ). I also didn't have to do any filtering on these sentences, then again to keep it simple.&lt;/p&gt;
&lt;p&gt;This way a whole transcript can be &quot;summed up&quot; by a row of numbers corresponding to how many times words appear in that transcript.&lt;/p&gt;
&lt;p&gt;Let's take an example on our data :&lt;/p&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;cell border-box-sizing code_cell rendered&quot;&gt;
&lt;div class=&quot;input&quot;&gt;
&lt;div class=&quot;prompt input_prompt&quot;&gt;In&amp;nbsp;[17]:&lt;/div&gt;
&lt;div class=&quot;inner_cell&quot;&gt;
    &lt;div class=&quot;input_area&quot;&gt;
&lt;div class=&quot; highlight hl-ipython3&quot;&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;example&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;doc_term_matrix&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;10&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;example&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[:&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;20&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;div class=&quot;output_wrapper&quot;&gt;
&lt;div class=&quot;output&quot;&gt;


&lt;div class=&quot;output_area&quot;&gt;

&lt;div class=&quot;prompt output_prompt&quot;&gt;Out[17]:&lt;/div&gt;




&lt;div class=&quot;output_text output_subarea output_execute_result&quot;&gt;
&lt;pre&gt;[(0, 1),
 (1, 3),
 (6, 3),
 (18, 1),
 (20, 2),
 (21, 3),
 (27, 1),
 (30, 1),
 (32, 1),
 (33, 1),
 (49, 1),
 (52, 1),
 (54, 2),
 (57, 1),
 (58, 1),
 (64, 1),
 (65, 2),
 (72, 1),
 (75, 2),
 (77, 2)]&lt;/pre&gt;
&lt;/div&gt;

&lt;/div&gt;

&lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;
&lt;div class=&quot;cell border-box-sizing text_cell rendered&quot;&gt;&lt;div class=&quot;prompt input_prompt&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;inner_cell&quot;&gt;
&lt;div class=&quot;text_cell_render border-box-sizing rendered_html&quot;&gt;
&lt;p&gt;The number on the right side represents a number id for a unique word, and the number on the left side represents how many times this unique word appeared in the document.&lt;/p&gt;
&lt;p&gt;Let's see which word id appeared the most in this document :&lt;/p&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;cell border-box-sizing code_cell rendered&quot;&gt;
&lt;div class=&quot;input&quot;&gt;
&lt;div class=&quot;prompt input_prompt&quot;&gt;In&amp;nbsp;[18]:&lt;/div&gt;
&lt;div class=&quot;inner_cell&quot;&gt;
    &lt;div class=&quot;input_area&quot;&gt;
&lt;div class=&quot; highlight hl-ipython3&quot;&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;example&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;nb&quot;&gt;sorted&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;example&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;key&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;lambda&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;tup&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;tup&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;])&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;example&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;10&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:]&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;div class=&quot;output_wrapper&quot;&gt;
&lt;div class=&quot;output&quot;&gt;


&lt;div class=&quot;output_area&quot;&gt;

&lt;div class=&quot;prompt output_prompt&quot;&gt;Out[18]:&lt;/div&gt;




&lt;div class=&quot;output_text output_subarea output_execute_result&quot;&gt;
&lt;pre&gt;[(2994, 6),
 (173, 7),
 (361, 8),
 (1348, 8),
 (687, 9),
 (792, 9),
 (2959, 9),
 (1465, 11),
 (906, 12),
 (1446, 50)]&lt;/pre&gt;
&lt;/div&gt;

&lt;/div&gt;

&lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;
&lt;div class=&quot;cell border-box-sizing text_cell rendered&quot;&gt;&lt;div class=&quot;prompt input_prompt&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;inner_cell&quot;&gt;
&lt;div class=&quot;text_cell_render border-box-sizing rendered_html&quot;&gt;
&lt;p&gt;That means the word with the id 1454 apeared 50 times in the document, the word with the id 914 appeared 12 times in the document, etc.
Let's check the meaning of these ids.&lt;/p&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;cell border-box-sizing code_cell rendered&quot;&gt;
&lt;div class=&quot;input&quot;&gt;
&lt;div class=&quot;prompt input_prompt&quot;&gt;In&amp;nbsp;[19]:&lt;/div&gt;
&lt;div class=&quot;inner_cell&quot;&gt;
    &lt;div class=&quot;input_area&quot;&gt;
&lt;div class=&quot; highlight hl-ipython3&quot;&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;for&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;tup&lt;/span&gt; &lt;span class=&quot;ow&quot;&gt;in&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;example&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;10&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:]:&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;w_id&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;nb&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;tup&lt;/span&gt;
    &lt;span class=&quot;k&quot;&gt;for&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;word&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;word_id&lt;/span&gt; &lt;span class=&quot;ow&quot;&gt;in&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;dictionary&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;token2id&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;items&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;():&lt;/span&gt;
        &lt;span class=&quot;k&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;word_id&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;==&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;w_id&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;
            &lt;span class=&quot;nb&quot;&gt;print&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&amp;quot;The word &lt;/span&gt;&lt;span class=&quot;se&quot;&gt;\&amp;quot;&lt;/span&gt;&lt;span class=&quot;si&quot;&gt;{}&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;\&amp;quot;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt; appears &lt;/span&gt;&lt;span class=&quot;si&quot;&gt;{}&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt; times in the document.&amp;quot;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;format&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;word&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;nb&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;))&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;div class=&quot;output_wrapper&quot;&gt;
&lt;div class=&quot;output&quot;&gt;


&lt;div class=&quot;output_area&quot;&gt;

&lt;div class=&quot;prompt&quot;&gt;&lt;/div&gt;


&lt;div class=&quot;output_subarea output_stream output_stdout output_text&quot;&gt;
&lt;pre&gt;The word &amp;#34;speaker&amp;#34; appears 6 times in the document.
The word &amp;#34;country&amp;#34; appears 7 times in the document.
The word &amp;#34;home&amp;#34; appears 8 times in the document.
The word &amp;#34;culture&amp;#34; appears 8 times in the document.
The word &amp;#34;speak&amp;#34; appears 9 times in the document.
The word &amp;#34;word&amp;#34; appears 9 times in the document.
The word &amp;#34;english&amp;#34; appears 9 times in the document.
The word &amp;#34;meet&amp;#34; appears 11 times in the document.
The word &amp;#34;community&amp;#34; appears 12 times in the document.
The word &amp;#34;language&amp;#34; appears 50 times in the document.
&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;
&lt;div class=&quot;cell border-box-sizing text_cell rendered&quot;&gt;&lt;div class=&quot;prompt input_prompt&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;inner_cell&quot;&gt;
&lt;div class=&quot;text_cell_render border-box-sizing rendered_html&quot;&gt;
&lt;p&gt;That means that in this document, the words language appeared 50 times !&lt;/p&gt;
&lt;p&gt;Even before processing the data more thoroughly we can almost be certain that this document is going to be about language.&lt;/p&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;cell border-box-sizing text_cell rendered&quot;&gt;&lt;div class=&quot;prompt input_prompt&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;inner_cell&quot;&gt;
&lt;div class=&quot;text_cell_render border-box-sizing rendered_html&quot;&gt;
&lt;h2 id=&quot;IV.--Latent-Dirichlet-Allocation&quot;&gt;IV.  Latent Dirichlet Allocation&lt;a class=&quot;anchor-link&quot; href=&quot;#IV.--Latent-Dirichlet-Allocation&quot;&gt;&amp;#182;&lt;/a&gt;&lt;/h2&gt;&lt;h3 id=&quot;What-is-LDA-?&quot;&gt;What is LDA ?&lt;a class=&quot;anchor-link&quot; href=&quot;#What-is-LDA-?&quot;&gt;&amp;#182;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;As I was looking for a simple way to explain the mathematics behind LDA I came upon an article that does it very well and that keeps the math required to understand as simple as possible. 
You can find this article &lt;a href=&quot;https://tedunderwood.com/2012/04/07/topic-modeling-made-just-simple-enough/&quot;&gt;here&lt;/a&gt; and read it all if you are interested but if you want to get down to it quickly here is a snippet from the article :&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;Say we’ve got a collection of documents, and we want to identify underlying “topics” that organize the collection. Assume that each document contains a mixture of different topics. Let’s also assume that a “topic” can be understood as a collection of words that have different probabilities of appearance in passages discussing the topic. One topic might contain many occurrences of “organize,” “committee,” “direct,” and “lead.” Another might contain a lot of “mercury” and “arsenic,” with a few occurrences of “lead.” (Most of the occurrences of “lead” in this second topic, incidentally, are nouns instead of verbs; part of the value of LDA will be that it implicitly sorts out the different contexts/meanings of a written symbol.)&lt;/p&gt;
&lt;p&gt;Of course, we can’t directly observe topics; in reality all we have are documents. Topic modeling is a way of extrapolating backward from a collection of documents to infer the discourses (“topics”) that could have generated them. (The notion that documents are produced by discourses rather than authors is alien to common sense, but not alien to literary theory.) Unfortunately, there is no way to infer the topics exactly: there are too many unknowns. But pretend for a moment that we had the problem mostly solved. Suppose we knew which topic produced every word in the collection, except for this one word in document D. The word happens to be “lead,” which we’ll call word type W. How are we going to decide whether this occurrence of W belongs to topic Z?&lt;/p&gt;
&lt;p&gt;We can’t know for sure. But one way to guess is to consider two questions. A) How often does “lead” appear in topic Z elsewhere? If “lead” often occurs in discussions of Z, then this instance of “lead” might belong to Z as well. But a word can be common in more than one topic. And we don’t want to assign “lead” to a topic about leadership if this document is mostly about heavy metal contamination. So we also need to consider B) How common is topic Z in the rest of this document?&lt;/p&gt;
&lt;p&gt;Ted Underwood&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;As an input, using the LDA as implemented in gensim, we can ask for a number of topics and as an output it will give us an LDA model that was fitted to our dataset.&lt;/p&gt;
&lt;p&gt;Our topics will be described as a list of words where each words will have a probability of appearance attached to it.&lt;/p&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;cell border-box-sizing code_cell rendered&quot;&gt;
&lt;div class=&quot;input&quot;&gt;
&lt;div class=&quot;prompt input_prompt&quot;&gt;In&amp;nbsp;[20]:&lt;/div&gt;
&lt;div class=&quot;inner_cell&quot;&gt;
    &lt;div class=&quot;input_area&quot;&gt;
&lt;div class=&quot; highlight hl-ipython3&quot;&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class=&quot;c1&quot;&gt;# I wont be running the LDA on the notebook as it takes a bit of time.&lt;/span&gt;
&lt;span class=&quot;c1&quot;&gt;# Instead, I saved my lda model from a  previous computation and I will load it in the next box.&lt;/span&gt;

&lt;span class=&quot;n&quot;&gt;Lda&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;gensim&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;models&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;ldamodel&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;LdaModel&lt;/span&gt;
&lt;span class=&quot;c1&quot;&gt;# Running and Trainign LDA model on the document term matrix.&lt;/span&gt;
&lt;span class=&quot;c1&quot;&gt;#lda_model = Lda(doc_term_matrix, num_topics=10, id2word = dictionary, passes=100)&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;
&lt;div class=&quot;cell border-box-sizing text_cell rendered&quot;&gt;&lt;div class=&quot;prompt input_prompt&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;inner_cell&quot;&gt;
&lt;div class=&quot;text_cell_render border-box-sizing rendered_html&quot;&gt;
&lt;h3 id=&quot;Our-topics&quot;&gt;Our topics&lt;a class=&quot;anchor-link&quot; href=&quot;#Our-topics&quot;&gt;&amp;#182;&lt;/a&gt;&lt;/h3&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;cell border-box-sizing code_cell rendered&quot;&gt;
&lt;div class=&quot;input&quot;&gt;
&lt;div class=&quot;prompt input_prompt&quot;&gt;In&amp;nbsp;[21]:&lt;/div&gt;
&lt;div class=&quot;inner_cell&quot;&gt;
    &lt;div class=&quot;input_area&quot;&gt;
&lt;div class=&quot; highlight hl-ipython3&quot;&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class=&quot;c1&quot;&gt;# Loading the computed model&lt;/span&gt;
&lt;span class=&quot;c1&quot;&gt;#lda_model.save(&amp;#39;lda_10topics_notebook2.model&amp;#39;)&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;lda_model&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Lda&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;load&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;lda_10topics_notebook2.model&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;lda_model&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;print_topics&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;5&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;c1&quot;&gt;# print 5 random topics amongst the 20&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;div class=&quot;output_wrapper&quot;&gt;
&lt;div class=&quot;output&quot;&gt;


&lt;div class=&quot;output_area&quot;&gt;

&lt;div class=&quot;prompt output_prompt&quot;&gt;Out[21]:&lt;/div&gt;




&lt;div class=&quot;output_text output_subarea output_execute_result&quot;&gt;
&lt;pre&gt;[(6,
  &amp;#39;0.007*&amp;#34;sleep&amp;#34; + 0.006*&amp;#34;data&amp;#34; + 0.005*&amp;#34;decision&amp;#34; + 0.004*&amp;#34;economics&amp;#34; + 0.004*&amp;#34;word&amp;#34; + 0.004*&amp;#34;group&amp;#34; + 0.004*&amp;#34;experiment&amp;#34; + 0.004*&amp;#34;behavior&amp;#34; + 0.004*&amp;#34;hour&amp;#34; + 0.004*&amp;#34;school&amp;#34;&amp;#39;),
 (0,
  &amp;#39;0.018*&amp;#34;language&amp;#34; + 0.016*&amp;#34;car&amp;#34; + 0.009*&amp;#34;country&amp;#34; + 0.008*&amp;#34;drive&amp;#34; + 0.007*&amp;#34;energy&amp;#34; + 0.006*&amp;#34;house&amp;#34; + 0.006*&amp;#34;build&amp;#34; + 0.006*&amp;#34;home&amp;#34; + 0.006*&amp;#34;mexico&amp;#34; + 0.005*&amp;#34;driver&amp;#34;&amp;#39;),
 (1,
  &amp;#39;0.015*&amp;#34;market&amp;#34; + 0.008*&amp;#34;kidney&amp;#34; + 0.007*&amp;#34;mattress&amp;#34; + 0.007*&amp;#34;line&amp;#34; + 0.007*&amp;#34;shoe&amp;#34; + 0.006*&amp;#34;buy&amp;#34; + 0.006*&amp;#34;prediction&amp;#34; + 0.006*&amp;#34;foot&amp;#34; + 0.006*&amp;#34;germany&amp;#34; + 0.005*&amp;#34;sell&amp;#34;&amp;#39;),
 (4,
  &amp;#39;0.017*&amp;#34;kid&amp;#34; + 0.015*&amp;#34;family&amp;#34; + 0.015*&amp;#34;parent&amp;#34; + 0.013*&amp;#34;child&amp;#34; + 0.008*&amp;#34;follow&amp;#34; + 0.007*&amp;#34;men&amp;#34; + 0.006*&amp;#34;marry&amp;#34; + 0.006*&amp;#34;marriage&amp;#34; + 0.005*&amp;#34;twitter&amp;#34; + 0.005*&amp;#34;data&amp;#34;&amp;#39;),
 (8,
  &amp;#39;0.028*&amp;#34;food&amp;#34; + 0.019*&amp;#34;eat&amp;#34; + 0.016*&amp;#34;restaurant&amp;#34; + 0.007*&amp;#34;tip&amp;#34; + 0.007*&amp;#34;prize&amp;#34; + 0.007*&amp;#34;cook&amp;#34; + 0.005*&amp;#34;grow&amp;#34; + 0.005*&amp;#34;nobel&amp;#34; + 0.005*&amp;#34;payday&amp;#34; + 0.004*&amp;#34;kitchen&amp;#34;&amp;#39;)]&lt;/pre&gt;
&lt;/div&gt;

&lt;/div&gt;

&lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;
&lt;div class=&quot;cell border-box-sizing text_cell rendered&quot;&gt;&lt;div class=&quot;prompt input_prompt&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;inner_cell&quot;&gt;
&lt;div class=&quot;text_cell_render border-box-sizing rendered_html&quot;&gt;
&lt;p&gt;That might be a bit much right now, let's present this in a more understandable way :&lt;/p&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;cell border-box-sizing code_cell rendered&quot;&gt;
&lt;div class=&quot;input&quot;&gt;
&lt;div class=&quot;prompt input_prompt&quot;&gt;In&amp;nbsp;[22]:&lt;/div&gt;
&lt;div class=&quot;inner_cell&quot;&gt;
    &lt;div class=&quot;input_area&quot;&gt;
&lt;div class=&quot; highlight hl-ipython3&quot;&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class=&quot;kn&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;nn&quot;&gt;numpy&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;as&lt;/span&gt; &lt;span class=&quot;nn&quot;&gt;np&lt;/span&gt;

&lt;span class=&quot;n&quot;&gt;topics_matrix&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;lda_model&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;show_topics&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;formatted&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;kc&quot;&gt;False&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;num_words&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;5&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;num_topics&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;10&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;topics_matrix&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;

&lt;span class=&quot;k&quot;&gt;for&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;topic_raw&lt;/span&gt; &lt;span class=&quot;ow&quot;&gt;in&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;topics_matrix&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;topic_id&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;word_list&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;topic_raw&lt;/span&gt;
    &lt;span class=&quot;nb&quot;&gt;print&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&amp;quot;Topic #&lt;/span&gt;&lt;span class=&quot;si&quot;&gt;{}&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt; : &amp;quot;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;format&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;topic_id&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;))&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;topic_words&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;[]&lt;/span&gt;
    &lt;span class=&quot;k&quot;&gt;for&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;tupl&lt;/span&gt; &lt;span class=&quot;ow&quot;&gt;in&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;word_list&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;     
        &lt;span class=&quot;n&quot;&gt;word&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;cer&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;tupl&lt;/span&gt;
        &lt;span class=&quot;n&quot;&gt;topic_words&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;append&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;word&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
    &lt;span class=&quot;nb&quot;&gt;print&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;topic_words&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
    &lt;span class=&quot;nb&quot;&gt;print&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;div class=&quot;output_wrapper&quot;&gt;
&lt;div class=&quot;output&quot;&gt;


&lt;div class=&quot;output_area&quot;&gt;

&lt;div class=&quot;prompt&quot;&gt;&lt;/div&gt;


&lt;div class=&quot;output_subarea output_stream output_stdout output_text&quot;&gt;
&lt;pre&gt;Topic #0 : 
[&amp;#39;language&amp;#39;, &amp;#39;car&amp;#39;, &amp;#39;country&amp;#39;, &amp;#39;drive&amp;#39;, &amp;#39;energy&amp;#39;]

Topic #1 : 
[&amp;#39;market&amp;#39;, &amp;#39;kidney&amp;#39;, &amp;#39;mattress&amp;#39;, &amp;#39;line&amp;#39;, &amp;#39;shoe&amp;#39;]

Topic #2 : 
[&amp;#39;president&amp;#39;, &amp;#39;vote&amp;#39;, &amp;#39;power&amp;#39;, &amp;#39;political&amp;#39;, &amp;#39;election&amp;#39;]

Topic #3 : 
[&amp;#39;play&amp;#39;, &amp;#39;lottery&amp;#39;, &amp;#39;game&amp;#39;, &amp;#39;save&amp;#39;, &amp;#39;player&amp;#39;]

Topic #4 : 
[&amp;#39;kid&amp;#39;, &amp;#39;family&amp;#39;, &amp;#39;parent&amp;#39;, &amp;#39;child&amp;#39;, &amp;#39;follow&amp;#39;]

Topic #5 : 
[&amp;#39;government&amp;#39;, &amp;#39;country&amp;#39;, &amp;#39;system&amp;#39;, &amp;#39;technology&amp;#39;, &amp;#39;city&amp;#39;]

Topic #6 : 
[&amp;#39;sleep&amp;#39;, &amp;#39;data&amp;#39;, &amp;#39;decision&amp;#39;, &amp;#39;economics&amp;#39;, &amp;#39;word&amp;#39;]

Topic #7 : 
[&amp;#39;health&amp;#39;, &amp;#39;doctor&amp;#39;, &amp;#39;patient&amp;#39;, &amp;#39;medical&amp;#39;, &amp;#39;care&amp;#39;]

Topic #8 : 
[&amp;#39;food&amp;#39;, &amp;#39;eat&amp;#39;, &amp;#39;restaurant&amp;#39;, &amp;#39;tip&amp;#39;, &amp;#39;prize&amp;#39;]

Topic #9 : 
[&amp;#39;school&amp;#39;, &amp;#39;kid&amp;#39;, &amp;#39;city&amp;#39;, &amp;#39;student&amp;#39;, &amp;#39;crime&amp;#39;]

&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;
&lt;div class=&quot;cell border-box-sizing text_cell rendered&quot;&gt;&lt;div class=&quot;prompt input_prompt&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;inner_cell&quot;&gt;
&lt;div class=&quot;text_cell_render border-box-sizing rendered_html&quot;&gt;
&lt;p&gt;Some of the subjects found by the LDA are very clear :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Topic #7 that is obviously about healthcare.&lt;/li&gt;
&lt;li&gt;Topic #5 that is obviously about politics and government.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;But some of them are more... mysterious :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Topic #6 : sleep, data, decision, economics, word. &lt;/li&gt;
&lt;li&gt;Topic #1 : market, kidney, mattress, line, shoe. &lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;cell border-box-sizing text_cell rendered&quot;&gt;&lt;div class=&quot;prompt input_prompt&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;inner_cell&quot;&gt;
&lt;div class=&quot;text_cell_render border-box-sizing rendered_html&quot;&gt;
&lt;h3 id=&quot;Mixed-Membership&quot;&gt;Mixed Membership&lt;a class=&quot;anchor-link&quot; href=&quot;#Mixed-Membership&quot;&gt;&amp;#182;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;LDA is what is called a mixed membership model. That means that our documents can belong to several topics at the same time.&lt;br&gt;
For example, a document could be about sports and health, or any combination of our previously generated topics.&lt;br&gt;
First of all we are going to see how well the &quot;main&quot; topic describes one of our documents. Under a certain threshold of description we'll explore the other topics of the document.&lt;br&gt;
If you are familiar with the machine-learning vernacular, this is also what we call &quot;soft-clustering&quot; where a single entity can be part of multiple groups. We will later use the clustering algorithm K-Means to do some &quot;hard-clustering&quot; and assign each podcast to a &lt;em&gt;unique&lt;/em&gt; cluster/class.&lt;/p&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;cell border-box-sizing text_cell rendered&quot;&gt;&lt;div class=&quot;prompt input_prompt&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;inner_cell&quot;&gt;
&lt;div class=&quot;text_cell_render border-box-sizing rendered_html&quot;&gt;
&lt;h4 id=&quot;Naming-our-topics&quot;&gt;Naming our topics&lt;a class=&quot;anchor-link&quot; href=&quot;#Naming-our-topics&quot;&gt;&amp;#182;&lt;/a&gt;&lt;/h4&gt;&lt;ol&gt;
&lt;li&gt;&lt;p&gt;: 'language', 'car', 'country', 'drive', 'energy' -- &lt;em&gt;International&lt;/em&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;: 'market', 'kidney', 'mattress', 'line', 'shoe' -- &lt;em&gt;Consumerism&lt;/em&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;: 'president', 'vote', 'power', 'political', 'election' -- &lt;em&gt;Politics&lt;/em&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;: 'play', 'lottery', 'game', 'save', 'player' -- &lt;em&gt;Games&amp;amp;Savings&lt;/em&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;: 'kid', 'family', 'parent', 'child', 'follow' -- &lt;em&gt;Family&lt;/em&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;: 'government', 'country', 'system', 'technology', 'city' -- &lt;em&gt;Government&lt;/em&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;: 'sleep', 'data', 'decision', 'economics', 'word' -- No idea for this one, &lt;em&gt;Miscellaneous&lt;/em&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;: 'health', 'doctor', 'patient', 'medical', 'care' -- &lt;em&gt;Healthcare&lt;/em&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;: 'food', 'eat', 'restaurant', 'tip', 'prize'  -- &lt;em&gt;Food&lt;/em&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;: 'school', 'kid', 'city', 'student', 'crime' -- &lt;em&gt;Education&lt;/em&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;cell border-box-sizing code_cell rendered&quot;&gt;
&lt;div class=&quot;input&quot;&gt;
&lt;div class=&quot;prompt input_prompt&quot;&gt;In&amp;nbsp;[23]:&lt;/div&gt;
&lt;div class=&quot;inner_cell&quot;&gt;
    &lt;div class=&quot;input_area&quot;&gt;
&lt;div class=&quot; highlight hl-ipython3&quot;&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class=&quot;c1&quot;&gt;#Prior to creating our dataframe, let&amp;#39;s name all the topics&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;topic_list&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;International&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;
              &lt;span class=&quot;s1&quot;&gt;&amp;#39;Consumerism&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;
              &lt;span class=&quot;s1&quot;&gt;&amp;#39;Politics&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;
              &lt;span class=&quot;s1&quot;&gt;&amp;#39;Games&amp;amp;Savings&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;
              &lt;span class=&quot;s1&quot;&gt;&amp;#39;Family&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;
              &lt;span class=&quot;s1&quot;&gt;&amp;#39;Government&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;
              &lt;span class=&quot;s1&quot;&gt;&amp;#39;Miscellaneous&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;
              &lt;span class=&quot;s1&quot;&gt;&amp;#39;Healthcare&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;
              &lt;span class=&quot;s1&quot;&gt;&amp;#39;Food&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;
              &lt;span class=&quot;s1&quot;&gt;&amp;#39;Education&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;
&lt;span class=&quot;c1&quot;&gt;# 1 will be joined with 4 ( both are Misc.)&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;topic_list&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;3&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;div class=&quot;output_wrapper&quot;&gt;
&lt;div class=&quot;output&quot;&gt;


&lt;div class=&quot;output_area&quot;&gt;

&lt;div class=&quot;prompt output_prompt&quot;&gt;Out[23]:&lt;/div&gt;




&lt;div class=&quot;output_text output_subarea output_execute_result&quot;&gt;
&lt;pre&gt;&amp;#39;Games&amp;amp;Savings&amp;#39;&lt;/pre&gt;
&lt;/div&gt;

&lt;/div&gt;

&lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;
&lt;div class=&quot;cell border-box-sizing code_cell rendered&quot;&gt;
&lt;div class=&quot;input&quot;&gt;
&lt;div class=&quot;prompt input_prompt&quot;&gt;In&amp;nbsp;[24]:&lt;/div&gt;
&lt;div class=&quot;inner_cell&quot;&gt;
    &lt;div class=&quot;input_area&quot;&gt;
&lt;div class=&quot; highlight hl-ipython3&quot;&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class=&quot;kn&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;nn&quot;&gt;numpy&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;as&lt;/span&gt; &lt;span class=&quot;nn&quot;&gt;np&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;topic_df&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;pd&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;DataFrame&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mf&quot;&gt;0.0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;index&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;np&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;arange&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;len&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;doc_term_matrix&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)),&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;columns&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;topic&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;membership&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;])&lt;/span&gt;

&lt;span class=&quot;k&quot;&gt;for&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;doc&lt;/span&gt; &lt;span class=&quot;ow&quot;&gt;in&lt;/span&gt; &lt;span class=&quot;nb&quot;&gt;enumerate&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;doc_term_matrix&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;):&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;result&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;lda_model&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;doc&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;top&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;cer&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;nb&quot;&gt;max&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;result&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;key&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;lambda&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;item&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;item&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;])&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;topic_df&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;iloc&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;][&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;topic&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;top&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;topic_df&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;iloc&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;][&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;membership&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;cer&lt;/span&gt;

&lt;span class=&quot;n&quot;&gt;topic_df&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;head&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;10&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;div class=&quot;output_wrapper&quot;&gt;
&lt;div class=&quot;output&quot;&gt;


&lt;div class=&quot;output_area&quot;&gt;

&lt;div class=&quot;prompt output_prompt&quot;&gt;Out[24]:&lt;/div&gt;



&lt;div class=&quot;output_html rendered_html output_subarea output_execute_result&quot;&gt;
&lt;div&gt;
&lt;style&gt;
    .dataframe thead tr:only-child th {
        text-align: right;
    }

    .dataframe thead th {
        text-align: left;
    }

    .dataframe tbody tr th {
        vertical-align: top;
    }
&lt;/style&gt;
&lt;table border=&quot;1&quot; class=&quot;dataframe&quot;&gt;
  &lt;thead&gt;
    &lt;tr style=&quot;text-align: right;&quot;&gt;
      &lt;th&gt;&lt;/th&gt;
      &lt;th&gt;topic&lt;/th&gt;
      &lt;th&gt;membership&lt;/th&gt;
    &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
    &lt;tr&gt;
      &lt;th&gt;0&lt;/th&gt;
      &lt;td&gt;6.0&lt;/td&gt;
      &lt;td&gt;0.919406&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;th&gt;1&lt;/th&gt;
      &lt;td&gt;6.0&lt;/td&gt;
      &lt;td&gt;0.743342&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;th&gt;2&lt;/th&gt;
      &lt;td&gt;8.0&lt;/td&gt;
      &lt;td&gt;0.665287&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;th&gt;3&lt;/th&gt;
      &lt;td&gt;1.0&lt;/td&gt;
      &lt;td&gt;0.794775&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;th&gt;4&lt;/th&gt;
      &lt;td&gt;9.0&lt;/td&gt;
      &lt;td&gt;0.812216&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;th&gt;5&lt;/th&gt;
      &lt;td&gt;6.0&lt;/td&gt;
      &lt;td&gt;0.422446&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;th&gt;6&lt;/th&gt;
      &lt;td&gt;9.0&lt;/td&gt;
      &lt;td&gt;0.632290&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;th&gt;7&lt;/th&gt;
      &lt;td&gt;5.0&lt;/td&gt;
      &lt;td&gt;0.338313&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;th&gt;8&lt;/th&gt;
      &lt;td&gt;6.0&lt;/td&gt;
      &lt;td&gt;0.266139&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;th&gt;9&lt;/th&gt;
      &lt;td&gt;1.0&lt;/td&gt;
      &lt;td&gt;0.717549&lt;/td&gt;
    &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;

&lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;
&lt;div class=&quot;cell border-box-sizing code_cell rendered&quot;&gt;
&lt;div class=&quot;input&quot;&gt;
&lt;div class=&quot;prompt input_prompt&quot;&gt;In&amp;nbsp;[25]:&lt;/div&gt;
&lt;div class=&quot;inner_cell&quot;&gt;
    &lt;div class=&quot;input_area&quot;&gt;
&lt;div class=&quot; highlight hl-ipython3&quot;&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;topic_df&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;describe&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;div class=&quot;output_wrapper&quot;&gt;
&lt;div class=&quot;output&quot;&gt;


&lt;div class=&quot;output_area&quot;&gt;

&lt;div class=&quot;prompt output_prompt&quot;&gt;Out[25]:&lt;/div&gt;



&lt;div class=&quot;output_html rendered_html output_subarea output_execute_result&quot;&gt;
&lt;div&gt;
&lt;style&gt;
    .dataframe thead tr:only-child th {
        text-align: right;
    }

    .dataframe thead th {
        text-align: left;
    }

    .dataframe tbody tr th {
        vertical-align: top;
    }
&lt;/style&gt;
&lt;table border=&quot;1&quot; class=&quot;dataframe&quot;&gt;
  &lt;thead&gt;
    &lt;tr style=&quot;text-align: right;&quot;&gt;
      &lt;th&gt;&lt;/th&gt;
      &lt;th&gt;topic&lt;/th&gt;
      &lt;th&gt;membership&lt;/th&gt;
    &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
    &lt;tr&gt;
      &lt;th&gt;count&lt;/th&gt;
      &lt;td&gt;310.000000&lt;/td&gt;
      &lt;td&gt;310.000000&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;th&gt;mean&lt;/th&gt;
      &lt;td&gt;5.119355&lt;/td&gt;
      &lt;td&gt;0.613334&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;th&gt;std&lt;/th&gt;
      &lt;td&gt;2.732155&lt;/td&gt;
      &lt;td&gt;0.202081&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;th&gt;min&lt;/th&gt;
      &lt;td&gt;0.000000&lt;/td&gt;
      &lt;td&gt;0.194654&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;th&gt;25%&lt;/th&gt;
      &lt;td&gt;3.000000&lt;/td&gt;
      &lt;td&gt;0.464350&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;th&gt;50%&lt;/th&gt;
      &lt;td&gt;5.000000&lt;/td&gt;
      &lt;td&gt;0.579912&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;th&gt;75%&lt;/th&gt;
      &lt;td&gt;7.000000&lt;/td&gt;
      &lt;td&gt;0.763311&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;th&gt;max&lt;/th&gt;
      &lt;td&gt;9.000000&lt;/td&gt;
      &lt;td&gt;0.999536&lt;/td&gt;
    &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;

&lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;
&lt;div class=&quot;cell border-box-sizing text_cell rendered&quot;&gt;&lt;div class=&quot;prompt input_prompt&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;inner_cell&quot;&gt;
&lt;div class=&quot;text_cell_render border-box-sizing rendered_html&quot;&gt;
&lt;p&gt;That is not too bad considering that 75% of the data has a membership of almost 50% to just one topic.&lt;br&gt;
Let's put a threshold at 75%. That means that every document with a main membership of less than 75% will be detailed more thoroughly.&lt;/p&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;cell border-box-sizing code_cell rendered&quot;&gt;
&lt;div class=&quot;input&quot;&gt;
&lt;div class=&quot;prompt input_prompt&quot;&gt;In&amp;nbsp;[26]:&lt;/div&gt;
&lt;div class=&quot;inner_cell&quot;&gt;
    &lt;div class=&quot;input_area&quot;&gt;
&lt;div class=&quot; highlight hl-ipython3&quot;&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class=&quot;c1&quot;&gt;# We redifine our topic_df according to the threshold we have decided.&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;def&lt;/span&gt; &lt;span class=&quot;nf&quot;&gt;get_topic&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;docid&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;):&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;doc&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;doc_term_matrix&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;docid&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;topic_distrib&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;lda_model&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;get_document_topics&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;doc&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;topic_distrib&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;nb&quot;&gt;sorted&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;topic_distrib&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;key&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;lambda&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;tup&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;tup&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;])&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;topic_distrib&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;reverse&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;top_list&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;[]&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;cer&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;
    &lt;span class=&quot;k&quot;&gt;for&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;tupl&lt;/span&gt; &lt;span class=&quot;ow&quot;&gt;in&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;topic_distrib&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;
        &lt;span class=&quot;n&quot;&gt;top&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;a&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;tupl&lt;/span&gt;
        &lt;span class=&quot;k&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;cer&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;&amp;lt;=&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;75&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;
            &lt;span class=&quot;n&quot;&gt;top_list&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;append&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;top&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
            &lt;span class=&quot;n&quot;&gt;cer&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;+=&lt;/span&gt; &lt;span class=&quot;nb&quot;&gt;round&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;a&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;3&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;*&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;100&lt;/span&gt; 
        &lt;span class=&quot;k&quot;&gt;else&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;
            &lt;span class=&quot;k&quot;&gt;break&lt;/span&gt;

    &lt;span class=&quot;k&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;top_list&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;cer&lt;/span&gt;

&lt;span class=&quot;nb&quot;&gt;print&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;title_list&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;10&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;])&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;top5&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;mem&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;get_topic&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;10&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;for&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;i&lt;/span&gt; &lt;span class=&quot;ow&quot;&gt;in&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;top5&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;
    &lt;span class=&quot;nb&quot;&gt;print&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;topic_list&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;])&lt;/span&gt;
&lt;span class=&quot;nb&quot;&gt;print&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;mem&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;div class=&quot;output_wrapper&quot;&gt;
&lt;div class=&quot;output&quot;&gt;


&lt;div class=&quot;output_area&quot;&gt;

&lt;div class=&quot;prompt&quot;&gt;&lt;/div&gt;


&lt;div class=&quot;output_subarea output_stream output_stdout output_text&quot;&gt;
&lt;pre&gt;recoded 10 BONUS EPISODE  Why Learn Esperanto
International
Government
Miscellaneous
84.0999990702
&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;
&lt;div class=&quot;cell border-box-sizing text_cell rendered&quot;&gt;&lt;div class=&quot;prompt input_prompt&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;inner_cell&quot;&gt;
&lt;div class=&quot;text_cell_render border-box-sizing rendered_html&quot;&gt;
&lt;p&gt;That gives us a good description of all the subjects addressed by a single document.&lt;br&gt;
In a next part, we are going to divide our dataset in two. One where the membership is naturally above 75% for one subject, and one where we have a mixed memebership that we will make more explicit via the use of the function defined above.&lt;/p&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;cell border-box-sizing code_cell rendered&quot;&gt;
&lt;div class=&quot;input&quot;&gt;
&lt;div class=&quot;prompt input_prompt&quot;&gt;In&amp;nbsp;[27]:&lt;/div&gt;
&lt;div class=&quot;inner_cell&quot;&gt;
    &lt;div class=&quot;input_area&quot;&gt;
&lt;div class=&quot; highlight hl-ipython3&quot;&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;topic_solo&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;topic_df&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;topic_df&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;membership&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;&amp;gt;=&lt;/span&gt; &lt;span class=&quot;mf&quot;&gt;0.75&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;topic_mixed&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;topic_df&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;topic_df&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;membership&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;&amp;lt;&lt;/span&gt; &lt;span class=&quot;mf&quot;&gt;0.75&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;
&lt;span class=&quot;nb&quot;&gt;print&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;topic_mixed&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;describe&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;())&lt;/span&gt;
&lt;span class=&quot;nb&quot;&gt;print&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;topic_solo&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;describe&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;())&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;div class=&quot;output_wrapper&quot;&gt;
&lt;div class=&quot;output&quot;&gt;


&lt;div class=&quot;output_area&quot;&gt;

&lt;div class=&quot;prompt&quot;&gt;&lt;/div&gt;


&lt;div class=&quot;output_subarea output_stream output_stdout output_text&quot;&gt;
&lt;pre&gt;            topic  membership
count  228.000000  228.000000
mean     5.289474    0.514511
std      2.746960    0.124736
min      0.000000    0.194654
25%      3.000000    0.427113
50%      5.000000    0.517830
75%      8.000000    0.609039
max      9.000000    0.748729
           topic  membership
count  82.000000   82.000000
mean    4.646341    0.888109
std     2.649817    0.090867
min     0.000000    0.756151
25%     3.000000    0.800275
50%     5.000000    0.876757
75%     7.000000    0.996531
max     9.000000    0.999536
&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;
&lt;div class=&quot;cell border-box-sizing text_cell rendered&quot;&gt;&lt;div class=&quot;prompt input_prompt&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;inner_cell&quot;&gt;
&lt;div class=&quot;text_cell_render border-box-sizing rendered_html&quot;&gt;
&lt;p&gt;Let's plot both of these dataframes in a pie plot to see which are the most common topics tackled by the Freakonomics Radio podcats.&lt;/p&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;cell border-box-sizing code_cell rendered&quot;&gt;
&lt;div class=&quot;input&quot;&gt;
&lt;div class=&quot;prompt input_prompt&quot;&gt;In&amp;nbsp;[28]:&lt;/div&gt;
&lt;div class=&quot;inner_cell&quot;&gt;
    &lt;div class=&quot;input_area&quot;&gt;
&lt;div class=&quot; highlight hl-ipython3&quot;&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;labels&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;topic_list&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;sizes&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[]&lt;/span&gt;

&lt;span class=&quot;k&quot;&gt;for&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;i&lt;/span&gt; &lt;span class=&quot;ow&quot;&gt;in&lt;/span&gt; &lt;span class=&quot;nb&quot;&gt;range&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;10&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;):&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;sizes&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;append&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;topic_solo&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;topic_solo&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;topic&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;==&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;count&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()[&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;])&lt;/span&gt;

&lt;span class=&quot;kn&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;nn&quot;&gt;matplotlib.pyplot&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;as&lt;/span&gt; &lt;span class=&quot;nn&quot;&gt;plt&lt;/span&gt;


&lt;span class=&quot;n&quot;&gt;fig1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;ax1&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;plt&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;subplots&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;ax1&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;pie&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;sizes&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;labels&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;labels&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;autopct&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;&lt;/span&gt;&lt;span class=&quot;si&quot;&gt;%1.1f%%&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;
        &lt;span class=&quot;n&quot;&gt;shadow&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;kc&quot;&gt;True&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;startangle&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;90&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;ax1&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;axis&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;equal&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;  &lt;span class=&quot;c1&quot;&gt;# Equal aspect ratio ensures that pie is drawn as a circle.&lt;/span&gt;

&lt;span class=&quot;n&quot;&gt;plt&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;show&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;div class=&quot;output_wrapper&quot;&gt;
&lt;div class=&quot;output&quot;&gt;


&lt;div class=&quot;output_area&quot;&gt;

&lt;div class=&quot;prompt&quot;&gt;&lt;/div&gt;




&lt;div class=&quot;output_png output_subarea &quot;&gt;
&lt;img src=&quot;data:image/png;base64,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
z9+F8wAAAABJRU5ErkJggg==
&quot;
&gt;
&lt;/div&gt;

&lt;/div&gt;

&lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;
&lt;div class=&quot;cell border-box-sizing text_cell rendered&quot;&gt;&lt;div class=&quot;prompt input_prompt&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;inner_cell&quot;&gt;
&lt;div class=&quot;text_cell_render border-box-sizing rendered_html&quot;&gt;
&lt;p&gt;The topics the most present are unsurprisingly the ones that were not as well defined as the others ( Misc. and Games&amp;amp;Savings ).&lt;br&gt;
Government and Politics can be added to represent 18.3% of the documents above 75% membership to one model.&lt;br&gt;
We can do the same thing for Family and Education ( that often goes hand in hand ) to get 14.6%.&lt;/p&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;cell border-box-sizing code_cell rendered&quot;&gt;
&lt;div class=&quot;input&quot;&gt;
&lt;div class=&quot;prompt input_prompt&quot;&gt;In&amp;nbsp;[29]:&lt;/div&gt;
&lt;div class=&quot;inner_cell&quot;&gt;
    &lt;div class=&quot;input_area&quot;&gt;
&lt;div class=&quot; highlight hl-ipython3&quot;&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;topic_mixed&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;head&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;div class=&quot;output_wrapper&quot;&gt;
&lt;div class=&quot;output&quot;&gt;


&lt;div class=&quot;output_area&quot;&gt;

&lt;div class=&quot;prompt output_prompt&quot;&gt;Out[29]:&lt;/div&gt;



&lt;div class=&quot;output_html rendered_html output_subarea output_execute_result&quot;&gt;
&lt;div&gt;
&lt;style&gt;
    .dataframe thead tr:only-child th {
        text-align: right;
    }

    .dataframe thead th {
        text-align: left;
    }

    .dataframe tbody tr th {
        vertical-align: top;
    }
&lt;/style&gt;
&lt;table border=&quot;1&quot; class=&quot;dataframe&quot;&gt;
  &lt;thead&gt;
    &lt;tr style=&quot;text-align: right;&quot;&gt;
      &lt;th&gt;&lt;/th&gt;
      &lt;th&gt;topic&lt;/th&gt;
      &lt;th&gt;membership&lt;/th&gt;
    &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
    &lt;tr&gt;
      &lt;th&gt;1&lt;/th&gt;
      &lt;td&gt;6.0&lt;/td&gt;
      &lt;td&gt;0.743342&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;th&gt;2&lt;/th&gt;
      &lt;td&gt;8.0&lt;/td&gt;
      &lt;td&gt;0.665287&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;th&gt;5&lt;/th&gt;
      &lt;td&gt;6.0&lt;/td&gt;
      &lt;td&gt;0.422446&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;th&gt;6&lt;/th&gt;
      &lt;td&gt;9.0&lt;/td&gt;
      &lt;td&gt;0.632290&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;th&gt;7&lt;/th&gt;
      &lt;td&gt;5.0&lt;/td&gt;
      &lt;td&gt;0.338313&lt;/td&gt;
    &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;

&lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;
&lt;div class=&quot;cell border-box-sizing text_cell rendered&quot;&gt;&lt;div class=&quot;prompt input_prompt&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;inner_cell&quot;&gt;
&lt;div class=&quot;text_cell_render border-box-sizing rendered_html&quot;&gt;
&lt;h3 id=&quot;Labelling-and-One-Hot-Encoding&quot;&gt;Labelling and One Hot Encoding&lt;a class=&quot;anchor-link&quot; href=&quot;#Labelling-and-One-Hot-Encoding&quot;&gt;&amp;#182;&lt;/a&gt;&lt;/h3&gt;&lt;h4 id=&quot;Labelling&quot;&gt;Labelling&lt;a class=&quot;anchor-link&quot; href=&quot;#Labelling&quot;&gt;&amp;#182;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;It is the simple process of replacing anything in categorical data by a number. We are putting number &lt;strong&gt;labels&lt;/strong&gt; on our data.&lt;br&gt;
Wait...What is categorical data ? I'm glad you asked, let's see what Wikipedia has to say about it :&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;In statistics, a categorical variable is a variable that can take on one of a limited, and usually fixed, number of possible values, assigning each individual or other unit of observation to a particular group or nominal category on the basis of some qualitative property.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;If that didn't do it for you, a tuned down explanation would be that categorical data represent groups or &lt;em&gt;categories&lt;/em&gt;.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;For example : if we were classifying people in a classroom depending on their hair color and height, hair color would be categorical, and height would be numerical. Hair color can be grouped in 4 &lt;em&gt;categories&lt;/em&gt; ,brown, black, blond, ginger ( don't get upset, I'm colorblind). While height will take continuous values.&lt;/li&gt;
&lt;/ul&gt;
&lt;table&gt;
&lt;thead&gt;&lt;tr&gt;
&lt;th&gt;Student Name&lt;/th&gt;
&lt;th&gt;Hair Color&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Bob&lt;/td&gt;
&lt;td&gt;Blond&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Barb&lt;/td&gt;
&lt;td&gt;Brown&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Ben&lt;/td&gt;
&lt;td&gt;Black&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Belle&lt;/td&gt;
&lt;td&gt;Ginger&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;A wrong intuition would be that categorical data &lt;strong&gt;has&lt;/strong&gt; to be textual. But a category could be as well described by a number as it would be described by a string.&lt;/p&gt;
&lt;p&gt;If we were to say :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;brown = 0&lt;/li&gt;
&lt;li&gt;black = 1&lt;/li&gt;
&lt;li&gt;blond = 2&lt;/li&gt;
&lt;li&gt;ginger = 3 &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;We could still describe the hair color of our example by reporting the number to the values we set.&lt;/p&gt;
&lt;p&gt;We would get this :&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;&lt;tr&gt;
&lt;th&gt;Student Name&lt;/th&gt;
&lt;th&gt;Hair Color&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Bob&lt;/td&gt;
&lt;td&gt;2&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Barb&lt;/td&gt;
&lt;td&gt;0&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Ben&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Belle&lt;/td&gt;
&lt;td&gt;3&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;Reminds you of anything ? This is &lt;strong&gt;labelling&lt;/strong&gt; !
This is exatcly what we've done so far with our topics. Each topic was represented by a number and we could check what it actually was when referring to the table we set.&lt;/p&gt;
&lt;p&gt;They are great in order to keep our data nice and simple. We don't want to see numbers mixing with texts and whatnot. Labelling our topics is a great simplification tool for a lot of things and so far it has helped us to show the data in a simple manner but it doesn't prove as useful when it comes to show that one item belongs in multiple categories.&lt;br&gt;
In the case of our podcasts, what if a podcast is both about &quot;Food&quot; and &quot;Politics&quot; ? Since all the categories are showed in one column, they can't possibly represent the mixed-membership of our podcasts.&lt;/p&gt;
&lt;p&gt;For this, we have a better option...&lt;/p&gt;
&lt;h4 id=&quot;One-Hot-Encoding-(-for-categorical-data-)&quot;&gt;One Hot Encoding ( for categorical data )&lt;a class=&quot;anchor-link&quot; href=&quot;#One-Hot-Encoding-(-for-categorical-data-)&quot;&gt;&amp;#182;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;It is also a way to represent our categorical data with a twist. Instead of putting all the categories under one column, each category will become its own column. If the datapoint belongs to one of the categories, we will set the value of this point to 1 in the corresponding column, if not, we will set its value to 0.&lt;/p&gt;
&lt;p&gt;Following our previous example, we would go from :&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;&lt;tr&gt;
&lt;th&gt;Student Name&lt;/th&gt;
&lt;th&gt;Hair Color&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Bob&lt;/td&gt;
&lt;td&gt;Blond&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Barb&lt;/td&gt;
&lt;td&gt;Brown&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Ben&lt;/td&gt;
&lt;td&gt;Black&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Belle&lt;/td&gt;
&lt;td&gt;Ginger&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;To this &lt;strong&gt;One Hot Encoding&lt;/strong&gt; representation :&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;&lt;tr&gt;
&lt;th&gt;Student Name&lt;/th&gt;
&lt;th&gt;Blond&lt;/th&gt;
&lt;th&gt;Brown&lt;/th&gt;
&lt;th&gt;Black&lt;/th&gt;
&lt;th&gt;Ginger&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Bob&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;0&lt;/td&gt;
&lt;td&gt;0&lt;/td&gt;
&lt;td&gt;0&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Barb&lt;/td&gt;
&lt;td&gt;0&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;0&lt;/td&gt;
&lt;td&gt;0&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Ben&lt;/td&gt;
&lt;td&gt;0&lt;/td&gt;
&lt;td&gt;0&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;0&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Belle&lt;/td&gt;
&lt;td&gt;0&lt;/td&gt;
&lt;td&gt;0&lt;/td&gt;
&lt;td&gt;0&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;Belle isn't really happy that I said she was Ginger. Indeed she states that her hair is Auburn, and from what I know it's a mix  between Ginger and Brown, right ? We have an example of mixed-membership right here, and we can rewrite our table this way :&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;&lt;tr&gt;
&lt;th&gt;Student Name&lt;/th&gt;
&lt;th&gt;Blond&lt;/th&gt;
&lt;th&gt;Brown&lt;/th&gt;
&lt;th&gt;Black&lt;/th&gt;
&lt;th&gt;Ginger&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Bob&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;0&lt;/td&gt;
&lt;td&gt;0&lt;/td&gt;
&lt;td&gt;0&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Barb&lt;/td&gt;
&lt;td&gt;0&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;0&lt;/td&gt;
&lt;td&gt;0&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Ben&lt;/td&gt;
&lt;td&gt;0&lt;/td&gt;
&lt;td&gt;0&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;0&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Belle&lt;/td&gt;
&lt;td&gt;0&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;0&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;Hopefully at this point you understood how we are going to use One Hot Encoding to show that our podcasts can belong to multiple categories. The code that follows shows a few examples that will help solidify your understanding in our practical case.&lt;/p&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;cell border-box-sizing code_cell rendered&quot;&gt;
&lt;div class=&quot;input&quot;&gt;
&lt;div class=&quot;prompt input_prompt&quot;&gt;In&amp;nbsp;[30]:&lt;/div&gt;
&lt;div class=&quot;inner_cell&quot;&gt;
    &lt;div class=&quot;input_area&quot;&gt;
&lt;div class=&quot; highlight hl-ipython3&quot;&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class=&quot;kn&quot;&gt;from&lt;/span&gt; &lt;span class=&quot;nn&quot;&gt;sklearn.preprocessing&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;OneHotEncoder&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;LabelEncoder&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;label_encoder&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;LabelEncoder&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;integer_encoded&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;label_encoder&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;fit_transform&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;topic_mixed&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;topic&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;values&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;nb&quot;&gt;print&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;integer_encoded&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;onehot_encoder&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;OneHotEncoder&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;sparse&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;kc&quot;&gt;False&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;integer_encoded&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;integer_encoded&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;reshape&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;len&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;integer_encoded&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;),&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;onehot_encoded&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;onehot_encoder&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;fit_transform&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;integer_encoded&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;nb&quot;&gt;print&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;onehot_encoded&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;div class=&quot;output_wrapper&quot;&gt;
&lt;div class=&quot;output&quot;&gt;


&lt;div class=&quot;output_area&quot;&gt;

&lt;div class=&quot;prompt&quot;&gt;&lt;/div&gt;


&lt;div class=&quot;output_subarea output_stream output_stdout output_text&quot;&gt;
&lt;pre&gt;[6 8 6 9 5 6 1 0 7 6 6 5 4 0 5 5 0 6 7 9 9 9 5 4 5 1 3 0 6 7 8 9 4 6 4 3 6
 3 9 6 9 8 9 1 5 3 5 9 5 0 1 6 3 6 9 5 6 0 6 9 5 6 9 4 9 4 9 5 6 6 7 8 0 5
 3 5 4 9 6 9 9 4 0 9 9 5 9 6 2 2 9 2 4 3 9 1 5 9 9 3 2 9 9 3 5 9 3 1 9 9 9
 5 9 9 2 9 1 9 8 9 8 6 0 0 3 6 8 7 0 4 3 3 8 5 9 2 8 1 3 2 9 2 8 8 1 6 2 4
 7 9 9 1 4 4 3 3 4 4 7 9 0 9 6 5 7 3 0 7 4 9 1 6 9 3 4 6 5 7 9 2 4 5 6 5 4
 4 6 5 6 5 9 6 5 2 5 1 2 2 5 7 6 6 5 8 8 5 1 5 6 2 6 7 6 5 8 4 4 8 4 5 5 2
 9 7 6 2 6 4]
[[ 0.  0.  0. ...,  0.  0.  0.]
 [ 0.  0.  0. ...,  0.  1.  0.]
 [ 0.  0.  0. ...,  0.  0.  0.]
 ..., 
 [ 0.  0.  1. ...,  0.  0.  0.]
 [ 0.  0.  0. ...,  0.  0.  0.]
 [ 0.  0.  0. ...,  0.  0.  0.]]
&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;
&lt;div class=&quot;cell border-box-sizing code_cell rendered&quot;&gt;
&lt;div class=&quot;input&quot;&gt;
&lt;div class=&quot;prompt input_prompt&quot;&gt;In&amp;nbsp;[31]:&lt;/div&gt;
&lt;div class=&quot;inner_cell&quot;&gt;
    &lt;div class=&quot;input_area&quot;&gt;
&lt;div class=&quot; highlight hl-ipython3&quot;&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;hot_topics&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;pd&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;DataFrame&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;data&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;onehot_encoded&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;columns&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;topic_list&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;hot&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;topic_mixed&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;join&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;hot_topics&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;hot&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;head&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;div class=&quot;output_wrapper&quot;&gt;
&lt;div class=&quot;output&quot;&gt;


&lt;div class=&quot;output_area&quot;&gt;

&lt;div class=&quot;prompt output_prompt&quot;&gt;Out[31]:&lt;/div&gt;



&lt;div class=&quot;output_html rendered_html output_subarea output_execute_result&quot;&gt;
&lt;div&gt;
&lt;style&gt;
    .dataframe thead tr:only-child th {
        text-align: right;
    }

    .dataframe thead th {
        text-align: left;
    }

    .dataframe tbody tr th {
        vertical-align: top;
    }
&lt;/style&gt;
&lt;table border=&quot;1&quot; class=&quot;dataframe&quot;&gt;
  &lt;thead&gt;
    &lt;tr style=&quot;text-align: right;&quot;&gt;
      &lt;th&gt;&lt;/th&gt;
      &lt;th&gt;topic&lt;/th&gt;
      &lt;th&gt;membership&lt;/th&gt;
      &lt;th&gt;International&lt;/th&gt;
      &lt;th&gt;Consumerism&lt;/th&gt;
      &lt;th&gt;Politics&lt;/th&gt;
      &lt;th&gt;Games&amp;amp;Savings&lt;/th&gt;
      &lt;th&gt;Family&lt;/th&gt;
      &lt;th&gt;Government&lt;/th&gt;
      &lt;th&gt;Miscellaneous&lt;/th&gt;
      &lt;th&gt;Healthcare&lt;/th&gt;
      &lt;th&gt;Food&lt;/th&gt;
      &lt;th&gt;Education&lt;/th&gt;
    &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
    &lt;tr&gt;
      &lt;th&gt;1&lt;/th&gt;
      &lt;td&gt;6.0&lt;/td&gt;
      &lt;td&gt;0.743342&lt;/td&gt;
      &lt;td&gt;0.0&lt;/td&gt;
      &lt;td&gt;0.0&lt;/td&gt;
      &lt;td&gt;0.0&lt;/td&gt;
      &lt;td&gt;0.0&lt;/td&gt;
      &lt;td&gt;0.0&lt;/td&gt;
      &lt;td&gt;0.0&lt;/td&gt;
      &lt;td&gt;0.0&lt;/td&gt;
      &lt;td&gt;0.0&lt;/td&gt;
      &lt;td&gt;1.0&lt;/td&gt;
      &lt;td&gt;0.0&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;th&gt;2&lt;/th&gt;
      &lt;td&gt;8.0&lt;/td&gt;
      &lt;td&gt;0.665287&lt;/td&gt;
      &lt;td&gt;0.0&lt;/td&gt;
      &lt;td&gt;0.0&lt;/td&gt;
      &lt;td&gt;0.0&lt;/td&gt;
      &lt;td&gt;0.0&lt;/td&gt;
      &lt;td&gt;0.0&lt;/td&gt;
      &lt;td&gt;0.0&lt;/td&gt;
      &lt;td&gt;1.0&lt;/td&gt;
      &lt;td&gt;0.0&lt;/td&gt;
      &lt;td&gt;0.0&lt;/td&gt;
      &lt;td&gt;0.0&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;th&gt;5&lt;/th&gt;
      &lt;td&gt;6.0&lt;/td&gt;
      &lt;td&gt;0.422446&lt;/td&gt;
      &lt;td&gt;0.0&lt;/td&gt;
      &lt;td&gt;0.0&lt;/td&gt;
      &lt;td&gt;0.0&lt;/td&gt;
      &lt;td&gt;0.0&lt;/td&gt;
      &lt;td&gt;0.0&lt;/td&gt;
      &lt;td&gt;0.0&lt;/td&gt;
      &lt;td&gt;1.0&lt;/td&gt;
      &lt;td&gt;0.0&lt;/td&gt;
      &lt;td&gt;0.0&lt;/td&gt;
      &lt;td&gt;0.0&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;th&gt;6&lt;/th&gt;
      &lt;td&gt;9.0&lt;/td&gt;
      &lt;td&gt;0.632290&lt;/td&gt;
      &lt;td&gt;0.0&lt;/td&gt;
      &lt;td&gt;1.0&lt;/td&gt;
      &lt;td&gt;0.0&lt;/td&gt;
      &lt;td&gt;0.0&lt;/td&gt;
      &lt;td&gt;0.0&lt;/td&gt;
      &lt;td&gt;0.0&lt;/td&gt;
      &lt;td&gt;0.0&lt;/td&gt;
      &lt;td&gt;0.0&lt;/td&gt;
      &lt;td&gt;0.0&lt;/td&gt;
      &lt;td&gt;0.0&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;th&gt;7&lt;/th&gt;
      &lt;td&gt;5.0&lt;/td&gt;
      &lt;td&gt;0.338313&lt;/td&gt;
      &lt;td&gt;1.0&lt;/td&gt;
      &lt;td&gt;0.0&lt;/td&gt;
      &lt;td&gt;0.0&lt;/td&gt;
      &lt;td&gt;0.0&lt;/td&gt;
      &lt;td&gt;0.0&lt;/td&gt;
      &lt;td&gt;0.0&lt;/td&gt;
      &lt;td&gt;0.0&lt;/td&gt;
      &lt;td&gt;0.0&lt;/td&gt;
      &lt;td&gt;0.0&lt;/td&gt;
      &lt;td&gt;0.0&lt;/td&gt;
    &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;

&lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;
&lt;div class=&quot;cell border-box-sizing code_cell rendered&quot;&gt;
&lt;div class=&quot;input&quot;&gt;
&lt;div class=&quot;prompt input_prompt&quot;&gt;In&amp;nbsp;[32]:&lt;/div&gt;
&lt;div class=&quot;inner_cell&quot;&gt;
    &lt;div class=&quot;input_area&quot;&gt;
&lt;div class=&quot; highlight hl-ipython3&quot;&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;for&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;j&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;i&lt;/span&gt; &lt;span class=&quot;ow&quot;&gt;in&lt;/span&gt; &lt;span class=&quot;nb&quot;&gt;enumerate&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;hot&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;index&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;):&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;top_list&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;mem&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;get_topic&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;hot&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;loc&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;][&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;membership&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;mem&lt;/span&gt;
    &lt;span class=&quot;c1&quot;&gt;#print(hot.iloc[j][&amp;#39;membership&amp;#39;])&lt;/span&gt;
    &lt;span class=&quot;k&quot;&gt;for&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;num&lt;/span&gt; &lt;span class=&quot;ow&quot;&gt;in&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;top_list&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;
        &lt;span class=&quot;n&quot;&gt;hot&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;iloc&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;j&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;][&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;+&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;num&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;mf&quot;&gt;1.0&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;hot&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;drop&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;topic&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;axis&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;inplace&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;kc&quot;&gt;True&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;hot&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;head&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;div class=&quot;output_wrapper&quot;&gt;
&lt;div class=&quot;output&quot;&gt;


&lt;div class=&quot;output_area&quot;&gt;

&lt;div class=&quot;prompt output_prompt&quot;&gt;Out[32]:&lt;/div&gt;



&lt;div class=&quot;output_html rendered_html output_subarea output_execute_result&quot;&gt;
&lt;div&gt;
&lt;style&gt;
    .dataframe thead tr:only-child th {
        text-align: right;
    }

    .dataframe thead th {
        text-align: left;
    }

    .dataframe tbody tr th {
        vertical-align: top;
    }
&lt;/style&gt;
&lt;table border=&quot;1&quot; class=&quot;dataframe&quot;&gt;
  &lt;thead&gt;
    &lt;tr style=&quot;text-align: right;&quot;&gt;
      &lt;th&gt;&lt;/th&gt;
      &lt;th&gt;membership&lt;/th&gt;
      &lt;th&gt;International&lt;/th&gt;
      &lt;th&gt;Consumerism&lt;/th&gt;
      &lt;th&gt;Politics&lt;/th&gt;
      &lt;th&gt;Games&amp;amp;Savings&lt;/th&gt;
      &lt;th&gt;Family&lt;/th&gt;
      &lt;th&gt;Government&lt;/th&gt;
      &lt;th&gt;Miscellaneous&lt;/th&gt;
      &lt;th&gt;Healthcare&lt;/th&gt;
      &lt;th&gt;Food&lt;/th&gt;
      &lt;th&gt;Education&lt;/th&gt;
    &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
    &lt;tr&gt;
      &lt;th&gt;1&lt;/th&gt;
      &lt;td&gt;87.799998&lt;/td&gt;
      &lt;td&gt;0.0&lt;/td&gt;
      &lt;td&gt;0.0&lt;/td&gt;
      &lt;td&gt;0.0&lt;/td&gt;
      &lt;td&gt;0.0&lt;/td&gt;
      &lt;td&gt;0.0&lt;/td&gt;
      &lt;td&gt;0.0&lt;/td&gt;
      &lt;td&gt;1.0&lt;/td&gt;
      &lt;td&gt;1.0&lt;/td&gt;
      &lt;td&gt;1.0&lt;/td&gt;
      &lt;td&gt;0.0&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;th&gt;2&lt;/th&gt;
      &lt;td&gt;80.200002&lt;/td&gt;
      &lt;td&gt;0.0&lt;/td&gt;
      &lt;td&gt;0.0&lt;/td&gt;
      &lt;td&gt;0.0&lt;/td&gt;
      &lt;td&gt;0.0&lt;/td&gt;
      &lt;td&gt;1.0&lt;/td&gt;
      &lt;td&gt;0.0&lt;/td&gt;
      &lt;td&gt;1.0&lt;/td&gt;
      &lt;td&gt;0.0&lt;/td&gt;
      &lt;td&gt;1.0&lt;/td&gt;
      &lt;td&gt;0.0&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;th&gt;5&lt;/th&gt;
      &lt;td&gt;75.999999&lt;/td&gt;
      &lt;td&gt;0.0&lt;/td&gt;
      &lt;td&gt;1.0&lt;/td&gt;
      &lt;td&gt;0.0&lt;/td&gt;
      &lt;td&gt;0.0&lt;/td&gt;
      &lt;td&gt;0.0&lt;/td&gt;
      &lt;td&gt;0.0&lt;/td&gt;
      &lt;td&gt;1.0&lt;/td&gt;
      &lt;td&gt;0.0&lt;/td&gt;
      &lt;td&gt;0.0&lt;/td&gt;
      &lt;td&gt;0.0&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;th&gt;6&lt;/th&gt;
      &lt;td&gt;76.700003&lt;/td&gt;
      &lt;td&gt;0.0&lt;/td&gt;
      &lt;td&gt;1.0&lt;/td&gt;
      &lt;td&gt;0.0&lt;/td&gt;
      &lt;td&gt;0.0&lt;/td&gt;
      &lt;td&gt;1.0&lt;/td&gt;
      &lt;td&gt;0.0&lt;/td&gt;
      &lt;td&gt;0.0&lt;/td&gt;
      &lt;td&gt;0.0&lt;/td&gt;
      &lt;td&gt;0.0&lt;/td&gt;
      &lt;td&gt;1.0&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;th&gt;7&lt;/th&gt;
      &lt;td&gt;84.200001&lt;/td&gt;
      &lt;td&gt;1.0&lt;/td&gt;
      &lt;td&gt;1.0&lt;/td&gt;
      &lt;td&gt;0.0&lt;/td&gt;
      &lt;td&gt;0.0&lt;/td&gt;
      &lt;td&gt;0.0&lt;/td&gt;
      &lt;td&gt;1.0&lt;/td&gt;
      &lt;td&gt;0.0&lt;/td&gt;
      &lt;td&gt;0.0&lt;/td&gt;
      &lt;td&gt;0.0&lt;/td&gt;
      &lt;td&gt;1.0&lt;/td&gt;
    &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;

&lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;
&lt;div class=&quot;cell border-box-sizing text_cell rendered&quot;&gt;&lt;div class=&quot;prompt input_prompt&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;inner_cell&quot;&gt;
&lt;div class=&quot;text_cell_render border-box-sizing rendered_html&quot;&gt;
&lt;p&gt;We have finally managed to describe the entirety of our dataset with a compounded membership above 75%.&lt;br&gt;
Let's plot the pie graph for the mixed membership dataframe, compare with the solo membership dataframe and then mix them both into one single pie chart to get an overall view.&lt;/p&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;cell border-box-sizing code_cell rendered&quot;&gt;
&lt;div class=&quot;input&quot;&gt;
&lt;div class=&quot;prompt input_prompt&quot;&gt;In&amp;nbsp;[33]:&lt;/div&gt;
&lt;div class=&quot;inner_cell&quot;&gt;
    &lt;div class=&quot;input_area&quot;&gt;
&lt;div class=&quot; highlight hl-ipython3&quot;&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;sizes&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[]&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;for&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;i&lt;/span&gt; &lt;span class=&quot;ow&quot;&gt;in&lt;/span&gt; &lt;span class=&quot;nb&quot;&gt;range&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;10&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;):&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;sizes&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;append&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;hot&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;iloc&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[:,&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;+&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;value_counts&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()[&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;])&lt;/span&gt;

&lt;span class=&quot;kn&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;nn&quot;&gt;matplotlib.pyplot&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;as&lt;/span&gt; &lt;span class=&quot;nn&quot;&gt;plt&lt;/span&gt;


&lt;span class=&quot;n&quot;&gt;fig1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;ax1&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;plt&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;subplots&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;ax1&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;pie&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;sizes&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;labels&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;labels&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;autopct&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;&lt;/span&gt;&lt;span class=&quot;si&quot;&gt;%1.1f%%&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;
        &lt;span class=&quot;n&quot;&gt;shadow&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;kc&quot;&gt;True&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;startangle&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;90&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;ax1&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;axis&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;equal&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;  &lt;span class=&quot;c1&quot;&gt;# Equal aspect ratio ensures that pie is drawn as a circle.&lt;/span&gt;

&lt;span class=&quot;n&quot;&gt;plt&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;show&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;div class=&quot;output_wrapper&quot;&gt;
&lt;div class=&quot;output&quot;&gt;


&lt;div class=&quot;output_area&quot;&gt;

&lt;div class=&quot;prompt&quot;&gt;&lt;/div&gt;




&lt;div class=&quot;output_png output_subarea &quot;&gt;
&lt;img src=&quot;data:image/png;base64,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
&quot;
&gt;
&lt;/div&gt;

&lt;/div&gt;

&lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;
&lt;div class=&quot;cell border-box-sizing text_cell rendered&quot;&gt;&lt;div class=&quot;prompt input_prompt&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;inner_cell&quot;&gt;
&lt;div class=&quot;text_cell_render border-box-sizing rendered_html&quot;&gt;
&lt;p&gt;Quite interestingly, once we take into account the mixed membership factor, the proportions of each topic inside the corpus change drastically. After all, maybe the Freakonomics Podcast &lt;em&gt;do&lt;/em&gt; talk about everything ?&lt;/p&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;cell border-box-sizing code_cell rendered&quot;&gt;
&lt;div class=&quot;input&quot;&gt;
&lt;div class=&quot;prompt input_prompt&quot;&gt;In&amp;nbsp;[34]:&lt;/div&gt;
&lt;div class=&quot;inner_cell&quot;&gt;
    &lt;div class=&quot;input_area&quot;&gt;
&lt;div class=&quot; highlight hl-ipython3&quot;&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class=&quot;kn&quot;&gt;from&lt;/span&gt; &lt;span class=&quot;nn&quot;&gt;sklearn.preprocessing&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;OneHotEncoder&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;LabelEncoder&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;label_encoder&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;LabelEncoder&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;integer_encoded&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;label_encoder&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;fit_transform&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;topic_df&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;topic&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;values&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;nb&quot;&gt;print&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;integer_encoded&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;nb&quot;&gt;print&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;integer_encoded&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;shape&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;onehot_encoder&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;OneHotEncoder&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;sparse&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;kc&quot;&gt;False&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;integer_encoded&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;integer_encoded&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;reshape&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;len&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;integer_encoded&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;),&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;onehot_encoded&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;onehot_encoder&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;fit_transform&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;integer_encoded&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;nb&quot;&gt;print&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;onehot_encoded&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;div class=&quot;output_wrapper&quot;&gt;
&lt;div class=&quot;output&quot;&gt;


&lt;div class=&quot;output_area&quot;&gt;

&lt;div class=&quot;prompt&quot;&gt;&lt;/div&gt;


&lt;div class=&quot;output_subarea output_stream output_stdout output_text&quot;&gt;
&lt;pre&gt;[6 6 8 1 9 6 9 5 6 1 0 7 7 6 6 6 5 4 0 5 5 0 6 7 9 9 9 5 4 5 1 3 0 0 6 1 7
 8 9 4 6 4 8 3 6 8 3 9 6 9 8 9 1 5 3 5 9 5 6 0 0 4 4 1 6 3 6 9 5 6 0 6 9 0
 1 5 6 9 4 9 4 9 4 5 8 6 6 7 8 0 5 3 5 4 9 4 4 6 3 9 9 4 0 9 9 5 5 9 6 2 2
 9 2 4 3 9 1 5 9 0 9 3 2 9 9 5 8 3 5 9 3 1 9 9 9 5 9 9 2 9 2 1 9 8 9 8 6 1
 0 0 3 3 3 3 6 8 8 8 4 7 6 0 2 0 4 3 3 3 2 8 5 7 9 2 8 1 3 3 2 9 9 2 9 8 8
 1 6 8 3 2 4 7 0 9 9 1 4 4 7 3 3 5 4 9 4 7 5 9 0 9 6 4 5 3 7 3 0 7 8 8 5 4
 9 1 6 3 3 2 3 9 3 4 6 5 7 9 6 2 4 5 6 3 5 4 7 4 6 7 7 7 6 5 6 5 5 9 6 5 2
 2 0 5 1 2 6 2 2 5 1 7 3 6 6 6 6 6 6 6 5 8 5 8 5 1 5 6 2 6 7 6 5 8 5 4 4 8
 6 8 4 5 5 2 9 9 7 6 2 6 4 5]
(310,)
[[ 0.  0.  0. ...,  0.  0.  0.]
 [ 0.  0.  0. ...,  0.  0.  0.]
 [ 0.  0.  0. ...,  0.  1.  0.]
 ..., 
 [ 0.  0.  0. ...,  0.  0.  0.]
 [ 0.  0.  0. ...,  0.  0.  0.]
 [ 0.  0.  0. ...,  0.  0.  0.]]
&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;
&lt;div class=&quot;cell border-box-sizing text_cell rendered&quot;&gt;&lt;div class=&quot;prompt input_prompt&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;inner_cell&quot;&gt;
&lt;div class=&quot;text_cell_render border-box-sizing rendered_html&quot;&gt;
&lt;p&gt;Now there was a mistake that I made earlier that we can fix here.&lt;br&gt;
When I took into account the mixed membership model, I gave the same weight to all the topics that composed a document. As we have seen earlier, for a single document each topic comes with a membership ratio. That seems like a perfect measure to put weights on the topics to give a better representation of all the subjects.&lt;br&gt;
I made a judgement call to keep all the topics with a single membership equal or above 75% to a value of one to increase the importance of single topic documents.&lt;/p&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;cell border-box-sizing code_cell rendered&quot;&gt;
&lt;div class=&quot;input&quot;&gt;
&lt;div class=&quot;prompt input_prompt&quot;&gt;In&amp;nbsp;[35]:&lt;/div&gt;
&lt;div class=&quot;inner_cell&quot;&gt;
    &lt;div class=&quot;input_area&quot;&gt;
&lt;div class=&quot; highlight hl-ipython3&quot;&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;ohc_topics&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;pd&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;DataFrame&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;data&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;onehot_encoded&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;columns&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;topic_list&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;topic_encoded&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;topic_df&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;join&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;ohc_topics&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;topic_encoded&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;drop&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;topic&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;axis&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;inplace&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;kc&quot;&gt;True&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;topic_encoded&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;head&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt;

&lt;span class=&quot;k&quot;&gt;for&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;j&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;i&lt;/span&gt; &lt;span class=&quot;ow&quot;&gt;in&lt;/span&gt; &lt;span class=&quot;nb&quot;&gt;enumerate&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;topic_encoded&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;index&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;):&lt;/span&gt;
    &lt;span class=&quot;k&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;topic_encoded&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;loc&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;][&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;membership&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;mf&quot;&gt;0.75&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;
        &lt;span class=&quot;n&quot;&gt;doc_top&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;lda_model&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;get_document_topics&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;doc_term_matrix&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;])&lt;/span&gt;
        &lt;span class=&quot;k&quot;&gt;for&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;tup&lt;/span&gt; &lt;span class=&quot;ow&quot;&gt;in&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;doc_top&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;
            &lt;span class=&quot;n&quot;&gt;top&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;mem&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;tup&lt;/span&gt;
            &lt;span class=&quot;n&quot;&gt;topic_encoded&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;iloc&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;j&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;][&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;+&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;top&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;mem&lt;/span&gt;
            &lt;span class=&quot;n&quot;&gt;topic_encoded&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;loc&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;][&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;membership&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;mf&quot;&gt;1.0&lt;/span&gt;
            
&lt;span class=&quot;n&quot;&gt;topic_encoded&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;head&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;div class=&quot;output_wrapper&quot;&gt;
&lt;div class=&quot;output&quot;&gt;


&lt;div class=&quot;output_area&quot;&gt;

&lt;div class=&quot;prompt output_prompt&quot;&gt;Out[35]:&lt;/div&gt;



&lt;div class=&quot;output_html rendered_html output_subarea output_execute_result&quot;&gt;
&lt;div&gt;
&lt;style&gt;
    .dataframe thead tr:only-child th {
        text-align: right;
    }

    .dataframe thead th {
        text-align: left;
    }

    .dataframe tbody tr th {
        vertical-align: top;
    }
&lt;/style&gt;
&lt;table border=&quot;1&quot; class=&quot;dataframe&quot;&gt;
  &lt;thead&gt;
    &lt;tr style=&quot;text-align: right;&quot;&gt;
      &lt;th&gt;&lt;/th&gt;
      &lt;th&gt;membership&lt;/th&gt;
      &lt;th&gt;International&lt;/th&gt;
      &lt;th&gt;Consumerism&lt;/th&gt;
      &lt;th&gt;Politics&lt;/th&gt;
      &lt;th&gt;Games&amp;amp;Savings&lt;/th&gt;
      &lt;th&gt;Family&lt;/th&gt;
      &lt;th&gt;Government&lt;/th&gt;
      &lt;th&gt;Miscellaneous&lt;/th&gt;
      &lt;th&gt;Healthcare&lt;/th&gt;
      &lt;th&gt;Food&lt;/th&gt;
      &lt;th&gt;Education&lt;/th&gt;
    &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
    &lt;tr&gt;
      &lt;th&gt;0&lt;/th&gt;
      &lt;td&gt;0.919406&lt;/td&gt;
      &lt;td&gt;0.000000&lt;/td&gt;
      &lt;td&gt;0.000000&lt;/td&gt;
      &lt;td&gt;0.0&lt;/td&gt;
      &lt;td&gt;0.0&lt;/td&gt;
      &lt;td&gt;0.000000&lt;/td&gt;
      &lt;td&gt;0.0&lt;/td&gt;
      &lt;td&gt;1.000000&lt;/td&gt;
      &lt;td&gt;0.000000&lt;/td&gt;
      &lt;td&gt;0.000000&lt;/td&gt;
      &lt;td&gt;0.000000&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;th&gt;1&lt;/th&gt;
      &lt;td&gt;1.000000&lt;/td&gt;
      &lt;td&gt;0.000000&lt;/td&gt;
      &lt;td&gt;0.000000&lt;/td&gt;
      &lt;td&gt;0.0&lt;/td&gt;
      &lt;td&gt;0.0&lt;/td&gt;
      &lt;td&gt;0.121499&lt;/td&gt;
      &lt;td&gt;0.0&lt;/td&gt;
      &lt;td&gt;0.743342&lt;/td&gt;
      &lt;td&gt;0.134809&lt;/td&gt;
      &lt;td&gt;0.000000&lt;/td&gt;
      &lt;td&gt;0.000000&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;th&gt;2&lt;/th&gt;
      &lt;td&gt;1.000000&lt;/td&gt;
      &lt;td&gt;0.017754&lt;/td&gt;
      &lt;td&gt;0.109644&lt;/td&gt;
      &lt;td&gt;0.0&lt;/td&gt;
      &lt;td&gt;0.0&lt;/td&gt;
      &lt;td&gt;0.137131&lt;/td&gt;
      &lt;td&gt;0.0&lt;/td&gt;
      &lt;td&gt;0.048495&lt;/td&gt;
      &lt;td&gt;0.000000&lt;/td&gt;
      &lt;td&gt;0.665185&lt;/td&gt;
      &lt;td&gt;0.021563&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;th&gt;3&lt;/th&gt;
      &lt;td&gt;0.794775&lt;/td&gt;
      &lt;td&gt;0.000000&lt;/td&gt;
      &lt;td&gt;1.000000&lt;/td&gt;
      &lt;td&gt;0.0&lt;/td&gt;
      &lt;td&gt;0.0&lt;/td&gt;
      &lt;td&gt;0.000000&lt;/td&gt;
      &lt;td&gt;0.0&lt;/td&gt;
      &lt;td&gt;0.000000&lt;/td&gt;
      &lt;td&gt;0.000000&lt;/td&gt;
      &lt;td&gt;0.000000&lt;/td&gt;
      &lt;td&gt;0.000000&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;th&gt;4&lt;/th&gt;
      &lt;td&gt;0.812216&lt;/td&gt;
      &lt;td&gt;0.000000&lt;/td&gt;
      &lt;td&gt;0.000000&lt;/td&gt;
      &lt;td&gt;0.0&lt;/td&gt;
      &lt;td&gt;0.0&lt;/td&gt;
      &lt;td&gt;0.000000&lt;/td&gt;
      &lt;td&gt;0.0&lt;/td&gt;
      &lt;td&gt;0.000000&lt;/td&gt;
      &lt;td&gt;0.000000&lt;/td&gt;
      &lt;td&gt;0.000000&lt;/td&gt;
      &lt;td&gt;1.000000&lt;/td&gt;
    &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;

&lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;
&lt;div class=&quot;cell border-box-sizing text_cell rendered&quot;&gt;&lt;div class=&quot;prompt input_prompt&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;inner_cell&quot;&gt;
&lt;div class=&quot;text_cell_render border-box-sizing rendered_html&quot;&gt;
&lt;p&gt;By mixing our single membership model and our mixed membership model into one dataframe, we can now have the most accurate representation of the distribution of the topics we found thanks to the LDA and the weighted membership.&lt;/p&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;cell border-box-sizing text_cell rendered&quot;&gt;&lt;div class=&quot;prompt input_prompt&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;inner_cell&quot;&gt;
&lt;div class=&quot;text_cell_render border-box-sizing rendered_html&quot;&gt;
&lt;h3 id=&quot;Final-visualisation-and-results&quot;&gt;Final visualisation and results&lt;a class=&quot;anchor-link&quot; href=&quot;#Final-visualisation-and-results&quot;&gt;&amp;#182;&lt;/a&gt;&lt;/h3&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;cell border-box-sizing code_cell rendered&quot;&gt;
&lt;div class=&quot;input&quot;&gt;
&lt;div class=&quot;prompt input_prompt&quot;&gt;In&amp;nbsp;[36]:&lt;/div&gt;
&lt;div class=&quot;inner_cell&quot;&gt;
    &lt;div class=&quot;input_area&quot;&gt;
&lt;div class=&quot; highlight hl-ipython3&quot;&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;sizes&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[]&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;for&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;i&lt;/span&gt; &lt;span class=&quot;ow&quot;&gt;in&lt;/span&gt; &lt;span class=&quot;nb&quot;&gt;range&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;10&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;):&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;sizes&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;append&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;topic_encoded&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;iloc&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[:,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;+&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;sum&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;())&lt;/span&gt;
    
&lt;span class=&quot;kn&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;nn&quot;&gt;matplotlib.pyplot&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;as&lt;/span&gt; &lt;span class=&quot;nn&quot;&gt;plt&lt;/span&gt;


&lt;span class=&quot;n&quot;&gt;fig1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;ax1&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;plt&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;subplots&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;ax1&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;pie&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;sizes&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;labels&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;labels&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;autopct&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;&lt;/span&gt;&lt;span class=&quot;si&quot;&gt;%1.1f%%&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;
        &lt;span class=&quot;n&quot;&gt;shadow&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;kc&quot;&gt;True&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;startangle&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;90&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;ax1&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;axis&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;equal&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;  &lt;span class=&quot;c1&quot;&gt;# Equal aspect ratio ensures that pie is drawn as a circle.&lt;/span&gt;

&lt;span class=&quot;n&quot;&gt;plt&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;show&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;div class=&quot;output_wrapper&quot;&gt;
&lt;div class=&quot;output&quot;&gt;


&lt;div class=&quot;output_area&quot;&gt;

&lt;div class=&quot;prompt&quot;&gt;&lt;/div&gt;




&lt;div class=&quot;output_png output_subarea &quot;&gt;
&lt;img src=&quot;data:image/png;base64,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
XeaFlAAAAABJRU5ErkJggg==
&quot;
&gt;
&lt;/div&gt;

&lt;/div&gt;

&lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;
&lt;div class=&quot;cell border-box-sizing text_cell rendered&quot;&gt;&lt;div class=&quot;prompt input_prompt&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;inner_cell&quot;&gt;
&lt;div class=&quot;text_cell_render border-box-sizing rendered_html&quot;&gt;
&lt;h4 id=&quot;Results,-and-possible-improvements&quot;&gt;Results, and possible improvements&lt;a class=&quot;anchor-link&quot; href=&quot;#Results,-and-possible-improvements&quot;&gt;&amp;#182;&lt;/a&gt;&lt;/h4&gt;&lt;ul&gt;
&lt;li&gt;Education comes out as the most frequent topic.&lt;/li&gt;
&lt;li&gt;If we put Government and Politics together, they become the most frequent topic with 20.6%.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;A few problems arose with the classification using LDA:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Difficulty to give a relevant topic title to the word vectors we got.&lt;/li&gt;
&lt;li&gt;Miscellaneous reprensents 16% of all our documents without giving any more information.&lt;/li&gt;
&lt;li&gt;Topics are sometimes confused such as &quot;Games&amp;amp;Savings&quot;&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id=&quot;Solutions&quot;&gt;Solutions&lt;a class=&quot;anchor-link&quot; href=&quot;#Solutions&quot;&gt;&amp;#182;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;A first approach could be to try to increase the number of topics that LDA is trying to generate.&lt;br&gt;
Increasing the number of passes to make the generated topics more relevant.
With these two solutions come an increased computational cost. Since I'm running this whole thing solely on my laptop, I'm not sure this would be the best solution...
Thirdly, we could isolate the problematic topics that we got such as &quot;Games&amp;amp;Savings&quot; and &quot;Miscellaneous&quot; and run the LDA only on these documents to possibly get subsets of topics that would described the forementionned topics more thoroughly.&lt;/p&gt;
&lt;p&gt;A last solution could be to try other algorithms for topic modelling.&lt;br&gt;
Apart from LDA there are two other common techniques that are used : LSI, and Clustering.&lt;br&gt;
LSI is mathematically simpler to explain than LDA but harder to interpret, as such, we'll only explore clustering here.&lt;/p&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;cell border-box-sizing text_cell rendered&quot;&gt;&lt;div class=&quot;prompt input_prompt&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;inner_cell&quot;&gt;
&lt;div class=&quot;text_cell_render border-box-sizing rendered_html&quot;&gt;
&lt;h2 id=&quot;V.--Text-Clustering&quot;&gt;V.  Text Clustering&lt;a class=&quot;anchor-link&quot; href=&quot;#V.--Text-Clustering&quot;&gt;&amp;#182;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;After trying the gensim tools offline to generate a tf-idf matrix from my corpus, I wasn't really satisfied with the outuput, for this reason I decided to switch to the sklearn library and its TfidfVectorizer.&lt;/p&gt;
&lt;h3 id=&quot;Tf-Idf-document-representation&quot;&gt;Tf-Idf document representation&lt;a class=&quot;anchor-link&quot; href=&quot;#Tf-Idf-document-representation&quot;&gt;&amp;#182;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Because of how the LDA is computed, we had to use the BoW model : LDA only accepts integers in its computation. But for what we are about to do, there is a better representation for our documents by giving a weight to each point depending on their frequency inside the document, and inside the whole corpus. That's the &lt;strong&gt;tf-idf&lt;/strong&gt; matrix.&lt;/p&gt;
&lt;p&gt;tf stands for term frequency, how often a word appears in a given document. So if a word appears a frequently in a document, its tf value will be higher for this document.&lt;/p&gt;
&lt;p&gt;It is computed as such : $$ tf(word,doc) = \frac {\text {how many times 'word' appears in doc}}{\text {total number of words in doc}} $$&lt;/p&gt;
&lt;p&gt;idf stands for inverse document frequency. For a given word from the dictionary, it gives us the inverse of the frequency of this word appearing in the corpus. That means that if the word is common to most of the documents his idf value will be smaller and reduce its weight.&lt;br&gt;
Also, it's logarthimically scaled, just 'cause.&lt;/p&gt;
&lt;p&gt;It is computed as such : $$ idf(word) = log( \frac { \text {total number of documents}}{\text {number of documents where 'word' appears}}) $$&lt;/p&gt;
&lt;p&gt;Then the tf-idf weight for each word in the dictionary for each document in the corpus is the product of the two :&lt;/p&gt;
&lt;p&gt;$ tf-idf(word,doc) = tf(word,doc)*idf(word) $&lt;/p&gt;
&lt;p&gt;This new representation of the corpus gives us a more refined weight than simple integer counts. With these new weights, we are now able to compute a better distance and thus a better &lt;strong&gt;similarity&lt;/strong&gt; between our documents.&lt;/p&gt;
&lt;h3 id=&quot;Document-Similarity&quot;&gt;Document Similarity&lt;a class=&quot;anchor-link&quot; href=&quot;#Document-Similarity&quot;&gt;&amp;#182;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;There are many ways to define similarity between two objects in mathematics. The most common way is to take the euclidian distance between the representation of these two points.&lt;/p&gt;
&lt;p&gt;For two points A, B in an N-dimensional space, $$ \text {dist(A,B) = } \sqrt{\sum_{i=1}^N (A_i-B_i)²}$$&lt;/p&gt;
&lt;p&gt;Where $ A_i $ and $ B_i $ respectively represent the i-th coordinate of A, and B.&lt;/p&gt;
&lt;p&gt;We can generalize the notion of distance and use the Minkowski distance :&lt;/p&gt;
&lt;p&gt;$$ \text {Mink}_n(A,B) =  \sqrt[n]{\sum_{i=1}^N |A_i-B_i|^n}$$&lt;/p&gt;
&lt;p&gt;We can see that Euclidian distance is a case of Minkowski distance where n = 2.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;In our case&lt;/strong&gt;, the points are our documents, and the coordinates of each document are the weights associated to each word in the tf-idf matrix. K-Means clustering typically uses Euclidian distance to measure similarity between points.&lt;br&gt;
But there one last measure I would like to introduce ( as we are going to use it later ), the cosine similarity.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://wikimedia.org/api/rest_v1/media/math/render/svg/a71c4add4abded66efd42b202c76f6a59944a587&quot; alt=&quot;cosine&quot;&gt;&lt;/p&gt;
&lt;p&gt;Wikipedia is actually quite clear for this one :&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;The resulting similarity ranges from −1 meaning exactly opposite, to 1 meaning exactly the same, with 0 indicating orthogonality (decorrelation), and in-between values indicating intermediate similarity or dissimilarity.&lt;/p&gt;
&lt;p&gt;For &lt;strong&gt;text matching&lt;/strong&gt;, the attribute vectors A and B are usually the &lt;strong&gt;term frequency vectors&lt;/strong&gt; of the documents. The cosine similarity can be seen as a method of normalizing document length during comparison.&lt;/p&gt;
&lt;p&gt;In the case of information retrieval, the cosine similarity of two documents will range from 0 to 1, since the term frequencies (&lt;strong&gt;tf-idf&lt;/strong&gt; weights) cannot be negative. The angle between two term frequency vectors cannot be greater than 90°.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;With that in mind, we conclude :  &lt;img src=&quot;https://wikimedia.org/api/rest_v1/media/math/render/svg/f8ed5fa804164749f0cb7eac4bd869458bfc8bda&quot; alt=&quot;dist&quot;&gt;&lt;/p&gt;
&lt;p&gt;That will be yet another way to calculate if the topics tackled by our podcasts are similar ( use the same semantically meaningful words ).&lt;/p&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;cell border-box-sizing code_cell rendered&quot;&gt;
&lt;div class=&quot;input&quot;&gt;
&lt;div class=&quot;prompt input_prompt&quot;&gt;In&amp;nbsp;[37]:&lt;/div&gt;
&lt;div class=&quot;inner_cell&quot;&gt;
    &lt;div class=&quot;input_area&quot;&gt;
&lt;div class=&quot; highlight hl-ipython3&quot;&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;def&lt;/span&gt; &lt;span class=&quot;nf&quot;&gt;tokenize_clean_and_lem&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;doc&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;):&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;token_list&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;clean&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;doc&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;split&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt;
    &lt;span class=&quot;k&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;token_list&lt;/span&gt;


&lt;span class=&quot;kn&quot;&gt;from&lt;/span&gt; &lt;span class=&quot;nn&quot;&gt;sklearn.feature_extraction.text&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;TfidfVectorizer&lt;/span&gt;

&lt;span class=&quot;sd&quot;&gt;&amp;#39;&amp;#39;&amp;#39;&lt;/span&gt;
&lt;span class=&quot;sd&quot;&gt;max_df and min_df are the same filtering terms as we used previously when creating the dictionary.&lt;/span&gt;
&lt;span class=&quot;sd&quot;&gt;stop_words doesn&amp;#39;t need to be updated as our tokenize_clean_and_lem function takes care of it.&lt;/span&gt;
&lt;span class=&quot;sd&quot;&gt;&amp;#39;&amp;#39;&amp;#39;&lt;/span&gt;

&lt;span class=&quot;n&quot;&gt;tfidf_vectorizer&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;TfidfVectorizer&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;max_df&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;mf&quot;&gt;0.8&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;max_features&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;200000&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;
                                 &lt;span class=&quot;n&quot;&gt;min_df&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;mf&quot;&gt;0.2&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;stop_words&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;english&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;
                                 &lt;span class=&quot;n&quot;&gt;use_idf&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;kc&quot;&gt;True&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;tokenizer&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;tokenize_clean_and_lem&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;

&lt;span class=&quot;n&quot;&gt;tfidf_matrix&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;tfidf_vectorizer&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;fit_transform&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;doc_complete&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;c1&quot;&gt;#fit the vectorizer to synopses&lt;/span&gt;

&lt;span class=&quot;nb&quot;&gt;print&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;tfidf_matrix&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;shape&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;div class=&quot;output_wrapper&quot;&gt;
&lt;div class=&quot;output&quot;&gt;


&lt;div class=&quot;output_area&quot;&gt;

&lt;div class=&quot;prompt&quot;&gt;&lt;/div&gt;


&lt;div class=&quot;output_subarea output_stream output_stdout output_text&quot;&gt;
&lt;pre&gt;(310, 830)
&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;
&lt;div class=&quot;cell border-box-sizing text_cell rendered&quot;&gt;&lt;div class=&quot;prompt input_prompt&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;inner_cell&quot;&gt;
&lt;div class=&quot;text_cell_render border-box-sizing rendered_html&quot;&gt;
&lt;h3 id=&quot;K-Means-and-our-Clusters&quot;&gt;K-Means and our Clusters&lt;a class=&quot;anchor-link&quot; href=&quot;#K-Means-and-our-Clusters&quot;&gt;&amp;#182;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;K-Means is an unsupervised learning clustering algorithm.&lt;/p&gt;
&lt;p&gt;Let's divide this and explain the important words.&lt;br&gt;
&lt;strong&gt;Unsupervised learning&lt;/strong&gt; means that it is working on unlabelled data, indeed so far we only have the description of each document through its tf-idf values.&lt;br&gt;
&lt;strong&gt;Clustering algorithm means&lt;/strong&gt; that the goal of this algorithm is to create clusters ( groups ) of similar points. The definition of similarity in the version of K-Means that we are using here will be euclidian distance between the tf-idf values of the documents.&lt;br&gt;
As I mentionned earlier it is also a &lt;strong&gt;hard-clustering&lt;/strong&gt; algorithm, meaning that contrary to the results we previously had, the will be &lt;strong&gt;no mixed-membership&lt;/strong&gt;, a point will be associated with only one cluster.&lt;/p&gt;
&lt;p&gt;We've seen earlier that tf-idf gives us a weighted representation of each document of the corpus depending on the ( semantically relevant ) words it uses. Calculating the distance between two documents using this representation will tell us if the use the same words a lot or not. From this, we will assume a similarity in the topic as well.
As an input we ask for 10 clusters that will correspond to our 10 topics.&lt;/p&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;cell border-box-sizing code_cell rendered&quot;&gt;
&lt;div class=&quot;input&quot;&gt;
&lt;div class=&quot;prompt input_prompt&quot;&gt;In&amp;nbsp;[38]:&lt;/div&gt;
&lt;div class=&quot;inner_cell&quot;&gt;
    &lt;div class=&quot;input_area&quot;&gt;
&lt;div class=&quot; highlight hl-ipython3&quot;&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class=&quot;kn&quot;&gt;from&lt;/span&gt; &lt;span class=&quot;nn&quot;&gt;sklearn.externals&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;joblib&lt;/span&gt;
&lt;span class=&quot;kn&quot;&gt;from&lt;/span&gt; &lt;span class=&quot;nn&quot;&gt;sklearn.metrics.pairwise&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;cosine_similarity&lt;/span&gt;
&lt;span class=&quot;kn&quot;&gt;from&lt;/span&gt; &lt;span class=&quot;nn&quot;&gt;sklearn.cluster&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;KMeans&lt;/span&gt;

&lt;span class=&quot;n&quot;&gt;terms&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;tfidf_vectorizer&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;get_feature_names&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt;

&lt;span class=&quot;n&quot;&gt;dist&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;-&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;cosine_similarity&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;tfidf_matrix&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;

&lt;span class=&quot;n&quot;&gt;num_clusters&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;10&lt;/span&gt;

&lt;span class=&quot;c1&quot;&gt;#km = KMeans(n_clusters=num_clusters)&lt;/span&gt;

&lt;span class=&quot;c1&quot;&gt;#km.fit(tfidf_matrix) &lt;/span&gt;

&lt;span class=&quot;c1&quot;&gt;#No need to do this here, I haved saved a previous version&lt;/span&gt;

&lt;span class=&quot;c1&quot;&gt;#km = joblib.dump(km,&amp;#39;kmeans_model.pkl&amp;#39;) &lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;km&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;joblib&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;load&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;kmeans_model.pkl&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;clusters&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;km&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;labels_&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;tolist&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;order_centroids&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;km&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;cluster_centers_&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;argsort&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()[:,&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;::&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt; 

&lt;span class=&quot;k&quot;&gt;for&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;i&lt;/span&gt; &lt;span class=&quot;ow&quot;&gt;in&lt;/span&gt; &lt;span class=&quot;nb&quot;&gt;range&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;num_clusters&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;):&lt;/span&gt;
    &lt;span class=&quot;nb&quot;&gt;print&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&amp;quot;Cluster &lt;/span&gt;&lt;span class=&quot;si&quot;&gt;%d&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt; words : &lt;/span&gt;&lt;span class=&quot;se&quot;&gt;\n&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&amp;quot;&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;%&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;end&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;topic_words&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;[]&lt;/span&gt;
    &lt;span class=&quot;k&quot;&gt;for&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;ind&lt;/span&gt; &lt;span class=&quot;ow&quot;&gt;in&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;order_centroids&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;6&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]:&lt;/span&gt; &lt;span class=&quot;c1&quot;&gt;#replace 6 with n words per cluster&lt;/span&gt;
        &lt;span class=&quot;n&quot;&gt;topic_words&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;append&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;terms&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;ind&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;])&lt;/span&gt;
    &lt;span class=&quot;nb&quot;&gt;print&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;topic_words&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;\n&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;div class=&quot;output_wrapper&quot;&gt;
&lt;div class=&quot;output&quot;&gt;


&lt;div class=&quot;output_area&quot;&gt;

&lt;div class=&quot;prompt&quot;&gt;&lt;/div&gt;


&lt;div class=&quot;output_subarea output_stream output_stdout output_text&quot;&gt;
&lt;pre&gt;Cluster 0 words : 
[&amp;#39;game&amp;#39;, &amp;#39;player&amp;#39;, &amp;#39;play&amp;#39;, &amp;#39;team&amp;#39;, &amp;#39;decision&amp;#39;, &amp;#39;sport&amp;#39;] 

Cluster 1 words : 
[&amp;#39;men&amp;#39;, &amp;#39;sleep&amp;#39;, &amp;#39;market&amp;#39;, &amp;#39;pay&amp;#39;, &amp;#39;buy&amp;#39;, &amp;#39;marry&amp;#39;] 

Cluster 2 words : 
[&amp;#39;money&amp;#39;, &amp;#39;save&amp;#39;, &amp;#39;financial&amp;#39;, &amp;#39;bank&amp;#39;, &amp;#39;account&amp;#39;, &amp;#39;state&amp;#39;] 

Cluster 3 words : 
[&amp;#39;book&amp;#39;, &amp;#39;write&amp;#39;, &amp;#39;economist&amp;#39;, &amp;#39;smoke&amp;#39;, &amp;#39;money&amp;#39;, &amp;#39;drink&amp;#39;] 

Cluster 4 words : 
[&amp;#39;car&amp;#39;, &amp;#39;city&amp;#39;, &amp;#39;drive&amp;#39;, &amp;#39;energy&amp;#39;, &amp;#39;water&amp;#39;, &amp;#39;house&amp;#39;] 

Cluster 5 words : 
[&amp;#39;president&amp;#39;, &amp;#39;state&amp;#39;, &amp;#39;political&amp;#39;, &amp;#39;country&amp;#39;, &amp;#39;unite&amp;#39;, &amp;#39;news&amp;#39;] 

Cluster 6 words : 
[&amp;#39;kid&amp;#39;, &amp;#39;parent&amp;#39;, &amp;#39;school&amp;#39;, &amp;#39;child&amp;#39;, &amp;#39;family&amp;#39;, &amp;#39;education&amp;#39;] 

Cluster 7 words : 
[&amp;#39;drug&amp;#39;, &amp;#39;doctor&amp;#39;, &amp;#39;medical&amp;#39;, &amp;#39;health&amp;#39;, &amp;#39;care&amp;#39;, &amp;#39;study&amp;#39;] 

Cluster 8 words : 
[&amp;#39;food&amp;#39;, &amp;#39;eat&amp;#39;, &amp;#39;restaurant&amp;#39;, &amp;#39;grow&amp;#39;, &amp;#39;water&amp;#39;, &amp;#39;le&amp;#39;] 

Cluster 9 words : 
[&amp;#39;government&amp;#39;, &amp;#39;tax&amp;#39;, &amp;#39;technology&amp;#39;, &amp;#39;growth&amp;#39;, &amp;#39;country&amp;#39;, &amp;#39;income&amp;#39;] 

&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;
&lt;div class=&quot;cell border-box-sizing text_cell rendered&quot;&gt;&lt;div class=&quot;prompt input_prompt&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;inner_cell&quot;&gt;
&lt;div class=&quot;text_cell_render border-box-sizing rendered_html&quot;&gt;
&lt;h4 id=&quot;Naming-our-clusters&quot;&gt;Naming our clusters&lt;a class=&quot;anchor-link&quot; href=&quot;#Naming-our-clusters&quot;&gt;&amp;#182;&lt;/a&gt;&lt;/h4&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;cell border-box-sizing code_cell rendered&quot;&gt;
&lt;div class=&quot;input&quot;&gt;
&lt;div class=&quot;prompt input_prompt&quot;&gt;In&amp;nbsp;[39]:&lt;/div&gt;
&lt;div class=&quot;inner_cell&quot;&gt;
    &lt;div class=&quot;input_area&quot;&gt;
&lt;div class=&quot; highlight hl-ipython3&quot;&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class=&quot;kn&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;nn&quot;&gt;matplotlib.pyplot&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;as&lt;/span&gt; &lt;span class=&quot;nn&quot;&gt;plt&lt;/span&gt;
&lt;span class=&quot;kn&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;nn&quot;&gt;matplotlib&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;as&lt;/span&gt; &lt;span class=&quot;nn&quot;&gt;mpl&lt;/span&gt;

&lt;span class=&quot;kn&quot;&gt;from&lt;/span&gt; &lt;span class=&quot;nn&quot;&gt;sklearn.manifold&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;MDS&lt;/span&gt;

&lt;span class=&quot;n&quot;&gt;MDS&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt;

&lt;span class=&quot;c1&quot;&gt;# convert two components as we&amp;#39;re plotting points in a two-dimensional plane&lt;/span&gt;
&lt;span class=&quot;c1&quot;&gt;# &amp;quot;precomputed&amp;quot; because we provide a distance matrix&lt;/span&gt;
&lt;span class=&quot;c1&quot;&gt;# we will also specify `random_state` so the plot is reproducible.&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;mds&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;MDS&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;n_components&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;3&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;dissimilarity&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&amp;quot;precomputed&amp;quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;random_state&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;

&lt;span class=&quot;n&quot;&gt;pos&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;mds&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;fit_transform&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;dist&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;

&lt;span class=&quot;n&quot;&gt;xs&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;ys&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;zs&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;pos&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[:,&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;],&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;pos&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[:,&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;],&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;pos&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[:,&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;

&lt;span class=&quot;n&quot;&gt;cluster_names&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s1&quot;&gt;&amp;#39;Games&amp;amp;Sports&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; 
                 &lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s1&quot;&gt;&amp;#39;Lifestyle/Social&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; 
                 &lt;span class=&quot;mi&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s1&quot;&gt;&amp;#39;Personnal Finance&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; 
                 &lt;span class=&quot;mi&quot;&gt;3&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s1&quot;&gt;&amp;#39;Freakonomics&amp;amp;Misc&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; 
                 &lt;span class=&quot;mi&quot;&gt;4&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s1&quot;&gt;&amp;#39;Transportation&amp;amp;Ecology&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;
                 &lt;span class=&quot;mi&quot;&gt;5&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s1&quot;&gt;&amp;#39;Politics&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;
                 &lt;span class=&quot;mi&quot;&gt;6&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s1&quot;&gt;&amp;#39;Family&amp;amp;Education&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;
                 &lt;span class=&quot;mi&quot;&gt;7&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s1&quot;&gt;&amp;#39;Healthcare&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;
                 &lt;span class=&quot;mi&quot;&gt;8&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s1&quot;&gt;&amp;#39;Food&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;
                 &lt;span class=&quot;mi&quot;&gt;9&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s1&quot;&gt;&amp;#39;Government&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;


&lt;span class=&quot;c1&quot;&gt;#create data frame that has the result of the MDS plus the cluster numbers and titles&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;df&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;pd&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;DataFrame&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;dict&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;xs&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;y&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;ys&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;z&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;zs&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;label&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;clusters&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;title&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;title_list&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;))&lt;/span&gt; 

&lt;span class=&quot;n&quot;&gt;df&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;head&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;div class=&quot;output_wrapper&quot;&gt;
&lt;div class=&quot;output&quot;&gt;


&lt;div class=&quot;output_area&quot;&gt;

&lt;div class=&quot;prompt output_prompt&quot;&gt;Out[39]:&lt;/div&gt;



&lt;div class=&quot;output_html rendered_html output_subarea output_execute_result&quot;&gt;
&lt;div&gt;
&lt;style&gt;
    .dataframe thead tr:only-child th {
        text-align: right;
    }

    .dataframe thead th {
        text-align: left;
    }

    .dataframe tbody tr th {
        vertical-align: top;
    }
&lt;/style&gt;
&lt;table border=&quot;1&quot; class=&quot;dataframe&quot;&gt;
  &lt;thead&gt;
    &lt;tr style=&quot;text-align: right;&quot;&gt;
      &lt;th&gt;&lt;/th&gt;
      &lt;th&gt;label&lt;/th&gt;
      &lt;th&gt;title&lt;/th&gt;
      &lt;th&gt;x&lt;/th&gt;
      &lt;th&gt;y&lt;/th&gt;
      &lt;th&gt;z&lt;/th&gt;
    &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
    &lt;tr&gt;
      &lt;th&gt;0&lt;/th&gt;
      &lt;td&gt;1&lt;/td&gt;
      &lt;td&gt;The Economics of Sleep, Part 2&lt;/td&gt;
      &lt;td&gt;-0.371743&lt;/td&gt;
      &lt;td&gt;0.579239&lt;/td&gt;
      &lt;td&gt;-0.213347&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;th&gt;1&lt;/th&gt;
      &lt;td&gt;1&lt;/td&gt;
      &lt;td&gt;The Economics of Sleep, Part 1&lt;/td&gt;
      &lt;td&gt;-0.259956&lt;/td&gt;
      &lt;td&gt;0.691642&lt;/td&gt;
      &lt;td&gt;0.115358&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;th&gt;2&lt;/th&gt;
      &lt;td&gt;8&lt;/td&gt;
      &lt;td&gt;Is It Okay for Restaurants to Racially Profile...&lt;/td&gt;
      &lt;td&gt;-0.291423&lt;/td&gt;
      &lt;td&gt;-0.029578&lt;/td&gt;
      &lt;td&gt;0.636760&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;th&gt;3&lt;/th&gt;
      &lt;td&gt;1&lt;/td&gt;
      &lt;td&gt;Make Me a Match&lt;/td&gt;
      &lt;td&gt;-0.161670&lt;/td&gt;
      &lt;td&gt;0.160629&lt;/td&gt;
      &lt;td&gt;-0.394301&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;th&gt;4&lt;/th&gt;
      &lt;td&gt;9&lt;/td&gt;
      &lt;td&gt;Making Sex Offenders Pay — and Pay and Pay and...&lt;/td&gt;
      &lt;td&gt;-0.317353&lt;/td&gt;
      &lt;td&gt;-0.114645&lt;/td&gt;
      &lt;td&gt;-0.436733&lt;/td&gt;
    &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;

&lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;
&lt;div class=&quot;cell border-box-sizing text_cell rendered&quot;&gt;&lt;div class=&quot;prompt input_prompt&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;inner_cell&quot;&gt;
&lt;div class=&quot;text_cell_render border-box-sizing rendered_html&quot;&gt;
&lt;h4 id=&quot;Multi-Dimensional-Scaling-Visualisation&quot;&gt;Multi Dimensional Scaling Visualisation&lt;a class=&quot;anchor-link&quot; href=&quot;#Multi-Dimensional-Scaling-Visualisation&quot;&gt;&amp;#182;&lt;/a&gt;&lt;/h4&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;cell border-box-sizing code_cell rendered&quot;&gt;
&lt;div class=&quot;input&quot;&gt;
&lt;div class=&quot;prompt input_prompt&quot;&gt;In&amp;nbsp;[40]:&lt;/div&gt;
&lt;div class=&quot;inner_cell&quot;&gt;
    &lt;div class=&quot;input_area&quot;&gt;
&lt;div class=&quot; highlight hl-ipython3&quot;&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class=&quot;kn&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;nn&quot;&gt;plotly&lt;/span&gt;
&lt;span class=&quot;kn&quot;&gt;from&lt;/span&gt; &lt;span class=&quot;nn&quot;&gt;plotly.offline&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;iplot&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;init_notebook_mode&lt;/span&gt;
&lt;span class=&quot;kn&quot;&gt;from&lt;/span&gt; &lt;span class=&quot;nn&quot;&gt;plotly.graph_objs&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;Scatter3d&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;Layout&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;Figure&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;init_notebook_mode&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;connected&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;kc&quot;&gt;True&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;

&lt;span class=&quot;n&quot;&gt;l&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;[]&lt;/span&gt;

&lt;span class=&quot;k&quot;&gt;for&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;i&lt;/span&gt; &lt;span class=&quot;ow&quot;&gt;in&lt;/span&gt; &lt;span class=&quot;nb&quot;&gt;range&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;10&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;):&lt;/span&gt;    
    &lt;span class=&quot;n&quot;&gt;trace&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;Scatter3d&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;
        &lt;span class=&quot;n&quot;&gt;x&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;df&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;df&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;label&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;][&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;x&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;],&lt;/span&gt;
        &lt;span class=&quot;n&quot;&gt;y&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;df&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;df&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;label&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;][&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;y&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;],&lt;/span&gt;
        &lt;span class=&quot;n&quot;&gt;z&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;df&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;df&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;label&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;][&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;z&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;],&lt;/span&gt;
        &lt;span class=&quot;n&quot;&gt;mode&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;s1&quot;&gt;&amp;#39;markers&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;
        &lt;span class=&quot;n&quot;&gt;marker&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;nb&quot;&gt;dict&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;size&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;7&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;
                    &lt;span class=&quot;n&quot;&gt;line&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;nb&quot;&gt;dict&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;width&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;),&lt;/span&gt;
                    &lt;span class=&quot;n&quot;&gt;color&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;
                    &lt;span class=&quot;n&quot;&gt;colorscale&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;Viridis&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;
                    &lt;span class=&quot;n&quot;&gt;opacity&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;mf&quot;&gt;0.8&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;),&lt;/span&gt;
        &lt;span class=&quot;n&quot;&gt;name&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;cluster_names&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;],&lt;/span&gt;
        &lt;span class=&quot;n&quot;&gt;text&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;df&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;df&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;label&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;][&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;title&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;],&lt;/span&gt;&lt;span class=&quot;c1&quot;&gt;# The hover text goes here...&lt;/span&gt;
        &lt;span class=&quot;n&quot;&gt;hoverinfo&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;s1&quot;&gt;&amp;#39;text+name&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;

    &lt;span class=&quot;n&quot;&gt;l&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;append&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;trace&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;

&lt;span class=&quot;n&quot;&gt;layout&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;Layout&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;title&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;s1&quot;&gt;&amp;#39;3D Representation of our topics and podcasts using MDS&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;hovermode&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;s1&quot;&gt;&amp;#39;closest&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;showlegend&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;kc&quot;&gt;True&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;

&lt;span class=&quot;n&quot;&gt;fig&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;Figure&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;data&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;l&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;layout&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;layout&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;plotly&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;offline&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;iplot&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;fig&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;c1&quot;&gt;#plotly.offline.plot(fig)&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;div class=&quot;output_wrapper&quot;&gt;
&lt;div class=&quot;output&quot;&gt;


&lt;div class=&quot;output_area&quot;&gt;

&lt;div class=&quot;prompt&quot;&gt;&lt;/div&gt;



&lt;div class=&quot;output_html rendered_html output_subarea &quot;&gt;
&lt;script&gt;requirejs.config({paths: { 'plotly': ['https://cdn.plot.ly/plotly-latest.min']},});if(!window.Plotly) {{require(['plotly'],function(plotly) {window.Plotly=plotly;});}}&lt;/script&gt;
&lt;/div&gt;

&lt;/div&gt;

&lt;div class=&quot;output_area&quot;&gt;

&lt;div class=&quot;prompt&quot;&gt;&lt;/div&gt;



&lt;div class=&quot;output_html rendered_html output_subarea &quot;&gt;
&lt;div id=&quot;56da9296-7356-4aff-b530-e60fdf2104c1&quot; style=&quot;height: 525px; width: 100%;&quot; class=&quot;plotly-graph-div&quot;&gt;&lt;/div&gt;&lt;script type=&quot;text/javascript&quot;&gt;require([&quot;plotly&quot;], function(Plotly) { window.PLOTLYENV=window.PLOTLYENV || {};window.PLOTLYENV.BASE_URL=&quot;https://plot.ly&quot;;Plotly.newPlot(&quot;56da9296-7356-4aff-b530-e60fdf2104c1&quot;, [{&quot;type&quot;: &quot;scatter3d&quot;, &quot;x&quot;: [0.4627578741240528, 0.5280456964933773, 0.48114981076985697, 0.3955821922262239, 0.13674103927549955, -0.24452609952793106, 0.35269432743116924, 0.5138461776229215, 0.30754982012456905, 0.4119767370867212, 0.4119767231827034, 0.1448619737122239, 0.43942523240934594, 0.5007402617385045, 0.563617873024964, 0.402254389501348, 0.2772612714765215, 0.5735717253500978, 0.250009840585757, 0.23524262428312911, 0.46210480789856284, 0.6412681179043389, 0.3172212267560743], &quot;y&quot;: [0.18770303465576285, -0.1337158132810004, 0.4172072089893089, 0.08970064947622908, 0.5284717334445458, 0.5446833729020558, 0.09034652506200332, 0.07693092839839957, 0.1214650009129141, -0.1122907584796814, -0.11229085620585816, 0.026294972463077795, -0.12565077795245633, -0.11549382385008417, 0.05117783988718114, 0.2613095466174643, 0.020617240200596573, 0.029663195025171517, 0.21997221129996267, 0.28953968128212854, -0.14287482257147271, 0.13795251208807904, 0.08130816777864511], &quot;z&quot;: [-0.3185763183793533, -0.2626407988527095, -0.1756315780538942, -0.2817192510797527, -0.11402552749717737, -0.30318474601212375, -0.48115726037640627, -0.4535137088040037, -0.026488818779451175, -0.058832537887793, -0.058832452592175795, -0.0033352580178100865, -0.5022143891475124, -0.38628308044951903, -0.2527200271445793, -0.16824105966365566, 0.5240633059334627, -0.33430834586742775, -0.1910356370092968, -0.4042488620270419, -0.3123623153529003, -0.1842130637608029, -0.26006217394390024], &quot;mode&quot;: &quot;markers&quot;, &quot;marker&quot;: {&quot;size&quot;: 7, &quot;line&quot;: {&quot;width&quot;: 1}, &quot;color&quot;: 0, &quot;colorscale&quot;: &quot;Viridis&quot;, &quot;opacity&quot;: 0.8}, &quot;name&quot;: &quot;Games&amp;Sports&quot;, &quot;text&quot;: [&quot;\u201cHow Much Brain Damage Do I Have\u201d&quot;, &quot;Why America Doesn\u2019t Love Soccer (Yet)&quot;, &quot;\u201cJane Austen, Game Theorist\u201d&quot;, &quot;What Do Medieval Nuns and Bo Jackson Have in Common&quot;, &quot;Would You Let a Coin Toss Decide Your Future&quot;, &quot;Introducing \u201cFreakonomics Experiments\u201d&quot;, &quot;How Much Does a Good Boss Really Matter&quot;, &quot;Why Online Poker Should Be Legal&quot;, &quot;Legacy of a Jerk&quot;, &quot;Boo \u2026 Who&quot;, &quot;Boo\u2026Who&quot;, &quot;The Upside of Quitting&quot;, &quot;Millionaires vs  Billionaires&quot;, &quot;The NFL\u2019s Best Real Estate Isn\u2019t For Sale  Yet&quot;, &quot;Who Stole All the Runs in Major League Baseball&quot;, &quot;Why Is My Life So Hard&quot;, &quot;Chuck E  Cheese\u2019s  Where a Kid Can Learn Price Theory&quot;, &quot;An Egghead\u2019s Guide to the Super Bowl&quot;, &quot;The Men Who Started a Thinking Revolution&quot;, &quot;How to Make a Bad Decision&quot;, &quot;The Longest Long Shot&quot;, &quot;How to Win Games and Beat People&quot;, &quot;How to Be Less Terrible at Predicting the Future&quot;], &quot;hoverinfo&quot;: &quot;text+name&quot;}, {&quot;type&quot;: &quot;scatter3d&quot;, &quot;x&quot;: [-0.37174283275275133, -0.25995617308697666, -0.16166978245275362, -0.35600699708059613, 0.5428940091405636, -0.2811509730249678, -0.40613121477114394, -0.3305402914091225, -0.14465332544712498, 0.2946290784678852, 0.26059222377090324, 0.12176641274794829, -0.1406627696143838, -0.09008842575391827, -0.2795118289369154, -0.3453334313600814, -0.48859524756696326, -0.5329630853651984, 0.5159007769409589, 0.417615798933863, 0.1356006031848833, -0.4378492740866103, -0.18783148234678526, -0.6551701521660099, -0.4360797458724173, -0.28320724770117955, -0.10148801832715347, -0.6034481144529943, -0.2670821514370121, 0.06804413449456813, -0.15160063718287647, 0.23492994057850755, -0.14475442051001658, 0.13678993216567448], &quot;y&quot;: [0.579238627478462, 0.6916422871087776, 0.1606286440705594, -0.06704728064160578, -0.004339150930663967, -0.4904566263758377, -0.4037823585288195, 0.3144184672601993, -0.014515065120204729, -0.2379779064102209, -0.2309954735061693, -0.3257067291878631, -0.4006963379985152, -0.058748177768221596, 0.42651428667163666, 0.10815283795305872, 0.4009801355646449, -0.22598999551035495, -0.2786264326012617, -0.3583832633302485, 0.4077538807687167, 0.31143173859982565, -0.610805333661882, 0.18306172088985773, -0.23119024858984052, 0.5834667849739277, 0.5211893047833714, 0.013754721100187913, 0.11412482685095035, 0.03226747439294468, -0.19500723793723906, 0.5153907196793498, -0.6105765125562016, 0.2070786021418176], &quot;z&quot;: [-0.21334705208144603, 0.11535817326151668, -0.3943012085573151, -0.0017384760541554153, 0.33050560443694565, 0.04071868938574757, -0.06295735007212266, -0.026859447652139396, 0.5306428827887162, 0.5547723761165586, 0.6263542262853758, 0.011682196520798183, -0.2234231154459409, 0.4619466334278771, -0.3466635009104469, 0.11921187490025995, -0.15502366172738555, -0.24768332322221057, 0.08502282187965937, 0.2808147747410361, 0.2777951979289877, -0.20680734439941623, 0.09064076814678226, 0.1530196508315746, -0.2024809099037001, -0.06303235521166517, -0.24054801472757636, 0.13404487345274874, -0.21285025125754103, 0.3926430999502119, 0.2088924258701958, 0.010789195583594341, 0.2337253115796152, -0.4804139640244666], &quot;mode&quot;: &quot;markers&quot;, &quot;marker&quot;: {&quot;size&quot;: 7, &quot;line&quot;: {&quot;width&quot;: 1}, &quot;color&quot;: 1, &quot;colorscale&quot;: &quot;Viridis&quot;, &quot;opacity&quot;: 0.8}, &quot;name&quot;: &quot;Lifestyle/Social&quot;, &quot;text&quot;: [&quot;The Economics of Sleep, Part 2&quot;, &quot;The Economics of Sleep, Part 1&quot;, &quot;Make Me a Match&quot;, &quot;Diamonds Are a Marriage Counselor\u2019s Best Friend&quot;, &quot;Time to Take Back the Toilet&quot;, &quot;Fitness Apartheid&quot;, &quot;How to Save $1 Billion Without Even Trying&quot;, &quot;What Do King Solomon and David Lee Roth Have in Common&quot;, &quot;Which Came First, the Chicken or the Avocado&quot;, &quot;Why Marry Part 2&quot;, &quot;Why Marry Part 1&quot;, &quot;Reasons to Not Be Ugly&quot;, &quot;The Stupidest Thing You Can Do With Your Money&quot;, &quot;The Troubled Cremation of Stevie the Cat&quot;, &quot;Whatever Happened to the Carpal Tunnel Epidemic&quot;, &quot;Can You Be Too Smart for Your Own Good And Other FREAK-quently Asked Questions&quot;, &quot;It\u2019s Crowded at the Top&quot;, &quot;How Money Is March Madness&quot;, &quot;Women Are Not Men&quot;, &quot;The Things They Taught Me&quot;, &quot;Fear Thy Nature&quot;, &quot;Freakonomics Goes to College, Part 1&quot;, &quot;A Cheap Employee Is \u2026 a Cheap Employee&quot;, &quot;Playing the Nerd Card&quot;, &quot;Soul Possession&quot;, &quot;The Patent Gap&quot;, &quot;Why Is \u201cI Don\u2019t Know\u201d So Hard to Say&quot;, &quot;Unnatural Turkeys&quot;, &quot;You Say Repugnant, I Say \u2026 Let\u2019s Do It&quot;, &quot;The Taboo Trifecta&quot;, &quot;How Can I Do the Most Social Good With $100 And Other FREAK-quently Asked Questions&quot;, &quot;What Are Gender Barriers Made Of&quot;, &quot;Are We in a Mattress-Store Bubble&quot;, &quot;The True Story of the Gender Pay Gap&quot;], &quot;hoverinfo&quot;: &quot;text+name&quot;}, {&quot;type&quot;: &quot;scatter3d&quot;, &quot;x&quot;: [-0.1843418163034554, -0.21069253081132588, -0.1740904736445981, -0.42066861482947243, -0.23236527216965264, -0.20019298000355482, -0.278034200097087, -0.17803289159656036, -0.22307288868615094, -0.22307270083158662, -0.5035327936552502, -0.6020023252510874, -0.21023028146069908, -0.17803142714578574, -0.27803336158896197, -0.2357833249753859, -0.09241216832181465], &quot;y&quot;: [-0.18798572654490403, -0.3345989801404512, -0.14193696251316282, -0.0012992270912123016, -0.3866436502362273, -0.2156493222695711, -0.37159595080977265, -0.3604742707725625, 0.15524066368185208, 0.15524116498083143, -0.20400949905546595, -0.08268824389756305, -0.36086386968646156, -0.3604768127374123, -0.3716009726346711, -0.2302739692475472, -0.6003820475667941], &quot;z&quot;: [-0.4788652906968882, -0.24374096958453753, -0.2029916900929618, -0.3131773465799769, -0.04897045249434549, -0.3976509228091628, -0.4321855016256521, -0.4254616046758127, -0.5418430197053666, -0.541842945720852, -0.38431314815723383, -0.28165525478574555, -0.4268071914297639, -0.42546006968431854, -0.4321816448560061, -0.27060481368952954, -0.2831944597099842], &quot;mode&quot;: &quot;markers&quot;, &quot;marker&quot;: {&quot;size&quot;: 7, &quot;line&quot;: {&quot;width&quot;: 1}, &quot;color&quot;: 2, &quot;colorscale&quot;: &quot;Viridis&quot;, &quot;opacity&quot;: 0.8}, &quot;name&quot;: &quot;Personnal Finance&quot;, &quot;text&quot;: [&quot;Everything You Always Wanted to Know About Money (But Were Afraid to Ask)&quot;, &quot;Why Everybody Who Doesn\u2019t Hate Bitcoin Loves It&quot;, &quot;Fighting Poverty With Actual Evidence&quot;, &quot;How to Raise Money Without Killing a Kitten&quot;, &quot;How to Think About Money, Choose Your Hometown, and Buy an Electric Toothbrush&quot;, &quot;Lottery Loopholes and Deadly Doctors&quot;, &quot;Is America Ready for a \u201cNo-Lose Lottery\u201d&quot;, &quot;The \u201cNo-Lose Lottery,\u201d Part 2&quot;, &quot;What Do Hand-Washing and Financial Illiteracy Have in Common&quot;, &quot;What Do Hand-Washing and Financial Illiteracy Have in Common&quot;, &quot;Does Money Really Buy Elections&quot;, &quot;What Makes a Donor Donate&quot;, &quot;UPDATE  Is America Ready for a \u201cNo-Lose Lottery\u201d&quot;, &quot;The \u201cNo-Lose Lottery,\u201d Part 2&quot;, &quot;Is America Ready for a \u201cNo-Lose Lottery\u201d&quot;, &quot;Reading, Rockets, and \u2018Rithmetic&quot;, &quot;Why Are We Still Using Cash&quot;], &quot;hoverinfo&quot;: &quot;text+name&quot;}, {&quot;type&quot;: &quot;scatter3d&quot;, &quot;x&quot;: [-0.02216652965825546, -0.01730537002985737, 0.01501025540084817, 0.07716684653089274, -0.11083399099551373, 0.4545187155849562, -0.13460616086520072, 0.2987887707972885, 0.13754544492850967, -0.3496829378772558, -0.1603178306129688, -0.012001794534482442, 0.5855922815293954, -0.3243559903321872, -0.3399453361366156, -0.0578638586129269, 0.2582882557359904, -0.3126861909787794, 0.16987907517429873, 0.47766535131250903, -0.6759656538672197, -0.5973751784869071, 0.08515368383376123, -0.3948528084058652, -0.572866232926306, -0.49354842463848336, -0.12996668542265014, -0.18017391822614304, -0.5227495969960055, -0.5804226916947584, 0.15617720809542643, -0.6454465221458009, -0.4047595829683089, -0.14040244135811603, 0.2505874313775465, -0.5834879473974832, 0.4662176101100848, -0.279625234981338, -0.5733164857676558, -0.17799961750156262, 0.5677704991180149, -0.7036337319666054, 0.07428245220694159, 0.44734919945281715, -0.26596120252698496, -0.025090178267914497, 0.28404143752427685, 0.2765702353837218, 0.23906495324889446, -0.1043376485869854, 0.3497712177934725, -0.4230578913172681, 0.0034668883919472377, 0.1176164442914442, 0.38370027728414646, 0.5328367015975499, 0.48230560513906223, 0.42645859438207334, 0.26409657273684745, 0.48902217695856415, 0.5830103609782341, 0.140269823379907, 0.12443095392435588, 0.13693025584137392, 0.5256530069174552, 0.357121752522519], &quot;y&quot;: [0.022789071367450637, 0.032105437145368496, 0.33102905410013495, 0.43122089015006626, 0.20734257388373944, 0.16079139708315984, 0.5737363466632931, 0.04234867023340431, 0.1233033494711691, 0.055977254299709955, 0.1339257239917379, 0.42204203102694704, -0.05917819083255877, 0.21805448550264026, 0.22914672711526007, -0.5320409594484371, 0.5319265153761745, 0.3657013318608868, 0.2652225649638155, 0.03941212339237576, -0.04605647196247555, 0.27339317558535753, 0.09583932065755955, 0.1615729479048837, 0.014641287797390337, 0.15006221111675513, 0.09227068126223527, 0.4613324098385876, -0.014427415446047651, 0.3099938581919275, -0.6269091717183584, 0.111777908882859, 0.48362679314103957, -0.6078539304293649, 0.6316707410802799, -0.11273494198345745, -0.4222200735059159, -0.5929428531649852, 0.004853825415600904, 0.20277752121440998, -0.30209019456641933, 0.006161284458569403, 0.285576452199573, 0.12766567390057007, -0.31074336624260573, -0.2620707320316854, 0.5067796346531617, 0.3128180449030247, 0.4224479304836505, -0.30206062188438093, 0.47960504347074756, 0.43037436073456103, -0.11784470107860409, 0.1894954805331507, 0.3190962494874879, 0.3259003833765057, 0.3808914866914112, 0.2750681658355752, 0.36562335207187924, 0.29174416140032766, 0.05395487336875739, 0.27843682158503436, 0.27979256809068215, 0.2200723959674209, -0.02926599723525153, 0.38053263307515406], &quot;z&quot;: [-0.11917888302747168, 0.22789653165829407, 0.0952262614083925, 0.04974904839826033, -0.24763609309119158, 0.23591345697201885, -0.05553212079915696, -0.20176240401474252, 0.34906325647584674, -0.16639030182466238, 0.025164191798721147, 0.026899179417201824, -0.07169779796738318, 0.19057138552031164, 0.07158475670651215, -0.4050246078823236, 0.21207156207345287, -0.2687711014953325, -0.1962203406921435, 0.0011690724262177698, -0.006116881440756453, -0.28381643101163967, -0.5092873881372674, -0.45922815386335003, -0.1473468340281232, -0.3512379271223744, -0.22094169651671122, 0.16514302860186117, -0.4222742271742633, 0.13454234050028283, 0.20275088095636215, 0.02381881267618947, -0.060767809951000146, -0.0466881219826075, 0.042758344197753644, -0.2071022906524297, 0.22987437247395717, 0.14833154377532146, 0.27956003244179384, -0.04370418267213736, -0.09696535812795706, 0.28492303529465723, -0.28493629996824094, -0.08114095533961727, -0.07439834009126058, 0.48089423275192467, -0.35655582278241976, -0.32342073496162377, -0.08454388665713278, 0.45606122457336945, -0.20988127018071834, 0.24368839470160517, 0.23652465021327326, 0.12109510396292338, 0.03020040201455898, -0.0812823722571862, -0.07313116333867781, -0.2587175519665164, -0.08241240400448739, 0.12197014206251977, 0.09323943156785217, -0.026757201087719208, -0.5224426485895359, 0.44545247759304535, -0.1738700054392703, 0.2039513687466339], &quot;mode&quot;: &quot;markers&quot;, &quot;marker&quot;: {&quot;size&quot;: 7, &quot;line&quot;: {&quot;width&quot;: 1}, &quot;color&quot;: 3, &quot;colorscale&quot;: &quot;Viridis&quot;, &quot;opacity&quot;: 0.8}, &quot;name&quot;: &quot;Freakonomics&amp;Misc&quot;, &quot;text&quot;: [&quot;Should We Really Behave Like Economists Say We Do&quot;, &quot;Ten Years of Freakonomics&quot;, &quot;Nate Silver Says  \u201cEveryone Is Kind of Weird\u201d&quot;, &quot;When Willpower Isn\u2019t Enough&quot;, &quot;The Maddest Men of All&quot;, &quot;Someone Else\u2019s Acid Trip&quot;, &quot;That\u2019s a Great Question&quot;, &quot;Why Doesn\u2019t Everyone Get the Flu Vaccine&quot;, &quot;The Man Who Would Be Everything&quot;, &quot;What Can Vampires Teach Us About Economics&quot;, &quot;Fixing the World, Bang-for-the-Buck Edition&quot;, &quot;How to Screen Job Applicants, Act Your Age, and Get Your Brain Off Autopilot&quot;, &quot;Failure Is Your Friend&quot;, &quot;The Three Hardest Words in the English Language&quot;, &quot;How to Think Like a Freak \u2014 and Other FREAK-quently Asked Questions&quot;, &quot;How to Make People Quit Smoking&quot;, &quot;\u201cIt\u2019s Fun to Smoke Marijuana\u201d&quot;, &quot;What You Don\u2019t Know About Online Dating&quot;, &quot;Everybody Gossips (and That\u2019s a Good Thing)&quot;, &quot;Who Runs the Internet&quot;, &quot;Help Wanted  No Smokers Need Apply&quot;, &quot;When Is a Negative a Positive&quot;, &quot;Who Owns the Words That Come Out of Your Mouth&quot;, &quot;How to Live Longer&quot;, &quot;Have a Very Homo Economicus Christmas&quot;, &quot;Free-conomics&quot;, &quot;I Consult, Therefore I Am&quot;, &quot;Our 100th Episode&quot;, &quot;Lying to Ourselves&quot;, &quot;Can Selling Beer Cut Down on Public Drunkenness&quot;, &quot;There\u2019s Cake in the Breakroom&quot;, &quot;The Season of Death&quot;, &quot;Retirement Kills&quot;, &quot;Is Good Corporate Citizenship Also Good for the Bottom Line&quot;, &quot;Is Twitter a Two-Way Street&quot;, &quot;The Hidden Cost of False Alarms&quot;, &quot;Are the Rich Really Less Generous Than the Poor&quot;, &quot;The Dilbert Index&quot;, &quot;Does This Recession Make Me Look Fat&quot;, &quot;Save Me From Myself&quot;, &quot;The Hidden Side of the Super Bowl&quot;, &quot;The Perils of Drunk Walking&quot;, &quot;The Truth Is Out There\u2026Isn\u2019t It&quot;, &quot;Live From St  Paul&quot;, &quot;To Catch a Fugitive&quot;, &quot;Death by Fire Probably Not&quot;, &quot;Is Twitter a Two-Way Street&quot;, &quot;Bring on the Pain&quot;, &quot;Could Solving This One Problem Solve All the Others&quot;, &quot;Two Book Authors and a Microphone&quot;, &quot;This Is Your Brain on Podcasts&quot;, &quot;What Are You Waiting For&quot;, &quot;Why Does Everyone Hate Flying And Other Questions Only a Pilot Can Answer&quot;, &quot;recoded 64  How to Be Tim Ferriss&quot;, &quot;How to Get More Grit in Your Life&quot;, &quot;BONUS EPISODE  Being Malcolm Gladwell&quot;, &quot;How to Become Great at Just About Anything&quot;, &quot;How to Be More Productive&quot;, &quot;How to Launch a Behavior-Change Revolution&quot;, &quot;Who Needs Handwriting&quot;, &quot;Should Everyone Be in a Rock Band&quot;, &quot;Am I Boring You&quot;, &quot;How To Win A Nobel Prize&quot;, &quot;How to Make a Smart TV Ad&quot;, &quot;How to Create Suspense&quot;, &quot;Aziz Ansari Needs Another Toothbrush&quot;], &quot;hoverinfo&quot;: &quot;text+name&quot;}, {&quot;type&quot;: &quot;scatter3d&quot;, &quot;x&quot;: [0.04767967375466826, -0.5601817026050158, -0.0845838878023243, -0.22437122781231605, 0.042228233049598204, -0.399606489094441, -0.26067654912402805, 0.12351849528650329, -0.4939419893395577, -0.20932007655109977, -0.3356139343559658, -0.49067085454169723, -0.4494149265339085, -0.3405516694537702, -0.1385319825953323, 0.045069056994830436, -0.33780795468299335, -0.06299250981191808, -0.3096311052668864, -0.06493100257360201, -0.33783613489051606, -0.3096313074747945, 0.09878952276806523, 0.013754925898775793, -0.2522796855190157, 0.10452944754179556, -0.49518865744597845, 0.03151538480214822, -0.6450427068444969], &quot;y&quot;: [-0.3570982001892944, -0.349268026804879, -0.32009282723377686, -0.34730782316537756, -0.6283828214263961, -0.3891850749689437, -0.3278675352643816, -0.22639971903528183, -0.3481977238981792, -0.6103753690391228, -0.129278454110336, -0.37346935997163005, -0.14508345637873127, -0.04891655920989428, -0.25942444847337126, -0.4539514619687291, -0.29687729190612855, -0.14164254532755394, -0.2617492882679582, -0.02595493055093395, -0.29683943967751136, -0.26174903833423735, -0.17543610312984204, -0.2820600690064278, -0.16965573902962763, -0.41756917920031156, -0.41039793793494805, -0.3567725528654697, -0.2500684940721429], &quot;z&quot;: [0.37089379606666484, 0.05944134211786115, 0.1668322760268453, 0.3449070351990671, 0.25822588118204076, 0.308786440795211, 0.23494468696057713, 0.41413254505156083, 0.2627098620883674, 0.3826682681325627, 0.22321143929425696, 0.30739674281897916, 0.15637103110658315, 0.24588322713988772, 0.5764349386814305, 0.2134717370986926, 0.2513440339308566, 0.04231381962517624, 0.12230305751061975, 0.5736896452475342, 0.25134338480726853, 0.12230301049488887, 0.44520955802614287, 0.401577250135085, 0.3492866754679433, 0.3377817774100134, -0.026745326804766437, 0.3052959424999529, 0.08534597895345145], &quot;mode&quot;: &quot;markers&quot;, &quot;marker&quot;: {&quot;size&quot;: 7, &quot;line&quot;: {&quot;width&quot;: 1}, &quot;color&quot;: 4, &quot;colorscale&quot;: &quot;Viridis&quot;, &quot;opacity&quot;: 0.8}, &quot;name&quot;: &quot;Transportation&amp;Ecology&quot;, &quot;text&quot;: [&quot;Could the Next Brooklyn Be \u2026 Las Vegas&quot;, &quot;How Efficient Is Energy Efficiency&quot;, &quot;Regulate This&quot;, &quot;The Perfect Crime&quot;, &quot;Why Are Japanese Homes Disposable&quot;, &quot;The Most Dangerous Machine&quot;, &quot;Why Bad Environmentalism Is Such an Easy Sell&quot;, &quot;Should Tipping Be Banned&quot;, &quot;Baby, You Can Program My Car&quot;, &quot;Parking Is Hell&quot;, &quot;How Did \u201cFreakonomics\u201d Get Its Name&quot;, &quot;Mass Transit Hysteria&quot;, &quot;The Cobra Effect&quot;, &quot;Please Steal My Car&quot;, &quot;Riding the Herd Mentality&quot;, &quot;How Stupid Is Our Obsession With Lawns&quot;, &quot;Where Have All the Hitchhikers Gone&quot;, &quot;Show and Yell&quot;, &quot;Hey, Baby, Is That a Prius You\u2019re Driving&quot;, &quot;Weird Recycling&quot;, &quot;Where Have All the Hitchhikers Gone&quot;, &quot;Hey Baby, Is That a Prius You\u2019re Driving&quot;, &quot;Why Can\u2019t We Predict Earthquakes&quot;, &quot;Why Cities Rock&quot;, &quot;Trashed&quot;, &quot;The Dangers of Safety&quot;, &quot;Why Uber Is an Economist\u2019s Dream&quot;, &quot;Confessions of a Pothole Politician&quot;, &quot;How Did the Belt Win&quot;], &quot;hoverinfo&quot;: &quot;text+name&quot;}, {&quot;type&quot;: &quot;scatter3d&quot;, &quot;x&quot;: [0.07311480230309324, -0.047309561586318466, 0.10700988499659655, 0.13224197928139758, 0.381462749882982, -0.3559228372478412, -0.26951996996225996, -0.38161213565852486, 0.047204874401433485, 0.09769455813073247, 0.16060281242225702, -0.1081483430143138, 0.01620263580336749, -0.0971353092910766, -0.2734425379825045, 0.11727560367945038, 0.12581391963226682, 0.16060308622258637, 0.13991824278669263, 0.12304015990487703, 0.0822677734093597, -0.18167450865271567, 0.22994473988609257, -0.14198364325282226, 0.12068953856173854, -0.0531514310094046, 0.2923216683700152, 0.5376820306831978, 0.005339541352442066], &quot;y&quot;: [0.010123575186105458, 0.0032175162591589453, -0.39418111736908296, -0.5436269907037033, -0.3541771740335706, -0.2614615330240391, 0.26684985382853316, 0.13991937349909367, -0.10603328059508114, -0.18915354311644667, -0.1580386539248184, -0.06093562767313896, 0.15187195259620456, 0.285658102093913, -0.3958239693697863, -0.042163017530888566, 0.5053429389658646, -0.15803908662479355, -0.20324116899226444, -0.3603134767392723, -0.2194076870659513, -0.08611647732447415, -0.19062929531942063, -0.12322185907545949, -0.3442445616517648, -0.21554194310432762, -0.2137395733774439, -0.3310288204737219, -0.23532314950752906], &quot;z&quot;: [-0.4732295940428729, -0.467978922496328, -0.3089658666775711, 0.04961586389986384, -0.04187626118764586, -0.03435789713829573, -0.5273095292676312, -0.1660796170630182, -0.6745868121336664, -0.492977689907783, -0.6251749468243936, -0.6270321649564213, -0.6156306660740122, -0.3559254910891118, 0.5122926518990032, -0.343978881008109, -0.30739022330988813, -0.6251747728794583, -0.648209421438184, -0.4370320739300361, -0.40455123619568406, -0.4759584865360771, 0.16050461563121954, -0.35874411770205233, -0.13677725182374814, -0.35624179779066345, -0.1188808603467199, -0.2565049215605753, -0.5224512589335705], &quot;mode&quot;: &quot;markers&quot;, &quot;marker&quot;: {&quot;size&quot;: 7, &quot;line&quot;: {&quot;width&quot;: 1}, &quot;color&quot;: 5, &quot;colorscale&quot;: &quot;Viridis&quot;, &quot;opacity&quot;: 0.8}, &quot;name&quot;: &quot;Politics&quot;, &quot;text&quot;: [&quot;Hacking the World Bank&quot;, &quot;Is There a Better Way to Fight Terrorism&quot;, &quot;Should the U S  Merge With Mexico&quot;, &quot;\u201cIf Mayors Ruled the World\u201d&quot;, &quot;Who Are the Most Successful Immigrants in the World&quot;, &quot;How to Think About Guns&quot;, &quot;Sure, I Remember That&quot;, &quot;We the Sheeple&quot;, &quot;Star-Spangled Banter&quot;, &quot;The Power of the President \u2014 and the Thumb&quot;, &quot;How Much Does the President Really Matter&quot;, &quot;It\u2019s Not the President, Stupid&quot;, &quot;How Biased Is Your Media&quot;, &quot;How Big is My Penis (And Other Things We Ask Google)&quot;, &quot;The Decline and Fall of Violence&quot;, &quot;The Folly of Prediction&quot;, &quot;Gambling With Your Life&quot;, &quot;How Much Does the President of the U S  Really Matter&quot;, &quot;Has the U S  Presidency Become a Dictatorship&quot;, &quot;Ten Signs You Might Be a Libertarian&quot;, &quot;Ten Ideas to Make Politics Less Rotten&quot;, &quot;Are Payday Loans Really as Evil as People Say&quot;, &quot;The United States of Cory Booker&quot;, &quot;Do Boycotts Work&quot;, &quot;Is Migration a Basic Human Right&quot;, &quot;Ben Bernanke Gives Himself a Grade&quot;, &quot;Meet the Woman Who Said Women Can\u2019t Have It All&quot;, &quot;Why Do We Really Follow the News&quot;, &quot;Why Larry Summers Is the Economist Everyone Hates to Love&quot;], &quot;hoverinfo&quot;: &quot;text+name&quot;}, {&quot;type&quot;: &quot;scatter3d&quot;, &quot;x&quot;: [0.41409480933893517, 0.3553399962511716, 0.3837182255689515, -0.2099030621617076, 0.38440494426349386, 0.4045973827919126, -0.17363228289954677, -0.44231805924729345, 0.05611884368518021, 0.13413424098986673, 0.2953946948453746, 0.036044855598175315, 0.3436712340750802, 0.4289835006906313, 0.1619669725425006, -0.09897684373403937, -0.35006597881031953, 0.2170444095847416, 0.3788616620232147, 0.10481061255939306, 0.2708674942472441, 0.29264728254883354, 0.3750341640224326, 0.3233660555784724, 0.32021065103355145, -0.13955236024458492, 0.4092313886804219, 0.33992049695774207, 0.4940826946666884, 0.170078746247042, 0.34880194431093503, 0.36608114569689587, 0.2792122370156103], &quot;y&quot;: [0.15497002569837376, 0.18571706904860957, -0.13249348477489217, 0.05201070900924093, 0.36336819975100965, 0.32742257375254175, 0.5531559170209647, -0.0692325590054385, -0.14164175317045338, 0.5686628637109191, 0.27517993095858734, 0.5782553334978706, -0.06050141279239407, -0.04042008892415432, -0.4619663337375001, -0.4215388295162139, 0.44326895762859925, 0.40083362576271103, 0.19218126559406037, 0.49052404797394883, 0.21775266913136224, -0.33813525509874803, -0.16176585810166977, -0.2612188093429828, 0.14814534572943175, 0.35920782741926777, 0.018674308579645554, -0.17363826571725693, -0.1622466988297232, 0.22912041145255943, 0.20198420223244754, -0.22153236252270606, 0.12517861773703323], &quot;z&quot;: [0.36499933511144456, 0.28489077449714706, 0.3442727379158408, -0.4061723239410895, 0.32801879964953856, 0.18905375577179506, 0.07861709597225396, -0.13144172033412188, 0.6239772899346883, 0.35289806878326624, 0.156872370243704, 0.09947685353810053, 0.47193107048745914, 0.36676889719693856, 0.4344991021461437, 0.4042838068018433, 0.06707910558409189, 0.4102000395644218, 0.32031662833713265, 0.21599576409337554, 0.47673309164488714, 0.22967204366642624, 0.48226751526689376, 0.3876350549244319, 0.4572264133717792, -0.18057620486636192, 0.32066125807851736, 0.2934699093621877, 0.10087152801128924, 0.25461460380181733, 0.4030556980156791, 0.28586089612006266, 0.4124355389700976], &quot;mode&quot;: &quot;markers&quot;, &quot;marker&quot;: {&quot;size&quot;: 7, &quot;line&quot;: {&quot;width&quot;: 1}, &quot;color&quot;: 6, &quot;colorscale&quot;: &quot;Viridis&quot;, &quot;opacity&quot;: 0.8}, &quot;name&quot;: &quot;Family&amp;Education&quot;, &quot;text&quot;: [&quot;How to Fix a Broken High Schooler, in Four Easy Steps&quot;, &quot;Is America\u2019s Education Problem Really Just a Teacher Problem&quot;, &quot;Why Do People Keep Having Children&quot;, &quot;Does Religion Make You Happy&quot;, &quot;Think Like a Child&quot;, &quot;Is Learning a Foreign Language Really Worth It&quot;, &quot;Are Gay Men Really Rich&quot;, &quot;Would a Big Bucket of Cash Really Change Your Life&quot;, &quot;The Middle of Everywhere&quot;, &quot;Do Baby Girls Cause Divorce&quot;, &quot;When Helping Hurts&quot;, &quot;Do You Really Want to Know Your Future&quot;, &quot;The Fracking Boom, a Baby Boom, and the Retreat From Marriage&quot;, &quot;How Much Does Your Name Matter&quot;, &quot;The House of Dreams&quot;, &quot;How to Maximize Your Halloween Candy Haul&quot;, &quot;Freakonomics Goes to College, Part 2&quot;, &quot;What\u2019s Wrong With Cash for Grades&quot;, &quot;How Is a Bad Radio Station Like Our Public-School System (Encore)&quot;, &quot;Misadventures in Baby-Making&quot;, &quot;The Economist\u2019s Guide to Parenting&quot;, &quot;The Church of \u201cScionology\u201d&quot;, &quot;Things Our Fathers Gave Us&quot;, &quot;Growing Up Buffett&quot;, &quot;Smarter Kids at 10 Bucks a Pop&quot;, &quot;The Health of Nations&quot;, &quot;Exit Interview  Schools Chancellor, NYC&quot;, &quot;Is the American Dream Really Dead&quot;, &quot;Trevor Noah Has a Lot to Say&quot;, &quot;Ask Not What Your Podcast Can Do for You&quot;, &quot;Does \u201cEarly Education\u201d Come Way Too Late&quot;, &quot;Should Kids Pay Back Their Parents for Raising Them&quot;, &quot;Preventing Crime for Pennies on the Dollar&quot;], &quot;hoverinfo&quot;: &quot;text+name&quot;}, {&quot;type&quot;: &quot;scatter3d&quot;, &quot;x&quot;: [0.005309991449575257, 0.020601290830966748, 0.04683483288996714, 0.16288314214893457, 0.050031808085071204, 0.05829654117684392, -0.5064420781936086, -0.011473204450218842, -0.5047390886629545, -0.018804373521350816, -0.009839963348749693, -0.05364388310447136, 0.03884937148744239, -0.11860986297499136], &quot;y&quot;: [0.4218685537833061, 0.4148907393475367, 0.3858188169016803, 0.2835521087693671, 0.06966341396118253, -0.02076513380544453, 0.34558828380647927, 0.5674586123646487, 0.34832301134925214, 0.34491609077782914, 0.4684239850007335, 0.6617043455906652, 0.5687708568013913, 0.3884566299408254], &quot;z&quot;: [-0.34402323926098966, -0.22273521037939112, -0.20156592146327748, 0.12668477671571074, 0.5820615524841257, 0.3783514615231164, -0.010468214296774699, -0.10383234553106967, -0.008998918676029668, -0.4371726600022125, -0.4062797192985232, -0.08399830261833292, -0.24954056365615634, -0.387715112710978], &quot;mode&quot;: &quot;markers&quot;, &quot;marker&quot;: {&quot;size&quot;: 7, &quot;line&quot;: {&quot;width&quot;: 1}, &quot;color&quot;: 7, &quot;colorscale&quot;: &quot;Viridis&quot;, &quot;opacity&quot;: 0.8}, &quot;name&quot;: &quot;Healthcare&quot;, &quot;text&quot;: [&quot;How Many Doctors Does It Take to Start a Healthcare Revolution&quot;, &quot;How Do We Know What Really Works in Healthcare&quot;, &quot;This Idea Must Die&quot;, &quot;Outsiders by Design&quot;, &quot;What\u2019s More Dangerous  Marijuana or Alcohol&quot;, &quot;Are We Ready to Legalize Drugs And Other FREAK-quently Asked Questions&quot;, &quot;Does College Still Matter And Other Freaky Questions Answered\u2026&quot;, &quot;The Power of Poop&quot;, &quot;Freakonomics FAQ, No  1&quot;, &quot;Nurses to the Rescue&quot;, &quot;Bad Medicine, Part 3  Death by Diagnosis&quot;, &quot;Bad Medicine, Part 2  (Drug) Trials and Tribulations&quot;, &quot;Bad Medicine, Part 1  The Story of 98 6&quot;, &quot;Are You Ready for a Glorious Sunset&quot;], &quot;hoverinfo&quot;: &quot;text+name&quot;}, {&quot;type&quot;: &quot;scatter3d&quot;, &quot;x&quot;: [-0.29142284959785625, 0.051989630503901256, -0.011774866415375621, -0.3754822646686423, -0.4159538295075839, -0.4234954220890945, -0.2676077780138587, -0.2943916869938517, -0.5384927501283802, -0.09725064228783849, -0.17799585739712362, -0.2640115336188967, -0.24079655607750833, -0.20226792207949518, -0.32538923297644146, -0.19390981599995966, -0.23868829647373768, -0.2640083889304451, -0.1779959060538289, -0.10243721839590918, -0.3196526237757873, -0.14283037513363306, -0.06382758243610197, -0.1386546887651203], &quot;y&quot;: [-0.029577935862857993, 0.32281210495823387, 0.48548153413427647, 0.03358652869024619, 0.23491935483303822, 0.11411137766669983, 0.18499190613224809, 0.25528732935035875, 0.16834204191070784, 0.34103098044734403, 0.26862640409627836, 0.3062979644695051, 0.13248971203845558, 0.20994784865940502, 0.21360747738332156, 0.3449344317419995, 0.2501017297640054, 0.30629350348040285, 0.26862649769901914, 0.41720983812209533, -0.08627803059180507, 0.39238839562709826, 0.2009230038374634, 0.3397766173191868], &quot;z&quot;: [0.6367604534720246, 0.5197243264048721, 0.511425186461334, 0.5662365885983791, 0.4135940779874459, 0.41275287135292915, 0.5634556234973613, 0.5670094857416986, 0.33518503158360147, 0.41364035213286987, 0.5073502815105604, 0.5167018853186758, 0.3334938373681949, 0.3249682845571004, 0.5246852368381106, 0.2836094160464236, 0.28368810768366187, 0.5167062557772275, 0.5073502115992082, 0.24823702690739963, 0.52970835734175, 0.3005048270480166, 0.504756334148526, 0.4877674751079544], &quot;mode&quot;: &quot;markers&quot;, &quot;marker&quot;: {&quot;size&quot;: 7, &quot;line&quot;: {&quot;width&quot;: 1}, &quot;color&quot;: 8, &quot;colorscale&quot;: &quot;Viridis&quot;, &quot;opacity&quot;: 0.8}, &quot;name&quot;: &quot;Food&quot;, &quot;text&quot;: [&quot;Is It Okay for Restaurants to Racially Profile Their Employees&quot;, &quot;Why You Should Bribe Your Kids&quot;, &quot;A Better Way to Eat&quot;, &quot;There\u2019s No Such Thing as a Free Appetizer&quot;, &quot;A Burger a Day&quot;, &quot;The Tale of the $15 Tomato&quot;, &quot;You Eat What You Are, Part 2&quot;, &quot;You Eat What You Are, Part 1&quot;, &quot;A Rose By Any Other Distance&quot;, &quot;Eating and Tweeting&quot;, &quot;Waiter, There\u2019s a Physicist in My Soup, Part 1&quot;, &quot;Waiter, There\u2019s a Physicist in My Soup, Part 2&quot;, &quot;The Days of Wine and Mouses&quot;, &quot;A Mouse in the Salad&quot;, &quot;How American Food Got So Bad&quot;, &quot;There\u2019s A War On Sugar  Is It Justified&quot;, &quot;Mouse in the Salad&quot;, &quot;Waiter, There\u2019s a Physicist in My Soup (Part 2)&quot;, &quot;Waiter, There\u2019s a Physicist in My Soup (Pt  1)&quot;, &quot;Is America\u2019s Obesity Epidemic For Real&quot;, &quot;The No-Tipping Point&quot;, &quot;The Demonization of Gluten&quot;, &quot;The Cheeseburger Diet&quot;, &quot;Food + Science = Victory&quot;], &quot;hoverinfo&quot;: &quot;text+name&quot;}, {&quot;type&quot;: &quot;scatter3d&quot;, &quot;x&quot;: [-0.3173531423442838, 0.4721841319167004, 0.08145371478590645, 0.48848005153310364, 0.27339494685264715, 0.4735999389704749, -0.10278470563981609, 0.06278302698698518, 0.4927044205464884, 0.16801799218956945, 0.6860211332535854, -0.2513528189904827, -0.45912809346374983, 0.17540695073852317, 0.22360070396406348, 0.23703112151515235, -0.6355921040658119, 0.24023288382558505, -0.18236017805287325, 0.24819088584207094, 0.289263082107728, -0.5637389003362306, 0.1810525001287398, 0.148541301219284, 0.2533514597281276, -0.3581303245672762, 0.016435009573659037, 0.00837026136438098, 0.08352356513972106, 0.5675773314832446, 0.27065552813529326, 0.21460715304585334, 0.03045990468535677, 0.42138531158442183, 0.2493287721142463, 0.33974481367485165, 0.28426427699358064, 0.2780675094728784, 0.1352865827877396, 0.05150431916649891, 0.32834925388952263], &quot;y&quot;: [-0.1146445721071424, -0.03348534076531157, -0.4934853065198249, 0.03692297197278133, -0.26856027285653467, 0.12575211079925788, -0.495571530671237, -0.2609956510374731, -0.5494245939577669, -0.59409896070599, 0.2581476541369992, -0.5368525156174385, -0.4926607531708255, -0.3258439612929337, -0.5896968669727057, -0.2642501888734222, 0.14536761982742533, 0.43660562156978794, -0.4778586520975911, -0.2558556537359359, -0.18599896964099205, -0.1606903769611837, -0.3839804827889705, -0.3912301362775936, 0.1253555141704216, -0.09296987751523914, -0.4632373524068718, 0.261272341432067, -0.48531054427571296, -0.22658742693114373, -0.03766824891734075, -0.07476150901987519, -0.39296957660353365, -0.35311787466254074, -0.01333175820758008, -0.333465099188714, -0.47727106115650214, -0.49943635159851696, -0.27557962392191193, -0.4555837619018404, -0.14406776330018722], &quot;z&quot;: [-0.43673342372790214, 0.15178864885083987, 0.0877981450986249, 0.11144143860841635, 0.01408901360424433, 0.07190719574188484, -0.09096907165040101, -0.2780568094504928, -0.023731472698593725, -0.025579036114376213, 0.13468766927895368, -0.2564171591518572, -0.16794841077454428, -0.3636444763986816, -0.13745632791651577, -0.2953001479997114, -0.21125472570027995, 0.1397480164041769, -0.1693775826768103, -0.34105509853743843, -0.2118955824564237, 0.2434557564006934, -0.18237008017879133, -0.2335538383738815, -0.3965645309613392, -0.3374825587610053, -0.08686860021669092, -0.4823954069419421, -0.23979422054294808, 0.1124054944091958, -0.349916941755187, -0.28586818010290443, 0.0367727515889122, 0.07834965489665162, -0.43456261576236876, -0.21615140454930612, -0.15478284657224586, -0.004732099999247422, 0.12960505130292052, -0.1549688068424869, 0.16123879681291492], &quot;mode&quot;: &quot;markers&quot;, &quot;marker&quot;: {&quot;size&quot;: 7, &quot;line&quot;: {&quot;width&quot;: 1}, &quot;color&quot;: 9, &quot;colorscale&quot;: &quot;Viridis&quot;, &quot;opacity&quot;: 0.8}, &quot;name&quot;: &quot;Government&quot;, &quot;text&quot;: [&quot;Making Sex Offenders Pay \u2014 and Pay and Pay and Pay&quot;, &quot;recoded 10 BONUS EPISODE  Why Learn Esperanto&quot;, &quot;How Safe Is Your Job&quot;, &quot;recoded 11 What Would Be the Best Universal Language (Earth 2 0 Series)&quot;, &quot;Tell Me Something I Don\u2019t Know&quot;, &quot;recoded 12 Why Don\u2019t We All Speak the Same Language (Earth 2 0 Series)&quot;, &quot;How Can Tiny Norway Afford to Buy So Many Teslas&quot;, &quot;Pontiff-icating on the Free-Market System&quot;, &quot;These Shoes Are Killing Me&quot;, &quot;Government Employees Gone Wild&quot;, &quot;Running to Do Evil&quot;, &quot;The Tax Man Nudgeth&quot;, &quot;The Downside of More Miles Per Gallon&quot;, &quot;BONUS EPISODE  Why Hate the Koch Brothers (Part 2)&quot;, &quot;Are We Running Out of Ideas&quot;, &quot;Why Hate the Koch Brothers (Part 1)&quot;, &quot;Why America\u2019s Economic Growth May Be (Shh) Over&quot;, &quot;Evolution, Accelerated&quot;, &quot;How Deep Is the Shadow Economy&quot;, &quot;He\u2019s One of the Most Famous Political Operatives in America  America Just Doesn\u2019t Know It Yet&quot;, &quot;Hoopers Hoopers Hoopers&quot;, &quot;Wildfires, Cops, and Keggers&quot;, &quot;Is Income Inequality Inevitable (Earth 2 0 Series)&quot;, &quot;What Would Our Economy Look Like (Earth 2 0 Series)&quot;, &quot;Big Returns from Thinking Small&quot;, &quot;What Would the World Look Like if Economists Were in Charge&quot;, &quot;No Hollywood Ending for the Visual-Effects Industry&quot;, &quot;Professor Hendryx vs  Big Coal&quot;, &quot;Did China Eat America\u2019s Jobs&quot;, &quot;Trust Me&quot;, &quot;The White House Gets Into the Nudge Business&quot;, &quot;In Praise of Incrementalism&quot;, &quot;In Praise of Maintenance&quot;, &quot;The Future (Probably) Isn\u2019t as Scary as You Think&quot;, &quot;Is the Internet Being Ruined&quot;, &quot;Thinking Is Expensive  Who\u2019s Supposed to Pay for It&quot;, &quot;Is the World Ready for a Guaranteed Basic Income&quot;, &quot;Yes, the American Economy Is in a Funk \u2014 But Not for the Reasons You Think&quot;, &quot;How Can This Possibly Be True&quot;, &quot;What Are the Secrets of the German Economy \u2014 and Should We Steal Them&quot;, &quot;\u201cI Don\u2019t Know What You\u2019ve Done With My Husband But He\u2019s a Changed Man\u201d&quot;], &quot;hoverinfo&quot;: &quot;text+name&quot;}], {&quot;title&quot;: &quot;3D Representation of our topics and podcasts using MDS&quot;, &quot;hovermode&quot;: &quot;closest&quot;, &quot;showlegend&quot;: true}, {&quot;showLink&quot;: true, &quot;linkText&quot;: &quot;Export to plot.ly&quot;})});&lt;/script&gt;
&lt;/div&gt;

&lt;/div&gt;

&lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;
&lt;div class=&quot;cell border-box-sizing text_cell rendered&quot;&gt;&lt;div class=&quot;prompt input_prompt&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;inner_cell&quot;&gt;
&lt;div class=&quot;text_cell_render border-box-sizing rendered_html&quot;&gt;
&lt;h4 id=&quot;Interpretation-and-interactivity&quot;&gt;Interpretation and interactivity&lt;a class=&quot;anchor-link&quot; href=&quot;#Interpretation-and-interactivity&quot;&gt;&amp;#182;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;The result comes out as a big blob that might seems confused in the beginning.&lt;br&gt;
&quot;Freakonomics&amp;amp;Misc.&quot; represents the widest part of our topic distribution and since it is pretty general, it may extend in our representation to a lot of places.&lt;br&gt;
Yet, the color coding and interactivity of the graph allows us to see the topics clusters more clearly.&lt;br&gt;
You can play with the different clusters and see for example that the &quot;Food&quot; group is ( almost ) entirely separated from the &quot;Government&quot; group etc.&lt;/p&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;cell border-box-sizing text_cell rendered&quot;&gt;&lt;div class=&quot;prompt input_prompt&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;inner_cell&quot;&gt;
&lt;div class=&quot;text_cell_render border-box-sizing rendered_html&quot;&gt;
&lt;h4 id=&quot;Improvement-?&quot;&gt;Improvement ?&lt;a class=&quot;anchor-link&quot; href=&quot;#Improvement-?&quot;&gt;&amp;#182;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Let's assume that the clustering has worked properly. MDS is not the only solution we have to represent multidimensional data in a reduced space.&lt;br&gt;
In one of my previous projects, I used PCA and autoencoders to reduce the dimmensionality of a complex dataset.&lt;br&gt;
I will only show the results for PCA with a linear kernel here for two reasons.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;After trying to do dimmensionality reduction via an AE (offscreen), it proved to be unefficient in our problem.&lt;/li&gt;
&lt;li&gt;I tried a few kernels offscreen for the PCA and the difference in output was minimal, so let's keep it simple.&lt;/li&gt;
&lt;/ol&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;cell border-box-sizing text_cell rendered&quot;&gt;&lt;div class=&quot;prompt input_prompt&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;inner_cell&quot;&gt;
&lt;div class=&quot;text_cell_render border-box-sizing rendered_html&quot;&gt;
&lt;h4 id=&quot;Principal-Component-Analysis-Visualisation&quot;&gt;Principal Component Analysis Visualisation&lt;a class=&quot;anchor-link&quot; href=&quot;#Principal-Component-Analysis-Visualisation&quot;&gt;&amp;#182;&lt;/a&gt;&lt;/h4&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;cell border-box-sizing code_cell rendered&quot;&gt;
&lt;div class=&quot;input&quot;&gt;
&lt;div class=&quot;prompt input_prompt&quot;&gt;In&amp;nbsp;[41]:&lt;/div&gt;
&lt;div class=&quot;inner_cell&quot;&gt;
    &lt;div class=&quot;input_area&quot;&gt;
&lt;div class=&quot; highlight hl-ipython3&quot;&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class=&quot;kn&quot;&gt;from&lt;/span&gt; &lt;span class=&quot;nn&quot;&gt;sklearn.decomposition&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;KernelPCA&lt;/span&gt;

&lt;span class=&quot;n&quot;&gt;X&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;tfidf_matrix&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;toarray&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt;

&lt;span class=&quot;n&quot;&gt;kpca&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;KernelPCA&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;n_components&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;3&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;kernel&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;s1&quot;&gt;&amp;#39;linear&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;X_PCA&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;kpca&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;fit_transform&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;X&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
    
&lt;span class=&quot;n&quot;&gt;xs&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;X_PCA&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[:,&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;ys&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;X_PCA&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[:,&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;zs&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;X_PCA&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[:,&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;
&lt;div class=&quot;cell border-box-sizing code_cell rendered&quot;&gt;
&lt;div class=&quot;input&quot;&gt;
&lt;div class=&quot;prompt input_prompt&quot;&gt;In&amp;nbsp;[42]:&lt;/div&gt;
&lt;div class=&quot;inner_cell&quot;&gt;
    &lt;div class=&quot;input_area&quot;&gt;
&lt;div class=&quot; highlight hl-ipython3&quot;&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class=&quot;c1&quot;&gt;# Recreating the df with the new coordinates&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;df&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;pd&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;DataFrame&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;dict&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;xs&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;y&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;ys&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;z&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;zs&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;label&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;clusters&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;title&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;title_list&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;))&lt;/span&gt; 

&lt;span class=&quot;n&quot;&gt;l&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;[]&lt;/span&gt;

&lt;span class=&quot;k&quot;&gt;for&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;i&lt;/span&gt; &lt;span class=&quot;ow&quot;&gt;in&lt;/span&gt; &lt;span class=&quot;nb&quot;&gt;range&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;10&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;):&lt;/span&gt;    
    &lt;span class=&quot;n&quot;&gt;trace&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;Scatter3d&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;
        &lt;span class=&quot;n&quot;&gt;x&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;df&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;df&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;label&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;][&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;x&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;],&lt;/span&gt;
        &lt;span class=&quot;n&quot;&gt;y&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;df&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;df&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;label&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;][&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;y&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;],&lt;/span&gt;
        &lt;span class=&quot;n&quot;&gt;z&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;df&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;df&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;label&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;][&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;z&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;],&lt;/span&gt;
        &lt;span class=&quot;n&quot;&gt;mode&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;s1&quot;&gt;&amp;#39;markers&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;
        &lt;span class=&quot;n&quot;&gt;marker&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;nb&quot;&gt;dict&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;size&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;7&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;
                    &lt;span class=&quot;n&quot;&gt;line&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;nb&quot;&gt;dict&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;width&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;),&lt;/span&gt;
                    &lt;span class=&quot;n&quot;&gt;color&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;
                    &lt;span class=&quot;n&quot;&gt;colorscale&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;Viridis&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;
                    &lt;span class=&quot;n&quot;&gt;opacity&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;mf&quot;&gt;0.8&lt;/span&gt;
                   &lt;span class=&quot;p&quot;&gt;),&lt;/span&gt;&lt;span class=&quot;c1&quot;&gt;#name= y[i],&lt;/span&gt;
        &lt;span class=&quot;n&quot;&gt;name&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;cluster_names&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;],&lt;/span&gt;
        &lt;span class=&quot;n&quot;&gt;text&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;df&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;df&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;label&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;][&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;title&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;],&lt;/span&gt;&lt;span class=&quot;c1&quot;&gt;# The hover text goes here...&lt;/span&gt;
        &lt;span class=&quot;n&quot;&gt;hoverinfo&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;s1&quot;&gt;&amp;#39;text+name&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;

    &lt;span class=&quot;n&quot;&gt;l&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;append&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;trace&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;

&lt;span class=&quot;n&quot;&gt;layout&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;Layout&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;title&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;s1&quot;&gt;&amp;#39;3D Representation of our topics and podcasts using PCA&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;hovermode&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;s1&quot;&gt;&amp;#39;closest&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;showlegend&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;kc&quot;&gt;True&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;

&lt;span class=&quot;n&quot;&gt;fig&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;Figure&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;data&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;l&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;layout&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;layout&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;plotly&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;offline&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;iplot&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;fig&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;c1&quot;&gt;#plotly.offline.plot(fig)&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;div class=&quot;output_wrapper&quot;&gt;
&lt;div class=&quot;output&quot;&gt;


&lt;div class=&quot;output_area&quot;&gt;

&lt;div class=&quot;prompt&quot;&gt;&lt;/div&gt;



&lt;div class=&quot;output_html rendered_html output_subarea &quot;&gt;
&lt;div id=&quot;939cee04-7176-41db-aa3e-61a4041f8ec3&quot; style=&quot;height: 525px; width: 100%;&quot; class=&quot;plotly-graph-div&quot;&gt;&lt;/div&gt;&lt;script type=&quot;text/javascript&quot;&gt;require([&quot;plotly&quot;], function(Plotly) { window.PLOTLYENV=window.PLOTLYENV || {};window.PLOTLYENV.BASE_URL=&quot;https://plot.ly&quot;;Plotly.newPlot(&quot;939cee04-7176-41db-aa3e-61a4041f8ec3&quot;, [{&quot;type&quot;: &quot;scatter3d&quot;, &quot;x&quot;: [0.08219716853526873, 0.0912531317004605, 0.04298155942654235, 0.04431179856135735, 0.009462226994912941, -0.022794732520153373, 0.05989469661213125, 0.046460677595144835, 0.06653443305780804, 0.013084741018191844, 0.013084741018192013, 0.10892060264952554, 0.050259582062122415, 0.06775288458301276, 0.04022680155483214, 0.08810909325907165, 0.033823522544620746, 0.0634703439932632, 0.09390792786038661, 0.09162461778596184, 0.09354658421351515, 0.027659893511655233, 0.1345448719880254], &quot;y&quot;: [0.31158108794119554, 0.2953421490027471, 0.31593113578406684, 0.23324275258555244, 0.12700177484619432, 0.14820310205963494, 0.2638166259268524, 0.33790270063092775, 0.3344452805207422, 0.30139627162656196, 0.3013962716265621, 0.21980738857112062, 0.21527880396297439, 0.3598033063007447, 0.39869161082646765, 0.16461255871890854, 0.19703149612506388, 0.453654015051357, 0.11973842913657701, 0.06478298893046373, 0.2715771008121058, 0.3484654968149177, 0.1378412933150609], &quot;z&quot;: [0.07647712643690761, 0.17624664487182104, 0.08596494756359814, 0.09443433919794157, -0.02850145822897853, 0.061623965406211866, 0.18053931385253766, 0.20808653916457132, 0.008077084296809258, 0.17729750449356743, 0.17729750449356715, -0.025822246289366715, 0.2204012743787241, 0.2961252251814461, 0.19048414706240782, -0.08955461086450185, -0.0008421970168561574, 0.26203204619239073, -0.09594940053453814, -0.056848675152766995, 0.22318334719594235, 0.1572189881674521, -0.010561439567837241], &quot;mode&quot;: &quot;markers&quot;, &quot;marker&quot;: {&quot;size&quot;: 7, &quot;line&quot;: {&quot;width&quot;: 1}, &quot;color&quot;: 0, &quot;colorscale&quot;: &quot;Viridis&quot;, &quot;opacity&quot;: 0.8}, &quot;name&quot;: &quot;Games&amp;Sports&quot;, &quot;text&quot;: [&quot;\u201cHow Much Brain Damage Do I Have\u201d&quot;, &quot;Why America Doesn\u2019t Love Soccer (Yet)&quot;, &quot;\u201cJane Austen, Game Theorist\u201d&quot;, &quot;What Do Medieval Nuns and Bo Jackson Have in Common&quot;, &quot;Would You Let a Coin Toss Decide Your Future&quot;, &quot;Introducing \u201cFreakonomics Experiments\u201d&quot;, &quot;How Much Does a Good Boss Really Matter&quot;, &quot;Why Online Poker Should Be Legal&quot;, &quot;Legacy of a Jerk&quot;, &quot;Boo \u2026 Who&quot;, &quot;Boo\u2026Who&quot;, &quot;The Upside of Quitting&quot;, &quot;Millionaires vs  Billionaires&quot;, &quot;The NFL\u2019s Best Real Estate Isn\u2019t For Sale  Yet&quot;, &quot;Who Stole All the Runs in Major League Baseball&quot;, &quot;Why Is My Life So Hard&quot;, &quot;Chuck E  Cheese\u2019s  Where a Kid Can Learn Price Theory&quot;, &quot;An Egghead\u2019s Guide to the Super Bowl&quot;, &quot;The Men Who Started a Thinking Revolution&quot;, &quot;How to Make a Bad Decision&quot;, &quot;The Longest Long Shot&quot;, &quot;How to Win Games and Beat People&quot;, &quot;How to Be Less Terrible at Predicting the Future&quot;], &quot;hoverinfo&quot;: &quot;text+name&quot;}, {&quot;type&quot;: &quot;scatter3d&quot;, &quot;x&quot;: [-0.04212545524325802, -0.044960964372442444, 0.08593550214415065, 0.01851361388449612, -0.06821520088699745, 0.00984245728012776, 0.0169235167705366, -0.003970880625820099, -0.17067368964188387, 0.040640582350369485, 0.012912483175038866, 0.12056063852519004, 0.10937012249233886, -0.04121584859237433, -0.07300279630257693, 0.03227406329186491, -0.012030146822094702, 0.0010387664910904994, 0.08708881998341314, 0.0439928358267253, -0.007377177847036758, 0.08656332856944447, -0.04917048210318436, -0.058633604283329956, 0.02889663094209902, -0.010294907468639064, 0.04192342223398786, -0.11417735235361307, 0.09079747027653266, -0.0988395744416856, 0.061080150117044894, 0.1022787612924739, -0.049266050633460456, 0.11845354227367744], &quot;y&quot;: [0.06194875747574172, 0.06751286011383008, -0.1319446798675762, 0.051974849315134776, 0.1043418136142725, -0.05634496330474172, -0.07278754913584594, 0.056491060424907896, 0.006218796162794857, 0.030554409223332725, 0.026668068963197532, -0.07331189725348426, -0.16035143110628913, 0.03864409235703462, 0.00536690636181595, -0.03441747243724665, 0.016018717109038346, 0.09464140587230756, 2.7599751351340704e-06, 0.14303745139817198, 0.19112948381316713, -0.041230351479931725, 0.053210627603326247, 0.15780030243977852, -0.028919698648007232, 0.07597674904922481, 0.06456094115367421, 0.0309652573182227, -0.10964945573673494, 0.026511125630528366, -0.07941803292277, 0.04531728164783404, -0.06570515662595894, -0.07805640766173612], &quot;z&quot;: [-0.01531135314355548, -0.04519947680455503, -0.08972302466570722, 0.08424962484070596, -0.006112759062516994, 0.04194212447656477, 0.03774235351739811, 0.028040562873865013, -0.045028424078736834, -0.10838505865855962, -0.0756879946329395, -0.10886035956246291, 0.08258781907568409, -0.024755375181495013, -0.0392618918492213, -0.0971461488512353, 0.008533618144251662, 0.2788547218327719, -0.09828160253821651, -0.135175356504488, -0.02438291353829608, -0.06438642471225314, 0.14201856699911353, 0.08683305528783336, 0.12452350945705451, -0.10264911176575607, -0.12508738831763955, 0.10204648438371768, -0.04402571544992977, -0.06343367270007315, -0.039408772483745545, -0.23042745046023588, 0.10343282941196222, -0.1537220098284112], &quot;mode&quot;: &quot;markers&quot;, &quot;marker&quot;: {&quot;size&quot;: 7, &quot;line&quot;: {&quot;width&quot;: 1}, &quot;color&quot;: 1, &quot;colorscale&quot;: &quot;Viridis&quot;, &quot;opacity&quot;: 0.8}, &quot;name&quot;: &quot;Lifestyle/Social&quot;, &quot;text&quot;: [&quot;The Economics of Sleep, Part 2&quot;, &quot;The Economics of Sleep, Part 1&quot;, &quot;Make Me a Match&quot;, &quot;Diamonds Are a Marriage Counselor\u2019s Best Friend&quot;, &quot;Time to Take Back the Toilet&quot;, &quot;Fitness Apartheid&quot;, &quot;How to Save $1 Billion Without Even Trying&quot;, &quot;What Do King Solomon and David Lee Roth Have in Common&quot;, &quot;Which Came First, the Chicken or the Avocado&quot;, &quot;Why Marry Part 2&quot;, &quot;Why Marry Part 1&quot;, &quot;Reasons to Not Be Ugly&quot;, &quot;The Stupidest Thing You Can Do With Your Money&quot;, &quot;The Troubled Cremation of Stevie the Cat&quot;, &quot;Whatever Happened to the Carpal Tunnel Epidemic&quot;, &quot;Can You Be Too Smart for Your Own Good And Other FREAK-quently Asked Questions&quot;, &quot;It\u2019s Crowded at the Top&quot;, &quot;How Money Is March Madness&quot;, &quot;Women Are Not Men&quot;, &quot;The Things They Taught Me&quot;, &quot;Fear Thy Nature&quot;, &quot;Freakonomics Goes to College, Part 1&quot;, &quot;A Cheap Employee Is \u2026 a Cheap Employee&quot;, &quot;Playing the Nerd Card&quot;, &quot;Soul Possession&quot;, &quot;The Patent Gap&quot;, &quot;Why Is \u201cI Don\u2019t Know\u201d So Hard to Say&quot;, &quot;Unnatural Turkeys&quot;, &quot;You Say Repugnant, I Say \u2026 Let\u2019s Do It&quot;, &quot;The Taboo Trifecta&quot;, &quot;How Can I Do the Most Social Good With $100 And Other FREAK-quently Asked Questions&quot;, &quot;What Are Gender Barriers Made Of&quot;, &quot;Are We in a Mattress-Store Bubble&quot;, &quot;The True Story of the Gender Pay Gap&quot;], &quot;hoverinfo&quot;: &quot;text+name&quot;}, {&quot;type&quot;: &quot;scatter3d&quot;, &quot;x&quot;: [0.1739126837827653, 0.08258319748399655, 0.1278542053627088, 0.06034344001407858, 0.11544941869493584, 0.23769181043759371, 0.15763279600081076, 0.21848226168040183, 0.12462655187943229, 0.12462655187943221, 0.027925460038739296, 0.009632922850335533, 0.21825420423570216, 0.21848226168040175, 0.15763279600081082, 0.16449244728239276, 0.08406613727674404], &quot;y&quot;: [-0.14344190518414066, -0.16860234459413947, -0.17732527591486477, -0.012625181705444459, -0.1248795170453103, -0.35294157301600354, -0.3114494643628629, -0.34378664347987903, -0.21882427846929672, -0.21882427846929672, 0.0035205644482980904, 0.01318192883850637, -0.3607989634651004, -0.3437866434798793, -0.31144946436286264, -0.11598256319904235, -0.21881885579653917], &quot;z&quot;: [0.06819040042799605, 0.10986931010790194, -0.032201113984781524, 0.08572630029264076, 0.07653160415273286, 0.14204454530504934, 0.31242597067567784, 0.29673385722801415, -0.06906726348139675, -0.06906726348139682, 0.27992201805883166, 0.18896214558426053, 0.31860059958037557, 0.2967338572280142, 0.3124259706756777, 0.0032995023606894797, 0.15853786151230045], &quot;mode&quot;: &quot;markers&quot;, &quot;marker&quot;: {&quot;size&quot;: 7, &quot;line&quot;: {&quot;width&quot;: 1}, &quot;color&quot;: 2, &quot;colorscale&quot;: &quot;Viridis&quot;, &quot;opacity&quot;: 0.8}, &quot;name&quot;: &quot;Personnal Finance&quot;, &quot;text&quot;: [&quot;Everything You Always Wanted to Know About Money (But Were Afraid to Ask)&quot;, &quot;Why Everybody Who Doesn\u2019t Hate Bitcoin Loves It&quot;, &quot;Fighting Poverty With Actual Evidence&quot;, &quot;How to Raise Money Without Killing a Kitten&quot;, &quot;How to Think About Money, Choose Your Hometown, and Buy an Electric Toothbrush&quot;, &quot;Lottery Loopholes and Deadly Doctors&quot;, &quot;Is America Ready for a \u201cNo-Lose Lottery\u201d&quot;, &quot;The \u201cNo-Lose Lottery,\u201d Part 2&quot;, &quot;What Do Hand-Washing and Financial Illiteracy Have in Common&quot;, &quot;What Do Hand-Washing and Financial Illiteracy Have in Common&quot;, &quot;Does Money Really Buy Elections&quot;, &quot;What Makes a Donor Donate&quot;, &quot;UPDATE  Is America Ready for a \u201cNo-Lose Lottery\u201d&quot;, &quot;The \u201cNo-Lose Lottery,\u201d Part 2&quot;, &quot;Is America Ready for a \u201cNo-Lose Lottery\u201d&quot;, &quot;Reading, Rockets, and \u2018Rithmetic&quot;, &quot;Why Are We Still Using Cash&quot;], &quot;hoverinfo&quot;: &quot;text+name&quot;}, {&quot;type&quot;: &quot;scatter3d&quot;, &quot;x&quot;: [0.09217124194686081, 0.022202871430327845, -0.046202444974212074, -0.012482955057350214, 0.0516148882809937, -0.020361926911805665, -0.007950222526820434, 0.09278519829629124, -0.002854109233667731, 0.04078450465689955, 0.06796492115379002, 0.02062363580523094, 0.019472871964245284, 0.02882664322188167, -0.03913935882672698, -0.04747014765022315, -0.018531565633397435, 0.014379117957626596, 0.013228419555608925, 0.07305233488038601, -0.09679080630619345, -0.05500113208929285, 0.0652439981140732, 0.0016614576719957222, -0.00636675419135106, 0.034141369343931284, 0.09321968181330262, -0.10177699296921798, -0.01696482738512024, -0.04499234595338223, -0.04243733956409019, -0.06342691703120906, -0.04104083336467614, 0.008034076828247022, -0.05156172724432033, -0.00909676664641794, 0.05413341615853772, -0.03327408661787187, -0.2392892751070226, -0.027952728778254145, -0.032508364628201315, -0.12074547506062379, 0.06804711660806412, 0.06581094744783302, 0.07682649315080509, -0.059516363939283064, -0.051561727244320295, 0.017456527806533395, 0.07490147476516168, 0.03879743746978928, -0.01955601266571397, -0.11301624639452311, 0.01510014308025948, -0.046836559941276966, 0.10245934688604369, 0.044993385112633615, 0.04126582504575936, 0.0724004957238517, 0.10618899450575994, 0.08012023694166587, 0.03168551717657819, 0.09264700519127506, 0.01567487682530179, 0.006246394206117537, 0.046236210215754046, -0.06409950573860437], &quot;y&quot;: [-0.024227491404111474, 0.1848532742057928, 0.13712654165361673, 0.10274824206088409, -0.0014669075481622553, 0.13378766044402024, 0.14270480792125342, -0.053531167210018694, 0.20262742745701331, -0.021632446216231244, -0.09859667701128418, 0.16928926852899667, 0.10203839999764026, 0.15217598700334406, 0.12315252351294521, -0.1009826217483699, 0.16656134987159404, 0.09705174452416716, 0.07649355762635875, 0.11633112405578423, 0.003743429750245793, 0.118227337711405, 0.05621961472592657, 0.126636773741081, 0.134447694923603, 0.025647769371452106, -0.052406832248386936, 0.14745686324416749, 0.05026819862765247, 0.17974282715486486, 0.04020818970704819, 0.06352697648226845, 0.03091293738570129, 0.004091367649286003, 0.10475716471271415, -0.013844788763012296, -0.05533403598488057, 0.08253568878727274, -0.05971268686151801, -0.0027190565729993733, 0.2904747530843297, 0.10444519725581285, 0.021633488214623256, 0.28984648523631473, -0.0097605133571447, -0.03140277615990589, 0.10475716471271405, 0.18940568056858084, -0.042064184978598936, 0.03340418146841865, 0.12046189093450199, 0.020131992114537915, 0.05170227530403983, 0.13818129692287617, 0.18140670334700196, 0.22175199194394335, 0.15222942291138858, 0.1933048828260925, 0.014873164647095437, 0.13238845139754055, 0.23791194161615356, 0.03289032569677086, -0.0030039151163555986, 0.11123644877828044, 0.25630134574811597, 0.1879303350447405], &quot;z&quot;: [-0.034331888397097506, -0.009605506775699975, 0.04874580074768025, -0.09200990420158746, -0.043900478572127984, -0.085473563943568, 0.005466204435651436, -0.07410659293998663, 0.046498516281072724, 0.018546851280592247, -0.11661843739124005, -0.06414770681723984, 0.03362085692648364, -0.07985236692626858, 0.01909598143472825, 0.03568568360756833, -0.10088247191371082, -0.05004969557268024, -0.0607747907564903, -0.056981228371430916, 0.11711169406144097, 0.11089688947702458, 0.04703813810028633, 0.18229275607798806, 0.20212066640040519, 0.09510882513514538, -0.050625948386632515, 0.006626759091374367, 0.17143099388441718, 0.1505139213989152, 0.11787472998508432, 0.12846734124403159, 0.02460318611178588, 0.08490143141988936, 0.01584845161842387, 0.10429048196038669, -0.03500292132841523, 0.13012841206371345, 0.11737217674551445, 0.0016482941063998907, 0.22040276788973273, 0.15620409580155492, -0.1050345520375418, 0.04462447836892581, 0.17339206649059904, 0.04583852648710535, 0.01584845161842394, 0.04702936786150271, -0.20167588040554388, 0.06926454309381241, -0.05621525735308221, 0.06460016907183568, -0.022871077546600508, -0.14046280601876202, -0.26928730950149943, -0.06549931665302637, -0.15835273067012914, -0.07782264646337858, -0.2107080007348844, -0.22582816416377044, -0.017877628490193524, -0.2161379766583043, -0.03456810276653732, -0.06285148851983396, 0.09585786669826282, 0.012528624681027091], &quot;mode&quot;: &quot;markers&quot;, &quot;marker&quot;: {&quot;size&quot;: 7, &quot;line&quot;: {&quot;width&quot;: 1}, &quot;color&quot;: 3, &quot;colorscale&quot;: &quot;Viridis&quot;, &quot;opacity&quot;: 0.8}, &quot;name&quot;: &quot;Freakonomics&amp;Misc&quot;, &quot;text&quot;: [&quot;Should We Really Behave Like Economists Say We Do&quot;, &quot;Ten Years of Freakonomics&quot;, &quot;Nate Silver Says  \u201cEveryone Is Kind of Weird\u201d&quot;, &quot;When Willpower Isn\u2019t Enough&quot;, &quot;The Maddest Men of All&quot;, &quot;Someone Else\u2019s Acid Trip&quot;, &quot;That\u2019s a Great Question&quot;, &quot;Why Doesn\u2019t Everyone Get the Flu Vaccine&quot;, &quot;The Man Who Would Be Everything&quot;, &quot;What Can Vampires Teach Us About Economics&quot;, &quot;Fixing the World, Bang-for-the-Buck Edition&quot;, &quot;How to Screen Job Applicants, Act Your Age, and Get Your Brain Off Autopilot&quot;, &quot;Failure Is Your Friend&quot;, &quot;The Three Hardest Words in the English Language&quot;, &quot;How to Think Like a Freak \u2014 and Other FREAK-quently Asked Questions&quot;, &quot;How to Make People Quit Smoking&quot;, &quot;\u201cIt\u2019s Fun to Smoke Marijuana\u201d&quot;, &quot;What You Don\u2019t Know About Online Dating&quot;, &quot;Everybody Gossips (and That\u2019s a Good Thing)&quot;, &quot;Who Runs the Internet&quot;, &quot;Help Wanted  No Smokers Need Apply&quot;, &quot;When Is a Negative a Positive&quot;, &quot;Who Owns the Words That Come Out of Your Mouth&quot;, &quot;How to Live Longer&quot;, &quot;Have a Very Homo Economicus Christmas&quot;, &quot;Free-conomics&quot;, &quot;I Consult, Therefore I Am&quot;, &quot;Our 100th Episode&quot;, &quot;Lying to Ourselves&quot;, &quot;Can Selling Beer Cut Down on Public Drunkenness&quot;, &quot;There\u2019s Cake in the Breakroom&quot;, &quot;The Season of Death&quot;, &quot;Retirement Kills&quot;, &quot;Is Good Corporate Citizenship Also Good for the Bottom Line&quot;, &quot;Is Twitter a Two-Way Street&quot;, &quot;The Hidden Cost of False Alarms&quot;, &quot;Are the Rich Really Less Generous Than the Poor&quot;, &quot;The Dilbert Index&quot;, &quot;Does This Recession Make Me Look Fat&quot;, &quot;Save Me From Myself&quot;, &quot;The Hidden Side of the Super Bowl&quot;, &quot;The Perils of Drunk Walking&quot;, &quot;The Truth Is Out There\u2026Isn\u2019t It&quot;, &quot;Live From St  Paul&quot;, &quot;To Catch a Fugitive&quot;, &quot;Death by Fire Probably Not&quot;, &quot;Is Twitter a Two-Way Street&quot;, &quot;Bring on the Pain&quot;, &quot;Could Solving This One Problem Solve All the Others&quot;, &quot;Two Book Authors and a Microphone&quot;, &quot;This Is Your Brain on Podcasts&quot;, &quot;What Are You Waiting For&quot;, &quot;Why Does Everyone Hate Flying And Other Questions Only a Pilot Can Answer&quot;, &quot;recoded 64  How to Be Tim Ferriss&quot;, &quot;How to Get More Grit in Your Life&quot;, &quot;BONUS EPISODE  Being Malcolm Gladwell&quot;, &quot;How to Become Great at Just About Anything&quot;, &quot;How to Be More Productive&quot;, &quot;How to Launch a Behavior-Change Revolution&quot;, &quot;Who Needs Handwriting&quot;, &quot;Should Everyone Be in a Rock Band&quot;, &quot;Am I Boring You&quot;, &quot;How To Win A Nobel Prize&quot;, &quot;How to Make a Smart TV Ad&quot;, &quot;How to Create Suspense&quot;, &quot;Aziz Ansari Needs Another Toothbrush&quot;], &quot;hoverinfo&quot;: &quot;text+name&quot;}, {&quot;type&quot;: &quot;scatter3d&quot;, &quot;x&quot;: [-0.058853972539733644, -0.02034880481326907, -0.0777404549483132, -0.016948639691284018, -0.005961622772350493, -0.06349973339576928, -0.04838125966999855, -0.05517428213176023, -0.08216077270072986, -0.06660594682802552, -0.006429541846243961, -0.1001109092404457, -0.03655840139462376, -0.13833210080905398, -0.12115766610999643, -0.0620144546646205, -0.030387304467567454, 0.043010887755922655, -0.007503639814295033, -0.16391253160280597, -0.030387304467567308, -0.0075036398142949495, -0.027885121710156977, -0.07266111209021327, -0.06713605700278691, 0.006778169148843575, -0.028147021649612178, -0.016232371251108803, -0.034677614207256756], &quot;y&quot;: [0.01922489723921162, -0.10348222353991228, -0.12551470533426873, 0.0160916439260765, -0.11003025381909805, 0.07116531059293481, -0.09893151024466992, -0.019508462265870788, 0.07811505483461748, 0.03180590971609517, 0.1797119441949689, 0.06849637320858927, -0.05718171132798476, 0.05706711872895686, -0.0018491413714280117, -0.14325979875262493, 0.07191020320724953, 0.14467376926349712, -0.05558271349512962, -0.060693694488550685, 0.07191020320724976, -0.05558271349512949, 0.03501576277887811, -0.06010753427579158, -0.055448151658811014, 0.24109485023027097, -0.08538414501189417, -0.058213158489901176, 0.10487107487070722], &quot;z&quot;: [0.0302098270163209, 0.11360210310370375, 0.12107114088998742, 0.10732893687940954, 0.11112229629422195, 0.21869853292546082, 0.10197964836611297, -0.01694737138945176, 0.2259086714875287, 0.12515667017143678, 0.1324258825664883, 0.2718250040794978, 0.07116548580067275, 0.14581520742339904, 0.07181895405473943, 0.048031922336843114, 0.197761917010588, 0.18242108091360404, 0.14732268760507722, 0.04327743082193061, 0.19776191701058796, 0.1473226876050772, 0.000586168462450985, -0.008517735457330628, 0.08052546824399406, 0.11679308080805573, 0.10077048149811879, 0.028987070667918183, 0.06535104460033181], &quot;mode&quot;: &quot;markers&quot;, &quot;marker&quot;: {&quot;size&quot;: 7, &quot;line&quot;: {&quot;width&quot;: 1}, &quot;color&quot;: 4, &quot;colorscale&quot;: &quot;Viridis&quot;, &quot;opacity&quot;: 0.8}, &quot;name&quot;: &quot;Transportation&amp;Ecology&quot;, &quot;text&quot;: [&quot;Could the Next Brooklyn Be \u2026 Las Vegas&quot;, &quot;How Efficient Is Energy Efficiency&quot;, &quot;Regulate This&quot;, &quot;The Perfect Crime&quot;, &quot;Why Are Japanese Homes Disposable&quot;, &quot;The Most Dangerous Machine&quot;, &quot;Why Bad Environmentalism Is Such an Easy Sell&quot;, &quot;Should Tipping Be Banned&quot;, &quot;Baby, You Can Program My Car&quot;, &quot;Parking Is Hell&quot;, &quot;How Did \u201cFreakonomics\u201d Get Its Name&quot;, &quot;Mass Transit Hysteria&quot;, &quot;The Cobra Effect&quot;, &quot;Please Steal My Car&quot;, &quot;Riding the Herd Mentality&quot;, &quot;How Stupid Is Our Obsession With Lawns&quot;, &quot;Where Have All the Hitchhikers Gone&quot;, &quot;Show and Yell&quot;, &quot;Hey, Baby, Is That a Prius You\u2019re Driving&quot;, &quot;Weird Recycling&quot;, &quot;Where Have All the Hitchhikers Gone&quot;, &quot;Hey Baby, Is That a Prius You\u2019re Driving&quot;, &quot;Why Can\u2019t We Predict Earthquakes&quot;, &quot;Why Cities Rock&quot;, &quot;Trashed&quot;, &quot;The Dangers of Safety&quot;, &quot;Why Uber Is an Economist\u2019s Dream&quot;, &quot;Confessions of a Pothole Politician&quot;, &quot;How Did the Belt Win&quot;], &quot;hoverinfo&quot;: &quot;text+name&quot;}, {&quot;type&quot;: &quot;scatter3d&quot;, &quot;x&quot;: [0.091575923864416, 0.0762934028975699, 0.12890350945083318, 0.05789232349353196, 0.06908277655013628, 0.08486539652735763, -0.010822243096462479, -0.014609123957872621, 0.08101534679713501, 0.09351206133019892, 0.11062506498277837, 0.04710248319108791, -0.026240610432614005, 0.08341367862693655, -0.0065522194130852715, 0.08127743152511875, 0.019153929594515482, 0.11062506498277855, 0.10319954350013197, 0.15257757074109354, 0.14913011417478111, 0.10388651583306946, 0.10984026399830984, 0.050670265493556056, 0.14108702016963978, 0.12668666265159814, 0.1579178746052243, -0.01117852708322567, 0.12477651219109714], &quot;y&quot;: [-0.16919395587070452, -0.1408673720568674, -0.3096833276715827, -0.13318515823688992, -0.02797369318146949, -0.08344604336709631, 0.08516609473854021, -0.08568517543477454, -0.1736625397818425, -0.11451831866896808, -0.1285327714262227, -0.0513745320122958, 0.026053411012948797, 0.002619687870845192, -0.03432248913373777, -0.004706850697224962, -0.07221490611328286, -0.12853277142622271, -0.23307520789072217, -0.30900056480572724, -0.22044793772671192, -0.21368066659695498, -0.03221685006469083, -0.12535325079094214, -0.23616106878618084, -0.2347102002580458, -0.10043371882666403, 0.054536263124224243, -0.2624886184182533], &quot;z&quot;: [-0.058685510697973425, -0.006537000534172354, 0.13502827891913544, 0.16705885411325708, -0.040767107566729105, 0.004761007316748712, 0.11764199435237323, 0.06242780590285108, 0.16906749592363834, 0.2746546339261495, 0.26234133827642087, 0.25055956540201485, 0.0686990785729981, -0.08068116654236519, 0.08806621480809196, 0.0695488718139741, -0.02171066082437071, 0.262341338276421, 0.20455381720589683, 0.141152788159827, 0.14412195396415858, 0.09291597420792067, -0.10710652798134701, 0.017833662654640675, -0.03274211569519097, 0.08378141475529473, -0.06471695683447055, 0.03326386705846272, 0.07363985568615433], &quot;mode&quot;: &quot;markers&quot;, &quot;marker&quot;: {&quot;size&quot;: 7, &quot;line&quot;: {&quot;width&quot;: 1}, &quot;color&quot;: 5, &quot;colorscale&quot;: &quot;Viridis&quot;, &quot;opacity&quot;: 0.8}, &quot;name&quot;: &quot;Politics&quot;, &quot;text&quot;: [&quot;Hacking the World Bank&quot;, &quot;Is There a Better Way to Fight Terrorism&quot;, &quot;Should the U S  Merge With Mexico&quot;, &quot;\u201cIf Mayors Ruled the World\u201d&quot;, &quot;Who Are the Most Successful Immigrants in the World&quot;, &quot;How to Think About Guns&quot;, &quot;Sure, I Remember That&quot;, &quot;We the Sheeple&quot;, &quot;Star-Spangled Banter&quot;, &quot;The Power of the President \u2014 and the Thumb&quot;, &quot;How Much Does the President Really Matter&quot;, &quot;It\u2019s Not the President, Stupid&quot;, &quot;How Biased Is Your Media&quot;, &quot;How Big is My Penis (And Other Things We Ask Google)&quot;, &quot;The Decline and Fall of Violence&quot;, &quot;The Folly of Prediction&quot;, &quot;Gambling With Your Life&quot;, &quot;How Much Does the President of the U S  Really Matter&quot;, &quot;Has the U S  Presidency Become a Dictatorship&quot;, &quot;Ten Signs You Might Be a Libertarian&quot;, &quot;Ten Ideas to Make Politics Less Rotten&quot;, &quot;Are Payday Loans Really as Evil as People Say&quot;, &quot;The United States of Cory Booker&quot;, &quot;Do Boycotts Work&quot;, &quot;Is Migration a Basic Human Right&quot;, &quot;Ben Bernanke Gives Himself a Grade&quot;, &quot;Meet the Woman Who Said Women Can\u2019t Have It All&quot;, &quot;Why Do We Really Follow the News&quot;, &quot;Why Larry Summers Is the Economist Everyone Hates to Love&quot;], &quot;hoverinfo&quot;: &quot;text+name&quot;}, {&quot;type&quot;: &quot;scatter3d&quot;, &quot;x&quot;: [0.1672360508908037, 0.1801468198099062, 0.10590569870781438, 0.1258567297281472, 0.041117393844282216, 0.12092818117515584, 0.11277024663259108, 0.09833830424266668, -0.08061117543062633, 0.05542316519582851, 0.14650281902153572, 0.07625889922004384, 0.12294558375103307, 0.09107662866649258, -0.029764005235193538, 0.008399346916698525, 0.12060897182479227, 0.08530356313277056, 0.10127437062350131, 0.09413624550498853, 0.07960160974922643, 0.053503401461299574, 0.024426544973745887, 0.009120452386333305, 0.10878476871113411, 0.10443927047211471, 0.10973018644055024, 0.14345552796608466, 0.08340084602084538, 0.005910220551295074, 0.14650565553456368, 0.1403512042490606, 0.1189957755683859], &quot;y&quot;: [-0.046316280540890015, -0.013422133561555938, -0.027142372632000644, -0.07094655186090358, 0.16862527272330707, 0.06779147855721614, -0.018072245377918923, -0.041383194026096796, 0.04840510738984642, 0.08164989055947025, 0.01971378093270232, 0.06295616250856718, -0.018084670045354825, 0.06629557342655493, 0.0751019552710332, 0.07289357899474141, -0.008739722414307444, 0.16913238504860623, 0.1285474698485123, -0.016544413557843033, 0.12461796675860437, 0.056023375277938374, 0.200410950062489, 0.11679853066310134, 0.11080836869020659, -0.09159932025806597, 0.005378567259348328, -0.0982426867668208, 0.03669249389280833, 0.09937127450001751, 0.14674236627962914, 0.07316740872564839, 0.07933132604670393], &quot;z&quot;: [-0.2965888648413201, -0.31709492187063565, -0.25311968783795874, -0.1040891141453939, -0.14979348365709322, -0.19225319910086217, -0.18743167867741542, -0.03553851598523708, -0.004009062280387644, -0.20331606262604443, -0.3553139739811039, -0.18898096521065666, -0.32663821490935613, -0.25230934888058193, 0.03957128842177606, 0.07629954640036045, -0.1857070901156723, -0.1936905703029855, -0.2564355192515121, -0.2215276316086837, -0.32946263387859276, -0.07008073636932585, -0.138844887326698, -0.09510248078204026, -0.3562945573668487, -0.14577612943091448, -0.1283777973136575, -0.23514100487223413, -0.0648736864281699, -0.2655033087718313, -0.4242232534107971, -0.1333350893283844, -0.27763467927453894], &quot;mode&quot;: &quot;markers&quot;, &quot;marker&quot;: {&quot;size&quot;: 7, &quot;line&quot;: {&quot;width&quot;: 1}, &quot;color&quot;: 6, &quot;colorscale&quot;: &quot;Viridis&quot;, &quot;opacity&quot;: 0.8}, &quot;name&quot;: &quot;Family&amp;Education&quot;, &quot;text&quot;: [&quot;How to Fix a Broken High Schooler, in Four Easy Steps&quot;, &quot;Is America\u2019s Education Problem Really Just a Teacher Problem&quot;, &quot;Why Do People Keep Having Children&quot;, &quot;Does Religion Make You Happy&quot;, &quot;Think Like a Child&quot;, &quot;Is Learning a Foreign Language Really Worth It&quot;, &quot;Are Gay Men Really Rich&quot;, &quot;Would a Big Bucket of Cash Really Change Your Life&quot;, &quot;The Middle of Everywhere&quot;, &quot;Do Baby Girls Cause Divorce&quot;, &quot;When Helping Hurts&quot;, &quot;Do You Really Want to Know Your Future&quot;, &quot;The Fracking Boom, a Baby Boom, and the Retreat From Marriage&quot;, &quot;How Much Does Your Name Matter&quot;, &quot;The House of Dreams&quot;, &quot;How to Maximize Your Halloween Candy Haul&quot;, &quot;Freakonomics Goes to College, Part 2&quot;, &quot;What\u2019s Wrong With Cash for Grades&quot;, &quot;How Is a Bad Radio Station Like Our Public-School System (Encore)&quot;, &quot;Misadventures in Baby-Making&quot;, &quot;The Economist\u2019s Guide to Parenting&quot;, &quot;The Church of \u201cScionology\u201d&quot;, &quot;Things Our Fathers Gave Us&quot;, &quot;Growing Up Buffett&quot;, &quot;Smarter Kids at 10 Bucks a Pop&quot;, &quot;The Health of Nations&quot;, &quot;Exit Interview  Schools Chancellor, NYC&quot;, &quot;Is the American Dream Really Dead&quot;, &quot;Trevor Noah Has a Lot to Say&quot;, &quot;Ask Not What Your Podcast Can Do for You&quot;, &quot;Does \u201cEarly Education\u201d Come Way Too Late&quot;, &quot;Should Kids Pay Back Their Parents for Raising Them&quot;, &quot;Preventing Crime for Pennies on the Dollar&quot;], &quot;hoverinfo&quot;: &quot;text+name&quot;}, {&quot;type&quot;: &quot;scatter3d&quot;, &quot;x&quot;: [0.07527737714796708, 0.06625980652515322, 0.022104990986338294, 0.07263804985979913, 0.02374914395416759, 0.06561029328801378, 0.07242895635869008, -0.09071002606911052, 0.07242895635869016, 0.09635187051745753, 0.059774226154891634, 0.013491488452439497, 0.02003014715366527, 0.0753221257794833], &quot;y&quot;: [-0.08720039264336447, -0.10504554590695998, -0.024082555012879404, 0.05586373638081233, -0.045608776473945754, 0.06679455423972891, -0.060303414337658755, -0.014895640995697897, -0.06030341433765855, -0.2065570112110842, -0.13194943132421943, -0.07366642845094362, -0.07382569546960809, -0.09658626499834198], &quot;z&quot;: [-0.23608027875813936, -0.22903011673327495, -0.15192241543951993, -0.30294255736251824, -0.056868861299145035, -0.06643885914045908, -0.06532600267160284, -0.13829461018083153, -0.0653260026716028, -0.20036607898187245, -0.23201839878524438, -0.18907674904076216, -0.28491499887919874, -0.15309965989203364], &quot;mode&quot;: &quot;markers&quot;, &quot;marker&quot;: {&quot;size&quot;: 7, &quot;line&quot;: {&quot;width&quot;: 1}, &quot;color&quot;: 7, &quot;colorscale&quot;: &quot;Viridis&quot;, &quot;opacity&quot;: 0.8}, &quot;name&quot;: &quot;Healthcare&quot;, &quot;text&quot;: [&quot;How Many Doctors Does It Take to Start a Healthcare Revolution&quot;, &quot;How Do We Know What Really Works in Healthcare&quot;, &quot;This Idea Must Die&quot;, &quot;Outsiders by Design&quot;, &quot;What\u2019s More Dangerous  Marijuana or Alcohol&quot;, &quot;Are We Ready to Legalize Drugs And Other FREAK-quently Asked Questions&quot;, &quot;Does College Still Matter And Other Freaky Questions Answered\u2026&quot;, &quot;The Power of Poop&quot;, &quot;Freakonomics FAQ, No  1&quot;, &quot;Nurses to the Rescue&quot;, &quot;Bad Medicine, Part 3  Death by Diagnosis&quot;, &quot;Bad Medicine, Part 2  (Drug) Trials and Tribulations&quot;, &quot;Bad Medicine, Part 1  The Story of 98 6&quot;, &quot;Are You Ready for a Glorious Sunset&quot;], &quot;hoverinfo&quot;: &quot;text+name&quot;}, {&quot;type&quot;: &quot;scatter3d&quot;, &quot;x&quot;: [-0.36993588058202326, -0.24530021740470856, -0.2938159959925265, -0.48668812689059865, -0.5079308746718649, -0.3224461751890165, -0.6284731353990208, -0.797842040601544, -0.25984444635601633, -0.512975533066686, -0.6845496137499311, -0.7547816652088362, -0.3505107312420678, -0.2446746298183957, -0.6425176664232092, -0.3855684063106466, -0.2446746298183954, -0.7547816652088362, -0.6845496137499315, -0.25118849361451173, -0.25098540608478626, -0.36449194392582474, -0.3984445758512438, -0.6612913508862539], &quot;y&quot;: [-0.013769445794564199, -0.055487828529914685, 0.06347696780284127, -0.06196268046918625, -0.08362458123467972, 0.012667038847884478, -0.19323673632967034, -0.18519612522898563, 0.03139242022904089, -0.018566308909130656, -0.06963363547608493, -0.16756750691190378, 0.040756480779333276, 0.09640093682785003, -0.20912087386794215, -0.18838987697151743, 0.09640093682785021, -0.1675675069119041, -0.06963363547608478, -0.14388966255439156, -0.06265569828525387, -0.16951791914972245, -0.024713915191004437, -0.12196019270573524], &quot;z&quot;: [0.033034509544137385, -0.2631100496041343, -0.019987714154840602, 0.045545419322507774, 0.061898663288150996, 0.04398790379350491, -0.0334010695826847, -0.044951023779495704, 0.08718134061591896, -0.0686106300892018, -0.06848010736524182, -0.07340385610035455, 0.03903438517039117, 0.04207983234581259, -0.04001867920374616, -0.19481733070803217, 0.04207983234581249, -0.07340385610035448, -0.06848010736524196, -0.2109333548743721, 0.05567659301112565, -0.21077761380361468, -0.08924322051742614, -0.21516260347662336], &quot;mode&quot;: &quot;markers&quot;, &quot;marker&quot;: {&quot;size&quot;: 7, &quot;line&quot;: {&quot;width&quot;: 1}, &quot;color&quot;: 8, &quot;colorscale&quot;: &quot;Viridis&quot;, &quot;opacity&quot;: 0.8}, &quot;name&quot;: &quot;Food&quot;, &quot;text&quot;: [&quot;Is It Okay for Restaurants to Racially Profile Their Employees&quot;, &quot;Why You Should Bribe Your Kids&quot;, &quot;A Better Way to Eat&quot;, &quot;There\u2019s No Such Thing as a Free Appetizer&quot;, &quot;A Burger a Day&quot;, &quot;The Tale of the $15 Tomato&quot;, &quot;You Eat What You Are, Part 2&quot;, &quot;You Eat What You Are, Part 1&quot;, &quot;A Rose By Any Other Distance&quot;, &quot;Eating and Tweeting&quot;, &quot;Waiter, There\u2019s a Physicist in My Soup, Part 1&quot;, &quot;Waiter, There\u2019s a Physicist in My Soup, Part 2&quot;, &quot;The Days of Wine and Mouses&quot;, &quot;A Mouse in the Salad&quot;, &quot;How American Food Got So Bad&quot;, &quot;There\u2019s A War On Sugar  Is It Justified&quot;, &quot;Mouse in the Salad&quot;, &quot;Waiter, There\u2019s a Physicist in My Soup (Part 2)&quot;, &quot;Waiter, There\u2019s a Physicist in My Soup (Pt  1)&quot;, &quot;Is America\u2019s Obesity Epidemic For Real&quot;, &quot;The No-Tipping Point&quot;, &quot;The Demonization of Gluten&quot;, &quot;The Cheeseburger Diet&quot;, &quot;Food + Science = Victory&quot;], &quot;hoverinfo&quot;: &quot;text+name&quot;}, {&quot;type&quot;: &quot;scatter3d&quot;, &quot;x&quot;: [0.11577164641253586, 0.034085941723677855, -0.00814062117204079, 0.07137617313534138, 0.04068959007579835, 0.048570063739661946, 0.07790731672780285, 0.11106396317500022, -0.05924645343754491, 0.04499370495762829, -0.035060371912584015, 0.0684347909488231, -0.016756057745425323, 0.1446644935481088, 0.03450721354313179, 0.1521569030490044, -0.02812077524242306, -0.04930969599071603, 0.06522938569591996, 0.11412056193172401, 0.1758750105199466, -0.024864593654197548, 0.14540936110619293, 0.127860379850891, 0.08947156542401734, 0.11257047062409771, 0.08097241643753723, 0.0233435169941168, 0.07352479351446478, 0.07630524076201751, 0.1319266109442613, 0.1573008227771618, 0.055806684249806136, -0.021802868288418153, 0.03919434356238843, 0.06031740553958521, 0.09716812922847315, -0.013646723662557736, 0.019947183982626827, 0.07464492752640892, 0.11764642175501376], &quot;y&quot;: [-0.11659308530401338, 0.018176231849973662, -0.11344196956320213, -0.043419609258031365, 0.0882888397179408, -0.05966585344973482, -0.21477775635607013, -0.1855370574741785, 0.06551294596630554, -0.006989333395022503, 0.07766376606592712, -0.14483525333381625, -0.11522588168756993, -0.24616982513125682, -0.11271639581633122, -0.16824274807323192, -0.0313468511891081, -0.044041631140838824, -0.1942526063786605, -0.1547112537293521, 0.017065754937165344, -0.01269149857261851, -0.25517564092718986, -0.25446519662022726, -0.03233172027305683, -0.13042383840883526, -0.14658253657236145, -0.12273161714266928, -0.27977166029891004, -0.07345342652620941, -0.1259010986114426, -0.06935189954669307, -0.21083607574600452, 0.05805158605212512, -0.05549681924325169, -0.05133984553624161, -0.19561638388780628, -0.1524740932769295, -0.07551167100548427, -0.2708381305706647, -0.061100453755806944], &quot;z&quot;: [-0.008760335142722323, -0.11537118108119666, -0.025508229443401895, -0.16463884949407356, 0.09432380688505324, -0.1666372614099773, 0.15112916227714257, -0.02891191132029551, 0.03623841562751037, 0.11857254823148358, 0.030850580813493872, 0.18595030665133663, 0.2752720785935116, 0.06154044079376443, -0.037203895806093325, -0.007374461067994273, 0.0870789714131229, -0.1791120523616496, 0.09805200456535057, 0.022640864270065172, 0.060527872539425966, 0.14821710883463157, -0.0632461923889613, -0.060787355575469736, -0.05788748509203336, 0.08838147828512462, 0.08718248143670512, -0.1158784716083249, 0.015612504959258753, -0.11260828896534965, -0.07916936953819653, 0.04182419644691072, 0.012397308741966774, -0.015362893354519097, -0.03720280904763811, 0.020804200718129297, -0.11363304924037725, -0.032621560070259924, -0.05882473391724967, 0.05623307721089233, -0.12699317708271865], &quot;mode&quot;: &quot;markers&quot;, &quot;marker&quot;: {&quot;size&quot;: 7, &quot;line&quot;: {&quot;width&quot;: 1}, &quot;color&quot;: 9, &quot;colorscale&quot;: &quot;Viridis&quot;, &quot;opacity&quot;: 0.8}, &quot;name&quot;: &quot;Government&quot;, &quot;text&quot;: [&quot;Making Sex Offenders Pay \u2014 and Pay and Pay and Pay&quot;, &quot;recoded 10 BONUS EPISODE  Why Learn Esperanto&quot;, &quot;How Safe Is Your Job&quot;, &quot;recoded 11 What Would Be the Best Universal Language (Earth 2 0 Series)&quot;, &quot;Tell Me Something I Don\u2019t Know&quot;, &quot;recoded 12 Why Don\u2019t We All Speak the Same Language (Earth 2 0 Series)&quot;, &quot;How Can Tiny Norway Afford to Buy So Many Teslas&quot;, &quot;Pontiff-icating on the Free-Market System&quot;, &quot;These Shoes Are Killing Me&quot;, &quot;Government Employees Gone Wild&quot;, &quot;Running to Do Evil&quot;, &quot;The Tax Man Nudgeth&quot;, &quot;The Downside of More Miles Per Gallon&quot;, &quot;BONUS EPISODE  Why Hate the Koch Brothers (Part 2)&quot;, &quot;Are We Running Out of Ideas&quot;, &quot;Why Hate the Koch Brothers (Part 1)&quot;, &quot;Why America\u2019s Economic Growth May Be (Shh) Over&quot;, &quot;Evolution, Accelerated&quot;, &quot;How Deep Is the Shadow Economy&quot;, &quot;He\u2019s One of the Most Famous Political Operatives in America  America Just Doesn\u2019t Know It Yet&quot;, &quot;Hoopers Hoopers Hoopers&quot;, &quot;Wildfires, Cops, and Keggers&quot;, &quot;Is Income Inequality Inevitable (Earth 2 0 Series)&quot;, &quot;What Would Our Economy Look Like (Earth 2 0 Series)&quot;, &quot;Big Returns from Thinking Small&quot;, &quot;What Would the World Look Like if Economists Were in Charge&quot;, &quot;No Hollywood Ending for the Visual-Effects Industry&quot;, &quot;Professor Hendryx vs  Big Coal&quot;, &quot;Did China Eat America\u2019s Jobs&quot;, &quot;Trust Me&quot;, &quot;The White House Gets Into the Nudge Business&quot;, &quot;In Praise of Incrementalism&quot;, &quot;In Praise of Maintenance&quot;, &quot;The Future (Probably) Isn\u2019t as Scary as You Think&quot;, &quot;Is the Internet Being Ruined&quot;, &quot;Thinking Is Expensive  Who\u2019s Supposed to Pay for It&quot;, &quot;Is the World Ready for a Guaranteed Basic Income&quot;, &quot;Yes, the American Economy Is in a Funk \u2014 But Not for the Reasons You Think&quot;, &quot;How Can This Possibly Be True&quot;, &quot;What Are the Secrets of the German Economy \u2014 and Should We Steal Them&quot;, &quot;\u201cI Don\u2019t Know What You\u2019ve Done With My Husband But He\u2019s a Changed Man\u201d&quot;], &quot;hoverinfo&quot;: &quot;text+name&quot;}], {&quot;title&quot;: &quot;3D Representation of our topics and podcasts using PCA&quot;, &quot;hovermode&quot;: &quot;closest&quot;, &quot;showlegend&quot;: true}, {&quot;showLink&quot;: true, &quot;linkText&quot;: &quot;Export to plot.ly&quot;})});&lt;/script&gt;
&lt;/div&gt;

&lt;/div&gt;

&lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;
&lt;div class=&quot;cell border-box-sizing text_cell rendered&quot;&gt;&lt;div class=&quot;prompt input_prompt&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;inner_cell&quot;&gt;
&lt;div class=&quot;text_cell_render border-box-sizing rendered_html&quot;&gt;
&lt;h4 id=&quot;Remarks&quot;&gt;Remarks&lt;a class=&quot;anchor-link&quot; href=&quot;#Remarks&quot;&gt;&amp;#182;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;This representation is a bit more spread out and shows an interesting distribution of the datapoints.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;The &quot;nose&quot; that contains all the food-related podcasts spreads far away from the rest. It shows that they are the podcasts with the highest dissimilarity from the other podcasts.&lt;/li&gt;
&lt;li&gt;The denser part of the representation takes a triangle from with at each of its tips a different topic : &lt;ul&gt;
&lt;li&gt;Family&amp;amp;Education&lt;/li&gt;
&lt;li&gt;Games&amp;amp;Sports&lt;/li&gt;
&lt;li&gt;Personnal Finance&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;The &quot;Freakonomics&amp;amp;Misc.&quot; category is more centered than it was before, and spreads to &quot;Family&amp;amp;Education&quot; and &quot;Games&amp;amp;Sports&quot;, suggesting an actual mixed membership that we can't compute using K-Means.&lt;/li&gt;
&lt;li&gt;It is interesting to observe the closest points in two different clusters. For example, the closest points between the &quot;Food&quot; cluster and the &quot;Healthcare&quot; cluster is named &quot;The Power of Poop&quot;, I'll let you think on that...&lt;/li&gt;
&lt;/ol&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;cell border-box-sizing text_cell rendered&quot;&gt;&lt;div class=&quot;prompt input_prompt&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;inner_cell&quot;&gt;
&lt;div class=&quot;text_cell_render border-box-sizing rendered_html&quot;&gt;
&lt;h4 id=&quot;Topic-Distribution&quot;&gt;Topic Distribution&lt;a class=&quot;anchor-link&quot; href=&quot;#Topic-Distribution&quot;&gt;&amp;#182;&lt;/a&gt;&lt;/h4&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;cell border-box-sizing code_cell rendered&quot;&gt;
&lt;div class=&quot;input&quot;&gt;
&lt;div class=&quot;prompt input_prompt&quot;&gt;In&amp;nbsp;[77]:&lt;/div&gt;
&lt;div class=&quot;inner_cell&quot;&gt;
    &lt;div class=&quot;input_area&quot;&gt;
&lt;div class=&quot; highlight hl-ipython3&quot;&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;sizes&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;nb&quot;&gt;list&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;df&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;label&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;value_counts&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;sort_index&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;values&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;

&lt;span class=&quot;n&quot;&gt;fig1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;ax1&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;plt&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;subplots&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;ax1&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;pie&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;sizes&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;labels&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;cluster_names&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;values&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(),&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;autopct&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;&lt;/span&gt;&lt;span class=&quot;si&quot;&gt;%1.1f%%&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;
        &lt;span class=&quot;n&quot;&gt;shadow&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;kc&quot;&gt;True&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;startangle&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;90&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;ax1&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;axis&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;equal&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;  &lt;span class=&quot;c1&quot;&gt;# Equal aspect ratio ensures that pie is drawn as a circle.&lt;/span&gt;

&lt;span class=&quot;n&quot;&gt;plt&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;show&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;div class=&quot;output_wrapper&quot;&gt;
&lt;div class=&quot;output&quot;&gt;


&lt;div class=&quot;output_area&quot;&gt;

&lt;div class=&quot;prompt&quot;&gt;&lt;/div&gt;




&lt;div class=&quot;output_png output_subarea &quot;&gt;
&lt;img src=&quot;data:image/png;base64,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
YII=
&quot;
&gt;
&lt;/div&gt;

&lt;/div&gt;

&lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;
&lt;div class=&quot;cell border-box-sizing text_cell rendered&quot;&gt;&lt;div class=&quot;prompt input_prompt&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;inner_cell&quot;&gt;
&lt;div class=&quot;text_cell_render border-box-sizing rendered_html&quot;&gt;
&lt;p&gt;Considering that the category &quot;Freakonomics&amp;amp;Misc&quot; represents almost a quarter of our pie chart, this can't be considered a great representation for the distribution.&lt;br&gt;
Just like previously, there are a few solutions to improve the result :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Increase the number of clusters&lt;/li&gt;
&lt;li&gt;Find the optimal number of clusters using silhouette or the elbow method with WCSS&lt;/li&gt;
&lt;li&gt;Maybe playing with different definitions of distance and see the output&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Some things still stand out though :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Family&amp;amp;Education is still a strong topic&lt;/li&gt;
&lt;li&gt;So is Government and Politics&lt;/li&gt;
&lt;li&gt;Food is sensibly the same, and considering the distance of the Food cluster relative to the other, we can assume that the podcasts with the Food topic use a very different vocabulary than the podcasts covering other topics.&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;cell border-box-sizing text_cell rendered&quot;&gt;&lt;div class=&quot;prompt input_prompt&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;inner_cell&quot;&gt;
&lt;div class=&quot;text_cell_render border-box-sizing rendered_html&quot;&gt;
&lt;h3 id=&quot;Hierarchical-Clustering&quot;&gt;Hierarchical Clustering&lt;a class=&quot;anchor-link&quot; href=&quot;#Hierarchical-Clustering&quot;&gt;&amp;#182;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Much like K-Means, our HC algorithm groups documents depending on their similarity. Unlike K-Means though, this time we are using cosine distance that we got from computing cosine similarity between documents thanks to the tf-idf matrix.
Here is a simplified way of understanding how the ward-HC works :&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Find the two nearest points in the dataset&lt;/li&gt;
&lt;li&gt;Assign them to one cluster&lt;/li&gt;
&lt;li&gt;Compute the centroid ( average of the distances between points )&lt;/li&gt;
&lt;li&gt;Use centroid for future nearest distance computations&lt;/li&gt;
&lt;li&gt;Repeat until all points are assigned to a cluster.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;This process gives us the tree-like representation that we call a &lt;strong&gt;dendogram&lt;/strong&gt;, it's nicer an easier to understand than K-means and the dimensionality reduction steps we had to do to visualize our clusters.&lt;/p&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;cell border-box-sizing code_cell rendered&quot;&gt;
&lt;div class=&quot;input&quot;&gt;
&lt;div class=&quot;prompt input_prompt&quot;&gt;In&amp;nbsp;[43]:&lt;/div&gt;
&lt;div class=&quot;inner_cell&quot;&gt;
    &lt;div class=&quot;input_area&quot;&gt;
&lt;div class=&quot; highlight hl-ipython3&quot;&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class=&quot;kn&quot;&gt;from&lt;/span&gt; &lt;span class=&quot;nn&quot;&gt;scipy.cluster.hierarchy&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;ward&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;dendrogram&lt;/span&gt;

&lt;span class=&quot;n&quot;&gt;linkage_matrix&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;ward&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;dist&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;c1&quot;&gt;#define the linkage_matrix using ward clustering pre-computed distances&lt;/span&gt;

&lt;span class=&quot;n&quot;&gt;fig&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;ax&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;plt&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;subplots&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;figsize&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;15&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;30&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;))&lt;/span&gt; &lt;span class=&quot;c1&quot;&gt;# set size&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;ax&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;dendrogram&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;linkage_matrix&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;orientation&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&amp;quot;right&amp;quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;labels&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;title_list&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
&lt;span class=&quot;c1&quot;&gt;#ax.tick_params(axis=&amp;#39;x&amp;#39;, which=&amp;#39;major&amp;#39;, labelsize=15)&lt;/span&gt;

&lt;span class=&quot;n&quot;&gt;plt&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;tick_params&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;\
    &lt;span class=&quot;n&quot;&gt;axis&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;s1&quot;&gt;&amp;#39;x&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;          &lt;span class=&quot;c1&quot;&gt;# changes apply to the x-axis&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;which&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;both&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;      &lt;span class=&quot;c1&quot;&gt;# both major and minor ticks are affected&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;bottom&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;off&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;      &lt;span class=&quot;c1&quot;&gt;# ticks along the bottom edge are off&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;top&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;off&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;         &lt;span class=&quot;c1&quot;&gt;# ticks along the top edge are off&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;labelbottom&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;off&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;

&lt;span class=&quot;n&quot;&gt;plt&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;tick_params&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;\
    &lt;span class=&quot;n&quot;&gt;axis&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;s1&quot;&gt;&amp;#39;y&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;labelsize&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;8&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;          &lt;span class=&quot;c1&quot;&gt;# changes apply to the y-axis&lt;/span&gt;

&lt;span class=&quot;n&quot;&gt;plt&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;tight_layout&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt; &lt;span class=&quot;c1&quot;&gt;#show plot with tight layout&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;plt&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;show&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;div class=&quot;output_wrapper&quot;&gt;
&lt;div class=&quot;output&quot;&gt;


&lt;div class=&quot;output_area&quot;&gt;

&lt;div class=&quot;prompt&quot;&gt;&lt;/div&gt;




&lt;div class=&quot;output_png output_subarea &quot;&gt;
&lt;img src=&quot;data:image/png;base64,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
MzOzHu//Ab+fetb7UoviAAAAAElFTkSuQmCC
&quot;
&gt;
&lt;/div&gt;

&lt;/div&gt;

&lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;
&lt;div class=&quot;cell border-box-sizing text_cell rendered&quot;&gt;&lt;div class=&quot;prompt input_prompt&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;inner_cell&quot;&gt;
&lt;div class=&quot;text_cell_render border-box-sizing rendered_html&quot;&gt;
&lt;h2 id=&quot;Conclusion&quot;&gt;Conclusion&lt;a class=&quot;anchor-link&quot; href=&quot;#Conclusion&quot;&gt;&amp;#182;&lt;/a&gt;&lt;/h2&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;cell border-box-sizing text_cell rendered&quot;&gt;&lt;div class=&quot;prompt input_prompt&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;inner_cell&quot;&gt;
&lt;div class=&quot;text_cell_render border-box-sizing rendered_html&quot;&gt;
&lt;p&gt;S.Dubner and S.Levitt do a magnificent job at discovering the hidden side of &lt;em&gt;everything&lt;/em&gt;. Using three different techniques to classify the textual data from their podcast we got access to a few representations allowing us to visualize the distribution of these topics and in some cases even allowing us to explore a 3D space of podcasts, pretty sci-fi if you ask me...&lt;br&gt;
Now, some of the topics were hard to understand or hard to interpret, I have included a few different options to improve these results in a posterior notebook.&lt;br&gt;
We know how they &lt;em&gt;Think&lt;/em&gt; and now we also know what do they talk &lt;em&gt;about&lt;/em&gt;. When it comes to how to &lt;em&gt;Speak Like A Freak&lt;/em&gt; I am currently working on a Freakonomics Podcast text generator that will certainly give interesting results.&lt;/p&gt;
&lt;p&gt;I hope you had a good read, I learned a lot while writing this notebook and I hope you can take somehting from it as well !&lt;/p&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/body&gt;

 


&lt;/html&gt;</content><author><name></name></author><summary type="html">Using topic modelling to visualize and discover the hidden side of the podcast that reveals the hidden side of everything</summary></entry><entry><title type="html">Cardiotocography under a microscope</title><link href="https://nathancohenil.github.io/Cardiotocography/" rel="alternate" type="text/html" title="Cardiotocography under a microscope" /><published>2017-10-29T00:00:00+00:00</published><updated>2017-10-29T00:00:00+00:00</updated><id>https://nathancohenil.github.io/Cardiotocography</id><content type="html" xml:base="https://nathancohenil.github.io/Cardiotocography/">&lt;html&gt;
&lt;head&gt;&lt;meta charset=&quot;utf-8&quot; /&gt;
&lt;title&gt;cardiotocography&lt;/title&gt;&lt;script src=&quot;https://cdnjs.cloudflare.com/ajax/libs/require.js/2.1.10/require.min.js&quot;&gt;&lt;/script&gt;
&lt;script src=&quot;https://cdnjs.cloudflare.com/ajax/libs/jquery/2.0.3/jquery.min.js&quot;&gt;&lt;/script&gt;

&lt;style type=&quot;text/css&quot;&gt;
    /*!
*
* Twitter Bootstrap
*
*/
/*!
 * Bootstrap v3.3.7 (http://getbootstrap.com)
 * Copyright 2011-2016 Twitter, Inc.
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
 */
/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */
html {
  font-family: sans-serif;
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
}
body {
  margin: 0;
}
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
menu,
nav,
section,
summary {
  display: block;
}
audio,
canvas,
progress,
video {
  display: inline-block;
  vertical-align: baseline;
}
audio:not([controls]) {
  display: none;
  height: 0;
}
[hidden],
template {
  display: none;
}
a {
  background-color: transparent;
}
a:active,
a:hover {
  outline: 0;
}
abbr[title] {
  border-bottom: 1px dotted;
}
b,
strong {
  font-weight: bold;
}
dfn {
  font-style: italic;
}
h1 {
  font-size: 2em;
  margin: 0.67em 0;
}
mark {
  background: #ff0;
  color: #000;
}
small {
  font-size: 80%;
}
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}
sup {
  top: -0.5em;
}
sub {
  bottom: -0.25em;
}
img {
  border: 0;
}
svg:not(:root) {
  overflow: hidden;
}
figure {
  margin: 1em 40px;
}
hr {
  box-sizing: content-box;
  height: 0;
}
pre {
  overflow: auto;
}
code,
kbd,
pre,
samp {
  font-family: monospace, monospace;
  font-size: 1em;
}
button,
input,
optgroup,
select,
textarea {
  color: inherit;
  font: inherit;
  margin: 0;
}
button {
  overflow: visible;
}
button,
select {
  text-transform: none;
}
button,
html input[type=&quot;button&quot;],
input[type=&quot;reset&quot;],
input[type=&quot;submit&quot;] {
  -webkit-appearance: button;
  cursor: pointer;
}
button[disabled],
html input[disabled] {
  cursor: default;
}
button::-moz-focus-inner,
input::-moz-focus-inner {
  border: 0;
  padding: 0;
}
input {
  line-height: normal;
}
input[type=&quot;checkbox&quot;],
input[type=&quot;radio&quot;] {
  box-sizing: border-box;
  padding: 0;
}
input[type=&quot;number&quot;]::-webkit-inner-spin-button,
input[type=&quot;number&quot;]::-webkit-outer-spin-button {
  height: auto;
}
input[type=&quot;search&quot;] {
  -webkit-appearance: textfield;
  box-sizing: content-box;
}
input[type=&quot;search&quot;]::-webkit-search-cancel-button,
input[type=&quot;search&quot;]::-webkit-search-decoration {
  -webkit-appearance: none;
}
fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em;
}
legend {
  border: 0;
  padding: 0;
}
textarea {
  overflow: auto;
}
optgroup {
  font-weight: bold;
}
table {
  border-collapse: collapse;
  border-spacing: 0;
}
td,
th {
  padding: 0;
}
/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */
@media print {
  *,
  *:before,
  *:after {
    background: transparent !important;
    color: #000 !important;
    box-shadow: none !important;
    text-shadow: none !important;
  }
  a,
  a:visited {
    text-decoration: underline;
  }
  a[href]:after {
    content: &quot; (&quot; attr(href) &quot;)&quot;;
  }
  abbr[title]:after {
    content: &quot; (&quot; attr(title) &quot;)&quot;;
  }
  a[href^=&quot;#&quot;]:after,
  a[href^=&quot;javascript:&quot;]:after {
    content: &quot;&quot;;
  }
  pre,
  blockquote {
    border: 1px solid #999;
    page-break-inside: avoid;
  }
  thead {
    display: table-header-group;
  }
  tr,
  img {
    page-break-inside: avoid;
  }
  img {
    max-width: 100% !important;
  }
  p,
  h2,
  h3 {
    orphans: 3;
    widows: 3;
  }
  h2,
  h3 {
    page-break-after: avoid;
  }
  .navbar {
    display: none;
  }
  .btn &gt; .caret,
  .dropup &gt; .btn &gt; .caret {
    border-top-color: #000 !important;
  }
  .label {
    border: 1px solid #000;
  }
  .table {
    border-collapse: collapse !important;
  }
  .table td,
  .table th {
    background-color: #fff !important;
  }
  .table-bordered th,
  .table-bordered td {
    border: 1px solid #ddd !important;
  }
}
@font-face {
  font-family: 'Glyphicons Halflings';
  src: url('../components/bootstrap/fonts/glyphicons-halflings-regular.eot');
  src: url('../components/bootstrap/fonts/glyphicons-halflings-regular.eot?#iefix') format('embedded-opentype'), url('../components/bootstrap/fonts/glyphicons-halflings-regular.woff2') format('woff2'), url('../components/bootstrap/fonts/glyphicons-halflings-regular.woff') format('woff'), url('../components/bootstrap/fonts/glyphicons-halflings-regular.ttf') format('truetype'), url('../components/bootstrap/fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular') format('svg');
}
.glyphicon {
  position: relative;
  top: 1px;
  display: inline-block;
  font-family: 'Glyphicons Halflings';
  font-style: normal;
  font-weight: normal;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.glyphicon-asterisk:before {
  content: &quot;\002a&quot;;
}
.glyphicon-plus:before {
  content: &quot;\002b&quot;;
}
.glyphicon-euro:before,
.glyphicon-eur:before {
  content: &quot;\20ac&quot;;
}
.glyphicon-minus:before {
  content: &quot;\2212&quot;;
}
.glyphicon-cloud:before {
  content: &quot;\2601&quot;;
}
.glyphicon-envelope:before {
  content: &quot;\2709&quot;;
}
.glyphicon-pencil:before {
  content: &quot;\270f&quot;;
}
.glyphicon-glass:before {
  content: &quot;\e001&quot;;
}
.glyphicon-music:before {
  content: &quot;\e002&quot;;
}
.glyphicon-search:before {
  content: &quot;\e003&quot;;
}
.glyphicon-heart:before {
  content: &quot;\e005&quot;;
}
.glyphicon-star:before {
  content: &quot;\e006&quot;;
}
.glyphicon-star-empty:before {
  content: &quot;\e007&quot;;
}
.glyphicon-user:before {
  content: &quot;\e008&quot;;
}
.glyphicon-film:before {
  content: &quot;\e009&quot;;
}
.glyphicon-th-large:before {
  content: &quot;\e010&quot;;
}
.glyphicon-th:before {
  content: &quot;\e011&quot;;
}
.glyphicon-th-list:before {
  content: &quot;\e012&quot;;
}
.glyphicon-ok:before {
  content: &quot;\e013&quot;;
}
.glyphicon-remove:before {
  content: &quot;\e014&quot;;
}
.glyphicon-zoom-in:before {
  content: &quot;\e015&quot;;
}
.glyphicon-zoom-out:before {
  content: &quot;\e016&quot;;
}
.glyphicon-off:before {
  content: &quot;\e017&quot;;
}
.glyphicon-signal:before {
  content: &quot;\e018&quot;;
}
.glyphicon-cog:before {
  content: &quot;\e019&quot;;
}
.glyphicon-trash:before {
  content: &quot;\e020&quot;;
}
.glyphicon-home:before {
  content: &quot;\e021&quot;;
}
.glyphicon-file:before {
  content: &quot;\e022&quot;;
}
.glyphicon-time:before {
  content: &quot;\e023&quot;;
}
.glyphicon-road:before {
  content: &quot;\e024&quot;;
}
.glyphicon-download-alt:before {
  content: &quot;\e025&quot;;
}
.glyphicon-download:before {
  content: &quot;\e026&quot;;
}
.glyphicon-upload:before {
  content: &quot;\e027&quot;;
}
.glyphicon-inbox:before {
  content: &quot;\e028&quot;;
}
.glyphicon-play-circle:before {
  content: &quot;\e029&quot;;
}
.glyphicon-repeat:before {
  content: &quot;\e030&quot;;
}
.glyphicon-refresh:before {
  content: &quot;\e031&quot;;
}
.glyphicon-list-alt:before {
  content: &quot;\e032&quot;;
}
.glyphicon-lock:before {
  content: &quot;\e033&quot;;
}
.glyphicon-flag:before {
  content: &quot;\e034&quot;;
}
.glyphicon-headphones:before {
  content: &quot;\e035&quot;;
}
.glyphicon-volume-off:before {
  content: &quot;\e036&quot;;
}
.glyphicon-volume-down:before {
  content: &quot;\e037&quot;;
}
.glyphicon-volume-up:before {
  content: &quot;\e038&quot;;
}
.glyphicon-qrcode:before {
  content: &quot;\e039&quot;;
}
.glyphicon-barcode:before {
  content: &quot;\e040&quot;;
}
.glyphicon-tag:before {
  content: &quot;\e041&quot;;
}
.glyphicon-tags:before {
  content: &quot;\e042&quot;;
}
.glyphicon-book:before {
  content: &quot;\e043&quot;;
}
.glyphicon-bookmark:before {
  content: &quot;\e044&quot;;
}
.glyphicon-print:before {
  content: &quot;\e045&quot;;
}
.glyphicon-camera:before {
  content: &quot;\e046&quot;;
}
.glyphicon-font:before {
  content: &quot;\e047&quot;;
}
.glyphicon-bold:before {
  content: &quot;\e048&quot;;
}
.glyphicon-italic:before {
  content: &quot;\e049&quot;;
}
.glyphicon-text-height:before {
  content: &quot;\e050&quot;;
}
.glyphicon-text-width:before {
  content: &quot;\e051&quot;;
}
.glyphicon-align-left:before {
  content: &quot;\e052&quot;;
}
.glyphicon-align-center:before {
  content: &quot;\e053&quot;;
}
.glyphicon-align-right:before {
  content: &quot;\e054&quot;;
}
.glyphicon-align-justify:before {
  content: &quot;\e055&quot;;
}
.glyphicon-list:before {
  content: &quot;\e056&quot;;
}
.glyphicon-indent-left:before {
  content: &quot;\e057&quot;;
}
.glyphicon-indent-right:before {
  content: &quot;\e058&quot;;
}
.glyphicon-facetime-video:before {
  content: &quot;\e059&quot;;
}
.glyphicon-picture:before {
  content: &quot;\e060&quot;;
}
.glyphicon-map-marker:before {
  content: &quot;\e062&quot;;
}
.glyphicon-adjust:before {
  content: &quot;\e063&quot;;
}
.glyphicon-tint:before {
  content: &quot;\e064&quot;;
}
.glyphicon-edit:before {
  content: &quot;\e065&quot;;
}
.glyphicon-share:before {
  content: &quot;\e066&quot;;
}
.glyphicon-check:before {
  content: &quot;\e067&quot;;
}
.glyphicon-move:before {
  content: &quot;\e068&quot;;
}
.glyphicon-step-backward:before {
  content: &quot;\e069&quot;;
}
.glyphicon-fast-backward:before {
  content: &quot;\e070&quot;;
}
.glyphicon-backward:before {
  content: &quot;\e071&quot;;
}
.glyphicon-play:before {
  content: &quot;\e072&quot;;
}
.glyphicon-pause:before {
  content: &quot;\e073&quot;;
}
.glyphicon-stop:before {
  content: &quot;\e074&quot;;
}
.glyphicon-forward:before {
  content: &quot;\e075&quot;;
}
.glyphicon-fast-forward:before {
  content: &quot;\e076&quot;;
}
.glyphicon-step-forward:before {
  content: &quot;\e077&quot;;
}
.glyphicon-eject:before {
  content: &quot;\e078&quot;;
}
.glyphicon-chevron-left:before {
  content: &quot;\e079&quot;;
}
.glyphicon-chevron-right:before {
  content: &quot;\e080&quot;;
}
.glyphicon-plus-sign:before {
  content: &quot;\e081&quot;;
}
.glyphicon-minus-sign:before {
  content: &quot;\e082&quot;;
}
.glyphicon-remove-sign:before {
  content: &quot;\e083&quot;;
}
.glyphicon-ok-sign:before {
  content: &quot;\e084&quot;;
}
.glyphicon-question-sign:before {
  content: &quot;\e085&quot;;
}
.glyphicon-info-sign:before {
  content: &quot;\e086&quot;;
}
.glyphicon-screenshot:before {
  content: &quot;\e087&quot;;
}
.glyphicon-remove-circle:before {
  content: &quot;\e088&quot;;
}
.glyphicon-ok-circle:before {
  content: &quot;\e089&quot;;
}
.glyphicon-ban-circle:before {
  content: &quot;\e090&quot;;
}
.glyphicon-arrow-left:before {
  content: &quot;\e091&quot;;
}
.glyphicon-arrow-right:before {
  content: &quot;\e092&quot;;
}
.glyphicon-arrow-up:before {
  content: &quot;\e093&quot;;
}
.glyphicon-arrow-down:before {
  content: &quot;\e094&quot;;
}
.glyphicon-share-alt:before {
  content: &quot;\e095&quot;;
}
.glyphicon-resize-full:before {
  content: &quot;\e096&quot;;
}
.glyphicon-resize-small:before {
  content: &quot;\e097&quot;;
}
.glyphicon-exclamation-sign:before {
  content: &quot;\e101&quot;;
}
.glyphicon-gift:before {
  content: &quot;\e102&quot;;
}
.glyphicon-leaf:before {
  content: &quot;\e103&quot;;
}
.glyphicon-fire:before {
  content: &quot;\e104&quot;;
}
.glyphicon-eye-open:before {
  content: &quot;\e105&quot;;
}
.glyphicon-eye-close:before {
  content: &quot;\e106&quot;;
}
.glyphicon-warning-sign:before {
  content: &quot;\e107&quot;;
}
.glyphicon-plane:before {
  content: &quot;\e108&quot;;
}
.glyphicon-calendar:before {
  content: &quot;\e109&quot;;
}
.glyphicon-random:before {
  content: &quot;\e110&quot;;
}
.glyphicon-comment:before {
  content: &quot;\e111&quot;;
}
.glyphicon-magnet:before {
  content: &quot;\e112&quot;;
}
.glyphicon-chevron-up:before {
  content: &quot;\e113&quot;;
}
.glyphicon-chevron-down:before {
  content: &quot;\e114&quot;;
}
.glyphicon-retweet:before {
  content: &quot;\e115&quot;;
}
.glyphicon-shopping-cart:before {
  content: &quot;\e116&quot;;
}
.glyphicon-folder-close:before {
  content: &quot;\e117&quot;;
}
.glyphicon-folder-open:before {
  content: &quot;\e118&quot;;
}
.glyphicon-resize-vertical:before {
  content: &quot;\e119&quot;;
}
.glyphicon-resize-horizontal:before {
  content: &quot;\e120&quot;;
}
.glyphicon-hdd:before {
  content: &quot;\e121&quot;;
}
.glyphicon-bullhorn:before {
  content: &quot;\e122&quot;;
}
.glyphicon-bell:before {
  content: &quot;\e123&quot;;
}
.glyphicon-certificate:before {
  content: &quot;\e124&quot;;
}
.glyphicon-thumbs-up:before {
  content: &quot;\e125&quot;;
}
.glyphicon-thumbs-down:before {
  content: &quot;\e126&quot;;
}
.glyphicon-hand-right:before {
  content: &quot;\e127&quot;;
}
.glyphicon-hand-left:before {
  content: &quot;\e128&quot;;
}
.glyphicon-hand-up:before {
  content: &quot;\e129&quot;;
}
.glyphicon-hand-down:before {
  content: &quot;\e130&quot;;
}
.glyphicon-circle-arrow-right:before {
  content: &quot;\e131&quot;;
}
.glyphicon-circle-arrow-left:before {
  content: &quot;\e132&quot;;
}
.glyphicon-circle-arrow-up:before {
  content: &quot;\e133&quot;;
}
.glyphicon-circle-arrow-down:before {
  content: &quot;\e134&quot;;
}
.glyphicon-globe:before {
  content: &quot;\e135&quot;;
}
.glyphicon-wrench:before {
  content: &quot;\e136&quot;;
}
.glyphicon-tasks:before {
  content: &quot;\e137&quot;;
}
.glyphicon-filter:before {
  content: &quot;\e138&quot;;
}
.glyphicon-briefcase:before {
  content: &quot;\e139&quot;;
}
.glyphicon-fullscreen:before {
  content: &quot;\e140&quot;;
}
.glyphicon-dashboard:before {
  content: &quot;\e141&quot;;
}
.glyphicon-paperclip:before {
  content: &quot;\e142&quot;;
}
.glyphicon-heart-empty:before {
  content: &quot;\e143&quot;;
}
.glyphicon-link:before {
  content: &quot;\e144&quot;;
}
.glyphicon-phone:before {
  content: &quot;\e145&quot;;
}
.glyphicon-pushpin:before {
  content: &quot;\e146&quot;;
}
.glyphicon-usd:before {
  content: &quot;\e148&quot;;
}
.glyphicon-gbp:before {
  content: &quot;\e149&quot;;
}
.glyphicon-sort:before {
  content: &quot;\e150&quot;;
}
.glyphicon-sort-by-alphabet:before {
  content: &quot;\e151&quot;;
}
.glyphicon-sort-by-alphabet-alt:before {
  content: &quot;\e152&quot;;
}
.glyphicon-sort-by-order:before {
  content: &quot;\e153&quot;;
}
.glyphicon-sort-by-order-alt:before {
  content: &quot;\e154&quot;;
}
.glyphicon-sort-by-attributes:before {
  content: &quot;\e155&quot;;
}
.glyphicon-sort-by-attributes-alt:before {
  content: &quot;\e156&quot;;
}
.glyphicon-unchecked:before {
  content: &quot;\e157&quot;;
}
.glyphicon-expand:before {
  content: &quot;\e158&quot;;
}
.glyphicon-collapse-down:before {
  content: &quot;\e159&quot;;
}
.glyphicon-collapse-up:before {
  content: &quot;\e160&quot;;
}
.glyphicon-log-in:before {
  content: &quot;\e161&quot;;
}
.glyphicon-flash:before {
  content: &quot;\e162&quot;;
}
.glyphicon-log-out:before {
  content: &quot;\e163&quot;;
}
.glyphicon-new-window:before {
  content: &quot;\e164&quot;;
}
.glyphicon-record:before {
  content: &quot;\e165&quot;;
}
.glyphicon-save:before {
  content: &quot;\e166&quot;;
}
.glyphicon-open:before {
  content: &quot;\e167&quot;;
}
.glyphicon-saved:before {
  content: &quot;\e168&quot;;
}
.glyphicon-import:before {
  content: &quot;\e169&quot;;
}
.glyphicon-export:before {
  content: &quot;\e170&quot;;
}
.glyphicon-send:before {
  content: &quot;\e171&quot;;
}
.glyphicon-floppy-disk:before {
  content: &quot;\e172&quot;;
}
.glyphicon-floppy-saved:before {
  content: &quot;\e173&quot;;
}
.glyphicon-floppy-remove:before {
  content: &quot;\e174&quot;;
}
.glyphicon-floppy-save:before {
  content: &quot;\e175&quot;;
}
.glyphicon-floppy-open:before {
  content: &quot;\e176&quot;;
}
.glyphicon-credit-card:before {
  content: &quot;\e177&quot;;
}
.glyphicon-transfer:before {
  content: &quot;\e178&quot;;
}
.glyphicon-cutlery:before {
  content: &quot;\e179&quot;;
}
.glyphicon-header:before {
  content: &quot;\e180&quot;;
}
.glyphicon-compressed:before {
  content: &quot;\e181&quot;;
}
.glyphicon-earphone:before {
  content: &quot;\e182&quot;;
}
.glyphicon-phone-alt:before {
  content: &quot;\e183&quot;;
}
.glyphicon-tower:before {
  content: &quot;\e184&quot;;
}
.glyphicon-stats:before {
  content: &quot;\e185&quot;;
}
.glyphicon-sd-video:before {
  content: &quot;\e186&quot;;
}
.glyphicon-hd-video:before {
  content: &quot;\e187&quot;;
}
.glyphicon-subtitles:before {
  content: &quot;\e188&quot;;
}
.glyphicon-sound-stereo:before {
  content: &quot;\e189&quot;;
}
.glyphicon-sound-dolby:before {
  content: &quot;\e190&quot;;
}
.glyphicon-sound-5-1:before {
  content: &quot;\e191&quot;;
}
.glyphicon-sound-6-1:before {
  content: &quot;\e192&quot;;
}
.glyphicon-sound-7-1:before {
  content: &quot;\e193&quot;;
}
.glyphicon-copyright-mark:before {
  content: &quot;\e194&quot;;
}
.glyphicon-registration-mark:before {
  content: &quot;\e195&quot;;
}
.glyphicon-cloud-download:before {
  content: &quot;\e197&quot;;
}
.glyphicon-cloud-upload:before {
  content: &quot;\e198&quot;;
}
.glyphicon-tree-conifer:before {
  content: &quot;\e199&quot;;
}
.glyphicon-tree-deciduous:before {
  content: &quot;\e200&quot;;
}
.glyphicon-cd:before {
  content: &quot;\e201&quot;;
}
.glyphicon-save-file:before {
  content: &quot;\e202&quot;;
}
.glyphicon-open-file:before {
  content: &quot;\e203&quot;;
}
.glyphicon-level-up:before {
  content: &quot;\e204&quot;;
}
.glyphicon-copy:before {
  content: &quot;\e205&quot;;
}
.glyphicon-paste:before {
  content: &quot;\e206&quot;;
}
.glyphicon-alert:before {
  content: &quot;\e209&quot;;
}
.glyphicon-equalizer:before {
  content: &quot;\e210&quot;;
}
.glyphicon-king:before {
  content: &quot;\e211&quot;;
}
.glyphicon-queen:before {
  content: &quot;\e212&quot;;
}
.glyphicon-pawn:before {
  content: &quot;\e213&quot;;
}
.glyphicon-bishop:before {
  content: &quot;\e214&quot;;
}
.glyphicon-knight:before {
  content: &quot;\e215&quot;;
}
.glyphicon-baby-formula:before {
  content: &quot;\e216&quot;;
}
.glyphicon-tent:before {
  content: &quot;\26fa&quot;;
}
.glyphicon-blackboard:before {
  content: &quot;\e218&quot;;
}
.glyphicon-bed:before {
  content: &quot;\e219&quot;;
}
.glyphicon-apple:before {
  content: &quot;\f8ff&quot;;
}
.glyphicon-erase:before {
  content: &quot;\e221&quot;;
}
.glyphicon-hourglass:before {
  content: &quot;\231b&quot;;
}
.glyphicon-lamp:before {
  content: &quot;\e223&quot;;
}
.glyphicon-duplicate:before {
  content: &quot;\e224&quot;;
}
.glyphicon-piggy-bank:before {
  content: &quot;\e225&quot;;
}
.glyphicon-scissors:before {
  content: &quot;\e226&quot;;
}
.glyphicon-bitcoin:before {
  content: &quot;\e227&quot;;
}
.glyphicon-btc:before {
  content: &quot;\e227&quot;;
}
.glyphicon-xbt:before {
  content: &quot;\e227&quot;;
}
.glyphicon-yen:before {
  content: &quot;\00a5&quot;;
}
.glyphicon-jpy:before {
  content: &quot;\00a5&quot;;
}
.glyphicon-ruble:before {
  content: &quot;\20bd&quot;;
}
.glyphicon-rub:before {
  content: &quot;\20bd&quot;;
}
.glyphicon-scale:before {
  content: &quot;\e230&quot;;
}
.glyphicon-ice-lolly:before {
  content: &quot;\e231&quot;;
}
.glyphicon-ice-lolly-tasted:before {
  content: &quot;\e232&quot;;
}
.glyphicon-education:before {
  content: &quot;\e233&quot;;
}
.glyphicon-option-horizontal:before {
  content: &quot;\e234&quot;;
}
.glyphicon-option-vertical:before {
  content: &quot;\e235&quot;;
}
.glyphicon-menu-hamburger:before {
  content: &quot;\e236&quot;;
}
.glyphicon-modal-window:before {
  content: &quot;\e237&quot;;
}
.glyphicon-oil:before {
  content: &quot;\e238&quot;;
}
.glyphicon-grain:before {
  content: &quot;\e239&quot;;
}
.glyphicon-sunglasses:before {
  content: &quot;\e240&quot;;
}
.glyphicon-text-size:before {
  content: &quot;\e241&quot;;
}
.glyphicon-text-color:before {
  content: &quot;\e242&quot;;
}
.glyphicon-text-background:before {
  content: &quot;\e243&quot;;
}
.glyphicon-object-align-top:before {
  content: &quot;\e244&quot;;
}
.glyphicon-object-align-bottom:before {
  content: &quot;\e245&quot;;
}
.glyphicon-object-align-horizontal:before {
  content: &quot;\e246&quot;;
}
.glyphicon-object-align-left:before {
  content: &quot;\e247&quot;;
}
.glyphicon-object-align-vertical:before {
  content: &quot;\e248&quot;;
}
.glyphicon-object-align-right:before {
  content: &quot;\e249&quot;;
}
.glyphicon-triangle-right:before {
  content: &quot;\e250&quot;;
}
.glyphicon-triangle-left:before {
  content: &quot;\e251&quot;;
}
.glyphicon-triangle-bottom:before {
  content: &quot;\e252&quot;;
}
.glyphicon-triangle-top:before {
  content: &quot;\e253&quot;;
}
.glyphicon-console:before {
  content: &quot;\e254&quot;;
}
.glyphicon-superscript:before {
  content: &quot;\e255&quot;;
}
.glyphicon-subscript:before {
  content: &quot;\e256&quot;;
}
.glyphicon-menu-left:before {
  content: &quot;\e257&quot;;
}
.glyphicon-menu-right:before {
  content: &quot;\e258&quot;;
}
.glyphicon-menu-down:before {
  content: &quot;\e259&quot;;
}
.glyphicon-menu-up:before {
  content: &quot;\e260&quot;;
}
* {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
*:before,
*:after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
html {
  font-size: 10px;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
body {
  font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, sans-serif;
  font-size: 13px;
  line-height: 1.42857143;
  color: #000;
  background-color: #fff;
}
input,
button,
select,
textarea {
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
}
a {
  color: #337ab7;
  text-decoration: none;
}
a:hover,
a:focus {
  color: #23527c;
  text-decoration: underline;
}
a:focus {
  outline: 5px auto -webkit-focus-ring-color;
  outline-offset: -2px;
}
figure {
  margin: 0;
}
img {
  vertical-align: middle;
}
.img-responsive,
.thumbnail &gt; img,
.thumbnail a &gt; img,
.carousel-inner &gt; .item &gt; img,
.carousel-inner &gt; .item &gt; a &gt; img {
  display: block;
  max-width: 100%;
  height: auto;
}
.img-rounded {
  border-radius: 3px;
}
.img-thumbnail {
  padding: 4px;
  line-height: 1.42857143;
  background-color: #fff;
  border: 1px solid #ddd;
  border-radius: 2px;
  -webkit-transition: all 0.2s ease-in-out;
  -o-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
  display: inline-block;
  max-width: 100%;
  height: auto;
}
.img-circle {
  border-radius: 50%;
}
hr {
  margin-top: 18px;
  margin-bottom: 18px;
  border: 0;
  border-top: 1px solid #eeeeee;
}
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0;
}
.sr-only-focusable:active,
.sr-only-focusable:focus {
  position: static;
  width: auto;
  height: auto;
  margin: 0;
  overflow: visible;
  clip: auto;
}
[role=&quot;button&quot;] {
  cursor: pointer;
}
h1,
h2,
h3,
h4,
h5,
h6,
.h1,
.h2,
.h3,
.h4,
.h5,
.h6 {
  font-family: inherit;
  font-weight: 500;
  line-height: 1.1;
  color: inherit;
}
h1 small,
h2 small,
h3 small,
h4 small,
h5 small,
h6 small,
.h1 small,
.h2 small,
.h3 small,
.h4 small,
.h5 small,
.h6 small,
h1 .small,
h2 .small,
h3 .small,
h4 .small,
h5 .small,
h6 .small,
.h1 .small,
.h2 .small,
.h3 .small,
.h4 .small,
.h5 .small,
.h6 .small {
  font-weight: normal;
  line-height: 1;
  color: #777777;
}
h1,
.h1,
h2,
.h2,
h3,
.h3 {
  margin-top: 18px;
  margin-bottom: 9px;
}
h1 small,
.h1 small,
h2 small,
.h2 small,
h3 small,
.h3 small,
h1 .small,
.h1 .small,
h2 .small,
.h2 .small,
h3 .small,
.h3 .small {
  font-size: 65%;
}
h4,
.h4,
h5,
.h5,
h6,
.h6 {
  margin-top: 9px;
  margin-bottom: 9px;
}
h4 small,
.h4 small,
h5 small,
.h5 small,
h6 small,
.h6 small,
h4 .small,
.h4 .small,
h5 .small,
.h5 .small,
h6 .small,
.h6 .small {
  font-size: 75%;
}
h1,
.h1 {
  font-size: 33px;
}
h2,
.h2 {
  font-size: 27px;
}
h3,
.h3 {
  font-size: 23px;
}
h4,
.h4 {
  font-size: 17px;
}
h5,
.h5 {
  font-size: 13px;
}
h6,
.h6 {
  font-size: 12px;
}
p {
  margin: 0 0 9px;
}
.lead {
  margin-bottom: 18px;
  font-size: 14px;
  font-weight: 300;
  line-height: 1.4;
}
@media (min-width: 768px) {
  .lead {
    font-size: 19.5px;
  }
}
small,
.small {
  font-size: 92%;
}
mark,
.mark {
  background-color: #fcf8e3;
  padding: .2em;
}
.text-left {
  text-align: left;
}
.text-right {
  text-align: right;
}
.text-center {
  text-align: center;
}
.text-justify {
  text-align: justify;
}
.text-nowrap {
  white-space: nowrap;
}
.text-lowercase {
  text-transform: lowercase;
}
.text-uppercase {
  text-transform: uppercase;
}
.text-capitalize {
  text-transform: capitalize;
}
.text-muted {
  color: #777777;
}
.text-primary {
  color: #337ab7;
}
a.text-primary:hover,
a.text-primary:focus {
  color: #286090;
}
.text-success {
  color: #3c763d;
}
a.text-success:hover,
a.text-success:focus {
  color: #2b542c;
}
.text-info {
  color: #31708f;
}
a.text-info:hover,
a.text-info:focus {
  color: #245269;
}
.text-warning {
  color: #8a6d3b;
}
a.text-warning:hover,
a.text-warning:focus {
  color: #66512c;
}
.text-danger {
  color: #a94442;
}
a.text-danger:hover,
a.text-danger:focus {
  color: #843534;
}
.bg-primary {
  color: #fff;
  background-color: #337ab7;
}
a.bg-primary:hover,
a.bg-primary:focus {
  background-color: #286090;
}
.bg-success {
  background-color: #dff0d8;
}
a.bg-success:hover,
a.bg-success:focus {
  background-color: #c1e2b3;
}
.bg-info {
  background-color: #d9edf7;
}
a.bg-info:hover,
a.bg-info:focus {
  background-color: #afd9ee;
}
.bg-warning {
  background-color: #fcf8e3;
}
a.bg-warning:hover,
a.bg-warning:focus {
  background-color: #f7ecb5;
}
.bg-danger {
  background-color: #f2dede;
}
a.bg-danger:hover,
a.bg-danger:focus {
  background-color: #e4b9b9;
}
.page-header {
  padding-bottom: 8px;
  margin: 36px 0 18px;
  border-bottom: 1px solid #eeeeee;
}
ul,
ol {
  margin-top: 0;
  margin-bottom: 9px;
}
ul ul,
ol ul,
ul ol,
ol ol {
  margin-bottom: 0;
}
.list-unstyled {
  padding-left: 0;
  list-style: none;
}
.list-inline {
  padding-left: 0;
  list-style: none;
  margin-left: -5px;
}
.list-inline &gt; li {
  display: inline-block;
  padding-left: 5px;
  padding-right: 5px;
}
dl {
  margin-top: 0;
  margin-bottom: 18px;
}
dt,
dd {
  line-height: 1.42857143;
}
dt {
  font-weight: bold;
}
dd {
  margin-left: 0;
}
@media (min-width: 541px) {
  .dl-horizontal dt {
    float: left;
    width: 160px;
    clear: left;
    text-align: right;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .dl-horizontal dd {
    margin-left: 180px;
  }
}
abbr[title],
abbr[data-original-title] {
  cursor: help;
  border-bottom: 1px dotted #777777;
}
.initialism {
  font-size: 90%;
  text-transform: uppercase;
}
blockquote {
  padding: 9px 18px;
  margin: 0 0 18px;
  font-size: inherit;
  border-left: 5px solid #eeeeee;
}
blockquote p:last-child,
blockquote ul:last-child,
blockquote ol:last-child {
  margin-bottom: 0;
}
blockquote footer,
blockquote small,
blockquote .small {
  display: block;
  font-size: 80%;
  line-height: 1.42857143;
  color: #777777;
}
blockquote footer:before,
blockquote small:before,
blockquote .small:before {
  content: '\2014 \00A0';
}
.blockquote-reverse,
blockquote.pull-right {
  padding-right: 15px;
  padding-left: 0;
  border-right: 5px solid #eeeeee;
  border-left: 0;
  text-align: right;
}
.blockquote-reverse footer:before,
blockquote.pull-right footer:before,
.blockquote-reverse small:before,
blockquote.pull-right small:before,
.blockquote-reverse .small:before,
blockquote.pull-right .small:before {
  content: '';
}
.blockquote-reverse footer:after,
blockquote.pull-right footer:after,
.blockquote-reverse small:after,
blockquote.pull-right small:after,
.blockquote-reverse .small:after,
blockquote.pull-right .small:after {
  content: '\00A0 \2014';
}
address {
  margin-bottom: 18px;
  font-style: normal;
  line-height: 1.42857143;
}
code,
kbd,
pre,
samp {
  font-family: monospace;
}
code {
  padding: 2px 4px;
  font-size: 90%;
  color: #c7254e;
  background-color: #f9f2f4;
  border-radius: 2px;
}
kbd {
  padding: 2px 4px;
  font-size: 90%;
  color: #888;
  background-color: transparent;
  border-radius: 1px;
  box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.25);
}
kbd kbd {
  padding: 0;
  font-size: 100%;
  font-weight: bold;
  box-shadow: none;
}
pre {
  display: block;
  padding: 8.5px;
  margin: 0 0 9px;
  font-size: 12px;
  line-height: 1.42857143;
  word-break: break-all;
  word-wrap: break-word;
  color: #333333;
  background-color: #f5f5f5;
  border: 1px solid #ccc;
  border-radius: 2px;
}
pre code {
  padding: 0;
  font-size: inherit;
  color: inherit;
  white-space: pre-wrap;
  background-color: transparent;
  border-radius: 0;
}
.pre-scrollable {
  max-height: 340px;
  overflow-y: scroll;
}
.container {
  margin-right: auto;
  margin-left: auto;
  padding-left: 0px;
  padding-right: 0px;
}
@media (min-width: 768px) {
  .container {
    width: 768px;
  }
}
@media (min-width: 992px) {
  .container {
    width: 940px;
  }
}
@media (min-width: 1200px) {
  .container {
    width: 1140px;
  }
}
.container-fluid {
  margin-right: auto;
  margin-left: auto;
  padding-left: 0px;
  padding-right: 0px;
}
.row {
  margin-left: 0px;
  margin-right: 0px;
}
.col-xs-1, .col-sm-1, .col-md-1, .col-lg-1, .col-xs-2, .col-sm-2, .col-md-2, .col-lg-2, .col-xs-3, .col-sm-3, .col-md-3, .col-lg-3, .col-xs-4, .col-sm-4, .col-md-4, .col-lg-4, .col-xs-5, .col-sm-5, .col-md-5, .col-lg-5, .col-xs-6, .col-sm-6, .col-md-6, .col-lg-6, .col-xs-7, .col-sm-7, .col-md-7, .col-lg-7, .col-xs-8, .col-sm-8, .col-md-8, .col-lg-8, .col-xs-9, .col-sm-9, .col-md-9, .col-lg-9, .col-xs-10, .col-sm-10, .col-md-10, .col-lg-10, .col-xs-11, .col-sm-11, .col-md-11, .col-lg-11, .col-xs-12, .col-sm-12, .col-md-12, .col-lg-12 {
  position: relative;
  min-height: 1px;
  padding-left: 0px;
  padding-right: 0px;
}
.col-xs-1, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6, .col-xs-7, .col-xs-8, .col-xs-9, .col-xs-10, .col-xs-11, .col-xs-12 {
  float: left;
}
.col-xs-12 {
  width: 100%;
}
.col-xs-11 {
  width: 91.66666667%;
}
.col-xs-10 {
  width: 83.33333333%;
}
.col-xs-9 {
  width: 75%;
}
.col-xs-8 {
  width: 66.66666667%;
}
.col-xs-7 {
  width: 58.33333333%;
}
.col-xs-6 {
  width: 50%;
}
.col-xs-5 {
  width: 41.66666667%;
}
.col-xs-4 {
  width: 33.33333333%;
}
.col-xs-3 {
  width: 25%;
}
.col-xs-2 {
  width: 16.66666667%;
}
.col-xs-1 {
  width: 8.33333333%;
}
.col-xs-pull-12 {
  right: 100%;
}
.col-xs-pull-11 {
  right: 91.66666667%;
}
.col-xs-pull-10 {
  right: 83.33333333%;
}
.col-xs-pull-9 {
  right: 75%;
}
.col-xs-pull-8 {
  right: 66.66666667%;
}
.col-xs-pull-7 {
  right: 58.33333333%;
}
.col-xs-pull-6 {
  right: 50%;
}
.col-xs-pull-5 {
  right: 41.66666667%;
}
.col-xs-pull-4 {
  right: 33.33333333%;
}
.col-xs-pull-3 {
  right: 25%;
}
.col-xs-pull-2 {
  right: 16.66666667%;
}
.col-xs-pull-1 {
  right: 8.33333333%;
}
.col-xs-pull-0 {
  right: auto;
}
.col-xs-push-12 {
  left: 100%;
}
.col-xs-push-11 {
  left: 91.66666667%;
}
.col-xs-push-10 {
  left: 83.33333333%;
}
.col-xs-push-9 {
  left: 75%;
}
.col-xs-push-8 {
  left: 66.66666667%;
}
.col-xs-push-7 {
  left: 58.33333333%;
}
.col-xs-push-6 {
  left: 50%;
}
.col-xs-push-5 {
  left: 41.66666667%;
}
.col-xs-push-4 {
  left: 33.33333333%;
}
.col-xs-push-3 {
  left: 25%;
}
.col-xs-push-2 {
  left: 16.66666667%;
}
.col-xs-push-1 {
  left: 8.33333333%;
}
.col-xs-push-0 {
  left: auto;
}
.col-xs-offset-12 {
  margin-left: 100%;
}
.col-xs-offset-11 {
  margin-left: 91.66666667%;
}
.col-xs-offset-10 {
  margin-left: 83.33333333%;
}
.col-xs-offset-9 {
  margin-left: 75%;
}
.col-xs-offset-8 {
  margin-left: 66.66666667%;
}
.col-xs-offset-7 {
  margin-left: 58.33333333%;
}
.col-xs-offset-6 {
  margin-left: 50%;
}
.col-xs-offset-5 {
  margin-left: 41.66666667%;
}
.col-xs-offset-4 {
  margin-left: 33.33333333%;
}
.col-xs-offset-3 {
  margin-left: 25%;
}
.col-xs-offset-2 {
  margin-left: 16.66666667%;
}
.col-xs-offset-1 {
  margin-left: 8.33333333%;
}
.col-xs-offset-0 {
  margin-left: 0%;
}
@media (min-width: 768px) {
  .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12 {
    float: left;
  }
  .col-sm-12 {
    width: 100%;
  }
  .col-sm-11 {
    width: 91.66666667%;
  }
  .col-sm-10 {
    width: 83.33333333%;
  }
  .col-sm-9 {
    width: 75%;
  }
  .col-sm-8 {
    width: 66.66666667%;
  }
  .col-sm-7 {
    width: 58.33333333%;
  }
  .col-sm-6 {
    width: 50%;
  }
  .col-sm-5 {
    width: 41.66666667%;
  }
  .col-sm-4 {
    width: 33.33333333%;
  }
  .col-sm-3 {
    width: 25%;
  }
  .col-sm-2 {
    width: 16.66666667%;
  }
  .col-sm-1 {
    width: 8.33333333%;
  }
  .col-sm-pull-12 {
    right: 100%;
  }
  .col-sm-pull-11 {
    right: 91.66666667%;
  }
  .col-sm-pull-10 {
    right: 83.33333333%;
  }
  .col-sm-pull-9 {
    right: 75%;
  }
  .col-sm-pull-8 {
    right: 66.66666667%;
  }
  .col-sm-pull-7 {
    right: 58.33333333%;
  }
  .col-sm-pull-6 {
    right: 50%;
  }
  .col-sm-pull-5 {
    right: 41.66666667%;
  }
  .col-sm-pull-4 {
    right: 33.33333333%;
  }
  .col-sm-pull-3 {
    right: 25%;
  }
  .col-sm-pull-2 {
    right: 16.66666667%;
  }
  .col-sm-pull-1 {
    right: 8.33333333%;
  }
  .col-sm-pull-0 {
    right: auto;
  }
  .col-sm-push-12 {
    left: 100%;
  }
  .col-sm-push-11 {
    left: 91.66666667%;
  }
  .col-sm-push-10 {
    left: 83.33333333%;
  }
  .col-sm-push-9 {
    left: 75%;
  }
  .col-sm-push-8 {
    left: 66.66666667%;
  }
  .col-sm-push-7 {
    left: 58.33333333%;
  }
  .col-sm-push-6 {
    left: 50%;
  }
  .col-sm-push-5 {
    left: 41.66666667%;
  }
  .col-sm-push-4 {
    left: 33.33333333%;
  }
  .col-sm-push-3 {
    left: 25%;
  }
  .col-sm-push-2 {
    left: 16.66666667%;
  }
  .col-sm-push-1 {
    left: 8.33333333%;
  }
  .col-sm-push-0 {
    left: auto;
  }
  .col-sm-offset-12 {
    margin-left: 100%;
  }
  .col-sm-offset-11 {
    margin-left: 91.66666667%;
  }
  .col-sm-offset-10 {
    margin-left: 83.33333333%;
  }
  .col-sm-offset-9 {
    margin-left: 75%;
  }
  .col-sm-offset-8 {
    margin-left: 66.66666667%;
  }
  .col-sm-offset-7 {
    margin-left: 58.33333333%;
  }
  .col-sm-offset-6 {
    margin-left: 50%;
  }
  .col-sm-offset-5 {
    margin-left: 41.66666667%;
  }
  .col-sm-offset-4 {
    margin-left: 33.33333333%;
  }
  .col-sm-offset-3 {
    margin-left: 25%;
  }
  .col-sm-offset-2 {
    margin-left: 16.66666667%;
  }
  .col-sm-offset-1 {
    margin-left: 8.33333333%;
  }
  .col-sm-offset-0 {
    margin-left: 0%;
  }
}
@media (min-width: 992px) {
  .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12 {
    float: left;
  }
  .col-md-12 {
    width: 100%;
  }
  .col-md-11 {
    width: 91.66666667%;
  }
  .col-md-10 {
    width: 83.33333333%;
  }
  .col-md-9 {
    width: 75%;
  }
  .col-md-8 {
    width: 66.66666667%;
  }
  .col-md-7 {
    width: 58.33333333%;
  }
  .col-md-6 {
    width: 50%;
  }
  .col-md-5 {
    width: 41.66666667%;
  }
  .col-md-4 {
    width: 33.33333333%;
  }
  .col-md-3 {
    width: 25%;
  }
  .col-md-2 {
    width: 16.66666667%;
  }
  .col-md-1 {
    width: 8.33333333%;
  }
  .col-md-pull-12 {
    right: 100%;
  }
  .col-md-pull-11 {
    right: 91.66666667%;
  }
  .col-md-pull-10 {
    right: 83.33333333%;
  }
  .col-md-pull-9 {
    right: 75%;
  }
  .col-md-pull-8 {
    right: 66.66666667%;
  }
  .col-md-pull-7 {
    right: 58.33333333%;
  }
  .col-md-pull-6 {
    right: 50%;
  }
  .col-md-pull-5 {
    right: 41.66666667%;
  }
  .col-md-pull-4 {
    right: 33.33333333%;
  }
  .col-md-pull-3 {
    right: 25%;
  }
  .col-md-pull-2 {
    right: 16.66666667%;
  }
  .col-md-pull-1 {
    right: 8.33333333%;
  }
  .col-md-pull-0 {
    right: auto;
  }
  .col-md-push-12 {
    left: 100%;
  }
  .col-md-push-11 {
    left: 91.66666667%;
  }
  .col-md-push-10 {
    left: 83.33333333%;
  }
  .col-md-push-9 {
    left: 75%;
  }
  .col-md-push-8 {
    left: 66.66666667%;
  }
  .col-md-push-7 {
    left: 58.33333333%;
  }
  .col-md-push-6 {
    left: 50%;
  }
  .col-md-push-5 {
    left: 41.66666667%;
  }
  .col-md-push-4 {
    left: 33.33333333%;
  }
  .col-md-push-3 {
    left: 25%;
  }
  .col-md-push-2 {
    left: 16.66666667%;
  }
  .col-md-push-1 {
    left: 8.33333333%;
  }
  .col-md-push-0 {
    left: auto;
  }
  .col-md-offset-12 {
    margin-left: 100%;
  }
  .col-md-offset-11 {
    margin-left: 91.66666667%;
  }
  .col-md-offset-10 {
    margin-left: 83.33333333%;
  }
  .col-md-offset-9 {
    margin-left: 75%;
  }
  .col-md-offset-8 {
    margin-left: 66.66666667%;
  }
  .col-md-offset-7 {
    margin-left: 58.33333333%;
  }
  .col-md-offset-6 {
    margin-left: 50%;
  }
  .col-md-offset-5 {
    margin-left: 41.66666667%;
  }
  .col-md-offset-4 {
    margin-left: 33.33333333%;
  }
  .col-md-offset-3 {
    margin-left: 25%;
  }
  .col-md-offset-2 {
    margin-left: 16.66666667%;
  }
  .col-md-offset-1 {
    margin-left: 8.33333333%;
  }
  .col-md-offset-0 {
    margin-left: 0%;
  }
}
@media (min-width: 1200px) {
  .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12 {
    float: left;
  }
  .col-lg-12 {
    width: 100%;
  }
  .col-lg-11 {
    width: 91.66666667%;
  }
  .col-lg-10 {
    width: 83.33333333%;
  }
  .col-lg-9 {
    width: 75%;
  }
  .col-lg-8 {
    width: 66.66666667%;
  }
  .col-lg-7 {
    width: 58.33333333%;
  }
  .col-lg-6 {
    width: 50%;
  }
  .col-lg-5 {
    width: 41.66666667%;
  }
  .col-lg-4 {
    width: 33.33333333%;
  }
  .col-lg-3 {
    width: 25%;
  }
  .col-lg-2 {
    width: 16.66666667%;
  }
  .col-lg-1 {
    width: 8.33333333%;
  }
  .col-lg-pull-12 {
    right: 100%;
  }
  .col-lg-pull-11 {
    right: 91.66666667%;
  }
  .col-lg-pull-10 {
    right: 83.33333333%;
  }
  .col-lg-pull-9 {
    right: 75%;
  }
  .col-lg-pull-8 {
    right: 66.66666667%;
  }
  .col-lg-pull-7 {
    right: 58.33333333%;
  }
  .col-lg-pull-6 {
    right: 50%;
  }
  .col-lg-pull-5 {
    right: 41.66666667%;
  }
  .col-lg-pull-4 {
    right: 33.33333333%;
  }
  .col-lg-pull-3 {
    right: 25%;
  }
  .col-lg-pull-2 {
    right: 16.66666667%;
  }
  .col-lg-pull-1 {
    right: 8.33333333%;
  }
  .col-lg-pull-0 {
    right: auto;
  }
  .col-lg-push-12 {
    left: 100%;
  }
  .col-lg-push-11 {
    left: 91.66666667%;
  }
  .col-lg-push-10 {
    left: 83.33333333%;
  }
  .col-lg-push-9 {
    left: 75%;
  }
  .col-lg-push-8 {
    left: 66.66666667%;
  }
  .col-lg-push-7 {
    left: 58.33333333%;
  }
  .col-lg-push-6 {
    left: 50%;
  }
  .col-lg-push-5 {
    left: 41.66666667%;
  }
  .col-lg-push-4 {
    left: 33.33333333%;
  }
  .col-lg-push-3 {
    left: 25%;
  }
  .col-lg-push-2 {
    left: 16.66666667%;
  }
  .col-lg-push-1 {
    left: 8.33333333%;
  }
  .col-lg-push-0 {
    left: auto;
  }
  .col-lg-offset-12 {
    margin-left: 100%;
  }
  .col-lg-offset-11 {
    margin-left: 91.66666667%;
  }
  .col-lg-offset-10 {
    margin-left: 83.33333333%;
  }
  .col-lg-offset-9 {
    margin-left: 75%;
  }
  .col-lg-offset-8 {
    margin-left: 66.66666667%;
  }
  .col-lg-offset-7 {
    margin-left: 58.33333333%;
  }
  .col-lg-offset-6 {
    margin-left: 50%;
  }
  .col-lg-offset-5 {
    margin-left: 41.66666667%;
  }
  .col-lg-offset-4 {
    margin-left: 33.33333333%;
  }
  .col-lg-offset-3 {
    margin-left: 25%;
  }
  .col-lg-offset-2 {
    margin-left: 16.66666667%;
  }
  .col-lg-offset-1 {
    margin-left: 8.33333333%;
  }
  .col-lg-offset-0 {
    margin-left: 0%;
  }
}
table {
  background-color: transparent;
}
caption {
  padding-top: 8px;
  padding-bottom: 8px;
  color: #777777;
  text-align: left;
}
th {
  text-align: left;
}
.table {
  width: 100%;
  max-width: 100%;
  margin-bottom: 18px;
}
.table &gt; thead &gt; tr &gt; th,
.table &gt; tbody &gt; tr &gt; th,
.table &gt; tfoot &gt; tr &gt; th,
.table &gt; thead &gt; tr &gt; td,
.table &gt; tbody &gt; tr &gt; td,
.table &gt; tfoot &gt; tr &gt; td {
  padding: 8px;
  line-height: 1.42857143;
  vertical-align: top;
  border-top: 1px solid #ddd;
}
.table &gt; thead &gt; tr &gt; th {
  vertical-align: bottom;
  border-bottom: 2px solid #ddd;
}
.table &gt; caption + thead &gt; tr:first-child &gt; th,
.table &gt; colgroup + thead &gt; tr:first-child &gt; th,
.table &gt; thead:first-child &gt; tr:first-child &gt; th,
.table &gt; caption + thead &gt; tr:first-child &gt; td,
.table &gt; colgroup + thead &gt; tr:first-child &gt; td,
.table &gt; thead:first-child &gt; tr:first-child &gt; td {
  border-top: 0;
}
.table &gt; tbody + tbody {
  border-top: 2px solid #ddd;
}
.table .table {
  background-color: #fff;
}
.table-condensed &gt; thead &gt; tr &gt; th,
.table-condensed &gt; tbody &gt; tr &gt; th,
.table-condensed &gt; tfoot &gt; tr &gt; th,
.table-condensed &gt; thead &gt; tr &gt; td,
.table-condensed &gt; tbody &gt; tr &gt; td,
.table-condensed &gt; tfoot &gt; tr &gt; td {
  padding: 5px;
}
.table-bordered {
  border: 1px solid #ddd;
}
.table-bordered &gt; thead &gt; tr &gt; th,
.table-bordered &gt; tbody &gt; tr &gt; th,
.table-bordered &gt; tfoot &gt; tr &gt; th,
.table-bordered &gt; thead &gt; tr &gt; td,
.table-bordered &gt; tbody &gt; tr &gt; td,
.table-bordered &gt; tfoot &gt; tr &gt; td {
  border: 1px solid #ddd;
}
.table-bordered &gt; thead &gt; tr &gt; th,
.table-bordered &gt; thead &gt; tr &gt; td {
  border-bottom-width: 2px;
}
.table-striped &gt; tbody &gt; tr:nth-of-type(odd) {
  background-color: #f9f9f9;
}
.table-hover &gt; tbody &gt; tr:hover {
  background-color: #f5f5f5;
}
table col[class*=&quot;col-&quot;] {
  position: static;
  float: none;
  display: table-column;
}
table td[class*=&quot;col-&quot;],
table th[class*=&quot;col-&quot;] {
  position: static;
  float: none;
  display: table-cell;
}
.table &gt; thead &gt; tr &gt; td.active,
.table &gt; tbody &gt; tr &gt; td.active,
.table &gt; tfoot &gt; tr &gt; td.active,
.table &gt; thead &gt; tr &gt; th.active,
.table &gt; tbody &gt; tr &gt; th.active,
.table &gt; tfoot &gt; tr &gt; th.active,
.table &gt; thead &gt; tr.active &gt; td,
.table &gt; tbody &gt; tr.active &gt; td,
.table &gt; tfoot &gt; tr.active &gt; td,
.table &gt; thead &gt; tr.active &gt; th,
.table &gt; tbody &gt; tr.active &gt; th,
.table &gt; tfoot &gt; tr.active &gt; th {
  background-color: #f5f5f5;
}
.table-hover &gt; tbody &gt; tr &gt; td.active:hover,
.table-hover &gt; tbody &gt; tr &gt; th.active:hover,
.table-hover &gt; tbody &gt; tr.active:hover &gt; td,
.table-hover &gt; tbody &gt; tr:hover &gt; .active,
.table-hover &gt; tbody &gt; tr.active:hover &gt; th {
  background-color: #e8e8e8;
}
.table &gt; thead &gt; tr &gt; td.success,
.table &gt; tbody &gt; tr &gt; td.success,
.table &gt; tfoot &gt; tr &gt; td.success,
.table &gt; thead &gt; tr &gt; th.success,
.table &gt; tbody &gt; tr &gt; th.success,
.table &gt; tfoot &gt; tr &gt; th.success,
.table &gt; thead &gt; tr.success &gt; td,
.table &gt; tbody &gt; tr.success &gt; td,
.table &gt; tfoot &gt; tr.success &gt; td,
.table &gt; thead &gt; tr.success &gt; th,
.table &gt; tbody &gt; tr.success &gt; th,
.table &gt; tfoot &gt; tr.success &gt; th {
  background-color: #dff0d8;
}
.table-hover &gt; tbody &gt; tr &gt; td.success:hover,
.table-hover &gt; tbody &gt; tr &gt; th.success:hover,
.table-hover &gt; tbody &gt; tr.success:hover &gt; td,
.table-hover &gt; tbody &gt; tr:hover &gt; .success,
.table-hover &gt; tbody &gt; tr.success:hover &gt; th {
  background-color: #d0e9c6;
}
.table &gt; thead &gt; tr &gt; td.info,
.table &gt; tbody &gt; tr &gt; td.info,
.table &gt; tfoot &gt; tr &gt; td.info,
.table &gt; thead &gt; tr &gt; th.info,
.table &gt; tbody &gt; tr &gt; th.info,
.table &gt; tfoot &gt; tr &gt; th.info,
.table &gt; thead &gt; tr.info &gt; td,
.table &gt; tbody &gt; tr.info &gt; td,
.table &gt; tfoot &gt; tr.info &gt; td,
.table &gt; thead &gt; tr.info &gt; th,
.table &gt; tbody &gt; tr.info &gt; th,
.table &gt; tfoot &gt; tr.info &gt; th {
  background-color: #d9edf7;
}
.table-hover &gt; tbody &gt; tr &gt; td.info:hover,
.table-hover &gt; tbody &gt; tr &gt; th.info:hover,
.table-hover &gt; tbody &gt; tr.info:hover &gt; td,
.table-hover &gt; tbody &gt; tr:hover &gt; .info,
.table-hover &gt; tbody &gt; tr.info:hover &gt; th {
  background-color: #c4e3f3;
}
.table &gt; thead &gt; tr &gt; td.warning,
.table &gt; tbody &gt; tr &gt; td.warning,
.table &gt; tfoot &gt; tr &gt; td.warning,
.table &gt; thead &gt; tr &gt; th.warning,
.table &gt; tbody &gt; tr &gt; th.warning,
.table &gt; tfoot &gt; tr &gt; th.warning,
.table &gt; thead &gt; tr.warning &gt; td,
.table &gt; tbody &gt; tr.warning &gt; td,
.table &gt; tfoot &gt; tr.warning &gt; td,
.table &gt; thead &gt; tr.warning &gt; th,
.table &gt; tbody &gt; tr.warning &gt; th,
.table &gt; tfoot &gt; tr.warning &gt; th {
  background-color: #fcf8e3;
}
.table-hover &gt; tbody &gt; tr &gt; td.warning:hover,
.table-hover &gt; tbody &gt; tr &gt; th.warning:hover,
.table-hover &gt; tbody &gt; tr.warning:hover &gt; td,
.table-hover &gt; tbody &gt; tr:hover &gt; .warning,
.table-hover &gt; tbody &gt; tr.warning:hover &gt; th {
  background-color: #faf2cc;
}
.table &gt; thead &gt; tr &gt; td.danger,
.table &gt; tbody &gt; tr &gt; td.danger,
.table &gt; tfoot &gt; tr &gt; td.danger,
.table &gt; thead &gt; tr &gt; th.danger,
.table &gt; tbody &gt; tr &gt; th.danger,
.table &gt; tfoot &gt; tr &gt; th.danger,
.table &gt; thead &gt; tr.danger &gt; td,
.table &gt; tbody &gt; tr.danger &gt; td,
.table &gt; tfoot &gt; tr.danger &gt; td,
.table &gt; thead &gt; tr.danger &gt; th,
.table &gt; tbody &gt; tr.danger &gt; th,
.table &gt; tfoot &gt; tr.danger &gt; th {
  background-color: #f2dede;
}
.table-hover &gt; tbody &gt; tr &gt; td.danger:hover,
.table-hover &gt; tbody &gt; tr &gt; th.danger:hover,
.table-hover &gt; tbody &gt; tr.danger:hover &gt; td,
.table-hover &gt; tbody &gt; tr:hover &gt; .danger,
.table-hover &gt; tbody &gt; tr.danger:hover &gt; th {
  background-color: #ebcccc;
}
.table-responsive {
  overflow-x: auto;
  min-height: 0.01%;
}
@media screen and (max-width: 767px) {
  .table-responsive {
    width: 100%;
    margin-bottom: 13.5px;
    overflow-y: hidden;
    -ms-overflow-style: -ms-autohiding-scrollbar;
    border: 1px solid #ddd;
  }
  .table-responsive &gt; .table {
    margin-bottom: 0;
  }
  .table-responsive &gt; .table &gt; thead &gt; tr &gt; th,
  .table-responsive &gt; .table &gt; tbody &gt; tr &gt; th,
  .table-responsive &gt; .table &gt; tfoot &gt; tr &gt; th,
  .table-responsive &gt; .table &gt; thead &gt; tr &gt; td,
  .table-responsive &gt; .table &gt; tbody &gt; tr &gt; td,
  .table-responsive &gt; .table &gt; tfoot &gt; tr &gt; td {
    white-space: nowrap;
  }
  .table-responsive &gt; .table-bordered {
    border: 0;
  }
  .table-responsive &gt; .table-bordered &gt; thead &gt; tr &gt; th:first-child,
  .table-responsive &gt; .table-bordered &gt; tbody &gt; tr &gt; th:first-child,
  .table-responsive &gt; .table-bordered &gt; tfoot &gt; tr &gt; th:first-child,
  .table-responsive &gt; .table-bordered &gt; thead &gt; tr &gt; td:first-child,
  .table-responsive &gt; .table-bordered &gt; tbody &gt; tr &gt; td:first-child,
  .table-responsive &gt; .table-bordered &gt; tfoot &gt; tr &gt; td:first-child {
    border-left: 0;
  }
  .table-responsive &gt; .table-bordered &gt; thead &gt; tr &gt; th:last-child,
  .table-responsive &gt; .table-bordered &gt; tbody &gt; tr &gt; th:last-child,
  .table-responsive &gt; .table-bordered &gt; tfoot &gt; tr &gt; th:last-child,
  .table-responsive &gt; .table-bordered &gt; thead &gt; tr &gt; td:last-child,
  .table-responsive &gt; .table-bordered &gt; tbody &gt; tr &gt; td:last-child,
  .table-responsive &gt; .table-bordered &gt; tfoot &gt; tr &gt; td:last-child {
    border-right: 0;
  }
  .table-responsive &gt; .table-bordered &gt; tbody &gt; tr:last-child &gt; th,
  .table-responsive &gt; .table-bordered &gt; tfoot &gt; tr:last-child &gt; th,
  .table-responsive &gt; .table-bordered &gt; tbody &gt; tr:last-child &gt; td,
  .table-responsive &gt; .table-bordered &gt; tfoot &gt; tr:last-child &gt; td {
    border-bottom: 0;
  }
}
fieldset {
  padding: 0;
  margin: 0;
  border: 0;
  min-width: 0;
}
legend {
  display: block;
  width: 100%;
  padding: 0;
  margin-bottom: 18px;
  font-size: 19.5px;
  line-height: inherit;
  color: #333333;
  border: 0;
  border-bottom: 1px solid #e5e5e5;
}
label {
  display: inline-block;
  max-width: 100%;
  margin-bottom: 5px;
  font-weight: bold;
}
input[type=&quot;search&quot;] {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
input[type=&quot;radio&quot;],
input[type=&quot;checkbox&quot;] {
  margin: 4px 0 0;
  margin-top: 1px \9;
  line-height: normal;
}
input[type=&quot;file&quot;] {
  display: block;
}
input[type=&quot;range&quot;] {
  display: block;
  width: 100%;
}
select[multiple],
select[size] {
  height: auto;
}
input[type=&quot;file&quot;]:focus,
input[type=&quot;radio&quot;]:focus,
input[type=&quot;checkbox&quot;]:focus {
  outline: 5px auto -webkit-focus-ring-color;
  outline-offset: -2px;
}
output {
  display: block;
  padding-top: 7px;
  font-size: 13px;
  line-height: 1.42857143;
  color: #555555;
}
.form-control {
  display: block;
  width: 100%;
  height: 32px;
  padding: 6px 12px;
  font-size: 13px;
  line-height: 1.42857143;
  color: #555555;
  background-color: #fff;
  background-image: none;
  border: 1px solid #ccc;
  border-radius: 2px;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
  -webkit-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
  -o-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
  transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
}
.form-control:focus {
  border-color: #66afe9;
  outline: 0;
  -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6);
  box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6);
}
.form-control::-moz-placeholder {
  color: #999;
  opacity: 1;
}
.form-control:-ms-input-placeholder {
  color: #999;
}
.form-control::-webkit-input-placeholder {
  color: #999;
}
.form-control::-ms-expand {
  border: 0;
  background-color: transparent;
}
.form-control[disabled],
.form-control[readonly],
fieldset[disabled] .form-control {
  background-color: #eeeeee;
  opacity: 1;
}
.form-control[disabled],
fieldset[disabled] .form-control {
  cursor: not-allowed;
}
textarea.form-control {
  height: auto;
}
input[type=&quot;search&quot;] {
  -webkit-appearance: none;
}
@media screen and (-webkit-min-device-pixel-ratio: 0) {
  input[type=&quot;date&quot;].form-control,
  input[type=&quot;time&quot;].form-control,
  input[type=&quot;datetime-local&quot;].form-control,
  input[type=&quot;month&quot;].form-control {
    line-height: 32px;
  }
  input[type=&quot;date&quot;].input-sm,
  input[type=&quot;time&quot;].input-sm,
  input[type=&quot;datetime-local&quot;].input-sm,
  input[type=&quot;month&quot;].input-sm,
  .input-group-sm input[type=&quot;date&quot;],
  .input-group-sm input[type=&quot;time&quot;],
  .input-group-sm input[type=&quot;datetime-local&quot;],
  .input-group-sm input[type=&quot;month&quot;] {
    line-height: 30px;
  }
  input[type=&quot;date&quot;].input-lg,
  input[type=&quot;time&quot;].input-lg,
  input[type=&quot;datetime-local&quot;].input-lg,
  input[type=&quot;month&quot;].input-lg,
  .input-group-lg input[type=&quot;date&quot;],
  .input-group-lg input[type=&quot;time&quot;],
  .input-group-lg input[type=&quot;datetime-local&quot;],
  .input-group-lg input[type=&quot;month&quot;] {
    line-height: 45px;
  }
}
.form-group {
  margin-bottom: 15px;
}
.radio,
.checkbox {
  position: relative;
  display: block;
  margin-top: 10px;
  margin-bottom: 10px;
}
.radio label,
.checkbox label {
  min-height: 18px;
  padding-left: 20px;
  margin-bottom: 0;
  font-weight: normal;
  cursor: pointer;
}
.radio input[type=&quot;radio&quot;],
.radio-inline input[type=&quot;radio&quot;],
.checkbox input[type=&quot;checkbox&quot;],
.checkbox-inline input[type=&quot;checkbox&quot;] {
  position: absolute;
  margin-left: -20px;
  margin-top: 4px \9;
}
.radio + .radio,
.checkbox + .checkbox {
  margin-top: -5px;
}
.radio-inline,
.checkbox-inline {
  position: relative;
  display: inline-block;
  padding-left: 20px;
  margin-bottom: 0;
  vertical-align: middle;
  font-weight: normal;
  cursor: pointer;
}
.radio-inline + .radio-inline,
.checkbox-inline + .checkbox-inline {
  margin-top: 0;
  margin-left: 10px;
}
input[type=&quot;radio&quot;][disabled],
input[type=&quot;checkbox&quot;][disabled],
input[type=&quot;radio&quot;].disabled,
input[type=&quot;checkbox&quot;].disabled,
fieldset[disabled] input[type=&quot;radio&quot;],
fieldset[disabled] input[type=&quot;checkbox&quot;] {
  cursor: not-allowed;
}
.radio-inline.disabled,
.checkbox-inline.disabled,
fieldset[disabled] .radio-inline,
fieldset[disabled] .checkbox-inline {
  cursor: not-allowed;
}
.radio.disabled label,
.checkbox.disabled label,
fieldset[disabled] .radio label,
fieldset[disabled] .checkbox label {
  cursor: not-allowed;
}
.form-control-static {
  padding-top: 7px;
  padding-bottom: 7px;
  margin-bottom: 0;
  min-height: 31px;
}
.form-control-static.input-lg,
.form-control-static.input-sm {
  padding-left: 0;
  padding-right: 0;
}
.input-sm {
  height: 30px;
  padding: 5px 10px;
  font-size: 12px;
  line-height: 1.5;
  border-radius: 1px;
}
select.input-sm {
  height: 30px;
  line-height: 30px;
}
textarea.input-sm,
select[multiple].input-sm {
  height: auto;
}
.form-group-sm .form-control {
  height: 30px;
  padding: 5px 10px;
  font-size: 12px;
  line-height: 1.5;
  border-radius: 1px;
}
.form-group-sm select.form-control {
  height: 30px;
  line-height: 30px;
}
.form-group-sm textarea.form-control,
.form-group-sm select[multiple].form-control {
  height: auto;
}
.form-group-sm .form-control-static {
  height: 30px;
  min-height: 30px;
  padding: 6px 10px;
  font-size: 12px;
  line-height: 1.5;
}
.input-lg {
  height: 45px;
  padding: 10px 16px;
  font-size: 17px;
  line-height: 1.3333333;
  border-radius: 3px;
}
select.input-lg {
  height: 45px;
  line-height: 45px;
}
textarea.input-lg,
select[multiple].input-lg {
  height: auto;
}
.form-group-lg .form-control {
  height: 45px;
  padding: 10px 16px;
  font-size: 17px;
  line-height: 1.3333333;
  border-radius: 3px;
}
.form-group-lg select.form-control {
  height: 45px;
  line-height: 45px;
}
.form-group-lg textarea.form-control,
.form-group-lg select[multiple].form-control {
  height: auto;
}
.form-group-lg .form-control-static {
  height: 45px;
  min-height: 35px;
  padding: 11px 16px;
  font-size: 17px;
  line-height: 1.3333333;
}
.has-feedback {
  position: relative;
}
.has-feedback .form-control {
  padding-right: 40px;
}
.form-control-feedback {
  position: absolute;
  top: 0;
  right: 0;
  z-index: 2;
  display: block;
  width: 32px;
  height: 32px;
  line-height: 32px;
  text-align: center;
  pointer-events: none;
}
.input-lg + .form-control-feedback,
.input-group-lg + .form-control-feedback,
.form-group-lg .form-control + .form-control-feedback {
  width: 45px;
  height: 45px;
  line-height: 45px;
}
.input-sm + .form-control-feedback,
.input-group-sm + .form-control-feedback,
.form-group-sm .form-control + .form-control-feedback {
  width: 30px;
  height: 30px;
  line-height: 30px;
}
.has-success .help-block,
.has-success .control-label,
.has-success .radio,
.has-success .checkbox,
.has-success .radio-inline,
.has-success .checkbox-inline,
.has-success.radio label,
.has-success.checkbox label,
.has-success.radio-inline label,
.has-success.checkbox-inline label {
  color: #3c763d;
}
.has-success .form-control {
  border-color: #3c763d;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
}
.has-success .form-control:focus {
  border-color: #2b542c;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #67b168;
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #67b168;
}
.has-success .input-group-addon {
  color: #3c763d;
  border-color: #3c763d;
  background-color: #dff0d8;
}
.has-success .form-control-feedback {
  color: #3c763d;
}
.has-warning .help-block,
.has-warning .control-label,
.has-warning .radio,
.has-warning .checkbox,
.has-warning .radio-inline,
.has-warning .checkbox-inline,
.has-warning.radio label,
.has-warning.checkbox label,
.has-warning.radio-inline label,
.has-warning.checkbox-inline label {
  color: #8a6d3b;
}
.has-warning .form-control {
  border-color: #8a6d3b;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
}
.has-warning .form-control:focus {
  border-color: #66512c;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #c0a16b;
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #c0a16b;
}
.has-warning .input-group-addon {
  color: #8a6d3b;
  border-color: #8a6d3b;
  background-color: #fcf8e3;
}
.has-warning .form-control-feedback {
  color: #8a6d3b;
}
.has-error .help-block,
.has-error .control-label,
.has-error .radio,
.has-error .checkbox,
.has-error .radio-inline,
.has-error .checkbox-inline,
.has-error.radio label,
.has-error.checkbox label,
.has-error.radio-inline label,
.has-error.checkbox-inline label {
  color: #a94442;
}
.has-error .form-control {
  border-color: #a94442;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
}
.has-error .form-control:focus {
  border-color: #843534;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ce8483;
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ce8483;
}
.has-error .input-group-addon {
  color: #a94442;
  border-color: #a94442;
  background-color: #f2dede;
}
.has-error .form-control-feedback {
  color: #a94442;
}
.has-feedback label ~ .form-control-feedback {
  top: 23px;
}
.has-feedback label.sr-only ~ .form-control-feedback {
  top: 0;
}
.help-block {
  display: block;
  margin-top: 5px;
  margin-bottom: 10px;
  color: #404040;
}
@media (min-width: 768px) {
  .form-inline .form-group {
    display: inline-block;
    margin-bottom: 0;
    vertical-align: middle;
  }
  .form-inline .form-control {
    display: inline-block;
    width: auto;
    vertical-align: middle;
  }
  .form-inline .form-control-static {
    display: inline-block;
  }
  .form-inline .input-group {
    display: inline-table;
    vertical-align: middle;
  }
  .form-inline .input-group .input-group-addon,
  .form-inline .input-group .input-group-btn,
  .form-inline .input-group .form-control {
    width: auto;
  }
  .form-inline .input-group &gt; .form-control {
    width: 100%;
  }
  .form-inline .control-label {
    margin-bottom: 0;
    vertical-align: middle;
  }
  .form-inline .radio,
  .form-inline .checkbox {
    display: inline-block;
    margin-top: 0;
    margin-bottom: 0;
    vertical-align: middle;
  }
  .form-inline .radio label,
  .form-inline .checkbox label {
    padding-left: 0;
  }
  .form-inline .radio input[type=&quot;radio&quot;],
  .form-inline .checkbox input[type=&quot;checkbox&quot;] {
    position: relative;
    margin-left: 0;
  }
  .form-inline .has-feedback .form-control-feedback {
    top: 0;
  }
}
.form-horizontal .radio,
.form-horizontal .checkbox,
.form-horizontal .radio-inline,
.form-horizontal .checkbox-inline {
  margin-top: 0;
  margin-bottom: 0;
  padding-top: 7px;
}
.form-horizontal .radio,
.form-horizontal .checkbox {
  min-height: 25px;
}
.form-horizontal .form-group {
  margin-left: 0px;
  margin-right: 0px;
}
@media (min-width: 768px) {
  .form-horizontal .control-label {
    text-align: right;
    margin-bottom: 0;
    padding-top: 7px;
  }
}
.form-horizontal .has-feedback .form-control-feedback {
  right: 0px;
}
@media (min-width: 768px) {
  .form-horizontal .form-group-lg .control-label {
    padding-top: 11px;
    font-size: 17px;
  }
}
@media (min-width: 768px) {
  .form-horizontal .form-group-sm .control-label {
    padding-top: 6px;
    font-size: 12px;
  }
}
.btn {
  display: inline-block;
  margin-bottom: 0;
  font-weight: normal;
  text-align: center;
  vertical-align: middle;
  touch-action: manipulation;
  cursor: pointer;
  background-image: none;
  border: 1px solid transparent;
  white-space: nowrap;
  padding: 6px 12px;
  font-size: 13px;
  line-height: 1.42857143;
  border-radius: 2px;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}
.btn:focus,
.btn:active:focus,
.btn.active:focus,
.btn.focus,
.btn:active.focus,
.btn.active.focus {
  outline: 5px auto -webkit-focus-ring-color;
  outline-offset: -2px;
}
.btn:hover,
.btn:focus,
.btn.focus {
  color: #333;
  text-decoration: none;
}
.btn:active,
.btn.active {
  outline: 0;
  background-image: none;
  -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
}
.btn.disabled,
.btn[disabled],
fieldset[disabled] .btn {
  cursor: not-allowed;
  opacity: 0.65;
  filter: alpha(opacity=65);
  -webkit-box-shadow: none;
  box-shadow: none;
}
a.btn.disabled,
fieldset[disabled] a.btn {
  pointer-events: none;
}
.btn-default {
  color: #333;
  background-color: #fff;
  border-color: #ccc;
}
.btn-default:focus,
.btn-default.focus {
  color: #333;
  background-color: #e6e6e6;
  border-color: #8c8c8c;
}
.btn-default:hover {
  color: #333;
  background-color: #e6e6e6;
  border-color: #adadad;
}
.btn-default:active,
.btn-default.active,
.open &gt; .dropdown-toggle.btn-default {
  color: #333;
  background-color: #e6e6e6;
  border-color: #adadad;
}
.btn-default:active:hover,
.btn-default.active:hover,
.open &gt; .dropdown-toggle.btn-default:hover,
.btn-default:active:focus,
.btn-default.active:focus,
.open &gt; .dropdown-toggle.btn-default:focus,
.btn-default:active.focus,
.btn-default.active.focus,
.open &gt; .dropdown-toggle.btn-default.focus {
  color: #333;
  background-color: #d4d4d4;
  border-color: #8c8c8c;
}
.btn-default:active,
.btn-default.active,
.open &gt; .dropdown-toggle.btn-default {
  background-image: none;
}
.btn-default.disabled:hover,
.btn-default[disabled]:hover,
fieldset[disabled] .btn-default:hover,
.btn-default.disabled:focus,
.btn-default[disabled]:focus,
fieldset[disabled] .btn-default:focus,
.btn-default.disabled.focus,
.btn-default[disabled].focus,
fieldset[disabled] .btn-default.focus {
  background-color: #fff;
  border-color: #ccc;
}
.btn-default .badge {
  color: #fff;
  background-color: #333;
}
.btn-primary {
  color: #fff;
  background-color: #337ab7;
  border-color: #2e6da4;
}
.btn-primary:focus,
.btn-primary.focus {
  color: #fff;
  background-color: #286090;
  border-color: #122b40;
}
.btn-primary:hover {
  color: #fff;
  background-color: #286090;
  border-color: #204d74;
}
.btn-primary:active,
.btn-primary.active,
.open &gt; .dropdown-toggle.btn-primary {
  color: #fff;
  background-color: #286090;
  border-color: #204d74;
}
.btn-primary:active:hover,
.btn-primary.active:hover,
.open &gt; .dropdown-toggle.btn-primary:hover,
.btn-primary:active:focus,
.btn-primary.active:focus,
.open &gt; .dropdown-toggle.btn-primary:focus,
.btn-primary:active.focus,
.btn-primary.active.focus,
.open &gt; .dropdown-toggle.btn-primary.focus {
  color: #fff;
  background-color: #204d74;
  border-color: #122b40;
}
.btn-primary:active,
.btn-primary.active,
.open &gt; .dropdown-toggle.btn-primary {
  background-image: none;
}
.btn-primary.disabled:hover,
.btn-primary[disabled]:hover,
fieldset[disabled] .btn-primary:hover,
.btn-primary.disabled:focus,
.btn-primary[disabled]:focus,
fieldset[disabled] .btn-primary:focus,
.btn-primary.disabled.focus,
.btn-primary[disabled].focus,
fieldset[disabled] .btn-primary.focus {
  background-color: #337ab7;
  border-color: #2e6da4;
}
.btn-primary .badge {
  color: #337ab7;
  background-color: #fff;
}
.btn-success {
  color: #fff;
  background-color: #5cb85c;
  border-color: #4cae4c;
}
.btn-success:focus,
.btn-success.focus {
  color: #fff;
  background-color: #449d44;
  border-color: #255625;
}
.btn-success:hover {
  color: #fff;
  background-color: #449d44;
  border-color: #398439;
}
.btn-success:active,
.btn-success.active,
.open &gt; .dropdown-toggle.btn-success {
  color: #fff;
  background-color: #449d44;
  border-color: #398439;
}
.btn-success:active:hover,
.btn-success.active:hover,
.open &gt; .dropdown-toggle.btn-success:hover,
.btn-success:active:focus,
.btn-success.active:focus,
.open &gt; .dropdown-toggle.btn-success:focus,
.btn-success:active.focus,
.btn-success.active.focus,
.open &gt; .dropdown-toggle.btn-success.focus {
  color: #fff;
  background-color: #398439;
  border-color: #255625;
}
.btn-success:active,
.btn-success.active,
.open &gt; .dropdown-toggle.btn-success {
  background-image: none;
}
.btn-success.disabled:hover,
.btn-success[disabled]:hover,
fieldset[disabled] .btn-success:hover,
.btn-success.disabled:focus,
.btn-success[disabled]:focus,
fieldset[disabled] .btn-success:focus,
.btn-success.disabled.focus,
.btn-success[disabled].focus,
fieldset[disabled] .btn-success.focus {
  background-color: #5cb85c;
  border-color: #4cae4c;
}
.btn-success .badge {
  color: #5cb85c;
  background-color: #fff;
}
.btn-info {
  color: #fff;
  background-color: #5bc0de;
  border-color: #46b8da;
}
.btn-info:focus,
.btn-info.focus {
  color: #fff;
  background-color: #31b0d5;
  border-color: #1b6d85;
}
.btn-info:hover {
  color: #fff;
  background-color: #31b0d5;
  border-color: #269abc;
}
.btn-info:active,
.btn-info.active,
.open &gt; .dropdown-toggle.btn-info {
  color: #fff;
  background-color: #31b0d5;
  border-color: #269abc;
}
.btn-info:active:hover,
.btn-info.active:hover,
.open &gt; .dropdown-toggle.btn-info:hover,
.btn-info:active:focus,
.btn-info.active:focus,
.open &gt; .dropdown-toggle.btn-info:focus,
.btn-info:active.focus,
.btn-info.active.focus,
.open &gt; .dropdown-toggle.btn-info.focus {
  color: #fff;
  background-color: #269abc;
  border-color: #1b6d85;
}
.btn-info:active,
.btn-info.active,
.open &gt; .dropdown-toggle.btn-info {
  background-image: none;
}
.btn-info.disabled:hover,
.btn-info[disabled]:hover,
fieldset[disabled] .btn-info:hover,
.btn-info.disabled:focus,
.btn-info[disabled]:focus,
fieldset[disabled] .btn-info:focus,
.btn-info.disabled.focus,
.btn-info[disabled].focus,
fieldset[disabled] .btn-info.focus {
  background-color: #5bc0de;
  border-color: #46b8da;
}
.btn-info .badge {
  color: #5bc0de;
  background-color: #fff;
}
.btn-warning {
  color: #fff;
  background-color: #f0ad4e;
  border-color: #eea236;
}
.btn-warning:focus,
.btn-warning.focus {
  color: #fff;
  background-color: #ec971f;
  border-color: #985f0d;
}
.btn-warning:hover {
  color: #fff;
  background-color: #ec971f;
  border-color: #d58512;
}
.btn-warning:active,
.btn-warning.active,
.open &gt; .dropdown-toggle.btn-warning {
  color: #fff;
  background-color: #ec971f;
  border-color: #d58512;
}
.btn-warning:active:hover,
.btn-warning.active:hover,
.open &gt; .dropdown-toggle.btn-warning:hover,
.btn-warning:active:focus,
.btn-warning.active:focus,
.open &gt; .dropdown-toggle.btn-warning:focus,
.btn-warning:active.focus,
.btn-warning.active.focus,
.open &gt; .dropdown-toggle.btn-warning.focus {
  color: #fff;
  background-color: #d58512;
  border-color: #985f0d;
}
.btn-warning:active,
.btn-warning.active,
.open &gt; .dropdown-toggle.btn-warning {
  background-image: none;
}
.btn-warning.disabled:hover,
.btn-warning[disabled]:hover,
fieldset[disabled] .btn-warning:hover,
.btn-warning.disabled:focus,
.btn-warning[disabled]:focus,
fieldset[disabled] .btn-warning:focus,
.btn-warning.disabled.focus,
.btn-warning[disabled].focus,
fieldset[disabled] .btn-warning.focus {
  background-color: #f0ad4e;
  border-color: #eea236;
}
.btn-warning .badge {
  color: #f0ad4e;
  background-color: #fff;
}
.btn-danger {
  color: #fff;
  background-color: #d9534f;
  border-color: #d43f3a;
}
.btn-danger:focus,
.btn-danger.focus {
  color: #fff;
  background-color: #c9302c;
  border-color: #761c19;
}
.btn-danger:hover {
  color: #fff;
  background-color: #c9302c;
  border-color: #ac2925;
}
.btn-danger:active,
.btn-danger.active,
.open &gt; .dropdown-toggle.btn-danger {
  color: #fff;
  background-color: #c9302c;
  border-color: #ac2925;
}
.btn-danger:active:hover,
.btn-danger.active:hover,
.open &gt; .dropdown-toggle.btn-danger:hover,
.btn-danger:active:focus,
.btn-danger.active:focus,
.open &gt; .dropdown-toggle.btn-danger:focus,
.btn-danger:active.focus,
.btn-danger.active.focus,
.open &gt; .dropdown-toggle.btn-danger.focus {
  color: #fff;
  background-color: #ac2925;
  border-color: #761c19;
}
.btn-danger:active,
.btn-danger.active,
.open &gt; .dropdown-toggle.btn-danger {
  background-image: none;
}
.btn-danger.disabled:hover,
.btn-danger[disabled]:hover,
fieldset[disabled] .btn-danger:hover,
.btn-danger.disabled:focus,
.btn-danger[disabled]:focus,
fieldset[disabled] .btn-danger:focus,
.btn-danger.disabled.focus,
.btn-danger[disabled].focus,
fieldset[disabled] .btn-danger.focus {
  background-color: #d9534f;
  border-color: #d43f3a;
}
.btn-danger .badge {
  color: #d9534f;
  background-color: #fff;
}
.btn-link {
  color: #337ab7;
  font-weight: normal;
  border-radius: 0;
}
.btn-link,
.btn-link:active,
.btn-link.active,
.btn-link[disabled],
fieldset[disabled] .btn-link {
  background-color: transparent;
  -webkit-box-shadow: none;
  box-shadow: none;
}
.btn-link,
.btn-link:hover,
.btn-link:focus,
.btn-link:active {
  border-color: transparent;
}
.btn-link:hover,
.btn-link:focus {
  color: #23527c;
  text-decoration: underline;
  background-color: transparent;
}
.btn-link[disabled]:hover,
fieldset[disabled] .btn-link:hover,
.btn-link[disabled]:focus,
fieldset[disabled] .btn-link:focus {
  color: #777777;
  text-decoration: none;
}
.btn-lg,
.btn-group-lg &gt; .btn {
  padding: 10px 16px;
  font-size: 17px;
  line-height: 1.3333333;
  border-radius: 3px;
}
.btn-sm,
.btn-group-sm &gt; .btn {
  padding: 5px 10px;
  font-size: 12px;
  line-height: 1.5;
  border-radius: 1px;
}
.btn-xs,
.btn-group-xs &gt; .btn {
  padding: 1px 5px;
  font-size: 12px;
  line-height: 1.5;
  border-radius: 1px;
}
.btn-block {
  display: block;
  width: 100%;
}
.btn-block + .btn-block {
  margin-top: 5px;
}
input[type=&quot;submit&quot;].btn-block,
input[type=&quot;reset&quot;].btn-block,
input[type=&quot;button&quot;].btn-block {
  width: 100%;
}
.fade {
  opacity: 0;
  -webkit-transition: opacity 0.15s linear;
  -o-transition: opacity 0.15s linear;
  transition: opacity 0.15s linear;
}
.fade.in {
  opacity: 1;
}
.collapse {
  display: none;
}
.collapse.in {
  display: block;
}
tr.collapse.in {
  display: table-row;
}
tbody.collapse.in {
  display: table-row-group;
}
.collapsing {
  position: relative;
  height: 0;
  overflow: hidden;
  -webkit-transition-property: height, visibility;
  transition-property: height, visibility;
  -webkit-transition-duration: 0.35s;
  transition-duration: 0.35s;
  -webkit-transition-timing-function: ease;
  transition-timing-function: ease;
}
.caret {
  display: inline-block;
  width: 0;
  height: 0;
  margin-left: 2px;
  vertical-align: middle;
  border-top: 4px dashed;
  border-top: 4px solid \9;
  border-right: 4px solid transparent;
  border-left: 4px solid transparent;
}
.dropup,
.dropdown {
  position: relative;
}
.dropdown-toggle:focus {
  outline: 0;
}
.dropdown-menu {
  position: absolute;
  top: 100%;
  left: 0;
  z-index: 1000;
  display: none;
  float: left;
  min-width: 160px;
  padding: 5px 0;
  margin: 2px 0 0;
  list-style: none;
  font-size: 13px;
  text-align: left;
  background-color: #fff;
  border: 1px solid #ccc;
  border: 1px solid rgba(0, 0, 0, 0.15);
  border-radius: 2px;
  -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);
  box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);
  background-clip: padding-box;
}
.dropdown-menu.pull-right {
  right: 0;
  left: auto;
}
.dropdown-menu .divider {
  height: 1px;
  margin: 8px 0;
  overflow: hidden;
  background-color: #e5e5e5;
}
.dropdown-menu &gt; li &gt; a {
  display: block;
  padding: 3px 20px;
  clear: both;
  font-weight: normal;
  line-height: 1.42857143;
  color: #333333;
  white-space: nowrap;
}
.dropdown-menu &gt; li &gt; a:hover,
.dropdown-menu &gt; li &gt; a:focus {
  text-decoration: none;
  color: #262626;
  background-color: #f5f5f5;
}
.dropdown-menu &gt; .active &gt; a,
.dropdown-menu &gt; .active &gt; a:hover,
.dropdown-menu &gt; .active &gt; a:focus {
  color: #fff;
  text-decoration: none;
  outline: 0;
  background-color: #337ab7;
}
.dropdown-menu &gt; .disabled &gt; a,
.dropdown-menu &gt; .disabled &gt; a:hover,
.dropdown-menu &gt; .disabled &gt; a:focus {
  color: #777777;
}
.dropdown-menu &gt; .disabled &gt; a:hover,
.dropdown-menu &gt; .disabled &gt; a:focus {
  text-decoration: none;
  background-color: transparent;
  background-image: none;
  filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
  cursor: not-allowed;
}
.open &gt; .dropdown-menu {
  display: block;
}
.open &gt; a {
  outline: 0;
}
.dropdown-menu-right {
  left: auto;
  right: 0;
}
.dropdown-menu-left {
  left: 0;
  right: auto;
}
.dropdown-header {
  display: block;
  padding: 3px 20px;
  font-size: 12px;
  line-height: 1.42857143;
  color: #777777;
  white-space: nowrap;
}
.dropdown-backdrop {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  top: 0;
  z-index: 990;
}
.pull-right &gt; .dropdown-menu {
  right: 0;
  left: auto;
}
.dropup .caret,
.navbar-fixed-bottom .dropdown .caret {
  border-top: 0;
  border-bottom: 4px dashed;
  border-bottom: 4px solid \9;
  content: &quot;&quot;;
}
.dropup .dropdown-menu,
.navbar-fixed-bottom .dropdown .dropdown-menu {
  top: auto;
  bottom: 100%;
  margin-bottom: 2px;
}
@media (min-width: 541px) {
  .navbar-right .dropdown-menu {
    left: auto;
    right: 0;
  }
  .navbar-right .dropdown-menu-left {
    left: 0;
    right: auto;
  }
}
.btn-group,
.btn-group-vertical {
  position: relative;
  display: inline-block;
  vertical-align: middle;
}
.btn-group &gt; .btn,
.btn-group-vertical &gt; .btn {
  position: relative;
  float: left;
}
.btn-group &gt; .btn:hover,
.btn-group-vertical &gt; .btn:hover,
.btn-group &gt; .btn:focus,
.btn-group-vertical &gt; .btn:focus,
.btn-group &gt; .btn:active,
.btn-group-vertical &gt; .btn:active,
.btn-group &gt; .btn.active,
.btn-group-vertical &gt; .btn.active {
  z-index: 2;
}
.btn-group .btn + .btn,
.btn-group .btn + .btn-group,
.btn-group .btn-group + .btn,
.btn-group .btn-group + .btn-group {
  margin-left: -1px;
}
.btn-toolbar {
  margin-left: -5px;
}
.btn-toolbar .btn,
.btn-toolbar .btn-group,
.btn-toolbar .input-group {
  float: left;
}
.btn-toolbar &gt; .btn,
.btn-toolbar &gt; .btn-group,
.btn-toolbar &gt; .input-group {
  margin-left: 5px;
}
.btn-group &gt; .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) {
  border-radius: 0;
}
.btn-group &gt; .btn:first-child {
  margin-left: 0;
}
.btn-group &gt; .btn:first-child:not(:last-child):not(.dropdown-toggle) {
  border-bottom-right-radius: 0;
  border-top-right-radius: 0;
}
.btn-group &gt; .btn:last-child:not(:first-child),
.btn-group &gt; .dropdown-toggle:not(:first-child) {
  border-bottom-left-radius: 0;
  border-top-left-radius: 0;
}
.btn-group &gt; .btn-group {
  float: left;
}
.btn-group &gt; .btn-group:not(:first-child):not(:last-child) &gt; .btn {
  border-radius: 0;
}
.btn-group &gt; .btn-group:first-child:not(:last-child) &gt; .btn:last-child,
.btn-group &gt; .btn-group:first-child:not(:last-child) &gt; .dropdown-toggle {
  border-bottom-right-radius: 0;
  border-top-right-radius: 0;
}
.btn-group &gt; .btn-group:last-child:not(:first-child) &gt; .btn:first-child {
  border-bottom-left-radius: 0;
  border-top-left-radius: 0;
}
.btn-group .dropdown-toggle:active,
.btn-group.open .dropdown-toggle {
  outline: 0;
}
.btn-group &gt; .btn + .dropdown-toggle {
  padding-left: 8px;
  padding-right: 8px;
}
.btn-group &gt; .btn-lg + .dropdown-toggle {
  padding-left: 12px;
  padding-right: 12px;
}
.btn-group.open .dropdown-toggle {
  -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
}
.btn-group.open .dropdown-toggle.btn-link {
  -webkit-box-shadow: none;
  box-shadow: none;
}
.btn .caret {
  margin-left: 0;
}
.btn-lg .caret {
  border-width: 5px 5px 0;
  border-bottom-width: 0;
}
.dropup .btn-lg .caret {
  border-width: 0 5px 5px;
}
.btn-group-vertical &gt; .btn,
.btn-group-vertical &gt; .btn-group,
.btn-group-vertical &gt; .btn-group &gt; .btn {
  display: block;
  float: none;
  width: 100%;
  max-width: 100%;
}
.btn-group-vertical &gt; .btn-group &gt; .btn {
  float: none;
}
.btn-group-vertical &gt; .btn + .btn,
.btn-group-vertical &gt; .btn + .btn-group,
.btn-group-vertical &gt; .btn-group + .btn,
.btn-group-vertical &gt; .btn-group + .btn-group {
  margin-top: -1px;
  margin-left: 0;
}
.btn-group-vertical &gt; .btn:not(:first-child):not(:last-child) {
  border-radius: 0;
}
.btn-group-vertical &gt; .btn:first-child:not(:last-child) {
  border-top-right-radius: 2px;
  border-top-left-radius: 2px;
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
}
.btn-group-vertical &gt; .btn:last-child:not(:first-child) {
  border-top-right-radius: 0;
  border-top-left-radius: 0;
  border-bottom-right-radius: 2px;
  border-bottom-left-radius: 2px;
}
.btn-group-vertical &gt; .btn-group:not(:first-child):not(:last-child) &gt; .btn {
  border-radius: 0;
}
.btn-group-vertical &gt; .btn-group:first-child:not(:last-child) &gt; .btn:last-child,
.btn-group-vertical &gt; .btn-group:first-child:not(:last-child) &gt; .dropdown-toggle {
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
}
.btn-group-vertical &gt; .btn-group:last-child:not(:first-child) &gt; .btn:first-child {
  border-top-right-radius: 0;
  border-top-left-radius: 0;
}
.btn-group-justified {
  display: table;
  width: 100%;
  table-layout: fixed;
  border-collapse: separate;
}
.btn-group-justified &gt; .btn,
.btn-group-justified &gt; .btn-group {
  float: none;
  display: table-cell;
  width: 1%;
}
.btn-group-justified &gt; .btn-group .btn {
  width: 100%;
}
.btn-group-justified &gt; .btn-group .dropdown-menu {
  left: auto;
}
[data-toggle=&quot;buttons&quot;] &gt; .btn input[type=&quot;radio&quot;],
[data-toggle=&quot;buttons&quot;] &gt; .btn-group &gt; .btn input[type=&quot;radio&quot;],
[data-toggle=&quot;buttons&quot;] &gt; .btn input[type=&quot;checkbox&quot;],
[data-toggle=&quot;buttons&quot;] &gt; .btn-group &gt; .btn input[type=&quot;checkbox&quot;] {
  position: absolute;
  clip: rect(0, 0, 0, 0);
  pointer-events: none;
}
.input-group {
  position: relative;
  display: table;
  border-collapse: separate;
}
.input-group[class*=&quot;col-&quot;] {
  float: none;
  padding-left: 0;
  padding-right: 0;
}
.input-group .form-control {
  position: relative;
  z-index: 2;
  float: left;
  width: 100%;
  margin-bottom: 0;
}
.input-group .form-control:focus {
  z-index: 3;
}
.input-group-lg &gt; .form-control,
.input-group-lg &gt; .input-group-addon,
.input-group-lg &gt; .input-group-btn &gt; .btn {
  height: 45px;
  padding: 10px 16px;
  font-size: 17px;
  line-height: 1.3333333;
  border-radius: 3px;
}
select.input-group-lg &gt; .form-control,
select.input-group-lg &gt; .input-group-addon,
select.input-group-lg &gt; .input-group-btn &gt; .btn {
  height: 45px;
  line-height: 45px;
}
textarea.input-group-lg &gt; .form-control,
textarea.input-group-lg &gt; .input-group-addon,
textarea.input-group-lg &gt; .input-group-btn &gt; .btn,
select[multiple].input-group-lg &gt; .form-control,
select[multiple].input-group-lg &gt; .input-group-addon,
select[multiple].input-group-lg &gt; .input-group-btn &gt; .btn {
  height: auto;
}
.input-group-sm &gt; .form-control,
.input-group-sm &gt; .input-group-addon,
.input-group-sm &gt; .input-group-btn &gt; .btn {
  height: 30px;
  padding: 5px 10px;
  font-size: 12px;
  line-height: 1.5;
  border-radius: 1px;
}
select.input-group-sm &gt; .form-control,
select.input-group-sm &gt; .input-group-addon,
select.input-group-sm &gt; .input-group-btn &gt; .btn {
  height: 30px;
  line-height: 30px;
}
textarea.input-group-sm &gt; .form-control,
textarea.input-group-sm &gt; .input-group-addon,
textarea.input-group-sm &gt; .input-group-btn &gt; .btn,
select[multiple].input-group-sm &gt; .form-control,
select[multiple].input-group-sm &gt; .input-group-addon,
select[multiple].input-group-sm &gt; .input-group-btn &gt; .btn {
  height: auto;
}
.input-group-addon,
.input-group-btn,
.input-group .form-control {
  display: table-cell;
}
.input-group-addon:not(:first-child):not(:last-child),
.input-group-btn:not(:first-child):not(:last-child),
.input-group .form-control:not(:first-child):not(:last-child) {
  border-radius: 0;
}
.input-group-addon,
.input-group-btn {
  width: 1%;
  white-space: nowrap;
  vertical-align: middle;
}
.input-group-addon {
  padding: 6px 12px;
  font-size: 13px;
  font-weight: normal;
  line-height: 1;
  color: #555555;
  text-align: center;
  background-color: #eeeeee;
  border: 1px solid #ccc;
  border-radius: 2px;
}
.input-group-addon.input-sm {
  padding: 5px 10px;
  font-size: 12px;
  border-radius: 1px;
}
.input-group-addon.input-lg {
  padding: 10px 16px;
  font-size: 17px;
  border-radius: 3px;
}
.input-group-addon input[type=&quot;radio&quot;],
.input-group-addon input[type=&quot;checkbox&quot;] {
  margin-top: 0;
}
.input-group .form-control:first-child,
.input-group-addon:first-child,
.input-group-btn:first-child &gt; .btn,
.input-group-btn:first-child &gt; .btn-group &gt; .btn,
.input-group-btn:first-child &gt; .dropdown-toggle,
.input-group-btn:last-child &gt; .btn:not(:last-child):not(.dropdown-toggle),
.input-group-btn:last-child &gt; .btn-group:not(:last-child) &gt; .btn {
  border-bottom-right-radius: 0;
  border-top-right-radius: 0;
}
.input-group-addon:first-child {
  border-right: 0;
}
.input-group .form-control:last-child,
.input-group-addon:last-child,
.input-group-btn:last-child &gt; .btn,
.input-group-btn:last-child &gt; .btn-group &gt; .btn,
.input-group-btn:last-child &gt; .dropdown-toggle,
.input-group-btn:first-child &gt; .btn:not(:first-child),
.input-group-btn:first-child &gt; .btn-group:not(:first-child) &gt; .btn {
  border-bottom-left-radius: 0;
  border-top-left-radius: 0;
}
.input-group-addon:last-child {
  border-left: 0;
}
.input-group-btn {
  position: relative;
  font-size: 0;
  white-space: nowrap;
}
.input-group-btn &gt; .btn {
  position: relative;
}
.input-group-btn &gt; .btn + .btn {
  margin-left: -1px;
}
.input-group-btn &gt; .btn:hover,
.input-group-btn &gt; .btn:focus,
.input-group-btn &gt; .btn:active {
  z-index: 2;
}
.input-group-btn:first-child &gt; .btn,
.input-group-btn:first-child &gt; .btn-group {
  margin-right: -1px;
}
.input-group-btn:last-child &gt; .btn,
.input-group-btn:last-child &gt; .btn-group {
  z-index: 2;
  margin-left: -1px;
}
.nav {
  margin-bottom: 0;
  padding-left: 0;
  list-style: none;
}
.nav &gt; li {
  position: relative;
  display: block;
}
.nav &gt; li &gt; a {
  position: relative;
  display: block;
  padding: 10px 15px;
}
.nav &gt; li &gt; a:hover,
.nav &gt; li &gt; a:focus {
  text-decoration: none;
  background-color: #eeeeee;
}
.nav &gt; li.disabled &gt; a {
  color: #777777;
}
.nav &gt; li.disabled &gt; a:hover,
.nav &gt; li.disabled &gt; a:focus {
  color: #777777;
  text-decoration: none;
  background-color: transparent;
  cursor: not-allowed;
}
.nav .open &gt; a,
.nav .open &gt; a:hover,
.nav .open &gt; a:focus {
  background-color: #eeeeee;
  border-color: #337ab7;
}
.nav .nav-divider {
  height: 1px;
  margin: 8px 0;
  overflow: hidden;
  background-color: #e5e5e5;
}
.nav &gt; li &gt; a &gt; img {
  max-width: none;
}
.nav-tabs {
  border-bottom: 1px solid #ddd;
}
.nav-tabs &gt; li {
  float: left;
  margin-bottom: -1px;
}
.nav-tabs &gt; li &gt; a {
  margin-right: 2px;
  line-height: 1.42857143;
  border: 1px solid transparent;
  border-radius: 2px 2px 0 0;
}
.nav-tabs &gt; li &gt; a:hover {
  border-color: #eeeeee #eeeeee #ddd;
}
.nav-tabs &gt; li.active &gt; a,
.nav-tabs &gt; li.active &gt; a:hover,
.nav-tabs &gt; li.active &gt; a:focus {
  color: #555555;
  background-color: #fff;
  border: 1px solid #ddd;
  border-bottom-color: transparent;
  cursor: default;
}
.nav-tabs.nav-justified {
  width: 100%;
  border-bottom: 0;
}
.nav-tabs.nav-justified &gt; li {
  float: none;
}
.nav-tabs.nav-justified &gt; li &gt; a {
  text-align: center;
  margin-bottom: 5px;
}
.nav-tabs.nav-justified &gt; .dropdown .dropdown-menu {
  top: auto;
  left: auto;
}
@media (min-width: 768px) {
  .nav-tabs.nav-justified &gt; li {
    display: table-cell;
    width: 1%;
  }
  .nav-tabs.nav-justified &gt; li &gt; a {
    margin-bottom: 0;
  }
}
.nav-tabs.nav-justified &gt; li &gt; a {
  margin-right: 0;
  border-radius: 2px;
}
.nav-tabs.nav-justified &gt; .active &gt; a,
.nav-tabs.nav-justified &gt; .active &gt; a:hover,
.nav-tabs.nav-justified &gt; .active &gt; a:focus {
  border: 1px solid #ddd;
}
@media (min-width: 768px) {
  .nav-tabs.nav-justified &gt; li &gt; a {
    border-bottom: 1px solid #ddd;
    border-radius: 2px 2px 0 0;
  }
  .nav-tabs.nav-justified &gt; .active &gt; a,
  .nav-tabs.nav-justified &gt; .active &gt; a:hover,
  .nav-tabs.nav-justified &gt; .active &gt; a:focus {
    border-bottom-color: #fff;
  }
}
.nav-pills &gt; li {
  float: left;
}
.nav-pills &gt; li &gt; a {
  border-radius: 2px;
}
.nav-pills &gt; li + li {
  margin-left: 2px;
}
.nav-pills &gt; li.active &gt; a,
.nav-pills &gt; li.active &gt; a:hover,
.nav-pills &gt; li.active &gt; a:focus {
  color: #fff;
  background-color: #337ab7;
}
.nav-stacked &gt; li {
  float: none;
}
.nav-stacked &gt; li + li {
  margin-top: 2px;
  margin-left: 0;
}
.nav-justified {
  width: 100%;
}
.nav-justified &gt; li {
  float: none;
}
.nav-justified &gt; li &gt; a {
  text-align: center;
  margin-bottom: 5px;
}
.nav-justified &gt; .dropdown .dropdown-menu {
  top: auto;
  left: auto;
}
@media (min-width: 768px) {
  .nav-justified &gt; li {
    display: table-cell;
    width: 1%;
  }
  .nav-justified &gt; li &gt; a {
    margin-bottom: 0;
  }
}
.nav-tabs-justified {
  border-bottom: 0;
}
.nav-tabs-justified &gt; li &gt; a {
  margin-right: 0;
  border-radius: 2px;
}
.nav-tabs-justified &gt; .active &gt; a,
.nav-tabs-justified &gt; .active &gt; a:hover,
.nav-tabs-justified &gt; .active &gt; a:focus {
  border: 1px solid #ddd;
}
@media (min-width: 768px) {
  .nav-tabs-justified &gt; li &gt; a {
    border-bottom: 1px solid #ddd;
    border-radius: 2px 2px 0 0;
  }
  .nav-tabs-justified &gt; .active &gt; a,
  .nav-tabs-justified &gt; .active &gt; a:hover,
  .nav-tabs-justified &gt; .active &gt; a:focus {
    border-bottom-color: #fff;
  }
}
.tab-content &gt; .tab-pane {
  display: none;
}
.tab-content &gt; .active {
  display: block;
}
.nav-tabs .dropdown-menu {
  margin-top: -1px;
  border-top-right-radius: 0;
  border-top-left-radius: 0;
}
.navbar {
  position: relative;
  min-height: 30px;
  margin-bottom: 18px;
  border: 1px solid transparent;
}
@media (min-width: 541px) {
  .navbar {
    border-radius: 2px;
  }
}
@media (min-width: 541px) {
  .navbar-header {
    float: left;
  }
}
.navbar-collapse {
  overflow-x: visible;
  padding-right: 0px;
  padding-left: 0px;
  border-top: 1px solid transparent;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1);
  -webkit-overflow-scrolling: touch;
}
.navbar-collapse.in {
  overflow-y: auto;
}
@media (min-width: 541px) {
  .navbar-collapse {
    width: auto;
    border-top: 0;
    box-shadow: none;
  }
  .navbar-collapse.collapse {
    display: block !important;
    height: auto !important;
    padding-bottom: 0;
    overflow: visible !important;
  }
  .navbar-collapse.in {
    overflow-y: visible;
  }
  .navbar-fixed-top .navbar-collapse,
  .navbar-static-top .navbar-collapse,
  .navbar-fixed-bottom .navbar-collapse {
    padding-left: 0;
    padding-right: 0;
  }
}
.navbar-fixed-top .navbar-collapse,
.navbar-fixed-bottom .navbar-collapse {
  max-height: 340px;
}
@media (max-device-width: 540px) and (orientation: landscape) {
  .navbar-fixed-top .navbar-collapse,
  .navbar-fixed-bottom .navbar-collapse {
    max-height: 200px;
  }
}
.container &gt; .navbar-header,
.container-fluid &gt; .navbar-header,
.container &gt; .navbar-collapse,
.container-fluid &gt; .navbar-collapse {
  margin-right: 0px;
  margin-left: 0px;
}
@media (min-width: 541px) {
  .container &gt; .navbar-header,
  .container-fluid &gt; .navbar-header,
  .container &gt; .navbar-collapse,
  .container-fluid &gt; .navbar-collapse {
    margin-right: 0;
    margin-left: 0;
  }
}
.navbar-static-top {
  z-index: 1000;
  border-width: 0 0 1px;
}
@media (min-width: 541px) {
  .navbar-static-top {
    border-radius: 0;
  }
}
.navbar-fixed-top,
.navbar-fixed-bottom {
  position: fixed;
  right: 0;
  left: 0;
  z-index: 1030;
}
@media (min-width: 541px) {
  .navbar-fixed-top,
  .navbar-fixed-bottom {
    border-radius: 0;
  }
}
.navbar-fixed-top {
  top: 0;
  border-width: 0 0 1px;
}
.navbar-fixed-bottom {
  bottom: 0;
  margin-bottom: 0;
  border-width: 1px 0 0;
}
.navbar-brand {
  float: left;
  padding: 6px 0px;
  font-size: 17px;
  line-height: 18px;
  height: 30px;
}
.navbar-brand:hover,
.navbar-brand:focus {
  text-decoration: none;
}
.navbar-brand &gt; img {
  display: block;
}
@media (min-width: 541px) {
  .navbar &gt; .container .navbar-brand,
  .navbar &gt; .container-fluid .navbar-brand {
    margin-left: 0px;
  }
}
.navbar-toggle {
  position: relative;
  float: right;
  margin-right: 0px;
  padding: 9px 10px;
  margin-top: -2px;
  margin-bottom: -2px;
  background-color: transparent;
  background-image: none;
  border: 1px solid transparent;
  border-radius: 2px;
}
.navbar-toggle:focus {
  outline: 0;
}
.navbar-toggle .icon-bar {
  display: block;
  width: 22px;
  height: 2px;
  border-radius: 1px;
}
.navbar-toggle .icon-bar + .icon-bar {
  margin-top: 4px;
}
@media (min-width: 541px) {
  .navbar-toggle {
    display: none;
  }
}
.navbar-nav {
  margin: 3px 0px;
}
.navbar-nav &gt; li &gt; a {
  padding-top: 10px;
  padding-bottom: 10px;
  line-height: 18px;
}
@media (max-width: 540px) {
  .navbar-nav .open .dropdown-menu {
    position: static;
    float: none;
    width: auto;
    margin-top: 0;
    background-color: transparent;
    border: 0;
    box-shadow: none;
  }
  .navbar-nav .open .dropdown-menu &gt; li &gt; a,
  .navbar-nav .open .dropdown-menu .dropdown-header {
    padding: 5px 15px 5px 25px;
  }
  .navbar-nav .open .dropdown-menu &gt; li &gt; a {
    line-height: 18px;
  }
  .navbar-nav .open .dropdown-menu &gt; li &gt; a:hover,
  .navbar-nav .open .dropdown-menu &gt; li &gt; a:focus {
    background-image: none;
  }
}
@media (min-width: 541px) {
  .navbar-nav {
    float: left;
    margin: 0;
  }
  .navbar-nav &gt; li {
    float: left;
  }
  .navbar-nav &gt; li &gt; a {
    padding-top: 6px;
    padding-bottom: 6px;
  }
}
.navbar-form {
  margin-left: 0px;
  margin-right: 0px;
  padding: 10px 0px;
  border-top: 1px solid transparent;
  border-bottom: 1px solid transparent;
  -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1);
  margin-top: -1px;
  margin-bottom: -1px;
}
@media (min-width: 768px) {
  .navbar-form .form-group {
    display: inline-block;
    margin-bottom: 0;
    vertical-align: middle;
  }
  .navbar-form .form-control {
    display: inline-block;
    width: auto;
    vertical-align: middle;
  }
  .navbar-form .form-control-static {
    display: inline-block;
  }
  .navbar-form .input-group {
    display: inline-table;
    vertical-align: middle;
  }
  .navbar-form .input-group .input-group-addon,
  .navbar-form .input-group .input-group-btn,
  .navbar-form .input-group .form-control {
    width: auto;
  }
  .navbar-form .input-group &gt; .form-control {
    width: 100%;
  }
  .navbar-form .control-label {
    margin-bottom: 0;
    vertical-align: middle;
  }
  .navbar-form .radio,
  .navbar-form .checkbox {
    display: inline-block;
    margin-top: 0;
    margin-bottom: 0;
    vertical-align: middle;
  }
  .navbar-form .radio label,
  .navbar-form .checkbox label {
    padding-left: 0;
  }
  .navbar-form .radio input[type=&quot;radio&quot;],
  .navbar-form .checkbox input[type=&quot;checkbox&quot;] {
    position: relative;
    margin-left: 0;
  }
  .navbar-form .has-feedback .form-control-feedback {
    top: 0;
  }
}
@media (max-width: 540px) {
  .navbar-form .form-group {
    margin-bottom: 5px;
  }
  .navbar-form .form-group:last-child {
    margin-bottom: 0;
  }
}
@media (min-width: 541px) {
  .navbar-form {
    width: auto;
    border: 0;
    margin-left: 0;
    margin-right: 0;
    padding-top: 0;
    padding-bottom: 0;
    -webkit-box-shadow: none;
    box-shadow: none;
  }
}
.navbar-nav &gt; li &gt; .dropdown-menu {
  margin-top: 0;
  border-top-right-radius: 0;
  border-top-left-radius: 0;
}
.navbar-fixed-bottom .navbar-nav &gt; li &gt; .dropdown-menu {
  margin-bottom: 0;
  border-top-right-radius: 2px;
  border-top-left-radius: 2px;
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
}
.navbar-btn {
  margin-top: -1px;
  margin-bottom: -1px;
}
.navbar-btn.btn-sm {
  margin-top: 0px;
  margin-bottom: 0px;
}
.navbar-btn.btn-xs {
  margin-top: 4px;
  margin-bottom: 4px;
}
.navbar-text {
  margin-top: 6px;
  margin-bottom: 6px;
}
@media (min-width: 541px) {
  .navbar-text {
    float: left;
    margin-left: 0px;
    margin-right: 0px;
  }
}
@media (min-width: 541px) {
  .navbar-left {
    float: left !important;
    float: left;
  }
  .navbar-right {
    float: right !important;
    float: right;
    margin-right: 0px;
  }
  .navbar-right ~ .navbar-right {
    margin-right: 0;
  }
}
.navbar-default {
  background-color: #f8f8f8;
  border-color: #e7e7e7;
}
.navbar-default .navbar-brand {
  color: #777;
}
.navbar-default .navbar-brand:hover,
.navbar-default .navbar-brand:focus {
  color: #5e5e5e;
  background-color: transparent;
}
.navbar-default .navbar-text {
  color: #777;
}
.navbar-default .navbar-nav &gt; li &gt; a {
  color: #777;
}
.navbar-default .navbar-nav &gt; li &gt; a:hover,
.navbar-default .navbar-nav &gt; li &gt; a:focus {
  color: #333;
  background-color: transparent;
}
.navbar-default .navbar-nav &gt; .active &gt; a,
.navbar-default .navbar-nav &gt; .active &gt; a:hover,
.navbar-default .navbar-nav &gt; .active &gt; a:focus {
  color: #555;
  background-color: #e7e7e7;
}
.navbar-default .navbar-nav &gt; .disabled &gt; a,
.navbar-default .navbar-nav &gt; .disabled &gt; a:hover,
.navbar-default .navbar-nav &gt; .disabled &gt; a:focus {
  color: #ccc;
  background-color: transparent;
}
.navbar-default .navbar-toggle {
  border-color: #ddd;
}
.navbar-default .navbar-toggle:hover,
.navbar-default .navbar-toggle:focus {
  background-color: #ddd;
}
.navbar-default .navbar-toggle .icon-bar {
  background-color: #888;
}
.navbar-default .navbar-collapse,
.navbar-default .navbar-form {
  border-color: #e7e7e7;
}
.navbar-default .navbar-nav &gt; .open &gt; a,
.navbar-default .navbar-nav &gt; .open &gt; a:hover,
.navbar-default .navbar-nav &gt; .open &gt; a:focus {
  background-color: #e7e7e7;
  color: #555;
}
@media (max-width: 540px) {
  .navbar-default .navbar-nav .open .dropdown-menu &gt; li &gt; a {
    color: #777;
  }
  .navbar-default .navbar-nav .open .dropdown-menu &gt; li &gt; a:hover,
  .navbar-default .navbar-nav .open .dropdown-menu &gt; li &gt; a:focus {
    color: #333;
    background-color: transparent;
  }
  .navbar-default .navbar-nav .open .dropdown-menu &gt; .active &gt; a,
  .navbar-default .navbar-nav .open .dropdown-menu &gt; .active &gt; a:hover,
  .navbar-default .navbar-nav .open .dropdown-menu &gt; .active &gt; a:focus {
    color: #555;
    background-color: #e7e7e7;
  }
  .navbar-default .navbar-nav .open .dropdown-menu &gt; .disabled &gt; a,
  .navbar-default .navbar-nav .open .dropdown-menu &gt; .disabled &gt; a:hover,
  .navbar-default .navbar-nav .open .dropdown-menu &gt; .disabled &gt; a:focus {
    color: #ccc;
    background-color: transparent;
  }
}
.navbar-default .navbar-link {
  color: #777;
}
.navbar-default .navbar-link:hover {
  color: #333;
}
.navbar-default .btn-link {
  color: #777;
}
.navbar-default .btn-link:hover,
.navbar-default .btn-link:focus {
  color: #333;
}
.navbar-default .btn-link[disabled]:hover,
fieldset[disabled] .navbar-default .btn-link:hover,
.navbar-default .btn-link[disabled]:focus,
fieldset[disabled] .navbar-default .btn-link:focus {
  color: #ccc;
}
.navbar-inverse {
  background-color: #222;
  border-color: #080808;
}
.navbar-inverse .navbar-brand {
  color: #9d9d9d;
}
.navbar-inverse .navbar-brand:hover,
.navbar-inverse .navbar-brand:focus {
  color: #fff;
  background-color: transparent;
}
.navbar-inverse .navbar-text {
  color: #9d9d9d;
}
.navbar-inverse .navbar-nav &gt; li &gt; a {
  color: #9d9d9d;
}
.navbar-inverse .navbar-nav &gt; li &gt; a:hover,
.navbar-inverse .navbar-nav &gt; li &gt; a:focus {
  color: #fff;
  background-color: transparent;
}
.navbar-inverse .navbar-nav &gt; .active &gt; a,
.navbar-inverse .navbar-nav &gt; .active &gt; a:hover,
.navbar-inverse .navbar-nav &gt; .active &gt; a:focus {
  color: #fff;
  background-color: #080808;
}
.navbar-inverse .navbar-nav &gt; .disabled &gt; a,
.navbar-inverse .navbar-nav &gt; .disabled &gt; a:hover,
.navbar-inverse .navbar-nav &gt; .disabled &gt; a:focus {
  color: #444;
  background-color: transparent;
}
.navbar-inverse .navbar-toggle {
  border-color: #333;
}
.navbar-inverse .navbar-toggle:hover,
.navbar-inverse .navbar-toggle:focus {
  background-color: #333;
}
.navbar-inverse .navbar-toggle .icon-bar {
  background-color: #fff;
}
.navbar-inverse .navbar-collapse,
.navbar-inverse .navbar-form {
  border-color: #101010;
}
.navbar-inverse .navbar-nav &gt; .open &gt; a,
.navbar-inverse .navbar-nav &gt; .open &gt; a:hover,
.navbar-inverse .navbar-nav &gt; .open &gt; a:focus {
  background-color: #080808;
  color: #fff;
}
@media (max-width: 540px) {
  .navbar-inverse .navbar-nav .open .dropdown-menu &gt; .dropdown-header {
    border-color: #080808;
  }
  .navbar-inverse .navbar-nav .open .dropdown-menu .divider {
    background-color: #080808;
  }
  .navbar-inverse .navbar-nav .open .dropdown-menu &gt; li &gt; a {
    color: #9d9d9d;
  }
  .navbar-inverse .navbar-nav .open .dropdown-menu &gt; li &gt; a:hover,
  .navbar-inverse .navbar-nav .open .dropdown-menu &gt; li &gt; a:focus {
    color: #fff;
    background-color: transparent;
  }
  .navbar-inverse .navbar-nav .open .dropdown-menu &gt; .active &gt; a,
  .navbar-inverse .navbar-nav .open .dropdown-menu &gt; .active &gt; a:hover,
  .navbar-inverse .navbar-nav .open .dropdown-menu &gt; .active &gt; a:focus {
    color: #fff;
    background-color: #080808;
  }
  .navbar-inverse .navbar-nav .open .dropdown-menu &gt; .disabled &gt; a,
  .navbar-inverse .navbar-nav .open .dropdown-menu &gt; .disabled &gt; a:hover,
  .navbar-inverse .navbar-nav .open .dropdown-menu &gt; .disabled &gt; a:focus {
    color: #444;
    background-color: transparent;
  }
}
.navbar-inverse .navbar-link {
  color: #9d9d9d;
}
.navbar-inverse .navbar-link:hover {
  color: #fff;
}
.navbar-inverse .btn-link {
  color: #9d9d9d;
}
.navbar-inverse .btn-link:hover,
.navbar-inverse .btn-link:focus {
  color: #fff;
}
.navbar-inverse .btn-link[disabled]:hover,
fieldset[disabled] .navbar-inverse .btn-link:hover,
.navbar-inverse .btn-link[disabled]:focus,
fieldset[disabled] .navbar-inverse .btn-link:focus {
  color: #444;
}
.breadcrumb {
  padding: 8px 15px;
  margin-bottom: 18px;
  list-style: none;
  background-color: #f5f5f5;
  border-radius: 2px;
}
.breadcrumb &gt; li {
  display: inline-block;
}
.breadcrumb &gt; li + li:before {
  content: &quot;/\00a0&quot;;
  padding: 0 5px;
  color: #5e5e5e;
}
.breadcrumb &gt; .active {
  color: #777777;
}
.pagination {
  display: inline-block;
  padding-left: 0;
  margin: 18px 0;
  border-radius: 2px;
}
.pagination &gt; li {
  display: inline;
}
.pagination &gt; li &gt; a,
.pagination &gt; li &gt; span {
  position: relative;
  float: left;
  padding: 6px 12px;
  line-height: 1.42857143;
  text-decoration: none;
  color: #337ab7;
  background-color: #fff;
  border: 1px solid #ddd;
  margin-left: -1px;
}
.pagination &gt; li:first-child &gt; a,
.pagination &gt; li:first-child &gt; span {
  margin-left: 0;
  border-bottom-left-radius: 2px;
  border-top-left-radius: 2px;
}
.pagination &gt; li:last-child &gt; a,
.pagination &gt; li:last-child &gt; span {
  border-bottom-right-radius: 2px;
  border-top-right-radius: 2px;
}
.pagination &gt; li &gt; a:hover,
.pagination &gt; li &gt; span:hover,
.pagination &gt; li &gt; a:focus,
.pagination &gt; li &gt; span:focus {
  z-index: 2;
  color: #23527c;
  background-color: #eeeeee;
  border-color: #ddd;
}
.pagination &gt; .active &gt; a,
.pagination &gt; .active &gt; span,
.pagination &gt; .active &gt; a:hover,
.pagination &gt; .active &gt; span:hover,
.pagination &gt; .active &gt; a:focus,
.pagination &gt; .active &gt; span:focus {
  z-index: 3;
  color: #fff;
  background-color: #337ab7;
  border-color: #337ab7;
  cursor: default;
}
.pagination &gt; .disabled &gt; span,
.pagination &gt; .disabled &gt; span:hover,
.pagination &gt; .disabled &gt; span:focus,
.pagination &gt; .disabled &gt; a,
.pagination &gt; .disabled &gt; a:hover,
.pagination &gt; .disabled &gt; a:focus {
  color: #777777;
  background-color: #fff;
  border-color: #ddd;
  cursor: not-allowed;
}
.pagination-lg &gt; li &gt; a,
.pagination-lg &gt; li &gt; span {
  padding: 10px 16px;
  font-size: 17px;
  line-height: 1.3333333;
}
.pagination-lg &gt; li:first-child &gt; a,
.pagination-lg &gt; li:first-child &gt; span {
  border-bottom-left-radius: 3px;
  border-top-left-radius: 3px;
}
.pagination-lg &gt; li:last-child &gt; a,
.pagination-lg &gt; li:last-child &gt; span {
  border-bottom-right-radius: 3px;
  border-top-right-radius: 3px;
}
.pagination-sm &gt; li &gt; a,
.pagination-sm &gt; li &gt; span {
  padding: 5px 10px;
  font-size: 12px;
  line-height: 1.5;
}
.pagination-sm &gt; li:first-child &gt; a,
.pagination-sm &gt; li:first-child &gt; span {
  border-bottom-left-radius: 1px;
  border-top-left-radius: 1px;
}
.pagination-sm &gt; li:last-child &gt; a,
.pagination-sm &gt; li:last-child &gt; span {
  border-bottom-right-radius: 1px;
  border-top-right-radius: 1px;
}
.pager {
  padding-left: 0;
  margin: 18px 0;
  list-style: none;
  text-align: center;
}
.pager li {
  display: inline;
}
.pager li &gt; a,
.pager li &gt; span {
  display: inline-block;
  padding: 5px 14px;
  background-color: #fff;
  border: 1px solid #ddd;
  border-radius: 15px;
}
.pager li &gt; a:hover,
.pager li &gt; a:focus {
  text-decoration: none;
  background-color: #eeeeee;
}
.pager .next &gt; a,
.pager .next &gt; span {
  float: right;
}
.pager .previous &gt; a,
.pager .previous &gt; span {
  float: left;
}
.pager .disabled &gt; a,
.pager .disabled &gt; a:hover,
.pager .disabled &gt; a:focus,
.pager .disabled &gt; span {
  color: #777777;
  background-color: #fff;
  cursor: not-allowed;
}
.label {
  display: inline;
  padding: .2em .6em .3em;
  font-size: 75%;
  font-weight: bold;
  line-height: 1;
  color: #fff;
  text-align: center;
  white-space: nowrap;
  vertical-align: baseline;
  border-radius: .25em;
}
a.label:hover,
a.label:focus {
  color: #fff;
  text-decoration: none;
  cursor: pointer;
}
.label:empty {
  display: none;
}
.btn .label {
  position: relative;
  top: -1px;
}
.label-default {
  background-color: #777777;
}
.label-default[href]:hover,
.label-default[href]:focus {
  background-color: #5e5e5e;
}
.label-primary {
  background-color: #337ab7;
}
.label-primary[href]:hover,
.label-primary[href]:focus {
  background-color: #286090;
}
.label-success {
  background-color: #5cb85c;
}
.label-success[href]:hover,
.label-success[href]:focus {
  background-color: #449d44;
}
.label-info {
  background-color: #5bc0de;
}
.label-info[href]:hover,
.label-info[href]:focus {
  background-color: #31b0d5;
}
.label-warning {
  background-color: #f0ad4e;
}
.label-warning[href]:hover,
.label-warning[href]:focus {
  background-color: #ec971f;
}
.label-danger {
  background-color: #d9534f;
}
.label-danger[href]:hover,
.label-danger[href]:focus {
  background-color: #c9302c;
}
.badge {
  display: inline-block;
  min-width: 10px;
  padding: 3px 7px;
  font-size: 12px;
  font-weight: bold;
  color: #fff;
  line-height: 1;
  vertical-align: middle;
  white-space: nowrap;
  text-align: center;
  background-color: #777777;
  border-radius: 10px;
}
.badge:empty {
  display: none;
}
.btn .badge {
  position: relative;
  top: -1px;
}
.btn-xs .badge,
.btn-group-xs &gt; .btn .badge {
  top: 0;
  padding: 1px 5px;
}
a.badge:hover,
a.badge:focus {
  color: #fff;
  text-decoration: none;
  cursor: pointer;
}
.list-group-item.active &gt; .badge,
.nav-pills &gt; .active &gt; a &gt; .badge {
  color: #337ab7;
  background-color: #fff;
}
.list-group-item &gt; .badge {
  float: right;
}
.list-group-item &gt; .badge + .badge {
  margin-right: 5px;
}
.nav-pills &gt; li &gt; a &gt; .badge {
  margin-left: 3px;
}
.jumbotron {
  padding-top: 30px;
  padding-bottom: 30px;
  margin-bottom: 30px;
  color: inherit;
  background-color: #eeeeee;
}
.jumbotron h1,
.jumbotron .h1 {
  color: inherit;
}
.jumbotron p {
  margin-bottom: 15px;
  font-size: 20px;
  font-weight: 200;
}
.jumbotron &gt; hr {
  border-top-color: #d5d5d5;
}
.container .jumbotron,
.container-fluid .jumbotron {
  border-radius: 3px;
  padding-left: 0px;
  padding-right: 0px;
}
.jumbotron .container {
  max-width: 100%;
}
@media screen and (min-width: 768px) {
  .jumbotron {
    padding-top: 48px;
    padding-bottom: 48px;
  }
  .container .jumbotron,
  .container-fluid .jumbotron {
    padding-left: 60px;
    padding-right: 60px;
  }
  .jumbotron h1,
  .jumbotron .h1 {
    font-size: 59px;
  }
}
.thumbnail {
  display: block;
  padding: 4px;
  margin-bottom: 18px;
  line-height: 1.42857143;
  background-color: #fff;
  border: 1px solid #ddd;
  border-radius: 2px;
  -webkit-transition: border 0.2s ease-in-out;
  -o-transition: border 0.2s ease-in-out;
  transition: border 0.2s ease-in-out;
}
.thumbnail &gt; img,
.thumbnail a &gt; img {
  margin-left: auto;
  margin-right: auto;
}
a.thumbnail:hover,
a.thumbnail:focus,
a.thumbnail.active {
  border-color: #337ab7;
}
.thumbnail .caption {
  padding: 9px;
  color: #000;
}
.alert {
  padding: 15px;
  margin-bottom: 18px;
  border: 1px solid transparent;
  border-radius: 2px;
}
.alert h4 {
  margin-top: 0;
  color: inherit;
}
.alert .alert-link {
  font-weight: bold;
}
.alert &gt; p,
.alert &gt; ul {
  margin-bottom: 0;
}
.alert &gt; p + p {
  margin-top: 5px;
}
.alert-dismissable,
.alert-dismissible {
  padding-right: 35px;
}
.alert-dismissable .close,
.alert-dismissible .close {
  position: relative;
  top: -2px;
  right: -21px;
  color: inherit;
}
.alert-success {
  background-color: #dff0d8;
  border-color: #d6e9c6;
  color: #3c763d;
}
.alert-success hr {
  border-top-color: #c9e2b3;
}
.alert-success .alert-link {
  color: #2b542c;
}
.alert-info {
  background-color: #d9edf7;
  border-color: #bce8f1;
  color: #31708f;
}
.alert-info hr {
  border-top-color: #a6e1ec;
}
.alert-info .alert-link {
  color: #245269;
}
.alert-warning {
  background-color: #fcf8e3;
  border-color: #faebcc;
  color: #8a6d3b;
}
.alert-warning hr {
  border-top-color: #f7e1b5;
}
.alert-warning .alert-link {
  color: #66512c;
}
.alert-danger {
  background-color: #f2dede;
  border-color: #ebccd1;
  color: #a94442;
}
.alert-danger hr {
  border-top-color: #e4b9c0;
}
.alert-danger .alert-link {
  color: #843534;
}
@-webkit-keyframes progress-bar-stripes {
  from {
    background-position: 40px 0;
  }
  to {
    background-position: 0 0;
  }
}
@keyframes progress-bar-stripes {
  from {
    background-position: 40px 0;
  }
  to {
    background-position: 0 0;
  }
}
.progress {
  overflow: hidden;
  height: 18px;
  margin-bottom: 18px;
  background-color: #f5f5f5;
  border-radius: 2px;
  -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
  box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
}
.progress-bar {
  float: left;
  width: 0%;
  height: 100%;
  font-size: 12px;
  line-height: 18px;
  color: #fff;
  text-align: center;
  background-color: #337ab7;
  -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);
  box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);
  -webkit-transition: width 0.6s ease;
  -o-transition: width 0.6s ease;
  transition: width 0.6s ease;
}
.progress-striped .progress-bar,
.progress-bar-striped {
  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-size: 40px 40px;
}
.progress.active .progress-bar,
.progress-bar.active {
  -webkit-animation: progress-bar-stripes 2s linear infinite;
  -o-animation: progress-bar-stripes 2s linear infinite;
  animation: progress-bar-stripes 2s linear infinite;
}
.progress-bar-success {
  background-color: #5cb85c;
}
.progress-striped .progress-bar-success {
  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
}
.progress-bar-info {
  background-color: #5bc0de;
}
.progress-striped .progress-bar-info {
  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
}
.progress-bar-warning {
  background-color: #f0ad4e;
}
.progress-striped .progress-bar-warning {
  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
}
.progress-bar-danger {
  background-color: #d9534f;
}
.progress-striped .progress-bar-danger {
  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
}
.media {
  margin-top: 15px;
}
.media:first-child {
  margin-top: 0;
}
.media,
.media-body {
  zoom: 1;
  overflow: hidden;
}
.media-body {
  width: 10000px;
}
.media-object {
  display: block;
}
.media-object.img-thumbnail {
  max-width: none;
}
.media-right,
.media &gt; .pull-right {
  padding-left: 10px;
}
.media-left,
.media &gt; .pull-left {
  padding-right: 10px;
}
.media-left,
.media-right,
.media-body {
  display: table-cell;
  vertical-align: top;
}
.media-middle {
  vertical-align: middle;
}
.media-bottom {
  vertical-align: bottom;
}
.media-heading {
  margin-top: 0;
  margin-bottom: 5px;
}
.media-list {
  padding-left: 0;
  list-style: none;
}
.list-group {
  margin-bottom: 20px;
  padding-left: 0;
}
.list-group-item {
  position: relative;
  display: block;
  padding: 10px 15px;
  margin-bottom: -1px;
  background-color: #fff;
  border: 1px solid #ddd;
}
.list-group-item:first-child {
  border-top-right-radius: 2px;
  border-top-left-radius: 2px;
}
.list-group-item:last-child {
  margin-bottom: 0;
  border-bottom-right-radius: 2px;
  border-bottom-left-radius: 2px;
}
a.list-group-item,
button.list-group-item {
  color: #555;
}
a.list-group-item .list-group-item-heading,
button.list-group-item .list-group-item-heading {
  color: #333;
}
a.list-group-item:hover,
button.list-group-item:hover,
a.list-group-item:focus,
button.list-group-item:focus {
  text-decoration: none;
  color: #555;
  background-color: #f5f5f5;
}
button.list-group-item {
  width: 100%;
  text-align: left;
}
.list-group-item.disabled,
.list-group-item.disabled:hover,
.list-group-item.disabled:focus {
  background-color: #eeeeee;
  color: #777777;
  cursor: not-allowed;
}
.list-group-item.disabled .list-group-item-heading,
.list-group-item.disabled:hover .list-group-item-heading,
.list-group-item.disabled:focus .list-group-item-heading {
  color: inherit;
}
.list-group-item.disabled .list-group-item-text,
.list-group-item.disabled:hover .list-group-item-text,
.list-group-item.disabled:focus .list-group-item-text {
  color: #777777;
}
.list-group-item.active,
.list-group-item.active:hover,
.list-group-item.active:focus {
  z-index: 2;
  color: #fff;
  background-color: #337ab7;
  border-color: #337ab7;
}
.list-group-item.active .list-group-item-heading,
.list-group-item.active:hover .list-group-item-heading,
.list-group-item.active:focus .list-group-item-heading,
.list-group-item.active .list-group-item-heading &gt; small,
.list-group-item.active:hover .list-group-item-heading &gt; small,
.list-group-item.active:focus .list-group-item-heading &gt; small,
.list-group-item.active .list-group-item-heading &gt; .small,
.list-group-item.active:hover .list-group-item-heading &gt; .small,
.list-group-item.active:focus .list-group-item-heading &gt; .small {
  color: inherit;
}
.list-group-item.active .list-group-item-text,
.list-group-item.active:hover .list-group-item-text,
.list-group-item.active:focus .list-group-item-text {
  color: #c7ddef;
}
.list-group-item-success {
  color: #3c763d;
  background-color: #dff0d8;
}
a.list-group-item-success,
button.list-group-item-success {
  color: #3c763d;
}
a.list-group-item-success .list-group-item-heading,
button.list-group-item-success .list-group-item-heading {
  color: inherit;
}
a.list-group-item-success:hover,
button.list-group-item-success:hover,
a.list-group-item-success:focus,
button.list-group-item-success:focus {
  color: #3c763d;
  background-color: #d0e9c6;
}
a.list-group-item-success.active,
button.list-group-item-success.active,
a.list-group-item-success.active:hover,
button.list-group-item-success.active:hover,
a.list-group-item-success.active:focus,
button.list-group-item-success.active:focus {
  color: #fff;
  background-color: #3c763d;
  border-color: #3c763d;
}
.list-group-item-info {
  color: #31708f;
  background-color: #d9edf7;
}
a.list-group-item-info,
button.list-group-item-info {
  color: #31708f;
}
a.list-group-item-info .list-group-item-heading,
button.list-group-item-info .list-group-item-heading {
  color: inherit;
}
a.list-group-item-info:hover,
button.list-group-item-info:hover,
a.list-group-item-info:focus,
button.list-group-item-info:focus {
  color: #31708f;
  background-color: #c4e3f3;
}
a.list-group-item-info.active,
button.list-group-item-info.active,
a.list-group-item-info.active:hover,
button.list-group-item-info.active:hover,
a.list-group-item-info.active:focus,
button.list-group-item-info.active:focus {
  color: #fff;
  background-color: #31708f;
  border-color: #31708f;
}
.list-group-item-warning {
  color: #8a6d3b;
  background-color: #fcf8e3;
}
a.list-group-item-warning,
button.list-group-item-warning {
  color: #8a6d3b;
}
a.list-group-item-warning .list-group-item-heading,
button.list-group-item-warning .list-group-item-heading {
  color: inherit;
}
a.list-group-item-warning:hover,
button.list-group-item-warning:hover,
a.list-group-item-warning:focus,
button.list-group-item-warning:focus {
  color: #8a6d3b;
  background-color: #faf2cc;
}
a.list-group-item-warning.active,
button.list-group-item-warning.active,
a.list-group-item-warning.active:hover,
button.list-group-item-warning.active:hover,
a.list-group-item-warning.active:focus,
button.list-group-item-warning.active:focus {
  color: #fff;
  background-color: #8a6d3b;
  border-color: #8a6d3b;
}
.list-group-item-danger {
  color: #a94442;
  background-color: #f2dede;
}
a.list-group-item-danger,
button.list-group-item-danger {
  color: #a94442;
}
a.list-group-item-danger .list-group-item-heading,
button.list-group-item-danger .list-group-item-heading {
  color: inherit;
}
a.list-group-item-danger:hover,
button.list-group-item-danger:hover,
a.list-group-item-danger:focus,
button.list-group-item-danger:focus {
  color: #a94442;
  background-color: #ebcccc;
}
a.list-group-item-danger.active,
button.list-group-item-danger.active,
a.list-group-item-danger.active:hover,
button.list-group-item-danger.active:hover,
a.list-group-item-danger.active:focus,
button.list-group-item-danger.active:focus {
  color: #fff;
  background-color: #a94442;
  border-color: #a94442;
}
.list-group-item-heading {
  margin-top: 0;
  margin-bottom: 5px;
}
.list-group-item-text {
  margin-bottom: 0;
  line-height: 1.3;
}
.panel {
  margin-bottom: 18px;
  background-color: #fff;
  border: 1px solid transparent;
  border-radius: 2px;
  -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05);
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05);
}
.panel-body {
  padding: 15px;
}
.panel-heading {
  padding: 10px 15px;
  border-bottom: 1px solid transparent;
  border-top-right-radius: 1px;
  border-top-left-radius: 1px;
}
.panel-heading &gt; .dropdown .dropdown-toggle {
  color: inherit;
}
.panel-title {
  margin-top: 0;
  margin-bottom: 0;
  font-size: 15px;
  color: inherit;
}
.panel-title &gt; a,
.panel-title &gt; small,
.panel-title &gt; .small,
.panel-title &gt; small &gt; a,
.panel-title &gt; .small &gt; a {
  color: inherit;
}
.panel-footer {
  padding: 10px 15px;
  background-color: #f5f5f5;
  border-top: 1px solid #ddd;
  border-bottom-right-radius: 1px;
  border-bottom-left-radius: 1px;
}
.panel &gt; .list-group,
.panel &gt; .panel-collapse &gt; .list-group {
  margin-bottom: 0;
}
.panel &gt; .list-group .list-group-item,
.panel &gt; .panel-collapse &gt; .list-group .list-group-item {
  border-width: 1px 0;
  border-radius: 0;
}
.panel &gt; .list-group:first-child .list-group-item:first-child,
.panel &gt; .panel-collapse &gt; .list-group:first-child .list-group-item:first-child {
  border-top: 0;
  border-top-right-radius: 1px;
  border-top-left-radius: 1px;
}
.panel &gt; .list-group:last-child .list-group-item:last-child,
.panel &gt; .panel-collapse &gt; .list-group:last-child .list-group-item:last-child {
  border-bottom: 0;
  border-bottom-right-radius: 1px;
  border-bottom-left-radius: 1px;
}
.panel &gt; .panel-heading + .panel-collapse &gt; .list-group .list-group-item:first-child {
  border-top-right-radius: 0;
  border-top-left-radius: 0;
}
.panel-heading + .list-group .list-group-item:first-child {
  border-top-width: 0;
}
.list-group + .panel-footer {
  border-top-width: 0;
}
.panel &gt; .table,
.panel &gt; .table-responsive &gt; .table,
.panel &gt; .panel-collapse &gt; .table {
  margin-bottom: 0;
}
.panel &gt; .table caption,
.panel &gt; .table-responsive &gt; .table caption,
.panel &gt; .panel-collapse &gt; .table caption {
  padding-left: 15px;
  padding-right: 15px;
}
.panel &gt; .table:first-child,
.panel &gt; .table-responsive:first-child &gt; .table:first-child {
  border-top-right-radius: 1px;
  border-top-left-radius: 1px;
}
.panel &gt; .table:first-child &gt; thead:first-child &gt; tr:first-child,
.panel &gt; .table-responsive:first-child &gt; .table:first-child &gt; thead:first-child &gt; tr:first-child,
.panel &gt; .table:first-child &gt; tbody:first-child &gt; tr:first-child,
.panel &gt; .table-responsive:first-child &gt; .table:first-child &gt; tbody:first-child &gt; tr:first-child {
  border-top-left-radius: 1px;
  border-top-right-radius: 1px;
}
.panel &gt; .table:first-child &gt; thead:first-child &gt; tr:first-child td:first-child,
.panel &gt; .table-responsive:first-child &gt; .table:first-child &gt; thead:first-child &gt; tr:first-child td:first-child,
.panel &gt; .table:first-child &gt; tbody:first-child &gt; tr:first-child td:first-child,
.panel &gt; .table-responsive:first-child &gt; .table:first-child &gt; tbody:first-child &gt; tr:first-child td:first-child,
.panel &gt; .table:first-child &gt; thead:first-child &gt; tr:first-child th:first-child,
.panel &gt; .table-responsive:first-child &gt; .table:first-child &gt; thead:first-child &gt; tr:first-child th:first-child,
.panel &gt; .table:first-child &gt; tbody:first-child &gt; tr:first-child th:first-child,
.panel &gt; .table-responsive:first-child &gt; .table:first-child &gt; tbody:first-child &gt; tr:first-child th:first-child {
  border-top-left-radius: 1px;
}
.panel &gt; .table:first-child &gt; thead:first-child &gt; tr:first-child td:last-child,
.panel &gt; .table-responsive:first-child &gt; .table:first-child &gt; thead:first-child &gt; tr:first-child td:last-child,
.panel &gt; .table:first-child &gt; tbody:first-child &gt; tr:first-child td:last-child,
.panel &gt; .table-responsive:first-child &gt; .table:first-child &gt; tbody:first-child &gt; tr:first-child td:last-child,
.panel &gt; .table:first-child &gt; thead:first-child &gt; tr:first-child th:last-child,
.panel &gt; .table-responsive:first-child &gt; .table:first-child &gt; thead:first-child &gt; tr:first-child th:last-child,
.panel &gt; .table:first-child &gt; tbody:first-child &gt; tr:first-child th:last-child,
.panel &gt; .table-responsive:first-child &gt; .table:first-child &gt; tbody:first-child &gt; tr:first-child th:last-child {
  border-top-right-radius: 1px;
}
.panel &gt; .table:last-child,
.panel &gt; .table-responsive:last-child &gt; .table:last-child {
  border-bottom-right-radius: 1px;
  border-bottom-left-radius: 1px;
}
.panel &gt; .table:last-child &gt; tbody:last-child &gt; tr:last-child,
.panel &gt; .table-responsive:last-child &gt; .table:last-child &gt; tbody:last-child &gt; tr:last-child,
.panel &gt; .table:last-child &gt; tfoot:last-child &gt; tr:last-child,
.panel &gt; .table-responsive:last-child &gt; .table:last-child &gt; tfoot:last-child &gt; tr:last-child {
  border-bottom-left-radius: 1px;
  border-bottom-right-radius: 1px;
}
.panel &gt; .table:last-child &gt; tbody:last-child &gt; tr:last-child td:first-child,
.panel &gt; .table-responsive:last-child &gt; .table:last-child &gt; tbody:last-child &gt; tr:last-child td:first-child,
.panel &gt; .table:last-child &gt; tfoot:last-child &gt; tr:last-child td:first-child,
.panel &gt; .table-responsive:last-child &gt; .table:last-child &gt; tfoot:last-child &gt; tr:last-child td:first-child,
.panel &gt; .table:last-child &gt; tbody:last-child &gt; tr:last-child th:first-child,
.panel &gt; .table-responsive:last-child &gt; .table:last-child &gt; tbody:last-child &gt; tr:last-child th:first-child,
.panel &gt; .table:last-child &gt; tfoot:last-child &gt; tr:last-child th:first-child,
.panel &gt; .table-responsive:last-child &gt; .table:last-child &gt; tfoot:last-child &gt; tr:last-child th:first-child {
  border-bottom-left-radius: 1px;
}
.panel &gt; .table:last-child &gt; tbody:last-child &gt; tr:last-child td:last-child,
.panel &gt; .table-responsive:last-child &gt; .table:last-child &gt; tbody:last-child &gt; tr:last-child td:last-child,
.panel &gt; .table:last-child &gt; tfoot:last-child &gt; tr:last-child td:last-child,
.panel &gt; .table-responsive:last-child &gt; .table:last-child &gt; tfoot:last-child &gt; tr:last-child td:last-child,
.panel &gt; .table:last-child &gt; tbody:last-child &gt; tr:last-child th:last-child,
.panel &gt; .table-responsive:last-child &gt; .table:last-child &gt; tbody:last-child &gt; tr:last-child th:last-child,
.panel &gt; .table:last-child &gt; tfoot:last-child &gt; tr:last-child th:last-child,
.panel &gt; .table-responsive:last-child &gt; .table:last-child &gt; tfoot:last-child &gt; tr:last-child th:last-child {
  border-bottom-right-radius: 1px;
}
.panel &gt; .panel-body + .table,
.panel &gt; .panel-body + .table-responsive,
.panel &gt; .table + .panel-body,
.panel &gt; .table-responsive + .panel-body {
  border-top: 1px solid #ddd;
}
.panel &gt; .table &gt; tbody:first-child &gt; tr:first-child th,
.panel &gt; .table &gt; tbody:first-child &gt; tr:first-child td {
  border-top: 0;
}
.panel &gt; .table-bordered,
.panel &gt; .table-responsive &gt; .table-bordered {
  border: 0;
}
.panel &gt; .table-bordered &gt; thead &gt; tr &gt; th:first-child,
.panel &gt; .table-responsive &gt; .table-bordered &gt; thead &gt; tr &gt; th:first-child,
.panel &gt; .table-bordered &gt; tbody &gt; tr &gt; th:first-child,
.panel &gt; .table-responsive &gt; .table-bordered &gt; tbody &gt; tr &gt; th:first-child,
.panel &gt; .table-bordered &gt; tfoot &gt; tr &gt; th:first-child,
.panel &gt; .table-responsive &gt; .table-bordered &gt; tfoot &gt; tr &gt; th:first-child,
.panel &gt; .table-bordered &gt; thead &gt; tr &gt; td:first-child,
.panel &gt; .table-responsive &gt; .table-bordered &gt; thead &gt; tr &gt; td:first-child,
.panel &gt; .table-bordered &gt; tbody &gt; tr &gt; td:first-child,
.panel &gt; .table-responsive &gt; .table-bordered &gt; tbody &gt; tr &gt; td:first-child,
.panel &gt; .table-bordered &gt; tfoot &gt; tr &gt; td:first-child,
.panel &gt; .table-responsive &gt; .table-bordered &gt; tfoot &gt; tr &gt; td:first-child {
  border-left: 0;
}
.panel &gt; .table-bordered &gt; thead &gt; tr &gt; th:last-child,
.panel &gt; .table-responsive &gt; .table-bordered &gt; thead &gt; tr &gt; th:last-child,
.panel &gt; .table-bordered &gt; tbody &gt; tr &gt; th:last-child,
.panel &gt; .table-responsive &gt; .table-bordered &gt; tbody &gt; tr &gt; th:last-child,
.panel &gt; .table-bordered &gt; tfoot &gt; tr &gt; th:last-child,
.panel &gt; .table-responsive &gt; .table-bordered &gt; tfoot &gt; tr &gt; th:last-child,
.panel &gt; .table-bordered &gt; thead &gt; tr &gt; td:last-child,
.panel &gt; .table-responsive &gt; .table-bordered &gt; thead &gt; tr &gt; td:last-child,
.panel &gt; .table-bordered &gt; tbody &gt; tr &gt; td:last-child,
.panel &gt; .table-responsive &gt; .table-bordered &gt; tbody &gt; tr &gt; td:last-child,
.panel &gt; .table-bordered &gt; tfoot &gt; tr &gt; td:last-child,
.panel &gt; .table-responsive &gt; .table-bordered &gt; tfoot &gt; tr &gt; td:last-child {
  border-right: 0;
}
.panel &gt; .table-bordered &gt; thead &gt; tr:first-child &gt; td,
.panel &gt; .table-responsive &gt; .table-bordered &gt; thead &gt; tr:first-child &gt; td,
.panel &gt; .table-bordered &gt; tbody &gt; tr:first-child &gt; td,
.panel &gt; .table-responsive &gt; .table-bordered &gt; tbody &gt; tr:first-child &gt; td,
.panel &gt; .table-bordered &gt; thead &gt; tr:first-child &gt; th,
.panel &gt; .table-responsive &gt; .table-bordered &gt; thead &gt; tr:first-child &gt; th,
.panel &gt; .table-bordered &gt; tbody &gt; tr:first-child &gt; th,
.panel &gt; .table-responsive &gt; .table-bordered &gt; tbody &gt; tr:first-child &gt; th {
  border-bottom: 0;
}
.panel &gt; .table-bordered &gt; tbody &gt; tr:last-child &gt; td,
.panel &gt; .table-responsive &gt; .table-bordered &gt; tbody &gt; tr:last-child &gt; td,
.panel &gt; .table-bordered &gt; tfoot &gt; tr:last-child &gt; td,
.panel &gt; .table-responsive &gt; .table-bordered &gt; tfoot &gt; tr:last-child &gt; td,
.panel &gt; .table-bordered &gt; tbody &gt; tr:last-child &gt; th,
.panel &gt; .table-responsive &gt; .table-bordered &gt; tbody &gt; tr:last-child &gt; th,
.panel &gt; .table-bordered &gt; tfoot &gt; tr:last-child &gt; th,
.panel &gt; .table-responsive &gt; .table-bordered &gt; tfoot &gt; tr:last-child &gt; th {
  border-bottom: 0;
}
.panel &gt; .table-responsive {
  border: 0;
  margin-bottom: 0;
}
.panel-group {
  margin-bottom: 18px;
}
.panel-group .panel {
  margin-bottom: 0;
  border-radius: 2px;
}
.panel-group .panel + .panel {
  margin-top: 5px;
}
.panel-group .panel-heading {
  border-bottom: 0;
}
.panel-group .panel-heading + .panel-collapse &gt; .panel-body,
.panel-group .panel-heading + .panel-collapse &gt; .list-group {
  border-top: 1px solid #ddd;
}
.panel-group .panel-footer {
  border-top: 0;
}
.panel-group .panel-footer + .panel-collapse .panel-body {
  border-bottom: 1px solid #ddd;
}
.panel-default {
  border-color: #ddd;
}
.panel-default &gt; .panel-heading {
  color: #333333;
  background-color: #f5f5f5;
  border-color: #ddd;
}
.panel-default &gt; .panel-heading + .panel-collapse &gt; .panel-body {
  border-top-color: #ddd;
}
.panel-default &gt; .panel-heading .badge {
  color: #f5f5f5;
  background-color: #333333;
}
.panel-default &gt; .panel-footer + .panel-collapse &gt; .panel-body {
  border-bottom-color: #ddd;
}
.panel-primary {
  border-color: #337ab7;
}
.panel-primary &gt; .panel-heading {
  color: #fff;
  background-color: #337ab7;
  border-color: #337ab7;
}
.panel-primary &gt; .panel-heading + .panel-collapse &gt; .panel-body {
  border-top-color: #337ab7;
}
.panel-primary &gt; .panel-heading .badge {
  color: #337ab7;
  background-color: #fff;
}
.panel-primary &gt; .panel-footer + .panel-collapse &gt; .panel-body {
  border-bottom-color: #337ab7;
}
.panel-success {
  border-color: #d6e9c6;
}
.panel-success &gt; .panel-heading {
  color: #3c763d;
  background-color: #dff0d8;
  border-color: #d6e9c6;
}
.panel-success &gt; .panel-heading + .panel-collapse &gt; .panel-body {
  border-top-color: #d6e9c6;
}
.panel-success &gt; .panel-heading .badge {
  color: #dff0d8;
  background-color: #3c763d;
}
.panel-success &gt; .panel-footer + .panel-collapse &gt; .panel-body {
  border-bottom-color: #d6e9c6;
}
.panel-info {
  border-color: #bce8f1;
}
.panel-info &gt; .panel-heading {
  color: #31708f;
  background-color: #d9edf7;
  border-color: #bce8f1;
}
.panel-info &gt; .panel-heading + .panel-collapse &gt; .panel-body {
  border-top-color: #bce8f1;
}
.panel-info &gt; .panel-heading .badge {
  color: #d9edf7;
  background-color: #31708f;
}
.panel-info &gt; .panel-footer + .panel-collapse &gt; .panel-body {
  border-bottom-color: #bce8f1;
}
.panel-warning {
  border-color: #faebcc;
}
.panel-warning &gt; .panel-heading {
  color: #8a6d3b;
  background-color: #fcf8e3;
  border-color: #faebcc;
}
.panel-warning &gt; .panel-heading + .panel-collapse &gt; .panel-body {
  border-top-color: #faebcc;
}
.panel-warning &gt; .panel-heading .badge {
  color: #fcf8e3;
  background-color: #8a6d3b;
}
.panel-warning &gt; .panel-footer + .panel-collapse &gt; .panel-body {
  border-bottom-color: #faebcc;
}
.panel-danger {
  border-color: #ebccd1;
}
.panel-danger &gt; .panel-heading {
  color: #a94442;
  background-color: #f2dede;
  border-color: #ebccd1;
}
.panel-danger &gt; .panel-heading + .panel-collapse &gt; .panel-body {
  border-top-color: #ebccd1;
}
.panel-danger &gt; .panel-heading .badge {
  color: #f2dede;
  background-color: #a94442;
}
.panel-danger &gt; .panel-footer + .panel-collapse &gt; .panel-body {
  border-bottom-color: #ebccd1;
}
.embed-responsive {
  position: relative;
  display: block;
  height: 0;
  padding: 0;
  overflow: hidden;
}
.embed-responsive .embed-responsive-item,
.embed-responsive iframe,
.embed-responsive embed,
.embed-responsive object,
.embed-responsive video {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  height: 100%;
  width: 100%;
  border: 0;
}
.embed-responsive-16by9 {
  padding-bottom: 56.25%;
}
.embed-responsive-4by3 {
  padding-bottom: 75%;
}
.well {
  min-height: 20px;
  padding: 19px;
  margin-bottom: 20px;
  background-color: #f5f5f5;
  border: 1px solid #e3e3e3;
  border-radius: 2px;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);
}
.well blockquote {
  border-color: #ddd;
  border-color: rgba(0, 0, 0, 0.15);
}
.well-lg {
  padding: 24px;
  border-radius: 3px;
}
.well-sm {
  padding: 9px;
  border-radius: 1px;
}
.close {
  float: right;
  font-size: 19.5px;
  font-weight: bold;
  line-height: 1;
  color: #000;
  text-shadow: 0 1px 0 #fff;
  opacity: 0.2;
  filter: alpha(opacity=20);
}
.close:hover,
.close:focus {
  color: #000;
  text-decoration: none;
  cursor: pointer;
  opacity: 0.5;
  filter: alpha(opacity=50);
}
button.close {
  padding: 0;
  cursor: pointer;
  background: transparent;
  border: 0;
  -webkit-appearance: none;
}
.modal-open {
  overflow: hidden;
}
.modal {
  display: none;
  overflow: hidden;
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1050;
  -webkit-overflow-scrolling: touch;
  outline: 0;
}
.modal.fade .modal-dialog {
  -webkit-transform: translate(0, -25%);
  -ms-transform: translate(0, -25%);
  -o-transform: translate(0, -25%);
  transform: translate(0, -25%);
  -webkit-transition: -webkit-transform 0.3s ease-out;
  -moz-transition: -moz-transform 0.3s ease-out;
  -o-transition: -o-transform 0.3s ease-out;
  transition: transform 0.3s ease-out;
}
.modal.in .modal-dialog {
  -webkit-transform: translate(0, 0);
  -ms-transform: translate(0, 0);
  -o-transform: translate(0, 0);
  transform: translate(0, 0);
}
.modal-open .modal {
  overflow-x: hidden;
  overflow-y: auto;
}
.modal-dialog {
  position: relative;
  width: auto;
  margin: 10px;
}
.modal-content {
  position: relative;
  background-color: #fff;
  border: 1px solid #999;
  border: 1px solid rgba(0, 0, 0, 0.2);
  border-radius: 3px;
  -webkit-box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5);
  box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5);
  background-clip: padding-box;
  outline: 0;
}
.modal-backdrop {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1040;
  background-color: #000;
}
.modal-backdrop.fade {
  opacity: 0;
  filter: alpha(opacity=0);
}
.modal-backdrop.in {
  opacity: 0.5;
  filter: alpha(opacity=50);
}
.modal-header {
  padding: 15px;
  border-bottom: 1px solid #e5e5e5;
}
.modal-header .close {
  margin-top: -2px;
}
.modal-title {
  margin: 0;
  line-height: 1.42857143;
}
.modal-body {
  position: relative;
  padding: 15px;
}
.modal-footer {
  padding: 15px;
  text-align: right;
  border-top: 1px solid #e5e5e5;
}
.modal-footer .btn + .btn {
  margin-left: 5px;
  margin-bottom: 0;
}
.modal-footer .btn-group .btn + .btn {
  margin-left: -1px;
}
.modal-footer .btn-block + .btn-block {
  margin-left: 0;
}
.modal-scrollbar-measure {
  position: absolute;
  top: -9999px;
  width: 50px;
  height: 50px;
  overflow: scroll;
}
@media (min-width: 768px) {
  .modal-dialog {
    width: 600px;
    margin: 30px auto;
  }
  .modal-content {
    -webkit-box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5);
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5);
  }
  .modal-sm {
    width: 300px;
  }
}
@media (min-width: 992px) {
  .modal-lg {
    width: 900px;
  }
}
.tooltip {
  position: absolute;
  z-index: 1070;
  display: block;
  font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, sans-serif;
  font-style: normal;
  font-weight: normal;
  letter-spacing: normal;
  line-break: auto;
  line-height: 1.42857143;
  text-align: left;
  text-align: start;
  text-decoration: none;
  text-shadow: none;
  text-transform: none;
  white-space: normal;
  word-break: normal;
  word-spacing: normal;
  word-wrap: normal;
  font-size: 12px;
  opacity: 0;
  filter: alpha(opacity=0);
}
.tooltip.in {
  opacity: 0.9;
  filter: alpha(opacity=90);
}
.tooltip.top {
  margin-top: -3px;
  padding: 5px 0;
}
.tooltip.right {
  margin-left: 3px;
  padding: 0 5px;
}
.tooltip.bottom {
  margin-top: 3px;
  padding: 5px 0;
}
.tooltip.left {
  margin-left: -3px;
  padding: 0 5px;
}
.tooltip-inner {
  max-width: 200px;
  padding: 3px 8px;
  color: #fff;
  text-align: center;
  background-color: #000;
  border-radius: 2px;
}
.tooltip-arrow {
  position: absolute;
  width: 0;
  height: 0;
  border-color: transparent;
  border-style: solid;
}
.tooltip.top .tooltip-arrow {
  bottom: 0;
  left: 50%;
  margin-left: -5px;
  border-width: 5px 5px 0;
  border-top-color: #000;
}
.tooltip.top-left .tooltip-arrow {
  bottom: 0;
  right: 5px;
  margin-bottom: -5px;
  border-width: 5px 5px 0;
  border-top-color: #000;
}
.tooltip.top-right .tooltip-arrow {
  bottom: 0;
  left: 5px;
  margin-bottom: -5px;
  border-width: 5px 5px 0;
  border-top-color: #000;
}
.tooltip.right .tooltip-arrow {
  top: 50%;
  left: 0;
  margin-top: -5px;
  border-width: 5px 5px 5px 0;
  border-right-color: #000;
}
.tooltip.left .tooltip-arrow {
  top: 50%;
  right: 0;
  margin-top: -5px;
  border-width: 5px 0 5px 5px;
  border-left-color: #000;
}
.tooltip.bottom .tooltip-arrow {
  top: 0;
  left: 50%;
  margin-left: -5px;
  border-width: 0 5px 5px;
  border-bottom-color: #000;
}
.tooltip.bottom-left .tooltip-arrow {
  top: 0;
  right: 5px;
  margin-top: -5px;
  border-width: 0 5px 5px;
  border-bottom-color: #000;
}
.tooltip.bottom-right .tooltip-arrow {
  top: 0;
  left: 5px;
  margin-top: -5px;
  border-width: 0 5px 5px;
  border-bottom-color: #000;
}
.popover {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1060;
  display: none;
  max-width: 276px;
  padding: 1px;
  font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, sans-serif;
  font-style: normal;
  font-weight: normal;
  letter-spacing: normal;
  line-break: auto;
  line-height: 1.42857143;
  text-align: left;
  text-align: start;
  text-decoration: none;
  text-shadow: none;
  text-transform: none;
  white-space: normal;
  word-break: normal;
  word-spacing: normal;
  word-wrap: normal;
  font-size: 13px;
  background-color: #fff;
  background-clip: padding-box;
  border: 1px solid #ccc;
  border: 1px solid rgba(0, 0, 0, 0.2);
  border-radius: 3px;
  -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
  box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
}
.popover.top {
  margin-top: -10px;
}
.popover.right {
  margin-left: 10px;
}
.popover.bottom {
  margin-top: 10px;
}
.popover.left {
  margin-left: -10px;
}
.popover-title {
  margin: 0;
  padding: 8px 14px;
  font-size: 13px;
  background-color: #f7f7f7;
  border-bottom: 1px solid #ebebeb;
  border-radius: 2px 2px 0 0;
}
.popover-content {
  padding: 9px 14px;
}
.popover &gt; .arrow,
.popover &gt; .arrow:after {
  position: absolute;
  display: block;
  width: 0;
  height: 0;
  border-color: transparent;
  border-style: solid;
}
.popover &gt; .arrow {
  border-width: 11px;
}
.popover &gt; .arrow:after {
  border-width: 10px;
  content: &quot;&quot;;
}
.popover.top &gt; .arrow {
  left: 50%;
  margin-left: -11px;
  border-bottom-width: 0;
  border-top-color: #999999;
  border-top-color: rgba(0, 0, 0, 0.25);
  bottom: -11px;
}
.popover.top &gt; .arrow:after {
  content: &quot; &quot;;
  bottom: 1px;
  margin-left: -10px;
  border-bottom-width: 0;
  border-top-color: #fff;
}
.popover.right &gt; .arrow {
  top: 50%;
  left: -11px;
  margin-top: -11px;
  border-left-width: 0;
  border-right-color: #999999;
  border-right-color: rgba(0, 0, 0, 0.25);
}
.popover.right &gt; .arrow:after {
  content: &quot; &quot;;
  left: 1px;
  bottom: -10px;
  border-left-width: 0;
  border-right-color: #fff;
}
.popover.bottom &gt; .arrow {
  left: 50%;
  margin-left: -11px;
  border-top-width: 0;
  border-bottom-color: #999999;
  border-bottom-color: rgba(0, 0, 0, 0.25);
  top: -11px;
}
.popover.bottom &gt; .arrow:after {
  content: &quot; &quot;;
  top: 1px;
  margin-left: -10px;
  border-top-width: 0;
  border-bottom-color: #fff;
}
.popover.left &gt; .arrow {
  top: 50%;
  right: -11px;
  margin-top: -11px;
  border-right-width: 0;
  border-left-color: #999999;
  border-left-color: rgba(0, 0, 0, 0.25);
}
.popover.left &gt; .arrow:after {
  content: &quot; &quot;;
  right: 1px;
  border-right-width: 0;
  border-left-color: #fff;
  bottom: -10px;
}
.carousel {
  position: relative;
}
.carousel-inner {
  position: relative;
  overflow: hidden;
  width: 100%;
}
.carousel-inner &gt; .item {
  display: none;
  position: relative;
  -webkit-transition: 0.6s ease-in-out left;
  -o-transition: 0.6s ease-in-out left;
  transition: 0.6s ease-in-out left;
}
.carousel-inner &gt; .item &gt; img,
.carousel-inner &gt; .item &gt; a &gt; img {
  line-height: 1;
}
@media all and (transform-3d), (-webkit-transform-3d) {
  .carousel-inner &gt; .item {
    -webkit-transition: -webkit-transform 0.6s ease-in-out;
    -moz-transition: -moz-transform 0.6s ease-in-out;
    -o-transition: -o-transform 0.6s ease-in-out;
    transition: transform 0.6s ease-in-out;
    -webkit-backface-visibility: hidden;
    -moz-backface-visibility: hidden;
    backface-visibility: hidden;
    -webkit-perspective: 1000px;
    -moz-perspective: 1000px;
    perspective: 1000px;
  }
  .carousel-inner &gt; .item.next,
  .carousel-inner &gt; .item.active.right {
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
    left: 0;
  }
  .carousel-inner &gt; .item.prev,
  .carousel-inner &gt; .item.active.left {
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
    left: 0;
  }
  .carousel-inner &gt; .item.next.left,
  .carousel-inner &gt; .item.prev.right,
  .carousel-inner &gt; .item.active {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    left: 0;
  }
}
.carousel-inner &gt; .active,
.carousel-inner &gt; .next,
.carousel-inner &gt; .prev {
  display: block;
}
.carousel-inner &gt; .active {
  left: 0;
}
.carousel-inner &gt; .next,
.carousel-inner &gt; .prev {
  position: absolute;
  top: 0;
  width: 100%;
}
.carousel-inner &gt; .next {
  left: 100%;
}
.carousel-inner &gt; .prev {
  left: -100%;
}
.carousel-inner &gt; .next.left,
.carousel-inner &gt; .prev.right {
  left: 0;
}
.carousel-inner &gt; .active.left {
  left: -100%;
}
.carousel-inner &gt; .active.right {
  left: 100%;
}
.carousel-control {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  width: 15%;
  opacity: 0.5;
  filter: alpha(opacity=50);
  font-size: 20px;
  color: #fff;
  text-align: center;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6);
  background-color: rgba(0, 0, 0, 0);
}
.carousel-control.left {
  background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%);
  background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%);
  background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%);
  background-repeat: repeat-x;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1);
}
.carousel-control.right {
  left: auto;
  right: 0;
  background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%);
  background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%);
  background-image: linear-gradient(to right, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%);
  background-repeat: repeat-x;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1);
}
.carousel-control:hover,
.carousel-control:focus {
  outline: 0;
  color: #fff;
  text-decoration: none;
  opacity: 0.9;
  filter: alpha(opacity=90);
}
.carousel-control .icon-prev,
.carousel-control .icon-next,
.carousel-control .glyphicon-chevron-left,
.carousel-control .glyphicon-chevron-right {
  position: absolute;
  top: 50%;
  margin-top: -10px;
  z-index: 5;
  display: inline-block;
}
.carousel-control .icon-prev,
.carousel-control .glyphicon-chevron-left {
  left: 50%;
  margin-left: -10px;
}
.carousel-control .icon-next,
.carousel-control .glyphicon-chevron-right {
  right: 50%;
  margin-right: -10px;
}
.carousel-control .icon-prev,
.carousel-control .icon-next {
  width: 20px;
  height: 20px;
  line-height: 1;
  font-family: serif;
}
.carousel-control .icon-prev:before {
  content: '\2039';
}
.carousel-control .icon-next:before {
  content: '\203a';
}
.carousel-indicators {
  position: absolute;
  bottom: 10px;
  left: 50%;
  z-index: 15;
  width: 60%;
  margin-left: -30%;
  padding-left: 0;
  list-style: none;
  text-align: center;
}
.carousel-indicators li {
  display: inline-block;
  width: 10px;
  height: 10px;
  margin: 1px;
  text-indent: -999px;
  border: 1px solid #fff;
  border-radius: 10px;
  cursor: pointer;
  background-color: #000 \9;
  background-color: rgba(0, 0, 0, 0);
}
.carousel-indicators .active {
  margin: 0;
  width: 12px;
  height: 12px;
  background-color: #fff;
}
.carousel-caption {
  position: absolute;
  left: 15%;
  right: 15%;
  bottom: 20px;
  z-index: 10;
  padding-top: 20px;
  padding-bottom: 20px;
  color: #fff;
  text-align: center;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6);
}
.carousel-caption .btn {
  text-shadow: none;
}
@media screen and (min-width: 768px) {
  .carousel-control .glyphicon-chevron-left,
  .carousel-control .glyphicon-chevron-right,
  .carousel-control .icon-prev,
  .carousel-control .icon-next {
    width: 30px;
    height: 30px;
    margin-top: -10px;
    font-size: 30px;
  }
  .carousel-control .glyphicon-chevron-left,
  .carousel-control .icon-prev {
    margin-left: -10px;
  }
  .carousel-control .glyphicon-chevron-right,
  .carousel-control .icon-next {
    margin-right: -10px;
  }
  .carousel-caption {
    left: 20%;
    right: 20%;
    padding-bottom: 30px;
  }
  .carousel-indicators {
    bottom: 20px;
  }
}
.clearfix:before,
.clearfix:after,
.dl-horizontal dd:before,
.dl-horizontal dd:after,
.container:before,
.container:after,
.container-fluid:before,
.container-fluid:after,
.row:before,
.row:after,
.form-horizontal .form-group:before,
.form-horizontal .form-group:after,
.btn-toolbar:before,
.btn-toolbar:after,
.btn-group-vertical &gt; .btn-group:before,
.btn-group-vertical &gt; .btn-group:after,
.nav:before,
.nav:after,
.navbar:before,
.navbar:after,
.navbar-header:before,
.navbar-header:after,
.navbar-collapse:before,
.navbar-collapse:after,
.pager:before,
.pager:after,
.panel-body:before,
.panel-body:after,
.modal-header:before,
.modal-header:after,
.modal-footer:before,
.modal-footer:after,
.item_buttons:before,
.item_buttons:after {
  content: &quot; &quot;;
  display: table;
}
.clearfix:after,
.dl-horizontal dd:after,
.container:after,
.container-fluid:after,
.row:after,
.form-horizontal .form-group:after,
.btn-toolbar:after,
.btn-group-vertical &gt; .btn-group:after,
.nav:after,
.navbar:after,
.navbar-header:after,
.navbar-collapse:after,
.pager:after,
.panel-body:after,
.modal-header:after,
.modal-footer:after,
.item_buttons:after {
  clear: both;
}
.center-block {
  display: block;
  margin-left: auto;
  margin-right: auto;
}
.pull-right {
  float: right !important;
}
.pull-left {
  float: left !important;
}
.hide {
  display: none !important;
}
.show {
  display: block !important;
}
.invisible {
  visibility: hidden;
}
.text-hide {
  font: 0/0 a;
  color: transparent;
  text-shadow: none;
  background-color: transparent;
  border: 0;
}
.hidden {
  display: none !important;
}
.affix {
  position: fixed;
}
@-ms-viewport {
  width: device-width;
}
.visible-xs,
.visible-sm,
.visible-md,
.visible-lg {
  display: none !important;
}
.visible-xs-block,
.visible-xs-inline,
.visible-xs-inline-block,
.visible-sm-block,
.visible-sm-inline,
.visible-sm-inline-block,
.visible-md-block,
.visible-md-inline,
.visible-md-inline-block,
.visible-lg-block,
.visible-lg-inline,
.visible-lg-inline-block {
  display: none !important;
}
@media (max-width: 767px) {
  .visible-xs {
    display: block !important;
  }
  table.visible-xs {
    display: table !important;
  }
  tr.visible-xs {
    display: table-row !important;
  }
  th.visible-xs,
  td.visible-xs {
    display: table-cell !important;
  }
}
@media (max-width: 767px) {
  .visible-xs-block {
    display: block !important;
  }
}
@media (max-width: 767px) {
  .visible-xs-inline {
    display: inline !important;
  }
}
@media (max-width: 767px) {
  .visible-xs-inline-block {
    display: inline-block !important;
  }
}
@media (min-width: 768px) and (max-width: 991px) {
  .visible-sm {
    display: block !important;
  }
  table.visible-sm {
    display: table !important;
  }
  tr.visible-sm {
    display: table-row !important;
  }
  th.visible-sm,
  td.visible-sm {
    display: table-cell !important;
  }
}
@media (min-width: 768px) and (max-width: 991px) {
  .visible-sm-block {
    display: block !important;
  }
}
@media (min-width: 768px) and (max-width: 991px) {
  .visible-sm-inline {
    display: inline !important;
  }
}
@media (min-width: 768px) and (max-width: 991px) {
  .visible-sm-inline-block {
    display: inline-block !important;
  }
}
@media (min-width: 992px) and (max-width: 1199px) {
  .visible-md {
    display: block !important;
  }
  table.visible-md {
    display: table !important;
  }
  tr.visible-md {
    display: table-row !important;
  }
  th.visible-md,
  td.visible-md {
    display: table-cell !important;
  }
}
@media (min-width: 992px) and (max-width: 1199px) {
  .visible-md-block {
    display: block !important;
  }
}
@media (min-width: 992px) and (max-width: 1199px) {
  .visible-md-inline {
    display: inline !important;
  }
}
@media (min-width: 992px) and (max-width: 1199px) {
  .visible-md-inline-block {
    display: inline-block !important;
  }
}
@media (min-width: 1200px) {
  .visible-lg {
    display: block !important;
  }
  table.visible-lg {
    display: table !important;
  }
  tr.visible-lg {
    display: table-row !important;
  }
  th.visible-lg,
  td.visible-lg {
    display: table-cell !important;
  }
}
@media (min-width: 1200px) {
  .visible-lg-block {
    display: block !important;
  }
}
@media (min-width: 1200px) {
  .visible-lg-inline {
    display: inline !important;
  }
}
@media (min-width: 1200px) {
  .visible-lg-inline-block {
    display: inline-block !important;
  }
}
@media (max-width: 767px) {
  .hidden-xs {
    display: none !important;
  }
}
@media (min-width: 768px) and (max-width: 991px) {
  .hidden-sm {
    display: none !important;
  }
}
@media (min-width: 992px) and (max-width: 1199px) {
  .hidden-md {
    display: none !important;
  }
}
@media (min-width: 1200px) {
  .hidden-lg {
    display: none !important;
  }
}
.visible-print {
  display: none !important;
}
@media print {
  .visible-print {
    display: block !important;
  }
  table.visible-print {
    display: table !important;
  }
  tr.visible-print {
    display: table-row !important;
  }
  th.visible-print,
  td.visible-print {
    display: table-cell !important;
  }
}
.visible-print-block {
  display: none !important;
}
@media print {
  .visible-print-block {
    display: block !important;
  }
}
.visible-print-inline {
  display: none !important;
}
@media print {
  .visible-print-inline {
    display: inline !important;
  }
}
.visible-print-inline-block {
  display: none !important;
}
@media print {
  .visible-print-inline-block {
    display: inline-block !important;
  }
}
@media print {
  .hidden-print {
    display: none !important;
  }
}
/*!
*
* Font Awesome
*
*/
/*!
 *  Font Awesome 4.2.0 by @davegandy - http://fontawesome.io - @fontawesome
 *  License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License)
 */
/* FONT PATH
 * -------------------------- */
@font-face {
  font-family: 'FontAwesome';
  src: url('../components/font-awesome/fonts/fontawesome-webfont.eot?v=4.2.0');
  src: url('../components/font-awesome/fonts/fontawesome-webfont.eot?#iefix&amp;v=4.2.0') format('embedded-opentype'), url('../components/font-awesome/fonts/fontawesome-webfont.woff?v=4.2.0') format('woff'), url('../components/font-awesome/fonts/fontawesome-webfont.ttf?v=4.2.0') format('truetype'), url('../components/font-awesome/fonts/fontawesome-webfont.svg?v=4.2.0#fontawesomeregular') format('svg');
  font-weight: normal;
  font-style: normal;
}
.fa {
  display: inline-block;
  font: normal normal normal 14px/1 FontAwesome;
  font-size: inherit;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
/* makes the font 33% larger relative to the icon container */
.fa-lg {
  font-size: 1.33333333em;
  line-height: 0.75em;
  vertical-align: -15%;
}
.fa-2x {
  font-size: 2em;
}
.fa-3x {
  font-size: 3em;
}
.fa-4x {
  font-size: 4em;
}
.fa-5x {
  font-size: 5em;
}
.fa-fw {
  width: 1.28571429em;
  text-align: center;
}
.fa-ul {
  padding-left: 0;
  margin-left: 2.14285714em;
  list-style-type: none;
}
.fa-ul &gt; li {
  position: relative;
}
.fa-li {
  position: absolute;
  left: -2.14285714em;
  width: 2.14285714em;
  top: 0.14285714em;
  text-align: center;
}
.fa-li.fa-lg {
  left: -1.85714286em;
}
.fa-border {
  padding: .2em .25em .15em;
  border: solid 0.08em #eee;
  border-radius: .1em;
}
.pull-right {
  float: right;
}
.pull-left {
  float: left;
}
.fa.pull-left {
  margin-right: .3em;
}
.fa.pull-right {
  margin-left: .3em;
}
.fa-spin {
  -webkit-animation: fa-spin 2s infinite linear;
  animation: fa-spin 2s infinite linear;
}
@-webkit-keyframes fa-spin {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(359deg);
    transform: rotate(359deg);
  }
}
@keyframes fa-spin {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(359deg);
    transform: rotate(359deg);
  }
}
.fa-rotate-90 {
  filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=1);
  -webkit-transform: rotate(90deg);
  -ms-transform: rotate(90deg);
  transform: rotate(90deg);
}
.fa-rotate-180 {
  filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2);
  -webkit-transform: rotate(180deg);
  -ms-transform: rotate(180deg);
  transform: rotate(180deg);
}
.fa-rotate-270 {
  filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=3);
  -webkit-transform: rotate(270deg);
  -ms-transform: rotate(270deg);
  transform: rotate(270deg);
}
.fa-flip-horizontal {
  filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1);
  -webkit-transform: scale(-1, 1);
  -ms-transform: scale(-1, 1);
  transform: scale(-1, 1);
}
.fa-flip-vertical {
  filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1);
  -webkit-transform: scale(1, -1);
  -ms-transform: scale(1, -1);
  transform: scale(1, -1);
}
:root .fa-rotate-90,
:root .fa-rotate-180,
:root .fa-rotate-270,
:root .fa-flip-horizontal,
:root .fa-flip-vertical {
  filter: none;
}
.fa-stack {
  position: relative;
  display: inline-block;
  width: 2em;
  height: 2em;
  line-height: 2em;
  vertical-align: middle;
}
.fa-stack-1x,
.fa-stack-2x {
  position: absolute;
  left: 0;
  width: 100%;
  text-align: center;
}
.fa-stack-1x {
  line-height: inherit;
}
.fa-stack-2x {
  font-size: 2em;
}
.fa-inverse {
  color: #fff;
}
/* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen
   readers do not read off random characters that represent icons */
.fa-glass:before {
  content: &quot;\f000&quot;;
}
.fa-music:before {
  content: &quot;\f001&quot;;
}
.fa-search:before {
  content: &quot;\f002&quot;;
}
.fa-envelope-o:before {
  content: &quot;\f003&quot;;
}
.fa-heart:before {
  content: &quot;\f004&quot;;
}
.fa-star:before {
  content: &quot;\f005&quot;;
}
.fa-star-o:before {
  content: &quot;\f006&quot;;
}
.fa-user:before {
  content: &quot;\f007&quot;;
}
.fa-film:before {
  content: &quot;\f008&quot;;
}
.fa-th-large:before {
  content: &quot;\f009&quot;;
}
.fa-th:before {
  content: &quot;\f00a&quot;;
}
.fa-th-list:before {
  content: &quot;\f00b&quot;;
}
.fa-check:before {
  content: &quot;\f00c&quot;;
}
.fa-remove:before,
.fa-close:before,
.fa-times:before {
  content: &quot;\f00d&quot;;
}
.fa-search-plus:before {
  content: &quot;\f00e&quot;;
}
.fa-search-minus:before {
  content: &quot;\f010&quot;;
}
.fa-power-off:before {
  content: &quot;\f011&quot;;
}
.fa-signal:before {
  content: &quot;\f012&quot;;
}
.fa-gear:before,
.fa-cog:before {
  content: &quot;\f013&quot;;
}
.fa-trash-o:before {
  content: &quot;\f014&quot;;
}
.fa-home:before {
  content: &quot;\f015&quot;;
}
.fa-file-o:before {
  content: &quot;\f016&quot;;
}
.fa-clock-o:before {
  content: &quot;\f017&quot;;
}
.fa-road:before {
  content: &quot;\f018&quot;;
}
.fa-download:before {
  content: &quot;\f019&quot;;
}
.fa-arrow-circle-o-down:before {
  content: &quot;\f01a&quot;;
}
.fa-arrow-circle-o-up:before {
  content: &quot;\f01b&quot;;
}
.fa-inbox:before {
  content: &quot;\f01c&quot;;
}
.fa-play-circle-o:before {
  content: &quot;\f01d&quot;;
}
.fa-rotate-right:before,
.fa-repeat:before {
  content: &quot;\f01e&quot;;
}
.fa-refresh:before {
  content: &quot;\f021&quot;;
}
.fa-list-alt:before {
  content: &quot;\f022&quot;;
}
.fa-lock:before {
  content: &quot;\f023&quot;;
}
.fa-flag:before {
  content: &quot;\f024&quot;;
}
.fa-headphones:before {
  content: &quot;\f025&quot;;
}
.fa-volume-off:before {
  content: &quot;\f026&quot;;
}
.fa-volume-down:before {
  content: &quot;\f027&quot;;
}
.fa-volume-up:before {
  content: &quot;\f028&quot;;
}
.fa-qrcode:before {
  content: &quot;\f029&quot;;
}
.fa-barcode:before {
  content: &quot;\f02a&quot;;
}
.fa-tag:before {
  content: &quot;\f02b&quot;;
}
.fa-tags:before {
  content: &quot;\f02c&quot;;
}
.fa-book:before {
  content: &quot;\f02d&quot;;
}
.fa-bookmark:before {
  content: &quot;\f02e&quot;;
}
.fa-print:before {
  content: &quot;\f02f&quot;;
}
.fa-camera:before {
  content: &quot;\f030&quot;;
}
.fa-font:before {
  content: &quot;\f031&quot;;
}
.fa-bold:before {
  content: &quot;\f032&quot;;
}
.fa-italic:before {
  content: &quot;\f033&quot;;
}
.fa-text-height:before {
  content: &quot;\f034&quot;;
}
.fa-text-width:before {
  content: &quot;\f035&quot;;
}
.fa-align-left:before {
  content: &quot;\f036&quot;;
}
.fa-align-center:before {
  content: &quot;\f037&quot;;
}
.fa-align-right:before {
  content: &quot;\f038&quot;;
}
.fa-align-justify:before {
  content: &quot;\f039&quot;;
}
.fa-list:before {
  content: &quot;\f03a&quot;;
}
.fa-dedent:before,
.fa-outdent:before {
  content: &quot;\f03b&quot;;
}
.fa-indent:before {
  content: &quot;\f03c&quot;;
}
.fa-video-camera:before {
  content: &quot;\f03d&quot;;
}
.fa-photo:before,
.fa-image:before,
.fa-picture-o:before {
  content: &quot;\f03e&quot;;
}
.fa-pencil:before {
  content: &quot;\f040&quot;;
}
.fa-map-marker:before {
  content: &quot;\f041&quot;;
}
.fa-adjust:before {
  content: &quot;\f042&quot;;
}
.fa-tint:before {
  content: &quot;\f043&quot;;
}
.fa-edit:before,
.fa-pencil-square-o:before {
  content: &quot;\f044&quot;;
}
.fa-share-square-o:before {
  content: &quot;\f045&quot;;
}
.fa-check-square-o:before {
  content: &quot;\f046&quot;;
}
.fa-arrows:before {
  content: &quot;\f047&quot;;
}
.fa-step-backward:before {
  content: &quot;\f048&quot;;
}
.fa-fast-backward:before {
  content: &quot;\f049&quot;;
}
.fa-backward:before {
  content: &quot;\f04a&quot;;
}
.fa-play:before {
  content: &quot;\f04b&quot;;
}
.fa-pause:before {
  content: &quot;\f04c&quot;;
}
.fa-stop:before {
  content: &quot;\f04d&quot;;
}
.fa-forward:before {
  content: &quot;\f04e&quot;;
}
.fa-fast-forward:before {
  content: &quot;\f050&quot;;
}
.fa-step-forward:before {
  content: &quot;\f051&quot;;
}
.fa-eject:before {
  content: &quot;\f052&quot;;
}
.fa-chevron-left:before {
  content: &quot;\f053&quot;;
}
.fa-chevron-right:before {
  content: &quot;\f054&quot;;
}
.fa-plus-circle:before {
  content: &quot;\f055&quot;;
}
.fa-minus-circle:before {
  content: &quot;\f056&quot;;
}
.fa-times-circle:before {
  content: &quot;\f057&quot;;
}
.fa-check-circle:before {
  content: &quot;\f058&quot;;
}
.fa-question-circle:before {
  content: &quot;\f059&quot;;
}
.fa-info-circle:before {
  content: &quot;\f05a&quot;;
}
.fa-crosshairs:before {
  content: &quot;\f05b&quot;;
}
.fa-times-circle-o:before {
  content: &quot;\f05c&quot;;
}
.fa-check-circle-o:before {
  content: &quot;\f05d&quot;;
}
.fa-ban:before {
  content: &quot;\f05e&quot;;
}
.fa-arrow-left:before {
  content: &quot;\f060&quot;;
}
.fa-arrow-right:before {
  content: &quot;\f061&quot;;
}
.fa-arrow-up:before {
  content: &quot;\f062&quot;;
}
.fa-arrow-down:before {
  content: &quot;\f063&quot;;
}
.fa-mail-forward:before,
.fa-share:before {
  content: &quot;\f064&quot;;
}
.fa-expand:before {
  content: &quot;\f065&quot;;
}
.fa-compress:before {
  content: &quot;\f066&quot;;
}
.fa-plus:before {
  content: &quot;\f067&quot;;
}
.fa-minus:before {
  content: &quot;\f068&quot;;
}
.fa-asterisk:before {
  content: &quot;\f069&quot;;
}
.fa-exclamation-circle:before {
  content: &quot;\f06a&quot;;
}
.fa-gift:before {
  content: &quot;\f06b&quot;;
}
.fa-leaf:before {
  content: &quot;\f06c&quot;;
}
.fa-fire:before {
  content: &quot;\f06d&quot;;
}
.fa-eye:before {
  content: &quot;\f06e&quot;;
}
.fa-eye-slash:before {
  content: &quot;\f070&quot;;
}
.fa-warning:before,
.fa-exclamation-triangle:before {
  content: &quot;\f071&quot;;
}
.fa-plane:before {
  content: &quot;\f072&quot;;
}
.fa-calendar:before {
  content: &quot;\f073&quot;;
}
.fa-random:before {
  content: &quot;\f074&quot;;
}
.fa-comment:before {
  content: &quot;\f075&quot;;
}
.fa-magnet:before {
  content: &quot;\f076&quot;;
}
.fa-chevron-up:before {
  content: &quot;\f077&quot;;
}
.fa-chevron-down:before {
  content: &quot;\f078&quot;;
}
.fa-retweet:before {
  content: &quot;\f079&quot;;
}
.fa-shopping-cart:before {
  content: &quot;\f07a&quot;;
}
.fa-folder:before {
  content: &quot;\f07b&quot;;
}
.fa-folder-open:before {
  content: &quot;\f07c&quot;;
}
.fa-arrows-v:before {
  content: &quot;\f07d&quot;;
}
.fa-arrows-h:before {
  content: &quot;\f07e&quot;;
}
.fa-bar-chart-o:before,
.fa-bar-chart:before {
  content: &quot;\f080&quot;;
}
.fa-twitter-square:before {
  content: &quot;\f081&quot;;
}
.fa-facebook-square:before {
  content: &quot;\f082&quot;;
}
.fa-camera-retro:before {
  content: &quot;\f083&quot;;
}
.fa-key:before {
  content: &quot;\f084&quot;;
}
.fa-gears:before,
.fa-cogs:before {
  content: &quot;\f085&quot;;
}
.fa-comments:before {
  content: &quot;\f086&quot;;
}
.fa-thumbs-o-up:before {
  content: &quot;\f087&quot;;
}
.fa-thumbs-o-down:before {
  content: &quot;\f088&quot;;
}
.fa-star-half:before {
  content: &quot;\f089&quot;;
}
.fa-heart-o:before {
  content: &quot;\f08a&quot;;
}
.fa-sign-out:before {
  content: &quot;\f08b&quot;;
}
.fa-linkedin-square:before {
  content: &quot;\f08c&quot;;
}
.fa-thumb-tack:before {
  content: &quot;\f08d&quot;;
}
.fa-external-link:before {
  content: &quot;\f08e&quot;;
}
.fa-sign-in:before {
  content: &quot;\f090&quot;;
}
.fa-trophy:before {
  content: &quot;\f091&quot;;
}
.fa-github-square:before {
  content: &quot;\f092&quot;;
}
.fa-upload:before {
  content: &quot;\f093&quot;;
}
.fa-lemon-o:before {
  content: &quot;\f094&quot;;
}
.fa-phone:before {
  content: &quot;\f095&quot;;
}
.fa-square-o:before {
  content: &quot;\f096&quot;;
}
.fa-bookmark-o:before {
  content: &quot;\f097&quot;;
}
.fa-phone-square:before {
  content: &quot;\f098&quot;;
}
.fa-twitter:before {
  content: &quot;\f099&quot;;
}
.fa-facebook:before {
  content: &quot;\f09a&quot;;
}
.fa-github:before {
  content: &quot;\f09b&quot;;
}
.fa-unlock:before {
  content: &quot;\f09c&quot;;
}
.fa-credit-card:before {
  content: &quot;\f09d&quot;;
}
.fa-rss:before {
  content: &quot;\f09e&quot;;
}
.fa-hdd-o:before {
  content: &quot;\f0a0&quot;;
}
.fa-bullhorn:before {
  content: &quot;\f0a1&quot;;
}
.fa-bell:before {
  content: &quot;\f0f3&quot;;
}
.fa-certificate:before {
  content: &quot;\f0a3&quot;;
}
.fa-hand-o-right:before {
  content: &quot;\f0a4&quot;;
}
.fa-hand-o-left:before {
  content: &quot;\f0a5&quot;;
}
.fa-hand-o-up:before {
  content: &quot;\f0a6&quot;;
}
.fa-hand-o-down:before {
  content: &quot;\f0a7&quot;;
}
.fa-arrow-circle-left:before {
  content: &quot;\f0a8&quot;;
}
.fa-arrow-circle-right:before {
  content: &quot;\f0a9&quot;;
}
.fa-arrow-circle-up:before {
  content: &quot;\f0aa&quot;;
}
.fa-arrow-circle-down:before {
  content: &quot;\f0ab&quot;;
}
.fa-globe:before {
  content: &quot;\f0ac&quot;;
}
.fa-wrench:before {
  content: &quot;\f0ad&quot;;
}
.fa-tasks:before {
  content: &quot;\f0ae&quot;;
}
.fa-filter:before {
  content: &quot;\f0b0&quot;;
}
.fa-briefcase:before {
  content: &quot;\f0b1&quot;;
}
.fa-arrows-alt:before {
  content: &quot;\f0b2&quot;;
}
.fa-group:before,
.fa-users:before {
  content: &quot;\f0c0&quot;;
}
.fa-chain:before,
.fa-link:before {
  content: &quot;\f0c1&quot;;
}
.fa-cloud:before {
  content: &quot;\f0c2&quot;;
}
.fa-flask:before {
  content: &quot;\f0c3&quot;;
}
.fa-cut:before,
.fa-scissors:before {
  content: &quot;\f0c4&quot;;
}
.fa-copy:before,
.fa-files-o:before {
  content: &quot;\f0c5&quot;;
}
.fa-paperclip:before {
  content: &quot;\f0c6&quot;;
}
.fa-save:before,
.fa-floppy-o:before {
  content: &quot;\f0c7&quot;;
}
.fa-square:before {
  content: &quot;\f0c8&quot;;
}
.fa-navicon:before,
.fa-reorder:before,
.fa-bars:before {
  content: &quot;\f0c9&quot;;
}
.fa-list-ul:before {
  content: &quot;\f0ca&quot;;
}
.fa-list-ol:before {
  content: &quot;\f0cb&quot;;
}
.fa-strikethrough:before {
  content: &quot;\f0cc&quot;;
}
.fa-underline:before {
  content: &quot;\f0cd&quot;;
}
.fa-table:before {
  content: &quot;\f0ce&quot;;
}
.fa-magic:before {
  content: &quot;\f0d0&quot;;
}
.fa-truck:before {
  content: &quot;\f0d1&quot;;
}
.fa-pinterest:before {
  content: &quot;\f0d2&quot;;
}
.fa-pinterest-square:before {
  content: &quot;\f0d3&quot;;
}
.fa-google-plus-square:before {
  content: &quot;\f0d4&quot;;
}
.fa-google-plus:before {
  content: &quot;\f0d5&quot;;
}
.fa-money:before {
  content: &quot;\f0d6&quot;;
}
.fa-caret-down:before {
  content: &quot;\f0d7&quot;;
}
.fa-caret-up:before {
  content: &quot;\f0d8&quot;;
}
.fa-caret-left:before {
  content: &quot;\f0d9&quot;;
}
.fa-caret-right:before {
  content: &quot;\f0da&quot;;
}
.fa-columns:before {
  content: &quot;\f0db&quot;;
}
.fa-unsorted:before,
.fa-sort:before {
  content: &quot;\f0dc&quot;;
}
.fa-sort-down:before,
.fa-sort-desc:before {
  content: &quot;\f0dd&quot;;
}
.fa-sort-up:before,
.fa-sort-asc:before {
  content: &quot;\f0de&quot;;
}
.fa-envelope:before {
  content: &quot;\f0e0&quot;;
}
.fa-linkedin:before {
  content: &quot;\f0e1&quot;;
}
.fa-rotate-left:before,
.fa-undo:before {
  content: &quot;\f0e2&quot;;
}
.fa-legal:before,
.fa-gavel:before {
  content: &quot;\f0e3&quot;;
}
.fa-dashboard:before,
.fa-tachometer:before {
  content: &quot;\f0e4&quot;;
}
.fa-comment-o:before {
  content: &quot;\f0e5&quot;;
}
.fa-comments-o:before {
  content: &quot;\f0e6&quot;;
}
.fa-flash:before,
.fa-bolt:before {
  content: &quot;\f0e7&quot;;
}
.fa-sitemap:before {
  content: &quot;\f0e8&quot;;
}
.fa-umbrella:before {
  content: &quot;\f0e9&quot;;
}
.fa-paste:before,
.fa-clipboard:before {
  content: &quot;\f0ea&quot;;
}
.fa-lightbulb-o:before {
  content: &quot;\f0eb&quot;;
}
.fa-exchange:before {
  content: &quot;\f0ec&quot;;
}
.fa-cloud-download:before {
  content: &quot;\f0ed&quot;;
}
.fa-cloud-upload:before {
  content: &quot;\f0ee&quot;;
}
.fa-user-md:before {
  content: &quot;\f0f0&quot;;
}
.fa-stethoscope:before {
  content: &quot;\f0f1&quot;;
}
.fa-suitcase:before {
  content: &quot;\f0f2&quot;;
}
.fa-bell-o:before {
  content: &quot;\f0a2&quot;;
}
.fa-coffee:before {
  content: &quot;\f0f4&quot;;
}
.fa-cutlery:before {
  content: &quot;\f0f5&quot;;
}
.fa-file-text-o:before {
  content: &quot;\f0f6&quot;;
}
.fa-building-o:before {
  content: &quot;\f0f7&quot;;
}
.fa-hospital-o:before {
  content: &quot;\f0f8&quot;;
}
.fa-ambulance:before {
  content: &quot;\f0f9&quot;;
}
.fa-medkit:before {
  content: &quot;\f0fa&quot;;
}
.fa-fighter-jet:before {
  content: &quot;\f0fb&quot;;
}
.fa-beer:before {
  content: &quot;\f0fc&quot;;
}
.fa-h-square:before {
  content: &quot;\f0fd&quot;;
}
.fa-plus-square:before {
  content: &quot;\f0fe&quot;;
}
.fa-angle-double-left:before {
  content: &quot;\f100&quot;;
}
.fa-angle-double-right:before {
  content: &quot;\f101&quot;;
}
.fa-angle-double-up:before {
  content: &quot;\f102&quot;;
}
.fa-angle-double-down:before {
  content: &quot;\f103&quot;;
}
.fa-angle-left:before {
  content: &quot;\f104&quot;;
}
.fa-angle-right:before {
  content: &quot;\f105&quot;;
}
.fa-angle-up:before {
  content: &quot;\f106&quot;;
}
.fa-angle-down:before {
  content: &quot;\f107&quot;;
}
.fa-desktop:before {
  content: &quot;\f108&quot;;
}
.fa-laptop:before {
  content: &quot;\f109&quot;;
}
.fa-tablet:before {
  content: &quot;\f10a&quot;;
}
.fa-mobile-phone:before,
.fa-mobile:before {
  content: &quot;\f10b&quot;;
}
.fa-circle-o:before {
  content: &quot;\f10c&quot;;
}
.fa-quote-left:before {
  content: &quot;\f10d&quot;;
}
.fa-quote-right:before {
  content: &quot;\f10e&quot;;
}
.fa-spinner:before {
  content: &quot;\f110&quot;;
}
.fa-circle:before {
  content: &quot;\f111&quot;;
}
.fa-mail-reply:before,
.fa-reply:before {
  content: &quot;\f112&quot;;
}
.fa-github-alt:before {
  content: &quot;\f113&quot;;
}
.fa-folder-o:before {
  content: &quot;\f114&quot;;
}
.fa-folder-open-o:before {
  content: &quot;\f115&quot;;
}
.fa-smile-o:before {
  content: &quot;\f118&quot;;
}
.fa-frown-o:before {
  content: &quot;\f119&quot;;
}
.fa-meh-o:before {
  content: &quot;\f11a&quot;;
}
.fa-gamepad:before {
  content: &quot;\f11b&quot;;
}
.fa-keyboard-o:before {
  content: &quot;\f11c&quot;;
}
.fa-flag-o:before {
  content: &quot;\f11d&quot;;
}
.fa-flag-checkered:before {
  content: &quot;\f11e&quot;;
}
.fa-terminal:before {
  content: &quot;\f120&quot;;
}
.fa-code:before {
  content: &quot;\f121&quot;;
}
.fa-mail-reply-all:before,
.fa-reply-all:before {
  content: &quot;\f122&quot;;
}
.fa-star-half-empty:before,
.fa-star-half-full:before,
.fa-star-half-o:before {
  content: &quot;\f123&quot;;
}
.fa-location-arrow:before {
  content: &quot;\f124&quot;;
}
.fa-crop:before {
  content: &quot;\f125&quot;;
}
.fa-code-fork:before {
  content: &quot;\f126&quot;;
}
.fa-unlink:before,
.fa-chain-broken:before {
  content: &quot;\f127&quot;;
}
.fa-question:before {
  content: &quot;\f128&quot;;
}
.fa-info:before {
  content: &quot;\f129&quot;;
}
.fa-exclamation:before {
  content: &quot;\f12a&quot;;
}
.fa-superscript:before {
  content: &quot;\f12b&quot;;
}
.fa-subscript:before {
  content: &quot;\f12c&quot;;
}
.fa-eraser:before {
  content: &quot;\f12d&quot;;
}
.fa-puzzle-piece:before {
  content: &quot;\f12e&quot;;
}
.fa-microphone:before {
  content: &quot;\f130&quot;;
}
.fa-microphone-slash:before {
  content: &quot;\f131&quot;;
}
.fa-shield:before {
  content: &quot;\f132&quot;;
}
.fa-calendar-o:before {
  content: &quot;\f133&quot;;
}
.fa-fire-extinguisher:before {
  content: &quot;\f134&quot;;
}
.fa-rocket:before {
  content: &quot;\f135&quot;;
}
.fa-maxcdn:before {
  content: &quot;\f136&quot;;
}
.fa-chevron-circle-left:before {
  content: &quot;\f137&quot;;
}
.fa-chevron-circle-right:before {
  content: &quot;\f138&quot;;
}
.fa-chevron-circle-up:before {
  content: &quot;\f139&quot;;
}
.fa-chevron-circle-down:before {
  content: &quot;\f13a&quot;;
}
.fa-html5:before {
  content: &quot;\f13b&quot;;
}
.fa-css3:before {
  content: &quot;\f13c&quot;;
}
.fa-anchor:before {
  content: &quot;\f13d&quot;;
}
.fa-unlock-alt:before {
  content: &quot;\f13e&quot;;
}
.fa-bullseye:before {
  content: &quot;\f140&quot;;
}
.fa-ellipsis-h:before {
  content: &quot;\f141&quot;;
}
.fa-ellipsis-v:before {
  content: &quot;\f142&quot;;
}
.fa-rss-square:before {
  content: &quot;\f143&quot;;
}
.fa-play-circle:before {
  content: &quot;\f144&quot;;
}
.fa-ticket:before {
  content: &quot;\f145&quot;;
}
.fa-minus-square:before {
  content: &quot;\f146&quot;;
}
.fa-minus-square-o:before {
  content: &quot;\f147&quot;;
}
.fa-level-up:before {
  content: &quot;\f148&quot;;
}
.fa-level-down:before {
  content: &quot;\f149&quot;;
}
.fa-check-square:before {
  content: &quot;\f14a&quot;;
}
.fa-pencil-square:before {
  content: &quot;\f14b&quot;;
}
.fa-external-link-square:before {
  content: &quot;\f14c&quot;;
}
.fa-share-square:before {
  content: &quot;\f14d&quot;;
}
.fa-compass:before {
  content: &quot;\f14e&quot;;
}
.fa-toggle-down:before,
.fa-caret-square-o-down:before {
  content: &quot;\f150&quot;;
}
.fa-toggle-up:before,
.fa-caret-square-o-up:before {
  content: &quot;\f151&quot;;
}
.fa-toggle-right:before,
.fa-caret-square-o-right:before {
  content: &quot;\f152&quot;;
}
.fa-euro:before,
.fa-eur:before {
  content: &quot;\f153&quot;;
}
.fa-gbp:before {
  content: &quot;\f154&quot;;
}
.fa-dollar:before,
.fa-usd:before {
  content: &quot;\f155&quot;;
}
.fa-rupee:before,
.fa-inr:before {
  content: &quot;\f156&quot;;
}
.fa-cny:before,
.fa-rmb:before,
.fa-yen:before,
.fa-jpy:before {
  content: &quot;\f157&quot;;
}
.fa-ruble:before,
.fa-rouble:before,
.fa-rub:before {
  content: &quot;\f158&quot;;
}
.fa-won:before,
.fa-krw:before {
  content: &quot;\f159&quot;;
}
.fa-bitcoin:before,
.fa-btc:before {
  content: &quot;\f15a&quot;;
}
.fa-file:before {
  content: &quot;\f15b&quot;;
}
.fa-file-text:before {
  content: &quot;\f15c&quot;;
}
.fa-sort-alpha-asc:before {
  content: &quot;\f15d&quot;;
}
.fa-sort-alpha-desc:before {
  content: &quot;\f15e&quot;;
}
.fa-sort-amount-asc:before {
  content: &quot;\f160&quot;;
}
.fa-sort-amount-desc:before {
  content: &quot;\f161&quot;;
}
.fa-sort-numeric-asc:before {
  content: &quot;\f162&quot;;
}
.fa-sort-numeric-desc:before {
  content: &quot;\f163&quot;;
}
.fa-thumbs-up:before {
  content: &quot;\f164&quot;;
}
.fa-thumbs-down:before {
  content: &quot;\f165&quot;;
}
.fa-youtube-square:before {
  content: &quot;\f166&quot;;
}
.fa-youtube:before {
  content: &quot;\f167&quot;;
}
.fa-xing:before {
  content: &quot;\f168&quot;;
}
.fa-xing-square:before {
  content: &quot;\f169&quot;;
}
.fa-youtube-play:before {
  content: &quot;\f16a&quot;;
}
.fa-dropbox:before {
  content: &quot;\f16b&quot;;
}
.fa-stack-overflow:before {
  content: &quot;\f16c&quot;;
}
.fa-instagram:before {
  content: &quot;\f16d&quot;;
}
.fa-flickr:before {
  content: &quot;\f16e&quot;;
}
.fa-adn:before {
  content: &quot;\f170&quot;;
}
.fa-bitbucket:before {
  content: &quot;\f171&quot;;
}
.fa-bitbucket-square:before {
  content: &quot;\f172&quot;;
}
.fa-tumblr:before {
  content: &quot;\f173&quot;;
}
.fa-tumblr-square:before {
  content: &quot;\f174&quot;;
}
.fa-long-arrow-down:before {
  content: &quot;\f175&quot;;
}
.fa-long-arrow-up:before {
  content: &quot;\f176&quot;;
}
.fa-long-arrow-left:before {
  content: &quot;\f177&quot;;
}
.fa-long-arrow-right:before {
  content: &quot;\f178&quot;;
}
.fa-apple:before {
  content: &quot;\f179&quot;;
}
.fa-windows:before {
  content: &quot;\f17a&quot;;
}
.fa-android:before {
  content: &quot;\f17b&quot;;
}
.fa-linux:before {
  content: &quot;\f17c&quot;;
}
.fa-dribbble:before {
  content: &quot;\f17d&quot;;
}
.fa-skype:before {
  content: &quot;\f17e&quot;;
}
.fa-foursquare:before {
  content: &quot;\f180&quot;;
}
.fa-trello:before {
  content: &quot;\f181&quot;;
}
.fa-female:before {
  content: &quot;\f182&quot;;
}
.fa-male:before {
  content: &quot;\f183&quot;;
}
.fa-gittip:before {
  content: &quot;\f184&quot;;
}
.fa-sun-o:before {
  content: &quot;\f185&quot;;
}
.fa-moon-o:before {
  content: &quot;\f186&quot;;
}
.fa-archive:before {
  content: &quot;\f187&quot;;
}
.fa-bug:before {
  content: &quot;\f188&quot;;
}
.fa-vk:before {
  content: &quot;\f189&quot;;
}
.fa-weibo:before {
  content: &quot;\f18a&quot;;
}
.fa-renren:before {
  content: &quot;\f18b&quot;;
}
.fa-pagelines:before {
  content: &quot;\f18c&quot;;
}
.fa-stack-exchange:before {
  content: &quot;\f18d&quot;;
}
.fa-arrow-circle-o-right:before {
  content: &quot;\f18e&quot;;
}
.fa-arrow-circle-o-left:before {
  content: &quot;\f190&quot;;
}
.fa-toggle-left:before,
.fa-caret-square-o-left:before {
  content: &quot;\f191&quot;;
}
.fa-dot-circle-o:before {
  content: &quot;\f192&quot;;
}
.fa-wheelchair:before {
  content: &quot;\f193&quot;;
}
.fa-vimeo-square:before {
  content: &quot;\f194&quot;;
}
.fa-turkish-lira:before,
.fa-try:before {
  content: &quot;\f195&quot;;
}
.fa-plus-square-o:before {
  content: &quot;\f196&quot;;
}
.fa-space-shuttle:before {
  content: &quot;\f197&quot;;
}
.fa-slack:before {
  content: &quot;\f198&quot;;
}
.fa-envelope-square:before {
  content: &quot;\f199&quot;;
}
.fa-wordpress:before {
  content: &quot;\f19a&quot;;
}
.fa-openid:before {
  content: &quot;\f19b&quot;;
}
.fa-institution:before,
.fa-bank:before,
.fa-university:before {
  content: &quot;\f19c&quot;;
}
.fa-mortar-board:before,
.fa-graduation-cap:before {
  content: &quot;\f19d&quot;;
}
.fa-yahoo:before {
  content: &quot;\f19e&quot;;
}
.fa-google:before {
  content: &quot;\f1a0&quot;;
}
.fa-reddit:before {
  content: &quot;\f1a1&quot;;
}
.fa-reddit-square:before {
  content: &quot;\f1a2&quot;;
}
.fa-stumbleupon-circle:before {
  content: &quot;\f1a3&quot;;
}
.fa-stumbleupon:before {
  content: &quot;\f1a4&quot;;
}
.fa-delicious:before {
  content: &quot;\f1a5&quot;;
}
.fa-digg:before {
  content: &quot;\f1a6&quot;;
}
.fa-pied-piper:before {
  content: &quot;\f1a7&quot;;
}
.fa-pied-piper-alt:before {
  content: &quot;\f1a8&quot;;
}
.fa-drupal:before {
  content: &quot;\f1a9&quot;;
}
.fa-joomla:before {
  content: &quot;\f1aa&quot;;
}
.fa-language:before {
  content: &quot;\f1ab&quot;;
}
.fa-fax:before {
  content: &quot;\f1ac&quot;;
}
.fa-building:before {
  content: &quot;\f1ad&quot;;
}
.fa-child:before {
  content: &quot;\f1ae&quot;;
}
.fa-paw:before {
  content: &quot;\f1b0&quot;;
}
.fa-spoon:before {
  content: &quot;\f1b1&quot;;
}
.fa-cube:before {
  content: &quot;\f1b2&quot;;
}
.fa-cubes:before {
  content: &quot;\f1b3&quot;;
}
.fa-behance:before {
  content: &quot;\f1b4&quot;;
}
.fa-behance-square:before {
  content: &quot;\f1b5&quot;;
}
.fa-steam:before {
  content: &quot;\f1b6&quot;;
}
.fa-steam-square:before {
  content: &quot;\f1b7&quot;;
}
.fa-recycle:before {
  content: &quot;\f1b8&quot;;
}
.fa-automobile:before,
.fa-car:before {
  content: &quot;\f1b9&quot;;
}
.fa-cab:before,
.fa-taxi:before {
  content: &quot;\f1ba&quot;;
}
.fa-tree:before {
  content: &quot;\f1bb&quot;;
}
.fa-spotify:before {
  content: &quot;\f1bc&quot;;
}
.fa-deviantart:before {
  content: &quot;\f1bd&quot;;
}
.fa-soundcloud:before {
  content: &quot;\f1be&quot;;
}
.fa-database:before {
  content: &quot;\f1c0&quot;;
}
.fa-file-pdf-o:before {
  content: &quot;\f1c1&quot;;
}
.fa-file-word-o:before {
  content: &quot;\f1c2&quot;;
}
.fa-file-excel-o:before {
  content: &quot;\f1c3&quot;;
}
.fa-file-powerpoint-o:before {
  content: &quot;\f1c4&quot;;
}
.fa-file-photo-o:before,
.fa-file-picture-o:before,
.fa-file-image-o:before {
  content: &quot;\f1c5&quot;;
}
.fa-file-zip-o:before,
.fa-file-archive-o:before {
  content: &quot;\f1c6&quot;;
}
.fa-file-sound-o:before,
.fa-file-audio-o:before {
  content: &quot;\f1c7&quot;;
}
.fa-file-movie-o:before,
.fa-file-video-o:before {
  content: &quot;\f1c8&quot;;
}
.fa-file-code-o:before {
  content: &quot;\f1c9&quot;;
}
.fa-vine:before {
  content: &quot;\f1ca&quot;;
}
.fa-codepen:before {
  content: &quot;\f1cb&quot;;
}
.fa-jsfiddle:before {
  content: &quot;\f1cc&quot;;
}
.fa-life-bouy:before,
.fa-life-buoy:before,
.fa-life-saver:before,
.fa-support:before,
.fa-life-ring:before {
  content: &quot;\f1cd&quot;;
}
.fa-circle-o-notch:before {
  content: &quot;\f1ce&quot;;
}
.fa-ra:before,
.fa-rebel:before {
  content: &quot;\f1d0&quot;;
}
.fa-ge:before,
.fa-empire:before {
  content: &quot;\f1d1&quot;;
}
.fa-git-square:before {
  content: &quot;\f1d2&quot;;
}
.fa-git:before {
  content: &quot;\f1d3&quot;;
}
.fa-hacker-news:before {
  content: &quot;\f1d4&quot;;
}
.fa-tencent-weibo:before {
  content: &quot;\f1d5&quot;;
}
.fa-qq:before {
  content: &quot;\f1d6&quot;;
}
.fa-wechat:before,
.fa-weixin:before {
  content: &quot;\f1d7&quot;;
}
.fa-send:before,
.fa-paper-plane:before {
  content: &quot;\f1d8&quot;;
}
.fa-send-o:before,
.fa-paper-plane-o:before {
  content: &quot;\f1d9&quot;;
}
.fa-history:before {
  content: &quot;\f1da&quot;;
}
.fa-circle-thin:before {
  content: &quot;\f1db&quot;;
}
.fa-header:before {
  content: &quot;\f1dc&quot;;
}
.fa-paragraph:before {
  content: &quot;\f1dd&quot;;
}
.fa-sliders:before {
  content: &quot;\f1de&quot;;
}
.fa-share-alt:before {
  content: &quot;\f1e0&quot;;
}
.fa-share-alt-square:before {
  content: &quot;\f1e1&quot;;
}
.fa-bomb:before {
  content: &quot;\f1e2&quot;;
}
.fa-soccer-ball-o:before,
.fa-futbol-o:before {
  content: &quot;\f1e3&quot;;
}
.fa-tty:before {
  content: &quot;\f1e4&quot;;
}
.fa-binoculars:before {
  content: &quot;\f1e5&quot;;
}
.fa-plug:before {
  content: &quot;\f1e6&quot;;
}
.fa-slideshare:before {
  content: &quot;\f1e7&quot;;
}
.fa-twitch:before {
  content: &quot;\f1e8&quot;;
}
.fa-yelp:before {
  content: &quot;\f1e9&quot;;
}
.fa-newspaper-o:before {
  content: &quot;\f1ea&quot;;
}
.fa-wifi:before {
  content: &quot;\f1eb&quot;;
}
.fa-calculator:before {
  content: &quot;\f1ec&quot;;
}
.fa-paypal:before {
  content: &quot;\f1ed&quot;;
}
.fa-google-wallet:before {
  content: &quot;\f1ee&quot;;
}
.fa-cc-visa:before {
  content: &quot;\f1f0&quot;;
}
.fa-cc-mastercard:before {
  content: &quot;\f1f1&quot;;
}
.fa-cc-discover:before {
  content: &quot;\f1f2&quot;;
}
.fa-cc-amex:before {
  content: &quot;\f1f3&quot;;
}
.fa-cc-paypal:before {
  content: &quot;\f1f4&quot;;
}
.fa-cc-stripe:before {
  content: &quot;\f1f5&quot;;
}
.fa-bell-slash:before {
  content: &quot;\f1f6&quot;;
}
.fa-bell-slash-o:before {
  content: &quot;\f1f7&quot;;
}
.fa-trash:before {
  content: &quot;\f1f8&quot;;
}
.fa-copyright:before {
  content: &quot;\f1f9&quot;;
}
.fa-at:before {
  content: &quot;\f1fa&quot;;
}
.fa-eyedropper:before {
  content: &quot;\f1fb&quot;;
}
.fa-paint-brush:before {
  content: &quot;\f1fc&quot;;
}
.fa-birthday-cake:before {
  content: &quot;\f1fd&quot;;
}
.fa-area-chart:before {
  content: &quot;\f1fe&quot;;
}
.fa-pie-chart:before {
  content: &quot;\f200&quot;;
}
.fa-line-chart:before {
  content: &quot;\f201&quot;;
}
.fa-lastfm:before {
  content: &quot;\f202&quot;;
}
.fa-lastfm-square:before {
  content: &quot;\f203&quot;;
}
.fa-toggle-off:before {
  content: &quot;\f204&quot;;
}
.fa-toggle-on:before {
  content: &quot;\f205&quot;;
}
.fa-bicycle:before {
  content: &quot;\f206&quot;;
}
.fa-bus:before {
  content: &quot;\f207&quot;;
}
.fa-ioxhost:before {
  content: &quot;\f208&quot;;
}
.fa-angellist:before {
  content: &quot;\f209&quot;;
}
.fa-cc:before {
  content: &quot;\f20a&quot;;
}
.fa-shekel:before,
.fa-sheqel:before,
.fa-ils:before {
  content: &quot;\f20b&quot;;
}
.fa-meanpath:before {
  content: &quot;\f20c&quot;;
}
/*!
*
* IPython base
*
*/
.modal.fade .modal-dialog {
  -webkit-transform: translate(0, 0);
  -ms-transform: translate(0, 0);
  -o-transform: translate(0, 0);
  transform: translate(0, 0);
}
code {
  color: #000;
}
pre {
  font-size: inherit;
  line-height: inherit;
}
label {
  font-weight: normal;
}
/* Make the page background atleast 100% the height of the view port */
/* Make the page itself atleast 70% the height of the view port */
.border-box-sizing {
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
}
.corner-all {
  border-radius: 2px;
}
.no-padding {
  padding: 0px;
}
/* Flexible box model classes */
/* Taken from Alex Russell http://infrequently.org/2009/08/css-3-progress/ */
/* This file is a compatability layer.  It allows the usage of flexible box 
model layouts accross multiple browsers, including older browsers.  The newest,
universal implementation of the flexible box model is used when available (see
`Modern browsers` comments below).  Browsers that are known to implement this 
new spec completely include:

    Firefox 28.0+
    Chrome 29.0+
    Internet Explorer 11+ 
    Opera 17.0+

Browsers not listed, including Safari, are supported via the styling under the
`Old browsers` comments below.
*/
.hbox {
  /* Old browsers */
  display: -webkit-box;
  -webkit-box-orient: horizontal;
  -webkit-box-align: stretch;
  display: -moz-box;
  -moz-box-orient: horizontal;
  -moz-box-align: stretch;
  display: box;
  box-orient: horizontal;
  box-align: stretch;
  /* Modern browsers */
  display: flex;
  flex-direction: row;
  align-items: stretch;
}
.hbox &gt; * {
  /* Old browsers */
  -webkit-box-flex: 0;
  -moz-box-flex: 0;
  box-flex: 0;
  /* Modern browsers */
  flex: none;
}
.vbox {
  /* Old browsers */
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-box-align: stretch;
  display: -moz-box;
  -moz-box-orient: vertical;
  -moz-box-align: stretch;
  display: box;
  box-orient: vertical;
  box-align: stretch;
  /* Modern browsers */
  display: flex;
  flex-direction: column;
  align-items: stretch;
}
.vbox &gt; * {
  /* Old browsers */
  -webkit-box-flex: 0;
  -moz-box-flex: 0;
  box-flex: 0;
  /* Modern browsers */
  flex: none;
}
.hbox.reverse,
.vbox.reverse,
.reverse {
  /* Old browsers */
  -webkit-box-direction: reverse;
  -moz-box-direction: reverse;
  box-direction: reverse;
  /* Modern browsers */
  flex-direction: row-reverse;
}
.hbox.box-flex0,
.vbox.box-flex0,
.box-flex0 {
  /* Old browsers */
  -webkit-box-flex: 0;
  -moz-box-flex: 0;
  box-flex: 0;
  /* Modern browsers */
  flex: none;
  width: auto;
}
.hbox.box-flex1,
.vbox.box-flex1,
.box-flex1 {
  /* Old browsers */
  -webkit-box-flex: 1;
  -moz-box-flex: 1;
  box-flex: 1;
  /* Modern browsers */
  flex: 1;
}
.hbox.box-flex,
.vbox.box-flex,
.box-flex {
  /* Old browsers */
  /* Old browsers */
  -webkit-box-flex: 1;
  -moz-box-flex: 1;
  box-flex: 1;
  /* Modern browsers */
  flex: 1;
}
.hbox.box-flex2,
.vbox.box-flex2,
.box-flex2 {
  /* Old browsers */
  -webkit-box-flex: 2;
  -moz-box-flex: 2;
  box-flex: 2;
  /* Modern browsers */
  flex: 2;
}
.box-group1 {
  /*  Deprecated */
  -webkit-box-flex-group: 1;
  -moz-box-flex-group: 1;
  box-flex-group: 1;
}
.box-group2 {
  /* Deprecated */
  -webkit-box-flex-group: 2;
  -moz-box-flex-group: 2;
  box-flex-group: 2;
}
.hbox.start,
.vbox.start,
.start {
  /* Old browsers */
  -webkit-box-pack: start;
  -moz-box-pack: start;
  box-pack: start;
  /* Modern browsers */
  justify-content: flex-start;
}
.hbox.end,
.vbox.end,
.end {
  /* Old browsers */
  -webkit-box-pack: end;
  -moz-box-pack: end;
  box-pack: end;
  /* Modern browsers */
  justify-content: flex-end;
}
.hbox.center,
.vbox.center,
.center {
  /* Old browsers */
  -webkit-box-pack: center;
  -moz-box-pack: center;
  box-pack: center;
  /* Modern browsers */
  justify-content: center;
}
.hbox.baseline,
.vbox.baseline,
.baseline {
  /* Old browsers */
  -webkit-box-pack: baseline;
  -moz-box-pack: baseline;
  box-pack: baseline;
  /* Modern browsers */
  justify-content: baseline;
}
.hbox.stretch,
.vbox.stretch,
.stretch {
  /* Old browsers */
  -webkit-box-pack: stretch;
  -moz-box-pack: stretch;
  box-pack: stretch;
  /* Modern browsers */
  justify-content: stretch;
}
.hbox.align-start,
.vbox.align-start,
.align-start {
  /* Old browsers */
  -webkit-box-align: start;
  -moz-box-align: start;
  box-align: start;
  /* Modern browsers */
  align-items: flex-start;
}
.hbox.align-end,
.vbox.align-end,
.align-end {
  /* Old browsers */
  -webkit-box-align: end;
  -moz-box-align: end;
  box-align: end;
  /* Modern browsers */
  align-items: flex-end;
}
.hbox.align-center,
.vbox.align-center,
.align-center {
  /* Old browsers */
  -webkit-box-align: center;
  -moz-box-align: center;
  box-align: center;
  /* Modern browsers */
  align-items: center;
}
.hbox.align-baseline,
.vbox.align-baseline,
.align-baseline {
  /* Old browsers */
  -webkit-box-align: baseline;
  -moz-box-align: baseline;
  box-align: baseline;
  /* Modern browsers */
  align-items: baseline;
}
.hbox.align-stretch,
.vbox.align-stretch,
.align-stretch {
  /* Old browsers */
  -webkit-box-align: stretch;
  -moz-box-align: stretch;
  box-align: stretch;
  /* Modern browsers */
  align-items: stretch;
}
div.error {
  margin: 2em;
  text-align: center;
}
div.error &gt; h1 {
  font-size: 500%;
  line-height: normal;
}
div.error &gt; p {
  font-size: 200%;
  line-height: normal;
}
div.traceback-wrapper {
  text-align: left;
  max-width: 800px;
  margin: auto;
}
/**
 * Primary styles
 *
 * Author: Jupyter Development Team
 */
body {
  background-color: #fff;
  /* This makes sure that the body covers the entire window and needs to
       be in a different element than the display: box in wrapper below */
  position: absolute;
  left: 0px;
  right: 0px;
  top: 0px;
  bottom: 0px;
  overflow: visible;
}
body &gt; #header {
  /* Initially hidden to prevent FLOUC */
  display: none;
  background-color: #fff;
  /* Display over codemirror */
  position: relative;
  z-index: 100;
}
body &gt; #header #header-container {
  padding-bottom: 5px;
  padding-top: 5px;
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
}
body &gt; #header .header-bar {
  width: 100%;
  height: 1px;
  background: #e7e7e7;
  margin-bottom: -1px;
}
@media print {
  body &gt; #header {
    display: none !important;
  }
}
#header-spacer {
  width: 100%;
  visibility: hidden;
}
@media print {
  #header-spacer {
    display: none;
  }
}
#ipython_notebook {
  padding-left: 0px;
  padding-top: 1px;
  padding-bottom: 1px;
}
@media (max-width: 991px) {
  #ipython_notebook {
    margin-left: 10px;
  }
}
[dir=&quot;rtl&quot;] #ipython_notebook {
  float: right !important;
}
#noscript {
  width: auto;
  padding-top: 16px;
  padding-bottom: 16px;
  text-align: center;
  font-size: 22px;
  color: red;
  font-weight: bold;
}
#ipython_notebook img {
  height: 28px;
}
#site {
  width: 100%;
  display: none;
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  overflow: auto;
}
@media print {
  #site {
    height: auto !important;
  }
}
/* Smaller buttons */
.ui-button .ui-button-text {
  padding: 0.2em 0.8em;
  font-size: 77%;
}
input.ui-button {
  padding: 0.3em 0.9em;
}
span#login_widget {
  float: right;
}
span#login_widget &gt; .button,
#logout {
  color: #333;
  background-color: #fff;
  border-color: #ccc;
}
span#login_widget &gt; .button:focus,
#logout:focus,
span#login_widget &gt; .button.focus,
#logout.focus {
  color: #333;
  background-color: #e6e6e6;
  border-color: #8c8c8c;
}
span#login_widget &gt; .button:hover,
#logout:hover {
  color: #333;
  background-color: #e6e6e6;
  border-color: #adadad;
}
span#login_widget &gt; .button:active,
#logout:active,
span#login_widget &gt; .button.active,
#logout.active,
.open &gt; .dropdown-togglespan#login_widget &gt; .button,
.open &gt; .dropdown-toggle#logout {
  color: #333;
  background-color: #e6e6e6;
  border-color: #adadad;
}
span#login_widget &gt; .button:active:hover,
#logout:active:hover,
span#login_widget &gt; .button.active:hover,
#logout.active:hover,
.open &gt; .dropdown-togglespan#login_widget &gt; .button:hover,
.open &gt; .dropdown-toggle#logout:hover,
span#login_widget &gt; .button:active:focus,
#logout:active:focus,
span#login_widget &gt; .button.active:focus,
#logout.active:focus,
.open &gt; .dropdown-togglespan#login_widget &gt; .button:focus,
.open &gt; .dropdown-toggle#logout:focus,
span#login_widget &gt; .button:active.focus,
#logout:active.focus,
span#login_widget &gt; .button.active.focus,
#logout.active.focus,
.open &gt; .dropdown-togglespan#login_widget &gt; .button.focus,
.open &gt; .dropdown-toggle#logout.focus {
  color: #333;
  background-color: #d4d4d4;
  border-color: #8c8c8c;
}
span#login_widget &gt; .button:active,
#logout:active,
span#login_widget &gt; .button.active,
#logout.active,
.open &gt; .dropdown-togglespan#login_widget &gt; .button,
.open &gt; .dropdown-toggle#logout {
  background-image: none;
}
span#login_widget &gt; .button.disabled:hover,
#logout.disabled:hover,
span#login_widget &gt; .button[disabled]:hover,
#logout[disabled]:hover,
fieldset[disabled] span#login_widget &gt; .button:hover,
fieldset[disabled] #logout:hover,
span#login_widget &gt; .button.disabled:focus,
#logout.disabled:focus,
span#login_widget &gt; .button[disabled]:focus,
#logout[disabled]:focus,
fieldset[disabled] span#login_widget &gt; .button:focus,
fieldset[disabled] #logout:focus,
span#login_widget &gt; .button.disabled.focus,
#logout.disabled.focus,
span#login_widget &gt; .button[disabled].focus,
#logout[disabled].focus,
fieldset[disabled] span#login_widget &gt; .button.focus,
fieldset[disabled] #logout.focus {
  background-color: #fff;
  border-color: #ccc;
}
span#login_widget &gt; .button .badge,
#logout .badge {
  color: #fff;
  background-color: #333;
}
.nav-header {
  text-transform: none;
}
#header &gt; span {
  margin-top: 10px;
}
.modal_stretch .modal-dialog {
  /* Old browsers */
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-box-align: stretch;
  display: -moz-box;
  -moz-box-orient: vertical;
  -moz-box-align: stretch;
  display: box;
  box-orient: vertical;
  box-align: stretch;
  /* Modern browsers */
  display: flex;
  flex-direction: column;
  align-items: stretch;
  min-height: 80vh;
}
.modal_stretch .modal-dialog .modal-body {
  max-height: calc(100vh - 200px);
  overflow: auto;
  flex: 1;
}
@media (min-width: 768px) {
  .modal .modal-dialog {
    width: 700px;
  }
}
@media (min-width: 768px) {
  select.form-control {
    margin-left: 12px;
    margin-right: 12px;
  }
}
/*!
*
* IPython auth
*
*/
.center-nav {
  display: inline-block;
  margin-bottom: -4px;
}
/*!
*
* IPython tree view
*
*/
/* We need an invisible input field on top of the sentense*/
/* &quot;Drag file onto the list ...&quot; */
.alternate_upload {
  background-color: none;
  display: inline;
}
.alternate_upload.form {
  padding: 0;
  margin: 0;
}
.alternate_upload input.fileinput {
  text-align: center;
  vertical-align: middle;
  display: inline;
  opacity: 0;
  z-index: 2;
  width: 12ex;
  margin-right: -12ex;
}
.alternate_upload .btn-upload {
  height: 22px;
}
/**
 * Primary styles
 *
 * Author: Jupyter Development Team
 */
[dir=&quot;rtl&quot;] #tabs li {
  float: right;
}
ul#tabs {
  margin-bottom: 4px;
}
[dir=&quot;rtl&quot;] ul#tabs {
  margin-right: 0px;
}
ul#tabs a {
  padding-top: 6px;
  padding-bottom: 4px;
}
ul.breadcrumb a:focus,
ul.breadcrumb a:hover {
  text-decoration: none;
}
ul.breadcrumb i.icon-home {
  font-size: 16px;
  margin-right: 4px;
}
ul.breadcrumb span {
  color: #5e5e5e;
}
.list_toolbar {
  padding: 4px 0 4px 0;
  vertical-align: middle;
}
.list_toolbar .tree-buttons {
  padding-top: 1px;
}
[dir=&quot;rtl&quot;] .list_toolbar .tree-buttons {
  float: left !important;
}
[dir=&quot;rtl&quot;] .list_toolbar .pull-right {
  padding-top: 1px;
  float: left !important;
}
[dir=&quot;rtl&quot;] .list_toolbar .pull-left {
  float: right !important;
}
.dynamic-buttons {
  padding-top: 3px;
  display: inline-block;
}
.list_toolbar [class*=&quot;span&quot;] {
  min-height: 24px;
}
.list_header {
  font-weight: bold;
  background-color: #EEE;
}
.list_placeholder {
  font-weight: bold;
  padding-top: 4px;
  padding-bottom: 4px;
  padding-left: 7px;
  padding-right: 7px;
}
.list_container {
  margin-top: 4px;
  margin-bottom: 20px;
  border: 1px solid #ddd;
  border-radius: 2px;
}
.list_container &gt; div {
  border-bottom: 1px solid #ddd;
}
.list_container &gt; div:hover .list-item {
  background-color: red;
}
.list_container &gt; div:last-child {
  border: none;
}
.list_item:hover .list_item {
  background-color: #ddd;
}
.list_item a {
  text-decoration: none;
}
.list_item:hover {
  background-color: #fafafa;
}
.list_header &gt; div,
.list_item &gt; div {
  padding-top: 4px;
  padding-bottom: 4px;
  padding-left: 7px;
  padding-right: 7px;
  line-height: 22px;
}
.list_header &gt; div input,
.list_item &gt; div input {
  margin-right: 7px;
  margin-left: 14px;
  vertical-align: baseline;
  line-height: 22px;
  position: relative;
  top: -1px;
}
.list_header &gt; div .item_link,
.list_item &gt; div .item_link {
  margin-left: -1px;
  vertical-align: baseline;
  line-height: 22px;
}
.new-file input[type=checkbox] {
  visibility: hidden;
}
.item_name {
  line-height: 22px;
  height: 24px;
}
.item_icon {
  font-size: 14px;
  color: #5e5e5e;
  margin-right: 7px;
  margin-left: 7px;
  line-height: 22px;
  vertical-align: baseline;
}
.item_buttons {
  line-height: 1em;
  margin-left: -5px;
}
.item_buttons .btn,
.item_buttons .btn-group,
.item_buttons .input-group {
  float: left;
}
.item_buttons &gt; .btn,
.item_buttons &gt; .btn-group,
.item_buttons &gt; .input-group {
  margin-left: 5px;
}
.item_buttons .btn {
  min-width: 13ex;
}
.item_buttons .running-indicator {
  padding-top: 4px;
  color: #5cb85c;
}
.item_buttons .kernel-name {
  padding-top: 4px;
  color: #5bc0de;
  margin-right: 7px;
  float: left;
}
.toolbar_info {
  height: 24px;
  line-height: 24px;
}
.list_item input:not([type=checkbox]) {
  padding-top: 3px;
  padding-bottom: 3px;
  height: 22px;
  line-height: 14px;
  margin: 0px;
}
.highlight_text {
  color: blue;
}
#project_name {
  display: inline-block;
  padding-left: 7px;
  margin-left: -2px;
}
#project_name &gt; .breadcrumb {
  padding: 0px;
  margin-bottom: 0px;
  background-color: transparent;
  font-weight: bold;
}
#tree-selector {
  padding-right: 0px;
}
[dir=&quot;rtl&quot;] #tree-selector a {
  float: right;
}
#button-select-all {
  min-width: 50px;
}
#select-all {
  margin-left: 7px;
  margin-right: 2px;
}
.menu_icon {
  margin-right: 2px;
}
.tab-content .row {
  margin-left: 0px;
  margin-right: 0px;
}
.folder_icon:before {
  display: inline-block;
  font: normal normal normal 14px/1 FontAwesome;
  font-size: inherit;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: &quot;\f114&quot;;
}
.folder_icon:before.pull-left {
  margin-right: .3em;
}
.folder_icon:before.pull-right {
  margin-left: .3em;
}
.notebook_icon:before {
  display: inline-block;
  font: normal normal normal 14px/1 FontAwesome;
  font-size: inherit;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: &quot;\f02d&quot;;
  position: relative;
  top: -1px;
}
.notebook_icon:before.pull-left {
  margin-right: .3em;
}
.notebook_icon:before.pull-right {
  margin-left: .3em;
}
.running_notebook_icon:before {
  display: inline-block;
  font: normal normal normal 14px/1 FontAwesome;
  font-size: inherit;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: &quot;\f02d&quot;;
  position: relative;
  top: -1px;
  color: #5cb85c;
}
.running_notebook_icon:before.pull-left {
  margin-right: .3em;
}
.running_notebook_icon:before.pull-right {
  margin-left: .3em;
}
.file_icon:before {
  display: inline-block;
  font: normal normal normal 14px/1 FontAwesome;
  font-size: inherit;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: &quot;\f016&quot;;
  position: relative;
  top: -2px;
}
.file_icon:before.pull-left {
  margin-right: .3em;
}
.file_icon:before.pull-right {
  margin-left: .3em;
}
#notebook_toolbar .pull-right {
  padding-top: 0px;
  margin-right: -1px;
}
ul#new-menu {
  left: auto;
  right: 0;
}
[dir=&quot;rtl&quot;] #new-menu {
  text-align: right;
}
.kernel-menu-icon {
  padding-right: 12px;
  width: 24px;
  content: &quot;\f096&quot;;
}
.kernel-menu-icon:before {
  content: &quot;\f096&quot;;
}
.kernel-menu-icon-current:before {
  content: &quot;\f00c&quot;;
}
#tab_content {
  padding-top: 20px;
}
#running .panel-group .panel {
  margin-top: 3px;
  margin-bottom: 1em;
}
#running .panel-group .panel .panel-heading {
  background-color: #EEE;
  padding-top: 4px;
  padding-bottom: 4px;
  padding-left: 7px;
  padding-right: 7px;
  line-height: 22px;
}
#running .panel-group .panel .panel-heading a:focus,
#running .panel-group .panel .panel-heading a:hover {
  text-decoration: none;
}
#running .panel-group .panel .panel-body {
  padding: 0px;
}
#running .panel-group .panel .panel-body .list_container {
  margin-top: 0px;
  margin-bottom: 0px;
  border: 0px;
  border-radius: 0px;
}
#running .panel-group .panel .panel-body .list_container .list_item {
  border-bottom: 1px solid #ddd;
}
#running .panel-group .panel .panel-body .list_container .list_item:last-child {
  border-bottom: 0px;
}
[dir=&quot;rtl&quot;] #running .col-sm-8 {
  float: right !important;
}
.delete-button {
  display: none;
}
.duplicate-button {
  display: none;
}
.rename-button {
  display: none;
}
.shutdown-button {
  display: none;
}
.dynamic-instructions {
  display: inline-block;
  padding-top: 4px;
}
/*!
*
* IPython text editor webapp
*
*/
.selected-keymap i.fa {
  padding: 0px 5px;
}
.selected-keymap i.fa:before {
  content: &quot;\f00c&quot;;
}
#mode-menu {
  overflow: auto;
  max-height: 20em;
}
.edit_app #header {
  -webkit-box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2);
  box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2);
}
.edit_app #menubar .navbar {
  /* Use a negative 1 bottom margin, so the border overlaps the border of the
    header */
  margin-bottom: -1px;
}
.dirty-indicator {
  display: inline-block;
  font: normal normal normal 14px/1 FontAwesome;
  font-size: inherit;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  width: 20px;
}
.dirty-indicator.pull-left {
  margin-right: .3em;
}
.dirty-indicator.pull-right {
  margin-left: .3em;
}
.dirty-indicator-dirty {
  display: inline-block;
  font: normal normal normal 14px/1 FontAwesome;
  font-size: inherit;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  width: 20px;
}
.dirty-indicator-dirty.pull-left {
  margin-right: .3em;
}
.dirty-indicator-dirty.pull-right {
  margin-left: .3em;
}
.dirty-indicator-clean {
  display: inline-block;
  font: normal normal normal 14px/1 FontAwesome;
  font-size: inherit;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  width: 20px;
}
.dirty-indicator-clean.pull-left {
  margin-right: .3em;
}
.dirty-indicator-clean.pull-right {
  margin-left: .3em;
}
.dirty-indicator-clean:before {
  display: inline-block;
  font: normal normal normal 14px/1 FontAwesome;
  font-size: inherit;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: &quot;\f00c&quot;;
}
.dirty-indicator-clean:before.pull-left {
  margin-right: .3em;
}
.dirty-indicator-clean:before.pull-right {
  margin-left: .3em;
}
#filename {
  font-size: 16pt;
  display: table;
  padding: 0px 5px;
}
#current-mode {
  padding-left: 5px;
  padding-right: 5px;
}
#texteditor-backdrop {
  padding-top: 20px;
  padding-bottom: 20px;
}
@media not print {
  #texteditor-backdrop {
    background-color: #EEE;
  }
}
@media print {
  #texteditor-backdrop #texteditor-container .CodeMirror-gutter,
  #texteditor-backdrop #texteditor-container .CodeMirror-gutters {
    background-color: #fff;
  }
}
@media not print {
  #texteditor-backdrop #texteditor-container .CodeMirror-gutter,
  #texteditor-backdrop #texteditor-container .CodeMirror-gutters {
    background-color: #fff;
  }
}
@media not print {
  #texteditor-backdrop #texteditor-container {
    padding: 0px;
    background-color: #fff;
    -webkit-box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2);
    box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2);
  }
}
/*!
*
* IPython notebook
*
*/
/* CSS font colors for translated ANSI colors. */
.ansibold {
  font-weight: bold;
}
/* use dark versions for foreground, to improve visibility */
.ansiblack {
  color: black;
}
.ansired {
  color: darkred;
}
.ansigreen {
  color: darkgreen;
}
.ansiyellow {
  color: #c4a000;
}
.ansiblue {
  color: darkblue;
}
.ansipurple {
  color: darkviolet;
}
.ansicyan {
  color: steelblue;
}
.ansigray {
  color: gray;
}
/* and light for background, for the same reason */
.ansibgblack {
  background-color: black;
}
.ansibgred {
  background-color: red;
}
.ansibggreen {
  background-color: green;
}
.ansibgyellow {
  background-color: yellow;
}
.ansibgblue {
  background-color: blue;
}
.ansibgpurple {
  background-color: magenta;
}
.ansibgcyan {
  background-color: cyan;
}
.ansibggray {
  background-color: gray;
}
div.cell {
  /* Old browsers */
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-box-align: stretch;
  display: -moz-box;
  -moz-box-orient: vertical;
  -moz-box-align: stretch;
  display: box;
  box-orient: vertical;
  box-align: stretch;
  /* Modern browsers */
  display: flex;
  flex-direction: column;
  align-items: stretch;
  border-radius: 2px;
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  border-width: 1px;
  border-style: solid;
  border-color: transparent;
  width: 100%;
  padding: 5px;
  /* This acts as a spacer between cells, that is outside the border */
  margin: 0px;
  outline: none;
  border-left-width: 1px;
  padding-left: 5px;
  background: linear-gradient(to right, transparent -40px, transparent 1px, transparent 1px, transparent 100%);
}
div.cell.jupyter-soft-selected {
  border-left-color: #90CAF9;
  border-left-color: #E3F2FD;
  border-left-width: 1px;
  padding-left: 5px;
  border-right-color: #E3F2FD;
  border-right-width: 1px;
  background: #E3F2FD;
}
@media print {
  div.cell.jupyter-soft-selected {
    border-color: transparent;
  }
}
div.cell.selected {
  border-color: #ababab;
  border-left-width: 0px;
  padding-left: 6px;
  background: linear-gradient(to right, #42A5F5 -40px, #42A5F5 5px, transparent 5px, transparent 100%);
}
@media print {
  div.cell.selected {
    border-color: transparent;
  }
}
div.cell.selected.jupyter-soft-selected {
  border-left-width: 0;
  padding-left: 6px;
  background: linear-gradient(to right, #42A5F5 -40px, #42A5F5 7px, #E3F2FD 7px, #E3F2FD 100%);
}
.edit_mode div.cell.selected {
  border-color: #66BB6A;
  border-left-width: 0px;
  padding-left: 6px;
  background: linear-gradient(to right, #66BB6A -40px, #66BB6A 5px, transparent 5px, transparent 100%);
}
@media print {
  .edit_mode div.cell.selected {
    border-color: transparent;
  }
}
.prompt {
  /* This needs to be wide enough for 3 digit prompt numbers: In[100]: */
  min-width: 14ex;
  /* This padding is tuned to match the padding on the CodeMirror editor. */
  padding: 0.4em;
  margin: 0px;
  font-family: monospace;
  text-align: right;
  /* This has to match that of the the CodeMirror class line-height below */
  line-height: 1.21429em;
  /* Don't highlight prompt number selection */
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  /* Use default cursor */
  cursor: default;
}
@media (max-width: 540px) {
  .prompt {
    text-align: left;
  }
}
div.inner_cell {
  min-width: 0;
  /* Old browsers */
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-box-align: stretch;
  display: -moz-box;
  -moz-box-orient: vertical;
  -moz-box-align: stretch;
  display: box;
  box-orient: vertical;
  box-align: stretch;
  /* Modern browsers */
  display: flex;
  flex-direction: column;
  align-items: stretch;
  /* Old browsers */
  -webkit-box-flex: 1;
  -moz-box-flex: 1;
  box-flex: 1;
  /* Modern browsers */
  flex: 1;
}
/* input_area and input_prompt must match in top border and margin for alignment */
div.input_area {
  border: 1px solid #cfcfcf;
  border-radius: 2px;
  background: #f7f7f7;
  line-height: 1.21429em;
}
/* This is needed so that empty prompt areas can collapse to zero height when there
   is no content in the output_subarea and the prompt. The main purpose of this is
   to make sure that empty JavaScript output_subareas have no height. */
div.prompt:empty {
  padding-top: 0;
  padding-bottom: 0;
}
div.unrecognized_cell {
  padding: 5px 5px 5px 0px;
  /* Old browsers */
  display: -webkit-box;
  -webkit-box-orient: horizontal;
  -webkit-box-align: stretch;
  display: -moz-box;
  -moz-box-orient: horizontal;
  -moz-box-align: stretch;
  display: box;
  box-orient: horizontal;
  box-align: stretch;
  /* Modern browsers */
  display: flex;
  flex-direction: row;
  align-items: stretch;
}
div.unrecognized_cell .inner_cell {
  border-radius: 2px;
  padding: 5px;
  font-weight: bold;
  color: red;
  border: 1px solid #cfcfcf;
  background: #eaeaea;
}
div.unrecognized_cell .inner_cell a {
  color: inherit;
  text-decoration: none;
}
div.unrecognized_cell .inner_cell a:hover {
  color: inherit;
  text-decoration: none;
}
@media (max-width: 540px) {
  div.unrecognized_cell &gt; div.prompt {
    display: none;
  }
}
div.code_cell {
  /* avoid page breaking on code cells when printing */
}
@media print {
  div.code_cell {
    page-break-inside: avoid;
  }
}
/* any special styling for code cells that are currently running goes here */
div.input {
  page-break-inside: avoid;
  /* Old browsers */
  display: -webkit-box;
  -webkit-box-orient: horizontal;
  -webkit-box-align: stretch;
  display: -moz-box;
  -moz-box-orient: horizontal;
  -moz-box-align: stretch;
  display: box;
  box-orient: horizontal;
  box-align: stretch;
  /* Modern browsers */
  display: flex;
  flex-direction: row;
  align-items: stretch;
}
@media (max-width: 540px) {
  div.input {
    /* Old browsers */
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-box-align: stretch;
    display: -moz-box;
    -moz-box-orient: vertical;
    -moz-box-align: stretch;
    display: box;
    box-orient: vertical;
    box-align: stretch;
    /* Modern browsers */
    display: flex;
    flex-direction: column;
    align-items: stretch;
  }
}
/* input_area and input_prompt must match in top border and margin for alignment */
div.input_prompt {
  color: #303F9F;
  border-top: 1px solid transparent;
}
div.input_area &gt; div.highlight {
  margin: 0.4em;
  border: none;
  padding: 0px;
  background-color: transparent;
}
div.input_area &gt; div.highlight &gt; pre {
  margin: 0px;
  border: none;
  padding: 0px;
  background-color: transparent;
}
/* The following gets added to the &lt;head&gt; if it is detected that the user has a
 * monospace font with inconsistent normal/bold/italic height.  See
 * notebookmain.js.  Such fonts will have keywords vertically offset with
 * respect to the rest of the text.  The user should select a better font.
 * See: https://github.com/ipython/ipython/issues/1503
 *
 * .CodeMirror span {
 *      vertical-align: bottom;
 * }
 */
.CodeMirror {
  line-height: 1.21429em;
  /* Changed from 1em to our global default */
  font-size: 14px;
  height: auto;
  /* Changed to auto to autogrow */
  background: none;
  /* Changed from white to allow our bg to show through */
}
.CodeMirror-scroll {
  /*  The CodeMirror docs are a bit fuzzy on if overflow-y should be hidden or visible.*/
  /*  We have found that if it is visible, vertical scrollbars appear with font size changes.*/
  overflow-y: hidden;
  overflow-x: auto;
}
.CodeMirror-lines {
  /* In CM2, this used to be 0.4em, but in CM3 it went to 4px. We need the em value because */
  /* we have set a different line-height and want this to scale with that. */
  padding: 0.4em;
}
.CodeMirror-linenumber {
  padding: 0 8px 0 4px;
}
.CodeMirror-gutters {
  border-bottom-left-radius: 2px;
  border-top-left-radius: 2px;
}
.CodeMirror pre {
  /* In CM3 this went to 4px from 0 in CM2. We need the 0 value because of how we size */
  /* .CodeMirror-lines */
  padding: 0;
  border: 0;
  border-radius: 0;
}
/*

Original style from softwaremaniacs.org (c) Ivan Sagalaev &lt;Maniac@SoftwareManiacs.Org&gt;
Adapted from GitHub theme

*/
.highlight-base {
  color: #000;
}
.highlight-variable {
  color: #000;
}
.highlight-variable-2 {
  color: #1a1a1a;
}
.highlight-variable-3 {
  color: #333333;
}
.highlight-string {
  color: #BA2121;
}
.highlight-comment {
  color: #408080;
  font-style: italic;
}
.highlight-number {
  color: #080;
}
.highlight-atom {
  color: #88F;
}
.highlight-keyword {
  color: #008000;
  font-weight: bold;
}
.highlight-builtin {
  color: #008000;
}
.highlight-error {
  color: #f00;
}
.highlight-operator {
  color: #AA22FF;
  font-weight: bold;
}
.highlight-meta {
  color: #AA22FF;
}
/* previously not defined, copying from default codemirror */
.highlight-def {
  color: #00f;
}
.highlight-string-2 {
  color: #f50;
}
.highlight-qualifier {
  color: #555;
}
.highlight-bracket {
  color: #997;
}
.highlight-tag {
  color: #170;
}
.highlight-attribute {
  color: #00c;
}
.highlight-header {
  color: blue;
}
.highlight-quote {
  color: #090;
}
.highlight-link {
  color: #00c;
}
/* apply the same style to codemirror */
.cm-s-ipython span.cm-keyword {
  color: #008000;
  font-weight: bold;
}
.cm-s-ipython span.cm-atom {
  color: #88F;
}
.cm-s-ipython span.cm-number {
  color: #080;
}
.cm-s-ipython span.cm-def {
  color: #00f;
}
.cm-s-ipython span.cm-variable {
  color: #000;
}
.cm-s-ipython span.cm-operator {
  color: #AA22FF;
  font-weight: bold;
}
.cm-s-ipython span.cm-variable-2 {
  color: #1a1a1a;
}
.cm-s-ipython span.cm-variable-3 {
  color: #333333;
}
.cm-s-ipython span.cm-comment {
  color: #408080;
  font-style: italic;
}
.cm-s-ipython span.cm-string {
  color: #BA2121;
}
.cm-s-ipython span.cm-string-2 {
  color: #f50;
}
.cm-s-ipython span.cm-meta {
  color: #AA22FF;
}
.cm-s-ipython span.cm-qualifier {
  color: #555;
}
.cm-s-ipython span.cm-builtin {
  color: #008000;
}
.cm-s-ipython span.cm-bracket {
  color: #997;
}
.cm-s-ipython span.cm-tag {
  color: #170;
}
.cm-s-ipython span.cm-attribute {
  color: #00c;
}
.cm-s-ipython span.cm-header {
  color: blue;
}
.cm-s-ipython span.cm-quote {
  color: #090;
}
.cm-s-ipython span.cm-link {
  color: #00c;
}
.cm-s-ipython span.cm-error {
  color: #f00;
}
.cm-s-ipython span.cm-tab {
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAMCAYAAAAkuj5RAAAAAXNSR0IArs4c6QAAAGFJREFUSMft1LsRQFAQheHPowAKoACx3IgEKtaEHujDjORSgWTH/ZOdnZOcM/sgk/kFFWY0qV8foQwS4MKBCS3qR6ixBJvElOobYAtivseIE120FaowJPN75GMu8j/LfMwNjh4HUpwg4LUAAAAASUVORK5CYII=);
  background-position: right;
  background-repeat: no-repeat;
}
div.output_wrapper {
  /* this position must be relative to enable descendents to be absolute within it */
  position: relative;
  /* Old browsers */
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-box-align: stretch;
  display: -moz-box;
  -moz-box-orient: vertical;
  -moz-box-align: stretch;
  display: box;
  box-orient: vertical;
  box-align: stretch;
  /* Modern browsers */
  display: flex;
  flex-direction: column;
  align-items: stretch;
  z-index: 1;
}
/* class for the output area when it should be height-limited */
div.output_scroll {
  /* ideally, this would be max-height, but FF barfs all over that */
  height: 24em;
  /* FF needs this *and the wrapper* to specify full width, or it will shrinkwrap */
  width: 100%;
  overflow: auto;
  border-radius: 2px;
  -webkit-box-shadow: inset 0 2px 8px rgba(0, 0, 0, 0.8);
  box-shadow: inset 0 2px 8px rgba(0, 0, 0, 0.8);
  display: block;
}
/* output div while it is collapsed */
div.output_collapsed {
  margin: 0px;
  padding: 0px;
  /* Old browsers */
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-box-align: stretch;
  display: -moz-box;
  -moz-box-orient: vertical;
  -moz-box-align: stretch;
  display: box;
  box-orient: vertical;
  box-align: stretch;
  /* Modern browsers */
  display: flex;
  flex-direction: column;
  align-items: stretch;
}
div.out_prompt_overlay {
  height: 100%;
  padding: 0px 0.4em;
  position: absolute;
  border-radius: 2px;
}
div.out_prompt_overlay:hover {
  /* use inner shadow to get border that is computed the same on WebKit/FF */
  -webkit-box-shadow: inset 0 0 1px #000;
  box-shadow: inset 0 0 1px #000;
  background: rgba(240, 240, 240, 0.5);
}
div.output_prompt {
  color: #D84315;
}
/* This class is the outer container of all output sections. */
div.output_area {
  padding: 0px;
  page-break-inside: avoid;
  /* Old browsers */
  display: -webkit-box;
  -webkit-box-orient: horizontal;
  -webkit-box-align: stretch;
  display: -moz-box;
  -moz-box-orient: horizontal;
  -moz-box-align: stretch;
  display: box;
  box-orient: horizontal;
  box-align: stretch;
  /* Modern browsers */
  display: flex;
  flex-direction: row;
  align-items: stretch;
}
div.output_area .MathJax_Display {
  text-align: left !important;
}
div.output_area .rendered_html table {
  margin-left: 0;
  margin-right: 0;
}
div.output_area .rendered_html img {
  margin-left: 0;
  margin-right: 0;
}
div.output_area img,
div.output_area svg {
  max-width: 100%;
  height: auto;
}
div.output_area img.unconfined,
div.output_area svg.unconfined {
  max-width: none;
}
/* This is needed to protect the pre formating from global settings such
   as that of bootstrap */
.output {
  /* Old browsers */
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-box-align: stretch;
  display: -moz-box;
  -moz-box-orient: vertical;
  -moz-box-align: stretch;
  display: box;
  box-orient: vertical;
  box-align: stretch;
  /* Modern browsers */
  display: flex;
  flex-direction: column;
  align-items: stretch;
}
@media (max-width: 540px) {
  div.output_area {
    /* Old browsers */
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-box-align: stretch;
    display: -moz-box;
    -moz-box-orient: vertical;
    -moz-box-align: stretch;
    display: box;
    box-orient: vertical;
    box-align: stretch;
    /* Modern browsers */
    display: flex;
    flex-direction: column;
    align-items: stretch;
  }
}
div.output_area pre {
  margin: 0;
  padding: 0;
  border: 0;
  vertical-align: baseline;
  color: black;
  background-color: transparent;
  border-radius: 0;
}
/* This class is for the output subarea inside the output_area and after
   the prompt div. */
div.output_subarea {
  overflow-x: auto;
  padding: 0.4em;
  /* Old browsers */
  -webkit-box-flex: 1;
  -moz-box-flex: 1;
  box-flex: 1;
  /* Modern browsers */
  flex: 1;
  max-width: calc(100% - 14ex);
}
div.output_scroll div.output_subarea {
  overflow-x: visible;
}
/* The rest of the output_* classes are for special styling of the different
   output types */
/* all text output has this class: */
div.output_text {
  text-align: left;
  color: #000;
  /* This has to match that of the the CodeMirror class line-height below */
  line-height: 1.21429em;
}
/* stdout/stderr are 'text' as well as 'stream', but execute_result/error are *not* streams */
div.output_stderr {
  background: #fdd;
  /* very light red background for stderr */
}
div.output_latex {
  text-align: left;
}
/* Empty output_javascript divs should have no height */
div.output_javascript:empty {
  padding: 0;
}
.js-error {
  color: darkred;
}
/* raw_input styles */
div.raw_input_container {
  line-height: 1.21429em;
  padding-top: 5px;
}
pre.raw_input_prompt {
  /* nothing needed here. */
}
input.raw_input {
  font-family: monospace;
  font-size: inherit;
  color: inherit;
  width: auto;
  /* make sure input baseline aligns with prompt */
  vertical-align: baseline;
  /* padding + margin = 0.5em between prompt and cursor */
  padding: 0em 0.25em;
  margin: 0em 0.25em;
}
input.raw_input:focus {
  box-shadow: none;
}
p.p-space {
  margin-bottom: 10px;
}
div.output_unrecognized {
  padding: 5px;
  font-weight: bold;
  color: red;
}
div.output_unrecognized a {
  color: inherit;
  text-decoration: none;
}
div.output_unrecognized a:hover {
  color: inherit;
  text-decoration: none;
}
.rendered_html {
  color: #000;
  /* any extras will just be numbers: */
}
.rendered_html em {
  font-style: italic;
}
.rendered_html strong {
  font-weight: bold;
}
.rendered_html u {
  text-decoration: underline;
}
.rendered_html :link {
  text-decoration: underline;
}
.rendered_html :visited {
  text-decoration: underline;
}
.rendered_html h1 {
  font-size: 185.7%;
  margin: 1.08em 0 0 0;
  font-weight: bold;
  line-height: 1.0;
}
.rendered_html h2 {
  font-size: 157.1%;
  margin: 1.27em 0 0 0;
  font-weight: bold;
  line-height: 1.0;
}
.rendered_html h3 {
  font-size: 128.6%;
  margin: 1.55em 0 0 0;
  font-weight: bold;
  line-height: 1.0;
}
.rendered_html h4 {
  font-size: 100%;
  margin: 2em 0 0 0;
  font-weight: bold;
  line-height: 1.0;
}
.rendered_html h5 {
  font-size: 100%;
  margin: 2em 0 0 0;
  font-weight: bold;
  line-height: 1.0;
  font-style: italic;
}
.rendered_html h6 {
  font-size: 100%;
  margin: 2em 0 0 0;
  font-weight: bold;
  line-height: 1.0;
  font-style: italic;
}
.rendered_html h1:first-child {
  margin-top: 0.538em;
}
.rendered_html h2:first-child {
  margin-top: 0.636em;
}
.rendered_html h3:first-child {
  margin-top: 0.777em;
}
.rendered_html h4:first-child {
  margin-top: 1em;
}
.rendered_html h5:first-child {
  margin-top: 1em;
}
.rendered_html h6:first-child {
  margin-top: 1em;
}
.rendered_html ul {
  list-style: disc;
  margin: 0em 2em;
  padding-left: 0px;
}
.rendered_html ul ul {
  list-style: square;
  margin: 0em 2em;
}
.rendered_html ul ul ul {
  list-style: circle;
  margin: 0em 2em;
}
.rendered_html ol {
  list-style: decimal;
  margin: 0em 2em;
  padding-left: 0px;
}
.rendered_html ol ol {
  list-style: upper-alpha;
  margin: 0em 2em;
}
.rendered_html ol ol ol {
  list-style: lower-alpha;
  margin: 0em 2em;
}
.rendered_html ol ol ol ol {
  list-style: lower-roman;
  margin: 0em 2em;
}
.rendered_html ol ol ol ol ol {
  list-style: decimal;
  margin: 0em 2em;
}
.rendered_html * + ul {
  margin-top: 1em;
}
.rendered_html * + ol {
  margin-top: 1em;
}
.rendered_html hr {
  color: black;
  background-color: black;
}
.rendered_html pre {
  margin: 1em 2em;
}
.rendered_html pre,
.rendered_html code {
  border: 0;
  background-color: #fff;
  color: #000;
  font-size: 100%;
  padding: 0px;
}
.rendered_html blockquote {
  margin: 1em 2em;
}
.rendered_html table {
  margin-left: auto;
  margin-right: auto;
  border: 1px solid black;
  border-collapse: collapse;
}
.rendered_html tr,
.rendered_html th,
.rendered_html td {
  border: 1px solid black;
  border-collapse: collapse;
  margin: 1em 2em;
}
.rendered_html td,
.rendered_html th {
  text-align: left;
  vertical-align: middle;
  padding: 4px;
}
.rendered_html th {
  font-weight: bold;
}
.rendered_html * + table {
  margin-top: 1em;
}
.rendered_html p {
  text-align: left;
}
.rendered_html * + p {
  margin-top: 1em;
}
.rendered_html img {
  display: block;
  margin-left: auto;
  margin-right: auto;
}
.rendered_html * + img {
  margin-top: 1em;
}
.rendered_html img,
.rendered_html svg {
  max-width: 100%;
  height: auto;
}
.rendered_html img.unconfined,
.rendered_html svg.unconfined {
  max-width: none;
}
div.text_cell {
  /* Old browsers */
  display: -webkit-box;
  -webkit-box-orient: horizontal;
  -webkit-box-align: stretch;
  display: -moz-box;
  -moz-box-orient: horizontal;
  -moz-box-align: stretch;
  display: box;
  box-orient: horizontal;
  box-align: stretch;
  /* Modern browsers */
  display: flex;
  flex-direction: row;
  align-items: stretch;
}
@media (max-width: 540px) {
  div.text_cell &gt; div.prompt {
    display: none;
  }
}
div.text_cell_render {
  /*font-family: &quot;Helvetica Neue&quot;, Arial, Helvetica, Geneva, sans-serif;*/
  outline: none;
  resize: none;
  width: inherit;
  border-style: none;
  padding: 0.5em 0.5em 0.5em 0.4em;
  color: #000;
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
}
a.anchor-link:link {
  text-decoration: none;
  padding: 0px 20px;
  visibility: hidden;
}
h1:hover .anchor-link,
h2:hover .anchor-link,
h3:hover .anchor-link,
h4:hover .anchor-link,
h5:hover .anchor-link,
h6:hover .anchor-link {
  visibility: visible;
}
.text_cell.rendered .input_area {
  display: none;
}
.text_cell.rendered .rendered_html {
  overflow-x: auto;
  overflow-y: hidden;
}
.text_cell.unrendered .text_cell_render {
  display: none;
}
.cm-header-1,
.cm-header-2,
.cm-header-3,
.cm-header-4,
.cm-header-5,
.cm-header-6 {
  font-weight: bold;
  font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, sans-serif;
}
.cm-header-1 {
  font-size: 185.7%;
}
.cm-header-2 {
  font-size: 157.1%;
}
.cm-header-3 {
  font-size: 128.6%;
}
.cm-header-4 {
  font-size: 110%;
}
.cm-header-5 {
  font-size: 100%;
  font-style: italic;
}
.cm-header-6 {
  font-size: 100%;
  font-style: italic;
}
/*!
*
* IPython notebook webapp
*
*/
@media (max-width: 767px) {
  .notebook_app {
    padding-left: 0px;
    padding-right: 0px;
  }
}
#ipython-main-app {
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  height: 100%;
}
div#notebook_panel {
  margin: 0px;
  padding: 0px;
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  height: 100%;
}
div#notebook {
  font-size: 14px;
  line-height: 20px;
  overflow-y: hidden;
  overflow-x: auto;
  width: 100%;
  /* This spaces the page away from the edge of the notebook area */
  padding-top: 20px;
  margin: 0px;
  outline: none;
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  min-height: 100%;
}
@media not print {
  #notebook-container {
    padding: 15px;
    background-color: #fff;
    min-height: 0;
    -webkit-box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2);
    box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2);
  }
}
@media print {
  #notebook-container {
    width: 100%;
  }
}
div.ui-widget-content {
  border: 1px solid #ababab;
  outline: none;
}
pre.dialog {
  background-color: #f7f7f7;
  border: 1px solid #ddd;
  border-radius: 2px;
  padding: 0.4em;
  padding-left: 2em;
}
p.dialog {
  padding: 0.2em;
}
/* Word-wrap output correctly.  This is the CSS3 spelling, though Firefox seems
   to not honor it correctly.  Webkit browsers (Chrome, rekonq, Safari) do.
 */
pre,
code,
kbd,
samp {
  white-space: pre-wrap;
}
#fonttest {
  font-family: monospace;
}
p {
  margin-bottom: 0;
}
.end_space {
  min-height: 100px;
  transition: height .2s ease;
}
.notebook_app &gt; #header {
  -webkit-box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2);
  box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2);
}
@media not print {
  .notebook_app {
    background-color: #EEE;
  }
}
kbd {
  border-style: solid;
  border-width: 1px;
  box-shadow: none;
  margin: 2px;
  padding-left: 2px;
  padding-right: 2px;
  padding-top: 1px;
  padding-bottom: 1px;
}
/* CSS for the cell toolbar */
.celltoolbar {
  border: thin solid #CFCFCF;
  border-bottom: none;
  background: #EEE;
  border-radius: 2px 2px 0px 0px;
  width: 100%;
  height: 29px;
  padding-right: 4px;
  /* Old browsers */
  display: -webkit-box;
  -webkit-box-orient: horizontal;
  -webkit-box-align: stretch;
  display: -moz-box;
  -moz-box-orient: horizontal;
  -moz-box-align: stretch;
  display: box;
  box-orient: horizontal;
  box-align: stretch;
  /* Modern browsers */
  display: flex;
  flex-direction: row;
  align-items: stretch;
  /* Old browsers */
  -webkit-box-pack: end;
  -moz-box-pack: end;
  box-pack: end;
  /* Modern browsers */
  justify-content: flex-end;
  display: -webkit-flex;
}
@media print {
  .celltoolbar {
    display: none;
  }
}
.ctb_hideshow {
  display: none;
  vertical-align: bottom;
}
/* ctb_show is added to the ctb_hideshow div to show the cell toolbar.
   Cell toolbars are only shown when the ctb_global_show class is also set.
*/
.ctb_global_show .ctb_show.ctb_hideshow {
  display: block;
}
.ctb_global_show .ctb_show + .input_area,
.ctb_global_show .ctb_show + div.text_cell_input,
.ctb_global_show .ctb_show ~ div.text_cell_render {
  border-top-right-radius: 0px;
  border-top-left-radius: 0px;
}
.ctb_global_show .ctb_show ~ div.text_cell_render {
  border: 1px solid #cfcfcf;
}
.celltoolbar {
  font-size: 87%;
  padding-top: 3px;
}
.celltoolbar select {
  display: block;
  width: 100%;
  height: 32px;
  padding: 6px 12px;
  font-size: 13px;
  line-height: 1.42857143;
  color: #555555;
  background-color: #fff;
  background-image: none;
  border: 1px solid #ccc;
  border-radius: 2px;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
  -webkit-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
  -o-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
  transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
  height: 30px;
  padding: 5px 10px;
  font-size: 12px;
  line-height: 1.5;
  border-radius: 1px;
  width: inherit;
  font-size: inherit;
  height: 22px;
  padding: 0px;
  display: inline-block;
}
.celltoolbar select:focus {
  border-color: #66afe9;
  outline: 0;
  -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6);
  box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6);
}
.celltoolbar select::-moz-placeholder {
  color: #999;
  opacity: 1;
}
.celltoolbar select:-ms-input-placeholder {
  color: #999;
}
.celltoolbar select::-webkit-input-placeholder {
  color: #999;
}
.celltoolbar select::-ms-expand {
  border: 0;
  background-color: transparent;
}
.celltoolbar select[disabled],
.celltoolbar select[readonly],
fieldset[disabled] .celltoolbar select {
  background-color: #eeeeee;
  opacity: 1;
}
.celltoolbar select[disabled],
fieldset[disabled] .celltoolbar select {
  cursor: not-allowed;
}
textarea.celltoolbar select {
  height: auto;
}
select.celltoolbar select {
  height: 30px;
  line-height: 30px;
}
textarea.celltoolbar select,
select[multiple].celltoolbar select {
  height: auto;
}
.celltoolbar label {
  margin-left: 5px;
  margin-right: 5px;
}
.completions {
  position: absolute;
  z-index: 110;
  overflow: hidden;
  border: 1px solid #ababab;
  border-radius: 2px;
  -webkit-box-shadow: 0px 6px 10px -1px #adadad;
  box-shadow: 0px 6px 10px -1px #adadad;
  line-height: 1;
}
.completions select {
  background: white;
  outline: none;
  border: none;
  padding: 0px;
  margin: 0px;
  overflow: auto;
  font-family: monospace;
  font-size: 110%;
  color: #000;
  width: auto;
}
.completions select option.context {
  color: #286090;
}
#kernel_logo_widget {
  float: right !important;
  float: right;
}
#kernel_logo_widget .current_kernel_logo {
  display: none;
  margin-top: -1px;
  margin-bottom: -1px;
  width: 32px;
  height: 32px;
}
#menubar {
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  margin-top: 1px;
}
#menubar .navbar {
  border-top: 1px;
  border-radius: 0px 0px 2px 2px;
  margin-bottom: 0px;
}
#menubar .navbar-toggle {
  float: left;
  padding-top: 7px;
  padding-bottom: 7px;
  border: none;
}
#menubar .navbar-collapse {
  clear: left;
}
.nav-wrapper {
  border-bottom: 1px solid #e7e7e7;
}
i.menu-icon {
  padding-top: 4px;
}
ul#help_menu li a {
  overflow: hidden;
  padding-right: 2.2em;
}
ul#help_menu li a i {
  margin-right: -1.2em;
}
.dropdown-submenu {
  position: relative;
}
.dropdown-submenu &gt; .dropdown-menu {
  top: 0;
  left: 100%;
  margin-top: -6px;
  margin-left: -1px;
}
.dropdown-submenu:hover &gt; .dropdown-menu {
  display: block;
}
.dropdown-submenu &gt; a:after {
  display: inline-block;
  font: normal normal normal 14px/1 FontAwesome;
  font-size: inherit;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  display: block;
  content: &quot;\f0da&quot;;
  float: right;
  color: #333333;
  margin-top: 2px;
  margin-right: -10px;
}
.dropdown-submenu &gt; a:after.pull-left {
  margin-right: .3em;
}
.dropdown-submenu &gt; a:after.pull-right {
  margin-left: .3em;
}
.dropdown-submenu:hover &gt; a:after {
  color: #262626;
}
.dropdown-submenu.pull-left {
  float: none;
}
.dropdown-submenu.pull-left &gt; .dropdown-menu {
  left: -100%;
  margin-left: 10px;
}
#notification_area {
  float: right !important;
  float: right;
  z-index: 10;
}
.indicator_area {
  float: right !important;
  float: right;
  color: #777;
  margin-left: 5px;
  margin-right: 5px;
  width: 11px;
  z-index: 10;
  text-align: center;
  width: auto;
}
#kernel_indicator {
  float: right !important;
  float: right;
  color: #777;
  margin-left: 5px;
  margin-right: 5px;
  width: 11px;
  z-index: 10;
  text-align: center;
  width: auto;
  border-left: 1px solid;
}
#kernel_indicator .kernel_indicator_name {
  padding-left: 5px;
  padding-right: 5px;
}
#modal_indicator {
  float: right !important;
  float: right;
  color: #777;
  margin-left: 5px;
  margin-right: 5px;
  width: 11px;
  z-index: 10;
  text-align: center;
  width: auto;
}
#readonly-indicator {
  float: right !important;
  float: right;
  color: #777;
  margin-left: 5px;
  margin-right: 5px;
  width: 11px;
  z-index: 10;
  text-align: center;
  width: auto;
  margin-top: 2px;
  margin-bottom: 0px;
  margin-left: 0px;
  margin-right: 0px;
  display: none;
}
.modal_indicator:before {
  width: 1.28571429em;
  text-align: center;
}
.edit_mode .modal_indicator:before {
  display: inline-block;
  font: normal normal normal 14px/1 FontAwesome;
  font-size: inherit;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: &quot;\f040&quot;;
}
.edit_mode .modal_indicator:before.pull-left {
  margin-right: .3em;
}
.edit_mode .modal_indicator:before.pull-right {
  margin-left: .3em;
}
.command_mode .modal_indicator:before {
  display: inline-block;
  font: normal normal normal 14px/1 FontAwesome;
  font-size: inherit;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: ' ';
}
.command_mode .modal_indicator:before.pull-left {
  margin-right: .3em;
}
.command_mode .modal_indicator:before.pull-right {
  margin-left: .3em;
}
.kernel_idle_icon:before {
  display: inline-block;
  font: normal normal normal 14px/1 FontAwesome;
  font-size: inherit;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: &quot;\f10c&quot;;
}
.kernel_idle_icon:before.pull-left {
  margin-right: .3em;
}
.kernel_idle_icon:before.pull-right {
  margin-left: .3em;
}
.kernel_busy_icon:before {
  display: inline-block;
  font: normal normal normal 14px/1 FontAwesome;
  font-size: inherit;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: &quot;\f111&quot;;
}
.kernel_busy_icon:before.pull-left {
  margin-right: .3em;
}
.kernel_busy_icon:before.pull-right {
  margin-left: .3em;
}
.kernel_dead_icon:before {
  display: inline-block;
  font: normal normal normal 14px/1 FontAwesome;
  font-size: inherit;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: &quot;\f1e2&quot;;
}
.kernel_dead_icon:before.pull-left {
  margin-right: .3em;
}
.kernel_dead_icon:before.pull-right {
  margin-left: .3em;
}
.kernel_disconnected_icon:before {
  display: inline-block;
  font: normal normal normal 14px/1 FontAwesome;
  font-size: inherit;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: &quot;\f127&quot;;
}
.kernel_disconnected_icon:before.pull-left {
  margin-right: .3em;
}
.kernel_disconnected_icon:before.pull-right {
  margin-left: .3em;
}
.notification_widget {
  color: #777;
  z-index: 10;
  background: rgba(240, 240, 240, 0.5);
  margin-right: 4px;
  color: #333;
  background-color: #fff;
  border-color: #ccc;
}
.notification_widget:focus,
.notification_widget.focus {
  color: #333;
  background-color: #e6e6e6;
  border-color: #8c8c8c;
}
.notification_widget:hover {
  color: #333;
  background-color: #e6e6e6;
  border-color: #adadad;
}
.notification_widget:active,
.notification_widget.active,
.open &gt; .dropdown-toggle.notification_widget {
  color: #333;
  background-color: #e6e6e6;
  border-color: #adadad;
}
.notification_widget:active:hover,
.notification_widget.active:hover,
.open &gt; .dropdown-toggle.notification_widget:hover,
.notification_widget:active:focus,
.notification_widget.active:focus,
.open &gt; .dropdown-toggle.notification_widget:focus,
.notification_widget:active.focus,
.notification_widget.active.focus,
.open &gt; .dropdown-toggle.notification_widget.focus {
  color: #333;
  background-color: #d4d4d4;
  border-color: #8c8c8c;
}
.notification_widget:active,
.notification_widget.active,
.open &gt; .dropdown-toggle.notification_widget {
  background-image: none;
}
.notification_widget.disabled:hover,
.notification_widget[disabled]:hover,
fieldset[disabled] .notification_widget:hover,
.notification_widget.disabled:focus,
.notification_widget[disabled]:focus,
fieldset[disabled] .notification_widget:focus,
.notification_widget.disabled.focus,
.notification_widget[disabled].focus,
fieldset[disabled] .notification_widget.focus {
  background-color: #fff;
  border-color: #ccc;
}
.notification_widget .badge {
  color: #fff;
  background-color: #333;
}
.notification_widget.warning {
  color: #fff;
  background-color: #f0ad4e;
  border-color: #eea236;
}
.notification_widget.warning:focus,
.notification_widget.warning.focus {
  color: #fff;
  background-color: #ec971f;
  border-color: #985f0d;
}
.notification_widget.warning:hover {
  color: #fff;
  background-color: #ec971f;
  border-color: #d58512;
}
.notification_widget.warning:active,
.notification_widget.warning.active,
.open &gt; .dropdown-toggle.notification_widget.warning {
  color: #fff;
  background-color: #ec971f;
  border-color: #d58512;
}
.notification_widget.warning:active:hover,
.notification_widget.warning.active:hover,
.open &gt; .dropdown-toggle.notification_widget.warning:hover,
.notification_widget.warning:active:focus,
.notification_widget.warning.active:focus,
.open &gt; .dropdown-toggle.notification_widget.warning:focus,
.notification_widget.warning:active.focus,
.notification_widget.warning.active.focus,
.open &gt; .dropdown-toggle.notification_widget.warning.focus {
  color: #fff;
  background-color: #d58512;
  border-color: #985f0d;
}
.notification_widget.warning:active,
.notification_widget.warning.active,
.open &gt; .dropdown-toggle.notification_widget.warning {
  background-image: none;
}
.notification_widget.warning.disabled:hover,
.notification_widget.warning[disabled]:hover,
fieldset[disabled] .notification_widget.warning:hover,
.notification_widget.warning.disabled:focus,
.notification_widget.warning[disabled]:focus,
fieldset[disabled] .notification_widget.warning:focus,
.notification_widget.warning.disabled.focus,
.notification_widget.warning[disabled].focus,
fieldset[disabled] .notification_widget.warning.focus {
  background-color: #f0ad4e;
  border-color: #eea236;
}
.notification_widget.warning .badge {
  color: #f0ad4e;
  background-color: #fff;
}
.notification_widget.success {
  color: #fff;
  background-color: #5cb85c;
  border-color: #4cae4c;
}
.notification_widget.success:focus,
.notification_widget.success.focus {
  color: #fff;
  background-color: #449d44;
  border-color: #255625;
}
.notification_widget.success:hover {
  color: #fff;
  background-color: #449d44;
  border-color: #398439;
}
.notification_widget.success:active,
.notification_widget.success.active,
.open &gt; .dropdown-toggle.notification_widget.success {
  color: #fff;
  background-color: #449d44;
  border-color: #398439;
}
.notification_widget.success:active:hover,
.notification_widget.success.active:hover,
.open &gt; .dropdown-toggle.notification_widget.success:hover,
.notification_widget.success:active:focus,
.notification_widget.success.active:focus,
.open &gt; .dropdown-toggle.notification_widget.success:focus,
.notification_widget.success:active.focus,
.notification_widget.success.active.focus,
.open &gt; .dropdown-toggle.notification_widget.success.focus {
  color: #fff;
  background-color: #398439;
  border-color: #255625;
}
.notification_widget.success:active,
.notification_widget.success.active,
.open &gt; .dropdown-toggle.notification_widget.success {
  background-image: none;
}
.notification_widget.success.disabled:hover,
.notification_widget.success[disabled]:hover,
fieldset[disabled] .notification_widget.success:hover,
.notification_widget.success.disabled:focus,
.notification_widget.success[disabled]:focus,
fieldset[disabled] .notification_widget.success:focus,
.notification_widget.success.disabled.focus,
.notification_widget.success[disabled].focus,
fieldset[disabled] .notification_widget.success.focus {
  background-color: #5cb85c;
  border-color: #4cae4c;
}
.notification_widget.success .badge {
  color: #5cb85c;
  background-color: #fff;
}
.notification_widget.info {
  color: #fff;
  background-color: #5bc0de;
  border-color: #46b8da;
}
.notification_widget.info:focus,
.notification_widget.info.focus {
  color: #fff;
  background-color: #31b0d5;
  border-color: #1b6d85;
}
.notification_widget.info:hover {
  color: #fff;
  background-color: #31b0d5;
  border-color: #269abc;
}
.notification_widget.info:active,
.notification_widget.info.active,
.open &gt; .dropdown-toggle.notification_widget.info {
  color: #fff;
  background-color: #31b0d5;
  border-color: #269abc;
}
.notification_widget.info:active:hover,
.notification_widget.info.active:hover,
.open &gt; .dropdown-toggle.notification_widget.info:hover,
.notification_widget.info:active:focus,
.notification_widget.info.active:focus,
.open &gt; .dropdown-toggle.notification_widget.info:focus,
.notification_widget.info:active.focus,
.notification_widget.info.active.focus,
.open &gt; .dropdown-toggle.notification_widget.info.focus {
  color: #fff;
  background-color: #269abc;
  border-color: #1b6d85;
}
.notification_widget.info:active,
.notification_widget.info.active,
.open &gt; .dropdown-toggle.notification_widget.info {
  background-image: none;
}
.notification_widget.info.disabled:hover,
.notification_widget.info[disabled]:hover,
fieldset[disabled] .notification_widget.info:hover,
.notification_widget.info.disabled:focus,
.notification_widget.info[disabled]:focus,
fieldset[disabled] .notification_widget.info:focus,
.notification_widget.info.disabled.focus,
.notification_widget.info[disabled].focus,
fieldset[disabled] .notification_widget.info.focus {
  background-color: #5bc0de;
  border-color: #46b8da;
}
.notification_widget.info .badge {
  color: #5bc0de;
  background-color: #fff;
}
.notification_widget.danger {
  color: #fff;
  background-color: #d9534f;
  border-color: #d43f3a;
}
.notification_widget.danger:focus,
.notification_widget.danger.focus {
  color: #fff;
  background-color: #c9302c;
  border-color: #761c19;
}
.notification_widget.danger:hover {
  color: #fff;
  background-color: #c9302c;
  border-color: #ac2925;
}
.notification_widget.danger:active,
.notification_widget.danger.active,
.open &gt; .dropdown-toggle.notification_widget.danger {
  color: #fff;
  background-color: #c9302c;
  border-color: #ac2925;
}
.notification_widget.danger:active:hover,
.notification_widget.danger.active:hover,
.open &gt; .dropdown-toggle.notification_widget.danger:hover,
.notification_widget.danger:active:focus,
.notification_widget.danger.active:focus,
.open &gt; .dropdown-toggle.notification_widget.danger:focus,
.notification_widget.danger:active.focus,
.notification_widget.danger.active.focus,
.open &gt; .dropdown-toggle.notification_widget.danger.focus {
  color: #fff;
  background-color: #ac2925;
  border-color: #761c19;
}
.notification_widget.danger:active,
.notification_widget.danger.active,
.open &gt; .dropdown-toggle.notification_widget.danger {
  background-image: none;
}
.notification_widget.danger.disabled:hover,
.notification_widget.danger[disabled]:hover,
fieldset[disabled] .notification_widget.danger:hover,
.notification_widget.danger.disabled:focus,
.notification_widget.danger[disabled]:focus,
fieldset[disabled] .notification_widget.danger:focus,
.notification_widget.danger.disabled.focus,
.notification_widget.danger[disabled].focus,
fieldset[disabled] .notification_widget.danger.focus {
  background-color: #d9534f;
  border-color: #d43f3a;
}
.notification_widget.danger .badge {
  color: #d9534f;
  background-color: #fff;
}
div#pager {
  background-color: #fff;
  font-size: 14px;
  line-height: 20px;
  overflow: hidden;
  display: none;
  position: fixed;
  bottom: 0px;
  width: 100%;
  max-height: 50%;
  padding-top: 8px;
  -webkit-box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2);
  box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2);
  /* Display over codemirror */
  z-index: 100;
  /* Hack which prevents jquery ui resizable from changing top. */
  top: auto !important;
}
div#pager pre {
  line-height: 1.21429em;
  color: #000;
  background-color: #f7f7f7;
  padding: 0.4em;
}
div#pager #pager-button-area {
  position: absolute;
  top: 8px;
  right: 20px;
}
div#pager #pager-contents {
  position: relative;
  overflow: auto;
  width: 100%;
  height: 100%;
}
div#pager #pager-contents #pager-container {
  position: relative;
  padding: 15px 0px;
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
}
div#pager .ui-resizable-handle {
  top: 0px;
  height: 8px;
  background: #f7f7f7;
  border-top: 1px solid #cfcfcf;
  border-bottom: 1px solid #cfcfcf;
  /* This injects handle bars (a short, wide = symbol) for 
        the resize handle. */
}
div#pager .ui-resizable-handle::after {
  content: '';
  top: 2px;
  left: 50%;
  height: 3px;
  width: 30px;
  margin-left: -15px;
  position: absolute;
  border-top: 1px solid #cfcfcf;
}
.quickhelp {
  /* Old browsers */
  display: -webkit-box;
  -webkit-box-orient: horizontal;
  -webkit-box-align: stretch;
  display: -moz-box;
  -moz-box-orient: horizontal;
  -moz-box-align: stretch;
  display: box;
  box-orient: horizontal;
  box-align: stretch;
  /* Modern browsers */
  display: flex;
  flex-direction: row;
  align-items: stretch;
  line-height: 1.8em;
}
.shortcut_key {
  display: inline-block;
  width: 21ex;
  text-align: right;
  font-family: monospace;
}
.shortcut_descr {
  display: inline-block;
  /* Old browsers */
  -webkit-box-flex: 1;
  -moz-box-flex: 1;
  box-flex: 1;
  /* Modern browsers */
  flex: 1;
}
span.save_widget {
  margin-top: 6px;
}
span.save_widget span.filename {
  height: 1em;
  line-height: 1em;
  padding: 3px;
  margin-left: 16px;
  border: none;
  font-size: 146.5%;
  border-radius: 2px;
}
span.save_widget span.filename:hover {
  background-color: #e6e6e6;
}
span.checkpoint_status,
span.autosave_status {
  font-size: small;
}
@media (max-width: 767px) {
  span.save_widget {
    font-size: small;
  }
  span.checkpoint_status,
  span.autosave_status {
    display: none;
  }
}
@media (min-width: 768px) and (max-width: 991px) {
  span.checkpoint_status {
    display: none;
  }
  span.autosave_status {
    font-size: x-small;
  }
}
.toolbar {
  padding: 0px;
  margin-left: -5px;
  margin-top: 2px;
  margin-bottom: 5px;
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
}
.toolbar select,
.toolbar label {
  width: auto;
  vertical-align: middle;
  margin-right: 2px;
  margin-bottom: 0px;
  display: inline;
  font-size: 92%;
  margin-left: 0.3em;
  margin-right: 0.3em;
  padding: 0px;
  padding-top: 3px;
}
.toolbar .btn {
  padding: 2px 8px;
}
.toolbar .btn-group {
  margin-top: 0px;
  margin-left: 5px;
}
#maintoolbar {
  margin-bottom: -3px;
  margin-top: -8px;
  border: 0px;
  min-height: 27px;
  margin-left: 0px;
  padding-top: 11px;
  padding-bottom: 3px;
}
#maintoolbar .navbar-text {
  float: none;
  vertical-align: middle;
  text-align: right;
  margin-left: 5px;
  margin-right: 0px;
  margin-top: 0px;
}
.select-xs {
  height: 24px;
}
.pulse,
.dropdown-menu &gt; li &gt; a.pulse,
li.pulse &gt; a.dropdown-toggle,
li.pulse.open &gt; a.dropdown-toggle {
  background-color: #F37626;
  color: white;
}
/**
 * Primary styles
 *
 * Author: Jupyter Development Team
 */
/** WARNING IF YOU ARE EDITTING THIS FILE, if this is a .css file, It has a lot
 * of chance of beeing generated from the ../less/[samename].less file, you can
 * try to get back the less file by reverting somme commit in history
 **/
/*
 * We'll try to get something pretty, so we
 * have some strange css to have the scroll bar on
 * the left with fix button on the top right of the tooltip
 */
@-moz-keyframes fadeOut {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}
@-webkit-keyframes fadeOut {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}
@-moz-keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@-webkit-keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
/*properties of tooltip after &quot;expand&quot;*/
.bigtooltip {
  overflow: auto;
  height: 200px;
  -webkit-transition-property: height;
  -webkit-transition-duration: 500ms;
  -moz-transition-property: height;
  -moz-transition-duration: 500ms;
  transition-property: height;
  transition-duration: 500ms;
}
/*properties of tooltip before &quot;expand&quot;*/
.smalltooltip {
  -webkit-transition-property: height;
  -webkit-transition-duration: 500ms;
  -moz-transition-property: height;
  -moz-transition-duration: 500ms;
  transition-property: height;
  transition-duration: 500ms;
  text-overflow: ellipsis;
  overflow: hidden;
  height: 80px;
}
.tooltipbuttons {
  position: absolute;
  padding-right: 15px;
  top: 0px;
  right: 0px;
}
.tooltiptext {
  /*avoid the button to overlap on some docstring*/
  padding-right: 30px;
}
.ipython_tooltip {
  max-width: 700px;
  /*fade-in animation when inserted*/
  -webkit-animation: fadeOut 400ms;
  -moz-animation: fadeOut 400ms;
  animation: fadeOut 400ms;
  -webkit-animation: fadeIn 400ms;
  -moz-animation: fadeIn 400ms;
  animation: fadeIn 400ms;
  vertical-align: middle;
  background-color: #f7f7f7;
  overflow: visible;
  border: #ababab 1px solid;
  outline: none;
  padding: 3px;
  margin: 0px;
  padding-left: 7px;
  font-family: monospace;
  min-height: 50px;
  -moz-box-shadow: 0px 6px 10px -1px #adadad;
  -webkit-box-shadow: 0px 6px 10px -1px #adadad;
  box-shadow: 0px 6px 10px -1px #adadad;
  border-radius: 2px;
  position: absolute;
  z-index: 1000;
}
.ipython_tooltip a {
  float: right;
}
.ipython_tooltip .tooltiptext pre {
  border: 0;
  border-radius: 0;
  font-size: 100%;
  background-color: #f7f7f7;
}
.pretooltiparrow {
  left: 0px;
  margin: 0px;
  top: -16px;
  width: 40px;
  height: 16px;
  overflow: hidden;
  position: absolute;
}
.pretooltiparrow:before {
  background-color: #f7f7f7;
  border: 1px #ababab solid;
  z-index: 11;
  content: &quot;&quot;;
  position: absolute;
  left: 15px;
  top: 10px;
  width: 25px;
  height: 25px;
  -webkit-transform: rotate(45deg);
  -moz-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  -o-transform: rotate(45deg);
}
ul.typeahead-list i {
  margin-left: -10px;
  width: 18px;
}
ul.typeahead-list {
  max-height: 80vh;
  overflow: auto;
}
ul.typeahead-list &gt; li &gt; a {
  /** Firefox bug **/
  /* see https://github.com/jupyter/notebook/issues/559 */
  white-space: normal;
}
.cmd-palette .modal-body {
  padding: 7px;
}
.cmd-palette form {
  background: white;
}
.cmd-palette input {
  outline: none;
}
.no-shortcut {
  display: none;
}
.command-shortcut:before {
  content: &quot;(command)&quot;;
  padding-right: 3px;
  color: #777777;
}
.edit-shortcut:before {
  content: &quot;(edit)&quot;;
  padding-right: 3px;
  color: #777777;
}
#find-and-replace #replace-preview .match,
#find-and-replace #replace-preview .insert {
  background-color: #BBDEFB;
  border-color: #90CAF9;
  border-style: solid;
  border-width: 1px;
  border-radius: 0px;
}
#find-and-replace #replace-preview .replace .match {
  background-color: #FFCDD2;
  border-color: #EF9A9A;
  border-radius: 0px;
}
#find-and-replace #replace-preview .replace .insert {
  background-color: #C8E6C9;
  border-color: #A5D6A7;
  border-radius: 0px;
}
#find-and-replace #replace-preview {
  max-height: 60vh;
  overflow: auto;
}
#find-and-replace #replace-preview pre {
  padding: 5px 10px;
}
.terminal-app {
  background: #EEE;
}
.terminal-app #header {
  background: #fff;
  -webkit-box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2);
  box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2);
}
.terminal-app .terminal {
  width: 100%;
  float: left;
  font-family: monospace;
  color: white;
  background: black;
  padding: 0.4em;
  border-radius: 2px;
  -webkit-box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.4);
  box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.4);
}
.terminal-app .terminal,
.terminal-app .terminal dummy-screen {
  line-height: 1em;
  font-size: 14px;
}
.terminal-app .terminal .xterm-rows {
  padding: 10px;
}
.terminal-app .terminal-cursor {
  color: black;
  background: white;
}
.terminal-app #terminado-container {
  margin-top: 20px;
}
/*# sourceMappingURL=style.min.css.map */
    &lt;/style&gt;
&lt;style type=&quot;text/css&quot;&gt;
    .highlight .hll { background-color: #ffffcc }
.highlight  { background: #f8f8f8; }
.highlight .c { color: #408080; font-style: italic } /* Comment */
.highlight .err { border: 1px solid #FF0000 } /* Error */
.highlight .k { color: #008000; font-weight: bold } /* Keyword */
.highlight .o { color: #666666 } /* Operator */
.highlight .ch { color: #408080; font-style: italic } /* Comment.Hashbang */
.highlight .cm { color: #408080; font-style: italic } /* Comment.Multiline */
.highlight .cp { color: #BC7A00 } /* Comment.Preproc */
.highlight .cpf { color: #408080; font-style: italic } /* Comment.PreprocFile */
.highlight .c1 { color: #408080; font-style: italic } /* Comment.Single */
.highlight .cs { color: #408080; font-style: italic } /* Comment.Special */
.highlight .gd { color: #A00000 } /* Generic.Deleted */
.highlight .ge { font-style: italic } /* Generic.Emph */
.highlight .gr { color: #FF0000 } /* Generic.Error */
.highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */
.highlight .gi { color: #00A000 } /* Generic.Inserted */
.highlight .go { color: #888888 } /* Generic.Output */
.highlight .gp { color: #000080; font-weight: bold } /* Generic.Prompt */
.highlight .gs { font-weight: bold } /* Generic.Strong */
.highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */
.highlight .gt { color: #0044DD } /* Generic.Traceback */
.highlight .kc { color: #008000; font-weight: bold } /* Keyword.Constant */
.highlight .kd { color: #008000; font-weight: bold } /* Keyword.Declaration */
.highlight .kn { color: #008000; font-weight: bold } /* Keyword.Namespace */
.highlight .kp { color: #008000 } /* Keyword.Pseudo */
.highlight .kr { color: #008000; font-weight: bold } /* Keyword.Reserved */
.highlight .kt { color: #B00040 } /* Keyword.Type */
.highlight .m { color: #666666 } /* Literal.Number */
.highlight .s { color: #BA2121 } /* Literal.String */
.highlight .na { color: #7D9029 } /* Name.Attribute */
.highlight .nb { color: #008000 } /* Name.Builtin */
.highlight .nc { color: #0000FF; font-weight: bold } /* Name.Class */
.highlight .no { color: #880000 } /* Name.Constant */
.highlight .nd { color: #AA22FF } /* Name.Decorator */
.highlight .ni { color: #999999; font-weight: bold } /* Name.Entity */
.highlight .ne { color: #D2413A; font-weight: bold } /* Name.Exception */
.highlight .nf { color: #0000FF } /* Name.Function */
.highlight .nl { color: #A0A000 } /* Name.Label */
.highlight .nn { color: #0000FF; font-weight: bold } /* Name.Namespace */
.highlight .nt { color: #008000; font-weight: bold } /* Name.Tag */
.highlight .nv { color: #19177C } /* Name.Variable */
.highlight .ow { color: #AA22FF; font-weight: bold } /* Operator.Word */
.highlight .w { color: #bbbbbb } /* Text.Whitespace */
.highlight .mb { color: #666666 } /* Literal.Number.Bin */
.highlight .mf { color: #666666 } /* Literal.Number.Float */
.highlight .mh { color: #666666 } /* Literal.Number.Hex */
.highlight .mi { color: #666666 } /* Literal.Number.Integer */
.highlight .mo { color: #666666 } /* Literal.Number.Oct */
.highlight .sa { color: #BA2121 } /* Literal.String.Affix */
.highlight .sb { color: #BA2121 } /* Literal.String.Backtick */
.highlight .sc { color: #BA2121 } /* Literal.String.Char */
.highlight .dl { color: #BA2121 } /* Literal.String.Delimiter */
.highlight .sd { color: #BA2121; font-style: italic } /* Literal.String.Doc */
.highlight .s2 { color: #BA2121 } /* Literal.String.Double */
.highlight .se { color: #BB6622; font-weight: bold } /* Literal.String.Escape */
.highlight .sh { color: #BA2121 } /* Literal.String.Heredoc */
.highlight .si { color: #BB6688; font-weight: bold } /* Literal.String.Interpol */
.highlight .sx { color: #008000 } /* Literal.String.Other */
.highlight .sr { color: #BB6688 } /* Literal.String.Regex */
.highlight .s1 { color: #BA2121 } /* Literal.String.Single */
.highlight .ss { color: #19177C } /* Literal.String.Symbol */
.highlight .bp { color: #008000 } /* Name.Builtin.Pseudo */
.highlight .fm { color: #0000FF } /* Name.Function.Magic */
.highlight .vc { color: #19177C } /* Name.Variable.Class */
.highlight .vg { color: #19177C } /* Name.Variable.Global */
.highlight .vi { color: #19177C } /* Name.Variable.Instance */
.highlight .vm { color: #19177C } /* Name.Variable.Magic */
.highlight .il { color: #666666 } /* Literal.Number.Integer.Long */
    &lt;/style&gt;
&lt;style type=&quot;text/css&quot;&gt;
    
/* Temporary definitions which will become obsolete with Notebook release 5.0 */
.ansi-black-fg { color: #3E424D; }
.ansi-black-bg { background-color: #3E424D; }
.ansi-black-intense-fg { color: #282C36; }
.ansi-black-intense-bg { background-color: #282C36; }
.ansi-red-fg { color: #E75C58; }
.ansi-red-bg { background-color: #E75C58; }
.ansi-red-intense-fg { color: #B22B31; }
.ansi-red-intense-bg { background-color: #B22B31; }
.ansi-green-fg { color: #00A250; }
.ansi-green-bg { background-color: #00A250; }
.ansi-green-intense-fg { color: #007427; }
.ansi-green-intense-bg { background-color: #007427; }
.ansi-yellow-fg { color: #DDB62B; }
.ansi-yellow-bg { background-color: #DDB62B; }
.ansi-yellow-intense-fg { color: #B27D12; }
.ansi-yellow-intense-bg { background-color: #B27D12; }
.ansi-blue-fg { color: #208FFB; }
.ansi-blue-bg { background-color: #208FFB; }
.ansi-blue-intense-fg { color: #0065CA; }
.ansi-blue-intense-bg { background-color: #0065CA; }
.ansi-magenta-fg { color: #D160C4; }
.ansi-magenta-bg { background-color: #D160C4; }
.ansi-magenta-intense-fg { color: #A03196; }
.ansi-magenta-intense-bg { background-color: #A03196; }
.ansi-cyan-fg { color: #60C6C8; }
.ansi-cyan-bg { background-color: #60C6C8; }
.ansi-cyan-intense-fg { color: #258F8F; }
.ansi-cyan-intense-bg { background-color: #258F8F; }
.ansi-white-fg { color: #C5C1B4; }
.ansi-white-bg { background-color: #C5C1B4; }
.ansi-white-intense-fg { color: #A1A6B2; }
.ansi-white-intense-bg { background-color: #A1A6B2; }

.ansi-bold { font-weight: bold; }

    &lt;/style&gt;


&lt;style type=&quot;text/css&quot;&gt;
/* Overrides of notebook CSS for static HTML export */
body {
  overflow: visible;
  padding: 8px;
}

div#notebook {
  overflow: visible;
  border-top: none;
}@media print {
  div.cell {
    display: block;
    page-break-inside: avoid;
  } 
  div.output_wrapper { 
    display: block;
    page-break-inside: avoid; 
  }
  div.output { 
    display: block;
    page-break-inside: avoid; 
  }
}
&lt;/style&gt;

&lt;!-- Custom stylesheet, it must be in the same directory as the html file --&gt;
&lt;link rel=&quot;stylesheet&quot; href=&quot;custom.css&quot;&gt;

&lt;!-- Loading mathjax macro --&gt;
&lt;!-- Load mathjax --&gt;
    &lt;script src=&quot;https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.1/MathJax.js?config=TeX-AMS_HTML&quot;&gt;&lt;/script&gt;
    &lt;!-- MathJax configuration --&gt;
    &lt;script type=&quot;text/x-mathjax-config&quot;&gt;
    MathJax.Hub.Config({
        tex2jax: {
            inlineMath: [ ['$','$'], [&quot;\\(&quot;,&quot;\\)&quot;] ],
            displayMath: [ ['$$','$$'], [&quot;\\[&quot;,&quot;\\]&quot;] ],
            processEscapes: true,
            processEnvironments: true
        },
        // Center justify equations in code and markdown cells. Elsewhere
        // we use CSS to left justify single line equations in code cells.
        displayAlign: 'center',
        &quot;HTML-CSS&quot;: {
            styles: {'.MathJax_Display': {&quot;margin&quot;: 0}},
            linebreaks: { automatic: true }
        }
    });
    &lt;/script&gt;
    &lt;!-- End of mathjax configuration --&gt;&lt;/head&gt;
&lt;body&gt;
  &lt;div tabindex=&quot;-1&quot; id=&quot;notebook&quot; class=&quot;border-box-sizing&quot;&gt;
    &lt;div class=&quot;container&quot; id=&quot;notebook-container&quot;&gt;

&lt;div class=&quot;cell border-box-sizing text_cell rendered&quot;&gt;&lt;div class=&quot;prompt input_prompt&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;inner_cell&quot;&gt;
&lt;div class=&quot;text_cell_render border-box-sizing rendered_html&quot;&gt;
&lt;h1 id=&quot;Cardiotocography-under-a-microscope&quot;&gt;Cardiotocography under a microscope&lt;a class=&quot;anchor-link&quot; href=&quot;#Cardiotocography-under-a-microscope&quot;&gt;&amp;#182;&lt;/a&gt;&lt;/h1&gt;&lt;hr&gt;
&lt;p&gt;This is a short study of the heart rate and other characteristics of 2126 fetuses. The fetuses are classified in 10 classes of heart behavior, and 3 classes of disease risk ( NSP ). For more information on the parameters of the dataset, they are widely explained in the dataset description.&lt;/p&gt;
&lt;p&gt;In a first part we will explore our dataset to try to find some valuable insights hidden in the numbers. To do that we will use dimensionality reduction, first through PCA, then using an autoencoder. We will analyze the results and compare them to our original dataset.&lt;/p&gt;
&lt;p&gt;In a second part we will try to model a tool that could be useful in detecting the possible pathology. In order to do this, we will test a number of Machine Learning classifiers, we will try to find the most accurate for this problem and then tune it to its best accuracy. We will then compare the results of the best classifier we found with the results of a small artificial neural network and see which one does best.&lt;/p&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;cell border-box-sizing text_cell rendered&quot;&gt;&lt;div class=&quot;prompt input_prompt&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;inner_cell&quot;&gt;
&lt;div class=&quot;text_cell_render border-box-sizing rendered_html&quot;&gt;
&lt;h2 id=&quot;Importing-the-libraries-and-dataset&quot;&gt;&lt;strong&gt;Importing the libraries and dataset&lt;/strong&gt;&lt;a class=&quot;anchor-link&quot; href=&quot;#Importing-the-libraries-and-dataset&quot;&gt;&amp;#182;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Here we want to do a very basic preprocessing of the data and take a general look at the shape of the problem.&lt;/p&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;cell border-box-sizing code_cell rendered&quot;&gt;
&lt;div class=&quot;input&quot;&gt;
&lt;div class=&quot;prompt input_prompt&quot;&gt;In&amp;nbsp;[1]:&lt;/div&gt;
&lt;div class=&quot;inner_cell&quot;&gt;
    &lt;div class=&quot;input_area&quot;&gt;
&lt;div class=&quot; highlight hl-ipython3&quot;&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class=&quot;kn&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;nn&quot;&gt;numpy&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;as&lt;/span&gt; &lt;span class=&quot;nn&quot;&gt;np&lt;/span&gt;
&lt;span class=&quot;kn&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;nn&quot;&gt;matplotlib.pyplot&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;as&lt;/span&gt; &lt;span class=&quot;nn&quot;&gt;plt&lt;/span&gt;
&lt;span class=&quot;kn&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;nn&quot;&gt;pandas&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;as&lt;/span&gt; &lt;span class=&quot;nn&quot;&gt;pd&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;dataset&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;pd&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;read_excel&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;sa&quot;&gt;r&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;../input/CTG.xls&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;sheetname&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;skiprows&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;c1&quot;&gt;# Get the data&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;div class=&quot;output_wrapper&quot;&gt;
&lt;div class=&quot;output&quot;&gt;


&lt;div class=&quot;output_area&quot;&gt;

&lt;div class=&quot;prompt&quot;&gt;&lt;/div&gt;


&lt;div class=&quot;output_subarea output_stream output_stderr output_text&quot;&gt;
&lt;pre&gt;/opt/conda/lib/python3.6/site-packages/pandas/util/_decorators.py:118: FutureWarning: The `sheetname` keyword is deprecated, use `sheet_name` instead
  return func(*args, **kwargs)
&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;
&lt;div class=&quot;cell border-box-sizing code_cell rendered&quot;&gt;
&lt;div class=&quot;input&quot;&gt;
&lt;div class=&quot;prompt input_prompt&quot;&gt;In&amp;nbsp;[2]:&lt;/div&gt;
&lt;div class=&quot;inner_cell&quot;&gt;
    &lt;div class=&quot;input_area&quot;&gt;
&lt;div class=&quot; highlight hl-ipython3&quot;&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;dataset&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;head&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;div class=&quot;output_wrapper&quot;&gt;
&lt;div class=&quot;output&quot;&gt;


&lt;div class=&quot;output_area&quot;&gt;

&lt;div class=&quot;prompt output_prompt&quot;&gt;Out[2]:&lt;/div&gt;



&lt;div class=&quot;output_html rendered_html output_subarea output_execute_result&quot;&gt;
&lt;div&gt;
&lt;style scoped&gt;
    .dataframe tbody tr th:only-of-type {
        vertical-align: middle;
    }

    .dataframe tbody tr th {
        vertical-align: top;
    }

    .dataframe thead th {
        text-align: right;
    }
&lt;/style&gt;
&lt;table border=&quot;1&quot; class=&quot;dataframe&quot;&gt;
  &lt;thead&gt;
    &lt;tr style=&quot;text-align: right;&quot;&gt;
      &lt;th&gt;&lt;/th&gt;
      &lt;th&gt;b&lt;/th&gt;
      &lt;th&gt;e&lt;/th&gt;
      &lt;th&gt;AC&lt;/th&gt;
      &lt;th&gt;FM&lt;/th&gt;
      &lt;th&gt;UC&lt;/th&gt;
      &lt;th&gt;DL&lt;/th&gt;
      &lt;th&gt;DS&lt;/th&gt;
      &lt;th&gt;DP&lt;/th&gt;
      &lt;th&gt;DR&lt;/th&gt;
      &lt;th&gt;Unnamed: 9&lt;/th&gt;
      &lt;th&gt;...&lt;/th&gt;
      &lt;th&gt;E&lt;/th&gt;
      &lt;th&gt;AD&lt;/th&gt;
      &lt;th&gt;DE&lt;/th&gt;
      &lt;th&gt;LD&lt;/th&gt;
      &lt;th&gt;FS&lt;/th&gt;
      &lt;th&gt;SUSP&lt;/th&gt;
      &lt;th&gt;Unnamed: 42&lt;/th&gt;
      &lt;th&gt;CLASS&lt;/th&gt;
      &lt;th&gt;Unnamed: 44&lt;/th&gt;
      &lt;th&gt;NSP&lt;/th&gt;
    &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
    &lt;tr&gt;
      &lt;th&gt;0&lt;/th&gt;
      &lt;td&gt;240.0&lt;/td&gt;
      &lt;td&gt;357.0&lt;/td&gt;
      &lt;td&gt;0.0&lt;/td&gt;
      &lt;td&gt;0.0&lt;/td&gt;
      &lt;td&gt;0.0&lt;/td&gt;
      &lt;td&gt;0.0&lt;/td&gt;
      &lt;td&gt;0.0&lt;/td&gt;
      &lt;td&gt;0.0&lt;/td&gt;
      &lt;td&gt;0.0&lt;/td&gt;
      &lt;td&gt;NaN&lt;/td&gt;
      &lt;td&gt;...&lt;/td&gt;
      &lt;td&gt;-1.0&lt;/td&gt;
      &lt;td&gt;-1.0&lt;/td&gt;
      &lt;td&gt;-1.0&lt;/td&gt;
      &lt;td&gt;-1.0&lt;/td&gt;
      &lt;td&gt;1.0&lt;/td&gt;
      &lt;td&gt;-1.0&lt;/td&gt;
      &lt;td&gt;NaN&lt;/td&gt;
      &lt;td&gt;9.0&lt;/td&gt;
      &lt;td&gt;NaN&lt;/td&gt;
      &lt;td&gt;2.0&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;th&gt;1&lt;/th&gt;
      &lt;td&gt;5.0&lt;/td&gt;
      &lt;td&gt;632.0&lt;/td&gt;
      &lt;td&gt;4.0&lt;/td&gt;
      &lt;td&gt;0.0&lt;/td&gt;
      &lt;td&gt;4.0&lt;/td&gt;
      &lt;td&gt;2.0&lt;/td&gt;
      &lt;td&gt;0.0&lt;/td&gt;
      &lt;td&gt;0.0&lt;/td&gt;
      &lt;td&gt;0.0&lt;/td&gt;
      &lt;td&gt;NaN&lt;/td&gt;
      &lt;td&gt;...&lt;/td&gt;
      &lt;td&gt;-1.0&lt;/td&gt;
      &lt;td&gt;1.0&lt;/td&gt;
      &lt;td&gt;-1.0&lt;/td&gt;
      &lt;td&gt;-1.0&lt;/td&gt;
      &lt;td&gt;-1.0&lt;/td&gt;
      &lt;td&gt;-1.0&lt;/td&gt;
      &lt;td&gt;NaN&lt;/td&gt;
      &lt;td&gt;6.0&lt;/td&gt;
      &lt;td&gt;NaN&lt;/td&gt;
      &lt;td&gt;1.0&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;th&gt;2&lt;/th&gt;
      &lt;td&gt;177.0&lt;/td&gt;
      &lt;td&gt;779.0&lt;/td&gt;
      &lt;td&gt;2.0&lt;/td&gt;
      &lt;td&gt;0.0&lt;/td&gt;
      &lt;td&gt;5.0&lt;/td&gt;
      &lt;td&gt;2.0&lt;/td&gt;
      &lt;td&gt;0.0&lt;/td&gt;
      &lt;td&gt;0.0&lt;/td&gt;
      &lt;td&gt;0.0&lt;/td&gt;
      &lt;td&gt;NaN&lt;/td&gt;
      &lt;td&gt;...&lt;/td&gt;
      &lt;td&gt;-1.0&lt;/td&gt;
      &lt;td&gt;1.0&lt;/td&gt;
      &lt;td&gt;-1.0&lt;/td&gt;
      &lt;td&gt;-1.0&lt;/td&gt;
      &lt;td&gt;-1.0&lt;/td&gt;
      &lt;td&gt;-1.0&lt;/td&gt;
      &lt;td&gt;NaN&lt;/td&gt;
      &lt;td&gt;6.0&lt;/td&gt;
      &lt;td&gt;NaN&lt;/td&gt;
      &lt;td&gt;1.0&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;th&gt;3&lt;/th&gt;
      &lt;td&gt;411.0&lt;/td&gt;
      &lt;td&gt;1192.0&lt;/td&gt;
      &lt;td&gt;2.0&lt;/td&gt;
      &lt;td&gt;0.0&lt;/td&gt;
      &lt;td&gt;6.0&lt;/td&gt;
      &lt;td&gt;2.0&lt;/td&gt;
      &lt;td&gt;0.0&lt;/td&gt;
      &lt;td&gt;0.0&lt;/td&gt;
      &lt;td&gt;0.0&lt;/td&gt;
      &lt;td&gt;NaN&lt;/td&gt;
      &lt;td&gt;...&lt;/td&gt;
      &lt;td&gt;-1.0&lt;/td&gt;
      &lt;td&gt;1.0&lt;/td&gt;
      &lt;td&gt;-1.0&lt;/td&gt;
      &lt;td&gt;-1.0&lt;/td&gt;
      &lt;td&gt;-1.0&lt;/td&gt;
      &lt;td&gt;-1.0&lt;/td&gt;
      &lt;td&gt;NaN&lt;/td&gt;
      &lt;td&gt;6.0&lt;/td&gt;
      &lt;td&gt;NaN&lt;/td&gt;
      &lt;td&gt;1.0&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;th&gt;4&lt;/th&gt;
      &lt;td&gt;533.0&lt;/td&gt;
      &lt;td&gt;1147.0&lt;/td&gt;
      &lt;td&gt;4.0&lt;/td&gt;
      &lt;td&gt;0.0&lt;/td&gt;
      &lt;td&gt;5.0&lt;/td&gt;
      &lt;td&gt;0.0&lt;/td&gt;
      &lt;td&gt;0.0&lt;/td&gt;
      &lt;td&gt;0.0&lt;/td&gt;
      &lt;td&gt;0.0&lt;/td&gt;
      &lt;td&gt;NaN&lt;/td&gt;
      &lt;td&gt;...&lt;/td&gt;
      &lt;td&gt;-1.0&lt;/td&gt;
      &lt;td&gt;-1.0&lt;/td&gt;
      &lt;td&gt;-1.0&lt;/td&gt;
      &lt;td&gt;-1.0&lt;/td&gt;
      &lt;td&gt;-1.0&lt;/td&gt;
      &lt;td&gt;-1.0&lt;/td&gt;
      &lt;td&gt;NaN&lt;/td&gt;
      &lt;td&gt;2.0&lt;/td&gt;
      &lt;td&gt;NaN&lt;/td&gt;
      &lt;td&gt;1.0&lt;/td&gt;
    &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;5 rows × 46 columns&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;

&lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;
&lt;div class=&quot;cell border-box-sizing text_cell rendered&quot;&gt;&lt;div class=&quot;prompt input_prompt&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;inner_cell&quot;&gt;
&lt;div class=&quot;text_cell_render border-box-sizing rendered_html&quot;&gt;
&lt;p&gt;We see that a few &quot;extra&quot; columns have been processed and that they don't contain any relevant information ( or any information at all for that matter ).
Let's clean up the dataset.&lt;/p&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;cell border-box-sizing code_cell rendered&quot;&gt;
&lt;div class=&quot;input&quot;&gt;
&lt;div class=&quot;prompt input_prompt&quot;&gt;In&amp;nbsp;[3]:&lt;/div&gt;
&lt;div class=&quot;inner_cell&quot;&gt;
    &lt;div class=&quot;input_area&quot;&gt;
&lt;div class=&quot; highlight hl-ipython3&quot;&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;dataset&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;dataset&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;dropna&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;axis&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;how&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;all&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;c1&quot;&gt;# Got rid of empty columns&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;dataset&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;dataset&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;dropna&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;axis&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;how&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;any&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;c1&quot;&gt;# Three rows were REALLY missing information&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;dataset&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;dataset&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;drop&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;([&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;b&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;e&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;DR&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;Tendency&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;],&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;axis&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;c1&quot;&gt;# No information from such columns...&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;
&lt;div class=&quot;cell border-box-sizing code_cell rendered&quot;&gt;
&lt;div class=&quot;input&quot;&gt;
&lt;div class=&quot;prompt input_prompt&quot;&gt;In&amp;nbsp;[4]:&lt;/div&gt;
&lt;div class=&quot;inner_cell&quot;&gt;
    &lt;div class=&quot;input_area&quot;&gt;
&lt;div class=&quot; highlight hl-ipython3&quot;&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;dataset&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;head&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;div class=&quot;output_wrapper&quot;&gt;
&lt;div class=&quot;output&quot;&gt;


&lt;div class=&quot;output_area&quot;&gt;

&lt;div class=&quot;prompt output_prompt&quot;&gt;Out[4]:&lt;/div&gt;



&lt;div class=&quot;output_html rendered_html output_subarea output_execute_result&quot;&gt;
&lt;div&gt;
&lt;style scoped&gt;
    .dataframe tbody tr th:only-of-type {
        vertical-align: middle;
    }

    .dataframe tbody tr th {
        vertical-align: top;
    }

    .dataframe thead th {
        text-align: right;
    }
&lt;/style&gt;
&lt;table border=&quot;1&quot; class=&quot;dataframe&quot;&gt;
  &lt;thead&gt;
    &lt;tr style=&quot;text-align: right;&quot;&gt;
      &lt;th&gt;&lt;/th&gt;
      &lt;th&gt;AC&lt;/th&gt;
      &lt;th&gt;FM&lt;/th&gt;
      &lt;th&gt;UC&lt;/th&gt;
      &lt;th&gt;DL&lt;/th&gt;
      &lt;th&gt;DS&lt;/th&gt;
      &lt;th&gt;DP&lt;/th&gt;
      &lt;th&gt;LB&lt;/th&gt;
      &lt;th&gt;AC.1&lt;/th&gt;
      &lt;th&gt;FM.1&lt;/th&gt;
      &lt;th&gt;UC.1&lt;/th&gt;
      &lt;th&gt;...&lt;/th&gt;
      &lt;th&gt;C&lt;/th&gt;
      &lt;th&gt;D&lt;/th&gt;
      &lt;th&gt;E&lt;/th&gt;
      &lt;th&gt;AD&lt;/th&gt;
      &lt;th&gt;DE&lt;/th&gt;
      &lt;th&gt;LD&lt;/th&gt;
      &lt;th&gt;FS&lt;/th&gt;
      &lt;th&gt;SUSP&lt;/th&gt;
      &lt;th&gt;CLASS&lt;/th&gt;
      &lt;th&gt;NSP&lt;/th&gt;
    &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
    &lt;tr&gt;
      &lt;th&gt;0&lt;/th&gt;
      &lt;td&gt;0.0&lt;/td&gt;
      &lt;td&gt;0.0&lt;/td&gt;
      &lt;td&gt;0.0&lt;/td&gt;
      &lt;td&gt;0.0&lt;/td&gt;
      &lt;td&gt;0.0&lt;/td&gt;
      &lt;td&gt;0.0&lt;/td&gt;
      &lt;td&gt;120.0&lt;/td&gt;
      &lt;td&gt;0.000000&lt;/td&gt;
      &lt;td&gt;0.0&lt;/td&gt;
      &lt;td&gt;0.000000&lt;/td&gt;
      &lt;td&gt;...&lt;/td&gt;
      &lt;td&gt;-1.0&lt;/td&gt;
      &lt;td&gt;-1.0&lt;/td&gt;
      &lt;td&gt;-1.0&lt;/td&gt;
      &lt;td&gt;-1.0&lt;/td&gt;
      &lt;td&gt;-1.0&lt;/td&gt;
      &lt;td&gt;-1.0&lt;/td&gt;
      &lt;td&gt;1.0&lt;/td&gt;
      &lt;td&gt;-1.0&lt;/td&gt;
      &lt;td&gt;9.0&lt;/td&gt;
      &lt;td&gt;2.0&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;th&gt;1&lt;/th&gt;
      &lt;td&gt;4.0&lt;/td&gt;
      &lt;td&gt;0.0&lt;/td&gt;
      &lt;td&gt;4.0&lt;/td&gt;
      &lt;td&gt;2.0&lt;/td&gt;
      &lt;td&gt;0.0&lt;/td&gt;
      &lt;td&gt;0.0&lt;/td&gt;
      &lt;td&gt;132.0&lt;/td&gt;
      &lt;td&gt;0.006380&lt;/td&gt;
      &lt;td&gt;0.0&lt;/td&gt;
      &lt;td&gt;0.006380&lt;/td&gt;
      &lt;td&gt;...&lt;/td&gt;
      &lt;td&gt;-1.0&lt;/td&gt;
      &lt;td&gt;-1.0&lt;/td&gt;
      &lt;td&gt;-1.0&lt;/td&gt;
      &lt;td&gt;1.0&lt;/td&gt;
      &lt;td&gt;-1.0&lt;/td&gt;
      &lt;td&gt;-1.0&lt;/td&gt;
      &lt;td&gt;-1.0&lt;/td&gt;
      &lt;td&gt;-1.0&lt;/td&gt;
      &lt;td&gt;6.0&lt;/td&gt;
      &lt;td&gt;1.0&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;th&gt;2&lt;/th&gt;
      &lt;td&gt;2.0&lt;/td&gt;
      &lt;td&gt;0.0&lt;/td&gt;
      &lt;td&gt;5.0&lt;/td&gt;
      &lt;td&gt;2.0&lt;/td&gt;
      &lt;td&gt;0.0&lt;/td&gt;
      &lt;td&gt;0.0&lt;/td&gt;
      &lt;td&gt;133.0&lt;/td&gt;
      &lt;td&gt;0.003322&lt;/td&gt;
      &lt;td&gt;0.0&lt;/td&gt;
      &lt;td&gt;0.008306&lt;/td&gt;
      &lt;td&gt;...&lt;/td&gt;
      &lt;td&gt;-1.0&lt;/td&gt;
      &lt;td&gt;-1.0&lt;/td&gt;
      &lt;td&gt;-1.0&lt;/td&gt;
      &lt;td&gt;1.0&lt;/td&gt;
      &lt;td&gt;-1.0&lt;/td&gt;
      &lt;td&gt;-1.0&lt;/td&gt;
      &lt;td&gt;-1.0&lt;/td&gt;
      &lt;td&gt;-1.0&lt;/td&gt;
      &lt;td&gt;6.0&lt;/td&gt;
      &lt;td&gt;1.0&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;th&gt;3&lt;/th&gt;
      &lt;td&gt;2.0&lt;/td&gt;
      &lt;td&gt;0.0&lt;/td&gt;
      &lt;td&gt;6.0&lt;/td&gt;
      &lt;td&gt;2.0&lt;/td&gt;
      &lt;td&gt;0.0&lt;/td&gt;
      &lt;td&gt;0.0&lt;/td&gt;
      &lt;td&gt;134.0&lt;/td&gt;
      &lt;td&gt;0.002561&lt;/td&gt;
      &lt;td&gt;0.0&lt;/td&gt;
      &lt;td&gt;0.007682&lt;/td&gt;
      &lt;td&gt;...&lt;/td&gt;
      &lt;td&gt;-1.0&lt;/td&gt;
      &lt;td&gt;-1.0&lt;/td&gt;
      &lt;td&gt;-1.0&lt;/td&gt;
      &lt;td&gt;1.0&lt;/td&gt;
      &lt;td&gt;-1.0&lt;/td&gt;
      &lt;td&gt;-1.0&lt;/td&gt;
      &lt;td&gt;-1.0&lt;/td&gt;
      &lt;td&gt;-1.0&lt;/td&gt;
      &lt;td&gt;6.0&lt;/td&gt;
      &lt;td&gt;1.0&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;th&gt;4&lt;/th&gt;
      &lt;td&gt;4.0&lt;/td&gt;
      &lt;td&gt;0.0&lt;/td&gt;
      &lt;td&gt;5.0&lt;/td&gt;
      &lt;td&gt;0.0&lt;/td&gt;
      &lt;td&gt;0.0&lt;/td&gt;
      &lt;td&gt;0.0&lt;/td&gt;
      &lt;td&gt;132.0&lt;/td&gt;
      &lt;td&gt;0.006515&lt;/td&gt;
      &lt;td&gt;0.0&lt;/td&gt;
      &lt;td&gt;0.008143&lt;/td&gt;
      &lt;td&gt;...&lt;/td&gt;
      &lt;td&gt;-1.0&lt;/td&gt;
      &lt;td&gt;-1.0&lt;/td&gt;
      &lt;td&gt;-1.0&lt;/td&gt;
      &lt;td&gt;-1.0&lt;/td&gt;
      &lt;td&gt;-1.0&lt;/td&gt;
      &lt;td&gt;-1.0&lt;/td&gt;
      &lt;td&gt;-1.0&lt;/td&gt;
      &lt;td&gt;-1.0&lt;/td&gt;
      &lt;td&gt;2.0&lt;/td&gt;
      &lt;td&gt;1.0&lt;/td&gt;
    &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;5 rows × 38 columns&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;

&lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;
&lt;div class=&quot;cell border-box-sizing text_cell rendered&quot;&gt;&lt;div class=&quot;prompt input_prompt&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;inner_cell&quot;&gt;
&lt;div class=&quot;text_cell_render border-box-sizing rendered_html&quot;&gt;
&lt;p&gt;Much better.&lt;/p&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;cell border-box-sizing text_cell rendered&quot;&gt;&lt;div class=&quot;prompt input_prompt&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;inner_cell&quot;&gt;
&lt;div class=&quot;text_cell_render border-box-sizing rendered_html&quot;&gt;
&lt;h2 id=&quot;Data-exploration&quot;&gt;&lt;strong&gt;Data exploration&lt;/strong&gt;&lt;a class=&quot;anchor-link&quot; href=&quot;#Data-exploration&quot;&gt;&amp;#182;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;In this part we are going to explore the dataset in a way that would make it more understable. For this purpose we are going to use correlations and graphic representations of the dataset. Since our dataset is composed of 38 columns, we will either choose which one to represent or use different dimensionality reduction techniques to present it on a 3D or 2D plot.&lt;/p&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;cell border-box-sizing text_cell rendered&quot;&gt;&lt;div class=&quot;prompt input_prompt&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;inner_cell&quot;&gt;
&lt;div class=&quot;text_cell_render border-box-sizing rendered_html&quot;&gt;
&lt;h2 id=&quot;Distrubution-of-the-different-classes&quot;&gt;Distrubution of the different classes&lt;a class=&quot;anchor-link&quot; href=&quot;#Distrubution-of-the-different-classes&quot;&gt;&amp;#182;&lt;/a&gt;&lt;/h2&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;cell border-box-sizing code_cell rendered&quot;&gt;
&lt;div class=&quot;input&quot;&gt;
&lt;div class=&quot;prompt input_prompt&quot;&gt;In&amp;nbsp;[5]:&lt;/div&gt;
&lt;div class=&quot;inner_cell&quot;&gt;
    &lt;div class=&quot;input_area&quot;&gt;
&lt;div class=&quot; highlight hl-ipython3&quot;&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class=&quot;kn&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;nn&quot;&gt;matplotlib.cm&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;as&lt;/span&gt; &lt;span class=&quot;nn&quot;&gt;cm&lt;/span&gt; &lt;span class=&quot;c1&quot;&gt;# To make pretty graphs&lt;/span&gt;
&lt;span class=&quot;kn&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;nn&quot;&gt;seaborn&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;as&lt;/span&gt; &lt;span class=&quot;nn&quot;&gt;sns&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;color&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;sns&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;color_palette&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt;

&lt;span class=&quot;n&quot;&gt;cnt_srs&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;dataset&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;CLASS&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;value_counts&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;cnt_srs&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;cnt_srs&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;head&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;10&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;plt&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;figure&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;figsize&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;10&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;6&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;))&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;sns&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;barplot&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;cnt_srs&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;index&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;cnt_srs&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;values&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;alpha&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;mf&quot;&gt;0.8&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;color&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;color&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;3&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;])&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;N&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;10&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;ind&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;np&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;arange&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;N&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt; 
&lt;span class=&quot;n&quot;&gt;plt&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;xticks&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;ind&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;A&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;s1&quot;&gt;&amp;#39;B&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;s1&quot;&gt;&amp;#39;C&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;s1&quot;&gt;&amp;#39;D&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;s1&quot;&gt;&amp;#39;E&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;s1&quot;&gt;&amp;#39;AD&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;s1&quot;&gt;&amp;#39;DE&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;s1&quot;&gt;&amp;#39;LD&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;s1&quot;&gt;&amp;#39;FS&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;s1&quot;&gt;&amp;#39;SUSP&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;))&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;plt&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;ylabel&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;Number of Cases&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;fontsize&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;12&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;plt&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;title&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;Distribution of Classes&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;fontsize&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;18&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;plt&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;show&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;div class=&quot;output_wrapper&quot;&gt;
&lt;div class=&quot;output&quot;&gt;


&lt;div class=&quot;output_area&quot;&gt;

&lt;div class=&quot;prompt&quot;&gt;&lt;/div&gt;




&lt;div class=&quot;output_png output_subarea &quot;&gt;
&lt;img src=&quot;data:image/png;base64,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
RK5CYII=
&quot;
&gt;
&lt;/div&gt;

&lt;/div&gt;

&lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;
&lt;div class=&quot;cell border-box-sizing text_cell rendered&quot;&gt;&lt;div class=&quot;prompt input_prompt&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;inner_cell&quot;&gt;
&lt;div class=&quot;text_cell_render border-box-sizing rendered_html&quot;&gt;
&lt;p&gt;A wide majority of our cases is represented by the fetus classes B, A, AD, and DE. We want to know what they are made of to fully understand the distribution of the problem.&lt;/p&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;cell border-box-sizing text_cell rendered&quot;&gt;&lt;div class=&quot;prompt input_prompt&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;inner_cell&quot;&gt;
&lt;div class=&quot;text_cell_render border-box-sizing rendered_html&quot;&gt;
&lt;p&gt;&lt;strong&gt;Distribution of the patholgies in the general problem&lt;/strong&gt;&lt;/p&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;cell border-box-sizing code_cell rendered&quot;&gt;
&lt;div class=&quot;input&quot;&gt;
&lt;div class=&quot;prompt input_prompt&quot;&gt;In&amp;nbsp;[6]:&lt;/div&gt;
&lt;div class=&quot;inner_cell&quot;&gt;
    &lt;div class=&quot;input_area&quot;&gt;
&lt;div class=&quot; highlight hl-ipython3&quot;&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class=&quot;kn&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;nn&quot;&gt;matplotlib.cm&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;as&lt;/span&gt; &lt;span class=&quot;nn&quot;&gt;cm&lt;/span&gt; &lt;span class=&quot;c1&quot;&gt;# To make pretty graphs&lt;/span&gt;
&lt;span class=&quot;kn&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;nn&quot;&gt;seaborn&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;as&lt;/span&gt; &lt;span class=&quot;nn&quot;&gt;sns&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;color&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;sns&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;color_palette&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt;

&lt;span class=&quot;n&quot;&gt;cnt_srs&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;dataset&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;NSP&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;value_counts&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;cnt_srs&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;cnt_srs&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;head&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;10&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;plt&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;figure&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;figsize&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;10&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;6&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;))&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;sns&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;barplot&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;cnt_srs&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;index&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;cnt_srs&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;values&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;alpha&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;mf&quot;&gt;0.8&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;color&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;color&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;3&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;])&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;N&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;3&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;ind&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;np&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;arange&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;N&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt; 
&lt;span class=&quot;n&quot;&gt;plt&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;xticks&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;ind&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;Normal&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;Suspect&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;s1&quot;&gt;&amp;#39;Pathologic&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;))&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;plt&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;ylabel&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;Number of Cases&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;fontsize&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;12&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;plt&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;title&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;Distribution of NSP&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;fontsize&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;18&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;plt&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;show&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;div class=&quot;output_wrapper&quot;&gt;
&lt;div class=&quot;output&quot;&gt;


&lt;div class=&quot;output_area&quot;&gt;

&lt;div class=&quot;prompt&quot;&gt;&lt;/div&gt;




&lt;div class=&quot;output_png output_subarea &quot;&gt;
&lt;img src=&quot;data:image/png;base64,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
TkSuQmCC
&quot;
&gt;
&lt;/div&gt;

&lt;/div&gt;

&lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;
&lt;div class=&quot;cell border-box-sizing text_cell rendered&quot;&gt;&lt;div class=&quot;prompt input_prompt&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;inner_cell&quot;&gt;
&lt;div class=&quot;text_cell_render border-box-sizing rendered_html&quot;&gt;
&lt;p&gt;A large majority of our dataset shows a normal behavior while suspect and pathologic behavior are more rare.&lt;/p&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;cell border-box-sizing text_cell rendered&quot;&gt;&lt;div class=&quot;prompt input_prompt&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;inner_cell&quot;&gt;
&lt;div class=&quot;text_cell_render border-box-sizing rendered_html&quot;&gt;
&lt;h2 id=&quot;Distribution-of-the-NSP-in-the-fetus-classes&quot;&gt;Distribution of the NSP in the fetus classes&lt;a class=&quot;anchor-link&quot; href=&quot;#Distribution-of-the-NSP-in-the-fetus-classes&quot;&gt;&amp;#182;&lt;/a&gt;&lt;/h2&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;cell border-box-sizing code_cell rendered&quot;&gt;
&lt;div class=&quot;input&quot;&gt;
&lt;div class=&quot;prompt input_prompt&quot;&gt;In&amp;nbsp;[7]:&lt;/div&gt;
&lt;div class=&quot;inner_cell&quot;&gt;
    &lt;div class=&quot;input_area&quot;&gt;
&lt;div class=&quot; highlight hl-ipython3&quot;&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;dataset&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[[&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;CLASS&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;NSP&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]]&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;N&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;10&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;zeroesddf&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;pd&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;DataFrame&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;data&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;np&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;zeros&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;10&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,),&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;index&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;3&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;4&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;5&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;6&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;7&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;8&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;9&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;10&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;])&lt;/span&gt;

&lt;span class=&quot;n&quot;&gt;ind&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;np&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;arange&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;N&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;    &lt;span class=&quot;c1&quot;&gt;# the x locations for the groups&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;width&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;mf&quot;&gt;0.50&lt;/span&gt;    &lt;span class=&quot;c1&quot;&gt;# the width of the bars: can also be len(x) sequence&lt;/span&gt;

&lt;span class=&quot;n&quot;&gt;plt&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;figure&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;figsize&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;12&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;6&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;))&lt;/span&gt;

&lt;span class=&quot;k&quot;&gt;for&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;nsp_i&lt;/span&gt; &lt;span class=&quot;ow&quot;&gt;in&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;3&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]:&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;norm&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;x&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;loc&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;NSP&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;nsp_i&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)]&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;drop&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;NSP&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;axis&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;norm&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;pd&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;value_counts&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;norm&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;CLASS&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;values&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;sort&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;kc&quot;&gt;False&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;))&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;sort_index&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;norm&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;pd&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;DataFrame&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;data&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;norm&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;index&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;norm&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;index&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;norm&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;zeroesddf&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;add&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;norm&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;axis&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;index&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;fill_value&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt; 
    &lt;span class=&quot;n&quot;&gt;norm&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;norm&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;values&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;reshape&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
    &lt;span class=&quot;k&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;nsp_i&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;==&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;
        &lt;span class=&quot;n&quot;&gt;p1&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;plt&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;bar&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;ind&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;norm&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;width&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
    &lt;span class=&quot;k&quot;&gt;elif&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;nsp_i&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;==&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;2&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;
        &lt;span class=&quot;n&quot;&gt;p2&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;plt&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;bar&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;ind&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;norm&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;width&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
    &lt;span class=&quot;k&quot;&gt;elif&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;nsp_i&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;==&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;3&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;
        &lt;span class=&quot;n&quot;&gt;p3&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;plt&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;bar&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;ind&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;norm&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;width&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
    
&lt;span class=&quot;n&quot;&gt;plt&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;ylabel&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;Number of Cases&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;plt&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;title&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;Distribution of NSP accross the classes&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;plt&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;xticks&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;ind&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;A&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;s1&quot;&gt;&amp;#39;B&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;s1&quot;&gt;&amp;#39;C&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;s1&quot;&gt;&amp;#39;D&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;s1&quot;&gt;&amp;#39;E&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;s1&quot;&gt;&amp;#39;AD&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;s1&quot;&gt;&amp;#39;DE&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;s1&quot;&gt;&amp;#39;LD&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;s1&quot;&gt;&amp;#39;FS&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;s1&quot;&gt;&amp;#39;SUSP&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;))&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;plt&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;legend&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;((&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;p1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;],&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;p2&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;],&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;p3&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]),&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;Normal&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;s1&quot;&gt;&amp;#39;Suspect&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;s1&quot;&gt;&amp;#39;Pathologic&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;))&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;plt&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;show&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;div class=&quot;output_wrapper&quot;&gt;
&lt;div class=&quot;output&quot;&gt;


&lt;div class=&quot;output_area&quot;&gt;

&lt;div class=&quot;prompt&quot;&gt;&lt;/div&gt;




&lt;div class=&quot;output_png output_subarea &quot;&gt;
&lt;img src=&quot;data:image/png;base64,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
jTXWWGTZaqutBsAqq6xCr169FrZdZZVVWLBgAfPnz+ekk05i/PjxTJkyhRNOOGG5vnmOY661VMo+
caKrqjnRQpIk1d56663HJz7xCS655BKOO+44AHbddVeuvPJKjj76aK644gp23333pV5/S5Du168f
c+fOZfz48Xz84x8vpfZasOdakiRJy+SMM85g5syZC6cvuOACLr30UoYMGcLll1/O+eefv9Tr7tu3
LyeccAJNTU0ceuih7LTTTmWUXDNRuXdLY2pubs6JEyfWu4yVkj3XkiTVz6OPPso222xT7zJWWO0d
34iYlJnt3RxxEfZcS5IkSSUxXEuSJEklMVxLkiRJJTFcS5IkSSUxXEuSJEklMVxLkiRJJTFcS5Ik
qcu+/e1vs9122zFkyBCGDRvG3/72t7rUMXnyZCZMmFCXbbfHOzRKkiQ1ujPXKXl9sztdfNddd3Hd
dddx3333sdpqqzFz5kzeeuutcmuo0uTJk5k4cSIHHHBAXbbflj3XkiRJ6pIXX3yRfv36sdpqqwGV
W5NvtNFGDBw4cOGdGidOnMhee+0FwO23386wYcMYNmwY22+/PXPmzOG2227jAx/4AIcddhjbbrst
n/nMZ3j33XcBuPHGG9lll13YYYcdGDFiBHPnzgXg3nvvZdddd2Xo0KHsvPPOzJ49m6997WuMGzeO
YcOGMW7cuO4/GG0YriVJktQl++67L88//zzvfe97Oemkk7j99ts7bX/22Wdz4YUXMnnyZO644w76
9OkDwD333MM555zDlClTeOqpp7jqqquYOXMmZ511FjfddBP33Xcfzc3NnHvuubz11lscfvjhnH/+
+TzwwAPcdNNNrLHGGnzzm9/k8MMPZ/LkyRx++OHdsfudcliIJEmSumTNNddk0qRJ3HHHHdx6660c
fvjhjBkzpsP2u+22G6effjpHHnkkH/vYxxgwYAAAO++8M5tvvjkARxxxBHfeeSe9e/fmkUceYbfd
dgPgrbfeYpddduHxxx9nww03ZKeddgJg7bXXrvFeLh3DtSRJkrqsR48e7LXXXuy11140NTUxduxY
evbsuXBox/z58xe2HT16NAceeCATJkxg+PDh3HTTTQBExCLrjAgykw9/+MP86le/WmTZgw8+uFj7
5ZHDQiRJktQljz/+OE8++eTC6cmTJ7PZZpsxcOBAJk2aBMBvf/vbhcufeuopmpqa+OIXv0hzczOP
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
JUmSpJIYriVJkqSSGK4lSZKkkhiuJUmSpJIYriVJkqSSGK4lSZKkkhiuJUmSpJIYriVJkqSSGK4l
SZKkkhiuJUmSpJIYriVJkqSSGK4lSZKkkhiuJUmSpJIYriVJkqSSGK4lSZKkkhiuJUmSpJIYriVJ
kqSSGK4lSZKkkhiuJUmSpJIYriVJkqSSGK4lSZKkkhiuJUmSpJIYriVJkqSSGK4lSZKkkhiuJUmS
pJIYriVJkqSSGK4lSZKkkhiuJUmSpJIYriVJkqSSGK4lSZKkkhiuJUmSpJIYriVJkqSSGK4lSZKk
khiuJUmSpJIYriVJkqSSGK4lSZKkkhiuJUmSpJIYriVJkqSSGK4lSZKkkhiuJUmSpJIYriVJkqSS
GK4lSZKkktQ8XEdEj4i4PyKuK6YHRcTfIuLJiBgXEasW81crpqcWywfWujZJkiSpTN3Rc30a8Gir
6e8B52XmVsArwPHF/OOBVzJzS+C8op0kSZLUMGoariNiAHAg8NNiOoAPAuOLJmOBQ4vHhxTTFMv3
KdpLkiRJDaHWPdc/AP4beLeYXh94NTMXFNPTgY2LxxsDzwMUy2cX7RcRESdGxMSImDhjxoxa1i5J
kiR1Sc3CdUQcBLycmZNaz26naVax7F8zMi/OzObMbO7fv38JlUqSJEnl6FnDde8GHBwRBwC9gbWp
9GT3jYieRe/0AOCFov10YBNgekT0BNYB/lnD+iRJkqRS1aznOjO/lJkDMnMg8Englsw8ErgV+HjR
bCRwdfH4mmKaYvktmblYz7UkSZK0vKrHda6/CJweEVOpjKm+pJh/CbB+Mf90YHQdapMkSZKWWi2H
hSyUmbcBtxWPnwZ2bqfNfGBEd9QjSZIk1YJ3aJQkSZJKYriWJEmSSmK4liRJkkpiuJYkSZJK0i0n
NK6IBo6+vq7bnzbmwLpuX5IkSYtbYs91RHw/ItaOiF4RcXNEzIyIo7qjOEmSJKmRVDMsZN/MfA04
iMpdFN8LfKGmVUmSJEkNqJpw3av4fgDwq8z0luSSJElSO6oZc31tRDwGzANOioj+wPzaliVJkiQ1
niX2XGfmaGAXoDkz3wbeAA6pdWGSJElSo6nmhMbVgZOBi4pZGwHNtSxKkiRJakTVjLm+FHgL2LWY
ng6cVbOKJEmSpAZVTbjeIjO/D7wNkJnzgKhpVZIkSVIDqiZcvxURfYAEiIgtgDdrWpUkSZLUgKq5
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
xHrA6cCRwFhgh8x8pTsKkyRJkhpNZ2Ou/wf4GHAx0JSZc7utKkmSllMDR19f1+1PG3NgXbcvqXOd
3UTmDGAj4CvACxHxWvE1JyJe657yJEmSpMbR2ZjrLt+9UZIkSVqZGaAlSZKkkhiuJUmSpJIYriVJ
kqSSGK4lSZKkkhiuJUmSpJIYriVJkqSSGK4lSZKkkhiuJUmSpJLULFxHxCYRcWtEPBoRD0fEacX8
9SLiTxHxZPF93WJ+RMQFETE1Ih6MiB1qVZskSZJUC7XsuV4AnJGZ2wDDgZMjYltgNHBzZm4F3FxM
A+wPbFV8nQhcVMPaJEmSpNLVLFxn5ouZeV/xeA7wKLAxcAgwtmg2Fji0eHwI8POsuBvoGxEb1qo+
SZIkqWzdMuY6IgYC2wN/AzbIzBehEsCB9xTNNgaeb/W06cU8SZIkqSHUPFxHxJrAb4HPZeZrnTVt
Z162s74TI2JiREycMWNGWWVKkiRJy6ym4ToielEJ1ldk5lXF7JdahnsU318u5k8HNmn19AHAC23X
mZkXZ2ZzZjb379+/dsVLkiRJXdSzViuOiAAuAR7NzHNbLboGGAmMKb5f3Wr+KRFxJfB+YHbL8BFJ
kiQtB85cp87bn13f7VehZuEa2A04GpgSEZOLeV+mEqp/HRHHA88BI4plE4ADgKnAG8CxNaxNkiRJ
Kl3NwnVm3kn746gB9mmnfQIn16oeSZIkqda8Q6MkSZJUEsO1JEmSVBLDtSRJklQSw7UkSZJUEsO1
JEmSVBLDtSRJklQSw7UkSZJUEsO1JEmSVBLDtSRJklQSw7UkSZJUEsO1JEmSVBLDtSRJklQSw7Uk
SZJUEsO1JEmSVBLDtSRJklQSw7UkSZJUEsO1JEmSVBLDtSRJklQSw7UkSZJUEsO1JEmSVBLDtSRJ
klQSw7UkSZJUEsO1JEmSVBLDtSRJklQSw7UkSZJUEsO1JEmSVBLDtSRJklQSw7UkSZJUEsO1JEmS
VBLDtSRJklQSw7UkSZJUEsO1JEmSVBLDtSRJklQSw7UkSZJUEsO1JEmSVBLDtSRJklQSw7UkSZJU
EsO1JEmSVBLDtSRJklQSw7UkSZJUEsO1JEmSVBLDtSRJklQSw7UkSZJUEsO1JEmSVJKe9S5AkiQ1
jqaxTXXd/pSRU+q6fWlJatZzHRE/i4iXI+KhVvPWi4g/RcSTxfd1i/kRERdExNSIeDAidqhVXZIk
SVKt1HJYyGXAfm3mjQZuzsytgJuLaYD9ga2KrxOBi2pYlyRJklQTNQvXmfln4J9tZh8CjC0ejwUO
bTX/51lxN9A3IjasVW2SJElSLXT3CY0bZOaLAMX39xTzNwaeb9VuejFvMRFxYkRMjIiJM2bMqGmx
kiRJUlcsL1cLiXbmZXsNM/PizGzOzOb+/fvXuCxJkiSpet0drl9qGe5RfH+5mD8d2KRVuwHAC91c
myRJkrRMujtcXwOMLB6PBK5uNf+Y4qohw4HZLcNHJEmSpEZRs+tcR8SvgL2AfhExHfg6MAb4dUQc
DzwHjCiaTwAOAKYCbwDH1qouSZIkqVZqFq4z84gOFu3TTtsETq5VLZIkSVJ3WF5OaJQkSZIanuFa
kiRJKonhWpIkSSqJ4VqSJEkqSc1OaJS04ho4+vq6bn/amAPrun1Jkjpiz7UkSZJUEsO1JEmSVBLD
tSRJklQSw7UkSZJUEsO1JEmSVBLDtSRJklQSL8UnSV115jp13v7s+m5fWok1jW2q6/anjJxS1+1r
yey5liRJkkpiuJYkSZJKYriWJEmSSmK4liRJkkpiuJYkSZJKYriWJEmSSmK4liRJkkrida6lpTBw
9PV13f60MQfWdfuSJKl99lxLkiRJJTFcS5IkSSUxXEuSJEklMVxLkiRJJTFcS5IkSSUxXEuSJEkl
MVxLkiRJJTFcS5IkSSUxXEuSJEklMVxLkiRJJTFcS5IkSSUxXEuSJEklMVxLkiRJJTFcS5IkSSXp
We8CJElqJNN6f6rOFcyu8/Yldcaea0mSJKkkhmtJkiSpJIZrSZIkqSSGa0mSJKkkhmtJkiSpJIZr
SZIkqSSGa0mSJKkkhmtJkiSpJIZrSZIkqSTLVbiOiP0i4vGImBoRo+tdjyRJktQVy024jogewIXA
/sC2wBERsW19q5IkSZKqt9yEa2BnYGpmPp2ZbwFXAofUuSZJkiSpaj3rXUArGwPPt5qeDry/TrUs
0bTen6pzBbPrvH1JKyt//0krr6ZBm9Z1+1PquvXqRGbWuwYAImIE8JHM/I9i+mhg58z8bJt2JwIn
FpPvAx7v1kLL0w+YWe8i6sj9d//d/5WX++/+u/8rr0be/80ys/+SGi1PPdfTgU1aTQ8AXmjbKDMv
Bi7urqJqJSImZmZzveuoF/ff/Xf/3f9611Ev7r/77/6v2Pu/PI25vhfYKiIGRcSqwCeBa+pckyRJ
klS15abnOjMXRMQpwB+BHsDPMvPhOpclSZIkVW25CdcAmTkBmFDvOrpJww9tWUbu/8rN/V+5uf8r
N/d/5bbC7/9yc0KjJEmS1OiWpzHXkiRJUkMzXHeziDgsIjIitq53Ld0tIt6JiMkR8UBE3BcRu9a7
pu4WEf8WEVdGxFMR8UhETIiI99a7ru7Q6vV/uHgPnB4RK9XvoFbHoOVrdL1rqrW2v/MiYmBEzIuI
+yPi0Yi4JyJG1rvOWujsPR8Re0XE7Dbvhw/Vu+YyRcTcduadGRF/L/b3yYi4akW+G3M7P/MDI2L1
iLgiIqZExEMRcWdErFnvWpdFRPy/4n3+YLGf74+IaRHRr1WbvSLiuuLxBhFxXfFz8UhETCjmt/x+
mFzM/3Ej/p1YrsZcrySOAO6kcjWUM+tbSrebl5nDACLiI8B3gT3rW1L3iYgAfgeMzcxPFvOGARsA
T9Sztm7S+vV/D/BLYB3g63WtqnstPAYrkfZ+5z2VmdsDRMTmwFURsUpmXlqfEmtmSe/5OzLzoHoV
V0fnZebZABFxOHBLRDRl5ow611ULi/3MR8SXgJcys6mYfh/wdj2KK0NE7AIcBOyQmW8WgXrVJTzt
m8CfMvP8Yh1DWi17KjOHRURP4BbgUOCqGpReMw3330AjK/4z3Q04nsofmpXZ2sAr9S6im+0NvJ2Z
P26ZkZmTM/OOOtZUF5n5MpWbQZ1S/NOhFVA1v/My82ngdODUbiyt2/meb19mjgNuBOp928/utCHw
95aJzHw8M9+sYz3LakNgZss+ZObMzFzsPiXtPGd6y0RmPti2QWYuAP4KbFlird3CcN29DgX+kJlP
AP+MiB3qXVA361N81PMY8FPgW/UuqJsNBibVu4jlRRGqVgHeU+9aulHLz0DL1+H1LqjGqv2ddx+w
wg+Va+c9v0eb98MWdSyvnlbk17/1z/zvink/A74YEXdFxFkRsVU9CyzBjcAmEfFERPwoIqr5RPpC
4JKIuLUYUrJR2wYRsTqwD41xx/NFOCykex0B/KB4fGUxfV/9yul2rT8i3QX4eUQMTi9ZszJb2Xrw
VrZhIe39zruwnXYr0/ug9b6urMNC2lqRX//FfuYzc3IxHGpf4EPAvRGxS2Y+WpcKl1Fmzo2IHYE9
qHxCO644n6S9v+1ZPOePxTHYD9gfuD8iBhdttoiIyUXbqzPzhprvRMkM190kItYHPggMjoikcqOc
jIj/XhnDZWbeVYzL6g+8XO96usnDwMfrXcTyovjF+g4rz+u/Uunodx7wo3aabw80ZLDoijbv+W3q
XM7yZHtgYr2L6E6ZOZfKOOKrIuJd4AAa+GcgM98BbgNui4gpwEhgFrAuMLNotl6rx2TmP6mch/DL
4kTHD1D5dPepRu+EcFhI9/k48PPM3CwzB2bmJsAzwO51rqsuiisH9KDyw7eyuAVYLSJOaJkRETtV
+RHaCiUi+gM/Bv53ZfznciXR0e+8Aa0bRcRA4Gzgh91eYTfyPd++iPh3Kj24v6p3Ld0lInaLiHWL
x6sC2wLP1reqpRcR72sztGUYlf25DTi6aNMDOAq4tZj+YDHsg4hYC9gCeK4by64pe667zxHAmDbz
fkvlJI6V5YS2PsVHPVD5GHBk8d/uSiEzMyIOA35QfGQ2H5gGfK6uhXWflte/F7AAuBw4t74ldbvW
PwNQGY+8ol6Or6PfeV+m8rHv/UBvYA7wwxXwSiGw5Pf8Hm3eD2dl5vjuLLDGVo+I6a2mW/b98xFx
FLAG8BDwwRX0SiEd2QK4qDixdRXgeio/G41qTeCHEdGXyvt8KpWTd9+msp8PUPmb/wfgF8VzdgT+
NyIWUDkGP83Me4t/thued2iUJEmSSuKwEEmSJKkkhmtJkiSpJIZrSZIkqSSGa0mSJKkkhmtJkiSp
JIZrSZIkqSSGa0mSJKkkhmtJkiSpJP8fpoHnecMDrSoAAAAASUVORK5CYII=
&quot;
&gt;
&lt;/div&gt;

&lt;/div&gt;

&lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;
&lt;div class=&quot;cell border-box-sizing text_cell rendered&quot;&gt;&lt;div class=&quot;prompt input_prompt&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;inner_cell&quot;&gt;
&lt;div class=&quot;text_cell_render border-box-sizing rendered_html&quot;&gt;
&lt;p&gt;For some of the classes the interpretation was obvious from start. As such the &quot;SUSP&quot; class contains a wide majority of cases classified as suspect, and LD and FS are mostly composed of cases classified as pathologic.&lt;/p&gt;
&lt;p&gt;Two classes present interesting and different results. The &quot;E&quot; class, mostly composed of suspect cases but with a different behaviour, and the &quot;DE&quot; class that amongst a wide variety of cases classified as normal also contains a non negligeable amount of suspect cases.&lt;/p&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;cell border-box-sizing text_cell rendered&quot;&gt;&lt;div class=&quot;prompt input_prompt&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;inner_cell&quot;&gt;
&lt;div class=&quot;text_cell_render border-box-sizing rendered_html&quot;&gt;
&lt;h2 id=&quot;Correlation-map&quot;&gt;Correlation map&lt;a class=&quot;anchor-link&quot; href=&quot;#Correlation-map&quot;&gt;&amp;#182;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Building the correlation map will help us understand which parameters are the most essential in determining if a fetus has a pathological behavior. Thankfully, the NSP parameter that describes the heatlth of the fetus is in increasing numerical order, and can be easily interpreted through this map. It can also help us understand what makes the other 10 classes by showing clearly their most relevant features.&lt;/p&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;cell border-box-sizing code_cell rendered&quot;&gt;
&lt;div class=&quot;input&quot;&gt;
&lt;div class=&quot;prompt input_prompt&quot;&gt;In&amp;nbsp;[8]:&lt;/div&gt;
&lt;div class=&quot;inner_cell&quot;&gt;
    &lt;div class=&quot;input_area&quot;&gt;
&lt;div class=&quot; highlight hl-ipython3&quot;&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;sns&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;set&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;style&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&amp;quot;white&amp;quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;c1&quot;&gt;# Generate a large random dataset&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;d&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;dataset&lt;/span&gt;

&lt;span class=&quot;c1&quot;&gt;# Compute the correlation matrix&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;corr&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;d&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;corr&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt;

&lt;span class=&quot;c1&quot;&gt;# Generate a mask for the upper triangle&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;mask&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;np&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;zeros_like&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;corr&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;dtype&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;np&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;bool&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;mask&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;np&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;triu_indices_from&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;mask&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)]&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;kc&quot;&gt;True&lt;/span&gt;

&lt;span class=&quot;c1&quot;&gt;# Set up the matplotlib figure&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;f&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;ax&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;plt&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;subplots&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;figsize&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;11&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;9&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;))&lt;/span&gt;

&lt;span class=&quot;c1&quot;&gt;# Generate a custom diverging colormap&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;cmap&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;sns&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;diverging_palette&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;220&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;10&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;as_cmap&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;kc&quot;&gt;True&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;

&lt;span class=&quot;c1&quot;&gt;# Draw the heatmap with the mask and correct aspect ratio&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;sns&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;heatmap&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;corr&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;mask&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;mask&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;cmap&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;cmap&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;vmax&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=.&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;3&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;center&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;
            &lt;span class=&quot;n&quot;&gt;square&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;kc&quot;&gt;True&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;linewidths&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=.&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;5&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;cbar_kws&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&amp;quot;shrink&amp;quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;5&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;})&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;div class=&quot;output_wrapper&quot;&gt;
&lt;div class=&quot;output&quot;&gt;


&lt;div class=&quot;output_area&quot;&gt;

&lt;div class=&quot;prompt output_prompt&quot;&gt;Out[8]:&lt;/div&gt;




&lt;div class=&quot;output_text output_subarea output_execute_result&quot;&gt;
&lt;pre&gt;&amp;lt;matplotlib.axes._subplots.AxesSubplot at 0x7f1da034aa90&amp;gt;&lt;/pre&gt;
&lt;/div&gt;

&lt;/div&gt;

&lt;div class=&quot;output_area&quot;&gt;

&lt;div class=&quot;prompt&quot;&gt;&lt;/div&gt;




&lt;div class=&quot;output_png output_subarea &quot;&gt;
&lt;img src=&quot;data:image/png;base64,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
qBa9Yp48eYJp06ahdu3aykkTV69eRWFhIfz9/dGoUSMt15CY0BERiSB2IsXL1rdvX42LEffp00dl
nLu7O+7cuYOmTZsqJ7wAVbfPLr2aIiMjERsbCwBo164dnJyctFwjKsWEjohIgOcnUowbN04n1tUr
KipSLkYcExMjeDFidQPZy+73S0T6gwkdEVElqnoixcsiZQHjlJQU5OfnK//mRAki/cSEjoioElIm
UlQnKYsRHz58GKtXr0ZSUhIsLS3x4MEDtG3bFnK5vBprTkRVhevQERFVQso6fNWl7GLE06ZNE7wY
8fr167Fjxw5MmDABgYGBiIyMZDJHpMeY0BER6TGpixEbGhrCwsICxcXFKC4uRt++ffF///d/1VVt
IqpiTOiIiPSY1NbD+vXrIzs7G7169cLnn38OS0tLGBryK4FIX3EMHRFRDbJ06VJ4eHjAwcEBxsbG
KC4uRkhICDIzM+Hl5QULCwttV5GIJGBCR0RUg2zZsgVhYWFITk6Gm5sbPD094eDgoO1qEdELYkJH
RFQDJSYmQi6XIywsDPn5+fD09IS7uztat26t7aoRkQRM6IiIarjr169j/vz5iImJQXR0tLarQ0QS
cAQsEVENVFhYiJMnT0IulyMyMhK9e/fGtGnTtF0tIpKILXRERDVIREQEQkNDcfz4cXTp0gXu7u5w
dXVF3bp1tV01InoBTOiIiGqQsWPHwsvLC4MHD4a5ubm2q0NEVYQJHREREZGeq6XtChARERHRi2FC
R0RERKTnmNARERER6TkmdERERER67v8B4W6zDdXyq4UAAAAASUVORK5CYII=
&quot;
&gt;
&lt;/div&gt;

&lt;/div&gt;

&lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;
&lt;div class=&quot;cell border-box-sizing text_cell rendered&quot;&gt;&lt;div class=&quot;prompt input_prompt&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;inner_cell&quot;&gt;
&lt;div class=&quot;text_cell_render border-box-sizing rendered_html&quot;&gt;
&lt;p&gt;The map does not show any strong positive correlation between the parameters describing the fetus and its NSP class. The highest we can see on the map are the DP value(number of prolongued decelerations per second) and ALTV value (percentage of time with abnormal long term variability).&lt;/p&gt;
&lt;p&gt;Let's keep an eye on these values.&lt;/p&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;cell border-box-sizing text_cell rendered&quot;&gt;&lt;div class=&quot;prompt input_prompt&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;inner_cell&quot;&gt;
&lt;div class=&quot;text_cell_render border-box-sizing rendered_html&quot;&gt;
&lt;h2 id=&quot;Dimensionality-Reduction&quot;&gt;Dimensionality Reduction&lt;a class=&quot;anchor-link&quot; href=&quot;#Dimensionality-Reduction&quot;&gt;&amp;#182;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Can we get a clear representation of our data using dimensionality reduction techniques ? 
In this part, we will try a few of them.&lt;/p&gt;
&lt;p&gt;First we need to process the data to a format that can fit these algorithms.&lt;/p&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;cell border-box-sizing code_cell rendered&quot;&gt;
&lt;div class=&quot;input&quot;&gt;
&lt;div class=&quot;prompt input_prompt&quot;&gt;In&amp;nbsp;[9]:&lt;/div&gt;
&lt;div class=&quot;inner_cell&quot;&gt;
    &lt;div class=&quot;input_area&quot;&gt;
&lt;div class=&quot; highlight hl-ipython3&quot;&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class=&quot;c1&quot;&gt;# Preparing our variables&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;X&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;dataset&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;iloc&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[:,:&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;values&lt;/span&gt; &lt;span class=&quot;c1&quot;&gt;# We got rid of the class value to focus on the FHR diagnosis&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;y&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;dataset&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;iloc&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[:,&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;values&lt;/span&gt; &lt;span class=&quot;c1&quot;&gt;# Containing the FHR diagnosis&lt;/span&gt;

&lt;span class=&quot;c1&quot;&gt;# Splitting the dataset into the Training set and Test set&lt;/span&gt;
&lt;span class=&quot;kn&quot;&gt;from&lt;/span&gt; &lt;span class=&quot;nn&quot;&gt;sklearn.cross_validation&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;train_test_split&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;X_train&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;X_test&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;y_train&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;y_test&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;train_test_split&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;X&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;y&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;test_size&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;mf&quot;&gt;0.25&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;random_state&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;

&lt;span class=&quot;c1&quot;&gt;# Feature Scaling&lt;/span&gt;
&lt;span class=&quot;kn&quot;&gt;from&lt;/span&gt; &lt;span class=&quot;nn&quot;&gt;sklearn.preprocessing&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;StandardScaler&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;sc&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;StandardScaler&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;X_train&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;sc&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;fit_transform&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;X_train&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;X_test&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;sc&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;transform&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;X_test&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;div class=&quot;output_wrapper&quot;&gt;
&lt;div class=&quot;output&quot;&gt;


&lt;div class=&quot;output_area&quot;&gt;

&lt;div class=&quot;prompt&quot;&gt;&lt;/div&gt;


&lt;div class=&quot;output_subarea output_stream output_stderr output_text&quot;&gt;
&lt;pre&gt;/opt/conda/lib/python3.6/site-packages/sklearn/cross_validation.py:41: DeprecationWarning: This module was deprecated in version 0.18 in favor of the model_selection module into which all the refactored classes and functions are moved. Also note that the interface of the new CV iterators are different from that of this module. This module will be removed in 0.20.
  &amp;#34;This module will be removed in 0.20.&amp;#34;, DeprecationWarning)
&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;
&lt;div class=&quot;cell border-box-sizing text_cell rendered&quot;&gt;&lt;div class=&quot;prompt input_prompt&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;inner_cell&quot;&gt;
&lt;div class=&quot;text_cell_render border-box-sizing rendered_html&quot;&gt;
&lt;p&gt;&lt;strong&gt;Applying Kernel PCA&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;We will use the different kernels available in sklearn to see if any of them can help us represent the data.&lt;/p&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;cell border-box-sizing code_cell rendered&quot;&gt;
&lt;div class=&quot;input&quot;&gt;
&lt;div class=&quot;prompt input_prompt&quot;&gt;In&amp;nbsp;[10]:&lt;/div&gt;
&lt;div class=&quot;inner_cell&quot;&gt;
    &lt;div class=&quot;input_area&quot;&gt;
&lt;div class=&quot; highlight hl-ipython3&quot;&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class=&quot;kn&quot;&gt;from&lt;/span&gt; &lt;span class=&quot;nn&quot;&gt;sklearn.decomposition&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;KernelPCA&lt;/span&gt;

&lt;span class=&quot;n&quot;&gt;names&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;
         &lt;span class=&quot;s1&quot;&gt;&amp;#39;Linear Kernel&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;
         &lt;span class=&quot;s1&quot;&gt;&amp;#39;Polynomial Kernel&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;
         &lt;span class=&quot;s1&quot;&gt;&amp;#39;RBF Kernel&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;
         &lt;span class=&quot;s1&quot;&gt;&amp;#39;Sigmoid Kernel&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;
         &lt;span class=&quot;s1&quot;&gt;&amp;#39;Cosine Kernel&amp;#39;&lt;/span&gt;
         &lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;

&lt;span class=&quot;n&quot;&gt;classifiers&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;KernelPCA&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;n_components&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;3&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;kernel&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;s1&quot;&gt;&amp;#39;linear&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;),&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;KernelPCA&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;n_components&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;3&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;kernel&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;s1&quot;&gt;&amp;#39;poly&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;gamma&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;mf&quot;&gt;0.00001&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;),&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;KernelPCA&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;n_components&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;3&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;kernel&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;s1&quot;&gt;&amp;#39;rbf&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;gamma&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;mf&quot;&gt;0.00001&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;),&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;KernelPCA&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;n_components&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;3&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;kernel&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;s1&quot;&gt;&amp;#39;sigmoid&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;gamma&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;mf&quot;&gt;0.00001&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;),&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;KernelPCA&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;n_components&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;3&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;kernel&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;s1&quot;&gt;&amp;#39;cosine&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;

&lt;span class=&quot;n&quot;&gt;models&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;zip&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;names&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;classifiers&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
   
&lt;span class=&quot;k&quot;&gt;for&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;name&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;kpca&lt;/span&gt; &lt;span class=&quot;ow&quot;&gt;in&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;models&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;X_PCA&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;kpca&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;fit_transform&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;X_train&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
    
    &lt;span class=&quot;kn&quot;&gt;from&lt;/span&gt; &lt;span class=&quot;nn&quot;&gt;mpl_toolkits.mplot3d&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;axes3d&lt;/span&gt;
    &lt;span class=&quot;kn&quot;&gt;from&lt;/span&gt; &lt;span class=&quot;nn&quot;&gt;matplotlib&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;style&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;style&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;use&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;ggplot&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
    
    &lt;span class=&quot;n&quot;&gt;fig&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;plt&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;figure&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;figsize&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;10&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;6&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;))&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;ax1&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;fig&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;add_subplot&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;111&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;projection&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;3d&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;loc&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;3&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;classes&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;Normal&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;Suspect&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;Pathologic&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;x3d&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;X_PCA&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[:,&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;y3d&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;X_PCA&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[:,&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;z3d&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;X_PCA&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[:,&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;

    &lt;span class=&quot;n&quot;&gt;plot&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;ax1&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;scatter&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x3d&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;y3d&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;z3d&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;c&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;y_train&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;cmap&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&amp;quot;viridis&amp;quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;ax1&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;set_xlabel&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;PC1&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;ax1&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;set_ylabel&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;PC2&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;ax1&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;set_zlabel&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;PC3&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;cb&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;plt&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;colorbar&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;plot&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;cb&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;set_ticks&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;loc&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;cb&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;set_ticklabels&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;classes&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;

    &lt;span class=&quot;n&quot;&gt;plt&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;title&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;name&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;plt&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;show&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;div class=&quot;output_wrapper&quot;&gt;
&lt;div class=&quot;output&quot;&gt;


&lt;div class=&quot;output_area&quot;&gt;

&lt;div class=&quot;prompt&quot;&gt;&lt;/div&gt;




&lt;div class=&quot;output_png output_subarea &quot;&gt;
&lt;img src=&quot;data:image/png;base64,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
&quot;
&gt;
&lt;/div&gt;

&lt;/div&gt;

&lt;div class=&quot;output_area&quot;&gt;

&lt;div class=&quot;prompt&quot;&gt;&lt;/div&gt;




&lt;div class=&quot;output_png output_subarea &quot;&gt;
&lt;img src=&quot;data:image/png;base64,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
bbfdNm6jttHo6Ojg61//Om63mx/96Edp1q5QKMRPfvITNmzYgN/vZ9asWVx77bX8zd/8TXLdK6+8
km9961u8+uqrbN26lUsuuYQzzjiDr371qzzwwAP88pe/ZNeuXdTX13Prrbdy2mmnJbff29vLo48+
ysaNG4lGo8yfP5+bb76ZlStXTupYBILpgAgKNgcRQyMoKaxWK5qmkUgkiEQi3HnnnUSjUR5++GEe
fvhhQqEQd955Z8aeJLIsc+GFF/Liiy+m9RJ57bXXkCSJT3/608nP3nzzTfx+Pw8//DB33XUXb731
Fr/5zW+S3//ud7/jZz/7GVdeeSWPP/44l19+OY8++ijPP/982j7XrVtHU1MT//mf/8nf/d3f8aMf
/Yi7776b+vp61q5dy6WXXsqPfvQjDh48OOoxx2IxrrvuOv7zP/+TBx98EEVR+OY3vzlq35Wx2Lt3
L1/60pdobm7moYceShMzuq7zrW99i3379nH33Xfzs5/9jEsuuYR77rmH9957L207jz76KGeffTY/
/elPufTSS5Of/8d//AdXX301P/nJT1i0aBHf//73GRwcBIZcXF/72tcIBoPcd999PPbYY6xevZo7
7riDlhaRdiqYuWg5/gmGEIJGUDIcPHiQZ599lqVLl+J0OnnllVfw+Xx85zvfYfHixSxevJj//b//
N93d3bz22msZt3H++efT2dnJpk2bkp+98MILnHPOOdjt9uRndXV13HbbbcyePZvTTjuNs846i3ff
fTf5/a9//Wsuu+wyLr74Ypqbm7nkkkv4zGc+w5NPPpm2vxNPPJG///u/p6mpiauvvhqHw4Esy8nP
rrzySlwuF5s3bx71uM8//3zOOOMMmpqaWLhwIV//+tdpbW1l586dEz6H3/nOd5g3bx7f//73R8Tp
bN26lQ8++IB7772XE044gcbGRi6++GLOOeccnnnmmbRlL774Ys4991waGxtpaGhIfn799ddz2mmn
0dzczBe/+EUCgQAffvghAK+//jqBQCB5vZqamrjmmmtYvnw569evn/CxCATTBREUbA7C5SQoarZs
2cL555+PpmnEYjFOOukkvva1rwFDAmfOnDlpVobKykpmzZo1qsWjsrKSj3/84zz33HOcfPLJHDhw
gA8//JCvfvWracsdd9xxaf+vrq5OCppAIEBXV9cIN8nKlSt5+umnkyW9h29HlmXKy8uZP39+2mcV
FRX09fWNeg727t3Lz3/+c/bu3Ut/f3/SunT06FFOOOGEUdfLxCc/+Uk2bNjAhg0bOPPMM9O+27lz
J/F4nM9//vNpn8fj8REuvCVLlmTcfmpgcWVlJbIsJ49t586d9Pb2jihvHovFsFqtEzoOgWA6kRCa
xBSEoBEUNUuXLuWb3/wmiqJQWVk5YuKTJGnEOrquZ/zc4OKLL+ab3/wmPp+P559/niVLlozI8Bke
5CpJEpo2tnE3U9Fti2XkTyzTZ6MV7A6Hw9xxxx2ccMIJ3Hnnncl4ohtvvHHcbriZ+OIXv0hjYyP3
3nsvkUiENWvWpI3B5XKxdu3accdsxBINJ1NwsHFsuq4zZ84c7rnnnhHLmJ3VJRAIZh5C0AiKGpvN
ljHAF2Du3LmsX7+e/v7+pJWmt7eXI0eOcPnll4+6zZNOOona2lqee+45Xn75ZW6++eYJjcnlclFT
U8PWrVs544wzkp+///77NDQ0pLmucqWlpQWfz8dNN93EnDlD5dG3b98+qgDKhptuugmHw8EDDzxA
JBLhM5/5DACLFi1icHCQaDTKvHm5NcvLxKJFi3jppZdwOp1UVFSYvn2BoFQRcTDmIGJoBCXLOeec
Q3l5Od/73vfYvXs3u3bt4p577qG6unqEOyUVSZK46KKL+MUvfkEsFuPss8+e8L6vuuoqnnnmGZ57
7jmOHDnC73//e5599lmuuuqqXA5pBPX19aiqyrp162htbeW9997j3//938e0QGXDVVddxZe+9CX+
7d/+jd/+9rfAkNA7+eSTufvuu/nTn/5EW1sbu3btYt26dTz33HM5H8u5555LfX093/zmN3nnnXfo
6Ojgww8/5Mknn+Stt97KefsCQamSQMrpTzCEsNAIShabzcb999/PI488wj/90z8BQ0G4999//7h1
Uc4//3x++tOfcvbZZ4/qPhmLz3zmM4TDYZ588kkefvhhamtr+Z//839y4YUXTupYRsPr9fLtb3+b
xx57jBdffJE5c+Zw2223cfvtt+e87csuuwy73c6DDz5IKBTi+uuv55//+Z/5+c9/ziOPPEJ3dzce
j4cFCxZwxRVX5Lw/q9XKww8/zM9+9jPuv/9+fD4f5eXlLFmyJC21WyCYaWgihsYURLdtwYzk4MGD
3Hjjjaxdu5bFixdP9XAEAkERUehu27sO57a/xbPEXA3CQiOYYUSjUbq7u/nJT37CiSeeyJIlS3KK
RxEIBIJcEW4jcxAxNIIZxRtvvME111xDe3s7d95551QPRyAQCEQMjUkIl5NgRmC1WpEkaYQ1JhaL
CQuNQCBIo9Aup62HJtfGxGDl7MMmjaS0ES4nwbRGlmUURcHr9RIIBCZVu0UgEAjyibCymIMQNIJp
iSRJWCyWnNObBQKBQFAaCEEjmFYYQkaW5RGupGITN4qioGmacHkJBDOchAhnNQUhaATTBlVVk6Jl
uEgoRtFguMEikchUD0UgEEwhml5cL1ulihA0gpLHsMgIBAJBKSJiaMxBCBpByaIoCoqiTPUwBAKB
ICcSunghMwMhaAQlx2SEzHgduAUCgUBQ2ghBIygZZFnGYjH3ls1Um0YgEAgKiSaCgk1BCBpB0WPU
khEWFoFAMB0RMTTmIASNoGgxs5ZMsbqcinFMAoGgsIgYGnMQgkZQdIxVS2Y6MZ2PTSAQCAqNEDSC
omG4RUZM+MWFw+HAZrPh8/mmeigCwbRCEy4nUxCCRlAU5LuWTLG6nAQCgUBUCjYHIWgEU0pqdd9C
oygKNpuNaDRKLBZD07QpGYdAIJjZiBgacxCCRjAlGGLC5XLR399f0H3LsozT6cRqtRIKhXC5XKiq
CkA8HicWiyX/RHfuY4gUd4EgP4i0bXMQgkZQUPJRSyYbDJeTy+XCZrMRCoXo6+tLs8zIsoyqqqiq
it1ux+PxIMtymsgx/i0mdoFAICguhKARFIRMtWQKGddisVhQVZVwOExfX19GQaJpGpFIJK1ZpBGo
bAgdp9OJxWJB07Q0S45wWQkEgsmSEM0pTUEIGkFeMbOWzGSw2Ww4nU50XScUChEMBie0vq7rScGS
iiFyLBaLcFkJBIKcEEHB5iAEjSAvZFNLJp8WGqvVmhQyfr8fq9Vq6vbj8fgIsZKNy8oQOaXoshIx
NAJBftBEULApCEEjMJWpriVjWEwkSSIYDBKNRoHCZFNN1GVlYFiBhMvKfBRFweVyMTAwMNVDEQhG
RVhozEEIGoFpTLSWjJkWGlmWcblcWCwWgsFgmqgYi3yLnLFcVl6vNxmobLisUgOPhcsqd2RZNt06
JxAIihMhaAQ5k++ieGMhSRJOpzOZueT3+6dkHBMlHo+TSCSIRCKEQiGg+F1WojChQJAfRFCwOQhB
I5g0iqKgKMqk18/FQiNJEg6HA7vdTiQSGTVzKXVfUyW6smU0l5URfFwMWValFkMj4n4EpYCoQ2MO
QtAIJsxU1ZIxsNvtOJ1OotEoPp9vWsee6LpONBpNxgIZpMbluN3u5PUYXi9nprushFVJUAqISsHm
IASNIGsy1ZLJlYlsy2q14nK5SCQS9Pf3k0gkTBtHqWFkWRnuKih+l9VUMZOOVSCYyQhBIxiXfNaS
yWaySc1cGhwcHBFgm+1+pvvber5dVqV4/oTLSVAKiG7b5iAEjWBUClEUzxAamSYdI+VWUZQJZS4J
jpGty0pV1bSMLMOSM9xlJcSBQGA+wuVkDkLQCEYw1dV9U5tHBoNBwuHwlIxjOjOey8rhcKCqaprL
SlEUEolESVk9Smmsw7FYLDM+BmqmIOrQmIMQNII0nE4nkiRNyq0zWYxJJzVzaayeS5NhJriccmUs
l1Xqn8PhIJFIjIjNKcbg7FIVNBaLhYqKCrq6uqZ6KIICoIm0bVMQgkYAHKslY7Vak66HQmBMNjMp
cymVYhdZqS4rw0ITCASyclnFYrEZHbidC6UqxASCqUQImhlOployhZxkJUnC6/XOyMylUp6wsnFZ
lZWVTXmWVakKg1Idt2ByCJeTOQhBM0MZrSheoVwzqqomM5cCgUDeA36Fyyn/ZOOyMrKsEonEiDYP
+bDKlaowKNVxCyaHaE5pDkLQzDDGK4qX74q6qZlLgUAAp9MpAh+nMblkWc1kl5UQNDOLhEjbNgUh
aGYIxZq55HA4ptRyIqw22WPmJJvJZaUoSlLomOWyKlVhUKrjFkwOYaExByFopjkTFTJmu2ZSm0ea
nbk0mbEMx2q1FjyrS5CZRCKRbNhpkOqyslqtE3ZZlaowKNVxCwRTiRA005TJWmTMFDQOhwOHwzFm
88hCxbYM37fRRsGYBI0MnuEuDzGpTC25uqyMbZQaQtDMLITLyRyEoJmGGCnYU4XNZkvGxhRb5tLw
NgqRSCQZwzO81spUdrUWjM1oLiujzYPhsjKEqsViKaleVtNJ0KiqWhLnfCoRLidzEIJmGmGGkMnF
YmJkLum6jt/vzyrYt1AWGkmSUBQFj8czahuF1Ld6AxG8eoxin2QNl1UqXq8XTdPQNC1plTMq8A7v
TF5MQrXYz/VEKCsrw+/3j7CyCY4hWh+YgxA004DRUrAnw2QERqrVIxgMFtWDK7X6MEBfX9+E1h/L
EmCkIauqmozDGR68KphaJEkacf0gXaja7faiE6qSJBWVwMoFWZanzbEIihshaEoYM4XMZJBlOfnG
O9nmkfm00KRWHx4YGMDtdpuyXcMSkNpjKrWonN1ux+PxZMzQGW4BEllW+WU0S8d4QnWsLKtCBJBP
JwvNdDqWfCG6bZuDEDQlyHi1ZHIhG4GRmrkUCoXw+/15GctkMbJhNE1LxvCMJvzMEhTjFZXL5O5Q
FGXMbuOCwpJJqI53DVOtcWZaIabTPSEsNOMjXE7mIARNCSHLMoqi5PWtfjxBk03mkpn7mwiprq9A
IJD2Jj0VlYJHy9BJdVcZVqRSCD4uxUk21zFnk2WVD5dVKZ7r0ZhOx5IvRHNKcxCCpgSY6qJ4MOS+
cTgcxGKxomseaRTtU1V10q6vQmJMdkY9FdHsMX/kazKdiMtqeL2cbFxW00UETJfjyDeil5M5CEFT
xEiShNvtLujb+nBLRqr7ZmBgwPQJNRfLSWrAr1G0r1QRwcelj5kuq+kiBKbLcQhKAyFoihQjBdtm
syXTTguBITDGct8UA6kBv9lYjEqxOaWZwcczlameUCfrspJlueTu10xM9fkvFYTLyRyEoCkyMtWS
KeSDzQieHatei5lMVGhkCvidSWQbfJyPysdicjKP8SxyiqJQXl6eZpFLFa2lgggIzg5NuJxMQQia
ImG0FOxCTSCpzSNh4vVa8o3RpVuW5aK0GE0l4wUfz+TKx6UkwlItcg6Hg56eHjRNy8plVaxtOkrp
/E8lCWGhMQUhaKaY8WrJ5NtVkikOpaKiomAPIl3Xx6xunCq0AoHApC1GpehyypVsKh8b6f/TNfi4
VCdUY9xjiVXjWhZjYUADYaHJDuFyMgchaKaIbGvJFKrwXLFlLmUSWqU4MY1HoUVWJleHLMtYrdaM
2TmpfzNNEE4l4wkx45qMFURuuK+HBx8X0rpZqoJSUJoIQVNgJlpLJh+CxjBdJxKJjHEohSz2lun4
illomUmxPOg1TSMcDo8afGyz2ZLWnLKyMqLRaMk0eizVCXUy4x4vyyr1OhbKZSXLckme/0IjmlOa
gxA0BWKytWTMFDTGmxvA4ODgqG9qU+WeyXfAr7AwZE+m4OOqqqqkRSDVCmB28LGZlKqgMYvx4qss
FkvSZaVp2gihk+tvcDr1pMonCdH6wBSEoMkzZhTFy3UiNgJqFUUhEAgUVfNII4bGcHPkM+B3Jk9s
ZhGPx7NKQZ5pwcdmUggRlim+Kpu6RxN1Wc10QZktIobGHISgySPGAyEXcnkYpAbUBoPBNFP0ePss
hDVDluXkBDg4OFj0FX5nOqPdE+OlILtcLlRVBQoffFyKE+pUjXm0ukeGYJ2My8qI4REICoEQNHkg
Uy2ZyTIZcWFGQG2hMquMh6EQM6VBtvfReEUBxwo+NrPycSm6GYtJhGmaNiGXlXH9/H4/fX19eL3e
nI9lx44drFu3Dl3XWb16Neecc07a9/F4nCeeeIIjR47gdDq5/vrrqaqqSn7f19fHv/zLv7BmzRrO
OuusnMaSL0QMjTkIQWMi46VgT4aJChozmkfm82E6POBXURQcDkfe9peK6Gw9tYxXFNCwACiKkrE1
QLHdy/miFO7R8VxWLS0t/PznPyccDtPU1ERDQwNNTU3Mnz+fmpqarPejaRpPPfUUt9xyC+Xl5Tz0
0EMsX76c+vr65DIbN27E6XRy1113sWnTJtavX88NN9yQ/P6ZZ55h6dKlOR9zPtFEDI0pCEFjAvkQ
MgbZChqbzYbT6SQej+ccUJsPl5Phehge8Juv85YtNpsNVVWJRqOiJ9IUkClo1Yg7G56CPNHg41IQ
Bpko1XGnWuXmzJnD3Xffjaqq7Nq1i4MHD7J7927279/PlVdemfU2W1paqK6uprq6GoBVq1axbdu2
NEGzbds21qxZA8DKlSt5+umnk8+w999/n6qqqmTB0GJFFNYzByFociDbWjK5MJ64MISCruv4/X5T
JmUzBc14FX6nKqMq9bzFYrFk0LToiTQ6hUzlH68o4HQOPi5VQZOJ8vJyFi1axPz58ye1fn9/PxUV
FWnba2lpGXUZRVGw2+0EAgFUVeXVV1/l1ltv5bXXXpv8QRQA4XIyByFoJsFEa8nkwmgTvsViwel0
IssywWCwqDKXYPIByflE1/Wki8tisSQrDxsTZ6plIFOZeaP+ipm1V0oxxmOqmGjwsSHujb5WpcJ0
EjT5OJZsfjOSJPGHP/yBT3/609hsNlP3LyhehKCZAGakYOeKLMvJiTZfzSNzsZpMNCC5UBYaSZKQ
JImysjJCoRB+vz/jWIy3/GAwmPw8tSdSKdRemUmMFXxsTGRVVVV5Dz42EyFojuH1etP6yvl8PsrK
yjIuU15enrwXnE4nLS0tbNmyhd///veEQqHkffHJT35y0uPJFyJt2xyEoMkCQ8hUVVUVvAS/MeFL
koTT6cRms406IZvJZERGsVb4NcYFTCq+aDT3R2q7AKPxY2oV3fFEzkzsL1UIjODjeDyO3W6ns7Mz
78HHZjKdBE2uvZxmz55Nd3c3PT09eL1eNm/ezLXXXpu2zPLly3nnnXeYN28eW7duZeHChUiSxJe/
/OXkMi+++CI2m60oxQyIoGCzEIJmDIZbZKYiS8bYZ0VFRU6ZSxPd50QYLeA3233la1IfPi6Px2Pa
tg33RyrTPcaj1Cba1PHmM/g4n+Oe6SiKwmc/+1nWrl2LpmmcfvrpNDQ08MILLzB79myWL1/O6tWr
eeKJJ7j33ntxOp1cd911Uz3sCSMsNOYgBM0oZKolU+g3aiNzSZIk+vr6CjYRZnuc4wX8ThUTrYxs
1gSSKcZjeHdroytyNBpNloUXHYnzw3jXtViDj6eLoDHrvl62bBnLli1L++yCCy5I/ltVVW688cYx
t3H++efnPA5B8SMEzTDGSsEulKBJ7Wnk9/vxer1FNeGZGfBr5jlNdctlO658X8+xAlldLhdWq5Xa
2tq0ybVQVXQFmZlI8PHwgHEzrtl0ETTT5TgKgchyMgchaD4im1oy+RY0FosFl8uFJElpFo9Cu7qM
/krDMaMCcb4w4mTGcssVS8yKEchquDP9fn/GPjpQ+FYB0wkzfzMTqXycKStuqsY9lYhO29kjXE7m
MOMFzURqyeRrQlQUJem/z1fm0kTIdJz5CvjN9ZzmEr9TTGQzYXq93hHNAqPRaMGOudQm2nyL14lU
Pp5IXM506VA9XY6jEIigYHOYsYJmMrVkzBY02WYuTWXJ/mIVDMUav2MmmSbMVJFjt9vxeDwllZJc
aAr9m8km+Dg1Ky5TXE6pCcfREBaa7BEWGnOYcYIml1oyZgmaYq3Vkro/WZaTJvRiEgyTiZMZvn4q
pfbAHcsqYLVa00ROrq6PUqdYhEE2wcepAePG788QPMXyEjFRhIVGUGhmjKAxhEwubw1mCIvJuG4K
KWhkWU5mdgQCgaKo8GuQa+PNYpjchmPGdR3NKpBN3ZViEaozkdGCj8vLywGSsVTD3YylIk6LRVCW
AsJCYw4zQtCkpmDn8gPLRVgYpfQTiURR1WoxSLUaGW/0hRIz47nUcjl341EMQcL5YDzXh3FOU+M7
xmvtUGoTVKmNF4ZiqXRdT4ulG83NWOziVJQjyB4haMxhRggasyat0bJ/xsLIWgEYHByc9EMnnxPv
cKuR0V5hqkmNk8nl3BUrUxHfkUtrh1KjFAUNjBz3eMHHmcRpMbTkKNXzPxUIQWMOM0LQmMVELCUT
Le423n7zwWgBv0arhUIx3EIjSVKyRouZjS2LJW272Mi2tYMkSZSXl6e1dxATlvlkIwQyWeAgXZyO
F3ycb4xgdcH4iCwnc5gRgsasiSyb7eSjy7TZE3Gq5aPYOnUbcTLFVudmppGptUN9fT2RSASLxVIS
rR1K1UKQy7gnEnyc7xpHpXqnWIRtAAAgAElEQVT+BaXLjBA0ZjGWsMhn0TmzBE22YmsqsqqsVisO
h4N4PF5UjS0Fx5AkKc1VBZkny2IROaVqjTNbCIxX+ThfwcdC0GSPcDmZw4wQNPkWFoZVIV9dpnMV
GMWcJm6xWFAUBbvdnvc4GeFyMp9s2gRYrdYRFoFoNFoQkVOKE2ohhMB4hRzNCD4WQcHZIwSNOcwI
QWMWwydEo3lkPB7Pa9G5XCZiY4yxWKyoLB+GtUhVVRKJBIODgyWRiioYn0yT5XCLgNfrBfLb2qFU
LQRTNe5sg48tFktGkTN8zKV6/qcCIWjMQQiaCWBkORlvnrqu4/f78z4RTza7yhjjwMBAUaWJp8bJ
+Hw+ysrK8ravyeLr7OfQB61IsoTDbae/awBJkpi3cg4V9d6pHt6UkMs9UQqtHYqFYhICkwk+3rt3
L319fdhstpxeoHbs2MG6devQdZ3Vq1dzzjnnpH0fj8d54oknOHLkCE6nk+uvv56qqipaWlr4r//6
r+Rya9asYcWKFZMeh6B0mBGCxqyHgyzLyQycYgumNSjmgN9Ui9Zwa1EhXEHDhZphJbJYLGmZO71H
+3j/jR04XHYGevwcfP8Ii1cfh81uZdubOzj1whNxuO15H2+xYfYkm+/WDqJSbf4YK/i4q6uLDRs2
8Pjjj6MoCs3NzTQ1NbFy5Uqam5uz2r6maTz11FPccsstlJeX89BDD7F8+XLq6+uTy2zcuBGn08ld
d93Fpk2bWL9+PTfccAMNDQ3cfvvtKIpCf38/DzzwAMcff/y4zYenEmGhMYcZIWhyxajLYjSx9Pl8
Bd3/VGVXmYXRRRzIaNGairfR4dlURpqyw+Hg6O5uautr0bQEXQd7cXoc+HsHsTVWoigKvo5+HAvM
ETQipicdM1s7FJOlI1tKccwGRjzVkiVLWLJkCfX19XzwwQe0trZy5MgROjs7sxY0LS0tVFdXU11d
DcCqVavYtm1bmqDZtm0ba9asAWDlypU8/fTTyQSD1DGVAroQNKYgBM0YZGoeWVVVVfCHzniCxul0
mp5dZUZDzNQ4mfG6iBdqYlcUhYqKijQrkTExGoGtg+FB+vv6sTtt2N12+rv8VFZXUuYtw68PUlVf
hdVqzbkOS6lOXIVmsq0dJuqmLQZKWdAMR5IkqqqqqKqqmrDLp7+/n4qKiuT/y8vLaWlpGXUZI7Eg
EAjgdrs5ePAgv/nNb+jt7eWaa64pausMiDo0ZjEjBM1kHhCj9Q2aim64owmafAb85ipohous8faV
bxRFwWq1IkkSfr8/zVw+/DgbFtSy++39tO5pw1PpxlVpJxIN0300xpylzdQ0VaGq6qgVdafLhJRK
vu95Xddp29NBLBynaXEDqm3sR9N4IsdqtWKz2bDb7bhcrjSX4mitHYqB6SJo8tFpO5uXHmOZuXPn
8o1vfIOOjg5+9atfsXTpUlRVNXU8ZiJcTuYwIwTNRBgrzgOmJvV3+D4LHZQ8EYotqyrVypb69j4a
uq6z/fWdWKwK5fXlxKNxPn31x7C77MiyhMVqob+/P7l8poq6M0XkmIWu6/zXvc+yb3MLuqZTPauS
G35wOXaXbcLbSRU5FRUVhEIhEolEVq0diuEaTRdBk2v8ktfrTXsRypQ8YCxTXl6eDDg32swY1NfX
Y7VaaW9vZ/bs2ZMej6A0mBGCJpsHhNVqxel0jisSplLQFDLgd6LHOV6cjJn7yhajR5VhZXM4HOOu
E/AF8XUO4PDYk2M7+P5hVpy5LOPymSrqjidyotFoUYnQqWbvuwfZt7kFq2Mo9sHXOcDrT/yZ8//h
LFO2n0nEZsrSKQaRM50ETS7HMXv2bLq7u+np6cHr9bJ582auvfbatGWWL1/OO++8w7x589i6dSsL
Fy5EkiR6enooLy9HURR6e3vp7OyksrIy10PKKyKGxhxmhKAZC2MiliSJQCAwbtGoqRA0kiQhyzJe
r7dgAb/ZHmdqwHSuPavMwmKx4Ha70XV9UvWBUh/Ek7nWmUROpglU13U0TUu6RIrZFZJPgv706sOy
IhMaHD3eKlvGmlTHaxEwVa0dpougybWonqIofPazn2Xt2rVomsbpp59OQ0MDL7zwArNnz2b58uWs
Xr2aJ554gnvvvRen08l1110HwP79+3n11VeRZRlZlvnc5z6H2+0269DygnA5mcOMFTSKoiTNz+MF
rKZSaEFjxKIARdXbKLX6sBEwPVnMbO0wlrjKZj+ucidl1R6CAyEsqkIkFGXpxxbmPLZME6jH48Fq
tWKxWEZYCVJjPsYjNBjmwNZDaJrOrCUNeGvMr+uTz4l24SnzcZU7iYZiIA1dp5PPWz7JrcVR6EDD
jSRVTWzNDFWPC93aYboIGjOOY9myZSxblm4ZveCCC5L/VlWVG2+8ccR6p556KqeeempO+y40wkJj
DjNO0GTKXJoIhRI0qbEo/f39eL3eoghENsZmWBWKIU4G0tOwcxFXkiSx6rzltO7uIBKIUH9cLe5y
l4kjPUYikUhWmdZ1nT3v7Ke/cxCrzcryTyymblbtuCInGo6x6Y/bsNpUJFni/dd3sPLsZZRVefIy
5nzgLHNw/b/8Pa/+f38ikUhw2oWrmHPCrAlvR2KACulOLLSiY0MPfRZdvz6nsY3X2mG0Zo+Tbe0w
XQSNaHswMYSFxhxmlKAxI70534JmtIDfqahXMnyfw6sPmxUHkss5Ncqxm9nUUpZlZi1pzHk7E+Hg
tsN0H+5FtalEIxH+8tw7rL7kZFSbJc1d5XK5UBSFRCJBNBrlUPsRLBYFSR46f3aXjfa9R0tK0ABU
1Hn53NcvyvidxAAyARLUMNYjq0z6v1ilnR/9z48e+X9I0tlAraljzWdrh+kiaKbLcQhKixkjaMrL
y02Z9PIlaIyAX0VRiiIWJfVhVIxxMoqi4Ha7kSQp66aWk2khUSgGugdRbcfSSrW4RjgQRrW5xwxq
dXqc2Gx23F4XmqYRDkbweD2oqprXRp+FwsmvcUovAFESNODTv49OZpeazDDLnN6PLPVgtqDJxHit
HTJ1tDYsbqkiZ7oIgXykbU9nxKkyhxkjaMyq7mu2oMm2wq8Zhe4mgrE/w6qVa5xMNvvKhlSXYbFV
RJ4MxnG7y50c9QVRrUM/SUmWsDmso65nTIoWl4zFqdB2qB2LxYKnws3Ck+bjdDnTLDkT7ZScaZyF
nqBkOnFK65EJfPT//XhYywB3Zlw+oq9C5X1k6aN7Qp5NXJ9fqOGOYLzWDg6Hg7KysrTWDoqiTAtX
jWg7MTFEYT1zmDGCRtM0U97OzXzLn6gLrJCTilGILhqNFk0w8vA07GIYUy6kjn/eytkEB0L0d/qR
FYnFpx2XTGMeC0mSWP43ixnsC6BpGu5yF4FggEBwSAQM75Q8vJpuLiIn38j0IjEIyYe9hDTcCpNC
kCuQ9AhWNqOjYi27G63fCRRPc8vxWjvYbDYURcHhcIzb2qGYEYJmYoigYHOYMYLGLMyw0Eym+Fyh
Jm8jTkOSJMLhMMFgcPyVcmQ8kWiMSdO0SaVhp+6nkLFIxjXLKv1dkTnh00snPUZ3RebAZUOwGNdR
kqRk5k6xi5wEs0lQj4UOQEJHJsYJGZaMYuEIGmUEuIGAfgMAtZZaoKeAI54cqQUBjWDaQCAwbmuH
YrlOmTCsTgJBIRGCZoLkMinmUuE335Px8Bgeo07KVFKMsTvZsm/TQVr3dADQuKCOBSfPy2q9fAuu
1Gyc4SLHarWOKnImKyJzGitO+vW78PAoElEinECQz6ctI9NDufQNFNoAOyH9Aga5KXlcU30PTwZN
07Jq7TA8QLyYWjuU6rmfKkSWkznMGEFj1o9rMsLCjIDffAma0WJSjM7ihSDTsRUididf9LT1cXhn
Gw73UP2g1t0dlFWXUTtnYnVRCkWqyDEYLnKsViuKolBdXV3QiscJZuPj3lG/90j/hspehtxSIRzS
8wT1C9GoH3WdYmYsIZBJ5EB60cZiae0g0rYnhtB+5jBjBI1ZTERYZBvwa/Z+s2WsmJSpqIgMhWm4
ORyzj7O/cwCr/VjGktWhMtA9MGlBEw3H2L/5IPFYgtnLmiirzn9K9nCRY7FYqKioYGBgYEx3VaHb
OgwFDB+7fhIBZHxo1JeklWAyYy7G1g6leO6nEhFDYw5C0EyQbCf61EJvZgSwmikwsolJKWSKs7Ev
o3ZHsTXcnCiVjeUc2tGGw6IAEA3FqGioGHX57iO9tO/rxF3uZM4JzWnnPR5L8Pb6zeiAosi888JW
Tjl/RVo14La9R/F19OOtK6NpYX4tE9m6QSYb0PrK4Rb+2t6GJMHF845jZfXYKdcR/SRUaTsSUUAn
QRMJ5iTHVmqTqlljnurWDiJte2IIQWMOM0bQFMrlNF637lzIVdCkNrfMpm9VIZAkKflwHRwczLoF
RSbC8TiBWAyP1YpVUUwc5cQor/Wy4KS5HP6wFR2Yd+JsqhrLMy57ZFcbW17Zjt1tp/twL73tPk5e
syL5fV+Hj2g4luw87XDbOfRhKyd8akjQ7HnvAB17O7E6rXS39hLsD7LwlMKlKo8X65EpoHU0kfNe
51HW7d2N/NF9/pMPtvGtU06nwTV6H54gVyLpGlZpEzp2BvQvoeNIjqPUyKcQKGRrB5HlJJgKZoyg
MYvRBE0uAb/Z7neyTKZ2SyFcToYVy3ho5iJm9vb18Zf2VjRdR5Vkzp07l1rnyMyfXI8pOBBisC9A
WbUnKTIy0by4gebFDeNu78D2w9g/irVR7RZ6231EghFszqFtK5b0WAQtoaFYjom1zoPdWJ1D6d02
p42jB7vzImgmYjmYqMgxBM7m7s60ahyReJwPe3rGFDRDTqZrCOjXZBxHqVFoq1K+WjuUonVsKhFB
weYwYwRNviw0harwO1mBYYiGidZuyaegGe7ykmUZh8Mx6e3pus7bHW04UwKZ/9LWyqULFo1YbjhG
zY9sXCOHdrSya+O+oTYDus4Jn15G3dzqSY8byFhOS0pxOVXUl1NZX07f0X5kWUJRFRacNHfU9YvR
KuHvHWTdgy/g7xnE4XFw6dfWUNVYMULkLKipY2tPD4o8NBkqQPNHbsiJUqoTajGM24zWDrkex44d
O1i3bh26rrN69WrOOeectO/j8ThPPPEER44cwel0cv3111NVVcWuXbtYv349iUQCRVG45JJLWLRo
0Sh7KR5K8FYtSmaMoDEbSZJwuVymBPxmw0QFhhHPkEgkcqrdYiajubwkScppIk7oOhrpT4T4OObu
4d3CbTYbHo8nrWqr8SZqnLt97x3E4bEnt7Hn3f05C5qlH1vE67/5E7KqoMU1mhbVpwUUG80y+9p9
xKNxKhsrsFiP/WznrpzFnrcPIKsKiViCRadmlx5eSJ791z/S09aHLMsM9Ph55sEX+cJDV42w5Hyy
upqtZWXs6/ehyDLnzj+OTy5chCzLaZacUisyNxGKQdBkYqzWDlarNdna4cc//jG9vb0cd9xxVFRU
MGvWLKqqqiYUj6dpGk899RS33HIL5eXlPPTQQyxfvpz6+mPxYRs3bsTpdHLXXXexadMm1q9fzw03
3IDL5eLmm2/G6/XS3t7O2rVr+d73vmfqucgHIobGHISgmQS6rlNRUWFawG+2+8xm0k8VDdn2OMpl
f6NvIIpEBB0XkqykiYdU87YZWGSZKrsDXziMqiiEEwnmj/Fmn5pJ1dfXRzweT3uzNB7Sdrs9KXKi
0ShW1YZFVUjEE2i6hqblHuhd3VjJxz53Kj2tfTjLHFQ1Hgse7mnt5cDWwwA0L2mgbl4NH/xpNz2t
vciyzKLTj6NxQT1l1R783YN4qt24y4csX7FIHKtdNc1ik8t2/L2DyQlNkiQC/YGM95ciyXx5xSoG
YzEssozDYqGzszPNkpN6TYZbB1JFTrEKg/EopXFnqnp84YUX0tbWRkdHB1u2bGH9+vWEQiGuvfZa
jj/++Ky229LSQnV1NdXVQy8Lq1atYtu2bWmCZtu2baxZswaAlStX8vTTT6PrOs3Nzcll6uvrk/dF
IctQTAYhaMyhuK+yiZjxkDAmQsDUbtPZMF7WkdkWo1wEjUXbhKpvQEJHslRiK/8HojF5VPGXq3jy
RyI4LRaOxKLUqC6WestZVVs3Yjmjtoosy6PGOWWK/zDeRGtmV9HX0Y/H4yESjNC0uB6Px5O0HKTG
FEQSQ/EfsiSxrKoKVR49SNnpceBcku5yG/QF2L5hVzK+Ztfb+zh6oIvejn6sHzWx3L5hJ+W1p+Iu
d+EuH4oX6mntZdNL20nEElgdVk67+MTkd9li5V1s/AUNJ0GuRMeVPDeTwV3pInQ4nAx4dVe4R73e
kiThsaa3fEi9JoFAILncWCInkUiUjDBIpZQETSYcDgeLFy9m9erVdHV1ARAIBLDb7eOseYz+/n4q
Ko4J+/LyclpaWkZdRlEU7HY7gUAAt/tYvNXWrVtpbm4uejEjMA9xpbNgeMCv2+0u+ENnrEnf7BTx
nNADqPoGZNnBQELlj3vjhGO/oNH7cVY3NE16s7FEgj8c3E9XMEiZzcbJtfX0RyOU22y81dqKzSLj
tdsJxmIcX1WdzJSB9KBoXdcn3KjUeBNduHou+7e04O8NULe4mnmrZgMkhaQx8Q4Egzy+6X384TA6
8PbRdm5YtnxMUTOcniN9WGzHfp42h40jO9sprztmedITOsGBUDKAGGDzyx+gWi2oVgu6prPllQ/4
xOdOy3q/Vjbilh5HQgcSWPT9bNp0I6EBjeNWzMNROX5/qeFc+tU1PPPDFxno9uP0Orn0K3874W0M
ZyyRk9oTyXhLH82SU2yUuqCBkZlaLtfEBHUmsnnhSV2mvb2d9evXc8stt+S870JQ2le8eBCCZgxG
C/idqqJzwzHiZPKRIj7eMQ5EIvyl7QiaDqc3NFDlGLJcKXIEVZFIYOVXH2igabQGI/ypYwc7enq4
dtlyFGloujREx/B9+SMR3u/uwqrInFhTh6oo/H7/XloG+rEqCrs7ennl0EFW1dZz2N9PrcNJo8cz
FCArwV5fH8ura4Ahq5rL5SISieD3+5MWtmyOEaA3HGKXr49Km51F5RUct2pu8rtwOJwxcPLPba1o
kkRlmRcdnUAkwu5BP6uqa7MuZub0OkhEE1jUoZ9oLByjsqmccCCC1TYkKiQZnGXHLDtaQiMRT2BR
lY++l4iFJzZ523jrIzEDoBAbPEBvy2bC0bm8+4fNzFreyNwVsya0TU+lm+v++fPjL5gjqSLHKATY
3d2d0YU4WpyUIHdyTdn2er309fUl/+/z+SgrK8u4THl5eTK2x/ht+3w+fvazn3H11Vcn3VbFjnA5
mYMQNBkYz30zFYImdZ+KouB2D5ntc4mTGbYDIAhYQLKNeYyD0Si/3LEdRZLpDAZYv38PJ9fVc+mS
ZSyqnUOs30lHf4hAVKUzpHE0ZEWRdbZ1dfF/33sHu2pB03UWV1Rx7py5adv2RcI8tXsXqiyR0HX2
+nx8ftESjgYCWBUFXdfpDocAib5wiN5wmKOBII2eoeq5CV1HlWUsFkvyzdAIilYUBUmS6I9EePHA
PgLxOC6LhfNmz8WdwSx9aGCAp/btRgFius6i8gounnfcqOfFCJz0BwaJRiIkYjGkj95WNSTKysrS
KrYabsRMb+U1s6romdvH0QNdSBJUNlaw9OML+WDDbnrbfMiKxPGfXJxmnZEVGWeZg1g4hqzIxKNx
Khoy17/RNI33X/uQvo5+Fp4yn+YlRoq5ytD7ooSuQyyio+Ng76YDBPpCbP/zDm6474pkW4fRth2P
JtKCm6eK0VLIrVbrmDE5UyFypoN1BnI/jtmzZ9Pd3U1PTw9er5fNmzdz7bXXpi2zfPly3nnnHebN
m8fWrVtZuHAhkiQRDAZ59NFHueiii5g/v3D1mHKm9C97UaB897vf/e5oX5ZaD53xMCaPsXA4HHg8
HmKx2KhxFlarNTl5FQojjsNImwyFQgQCAXOsMnocm/4rbPrLqPpGJIJo8gLsdvsxMadHUPTdSLqP
LV0xjgwOMhCNsK/fhywrxCWJ/f0+fP4APcHZuNUOtnbrtAbLkKQKNB0kCQ4PDjDL40WVFdoDg3zY
08MHPd3s6Ouh3KKytauTUDyGLMsossxgLEq13clh/wAxbeh8dwQDDEajxDQNWZLoCQZRZBmnqlJu
s3P2wkW4Xa7kOTIerrIsY7PZ+O0H24jrGqoio+k6Bwb6WVpROeK0PH9gHzEtgSLLqLJMe78fT1sY
X2s/Do8tGcsynBq7g/e6hmqqaB+N8ZymZmLhCIODg8nJ1eiR5Ha7cTgcqKqK8lFBQE3TqG6uHKpn
s6SJhuNqkWWZunk1zF0xiznLmzN22G6YX0tfhw8toVFR72XlWctGxF7pus4L//EaO/66h/4uP7s2
7qWsykNVUwVx5mGT3kFi6Ld/YM9s3nzWQ+eBbtAhMBims6Wb5sX1WFQLspK+7Z0b97L+Ry+z5eXt
7N96iONOmpu0GBUSRVGSdZcyYTR0DIfDBAIBgsEgiUQieY+43W48Hg82mw1VVZOTdD4Fh9EqxXCh
lSpWqxVZliddV0qWZWpqanjiiSf405/+xCmnnMKJJ57ICy+8QCQSoba2lsbGRt577z2ef/55Wltb
+fznP4/T6eT1119n+/bttLe38+c//5k///nPrFixAptt9JpRmfB48t9eJJUffbghp/X/cdmnTBpJ
aSMsNB8xkQq/U2GhMd4oQ6EQPp/P1Aerqr+JorWBNPSjt2hvk0icgCR99Havh7BrvwAtRFswQVu/
m47AIiIa2FQVnaG6EJvb2ujx++kNhwnGq/FabbT4+6lxJXApQ2IjEI0hSaCjs727i4FohHq3h+P1
ep7v76fZU/aRfeAYkgQXH7eA3+7aSSgRx6vaCMfjHA0EiCYSVNrt2GSZc+cvYGl9A/GPspdGO0eh
eHxIzMQSJCJxImrma6lzzC+vJzT6/3qYzgYdt91Gx/6jnHL+Slxe54j1ymw2blq2nL+0t6NIEp9o
bMJpOSZ+jGJmRlflvr4+09oHWB1WTr1o1ZjLBAdCtO5uR/1IkKl2lfdf/5BFp81How6ffg8WdqLj
pTcEPa1/AFkiHo1jd1n5799vZv/WQ7jLHFx6+/nMWtIIQDgQ4a3/9zYWVUG2WujvHODNX/2V824q
/MN2olaCTBk7qS8RDoeDsrKyNEuOcV3MerERFppjLFu2jGXLlqV9dsEFFyT/raoqN95444j1zjvv
PM4777yc9j0VCJeTOcwoQZNJiEymwm8hBY0htAyL0GhvnLkg4wMp1doggd6VPEar/hZaIsH/t8vB
1p4IEkEODLahRxxI6HhdDqKyAhJoQH8sAjpENA23qhKOxVhWUU1MS1DndiEh0Tro52gwSJXdjqbp
bOs6yoKyMhZ5K9je3UksoVFms1HtcDLLU4ZFlrll5SqC8Th2ReF//PEFZEmiwm7DZrFwNBJmSW0d
g37/qBOMcd3KbDY6D3bRt6UNTdOw2awMNswdkQ10Sl09zx3Yj02RCRz1Uy5Z8DhsIEnYnDZath9h
2cczF+3y2uycPzf7mjDGJGlc3+FF58x0i8iyfMzErev0tvcz0O3n3Re3csKnl4JuYd9mD7IC81bO
Zu6KZvqP+vFUeNj6xnZ0TcNqtRANx3jhkVf5h38bcgcE+0MkYvGkRUaxKAR85t+vhaLQIme6CBrR
aXviTIPLXhTMKEGTSi4VfgshaFJjQPx+P5qmJatzmk2cRSj6bsD6kashiEZq2nOMTd0Ku30xvNYo
diVEpE+n4wMHZdVeJDlGcI6HOpcTm0VBQsIXDWOVBpjvCTOYqMRpsXDl0pW09LXy7tG3sTHAHHcF
cUlFR0fXdGJxjXc7O0hoMBCNEE1oXL5oKTEtwbtH21FlhRXVNVhkmQa3m65QEFVR0JEoU1UGBgbG
PM4ju9r57x1bcPb76Ni8F80qYdElli6uYedf93LK+SvTll9cUYlLtbCtuwdVc6L0WYfMRXyURq/k
7x7o7x6g61APngoXtXOHApwz1chJxDW2vrGdwYEA3joPzUsaxp1MHR47dfNqef+1Dwj6w0PVWC9Z
RXAgxBu/+jOtOzuIhqPIsszOv+7h01d/jDee2EgsFCMeS1DZUJ68/6PhY/Fbnio3dpcdTdOQJIlo
JEZtjoUHJ0u+xEE2Isfr9SJJUprAyUbkTBdBI/o4TRxhoTGHGSdoJtPXaDj5FDSGH11VVYLBYPLB
mc/O1wn5BKL6IDb9/yHTg0YjTu1+dP8pWLVqYvoqBmL7caoh7PIAmibhlAKctqyP6oMNyDaVgS6Z
QLUDm8WCpGt8ovp9PtVwiMGEFa/VxZ6AjlNZyKnVz3FqlcyhQT89wX38Yu/H6I1akRSJk+vr2dJ1
lAq7nQq7HU3Xef1wC62Dg8R1DU3X2dTZwY3Hr2BRVTV1sSgD4TBWSaJxzH4/Q3VdPvzzbqrqKrFZ
VPQ9vVTUeSmr9nDo/SPIy43MnRgWDqNjI0Ejze4ymt1laLM1NndsIzAQ+uha6MxfOSen8z7afXT0
YDfb39yBaleJRxLUHenj+E8sGhHgqus67774Pnpcw2qzMrgjgMPuYPEpC0ZYDFInmGgoirvCwfJP
L2HPuwdwlTnQtKEA5T3/vR/VYcXhGcqe6j7cR/eRXq793meJhzR0WePo/qH6IolYgoaFx4SvarNw
4W1n8/qTfyUeiTF3xSzOuOzkjMd+eGcbR3a0ATBrWVOy79VAj5/2fV043DaalzRM+r4vpDgwS+RM
F0FjVHYWTAAhaExhRgkau92O2+2ecF+j4YxX5G6yOJ3OZCBuatqisc98WoUS8gL0RCUJaRay3oJM
J8T+ikozDstmTqnR2dgeJByXaLBHWb3oAAuc/XzgcvKjo7OJShJlXTFOrKniiwvep8n5Pj0JO2VS
nJ6wncWeragcB3ocJDuz3GVE4mEumHWALb5PcNHxx6NGYmzpOpocU0xL8KfWw7itNmqdTmRJoj8a
5WAoyIpuCy+8uwOp3tMooKcAACAASURBVEHNCc1ctnDsfi39nQMoFglJGprQZUUmGoohAYosE/IH
kQji5Z9RpCOAQkQ/mUFuBSRkWWbV355AV0sP8XiC2tnVqLb8/HwObjuULKinWBQ69h1l8Wnz01oe
wFAqd8AXwO6yEw4PTaa7399H5RxvMubK5XKhqkPuxEgkQsAfJBQNo+tQO6caf2+AeDROaGBI2OuQ
Fuir6xq6pqNYFNy1bi7/9md4/pFX8R3tp6LOy4W3np02purmKj7/9YtGHFNPWy+Hd7RTM6sKh8fO
vvcOJo9x73sHcJU70TWdbW/swO6y0R1N0NPay4nnLC+KEgkTZTyRY7y0SJKUFDjTBWGhEUwVM0rQ
mFWvxWxxkVqKf7Tx5VvQSHoUI7BCop+hW0PHZlVJRN6l3HoKNyxuY+NRWF5+CE8sileJsskewGnz
Y3fUo0oyW997H1dbN29rlTSdnKBpZQJdDxBJOAklbLT0w94BmXmeIywpO8xsdz+fmjUPT805PP72
Rnb19IIE88q87PH14bKodAT89EfCLK+rR1cU3v6vjdh6w5xkKyd8JMKSJhtu1Yqm68naNglNQ0kR
nWU1ZSQSQ+dVkiW8tR7sDhuDiRi6x0LFghqc/AZFasX4WdiktwnrZxFnKUAyyyjfjBDacubrrqhK
2j2h6zqKMhS/MLxGzuGd7bz567+ixXW8lW6qGyrxeDwsPmkBH27cjcVqIRaJcdrFq9j+5i4SsQSa
pmOxWlhw8rFYIJvDyt/dfv6Ejmfnxr288viGZKuIWUsaqJtXm/xetan0tfnw9w4me2WpdgsDPYOE
/OG0WjvZUozWjvFEjt1uR1VV6urqRm36WApM5bn/3ve+x+DgYDI1f9myZXz2s5/FZrOxY8cOXn75
ZVpbW7FYLNTX13PmmWeyfPly9uzZw7p16+jrG+o5dvzxx3PTTTdRWTky+zEfFNmtWrLMKEETi8WS
abG5YJaFZniczFSaaTWpDtCx6FuQ6EaWrCAtIhodRNY1QKfZU8WVnj8hEUfX7fh9TgK6Qn2tTk/c
Sqitn3g0wVFsWCUrR/47TOU8cLqjvNPp4rnWDirUajyWbt45qlLvbGRVjYIi/Te/22xhV49GMBZD
03U6AoP8TWMzHpuN97o6Ces6Hf0DxNv8xDceYc7iocwam8PKH956n42VESRJotHppi8SIaFr1Did
nDdnHhZZxlPhYsnpC2jb1QWKxJzjmzmSiOCLh5A02FGZ4JPxXuxpKcbaUMB0Crqu0773KIH+ILVz
qvHWHCv4FRoMs3/LIXRNZ+6K5gm3HDCYc3wzH761B6tTJRaJUzuraoR1BoasN/NXzWHvewdBHxIf
K85cOmK5eCzOL/7jRXojYUDCO9DHnJ5+tIQOOiw8aR5r/sdZuDxO9r/fQsgXofNQFzWzqzj90pNx
uO05TVJvP7clbfwHt7firSvD6RnKEItF4pTVeBjoHUxfUS/O7uFmkipyEokENpuNgYGBEU0fYfTO
1sXGVAcFf+ELX2Dx4sX4fD7Wrl3LSy+9xKxZs/j1r3/NpZdeys0334zNZmP//v28++67ycaXX/zi
F/F6vcTjcTZs2MBjjz3G17/+9cIMWggaU5hRgsast4ZcrSWyLONyubBYLGlxMtnuNx9vP5I+gCwp
yEoVkqaiaX3Iug/0MnQkLGxGR0HDjgQkdA+tkh2vO8beHhVZ1ukPhIiEZA74VILxOhYoXdT3Rtnm
a2bHwFIq7CFk12wcFgsRLc6BwTJOrfPx5w4PO7q66I+50LWhY5SBjmAITVWRgU7fALb3jvJJtZo9
3QF2+vay5PQFtIaDDMZjVMsyg9EYz+7fw8cam+gNhfmgp4utLUc4tcuKDRnqnbSd4GJgUMdhqSBx
uJc6XcZR70ZWFd7pWsK5jbsYytXS0aggxvK087T9zZ207+uk40AX4cEw80+cw+pLTsLqUHl7/eah
VGgJ3nl+C6ddtCpjWvd4NBxXh91t5+iBbsqqXDQsqBsqKHi4l3g0TlVzZbJo3awljdTOqSYWjmF3
2zPWfNnZ0UXXwCBWx1CF4b5QmGjrAOd8djUAAf8g+z48wEDXAK27O3B6nMxa3ERVQyXVVdU4PEPp
/EZQ8kTdI3rK5BYcCBHwBQn6QqBLWFSF5sX1VDdXYnWobHn5AyxWhXgsQVVTRVp384lQjBaa8TDG
PJYlZyyRE41Gi8LVUyznvry8nKVLl9Le3s57773H3/7t33LGGWckv1+wYAELFiwARtadkWWZjo6O
go1VBAWbw4wSNGYxWUEjSVJa1+mJFi7Ml6CRJAmXoxtrwkYsPoeEngBiWJVaEloZUkJC4QhDrxFl
xKlml89PMK6zrELiL53VhCJBYlaJyp0RBjUPuhZid6SG/25rImpxcP4cFX/kMP6ITMeghxp7Aos8
9FDe02+lJ6wSikfQdLDIEpUOJ53hAIcG++kOhtD9UUJyhGikk4YaG1JHkCO7OhistOD4WBPvHu0g
Eo/TGQywvauLcCKBisTh1/YR8bhZ3djEG/vamKU14qlxEYhFaXMkOKmuhkQ0TvfWVvrjTo77+OXM
mvUeYGGQq9AZetDFtASd/QHefeND9r29H39fALvdyqAviMNjo2lRA5IiI33kHrI6rLTuamfRacdN
6ppU1Hmp+Khvk67rbH31Qwa6/cgWmX2bWzjlghXYXUOTvc1hxeYYvcfSgJxAdVnREx/dP/4IuI8V
GrO77HTsO8pAtx/VNiRYDu9oY+Pz77Hj3V2U15Zz/v84G7fHRXl5eVqNHGMiNayLkWCEV3/+Fv7e
QTxVbs6+/pMsPn0B7zy/hXAwQl+7j9o5NR/VwNH5+OdPTVpNy6o8nHrRiXQf6cXutFE9a/Lm/mKZ
VCfCWGMeTeQYsVJOpzOZBTnVImeqLTQGfX197Nixg7q6Onw+HytXrhx3+fvuu49IJIIsy/zDP/xD
gUaKsNCYxIwSNFNpockmTmYqsNvtOJ1OIsEGIpEwOoYrTUO3rECK70aXvMQZelhK+iBxFvJ0SwBF
dpJgDqc3yvSGQrQ7XcT8Mr6DPeiqSv/KMqx2F8vKolwx/03+2mFjd38lbssgewZqOKO2HX/MRmug
kipnGS39PiKJBFIU7KFBBiwQV2VkSUKzSIRs0GaJ46mzY7crHH/KYso+MZvH9+9ElWVkVcUiKxwJ
+Gl0eYj6w1gTENd1fLEwkl1h0BfAU+PC8f+z9+Zhdl3lme9v7Xmfeagq1ax5tAbL84RnwISQOOCG
dD9hiun0BZ4E+umku+kbOtA3uUme7ktI+ulcbkguucRJgIDBBsxgAzY2tmVbkjVYs2pQzXWqTp15
nz2u+8epKkuWbGu0Jaz3H+nUOfustddeZ693f+v93k83sDSVsUqFkZ8cJPRCbu7rZfvjJs4tv03n
cVqZiuvy7YEjFMeK7BkdIYwcYorEbbro0yUmBwr0rutChi9f09APmfAaeLMzrExnsM+h4m+5UKFc
qCxGK2QkGdw1wvqbVi9+xm24PP2jXew5NILuRlxz7Ro2vm0tdsKiP5Ykfk0P9WdHEIaKsSLLmvla
V1EYEYYRdtKmWmw51Dq1JtPHZtA0FTtu06g4bPveduLpOJVShVVXLyPbkVl0Oj7eCPCr/+0bzIzM
IRSYLE/zoy//jF/7vXeSbk/y03/4BbmuDP3rexCKoF52aFZd4pmXo1h2wlo06nur4WzMAF+plboY
SM6bTSb/7u/+DkVRsG2bDRs2cPXVV7Nr166T6kG9Etlslj/7sz+jXq/z0ksv0d391pyHlzLeUoTm
fOFMCM3ZGPedj3ZPt19RFM3XOkqiiTsx5C+AiFBZhW7cTuTWEHK05SIsJVLEOFi7lb3F7URS0hZr
0BWPY6kaE/Uabr9BZs1yar5Hp2FyU3cvV2V/Rs2H5ckaeSvADS3a7D72l3uYC2IoooShahBGqL4E
KajKECVqFWBEVZCmSmioiLrE90O0mMbV915FJhnje+PDlH0XXQiuWdLJgWKRUEbkkjEUyyIE4qqO
FjUXt2T8MGRFOsPQ+CzSCUgnbIYrFVLtKbbt3UVPs5O3dfexPJ3m5+OjKEBtpEyz2iSIKZhlHxVB
U28VgOxZ00XhWJHKTA0pJS85JbQ1Btr4GM9PTfD+1euI62dX20iG8hXWybT0L8fhJ999nkeHhvGn
akhNYeLp3bh1l+vefSWjTxzhCpHgyIYuhCq4+zeuR9k7wzMPvoDn+sTTMa68awPp9iR7njhAcbzE
1EABI2bw9LdfoK0vx9jBCdZes4rBl4Z5/ns7ufc/vIv2vvxi+3ueOMDAjmFe/MlL9K7pIplNYNkW
TskjlUqx9c5NlAtVqrO1xSgWgGZcmLIIb/aiejY4H30+G5JzqtT+c8GbPfb3338/a9euXXw9NdXK
nKxUKuTz+Vc7bBHxeJzbb7+dP/iDP+BLX/rSedFdvh4ubzmdH1wmNGeB0yEWx+tkztS471zafT28
Vr8C5SYCeSMtNaaCiSBU70SENVQ5jBQ6R2o38qnHn8TxfYJIUvZcgihkrFbDFgrl0GWsVmVr+xJ+
d+vVhFJSqat0WB7d1hShjCh7GY7WNiBI0BaLUwsjjswVMZsSIxRIAUoYISwVPVKoilY9JCNrkU4Z
GF0mjTaTZwrj3GEv44buHo5VypiahheGXNHWTsP3mXOb1DctITFQQ3Ul1yUzhOt7KTt1uuIJnMCj
HHjUXI+aEjGheJghZIVNIwh4aOAIH91wBUEUUS5UmKvU0UyNSIDn1dHjJtgqW9+5CU3XuOqdmyhP
VxipVFDrMRJWa1snkpJnJsa5u/9k35qF6zk1NMPUYAErYbJy61JU7eWbaLojhRU3Cf0QRVNo1t0T
HIqjMOLFZhmqLvq8+HbWa1Ks1BncPYKUkmX5LMvyWXwvoKMcMe54rLx6WUsXY2rsfOwl7v7I27il
/Tp+/P8+jp2xceYaqIbG0O5jdPS38+zD25krlAiCkL/51D/y6a98jHg6xqHnjrLtoe0YtonnuBx8
/iirr12OYenEUzGiKMK2bW55z/X84x8/SLPmEM/F2HLnRuyEfR6jBS5J/ieamELxVuLqnzpP3/vG
4EKlO5+K5CxUhn9lav+5kpw3m8ycCh0dHWQyGXbt2sWdd955WseEYUi5XMZxHBKJ1/a4Oi+4uIbs
ksVbitCczy2nV8O56mRer92zJTSn3S8hWAgHSCkRioqnvHvx7T98+rs0fB9NURBEeGE4L+SFWhiS
0A0kLadfXVUZK5cZLFrclD+Iqbr4UpAzyxyr1Kn6CXyhsDaXo+g4+KKB2vBomuASkShL7L44cU3F
0lQiKemIxSi5HqszKQpNh28fOcR9q9fy7MQYM45DyjS5dkkXuqLw8MARzNUq2Sv6uamzFyyNZCaN
bDhoisKfP/csoalgLc3gj1aYDFz6/BiOKjk6USCRijFaq7E8lWbHzqPIlE7t2nb8kQrGeB0/pRK0
2ezecZRYqrVVku3MUIqBMlR8eUhpkZpTYf9MgX/6wZOUdk/QnklyRSbH3FSZ69595eK1VlSFq+/Z
wrG9o/heQM/azhMyqBRVQdEVQinxqk0URaAkDKSQqJqCOC68IwBkq+7S8bqb0A8JvBA7adGsuZQn
yzSqDoqqkuvK4NSa1OZq+F4rwlj05/jBl37Kff/pVxnaM4Jhm1TmaghDoz5TY3DXCKuuWcZtv3UT
tVqNKIp45tvb6ViZJ3QDBArdKzppb29tfb3ScO5sFvaM+Bwm21ovgp0g56jxmTP+njcLbyQZWCil
8lokxzAMpJRndG0uRkIjhODee+/la1/7GvF4nC1btmAYBkNDQzz//PN84AMfYNeuXXR2tuZjo9Hg
a1/7GsuXL39jyEyrl29QO7/ceEsRmvOJUwl0F/Qonuedk3Hf67V5pjhj/Y5solCGyEf1n8SImvjc
SCQyNIJw0etFURSaYUjWthmqVogAVQgiKbE0nd0zBYbLJVbFRvAjiRuZeKGCROU9S3fyVy/dzhND
R+lJJLlySSd7BIiBOQ40q4QJHTdlYCmwKpPhd7deQ862+dqBfURSYsyHgWuehxMGvK23nx3Tk/zL
wQP8aHCQ+pFpkoMNEm1J/FuX8z8PvEgoI2qhxBaCP7jmenqSCQ6V5yj3WYi0IC1UqvWA4thcK8vK
KDHd3csd/UvZFk/wRL1CKhWj0iNpvE1jhW+S7Ugx1qyz9/EDtPXksJMWvYkkKcPADUNUIWhGIVd1
dJw0zFXP5TuHDtA4VkKzDaabDna9wjIvpFlzT8jw0fRWivYr4Tkeh14YZKlrsD+pYMxGBM2QtKFz
5Q1r6VrewfTwDJEfMX54mkbFIdGWJJlLUByfQzM0ZCQxbAPd1Aj8kIFdxxCKwIpbSCkJ/ZBY3GKm
7qHqKooiiKdjTBydBlolD47sHeHA0XGkArLDYvmda1i/YSntvS1hr1Np4lQc7KRNM4xwKg47n9hD
vM06YSFNJBLouk4URSdFC1779xShMXz8JEaJjrz2PL/I8GaTgTMhOccTnONJzvkQBO/fv58HH3yw
VZLjhhu4++67T3g/CAIeeOABRkdHicVifPjDHyafz1Ov16lWq3z5y1/mhhtu4L777ls85sorr8Q0
TR599FG+9a1voes6nZ2dixGbcrnMQw89RK1WwzRNNm3axO///u+f03lcxhuPy4TmLHE8oTlZj3Jh
/CHOlNCcjc+NEh3Bir6JylHU8hSCHgSr0MRLONxPyjTwwoBGGCClxFJVNuXb2T45gR8GSEXFUFXW
ZHOAJJSShG7zpQNbKLo2phLy3mWHqLrghxH1wKfseQxUyvzJzbfxLfsAA+PjBKEPqouhlBirRDx2
bIg7+vpps22Kx91wBQJDUSk3m3xp104UIaiPlZkcnKLthVkStYjCkWkm7+kmY5rELItC0+P3n3yc
mK4xWamQMA3iuTjRwVkigJiGRNBZFxRGylgrYtQdn2zBx3FcTFMgOuJYrkHQ8JBxBSmhVq5jJy10
ReWu5BK+9/A2PD/k2mtX0WafnL5dbjbxwhAW5pFQKLseUo+jaK/uczQ5WODw8wOEQUhhtEjP6k70
QpOrHRvnpiVkYjarfJN0PoFh6VzzK1fy2N//HK/p072qg4lDE+R7s+S6s5QLVYyYwda3txx5m7Um
yXwCGUpmxoooQsGMGbz9t2/jO3/5I6qzVaIIAi+g/4qWaPLad2/lx8/sJfJDVF3FXpZnTPNZ5708
3xRNQQIzY0XGDk6CkEwcnWb5xl561nadciFd0H0kk8lFkvPKhfRlAqAgOT7TS77i9cWPN5vQnAqv
R3IWCKiUkr/9278llUqxatUqUqnUSanQp4MoivjmN7/Jxz/+cTKZDF/4whcWfWIW8OyzzxKLxfjD
P/xDduzYwXe/+10+8pGPoGkan/jEJ5iYmGBiYuKk716/fj3r15/s0wRw6623cuutty6+fsMFwRfX
Zb9kcZnQnCVarqwqiUTirApcXkgIIRb3xc/E5wbAlN9H5SgKswhcFAZRMIlkH7p4mn9/1fX8jxe2
YXp+q74S8MD+vS39ioxos2xCJAeKM9S8JlMNh2fGlrMxdxhdhJRcg//ywtsAlarvYSgKkZQ0PI8v
vLANrRrgFuts6Z3iA+v2Y2gRmlA4Wlf4l0MNruroYLTa8kFRhMI1nUuwNI2d01O4QUBM1aiNzBHV
PeY6DMRshcqeMZybsrR3tkhFMwqpuk3iWpKsbVHzfdosm6RhQ6FJ0tMQgPRCquUKP/36z4GIrhVL
kJFkslGnik/lx+MogSSRTuKutbDTMaqeh+KFPPetF+iLxUCH0eeG6cik6Fvfc8JYpy0LQ1VJbVzC
7FND+FFEW0yjd23XSWnY1WINKUHRBN//X49Smqrg+wFEEjveMr7LY2BORCzblMOpNRd1OIalM24E
vLhGEFBEQxAWS3Su7GD9ijz/avXaRaIcS9nEUzF0QyPXnaVRabBy61Jued/1PPe9neydmAMBjUrL
EA9a0aO+D14FabNVJsHScZsume7MYv/thEXvui5+8vdPtbbBFIW+DT0c2HaUnvk6TscjDEMcx8Fx
nMW/aZq26MVi2zaaphGG4WIUp+l+FDv6v1GYA9GBq30cLk7vuVPiYiQ0p8KrkZx169YxODjII488
wsDAAKZp0t/fz/ve977TLqw7PDxMW1sbbW2toqZbt25lz549JxCaPXv2cM899wCwZcsWvvWtbyGl
xDRNVqxYQaFQOI9n+wbh4r/slwTecoTmfAhrhRAIIUgmkziO87pVns8XTqfvtm1j2zbNZpNSqXTG
N0ghXQR1WEzfFiiUiOgFVK5oa+c/X3cj3zi0n70zM8w2GqiqQtIwyZgWINnSvoRSs8lwtYqqqMx6
Ks9OraQrNsukE6Pm6yhSRwhozm/LRFIyWq2iFl1CHd635iChVKn7GkndY2XiIb4zdB9BFDFaq7Iy
neHazm425tv55xd389zAMUZnCqQagvpMDSFA8yJk3SOqu2jjDSq6iZWNU6w3iI3VCUoVTFtgbcjT
HU+irbMxSpNUghAFQRCG3Hz1WiYeO8Qaw+JZWttqcU0lV4dcdx6jKbENAzWX5GeVAo7n0xgqYvo+
Ji1RsKKq7P35QdIdKVL5l59aE7rBr69Zy0P+XvJ3riTvwj3rVpNte/nmL6Xk+e/vYmZkFolk5tgs
g3uOYcUsdFNjbqpCYbjAymtWMLhzGM1UcWpNcl0ZEtn56Jzn8WysgRCCAMmAcEkKhUwY8NTEGE4Y
8J5lK8nZNoqq8I77b+MH/8/PUBTBsk1ruPujtzJ9bIZGtUl7X44gCDFMjckj09TLDeLpGP2pFPW7
V1F/cQK/6dOxtIsrbnw5rRxg/Y2rOfLCICCwkxaqphIGp884giAgCIITSM5CpEDXdYz4fajibgLv
GELtRwliaGH9kimUeKkQmlMhDENWr17Npk2bsG2bYrHI7Ows4+PjWNbpmyOWy2Wy2ezi60wmw/Dw
8Kt+RlVVLMuiXq+/gXqXC4DLWU7nBW85QnOuWNDJSCmp1WpvaFTmtQjNQvg3DMNz8rkJRQ+a3IHE
RC4SmwgpVDxxK8+Mj/H4yDAHirOU3SbNKMRSBFXPI6nrFH2PfbMzlNwm7fEESd0gb1pUPcFks2de
UCxYmkpzeK5IKCWRlGhCQRUCNZIoSDQREdKKMAgJmnSpex4HirMEUcSBsIgXRfx0537GJ4vMTJZR
bMmsIdAsBXXWJb1njqgZoOkKyX1lhjs0pNsgCEJqWoid0FBHarjVJvq7cty4cilXbNjMC88eoBoE
XH3zOrpzacrpUdSay21qlqmwScI0MGsu5uaXdTHbtArrPB9bVdHakgzUB1na20WpUGZs/wT5vjzb
f7AboQg6+ttYfmU/Rs5gbSbPe+xOpCnpWNp2UomDyYECM2NFsDWKtQa7nz6EU2yQzIZohopmaZRn
ahx67iiqorDl7ito78lj2DrNuotTcTg4PIWmKvheiEMAugRbZ67uMOs1edL3KTab3NnbT3rS5cWf
vER7fw4pJRtuWYOmq6iKiozkomeMlBKUloYnno5xR18/mqIwkU4Q1w3e0b/0lOVB+q/oZXJgGlVT
8RyPnnWt6IygRIJ/BJo4vIOATac1Xxe2no6HrveTTqfRNEk2m130yDl+u+piJDmXMqFZgKIoi/ep
4yMt54LTeQC91EtkXOKX/aLBZUJzmnilTiYWO3NL+3PFqQiNqqrE43EURaFWq51z1V5X+QBKOIvG
DqToQ4oMzegWPHE3gogdU2PYmk4kIZIQRBG1eVJX9z1iqoqmqihCYbJWpT3fzo1d3Tw2MkzN84iA
WCBpDpewAh8nq7U0JAIURZD0BYGiUnYsEpaHRkRM8ZgrmujDVYa6XAxdQ2u6pE2T7ZNjRJaC16FC
M0BEkkSgYD4+Tm1zG82sgaoIosE54k/4hJrA7kzSXJZgjoi+7hQ3Rgnev+lKzHnzu9vfdfUJY3LV
2zex+2f7EBWHteksm+/YwPOPvMjcRAWkRKgCc3lsMRSPrWCuynDs0CjDe0dId6RZtXkp+585gu/6
GIbFtm/v5LbfvJEdP9zLzOQsQsDArhGuf89WdFOjXm7gOT61Up1Z3+XF6RmKBybxjRDdFFCsEUtb
WDETRVOZ0QLqqmTkm09x6zVrMXSd8cNTOJUGqZ4s2lABVqTQEwoyCvFKDuOjFSIVeno7sDWNZybH
6f9FETvx8hP1vqcO0rmig2Q+zrKNvRzYdhjNbGkmVmxdSjLXeipWhcLtvf2vO78237GeVD7B3GSZ
bFeG5Zv7EDTIiD9CZRoQGLxERf57/NMkNa/EQp0jx3FoNpuLJRsWCkAmk0kURTlJdPxm10b6ZSA0
55p6nk6nmZubW3xdKpVOMsRb+Ewmk1nc+noz7seXcfHhLUdoznTL6XjCUK/XFwnDha5+fSocXxRT
CEEsFsM0TRqNxgn72ecEoeFov4eQZWyzCWoHXsPDih5AkQV0meRAqZ2iE1HzvcWNKV1VSRkmYRRx
aHYWTRGYQiFnWaiKymY7w+RTh6kX6zR0SbU9RrtpoO+vUrypA89QsFSV2IoczT2T/PW2zfyHG18g
G28yNpfgr396HZVmHW/aQ+lMkbIMXhgfx5MhulQIVYG0VYQXEdgazq8tA1tvEY5AUtJVjEggNYiG
y9gdNulEnB7LptOxFsnMqaCbGlffs/mEv2WXZDi0bQDf9Um1JVlzx3qqUYSuKPhRRGd3jozXoFFz
EEKw84m9+G6AIgSB76ObGi88sgtD1+nobCMIQ9ymx/ihKSqzVfY/cwgZSXRTY19xmkiDyAtRJTSW
mCjDDkGxTrotycjMHNVCgJ6P4c85/DAM+FfvuI7SVBkpJe2ayho7ya690yhb2ohPVZECAkPBHG8Q
fG+c6m9tJba+Y77uUuuqhn7I3icPMLR3jO7lS1ixZRlLVrYxOVigd003W+7ecMqima85vYRg+ZZ+
lh/nQq+zF5VxAy/R6AAAIABJREFUmBfxCppY/OisCc1COwvkYCErx/M86vX64vsLomPbtkmn0wgh
TojivNFlA35ZCM25nEN/fz8zMzPMzs6STqfZuXMnH/zgB0/4zMaNG3n++edZvnw5u3btYvXq1Zd8
hOayhub84C1HaE4Xr0cY3ixCI4TANE3i8fgFSw8HkCJNpCxBVVQM+TUUOQfCot2CqXoFL7RacVIh
0BWFZZkshUadiuciEUQSHBlyY1c36/PtfO6rX0GbbWAVHfTBMkJV0JckUDtsVk1KVF3gRh7pDovx
NSlqvs9//enNLVscQyWvKajSIe4JfBkxW63TDEOSgYLr+AhLJfIitGaIZRq43TGSMx6ekITFBlHO
Qsy6qKqCaqhENR/NiMh6ks13bTijsWnWXUYPjrP6muWtsYok5kCD9JY2Sq5LJlIZ/8kQ40HLEFBK
SW2ujqooZDtbT5Vu02VuukQ8mcBKt0oIqIpA+nBs9zhtS/I0nVY79VIZ0ZlA5m2apQYiVJCWQhCA
mY9Tm5zBm2kQ1FxEICnrZZrzxFsAYRASq4WsnAwRUwWmh2aoztXwgwjV1nBUwfS2Y2zNZUi1JZk8
OkWEZPfPDhD5AaqqcLTsoKiCtTev4m3vv+H8zjViwCvdWM1TffT8tSnl6xaAPN5R91w9ck4HvwyE
RlGUc4p0qarK+973Pr70pS8RRRHXX389XV1dPPLII/T397Nx40ZuuOEGHnjgAf74j/+YWCzGhz70
ocXjP//5z+O6LkEQsGfPHj7+8Y+fICi+aHFZQ3NecJnQnAILwlrXdV+VMLwZhGYhlVVV1QuaHr6A
hXNUqIJoTZV2W5K3ApxQRQkUVEXBC0MqrktMVSlJiaosmPNJ/mbPLj5z5XWERQdFU1FLrW0nKVum
b854FefZIbqXdrCuLcehp49Bj0BdmkBmTczROoERIaZ94nWfys0ZZARGEBEqCnpCQXdDHE+izgRQ
89HmAqzeNqx+C7/sECRUqHjE3QirLKnLgFXtOe7cup7b167CsFsFGQMvYMeP91CZqaEbKpvu2ECu
K3PSuIR+CLQWn4nDU9QrDpklKe591xaiMOJnDzxNs+5SK9Zwqi7ZJWkSmTiqrpBsS9CoOrz46B50
U6dSrFPfkqP96l7SUuO9G5ZQq9aICBncfQxFKOSNGIUgxEmo+DkLc7qBdEPsNXkKTQev6hEGIVHD
RzFVmKiw59F9KIqgVqyR68kgEARuiOc41Ep1fCdoXSI/QlE1zNE6zZ8MMpl0GTuwg6O7oFFT0S2d
eDpOMpdgZmyOrpnzZxS5ACdaRxheQUrbi6ZIIjqp8cHXP/A1cDbk4FQFIM+PR86F6/PFhvNxDhs2
bGDDhhMfMn7lV35l8f+6rvPRj370lMf+0R/90Tm1/WZBXNqX/aLBW47QvNaPbaHQ3oLt9WsRhjeS
0CiKQiwWwzCMxb69kQhYjiGPgbDYkA0wVYOMFScjFMrNJl2xBH2JBEW3yWyziaVqNMMAP5I4gc8j
I0O0mRZF1yM0dXzNJYwinKaHoWlkMinaUgn6kyn26lPo4w2cpQmkJvD6EzDTwM7HMW5uo+BUIIIY
KqulyYwIyNs21aMF1EZAOOcjBHQ+OsXEhjiqBLvmkdg2DcNVpFDo60yzYnedwrH9KJ95ORNnz88P
MD08g4wkMmGy44e7ufm+azm8fQihKKy7YQVjh6aYm5ijNFth5GCV2mwDkKi6wgs/2M26G1ZSLdZo
VBxmx0popsbg3hE6V7Sz+toVVKYrSAlWwsKKWQz2GRSMgLBaQ9/cy3N+mVjKol5u4DoeCFiztgtn
cAxPCakP1TBrAWgKUdmlgUvOtpgOfGQYERZ90vkEvuNRGJmle3U300Oz9F/Rw+HtA8xNlhbTrZGg
ayox28KbrGKtrnHPe3fz4382WNKlcHhPkmOHBIXRIolsHN8N6F37ev4cPkn+Gk0cI5JxqvweEa8u
DPXCkC++uIPR2g18cEWV9dk5OhJbkJxbxsr5IgevlqJ8Zh45b2yf30xcLJW2Lzlc2pf9osFbjtCc
CmcjrD1ez3IhcXwadrVaxbbtC9KOiCYx5GOAwBXvASW1SNoCcQMoPpo8RF/G5BPX3cb/eG4/fuCz
IZenM5Hg322+Ek0o/JtHHqbkNgmiiKRhkLdjWIbGxNv7CL93mFAHmTRo9sdQdBXHUNDMgKM5h0Ks
THNpAnsypAYEQKhAvCdDLJWm2HSI6zqqhDAMCISkX7HpqsL4wTpLEnFUdCYKZfxigy39eUpHpglm
HfxZjzBvY7kCp+Zy4JkjxLNxvvV/PcL7//N7ADj03FFmRueYHZsj8HwSmTg7H9sLEjzX4yv/sUSq
K8XstW3QHafkOay1bFYbcZL5JFMD01hxk6E9I8yMFEERGKaGb2kYlkEsaRNL2hzcdhQhBGOHJpi7
OYcIIiozVQxVY9Spcv9v38YvvvU804MzdKxoo703h/7UIRKlOqEbEQpQVEFQ8+jsyOE1mqjTTaKo
FR2LVI/SZIVcZ5ZkNkZ7f54jOwZJ5pOUpyqoiiCMJFKA7/pUmgHxXAwlmmVgr8B3FRCCFRtqjA/H
Cf0ARVG552N3sGTZa2etJPlrLPE4IEBI0vwfzMm/oKXLCef/fflB4IfDg0zUa/zWip9z05IDCCHR
5fdIiWkqF2nZgrPxyDlVNtYvI34ZSNllXLp4yxGa439sCwZ0hmGcsbD2QkdoFqJFQRAspmFrmnZB
2hTRBPHo8ygUgQhT/piq/AJSdrbaEwJEB6Y+i6JYbNQ6+eKtXWybGAcB13d2Y2ut4nZ/dcfdfHXf
Xl6cniZu6KzN5jkyN0c9q2F9ZBPVUgnn0AzqpIOrC/pvlli1KmE5oFkr4so4pZVJaAQYUmClTNri
cRqBT9a0CCNJw/fQNIUR6dKlq7SvzuO8IBiUTVYIm3Z0aopOXzzBePUYfr2JbHoIR+B4re0iJa+i
qC1Ssf/pw4wfneDQcwNUiw3suIFu6kwOThNFko6+PLOjc1RLDcb7TJrFEla9gRUzmV5hs6EZBwlh
GDGyf7xFjEstfx7d1Ei3JSlNlzm2b4xkPkFbT5b9zxwhiiSEEUHTx0cw+Pwg625egxU3uetDt9C9
agkDLw4zenACIQSaoZM3dZymS3xJkpRtk8olOPLCQIsuBBGBhHKhTL3SIJGOsXR9H2P7Jxk7OIVm
qBgxA98LUEXrSVqGkOlMkuvOMjFUxI7btPe4jA2YGLaCFdfZeOsVfPwvPoIZM6jVaifNn8psjdJU
mXx3lmx2mJcJi0CliKBIkr9DE0cBnYa8lyZvB6DkuWhCYW16GCFeFvHqymGQAWd7i3qjF9ZTeeRo
mrYYyYnH44vp48dvVy2kj/+yEIGFtO3LOENc1tCcF7zlCM0Cjo98nI2w9kIRmteKFl2oNg35o3ky
05oOgjqm/Coh/xGAmH4UK3yYsHmEUFYx+WdSyqe5o/+qk76rK5HkP113I48MHGFfcRaBpNRsMuM2
qXkubhAQLI0TW54kEoJfXfsUj4/3o+V8pA9dpsfouEmoqURAVPYJ7YhARqheiHB8rIpPpIIhwctG
pJIxYpu7cF+aYspzWJqOkWxLIAAzYeIdmoFagFQFgRAIATKKaOvOgYDtP95FMpcg25mhUWpQnasT
S9lICVEQUZwo49RcfMfHtQSEEs/xiMKQcFbh8FiF5fksdsJi+w93oZs6PWs6mRmdpTbXoDZbJ9We
wGt4jBbGuenea4hlLJ57+EUSu+YQeY3IqTM7UKZ4qMZzd0m23LmB3nVdeK7PvmcO47senuPjez7t
fTniyRiBH7bEvV6I781vj4p5rbaUBH7I0w8/hxkzcR2PeDaF2/CxYhau4yGUFvVYsrwDRVXw3Cy6
4XHDPQ4Ht3sMHMxx52/dxrs/eRd2XKA3/xBTHEViUpMfxuNaDj57hB0/3tNyMVYFH/q0QjopWSA1
ESYxHsIQO1gQ/sbFP+HJLUR08LauHnYVpgmlstB9dEVFonGyUPjSwgLJOR6LJoDzDyzHkxxokaCL
0SPndHGhKob/0uMyBzwveMsRGl3XyWQyJ0Q+zgbnm1ycThr2hYsKRSz8ogQOgioGv0B6/zua9UlE
9Ayh9yxQQ6AiiGHKbxOFCiZPAxGhWIcn7lqsS3RX/zLW5/IUXZfxapVDc7MnuNA3oghTERgiwsTH
lwJ08L3WxoQRQSjA0SPmmg5LzQRupUHNcRCRpGkomEKh3KgTCEnnhi4KKYOkr3BDWy+b79zAvzz0
C6wXwItZ+FETGUqiMCKdTZJqS4GAtt4cURhhJyzspEmuO0OpUMN1PBLpGHPzVaedarNVxHHWpZ4z
USKJETfp7m1jXdxkcv8EjapDZaaGabciPIEXohsaSzf3MTVUYGpohmxnimP7x1i6oZfuNV0EL40x
s30GP4gQoWR4V5HD2Qx7nziApivseeIg9XIDw9QxbANVE5QLVRLZOFbKZOpogQUNtpgXKgtVkGhL
ksolKIzMksjGSWRjzE2UMUytVSdKGERBRCQlheEZ+tb2EIh+ll25gd4rKixZl+eq6L0s3CJ0769Q
w22L992k+BKz0Tp2P34AK/6yb80PvnE9993volIkwqYmP4zNkxxPTgRVVCaI6GB5OsPvbNzMzrk7
ebv1fbKmgxAWDfkrgKDQaDBcrdAdT9B9Bk6wF2vEYyE602g0ABY9ckyzldWVy+VO8MhZiOS82R45
p4uLddwvelwesvOCtxyhCYLgvBjQnU9yseA+/FpZVQu4EITG49cw+SnQRFAFJCoBRAeR5f9KFFVR
aCAQQISkBjSx5YNI0coC0qLniUSS2eAKvnXwRYqeRBMWm9s7aAQ+IS3adDxUoTBWT3OTOcSzzV5c
oVF1DaTjoxkCNEEkIB+Ps6QkCKVJo1JhKiUQzZAoCtBmmmyTR7l+8yr6szF+c/U6lswXxbvr3ut5
4cEd2B0JhGxpRkyp0L2yg3xfnp5VS2hf2oaiKsxNzrFsYx+6oTM5WEAzdOyUTRRFzIzNoagt3Ym5
u4ivCYKeGFHFpWdflalykfHDk+S7c6iaSqlQxmt6KKqGHTc5/PwgybYEuqmhqAovPraXgReHiUKY
HS8S+gEibKV/u0HI8w/twIwbBF5EvdJoZSQtzAkBPauXsP6mNYweGEczVKIoQtVUoiBC1RR0Q8e0
DIQC2Y40yWyLCLT15jBiBtODBapzLRdoRUAkwHEcbvvNm1h3+1U88k87adZdEpl93HLfdRi2jmiO
E/gCGfmEYYSMppmZ2nfSXK1WkszJL86Xy0gBOgeLo/xiwiOhBfzrVcPYWpaQvsVj1mbzrM1+CLiH
GocI5DJCetlZmOKbhw8RyFb6+zv6l3HHaZj3waWzsC545ERRhGVZFAqFRZJjGMZJRoDH63EuRpJz
WRR8GW8m3nKEZiHl8lxxPgjNmVbpvlA3aKm2UY2+gB39L3SxH5WISFjIKEJhYp7MBMzHTmh5hGjI
E566a5Tr/x9fP5xByohNKUEkVvO1A12szmTYWZgmkgtRIDAUhbiu88Nt67jd2M7a/mmmy3G2H1mG
pgU0DZVkSaJ0J1mVySBnSkRI+kKD2UaD0I+I7ZxDKCCPNemJ9fCuX7+epPmyf4l7pEjcg6mJCnrM
QJMgfMkt913Pbf/6RmQk0QwN3/V5+uEXKI7OMTlYoL0vD6KV8lyeqSHDCKGrCFWAG5LcO4c4WGZJ
Zw5raxbfDagVGy3hb9pierhAFEo0Q9KIopZWRhU41SZDe0aIwgjX8ZGLW1eyFWERAlVRiGTE7HgZ
O262QvhBiFMNQSgoqiCZbzmn1kp1ZsdK6JZOUtcJggAhwHU8nJqDGTNYe+NKpodmCMMIJFz/nqt4
+tvPo5ktobKiCjw34P3/5ddZsaWfR770UwZ3DaPrDqkc1KolrrprK89+08CvJ4knA975byoIEWf7
owXaerIURooYlo7X9Fh51XJAJSIPwJ6ZAn+7rwMdHynr7C918plrrgU1d9I8jOjA5eVyEo8eG0ZT
FbR5o7+fj41ye0/fpW+idgq8mhHgAhY8cnRdJxaLoestzdor08ffbDJxqRDJiw6Xh+y84C1HaM4X
zoXQKIpCPB5H07QzqtJ9IYXIutWLGfszosr/Sehtb7VFjXn6QUQeQWm+xlMbTd6Pxffnf4cBXjDI
kxPt1AMFUNg2bXF3zz5iWhIvStGfSnGsUiGQEl1RsFSNf7tiA+N79/Hc4+1M9ptEWYNEqY7bHSNY
msZeYuEEAcWGQ19vmpnD06wjzs7QIfZSCaEJtLiB1FTkQAkzenlsihNzbP/Bbm68ezPbvruDUqFC
Kp/gff/+3Wx9x2acqsPun+3HdTxS7UmufudmXvjBLrpWd3B0+zEMS6XZaCIUUE2NwA+R7jzhVEDo
KrVSjSAI0U0diaQwMkuz1iQMIwStopR+s7XIOGVBFIHveoBgZqSIYRsYlkEYRUR+2BrLln0PYRAS
+CFRGIEiWttDYYhuGhzdNcjU8DTVmToSiVtvEgYSO2EQeAH9G/uJJSw8x2P88BRrrl1B4Idku9Ks
2NrP1FCBl548yNRwAafSxE7abH/kaVR5iMbUs/xvn9lOrr2G29QoTD7FU9/+DRTjBoLyDNVShR9/
w6Zz1W0ImWLrHVv44d/+lImRAh0r8rg1lye//izdazpZuXUZPx8bbQmQ6QMBxxoBo9UJNmT+Ox5b
aPKOV52T0SsWxghJhETl9X8Dl9rC+nr9PZVHjqIoJ4iODcNYJEPHE503ahwutTG/qHBZFHxe8JYj
NOfrB3e25CIWi2FZFo7jUK2ef5OyM8XxIuRqrUbkv5s4+1AoEhFDRRDSgaABqIT001D+AKlkcSMH
Q/4CIRuM1ZIcKi1BoUkoJbbqM1Cx2ZS3mHJa+o7+ZIo518XWNNo1iye/+jRrsjlW5jI0x+aQikaY
sXE35LA0jZxloykKIZJ3XrGOvo1X8p3//n16OgzKmgJVn7BaQ8YtdoQj3O165O2Wff7kYAFNV1BU
hRvvvYYwjEjk4uzfdpTnf7ib4X0jJHJxuld2EsvY7Hh0D/VynaE9o3iOR6Pi4Dk+VswEZV5pG7Fo
RhcFLvUIXnryILqhUy83QIDvtpx1wzDCb7YigaqmoWoKBBIJSBkhELh1F1VTyHVnKM9U0XSVTGca
O26hKEU8N4CwNXaJTIz0khRzU2Xcukdtto7nBq1NwCiazy4BoSqEbgAJMGwD3dS47levRNFUlixr
46UnD3F05yBzk2Waleb8olinfOwxDj3R4IOfmiaZbpnuGWYAFNm45Uc8/dNfw6nfyMDuYdyaS763
ipU8zMTwZKt/uRj7f3EYAlh15XImD87QviRPXH8JVdYRQiGkB10UyGo/xhIlTJ5Gk8eo8bFTzs0r
cm08MzmGrqr4YcQV+TyqOD2rhEttcT1bI8Bms3mSR87CdtUrjQCPJzoXYmwutTG/mHDZWO/84C1H
aM4XzpTQLGQ1+L5/XsTI53rjEEJg2zaWZb0sQpZ1YnyXkGVEJFHwQEsT+fn5gzwc8TtIJQtAoNxE
IG8A2aQhv4wnQ+KaixdK6oFOzvK5ZdnbkFh89+gRdkxPtVLldZ3uCR9HVdlbLpJalaZnRqeW11Hf
1ouMXFKajjM4h9/waE/EGM5Ps3bVKuLpGFtiNrtTNRpDk2BqaHpEdbzMw4cP8dFrW5lX+e4cgd+K
nhQnS8xNlqnMVOha3snooXEKx2aZm2r93bQNlm3qpVlxKU9XCP1WdESGkjAM8OrBiQKglpQIgEal
iVBcNF0lDCKQkkiCMp/tIWgtMhKBqiu0ZySbri8yMaQzdMCm6egtIXHMoqM/R++6TgrH5sh2ZZkd
LSIUiaIaZLrSlKcrRGGEFTOIZKvt1qSASJGEZoRpG7gNl2Q+QeAF6IbK7Pgc9bLD3icOMDtapG9d
L2OHpokisGI67V1lnLokDCCeChazroWQmFaAoMG+Zw4SeCHFyRKqppJ0feyURWF4lo5l7dRK9VYa
/NEJOlbkURSF6cP/xIdveJbPlTZT9jQQx7imbZZes4jXjICAwH0CUqcmNL+6fAU5y2KgUqI7njht
/cyliAtpBLjgkbNQt+p4j5zjic654rJ+5hxwgQnNgw8+yFNPPYWiKAgh+J3f+R1Wr179+geeZwwN
DVEsFrnqqpMzZM8HLhOaCwxVVUkkEgghqFar55ySeT4IjWmaxGIxfN8/QYRsyJ+B9EEYSLoIpYNu
3UUUDiMR+NyOVF5hrCYUEDGW597L5tIPeakIkohNbWneterdCLUlGv6tDRt5W08fX923h7xtU5sr
MFytocUMMkYMNWtx3fVruP9Xb+Wx4SG+8tgz4EXk4zFsw2DkuSH0DevQDY3OaYe9s028rhhaxceW
CqkVeaaPzVBeWuHwjkF0Q2PNtSt45qHtlAoVMm1Jmg2PkUPjTB+bbemVPFBVpWVqZxg49RYx8Zs+
MmrpWrzGK66XZDEpTGgCGUUIqRDKAKGqrRsGgjBqbU8ZsVbGk5UwiSdD0uka7d0etYpKvtNjbkZS
K7XaClyfqYFZqsU6URigGhrObBPNVClNlvEcD0VRkUAw7/YrlPk0bUVgxkxSbXFCP8Rv+gR+wNrr
V/L0gy9Qmq5gJy1qxTorr15GPB3Db3otV+QINC1iSU/LZfnlawugUq70t6JCFYdkLk6mM42mqixZ
2sbhFwZb52npRGFLlCylxGk0SSSP0W45/Nl129k9myFt+qw2y/MFMKFWURg5EqC0z9B/Rc9JGhAh
BDd393Bzd89Zz/VLBRcyuvF6HjnHk5xXuh2fCS5HaC5OHDp0iO3bt/Pnf/7n6LpOpVJ506wBhoaG
OHr06GVCczHitcjF8aZ99Xr9hL3v89Hm2WCBXAGvQq4W9lQWIEBtp6m87fX7pfbxjtX/lluDgEhK
YvOiRYA9M9PsnZnBUBQ2trUzWC6jrswitxtkPI1GsUqkKYzGAgqNOnf1L+U54yWmNRcpIUAyLpv8
4549bLxtFT/5y8foGG2iuA7a8kxLYxKGGKbO4197phXBCCOEqrB8cx+aoeO7PhMD08yOFYmCECQE
Xkiz5uI3fWrlOmbMIHDD1vie6r48r29ZeC8KWyUPFKHgewG6EKCIeU8WBTNhYCcsfC8k15mmc6nD
PfdV2P0LHb8JZkySTAfUSjrNmsuxfeNYcRNFU/Hd40iVF6AgiABVgyhopZ/rttbynlNBBhFmTEdR
FK56z5ZFcbGdsKjO1rDiJqEfoagKheFZ1ly7nO0/3EUYRDRqGje+s4RhKRzdG6dnuYtpS5qOwou/
yLDzcRcrkcZKZFENFVVRWvqeSLLxtnXMjMwShRG57iz9G7pp1l3a+nKsvDIPHCapB9zcOYMkxsHd
a1m67AUG9qn8/LsZxoaXYCa+z4f+2wdYuWkZ0yMzPPLlx6hX6ySyce744E0Y89uIp4tLcWF9s4wA
j8dreeQsEJ3XWggvm+pdnJibm1ss0QGQSrWSCj75yU/yp3/6p6RSKY4ePco//MM/8LnPfY59+/bx
la98BWjNy89//vMMDAzwjW98g0Qiwfj4OOvXr+djH/sYiqKwa9cuvvGNbxAEAUuWLOETn/gElmVx
5MgR/v7v/x7XddE0jc9+9rN8/etfx/M8Dhw4wG/8xm9w0003nddzfUsSmvMlrn01QnMmadhvBI73
uHktcuVzK5p4CeR8krVIgnEV0DjttiytNaWklBScBnsLBZ6bmiBhGERSoioK/+7a61EUhb8IQqZf
Gqf6o6M0qg2mBmf4y4Mz3HPfjdyd62bg2BQzRshBrclso8nz2w6yDchVG8SSNinfpzxQQnbGSN+2
ho1RnKlikcEXZ4kAN6ZQ9ZqkhUnKMMh2ZZg+NoOiKURBhGaquJ5H15pOpkdmKU2VUC2VMIqAU2Sc
zV9GRW+FbReKVCLAsHVUTSWzJIVTc5FRRLojReiHeIUKUQS53n6Sme1cd1eVRNpk97MxxgcTi98t
pSSKJKHrz293Rcj5LClVU1F1hWxXFm+eMNSKNVRDpVlxiWVt+tZ2I4UglmwJggd3HENVVY5sH0Ii
iSVtVmztRyiC9v48G25ZQ63YQFH7ODY0ysigw+RUG7v3rmBu7DCzI8foXubR2T3H5JCLFt9MpjPH
+KFJqsUaY4cmSXckae/NseXuK+hd04WiKcj5/jZYgc4UKlOATl3+OnPeFTzzNzGGdo9TLSdoNFKs
Wx7nJ//8c+JtEYWXPsNt76xRKeV47ok72P7dvfzaJ995TpGDSwEXAwl7NY+cBZ+c49PHT+WRc66m
evv37+fBBx9ESskNN9zA3XfffcL7QRDwwAMPMDo6SiwW48Mf/jD5fGs7/NFHH2Xbtm0IIXjve9/L
+vXrz7ofbwYupIZmy5YtfPOb3+RTn/oUmzZt4qabbjqp+OfxePjhh7n//vtZt24dzWZzkQgdOXKE
L3zhC7S3t/Mnf/InPPfcc2zYsIEHH3yQz372s1iWxXe+8x2+973vce+99/LFL36RT3/606xatYpG
o4FpmnzgAx/g6NGj3H///RfkXN+ShOZ84ZXE6EzTsM9Hm68H0zSJx+OnRa6kksGJPo4unkai44tb
sLAQwjmjm62UkoeOHOalYoGjpRIS2Nzejm2YOFFIw3UZK83hhD5TzwzhDxRQGyGmojJy9DkeHi/z
oXtvo9fJsm9mFF2Arwp0Q8eRARUD9PEayVQcZa5O3DP43fvuYvsPdzG6fxzdNhitVSgdqSA35tnb
JogrEWbYoKsnR0d3G9VSjamhaeykRTqfpF5pAILQi/DdV18wrbiJlTDRTYPKbAU7YZHIxSlNVki2
xcl3ZynPVEFKrJjJwIvHUDWF2bEiP3ugQPD/s/fmUXad5Znv7/v2eIY6Q82lkkrzYEvGlvGEByYb
g42bAIYASYcY5zarA+E2Sd/cmyxCWLeDQ5O+gSYDIbkdwhAunU4AY2IHgw22MbaxbMm2JGsealRN
59SZ97yDGcU9AAAgAElEQVS/+8euKpcsyZaskpBsPWvVsup4n7OHs2vvZ7/v8z5P42Iuu3o7fQM+
D92dp1V/4U9QxeA2vflCkJjVIiexChEohVNrYdgGF71hLeOHJgncACkl2c4scRizfNNSBAIrZVGd
rDG6d5zADVHENGLFoedGuP3/uIVcZ5ZtP95BvVQnChWl0RyxykJqLYUox+RgC90wSbVJQj9i3WUh
Q4c9KpNVzJRBupDi0LOHUVELKw17Hr2fX/+Tj9B/0euYnbJGkaWi/iuCKooUYNG9vMY9z+U59GwN
gaC9TyPVliIOY3L8Kdm1+wBJV+8RdN3hoR/dQqVSOW7lYI7kvNh47lwgB6eKc3Gbjzc+fjyPHNd1
+eu//mt6e3tZsWIFHR0dFIvFU7pOxXHMv/zLv/Dbv/3bFAoFvvCFL7Bp0yZ6e3vnl3niiSdIp9P8
0R/9EVu3buUHP/gBd9xxB+Pj42zbto0/+IM/oFqt8uUvf5lPfepTZyVrb9FwBqecbNvm85//PLt2
7WLnzp188Ytf5Nd//ddPuPyGDRv4xje+wfXXX8/VV189TxrXrFlDT08PANdddx27d+/GMAxGRkb4
9Kc/DSSkc926dYyNjVEsFlmzZg2QDMOcDbwmCc1iV2gWjmEvhmnfyazz5aDrOplMBuCUyJWSBXxu
PWZ9p3KxPdJssKM0RdY0yRgGFc9jpNlivZ0icFxEGHL3/r2UPZcwZ2AEgJTEbkDsRUw9fIgflRR2
ysLYkMX1AuIoxnc8vDgiJyRm1sZ3A7LtWfJdbfzkmz+nd1UXUpc4rk/L8cDScHI6+rI2lAfF9hxB
dZIoCrHSJks3LMF3fJqVFhNDU7gNj/ClvjsJgR9ghAZmWmFnLNK5FH4zMZvLFdpw6x4dvUWyHRnG
DkygGzIZ644VgR+xY0uR+7+5isA9QelevdDtElKgYoXUBNLQULGiVmrSsaTInl/sp9hXACHo39CL
Yegc3jHKzPgMxZ7CbAUpRkiBbmvEkSD0QioTFf7l8/eSydm4ToCKk6mrmfGZRB4UKUI/wDRdbAvs
lE7fco1tj0SEcZlWvUK93CCOYywrIPAgcKFkhtz/lW/w/j/8IO29NgHrAYPykSqtqkOxzySTh233
72DpuiXEoaJVaxFHiupUnYuvW4shx/CYFwVR6CzR1p59ycrB8YznzsfogHOR0BwPJyI51157LaOj
ozz66KMcPHgQpRQrV67kN3/zN9H1l7/NDA4O0tnZSWdnotHbvHkz27dvP4rQbN++nXe84x1AUnX4
zne+g1KK7du3s3nzZnRdp6Ojg87OTgYHB1m5cuUi7/0ZxBn+6qWUbNy4kY0bNzIwMMBDDz10VItw
4T3r3e9+N5dffjlbt27lU5/61DxZOe5mK8Ull1zCJz/5yaNeHxwcPDM78jJ4TRKaxYJSilQqhWEY
Z20M++UIzZx2xzAMWq3Woml3ThYiHiP2vo+BQFcWywsbGB6pUylN0fJc3rV6LQdrFQ7VquhSEnTa
hJ0WxkgDEcSoSBGUHYZ2jKLpguvWv4G60WDP4ckkXHF/jZlnp7AyVuJ8axoUevJ4LZ9UW4r+dX2M
Dk2hCxuhQa2QVFNMU9IabqATUZuuIw2NrmUd9K7o5LF7tuK1khthHCYp6rGKj7rICA3E7MhwHEY0
Sk2yHVkyhRTNqkO2mKatK0Oj0kIpWL5hGXueOICm68QRuA2HWMUcOTABMpl4ioLjlOfnyzMvrF4B
UiakRkqJ2/SojFcZ2XeEoOkn6d0SDMvgwLbD2BkL3dLRpcaaixtceeM05Qmdf/1aB1GU6F8mh8rE
UUQql8JteERhhJkymRoqQRyTLli0rw0ZPRhSK3lEfgbH1WlWG4R+OEuYVKIXkoIogEy6xMQzn2PN
LVWmptex5amP0KxEmLbB4R3DXHzt2sRkUMDAxf1MHJ6iXm6w5vLlXP2uy1FYWGkTr+kRRxEokzd9
6JpjDtHCm2qz2QReMJ4zTZN0Oo2Ukp6enqOqOGdqXHkxcD5nICmlWL16NZdeeilCCGq1GtVqlamp
KTTt5PK4qtUqxWJx/vdCoXDMTXHhMpqmYds2zWaTarXKihUrjnpvtVo9/R17lWBsbAwhBH19fUAi
zO3q6iIIAg4ePMjmzZt54okn5pcfHx9nYGCAgYEB9u7dy+joKJlMhv379zM5OUlnZyePP/44N954
I+vWrePv//7vGR8fp7e3F8/zKJVK9Pf3MzMzw/79+1mzZg2O48xX9RaK0xcbFwjNK4RlWRiGccyk
0JnGSxGahdqdSqWyKNv04vXJeD8G21C04Yu3gjAXLoytvsNAJqLNzICI2DO1D1vmWFYokjNMWmFI
aaZMfzbLaL1BalmBRnEc+4iEOEZaGmlNpz5dQ0jJM//2LGs3LYUDAWGjgagHaEvbUXFMY6bJRdeu
o3dFF626Q+/KTp64p0nU9GC6RSTBGNVxay5+3aM52ECbcnAmfZau70PTJTf/1pupTFd55oGdRJUI
pUJUNHvcNBIpkSYwTB3d0NFNjbZCBm/Wb0Ypgdf0WfP65fhugGWbZNpTaLYkU0jTqjt4DZc4Vkgp
sEwT3/XRUyZOcHRel5CgGzqBFyaVmtntUHEiAi505bGzFiO7jySGe7Nv91s+QhN4LR/T1Cl050jl
Uqy9eIK3v38QQUysYGrU4MmftOM1vURwLCWBFyI0iZxdD0IQRwqnHjB6uEChW2NitEljRhJ4NQIv
RIkYQzMIQ4hCMAzoWRpi6B75DocHv5Pl+aeqVMr/hKcu5opbXoedsRjcOcolb97A/f/vT8hYO+jv
r5PdZHLD+1YghKChPozW+EviwKNRs/nhP2/iivdW6Fvd87Ln6ULjOV3XKRaLlMvleZIzJ4qM4/gY
knMu4Hyp0LwU5sa2hRAUCgUKhcJpfd7JVKJPtMx55yZ9Br9613X56le/SrPZRNM0ent7+ehHP8ro
6Chf+cpX+N73vjffGgK477772LlzJ1JK+vv72bx5M3v37mXdunV861vfYmhoiIsuuoirrroKKSUf
//jH+dKXvjT/t/TBD36QJUuW8MlPfpJ/+Id/wPd9TNPk05/+NJs2beL73/8+v//7v39BFLxYOJ0L
x8JWztxT4tm8EB2P0Oi6TjabPaPaHQAt3okdfxeFCYRIMYgr/0NyJwYgQBM++WyWj78u4nv7Fc8i
WdfeTrudIgoint15iII0aOu0yZoGw1lJ/OalOB0pQlMi/Rj1XBltxCWOIw5vH2Z6pMyyDf2IdguV
VyilKHTlqJXrtBXSOE2XDdesZXTvOH2rupk8PI1W9YmbLvZ4HdHyCIMYGcdokSDUJaXRGQxLZ2Tf
EdZesYapwTJ7njyQkIgF00yGnRiV2dnZhGohEIbEK7tEoU6+O8fAxiWkc2nSeQj8kIGL+rHSJplC
iiXrNvLkD7YhUFgZi0jFICSavuDJdZY4ISAMIxARugGhLwCZ+MzEiVOw0zg2tBRmyYiCIIyoTFQJ
g5DXv2kUKz3b7vJiit0RufaQWtlE6hqGpQNJDAOApku8lp90fEJBdaqJ0zDIdeXxnDJxFBOr5IZl
ZixUKNF0D8MEpGTJKo/ufp+ffrdIui0miAJqYz57txxi4/XrUAq6lnXw/o8dYe8Tw6QzgsvfHCD0
L1Dh8zS9K/nGH7+ZXNGhVsnguTr1bz3Gr/3xe17R+RpFEWEYsvWB5xjbP0Fbe4arb7ucVCaFaZrz
48qnMslzpvBqIDSnU2XK5/PMzMzM/16pVOancV68TKFQmPfaSafTJ/Xecx1nUhS8atUqPvvZzx7z
ei6X40tf+tIxr995553H/RzLsvjd3/3dY17ftGkTn/vc5455fc2aNdx1113HvH68ZRcLr0lC80pw
vFbOnMPuLwtSyvlcl1OJUDgVLCRQhtqCEnNZSQaaGkMwjaJ79vgUMfx2Ar9BSsR8aHXIUCNLLFOE
fsjuH+5EdyP0tiy/6IuJcgYRisJAEYSOrPvoZZfKZUXahuvIQBEHIZXJKqk2myWre2i5HkKAlbUQ
KmTfcgMx2UIbHCcbCZ57aBeTg9M0ay2cupv4qsQvnOgKRRDFtBoOtek6e544wM13vom9T+5jcKeV
mOpFEZomQEjy3W30rupm8nCJKIqx0zZTh0tEYUwKaFZahH5yA4xChWkbpNps4jDiqts28/C3Hk9I
kKYR+AFyjgzEc/lNLwh/U9kUPf0Nrr5xnB/+zy6chkyqIEHiAtw74DGyz0myn070fYUKp+HhewHV
kmJgtUAYGr4v6FseECsdhSLfmaWtM0t5dAYpNayMSb3cQimFbhmo2QkrFessW99HfbJB4AeYtkGm
kMJrBay5cg09q7oInACpubzzI//G2IHZtlxsMXIgR3myRLPaZNn6XjbesAGAnt5x+t8zR7oFMTMI
VSP0bZyWju8nT/ZCcPy23MtgITl45oEd7Hx0L3baYnq4RPlIlXd89M1Hlb3nqjjHm+SZIzlnOgjy
1UJoXuk+DAwMMD09TalUIp/Ps23bNn7jN37jqGU2bdrEli1bWLlyJc8++yxr165FCMGmTZv45je/
yVve8haq1SrT09MsX758MXbp7OH8/urPGVwgNCeBVCpFKpXCdd2jWjlnMlvpRJhb58JtWvh0cibW
J9UEVnQ/hnoQkMR0oUQ3yTiLPt/qcl2XivcrWOpuBE1irY9bV9/I3fsPs//bWwkOlekMDQ5nyvSn
+qnrYHRlmfFcutd0EboBy6TNE/duI8royFmCpiLwHR8jZbByVQ/VyRrbHnmemRTwxB6sFUVGtEMs
M9IMbh/GTJlEfjQ7Cs0LFZf5nUp+7GyKRrnBnif284Z3X8G2H20nVjHabIxAHEYErZBUxuYdv/Vm
YhXz5L3PJHqYKCbwQiYGp7BsCztjIwTUyw1q5Qa5jiyV0RmqpTpW2kShiIMYqQnWbF7OgWcGsWeJ
TRhGREFSfanN+Nz/Tx04DYmQYFkxrUDSlvPJd7QY3G2iGYIolAvUwy/so6Yn7TGpS370vwa46qZR
nv15zFMPakyMtIHIkm1PphGmR2YwTJ18d5ooVkRhTBiGSSipJmerQjFhENHWmUVFMel8ikJvntJo
hd7VSZCkkTKwUhkq3EWh/39gZj0O7c2htA6sjEPnsg58L6BroINmtUXaTqPbc18MgI0ii53V6FzW
ztRQKWm9+SGrLlvGqWLhjXVo11gSXwHops7MkUrSGlzgbfPiUfCFkzypVIp8Pn/UcmciCPLVQGhO
xylY0zRuv/12vvKVrxDHMVdffTV9fX3cd999DAwMsGnTJq655hr+8R//kc9+9rOk02k+/OEPA9DX
18dll13G5z73OaSU3H777efXhNN5gDlB8bmO1yShOdkLx9yYaBiGx40rUEqd9T8cIQS2bZ9wmxYd
0SSm/zdItRtoImkgqBGrFpF+I/n8ShQLJqlkOy53zjIJWFMU/Gou4tvVbTQjK7nouS7BzinSr+9j
ul7C1WPqsYPRjNk1WkUEMVrz6LK/2/Q4sm+CNZtXcvi5QXwN4qYPNR9n6xH0S/qoKQ8lwGk4yY0Z
cJdniPIWxDHWUBOjFiR+gbMtn4nD05RnGnSt6CBTzNCsOnhegERizAqOnYbHk/duw7ANqhN1YqVQ
KMyUSegH+J5PZapK55J2LFvwwFcfobikQG2iRq3UwLQMpCZAlxiWjmHrxEGMaRvohk6zmlRGiBVu
U0dqCt8VLIwtikLFrid14jCJltLMmDDWEQIK3flEjDldRwjoXt6BYRsoqbPrwLt45hc/I9WZIRh2
sdKz26PLxDE5SIwEPdcnjmJMMyESSimstEmhK0/oBazcNMCB5w7RqDr4XsiGN6wh8EKiIMS0Da57
31VEdOHYf8ob75zha3/4z6SzkoGLl9CxpEgQRNz7Nw8m+VXaRdxwc4V1l1YBi4b6DSDZl9t//zYe
/vbj1EsNBjb2c/nbLzmt01fXNXzlv/DgIUA3XlqoeqK06zln3TORkfRqIDSnuw8XX3zxMf4ot976
wsSlYRh85CMfOe57b775Zm6++cRBp+c8zu+v/pzBa5LQvBwWBja+1Bj22azQzI2GzwmRz1qwpfcA
mtqNYByQKFIoikhjFUb+t2g5zjGTVHr8OKZ6FFCEYi0quILe/iIT7iDlsQYZX1CetHFSUF2dIf3Q
BH7ZIzYNorSk7UAV6R9N1OSsO+2jdz/F9OFJIkMjrrbAj0AI6qU6xS4dYoXvBsSxonFpO2FWx6wG
EEPr8g56nm+gh4quZR10LGvn4EyZys5DaDss/JEqOslNUNN1ENCqOTgNh8ALSedsYhXhOz6+EyB0
gUSg6Rq16QZxEOM6Hk7dhbEKjZkmcRTjRhGGaSIlpLI2tVKTQm+eermB1CX6bEUl8AIUgjAUKJJe
lJpNEM91xmhC0KxLUhmF00zGoDK5NI1ygzhS6KYOCMpHqhR6c6y6dDn1ss3Y4RSdSws0Zg7Sqjo0
oiaaIdE0ie8GiJZHq+5g2bPaGiEQUtC5tIPeNd1YlsbNtx9ia98Qmp6F9HUEQZpcMQTnSVJZj0y0
Dcn/Tkw37X1FXvemiwj9gCMHJtn24x206i69K7sYuLifMNB54J7rya+/AcPKs/AyZFg6N93x8s7U
L4WFN9Yrb9vMT77+KL4XIKXgsrdtOlq/dJI4URDk8eIDXkxyTnWbz1dcyHJ65bgQTrk4eE0SmhNd
OBY66s4HNr7M55wNQjPXXnIcB9/3550bzwqiZxG4c5PECFoYeieB7KZSrSbHUgUIGijaEKqEFT+A
EjZKQXnwYSb2DOHXpxG0sNMKw1J09zk8M9ogX/UwIwkzPlYKjH0Obv3o425YGqGlMbHEJPZD4k4b
dWAGqUuiGIRScKhCqewnY8iOh2EZ0GmjFW1YJsm2Z/GlYvNF6yk9NUwqazNWqeI2PeK6R1z1iIMI
348ggtCLMDMmrWoLK2NR7MkT+CFOrU4URkhNoJs6qYxNGIToukYYhLh1lyiKaFacpPohBaZtkcpZ
WLYJCGqT9SRVu83Ca/gsWdsDCiYGp6lMVIl8H01TSVsJQMLMpEGxMyKVhsCHWEmKPfnZaScJRLP6
ljS+G/DWX7seTWrsenQfpeEZDj4zmPjhKJUEGIYRdjaFbmqEfoSua4lTcRRjZSxAJDEJh6dZs2Ev
04NTZNtMpGzgej+iUnkL7tTTrL00MSR85qEyb+78Kyj8FwBu+MBVPPiNR5keLVPsLaCbTSqTNTzH
J3BDgiDkwW88x40fvgHD4oyhe6CD9/zndzAzXiVTSNPWnl20z46iCMdxjtHjzP2cjAngHF4NhObV
sA+/NJxBY73XEl6ThOZ4OBVH3TmcaUJzvJaXaZpnV7cjulEiBcpB4AISL7JpxW9DSYWMD2Krfwbl
o4RNoC4hiOGRIxHDQzOsCOtYqQne9O8a3Pv1iI4labqXGZRr05gzishToCfqWKWSVpBuSkIvTsaY
zSTYsZIRqKaLiCC4shu96aGPNJl/1o4SgW6sCVTGQBg6qVZMs0tgpgxWvW6AAzuGmd5xhGJ3nu6V
ncTKofn8GHrGxC87SdrB7AOm0ARSQBTF6FYy5VQ5OJm0ZWwT3dCIY0UYRNhpi+4VnTTKjSR9m4jQ
DxLxrlLEKsmMcusuYRCjaYKZ8Sp9q7voWd7FqiuXY6VMfvrNx5CawItmx07npp9icBsak56GaYFm
mmSLialfq+YgJURKoYB8V450LsVFN6zhO//tPg49O0yz0sR3A4gVxb4iQoDn+IR+iJQCp+FipUzi
We2M3/LJdWQxTIOOPgM77TC0N41uxqTbFOlUjULngyxbVWbsUJootklnJY1ymVQhob5W2mLFpmU4
dRfd1FFqgqlhh6mhEvnONjSZ5F9tf2QXl7/t9NpKCyEpkQm/jFZ3aKObOr+NlbboXdW9aOt4KZxI
j3MiE8C5/74ayMCFCs1p4Pz+6s8ZvOYJzdzIs1LqlEeezxShkVKSzWZP2PI6m4RGyQGkvgEpXMKg
RaQsmuI/g0yEkpb6fvJ0IWyEUug8x3/fnmZ/VUA9z1MiixzTed+lDS65IWZm3CCV0WjFKYxY4PWm
0IbqmCvzWKNuMl2jQOoSzdAQzI4yB5LIkISrs4RajLqqG3NikHh2CkZIkeQa5Qw0YeJPt9CfnSbb
ZsEym92P7mFgMiaXTqMZGq1ai3WXLmFkpoKaSaHKTpI9MHdhiUEgkbrEtHXalyY5UCDIdmQI3ZB0
LsXMRDXhHLEi8ELa2jO0ahrNaotYhbR1ZAjdiFbNSW5asUJIgRAwM1nnqndegVtrsu3+HQSeT7aQ
IY4UvuujCYmSCjWr+ZFSECtBvr1AoauNeqlFFMfotkk8K3SWuuTqX7kcKQUHth3GqbqEQQgk5MvK
mHT0FTi8Y4S+1T14LZ84Vlgpi46l7dRLDZrVBlbaIo4jpkZcqmM2HX0el13nsGS5y+pNLlFcRcqQ
lRvq1KsG+faQbN4g4P+hxu8BGj2rutj+yG50U6d3dTeNSpOZsSozR6qYtkGr7pK/o20xz1by4i50
dQARKWxhgII6n3z5t54hvJQJoGEY82PHUkry+fxRJOd8IzivBlJ2Aec3XpOEZk7MOxdX8EpHnudM
pBYT6XR63k3xeI6KZ/OCYVkWRvr9RE0f192HohdPvnuezKAUAi+x0QUQgprr82ypn3ZrEh/YWeuk
FRlYhy1uu2YXA1XB2P6Q3JIr6XjPpWybmKB8eJrU8xWW96WZHJxieO8orapD4MYIkZjNaWmDqOph
7I3QNUHG0JGGjh/4ib2/qRMZSTBj7qbVNHdMEM202JDtpPZcmfGDU8S5FBNmg2J3nt7VXbz1pss5
tGeUQ+0tVIeDnPHxQy/hNEIRBCGmbpAtZOhb0U0cxKTabGpTdZyGy5EDU7S1ZzAsHafuEscQRSFS
E/PbHTghcRSjGzqhlwidVZSQFMPSMQyd7VsHqZcaKCVwWj6+l0QSxCSJ4XOTS6k2G5RASpFEPvTk
OPD0IOmsTc9ly1m1eTk33XED6VyKp+9/Ditl0pxpIQRomqCtPcQypugYWI7vJWLepH0mqc80QCis
tE3Pim5SmRSNmQblCYcb3xtwy4fGSGdjTDvGSimiKKBesbHTLTK5EBVbCL2IwTNY6qd43ETHkiJX
3HIpu36+D4Vi800bObhtCEi0SY2ZJo/+85Pc8KtXz/4dKQx2IKgT8DoUp9YeEtQw2J2ck4BEoIt9
L/n0K2ihMUxMnpjeEy+4iFhoAjiH3t5eHMc5RnR8LpoAHg/nnZHdOYYLGprFwWuS0EgpKRQKuK57
WuLaxazQzLWXgiB4yemls6Hb0TSNbDaLEAI/CIm0X8WRx7GrFoJY9CDjcRA6qAAn7sJXRQ42srR8
j5rTwIhjhqa6+fHUGt66IcNbbtiMEu0AvItL+NE/PMxMb4pMW4ZDzw0SBfFsZEBCGKUm0YbraJZE
rciTCqE44ZFa1cXY3nECPyIMQlTKIupM0XPtSmqmQXnHOH7Lozwyg9SSp0epSWozTQzT4LHvbSE8
UGVpZFJpa6MROURhhK5pBFGIZRl0LesgW0jzhvdcycieMfb+4gCFrjbsrE06d4jJw9MEfkR1qorv
+WRzmdn2mUI3NLLtadz6rGFbQFL5kcnNu1FuMLhziKnBJAHca3lEfogKk6ub0CUqjol8yOQzaJpE
M3WslEUqa7Pu6lVcdO1a4iBmYGM/SzcsIZW1gSSTac0VK9nx8B5UVKfQ3uSy6+t88BNlhF3lq392
Lb5vMnFoCt3S0fyQwA8Bl9WXLyfflUt0NxWdt94eYqVTxPHcORAjhCKdjVDKTI6r1UlCIWI0xudP
kdWbl7N6c+IJ8tC3H8ewDJqVFqCQumTi4BRP//A5rrjldeT4PJZ4CgiJ6KOi/oSYzpM+b3WGgIUP
JjGaKp1weckYBfGnSCZRpHDUO2jxoZNe32JCCHHMQ4yu60eNj8+JjheSnHMlt+p8jm44J3CB0CwK
XpOEJo7jRYkrWAxysXCiql6vv+wF6kwSmjl/G9u250XRqVTqJdfnil/DkvcgVBklO0mlbuWSjkd4
enIKpYOWM1nZl+ei7i6UEJSDznkyM4fqVA2pS3Y/uR+n4eI1PYQm57fJd31krDCaIbZXo9Cbo153
SedSdC7roDRWRjN0rnnf1WypT3Pgn7ahexHyUIUg20YQRrhND6UUbsOlY0mR8UNTiWYmUlQmajSr
LXRDo609Q+CGpKwUSil6VnTjtFy++vvfplV3aOvIYlg6yy/qp3ykQuCHuE0vIWFCkuvMUi83yBYy
tHWmkZqOpumUj8zMX7SSCmGiXXn6x88lPjU+OE03IRUSpBCJ4HdWjR34SSWqe2UnmXyG1ZevQErJ
5PA0+7ce4tmfPo9Td1l16QDLNvZjmAbtfQWWXdSHwRSFosuH/tM0mZxCykFufM8S7vn6SpyGS+CF
tPcWklVJsNMmQkL/mm7sjI6d3Y2QBnHoIXWBUonpXhyFuE4H6byJYSRBdzE2nnoDAGEQoely/vxZ
tqEPIUnCNjWNOIrJtmcY3TPONbfYWOLp2TNCR2OIDvFRIpbhqmtp8YGTOYOJyaCRECaFRsCGEy7d
xleRlAAdQUBK/BhH3YLi9Cz7FwthGBKG4XFFxwuTx8+2CeDxcKHddHq4UKFZHLwmCQ0sTuvmdMjF
qU5ULcY6XwoLK0QLyd7Leu0IC0+8f/5Xm0F+75KneHA0x5GG4HBdohvLiEXShrluydL5Zd2GSxhG
mLbJkQMTtOoO+a4ctVKdKIyRktnJG0U6nybwApCCyI8wbBOn7hC4IWbKIvRC9v5sL7lYoTI6UcMH
L6RzQ5HKeAXTNsh15Qhcn1TORkrBzGSF0pEZ4jDCc3xwFF1LO3FbHn2rerCzJp1L29n1xD6qEzWU
gInDU2QKaaqTNdyGRxwnfjRSk4k+RpOYtonvBHjNEKHFBF5AOp+mVqqhwuS71wydOExEuMW+AqXR
GV3WwGQAACAASURBVKQQZNrSRGGYjH7PnqICcOs+Ukh0Q8dteAzvHsUwdHY+sodGzSVwPQIvZGzf
BO2P7SeTswm8kFgpbvtAhTf/yjSmnWQ1NaoBpeFhCj2XUuzJ43vBbNhkRPfSTja+cQPNaovmTJPe
NT1UyjtYsnSCdMZBCBfX0ZESShNptv1iFTf+2hoicQSpS1rOrTRKS9n2k6eoluog4dKbLmbJmh5W
Xbaca37lch761mPoRkCmQ9K3KkWxL4+gBYQkSugAiYMiQuMIafF9QtWPz/UveQ4HbCBkE5L9gCAi
Q4N/f+JTF58XzP2YXW+L6CwTmlMhAydKHj+bJoDHwwVB8AWcC3hNE5pfVt/XsizS6fQrCrZc7O1e
KEA+mQrRy0FnK7pm8c7lSenfDTx+NhXiq16u6O2lzUxmdO/+i/vZ9fO9pLI2S9f3EoURlYlK0vIx
dFQcJgZ4IhG69q/twWl4tGot8j15ij059j11CKlrBHUHTZc4VScZSy7H8+PJ+7YcJFvMUJmq0ao2
UTHUpuqsuXwlw7tGMEyNlhtgWDpWJgmO1HSJ1KCtkEVFCdnznMTbxm/5BF5INp+mo7/I2P4Jin0F
7LRJHCt0QzI9XKJ3VTe+61OZrifJ0SQthCAMZ2MPFEZKJ46SNpgQYKWsxJPGtGlWXngqVwpUGNOq
JlNCmXyKoZ0uxb4CM1M1LNtIPkdKvJbL+KFJVBRjpZP0aj9IoxlQmtDZ+nCa8WGLHU+mGBt+imx7
lmw+BQqKfQWq03WefXAnU0PTpAtpugc6+dF3r+cDHysjUlOUBrfR0V2j1ZBYtsPmq57BVKN44XX8
4Gsb2f7wU5RGfoyma1z1zs2ksyn2/OwAG6+4CEXMnXd9kDUbtvPkDyewTIdla8e59fYRmvwhIUvR
GUWQaEUUSftMEGCx7WUJDehU1B9TMB9AUKXm3UDEiZ2GPTajc4CEOcbE9BNxdqahFuJ0qhsnMgFc
WMUxTXPeBPBMJY9fqNCcJi4cukXBa5bQLBbmCMbJ/DHPaVOARSEPp4s5AfJLVYhOlUApciRP2olX
TkqPeWN/P5F8IVvl4W8/zi/ueRorZeI0ksmmQneBfGcONKjPNFBxTL4rl4wRuwGBH2FnklHlX//j
99K5tJ0v3vl3eK6PaetIKfBnU6rDwMFKWbgtjzCMKI9XsNIm3QNdNKtNwiBkZrxK7+pexvaNk+/L
Ua+2wI/JtGcwLQ0jZVDozxO0AiaHp/Ecb1YnoJBCkS1kyRVzqFWKjdevY3KoTPfydnTDQDcN4jAm
Fado1hxmSg2iMH4hxZtE40IcIYVg8vA0tVINK21jipi4kbgI+14wP0YOySi520gqNysvXcbqzSsY
2T1GeaxCHEbEKolXELPviYKIKAi55+srSGVhYjCJbNj6sxwHd0qk1sStu2gruxjYuJR6qUEcxqhY
UZmsU5mok+9sw85kePi+Zdz8oQlKR7aSSgsCN2bHkxl8V7K6qmhf8hzP/TQZ15aaIPADnn98Dxdf
tw6n4TE+Mk6xu4Cpl7j11+rc+v5hwsDHMEFRQfJNKvFnyfI1NEYxxAGYHcpXCALWnuQZaBGZH0z2
33tpfZzDu1HKwORZFFka3Mkv45K42GTgeKLjhSaAuVzutEwAj4cLFZrTxAVCsyi4QGhOEydDaBa2
l5rN5jHOuq9kfaeDl4t0OJ31BeKNaOIQUh0BIJTricT6o5bZt/VgYkTnR9SnG5RGyqTzKa665XKG
d49g2iapXJreVUno5fjhSTRNsnRDH6+/+VJWXZaQo3d+7Cb2bTlIrVRncqjE+qtW8+h3n8R3AqSu
0d6bZ3q0jG7q1KeTUeRlG5agZt2EV122HL+gc8RrUXumSWAALRfncJ1Vm20OPH2YyeFpqlM1ojBO
RLmGREpJrdygWWshpUTXTV533cVc+c7LMNMmTs0l9EMObh/Cb/moWBGHRx/jKIgwsjarLl/Bga2H
EZqGUuDVfaIwothbYGpw+qjrXOTHVCbqCK1BW3uai69bRypjoWmCOBKoIEIaEmLQDA0ERGFM1xJF
veTgtnSkCLGsCDsV43sS3TSQEm7/uM1P/2mcXU8qDu8Ywak7mCmT0b0T9K3uRlf7ePy7jzGwKiYK
FI/cm6NWMkhnY372rxbL1icj6QCmbRL4LcIgQimFaevotpYQZ5oUhINOgG5CciWX2EaFdHE9vv9/
Jy0S528x4p+CUvjqMlzeftLn4Nx5+/IQuNyGy22n9NmLjbNR3TieCaCu6/MkZ6EJ4CtJHr9QoTk9
XNDQLA5es4RmsVo3L/c5r8Sw70zh5fxtFgXCwJV3IplCIVF0JrHJC1DozDNqjDM1XEpyhMIQL6V4
fHiI5cUMmUKGmYkKvuMzNVwiihShHzK4fYRr330FI3vG2L9tkGwhzVv+/XU4dZepkRLbfrSDXHuW
ZrlJc6ZJdaKG1AWWAsPQadUcij15oijmjR+4hu413Qxtf5bVXkwjp+PvnaYUxBgjIQefGUyCGd0A
TdcQiNkxfUkUxpSPzGCYGn1rehnZN4puS777pXvp7G+n0JHHbXm0ZlpkcukkW8p/kVBTgZSCTC5N
HMVIIdA1SRRFyFnXYc3QjnlfHMcYpsHUSIXtD+/BtA3WXrGKWqmO5/g0Z1r0rOiiNFbGbXhkCmn6
lg5xaLdNeVJHiIjAV7S1+1TKks5+jY6uQXLmHqYHLWJPR+hLCdyQymSNwA+ZODxF/4qYjK2YHO7i
9W/0aFU1MrmIRs2kWtYo9mi8+87tHBls45kn1hP4AT0rOjFTJlfeeuls3ICHZJpQLUUTBxAqRiGI
SON7GZqTk/M3WCP/CQz9k8RxhBZEZE5hdPl8m7j5ZZGBOdHxwu2YEx2/OHl84WTV8Y7tBUJzAecC
XrOEZrFwIkKj6zqZTAbglA37Tnadp3IBWRifcDx/m5db1ylBSGJ6jnl5zvvnTe+7lsmhaSaHpglU
BP1Zsmu7mC7VGF0JF/fm6VvTTWl0BiElS5Z3zLrNKr7z3+5lYONS7LTFmB8yfnCSW//jjay4ZBmj
e8fZs3sY2kwIIpIxptkbnFJ4TY9DO0ZYuq6XykQV0sloOIbEjSLMdR24pSY6iupkDaGJeeJhpa3E
hC6MZl2CI5pVn9G9RzBMnZ3VPRzZN8myjUvoX9tLHMZcdP1afv4vT+I7x3/KjcKIw9uHkzaZHxEG
DipWaJrE6isQx9XjH99Y4bU8Jg9NEZO4A08Nl3DqLlEUIw1J94puNF3St6qL2oTHwOqDjB7UiWNJ
4ENnn0exy6dWblE+ovj2F1N09kPgRpSnSsSxQbE3T/+aHppVh1Yj8ckJQ51v/vlydCPCbuvAbZos
X1dCNzU2vcFmyfJx2nszhNb72HjDC5U5QYs2/gJNJFUnP76Y5sw0P7/X5sDzOUK5hNe/Yxcbb1h/
VPvzeKPLr7SKcK7iXCEDL6XHWWgCCMwff9/3aTQaZLPZRSGRzWaTr3/965TLZdrb27njjjtIp9PH
LPfkk0/yox/9CEiCKa+66ioA7r33XrZs2UKr1eLP/uzPTnt7LuD8wmuW0CzWBeTFN3whxHyIZKvV
Oq320sut82T2Yc6o65Wmcy9WJcu2bdLpNK7r0rW6nff/wW2oz8WMRC5BWiP2I9qWFrFW5lnWk6Ud
nUJXjsEde2jvruF7Fq6ToVqqk8okYlHDMiiNVahN12nryLJnappKrYkSEEvmCYnvBjDb+khlDPb8
4gBb7t3GknV9TGUU7voCzWqLSBd0THi0WsnUj5SSKIhASnzXJ4ojRCyIwojACxFS4LV8Dj47SKaQ
JvAjRvdOcHj7EO29ReqVFnZbGjFRO7pFLpJt8x2f8pEKhqkjtJA4iNFtHdM0mDo0jaZrKBWiFnBh
qUnCMMKIYnJdbdhZi+d+sgsA0zboXdFFs+rQt6qTtD3EJZc+wUN3Gzzz8yypTIDraeS7fF53TYNH
vl+ku9+nZ1lAqyGolU3Wvx6CKMOWn7RhZ6ykuiagXhE881gXujaDEGCkeyhNdaBpIZpe5fU3GuiG
RvfyPjoHbGoc3Wa0uQ8p6iiSabXpoVHu/vpatj0ES9b1keuQ/Ox/PUnf6m7alxTn33ei0WXTNI9b
RfB9PwkyPY9IzrlCaI6HE+lx5khOs9nkM5/5DLlcjuXLl7NkyRIGBgZYunQppmme8voefPBB1q1b
x0033cQDDzzAAw88wLve9a6jlmk2m9x///383u/9HkII/vzP/5xNmzaRTqfZuHEj119/PXfddddp
7/tZxbn59Z93eM0SmsXCwhv+wpt2pVI5YxepkyEZC52Qz1h76SQwFy0Rx/FRlaquZZ28//96F3/3
d/cx02xh9+dIretgaqaGJSQoWLGhRiFbojIdkc87lMYtCuu6UcpDCIskvUhxeMcQY/unqEY+QkqC
ZkJgMCQiTvQDKlLEccy2B54nlbFJ5Wzq5SbaeEBaQXZDJ+XHBrHHWrQAwzaYzbwmDCKy7Rl8LyBw
EhffKEqIoVKJRX04UUUzdeqlOlKT6LpOZbpObap+7MVKkbSwlCKOIgw7ReiHREJg2SZWykzaXFLM
hjn6yXRxMnWNpmtYGYu+Nd3seeIgYRihSYHn+VQma7gtj57eI3zwk3v4xYM2I/s6CFxBW7tGQ9rk
O3zSWcWytT6mpRAC0tmIjl6F72o48WqKvS7Du46gGRpO1SEMQqx0O7HKkimkec/H3kW93KCtw2Ld
qv9BKvPCzimODU8VOEAy/j+0c5QobFKfmsB3Oxg/OElbewaFYvzQ9FGE5nh4sYD1xVM9lmXN/ywU
vJ6rpOFcJjTHQxRFRFGE67oYhsFdd92F4zjs27ePffv28fTTT2OaJp/4xCdO+bO3b9/O7/zO7wBw
5ZVX8ld/9VfHEJrdu3ezbt26+Qr4unXr2LVrF69//etZsWLFae/fLwMXNDSLgwuE5jShlELXddLp
9DE37V8W5tpLp+uEDK+8QnMyQuju5Z38pz/+AF97fjs1z8fQNQrVkMqeScphxAc+MUPPspX88B+e
oVUL2XhVi57V7fz83h0E8UamRsu4DZddj+3DSpuU6nX8UishM0KCipASDNMCEh1OFEa4rWRbcp1t
+C2XYk2hbS3TJlKE3Qa+E9CqJRlIiqTykW5LITVJ7EWEC75fIQRW2kTTNKIwIvQj4tBnePcY6jjF
MDNlEAbJ+zOFDKEX4DU9dFNDRhI7Y6GUwrB0Lr5uPROHp5g8PIXneMnkVVeets4scRjTrLSYHilh
pQychkfohPgtnzhS1EoN/vYznRwZtGjUdAJX0GxorHpdi3QPrLjYYffTmWS8PdRoOT1senMng/uX
oqscbcUqS9f30ZhpoqIY006x8pIOImUThwojbbDpkjnTuluA+9AZRqkIj83H7LfH9ZjsolFxadVb
+K7kwPM53IY7K2pOYi56Vnac8rn24ipCoVCY914xDOO8cNk9nwjNiyGlpL+/n87OTi677LLT+qx6
vT7f1srn8zQajWOWqVarFIsvkN5CoUC1eoL27PmC8/frP6fwmiU0i3EBSSZc9HmR7SvJg3oleCnd
zlw15JW0l05lXS+FE5n0HQ8Zw+ADPasoew4DK/q5+97vsXP/OFIIvv+307ztQzpve38radPImNHD
Dd77sTZ+/L0CzbrD9FCJxmyadFpKGo6PtTRHUHHI2RnwI7ymj6YnzrRxFCfEI4jwHR/TMgi8AMNK
oekaHUuLTA2XMW0dn8TbRbd07MzsGHhwNFkNvTCp9GhytkWkEFISL1xutrpiWDodS4pUJmtIKZAa
s5NAMVbWmh3RVrT3FUhlbSYGJ5kYmqZZaWKlLXIdOeyMxcVXrWf1Zct5/F+fIpW1yXflOLRjOHm/
lnzu9JhBWZO4LR1Ng0gXxJGiMqEz6eZ42280ee8nKvzsO208+VA3wujkH/9rkw3XxJipJgeeGWLF
Jf10LLGJG7tRcYsPfHQrlXI39/7TG0i3pYBEB/TwvWnCGUWxqLjqbYpM5vsIFR4VIxCxklr8v7Hz
sb/kyIEsP/x2B41aEn+gAN3UueZdl9Ox5GgX6VcCIcR8BeF4rSrTNOfF8ScjeD3TON8JDZza2PaX
v/xlarXaMa+/853vfMXrP++zpM7vr/+cwWuW0Jwu5qogc+OQZ4vMwEvrdl5p0OZi4FRM+o4cmGDH
I7vZOWuup5SiXmoyuHOYfFcbmqkzM22x9YESS++UaDLEbaXwvQi3pdj9xAFadZfKZC25ec26Dmuh
Qit5ZLIpwlaAkTITx9xYkcqlcJsuUpMwKxK+9r1XMHFoiiCI6F3VhdA0MnkbrT1L+UgZzwmIwojq
VI3mTGuenCxE5EcIWxB5SXL1XBbTHAQCRWL05zk+uqklTsAuaLoEJKlsiv61PSxdv4Q3fegNHN4x
zHc/fy9OzU0ys6KYeqmOimKeffR5BncN0d5fJN9dQM2GXwoF+e5cEvxYi0mnXQJfYKcUlhXjuYJ0
NqY+lOIv/sNlrLpsOYd3jKBpkql9RwjDmGd/spOrbttMsSdPaWScgVX70YwaS1e5dPVVSWd83vnh
MoXuHAC/uGcb4wePkLMqjFVt7vum4vb/6GCJp2ipo3ORJkbyfOuLvVQmUkRhjG5IdEPj43/zkfm8
p8XAiQjCi1tVQoj5qaqFgtcXB0KeabLxaiA0p7IPH/vYx074/9ra2qhWq+TzearV6rxv10Lk83n2
798//3ulUmHNmjWnvtEX8KrDBUJzipjzbJirgliWddafDk6k25mZmTmj63opnMwUVW26TnW6ThzF
PPT//ZyZidoLXitKUTpSoVVr0aw59KzoRKl2RofT7N3ZRd+yCUpjIY1qk3u+YTC6+wjtSwqk22zG
D0+jSPKR4lgR+yHVcQ9Nl2SKaZxaIgiOozgR4CowMxZW2uLwzhFuvvNNDO0cw0qbtGoOCInv+YSB
mo1gSG68miEROoTOsS1Fw9LxWv589pKQYt5ITymFNCSmZdCqtrDbbDLFLHEY0ao7CKBeqlPOWvQs
7yT0I7b84BnqlSZREBHHSVUpjpJ/V6drjMTJijL5FD0rO+lb3T1bWTJw6g4D61Ncc3MFFbrc/z+L
uE2NbCGmPJVn6fo++jf0cvVtlzP2J3czOTQ9O1qvaMw0mTg4BYBtTzMxFLJkBfy7j9TRDdAtG7tb
Y64RMDNewbBMBAIhoVkVBB5IUzvmGD1+91NITZItZhKiJmHTGze8YjKjcRCTZ4kYwOdyjo4xeHko
pU4oeDVN8ygDujPZqno1EBop5aLsw6ZNm9iyZQs33XQTW7Zs4ZJLLjlmmQ0bNnDvvffOxz/s2bOH
22775XoJnS4uaGgWB69ZQnOqf3wnEtm+bNbRGYBSCk3TKBQKZ1y383KEZo7gRVH0km2u5x56nse+
9zQje0Ypj1fJ5NLku9qQuka93MBzkpuKlJI4ipgaLtOzvIONb30rKtvJT/5tHwee2Uffqn6c5gSZ
dpiZqBJHMZlCmiiOIBaoOCYMIkIvRAidqaES+e4cKy9ZRiaX5tmHd+E0XFoTVSrjFSaHSmy4eg0b
rlnD5OA0nUuLaPrVbPvxTlo1B8PWSGVt2nuLVKfrx7Sc5uA2PVAkSd2EiadHWke3dFSYCJKlJhG6
wLD0JOup5aFiRRTH4MP4wSmslMXE4bsZ2z+B10yyouYqQr4XEsUxUTB7jBWEfoCZMvntv/wwh7YP
seeJA2jiCK+78nlWrG0h8Fi9yee//5/LiVWet3ygHVM7xPNbDvDU9w9SGqvjt3zsrDVL3gQTQ9N0
9hXZeIWJISJ8L2LrIymuvqmJ0CQhV6KJpL1mZyyaVYdArMZgN5oRopk2Dd5zzDHynYBid57KVI1U
NkUcRbz9o285hbPxBZj8nKz4RwQBCvDU9TS5Azg9grBQ8DqHMx0I+WogNIvl/XPTTTfxta99jSee
eIJiscgdd9wBwNDQEI899hgf/OAHyWQy3HzzzXzhC18A4O1vf/u8QPiee+7h6aefJggCPvOZz3DN
Nddwyy23nPZ2nXGc31//OYPXLKE5FSysPrxYZHu2M6GEEPMOn2dTt3O87TjZNlcURmx7YCcThyZx
mz7u/8/em0fHcV/3np/au6tXoAEQAAlw30mR1ErtlERTcmzL8ZLYiSJZceKXyH4vmXjyzsu88Tnj
vJOTjN8kypucjI/tycvYjuLEjizbWiNbkiNHkilR4iKK4r4TC7H1vtY2fxSq1QSxowE0iP6cwyOB
KHZVd1XX79a933u/6QK5eI70YBo9oiOIApZhu22/nTHil5M4OMiqxLlDF8gMZujYuJTDrx7j5Nvn
6DnTjySL+AMavqBGQ1uEXKpAKVeikC0iSgaOOWwfUDDJxHNcPj9IbJmNUShSypZwbBtBFBElgX//
wZvc/qmbWL1jBYVckRe++XMGu4bcAEWWEUQRn64SaQ4x1J0c7q76AFES3UnAApiChT+gYZkOTe0N
yKrkDqgbtmWwSzb5VB5f0O+Kk0tO2d7AsR16TvZglGx3cRBxR+kIrsa5HDgLlP+NWTRJDaT5t398
g9/+2me55zdvJ+D8LbLQQvxSknzaJNRgsP22FAN9EqrYR98lAcsQaWy8wI6717P3+YvgCDS2R5AV
me27NyELBRTpOMVcHqMEh3/pw3YCbPnQb2AIO8vXwG2fvIlXvvsa2ewGFKWNOz+ukxRuwXLarroO
9LCfzs1LiQyEKWaLNC2LsWz91dtNBj8/RXBFQwiAKrxN1vkNYOKM6ZSnX0/SEHK6paqFNghwNKoV
lAUCAb70pS9d9fednZ10dnaWf965cyc7d+68arsHH3zwqq6ohUA9Q1MdFm1AM5kv32QsAuYyoPGm
Dtu2Pee6ndGOY7JlLsuwwLExCga5ZA5NVylmS8NtyALL1rfRc/oyoiiiaiqRZtdh23EEzr57gWwy
x7s/P4ogQC6Zxx/QSPQlKGaKCP0QagzRsqqJy2f6kVSJfL6Ag0MhWwLBQbQF/EGNrmM9RFqiFHMD
OLaA4zAs5hXpPduHUTT5wZ//hHhPElmRQYd8tkDQF0CP6tz68Rs49MpR4r1Jt1yRLwEOiqZQzJfc
IEyU0HQNn+5j853rSQ1mSA6kMQzTHRLnkxAEgRs+vI13XjhI2spi2e6kYNOyKORKiJKEJItuECSC
5lORNRkE16G8LOMZLm35gz56zvQB7udplmSS/XHOHbHJpjWWrS6i+mHFuhThRgHDEAlGbGzHoak9
y4rrOkj1p4k0hdlw81p+/b/8Kj/+y/+NVNwgftmPrJjcdF+eQ2/vpi/bRqr/FXCgZXkMf9DHh37n
blePoimuPgnPhcnFcRwcx+Guz+zk1X/6JbZl09wZ4+7fvHpBmi7uN/CD7/Ro3++9vd388NRJDNti
ZTjCl67bgTyN7OpoA+gqS1WhUAhFUSbtlXQtZGjqXk51aoFFG9CMx1QsAuYioKk0tUwmk2iaNqv7
G4n3Hr3PxTuOyabZVb9K07IYpw+cdxc3G8ItIQJhnRVbO/id/+s3yCSzPPm1Z8mlClw+04/qU5CG
LQAuvNeFaZis3rGCfLqIZVkIgkS4JeS6RLdGsEoWsaUN9F8YpJQpIUjC8EIBetiHWbJQ/SqqT0FW
JUo5C8WnuHqWaADLsnnqr56n+3QfpmUiSRJNHY0M9SToWN9O25olvP3sQURJQJCgmDUQJRFRcAM2
x3ZczybFwTIsfuWxe7l0rIfes5cpZIroQT+WaSIKIsvWtzF4KU6wMei2h2dN7GGhMiLYloUoykiy
OBwMuFmuUt74YNEQhlvGA66jdkNrFIBz713i+b/NoYklkkNRBEegZIjIqormE/nklwoEAib/9D80
93VpZNm6Bjo/cSNLOprZescmfvqdV/D5h/jlKxa2IxNulFA1G8Gxee37b9GxoY0zhy5gmRZb79nI
6QPn+dDn7y4HMyMRBPdcRJrCPPif7h+2kHAXcc15Fo03AZEit+IQxGADNuO3bxe5E4l/QRh2yi45
28Fz5x4lQEgWizxx7H3MYb+pw4MD/POJY/zWhk2TuoYnYrRS1VheSZWZHPdaXvgBTZ0ZUj/9VUH6
6le/+tWxfjnTGSa1jiRdLVzUdZ1gMEixWCSTyUz41CGKIqqqzspEYK+sEwgEyOfzZLPZ8twbQRDm
bFie3+8va4gqj2MqrNq+HEEQuHSiB1EUaGiJsHzzUtbesJLlW5ahaArb7t3E5jvWM9g9RDFfJJvK
Mdgdx7YdZEWhlC/R3NFENp4lnci6ztCWjT/sJ5/K09gepfd0nytwtcE03UBD0RQsw0KSRHLpPIGI
G1wIgkisLUrbmhbeeOodBrsGyQxmyacLaAHFFeMaFqu3r+TMgXNkEjkK2QKCIBKOhZBkEVESsUzL
tUiQJRrboqy7ZTUbb13LXZ/ZyVvPHUT1qwi4k40LuQKiJJAaSGMUDDKJDP6w381a5Yo4lmu1IAju
E28kFkSUJXJJ1xZBFEU0XQUBAhE/4aYQsfYGrtu1kb1P7+dfv/UKZw71ceGkSjYl09el0H1WpZAB
RD/JoQ5u/lCJ5esl+vvWYEmbSA9lcQyBy+f6eeWfXiPUHOTk/gE618aJxgyiTXDhlM7ZY1GaljVj
lmxySVfMHGmKoIf8FPNFWle1TOpa8AIcjdcJCt9CEc4gC+fQeA1FOIpP2IvBSmyax3wNk1WYdOAg
UeAO8nwaL0/jZQ8rv7sXM2levnChnJERBQFFFLm9femUruOpYNs2hmFQLBbJ5XJks1lM03TP4fCU
42AwiCy7z5WO4yzILIcoiui6Tjabne9DqRqhUGhO9/f/vLx3Rv/+S/fdWqUjWdjUMzTDVM5OmcoM
l9nK0IxnajmXQmRVVcvZmZmYa8qKxL0P38E9v3U7h37+PgMXh2hsj7J114byawqCgB72s/6W1Rgl
i6GehDtfJuxD0STyuQK95/oQFQnNr2KWTBzHoetoD5HWEGcPXgDcVmjLsMpp8PRgBsuwKBVkSgqt
6AAAIABJREFUGtqiZIaytK9rJ5/Ku63agkhqMI1RMAnHAliGRT5dJBQJsOmmtRRzRfq7hkj2JbFt
B7NkYZRMNL+CJMsomu22IWsywWiA5o4mcBz8QR+BiI5ZtPAHfSQup7Bth2AsxFB3HGdYKOxYDoZh
Em4KkRrMIOBmZpo7Y5gFA9M0EAQ3gQPDQ5BVhVh7A5LiunSf2n+OYq6IWTIxDRujYGOUlGGXb5tc
RiCQLjDU00NP8r8RaG/g7t8W2Puj/dgFG9OysB1I9qdID6ZJpxoACUXuxUmr9PW2snr7MgDS8Qzm
sEZE8ysoikw4HCYWi5VLK5PxWFJ5HZH4cBhigeAgkcJCJyg8SYqvlstVo2GwHYOrB7mNlvFYouuE
NBVjeMKzYVt0BMOTunarxVheSY2NjQiCQDAYRFHcQHqkHqeWqWeYZk5dQ1MdFnVA42U7AoHApGan
jPUa1QxoKstLqVRq1OOZizKXl5GRJAnbtqeVlRkNQRDYfu9mbNse8/V2fGgrS9e1sv6WVRx86T36
zg+iqDK27Qp9EdwsRf/FQSzDwrAs0oMZcFxLglLBQBTcYoQ37A7BwbEcEr0J/GGdQqZAvC9JNp6l
qTOGpMhYJXfgnupXCEaD3Pnp2zix/xSXz/eTTebKx2tbNpmhDCVNRgv4AAefrhJodEtXR149ykd+
/z4AbvnYDfzb914n2Z8iE8+g+lVs07ViKOYNRFHCF/RRyBYRHPDpGtGWCNawCaYoChTzBs7w6XZw
MA0TRZNZsqIFWXXf3/n3LrF0bStaQMMf0igVSjjWB0G5JEOsDfouGAjWu8jKbsLhMKIgXlEm0YIa
paJJtDlMvNdG8W2ife0Srv/oSq7fs5Wn//ZFNm/bh6b1kEo00Z/YTC6Xp31TC4lEotwR5E3nrQxw
vOm9HjYaAhaeJcIHQ35c1bOXyfGoDG7GuxZHW2DDqsbnN27hB6eOY9g2qyPNfHrtujFfY67wvgeV
wvpKQ05d18csVdUK1WrZXtTUP76qsKgDmkAggM/nI5fLXXFTnwrVCi4qrQImOp7ZDmhGdnVFo9Gq
7W+yafWW5c20LG8mNZCm60Svmw3wqSzf3MGZQ+eRJInWlc3kUgWSAyk38LJsnKKJrNrggKbJ2JaD
bdlIkowe8pNN5ylmixSBYrpIUSximjZG0cAXVNH8GrIis+7m1RhWCct0sy+2aSOrbru1JIuuZsKw
KBVK6BEds2CQGcqSIUtzZ4x3f36E2z91Mzsf3EF6MM3xN0/j0zXCTWF6z/VhFC3cqcAN2JbbZu4A
vqCP3q5BHMch0BSkfWkMzadhXbAwCya243ovhWMhuk9fBsHNBJmmiW0N0Nop4lgRSnljOC4ogACS
LJBJOnSstZDw0dDQQCaTYe3OFbz14gGS/SkcG9rXtLD1rvXEe5P0XxyisS3K0nWtbLp9HYIg8PCX
LyCb3ThIWKVeBuP7EZv+V3y6dpWOxOvIUxQFn89XTuOXMzjFR7HNVxDIIwznaWx0wKHEzVddEyMD
HO96Gi+LU8mOliXsaLnaBX6+GRmAjTTk9LqqKj9HURSvyuLMV7nqWujSqnNtsKgDGsuyZlRGgeoE
F1OxCvCYjYBmLOuEarzHyQQyJ946zbnDF7lwtItwzHV73rFnK++9eoxEfwqjZDLQNcT1e7bywrde
wTItRFnCMR30Bj+NbVEGu+IYJQNJlsmnC+RSOfxBH62rWghGA0Rbwlx4v4v+i4OoftU9LtPGsmwc
S6CQLSIpIi0rYvSe6ccyTGJtUbLxHEO9CRzbdi0xbUAWMA2TVF8KWXXbux3HZvDSEO++eozbP3Uz
gii4LeAChBoDxHviWCUTWRUQBA1BdIg2R7juvs0c+cUxLvUMYksCgk8mlStgUWBtS5hEfwpFU/AH
fIRiAffYihbZlNtKvP4Gg8unSyxdZbF6c4DYso3YlkBmKE6q7yKWaaKHHWwivPGcgfn0kyxZ1cyS
Fc2EYgEc20aS3WzRiq0dXL/nulHPkSqeQBh2UZZVP23BPpLC6CJ1x3HGNJJUFIVAeCWS/TfY2W9h
WwaOY2E4nZTYQUm4e1LX1cggR5KkOZ8LNVMmKtlUlqo8nUqlIed8l6rqJacqUP/4qsKiDmjy+fy8
3vwkSZpWuavaNw8vO6Sq6pgzZWYS0IxXXvI4se8M+54/RPxykoGLQ1hmF76Axhs/ehtwkBQZRVXI
JrPks0Vu/PA2Lh7twTJMBomj+mXyWdcmYMXWDtbcsIq+C/30nuqjqbOJQMRPS0eMNTeu5Nv/+/fJ
pd3MhaxIIIKqKazY0oEe9tNz9jLpoQxmyaSYK1HMlViyshlRhHhfmkK2gKyIWJaDosiUSgaCaKH6
RERJRtEUMsP//szB8+QzBWRZQokG6LswhBbwoYc0t8xl2GzYuYatd29A9ctc+MHrCJbb2WSrAoV8
ieU3LePy2QHCsRCqTyY9lCbaIiOKNpatoiglwpECkUa4/zdNtt/Rz7v7r+f7/yOLHgmT7G9E1fMY
RoAz76vozf20rWrh0vFeLhxxg8dosztLxTRMLh3vobFtdMdrZ3juywc/T+0WMtJIElYgy/8dxecG
OZqi4B/2WKr8M5lrPhAI4Pf7SSaTCIJQFv1PJYszH0wnILj6c7yyVOWV/EzTvCLAmQ1DznrL9syp
a2iqw6IOaKqFl8GYyk1J1/Vpl7uqWXKqFB8nEolR38N0F4KpdG2cf+8SvoBGLpVHlAQGLiWItTcw
1B1HVmWCDQHsgEbL8mbivQkisRDrb14FwFBPglQ8Q/fxXjKJHL1n+lF9Kk0djSAIhBp1UgMZREni
9N/9G7bhIKvisFWBgwD4I34Uv8xg9xCO5aCpGsGww4UjXZQKJVKDaZo6mrjhgW38/B9fxzQsRNlt
p/balR0AUUCUREIxN9OVGsywbF07pw+eo+tkL6mBNL6wj4ZhLyRFkXFsh7U3ruLC+90IjT4ouRob
RBCHRb+WYdJz+rLbpuxkaWwT0IMqRtHBsUUkxT0AywQQWHe9whcef4gDPz3CybfCFHJF4v1JLDPN
sdfeoG2JSCTgJ566HrMooPrdLItZMmloiYx5ngo8iJ/vIZDDIUCBj0/r2qhkvBKLruvl7MNYgmNJ
kohEIti2zdDQ0FXX3ExLVbNNtTIcIz9H+MCQ0+uqmg1DznqGpgrUP76qUA9oqsBUAprpdlONtr+Z
UJkdGkt8PJP9TSYrU4nqV7AtG5+ukhpI4ziQzxaRZAlRcufRlPIlLh3vYf3Nq0kOpIg0hbEtm65T
vTiWTT5ToFQw6D7VS7wnQbAxQENrhGNvnEL1K5zef45QYxCzZA6P3nfQdBXLtGlYEqHreI97LAGN
gZ5BLMtm6bpWju89TalQIh8q0L6ijds+fhNH954k2Z/CtiUkWaKQKVLIFBEktx0p3pPgxb97lW33
buLisW4Sl1NYJVfom0vkSPSnCTXohGLB8oJ792d38ot3jnLy8EVs2wJBoDka4tgbJ5FVGalgovoK
CDjk05DPFMkkRPxByKcNYq02m26ycAhR5D7aV7TR+mgrl89cZvC9IXy6RnbwEoqa59JJWL4+zfW3
/pJz5z/JpeO9AKzY2kHHprFbmUvCLkxnExIXsFiOLYzdWj1dxhtcN1Jw7DhOeVq1N8l3MowmOPb+
O9eL82wGBGOV/DzBsWefMnIA4FSOp56hmTn1DE11WNQBTbVuIpNZ8KcyrK8a+xuPmWSHJmK6szRu
/ugOXvjmK0RbwiQHMvgD7gj7htYw+WyJbLJANp5H1VPEljZgFkxUTSUYC+CYDom+FOmhLIIAqk9F
kETSgxlaOpsY6kkgJNzPyy0HDZBLu+VGSZbcSb8Fg3y6gC/kY/mmpURbI5x8+wyiILJ0QytDPQkK
uQKnj5zjw797Lzs/fiPf+7OnsIoWxUIJ1a+Rz7jBhqK5QVImnmHg0hDt61p569kDqLrCiqXLuHxu
gP5Lg0iiQPOKJtbfsrp8bH/6f3+BE8cu8tJTb2L0Zrn4zjl6hrIguLNTRBF8uoAkuO7Zt304T2JA
oFBQ+Y0vx1H9Ad549WHyqZNs3P4vtHSadG5s4eR+C8UnoPpM8mnoOQe3flhgw44MS6/fRLG4A8Dt
IpsAW2jBZnIzZ6rFSMGxKIpEIpGyr5Ku6+UHhamWquCDkupoXVXXktv2aKUqSZLKAwC9YHEqhpz1
DE2dWmFRBzTVYqIAYzJO1NXc31goikIwGBzXymG6+5vpUDB/0MeDf3A/qYE0qk+h99wAb79wkON7
T2OULNpWNTPUm2BJZzN95wbYfOd6RFFEEAWK+RLpeBbTMMvHaZQMJElmoCtONp7Dth3CsQClvEkh
V6BUNJAVCdtxEAVoW9lCNpZzByX6VSzLnfVjFAxkVSbcGGTp+lZMw2LfCwdAgG33biKbzNF1opf+
C4NIsoCqaW4JyhEoZkuce68L1Sdhltw222LewCga+IM+mjpjCAgsWflBcCAIAsvamlgejZIoiWSW
RIi2RBi4NER6KIPjSISiIGDjU1QkxWbVZo1s2qFkLucnf+fQdf4sqrSPI78wuf8h+NDHTxLvuYGj
bxexLVB9EIkJdJ12uGm3ioMP1bdwbgVep8/IrMwVguNhI9nxSlUTMRelqloIBizLuureVGnI6T2I
jVWqEkWxKtqcbDbLd77zHYaGhmhsbOTRRx9F1/Wrtnvrrbf46U9/CsCePXu4+eabKZVKfPvb32Zg
YABRFNm8eTMf+9jHZnxMc0Y9HqwKC+cuNgvMdoZmugHEdPc3Ft7QrpFO4dXa31TLS2MhK+6kXYA1
DQHW7FhOPlvgO//1X7Atd9KvIAnYho1jOVi2xekD51H98rClgrvQmICiyggSDF4awh/y4dgOgYYg
gz2DCKKEL6DhWA6FTAFJFsmmcvScuoxVMklcThJpDrNsQzsn950mHAvRvnYJpYKBPTyZGEAQCkTb
2ji1/xzZZNadRJzKE2jwk45nOLX/HM3LYmTiGaLNEVIDKc4f6QLHoWV5jPRgBtuyef4bL3PLgztY
d9Mqd1HWZARRwCgapAazGEUDRZUJN4WwbRst3IZjDZIaKGE7Io5TQpYFkgMKP/9hFn/ofZatSKH5
/Rx81WLj9m4+83v9vBCI8va/ryQY7EHTTM4dlUmbnwFlkrcBx0QgjUMQhIkzOdVGEATC4TCyLBOP
x69aRMcTynp6HG/xHWs2zmSOYTqzccZ7vfkOaEZjNENOL4uj6zqRSITTp0/z4x//mFWrVrFs2TJa
Wlrw+XzT3ufLL7/MunXr2L17Ny+99BIvvfTSVUaT2WyWF198kS9/+csIgsBf/dVfsWXLFmRZ5p57
7mHt2rWYpsnXv/513n//fTZtqo61xaxTe5fAgmRRWx94E3Bniqqq7pj84WFXXnnJ5/ORyWTI5/NV
v2npuj6pbI/P5yMcDmMYBul0elpBlaq67c0jF5C5GNWuqDKmYWHkDUzTIpvI4Qu5rcvt69oopHNc
PNZNIVt0hbTO8CRlWSDa7M5j0XSVWEcjxWzRne8S0REEgWK2gGXaODYMdrnt8rblkM8UCEZ1fAGN
pevbMEsmLcubMIomTUsbkeQPLDMC4WFbiIhOMef6OwUjAXy6yqptnRSyRUzTQvMrNLY1cPlsH6Is
Iysytu2QHsrQ3BHDMi2y8Sytq1qQFAlFlTl96ALdJ3uRNYloSwTFJ7Plzg3EljYRbmnHEfxYdpBQ
KMUN9/l44msFLl9UUX0yDbEMpmETimbZujOLIOn4dYtVG7OcOXkbprOEotHG5nt3o6gTBzSi002I
r+HjRTRexaIVW5i7mS6qqtLQ0IBhGCSTyUlfd7ZtY5omxWKxnIWwLKtsPxAMBsvCY68rajoBjncv
EUVxSg8boiji9/sXhG2AV4by7E8kSUKSJAYGBnj99df5yU9+wjvvvINpmqxYsWLKr//kk0/yiU98
Ap/PRywW49lnn+Wuu+66YpvDhw8jCAI7duxAURR6e3uxbZuOjg5iMdf/SxRFurq6UBSFjo6Oab3X
ubY++MaLexFg2n8eu79ufQCLPENTLSozGCOH0s0XIw0tZzJZdLQMTbWyMuOR6EuRT+fZft8mFE0h
uiRMcjDDkuVNdGxsZ+m6NrqP99DcESPRl3I9k0TBLRPJijskT82B4JAezFDIFijmSviDPmRFwrJs
tIBGKV/Csd0JtapfIZfKMXBpiGR/GkkWWbKymUwiSylf4tArR9h0x3r0sB+zZBJuDiErEp2bltG5
aRmO4xBrb+DS8R5Uv0qpaJCOZ7BkiaHeOFpAQ/Ep5LMFMkMZmjqbWLNtJZpPIzdUIBQKYRgGa65f
yWBPnFwqz9ClISRFYt0tq9h8+3pW7ViOJInoIZ2AHiCfSfB3f/L/ER+6SKmY5vzRLGZRZ+WGHLc9
kMZBw6adaGuRXCZFIVei+9RlAtEA//h/PMWaG1ay9e4N6GE//uDoT9g630EgA4gIlND5Hilnq+ub
NYt42UVN00gmkzOerTKR4Njn813R7uz9mcr3ZyqC41rN0EwGSZLYunUru3btIp1Ok8/n6e7unvbr
pdNpIhG3wy4SiZDJZK7aJplM0tDwwUiBaDRKMpm8YptcLseRI0euCobqXPss6oCmmiUnSZLKHQPV
LC+Nt8/RboaVE4ez2WxVTDMrA5q5MtB767kDnHjrDOC6dX/4P9xD6P6t5d/bls0vf/w22VSOTCIH
joCkSughP+l4FsswKeYLNHc0culEL/6QD1VT8Qd9xC8nKeUMHBzIlBBkAVEUUDXFHZznOBglV+dS
KhpcOtZNqWDSvmYJ7WvbOHPgHFvu2sjOX72RYIPO0ddP4tgOgihQyBXZeNtaTMPi8rl+GlqjZBM5
/CEfmUSGcHMISRFxbIHMYJqbP7KNklGiZJQQRXcCsZc5MHM2hVQeRZPJpQt0nehl92/f5XpEBQLo
uk46nebYgYsUChrZRBFREtF8Cv09Csu3rKNtfR8meUAiENFYunELS9e1YtsOkaYQxXyJ577+M/Y9
f4BwY5Bbf/VGrrvn6jS9QB7P/NH9uQgYgDpr14CiKOXs4uDg4Kwt/KM5ZXsBjncuPDPYaguOrwXb
AO8+JEnShBmRr3/966RSqav+/iMf+ciM9u9hWRbf/e53ufPOO2lqapr2a845C/sSqBkWdUBTDbyZ
GV730mhD6WaD0QKa6UwcniyKopRbZWebbCLHqbfPog9rVRzHYd9zB7n34TvK2+z/2WG6T12moSXC
jfdfx4nGM8R7EoCIUTQpFQXX8kCRkRSJfKpAxsyBCLZpl8ssguj6BwmygKRIFHMmocYg/pDP9YHK
G0iSSD6Vp+tED4VskWBUJ9GXpPdsH1uWrufDv3cv+198F8uy2bnzelqWN3HPQ7dx+NWjJPtS3PDA
dZx79wIn3zkLw2Wt9nWtXLdrA5Iqk03lESWR9TtX8cYz+1B9Cqu2L+fSyS4cAQa741iGBZbN8dfO
8MBv34soCSQSCQzDINioYxYN/CEf+XQRW7AINgSItK4gw8PofBuRFDaNWPrnCTUeIBxzs4ddx3pw
HMAGWVXY+5N32HDr2qu6nSyWITIAKIDtdjkJsxfMeCXbdDo9K072EzHuhOMqCY5VVSUcDlMoFJAk
qaZm40yFqbRtf/GLXxzzd6FQiGQySSQSIZlMljPMlUQiEU6dOlX+OZFIsGbNmvLP3//+92lubmbX
rl2TfwM1QL1tuzrUA5oZ4PP50HX9immcc0Vl1qSyJXw6BpsTkc/nsW0bv99POBwup+2ncyOfDEbJ
vOKBRRAELPPKlH+8J4GquYuuKEms3bGa6//LVp7++r+Sz4QpFQwkWSJxOYWAgFE03eqII+BYDqLk
ah3MkokoSTz4h7vJJgvokQDxniHefeV9jJIJgoMoy2h+lWwih1Ey6dy0FD3s58Sbp1l34yp6Tl12
Jw8D/RcH6b84iKb72HLXBiRZIpvI8eO/foEVm5fSe3YAy7Ao5orc/qmb6Tl9GdWn0LaqhTd+9A7J
wRQX3u9GEgVK+RK+kB9/yI8kiTgOZIayvPf6+2y5YyORSARBEIhGo2y/Zyvn3r2IHvHj01U6Ni0l
ENFxhAay/NEVn93qHcs5c/A8mq5iGhYCEGhwu0ksy6aYK14V0OR4FJ0nEOnGIUKOR6t5ysvIsuvc
bVnWrGZlpkq1BcfeVOPKgK2WZuNMhWqVzbZs2cK+ffvYvXs3+/btY+vWrVdts2HDBp577rmyWPn4
8eN89KMfBeC5556jUCjw2c9+dsbHMufU7uldUCzqgGa6X8JKz6NkMlm+sc0lXkBT7Zbwkfvwbsi5
XK58E6nUHFTeyKc7mGsk4ViQUGOAYq7kDq3LFrnuno1XbtMUIjWQQQ/qbvdWMU3z6kba1ixhqCfB
qbfPYts2hWwRVVMwDQvHdk0rBcAqWUiaDKJr3Hhi7xnW3bIa2zQppAus3L6c7hO9pIcyRJpDtKxo
4uLRLvzhEEvXtZY/n94zfRx5/TiO45BN5PjZt18llypgmRbBqM5//t4XUVUFs2ii+lU6NrpD64qF
Ikf+/Ti+gEaiN8WxX55G9SucO3SRUsGgkHFtHAq5EjggyxLRljDFUoFkPFXWDXiZgz2P3k2srYHX
n3oLQRQIRHUe+J17kCTpKv3Hiq0d3PbJGzn6xkmaljUOi5Y1bMsmHAsRiOoUckXMookecUXPCCo5
Pj/tczoZvFky6XS66vORZoPxJhxXBv8jtTiRSATHcUadalzJfM7GmQrVKpvt3r2bb3/72+zdu5eG
hgYeffRRAC5cuMAbb7zBZz/7WQKBAHv27OHxxx8H4P777ycQCJBIJPjZz35GS0sLf/mXfwnAnXfe
ya23LhCxbO2czgWN4IxzJc5E4LVQUNXJp80FQSAQCJQnk3oZGW+0+FyKgD0HbMuyyGQyVde1TEX0
W3kj9/6MnD46VVFyKV/inZ++SyFTZMXWDlZe13nF70VBZO9T++k914eFxY0PbKNjYzvf+cq/cOlY
N/l0gaHeBGbBoKEtymBXAkl2U+OKpmAUSjiOgCQLyJqMHvaz8ba1DHYluHSsG0mRCIT8KH6VxOUk
W3dtcC0RAiqarnHpWDeKprDmxpWc2X+ebCpH76k++ruGwHaGjSodlqxs4q7P3MobP9qHZVhEWyL4
ghqBhgAbbl5NLpWj/+IQvWf7aemMcfCl98gm8zg4+HUfjW1RIk1hBElAj/hpX7uEex66nUDk6vkc
AKWCgVWyiDZH8Pl8KIoyrv7DcRzefOYAXcd78Id87HroNo798hTvv3YcB4g2h3ngP9yDos1ewC5J
EuGwawUxlQ6mhUBl8K+qqusKP5ztmY7geDTmO8hpa2ujp6dnXvY9W7S3t8/p/rb9wV/P6N8f+ps/
mnijRcCiztBMBa+8NJrnUTW9lSbCC6okSSKXy1U9KzOd7qXROkcqjfI8iwXvBu5NHh1vP6pf5daP
33jV3wuCQCgUQlEU7vjMzRSLxSs++yWdMfrO9TN4KU4kFkRSFCRZILasgfRAmnA0RHoo47Z5A5pf
Q5Ac4t1Jzh68QD5doJAtEIgEKOZLaAGNjo1LaVu9hHsfup1TB8/zs//5KnpYp31tK6f3n+Pi+90E
ojq2Y2OVLAQRJFEEHPrOD5COp7n5I9s5vvc0uVSemz+2Hc2nkhrMcGzvKWRFxjIsuk70DndWSYiy
GxAFGoJ86HfvovvUZZraG1l788oxgxkYnvTrU64oj4ym/7Asq3w+bv/ETeVFNdmf4r1fHCt3O2US
WfY9f5DbPnHTVC6JSeP3+wkGg+XxBtcalmVh23b5wWloaKj8AFANwTFUfzbOVFjIXVq1RF1DUx3q
Ac0ETKb9ea4CmkojyVKpNOMnu0qq3b00Mh1fuagGg0EURblCbzAZkzyfz0cwGKRQKDA4OAhc7QLu
D/mILYtRyhnIqoRZMllz4yoizSHu/o1b+cYffpeT+7IoqoxRNCnmisiajCM4FPMGgiASbgxRKhpI
sohjOSzfspTmjhiqXyUUDdCxsR1fQHNNK/tSFAslhBTuHBwqhMbDs0kc20H1qWzdtZFsMse2ezZj
lkyeevx5REnENExaVzZTyBZcE07TQVYlVL+KpitsuXMDW+7cMO1zMZEzc2XAGe9KIQqi247tOMiK
TC5V/fKPKIqEw2FEUWRoaKiq13ItIcsykUgEwzAYGhoqL/6zLTieKzPOuo9TlagHNFVh0Qc0YwUj
U2l/nu2AZrSgynuyqwZzMVNmtEV1ZGsscNWTKly5+CUSiXFv7jf+ynb6Lw5xoei2ZS9Z3gw4rL9l
Nf6gj97TAziWg+At2rYDtkNLZxN6yIdZsgjFgoAb4CzfvIxgQ5ANO9dy/r2L5FJ54peTXD7bTyae
o5B1F/vWVUuQZBHTsEgnsoiCgBbQaGyLuvsCbNtB0zUizSG3XHX9Cg68dAQcB9O0MEsW7SuXUCqZ
w8GYwYada8Z8rzNhrICzpSNGIBwod4Fl03nW7lg1qhZnunjOz96AtmuV0YS/ozGR4LjSjLOaE469
/87ku1/P0FSHeoamOiz6gGY0KjMhk2l/ns2AZiwjyWrsc65myozFaK2x3nh1b8CZbduIokihUCCV
Sk14vIGIzie+/GG23LWe42+eRlIkVm7tLGtw/CGVwW4Tx7GHxa42wYYAiiaz4bZ1GEWD/rP9bLh9
PWuuX050SYQjrx3n//2jf0DxqciqyPkj3RQyBQTAKJqs2t5JIVugaWkjH/r83QxcHGSoN4miyez6
zVsJRgNceL8LWZXZ8aEtKJqC4zikBjMU0gVkReLYGycJNYZYsrKJ3tN9+CMB1t24mfseuYNSwaCY
K6KH/VdMKa4m3qIKsOvhnbz5zAEc2+GG27ay9Y6N5dEEMy2NeOXCiQLThYxnnAlMKPwdi9EEx16Q
43lZAVdlcaoxG8f7/8lQz9BUiXpAUxUWvShYluWy/UFlJiSTyUz6iVQQBBoaGhgaGqqT3A1LAAAg
AElEQVTacXmlGcMwyGazV91gdF3HcZxp6w7mIiszE7z2XYBSqVS+mc8kFQ/Qe/YyX/3o45SyRRxB
QA/7aGiLEGkKE2kOsWxDO/c8dHtZQ/LKd1/jxNtnyMSz2JZNLl1AEEAUBfxhnXhPnFh7I6FYkKXr
2rj1V68nuiRCPlNA9buze0ajkCvy5NeeRZJFUn0ZLh3vJtgUZMud6ynl3Zkye37nbi4d6+HAzw5j
GRaqX+XOz+wk0jS9sew9Z/p444f7cHC49eM3sHRd25T+vaf98ILOqZRGvJkrxWLxmrZU0TSNcDh8
lXHmbFBZqvL+zGTC8WhMVKryHv6qee+rBeZaFLzjizMTBR/4el0UDPUMDTDz6brVzNCIoliuo0/H
SHIiaj2QAcpTcEcTinpdI6qqllvGp5I1aF25hP/lf36Bn/zNi2g+BUVXGbwYp3X1EiJNITJDWXKp
PP6gD6NokIln3acnwR28Z+QN9LAPJAFZEYm2RIgtbWDFtk6u37OFUIMbEOsh/7jvUVZkVE1FD+oI
gsjlC/1IkhtYq34Fn64BcPCl91B9Kvjc6+ztFw5xX8WAwcky1B3nB3/+9LC+B5782rM89NVP0tQR
m/RrjCf+rmzhH3k+POuCVCo1p7Oa5pLK7NNoxpmzwVS0UdUUHHv/vVYmHdcC9ZJTdVj0AY2n35iN
6bpTxeukKhQKEz7FTjWImu/y0mTwRt2bpsng4OCoxztyTH1ly7iExKWTvag+haXrW8udPCOfUjfs
XIPiUzjx5mnOv99F+9ol5ayHrMr0nukj1t6ApEgIksCSlU0k3jqDpEhEloSxLYtl69sZuDRE+9pW
7vi1m1m+edmU3mcsFuOm+7fz+k/ewjItfAGVttUt2LZNKW9w/Z6tWIaFbX1wPQqCOyBwOhx57YS7
AA3reRxB4N1/O3rF9OXpMN4sFs/h3XEcisUikiSVfZKuJcYS/s4H450Pz4RzpoJj77+ez9a1Kuie
U+oBTVVY9AENUJXpumN5K02GykF9k/WB8p6OJkOtZ2UqDQinOureyxokBpI8/42XsU0bo2giqzK7
H7mbddtXIYoiR986ybuvvocjwLqbV7F6+3JWb1/OmUMX2P/iu+XXM0omsXbX/E4URbbdu5mDL71H
56alJPuSbL5zAzs+tIVMPIs/5CfaEp7Se60c6b/yhg6aVzWSTeUIx0JcOt5DJp5l+ealNLa5xxCK
BcinC0iyRClvsGzj1MpE5f02BDANq6zBsQyTYENgWq81Ht758DQ3noh9NgcxzifeMMBUKjUvFg0T
MZEZ50jBsXdeJroHKYpCJBIhn8+P6s1UZ4oszMu/5lj0AY3nozJTphPQzKTUNZkMzULIyngdL8Vi
cUaj7g++fARRErFMi7OHL2AUXJfrVduXkx7KcOjlIyiqQtuqJeTiBdo6W2lojbDplnUMdcU5f+QS
CLDhljW0rmopv27npqW0rmq5SpQbarzaZ2Y8RmafvPcZbAjgC2gUskVWbeu8SvR756/vZP9PD5NL
5Wlfu4StuzaO9vITsu3eTRx/8xQXj3WDA+1rW7n+/uum9VrjIUkSkUgE27avEMTOZtZgPqgU/o6V
TaxVRstyeqWqyczG0XUdXddJJBI1GcTVWbws+oCmWky1BKRpGrquUyqVplXqmmh/tZ6VEUWRUCiE
LMskk8kZa4Vsy0YQBHpO9SFJIrYiofoUDr18BARXsyKIAhePd6GFVfY+9zb+gA/Nr7HrU7ej/pZa
Ttd7g/88VJ9ylbfRVBjPaPHi0W5ee/JNzGHR7/2fv5voksgV+9754PXT3reHKIn8+n99kL7z7vye
ls4YojS5DN9k8bIVEw3JGytr4ImNR/NFKpVKNXM9X2tt55X2DB4jZ+P88z//MwcPHmTNmjWsXr2a
5uZmWlpaJp0lrjM+dQ1NdVj0AU21bpKTDWiqZSQ51v4WQlbGazvN5/NlT6KZsvmOdbz4969iOza2
7aD6FEINAXrP9BGKBcnEc+UFPN6dINGbom11C47tcPrds3zsP+5BD+rlTMpM537AB1kZwzBGzT45
jsMvf/w2siIjK67W5Bc/eJMH/9OeqnwmIxFFkdaVzbPyupVtytPRVFiWdYUf2Wi+SLWQxQmFQqiq
WpUgvJYZKTj+8Ic/zK233srRo0c5dOgQ58+fJ5VK8eijj7Jx4/SyhnUqqAc0VWHRBzTVYjIBzVgz
ZabLyO6DWg9kJEkiFAohimLVO0EaWqM88Lu72Pv0fo7vPc2y9a3Ylk3rqhZUn4JRNEn1p7EtG1mV
ae6MucJGSaCQLXLxeA/LNy8dVWw8nQV1vKyMh23ZGEXD7WLCE/0urEXSC06r3aY8kfZjqu7WM6WW
hL9zjTcgUBRFbrzxRm680bUkyeVyaJo2z0d3bSAsoutpNln0Ac1cZGi8jg/TNCct+p3M/jxqvbwE
H5QjZnM+R7QlwgO/ew833L+NU++cQQv4uO7uDZzYd4YL73dhmRbb791E14nLdJ3sLf8727bLk3E9
JlsWGZnF8ebnjJWVqUSSJcJNYbKJLJIsYRRNli5fUv0PZhYQBIFwOIwkSXPWpjxeh1ulu3Wl2Lga
x1Xrwt/ZwpvQDdDf33/VfUvXx/YUqzNFavv2vWBY9AFNtRgtoKl05672TBnbtsvdUd4NvBaFlN4C
74lE56LFs7mjkeaOxvLPm25fx6bb15V/jnXE6D7VSyFbxLZtWjpjtK6euBQzVlnEm/mhKK7OxguE
RFGc8P3u+fzdvPHUW2QSOdrXtXLLx2aul5ltPA1JoVCoWslwOkymg0eSpGlncbwFXRCEBSf8nSle
F1Mul7umByHWubaoBzRVYmRAUzlTJh6PV31/XrfMREPN5jNzEwwGy1421SixVQufrvErj+2m51Qv
sirTtmbJtMSN3oLqOA6aplEoFMjn88iyfFW3SGXWoBJNV7nnt2Y2C2auqBweV6sakslmcUY6v4/k
WhP+TgWvxFTvYpo76qLg6rDoA5pql5wm48490/14T4pj3by9jIEsy+XhcpN1tK4GkxmQN9+oPoXl
Wzpm9BqV83Mqp+AahjEpl3EvyKnFz2ck3hN7sVhcUBqSibI4ownANU2r6aBttpioxFRnFlkYX6ea
Z9EHNNXCcRxUVcXv90/LPmEyTBQcjTWaXlXVqxytZ6NMNZMBeQuNiTqYPMZzGff5fJPOGMwnnsD5
WrEuGGsOi3c+BEHAtm10Xb/K+f1axfPaqpeY5od6hqY61AOaKuAFMrZtz4p9wkxEv95sFY/ROkWq
Uaaq1oC82eDC+10c+ffjIMD6W9awalvntF9rrKzMVBi5QI7MGIzUfczXDBavs2fkMMBrDcdxygGm
Vx6tPCee8/tM2/hrFa/EFI/Hr4mAdUFybX615px6QDMDKmfKFAqFqhu1zUYrdrXLVNUekFdtBruG
+P6fP00xWyA9mGXvT/Zz92d3suuh26asm/HKLqVSqaoL/GR0H3M9g8UzCK01/VO1GUv4O/KcwPiZ
tYWYxfHmBzmOUy8x1bkmqAc0TM8t2+/34/f7y10vXlmnWsxVK/ZMylR+v59gMEgul5vXbpfx+MU/
76WQzpMYnkFTzJc4+PL7BBsC3PzRHZN6jWpkZabCdFvGq3G9SJJUXqxrVf9ULbwyy2SFv+Nl1rws
zkLRR3nvPZvNkslk5vtwFj31klN1qAc0U2QsI8npBEUj8Wr3830TnEyZCtz3nMlkavoJ3jRtbAcs
03IHsVkWmq7Sd25gUv/eu/FXOyszVSZqGR+ZWRvNZXwivAB1IuuCa4FQKISmaTPKKk6UxQmFXAf3
WsvieJqoeomphqgHNFWhHtBMksqZMtls9qobQTUCmloTg3pU3ri9IWOFQgHHcfD5fASDwXnpppoM
q3cs59KxLoa6h7ABn67SsiKGrI1/6c91VmaqjJVZG2kwWNkuPtZi6pVdRFGcs1lB88Vs64JG80Ty
MmsjszjTDTynS73EVLvUMzTVoR7QMHEwomkagUCAYrFIIpEY9SY4k4BmIUz6rRyQN1opwnsynYtu
qqmw/b7N5JI5Ag1Bes9cpm3VEiRJYufHxx5g52VlalHgPB5eZm20lnFP5+SZb3qLqaqqBIPBRTFv
xQvG51IXZNs2hUJh1CzOyO/KbGZx6iWmOouBekAzDlOZKTOdgGYh+C/BBynq8cpL4+kL5nPonyiJ
3PFrt3DHr91CKV+ikC2iR3RkRbpq21rPykyV8VrG/X5/2VDSy6h5Ac+1RqXwtxYyUOM5W4+cVVSN
LE69xLQAWCAPTbVOPaAZg6kaSU41oFkIWRlVVQmFQpPyJRpJLQ79U/0qql8d/XcLNCszVQzDQBAE
dF0nl8uRz+fHtArwMjkL+bOYqvB3Phgv8Bxr4rRpmhOeF6/EZNt2vcRU49RLTtWhHtBw5bTg6RpJ
TiagqRXR70R4I+5VVa1apmI0zUctlKlm473WKpUZqEox7Fgt47quoyjKFS3jpVJp3jMck6Uawt/5
YqZZnPkoMR09epSnnnoKx3HYuXMnu3fvvuL3pmnyxBNPcOnSJXRd53Of+xyxWKz8+3g8zl/8xV/w
wAMPcO+9987JMdcM9YCmKtQDmmFEUSxnDqptJOmxENL5czkgb77LVIslKwOTn2w8nth4vsuHk8XT
e1mWdc2c19GyOCPHKzz99NMcPXqU1atXs2HDBhobG5Gkq0urs3V8Tz75JI899hjRaJTHH3+cLVu2
0NraWt5m79696LrOV77yFfbv388zzzzDo48+Wv79j370IzZu3Dgnx1trCLX9jLtgqAc0uAtbJBKh
UCjMaOy3l6UZeQNdCOUlT2cgSdK8PdHOVZlqMWVl4AMNxXTtKEaKjQVBKHfuVKtlvFp4refX+kBA
uHq8wg033MCSJUs4ceIE3/ve9+jq6iIWi/Hggw/OeqBw/vx5mpqaaGpqAmDHjh0cPnz4ioDm8OHD
PPDAAwBs27aNH/7wh+V75rvvvkssFkNVRy8J16kzGeoBDe6NoRpGkiMDmoUi+q0ckJdIJOb7cMpM
VKYKhULlaa2TLVMtpqxMZWfa0NBQ1a5Fx3EmzBbA3M5fEQSBSCSyKFrPR0PTNJqamohEIqxYsYI9
e/Zgmibd3d1l8fdskkwmaWhoKP8cjUY5f/78mNtIkoTP5yObzaIoCi+//DJf/OIXeeWVV2b9WGuS
a/c2NKfUAxrczMBMZ8jAlTqahZCV8abCAgtmEZhumaoyK7MQNRVTZa5blEdmCzzNh6qqs+6F5AWp
hUJhUbYke1qhoaGhK65rWZbp7Jy+b9lMmcw9VRAE/vVf/5Vdu3ZVddL6QqMuCq4O9YAGqhZ4eIPm
CoVCzWdmPK+ehT4VdjJlKtu2y4FOPB5fEIHbdPE6W4B5tS6YqGXcs1eonIkzHY2ZV05bDEHqSCRJ
IhKJYFkWfX198/oAFYlEiMfj5Z8TiUT5YWnkNtFo9IpBnefPn+fgwYM8/fTT5PP5cjB85513zvXb
mD9q/OF3oVAPaKpIOp0uD+HzdAXeDXu+HJNH4olDPcFkrQdeU6WyTOVlZRRFKZuHNjY2TrlMtVDw
xu1ns1lyudzs79CxEEjiEAJBmXBzL3Dxjm207NrIwX9jfWcqF/NrvXQ4Gl7JNZPJ1EQ7emdnJwMD
AwwODhKJRDhw4AAPP/zwFdts2bKFffv2sXLlSg4dOsTatWsRBIE/+IM/KG/zwgsvoGna4gpmqGdo
qkU9oKkCnlbGE0Z6jOWY7N2w5zJT4Fk3zEQcupCo1MoMDQ1dseDVytC/ajEf1gWi00WIP0ckjoNO
1vldDGHnlF5jPJfx8VrGF5PwdzS80unIEtN8IkkSn/rUp/jGN76BbdvccssttLW18fzzz9PZ2cmW
LVvYuXMnTzzxBH/2Z3+Grus88sgj833Yda4xBGecO3d3d/dcHsu8Mh11/VRFv177q9chAnMzd6XS
YDGdTi+oxXqqVGZlUqnUpG74lWUqRVGu6Nqpdddk70l9rgfHhZ0/QeYEMKwZo5EE3wRBrOp+KlvG
VVVFFEUcxyGfz18Tg/+mgpeV8mZkLZb3PR+0t7fP6f7u+ORfzujfv/bUH1fpSBY29QzNNJmO6Hc0
rx1vER2ZKfBu1jNh5OJ+rbcnj5yhM1nG66by+XxlvUctlakqz+186EcE8njBjEsRKAB6VffjfWcs
y0JVVXK5HIZhlFvGRw6YqyVj1GqiaRrhcJhUKjU35cQ6c0q95FQd6gHNFKlmK/ZI47rK+R7eNNDK
MshUdDieC3ahUJjS4r4QmY3FfaxuKlVV571MNbL1fD6wWIbEeUACHBxigH9W9jWa8Hc8mwCY25bx
2cYrMQ0ODi7491JnDOrZtqpQD2imwGy3Yo8238NbRCt1OJVC45HBVaWeIpFIzHsmYbbxsjKzHbhN
ZejfbJapvMV9rjNufufbaPwSB4Ei95HhDwgiIXIJhzAZ/hCqMPqgkskKf0ezCfAeDGa7ZXw2qSwx
9ff310tMdepMQD2gGWY8L6b5HJA38mbtaQpG8z8SRRFd1+euy2Ueme+Sy1yXqWRZLi9uc93Vozqv
4udpBFyxscgPMFlHRvjyrO3TE/5OZ6zAaJlP73tTzZbx2cTrWKuXmBYH9ZJTdagHNONQi5N+R+pw
JEkqt4p7gklP4HwtpNtHY66yMlNltspUgUAAv98/b91pCgcQMPE0MyIFFA5hsq3q+xIEoWzBUa2O
LS+wHK1lvBZKiCPxSkwDAwM1F2jVmSXqAU1VqAc0w4zM0CyESb/gPslVDsir1OGEQiEkSSqLJhd6
V4i32MmyvCAGqU1UpqoUtI5WpvJKDtW2LpgqBltQ+QXicIbGQcNgc9X3UznxN5lMVv31K5lKy/hc
jVmol5gWL/UMTXWoBzQjqMWszGh4A/K8EoR3zOPpcLwbdTUMHueayqzMbC92s8VUylSO46BpWk1M
ci5xHwqnUNgHQJFdmMINVd3HfGmDPMZzGfcC0JFdiKZpVi3oqJeYFjl2PaKpBvWAZhjvyajWsxiC
IBAMBtE0bdIliNF0OCONBGtVT7DQsjJTZeS58TJroihi23b5XM9lKcTn/Asar+E2Z/8qJWEXWX4f
nN9zN6ii+LeWJ/6ONmbBC0C9LsRqtIyHw2EURamXmOrUmSH1gGYYz7agMotRa7YFlQPyZnLzH2kk
OJaeoDLImQ+uhazMVBjNuqCyhDiZMtVMUZ1foPMDwM1UBPgmltOJJayqehfTTIS/88F4/lTTaRmX
JIloNEqpVJqzEtPRo0d56qmncByHnTt3snv37it+b5omTzzxBJcuXULXdT73uc8Ri8U4fvw4zzzz
DJZlIUkSDz74IOvWrZv14100zP/yck1QD2iGGa0UoGlauRQwUbv0bCKKIqFQaNayFCP1BJVPovOh
w7nWszIjqXy/8Xj8imBzrBLiyDJVtTJsKm/hDslzgxeBNAoHsFg17dccyWwIf+eLiVrGK787XmDu
WZCEQiGSyeScBXO2bfPkk0/y2GOPEY1Gefzxx9myZQutra3lbfbu3Yuu63zlK19h//79PPPMMzz6
6KMEAgG+8IUvEIlE6Onp4Rvf+AZ/+qd/OifHvRioa2iqQz2gGYPJlGm8Bd7zmJkNKgfkzVWWYuST
aKVgcrZnriy2rMx0hLCzOfTPZAUq/17xNxpmFYMZRVGIRCLX7Pkdq2VcVVW6urr467/+awKBAGvX
rmXZsmV0dHTQ3t6OKFbXMmI0zp8/T1NTE01NTQDs2LGDw4cPXxHQHD58mAceeACAbdu28cMf/hDH
cVi2bFl5m9bW1nLgLMv1JaQq1EAF4FqgfjVOEq9MU9n26QU4I8s0nmBwJkiSVNZSzPeAvErBpOcX
5N2kR8sSTCfAq8xCzff7nQsqtVAzzUKN1rEz3TJVgU8gcwqFdxHIYrICi7XTPrZK5lv4Ox9Utowv
XbqUb37zm1y4cIF3332XM2fO8POf/5zGxkZ+//d/f9aPJZlM0tDQUP45Go1y/vz5MbeRJAmfz0c2
my0/xAEcOnSIZcuW1YOZKlLP0FSH+hU5TSzLIp/PX+XL5HmuSJI0bV8mXdcJBAI1PSBvNB3OSF+q
yjLIeO9/sWVlvA41wzBmRQg7ozKVIJF1/iNh/hiZJArHCPOfSTn/HUcITet4KtvPa034O1d4eqFk
Momu6+zcuZOdO1138vn8PMYaJjrWNj09PTzzzDM89thjs3lYdepMi3pAUyXG8mVSVZVgMIgsyxPq
UGRZLi82C01bMFqA55VBKrUElYuoN+13sWRl4IMsxVwPyZtKmUrIfx/ZuoTr0wQyF/HxI/I8MuX9
elqRhSL8rTaV1/hYXUyTCSqqQSQSIR6Pl39OJBKEw+FRt4lGo+Wsn67r5e3//u//noceeqhctqpT
JRZfjD8r1AOaWaLyKTmdTl8xVG3kPJhsNssLL7xAIBBg9+7d5aBoITORDkdRFMDN9GQymQUxC2cm
eMFqrbQnj1emUlURsSDiIAIOjiMgClMLrq8l4e908ewqvC6m+aazs5OBgQEGBweJRCIcOHCAhx9+
+IpttmzZwr59+1i5ciWHDh1i7dq1CIJALpfjW9/6Fh/96EdZtap6mqo6LsIizFrOBoIzzp21u7t7
Lo9l0aEoCmfPnuUf/uEfWLlyJY888giBQGDaOpSFQKVWJpvNXtEV4k1mvdbev1dCTKfTCyJYFZwE
Ef4YiV4EBByxDbHx73CExkl1U1UKfzOZzBwffW1QWWKqpczU+++/z49+9CNs2+aWW25hz549PP/8
83R2drJlyxYMw+CJJ56gq6sLXdd55JFHaGpq4qc//SkvvfTSFZmZxx57jFBoemXIWqe9vX1O93fv
ff/njP79Ky//SZWOZGFTD2jmkX379vHss8/y6U9/mq1bt17RSVXpx1QNc8NawOvYyufzZXFxJZU6
HFVVEQThCqHxQnv/kiSVU/rJZHJBZaEEJ46fHwAOeX4dR2i8okylKMqo3VReS/JiEv5WUs9MXRvU
A5qFSb3kNI9s3bqV6667Dk3TgLE7qWpt4N1U8bIykiSNq5UZT4czUmg93waCE+E9odeysHs8HKGB
HL93xd+NV6bydGKO41AoFBAEoTzteLHglZiKxSJDQ0PzfTh1FhD1klN1qAc084jP5xv392N1Uo0U
GlcGOLW2wFdmZabawTSWDsfz1vHm4VS+//leQEVRJBwOI4riNf+E7unEBEEou4GbpjlrQ/9qGS+A
TSQSC6KsWKfGqK3b9oKlHtAsIMbrpKo1y4bKhb1aHUzjmTv6/f7yROe5dEiuxGs/H6ukdq0x1oTj
2Rr6V4tUlpj6+/uv6QC2ziyygL8DtUQ9oFnAjDVvZL4tG7xW3VwuN+sLu7coemWdSofkkd46s6XD
8VpzFUVZNO3nnvC3WCwyODg45nbVHPpXa9RLTHWqRX2wXnWoBzTXGPNp2VCZlRnpSTRXjOaQ7C2g
kUjkigzBVAcejoan75loYb+WCAQC+P3+aQl/59qbarbw+/0EAgGSyWS9xFSnTo1QD2iucebKsmEu
szJTYbQyXWUGZ6QOZyplulAohKZpi6ajx+va8gY/ViuTMpveVNXGKzGJosjAwEC9xFSnOtRLTlWh
HtAsMqpt2VALWZmpMJYOR1XVK3Q4lRmCkYuWV2qYLeuCWsQLWOeia6tWy1SyLBONRsnn86RSqVnf
X53Fg7Awqqw1Tz2gWeRMxbKhMoPhOA7xeJz169fXXFZmqoxWpvO0SCPLdLIso2nanFsXzBeV+qD5
CljHK1N5Qehsl6l0XUfX9XqJqc7ssAgeiuaC/7+9+4+J6kz3AP4985s5DDPCiGh0qlsdBadBwlrH
RIm0U6DVGpSktXdTi6nuRtxtUneb5W5tuiRN+Kd4bbqlpK2Nddmr7dU2wUqF0W2TGhdKlZ2dWkrs
GrAgFQbmB4wgzI/7hzlnZ4BBYM78Yp5PQuJhzsy8ZwTmmfd93uehgIYEmallA/fm0d/fjw8++ACj
o6M4fPhw3M/KzNV0eTjc9nNOSkoKJBKJIHk48Wq2ib+xMDkZPFLLVAzDQK1Wg2EYWmIiJM5RQENm
FLhEMzw8jNbWVnz++ecwmUzYuXMnlErlgm1ZwFEoFGBZlm+wOLmgnFQqDXrjjOV2eaFwib+JMhMV
iWUqLqCL9hJTR0cHPv30U/j9fhiNRphMpqDbPR4P6uvr0dPTA6VSiRdeeAEZGRkAALPZjNbWVjAM
g927dyM7Oztq4yZhSOw/F3GDAhoya6Ojo7BYLKioqMCyZcvgcrngcrmCdlKxLAtgYbRsEIlEUKvV
ABBUJC/UEkioPJxobZcXAnfNQif+Rlu4y1TcEpPD4YhqQOfz+XDmzBkcPHgQGo0GR48ehcFgQFZW
Fn9OS0sLlEoljhw5gmvXruHcuXMoLy/Hzz//jPb2dlRWVsLpdKK2thavvvoqRCJR1MZP5ocqBQuD
Ahoya0qlEr/5zW+mfH8htmyYaxLsXPJw4jXIi2bibyw8aJnq2LFjGB0dhV6vh16vR0ZGBiSS6P6J
7O7uhlar5ZtA5uXlwWq1BgU0VqsVJSUlAIDc3FycPXsWfr8fVqsVeXl5kEgkyMjIgFarRXd3N1at
WhXVayDzQAGNICigIYJL5JYNgZVfw0mCnZyHEyrHIx6CvHhI/I2FyctUzz77LG7fvo3r16/j9OnT
6O3txZIlS7B79+6oBQVOpxOLFi3ijzUaDbq7u0OeIxaLoVAo4Ha74XQ6sXLlyqD7zrXdCImRxJwI
jTsU0JCIS5SWDVzrgrGxMcHfCCa/eXKNN6VSKVQqFSQSyZTt8tF4DaRSKdLS0jA+Ph53ib/RpFQq
odVqoVQqsWLFCpSUlGBiYgI9PT1YvHhxTMfGMMy8z5nNfQlZKCigIVE325YNgQX/IpnLEThD4XQ6
ozJbEqrxplQqDQryAoMcoV+DREv8jYTAXUwDAwNBr7FUKo36co1arYbdbuePHVnClYgAABNKSURB
VA4H0tLSpj1Ho9HwQbJSqZzVfUl8ohwaYVBAQ+JCrFo2BG5NHhoaitnS13QF/wJfA5VKFZTEGs5r
sFASf8PF/d/fvXsXw8PDsR4OAECn08Fms2FwcBBqtRrt7e14/vnng84xGAxoa2vDqlWrYLFYsGbN
GjAMA4PBgL/+9a8oLCyE0+mEzWbDQw89FKMrIXNCAY0gKKAhcSkaLRtSU1OhUCjitnUB9xpwhMjD
4SpCL9TE39niZqeivYvpQcRiMcrKylBXVwefz4dNmzZh6dKlaGxshE6ng8FggNFoRH19Pd544w0o
lUrs3bsXALB06VJs2LAB1dXVEIlEKCsrox1OiYICGkEw/hk+kt6+fTuaY0lYbrcbH330EYaGhpCe
no7y8nIolcop533zzTdobm4GABQVFeHRRx/F+Pg4Tpw4AZvNBpFIhPXr1+Ppp5+O9iUknMCWDTKZ
bE4tG7jWBR6PBy6XK24SkueKy8Ph6q2IxeKQydaTl9WSJfF3Mq5VBwDY7faknZ0iM1u2bFlUn684
7/Ww7t/UXiXQSBIbzdAI4NKlS9Dr9TCZTLh48SIuXryInTt3Bp3jdrvR1NSEw4cPg2EY1NTUwGAw
QCKRoLCwEGvWrIHH40FtbS2+//575OTkxOhqEsN8WjZ4PB589913KCgogNvtTvgS9jPl4bAsyzfe
9Hg8kMlkSZ/4G49LTLNRVVWFkZER/mc8JycHZWVlkMvl6OjogNlsRm9vLyQSCbKyslBYWAiDwYDr
16/j4sWL6Ovrg1Qqxfr161FaWgqFQhHrSyIkIiigEYDVasVvf/tbAMDGjRvxl7/8ZUpA88MPP0Cv
1/OF5/R6PTo6OpCfn481a9YAuD9zsHz5ctpqOQ8PatkwMjKC2tpaKBQK5OfnL8hP5oF5OFxvLZVK
BYVCAa/XC7lcjoyMjAVd1TkUbonJbrfH5fLig+zfvx9r166Fw+FAXV0dmpubsWLFCpw6dQqlpaU4
cOAA5HI5bt68iW+//RYGgwFjY2MoKirCww8/DI/Hg5MnT6KhoQHPPPNMrC+HTEJJwcKggEYAw8PD
fEVZtVqNkZGRKedMV19icuBy9+5dXL9+HQUFBZEdcBIIfHM3m834/PPP8dRTT8FkMiElJQUymWxB
t2wIrHI8ODjIB3BcLhK3m0okEgUlGi+0pajABOjJu5gSkUajQXZ2Nvr6+nD16lUUFxdj8+bN/O2r
V6/G6tWrAQD5+fn892UyGTZv3owLFy5EfcxkFiigEQQFNLNUW1s7bT+X7du3z/sxA2tEeL1enDx5
Elu3buWrhBJhDA0N4aWXXsKSJUuCCv4t1JYNMyX+Tlf0kJvJ4goKxmvRw7nirsntdk/7ISMR2e12
dHR0YMmSJXA4HMjNzZ31ff/9738HVRwmcSRBf8fiDQU0s1RRURHyNpVKBafTCbVaDafTGdSVmaNW
q/Hjjz/yxw6Hg/8kBQAff/wxFi9ejG3btgk6bhI66FxoLRvmU/F3tnk4c2nqGA8SfYlpsuPHj0Mk
EiElJQU5OTnIz8+HxWKZdZ2Zzs5OtLW14eWXX47wSAmJHQpoBMDVhTCZTGhra8Mjjzwy5Zx169bh
/Pnz/JtnZ2cnduzYAQA4f/48xsbGsGfPnqiOmwRL5JYN3M6tiYmJsOrpTJeHM7mpY2DRw4mJibha
qltoS0ycF198EWvXruWP79y5AwBwuVx8p+1Qurq6cPLkSezbtw+ZmZkRHSeZpzj5O5LoKKARgMlk
wokTJ9DS0oJFixahvLwcAHDr1i1cuXIFe/bsAcuyKCoqwtGjRwEAxcXFYFkWDocDZrMZmZmZePPN
NwEAW7duDVoXJ7GRKC0buM7Qkar4O11Tx8BAL/CcWObhLMQlplAyMzOh0WhgsVjw2GOPhTyvp6cH
H3zwAZ577jno9foojpDMycKIu2OOAhoBsCyLQ4cOTfm+TqeDTqfjj41GI4xGY9A5Go0Gx44di/gY
SfjirWVDYOJvNCv+hprJ4vpCBdYEitZMFlckcaEsMT0IwzAoLS3F6dOnwbIscnNzIZPJ0NXVhba2
Njz77LPo6+tDXV0ddu/eDYPBEOshkxnQLidhUEBDSBhi1bKBa4dw9+7dmFf8nW4mi0s0DszDicRM
FhfU+Xy+BbXENBsbNmyAXC6H2WzG2bNnIZVKkZWVxc/YfPnll3C73Th9+jROnz4NAEhPT0dlZWUs
h02mQwGNIKhSMCERFNiyQSaTCdKyIS0tLeEq/nJ5ONxMjhB5OMm0xESiK9qVgp/M/u+w7v9FR7VA
I0lsNEOTRDo6OvDpp5/C7/fDaDTCZDIF3e7xeFBfX4+enh4olUq88MILfMKh2WxGa2srGIbB7t27
kZ2dHYtLSDihlme4rdWTl2dmWi4RKvE3Fibn4UgkEn65bvJM1my2zMfDEhO1PCGC8SXO73I8o4Am
Sfh8Ppw5cwYHDx6ERqPB0aNHYTAYgupStLS0QKlU4siRI7h27RrOnTuH8vJy/Pzzz2hvb0dlZSWc
Tidqa2vx6quvUuO7eZgp0ZhlWb7H1OSCf1arFVu2bMHIyEhcNVOcL27L/HR5OIFb5rnX4N69exCJ
REFLTP39/TEN6qjlCRFMAn04iWf0jpQkuru7odVqodVqIZFIkJeXB6vVGnSO1WrFxo0bAQC5ubm4
ceMG/H4/rFYr8vLyIJFIkJGRAa1Wi+7u7lhcxoLDJRoPDw/DZrPhzp07cLlc8Hq9SElJgUgkwnvv
vYevv/4abrc77mvhzBcX6A0PD2NwcBA2mw2jo6NgGAZerxd/+tOf8NZbb6GxsRH/+Mc/cOvWrZjP
UAX+vmzcuHHK7xMQ3PJEqVTyLU9kMhm1PCH/4feH90UA0AxN0piu9cLkoCTwHLFYDIVCAbfbDafT
iZUrVwbdl/74RkZgHZjW1lacOnUK27Ztw9NPP50ULRs4k3eU1dTUoLe3F+3t7bh06RK6urqg0Whw
6NAhqFSqmIyRWp4QwVBQIggKaJJYYOuFuZ4zm/uS8Ny6dQv79+/HypUrk6Jlw3REIhE0Gg28Xi+0
Wi1MJhNMJhO8Xi9sNht//ZFCLU8ISRwU0CQJtVoNu93OHzscjill07lzuDeQsbExKJXKWd2XCO/J
J5+c9vsLrWVDKNzW9JGREb5qMUcsFmPJkiURHwO1PCFRQUnBgqAcmiSh0+lgs9kwODgIj8eD9vb2
KcW2uBYOAGCxWLBmzRowDAODwYD29nZ4PB4+v+Ghhx6KxWWQaXA7qZxOJ/r7+9Hf3w+32w2GYZCa
morFixdj0aJFYFkWMpksIWbXVCoVUlNTMTQ0NCWYiReBvy8ztTzp7Ozk6wV1dnZi3bp1AP7T8mTX
rl1RHTeJQ35feF8EANWhSSrff/89PvvsM/h8PmzatAlFRUVobGyETqeDwWDAxMQE6uvr0dvbC6VS
ib179/LT4M3NzWhtbYVIJMKuXbtoN0YCCdxJxe0kiteGk2KxGGq1Gl6vF3a7PeaJvzNxu904ceIE
7HY73/KEZdmglifA/d2DFy9eBAA88cQT2LRpExwOB/785z8jMzMTEsn9iXJqeRI/ol6HZmV4TUO/
6PofgUaS2CigISQJcTVguCAnmi0bQplpiYmQaKKAJjFRDg0hSShWLRtCUalUkMlkGBoaSticH0Lm
jXJoBEEBDSEkZKKxXC6fkmgsZEdtbonJ4/FgYGAgrpeYCIkY+rkXBAU0JO7Nt2VDZ2cnzp07B6/X
C7FYjJ07d0Kv18foKhKLkC0bQuEey+VyxbzBJiExRQGNICigIXEtnJYNLMviwIEDUKvV6OvrQ11d
HaqqqmJ4NYlrPi0bZppt4ZaYbDbbgqqbQ8i8UEAjCNq2TeJaOC0bli9fzldyzcrKWnBF52LpQS0b
tFot0tPToVKpoFAo+L5fYrEY6enpYBgGAwMD9P9BCBEMzdAQQVRVVWFkZIT/5J6Tk4OysjLI5XJ0
dHTAbDajt7cXEokEWVlZKCwshMFggNPpxCeffIKffvoJLpcLr732Gt/hGwivZUNgoTOLxYLly5fz
W2SJsAJbNnAtAKRSKb9MpVKp4Pf7wTAMLTERMlmclE1IdPTXnQhm//79WLt2LRwOB+rq6tDc3IwV
K1bg1KlTKC0txYEDByCXy3Hz5k18++23MBgMEIlEyM7OhslkwltvvTWr55lry4a+vj6cO3cOBw8e
nPe1kbnjlp+4LdgSiQQMw9AuJkImoyUnQVBAQwSn0WiQnZ2Nvr4+XL16FcXFxUEFw1avXs2Xf1ep
VNiyZUvIbcHhtGzgzv/www/xq1/9inrlxBgtLxESAgU0gqAcGiI4u92Ojo4OSKVSOBwO5Obmzvux
wmnZcPfuXbz33nvYsWMHfvGLX4R1TYQQEjE+f3hfBADN0BABHT9+HCKRCCkpKcjJyUF+fj4sFktY
jSzFYjHKyspQV1fHt2xYunRpUMsGo9GI+vp6vPHGG3zLBgC4fPkybDYbmpqa0NTUBAA4ePAgVCqV
INdLCCEkflBAQwTz4osvYu3atfzxnTt3AAAulyso0XeucnJypvSOeuqpp/h/S6VS7Nu3b8r9ioqK
UFRUNO/nJYnL7Xbjo48+wtDQENLT01FeXs4vQwb65ptv0NzcDOD+z8ujjz4adPv777+PwcFBVFZW
RmXcJDn5qcGkIGjJiURMZmYmNBoNLBZLrIdCksylS5eg1+tx5MgR6PV6vjlkILfbjaamJrz88ss4
fPgwmpqagnZfWSwWyOXyaA6bJCtachIEBTQkYhiGQWlpKd+pe2xsDD6fDzdv3sTHH3/MnxdYH4Yr
zkZIOAJrE23cuHFK7SIA+OGHH6DX68GyLJRKJfR6PTo6OgAA9+7dw1dffUUzfCQ6/P7wvggAWnIi
EbZhwwbI5XKYzWacPXsWUqkUWVlZeOyxx/hzXnnlFf7f1dXVAIBjx45FfaxCm2/LBo7dbkd1dTVK
SkqCXi/yYMPDw3xRRbVazdfGCTRdjSOn0wkAaGxsRGFhIaRSaXQGTAgJGwU0RBCvv/56yNuys7OR
nZ0d8vaFELxMFk7LBs5nn3024+uW7Gpra+FyuaZ8f/v27fN+TIZh0NPTA5vNhl27dmFwcDCcIRIy
O1RYTxAU0BASAYEtGwDwLRsCAxqr1YqSkhIA91s2nD17lq+m+69//QsZGRmQyWQxGX8iqKioCHmb
SqWC0+mEWq2G0+kMqhrNUavV+PHHH/ljh8OB1atXo6urCz/99BOqqqrg8/kwMjKCt99+G7/73e8i
ch2E0LKRMCigISQCwmnZIJVKcenSJVRUVODvf/97VMe9UHC1iUwmE9ra2vDII49MOWfdunU4f/48
nwjc2dmJHTt2gGVZbNmyBQAwODiI999/n4IZElF+mqERBAU0hETJbFs2XLhwAdu2baMdNmEwmUw4
ceIEWlpasGjRIn4p79atW7hy5Qr27NkDlmVRVFSEo0ePAgCKi4vBsmwMR02SFs3QCIICGkIiIJyW
Dd3d3fjnP/+JhoYGjI6OQiQSQSqVYuvWrdG+jITFsiwOHTo05fs6nQ46nY4/NhqNMBqNIR8nIyOD
atAQkiAooCEkAgJbNqjVarS3t+P5558POodbFlm1alVQy4aXXnqJP+eLL76AXC6nYIaQhYxqyQiC
AhpCIiCclg2EkCRDlYIFwfj9oRfvbt++Hc2xEEIIITG3bNmyqD5fkey/wrp/8/j/CjSSxEaVggkh
hJBY8vvC+3qAZ555BidPnuSPGxoa8Mknn0TyiqZ455130NLSEtHnoICGEEIIWcCkUilaW1unLUQ5
G16vV+ARRQbl0BBCCCEx5I9wUrBIJILJZML58+fx3HPPBd02MDCAd999Fy6XC2lpaaioqIBWq8U7
77yD1NRUdHV1YdWqVVAoFOjv74fD4UBfXx/27t2LGzduoL29Henp6fjjH/8IiUSCM2fO4OrVqxgf
H4der8evf/3rWZWsEOQ6o/IshBBCCJlehJecgPt1li5fvhzUUR4Ajh8/joKCArz55pvYsmULPvzw
Q/62vr4+vPbaa/yGhTt37qCyshKvvPIK3n77baxfvx41NTWQyWS4du0aAKCkpATV1dWoqanB+Pg4
rl69KtCL9GAzztBEOzGKEEIISTZm3/9F/DmUSiUKCgrQ2NgY1FLlxo0b+MMf/gAAKCgowN/+9jf+
NqPRCJHoP/MeeXl5kEgk0Ol08Pl82LBhA4D7ZSoGBgYAAN999x0aGhpw7949jIyMYMWKFfjlL38Z
8esDaIaGEEIISQrbt2/Hl19+iXv37s3qfIVCEXQskdyfAxGJRBCLxfxSEsMw8Hq9GB8fx/Hjx3H4
8GHU1NTg8ccfx/j4uLAXMQMKaAghhJAkkJqais2bNwf1iNPr9bhy5QoA4PLly1i3bt28H39iYgIA
kJaWhrGxMbS2toY34DmipGBCCCEkSezYsQMXLlzgj/ft24d3330XDQ0NfFLwfLEsi8cffxy///3v
kZmZiYcffliIIc/ajIX1CCGEEEISAS05EUIIISThUUBDCCGEkIRHAQ0hhBBCEh4FNIQQQghJeBTQ
EEIIISThUUBDCCGEkIRHAQ0hhBBCEh4FNIQQQghJeP8P8j4vX/337tsAAAAASUVORK5CYII=
&quot;
&gt;
&lt;/div&gt;

&lt;/div&gt;

&lt;div class=&quot;output_area&quot;&gt;

&lt;div class=&quot;prompt&quot;&gt;&lt;/div&gt;




&lt;div class=&quot;output_png output_subarea &quot;&gt;
&lt;img src=&quot;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAjQAAAFeCAYAAACSDIWiAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz
AAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMS4wLCBo
dHRwOi8vbWF0cGxvdGxpYi5vcmcvpW3flQAAIABJREFUeJzsnXmYVNWd9z93qVtbL9ULTTcNDQjI
6oIbmLjihsbxVYmJjnFLYjIk82byxhizOJMx8cmYMUOSZ3SGiTOJiUw0M4o6OCRgYtxFURABEUF2
aGh6767qWu7y/tHcsqq7uruWW9XV1efzPDxA1a1zzr1Vdc+3fqtkWZaFQCAQCAQCwRhGHu0FCAQC
gUAgEOSKEDQCgUAgEAjGPELQCAQCgUAgGPMIQSMQCAQCgWDMIwSNQCAQCASCMY8QNAKBQCAQCMY8
QtAIBAKBQFDCfPazn+Xuu+/mrrvuYsWKFUQikWGPX716dfzfLS0t3HXXXRnN9/DDD7Nhw4as1vr2
22/zzDPPZPVaIWgEAoFAIChhNE3jwQcf5J/+6Z9QVZXnn39+2OOffvrpAq1sMGeddRbXXnttVq9V
HV6LQCAQCASCImXOnDkcOHAAgH/8x3+kra2NWCzGVVddxaWXXsp//ud/Eo1Gufvuu5kyZQo33ngj
pmmycuVKPvzwQ6qrq/nWt76Fpmns27ePRx55hEgkwsSJE1m+fDllZWVJ823dupXHHnsMwzCYMWMG
d955Jy6Xi02bNvGb3/yG8vJypk+fTktLC9/+9rd58cUX+eijj/jCF75AZ2cnjzzyCC0tLQB88Ytf
ZPbs2UOem7DQCAQCgUAwDjAMg3fffZempiYAvvKVr/DjH/+YBx54gN///vf09PRw8803xy06X/va
1wBobm5m6dKlrFixAp/PF3cnPfTQQ9x888385Cc/oampiSeffDJpvmg0yr/8y7/w9a9/nX/6p3/C
NE3Wr19PNBrlkUce4bvf/S4//OEP6e7uTrneX/3qV8ybN48HH3yQH//4x0yZMmXY8xvWQnPkyJH0
rpJAIBAIBCXCpEmTCjaXZRxCUibndQ7b4gIwd+5clixZAsDatWvZuHEjAK2trTQ3N1NeXj7o9XV1
dUybNg2Ak046iePHjxMKhQgGg8ybNw+ACy+8kJ/+9KdJrzty5Ah1dXXx63nhhReybt065s+fT11d
HXV1dQCcd955/PGPfxw077Zt2/jrv/5rAGRZxufzDXuewuUkEAgEAsEoISmT0Y/OzGkMtX73sM/b
FpdEtm/fztatW7n//vtxu938/d//PbFYLOXrXS5X/N+yLBONRnNab75aSAqXk0AgEAgE44xQKITf
78ftdnP48GF27doVf05VVXRdH/b1Pp+PsrIyduzYAcDLL7/M3Llzk46ZNGkSLS0tHD16NH7MvHnz
aGxspKWlJR4b8/rrr6ec45RTTmH9+vUAmKZJKBQadk3CQiMQCAQCwShiWGZOr89mIz/99NN5/vnn
+eY3v8mkSZOYNWtW/LlLLrmEu+++m+nTp3PjjTcOOcZXv/rVeFBwXV0dX/nKV5Ke1zSNr3zlK6xY
sSIeFHzZZZfhcrn4whe+wI9+9CPKy8uZOTO1her222/nF7/4BS+88AKyLHPnnXdy8sknD7keyRrG
9iNiaAQCgUAw3ihkDA1AX/P0nF7vbdjr0EoKRzgcxuPxYFkW//Ef/0F9fT1XX311TmMKC41AIBAI
BKOISW4WmrHIH//4R1566SV0XWf69OlcdtllOY8pLDQCgUAgECRQaAtNsHlqTq/3N+x3aCVjG2Gh
EQgEAoFgFDHylPUz3hCCRiAQCASCUcRECBonEGnbAoEgLW688UYee+yx0V6GQFByGFg5/RH0Iyw0
gnHNAw88wLp164D+glHV1dUsXLiQO++8kwkTJqQ8DsDv9zN16lRuueUWFi9eHH/861//Olu2bBk0
z8MPPxyvqDmQiy++mO9+97tJQXGrVq3i17/+NXfffTeXX355zucpEAiKF2GhcQYhaATjnlNPPZXv
f//7GIbBkSNH+PnPf859993HQw89lPI4gJ6eHp5++mn+9m//lkcffZTGxsb4cZdccsmgegwVFRVp
rcU0TX7+85/z/PPP86Mf/Yizzz476/OKxWJJFT4FAoGglBGCRjDuUVWV6upqACZMmMDVV1/NP//z
PxMMBvH7/SmPq66u5ktf+hLPPvsse/bsSRI0brc7flwmRKNR7r//frZt28bPfvazQQWkVq9ezTPP
PMPRo0epq6tj6dKl3HTTTSiKAvS7hC677DK6u7t58cUXaWhoYOXKlVx88cX8zd/8De+//z6vvvoq
ZWVlXHfdddx0003xsQ3D4LHHHmPdunW0tbUxadIkrr/+eq655pqMz0MgEGSGCAp2BiFoBIIEWltb
eemll5BlGVkeOsQsFovx3HPP4XK5kipsZktPTw933XUXnZ2dPPzwwzQ0NCQ9/+ijj/KHP/yBr371
q8ycOZP9+/fz05/+lGg0yuc///n4catXr+aGG27goYcewjCM+OO/+c1v+PznP89tt93Ghg0beOih
h5gzZw4LFy4E4MEHH2TXrl184xvfYPLkyezYsYMVK1agKAqf+tSncj4/gUAwNOOvCk1+EIJGMO55
9913ufLKK7Esi0gkAsBnPvMZvF5vyuMAIpEIbreb73znO9TX1ycdt27dOl544YX4/+fOncuKFSuG
XcPKlSspKyvjV7/6FZWVlUnPhcNhnnjiCX7wgx9wzjnnANDQ0MDnP/95/vmf/zlJ0MyePZvbb799
0PgXXXRRvArnsmXLePbZZ3n77bdZuHAhzc3NrF+/nkcffZSmpqb4+AcPHuTpp58WgkYgyDMisNcZ
hKARjHvmzp3Ld77zHaLRKH/+85955513kkTCwOMA+vr62LhxIw888AB+vz8uNADOO+887rzzzvj/
NU0bcQ2LFy/mjTfe4LHHHuOv//qvk57bt28fkUgkHr9jY5om0WiUzs5OAoFAfI2pGNgrpba2lvb2
dgB27tyJZVl8+ctfTjrGMIy4O0sgEOQPQ+gZRxCCRjDucbvd8RiY6dOnc+jQIX72s59xzz33DHkc
9IuETZs28Z//+Z9Jgsbv9ycdlw7nn38+V155JX//939POBzmG9/4RtzlZZr9Bunvf//7TJkyZdBr
y8vL4//2eDwpxx8YHCxJEnaRcHv8hx56aMjXCwQCQbEjBI1AMIDbb7+dO+64g2uvvZbZs2cPe6yi
KITDYUfmPffcc/nRj37EvffeSzQa5Z577kFRFKZPn46maTQ3NyeliDuFfY4tLS2ce+65jo8vEAiG
R8TQOIMorCcQDKCpqYnFixfzyCOPJD2u6zrt7e20t7dz+PBhnnnmGTZu3Mj555/v2NxnnnkmDz74
IK+//jo/+MEP0HUdr9fLzTffzL//+7/z9NNPc+DAAfbu3csLL7zAv/3bv+U8Z2NjI1deeSU/+clP
WL9+PYcPH2b37t2sXbuWxx9/3IGzEggEw2Eg5fRH0I+w0AgEKbjxxhv52te+xjvvvMOZZ54JwHvv
vceyZcuAfvdTfX09X/rSl7jhhhscnXvBggWsWLGCb33rW9x777384Ac/4NZbb6Wmpoann36af/3X
f8XtdjN58mSWLl3qyJx33XUX//Vf/8WqVatobm7G5/Mxbdo0rrvuOkfGFwgEQ2OKGBpHEN22BQKB
QCBIoNDdtncezG2+2VPEXg3CQiMYpyiKgizL6LrOMJpeIBAI8o5wGzmDEDSCcYWiKCIVWSAQFBVC
0DiDEDSCcYEsy6iq+LgLBILiw7SEoHECcYcXlDSyLKMoCpIkbhgCgaA4ERYaZxCCRlCSSJKEqqpC
yAgEAsE4QQgaQUlhC5na2lra2tpGezlx/H4/iqLQ3d092ksRCARFhiFKwjmCEDSCksHlcgmLjEAg
GHOIGBpnEIJGMOZRVTXe98jGsqykfkUCgUBQrIgYGmcQgkYwZhlrKdjCeiQQCFJhWMLl5ARC0AjG
HGNNyAAFtxQJ65RAIBhvCEEjGDNkUksmXZdTKW78Pp8Pl8tFV1fXaC9FIBCkgSmCgh1BCBpB0SNq
yQgEglJGxNA4gxA0gqJF1JIRCATjARFD4wxC0AiKDkVR0DQN0zSzdgfZLieBQCAQjA+EoBEUDbZF
RtM0vF6vKEI3RijFOCSBoJCYwuXkCELQCIqCVLVkSo1StBhJksTEiRM5evToaC9FIBiziErBziAE
jWBUSZWC7YS7qNhcTsKCIRAIhkLE0DiDEDSCUWEs1pIRCASCfCDStp1BCBpBQUmnloxT1pVistCU
KiJ+RiAQFAtC0AgKQqFryYhNViAQjBUM0ZzSEYSgEeSVbGrJFFv8y1ijlK+d1+tF0zRRBVlQUoig
YGcQgkaQF2whI8vyqFlLSnljH4lCXfNCX+Px/J4KShdTBAU7ghA0AkeRJImysjIikQgweq6fdOaV
ZRmv10ssFiMWiwk3VZaI6yYQ5Iaw0DiDEDQCx7AtMn6/n2g0WrRVfiVJwuv14vF4iEajeL1eVFXF
NM24uLH/mKbpyJzCjeYMIghZIBAMhRA0gpwZWBQv3U7X+WQoAeHxePD5fESjUTo7O4nFYhiGAfSf
h8vlwuVy4ff7cblcAHFxo+t6/G/B6CBEoaAUEUHBziAEjSBr8lVLJh/WDE3T8Pv9GIZBV1dXXMQk
ous6uq7T19cXf0yW5bjI8Xg8lJeXI8tyXNwkip3xaDkYDeFayPk8Hg+qqtLb21uwOQXjD1GHxhmE
oBFkzEi1ZIrJvaKqKn6/H0mS6O3tJRaLZfR60zSJRCLxmCDo38RtkaNpGj6fD1VVMQxjkDXHKZeV
oJ9Cf64URSn5lhyC0UdUCnYGIWgEaVPIWjJOzOH1epEkiVAolCRIcsWyLKLRKNFoNOnxRJeVx+PB
5XJhWVY84Ni+fqmsQ4L0GY+WMIFAMDJC0AhGJNNaMk71YsoGSZLw+Xy43W6i0Sg9PT05rSMTUrms
FEXB5XLFA49ramqQZXlQ8PFYjcsZjbTtQgqa0Y4FE4wPRLdtZxCCRjAk2RTFS3xtLmQTWOzz+fB4
PITDYcLhcFFYQgzDSFpHR0dH3GXncrlwu92UlZXFLTcDhc5Y2ExLOYZGCBpBIRAuJ2cQgkYwiFyE
DBR+g/N4PPF6Mp2dnZimic/nK5o4Hki2WpmmmdJlZburEi06+UwlH4uMhoWmkNfbruNUSMuiYPQR
dWicQQgaQRJ+vz/jwNlUFEJM2AG5pmnS3d1dFBaZXLAFSyK2y2pgKnmqLCubQgq5YhKNpYBd7FEI
mvGFKdK2HUEIGgHwcS2ZsrIyurq6cvpV6sQv6OFcTomZS8Fg0BEBVqzYLqtwOBx/bKRUcrvdRKGs
GaXsAir1+QSCUkIImnFOPmrJ5Ctt265CrKrqiJlLxZQ67jTDpZKrqorP50NRFCZOnIhhGIOsOePZ
ZZUpQtAICoFwOTmDEDTjlKGETLEIgcR1JGYu9fX1CXN8ChJTyWVZRpIkenp6klLJy8rKklLJE/+M
FXddqQsMIWjGJ6I5pTMIQTPOKERRPCdFkdfrxev1EolE6OjoEDf7DBkulVxVVbxeLxUVFUmp5IkW
nZEQG7CzjMb1tGtLjdXSAaWAIdK2HUEImnFCrplLo0FlZWVS5lIm2IXsRmI8BtAOTCWHwdWP/X5/
UaaSl7rFZDQEjV2AUlg+Rw9hoXEGIWhKnNEqipftGHbmkizLBINBRyv8CoZmqOrHiankdvXjxFTy
Umc8CBphZROUCkLQlCjZWmRGK4ZmYOaSnY5dKozVDWOkVHK3243L5aK+vr4g1Y9LXWCMhriw3Y2C
0UO4nJxBCJoSxE7BHi0yEUVDZS7lelMvluDmUiQxlTwWi+H1eunq6kqy5NjVjxPjcex/5/Lelvp7
WooWGpfLNW670aeLcDk5gxA0JYSmaTmP4ZQQGGkMkblUWgyVSp6YZWV3Jc+1+nEpW0xKUdBUVFTQ
09MzyJ0p+BjR+sAZhKApARRFwe124/f76erqymmsQjSWTCdzSVhYxgbDvUeJ6eGJ5JJKLpphjr05
ZVkuKfexoHgRgmYMk1hLppgEwFBrcbvd+Hw+dF3PKnPJiTUInCfTzTBVKnli9ePEVPKBRQGzmS8X
Sr13FBCvLJ0vRNDxyIhu284gBM0YJFUtGac28HwIAbsPkWVZ9PT0pBUsWihBMh7TtouR4aofJ6aS
q6pKdXU10Wi0aFLJnWS0LDT5FFHCQjMywuXkDELQjCFkWY4XwUpFsQgaewxFUfD7/ciyTCgUEj70
AlEqwilVKnldXR1dXV1xi05iKvlAa44T1Y+Fy6n4xy8FRHNKZxCCZgyQTgp2Md0w7PVWVFSM2HNp
KHIVVsXmciqm98dJRmPDt4OIU1U/toOPXS5X/NhcUsmFoCnesUsJ0cvJGYSgKWIyqSXjpMsp25Tv
xMwl0zTp7OzMeT2C7Bhvm8hwXclVVcXtdg9KJU+06BTL9RKCRiDIHiFoipTRqiWTrTBKzFzq7e3F
4/HkvJZisrAIioNMNsh0Usm9Xu+QqeSWZZWUuBiNOYWgSQ/hcnIGIWiKjFyEjC1GCnkDScxc6urq
wjAMR3pGFaqwnsfjQVXVvFW2LXXG2oY1Uiq5XbHa5XIB/edXXl6eZNXJJ6WWli4CgtPDFC4nRxCC
pkhITMEeTdIVAtlkLhUTiUJMUZSUlW3HS7+isUS+NmA7lTwRVVWpqanBsiw8Hg/l5eUpU8mdrIJb
6LRtERBcHBjCQuMIQtCMMoqiEAgE6O3tdcwqkes4wwkaO3NJURSCwWDKzKXRbnA5HPYvcICenp4k
0TLQHVGsHacFhcF2OfX29sYfS0wlT6x+nPgZsQVPNsKk1IKQhYUmPYTLyRmEoBklEmvJ2C6aYuhf
NNQaZFnG5/OhaRqhUCgp+DIVox3/MvBaJPaMGk6IpbLKJG5giTEX0WgUXdfjNVGGe/+KLevKKUrx
nGxSfSeH6kqeKITtVPJ0qx+PNGc+ybfgEBYaQSERgqbApKolU0xF8QaOIUkSXq8Xj8dDOBweslXB
wDFyJZdsq0Sc6Bk1Uvn+8vLyeC2UXHoUjVXEhpW6+nFiKnli9ePhUslL0UIjPh8jI5pTOoMQNAVi
uBTsYvv1bq/F4/Hg8/mIRqMZtSoolvORJImqqqphe0Zly0gbWGJgqf3L3C426ETBt/HIWNvsU6WS
J7qsElPJbZeVJElomkY0Gi3IuRYihmY8iPpcMUTrA0cQgibPpFsUr9gsNFVVVUmZSwORzQ/RrD9h
UUZE/jRI3pzmHWod2WCXyZdlmc7OzoIJiKFqoWiahtvtRpZlamtrHSn4ViwUg3DNF/nY7IdyWSVa
csrLyx3pSp4OIii4OBAxNM4gBE0esauVjkSxCBrbsiDLMl1dXUNusoq5HZ/5cyR0wEQ1dxCU7wPJ
5cg6smVgqwWfzzfq1hDTNAmHw+i6jqZpHD9+PKkRY2L2zFgVOYXasMaahSYT7Pe7oqKC1tZWYGiL
X6osq2zJdwyN/bkWCAqBEDR5INNaMqMtaBIzl2whMNxN0m394YSYkQAFxTqAYu3GkOZmv/gckCQJ
v9+fFLA8GkUJ02WkRoypqtqKNPLSZ6CAGq768UAxnG0qubDQFAcihsYZhKBxkGxryThp0chknFSZ
S7Y4GA6LgecoA1rmix1ujjSviV2heGDAcrHE8aRLKlfEwDTyVCnCqdLIS3UTKWULTbrzDSeG7c9K
4udkoNAZaI0RadvFgSliaBxBCBoHcKIonlMWmnTnGipzKR0hEJE+i2J9hEwXFmBICzCk6bkuPyMS
C+NlErA8WmQjsDJNI7ePVRSloG6gQl37Uquim2q+bEgnlbysrCxlKrlI2y4ORGE9ZxCCJgfSjZEZ
Cae+8OlsmtlmLiViyg0EpR+iWhuxqECXzgYp2WSaa5G/oc5lYGG8sRJn4iQjpZFrmobH48Hr9ZZc
GnmxWUyKeb7hMvFUVcXr9eJ2u5EkCbfbPcia4wTCQpMewuXkDELQZIFdS6ampsaRdOBCxNDYmT+G
YQyZuZQJEl2Y1GFIMweJmXyQTmG8RMaayylXBm5eduzFUGnkmRR7KxZK/dd+Ic7PjsuxCQQC8QKR
thh2skJ2qb9nguJCCJoMGJiC7VSrAaeKyKUax7ZoSJJEb29vWr+8Rjovj/ErXNbLSOiYVBOUv4Ml
12c0RrprcKIw3nhluKBSTdPw+XxxK2O2GValvGGNdQtNunPaVa+HSiVXVTVe/TjRtWlbdIYTxKX8
+XASkbbtDELQpIEtZAZWvRzt7KThUBQlHhyYjkUjXSTrOC7rNSQUQEGmF6/1GCHuHnxsFuckWb2A
DlYNsiznrTDeeCVVUOlwmTN2W4diSCMvdYExGkXohjvHVK6nxFTydARxri6nHTt2sHr1aizLYvHi
xVx66aVJz+u6zqpVqzh06BA+n4/bbruNmpoa9u/fz+9+97v4cUuXLuXUU0/Neh35RgQFO4MQNMOQ
yiKTSLEJGnucsrKyeOZSNhaN4awrEn0nUrbV+CMw2OqT8UZgWXjMX+Oy3kKSJRRpLhLfpasrOGZc
ImOVXNLIS5mxEhSc65yZnONIqeT2Z+Xhhx+mubmZ6dOnU1VVRWNjI42Njbjd7rTnMk2TJ598kuXL
lxMIBFixYgULFiygvv5ja/CGDRvw+Xzce++9bNq0iTVr1nD77bfT0NDAXXfdhaIodHV18eCDDzJ/
/vyckzfyhbDQOIMQNEOQTi2ZYhI0dsl0TdPo6+vLyaIx3HpMJmFKk5CtZkDBwiImLc5ojFQo1jY0
61UU1dM/T+Q9JOVJDOPyrM4hE4RZfDDpppHbbghN0/LejXw8WGgK/Tl0Img3lSC+7rrraGlpoa2t
jR07drBx40aOHj3Kddddx7nnnpvWuPv376e2tpba2loAFi5cyNatW5MEzdatW1m6dCkAp512Gk89
9RSWZaFpH5eRGG3LoqBwCEEzgExSsItF0NiZS/av51AolPOahkRS6ZW/h8dchUyQmHQOMfm83IaU
JHzuDtSYgmGamKaFhIxkHnFo0cPPXSjGepByqjTyQCCAruuYpjlkGvlYzrAqdUGTrzldLhdNTU0s
XLgw7uqx+5mlS1dXF1VVVfH/BwIB9u/fP+QxiqLg8XgIBoOUlZWxb98+nnjiCdrb2/nc5z5XtNYZ
EFlOTiEEzQmyqSUz2oJmYOaSLMt4vbn3VBpxPZKfsPLl3MY4QbwwXvA00H8HGICEhYWkfSKVNytt
nAradoJiWEO+MAwjKTUYUtdAyVXklLrFpJQEDQzutO2EoEjnnmIfM23aNL797W9z9OhRfvvb3zJ3
7tx4pl+xIVxOzjDuBY0sy6hqdpdhtFKDh8pcsrOCcqUQ5zW4MF4lirwct/UMYKHL56NqiyDYkdd1
OI1lWbQ3d2IaJjWNVUXdgiGfZNqNvBjTyIWgyX3sXKxylZWVdHR8/P3v7OykoqIi5TGBQCAe2+Pz
+ZKOqa+vR9M0mpubaWpqyno9+UQEBTvDuBU0di2ZXDbuQltoEjOXQqFQks/ayfU4QTaF8Qx5ASEW
AM6Js0Jimib/8/P17N92CMuyaDipjmX3XI3qKl5Td65ksiGOFFDq9XqprKwcMmum1AVGsWU55cpA
C02mNDU10draSltbG5WVlWzevJlbbrkl6ZgFCxawceNGpk+fzpYtW5g1axaSJNHW1kYgEEBRFNrb
22lpaaG6ujrXU8obwkLjDONO0CiKgqZpjvwKLJSgSbcWy2i7wIYj08J4TpCOy8nJm/mHb+5h//ZD
uL39AYktB1p5+3/fZfG1Zzo2R6mRSRq5aZpYlhWvgFxqwZ6lJthyFWiKorBs2TJWrlyJaZosWrSI
hoYG1q5dS1NTEwsWLGDx4sWsWrWK+++/H5/Px6233grAnj17+NOf/oQsy8iyzKc//WnKysqcOjVB
kTJuBI2doeHxeNA0zZECbU4WxBtKQNgxJunWYikWQZNrYbxisjalS3dbb9LnQXWp9HQEC76OsXbd
BjJUGrldjmC4NPJ0u0ynQ6kJjELP58T48+bNY968eUmPXXXVVfF/u1wu7rjjjkGvO/vsszn77LNz
mruQCAuNM4wLQZOYgm2apmM3/Hxuuom9eNLtuVRsgad2rEQxF8Zz8v2bvegkNq59N36eesxgwQWz
HRs/EwrZnLIQc1mWFe8e3dXVFZ87m27k6TIaMS2lJGhEH6f0EYLGGcaFoEnctJwUIfkYy74xm6ZJ
d3d3Rq6xYnE52aX1TdPMqW+UU1aiQlE5oYJld3+K15/aiGVZnLX0VBpmTIw/P9YtJ6PNwA04VRo5
9P+A0TQt5zTyUrOYDCTXGJeRKJYMw7GAEDTOMC4ETSLFLGgqKiqQJIlgMDiqVVizPS9FUfD7/ciy
HDf/5xKrNBZvhvXTJ3D9N68a9PhYPJdiI93PpJ1hlUg+0sidJt8CYyD5DkK27wOCkRFZTs4wLgRN
4gZdbILGDpaVZZlwODyonke2ayr0jdHv98fbLaRKnSxG7IwrRVHiG5rdu6hYUoeLnUJbnbL9XGeT
Ri7LcsELL5aSRUhYaASFZlwImkRM03SsNkgugmZgsKy9qRYDmZxXvDBeOJwUJ+NkYLHTLRxsAeZy
uQiFQoRCofgveK/XS0VFRfzXpRA5I1PIeB0nGSmN3G6OOlQaudMIQTN+ES4nZxgXgiZfX6psN+1U
mUuJvUecWFMu55xO9tbgwnhjI/gvUYB1dnZiWdaIqcNC5BQP+d4gEz8Lfr+f48ePAwzZjTzx8+CE
yCklQSOCgtNHCBpnGBeCZiBOuWUyFTTDiYBiCegdieEK4w1cR66WMCfdZ3abiJEEmGVZvHj4IB91
dVLt8XD1tBloJ0q2jyRy7I1tPImcUnbJ2IzUjdz+bOWaRj4aQcH5FBzCQpM+QtA4gxA0DowzEraP
3rKsIUVAMQmaVGMkFsZLVaW4GLEsK15dWZblpDYRQ7F2/x5eO3IETVHY293N0WCI5aecFg+gTLcI
3ECRU8q/VAu5aRWLBcOy0utGnkkaeam5nISFRlBoxoWgGfilLVQ6r6qq8c10pMylYiokl7iW0SyM
l2uMkp11ZQcqp8POjo64RcYDbB76AAAgAElEQVQlyzQHe+kzdHxq6qZ2mYgcSZKoqKgYl5YcJyj2
DX+4NHLbkjNcGnmxn1+xjV9KCAuNM4wLQTOQfGQ6JX5xs7FmFJOFxsbj8eDz+Yq6MF4q7HVblkVv
b29GbRbUE++lfQ1lSUKTM+vFNJTImThxIqZpDmvJESKn9EiVYZUqjVySJAKBQMHSyAuRti0sNOlh
CUHjCELQODSW/Xc21gwn15TROJaOzHEsPFhSVfxhu9+VJElZF8YbDYuT7dqzC/plkzr+F9Nn8uiO
bQRjUVyywhVN01AdyIqzb+y9vb3xxyRJiheAG6sip5C/wkvpF/9AkSNJEvX19fT19RWsG7moE1M8
iDo0zjAuBE0+XU72WJn2XBpqHKfWM/KBQfzmPyJbxwCFqHwBuusv48GNhmHQ3d2d01oK5XLKtfFl
4kY5vbKSb515DkdDQarcbqo93qzWng6WZaUMNs1V5BSL63IsM1ptD8Lh8LDdyFMFomebRp7Pcyx0
kcCxjnA5OcO4EDQDcbIWDUBlZWVGPZeGwqmNKJ1xPOYTyFYLSP0fAY/0MkrZNYQiLnRdj2cyZUsh
bma2kPR4PBlbxIbD73IxozLgyFiZkq3IKcXu0wMpZWvQUPNlEqOVaRp5Ps8x3+4sgSAV40LQ5MNC
Y5uFZVnOKOh0KJy00KSDRA9ICrIso8gyhtFLd+cBdMmLoihF0UdpuDHsFPjhhGQxBVrnwlAixw40
HShy7F/HqqrmXeSUkhsokWIRNKlwKo0834KmFD8X+ULE0DjDuBA0A8llo0vsVxQKhXC73Y78EnHq
y5/2uWnnoBofYdFfBdWSAujSlPjTxSoE0q2DM9qYhsmhnc0YMYMpcyehaqqj13SotGGXy0VFRQUu
l4vq6uqSsuSU8ibpRDHMTNPIVVWN/3hx+rqKgODMEC4nZxi3giZTl5Msy/h8PlwuF319fXGLjB08
68SaCjHOx4LgSvq6w8j6RpA0+qSbQPLFx8j3OjIdI/H6F3sdHNMweerBtTTvPgqSRGBiBTd+7//k
fV57U9N1nUgkQl9f37CWnFIQOfliNIrcOT3fSGnkHo8Hv99PZWWl4406S1l85gNhoXGGcSto0t1s
E+M07H5F2Y7l1JpGGieVWEudSr4ElCV5W4tTDOwXlS6jdR4fvrWHo3tb8Jb3BxQHO/t4c81mpn19
WsHXMpwlxwmRU6qVgkcrKLgQ2BlWFRUVtLe3Y5pmyjTyREFkt/pIV+QIC01mCAuNM4wbQZO4uaW7
0aWTuVRsgmYg+QqcHQknzkeSJMrKyhwJuC4k4VAkSVQqqkykL1o0v1idFjnFcl5OUswxNPmYM5tu
5MOlkQsLjWA0GDeCJpGRNtvEnksj1WEpNkGTOI5dYC4ajWaUSj7aFho7TklVVcLhMKFQKOuxcjuP
CBJhLCoggzoRs8+Zwcbn3sUyLZBAjxmcfsm8HNaRf7IVOYWk0BaaQjLagiYVI3UjT5VGHg6HaW5u
xuv15nQ+O3bsYPXq1ViWxeLFi7n00kuTntd1nVWrVnHo0CF8Ph+33XYbNTU17Ny5kzVr1mAYBoqi
cM0113DyySdnvY5CIbSfMwhBk0A6PZdSjeVECriTgkZRFAKBQLzA3GgUZsvmfBILE4ZCIUzTzGnt
udxQPazFK60HDEyrnm6+gUV6NWm85R4+e+81vP7U25imydlXnUbt5Jqs1zJaDCdy7BgMWZapq6sr
SExOoUVGKVtosp1vpDTynp4eHnnkETo6OmhsbKShoYHJkyczbdo0Ghoa0p7jySefZPny5QQCAVas
WMGCBQuor6+PH7NhwwZ8Ph/33nsvmzZtYs2aNdx+++34/X7uvPNOKisraW5uZuXKldx3330Zn2eh
EYX1nGHcCJrEDXZgHRrbIqAoSsaF2YrJQmM3YlQUhe7u7px/QRfyJpuqzYLf7x8VS5FMGz7p90D/
uSvSIXzW4wT5fNpjVNSUs/RLF+dphaNHosgJBoPU19fT0tKSFGiaz8DjUo2hGcvzJYoct9vNt7/9
bVwuF/v27WP37t3s2bOHzZs3s3z58rS+z/v376e2tpba2loAFi5cyNatW5MEzdatW1m6dCkAp512
Gk899RSWZTF58uT4MfX19fHPnaoW91YngoKdobjf5Txhiwc7c0bTtKxryTjpnsmlEaPf70fTNCKR
SDxjIRdyvdmle10Gtitw2pqUzTWV6TjhanKfeERBpsvRdZUSA0UODLbkJBZ/swNMMxU5pRwUXGrz
+f1+Zs6cSWNjY8av7erqoqrq41YsgUCA/fv3D3mMoih4PB6CwSBlZWXxY7Zs2cLkyZOLXswInGPc
vtN2Izg7cybbL3ehC+INZGAGkG1tcmI9ud70hrsusixTVlaGoij09vamFGC5XttsX28wCZMAEiH6
Y2d0YszOeh2JjJdgyZFEjtvtdkTk5ItSExiFns/p8dP5Hice09zczJo1a1i+fLlja8gnIsvJGcaN
oLG/XLZrA3Akc2a0AmgTA5cTz2O0A3oTSXVDG5h1lWu/qHxg4aPb+r/4eRyIEWMuYa7MfdwSFDKZ
bFwjxeSMJHJKWQyORt2bYu20XVlZmVSeobOzk4qKipTHBAKBeOBy4n39l7/8JTfffHPcbVXslOjH
uuCMG0GjaRoVFRUYhkFXVxeVlZVFU0Bu4FjDrWukSrnFFNMz8Hzcbjd+vz/trCunUr+zOcagiW7u
yXg+Qzc4/OFRJAkaT25AVpzrGZYuxSJo0yETkSNJEuXl5XGhk09LzmhYTApZlqCYLTRNTU20trbS
1tZGZWUlmzdv5pZbbkk6ZsGCBWzcuJHp06ezZcsWZs2ahSRJhEIhfvGLX3D11Vdz0kknOXEqBUHE
0DjDuBE0lmUluTaccKkkjuMEw60pdWG81BSLoLFRVZWysjIsyypo1lWhf83HIjqP//BpWva1YgGN
s+r57PeuQVGVgq4DxrY1aCiRM3HiRAzDKIi7qtRcQIWeL5fKx4qisGzZMlauXIlpmixatIiGhgbW
rl1LU1MTCxYsYPHixaxatYr7778fn8/HrbfeCsCrr75Ka2sr69atY926dQAsX76c8vJyx84tHwhB
4wzjRtBEo9Gk4LBismQMN1amhfGKaSOzLIuysjJUVU2ZPaaY7+GyXgfcRORlWFLFoDHGkrXh7bXv
0naoE4/fA0DzR8d47887WHjZgpzHbtnfyo7Xd+HxuznjilNxuYvjq1uo98f+XAeDwfi/8xmTU2oC
o9Dz5WpxmjdvHvPmJdduuuqqq+L/drlc3HHHHYNed/nll3P55ZdnPa9gbFMcd8VRwK4fk6u1IJ+C
JpvCeMUi1Hw+X/z6phJhirkVr/koSCpYJoq5l6D8XZA8SWvIhULHE4W6wyhqYoVghb6eMMGuEC88
9hqyoaBVqFz0l5/ISJAc2X2MP/ziz2geF0bM4NDOZq79f0tHxfIzkNHchDONyUks4V8MgceJlFoM
TSnHO+UDERTsDONG0Az8cpmmWXS//u0NON+pzJmsJVM0TcPv96PrOoZhDOkac1mv94sZAElGstpR
rD0YUmEr6nq9Xtxu96ANL5ub/emXzWf7qzvjnzXFpTD/gtms/dc/Eezso6yijJbD3bzw2Ktc8cWL
0h73vT+/j+ZxIUkSqqbS3txB66F2Jk6bkPEaS510RI6dXTecyCm1mJZCzycETWaIS+UM40bQDKTQ
wbzpYgf8BoPBrGvJOLmedFEUhTLtPaTIU8TawujWDJTq/zfMKzxgmSDZFg0JC1/SEfm0sNhN+Oz2
FolCUtO0+MaY2JxvpOtZM6mKz3z3Gt589h1A4rwbzsZf6aOnLYiq9X/VVE2l/Uj6DTaBFJWopaKw
zhTbD4KhyEbkqKoqBE0Rjl2qiBgaZxCCxsGxsv0S24XxXC4XkUiE3t5eR9aVC+len3hRP7UHvf2X
GFb/JqBa72KFn0SSrkr5uoh8PYq5F9k6joWMLp2BKU3N+zkkBlfbQeKpetbYjfk0TYt3H7YLFiYK
nYHvef30Cfyfry9NWoPLrfb/ArMsLNPC43eTCedcs5Bnf/oHTMPCNAwmz26gprEq5bGWZfHa02/x
wcbdWJbJ4mvPpPHk+pTHOsFY3bjSETl+vz8uevPtriqlrCrRaTtzhKBxhnEjaAbeLPIdzJsuiYXx
IpGIIw3/nLDQpHNOiWvv7tiB1+wF6YSVRVKRjH1DjmFJ5QTl76BY+7DwYkpTYMCxTltofD5f2sHV
qUSOXd7fbsynqiqGYSRZcXRdT7rukiSx5Nbz+NOvXyUaieHyulhy23kZrTswoYJP33M1+947iLfC
y7RTJg95Xba/spPN67ajaDKxmM76f3+Rz3zvGvyVvpTHjxUKseEnihz7x0WwN4jb40bTtLTdVdkw
GjE0+YojEhYawWgxbgTNQEZb0KQqjOdU76J8B8Pa7hrDMOJrl6hPbt5oxbDkJiTjKF7jccAgKl2B
Ic/5+BjJjSE5U4F3OBLjenIppqjrOrqu09fXF39MVVU0TRskchKtOI0n1/O5H15PoLyKnlB3Vjd7
f6WP+eePfK22/HkHxw4cx1vhpbzaTzSic/xg+5gXNIXGNEye//XLHN17DEmROH3JfGacMQ0Y2V2V
KG7TpdQsNELQZIa4Ws4wrgWNE12y7bHSFRDDFcYrlgylocaw2yrIsjyoXYElVROWb8JtrUGyYujS
PGTXpXjCd2NZIQBU6wOC3IUpzyzIedgbz3DtFXLFFjmJ2JudLaTszU5VVQx0IpFIXn4dv/Xcu+za
uIe+rjCWZVHdWEXNpACBusHp8E5Qyr2V3v7DFtoOtaF5NQDeWbeVhpkT8VV4R3RXDXzf0xE5pRZD
I1xOmSFcTs4wrgVNIS006RTGK7a2BfZaJEnC5/Ph1lz9TTwjqbuR6/IidBbF/6/FXkeyurFwnXjE
RLNewDD3ollvYiERla5Al89ydO2JtXtM06Szs9PR8UfC3sBCoVB8PS6Xi+rqajRNi3dET6yXEo1G
k7LZ9KjO60+/TXdrL9UNARZds3DEQODtr3xA/fQ6jn10nGBPiPYjHVz+hQvyJmhKma7WblS3K/6e
mIZBqLsPX4U35fG5ipxSEzTCQpMh4nI5wrgSNImbdKEsNJkUxnNqTU4KI7sWTqz718S6X8BlmSCd
Tli+fVDMy6B1SOUkH2EiWZ24rf/pj7EBPOZjhJiIKU9JOUa2rrxYLEZvby8ej2fkF+UZe7OzKyXb
JQPsjS6xG7W90a3+2f9ybF8Lskuh/Ugn4WCEJbd8csS5JFli6vzJ8Y3ViaJ+xUChN8n6aXUc3HUE
VesXkaqmUl6dWdPXTESOJElUVFRk5a7KhnxeTxEULBgtxpWgScTJOjRDCYhMC+MVk8tJlmXcbnd/
Ybz21/HozwH9N3eX9QaGNZ2YdNHw61AXYSoLkPT3sLAwpSlYVIF1JOEoA4X3MRksaDK54SqKQllZ
GZIkxV15qqpm3cspXyQK6oGbnSzLuFwuVFWlo7mL8sr+cu2Gx6TraDcej4doNDrkZjH//Dm8tWYT
qqygRw1OXTInr+eW66ZomiatB9uxTIvaKdXDWqAKbbk8fckC2lraOfRhM4oss+gvFuL29Wen9XYE
ifbFqKwrzzh9fuD7blkWPW29NDROAtXMyl2VDfkUHcJCkznC5eQM40rQDLTQ5EvQZFsYrxgEje0a
c7lc6LpOd3c3mrmLZJuogmJ9RIyLhl8HErr7HmLmdiCGSTWa+XsgAvRbTiTAZHJWa4UEd5jb3e8O
S8hKGo7DPT38fv8eTNPilJpazpxQl/Ua0iXxJh8Nx/jjo6/QfqQDb4WHyz9/IeXVZUQiESKRCIal
EwzpmIZF8+5jWKbFxufe5eIbz0dR5EHp46Zpcs7Vp1PXVEPbgU4mTKuhacGkvJ9TuliWxUeb9tFx
tAtZlZl5xjQ2rd9Ke3MnEhJlVX6W3PLJeL2eocYoFLIsc9aVp3H6ZfOTHn9zzWZ2btiNaViU1/j5
1FcuzTgN30aP6jy94g+07G/F5/PSdOokLr7lk/FGnLnE5IyEsNAUF0L/OcO4EjSJ5EPQJAbNZlMY
z8k1ZTNOYlqznboKoDMfN2sTjoxhWn5k6yimNEKNE0nGkGfhMp/HZ/4MiR4k+jCtCViUE5UvwJDn
p3zpSNfDrhUSiUTSbg0B0BuN8uj7W1ElCUmSWH9gL5okcUpt4Srv/vFXL3PwgyOoLpVwb4T/+fl6
br7v+vjzn7juLF564k32bN5HLKIz7dQpbP7zNtqOtXPJrefHN7uBNXLKPlGGZ4mH3t7etMVdIdi/
7RDbX/mQrtZ+l+uWP71PoK4CX3l/TEo4FOHDt/Yw77yTU76+GGJMuo5388Ebu/CW9YvxaDjGm2s2
c+GNi7OaY8OaTbQeasft1ejtCrF25QtsffkDZp4xnSu/fHHcmpO4ppFEjv0nm/NzChEUnDnCQuMM
QtA4hB0LkYmVIBVOWWgyITHuxE5r1jQtvhZTPokwN6BZf0SyepCJovEKmrGBqHwFUfnKIdchSRKy
cQiP9SskLMCLhQeTGoLKD0FypXztcCRmig1nARvqPd7X3UXMMOKCzaOo7OhoK6igaW/uRHX1f/0k
WaK3K0Qsosd7PDXNn8wN365l1d+txlvmQT7RI+rYvtYhCwHa6eOqqlJVVTUofTxVIcB0OPjBEXZt
3INlQePJ9cxZnF6WWiKHPzxKZ0sXmqc/a6j1YBuKIuMt7xcHiioTCacONh8NUn1uwsEIlvnx9VMU
mUgo+zX3tPWiuGT0qM6hnYf7BUyfzoH3D/P66rc5/zOLko7PNvA4lcjJt4Wm2HplFT1C0DjCuBI0
AxvbOSEevF4vPp8PwzAyshKMtL5cSPfcMkkhj8lLiLEEn/FjsNzxgGDN/DNR6dIhhYmkv43P+jcU
WgALi3IsqpEkc0QxM3AN8arEmkYwGByyT9RIBNyeJAdazDCo0LJzG2SLp8xNuDeCJEsYukHLvuM8
+/N11E+r5ROfPhtZlvH4Pf31Y05cAsuyUIdoamkYBn19ffT19cW7mxsnRJtlQLQ7RqAugMutDnJX
DUd3ew/bXtyBp8yLJMG+rQfxB3xMmTMpo03R0I2kgPdAXQXRSAzTtJAkiPXFmHHG0JWindyAo+EY
7/35fUJdfcw65yQaTkrtbhw4X3VDFb4KL6ZpIssy4VCEk05rynodcxbNYO+7B9CjBnqs//r4A15c
mkrbofTaYwwlcuz6SEOJnHz3cRIWGsFoMK4EjZMkFsbr7e2N9//JhULF0Mj04te2o7qqCPXNJxLN
xDVmDshuMoEYMFicWJaFK/YcliRjWX4kgkj0YlKOzpxBxw+HHWCdqXspFZPLy1nUMIl3jh3FwmKi
z88lU5qImQZvNDfTp+ucVjuBen9mWS2ZcMUXL+LZn60j1NXHoZ1HCEysoONoJy37jhMORrn0jvMB
OPfaM3n1ybeIRWJoXo1PLjs77Tl0XWff9oP84Rd/JtIXRfO4WPrFJcw+a0Y8zmukuIzOo13ICYGv
bq+btkPtTJmTWXzOKRfN4cD2w+jRGEgSE6bWcvol8ziyqwXLMplz7iwqqsuHHeOjd/ey/a2dTJhS
zayzT8rqu2LoBv/94+fYs3kfmPDyf73JTX93LTNOTxZTqQSUy61y1fJLeGvNZqKRGKefvoCZZ07L
eA2dLV1se2knnjI35392Edtf/pDjB9qpbapCc7uIRWLUTa3JeFwby7IGidVEkeN2u5Ekifr6+qzc
VSMxmkHB9913H729vUiShKZpzJs3j2XLluF2u9mxYwfPP/88hw8fRlVV6uvrufjii1mwYAG7du1i
9erVdHR0IMsy8+fP5wtf+ALV1dUFWbeIoXGGcS1osmkRkMqq4XK5Rj2Yd+A4Q6V/e7VevLF7Mfta
MEKgSAtA/nZCk8jh16JLp6CZf+y3rlg6hjTt43YHgxZiIJlHwWrDZDIyx4EIUelTROTPpHUekiQR
CASy6jw+3PW8avoMLpzcL2LKVReRWIzf7txBdzSCKst80NHGspmzmFyWWw0X07KQGOzCKK8u4+b7
rifcG+bX33sS5YRLyeVxcWT30fhx006dQsOsifR2BCmvLkPzjOyie7/1OK/s3YOu67T+chNeCzwn
CsT96bFXmDKvATjR96n5MMfDYeZMqOPcKU1JIicajTKxaSLvv7Y7PnY0HCUwsTLj61A1McCSWz/J
3q2HkLCYPGcSU+Y2MmVuY1qv3/LCdj54bTemZHLg/cO0HurgE9dnXr+ovbmTD9/6CLfHBUr/NVj3
ixf5yr/clnTcUPeFsio/S27NrHVFIm2H2/nvf3gO07IwDZPqhgC33PdpWj5q47lH1mPoJk3zGll8
7ZlZz5GKRJETDodxuVwcP358REtONiJntIOCv/jFLzJ79mw6OztZuXIl69evZ8qUKTz++ONce+21
3Hnnnbjdbvbs2cPbb7/NggULqK+v56/+6q+orKxE13VefvllHnnkEe65557CLFoIGkcYV4JmqH5O
6Qia4QrjFUN20kjYNyyz+18xYm1YqICJy3oFv9GDKU0mLN2AJfeb3y3TSLmWqPQpLLkMxfoAS55A
RLpmiJMxcIX/Fsncg0QX4EZnKoa0kIhy44jrta+3JEmEQqEkk3q2xAyDtnAffpdGuabhVy1kjmGY
PlpCMq3hEH5X/8bvVhQ2HjuWtaDRTZNHd2xjb3c3iiRxxdRpXFdXN8iF5inzoLqU+GfQsqx4bA1A
pC/KukdepONoF5pH5YLPLqZxdsOQ8x4NBll7+CAqFoZhsL+9i6m+Mnxq/5h6VI9/zlZ/tIsdHW24
FZXtrcdp7uxgyZSpSXEZ9VPqWHTFmex8aze6btB0aiNzzp5FLBYb8rvTE40SMw2q3J6k8500s55J
M7NrlLl70z7cfg/hvj7cHo2DOw5jmmdkXLfJiBmYevKa9RQbdr6+hxue3QyyhCLJKKrC8QNtHNrZ
zPxFc7ht+sgi3wns920kS062IqdY0rYDgQBz586lubmZd955hyuuuIJzzz03/vzMmTOZObM/Hqy8
PNk6KMsyR48epVCIoGBnGFeCZiC2L3y4XxPpFMYrNkGTOM7AdgVqNBR3Dsl0AgZgIVl9eHiCPutO
POavUczj0FOGbH4KU07IPJEkYtJFI6Zsq9ZmJHM7yAEwQ0gEUdhHjNQBxIkkNr0cmOmRLR3hPv7t
vXfpjkZRZYlLJtdyVePjyFY7Fiq1rrOwOCnpNUoO78X/7tvDzo52VFnBtCye2PkBm9rbMHWdMydM
5LxJ/ZYJSZI474ZzeOm3bxANR/GWebnoc5+Ij/PK7zbQeawL1aVgGhYvrHqNm/7uOlRX6vone7o7
0RQF0+h3G5VNqqDjcC++ygr0qE79jIlIkoRhmXzY2YFb6b8FuFWVbW2tLJkyNSkuIxgMUtVUzrlT
z4gHnrpcLiorK+OfsfLy8ri76rcfvM+Go82YlklTWQVfO/0MNCWzWi2xSIy1//onWg62YeoWc86d
wfGDbUxsSgjaPpGhNhydLd2EuvuobayKtzCom1ZLdWMlXce66e3sI9oXQdVc7H5nX5L7qKAp4gUW
AMP1WhpO5KQbeJyrhWbHjh2sXr0ay7JYvHgxl156adLzuq6zatUqDh06hM/n47bbbqOmpoZgMEhP
Tw+PPPIIixcv5pJLLmHHjh1MnDiRzs5OTjvttGHn7ejo4Mc//jGRSARZlvnyl7+c9TlkzOjrv5Jg
XAmaoSw0Q5FuYbxialkAH6/H7/cPqs9iSleiWtuRiAEGFv7+YneShEQIt/nfKNZuFKsdydDwml0E
pe9lkY0URrI4YZ2J0l+UT8ZtrSZmnoopzxj0isT6PXa2lccj4zZ+i0w7MelMdPncQa8b6ToArN71
IRHDwHvCUvHSwTe4aEIIv+YBy2KieyNzAyfxYVcMWZKRgfMmZV8f52gwiCr3b+S6abC3uxNZVfAr
Ctta/sQna7YTcHvp5XPMWTyTqfMn09sZpKK2HPeJzRegpz2YVLwtFtEJ94Ypq0od31Pr8bKjpzsu
Wmv/z1yqN7aidekE6iq48Kb+6ycjIQ+o4ywP8RnWozrbX/uQSDBCTWMVJ50+NR6jUFnZ737y+Xzs
aulg/fu7UJBQNYUDUg9r9u5h2cxZGV27J+5/lqN7jtPd1ks0FKWzpYspJ09i//uHqGkMoOsmCy44
edjv3Mb/fZcP3tgNEri9Gld86SIqayuQZZkvPHgTj33vScKhI0yYUs/k2Q28+t9vMmFqDZW15SNa
GCzLovmjFqKhKJNmTYyLpXQ499ozOPgPhzEME1M3qJtay5S5jQVPSc9EcCSKnMR2HgNFzuOPP87W
rVuZMWMGNTU1TJkyhUmTJqGq6W8zpmny5JNPsnz5cgKBACtWrIi7hGw2bNiAz+fj3nvvZdOmTaxZ
s4bbb78dVVXxer2EQiHeeOMNtm/fzrx58zjzzDPZsmULFRXDW1urqqp44IEHCAaDbN++nUmTiqeO
kyA9xpWgGchQQiTTwnj5qGmTyw3OvsmEw+FBQsyQ5xHiW2jWOhRrFyb1IKlgWViSD8U6gMpeQEYy
ZRRakax2LGliRmvQpTMw5QYU84P+8wIkLCTaUKwPMPlY0CS684LB4McWGcuEnh+gWR8ACqq1lTC9
xOTLMr4mUcNI2rB10yBkqPg5EQAr6XxqWj0zOv2EYjFmBaoo09LfqAYyraKSXV0duGSF3hO/XP0u
jcmeQ3x17moCWi+qJOFiF+3Wg3jLJ8VTmBMJTKyg63gPLk3FsizcXi3lcTYnV1XTZplsPdqMrhvM
qqnm8i+dMejzKUkSixsaeOnQIWQZsOCKpmmDxrMsKx4Eq6gKe7ccxDRMZp3Vb80yTZOenh42PPsO
T7/8Lm0na3g1F94yL7Ks0KdI1NXVJf2Kt9tApMLQDY7tPY5LU4mGIkRCEQ590MzEplpOOm0aU0+Z
RNWkAPXTh06xD3aF+Gh6Yd8AACAASURBVPCtPXhP9F2yTIu3ntvCZbf3B1pX1JQz59yZVDUE4q8x
TYvjB9pGFDSWZbHukRc5uOMwIOGr9HL9XVcN+54kUj2pihv/7lq2v7wTX7mHUy6eh+pSR73GTqak
EjkXXXQRc+bMob29nW3btvHaa69x/Phxrr/++iRXz3Ds37+f2tpaamtrAVi4cCFbt25NEjRbt25l
6dKlAJx22mk89dRT/d8NtxtVVbnggguIxWJ8+tOfBuDYsWMAdHd3U1MzcrC13+/noosu4u6772bl
ypUoGVoYs0G4nJxBCJqEG322hfGKRdDYQgz6zbLBYDDlcYY8hz7mgBXCY/2u3+0i+QlLn8ZnPXji
KPt8LGTrOAaZCRokH2HtAbyxH4L+JhI6/RlRJpr1FjFrKUhK3L2Uyp0n0QGxPdgtF0DGZb1JjMwF
zayqKg4f6sWtKBiWRcBTQ5W2jf7sLBPTqsaS6pldlXldnFRc3jSVjkiYXZ3tSLiJGX5cisKFE9+m
0tWDhAxIKLTg5XmC3JZynPNvWEQs/Bpth9txuTUu/MtzRyy3/6mZJ3Nu3UQikSjuYW7GFzZO4aSK
AM2hINPKK6jzDQ7ujoZjBLv74tVw3T6N4wfaaDy5gX17D1JbX0NbazvbX9mJ9P5x3O0KYb+L8OwA
oVCYk0/309bWFhfZiYUAU9XIkRUZWZFBglB3GEnuT6rrPN6Dx+9h6ScvHPHa23FCNpIsYerJP0pq
Gqs5uKMZl0clFtExDYOaxqr+44f5/jV/1MLBHYfxlvWLJSNqsOF/NnHxzZ9IeXwqAhMqkrLViqFo
oBOoqsqUKVM466yzOPXUUwGIRqMZCYKuri6qqqri/w8EAuzfv3/IYxRFwePxEAwGKSsrSzlmXV0d
gUCALVu2sGTJkrTWYRgGXV1d9PX1DTmuowiXkyOMK0EzlMspsb5JroXxRoOBFg7TNOPCZlgkH2Hp
jqSHYtYZyFYLEmGQXBhMwpKy+0JblGGV/xyz43OoHMACTCYh0Yvb1YGvfBa6rsfdS4NxgaTQH+fT
P2ImH9lEoXlJ0zQUWebD9nZ8LhfXzTwHQ61Bst7Fkjz0sIxUqefZIkkSN578cWr6f+/ayZbOdjpj
PpCkuLXIQsZk6F+NqqZy+RdG3sQH4lZUUEbOCJtSXs6U8qHTpfvF08di3bIswn1Rnv/ly7g0FUVW
aW1uo+VQO30tIcqPROmrc2MBjeUm3qldGPUNgwoBqqrKwfeP0NXSg9fvofVgB4ZpMPOMaVxxx0Ws
+ZfnkRUJPapTO6UaWZaoaUwvhba8uoyKmnL6gmEUVSEcjHDKRcllAk5dMpfjh9rY8PQ7RMMxJk6b
wIH3D1M1QgZXLBxLKoImyf1rzIVSETSpxtZysHImjpnLMZIkce211/LEE0/g9/s57bTT0DSNffv2
sXHjRj772c+yZcsW6uvrmTBhAqFQiCeeeILp06cXRsz0r7JA85Q240rQDMSyLDRNw+fzpXTPZDqW
U6bcdK09QwUs2917syEq/wWqeQDJ6kJVNXTrJExp6IJnaSwSXToNrKoT9WskVNVA9VXS29s7rBXM
kipAuxhi/0u/qCkjLH06y2VIXDxlKhdP+fhcYvQHN1uWhWXkXn9jOG6YNZu/LC+ntX0BltQBfICF
TJRT6GOpo3Plai3UTZMnd+/kcG8Qlyxx5ql1BLccxTItXB4XlmGieT+uThvq6aN1XyuSDGrYxLe3
F605TO0CFy89/jrecjczz5yeNMfrz2zkwPtHMHWD3Zv2MW3BZOqmTuDN597hopvO41u//r/89z8+
Q3lNBZLcL6wmNKZXm0VWZJZ+6SLe/v17hIMRpp4yeVCdGVmW8Vf4mHPuzLjFa9tLHzDj9KkEJlQO
+T1umDkRf5UPPaIjyRKxcIz558/O4ip/TKEFTT7TqnMdu7Kyko6Oj4sKdnZ2Dop9sY8JBAJxoexL
YV1M5PTTT8ftdvP888/z1FNP9Wfw1dfHLTZdXV08++yz9Pb24na7OeWUU/jmN7+Z9XkIRodxK2jc
bjcejycpADUXCi1oEtsVDBRiObnAJD8h+W9QjVdwS7uxrAqQokDmlXTtdUSka1F4GFXuQ1EUopxN
b7eL/oJ8I+D/PKHwaUjWMQxpDpb0cdwDVhSX9QYQRZcWY0nDF2YbbQIeD5a3ig79J7jYASjEmMPH
LrX8oJsmPdEoPpdrWBeUze/37WVPVxcuRSFsmLxqdfFXnzkbOWriLffyxjNvE4t8bJXwlnvwBfwY
UR0jZmLoOt5yL4oiU9NYxfZXP0wSNIZucHBHMx6fxvGDbWgeFy0H2qidXI2sSnzw9ocsvGwB5/3l
It5dvw3LkqisquTCGz6B1++JZ9fYLqtUZfY1rzZinZq+3nCS+84yLUI9fVTVBYb8HmseF9fddSVv
/s8m9KjOvPNmM2lmhu7YARS6sm4hLTSZ0tTURGtrK21tbVRWVrJ582ZuueWWpGMWLFjAxo0bmT59
Olu2bGHWrFnx+933v/993nzzTQ4ePDho7Llz5zJ37tyU815wwQVccMEF8f8XPCBYuJwcYdwJmsTC
eOFw2LGbSaFSt4drV5BILmvRjN/h5b8gouCxNFTjfULK3f3Bw1ng8jShef8BPbyNYMSDbk1N28Jq
WRaWMgPDnD7giRg+8+fIVjOgoEmvEJK+gSUHUo5TDHz83rqIcWre5tj2yg72f3iIKfMm4W2q5Lc7
PyAYi+FSZK5omsb8mtphxzjeF8J1QvhIkkSfHqNPtqiv7je/zz5nBq89tZGyCn/cXaPHDLpauqmo
LePo3uN4yz1MaKqmsq6SWDjK0b0tbPnT+1imSf1JEwnrMd44fJTezl7o6GXGhH7rSzQSo7KuX5g2
zqpn0syJ6FGDqpoAlmRy7NixeI0ct9tNeXk5sizH43D2bttPe0snDTPqhswEs5l8cgMt+1txe/ur
fLv9GoG6yhE3ZW+Zh4v+Mv2YmZEYDZdTsVpoFEVh2bJlrFy5EtM0WbRoEQ0NDaxdu5ampiYWLFjA
4sWLWbVqFffffz8+n49bb701/vr77ruPSCSCruts3bqV5cuXJwUUFy1C0DjCuBM0fr+fcDhMJBKJ
lwF3gnwLGlmW8fl8uFyuQYX9Uo2RLbJ5BA/PxYNWJcKovIdi7ceQBqdaD4fdgdzn89HT24uun4hj
cMBdrFpb+sWM1J9dIllRNOkPRDhRtM+K4LbWYPXqKOapGPK8lOMc/vAou97Zg9vn4tQl8+PNIZ3A
0A02PLuJtsMduDSVK++4FFdZ5taYV48cYvPxFlRJ5toZM2nwD+3X//Oq1zi84xgosO2VD+g9ewLy
nGp8J4r1rT+wjznV1SjS0AXpar1ejoaCcVHjVhQqE3pd1U2t5cKbzuXwB0epnlBF/Zxa9m45wNYX
P8A0TWqn1BCYUI4v4EePxAhMrOS1JzfG09E/2ryPTV2tdHWHwK1gajL71QgnByM0zKhj+qkf90eS
JCn+ntjF4IZq0Pjmms0c3H4YzaOxe8N+Lrn1fGoaA3GxMzBb8eRFJ6HrOgffP4LiUjjnL05PWYnZ
sqz/z957x9l11We/37V2OXXKmT7SaNR7l2xZrsIFNwyR7Zg4IRBaIIRLYpJwAzfxG5JA/JI3IcAN
hJuXUAwm2C8YbIMBG/cmWZZk9TJFM6Pp7ZQ5bdd1/9gzxyNpRs2SMVgPHz7WzJy99tr7rHPWs3/l
eUq+WxPF0ecSv801NGeDZcuWsWzZsZ/Xm2++ufRvwzD4wAc+cPxhQBCh+Y3EhS6nc4K3HKFJpVIl
wnA+upPOxziTheYm55fPx1wE/Uw8LgSt1gKFgzoDHRohBNFotEQWU6nUWc3l5PA5/rFGqPEnQ+UR
9b+EVAPgRIj42yjwh3hy7TGv79zbzYs/2ka8Ik7Sdhkb2Ma7/uxGPO/MTPyUUnTsOUp6cIx4Isq8
tbORUrL9F7vpaxvACBlYRZtffOspbv7Y1QAkB9Lk0wVqmhKEotNvki8P9PPIkTYMGagJ/8eeXXx6
/Qaixonvh1Wwad/VRUVlObbjEIqYHNnWRf2iBMWB8Q6ymgi25xPRjyU0mZEsAGVVMW6aM5cx26Yn
l8XUNN41dz4RXafllSMMdY1QN7uaBevnMmNuA5FIhGQyyYL1c2leNhO76BAtj9C2s4OhrlEq6spI
NFQw2DFUOlcoYmKX6RgrZuInixibZmFURrnxsquO0eCZjJOtZ6UU6dEMLTvaiMTDOJ6NEIIXH3mZ
Wz769tKDAHBM67jjOCy/YjHLrzi2Bmbypuz7Pj/72hN0H+hFCMHCi+dyzfuuOKe6U79tNTRvBpXg
3zRcuGXnBm85QjMZb3ZCMyFYdfJOoHMLX8zFowlBGwIP8PBYgc+s0zp+cm1POp0+pZjVqTC9p9Rq
fPE4UqUAiRI6lgjauSV9SNULIgQIEDqmeoECrxEa0zTp2h203xaKhaBN80iaga5B6ptriUQi6LqO
53mndKc++FILAx3DmGGT9FCGXKbA6quXkerPYISCjVQIgVOwKYwVObStlS0P76SQKRCriHD7X98y
bXfN7uEhDPla+idr23SOZVhaVY2vFC2pJK7vI9rS7H/qIJ17uqmoLqd+fi1KKazBHLu+8iwiYxMp
j1A9pxpjzWs+QUopnvn+S/S3D+J5Ho3z6nnbH17Ge5YET8j5TIG9zx7kBzuexfV8KmrL6G0dIDOU
5bLNxxplmhGzJDK38KJ5Ja2abDJ3jKGpYznEqmKk6mNY8UADqSpkTktmJs91Oviez0ToTynFaH+a
wa4R2vd1UDc7SLFJKUtKxxNdjRMRn8lEZzLB2PXEfroP9GKMR24Obmll7upm5q15HYXyx+G3LUJz
wWn7An5deMsRmskb5JuV0GiaVpKWP1Un0Knmc6ZfXEokKMo/JuT/GFNLYvvzyfOR4xy2T4SmaaUW
x4nanomW+PMCESIv/wJTPYHAxuZtKBm09SpMjslrKVUy35ysNWS7DpZtlV7rK4XjOWQymdKhE/Ua
x0u+T2yCtm0z3JPEDAebsREySPalUEoRrYiQTb+m9KsbOkLAcw9sJT04hm7q5FJ5fvwvj/LB//X7
U15muWni+j76uGeRJiWVoRCu7/HP27fRkUljIrE6U9wYr6C2uZrR7hSiQ+A4LglXYXsuTkjHz9k0
2wa//MbTOJaLJiWNC+s5squLzn3duI7HwRfbiNfE2XDzGqy8xePfehZN1+g80IPyFaHoHMKxEEcP
9p72WxVPxJizsomtj+zEMHUWXbKAj77tYv75mRdAV0SQrG33GJ47ytaf7KAwroS86Q8uJRIfTyme
YqOMVUSDa+9N0ts2wHDnKE1LGnnsm8+w8V3rWbB+Dr7vUywWj2kf1zTtBI2cidRWLBYjNZBBn5SG
lLrGaF/qAqH5NYz9W40Lt+yc4C1HaCbjzUZoJmoBJvRkfl16OJ5cRl4uw6iowM7lYJrCYzg2vZTL
5aav7VEKTbUAWTyxGMRp6ORwivsqItjilhOPoRZXrEZXr4LyQJhYYjPRaJRwOFzSGlp/w0oe/f+e
xLFdPMdlzqomyqqOnddUku8TJCccDlNWVkZVIoHne7ieh+e6eE5g7LnhnWt55vsvkh4aQ9M1Nr3n
MoSUpIcCMgOBzsxIb/KY6/Rcj0Nb28iPFbh8cQNHI2MMFHJoQnBF40waojHueWUrz/d2I6XEcBQR
4bE7VGDd8pnUN9diWw7Rygg9h/tx+z1kUeJYDpn+DCNdozQtakApRev9HYz2BylBKSW+8nnhgZfZ
cPMauvb3onyFlCIwgdRgpCdJzeI6irqP4/uET2Pz6m8f5MjubmYtnoFtO/iuR6EjyZ2yHjH+P0e4
PPq1J4hXxdAMjVwmz3P3b51Wg8cq2Gz5yXbymQLVMxOsu2EVm+7cyL7nDtGx5yjz1jQTqwxaefe/
cPgYn6bJ8DzvBI2cWCxGOBxG0zTWX7Oajp1HMcKBGCA+LFo/75xu3L9NhEZKeUpl9QuYAhdqaM4J
LhCaNwmhmfCN8jyPQqHwusnMuWgjP9U1hUIhYrEYlmWRHB3F8H9ORLWgCGGJO1CyKjheKSLelzB5
CvDxqSYr/hmlnUa7q5ck5Pw7IT+JTyVF8X6UPLn4GUJQlO9HU4cxIg6Ou5CKWMMJLe6V9RXc9hc3
0X24HzOmUz+n9pTv4eSi1Akl5oaltex79hBSahiGzsYbL6K+vh7btrn1z95BsVDE8z2qq6tJp9OE
YyHsgoPUJPlMHj1k8PLDO1l17TLCsRDP//BlcskCRkint2WAd9+wgsjSSkxNp9w0aU0naU0l0aSG
JgSe5lMcLTD8cjc7c4HH0k0ffRvZdJ49T+8n2ZfGCBvEKqLk0gVmLqofv02CcFmIYkuRSFmgfOt7
ivB4VMSMGHiez3D3KK7lMDqQIZnQ2BJNE68rp3vLC9y1YSOnEv0/+FIrkXhQJxTWQwz3JKluSuC7
fonYea6HYzml+y+lJJfOT3pLj13LD3z+YfraBgJPqYiJ5/pcunk9Sy9byO6nD5wyfXWq99h1XTKZ
DOUzYmzYvIb9zx9G03XWvOsKirUxqsriJELhE9SOzwa/TTU0FyI0Zwdx4ZadE0zf6vBbinOm1zLF
uGczlmEYVFZWYpom6XQay7LekPbv1wNd16moqCAcDpNOp8nlchj+LzH9Z5AMo6mjRNTXQY2776oj
mDyGwEHgo9FPVP3LaZ1LFL6K9AcQ2Giqn7D61ulNUgiUvhQZ2UQ01kA2myWbzZ7wZRuOh5m/djYN
c+vO6n7ZRYdEYwWXbF7H8k0LWX3DMowKjeHhYYrFIlJKKhOV1NfXYxgGZWVl/O5f3UK0PIJtOzhF
h1lLGhnuHeXJ7zxPanCM1ECm1NkTiYXp3NVNTSRK+bjqas5xKDND6BObh4TwjiHMvgLFrEU8EeXI
7qP0tg4Qq4hSXh3H9zwSDRVs/J21x2ivhMIh5q+fjW5oKOXjWg7D3SPs+OVuZi2Zged6dO3vRWiS
xIxKji6JUVtVTnzMpZDK8d/795JNZnnxwW1seWg7qcHMiTdJHPu5EwpmL5+FbuoUskUK2SJlVTFq
Z1UfU4wbq5haLG20L8XRQ32YYRMjZOA6HgdePAwEEa85K2dRzFv4nk8xZ7H0sjMzxzx+U15+5WLu
+Mw7WfiBi/j3wQPc/eSv+L9++hCP7N2D4ziYpkllZSUNDQ3U1NRQUVFRqsE6m/Odb5zvCM2FGpqz
gHqd/78A4C0eoTmXUEoFYfnThJSSeDyOpmnH1Mnouv6mITTHjzFhETFV67imWlBi/KlYSIRKIRkF
GtDoHfdymujM0ZAMn94k/GRQ/+LbSHqQqhPXfw5HXnnSwyKRCJGwgXKOkBmz8dTJtVfOFFbB5qdf
fZxkfxpNk1x660Us2big9PeJSFuhUAguw/eJmjGQipVXLGP+ynn84htP4jgOoaiJ53lkUzlSg6lj
7rmvfFKDGVq2H6FpcSOReJiFlQmqwmF0IRgo5PFGC9QeLRILhVBKkRnOkhkeQ2qCpiUzYDFIKQjH
w2y681J+/p9PMdKTRAhY+bYlrNi0hJ999XFe+fluwrEQ9XNq2frwTsyIScPcOnxXoZSPlohwaKiL
3O5R1EgBd7jASDxES14RrYxihnQObW2jrLoMKQTxqihXvvsSVr1tKU/c+wKaLvEcj4b5dSQaKrjs
tosY6Umi6ZJEYyXZVI7nfrCVQtaiLBHlqjs3lu7D5E24MFZE0yZ91iR0pjP8rKONq2c2c9ltF9E4
v45tj+4CgpST5TrsSfgkrSIrqqu5ckbTtJ+P6Tb8B9ta8JUiMt4C/+PWQ1xSVz9lOjIUCpU+38fX
XB2fkvltIjQXIjQX8OvEW47QHP9h833/nDxVnC6BON6uYHIB6pmM80Zg8lwmUmLFYpFUKnWiLxbR
wB27pG+ioxg3ymQRivA4qREoPDxO46lZeSDLEWoISSsCC0WIkP9jwMaR155wyEQHi+dmsYY/gyn7
ifrgsJai/PApi5tPF8/+90ukBzMY4ymTF3+0jTkrZ02pU1LMWTz69Sfx8i6u77HuhpUs3jifyqYy
BjtGg2LVMZve1kHmLGlm4ep5dB3oRgloeaWNcCwcECdDcvPHrqWytpw/W72Oh4+04vg+2p4O9tg+
mWwWM2KAD5qhM9w9QmZ0vB27MsaKTUvQTZ1bPn5dQAoMLWihLjqU15QRLY9Q01SFpkk0TdK5t5u6
ObVEy8NouoZCYbSk8TWJ05tBSUmxbRTf0AjFQoiwwcGXWpm5uIHG+Q0ceLGFlpfbKa8rwzANxkby
XHzLWpZetoDWVIonjgamg9fMaqZaSsqrynjHn153yntf05SgaUkj/e2DuK7P4eQo2etncWD/Ph7v
6uTzl15ZKq6P1oZRCr79g6ew3tZEqCbGoeQoedflxtlzpxx/us+fc9x3hKfUuLRBgJNp5JimWaq5
miwEeHxX1RuB8x2huUBozgIXamjOCd5yhOZ4vFEKv/BazYlt29P6Rr2R8zkdaJpGZWUlvu+TTqen
Lfiz5B1E/K8iVArQseX1KBEPrlGrJ68+SkR9D3DxmEte++S055ReCzH1TwiKKGahlD5OZkw8mkEY
6Go3Dq8RmuMNOkXhO5iqF2QY4bsY6mUcdVVQkHwO0NMyQG/LALqhUTenBsf2yE9ypZ6MF360DStn
EYvHELbNtkd3MmdVEys3LeGJzufpaevjyKtdJBoradnVRqwyxpW3X0KyN02yN0V5dXmpePXVx/Zx
9R9eRiIc5o+WrsC1Xb7yv7ZQXh0nPZTFytuYpsHijQsoPFEgm8rjez75TIGmJYFiqhCCaHlQM+M6
Hk/e+xyDnSMUsxbdh/qIVUQJR03mrZvDmmuXk+xLMTYapOvmeWG6O4ZQGQcsD+UrHFcx0jNKeHEj
hVyRoaMj9LUOUlYVZyyZpTyZo6qhktrZ1bTt6CCxppHvHNhbMuj8zoF9/OnKNcyYxghQKcX9B/bx
al8f1abJexYvZeXVywLSRZGcNDCOZqE9w2BM5yeVNczvcghFg4hg0fMYc11CI0WoiaFLwSsD/Vw1
o2lKPZ+Jcx6PGSLE8z0D6EIQrY6xor6udA3TYSqSI6UsRXIikQhCCOrq6o6pxbFt+7ykbs73w9KF
tu2zxAUOeE5wgdC8AQRC13Xi8WBzPxkpeKPmczqQUqLrOlJKstks6XyOh9taSVlFygyTd86fT5nh
ATqIEEqUkZefQpBCEQHxWv2DEAJHuwVHvX2cmJSBShPy7gchscU7UTIxPnGLMvXpwO0bEN5+PLEK
Ty0Zd95mvA3bGK/RcQmHK4mOK0BPGHRGyJxg1SAYnfJafd8PdFhcj/q5dejGydV821/tpOdwH9nR
HEjIpQvMWzubsqqpN+TCWAE5KUXiuYpizqKitpzLbr+Y7939QyLlEarqK9B0jcHOYX5137M4RYeO
/V3MWz0bI2SiaRJDM6ivry/p4/R3DlLXVMXYyBiVdeX4vk/tzGriFRGqZ1YF9gSWTVl1nHz6xELz
3pZ+tj68E9fxyGXyZEeDNvNIeYRIeQRNF5TXxKmamWDppQvo+cvvU19VTn/Swtc0POWNp8vytO/o
QGiCulnVFDIZRnqTSE1gmAb5TAEhBMVskVd6+krrInhf4JXBAd41BaEZ7Uvx1f98lJbhUagJ46yv
Yf+Pd3F5pJpwPII9NIZMZiEWgpCGsDy6n25j41XrOHow8IvSpUAo0Gqj+EpxJJ3CU/BXzz/N5Y1N
vGfJsf4+U23KA93DjHz7VcpmGajyELEeiz/68MnTntPB930syyqlbBsbGxkaGipFcqLRKBUVQeH7
8RpIr5csnG/CcSHldJa4cMvOCd5yhOaEVMl5JBDHRw0mP6WdyTjnaj6niwll4ok6ENu2eai1hZFC
AU1KMlaeo8Nf4aL6QMzMERtw5NUgNBTHOiIfc79FCEUI4fVQpv4MSQ6lBKZ6nCxfQslqNP8QgjyT
DRs1jlKQd2D6TyFw8UUFrppNTH0Zw9BQ/kzSqTvw/Neu1xaXovt7ShKcijieWH7CtfpugXs//a90
7EsjtCjz1q3g9k+946QWCPueP0zT4gYGzH7GRi181+Py37142mMa5tVx4MUWIpEIyldE4mHiiRhW
webJe5/HdTx8x6Njbw9zVjXRc7gXI9xMrCKK7yk69nQxZ/Vschmb9TevpL+/H13XMU2Tsso4lbUJ
NtxQTX/nEAjFRdetZvbyWfziG0+VJPu79vUwd3UzjuUeM88dv9yNY3sYIR0rbyMQaIbEtVwOvNjC
SG+SJZcupHpGgkNb22ha3Eg8ESObzGPlLGwLHMvHtT1810doguHeFJoUaIZOWVUM3/MxI8E5zYhB
TVkMd9hHG+9J8Hyf6nAYx3Jp3XEEfJi/bjaaofH091+kN5nGR+H3jCHzNqNpB215PYamsai6ivaD
3dhzg/qtiGmwJFzO/DWzyQyN0bm3G00KNly/il2VNr3ZMbKOQ8wwSFoWTxzt5OL6ehYlql5bpsdt
yo7v8a/3/oLhfAZxWGBKjXllCY7s6GTV1VObHZ4uJs51PMmB1zRyDMMoaeT4vn+C2vGZEIjzTTgu
FAVfwK8TbzlCczzOF4GY0DwpFAqlqMEbOR848/DyRP3JhAN5OPxaQ27SKqKNFz0vrXgVUw6hmIFA
YPgv4bIMJU9sw57qeqLq60jygI4AJCOE/B9RlB8JSI8yxlWKBaBQxLHlu3DERqQaQ4kIce0+NC2O
47j4VieafAxP3lA6hyfXUOB9xLVteMqnoG5HieNUi5XP89/7Ai3bRwhFJfgFDr30Kjsfb2bDLcfa
JEzGzOYu3n7Tkximy1g6zkP3XUbdrOppX7/uhpUoH1K9GaIVITbcGnQade3vwfN8Eg0V9LUOIjVB
X9sAoWiIcDzM4W3t+J5PcjTLPCG47v1X0Ti/DgDXdUvGpAsvmc2eZw7hOg6+r4iURYmGI9Q31THa
n2SkdxTbcXniwiG1pQAAIABJREFU28/RtqOTmz92TamDaLQ/g2M55HIFBq6oxQlrVO5JkRjzsbM2
Zsikr2WAhrm1pAfHqJ1VTX/7EPFEjGK2iO8GZAYVvFPKUxTGCiy6eB52waZhbj3poQw1M4MWfnl1
M890d9HeO4RW9AgJjXULmlkUr+C+Lz7C0P5+8qkCZdVxrnr3Jezc3c6QVsTWg9Ugh/OU6TqaDNZU
NGSypr6eZEUI3/WJtY9xZKidh4sum37/Uta+fUXpfejP5fjC9q2kihZZxyHrOISkZN/uDlQ4yayl
M4iWR07Y9HcODTKqXDQfhC5wlU9XJk04fvat4RM4GcGYSiNH07SS2nFZWVmJ5BzfPj7dmOeb0FyI
0JwlLtyyc4ILhOYcE5pfh13BdPM5XUyOJE3uuJp8b2K6QdZxkEIQ0caQ0pwQmg/GIInHaejKAJTI
ymsICobBEwtxuBKD54PXiXLs8D+CA0rUoYdnETOP4maDJ9qgKtNAcKJflCs3ouI3YOVy+FOIAwpG
OXoohWGOz0Vo4OcZ7T2Z95TNppu2kxsp4itFomaUWz9wkLK66S0epJRc/I7VVFdXk81mS0/hRsgk
PZCmr32Isuo4uXQez1f4rsu2R3aiGTrxRJTqmQlGepPs/NVeDrwY4qKbV1FeXVYaf/HGBeSzFi0v
txFLxOjY28mhnYcJlRs018wkk8oSD8WJlkeIRiPsfeIw177vCl56ZBt23kI3NPpjCm20iL2wEjeq
kQppVDheoJI7fnv62gYY7UtyaGs7RkgnFA1RzE4SUhxfcp7t4RQdLr99A+tuXEk4FkIIwbaBfr5z
cB/ZkRwq5+BLycYhg5GX93J38jmKe4cQtkdVooyhrmE6+4dJ1hgox0MaAl8TuDURwloIz/ZxNR/P
crj1E9fTur2Tvc8cxNU1ZixswCo4PPGd57n1L28qreGGcZf6YF0rlO9iPDfIESdDMhJFN3Te+Ym3
U1l5rGO76/voF9Xjd2VQqSJKQWhBNQvWTV1UfCY4UwJwfPccBCntiXTVqSw7zmfR7gUy8zpwoSj4
nOAtR2jOV8pJSllyxJ6Q/j/b+b2RKaeJ9NJUkaTJrejvnL+QB1sOkXVshqxmrmrYg6EOowCfRnzR
dNrzsMXb0dW+cRKjgDBFcUfwRyHJa3+J7m3AYAu6uQBEJYbsIxqWoM8hnS0j5MrxWhoBqjitE/jJ
74PJ7CUGB7dbCBUIOvieZMVV0xcOSzKYpoNRX45juUhNUN4QIT2+69tFh+0/30Uunae8pox1N6wq
1eQcv/ZmLqrHyjvgKxSKWHmEscEMzSuaGOlOkssU0EMaM2bW03Ogn1DUJFoZ5bFvPMO7/uz6km8S
wOCRIGoCgf1CV0s3YyM5hBB4jkvR86mZU0WxWCSfyyOlpL9liAWr5pEbLdBzqJOI7WJmPeyEicw4
rLhqCaN9aRrm1TLYMUwumaP7YB9mSMfzfJyiG+jpDE0SlFMgNUlFTTmX/+7Fx9z77YMDaELgWg6a
lDhC0WYU2VNnETINQt0G4R6Hkf4U0vXxQgK1aT5izyBG0cefESN0ZTNzaut4cXcfQ6kM+sJqYlGH
q2+7iL3PHgQFw92j1DZXU8xb9GfGeLS7A1cpNs1ooi4aoyYyStbJIscsKnpHqVnQQ3pwCdlUnkf+
38fY/E93cO/uV3Fcl3fNm8+62np+UVHOyB1LUL1ZDEPjo7dcXaqLGuwcZrgnSdPiRsqrp3dCnwrn
ggRMROsmk5yJVNVE1HWifdz3fYQQ6Lp+1t9R0+ECoTl7XBDWOzd4yxGa4/F6CcSENos5Lnr2ep2l
3yhCc6aRpEQ4zIdWrsbzfcKkMXyFQhI8vtsIlUSJ0/syd7SryXkGIfUIoJEXn0BptaW/CzVESPwS
oRTS2U7YeRgpo3hjLi71ePIzFMWdmDwGeLhyHa5YP+35poMS5VxxxxUM9TzNwe0OKI2rfv/aQLtl
GvhU4lOGlKlxQuFiqZmlv7/wo21kk0FhbX/7EFsf2cHlt1085VhCCBasn8NAdQwUZNM5CmNFwrEQ
s1c0MXR0lMq6cpJ9KYZ6RkiPZNB1jVnLmxjuGWXGgobXxpKC/FgBqWmk+jJ07etj3rpZDLQPY+Vt
Fl40l3hFlEKuSNOyRjKZDGOZLENdIwx0DQXRFgHSDJ72I5c2UmvWcMk71zF7eRNtuzsZ6BjCLjrk
0wWMkIGQAtf1MCMGdn6c1IiAUDmey47H9rDw4rmUVwXRpPJQ4EsldYnn+igULaaDrwns2WXIlhTk
DcK9eXwE5B1oTeFePQvX99BmllEVCTHiWPQ2G2iza3GAHxw+wPP3vUQmlSTkQK3lopSiqrmKr+7b
hTu+ybalU1zZOJOezD6cthzeSxmcliL7B/PEYh0UC3EObW/nr//puzgb6vCV4lBqlP/noo18+qIN
PNrRzpA7RE1rjtaf7qP21ovY/ovdbP/5bgA0Q3LTR69hzsrTM3KdWAPngwRMpVxsGAbRaBRd10kk
Eido5DiO87pIzoX6mdeB80xoHnzwQZ5//nmklAgh+MhHPsLChWcmOHku0NHRwejoKOvWrTsv418g
NGcoiDcZE9GNYrFIMpmkqqrq1Ae9QZjuuiYE/Sa6l04m1z4VKdKkRPO6UKL2tc+gstDomNKRezpi
5WpX4HLFlOc1eTIgM5qOJgootx/Xr0NRjmSYsH8/Re2DFPnQCccKrx2T51AksOV1wCncvqO/w61/
vYHCyHOEzXbMaC958oGuzpTQyai7iPMNpCjiqiayfKB0remhMcxxZ2bd1EkNpAHIpnK0bzsKumLO
qqbS0/2qa5bx9PdeQNM1ivnAEdsI6dQ0VZEezASt1If78RyPousjhKRtewdtr3ay8/F9FMcKNK9o
Yrh7hNYdnShfkR3NUT2jEitr07SkkeqZCZpXzMR3feauamb+ujmMjWZJD2fo3NfNSG8yiHTFdRAC
zYcZbXleObKL3kP97J/Rwmhvir0vHMCxgvVSzFnEKqI0zKsjNZgi6aRBCKQmsYs2A62DtGw7QvvO
Tta+fQXz1szm9vmLOJLJ0O0r0v1pzLYsmXKJUKBsj/zl9URe7Cc8WEQTAt0FbcBCaDqirpzysijX
z2pmR28/A3tGwPFR8yvow4GRFLLaILN7CMvMMz9iUHfTEl5O9xDWdUaLBZJWEYlglpvh6KtFjDEb
NEn3cIREski8MgINZRQODaFfUo8ArLzNN77yM6rLo5hZF6ctxUjE4MhIG4998xmcokuioYKapiqU
Urz041feFIRmKkzWvUmlUlP6kh2vkeM4zml7M12I0Lw5cfjwYbZv384XvvAFDMMgk8mc8+jc6aKj
o4O2trYLhOZ8wfd9NO3kbbrHY6LrwPO8Y6Ib58I/6VyOczwmFypPDk+fah7HwxML0f3tCJxxZ2sT
j6lTPmcDKQKDTiE1fM9CEHRTBdDGu6BOhOE+TpT/AHwUBrq3D+X/3SkjXsLr4sCzjzPSr6id4bPh
phay2md5Tdn4WHg0k+YfTniqEkJgmK+tJaUUhqmTGkzz0Jd+iWmYFIsW+56v4h0fvxYpJQ1za7np
Y9fQta+XsqoY/UcGObSlndG+FGXVcZZfsZieQ324joeua/jKxXNd9jxzgMH2YVzXZ8fje4mUhVl8
8TwGOofIDI3hKxjpTmIXHcoSMa68Y+Mx3U17nzlIVUMlZtgkFDVRvsKwFaFei4a55QweHiAcD5Mb
y3PwoVY0XaI8hef6SE0SipnEK6O844+v4+Gv/5Ji3sEpBl18vu8jTY3McIaRnhRHdh1l2RWLuP5D
m/jMRRsYKhQ48NRB2tURnq70scMOY5k8bkiD2ihVM4NiX9d2qEskeO/11/FkexdP7z3EL9JF8s92
oQo2UpeozjRiQw25vjRGZxY0QcZ16PdtlJ+hYyxN3nGwXY/4jmEOD7dQmB0hPppGGBJ3ZgQ5YlNI
uixZOpOM7tM7FghHjhYL5NuTdM7UQM9S+UoPVcMOq5sa6W8L2vwBhrpG0E09aJv3zuwz++sU1ZvK
l2yiDnBCI6eiogIhxDFRnOk0ci6I6r05kUwmSwXkAOXlwUPexz/+ce655x7Ky8tpa2vju9/9Lp/9
7GfZv38/3/pWYDEjhODv//7vaW9v54EHHiAej9Pb28vSpUv58Ic/jJSSXbt28cADD+C6LvX19fzp
n/4p4XCY1tZWvv3tb2NZFrquc/fdd3P//fdj2zYHDx7k1ltv5bLLLjun1/qWJDSTN+ozSfFomkYs
Fps2uvFmIjSTr2sivXS8OePZwlN1CCwkoyh8XJZhqCdQfjW2eHugETPFPE4H0WiUsHknbuoAvp1G
SgMpylFqwgXbxxZTfAiUIsz3xn/QELgYvIQq3gdiM9ORE4An732Y3lYQCI4e1siMDnPF+7rI5prY
8tAOrLzFog3zmLuquXSMwQ5MXkERp8DmUkTn4nesZcvD23EtFyNscPEtF/HKo7sCMbWQATIorh3o
GKJxXlBEXVFTzspNwZfMnJWzuOjG1Tx57/PIcc8lzdAxDA1jPPJTGCvQvrMLt+gSLQ8zNpLFKbq0
7z7K4JEhHMuh60APkbIwA51D1DRV8o2/vI8ll8xn0x9chtQkvlI4VlDD1DC3jmR/CmO8Nmake7QU
gfF9H8dy0c0QQhPBNYhgzhV1FXiex7XvvZIn7n2OQiboxinki2hSo3V7J5V15RghAytvseOXe9j4
O+toiMZoLfjEDZN1SY99FVCIGOhSYNbHGR6wSAwV0TzFirct4cc/eI6ntx0MWreLLiquY1ZGiUiN
XEiht6XINUap6BwD26eoCYZzg+xt2U1KhgFB1UMdRNrGEFJg7APPlKiEEXh+JSLEfJ9Q2KDKV8zZ
tIhtuSwFx8GrMvB1iXB9XKlI4zKSzJZcyM1oCKfokB3NEi2PsPraZae91uHNZ0yplDqhfXxCCPBk
Gjm5XI5wOPy6Uk4HDhzgwQcfRCnFxo0bue66Y1WjXdfle9/7Ht3d3USjUf7oj/6I6uqgu/Dxxx9n
69atCCG47bbbWLr09bXTv9E4nzU0q1ev5oc//CF//ud/zsqVK7nssstYtmz6dfrwww/zoQ99iCVL
llAsFktEqLW1lS9+8YvU1tby+c9/npdffplly5bx4IMPcvfddxMOh/nJT37CT3/6UzZv3syXvvQl
7rrrLhYsWEA+nycUCvF7v/d7tLW18aEPnRhdPxd4SxKayTidDVcIQTQaJRQKkc/np3XCfjNoyEwe
Q0pZesI6m0Ll6eYR4ld4Yj6easJgFyZb8FUrnpqBFEfH26+PPU73txFSjwIerliGJX7vmNeUSJdt
kUxlUP4nMeROzFAZLrOQhf+BJIXHfKQaQfcfwOEifDlvfASP10ImPoKx4Gd3L6Y6is1HQcSYCn1H
PFKDMNgrQUHPEYPV7/R4+D9+iV2wkZqk53A/3p0+C9bNwWQLMfEAgVaOh6466ez/Y1788S6kEFz5
7g2EIiHCsRBSk6hJASYhBAjw3em/wXRTxwgbeG6wOcxcXE/LKx0UczbKVzCeSnQdl8GjI+iGjsrk
yaZyaONkRdMEAsiPFeg+ZJFNFelrG6KQs7j5T65l2WUL6TnUjxyPTtY2V1PTVEXP4X7sooNRNBju
ThIazeLZLtHyBFKTpIfGkFKi6ZL6OTUsuGguqdEUoZhJLBFFk4L+9mGkkDiWS/ehPmYvbULXDJRH
qRh18cb5tOzqIKYbrD8qePm5TlTGRrkenuuRX1TL1SsWkB7KsP2JPagZYVzPQ9kKrWMMO1pkqD6C
jOqosgi5VRU4VQZlW4fRk0XGkh5ZV0eYQNEh1JlDaSJ4IwI1ADxXIW1FSNe4/dO3UBmL0DCvlo4K
je3PPk1UN0hrQRRGaYLs2hqMx7rxUXieT3l1nBkL6xnsHKZudi2b/mAjy684MyXq3wTbg1Np5Oi6
zj/+4z+i6zpz586lvr6e5uZmZs2aRTQ6Xer2xHP88Ic/5GMf+xiVlZV88YtfZMWKFTQ0vFYntmXL
FqLRKH/7t3/Ljh07eOSRR3j/+99Pf38/O3fu5NOf/jTpdJqvfe1r/M3f/M1ZlxL8WnAeu5zC4TBf
+MIXOHDgAPv27ePf/u3feM973jPt65csWcK9997LFVdcwSWXXFIijQsWLKC+PngIu/zyyzl48CCG
YdDd3c3dd98NBKRz0aJF9Pb2kkgkWLAg8Lc73XXwevGWJDRnEqGZ8DCyLOuU0Y03C6ERQhAKhTAM
g1wuNy0BO/t5BButRsckETyBRh+ocgRpFJWlMaQaxvR/UFL6Nfwt+LIaR7z9mJqefHobhvOfxJSF
EuXkxSfQ5CxM+38gGMSnEp096OpVPLUYg60U+QNcuR6EjsdSBC+Pqwy7wRxkAuE5mOrFIHo0BVyW
MNizFd10EYBPnKfuP8rYcJZIeaDFE4qatGxrZ8G6OYR4mdeE/zQyw/18/+/ux/cjKODI7i7e9/k7
SnUyq69bztF/7yVk+jiWQ3Vjgvq5tVNNpYTlVy7h5Z/uQCkoS8TRTQ3P8fB8H+UrMkNZfMfD8z3C
sTC+6+FYDq6QOJaDUpBPFwLF55BOPp3HCBsc3trOzX9yLYmGSm748CYS9RUc2tZGRXUZg13D+J5P
KGow2mPh+z6ep1PZUEEunaesMoZhGlTPryFzaT3JJfU8N9TLwX95CgFkhsYwwzrz1jbTfbCP9FAG
BHS39pIby/PH//yeUjFqUgh2bErQP5pGuODv1SkvuGBISHlofVmqb0iQTeXAcnE8D9dXYGoQN1Ah
GbS42x75BWUoXeBVhgh7NmaZYk4iRagqw2fWbKVct0jN8PmX/zmPfFZHFj28+gjpOxcQLiis8hD3
RUd415wF/MO+FxkuFIJzAWiitOS9MoPCuxeyedZqjrzSQV/bIL7ns+qa5Wy+64Zj1KBPF78OQnMu
CneP18j57Gc/S6FQoKOjg8OHD/PYY48xOjrKZz7zmVLDxMnQ2dlJTU0NNTWBiezatWvZs2fPMYRm
z5493HjjjUAQdfjRj36EUoo9e/awdu1adF2nurqampoaOjs7mTv39bfVv2E4z0tASsny5ctZvnw5
zc3NPP3008ekCCdnGzZv3sy6devYsWMHf/M3f1MiK1NOWylWrlzJXXfddczvOzs7z8+FnAJvSUIz
GdNt2hPtjqdjV3Cqsc4GZzvOhF+U67o4jnPWZOZkcMUKTP8ZgqgIBMtIjIvhBfUrkyFVJ2ADEVAK
ySBh/7uE5SGMyE0UC4K8NYu4+gYCK3iIVmki/BeaXYd0XgJcNDKTxlcgdEz1DC5Bh1Neu4uwdy86
25HkcVmFUVLLmf5+rr3+Eg5sOYrrF9F0gzmrF+P7KjD59n2Gj45i5W08x0MphRI6TLIlfOnn4HkC
OR4VsQsOe545yMbfWUc+U6CsKsatn7yRIzu60UOSpVcuOqW9Qt3saq57/1X0tPSx7ac7sQsOvufj
uz5IMHSF1CWa1IjEQigFo/0pvElq1ArwPQ9paBRyFtlUHitrcXBLK0s2LiCeiNG8fCa5VA4zFqJr
fw+Z4THE+JOtETaYt3oW+XQR3/cwwgZ6yKDj8mryCYEfUty/ew8yXKBi9zBCCsqqY/R3DJEfKxCO
h3AsF8/xiJSH6esaZGhoCCEEX976AnnhoVWEKRQschtqMX/UEbxftoc3lGfPs4for9fJFCxEl4uo
j4CC5A0z0bLBF7DbEMWL6igBbsLEWxrHL4c54SH+7yseQ6LwfcnstTn+6q4W7vnEbDRbUWEW8Q2T
7PiDY6pY5EuvvoLt+XjquA0/6OgnPFjkgzdezrrVy1l39XLsojNOAM2z/rz+JkRoTnfcuro66uvr
T5rOmA7pdJpEIlH6ubKy8oRNcfJrNE0jHA6Ty+VIp9PMmTPnmGPT6fTZXchvIXp7exFC0NjYCASF
ubW1tTiOQ3t7O2vXrmXLli2l1/f399Pc3ExzczOHDx+mp6eHWCxGa2srg4OD1NTU8NJLL3Httdey
aNEi/uu//ov+/n4aGhqwLIuRkRFmzpxJMpmktbWVBQsWUCgUSgatp1O/eba4QGiOIyFnY1cw3Viv
Z05nCk3TiI974Uw4eMdiU6dYzmQeU12PI69GUY7pPwjoSHKAg0LDEZcck9pRSqHkLCZqWCTdSIYR
IoFyH8VPP4LGDGLMAgrj6QAfyRBC9SPc8LhvU+DULXAAE8Zl84+5UyJCUf8oKIuI/3WEyoESKGHg
cOm017ns8kWsfftqCtkCkXiQ2li4fi7lVXGevX8rdsHCjIYIRUPsfGwvF91wG+XqK0iRQSHRw/Px
PQM5zlF838cI6fzki7/g6MFeQLD4knn83l9tplgsnjbJDMdC7H7iAL7ro8YjM8EJwLZsFALd0MiM
jGGYBr43aSMeT6sgwLHsQMnXBz/m87//4j4+8qU/5MirXWx5aAej/SmsnDWuqyOJlIWDtJUaXwMS
DNNACEFP9xCdKQ2SUEjmKWYtnGqDcNHGc32yqTzR8jCu7eE6HpF4CCEl6YEM3Yd6iVdGaN91lCOV
aYYiPlbRwcvaSAFkingOaI6H0CUHXmmlbkaOyllR0gVJscIgv7gSpzGGn3OQjo8XNcaj9QqhCUYu
bmBGZoQ181N8c98qXk7OAAULy0b5WOOLaJaH0gS9a5pIFHoYEvUooOC6KECiAmmjicXlK3Rboflw
cYfioklq0xPdbK8Hv44amvPptH0u27ZP57t0utecbxPOc47zuASKxSLf/OY3yeVyaJpGQ0MDH/nI
R+jp6eHrX/86P/7xj0upIYBHH32Uffv2IaVk5syZrF27lsOHD7No0SLuu+8+urq6WLp0KRs2bEBK
ycc//nG+/OUvl6I8d955JzNmzOCuu+7iW9/6FrZtY5omd999NytWrOChhx7iU5/61IWi4HOFyR/o
yZv22doVTDXW653f6Y4zub4nl8uV8tyapp2TOpzpxnDlelyxBlP9HE21gLKw+R08bekJY6A1YsnN
hNTjSFFAiDJ8XyApjmvZ6Eh6xw+IIOlBkEdRjlDDQBkKG4GLwsCjBvBAifHW7ONvSoiC/BMMtRWp
h3DlxWBNnw7QdI2b/uQaXvn5LqyCTdOiRhZtmMeC9XPoPtSHEIJ4Ispob4oXfvQy2eRy1t/w51Qm
+vBJsPqWRna//COS/cFTYe2sKlzbpWtfD0Y4+Ijtf+Ewh9/WTvOK6TVupkJmZAw9pKPpGsr3UCiQ
IIRENzWk1ABFIWehmRreuAO21IJ6oEg8hDQkuVQB3ZC4tkcxU+RX33kO0zRID49RzBZxioF2i+95
eI5OVWMFmqZh5YOOlkgsQusrRyjaNq5VixCC9NAYnuejO16gQzNOooyQQaQ8QiFdxC44CF0ic5Jt
P32V5//PyzQvm4m+JkIx4oKnwPPRMg4y6wX1RTGDkGmy6bZOUr0a3ZgU7SgjaxP4Ug9EEF1FKO2Q
wGAk5uGFNIRUSAnvXtXCU3ub2do4CyEUSSvM0XwZ22U9XDWE0xCmOKccoVwkHh4aE45f/viKVAhQ
CuH6CCVoLEgaZZjK+lPIAJwhflNTTud67IqKCpLJZOnnVCpV6sY5/jWVlZWldNdEkfKpjn2z43wW
Bc+bN4/Pfe5zJ/y+vLycL3/5yyf8/oMf/OCU44RCIT75yU+e8PsVK1Zwzz33nPD7BQsW8PnPf/6E
30/12nOFtyShmYyJTTuRSOA4zuuyK3ijCc3J6nvOZfprWggNW9xyWi/VotdjRjfjjn4K3LZxq4Lx
Is3xaIvDOqTIINRRFAk8ZiPEUaQaw2U+4FDgvQhpIOnHZQ2+nEbzQ4RwxFWYZgw8Dzh5VCQcC3H5
7ccK4ElNEquIYoR0hrtHGegYxowaZFM5nrpvNzd+5Gp0U8eMwPs+dwetO46Mi+XN5Vfffg49NMlg
U5MMdQ1PS2iKOYstP9lOMW/RtLiRWGWUX33neQ682MLY8Bi+P+kbzwclFKGoCQoKWQshQA/p+I6H
8kF5PkbEZPV1K+jY24WVs4PiYYLWaytv4xQcpBQ4xUBBFhUI9EldY/XVy/F8n9G+FP3tA/S3D+E5
HtKF2M4RxtZXB/UsWZeKZ/peiwgB2dEc8USMyvpyMiNjhGNhrIJNf9sQSHBtj9rBcgaXhbHiGtfN
PsKHrtpP+m2Sf/wfCxlaWEuyNkJ8hsHMnqPMj4+S9wzyh4cYmVuHX3BJ5BQ35RM8ruUQ5QZCE3hK
IxEpcOkSixErgj8Gedek4AWRlIwbRl3XiMp5SCEYCZdxTCgrWDhoeDTHxnhHQwtPPz+LUK6W5YM+
Gzavo7K+4qTr6Exxvt2vpzrfm9H6oLm5meHhYUZGRqioqGDnzp28973vPeY1K1asYNu2bcydO5dd
u3axcOFChBCsWLGC7373u1x99dWk02mGh4eZPXv2ubikNw4Xut3PCd7ShEbX9VJa5lQic6eDN4rQ
6LpOPB4/ZX3P+YzQnC6EEITD4ZIiMf77iIp/RSgbQQafKoLNRMOWN+GLmcT8NCgPQQ5f1YGcicMG
HNbjyzMv9DvZNQghiMfjaJpWakGd+K8QglXXLGPnY3sY7h5BSMHMRY0IIbAKNpmRLImGiqAryNRZ
eulrypuLL5nPoS2tJe0XIQSLNiyYcg520eEbf/XfFMaKVDVUsOUnO7Btm9GeFIapE6uMkhkKWo7j
FVGKOQvP8ciOBtohCtB1jWg0TChkIoUkVhUlUhYmFDGIV0YZOZrEsRyMkI4ZD7Hk4vl07O8O6oQm
paqUryjmioz2pxjqGqayvoL6ObXkkgWkJnE1h4rtw1R05VGJEPpgAWc08DeagGO5ZFNZhC6Zu6aZ
tu0d5DNFfHzwIJ8pEE9EadyR4spNbXzizk40PYg83fQfiq+9WIuwfF61Q7TOqWDxLw9SUZ6kuq2A
aSTxIgaaJtmbF4hrG1CzqxF5h8iRLIWQwd//cBmf/PRW7k+uIuuaKILapojp4VcJihEDxx5fE5O5
zPg/Td31ROSkAAAgAElEQVTnb9fs4IqGPj64eiNj7u1IPbA26drfw/+55xGsvE3jgnr+8B9uP6kz
+6nw21JDA68v5aRpGrfffjtf//rX8X2fSy65hMbGRh599FGam5tZsWIFGzdu5Hvf+x6f+9zniEaj
vO997wOgsbGRNWvWcM899yCl5Pbbb//N6nD6DcBEQfGbHW9JQjOxiRmGQT6fJxqNnrYa5slwvgnN
hM3CRPfSyep7zsWX1uu5npIlhGHgjv1vvOIWokgscSNZeQ9SDRHyH8BgK4IURd6DLwOdF4uriPI1
BDYCHWXciOXefkIr+Olew3SYiHAVi0UymUypDTUajZZk4cuvKGfusmaevv8F0kOZkn+SkAIpBU98
53nymQJSE6y+ZjmzlgYRmLmrZnHN+65g15P7kQI2bl7P0f09HNh6CNf3WH/jKpoWN+L7Pg9/5TH6
WgcwwwZDnUMAQbu4lPi+ImToRCoiGIaO7/lITcO1vNI8DFNHeT6eUpgRkyUbFlJRH2fHY3t5+Wev
IoXAjJrYeRvPC+pxDrzUQlVjJZpx4leA5wRaNCPdSQY6hjFCOr7ro4cMYhUxrJyNTBapNEJkLR9P
yqCQdtKtdm0Pp2Cz8qolHHyxFQA50bLu+RSyFtfdtp7b3vsCmhlUrwAczlZRUeaSEiZOXpENR/Ei
Br3tOkU3KP5tIM2MmRb1jRY7t6VIhRcT6cwFejGWS6cp+VlyMQKFROGNR2GkUFSaFlfWtvP9tpWI
tI1fbgadTKW2ekVMc9g2Us/GGfUU1O3oZnCPrLzNNz/1A9LDGaSUDB0d4YH/afKev7v1jNflBH6b
CM3rHXvZsmUnFBTffPPNpX8bhsEHPvCBKY+9/vrruf7668/63L92XIjQnBO8JQmNYRj4vk8qFSiC
RiKRc0ZEzsWTwVREYvLmOzHvMx3jjcJEp5VVLOAk/w7NfQaBwKeGsPoBnpyHzh40WlEiaMs01RM4
6nKUqEITg/hqEeAiZATN60Kqbnxx+pLyJ8PkAuqJCNdEV9gEJmThTdMkUVvJ5o+9g59/4wnSwxk8
32P125ZzcEsbru0SjoUAePWJfTTOryttgCs3LWHmwnqOHuyj51AffS1DGCEdx3V55vsvsvmTN+FY
DpmhDJouESI4byFrES0LYRcD3SDlK0Jhg0g8THo4ixk28BwPTZdB4W1ZGMdySDRWEI6EmL2sie2/
epWxkbHALNKQ5NN5pK5jRoJj23Z2Eq2IMGtZE4OdwwgFvq+CdQN07O0OCrp9RWEMIvEwQX+1Ysml
83Fdn8xwFiVUKV11LARmJER5dRn1s2vobRtEef7/z96bR8l1lue+v+/bQ+2au3oeNdiyJkueBxmM
J4yNDRhwAoZwSAgJkEAgXDKsnJPhsk4OWbnc5IScEBIuySGEAIHACRhssLHBNrZlW8YWkm3NQ7da
PXdX17zn7/6xu0rdUktqSS1btvpZS8vu7qpd3961a++n3vd5nwehCeIpiwuvWcnP23zuShjMbgea
MowIiIh0LJ4vGK7kCIIawgloz1XoWeYwnU3TskzjmvgU5R/tZWxVO0oTlK5pJ7Q0vjfYhaUH5GI2
Zd/ECyW5WI0PrdlK2qnxradXkXlqjNDUyN/RC7FoUi9UgoIXJxl7M6OVq/j2Z+9lcnCKSsGmnC8z
sn8sshpoSSI1ydjB8TM6F881Y71zdduvdSyFUy4OzktCY9v2nIrMueIfM3s7dWJUHx8Pw3DB4+Ov
FI4mCpr3fRLhswgRggrRGCGgA41daOoAYpajsKCKVIMEohmhXJSIATGEkCB8BKc/6jf7PakLv2cL
qOfDbFv4Oq579xUETkgilSCVSfLQVx4j25TF932CIMCreTg1t0FoBnYc5vFvPoM0JAe3DZJMJ+hd
ExG4IFCM9k/Q2pNDjxm09bUwNjCJEhAEIcsu7mWsf5LxwUniaYu2ZS2kW1M898B2dEOnta+Z/NA0
mqYRuD7xpMU1b7mcS29ez/i+KTRdIwxD3JqLZwuUEkgtKkSECgI/4OD2QUxLR9clQaAiwiEEQgoC
d+555jkeLb1N1Eo2bs1HMyTpphTTI8Uo2LJ87LHsXdNJMpfESlukcgmcigsCLn/TBnbd2ckLgyP8
xXOb+NyNP8GQ0evd3fkS9z/fFw3FKUViW55q0iA+WEH5ijBUPHbpZdjdSbaaIR2ZaVbs2EVxX5HS
VW3EX8rjLk9hZzN4SDLCJaF5ZOM2X7vpB2ihzye/ewPmhEPscA0kVEdqOMujAE0BLG9q4z0bbuVf
/+Rb7Hu+HxAM7jwMCIQQ+J5PZbpGsilOpjV96ifkLCxVaJYAnFVjvfMJ5yWhORrnIqERQpBOp09r
fPzo7SxGhMKJtnG8SStT7UfJLEIVmLmVAkRuv6IM4Y5GTIIiRiginwRPbEIPd6OEAWEAWguBOD2R
X339J4t/WOhx0mISx7NxJm30lGT60DTxVBwpJNmWLG7e56lvP0GoQqbHpul/cZBKsYYKAuySTecF
bTM6VEW2LUW6JcWy9d0MhIrA9xneNxa51b5wmBUbevjEP/0GP39gO9V8Bc3Q6F3TxeHdI6Ag05Ym
mUuw5uoLuP1DN9HaGzl6Xvb6jWy+79lo4sgy8Bwf3/MjH5sAdFNDSIGuaYwPTDYmqIKZMW3fPZY0
+27AWP8UoRcQS8QwLYNKvkoQBIT+sY8XUnDdO65k9MAEa69bRdcF7dhVFytpct1v3cBDL/4cV4U8
tqOT3/7x5VyeHefACxZb+5tJLxvBz8UwR2skqiGB7UXVIwmjG7spt6bQfQU6HDZylNZexOS1WYKc
iQogviOPbI0RbxMUvah6ljUdvr5nHRP9km3PpkFTFN7QQexwFdViYUpJQjdIF3ze+GiVb/38XqYO
TxOPWzhVpzEyn2pOUs5XkZpg+cW9vPdP33Gqp+Tc4/QaIjRLFZozwBIPXBQsERrOPUJjmiamaZ72
+PjLiVgsRiKRwHXdY4hCKLIo2lGihlJTgMQRbyWUF+Ko5Ugxiqb2oYSGK+9Eicg9N5DrqfGrGDxN
KOPI5HuhdHqf+DqZicVixxV+h2FUmaiHlM4O71NKUSvbHNoxRDxt0bumq/EeX3zDmij76HAeLSbp
uLCV//z7+4mnLQSCR7/xJAiBbujoMQ0hXDzHRwnFJTevp6U7Sme/8b3XcXjXCD/4/I/JdTRRLdVI
ZCyG94/Rv32QycN5EqkYvhegaZLm7iZaunMkMhZX3H4JV9y28Zh96rqgndEDY+RHCniOh9QlAoFT
dXBrgta+HI7tYqWsKBV8pHjiAykjHhbPWlSnaySXJ+hd10Pt2f3USrOqnQLGf2kFfmeCz03uYf1L
NbKFgNbeFnKdUYVn+49eoLR3PzKhkRqssGcsSf+ohggUetkhZugU39BJ6aZuqhM2zf+6G+FH49QF
YaHCaNrbsSVImOxpRdkBQVxHGZLKpnZEIfK20UWIkFD1DR4aWkH6yWH8NgtlSDRdo3ZBlmR/lWUJ
SbB1kKZRl8KqHgrjBQ7tPkwym0ToAl3XCIKQVCZJPBnn+l++hnv+6O0NAfnpkoTXUlXjtbQvS3h1
4rwkNEd/6M4VQlNP8Q7DENd1qVbnT5U+1fWcjQrN7KDO4+VEOeKXMfhiVKYPl+OIO/C110d/FDo1
7beRQT8x9QN0XiQIL2iMYQdyPQHr0TSNmJYGpk957ZZlEY/Hj0xYzbNv832jrL+HQgimxwp88zPf
o1qKJnkuunIFd/zWLQghkFJy2RuPKP8f/cZmzHhkcDfWP4Hreo2xXM8VtPY289G/+QCGGQU81ieq
XNeld20X2fYMw/vG0GZCKQXwoy/9FM/x0HWNbHuGsYFJdEOb0e5Yx7R6wiBk26MvNhyKY3GTg9sH
UQpCP2i0lArjZTpWtpJqamb/1n5878Q5XzErymqqFW0CGSKkINua5qIrL2Bo3yijQ5PRmPebeqit
awIFY6FDYQVcev8kk4NTLFvfQ7Yjy48/92PiyxPIFgut6KJVQwhBVnzQBaEhiR2uUG2xEEMVtEkH
CXgpHWEHKCnwNA3pBWh2iKz6uM0xlC6jsEkJqs2i6EU6ciMM8ZWk5usMO62QCNHTMYQdIEoesurh
/ttWEtk4nq5xYFs/fRd307GiDdMyKE6WWb6hD2SUpt63vod3/l93IKVspBgHQTBnQm6hE5MvJwk4
mxWUV52R3TmGJQ3N4uC8JDRH42yKeReC2e7E5XIZgHg8/oqt52gcvY26DuVEQZ3RE+O4xh9gWSGV
ogNi7ukmwhES6nNRZIICTe2lwh+hZPsZrXe2lqdarSKlRIR5TB5GoeGK2whVfEE3kkf//SlCXxFP
RplO+57rZ3q4SGtfc6OCE/gBWx9+kQPbDlGaLNPc1USlWIMQQqnACxBSkOtswvEcDo6P8IP+A1R9
n7ZUiv9yyeW0WhYXb1rDzif3IoXA9wJ8NyAMQnrXdjO8d5T9W/vRDI3WvhbMmMHB7Ydo62uhlC9T
na4RhiGDO4cIaoreNV2Upyvs/8UAiWycaqmGF4QgwIwZJLJxMi1JDm47HLkIzxwLqQtCXyFkNBmk
VEQKsu1pfCcgCEIMTSc/UuDq2y4nlUuyfcdBgqSOyDv4HUfOWxUqHAPyvos56VIt7kUIgVvzSO4u
EmzUUFKgggDCkCChgy5QhsBPGRijVbS8M7MWsC/KoNkByS3j2BdkEG5AxwNDFDbmcDri0aCSUigp
okUrFQmLkYS+YmTAoPmZw8RjGl5Pgsq6HEITiErUjvNsDz2lo0JFaapC14XtfPCz78F3fTRjrlGl
67m43pE2sK7rmKbZ0LzVp+RmWwHMp397OQnN2dbPLLWbzgBLhGZRsERoONJyOFOcDoGYz51Y1/Vz
omJU30YdJ9OhzPt8iKIQxLEXc5PHoyiDmdBKoVxMHsfh7tPah/m0PJZlQTBFQv01QkX29jrbKPMp
ECdPgA1myEgdoQrxXK/xeq7t8Y8f/1cmh/JYSZNq0ca1XWpFGzNp4rtRlpHyIfQCxgcn+fbIXmzf
RwjBC7v6+eNn9nDPqrV4gYfQID9aZMWGXmolm56Lusi2pcm2pNnx1B6SmQRjAxMUJkr4nk9xvMQj
33iS1r4WdFPDtV1uvPv1jO6ZoDhZJvACll/cy8COw+RrhegYNSUwDA3fC8l1Zpk8nMeI6QR+iNQl
VlLHrXlYKYvWnhzXv3sTu57ay0tP7ibZlMCM6TR1ZElk4vTvPISvolFyJaMqixJHvnFqdog/UiG0
fULfIAxmbqyBQs87hKakdFUbiV0FpBsSZAxCDVq/PwCBwm8yEU5AIGd0k0phTDpolTzOhQn0fIXU
Mx5Op0VtVRbphagZQ0PhhwgvRDohxvcHSRmgj9XQXIW1u0DsxTyVy1rJ/mSIMIRkUzSu79Y8EukY
d/72LQANkfeJ4Pv+nCplfUrOMAwsyyKdTiOlnFPFcV33NUVoltpNp4+lCs3iYInQ8MpUaOrkoN4O
mf3t5pUcuT4aSqk57aVTNSA80b6EpIiEwnVH3YCQ05saORHZkv6PCZU/Y2oPghIGz+By00m3e+kt
67n/Hx5GNyMPmJauHG3LWht/v/+LP2Fo3yimqVPJV0lk4yxb18tVt1/Co996msnBKVzbI51LRu6/
//IYpZtbiekaQ/tGmTw8jS4E//61/6Q0VSaVS5LIWkyPF7juriuZHitG5oTxOMlMkmqhCgicsoMC
ivkybsVlamiatmUtlKYqPPfQNsYOjaPpGqmmBMP7R1l+cQ+mZeBUXKyEyYVXrogM94amQQimhqbR
jJBl63tI5RK0dOei6tC6bm5+3+sY2j1MpiXVaIcVxoosu7iHXzzyAkZnGkcFoEHL/YeYSBn4uRjC
C2l7dBTpRNUmz/Eb30Sve/M0V902SL4U48s/1Bh65wX4cUli2yS5nw6j4jrCDYnvLBBKEKakuq4J
WQ1Qloa7KomsBRSvbkUVQqz9JZSpoTSB12qBAOmGKARa0cXqLyOcAGmHjZuHNWxjDQ8CRM+zffou
62HNVau47SM3nNFncPaUXKUSGSBKKRtWAHXLfiklTU1NjceeiR7nZFgSBC/htY7zltDMvtG+nBqa
hZCDc0XTA9GFKpVKUavVFj0l1eMWDJ5CUwOATiAuwBM3H/O4E+1DvV2nadq8xzMIAhKGhQp0QhUZ
1UVhyidOu67jwstX8LaP38YLj+0inopx/buubSRlK6WYHplGmyHDUpPUyg5WKsblt23kwAuDkQuv
UgRBSKYlQ61iYyEJlWJ6pIjwfMThGtPjReyKTbolReiHVApVHMdlxWV9jB2cwIhprLi0l4lDU0w9
tRchoxFiu2yjAgjKDlND00hdsO2Rl4glTKx0jL413UhdsubaC/nw376fHU/s5rFvPkV+ZJowCPFd
j64L22juzGImYlx5+0Z2PrUHTdfQDZ3BHUNsf2Qn8UycntWdjPVPoBS09OTQdMne5/uhUEFIRZiL
oadirL5vhHQuCQpKEzYlx2N2gPUbf2mK93xiDN0EGauwcv12fueBVmodScxRGxFCqEuKN7YTxjS0
vEPm6XGMMZvpW7vRLYGlXMLtNmLSJzZmo4ai6pA5aqMXHAq3dOPnYsiKR9NPhpAVH+kdP3PdSsRI
t6R468fexJW3XDonG2ixEIYhjuPMsQvo6uqiWq1imuYZ63FOhrMZTLlUoTlDLB26RcF5S2hm4+Wo
iAghiMfjC9KenAuEpi5QFkJQLpdPa2z8hGtQCkv9bzRGiSoz3VTFJ4/R2SzE6fd402BKKWzbxlHX
kBab0UQJTQqE0YOZeQueLxs3jBN9M16xsY8VG4819RNCYKUsmjoz5IcL1Mo1PMdneqzIgV8M0HVB
O/uf76ecr+BUHZ449AymZfDeN65me1OAN1WFZ4Yxx10mh6dRCvYXBxrb3vKD5/nQ37yfq++8DIj0
PNXpGpnWNKWpMm5tLlGolWykJtB0jZiI4VY9qiWbVFOCvnXdjPdP8JOvPkmtbFOcKNG//TDxdIy1
r7uIN9yziY03rmXn5j2UpiropoEZM3CqLvf/w0M4VZdKsUoik6C1J8elt17MV//s2yAUIlRojo8o
+7StaKZrZQdGTMeIaWx/tDBnjQCbbiui6wohJKGSLOupsvrAAC82rcbpjJN6IU/+jd1RuykEtzsR
CY1NCZpAc338UZfUtjx60SM0JKElMfIOYVygD3q0fLc/yqZayI1ixtBQSkHrzOTZy4mjE9iPp8eZ
TXLmE+GfDGdT57JUoTlDLBGaRcESoWFxCc18U0H10eaFak9eSUJztEDZsqwzXsd80NXPMdRzRA5q
MSQHianv4vAejPBhDPUsIHDl7cDcqk09y6ru9jzfhTQMwyPj1yJJUX0SU21BhQaefxVyqtzQONT3
NwzDOQRnITeNG+7ZxE+/+gQg8Ad8Lr15A03tGX70pUfoW9vNJa9fx4+/9jOEUBgxEzMR49HPP8If
fPW3CEa20l9UFMs2mq7h2h6hH7npJtJxPDfgkW88SVNbhlAp+tZ1E4YhrX05ytMVJg5NzQhfj3xD
FkKSzMaxkjEq01UGdw7zlg/fyqbbr+YnX/8ZlUKVicEpPDsicFITDO4aAaXY9tMdHNpxmOE9Y0hN
0LqshemRacJQYVomhbEStZJNrVhjeqJE//ZD+G7QcDjWDIFb9ShNlohn48TimSju4Cj4fiSyEUKg
/BDfFwS2Ru6Hg5QvyeG0xQjjOmLmbRUK/LSBsjRQCv2ZKUJTYg2UI8IiQKv4KBVir8rip220iodS
oM16C4/7SVAQhCErLumjfXnrK65pOZEeJxaLHVePczJCsaShOXexpKFZHJy3hOZstJxmb6uuPalX
OY432ny2cSr7NTteoV7xsCzrjLUE8z1fMjLzf2UkEwhCYuo+lB9i8hyIKDPJCr4GwRrAOq6B39Gv
N++FXSRwubHx43zlf13X5+Q5SSkb34zr/+pEqb5PPRd18p4/fQfP/OB5hvaMYMSM6CavouyfmnIw
4wYCSDdHgaJ22cYuO3Sv6sCtuZQLVTQ9RNMDQqXQpCTVlKBWttnyg6209DTj2i6Pf+tputd00tzZ
xH/95sf5p9//OnufO4Bn+6hQYZgayaYkumlEhEETxJIm+7YdYNsTL5AfKzA9WsR3fVw7qrjFMxbF
sSJDKHwvJD9SQKDwbJ9DLx1GCNANg/JUBaGJmW0LBl4YRJMabuA1vl3qpkatUGOoZKNChWZqzHeP
+8bftvN7f3OIlg6fwNf42QtdDCSbSeybJHf/IbSiT+nmHgIjMr/xYxJlSkTFRyV1Kps6iL2Uj0a4
NYEwJCiF8BVaaXZ8xRESo5kaYRCigvnvHNfceQm/9hfvflm1awslAfO5Vtf9lernajYbpYDPblO5
rjtn+0uEZgmvdZy3hGY2FpvQSCmJx+PEYrGTjzafRSz0AnOiisfZukj5XIHJA2iMzGQha4R0EeNh
FLPHtkPwX8I0N51wwuq4ROZU1jTzzbiuFZr9zTgej+PXQr75me9SmCgRT1u845O3k25NoRsaKzf2
cWjHYZLpJDFT4Hk+ZsLAtEwMU8d1PHzPp1qsYcQMpkcLXHTVSvb8fD92ycZz/ego6BLd0KgWbWoV
OwqsHBinUqohhaQyXaW1t4Uf//OjpHKJ6AY9c+pKQ6epI4NnB5SmyximTseKVhzb4T/+6gfouk5z
d5aD20oE/sxknxIIBDErjmuXcCoOQhMYloFje1jJGLqp49oegReiG1ojnVtokSNwnSSEoYpGsEVU
8QgIEEEIehQDVf+EDeyO8z8+spa1V1SYmIjx82ILotlHGRp2p0V8R4HMQ4eZevsy/OaZCqEmUUkB
UiBKHmbBQ6/6KAV+RieM65hDLrGhKkooRECjwgMnqM7MYNmGPqQmXzVTR0qpYwi5pmkN0XE9fLfu
aeV5HrquL4mCl/CaxnlLaGZ/sBdbQ5PJZHAcZ8GjzfNhMU3xjoeFpHef6bE53vND2U2Nj5IM/zsK
RUgXSjSBqqBwEcRmFglofSSMxHGrXLPbS4sJpRSTw1OU8hWau5v4j7/8PqXJCpomqZVq3Pf3D/OJ
v/8Qvu+TvTJLUFO88PgObMfmijdvpDxVIQwCLr1lPUN7Rxk9ME6uM8slt6zj8e9s4Q33XItTcYkl
Y4SBQpsxhmvqyFKZrhBPW9glm2rJhzBSGqEgPzrNrmf3MdY/gWmZWJok1RyZ3rUvb6M0UWJyaAqA
Ay8M4Nd8krkkHSvaKIyX6L6og9JUmWqxRhgE6CmTXE+G0nSJIAgxdR0pJKapk0jFERLsioPyQnRT
p7krWp9rR6PnCoXUJaBQQhD6IX6LSUdzjdpY5GWjdB2vJJFSEvgB5YLJ1ifjVMMQPevjmxKlCYIm
C/QisaEqoaaBG3nnYMgZbxnQqj6yFqB0ifBCjLyHmvaQCmTBm5e8+G7kshzMI1YQUlAciyqSrxZC
Mx+CICAIgmP0OHWSY1kWUkpM0zxjPc7RWKrQnCGWDt2i4LwlNLMRhuEZj23rut6YXjpZ8OFCcLYJ
Tb295DjOSdO7z1YZPpDrsLkHPdyKECZKufjiegRVNLUHTdPQ47cjjLVMT4whGUNgoERrY//O5rfC
5x7czpP/Z0uUaJ2yqJVtTMskmKlQ5MenGRsbo6mpCdM02XjDOi67eQNCCGrVGr945EWqlSoXXX0B
/S8Osv2RHVSLNXY8sZdSvsje5w4wMThFx/JWylMVamWbMAxpak8T+gGFiRmh86xdlJqkVnIoTlQI
/ZAgCPErPsWpEkLB9kdewnN9PMenVrIR2ozBnIL2FS2EgcKpuqRzSXrWdBFLxOhZ3YlbdWjpyUX+
NgkdL6mjjUd6nmxrBsMyovfDMAg92HDjerbc91zDhC8MQjRNQ80ogNO6i+Z4mKaINEEpm0nHxK5I
NENGE1YOpJdlKKfA7rYwkjoyIci1+oxm0hDXkEQGfWpGK4MfoBdcMs+MoXSB8GiIf+sPOR7iTXGS
mTjjh6YI/bpAB2IJk+vvuTr68VVMaObD7KqjUoogCHBdtxEHMluPM5vknGoIbn0bSzg9LGloFgdL
hOYMUa9ymKZJpVLBNM1FuUgtline0UTt6ETsk124znRfTrYfrng7SjYjGSAUXXjiZnTDxEoahCFM
Vxya4jaJ8HNIFSUe++Jyqrz3rH6p8b2Ap+99DiNmYMSMqFozlKelJ8fovnE816OlO4cpYxzeO4yZ
0jGsKGgz9EO++7kHKIwXmTw8zfc+9wA9F3UyfGAcp+owfmgCBcTiFmEYMrJvDC0WPT9UipbeFkqT
lSgQUYHUJSqcce8VoOmCaqGClYwxeXgm0iHqHlEt2miGhqZrkaFfED3PtT0Gd4xwyS3rmDw0Rdvy
VkzLIPADbvvgDRzeNcK2n77Ezv2HsW0XNe2CAdm2BGbCoFJQ5PqytC9rxa15/OInL2LGY9HY+Exw
oyJsaGYMzadSkHiORhhCJa+hGdEfg1AxdX0bYUeC1lSCieUWvuNww/4X+IMP7CAV99kxnuOT21fg
hRrKPBITLgseLd8+gFZwEZ5qEJk6TvSJEQLa+lr55Jc/zL/80TcZ3DlMpjXFb/zVr9C5smNRz5+F
4JUKpjx6FHy2Hicejzf0OEeLjk/2pWepQnMGWDp0i4LzltAcL8/pVD6Us6sc9faSYRiv+Mj1fFiI
oPZsreOEzxcCT9zQeFxyZo1zRsVr30GqERCxSGytnkVyFYG46IzWdSJ4jkcYhEhNNtaWbk2y7Sc7
CP0AMxHDSsb5vZs+TXNnFitj8Uu/fyfdqzrZ9sgO8qN5nIrL+OAEQkB+osD4wARGzIg0K3GTMFBU
pmu4NTcygtMk6ZYUZkynra+Zcr5CtWQTT1iR/b6poxsaUgjMlIlp6MQSJm7NJZ6KY1dtQhQqjKaX
gChUUkQxBrVijZbuZu788BvZct9WXvjZTlJNCf7Xh/43E4cmcV2f/LIYRsqKxLVTNhOlCqYb+eiE
frnmhQwAACAASURBVNTaO7xnGLvqzHjsHDlmYaCQUmAkTDqX24zukQSewrUlIGDmlLO74pQuaYZQ
4YyVyXxviPRwkT/84kt0dTgYpuKGzlE+Ym7n/sEL8ZXGtGMyPamjhZB/cy/t/7av8a12NmXXDEng
Ha9qJ7jmrsvoXtXBf/v2J+Z/xGusQrOQ15tPj1NvTdXtG47W4xxtdbBYGppKpcJXvvIVpqamaG5u
5gMf+ACJxLGO3s888wwPPvggALfddhvXXHMNAPfddx9btmyhWq3y2c9+9ozX87JhidAsCs5bQnM0
ToXQzBbRHl3lOBc8ZI7exokSsV8OLOT16k6/865RFRHSmHPBlOQ5urYkVAnJYRSthKKVM4GVjNHS
k2NyKI9u6EwN5xnYMQxKoRk6gecztG+EbEsKM95K4Po88KVH+PX/5z24jofUNEr5CpoemZkFXki6
JUmqOYnQIjv9oT0jePaMfkEBoaI0UebQzmFWXNxHPBtn7OAEbctaqJYcQi/KFBrZP4ZX86kVbEIV
aUx0S8cSMapFG93UZiIngohgmDpBEKAZGvnRaZ778Xb2b+sn1ZwkkYqz/bFdUTilAMOxCbMxtFow
08MRmJbJ9GiBIAg58IsBBnYNUe2wqHXESG6ZQHqqsQ91LVD/tiy6ViUMZp/DItqkF4IXIgsOyZem
UVLQZFeImSG6oTAthRDwOxue59fWvIAdSKZqCd7+7bsA8DsTqLSOKB6r/ZBSorQok8p3g0YfSjc0
Lr5+NW9417UnfN9fzkyil5vQnArpCMNwXn+cuh4nHo+j6zpbt25l8+bNXHTRRbS3t9PS0tJIrT8d
PPzww6xevZpbb72Vhx56iIceeoi77rprzmMqlQoPPPAAn/rUpxBC8Nd//dds2LCBRCLBxRdfzPXX
X89nPvOZ017DEl69WCI0M1gIgXg5RLSLuZ16KVnX9dMeG1+MWIgTkcW6E/GJUrvt8ApM7XkMI0YY
BIQqjdQvQfpHLtCa2kecf0Nio9Bw1Btx53EdXiiEENz9+2/h0W9spjhZwnU8kpl4VE1RasZxOETM
quB4TlTGX//6i3jp8V0kMhZTQ3mkJmnpboqqPM0Jmjqa2Ll5DwIR6VxnDksYKkBxcNsAiXSC1Vdc
wCf+7kO4jketWiMIfL7w8a+gQqiVbQIvQNM1lK4oTZai6bqsFU2NCWjubCIMQpyKg0LRdWEHhZEi
uzbvjV4vCDHiJsFMCrdSKkq8jnYIgOZ0EsPSae1tYWp4mvHhPBOXZSle2x5VSAoe8YMl9MoMvRRR
uy70AzxlHNGq0PgzflrHOhhpfpQElMJ3BGOHDTr6HGaf9mnDI6ELvEAnjUMZE63qo5XnP5d9LyCV
SyClhlN1orabgFVXLOdDf/O+RsXtRO/7+VahWSiOngIEyGazdHV1sWvXLr7//e+Tz+fp7e3l+uuv
54orrjjl19i+fTu/8zu/A8DVV1/N5z//+WMIzc6dO1m9ejXJZBKA1atXs2PHDq688kpWrFhx2vv3
SmJJQ7M4OG8JzfFaTsdDPB4nHo9j2/YJbdHPFUJTD72sj2K/Uus4EerH9HixCnXRbylYiaHeiclT
SM1Ame8ibnWSMYyGJoDygxBohCoqT5s8hqvecIzzcB1CVbD4HoIqHuvweB0ctZ+mZfCmX7+BZDLJ
9/72AQZ3DRNLmBFBCBWaGbV8RvsniCVjrLpqJQCppiR3//5bePb+rVhJK2qTGTo33HMtKy9dxsi+
MbItaR795mZcZ66QUmjRGHWlUOLSN63le//wIwxD59b330i1UGNqME88aRH4IcWJyFNGNw3CUKEZ
EsPQsSsOqeYUuqkRT6eQUpBqStC+opUXH9uFZmjEUxYTh6aYHis2PguC6MKq+2C1JAiLDmqySiUV
ghS4NRe7M075irbGOeG1W1hDVagTGgUqiLQ0pmVgl+e2Ng1LJ1kJcUsedm+C2IEQY7hKEAg++4ll
fOmRXcTic2tvEkVxUscZDjCdCrn7BuaMZEfK4ZnXRpHMJhkfiCIahCZINSX5+Jd+A904ty53rzZC
Mx/i8TibNm2ivb2dyclJSqUSg4ODxOPxkz95HpRKpYaGJ5vNUi6Xj3lMoVAgl8s1fm5qaqJQKJze
DpwrWCI0i4Jz6xP+CuJ4N+66k+yJXGmP3s5iBF3C6U0XzQ5pPJtOv6eCoys0p+r0C+CJK/G4Mpr4
sQE7Iml17w1LKDTDRMqoZRCGHjFNw/PnKbMrnyT/iKAIaGgcBEI83jDnYYZhkE6nefbBX+D6DtnW
FF7NRdMlTR1NXPz6i9j+6E4qxRrTowW2P7ITTdO47TdvJNOS4pb3X88t77/+CGGYeT/b+lp44v9s
IZ62CPyAynQ1mtSR0USPr3wObh/k7377y6y6fAVSSr78x9/gPX/4DjRDw/d8jJjeqBK5tgsKfDek
GtpIKSBU+G6AlTBZeelyKoUqAH4Qohs6UtcIQ4URM5CapLgqzfTGLPEXpzGdEDVSA0JsFeLnq5Sm
ylhxA5IaCIHSItM7ocBrjWEUXKQQCCHRTR3fCwj8yJNm9sW6+6IuKoUqwZOjJJpj6OM2wlNULI3p
u3r57V9cgKEpfnPNVl7fdhjXEQzuj/GXH+mk6+DuOVGm0fGKqny6JvGDAE3TKE2Vo/3SJa19LcQS
Js898AI33HPidlP9PVqq0Jz+thOJBKtXrz7hY7/whS9QLBaP+f1b3vKWM3r9VzOWKjSLg/OW0Jys
QjM7AuB47aXjbXexKjSngtmtm3pIo67ri6bDWQzUhcn1ibDjtexORcNQ995Q6kJMHgdMpAhAX4EV
byJtRJNHs4WMgTuKYBKokz0TgxcbhEYIQSqVIhaL8b1//CG7n90X3SDTMYopicxl8PtyTI4U6FvX
zZ5nD5BsSlIYK7J/2wBPfe85rrrjUh7/9tOUJissu7iHy9548Zx91A2NntVdFMeKeK7H8L5xVBji
e0GkuwkV5akK44cmWbamF6fmsmf7ftZsupDBXcP4js/4oEKhEIio/SUluhHpZTzXpzRVpjBWJJa0
eNMH3sDYwCQHtw9SGC8x3j+BU3PItKZRWYsDt7eQfmwEDIlralByiZVCpktVstJAKKiWbNLEyB+u
UFuVIYzroEsMoWElYqgwcguOJUx8L8CzPXwv0rEoFY0jHd49jABiShAmDEY/sgIvYyAqHmRNtKqL
pik+u/Va7tzxDNvusziwI95ISp/9VaGeEaWUQo8bhNUjg9sKRTxlkW5ONtpuC8FrmdCcTfO7U9n2
Rz/60eP+LZ1OUygUyGazFAqFxkTmbGSzWfbu3dv4eXp6mlWrVp36opfwmsN5S2iOxmwvmtmtkPlC
D0+EV6LldLzWzWIKi890G6ZpntD35kw9ZRxuIySFzl5C1Yzj3QEzZWgp5RxzMU32EU5bKCKhcRj4
MGPkp+sG/b8YZHIkT8/advZtPYgRixKQd23rJwxDYpkYo7tHKZR81q7uiaahpKBaqjHeP8H+5w8y
uGuY/HAkKD68Zxin4rDp7VcCM8QuEwchyLamCUNF96pOdm3ZT2mihJACKxPD9wLcauQJ4jgOqVyC
N3/oZp74zjMM7hqmMF7EsV2ciovSNHRDYiZM/BkyA9Hk1Mi+MV56bA9v/ehtDO0eoZyvcGDbALWK
Q7VQxTdCYjs1YkLixSVBEBLkLKgGKDdAxQ1SzUk0XcOzPV4/EWNbrUC1N0l20iMxZGPGTSSQzCXp
W9/Njif2oMd0NMcj8I9MQxmmhu14VFemGH/fhXgJI+IgLRb4ikopIJUJGCvGePrhLCM7JCBPOI6t
lMKtugRhSDxp0rashfxIgdZlzdHkoalz5R0bF3QevZYJzathtHrDhg1s2bKFW2+9lS1btrBx47Hv
29q1a7nvvvuoVqOq465du3jrW9/6ci91cXFuvy2vGmif/vSnP328P57qzfzVhtlqfMOIjMPqQrNS
qXRaRlH1m+eZGuvVqysnWoNhGI1+83zrFUJgWdYZRS/UWzqnuz/1GAhN0yiVSvNuZ1GcfoUgFMvw
xWUEYk3Uj5jBbEOxWq1GtRogcNHC/Ujpohs5zKaPEU8086Mv/YRfPPYiE4MTvLR5D9VijVjcpFJz
GdgzghACmYhaNghoz6aYHi1SzlfwHJ/SVImJoTyhF5DMRnoeXRdUijYbb1jbWFPf+m4Obh/Edz3S
uSTv+qO3EUsaHN49QnNHlmxrlmqhRrLJQjc1lq3v4XV3X0WmJc3616+JCIQuqZUdlIqIy4qNvay8
tI+hvaORYZwVeSI5NRczbrDykl4OvTREa3cLgRcyOZSPNDhSwwsCtJKPb2kEQiEDhV71EF5IOm7R
e1EXzd05elZ3sP7aixi7fxfm0yNYBZ9USwK35kWxCEoxuHOYps4MgePj1ryGMDhI6pS6LIobmyld
3YbbmQApGu8fAryCisz39lQIHi4iggWQaTUjqFaQSCf40299ind+4k7KUxVae5p556fuoLmraUGn
UX0a8FSN5U4HdY3by2VIl06nz8o1XUpJIpGgUqmc8bb6+vp4+OGHefDBB6lUKtx9992YpsnAwAA/
/OEP2bBhQ8MU8Gtf+xqbN2/mtttuY+XKSL9277338vWvf51arcbmzZuxbZuLLjp1e4d0On3G+3Iq
+PuHnzqj53/sjdct0kpe3Viq0HDEc6E+aXMmF5jFrNAcT4tzdCL2idb7SlZo6pUjpRTlcvmYCaaz
7fR7IlTDN1FTVyDDCqaxgpTWwtjAGAM7B0lmk2hSEk8ECCXxnQBDCJjxYfEOl0BAx3UruPsTd7L5
3uf48ZcfJfADDNPAd332bT2IGe8hmxkBEZAwEgh1M0pEBLSpPcuv/Nk756zptg/ehFPy2P7oTgLf
56b3vY6NN6+jMFpgxYa+OefD+tevZv/Wfi65cT2e4+HUXAZeGmTH5n24tofv+HjKR2oCz/XZ+9xB
nvnRVoQpKBVKhDIEoehY0RblTQmPyawHfoh0AwJdMPmmXi7bF9BiWhSmSsRqJvf8ydv48h9+k+mx
IpXeOBNv7sUcrdE0aNA16qOckHjKojJZQRgauqkTBCFuUsPpTmAO1UgWXMK0hr0yHV2BZs4vfbJG
5okxtFqAMVxFLKzLG0FFm6mVavzLp/+dT/7Th3jn792BaZqNSb86qa0bxR1v6u+1WqE5W1jM/Ugm
k3zsYx875vfLli1j2bJljZ83bdrEpk2bjnncXXfddcxU1KsBSxqaxcF5TWiUUiSTSSzLmqOxONNt
ns2W0+xpq5N923qlHIuPFv2m0+ljtnG28pdOBVJvJ5PJAJDP5ylXyriuhzZT0RIIelZ38vp3XMPE
YJ58vsLOF/sJvRAjYXD58l5613Zzay7Jk9/ZEl3YQxWJXv2AQy8eYNQSXHRpjFveHSfOf1LlA/Ou
xTAMMpkMv/rpd1OYLqBQjB4Y52f/8TRS0xjcOcyKS/q4+s7LgMgn560fexM7N+/Frjk8+M+PMLJv
DIiylOpi3MjsTuE6Hk98Zwsb3rCGDTeto3d9F/nhAr4bpYmv7GoiNTAZRR84QSS43VlGtTdRSkQt
rKop+dKnvs7h3SMIS2P8bcsIEjqy6uNaLuNdktaByDlYCQgcH93U8RwfAoXVX0Z6IcqWZJ4co7Y8
jbcsDSi0okvLfYMINyC581jB6IIgBHpMp1ay5801qgeN1sMb63b9s0nOa7XlJKU8a691Nrd93mDp
8C0KzmtCk8vl8H2f6enpxsXuTHG2CM1CJoPO1loWiuP59My+2L2SVZnZSCaTJBIJyuVyQ3eUaUnR
fVEHI/vH0I1oUmfDjWuI52J0pdro6mnmgtXd0Y1Taugxg5aWFtLpNLmOLFMj0zgVhzAMae7KcOn1
Ncp5xU3vStO1wkQxf0k+lUphWdaRlpyIyNT2R3dgJevCZYOD2w5xyU3riSVMICI1l916MT/92hNA
1HapOxzPcfANI+dju2Sz6+l93PKr17NiQx9dF3Tyk68+jl2ONDAdF7aRHymAUHhORAjGD02iGZJ0
LoldcjmcH6FWtfGyBsrSEEqhTzkYkzZKyhkC4+FUbZyKR+dyjz/5h36UgG99oY0XtqRwHIF0FR1f
3s3oR9aBoRE7UEJ4J0tjOhZRVhUz7sgSKxk7bnup/oWlrr2YbfmfSCRoaprxCkqncV23QXTO9mTQ
y4GzaRj4cpoRLmEJJ8J5TWgKhULjgnKu+MccvZ2FmPmdTSx0f2KxGMlk8riiX8Mw8DzvrF/4wjDk
0I5hnKrDig29mHFzzt91XSeTyRCGIZOTk3PWI4TgTb9+A3uePUBpqsyqy1fQ1BG1iHRDo7mrifxI
Aafmsu/5fpLZOP/w+xXe/vHb+bU/v4f/+H+/z9jBcUKl6FvXi5UYQODM3KI9QnrmrMU0TdLpNJ7n
MTk5OY9Q+qidE8evumXaMnjbDkVtlHkeokI1E6qpmBqOWliZ5hRGTOfAtnHcmktzexOmZVCYKhJ6
EUEIVQiBYmqkgBHTo+6QUjBlI2yf9NMTxMZrBDqkfJumpiqeGyJ8QWdvyEf/+yAr19WwbUlLu8eV
15d48sEs+CFaoEhvmaB8VStBQo/E4+OnpvfSdUkimwAFzd1NrLhkGe/+o7ctiCzMZ/nf3t6O4zho
mkYmk5nTqlrMdGp47QiQXyuts1cUS4dvUXBeE5ogCBq6hHOR0GiaRi6Xw7btkyZin2w9p3vBOdn+
zB4XLxaL817sq9UqlmWRy+UQQhyTB7NYCMOQ7//dg1FLBIhnErz7v72NRDreIIaWZVEul48rlJZS
suaaC+f9220fvJGn7n2Ox/59M7mODO3LW7HLNvd98SFu/82buOl91zF6cJzBncOkmpLs217Ed0dZ
d62JNFcTaO9E9yVBEBAzLZ5/cDsTw5N0r+ngwstXHPN6q65cyWPf2MxI/ziBF7ByYx9WMkZhosSO
J/YQS5psvGEt17z1crY/soNkLkFlqoIX+NEo91GVscDzybRl6VkdBTE+/p0tFMZLhF6AFY9Rmi5z
weXLGR+YYHxgEt000E0tqtrMGr0WGghd0vTTYbSihzIkWhiS8m06+0oEgaCpRaO106OtxwUElqV4
3ZuLPPztHEgwqh4oQe7RYaz+Em5XEnO4illY+PkQT1u0r2jl97/6W+Q6ji/6VUo1/i0Etm3PEQXX
21RHp1PPblWdDlF/rRCaszkOfr5gSUOzODivCc1svNztmROhnogtpWR6evplmbg4HdT1PNVqdV6C
UG8v1ceO4cgU2OzQO9/35/rEnOb+Du4c5vDuEeKpqE0TeD6b//Pn3PGbt5DJZHBdd95KyEKhmzqv
u/sq9jx7AN2YmZATkB8p8MA/PYLUBIEXsvziHrY/thMlNXouvpwXfi5Q5kpufm+KZMpECMG3/upe
pkamkJqkf8dgNCVk6kyNTLPykj7al7XSsaKVWsWOKnXA5HCe5x7cxvZHdkZiWy/gwC8GePvv3s6v
fPpu/vF3v4rb7jLWP45TdQmCMNKzhAoVqEgs7Lq09jZHaw8VoRcFcAZBQDhjupdty4CQBJ5PMOMj
g+RIKysAkjrWwTLCDRC6QAYBxUCwmwS9F9T4yP89RK7NJ54MCQKF72pccm0ZKRVP3N/EbEcZ62CF
+MFTm5AREnpWd3L1nZedkMwAjUrnbByP5Mx34z+aeM+2Aai3qurTSrNJzkn34TWioVmq0CwClg7f
omCJ0Mxgtg/NmeJ0qyKzE7FrtRqxWOyMyczZqNDU3ZODIFiw0+/s3x9d5q8TnFgs1jDSmk1wFlrF
ce2jxtalQJc66XSaYrG4KO06KSXpliSV6SpSSgI/oFqo0bGyFSEERgymRqbJtGZINycbzzu0ewiI
jufQwDDDB0dIphNITdLcmuORf3uSZFMSTZO8+NgubnzvdQgBUgjK+QooRbVY47ufe4A1116IlBKp
SaZHC+x+dj/Z1gx3fuhmtv7kRarlKq7tYVkx7LKNmknyTmYTjOwb53/+6he58d2vo2tFB2P9E/i+
H4WYJmIIYMUlfUyPFhk9MM70WBHNkGiaNvf4VvwGJZESCEFYilQm4L98apzO5Q4oQRCAbsDIgMb0
hMnn/2tvYxOnfQ0X0NyT4/bfvJlNbz/1vCA4luTMbvGe7LMy3zmsaVpjoqoe3Fgn6sdrVb1WNDRL
FZozx1KFZnFwXhOao0vyi1WhOR0SMVuDks/nGx4yi7WWxcBCwzlP9eJ2om/AlmXNuTmcqMS/bF03
qaYEnuOjGzoqhCtu38jk5OSp7+wJcMeHb+Hhr/yMSrFGS0+OvnXd2LOcaHVdR9OOHHMhBE0tTUd0
O4SEKsT1PPDAdz3GDk2wujOLlJJYPMbepw9yy/uuZ+JwvuGXFAYBTtXBqbjE09G5MTmU5/FvPk26
OYlmaNz5W7fy3j99Jz/84kO8+MQeRvaOUylUiadjoKJpp8O7R9j/i35s22bDTWtJNMUZ65+kZ3UH
1739KnpWd/Ljf/kZ8bTF3p8fJD9SOCZzCmbJdzWQIqTvQpv2XpeV623MGIAiDKBSknzybauxq6ef
wjwbqVyS9//5u7jq9ksWZXsQ6Zmy2Sy2bc9pQy+0VRUEwTHGlrPP4Xqr6rU4UbVUoVnCuYLzmtDM
xtkgNAtBvb0EHKNBOZc0PScT/S7m9NLpVnHMuMk9f/wOnv/RC/huwNrXryLdljzey5w2ktkEd33i
9sbPI/vHeOI7W4glTTzHp7W3mUvfeDHP/OB5pJCkckk23X15I2jPSsRYe+0qXnpiNyAQElqXtRD4
AQEBHh6yIki2xOlZ1cmB7YcQQpLOZVi5MYdCEfohru3gVF3alrU03uOtD7/ITb9yHZvefhWXvnED
//GX349GuysumiYxTB2pS/wgqsoYps77//yXefTrmzm8Z4Snf/A8F16+nGqhilNxGTs4ju9585ZT
GmeVB1Y6wKlJ3v7BSTTtyINdR/CNz3VQtTWOrn+ezlnZvqKVP/nO79LcnTv5gxeI+pTZ0VW8U2lV
zYf6eVk3nJtN1FOpFJqm0dLSMofknC2TvbOtoVksofR5iyU+uCg4rwnN2fqAL5RE1BOx59OgHLMN
5WKqHyHVNK64llCuWexlz4t6dSAej1MoFOZtgb0cnjLzVXHqI7f1Kk69bdj2gVbK5fLLVgbvvKCd
G997HQe2DZDIxFm7aRXJVJJrbr2CqfFphBFNDM3GVXdcyoWXL6ecr9C2rJUnvv0MB7YfwowZeI7H
pndcgeu63PobN/DQlx/DsAwEgqb2LG/+4M3s3zqAYRg8/9PtxCyDIAgJg4DSZIlv/cW92BWHsf4J
0m0pmnuamR6ejoz/LJ21m6LcmyicUuep7/6cXc9EeVXVYo3v/s8fcsXtlzByYIxQqWOnreYgirm2
EiEqBMMM8WfepsKUxmc+vJy9L8XnpmOfJgzL4FNf/AgXXnzBHCJ7uu9zfeItCIIFa6vma1XNnpQ8
EY4m6p2dneTzeXRdb+hxNE3D9/05JGcxNHRnu0Kz1HI6QywRmkXBeU1ojsaZ6k2O3s7xMDsRO5/P
n/z1VEAi/AJCDSPQ0NUL1PgVAnnZGa/lRKgTLqUUxWLxmIvWK+kpE4Yhtm1j23bjxqSUwrbtxjdf
pdRpaXFOB629zbT2NiOlJJPJNKa+NEtwvFpErrOJXGckaL3lV69n1zP7mDqc54LLltN5QTsAvau7
uOMjt7B7y34SmQSX3rIeaQhWXbscgL0vHKA8USKWsPB8RW3awUpZxKwYE4cm2bflIB3L28g2p6gU
q7T05ZCaxK44pJuTbLxpPfd94SGMWOTBpEKF5/k4VYdkqkxzm4+u+VRLEt89usZSTxFXFKZ0Mqsc
nnoow8r1NkrB1z/XwcSwgXMarSapy0ZkQvQi0L2qnd5LuiiXyw0iW7eon/0e+75/0s9UIpEgmUxS
KpXOKBrkTKo49WgTz/MarSohRKMaaVkWmUxmzmRgfXz8VK9RZ1PnstRyOnOcG+Mor34sEZpZONuE
ZvaIc6lUOmmZtiFUVONIdQjEEZM1Uz1BjbNDaOoTSHXTwXpe1GycC06/ELUL4vH4vDemeg7V7CrO
0QRnMS/y8XicVCpFpVJpmLctFEII1l47f2Jwx4o2Ola0zfnd7mf38+JjuwhDRSqXwErGuHDVcl58
bCeVQo3ACzFjUcClAvSYQbY1w8pLlrPq8hUYMYO1my7EiBmkm1OMDUygGzqaoWHEDBLm86zZuJ/u
ngCUom+tzbf+VweTI0d8fbysjrM8SWpvERmETAyZPPjvrQwfjHHtbUV2bU0wOhibyQNfwDGQkGxK
YMZNlq/vYXjfGLVy5Dyc62pi3Uxl6Xiaq4VMzkkpG+fz0T5Ei4X5qjj1/y7EG6dOWma3qurVyPr+
hWE4xxvnZGR9SRS8hPMB5zWhmU8HcrZ0K8dLxF7IdhQ6s8dcUQolFjaRdSr7NFv0OzsjavY2zhWn
33pUgO/7x70xHW1/L4RA13UMwyAejzeqOrPFxqejBaibsAFMTU2dtEWw7/mDjOwbo3ddN8sv7j3h
Y4HGvtXFqoO7hnnsG09hxqPwyenRAr/0B3fS1J5l7OA4z/5/P0XTJL7no+kSoYFh6LT2NrP3mYNU
J6ogJaZpRF46FYf80DQKRduyVt71e5dTPPQthvcrtj+VxEqG7NmeYO0VFZ64PyI0TqfF+LtWouIa
2jcPEI5UoQaVouSxe3M8dm+uUUVf6CfKsAwyrWlynU2898/eyQP//CiFsWKU8u34rD4O4ZtPc1V/
n+vVUCmj0XRd16nVapTL5ZdVkDv7v/X1LfQL1Oxq5Ozn10lOMpk8aatqSRR8jmPp8C0KzmtCczTO
BqH5/9t78zApynPv/1tL793TPRvMIAwwMMM2hk0QDC4o4oYGxbjEaPBEzitJzGU0nnC9MceLnPgz
yVFPcozKzxWRuJOcF16MCm7RGIQATkaWkUUGBgaYnplepvfuqveP5imqe6p7qrurq3vg+VwXCwzR
swAAIABJREFUl85ML0/1Us9d9/29v3d6tkN1MCCKEMMfw5T4ElFhIuLMueDFLwCwEBkToswi1evJ
xek3HA6jr69vwN9JdqPUJy5iTW80GnNuxZYHLySDIs/iEGfYXLI4pHQhH6GQ7fk3Pv0+9vztK7iG
O7H7b1/hvGumYfqCloy3//Strfhq6wEAQPOscZj37dnYv/1rGMwG6fUAgI62ThhmGPDpm9sQ8ocR
i8QwvLEW9eOHw1phAQAc/aoLNQ01AA+wLINP39yKmpHVcFTacd4V0+H39OPciycg4P4SXrcAbzcD
hysBlgUEEWjbYj/1JgCCiYd9Rw8C84aBEUSIDIN4jEnR2+TyTWJYBnOvPw+T5jSh5eKJcNVW4NZf
LMaHL3+KgDeE8TPGYtqCKaofLx6PIx6PIxQKgWEYVFRUwGAwIBQKgeM41NTUSN4x8lKVHthsNlgs
Fvh8vhSriFwEx+T4CKRURbqqSIBNghuO44pWcqUZmsKhbdvaQAMaGaKYecJ1Po/jcDhUTcRWwiS+
Dia8A7wAcOI2RJnLEWLvAos+xDEFIpvdTEy+lmzIu6wyiX6J0y8JzLQwwcsH4tQaiUQKMsiTo5TF
IQFOehZH7iciH6GgJisDAO+v+RQfv/IZGJZBz9E+jJ3agF2ftGcMaA5+0YFdn7TDZDUBAHb97SvU
Nw2Hq7YCX3TtQveRHoiCCJPNhEV3L8SHL/8d4WD4VABjQcgXhrPGgXMvnohxM8Zi8+q/IuANQRST
x+3t9aHr6xPgDByERHJK9slD3XBUWeGwViES6QaQnAUligyiYRbJxCADNpqA6XA/gj0uxKpMYOIi
2K5Q3lqAMS0j8f3f3pry/TNbTbjqf12W5yMmMRqNqKioQDgchtfrTfmbPJgl3jHFLEmScpcoiujt
7R3w2FqVquTPR7xxiNMx0e6pLVWpgWZoNIC+fJpwVgc06V9CQRA0ydAQk61gMDjoROwMC4NBaAU4
A8AkABjAYxui7NXINXzIlnXK1mVF7isIQkqZjKS6CzXBywUitOU4Dl6vt6jiXqWNQWnjA4BoNIpQ
KKTqZO5z+3Fg5yFwBg4MmxyoePzrkxg/Y2zG+5z42g3edHpgKm/kceLASUy9bArWPfY2ouFY0oyR
43Dy0El4ejywOa3oPe4By7Lo6fKA5Rm0/bUdf1+/A71H+3D8627wBg4mmxFBbxjgRHAMh3gsAbvL
Cle9C11fn8DkC+YiEv0Mfq8fBgPg87CIhDjwRh5CQoDxeAgJIwvH309A4FiIjCwjc2rStxo4AwtX
nQtLf32zZsaWBIfDAZPJlDGTl60kWYjgWAnyeLnoq5RKVblkceSlKoPBAL/fD0EQpACHlKrkJdd8
LlLotG0NoC+fJpzVAU06hZacyERsAIhEIqq1MoprYVI/48wAFw+Vj5PB6ZdkWzJ1WWUS/aanupVM
8LS8yiVC22AwCI/Hk/fjFALZ+OLxOIxGoxTI8DwvZXEGK18k4gkwAKrqnHAf6wPDsohF4mi5MHP7
fcOUEfjnR7vBncrQxCNxNEwZCU+3D3Vja2G1J52GRYg4tPsIakdVI+AJQmSAkwe7YTByaJ41Dke/
Oo6jX3Uh5A8jGolBiCUgislJ1QYjj0RCgMHIIx4XMGbyOdjz9/2IxViM+sbF8P/tK4TDMQwb68Cw
sQz2b/8asUgcDAA2IsDcGYRg5WHskn3WVZ6cGZbBiOZ6WB1m7P37fsV5VvnA8zycTqekr1K72cpL
koRCR3WQEqnBYEBfX1/BZa18u6pIFoV8f+UTx+VjHAyGZACd7o2jJkNEoZQaGtDIyDegSXfQJSeJ
vGEYxJgLYBD/CgbJwCLKXpzXQ8nLaAzDwG63Zy2D5dq9lM0ET16ykae41ZzUcxXaFhtiviYfbJlu
fS/fGIjZGDlm13Anqs+pAm/kYamwwNfTj0tv/yamXpZZFzJywghccP15aPt4LyCKmHF5C0ZNGoFI
fxS2CltSLBuLIh6Jo7LehTnfmon3X/oEWzbsQDyegNFsxLH9J+Dr6Uc0FEU4FIEYl7ljC0mPGZ7n
wPEsnLV28CYD6hqHJZ2qbSbc/L+/hcnfbAYAbFy1Gft3fi1lYFgArDcG5DBQUo4oimAZBkJcQN24
YXk9RjpatWMT1AqO04N4URQlXRaZIVYs1HjjZCoLZctIknKdfOJ4unheq3JTIBDASy+9hN7eXlRV
VWHp0qWwWq0Dbrd161a89957AICFCxdi9uzZiEajWL16NdxuN1iWxZQpU3DttdcWvCY9oRoabaAB
jYx8Ahqz2Qyr1ZoipjUajQWXrqLstTCZv4FE9CuE4+MhsJlLE7muU6kMpmX3UjbhrXyzlwc58pOi
zWaD1WpVJbQtNundVJlO3mq0OHf+8jv4+K3P4HP70DRrLEY01w36/N+YPxnfmD9ZekyHwwFDtQFz
b5iJv63bhkRcwIjmOsxdPBMcz8FeaUXdmFrUNw7D162HcWzfccQiMYRDETBiWvJETA7w5O1mxMJx
eLv9+PTNz1HbUIXaUVUQBRFjpzbgkzc+x8ev/R3tWw9ATGh35mVZBj3H+jDnupmYsfDcAh+r+O3Y
BLngGEh9r+VZDiA5uVvvz3B6gJMcxcGpDjzSP8vA6YsUeanqj3/8I+LxOCZMmACXywWXS52uT4n3
338fzc3NWLBgATZv3ozNmzfjuuuuS7lNIBDAu+++i/vuuw8Mw+Cxxx5DS0sLeJ7H/Pnz0dTUhHg8
jqeeegq7d+/G5MmT816P7tCARhPO+oAmvSVZbR2f53nYbElb/XQxrSbdUmIciLeBFbvAQYQgjgHy
zB6RIZelcvrNttmTDYBM5SZzm4q9KQ0GyWaZTCb4/f6UK3Q1ZLryvWDxedKxDxbYySFXy5FIBL29
vZhw/jg0z24c8Jn1uvvBG5Nf69rR1Ti48zAqqu0QRaC/t3+gvoUBeJ5F/bgRqKh2oLvDjbA/ikRM
gCgC/+f37+Lwrk60bzmg6WeEM3JomHQOqkdUYlhDVUHfl3z0KVoif6/lgVUkEpEyjaStuliC40xY
rVZYrVb4fD4Ap52/cxEcAwMvUhiGweTJk9He3o6PPvoI+/btA8/zGDNmDG644QZF76pstLW14Uc/
+hEAYNasWfjDH/4wIKDZu3cvmpubpfNuc3Mz9uzZg5kzZ6KpqQlA8rw8cuTIAQLwcodmaLThrA9o
5KgJROQTsQOBgOJGp0VAYxGeBRvbD8AAk7ALLOtBhLkpp8cgol8SzCitsxRBQ/pmTzIPJpMJ8Xhc
cvpN94fRq05PggdSKtDqedMHGMoDO0Zg8dkb/0DAF8Q5TfWYvrAF8XgciURC0mCkC6LTr8SD/hBG
jB+OQ21HYLIY0d8TgLPWgW/Mn4zDuztx6MtOmG1GeI57ISREcEYeFdV2eE764DnuRTQYBcMyEBmg
76QHxw+dRO8xD+KJhHavPQMwYGA08qgbUwtRBGrqalBZWZnzZk/asTmO00SfUijZAis1gmMtxe5E
SM8wTMaOKvl/gdzGOIiiiPr6eowePRoOhwNutxs9PT04evQoTCZTzuv1+/1SEOR0OqW5Z3K8Xi8q
K0/P8HK5XAPOa8FgELt27cJFF12U8xpKCg1oNOGsD2jSMzTZApH0idiZvvQFBzRiHJz4NQBD8oqa
MYAT96q+OxEwxmIx9Pf3K07tLhenX3krttvtltY0mBgz08TtQijE4yYfSGAXDofx1m82ItwfBmfg
0Lm/C4l4Apfc9E3J4yMcDksBjJIh5Gd/2ob9Ow4hGoqB59mke7DdjJqGKoiCgHHTx4BhAJbjwDIs
wAD2KjtOft0Nw6nOpaAvBI7nYDAbcGRPFxiIMFqNcB/r1eaAGWDY6BqICQFGiyk5imFEJaZdOQWB
QCCj4aHSZp+tHVtv1Ah/iyE4zgR5bUKhkOQ2rPY4chUck88jwzCoqalBTU1Nxsd/6qmnpEyRnGuu
uUb1GpWen5BIJLBmzRpceOGFWddBOXM56wMaOZlKTtkmYmd6nJwDGjEOk/gGOPEIRFghIoEUd2AM
Pg+HZVnYbLYU0W+6OLlcAhm5T49SK3a+E7fzpRgeN2oJ+cLw9/bDZDFCFETwRg4duzuTLsCnOruI
IywZwrnzwza0fvQlvD0+NM4Ygz2f7cPh3UcRi8QhQsS5F08CWGDPp/vAGVmMGF+HC5bMxrwls9DZ
fgzP/fRVdB9yIxyIYNjoGhhMBvR7AnBU2lBZ78SRPceSi+M42CqsiAaiiEWIEDTZISUk0kU5yjAs
A97AoaahChfdNAeN00bDUW1DIiZg5IR6GEyGrK3y6d1zPM9n/NzoTSHC30IEx5kg4nWtXpvBvHFy
adn+wQ9+kPFvDocDXq8XTqcTXq9X+n7LcTqd2L9/v/Szx+PB+PGn3aNff/111NbW4pJLLlG1nnKC
lpy0gQY0MpR8aAbzalEiL3Gx8AZ48XOAMQFiN4AwRAFg2BggmhBhv5X9/hlEv3J79XJx8yQp91Ao
lNPVtdIVbvrE7VxbxgcLrPTAYDaAZZOfF5ZjYeQNMJh49Pb2SpuFfLbPvn98jQ/XfobuDjc4nsOe
v+1HPC7AYjXCaDZCEBL49M3PYbIYEYvG0O+JIdTfgSu+n+yUO/bVCUSDEcTjcQiCAH9PP8bPHAN7
pRXzv3sB/u+TH+DEIXeyk4ljYKmwomZUFXzdfiQSCVgrrBAFEX0n1L13JqsRvJHH2HMbsOiHl6v6
bigJU4m5I5DcaJ1OZ9E9kLJBHH/z0VhlQo3gWMkigOM4OJ1OCIJQ1IBcXqoiOjMtOhBbWlqwbds2
LFiwANu2bcO55w4UiU+cOBEbN26Uynnt7e1YtCjpmL5x40aEw2HccsstBa+lJNCARhPO+oBG/sWX
ByI5T8ROe8xcAxoWHclgBkhO6RMtiJp+AgMfQSBUBZFR7iAYzOlXEASwLIuqqqqCZxYVChFIMgyj
ieYhfcYN0SkYjUZV/jBkgyx12cJoNmD2NdOx470vEY8LYJg4zr9+esbP3OHdneg91pPMkogCOAML
T7cXZmsVWJaDkBCRiAmIIIZwMAKIDML9Ebzx6w0w2c3YuGoz3Ef7kIgnEI8l4HH78M8P98BkN6Hz
F2+h99jp10JIiAj5gogEI6deXxaxcAy1DVXw9fiRiA0eJIuCiJZ5E3DXo9/JuxRLOt98Pp8UPCgF
tHo4WQ/m+KslmcTl5LjlRo+xWEwa9VDsDKPBYIDT6UQoFFIsI+XKggULsHr1amzZsgWVlZVYunQp
AODw4cP47LPPcMstt8Bms2HhwoV4/PHHAQBXXHEFbDYbPB4PNm3ahGHDhuHRRx8FAFx44YWYO3du
wevSDRrQaAIjZvnkHzt2TM+1lASO4yTlP8MwqKysRDweB8uy6O/vz3vTra6uzikFbUn8HpzYKXUy
ieAQM/8GJrMto9swyR5lEyfLBxuSk6DBYEjpulBrnlUIxB9E704UuaeGvLOIlBZ9Pl9JsjL9fQEc
bO2AzWnFhFnj4XK50Of2wH28B44qm9SppMQnb36OT17/XPo5Ho2DNbBJ/YyBg73Khs69XfC7/YhF
E0ntDJssO826eio+fPUzeLt9iEXjEIVk2Yhhk74zIX+WLCQD8AbulLAXYHkOkUBmnRHDAtYKC+yV
dvz2rw+C4wcvm6ZDgmBRFOHz+QYNHsjnWxJbM8yAsRWFfM5L3VGVDplRFQgEUr7jg2mQCoF0Tnk8
Hs0yU+XGiBEjdH2+Gf/rvwq6/47//ycarWRoc9ZnaORYLBbpBFiod4S81KOGMHM7rHgCjOiDyBgQ
YZaAAad4Rasme5SulVHKZmRKZedrga6EfOZRKVqx00sXxHmYBKoulwuCIKS0ThfbxK/naC82PLk5
GRQwHLr2nMQld1yABOKorBu83XXW1dOwd8t+HN51FLyBg6vOifOvnQGTxYAje7tgsZswcc54bHrh
r+g74QXLsaiocQAswBsNGDGuDr3H+lI7uEUgFh0keBeBePTUa8MAbEzIOOaA4RgYTQZwBh7WCjOC
vhAcVQN1Edkg71UufkTFEt5q7fhbKMQNORaLpZQmSZBVjOwVKfMxDIPu7u6yKWGfCVANjTac9QEN
cfSUb3JaGGHlGtCIbBUC4oNg4IcIK8AYwaeVrpREv0rPq+ZEo5TKlgsS7Xb7gKvbXK/ylNx1S4W8
3JXuPKz1cQ/GtrdbYbIYYT7lD9S+cz8mz29GVb06YzKzzYR/+c0t2Lf9a3Qf7sE5E+ox9txRYBgG
0y9Pag+EhACT1Yz3nvsQ4UAEBrMB9eOGY+6NMxAOhrB36z5pFhQReCZiyhscwzLJTI4cERDSPtsM
y4Djk5kvUQSsLiuq6ysxfGwNLA6L6teHtByzLFuwS3Q24S0Rl5P3O5PwVi/HX7WQQC+bG3L6BQww
UFQ/2HHLISWmvOfTUbJDAxpNOOsDGqKjIAFCVVWVJjXovDqdGA4iTm9q8sfQw+k3XZAov7olwlk1
oluj0QiHw4FYLKZ7x5ASg5W7sh13+lU9CXLyfa2TRodmmIwhRCJRCEICopAMQHKB4zlMPH88Jp4/
XvHvLMfistu/iYtvPh+d7ccgCIDFbsafH3sHB3YeAm/gk1qbeBziqacWT51VGRbS7wAMDGYGWZe1
woJhY2pQVV8Jk8WAhf9ycbJUpQLSbRYOhxW9SLQg2/st7ySLxWJSJlNL4W++yH138gn0smWv0o87
EAjg6NGjqK2tRUVFBSwWyxldYio1TBl0np4JnPUBTSgUSkkf55pZyYQW5nrkMYjhlN5Ov2rmNKWL
bq1Wq24+LoOR7zyobMetZIqmVmRN/EFmXN6CP/3+bRhNPOLxBGpGVaFqRP628dngjTzGnNsAQRCw
6scvI9wfRsgfhs1pgSiKsNjNCAfCiMcSEBPJEpKYR6zGMADHs6isd+Lim+di0Y8uP/V7dd8BuTOz
3t1mSu83CcrJuaCioiKn9mmtIRkSLQXs2bJXfX190nyk0aNHY+TIkRg9ejTGjRun2FJNKRAaz2jC
WR/QpEO8FQrNdhQa0DAMA4vFApZlEQwGBxX96kW6BTrpuJBv9NFoVPK/0fvET9B6HlT61a3cJ0XJ
2j4ajaYMBiSGfV6vF856Bxb9cAH2/n0/rE4Lpl46RfXIjVwRRRFfvL8Lm1/8Kw592Qmj2YBoOAaL
3QxREGFzWRGLxhELx07dPr/nGTd9DOrHDcd3f7kENtfAoYLZIK9huWT0TCYTKioqUjJ6atuniwFp
D9fjIoFkr6qrq/Hoo4/C7XZj9+7d6OjowNatW9He3o6bbsrNsZxC0Qsa0KSh5EWTD4UENHLRryiK
isFMuRjkiaIIk8mUok0hYkQygVyrco0a9BIhqxlGSeZTGQyGAYZ9taOqUTuquihrk/Pxq3/HX1/b
gn5vENFwDDgVsMciyQBGSAgwWnhEAvkH8XXjajH/O/Ow8HsXw+FKZjXk+qNs2ZZieLnkSzbhbzbN
WfrQVaWgNh/kc6GK3R4uh7wnHo8HiUQCEyZMwIQJE3R57rMVKgrWhrM+oFGykS9VQENEvxzHSZqe
6urUTa+cDPIyaVOylWvktvbyVlotKKUIWWk+VUVFBYxGo+TYXFNTo2vZQhRFHPyiAyIAjmNRVeeC
r8cPo4XH2G80oGn2WLRvOYAj7V0IesMwcgaEAzkEFQww6YLx+Plb9wIAIvEIIu6IqrEVpJQqCIKu
m3Um8hH+ZjPBU+ODlI18xxcUAhFjA6BdTHpDAxpNOOsDmnRKFdAQ0W8oFMrYRVDsdmK1kCwIMRYb
bF3ZyjXyK1s1U6eVIJtRPB4vi81RPhlbPp+KbHgkA8fzPBKJRJGN4Bi4hlXguD8C3sCiss6F5lmN
uOUX34LZasL8276Jret34OVfrEM4qD4IdA2rQNPsRly+dOAQwMHGVhBtCnnPOY4r6XumVZYokwme
PMhRM3Vb6/EFaiCfWdrFVBpohkYbaECTht4BDc/zsNvtEAQBHo9nwMlNFEVYLBZpGGOpy0xaaFOy
lWty3ejJlO5yKllkEkVnK1vIW2nVlmsGg2VZnH/1TGx7eyciwQh6j3tQUe3A+JmjwZ8yufOc8OF/
/vtdWF0WVQENZ2AxatII3PXobaiqdyX9bVRA3kOj0YhEIgG/3y95paT7pOhRmgT0cfxVU5okGct4
PA6z2Yx4PK6rlogEdH19fSUX8p+10IBGE2hAk4ZeAQ3DMLBarTCZTFmdfj0ejzTlW289ihx5FkRr
bYp8oyfp9fSNHkgdREmCh3IRksqzMrmsR02rfHr2Ss1rT9Zz/qLpqBrlxKG2w9j2dit4I48v3t+N
w7uO4ab/fR22v9OKRCyB/r6gqu4mg8mA866ehjHnjlJ1fASSmUkvoajtJNPaD0hJ+KsHmbI4pHwr
CAJMJhNcLteg9giFIg/oaImJciZAAxqkBh9aBjSZOldycfolNXiC0tWdfLPTutNC3k6rZxZEaaOX
i40ZhkEikYAgCDAajQULMPNlsKxMrgzWMj6YBkkubCUli/pxw/DlX/fCZDVKn0n3sV583dqBqjrX
KQfgzJ8blmMgnhpUOXxMDRbeebHq41FaTyaUfFIKHT6abT3l4PjLMIx0sdLb2yutp9jBHQl4A4FA
0fx+KOqhJSdtoAFNGtkCkVwfJz0wYlkWdrsdLMvC7/cPOJkyDANBELKepDO1Tcv1KHLxZSEnPnJV
nWvWoRiQ18VkMiEcDiMQCEhZHCUBZjQaLbrmKN+sTK5k0yDJdRmkpBOJRFLs8IFT3Xs4/XlkwEBI
iJh97XRsWb8Dre/vAlgAaR+9quFO1I6pQSyanMz9L7++BdYKda6/xDtFaT1qyOZ2mx7cqdnoybiA
cnH8lY8vSF+PmuAu31EGRKNDS0xlBA1oNIEGNGkUK6CxWCywWCwIhUIZtSf5XC0mEomUx8zUYZJL
yYJlWancobfJmRKZrvLVtNHKAzutjkPrrEyuKOkyKioqYDo1SsFsNkvdVeT4Zy+ahkOtR5JZv4QA
Z60DjdMawPEc7nnmX/DCA6/iwBeHEY/G0HfcC+cwJ5bcfxX6vUHs/Ww/GJbB7EXT0DhttKo1kk1T
66xetuAuWxannNrDgdMdgvLp4dnIZZRBpkGctMRUvtAMjTac9dO2geRGSIIYctXr8/kKekzyOMFg
UBL99vf3K55Eii32JSc+coWXLZNB5sQEg0Hd2kWzUYgVvjy4I//y0aPIkWdl+vv7S67dkZvS+f1+
aT3y4I5MGd/3xQG8+v/9DxhGxOKfXIW6ccOkx4mGovjkza0IeAJonDYaLRdNzGs9HMdJ7dher1f3
14dhmJTZXGTitiAICIVCiEQiJS0zkXZ1lmUzOn/ni9LnfceOHdi6dSsaGxsxefJkqcxEyY7e07bn
fPfxgu6/Ze19Gq1kaEMDGqQGNDzPw2azFWwvTjIkABAIBBSv4kvlKSPf7IxGo3Rlx3EcRFHU/ESb
D+lZIq02ofTgTq0GSa4lKoexDsDg7caiKOKDNZ/iYOthJGIJ9Hb1IRqKIREXUDnMiR89eReqRjil
0kWh73k+07GLCRH+BoNByeDQYDCoap0uBvLxBXrpVgKBAL788kscPHgQe/fuRTgcxujRo3HBBRfg
3HPP1WUNQxHdA5rbHivo/lv+eL9GKxna0JJTGlqIgsnUZgCDin5LQbrg1m63w2KxIBaLgWVZVFdX
p5zs9RbcEiFkMBjUbG4NQUmDRAKcdA0S+UeyIOWgJQJO+wAlEoms7cY7N32JPX/fD4OZh/toD75u
PQKz3YRIMIqO3Z34ybwHMe3SKbj+3msw8bwmAPkJT4khm9Ik81KQSfg7WOt0McX1eo4vILAsi5Ej
R2LEiBGSJYTX60VHRwdsNpsua6Cog5actIEGNEh1Cy4koJGLfvv7+2Gz2VIeW43oV0/IRp1IJFJa
sbM5npKTfjE2LbIxsiyrWwdKJp8Q0olGZlJFIhGpXbyUAQ3RXvj9/kHdkI8fPAmDOfkVTyREJBIC
gt4QEnEBoigg6Avh6IETeP23/wfLn7gDvOF0qUZtV5E8C1IOpQy58DeTEDkfA7x8g3o9vG6UyNTF
5HQ68Y1vfEOXNVBygAY0mkADmjTyDWjSRb8Mwwx4nFK3iBIGa8VWYwAH5D5tOhukXKG3L0g65NiB
ZKYoFAohHA4X9djVQCaHi6Ko2gdoxLjhOPjFYRjMPCqHVaCDZZGIJ059xlnwBh4BTxDOWgfCgQis
Feyg09XJ6xOPx2EwGMDzfFm0PwOFOf6qnc0lD+4GO2ai/woGg7p+pokgu7e3t+SCfoo6mPK4xh3y
0IAGhWVoMjn9yh+nHBx+CeTKjbSuFmIAR3Qo8mnTuY4vIBs1gLIpVyhpZTJ11hRy7GrJV5sydcEU
9B734MAXHbBX2jFr0VR8sXmXNKTSZDWC41lYKyywOMyKj6FUojObzSklC4fDUbRjV0Mxhjhmy+LI
y5PpRpfk2ImDtZ5dgizLwuVyIZFI4OTJk2VzzqFQ9IIGNHkiN8TKJPoVBEHymdDb2Tcd0trL87xm
BnDyNtLBxheQ0Q1ySPmkXESkan1lsl3NW61WqZNMvsnnE6gVqk1hGAaX3j4Pl94+D0Byk37n2Q/x
j3da4T3hA8OymHD+OHzrx1eoDuItFos0Z4gMmVQ6dr38gPR0/FXzvpMLmUQioWswQ7JB/f39upX+
9uzZgz/96U8QRRFz5szBggULUv4ej8exdu1adHZ2wmq14nvf+x6qq6vR0dGB119/XbrdlVdeSctg
NPbUBNrlhOTGwfOnY7uqqirFuUoEMoogEokgGAxmFf3KWyiNRqPu5m9AsnRit9t17a4AktkrksUh
WhSyuZPXwufzlVxTVIwOJqXW4VxmNBFhdDE26lB/GJFgFBXVdrCcOs8luRDZ5/NlvfpXahlPL9EV
mj1I9yYqh5IXec9IuSv92IuVwSLZID1LTIIg4OGHH8by5cvhcrnw+OOP44477kBdXZ3uI73qAAAg
AElEQVR0m08//RTHjh3DTTfdhB07duCf//wnli5dKg0k5TgOXq8X//mf/4mVK1eC4zhd1q4Gvbuc
vvntwrqc/vYm7XICaIYGAAacYARBULxilYt+fT6fKqdfJSOwdGdfrYYRpsNxHBwOB1iWhcfj0f2k
T8pU8vXY7XZYrVYIgiCVm4p5sh+MYrn9ZprRlElwS0SnegijLXYzLHblEpMSuQiRgezzqex2u6rs
XTbkDrv5OBBrDcl+chw3IJM2WAarkI4q4vlTihJTR0cHampqUFNTAwCYPn062traUgKatrY2XHnl
lQCAqVOnYt26dRBFEUajUbpNOQSiZQEtD2oCDWgUUNLRqHH6TSQSg55UMjn7ko1OKz0G2YRKLbIl
kE0okUjA7XZLQWN6R5Fewzf19pVJn9FEDOCMRmOK4JZkcvL1AvJ2+/CXZz5EPBpHXeMwzL/tAnB8
fle+cm1KIQNJs82nyjR8NFNgX26Ov/KuKiWLgWwCe6VxJWq/86UoMcnxer2orKyUfna5XOjo6Mh4
G6K9CgQCsNvtOHToEF577TX09vbiu9/9blllZ0oBbdvWBhrQKCAPaDKJftNvr9XJPpsWRc0mT0oD
giCUhcgWON110d/fn3KFr3SyV5rVo7U/SL7CaC2RzyCS65tCoRA4joPL5cp5Llfbx3vx5PIXEA1F
wfIcRk0cgWgwiquXX5bz+opZ8gJyH0SZSCSkIY16tj9nI9fxBYT0DJbSdz5baZqM3Si3LiY1Oixy
mzFjxmDFihU4fvw4XnnlFUyaNEkqS1Mo+UIDGgwsOZHUP5mFpKfTr3yTJ1de6Zt8ppNdpsChVJAu
oHg8rjpwUCrRZTK+y3X4Zjm6/ZLgKhwOD7jCzzSXK1Nw+9rD/4NYJA6W4yAIAjrbu3DOhPqc1iMP
rvRsx842q4hs8qIoIhKJwGQyFcX8Ti1ysXYhmSuC0nc+PYvzH//xH+B5Hk1NTWhsbER1dTUsFnVD
QouB0+lEX1+f9LPH45G6FdNvQzqvwuEwrFZrym3q6upgNBrR1dWFhoYGXdZeltAMjSbQgEYB0sEU
iUTg8XhK7vSrRocDQBJslnqjHsznJheUOkvIsecyfLMcsjJy5K9Rpm6YbKWa9AxWNBpFLBwHwzKA
CLAMCyEhgOXUWxBkC65KQTweh8Vikbq8iMg+m6tzsd9X8hqFQqGilnrSszjLli3DsWPHsGvXLvz5
z3/GkSNHUFVVhWXLlqG6urpo68hEQ0MD3G43enp64HQ6sXPnTtx+++0pt2lpacG2bdswduxYtLa2
oqmpSQoCXS6XpDk6efIkqqqqdD+GcoKWnLSBBjQySFaG53mEw2HFVHup5i/JITqccDgspZ9DoZC0
/mL7omSj2IEDuUrPZv6WLrq0WCxllZUhM33yeY2yZbCGj65F0BdCJBBGIiHAaDHhqmWXqnpckt0r
l9cok/BXj3b5TJDXSO8J9OQ7bjKZMHLkSFxxxRWSENjlcum2Djkcx2HJkiVYtWoVBEHA+eefj/r6
erz99ttoaGhAS0sL5syZg7Vr1+JXv/oVrFYr7rjjDgDAwYMH8f7774NlWbAsixtvvFHSUZ21UFGw
JtC27VM4nU5pOjbLshBFcYD4t5wM8ogoUGnqs/xEbzQac9bh5ANpozUajSXfFEkGy2QySR0VUhZD
406yXClm4BD0hfD0PS+h96gHNqcV9zx1FxpbRmftKCKBQzweH7QdWy9sNhusVmvO2hQgc8t4Ie+9
fHyBnhPESRdTPB7PmCmmFAe927YvXPyfBd3/k/95QKOVDG1ohkYGEf1aLBapjAOUR1aGQOr3xMNB
6QSdqSZPOqnSxbaF+uHIg6tyKOcIggCe58HzvNSuTjY4MsFbqWW6mMgDh2K9RtYKC+5/6e6U33V3
d0vvfXpHEZDMqKltxy42WnRVDdYyLtchqWkZ19O4Tw4RZft8vrLoUqQUF1py0gYa0JwiGAymjCrg
OK6sAhngtAV+MBiEx+PJ6b5KnjDpOpxcr2RZlpUCBL3T8JnIVPIarGW6mMM3S91qnP7ek+CK+CY5
HA5p2nq6hb9eFCtwyLVlXD6bi2Qc9Z5VRZ7X7XZTn5azBRrQaAINaE4hb9VOJBKw2WyorKxMyWKU
KrgpxryjQv1w5O7D5SAgzaWDSd4yTUgfvpmrs68SpGRAWujLIThWasfOZv5WzOnq5LmJ469egUO2
lnHS4QUkA8H+/n7d3jd5iam7u1u3oDLfEQbt7e3YsGEDEokEOI7Dddddh+bmZl3WfKZBMzTaQAOa
NIjoND1V73A4NC3TqIXoCYo970itH048HpdO+KVwH1aiEJEtIdvwTXmApzaLkau7brGRu9mmBw7Z
zN+MRqMU4BWqRUmnXBx/5S3j8iwogLwnbedKqUpMgiDgrbfeShlh0NLSkuL4u2XLFlitVjz44IPY
sWMHNmzYgKVLl8Jms2HZsmVwOp3o6urCqlWrsHLlSt3WfkYh0IhGC2hAcwpyZSTfrLKVaWw2W8pV
vDxVrQXpHi56X90r6XDsdjssFgsEQZAm++od4Mkppq9MtuGb2Tpq5Nm0UrxvSuTTjp1Ni6KkQ8pV
aG61WmG1WsvG8Tfb+AIgc4lWi5bxiooKGAyGkpSYChlhMHLkSOk2dXV1UqAnn4tHoegJ/eSdwu/3
w2QySZtVIpFI2axFUVQs08hT1RzH5W36RtDSw0UryCadPvVZCx1OvmiRlcmFTFkMudiWYRgwDINI
JIJAIFAWwQwZXFioximTFkVJh5QtiyEX/pZLGY58lrIFfOnf/cGmy6sp0xFH6Gg0qmuJSU6hIwwI
ra2tGDlyJA1m8oUmaDSBfvpOoWTBbzKZUtx50/U0ma7iSZreYDAMCHCynbTKrVsIyD4TSq+5VHLK
ye2XZDHkAyXD4bCkhSiF8RtBXs4p1mdJjeGj/NhJFqRc5osBpwXbuX6Wsrn7qinTkRKT1+staik5
H3IZYQAAXV1d2LBhA5YvX17MZZ3RUA2NNtCAJgNKolGl1ldyUiODKZUCI+JsSjI/6S2j5dgtlI8Q
Weu5VOmQTFgxN+lcIRtTMBgc4BybPnyz0CnTainEx6UQlLIY8gwmy7JSWY6MLyhVhqYYmaLBWsbf
fPNNtLW1Yfz48Whubsbw4cOl+VSlotARBh6PBy+88AJuu+02qWxFyYMyOJedCdCARiXkZEWuLOXm
benlFrmeJltgRE5mpEzh8XjKYpikVkJkrfxwyikrI19TJpEtIdvwTSWheaFiUxKEiqJYFvodUqa1
2+2IRqPw+/1SFkP+/ssDXD00JHqNL0gP8C+77DJMnToVe/fuxccff4yvv/4aPM/juuuuw4wZM4q2
jmwUMsIgGAzimWeewaJFi9DY2FiS9Z8p0AyNNlCnYI0gehriTjuYnkauS4lEIlKAVEyh8WDIJ3X7
fD5dNkR5mULJ2RWAlJXx+/1lkZUhwUg4HEZ/f39BjyUfXSA//lx1WKQ7p9jdcLmgZho1OX7yGrAs
W9SxHaUaX0DeH3mJSRRFuN1u6W+lYvfu3fjzn/8sjTBYuHBhygiDWCyGtWvX4ujRo9IIg5qaGrz3
3nvYvHlzSmZm+fLlJc86aYHeTsHzr/hNQff/8N2fabSSoQ0NaIoESbeTIIfneSkd/e6776K1tRUr
VqwYoCWQC43JCb5QobEaSAdTqduM03U4DMMgHo8jEonorkNJR+6Z4vP5ivJeyMs05F+24Zty/Y7X
6y2LDJ+8nOP1enMKjLON7VArtlWC6JrIAFe9PkPkM6P39HJKYege0CwsMKB5jwY0AC05FQ35EEW/
3w+GYXD06FG88sorqKqqwj333CMJZwcTGpMNLr1dVgtX11K3h6dDXgOj0SjNqSJlCi10OPlCyhRE
sF0schm+KQgCzGazJpkirSjU8Teb2FbJ2VdNNx3ROemdvSLCbNLFRKFkgimDzPOZAA1odOLkyZN4
+umnsXjxYsyYMQOCIMDj8aToaeRtr3KhcfoGJ+8kkQuNc9ngy7E9PJNWRs+5VGrXpCfkM0ECBJ7n
pTWJogiLxQKe50s6fLOYjr+5mB7KbRZK4UJMUCoxUSgZKb17wRkBLTnphCiKEEUxZehlOnLBMJkS
rUYwSe5H0vSD2dYbjUY4HI6y0qXIO5hyXVMmHUqhG3whayoWSmuSd9OQMo08e1Hs4ZvyFvFSvE7y
MhX5RwIaMkVcr1LcYAZ9xSTfEQaBQAAvvvgiDh8+jNmzZ+PGG2/Ubc3lit4lp0sv+3VB9//g/RUa
rWRoQzM0OkFM17KRqZOKtH1n2qgzORoTPwzg9FU+OeGXU7dQoRmQRCIhtZMCA11tcx1bAJwWj5ZL
9grIPOQyF9M7rWczqRH+Fpv0bjKSHSHrqaysLMrohnRIYBeJRNDb26v542ejkBEGPM/j6quvRldX
F7q6unRdNyUJLTlpAw1oyphMzsQkUCFC4/SOEKX7kY2HQMpVxRQaD0axfGWy+eFk8wMCTm9KRFNU
DlmZfIZcKtkFpJu+FTJ8Uy78LQftFZB8n4mhYXp2RGl0Qzaxda6QIMrj8ZREVF/ICAOTyYTGxkaq
8yklpT/NnBHQgGYIkUkwnG7cJ9eT+P1+7N27FwsXLoTH45EcW+VC43wyGIVCLPn1yBQNNraA+MEI
ggCO48rKyVarduxMpm/prs5qPgOFCn+LgXx8gZJAOlMWSy62zscTSF5i6u7uLlmXmVYjDCglogwu
nM4EaEAzhMnUEWMymWAymfDll1/ipZdewiWXXIJgMCidbNPvp7WjbzbKxe1XXqYjGRAgKUC2WCyw
2WxFL1FkQ96OXQwthposVvrwTUEQSiayzUa+4wvSxda5DqAsZYlJDbmOMKCUDmqspw00oDnDiMVi
CAQCWLNmDdxuN5YtW4bm5uYBeppMIxtIJ1GmVuFCNBh6ZmXUQkpx6RkQLXQ4+UKyRsV2spWTKYsl
dzVmGAaCIJRNVoaUvURR1GR8QbbRDTabDQaDAevXr8fx48cxfvx4TJkyBV6vtyw0VoWOMKBQzgRo
QHMGEo/HMWHCBEnwFwwG8x7ZIG8VVvICUWNZXy5ZGTmDzaoqRIeTL/I243KY6UWyWGRjJx1M8uny
xXT1zQYJsuSfba1RyoA2NzdDFEVs374dr7zyCliWxdixY3HxxRdj7NixRVmHGgoZYUApA8rgnHgm
QNu2z3JyHdmQfr90R+P0Eg3JypRTtxDRpRSqAUlvly/ED4doQIiZYDkEfYM5/g7m6lus4ZvkM6V3
0MfzPFwuF0KhkOQ23NPTg4MHD6K+vh6jRo3SbS1K5DvCAABWrlyJSCSCeDwOi8WC5cuXpwiKzzb0
btu+fN7DBd1/06c/12glQxsa0FBSyDSyYTBPE3l6nmxuQPIqPxAIFN0LRQ3FHhOQrx9OObaI5yv8
lXvBkCBPbSZvMEo1vgBIliatViu8Xm9JR4NQ9EH3gOabvyro/pv+9qBGKxna0JITJQWlkQ3pniZK
V+Hy+zkcDrAsK2kRrFZryv30HFlAIPb3wWCwaLqUXP1wBEGQ9ElaaEC0oFB33fTATR7kqRHaZqJU
4wtIKzjDMHC73WUxK4tCoShDAxpKVuRiUdIOSzao9JENe/bswZo1a3D33XejqqpK2qiKKTQeDNJW
W4rhgNl0OCTAIa+B0WgsWolGLXLH397eXk0yIOlBnpLQNl1sLX8N5O+f3s67pAxISkwUStEofYX5
jIAGNJScIVfWJFBJJBLYuHEjduzYge9///toampSLDNoKTRWAwm4wuEwvF5vQY+lBaIoIh6Pw2q1
SrO8yAYv98PJ1QtFC/Ry/M1l+GYikYDZbEY0Gi3qQFAlSInJ4/HoWgbMd3wBAGzatAmff/45GIbB
DTfcgEmTJum2bkphUKdgbaABDaVgnn/+eVgsFjzwwAOw2Wxwu905jWwgJYRM5YlcvWDKrVuIQHQp
6WWv9LEVWrwGaikHx18lPxi73Q6bzSZNFOc4ThdPoFKWmAoZX3D8+HHs3LkTK1asgNfrxVNPPYWf
//znWWfHUcoIGtBoAg1oKAVz5513wmAwSD8XMrJBSYOS7mabrU3YaDSioqJCMjsrtRAZyE2XUoy5
VJkohd/NYLAsK3neuN1uCIKgOLZArsHRSnBOSkzBYBB+v1+Do8mNQsYXtLW1Yfr06eB5HtXV1aip
qUFHR0dJW8kpOVB6+dwZAQ1oKAUjD2aUyGdkAxlFoMbRmNyPlG7KybhP3o6dT9mkGH448gDL4/GU
jeMvCUbTAyw9hm+WqsQkp5DxBV6vF2PGjEm5bzmUWSkUPaEBDUV3so1sMJvNAzYoeSeVkqMxuQ/D
MEgkEjCZTGBZtuQiW9KOrWWANdhcKqJFyqTDKYbwVwtyfa20Gr4pLzF1d3eXRaeZnELGF1DTvKED
1dBoAw1oKGWB0gaVvkmnj2yIxWI4dOgQzjvvPEnMWmyhsRp4npfa1PVwRpbPpQIy63CAZABYbOFv
LsjHFxTyWg02fFNeptq7dy+qqqrgdDpLWmJKp5DxBWruSyljaECjCTSgyYNAIICXXnoJvb29qKqq
wtKlSxVnomzduhXvvfceAGDhwoWYPXt2yt+fffZZ9PT0YMWKFbqseyhBNqhMIxsOHz6MJ598EiNH
jpS6quT301porBbSLeT3+0tmwJauwyGGdCzLIpFISBkaPeZSZaOYU7szlepYlsW7776L9vZ2VFVV
YezYsWhoaEBjY6OkXSkVhYwvaGlpwcsvv4z58+fD6/XC7XZj9OjRJToSSs7QgEYTaECTB++//z6a
m5uxYMECbN68GZs3b8Z1112XcptAIIB3330X9913HxiGwWOPPYaWlhYp8GltbYXJZCrF8ockRGgc
DAaxadMmfPzxx/j2t7+Niy66CCaTKePIBi2Exmooh24hJZSEv3rMpRoMh8MBo9GomzcQKdWxLIv7
778fiUQCu3btwoEDB7B79268++67uPvuu1FbW1v0tWSC4zgsWbIEq1atksYX1NfXp4wvmDNnDtau
XYtf/epX0vgCAKivr8e0adPwyCOPgGVZLFmyhHY4DSXK43Qx5KEBTR60tbXhRz/6EQBg1qxZ+MMf
/jAgoNm7dy+am5ths9kAJIfa7dmzBzNnzkQkEsFHH32Em2++GatXr9Z7+UOacDgMt9uNn/70p6is
rJQMz+RCY3knVXonTKYrd6PRmGL0li5QzgZxsS1GpiFfsrWuF6rDKQSO4+ByuUqi4UnvYjrnnHNw
zjnn4KKLLtJtDYMxefJkTJ48OeV327Ztw4cffih9xidPnowHHngAJpMJe/bswSuvvIKjR4+C53nU
1dVh/vz5mDx5Mnbt2oXNmzejq6sLBoMBU6ZMweLFi2E2m0t0dBRKcaEBTR74/X7patzpdEoOunKU
OhZI18Hbb7+N+fPnD9odRBmIxWLBd77znQG/L2RkQ/rmrtRBIw9wSPailC7E2chH+KtWh1NIqY4M
BS1FOc5ms8FisaCvr69sOuBy4a677sKECRPg8XiwatUqvPfeexg1ahReffVVLF68GMuWLYPJZMLB
gwfxj3/8Ay0tLQiHw1i4cCHGjRuHeDyONWvWYP369bjppptKfTiUNKgoWBtoQJOBp556StHu/Jpr
rsn7MRmGQWdnJ9xuN66//nrd3U/PJnIZ2ZA+HTtTB408e5FIJMDzfN7t2MVCK8ffwfxw5CLbwXQ4
JPDjOE738QVy0XE5djHlisvlwqRJk9DV1YXt27fjiiuuwNy5c6W/jx8/HuPHjwcAzJw5U/q90WjE
3Llz8c477+i+ZooKaECjCTSgycAPfvCDjH9zOBzwer1wOp3wer3SJifH6XRi//790s8ejwfjx4/H
oUOHcOTIEaxcuRKCIKC/vx9PPPEE7rnnnqIcB+U06SMb5GUWUhpU6ohKFxo7HA6YzWbEYjEYDAbU
1tamZHBKkakptoYnXz8cuQ+P3r4oxNcmEAgoZlH1oNAGgo0bN8Lj8eDZZ5/Fo48+ir6+PuzZswfD
hw+Hx+PB1KlTVa/lwIEDKSZ9lDKCBjSaQAOaPCCdBgsWLMC2bdtw7rnnDrjNxIkTsXHjRklT0d7e
jkWLFsFms2HevHkAkhvPs88+mzWYKfSEuGrVKvh8PgiCgMbGRtx4441ULHiKTJ1Umcoshw8fxs6d
O3HrrbfC7XZLGQm50JhkItKdbItJKRx/1ehwiA9KOBzWdUI2UD4lpkIbCKZMmYKtW7fC6/VixYoV
sFgsmDx5MmbOnInW1lbVrdnt7e3Ytm0bfvKTnxTjMCmUsoAGNHmwYMECrF69Glu2bEFlZSWWLl0K
ADh8+DA+++wz3HLLLbDZbFi4cCEef/xxAMAVV1whZQFyodAT4tKlS2E2myGKIl588UV88cUXmDFj
RsGvwZlIppENPM/jgw8+wDvvvIM77rgD8XgcBoNBKrMMJjR2uVw5C43VQrqFymFmFQkQWZaVjA7D
4bCUpSl2yzxQfiWmQhsIxowZA5ZlwfM8fv3rX0v3OXHiBADA5/NJwykzcejQIaxZswZ33nknhg0b
puXhUbSCZmg0gQY0eWCz2fDDH/5wwO8bGhrQ0NAg/TxnzhzMmTMn4+NUV1cP6kFT6AmRdDQIgqCr
duFMQBAE+P1+PP3002BZFj/5yU9QV1cHURSzjmwoRGislnJ1/FUaX5BudleMuVTy5y5liSmdQhsI
MjFs2DC4XC60trbi0ksvzXi7zs5OPPfcc7j11lvR3Nyc51FQis7QlnaVDTSgKXO0OCE+/fTTOHz4
MCZNmoRp06YVf9FnEAzD4OKLL8a5554LlmXzGtkAZHdCdjgcUhCULlBWQivhr9aQ8QWZskVqdDj5
BnrkuUtRYipWA8Fgf1+8eDFee+012Gw2TJ06FUajEYcOHcK2bdtw8803o6urC6tWrcINN9yAlpaW
vNdCKT60y0kbaEBTBhT7hLh8+XLEYjG8/PLL2LdvHyZMmJD3455t8DyfVXiZz8gGQLlN2mg0SoM3
5bOIiNBYXsopJ/M+4kSc66gHtX442UZXkBKTIAglKzEVq4FgMKZNmwaTyYRNmzZh3bp1MBgMqKur
kzI2H374IQKBAF577TW89tprAICqqirqTF6O0IBGE2hAUwbocUI0GAxoaWlBW1sbDWiKyGAjG+Q6
EnlHVCb9jsFgkLxuAEht6OUSzBBTwf7+fk2Ev2r8cD744AO43W6MHz8eU6ZMQTgcLpsSUzqFNBAQ
HnroIfzbv/2b4uNPmjQJkyZNUvzbd77zHUXPJgrlTIUGNGVOISfESCSCcDgsXT3v3r0b48aN0/sQ
zmoyBSpkjlGmjihBEBAOhxEOh+FwOMAwDEKhEFiWhd1ul0TJ6U7IeiF3Ii6mqWC6Hw7DMKipqcGR
I0ewbt06/O53v8M555yDsWPH4rzzzsOIESOKso58KbSBYP369di+fTtisRgeeughzJkzB1dddVWp
DodSLASaodECRsxyFjx27Jiea6EoEAgEsHr1avT19UknRJvNlnJCBIAtW7Zg8+bNAIDLL78c559/
Pvx+P5555hnE43GIooimpiYsXrwYHMdlfK58W8Sj0ShWr14Nt9sNlmUxZcoUXHvttUV6Vc4c5CMb
TCZTysiGAwcOYO3atfjhD38Ii8UyIGAhmQuiQ9FrHpNckKxUKi0m8hJTX18fwuEwOjo6cPDgQQwf
PhzTp0/XdT2UMxO9A+Ormn9W0P3/8tVvNFrJ0IYGNBSJ9evXw2q1Si3iwWBQsUX88ccfT2kRv//+
+8HzPDo6OtDU1IR4PI6nnnoKCxYsGDCXhpIdhmHAcRw+/PBDbNq0Cd/73vcwZ84cVYEK0Z+QQCcX
obFaSjm+gAio+/v7dfPboZyd6B7QNCmXFNXyl32/1WglQxvqsEaRaGtrw6xZswAkW8Tb2toG3Ebe
Im61WqUWcaPRiKamJgDJjXXkyJG6O8OeCYiiiJdffhk7d+7Evffei3HjxsHj8SAWi8FkMqG6uhrV
1dWoqKiAxWJJybYR7Y7X60V3dzf6+vokN+PKykrU1tbC6XTCarVKmhy1MAwDl8sFi8WC3t5e3YMZ
u90Oh8OB3t5eGsxQzjxEsbB/FABUQ0ORoZVnRjAYxK5du8pqivFQ4sorr5T0NUD+IxuyCY3lRnfy
+ypBbl8K8S3LsnC5XEgkEjh58mTZ+O1QKJTygwY0ZxnFbhFPJBJYs2YNLrzwQtTU1OT9mGcz8oBR
iVxHNpBARS40Bk7rd7INnLRarbBYLPD5fLr7u5RDiYnqyii6QEXBmkADmrOMYreIv/7666itrcUl
l1yi6bopmcmUiTEajbDb7ZLQWB7gEEfjdKNAuReOwWCQbsMwDFiW1a1dnIx06O3tLelIh0JGj/A8
j/nz56foynbv3k11ZZSBiOVhwzDUoRoaigRpEQeQtUW8vb0dwWAQwWAQ7e3tmDhxIoDkZOBwOIzr
r79e13VTUiGZGJ/PB7fbjRMnTsDv90sjG2pqalBVVQWHwwGTyZQyrDQajSIUCoHjOPT390st2Waz
OUW/YzabM3bLFQLHcaiqqgLLsuju7i75fCqqK6PoAtXQaALN0FAkCvHM8Hg82LRpE4YNG4ZHH30U
AHDhhRdi7ty5GZ+v0EniGzduxLZt2xAMBvHb31KVfyaUMjFKIxsCgQBef/11dHZ24t5775WCCSVH
Y5L9AbI7+eZCOZSY0qG6Mgpl6EADGopEIUM3XS4Xfve73+X0fIVOEp8yZQrmzZuHhx9+OKfnpQwc
2eB2u7F69WrU19fjpz/9KWw2m+LIhmxCY7l+ZzChcTqlLDFRXRml5FANjSbQgIZSMgqdJD5mzBi9
l3xGEo1G8bvf/Q5XX3015s6dK40xUDOyIR+hsbxTicyBisfj6O7uLkkXE9WVUUoOLRtpAg1oKCVD
q3Q+pTCMRiMeeughGAwG6Xf5jmxIL2/JJ2rbbDbwPI+//OUv6OzsRFNTE6ZOnR/n0rgAAAuBSURB
VIpAICB1bJUbhc5iIroy4uhNoShCAxpNoAENpagUO51P0QZ5MKNEpkyM0WiEzWaTsizps6XkE7WJ
Lmb8+PGIRCLYunUr1qxZA6vVisbGRsyaNUsS0ZYLeuvKKGcpNKDRBBrQUIqKHpPEKfojz8T4/X4p
E2M0GmGxWFBRUaE4W4rjODQ2NqKhoQFz585FIpHA8ePHcfDgwbIRAsvRW1dGoVDyhwY0FE1YuXIl
+vv7pSv3yZMnY8mSJTCZTNizZw82bdqEo0ePgud51NXVYf78+WhpacEnn3yCrq4u7N+/H5FIBD09
PaiurpYeN1s6Xw179uzBn/70J4iiiDlz5mDBggUpf4/H41i7di06OzthtVrxve99T3r+TZs24fPP
PwfDMLjhhhswadIkDV6pMxN5JoaUDkmAQ7qXRFEEwzDw+XzS+8myLEaMGFF2U7IpFF3Ryd/pTIcG
NBTNuOuuuzBhwgR4PB6sWrUK7733HkaNGoVXX30VixcvxrJly2AymXDw4EH84x//wLXXXovnn38e
J0+eRG1tLTo7OwGoS+cDyWGa27dvRywWw0MPPYQ5c+bgqquuktYjCALeeustLF++HC6XC48//jha
WlpQV1cn3WbLli2wWq148MEHsWPHDmzYsAFLly7F8ePHsXPnTqxYsQJerxdPPfUUfv7zn6d4tlCy
ozSygWGYknvLUChlBy05aQINaCia43K5MGnSJHR1dWH79u244oorUnQD48ePl8pGP/7xjwEkRaj3
338/AHXpfAC47rrrBnRFyeno6EBNTY3UKjt9+nS0tbWlBDRtbW248sorAQBTp07FunXrIIoi2tra
MH36dPA8j+rqatTU1KCjowNjx47N92U56ynEo6YQCvU7WrVqFXw+HwRBQGNjI2688UYa2FK0hQY0
mkADGorm9PX1Yc+ePRg+fDg8Hg+mTp1aknUodUh1dHRkvA3HcTCbzQgEAvB6vSlt4bS7auhSqN/R
0qVLYTabIYoiXnzxRXzxxReYMWNGiY6GckZCfWg0gV5mUDTj+eefx4oVK/Df//3fGDduHC6++GIA
QEVFRYlXdho1HVKZbkO7q4YmhYwvAACz2QwgWcIkBoMUCqX8oBkaimZ8//vfx4QJE6SfT5w4AQDw
+XwpQl+9cDqd6Ovrk372eDwDgityG5fLhUQigXA4DKvVquq+lKGBFn5HTz/9NA4fPoxJkyZh2rRp
xV805axCpMMpNYEGNJSiMWzYMLhcLrS2tuLSSy/V/fkbGhrgdrvR09MDp9OJnTt34vbbb0+5DTFO
Gzt2LFpbW9HU1ASGYdDS0oKXX34Z8+fPh9frhdvtxujRo3U/Boo6iu13tHz5csRiMbz88svYt29f
SuBOoRQMLTlpAg1oKEWDYRgsXrwYr732Gmw2G6ZOnQqj0YhDhw5h27ZtuPnmmwEku2GEU22LxJxt
MKM3NXAchyVLlmDVqlUQBAHnn38+6uvr8fbbb6OhoQEtLS2YM2cO1q5di1/96lewWq244447AAD1
9fWYNm0aHnnkEbAsiyVLlqgWgubbKh4IBPDiiy/i8OHDmD17Nm688caCX4OzBT38jgwGA1paWtDW
1kYDGoq2UFGwJtCAhlJUpk2bBpPJhE2bNmHdunUwGAyoq6tLydg88MAD0v8/8sgjAKCZIdnkyZMx
efLklN9dffXV0v8bDAbceeedivdduHAhFi5cmNPzFdIqzvM8rr76anR1daGrqyun56VkppDxBZFI
BOFwGE6nE4lEArt378a4ceP0PgQKhaICGtBQNOGhhx7K+LdJkyZlNaU7k9xUC2kVN5lMaGxsRHd3
d0nWfqZSyPgCv9+P5557DvF4HKIooqmpCRdccEEJj4ZyRkKN9TSBBjQUioYU0iquVAqhFE4h4wsc
Dofkj0ShFA1actIEGtBQKEWmkFZxCoVy5iPSDI0mUB8aCkVDcmkVB5DSKk6hUM5SRLGwfxQANKCh
UDRF3ioej8exc+dOtLS0pNyGiFQBpLSKUygUCiV/GFHMHN4dO3ZMz7VQKGcEu3fvxp///GepVXzh
woUpreKxWAxr167F0aNHpVZxIiJeuXIlIpEI4vE4LBYLli9fniIoViLfNvH29nZs2LABiUQCHMfh
uuuuQ3Nzc9Fel3wpdBYT4dlnn0VPTw9WrFihy7opQxe9p79fYbl98Btl4d3QyxqtZGhDAxoKZQgj
CAIefvjhlDbxO+64IyUI+vTTT3Hs2DHcdNNN2LFjB/75z39i6dKl6OzshMPhgNPpRFdXF1atWoWV
K1eW8GiUWb9+PaxWqzSLKRgMKs5ievzxx1NmMd1///1S4NPa2orW1lYcO3aMBjSUQdE9oDHfVtD9
3w3/UaOVDG1oyYlCGcLI28R5npfaxOXIZxlNnToV+/btgyiKGDlypDQSoK6uDrFYrGQTsbNR6Cym
SCSCjz76KGdPIQpFL0RBLOgfJQkNaCiUIcxgM4jSbyNvE5fT2tqKkSNHgufLr/Gx0FlMb7/9NubP
n6+J+zSFUhREobB/g3DTTTdhzZo10s/r16/HG2+8UcwjGsCTTz6JLVu2FPU5yu/sRaFQCiLXNvGu
ri5s2LABy5cvL+ayslKsWUydnZ1wu924/vrr0dPTU8gSKZQhi8FgwOeff47FixfnNWSX6OzKHRrQ
UChDmEImipPbv/DCC7jtttskYXIpKNYspkOHDuHIkSNYuXIlBEFAf38/nnjiCdxzzz1FOQ4KJR+K
XTZiWRYLFizAxo0bceutt6b8rbu7G08//TR8Ph8qKirwgx/8ADU1NXjyySdht9tx6NAhjB07Fmaz
GSdPnoTH40FXVxfuuOMO7Nu3Dzt37kRVVRV+9rOfged5vPXWW9i+fTui0Siam5vxr//6r7p1cdKS
E4UyhCmkTTwYDOKZZ57BokWL0NjYWIrlq0K+/myzmNrb2xEMBhEMBtHe3o6JEydi3rx5+OUvf4mH
HnoIP/7xj1FbW0uDGUr5UeSSE5Ac5/Hpp59K88oIzz//PC666CI8+uijmDdvHl544QXpb11dXfjF
L34hDe09ceIEVqxYgQceeABPPPEEpkyZgsceewxGoxE7duwAAFx55ZV45JFH8NhjjyEajWL79u0a
vUiDkzVDo7fSm0Kh5M6yZcvw3HPPQRAEzJ8/HzNnzsTrr7+OcePG4bzzzsP111+PP/zhD3jkkUdg
t9tx7733Yvjw4Vi3bh16enrwwQcf4IMPPgAAPPjgg5JepVz47ne/i//6r//Cr3/9a9TU1OC+++6D
3W7HgQMHsGnTJtx9990AkjqB3//+9wCAm2++GU1NTSmPw/M8DAYDPa9Ryo5NwptFfw6r1YqLLroI
b7/9NoxGo/T7ffv24ac//SkA4KKLLsIf/3i6Y2rOnDlg2dN5j+nTp4PneTQ0NEAQBEybNg1A8sKK
zKD78ssvsX79ekQiEfT392PUqFE477zzin58AC05UShDnhkzZmDGjBkpv7v55pul/zcajbjvvvsG
3G/JkiVYsmRJ0ddXKA6HA//+7/8+4Pfjxo1LmXx96aWXpkxxT2fYsGF47LHHirJGCmUocM011+Bn
P/sZLrnkElW3N5vNKT+TpgGWZcFxnFRKYhgGiUQC0WgUzz//PB555BHU1NTgjTfeQDQa1fQYskFL
ThQKhUKhnAXY7XbMnTtXysgCQHNzMz777DMASc+qiRMn5v34sVgMAFBRUYFwOIzPP/+8sAXnCM3Q
UCgUCoVylrBo0SK888470s933nknnn76aaxfv14SBeeLzWbDZZddhvvvvx/Dhg1LyaDqQVanYAqF
QqFQKJShAC05USgUCoVCGfLQgIZCoVAoFMqQhwY0FAqFQqFQhjw0oKFQKBQKhTLkoQENhUKhUCiU
IQ8NaCgUCoVCoQx5aEBDoVAoFAplyEMDGgqFQqFQKEOe/wcpF2zHQGXaUAAAAABJRU5ErkJggg==
&quot;
&gt;
&lt;/div&gt;

&lt;/div&gt;

&lt;div class=&quot;output_area&quot;&gt;

&lt;div class=&quot;prompt&quot;&gt;&lt;/div&gt;




&lt;div class=&quot;output_png output_subarea &quot;&gt;
&lt;img src=&quot;data:image/png;base64,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
&quot;
&gt;
&lt;/div&gt;

&lt;/div&gt;

&lt;div class=&quot;output_area&quot;&gt;

&lt;div class=&quot;prompt&quot;&gt;&lt;/div&gt;




&lt;div class=&quot;output_png output_subarea &quot;&gt;
&lt;img src=&quot;data:image/png;base64,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
&quot;
&gt;
&lt;/div&gt;

&lt;/div&gt;

&lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;
&lt;div class=&quot;cell border-box-sizing text_cell rendered&quot;&gt;&lt;div class=&quot;prompt input_prompt&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;inner_cell&quot;&gt;
&lt;div class=&quot;text_cell_render border-box-sizing rendered_html&quot;&gt;
&lt;p&gt;Regardless of the kernels we used as examples and regardless of the different parameters we tried for such kernels off-screen, we could not get the PCA technique to represent the problem on a 3D graph in a way that was clear and understandable. We added the colors on the graphs to show where the different NSP groups were represented. It clearly shows that the PCA did not perform efficiently when it comes to separate the NSP groups. Yet, something interesting came out of it. Every kernel we used created two different groups for the &quot;Pathologic&quot; class of the NSP. One is always close to the &quot;Suspect&quot; group of points and one is always far from it. It shows a subclassification amongst the &quot;Suspect&quot; group, some of them being more prone to evolve in a pathology than others.&lt;/p&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;cell border-box-sizing text_cell rendered&quot;&gt;&lt;div class=&quot;prompt input_prompt&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;inner_cell&quot;&gt;
&lt;div class=&quot;text_cell_render border-box-sizing rendered_html&quot;&gt;
&lt;p&gt;&lt;strong&gt;Using an Autoencoder for Dimensionality reduction&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Autoencoders have proven their efficiency in many different cases. When it comes to dimensionality reduction we have yet to find a technique more elegant and more accurate. We're gonna build an autoencoder from scratch, use it to encode the data that we will then put on a 3D graph to compare it with our previous results. From here, we will refer to the autoencoder as AE.&lt;/p&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;cell border-box-sizing code_cell rendered&quot;&gt;
&lt;div class=&quot;input&quot;&gt;
&lt;div class=&quot;prompt input_prompt&quot;&gt;In&amp;nbsp;[11]:&lt;/div&gt;
&lt;div class=&quot;inner_cell&quot;&gt;
    &lt;div class=&quot;input_area&quot;&gt;
&lt;div class=&quot; highlight hl-ipython3&quot;&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class=&quot;kn&quot;&gt;from&lt;/span&gt; &lt;span class=&quot;nn&quot;&gt;numpy.random&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;seed&lt;/span&gt;
&lt;span class=&quot;kn&quot;&gt;from&lt;/span&gt; &lt;span class=&quot;nn&quot;&gt;sklearn.preprocessing&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;minmax_scale&lt;/span&gt;
&lt;span class=&quot;kn&quot;&gt;from&lt;/span&gt; &lt;span class=&quot;nn&quot;&gt;keras.layers&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;Input&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;Dense&lt;/span&gt;
&lt;span class=&quot;kn&quot;&gt;from&lt;/span&gt; &lt;span class=&quot;nn&quot;&gt;keras.models&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;Model&lt;/span&gt;

&lt;span class=&quot;n&quot;&gt;X&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;dataset&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;iloc&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[:,:&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;values&lt;/span&gt; &lt;span class=&quot;c1&quot;&gt;# Put back the class value to use it later&lt;/span&gt;

 
&lt;span class=&quot;c1&quot;&gt;# Feature scaling for the AE&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;sX&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;minmax_scale&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;X&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;axis&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;ncol&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;36&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;X_train_auto&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;X_test_auto&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;y_train_auto&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;y_test_auto&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;train_test_split&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;sX&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;y&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;train_size&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;mf&quot;&gt;0.8&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;random_state&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;seed&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;2017&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;))&lt;/span&gt;
 
&lt;span class=&quot;n&quot;&gt;Class_train_auto&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;X_train_auto&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[:,&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;36&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt; &lt;span class=&quot;c1&quot;&gt;# These two columns will be used for comparison&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;Class_test_auto&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;X_test_auto&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[:,&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;36&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;    &lt;span class=&quot;c1&quot;&gt;# later on&lt;/span&gt;

&lt;span class=&quot;n&quot;&gt;X_train_auto&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;np&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;delete&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;X_train_auto&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;36&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;  &lt;span class=&quot;c1&quot;&gt;# But theyr are not needed&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;X_test_auto&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;np&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;delete&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;X_test_auto&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;36&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;  &lt;span class=&quot;c1&quot;&gt;# as of right now&lt;/span&gt;

&lt;span class=&quot;n&quot;&gt;input_dim&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;Input&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;shape&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;ncol&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;))&lt;/span&gt;

&lt;span class=&quot;c1&quot;&gt;# Define the dimension of the encoder&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;encoding_dim&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;3&lt;/span&gt;

&lt;span class=&quot;c1&quot;&gt;# Define the encoder layer&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;encoded&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;Dense&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;encoding_dim&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;activation&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;s1&quot;&gt;&amp;#39;relu&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;input_dim&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;

&lt;span class=&quot;c1&quot;&gt;# Define the decoder layer&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;decoded&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;Dense&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;ncol&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;activation&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;s1&quot;&gt;&amp;#39;sigmoid&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;encoded&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;

&lt;span class=&quot;c1&quot;&gt;# Combine the layers into a model to create the AE&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;autoencoder&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;Model&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;input&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;input_dim&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;output&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;decoded&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;

&lt;span class=&quot;c1&quot;&gt;# Configure and train the AE&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;autoencoder&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;compile&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;optimizer&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;s1&quot;&gt;&amp;#39;adadelta&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;loss&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;s1&quot;&gt;&amp;#39;binary_crossentropy&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;autoencoder&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;fit&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;X_train_auto&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;X_train_auto&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;nb_epoch&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;150&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;batch_size&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;25&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;shuffle&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;kc&quot;&gt;True&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;validation_data&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;X_test_auto&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;X_test_auto&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;))&lt;/span&gt;

&lt;span class=&quot;c1&quot;&gt;# Get the encoded data and reduced dimmension&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;encoder&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;Model&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;input&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;input_dim&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;output&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;encoded&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;encoded_input&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;Input&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;shape&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;encoding_dim&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;))&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;encoded_out&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;encoder&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;predict&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;X_test_auto&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;div class=&quot;output_wrapper&quot;&gt;
&lt;div class=&quot;output&quot;&gt;


&lt;div class=&quot;output_area&quot;&gt;

&lt;div class=&quot;prompt&quot;&gt;&lt;/div&gt;


&lt;div class=&quot;output_subarea output_stream output_stderr output_text&quot;&gt;
&lt;pre&gt;/opt/conda/lib/python3.6/site-packages/h5py/__init__.py:36: FutureWarning: Conversion of the second argument of issubdtype from `float` to `np.floating` is deprecated. In future, it will be treated as `np.float64 == np.dtype(float).type`.
  from ._conv import register_converters as _register_converters
Using TensorFlow backend.
/opt/conda/lib/python3.6/site-packages/ipykernel_launcher.py:34: UserWarning: Update your `Model` call to the Keras 2 API: `Model(inputs=Tensor(&amp;#34;in..., outputs=Tensor(&amp;#34;de...)`
/opt/conda/lib/python3.6/site-packages/ipykernel_launcher.py:38: UserWarning: The `nb_epoch` argument in `fit` has been renamed `epochs`.
&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;div class=&quot;output_area&quot;&gt;

&lt;div class=&quot;prompt&quot;&gt;&lt;/div&gt;


&lt;div class=&quot;output_subarea output_stream output_stdout output_text&quot;&gt;
&lt;pre&gt;Train on 1700 samples, validate on 426 samples
Epoch 1/150
1700/1700 [==============================] - 0s 258us/step - loss: 0.6414 - val_loss: 0.5299
Epoch 2/150
1700/1700 [==============================] - 0s 71us/step - loss: 0.4285 - val_loss: 0.3835
Epoch 3/150
1700/1700 [==============================] - 0s 68us/step - loss: 0.3794 - val_loss: 0.3745
Epoch 4/150
1700/1700 [==============================] - 0s 71us/step - loss: 0.3744 - val_loss: 0.3713
Epoch 5/150
1700/1700 [==============================] - 0s 72us/step - loss: 0.3717 - val_loss: 0.3687
Epoch 6/150
1700/1700 [==============================] - 0s 73us/step - loss: 0.3691 - val_loss: 0.3661
Epoch 7/150
1700/1700 [==============================] - 0s 69us/step - loss: 0.3665 - val_loss: 0.3633
Epoch 8/150
1700/1700 [==============================] - 0s 70us/step - loss: 0.3638 - val_loss: 0.3605
Epoch 9/150
1700/1700 [==============================] - 0s 69us/step - loss: 0.3609 - val_loss: 0.3574
Epoch 10/150
1700/1700 [==============================] - 0s 72us/step - loss: 0.3580 - val_loss: 0.3545
Epoch 11/150
1700/1700 [==============================] - 0s 72us/step - loss: 0.3552 - val_loss: 0.3516
Epoch 12/150
1700/1700 [==============================] - 0s 73us/step - loss: 0.3525 - val_loss: 0.3488
Epoch 13/150
1700/1700 [==============================] - 0s 73us/step - loss: 0.3496 - val_loss: 0.3458
Epoch 14/150
1700/1700 [==============================] - 0s 71us/step - loss: 0.3464 - val_loss: 0.3426
Epoch 15/150
1700/1700 [==============================] - 0s 71us/step - loss: 0.3430 - val_loss: 0.3390
Epoch 16/150
1700/1700 [==============================] - 0s 71us/step - loss: 0.3389 - val_loss: 0.3346
Epoch 17/150
1700/1700 [==============================] - 0s 73us/step - loss: 0.3344 - val_loss: 0.3300
Epoch 18/150
1700/1700 [==============================] - 0s 72us/step - loss: 0.3298 - val_loss: 0.3255
Epoch 19/150
1700/1700 [==============================] - 0s 73us/step - loss: 0.3255 - val_loss: 0.3214
Epoch 20/150
1700/1700 [==============================] - 0s 77us/step - loss: 0.3218 - val_loss: 0.3180
Epoch 21/150
1700/1700 [==============================] - 0s 70us/step - loss: 0.3188 - val_loss: 0.3153
Epoch 22/150
1700/1700 [==============================] - 0s 70us/step - loss: 0.3164 - val_loss: 0.3130
Epoch 23/150
1700/1700 [==============================] - 0s 72us/step - loss: 0.3144 - val_loss: 0.3112
Epoch 24/150
1700/1700 [==============================] - 0s 72us/step - loss: 0.3127 - val_loss: 0.3096
Epoch 25/150
1700/1700 [==============================] - 0s 69us/step - loss: 0.3113 - val_loss: 0.3082
Epoch 26/150
1700/1700 [==============================] - 0s 72us/step - loss: 0.3101 - val_loss: 0.3070
Epoch 27/150
1700/1700 [==============================] - 0s 71us/step - loss: 0.3090 - val_loss: 0.3059
Epoch 28/150
1700/1700 [==============================] - 0s 73us/step - loss: 0.3080 - val_loss: 0.3050
Epoch 29/150
1700/1700 [==============================] - 0s 70us/step - loss: 0.3071 - val_loss: 0.3041
Epoch 30/150
1700/1700 [==============================] - 0s 73us/step - loss: 0.3063 - val_loss: 0.3033
Epoch 31/150
1700/1700 [==============================] - 0s 73us/step - loss: 0.3055 - val_loss: 0.3026
Epoch 32/150
1700/1700 [==============================] - 0s 69us/step - loss: 0.3048 - val_loss: 0.3019
Epoch 33/150
1700/1700 [==============================] - 0s 71us/step - loss: 0.3042 - val_loss: 0.3012
Epoch 34/150
1700/1700 [==============================] - 0s 71us/step - loss: 0.3035 - val_loss: 0.3005
Epoch 35/150
1700/1700 [==============================] - 0s 72us/step - loss: 0.3030 - val_loss: 0.3001
Epoch 36/150
1700/1700 [==============================] - 0s 71us/step - loss: 0.3024 - val_loss: 0.2994
Epoch 37/150
1700/1700 [==============================] - 0s 72us/step - loss: 0.3018 - val_loss: 0.2989
Epoch 38/150
1700/1700 [==============================] - 0s 72us/step - loss: 0.3013 - val_loss: 0.2983
Epoch 39/150
1700/1700 [==============================] - 0s 70us/step - loss: 0.3008 - val_loss: 0.2978
Epoch 40/150
1700/1700 [==============================] - 0s 71us/step - loss: 0.3003 - val_loss: 0.2974
Epoch 41/150
1700/1700 [==============================] - 0s 69us/step - loss: 0.2999 - val_loss: 0.2968
Epoch 42/150
1700/1700 [==============================] - 0s 67us/step - loss: 0.2994 - val_loss: 0.2963
Epoch 43/150
1700/1700 [==============================] - 0s 73us/step - loss: 0.2989 - val_loss: 0.2958
Epoch 44/150
1700/1700 [==============================] - 0s 72us/step - loss: 0.2985 - val_loss: 0.2954
Epoch 45/150
1700/1700 [==============================] - 0s 71us/step - loss: 0.2980 - val_loss: 0.2948
Epoch 46/150
1700/1700 [==============================] - 0s 71us/step - loss: 0.2975 - val_loss: 0.2944
Epoch 47/150
1700/1700 [==============================] - 0s 72us/step - loss: 0.2971 - val_loss: 0.2938
Epoch 48/150
1700/1700 [==============================] - 0s 70us/step - loss: 0.2966 - val_loss: 0.2933
Epoch 49/150
1700/1700 [==============================] - 0s 70us/step - loss: 0.2962 - val_loss: 0.2928
Epoch 50/150
1700/1700 [==============================] - 0s 71us/step - loss: 0.2957 - val_loss: 0.2924
Epoch 51/150
1700/1700 [==============================] - 0s 72us/step - loss: 0.2953 - val_loss: 0.2919
Epoch 52/150
1700/1700 [==============================] - 0s 73us/step - loss: 0.2949 - val_loss: 0.2914
Epoch 53/150
1700/1700 [==============================] - 0s 72us/step - loss: 0.2945 - val_loss: 0.2909
Epoch 54/150
1700/1700 [==============================] - 0s 72us/step - loss: 0.2940 - val_loss: 0.2905
Epoch 55/150
1700/1700 [==============================] - 0s 72us/step - loss: 0.2936 - val_loss: 0.2901
Epoch 56/150
1700/1700 [==============================] - 0s 71us/step - loss: 0.2933 - val_loss: 0.2896
Epoch 57/150
1700/1700 [==============================] - 0s 72us/step - loss: 0.2929 - val_loss: 0.2892
Epoch 58/150
1700/1700 [==============================] - 0s 71us/step - loss: 0.2925 - val_loss: 0.2888
Epoch 59/150
1700/1700 [==============================] - 0s 72us/step - loss: 0.2921 - val_loss: 0.2884
Epoch 60/150
1700/1700 [==============================] - 0s 70us/step - loss: 0.2918 - val_loss: 0.2880
Epoch 61/150
1700/1700 [==============================] - 0s 70us/step - loss: 0.2915 - val_loss: 0.2877
Epoch 62/150
1700/1700 [==============================] - 0s 70us/step - loss: 0.2911 - val_loss: 0.2873
Epoch 63/150
1700/1700 [==============================] - 0s 69us/step - loss: 0.2908 - val_loss: 0.2870
Epoch 64/150
1700/1700 [==============================] - 0s 71us/step - loss: 0.2905 - val_loss: 0.2867
Epoch 65/150
1700/1700 [==============================] - 0s 72us/step - loss: 0.2903 - val_loss: 0.2864
Epoch 66/150
1700/1700 [==============================] - 0s 74us/step - loss: 0.2900 - val_loss: 0.2861
Epoch 67/150
1700/1700 [==============================] - 0s 71us/step - loss: 0.2897 - val_loss: 0.2858
Epoch 68/150
1700/1700 [==============================] - 0s 72us/step - loss: 0.2895 - val_loss: 0.2856
Epoch 69/150
1700/1700 [==============================] - 0s 71us/step - loss: 0.2893 - val_loss: 0.2853
Epoch 70/150
1700/1700 [==============================] - 0s 73us/step - loss: 0.2890 - val_loss: 0.2851
Epoch 71/150
1700/1700 [==============================] - 0s 73us/step - loss: 0.2888 - val_loss: 0.2849
Epoch 72/150
1700/1700 [==============================] - 0s 71us/step - loss: 0.2886 - val_loss: 0.2846
Epoch 73/150
1700/1700 [==============================] - 0s 72us/step - loss: 0.2884 - val_loss: 0.2844
Epoch 74/150
1700/1700 [==============================] - 0s 72us/step - loss: 0.2882 - val_loss: 0.2842
Epoch 75/150
1700/1700 [==============================] - 0s 72us/step - loss: 0.2880 - val_loss: 0.2839
Epoch 76/150
1700/1700 [==============================] - 0s 73us/step - loss: 0.2878 - val_loss: 0.2838
Epoch 77/150
1700/1700 [==============================] - 0s 72us/step - loss: 0.2877 - val_loss: 0.2836
Epoch 78/150
1700/1700 [==============================] - 0s 74us/step - loss: 0.2875 - val_loss: 0.2834
Epoch 79/150
1700/1700 [==============================] - 0s 77us/step - loss: 0.2873 - val_loss: 0.2832
Epoch 80/150
1700/1700 [==============================] - 0s 72us/step - loss: 0.2871 - val_loss: 0.2831
Epoch 81/150
1700/1700 [==============================] - 0s 75us/step - loss: 0.2870 - val_loss: 0.2829
Epoch 82/150
1700/1700 [==============================] - 0s 73us/step - loss: 0.2869 - val_loss: 0.2827
Epoch 83/150
1700/1700 [==============================] - 0s 74us/step - loss: 0.2867 - val_loss: 0.2826
Epoch 84/150
1700/1700 [==============================] - 0s 73us/step - loss: 0.2866 - val_loss: 0.2825
Epoch 85/150
1700/1700 [==============================] - 0s 74us/step - loss: 0.2864 - val_loss: 0.2823
Epoch 86/150
1700/1700 [==============================] - 0s 74us/step - loss: 0.2863 - val_loss: 0.2821
Epoch 87/150
1700/1700 [==============================] - 0s 71us/step - loss: 0.2862 - val_loss: 0.2820
Epoch 88/150
1700/1700 [==============================] - 0s 70us/step - loss: 0.2861 - val_loss: 0.2819
Epoch 89/150
1700/1700 [==============================] - 0s 71us/step - loss: 0.2860 - val_loss: 0.2817
Epoch 90/150
1700/1700 [==============================] - 0s 71us/step - loss: 0.2858 - val_loss: 0.2817
Epoch 91/150
1700/1700 [==============================] - 0s 71us/step - loss: 0.2857 - val_loss: 0.2815
Epoch 92/150
1700/1700 [==============================] - 0s 71us/step - loss: 0.2856 - val_loss: 0.2814
Epoch 93/150
1700/1700 [==============================] - 0s 71us/step - loss: 0.2855 - val_loss: 0.2813
Epoch 94/150
1700/1700 [==============================] - 0s 73us/step - loss: 0.2854 - val_loss: 0.2812
Epoch 95/150
1700/1700 [==============================] - 0s 72us/step - loss: 0.2853 - val_loss: 0.2811
Epoch 96/150
1700/1700 [==============================] - 0s 72us/step - loss: 0.2852 - val_loss: 0.2810
Epoch 97/150
1700/1700 [==============================] - 0s 71us/step - loss: 0.2851 - val_loss: 0.2809
Epoch 98/150
1700/1700 [==============================] - 0s 70us/step - loss: 0.2850 - val_loss: 0.2807
Epoch 99/150
1700/1700 [==============================] - 0s 70us/step - loss: 0.2849 - val_loss: 0.2806
Epoch 100/150
1700/1700 [==============================] - 0s 70us/step - loss: 0.2848 - val_loss: 0.2805
Epoch 101/150
1700/1700 [==============================] - 0s 67us/step - loss: 0.2847 - val_loss: 0.2805
Epoch 102/150
1700/1700 [==============================] - 0s 70us/step - loss: 0.2846 - val_loss: 0.2804
Epoch 103/150
1700/1700 [==============================] - 0s 71us/step - loss: 0.2845 - val_loss: 0.2803
Epoch 104/150
1700/1700 [==============================] - 0s 70us/step - loss: 0.2844 - val_loss: 0.2802
Epoch 105/150
1700/1700 [==============================] - 0s 68us/step - loss: 0.2843 - val_loss: 0.2801
Epoch 106/150
1700/1700 [==============================] - 0s 67us/step - loss: 0.2842 - val_loss: 0.2800
Epoch 107/150
1700/1700 [==============================] - 0s 71us/step - loss: 0.2842 - val_loss: 0.2799
Epoch 108/150
1700/1700 [==============================] - 0s 70us/step - loss: 0.2841 - val_loss: 0.2798
Epoch 109/150
1700/1700 [==============================] - 0s 69us/step - loss: 0.2840 - val_loss: 0.2798
Epoch 110/150
1700/1700 [==============================] - 0s 71us/step - loss: 0.2839 - val_loss: 0.2797
Epoch 111/150
1700/1700 [==============================] - 0s 70us/step - loss: 0.2838 - val_loss: 0.2796
Epoch 112/150
1700/1700 [==============================] - 0s 70us/step - loss: 0.2837 - val_loss: 0.2795
Epoch 113/150
1700/1700 [==============================] - 0s 70us/step - loss: 0.2837 - val_loss: 0.2794
Epoch 114/150
1700/1700 [==============================] - 0s 70us/step - loss: 0.2836 - val_loss: 0.2793
Epoch 115/150
1700/1700 [==============================] - 0s 69us/step - loss: 0.2835 - val_loss: 0.2793
Epoch 116/150
1700/1700 [==============================] - 0s 70us/step - loss: 0.2834 - val_loss: 0.2792
Epoch 117/150
1700/1700 [==============================] - 0s 72us/step - loss: 0.2833 - val_loss: 0.2791
Epoch 118/150
1700/1700 [==============================] - 0s 69us/step - loss: 0.2833 - val_loss: 0.2791
Epoch 119/150
1700/1700 [==============================] - 0s 71us/step - loss: 0.2832 - val_loss: 0.2790
Epoch 120/150
1700/1700 [==============================] - 0s 72us/step - loss: 0.2831 - val_loss: 0.2789
Epoch 121/150
1700/1700 [==============================] - 0s 73us/step - loss: 0.2830 - val_loss: 0.2788
Epoch 122/150
1700/1700 [==============================] - 0s 73us/step - loss: 0.2830 - val_loss: 0.2787
Epoch 123/150
1700/1700 [==============================] - 0s 71us/step - loss: 0.2829 - val_loss: 0.2787
Epoch 124/150
1700/1700 [==============================] - 0s 71us/step - loss: 0.2828 - val_loss: 0.2786
Epoch 125/150
1700/1700 [==============================] - 0s 70us/step - loss: 0.2828 - val_loss: 0.2785
Epoch 126/150
1700/1700 [==============================] - 0s 70us/step - loss: 0.2827 - val_loss: 0.2785
Epoch 127/150
1700/1700 [==============================] - 0s 71us/step - loss: 0.2826 - val_loss: 0.2784
Epoch 128/150
1700/1700 [==============================] - 0s 70us/step - loss: 0.2826 - val_loss: 0.2784
Epoch 129/150
1700/1700 [==============================] - 0s 71us/step - loss: 0.2825 - val_loss: 0.2783
Epoch 130/150
1700/1700 [==============================] - 0s 70us/step - loss: 0.2824 - val_loss: 0.2782
Epoch 131/150
1700/1700 [==============================] - 0s 70us/step - loss: 0.2823 - val_loss: 0.2782
Epoch 132/150
1700/1700 [==============================] - 0s 68us/step - loss: 0.2823 - val_loss: 0.2781
Epoch 133/150
1700/1700 [==============================] - 0s 70us/step - loss: 0.2822 - val_loss: 0.2780
Epoch 134/150
1700/1700 [==============================] - 0s 70us/step - loss: 0.2821 - val_loss: 0.2780
Epoch 135/150
1700/1700 [==============================] - 0s 70us/step - loss: 0.2821 - val_loss: 0.2779
Epoch 136/150
1700/1700 [==============================] - 0s 71us/step - loss: 0.2820 - val_loss: 0.2778
Epoch 137/150
1700/1700 [==============================] - 0s 70us/step - loss: 0.2820 - val_loss: 0.2778
Epoch 138/150
1700/1700 [==============================] - 0s 73us/step - loss: 0.2819 - val_loss: 0.2777
Epoch 139/150
1700/1700 [==============================] - 0s 73us/step - loss: 0.2818 - val_loss: 0.2776
Epoch 140/150
1700/1700 [==============================] - 0s 71us/step - loss: 0.2818 - val_loss: 0.2776
Epoch 141/150
1700/1700 [==============================] - 0s 70us/step - loss: 0.2817 - val_loss: 0.2775
Epoch 142/150
1700/1700 [==============================] - 0s 71us/step - loss: 0.2816 - val_loss: 0.2774
Epoch 143/150
1700/1700 [==============================] - 0s 73us/step - loss: 0.2816 - val_loss: 0.2774
Epoch 144/150
1700/1700 [==============================] - 0s 70us/step - loss: 0.2815 - val_loss: 0.2773
Epoch 145/150
1700/1700 [==============================] - 0s 70us/step - loss: 0.2814 - val_loss: 0.2773
Epoch 146/150
1700/1700 [==============================] - 0s 70us/step - loss: 0.2814 - val_loss: 0.2772
Epoch 147/150
1700/1700 [==============================] - 0s 72us/step - loss: 0.2813 - val_loss: 0.2772
Epoch 148/150
1700/1700 [==============================] - 0s 71us/step - loss: 0.2813 - val_loss: 0.2771
Epoch 149/150
1700/1700 [==============================] - 0s 72us/step - loss: 0.2812 - val_loss: 0.2770
Epoch 150/150
1700/1700 [==============================] - 0s 69us/step - loss: 0.2811 - val_loss: 0.2770
&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;div class=&quot;output_area&quot;&gt;

&lt;div class=&quot;prompt&quot;&gt;&lt;/div&gt;


&lt;div class=&quot;output_subarea output_stream output_stderr output_text&quot;&gt;
&lt;pre&gt;/opt/conda/lib/python3.6/site-packages/ipykernel_launcher.py:41: UserWarning: Update your `Model` call to the Keras 2 API: `Model(inputs=Tensor(&amp;#34;in..., outputs=Tensor(&amp;#34;de...)`
&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;
&lt;div class=&quot;cell border-box-sizing code_cell rendered&quot;&gt;
&lt;div class=&quot;input&quot;&gt;
&lt;div class=&quot;prompt input_prompt&quot;&gt;In&amp;nbsp;[12]:&lt;/div&gt;
&lt;div class=&quot;inner_cell&quot;&gt;
    &lt;div class=&quot;input_area&quot;&gt;
&lt;div class=&quot; highlight hl-ipython3&quot;&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class=&quot;c1&quot;&gt;# Visualising the clusters&lt;/span&gt;
&lt;span class=&quot;kn&quot;&gt;from&lt;/span&gt; &lt;span class=&quot;nn&quot;&gt;mpl_toolkits.mplot3d&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;axes3d&lt;/span&gt;
&lt;span class=&quot;kn&quot;&gt;from&lt;/span&gt; &lt;span class=&quot;nn&quot;&gt;matplotlib&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;style&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;style&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;use&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;ggplot&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;

&lt;span class=&quot;n&quot;&gt;fig&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;plt&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;figure&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;figsize&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;10&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;6&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;))&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;ax1&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;fig&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;add_subplot&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;111&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;projection&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;3d&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;ax1&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;w_xaxis&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;set_pane_color&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;((&lt;/span&gt;&lt;span class=&quot;mf&quot;&gt;0.7&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;mf&quot;&gt;0.7&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;mf&quot;&gt;0.7&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;mf&quot;&gt;1.0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;))&lt;/span&gt; &lt;span class=&quot;c1&quot;&gt;# During the previous visualisation&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;ax1&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;w_yaxis&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;set_pane_color&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;((&lt;/span&gt;&lt;span class=&quot;mf&quot;&gt;0.7&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;mf&quot;&gt;0.7&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;mf&quot;&gt;0.7&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;mf&quot;&gt;1.0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;))&lt;/span&gt; &lt;span class=&quot;c1&quot;&gt;# the colors were difficult to see&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;ax1&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;w_zaxis&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;set_pane_color&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;((&lt;/span&gt;&lt;span class=&quot;mf&quot;&gt;0.7&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;mf&quot;&gt;0.7&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;mf&quot;&gt;0.7&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;mf&quot;&gt;1.0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;))&lt;/span&gt; &lt;span class=&quot;c1&quot;&gt;# with the light gray background, color tuning&lt;/span&gt;

&lt;span class=&quot;n&quot;&gt;x3d&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;encoded_out&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[:,&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;y3d&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;encoded_out&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[:,&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;z3d&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;encoded_out&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[:,&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;

&lt;span class=&quot;n&quot;&gt;plot&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;ax1&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;scatter&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x3d&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;y3d&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;z3d&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;c&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;y_test_auto&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;cmap&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&amp;quot;viridis&amp;quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;marker&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;o&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;ax1&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;set_xlabel&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;Coded_1&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;ax1&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;set_ylabel&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;Coded_2&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;ax1&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;set_zlabel&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;Coded_3&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;cb&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;plt&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;colorbar&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;plot&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;cb&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;set_ticks&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;loc&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;cb&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;set_ticklabels&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;classes&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;plt&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;show&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;div class=&quot;output_wrapper&quot;&gt;
&lt;div class=&quot;output&quot;&gt;


&lt;div class=&quot;output_area&quot;&gt;

&lt;div class=&quot;prompt&quot;&gt;&lt;/div&gt;




&lt;div class=&quot;output_png output_subarea &quot;&gt;
&lt;img src=&quot;data:image/png;base64,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
KTS2AAAAAElFTkSuQmCC
&quot;
&gt;
&lt;/div&gt;

&lt;/div&gt;

&lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;
&lt;div class=&quot;cell border-box-sizing text_cell rendered&quot;&gt;&lt;div class=&quot;prompt input_prompt&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;inner_cell&quot;&gt;
&lt;div class=&quot;text_cell_render border-box-sizing rendered_html&quot;&gt;
&lt;p&gt;The results of the dimensionalty reduction using the autoencoder are not as expected but can still provide interesting insights.
We could have expected three different clusters for the three NSP classes, or even ten clusters for the ten fetus classes. Instead we can see around seven clusters. All of them could be understood as their own particular class with different risks for the fetus. 
For example, we find a cluster of suspect cases that is very close to the cluster of pathological cases, they could be interpreted as highly suspect and hence refine or even re-define the classes we used before, would it be for pathological classification or for the fetus classifiaction.
We decided to use the k-means algorithm to efficiently label the groups we found using the autoencoder. We will then insert these new classes in our dataset and study them to see if they can describe the problem in a more efficient way.&lt;/p&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;cell border-box-sizing code_cell rendered&quot;&gt;
&lt;div class=&quot;input&quot;&gt;
&lt;div class=&quot;prompt input_prompt&quot;&gt;In&amp;nbsp;[13]:&lt;/div&gt;
&lt;div class=&quot;inner_cell&quot;&gt;
    &lt;div class=&quot;input_area&quot;&gt;
&lt;div class=&quot; highlight hl-ipython3&quot;&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class=&quot;kn&quot;&gt;from&lt;/span&gt; &lt;span class=&quot;nn&quot;&gt;sklearn.cluster&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;KMeans&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;kmeans&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;KMeans&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;n_clusters&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;7&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;init&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;s1&quot;&gt;&amp;#39;k-means++&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;random_state&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;42&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;y_kmeans&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;kmeans&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;fit_predict&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;encoded_out&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;
&lt;div class=&quot;cell border-box-sizing code_cell rendered&quot;&gt;
&lt;div class=&quot;input&quot;&gt;
&lt;div class=&quot;prompt input_prompt&quot;&gt;In&amp;nbsp;[14]:&lt;/div&gt;
&lt;div class=&quot;inner_cell&quot;&gt;
    &lt;div class=&quot;input_area&quot;&gt;
&lt;div class=&quot; highlight hl-ipython3&quot;&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class=&quot;c1&quot;&gt;# Visualising the clusters&lt;/span&gt;
&lt;span class=&quot;kn&quot;&gt;from&lt;/span&gt; &lt;span class=&quot;nn&quot;&gt;mpl_toolkits.mplot3d&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;axes3d&lt;/span&gt;
&lt;span class=&quot;kn&quot;&gt;from&lt;/span&gt; &lt;span class=&quot;nn&quot;&gt;matplotlib&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;style&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;style&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;use&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;ggplot&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;

&lt;span class=&quot;n&quot;&gt;fig&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;plt&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;figure&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;figsize&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;10&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;6&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;))&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;loc&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;3&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;4&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;5&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;6&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;classes&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;Group 1&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;Group 2&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;Group 3&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;Group 4&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;Group 5&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;Group 6&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;Group 7&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;ax1&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;fig&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;add_subplot&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;111&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;projection&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;3d&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;ax1&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;w_xaxis&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;set_pane_color&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;((&lt;/span&gt;&lt;span class=&quot;mf&quot;&gt;0.7&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;mf&quot;&gt;0.7&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;mf&quot;&gt;0.7&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;mf&quot;&gt;1.0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;))&lt;/span&gt; &lt;span class=&quot;c1&quot;&gt;# During the previous visualisation&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;ax1&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;w_yaxis&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;set_pane_color&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;((&lt;/span&gt;&lt;span class=&quot;mf&quot;&gt;0.7&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;mf&quot;&gt;0.7&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;mf&quot;&gt;0.7&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;mf&quot;&gt;1.0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;))&lt;/span&gt; &lt;span class=&quot;c1&quot;&gt;# the colors were difficult to see&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;ax1&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;w_zaxis&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;set_pane_color&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;((&lt;/span&gt;&lt;span class=&quot;mf&quot;&gt;0.7&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;mf&quot;&gt;0.7&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;mf&quot;&gt;0.7&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;mf&quot;&gt;1.0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;))&lt;/span&gt; &lt;span class=&quot;c1&quot;&gt;# with the light gray background, color tuning&lt;/span&gt;

&lt;span class=&quot;n&quot;&gt;x3d&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;encoded_out&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[:,&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;y3d&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;encoded_out&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[:,&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;z3d&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;encoded_out&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[:,&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;

&lt;span class=&quot;n&quot;&gt;ploto&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;ax1&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;scatter&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x3d&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;y3d&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;z3d&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;c&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;y_kmeans&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;cmap&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&amp;quot;viridis&amp;quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;cb&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;plt&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;colorbar&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;ploto&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;cb&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;set_ticks&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;loc&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;cb&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;set_ticklabels&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;classes&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;ax1&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;set_xlabel&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;Coded 1&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;ax1&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;set_ylabel&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;Coded 2&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;ax1&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;set_zlabel&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;Coded 3&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;plt&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;title&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;Clustering of the groups found with the AE&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;plt&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;show&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;div class=&quot;output_wrapper&quot;&gt;
&lt;div class=&quot;output&quot;&gt;


&lt;div class=&quot;output_area&quot;&gt;

&lt;div class=&quot;prompt&quot;&gt;&lt;/div&gt;




&lt;div class=&quot;output_png output_subarea &quot;&gt;
&lt;img src=&quot;data:image/png;base64,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
AElFTkSuQmCC
&quot;
&gt;
&lt;/div&gt;

&lt;/div&gt;

&lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;
&lt;div class=&quot;cell border-box-sizing text_cell rendered&quot;&gt;&lt;div class=&quot;prompt input_prompt&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;inner_cell&quot;&gt;
&lt;div class=&quot;text_cell_render border-box-sizing rendered_html&quot;&gt;
&lt;p&gt;Now that the new groups have been defined, we will insert them into our dataset and study them the same way we studied the fetus classes given in the dataset. This way we will be able to compare the labelling of the problem and see if the groups found by the autoencoder and by the k-means can represent the problem in a more efficient way.&lt;/p&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;cell border-box-sizing code_cell rendered&quot;&gt;
&lt;div class=&quot;input&quot;&gt;
&lt;div class=&quot;prompt input_prompt&quot;&gt;In&amp;nbsp;[15]:&lt;/div&gt;
&lt;div class=&quot;inner_cell&quot;&gt;
    &lt;div class=&quot;input_area&quot;&gt;
&lt;div class=&quot; highlight hl-ipython3&quot;&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;dataset2&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;pd&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;DataFrame&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;data&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;X_test_auto&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;dataset2&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;NSP&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;y_test_auto&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;dataset2&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;New Groups&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;y_kmeans&lt;/span&gt;
&lt;span class=&quot;c1&quot;&gt;#Succesfully added our new groups to the corresponding dataframe&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;
&lt;div class=&quot;cell border-box-sizing code_cell rendered&quot;&gt;
&lt;div class=&quot;input&quot;&gt;
&lt;div class=&quot;prompt input_prompt&quot;&gt;In&amp;nbsp;[16]:&lt;/div&gt;
&lt;div class=&quot;inner_cell&quot;&gt;
    &lt;div class=&quot;input_area&quot;&gt;
&lt;div class=&quot; highlight hl-ipython3&quot;&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class=&quot;c1&quot;&gt;# Distribution of the newfound classes&lt;/span&gt;

&lt;span class=&quot;kn&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;nn&quot;&gt;matplotlib.cm&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;as&lt;/span&gt; &lt;span class=&quot;nn&quot;&gt;cm&lt;/span&gt; &lt;span class=&quot;c1&quot;&gt;# To make pretty graphs&lt;/span&gt;
&lt;span class=&quot;kn&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;nn&quot;&gt;seaborn&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;as&lt;/span&gt; &lt;span class=&quot;nn&quot;&gt;sns&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;color&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;sns&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;color_palette&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt;

&lt;span class=&quot;n&quot;&gt;cnt_srs&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;dataset2&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;New Groups&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;value_counts&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;cnt_srs&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;cnt_srs&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;head&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;10&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;plt&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;figure&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;figsize&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;12&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;6&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;))&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;sns&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;barplot&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;cnt_srs&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;index&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;cnt_srs&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;values&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;alpha&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;mf&quot;&gt;0.8&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;color&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;color&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;3&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;])&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;N&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;7&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;ind&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;np&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;arange&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;N&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt; 
&lt;span class=&quot;n&quot;&gt;plt&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;xticks&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;ind&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;Group 1&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;Group 2&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;Group 3&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;Group 4&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;Group 5&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;Group 6&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;Group 7&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;))&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;plt&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;ylabel&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;Number of Cases&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;fontsize&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;12&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;plt&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;title&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;Distribution of the New Classes&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;fontsize&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;18&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;plt&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;show&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;div class=&quot;output_wrapper&quot;&gt;
&lt;div class=&quot;output&quot;&gt;


&lt;div class=&quot;output_area&quot;&gt;

&lt;div class=&quot;prompt&quot;&gt;&lt;/div&gt;




&lt;div class=&quot;output_png output_subarea &quot;&gt;
&lt;img src=&quot;data:image/png;base64,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
lY+Pj/WFmEVl1psG5fwVomzZskWe6nMnEyZM0MCBA/Xuu+/mqTcgIEC+vr5KSUmxedywsDCtWbNG
//rXv5SRkWG9a9uhQwfNnj1be/bskWEY1rvchWnTpo0qVaqknTt3KiEh4a7/HbZs2aIyZcpoxYoV
uZ505jy2f6906dLq2rWr9Xs1OjpazzzzjJYtW6bp06dbjwsODlZwcLD+8pe/KCkpSY899pjmzJmj
oUOHys3NTbVq1VJCQoLCwsJsegJYrlw59erVS7169ZIkrVq1Sm+88YbWr1+vUaNG3dW1A/cL5lwD
95GsrCzNnj1bR44cUdeuXQtdvSJnPuhvubm5qUmTJpJy//na29u7wLmyd2vNmjVKTk62fp6cnKy1
a9fK19c31/zY2rVr6+jRo0pNTbVuS0xMzHdpN29v7zy1F6Znz56yWCz67LPPcm1ft26dLBaL6W98
0rNnT2VnZ+uDDz7ItT06OlonT54s8nSc3yrqtRekc+fOCgwMLHB+9K1bt+44l78gOe8gunXr1jzz
/N3d3dWvXz/9+9//1ldffZXv11+7di3X52FhYcrOztbChQsVFBRkvdMbFham9PR0ffDBB/L09Lzj
Ki7S7ZA7duxY3bhxQ+PGjcv3GtPS0jR37txCr9/Dw0Nubm655s4bhqHFixfnOfa3y+3l+P333/Xr
1/PMw/f19VX16tWVmpqqtLQ0SdKAAQN05coVLVu2LN+6fjuVJ79xmzZtmmtcAAXjzjVwjzp58qS2
bNkiSbneofHixYvq3Lmz5syZU+jX37hxQ507d1b37t3VpEkTBQQE6MKFC1qzZo0qVKigbt26WY9t
1aqVDh48qA8++EBBQUFyc3NTnz59ilW/v7+/HnvsMQ0cOFCGYWjjxo2Kj4/X3/72t1x3/IYOHaqJ
EyfqqaeeUv/+/ZWUlKTPPvtMQUFBunLlSq5ztmzZUtLtZf769eunMmXKqEGDBgoODs63hlGjRumr
r77SG2+8oZMnT6px48Y6deqU1q9frzp16ph+B+/RRx/Vpk2b9M9//lMXL15USEiI/vOf/2j16tWq
WLGixo8ff9fnrl+/vsqVK6fVq1fLy8tLvr6+CggIKHQObn68vb01e/ZsjRkzRn/84x81cOBA1apV
S0lJSfr555/1zTffaOHChQoNDb2rOseOHasdO3boxIkTefaNGzdOcXFxGjt2rB5++GG1bNlSpUqV
si5P17RpU/3jH/+wHh8aGip3d3edPXs21/KN9evXV6VKlXTmzBm1bt3a5hcpDho0SJcuXdLChQv1
0EMPqW/fvqpfv76ys7N19uxZffXVV7JYLHrmmWcKPEevXr20Y8cOPfXUUxowYIAyMzO1c+fOXE8O
c4wcOVI+Pj5q166dHnjgASUlJWnTpk1yc3OzvkHU5s2b9fHHH6tnz56qVauWPD09FRsbq3379unh
hx+2vnjyz3/+sw4cOKC33npLMTExCgsLk4+Pj+Lj4xUTE6PSpUvrk08+kST17t1brVq1UosWLVS5
cmVduXJF69atU6lSpYr9fQ3cDwjXwD1q27Zt2rZtm9zd3eXt7a2qVauqXbt2mjFjhnVVh8J4eXnp
qaeess73vHHjhipXrqzu3bvr2WefVZUqVazHTp8+XW+88YaWLFlifcFXcX8JT5gwQd9++61WrVql
q1evqnbt2tZQ/FuPPPKILl++rFWrVmnWrFmqUaOGRo8eLXd3d33//fe5jm3btq0mTJigtWvXatq0
acrMzNQLL7xQYLguX7681qxZo8jISEVFRWnjxo0KDAxURESEXnzxRdPf4rpUqVL68MMPtXjxYm3f
vl3ffPONypcvrz/+8Y8aO3asHnjggbs+t5eXl+bNm6f58+fr73//u9LT09W+ffsih2tJ6tKli9av
X68PPvhAW7duVUJCgnx9fVWzZk0NHz680LXD76RGjRqKiIiwBr3fyvn3+Oijj/TVV19p165d8vDw
UNWqVdW2bVs99thjuY6vUKGCGjdurBMnTuQJ+6Ghodq2bVuRnwS88MIL6tq1q1auXKmdO3dqzZo1
cnd3V82aNdW7d28NGTKk0MdFnz59dOPGDS1fvlyzZ8+2PlF95ZVX8tQyZMgQffnll/r000+VmJgo
Pz8/NW7cWK+99pp1KktoaKhOnTql3bt368qVK3J3d1f16tU1adIk63xr6fZj6/3339fq1au1ZcsW
6xvsVK5cWc2bN8+1/vyIESMUHR2tTz75RMnJyQoMDFTLli317LPPqlGjRkXqF3A/cjMc/QoaAAAA
4B7BnGsAAADAJIRrAAAAwCSEawAAAMAkhGsAAADAJIRrAAAAwCSEawAAAMAk99Q61/Hx8Y4uAQAA
APe4oKCgAvdx5xoAAAAwCeEaAAAAMAnhGgAAADAJ4RoAAAAwCeEaAAAAMAnhGgAAADAJ4RoAAAAw
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
aYTru9SsWTNlZGTo66+/tm5LT08v8PjGjRvr4MGDys7OVlJSkk6dOqX69eurYsWKunDhgjIyMnTz
5k0dO3Ys19cdOHDA+v8GDRrY52JckLP0/+rVq3rnnXf0wgsv3Dd3LZyl95cuXbL+gP7555+VmZl5
Xzy5cZb+L1q0yPpfWFiYRo0a5ZDVSkqas/T/+vXr1sf/mTNnlJ2dfc8//p2l9yEhIfrhhx+UlZWl
tLQ0nTlzRtWqVTPpKp2Xs/Rfkm7evKmTJ08qJCTEhCszH9NC7pKbm5smTpyojz/+WFu2bJGvr6+8
vLw0dOjQfI9v3769dX6cJA0bNkx+fn6SpA4dOmjChAl64IEH8sxnysjI0NSpU2UYhl5++eU8571+
/bomT56s1NRUubm5afv27Zo7d668vb1NvmLn4iz9X79+vVJSUrR06VJJt5+R/+Mf/zDzUp2Os/Q+
JiZGe/bskYeHh0qXLq1x48bdF3/dcZb+36+cpf8xMTH6+uuvrY//sWPH3vOPf2fpffXq1dWqVStN
mDBB7u7u6t69u2rWrGny1TofZ+m/dPv1Njl/PXBGvP25ExszZoxmzZolX19fR5dyX6L/jkPvHYv+
Oxb9dxx671j3Sv+ZFgIAAACYhDvXAAAAgEm4cw0AAACYhHANAAAAmIRwDQAAAJiEcA0AAACYhHAN
AAAAmIRwDQAAAJjk/wF9oqxnKf4hZwAAAABJRU5ErkJggg==
&quot;
&gt;
&lt;/div&gt;

&lt;/div&gt;

&lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;
&lt;div class=&quot;cell border-box-sizing code_cell rendered&quot;&gt;
&lt;div class=&quot;input&quot;&gt;
&lt;div class=&quot;prompt input_prompt&quot;&gt;In&amp;nbsp;[17]:&lt;/div&gt;
&lt;div class=&quot;inner_cell&quot;&gt;
    &lt;div class=&quot;input_area&quot;&gt;
&lt;div class=&quot; highlight hl-ipython3&quot;&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;dataset2&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[[&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;New Groups&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;NSP&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]]&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;plt&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;figure&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;figsize&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;12&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;6&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;))&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;N&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;7&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;zeroesddf&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;pd&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;DataFrame&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;data&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;np&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;zeros&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;7&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,),&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;index&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;3&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;4&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;5&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;6&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;])&lt;/span&gt;

&lt;span class=&quot;n&quot;&gt;ind&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;np&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;arange&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;N&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;    &lt;span class=&quot;c1&quot;&gt;# the x locations for the groups&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;width&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;mf&quot;&gt;0.50&lt;/span&gt;    &lt;span class=&quot;c1&quot;&gt;# the width of the bars: can also be len(x) sequence&lt;/span&gt;

&lt;span class=&quot;n&quot;&gt;plt&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;figure&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;figsize&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;12&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;6&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;))&lt;/span&gt;

&lt;span class=&quot;k&quot;&gt;for&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;nsp_i&lt;/span&gt; &lt;span class=&quot;ow&quot;&gt;in&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;3&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]:&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;norm&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;x&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;loc&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;NSP&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;nsp_i&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)]&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;drop&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;NSP&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;axis&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;norm&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;pd&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;value_counts&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;norm&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;New Groups&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;values&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;sort&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;kc&quot;&gt;False&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;))&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;sort_index&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;norm&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;pd&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;DataFrame&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;data&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;norm&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;index&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;norm&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;index&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;norm&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;zeroesddf&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;add&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;norm&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;axis&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;index&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;fill_value&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt; 
    &lt;span class=&quot;n&quot;&gt;norm&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;norm&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;values&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;reshape&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
    &lt;span class=&quot;k&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;nsp_i&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;==&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;
        &lt;span class=&quot;n&quot;&gt;p1&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;plt&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;bar&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;ind&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;norm&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;width&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
    &lt;span class=&quot;k&quot;&gt;elif&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;nsp_i&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;==&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;2&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;
        &lt;span class=&quot;n&quot;&gt;p2&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;plt&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;bar&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;ind&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;norm&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;width&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
    &lt;span class=&quot;k&quot;&gt;elif&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;nsp_i&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;==&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;3&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;
        &lt;span class=&quot;n&quot;&gt;p3&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;plt&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;bar&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;ind&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;norm&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;width&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;

&lt;span class=&quot;n&quot;&gt;plt&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;ylabel&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;Number of Cases&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;plt&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;title&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;Distribution of NSP accross the new classes&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;plt&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;xticks&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;ind&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;Group 1&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;Group 2&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;Group 3&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;Group 4&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;Group 5&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;Group 6&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;Group 7&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;))&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;plt&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;legend&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;((&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;p1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;],&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;p2&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;],&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;p3&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]),&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;Normal&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;s1&quot;&gt;&amp;#39;Suspect&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;s1&quot;&gt;&amp;#39;Pathologic&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;))&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;plt&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;show&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;div class=&quot;output_wrapper&quot;&gt;
&lt;div class=&quot;output&quot;&gt;


&lt;div class=&quot;output_area&quot;&gt;

&lt;div class=&quot;prompt&quot;&gt;&lt;/div&gt;




&lt;div class=&quot;output_text output_subarea &quot;&gt;
&lt;pre&gt;&amp;lt;matplotlib.figure.Figure at 0x7f1d447db7f0&amp;gt;&lt;/pre&gt;
&lt;/div&gt;

&lt;/div&gt;

&lt;div class=&quot;output_area&quot;&gt;

&lt;div class=&quot;prompt&quot;&gt;&lt;/div&gt;




&lt;div class=&quot;output_png output_subarea &quot;&gt;
&lt;img src=&quot;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAtcAAAF2CAYAAAClJrSLAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz
AAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMS4wLCBo
dHRwOi8vbWF0cGxvdGxpYi5vcmcvpW3flQAAIABJREFUeJzs3Xl8jPf+//9nFrGFkIgl9iWLEFst
sa/VnrZUS2sp5yC6pVVLj7Vqq4rWvlaVCtWFlio91ao6QhFC6CeoJVpLRI4lhBCJJNfvD1/zayqJ
qVyTyejjfrud2zHXdc37/bpeM+qZK++5xskwDEMAAAAA8szZ3gUAAAAADwvCNQAAAGASwjUAAABg
EsI1AAAAYBLCNQAAAGASwjUAAABgEsI14MDmz5+vRx991CZj79mzR/7+/kpISMj2sdnWrVunwMBA
m4z9IM6fP69//etfatCggfz9/e1dDnIxevRo9e/f395l2BU9AAoOwjVQwIwePVr+/v7y9/dXYGCg
mjZtqp49e2rBggW6evVqlmMHDhyo1atXWz32o48+qvnz51t1bMOGDfXzzz+rbNmyf6n++0lISJC/
v7/27NmTZfsTTzyh7du3mzpXXixevFiJiYlav369fv7552yPufsDR5s2bZSSkpJl35/DTmZmppYt
W6annnpKDRo0UOPGjdW1a1fNnj3bcsy6dessr72/v79atGihl19+WceOHbPJOTqaffv2yd/fX3Fx
cfYuBQBy5GrvAgDcq3HjxpozZ44yMzN17do1/fLLL1q6dKm++OILffLJJ6pevbokqXjx4ipevLjp
86elpcnNzU3e3t6mj52TIkWKqEiRIvk23/2cPn1aQUFBqlat2n2PTUpK0tKlSzV48OAcj1m4cKFW
rlypcePGqWHDhkpNTdWJEyd08ODBLMe5uLgoIiJCkhQXF6d3331XISEh2rRpk0qUKJGnczLL3fcH
AOBeXLkGCqBChQrJ29tb5cqVk6+vr3r06KGvvvpKRYoU0YQJEyzH/XlZSEJCggYPHqxmzZqpXr16
6tixo5YuXSpJ6tevn86cOaMFCxZYrozGxcVZrr5u27ZNvXv3VlBQkNasWZPjMpAjR46oR48eCgoK
0pNPPqmdO3da9uX0nMDAQK1bt06S1LZtW0nSP//5T/n7+6tDhw6Ssl8WEhERoWeffVZ169ZV8+bN
NXHiRN28edOy/+7V4dWrV6t9+/Zq1KiRXn31VSUmJuba3+TkZI0fP17BwcEKCgrSs88+m+XqtL+/
v3bv3q21a9fK399fo0ePznW8/v37a9myZfrf//6X4zFbtmxRjx499PTTT6tKlSry9fXVE088obFj
x95zrLe3t7y9vdWwYUONGTNGFy9evCeE32UYhsaNG6dOnTpZXvNZs2YpLS0ty3G7du1Snz59VL9+
fT3yyCPq27evzpw5Y9n/3Xff6dlnn1VQUJCaNWumQYMGKSkpSdKd987YsWM1Z84ctWrVSm3atLGq
j9Kd3wB07NhRdevWVXBwsEJCQnTr1i1Jub9f/ywuLk4vvPCCJKljx47y9/dXv379shxzv/fBzp07
1atXL9WrV0+tW7fWmDFjdOXKlWznu8vf31+ffvqpRowYoYYNG6pt27b66KOPshyTnp6u+fPnq0OH
Dpa/F1988YVl/+zZs9W7d2/L48jISPn7+2f5rcW8efPUo0ePXGvJ7TX6s8OHD2vQoEFq3ry5GjZs
qO7du9/zm6EtW7aoW7duql+/vho3bqwePXroyJEjkqTbt28rLCxMbdq0Ud26ddWqVSsNGzYsy/P/
85//6Omnn1ZQUJA6dOigsLCwLH8/9+3bp169eqlhw4Zq2LChunbtqh07duR6jsDDgCvXgINwd3dX
7969NX36dCUmJsrT0/OeYyZOnKhbt24pPDxcJUqUUFxcnC5duiTpThB/9tln9dhjj2ngwIGSJE9P
T507d06SNG3aNI0YMUJ+fn4qVKiQTp8+nW0d06ZN05gxY1SlShUtW7ZMr776qn788UeVK1fOqvP4
+uuv9cwzz2j+/Plq2LChXFxcsj3u6NGjevXVV9W3b19Nnz5dcXFxmjBhgm7cuKHp06dbjouJiZGn
p6c+/PBDJScn680339R7772n9957L8caxo4dq0OHDmn69Ony8fHR559/rldeeUXffPONatasqZ9/
/lmDBw9WxYoVNXr06PteUX/++ef1008/adasWTnO6+3trb179+p///uf1b2SZJk7PT092/2GYcjL
y0szZ86Ul5eXjh07pgkTJsjV1VVvvPGGpDvBOiQkRH379tX48eNVqFAhRUdH6/bt25KktWvXavz4
8QoNDdX777+v9PR07dmzRxkZGZZ5Nm3apC5duig8PNyy/X593Lx5s5YsWaIZM2YoICBASUlJWZYD
5fZ+/bMKFSpo0aJFCg0N1ZdffqkKFSqoUKFClv33ex/s3r1boaGh+ve//61p06bp2rVrmj59ul5/
/XWtWrVKTk5OOb4GCxcu1NChQzV48GBt27ZN7777roKCghQcHCxJGjdunA4fPqzJkyeratWqiomJ
0fjx4+Xi4qLnnntOwcHBWrp0qW7cuKHixYsrMjJSnp6eioyMtMwRGRlpGS871rxGf5ScnKwnn3xS
o0ePlouLi9avX6/Q0FBt3LhR1atX18WLFzV06FANGTJEjz/+uNLS0nTkyBHL38dVq1Zp06ZNmj59
uipXrqxLly4pOjraMv66desUFhamt956S4888ogSEhI0efJkJSYmavr06crIyFBoaKieeeYZTZs2
TZJ04sQJFS1aNMdzBB4aBoACZdSoUca//vWvbPdFREQYfn5+xi+//GIYhmHMmzfP6NSpk2V/ly5d
jHnz5uU4dqdOne7ZHxkZafj5+Rlff/11ttvPnz+f5fGaNWssx9y+fdto166dMWvWrGyfc1ft2rWN
tWvXGoZhGOfPnzf8/PyMyMjILMesXbvWqF27tuXxv//9b6N79+5Zjvnxxx8Nf39/Iy4uzjCMO71q
1qyZkZqaajnmww8/NFq2bJljD06dOmX4+fkZ27Zty7K9W7duxujRoy2P+/bta4wdOzbHcf58vtu3
bzf8/f2NmJgYS21/fB1jY2ONJ5980vD39zc6d+5sjBw50vjmm2+M27dv59iDy5cvGy+//LLRqFEj
49KlS7nW8kfLly83Hn30Ucvj3r17Gy+99FKOx7dt29aYNGlSjvv79u1rdO7c2cjIyLBss6aPy5cv
Nzp37mykpaVlO+793q9/FhUVZfj5+Rlnz57Nst2a90Hfvn2N6dOnZ3neuXPnDD8/P+PIkSM5zunn
52e88847WbY99thjxowZMwzDMIwzZ84Y/v7+RmxsbJZj5s+fb3Tt2tUwDMO4deuWERQUZOlVz549
jWXLlhmBgYHG9evXjZs3bxp16tQxduzYkWMd93uNcvvvxl1dunQxFi1aZBiGYRw+fDjbXt71zjvv
GP369TMyMzOz3d++fXvjs88+y7Jt7969hp+fn3H16lXj6tWr2f49B/4OuHINOBDDMHLd/69//UsT
JkzQ9u3b1bRpU7Vr105NmjSxaux69epZdVzDhg0tf3Z1dVVQUJBOnjxp1XP/itjY2Huu5DVt2lSG
YSg2NlYVK1aUJNWsWTPL+t+yZcvmePXz7rjSnXXtf9S4ceMcl15Yo3Xr1mrVqpWmTZumVatW3bO/
Zs2a2rhxo3799Vft379fBw4c0Lhx4xQeHq7PPvvMcoU6IyPD0uObN2+qRo0amjdvnry8vHKce82a
Nfryyy917tw5paSkKD09Pct75fDhw3rzzTezfe7ly5d1/vx5tWzZMtfzq1Onjpyd//+VhNb08R//
+IdWrlyp9u3bq1WrVgoODlanTp3k7u4uKW/v1z+73/sgJiZGBw8e1KeffnrPc0+dOqXatWvnOHZA
QECWx+XKlbOMfejQIRmGcc+SjvT0dMtV4MKFC6tBgwaKjIxU48aNdejQIc2dO1dr165VVFSUXF3v
/FP8yCOPZDu/ta/RHyUmJmrevHmKjIzUpUuXlJGRodTUVMXHx0u6s9ylVatW6tKli1q0aKGmTZuq
c+fOqlChgiSpe/fuGjBggB599FG1aNFCLVu2VPv27eXm5qbExESdO3dO06ZN0/vvv2+Z8+577vTp
06pXr56ee+45hYSEKDg4WE2bNlWnTp1Uo0YNq88BcFSEa8CBnDhxQk5OTqpcuXK2+7t3767WrVtr
x44d2rNnj1588UV16tRJM2bMuO/YxYoVy3N9d8PXH4NdRkaGMjMz8zz2H/3xV/h/XBpwd9/9fgjJ
jmEYuS4NsMbo0aP19NNP64cffsh2v5OTkwIDAxUYGKh+/fpp3759euGFF7Rp0yY988wzkmT5Fb6T
k5M8PT0tQTQnmzZt0uTJk/Xmm2+qSZMmcnd31/fff59lPe/duXNzv/3W/jr/j30sV66cvv/+e0VG
RioyMlIffPCBZsyYYVnWkZf365/d732QmZmpF198UU8//fQ9zy1TpswDj333/z///PN7evTHngYH
B2vz5s0KDg5WpUqVVK5cOQUHB2v37t0qVKiQ6tevf98e/5X35+jRo3X+/HmNGDFClSpVUpEiRTRs
2DDLUiAXFxctXbpUMTEx2rVrlzZv3qyZM2dq7ty5at++vWrXrq2ffvpJu3bt0p49e/Tuu+9q7ty5
WrNmjeXv81tvvaVmzZrdM3f58uUlSVOmTNE///lP7dy5Uzt37tTcuXP19ttvq1evXlafB+CI+EAj
4CCSk5P1+eefq3nz5ipdunSOx5UtW1bdu3fX+++/r3fffVcbN25UcnKypDshIac1mtb649Xd9PR0
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
&quot;
&gt;
&lt;/div&gt;

&lt;/div&gt;

&lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;
&lt;div class=&quot;cell border-box-sizing text_cell rendered&quot;&gt;&lt;div class=&quot;prompt input_prompt&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;inner_cell&quot;&gt;
&lt;div class=&quot;text_cell_render border-box-sizing rendered_html&quot;&gt;
&lt;p&gt;The new groups we previously found while using the autoencoder manage to describe the problem under a new light. While previously our fetus classes were made according to the fetus behavior, these ones have been made with a focus on the possibility of a disease. Much like a BIRADS classification used to describe the risk of breast cancer in a patient, these new classes could allow us to do a statistical risk classification for fetuses.&lt;/p&gt;
&lt;p&gt;0 : No risks at all, Group 4&lt;/p&gt;
&lt;p&gt;1 : Almost no risks, Group 5 &amp;amp; Group 6&lt;/p&gt;
&lt;p&gt;2 : Small risk of pathology, Group3&lt;/p&gt;
&lt;p&gt;3 : Verified risk of pathology, Group2&lt;/p&gt;
&lt;p&gt;4 : Very high risk of pathology, Group 1&lt;/p&gt;
&lt;p&gt;5 : Pathology detected, Group 7&lt;/p&gt;
&lt;p&gt;For a more accurate classification we could use a bigger test sample and see how the AE behaves. Could we get more classes ? Less ? A better definition of the previous classes ? What if we tried with a different type of distance for the AE ? Or for the k-means ? We want to keep this simple so we will not explore these possibilities right now, instead, we will keep an eye on the new groups we created while solving the classification problem when it comes to NSP.&lt;/p&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;cell border-box-sizing text_cell rendered&quot;&gt;&lt;div class=&quot;prompt input_prompt&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;inner_cell&quot;&gt;
&lt;div class=&quot;text_cell_render border-box-sizing rendered_html&quot;&gt;
&lt;p&gt;&lt;strong&gt;Comparing the AE clusters with the classes given in the dataset&lt;/strong&gt;&lt;/p&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;cell border-box-sizing code_cell rendered&quot;&gt;
&lt;div class=&quot;input&quot;&gt;
&lt;div class=&quot;prompt input_prompt&quot;&gt;In&amp;nbsp;[18]:&lt;/div&gt;
&lt;div class=&quot;inner_cell&quot;&gt;
    &lt;div class=&quot;input_area&quot;&gt;
&lt;div class=&quot; highlight hl-ipython3&quot;&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class=&quot;c1&quot;&gt;# Decoding the scaled data&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;Class_test_auto2&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;Class_test_auto&lt;/span&gt;

&lt;span class=&quot;k&quot;&gt;for&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;i&lt;/span&gt; &lt;span class=&quot;ow&quot;&gt;in&lt;/span&gt; &lt;span class=&quot;nb&quot;&gt;range&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;426&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,):&lt;/span&gt;
    &lt;span class=&quot;k&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;Class_test_auto&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;mf&quot;&gt;1.&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;
        &lt;span class=&quot;n&quot;&gt;Class_test_auto2&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;9&lt;/span&gt;
    &lt;span class=&quot;k&quot;&gt;elif&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;Class_test_auto&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;9&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;
        &lt;span class=&quot;n&quot;&gt;Class_test_auto2&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;
    &lt;span class=&quot;k&quot;&gt;elif&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;Class_test_auto&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;9&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;
        &lt;span class=&quot;n&quot;&gt;Class_test_auto2&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;2&lt;/span&gt;
    &lt;span class=&quot;k&quot;&gt;elif&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;Class_test_auto&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;3&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;
        &lt;span class=&quot;n&quot;&gt;Class_test_auto2&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;3&lt;/span&gt;
    &lt;span class=&quot;k&quot;&gt;elif&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;Class_test_auto&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;8&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;9&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;
        &lt;span class=&quot;n&quot;&gt;Class_test_auto2&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;8&lt;/span&gt;
    &lt;span class=&quot;k&quot;&gt;elif&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;Class_test_auto&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;mf&quot;&gt;0.7&lt;/span&gt; &lt;span class=&quot;ow&quot;&gt;and&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;Class_test_auto&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;mf&quot;&gt;0.8&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;
        &lt;span class=&quot;n&quot;&gt;Class_test_auto2&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;7&lt;/span&gt;
    &lt;span class=&quot;k&quot;&gt;elif&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;Class_test_auto&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;mf&quot;&gt;0.4&lt;/span&gt; &lt;span class=&quot;ow&quot;&gt;and&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;Class_test_auto&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;mf&quot;&gt;0.5&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;
        &lt;span class=&quot;n&quot;&gt;Class_test_auto2&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;4&lt;/span&gt;
    &lt;span class=&quot;k&quot;&gt;elif&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;Class_test_auto&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;mf&quot;&gt;0.5&lt;/span&gt; &lt;span class=&quot;ow&quot;&gt;and&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;Class_test_auto&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;mf&quot;&gt;0.6&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;
        &lt;span class=&quot;n&quot;&gt;Class_test_auto2&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;5&lt;/span&gt;
    &lt;span class=&quot;k&quot;&gt;elif&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;Class_test_auto&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;mf&quot;&gt;0.6&lt;/span&gt; &lt;span class=&quot;ow&quot;&gt;and&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;Class_test_auto&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;mf&quot;&gt;0.7&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;
        &lt;span class=&quot;n&quot;&gt;Class_test_auto2&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;6&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;
&lt;div class=&quot;cell border-box-sizing code_cell rendered&quot;&gt;
&lt;div class=&quot;input&quot;&gt;
&lt;div class=&quot;prompt input_prompt&quot;&gt;In&amp;nbsp;[19]:&lt;/div&gt;
&lt;div class=&quot;inner_cell&quot;&gt;
    &lt;div class=&quot;input_area&quot;&gt;
&lt;div class=&quot; highlight hl-ipython3&quot;&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;dataset2&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;CLASS&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;Class_test_auto2&lt;/span&gt;

&lt;span class=&quot;n&quot;&gt;x&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;dataset2&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[[&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;CLASS&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;New Groups&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]]&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;N&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;10&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;zeroesddf&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;pd&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;DataFrame&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;data&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;np&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;zeros&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;10&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,),&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;index&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;3&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;4&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;5&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;6&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;7&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;8&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;9&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;])&lt;/span&gt;

&lt;span class=&quot;n&quot;&gt;ind&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;np&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;arange&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;N&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;    &lt;span class=&quot;c1&quot;&gt;# the x locations for the groups&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;width&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;mf&quot;&gt;0.50&lt;/span&gt;    &lt;span class=&quot;c1&quot;&gt;# the width of the bars: can also be len(x) sequence&lt;/span&gt;

&lt;span class=&quot;n&quot;&gt;plt&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;figure&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;figsize&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;12&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;6&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;))&lt;/span&gt;

&lt;span class=&quot;n&quot;&gt;norm&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[]&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;p&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[]&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;for&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;class_i&lt;/span&gt; &lt;span class=&quot;ow&quot;&gt;in&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;3&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;4&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;5&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;6&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]:&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;temp&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;x&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;loc&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;New Groups&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;class_i&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)]&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;drop&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;New Groups&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;axis&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;temp&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;pd&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;value_counts&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;temp&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;CLASS&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;values&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;sort&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;kc&quot;&gt;False&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;))&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;sort_index&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;temp&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;pd&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;DataFrame&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;data&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;temp&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;index&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;temp&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;index&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;temp&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;zeroesddf&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;add&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;temp&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;axis&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;index&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;fill_value&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt; 
    &lt;span class=&quot;n&quot;&gt;temp&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;temp&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;values&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;reshape&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;norm&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;append&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;temp&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;p_temp&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;plt&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;bar&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;ind&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;norm&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;class_i&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;],&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;width&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;p&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;append&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;p_temp&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
        
&lt;span class=&quot;n&quot;&gt;plt&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;ylabel&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;Number of Cases&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;plt&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;title&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;New vs Old&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;plt&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;xticks&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;ind&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;A&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;s1&quot;&gt;&amp;#39;B&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;s1&quot;&gt;&amp;#39;C&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;s1&quot;&gt;&amp;#39;D&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;s1&quot;&gt;&amp;#39;E&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;s1&quot;&gt;&amp;#39;AD&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;s1&quot;&gt;&amp;#39;DE&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;s1&quot;&gt;&amp;#39;LD&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;s1&quot;&gt;&amp;#39;FS&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;s1&quot;&gt;&amp;#39;SUSP&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;))&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;plt&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;legend&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;((&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;p&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;][&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;],&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;p&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;][&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;],&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;p&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;][&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;],&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;p&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;3&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;][&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;],&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;p&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;4&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;][&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;],&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;p&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;5&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;][&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;],&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;p&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;6&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;][&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]),&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;Group 1&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;s1&quot;&gt;&amp;#39;Group 2&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;
                                                               &lt;span class=&quot;s1&quot;&gt;&amp;#39;Group 3&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;Group 4&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;Group 5&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;
                                                              &lt;span class=&quot;s1&quot;&gt;&amp;#39;Group 6&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;Group 7&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;))&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;plt&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;show&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;div class=&quot;output_wrapper&quot;&gt;
&lt;div class=&quot;output&quot;&gt;


&lt;div class=&quot;output_area&quot;&gt;

&lt;div class=&quot;prompt&quot;&gt;&lt;/div&gt;




&lt;div class=&quot;output_png output_subarea &quot;&gt;
&lt;img src=&quot;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAtcAAAF2CAYAAAClJrSLAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz
AAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMS4wLCBo
dHRwOi8vbWF0cGxvdGxpYi5vcmcvpW3flQAAIABJREFUeJzt3XtclHX+///nOJCYCDiouIMmmnhC
QY3STBJx29xO69reFFvbLAnFtqJcN/usWW7ush1Q9IMa5Wmtj6tum9ph07Yk0BBzRVIhNSq2A5EH
BKXEAZzfH/6YbyTgrHPNjCOP++22N5nr+HrNAPvk6n29L5PdbrcLAAAAgMvaeLsAAAAA4HJBuAYA
AAAMQrgGAAAADEK4BgAAAAxCuAYAAAAMQrgGAAAADEK4BgB4zOzZszVlypQWt3nttdc0YMAAzxQE
AAYjXAOAG82ePVt9+/bVn//85/PW9e3bV5s3b/ZCVcYrLi7WQw89pOHDh2vgwIFKSEjQ008/rWPH
jnm7NADwKMI1ALhZQECA1q5dq88//9zbpbhFbm6uJk6cKLPZrKysLL3zzjt66qmntHfvXt155536
5ptvvF0iAHgM4RoA3GzIkCGKiorSs88+2+J23333nebPn6+4uDjFxMRo3Lhxeueddxzrf/e73+l3
v/ud4/U//vEP9e3bV3//+98dyx577DE9/PDDTR5/w4YNuuaaa1RTU9No+Ysvvqi4uDidPXtWtbW1
SktL04033qiBAwdq5MiReuSRR5qtuaamRo8//riGDx+uhQsXKiYmRlarVTfeeKPWrFmj2tpazZs3
r9n97Xa7MjIydP3112vIkCF65JFHdPLkyRbfJwC4lBGuAcADHn/8cWVnZys/P7/J9Xa7XdOnT9eh
Q4e0cOFCvfnmm5o0aZIeffRR7dy5U5I0fPjwRvvn5+fLYrE41kvSrl27NHz48CbP8fOf/1y1tbV6
9913Gy1//fXXdccdd6hNmzZ65ZVX9Pbbb+u5557TO++8o6VLlyomJqbZvnbs2KFjx45p2rRp560L
DAzUr3/9a+Xk5KiqqqrJ/desWaPVq1fr97//vWOsdWZmZrPnA4BLHeEaADxg8ODBuuWWW/SXv/xF
Z8+ePW/9hx9+qMLCQi1dulSxsbHq3r27Jk6cqNtvv10vv/yyJOn666/X0aNHVVJSIulckL7//vsd
gbu0tFTffPNNs+G6Q4cOGjNmjDZt2uRYVlRUpE8++UTjxo2TJH399deKiIjQddddJ6vVqujo6BZv
QGwY6hIZGdnk+sjISJ09e1b/+c9/mly/YsUK3XPPPfrlL3+pnj176v7779eIESOaPR8AXOoI1wDg
ITNnztRnn32m11577bx1+/fvV21trW688UYNGTLE8b833njDEUzDw8PVrVs35efn67PPPtOpU6d0
11136cyZMzp8+LDy8/MVFhamnj17NlvDuHHjlJeXp6NHj0qSNm/erKioKEc4vvPOO3X48GHddNNN
mjt3rrZu3Sqbzdbs8ex2+0W/H9XV1fr22281ZMiQRsuHDh160ccEAG/z83YBANBahIeHa8qUKcrI
yNDPf/7zRuvOnj2rDh066NVXXz1vP39/f8fXw4cP186dO9WmTRsNHTpUAQEBuvbaa7Vz507t3bu3
2avWDUaOHCmLxaI33nhDv/nNb/TWW281GtLRv39/vffee8rLy9OuXbv0pz/9SYsWLdKGDRsUGBh4
3vF69eolSfrkk08UGxt73vpPPvlEbdq0UY8ePc5b1xDMTSZTizUDgC/hyjUAeFBycrLsdrteeuml
RssHDRqkkydP6syZM+rRo0ej/1mtVsd2w4cP1+7du7Vz505df/31jmU7d+7Uhx9+eMFwbTabddtt
t2nTpk364IMPVFVVpdtuu63RNu3bt9dNN92kOXPm6B//+Ic+/fRTffjhh00e74YbbpDFYlFWVtZ5
66qrq/V///d/GjVqlIKDg89b36FDB4WFhamgoKDR8h+/BgBfQrgGAA8KDAzUww8/rFWrVjVaPnz4
cI0YMUIPPvig/vWvf+nLL7/UgQMH9PLLL2vDhg2NtquqqtK2bdscQXr48OHavn27jh8/fsFwLZ0b
GtJw42RcXJwsFotj3fLly/X666/rk08+0Zdffql//OMfMpvNioiIaPJY7dq1U1pamnbu3KlHH31U
+/bt0zfffKPt27frN7/5jfz9/fXkk082W8t9992nNWvWaNOmTSotLdXKlSsb3aAJAL6GYSEA4GG/
+tWv9Morr+jQoUOOZSaTScuWLVNmZqbS0tJ05MgRBQcHq1+/fkpKSnJs17lzZ/Xu3VtHjx51PMWw
b9++6tChgzp06NDoKndz+vXrp/79++vjjz9WSkpKo3WBgYFavXq1SktLZbfb1atXLy1evNgx/KMp
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
khx/aEjnfj8899xzqq+v1x//+Eft3r1bw4YNc2sPRrj04/9lqqamRocOHdL06dOVl5fn7XK86vTp
02rfvr23y/CooqIi+fn56Wc/+5ljWUREhPr37+/FqrwjODhYycnJ2rJli7i/+vLlzO+8sLAw3XPP
PXr77bc9XJ1n8T3fvBEjRigmJkY7duzwdikeceLECVksFsdrq9Uqf39/L1bkmhMnTqhDhw6OHoKC
ghr119w+P9ymR48e521jNpvVp08flZeXG1uwm3Dl2ks+/PBDDR48WFarVYGBgfrss8/Uq1cvb5fl
MTabTbNmzVJtba1OnDihJ5980tsledQXX3yhnj17eruMS0ZYWJjsdruqqqoUEhLi7XI8ouFnoMEv
f/lLjRgxwosVuVdTv/MCAwPP265nz576+uuvvVChZ/3we16SPv7440bfDzNnzlTXrl29VZ5XXa7f
Az/8me/SpYtmzZqlhIQEzZ8/X/n5+Ro0aJBGjRqln/zkJ16u9OLFxMTo1Vdf1cMPP6xBgwZpxIgR
GjBgQIv73HzzzcrIyNDWrVs1aNAgxcfHnxfIz5w5owMHDvjMf90kXHvJBx98oFtvvVXSub/UP/jg
g1YVrn/4n8cOHz6szMxMpaeny2QyebkyeEtru4LX2oaFNPU77+abbz5vu9b0ffDDXlvzsJAfu1y/
B5r6mY+IiFBmZqY++ugj7d+/X48//rjmz5/vs2POAwIC9Mwzz+jjjz9WUVGRFi5cqF//+tct7jN4
8GBlZmaqsLBQe/fu1WOPPeYYJlNeXq5Zs2bJZDIpNjZWQ4YM8UQbLiNce8GpU6d04MABffnllzKZ
TDp79qwkafLkya0yXPbp00enTp3SyZMnFRwc7O1yPKJ79+7atWuXt8u4ZHz77bdq06ZNq/n8W5vm
fuc1Fa5LS0t9Nlj8N374PX85XqV1RWlpaau62BQQEKBhw4Zp2LBhMplM2rt3r0//DLRp00ZRUVGK
iorSVVddpffff18dOnTQd9995xhHX11d3WhMfWBgoEaOHKmRI0fqL3/5i4qLi9WrVy/HmGtfw5hr
L8jPz9eoUaO0dOlSLVmyRMuWLVOXLl108OBBb5fmFV9//bXOnj2rDh06eLsUjxk4cKBqa2v17rvv
OpaVlJSouLjYi1V5x8mTJ/XSSy9p7NixrfKPy9agud95x48fb7TdkSNH9PLLL2vs2LFeqtQz+J5v
Xn5+vj766CONHDnS26V4xMGDB1VdXS1Jqqur01dffaXOnTt7uaqLV1ZWpm+++cbxurS0VJ07d9aA
AQOUm5srSTp79qy2b9+uqKgoSdKBAwd05swZSefuwfr222/VqVMnzxdvIK5ce8EHH3xw3pRbw4YN
044dO1rNDW0/Hm/6wAMP+MT0OkYxmUz63e9+p9WrV2vz5s3y9/dX586dNWXKFG+X5hENn3/DtGRx
cXG67bbbvF2WR/34Z2Dw4MEX/M+nvqq533kbN25UeXm5fv/73zum4hs7duxlN1OIdOHv+R+Pub7z
zjs1fPhwb5TqNjabTdOnT3e8buj/rbfe0vbt23XmzBl1795dTz755GU3U0hzvv32Wy1fvlx2u112
u11Dhw71idkwmlNTU6OVK1fqu+++k9lsVteuXZWcnCw/Pz+99NJLmjVrlux2uwYPHqy4uDhJ0mef
faYVK1bIbDbLbrcrISFBvXv31pEjR7zczcXj8ecAAACAQVrPpUIAAADAzQjXAAAAgEEI1wAAAIBB
CNcAAACAQQjXAAAAgEEI1wAAAIBBCNcAAACAQQjXAAAAgEH+P9vHbPX9saHzAAAAAElFTkSuQmCC
&quot;
&gt;
&lt;/div&gt;

&lt;/div&gt;

&lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;
&lt;div class=&quot;cell border-box-sizing text_cell rendered&quot;&gt;&lt;div class=&quot;prompt input_prompt&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;inner_cell&quot;&gt;
&lt;div class=&quot;text_cell_render border-box-sizing rendered_html&quot;&gt;
&lt;p&gt;Overall the clusters we found using the AE behave quite similarly to the ones that were given with the dataset with one little difference. These new clusters focus on a statistical approach of the problem as we explained above. They do not describe entirely the fetus but describe the risk of a pathology. We can see that the main differences are present on the classes that previously presented the most suspect or pathological cases. &quot;SUSP&quot; has been replaced by a hig risk Group 1 that also includes parts of FS. &quot;LD&quot; seems to be entirely interchangeable with Group 7 and shows as we said earlier a verified patholgy in the fetuses. Eventually we realize that the &quot;real&quot; use for such new classes would only be for the last ones that split and refine the result of the suspect and pathological cases.&lt;/p&gt;
&lt;p&gt;To conclude on this part, we saw that when the PCA fails to deliver meaningful results, the use of an autoencoder can not only prove efficient in the process of dimensionality reduction, but also can give us some very powerful insights.&lt;/p&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;cell border-box-sizing text_cell rendered&quot;&gt;&lt;div class=&quot;prompt input_prompt&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;inner_cell&quot;&gt;
&lt;div class=&quot;text_cell_render border-box-sizing rendered_html&quot;&gt;
&lt;h2 id=&quot;Finding-the-best-classifier&quot;&gt;&lt;strong&gt;Finding the best classifier&lt;/strong&gt;&lt;a class=&quot;anchor-link&quot; href=&quot;#Finding-the-best-classifier&quot;&gt;&amp;#182;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;As a first part we're gonna implement an SVC and explain each line and each parameter chosen. In a second part we will test out all the classifiers that can apply to this problem that are in the sklearn library, pick out the best one and tune it to get the best results possible.&lt;/p&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;cell border-box-sizing text_cell rendered&quot;&gt;&lt;div class=&quot;prompt input_prompt&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;inner_cell&quot;&gt;
&lt;div class=&quot;text_cell_render border-box-sizing rendered_html&quot;&gt;
&lt;p&gt;&lt;strong&gt;Using an SVC&lt;/strong&gt;&lt;/p&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;cell border-box-sizing code_cell rendered&quot;&gt;
&lt;div class=&quot;input&quot;&gt;
&lt;div class=&quot;prompt input_prompt&quot;&gt;In&amp;nbsp;[20]:&lt;/div&gt;
&lt;div class=&quot;inner_cell&quot;&gt;
    &lt;div class=&quot;input_area&quot;&gt;
&lt;div class=&quot; highlight hl-ipython3&quot;&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class=&quot;kn&quot;&gt;from&lt;/span&gt; &lt;span class=&quot;nn&quot;&gt;sklearn.svm&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;SVC&lt;/span&gt; &lt;span class=&quot;c1&quot;&gt;# Importing the relevant classifier&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;classifier&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;SVC&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;kernel&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;s1&quot;&gt;&amp;#39;linear&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;random_state&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;c1&quot;&gt;# Choosing a linear Kernel for SVC and not K-svc&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;classifier&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;fit&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;X_train&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;y_train&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;c1&quot;&gt;# Fitting the classifier onto our dataset&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;score&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;classifier&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;score&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;X_test&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;y_test&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;sample_weight&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;kc&quot;&gt;None&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;c1&quot;&gt;# Checking how well it did&lt;/span&gt;

&lt;span class=&quot;c1&quot;&gt;# Predicting the Test set results&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;y_pred&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;classifier&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;predict&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;X_test&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;c1&quot;&gt;# Still all pretty good&lt;/span&gt;

&lt;span class=&quot;c1&quot;&gt;# Making the Confusion Matrix&lt;/span&gt;
&lt;span class=&quot;kn&quot;&gt;from&lt;/span&gt; &lt;span class=&quot;nn&quot;&gt;sklearn.metrics&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;confusion_matrix&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;cm1&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;confusion_matrix&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;y_test&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;y_pred&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;

&lt;span class=&quot;nb&quot;&gt;print&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;The score is : &amp;#39;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;+&lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;str&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;score&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;))&lt;/span&gt;   
&lt;span class=&quot;n&quot;&gt;label&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&amp;quot;N&amp;quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&amp;quot;S&amp;quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&amp;quot;P&amp;quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;sns&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;heatmap&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;cm1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;annot&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;kc&quot;&gt;True&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;xticklabels&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;label&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;yticklabels&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;label&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;cmap&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&amp;quot;YlGnBu&amp;quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;plt&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;show&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;div class=&quot;output_wrapper&quot;&gt;
&lt;div class=&quot;output&quot;&gt;


&lt;div class=&quot;output_area&quot;&gt;

&lt;div class=&quot;prompt&quot;&gt;&lt;/div&gt;


&lt;div class=&quot;output_subarea output_stream output_stdout output_text&quot;&gt;
&lt;pre&gt;The score is : 0.981203007518797
&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;div class=&quot;output_area&quot;&gt;

&lt;div class=&quot;prompt&quot;&gt;&lt;/div&gt;




&lt;div class=&quot;output_png output_subarea &quot;&gt;
&lt;img src=&quot;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAWAAAAD5CAYAAAAZf+9zAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz
AAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMS4wLCBo
dHRwOi8vbWF0cGxvdGxpYi5vcmcvpW3flQAAG8RJREFUeJzt3X14VOW97vHvmkkCBkjITEhikVBj
QkFeFEwlIEYMqChYacWoRbS2HlQoShEObKvgpgJFjCI2btQoUrHF6sFdGtDWTcSoFCQklLcKCUoB
IaSZAckLIWRmzh90Ry2YDGSSh1nen+ta18XMrFnPLyPePPnNs9ayAoFAABERaXMO0wWIiHxbKYBF
RAxRAIuIGKIAFhExRAEsImKIAlhExJCI1h7gvOTbW3uIb73avTNNl2B7Fk7TJXxL9GjxEc4kc47t
/X2z+/j9fmbMmIHL5WLGjBlUVFSwcOFCqqurufDCC5k0aRIRERGcOHGC3/zmN3z66ad06tSJyZMn
k5CQ0OSxNQMWEWnC6tWr6dq1a+PjZcuWMXLkSBYtWkSHDh0oKCgAoKCggA4dOvDss88ycuRIXnvt
tWaPrQAWEVuxLEfQW3M8Hg/FxcUMGzYMgEAgwPbt28nIyABg6NChbNy4EYCioiKGDh0KQEZGBtu2
baO589xavQUhItKWHFboYu2VV17hjjvu4NixYwBUVVURHR2N03myJeVyufB6vQB4vV7cbjcATqeT
6OhoqqqqiImJ+eZaQ1apiMg5IFQz4E2bNhEbG0tKSkpQ455utmtZVpPv0QxYRGyludAL1s6dOykq
KqKkpIT6+nqOHTvGK6+8Qm1tLT6fD6fTidfrxeVyAeB2u/F4PLjdbnw+H7W1tXTs2LHJMTQDFhGb
cZzB9s1+/OMfs3jxYnJzc5k8eTJ9+vThgQceoHfv3qxfvx6AtWvXkp6eDsBll13G2rVrAVi/fj29
e/du9h8DBbCI2Eoov4Q7nbFjx5Kfn8+kSZOorq4mKysLgKysLKqrq5k0aRL5+fmMHTu2+Vpb+3KU
Wgfc+rQOuPVpHXBbafk64M6p9wW975GyxS0eryXUAxYRWwnlKojWFj6ViogE4WxbCyYogEXEVhTA
IiKGWIRmGVpbUACLiK1oBiwiYojDET6xFj6ViogERTNgEREj1IIQETFEASwiYoilFoSIiBmaAYuI
GOJwhM91OxTAImIrakGIiBiiFoSIiCEKYBERQ9SCEBExxNKpyCIiZoTqppxtQQEsIraiFoSIiCH6
Ek5ExBS1IEREDAmfCbACWERsxhE+CRw+lTbD4bD46+p5/L8l00557YrLe7Ju1VyqPl3GD2+4PCTj
xcV2IP+1h9n6/lPkv/YwnWM7AHDb6Cv4+M/z+fjP83lvxX/St1dySMazE5/Pxw9H/4J7733cdCm2
VVi4ieuuu49rrhnPCy+8YbqctuU4g82wc6CE0Pj5T69nZ9nnp31t34FKxj+0mNf/+NEZH/fKjF68
kHPfKc9PnXgTaz/aRt+rprD2o21MnfADAPbsq+Da7Nlcft105i1aQe6v/88Zj2l3v/1tPikXXWC6
DNvy+XzMnr2YvLzHWLUql/z8QsrK9pouq80ELCvozTRbBHDXJBcjhvVnyfL3Tvv63v2VbPtkL35/
4JTXfnHvKD780+N8/Of5PDJlTNBjjrrmMpa9WQjAsjcLufHadADWbyrlyBc1AHxcUkbX811n+uPY
Wnl5Je+vLeKWMdeYLsW2tmwppXv38+nWLYmoqEhGjsxkzZoNpstqO9YZbIbZIoAXPHYnv5z7O/x+
/xm9b9iVfbnowiSG3PgIA0fMoH/fC7ni8p5BvTchPpbyiiMAlFccoUt8zCn7/OTWofz5vc1nVJPd
zZ37ElOn3YXlOAf+9tvUoUMekpLiGx8nJro5dMhjsKI25rCC3wxr8ku4N998s8k3jxkT/IyxtVw/
rD8VlUcp2foZV2b0OqP3Ds/sx/Ar+7H+7XkAdOzQntQLk/jo408o/OOviIqKoGOH9sR17ti4zyPz
fs//FG5p9tiZgy7mrluvZtjNj53xz2RX7723Ebcrlj59UtmwYavpcmwrEDj1N71wOjusxcLoZ20y
gNu1a3fKc8ePH6egoICqqqpzIoAHpX+PUdcMYMTVl9KuXSQxnc7j5YUT+enk3Gbfa1kWC577Iy+9
tuaU1zJvehQ42QMed8tVjH9o8dder6j8gqSEzpRXHCEpoTP/rDza+Fqfnsn81xPjuenOX+M9Ut3C
n9A+ios/oaBgI+8XbqL++Amqq2uZNvVpFjz5C9Ol2UpSUjzl5ZWNjw8d8pCQ8C1qhTltEsA33nhj
45+PHTvG6tWree+99xg8ePDXXjNp5vzlzJy/HDgZlpPvHRVU+AK8+/7fmDU1m+VvfUhN7XG+kxjH
iQYf//Qcbfa9q97dxB1jMnnyuZXcMSaT/Hc3AdDtO26Wv/ALfjY5l7LPys/+B7Ohhx4ax0MPjQNg
w4atvPzyHxW+raBv3zT27DnAvn3lJCa6WbWqkJycqabLajt2mQEDVFdXk5+fzwcffMBVV13F/Pnz
6dixY1vU1iKPThlD8dbPWPXuJi7rl8LrL06hc2wHbhg+gEem3MJlw6ex5oOt9Ezrytr/ng1ATU0d
d0/ODSqAn3xuJcv+60HuunUo+w54GHvfQgD+48Ef4YrryMLHfwpAg8/PkFG/bL0fVOTfREQ4mTnz
Pu65ZxY+n5+bbx5OWlp302W1nfDJX6zA6RpG//Lqq6/y8ccfM2zYMEaMGEH79u3PeIDzkm9vUYHS
vNq9M02XYHsW4XOfsfDWo8VHSBvxctD7lr7z0xaP1xJNzoDz8/OJiIhgxYoVvPXWW43PBwIBLMti
6dKlrV6giMgZCaMZcJMB/Prrr7dVHSIiIRFwhs/qWl0LQkTsJUQz4Pr6embNmkVDQwM+n4+MjAyy
s7NZtGgRu3fvJiIigosuuojx48cTERFBIBBgyZIllJSU0K5dOyZMmEBKSkqTYyiARcReQrQKIjIy
klmzZtG+fXsaGhqYOXMml156KUOGDGHSpEkAPPPMMxQUFHDttddSUlJCeXk5ixYtorS0lLy8PObO
ndvkGOEzVxcRCUaIzoSzLKtx4YHP58Pn82FZFgMGDMCyLCzLIjU1FY/n5FmGRUVFZGZmYlkWPXr0
oKamhsOHDzddamh+YhGRc0QIrwXh9/uZNm0a99xzD3379iUtLa3xtYaGBj744AMuvfRSALxeL/Hx
X54C7na78Xq9TR5fASwi9mJZwW/NcDgcLFiwgMWLF7N792727v3yqnJ5eXn06tWLXr1OXgLhbE4B
VwCLiL04reC3IHXo0IGLL76YzZtPXlzrjTfe4OjRo9x5552N+7jdbiorvzwF3OPxEBcX1+RxFcAi
Yi8hmgEfPXqUmpqTl5atr69n69atdO3alTVr1vC3v/2NyZMn4/jK3TfS09MpLCwkEAiwa9cuoqOj
mw1grYIQEXsJ0TK0w4cPk5ubi9/vJxAIMGjQIC677DJuu+02unTpwi9/efISAwMHDmTMmDH079+f
4uJiHnjgAaKiopgwYULzpTZ1KnIo6FTk1qdTkVufTkVuKy0/Ffmi238X9L67f//jFo/XEpoBi4i9
2OlqaCIiYSV88lcBLCI2o2tBiIgYohmwiIgh58DNNoOlABYRe1EAi4iYEQif/FUAi4jN6Es4ERFD
1IIQETEkfCbACmARsRmdCSciYohaECIiZgQ0AxYRMSRCASwiYoZmwCIihqgHLCJiSPjkrwJYROwl
oBmwiIghCmAREUPO4HbzprV6ANf849HWHuJbb39NmekSbK9bh++ZLkGCpVUQIiKGqAUhImKIAlhE
xAydiiwiYoq+hBMRMUQtCBERQxTAIiKGhE/+KoBFxF50KrKIiClaBSEiYohWQYiImOHQXZFFRMwI
ow6EAlhE7EUBLCJiiBWiBK6srCQ3N5cjR45gWRbDhw/nhhtuaHx95cqVLFu2jLy8PGJiYggEAixZ
soSSkhLatWvHhAkTSElJaXIMBbCI2EqoesBOp5Nx48aRkpLCsWPHmDFjBv369eOCCy6gsrKSrVu3
Eh8f37h/SUkJ5eXlLFq0iNLSUvLy8pg7d27TtYamVBGRc4PlCH5rSlxcXOMM9rzzzqNr1654vV4A
li5dytixY7822y4qKiIzMxPLsujRowc1NTUcPny4yTEUwCJiK5YV/BasiooKPvvsM1JTUykqKsLl
cvHd7373a/t4vd6vzYjdbndjYH8TBbCI2IrDCn4LRl1dHTk5OfzkJz/B6XSyYsUKbr311lP2CwQC
pzzXXD9aPWARsZVQroJoaGggJyeHK6+8koEDB7J3714qKiqYNm0aAB6Ph+nTpzNv3jzcbjeVlZWN
7/V4PMTFxTV5fAWwiNhKqAI4EAiwePFiunbtyqhRowBITk4mLy+vcZ+JEycyb948YmJiSE9P5513
3uGKK66gtLSU6OhoBbCIfLs4QnQq8s6dOyksLCQ5Oblxxnv77bczYMCA0+7fv39/iouLeeCBB4iK
imLChAnNjmEFTte4CCF/YEdrHl6Az2t3my7B9nRX5LbSo8VH6PfqB0Hvu2XclS0eryU0AxYRW9GZ
cCIihiiARUQMCaPrsSuARcReNAMWETEkVKsg2oICWERsRTNgERFDFMAiIoYogEVEDNEqCBERQxxO
0xUETwH8FUeP1vDoI7mUlu7FsuDxOT+nf/+epssKe9VVx8iZ/Qf27C7HwmLqrGwuvuS7vLX8Q/74
+kc4nQ4GDunF+MmjTJdqG4WFm5gz50X8fj+33HIN48ffYrqkNqMWRJiaOyePIVf255lF/5f6+hPU
1dWbLskWchf8N98f3JNZC+7ixIkGjtedYPPGMtat3c4Lrz9EVFQEh71Vpsu0DZ/Px+zZi1my5Fck
JroZM2YKWVkDSU1NNl1amwjVPeHaQpMXZC8rK+PIkSONj99//32eeOIJXn75Zaqrq1u9uLZUXV1L
UdEOxowZDkBUVCQxMR0MVxX+aqrr2Fr8KdePvhyAyMgIOnY6j5VvruO2u68mKurkHCDO1clkmbay
ZUsp3bufT7duSURFRTJyZCZr1mwwXVabaY07YrSWJgP4xRdfJCLi5P8gO3bs4He/+x2ZmZlER0fz
/PPPt0mBbWXfvkO4XDE8/B/P8qMfTuGRR3Kpra0zXVbYO/i5h9i4jix47HXuvf0pcmb/gWPHjvP5
PyrZVvwZP7/zGabc8xyfbN9rulTbOHTIQ1LSl7fGSUx0c+iQx2BFbcs2Aez3++nYsSMA69atY9iw
YWRkZHDbbbdRXl7eJgW2FV+Djx07PuW220ew4q2niD6vHS++uMJ0WWHP5/NT+snn3DhmEM//fgrt
z4ti+ZL38Pl8VFUd49mlDzB+8igen/7qaW/pImfubG6NYye2CmCfzwfAtm3b6NOnz9des5PEJDeJ
iW4uueTk9UivvW4wO3Z8ariq8NclIZYuCbH06tsdgMxh/Sj9ZD/xCZ0ZktUHy7Lo2ScZy+HgiyM1
hqu1h6SkeMrLv7w1zqFDHhISXAYralsRjuA305os4YorruCxxx7jiSeeICoqil69egFQXl5OdHR0
mxTYVrp0ieP88+P57NPPAVj/1y2kXnSB4arCnys+hi6Jndm3pwKA4o9L6X5hIldc3ZvNG8sA2P+P
f9JwooHYzuq5h0Lfvmns2XOAffvKqa8/wapVhWRlXW66rDbjsAJBb6Y1e0eMXbt2ceTIEfr160f7
9u0BOHDgAHV1daSkpDQ7QDjdEePvf/+MRx/J5cSJBrp1S2TO3EnExnY0XVazzvU7YpTt/JynZr/B
iRM+zr/AxbTHbqX9eVE8+dgf2L3rcyIiI7h38ij6X55mutRvFG53xHj//SLmzn0Rn8/PzTcP5/77
T72L77mp5XfEuP4vHwa979vXDmnxeC2hWxLZwLkewHYQbgEcvloewCPPIIBXGQ5grQMWEVs5F1oL
wVIAi4it6FoQIiKGRCiARUTMsNSCEBExQy0IERFDzoHzK4KmABYRW9EqCBERQ/QlnIiIIeoBi4gY
ohaEiIghmgGLiBiiVRAiIoaoBSEiYsi5cKH1YCmARcRWwih/FcAiYi+hbEE899xzFBcXExsbS05O
TuPzb7/9Nu+88w5Op5MBAwZwxx13APDWW29RUFCAw+Hg7rvv5tJLL23y+ApgEbGVUK6CGDp0KCNG
jCA3N7fxuW3btlFUVMSTTz5JZGQkX3zxBQD79+9n3bp1PPXUUxw+fJhf/epXPPPMMzgc3zwnD6fZ
uohIsxxnsDXn4osvbrwz/P/6y1/+wk033URkZCQAsbGxAGzcuJHBgwcTGRlJQkICSUlJlJWVNXl8
zYBFxFZaex3wwYMH+eSTT1i+fDmRkZGMGzeO1NRUvF4vaWlf3tfQ5XLh9XqbrrV1SxURaVtORyDo
7Wz4/X6qq6uZM2cO48aN4+mnnyYQCHA2t9fUDFhEbKW1Z5Uul4uBAwdiWRapqak4HA6qqqpwu914
PJ7G/bxeLy6Xy2itIiJtymEFgt7Oxve//322bdsGwIEDB2hoaKBTp06kp6ezbt06Tpw4QUVFBQcP
HiQ1NbXJY2kGLCK2Esoe8MKFC9mxYwdVVVXcd999ZGdnk5WVxXPPPcdDDz1EREQEEydOxLIsunXr
xqBBg5gyZQoOh4Of/exnTa6AALACZ9O4OAP+wI7WPLwAn9fuNl2C7XXr8D3TJXxL9GjxEf6z5H+C
3ndW/+EtHq8lNAMWEVuJ1LUgRETM0OUoRUQMUQCLiBjiVACLiJihGbCIiCG6ILuIiCGRmgF/yWEp
41ub1qi2Pu/xnaZL+FZwtWv5OmC1IEREDFELQkTEEK2CEBExRC0IERFDdFdkERFDnOoBi4iYEUYT
YAWwiNiLesAiIoYogEVEDFEPWETEEK2CEBExRC0IERFDdCaciIghuhaEiIghYdQCVgCLiL2oBywi
YkikQy0IEREjNAMWETFEASwiYoi+hBMRMcTSDFhExAy1IEREDFELQkTEEEtnwomImBFGHQgFsIjY
i76EExExJIzyVwEsIvYSystR5ufnU1BQgGVZdOvWjQkTJnDkyBEWLlxIdXU1F154IZMmTSIi4uyi
NJy+MBQRaZZlBb81xev18vbbb/PrX/+anJwc/H4/69atY9myZYwcOZJFixbRoUMHCgoKzrpWBbCI
2Ip1Bltz/H4/9fX1+Hw+6uvr6dy5M9u3bycjIwOAoUOHsnHjxrOuVS0IEbGVUHUgXC4XN954I/ff
fz9RUVFccsklpKSkEB0djdPpbNzH6/We9RiaAYuIrTis4LemVFdXs3HjRnJzc3n++eepq6tj8+bN
Ia1VM+CvKCzcxJw5L+L3+7nllmsYP/4W0yXZkj7n1vHDEXOIjm6H0+nA6XSwZPlkvviilkenvcrB
A4c5/ztxPP7kOGJiok2X2qpCNQPeunUrCQkJxMTEADBw4EB27txJbW0tPp8Pp9OJ1+vF5XKd9Ria
Af+Lz+dj9uzF5OU9xqpVueTnF1JWttd0Wbajz7l15b50P799YwpLlk8G4NWXCkgfmMYb+TNIH5jG
qy+d/RdG4cJhBYLemhIfH09paSnHjx8nEAiwdetWLrjgAnr37s369esBWLt2Lenp6Wdf61m/02a2
bCmle/fz6dYtiaioSEaOzGTNmg2my7Idfc5t64P3tnPDD04GxA0/SKewYLvhilpfqFZBpKWlkZGR
wfTp05k6dSqBQIDhw4czduxY8vPzmTRpEtXV1WRlZZ11rU22IOrr63n33XcpLy8nOTmZrKysxuaz
3Rw65CEpKb7xcWKimy1bdhmsyJ70ObceC3jw3hewLBh9yyBGj8nA660ivsvJX6Hju8Rw2Ftttsg2
EMpZZXZ2NtnZ2V97LjExkXnz5oXk+E0GcG5uLk6nk169elFSUsL+/fu5++67QzLwuSYQOPXXESuc
zmkME/qcW8/zv/05XRJi8XqqePDeF+j+3S6mSzIinP46NRnA+/fvJycnB4CsrCwefvjhNinKhKSk
eMrLKxsfHzrkISHh7Jvrcnr6nFtPl4RYAFzuTlyV1Ycd2/bhcnWi8p9Hie8SQ+U/jxLn6mi4ytYX
Rvnb9Gz9q6fX2bX18L/69k1jz54D7NtXTn39CVatKiQr63LTZdmOPufWcaz2ODU1dY1/3vDXXaSk
JjFk6MWsXlkEwOqVRVx5dW+TZbaJUC1DawtNzoD37NnDXXfdBZz81bG+vp677rqLQCCAZVksXbq0
TYpsCxERTmbOvI977pmFz+fn5puHk5bW3XRZtqPPuXV4vdXMmPwKAD6fn2uv78+gIT25uE83fjn1
Vf701sckJnVmTs6dZgttA+dCsAbLCpyuKRdS+oJFwp/3+E7TJXwruNrd2OJjHKz9U9D7nh/d8vFa
QidiiIit6I4YIiKGhFEHQgEsIvZim2VoIiLhJpzWaymARcRWNAMWETEmfBJYASwitmIpgEVEzLCs
8LnIowJYRGxGM2ARESOsMLrMuQJYRGxFLQgREWPUghARMUKrIEREDFEAi4gYYlnhczKyAlhEbEYz
YBERI9SCEBExRsvQRESM0AxYRMQQK4yuR6kAFhFbscLokuwKYBGxGc2ARUSMUAtCRMQYBbCIiBG6
HKWIiDGaAYuIGOHQ9YBFRExRAIuIGBHKM+E2b97MkiVL8Pv9DBs2jNGjR4fs2BBO/1SIiATFOoPt
m/n9fl566SUefvhhnn76aT766CP2798f0koVwCJiK5ZlBb01paysjKSkJBITE4mIiGDw4MFs3Lgx
pLUqgEXEViycQW9N8Xq9uN3uxsdutxuv1xvSWtugB9yj9YcQaWWudvp7HD5C898qEAic8lyoz7LT
DFhE5DTcbjcej6fxscfjIS4uLqRjKIBFRE7joosu4uDBg1RUVNDQ0MC6detIT08P6RhW4HTzbBER
obi4mKVLl+L3+7n66qv50Y9+FNLjK4BFRAxRC0JExBAFsIiIIToV+V+ys7MZNWoUd955JwArV66k
rq6O7Oxsw5XZz4oVK/jwww9xOBxYlsX48eNJS0szXZZt3HrrrSQnJ+P3++natSsTJ06kXbt2psuS
01AA/0tkZCQbNmxg9OjRxMTEmC7Htnbt2sWmTZuYP38+kZGRHD16lIaGBtNl2UpUVBQLFiwAYNGi
Rbz77ruMGjXKcFVyOmpB/IvD4WD48OGsWrXKdCm2dvjwYTp16kRkZCQAMTExuFwuw1XZV8+ePSkv
LzddhnwDBfBXXHfddXz44YfU1taaLsW2LrnkEjweDw8++CB5eXns2LHDdEm25fP52Lx5M8nJyaZL
kW+gFsRXREdHk5mZyerVq4mKijJdji21b9+e+fPn8/e//53t27fz9NNPM3bsWIYOHWq6NNuor69n
2rRpAPTq1YusrCzDFck3UQD/m5EjRzJ9+nQFQityOBz07t2b3r17k5yczNq1a/V5h9BXe8ByblML
4t907NiRQYMGUVBQYLoUWzpw4AAHDx5sfLxnzx66dOlisCIRczQDPo1Ro0bxzjvvmC7Dlurq6nj5
5ZepqanB6XSSlJTE+PHjTZclYoRORRYRMUQtCBERQxTAIiKGKIBFRAxRAIuIGKIAFhExRAEsImKI
AlhExBAFsIiIIf8ffHceeJHzYxEAAAAASUVORK5CYII=
&quot;
&gt;
&lt;/div&gt;

&lt;/div&gt;

&lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;
&lt;div class=&quot;cell border-box-sizing text_cell rendered&quot;&gt;&lt;div class=&quot;prompt input_prompt&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;inner_cell&quot;&gt;
&lt;div class=&quot;text_cell_render border-box-sizing rendered_html&quot;&gt;
&lt;p&gt;A score of 98.1%  is fairly high for a non tuned algorithm. It also got a perfect score when it comes to detecting cases classified as pathologic, which is exactly the kind of criteria we're looking for when making a medical classifier.
This score and this confusion matrix will be used in the next part as a comparison point with the other scores and confusion matrixes of other algorithms.&lt;/p&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;cell border-box-sizing text_cell rendered&quot;&gt;&lt;div class=&quot;prompt input_prompt&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;inner_cell&quot;&gt;
&lt;div class=&quot;text_cell_render border-box-sizing rendered_html&quot;&gt;
&lt;p&gt;&lt;strong&gt;Testing all the classifiers&lt;/strong&gt;&lt;/p&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;cell border-box-sizing code_cell rendered&quot;&gt;
&lt;div class=&quot;input&quot;&gt;
&lt;div class=&quot;prompt input_prompt&quot;&gt;In&amp;nbsp;[21]:&lt;/div&gt;
&lt;div class=&quot;inner_cell&quot;&gt;
    &lt;div class=&quot;input_area&quot;&gt;
&lt;div class=&quot; highlight hl-ipython3&quot;&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class=&quot;c1&quot;&gt;# Importing all the classifiers fitting to the problem from sklearn                             &lt;/span&gt;
&lt;span class=&quot;kn&quot;&gt;from&lt;/span&gt; &lt;span class=&quot;nn&quot;&gt;sklearn.linear_model&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;OrthogonalMatchingPursuit&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;RANSACRegressor&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;LogisticRegression&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;ElasticNetCV&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;HuberRegressor&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;Ridge&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;Lasso&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;LassoCV&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Lars&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;BayesianRidge&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;SGDClassifier&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;LogisticRegressionCV&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;RidgeClassifier&lt;/span&gt;
&lt;span class=&quot;kn&quot;&gt;from&lt;/span&gt; &lt;span class=&quot;nn&quot;&gt;sklearn.preprocessing&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;MinMaxScaler&lt;/span&gt;
&lt;span class=&quot;kn&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;nn&quot;&gt;seaborn&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;as&lt;/span&gt; &lt;span class=&quot;nn&quot;&gt;sns&lt;/span&gt;
&lt;span class=&quot;kn&quot;&gt;from&lt;/span&gt; &lt;span class=&quot;nn&quot;&gt;sklearn.svm&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;SVC&lt;/span&gt;
&lt;span class=&quot;kn&quot;&gt;from&lt;/span&gt; &lt;span class=&quot;nn&quot;&gt;sklearn.preprocessing&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;MinMaxScaler&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;PolynomialFeatures&lt;/span&gt;
&lt;span class=&quot;kn&quot;&gt;from&lt;/span&gt; &lt;span class=&quot;nn&quot;&gt;sklearn.model_selection&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;GridSearchCV&lt;/span&gt;
&lt;span class=&quot;kn&quot;&gt;from&lt;/span&gt; &lt;span class=&quot;nn&quot;&gt;sklearn.neighbors&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;KNeighborsClassifier&lt;/span&gt;
&lt;span class=&quot;kn&quot;&gt;from&lt;/span&gt; &lt;span class=&quot;nn&quot;&gt;sklearn.tree&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;DecisionTreeClassifier&lt;/span&gt;
&lt;span class=&quot;kn&quot;&gt;from&lt;/span&gt; &lt;span class=&quot;nn&quot;&gt;sklearn.ensemble&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;RandomForestClassifier&lt;/span&gt;

&lt;span class=&quot;c1&quot;&gt;# Setting different parameters for the grid search&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;param_grid&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;C&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;mf&quot;&gt;0.1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;10&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;100&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;1000&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;],&lt;/span&gt; &lt;span class=&quot;s1&quot;&gt;&amp;#39;gamma&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;mf&quot;&gt;0.1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;mf&quot;&gt;0.01&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;mf&quot;&gt;0.001&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;mf&quot;&gt;0.0001&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;],&lt;/span&gt; &lt;span class=&quot;s1&quot;&gt;&amp;#39;kernel&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;rbf&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]}&lt;/span&gt;

&lt;span class=&quot;c1&quot;&gt;# Turning our problem into a non linear problem&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;n_col&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;36&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;poly&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;PolynomialFeatures&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;X_train&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;poly&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;fit_transform&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;X_train&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;X_test&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;poly&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;fit_transform&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;X_test&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;



&lt;span class=&quot;n&quot;&gt;names&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;
         &lt;span class=&quot;s1&quot;&gt;&amp;#39;ElasticNet&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;
         &lt;span class=&quot;s1&quot;&gt;&amp;#39;SVC&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;
         &lt;span class=&quot;s1&quot;&gt;&amp;#39;kSVC&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;
         &lt;span class=&quot;s1&quot;&gt;&amp;#39;KNN&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;
         &lt;span class=&quot;s1&quot;&gt;&amp;#39;DecisionTree&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;
         &lt;span class=&quot;s1&quot;&gt;&amp;#39;RandomForestClassifier&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;
         &lt;span class=&quot;s1&quot;&gt;&amp;#39;GridSearchCV&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;
         &lt;span class=&quot;s1&quot;&gt;&amp;#39;HuberRegressor&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;
         &lt;span class=&quot;s1&quot;&gt;&amp;#39;Lasso&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;
         &lt;span class=&quot;s1&quot;&gt;&amp;#39;LassoCV&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;
         &lt;span class=&quot;s1&quot;&gt;&amp;#39;Lars&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;
         &lt;span class=&quot;s1&quot;&gt;&amp;#39;BayesianRidge&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;
         &lt;span class=&quot;s1&quot;&gt;&amp;#39;SGDClassifier&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;
         &lt;span class=&quot;s1&quot;&gt;&amp;#39;RidgeClassifier&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;
         &lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;

&lt;span class=&quot;n&quot;&gt;classifiers&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;ElasticNetCV&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;cv&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;10&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;random_state&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;),&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;SVC&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(),&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;SVC&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;kernel&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;s1&quot;&gt;&amp;#39;rbf&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;random_state&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;),&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;KNeighborsClassifier&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;n_neighbors&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;),&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;DecisionTreeClassifier&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(),&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;RandomForestClassifier&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;n_estimators&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;200&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;),&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;GridSearchCV&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;SVC&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(),&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;param_grid&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;refit&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;kc&quot;&gt;True&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;verbose&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;),&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;HuberRegressor&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;fit_intercept&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;kc&quot;&gt;True&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;alpha&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;mf&quot;&gt;0.0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;max_iter&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;100&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;epsilon&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;mf&quot;&gt;2.95&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;),&lt;/span&gt;
    &lt;span class=&quot;c1&quot;&gt;#Ridge(fit_intercept=True, alpha=0.0, random_state=0, normalize=True), # Seem to have problems with the Ridge, so I&amp;#39;m taking it out&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;Lasso&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;alpha&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;mf&quot;&gt;0.05&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;),&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;LassoCV&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(),&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;Lars&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;n_nonzero_coefs&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;10&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;),&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;BayesianRidge&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(),&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;SGDClassifier&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(),&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;RidgeClassifier&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(),&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;correction&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;

&lt;span class=&quot;n&quot;&gt;models&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;zip&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;names&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;classifiers&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;correction&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
   
&lt;span class=&quot;k&quot;&gt;for&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;name&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;clf&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;correct&lt;/span&gt; &lt;span class=&quot;ow&quot;&gt;in&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;models&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;regr&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;clf&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;fit&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;X_train&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;y_train&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
    &lt;span class=&quot;kn&quot;&gt;from&lt;/span&gt; &lt;span class=&quot;nn&quot;&gt;sklearn.metrics&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;classification_report&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;confusion_matrix&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;accuracy_score&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;f1_score&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;precision_score&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;recall_score&lt;/span&gt;
    
    &lt;span class=&quot;c1&quot;&gt;# Confusion Matrix&lt;/span&gt;
    &lt;span class=&quot;nb&quot;&gt;print&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;--&amp;#39;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;*&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;40&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
    &lt;span class=&quot;nb&quot;&gt;print&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;name&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;s1&quot;&gt;&amp;#39;Confusion Matrix&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;conf&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;confusion_matrix&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;y_test&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;np&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;round&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;regr&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;predict&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;X_test&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;     
    &lt;span class=&quot;n&quot;&gt;label&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&amp;quot;N&amp;quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&amp;quot;S&amp;quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&amp;quot;P&amp;quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;sns&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;heatmap&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;conf&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;annot&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;kc&quot;&gt;True&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;xticklabels&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;label&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;yticklabels&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;label&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;cmap&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&amp;quot;YlGnBu&amp;quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;plt&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;show&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt;
    
    &lt;span class=&quot;nb&quot;&gt;print&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;--&amp;#39;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;*&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;40&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;

    &lt;span class=&quot;c1&quot;&gt;# Classification Report&lt;/span&gt;
    &lt;span class=&quot;nb&quot;&gt;print&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;name&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;Classification Report&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;classif&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;classification_report&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;y_test&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;np&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;round&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;regr&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;predict&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;X_test&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
    &lt;span class=&quot;nb&quot;&gt;print&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;classif&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;


    &lt;span class=&quot;c1&quot;&gt;# Accuracy&lt;/span&gt;
    &lt;span class=&quot;nb&quot;&gt;print&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;--&amp;#39;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;*&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;40&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;logreg_accuracy&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;nb&quot;&gt;round&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;accuracy_score&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;y_test&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;np&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;round&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;regr&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;predict&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;X_test&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;*&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;100&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
    &lt;span class=&quot;nb&quot;&gt;print&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;name&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;s1&quot;&gt;&amp;#39;Accuracy&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;logreg_accuracy&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;%&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;div class=&quot;output_wrapper&quot;&gt;
&lt;div class=&quot;output&quot;&gt;


&lt;div class=&quot;output_area&quot;&gt;

&lt;div class=&quot;prompt&quot;&gt;&lt;/div&gt;


&lt;div class=&quot;output_subarea output_stream output_stdout output_text&quot;&gt;
&lt;pre&gt;--------------------------------------------------------------------------------
ElasticNet Confusion Matrix
&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;div class=&quot;output_area&quot;&gt;

&lt;div class=&quot;prompt&quot;&gt;&lt;/div&gt;




&lt;div class=&quot;output_png output_subarea &quot;&gt;
&lt;img src=&quot;data:image/png;base64,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
CmAREUP+L6VDp3xVVuKiAAAAAElFTkSuQmCC
&quot;
&gt;
&lt;/div&gt;

&lt;/div&gt;

&lt;div class=&quot;output_area&quot;&gt;

&lt;div class=&quot;prompt&quot;&gt;&lt;/div&gt;


&lt;div class=&quot;output_subarea output_stream output_stdout output_text&quot;&gt;
&lt;pre&gt;--------------------------------------------------------------------------------
ElasticNet Classification Report
             precision    recall  f1-score   support

        1.0       0.99      0.99      0.99       410
        2.0       0.96      0.92      0.94        72
        3.0       1.00      0.98      0.99        50
        4.0       0.00      0.00      0.00         0

avg / total       0.98      0.98      0.98       532

--------------------------------------------------------------------------------
ElasticNet Accuracy 98.12 %
&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;div class=&quot;output_area&quot;&gt;

&lt;div class=&quot;prompt&quot;&gt;&lt;/div&gt;


&lt;div class=&quot;output_subarea output_stream output_stderr output_text&quot;&gt;
&lt;pre&gt;/opt/conda/lib/python3.6/site-packages/sklearn/metrics/classification.py:1137: UndefinedMetricWarning: Recall and F-score are ill-defined and being set to 0.0 in labels with no true samples.
  &amp;#39;recall&amp;#39;, &amp;#39;true&amp;#39;, average, warn_for)
&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;div class=&quot;output_area&quot;&gt;

&lt;div class=&quot;prompt&quot;&gt;&lt;/div&gt;


&lt;div class=&quot;output_subarea output_stream output_stdout output_text&quot;&gt;
&lt;pre&gt;--------------------------------------------------------------------------------
SVC Confusion Matrix
&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;div class=&quot;output_area&quot;&gt;

&lt;div class=&quot;prompt&quot;&gt;&lt;/div&gt;




&lt;div class=&quot;output_png output_subarea &quot;&gt;
&lt;img src=&quot;data:image/png;base64,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
AAAASUVORK5CYII=
&quot;
&gt;
&lt;/div&gt;

&lt;/div&gt;

&lt;div class=&quot;output_area&quot;&gt;

&lt;div class=&quot;prompt&quot;&gt;&lt;/div&gt;


&lt;div class=&quot;output_subarea output_stream output_stdout output_text&quot;&gt;
&lt;pre&gt;--------------------------------------------------------------------------------
SVC Classification Report
             precision    recall  f1-score   support

        1.0       0.97      1.00      0.98       410
        2.0       0.97      0.90      0.94        72
        3.0       1.00      0.86      0.92        50

avg / total       0.97      0.97      0.97       532

--------------------------------------------------------------------------------
SVC Accuracy 96.99 %
--------------------------------------------------------------------------------
kSVC Confusion Matrix
&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;div class=&quot;output_area&quot;&gt;

&lt;div class=&quot;prompt&quot;&gt;&lt;/div&gt;




&lt;div class=&quot;output_png output_subarea &quot;&gt;
&lt;img src=&quot;data:image/png;base64,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
AAAASUVORK5CYII=
&quot;
&gt;
&lt;/div&gt;

&lt;/div&gt;

&lt;div class=&quot;output_area&quot;&gt;

&lt;div class=&quot;prompt&quot;&gt;&lt;/div&gt;


&lt;div class=&quot;output_subarea output_stream output_stdout output_text&quot;&gt;
&lt;pre&gt;--------------------------------------------------------------------------------
kSVC Classification Report
             precision    recall  f1-score   support

        1.0       0.97      1.00      0.98       410
        2.0       0.97      0.90      0.94        72
        3.0       1.00      0.86      0.92        50

avg / total       0.97      0.97      0.97       532

--------------------------------------------------------------------------------
kSVC Accuracy 96.99 %
--------------------------------------------------------------------------------
KNN Confusion Matrix
&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;div class=&quot;output_area&quot;&gt;

&lt;div class=&quot;prompt&quot;&gt;&lt;/div&gt;




&lt;div class=&quot;output_png output_subarea &quot;&gt;
&lt;img src=&quot;data:image/png;base64,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
QxTAIiKG/B/rTe8zMT4EIgAAAABJRU5ErkJggg==
&quot;
&gt;
&lt;/div&gt;

&lt;/div&gt;

&lt;div class=&quot;output_area&quot;&gt;

&lt;div class=&quot;prompt&quot;&gt;&lt;/div&gt;


&lt;div class=&quot;output_subarea output_stream output_stdout output_text&quot;&gt;
&lt;pre&gt;--------------------------------------------------------------------------------
KNN Classification Report
             precision    recall  f1-score   support

        1.0       0.99      0.99      0.99       410
        2.0       0.95      0.96      0.95        72
        3.0       1.00      0.98      0.99        50

avg / total       0.99      0.98      0.98       532

--------------------------------------------------------------------------------
KNN Accuracy 98.5 %
--------------------------------------------------------------------------------
DecisionTree Confusion Matrix
&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;div class=&quot;output_area&quot;&gt;

&lt;div class=&quot;prompt&quot;&gt;&lt;/div&gt;




&lt;div class=&quot;output_png output_subarea &quot;&gt;
&lt;img src=&quot;data:image/png;base64,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
&quot;
&gt;
&lt;/div&gt;

&lt;/div&gt;

&lt;div class=&quot;output_area&quot;&gt;

&lt;div class=&quot;prompt&quot;&gt;&lt;/div&gt;


&lt;div class=&quot;output_subarea output_stream output_stdout output_text&quot;&gt;
&lt;pre&gt;--------------------------------------------------------------------------------
DecisionTree Classification Report
             precision    recall  f1-score   support

        1.0       0.99      0.99      0.99       410
        2.0       0.96      0.94      0.95        72
        3.0       1.00      1.00      1.00        50

avg / total       0.99      0.99      0.99       532

--------------------------------------------------------------------------------
DecisionTree Accuracy 98.68 %
--------------------------------------------------------------------------------
RandomForestClassifier Confusion Matrix
&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;div class=&quot;output_area&quot;&gt;

&lt;div class=&quot;prompt&quot;&gt;&lt;/div&gt;




&lt;div class=&quot;output_png output_subarea &quot;&gt;
&lt;img src=&quot;data:image/png;base64,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
/wG97h5jnAqJAQAAAABJRU5ErkJggg==
&quot;
&gt;
&lt;/div&gt;

&lt;/div&gt;

&lt;div class=&quot;output_area&quot;&gt;

&lt;div class=&quot;prompt&quot;&gt;&lt;/div&gt;


&lt;div class=&quot;output_subarea output_stream output_stdout output_text&quot;&gt;
&lt;pre&gt;--------------------------------------------------------------------------------
RandomForestClassifier Classification Report
             precision    recall  f1-score   support

        1.0       0.99      1.00      0.99       410
        2.0       0.97      0.92      0.94        72
        3.0       1.00      1.00      1.00        50

avg / total       0.98      0.98      0.98       532

--------------------------------------------------------------------------------
RandomForestClassifier Accuracy 98.5 %
Fitting 3 folds for each of 25 candidates, totalling 75 fits
&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;div class=&quot;output_area&quot;&gt;

&lt;div class=&quot;prompt&quot;&gt;&lt;/div&gt;


&lt;div class=&quot;output_subarea output_stream output_stderr output_text&quot;&gt;
&lt;pre&gt;[Parallel(n_jobs=1)]: Done  75 out of  75 | elapsed:  2.2min finished
&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;div class=&quot;output_area&quot;&gt;

&lt;div class=&quot;prompt&quot;&gt;&lt;/div&gt;


&lt;div class=&quot;output_subarea output_stream output_stdout output_text&quot;&gt;
&lt;pre&gt;--------------------------------------------------------------------------------
GridSearchCV Confusion Matrix
&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;div class=&quot;output_area&quot;&gt;

&lt;div class=&quot;prompt&quot;&gt;&lt;/div&gt;




&lt;div class=&quot;output_png output_subarea &quot;&gt;
&lt;img src=&quot;data:image/png;base64,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
fwML+3GGJuwiCgAAAABJRU5ErkJggg==
&quot;
&gt;
&lt;/div&gt;

&lt;/div&gt;

&lt;div class=&quot;output_area&quot;&gt;

&lt;div class=&quot;prompt&quot;&gt;&lt;/div&gt;


&lt;div class=&quot;output_subarea output_stream output_stdout output_text&quot;&gt;
&lt;pre&gt;--------------------------------------------------------------------------------
GridSearchCV Classification Report
             precision    recall  f1-score   support

        1.0       1.00      0.99      0.99       410
        2.0       0.97      0.96      0.97        72
        3.0       0.96      1.00      0.98        50

avg / total       0.99      0.99      0.99       532

--------------------------------------------------------------------------------
GridSearchCV Accuracy 98.87 %
--------------------------------------------------------------------------------
HuberRegressor Confusion Matrix
&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;div class=&quot;output_area&quot;&gt;

&lt;div class=&quot;prompt&quot;&gt;&lt;/div&gt;




&lt;div class=&quot;output_png output_subarea &quot;&gt;
&lt;img src=&quot;data:image/png;base64,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
&quot;
&gt;
&lt;/div&gt;

&lt;/div&gt;

&lt;div class=&quot;output_area&quot;&gt;

&lt;div class=&quot;prompt&quot;&gt;&lt;/div&gt;


&lt;div class=&quot;output_subarea output_stream output_stdout output_text&quot;&gt;
&lt;pre&gt;--------------------------------------------------------------------------------
HuberRegressor Classification Report
             precision    recall  f1-score   support

        1.0       0.99      0.99      0.99       410
        2.0       0.93      0.92      0.92        72
        3.0       1.00      0.96      0.98        50
        4.0       0.00      0.00      0.00         0
        5.0       0.00      0.00      0.00         0

avg / total       0.98      0.98      0.98       532

--------------------------------------------------------------------------------
HuberRegressor Accuracy 97.56 %
--------------------------------------------------------------------------------
Lasso Confusion Matrix
&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;div class=&quot;output_area&quot;&gt;

&lt;div class=&quot;prompt&quot;&gt;&lt;/div&gt;


&lt;div class=&quot;output_subarea output_stream output_stderr output_text&quot;&gt;
&lt;pre&gt;/opt/conda/lib/python3.6/site-packages/sklearn/metrics/classification.py:1137: UndefinedMetricWarning: Recall and F-score are ill-defined and being set to 0.0 in labels with no true samples.
  &amp;#39;recall&amp;#39;, &amp;#39;true&amp;#39;, average, warn_for)
&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;div class=&quot;output_area&quot;&gt;

&lt;div class=&quot;prompt&quot;&gt;&lt;/div&gt;




&lt;div class=&quot;output_png output_subarea &quot;&gt;
&lt;img src=&quot;data:image/png;base64,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
&quot;
&gt;
&lt;/div&gt;

&lt;/div&gt;

&lt;div class=&quot;output_area&quot;&gt;

&lt;div class=&quot;prompt&quot;&gt;&lt;/div&gt;


&lt;div class=&quot;output_subarea output_stream output_stdout output_text&quot;&gt;
&lt;pre&gt;--------------------------------------------------------------------------------
Lasso Classification Report
             precision    recall  f1-score   support

        1.0       0.98      0.99      0.99       410
        2.0       0.95      0.88      0.91        72
        3.0       1.00      1.00      1.00        50

avg / total       0.98      0.98      0.98       532

--------------------------------------------------------------------------------
Lasso Accuracy 97.74 %
--------------------------------------------------------------------------------
LassoCV Confusion Matrix
&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;div class=&quot;output_area&quot;&gt;

&lt;div class=&quot;prompt&quot;&gt;&lt;/div&gt;




&lt;div class=&quot;output_png output_subarea &quot;&gt;
&lt;img src=&quot;data:image/png;base64,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
CmAREUP+L6VDp3xVVuKiAAAAAElFTkSuQmCC
&quot;
&gt;
&lt;/div&gt;

&lt;/div&gt;

&lt;div class=&quot;output_area&quot;&gt;

&lt;div class=&quot;prompt&quot;&gt;&lt;/div&gt;


&lt;div class=&quot;output_subarea output_stream output_stdout output_text&quot;&gt;
&lt;pre&gt;--------------------------------------------------------------------------------
LassoCV Classification Report
             precision    recall  f1-score   support

        1.0       0.99      0.99      0.99       410
        2.0       0.96      0.92      0.94        72
        3.0       1.00      0.98      0.99        50
        4.0       0.00      0.00      0.00         0

avg / total       0.98      0.98      0.98       532

--------------------------------------------------------------------------------
LassoCV Accuracy 98.12 %
--------------------------------------------------------------------------------
Lars Confusion Matrix
&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;div class=&quot;output_area&quot;&gt;

&lt;div class=&quot;prompt&quot;&gt;&lt;/div&gt;


&lt;div class=&quot;output_subarea output_stream output_stderr output_text&quot;&gt;
&lt;pre&gt;/opt/conda/lib/python3.6/site-packages/sklearn/metrics/classification.py:1137: UndefinedMetricWarning: Recall and F-score are ill-defined and being set to 0.0 in labels with no true samples.
  &amp;#39;recall&amp;#39;, &amp;#39;true&amp;#39;, average, warn_for)
&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;div class=&quot;output_area&quot;&gt;

&lt;div class=&quot;prompt&quot;&gt;&lt;/div&gt;




&lt;div class=&quot;output_png output_subarea &quot;&gt;
&lt;img src=&quot;data:image/png;base64,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
&quot;
&gt;
&lt;/div&gt;

&lt;/div&gt;

&lt;div class=&quot;output_area&quot;&gt;

&lt;div class=&quot;prompt&quot;&gt;&lt;/div&gt;


&lt;div class=&quot;output_subarea output_stream output_stdout output_text&quot;&gt;
&lt;pre&gt;--------------------------------------------------------------------------------
Lars Classification Report
             precision    recall  f1-score   support

        0.0       0.00      0.00      0.00         0
        1.0       0.95      0.98      0.97       410
        2.0       0.55      0.67      0.60        72
        3.0       1.00      0.20      0.33        50
        4.0       0.00      0.00      0.00         0

avg / total       0.90      0.87      0.86       532

--------------------------------------------------------------------------------
Lars Accuracy 86.65 %
--------------------------------------------------------------------------------
BayesianRidge Confusion Matrix
&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;div class=&quot;output_area&quot;&gt;

&lt;div class=&quot;prompt&quot;&gt;&lt;/div&gt;




&lt;div class=&quot;output_png output_subarea &quot;&gt;
&lt;img src=&quot;data:image/png;base64,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
rkJggg==
&quot;
&gt;
&lt;/div&gt;

&lt;/div&gt;

&lt;div class=&quot;output_area&quot;&gt;

&lt;div class=&quot;prompt&quot;&gt;&lt;/div&gt;


&lt;div class=&quot;output_subarea output_stream output_stdout output_text&quot;&gt;
&lt;pre&gt;--------------------------------------------------------------------------------
BayesianRidge Classification Report
             precision    recall  f1-score   support

        1.0       0.99      0.99      0.99       410
        2.0       0.93      0.96      0.95        72
        3.0       1.00      0.96      0.98        50
        4.0       0.00      0.00      0.00         0
        5.0       0.00      0.00      0.00         0

avg / total       0.99      0.98      0.98       532

--------------------------------------------------------------------------------
BayesianRidge Accuracy 98.12 %
--------------------------------------------------------------------------------
SGDClassifier Confusion Matrix
&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;div class=&quot;output_area&quot;&gt;

&lt;div class=&quot;prompt&quot;&gt;&lt;/div&gt;


&lt;div class=&quot;output_subarea output_stream output_stderr output_text&quot;&gt;
&lt;pre&gt;/opt/conda/lib/python3.6/site-packages/sklearn/linear_model/stochastic_gradient.py:128: FutureWarning: max_iter and tol parameters have been added in &amp;lt;class &amp;#39;sklearn.linear_model.stochastic_gradient.SGDClassifier&amp;#39;&amp;gt; in 0.19. If both are left unset, they default to max_iter=5 and tol=None. If tol is not None, max_iter defaults to max_iter=1000. From 0.21, default max_iter will be 1000, and default tol will be 1e-3.
  &amp;#34;and default tol will be 1e-3.&amp;#34; % type(self), FutureWarning)
&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;div class=&quot;output_area&quot;&gt;

&lt;div class=&quot;prompt&quot;&gt;&lt;/div&gt;




&lt;div class=&quot;output_png output_subarea &quot;&gt;
&lt;img src=&quot;data:image/png;base64,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
RAEsImLI/wPvH8ydGCwFIQAAAABJRU5ErkJggg==
&quot;
&gt;
&lt;/div&gt;

&lt;/div&gt;

&lt;div class=&quot;output_area&quot;&gt;

&lt;div class=&quot;prompt&quot;&gt;&lt;/div&gt;


&lt;div class=&quot;output_subarea output_stream output_stdout output_text&quot;&gt;
&lt;pre&gt;--------------------------------------------------------------------------------
SGDClassifier Classification Report
             precision    recall  f1-score   support

        1.0       0.99      0.99      0.99       410
        2.0       0.94      0.94      0.94        72
        3.0       1.00      0.98      0.99        50

avg / total       0.98      0.98      0.98       532

--------------------------------------------------------------------------------
SGDClassifier Accuracy 98.31 %
--------------------------------------------------------------------------------
RidgeClassifier Confusion Matrix
&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;div class=&quot;output_area&quot;&gt;

&lt;div class=&quot;prompt&quot;&gt;&lt;/div&gt;




&lt;div class=&quot;output_png output_subarea &quot;&gt;
&lt;img src=&quot;data:image/png;base64,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
TkSuQmCC
&quot;
&gt;
&lt;/div&gt;

&lt;/div&gt;

&lt;div class=&quot;output_area&quot;&gt;

&lt;div class=&quot;prompt&quot;&gt;&lt;/div&gt;


&lt;div class=&quot;output_subarea output_stream output_stdout output_text&quot;&gt;
&lt;pre&gt;--------------------------------------------------------------------------------
RidgeClassifier Classification Report
             precision    recall  f1-score   support

        1.0       0.99      0.98      0.99       410
        2.0       0.88      0.94      0.91        72
        3.0       1.00      0.94      0.97        50

avg / total       0.97      0.97      0.97       532

--------------------------------------------------------------------------------
RidgeClassifier Accuracy 97.37 %
&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;
&lt;div class=&quot;cell border-box-sizing text_cell rendered&quot;&gt;&lt;div class=&quot;prompt input_prompt&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;inner_cell&quot;&gt;
&lt;div class=&quot;text_cell_render border-box-sizing rendered_html&quot;&gt;
&lt;p&gt;After this multi-model study, some of the algorithms we have used stand out with an accuracy equal or beyond 98.5%. These algorithms are : KNN, Decision Tree, Random Forest, GridSearchCV ( applied to kSVC) , SGDC. Amongst these, the one to particularly stand out is the kSVC after it has been optimized by the grid search, quite obviously. We want to know if we can push the limits of this algorithms to even higher accuracies and scores. The method used here could be used for any of the above algorithms, while testing for the algorithm-specific parameters.&lt;/p&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;cell border-box-sizing text_cell rendered&quot;&gt;&lt;div class=&quot;prompt input_prompt&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;inner_cell&quot;&gt;
&lt;div class=&quot;text_cell_render border-box-sizing rendered_html&quot;&gt;
&lt;p&gt;&lt;strong&gt;Optimization of the kSVC&lt;/strong&gt;
This one can take a few minutes to run, if you don't want to run it you can see the results right below the code.&lt;/p&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;cell border-box-sizing code_cell rendered&quot;&gt;
&lt;div class=&quot;input&quot;&gt;
&lt;div class=&quot;prompt input_prompt&quot;&gt;In&amp;nbsp;[22]:&lt;/div&gt;
&lt;div class=&quot;inner_cell&quot;&gt;
    &lt;div class=&quot;input_area&quot;&gt;
&lt;div class=&quot; highlight hl-ipython3&quot;&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class=&quot;kn&quot;&gt;from&lt;/span&gt; &lt;span class=&quot;nn&quot;&gt;sklearn.model_selection&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;GridSearchCV&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;parameters&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;C&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;mf&quot;&gt;0.1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;10&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;100&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;1000&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;],&lt;/span&gt; &lt;span class=&quot;s1&quot;&gt;&amp;#39;gamma&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;mf&quot;&gt;0.1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;mf&quot;&gt;0.01&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;mf&quot;&gt;0.001&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;mf&quot;&gt;0.0001&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;],&lt;/span&gt; &lt;span class=&quot;s1&quot;&gt;&amp;#39;kernel&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;rbf&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]}&lt;/span&gt;

&lt;span class=&quot;c1&quot;&gt;# Here we typed out all the options we want the method to test, each one in&lt;/span&gt;
&lt;span class=&quot;c1&quot;&gt;# its own dictionary.&lt;/span&gt;

&lt;span class=&quot;kn&quot;&gt;from&lt;/span&gt; &lt;span class=&quot;nn&quot;&gt;sklearn.svm&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;SVC&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;grid_search&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;GridSearchCV&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;SVC&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(),&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;param_grid&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;parameters&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;refit&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;kc&quot;&gt;True&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;verbose&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;grid_search&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;grid_search&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;fit&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;X_train&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;y_train&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;best_accuracy&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;grid_search&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;best_score_&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;best_parameters&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;grid_search&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;best_params_&lt;/span&gt;
&lt;span class=&quot;nb&quot;&gt;print&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;best_accuracy&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;nb&quot;&gt;print&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;best_parameters&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;div class=&quot;output_wrapper&quot;&gt;
&lt;div class=&quot;output&quot;&gt;


&lt;div class=&quot;output_area&quot;&gt;

&lt;div class=&quot;prompt&quot;&gt;&lt;/div&gt;


&lt;div class=&quot;output_subarea output_stream output_stdout output_text&quot;&gt;
&lt;pre&gt;Fitting 3 folds for each of 25 candidates, totalling 75 fits
&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;div class=&quot;output_area&quot;&gt;

&lt;div class=&quot;prompt&quot;&gt;&lt;/div&gt;


&lt;div class=&quot;output_subarea output_stream output_stderr output_text&quot;&gt;
&lt;pre&gt;[Parallel(n_jobs=1)]: Done  75 out of  75 | elapsed:  2.3min finished
&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;div class=&quot;output_area&quot;&gt;

&lt;div class=&quot;prompt&quot;&gt;&lt;/div&gt;


&lt;div class=&quot;output_subarea output_stream output_stdout output_text&quot;&gt;
&lt;pre&gt;0.9880803011292346
{&amp;#39;C&amp;#39;: 100, &amp;#39;gamma&amp;#39;: 0.0001, &amp;#39;kernel&amp;#39;: &amp;#39;rbf&amp;#39;}
&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;
&lt;div class=&quot;cell border-box-sizing text_cell rendered&quot;&gt;&lt;div class=&quot;prompt input_prompt&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;inner_cell&quot;&gt;
&lt;div class=&quot;text_cell_render border-box-sizing rendered_html&quot;&gt;
&lt;p&gt;After this grid search we obtained an accuracy of 98.80% with the parameters set as such : C=100, gamma=1e-4, kernel=rbf.
Let's try to push it even more.&lt;/p&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;cell border-box-sizing code_cell rendered&quot;&gt;
&lt;div class=&quot;input&quot;&gt;
&lt;div class=&quot;prompt input_prompt&quot;&gt;In&amp;nbsp;[23]:&lt;/div&gt;
&lt;div class=&quot;inner_cell&quot;&gt;
    &lt;div class=&quot;input_area&quot;&gt;
&lt;div class=&quot; highlight hl-ipython3&quot;&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;parameters&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;C&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;50&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;75&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;125&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;100&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;500&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;],&lt;/span&gt; &lt;span class=&quot;s1&quot;&gt;&amp;#39;gamma&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;mf&quot;&gt;0.0001&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;mf&quot;&gt;0.00001&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;],&lt;/span&gt; &lt;span class=&quot;s1&quot;&gt;&amp;#39;kernel&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;rbf&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]}&lt;/span&gt;

&lt;span class=&quot;kn&quot;&gt;from&lt;/span&gt; &lt;span class=&quot;nn&quot;&gt;sklearn.svm&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;SVC&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;grid_search&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;GridSearchCV&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;SVC&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(),&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;param_grid&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;parameters&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;refit&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;kc&quot;&gt;True&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;verbose&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;grid_search&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;grid_search&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;fit&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;X_train&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;y_train&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;best_accuracy&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;grid_search&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;best_score_&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;best_parameters&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;grid_search&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;best_params_&lt;/span&gt;

&lt;span class=&quot;nb&quot;&gt;print&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;best_accuracy&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;nb&quot;&gt;print&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;best_parameters&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;div class=&quot;output_wrapper&quot;&gt;
&lt;div class=&quot;output&quot;&gt;


&lt;div class=&quot;output_area&quot;&gt;

&lt;div class=&quot;prompt&quot;&gt;&lt;/div&gt;


&lt;div class=&quot;output_subarea output_stream output_stdout output_text&quot;&gt;
&lt;pre&gt;Fitting 3 folds for each of 10 candidates, totalling 30 fits
&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;div class=&quot;output_area&quot;&gt;

&lt;div class=&quot;prompt&quot;&gt;&lt;/div&gt;


&lt;div class=&quot;output_subarea output_stream output_stderr output_text&quot;&gt;
&lt;pre&gt;[Parallel(n_jobs=1)]: Done  30 out of  30 | elapsed:   10.4s finished
&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;div class=&quot;output_area&quot;&gt;

&lt;div class=&quot;prompt&quot;&gt;&lt;/div&gt;


&lt;div class=&quot;output_subarea output_stream output_stdout output_text&quot;&gt;
&lt;pre&gt;0.9893350062735258
{&amp;#39;C&amp;#39;: 500, &amp;#39;gamma&amp;#39;: 1e-05, &amp;#39;kernel&amp;#39;: &amp;#39;rbf&amp;#39;}
&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;
&lt;div class=&quot;cell border-box-sizing text_cell rendered&quot;&gt;&lt;div class=&quot;prompt input_prompt&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;inner_cell&quot;&gt;
&lt;div class=&quot;text_cell_render border-box-sizing rendered_html&quot;&gt;
&lt;p&gt;Not a significant increase in the accuracy this time. We got 98.93% accuracy with the parameters set as such : C=500, gamma=1e-5, kernel=rbf.
To this point, trying to get the algorithm past our current accuracy would be a waste of our time.&lt;/p&gt;
&lt;p&gt;Maybe an Artificial Neural Network could do better ?&lt;/p&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;cell border-box-sizing text_cell rendered&quot;&gt;&lt;div class=&quot;prompt input_prompt&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;inner_cell&quot;&gt;
&lt;div class=&quot;text_cell_render border-box-sizing rendered_html&quot;&gt;
&lt;h2 id=&quot;Using-an-Artificial-Neural-Network-as-a-classifier&quot;&gt;&lt;strong&gt;Using an Artificial Neural Network as a classifier&lt;/strong&gt;&lt;a class=&quot;anchor-link&quot; href=&quot;#Using-an-Artificial-Neural-Network-as-a-classifier&quot;&gt;&amp;#182;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Using the Keras library, we will build a simple ANN ( artificial neural network ). It will be composed of 4 layers. One input, one output, and two hidden layers. For this classification to happen in an ANN we will also have to encode categorical data ( our NSP classes ) in numerical data. After being processed by the ANN we will decode the predicted results to compare them with the actual results in the form of a confusion matrix.&lt;/p&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;cell border-box-sizing code_cell rendered&quot;&gt;
&lt;div class=&quot;input&quot;&gt;
&lt;div class=&quot;prompt input_prompt&quot;&gt;In&amp;nbsp;[24]:&lt;/div&gt;
&lt;div class=&quot;inner_cell&quot;&gt;
    &lt;div class=&quot;input_area&quot;&gt;
&lt;div class=&quot; highlight hl-ipython3&quot;&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class=&quot;c1&quot;&gt;# Importing the Keras libraries, models and layers&lt;/span&gt;
&lt;span class=&quot;kn&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;nn&quot;&gt;keras&lt;/span&gt;
&lt;span class=&quot;kn&quot;&gt;from&lt;/span&gt; &lt;span class=&quot;nn&quot;&gt;keras.models&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;Sequential&lt;/span&gt;
&lt;span class=&quot;kn&quot;&gt;from&lt;/span&gt; &lt;span class=&quot;nn&quot;&gt;keras.layers&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;Dense&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;
&lt;div class=&quot;cell border-box-sizing code_cell rendered&quot;&gt;
&lt;div class=&quot;input&quot;&gt;
&lt;div class=&quot;prompt input_prompt&quot;&gt;In&amp;nbsp;[25]:&lt;/div&gt;
&lt;div class=&quot;inner_cell&quot;&gt;
    &lt;div class=&quot;input_area&quot;&gt;
&lt;div class=&quot; highlight hl-ipython3&quot;&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class=&quot;c1&quot;&gt;# In this part we are barely reprocessing the data and putting it in a form that will fit the ANN&lt;/span&gt;
&lt;span class=&quot;c1&quot;&gt;# as we explained earlier.&lt;/span&gt;

&lt;span class=&quot;c1&quot;&gt;# While chain-testing the different algorithms we had changed X and y to fit a polynomial form,&lt;/span&gt;
&lt;span class=&quot;c1&quot;&gt;# so we have to import them anew.&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;X&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;dataset&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;iloc&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[:,:&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;values&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;y&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;dataset&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;iloc&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[:,&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;values&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;X_train&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;X_test&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;y_train&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;y_test&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;train_test_split&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;X&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;y&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;test_size&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;mf&quot;&gt;0.25&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;random_state&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;

&lt;span class=&quot;kn&quot;&gt;from&lt;/span&gt; &lt;span class=&quot;nn&quot;&gt;sklearn.preprocessing&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;OneHotEncoder&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;ohe&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;OneHotEncoder&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;y_trainann&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;ohe&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;fit_transform&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;y_train&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;reshape&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;))&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;toarray&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;y_trainann&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;np&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;delete&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;y_trainann&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;c1&quot;&gt;# Deleting a column to avoid redundancy after the OHE&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;
&lt;div class=&quot;cell border-box-sizing code_cell rendered&quot;&gt;
&lt;div class=&quot;input&quot;&gt;
&lt;div class=&quot;prompt input_prompt&quot;&gt;In&amp;nbsp;[26]:&lt;/div&gt;
&lt;div class=&quot;inner_cell&quot;&gt;
    &lt;div class=&quot;input_area&quot;&gt;
&lt;div class=&quot; highlight hl-ipython3&quot;&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class=&quot;c1&quot;&gt;# Initializing the ANN&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;classifier&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;Sequential&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt;

&lt;span class=&quot;c1&quot;&gt;# Adding the input layer and the first hidden layer&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;classifier&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;add&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Dense&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;output_dim&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;20&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;init&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;s1&quot;&gt;&amp;#39;uniform&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;activation&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;s1&quot;&gt;&amp;#39;relu&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;input_dim&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;36&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;))&lt;/span&gt;

&lt;span class=&quot;c1&quot;&gt;# Adding the second hidden layer&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;classifier&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;add&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Dense&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;output_dim&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;20&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;init&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;s1&quot;&gt;&amp;#39;uniform&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;activation&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;s1&quot;&gt;&amp;#39;relu&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;))&lt;/span&gt;

&lt;span class=&quot;c1&quot;&gt;# Adding the output layer&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;classifier&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;add&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Dense&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;output_dim&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;init&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;s1&quot;&gt;&amp;#39;uniform&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;activation&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;s1&quot;&gt;&amp;#39;sigmoid&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;))&lt;/span&gt;

&lt;span class=&quot;c1&quot;&gt;# Compiling the ANN&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;classifier&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;compile&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;optimizer&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;s1&quot;&gt;&amp;#39;adam&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;loss&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;s1&quot;&gt;&amp;#39;categorical_crossentropy&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;metrics&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;accuracy&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;])&lt;/span&gt;

&lt;span class=&quot;c1&quot;&gt;# Fitting the ANN to the Training set&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;classifier&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;fit&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;X_train&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;y_trainann&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;batch_size&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;5&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;nb_epoch&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;20&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;div class=&quot;output_wrapper&quot;&gt;
&lt;div class=&quot;output&quot;&gt;


&lt;div class=&quot;output_area&quot;&gt;

&lt;div class=&quot;prompt&quot;&gt;&lt;/div&gt;


&lt;div class=&quot;output_subarea output_stream output_stderr output_text&quot;&gt;
&lt;pre&gt;/opt/conda/lib/python3.6/site-packages/ipykernel_launcher.py:5: UserWarning: Update your `Dense` call to the Keras 2 API: `Dense(activation=&amp;#34;relu&amp;#34;, input_dim=36, units=20, kernel_initializer=&amp;#34;uniform&amp;#34;)`
  &amp;#34;&amp;#34;&amp;#34;
/opt/conda/lib/python3.6/site-packages/ipykernel_launcher.py:8: UserWarning: Update your `Dense` call to the Keras 2 API: `Dense(activation=&amp;#34;relu&amp;#34;, units=20, kernel_initializer=&amp;#34;uniform&amp;#34;)`
  
/opt/conda/lib/python3.6/site-packages/ipykernel_launcher.py:11: UserWarning: Update your `Dense` call to the Keras 2 API: `Dense(activation=&amp;#34;sigmoid&amp;#34;, units=2, kernel_initializer=&amp;#34;uniform&amp;#34;)`
  # This is added back by InteractiveShellApp.init_path()
/opt/conda/lib/python3.6/site-packages/Keras-2.1.5-py3.6.egg/keras/models.py:981: UserWarning: The `nb_epoch` argument in `fit` has been renamed `epochs`.
&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;div class=&quot;output_area&quot;&gt;

&lt;div class=&quot;prompt&quot;&gt;&lt;/div&gt;


&lt;div class=&quot;output_subarea output_stream output_stdout output_text&quot;&gt;
&lt;pre&gt;Epoch 1/20
1594/1594 [==============================] - 1s 457us/step - loss: 0.2330 - acc: 0.9222
Epoch 2/20
1594/1594 [==============================] - 1s 341us/step - loss: 0.0960 - acc: 0.9423
Epoch 3/20
1594/1594 [==============================] - 1s 346us/step - loss: 0.0631 - acc: 0.9517
Epoch 4/20
1594/1594 [==============================] - 1s 340us/step - loss: 0.0659 - acc: 0.9504
Epoch 5/20
1594/1594 [==============================] - 1s 344us/step - loss: 0.0472 - acc: 0.9529
Epoch 6/20
1594/1594 [==============================] - 1s 340us/step - loss: 0.0398 - acc: 0.9611
Epoch 7/20
1594/1594 [==============================] - 1s 340us/step - loss: 0.0374 - acc: 0.9605
Epoch 8/20
1594/1594 [==============================] - 1s 346us/step - loss: 0.0362 - acc: 0.9661
Epoch 9/20
1594/1594 [==============================] - 1s 347us/step - loss: 0.0315 - acc: 0.9598
Epoch 10/20
1594/1594 [==============================] - 1s 340us/step - loss: 0.0218 - acc: 0.9680
Epoch 11/20
1594/1594 [==============================] - 1s 337us/step - loss: 0.0199 - acc: 0.9592
Epoch 12/20
1594/1594 [==============================] - 1s 340us/step - loss: 0.0217 - acc: 0.9605
Epoch 13/20
1594/1594 [==============================] - 1s 341us/step - loss: 0.0185 - acc: 0.9649
Epoch 14/20
1594/1594 [==============================] - 1s 339us/step - loss: 0.0183 - acc: 0.9573
Epoch 15/20
1594/1594 [==============================] - 1s 337us/step - loss: 0.0099 - acc: 0.9661
Epoch 16/20
1594/1594 [==============================] - 1s 341us/step - loss: 0.0061 - acc: 0.9636
Epoch 17/20
1594/1594 [==============================] - 1s 339us/step - loss: 0.0085 - acc: 0.9680
Epoch 18/20
1594/1594 [==============================] - 1s 335us/step - loss: 0.0082 - acc: 0.9680
Epoch 19/20
1594/1594 [==============================] - 1s 340us/step - loss: 0.0010 - acc: 0.9661
Epoch 20/20
1594/1594 [==============================] - 1s 342us/step - loss: 0.0101 - acc: 0.9642
&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;div class=&quot;output_area&quot;&gt;

&lt;div class=&quot;prompt output_prompt&quot;&gt;Out[26]:&lt;/div&gt;




&lt;div class=&quot;output_text output_subarea output_execute_result&quot;&gt;
&lt;pre&gt;&amp;lt;keras.callbacks.History at 0x7f1d4c3a0a90&amp;gt;&lt;/pre&gt;
&lt;/div&gt;

&lt;/div&gt;

&lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;
&lt;div class=&quot;cell border-box-sizing text_cell rendered&quot;&gt;&lt;div class=&quot;prompt input_prompt&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;inner_cell&quot;&gt;
&lt;div class=&quot;text_cell_render border-box-sizing rendered_html&quot;&gt;
&lt;p&gt;With a very simple ANN and no tuning whatsoever we got accuracies around 97% at the end of training.
Let's decode the results and create the confusion matrix to get the actual score.&lt;/p&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;cell border-box-sizing code_cell rendered&quot;&gt;
&lt;div class=&quot;input&quot;&gt;
&lt;div class=&quot;prompt input_prompt&quot;&gt;In&amp;nbsp;[27]:&lt;/div&gt;
&lt;div class=&quot;inner_cell&quot;&gt;
    &lt;div class=&quot;input_area&quot;&gt;
&lt;div class=&quot; highlight hl-ipython3&quot;&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class=&quot;c1&quot;&gt;# Predicting the Test set results&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;y_pred&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;classifier&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;predict&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;X_test&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;y_pred&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;y_pred&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;&amp;gt;&lt;/span&gt; &lt;span class=&quot;mf&quot;&gt;0.7&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;

&lt;span class=&quot;n&quot;&gt;recovered_y&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;np&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;zeros&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;532&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,)&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;for&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;i&lt;/span&gt; &lt;span class=&quot;ow&quot;&gt;in&lt;/span&gt; &lt;span class=&quot;nb&quot;&gt;range&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;532&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;):&lt;/span&gt;
    &lt;span class=&quot;k&quot;&gt;for&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;j&lt;/span&gt; &lt;span class=&quot;ow&quot;&gt;in&lt;/span&gt; &lt;span class=&quot;nb&quot;&gt;range&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;):&lt;/span&gt;
        &lt;span class=&quot;k&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;y_pred&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;][&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;j&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;==&lt;/span&gt; &lt;span class=&quot;kc&quot;&gt;True&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;ow&quot;&gt;and&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;j&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;==&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;
            &lt;span class=&quot;n&quot;&gt;recovered_y&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;
        &lt;span class=&quot;k&quot;&gt;elif&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;y_pred&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;][&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;j&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;==&lt;/span&gt; &lt;span class=&quot;kc&quot;&gt;True&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;ow&quot;&gt;and&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;j&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;==&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;
            &lt;span class=&quot;n&quot;&gt;recovered_y&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;3&lt;/span&gt;            
&lt;span class=&quot;k&quot;&gt;for&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;i&lt;/span&gt; &lt;span class=&quot;ow&quot;&gt;in&lt;/span&gt; &lt;span class=&quot;nb&quot;&gt;range&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;532&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;):&lt;/span&gt;
    &lt;span class=&quot;k&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;recovered_y&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;==&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;
        &lt;span class=&quot;n&quot;&gt;recovered_y&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;2&lt;/span&gt;
     
&lt;span class=&quot;kn&quot;&gt;from&lt;/span&gt; &lt;span class=&quot;nn&quot;&gt;sklearn.metrics&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;confusion_matrix&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;accuracy_score&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;cm&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;confusion_matrix&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;y_test&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;recovered_y&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;acc&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;accuracy_score&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;y_test&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;recovered_y&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;

&lt;span class=&quot;nb&quot;&gt;print&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;The score is : &amp;#39;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;+&lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;str&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;acc&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;))&lt;/span&gt;   
&lt;span class=&quot;n&quot;&gt;label&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&amp;quot;N&amp;quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&amp;quot;S&amp;quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&amp;quot;P&amp;quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;sns&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;heatmap&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;cm&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;annot&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;kc&quot;&gt;True&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;xticklabels&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;label&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;yticklabels&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;label&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;cmap&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&amp;quot;YlGnBu&amp;quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;plt&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;show&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;div class=&quot;output_wrapper&quot;&gt;
&lt;div class=&quot;output&quot;&gt;


&lt;div class=&quot;output_area&quot;&gt;

&lt;div class=&quot;prompt&quot;&gt;&lt;/div&gt;


&lt;div class=&quot;output_subarea output_stream output_stdout output_text&quot;&gt;
&lt;pre&gt;The score is : 0.6992481203007519
&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;div class=&quot;output_area&quot;&gt;

&lt;div class=&quot;prompt&quot;&gt;&lt;/div&gt;




&lt;div class=&quot;output_png output_subarea &quot;&gt;
&lt;img src=&quot;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAWAAAAD4CAYAAADSIzzWAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz
AAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMS4wLCBo
dHRwOi8vbWF0cGxvdGxpYi5vcmcvpW3flQAAHdZJREFUeJzt3Xt0FPXdx/H3bG4QQkJuJBISlJsi
BIGGchEJAiICKiJi8Y7Q1ActPqDUSx+RirQFjUEsFCtCodbWSzVeq7VEEyStBBOkggKhRAwSAtkE
EiCEJPv8EbtKgWUhm/yyw+d1zpyTnczOfLflfPzlu7/fjOVyuVyIiEizc5guQETkXKUAFhExRAEs
ImKIAlhExBAFsIiIIYFNfYHWSZOb+hLnvAG/vcd0Cbb30dhY0yWcI7o3+gxnkjlHdv2p0ddrDI2A
RUQMafIRsIhIc7Is/xlXKoBFxFYclv/Emv9UKiLiBY2ARUQMsSzLdAleUwCLiM1oBCwiYoRaECIi
hiiARUQM0SwIERFDNAIWETFEASwiYoiFpqGJiBihEbCIiCEOh//Emv9UKiLiFd+MgPfv38+SJUuo
qKjAsixGjhzJmDFjePnll1mzZg3h4eEATJ48mX79+gHw+uuvk5WVhcPhYMqUKfTp08fjNRTAImIr
vmpBBAQEcOutt9K5c2eOHDnCgw8+SO/evQEYO3Ys11xzzXHHFxcXk5uby1NPPUV5eTnz5s3j6aef
xuE4dT3+0ywREfGCZTm83jyJjIykc+fOALRu3ZqEhAScTucpj8/Ly2Pw4MEEBQXRvn174uPjKSws
9HgNBbCI2IqFw+vNW6WlpezcuZOuXbsC8P7773P//fezdOlSqqqqAHA6nURHR7vfExUV5TGwQQEs
IjbjqxHwf1RXV5Oens4dd9xBaGgoo0aN4plnnmHhwoVERkayevVqAFwu1xnXqgAWEVtxOAK83k6n
traW9PR0LrvsMgYMGABAu3btcDgcOBwORowYwY4dOwCIjo6mrKzM/V6n00lUVJTnWhvxOUVEWhxf
tSBcLhfLli0jISGBcePGufeXl5e7f16/fj2JiYkApKSkkJuby7FjxygtLWXPnj3ulsWpaBaEiNiK
r2ZBbN26lZycHJKSkpg9ezbQMOVs3bp1FBUVYVkWsbGxpKWlAZCYmMigQYOYNWsWDoeDqVOnepwB
AWC5zqZxcQb0WPqmp8fSNz09lr65NP6x9Bf0Xej1sTsLftbo6zWGRsAiYitnMrvBNAWwiNiKpaXI
IiJm6KGcIiKGqAUhImKIbkcpImKKWhAiIob4zwBYASwiNnOaxQ8tid8HcMfzolieMZ242HbUu1ys
eHENS1a8d9wxM38yjhvHXwpAYGAAF3VNILFPGuUHDp31dYODA3k+Yzp9ky/AWV7FLXc/za7i/Qy/
LJl5D/6I4KBAao7V8vD8F8nO3dyoz9gS/Kx3Vwa1j6Si5hhTcjae8rgLI8JYemlvHsvfSnZJ2SmP
80bboEAe7Xsh8aEhlBw+ytz8L6mqrWNkh1gmd0kA4EhdHRn/2sGOysONupbd5OR8yvz5z1FfX88N
N1xBWtoNpktqPv6Tv/5U6snV1tXz4OMv0HfE/aRe+wg/uW0UF3VLOO6YjGffZuBVDzHwqoeYs+DP
rP3nF16Hb1LHGN5/6ZET9t9x4+WUHzhEr6EzeWb5u8x/6CYAypyVTLzzSfqPeoAfz/wtKxZNb/yH
bAHeKy7lZ+u3eDzGAfzkok7k7Sv3eNx/6xMVzoO9T1wzf1OXBPLLKrjlo3zyyyq4qWtHAPYcqebe
f/yLqWs3snr719yX7Hm9/bmmrq6Oxx5bxvLlc3nnnSW8/XYOhYW7TJfVbFyW5fVmmt8HcElpBRs/
LwKg6lA1XxbupkP8qe9ANOmawbz8Zq779Y+uG8LaN+fxz7/+imd+NRWHw7v/U8aN+gF/fDUHgNfe
/YRhl/YC4LPNRezZ2xBAW7YVExISRHCw3/+hwSbnQSqP1Xo8ZsL555FTUkbF0WPH7b+xcwLLLu3N
85f14Y5uiV5f89K4aN4rLgUa/gMwJK7hXqubyyupqq0DYEt5JbGtg8/ko9jepk3b6dTpPBIT4wkO
DmLs2KGsWfOJ6bKaj3UGm2F+H8Dfl9Qxhj49zyev4OR3oW/dKpgrhl1C5rsN/xgv7NqBiVcP5PIJ
cxl41UPU1bn40XVDvLpWh/goir9p+BO7rq6eg5WHiY5se9wx1435IZ9tLqKmxnNw2UFMSDBD4qN5
86uS4/anxLSjY5tW3LVuE9PWbuTCiDB6R4V7dc6okCCc34a58+gxIkOCTjhmbFIc60srGv8BbGTv
3jLi42Pcr+Piotm7t3HtIL/isLzfDPM4NHv11Vc9vnnixIk+LaYx2oSG8KdnZzL7F6uprDpy0mPG
XtGPf2zY6m4/XH5pL/old+bjtx4HGgJ6X9kBAF763Sw6JcYSHBxIYocY/vnXXwGwZMV7/OGV7JOu
tvn+fY16dO/I4w/dxLhbfunTz9lS3dPzAn73ZRH1/7W/f2w7+se0Y/mQSwBoHRhAxzat2OQ8yNLB
vQl2WLQODKBtUKD7mGe//Iq8/acP1T7REYxJjOOnuf/y9cfxaye7v5Y/rQ5rND/6rB4DOCQk5IR9
R48eJSsri8rKyhYTwIGBAfzp2Zm89Po63ngv75TH3XD1YF5547v2g2VZvPBqDnMW/PmEY29Mewpo
GFU/l/4/XHnjvON+v3tPGR07RLO7xElAgIPwtqE4KxoeTZIQH8VLv5vFtJlL2flVqS8+Yot3YUQY
c/peCEBEcBAD2kdS920Q/HFHMW/t2nvCe6bnbgIaesCjO7bn15uO/8vFefSYexQcFRJE+fdaG53b
hjI7uQsP5G3h4GlaI+ea+PgYSkr2u1/v3VtG+/aebwxuKwH+E8AeWxBXX321exs5ciQ1NTV8+OGH
DB48mN/85jfNVeNpLXsija2F37B4+bunPCa8bWuGDOzBW3/71L3vw3Wfc92YHxIb3fAncWREG5IS
Yk51iuO888Gn3DxxKAATxgxwz3SICA/ltd//jDkL/sw/Nmw724/kdyZ/+Ck/+nbL3rOfRZ//m4/3
OsnbV8FVHeNoHdDwTy0mJJh2wSe2Ek4md6+T0R3bAzC6Y3vWfftndPtWwcz7wUX88rPtFB+qbpoP
5MeSk7tRVPQNX39dQk3NMd55J4fhw39ouqzmY1neb4ad9tuhqqoq3n77bdauXUtqaioLFiwgLCys
OWrzyuD+F3Lz9UP51xe73G2CRxe+ROK3Qbr8hb8DcM2V/VmTs4nDR4663/vl9t384smXeeuFh3A4
HByrrWXm/61k1+79J17ov/z+pY9YsWg6n+dkUF5Rxa33PAPAXbdfSZfz43hwxnU8OOM6AK6+5Vfs
Kzvo08/d3B7p050+0RFEBAfyyvAUVm7fReC3Sz7f3FVyyvdt2F9Bp7DWLBnc8DjvI3V1zN+4nYqa
Y6d8z3+8uKOYR/tdyJjEOPYeOcrc/K0A3N4tifDgIGb2bHhibZ0LfrLus8Z+RNsIDAxgzpy7mDbt
Uerq6rn++pF069bJdFnNx3yues3jDdn/8Ic/sH79ekaMGMHo0aNp1arVGV9AN2Rverohe9PTDdmb
S+NvyN5t9Aqvj93+3p2Nvl5jeBwBv/322wQGBvLaa6/x+uuvu/e7XC4sy2LVqlVNXqCIyBnxoxGw
xwB+6aWXmqsOERGfcAX4z+xa/18hICLyfXYZAYuI+J0WMLvBWwpgEbGXFrDCzVsKYBGxF//JXwWw
iNiMWhAiIob40VJkBbCI2ItGwCIihvhP/iqARcReXJoFISJiiFoQIiKG+E/+KoBFxGZ0LwgREUN8
NALev38/S5YsoaKiAsuyGDlyJGPGjKGqqoqMjAz27dtHbGwsM2fOJCwsDJfLxcqVKykoKCAkJITp
06fTuXNnj9fwn/9UiIh4w0cP5QwICODWW28lIyOD+fPn8/7771NcXExmZibJycksXryY5ORkMjMz
ASgoKKCkpITFixeTlpbG8uXLT1+qTz6wiEhL4aMAjoyMdI9gW7duTUJCAk6nk7y8PFJTUwFITU0l
L6/hOZQbNmxg6NChWJZF9+7dOXToEOXl5Z5L9cHHFRFpMVyW95u3SktL2blzJ127duXAgQNERkYC
DSF98GDD48acTicxMd89UzI6Ohqn0+nxvOoBi4i9+PhLuOrqatLT07njjjsIDQ095XEne7qbdZop
cRoBi4i9+KgFAVBbW0t6ejqXXXYZAwYMACAiIsLdWigvLyc8vOGp6tHR0ezf/90DfcvKytwj5VOW
erafUUSkRXKcweaBy+Vi2bJlJCQkMG7cOPf+lJQUsrOzAcjOzqZ///7u/Tk5ObhcLrZt20ZoaOhp
A1gtCBGxFx+thNu6dSs5OTkkJSUxe/ZsACZPnsz48ePJyMggKyuLmJgYZs2aBUDfvn3Jz89nxowZ
BAcHM3369NOX6umx9L6gx9I3PT2WvunpsfTNpfGPpe88I9PrY/+9eHyjr9cYGgGLiK24dC8IERFD
AhXAIiJmaAQsImKI7gcsImKI/+SvAlhE7EVPxBARMUUBLCJiiB5L/52DRT9r6kuc83ZW7jZdgu0d
q29juoRzQpAvbo6gWRAiIoaoBSEiYogCWETEDC1FFhExRV/CiYgYohaEiIghCmAREUP8J38VwCJi
L1qKLCJiimZBiIgYolkQIiJmOPzoWe8KYBGxFT/qQCiARcReFMAiIoZYfpTACmARsRX1gEVEDLEU
wCIiZvhRB0IBLCL24kcL4RTAImIvGgGLiBiiABYRMcShpcgiImZoBCwiYogvA3jp0qXk5+cTERFB
eno6AC+//DJr1qwhPDwcgMmTJ9OvXz8AXn/9dbKysnA4HEyZMoU+ffp4PL8CWERsxZcBPGzYMEaP
Hs2SJUuO2z927Fiuueaa4/YVFxeTm5vLU089RXl5OfPmzePpp5/G4WFliB9NWRYROT2H5f12Ohdf
fDFhYWFeXTcvL4/BgwcTFBRE+/btiY+Pp7Cw0ON7NAIWEVtpjh7w+++/T05ODp07d+a2224jLCwM
p9NJt27d3MdERUXhdDo9nkcjYBGxFUeA5fV2NkaNGsUzzzzDwoULiYyMZPXq1QC4XK4zr/WsKhAR
aaEsy/vtbLRr1w6Hw4HD4WDEiBHs2LEDgOjoaMrKytzHOZ1OoqKiPJ5LASwittLUAVxeXu7+ef36
9SQmJgKQkpJCbm4ux44do7S0lD179tC1a1eP51IPWERsxZc94EWLFrFlyxYqKyu56667mDRpEps3
b6aoqAjLsoiNjSUtLQ2AxMREBg0axKxZs3A4HEydOtXjDAgAy3U2jYszcKy+oClPL8DOyt2mS7C9
C9p2NF3COSHI4XnerDcGv/ax18fmThjS6Os1hkbAImIrjgDTFXjvnA/g//v5MnI+yicqKpzMt54E
4EBFFffNeppvdu+jQ0Is6Rn3EhHh3VxAObmp1z5O69AQHA4HAQEOMlbP5IVlf+WTnM1YlkVEVBj/
O+dHRMdGmC7VFv6w+l3+8soaXC6YeMNwbr19rOmSmo0/LUU+57+EGz8+lWW/e+i4fcufe4OBg3rx
7vuLGDioF88/94ah6uxl/m//h8V/vI+M1TMBmHDL5Tzz4v0s/uN99B9yMX9e/oHhCu1h+7Zd/OWV
Nfzp5V/yl8yFZH+Uz1dFe0yX1Wwsy/J6M81jABcWFlJRUeF+nZ2dzcKFC1mxYgVVVVVNXlxzSOnf
g4h2bY7b92HWBq69digA1147lKw1G0yUZnuhYa3cPx89UuNXI5eW7N//3k3vS7rRunUIgYEBpPS/
mDV/X2+6rGbT1LMgfMljAD/33HMEBjZ0KbZs2cKLL77I0KFDCQ0N5dlnn22WAk0oKztAbPtIAGLb
R+J0HjRckR1YzPnp7/jf2zJ47/V/uPeuXvouU8Y9xkfv5XPzT0YbrM8+unZL5NMNX1JRXsmRI0dZ
m1NASUnZ6d9oE/4UwB57wPX19e510Lm5uYwYMYKBAwcycOBAZs+e3SwFij0sXH4P0bERVDgreeSe
Z+nYqT29+nXhtuljuG36GF75/RrefuVjbk5TCDdWly4duXPaNfx46uOEhrai+0WdCAjwo2+mGqkl
BKu3PI6A6+vrqaurA+Dzzz+nV69ex/3OrqKjI9hX2jDZel9pOVFR4YYr8n//+XKtXVRbBg1LZtuW
Xcf9PvXKvuRm/ctEabZ0/cThvPLaAla98AsiIsLo1CnedEnNJtDh/WaaxxIuvfRS5s6dy8KFCwkO
DqZHjx4AlJSUEBoa2iwFmjBs+A94440cAN54I4fLh6cYrsi/VR85yuFD1e6fCz7ZSqcu5/HNrn3u
Yz7J2UzH89ubKtF2ysoOALDnm/2s+WA9V4291HBFzcdhubzeTPPYgpgwYQK9evWioqKC3r17u781
rK+vZ8qUKc1SYFObfd9i8tZvoaKikhHDpjP9nolMm3Yt981axGuvfsh5HaJ5KmOm6TL9WoWzivmz
VwJQV1dP6pX9+MGgi/jlA79n91f7cDgsYuMjufvBiYYrtY+Z9z5FRUUlgYEB/PyRO8+paZT+9FRk
rYSzAa2Ea3paCdc8fLESbuzfvF8J984orYQTEfGZltBa8JYCWERsxZ9aEApgEbGVQAWwiIgZlloQ
IiJmqAUhImJIC1hf4TUFsIjYimZBiIgYoi/hREQMUQ9YRMQQtSBERAzRCFhExBDNghARMUQtCBER
Q1rCjda9pQAWEVvxo/xVAIuIvagFISJiiGZBiIgYohaEiIghGgGLiBgS4FAPWETECLUgREQM8eUs
iKVLl5Kfn09ERATp6ekAVFVVkZGRwb59+4iNjWXmzJmEhYXhcrlYuXIlBQUFhISEMH36dDp37uy5
Vp9VKiLSAjgs77fTGTZsGA8//PBx+zIzM0lOTmbx4sUkJyeTmZkJQEFBASUlJSxevJi0tDSWL19+
+lrP6hOKiLRQvgzgiy++mLCwsOP25eXlkZqaCkBqaip5eXkAbNiwgaFDh2JZFt27d+fQoUOUl5d7
PL9aECJiK0FNvBDjwIEDREZGAhAZGcnBgwcBcDqdxMTEuI+Ljo7G6XS6jz0ZBbCI2IqpaWgu14nB
b1mei1ELQkRsxZctiJOJiIhwtxbKy8sJDw8HGka8+/fvdx9XVlbmcfQLCmARsZkAy/vtbKSkpJCd
nQ1AdnY2/fv3d+/PycnB5XKxbds2QkNDTxvAakGIiK34sgWxaNEitmzZQmVlJXfddReTJk1i/Pjx
ZGRkkJWVRUxMDLNmzQKgb9++5OfnM2PGDIKDg5k+ffppz2+5Tta48KFj9QVNeXoBdlbuNl2C7V3Q
tqPpEs4JQY4+jT7H05v/5vWx9/Yc1ejrNYZGwCJiK0G6F8R3ghxtmvoS57xuEV1Ml2B7X1UWmi7h
nHB+28aPgHUzHhERQ3RDdhERQ852doMJCmARsRW1IEREDNFTkUVEDAlQD1hExAw/GgArgEXEXtQD
FhExRAEsImKIesAiIoZoFoSIiCFqQYiIGKKVcCIihuheECIihvhRC1gBLCL2oh6wiIghQQ61IERE
jNAIWETEEAWwiIgh+hJORMQQSyNgEREz1IIQETFELQgREUMsrYQTETHDjzoQCmARsRd9CSciYogf
5a8CWETsRbejFBExRC0IERFD/Ch/FcAiYi++DOC7776bVq1a4XA4CAgI4Ne//jVVVVVkZGSwb98+
YmNjmTlzJmFhYWd1fgWwiNiKr1fCPfroo4SHh7tfZ2ZmkpyczPjx48nMzCQzM5NbbrnlrM6tAP6e
nJxPmT//Oerr67nhhitIS7vBdEm2c/RoDbfc/HNqao5RV1fHqCsHM2PGZNNl2UZdXT0/vXUR0e0j
mLdoKrOmLeHI4aMAVDiruLBnInPTpxiusmk1dQsiLy+PuXPnApCamsrcuXMVwI1VV1fHY48tY+XK
ecTFRTNx4iyGDx9A165JpkuzleDgIH6/6jHatGnNsWO13HzTQwwd2o8+fS40XZotZP5pLYkXxHH4
UDUATy2/2/27x2avYlBqT1OlNRtfPxNu/vz5AFxxxRWMHDmSAwcOEBkZCUBkZCQHDx4863MrgL+1
adN2OnU6j8TEeADGjh3KmjWfKIB9zLIs2rRpDUBtbR21tXVY/vS1dQu2b28F69d9weQ7R/CXP+Yc
97vDh6r5bEMh9z16o6Hqmo8v/znNmzePqKgoDhw4wOOPP06HDh18d3JOE8A1NTV88MEHlJSUkJSU
xPDhwwkICPBpAS3F3r1lxMfHuF/HxUWzadM2gxXZV11dHddPuI9du0q46aaruOSS7qZLsoVl6W8w
bcY49+j3+9Z9+Dl9+nelTVgrA5U1L1/ejCcqKgqAiIgI+vfvT2FhIREREZSXlxMZGUl5eflx/eEz
5bHWJUuWsGPHDpKSkigoKGD16tVnfaGWzuU68c8WjcyaRkBAAJlvLOKj7OVs2rSdbdu+Ml2S3/vn
2i20iwqjW4+OJ/39R38rYNiVfZu5KjMsy/vNk+rqao4cOeL+edOmTSQlJZGSkkJ2djYA2dnZ9O/f
/6xr9TgCLi4uJj09HYDhw4fz8MMPn/WFWrr4+BhKSva7X+/dW0b79lEGK7K/8PAwfjigF2vXFtC9
eyfT5fi1LZ8V8c+cLeSt+5KamloOV1Wz4JEXeWDeTRysOMTWzV/z6BN3mC6zWfhq2HTgwAGefPJJ
oOGvtiFDhtCnTx+6dOlCRkYGWVlZxMTEMGvWrLO+hscADgz87td2bT38R3JyN4qKvuHrr0uIi4vm
nXdySE+/33RZtuN0HiAwMIDw8DCqq4/yj9zPmPbjCabL8nt33jOGO+8ZA8BnGwp59YVsHph3EwA5
f/+MAUN6EBwSZLLEZuOraWhxcXE88cQTJ+xv27Ytc+bM8ck1PAZwUVERt99+O9DwJ3pNTQ233347
LpcLy7JYtWqVT4poCQIDA5gz5y6mTXuUurp6rr9+JN26aVTma/tKy3nwwaepq6vH5XIxevSlXH75
2f8JJ6eX/beNTLpjuOkymo0/PRHDcp2s+elT+iKrqbmoM12C7X1VWWi6hHPC+W2vbvQ59hx+y+tj
zwtt/PUaQ9PQRMRW9EQMERFD/KgDoQAWEXvxp9mjCmARsRV/mq+lABYRW9EIWETEGP9JYAWwiNiK
pQAWETHDsnx5O56mpQAWEZvRCFhExAjLpzekbFoKYBGxFbUgRESMUQtCRMQIzYIQETFEASwiYohl
+c9iZAWwiNiMRsAiIkaoBSEiYoymoYmIGKERsIiIIZYf3Y9SASwitmL50S3ZFcAiYjMaAYuIGKEW
hIiIMQpgEREjdDtKERFjNAIWETHCofsBi4iYogAWETFCK+FERIzxXQBv3LiRlStXUl9fz4gRIxg/
frzPzg3+NFYXEfGCZVleb57U19fz/PPP8/DDD5ORkcG6desoLi72aa0KYBGxFYsArzdPCgsLiY+P
Jy4ujsDAQAYPHkxeXp5Pa22GFkT3pr/EOc5/Ol7+6/y2PUyXIF7zTeY4nU6io6Pdr6Ojo9m+fbtP
zv0fGgGLiJyEy+U6YZ+vlzkrgEVETiI6OpqysjL367KyMiIjI316DQWwiMhJdOnShT179lBaWkpt
bS25ubmkpKT49BqW62TjbBERIT8/n1WrVlFfX8/ll1/OhAkTfHp+BbCIiCFqQYiIGKIAFhExREuR
vzVp0iTGjRvHbbfdBsCbb75JdXU1kyZNMlyZ/bz22mt8/PHHOBwOLMsiLS2Nbt26mS7LNm688UaS
kpKor68nISGBu+++m5CQENNlyUkogL8VFBTEJ598wvjx4wkPDzddjm1t27aNTz/9lAULFhAUFMTB
gwepra01XZatBAcH88QTTwCwePFiPvjgA8aNG2e4KjkZtSC+5XA4GDlyJO+8847pUmytvLyctm3b
EhQUBEB4eDhRUVGGq7Kviy66iJKSEtNlyCkogL/nyiuv5OOPP+bw4cOmS7GtSy65hLKyMu69916W
L1/Oli1bTJdkW3V1dWzcuJGkpCTTpcgpqAXxPaGhoQwdOpR3332X4OBg0+XYUqtWrViwYAFffPEF
mzdvJiMjg5tvvplhw4aZLs02ampqmD17NgA9evRg+PDhhiuSU1EA/5exY8fywAMPKBCakMPhoGfP
nvTs2ZOkpCQ++ugj/e/tQ9/vAUvLphbEfwkLC2PQoEFkZWWZLsWWvvnmG/bs2eN+XVRURGxsrMGK
RMzRCPgkxo0bx3vvvWe6DFuqrq5mxYoVHDp0iICAAOLj40lLSzNdlogRWoosImKIWhAiIoYogEVE
DFEAi4gYogAWETFEASwiYogCWETEEAWwiIgh/w/ZMUhC+DbgkwAAAABJRU5ErkJggg==
&quot;
&gt;
&lt;/div&gt;

&lt;/div&gt;

&lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;
&lt;div class=&quot;cell border-box-sizing text_cell rendered&quot;&gt;&lt;div class=&quot;prompt input_prompt&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;inner_cell&quot;&gt;
&lt;div class=&quot;text_cell_render border-box-sizing rendered_html&quot;&gt;
&lt;p&gt;Not a very good result... It seems like the high accuracy during training and the sudden drop we get would be a symptom of overfitting, we can try with less epochs and different batch sizes. In order to do this we will create a for loop that will work in tha same manner as a grid search for our parameters ( here they are the number of epochs and the batch size ).&lt;/p&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;cell border-box-sizing code_cell rendered&quot;&gt;
&lt;div class=&quot;input&quot;&gt;
&lt;div class=&quot;prompt input_prompt&quot;&gt;In&amp;nbsp;[28]:&lt;/div&gt;
&lt;div class=&quot;inner_cell&quot;&gt;
    &lt;div class=&quot;input_area&quot;&gt;
&lt;div class=&quot; highlight hl-ipython3&quot;&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;epochs&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;5&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;10&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;15&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;batch_sizes&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;3&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;4&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;5&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;10&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;15&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;20&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;table_results&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;np&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;zeros&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;([(&lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;len&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;epochs&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;*&lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;len&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;batch_sizes&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)),&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;3&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;],)&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;c&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;for&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;aa&lt;/span&gt; &lt;span class=&quot;ow&quot;&gt;in&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;epochs&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;
    &lt;span class=&quot;k&quot;&gt;for&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;bb&lt;/span&gt; &lt;span class=&quot;ow&quot;&gt;in&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;batch_sizes&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;
        &lt;span class=&quot;nb&quot;&gt;print&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;The number of epochs is : &amp;#39;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;+&lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;str&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;aa&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;))&lt;/span&gt;
        &lt;span class=&quot;nb&quot;&gt;print&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;The batch size is : &amp;#39;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;+&lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;str&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;bb&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;))&lt;/span&gt;
        &lt;span class=&quot;n&quot;&gt;classifier&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;fit&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;X_train&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;y_trainann&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;batch_size&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;bb&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;nb_epoch&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;aa&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;

        &lt;span class=&quot;n&quot;&gt;y_pred&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;classifier&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;predict&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;X_test&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
        &lt;span class=&quot;n&quot;&gt;y_pred&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;y_pred&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;&amp;gt;&lt;/span&gt; &lt;span class=&quot;mf&quot;&gt;0.7&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;

        &lt;span class=&quot;n&quot;&gt;recovered_y&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;np&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;zeros&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;532&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,)&lt;/span&gt;
        &lt;span class=&quot;k&quot;&gt;for&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;i&lt;/span&gt; &lt;span class=&quot;ow&quot;&gt;in&lt;/span&gt; &lt;span class=&quot;nb&quot;&gt;range&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;532&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;):&lt;/span&gt;
            &lt;span class=&quot;k&quot;&gt;for&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;j&lt;/span&gt; &lt;span class=&quot;ow&quot;&gt;in&lt;/span&gt; &lt;span class=&quot;nb&quot;&gt;range&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;):&lt;/span&gt;
                &lt;span class=&quot;k&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;y_pred&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;][&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;j&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;==&lt;/span&gt; &lt;span class=&quot;kc&quot;&gt;True&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;ow&quot;&gt;and&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;j&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;==&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;
                    &lt;span class=&quot;n&quot;&gt;recovered_y&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;
                &lt;span class=&quot;k&quot;&gt;elif&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;y_pred&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;][&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;j&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;==&lt;/span&gt; &lt;span class=&quot;kc&quot;&gt;True&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;ow&quot;&gt;and&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;j&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;==&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;
                    &lt;span class=&quot;n&quot;&gt;recovered_y&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;3&lt;/span&gt;            
        &lt;span class=&quot;k&quot;&gt;for&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;i&lt;/span&gt; &lt;span class=&quot;ow&quot;&gt;in&lt;/span&gt; &lt;span class=&quot;nb&quot;&gt;range&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;532&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;):&lt;/span&gt;
            &lt;span class=&quot;k&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;recovered_y&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;==&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;
                &lt;span class=&quot;n&quot;&gt;recovered_y&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;2&lt;/span&gt;

        &lt;span class=&quot;kn&quot;&gt;from&lt;/span&gt; &lt;span class=&quot;nn&quot;&gt;sklearn.metrics&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;confusion_matrix&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;accuracy_score&lt;/span&gt;
        &lt;span class=&quot;n&quot;&gt;cm&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;confusion_matrix&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;y_test&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;recovered_y&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
        &lt;span class=&quot;n&quot;&gt;acc&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;accuracy_score&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;y_test&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;recovered_y&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
        
        &lt;span class=&quot;n&quot;&gt;table_results&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;c&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;][&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;aa&lt;/span&gt;
        &lt;span class=&quot;n&quot;&gt;table_results&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;c&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;][&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;bb&lt;/span&gt;
        &lt;span class=&quot;n&quot;&gt;table_results&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;c&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;][&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;acc&lt;/span&gt;
        &lt;span class=&quot;n&quot;&gt;c&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;+=&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;
        &lt;span class=&quot;nb&quot;&gt;print&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;The accuracy is : &amp;#39;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;+&lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;str&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;acc&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;))&lt;/span&gt;   
        &lt;span class=&quot;n&quot;&gt;label&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&amp;quot;N&amp;quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&amp;quot;S&amp;quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&amp;quot;P&amp;quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;
        &lt;span class=&quot;n&quot;&gt;sns&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;heatmap&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;cm&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;annot&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;kc&quot;&gt;True&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;xticklabels&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;label&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;yticklabels&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;label&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;cmap&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&amp;quot;YlGnBu&amp;quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
        &lt;span class=&quot;n&quot;&gt;plt&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;show&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;div class=&quot;output_wrapper&quot;&gt;
&lt;div class=&quot;output&quot;&gt;


&lt;div class=&quot;output_area&quot;&gt;

&lt;div class=&quot;prompt&quot;&gt;&lt;/div&gt;


&lt;div class=&quot;output_subarea output_stream output_stdout output_text&quot;&gt;
&lt;pre&gt;The number of epochs is : 5
The batch size is : 1
Epoch 1/5
  87/1594 [&amp;gt;.............................] - ETA: 2s - loss: 0.1973 - acc: 0.9310  &lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;div class=&quot;output_area&quot;&gt;

&lt;div class=&quot;prompt&quot;&gt;&lt;/div&gt;


&lt;div class=&quot;output_subarea output_stream output_stderr output_text&quot;&gt;
&lt;pre&gt;/opt/conda/lib/python3.6/site-packages/Keras-2.1.5-py3.6.egg/keras/models.py:981: UserWarning: The `nb_epoch` argument in `fit` has been renamed `epochs`.
&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;div class=&quot;output_area&quot;&gt;

&lt;div class=&quot;prompt&quot;&gt;&lt;/div&gt;


&lt;div class=&quot;output_subarea output_stream output_stdout output_text&quot;&gt;
&lt;pre&gt;1594/1594 [==============================] - 3s 2ms/step - loss: 0.0407 - acc: 0.9586
Epoch 2/5
1594/1594 [==============================] - 3s 2ms/step - loss: 0.0337 - acc: 0.9586
Epoch 3/5
1594/1594 [==============================] - 3s 2ms/step - loss: 0.0196 - acc: 0.9655
Epoch 4/5
1594/1594 [==============================] - 3s 2ms/step - loss: 0.0215 - acc: 0.9561
Epoch 5/5
1594/1594 [==============================] - 3s 2ms/step - loss: 0.0175 - acc: 0.9655
The accuracy is : 0.8778195488721805
&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;div class=&quot;output_area&quot;&gt;

&lt;div class=&quot;prompt&quot;&gt;&lt;/div&gt;




&lt;div class=&quot;output_png output_subarea &quot;&gt;
&lt;img src=&quot;data:image/png;base64,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
&quot;
&gt;
&lt;/div&gt;

&lt;/div&gt;

&lt;div class=&quot;output_area&quot;&gt;

&lt;div class=&quot;prompt&quot;&gt;&lt;/div&gt;


&lt;div class=&quot;output_subarea output_stream output_stdout output_text&quot;&gt;
&lt;pre&gt;The number of epochs is : 5
The batch size is : 2
Epoch 1/5
1594/1594 [==============================] - 1s 839us/step - loss: 0.0088 - acc: 0.9724
Epoch 2/5
1594/1594 [==============================] - 1s 843us/step - loss: 0.0143 - acc: 0.9649
Epoch 3/5
1594/1594 [==============================] - 1s 836us/step - loss: 0.0011 - acc: 0.9724
Epoch 4/5
1594/1594 [==============================] - 1s 844us/step - loss: 0.0079 - acc: 0.9674
Epoch 5/5
1594/1594 [==============================] - 1s 846us/step - loss: 4.5585e-04 - acc: 0.9724
The accuracy is : 0.8890977443609023
&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;div class=&quot;output_area&quot;&gt;

&lt;div class=&quot;prompt&quot;&gt;&lt;/div&gt;




&lt;div class=&quot;output_png output_subarea &quot;&gt;
&lt;img src=&quot;data:image/png;base64,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
UQCLiBjy/wHkWYlCEHZPywAAAABJRU5ErkJggg==
&quot;
&gt;
&lt;/div&gt;

&lt;/div&gt;

&lt;div class=&quot;output_area&quot;&gt;

&lt;div class=&quot;prompt&quot;&gt;&lt;/div&gt;


&lt;div class=&quot;output_subarea output_stream output_stdout output_text&quot;&gt;
&lt;pre&gt;The number of epochs is : 5
The batch size is : 3
Epoch 1/5
1594/1594 [==============================] - 1s 569us/step - loss: 0.0117 - acc: 0.9605
Epoch 2/5
1594/1594 [==============================] - 1s 561us/step - loss: 0.0081 - acc: 0.9624
Epoch 3/5
1594/1594 [==============================] - 1s 551us/step - loss: 0.0013 - acc: 0.9668
Epoch 4/5
1594/1594 [==============================] - 1s 556us/step - loss: 0.0043 - acc: 0.9693
Epoch 5/5
1594/1594 [==============================] - 1s 560us/step - loss: 0.0044 - acc: 0.9737
The accuracy is : 0.8834586466165414
&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;div class=&quot;output_area&quot;&gt;

&lt;div class=&quot;prompt&quot;&gt;&lt;/div&gt;




&lt;div class=&quot;output_png output_subarea &quot;&gt;
&lt;img src=&quot;data:image/png;base64,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
&quot;
&gt;
&lt;/div&gt;

&lt;/div&gt;

&lt;div class=&quot;output_area&quot;&gt;

&lt;div class=&quot;prompt&quot;&gt;&lt;/div&gt;


&lt;div class=&quot;output_subarea output_stream output_stdout output_text&quot;&gt;
&lt;pre&gt;The number of epochs is : 5
The batch size is : 4
Epoch 1/5
1594/1594 [==============================] - 1s 425us/step - loss: 3.4487e-04 - acc: 0.9680
Epoch 2/5
1594/1594 [==============================] - 1s 423us/step - loss: 1.6990e-04 - acc: 0.9686
Epoch 3/5
1594/1594 [==============================] - 1s 424us/step - loss: 1.1332e-04 - acc: 0.9668
Epoch 4/5
1594/1594 [==============================] - 1s 420us/step - loss: 8.0355e-05 - acc: 0.9668
Epoch 5/5
1594/1594 [==============================] - 1s 423us/step - loss: 6.2181e-05 - acc: 0.9655
The accuracy is : 0.8909774436090225
&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;div class=&quot;output_area&quot;&gt;

&lt;div class=&quot;prompt&quot;&gt;&lt;/div&gt;




&lt;div class=&quot;output_png output_subarea &quot;&gt;
&lt;img src=&quot;data:image/png;base64,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
&quot;
&gt;
&lt;/div&gt;

&lt;/div&gt;

&lt;div class=&quot;output_area&quot;&gt;

&lt;div class=&quot;prompt&quot;&gt;&lt;/div&gt;


&lt;div class=&quot;output_subarea output_stream output_stdout output_text&quot;&gt;
&lt;pre&gt;The number of epochs is : 5
The batch size is : 5
Epoch 1/5
1594/1594 [==============================] - 1s 339us/step - loss: 4.4007e-05 - acc: 0.9649
Epoch 2/5
1594/1594 [==============================] - 1s 338us/step - loss: 3.6843e-05 - acc: 0.9668
Epoch 3/5
1594/1594 [==============================] - 1s 335us/step - loss: 3.0187e-05 - acc: 0.9655
Epoch 4/5
1594/1594 [==============================] - 1s 338us/step - loss: 2.5020e-05 - acc: 0.9655
Epoch 5/5
1594/1594 [==============================] - 1s 339us/step - loss: 2.0030e-05 - acc: 0.9649
The accuracy is : 0.8928571428571429
&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;div class=&quot;output_area&quot;&gt;

&lt;div class=&quot;prompt&quot;&gt;&lt;/div&gt;




&lt;div class=&quot;output_png output_subarea &quot;&gt;
&lt;img src=&quot;data:image/png;base64,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
&quot;
&gt;
&lt;/div&gt;

&lt;/div&gt;

&lt;div class=&quot;output_area&quot;&gt;

&lt;div class=&quot;prompt&quot;&gt;&lt;/div&gt;


&lt;div class=&quot;output_subarea output_stream output_stdout output_text&quot;&gt;
&lt;pre&gt;The number of epochs is : 5
The batch size is : 10
Epoch 1/5
1594/1594 [==============================] - 0s 174us/step - loss: 1.6703e-05 - acc: 0.9655
Epoch 2/5
1594/1594 [==============================] - 0s 172us/step - loss: 1.4819e-05 - acc: 0.9642
Epoch 3/5
1594/1594 [==============================] - 0s 170us/step - loss: 1.3277e-05 - acc: 0.9655
Epoch 4/5
1594/1594 [==============================] - 0s 170us/step - loss: 1.2186e-05 - acc: 0.9649
Epoch 5/5
1594/1594 [==============================] - 0s 172us/step - loss: 1.1074e-05 - acc: 0.9636
The accuracy is : 0.8947368421052632
&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;div class=&quot;output_area&quot;&gt;

&lt;div class=&quot;prompt&quot;&gt;&lt;/div&gt;




&lt;div class=&quot;output_png output_subarea &quot;&gt;
&lt;img src=&quot;data:image/png;base64,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
&quot;
&gt;
&lt;/div&gt;

&lt;/div&gt;

&lt;div class=&quot;output_area&quot;&gt;

&lt;div class=&quot;prompt&quot;&gt;&lt;/div&gt;


&lt;div class=&quot;output_subarea output_stream output_stdout output_text&quot;&gt;
&lt;pre&gt;The number of epochs is : 5
The batch size is : 15
Epoch 1/5
1594/1594 [==============================] - 0s 112us/step - loss: 1.0050e-05 - acc: 0.9642
Epoch 2/5
1594/1594 [==============================] - 0s 115us/step - loss: 9.6201e-06 - acc: 0.9649
Epoch 3/5
1594/1594 [==============================] - 0s 115us/step - loss: 8.9619e-06 - acc: 0.9636
Epoch 4/5
1594/1594 [==============================] - 0s 115us/step - loss: 8.3948e-06 - acc: 0.9649
Epoch 5/5
1594/1594 [==============================] - 0s 116us/step - loss: 8.0205e-06 - acc: 0.9642
The accuracy is : 0.8947368421052632
&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;div class=&quot;output_area&quot;&gt;

&lt;div class=&quot;prompt&quot;&gt;&lt;/div&gt;




&lt;div class=&quot;output_png output_subarea &quot;&gt;
&lt;img src=&quot;data:image/png;base64,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
&quot;
&gt;
&lt;/div&gt;

&lt;/div&gt;

&lt;div class=&quot;output_area&quot;&gt;

&lt;div class=&quot;prompt&quot;&gt;&lt;/div&gt;


&lt;div class=&quot;output_subarea output_stream output_stdout output_text&quot;&gt;
&lt;pre&gt;The number of epochs is : 5
The batch size is : 20
Epoch 1/5
1594/1594 [==============================] - 0s 87us/step - loss: 7.4283e-06 - acc: 0.9636
Epoch 2/5
1594/1594 [==============================] - 0s 88us/step - loss: 7.0823e-06 - acc: 0.9642
Epoch 3/5
1594/1594 [==============================] - 0s 86us/step - loss: 6.8622e-06 - acc: 0.9636
Epoch 4/5
1594/1594 [==============================] - 0s 86us/step - loss: 6.5663e-06 - acc: 0.9636
Epoch 5/5
1594/1594 [==============================] - 0s 87us/step - loss: 6.1775e-06 - acc: 0.9642
The accuracy is : 0.900375939849624
&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;div class=&quot;output_area&quot;&gt;

&lt;div class=&quot;prompt&quot;&gt;&lt;/div&gt;




&lt;div class=&quot;output_png output_subarea &quot;&gt;
&lt;img src=&quot;data:image/png;base64,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
i4gY8r+dHJ93vn7MjgAAAABJRU5ErkJggg==
&quot;
&gt;
&lt;/div&gt;

&lt;/div&gt;

&lt;div class=&quot;output_area&quot;&gt;

&lt;div class=&quot;prompt&quot;&gt;&lt;/div&gt;


&lt;div class=&quot;output_subarea output_stream output_stdout output_text&quot;&gt;
&lt;pre&gt;The number of epochs is : 10
The batch size is : 1
Epoch 1/10
1594/1594 [==============================] - 3s 2ms/step - loss: 0.0293 - acc: 0.9567
Epoch 2/10
1594/1594 [==============================] - 3s 2ms/step - loss: 5.1368e-04 - acc: 0.9680
Epoch 3/10
1594/1594 [==============================] - 3s 2ms/step - loss: 1.3921e-04 - acc: 0.9649
Epoch 4/10
1594/1594 [==============================] - 3s 2ms/step - loss: 9.5458e-05 - acc: 0.9661
Epoch 5/10
1594/1594 [==============================] - 3s 2ms/step - loss: 0.0082 - acc: 0.9642
Epoch 6/10
1594/1594 [==============================] - 3s 2ms/step - loss: 5.8337e-05 - acc: 0.9636
Epoch 7/10
1594/1594 [==============================] - 3s 2ms/step - loss: 4.8998e-05 - acc: 0.9649
Epoch 8/10
1594/1594 [==============================] - 3s 2ms/step - loss: 2.1685e-05 - acc: 0.9686
Epoch 9/10
1594/1594 [==============================] - 3s 2ms/step - loss: 0.0726 - acc: 0.9605
Epoch 10/10
1594/1594 [==============================] - 3s 2ms/step - loss: 4.3176e-04 - acc: 0.9661
The accuracy is : 0.881578947368421
&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;div class=&quot;output_area&quot;&gt;

&lt;div class=&quot;prompt&quot;&gt;&lt;/div&gt;




&lt;div class=&quot;output_png output_subarea &quot;&gt;
&lt;img src=&quot;data:image/png;base64,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
&quot;
&gt;
&lt;/div&gt;

&lt;/div&gt;

&lt;div class=&quot;output_area&quot;&gt;

&lt;div class=&quot;prompt&quot;&gt;&lt;/div&gt;


&lt;div class=&quot;output_subarea output_stream output_stdout output_text&quot;&gt;
&lt;pre&gt;The number of epochs is : 10
The batch size is : 2
Epoch 1/10
1594/1594 [==============================] - 1s 841us/step - loss: 1.3017e-04 - acc: 0.9649
Epoch 2/10
1594/1594 [==============================] - 1s 841us/step - loss: 8.5543e-05 - acc: 0.9686
Epoch 3/10
1594/1594 [==============================] - 1s 852us/step - loss: 4.6321e-05 - acc: 0.9661
Epoch 4/10
1594/1594 [==============================] - 1s 851us/step - loss: 3.3728e-05 - acc: 0.9686
Epoch 5/10
1594/1594 [==============================] - 1s 843us/step - loss: 1.6959e-05 - acc: 0.9655
Epoch 6/10
1594/1594 [==============================] - 1s 841us/step - loss: 0.0027 - acc: 0.9668
Epoch 7/10
1594/1594 [==============================] - 1s 844us/step - loss: 0.0130 - acc: 0.9674
Epoch 8/10
1594/1594 [==============================] - 1s 835us/step - loss: 2.5093e-04 - acc: 0.9649
Epoch 9/10
1594/1594 [==============================] - 1s 841us/step - loss: 1.4289e-04 - acc: 0.9674
Epoch 10/10
1594/1594 [==============================] - 1s 845us/step - loss: 8.8545e-05 - acc: 0.9630
The accuracy is : 0.8853383458646616
&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;div class=&quot;output_area&quot;&gt;

&lt;div class=&quot;prompt&quot;&gt;&lt;/div&gt;




&lt;div class=&quot;output_png output_subarea &quot;&gt;
&lt;img src=&quot;data:image/png;base64,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
&quot;
&gt;
&lt;/div&gt;

&lt;/div&gt;

&lt;div class=&quot;output_area&quot;&gt;

&lt;div class=&quot;prompt&quot;&gt;&lt;/div&gt;


&lt;div class=&quot;output_subarea output_stream output_stdout output_text&quot;&gt;
&lt;pre&gt;The number of epochs is : 10
The batch size is : 3
Epoch 1/10
1594/1594 [==============================] - 1s 566us/step - loss: 7.0924e-05 - acc: 0.9642
Epoch 2/10
1594/1594 [==============================] - 1s 573us/step - loss: 0.0105 - acc: 0.9674
Epoch 3/10
1594/1594 [==============================] - 1s 566us/step - loss: 1.5612e-04 - acc: 0.9617
Epoch 4/10
1594/1594 [==============================] - 1s 569us/step - loss: 8.5029e-05 - acc: 0.9699
Epoch 5/10
1594/1594 [==============================] - 1s 565us/step - loss: 5.4132e-05 - acc: 0.9693
Epoch 6/10
1594/1594 [==============================] - 1s 563us/step - loss: 3.5247e-05 - acc: 0.9724
Epoch 7/10
1594/1594 [==============================] - 1s 562us/step - loss: 2.7196e-05 - acc: 0.9693
Epoch 8/10
1594/1594 [==============================] - 1s 564us/step - loss: 1.6096e-05 - acc: 0.9705
Epoch 9/10
1594/1594 [==============================] - 1s 566us/step - loss: 1.5192e-05 - acc: 0.9718
Epoch 10/10
1594/1594 [==============================] - 1s 567us/step - loss: 1.4014e-05 - acc: 0.9661
The accuracy is : 0.8796992481203008
&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;div class=&quot;output_area&quot;&gt;

&lt;div class=&quot;prompt&quot;&gt;&lt;/div&gt;




&lt;div class=&quot;output_png output_subarea &quot;&gt;
&lt;img src=&quot;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAWAAAAD4CAYAAADSIzzWAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz
AAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMS4wLCBo
dHRwOi8vbWF0cGxvdGxpYi5vcmcvpW3flQAAG89JREFUeJzt3X1YVGX+BvD7zAwvAYLMINKimAiu
76+UqIkE+FLg5pphhS/Z+nMNQ13K1cxVtzbNXJRIXEtK2bByc21TUMskQiMTBBO1FC3XXEViBhIQ
HJk5vz9sp1xpGGDgYY7357rOdTUzZ8754pW3D9/znOdIsizLICKiNqcSXQAR0e2KAUxEJAgDmIhI
EAYwEZEgDGAiIkE0rX2COwIebe1T3PZqz/9ZdAlEdtKzxUdoSubUnn+nxedrCY6AiYgEafURMBFR
W5Ik+44rzWYzFi9eDK1Wi8WLF6OsrAzJycmorq5G9+7dkZCQAI1Gg+vXr2P9+vX45ptv0KFDByxY
sAC+vr5Wj80RMBEpikrS2LzZYvfu3fD397e8zsjIQHR0NFJSUuDu7o7s7GwAQHZ2Ntzd3fHqq68i
OjoaW7dubbzW5v2IRETtkySpbN4ao9frUVhYiMjISACALMs4ceIEQkNDAQDh4eHIz88HABQUFCA8
PBwAEBoaiuPHj6OxG40ZwESkKJIk2bw1ZsuWLZg6dapl36qqKri5uUGtVgMAtFotDAYDAMBgMECn
0wEA1Go13NzcUFVVZfX4DGAiUhhVE7ZfduTIEXh5eSEwMNCmszY02m0s5HkRjogUxV4X4U6dOoWC
ggIUFRXBaDSitrYWW7ZswdWrV2EymaBWq2EwGKDVagEAOp0Oer0eOp0OJpMJV69ehYeHh9VzMICJ
SFHsFcCPPfYYHnvsMQDAiRMnsGvXLsybNw9r167FoUOHMHLkSOTk5CAkJAQAMHToUOTk5KBnz544
dOgQ+vbt2+gImC0IIlIUe8+C+F9xcXHIzMxEQkICqqurERERAQCIiIhAdXU1EhISkJmZibi4uEaP
JbX2esC8E6718U44Uo6W3wmn6znP5n31p1NafL6WYAuCiBTF3jditCYGMBEpioTGp5e1FwxgIlIU
joCJiARRqRwn1hynUiIim3AETEQkBFsQRESCMICJiASR2IIgIhKDI2AiIkFUKrXoEmzGACYiRWEL
gohIELYgiIgEYQATEQnCFgQRkSASb0UmIhLDlodtthcMYCJSFLYgiIgE4UU4IiJR2IIgIhLEcQbA
DGAiUhiV4ySw41TaCJVKwue7V+Gfmxfe8tnIe3ohL2slqr7JwG8fuMcu5/P2ckfm1iUo/nQtMrcu
QUcvdwDAIxNH4vCHq3H4w9X4ZMef0b93gF3OpyS5uUcwbtwcjBkzG6+//p7ochTn2WdfwfDhUxET
M1d0KWKomrAJ1g5KsI+nnrgfp878p8HPvrtYjtlPb8S2Dz5r8nFHhfbG60lzbnn/mbkPIuez4+g/
OhE5nx3HM/G/AQCc+64MY2Ofxz3jFmFVyg6kvvR/TT6nkplMJjz//Eakpa1AVlYqMjNzcebMedFl
KcqkSZFIS1shugxhZEmyeRNNEQHs76fF+MjB2PzuJw1+fv5COY5/fR5ms3zLZ3/4fQwO7voLDn+4
GksTJ9t8zpgxQ5GxPRcAkLE9FxPGhgAADh0pQeUPNQCAw0Vn4H+ntqk/jqIdO1aCbt3uRNeufnB2
dkJ0dBj27/9CdFmKcvfd/eDl1UF0GeJITdgEU0QAr1kxHc+tfBtms7lJ34sc1R89uvvh3glLMWz8
Ygzu3x0j7+ll03d9fbxQWlYJACgtq0QnH89b9nl8Sjg+/ORok2pSusuX9fDz87G87txZh8uX9QIr
IsVRSbZvglm9CLd9+3arX5482fYRY2u5P3IwysqvoKj4W4wK7d2k70aFDUDUqAE4tGcVAMDD3RVB
3f3w2eGvkfvBC3B21sDD3RXeHT0s+yxd9Q4+zj3W6LHDhvfBjCn3IfKhFU3+mZRMlm/9LcSR7lwi
B+BA/z9ZDWAXF5db3rt27Rqys7NRVVXVLgJ4eMivETNmCMbfNwguLk7w7HAH3kyeiycWpDb6XUmS
sGbDB3hj6/5bPgt78E8AbvSApz08GrOf3njT52XlP8DPtyNKyyrh59sR35dfsXzWr1cA/vbybDw4
/SUYKqtb+BMqi5+fD0pLyy2vL1/Ww9eXbRqyI7XjBLDVFsSECRMsW1RUFIxGIz755BOMGDEC69ev
b6sarVq2+l0EDXsKvUbOw/SnUpCTd8Km8AWAfZ9+iRmx4XB3u/EPza86e6OT7tZWQkOy9h3B1Mlh
AICpk8OQue8IAKDrr3R49/U/4HcLUnHm29Jm/ETK1r9/MM6du4jvviuF0XgdWVm5iIiwz8wUIgA3
RsC2boI1Og+4uroamZmZOHDgAEaPHo3Vq1fDw8OjLWprkT8lTkZh8bfI2ncEQwcEYtumRHT0cscD
UUOwNPFhDI1aiP0HitEr2B85/3oeAFBTU4eZC1Lxvf5KI0cH/rphJzL+Nh8zpoTju4t6xM1JBgA8
O38StN4eSP7LEwCAepMZ98Y813o/qIPRaNRYtmwOZs1aDpPJjIceikJwcDfRZSlKYuIaHD5cjIqK
KwgLexwJCY/h4YfHii6r7YjPVZtJckNNuR+99dZbOHz4MCIjIzF+/Hi4uro2+QR3BDzaogKpcbXn
/yy6BCI76dniIwSPf9PmfUv2PtHi87WE1RFwZmYmNBoNduzYgffff9/yvizLkCQJ6enprV4gEVGT
ONAI2GoAb9u2ra3qICKyC1ntOLNruRYEESmLUkbAREQOpx3MbrAVA5iIlMVOd7gZjUYsX74c9fX1
MJlMCA0NRWxsLFJSUnD27FloNBr06NEDs2fPhkajgSzL2Lx5M4qKiuDi4oL4+HgEBgZaPQcDmIiU
xU4DYCcnJyxfvhyurq6or6/HsmXLMGjQINx7771ISEgAALzyyivIzs7G2LFjUVRUhNLSUqSkpKCk
pARpaWlYuXKl1XM4TreaiMgWdroRQ5Iky9Rbk8kEk8kESZIwZMgQSJIESZIQFBQEvf7GWiYFBQUI
CwuDJEno2bMnampqUFFRYfUcDGAiUha1ZPvWCLPZjIULF2LWrFno378/goODLZ/V19fjwIEDGDRo
EADAYDDAx+enhaZ0Oh0MBoPV4zOAiUhZ7Hgrskqlwpo1a7Bx40acPXsW58//tHZ1Wloaevfujd69
bywC1pyFphjARKQsrbAesLu7O/r06YOjR28sL/vee+/hypUrmD59umUfnU6H8vKfFprS6/Xw9va2
elwGMBEpiqySbN6suXLlCmpqbjxcwWg0ori4GP7+/ti/fz++/PJLLFiwAKqfPX8uJCQEubm5kGUZ
p0+fhpubW6MBzFkQRKQsdpoHXFFRgdTUVJjNZsiyjOHDh2Po0KF45JFH0KlTJzz33I1FtoYNG4bJ
kydj8ODBKCwsxLx58+Ds7Iz4+PjGS7W2GI89cDGe1sfFeEg5Wr4YT4+4d2ze9+xWsfnEETARKQvX
giAiEsRx7kRmABORwrSDh23aigFMRMrCACYiEkN2nPxlABORwvAiHBGRIGxBEBEJ4jgDYAYwESkM
n4hBRCQIWxBERGLIHAETEQmiYQATEYnBETARkSDsARMRCeI4+csAJiJlaexJF+0JA5iIlIUBTEQk
iA2Pm28vWj2AL5zmI4lam0muE13CbcCB7m91YHbJTs6CICIShC0IIiJBGMBERGLwVmQiIlF4EY6I
SBC2IIiIBGEAExEJ4jj5ywAmImXhrchERKJwFgQRkSCcBUFEJIbKge4aZwATkaI4UAeCAUxEysIA
JiISRHKgBGYAE5Gi2KsHXF5ejtTUVFRWVkKSJERFReGBBx6wfL5z505kZGQgLS0Nnp6ekGUZmzdv
RlFREVxcXBAfH4/AwECr52AAE5GiSHYKYLVajWnTpiEwMBC1tbVYvHgxBgwYgC5duqC8vBzFxcXw
8fGx7F9UVITS0lKkpKSgpKQEaWlpWLlypdVzOND1QiKixkmS7Zs13t7elhHsHXfcAX9/fxgMBgBA
eno64uLibmp3FBQUICwsDJIkoWfPnqipqUFFRYXVczCAiUhRVJLtm63Kysrw7bffIigoCAUFBdBq
tbjrrrtu2sdgMNw0ItbpdJbA/sVam/KDERG1d/YaAf9XXV0dkpKS8Pjjj0OtVmPHjh2YMmXKLfvJ
stxALdZPwh4wESmKPSdB1NfXIykpCaNGjcKwYcNw/vx5lJWVYeHChQAAvV6PRYsWYdWqVdDpdCgv
L7d8V6/Xw9vb2+rxGcBEpCgqO92KLMsyNm7cCH9/f8TExAAAAgICkJaWZtln7ty5WLVqFTw9PRES
EoK9e/di5MiRKCkpgZubGwOYiG4v9hoBnzp1Crm5uQgICLCMeB999FEMGTKkwf0HDx6MwsJCzJs3
D87OzoiPj2+8VrmhxoUd6et2tubhCUBHl7tEl3Ab4OWStqCW+rX4GAMzDti875dTR7X4fC3BETAR
KYoD3QjHACYiZXGg9dgZwESkLBwBExEJYq9ZEG2BAUxEisIRMBGRIAxgIiJBGMBERIJwFgQRkSAq
tegKbHfbB/Ck+1fCzc0FarUEtVqNN9+Zj9fX78WBnBNQqSR09PbA0hemoJOvl+hSHdZzSzbg05wj
0Oq8sHPXWgDA3r2fI3X9P/DN2f9g2z9WoV//HoKrVJb0LbuwffvHN9amDQ7Ai6uegouLs+iy2oQj
tSB4fyWA9WlzkP6PRLz5znwAQNzj4Xhr+9NI/0ciRob1webXPhZcoWP77W/D8fqm5256Lzi4K1JS
nkFISG9BVSnX5ct6ZLy1G+9tfxk7dyXDZDZjd9ZB0WW1GUmSbN5EszoCPnPmDHx8fNCxY0cAwKef
foovvvgCPj4+iI2NhYeHR5sU2dbcPVwt/11XZ3Sof1Hbo5C7++A/F8pueq9Hjy6Cqrk9mEwm1NUZ
odFoUFdrhK+vVnRJbcaR/r5aHQFv2rQJGs2NjD558iTefvtthIWFwc3NDa+99lqbFNjaJAAL5mzC
zEeS8a/thyzvb3x1DyaO/Qs+zCrErPhx4gokaqLOnXWY+cRvEBkxB6NHzYJHBzeMvHeQ6LLajL0X
ZG9NVgPYbDZbRrl5eXmIjIxEaGgoHnnkEZSWlrZJga1tY/pcbNm2AEmps7BjWx6KjnwDAJiTcD/+
9dFSjIsegn+++5ngKols98MP1cjen499H29ATu4m1NbWYefOT0WX1WYUFcAmkwkAcPz4cfTr1++m
z5TgvxfXtDoPhEX0w1fHz9/0+Zj7B+OTj4tFlEbULJ9/fgz+XXyh1XrByUmDMWNCcbTolOiy2oxG
ZfsmmtUe8MiRI7FixQp06NABzs7O6N37xgWT0tJSuLm5tUmBran2qhFm2Qx3d1fUXjXi8Oen8cTv
o/Ddv79H126dAAAHc06gW3dfwZUS2e7OO33w5ZenUVt7Da6uzjj0eTH69rt9ZpmopFZd4tyurAbw
pEmT0K9fP1RWVmLAgAGWq4ZmsxkzZ85skwJbk8FQhWf/kA4AMNWbMeaBwQgd2QtLEtPx73PfQ6WS
4HenN/649CHBlTq2ZxKTcTj/BCorqnDf6N/jqYRYeHl54MW/vAmD4QqenLMKvXrdhU1vLBVdqiIM
HNgTY8cOx+RJz0CtUaN37+6InTJGdFltxpFuxOATMRSAT8RoC+3g99XbgD2eiBH9ke1T7rLG3tvi
87XEbX8jBhEpi2JaEEREjsaRWhAMYCJSFA0DmIhIDIktCCIiMdiCICISxJHmqzCAiUhROAuCiEgQ
XoQjIhKEPWAiIkHYgiAiEoQjYCIiQTgLgohIELYgiIgEaQ8LrduKAUxEiuJA+csAJiJlYQuCiEgQ
e86C2LBhAwoLC+Hl5YWkpCTL+3v27MHevXuhVqsxZMgQTJ06FQDw/vvvIzs7GyqVCjNnzsSgQdaf
Rs0AJiJFsWcLIjw8HOPHj0dqaqrlvePHj6OgoAB//etf4eTkhB9++AEAcOHCBeTl5WHt2rWoqKjA
Cy+8gFdeeQUq1S9X5EjtEiKiRqkk27fG9OnTBx4eHje999FHH+HBBx+Ek5MTAMDL68aT1fPz8zFi
xAg4OTnB19cXfn5+OHPmjNXjcwRMRIqiVrVuD/jSpUv4+uuv8e6778LJyQnTpk1DUFAQDAYDgoOD
LftptVoYDAarx+IImIgURdWErTnMZjOqq6vx4osvYtq0aVi3bh1kWUZznm/METARKUprz4LQarUY
NmwYJElCUFAQVCoVqqqqoNPpoNfrLfsZDAZotVrrtbZqpUREbcyePeCG3H333Th+/DgA4OLFi6iv
r0eHDh0QEhKCvLw8XL9+HWVlZbh06RKCgoKsHosjYCJSFHtOQ0tOTsbJkydRVVWFOXPmIDY2FhER
EdiwYQOefvppaDQazJ07F5IkoWvXrhg+fDgSExOhUqnwu9/9zuoMCACQ5OY0LppAX7ezNQ9PADq6
3CW6hNsAf1lsC2qpX4uPsfLoPpv3XTJoTIvP1xIcARORonA5SiIiQRjARESCqBnARERicARMRCQI
V0MjIhLEiSPgn+hce7X2KW57MhznX3xHVXmtRHQJtwVvl5ZPQ2MLgohIELYgiIgE4SwIIiJB2IIg
IhKET0UmIhJEzR4wEZEYDjQAZgATkbKwB0xEJAgDmIhIEPaAiYgE4SwIIiJB2IIgIhKEd8IREQnC
tSCIiARxoBYwA5iIlIU9YCIiQZxUbEEQEQnBETARkSAMYCIiQXgRjohIEIkjYCIiMdiCICIShC0I
IiJBJN4JR0QkhgN1IBjARKQsvAhHRCSIA+UvA5iIlMWey1FmZmYiOzsbkiSha9euiI+PR2VlJZKT
k1FdXY3u3bsjISEBGk3zotSRLhgSETVKkmzfrDEYDNizZw9eeuklJCUlwWw2Iy8vDxkZGYiOjkZK
Sgrc3d2RnZ3d7FoZwESkKFITtsaYzWYYjUaYTCYYjUZ07NgRJ06cQGhoKAAgPDwc+fn5za6VLQgi
UhR7dSC0Wi0mTJiAJ598Es7Ozhg4cCACAwPh5uYGtVpt2cdgMDT7HBwBE5GiqCTbN2uqq6uRn5+P
1NRUvPbaa6irq8PRo0ftWitHwD+Tm3sEL764CWazGQ8/PAazZz8suiTFuXTpeyz6YzLKyyugUkmI
jR2H6TN+I7osxTCZzJj56Dp08vVC0vpZyD90Gq+uzYQsy7jDzRl/euFRdA3wEV1mq7LXCLi4uBi+
vr7w9PQEAAwbNgynTp3C1atXYTKZoFarYTAYoNVqm30OjoB/ZDKZ8PzzG5GWtgJZWanIzMzFmTPn
RZelOGq1GosWP4Hdezbg3W1rsPXt3fxztqNtWw/gru6dLa9ffvGf+PNLcXjrvacx9v4h2Pz6PoHV
tQ2VJNu8WePj44OSkhJcu3YNsiyjuLgYXbp0Qd++fXHo0CEAQE5ODkJCQppfa7O/qTDHjpWgW7c7
0bWrH5ydnRAdHYb9+78QXZbi+Ppq0bdvDwCAh4cbegR2weXLesFVKUNZaSXyck/iN5OGWd6TIKGm
ug4AUFNdh06dvESV12bsNQsiODgYoaGhWLRoEZ555hnIsoyoqCjExcUhMzMTCQkJqK6uRkRERLNr
tdqCMBqN2LdvH0pLSxEQEICIiAhL81lpLl/Ww8/vp1/NOnfW4dix0wIrUr4LFy7jq6++wcCBvxZd
iiKse/kDPJUYg5qaa5b3lqyIReLcNLi4OMHdwxVvZMwTWGHbsOeoMjY2FrGxsTe917lzZ6xatcou
x7daa2pqKs6ePYuAgAAUFRXh73//u11O2h7J8q2/jkiOdE+jg6mpqcW8eS/h2SWz4OHhJroch3fw
05Pw1nqgV5+uN73/TkYu1qbOwq6PlyHmwbuRvOYDQRW2HXuNgNuC1RHwhQsXkJSUBACIiIjAkiVL
2qQoEfz8fFBaWm55ffmyHr6+zW+u0y+7fr0e8+a9hAkTRmPs2BGiy1GEY0e/xYGcE8g7+BWM1+pR
U1OHxLlp+Pe3Zeg3oBsAIGr8ICx4cpPgSltfO8hVm1kdAf/89jqlth7+q3//YJw7dxHffVcKo/E6
srJyERFxj+iyFEeWZSx97lX0COyCmTMnii5HMeLnR2PXx8vwr71L8cLLUxFyTxBefmUmqqtrcf7c
9wCAw5+fxl3dfQVX2vrsNQ2tLVgdAZ87dw4zZswAcOMvjtFoxIwZMyDLMiRJQnp6epsU2RY0GjWW
LZuDWbOWw2Qy46GHohAc3E10WYpTeOQrfPDBJ+jZsxsmPjgfAPCHxGkYPbr5V5KpYRqNGs8uj8Wz
iVsgqSR08HTD0ueniC6r1bWHYLWVJDfU/LQrXshqbTIcZwFqR1V5rUR0CbcFb5eYFh/j0tVdNu97
p9uEFp+vJXgjBhEpCp+IQUQkiAN1IBjARKQs7WF6ma0YwESkKI40X4sBTESKwhEwEZEwjpPADGAi
UhSJAUxEJIYkOc4ijwxgIlIYjoCJiISQHGiZcwYwESkKWxBERMKwBUFEJARnQRARCcIAJiISRJIc
52ZkBjARKQxHwEREQrAFQUQkDKehEREJwREwEZEgkgOtR8kAJiJFkRxoSXYGMBEpDEfARERCsAVB
RCQMA5iISAguR0lEJAxHwEREQqi4HjARkSgMYCIiIXgnHBGRMPYL4KNHj2Lz5s0wm82IjIzExIkT
7XZswJHG6kRENpAkyebNGrPZjDfeeANLlizBunXr8Nlnn+HChQt2rZUBTESKIkFt82bNmTNn4Ofn
h86dO0Oj0WDEiBHIz8+3a61t0ILo2fqnuM05TsfLcXm7/Fp0CWQz+2SOwWCATqezvNbpdCgpKbHL
sf+LI2AiogbIsnzLe/a+zZkBTETUAJ1OB71eb3mt1+vh7e1t13MwgImIGtCjRw9cunQJZWVlqK+v
R15eHkJCQux6DkluaJxNREQoLCxEeno6zGYz7rvvPkyaNMmux2cAExEJwhYEEZEgDGAiIkF4K/KP
YmNjERMTg+nTpwMAdu7cibq6OsTGxgquTHl27NiBgwcPQqVSQZIkzJ49G8HBwaLLUowpU6YgICAA
ZrMZ/v7+mDt3LlxcXESXRQ1gAP/IyckJX3zxBSZOnAhPT0/R5SjW6dOnceTIEaxevRpOTk64cuUK
6uvrRZelKM7OzlizZg0AICUlBfv27UNMTIzgqqghbEH8SKVSISoqCllZWaJLUbSKigp06NABTk5O
AABPT09otVrBVSlXr169UFpaKroM+gUM4J8ZN24cDh48iKtXr4ouRbEGDhwIvV6P+fPnIy0tDSdP
nhRdkmKZTCYcPXoUAQEBokuhX8AWxM+4ubkhLCwMu3fvhrOzs+hyFMnV1RWrV6/GV199hRMnTmDd
unWIi4tDeHi46NIUw2g0YuHChQCA3r17IyIiQnBF9EsYwP8jOjoaixYtYiC0IpVKhb59+6Jv374I
CAhATk4O/7zt6Oc9YGrf2IL4Hx4eHhg+fDiys7NFl6JIFy9exKVLlyyvz507h06dOgmsiEgcjoAb
EBMTg71794ouQ5Hq6urw5ptvoqamBmq1Gn5+fpg9e7bosoiE4K3IRESCsAVBRCQIA5iISBAGMBGR
IAxgIiJBGMBERIIwgImIBGEAExEJ8v/nwJb6KdGt5QAAAABJRU5ErkJggg==
&quot;
&gt;
&lt;/div&gt;

&lt;/div&gt;

&lt;div class=&quot;output_area&quot;&gt;

&lt;div class=&quot;prompt&quot;&gt;&lt;/div&gt;


&lt;div class=&quot;output_subarea output_stream output_stdout output_text&quot;&gt;
&lt;pre&gt;The number of epochs is : 10
The batch size is : 4
Epoch 1/10
1594/1594 [==============================] - 1s 423us/step - loss: 6.6382e-06 - acc: 0.9699
Epoch 2/10
1594/1594 [==============================] - 1s 425us/step - loss: 4.8536e-06 - acc: 0.9674
Epoch 3/10
1594/1594 [==============================] - 1s 423us/step - loss: 4.2527e-06 - acc: 0.9699
Epoch 4/10
1594/1594 [==============================] - 1s 422us/step - loss: 3.6849e-06 - acc: 0.9699
Epoch 5/10
1594/1594 [==============================] - 1s 421us/step - loss: 2.7942e-06 - acc: 0.9674
Epoch 6/10
1594/1594 [==============================] - 1s 428us/step - loss: 2.4483e-06 - acc: 0.9686
Epoch 7/10
1594/1594 [==============================] - 1s 422us/step - loss: 1.8776e-06 - acc: 0.9686
Epoch 8/10
1594/1594 [==============================] - 1s 423us/step - loss: 1.7817e-06 - acc: 0.9699
Epoch 9/10
1594/1594 [==============================] - 1s 427us/step - loss: 1.5309e-06 - acc: 0.9655
Epoch 10/10
1594/1594 [==============================] - 1s 422us/step - loss: 1.0446e-06 - acc: 0.9686
The accuracy is : 0.8890977443609023
&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;div class=&quot;output_area&quot;&gt;

&lt;div class=&quot;prompt&quot;&gt;&lt;/div&gt;




&lt;div class=&quot;output_png output_subarea &quot;&gt;
&lt;img src=&quot;data:image/png;base64,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
z4QFAAAAAElFTkSuQmCC
&quot;
&gt;
&lt;/div&gt;

&lt;/div&gt;

&lt;div class=&quot;output_area&quot;&gt;

&lt;div class=&quot;prompt&quot;&gt;&lt;/div&gt;


&lt;div class=&quot;output_subarea output_stream output_stdout output_text&quot;&gt;
&lt;pre&gt;The number of epochs is : 10
The batch size is : 5
Epoch 1/10
1594/1594 [==============================] - 1s 337us/step - loss: 9.0469e-07 - acc: 0.9655
Epoch 2/10
1594/1594 [==============================] - 1s 337us/step - loss: 7.2613e-07 - acc: 0.9718
Epoch 3/10
1594/1594 [==============================] - 1s 336us/step - loss: 6.4692e-07 - acc: 0.9686
Epoch 4/10
1594/1594 [==============================] - 1s 337us/step - loss: 5.8376e-07 - acc: 0.9668
Epoch 5/10
1594/1594 [==============================] - 1s 336us/step - loss: 4.8735e-07 - acc: 0.9705
Epoch 6/10
1594/1594 [==============================] - 1s 342us/step - loss: 3.9708e-07 - acc: 0.9699
Epoch 7/10
1594/1594 [==============================] - 1s 335us/step - loss: 4.4024e-07 - acc: 0.9705
Epoch 8/10
1594/1594 [==============================] - 1s 345us/step - loss: 3.8576e-07 - acc: 0.9686
Epoch 9/10
1594/1594 [==============================] - 1s 334us/step - loss: 2.9597e-07 - acc: 0.9699
Epoch 10/10
1594/1594 [==============================] - 1s 341us/step - loss: 2.7380e-07 - acc: 0.9680
The accuracy is : 0.8966165413533834
&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;div class=&quot;output_area&quot;&gt;

&lt;div class=&quot;prompt&quot;&gt;&lt;/div&gt;




&lt;div class=&quot;output_png output_subarea &quot;&gt;
&lt;img src=&quot;data:image/png;base64,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
&quot;
&gt;
&lt;/div&gt;

&lt;/div&gt;

&lt;div class=&quot;output_area&quot;&gt;

&lt;div class=&quot;prompt&quot;&gt;&lt;/div&gt;


&lt;div class=&quot;output_subarea output_stream output_stdout output_text&quot;&gt;
&lt;pre&gt;The number of epochs is : 10
The batch size is : 10
Epoch 1/10
1594/1594 [==============================] - 0s 171us/step - loss: 2.2548e-07 - acc: 0.9699
Epoch 2/10
1594/1594 [==============================] - 0s 173us/step - loss: 2.1497e-07 - acc: 0.9705
Epoch 3/10
1594/1594 [==============================] - 0s 171us/step - loss: 2.1737e-07 - acc: 0.9705
Epoch 4/10
1594/1594 [==============================] - 0s 172us/step - loss: 2.0361e-07 - acc: 0.9674
Epoch 5/10
1594/1594 [==============================] - 0s 173us/step - loss: 1.9224e-07 - acc: 0.9705
Epoch 6/10
1594/1594 [==============================] - 0s 174us/step - loss: 1.8252e-07 - acc: 0.9693
Epoch 7/10
1594/1594 [==============================] - 0s 171us/step - loss: 1.7855e-07 - acc: 0.9705
Epoch 8/10
1594/1594 [==============================] - 0s 169us/step - loss: 1.7878e-07 - acc: 0.9711
Epoch 9/10
1594/1594 [==============================] - 0s 172us/step - loss: 1.6629e-07 - acc: 0.9668
Epoch 10/10
1594/1594 [==============================] - 0s 171us/step - loss: 1.6244e-07 - acc: 0.9699
The accuracy is : 0.8947368421052632
&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;div class=&quot;output_area&quot;&gt;

&lt;div class=&quot;prompt&quot;&gt;&lt;/div&gt;




&lt;div class=&quot;output_png output_subarea &quot;&gt;
&lt;img src=&quot;data:image/png;base64,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
RK5CYII=
&quot;
&gt;
&lt;/div&gt;

&lt;/div&gt;

&lt;div class=&quot;output_area&quot;&gt;

&lt;div class=&quot;prompt&quot;&gt;&lt;/div&gt;


&lt;div class=&quot;output_subarea output_stream output_stdout output_text&quot;&gt;
&lt;pre&gt;The number of epochs is : 10
The batch size is : 15
Epoch 1/10
1594/1594 [==============================] - 0s 116us/step - loss: 1.5597e-07 - acc: 0.9705
Epoch 2/10
1594/1594 [==============================] - 0s 116us/step - loss: 1.5372e-07 - acc: 0.9711
Epoch 3/10
1594/1594 [==============================] - 0s 116us/step - loss: 1.4942e-07 - acc: 0.9680
Epoch 4/10
1594/1594 [==============================] - 0s 113us/step - loss: 1.4587e-07 - acc: 0.9711
Epoch 5/10
1594/1594 [==============================] - 0s 114us/step - loss: 1.4482e-07 - acc: 0.9711
Epoch 6/10
1594/1594 [==============================] - 0s 115us/step - loss: 1.4232e-07 - acc: 0.9699
Epoch 7/10
1594/1594 [==============================] - 0s 115us/step - loss: 1.3996e-07 - acc: 0.9699
Epoch 8/10
1594/1594 [==============================] - 0s 116us/step - loss: 1.3828e-07 - acc: 0.9711
Epoch 9/10
1594/1594 [==============================] - 0s 115us/step - loss: 1.3581e-07 - acc: 0.9699
Epoch 10/10
1594/1594 [==============================] - 0s 115us/step - loss: 1.3424e-07 - acc: 0.9693
The accuracy is : 0.8966165413533834
&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;div class=&quot;output_area&quot;&gt;

&lt;div class=&quot;prompt&quot;&gt;&lt;/div&gt;




&lt;div class=&quot;output_png output_subarea &quot;&gt;
&lt;img src=&quot;data:image/png;base64,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
Cq6j6AAAAABJRU5ErkJggg==
&quot;
&gt;
&lt;/div&gt;

&lt;/div&gt;

&lt;div class=&quot;output_area&quot;&gt;

&lt;div class=&quot;prompt&quot;&gt;&lt;/div&gt;


&lt;div class=&quot;output_subarea output_stream output_stdout output_text&quot;&gt;
&lt;pre&gt;The number of epochs is : 10
The batch size is : 20
Epoch 1/10
1594/1594 [==============================] - 0s 85us/step - loss: 1.3106e-07 - acc: 0.9705
Epoch 2/10
1594/1594 [==============================] - 0s 88us/step - loss: 1.3046e-07 - acc: 0.9711
Epoch 3/10
1594/1594 [==============================] - 0s 86us/step - loss: 1.2886e-07 - acc: 0.9699
Epoch 4/10
1594/1594 [==============================] - 0s 86us/step - loss: 1.2792e-07 - acc: 0.9699
Epoch 5/10
1594/1594 [==============================] - 0s 85us/step - loss: 1.2781e-07 - acc: 0.9711
Epoch 6/10
1594/1594 [==============================] - 0s 87us/step - loss: 1.2572e-07 - acc: 0.9699
Epoch 7/10
1594/1594 [==============================] - 0s 88us/step - loss: 1.2486e-07 - acc: 0.9693
Epoch 8/10
1594/1594 [==============================] - 0s 87us/step - loss: 1.2415e-07 - acc: 0.9699
Epoch 9/10
1594/1594 [==============================] - 0s 86us/step - loss: 1.2329e-07 - acc: 0.9705
Epoch 10/10
1594/1594 [==============================] - 0s 87us/step - loss: 1.2284e-07 - acc: 0.9693
The accuracy is : 0.8984962406015038
&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;div class=&quot;output_area&quot;&gt;

&lt;div class=&quot;prompt&quot;&gt;&lt;/div&gt;




&lt;div class=&quot;output_png output_subarea &quot;&gt;
&lt;img src=&quot;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAWAAAAD4CAYAAADSIzzWAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz
AAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMS4wLCBo
dHRwOi8vbWF0cGxvdGxpYi5vcmcvpW3flQAAG+VJREFUeJzt3Xt4VNW9xvHvnkkCJuGWgRCLRAkJ
lauIaQmgEQMClVCpYLwg4K3UgkEEOSBe8NKCSBGMxqqNIhZabT141KBUSoCgHISQoFy8BJWDVEKa
TCIkEEJm5vxBm9aCk4FMspjt+3me/cfM7Oz1i4++rvxm7bUtn8/nQ0REmp3DdAEiIt9XCmAREUMU
wCIihiiARUQMUQCLiBgS1tQDnBN/Q1MP8b13dN/DpksQCZJujb7C6WTO0X1/bPR4jaEZsIiIIU0+
AxYRaU6WFdx5pdfrZfbs2cTExDB79mxKS0tZsmQJVVVVdOnShczMTMLCwjh+/DhPP/00X3zxBa1a
tWLatGnExsb6vbZmwCJiKw4rLOAjEG+//TadOnWqf718+XJGjhxJVlYWUVFR5OXlAZCXl0dUVBRP
PfUUI0eOZMWKFQ3Xema/oojI2cmyHAEfDSkvL6ewsJAhQ4YA4PP52LVrFykpKQAMHjyYrVu3AlBQ
UMDgwYMBSElJYefOnTR0o7ECWERsxbKsgI+GvPTSS9x000315x4+fJjIyEicTicAMTExuN1uANxu
Ny6XCwCn00lkZCSHDx/2e30FsIjYjOM0ju+2bds22rRpQ0JCQkCjnmq221DI60s4EbGVYH0J9+mn
n1JQUEBRURG1tbUcPXqUl156iSNHjuDxeHA6nbjdbmJiYgBwuVyUl5fjcrnweDwcOXKE6Ohov2Mo
gEXEVoIVwDfeeCM33ngjALt27eKtt95i6tSpPPHEE2zevJlBgwaxfv16kpOTAbjkkktYv3493bp1
Y/PmzfTs2bPBGbBaECJiK8FeBfGfxo0bR25uLpmZmVRVVZGWlgZAWloaVVVVZGZmkpuby7hx4xq8
ltXU+wHrTrimpzvhxD4afyecq9vUgM8t/yyr0eM1hloQImIrwb4RoykpgEXEViwaXl52tlAAi4it
aAYsImKIwxE6sRY6lYqIBEQzYBERI9SCEBExRAEsImKIpRaEiIgZmgGLiBjicDhNlxAwBbCI2Ipa
ECIihqgFISJiiAJYRMQQtSBERAyxdCuyiIgZgTxs82yhABYRW1ELQkTEEH0JJyJiiloQIiKGhM4E
WAEsIjbjCJ0EDp1KG+BwWPzv2/P576UzT/ps0I8vZNOqeRz+Yjk/u+rHQRmvXZsoclfMYceGJ8hd
MYe2baIAuH70ILb8ZQFb/rKAdSsfpnf3+KCMZyf5+dsYPvwOrrxyEs8//2fT5djOvfc+yYABN5Ge
PsV0KWY4TuMw7CwoITjuvPUnfLrnb6f87Kuvy5g041lefeP9077uZSndeX7RHSe9f8+Uq1n//k56
Xz6d9e/v5J7JPwVg71elDMt4hB8Pn8X8rJVkP/bz0x7TzjweD4888iw5OQ+xalU2ubn57Nmzz3RZ
tnLNNUPIyXnIdBnG+Cwr4MM0WwRwp7gYRgy5mKWvrDvl5/v2l7Hzk314vb6TPrv7F+m899av2PKX
Bdw/fWzAY6ZfeQnLX8sHYPlr+YwalgzA5m3FVH5TDcCWoj10OjfmdH8dW/voo2LOP/9cOneOIyIi
nJEjU1m79gPTZdnKj37UizZtWpkuwxzrNA7DbBHACx+awH3z/oDX6z2tnxtyWW+6donj0lH303/E
bC7u3YVBP74woJ+Nbd+GktJKAEpKK+nQvvVJ59x83WD+sm77adVkdwcPlhMX177+dceOLg4eLDdY
kdiOwwr8MMzvl3Cvvfaa3x8eOzbwGWNT+cmQiyktO0TRji+5LKX7af3s0NQ+DL2sD5vfmQ9AdFRL
ErvE8f6WT8h/41EiIsKIjmpJu7bR9efcP/+P/DX/owavnTqgBxOvu4IhYx467d/Jzny+k/8KCaU7
lyQEhNC/T34DuEWLFie9d+zYMfLy8jh8+PBZEcADkn9I+pX9GHFFX1q0CKd1q3N4cckUbp2W3eDP
WpbFwmfe4IUVa0/6LPXqB4ATPeDx117OpBnPfuvz0rJviIttS0lpJXGxbfl72aH6z3pdGM9vH5/E
1RMew11Z1cjf0F7i4tpTUlJW//rgwXJiY9WmkSByhk4A+21BjBo1qv4YOnQotbW1rFu3joEDB/L0
0083V41+PbjgFRL738mFg6Yy4c4s1m/aFVD4AqzZ8CETMwYTFXnifzQ/6NiODq6TWwmnsmrNNm4a
mwrATWNTyV2zDYDOP3DxyvN3c9u0bPZ8WXIGv5G99e6dxN69X/PVVyXU1h5n1ap80tKCszJFBDgx
Aw70MKzBdcBVVVXk5uayceNGLr/8chYsWEB0dHRz1NYoD0wfS+GOL1m1ZhuX9Eng1d9Np22bKK4a
2o/7p1/LJUNnsnbjDi5M6sT6/3kEgOrqGm6Zls3fyw81cHX4zTNvsvy3dzHxusF89XU54+5YAsC9
d11DTLtolvzqVgDqPF4uTb+v6X7REBMW5uTBB+/g9tvn4vF4GTNmKElJ55suy1amT1/Ili07qKg4
RGrqzWRm3si11w4zXVbzMZ+rAbN8p2rK/cPvf/97tmzZwpAhQxgxYgQtW7Y87QHOib+hUQVKw47u
e9h0CSJB0q3RV0ga8WLA5xavvrXR4zWG3xlwbm4uYWFhrFy5ktdff73+fZ/Ph2VZLFu2rMkLFBE5
LSE0A/YbwK+++mpz1SEiEhQ+Z+isrtVeECJiL3aZAYuIhJyzYHVDoBTAImIvQbrDrba2lrlz51JX
V4fH4yElJYWMjAyysrL4/PPPCQsLo2vXrkyaNImwsDB8Ph9Lly6lqKiIFi1aMHnyZBISEvyOoQAW
EXsJ0gQ4PDycuXPn0rJlS+rq6njwwQfp27cvl156KZmZmQA8+eST5OXlMWzYMIqKiigpKSErK4vi
4mJycnKYN2+e3zFCp1stIhKIIN2IYVlW/dJbj8eDx+PBsiz69euHZVlYlkViYiLl5Sf2MikoKCA1
NRXLsujWrRvV1dVUVFT4HUMBLCL24rQCPxrg9XqZOXMmt99+O7179yYpKan+s7q6OjZu3Ejfvn0B
cLvdtG//r42mXC4Xbrfb7/UVwCJiL0G8FdnhcLBw4UKeffZZPv/8c/bt+9fe1Tk5OXTv3p3u3U9s
AnYmG00pgEXEXppgP+CoqCh69OjB9u0ntpf985//zKFDh5gwYUL9OS6Xi7Kyf200VV5eTrt27fxe
VwEsIrbic1gBH/4cOnSI6uoTD1eora1lx44ddOrUibVr1/Lhhx8ybdo0HP/2/Lnk5GTy8/Px+Xx8
9tlnREZGNhjAWgUhIvYSpHXAFRUVZGdn4/V68fl8DBgwgEsuuYTrr7+eDh06cN99JzbZ6t+/P2PH
juXiiy+msLCQqVOnEhERweTJkxsu1d9mPMGgzXianjbjEfto/GY8Xcf9MeBzP19hNp80AxYRe9Fe
ECIihoTOncgKYBGxmbPgYZuBUgCLiL0ogEVEzPCFTv4qgEXEZvQlnIiIIWpBiIgYEjoTYAWwiNiM
noghImKIWhAiImb4NAMWETEkTAEsImKGZsAiIoaoBywiYkjo5K8CWETspaEnXZxNFMAiYi8KYBER
QwJ43PzZoskD+MCe8U09xPdejcdtugTba+H0/3BFCY6gRKdWQYiIGKIWhIiIIQpgEREzdCuyiIgp
+hJORMQQtSBERAxRAIuIGBI6+asAFhF70a3IIiKmaBWEiIghWgUhImKGQ09FFhExI4Q6EApgEbEX
BbCIiCFWCCWwAlhEbCVYPeCysjKys7OprKzEsiyGDh3KVVddVf/5m2++yfLly8nJyaF169b4fD6W
Ll1KUVERLVq0YPLkySQkJPgdQwEsIrZiBSmAnU4n48ePJyEhgaNHjzJ79mz69OnDeeedR1lZGTt2
7KB9+/b15xcVFVFSUkJWVhbFxcXk5OQwb948v2OE0PeFIiINs6zAD3/atWtXP4M955xz6NSpE273
iYcfLFu2jHHjxn2r3VFQUEBqaiqWZdGtWzeqq6upqKjwO4YCWERsxWEFfgSqtLSUL7/8ksTERAoK
CoiJieGCCy741jlut/tbM2KXy1Uf2N9Z6+n8YiIiZ7tgzYD/qaamhkWLFnHzzTfjdDpZuXIl1113
3Unn+Xy+U9TifxD1gEXEVoK5CKKuro5FixZx2WWX0b9/f/bt20dpaSkzZ84EoLy8nFmzZjF//nxc
LhdlZWX1P1teXk67dv6fJagAFhFbcQTpVmSfz8ezzz5Lp06dSE9PByA+Pp6cnJz6c6ZMmcL8+fNp
3bo1ycnJrF69mkGDBlFcXExkZKQCWES+X4I1A/7000/Jz88nPj6+fsZ7ww030K9fv1Oef/HFF1NY
WMjUqVOJiIhg8uTJDdfqO1XjIogqa99uyssL0NIZY7oE29Nj6ZuHxQ8bfY2Llm8M+NwPb7qs0eM1
hmbAImIrIXQjnAJYROwlhPZjVwCLiL1oBiwiYkiwVkE0BwWwiNiKZsAiIoYogEVEDFEAi4gYolUQ
IiKGOJymKwicAhjweLzcfP0TdIhtwxPZP2fSxCyOVB8DoMJdRY9e8SzMus1wlaGr5EA59937POVl
32BZFmMzrmDc+GE8nfXfrM8rxGE5aOdqxaPzfk5srO44a6wDB/7OrP9aQllZBQ6HRUbGcCZM/Knp
spqNWhAh5tXl+VzQpSPV1TUAPL9sav1ns+5eyuVX9DJVmi04w5zc81830L3HBVRXH+X6sXNJGdCT
m2+9ijunjgFgxe/f5bln3uCBh242W6wNOJ1OZs2+lZ49u1JVdYQxY6YzcFBfEhPjTZfWLELpmXB+
9wPes2cPlZWV9a83bNjA448/zosvvkhVVVWTF9ccDpZU8v7G3Vw9JuWkz6qra9j2QTGpab0NVGYf
HTq0pXuPCwCIijqHhIQfUFpaQXT0OfXn1Bw9FlIzl7NZbGwMPXt2BSA6OpKuCedx8GC54aqaT7D3
A25KfgP4d7/7HWFhJybJu3fv5g9/+AOpqalERkby3HPPNUuBTW3x469z592jsE7Rud+wdgfJKUlE
R7c0UJk9/e1vf+eTj/+P3n1OBMRTS15jWNrdrMr9XyZnXmO4OvvZv/8gH3/8BRdd1PhNbkKFbQLY
6/USHR0NwKZNmxgyZAgpKSlcf/31lJSUNEuBTem9DbuIiWlF956dT/n5u28XMuwnp956Tk7fkeoa
Ztz1FDPvHVc/+82cNpZ38xYzMn0Ar6z4q+EK7aW6+ihTpz7GvXNuJzo60nQ5zcZWAezxeADYuXMn
vXr1+tZnoe7Doi/JX7eT0cMf4f6ZL1OwpZi5s5cD8E1lNbt27mNQag/DVdrD8eN1TJ/2FFelD2To
lcknff6TkQP465oCA5XZ0/HjdUyd+hijRl3OsGEDTZfTrMIcgR+m+f0SbtCgQTz00EO0atWKiIgI
unfvDkBJSQmRkaH/f9Qp09KZMu3ETvfbtu5hxUvrePixmwBY++52Lr28By1ahJss0RZ8Ph8PPfAC
CQk/YMLNI+rf/7+9JZx/QRwA69cV0SXhXFMl2orP5+P++56ia8J53HLLaNPlNDuH1aRbnAeV3wC+
5ppr6NWrF5WVlfTp06f+20Wv18stt9zSLAWasuadIibcNsR0GbZQVFhM7pubSOp2Hhk/ewA40Xp4
fWU+e788gMNhce4P2nP/3ImGK7WHwm0f88Yb6+jW7XxGX30XAHdPH8/ll5/8l4cdhdKNGHoihg3o
iRhNT0/EaB7BeCLGyHffC/jcVcMubfR4jaF1wCJiK7ZpQYiIhJpQakEogEXEVsIUwCIiZlhqQYiI
mKEWhIiIIWfB/RUBUwCLiK1oFYSIiCH6Ek5ExBD1gEVEDFELQkTEEM2ARUQM0SoIERFD1IIQETHk
bNhoPVAKYBGxlRDKXwWwiNiLWhAiIoYEcxXEM888Q2FhIW3atGHRokX177/zzjusXr0ap9NJv379
uOmmE48ye/3118nLy8PhcHDLLbfQt29fv9dXAIuIrQSzBTF48GBGjBhBdnZ2/Xs7d+6koKCA3/zm
N4SHh/PNN98AsH//fjZt2sQTTzxBRUUFjz76KE8++SQOx3dXFErtEhGRBjmswI+G9OjRg+jo6G+9
9+6773L11VcTHn7igb1t2rQBYOvWrQwcOJDw8HBiY2OJi4tjz549fq+vGbCI2IrT0bQ94AMHDvDJ
J5/wyiuvEB4ezvjx40lMTMTtdpOUlFR/XkxMDG632++1NAMWEVtxnMZxJrxeL1VVVfz6179m/Pjx
LF68GJ/Px5k831gzYBGxlaZeBRETE0P//v2xLIvExEQcDgeHDx/G5XJRXl5ef57b7SYmxv8TyzUD
FhFbCWYP+FR+9KMfsXPnTgC+/vpr6urqaNWqFcnJyWzatInjx49TWlrKgQMHSExM9HstzYBFxFaC
uQxtyZIl7N69m8OHD3PHHXeQkZFBWloazzzzDDNmzCAsLIwpU6ZgWRadO3dmwIABTJ8+HYfDwW23
3eZ3BQSA5TuTxsVpqKx9uykvL0BLp/8/c6TxWjjbmS7he8Hih42+xrztawI+d07fKxs9XmNoBiwi
tqLtKEVEDFEAi4gY4lQAi4iYoRmwiIgh2g1NRMSQcM2A/6VthP+FyNJ4PjymS7C9b2q/MF3C90Lb
iMYvQ1MLQkTEELUgREQM0SoIERFD1IIQETFET0UWETHEqR6wiIgZITQBVgCLiL2oBywiYogCWETE
EPWARUQM0SoIERFD1IIQETFEd8KJiBiivSBERAwJoRawAlhE7EU9YBERQ8IdakGIiBihGbCIiCEK
YBERQ/QlnIiIIZZmwCIiZqgFISJiiFoQIiKGWLoTTkTEjBDqQCiARcRe9CWciIghIZS/CmARsZdg
bkeZm5tLXl4elmXRuXNnJk+eTGVlJUuWLKGqqoouXbqQmZlJWNiZRWkofWEoItIgywr88MftdvPO
O+/w2GOPsWjRIrxeL5s2bWL58uWMHDmSrKwsoqKiyMvLO+NaFcAiYivWaRwN8Xq91NbW4vF4qK2t
pW3btuzatYuUlBQABg8ezNatW8+4VrUgRMRWgtWBiImJYdSoUfzyl78kIiKCiy66iISEBCIjI3E6
nfXnuN3uMx5DM2ARsRWHFfjhT1VVFVu3biU7O5vnnnuOmpoatm/fHtxag3q1EJefv43hw+/gyisn
8fzzfzZdjm15PB5+NvpufvGLX5kuxXY8Hi/jr13I9CnPA+Dz+fht1irGpv+a6346j1dXbDBcYdML
Vgtix44dxMbG0rp1a8LCwujfvz+ffvopR44cwePxACf6xDExMWdcq1oQ/+DxeHjkkWdZuvRROnZ0
MXbsdNLS+pOYGG+6NNt5+eVcErqeR1XVUdOl2M6ryzdwQZeOVFfXAJD7P1s4WFLBn968F4fDgbv8
sOEKm16wngnXvn17iouLOXbsGBEREezYsYOuXbvSs2dPNm/ezKBBg1i/fj3JyclnXmtQKrWBjz4q
5vzzz6Vz5zgiIsIZOTKVtWs/MF2W7ZSUlLFhfQHXjr3SdCm2c7Ckkvc37ubqMSn176380/vcdsdw
HI4T/6nHuFqZKq/ZBGsVRFJSEikpKcyaNYt77rkHn8/H0KFDGTduHLm5uWRmZlJVVUVaWtoZ1+p3
BlxbW8uaNWsoKSkhPj6etLS0+uaz3Rw8WE5cXPv61x07uvjoo88MVmRP8+a9wD0zJ1JdrdlvsC1+
/HXuvPunHDlSU//e/q/K+OvqItav3UG7dlFMv3cM8ed3MFhl0wvmrDIjI4OMjIxvvdexY0fmz58f
lOv7rTU7O5vPP/+c+Ph4ioqKePnll4My6NnI5zv5zxYrlO5pDAHr1m3FFdOGXr0STZdiO+9t2EVM
TDTde3b+1vvHa+uIaBHOsldncPXYAfzqwT8aqrD5BGsG3Bz8zoD379/PokWLAEhLS2POnDnNUpQJ
cXHtKSkpq3998GA5sbFn3lyXkxUWfkJe3lY25G+j9thxqqqOMPOexSz8zd2mSwt5HxZ9Qf66nWza
uJtjx+qorq5h7uzfE9uxLVcM7QPA4CF9ePSB70EAmy7gNPgN4H+/vc6urYd/6t07ib17v+arr0ro
2NHFqlX5LFp0j+mybGXGjPHMmDEegA8+2MGLL76h8A2SKdNGMWXaKAC2bS1mxUvrePix8WQvfouC
LcX89GcuCgv22L79ADbakH3v3r1MnDgROPEnem1tLRMnTsTn82FZFsuWLWuWIptDWJiTBx+8g9tv
n4vH42XMmKEkJZ1vuiyRRplw2xAenL2cV17ewDmREcx5+HrTJTW5UApgy3eq5mdQ6YuspubDY7oE
2/umdq/pEr4X2kb8pNHXOHDkrYDPPTdyVKPHawytAxYRW9ETMUREDAmhDoQCWETs5WxYXhYoBbCI
2EoorddSAIuIrWgGLCJiTOgksAJYRGzFUgCLiJhhWaGzyaMCWERsRjNgEREjrBDa5lwBLCK2ohaE
iIgxakGIiBihVRAiIoYogEVEDLGs0LkZWQEsIjajGbCIiBFqQYiIGKNlaCIiRmgGLCJiiBVC+1Eq
gEXEVqwQ2pJdASwiNqMZsIiIEWpBiIgYowAWETFC21GKiBijGbCIiBEO7QcsImKKAlhExAjdCSci
YkzwAnj79u0sXboUr9fLkCFDGD16dNCuDaE0VxcRCYBlWQEf/ni9Xl544QXmzJnD4sWLef/999m/
f39Qa1UAi4itWDgDPvzZs2cPcXFxdOzYkbCwMAYOHMjWrVuDWmsztCC6Nf0Q33Oh0/EKXW0jupsu
QQIWnMxxu924XK761y6Xi+Li4qBc+580AxYROQWfz3fSe8G+zVkBLCJyCi6Xi/Ly8vrX5eXltGvX
LqhjKIBFRE6ha9euHDhwgNLSUurq6ti0aRPJyclBHcPynWqeLSIiFBYWsmzZMrxeL1dccQXXXHNN
UK+vABYRMUQtCBERQxTAIiKG6Fbkf8jIyCA9PZ0JEyYA8Oabb1JTU0NGRobhyuxn5cqVvPfeezgc
DizLYtKkSSQlJZkuyzauu+464uPj8Xq9dOrUiSlTptCiRQvTZckpKID/ITw8nA8++IDRo0fTunVr
0+XY1meffca2bdtYsGAB4eHhHDp0iLq6OtNl2UpERAQLFy4EICsrizVr1pCenm64KjkVtSD+weFw
MHToUFatWmW6FFurqKigVatWhIeHA9C6dWtiYmIMV2VfF154ISUlJabLkO+gAP43w4cP57333uPI
kSOmS7Gtiy66iPLycu666y5ycnLYvXu36ZJsy+PxsH37duLj402XIt9BLYh/ExkZSWpqKm+//TYR
ERGmy7Glli1bsmDBAj7++GN27drF4sWLGTduHIMHDzZdmm3U1tYyc+ZMALp3705aWprhiuS7KID/
w8iRI5k1a5YCoQk5HA569uxJz549iY+PZ/369frnHUT/3gOWs5taEP8hOjqaAQMGkJeXZ7oUW/r6
6685cOBA/eu9e/fSoUMHgxWJmKMZ8Cmkp6ezevVq02XYUk1NDS+++CLV1dU4nU7i4uKYNGmS6bJE
jNCtyCIihqgFISJiiAJYRMQQBbCIiCEKYBERQxTAIiKGKIBFRAxRAIuIGPL/OACjxl7ooGsAAAAA
SUVORK5CYII=
&quot;
&gt;
&lt;/div&gt;

&lt;/div&gt;

&lt;div class=&quot;output_area&quot;&gt;

&lt;div class=&quot;prompt&quot;&gt;&lt;/div&gt;


&lt;div class=&quot;output_subarea output_stream output_stdout output_text&quot;&gt;
&lt;pre&gt;The number of epochs is : 15
The batch size is : 1
Epoch 1/15
1594/1594 [==============================] - 3s 2ms/step - loss: 0.1589 - acc: 0.9693
Epoch 2/15
1594/1594 [==============================] - 3s 2ms/step - loss: 1.5691e-05 - acc: 0.9737
Epoch 3/15
1594/1594 [==============================] - 3s 2ms/step - loss: 0.0207 - acc: 0.9743
Epoch 4/15
1594/1594 [==============================] - 3s 2ms/step - loss: 0.0094 - acc: 0.9730
Epoch 5/15
1594/1594 [==============================] - 3s 2ms/step - loss: 0.0131 - acc: 0.9699
Epoch 6/15
1594/1594 [==============================] - 3s 2ms/step - loss: 0.0554 - acc: 0.9636
Epoch 7/15
1594/1594 [==============================] - 3s 2ms/step - loss: 3.2367e-04 - acc: 0.9711
Epoch 8/15
1594/1594 [==============================] - 3s 2ms/step - loss: 7.9586e-05 - acc: 0.9693
Epoch 9/15
1594/1594 [==============================] - 3s 2ms/step - loss: 1.1950e-04 - acc: 0.9755
Epoch 10/15
1594/1594 [==============================] - 3s 2ms/step - loss: 4.8462e-06 - acc: 0.9724
Epoch 11/15
1594/1594 [==============================] - 3s 2ms/step - loss: 4.2064e-06 - acc: 0.9693
Epoch 12/15
1594/1594 [==============================] - 3s 2ms/step - loss: 0.0421 - acc: 0.9668
Epoch 13/15
1594/1594 [==============================] - 3s 2ms/step - loss: 2.3667e-04 - acc: 0.9705
Epoch 14/15
1594/1594 [==============================] - 3s 2ms/step - loss: 7.2031e-05 - acc: 0.9718
Epoch 15/15
1594/1594 [==============================] - 3s 2ms/step - loss: 6.1426e-05 - acc: 0.9686
The accuracy is : 0.8872180451127819
&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;div class=&quot;output_area&quot;&gt;

&lt;div class=&quot;prompt&quot;&gt;&lt;/div&gt;




&lt;div class=&quot;output_png output_subarea &quot;&gt;
&lt;img src=&quot;data:image/png;base64,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
SUVORK5CYII=
&quot;
&gt;
&lt;/div&gt;

&lt;/div&gt;

&lt;div class=&quot;output_area&quot;&gt;

&lt;div class=&quot;prompt&quot;&gt;&lt;/div&gt;


&lt;div class=&quot;output_subarea output_stream output_stdout output_text&quot;&gt;
&lt;pre&gt;The number of epochs is : 15
The batch size is : 2
Epoch 1/15
1594/1594 [==============================] - 1s 840us/step - loss: 1.7238e-05 - acc: 0.9737
Epoch 2/15
1594/1594 [==============================] - 1s 842us/step - loss: 7.3448e-06 - acc: 0.9711
Epoch 3/15
1594/1594 [==============================] - 1s 840us/step - loss: 0.0020 - acc: 0.9724
Epoch 4/15
1594/1594 [==============================] - 1s 841us/step - loss: 0.0171 - acc: 0.9642
Epoch 5/15
1594/1594 [==============================] - 1s 831us/step - loss: 0.0065 - acc: 0.9799
Epoch 6/15
1594/1594 [==============================] - 1s 830us/step - loss: 0.0102 - acc: 0.9630
Epoch 7/15
1594/1594 [==============================] - 1s 832us/step - loss: 6.4919e-04 - acc: 0.9699
Epoch 8/15
1594/1594 [==============================] - 1s 835us/step - loss: 2.3090e-04 - acc: 0.9774
Epoch 9/15
1594/1594 [==============================] - 1s 834us/step - loss: 9.2010e-05 - acc: 0.9693
Epoch 10/15
1594/1594 [==============================] - 1s 834us/step - loss: 2.0083e-05 - acc: 0.9711
Epoch 11/15
1594/1594 [==============================] - 1s 837us/step - loss: 1.4811e-05 - acc: 0.9724
Epoch 12/15
1594/1594 [==============================] - 1s 835us/step - loss: 9.5710e-06 - acc: 0.9737
Epoch 13/15
1594/1594 [==============================] - 1s 829us/step - loss: 6.0392e-06 - acc: 0.9730
Epoch 14/15
1594/1594 [==============================] - 1s 831us/step - loss: 4.1073e-06 - acc: 0.9730
Epoch 15/15
1594/1594 [==============================] - 1s 828us/step - loss: 2.5928e-06 - acc: 0.9718
The accuracy is : 0.8872180451127819
&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;div class=&quot;output_area&quot;&gt;

&lt;div class=&quot;prompt&quot;&gt;&lt;/div&gt;




&lt;div class=&quot;output_png output_subarea &quot;&gt;
&lt;img src=&quot;data:image/png;base64,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
SUVORK5CYII=
&quot;
&gt;
&lt;/div&gt;

&lt;/div&gt;

&lt;div class=&quot;output_area&quot;&gt;

&lt;div class=&quot;prompt&quot;&gt;&lt;/div&gt;


&lt;div class=&quot;output_subarea output_stream output_stdout output_text&quot;&gt;
&lt;pre&gt;The number of epochs is : 15
The batch size is : 3
Epoch 1/15
1594/1594 [==============================] - 1s 561us/step - loss: 1.4667e-06 - acc: 0.9743
Epoch 2/15
1594/1594 [==============================] - 1s 558us/step - loss: 1.1269e-06 - acc: 0.9718
Epoch 3/15
1594/1594 [==============================] - 1s 552us/step - loss: 9.3019e-07 - acc: 0.9730
Epoch 4/15
1594/1594 [==============================] - 1s 561us/step - loss: 7.3861e-07 - acc: 0.9730
Epoch 5/15
1594/1594 [==============================] - 1s 558us/step - loss: 5.1121e-07 - acc: 0.9737
Epoch 6/15
1594/1594 [==============================] - 1s 565us/step - loss: 5.5973e-07 - acc: 0.9699
Epoch 7/15
1594/1594 [==============================] - 1s 561us/step - loss: 3.7319e-07 - acc: 0.9730
Epoch 8/15
1594/1594 [==============================] - 1s 561us/step - loss: 3.0805e-07 - acc: 0.9724
Epoch 9/15
1594/1594 [==============================] - 1s 574us/step - loss: 2.5816e-07 - acc: 0.9730
Epoch 10/15
1594/1594 [==============================] - 1s 564us/step - loss: 2.1823e-07 - acc: 0.9699
Epoch 11/15
1594/1594 [==============================] - 1s 561us/step - loss: 7.9537e-07 - acc: 0.9693
Epoch 12/15
1594/1594 [==============================] - 1s 566us/step - loss: 1.4086e-07 - acc: 0.9737
Epoch 13/15
1594/1594 [==============================] - 1s 568us/step - loss: 1.3615e-07 - acc: 0.9711
Epoch 14/15
1594/1594 [==============================] - 1s 566us/step - loss: 1.2815e-07 - acc: 0.9724
Epoch 15/15
1594/1594 [==============================] - 1s 569us/step - loss: 1.2078e-07 - acc: 0.9724
The accuracy is : 0.8928571428571429
&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;div class=&quot;output_area&quot;&gt;

&lt;div class=&quot;prompt&quot;&gt;&lt;/div&gt;




&lt;div class=&quot;output_png output_subarea &quot;&gt;
&lt;img src=&quot;data:image/png;base64,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
YII=
&quot;
&gt;
&lt;/div&gt;

&lt;/div&gt;

&lt;div class=&quot;output_area&quot;&gt;

&lt;div class=&quot;prompt&quot;&gt;&lt;/div&gt;


&lt;div class=&quot;output_subarea output_stream output_stdout output_text&quot;&gt;
&lt;pre&gt;The number of epochs is : 15
The batch size is : 4
Epoch 1/15
1594/1594 [==============================] - 1s 426us/step - loss: 1.2673e-07 - acc: 0.9718
Epoch 2/15
1594/1594 [==============================] - 1s 425us/step - loss: 1.1895e-07 - acc: 0.9730
Epoch 3/15
1594/1594 [==============================] - 1s 428us/step - loss: 1.1678e-07 - acc: 0.9718
Epoch 4/15
1594/1594 [==============================] - 1s 427us/step - loss: 1.1068e-07 - acc: 0.9718
Epoch 5/15
1594/1594 [==============================] - 1s 425us/step - loss: 1.1401e-07 - acc: 0.9705
Epoch 6/15
1594/1594 [==============================] - 1s 432us/step - loss: 1.0971e-07 - acc: 0.9718
Epoch 7/15
1594/1594 [==============================] - 1s 422us/step - loss: 1.0896e-07 - acc: 0.9724
Epoch 8/15
1594/1594 [==============================] - 1s 426us/step - loss: 1.0702e-07 - acc: 0.9730
Epoch 9/15
1594/1594 [==============================] - 1s 424us/step - loss: 0.3482 - acc: 0.9567
Epoch 10/15
1594/1594 [==============================] - 1s 422us/step - loss: 0.0033 - acc: 0.9636
Epoch 11/15
1594/1594 [==============================] - 1s 436us/step - loss: 8.4748e-05 - acc: 0.9674
Epoch 12/15
1594/1594 [==============================] - 1s 428us/step - loss: 3.7770e-05 - acc: 0.9718
Epoch 13/15
1594/1594 [==============================] - 1s 433us/step - loss: 2.5493e-05 - acc: 0.9693
Epoch 14/15
1594/1594 [==============================] - 1s 426us/step - loss: 1.8901e-05 - acc: 0.9705
Epoch 15/15
1594/1594 [==============================] - 1s 426us/step - loss: 1.4572e-05 - acc: 0.9680
The accuracy is : 0.8872180451127819
&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;div class=&quot;output_area&quot;&gt;

&lt;div class=&quot;prompt&quot;&gt;&lt;/div&gt;




&lt;div class=&quot;output_png output_subarea &quot;&gt;
&lt;img src=&quot;data:image/png;base64,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
&quot;
&gt;
&lt;/div&gt;

&lt;/div&gt;

&lt;div class=&quot;output_area&quot;&gt;

&lt;div class=&quot;prompt&quot;&gt;&lt;/div&gt;


&lt;div class=&quot;output_subarea output_stream output_stdout output_text&quot;&gt;
&lt;pre&gt;The number of epochs is : 15
The batch size is : 5
Epoch 1/15
1594/1594 [==============================] - 1s 349us/step - loss: 1.1535e-05 - acc: 0.9724
Epoch 2/15
1594/1594 [==============================] - 1s 348us/step - loss: 9.6221e-06 - acc: 0.9699
Epoch 3/15
1594/1594 [==============================] - 1s 343us/step - loss: 8.1855e-06 - acc: 0.9718
Epoch 4/15
1594/1594 [==============================] - 1s 333us/step - loss: 6.9349e-06 - acc: 0.9724
Epoch 5/15
1594/1594 [==============================] - 1s 342us/step - loss: 5.9865e-06 - acc: 0.9699
Epoch 6/15
1594/1594 [==============================] - 1s 344us/step - loss: 5.1053e-06 - acc: 0.9711
Epoch 7/15
1594/1594 [==============================] - 1s 343us/step - loss: 4.3700e-06 - acc: 0.9730
Epoch 8/15
1594/1594 [==============================] - 1s 343us/step - loss: 3.7389e-06 - acc: 0.9711
Epoch 9/15
1594/1594 [==============================] - 1s 346us/step - loss: 3.2828e-06 - acc: 0.9718
Epoch 10/15
1594/1594 [==============================] - 1s 345us/step - loss: 2.8776e-06 - acc: 0.9730
Epoch 11/15
1594/1594 [==============================] - 1s 344us/step - loss: 2.5185e-06 - acc: 0.9711
Epoch 12/15
1594/1594 [==============================] - 1s 342us/step - loss: 2.2155e-06 - acc: 0.9718
Epoch 13/15
1594/1594 [==============================] - 1s 350us/step - loss: 1.9197e-06 - acc: 0.9730
Epoch 14/15
1594/1594 [==============================] - 1s 344us/step - loss: 1.6906e-06 - acc: 0.9737
Epoch 15/15
1594/1594 [==============================] - 1s 349us/step - loss: 1.5186e-06 - acc: 0.9724
The accuracy is : 0.8853383458646616
&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;div class=&quot;output_area&quot;&gt;

&lt;div class=&quot;prompt&quot;&gt;&lt;/div&gt;




&lt;div class=&quot;output_png output_subarea &quot;&gt;
&lt;img src=&quot;data:image/png;base64,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
b7KLYil5AAAAAElFTkSuQmCC
&quot;
&gt;
&lt;/div&gt;

&lt;/div&gt;

&lt;div class=&quot;output_area&quot;&gt;

&lt;div class=&quot;prompt&quot;&gt;&lt;/div&gt;


&lt;div class=&quot;output_subarea output_stream output_stdout output_text&quot;&gt;
&lt;pre&gt;The number of epochs is : 15
The batch size is : 10
Epoch 1/15
1594/1594 [==============================] - 0s 176us/step - loss: 1.3223e-06 - acc: 0.9718
Epoch 2/15
1594/1594 [==============================] - 0s 177us/step - loss: 1.2398e-06 - acc: 0.9724
Epoch 3/15
1594/1594 [==============================] - 0s 173us/step - loss: 1.1740e-06 - acc: 0.9737
Epoch 4/15
1594/1594 [==============================] - 0s 172us/step - loss: 1.0847e-06 - acc: 0.9730
Epoch 5/15
1594/1594 [==============================] - 0s 173us/step - loss: 1.0195e-06 - acc: 0.9730
Epoch 6/15
1594/1594 [==============================] - 0s 172us/step - loss: 9.5490e-07 - acc: 0.9730
Epoch 7/15
1594/1594 [==============================] - 0s 168us/step - loss: 8.9533e-07 - acc: 0.9730
Epoch 8/15
1594/1594 [==============================] - 0s 170us/step - loss: 8.3557e-07 - acc: 0.9724
Epoch 9/15
1594/1594 [==============================] - 0s 172us/step - loss: 7.9698e-07 - acc: 0.9743
Epoch 10/15
1594/1594 [==============================] - 0s 174us/step - loss: 7.3442e-07 - acc: 0.9730
Epoch 11/15
1594/1594 [==============================] - 0s 169us/step - loss: 6.9755e-07 - acc: 0.9743
Epoch 12/15
1594/1594 [==============================] - 0s 172us/step - loss: 6.5705e-07 - acc: 0.9730
Epoch 13/15
1594/1594 [==============================] - 0s 173us/step - loss: 6.1173e-07 - acc: 0.9730
Epoch 14/15
1594/1594 [==============================] - 0s 174us/step - loss: 5.7530e-07 - acc: 0.9730
Epoch 15/15
1594/1594 [==============================] - 0s 170us/step - loss: 5.4064e-07 - acc: 0.9730
The accuracy is : 0.8890977443609023
&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;div class=&quot;output_area&quot;&gt;

&lt;div class=&quot;prompt&quot;&gt;&lt;/div&gt;




&lt;div class=&quot;output_png output_subarea &quot;&gt;
&lt;img src=&quot;data:image/png;base64,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
&quot;
&gt;
&lt;/div&gt;

&lt;/div&gt;

&lt;div class=&quot;output_area&quot;&gt;

&lt;div class=&quot;prompt&quot;&gt;&lt;/div&gt;


&lt;div class=&quot;output_subarea output_stream output_stdout output_text&quot;&gt;
&lt;pre&gt;The number of epochs is : 15
The batch size is : 15
Epoch 1/15
1594/1594 [==============================] - 0s 117us/step - loss: 5.1267e-07 - acc: 0.9730
Epoch 2/15
1594/1594 [==============================] - 0s 116us/step - loss: 4.8967e-07 - acc: 0.9730
Epoch 3/15
1594/1594 [==============================] - 0s 118us/step - loss: 4.7524e-07 - acc: 0.9730
Epoch 4/15
1594/1594 [==============================] - 0s 113us/step - loss: 4.5325e-07 - acc: 0.9730
Epoch 5/15
1594/1594 [==============================] - 0s 112us/step - loss: 4.3440e-07 - acc: 0.9730
Epoch 6/15
1594/1594 [==============================] - 0s 112us/step - loss: 4.2412e-07 - acc: 0.9730
Epoch 7/15
1594/1594 [==============================] - 0s 111us/step - loss: 4.0355e-07 - acc: 0.9730
Epoch 8/15
1594/1594 [==============================] - 0s 113us/step - loss: 3.8986e-07 - acc: 0.9730
Epoch 9/15
1594/1594 [==============================] - 0s 114us/step - loss: 3.7393e-07 - acc: 0.9730
Epoch 10/15
1594/1594 [==============================] - 0s 114us/step - loss: 3.6545e-07 - acc: 0.9730
Epoch 11/15
1594/1594 [==============================] - 0s 116us/step - loss: 3.5079e-07 - acc: 0.9737
Epoch 12/15
1594/1594 [==============================] - 0s 114us/step - loss: 3.3703e-07 - acc: 0.9737
Epoch 13/15
1594/1594 [==============================] - 0s 115us/step - loss: 3.2319e-07 - acc: 0.9730
Epoch 14/15
1594/1594 [==============================] - 0s 114us/step - loss: 3.1309e-07 - acc: 0.9737
Epoch 15/15
1594/1594 [==============================] - 0s 115us/step - loss: 3.0165e-07 - acc: 0.9737
The accuracy is : 0.8909774436090225
&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;div class=&quot;output_area&quot;&gt;

&lt;div class=&quot;prompt&quot;&gt;&lt;/div&gt;




&lt;div class=&quot;output_png output_subarea &quot;&gt;
&lt;img src=&quot;data:image/png;base64,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
IiKGWFbo3IysABYRm9EMWETECLUgRESM0TI0EREjNAMWETHECqH9KBXAImIrVghtya4AFhGb0QxY
RMQItSBERIxRAIuIGKHtKEVEjNEMWETECIf2AxYRMUUBLCJihO6EExExJngBvHHjRubNm4fX66VX
r17ccMMNQbs2hNJcXUQkAJZlBXz44/V6+ctf/sKDDz7Is88+y+eff87u3buDWqsCWERsxcIZ8OHP
9u3biY+Pp1mzZoSFhXHZZZexdu3aoNZaCy2ItjU/xK9c6HS8QlejiN+ZLkECFpzMcbvduFyuytcu
l4uCgoKgXPs/NAMWETkNn893ynvBvs1ZASwichoul4vi4uLK18XFxTRu3DioYyiARUROo3Xr1uzd
u5eioiIqKipYuXIlSUlJQR3D8p1uni0iImzYsIH58+fj9Xq56qqrGDhwYFCvrwAWETFELQgREUMU
wCIihuhW5B+lpaXRv39/hg8fDsB7771HWVkZaWlphiuzn4ULF7JixQocDgeWZTFy5EgSExNNl2Ub
N998MwkJCXi9Xpo3b86YMWOoV6+e6bLkNBTAPwoPD2f16tXccMMNxMTEmC7HtrZt28b69euZPn06
4eHhHDp0iIqKCtNl2UpERAQzZswAICMjgyVLltC/f3/DVcnpqAXxI4fDQe/evVm0aJHpUmztwIED
NGjQgPDwcABiYmKIjY01XJV9XXDBBRQWFpouQ36BAvhnrrnmGlasWMGRI0dMl2JbF198McXFxdxz
zz1kZWWxZcsW0yXZlsfjYePGjSQkJJguRX6BWhA/ExkZSUpKCh988AERERGmy7Gl+vXrM336dL76
6is2b97Ms88+y5AhQ+jZs6fp0myjvLycCRMmANCuXTtSU1MNVyS/RAH8X/r168fEiRMVCDXI4XDQ
vn172rdvT0JCArm5ufr3HUQ/7wFL3aYWxH+Jjo6me/fu5OTkmC7Flvbs2cPevXsrX+/cuZOmTZsa
rEjEHM2AT6N///4sXrzYdBm2VFZWxiuvvEJpaSlOp5P4+HhGjhxpuiwRI3QrsoiIIWpBiIgYogAW
ETFEASwiYogCWETEEAWwiIghCmAREUMUwCIihvx/e56ZUqiMDpEAAAAASUVORK5CYII=
&quot;
&gt;
&lt;/div&gt;

&lt;/div&gt;

&lt;div class=&quot;output_area&quot;&gt;

&lt;div class=&quot;prompt&quot;&gt;&lt;/div&gt;


&lt;div class=&quot;output_subarea output_stream output_stdout output_text&quot;&gt;
&lt;pre&gt;The number of epochs is : 15
The batch size is : 20
Epoch 1/15
1594/1594 [==============================] - 0s 89us/step - loss: 2.9279e-07 - acc: 0.9730
Epoch 2/15
1594/1594 [==============================] - 0s 89us/step - loss: 2.8322e-07 - acc: 0.9730
Epoch 3/15
1594/1594 [==============================] - 0s 87us/step - loss: 2.7686e-07 - acc: 0.9730
Epoch 4/15
1594/1594 [==============================] - 0s 84us/step - loss: 2.7039e-07 - acc: 0.9737
Epoch 5/15
1594/1594 [==============================] - 0s 87us/step - loss: 2.6377e-07 - acc: 0.9737
Epoch 6/15
1594/1594 [==============================] - 0s 86us/step - loss: 2.5712e-07 - acc: 0.9737
Epoch 7/15
1594/1594 [==============================] - 0s 85us/step - loss: 2.5106e-07 - acc: 0.9737
Epoch 8/15
1594/1594 [==============================] - 0s 88us/step - loss: 2.4605e-07 - acc: 0.9737
Epoch 9/15
1594/1594 [==============================] - 0s 88us/step - loss: 2.4021e-07 - acc: 0.9737
Epoch 10/15
1594/1594 [==============================] - 0s 88us/step - loss: 2.3457e-07 - acc: 0.9730
Epoch 11/15
1594/1594 [==============================] - 0s 88us/step - loss: 2.2885e-07 - acc: 0.9737
Epoch 12/15
1594/1594 [==============================] - 0s 87us/step - loss: 2.2309e-07 - acc: 0.9737
Epoch 13/15
1594/1594 [==============================] - 0s 88us/step - loss: 2.1811e-07 - acc: 0.9737
Epoch 14/15
1594/1594 [==============================] - 0s 86us/step - loss: 2.1389e-07 - acc: 0.9730
Epoch 15/15
1594/1594 [==============================] - 0s 89us/step - loss: 2.1030e-07 - acc: 0.9737
The accuracy is : 0.8947368421052632
&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;div class=&quot;output_area&quot;&gt;

&lt;div class=&quot;prompt&quot;&gt;&lt;/div&gt;




&lt;div class=&quot;output_png output_subarea &quot;&gt;
&lt;img src=&quot;data:image/png;base64,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
&quot;
&gt;
&lt;/div&gt;

&lt;/div&gt;

&lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;
&lt;div class=&quot;cell border-box-sizing text_cell rendered&quot;&gt;&lt;div class=&quot;prompt input_prompt&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;inner_cell&quot;&gt;
&lt;div class=&quot;text_cell_render border-box-sizing rendered_html&quot;&gt;
&lt;p&gt;Let's put this in a 3D representation to see if anything comes out immediatly.&lt;/p&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;cell border-box-sizing code_cell rendered&quot;&gt;
&lt;div class=&quot;input&quot;&gt;
&lt;div class=&quot;prompt input_prompt&quot;&gt;In&amp;nbsp;[29]:&lt;/div&gt;
&lt;div class=&quot;inner_cell&quot;&gt;
    &lt;div class=&quot;input_area&quot;&gt;
&lt;div class=&quot; highlight hl-ipython3&quot;&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;style&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;use&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;ggplot&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
    
&lt;span class=&quot;n&quot;&gt;fig&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;plt&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;figure&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;figsize&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;10&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;6&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;))&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;ax1&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;fig&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;add_subplot&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;111&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;projection&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;3d&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;loc&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;3&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;classes&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;Normal&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;Suspect&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;Pathologic&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;
    
&lt;span class=&quot;n&quot;&gt;x3d&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;table_results&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[:,&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;y3d&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;table_results&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[:,&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;z3d&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;table_results&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[:,&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;

&lt;span class=&quot;n&quot;&gt;plot&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;ax1&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;scatter&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x3d&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;y3d&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;z3d&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;c&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;z3d&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;cmap&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&amp;quot;jet&amp;quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;ax1&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;set_xlabel&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;#epochs&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;ax1&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;set_ylabel&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;Batch Size&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;ax1&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;set_zlabel&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;Accuracy&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;


&lt;span class=&quot;n&quot;&gt;plt&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;title&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;Accuracy of the ANN in GridSearch&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;plt&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;show&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;div class=&quot;output_wrapper&quot;&gt;
&lt;div class=&quot;output&quot;&gt;


&lt;div class=&quot;output_area&quot;&gt;

&lt;div class=&quot;prompt&quot;&gt;&lt;/div&gt;




&lt;div class=&quot;output_png output_subarea &quot;&gt;
&lt;img src=&quot;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAjwAAAFUCAYAAAAgQOYwAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz
AAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMS4wLCBo
dHRwOi8vbWF0cGxvdGxpYi5vcmcvpW3flQAAIABJREFUeJzsnXt4FPW9/98zs9fsJru5kZBASBDD
xVhAgWBFLQhIrbTg/YLV6uMFUcux7Q9bz6PVtsfWU9Gj9TSoqPV4KYgURaigPuKFKl4gEASDgoZr
EnJPNnuf+f0Rv9PZyV5md2d2Z5Lvy4fnMcnudz87Ozvf93yujCAIAigUCoVCoVCGMGy2DaBQKBQK
hULRGip4KBQKhUKhDHmo4KFQKBQKhTLkoYKHQqFQKBTKkIcKHgqFQqFQKEMeKngoFAqFQqEMeUzx
/nj8+PFM2UGhUCgUCoWSFmVlZTH/Rj08FAqFQqFQhjxU8FAoFAqFQhnyUMFDoVAoFAplyEMFD4VC
oVAolCEPFTwUCoVCoVCGPFTwUCgUCoVCGfJQwUOhUCgUCmXIQwUPhUKhUCiUIQ8VPBTKEGD9+vW4
7LLLMGfOHDz33HOKn1dfX4/Zs2fj5MmT2hmnE5577jlcc8012TYDALB8+XL893//d9zH6MleJTQ3
N2P27NloaGjItikUSlTidlqmUDJNR0cHrrzySjidTqxduxYmEz1FE9HW1oYnnngCt99+O84991zk
5OREfdw111yDefPm4frrr8+ofYFAAJdddhl8Ph/Wrl0Ll8sV8fc//vGP2LJlCy699FIsW7Ys4m+z
Z8/Gb37zG8ybNw8AcOWVV6KlpQW/+93vMGvWLPFx9fX1+I//+A+sXbsWxcXFUe244oorsHjxYlXe
U09PD9asWYPt27ejubkZZrMZJSUlmDlzJn784x9jxIgRcZ//wAMPgOO4pF6T53m88sorePPNN9Hc
3AyO41BSUoLvf//7uPHGG9N5OxTKsIDuJhRdsXnzZsycOROHDx/G9u3bcd5552XbJASDQZjN5myb
EZMTJ06A53mcffbZKCwszLY5g3j//fdRUlKCgoICvPnmm7jiiisGPcZqtWLDhg348Y9/jNGjR8dd
z2q1YtWqVZg5c2ZSgthut8Nutydtv5zW1lbceeed4DgO1113HU455RRYLBYcP34c27dvx5o1a3DH
HXdEfS45l/Ly8pJ+3eeffx6vvvoq7rzzTkyaNAmBQADffPMN9u/fn+5bSojevwMUihKo4KHoBp7n
sWnTJtx+++04fPgw3njjjUGCJxwO44UXXsDWrVtx8uRJuFwunHPOObjzzjsBAF6vF6tXr8b777+P
rq4uFBQU4KKLLsKSJUvQ3NyMq666Co899hhOP/10cU2552P27Nm4/fbbsW/fPuzYsQPTpk3Db3/7
Wzz99NP44IMP0NLSgry8PMycORM333wznE6nuFZjYyNWr16NL774AjzPo7KyEnfccQfcbjeWLFmC
xx57DDU1NeLj6+vrcdddd+GFF16IOQPm448/xjPPPINvv/0WDocD5557Lm699VbY7XY899xz+Nvf
/gYAopB4+eWXUVpaGrHG8uXLcfz4cfztb38TH//yyy+Lf29qasLvf/97NDY2orS0FLfddhtmzJgh
/r2jowNPPvkkPv74YwQCAYwdOxY33XQTJk+enPBz3bhxIy644AIUFBTg2WefjSp4TjvtNPh8PtTV
1eEPf/hD3PUuvPBCbN26Ff/4xz9w2WWXJXx9wnPPPYe33noLL774YsTPS5cuxZNPPomTJ09iwoQJ
+OUvf4ny8vKY6zz66KMIBoNYvXo1HA6H+PvRo0ejtrYWgiCIv1u+fDnKyspQVFSETZs2IRwOY8OG
DVi+fDnKy8vxq1/9CsCAF+yJJ57AO++8A4ZhMGfOnIjzCgA+/PBDXHjhhaK3CwCqqqowZ86ciMd9
9tlneO655/DVV18hLy8P06ZNw6233ip61g4cOIDVq1fjwIED8Pl8GDNmDG644YaIz/vKK6/EvHnz
0NPTg23btmHkyJGoq6uL+/0itLW14Te/+Q127tyJgoICXH/99Zg/f77iz4lC0Qqaw0PRDZ999hl8
Ph9mzpyJ+fPno76+ftAA24ceeggbNmzAddddh2effRb3338/Ro4cCQAQBAG//vWv8a9//Qt33nkn
nnvuOfz617+G2+1O2pbnn38ep512GlatWiWGC6xWK37xi1/gueeew4oVK1BfX4/HH39cfM4333yD
5cuXIzc3FytXrsRTTz2FSy+9FIIgoKysDGeeeSY2bdoU8TqbN2/GGWecEVPsHDx4EPfccw8mT56M
p556CnfffTc+/vhjPPLIIwAGRM79998PAHjyySfx6quvRg3pPPDAAygtLcXll1+OV199ddDj/vrX
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
&quot;
&gt;
&lt;/div&gt;

&lt;/div&gt;

&lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;
&lt;div class=&quot;cell border-box-sizing text_cell rendered&quot;&gt;&lt;div class=&quot;prompt input_prompt&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;inner_cell&quot;&gt;
&lt;div class=&quot;text_cell_render border-box-sizing rendered_html&quot;&gt;
&lt;p&gt;Let's examine the table we made.&lt;/p&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;cell border-box-sizing code_cell rendered&quot;&gt;
&lt;div class=&quot;input&quot;&gt;
&lt;div class=&quot;prompt input_prompt&quot;&gt;In&amp;nbsp;[30]:&lt;/div&gt;
&lt;div class=&quot;inner_cell&quot;&gt;
    &lt;div class=&quot;input_area&quot;&gt;
&lt;div class=&quot; highlight hl-ipython3&quot;&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;table_results&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;div class=&quot;output_wrapper&quot;&gt;
&lt;div class=&quot;output&quot;&gt;


&lt;div class=&quot;output_area&quot;&gt;

&lt;div class=&quot;prompt output_prompt&quot;&gt;Out[30]:&lt;/div&gt;




&lt;div class=&quot;output_text output_subarea output_execute_result&quot;&gt;
&lt;pre&gt;array([[ 5.        ,  1.        ,  0.87781955],
       [ 5.        ,  2.        ,  0.88909774],
       [ 5.        ,  3.        ,  0.88345865],
       [ 5.        ,  4.        ,  0.89097744],
       [ 5.        ,  5.        ,  0.89285714],
       [ 5.        , 10.        ,  0.89473684],
       [ 5.        , 15.        ,  0.89473684],
       [ 5.        , 20.        ,  0.90037594],
       [10.        ,  1.        ,  0.88157895],
       [10.        ,  2.        ,  0.88533835],
       [10.        ,  3.        ,  0.87969925],
       [10.        ,  4.        ,  0.88909774],
       [10.        ,  5.        ,  0.89661654],
       [10.        , 10.        ,  0.89473684],
       [10.        , 15.        ,  0.89661654],
       [10.        , 20.        ,  0.89849624],
       [15.        ,  1.        ,  0.88721805],
       [15.        ,  2.        ,  0.88721805],
       [15.        ,  3.        ,  0.89285714],
       [15.        ,  4.        ,  0.88721805],
       [15.        ,  5.        ,  0.88533835],
       [15.        , 10.        ,  0.88909774],
       [15.        , 15.        ,  0.89097744],
       [15.        , 20.        ,  0.89473684]])&lt;/pre&gt;
&lt;/div&gt;

&lt;/div&gt;

&lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;
&lt;div class=&quot;cell border-box-sizing text_cell rendered&quot;&gt;&lt;div class=&quot;prompt input_prompt&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;inner_cell&quot;&gt;
&lt;div class=&quot;text_cell_render border-box-sizing rendered_html&quot;&gt;
&lt;p&gt;The best results we get here are around  91.2% accuracy.  This is very far from the 98.9% accuracy we had with the optimized SVC. The SVC was extremely easy to optimize and is already built for these kind of problems. Indeed, the dataset is quite small, has barely any outliers and is overall very a &quot;clean&quot; one. All of these things make the SVC an ideal classifier for this problem. The ANN is slightly more difficult to tune because of its larger number of strong parameters and the time it takes to train. Furthermore the small size of the dataset that was an advantage for the SVC becomes an inconvenient for the ANN and makes it prone to overfitting.&lt;/p&gt;
&lt;p&gt;A few other things that we could change to try to optimize the ANN would be the number of neurons per layer, the number of layers, type of activation functions, type of scaling for our data, etc. Since the computing time taken is higher for the ANN than it is for the SVC, we decided not to do this since our result of 98.9% accuracy for the SVC is already satisfactory.&lt;/p&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;cell border-box-sizing text_cell rendered&quot;&gt;&lt;div class=&quot;prompt input_prompt&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;inner_cell&quot;&gt;
&lt;div class=&quot;text_cell_render border-box-sizing rendered_html&quot;&gt;
&lt;hr&gt;
&lt;p&gt;Thanks for reading, I hope you learnt something.
All feedback is welcome !&lt;/p&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/body&gt;

 


&lt;/html&gt;</content><author><name></name></author><summary type="html">Finding new ways to classify and predict fetal heart diseases.</summary></entry></feed>